{"report_id":"1bc0f529-09ab-48ff-836e-8522b06316ef","version":0,"status":"done","tags":[],"date":"2026-07-27T05:26:27Z","url":{"schema":"https","addr":"digitaltradeinvest.org/","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"77.37.83.80","port":0,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"final":{"url":{"schema":"https","addr":"digitaltradeinvest.org/","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"title":"digitaltradeinvest.org","dom":{"size":41914,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (26399)","md5":"f9c80be5efe2f2e7908cbc6464a4baa1","sha1":"7c0e9f1f6a741316015e209aaccd4280bb8140e6","sha256":"3432aeb269181b7717693d00dee9e8cb7c65d8ca5f55cd8f256814ef3c1dfcc8","sha512":"21d456fda273365aef1226c05d8ece08a4ef27ce93be2cef19159c86b92fcf060e436cc20acfb22e4e9b1c3830c864d76efec26873cd4ef89d1a3e7202ec1a98","ssdeep":"768:0yJi2qbCmmWq38FTbfsTO+hDGq3t8UtN2v3k/SR+D/5km58:FJzqbCmmWq38FTbfsTO+hDZ3t8UtAk/C","tlshash":"a513a7276784452c9c53d278f399b54ea32af688ef6259eef7c23410c2d93ff088a455","dom_hash":"domhash5a2e7b986a359100c1311ce7180015d1","first_seen":"2026-07-07T22:08:47.685476Z","last_seen":"2026-08-14T05:15:50.538184Z","times_seen":910,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"digitaltradeinvest.org/","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"77.37.83.80","port":0,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T05:26:27Z","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":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"fqdn":"websocket-visitors.smartsupp.com","ip":{"addr":"3.126.223.20","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2012-08-25","domain_rank":411464,"first_seen":"2021-07-12T07:42:32Z","last_seen":"2026-07-24T09:04:26.067381Z","alert_count":0,"request_count":1,"received_data":224,"sent_data":637,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widget.coinlib.io","ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2017-12-05","domain_rank":0,"first_seen":"2018-10-03T18:45:45Z","last_seen":"2026-07-21T04:22:09.03368Z","alert_count":0,"request_count":2,"received_data":1340,"sent_data":1256,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"coinlib.io","ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2017-12-05","domain_rank":119150,"first_seen":"2017-12-08T06:44:44Z","last_seen":"2026-07-25T05:38:23.773256Z","alert_count":0,"request_count":28,"received_data":1695617,"sent_data":15425,"comment":"","tags":null,"fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare Browser Insights","description":"Cloudflare Browser Insights is a tool that measures the performance of websites from the perspective of users.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Analytics","RUM"]}]},{"fqdn":"www.youtube.com","ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-02-15","domain_rank":286,"first_seen":"2013-04-13T07:43:20Z","last_seen":"2026-07-20T08:23:54.066263Z","alert_count":0,"request_count":25,"received_data":10390056,"sent_data":34873,"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":"Apache Traffic Server","description":"Apache Traffic Server is an open-source caching and proxying server that serves as an HTTP/1.1 and HTTP/2 reverse proxy with caching capabilities, load balancing, request routing, SSL termination, and support for advanced HTTP features.","website":"https://trafficserver.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:traffic_server:*:*:*:*:*:*:*:*","icon":"Apache Traffic Server.svg","categories":["Web servers"]}]},{"fqdn":"jnn-pa.googleapis.com","ip":{"addr":"172.217.118.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":1579,"first_seen":"2021-11-16T06:12:21Z","last_seen":"2026-07-20T10:03:51.986275Z","alert_count":0,"request_count":4,"received_data":1110,"sent_data":2440,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translations.smartsuppcdn.com","ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":560346,"first_seen":"2022-11-04T22:28:35Z","last_seen":"2026-07-24T15:28:31.911258Z","alert_count":0,"request_count":1,"received_data":7732,"sent_data":529,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"bootstrap.smartsuppchat.com","ip":{"addr":"18.195.8.146","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2014-02-02","domain_rank":425291,"first_seen":"2018-01-29T06:10:36Z","last_seen":"2026-07-24T07:15:25.204838Z","alert_count":0,"request_count":1,"received_data":1579,"sent_data":547,"comment":"","tags":null,"fingerprints":null},{"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":2,"received_data":2446,"sent_data":1020,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.smartsuppchat.com","ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2014-02-02","domain_rank":491650,"first_seen":"2017-01-30T05:24:57Z","last_seen":"2026-07-24T07:15:25.153212Z","alert_count":0,"request_count":1,"received_data":18546,"sent_data":469,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"s2.coinmarketcap.com","ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"domain_registered":"2013-04-28","domain_rank":209181,"first_seen":"2018-01-12T04:47:19Z","last_seen":"2026-07-27T02:47:27.888767Z","alert_count":0,"request_count":56,"received_data":140316,"sent_data":31361,"comment":"","tags":null,"fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":"widget-v3.smartsuppcdn.com","ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":532262,"first_seen":"2022-10-03T13:48:45Z","last_seen":"2026-07-24T15:28:31.507831Z","alert_count":0,"request_count":4,"received_data":329031,"sent_data":1905,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"fonts.gstatic.com","ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2008-02-11","domain_rank":0,"first_seen":"2014-04-02T10:51:04Z","last_seen":"2026-07-26T22:19:52.505461Z","alert_count":0,"request_count":12,"received_data":368263,"sent_data":6792,"comment":"","tags":null,"fingerprints":null},{"fqdn":"gildcrystalincome.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"unknown","domain_rank":0,"first_seen":"2026-07-27T04:14:37.175109Z","last_seen":"2026-07-27T04:14:37.175109Z","alert_count":0,"request_count":2,"received_data":0,"sent_data":1179,"comment":"","tags":null,"fingerprints":null},{"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":2,"received_data":54141,"sent_data":1148,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"www.googletagmanager.com","ip":{"addr":"142.250.178.104","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2011-11-11","domain_rank":283,"first_seen":"2012-10-04T01:07:32Z","last_seen":"2026-07-26T22:31:28.839046Z","alert_count":0,"request_count":2,"received_data":978314,"sent_data":946,"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":"digitaltradeinvest.org","ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"domain_registered":"2024-08-15","domain_rank":0,"first_seen":"2026-07-27T04:14:37.168443Z","last_seen":"2026-07-27T04:14:37.168443Z","alert_count":22,"request_count":22,"received_data":3796183,"sent_data":12428,"comment":"","tags":null,"fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"YouTube","description":"YouTube is a video sharing service where users can create their own profile, upload videos, watch, like and comment on other videos.","website":"https://www.youtube.com","common_platform_enumeration":"","icon":"YouTube.png","categories":["Video players"]},{"name":"jQuery","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"PHP:7.4.33","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":"Bootstrap:3.3.7","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":"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":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}]},{"fqdn":"www.google.com","ip":{"addr":"142.251.157.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"1997-09-15","domain_rank":22,"first_seen":"2015-05-10T13:11:19Z","last_seen":"2026-07-26T22:51:17.688286Z","alert_count":0,"request_count":3,"received_data":189990,"sent_data":1491,"comment":"","tags":null,"fingerprints":null},{"fqdn":"i.ytimg.com","ip":{"addr":"142.250.178.118","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2007-12-11","domain_rank":436,"first_seen":"2012-10-03T19:11:04Z","last_seen":"2026-07-20T08:16:40.328836Z","alert_count":0,"request_count":2,"received_data":41015,"sent_data":1215,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.yandex.net","ip":{"addr":"213.180.204.194","port":443,"asn":13238,"as":"YANDEX LLC","country":"Russia","country_code":"RU"},"domain_registered":"2000-11-14","domain_rank":123882,"first_seen":"2013-04-25T11:29:08Z","last_seen":"2026-07-24T08:16:34.761788Z","alert_count":0,"request_count":1,"received_data":443,"sent_data":548,"comment":"","tags":null,"fingerprints":null}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":null,"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"13d618642764d2b6960367a857576c87","sha1":"8a7893b1545d1dfa2ebee469c2ee8ddd0a0c0b7d","sha256":"45428e1193fa8edd3f86d91bf4fb01b486cd6c1290d013f948c732adf7fb8875","sha512":"ae679fdd05e738532172c82f852d19e014f49f54e805eb49694cf0849c98278864afe9d8cbf2d19fa29c5fa73aa5143aeb3d012d841915597b5af30af9c77ba3","ssdeep":"","tlshash":"707000083c08a000822238a000ab00280022000022808a8080a000a00c3280a800288a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.077156Z","last_seen":"2026-07-27T07:00:45.000766Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9485c8ae181348af0537aeb02376d77f","sha1":"67b0b7f7f914e89f6e0c6651049d5e58063eaf96","sha256":"77724e449ce352c6bb493ce82b91d7ed6b93156928d311f67cc1c57481e6c2f9","sha512":"037ffde473310d2491e664f6fba33b747a956c19bf99420da07bbde6ffbe4ca768da17177bb1643630ff6ae1448ffe79ce1613d08dbea8d610d7d51161950d1b","ssdeep":"","tlshash":"c2d02b8eec5b8595f966e9ca40766d29e0589802ec789cc11527c55261d4a195832cb3","size":266,"data":"","first_seen":"2026-07-25T07:02:54.116193Z","last_seen":"2026-07-27T07:00:45.020622Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7bfa335530acd41b8967a37e1c3e076c","sha1":"bdd8d14050dd0955829601ee023b1d449a9dd9b6","sha256":"ef226bb136cc66226cb2c478dc58478eb1fde25b90960098b4b48eaa64465b23","sha512":"feeca3580d39cf46c2d2f6719da557fdafd0278ce21b7e2710aefe013293c853c0ddafc3045baa1fc2ccc483191b5d89d47cedb49a52e3c55012e4718affa3ed","ssdeep":"","tlshash":"97c02bc49d5110548141e0bda13e215a30cab1031c200e10d730c2eb7c357d4100f74f","size":138,"data":"","first_seen":"2026-07-25T07:02:54.178036Z","last_seen":"2026-07-27T07:00:45.027665Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7bfa335530acd41b8967a37e1c3e076c","sha1":"bdd8d14050dd0955829601ee023b1d449a9dd9b6","sha256":"ef226bb136cc66226cb2c478dc58478eb1fde25b90960098b4b48eaa64465b23","sha512":"feeca3580d39cf46c2d2f6719da557fdafd0278ce21b7e2710aefe013293c853c0ddafc3045baa1fc2ccc483191b5d89d47cedb49a52e3c55012e4718affa3ed","ssdeep":"","tlshash":"97c02bc49d5110548141e0bda13e215a30cab1031c200e10d730c2eb7c357d4100f74f","size":138,"data":"","first_seen":"2026-07-25T07:02:54.178036Z","last_seen":"2026-07-27T07:00:45.027665Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37a6259cc0c1dae299a7866489dff0bd","sha1":"2be88ca4242c76e8253ac62474851065032d6833","sha256":"74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b","sha512":"04f8ff2682604862e405bf88de102ed7710ac45c1205957625e4ee3e5f5a2241e453614acc451345b91bafc88f38804019c7492444595674e94e8cf4be53817f","ssdeep":"","tlshash":"b9300000000000000000000000000000000300000000000000000000000c0000000000","size":4,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.635621Z","times_seen":284132,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"219505d4d5ae5b145370ed3cef98cfa3","sha1":"89498e7304c8074715c729700b3955fc065531b0","sha256":"d298bd11845e65f3a66d13d3a5ab32c91d5430be6dd23c2bb70ef16c03e21751","sha512":"c169611018ff9ff3e5d894a922f07106d329ca6d9668b9dab35bed80b825bbe371edd8cbb5a63171e6f300470e690bf74d7704b7109cf78b286207e396916335","ssdeep":"","tlshash":"314000000000000000c3c000000000000000c000000300000030c00000000000c00000","size":6,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-15T16:42:31.563004Z","times_seen":177989,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ec7e53845feb375870343182efd0b929","sha1":"63e71d0c5bcadc37a725d971054eb55e017f6989","sha256":"a2253e1fad60aa1ccf31416ca8cde6ffaa5af2510733c7186adc04a503346c5b","sha512":"339f50fe30462dd6204552b2d3d3fe5cbaeea2cadcfbde096f16b40f1d985a5a68ebb227dbbb9f37c9451a36376ed392b7fb50c6e661963124146bac7e03284a","ssdeep":"","tlshash":"cf50003cc00000c0000f03000300000cc0000c00c0c00300c3cc000c3c0cc00c000000","size":11,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-15T16:42:31.636701Z","times_seen":175865,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"43cc84282ae8ae707422fe0e47a737e4","sha1":"9494dfe845f51f5f1a62975275bc212704af3f7b","sha256":"84be6de752c70c93efb10cb0b1bee2711b78342f56d6fcf411ab0f8c5c003348","sha512":"e21b2eb023b2c19c6a1bee13ac490e62d541e2f74e423ce0073b1ec70e611810dc842db685d8eedb836d0520e71553cd308175651f588f74b49a887920f060f4","ssdeep":"","tlshash":"80b092252098852637f508bcb96467d4bd3241a060096151903d899819b6f8b0990bef","size":121,"data":"","first_seen":"2026-06-05T01:28:54.596192Z","last_seen":"2026-08-15T07:58:28.234859Z","times_seen":2005,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"10d8b01b1b865a519be7d5b88e98bcac","sha1":"80cc14de2c8bb984866e74720f37ad57a80e9acf","sha256":"ce33f60576204820a75cd31723620bd7247276841db0647fb820abea4c8ab03d","sha512":"cf9a2f01ddc7113f81551041381a6e81350c9febe4b7f24f2143df7177c5bdf87a4cc5ef95a5a14ab06aeab4a710635b1e8c60e816eeeebe0766eeaa643d7208","ssdeep":"","tlshash":"f0f00e358b3c10220aec08f9c0898be83e2d7262e0245060fc69de7d0948cafd053eef","size":525,"data":"","first_seen":"2025-07-20T14:54:50.990021Z","last_seen":"2026-08-15T14:40:23.526901Z","times_seen":4996,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"630261c66fd1cfdc1d377aeacf7cae48","sha1":"2510e79e093980a6efcdd513d4134a19f2b96ee9","sha256":"2f90d6879fdf68aabce3ae9fbf0028a10659ba1870e24687a8de1bced3e5314f","sha512":"dd63351fe827dcd768ed78b36ef29fcaafb1d0583cecbf8af4dfa8d20fb478d9e14e87640b1a089cde6ce993a61d73f992e79522c7a77368405134f12cbe01ea","ssdeep":"","tlshash":"54f0c0df1711c972c6b98167337fb355383272127a9104209658aad86920cd3c219c87","size":542,"data":"","first_seen":"2026-06-16T13:06:30.04206Z","last_seen":"2026-08-15T07:58:28.236018Z","times_seen":1886,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"1a6e1178e4bbf5730bd664a49dd3bc24","sha1":"17c3ae3273f9de6afbbdedf2e413dbb3a6722792","sha256":"3814cddd18b2095e01abb745a99e5ada90178e709c09879324c3b623f2d829ea","sha512":"cfb1aab0bf589e33fd12906f448ddbbf7163420a088de513b174304c9ba3a7abcd9b41c98bc4dd51edd0206c1fe4660db9857e3c6163d1bf50c670cefddee509","ssdeep":"","tlshash":"de9002b090c39c5890264186687100160b6c040c01080141132184d810115048e40d8e","size":43,"data":"","first_seen":"2023-03-13T01:07:12Z","last_seen":"2026-08-15T16:46:21.107045Z","times_seen":226144,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"3ecaea12642976a1d336129f8c85369e","sha1":"a6999ecd201a6667f53a0ef41335fec9e160ad20","sha256":"bf3f74192fbb6caa6f83b6dbf1fabe1975fe5899d1b824f0ae074c30a9f8d371","sha512":"d7d20694badab3c88645a504b7d386dc31ae1972c286da756e91824726e79c7d7de2152680962ffdc1d53aaf6a811e4771038420f1405d325884044943246d55","ssdeep":"","tlshash":"65d02241b006dcd29ca2bb2a71348ca9009caa7c10a161c4b2cfc25100b39780b42a0f","size":206,"data":"","first_seen":"2026-06-12T17:57:14.031557Z","last_seen":"2026-08-15T07:58:28.238655Z","times_seen":1934,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"b6821bb45424547e332af4cefb5a5a75","sha1":"4767332b287c3b15f28ce99f18aca4ddb021f181","sha256":"e0c576273d1ca8ee9a2fba609a005263c2bb272cdec1d6ab5b997dc7c586bc06","sha512":"e2a0babe63e240a4bee41e4c5c1bcc19f8666a69fcd43eb6b0c3671b929958fba310283d97fa4923654ded85f5bec8f38ed0b3ca02d30aab912ac77dee4f01e9","ssdeep":"","tlshash":"5f41ff25c50fdc0889f3cda230cdb913281a913056e22657d96e5ee9cddf43b53a2b58","size":2225,"data":"","first_seen":"2026-06-12T17:57:14.032554Z","last_seen":"2026-08-15T07:58:28.239166Z","times_seen":1934,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"0fa06e655bed2d7a59c026cb90ba9802","sha1":"547bbafeb7acece1ce2f2509f8bf346043d84fc1","sha256":"c9da0420122e0b5f04aa5bdd58c285498cc2921321de0c0a4b1fdc766c821a18","sha512":"e2aa2182136fdf4aca1b1667166168ca0fd10c964e7c6719aa561160dafae66ea577fba93d15074f86ffa35182adf99c2c96ed72627b5f52febc663e406e2921","ssdeep":"","tlshash":"cb800475c0400d1741f1001314343011515c440444010150d3517145151111d7d1fd4d","size":35,"data":"","first_seen":"2026-07-07T19:15:46.886577Z","last_seen":"2026-07-29T06:17:13.213594Z","times_seen":1471,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"e3204b49a85b636cc8880cbad5ba5018","sha1":"6dfed1a64fc53aee256c26a5c52cc6491df97ab5","sha256":"a765dc27704c7f8a199ae74b8af7ddf6be7485298a56dd54bc46fdb7b69b1221","sha512":"f99c67dba4af1db7d12716d800e54f232db84e89854334f126cbdea05cfeef08509cc055ae2084173338097125b435b5229d4b00d74fdc4b995a87aaa9258038","ssdeep":"768:XyOQ03DV6Ly5NEdTtWWLiQn6spuNokpvauELcQcrQ+0XjsbgXlmJJWXzIC6tLKf3:XyOR6LMELcUPwbgXl52cfIyZ589e","tlshash":"7bc39268f224e77e7d3778ac96bce44c320571a1e9f807dee95172119fc3bb26829118","size":123458,"data":"","first_seen":"2026-07-07T19:15:46.907257Z","last_seen":"2026-07-29T06:17:13.214911Z","times_seen":1471,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"67a5c420ee38fdc0a33429a1b395663a","sha1":"d18d9874a6ac698c63568a84f1a8b515a9adbbe5","sha256":"c2759dec8fbb791e08e0b550a68d292862d8a0a9c14170d9a1ee5942e07c5d0c","sha512":"1ece6c5b4d04d6df39312c28872d53ce4029ff463bdc2950077bc1b1861d91dcbf95cd010e6a397c48717f6ba62923783d947a93d07d403c8f5fea96c845f98a","ssdeep":"","tlshash":"2501c02a5400ee5eecaa1eb4113d8dbb268d8abfc250cdfcd459de242f4627513a79c1","size":831,"data":"","first_seen":"2026-07-23T13:38:20.570216Z","last_seen":"2026-07-29T06:17:13.216197Z","times_seen":1012,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"1589309228d0596a56ca9637600c0ffd","sha1":"0ee2c12424b1650ebfe7c9aacade8146e4270115","sha256":"1dd1d72183717c7c8dfe538108603807a462ddc3769bb5114cee9f8b8c3ab1c8","sha512":"243e5a148dc39dbc7129e66fc0e760f5690f408adec6a19e92eb41013fbd1f25bf12881022d4afbbe487b9269f51665585861a9d985ece6eecb5df695a9e3b02","ssdeep":"","tlshash":"7a11e01eda5eee49a829cd1f143b1f3688c4dc779034156db25ecfc81262fa20ba9d91","size":1030,"data":"","first_seen":"2026-06-13T02:21:16.275218Z","last_seen":"2026-08-06T12:32:43.517227Z","times_seen":1752,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"10967388aedd93a37687c8c1ce2fcb80","sha1":"6a3fbd3121492cb2dbc250e1078291fb40a5b933","sha256":"03728e970c199ba3374ce7b1b3f3163632fa6de63ef11aa3a05d5824e3674b52","sha512":"939dc8ddedb2b725ff92e0a41928b7227646168e4948a090c4271fcfdb7b6089f60d0945a1d5f213eef31f6000ee46460c63d2b11ca5cd9ace0b906d97445573","ssdeep":"","tlshash":"5451337d3504c96bedad785a127fbe3528d9016b07d0ceb887c8de0409418bfa756dc1","size":2768,"data":"","first_seen":"2026-06-29T23:16:30.42623Z","last_seen":"2026-07-29T06:17:13.218911Z","times_seen":1541,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"307cab8226db7752ba6aaaff5720e1ae","sha1":"13cddabd9f6bc9191241d2165fcb4b081f20c93f","sha256":"54426822571d255ae68721d9aabe5fc072c61606fe2ffe791667e198f94ae3b0","sha512":"f433b9e8b489e6999a6eb18a6ed6c8e3578fbb8539bf12c7149bbad162d2c1916abfcef37ee635cbebf013d407d9c370d8ba26286d9de08864aa44c8079df353","ssdeep":"","tlshash":"9331d729f045f68abd9f26b5903fdcbe218f546e0fa19ab4465789a9470103d2783ec0","size":1623,"data":"","first_seen":"2026-06-12T17:57:14.038934Z","last_seen":"2026-07-29T06:17:13.220051Z","times_seen":1701,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"04a519a0bd479c67c4ebacec3d09f64b","sha1":"85232a728bf982cc4a73732a1e798f279fd1b93e","sha256":"35f0bb0c452726724f562ca9d05532bb98aac7b8d11ed0de1cac17d2d096823f","sha512":"23d7695f631768e74b2982c8336546ae4c9e85b33dff0e986f29119c3644bf89dc262c7dc87e40d5c99c439436ddb989d78f2a3c40dde91b54522b2917651868","ssdeep":"","tlshash":"6c21926e6804de57ec3e3d69053eed3a10cd887b4650def8829ece041a0297a37dadc1","size":1206,"data":"","first_seen":"2026-06-13T02:21:16.284448Z","last_seen":"2026-08-06T12:32:43.51896Z","times_seen":1752,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"25365a482f6248f1da0c3425cc63a8ce","sha1":"c34437aaa7f17ead780baa8bf8043f664b4fb2c4","sha256":"61be21898e1e84434732d2734df95db4af9ecb4e5f2486f2da7641bfb09224c4","sha512":"8dce633aacfbd032476a23f6c09e157087e1598acd773f855f29b9ddc2f649c17eaf0d0b13807397663991feea665e1d9d0692e5fd6e5ffd18a16db2ac340898","ssdeep":"","tlshash":"6ad012909c82cc1dc6a60f37283a6c3622dcc66447455586adc9da695a8ae3105a5dca","size":198,"data":"","first_seen":"2026-01-16T17:39:52.610905Z","last_seen":"2026-08-15T07:58:28.248017Z","times_seen":1923,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"44652b490b6c9ea2158adc5e0daf547d","sha1":"77c456327b269bf17f3898b9250e3829e77ebc47","sha256":"92fb3cc60692c42b2fdf8a54159d9197f9d0db962357ea84f96c373efeaf761a","sha512":"6e8ad870e7e45d5b1f8d83242685835e8abac75962f49b68e99c5a3a43cb1bb6d45698153757a16ab0a91c6c7e5f610870e696c51497bac74d88ebc4c591db45","ssdeep":"","tlshash":"32c04c25c95999059825cc8e141a2f2a868ac87640280d74736dd9886161b415b59d95","size":153,"data":"","first_seen":"2026-07-07T13:53:11.726539Z","last_seen":"2026-08-15T07:58:28.248538Z","times_seen":1688,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"b1691151961bb944c7869d870287a11f","sha1":"b4548e10cff0bbac231a29ceb780078813a47fbb","sha256":"d1efa1aee00140209d76ff05acbc6e90d27a3c130cb231383fd87a5ce25dc4a2","sha512":"ea9a091ece87fc089d0e9823673c4132c7f4515c8068911d43c98245b38f19657bc47ad9bc8629f396edbfefc4f14dbf897ec0cfd892705ec315e07043654c5f","ssdeep":"","tlshash":"f3418bb2ec19ec44e7c65e0c693a7ca454dd83a29186a08fb29ced784587d344df1a32","size":2250,"data":"","first_seen":"2026-07-07T13:53:11.727685Z","last_seen":"2026-08-15T07:58:28.249048Z","times_seen":1688,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"053fbccf1e17390f7a9adc3521ed7696","sha1":"e3d25d9c529549b5e8c066fe1e3390a03cff30a3","sha256":"5bebf4b6615a6aa6aea024a979423e3c35ed65dca89cec752afe3c5fa0262789","sha512":"8df25f0190b67780e3fe3549184050dd91e162ba06815e92e63f89fe1f07f1259f9ee294a4efde8b498c4c99dd2300947201d7859c913c85021d7b84107588cf","ssdeep":"","tlshash":"8890028430426c102202d0612a9a69b6d175448020199164f05510443921059505bd0c","size":49,"data":"","first_seen":"2026-07-25T07:02:54.198206Z","last_seen":"2026-07-27T07:00:45.002562Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"da3f5f8741b5de980662d730df73f871","sha1":"896f82c86f77ec8f6696a162f44345d84f4b302e","sha256":"da48bc39846fb2dfb11eac0208ab64b9f8b2f12fc89e9832b61d63d68935138b","sha512":"4c5197263ad82b11b501108b4da2d7f9ed721fff7146f15e294451be9611cbce7e079ec7a8204d358379003f85061b186fa8f851e271c05119b44ce405066b04","ssdeep":"","tlshash":"84a022203e20ee02b3232ace023b2c08f2088002c0000c0fc03ef3c00330bc223028fa","size":78,"data":"","first_seen":"2026-07-25T07:02:54.111523Z","last_seen":"2026-07-27T07:00:45.009896Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/js/jquery.min.js","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"9ac39dc31635a363e377eda0f6fbe03f","sha1":"29fa5ad995e9ec866ece1d3d0b698fc556580eee","sha256":"9a2723c21fb1b7dff0e2aa5dc6be24a9670220a17ae21f70fdbc602d1f8acd38","sha512":"0799ae01799707b444fca518c3af9b91fda40d0a2c114e84bc52bd1f756b5e0d60f6fd239f04bd4d5bc37b6cdbf02d299185cd62410f2a514a7b3bd4d60b49fc","ssdeep":"1536:/jExXUqrnxDjoXEZxkMV4SYSt0zvDD6ip3h8cApwEjOPrBeU6QLiTFbc0QlQvakV:/Yh8eip3huuf6IidlrvakdtQ47GKl","tlshash":"0693f9ddb2c6702257a720ba007f510bf236199d6c4d8450f265d8e9bcb8a4e827bf7d","size":89476,"data":"","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-08-14T19:41:13.337959Z","times_seen":7843,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0a14387aa464f863985b6a6bef1d093","sha1":"51a4a9443e6f007f24b04c914d2721b2730ef3d4","sha256":"5d99f2d91f27190245664e4b3f6f485a27e025b4be90857bcafe11ad8e51111e","sha512":"8d05c11c4010e655a48e74dc053f3b5cac9072e3236bddb482312cc9a5c65db32ccb40274919820c6ace897bad2eeb88d4816605a149d1fa22561eb5a23edb61","ssdeep":"","tlshash":"1480000c3e082800000238a0000bc008c83200020800880000ce008c8c3b00e022282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.137523Z","last_seen":"2026-07-27T07:00:45.005979Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"553043d48d6dd80a787af64045a49e96","sha1":"e63956e5e0aa636885b9ed763d13ab9fdd1ecc29","sha256":"1984338e5b6994ef452ccc065e0cbad0892b40e3ae8938d3bde4f6a76e660975","sha512":"6754bfc75e8a2d15fb5e7f309524e2b22812ff1d97cd7b18508495ab00c590eb64ced78dd0bff9aae3a5902fc2fd215cd73b76864004a441d2239777a547c631","ssdeep":"","tlshash":"8ad02bfb5811c06ffc23059213335dc910d2f20cd5993f9ab5b2b1a4392000c70d54c7","size":281,"data":"","first_seen":"2026-07-25T07:02:54.176272Z","last_seen":"2026-07-27T07:00:45.001355Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"506062df458617a6bfdd35a3fbd41c54","sha1":"7e7395752c17ceee179c6a6ac0cdc54a44401c6b","sha256":"a7e4c6a4faba5d54fbf9e416b44f1e4c26d60946ee542ea3510b95b0c146e6a4","sha512":"e0aa46183e606b4bd2eac6695caecce85498b80a41894bc26fd6dfa2a7db92c78f9e69349df0daf41d79df5a8d1f95c5aef07047e4231252f0eaa123daf3d096","ssdeep":"","tlshash":"cff08bd487010de8b201bce92deb3464927f89133c503009ba12a21a5234f4d945b82d","size":540,"data":"","first_seen":"2026-07-25T07:02:54.146382Z","last_seen":"2026-07-27T07:00:45.019491Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"59ce6228ddf62be7f8aefab2518b85de","sha1":"900ad9ac49e0c31c073d6f6d90b1f4a96cc6fd70","sha256":"8ff18c08cbe337e7e73e5fa2906915a48539b24a7fad20153b95bce97834aaac","sha512":"dc9152b4e22f588df140c33a6635b551d942579445ef185f0fa62fd31dd807fdc9bd23ce42e0a3ff8872a4ca6e9e2942f9f76a727cbb74ea049a513e9a8a309b","ssdeep":"","tlshash":"f1c080447556b1ffd6426482c05f151562550705d9549a06d3a054e02e349899091f2d","size":166,"data":"","first_seen":"2026-07-25T07:02:54.079559Z","last_seen":"2026-07-27T07:00:45.004871Z","times_seen":514,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e4728480e2fb7f7ad5c9fda4ae9a24a7","sha1":"d271c64c26f1980b5bcba96d21ac5cadb06e7977","sha256":"8222c16f8274ee37719a8d83f2aefe2259e820728e881bfc83430f3c5336f732","sha512":"d5c34af2fb42a8ebf58500129c2cbbec60704cc1e3275f93dfc44dccd3b3487456bb20ed56bb7e4138e86530d9f61b4cfd2e791b5e0d857c87336a50ed923bea","ssdeep":"","tlshash":"e8d09706b91480223932382302628e07e4a2e8475df3a452a18acdc945f1944805d919","size":241,"data":"","first_seen":"2026-07-25T07:02:54.165069Z","last_seen":"2026-07-27T07:00:44.945204Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"24cc3dc813f384fde380df619f1525cb","sha1":"56399e3ce57ff98d68c7de98a563e572230dff6b","sha256":"5421715bbdaf2550e31d10fc28d444310a8fe7147bbddecf0abb490358a1553b","sha512":"fdb6e7d3b9452cc36c1e877ebe47c50c82fd413f2cef945f808e47b081da88ae6aaac7aa14386687c59479e19c856f6031d7ae666fe9c5b54a0b6fe37fa062f7","ssdeep":"","tlshash":"027000c008088802080aa02008800080220088023e0a0e0008200000832000280a28aa","size":19,"data":"","first_seen":"2023-03-07T01:02:05Z","last_seen":"2026-08-15T16:42:31.615642Z","times_seen":238862,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e213815f8e0b9954f8d43e3a59f8b742","sha1":"563796cb191f082f24fc52b017905533a0ceccc5","sha256":"842c53eb438fb28e95c14d32423b0fe01bf557c9e623b684b19663d497bce97e","sha512":"b5bae6d10c35f01992dcc33c3f24a7cee7ac0fb56cf4a9e79453d213297ffe3b8e6e4b3eb7de9b1d10a5ca2638e81ac3fd3e66e6d76d157a75163ac7caea4f89","ssdeep":"","tlshash":"ad60000ffc0c330000033030003f000c003300000c000000000000c00c3000f0003c0c","size":14,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-08-15T16:42:31.698852Z","times_seen":205565,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"db0e667538ab4e563e08c53acdc8adca","sha1":"7b00a8cb6da0a073775af7b8536d09fa244594ec","sha256":"b57608c5537f1c358fa12ec9a41449489847678d160fc29bea540ebfe93b1af5","sha512":"0388191a568e959e0ee4d19304a222bd647c874b02cbbe7a589757c47da8277ca1e7afb02a3eb9803a1fdf3220bae8875aad1d8f8fd624284f0fcd32abbcfeff","ssdeep":"","tlshash":"f9c0c000f44cc39725933c2f0d41873e801b120384320c030301d8cd0833beee245f60","size":180,"data":"","first_seen":"2026-07-25T07:02:54.18944Z","last_seen":"2026-07-27T07:00:44.982845Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2284743fe8a6178f117d584e3091d6e","sha1":"93d24c83d4a695e2a463bf66ea18a3e2147e9148","sha256":"8cf878073f71bf93dd67f56aab913b4a584f5ea15c56ea7030f96b9f26f23a4b","sha512":"7aa1cd340f7dc20e2259c9ef76fc6dd184133548d47ee9cf1c300e8ded20ae3e298748b874bb735dc639bb025be759096e3edfedd1c0396a094748bfe2734cf1","ssdeep":"","tlshash":"28c02bcf30c6da74817d001203179dc48107349f114b808743d040e400174908c1dcd7","size":138,"data":"","first_seen":"2026-02-18T11:53:38.7823Z","last_seen":"2026-08-15T16:42:31.676959Z","times_seen":81456,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e25b5a6d5b2365cb579d486a6acba51b","sha1":"6f513d7efbf5cd1176677d41c82b897b8006217b","sha256":"81799c32d53294ca91ef92a976a6501f0a7c8c424aa44278c8f06c0f71e0eb52","sha512":"d0b8a9b323c125a111082164ec638c05109a1b0add4136f4a0b69c99b680579b4755177a7c586a92f295bd1882b7eb8e41eb6bac406ef90d4257805cfb82308f","ssdeep":"","tlshash":"e9e07db0258123422174df79f0f3120430e072c67e48ac8f51256b428e388c1142353b","size":314,"data":"","first_seen":"2026-07-25T07:02:54.113702Z","last_seen":"2026-07-27T07:00:44.946298Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d61f8370cad1d412f80b84d143e1257","sha1":"32096c2e0eff33d844ee6d675407ace18289357d","sha256":"6b23c0d5f35d1b11f9b683f0b0a617355deb11277d91ae091d399c655b87940d","sha512":"3d637ae63d59522dd3cb1b81c1ad67e56d46185b0971e0bc7dd2d8ad3b26090acb634c252fc6a63b3766934314ea1a6e59fa0c8c2bc027a7b6a460b291cd4dfb","ssdeep":"","tlshash":"c700000000000000c000003300000000000000000000000000000000c0000000000000","size":1,"data":"","first_seen":"2023-03-07T12:12:28Z","last_seen":"2026-08-15T16:56:37.726009Z","times_seen":76333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9dd4e461268c8034f5c8564e155c67a6","sha1":"11f6ad8ec52a2984abaafd7c3b516503785c2072","sha256":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","sha512":"a4abd4448c49562d828115d13a1fccea927f52b4d5459297f8b43e42da89238bc13626e43dcb38ddb082488927ec904fb42057443983e88585179d50551afe62","ssdeep":"","tlshash":"c700000000000000c0000030000000000000000000000000c000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:48:43.700466Z","times_seen":66495,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1750e9b76f54961545a1edf5b6bd9a5f","sha1":"9bdfc833f7e055821fae1f547e0abec9ee9b9718","sha256":"358ccf6ccf547b6106792de57295c558115f2ba6f5764c19a638c992bf90aeb4","sha512":"62c097d4b1fa74b247955132f63bb4b06f2ff9fb5074d68382f0f7d3233f82bf1a62b3153497ea23bb745f3c9ecb3c50602bc9484759a6b8b74939944750dcae","ssdeep":"","tlshash":"0fe07db0258123422174df79f0f3120430e172c67e48ac8f51256b429e388d1142353b","size":316,"data":"","first_seen":"2026-07-25T07:02:54.202304Z","last_seen":"2026-07-27T07:00:45.028847Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"afb0fced528eaac5fe170b763cda5975","sha1":"8f0d85954d44c90a2fc59b8cc9297ea972774185","sha256":"9206ef16552ccd926e4421fe6ef369cbc40add64488b7e3d88350e3588a35c34","sha512":"67f6f6d5f810fc0fe5fe606415d86bc4efb11ca6df92a8d6b6d8280d1e4d731ea24b038f7525a6ac5084fac9f78f13d835e0679a1d0e3cba751465bafbcf4211","ssdeep":"","tlshash":"c71000000000000000000000c000000000000000000000000000000000300000000000","size":2,"data":"","first_seen":"2023-03-10T12:52:28Z","last_seen":"2026-08-11T11:45:31.150318Z","times_seen":786,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c11d89c2ca93836ea343a05338bd670f","sha1":"62a6ad7f8271078933dcd08d5424e2393bb5da8b","sha256":"5b399a3e0eebfecdf232a414d8d0557d3eaed3041a5641a639e715c63586aaad","sha512":"f7855d7cc1bb2478457e1a465962dd6c7a86607759e9e70be7c3ae6c1eb28484222e8e51d876d28696dc1882c733ff396797d143eb074648d45c6274a8eed8c9","ssdeep":"","tlshash":"9a8004041c04d00c01511d5530df10cc045310d731100554141441c55c773451101d3c","size":34,"data":"","first_seen":"2026-07-25T07:02:54.181325Z","last_seen":"2026-07-27T07:00:44.958516Z","times_seen":490,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"43cc84282ae8ae707422fe0e47a737e4","sha1":"9494dfe845f51f5f1a62975275bc212704af3f7b","sha256":"84be6de752c70c93efb10cb0b1bee2711b78342f56d6fcf411ab0f8c5c003348","sha512":"e21b2eb023b2c19c6a1bee13ac490e62d541e2f74e423ce0073b1ec70e611810dc842db685d8eedb836d0520e71553cd308175651f588f74b49a887920f060f4","ssdeep":"","tlshash":"80b092252098852637f508bcb96467d4bd3241a060096151903d899819b6f8b0990bef","size":121,"data":"","first_seen":"2026-06-05T01:28:54.596192Z","last_seen":"2026-08-15T07:58:28.234859Z","times_seen":2005,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"10d8b01b1b865a519be7d5b88e98bcac","sha1":"80cc14de2c8bb984866e74720f37ad57a80e9acf","sha256":"ce33f60576204820a75cd31723620bd7247276841db0647fb820abea4c8ab03d","sha512":"cf9a2f01ddc7113f81551041381a6e81350c9febe4b7f24f2143df7177c5bdf87a4cc5ef95a5a14ab06aeab4a710635b1e8c60e816eeeebe0766eeaa643d7208","ssdeep":"","tlshash":"f0f00e358b3c10220aec08f9c0898be83e2d7262e0245060fc69de7d0948cafd053eef","size":525,"data":"","first_seen":"2025-07-20T14:54:50.990021Z","last_seen":"2026-08-15T14:40:23.526901Z","times_seen":4996,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"630261c66fd1cfdc1d377aeacf7cae48","sha1":"2510e79e093980a6efcdd513d4134a19f2b96ee9","sha256":"2f90d6879fdf68aabce3ae9fbf0028a10659ba1870e24687a8de1bced3e5314f","sha512":"dd63351fe827dcd768ed78b36ef29fcaafb1d0583cecbf8af4dfa8d20fb478d9e14e87640b1a089cde6ce993a61d73f992e79522c7a77368405134f12cbe01ea","ssdeep":"","tlshash":"54f0c0df1711c972c6b98167337fb355383272127a9104209658aad86920cd3c219c87","size":542,"data":"","first_seen":"2026-06-16T13:06:30.04206Z","last_seen":"2026-08-15T07:58:28.236018Z","times_seen":1886,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"1a6e1178e4bbf5730bd664a49dd3bc24","sha1":"17c3ae3273f9de6afbbdedf2e413dbb3a6722792","sha256":"3814cddd18b2095e01abb745a99e5ada90178e709c09879324c3b623f2d829ea","sha512":"cfb1aab0bf589e33fd12906f448ddbbf7163420a088de513b174304c9ba3a7abcd9b41c98bc4dd51edd0206c1fe4660db9857e3c6163d1bf50c670cefddee509","ssdeep":"","tlshash":"de9002b090c39c5890264186687100160b6c040c01080141132184d810115048e40d8e","size":43,"data":"","first_seen":"2023-03-13T01:07:12Z","last_seen":"2026-08-15T16:46:21.107045Z","times_seen":226144,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"3ecaea12642976a1d336129f8c85369e","sha1":"a6999ecd201a6667f53a0ef41335fec9e160ad20","sha256":"bf3f74192fbb6caa6f83b6dbf1fabe1975fe5899d1b824f0ae074c30a9f8d371","sha512":"d7d20694badab3c88645a504b7d386dc31ae1972c286da756e91824726e79c7d7de2152680962ffdc1d53aaf6a811e4771038420f1405d325884044943246d55","ssdeep":"","tlshash":"65d02241b006dcd29ca2bb2a71348ca9009caa7c10a161c4b2cfc25100b39780b42a0f","size":206,"data":"","first_seen":"2026-06-12T17:57:14.031557Z","last_seen":"2026-08-15T07:58:28.238655Z","times_seen":1934,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"b6821bb45424547e332af4cefb5a5a75","sha1":"4767332b287c3b15f28ce99f18aca4ddb021f181","sha256":"e0c576273d1ca8ee9a2fba609a005263c2bb272cdec1d6ab5b997dc7c586bc06","sha512":"e2a0babe63e240a4bee41e4c5c1bcc19f8666a69fcd43eb6b0c3671b929958fba310283d97fa4923654ded85f5bec8f38ed0b3ca02d30aab912ac77dee4f01e9","ssdeep":"","tlshash":"5f41ff25c50fdc0889f3cda230cdb913281a913056e22657d96e5ee9cddf43b53a2b58","size":2225,"data":"","first_seen":"2026-06-12T17:57:14.032554Z","last_seen":"2026-08-15T07:58:28.239166Z","times_seen":1934,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"0fa06e655bed2d7a59c026cb90ba9802","sha1":"547bbafeb7acece1ce2f2509f8bf346043d84fc1","sha256":"c9da0420122e0b5f04aa5bdd58c285498cc2921321de0c0a4b1fdc766c821a18","sha512":"e2aa2182136fdf4aca1b1667166168ca0fd10c964e7c6719aa561160dafae66ea577fba93d15074f86ffa35182adf99c2c96ed72627b5f52febc663e406e2921","ssdeep":"","tlshash":"cb800475c0400d1741f1001314343011515c440444010150d3517145151111d7d1fd4d","size":35,"data":"","first_seen":"2026-07-07T19:15:46.886577Z","last_seen":"2026-07-29T06:17:13.213594Z","times_seen":1471,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"e3204b49a85b636cc8880cbad5ba5018","sha1":"6dfed1a64fc53aee256c26a5c52cc6491df97ab5","sha256":"a765dc27704c7f8a199ae74b8af7ddf6be7485298a56dd54bc46fdb7b69b1221","sha512":"f99c67dba4af1db7d12716d800e54f232db84e89854334f126cbdea05cfeef08509cc055ae2084173338097125b435b5229d4b00d74fdc4b995a87aaa9258038","ssdeep":"768:XyOQ03DV6Ly5NEdTtWWLiQn6spuNokpvauELcQcrQ+0XjsbgXlmJJWXzIC6tLKf3:XyOR6LMELcUPwbgXl52cfIyZ589e","tlshash":"7bc39268f224e77e7d3778ac96bce44c320571a1e9f807dee95172119fc3bb26829118","size":123458,"data":"","first_seen":"2026-07-07T19:15:46.907257Z","last_seen":"2026-07-29T06:17:13.214911Z","times_seen":1471,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"67a5c420ee38fdc0a33429a1b395663a","sha1":"d18d9874a6ac698c63568a84f1a8b515a9adbbe5","sha256":"c2759dec8fbb791e08e0b550a68d292862d8a0a9c14170d9a1ee5942e07c5d0c","sha512":"1ece6c5b4d04d6df39312c28872d53ce4029ff463bdc2950077bc1b1861d91dcbf95cd010e6a397c48717f6ba62923783d947a93d07d403c8f5fea96c845f98a","ssdeep":"","tlshash":"2501c02a5400ee5eecaa1eb4113d8dbb268d8abfc250cdfcd459de242f4627513a79c1","size":831,"data":"","first_seen":"2026-07-23T13:38:20.570216Z","last_seen":"2026-07-29T06:17:13.216197Z","times_seen":1012,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"1589309228d0596a56ca9637600c0ffd","sha1":"0ee2c12424b1650ebfe7c9aacade8146e4270115","sha256":"1dd1d72183717c7c8dfe538108603807a462ddc3769bb5114cee9f8b8c3ab1c8","sha512":"243e5a148dc39dbc7129e66fc0e760f5690f408adec6a19e92eb41013fbd1f25bf12881022d4afbbe487b9269f51665585861a9d985ece6eecb5df695a9e3b02","ssdeep":"","tlshash":"7a11e01eda5eee49a829cd1f143b1f3688c4dc779034156db25ecfc81262fa20ba9d91","size":1030,"data":"","first_seen":"2026-06-13T02:21:16.275218Z","last_seen":"2026-08-06T12:32:43.517227Z","times_seen":1752,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"10967388aedd93a37687c8c1ce2fcb80","sha1":"6a3fbd3121492cb2dbc250e1078291fb40a5b933","sha256":"03728e970c199ba3374ce7b1b3f3163632fa6de63ef11aa3a05d5824e3674b52","sha512":"939dc8ddedb2b725ff92e0a41928b7227646168e4948a090c4271fcfdb7b6089f60d0945a1d5f213eef31f6000ee46460c63d2b11ca5cd9ace0b906d97445573","ssdeep":"","tlshash":"5451337d3504c96bedad785a127fbe3528d9016b07d0ceb887c8de0409418bfa756dc1","size":2768,"data":"","first_seen":"2026-06-29T23:16:30.42623Z","last_seen":"2026-07-29T06:17:13.218911Z","times_seen":1541,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"307cab8226db7752ba6aaaff5720e1ae","sha1":"13cddabd9f6bc9191241d2165fcb4b081f20c93f","sha256":"54426822571d255ae68721d9aabe5fc072c61606fe2ffe791667e198f94ae3b0","sha512":"f433b9e8b489e6999a6eb18a6ed6c8e3578fbb8539bf12c7149bbad162d2c1916abfcef37ee635cbebf013d407d9c370d8ba26286d9de08864aa44c8079df353","ssdeep":"","tlshash":"9331d729f045f68abd9f26b5903fdcbe218f546e0fa19ab4465789a9470103d2783ec0","size":1623,"data":"","first_seen":"2026-06-12T17:57:14.038934Z","last_seen":"2026-07-29T06:17:13.220051Z","times_seen":1701,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"04a519a0bd479c67c4ebacec3d09f64b","sha1":"85232a728bf982cc4a73732a1e798f279fd1b93e","sha256":"35f0bb0c452726724f562ca9d05532bb98aac7b8d11ed0de1cac17d2d096823f","sha512":"23d7695f631768e74b2982c8336546ae4c9e85b33dff0e986f29119c3644bf89dc262c7dc87e40d5c99c439436ddb989d78f2a3c40dde91b54522b2917651868","ssdeep":"","tlshash":"6c21926e6804de57ec3e3d69053eed3a10cd887b4650def8829ece041a0297a37dadc1","size":1206,"data":"","first_seen":"2026-06-13T02:21:16.284448Z","last_seen":"2026-08-06T12:32:43.51896Z","times_seen":1752,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"25365a482f6248f1da0c3425cc63a8ce","sha1":"c34437aaa7f17ead780baa8bf8043f664b4fb2c4","sha256":"61be21898e1e84434732d2734df95db4af9ecb4e5f2486f2da7641bfb09224c4","sha512":"8dce633aacfbd032476a23f6c09e157087e1598acd773f855f29b9ddc2f649c17eaf0d0b13807397663991feea665e1d9d0692e5fd6e5ffd18a16db2ac340898","ssdeep":"","tlshash":"6ad012909c82cc1dc6a60f37283a6c3622dcc66447455586adc9da695a8ae3105a5dca","size":198,"data":"","first_seen":"2026-01-16T17:39:52.610905Z","last_seen":"2026-08-15T07:58:28.248017Z","times_seen":1923,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"44652b490b6c9ea2158adc5e0daf547d","sha1":"77c456327b269bf17f3898b9250e3829e77ebc47","sha256":"92fb3cc60692c42b2fdf8a54159d9197f9d0db962357ea84f96c373efeaf761a","sha512":"6e8ad870e7e45d5b1f8d83242685835e8abac75962f49b68e99c5a3a43cb1bb6d45698153757a16ab0a91c6c7e5f610870e696c51497bac74d88ebc4c591db45","ssdeep":"","tlshash":"32c04c25c95999059825cc8e141a2f2a868ac87640280d74736dd9886161b415b59d95","size":153,"data":"","first_seen":"2026-07-07T13:53:11.726539Z","last_seen":"2026-08-15T07:58:28.248538Z","times_seen":1688,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"b1691151961bb944c7869d870287a11f","sha1":"b4548e10cff0bbac231a29ceb780078813a47fbb","sha256":"d1efa1aee00140209d76ff05acbc6e90d27a3c130cb231383fd87a5ce25dc4a2","sha512":"ea9a091ece87fc089d0e9823673c4132c7f4515c8068911d43c98245b38f19657bc47ad9bc8629f396edbfefc4f14dbf897ec0cfd892705ec315e07043654c5f","ssdeep":"","tlshash":"f3418bb2ec19ec44e7c65e0c693a7ca454dd83a29186a08fb29ced784587d344df1a32","size":2250,"data":"","first_seen":"2026-07-07T13:53:11.727685Z","last_seen":"2026-08-15T07:58:28.249048Z","times_seen":1688,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"aac1259dfa2c6c5ead508f34e52bb990","sha1":"8ccb8a3f7ac5bd9c4f1ab74cb453f7f32903fb1b","sha256":"27a26bca625b223971909dd88fc93faeb050dc5b34d91c0871661740dcfb9d18","sha512":"2a404c9768dc86190bcc7c98645afa7b6f74488371b974d14da48d7379b2cfae6c8c5bc878ed17d0f9f4c4e62138bfe416cf9a1be31eab07e062c0f5f55ef811","ssdeep":"","tlshash":"c71000000000000c0000000000000000300000000000000000000000000c0000000000","size":2,"data":"","first_seen":"2023-03-10T08:44:37Z","last_seen":"2026-07-27T07:00:44.992827Z","times_seen":1135,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"130c787f212b30dec62fe9d1f64adf89","sha1":"0fe829cf5728aa8f881b127725d34bff3e703f22","sha256":"50560cc380f1458be9737fd2ee27daea8b9426db77b4b38ce5554e4a651ad09d","sha512":"650a479f750fa63552a1eb884acdc1d5a0ff7136389e396a8c311804d6490e8657b6ac81855d1d7633a27309f79c578d0a4927e35cded386db1808d1e5d8e017","ssdeep":"","tlshash":"fbf02d135782b7b2d04a560b50cf628806b2c032ec5acc8f1a33e2b40cb888a209af85","size":621,"data":"","first_seen":"2026-07-25T07:02:54.169445Z","last_seen":"2026-07-27T07:00:44.964235Z","times_seen":498,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cadb00a60a3fda71b0a59c1eaa577422","sha1":"81bbc75ee8276e534256b7a30dff2b86c5e0c893","sha256":"834021cef72202c07f1e4b770a7cbf84adf11afa2f1527353f4b35cfe558e977","sha512":"437459289997803a93a4e734fc87ee0896b6fc58ad8971d9898488ca77f0305953f17bebe1ee4f0dd90c0987266edfd1241bff7d32c08f3bb103129b1b1bcfbf","ssdeep":"","tlshash":"08a0228c2880afcc00be3a28222fb00030a03032028c083c03328000af3008c30c03fe","size":65,"data":"","first_seen":"2026-07-25T07:02:54.119796Z","last_seen":"2026-07-27T07:00:44.974926Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6b74d263b2f181bb8c759bdb049f2cca","sha1":"f4ee289de7015e0faac2be30edb6240a6d7c6139","sha256":"e5a9bf69c1f1f7fa5574037a92b8b3dfc6ba7b0479d1d9e7347d39a0bdc41753","sha512":"10bbf90be8836779b50b0da8ce0f1773f474e604cc0d10101267cf42c41ab78d27a2609f824a3493b235650ac7bff8777cc297feb6a000dd7b6aacaaab88597c","ssdeep":"","tlshash":"527000083c08a200022238a2e0ab00280022000022808a0080c000a00c3200ab00a80a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.203661Z","last_seen":"2026-07-27T07:00:45.018417Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a78c5c832247d38a96a1d593f639a2f8","sha1":"5f0015f64b3fa0c1cf637e590267ba3b24120422","sha256":"70af5859b85dd4f8bae68a68aca5782a1795821b1cdd307c803d62f76ed1859f","sha512":"effa7fe575fe0f5f3c2a7d8a377f6bc00f909e1e47ec5a6e93f6f16ffd0bf227e506ee3da11dae805d30c1e01b690cacbfb4e891f973bb5cc1daf9cd7a08daab","ssdeep":"","tlshash":"ab7000083e08a0080a2238a000ab00280022000032808a00808002a00c3200e802280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.087327Z","last_seen":"2026-07-27T07:00:44.957131Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fa317cda84211445676c1cddaaae7c0e","sha1":"56c4706fd639682e3b4522c810eee9ea11f2d38b","sha256":"2740769e28e35690a4f400ce64b425de677a1dc517b2859219e883c874e4a664","sha512":"a6c704bc3492435fa28ff4a72847e656af3f982f8988c051b3d48959f553a38a54e5606c50fbcf73af0300faa637f2b3bbe311484f190131207b31b4a7939008","ssdeep":"","tlshash":"c1c08c4a588022263b707d80c0ba192cb354096b109e8f0f8c2ee3943320f62c00643f","size":155,"data":"","first_seen":"2026-07-25T07:02:54.082992Z","last_seen":"2026-07-27T07:00:44.976197Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"6247dd5d2d787d98a0d5e4966146d550","sha1":"51dcfa67e8318f689e1a4589a9def15c6f9a23bd","sha256":"cbb9ab7439a233ff75c44799819b7a7de5fdb18f4e30f0236430bc751530c211","sha512":"bcdab3f3db437167cf01baaa88913e053ea2ac769bf14381fb70e62ae10544ef8f11c327a24e01218936ae2800ed21453d065820542d1222b87117980536c637","ssdeep":"","tlshash":"92b0922e6c926024a05c1116a01c008a6b8cc9bb83c814a862054cb5ea9a0ba03847b0","size":108,"data":"","first_seen":"2023-08-01T01:42:54Z","last_seen":"2026-08-15T16:42:31.546153Z","times_seen":299170,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"e18eb9d0972d240f1a5456179bb6523b","sha1":"65255f106adcff2907a98e295a8e7a38fe2884c4","sha256":"3d68db2b85d5a2915743399f09dc438963f0c50f68b02df05d47a372661603e8","sha512":"bcd5a6c26fa1f7a77f5614a7b28e238701d698cc0c96ac5d03d97628d8622125cd0cfdaf54b1db96ef25320a3fca7584abd343d67bdfb9f272ca3ef8572b360a","ssdeep":"","tlshash":"d4c04c38402080e98659101c7434fb80bd7d3b973163e047da3c621c65f5d017c94b11","size":134,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.546675Z","times_seen":262881,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"12347d552552b7eb8f1aaf47a5774b81","sha1":"4701684cb61e83493e14555659e2cd07ae9aba3b","sha256":"63b85d3cc0ccb498e52cf8dc76db5119713a85031ef4a8e99edd01e403cb08f4","sha512":"a0b95f6914bf92922a13db3f81f5612e2a360e0b3bb0f6ffabbe41623a044d662e27a216d788399cad99c8ec18c5f98f481e602d672de5b3b97d5da8ec930e4c","ssdeep":"","tlshash":"6b41427ea3a4193b45fa787e21af560620726654e0158c0c813e76846cb1a4b21dbf5f","size":2083,"data":"","first_seen":"2026-05-25T17:49:28.102585Z","last_seen":"2026-08-15T16:48:43.423961Z","times_seen":20893,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"67ff67fcff295f1a8337f9d06b64e1f6","sha1":"30b01856e6325a3ebf16c3a1ea80014c3e71fb2e","sha256":"2fea72fe4ce3a0fdd329631651483f8e97dcfc899d4dd6af42e28d058cce53f6","sha512":"184307c6cf68b8fcdb408bf36c3ddc9389356397869fb84152191dd000573b7a5648d777e3bf1dff98afad3ebbcb9c44d21efcf00d3e2aa2967d12dd7c58cbc5","ssdeep":"768:/1YhGD4U3XHwUPDi7P/H0A+/9JjYmin7YMUJmq97SyY/v1M6LnB/MzhUDoUg+/9X:NXQ7UVekMUpzYVM6bBUzhxm9mmsk","tlshash":"877363240868a872c897a447deb5ff3e9cf816390bc9966dbcb7975c01ec6610e9f413","size":80695,"data":"","first_seen":"2026-07-27T05:26:45.271624Z","last_seen":"2026-07-27T05:26:45.271624Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"4e226125e429d79c4c368581aa455eee","sha1":"79fa2f523a0ffb2867b44afef3e154c3dc1fb5cc","sha256":"d50c6291d73f2c5ba6b2dc494e09fe070ea0a6c0c4ce3b3c6bc4156ab944dd72","sha512":"06a7818b0a33701b90d20662e1d1a85f90f78af228c2efcf6717d56f93b7502a5cd540d471f113376717d6bd8a8b0b9f198e16a65d6412f3f946dc0e6c87ed28","ssdeep":"","tlshash":"96c08c69d3040b704270a810ab0b3b4f253700228020c845b210a60038d0b078d703e2","size":145,"data":"","first_seen":"2026-02-05T15:28:48.153036Z","last_seen":"2026-08-15T16:42:31.54899Z","times_seen":114492,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8501e99db1c76b62dea75ad32747a129","sha1":"791537ba64bbd81ed1644b015c4830d897182fb8","sha256":"25289f89e8785a11e468135cfa545b64462e90a61e62ee0bf9fe2dce0898016a","sha512":"d34b3b6f94043e080daf7804d7305efc1bade1433a80d4c6c547ab1325aceda8235ceea8bd99062a7737401ff5d767d46e4d24a972bfa88e9c6b197947041f77","ssdeep":"","tlshash":"7b1135251b715c27806a296232dfb309b8262372583c91dc8a81e365933661bbc3235e","size":1032,"data":"","first_seen":"2026-05-25T17:49:28.106733Z","last_seen":"2026-08-15T16:48:43.430196Z","times_seen":20866,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"173a08c5d6adc5c93611a599bcb2c717","sha1":"735a7301e66ae2c3584357f7bf0bf09eefb62df0","sha256":"271e6368679a21c3416e2a0325db33d6bc445d601c72a49914081b5efd0cdf3f","sha512":"cf15a9aa7e406207f3b85c7ab7d6453fd2351616b4dbb2db767ad854f866ae8256045b8cb74948f44d09fedb6c200c56fa2e2ab83d1ab997f5b0068edee7349b","ssdeep":"","tlshash":"b0800000c08a0030c3200c082008c28038802002a8f2002208200000a0032fca0020ca","size":26,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.550075Z","times_seen":260970,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d283d1818e80d7267d72b236fae9738f","sha1":"d767efc3619e7deff9a4c50b7e456bc2e6a954ed","sha256":"b74af2f4e4ad25e4cf95fbb6734cc89812d5f428e233cb333cc010872ba20788","sha512":"98c9bb90b63dc69d03fef7c9f31b78474be36d6eecda99845cb896ec6a4ad3eb19e20a2c65ce622052159ee4dab61cef7640f7e1d1b0574aca1c74db562f1db0","ssdeep":"","tlshash":"9101475c0a057d9ce90688ccc7c6a6655bac9237be003124f82f454dbae3aeb9830967","size":760,"data":"","first_seen":"2026-07-23T08:14:51.856878Z","last_seen":"2026-07-27T21:22:24.458632Z","times_seen":1879,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"385567210550a0c1e2bde47662ed4da8","sha1":"0cd76fc5cdca83a477bcfafc3beaf3bffcd6f781","sha256":"c144e84ef4992554561c2e74eea7bcb13d689fae12a19268e4d8d07266ea66b2","sha512":"c99e8074b2ac53140f93168c7d93c4ef36a085a054ff2c1105638cf2beb1fc257ec36adcb0a095d021242d5f1d7bce230a4d082707abb7c4b1791907bfe6e10e","ssdeep":"192:yzEjQfb/44TmOavb+Nvyv8kYl90sxVjoObVWpO7sTM73gcAKc3Udq6bRXnLNy9nA:+OQfbwKavBv5Y4sxVMOUE7sTMDgcA3X0","tlshash":"6822c80fa38679fcd7d15598b7a36b037cf4821b63082a1d88cba0542cddf19429b9ed","size":10400,"data":"","first_seen":"2026-07-23T08:14:51.857803Z","last_seen":"2026-07-30T02:08:52.778436Z","times_seen":2239,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d8fb965e7ead2924508e97e5326bd3b1","sha1":"fae376d0cb54d4433b7bdc9aba04690cd6cb5d27","sha256":"57bb660c2fdf4369ff8e37f99b26963dba87c120b80c443ff3d31e030ab3a0f5","sha512":"c03eb6a1004f9dfcd1f960a6ca70a77932794808f72476b276bb16f02d0a1855fb2d93d07aab7c0c040d4b3c0eb4f861a4c1a9368a27e3a6430e425ff6ed2568","ssdeep":"","tlshash":"8e60000c00000000033000fc0000ccf00300000cc003c0c0000000000f0000c3c00000","size":13,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.552065Z","times_seen":257636,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"47b6bd14b24c862b9cdcef05103d3603","sha1":"2e2c5fed10a86442e7ab89d2a483d31e7fb00faf","sha256":"aaa3d5ebd70423050386062b64d82b7575fb3103edfc1d76c573359b2180146e","sha512":"0d7eca2fc97c146000aba3669f082ff8fd2be9f72f0514fe29f2ddcc5713ec8a5cca9820233d5a867277c68dd8fe8cbd22800b8daa2f75b0504482b386a6b356","ssdeep":"768:e6SclEK9GCUKh/xjztMySIFvW0D0i+HtteIGon8DzK323oWM0+rScW4Ijq1Lq:hZJhZjztzS8+NttGo2gGMBr3W4po","tlshash":"6cf2e1db710586fc65222e0e5c1e677e3b0c963e0c6570f07bc9a446699841bb41ecfa","size":36750,"data":"","first_seen":"2026-07-27T05:26:45.275672Z","last_seen":"2026-07-27T05:26:45.275672Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"10906e3a743324d4038b195d7a5f953e","sha1":"16a107c72615d527ea53e24efa2fc1b1d7633484","sha256":"37bbe78f97c2dcaded6f98ba02da76c456d63808b843bff3ffe919084d25bc63","sha512":"3e8ed9fdb09d195b37dadd703fc6f6cf6e331595ca51c5067cd9b160f1ea244797e64e56cfd15eba1e3b9f9fd828340cb64debfe25643a65fb2c106496876ac6","ssdeep":"","tlshash":"aca00263d529c957003855a055a73116f11857688826a00c135b560a75e941bfe9899b","size":62,"data":"","first_seen":"2023-12-31T09:12:26Z","last_seen":"2026-08-12T09:23:58.976399Z","times_seen":5094,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6b74d263b2f181bb8c759bdb049f2cca","sha1":"f4ee289de7015e0faac2be30edb6240a6d7c6139","sha256":"e5a9bf69c1f1f7fa5574037a92b8b3dfc6ba7b0479d1d9e7347d39a0bdc41753","sha512":"10bbf90be8836779b50b0da8ce0f1773f474e604cc0d10101267cf42c41ab78d27a2609f824a3493b235650ac7bff8777cc297feb6a000dd7b6aacaaab88597c","ssdeep":"","tlshash":"527000083c08a200022238a2e0ab00280022000022808a0080c000a00c3200ab00a80a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.203661Z","last_seen":"2026-07-27T07:00:45.018417Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61a6f2652a0b6db05139abddb9b96ab7","sha1":"05548eab56f32db3c8c42fd2487a3f3b3ccf0ee1","sha256":"cc6e0d6af3dc4f620458aa79c4f4c0631ebc1bd55a148f5e9a06ea8874885831","sha512":"f2f89b1252cfe849de0cb4e8e8b7ee29cf99c563c5113ede3c45d470d5d14c45e0a3e30e560a79d14bfd4c46943c24a8444a1e81e4a0e93addf71ebdeaccaef4","ssdeep":"","tlshash":"4780047cdd4c5c350f157415001740441177700d50150005170004c44f311c5140fddc","size":38,"data":"","first_seen":"2023-03-11T13:53:37Z","last_seen":"2026-08-15T16:42:31.653541Z","times_seen":270177,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d48a24ae9672ee573050e4d3aeeebe4d","sha1":"8f8c4d27852980a1ec5a8b1aba30769001314ec8","sha256":"53e5b7d706a350fe98d52499058624e15cddc1541f17370f94a899a386c50255","sha512":"02dd385ce15083c89617859325e29ce885ae235c8c5be416828066dcb5db78e69229802d87aaf759224e2656ab4c23bf1740ae1d357cfdb57ebf78ab77488921","ssdeep":"","tlshash":"43800020202088288888200b20308b8abaa0a228a83a2000a08c8e2cb822e80a038820","size":29,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:42:31.608947Z","times_seen":190482,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cbce5f030ab9bcb5d5a13f3094ed0c14","sha1":"a8dabb19b3be950bce6159811f80596a5bd78b54","sha256":"22d532f2907a94e1755ff7183e34abaed0e92f01415b2c98b71e860af2af3020","sha512":"d8d914e21a56a18b2bf24d25cf9df74cd94c4a9fdbad963cfd1eb90080d01d6cdafd27712026ecf692d43cfc977a8abf44d969e2d299d204b4da9263b9dc7036","ssdeep":"","tlshash":"e07000283c08e800022238a000bb02280222000022808a00808080a00c3200a800282e","size":22,"data":"","first_seen":"2026-07-25T07:02:54.179802Z","last_seen":"2026-07-27T07:00:44.952697Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"42397e761d6e41735413532880049e6f","sha1":"95f740d93be57eaa0388e50ea79e4ce0bc32a47c","sha256":"76354f8202dcb3bd872442c0934f9c7e5e9f61540f27727a42a5eb594e9143ea","sha512":"37cf8e6de170216c3bb26136f48d90eb71bc4bd34d7b8e59991083fe5c79b32d4f12a4412445f5f115a748693f51a2d3528d3f2e8b169ebcb1b4a87c2124f9b3","ssdeep":"","tlshash":"8aa024451fc0173071c174f015070010450d107dd37444d54075dcd00c34fcd3441117","size":82,"data":"","first_seen":"2026-07-25T07:02:54.195903Z","last_seen":"2026-07-27T07:00:45.014366Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8d8b85adc4d2474a84fbca1381afb3c7","sha1":"3815645d5a8680fd3ed4ce5a3b82f8d432448698","sha256":"3eb8abc484d33a620c974de75babdd2caae4fff7dc8daad7d860dd41c93ee611","sha512":"910cbf3ddef06885833d1127febca48a7f76337a577db0e125a3157ee738bba15ad1d30405e79e1de60279b2605f489b16d8b258fd17bc0c04bce685d65fedfa","ssdeep":"","tlshash":"08a0124823d0a000e671241804070a80b1a069046d1f22048280018d60d0682405c509","size":83,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-15T16:42:31.597382Z","times_seen":210852,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/d71b99267b066b9b.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"8ab91e90961bd7e4d7c2d7514a37ecf6","sha1":"d2e2405837d8cd1436dae22a0c5d7f4e15168995","sha256":"6e16504cbe3f76082798a523cf9cdce3bc9321fefc36485d02c9289e5a5f6b38","sha512":"da24ae4884840b4b996fdd087c41065e590b5cf33046f6aec00157142b53b9da067a83af2cc7744429b64c02bbfb1aef428787389939a1736cb4ad1f0458ee69","ssdeep":"384:AqniNMH/fZ8oNS1VFWHcE+Ff8IiUG6AUNmXVOmitisz8Xdjz8/K4QIwATf:YO58o0fG65mXVOOKKNInf","tlshash":"bec2c725b90705be2aee83e7e06cabd5d9385a02d5098b4ce3978f319704bf56187b0d","size":27443,"data":"","first_seen":"2026-04-30T18:36:20.827898Z","last_seen":"2026-08-15T07:58:28.174254Z","times_seen":2176,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"6247dd5d2d787d98a0d5e4966146d550","sha1":"51dcfa67e8318f689e1a4589a9def15c6f9a23bd","sha256":"cbb9ab7439a233ff75c44799819b7a7de5fdb18f4e30f0236430bc751530c211","sha512":"bcdab3f3db437167cf01baaa88913e053ea2ac769bf14381fb70e62ae10544ef8f11c327a24e01218936ae2800ed21453d065820542d1222b87117980536c637","ssdeep":"","tlshash":"92b0922e6c926024a05c1116a01c008a6b8cc9bb83c814a862054cb5ea9a0ba03847b0","size":108,"data":"","first_seen":"2023-08-01T01:42:54Z","last_seen":"2026-08-15T16:42:31.546153Z","times_seen":299170,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"e18eb9d0972d240f1a5456179bb6523b","sha1":"65255f106adcff2907a98e295a8e7a38fe2884c4","sha256":"3d68db2b85d5a2915743399f09dc438963f0c50f68b02df05d47a372661603e8","sha512":"bcd5a6c26fa1f7a77f5614a7b28e238701d698cc0c96ac5d03d97628d8622125cd0cfdaf54b1db96ef25320a3fca7584abd343d67bdfb9f272ca3ef8572b360a","ssdeep":"","tlshash":"d4c04c38402080e98659101c7434fb80bd7d3b973163e047da3c621c65f5d017c94b11","size":134,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.546675Z","times_seen":262881,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"12347d552552b7eb8f1aaf47a5774b81","sha1":"4701684cb61e83493e14555659e2cd07ae9aba3b","sha256":"63b85d3cc0ccb498e52cf8dc76db5119713a85031ef4a8e99edd01e403cb08f4","sha512":"a0b95f6914bf92922a13db3f81f5612e2a360e0b3bb0f6ffabbe41623a044d662e27a216d788399cad99c8ec18c5f98f481e602d672de5b3b97d5da8ec930e4c","ssdeep":"","tlshash":"6b41427ea3a4193b45fa787e21af560620726654e0158c0c813e76846cb1a4b21dbf5f","size":2083,"data":"","first_seen":"2026-05-25T17:49:28.102585Z","last_seen":"2026-08-15T16:48:43.423961Z","times_seen":20893,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"bf36eb6628768a5d63afd4ba884c3e07","sha1":"d3d1d16ba3ab5dfbeb94939ceffe38a6de1b12e7","sha256":"b2ea52c0afd58eadfcca2b2e7d874507d8b7561d9b5ce2d219a4a9669282994a","sha512":"61509062235c07ae0e273709ac8f77049f7775dfc427d07dea4e74de757e6165d768a0e61a0a5612541def936e0b3b33e1ea3b634dce5df87fa47b031a47eb19","ssdeep":"768:A1YhGD4U3XHwUPDi7NrQXmJLvKYMdmqs5SJY/v1MSLnB8jzhqDROfg0ubydHj/4d:uXQVQwjM0eYVMSbBMzhGOP25","tlshash":"468364640868a872c893a547deb5ff3e9cf806390bc9966dbdbb935c01ec6610d9f413","size":81300,"data":"","first_seen":"2026-07-27T05:26:45.279623Z","last_seen":"2026-07-27T05:26:45.279623Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"4e226125e429d79c4c368581aa455eee","sha1":"79fa2f523a0ffb2867b44afef3e154c3dc1fb5cc","sha256":"d50c6291d73f2c5ba6b2dc494e09fe070ea0a6c0c4ce3b3c6bc4156ab944dd72","sha512":"06a7818b0a33701b90d20662e1d1a85f90f78af228c2efcf6717d56f93b7502a5cd540d471f113376717d6bd8a8b0b9f198e16a65d6412f3f946dc0e6c87ed28","ssdeep":"","tlshash":"96c08c69d3040b704270a810ab0b3b4f253700228020c845b210a60038d0b078d703e2","size":145,"data":"","first_seen":"2026-02-05T15:28:48.153036Z","last_seen":"2026-08-15T16:42:31.54899Z","times_seen":114492,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8501e99db1c76b62dea75ad32747a129","sha1":"791537ba64bbd81ed1644b015c4830d897182fb8","sha256":"25289f89e8785a11e468135cfa545b64462e90a61e62ee0bf9fe2dce0898016a","sha512":"d34b3b6f94043e080daf7804d7305efc1bade1433a80d4c6c547ab1325aceda8235ceea8bd99062a7737401ff5d767d46e4d24a972bfa88e9c6b197947041f77","ssdeep":"","tlshash":"7b1135251b715c27806a296232dfb309b8262372583c91dc8a81e365933661bbc3235e","size":1032,"data":"","first_seen":"2026-05-25T17:49:28.106733Z","last_seen":"2026-08-15T16:48:43.430196Z","times_seen":20866,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"173a08c5d6adc5c93611a599bcb2c717","sha1":"735a7301e66ae2c3584357f7bf0bf09eefb62df0","sha256":"271e6368679a21c3416e2a0325db33d6bc445d601c72a49914081b5efd0cdf3f","sha512":"cf15a9aa7e406207f3b85c7ab7d6453fd2351616b4dbb2db767ad854f866ae8256045b8cb74948f44d09fedb6c200c56fa2e2ab83d1ab997f5b0068edee7349b","ssdeep":"","tlshash":"b0800000c08a0030c3200c082008c28038802002a8f2002208200000a0032fca0020ca","size":26,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.550075Z","times_seen":260970,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d283d1818e80d7267d72b236fae9738f","sha1":"d767efc3619e7deff9a4c50b7e456bc2e6a954ed","sha256":"b74af2f4e4ad25e4cf95fbb6734cc89812d5f428e233cb333cc010872ba20788","sha512":"98c9bb90b63dc69d03fef7c9f31b78474be36d6eecda99845cb896ec6a4ad3eb19e20a2c65ce622052159ee4dab61cef7640f7e1d1b0574aca1c74db562f1db0","ssdeep":"","tlshash":"9101475c0a057d9ce90688ccc7c6a6655bac9237be003124f82f454dbae3aeb9830967","size":760,"data":"","first_seen":"2026-07-23T08:14:51.856878Z","last_seen":"2026-07-27T21:22:24.458632Z","times_seen":1879,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"385567210550a0c1e2bde47662ed4da8","sha1":"0cd76fc5cdca83a477bcfafc3beaf3bffcd6f781","sha256":"c144e84ef4992554561c2e74eea7bcb13d689fae12a19268e4d8d07266ea66b2","sha512":"c99e8074b2ac53140f93168c7d93c4ef36a085a054ff2c1105638cf2beb1fc257ec36adcb0a095d021242d5f1d7bce230a4d082707abb7c4b1791907bfe6e10e","ssdeep":"192:yzEjQfb/44TmOavb+Nvyv8kYl90sxVjoObVWpO7sTM73gcAKc3Udq6bRXnLNy9nA:+OQfbwKavBv5Y4sxVMOUE7sTMDgcA3X0","tlshash":"6822c80fa38679fcd7d15598b7a36b037cf4821b63082a1d88cba0542cddf19429b9ed","size":10400,"data":"","first_seen":"2026-07-23T08:14:51.857803Z","last_seen":"2026-07-30T02:08:52.778436Z","times_seen":2239,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d8fb965e7ead2924508e97e5326bd3b1","sha1":"fae376d0cb54d4433b7bdc9aba04690cd6cb5d27","sha256":"57bb660c2fdf4369ff8e37f99b26963dba87c120b80c443ff3d31e030ab3a0f5","sha512":"c03eb6a1004f9dfcd1f960a6ca70a77932794808f72476b276bb16f02d0a1855fb2d93d07aab7c0c040d4b3c0eb4f861a4c1a9368a27e3a6430e425ff6ed2568","ssdeep":"","tlshash":"8e60000c00000000033000fc0000ccf00300000cc003c0c0000000000f0000c3c00000","size":13,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.552065Z","times_seen":257636,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"c1fa8da73b7ebc810849601918f7e4f8","sha1":"df9ad9b707922b8812233d0255e281ef26bc9b46","sha256":"52bb4bb11d037dd501a1f77226308d34ae5966ad19f61518ecb0e5a532973d6b","sha512":"8fd1928b08279673d4edf4315045dd4cba9dabcd271d2f53ae2c1616070f8f4393ba838f756c7c76114dcfac81e0bd859c1db25b5b01fa21991f22b7386ab10d","ssdeep":"768:K6ScJEwItZRxDYPkJGgwgflcJ5/c9eza7Fq6PWX/oALi9kCnJ3EN:jItZRpYPk01P5/ck4AsWXpekKS","tlshash":"14f2e096fbe98be8243e4e4ee52d9e3d10760a01d509bdd039c803497d9c612fd6ecb9","size":36859,"data":"","first_seen":"2026-07-27T05:26:45.280527Z","last_seen":"2026-07-27T05:26:45.280527Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"a5eab0fb6ca12a409a323e89fdc26207","sha1":"54b34f277144699eb7b907e7420cfd1a14b9ab0d","sha256":"08fad994ab539cbb50596eb8073406a9ff6bbb8ea2c88b9ab76b9d26cf8e536c","sha512":"22acf83e09580936e9b783e62e7ba048a2b9b0b9ad2c3baa69a8b471b5d6966c934b3818cec45db720dca2f0bd5dad5042e56181be05acdde63a8a23799d443f","ssdeep":"","tlshash":"65a002abd529c957003855b455973116e12897a48825a00c035b560975e941bffd899f","size":62,"data":"","first_seen":"2023-12-23T06:11:46Z","last_seen":"2026-08-14T05:15:02.838712Z","times_seen":4418,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64e1e1cbe1ca8e88ef3a838a3e7b57d6","sha1":"5498d9b96ed2832e04a90c4ac2ab71f869b2bfdc","sha256":"0510eddd781102030eb8860671503a28e6a37f5346de429bdd47c0a37c77cc7d","sha512":"44ee2764491048592021ece402fc174f9f4d95cf25dd7227e1029cfdfbc6f574f811fac940495ee0db71db3714c70d7ee27c142876e4a191a0fda92a2e93073d","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000300000000c00","size":2,"data":"","first_seen":"2023-03-10T03:04:09Z","last_seen":"2026-07-27T07:00:44.970327Z","times_seen":1286,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61e9c06ea9a85a5088a499df6458d276","sha1":"e2415cb7f63df0c9de23362326ad3c37a9adfc96","sha256":"fcb5f40df9be6bae66c1d77a6c15968866a9e6cbd7314ca432b019d17392f6f4","sha512":"61037724a2fb00a12fa8a53ada233f54ff7fc6ee02048e579b83a127ce79fc03906c35b5307beb18a3cf5021fe031ae6587448d4d60a082d73252fe2e2f4ae7f","ssdeep":"","tlshash":"c700000000000000c00000300000000000c00000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-13T06:59:10.874765Z","times_seen":79949,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","size":18024,"data":"","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-08-15T12:09:43.069017Z","times_seen":8441,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/turbopack-18a9de512a1933ad.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"ee874107586f9203ea70e460428f2bb3","sha1":"9bfba653884c0499149072efe4824e6170f10271","sha256":"44b3081e3a644e21b57f4155637e1e43563eae2c0f034c6ba9edd6bc9cba26ea","sha512":"7fd5fb8b487d8981ead132093abf93b51a77860cb1d04cd5c233c3e671b7183921080069aac71afb4f5f77a424d02ccdea22e3feba459326eea86d1c6637a09b","ssdeep":"192:D74eFn8/Esp1U91EG5T1uyO9lGdiwMhMlng4W9PZcxkUk1IsiyLxA:D74e2OvO9lG0OlgJZZQLyLxA","tlshash":"6722d8ea33a6f07743af94e6907f4044f1795468145d542c936ce8fa38398ae49e3f27","size":10707,"data":"","first_seen":"2026-07-01T05:10:22.643373Z","last_seen":"2026-07-31T06:34:35.53001Z","times_seen":1526,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"97893f46e7e13ef37b4c2e0ac60d85ca","sha1":"9c93b4599fe3df75fb3326420f7805a0b572eb98","sha256":"e5b564a7a4059dccb9c20cd678603a6f30c5f3db3af9b421e7f87eb37b030337","sha512":"973fb08ee51bb939b314a5dca3d67e39b8d27d209f5328a9c6fc3e4d7a716b29098e81824ac0c15f9a9a98d070fe09176399f78f1828080c5d9142c9835453f4","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000000c00","size":2,"data":"","first_seen":"2023-10-13T15:09:37Z","last_seen":"2026-07-27T07:00:44.950253Z","times_seen":1984,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"89124fc63620d83761110bc7e1ba5df9","sha1":"7caa348e5a262dfbebc80293ec34cc3d7e03216b","sha256":"8e1dbf14ae83c99040ff15a1b7c612b72e5847b9d3ef4948fa2a29ddace9971d","sha512":"876865b27affb00d47d87210ce6c7e84373650fbd0a0917fd1fcf949a36b4c5b61c367ebe7aa5c96389499247ff223206dd14fdd197222c9dc22a8c8b19ced44","ssdeep":"","tlshash":"c71000000000000000000000000000000000c000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-07-27T07:00:44.985336Z","times_seen":582,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"89124fc63620d83761110bc7e1ba5df9","sha1":"7caa348e5a262dfbebc80293ec34cc3d7e03216b","sha256":"8e1dbf14ae83c99040ff15a1b7c612b72e5847b9d3ef4948fa2a29ddace9971d","sha512":"876865b27affb00d47d87210ce6c7e84373650fbd0a0917fd1fcf949a36b4c5b61c367ebe7aa5c96389499247ff223206dd14fdd197222c9dc22a8c8b19ced44","ssdeep":"","tlshash":"c71000000000000000000000000000000000c000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-07-27T07:00:44.985336Z","times_seen":582,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2fd98c678db6a4e592fc1fce467a095","sha1":"23d71a1dee6fdcdb530042f8de4c7ab53166f476","sha256":"ce773908bfcad90b99b630fe30a23d2abf23d0530137862b34afd9426fc37f4e","sha512":"4cfdbe3278dfe3b25ee1d5b7c5e2b6136e0813ed126409b436ff14b98ff511e7849897d572bb20701f90c207a7d1a474166b8a3c01bcaa87f87836674926e582","ssdeep":"","tlshash":"14b012187d04e4376302347960230d04e151080342818c0b800ed8c047701cb00104bf","size":91,"data":"","first_seen":"2026-07-25T07:02:54.158231Z","last_seen":"2026-07-27T07:00:45.020059Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"6247dd5d2d787d98a0d5e4966146d550","sha1":"51dcfa67e8318f689e1a4589a9def15c6f9a23bd","sha256":"cbb9ab7439a233ff75c44799819b7a7de5fdb18f4e30f0236430bc751530c211","sha512":"bcdab3f3db437167cf01baaa88913e053ea2ac769bf14381fb70e62ae10544ef8f11c327a24e01218936ae2800ed21453d065820542d1222b87117980536c637","ssdeep":"","tlshash":"92b0922e6c926024a05c1116a01c008a6b8cc9bb83c814a862054cb5ea9a0ba03847b0","size":108,"data":"","first_seen":"2023-08-01T01:42:54Z","last_seen":"2026-08-15T16:42:31.546153Z","times_seen":299170,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"e18eb9d0972d240f1a5456179bb6523b","sha1":"65255f106adcff2907a98e295a8e7a38fe2884c4","sha256":"3d68db2b85d5a2915743399f09dc438963f0c50f68b02df05d47a372661603e8","sha512":"bcd5a6c26fa1f7a77f5614a7b28e238701d698cc0c96ac5d03d97628d8622125cd0cfdaf54b1db96ef25320a3fca7584abd343d67bdfb9f272ca3ef8572b360a","ssdeep":"","tlshash":"d4c04c38402080e98659101c7434fb80bd7d3b973163e047da3c621c65f5d017c94b11","size":134,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.546675Z","times_seen":262881,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"12347d552552b7eb8f1aaf47a5774b81","sha1":"4701684cb61e83493e14555659e2cd07ae9aba3b","sha256":"63b85d3cc0ccb498e52cf8dc76db5119713a85031ef4a8e99edd01e403cb08f4","sha512":"a0b95f6914bf92922a13db3f81f5612e2a360e0b3bb0f6ffabbe41623a044d662e27a216d788399cad99c8ec18c5f98f481e602d672de5b3b97d5da8ec930e4c","ssdeep":"","tlshash":"6b41427ea3a4193b45fa787e21af560620726654e0158c0c813e76846cb1a4b21dbf5f","size":2083,"data":"","first_seen":"2026-05-25T17:49:28.102585Z","last_seen":"2026-08-15T16:48:43.423961Z","times_seen":20893,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"6de422a46623467740b2f3931ade9b9a","sha1":"29a13ae3898705f3911f8c5363574ee38ff8931b","sha256":"89dfce2c370d57bac01601db25ffd4eaf0f7283efeb131ff53c3cf2752313678","sha512":"032058d900a9ed31ac1fd401fb9dde5dd142c245f6a8c481285327aaae356917cb6e304b1cfdd032c59541588cf4e1ca0f12bbf527bc87015d18625c3647bb10","ssdeep":"768:h1YhGD4UqXHwUPDi7Br+aJjeVuYMUJmqw5SJY/v1MILnB/MzhIiDRQgrne:PKQpC/MUMeYVMIbBEzhIeXe","tlshash":"ed635364086868729867e147deb5ff3e9cf8063a0bc99a6dbdb7835c01ec6510e9f413","size":69910,"data":"","first_seen":"2026-07-27T05:26:45.284311Z","last_seen":"2026-07-27T05:26:45.284311Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"4e226125e429d79c4c368581aa455eee","sha1":"79fa2f523a0ffb2867b44afef3e154c3dc1fb5cc","sha256":"d50c6291d73f2c5ba6b2dc494e09fe070ea0a6c0c4ce3b3c6bc4156ab944dd72","sha512":"06a7818b0a33701b90d20662e1d1a85f90f78af228c2efcf6717d56f93b7502a5cd540d471f113376717d6bd8a8b0b9f198e16a65d6412f3f946dc0e6c87ed28","ssdeep":"","tlshash":"96c08c69d3040b704270a810ab0b3b4f253700228020c845b210a60038d0b078d703e2","size":145,"data":"","first_seen":"2026-02-05T15:28:48.153036Z","last_seen":"2026-08-15T16:42:31.54899Z","times_seen":114492,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"8501e99db1c76b62dea75ad32747a129","sha1":"791537ba64bbd81ed1644b015c4830d897182fb8","sha256":"25289f89e8785a11e468135cfa545b64462e90a61e62ee0bf9fe2dce0898016a","sha512":"d34b3b6f94043e080daf7804d7305efc1bade1433a80d4c6c547ab1325aceda8235ceea8bd99062a7737401ff5d767d46e4d24a972bfa88e9c6b197947041f77","ssdeep":"","tlshash":"7b1135251b715c27806a296232dfb309b8262372583c91dc8a81e365933661bbc3235e","size":1032,"data":"","first_seen":"2026-05-25T17:49:28.106733Z","last_seen":"2026-08-15T16:48:43.430196Z","times_seen":20866,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"173a08c5d6adc5c93611a599bcb2c717","sha1":"735a7301e66ae2c3584357f7bf0bf09eefb62df0","sha256":"271e6368679a21c3416e2a0325db33d6bc445d601c72a49914081b5efd0cdf3f","sha512":"cf15a9aa7e406207f3b85c7ab7d6453fd2351616b4dbb2db767ad854f866ae8256045b8cb74948f44d09fedb6c200c56fa2e2ab83d1ab997f5b0068edee7349b","ssdeep":"","tlshash":"b0800000c08a0030c3200c082008c28038802002a8f2002208200000a0032fca0020ca","size":26,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.550075Z","times_seen":260970,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d283d1818e80d7267d72b236fae9738f","sha1":"d767efc3619e7deff9a4c50b7e456bc2e6a954ed","sha256":"b74af2f4e4ad25e4cf95fbb6734cc89812d5f428e233cb333cc010872ba20788","sha512":"98c9bb90b63dc69d03fef7c9f31b78474be36d6eecda99845cb896ec6a4ad3eb19e20a2c65ce622052159ee4dab61cef7640f7e1d1b0574aca1c74db562f1db0","ssdeep":"","tlshash":"9101475c0a057d9ce90688ccc7c6a6655bac9237be003124f82f454dbae3aeb9830967","size":760,"data":"","first_seen":"2026-07-23T08:14:51.856878Z","last_seen":"2026-07-27T21:22:24.458632Z","times_seen":1879,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"385567210550a0c1e2bde47662ed4da8","sha1":"0cd76fc5cdca83a477bcfafc3beaf3bffcd6f781","sha256":"c144e84ef4992554561c2e74eea7bcb13d689fae12a19268e4d8d07266ea66b2","sha512":"c99e8074b2ac53140f93168c7d93c4ef36a085a054ff2c1105638cf2beb1fc257ec36adcb0a095d021242d5f1d7bce230a4d082707abb7c4b1791907bfe6e10e","ssdeep":"192:yzEjQfb/44TmOavb+Nvyv8kYl90sxVjoObVWpO7sTM73gcAKc3Udq6bRXnLNy9nA:+OQfbwKavBv5Y4sxVMOUE7sTMDgcA3X0","tlshash":"6822c80fa38679fcd7d15598b7a36b037cf4821b63082a1d88cba0542cddf19429b9ed","size":10400,"data":"","first_seen":"2026-07-23T08:14:51.857803Z","last_seen":"2026-07-30T02:08:52.778436Z","times_seen":2239,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"31cce1914068185ba0e0323653b9c4a1","sha1":"733ffc803ad9c202832ff9acbd464a5681602a57","sha256":"6f10bf9e2a63c22b710dbe0ee66041bb1639ab3c4ad69333999876e989854b1f","sha512":"81d6c36e55d90964989f6b1773e52a07e2326c5d47a5ccf950f71c8df0a44eae23e51b0c98df9b05cb205838b77349dc47b4340f0e25798bea2c0bef934db931","ssdeep":"","tlshash":"ceb09b0745362d1b5dc55914bc4945b12d41d56503945ebc5540951d3145027645f5e5","size":119,"data":"","first_seen":"2026-07-24T13:38:08.037141Z","last_seen":"2026-07-27T16:56:48.6614Z","times_seen":592,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d8fb965e7ead2924508e97e5326bd3b1","sha1":"fae376d0cb54d4433b7bdc9aba04690cd6cb5d27","sha256":"57bb660c2fdf4369ff8e37f99b26963dba87c120b80c443ff3d31e030ab3a0f5","sha512":"c03eb6a1004f9dfcd1f960a6ca70a77932794808f72476b276bb16f02d0a1855fb2d93d07aab7c0c040d4b3c0eb4f861a4c1a9368a27e3a6430e425ff6ed2568","ssdeep":"","tlshash":"8e60000c00000000033000fc0000ccf00300000cc003c0c0000000000f0000c3c00000","size":13,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.552065Z","times_seen":257636,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"24370d884bdda07ba19a71c2129798c4","sha1":"f403cd6d6fee39d23a9040948cc195d88c41a52a","sha256":"4a5006764f913628a0ae490298e89706bffb45080a40bf64deb2970fdc6a6226","sha512":"92b5ca28a62bfa507ea1168564ec33b72c672cf80700bd4acab00438bd82f96ed5d928bb8a510e64e27c7b94b612de19c91254a5b568adb4aac95ac92a0baa4e","ssdeep":"768:86ScCEcSZRdA/YTxAeYlP3bD3jjk5l7bcKimnH6C8hiDoYl6N5W8M/:TRm/YWei3bjkvddnkhiofN58","tlshash":"a6f2e022acac54d648326f0ac19d7f3f285d6e35243123c35ce361416ddaf63ba3da99","size":36724,"data":"","first_seen":"2026-07-27T05:26:45.28561Z","last_seen":"2026-07-27T05:26:45.28561Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"694902b869b3137765ee10c74ac5e2f3","sha1":"965dd1ed6f642bd27d334828403f38ebe016b040","sha256":"a5bff65ae24c7cce82e5d6c52cdecf6cf3475bb9b0b4f68a1c4e6e889fa41762","sha512":"10bd73ee90eefd402d1f9c25e375334b16bbc3d4e3dce09bbfc655674a93fe85ee44e2e025a292da6a091c8c262c3e97dc6d78b980908a67520c06587f5ac5dc","ssdeep":"","tlshash":"f0a00263d969c95700385a6055973116e11857648825a00c035b560975f951bfe9899b","size":62,"data":"","first_seen":"2023-12-29T03:52:45Z","last_seen":"2026-08-13T12:00:38.792746Z","times_seen":4126,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"57cec4137b614c87cb4e24a3d003a3e0","sha1":"23eb4d3f4155395a74e9d534f97ff4c1908f5aac","sha256":"18f5384d58bcb1bba0bcd9e6a6781d1a6ac2cc280c330ecbab6cb7931b721552","sha512":"4921de1edb2ecc8ca3a22823705194b902cfa471675f2d1ae8bf67d0c7b060a7c192e36ffca9f1a0d90ac2dbbdaf429ee1ec97e160eb00dc80b07000935304f3","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T14:46:49.183608Z","times_seen":46241,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/exm=base,root/ed=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"b0ad8a0af02b0646525f5764557f74f7","sha1":"3b5ecd18dc5225ff5e062f1f355636ee87daa374","sha256":"41ca2ce29b6abecad6de552d13e73fb3b7628a958b5fbffeb8cc0f8b4495f4f9","sha512":"066d24883fd73c8304fc558fbfc404650cdba71f6f3973bf37273ddb405e563c181cd6767cb575ae3d20139bc047514916e3d227d9a4e17fdcd377a478b0556c","ssdeep":"12288:H0PeofempMe8l0tGc70LCSn4AqUlvdDJdGhxnYUjpjYtsxDT:Hjofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"f0e47de07392f4b586426966e57f8003b17e5943f2044478e1fa9edc15fce48a2bbf29","size":698252,"data":"","first_seen":"2026-07-24T13:29:06.300454Z","last_seen":"2026-07-27T16:56:48.623387Z","times_seen":646,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7121a3428492966c83430108c81b0128","sha1":"faa54a8131b597a6b972810794c8ac848b67b351","sha256":"6ece104aeb4ca53d9261705afb936cd0bebf554bd318f77613325b124a234c24","sha512":"8f54791b217786c95592d4411cc15e5cfdc7432d5db0617f60ce69a260cee1e7fd968b441bc4a2e40cdd6af24c25051881dc4b934bb3458a152b4503d52e13a1","ssdeep":"","tlshash":"c710000000000000000000000000000000000003000000000000000000000000300300","size":2,"data":"","first_seen":"2023-03-07T23:42:40Z","last_seen":"2026-07-27T07:00:45.015529Z","times_seen":2610,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f9f2d672039ed5d04839b769ad71e1b0","sha1":"9a86054ee3627014bb2f372f939ff22772a90aa5","sha256":"ef099fcece6eeca3777d0d4a6ac606beb557e08dcd95cf93d0d42a0334329c10","sha512":"52923fb4476412cf751131a95f749956c1a4c83641935695522af4434c3c42047820db169481885cb549e9a6a8c5ffbbc6ac49ad08f246612debd54bd3ee68e8","ssdeep":"","tlshash":"c71000000000000000000000000000c0000c0000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-08T15:11:30Z","last_seen":"2026-08-12T21:59:19.30441Z","times_seen":2737,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"accb66f0ecd826aac89065990e1da97f","sha1":"3c5339881a1720deed325383e8c3839b7748d254","sha256":"ca68fe3f50735b174e950c34f54dc1f4469d57f94c55f259174e8ee730ea86c4","sha512":"52408933e4d4f3fc5069da409f56adaa898366c9c2b71abc013277b38aba5e7dcac15868ffef3495cc1a64af8cbe1bdd7dcf79691ec2b15ac2eb8a3fa76f3370","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000300000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-08-03T07:02:53.92188Z","times_seen":2848,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"22fb59e0e0cdacc10fb7f1ad105606ed","sha1":"c6b3878cffd44663b546b12c26af899b037a4a53","sha256":"34469a749ff4f676f6d6a4d95bd641b9f9078810647dd3f14ac9e2aca1045513","sha512":"c39750c2a29c1873c338aba8a3bbd078bec533900b4ed5e1e46a17a8daf2b90c1999a8ea60da594bc411f49f60bb33f525f29d47990d0d6575b9231ba0ccf370","ssdeep":"","tlshash":"65d097c46bbb982c4984ce2b403311319049a21c8e080c50b230fb3bf7a075b243b0c1","size":229,"data":"","first_seen":"2026-07-25T07:02:54.072496Z","last_seen":"2026-07-27T07:00:44.969716Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b16d224a9cf9b154c238a00f6ce89562","sha1":"bf90040361427079f596e6a8daa5c6ce789e6d2d","sha256":"8d1320cfe03ab58ca10d024104587c313b2e9dbd142122d973f29c92637aed23","sha512":"4bfdbc6f94a21a7a7955caa00d6f05f6faada48c56a5e7a72f4e70bbe9c6ce01e2f76a8699e4d035e9981d03a5ab940122be0ac7bdbd6ec7405a17d7e5f37605","ssdeep":"","tlshash":"7d31a99f13b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1534,"data":"","first_seen":"2026-07-25T07:02:54.139431Z","last_seen":"2026-07-27T07:00:44.944604Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"86649f7e1c723028d2f82b2c50600d69","sha1":"d054d66e4c26951897c16eb69e57f9803279cdbf","sha256":"7c890a86937b21a7c49e2b3888877244c5442926548497319e537f237e78ef13","sha512":"82625c492170b8a8bc520d8e53c837ff8b7f02e4dd0e442c24edf74abdae64db605c53ef7171b7083f234b32d79179662aada511875ce13842c04185e8111905","ssdeep":"","tlshash":"c3d022072187ddb6a2729804030afa15b0ff100b0e262606f3c885026734b8cc262997","size":212,"data":"","first_seen":"2026-07-25T07:02:54.167434Z","last_seen":"2026-07-27T07:00:44.942215Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"aac1259dfa2c6c5ead508f34e52bb990","sha1":"8ccb8a3f7ac5bd9c4f1ab74cb453f7f32903fb1b","sha256":"27a26bca625b223971909dd88fc93faeb050dc5b34d91c0871661740dcfb9d18","sha512":"2a404c9768dc86190bcc7c98645afa7b6f74488371b974d14da48d7379b2cfae6c8c5bc878ed17d0f9f4c4e62138bfe416cf9a1be31eab07e062c0f5f55ef811","ssdeep":"","tlshash":"c71000000000000c0000000000000000300000000000000000000000000c0000000000","size":2,"data":"","first_seen":"2023-03-10T08:44:37Z","last_seen":"2026-07-27T07:00:44.992827Z","times_seen":1135,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cbce5f030ab9bcb5d5a13f3094ed0c14","sha1":"a8dabb19b3be950bce6159811f80596a5bd78b54","sha256":"22d532f2907a94e1755ff7183e34abaed0e92f01415b2c98b71e860af2af3020","sha512":"d8d914e21a56a18b2bf24d25cf9df74cd94c4a9fdbad963cfd1eb90080d01d6cdafd27712026ecf692d43cfc977a8abf44d969e2d299d204b4da9263b9dc7036","ssdeep":"","tlshash":"e07000283c08e800022238a000bb02280222000022808a00808080a00c3200a800282e","size":22,"data":"","first_seen":"2026-07-25T07:02:54.179802Z","last_seen":"2026-07-27T07:00:44.952697Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"42397e761d6e41735413532880049e6f","sha1":"95f740d93be57eaa0388e50ea79e4ce0bc32a47c","sha256":"76354f8202dcb3bd872442c0934f9c7e5e9f61540f27727a42a5eb594e9143ea","sha512":"37cf8e6de170216c3bb26136f48d90eb71bc4bd34d7b8e59991083fe5c79b32d4f12a4412445f5f115a748693f51a2d3528d3f2e8b169ebcb1b4a87c2124f9b3","ssdeep":"","tlshash":"8aa024451fc0173071c174f015070010450d107dd37444d54075dcd00c34fcd3441117","size":82,"data":"","first_seen":"2026-07-25T07:02:54.195903Z","last_seen":"2026-07-27T07:00:45.014366Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cadb00a60a3fda71b0a59c1eaa577422","sha1":"81bbc75ee8276e534256b7a30dff2b86c5e0c893","sha256":"834021cef72202c07f1e4b770a7cbf84adf11afa2f1527353f4b35cfe558e977","sha512":"437459289997803a93a4e734fc87ee0896b6fc58ad8971d9898488ca77f0305953f17bebe1ee4f0dd90c0987266edfd1241bff7d32c08f3bb103129b1b1bcfbf","ssdeep":"","tlshash":"08a0228c2880afcc00be3a28222fb00030a03032028c083c03328000af3008c30c03fe","size":65,"data":"","first_seen":"2026-07-25T07:02:54.119796Z","last_seen":"2026-07-27T07:00:44.974926Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"952ddc5ca686660c54f7b74840982b4b","sha1":"fe05b5837e28143d2981f9a67a56e565a7982be7","sha256":"9baacdd193c5a18c5a01ecf248bf7a316f7927c345ee3ec94fdce802d458718e","sha512":"a652cf3cc48705bc2b0fcbb449a0a61fcf31f30ad0feab7697a10c6c0e6485353c815048a9570763d74cddcb857fe49973ced6de10bc5f8239c7671fbe1881e0","ssdeep":"","tlshash":"d5c02b08746220f04e43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":139,"data":"","first_seen":"2026-07-25T07:02:54.186501Z","last_seen":"2026-07-27T07:00:44.972651Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"db0e667538ab4e563e08c53acdc8adca","sha1":"7b00a8cb6da0a073775af7b8536d09fa244594ec","sha256":"b57608c5537f1c358fa12ec9a41449489847678d160fc29bea540ebfe93b1af5","sha512":"0388191a568e959e0ee4d19304a222bd647c874b02cbbe7a589757c47da8277ca1e7afb02a3eb9803a1fdf3220bae8875aad1d8f8fd624284f0fcd32abbcfeff","ssdeep":"","tlshash":"f9c0c000f44cc39725933c2f0d41873e801b120384320c030301d8cd0833beee245f60","size":180,"data":"","first_seen":"2026-07-25T07:02:54.18944Z","last_seen":"2026-07-27T07:00:44.982845Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b6a20c0d9da44983aefc2889595774b7","sha1":"a6b83289561646aee8a972f7631e8e92f56cda48","sha256":"2fdd1b9481f875ab3ee4f5d37d4f77142929c0cdf6ced65060f0aa2aed4984a5","sha512":"9baedb500c9f00af4ff8fb892caba990a86a6042c868841f50f6b10c277d8c0566f5ce7049164e86e2bccaa0a786567e18bfb5f3ca7845b5ac65123f207b110c","ssdeep":"","tlshash":"66c022cc7b2b0c088352d9ba107b0566d86ac92cd94c8761d811fb16b92a25a087bba9","size":194,"data":"","first_seen":"2026-07-25T07:02:54.124398Z","last_seen":"2026-07-27T07:00:44.980996Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37a6259cc0c1dae299a7866489dff0bd","sha1":"2be88ca4242c76e8253ac62474851065032d6833","sha256":"74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b","sha512":"04f8ff2682604862e405bf88de102ed7710ac45c1205957625e4ee3e5f5a2241e453614acc451345b91bafc88f38804019c7492444595674e94e8cf4be53817f","ssdeep":"","tlshash":"b9300000000000000000000000000000000300000000000000000000000c0000000000","size":4,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.635621Z","times_seen":284132,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"96d66a4d9708fdb6dd5597f3bbc7d624","sha1":"e10a66fa8a836f6f948941262b70e1fc928a446e","sha256":"3cabac574ada654802fc1c4518d870f0791a9a3ac31371677e75fb683e47ce89","sha512":"06c25bc4dba52367cbe19252c1a013e1714a198141d139939944422266aaaed60ea3953c5d0f890a7f9ce7887c5f2a4cbb47173d06f829d50ac33f6f353c015d","ssdeep":"","tlshash":"ebd023cb729c1114574337141eef0448bc64b4d70dbc941d8649581058011ede03aecf","size":195,"data":"","first_seen":"2023-03-08T14:47:45Z","last_seen":"2026-08-15T16:42:31.692107Z","times_seen":210453,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fe63e72e58f232e831ebaa50436cd976","sha1":"3eb05a9376004c39c93288d95443d7f967c4d383","sha256":"fe4765abdb60dbb4296984f65320d7fa3f3047b70c94c2cd7737a9edb867a57b","sha512":"b39b8a0ffad610e40cd8116a7d35d709a6f3bed7ac49e980e5e2f26218cdaca4629af6047a9e7a7bc8857ee6fcd6da93808f9aaf4c26de44ecefc2fd92a87ef5","ssdeep":"","tlshash":"36f0ebb65a0180c490b39deb6e7f3a3f61866aa7b58110814393d725939c1d2300deed","size":546,"data":"","first_seen":"2026-07-25T07:02:54.125329Z","last_seen":"2026-07-27T07:00:44.95151Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f465da03521180d47c811a98c793a2d6","sha1":"9b76105ff4c8bb84cd630914d772f4cc73df0155","sha256":"e8183224e440eb4578fd87c4c47735f9ede4c43b1c6ebbdcd7033e98aba6a009","sha512":"b10685b1bf88080c98cfa2493e4c1734797a6ee17e9d59ddd7cbd685a9596d4c908ac2a12be9ea2aed3f6ac67ced98f3c6e76b1882f6c0731d1dd60ae5de4156","ssdeep":"","tlshash":"7450000000303000c0c300000030300003000000c00000000300c0000c0000c0000000","size":9,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.655718Z","times_seen":188030,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c8787fa4023ece3d6346af4a02715917","sha1":"29775abd0b6e3a1c7bbd07602ad2bb17d53f43e4","sha256":"0736249a27ceeedbf2cbbdd4c525addad26915787bbefebbe846109c66b5ac76","sha512":"18618b133818e72aa21bef46f047891d953318e6aace39dfba9511e64dc00ce3e5fb2dd3512fa002d28e1762ca2131d864abf171b75c964a389428fe0cabee33","ssdeep":"","tlshash":"cc9022a82c28380002083000c80f0038220b38cbc08c0202a000c83a2c3002c08c8020","size":56,"data":"","first_seen":"2026-07-27T05:26:45.29316Z","last_seen":"2026-07-27T05:26:45.29316Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"771f01104d905386a134a676167edccc","sha1":"51af17721bd7b84218774f9064fe481c033d0b1c","sha256":"46874106f9ac7f3b68a422895aa223e1ea5ed0db860f179f6362cb166c65f8ca","sha512":"0c85b6b14d917b941d01903af93ca93b97b7112355ba3f19f0ac2e243427be9905abb48f24a6dd6c6a72c140bbbc7ed7d231609425b0f132375b0f990ccef8cf","ssdeep":"","tlshash":"c7100000000000000000000000000000000000000000000000030000c00000000c0000","size":2,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-07-27T07:00:44.994262Z","times_seen":1807,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"25607f1ffaa7d1ff142e22e0e8ae6779","sha1":"207c150da361f4c91b20acad7c60918a9818305c","sha256":"8495a59d9339a0440ffe0861eaf8f3248dc31cd6f5e5447e07d6e6d376b2002c","sha512":"5a76b2517dfa3140c30a7a50b1d6f4d49ccf641725897a7d2f2131e4638d97279de45263ebb59371c7dc55e1204c94afd08eaf294e6cffb62e94580ea47223a0","ssdeep":"","tlshash":"6ad05eeb6b0f267900d33d34090b0a546a56c401ecca14e59711b8dc4f5460b40f3d2e","size":242,"data":"","first_seen":"2026-07-25T07:02:54.140729Z","last_seen":"2026-07-27T07:00:44.998252Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fa317cda84211445676c1cddaaae7c0e","sha1":"56c4706fd639682e3b4522c810eee9ea11f2d38b","sha256":"2740769e28e35690a4f400ce64b425de677a1dc517b2859219e883c874e4a664","sha512":"a6c704bc3492435fa28ff4a72847e656af3f982f8988c051b3d48959f553a38a54e5606c50fbcf73af0300faa637f2b3bbe311484f190131207b31b4a7939008","ssdeep":"","tlshash":"c1c08c4a588022263b707d80c0ba192cb354096b109e8f0f8c2ee3943320f62c00643f","size":155,"data":"","first_seen":"2026-07-25T07:02:54.082992Z","last_seen":"2026-07-27T07:00:44.976197Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"77507db8375c89a51d137ae19c2639cf","sha1":"930e0978489a2b57b5d9f93ecc5072cb39ebd467","sha256":"d8c43911c503ba9a0306977354792c17dbf64514f48f3b8698a0440a79d584ff","sha512":"b4b12b1f42547a998d3eadacc788b95bc6c4242b03fb95d687067adaa710e12df918c11228822674b3470d6025d8a08a2afb35d49e39d7b8722f42dfcc587411","ssdeep":"","tlshash":"569022a03ca230a000082000800f80b0332b088bc880c0028002883e2c3083088c0000","size":56,"data":"","first_seen":"2026-07-27T05:26:45.295074Z","last_seen":"2026-07-27T05:26:45.295074Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2da41093c5101c915eba4d7ce7b0703d","sha1":"be67856563d898a7b733742a56b7c24e76f6c12b","sha256":"861a8f8ff3b790a4f6c9a8fbca93e201d714e26ee74a051cc77d25e79ef5f581","sha512":"c78400c6cb9ba66626b3f922da612a3663809ccf26a7b35521a117ee56b1f69fde071301026b99a7976cd6794a76568b7bb46065da5f4d0f23946c850b6a0e24","ssdeep":"","tlshash":"a70110862cf902b6b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":684,"data":"","first_seen":"2026-07-25T07:02:54.184161Z","last_seen":"2026-07-27T07:00:44.9995Z","times_seen":510,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d48a24ae9672ee573050e4d3aeeebe4d","sha1":"8f8c4d27852980a1ec5a8b1aba30769001314ec8","sha256":"53e5b7d706a350fe98d52499058624e15cddc1541f17370f94a899a386c50255","sha512":"02dd385ce15083c89617859325e29ce885ae235c8c5be416828066dcb5db78e69229802d87aaf759224e2656ab4c23bf1740ae1d357cfdb57ebf78ab77488921","ssdeep":"","tlshash":"43800020202088288888200b20308b8abaa0a228a83a2000a08c8e2cb822e80a038820","size":29,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:42:31.608947Z","times_seen":190482,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cadb00a60a3fda71b0a59c1eaa577422","sha1":"81bbc75ee8276e534256b7a30dff2b86c5e0c893","sha256":"834021cef72202c07f1e4b770a7cbf84adf11afa2f1527353f4b35cfe558e977","sha512":"437459289997803a93a4e734fc87ee0896b6fc58ad8971d9898488ca77f0305953f17bebe1ee4f0dd90c0987266edfd1241bff7d32c08f3bb103129b1b1bcfbf","ssdeep":"","tlshash":"08a0228c2880afcc00be3a28222fb00030a03032028c083c03328000af3008c30c03fe","size":65,"data":"","first_seen":"2026-07-25T07:02:54.119796Z","last_seen":"2026-07-27T07:00:44.974926Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e4728480e2fb7f7ad5c9fda4ae9a24a7","sha1":"d271c64c26f1980b5bcba96d21ac5cadb06e7977","sha256":"8222c16f8274ee37719a8d83f2aefe2259e820728e881bfc83430f3c5336f732","sha512":"d5c34af2fb42a8ebf58500129c2cbbec60704cc1e3275f93dfc44dccd3b3487456bb20ed56bb7e4138e86530d9f61b4cfd2e791b5e0d857c87336a50ed923bea","ssdeep":"","tlshash":"e8d09706b91480223932382302628e07e4a2e8475df3a452a18acdc945f1944805d919","size":241,"data":"","first_seen":"2026-07-25T07:02:54.165069Z","last_seen":"2026-07-27T07:00:44.945204Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9f502ac14e14405587d798139e860b5f","sha1":"b267cfc679f39f2d95f9d3fa41bca0eafb931aa6","sha256":"39d2483e41bf71db160191d9a148b4bc26c0739e732727e37be0f18bdc8cabca","sha512":"f5bc3d4834c9c4ed165d49476795fb1170fdc577b58fe4b21dfc67cfb4f6eebf045a3812ef48a2f15758e790ce7e111cf9dbd9ffcc3438288c7340e6eeb7661f","ssdeep":"","tlshash":"b1c022ccbb3e600d9121f90031f84e46cb4125ac4407ede3a70128b4448180aca1f406","size":194,"data":"","first_seen":"2024-08-23T10:18:17Z","last_seen":"2026-08-15T16:42:31.565296Z","times_seen":177790,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"115b3cd49c739440787a505ab2ee1fa0","sha1":"3f1da71d9f392fd05f503b9c37140524df25c91b","sha256":"b36d3c52f42742303976f7fa86f396d248d2fe7b0f3b3e18c092577e621a0e0c","sha512":"78e25ce66f42fd5b77614cbad4c7ffc671997f0f317882289e9da969621935ea0110b6910e2b693a99736a7403f1e43f54c02d76485d8fd7fe72bda1265d4a6c","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c00000000300000000000000","size":2,"data":"","first_seen":"2023-03-10T22:24:54Z","last_seen":"2026-07-27T07:00:44.977418Z","times_seen":1876,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"ad17d7aaa5500fe1d163e297a0cb3628","sha1":"4607dffbd44e617ef494ece0d8770698d1541cad","sha256":"e8273aae46fb97f1786246772222f93463401dfcf2a0956928723ab6de5ebba0","sha512":"f787cdda2c4d3a5d970765c62929e3fb088af57fe2ef62bd9f8debe4064d563a4ac72ed8bd8c0425e9dc22766b1915a5004593d1b8652033d43e6d45245c3b96","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4k494v5/CTEF6:fdhuuYnFCL4MVJBJO5DtKV2hd49p","tlshash":"10755c9977e2b86343b2e0e5685f0142f23f584854ccd12cb97df9e52da0d0a617afb8","size":1597230,"data":"","first_seen":"2026-07-22T15:37:53.90669Z","last_seen":"2026-07-27T15:49:32.120651Z","times_seen":1747,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9e6f21901550fc1605fc3b7bb6220df5","sha1":"2c9aa881509ef9f0bdc5a0e496b852467b52bd1a","sha256":"d68cf2832956cf0a7b5ce50801e57f1a4aa9c959d170ef458bc12ee7a8e26f5f","sha512":"fe48c482cef77538444ec38384fc51fd461c90e228bcc2be17c1558ea1937e26eee63a2ea7fd01969aa1132b1413d738bc023fc6ea286b151dd8f8267278ad12","ssdeep":"","tlshash":"6ca0120074447c0116112c75c2260548f0511a0b50902401810596c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.172421Z","last_seen":"2026-07-27T07:00:44.980375Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"21af29eb4a2661cde1ec2e23d5bfacd6","sha1":"7d2873f1d5edec0591009cb7c58ac0a8583acbeb","sha256":"355b175012ceed0b8437fb62d9e30416e770998561d266f70691acd8f7022641","sha512":"421539d8e4b532816aa4e443242637ff1e64519e1131ca733adb76acb7defa95088078a829c848c79f3e0c98c5065c0179d868360023547dad53797f81cee06d","ssdeep":"","tlshash":"f1c0122f63c0433609d3a2c4128f2716420991093ed51dae985663b81c3a0476068d25","size":190,"data":"","first_seen":"2026-07-25T07:02:54.080469Z","last_seen":"2026-07-27T07:00:45.010434Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4f15bb2d5bb35eef8ed5691a49a89add","sha1":"93dc792cd6f66b017de508d1653d257572b336ef","sha256":"92e207c292ff65d3a04f6cb843c69816f6a1520ba0907168e313bfe2f983c80d","sha512":"cab6a3bfc63b8a7d457b211a2f223bb58cfc2385f4a6a33d7f48812b4747bf0a0d7abfe7979388ed3e467ea5c6d65c688f7ab189a7f3ce0abd21958f9c6f8b5d","ssdeep":"","tlshash":"e6d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080ec803a36581fe05c8d903d25","size":282,"data":"","first_seen":"2026-07-25T07:02:54.086465Z","last_seen":"2026-07-27T07:00:44.987202Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"644dc335ba482697b43192f5bde84d9c","sha1":"fca03ed806772ffcb1cbe9621bdf964719ef1569","sha256":"76e4392222a281443de945105b1deb3a14a6b53bb350ad127d42f13f5a81ee21","sha512":"8be06ff06adc228081ce796af04e081862bdd46ee0a4388d6f8a928c423eec8e167eb52e2a40ed444812fcc4fef2774349c253e0aea07ffbc1df69ec478869a3","ssdeep":"","tlshash":"6e7000083c082000a22238e0080b200a002300080000ae0000c008800c3220aa02a82b","size":22,"data":"","first_seen":"2026-07-25T07:02:54.150082Z","last_seen":"2026-07-27T07:00:44.995713Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"63a7a928200fbecbaab566892f269b4c","sha1":"c71a636656586ecbfe05e9a5cfd5dd020f6fef61","sha256":"364b13b094815ae8cd606830efaae5f3f5be1e799ec75ec3bb301e1e1444aac4","sha512":"4b94f4c7820ccfc5b0ad57c2b4e2b7aec3aa7ed0e2e7b35d2e1f19b60b070eb4deec3cb87b3169bf47077f0f1c7d5d880950e8cb0f07e3428d524a0489a01ca4","ssdeep":"","tlshash":"8fc08cca89c8da99a01060ce34d3e009a368a9283a83f908d11ed1c46a40ad8e4ad47f","size":158,"data":"","first_seen":"2026-07-25T07:02:54.118953Z","last_seen":"2026-07-27T07:00:44.947463Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"afb0fced528eaac5fe170b763cda5975","sha1":"8f0d85954d44c90a2fc59b8cc9297ea972774185","sha256":"9206ef16552ccd926e4421fe6ef369cbc40add64488b7e3d88350e3588a35c34","sha512":"67f6f6d5f810fc0fe5fe606415d86bc4efb11ca6df92a8d6b6d8280d1e4d731ea24b038f7525a6ac5084fac9f78f13d835e0679a1d0e3cba751465bafbcf4211","ssdeep":"","tlshash":"c71000000000000000000000c000000000000000000000000000000000300000000000","size":2,"data":"","first_seen":"2023-03-10T12:52:28Z","last_seen":"2026-08-11T11:45:31.150318Z","times_seen":786,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37051dbe85a36239dda2c2d0af9b328a","sha1":"7d1741c1823eedcb9f90cf15bcec255ce4270c98","sha256":"ad7fece7cc20e7af63da127ccd71979b14b7d02c60526deb52e1e985c4f92c76","sha512":"d6443268e97958dbba496787bfab4ae71709996624ece68f1f89b66a6ee7273997f95e2cbc5c78df367005531d51eb9cc1a9296bced3259271c76314f4e3b962","ssdeep":"","tlshash":"bfa0223c3c383002320a2c20088b82cae0202330f0880802c020cc8220fb20c830ae3b","size":71,"data":"","first_seen":"2026-07-25T07:02:54.078023Z","last_seen":"2026-07-27T07:00:44.984094Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f69a3704d7f533aa4245e6bf79aaf7f0","sha1":"11e5a704728320de77d28101f21079c644136b4c","sha256":"adb064ad7f04d21017f0801899a3867082ed16d71583c6cc7756f30beb9363ff","sha512":"d12fd361ad1905660b2bc871f8d172acac2972e2cb3c4930db744248f12624d3f6410618ed13d6b45e6881d90f82078db0e2178f55b8ae4b151994ecb9ebbcfb","ssdeep":"","tlshash":"27d09730e9010300b22c1ca230a1dfe700a0c4073e00e8268a698dec08f8202c056aec","size":243,"data":"","first_seen":"2026-07-25T07:02:54.142504Z","last_seen":"2026-07-27T07:00:44.9509Z","times_seen":518,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"83a77a8fa8101ab38a74167392abf2af","sha1":"ecad96d097ab2adb9729e0b0c5f8063e6445e4c7","sha256":"7e8c17ebc1c4489f3752972cf347c83e9eaf85dea4b84c375746377e5216d9d3","sha512":"f2250fb803e1cab98bdeabfe1cf415d3c7a2f3daf7d4d2e650196e709a5aff915427825b1f5e403dcefd704b290b091b69cb1fb437f6e5f69c7a1023a23f0c5a","ssdeep":"","tlshash":"c71000000000000c00000000000000000000000000000000000000000000000c000000","size":2,"data":"","first_seen":"2023-03-26T05:54:38Z","last_seen":"2026-08-11T06:24:15.298813Z","times_seen":8005,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/9df3b67b6061ea9e.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"c678a91c2c6476c2f4253bbb2f68861b","sha1":"69b7933df2474b5a89bafec3ed00c63e7a38fd6c","sha256":"ee32b6de09c560980545699191b3ba6ebd9847bba1e07b95f5a5ddf359bfc353","sha512":"f3ae2a1ace9a1a1c354782702e328db28abd4864d69e33e7e6e72cc82ce93e5142093752a6b82a5d21f62e953ed27f5101956c00407e5d2d9527eb36435d1584","ssdeep":"384:EjUDGGRCRvBrTfIVZ/X+0o3NkOG4+Z47auBSwTNGFJl:4vB/8Z/X+0o3KZzZ47auJG","tlshash":"dce2c7b572d5faa2139340f0c83f2017f2784c7521ac7460a7e4cc9b765888da6bafd9","size":33297,"data":"","first_seen":"2026-02-04T14:24:19.872146Z","last_seen":"2026-08-15T07:58:28.177003Z","times_seen":2316,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0a14387aa464f863985b6a6bef1d093","sha1":"51a4a9443e6f007f24b04c914d2721b2730ef3d4","sha256":"5d99f2d91f27190245664e4b3f6f485a27e025b4be90857bcafe11ad8e51111e","sha512":"8d05c11c4010e655a48e74dc053f3b5cac9072e3236bddb482312cc9a5c65db32ccb40274919820c6ace897bad2eeb88d4816605a149d1fa22561eb5a23edb61","ssdeep":"","tlshash":"1480000c3e082800000238a0000bc008c83200020800880000ce008c8c3b00e022282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.137523Z","last_seen":"2026-07-27T07:00:45.005979Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d94eb39b7c5996a928c1d97e2d336207","sha1":"63d8851850a208fd85df769e5ccadcc4474859fe","sha256":"ea73e902e70b18a2f35dd009e26fcf9c68771ff4060e21c60533c90291328a25","sha512":"36bcc6c512fff73197bfea984000d3f197ae09de13dbc39397c2812b3f5b9e8da2d6ebead97520615c83ac480fa2c07701fba86a4a659c3114b29b9c889dbb34","ssdeep":"","tlshash":"c7100000000000000000000000000000c0000c00000000000000000300000000000000","size":2,"data":"","first_seen":"2023-03-26T06:16:09Z","last_seen":"2026-08-05T06:50:42.932135Z","times_seen":1362,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b6a20c0d9da44983aefc2889595774b7","sha1":"a6b83289561646aee8a972f7631e8e92f56cda48","sha256":"2fdd1b9481f875ab3ee4f5d37d4f77142929c0cdf6ced65060f0aa2aed4984a5","sha512":"9baedb500c9f00af4ff8fb892caba990a86a6042c868841f50f6b10c277d8c0566f5ce7049164e86e2bccaa0a786567e18bfb5f3ca7845b5ac65123f207b110c","ssdeep":"","tlshash":"66c022cc7b2b0c088352d9ba107b0566d86ac92cd94c8761d811fb16b92a25a087bba9","size":194,"data":"","first_seen":"2026-07-25T07:02:54.124398Z","last_seen":"2026-07-27T07:00:44.980996Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"908d5ccda6d90aab1d372185818e11c6","sha1":"917ea62d00a3e75d9b87d9a831eb81c24db4441f","sha256":"c9a8ffb3a00f63b1c983f1445fccea9aa101fe4d579aa885f7b1d8ab8e488faa","sha512":"868bb8a092222b3a369569f020417d22a4567faf3da65a85a2fa6492b812e961407d92f563bd02ec1c190d70a200301a36c9575386d779d98659d38ea7ecf40e","ssdeep":"","tlshash":"4cb092c8abc2a0625441958a413eba59f3e4bdc22706247ae052ac1aa4a470e40bf25b","size":118,"data":"","first_seen":"2026-07-25T07:02:54.17899Z","last_seen":"2026-07-27T07:00:45.003717Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"79563e90630af3525dff01b6638b0886","sha1":"68d2ad23b5e1102797ff78d3d0d55d97ba75c268","sha256":"9e507a6dfbf98393bbf23d487af7f1c5b2e8ea0635e3f0cddeac3a9a090a3dbe","sha512":"c11c66b5e92dce18ce4e6c7c9d956d09afd5a734c046f8fe645653931de1db0ef639567724e65e48f05bd922a78fa1547c86996fd5de1a62573c4cc2f46d2300","ssdeep":"","tlshash":"c710000000000000000000000000000000003000300000000000000003000000000000","size":2,"data":"","first_seen":"2023-03-11T15:36:04Z","last_seen":"2026-07-27T07:00:45.007103Z","times_seen":970,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7121a3428492966c83430108c81b0128","sha1":"faa54a8131b597a6b972810794c8ac848b67b351","sha256":"6ece104aeb4ca53d9261705afb936cd0bebf554bd318f77613325b124a234c24","sha512":"8f54791b217786c95592d4411cc15e5cfdc7432d5db0617f60ce69a260cee1e7fd968b441bc4a2e40cdd6af24c25051881dc4b934bb3458a152b4503d52e13a1","ssdeep":"","tlshash":"c710000000000000000000000000000000000003000000000000000000000000300300","size":2,"data":"","first_seen":"2023-03-07T23:42:40Z","last_seen":"2026-07-27T07:00:45.015529Z","times_seen":2610,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"115b3cd49c739440787a505ab2ee1fa0","sha1":"3f1da71d9f392fd05f503b9c37140524df25c91b","sha256":"b36d3c52f42742303976f7fa86f396d248d2fe7b0f3b3e18c092577e621a0e0c","sha512":"78e25ce66f42fd5b77614cbad4c7ffc671997f0f317882289e9da969621935ea0110b6910e2b693a99736a7403f1e43f54c02d76485d8fd7fe72bda1265d4a6c","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c00000000300000000000000","size":2,"data":"","first_seen":"2023-03-10T22:24:54Z","last_seen":"2026-07-27T07:00:44.977418Z","times_seen":1876,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"97893f46e7e13ef37b4c2e0ac60d85ca","sha1":"9c93b4599fe3df75fb3326420f7805a0b572eb98","sha256":"e5b564a7a4059dccb9c20cd678603a6f30c5f3db3af9b421e7f87eb37b030337","sha512":"973fb08ee51bb939b314a5dca3d67e39b8d27d209f5328a9c6fc3e4d7a716b29098e81824ac0c15f9a9a98d070fe09176399f78f1828080c5d9142c9835453f4","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000000c00","size":2,"data":"","first_seen":"2023-10-13T15:09:37Z","last_seen":"2026-07-27T07:00:44.950253Z","times_seen":1984,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"16c0e822a412e900773f94265229b860","sha1":"3f7b94f3942f43c81bf6104a63328a04122f46ef","sha256":"b15fdefcf464539466ed442882025a3860330cb62ac4613d91e8a94448850155","sha512":"662eed3905e417a9d5d68d7a9aef8c7eb97df1e6c03ad095fe7bc3f29a7820cd4b4611afd58f3ac95a91b71d7c45daeebcddd1ed5092d85b6d678b40b7fbe88f","ssdeep":"","tlshash":"60a024005c0c45013713315144370c0750d11107f0f44d0f430dc05017305050744333","size":75,"data":"","first_seen":"2026-07-25T07:02:54.207231Z","last_seen":"2026-07-27T07:00:45.031352Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"382df8f48d5107dd2a96921030e79c0e","sha1":"19bd60f0b2ee5dd0d3ba977e9a464d03cf135682","sha256":"5893dbf7b9a7496a0d79489a22f335b0d20530e25f0b95656b206bf44d9bc139","sha512":"31f04d2c5e1759fe8774b17908257fc5e07199b54c7ff483008d92ee115393e249d0e8ae814a57758638a7ef3169a4a485812762f2efbc92be6cf307780f7741","ssdeep":"","tlshash":"f8b092191f6d822948a4760c66ab478ab8f8045299005c15b300648816a8e84009ae2a","size":109,"data":"","first_seen":"2026-07-25T07:02:54.150949Z","last_seen":"2026-07-27T07:00:44.960296Z","times_seen":512,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"89124fc63620d83761110bc7e1ba5df9","sha1":"7caa348e5a262dfbebc80293ec34cc3d7e03216b","sha256":"8e1dbf14ae83c99040ff15a1b7c612b72e5847b9d3ef4948fa2a29ddace9971d","sha512":"876865b27affb00d47d87210ce6c7e84373650fbd0a0917fd1fcf949a36b4c5b61c367ebe7aa5c96389499247ff223206dd14fdd197222c9dc22a8c8b19ced44","ssdeep":"","tlshash":"c71000000000000000000000000000000000c000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-07-27T07:00:44.985336Z","times_seen":582,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a7f8d6710421b13561d798da885286d4","sha1":"40bbf372af2386d0230d48c56680b364196e5238","sha256":"01233f22b0adbeec53c41f6c10babce298647c9c6c5c6ced4c143a2a88d18f4e","sha512":"86969e257ca8c46c346e574182d16d97936c58fac9d836ab3b8850d964753e8fd0b3a9f5b703cc23db2f982c8ca5b56f7b2a54ab7ce90178cd8c29a05724eb22","ssdeep":"","tlshash":"79f0e1c9b392146536ec934ebddf4d613cb16158413c512da7a066f104a06d5a8edf53","size":585,"data":"","first_seen":"2026-07-25T07:02:54.206377Z","last_seen":"2026-07-27T07:00:45.013199Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"39d2592bac0eccdff1e94886f4472629","sha1":"35d3462c7a93c0264610efd6ac970e5d47ca7792","sha256":"24677b8b077f1fc6144a4e59498483aa30800bd1ba610a984f65b357cb198479","sha512":"5c9b66a1781728f08b8b4f9493c68ed5af9382c90f72cc5869f2a07f1837e50ffa4719273c1445bc025454171a535cf621e8f29a6630c32f07843708331409f2","ssdeep":"","tlshash":"88b012247c08fc22ab212c7841120d197120c04354a784d7d02ce3c00339186300b593","size":98,"data":"","first_seen":"2026-07-25T07:02:54.143979Z","last_seen":"2026-07-27T07:00:45.023552Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6e6b4e7c1a45993ae64f9aaa4672f019","sha1":"81ed544bb4656d12c73eff1d5fe3911a080f8c51","sha256":"4da86e48d9b22ffccb648bc40fa2df935429b12e5903bdeb308b218615df64b6","sha512":"5b788fd445160f1aa102912f67fc8b92f90f2f78e16690e093896b972e1a73c2ee56f3fa14c6c7261cb3aeccedcf2433d7cc65db8d881b09554b01640d3a9faf","ssdeep":"","tlshash":"158000883e08aa0c000238a0000bc008c83202022a02880000c820800c3a00e030282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.185612Z","last_seen":"2026-07-27T07:00:45.021194Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"93dddbbea2419c0820cae293f64a56a7","sha1":"fec37c7f501f1834dcfed04edd754ab32b0661a9","sha256":"ca0f37dbe01b74a05d3b263e0f9b36a99e44350031baabb6c14c7d2d0f869d83","sha512":"e3f524dc1b1210369142abc7c52aca7bebb9edfdfb9237ebb03aae85d1a1403d2884e0062a7fae21d29207f237868efc1295460052c4ebc7860958d0102f88a5","ssdeep":"","tlshash":"0f9002c53c4456153662ac61402e44059165860e24a294829916e2940732b99850242b","size":57,"data":"","first_seen":"2026-07-25T07:02:54.19501Z","last_seen":"2026-07-27T07:00:45.013735Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61e9c06ea9a85a5088a499df6458d276","sha1":"e2415cb7f63df0c9de23362326ad3c37a9adfc96","sha256":"fcb5f40df9be6bae66c1d77a6c15968866a9e6cbd7314ca432b019d17392f6f4","sha512":"61037724a2fb00a12fa8a53ada233f54ff7fc6ee02048e579b83a127ce79fc03906c35b5307beb18a3cf5021fe031ae6587448d4d60a082d73252fe2e2f4ae7f","ssdeep":"","tlshash":"c700000000000000c00000300000000000c00000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-13T06:59:10.874765Z","times_seen":79949,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"afb0fced528eaac5fe170b763cda5975","sha1":"8f0d85954d44c90a2fc59b8cc9297ea972774185","sha256":"9206ef16552ccd926e4421fe6ef369cbc40add64488b7e3d88350e3588a35c34","sha512":"67f6f6d5f810fc0fe5fe606415d86bc4efb11ca6df92a8d6b6d8280d1e4d731ea24b038f7525a6ac5084fac9f78f13d835e0679a1d0e3cba751465bafbcf4211","ssdeep":"","tlshash":"c71000000000000000000000c000000000000000000000000000000000300000000000","size":2,"data":"","first_seen":"2023-03-10T12:52:28Z","last_seen":"2026-08-11T11:45:31.150318Z","times_seen":786,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"11721f4fe0fa20af0333c7eda891ca0f","sha1":"372c3c93f86eb46b9afffaebbf49c82cf42fa466","sha256":"ef2a3319810f3ae9cd5948f3229bc195d7b1558846487473b21a842f9d1b503b","sha512":"0f12b9a1099d5be03aa05cb2c7fda09fcd3d47094ee1973d5beb44d6651729d7c7d719af6b57981f3a39f9024ee36e549167a21724929930e62271547ec0e3c0","ssdeep":"","tlshash":"c7100000000c00c0000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-29T06:54:58.778431Z","times_seen":3057,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b2c033e81e5f5f3d63beba88712ff6ad","sha1":"98f27a412fcc1ba29098c5d60e0577a19d2d2db9","sha256":"bea6c2d06c730cbcc0383d0be45269737019dbd4e40dab4c786861a9c82baa8f","sha512":"6fd35b35256ea2ee673f840880503a5102921fdeafea46e81d91e200506905861eabf9dc5a7640bb37d0645e5a68febbd3a4d15c26db7ed405794c8865f0632c","ssdeep":"","tlshash":"84d0a7049119108386346d5bc282dfafe59184433e01d81b299c49ec16fc957e5b98a5","size":240,"data":"","first_seen":"2026-07-25T07:02:54.154377Z","last_seen":"2026-07-27T07:00:44.963638Z","times_seen":519,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d224d956791813697309740c0fbcd15e","sha1":"2418655004b5f0f64a6e4075cb8ac4b53444421d","sha256":"48c035187614ea92c5bf66cec55cf8a9a0a30eaabd1bfd51234d0d5e44c93d65","sha512":"c1005f866f7b788b9fd04d3374ef4405bbadde272bf42c4bd0f8cf942bf1e9f6ebd13d50284f2eb5da4e5fd783c16dd4ef54f7e24e8eaf62496d2e744ffe13eb","ssdeep":"","tlshash":"ea8000083e08ae00800238a0280bc008c832003a0c20880000c800a80cbe02e020282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.182324Z","last_seen":"2026-07-27T07:00:45.02827Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d224d956791813697309740c0fbcd15e","sha1":"2418655004b5f0f64a6e4075cb8ac4b53444421d","sha256":"48c035187614ea92c5bf66cec55cf8a9a0a30eaabd1bfd51234d0d5e44c93d65","sha512":"c1005f866f7b788b9fd04d3374ef4405bbadde272bf42c4bd0f8cf942bf1e9f6ebd13d50284f2eb5da4e5fd783c16dd4ef54f7e24e8eaf62496d2e744ffe13eb","ssdeep":"","tlshash":"ea8000083e08ae00800238a0280bc008c832003a0c20880000c800a80cbe02e020282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.182324Z","last_seen":"2026-07-27T07:00:45.02827Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"92eb5ffee6ae2fec3ad71c777531578f","sha1":"e9d71f5ee7c92d6dc9e92ffdad17b8bd49418f98","sha256":"3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d","sha512":"5267768822ee624d48fce15ec5ca79cbd602cb7f4c2157a516556991f22ef8c7b5ef7b18d1ff41c59370efb0858651d44a936c11b7b144c48fe04df3c6a3e8da","ssdeep":"","tlshash":"c700000000000003c00000300000000000000000000000000003000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-08-14T12:42:56.686986Z","times_seen":81684,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"85667210a9ca3aaa44be54eb3274f280","sha1":"f69565032aaeb8d28ca4ca0daea8784dc01baf70","sha256":"0ba3ef12c7fadaef9ac42ea9cd42db694e3a5d2f64c6d21c2690ec7649bdad85","sha512":"e04c814490d64e8424e9cd097247cc4ce5ef616c21619b8b6f35b81cc47ac3f4504d94e7ec0a8bc45c8d5fd0deea6427a7c1c5d34c0841b6ec1d9e0b785c0570","ssdeep":"","tlshash":"23a0120074447c0116112c75c2260544b0511a0b50902401810996c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.208693Z","last_seen":"2026-07-27T07:00:44.969132Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"da3f5f8741b5de980662d730df73f871","sha1":"896f82c86f77ec8f6696a162f44345d84f4b302e","sha256":"da48bc39846fb2dfb11eac0208ab64b9f8b2f12fc89e9832b61d63d68935138b","sha512":"4c5197263ad82b11b501108b4da2d7f9ed721fff7146f15e294451be9611cbce7e079ec7a8204d358379003f85061b186fa8f851e271c05119b44ce405066b04","ssdeep":"","tlshash":"84a022203e20ee02b3232ace023b2c08f2088002c0000c0fc03ef3c00330bc223028fa","size":78,"data":"","first_seen":"2026-07-25T07:02:54.111523Z","last_seen":"2026-07-27T07:00:45.009896Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d61f8370cad1d412f80b84d143e1257","sha1":"32096c2e0eff33d844ee6d675407ace18289357d","sha256":"6b23c0d5f35d1b11f9b683f0b0a617355deb11277d91ae091d399c655b87940d","sha512":"3d637ae63d59522dd3cb1b81c1ad67e56d46185b0971e0bc7dd2d8ad3b26090acb634c252fc6a63b3766934314ea1a6e59fa0c8c2bc027a7b6a460b291cd4dfb","ssdeep":"","tlshash":"c700000000000000c000003300000000000000000000000000000000c0000000000000","size":1,"data":"","first_seen":"2023-03-07T12:12:28Z","last_seen":"2026-08-15T16:56:37.726009Z","times_seen":76333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9e6f21901550fc1605fc3b7bb6220df5","sha1":"2c9aa881509ef9f0bdc5a0e496b852467b52bd1a","sha256":"d68cf2832956cf0a7b5ce50801e57f1a4aa9c959d170ef458bc12ee7a8e26f5f","sha512":"fe48c482cef77538444ec38384fc51fd461c90e228bcc2be17c1558ea1937e26eee63a2ea7fd01969aa1132b1413d738bc023fc6ea286b151dd8f8267278ad12","ssdeep":"","tlshash":"6ca0120074447c0116112c75c2260548f0511a0b50902401810596c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.172421Z","last_seen":"2026-07-27T07:00:44.980375Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"316d406bec14ed278d88b29656ec9700","sha1":"bd547102264254e2beef20bde9dbb4a76930c603","sha256":"c20bceec8e69ac1e4c2e4e22bd2c3676487f19b8676151449558633b99b47e86","sha512":"46f1ff723d384eba48d0384e861d729824711cc28520de2cb5defc92c4db58aeff67b8349ad7d2d75368507cad41580169a73a544a2fd0364b326442be72360e","ssdeep":"","tlshash":"42c08c1814a2983a3224acc3b08f910234c528110104406483ad8031b73044aad380a9","size":145,"data":"","first_seen":"2026-07-25T07:02:54.099906Z","last_seen":"2026-07-27T07:00:44.979724Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/c0a6ae515f4d245d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"42e2ea745a52c479ce79b9fadf7f2ed9","sha1":"0cf08999016475d70bf072b7878daea0244184e3","sha256":"2746264358bea944d3523f9c66585147897903d73b7b42e0bfd599f2492e3315","sha512":"cf4f42621c9615fcfc08b325ce391ff9e3af8b94fe80c1e4118eb1e52ca88e0b0409d0c36bc96f50a26ac3ea232630521e1a8077e10d05438f3b7fb8ebc266a9","ssdeep":"","tlshash":"af7165f0a702b23409ea41de5079c778b53d3658512e9420d1badc7f626cd8964b2ef3","size":3649,"data":"","first_seen":"2026-06-13T02:21:16.197988Z","last_seen":"2026-08-15T07:58:28.173902Z","times_seen":1916,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4911410e5153f0d7.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"e09a94d1ed13e73c8c05e86ecc9b73b5","sha1":"5d3e0e86e66f40d854564417d18b9a8cfb50938f","sha256":"bdeee3ad5435b26f62f6a8ce700f78618b18b355f3d3cd21ec3949a59777eaf5","sha512":"7d4e4220b8c82da8621e7f0ae1bfdb323ed094215712b54bfd28ed06e06e0aa9aded8bc0f07eb71ea08e821f75d433c38522d2054e9756e34814622cf8957899","ssdeep":"3072:LZhLWlPznn2U1BR0Bef8xgVrkRMKTopmN6Cstv9it+QK:LZhLWxznn2U1sWK04xstv9it+QK","tlshash":"66240be83995f6626ab302a710af1803733c252b280d4d60a711fdddb57845eb17bf9e","size":224417,"data":"","first_seen":"2026-02-04T14:24:19.892015Z","last_seen":"2026-08-15T07:58:28.193905Z","times_seen":2080,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","size":442344,"data":"","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"53f90a23c820f4d35aad5e1fc69c3631","sha1":"adfd381939291c573a7f091f1a486b30a9598190","sha256":"c43f747e9a95c0f6b4b687850f9ddb61fc6791213cfa3bf2c08f7358c1fc93c7","sha512":"757f13afbfba4457e7c08c0ed2cc31146c8174b5b9c42a6e86d3703078d5819a577f061397bdb28f87ddd8f3dfabb09be6cc1623d83644ba6e2d1df26c15e18b","ssdeep":"","tlshash":"f1a0220c288f2032b202bc2280323c08a32f2003e8a0ec0e0028c2c20b30a8e020303f","size":72,"data":"","first_seen":"2026-07-25T07:02:54.130379Z","last_seen":"2026-07-27T07:00:45.010981Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f465da03521180d47c811a98c793a2d6","sha1":"9b76105ff4c8bb84cd630914d772f4cc73df0155","sha256":"e8183224e440eb4578fd87c4c47735f9ede4c43b1c6ebbdcd7033e98aba6a009","sha512":"b10685b1bf88080c98cfa2493e4c1734797a6ee17e9d59ddd7cbd685a9596d4c908ac2a12be9ea2aed3f6ac67ced98f3c6e76b1882f6c0731d1dd60ae5de4156","ssdeep":"","tlshash":"7450000000303000c0c300000030300003000000c00000000300c0000c0000c0000000","size":9,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.655718Z","times_seen":188030,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"36acf0bd0461e808bc4e058ded63942f","sha1":"e3876c5410c7fbb0e5221f331cf1a22874ee7bcf","sha256":"97fdd264bdac0ca10944562c61872930a07f0001050d2cecadaae2064135b1d8","sha512":"ce3e1d743d0683d8708431d67381b55c7ca67ef5b9f74f16bab2c0c75d73934485d211a06471bbf92f47b11505dcc6521872478d8e5888f489ce9ba961408b83","ssdeep":"","tlshash":"63e0f13d3c35406057a200b4c1b7f1283d2b30740045c94794d68cbd5cf0fce7d05884","size":416,"data":"","first_seen":"2026-07-27T04:14:45.080805Z","last_seen":"2026-08-04T06:09:44.084542Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0cb2ca5238ca9b85cbde05a0c6a96a2d","sha1":"e7a5d39e6f8c5139be41d138aeb818c7b5c789ba","sha256":"65cdc6799de01f75bae65d4915b26836b836cc17ab7614020fa97a1d96992d6e","sha512":"c76c6a2b76b731648ebe5b1ed2a0f02a6b803cd96721d39dd9022ea67cfc21c068cff19624d10f4fea8058e486b4138084c49a0d85113008a8f828be99dc79f8","ssdeep":"","tlshash":"c710000000000300000000000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-10T12:37:25Z","last_seen":"2026-07-27T07:00:45.007697Z","times_seen":6767,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3943450e225c6a2fdea1effade0ebd89","sha1":"56469df750b12b2c1ed5849865f5ede8381f153e","sha256":"ea43a462245af07a2916cdf93717d019f698edf00b308541c18dbc4983efc01c","sha512":"853b34dfcfbeb6d4c932a655b3487a87a75bfb08c079e7422078d4e2ec1c151513adaa5414c3ae267e19e2161852123fef5136402b378595e19b0139bfb0bf17","ssdeep":"","tlshash":"2ec08c090b0dd3a6038a6a94610a43aba15184ca7e611c28ab40e0c2e68e5054066a1e","size":149,"data":"","first_seen":"2026-07-25T07:02:54.138561Z","last_seen":"2026-07-27T07:00:45.01263Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7121a3428492966c83430108c81b0128","sha1":"faa54a8131b597a6b972810794c8ac848b67b351","sha256":"6ece104aeb4ca53d9261705afb936cd0bebf554bd318f77613325b124a234c24","sha512":"8f54791b217786c95592d4411cc15e5cfdc7432d5db0617f60ce69a260cee1e7fd968b441bc4a2e40cdd6af24c25051881dc4b934bb3458a152b4503d52e13a1","ssdeep":"","tlshash":"c710000000000000000000000000000000000003000000000000000000000000300300","size":2,"data":"","first_seen":"2023-03-07T23:42:40Z","last_seen":"2026-07-27T07:00:45.015529Z","times_seen":2610,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bd0bcbfeaf7651b34de78f94db256e9a","sha1":"d5d4133262a2d4536708007fd3d58db921c73a6b","sha256":"7c4c4985dc2c7739b2b78d4608b572981a8394702ca5cef9773fe555ff0eafd3","sha512":"4d4b6a8f7b6d27a5d6e269d4b9a804986a2fdddd08cc47ed5cb726e993749117dafe9300281cf36c5065dd89063cd7c09e39e2851bb7626184be44b33d3237a8","ssdeep":"","tlshash":"faa022203e00ee02a32328cc023b2c08f20a8002c0000c8fc03ef3c00330bc023028fa","size":77,"data":"","first_seen":"2026-07-25T07:02:54.183264Z","last_seen":"2026-07-27T07:00:44.972095Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6e6b4e7c1a45993ae64f9aaa4672f019","sha1":"81ed544bb4656d12c73eff1d5fe3911a080f8c51","sha256":"4da86e48d9b22ffccb648bc40fa2df935429b12e5903bdeb308b218615df64b6","sha512":"5b788fd445160f1aa102912f67fc8b92f90f2f78e16690e093896b972e1a73c2ee56f3fa14c6c7261cb3aeccedcf2433d7cc65db8d881b09554b01640d3a9faf","ssdeep":"","tlshash":"158000883e08aa0c000238a0000bc008c83202022a02880000c820800c3a00e030282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.185612Z","last_seen":"2026-07-27T07:00:45.021194Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7bfa335530acd41b8967a37e1c3e076c","sha1":"bdd8d14050dd0955829601ee023b1d449a9dd9b6","sha256":"ef226bb136cc66226cb2c478dc58478eb1fde25b90960098b4b48eaa64465b23","sha512":"feeca3580d39cf46c2d2f6719da557fdafd0278ce21b7e2710aefe013293c853c0ddafc3045baa1fc2ccc483191b5d89d47cedb49a52e3c55012e4718affa3ed","ssdeep":"","tlshash":"97c02bc49d5110548141e0bda13e215a30cab1031c200e10d730c2eb7c357d4100f74f","size":138,"data":"","first_seen":"2026-07-25T07:02:54.178036Z","last_seen":"2026-07-27T07:00:45.027665Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9818af84da6f96579e99ed315f69e0c5","sha1":"7ecf16ebb75bea5bc8309fbecd3e3df799ab4371","sha256":"dfa3bde638cb08d781f46d978f471fe535a642cb24d408bcc486a67c819cc4e4","sha512":"1a5cf2ca1f7c50defc0af583f15e3d2b0e392e8886d39ce5b6d213ee8e01ee3c1131a901b393f05cb8c9ea412fc2598cdbf33dd895e2d284fb9c7dc6ca080aa1","ssdeep":"","tlshash":"c71000000000000000000c000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-26T11:55:44Z","last_seen":"2026-07-30T09:57:35.066151Z","times_seen":2165,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7fc56270e7a70fa81a5935b72eacbe29","sha1":"6dcd4ce23d88e2ee9568ba546c007c63d9131c1b","sha256":"559aead08264d5795d3909718cdd05abd49572e84fe55590eef31a88a08fdffd","sha512":"21b4f4bd9e64ed355c3eb676a28ebedaf6d8f17bdc365995b319097153044080516bd083bfcce66121a3072646994c8430cc382b8dc543e84880183bf856cff5","ssdeep":"","tlshash":"c700000030000c00c0000030000000000000c000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:06Z","last_seen":"2026-08-15T16:48:43.492586Z","times_seen":74764,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"834dec29a06aa1149f778035ffade82d","sha1":"cc71686d432a1236d2cab595573ea9498de75463","sha256":"4f36b2c33e2478b4d3ba77a2d6ee222f79ddda0c54ed27e41f3fe2cd7a62d318","sha512":"48c414ee31ecc55c83cb5b925daaaba737aca1cf332cc37dec593c919fcf0175118fefd24df9e42662593abe95e078e5c9a09ac2502aefc496e0df715b6d590a","ssdeep":"","tlshash":"26d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080e8803a36580fe05c8d903d25","size":280,"data":"","first_seen":"2026-07-25T07:02:54.194101Z","last_seen":"2026-07-27T07:00:45.017282Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"df4ecf2995d9a4760b6fe2b232d66a91","sha1":"21dfc49632cd521980c8fd611315a62037b83142","sha256":"1d0ddd4ea3351d60237f5374532c094863db8fee5d00fdbb477612c30630d16e","sha512":"3f1e696cd9e7f7b05b35195d7967fa6fe8332b9e921ed3077b855283e083ddb38d878f6509353e11b40c8e9f2e2799dd820e790ec46ebe93a9da31576028c336","ssdeep":"","tlshash":"9ee07d68664571642f929e46868eba88d68a404dc071c9022629d0c00c745e4903de81","size":305,"data":"","first_seen":"2026-07-25T07:02:54.190462Z","last_seen":"2026-07-27T07:00:45.022381Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/js/theme-vendors.min.js","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"4f19fe2a2c86f0be3d98e7a92f40cfd6","sha1":"e199cd6aecf31b2073b3e3adff11e7ebaa7ed347","sha256":"677a01b226425fb659191e9b761fac0ff04f158f75fda37f4d500117c8fba479","sha512":"dac2062880b85a24a29e60b9e8bd338e900e23e7cc1f8b91ca56a84313eee998fea86610cf138ccb8021dba58cf50731233f16c6275884ab1f71c87c43ea879f","ssdeep":"6144:l9/KvjOVlFYQ168iWIHf5CL7ji2doxKRRtYHAsUgeAq5qOsJMWSfJP4NnCnxUluf:l92jOTFYs6S/VgHpMWSf6cxUluvag","tlshash":"52e4184d7240756242dba2a6503f160bb337645da506806cb57dccee6ebcd4822bbfbc","size":661702,"data":"","first_seen":"2023-03-07T12:05:13Z","last_seen":"2026-08-04T06:09:43.99743Z","times_seen":61,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c97f06046b55e8dae6a537ed7ae34fef","sha1":"84149880d516a37ca62c27e982f46d830b79caa8","sha256":"131b8b1c3193add0da6e1bc7b54e66e599b02037f372eb68ae1086fe443811f4","sha512":"8cd93216b1b29a3b9551a054b4c950e750d68749d9f6a2c8d7ddec13ec6894949d80c67cd339cd50916de026e15fc81727f9725ae127a9d6604b5989a711fa8f","ssdeep":"","tlshash":"6ef0dc0d48fd83769ac44dc290d33c0ccb0806071cc2610f7a49fb7032632b78497e64","size":485,"data":"","first_seen":"2026-07-25T07:02:54.134293Z","last_seen":"2026-07-27T07:00:44.955206Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"39d2592bac0eccdff1e94886f4472629","sha1":"35d3462c7a93c0264610efd6ac970e5d47ca7792","sha256":"24677b8b077f1fc6144a4e59498483aa30800bd1ba610a984f65b357cb198479","sha512":"5c9b66a1781728f08b8b4f9493c68ed5af9382c90f72cc5869f2a07f1837e50ffa4719273c1445bc025454171a535cf621e8f29a6630c32f07843708331409f2","ssdeep":"","tlshash":"88b012247c08fc22ab212c7841120d197120c04354a784d7d02ce3c00339186300b593","size":98,"data":"","first_seen":"2026-07-25T07:02:54.143979Z","last_seen":"2026-07-27T07:00:45.023552Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"79563e90630af3525dff01b6638b0886","sha1":"68d2ad23b5e1102797ff78d3d0d55d97ba75c268","sha256":"9e507a6dfbf98393bbf23d487af7f1c5b2e8ea0635e3f0cddeac3a9a090a3dbe","sha512":"c11c66b5e92dce18ce4e6c7c9d956d09afd5a734c046f8fe645653931de1db0ef639567724e65e48f05bd922a78fa1547c86996fd5de1a62573c4cc2f46d2300","ssdeep":"","tlshash":"c710000000000000000000000000000000003000300000000000000003000000000000","size":2,"data":"","first_seen":"2023-03-11T15:36:04Z","last_seen":"2026-07-27T07:00:45.007103Z","times_seen":970,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"96d66a4d9708fdb6dd5597f3bbc7d624","sha1":"e10a66fa8a836f6f948941262b70e1fc928a446e","sha256":"3cabac574ada654802fc1c4518d870f0791a9a3ac31371677e75fb683e47ce89","sha512":"06c25bc4dba52367cbe19252c1a013e1714a198141d139939944422266aaaed60ea3953c5d0f890a7f9ce7887c5f2a4cbb47173d06f829d50ac33f6f353c015d","ssdeep":"","tlshash":"ebd023cb729c1114574337141eef0448bc64b4d70dbc941d8649581058011ede03aecf","size":195,"data":"","first_seen":"2023-03-08T14:47:45Z","last_seen":"2026-08-15T16:42:31.692107Z","times_seen":210453,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0a14387aa464f863985b6a6bef1d093","sha1":"51a4a9443e6f007f24b04c914d2721b2730ef3d4","sha256":"5d99f2d91f27190245664e4b3f6f485a27e025b4be90857bcafe11ad8e51111e","sha512":"8d05c11c4010e655a48e74dc053f3b5cac9072e3236bddb482312cc9a5c65db32ccb40274919820c6ace897bad2eeb88d4816605a149d1fa22561eb5a23edb61","ssdeep":"","tlshash":"1480000c3e082800000238a0000bc008c83200020800880000ce008c8c3b00e022282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.137523Z","last_seen":"2026-07-27T07:00:45.005979Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"053fbccf1e17390f7a9adc3521ed7696","sha1":"e3d25d9c529549b5e8c066fe1e3390a03cff30a3","sha256":"5bebf4b6615a6aa6aea024a979423e3c35ed65dca89cec752afe3c5fa0262789","sha512":"8df25f0190b67780e3fe3549184050dd91e162ba06815e92e63f89fe1f07f1259f9ee294a4efde8b498c4c99dd2300947201d7859c913c85021d7b84107588cf","ssdeep":"","tlshash":"8890028430426c102202d0612a9a69b6d175448020199164f05510443921059505bd0c","size":49,"data":"","first_seen":"2026-07-25T07:02:54.198206Z","last_seen":"2026-07-27T07:00:45.002562Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bfb05b64541b797fbc56b1ceab0d0707","sha1":"ff5eea3714de9fa65254f3722ee63ff9718b4cd8","sha256":"9a3032ec6f3b482ef8f786196f5fec31ee55139f79eec40f1ef9e5d487f68c37","sha512":"ef42e661cb08389b03f24f5e884fc11c24a95d58110d3bd963a916d449cc80e06554ef4863d18aa0b14c12c0004f03f3b244442f4adcc9cd895ea236dd283ff7","ssdeep":"","tlshash":"687000083c282000a22238e0080b2008002308080080a80000c000820c3200e203280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.15521Z","last_seen":"2026-07-27T07:00:44.976836Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2cc43ad532377e05783b919d86a896d9","sha1":"69e00bdb15ac21186c8d27764e6311759ba5b99b","sha256":"007cd5f5a967155b6963ac5de46c369ee23237414c3f576b4197fe46229808ce","sha512":"404182f4b51a22a4a35e58480d372a65db2465803ca23913e379199413edf84fa74dcf0f92026d8561dcc35bdff981cb98a38c8f50ae05f7224e5c7b42b30c92","ssdeep":"","tlshash":"2cd022c93c4978d20279238888ba01f7e2fbb8dc78068b40c32442002a3ca3a5464402","size":199,"data":"","first_seen":"2024-10-31T11:08:50.83142Z","last_seen":"2026-08-15T16:42:31.59256Z","times_seen":158940,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"51792c67c588ce8139b246f015ed8a85","sha1":"d3148f014e0f4790ff65a8004585d17ed319833f","sha256":"6f70d853ba1dee4fc189490cfe4b6b1ab59f5853344cd85576bd2a4af2b506fe","sha512":"963ef7a25d5437d1a045dedfe34afbab41db4c620e4378606ca3b7b0c4219e51fda11b9b0e0b761093eda33aeac0e532a27b3f1a1ee110c13ba1433cdb28c067","ssdeep":"","tlshash":"cb60003f03000003300003ff0c0cf30030fc0c0c000c033c0c003330000300000c0000","size":15,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-08-15T16:42:31.636197Z","times_seen":179118,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7694f4a66316e53c8cdd9d9954bd611d","sha1":"22ea1c649c82946aa6e479e1ffd321e4a318b1b0","sha256":"8e35c2cd3bf6641bdb0e2050b76932cbb2e6034a0ddacc1d9bea82a6ba57f7cf","sha512":"2e96772232487fb3a058d58f2c310023e07e4017c94d56cc5fae4b54b44605f42a75b0b1f358991f8c6cbe9b68b64e5b2a09d0ad23fcac07ee9a9198a745e1d5","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-08-13T14:31:24.915666Z","times_seen":57139,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"85667210a9ca3aaa44be54eb3274f280","sha1":"f69565032aaeb8d28ca4ca0daea8784dc01baf70","sha256":"0ba3ef12c7fadaef9ac42ea9cd42db694e3a5d2f64c6d21c2690ec7649bdad85","sha512":"e04c814490d64e8424e9cd097247cc4ce5ef616c21619b8b6f35b81cc47ac3f4504d94e7ec0a8bc45c8d5fd0deea6427a7c1c5d34c0841b6ec1d9e0b785c0570","ssdeep":"","tlshash":"23a0120074447c0116112c75c2260544b0511a0b50902401810996c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.208693Z","last_seen":"2026-07-27T07:00:44.969132Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac74e3f51cb94709e1948a70433bdfc5","sha1":"76d121cd4e0c881523d60b8dafc1b3589ae5b2b9","sha256":"a217633e7706a1bd9a42b4bd78d98f44f81e614d34e42aa97562232e0a0ad14e","sha512":"d002a88da3d454e2fac7bdbe5704290b8c7c6d1eb2375744991a1514e9fe83cfe43438c67667d42aa12f2de01cada231171ec95288d671df022d4a7f4d1eb06d","ssdeep":"","tlshash":"2990028430426c102202e0612a9a69b6d175448020199164f0951044392545d505bd0c","size":51,"data":"","first_seen":"2026-07-25T07:02:54.16226Z","last_seen":"2026-07-27T07:00:44.974362Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"673a875cd33f946c7fb234078db0d89f","sha1":"f1cecf9e970522a619b72e66a124dbf89737b06f","sha256":"e4d6fedd18866f7aa5469a8b90a348fec071f4b82598152a7aac6419edc3ac3b","sha512":"da7502389b64be9c9f1ce98b8976e58b6f1e897b5afd9af08fba27f6d70d01021e08f621eec1d589e2ffe0bd67e8610fd8936fb35623d28eb443631414c11e87","ssdeep":"","tlshash":"c71000c000000003000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-27T07:00:44.975594Z","times_seen":2378,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"952ddc5ca686660c54f7b74840982b4b","sha1":"fe05b5837e28143d2981f9a67a56e565a7982be7","sha256":"9baacdd193c5a18c5a01ecf248bf7a316f7927c345ee3ec94fdce802d458718e","sha512":"a652cf3cc48705bc2b0fcbb449a0a61fcf31f30ad0feab7697a10c6c0e6485353c815048a9570763d74cddcb857fe49973ced6de10bc5f8239c7671fbe1881e0","ssdeep":"","tlshash":"d5c02b08746220f04e43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":139,"data":"","first_seen":"2026-07-25T07:02:54.186501Z","last_seen":"2026-07-27T07:00:44.972651Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"49342302f3a1bf591d537268aaa3db97","sha1":"1e27d4dce5d9e78a557d902e2f9255d8f1d567e4","sha256":"217a194b2b1e9e205f2ce02d68f3d346218cf59e0ffb48dfa0f2331ed11232c4","sha512":"4214bf7801e5a15a9af9e231ca3cdb1bd8a05eb81f603da3351e3def46477af2f9a3543cd8f1cc0e19df81303618c01c3b4bd820b4f45d8be5c11a1e0f0e067f","ssdeep":"","tlshash":"59a0120074447c0116112c75c2260584b0511a0b50902401810596c002705895113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.160135Z","last_seen":"2026-07-27T07:00:44.942852Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bfb05b64541b797fbc56b1ceab0d0707","sha1":"ff5eea3714de9fa65254f3722ee63ff9718b4cd8","sha256":"9a3032ec6f3b482ef8f786196f5fec31ee55139f79eec40f1ef9e5d487f68c37","sha512":"ef42e661cb08389b03f24f5e884fc11c24a95d58110d3bd963a916d449cc80e06554ef4863d18aa0b14c12c0004f03f3b244442f4adcc9cd895ea236dd283ff7","ssdeep":"","tlshash":"687000083c282000a22238e0080b2008002308080080a80000c000820c3200e203280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.15521Z","last_seen":"2026-07-27T07:00:44.976836Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"207c220e7119b0530724dc731f2361b4","sha1":"7aa18fcb217183a72060d380ee0150133518dee3","sha256":"645011bcb7ff4bb41b4ecb04213d43dbbf54fef13631581a2a59f7c167aa18fa","sha512":"9c0f5f4d4d2cba1b9b96427bc6a014a81fa6fc98815e7fc6370ef28c0b65d196a6d55fc7d9ccb9125455f8eab715e16847eec069e146de094aefb9e753f21fa3","ssdeep":"","tlshash":"80c022c87b2b0c088352d9ba107b0526d86ac928d94c8760d811fb16a92a25a087bb99","size":192,"data":"","first_seen":"2026-07-25T07:02:54.165992Z","last_seen":"2026-07-27T07:00:44.965913Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bd0bcbfeaf7651b34de78f94db256e9a","sha1":"d5d4133262a2d4536708007fd3d58db921c73a6b","sha256":"7c4c4985dc2c7739b2b78d4608b572981a8394702ca5cef9773fe555ff0eafd3","sha512":"4d4b6a8f7b6d27a5d6e269d4b9a804986a2fdddd08cc47ed5cb726e993749117dafe9300281cf36c5065dd89063cd7c09e39e2851bb7626184be44b33d3237a8","ssdeep":"","tlshash":"faa022203e00ee02a32328cc023b2c08f20a8002c0000c8fc03ef3c00330bc023028fa","size":77,"data":"","first_seen":"2026-07-25T07:02:54.183264Z","last_seen":"2026-07-27T07:00:44.972095Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f58a7d86186e19db84e783bc06177a55","sha1":"8002a6aa19ad59d43ccc8b32ff7c6d561f9e1259","sha256":"41cd1e4850b992f8c433a1a085a6585a8e79ff96413f11e360a6743babd8cb93","sha512":"be81de332fa854c02257328706e95326c7aac28318d95e5f910a68f7b74bda38161de6fe6040a2d41ede8941285d69e4e4b22554f2fe5f6a1bd2473a4b4dd366","ssdeep":"","tlshash":"42e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c412a2ced569cf19","size":350,"data":"","first_seen":"2026-07-25T07:02:54.088205Z","last_seen":"2026-07-27T07:00:45.029481Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4f15bb2d5bb35eef8ed5691a49a89add","sha1":"93dc792cd6f66b017de508d1653d257572b336ef","sha256":"92e207c292ff65d3a04f6cb843c69816f6a1520ba0907168e313bfe2f983c80d","sha512":"cab6a3bfc63b8a7d457b211a2f223bb58cfc2385f4a6a33d7f48812b4747bf0a0d7abfe7979388ed3e467ea5c6d65c688f7ab189a7f3ce0abd21958f9c6f8b5d","ssdeep":"","tlshash":"e6d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080ec803a36581fe05c8d903d25","size":282,"data":"","first_seen":"2026-07-25T07:02:54.086465Z","last_seen":"2026-07-27T07:00:44.987202Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/js/main.js","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"055e231719ca1519fcc7126ffa423f00","sha1":"7ee5eb3da340cdca55a431e74b6b68f252e735f6","sha256":"847ab6c2334e8907ddc8fd3749b05d19b54b0e29d2bb2e8fb6c2d0c305a6966f","sha512":"911656b4e209b1dc7ffcef7a4cbe53856f0990c2cb88a58f5c0aed806e6c26a8f134fc4bc382c67533e2c144439fb591870020aab3ef8c409b86e3769049b1fc","ssdeep":"1536:/mzUS4+H0yHucZ2i+OTO29vJ1d/hS2puvS4rZ106xg4sMh135MEV0Zm:+ASLHHucZ2i+OTO2A2mxrZ106xg4sMhT","tlshash":"3a53320aa25031b5c0bb73756a9f5400eaf21e3bc6418f163d7e41ac0f76da462b5f6e","size":63712,"data":"","first_seen":"2024-12-01T03:55:59.315672Z","last_seen":"2026-08-04T06:09:43.955543Z","times_seen":24,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.googletagmanager.com/gtag/js?id=G-V84XP8WGXY","fqdn":"www.googletagmanager.com","domain":"googletagmanager.com","tld":"com"},"ip":{"addr":"142.250.178.104","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"bea43ed2cdab6de383dae5b43f7f7ea7","sha1":"fee133e8e4885d721f6251298bbef7797126d1e6","sha256":"5324890457a4126c757b6c6f4eb68d2e58501802bffc02bc5018aa185d33c7e7","sha512":"d0948a7b1e160bd486f71a1c87caff66c4d8bb68becaffb75aa3875251a34474cba30ab51b8052c425e453911a1a804a7c746aee4ef7db3f95bb86f7c04f585a","ssdeep":"6144:/yHnRU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/8nC1WLP69VwqxVZOvg","tlshash":"aea4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","size":488553,"data":"","first_seen":"2026-07-27T02:47:36.009071Z","last_seen":"2026-07-27T07:02:12.014235Z","times_seen":194,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d224d956791813697309740c0fbcd15e","sha1":"2418655004b5f0f64a6e4075cb8ac4b53444421d","sha256":"48c035187614ea92c5bf66cec55cf8a9a0a30eaabd1bfd51234d0d5e44c93d65","sha512":"c1005f866f7b788b9fd04d3374ef4405bbadde272bf42c4bd0f8cf942bf1e9f6ebd13d50284f2eb5da4e5fd783c16dd4ef54f7e24e8eaf62496d2e744ffe13eb","ssdeep":"","tlshash":"ea8000083e08ae00800238a0280bc008c832003a0c20880000c800a80cbe02e020282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.182324Z","last_seen":"2026-07-27T07:00:45.02827Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ded6cb7b021faf2355497e718ed7afc0","sha1":"fde446763014ad7c5b2045c021bdfe8ca139fd5d","sha256":"096a45acd89683278277589df946866fc34365c96212f1a60f42b143e5ffb28c","sha512":"160406cdfc444d63df42a6cff7c879049902401b95442e7ce2b82ccbac11aee8f6dbb1eb8382e2d8d21257925b51718eea4518fc53f8161654c3d8eef36546a9","ssdeep":"","tlshash":"25d02ba5b1061051f77079a19262d8989992d6cb2af1cdeb442c41400dbfe045875b14","size":283,"data":"","first_seen":"2026-07-25T07:02:54.081421Z","last_seen":"2026-07-27T07:00:45.022961Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37051dbe85a36239dda2c2d0af9b328a","sha1":"7d1741c1823eedcb9f90cf15bcec255ce4270c98","sha256":"ad7fece7cc20e7af63da127ccd71979b14b7d02c60526deb52e1e985c4f92c76","sha512":"d6443268e97958dbba496787bfab4ae71709996624ece68f1f89b66a6ee7273997f95e2cbc5c78df367005531d51eb9cc1a9296bced3259271c76314f4e3b962","ssdeep":"","tlshash":"bfa0223c3c383002320a2c20088b82cae0202330f0880802c020cc8220fb20c830ae3b","size":71,"data":"","first_seen":"2026-07-25T07:02:54.078023Z","last_seen":"2026-07-27T07:00:44.984094Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c3787754c9ab0b54c83fc20e994fd71e","sha1":"79836961d0829dd4343389004c5f3bd806adeb6b","sha256":"725f4326baec82abc6db3f2144c45f09d47264f86f9fbc21a9825a9e73a7368a","sha512":"8d62d1275f3fe42a18d23ee3f8dfc60eca479b3eef7c05ad6181f2aa36b8c5ba1e937408474d57a33a742058c55f7c3f805a0b48f1f3162596be217a76e9d538","ssdeep":"","tlshash":"a8b01224242de61233322ef180131d2c603a4406425f590ec04de5c0033c0cb40475ef","size":97,"data":"","first_seen":"2026-07-25T07:02:54.156202Z","last_seen":"2026-07-27T07:00:44.993549Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"85667210a9ca3aaa44be54eb3274f280","sha1":"f69565032aaeb8d28ca4ca0daea8784dc01baf70","sha256":"0ba3ef12c7fadaef9ac42ea9cd42db694e3a5d2f64c6d21c2690ec7649bdad85","sha512":"e04c814490d64e8424e9cd097247cc4ce5ef616c21619b8b6f35b81cc47ac3f4504d94e7ec0a8bc45c8d5fd0deea6427a7c1c5d34c0841b6ec1d9e0b785c0570","ssdeep":"","tlshash":"23a0120074447c0116112c75c2260544b0511a0b50902401810996c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.208693Z","last_seen":"2026-07-27T07:00:44.969132Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"08a4415e9d594ff960030b921d42b91e","sha1":"1f444844b1ca616009c2b0e3564fecc065872b5b","sha256":"27a84712e4b22c415fc544d55cdee82327a829f96d03329457f76ebf9af4dcaa","sha512":"2c9fbb3f289c28bcec752f021d36c3a14b86140bd82942b06c0838931ce5999c1fd0b297b9bdb24aa145fc0244b7f3824c838d26ff7c222ad7663ddfb2c066b4","ssdeep":"","tlshash":"c71000000000000000000000000c0000000030000000000000c0000000000000000000","size":2,"data":"","first_seen":"2023-03-10T01:16:47Z","last_seen":"2026-07-27T07:00:44.971519Z","times_seen":2058,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ec7e53845feb375870343182efd0b929","sha1":"63e71d0c5bcadc37a725d971054eb55e017f6989","sha256":"a2253e1fad60aa1ccf31416ca8cde6ffaa5af2510733c7186adc04a503346c5b","sha512":"339f50fe30462dd6204552b2d3d3fe5cbaeea2cadcfbde096f16b40f1d985a5a68ebb227dbbb9f37c9451a36376ed392b7fb50c6e661963124146bac7e03284a","ssdeep":"","tlshash":"cf50003cc00000c0000f03000300000cc0000c00c0c00300c3cc000c3c0cc00c000000","size":11,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-15T16:42:31.636701Z","times_seen":175865,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4e5784c2f559c1f257d3fe1adff1b994","sha1":"a8bb93b81e79497dcbaea5f08618abe3e13614d5","sha256":"9abd5bd5bc72c038c0276119bd897de57b661a0e4b0d9849758dd698f4b11d10","sha512":"a66be2c2557a5eae52f07ea28edae7acf52d9ab08345204fc42a161d1c474ac05d43323229367c9eaffc197970a47846353096695ff79bb6fc820a804c268af4","ssdeep":"","tlshash":"19c02b08746220f04a43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":137,"data":"","first_seen":"2026-07-25T07:02:54.148131Z","last_seen":"2026-07-27T07:00:45.024626Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"63a7a928200fbecbaab566892f269b4c","sha1":"c71a636656586ecbfe05e9a5cfd5dd020f6fef61","sha256":"364b13b094815ae8cd606830efaae5f3f5be1e799ec75ec3bb301e1e1444aac4","sha512":"4b94f4c7820ccfc5b0ad57c2b4e2b7aec3aa7ed0e2e7b35d2e1f19b60b070eb4deec3cb87b3169bf47077f0f1c7d5d880950e8cb0f07e3428d524a0489a01ca4","ssdeep":"","tlshash":"8fc08cca89c8da99a01060ce34d3e009a368a9283a83f908d11ed1c46a40ad8e4ad47f","size":158,"data":"","first_seen":"2026-07-25T07:02:54.118953Z","last_seen":"2026-07-27T07:00:44.947463Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f3c46dd141ed0afa02a1b3049bab0729","sha1":"0f9b6e8412fa13b27e3af2816a112bb28a04a735","sha256":"4962a69b03ce9dced7bd2f588eead880ca97dc93d3fd354fc911d8b6b815d11b","sha512":"006dc0d7d1ead7ff5d5cf02082d1aaebb3dfc2a9a046c9d60bddadfcb9e0ac4702e9868970fb61a9af4bf366d76a03d09a264adf462e9414296dd0d749c136f3","ssdeep":"","tlshash":"9ac08c090b0dd3a6038a6a94610a43aba15284cabe615c28ab40e0c2e68e6054066a1e","size":151,"data":"","first_seen":"2026-07-25T07:02:54.100897Z","last_seen":"2026-07-27T07:00:44.977956Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9f502ac14e14405587d798139e860b5f","sha1":"b267cfc679f39f2d95f9d3fa41bca0eafb931aa6","sha256":"39d2483e41bf71db160191d9a148b4bc26c0739e732727e37be0f18bdc8cabca","sha512":"f5bc3d4834c9c4ed165d49476795fb1170fdc577b58fe4b21dfc67cfb4f6eebf045a3812ef48a2f15758e790ce7e111cf9dbd9ffcc3438288c7340e6eeb7661f","ssdeep":"","tlshash":"b1c022ccbb3e600d9121f90031f84e46cb4125ac4407ede3a70128b4448180aca1f406","size":194,"data":"","first_seen":"2024-08-23T10:18:17Z","last_seen":"2026-08-15T16:42:31.565296Z","times_seen":177790,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5d43ef05e57cdeab7895fe8a3b6ee014","sha1":"19671e4e00cc9b5f8f6a6167c1ea8800ee539aeb","sha256":"b7893a0611b91f5fe47ce3889faf375eddbda47517f4e44c8c338eef6d2c41e5","sha512":"535346ebfe272e052e64dfa1845da29662c36e84fa5a946e52dcbb2cf4d894851a102180fb1c04603f86ec920d89fdfb62c1ddc14ea81ba4cec7d4723ad5598e","ssdeep":"","tlshash":"8db092a4a20c0b5812813919ad2b06e950e42704f82994884ac0ae2548e0a41568ead8","size":116,"data":"","first_seen":"2024-07-19T01:23:55Z","last_seen":"2026-08-15T16:42:31.655237Z","times_seen":193010,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"51792c67c588ce8139b246f015ed8a85","sha1":"d3148f014e0f4790ff65a8004585d17ed319833f","sha256":"6f70d853ba1dee4fc189490cfe4b6b1ab59f5853344cd85576bd2a4af2b506fe","sha512":"963ef7a25d5437d1a045dedfe34afbab41db4c620e4378606ca3b7b0c4219e51fda11b9b0e0b761093eda33aeac0e532a27b3f1a1ee110c13ba1433cdb28c067","ssdeep":"","tlshash":"cb60003f03000003300003ff0c0cf30030fc0c0c000c033c0c003330000300000c0000","size":15,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-08-15T16:42:31.636197Z","times_seen":179118,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"accb66f0ecd826aac89065990e1da97f","sha1":"3c5339881a1720deed325383e8c3839b7748d254","sha256":"ca68fe3f50735b174e950c34f54dc1f4469d57f94c55f259174e8ee730ea86c4","sha512":"52408933e4d4f3fc5069da409f56adaa898366c9c2b71abc013277b38aba5e7dcac15868ffef3495cc1a64af8cbe1bdd7dcf79691ec2b15ac2eb8a3fa76f3370","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000300000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-08-03T07:02:53.92188Z","times_seen":2848,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"59ce6228ddf62be7f8aefab2518b85de","sha1":"900ad9ac49e0c31c073d6f6d90b1f4a96cc6fd70","sha256":"8ff18c08cbe337e7e73e5fa2906915a48539b24a7fad20153b95bce97834aaac","sha512":"dc9152b4e22f588df140c33a6635b551d942579445ef185f0fa62fd31dd807fdc9bd23ce42e0a3ff8872a4ca6e9e2942f9f76a727cbb74ea049a513e9a8a309b","ssdeep":"","tlshash":"f1c080447556b1ffd6426482c05f151562550705d9549a06d3a054e02e349899091f2d","size":166,"data":"","first_seen":"2026-07-25T07:02:54.079559Z","last_seen":"2026-07-27T07:00:45.004871Z","times_seen":514,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"59ce6228ddf62be7f8aefab2518b85de","sha1":"900ad9ac49e0c31c073d6f6d90b1f4a96cc6fd70","sha256":"8ff18c08cbe337e7e73e5fa2906915a48539b24a7fad20153b95bce97834aaac","sha512":"dc9152b4e22f588df140c33a6635b551d942579445ef185f0fa62fd31dd807fdc9bd23ce42e0a3ff8872a4ca6e9e2942f9f76a727cbb74ea049a513e9a8a309b","ssdeep":"","tlshash":"f1c080447556b1ffd6426482c05f151562550705d9549a06d3a054e02e349899091f2d","size":166,"data":"","first_seen":"2026-07-25T07:02:54.079559Z","last_seen":"2026-07-27T07:00:45.004871Z","times_seen":514,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.157.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","size":62519,"data":"","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T07:00:44.845626Z","times_seen":542,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c498f21d596cab179eb2e5de92013857","sha1":"8a29a189198796bd164fc566e952884b07496fbe","sha256":"cd5e183ec113a6429535157117bb1ddc54f96b68728ca66921d74b20f8e4c15c","sha512":"4904d4f49e94e06750ba6c2783c51d29ee20d33aab48ea66ed7cb33796e8225b927b0de33aaa23af79e583f48e5d32db88b8ccab4053d59cf0ac4bfd93236c57","ssdeep":"","tlshash":"e770000a3c08a000a22238e008cb2088002300080000a80000c000800cb200e202280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.145555Z","last_seen":"2026-07-27T07:00:45.018968Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7694f4a66316e53c8cdd9d9954bd611d","sha1":"22ea1c649c82946aa6e479e1ffd321e4a318b1b0","sha256":"8e35c2cd3bf6641bdb0e2050b76932cbb2e6034a0ddacc1d9bea82a6ba57f7cf","sha512":"2e96772232487fb3a058d58f2c310023e07e4017c94d56cc5fae4b54b44605f42a75b0b1f358991f8c6cbe9b68b64e5b2a09d0ad23fcac07ee9a9198a745e1d5","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-08-13T14:31:24.915666Z","times_seen":57139,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0cb2ca5238ca9b85cbde05a0c6a96a2d","sha1":"e7a5d39e6f8c5139be41d138aeb818c7b5c789ba","sha256":"65cdc6799de01f75bae65d4915b26836b836cc17ab7614020fa97a1d96992d6e","sha512":"c76c6a2b76b731648ebe5b1ed2a0f02a6b803cd96721d39dd9022ea67cfc21c068cff19624d10f4fea8058e486b4138084c49a0d85113008a8f828be99dc79f8","ssdeep":"","tlshash":"c710000000000300000000000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-10T12:37:25Z","last_seen":"2026-07-27T07:00:45.007697Z","times_seen":6767,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2fd98c678db6a4e592fc1fce467a095","sha1":"23d71a1dee6fdcdb530042f8de4c7ab53166f476","sha256":"ce773908bfcad90b99b630fe30a23d2abf23d0530137862b34afd9426fc37f4e","sha512":"4cfdbe3278dfe3b25ee1d5b7c5e2b6136e0813ed126409b436ff14b98ff511e7849897d572bb20701f90c207a7d1a474166b8a3c01bcaa87f87836674926e582","ssdeep":"","tlshash":"14b012187d04e4376302347960230d04e151080342818c0b800ed8c047701cb00104bf","size":91,"data":"","first_seen":"2026-07-25T07:02:54.158231Z","last_seen":"2026-07-27T07:00:45.020059Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e213815f8e0b9954f8d43e3a59f8b742","sha1":"563796cb191f082f24fc52b017905533a0ceccc5","sha256":"842c53eb438fb28e95c14d32423b0fe01bf557c9e623b684b19663d497bce97e","sha512":"b5bae6d10c35f01992dcc33c3f24a7cee7ac0fb56cf4a9e79453d213297ffe3b8e6e4b3eb7de9b1d10a5ca2638e81ac3fd3e66e6d76d157a75163ac7caea4f89","ssdeep":"","tlshash":"ad60000ffc0c330000033030003f000c003300000c000000000000c00c3000f0003c0c","size":14,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-08-15T16:42:31.698852Z","times_seen":205565,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/81a298ddc7471070.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"19fc6352b3bef54383c8770d74131cfa","sha1":"c67ec295996975fd662c06e0b614bd3b9f97d7bd","sha256":"9f43d8db2c14631ecaeb7f7ea5d8823bbfe41eeee26f6893c816d0aa348e9605","sha512":"64eba4d08add14b4c9728e2e5026234cf522dd62e2da45df50d967e4d337e6b38cbeaf471dbfba3420a5d3c992bb47c628f60618fca6d84114f7250b7407c5cd","ssdeep":"96:76gC8v2YWBRNY6v28COSXTnv2IDESf3vZ8kM2Lv2kyIWwzysv2hv2zthN1Vm5w7b:cjYWG8COJIDEiikyBwuzkx/T+AP","tlshash":"e4f1536636d4f9d1168b44d5c83b5006f22e0d3a216d70a8b7e5cefa369044ef472fea","size":8114,"data":"","first_seen":"2026-02-06T09:43:19.169507Z","last_seen":"2026-08-15T07:58:28.197267Z","times_seen":1921,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d3789a3f91258fcf605452196e19c21c","sha1":"f468a49ed14aa61cc199cac1759cb76160b266ff","sha256":"fa37be71bea1abe989546295b5d10f6a34598aa7ce90cfed1f870131e8e30c9e","sha512":"b93e82af199ae63f26b48b71e93f5f5c7be0c5efe33aad59dcd1109142d79d988b24ba63c4c0a5731a1d2a852fe817da47371412bc5cc8579078e4c5eebb0669","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-07T21:37:56Z","last_seen":"2026-07-30T13:50:30.846493Z","times_seen":908,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7694f4a66316e53c8cdd9d9954bd611d","sha1":"22ea1c649c82946aa6e479e1ffd321e4a318b1b0","sha256":"8e35c2cd3bf6641bdb0e2050b76932cbb2e6034a0ddacc1d9bea82a6ba57f7cf","sha512":"2e96772232487fb3a058d58f2c310023e07e4017c94d56cc5fae4b54b44605f42a75b0b1f358991f8c6cbe9b68b64e5b2a09d0ad23fcac07ee9a9198a745e1d5","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-08-13T14:31:24.915666Z","times_seen":57139,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d61f8370cad1d412f80b84d143e1257","sha1":"32096c2e0eff33d844ee6d675407ace18289357d","sha256":"6b23c0d5f35d1b11f9b683f0b0a617355deb11277d91ae091d399c655b87940d","sha512":"3d637ae63d59522dd3cb1b81c1ad67e56d46185b0971e0bc7dd2d8ad3b26090acb634c252fc6a63b3766934314ea1a6e59fa0c8c2bc027a7b6a460b291cd4dfb","ssdeep":"","tlshash":"c700000000000000c000003300000000000000000000000000000000c0000000000000","size":1,"data":"","first_seen":"2023-03-07T12:12:28Z","last_seen":"2026-08-15T16:56:37.726009Z","times_seen":76333,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bfb05b64541b797fbc56b1ceab0d0707","sha1":"ff5eea3714de9fa65254f3722ee63ff9718b4cd8","sha256":"9a3032ec6f3b482ef8f786196f5fec31ee55139f79eec40f1ef9e5d487f68c37","sha512":"ef42e661cb08389b03f24f5e884fc11c24a95d58110d3bd963a916d449cc80e06554ef4863d18aa0b14c12c0004f03f3b244442f4adcc9cd895ea236dd283ff7","ssdeep":"","tlshash":"687000083c282000a22238e0080b2008002308080080a80000c000820c3200e203280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.15521Z","last_seen":"2026-07-27T07:00:44.976836Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"21af29eb4a2661cde1ec2e23d5bfacd6","sha1":"7d2873f1d5edec0591009cb7c58ac0a8583acbeb","sha256":"355b175012ceed0b8437fb62d9e30416e770998561d266f70691acd8f7022641","sha512":"421539d8e4b532816aa4e443242637ff1e64519e1131ca733adb76acb7defa95088078a829c848c79f3e0c98c5065c0179d868360023547dad53797f81cee06d","ssdeep":"","tlshash":"f1c0122f63c0433609d3a2c4128f2716420991093ed51dae985663b81c3a0476068d25","size":190,"data":"","first_seen":"2026-07-25T07:02:54.080469Z","last_seen":"2026-07-27T07:00:45.010434Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"56d477e14d3afb1ffba04e085eba7834","sha1":"640b4d7232aba3b4b3f243b10228f7bd6bb27aff","sha256":"21220562832a31cb34cf0cc2cfcf17728feac102affc17e2e97d7e405c224f06","sha512":"389a61bfa0b427630b58c48dd7c72c4206a76c88e6743d446674a84c0cddfdd12b8fa66086bdf5c900937cc837841b85f9c2f47f6a03237c552af2c5766ec936","ssdeep":"","tlshash":"82d02bfb5811c06ffc27059213335dc910d2f20dd5993f9ab6b2b1a4392000c70d54c7","size":283,"data":"","first_seen":"2026-07-25T07:02:54.126205Z","last_seen":"2026-07-27T07:00:44.985926Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"58cf531c1b4e5d67b0c780ff6899d969","sha1":"9e997fb73f7026136c3201510d77658d59407ded","sha256":"16d4dd67cf8a92581836f38ae1673f2fb1d7d97e0f913eaa6e7e102be59cc123","sha512":"b1961e02be4ed40fd3ccf43025f087eb7528a808a4349b7a97525a0b07f298ff35062c61bf5c5758027ef410cfa58aacfdaed05ca47e4bc93ef17feeff4817f9","ssdeep":"","tlshash":"eba0220c3c083002320b2cb0888b82cbc0202330e0080802c032c08222f3a0c830be3b","size":72,"data":"","first_seen":"2026-07-25T07:02:54.187451Z","last_seen":"2026-07-27T07:00:44.96084Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f09564c9ca56850d4cd6b3319e541aee","sha1":"c3156e00d3c2588c639e0d3cf6821258b05761c7","sha256":"4ae81572f06e1b88fd5ced7a1a000945432e83e1551e6f721ee9c00b8cc33260","sha512":"2ddcd5fd66f62c38135603defc728493bc9012c9ea6abc8a9823165792136513b2c53722d2a79c0d6ea31467308bbb49eb217d151d79baf4b2085f487d0abfae","ssdeep":"","tlshash":"c700000000000300c00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:12Z","last_seen":"2026-08-14T12:42:56.668942Z","times_seen":58627,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"288f4801942ba7fe2e468ad22eb3b34c","sha1":"93c816901b3435f6f5cf6b2bd92e6727e442a895","sha256":"3f0ed40e2c3c5964be4eedf2e9176f9987135e03e131c9e4faa1334b3d0f179b","sha512":"118664d8321242dd85ca89acfa377dca6520b707e6efe6ffa76f2d06facc829277bda47b5889021d70cd3f1a9a382ca7fbe5e41502906853f7527222f9a33659","ssdeep":"","tlshash":"c9e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c012a2ced569cf19","size":348,"data":"","first_seen":"2026-07-25T07:02:54.136642Z","last_seen":"2026-07-27T07:00:44.936518Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37051dbe85a36239dda2c2d0af9b328a","sha1":"7d1741c1823eedcb9f90cf15bcec255ce4270c98","sha256":"ad7fece7cc20e7af63da127ccd71979b14b7d02c60526deb52e1e985c4f92c76","sha512":"d6443268e97958dbba496787bfab4ae71709996624ece68f1f89b66a6ee7273997f95e2cbc5c78df367005531d51eb9cc1a9296bced3259271c76314f4e3b962","ssdeep":"","tlshash":"bfa0223c3c383002320a2c20088b82cae0202330f0880802c020cc8220fb20c830ae3b","size":71,"data":"","first_seen":"2026-07-25T07:02:54.078023Z","last_seen":"2026-07-27T07:00:44.984094Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"130c787f212b30dec62fe9d1f64adf89","sha1":"0fe829cf5728aa8f881b127725d34bff3e703f22","sha256":"50560cc380f1458be9737fd2ee27daea8b9426db77b4b38ce5554e4a651ad09d","sha512":"650a479f750fa63552a1eb884acdc1d5a0ff7136389e396a8c311804d6490e8657b6ac81855d1d7633a27309f79c578d0a4927e35cded386db1808d1e5d8e017","ssdeep":"","tlshash":"fbf02d135782b7b2d04a560b50cf628806b2c032ec5acc8f1a33e2b40cb888a209af85","size":621,"data":"","first_seen":"2026-07-25T07:02:54.169445Z","last_seen":"2026-07-27T07:00:44.964235Z","times_seen":498,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9a2a6b16da447c1060cd4a5c09dc8a1c","sha1":"fbe9678c38ea75b2e7379a3bc99ec154f8339330","sha256":"5e778835b3f9e816a452ab0f9acd9459861522e6eb9f61f1c9e60fdc8d9e64cc","sha512":"0808cbb678605f7f165e7bd536f3c2f0c25dc06211624161d1209d80074d262e63db1c4ce941f6da3374566ed577862582f561ae623f28000c61877b25a7c317","ssdeep":"","tlshash":"c4e0c274241450de4a47304a908d7fcc791a86ca3d483b6aa09180d1a72cb9b636dc38","size":301,"data":"","first_seen":"2026-07-25T07:02:54.177153Z","last_seen":"2026-07-27T07:00:44.996332Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"952ddc5ca686660c54f7b74840982b4b","sha1":"fe05b5837e28143d2981f9a67a56e565a7982be7","sha256":"9baacdd193c5a18c5a01ecf248bf7a316f7927c345ee3ec94fdce802d458718e","sha512":"a652cf3cc48705bc2b0fcbb449a0a61fcf31f30ad0feab7697a10c6c0e6485353c815048a9570763d74cddcb857fe49973ced6de10bc5f8239c7671fbe1881e0","ssdeep":"","tlshash":"d5c02b08746220f04e43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":139,"data":"","first_seen":"2026-07-25T07:02:54.186501Z","last_seen":"2026-07-27T07:00:44.972651Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"51792c67c588ce8139b246f015ed8a85","sha1":"d3148f014e0f4790ff65a8004585d17ed319833f","sha256":"6f70d853ba1dee4fc189490cfe4b6b1ab59f5853344cd85576bd2a4af2b506fe","sha512":"963ef7a25d5437d1a045dedfe34afbab41db4c620e4378606ca3b7b0c4219e51fda11b9b0e0b761093eda33aeac0e532a27b3f1a1ee110c13ba1433cdb28c067","ssdeep":"","tlshash":"cb60003f03000003300003ff0c0cf30030fc0c0c000c033c0c003330000300000c0000","size":15,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-08-15T16:42:31.636197Z","times_seen":179118,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b2c033e81e5f5f3d63beba88712ff6ad","sha1":"98f27a412fcc1ba29098c5d60e0577a19d2d2db9","sha256":"bea6c2d06c730cbcc0383d0be45269737019dbd4e40dab4c786861a9c82baa8f","sha512":"6fd35b35256ea2ee673f840880503a5102921fdeafea46e81d91e200506905861eabf9dc5a7640bb37d0645e5a68febbd3a4d15c26db7ed405794c8865f0632c","ssdeep":"","tlshash":"84d0a7049119108386346d5bc282dfafe59184433e01d81b299c49ec16fc957e5b98a5","size":240,"data":"","first_seen":"2026-07-25T07:02:54.154377Z","last_seen":"2026-07-27T07:00:44.963638Z","times_seen":519,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6b74d263b2f181bb8c759bdb049f2cca","sha1":"f4ee289de7015e0faac2be30edb6240a6d7c6139","sha256":"e5a9bf69c1f1f7fa5574037a92b8b3dfc6ba7b0479d1d9e7347d39a0bdc41753","sha512":"10bbf90be8836779b50b0da8ce0f1773f474e604cc0d10101267cf42c41ab78d27a2609f824a3493b235650ac7bff8777cc297feb6a000dd7b6aacaaab88597c","ssdeep":"","tlshash":"527000083c08a200022238a2e0ab00280022000022808a0080c000a00c3200ab00a80a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.203661Z","last_seen":"2026-07-27T07:00:45.018417Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"93dddbbea2419c0820cae293f64a56a7","sha1":"fec37c7f501f1834dcfed04edd754ab32b0661a9","sha256":"ca0f37dbe01b74a05d3b263e0f9b36a99e44350031baabb6c14c7d2d0f869d83","sha512":"e3f524dc1b1210369142abc7c52aca7bebb9edfdfb9237ebb03aae85d1a1403d2884e0062a7fae21d29207f237868efc1295460052c4ebc7860958d0102f88a5","ssdeep":"","tlshash":"0f9002c53c4456153662ac61402e44059165860e24a294829916e2940732b99850242b","size":57,"data":"","first_seen":"2026-07-25T07:02:54.19501Z","last_seen":"2026-07-27T07:00:45.013735Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ded6cb7b021faf2355497e718ed7afc0","sha1":"fde446763014ad7c5b2045c021bdfe8ca139fd5d","sha256":"096a45acd89683278277589df946866fc34365c96212f1a60f42b143e5ffb28c","sha512":"160406cdfc444d63df42a6cff7c879049902401b95442e7ce2b82ccbac11aee8f6dbb1eb8382e2d8d21257925b51718eea4518fc53f8161654c3d8eef36546a9","ssdeep":"","tlshash":"25d02ba5b1061051f77079a19262d8989992d6cb2af1cdeb442c41400dbfe045875b14","size":283,"data":"","first_seen":"2026-07-25T07:02:54.081421Z","last_seen":"2026-07-27T07:00:45.022961Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0e976b756b6afe7f40bca206a2d7150","sha1":"db9bee9a7bba93a60330ec5ef1334d9c164fcd56","sha256":"029b84af88c5d6ced58173997a15fa47011e198e5449027d87e2f7b871f332c2","sha512":"486596b8b7d88539b3147ed55749794ab08962047191f33ff9915fd4e4a8a9a24bc164c0d44f24357b6e9dd72d1ccd88f981aa0cf2c7df585a83000d4baccc9f","ssdeep":"","tlshash":"3f8000883cbab30e8222283223ab200aa2ae28c232088e00a00080803a3003a8032c0c","size":29,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.627556Z","times_seen":249568,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"53f90a23c820f4d35aad5e1fc69c3631","sha1":"adfd381939291c573a7f091f1a486b30a9598190","sha256":"c43f747e9a95c0f6b4b687850f9ddb61fc6791213cfa3bf2c08f7358c1fc93c7","sha512":"757f13afbfba4457e7c08c0ed2cc31146c8174b5b9c42a6e86d3703078d5819a577f061397bdb28f87ddd8f3dfabb09be6cc1623d83644ba6e2d1df26c15e18b","ssdeep":"","tlshash":"f1a0220c288f2032b202bc2280323c08a32f2003e8a0ec0e0028c2c20b30a8e020303f","size":72,"data":"","first_seen":"2026-07-25T07:02:54.130379Z","last_seen":"2026-07-27T07:00:45.010981Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"32efc8291438b62ef493347e387cca0c","sha1":"cfde2c91f018e6df9094980266806f07d5595723","sha256":"6ea6f07e03fc88bb1c49cd7c10e57e591028e47da7ba7ee2587f34d1b9f3cc54","sha512":"81c67ce5df3bff4092525e1994a46a1798ac52f794c0a30e12fc4b3571bfa81a6d69a60144d8ed3246fe8e42b72a49108992bc01ab56c0b35f5e6c41782c4b5b","ssdeep":"","tlshash":"73e0c0197b572073a1b6288650062fcd6a682c4668c9788bd222794008acdc3544dc42","size":329,"data":"","first_seen":"2026-07-25T07:02:54.071637Z","last_seen":"2026-07-27T07:00:45.025225Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37a6259cc0c1dae299a7866489dff0bd","sha1":"2be88ca4242c76e8253ac62474851065032d6833","sha256":"74234e98afe7498fb5daf1f36ac2d78acc339464f950703b8c019892f982b90b","sha512":"04f8ff2682604862e405bf88de102ed7710ac45c1205957625e4ee3e5f5a2241e453614acc451345b91bafc88f38804019c7492444595674e94e8cf4be53817f","ssdeep":"","tlshash":"b9300000000000000000000000000000000300000000000000000000000c0000000000","size":4,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.635621Z","times_seen":284132,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"316d406bec14ed278d88b29656ec9700","sha1":"bd547102264254e2beef20bde9dbb4a76930c603","sha256":"c20bceec8e69ac1e4c2e4e22bd2c3676487f19b8676151449558633b99b47e86","sha512":"46f1ff723d384eba48d0384e861d729824711cc28520de2cb5defc92c4db58aeff67b8349ad7d2d75368507cad41580169a73a544a2fd0364b326442be72360e","ssdeep":"","tlshash":"42c08c1814a2983a3224acc3b08f910234c528110104406483ad8031b73044aad380a9","size":145,"data":"","first_seen":"2026-07-25T07:02:54.099906Z","last_seen":"2026-07-27T07:00:44.979724Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64d8c858156192a16a990983d35fb3f9","sha1":"1ae03179ebb040c510ecf6f785c0002f21932433","sha256":"bdfd55577f7056ab007e88fcfe9352e9805fc05f504131193cbe81c001162fd3","sha512":"e6c8b62010e24ed3c7a59b3d92aa3165bc2270274b755e8ecee06a238fe29682b08510402a6e8b7b3f85027d7e403447ed4694ec2bc43c136d5c0f1cb1b3f23a","ssdeep":"","tlshash":"cd60000c3f003000000000030000cc30c30cc3c0c0f000f3c003000000000000003f0c","size":15,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-15T16:42:31.660958Z","times_seen":174749,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2da41093c5101c915eba4d7ce7b0703d","sha1":"be67856563d898a7b733742a56b7c24e76f6c12b","sha256":"861a8f8ff3b790a4f6c9a8fbca93e201d714e26ee74a051cc77d25e79ef5f581","sha512":"c78400c6cb9ba66626b3f922da612a3663809ccf26a7b35521a117ee56b1f69fde071301026b99a7976cd6794a76568b7bb46065da5f4d0f23946c850b6a0e24","ssdeep":"","tlshash":"a70110862cf902b6b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":684,"data":"","first_seen":"2026-07-25T07:02:54.184161Z","last_seen":"2026-07-27T07:00:44.9995Z","times_seen":510,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5206560a306a2e085a437fd258eb57ce","sha1":"c9ee5681d3c59f7541c27a38b67edf46259e187b","sha256":"de5a6f78116eca62d7fc5ce159d23ae6b889b365a1739ad2cf36f925a140d0cc","sha512":"40422e2733a73dec2f9aac48e2ab48d3b2fdcdc1e3a88bc7ea855227e62c029246da1dd49dd057bb8a8b796b3b2a6f60d9d8a85de53df597e422b2f68c54cfb6","ssdeep":"","tlshash":"c70000000000000cc00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T12:04:13Z","last_seen":"2026-08-15T06:53:22.640808Z","times_seen":69225,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"308802114c0251ead4bd8525137ab5fb","sha1":"5319f472ff75b3677d7e594bff1b4a906739fbc5","sha256":"9bb1d4cd31b2a6dd5ffeb566dc0d22020f4faa52aea517be16fa850289c967f9","sha512":"f3a25b9d7f2d6b93e26844fd1123a2dc6bb7b33b1956618abe0a6a8a170af99c0ae9ec98b9bf620791ac2a1a4d5bb9f77312d733c565b7f14008193a87547d11","ssdeep":"1536:79w3cPpzlUowL2cm9ibFHDYzcmNGBfXoLL:ZFyoybFHDQf","tlshash":"d4631acef2d2a73555e269f6105f410a62fe9006cc85182fba15f6f42a70d4b903bf7a","size":68863,"data":"","first_seen":"2026-07-27T05:26:45.328873Z","last_seen":"2026-07-27T05:26:45.328873Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"08a4415e9d594ff960030b921d42b91e","sha1":"1f444844b1ca616009c2b0e3564fecc065872b5b","sha256":"27a84712e4b22c415fc544d55cdee82327a829f96d03329457f76ebf9af4dcaa","sha512":"2c9fbb3f289c28bcec752f021d36c3a14b86140bd82942b06c0838931ce5999c1fd0b297b9bdb24aa145fc0244b7f3824c838d26ff7c222ad7663ddfb2c066b4","ssdeep":"","tlshash":"c71000000000000000000000000c0000000030000000000000c0000000000000000000","size":2,"data":"","first_seen":"2023-03-10T01:16:47Z","last_seen":"2026-07-27T07:00:44.971519Z","times_seen":2058,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fa317cda84211445676c1cddaaae7c0e","sha1":"56c4706fd639682e3b4522c810eee9ea11f2d38b","sha256":"2740769e28e35690a4f400ce64b425de677a1dc517b2859219e883c874e4a664","sha512":"a6c704bc3492435fa28ff4a72847e656af3f982f8988c051b3d48959f553a38a54e5606c50fbcf73af0300faa637f2b3bbe311484f190131207b31b4a7939008","ssdeep":"","tlshash":"c1c08c4a588022263b707d80c0ba192cb354096b109e8f0f8c2ee3943320f62c00643f","size":155,"data":"","first_seen":"2026-07-25T07:02:54.082992Z","last_seen":"2026-07-27T07:00:44.976197Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"58cf531c1b4e5d67b0c780ff6899d969","sha1":"9e997fb73f7026136c3201510d77658d59407ded","sha256":"16d4dd67cf8a92581836f38ae1673f2fb1d7d97e0f913eaa6e7e102be59cc123","sha512":"b1961e02be4ed40fd3ccf43025f087eb7528a808a4349b7a97525a0b07f298ff35062c61bf5c5758027ef410cfa58aacfdaed05ca47e4bc93ef17feeff4817f9","ssdeep":"","tlshash":"eba0220c3c083002320b2cb0888b82cbc0202330e0080802c032c08222f3a0c830be3b","size":72,"data":"","first_seen":"2026-07-25T07:02:54.187451Z","last_seen":"2026-07-27T07:00:44.96084Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"130c787f212b30dec62fe9d1f64adf89","sha1":"0fe829cf5728aa8f881b127725d34bff3e703f22","sha256":"50560cc380f1458be9737fd2ee27daea8b9426db77b4b38ce5554e4a651ad09d","sha512":"650a479f750fa63552a1eb884acdc1d5a0ff7136389e396a8c311804d6490e8657b6ac81855d1d7633a27309f79c578d0a4927e35cded386db1808d1e5d8e017","ssdeep":"","tlshash":"fbf02d135782b7b2d04a560b50cf628806b2c032ec5acc8f1a33e2b40cb888a209af85","size":621,"data":"","first_seen":"2026-07-25T07:02:54.169445Z","last_seen":"2026-07-27T07:00:44.964235Z","times_seen":498,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cbce5f030ab9bcb5d5a13f3094ed0c14","sha1":"a8dabb19b3be950bce6159811f80596a5bd78b54","sha256":"22d532f2907a94e1755ff7183e34abaed0e92f01415b2c98b71e860af2af3020","sha512":"d8d914e21a56a18b2bf24d25cf9df74cd94c4a9fdbad963cfd1eb90080d01d6cdafd27712026ecf692d43cfc977a8abf44d969e2d299d204b4da9263b9dc7036","ssdeep":"","tlshash":"e07000283c08e800022238a000bb02280222000022808a00808080a00c3200a800282e","size":22,"data":"","first_seen":"2026-07-25T07:02:54.179802Z","last_seen":"2026-07-27T07:00:44.952697Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e1469a0c2dc2156f9a727d0ed640ac13","sha1":"ba1dd0fe89c6bf92a6a0f1dfc9336ec0c722f494","sha256":"12854497ac91b3bf315b127a6c446692fb3c10bd1dcd87c3d60a592f63083cc2","sha512":"0cced30914a00cca9185467b9de158e890ae36123087ab40ce5ab41f2ff3ff858178f42c2810106003fad52d94dbebf96e5e47c7d3935f2cb2ebffe7ab387b94","ssdeep":"","tlshash":"6c0110862cf902b7b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":686,"data":"","first_seen":"2026-07-25T07:02:54.118078Z","last_seen":"2026-07-27T07:00:44.964759Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d80d99d7f209071a284c9ab6d14accf","sha1":"c91e7389c28a7b35eeb114484808a20cddb8c20e","sha256":"0cb21d1de060008bab472c15c63e6f15828de601f85deff00d701d26c0f6819a","sha512":"59df0ea3f533182f0884e52768ba3b5b1dea918c81a430aed117aa60584df1bfc3569ba05dc9c95426cd97513318e2bc4272ec2771e3528117cefce002576740","ssdeep":"","tlshash":"0aa012b01c1dd3d81271c03118250410d6cc2205f8260d086219825248a81067f02014","size":83,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:42:31.597924Z","times_seen":342672,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9af69e91e9a0e1650ac23ca1a06d9a03","sha1":"1a26706289f10c0bd07fcca5b37e9cd1f31742ce","sha256":"b5f92e34f5614aa40d35166769b90304819bc552ad045006a56b2672ea5e635a","sha512":"23ce7998bc81e6515eb7c1d416ff1e22fe067aaf6d5348bd66654a5c6d9d65e89276e08da1431693589b7566ebdd95651132e2d6ed6ad3cc765532482f5c5d3c","ssdeep":"","tlshash":"67d023de54545753a25515f39009d6154307504f52f8cf5bd11198b414d64074087b11","size":213,"data":"","first_seen":"2026-07-25T07:02:54.07392Z","last_seen":"2026-07-27T07:00:44.954199Z","times_seen":516,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fe63e72e58f232e831ebaa50436cd976","sha1":"3eb05a9376004c39c93288d95443d7f967c4d383","sha256":"fe4765abdb60dbb4296984f65320d7fa3f3047b70c94c2cd7737a9edb867a57b","sha512":"b39b8a0ffad610e40cd8116a7d35d709a6f3bed7ac49e980e5e2f26218cdaca4629af6047a9e7a7bc8857ee6fcd6da93808f9aaf4c26de44ecefc2fd92a87ef5","ssdeep":"","tlshash":"36f0ebb65a0180c490b39deb6e7f3a3f61866aa7b58110814393d725939c1d2300deed","size":546,"data":"","first_seen":"2026-07-25T07:02:54.125329Z","last_seen":"2026-07-27T07:00:44.95151Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9485c8ae181348af0537aeb02376d77f","sha1":"67b0b7f7f914e89f6e0c6651049d5e58063eaf96","sha256":"77724e449ce352c6bb493ce82b91d7ed6b93156928d311f67cc1c57481e6c2f9","sha512":"037ffde473310d2491e664f6fba33b747a956c19bf99420da07bbde6ffbe4ca768da17177bb1643630ff6ae1448ffe79ce1613d08dbea8d610d7d51161950d1b","ssdeep":"","tlshash":"c2d02b8eec5b8595f966e9ca40766d29e0589802ec789cc11527c55261d4a195832cb3","size":266,"data":"","first_seen":"2026-07-25T07:02:54.116193Z","last_seen":"2026-07-27T07:00:45.020622Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"506062df458617a6bfdd35a3fbd41c54","sha1":"7e7395752c17ceee179c6a6ac0cdc54a44401c6b","sha256":"a7e4c6a4faba5d54fbf9e416b44f1e4c26d60946ee542ea3510b95b0c146e6a4","sha512":"e0aa46183e606b4bd2eac6695caecce85498b80a41894bc26fd6dfa2a7db92c78f9e69349df0daf41d79df5a8d1f95c5aef07047e4231252f0eaa123daf3d096","ssdeep":"","tlshash":"cff08bd487010de8b201bce92deb3464927f89133c503009ba12a21a5234f4d945b82d","size":540,"data":"","first_seen":"2026-07-25T07:02:54.146382Z","last_seen":"2026-07-27T07:00:45.019491Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"16c0e822a412e900773f94265229b860","sha1":"3f7b94f3942f43c81bf6104a63328a04122f46ef","sha256":"b15fdefcf464539466ed442882025a3860330cb62ac4613d91e8a94448850155","sha512":"662eed3905e417a9d5d68d7a9aef8c7eb97df1e6c03ad095fe7bc3f29a7820cd4b4611afd58f3ac95a91b71d7c45daeebcddd1ed5092d85b6d678b40b7fbe88f","ssdeep":"","tlshash":"60a024005c0c45013713315144370c0750d11107f0f44d0f430dc05017305050744333","size":75,"data":"","first_seen":"2026-07-25T07:02:54.207231Z","last_seen":"2026-07-27T07:00:45.031352Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"24cc3dc813f384fde380df619f1525cb","sha1":"56399e3ce57ff98d68c7de98a563e572230dff6b","sha256":"5421715bbdaf2550e31d10fc28d444310a8fe7147bbddecf0abb490358a1553b","sha512":"fdb6e7d3b9452cc36c1e877ebe47c50c82fd413f2cef945f808e47b081da88ae6aaac7aa14386687c59479e19c856f6031d7ae666fe9c5b54a0b6fe37fa062f7","ssdeep":"","tlshash":"027000c008088802080aa02008800080220088023e0a0e0008200000832000280a28aa","size":19,"data":"","first_seen":"2023-03-07T01:02:05Z","last_seen":"2026-08-15T16:42:31.615642Z","times_seen":238862,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61a6f2652a0b6db05139abddb9b96ab7","sha1":"05548eab56f32db3c8c42fd2487a3f3b3ccf0ee1","sha256":"cc6e0d6af3dc4f620458aa79c4f4c0631ebc1bd55a148f5e9a06ea8874885831","sha512":"f2f89b1252cfe849de0cb4e8e8b7ee29cf99c563c5113ede3c45d470d5d14c45e0a3e30e560a79d14bfd4c46943c24a8444a1e81e4a0e93addf71ebdeaccaef4","ssdeep":"","tlshash":"4780047cdd4c5c350f157415001740441177700d50150005170004c44f311c5140fddc","size":38,"data":"","first_seen":"2023-03-11T13:53:37Z","last_seen":"2026-08-15T16:42:31.653541Z","times_seen":270177,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"115b3cd49c739440787a505ab2ee1fa0","sha1":"3f1da71d9f392fd05f503b9c37140524df25c91b","sha256":"b36d3c52f42742303976f7fa86f396d248d2fe7b0f3b3e18c092577e621a0e0c","sha512":"78e25ce66f42fd5b77614cbad4c7ffc671997f0f317882289e9da969621935ea0110b6910e2b693a99736a7403f1e43f54c02d76485d8fd7fe72bda1265d4a6c","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c00000000300000000000000","size":2,"data":"","first_seen":"2023-03-10T22:24:54Z","last_seen":"2026-07-27T07:00:44.977418Z","times_seen":1876,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c4ca4238a0b923820dcc509a6f75849b","sha1":"356a192b7913b04c54574d18c28d46e6395428ab","sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a","ssdeep":"","tlshash":"c70000000c000000c00000300000000000000000000000000000000000000000000030","size":1,"data":"","first_seen":"2023-03-07T01:10:09Z","last_seen":"2026-08-15T16:48:43.674283Z","times_seen":138704,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6e6b4e7c1a45993ae64f9aaa4672f019","sha1":"81ed544bb4656d12c73eff1d5fe3911a080f8c51","sha256":"4da86e48d9b22ffccb648bc40fa2df935429b12e5903bdeb308b218615df64b6","sha512":"5b788fd445160f1aa102912f67fc8b92f90f2f78e16690e093896b972e1a73c2ee56f3fa14c6c7261cb3aeccedcf2433d7cc65db8d881b09554b01640d3a9faf","ssdeep":"","tlshash":"158000883e08aa0c000238a0000bc008c83202022a02880000c820800c3a00e030282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.185612Z","last_seen":"2026-07-27T07:00:45.021194Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"eb7194ac9d6f5a83b6c7cae43038d2ef","sha1":"9b1cfda44cba767b72373d6df56249b565efb634","sha256":"eb2bf66d92707acd8be84dbfcca1376c2562c4ec94a4d87babbbe67f4d125aae","sha512":"7ae1e7cb8edf692da592a8ddc798f6f564f5ea0d6fd6919ee5c86ca95d983d15e707615cb6ff6623c0951e0eca8a4852f1d8d8596f985ba3e214feb47bfcb886","ssdeep":"","tlshash":"6390025969497099203710e0425e292640d2c40065544041961494f65434b17d531c6a","size":57,"data":"","first_seen":"2026-07-25T07:02:54.098994Z","last_seen":"2026-07-27T07:00:44.998879Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/95262386d8d4b6dd.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"8c155806c003f628ca093cb0feb083d0","sha1":"7e566386cefa86e8ede2e755f712dff7a8ef02f7","sha256":"07310b422de93eb0e61986355fd1084b06b47060d629f957c5311440650a6d2a","sha512":"980bd9a8f57049d13d7a8647fb56f621b005d208dafacc5c0534b9a919204bc9e363a122a1b4a48f4ef71cc00dcd2308e4885de83e31d2491b0a5d4a807fe7fe","ssdeep":"384:tj5z75Bq9E0mLlSmRt0cJ3XHHE79Fg/Za98qWtOPSN6wfV:N5z9BX0idiMxxgwfV","tlshash":"a4d2d9b17395f9a352db86d9d03a0005f2290d3530ae28b0b395dcef365dc8991fafa5","size":30684,"data":"","first_seen":"2026-03-29T05:29:39.700118Z","last_seen":"2026-08-15T07:58:28.220146Z","times_seen":2198,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"834dec29a06aa1149f778035ffade82d","sha1":"cc71686d432a1236d2cab595573ea9498de75463","sha256":"4f36b2c33e2478b4d3ba77a2d6ee222f79ddda0c54ed27e41f3fe2cd7a62d318","sha512":"48c414ee31ecc55c83cb5b925daaaba737aca1cf332cc37dec593c919fcf0175118fefd24df9e42662593abe95e078e5c9a09ac2502aefc496e0df715b6d590a","ssdeep":"","tlshash":"26d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080e8803a36580fe05c8d903d25","size":280,"data":"","first_seen":"2026-07-25T07:02:54.194101Z","last_seen":"2026-07-27T07:00:45.017282Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fe63e72e58f232e831ebaa50436cd976","sha1":"3eb05a9376004c39c93288d95443d7f967c4d383","sha256":"fe4765abdb60dbb4296984f65320d7fa3f3047b70c94c2cd7737a9edb867a57b","sha512":"b39b8a0ffad610e40cd8116a7d35d709a6f3bed7ac49e980e5e2f26218cdaca4629af6047a9e7a7bc8857ee6fcd6da93808f9aaf4c26de44ecefc2fd92a87ef5","ssdeep":"","tlshash":"36f0ebb65a0180c490b39deb6e7f3a3f61866aa7b58110814393d725939c1d2300deed","size":546,"data":"","first_seen":"2026-07-25T07:02:54.125329Z","last_seen":"2026-07-27T07:00:44.95151Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"25607f1ffaa7d1ff142e22e0e8ae6779","sha1":"207c150da361f4c91b20acad7c60918a9818305c","sha256":"8495a59d9339a0440ffe0861eaf8f3248dc31cd6f5e5447e07d6e6d376b2002c","sha512":"5a76b2517dfa3140c30a7a50b1d6f4d49ccf641725897a7d2f2131e4638d97279de45263ebb59371c7dc55e1204c94afd08eaf294e6cffb62e94580ea47223a0","ssdeep":"","tlshash":"6ad05eeb6b0f267900d33d34090b0a546a56c401ecca14e59711b8dc4f5460b40f3d2e","size":242,"data":"","first_seen":"2026-07-25T07:02:54.140729Z","last_seen":"2026-07-27T07:00:44.998252Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/ck=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywHU6qHNitns5XqYEK-2yyUEaGOVkQ/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"6f2dc696d3e2c5e8b0536728ac5a3aea","sha1":"8da6a7915f0b3ff607db13862fc417574d8d4999","sha256":"4036991c2199a96276eabd866d75631508768ad958639f2ef3d985061bddef47","sha512":"481bcb7979552bb2b61e9faaf2cc6abdeeb36c7e5e4e0a483ba1e93c62bea4c29bd94f525ec183b9a9bb4518f02e3e9748be080d771f801fa3cc7d4e73a09116","ssdeep":"12288:Rhrh0EencTyXGld16WDVcIm4zDSG8UvCeoBJjlXc7WPz6/wWXqkZTNvl6hkTeubf:R41jofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"a2159ff0b25271b4d147b926fab7c003b57e4903e2081879f0a7ae9c55fca942e77729","size":942843,"data":"","first_seen":"2026-07-24T13:38:07.888738Z","last_seen":"2026-07-27T16:56:48.650117Z","times_seen":570,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"66a5ec07badb64981bc046cba7a60e24","sha1":"defbb612e3b7bc52b2f2ea708df44e919091a915","sha256":"e4f37fe1f7d79b647f601613d5402ee71446bf14522c48b092b69dbd49bd5e0e","sha512":"0aa2a15da0d155c0edc04484988105950f29af4565a329f81562b0cb0b292d832549957ab1ffe3c64c1b235d26af89059c76d4f6e898567c9bfc977c4b9e228f","ssdeep":"1536:z9w3cPpzlUowL2cm9ibFHDYzcmNGBfXoLL:BFyoybFHDQf","tlshash":"72531acef2d2a73555e269f6105f410a62fe9006cc85182fba15f6f42a70d4b903bf7a","size":65768,"data":"","first_seen":"2026-07-27T05:26:45.332529Z","last_seen":"2026-07-27T05:26:45.332529Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"909822438f3880445c5535efb48b46d9","sha1":"00685c680d8f0bfb3dda3154539bb972552fd921","sha256":"894963ac612d3c872d00cfc1a926c6f034036e99512409f06342bff53d723689","sha512":"ce5816d0da41ef048fbcd158120239337d58bf594db8b7deff493beb436c5319220f1b01ea03fd9f4b755b4fd43155f23271e1e27078167041feb5c9a784699f","ssdeep":"","tlshash":"f9c08cd873b61824c2809a73a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":156,"data":"","first_seen":"2026-07-25T07:02:54.13346Z","last_seen":"2026-07-27T07:00:45.030115Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f9f2d672039ed5d04839b769ad71e1b0","sha1":"9a86054ee3627014bb2f372f939ff22772a90aa5","sha256":"ef099fcece6eeca3777d0d4a6ac606beb557e08dcd95cf93d0d42a0334329c10","sha512":"52923fb4476412cf751131a95f749956c1a4c83641935695522af4434c3c42047820db169481885cb549e9a6a8c5ffbbc6ac49ad08f246612debd54bd3ee68e8","ssdeep":"","tlshash":"c71000000000000000000000000000c0000c0000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-08T15:11:30Z","last_seen":"2026-08-12T21:59:19.30441Z","times_seen":2737,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"db0e667538ab4e563e08c53acdc8adca","sha1":"7b00a8cb6da0a073775af7b8536d09fa244594ec","sha256":"b57608c5537f1c358fa12ec9a41449489847678d160fc29bea540ebfe93b1af5","sha512":"0388191a568e959e0ee4d19304a222bd647c874b02cbbe7a589757c47da8277ca1e7afb02a3eb9803a1fdf3220bae8875aad1d8f8fd624284f0fcd32abbcfeff","ssdeep":"","tlshash":"f9c0c000f44cc39725933c2f0d41873e801b120384320c030301d8cd0833beee245f60","size":180,"data":"","first_seen":"2026-07-25T07:02:54.18944Z","last_seen":"2026-07-27T07:00:44.982845Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2cc43ad532377e05783b919d86a896d9","sha1":"69e00bdb15ac21186c8d27764e6311759ba5b99b","sha256":"007cd5f5a967155b6963ac5de46c369ee23237414c3f576b4197fe46229808ce","sha512":"404182f4b51a22a4a35e58480d372a65db2465803ca23913e379199413edf84fa74dcf0f92026d8561dcc35bdff981cb98a38c8f50ae05f7224e5c7b42b30c92","ssdeep":"","tlshash":"2cd022c93c4978d20279238888ba01f7e2fbb8dc78068b40c32442002a3ca3a5464402","size":199,"data":"","first_seen":"2024-10-31T11:08:50.83142Z","last_seen":"2026-08-15T16:42:31.59256Z","times_seen":158940,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"65cfbef4976ed897962f8aab52c2e7dd","sha1":"5002f4eb74d361e916cd01adcce97615bb98a93c","sha256":"7ffca58a18354a6fafd52f93908f56bade386cd0181cabc22dde999e040843c9","sha512":"af6eaa50caa0889f6d7d19ae675e875be4d2577826cade64399694acd9a3c494bd35791cc47de33782b2fd996ce97b638289cad79915949a891f5e885da04ddc","ssdeep":"","tlshash":"141154b6393fd032c2e924a6d846ee7a42d08449926210b50fb332c437f6e9cd11ad54","size":1012,"data":"","first_seen":"2026-07-25T07:02:54.112569Z","last_seen":"2026-07-27T07:00:44.948009Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e3853dd21d7b37c8e001cbeb80def269","sha1":"22eab5e6d95c0a758b5105a2ca285550e4ddf4c0","sha256":"739c47988f1b9658cc13de9f615b8e5dcd2976ae3baf5442f36d6cdb7646b1a2","sha512":"186172b3a889c4e9dc3598d3d92d43b10144f04dcf14ecb3bcc6b6d6f45448caa601ab93a2b550bd7bf82f6a1905efccb9cabc88da9b70873a953a5ee0fe8660","ssdeep":"","tlshash":"4ef02d4235828222c02270af50bb60ce00b2c261af6b8e4e8a3292d15cea48a40c6f89","size":627,"data":"","first_seen":"2026-07-25T07:02:54.196783Z","last_seen":"2026-07-27T07:00:44.981605Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f69a3704d7f533aa4245e6bf79aaf7f0","sha1":"11e5a704728320de77d28101f21079c644136b4c","sha256":"adb064ad7f04d21017f0801899a3867082ed16d71583c6cc7756f30beb9363ff","sha512":"d12fd361ad1905660b2bc871f8d172acac2972e2cb3c4930db744248f12624d3f6410618ed13d6b45e6881d90f82078db0e2178f55b8ae4b151994ecb9ebbcfb","ssdeep":"","tlshash":"27d09730e9010300b22c1ca230a1dfe700a0c4073e00e8268a698dec08f8202c056aec","size":243,"data":"","first_seen":"2026-07-25T07:02:54.142504Z","last_seen":"2026-07-27T07:00:44.9509Z","times_seen":518,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d94eb39b7c5996a928c1d97e2d336207","sha1":"63d8851850a208fd85df769e5ccadcc4474859fe","sha256":"ea73e902e70b18a2f35dd009e26fcf9c68771ff4060e21c60533c90291328a25","sha512":"36bcc6c512fff73197bfea984000d3f197ae09de13dbc39397c2812b3f5b9e8da2d6ebead97520615c83ac480fa2c07701fba86a4a659c3114b29b9c889dbb34","ssdeep":"","tlshash":"c7100000000000000000000000000000c0000c00000000000000000300000000000000","size":2,"data":"","first_seen":"2023-03-26T06:16:09Z","last_seen":"2026-08-05T06:50:42.932135Z","times_seen":1362,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8019a2b7d49c53a548a55f046b75eb57","sha1":"4db451122874d00f6b6fc751e5545823a75b818a","sha256":"e313eabc79a57bc0506d61fce96ce2b6dd9cd635130b8c8d029fe24db01ce844","sha512":"e945ce874884b5d67375a48bf9169e85c9f19519dcd646eeced82292b23f9174af233c378fa483ed79a04fef47ea55c9fe0f8ec71a2bfb18c714efe75c3a112f","ssdeep":"","tlshash":"38c08ce873b61824c2809ab3a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":158,"data":"","first_seen":"2026-07-25T07:02:54.159204Z","last_seen":"2026-07-27T07:00:44.986576Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"79563e90630af3525dff01b6638b0886","sha1":"68d2ad23b5e1102797ff78d3d0d55d97ba75c268","sha256":"9e507a6dfbf98393bbf23d487af7f1c5b2e8ea0635e3f0cddeac3a9a090a3dbe","sha512":"c11c66b5e92dce18ce4e6c7c9d956d09afd5a734c046f8fe645653931de1db0ef639567724e65e48f05bd922a78fa1547c86996fd5de1a62573c4cc2f46d2300","ssdeep":"","tlshash":"c710000000000000000000000000000000003000300000000000000003000000000000","size":2,"data":"","first_seen":"2023-03-11T15:36:04Z","last_seen":"2026-07-27T07:00:45.007103Z","times_seen":970,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"df4ecf2995d9a4760b6fe2b232d66a91","sha1":"21dfc49632cd521980c8fd611315a62037b83142","sha256":"1d0ddd4ea3351d60237f5374532c094863db8fee5d00fdbb477612c30630d16e","sha512":"3f1e696cd9e7f7b05b35195d7967fa6fe8332b9e921ed3077b855283e083ddb38d878f6509353e11b40c8e9f2e2799dd820e790ec46ebe93a9da31576028c336","ssdeep":"","tlshash":"9ee07d68664571642f929e46868eba88d68a404dc071c9022629d0c00c745e4903de81","size":305,"data":"","first_seen":"2026-07-25T07:02:54.190462Z","last_seen":"2026-07-27T07:00:45.022381Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"908d5ccda6d90aab1d372185818e11c6","sha1":"917ea62d00a3e75d9b87d9a831eb81c24db4441f","sha256":"c9a8ffb3a00f63b1c983f1445fccea9aa101fe4d579aa885f7b1d8ab8e488faa","sha512":"868bb8a092222b3a369569f020417d22a4567faf3da65a85a2fa6492b812e961407d92f563bd02ec1c190d70a200301a36c9575386d779d98659d38ea7ecf40e","ssdeep":"","tlshash":"4cb092c8abc2a0625441958a413eba59f3e4bdc22706247ae052ac1aa4a470e40bf25b","size":118,"data":"","first_seen":"2026-07-25T07:02:54.17899Z","last_seen":"2026-07-27T07:00:45.003717Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8d8b85adc4d2474a84fbca1381afb3c7","sha1":"3815645d5a8680fd3ed4ce5a3b82f8d432448698","sha256":"3eb8abc484d33a620c974de75babdd2caae4fff7dc8daad7d860dd41c93ee611","sha512":"910cbf3ddef06885833d1127febca48a7f76337a577db0e125a3157ee738bba15ad1d30405e79e1de60279b2605f489b16d8b258fd17bc0c04bce685d65fedfa","ssdeep":"","tlshash":"08a0124823d0a000e671241804070a80b1a069046d1f22048280018d60d0682405c509","size":83,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-15T16:42:31.597382Z","times_seen":210852,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"83a77a8fa8101ab38a74167392abf2af","sha1":"ecad96d097ab2adb9729e0b0c5f8063e6445e4c7","sha256":"7e8c17ebc1c4489f3752972cf347c83e9eaf85dea4b84c375746377e5216d9d3","sha512":"f2250fb803e1cab98bdeabfe1cf415d3c7a2f3daf7d4d2e650196e709a5aff915427825b1f5e403dcefd704b290b091b69cb1fb437f6e5f69c7a1023a23f0c5a","ssdeep":"","tlshash":"c71000000000000c00000000000000000000000000000000000000000000000c000000","size":2,"data":"","first_seen":"2023-03-26T05:54:38Z","last_seen":"2026-08-11T06:24:15.298813Z","times_seen":8005,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7fc56270e7a70fa81a5935b72eacbe29","sha1":"6dcd4ce23d88e2ee9568ba546c007c63d9131c1b","sha256":"559aead08264d5795d3909718cdd05abd49572e84fe55590eef31a88a08fdffd","sha512":"21b4f4bd9e64ed355c3eb676a28ebedaf6d8f17bdc365995b319097153044080516bd083bfcce66121a3072646994c8430cc382b8dc543e84880183bf856cff5","ssdeep":"","tlshash":"c700000030000c00c0000030000000000000c000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:06Z","last_seen":"2026-08-15T16:48:43.492586Z","times_seen":74764,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f9f2d672039ed5d04839b769ad71e1b0","sha1":"9a86054ee3627014bb2f372f939ff22772a90aa5","sha256":"ef099fcece6eeca3777d0d4a6ac606beb557e08dcd95cf93d0d42a0334329c10","sha512":"52923fb4476412cf751131a95f749956c1a4c83641935695522af4434c3c42047820db169481885cb549e9a6a8c5ffbbc6ac49ad08f246612debd54bd3ee68e8","ssdeep":"","tlshash":"c71000000000000000000000000000c0000c0000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-08T15:11:30Z","last_seen":"2026-08-12T21:59:19.30441Z","times_seen":2737,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61a6f2652a0b6db05139abddb9b96ab7","sha1":"05548eab56f32db3c8c42fd2487a3f3b3ccf0ee1","sha256":"cc6e0d6af3dc4f620458aa79c4f4c0631ebc1bd55a148f5e9a06ea8874885831","sha512":"f2f89b1252cfe849de0cb4e8e8b7ee29cf99c563c5113ede3c45d470d5d14c45e0a3e30e560a79d14bfd4c46943c24a8444a1e81e4a0e93addf71ebdeaccaef4","ssdeep":"","tlshash":"4780047cdd4c5c350f157415001740441177700d50150005170004c44f311c5140fddc","size":38,"data":"","first_seen":"2023-03-11T13:53:37Z","last_seen":"2026-08-15T16:42:31.653541Z","times_seen":270177,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"32efc8291438b62ef493347e387cca0c","sha1":"cfde2c91f018e6df9094980266806f07d5595723","sha256":"6ea6f07e03fc88bb1c49cd7c10e57e591028e47da7ba7ee2587f34d1b9f3cc54","sha512":"81c67ce5df3bff4092525e1994a46a1798ac52f794c0a30e12fc4b3571bfa81a6d69a60144d8ed3246fe8e42b72a49108992bc01ab56c0b35f5e6c41782c4b5b","ssdeep":"","tlshash":"73e0c0197b572073a1b6288650062fcd6a682c4668c9788bd222794008acdc3544dc42","size":329,"data":"","first_seen":"2026-07-25T07:02:54.071637Z","last_seen":"2026-07-27T07:00:45.025225Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2d0b50c5f3341004fc9eb0180fbedbf","sha1":"a61e5ec146c93a860130cb8da7142fa3d1026a4b","sha256":"9c8b8d8ede5390dffefadd3c93c2cba6763f91fa72ec56525f683cd02667344d","sha512":"862f887b9b3c5580acb5d98a1e3c047e6c07f5fdb963069083a16c1b6a8380f5af6fa58d032da5b3756a57de86cfc388c7c7f96a9dbd5f0e0214407796ce8e38","ssdeep":"","tlshash":"0ad05b40ab0ae553904e3cd7c69ed9251a9155672112c01171216074d4735e487467a1","size":260,"data":"","first_seen":"2026-07-25T07:02:54.164149Z","last_seen":"2026-07-27T07:00:44.966501Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9087bfb5987e012165369f31c80da771","sha1":"e4b912603b7a38d385bb3770f3d3c3574c4c7d09","sha256":"17b51df2b060b946881ffe59fc2d1cd01fc09a7c7d40c7b4dcce2526e10308df","sha512":"df59e3a180757201879e376cbb16a70c6f55dd732e6eda3f9809868bcf9fe2eb2e73a288192394cc3b9736832423672db4a13a3f1fa1aaa8ac37d3374c01b356","ssdeep":"","tlshash":"28e026c771613759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3816","size":340,"data":"","first_seen":"2026-07-25T07:02:54.191647Z","last_seen":"2026-07-27T07:00:44.965368Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f465da03521180d47c811a98c793a2d6","sha1":"9b76105ff4c8bb84cd630914d772f4cc73df0155","sha256":"e8183224e440eb4578fd87c4c47735f9ede4c43b1c6ebbdcd7033e98aba6a009","sha512":"b10685b1bf88080c98cfa2493e4c1734797a6ee17e9d59ddd7cbd685a9596d4c908ac2a12be9ea2aed3f6ac67ced98f3c6e76b1882f6c0731d1dd60ae5de4156","ssdeep":"","tlshash":"7450000000303000c0c300000030300003000000c00000000300c0000c0000c0000000","size":9,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.655718Z","times_seen":188030,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"207c220e7119b0530724dc731f2361b4","sha1":"7aa18fcb217183a72060d380ee0150133518dee3","sha256":"645011bcb7ff4bb41b4ecb04213d43dbbf54fef13631581a2a59f7c167aa18fa","sha512":"9c0f5f4d4d2cba1b9b96427bc6a014a81fa6fc98815e7fc6370ef28c0b65d196a6d55fc7d9ccb9125455f8eab715e16847eec069e146de094aefb9e753f21fa3","ssdeep":"","tlshash":"80c022c87b2b0c088352d9ba107b0526d86ac928d94c8760d811fb16a92a25a087bb99","size":192,"data":"","first_seen":"2026-07-25T07:02:54.165992Z","last_seen":"2026-07-27T07:00:44.965913Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"39d2592bac0eccdff1e94886f4472629","sha1":"35d3462c7a93c0264610efd6ac970e5d47ca7792","sha256":"24677b8b077f1fc6144a4e59498483aa30800bd1ba610a984f65b357cb198479","sha512":"5c9b66a1781728f08b8b4f9493c68ed5af9382c90f72cc5869f2a07f1837e50ffa4719273c1445bc025454171a535cf621e8f29a6630c32f07843708331409f2","ssdeep":"","tlshash":"88b012247c08fc22ab212c7841120d197120c04354a784d7d02ce3c00339186300b593","size":98,"data":"","first_seen":"2026-07-25T07:02:54.143979Z","last_seen":"2026-07-27T07:00:45.023552Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9af69e91e9a0e1650ac23ca1a06d9a03","sha1":"1a26706289f10c0bd07fcca5b37e9cd1f31742ce","sha256":"b5f92e34f5614aa40d35166769b90304819bc552ad045006a56b2672ea5e635a","sha512":"23ce7998bc81e6515eb7c1d416ff1e22fe067aaf6d5348bd66654a5c6d9d65e89276e08da1431693589b7566ebdd95651132e2d6ed6ad3cc765532482f5c5d3c","ssdeep":"","tlshash":"67d023de54545753a25515f39009d6154307504f52f8cf5bd11198b414d64074087b11","size":213,"data":"","first_seen":"2026-07-25T07:02:54.07392Z","last_seen":"2026-07-27T07:00:44.954199Z","times_seen":516,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e3853dd21d7b37c8e001cbeb80def269","sha1":"22eab5e6d95c0a758b5105a2ca285550e4ddf4c0","sha256":"739c47988f1b9658cc13de9f615b8e5dcd2976ae3baf5442f36d6cdb7646b1a2","sha512":"186172b3a889c4e9dc3598d3d92d43b10144f04dcf14ecb3bcc6b6d6f45448caa601ab93a2b550bd7bf82f6a1905efccb9cabc88da9b70873a953a5ee0fe8660","ssdeep":"","tlshash":"4ef02d4235828222c02270af50bb60ce00b2c261af6b8e4e8a3292d15cea48a40c6f89","size":627,"data":"","first_seen":"2026-07-25T07:02:54.196783Z","last_seen":"2026-07-27T07:00:44.981605Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b6a20c0d9da44983aefc2889595774b7","sha1":"a6b83289561646aee8a972f7631e8e92f56cda48","sha256":"2fdd1b9481f875ab3ee4f5d37d4f77142929c0cdf6ced65060f0aa2aed4984a5","sha512":"9baedb500c9f00af4ff8fb892caba990a86a6042c868841f50f6b10c277d8c0566f5ce7049164e86e2bccaa0a786567e18bfb5f3ca7845b5ac65123f207b110c","ssdeep":"","tlshash":"66c022cc7b2b0c088352d9ba107b0566d86ac92cd94c8761d811fb16b92a25a087bba9","size":194,"data":"","first_seen":"2026-07-25T07:02:54.124398Z","last_seen":"2026-07-27T07:00:44.980996Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"05b8c74cbd96fbf2de4c1a352702fbf4","sha1":"320ad267d8d969f285eda5c184f5455bd29c8c95","sha256":"44ff7b02c80d38b26dd6aa31d9470aed81b32e10331a3c994fb1a9945fd847ba","sha512":"1ab6ceacde9b312b4f32d7c9f2d54448e82264c30807e4db86ec8e295791c1fb9aafb38985b2054e589c0a0a2830f1a389312fb2912dc2f9c949231967e03545","ssdeep":"","tlshash":"f6400000000000000030000003033300000000000000000000000000300000300000c0","size":6,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:48:43.755Z","times_seen":158988,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"382df8f48d5107dd2a96921030e79c0e","sha1":"19bd60f0b2ee5dd0d3ba977e9a464d03cf135682","sha256":"5893dbf7b9a7496a0d79489a22f335b0d20530e25f0b95656b206bf44d9bc139","sha512":"31f04d2c5e1759fe8774b17908257fc5e07199b54c7ff483008d92ee115393e249d0e8ae814a57758638a7ef3169a4a485812762f2efbc92be6cf307780f7741","ssdeep":"","tlshash":"f8b092191f6d822948a4760c66ab478ab8f8045299005c15b300648816a8e84009ae2a","size":109,"data":"","first_seen":"2026-07-25T07:02:54.150949Z","last_seen":"2026-07-27T07:00:44.960296Z","times_seen":512,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9818af84da6f96579e99ed315f69e0c5","sha1":"7ecf16ebb75bea5bc8309fbecd3e3df799ab4371","sha256":"dfa3bde638cb08d781f46d978f471fe535a642cb24d408bcc486a67c819cc4e4","sha512":"1a5cf2ca1f7c50defc0af583f15e3d2b0e392e8886d39ce5b6d213ee8e01ee3c1131a901b393f05cb8c9ea412fc2598cdbf33dd895e2d284fb9c7dc6ca080aa1","ssdeep":"","tlshash":"c71000000000000000000c000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-26T11:55:44Z","last_seen":"2026-07-30T09:57:35.066151Z","times_seen":2165,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4aae7fd3c815b1cfa3660cb3227a214c","sha1":"4531c0c13ac8462f9dd8f0dff0e13b1c3e150bcd","sha256":"cca00c516ba05df351915a75df4db57659d685c5af3622cedbba3c6b626af2a9","sha512":"c2f67d5e011e7ad703ab55ea89f91fff91b4245f5294cb73ded819757eb158102fd038f24b175c1f6eae717100cd63d9e9529cc90d124cd90a26ab4a1f650d4e","ssdeep":"","tlshash":"4d50003c30003000c0c0003000000000303c000cc0c000c0003c03c0c00f0c00000000","size":11,"data":"","first_seen":"2026-02-18T03:26:52.257023Z","last_seen":"2026-08-15T16:42:31.690943Z","times_seen":86266,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b640f7845a4341a89d25c0ca0f9b26f4","sha1":"5b98b63751f6e77fe954f5b95388d615eb263003","sha256":"3fdecbfeaacc1474406d975d54141cd22c1be7ed72ccf31bf23f5304e2b50164","sha512":"ec2592241ccbd9a0e93c49ad07121af8cb3acb2a4d8fc25e4f4599a1052d1fb51c9ef8538ac383c52e1205f9b6a17525703f2c4d4bd0d69fc090c04f93943066","ssdeep":"","tlshash":"2dd02b38e11c422b26970b4197c2183b05004642dd011d7b2eae28eb7044c9a9a1481a","size":256,"data":"","first_seen":"2025-03-17T23:26:20.961709Z","last_seen":"2026-08-15T16:42:31.616159Z","times_seen":170224,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"aac1259dfa2c6c5ead508f34e52bb990","sha1":"8ccb8a3f7ac5bd9c4f1ab74cb453f7f32903fb1b","sha256":"27a26bca625b223971909dd88fc93faeb050dc5b34d91c0871661740dcfb9d18","sha512":"2a404c9768dc86190bcc7c98645afa7b6f74488371b974d14da48d7379b2cfae6c8c5bc878ed17d0f9f4c4e62138bfe416cf9a1be31eab07e062c0f5f55ef811","ssdeep":"","tlshash":"c71000000000000c0000000000000000300000000000000000000000000c0000000000","size":2,"data":"","first_seen":"2023-03-10T08:44:37Z","last_seen":"2026-07-27T07:00:44.992827Z","times_seen":1135,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b640f7845a4341a89d25c0ca0f9b26f4","sha1":"5b98b63751f6e77fe954f5b95388d615eb263003","sha256":"3fdecbfeaacc1474406d975d54141cd22c1be7ed72ccf31bf23f5304e2b50164","sha512":"ec2592241ccbd9a0e93c49ad07121af8cb3acb2a4d8fc25e4f4599a1052d1fb51c9ef8538ac383c52e1205f9b6a17525703f2c4d4bd0d69fc090c04f93943066","ssdeep":"","tlshash":"2dd02b38e11c422b26970b4197c2183b05004642dd011d7b2eae28eb7044c9a9a1481a","size":256,"data":"","first_seen":"2025-03-17T23:26:20.961709Z","last_seen":"2026-08-15T16:42:31.616159Z","times_seen":170224,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"96d66a4d9708fdb6dd5597f3bbc7d624","sha1":"e10a66fa8a836f6f948941262b70e1fc928a446e","sha256":"3cabac574ada654802fc1c4518d870f0791a9a3ac31371677e75fb683e47ce89","sha512":"06c25bc4dba52367cbe19252c1a013e1714a198141d139939944422266aaaed60ea3953c5d0f890a7f9ce7887c5f2a4cbb47173d06f829d50ac33f6f353c015d","ssdeep":"","tlshash":"ebd023cb729c1114574337141eef0448bc64b4d70dbc941d8649581058011ede03aecf","size":195,"data":"","first_seen":"2023-03-08T14:47:45Z","last_seen":"2026-08-15T16:42:31.692107Z","times_seen":210453,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4c62bc4fd3c4e105cb3fb62fb748d59c","sha1":"f6e2d1e74e35ec4c4740ba02e890b98bda11417f","sha256":"9f4a6a370cd350425d8ac08047e7646116468672e99765ca198e6d463ee5286d","sha512":"5cb125ce0b7fdde81c6df58f6e27943a130f0d9e2a366d94ea8ed926da635dfe2b2c5778a14ed99bb35c7b2a48dcd12090cbac18370611d1c0438e1c2621efb4","ssdeep":"","tlshash":"6cd0129b738060e3d797fea709580020c1ef0b8402d2753d42d5d51070fe9ce83461e3","size":203,"data":"","first_seen":"2023-06-16T07:31:00Z","last_seen":"2026-08-15T16:42:31.566938Z","times_seen":193681,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","size":16281,"data":"","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d48a24ae9672ee573050e4d3aeeebe4d","sha1":"8f8c4d27852980a1ec5a8b1aba30769001314ec8","sha256":"53e5b7d706a350fe98d52499058624e15cddc1541f17370f94a899a386c50255","sha512":"02dd385ce15083c89617859325e29ce885ae235c8c5be416828066dcb5db78e69229802d87aaf759224e2656ab4c23bf1740ae1d357cfdb57ebf78ab77488921","ssdeep":"","tlshash":"43800020202088288888200b20308b8abaa0a228a83a2000a08c8e2cb822e80a038820","size":29,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:42:31.608947Z","times_seen":190482,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"673a875cd33f946c7fb234078db0d89f","sha1":"f1cecf9e970522a619b72e66a124dbf89737b06f","sha256":"e4d6fedd18866f7aa5469a8b90a348fec071f4b82598152a7aac6419edc3ac3b","sha512":"da7502389b64be9c9f1ce98b8976e58b6f1e897b5afd9af08fba27f6d70d01021e08f621eec1d589e2ffe0bd67e8610fd8936fb35623d28eb443631414c11e87","ssdeep":"","tlshash":"c71000c000000003000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-27T07:00:44.975594Z","times_seen":2378,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"796a99cad1a6610a7fa68e368d72cb4d","sha1":"b484b5b4973974c40859b0bcdc09c6c87a9a659c","sha256":"d61a50f46cd94e534153820f129c90bcab530e78f08cf2f179b008fac3c6f3dd","sha512":"76e33f7b2eac4d092754e12c149ce663195bad3173c574ddbd997bbc8a75594e868ace5263bfbb32aa2d38fe74918ef36242241498935df9df6535aecdaa7fb7","ssdeep":"","tlshash":"69d022072287ddb6a2729804030afa15b0ff100b0f262a06f3c885026734b8cc262a97","size":214,"data":"","first_seen":"2026-07-25T07:02:54.074862Z","last_seen":"2026-07-27T07:00:44.96701Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"eb7194ac9d6f5a83b6c7cae43038d2ef","sha1":"9b1cfda44cba767b72373d6df56249b565efb634","sha256":"eb2bf66d92707acd8be84dbfcca1376c2562c4ec94a4d87babbbe67f4d125aae","sha512":"7ae1e7cb8edf692da592a8ddc798f6f564f5ea0d6fd6919ee5c86ca95d983d15e707615cb6ff6623c0951e0eca8a4852f1d8d8596f985ba3e214feb47bfcb886","ssdeep":"","tlshash":"6390025969497099203710e0425e292640d2c40065544041961494f65434b17d531c6a","size":57,"data":"","first_seen":"2026-07-25T07:02:54.098994Z","last_seen":"2026-07-27T07:00:44.998879Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ded6cb7b021faf2355497e718ed7afc0","sha1":"fde446763014ad7c5b2045c021bdfe8ca139fd5d","sha256":"096a45acd89683278277589df946866fc34365c96212f1a60f42b143e5ffb28c","sha512":"160406cdfc444d63df42a6cff7c879049902401b95442e7ce2b82ccbac11aee8f6dbb1eb8382e2d8d21257925b51718eea4518fc53f8161654c3d8eef36546a9","ssdeep":"","tlshash":"25d02ba5b1061051f77079a19262d8989992d6cb2af1cdeb442c41400dbfe045875b14","size":283,"data":"","first_seen":"2026-07-25T07:02:54.081421Z","last_seen":"2026-07-27T07:00:45.022961Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"49342302f3a1bf591d537268aaa3db97","sha1":"1e27d4dce5d9e78a557d902e2f9255d8f1d567e4","sha256":"217a194b2b1e9e205f2ce02d68f3d346218cf59e0ffb48dfa0f2331ed11232c4","sha512":"4214bf7801e5a15a9af9e231ca3cdb1bd8a05eb81f603da3351e3def46477af2f9a3543cd8f1cc0e19df81303618c01c3b4bd820b4f45d8be5c11a1e0f0e067f","ssdeep":"","tlshash":"59a0120074447c0116112c75c2260584b0511a0b50902401810596c002705895113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.160135Z","last_seen":"2026-07-27T07:00:44.942852Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"219505d4d5ae5b145370ed3cef98cfa3","sha1":"89498e7304c8074715c729700b3955fc065531b0","sha256":"d298bd11845e65f3a66d13d3a5ab32c91d5430be6dd23c2bb70ef16c03e21751","sha512":"c169611018ff9ff3e5d894a922f07106d329ca6d9668b9dab35bed80b825bbe371edd8cbb5a63171e6f300470e690bf74d7704b7109cf78b286207e396916335","ssdeep":"","tlshash":"314000000000000000c3c000000000000000c000000300000030c00000000000c00000","size":6,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-15T16:42:31.563004Z","times_seen":177989,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"30ba2015f57e9fb9a3b395a597ce8f96","sha1":"bea3fe0a47418c0192788fd73b50c3b7f930a3c9","sha256":"f684f5f4f99665c48ebf89434434309281912ca6ae3283b246db5b9b0725e75a","sha512":"3db38cab3bcbb8c7595c8f0d00363bd335a59959c9d266a84b8679341c9c2f9fb4d1f89ae7679bf1c2cde13f1da7f2ec0043e4b1fbc8abdea754c06b095746e3","ssdeep":"","tlshash":"c71000000000000000003000000000030000000c000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-12T15:19:25Z","last_seen":"2026-07-27T07:00:44.984678Z","times_seen":1086,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"207c220e7119b0530724dc731f2361b4","sha1":"7aa18fcb217183a72060d380ee0150133518dee3","sha256":"645011bcb7ff4bb41b4ecb04213d43dbbf54fef13631581a2a59f7c167aa18fa","sha512":"9c0f5f4d4d2cba1b9b96427bc6a014a81fa6fc98815e7fc6370ef28c0b65d196a6d55fc7d9ccb9125455f8eab715e16847eec069e146de094aefb9e753f21fa3","ssdeep":"","tlshash":"80c022c87b2b0c088352d9ba107b0526d86ac928d94c8760d811fb16a92a25a087bb99","size":192,"data":"","first_seen":"2026-07-25T07:02:54.165992Z","last_seen":"2026-07-27T07:00:44.965913Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"57cec4137b614c87cb4e24a3d003a3e0","sha1":"23eb4d3f4155395a74e9d534f97ff4c1908f5aac","sha256":"18f5384d58bcb1bba0bcd9e6a6781d1a6ac2cc280c330ecbab6cb7931b721552","sha512":"4921de1edb2ecc8ca3a22823705194b902cfa471675f2d1ae8bf67d0c7b060a7c192e36ffca9f1a0d90ac2dbbdaf429ee1ec97e160eb00dc80b07000935304f3","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T14:46:49.183608Z","times_seen":46241,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bae3f90cb000352645e35fad60da411c","sha1":"00023f94c170125b979cb1914925d06ab1abfbce","sha256":"1e3606d95ce27d593157594820335681a9380f51a96147303cd8000e60a95e12","sha512":"d83d07979674822b4c966ddcb3bd4feb84830834e1f9fb255774ae237056cc357599e3aab9c6f47242aada2148a65c9ea11c859b1e8f550004535cc363fa02db","ssdeep":"","tlshash":"03800000203008388088000f3032cb8afaa0a22ae2322800c8a88c2cb0e8f80ba28838","size":35,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:42:31.663337Z","times_seen":186498,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"908d5ccda6d90aab1d372185818e11c6","sha1":"917ea62d00a3e75d9b87d9a831eb81c24db4441f","sha256":"c9a8ffb3a00f63b1c983f1445fccea9aa101fe4d579aa885f7b1d8ab8e488faa","sha512":"868bb8a092222b3a369569f020417d22a4567faf3da65a85a2fa6492b812e961407d92f563bd02ec1c190d70a200301a36c9575386d779d98659d38ea7ecf40e","ssdeep":"","tlshash":"4cb092c8abc2a0625441958a413eba59f3e4bdc22706247ae052ac1aa4a470e40bf25b","size":118,"data":"","first_seen":"2026-07-25T07:02:54.17899Z","last_seen":"2026-07-27T07:00:45.003717Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"771f01104d905386a134a676167edccc","sha1":"51af17721bd7b84218774f9064fe481c033d0b1c","sha256":"46874106f9ac7f3b68a422895aa223e1ea5ed0db860f179f6362cb166c65f8ca","sha512":"0c85b6b14d917b941d01903af93ca93b97b7112355ba3f19f0ac2e243427be9905abb48f24a6dd6c6a72c140bbbc7ed7d231609425b0f132375b0f990ccef8cf","ssdeep":"","tlshash":"c7100000000000000000000000000000000000000000000000030000c00000000c0000","size":2,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-07-27T07:00:44.994262Z","times_seen":1807,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f09564c9ca56850d4cd6b3319e541aee","sha1":"c3156e00d3c2588c639e0d3cf6821258b05761c7","sha256":"4ae81572f06e1b88fd5ced7a1a000945432e83e1551e6f721ee9c00b8cc33260","sha512":"2ddcd5fd66f62c38135603defc728493bc9012c9ea6abc8a9823165792136513b2c53722d2a79c0d6ea31467308bbb49eb217d151d79baf4b2085f487d0abfae","ssdeep":"","tlshash":"c700000000000300c00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:12Z","last_seen":"2026-08-14T12:42:56.668942Z","times_seen":58627,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2da41093c5101c915eba4d7ce7b0703d","sha1":"be67856563d898a7b733742a56b7c24e76f6c12b","sha256":"861a8f8ff3b790a4f6c9a8fbca93e201d714e26ee74a051cc77d25e79ef5f581","sha512":"c78400c6cb9ba66626b3f922da612a3663809ccf26a7b35521a117ee56b1f69fde071301026b99a7976cd6794a76568b7bb46065da5f4d0f23946c850b6a0e24","ssdeep":"","tlshash":"a70110862cf902b6b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":684,"data":"","first_seen":"2026-07-25T07:02:54.184161Z","last_seen":"2026-07-27T07:00:44.9995Z","times_seen":510,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7fc56270e7a70fa81a5935b72eacbe29","sha1":"6dcd4ce23d88e2ee9568ba546c007c63d9131c1b","sha256":"559aead08264d5795d3909718cdd05abd49572e84fe55590eef31a88a08fdffd","sha512":"21b4f4bd9e64ed355c3eb676a28ebedaf6d8f17bdc365995b319097153044080516bd083bfcce66121a3072646994c8430cc382b8dc543e84880183bf856cff5","ssdeep":"","tlshash":"c700000030000c00c0000030000000000000c000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:06Z","last_seen":"2026-08-15T16:48:43.492586Z","times_seen":74764,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9af69e91e9a0e1650ac23ca1a06d9a03","sha1":"1a26706289f10c0bd07fcca5b37e9cd1f31742ce","sha256":"b5f92e34f5614aa40d35166769b90304819bc552ad045006a56b2672ea5e635a","sha512":"23ce7998bc81e6515eb7c1d416ff1e22fe067aaf6d5348bd66654a5c6d9d65e89276e08da1431693589b7566ebdd95651132e2d6ed6ad3cc765532482f5c5d3c","ssdeep":"","tlshash":"67d023de54545753a25515f39009d6154307504f52f8cf5bd11198b414d64074087b11","size":213,"data":"","first_seen":"2026-07-25T07:02:54.07392Z","last_seen":"2026-07-27T07:00:44.954199Z","times_seen":516,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bae3f90cb000352645e35fad60da411c","sha1":"00023f94c170125b979cb1914925d06ab1abfbce","sha256":"1e3606d95ce27d593157594820335681a9380f51a96147303cd8000e60a95e12","sha512":"d83d07979674822b4c966ddcb3bd4feb84830834e1f9fb255774ae237056cc357599e3aab9c6f47242aada2148a65c9ea11c859b1e8f550004535cc363fa02db","ssdeep":"","tlshash":"03800000203008388088000f3032cb8afaa0a22ae2322800c8a88c2cb0e8f80ba28838","size":35,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:42:31.663337Z","times_seen":186498,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9087bfb5987e012165369f31c80da771","sha1":"e4b912603b7a38d385bb3770f3d3c3574c4c7d09","sha256":"17b51df2b060b946881ffe59fc2d1cd01fc09a7c7d40c7b4dcce2526e10308df","sha512":"df59e3a180757201879e376cbb16a70c6f55dd732e6eda3f9809868bcf9fe2eb2e73a288192394cc3b9736832423672db4a13a3f1fa1aaa8ac37d3374c01b356","ssdeep":"","tlshash":"28e026c771613759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3816","size":340,"data":"","first_seen":"2026-07-25T07:02:54.191647Z","last_seen":"2026-07-27T07:00:44.965368Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"316d406bec14ed278d88b29656ec9700","sha1":"bd547102264254e2beef20bde9dbb4a76930c603","sha256":"c20bceec8e69ac1e4c2e4e22bd2c3676487f19b8676151449558633b99b47e86","sha512":"46f1ff723d384eba48d0384e861d729824711cc28520de2cb5defc92c4db58aeff67b8349ad7d2d75368507cad41580169a73a544a2fd0364b326442be72360e","ssdeep":"","tlshash":"42c08c1814a2983a3224acc3b08f910234c528110104406483ad8031b73044aad380a9","size":145,"data":"","first_seen":"2026-07-25T07:02:54.099906Z","last_seen":"2026-07-27T07:00:44.979724Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5c244fde4e6f1ade71beed5c11edb59","sha1":"6bc634a7f8505a2ce340807aecfa1e50c2a578b3","sha256":"d561924e4295103128924509bbe71b3eed6625592d75ba3cc35c365189d6081d","sha512":"6ed66e7a246ab961cedd150553b6a9aa692988813dd4ee30c8b7d78d80bb8765a828112c6860d08eb382cae34e22bdd76ecda5ee1c9c7ee25a49b1d2639474f9","ssdeep":"","tlshash":"966000300c000330c0000c00000c0000003300000000003003000c0000300c0000000f","size":13,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-08-15T16:42:31.559998Z","times_seen":177016,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c498f21d596cab179eb2e5de92013857","sha1":"8a29a189198796bd164fc566e952884b07496fbe","sha256":"cd5e183ec113a6429535157117bb1ddc54f96b68728ca66921d74b20f8e4c15c","sha512":"4904d4f49e94e06750ba6c2783c51d29ee20d33aab48ea66ed7cb33796e8225b927b0de33aaa23af79e583f48e5d32db88b8ccab4053d59cf0ac4bfd93236c57","ssdeep":"","tlshash":"e770000a3c08a000a22238e008cb2088002300080000a80000c000800cb200e202280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.145555Z","last_seen":"2026-07-27T07:00:45.018968Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f69a3704d7f533aa4245e6bf79aaf7f0","sha1":"11e5a704728320de77d28101f21079c644136b4c","sha256":"adb064ad7f04d21017f0801899a3867082ed16d71583c6cc7756f30beb9363ff","sha512":"d12fd361ad1905660b2bc871f8d172acac2972e2cb3c4930db744248f12624d3f6410618ed13d6b45e6881d90f82078db0e2178f55b8ae4b151994ecb9ebbcfb","ssdeep":"","tlshash":"27d09730e9010300b22c1ca230a1dfe700a0c4073e00e8268a698dec08f8202c056aec","size":243,"data":"","first_seen":"2026-07-25T07:02:54.142504Z","last_seen":"2026-07-27T07:00:44.9509Z","times_seen":518,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"553043d48d6dd80a787af64045a49e96","sha1":"e63956e5e0aa636885b9ed763d13ab9fdd1ecc29","sha256":"1984338e5b6994ef452ccc065e0cbad0892b40e3ae8938d3bde4f6a76e660975","sha512":"6754bfc75e8a2d15fb5e7f309524e2b22812ff1d97cd7b18508495ab00c590eb64ced78dd0bff9aae3a5902fc2fd215cd73b76864004a441d2239777a547c631","ssdeep":"","tlshash":"8ad02bfb5811c06ffc23059213335dc910d2f20cd5993f9ab5b2b1a4392000c70d54c7","size":281,"data":"","first_seen":"2026-07-25T07:02:54.176272Z","last_seen":"2026-07-27T07:00:45.001355Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"13d618642764d2b6960367a857576c87","sha1":"8a7893b1545d1dfa2ebee469c2ee8ddd0a0c0b7d","sha256":"45428e1193fa8edd3f86d91bf4fb01b486cd6c1290d013f948c732adf7fb8875","sha512":"ae679fdd05e738532172c82f852d19e014f49f54e805eb49694cf0849c98278864afe9d8cbf2d19fa29c5fa73aa5143aeb3d012d841915597b5af30af9c77ba3","ssdeep":"","tlshash":"707000083c08a000822238a000ab00280022000022808a8080a000a00c3280a800288a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.077156Z","last_seen":"2026-07-27T07:00:45.000766Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"16c0e822a412e900773f94265229b860","sha1":"3f7b94f3942f43c81bf6104a63328a04122f46ef","sha256":"b15fdefcf464539466ed442882025a3860330cb62ac4613d91e8a94448850155","sha512":"662eed3905e417a9d5d68d7a9aef8c7eb97df1e6c03ad095fe7bc3f29a7820cd4b4611afd58f3ac95a91b71d7c45daeebcddd1ed5092d85b6d678b40b7fbe88f","ssdeep":"","tlshash":"60a024005c0c45013713315144370c0750d11107f0f44d0f430dc05017305050744333","size":75,"data":"","first_seen":"2026-07-25T07:02:54.207231Z","last_seen":"2026-07-27T07:00:45.031352Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","size":272133,"data":"","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4815a758657d4bae.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"9b4f6d29f92ea43b7c7ef4770fbed76a","sha1":"bdad2044ced7e4c0208e62e5650f99140e88aeb6","sha256":"6fb06a5d29509dddf687974e467d8274ef9ef0f6bec7c841fd8336543c9a3f74","sha512":"06ec26c380efdf73315dfc21639732033b79b7869acaed6d4a6697c4d441500bb21f57311b543ee176e2b31b775cff20bc5e611dfff3cca3a3a5c30c8338262f","ssdeep":"1536:UIYGGTQpo7UFYEpzussak11xgaAF+j/G7qWF:UIYGKO+UFZaJgaUt7/","tlshash":"f023d4c971e5b4900bb395b1803f000bf23e1d76185d98a0d3a2dde9b8b45aed233f99","size":49883,"data":"","first_seen":"2026-06-13T02:21:16.211868Z","last_seen":"2026-08-15T07:58:28.199154Z","times_seen":1916,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/800e836146d6e7eb.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"7b2a7348e5acf7f61cd01b2152c769a6","sha1":"1cc03a4809684838384744113d8a0e0093a62a3a","sha256":"c5bd83f87b5a8d38fee5230c1078de1f65ac83476cd29e8f5a41d63ea9bd22c5","sha512":"56b9d74b6b4d8a6f1e9909cb88c18e6c784c6bbab10d877a936f334ec5056d8720d20c2443e241c3064f536853f3ffa4578c1c8b3ab391ce8d671256a83a0ef3","ssdeep":"192:c0/B5NGI4y5Zzlqrvd2bcQFCx4zN2M15hNeSd4e+MQCC8h/PzM+kyhtTliuR3dQ5:cOq8bcj+Jz57b4e+MQCL2+k+Nll3dwA4","tlshash":"b492b81056143788f5b78289915fc40c302f2a4caf0e85b5bbbcac666b544e73a6ffd6","size":19477,"data":"","first_seen":"2026-06-09T20:30:37.829522Z","last_seen":"2026-08-06T12:32:43.342266Z","times_seen":1772,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"22fb59e0e0cdacc10fb7f1ad105606ed","sha1":"c6b3878cffd44663b546b12c26af899b037a4a53","sha256":"34469a749ff4f676f6d6a4d95bd641b9f9078810647dd3f14ac9e2aca1045513","sha512":"c39750c2a29c1873c338aba8a3bbd078bec533900b4ed5e1e46a17a8daf2b90c1999a8ea60da594bc411f49f60bb33f525f29d47990d0d6575b9231ba0ccf370","ssdeep":"","tlshash":"65d097c46bbb982c4984ce2b403311319049a21c8e080c50b230fb3bf7a075b243b0c1","size":229,"data":"","first_seen":"2026-07-25T07:02:54.072496Z","last_seen":"2026-07-27T07:00:44.969716Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"11721f4fe0fa20af0333c7eda891ca0f","sha1":"372c3c93f86eb46b9afffaebbf49c82cf42fa466","sha256":"ef2a3319810f3ae9cd5948f3229bc195d7b1558846487473b21a842f9d1b503b","sha512":"0f12b9a1099d5be03aa05cb2c7fda09fcd3d47094ee1973d5beb44d6651729d7c7d719af6b57981f3a39f9024ee36e549167a21724929930e62271547ec0e3c0","ssdeep":"","tlshash":"c7100000000c00c0000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-29T06:54:58.778431Z","times_seen":3057,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b2c033e81e5f5f3d63beba88712ff6ad","sha1":"98f27a412fcc1ba29098c5d60e0577a19d2d2db9","sha256":"bea6c2d06c730cbcc0383d0be45269737019dbd4e40dab4c786861a9c82baa8f","sha512":"6fd35b35256ea2ee673f840880503a5102921fdeafea46e81d91e200506905861eabf9dc5a7640bb37d0645e5a68febbd3a4d15c26db7ed405794c8865f0632c","ssdeep":"","tlshash":"84d0a7049119108386346d5bc282dfafe59184433e01d81b299c49ec16fc957e5b98a5","size":240,"data":"","first_seen":"2026-07-25T07:02:54.154377Z","last_seen":"2026-07-27T07:00:44.963638Z","times_seen":519,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2284743fe8a6178f117d584e3091d6e","sha1":"93d24c83d4a695e2a463bf66ea18a3e2147e9148","sha256":"8cf878073f71bf93dd67f56aab913b4a584f5ea15c56ea7030f96b9f26f23a4b","sha512":"7aa1cd340f7dc20e2259c9ef76fc6dd184133548d47ee9cf1c300e8ded20ae3e298748b874bb735dc639bb025be759096e3edfedd1c0396a094748bfe2734cf1","ssdeep":"","tlshash":"28c02bcf30c6da74817d001203179dc48107349f114b808743d040e400174908c1dcd7","size":138,"data":"","first_seen":"2026-02-18T11:53:38.7823Z","last_seen":"2026-08-15T16:42:31.676959Z","times_seen":81456,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3943450e225c6a2fdea1effade0ebd89","sha1":"56469df750b12b2c1ed5849865f5ede8381f153e","sha256":"ea43a462245af07a2916cdf93717d019f698edf00b308541c18dbc4983efc01c","sha512":"853b34dfcfbeb6d4c932a655b3487a87a75bfb08c079e7422078d4e2ec1c151513adaa5414c3ae267e19e2161852123fef5136402b378595e19b0139bfb0bf17","ssdeep":"","tlshash":"2ec08c090b0dd3a6038a6a94610a43aba15184ca7e611c28ab40e0c2e68e5054066a1e","size":149,"data":"","first_seen":"2026-07-25T07:02:54.138561Z","last_seen":"2026-07-27T07:00:45.01263Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c11d89c2ca93836ea343a05338bd670f","sha1":"62a6ad7f8271078933dcd08d5424e2393bb5da8b","sha256":"5b399a3e0eebfecdf232a414d8d0557d3eaed3041a5641a639e715c63586aaad","sha512":"f7855d7cc1bb2478457e1a465962dd6c7a86607759e9e70be7c3ae6c1eb28484222e8e51d876d28696dc1882c733ff396797d143eb074648d45c6274a8eed8c9","ssdeep":"","tlshash":"9a8004041c04d00c01511d5530df10cc045310d731100554141441c55c773451101d3c","size":34,"data":"","first_seen":"2026-07-25T07:02:54.181325Z","last_seen":"2026-07-27T07:00:44.958516Z","times_seen":490,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6a018021744a17ce12f331ddfc9f4a43","sha1":"013a5372ef558bf2069ecff391287178d924686a","sha256":"ecd4c8555c5c502135d6524ee29435f8d6cec21449660a8a640bc3d0962adb3d","sha512":"ddd192d479528d64c66ec2792bf161dbcb69c0b852a26083e2cba17f37c06d9c7cfc9f8137a69794d0fa3bc4bc6469faed95e640511036b199447cf0798d6a15","ssdeep":"","tlshash":"0c9022a03c203020002032008a0f083023030083c0800300a080c83b2c3020008c80c0","size":56,"data":"","first_seen":"2026-07-27T05:26:45.340543Z","last_seen":"2026-07-27T05:26:45.340543Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"219505d4d5ae5b145370ed3cef98cfa3","sha1":"89498e7304c8074715c729700b3955fc065531b0","sha256":"d298bd11845e65f3a66d13d3a5ab32c91d5430be6dd23c2bb70ef16c03e21751","sha512":"c169611018ff9ff3e5d894a922f07106d329ca6d9668b9dab35bed80b825bbe371edd8cbb5a63171e6f300470e690bf74d7704b7109cf78b286207e396916335","ssdeep":"","tlshash":"314000000000000000c3c000000000000000c000000300000030c00000000000c00000","size":6,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-15T16:42:31.563004Z","times_seen":177989,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"92eb5ffee6ae2fec3ad71c777531578f","sha1":"e9d71f5ee7c92d6dc9e92ffdad17b8bd49418f98","sha256":"3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d","sha512":"5267768822ee624d48fce15ec5ca79cbd602cb7f4c2157a516556991f22ef8c7b5ef7b18d1ff41c59370efb0858651d44a936c11b7b144c48fe04df3c6a3e8da","ssdeep":"","tlshash":"c700000000000003c00000300000000000000000000000000003000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-08-14T12:42:56.686986Z","times_seen":81684,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b5b6fee0a4d21f85dce9a49e0e9a9036","sha1":"34f9d5791d070ae880424d2e4c6c2b578271cac0","sha256":"123cbe058700145f7b9e0d18298653a900ac9389207b3b95c4a98fbec94401ab","sha512":"16b1868151143dfcb7805ad1d5a183bb7c99d79eeb35b3bb38b1d2110c7bd387c1222be2c121764afaacd7c74b503cd59fe5813f1d5d99c7d207ea7c57095e5f","ssdeep":"","tlshash":"52a0120076447c0116112c79c2260545b0511a0b54906401c10596c102705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.173327Z","last_seen":"2026-07-27T07:00:44.97092Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"32efc8291438b62ef493347e387cca0c","sha1":"cfde2c91f018e6df9094980266806f07d5595723","sha256":"6ea6f07e03fc88bb1c49cd7c10e57e591028e47da7ba7ee2587f34d1b9f3cc54","sha512":"81c67ce5df3bff4092525e1994a46a1798ac52f794c0a30e12fc4b3571bfa81a6d69a60144d8ed3246fe8e42b72a49108992bc01ab56c0b35f5e6c41782c4b5b","ssdeep":"","tlshash":"73e0c0197b572073a1b6288650062fcd6a682c4668c9788bd222794008acdc3544dc42","size":329,"data":"","first_seen":"2026-07-25T07:02:54.071637Z","last_seen":"2026-07-27T07:00:45.025225Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e1469a0c2dc2156f9a727d0ed640ac13","sha1":"ba1dd0fe89c6bf92a6a0f1dfc9336ec0c722f494","sha256":"12854497ac91b3bf315b127a6c446692fb3c10bd1dcd87c3d60a592f63083cc2","sha512":"0cced30914a00cca9185467b9de158e890ae36123087ab40ce5ab41f2ff3ff858178f42c2810106003fad52d94dbebf96e5e47c7d3935f2cb2ebffe7ab387b94","ssdeep":"","tlshash":"6c0110862cf902b7b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":686,"data":"","first_seen":"2026-07-25T07:02:54.118078Z","last_seen":"2026-07-27T07:00:44.964759Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5d43ef05e57cdeab7895fe8a3b6ee014","sha1":"19671e4e00cc9b5f8f6a6167c1ea8800ee539aeb","sha256":"b7893a0611b91f5fe47ce3889faf375eddbda47517f4e44c8c338eef6d2c41e5","sha512":"535346ebfe272e052e64dfa1845da29662c36e84fa5a946e52dcbb2cf4d894851a102180fb1c04603f86ec920d89fdfb62c1ddc14ea81ba4cec7d4723ad5598e","ssdeep":"","tlshash":"8db092a4a20c0b5812813919ad2b06e950e42704f82994884ac0ae2548e0a41568ead8","size":116,"data":"","first_seen":"2024-07-19T01:23:55Z","last_seen":"2026-08-15T16:42:31.655237Z","times_seen":193010,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8d8b85adc4d2474a84fbca1381afb3c7","sha1":"3815645d5a8680fd3ed4ce5a3b82f8d432448698","sha256":"3eb8abc484d33a620c974de75babdd2caae4fff7dc8daad7d860dd41c93ee611","sha512":"910cbf3ddef06885833d1127febca48a7f76337a577db0e125a3157ee738bba15ad1d30405e79e1de60279b2605f489b16d8b258fd17bc0c04bce685d65fedfa","ssdeep":"","tlshash":"08a0124823d0a000e671241804070a80b1a069046d1f22048280018d60d0682405c509","size":83,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-15T16:42:31.597382Z","times_seen":210852,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0e976b756b6afe7f40bca206a2d7150","sha1":"db9bee9a7bba93a60330ec5ef1334d9c164fcd56","sha256":"029b84af88c5d6ced58173997a15fa47011e198e5449027d87e2f7b871f332c2","sha512":"486596b8b7d88539b3147ed55749794ab08962047191f33ff9915fd4e4a8a9a24bc164c0d44f24357b6e9dd72d1ccd88f981aa0cf2c7df585a83000d4baccc9f","ssdeep":"","tlshash":"3f8000883cbab30e8222283223ab200aa2ae28c232088e00a00080803a3003a8032c0c","size":29,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.627556Z","times_seen":249568,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b5b6fee0a4d21f85dce9a49e0e9a9036","sha1":"34f9d5791d070ae880424d2e4c6c2b578271cac0","sha256":"123cbe058700145f7b9e0d18298653a900ac9389207b3b95c4a98fbec94401ab","sha512":"16b1868151143dfcb7805ad1d5a183bb7c99d79eeb35b3bb38b1d2110c7bd387c1222be2c121764afaacd7c74b503cd59fe5813f1d5d99c7d207ea7c57095e5f","ssdeep":"","tlshash":"52a0120076447c0116112c79c2260545b0511a0b54906401c10596c102705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.173327Z","last_seen":"2026-07-27T07:00:44.97092Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"63a7a928200fbecbaab566892f269b4c","sha1":"c71a636656586ecbfe05e9a5cfd5dd020f6fef61","sha256":"364b13b094815ae8cd606830efaae5f3f5be1e799ec75ec3bb301e1e1444aac4","sha512":"4b94f4c7820ccfc5b0ad57c2b4e2b7aec3aa7ed0e2e7b35d2e1f19b60b070eb4deec3cb87b3169bf47077f0f1c7d5d880950e8cb0f07e3428d524a0489a01ca4","ssdeep":"","tlshash":"8fc08cca89c8da99a01060ce34d3e009a368a9283a83f908d11ed1c46a40ad8e4ad47f","size":158,"data":"","first_seen":"2026-07-25T07:02:54.118953Z","last_seen":"2026-07-27T07:00:44.947463Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"506062df458617a6bfdd35a3fbd41c54","sha1":"7e7395752c17ceee179c6a6ac0cdc54a44401c6b","sha256":"a7e4c6a4faba5d54fbf9e416b44f1e4c26d60946ee542ea3510b95b0c146e6a4","sha512":"e0aa46183e606b4bd2eac6695caecce85498b80a41894bc26fd6dfa2a7db92c78f9e69349df0daf41d79df5a8d1f95c5aef07047e4231252f0eaa123daf3d096","ssdeep":"","tlshash":"cff08bd487010de8b201bce92deb3464927f89133c503009ba12a21a5234f4d945b82d","size":540,"data":"","first_seen":"2026-07-25T07:02:54.146382Z","last_seen":"2026-07-27T07:00:45.019491Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9d0137bffa0f20d5e8e9f54f2c84cf0a","sha1":"39edf6d919f82b9692a2edfecc78427a82567c42","sha256":"269d4d56785ffc82f3ed05d8ee3b84fc18d7474663ddd06c6fd285165190bb19","sha512":"0b8b09f13f8fbeb3546c08a3501f4060ba8e5f762722ffb1a53be6d0e297abaf9719d48d50cac29940e403702c66627187396b8961aee26586ac934568af2ea9","ssdeep":"","tlshash":"db50000000300000c30000000c30f00003000030c00000000300c0cc0c000300000000","size":10,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-15T16:42:31.562524Z","times_seen":187377,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0cb2ca5238ca9b85cbde05a0c6a96a2d","sha1":"e7a5d39e6f8c5139be41d138aeb818c7b5c789ba","sha256":"65cdc6799de01f75bae65d4915b26836b836cc17ab7614020fa97a1d96992d6e","sha512":"c76c6a2b76b731648ebe5b1ed2a0f02a6b803cd96721d39dd9022ea67cfc21c068cff19624d10f4fea8058e486b4138084c49a0d85113008a8f828be99dc79f8","ssdeep":"","tlshash":"c710000000000300000000000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-10T12:37:25Z","last_seen":"2026-07-27T07:00:45.007697Z","times_seen":6767,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8019a2b7d49c53a548a55f046b75eb57","sha1":"4db451122874d00f6b6fc751e5545823a75b818a","sha256":"e313eabc79a57bc0506d61fce96ce2b6dd9cd635130b8c8d029fe24db01ce844","sha512":"e945ce874884b5d67375a48bf9169e85c9f19519dcd646eeced82292b23f9174af233c378fa483ed79a04fef47ea55c9fe0f8ec71a2bfb18c714efe75c3a112f","ssdeep":"","tlshash":"38c08ce873b61824c2809ab3a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":158,"data":"","first_seen":"2026-07-25T07:02:54.159204Z","last_seen":"2026-07-27T07:00:44.986576Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c97f06046b55e8dae6a537ed7ae34fef","sha1":"84149880d516a37ca62c27e982f46d830b79caa8","sha256":"131b8b1c3193add0da6e1bc7b54e66e599b02037f372eb68ae1086fe443811f4","sha512":"8cd93216b1b29a3b9551a054b4c950e750d68749d9f6a2c8d7ddec13ec6894949d80c67cd339cd50916de026e15fc81727f9725ae127a9d6604b5989a711fa8f","ssdeep":"","tlshash":"6ef0dc0d48fd83769ac44dc290d33c0ccb0806071cc2610f7a49fb7032632b78497e64","size":485,"data":"","first_seen":"2026-07-25T07:02:54.134293Z","last_seen":"2026-07-27T07:00:44.955206Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bd4496eb0285aba06273987971f6063a","sha1":"8c7d085c9d54b41debd437430b6852de7f898857","sha256":"f2a353ed5469812b863c5fbeb58b4d46b864ba4e20a49f57f9c44c7cda45f46b","sha512":"ac6567c456643fbfb8ccc60e9f3695cd5b6fd80f8699277093e0d9ca898bfe4a0fb6dc848ec48f6255d0a9eb82a6e699cf2f977aa502120cf9b8caa121f6f3fb","ssdeep":"","tlshash":"5580000000c80a2eaa80822333b883a3b8a80aefb032200080a88c28800882800288a8","size":35,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:48:43.771914Z","times_seen":112135,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cb8abb683722cea7fb115342abc554ef","sha1":"776b83217d825a68ed51f891fb2d360c233eb726","sha256":"139ffca75e64693ada18ad987a1d7881947ff41ed7784d3dcf349f5915124464","sha512":"7fceeb9ba20bab9484738d20748f7a935aca6ab7d869417d3629d2db9884afba198b09c6fdca26a84d90d6fa5676000775da441daf4e9940fc687e476ae54a67","ssdeep":"","tlshash":"9fd097c46bbb982c4984ce2b40331131d049a21c8e080c50b230fb3bf7a075b243b0d1","size":231,"data":"","first_seen":"2026-07-25T07:02:54.205479Z","last_seen":"2026-07-27T07:00:45.00312Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f3c46dd141ed0afa02a1b3049bab0729","sha1":"0f9b6e8412fa13b27e3af2816a112bb28a04a735","sha256":"4962a69b03ce9dced7bd2f588eead880ca97dc93d3fd354fc911d8b6b815d11b","sha512":"006dc0d7d1ead7ff5d5cf02082d1aaebb3dfc2a9a046c9d60bddadfcb9e0ac4702e9868970fb61a9af4bf366d76a03d09a264adf462e9414296dd0d749c136f3","ssdeep":"","tlshash":"9ac08c090b0dd3a6038a6a94610a43aba15284cabe615c28ab40e0c2e68e6054066a1e","size":151,"data":"","first_seen":"2026-07-25T07:02:54.100897Z","last_seen":"2026-07-27T07:00:44.977956Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"644dc335ba482697b43192f5bde84d9c","sha1":"fca03ed806772ffcb1cbe9621bdf964719ef1569","sha256":"76e4392222a281443de945105b1deb3a14a6b53bb350ad127d42f13f5a81ee21","sha512":"8be06ff06adc228081ce796af04e081862bdd46ee0a4388d6f8a928c423eec8e167eb52e2a40ed444812fcc4fef2774349c253e0aea07ffbc1df69ec478869a3","ssdeep":"","tlshash":"6e7000083c082000a22238e0080b200a002300080000ae0000c008800c3220aa02a82b","size":22,"data":"","first_seen":"2026-07-25T07:02:54.150082Z","last_seen":"2026-07-27T07:00:44.995713Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5d43ef05e57cdeab7895fe8a3b6ee014","sha1":"19671e4e00cc9b5f8f6a6167c1ea8800ee539aeb","sha256":"b7893a0611b91f5fe47ce3889faf375eddbda47517f4e44c8c338eef6d2c41e5","sha512":"535346ebfe272e052e64dfa1845da29662c36e84fa5a946e52dcbb2cf4d894851a102180fb1c04603f86ec920d89fdfb62c1ddc14ea81ba4cec7d4723ad5598e","ssdeep":"","tlshash":"8db092a4a20c0b5812813919ad2b06e950e42704f82994884ac0ae2548e0a41568ead8","size":116,"data":"","first_seen":"2024-07-19T01:23:55Z","last_seen":"2026-08-15T16:42:31.655237Z","times_seen":193010,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"30ba2015f57e9fb9a3b395a597ce8f96","sha1":"bea3fe0a47418c0192788fd73b50c3b7f930a3c9","sha256":"f684f5f4f99665c48ebf89434434309281912ca6ae3283b246db5b9b0725e75a","sha512":"3db38cab3bcbb8c7595c8f0d00363bd335a59959c9d266a84b8679341c9c2f9fb4d1f89ae7679bf1c2cde13f1da7f2ec0043e4b1fbc8abdea754c06b095746e3","ssdeep":"","tlshash":"c71000000000000000003000000000030000000c000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-12T15:19:25Z","last_seen":"2026-07-27T07:00:44.984678Z","times_seen":1086,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c4ca4238a0b923820dcc509a6f75849b","sha1":"356a192b7913b04c54574d18c28d46e6395428ab","sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a","ssdeep":"","tlshash":"c70000000c000000c00000300000000000000000000000000000000000000000000030","size":1,"data":"","first_seen":"2023-03-07T01:10:09Z","last_seen":"2026-08-15T16:48:43.674283Z","times_seen":138704,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"56d477e14d3afb1ffba04e085eba7834","sha1":"640b4d7232aba3b4b3f243b10228f7bd6bb27aff","sha256":"21220562832a31cb34cf0cc2cfcf17728feac102affc17e2e97d7e405c224f06","sha512":"389a61bfa0b427630b58c48dd7c72c4206a76c88e6743d446674a84c0cddfdd12b8fa66086bdf5c900937cc837841b85f9c2f47f6a03237c552af2c5766ec936","ssdeep":"","tlshash":"82d02bfb5811c06ffc27059213335dc910d2f20dd5993f9ab6b2b1a4392000c70d54c7","size":283,"data":"","first_seen":"2026-07-25T07:02:54.126205Z","last_seen":"2026-07-27T07:00:44.985926Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4e5784c2f559c1f257d3fe1adff1b994","sha1":"a8bb93b81e79497dcbaea5f08618abe3e13614d5","sha256":"9abd5bd5bc72c038c0276119bd897de57b661a0e4b0d9849758dd698f4b11d10","sha512":"a66be2c2557a5eae52f07ea28edae7acf52d9ab08345204fc42a161d1c474ac05d43323229367c9eaffc197970a47846353096695ff79bb6fc820a804c268af4","ssdeep":"","tlshash":"19c02b08746220f04a43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":137,"data":"","first_seen":"2026-07-25T07:02:54.148131Z","last_seen":"2026-07-27T07:00:45.024626Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"644dc335ba482697b43192f5bde84d9c","sha1":"fca03ed806772ffcb1cbe9621bdf964719ef1569","sha256":"76e4392222a281443de945105b1deb3a14a6b53bb350ad127d42f13f5a81ee21","sha512":"8be06ff06adc228081ce796af04e081862bdd46ee0a4388d6f8a928c423eec8e167eb52e2a40ed444812fcc4fef2774349c253e0aea07ffbc1df69ec478869a3","ssdeep":"","tlshash":"6e7000083c082000a22238e0080b200a002300080000ae0000c008800c3220aa02a82b","size":22,"data":"","first_seen":"2026-07-25T07:02:54.150082Z","last_seen":"2026-07-27T07:00:44.995713Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"30ba2015f57e9fb9a3b395a597ce8f96","sha1":"bea3fe0a47418c0192788fd73b50c3b7f930a3c9","sha256":"f684f5f4f99665c48ebf89434434309281912ca6ae3283b246db5b9b0725e75a","sha512":"3db38cab3bcbb8c7595c8f0d00363bd335a59959c9d266a84b8679341c9c2f9fb4d1f89ae7679bf1c2cde13f1da7f2ec0043e4b1fbc8abdea754c06b095746e3","ssdeep":"","tlshash":"c71000000000000000003000000000030000000c000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-12T15:19:25Z","last_seen":"2026-07-27T07:00:44.984678Z","times_seen":1086,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c498f21d596cab179eb2e5de92013857","sha1":"8a29a189198796bd164fc566e952884b07496fbe","sha256":"cd5e183ec113a6429535157117bb1ddc54f96b68728ca66921d74b20f8e4c15c","sha512":"4904d4f49e94e06750ba6c2783c51d29ee20d33aab48ea66ed7cb33796e8225b927b0de33aaa23af79e583f48e5d32db88b8ccab4053d59cf0ac4bfd93236c57","ssdeep":"","tlshash":"e770000a3c08a000a22238e008cb2088002300080000a80000c000800cb200e202280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.145555Z","last_seen":"2026-07-27T07:00:45.018968Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"56d477e14d3afb1ffba04e085eba7834","sha1":"640b4d7232aba3b4b3f243b10228f7bd6bb27aff","sha256":"21220562832a31cb34cf0cc2cfcf17728feac102affc17e2e97d7e405c224f06","sha512":"389a61bfa0b427630b58c48dd7c72c4206a76c88e6743d446674a84c0cddfdd12b8fa66086bdf5c900937cc837841b85f9c2f47f6a03237c552af2c5766ec936","ssdeep":"","tlshash":"82d02bfb5811c06ffc27059213335dc910d2f20dd5993f9ab6b2b1a4392000c70d54c7","size":283,"data":"","first_seen":"2026-07-25T07:02:54.126205Z","last_seen":"2026-07-27T07:00:44.985926Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5f3c6a11b03839d46af9fb43c97c188","sha1":"a7ee38bb7be4fc44198cb2685d9601dcf2b9f569","sha256":"86be9a55762d316a3026c2836d044f5fc76e34da10e1b45feee5f18be7edb177","sha512":"dddb9ec4c4ac04a2559d9b711eaa8e35475db3c4d6a7a06dde785dc83f3ed121710cb512733c8095ff346fc8601e7a73ecb53fac752010116e692b1ce73c8e59","ssdeep":"","tlshash":"c700000000000000c00000300000000000000000000000000000000c00000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:19Z","last_seen":"2026-08-15T16:48:43.517589Z","times_seen":87394,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"673a875cd33f946c7fb234078db0d89f","sha1":"f1cecf9e970522a619b72e66a124dbf89737b06f","sha256":"e4d6fedd18866f7aa5469a8b90a348fec071f4b82598152a7aac6419edc3ac3b","sha512":"da7502389b64be9c9f1ce98b8976e58b6f1e897b5afd9af08fba27f6d70d01021e08f621eec1d589e2ffe0bd67e8610fd8936fb35623d28eb443631414c11e87","ssdeep":"","tlshash":"c71000c000000003000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-27T07:00:44.975594Z","times_seen":2378,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac74e3f51cb94709e1948a70433bdfc5","sha1":"76d121cd4e0c881523d60b8dafc1b3589ae5b2b9","sha256":"a217633e7706a1bd9a42b4bd78d98f44f81e614d34e42aa97562232e0a0ad14e","sha512":"d002a88da3d454e2fac7bdbe5704290b8c7c6d1eb2375744991a1514e9fe83cfe43438c67667d42aa12f2de01cada231171ec95288d671df022d4a7f4d1eb06d","ssdeep":"","tlshash":"2990028430426c102202e0612a9a69b6d175448020199164f0951044392545d505bd0c","size":51,"data":"","first_seen":"2026-07-25T07:02:54.16226Z","last_seen":"2026-07-27T07:00:44.974362Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64e1e1cbe1ca8e88ef3a838a3e7b57d6","sha1":"5498d9b96ed2832e04a90c4ac2ab71f869b2bfdc","sha256":"0510eddd781102030eb8860671503a28e6a37f5346de429bdd47c0a37c77cc7d","sha512":"44ee2764491048592021ece402fc174f9f4d95cf25dd7227e1029cfdfbc6f574f811fac940495ee0db71db3714c70d7ee27c142876e4a191a0fda92a2e93073d","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000300000000c00","size":2,"data":"","first_seen":"2023-03-10T03:04:09Z","last_seen":"2026-07-27T07:00:44.970327Z","times_seen":1286,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e25b5a6d5b2365cb579d486a6acba51b","sha1":"6f513d7efbf5cd1176677d41c82b897b8006217b","sha256":"81799c32d53294ca91ef92a976a6501f0a7c8c424aa44278c8f06c0f71e0eb52","sha512":"d0b8a9b323c125a111082164ec638c05109a1b0add4136f4a0b69c99b680579b4755177a7c586a92f295bd1882b7eb8e41eb6bac406ef90d4257805cfb82308f","ssdeep":"","tlshash":"e9e07db0258123422174df79f0f3120430e072c67e48ac8f51256b428e388c1142353b","size":314,"data":"","first_seen":"2026-07-25T07:02:54.113702Z","last_seen":"2026-07-27T07:00:44.946298Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"04349b75733f9a34b4021b587765005c","sha1":"6070a8a928fcfb84d659883893b6917e124ca898","sha256":"86d8798669d148db9b83305e628958589e0a0699eb4c5176a49445d3f4b45eb6","sha512":"951d0dbaee27fba356c6b0b3be78b59f088d48efe1d065da056b3c37633ccf9c7ef5932f08f294d5b5411fa7dad37f6cd9f9191bbce94af7c6e76e69eefa4cd3","ssdeep":"","tlshash":"a731a99f53b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1536,"data":"","first_seen":"2026-07-25T07:02:54.188598Z","last_seen":"2026-07-27T07:00:44.990878Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"df4ecf2995d9a4760b6fe2b232d66a91","sha1":"21dfc49632cd521980c8fd611315a62037b83142","sha256":"1d0ddd4ea3351d60237f5374532c094863db8fee5d00fdbb477612c30630d16e","sha512":"3f1e696cd9e7f7b05b35195d7967fa6fe8332b9e921ed3077b855283e083ddb38d878f6509353e11b40c8e9f2e2799dd820e790ec46ebe93a9da31576028c336","ssdeep":"","tlshash":"9ee07d68664571642f929e46868eba88d68a404dc071c9022629d0c00c745e4903de81","size":305,"data":"","first_seen":"2026-07-25T07:02:54.190462Z","last_seen":"2026-07-27T07:00:45.022381Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2284743fe8a6178f117d584e3091d6e","sha1":"93d24c83d4a695e2a463bf66ea18a3e2147e9148","sha256":"8cf878073f71bf93dd67f56aab913b4a584f5ea15c56ea7030f96b9f26f23a4b","sha512":"7aa1cd340f7dc20e2259c9ef76fc6dd184133548d47ee9cf1c300e8ded20ae3e298748b874bb735dc639bb025be759096e3edfedd1c0396a094748bfe2734cf1","ssdeep":"","tlshash":"28c02bcf30c6da74817d001203179dc48107349f114b808743d040e400174908c1dcd7","size":138,"data":"","first_seen":"2026-02-18T11:53:38.7823Z","last_seen":"2026-08-15T16:42:31.676959Z","times_seen":81456,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a7f8d6710421b13561d798da885286d4","sha1":"40bbf372af2386d0230d48c56680b364196e5238","sha256":"01233f22b0adbeec53c41f6c10babce298647c9c6c5c6ced4c143a2a88d18f4e","sha512":"86969e257ca8c46c346e574182d16d97936c58fac9d836ab3b8850d964753e8fd0b3a9f5b703cc23db2f982c8ca5b56f7b2a54ab7ce90178cd8c29a05724eb22","ssdeep":"","tlshash":"79f0e1c9b392146536ec934ebddf4d613cb16158413c512da7a066f104a06d5a8edf53","size":585,"data":"","first_seen":"2026-07-25T07:02:54.206377Z","last_seen":"2026-07-27T07:00:45.013199Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"42397e761d6e41735413532880049e6f","sha1":"95f740d93be57eaa0388e50ea79e4ce0bc32a47c","sha256":"76354f8202dcb3bd872442c0934f9c7e5e9f61540f27727a42a5eb594e9143ea","sha512":"37cf8e6de170216c3bb26136f48d90eb71bc4bd34d7b8e59991083fe5c79b32d4f12a4412445f5f115a748693f51a2d3528d3f2e8b169ebcb1b4a87c2124f9b3","ssdeep":"","tlshash":"8aa024451fc0173071c174f015070010450d107dd37444d54075dcd00c34fcd3441117","size":82,"data":"","first_seen":"2026-07-25T07:02:54.195903Z","last_seen":"2026-07-27T07:00:45.014366Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"288f4801942ba7fe2e468ad22eb3b34c","sha1":"93c816901b3435f6f5cf6b2bd92e6727e442a895","sha256":"3f0ed40e2c3c5964be4eedf2e9176f9987135e03e131c9e4faa1334b3d0f179b","sha512":"118664d8321242dd85ca89acfa377dca6520b707e6efe6ffa76f2d06facc829277bda47b5889021d70cd3f1a9a382ca7fbe5e41502906853f7527222f9a33659","ssdeep":"","tlshash":"c9e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c012a2ced569cf19","size":348,"data":"","first_seen":"2026-07-25T07:02:54.136642Z","last_seen":"2026-07-27T07:00:44.936518Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b16d224a9cf9b154c238a00f6ce89562","sha1":"bf90040361427079f596e6a8daa5c6ce789e6d2d","sha256":"8d1320cfe03ab58ca10d024104587c313b2e9dbd142122d973f29c92637aed23","sha512":"4bfdbc6f94a21a7a7955caa00d6f05f6faada48c56a5e7a72f4e70bbe9c6ce01e2f76a8699e4d035e9981d03a5ab940122be0ac7bdbd6ec7405a17d7e5f37605","ssdeep":"","tlshash":"7d31a99f13b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1534,"data":"","first_seen":"2026-07-25T07:02:54.139431Z","last_seen":"2026-07-27T07:00:44.944604Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"04349b75733f9a34b4021b587765005c","sha1":"6070a8a928fcfb84d659883893b6917e124ca898","sha256":"86d8798669d148db9b83305e628958589e0a0699eb4c5176a49445d3f4b45eb6","sha512":"951d0dbaee27fba356c6b0b3be78b59f088d48efe1d065da056b3c37633ccf9c7ef5932f08f294d5b5411fa7dad37f6cd9f9191bbce94af7c6e76e69eefa4cd3","ssdeep":"","tlshash":"a731a99f53b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1536,"data":"","first_seen":"2026-07-25T07:02:54.188598Z","last_seen":"2026-07-27T07:00:44.990878Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac74e3f51cb94709e1948a70433bdfc5","sha1":"76d121cd4e0c881523d60b8dafc1b3589ae5b2b9","sha256":"a217633e7706a1bd9a42b4bd78d98f44f81e614d34e42aa97562232e0a0ad14e","sha512":"d002a88da3d454e2fac7bdbe5704290b8c7c6d1eb2375744991a1514e9fe83cfe43438c67667d42aa12f2de01cada231171ec95288d671df022d4a7f4d1eb06d","ssdeep":"","tlshash":"2990028430426c102202e0612a9a69b6d175448020199164f0951044392545d505bd0c","size":51,"data":"","first_seen":"2026-07-25T07:02:54.16226Z","last_seen":"2026-07-27T07:00:44.974362Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/excm=base,root/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","size":442344,"data":"","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"909822438f3880445c5535efb48b46d9","sha1":"00685c680d8f0bfb3dda3154539bb972552fd921","sha256":"894963ac612d3c872d00cfc1a926c6f034036e99512409f06342bff53d723689","sha512":"ce5816d0da41ef048fbcd158120239337d58bf594db8b7deff493beb436c5319220f1b01ea03fd9f4b755b4fd43155f23271e1e27078167041feb5c9a784699f","ssdeep":"","tlshash":"f9c08cd873b61824c2809a73a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":156,"data":"","first_seen":"2026-07-25T07:02:54.13346Z","last_seen":"2026-07-27T07:00:45.030115Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d3789a3f91258fcf605452196e19c21c","sha1":"f468a49ed14aa61cc199cac1759cb76160b266ff","sha256":"fa37be71bea1abe989546295b5d10f6a34598aa7ce90cfed1f870131e8e30c9e","sha512":"b93e82af199ae63f26b48b71e93f5f5c7be0c5efe33aad59dcd1109142d79d988b24ba63c4c0a5731a1d2a852fe817da47371412bc5cc8579078e4c5eebb0669","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-07T21:37:56Z","last_seen":"2026-07-30T13:50:30.846493Z","times_seen":908,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"08a4415e9d594ff960030b921d42b91e","sha1":"1f444844b1ca616009c2b0e3564fecc065872b5b","sha256":"27a84712e4b22c415fc544d55cdee82327a829f96d03329457f76ebf9af4dcaa","sha512":"2c9fbb3f289c28bcec752f021d36c3a14b86140bd82942b06c0838931ce5999c1fd0b297b9bdb24aa145fc0244b7f3824c838d26ff7c222ad7663ddfb2c066b4","ssdeep":"","tlshash":"c71000000000000000000000000c0000000030000000000000c0000000000000000000","size":2,"data":"","first_seen":"2023-03-10T01:16:47Z","last_seen":"2026-07-27T07:00:44.971519Z","times_seen":2058,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2fd98c678db6a4e592fc1fce467a095","sha1":"23d71a1dee6fdcdb530042f8de4c7ab53166f476","sha256":"ce773908bfcad90b99b630fe30a23d2abf23d0530137862b34afd9426fc37f4e","sha512":"4cfdbe3278dfe3b25ee1d5b7c5e2b6136e0813ed126409b436ff14b98ff511e7849897d572bb20701f90c207a7d1a474166b8a3c01bcaa87f87836674926e582","ssdeep":"","tlshash":"14b012187d04e4376302347960230d04e151080342818c0b800ed8c047701cb00104bf","size":91,"data":"","first_seen":"2026-07-25T07:02:54.158231Z","last_seen":"2026-07-27T07:00:45.020059Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0ee7840c65fd232997d06d9430eb3cd3","sha1":"d7b08c1b33e71fb050eda8eb76673e4ad9a8e2e7","sha256":"b1934a6c0e3ad971de0f6acb755aa575707e156d75224d0d6290a0f1d9fb6329","sha512":"f49fc43de4c5e49b7b4f81a3de77f3a6642f44ed070ae82a48e541a680b4992dee7b43218235a23384d386adddaca5a463a723470e778006b84dbe309db5e215","ssdeep":"","tlshash":"61e020a4b60370c596a67c844417db33f1b8b6180864679335a9f85cbc15507929bf35","size":347,"data":"","first_seen":"2026-07-25T07:02:54.163257Z","last_seen":"2026-07-27T07:00:45.009317Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5c244fde4e6f1ade71beed5c11edb59","sha1":"6bc634a7f8505a2ce340807aecfa1e50c2a578b3","sha256":"d561924e4295103128924509bbe71b3eed6625592d75ba3cc35c365189d6081d","sha512":"6ed66e7a246ab961cedd150553b6a9aa692988813dd4ee30c8b7d78d80bb8765a828112c6860d08eb382cae34e22bdd76ecda5ee1c9c7ee25a49b1d2639474f9","ssdeep":"","tlshash":"966000300c000330c0000c00000c0000003300000000003003000c0000300c0000000f","size":13,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-08-15T16:42:31.559998Z","times_seen":177016,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"22fb59e0e0cdacc10fb7f1ad105606ed","sha1":"c6b3878cffd44663b546b12c26af899b037a4a53","sha256":"34469a749ff4f676f6d6a4d95bd641b9f9078810647dd3f14ac9e2aca1045513","sha512":"c39750c2a29c1873c338aba8a3bbd078bec533900b4ed5e1e46a17a8daf2b90c1999a8ea60da594bc411f49f60bb33f525f29d47990d0d6575b9231ba0ccf370","ssdeep":"","tlshash":"65d097c46bbb982c4984ce2b403311319049a21c8e080c50b230fb3bf7a075b243b0c1","size":229,"data":"","first_seen":"2026-07-25T07:02:54.072496Z","last_seen":"2026-07-27T07:00:44.969716Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9e6f21901550fc1605fc3b7bb6220df5","sha1":"2c9aa881509ef9f0bdc5a0e496b852467b52bd1a","sha256":"d68cf2832956cf0a7b5ce50801e57f1a4aa9c959d170ef458bc12ee7a8e26f5f","sha512":"fe48c482cef77538444ec38384fc51fd461c90e228bcc2be17c1558ea1937e26eee63a2ea7fd01969aa1132b1413d738bc023fc6ea286b151dd8f8267278ad12","ssdeep":"","tlshash":"6ca0120074447c0116112c75c2260548f0511a0b50902401810596c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.172421Z","last_seen":"2026-07-27T07:00:44.980375Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2cc43ad532377e05783b919d86a896d9","sha1":"69e00bdb15ac21186c8d27764e6311759ba5b99b","sha256":"007cd5f5a967155b6963ac5de46c369ee23237414c3f576b4197fe46229808ce","sha512":"404182f4b51a22a4a35e58480d372a65db2465803ca23913e379199413edf84fa74dcf0f92026d8561dcc35bdff981cb98a38c8f50ae05f7224e5c7b42b30c92","ssdeep":"","tlshash":"2cd022c93c4978d20279238888ba01f7e2fbb8dc78068b40c32442002a3ca3a5464402","size":199,"data":"","first_seen":"2024-10-31T11:08:50.83142Z","last_seen":"2026-08-15T16:42:31.59256Z","times_seen":158940,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c4ca4238a0b923820dcc509a6f75849b","sha1":"356a192b7913b04c54574d18c28d46e6395428ab","sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","sha512":"4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a","ssdeep":"","tlshash":"c70000000c000000c00000300000000000000000000000000000000000000000000030","size":1,"data":"","first_seen":"2023-03-07T01:10:09Z","last_seen":"2026-08-15T16:48:43.674283Z","times_seen":138704,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"58cf531c1b4e5d67b0c780ff6899d969","sha1":"9e997fb73f7026136c3201510d77658d59407ded","sha256":"16d4dd67cf8a92581836f38ae1673f2fb1d7d97e0f913eaa6e7e102be59cc123","sha512":"b1961e02be4ed40fd3ccf43025f087eb7528a808a4349b7a97525a0b07f298ff35062c61bf5c5758027ef410cfa58aacfdaed05ca47e4bc93ef17feeff4817f9","ssdeep":"","tlshash":"eba0220c3c083002320b2cb0888b82cbc0202330e0080802c032c08222f3a0c830be3b","size":72,"data":"","first_seen":"2026-07-25T07:02:54.187451Z","last_seen":"2026-07-27T07:00:44.96084Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/480cde08b8bfd5ce.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"2197ad79def7e68e0db5210279b81a88","sha1":"4a9572c96dc4b65a933f8494889a2d78f6bc8b3b","sha256":"0c61a398dcdf9a5d5a6a744855e7d95635c22711ee32b5af4a658fc6035de812","sha512":"1ed4b2613596da63a7fbbb97a8839e5ae8cf7a62d48b3f2818a3d7b510dde3fef57905aa4ce17843dcee71e3b9205f42c8e3b412427bddd975643af58c1b5979","ssdeep":"768:9Nf3ebiEpt8v84l+ayd9ar543m7dGwVBmOJ8SLBlbGJz5RBC8zogjPwNp9WxBbV3:yGY8AJ8pIOCSOvB9GW7H5sZzIxB","tlshash":"8883f8f931d1f88207ab44aac43f0002f32c5d77189e7864a3e5ddea716455da1f2faa","size":84456,"data":"","first_seen":"2026-04-28T18:06:46.282063Z","last_seen":"2026-08-15T07:58:28.225609Z","times_seen":2193,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/33074d3ff5d0cd2d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"992603cebc96287b9bf186c47928c4d2","sha1":"8a86c102cf1671f6d0cf3b6b5598fff510a4b79d","sha256":"93abe3bbe2a336a05186632225cfa198e5969ab56080e1163da35e41ae9facaf","sha512":"06cc3005d9c8ffe1f27e81eac61fddab10c3e07cdca8c183315799b19b177a9f9dd2043bd1c9c92364578b78d69640c31014db6cca25a74972244784f2de74a2","ssdeep":"","tlshash":"e4d02b702250fcd8408aa4cc8836424bf529247262fe3495d7ae8cb1a174f0c51e1955","size":282,"data":"","first_seen":"2026-02-04T14:24:19.894391Z","last_seen":"2026-08-15T07:58:28.181139Z","times_seen":3072,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"97893f46e7e13ef37b4c2e0ac60d85ca","sha1":"9c93b4599fe3df75fb3326420f7805a0b572eb98","sha256":"e5b564a7a4059dccb9c20cd678603a6f30c5f3db3af9b421e7f87eb37b030337","sha512":"973fb08ee51bb939b314a5dca3d67e39b8d27d209f5328a9c6fc3e4d7a716b29098e81824ac0c15f9a9a98d070fe09176399f78f1828080c5d9142c9835453f4","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000000c00","size":2,"data":"","first_seen":"2023-10-13T15:09:37Z","last_seen":"2026-07-27T07:00:44.950253Z","times_seen":1984,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9818af84da6f96579e99ed315f69e0c5","sha1":"7ecf16ebb75bea5bc8309fbecd3e3df799ab4371","sha256":"dfa3bde638cb08d781f46d978f471fe535a642cb24d408bcc486a67c819cc4e4","sha512":"1a5cf2ca1f7c50defc0af583f15e3d2b0e392e8886d39ce5b6d213ee8e01ee3c1131a901b393f05cb8c9ea412fc2598cdbf33dd895e2d284fb9c7dc6ca080aa1","ssdeep":"","tlshash":"c71000000000000000000c000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-26T11:55:44Z","last_seen":"2026-07-30T09:57:35.066151Z","times_seen":2165,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac6dfa045179132aefaf73bbae961f84","sha1":"5b4a09943ab49ca1438497710be50b54077e9374","sha256":"18437a515c82285b4cbdaf60b46bdcd426eb4514c03ebef4e2e4a3caa0f75497","sha512":"df27138801c468c597084ae71e58544c6d3b95e9d57d3bb003339aa035e1e04eb7b85932f01573eba17613500cd7bf65d9de52570fd0dcd3f409dc5286d5f155","ssdeep":"","tlshash":"a6b012185c0835193f336ce99117681ed0b0dd06c4b4b90d8004d5d402a404e5051cbf","size":94,"data":"","first_seen":"2026-07-25T07:02:54.141577Z","last_seen":"2026-07-27T07:00:45.030723Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac6dfa045179132aefaf73bbae961f84","sha1":"5b4a09943ab49ca1438497710be50b54077e9374","sha256":"18437a515c82285b4cbdaf60b46bdcd426eb4514c03ebef4e2e4a3caa0f75497","sha512":"df27138801c468c597084ae71e58544c6d3b95e9d57d3bb003339aa035e1e04eb7b85932f01573eba17613500cd7bf65d9de52570fd0dcd3f409dc5286d5f155","ssdeep":"","tlshash":"a6b012185c0835193f336ce99117681ed0b0dd06c4b4b90d8004d5d402a404e5051cbf","size":94,"data":"","first_seen":"2026-07-25T07:02:54.141577Z","last_seen":"2026-07-27T07:00:45.030723Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"21af29eb4a2661cde1ec2e23d5bfacd6","sha1":"7d2873f1d5edec0591009cb7c58ac0a8583acbeb","sha256":"355b175012ceed0b8437fb62d9e30416e770998561d266f70691acd8f7022641","sha512":"421539d8e4b532816aa4e443242637ff1e64519e1131ca733adb76acb7defa95088078a829c848c79f3e0c98c5065c0179d868360023547dad53797f81cee06d","ssdeep":"","tlshash":"f1c0122f63c0433609d3a2c4128f2716420991093ed51dae985663b81c3a0476068d25","size":190,"data":"","first_seen":"2026-07-25T07:02:54.080469Z","last_seen":"2026-07-27T07:00:45.010434Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8019a2b7d49c53a548a55f046b75eb57","sha1":"4db451122874d00f6b6fc751e5545823a75b818a","sha256":"e313eabc79a57bc0506d61fce96ce2b6dd9cd635130b8c8d029fe24db01ce844","sha512":"e945ce874884b5d67375a48bf9169e85c9f19519dcd646eeced82292b23f9174af233c378fa483ed79a04fef47ea55c9fe0f8ec71a2bfb18c714efe75c3a112f","ssdeep":"","tlshash":"38c08ce873b61824c2809ab3a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":158,"data":"","first_seen":"2026-07-25T07:02:54.159204Z","last_seen":"2026-07-27T07:00:44.986576Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c3787754c9ab0b54c83fc20e994fd71e","sha1":"79836961d0829dd4343389004c5f3bd806adeb6b","sha256":"725f4326baec82abc6db3f2144c45f09d47264f86f9fbc21a9825a9e73a7368a","sha512":"8d62d1275f3fe42a18d23ee3f8dfc60eca479b3eef7c05ad6181f2aa36b8c5ba1e937408474d57a33a742058c55f7c3f805a0b48f1f3162596be217a76e9d538","ssdeep":"","tlshash":"a8b01224242de61233322ef180131d2c603a4406425f590ec04de5c0033c0cb40475ef","size":97,"data":"","first_seen":"2026-07-25T07:02:54.156202Z","last_seen":"2026-07-27T07:00:44.993549Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4aae7fd3c815b1cfa3660cb3227a214c","sha1":"4531c0c13ac8462f9dd8f0dff0e13b1c3e150bcd","sha256":"cca00c516ba05df351915a75df4db57659d685c5af3622cedbba3c6b626af2a9","sha512":"c2f67d5e011e7ad703ab55ea89f91fff91b4245f5294cb73ded819757eb158102fd038f24b175c1f6eae717100cd63d9e9529cc90d124cd90a26ab4a1f650d4e","ssdeep":"","tlshash":"4d50003c30003000c0c0003000000000303c000cc0c000c0003c03c0c00f0c00000000","size":11,"data":"","first_seen":"2026-02-18T03:26:52.257023Z","last_seen":"2026-08-15T16:42:31.690943Z","times_seen":86266,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e25b5a6d5b2365cb579d486a6acba51b","sha1":"6f513d7efbf5cd1176677d41c82b897b8006217b","sha256":"81799c32d53294ca91ef92a976a6501f0a7c8c424aa44278c8f06c0f71e0eb52","sha512":"d0b8a9b323c125a111082164ec638c05109a1b0add4136f4a0b69c99b680579b4755177a7c586a92f295bd1882b7eb8e41eb6bac406ef90d4257805cfb82308f","ssdeep":"","tlshash":"e9e07db0258123422174df79f0f3120430e072c67e48ac8f51256b428e388c1142353b","size":314,"data":"","first_seen":"2026-07-25T07:02:54.113702Z","last_seen":"2026-07-27T07:00:44.946298Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"553043d48d6dd80a787af64045a49e96","sha1":"e63956e5e0aa636885b9ed763d13ab9fdd1ecc29","sha256":"1984338e5b6994ef452ccc065e0cbad0892b40e3ae8938d3bde4f6a76e660975","sha512":"6754bfc75e8a2d15fb5e7f309524e2b22812ff1d97cd7b18508495ab00c590eb64ced78dd0bff9aae3a5902fc2fd215cd73b76864004a441d2239777a547c631","ssdeep":"","tlshash":"8ad02bfb5811c06ffc23059213335dc910d2f20cd5993f9ab5b2b1a4392000c70d54c7","size":281,"data":"","first_seen":"2026-07-25T07:02:54.176272Z","last_seen":"2026-07-27T07:00:45.001355Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"eb7194ac9d6f5a83b6c7cae43038d2ef","sha1":"9b1cfda44cba767b72373d6df56249b565efb634","sha256":"eb2bf66d92707acd8be84dbfcca1376c2562c4ec94a4d87babbbe67f4d125aae","sha512":"7ae1e7cb8edf692da592a8ddc798f6f564f5ea0d6fd6919ee5c86ca95d983d15e707615cb6ff6623c0951e0eca8a4852f1d8d8596f985ba3e214feb47bfcb886","ssdeep":"","tlshash":"6390025969497099203710e0425e292640d2c40065544041961494f65434b17d531c6a","size":57,"data":"","first_seen":"2026-07-25T07:02:54.098994Z","last_seen":"2026-07-27T07:00:44.998879Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9d0137bffa0f20d5e8e9f54f2c84cf0a","sha1":"39edf6d919f82b9692a2edfecc78427a82567c42","sha256":"269d4d56785ffc82f3ed05d8ee3b84fc18d7474663ddd06c6fd285165190bb19","sha512":"0b8b09f13f8fbeb3546c08a3501f4060ba8e5f762722ffb1a53be6d0e297abaf9719d48d50cac29940e403702c66627187396b8961aee26586ac934568af2ea9","ssdeep":"","tlshash":"db50000000300000c30000000c30f00003000030c00000000300c0cc0c000300000000","size":10,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-15T16:42:31.562524Z","times_seen":187377,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"06940d1ec461f6967164c26d60cbaefc","sha1":"2dd63cac632d95db488d6221109b5f3f932c9999","sha256":"c9f3959e3d485cc26bd83a108824fe7039921005faa810892c704386b9572acd","sha512":"4abc10cb04a87ffa25293243f9bb9d4498d4a1acebe89e239cdc92058d9f491da6b5de3ea698c856e62b3153c7d006aa340ee50912e29f019752453976fce2bb","ssdeep":"","tlshash":"ebb01224281de61233322ef080131d2c603b4402424f551ec44ce5c2032c0ce80475eb","size":96,"data":"","first_seen":"2026-07-25T07:02:54.115267Z","last_seen":"2026-07-27T07:00:44.990278Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"accb66f0ecd826aac89065990e1da97f","sha1":"3c5339881a1720deed325383e8c3839b7748d254","sha256":"ca68fe3f50735b174e950c34f54dc1f4469d57f94c55f259174e8ee730ea86c4","sha512":"52408933e4d4f3fc5069da409f56adaa898366c9c2b71abc013277b38aba5e7dcac15868ffef3495cc1a64af8cbe1bdd7dcf79691ec2b15ac2eb8a3fa76f3370","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000300000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-08-03T07:02:53.92188Z","times_seen":2848,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0ee7840c65fd232997d06d9430eb3cd3","sha1":"d7b08c1b33e71fb050eda8eb76673e4ad9a8e2e7","sha256":"b1934a6c0e3ad971de0f6acb755aa575707e156d75224d0d6290a0f1d9fb6329","sha512":"f49fc43de4c5e49b7b4f81a3de77f3a6642f44ed070ae82a48e541a680b4992dee7b43218235a23384d386adddaca5a463a723470e778006b84dbe309db5e215","ssdeep":"","tlshash":"61e020a4b60370c596a67c844417db33f1b8b6180864679335a9f85cbc15507929bf35","size":347,"data":"","first_seen":"2026-07-25T07:02:54.163257Z","last_seen":"2026-07-27T07:00:45.009317Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c3787754c9ab0b54c83fc20e994fd71e","sha1":"79836961d0829dd4343389004c5f3bd806adeb6b","sha256":"725f4326baec82abc6db3f2144c45f09d47264f86f9fbc21a9825a9e73a7368a","sha512":"8d62d1275f3fe42a18d23ee3f8dfc60eca479b3eef7c05ad6181f2aa36b8c5ba1e937408474d57a33a742058c55f7c3f805a0b48f1f3162596be217a76e9d538","ssdeep":"","tlshash":"a8b01224242de61233322ef180131d2c603a4406425f590ec04de5c0033c0cb40475ef","size":97,"data":"","first_seen":"2026-07-25T07:02:54.156202Z","last_seen":"2026-07-27T07:00:44.993549Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b16d224a9cf9b154c238a00f6ce89562","sha1":"bf90040361427079f596e6a8daa5c6ce789e6d2d","sha256":"8d1320cfe03ab58ca10d024104587c313b2e9dbd142122d973f29c92637aed23","sha512":"4bfdbc6f94a21a7a7955caa00d6f05f6faada48c56a5e7a72f4e70bbe9c6ce01e2f76a8699e4d035e9981d03a5ab940122be0ac7bdbd6ec7405a17d7e5f37605","ssdeep":"","tlshash":"7d31a99f13b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1534,"data":"","first_seen":"2026-07-25T07:02:54.139431Z","last_seen":"2026-07-27T07:00:44.944604Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b5b6fee0a4d21f85dce9a49e0e9a9036","sha1":"34f9d5791d070ae880424d2e4c6c2b578271cac0","sha256":"123cbe058700145f7b9e0d18298653a900ac9389207b3b95c4a98fbec94401ab","sha512":"16b1868151143dfcb7805ad1d5a183bb7c99d79eeb35b3bb38b1d2110c7bd387c1222be2c121764afaacd7c74b503cd59fe5813f1d5d99c7d207ea7c57095e5f","ssdeep":"","tlshash":"52a0120076447c0116112c79c2260545b0511a0b54906401c10596c102705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.173327Z","last_seen":"2026-07-27T07:00:44.97092Z","times_seen":509,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e4728480e2fb7f7ad5c9fda4ae9a24a7","sha1":"d271c64c26f1980b5bcba96d21ac5cadb06e7977","sha256":"8222c16f8274ee37719a8d83f2aefe2259e820728e881bfc83430f3c5336f732","sha512":"d5c34af2fb42a8ebf58500129c2cbbec60704cc1e3275f93dfc44dccd3b3487456bb20ed56bb7e4138e86530d9f61b4cfd2e791b5e0d857c87336a50ed923bea","ssdeep":"","tlshash":"e8d09706b91480223932382302628e07e4a2e8475df3a452a18acdc945f1944805d919","size":241,"data":"","first_seen":"2026-07-25T07:02:54.165069Z","last_seen":"2026-07-27T07:00:44.945204Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1750e9b76f54961545a1edf5b6bd9a5f","sha1":"9bdfc833f7e055821fae1f547e0abec9ee9b9718","sha256":"358ccf6ccf547b6106792de57295c558115f2ba6f5764c19a638c992bf90aeb4","sha512":"62c097d4b1fa74b247955132f63bb4b06f2ff9fb5074d68382f0f7d3233f82bf1a62b3153497ea23bb745f3c9ecb3c50602bc9484759a6b8b74939944750dcae","ssdeep":"","tlshash":"0fe07db0258123422174df79f0f3120430e172c67e48ac8f51256b429e388d1142353b","size":316,"data":"","first_seen":"2026-07-25T07:02:54.202304Z","last_seen":"2026-07-27T07:00:45.028847Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5206560a306a2e085a437fd258eb57ce","sha1":"c9ee5681d3c59f7541c27a38b67edf46259e187b","sha256":"de5a6f78116eca62d7fc5ce159d23ae6b889b365a1739ad2cf36f925a140d0cc","sha512":"40422e2733a73dec2f9aac48e2ab48d3b2fdcdc1e3a88bc7ea855227e62c029246da1dd49dd057bb8a8b796b3b2a6f60d9d8a85de53df597e422b2f68c54cfb6","ssdeep":"","tlshash":"c70000000000000cc00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T12:04:13Z","last_seen":"2026-08-15T06:53:22.640808Z","times_seen":69225,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"53f90a23c820f4d35aad5e1fc69c3631","sha1":"adfd381939291c573a7f091f1a486b30a9598190","sha256":"c43f747e9a95c0f6b4b687850f9ddb61fc6791213cfa3bf2c08f7358c1fc93c7","sha512":"757f13afbfba4457e7c08c0ed2cc31146c8174b5b9c42a6e86d3703078d5819a577f061397bdb28f87ddd8f3dfabb09be6cc1623d83644ba6e2d1df26c15e18b","ssdeep":"","tlshash":"f1a0220c288f2032b202bc2280323c08a32f2003e8a0ec0e0028c2c20b30a8e020303f","size":72,"data":"","first_seen":"2026-07-25T07:02:54.130379Z","last_seen":"2026-07-27T07:00:45.010981Z","times_seen":515,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c97f06046b55e8dae6a537ed7ae34fef","sha1":"84149880d516a37ca62c27e982f46d830b79caa8","sha256":"131b8b1c3193add0da6e1bc7b54e66e599b02037f372eb68ae1086fe443811f4","sha512":"8cd93216b1b29a3b9551a054b4c950e750d68749d9f6a2c8d7ddec13ec6894949d80c67cd339cd50916de026e15fc81727f9725ae127a9d6604b5989a711fa8f","ssdeep":"","tlshash":"6ef0dc0d48fd83769ac44dc290d33c0ccb0806071cc2610f7a49fb7032632b78497e64","size":485,"data":"","first_seen":"2026-07-25T07:02:54.134293Z","last_seen":"2026-07-27T07:00:44.955206Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9f502ac14e14405587d798139e860b5f","sha1":"b267cfc679f39f2d95f9d3fa41bca0eafb931aa6","sha256":"39d2483e41bf71db160191d9a148b4bc26c0739e732727e37be0f18bdc8cabca","sha512":"f5bc3d4834c9c4ed165d49476795fb1170fdc577b58fe4b21dfc67cfb4f6eebf045a3812ef48a2f15758e790ce7e111cf9dbd9ffcc3438288c7340e6eeb7661f","ssdeep":"","tlshash":"b1c022ccbb3e600d9121f90031f84e46cb4125ac4407ede3a70128b4448180aca1f406","size":194,"data":"","first_seen":"2024-08-23T10:18:17Z","last_seen":"2026-08-15T16:42:31.565296Z","times_seen":177790,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5c244fde4e6f1ade71beed5c11edb59","sha1":"6bc634a7f8505a2ce340807aecfa1e50c2a578b3","sha256":"d561924e4295103128924509bbe71b3eed6625592d75ba3cc35c365189d6081d","sha512":"6ed66e7a246ab961cedd150553b6a9aa692988813dd4ee30c8b7d78d80bb8765a828112c6860d08eb382cae34e22bdd76ecda5ee1c9c7ee25a49b1d2639474f9","ssdeep":"","tlshash":"966000300c000330c0000c00000c0000003300000000003003000c0000300c0000000f","size":13,"data":"","first_seen":"2024-07-23T18:45:20Z","last_seen":"2026-08-15T16:42:31.559998Z","times_seen":177016,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"86649f7e1c723028d2f82b2c50600d69","sha1":"d054d66e4c26951897c16eb69e57f9803279cdbf","sha256":"7c890a86937b21a7c49e2b3888877244c5442926548497319e537f237e78ef13","sha512":"82625c492170b8a8bc520d8e53c837ff8b7f02e4dd0e442c24edf74abdae64db605c53ef7171b7083f234b32d79179662aada511875ce13842c04185e8111905","ssdeep":"","tlshash":"c3d022072187ddb6a2729804030afa15b0ff100b0e262606f3c885026734b8cc262997","size":212,"data":"","first_seen":"2026-07-25T07:02:54.167434Z","last_seen":"2026-07-27T07:00:44.942215Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a78c5c832247d38a96a1d593f639a2f8","sha1":"5f0015f64b3fa0c1cf637e590267ba3b24120422","sha256":"70af5859b85dd4f8bae68a68aca5782a1795821b1cdd307c803d62f76ed1859f","sha512":"effa7fe575fe0f5f3c2a7d8a377f6bc00f909e1e47ec5a6e93f6f16ffd0bf227e506ee3da11dae805d30c1e01b690cacbfb4e891f973bb5cc1daf9cd7a08daab","ssdeep":"","tlshash":"ab7000083e08a0080a2238a000ab00280022000032808a00808002a00c3200e802280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.087327Z","last_seen":"2026-07-27T07:00:44.957131Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9087bfb5987e012165369f31c80da771","sha1":"e4b912603b7a38d385bb3770f3d3c3574c4c7d09","sha256":"17b51df2b060b946881ffe59fc2d1cd01fc09a7c7d40c7b4dcce2526e10308df","sha512":"df59e3a180757201879e376cbb16a70c6f55dd732e6eda3f9809868bcf9fe2eb2e73a288192394cc3b9736832423672db4a13a3f1fa1aaa8ac37d3374c01b356","ssdeep":"","tlshash":"28e026c771613759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3816","size":340,"data":"","first_seen":"2026-07-25T07:02:54.191647Z","last_seen":"2026-07-27T07:00:44.965368Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ec7e53845feb375870343182efd0b929","sha1":"63e71d0c5bcadc37a725d971054eb55e017f6989","sha256":"a2253e1fad60aa1ccf31416ca8cde6ffaa5af2510733c7186adc04a503346c5b","sha512":"339f50fe30462dd6204552b2d3d3fe5cbaeea2cadcfbde096f16b40f1d985a5a68ebb227dbbb9f37c9451a36376ed392b7fb50c6e661963124146bac7e03284a","ssdeep":"","tlshash":"cf50003cc00000c0000f03000300000cc0000c00c0c00300c3cc000c3c0cc00c000000","size":11,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-15T16:42:31.636701Z","times_seen":175865,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"83a77a8fa8101ab38a74167392abf2af","sha1":"ecad96d097ab2adb9729e0b0c5f8063e6445e4c7","sha256":"7e8c17ebc1c4489f3752972cf347c83e9eaf85dea4b84c375746377e5216d9d3","sha512":"f2250fb803e1cab98bdeabfe1cf415d3c7a2f3daf7d4d2e650196e709a5aff915427825b1f5e403dcefd704b290b091b69cb1fb437f6e5f69c7a1023a23f0c5a","ssdeep":"","tlshash":"c71000000000000c00000000000000000000000000000000000000000000000c000000","size":2,"data":"","first_seen":"2023-03-26T05:54:38Z","last_seen":"2026-08-11T06:24:15.298813Z","times_seen":8005,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f3c46dd141ed0afa02a1b3049bab0729","sha1":"0f9b6e8412fa13b27e3af2816a112bb28a04a735","sha256":"4962a69b03ce9dced7bd2f588eead880ca97dc93d3fd354fc911d8b6b815d11b","sha512":"006dc0d7d1ead7ff5d5cf02082d1aaebb3dfc2a9a046c9d60bddadfcb9e0ac4702e9868970fb61a9af4bf366d76a03d09a264adf462e9414296dd0d749c136f3","ssdeep":"","tlshash":"9ac08c090b0dd3a6038a6a94610a43aba15284cabe615c28ab40e0c2e68e6054066a1e","size":151,"data":"","first_seen":"2026-07-25T07:02:54.100897Z","last_seen":"2026-07-27T07:00:44.977956Z","times_seen":499,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac6dfa045179132aefaf73bbae961f84","sha1":"5b4a09943ab49ca1438497710be50b54077e9374","sha256":"18437a515c82285b4cbdaf60b46bdcd426eb4514c03ebef4e2e4a3caa0f75497","sha512":"df27138801c468c597084ae71e58544c6d3b95e9d57d3bb003339aa035e1e04eb7b85932f01573eba17613500cd7bf65d9de52570fd0dcd3f409dc5286d5f155","ssdeep":"","tlshash":"a6b012185c0835193f336ce99117681ed0b0dd06c4b4b90d8004d5d402a404e5051cbf","size":94,"data":"","first_seen":"2026-07-25T07:02:54.141577Z","last_seen":"2026-07-27T07:00:45.030723Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"49342302f3a1bf591d537268aaa3db97","sha1":"1e27d4dce5d9e78a557d902e2f9255d8f1d567e4","sha256":"217a194b2b1e9e205f2ce02d68f3d346218cf59e0ffb48dfa0f2331ed11232c4","sha512":"4214bf7801e5a15a9af9e231ca3cdb1bd8a05eb81f603da3351e3def46477af2f9a3543cd8f1cc0e19df81303618c01c3b4bd820b4f45d8be5c11a1e0f0e067f","ssdeep":"","tlshash":"59a0120074447c0116112c75c2260584b0511a0b50902401810596c002705895113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.160135Z","last_seen":"2026-07-27T07:00:44.942852Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"41cffca8e35a84d3f88f9a25719e1bcd","sha1":"7dc2fe5ff12a7a0748d95c710eaf05536eaf88e7","sha256":"c950106fab05530dced5c2d95d8c8b0082afb6c2434895b968e7e8a208b8f3f0","sha512":"1d6080e041f9cd50074d23dfb1b15d5197813d1c0668dd6a2cea31f264f590029644e6912d6e1beef5931bb634ad4fbac05e1c5dc3d2f9eed4b217a58dd989cf","ssdeep":"","tlshash":"74e026c771603759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3806","size":338,"data":"","first_seen":"2026-07-25T07:02:54.168496Z","last_seen":"2026-07-27T07:00:44.973784Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"93dddbbea2419c0820cae293f64a56a7","sha1":"fec37c7f501f1834dcfed04edd754ab32b0661a9","sha256":"ca0f37dbe01b74a05d3b263e0f9b36a99e44350031baabb6c14c7d2d0f869d83","sha512":"e3f524dc1b1210369142abc7c52aca7bebb9edfdfb9237ebb03aae85d1a1403d2884e0062a7fae21d29207f237868efc1295460052c4ebc7860958d0102f88a5","ssdeep":"","tlshash":"0f9002c53c4456153662ac61402e44059165860e24a294829916e2940732b99850242b","size":57,"data":"","first_seen":"2026-07-25T07:02:54.19501Z","last_seen":"2026-07-27T07:00:45.013735Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2d0b50c5f3341004fc9eb0180fbedbf","sha1":"a61e5ec146c93a860130cb8da7142fa3d1026a4b","sha256":"9c8b8d8ede5390dffefadd3c93c2cba6763f91fa72ec56525f683cd02667344d","sha512":"862f887b9b3c5580acb5d98a1e3c047e6c07f5fdb963069083a16c1b6a8380f5af6fa58d032da5b3756a57de86cfc388c7c7f96a9dbd5f0e0214407796ce8e38","ssdeep":"","tlshash":"0ad05b40ab0ae553904e3cd7c69ed9251a9155672112c01171216074d4735e487467a1","size":260,"data":"","first_seen":"2026-07-25T07:02:54.164149Z","last_seen":"2026-07-27T07:00:44.966501Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f58a7d86186e19db84e783bc06177a55","sha1":"8002a6aa19ad59d43ccc8b32ff7c6d561f9e1259","sha256":"41cd1e4850b992f8c433a1a085a6585a8e79ff96413f11e360a6743babd8cb93","sha512":"be81de332fa854c02257328706e95326c7aac28318d95e5f910a68f7b74bda38161de6fe6040a2d41ede8941285d69e4e4b22554f2fe5f6a1bd2473a4b4dd366","ssdeep":"","tlshash":"42e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c412a2ced569cf19","size":350,"data":"","first_seen":"2026-07-25T07:02:54.088205Z","last_seen":"2026-07-27T07:00:45.029481Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cb8abb683722cea7fb115342abc554ef","sha1":"776b83217d825a68ed51f891fb2d360c233eb726","sha256":"139ffca75e64693ada18ad987a1d7881947ff41ed7784d3dcf349f5915124464","sha512":"7fceeb9ba20bab9484738d20748f7a935aca6ab7d869417d3629d2db9884afba198b09c6fdca26a84d90d6fa5676000775da441daf4e9940fc687e476ae54a67","ssdeep":"","tlshash":"9fd097c46bbb982c4984ce2b40331131d049a21c8e080c50b230fb3bf7a075b243b0d1","size":231,"data":"","first_seen":"2026-07-25T07:02:54.205479Z","last_seen":"2026-07-27T07:00:45.00312Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cb8abb683722cea7fb115342abc554ef","sha1":"776b83217d825a68ed51f891fb2d360c233eb726","sha256":"139ffca75e64693ada18ad987a1d7881947ff41ed7784d3dcf349f5915124464","sha512":"7fceeb9ba20bab9484738d20748f7a935aca6ab7d869417d3629d2db9884afba198b09c6fdca26a84d90d6fa5676000775da441daf4e9940fc687e476ae54a67","ssdeep":"","tlshash":"9fd097c46bbb982c4984ce2b40331131d049a21c8e080c50b230fb3bf7a075b243b0d1","size":231,"data":"","first_seen":"2026-07-25T07:02:54.205479Z","last_seen":"2026-07-27T07:00:45.00312Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9a2a6b16da447c1060cd4a5c09dc8a1c","sha1":"fbe9678c38ea75b2e7379a3bc99ec154f8339330","sha256":"5e778835b3f9e816a452ab0f9acd9459861522e6eb9f61f1c9e60fdc8d9e64cc","sha512":"0808cbb678605f7f165e7bd536f3c2f0c25dc06211624161d1209d80074d262e63db1c4ce941f6da3374566ed577862582f561ae623f28000c61877b25a7c317","ssdeep":"","tlshash":"c4e0c274241450de4a47304a908d7fcc791a86ca3d483b6aa09180d1a72cb9b636dc38","size":301,"data":"","first_seen":"2026-07-25T07:02:54.177153Z","last_seen":"2026-07-27T07:00:44.996332Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"04349b75733f9a34b4021b587765005c","sha1":"6070a8a928fcfb84d659883893b6917e124ca898","sha256":"86d8798669d148db9b83305e628958589e0a0699eb4c5176a49445d3f4b45eb6","sha512":"951d0dbaee27fba356c6b0b3be78b59f088d48efe1d065da056b3c37633ccf9c7ef5932f08f294d5b5411fa7dad37f6cd9f9191bbce94af7c6e76e69eefa4cd3","ssdeep":"","tlshash":"a731a99f53b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1536,"data":"","first_seen":"2026-07-25T07:02:54.188598Z","last_seen":"2026-07-27T07:00:44.990878Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d94eb39b7c5996a928c1d97e2d336207","sha1":"63d8851850a208fd85df769e5ccadcc4474859fe","sha256":"ea73e902e70b18a2f35dd009e26fcf9c68771ff4060e21c60533c90291328a25","sha512":"36bcc6c512fff73197bfea984000d3f197ae09de13dbc39397c2812b3f5b9e8da2d6ebead97520615c83ac480fa2c07701fba86a4a659c3114b29b9c889dbb34","ssdeep":"","tlshash":"c7100000000000000000000000000000c0000c00000000000000000300000000000000","size":2,"data":"","first_seen":"2023-03-26T06:16:09Z","last_seen":"2026-08-05T06:50:42.932135Z","times_seen":1362,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5b2a24334e8f2ae1775a82a31242e8b6","sha1":"e61efb63873407aec38c5d20be8dc4b18023d219","sha256":"c08b1324707ef740e76d3a16e67563551a512f7b69409dea7de3276d7b814ca8","sha512":"5acefb24fdb6a0e01c0a8ecd29b81ff2995d389a148b5c9a56f292a9edd7da30a11d59ed61ca3c60c0a4f1f64d10a3d22fa1d0e9511ae09feb9bf5c6bd9c25bb","ssdeep":"1536:j9w3cPpzlUowL2cm9ibFHDYzcmNGBfXoLL:xFyoybFHDQf","tlshash":"df631acef2d2a73555e269f6105f410a62fe9006cc85182fba15f6f42a70d4b903bf7a","size":67806,"data":"","first_seen":"2026-07-27T05:26:45.346363Z","last_seen":"2026-07-27T05:26:45.346363Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"41cffca8e35a84d3f88f9a25719e1bcd","sha1":"7dc2fe5ff12a7a0748d95c710eaf05536eaf88e7","sha256":"c950106fab05530dced5c2d95d8c8b0082afb6c2434895b968e7e8a208b8f3f0","sha512":"1d6080e041f9cd50074d23dfb1b15d5197813d1c0668dd6a2cea31f264f590029644e6912d6e1beef5931bb634ad4fbac05e1c5dc3d2f9eed4b217a58dd989cf","ssdeep":"","tlshash":"74e026c771603759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3806","size":338,"data":"","first_seen":"2026-07-25T07:02:54.168496Z","last_seen":"2026-07-27T07:00:44.973784Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4f15bb2d5bb35eef8ed5691a49a89add","sha1":"93dc792cd6f66b017de508d1653d257572b336ef","sha256":"92e207c292ff65d3a04f6cb843c69816f6a1520ba0907168e313bfe2f983c80d","sha512":"cab6a3bfc63b8a7d457b211a2f223bb58cfc2385f4a6a33d7f48812b4747bf0a0d7abfe7979388ed3e467ea5c6d65c688f7ab189a7f3ce0abd21958f9c6f8b5d","ssdeep":"","tlshash":"e6d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080ec803a36581fe05c8d903d25","size":282,"data":"","first_seen":"2026-07-25T07:02:54.086465Z","last_seen":"2026-07-27T07:00:44.987202Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0ee7840c65fd232997d06d9430eb3cd3","sha1":"d7b08c1b33e71fb050eda8eb76673e4ad9a8e2e7","sha256":"b1934a6c0e3ad971de0f6acb755aa575707e156d75224d0d6290a0f1d9fb6329","sha512":"f49fc43de4c5e49b7b4f81a3de77f3a6642f44ed070ae82a48e541a680b4992dee7b43218235a23384d386adddaca5a463a723470e778006b84dbe309db5e215","ssdeep":"","tlshash":"61e020a4b60370c596a67c844417db33f1b8b6180864679335a9f85cbc15507929bf35","size":347,"data":"","first_seen":"2026-07-25T07:02:54.163257Z","last_seen":"2026-07-27T07:00:45.009317Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a78c5c832247d38a96a1d593f639a2f8","sha1":"5f0015f64b3fa0c1cf637e590267ba3b24120422","sha256":"70af5859b85dd4f8bae68a68aca5782a1795821b1cdd307c803d62f76ed1859f","sha512":"effa7fe575fe0f5f3c2a7d8a377f6bc00f909e1e47ec5a6e93f6f16ffd0bf227e506ee3da11dae805d30c1e01b690cacbfb4e891f973bb5cc1daf9cd7a08daab","ssdeep":"","tlshash":"ab7000083e08a0080a2238a000ab00280022000032808a00808002a00c3200e802280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.087327Z","last_seen":"2026-07-27T07:00:44.957131Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"771f01104d905386a134a676167edccc","sha1":"51af17721bd7b84218774f9064fe481c033d0b1c","sha256":"46874106f9ac7f3b68a422895aa223e1ea5ed0db860f179f6362cb166c65f8ca","sha512":"0c85b6b14d917b941d01903af93ca93b97b7112355ba3f19f0ac2e243427be9905abb48f24a6dd6c6a72c140bbbc7ed7d231609425b0f132375b0f990ccef8cf","ssdeep":"","tlshash":"c7100000000000000000000000000000000000000000000000030000c00000000c0000","size":2,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-07-27T07:00:44.994262Z","times_seen":1807,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"13d618642764d2b6960367a857576c87","sha1":"8a7893b1545d1dfa2ebee469c2ee8ddd0a0c0b7d","sha256":"45428e1193fa8edd3f86d91bf4fb01b486cd6c1290d013f948c732adf7fb8875","sha512":"ae679fdd05e738532172c82f852d19e014f49f54e805eb49694cf0849c98278864afe9d8cbf2d19fa29c5fa73aa5143aeb3d012d841915597b5af30af9c77ba3","ssdeep":"","tlshash":"707000083c08a000822238a000ab00280022000022808a8080a000a00c3280a800288a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.077156Z","last_seen":"2026-07-27T07:00:45.000766Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e1469a0c2dc2156f9a727d0ed640ac13","sha1":"ba1dd0fe89c6bf92a6a0f1dfc9336ec0c722f494","sha256":"12854497ac91b3bf315b127a6c446692fb3c10bd1dcd87c3d60a592f63083cc2","sha512":"0cced30914a00cca9185467b9de158e890ae36123087ab40ce5ab41f2ff3ff858178f42c2810106003fad52d94dbebf96e5e47c7d3935f2cb2ebffe7ab387b94","ssdeep":"","tlshash":"6c0110862cf902b7b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":686,"data":"","first_seen":"2026-07-25T07:02:54.118078Z","last_seen":"2026-07-27T07:00:44.964759Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b640f7845a4341a89d25c0ca0f9b26f4","sha1":"5b98b63751f6e77fe954f5b95388d615eb263003","sha256":"3fdecbfeaacc1474406d975d54141cd22c1be7ed72ccf31bf23f5304e2b50164","sha512":"ec2592241ccbd9a0e93c49ad07121af8cb3acb2a4d8fc25e4f4599a1052d1fb51c9ef8538ac383c52e1205f9b6a17525703f2c4d4bd0d69fc090c04f93943066","ssdeep":"","tlshash":"2dd02b38e11c422b26970b4197c2183b05004642dd011d7b2eae28eb7044c9a9a1481a","size":256,"data":"","first_seen":"2025-03-17T23:26:20.961709Z","last_seen":"2026-08-15T16:42:31.616159Z","times_seen":170224,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9d0137bffa0f20d5e8e9f54f2c84cf0a","sha1":"39edf6d919f82b9692a2edfecc78427a82567c42","sha256":"269d4d56785ffc82f3ed05d8ee3b84fc18d7474663ddd06c6fd285165190bb19","sha512":"0b8b09f13f8fbeb3546c08a3501f4060ba8e5f762722ffb1a53be6d0e297abaf9719d48d50cac29940e403702c66627187396b8961aee26586ac934568af2ea9","ssdeep":"","tlshash":"db50000000300000c30000000c30f00003000030c00000000300c0cc0c000300000000","size":10,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-15T16:42:31.562524Z","times_seen":187377,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"65cfbef4976ed897962f8aab52c2e7dd","sha1":"5002f4eb74d361e916cd01adcce97615bb98a93c","sha256":"7ffca58a18354a6fafd52f93908f56bade386cd0181cabc22dde999e040843c9","sha512":"af6eaa50caa0889f6d7d19ae675e875be4d2577826cade64399694acd9a3c494bd35791cc47de33782b2fd996ce97b638289cad79915949a891f5e885da04ddc","ssdeep":"","tlshash":"141154b6393fd032c2e924a6d846ee7a42d08449926210b50fb332c437f6e9cd11ad54","size":1012,"data":"","first_seen":"2026-07-25T07:02:54.112569Z","last_seen":"2026-07-27T07:00:44.948009Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"92eb5ffee6ae2fec3ad71c777531578f","sha1":"e9d71f5ee7c92d6dc9e92ffdad17b8bd49418f98","sha256":"3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d","sha512":"5267768822ee624d48fce15ec5ca79cbd602cb7f4c2157a516556991f22ef8c7b5ef7b18d1ff41c59370efb0858651d44a936c11b7b144c48fe04df3c6a3e8da","ssdeep":"","tlshash":"c700000000000003c00000300000000000000000000000000003000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-08-14T12:42:56.686986Z","times_seen":81684,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bd0bcbfeaf7651b34de78f94db256e9a","sha1":"d5d4133262a2d4536708007fd3d58db921c73a6b","sha256":"7c4c4985dc2c7739b2b78d4608b572981a8394702ca5cef9773fe555ff0eafd3","sha512":"4d4b6a8f7b6d27a5d6e269d4b9a804986a2fdddd08cc47ed5cb726e993749117dafe9300281cf36c5065dd89063cd7c09e39e2851bb7626184be44b33d3237a8","ssdeep":"","tlshash":"faa022203e00ee02a32328cc023b2c08f20a8002c0000c8fc03ef3c00330bc023028fa","size":77,"data":"","first_seen":"2026-07-25T07:02:54.183264Z","last_seen":"2026-07-27T07:00:44.972095Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"909822438f3880445c5535efb48b46d9","sha1":"00685c680d8f0bfb3dda3154539bb972552fd921","sha256":"894963ac612d3c872d00cfc1a926c6f034036e99512409f06342bff53d723689","sha512":"ce5816d0da41ef048fbcd158120239337d58bf594db8b7deff493beb436c5319220f1b01ea03fd9f4b755b4fd43155f23271e1e27078167041feb5c9a784699f","ssdeep":"","tlshash":"f9c08cd873b61824c2809a73a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":156,"data":"","first_seen":"2026-07-25T07:02:54.13346Z","last_seen":"2026-07-27T07:00:45.030115Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61e9c06ea9a85a5088a499df6458d276","sha1":"e2415cb7f63df0c9de23362326ad3c37a9adfc96","sha256":"fcb5f40df9be6bae66c1d77a6c15968866a9e6cbd7314ca432b019d17392f6f4","sha512":"61037724a2fb00a12fa8a53ada233f54ff7fc6ee02048e579b83a127ce79fc03906c35b5307beb18a3cf5021fe031ae6587448d4d60a082d73252fe2e2f4ae7f","ssdeep":"","tlshash":"c700000000000000c00000300000000000c00000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-13T06:59:10.874765Z","times_seen":79949,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"65cfbef4976ed897962f8aab52c2e7dd","sha1":"5002f4eb74d361e916cd01adcce97615bb98a93c","sha256":"7ffca58a18354a6fafd52f93908f56bade386cd0181cabc22dde999e040843c9","sha512":"af6eaa50caa0889f6d7d19ae675e875be4d2577826cade64399694acd9a3c494bd35791cc47de33782b2fd996ce97b638289cad79915949a891f5e885da04ddc","ssdeep":"","tlshash":"141154b6393fd032c2e924a6d846ee7a42d08449926210b50fb332c437f6e9cd11ad54","size":1012,"data":"","first_seen":"2026-07-25T07:02:54.112569Z","last_seen":"2026-07-27T07:00:44.948009Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f58a7d86186e19db84e783bc06177a55","sha1":"8002a6aa19ad59d43ccc8b32ff7c6d561f9e1259","sha256":"41cd1e4850b992f8c433a1a085a6585a8e79ff96413f11e360a6743babd8cb93","sha512":"be81de332fa854c02257328706e95326c7aac28318d95e5f910a68f7b74bda38161de6fe6040a2d41ede8941285d69e4e4b22554f2fe5f6a1bd2473a4b4dd366","ssdeep":"","tlshash":"42e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c412a2ced569cf19","size":350,"data":"","first_seen":"2026-07-25T07:02:54.088205Z","last_seen":"2026-07-27T07:00:45.029481Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d80d99d7f209071a284c9ab6d14accf","sha1":"c91e7389c28a7b35eeb114484808a20cddb8c20e","sha256":"0cb21d1de060008bab472c15c63e6f15828de601f85deff00d701d26c0f6819a","sha512":"59df0ea3f533182f0884e52768ba3b5b1dea918c81a430aed117aa60584df1bfc3569ba05dc9c95426cd97513318e2bc4272ec2771e3528117cefce002576740","ssdeep":"","tlshash":"0aa012b01c1dd3d81271c03118250410d6cc2205f8260d086219825248a81067f02014","size":83,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:42:31.597924Z","times_seen":342672,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c11d89c2ca93836ea343a05338bd670f","sha1":"62a6ad7f8271078933dcd08d5424e2393bb5da8b","sha256":"5b399a3e0eebfecdf232a414d8d0557d3eaed3041a5641a639e715c63586aaad","sha512":"f7855d7cc1bb2478457e1a465962dd6c7a86607759e9e70be7c3ae6c1eb28484222e8e51d876d28696dc1882c733ff396797d143eb074648d45c6274a8eed8c9","ssdeep":"","tlshash":"9a8004041c04d00c01511d5530df10cc045310d731100554141441c55c773451101d3c","size":34,"data":"","first_seen":"2026-07-25T07:02:54.181325Z","last_seen":"2026-07-27T07:00:44.958516Z","times_seen":490,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64e1e1cbe1ca8e88ef3a838a3e7b57d6","sha1":"5498d9b96ed2832e04a90c4ac2ab71f869b2bfdc","sha256":"0510eddd781102030eb8860671503a28e6a37f5346de429bdd47c0a37c77cc7d","sha512":"44ee2764491048592021ece402fc174f9f4d95cf25dd7227e1029cfdfbc6f574f811fac940495ee0db71db3714c70d7ee27c142876e4a191a0fda92a2e93073d","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000300000000c00","size":2,"data":"","first_seen":"2023-03-10T03:04:09Z","last_seen":"2026-07-27T07:00:44.970327Z","times_seen":1286,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9dd4e461268c8034f5c8564e155c67a6","sha1":"11f6ad8ec52a2984abaafd7c3b516503785c2072","sha256":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","sha512":"a4abd4448c49562d828115d13a1fccea927f52b4d5459297f8b43e42da89238bc13626e43dcb38ddb082488927ec904fb42057443983e88585179d50551afe62","ssdeep":"","tlshash":"c700000000000000c0000030000000000000000000000000c000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:48:43.700466Z","times_seen":66495,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3943450e225c6a2fdea1effade0ebd89","sha1":"56469df750b12b2c1ed5849865f5ede8381f153e","sha256":"ea43a462245af07a2916cdf93717d019f698edf00b308541c18dbc4983efc01c","sha512":"853b34dfcfbeb6d4c932a655b3487a87a75bfb08c079e7422078d4e2ec1c151513adaa5414c3ae267e19e2161852123fef5136402b378595e19b0139bfb0bf17","ssdeep":"","tlshash":"2ec08c090b0dd3a6038a6a94610a43aba15184ca7e611c28ab40e0c2e68e5054066a1e","size":149,"data":"","first_seen":"2026-07-25T07:02:54.138561Z","last_seen":"2026-07-27T07:00:45.01263Z","times_seen":506,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9a2a6b16da447c1060cd4a5c09dc8a1c","sha1":"fbe9678c38ea75b2e7379a3bc99ec154f8339330","sha256":"5e778835b3f9e816a452ab0f9acd9459861522e6eb9f61f1c9e60fdc8d9e64cc","sha512":"0808cbb678605f7f165e7bd536f3c2f0c25dc06211624161d1209d80074d262e63db1c4ce941f6da3374566ed577862582f561ae623f28000c61877b25a7c317","ssdeep":"","tlshash":"c4e0c274241450de4a47304a908d7fcc791a86ca3d483b6aa09180d1a72cb9b636dc38","size":301,"data":"","first_seen":"2026-07-25T07:02:54.177153Z","last_seen":"2026-07-27T07:00:44.996332Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"796a99cad1a6610a7fa68e368d72cb4d","sha1":"b484b5b4973974c40859b0bcdc09c6c87a9a659c","sha256":"d61a50f46cd94e534153820f129c90bcab530e78f08cf2f179b008fac3c6f3dd","sha512":"76e33f7b2eac4d092754e12c149ce663195bad3173c574ddbd997bbc8a75594e868ace5263bfbb32aa2d38fe74918ef36242241498935df9df6535aecdaa7fb7","ssdeep":"","tlshash":"69d022072287ddb6a2729804030afa15b0ff100b0f262a06f3c885026734b8cc262a97","size":214,"data":"","first_seen":"2026-07-25T07:02:54.074862Z","last_seen":"2026-07-27T07:00:44.96701Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e213815f8e0b9954f8d43e3a59f8b742","sha1":"563796cb191f082f24fc52b017905533a0ceccc5","sha256":"842c53eb438fb28e95c14d32423b0fe01bf557c9e623b684b19663d497bce97e","sha512":"b5bae6d10c35f01992dcc33c3f24a7cee7ac0fb56cf4a9e79453d213297ffe3b8e6e4b3eb7de9b1d10a5ca2638e81ac3fd3e66e6d76d157a75163ac7caea4f89","ssdeep":"","tlshash":"ad60000ffc0c330000033030003f000c003300000c000000000000c00c3000f0003c0c","size":14,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-08-15T16:42:31.698852Z","times_seen":205565,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0e976b756b6afe7f40bca206a2d7150","sha1":"db9bee9a7bba93a60330ec5ef1334d9c164fcd56","sha256":"029b84af88c5d6ced58173997a15fa47011e198e5449027d87e2f7b871f332c2","sha512":"486596b8b7d88539b3147ed55749794ab08962047191f33ff9915fd4e4a8a9a24bc164c0d44f24357b6e9dd72d1ccd88f981aa0cf2c7df585a83000d4baccc9f","ssdeep":"","tlshash":"3f8000883cbab30e8222283223ab200aa2ae28c232088e00a00080803a3003a8032c0c","size":29,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-08-15T16:42:31.627556Z","times_seen":249568,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"288f4801942ba7fe2e468ad22eb3b34c","sha1":"93c816901b3435f6f5cf6b2bd92e6727e442a895","sha256":"3f0ed40e2c3c5964be4eedf2e9176f9987135e03e131c9e4faa1334b3d0f179b","sha512":"118664d8321242dd85ca89acfa377dca6520b707e6efe6ffa76f2d06facc829277bda47b5889021d70cd3f1a9a382ca7fbe5e41502906853f7527222f9a33659","ssdeep":"","tlshash":"c9e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c012a2ced569cf19","size":348,"data":"","first_seen":"2026-07-25T07:02:54.136642Z","last_seen":"2026-07-27T07:00:44.936518Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"796a99cad1a6610a7fa68e368d72cb4d","sha1":"b484b5b4973974c40859b0bcdc09c6c87a9a659c","sha256":"d61a50f46cd94e534153820f129c90bcab530e78f08cf2f179b008fac3c6f3dd","sha512":"76e33f7b2eac4d092754e12c149ce663195bad3173c574ddbd997bbc8a75594e868ace5263bfbb32aa2d38fe74918ef36242241498935df9df6535aecdaa7fb7","ssdeep":"","tlshash":"69d022072287ddb6a2729804030afa15b0ff100b0f262a06f3c885026734b8cc262a97","size":214,"data":"","first_seen":"2026-07-25T07:02:54.074862Z","last_seen":"2026-07-27T07:00:44.96701Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9485c8ae181348af0537aeb02376d77f","sha1":"67b0b7f7f914e89f6e0c6651049d5e58063eaf96","sha256":"77724e449ce352c6bb493ce82b91d7ed6b93156928d311f67cc1c57481e6c2f9","sha512":"037ffde473310d2491e664f6fba33b747a956c19bf99420da07bbde6ffbe4ca768da17177bb1643630ff6ae1448ffe79ce1613d08dbea8d610d7d51161950d1b","ssdeep":"","tlshash":"c2d02b8eec5b8595f966e9ca40766d29e0589802ec789cc11527c55261d4a195832cb3","size":266,"data":"","first_seen":"2026-07-25T07:02:54.116193Z","last_seen":"2026-07-27T07:00:45.020622Z","times_seen":502,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64d8c858156192a16a990983d35fb3f9","sha1":"1ae03179ebb040c510ecf6f785c0002f21932433","sha256":"bdfd55577f7056ab007e88fcfe9352e9805fc05f504131193cbe81c001162fd3","sha512":"e6c8b62010e24ed3c7a59b3d92aa3165bc2270274b755e8ecee06a238fe29682b08510402a6e8b7b3f85027d7e403447ed4694ec2bc43c136d5c0f1cb1b3f23a","ssdeep":"","tlshash":"cd60000c3f003000000000030000cc30c30cc3c0c0f000f3c003000000000000003f0c","size":15,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-15T16:42:31.660958Z","times_seen":174749,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"834dec29a06aa1149f778035ffade82d","sha1":"cc71686d432a1236d2cab595573ea9498de75463","sha256":"4f36b2c33e2478b4d3ba77a2d6ee222f79ddda0c54ed27e41f3fe2cd7a62d318","sha512":"48c414ee31ecc55c83cb5b925daaaba737aca1cf332cc37dec593c919fcf0175118fefd24df9e42662593abe95e078e5c9a09ac2502aefc496e0df715b6d590a","ssdeep":"","tlshash":"26d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080e8803a36580fe05c8d903d25","size":280,"data":"","first_seen":"2026-07-25T07:02:54.194101Z","last_seen":"2026-07-27T07:00:45.017282Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"05b8c74cbd96fbf2de4c1a352702fbf4","sha1":"320ad267d8d969f285eda5c184f5455bd29c8c95","sha256":"44ff7b02c80d38b26dd6aa31d9470aed81b32e10331a3c994fb1a9945fd847ba","sha512":"1ab6ceacde9b312b4f32d7c9f2d54448e82264c30807e4db86ec8e295791c1fb9aafb38985b2054e589c0a0a2830f1a389312fb2912dc2f9c949231967e03545","ssdeep":"","tlshash":"f6400000000000000030000003033300000000000000000000000000300000300000c0","size":6,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:48:43.755Z","times_seen":158988,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bae3f90cb000352645e35fad60da411c","sha1":"00023f94c170125b979cb1914925d06ab1abfbce","sha256":"1e3606d95ce27d593157594820335681a9380f51a96147303cd8000e60a95e12","sha512":"d83d07979674822b4c966ddcb3bd4feb84830834e1f9fb255774ae237056cc357599e3aab9c6f47242aada2148a65c9ea11c859b1e8f550004535cc363fa02db","ssdeep":"","tlshash":"03800000203008388088000f3032cb8afaa0a22ae2322800c8a88c2cb0e8f80ba28838","size":35,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:42:31.663337Z","times_seen":186498,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4e5784c2f559c1f257d3fe1adff1b994","sha1":"a8bb93b81e79497dcbaea5f08618abe3e13614d5","sha256":"9abd5bd5bc72c038c0276119bd897de57b661a0e4b0d9849758dd698f4b11d10","sha512":"a66be2c2557a5eae52f07ea28edae7acf52d9ab08345204fc42a161d1c474ac05d43323229367c9eaffc197970a47846353096695ff79bb6fc820a804c268af4","ssdeep":"","tlshash":"19c02b08746220f04a43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":137,"data":"","first_seen":"2026-07-25T07:02:54.148131Z","last_seen":"2026-07-27T07:00:45.024626Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2d0b50c5f3341004fc9eb0180fbedbf","sha1":"a61e5ec146c93a860130cb8da7142fa3d1026a4b","sha256":"9c8b8d8ede5390dffefadd3c93c2cba6763f91fa72ec56525f683cd02667344d","sha512":"862f887b9b3c5580acb5d98a1e3c047e6c07f5fdb963069083a16c1b6a8380f5af6fa58d032da5b3756a57de86cfc388c7c7f96a9dbd5f0e0214407796ce8e38","ssdeep":"","tlshash":"0ad05b40ab0ae553904e3cd7c69ed9251a9155672112c01171216074d4735e487467a1","size":260,"data":"","first_seen":"2026-07-25T07:02:54.164149Z","last_seen":"2026-07-27T07:00:44.966501Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a931635074a5017da74948b67e16c76f","sha1":"a6799582ad16a7c1ab8221c166268130df6691d2","sha256":"1fb437ac78114eda813a7c4d5771b6d3aa34908a5ca3b743d5eb5c79088cf82c","sha512":"7c96bb515bdba9ad60854b433d24e77982a321dd7ca71599fd8f79acee580802f56829a5dbb7f64932a51ad50d18a9438251a6ad8127ad2b2e332811033d2c7b","ssdeep":"","tlshash":"a5d023cc3941f262d06274b9041704dfd173384a1e1cdf4184154875667c5d9407f4c4","size":206,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-15T16:42:31.691515Z","times_seen":210418,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5206560a306a2e085a437fd258eb57ce","sha1":"c9ee5681d3c59f7541c27a38b67edf46259e187b","sha256":"de5a6f78116eca62d7fc5ce159d23ae6b889b365a1739ad2cf36f925a140d0cc","sha512":"40422e2733a73dec2f9aac48e2ab48d3b2fdcdc1e3a88bc7ea855227e62c029246da1dd49dd057bb8a8b796b3b2a6f60d9d8a85de53df597e422b2f68c54cfb6","ssdeep":"","tlshash":"c70000000000000cc00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T12:04:13Z","last_seen":"2026-08-15T06:53:22.640808Z","times_seen":69225,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"06940d1ec461f6967164c26d60cbaefc","sha1":"2dd63cac632d95db488d6221109b5f3f932c9999","sha256":"c9f3959e3d485cc26bd83a108824fe7039921005faa810892c704386b9572acd","sha512":"4abc10cb04a87ffa25293243f9bb9d4498d4a1acebe89e239cdc92058d9f491da6b5de3ea698c856e62b3153c7d006aa340ee50912e29f019752453976fce2bb","ssdeep":"","tlshash":"ebb01224281de61233322ef080131d2c603b4402424f551ec44ce5c2032c0ce80475eb","size":96,"data":"","first_seen":"2026-07-25T07:02:54.115267Z","last_seen":"2026-07-27T07:00:44.990278Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"86649f7e1c723028d2f82b2c50600d69","sha1":"d054d66e4c26951897c16eb69e57f9803279cdbf","sha256":"7c890a86937b21a7c49e2b3888877244c5442926548497319e537f237e78ef13","sha512":"82625c492170b8a8bc520d8e53c837ff8b7f02e4dd0e442c24edf74abdae64db605c53ef7171b7083f234b32d79179662aada511875ce13842c04185e8111905","ssdeep":"","tlshash":"c3d022072187ddb6a2729804030afa15b0ff100b0e262606f3c885026734b8cc262997","size":212,"data":"","first_seen":"2026-07-25T07:02:54.167434Z","last_seen":"2026-07-27T07:00:44.942215Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d3789a3f91258fcf605452196e19c21c","sha1":"f468a49ed14aa61cc199cac1759cb76160b266ff","sha256":"fa37be71bea1abe989546295b5d10f6a34598aa7ce90cfed1f870131e8e30c9e","sha512":"b93e82af199ae63f26b48b71e93f5f5c7be0c5efe33aad59dcd1109142d79d988b24ba63c4c0a5731a1d2a852fe817da47371412bc5cc8579078e4c5eebb0669","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-07T21:37:56Z","last_seen":"2026-07-30T13:50:30.846493Z","times_seen":908,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"053fbccf1e17390f7a9adc3521ed7696","sha1":"e3d25d9c529549b5e8c066fe1e3390a03cff30a3","sha256":"5bebf4b6615a6aa6aea024a979423e3c35ed65dca89cec752afe3c5fa0262789","sha512":"8df25f0190b67780e3fe3549184050dd91e162ba06815e92e63f89fe1f07f1259f9ee294a4efde8b498c4c99dd2300947201d7859c913c85021d7b84107588cf","ssdeep":"","tlshash":"8890028430426c102202d0612a9a69b6d175448020199164f05510443921059505bd0c","size":49,"data":"","first_seen":"2026-07-25T07:02:54.198206Z","last_seen":"2026-07-27T07:00:45.002562Z","times_seen":505,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0d80d99d7f209071a284c9ab6d14accf","sha1":"c91e7389c28a7b35eeb114484808a20cddb8c20e","sha256":"0cb21d1de060008bab472c15c63e6f15828de601f85deff00d701d26c0f6819a","sha512":"59df0ea3f533182f0884e52768ba3b5b1dea918c81a430aed117aa60584df1bfc3569ba05dc9c95426cd97513318e2bc4272ec2771e3528117cefce002576740","ssdeep":"","tlshash":"0aa012b01c1dd3d81271c03118250410d6cc2205f8260d086219825248a81067f02014","size":83,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:42:31.597924Z","times_seen":342672,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"06940d1ec461f6967164c26d60cbaefc","sha1":"2dd63cac632d95db488d6221109b5f3f932c9999","sha256":"c9f3959e3d485cc26bd83a108824fe7039921005faa810892c704386b9572acd","sha512":"4abc10cb04a87ffa25293243f9bb9d4498d4a1acebe89e239cdc92058d9f491da6b5de3ea698c856e62b3153c7d006aa340ee50912e29f019752453976fce2bb","ssdeep":"","tlshash":"ebb01224281de61233322ef080131d2c603b4402424f551ec44ce5c2032c0ce80475eb","size":96,"data":"","first_seen":"2026-07-25T07:02:54.115267Z","last_seen":"2026-07-27T07:00:44.990278Z","times_seen":507,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9dd4e461268c8034f5c8564e155c67a6","sha1":"11f6ad8ec52a2984abaafd7c3b516503785c2072","sha256":"2d711642b726b04401627ca9fbac32f5c8530fb1903cc4db02258717921a4881","sha512":"a4abd4448c49562d828115d13a1fccea927f52b4d5459297f8b43e42da89238bc13626e43dcb38ddb082488927ec904fb42057443983e88585179d50551afe62","ssdeep":"","tlshash":"c700000000000000c0000030000000000000000000000000c000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T16:48:43.700466Z","times_seen":66495,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a7f8d6710421b13561d798da885286d4","sha1":"40bbf372af2386d0230d48c56680b364196e5238","sha256":"01233f22b0adbeec53c41f6c10babce298647c9c6c5c6ced4c143a2a88d18f4e","sha512":"86969e257ca8c46c346e574182d16d97936c58fac9d836ab3b8850d964753e8fd0b3a9f5b703cc23db2f982c8ca5b56f7b2a54ab7ce90178cd8c29a05724eb22","ssdeep":"","tlshash":"79f0e1c9b392146536ec934ebddf4d613cb16158413c512da7a066f104a06d5a8edf53","size":585,"data":"","first_seen":"2026-07-25T07:02:54.206377Z","last_seen":"2026-07-27T07:00:45.013199Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"24cc3dc813f384fde380df619f1525cb","sha1":"56399e3ce57ff98d68c7de98a563e572230dff6b","sha256":"5421715bbdaf2550e31d10fc28d444310a8fe7147bbddecf0abb490358a1553b","sha512":"fdb6e7d3b9452cc36c1e877ebe47c50c82fd413f2cef945f808e47b081da88ae6aaac7aa14386687c59479e19c856f6031d7ae666fe9c5b54a0b6fe37fa062f7","ssdeep":"","tlshash":"027000c008088802080aa02008800080220088023e0a0e0008200000832000280a28aa","size":19,"data":"","first_seen":"2023-03-07T01:02:05Z","last_seen":"2026-08-15T16:42:31.615642Z","times_seen":238862,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"382df8f48d5107dd2a96921030e79c0e","sha1":"19bd60f0b2ee5dd0d3ba977e9a464d03cf135682","sha256":"5893dbf7b9a7496a0d79489a22f335b0d20530e25f0b95656b206bf44d9bc139","sha512":"31f04d2c5e1759fe8774b17908257fc5e07199b54c7ff483008d92ee115393e249d0e8ae814a57758638a7ef3169a4a485812762f2efbc92be6cf307780f7741","ssdeep":"","tlshash":"f8b092191f6d822948a4760c66ab478ab8f8045299005c15b300648816a8e84009ae2a","size":109,"data":"","first_seen":"2026-07-25T07:02:54.150949Z","last_seen":"2026-07-27T07:00:44.960296Z","times_seen":512,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f09564c9ca56850d4cd6b3319e541aee","sha1":"c3156e00d3c2588c639e0d3cf6821258b05761c7","sha256":"4ae81572f06e1b88fd5ced7a1a000945432e83e1551e6f721ee9c00b8cc33260","sha512":"2ddcd5fd66f62c38135603defc728493bc9012c9ea6abc8a9823165792136513b2c53722d2a79c0d6ea31467308bbb49eb217d151d79baf4b2085f487d0abfae","ssdeep":"","tlshash":"c700000000000300c00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:12Z","last_seen":"2026-08-14T12:42:56.668942Z","times_seen":58627,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"57cec4137b614c87cb4e24a3d003a3e0","sha1":"23eb4d3f4155395a74e9d534f97ff4c1908f5aac","sha256":"18f5384d58bcb1bba0bcd9e6a6781d1a6ac2cc280c330ecbab6cb7931b721552","sha512":"4921de1edb2ecc8ca3a22823705194b902cfa471675f2d1ae8bf67d0c7b060a7c192e36ffca9f1a0d90ac2dbbdaf429ee1ec97e160eb00dc80b07000935304f3","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-08-15T14:46:49.183608Z","times_seen":46241,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"11721f4fe0fa20af0333c7eda891ca0f","sha1":"372c3c93f86eb46b9afffaebbf49c82cf42fa466","sha256":"ef2a3319810f3ae9cd5948f3229bc195d7b1558846487473b21a842f9d1b503b","sha512":"0f12b9a1099d5be03aa05cb2c7fda09fcd3d47094ee1973d5beb44d6651729d7c7d719af6b57981f3a39f9024ee36e549167a21724929930e62271547ec0e3c0","ssdeep":"","tlshash":"c7100000000c00c0000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-29T06:54:58.778431Z","times_seen":3057,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"41cffca8e35a84d3f88f9a25719e1bcd","sha1":"7dc2fe5ff12a7a0748d95c710eaf05536eaf88e7","sha256":"c950106fab05530dced5c2d95d8c8b0082afb6c2434895b968e7e8a208b8f3f0","sha512":"1d6080e041f9cd50074d23dfb1b15d5197813d1c0668dd6a2cea31f264f590029644e6912d6e1beef5931bb634ad4fbac05e1c5dc3d2f9eed4b217a58dd989cf","ssdeep":"","tlshash":"74e026c771603759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3806","size":338,"data":"","first_seen":"2026-07-25T07:02:54.168496Z","last_seen":"2026-07-27T07:00:44.973784Z","times_seen":508,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e3853dd21d7b37c8e001cbeb80def269","sha1":"22eab5e6d95c0a758b5105a2ca285550e4ddf4c0","sha256":"739c47988f1b9658cc13de9f615b8e5dcd2976ae3baf5442f36d6cdb7646b1a2","sha512":"186172b3a889c4e9dc3598d3d92d43b10144f04dcf14ecb3bcc6b6d6f45448caa601ab93a2b550bd7bf82f6a1905efccb9cabc88da9b70873a953a5ee0fe8660","ssdeep":"","tlshash":"4ef02d4235828222c02270af50bb60ce00b2c261af6b8e4e8a3292d15cea48a40c6f89","size":627,"data":"","first_seen":"2026-07-25T07:02:54.196783Z","last_seen":"2026-07-27T07:00:44.981605Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"25607f1ffaa7d1ff142e22e0e8ae6779","sha1":"207c150da361f4c91b20acad7c60918a9818305c","sha256":"8495a59d9339a0440ffe0861eaf8f3248dc31cd6f5e5447e07d6e6d376b2002c","sha512":"5a76b2517dfa3140c30a7a50b1d6f4d49ccf641725897a7d2f2131e4638d97279de45263ebb59371c7dc55e1204c94afd08eaf294e6cffb62e94580ea47223a0","ssdeep":"","tlshash":"6ad05eeb6b0f267900d33d34090b0a546a56c401ecca14e59711b8dc4f5460b40f3d2e","size":242,"data":"","first_seen":"2026-07-25T07:02:54.140729Z","last_seen":"2026-07-27T07:00:44.998252Z","times_seen":503,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"da3f5f8741b5de980662d730df73f871","sha1":"896f82c86f77ec8f6696a162f44345d84f4b302e","sha256":"da48bc39846fb2dfb11eac0208ab64b9f8b2f12fc89e9832b61d63d68935138b","sha512":"4c5197263ad82b11b501108b4da2d7f9ed721fff7146f15e294451be9611cbce7e079ec7a8204d358379003f85061b186fa8f851e271c05119b44ce405066b04","ssdeep":"","tlshash":"84a022203e20ee02b3232ace023b2c08f2088002c0000c0fc03ef3c00330bc223028fa","size":78,"data":"","first_seen":"2026-07-25T07:02:54.111523Z","last_seen":"2026-07-27T07:00:45.009896Z","times_seen":501,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a931635074a5017da74948b67e16c76f","sha1":"a6799582ad16a7c1ab8221c166268130df6691d2","sha256":"1fb437ac78114eda813a7c4d5771b6d3aa34908a5ca3b743d5eb5c79088cf82c","sha512":"7c96bb515bdba9ad60854b433d24e77982a321dd7ca71599fd8f79acee580802f56829a5dbb7f64932a51ad50d18a9438251a6ad8127ad2b2e332811033d2c7b","ssdeep":"","tlshash":"a5d023cc3941f262d06274b9041704dfd173384a1e1cdf4184154875667c5d9407f4c4","size":206,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-15T16:42:31.691515Z","times_seen":210418,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1750e9b76f54961545a1edf5b6bd9a5f","sha1":"9bdfc833f7e055821fae1f547e0abec9ee9b9718","sha256":"358ccf6ccf547b6106792de57295c558115f2ba6f5764c19a638c992bf90aeb4","sha512":"62c097d4b1fa74b247955132f63bb4b06f2ff9fb5074d68382f0f7d3233f82bf1a62b3153497ea23bb745f3c9ecb3c50602bc9484759a6b8b74939944750dcae","ssdeep":"","tlshash":"0fe07db0258123422174df79f0f3120430e172c67e48ac8f51256b429e388d1142353b","size":316,"data":"","first_seen":"2026-07-25T07:02:54.202304Z","last_seen":"2026-07-27T07:00:45.028847Z","times_seen":500,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4aae7fd3c815b1cfa3660cb3227a214c","sha1":"4531c0c13ac8462f9dd8f0dff0e13b1c3e150bcd","sha256":"cca00c516ba05df351915a75df4db57659d685c5af3622cedbba3c6b626af2a9","sha512":"c2f67d5e011e7ad703ab55ea89f91fff91b4245f5294cb73ded819757eb158102fd038f24b175c1f6eae717100cd63d9e9529cc90d124cd90a26ab4a1f650d4e","ssdeep":"","tlshash":"4d50003c30003000c0c0003000000000303c000cc0c000c0003c03c0c00f0c00000000","size":11,"data":"","first_seen":"2026-02-18T03:26:52.257023Z","last_seen":"2026-08-15T16:42:31.690943Z","times_seen":86266,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64d8c858156192a16a990983d35fb3f9","sha1":"1ae03179ebb040c510ecf6f785c0002f21932433","sha256":"bdfd55577f7056ab007e88fcfe9352e9805fc05f504131193cbe81c001162fd3","sha512":"e6c8b62010e24ed3c7a59b3d92aa3165bc2270274b755e8ecee06a238fe29682b08510402a6e8b7b3f85027d7e403447ed4694ec2bc43c136d5c0f1cb1b3f23a","ssdeep":"","tlshash":"cd60000c3f003000000000030000cc30c30cc3c0c0f000f3c003000000000000003f0c","size":15,"data":"","first_seen":"2024-07-23T18:45:21Z","last_seen":"2026-08-15T16:42:31.660958Z","times_seen":174749,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a931635074a5017da74948b67e16c76f","sha1":"a6799582ad16a7c1ab8221c166268130df6691d2","sha256":"1fb437ac78114eda813a7c4d5771b6d3aa34908a5ca3b743d5eb5c79088cf82c","sha512":"7c96bb515bdba9ad60854b433d24e77982a321dd7ca71599fd8f79acee580802f56829a5dbb7f64932a51ad50d18a9438251a6ad8127ad2b2e332811033d2c7b","ssdeep":"","tlshash":"a5d023cc3941f262d06274b9041704dfd173384a1e1cdf4184154875667c5d9407f4c4","size":206,"data":"","first_seen":"2023-03-07T01:02:15Z","last_seen":"2026-08-15T16:42:31.691515Z","times_seen":210418,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/480cde08b8bfd5ce.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.475Z","timestamp":1785129949475,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/480cde08b8bfd5ce.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 7096322\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"480cde08b8bfd5ce.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"2197ad79def7e68e0db5210279b81a88\"\r\nlast-modified: Tue, 28 Apr 2026 14:50:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/480cde08b8bfd5ce.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::m49ll-1777388594165-c9ac0a174814\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=950z8y1u4UUjzDvrJsCQLFKJ3upnu4i3sU4QfquUpWwd0UQu4xe4%2BbARsB27qgmTWPsbqxW3bFME5I1ffpTbeBDiWWgKe2sPpFHpsHguDjO35hyKfwwWQbAsvc7b\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c83d23a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":84456,"size_decoded":25522,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"2197ad79def7e68e0db5210279b81a88","sha1":"4a9572c96dc4b65a933f8494889a2d78f6bc8b3b","sha256":"0c61a398dcdf9a5d5a6a744855e7d95635c22711ee32b5af4a658fc6035de812","sha512":"1ed4b2613596da63a7fbbb97a8839e5ae8cf7a62d48b3f2818a3d7b510dde3fef57905aa4ce17843dcee71e3b9205f42c8e3b412427bddd975643af58c1b5979","ssdeep":"768:9Nf3ebiEpt8v84l+ayd9ar543m7dGwVBmOJ8SLBlbGJz5RBC8zogjPwNp9WxBbV3:yGY8AJ8pIOCSOvB9GW7H5sZzIxB","tlshash":"8883f8f931d1f88207ab44aac43f0002f32c5d77189e7864a3e5ddea716455da1f2faa","first_seen":"2026-04-28T18:06:46.282063Z","last_seen":"2026-08-15T07:58:28.225609Z","times_seen":2193,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDg1NTk0LChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9ITApe3JldHVybiBlLnBhdGhuYW1lK2Uuc2VhcmNoKyh0P2UuaGFzaDoiIil9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVIcmVmRnJvbVVybCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNTQzMjAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkhUTUxfTElNSVRFRF9CT1RfVUFfUkUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPS9bXHctXSstR29vZ2xlfEdvb2dsZS1bXHctXSt8Q2hyb21lLUxpZ2h0aG91c2V8U2x1cnB8RHVja0R1Y2tCb3R8YmFpZHVzcGlkZXJ8eWFuZGV4fHNvZ291fGJpdGx5Ym90fHR1bWJscnx2a1NoYXJlfHF1b3JhIGxpbmsgcHJldmlld3xyZWRkaXRib3R8aWFfYXJjaGl2ZXJ8QmluZ2JvdHxCaW5nUHJldmlld3xhcHBsZWJvdHxmYWNlYm9va2V4dGVybmFsaGl0fGZhY2Vib29rY2F0YWxvZ3xUd2l0dGVyYm90fExpbmtlZEluQm90fFNsYWNrYm90fERpc2NvcmRib3R8V2hhdHNBcHB8U2t5cGVVcmlQcmV2aWV3fFlldGl8Z29vZ2xld2VibGlnaHQvaX0sMzQ2NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17SFRNTF9MSU1JVEVEX0JPVF9VQV9SRTpmdW5jdGlvbigpe3JldHVybiBsLkhUTUxfTElNSVRFRF9CT1RfVUFfUkV9LEhUTUxfTElNSVRFRF9CT1RfVUFfUkVfU1RSSU5HOmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldEJvdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gc30saXNCb3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTQzMjApLHU9L0dvb2dsZWJvdCg/IS0pfEdvb2dsZWJvdCQvaSxvPWwuSFRNTF9MSU1JVEVEX0JPVF9VQV9SRS5zb3VyY2U7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbC5IVE1MX0xJTUlURURfQk9UX1VBX1JFLnRlc3QoZSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gdS50ZXN0KGUpfHxpKGUpfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIHUudGVzdChlKT8iZG9tIjppKGUpPyJodG1sIjp2b2lkIDB9fSw4NTYxOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiLyIpP2U6YC8ke2V9YH1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImVuc3VyZUxlYWRpbmdTbGFzaCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSl9LDkyMjI3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtub3JtYWxpemVBcHBQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIG99LG5vcm1hbGl6ZVJzY1VSTDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig4NTYxOSksdT1lLnIoMjc0NTQpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsbC5lbnN1cmVMZWFkaW5nU2xhc2gpKGUuc3BsaXQoIi8iKS5yZWR1Y2UoKGUsdCxyLG4pPT4hdHx8KDAsdS5pc0dyb3VwU2VnbWVudCkodCl8fCJAIj09PXRbMF18fCgicGFnZSI9PT10fHwicm91dGUiPT09dCkmJnI9PT1uLmxlbmd0aC0xP2U6YCR7ZX0vJHt0fWAsIiIpKX1mdW5jdGlvbiBpKGUpe3JldHVybiBlLnJlcGxhY2UoL1wucnNjKCR8XD8pLywiJDEiKX19LDU0NjgyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUzpmdW5jdGlvbigpe3JldHVybiB1fSxleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjpmdW5jdGlvbigpe3JldHVybiBpfSxpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDpmdW5jdGlvbigpe3JldHVybiBvfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig5MjIyNyksdT1bIiguLikoLi4pIiwiKC4pIiwiKC4uKSIsIiguLi4pIl07ZnVuY3Rpb24gbyhlKXtyZXR1cm4gdm9pZCAwIT09ZS5zcGxpdCgiLyIpLmZpbmQoZT0+dS5maW5kKHQ9PmUuc3RhcnRzV2l0aCh0KSkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQscixuO2ZvcihsZXQgYSBvZiBlLnNwbGl0KCIvIikpaWYocj11LmZpbmQoZT0+YS5zdGFydHNXaXRoKGUpKSl7W3Qsbl09ZS5zcGxpdChyLDIpO2JyZWFrfWlmKCF0fHwhcnx8IW4pdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtlfS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjY5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3N3aXRjaCh0PSgwLGwubm9ybWFsaXplQXBwUGF0aCkodCkscil7Y2FzZSIoLikiOm49Ii8iPT09dD9gLyR7bn1gOnQrIi8iK247YnJlYWs7Y2FzZSIoLi4pIjppZigiLyI9PT10KXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwsIHVzZSAoLikgaW5zdGVhZC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIwNyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPXQuc3BsaXQoIi8iKS5zbGljZSgwLC0xKS5jb25jYXQobikuam9pbigiLyIpO2JyZWFrO2Nhc2UiKC4uLikiOm49Ii8iK247YnJlYWs7Y2FzZSIoLi4pKC4uKSI6bGV0IGE9dC5zcGxpdCgiLyIpO2lmKGEubGVuZ3RoPD0yKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsIG9yIG9uZSBsZXZlbCB1cC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQ4NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPWEuc2xpY2UoMCwtMikuY29uY2F0KG4pLmpvaW4oIi8iKTticmVhaztkZWZhdWx0OnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfXJldHVybntpbnRlcmNlcHRpbmdSb3V0ZTp0LGludGVyY2VwdGVkUm91dGU6bn19fSw4OTYxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibWF0Y2hTZWdtZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oZSx0KT0+InN0cmluZyI9PXR5cGVvZiBlPyJzdHJpbmciPT10eXBlb2YgdCYmZT09PXQ6InN0cmluZyIhPXR5cGVvZiB0JiZlWzBdPT09dFswXSYmZVsxXT09PXRbMV07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTgxNjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NvbXB1dGVDaGFuZ2VkUGF0aDpmdW5jdGlvbigpe3JldHVybiBmfSxleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBzfSxnZXRTZWxlY3RlZFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQscj17fSl7Zm9yKGxldCBuIG9mIE9iamVjdC52YWx1ZXModFsxXSkpe2xldCB0PW5bMF0sYT1BcnJheS5pc0FycmF5KHQpLGw9YT90WzFdOnQ7IWx8fGwuc3RhcnRzV2l0aCh1LlBBR0VfU0VHTUVOVF9LRVkpfHwoYSYmKCJjIj09PXRbMl18fCJvYyI9PT10WzJdKT9yW3RbMF1dPXRbMV0uc3BsaXQoIi8iKTphJiYoclt0WzBdXT10WzFdKSxyPWUobixyKSl9cmV0dXJuIHJ9fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig1NDY4MiksdT1lLnIoMjc0NTQpLG89ZS5yKDg5NjE2KSxpPWU9PiJzdHJpbmciPT10eXBlb2YgZT8iY2hpbGRyZW4iPT09ZT8iIjplOmVbMV07ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5yZWR1Y2UoKGUsdCk9PntsZXQgcjtyZXR1cm4iIj09PSh0PSIvIj09PShyPXQpWzBdP3Iuc2xpY2UoMSk6cil8fCgwLHUuaXNHcm91cFNlZ21lbnQpKHQpP2U6YCR7ZX0vJHt0fWB9LCIiKXx8Ii8ifWZ1bmN0aW9uIHMoZSl7bGV0IHQ9QXJyYXkuaXNBcnJheShlWzBdKT9lWzBdWzFdOmVbMF07aWYodD09PXUuREVGQVVMVF9TRUdNRU5UX0tFWXx8bC5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5zb21lKGU9PnQuc3RhcnRzV2l0aChlKSkpcmV0dXJuO2lmKHQuc3RhcnRzV2l0aCh1LlBBR0VfU0VHTUVOVF9LRVkpKXJldHVybiIiO2xldCByPVtpKHQpXSxuPWVbMV0/P3t9LGE9bi5jaGlsZHJlbj9zKG4uY2hpbGRyZW4pOnZvaWQgMDtpZih2b2lkIDAhPT1hKXIucHVzaChhKTtlbHNlIGZvcihsZXRbZSx0XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtpZigiY2hpbGRyZW4iPT09ZSljb250aW51ZTtsZXQgbj1zKHQpO3ZvaWQgMCE9PW4mJnIucHVzaChuKX1yZXR1cm4gYyhyKX1mdW5jdGlvbiBmKGUsdCl7bGV0IHI9ZnVuY3Rpb24gZSh0LHIpe2xldFtuLGFdPXQsW3UsY109cixmPWkobiksZD1pKHUpO2lmKGwuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZShlPT5mLnN0YXJ0c1dpdGgoZSl8fGQuc3RhcnRzV2l0aChlKSkpcmV0dXJuIiI7aWYoISgwLG8ubWF0Y2hTZWdtZW50KShuLHUpKXJldHVybiBzKHIpPz8iIjtmb3IobGV0IHQgaW4gYSlpZihjW3RdKXtsZXQgcj1lKGFbdF0sY1t0XSk7aWYobnVsbCE9PXIpcmV0dXJuYCR7aSh1KX0vJHtyfWB9cmV0dXJuIG51bGx9KGUsdCk7cmV0dXJuIG51bGw9PXJ8fCIvIj09PXI/cjpjKHIuc3BsaXQoIi8iKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjMyNzgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImhhbmRsZU11dGFibGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucigxODE2Nyk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gdm9pZCAwIT09ZX1mdW5jdGlvbiBsKGUsdCl7bGV0IHI9dC5zaG91bGRTY3JvbGw/PyEwLGw9ZS5wcmV2aW91c05leHRVcmwsdT1lLm5leHRVcmw7aWYoYSh0LnBhdGNoZWRUcmVlKSl7bGV0IHI9KDAsbi5jb21wdXRlQ2hhbmdlZFBhdGgpKGUudHJlZSx0LnBhdGNoZWRUcmVlKTtyPyhsPXUsdT1yKTp1fHwodT1lLmNhbm9uaWNhbFVybCl9cmV0dXJue2Nhbm9uaWNhbFVybDp0LmNhbm9uaWNhbFVybD8/ZS5jYW5vbmljYWxVcmwscmVuZGVyZWRTZWFyY2g6dC5yZW5kZXJlZFNlYXJjaD8/ZS5yZW5kZXJlZFNlYXJjaCxwdXNoUmVmOntwZW5kaW5nUHVzaDphKHQucGVuZGluZ1B1c2gpP3QucGVuZGluZ1B1c2g6ZS5wdXNoUmVmLnBlbmRpbmdQdXNoLG1wYU5hdmlnYXRpb246YSh0Lm1wYU5hdmlnYXRpb24pP3QubXBhTmF2aWdhdGlvbjplLnB1c2hSZWYubXBhTmF2aWdhdGlvbixwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTphKHQucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUpP3QucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU6ZS5wdXNoUmVmLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlfSxmb2N1c0FuZFNjcm9sbFJlZjp7YXBwbHk6ISFyJiYoISFhKHQ/LnNjcm9sbGFibGVTZWdtZW50cyl8fGUuZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkpLG9ubHlIYXNoQ2hhbmdlOnQub25seUhhc2hDaGFuZ2V8fCExLGhhc2hGcmFnbWVudDpyP3QuaGFzaEZyYWdtZW50JiYiIiE9PXQuaGFzaEZyYWdtZW50P2RlY29kZVVSSUNvbXBvbmVudCh0Lmhhc2hGcmFnbWVudC5zbGljZSgxKSk6ZS5mb2N1c0FuZFNjcm9sbFJlZi5oYXNoRnJhZ21lbnQ6bnVsbCxzZWdtZW50UGF0aHM6cj90Py5zY3JvbGxhYmxlU2VnbWVudHM/P2UuZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzOltdfSxjYWNoZTp0LmNhY2hlP3QuY2FjaGU6ZS5jYWNoZSx0cmVlOmEodC5wYXRjaGVkVHJlZSk/dC5wYXRjaGVkVHJlZTplLnRyZWUsbmV4dFVybDp1LHByZXZpb3VzTmV4dFVybDpsLGRlYnVnSW5mbzp0LmNvbGxlY3RlZERlYnVnSW5mbz8/bnVsbH19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNDYyMTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hFQURfUkVRVUVTVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gb30sUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGFwcGVuZFNlZ21lbnRSZXF1ZXN0S2V5UGFydDpmdW5jdGlvbigpe3JldHVybiBjfSxjb252ZXJ0U2VnbWVudFBhdGhUb1N0YXRpY0V4cG9ydEZpbGVuYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LGNyZWF0ZVNlZ21lbnRSZXF1ZXN0S2V5UGFydDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNzQ1NCksdT0iIixvPSIvX2hlYWQiO2Z1bmN0aW9uIGkoZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlLnN0YXJ0c1dpdGgobC5QQUdFX1NFR01FTlRfS0VZKT9sLlBBR0VfU0VHTUVOVF9LRVk6Ii9fbm90LWZvdW5kIj09PWU/Il9ub3QtZm91bmQiOmYoZSk7bGV0IHQ9ZVswXTtyZXR1cm4iJCIrZVsyXSsiJCIrZih0KX1mdW5jdGlvbiBjKGUsdCxyKXtyZXR1cm4gZSsiLyIrKCJjaGlsZHJlbiI9PT10P3I6YEAke2YodCl9LyR7cn1gKX1sZXQgcz0vXlthLXpBLVowLTlcLV9AXSskLztmdW5jdGlvbiBmKGUpe3JldHVybiBzLnRlc3QoZSk/ZToiISIrYnRvYShlKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuYF9fbmV4dCR7ZS5yZXBsYWNlKC9cLy9nLCIuIil9LnR4dGB9fSw4ODA2MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZG9lc1N0YXRpY1NlZ21lbnRBcHBlYXJJblVSTDpmdW5jdGlvbigpe3JldHVybiBmfSxnZXRDYWNoZUtleUZvckR5bmFtaWNQYXJhbTpmdW5jdGlvbigpe3JldHVybiBkfSxnZXRQYXJhbVZhbHVlRnJvbUNhY2hlS2V5OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LGdldFJlbmRlcmVkUGF0aG5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sZ2V0UmVuZGVyZWRTZWFyY2g6ZnVuY3Rpb24oKXtyZXR1cm4gaX0scGFyc2VEeW5hbWljUGFyYW1Gcm9tVVJMUGFydDpmdW5jdGlvbigpe3JldHVybiBzfSx1cmxTZWFyY2hQYXJhbXNUb1BhcnNlZFVybFF1ZXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcjpmdW5jdGlvbigpe3JldHVybiBofX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNzQ1NCksdT1lLnIoNDYyMTkpLG89ZS5yKDM0NjQxKTtmdW5jdGlvbiBpKGUpe2xldCB0PWUuaGVhZGVycy5nZXQoby5ORVhUX1JFV1JJVFRFTl9RVUVSWV9IRUFERVIpO3JldHVybiBudWxsIT09dD8iIj09PXQ/IiI6Ij8iK3Q6aChuZXcgVVJMKGUudXJsKSkuc2VhcmNofWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUuaGVhZGVycy5nZXQoby5ORVhUX1JFV1JJVFRFTl9QQVRIX0hFQURFUik/P2gobmV3IFVSTChlLnVybCkpLnBhdGhuYW1lfWZ1bmN0aW9uIHMoZSx0LHIpe3N3aXRjaChlKXtjYXNlImMiOnJldHVybiByPHQubGVuZ3RoP3Quc2xpY2UocikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSk6W107Y2FzZSJjaSguLikoLi4pIjpjYXNlImNpKC4pIjpjYXNlImNpKC4uKSI6Y2FzZSJjaSguLi4pIjp7bGV0IG49ZS5sZW5ndGgtMjtyZXR1cm4gcjx0Lmxlbmd0aD90LnNsaWNlKHIpLm1hcCgoZSx0KT0+MD09PXQ/ZW5jb2RlVVJJQ29tcG9uZW50KGUuc2xpY2UobikpOmVuY29kZVVSSUNvbXBvbmVudChlKSk6W119Y2FzZSJvYyI6cmV0dXJuIHI8dC5sZW5ndGg/dC5zbGljZShyKS5tYXAoZT0+ZW5jb2RlVVJJQ29tcG9uZW50KGUpKTpudWxsO2Nhc2UiZCI6aWYocj49dC5sZW5ndGgpcmV0dXJuIiI7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0W3JdKTtjYXNlImRpKC4uKSguLikiOmNhc2UiZGkoLikiOmNhc2UiZGkoLi4pIjpjYXNlImRpKC4uLikiOntsZXQgbj1lLmxlbmd0aC0yO2lmKHI+PXQubGVuZ3RoKXJldHVybiIiO3JldHVybiBlbmNvZGVVUklDb21wb25lbnQodFtyXS5zbGljZShuKSl9ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gZihlKXtyZXR1cm4hKGU9PT11LlJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWXx8ZS5zdGFydHNXaXRoKGwuUEFHRV9TRUdNRU5UX0tFWSl8fCIoIj09PWVbMF0mJmUuZW5kc1dpdGgoIikiKSkmJmUhPT1sLkRFRkFVTFRfU0VHTUVOVF9LRVkmJiIvX25vdC1mb3VuZCIhPT1lfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/KDAsbC5hZGRTZWFyY2hQYXJhbXNJZlBhZ2VTZWdtZW50KShlLE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKHQpKSk6bnVsbD09PWU/IiI6ZS5qb2luKCIvIil9ZnVuY3Rpb24gaChlKXtsZXQgdD1uZXcgVVJMKGUpO3JldHVybiB0LnNlYXJjaFBhcmFtcy5kZWxldGUoby5ORVhUX1JTQ19VTklPTl9RVUVSWSksdH1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuImMiPT09dHx8Im9jIj09PXQ/ZS5zcGxpdCgiLyIpOmV9ZnVuY3Rpb24geShlKXtsZXQgdD17fTtmb3IobGV0W3Isbl1vZiBlLmVudHJpZXMoKSl2b2lkIDA9PT10W3JdP3Rbcl09bjpBcnJheS5pc0FycmF5KHRbcl0pP3Rbcl0ucHVzaChuKTp0W3JdPVt0W3JdLG5dO3JldHVybiB0fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY3NjI4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVJbml0aWFsUlNDUGF5bG9hZEZyb21GYWxsYmFja1ByZXJlbmRlcjpmdW5jdGlvbigpe3JldHVybiBjfSxnZXRGbGlnaHREYXRhUGFydHNGcm9tUGF0aDpmdW5jdGlvbigpe3JldHVybiBpfSxnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gc30sbm9ybWFsaXplRmxpZ2h0RGF0YTpmdW5jdGlvbigpe3JldHVybiBmfSxwcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDI3NDU0KSx1PWUucig4ODA2Miksbz1lLnIoODU1OTQpO2Z1bmN0aW9uIGkoZSl7bGV0W3QscixuLGFdPWUuc2xpY2UoLTQpLGw9ZS5zbGljZSgwLC00KTtyZXR1cm57cGF0aFRvU2VnbWVudDpsLnNsaWNlKDAsLTEpLHNlZ21lbnRQYXRoOmwsc2VnbWVudDpsW2wubGVuZ3RoLTFdPz8iIix0cmVlOnQsc2VlZERhdGE6cixoZWFkOm4saXNIZWFkUGFydGlhbDphLGlzUm9vdFJlbmRlcjo0PT09ZS5sZW5ndGh9fWZ1bmN0aW9uIGMoZSx0KXtsZXQgcj0oMCx1LmdldFJlbmRlcmVkUGF0aG5hbWUpKGUpLG49KDAsdS5nZXRSZW5kZXJlZFNlYXJjaCkoZSksYT0oMCxvLmNyZWF0ZUhyZWZGcm9tVXJsKShuZXcgVVJMKGxvY2F0aW9uLmhyZWYpKSxsPXQuZlswXSxpPWxbMF07cmV0dXJue2I6dC5iLGM6YS5zcGxpdCgiLyIpLHE6bixpOnQuaSxmOltbZnVuY3Rpb24gZSh0LHIsbixhKXtsZXQgbCxvLGk9dFswXTtpZigic3RyaW5nIj09dHlwZW9mIGkpbD1pLG89KDAsdS5kb2VzU3RhdGljU2VnbWVudEFwcGVhckluVVJMKShpKTtlbHNle2xldCBlPWlbMF0sdD1pWzJdLGM9KDAsdS5wYXJzZUR5bmFtaWNQYXJhbUZyb21VUkxQYXJ0KSh0LG4sYSk7bD1bZSwoMCx1LmdldENhY2hlS2V5Rm9yRHluYW1pY1BhcmFtKShjLHIpLHRdLG89ITB9bGV0IGM9bz9hKzE6YSxzPXRbMV0sZj17fTtmb3IobGV0IHQgaW4gcyl7bGV0IGE9c1t0XTtmW3RdPWUoYSxyLG4sYyl9cmV0dXJuW2wsZixudWxsLHRbM10sdFs0XV19KGksbixyLnNwbGl0KCIvIikuZmlsdGVyKGU9PiIiIT09ZSksMCksbFsxXSxsWzJdLGxbMl1dXSxtOnQubSxHOnQuRyxTOnQuU319ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5zbGljZSgyKX1mdW5jdGlvbiBmKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9lOmUubWFwKGU9PmkoZSkpfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gdD9lbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZSkpOmVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShmdW5jdGlvbiBlKHQpe3ZhciByLG47bGV0W2EsdSxvLGksYyxzXT10LGY9InN0cmluZyI9PXR5cGVvZihyPWEpJiZyLnN0YXJ0c1dpdGgobC5QQUdFX1NFR01FTlRfS0VZKyI/Iik/bC5QQUdFX1NFR01FTlRfS0VZOnIsZD17fTtmb3IobGV0W3Qscl1vZiBPYmplY3QuZW50cmllcyh1KSlkW3RdPWUocik7bGV0IGg9W2YsZCxudWxsLChuPWkpJiYicmVmcmVzaCIhPT1uP2k6bnVsbF07cmV0dXJuIHZvaWQgMCE9PWMmJihoWzRdPWMpLHZvaWQgMCE9PXMmJihoWzVdPXMpLGh9KGUpKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjE3MDYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldEFwcEJ1aWxkSWQ6ZnVuY3Rpb24oKXtyZXR1cm4gb30sc2V0QXBwQnVpbGRJZDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPSIiO2Z1bmN0aW9uIHUoZSl7bD1lfWZ1bmN0aW9uIG8oKXtyZXR1cm4gbH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyNzQxOCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZGpiMkhhc2g6ZnVuY3Rpb24oKXtyZXR1cm4gbH0saGV4SGFzaDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9NTM4MTtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl0PSh0PDw1KSt0K2UuY2hhckNvZGVBdChyKXwwO3JldHVybiB0Pj4+MH1mdW5jdGlvbiB1KGUpe3JldHVybiBsKGUpLnRvU3RyaW5nKDM2KS5zbGljZSgwLDUpfX0sNjg4NDcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNvbXB1dGVDYWNoZUJ1c3RpbmdTZWFyY2hQYXJhbSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDI3NDE4KTtmdW5jdGlvbiBhKGUsdCxyLGEpe3JldHVybih2b2lkIDA9PT1lfHwiMCI9PT1lKSYmdm9pZCAwPT09dCYmdm9pZCAwPT09ciYmdm9pZCAwPT09YT8iIjooMCxuLmhleEhhc2gpKFtlfHwiMCIsdHx8IjAiLHJ8fCIwIixhfHwiMCJdLmpvaW4oIiwiKSl9fSw0MTMwMiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17c2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW06ZnVuY3Rpb24oKXtyZXR1cm4gb30sc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW1XaXRoSGFzaDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig2ODg0NyksdT1lLnIoMzQ2NDEpLG89KGUsdCk9PntpKGUsKDAsbC5jb21wdXRlQ2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0pKHRbdS5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdLHRbdS5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl0sdFt1Lk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSXSx0W3UuTkVYVF9VUkxdKSl9LGk9KGUsdCk9PntsZXQgcj1lLnNlYXJjaCxuPShyLnN0YXJ0c1dpdGgoIj8iKT9yLnNsaWNlKDEpOnIpLnNwbGl0KCImIikuZmlsdGVyKGU9PmUmJiFlLnN0YXJ0c1dpdGgoYCR7dS5ORVhUX1JTQ19VTklPTl9RVUVSWX09YCkpO3QubGVuZ3RoPjA/bi5wdXNoKGAke3UuTkVYVF9SU0NfVU5JT05fUVVFUll9PSR7dH1gKTpuLnB1c2goYCR7dS5ORVhUX1JTQ19VTklPTl9RVUVSWX1gKSxlLnNlYXJjaD1uLmxlbmd0aD9gPyR7bi5qb2luKCImIil9YDoiIn07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTEwNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2xldCBuO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT17Y3JlYXRlRmV0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbTpmdW5jdGlvbigpe3JldHVybiBFfSxmZXRjaFNlcnZlclJlc3BvbnNlOmZ1bmN0aW9uKCl7cmV0dXJuIFB9fTtmb3IodmFyIGwgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixsLHtlbnVtZXJhYmxlOiEwLGdldDphW2xdfSk7bGV0IHU9ZS5yKDc1MDQ1KSxvPWUucigzNDY0MSksaT1lLnIoMzA5MzEpLGM9ZS5yKDg5NTk0KSxzPWUucig2NzYyOCksZj1lLnIoNjE3MDYpLGQ9ZS5yKDQxMzAyKSxoPWUucig4ODA2MikscD1lLnIoODg3NzQpLHk9dS5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0sZz11LmNyZWF0ZUZyb21GZXRjaDtmdW5jdGlvbiBSKGUpe3JldHVybigwLGgudXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKShuZXcgVVJMKGUsbG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX1sZXQgXz0hMTthc3luYyBmdW5jdGlvbiBQKGUsdCl7bGV0e2ZsaWdodFJvdXRlclN0YXRlOnIsbmV4dFVybDpufT10LGE9e1tvLlJTQ19IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06KDAscy5wcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KShyLHQuaXNIbXJSZWZyZXNoKX07biYmKGFbby5ORVhUX1VSTF09bik7dHJ5e2xldCB0PWF3YWl0IHYoZSxhLCJhdXRvIiwhMCkscj0oMCxoLnVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcikobmV3IFVSTCh0LnVybCkpLG49dC5yZWRpcmVjdGVkP3I6ZSxsPXQuaGVhZGVycy5nZXQoImNvbnRlbnQtdHlwZSIpfHwiIix1PSEhdC5oZWFkZXJzLmdldCgidmFyeSIpPy5pbmNsdWRlcyhvLk5FWFRfVVJMKSxpPSEhdC5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiksYz10LmhlYWRlcnMuZ2V0KG8uTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVIpLGQ9bnVsbCE9PWM/MWUzKnBhcnNlSW50KGMsMTApOi0xO2lmKCFsLnN0YXJ0c1dpdGgoby5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUil8fCF0Lm9rfHwhdC5ib2R5KXJldHVybiBlLmhhc2gmJihyLmhhc2g9ZS5oYXNoKSxSKHIudG9TdHJpbmcoKSk7bGV0IHA9dC5mbGlnaHRSZXNwb25zZTtpZihudWxsPT09cCl7bGV0IGUscj1pPyhlPXQuYm9keS5nZXRSZWFkZXIoKSxuZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwodCl7Zm9yKDs7KXtsZXR7ZG9uZTpyLHZhbHVlOm59PWF3YWl0IGUucmVhZCgpO2lmKCFyKXt0LmVucXVldWUobik7Y29udGludWV9cmV0dXJufX19KSk6dC5ib2R5O3A9RShyLGEpfWxldCB5PWF3YWl0IHA7aWYoKDAsZi5nZXRBcHBCdWlsZElkKSgpIT09eS5iKXJldHVybiBSKHQudXJsKTtsZXQgZz0oMCxzLm5vcm1hbGl6ZUZsaWdodERhdGEpKHkuZik7aWYoInN0cmluZyI9PXR5cGVvZiBnKXJldHVybiBSKGcpO3JldHVybntmbGlnaHREYXRhOmcsY2Fub25pY2FsVXJsOm4scmVuZGVyZWRTZWFyY2g6KDAsaC5nZXRSZW5kZXJlZFNlYXJjaCkodCksY291bGRCZUludGVyY2VwdGVkOnUscHJlcmVuZGVyZWQ6eS5TLHBvc3Rwb25lZDppLHN0YWxlVGltZTpkLGRlYnVnSW5mbzpwLl9kZWJ1Z0luZm8/P251bGx9fWNhdGNoKHQpe3JldHVybiBffHxjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggUlNDIHBheWxvYWQgZm9yICR7ZX0uIEZhbGxpbmcgYmFjayB0byBicm93c2VyIG5hdmlnYXRpb24uYCx0KSxlLnRvU3RyaW5nKCl9fWFzeW5jIGZ1bmN0aW9uIHYoZSx0LHIsYSxsKXt2YXIgdSxzO2xldCBmPSgwLHAuZ2V0RGVwbG95bWVudElkKSgpO2YmJih0WyJ4LWRlcGxveW1lbnQtaWQiXT1mKTtsZXQgaD1uZXcgVVJMKGUpOygwLGQuc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0pKGgsdCk7bGV0IHk9ZmV0Y2goaCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnQscHJpb3JpdHk6cnx8dm9pZCAwLHNpZ25hbDpsfSksUj1hPyh1PXkscz10LGcodSx7Y2FsbFNlcnZlcjppLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpjLmZpbmRTb3VyY2VNYXBVUkwsZGVidWdDaGFubmVsOm4mJm4ocyl9KSk6bnVsbCxfPWF3YWl0IHksUD1fLnJlZGlyZWN0ZWQsdj1uZXcgVVJMKF8udXJsLGgpO3JldHVybiB2LnNlYXJjaFBhcmFtcy5kZWxldGUoby5ORVhUX1JTQ19VTklPTl9RVUVSWSkse3VybDp2LmhyZWYscmVkaXJlY3RlZDpQLG9rOl8ub2ssaGVhZGVyczpfLmhlYWRlcnMsYm9keTpfLmJvZHksc3RhdHVzOl8uc3RhdHVzLGZsaWdodFJlc3BvbnNlOlJ9fWZ1bmN0aW9uIEUoZSx0KXtyZXR1cm4geShlLHtjYWxsU2VydmVyOmkuY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmMuZmluZFNvdXJjZU1hcFVSTCxkZWJ1Z0NoYW5uZWw6biYmbih0KX0pfSJ1Ij50eXBlb2Ygd2luZG93JiYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwoKT0+e189ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCgpPT57Xz0hMX0pKSwoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1Nzc3OCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucigyNzQ1NCk7ZnVuY3Rpb24gYShlLHQ9ITEpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2Ake2VbMF19fCR7ZVsxXX18JHtlWzJdfWA6dCYmZS5zdGFydHNXaXRoKG4uUEFHRV9TRUdNRU5UX0tFWSk/bi5QQUdFX1NFR01FTlRfS0VZOmV9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzczNjgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxyKXtsZXQgbj10WzBdLGE9clswXTtpZihBcnJheS5pc0FycmF5KG4pJiZBcnJheS5pc0FycmF5KGEpKXtpZihuWzBdIT09YVswXXx8blsyXSE9PWFbMl0pcmV0dXJuITB9ZWxzZSBpZihuIT09YSlyZXR1cm4hMDtpZih0WzRdKXJldHVybiFyWzRdO2lmKHJbNF0pcmV0dXJuITA7bGV0IGw9T2JqZWN0LnZhbHVlcyh0WzFdKVswXSx1PU9iamVjdC52YWx1ZXMoclsxXSlbMF07cmV0dXJuIWx8fCF1fHxlKGwsdSl9fX0pLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDE4OTM5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGE9e0ZyZXNobmVzc1BvbGljeTpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVJbml0aWFsQ2FjaGVOb2RlRm9ySHlkcmF0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGlzRGVmZXJyZWRSc2M6ZnVuY3Rpb24oKXtyZXR1cm4gTn0sc3Bhd25EeW5hbWljUmVxdWVzdHM6ZnVuY3Rpb24oKXtyZXR1cm4gan0sc3RhcnRQUFJOYXZpZ2F0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFB9fTtmb3IodmFyIGwgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixsLHtlbnVtZXJhYmxlOiEwLGdldDphW2xdfSk7bGV0IHU9ZS5yKDI3NDU0KSxvPWUucig4OTYxNiksaT1lLnIoODU1OTQpLGM9ZS5yKDU3Nzc4KSxzPWUucigxMTA2KSxmPWUucig5NDg3OSksZD1lLnIoNTk0MzApLGg9ZS5yKDM3MzY4KSxwPWUucig1NDAxMSkseT1lLnIoNjU0NjMpO3ZhciBnPSgobj17fSlbbi5EZWZhdWx0PTBdPSJEZWZhdWx0IixuW24uSHlkcmF0aW9uPTFdPSJIeWRyYXRpb24iLG5bbi5IaXN0b3J5VHJhdmVyc2FsPTJdPSJIaXN0b3J5VHJhdmVyc2FsIixuW24uUmVmcmVzaEFsbD0zXT0iUmVmcmVzaEFsbCIsbltuLkhNUlJlZnJlc2g9NF09IkhNUlJlZnJlc2giLG4pO2xldCBSPSgpPT57fTtmdW5jdGlvbiBfKGUsdCxyLG4pe3JldHVybiB2KGUsdCx2b2lkIDAsMSxyLG4sbnVsbCxudWxsLCExLG51bGwsbnVsbCwhMSx7c2Nyb2xsYWJsZVNlZ21lbnRzOm51bGwsc2VwYXJhdGVSZWZyZXNoVXJsczpudWxsfSkubm9kZX1mdW5jdGlvbiBQKGUsdCxyLG4sYSxsLHMsZixkLHAseSxnLFIpe3JldHVybiBmdW5jdGlvbiBlKHQscixuLGEsbCxzLGYsZCxwLHksZyxSLF8sUCxPLGosTSxBKXt2YXIgVSxDO2xldCBOLHcsRixJPWFbMF0sTD1sWzBdO2lmKCEoMCxvLm1hdGNoU2VnbWVudCkoTCxJKSlyZXR1cm4hZiYmKDAsaC5pc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQpKGEsbCl8fEw9PT11Lk5PVF9GT1VORF9TRUdNRU5UX0tFWXx8bnVsbD09PVB8fG51bGw9PT1PP251bGw6dih0LGwsbixzLGQscCx5LGcsUixQLE8saixBKTtsZXQgRD1udWxsIT09TyYmbnVsbCE9PVA/UC5jb25jYXQoW08sTF0pOltdLHg9bFsxXSxrPWFbMV0sSD1udWxsIT09ZD9kWzFdOm51bGwsQj1udWxsIT09eT95WzFdOm51bGwsSz0hMD09PWxbNF0sVj1mfHxLLHE9dm9pZCAwIT09bj9uLnBhcmFsbGVsUm91dGVzOnZvaWQgMCxHPSExLHo9ITE7c3dpdGNoKHMpe2Nhc2UgMDpjYXNlIDI6Y2FzZSAxOkc9ITEsej0hMTticmVhaztjYXNlIDM6Y2FzZSA0Okc9ITAsej0hMH1sZXQgWD1uZXcgTWFwKEc/dm9pZCAwOnEpLFc9MD09PU9iamVjdC5rZXlzKHgpLmxlbmd0aDtpZih2b2lkIDA9PT1ufHx6fHxXJiZfKWlmKG51bGwhPT1kJiZudWxsIT09ZFswXSl7bGV0IGU9ZFswXSxyPWRbMl0sbj1udWxsPT09cDt3PVMoZSxyLCExLHAsbixXLFgsdCksRj1XJiZufWVsc2UgaWYobnVsbCE9PXkpe2xldCBlPXlbMF0scj15WzJdLG49eVszXTt3PVMoZSxyLG4sZyxSLFcsWCx0KSxGPW58fFcmJlJ9ZWxzZSB3PVQoWCxXLHQscyksRj0hMDtlbHNlIHc9YighMSxuLFgpLEY9ITE7bGV0IFk9bFsyXSwkPSJzdHJpbmciPT10eXBlb2YgWSYmInJlZnJlc2giPT09bFszXT9ZOk07RiYmbnVsbCE9PSQmJihVPUEsQz0kLG51bGw9PT0oTj1VLnNlcGFyYXRlUmVmcmVzaFVybHMpP1Uuc2VwYXJhdGVSZWZyZXNoVXJscz1uZXcgU2V0KFtDXSk6Ti5hZGQoQykpO2xldCBRPXt9LEo9bnVsbCxaPSExLGVlPXt9O2ZvcihsZXQgbiBpbiB4KXtsZXQgYT14W25dLGw9a1tuXTtpZih2b2lkIDA9PT1sKXJldHVybiBudWxsO2xldCBvPXZvaWQgMCE9PXE/cS5nZXQobik6dm9pZCAwLGY9bnVsbCE9PUg/SFtuXTpudWxsLGQ9bnVsbCE9PUI/QltuXTpudWxsLGg9YVswXSx5PXAsUD1nLHY9UjsyIT09cyYmaD09PXUuREVGQVVMVF9TRUdNRU5UX0tFWSYmKGg9KGE9ZnVuY3Rpb24oZSx0KXtsZXQgcjtyZXR1cm4icmVmcmVzaCI9PT10WzNdP3I9dDooKHI9RSh0LHRbMV0pKVsyXT0oMCxpLmNyZWF0ZUhyZWZGcm9tVXJsKShlKSxyWzNdPSJyZWZyZXNoIikscn0ocixsKSlbMF0sZj1udWxsLHk9bnVsbCxkPW51bGwsUD1udWxsLHY9ITEpO2xldCBtPSgwLGMuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKGgpLGI9ZSh0LHIsdm9pZCAwIT09bz9vLmdldChtKTp2b2lkIDAsbCxhLHMsVixmPz9udWxsLHksZD8/bnVsbCxQLHYsXyxELG4sanx8RiwkLEEpO2lmKG51bGw9PT1iKXJldHVybiBudWxsO251bGw9PT1KJiYoSj1uZXcgTWFwKSxKLnNldChuLGIpO2xldCBTPWIubm9kZTtpZihudWxsIT09Uyl7bGV0IGU9bmV3IE1hcChHP3ZvaWQgMDpvKTtlLnNldChtLFMpLFguc2V0KG4sZSl9bGV0IFQ9Yi5yb3V0ZTtRW25dPVQ7bGV0IE89Yi5keW5hbWljUmVxdWVzdFRyZWU7bnVsbCE9PU8/KFo9ITAsZWVbbl09Tyk6ZWVbbl09VH1yZXR1cm57c3RhdHVzOishRixyb3V0ZTpFKGwsUSksbm9kZTp3LGR5bmFtaWNSZXF1ZXN0VHJlZTptKGwsZWUsRixaLGopLHJlZnJlc2hVcmw6JCxjaGlsZHJlbjpKfX0oZSx0LG51bGwhPT1yP3I6dm9pZCAwLG4sYSxsLCExLHMsZixkLHAseSxnLG51bGwsbnVsbCwhMSxudWxsLFIpfWZ1bmN0aW9uIHYoZSx0LHIsbixhLGwsdSxvLGkscyxmLGQsaCl7bGV0IHksZyxSPXRbMF0sXz1udWxsIT09ZiYmbnVsbCE9PXM/cy5jb25jYXQoW2YsUl0pOltdLFA9dFsxXSxPPW51bGwhPT11P3VbMV06bnVsbCxqPW51bGwhPT1hP2FbMV06bnVsbCxNPXZvaWQgMCE9PXI/ci5wYXJhbGxlbFJvdXRlczp2b2lkIDAsQT0hMSxVPSExLEM9ITE7c3dpdGNoKG4pe2Nhc2UgMDpBPSExLFU9dm9pZCAwPT09cnx8ZS1yLm5hdmlnYXRlZEF0Pj1wLkRZTkFNSUNfU1RBTEVUSU1FX01TLEM9ITE7YnJlYWs7Y2FzZSAxOlU9ITEsQT0hMSxDPSExO2JyZWFrO2Nhc2UgMjppZihVPSExLFU9ITEsdm9pZCAwIT09cil7bGV0IGU9ci5yc2M7Qz0hTihlKXx8InBlbmRpbmciIT09ZS5zdGF0dXN9ZWxzZSBDPSExO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6VT0hMCxBPSEwLEM9ITF9bGV0IHc9bmV3IE1hcChBP3ZvaWQgMDpNKSxGPTA9PT1PYmplY3Qua2V5cyhQKS5sZW5ndGg7aWYoRiYmKG51bGw9PT1oLnNjcm9sbGFibGVTZWdtZW50cyYmKGguc2Nyb2xsYWJsZVNlZ21lbnRzPVtdKSxoLnNjcm9sbGFibGVTZWdtZW50cy5wdXNoKF8pKSxVfHx2b2lkIDA9PT1yKWlmKG51bGwhPT1hJiZudWxsIT09YVswXSl7bGV0IHQ9YVswXSxyPWFbMl0sdT1udWxsPT09bCYmMSE9PW47eT1TKHQsciwhMSxsLHUsRix3LGUpLGc9RiYmdX1lbHNlIGlmKDE9PT1uJiZGJiZudWxsIT09bCl5PVMobnVsbCxudWxsLCExLGwsITEsRix3LGUpLGc9ITE7ZWxzZSBpZigxIT09biYmbnVsbCE9PXUpe2xldCB0PXVbMF0scj11WzJdLG49dVszXTt5PVModCxyLG4sbyxpLEYsdyxlKSxnPW58fEYmJml9ZWxzZSB5PVQodyxGLGUsbiksZz0hMDtlbHNlIHk9YihDLHIsdyksZz0hMTtsZXQgST17fSxMPW51bGwsRD0hMSx4PXt9O2ZvcihsZXQgdCBpbiBQKXtsZXQgcj1QW3RdLGE9dm9pZCAwIT09TT9NLmdldCh0KTp2b2lkIDAsdT1udWxsIT09aj9qW3RdOm51bGwscz1udWxsIT09Tz9PW3RdOm51bGwsZj1yWzBdLHA9KDAsYy5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoZikseT12KGUscix2b2lkIDAhPT1hP2EuZ2V0KHApOnZvaWQgMCxuLHU/P251bGwsbCxzPz9udWxsLG8saSxfLHQsZHx8ZyxoKTtudWxsPT09TCYmKEw9bmV3IE1hcCksTC5zZXQodCx5KTtsZXQgUj15Lm5vZGU7aWYobnVsbCE9PVIpe2xldCBlPW5ldyBNYXAoQT92b2lkIDA6YSk7ZS5zZXQocCxSKSx3LnNldCh0LGUpfWxldCBFPXkucm91dGU7SVt0XT1FO2xldCBtPXkuZHluYW1pY1JlcXVlc3RUcmVlO251bGwhPT1tPyhEPSEwLHhbdF09bSk6eFt0XT1FfXJldHVybntzdGF0dXM6KyFnLHJvdXRlOkUodCxJKSxub2RlOnksZHluYW1pY1JlcXVlc3RUcmVlOm0odCx4LGcsRCxkKSxyZWZyZXNoVXJsOm51bGwsY2hpbGRyZW46TH19ZnVuY3Rpb24gRShlLHQpe2xldCByPVtlWzBdLHRdO3JldHVybiAyIGluIGUmJihyWzJdPWVbMl0pLDMgaW4gZSYmKHJbM109ZVszXSksNCBpbiBlJiYocls0XT1lWzRdKSxyfWZ1bmN0aW9uIG0oZSx0LHIsbixhKXtsZXQgbD1udWxsO3JldHVybiByPyhsPUUoZSx0KSxhfHwobFszXT0icmVmZXRjaCIpKTpsPW4/RShlLHQpOm51bGwsbH1mdW5jdGlvbiBiKGUsdCxyKXtyZXR1cm57cnNjOnQucnNjLHByZWZldGNoUnNjOmU/bnVsbDp0LnByZWZldGNoUnNjLGhlYWQ6dC5oZWFkLHByZWZldGNoSGVhZDplP251bGw6dC5wcmVmZXRjaEhlYWQsbG9hZGluZzp0LmxvYWRpbmcscGFyYWxsZWxSb3V0ZXM6cixuYXZpZ2F0ZWRBdDp0Lm5hdmlnYXRlZEF0fX1mdW5jdGlvbiBTKGUsdCxyLG4sYSxsLHUsbyl7bGV0IGksYyxzLGY7cmV0dXJuIHI/KGM9ZSxpPXcoKSk6KGM9bnVsbCxpPWUpLGw/YT8ocz1uLGY9dygpKToocz1udWxsLGY9bik6KHM9bnVsbCxmPW51bGwpLHtyc2M6aSxwcmVmZXRjaFJzYzpjLGhlYWQ6ZixwcmVmZXRjaEhlYWQ6cyxsb2FkaW5nOnQscGFyYWxsZWxSb3V0ZXM6dSxuYXZpZ2F0ZWRBdDpvfX1mdW5jdGlvbiBUKGUsdCxyLG4pe2xldCBhPTE9PT1uO3JldHVybntyc2M6YT9udWxsOncoKSxwcmVmZXRjaFJzYzpudWxsLGhlYWQ6IWEmJnQ/dygpOm51bGwscHJlZmV0Y2hIZWFkOm51bGwsbG9hZGluZzphP251bGw6dygpLHBhcmFsbGVsUm91dGVzOmUsbmF2aWdhdGVkQXQ6cn19bGV0IE89ITE7ZnVuY3Rpb24gaihlLHQscixuLGEpe2xldCBsPWUuZHluYW1pY1JlcXVlc3RUcmVlO2lmKG51bGw9PT1sKXtPPSExO3JldHVybn1sZXQgdT1VKGUsbCx0LHIsbiksbz1hLnNlcGFyYXRlUmVmcmVzaFVybHMsYz1udWxsO2lmKG51bGwhPT1vKXtjPVtdO2xldCBhPSgwLGkuY3JlYXRlSHJlZkZyb21VcmwpKHQpO2ZvcihsZXQgdCBvZiBvKXQhPT1hJiZudWxsIT09bCYmYy5wdXNoKFUoZSxsLG5ldyBVUkwodCxsb2NhdGlvbi5vcmlnaW4pLHIsbikpfU0oZSxyLHUsYykudGhlbihSLFIpfWFzeW5jIGZ1bmN0aW9uIE0oZSx0LHIsbil7dmFyIGEsbDtsZXQgdT1hd2FpdCAoYT1yLGw9bixuZXcgUHJvbWlzZShlPT57bGV0IHQ9dD0+ezA9PT10LmV4aXRTdGF0dXM/MD09LS1uJiZlKDApOmUodC5leGl0U3RhdHVzKX0scj0oKT0+ZSgyKSxuPTE7YS50aGVuKHQsciksbnVsbCE9PWwmJihuKz1sLmxlbmd0aCxsLmZvckVhY2goZT0+ZS50aGVuKHQscikpKX0pKTtzd2l0Y2goMD09PXUmJih1PWZ1bmN0aW9uIGUodCxyLG4pe3ZhciBhLGwsdTtsZXQgbyxpLGMsczswPT09dC5zdGF0dXM/KHQuc3RhdHVzPTIsYT10Lm5vZGUsbD1yLHU9bixOKGk9YS5yc2MpJiYobnVsbD09PWw/aS5yZXNvbHZlKG51bGwsdSk6aS5yZWplY3QobCx1KSksTihjPWEubG9hZGluZykmJmMucmVzb2x2ZShudWxsLHUpLE4ocz1hLmhlYWQpJiZzLnJlc29sdmUobnVsbCx1KSxvPW51bGw9PT10LnJlZnJlc2hVcmw/MToyKTpvPTA7bGV0IGY9dC5jaGlsZHJlbjtpZihudWxsIT09Zilmb3IobGV0Wyx0XW9mIGYpe2xldCBhPWUodCxyLG4pO2E+byYmKG89YSl9cmV0dXJuIG99KGUsbnVsbCxudWxsKSksdSl7Y2FzZSAwOk89ITE7cmV0dXJuO2Nhc2UgMTp7bGV0IG49YXdhaXQgcjtBKCExLG4udXJsLHQsbi5zZWVkLGUucm91dGUpO3JldHVybn1jYXNlIDI6e2xldCBuPWF3YWl0IHI7QSghMCxuLnVybCx0LG4uc2VlZCxlLnJvdXRlKTtyZXR1cm59ZGVmYXVsdDpyZXR1cm4gdX19ZnVuY3Rpb24gQShlLHQscixuLGEpe2U9ZXx8TyxPPSEwO2xldCBsPXt0eXBlOmQuQUNUSU9OX1NFUlZFUl9QQVRDSCxwcmV2aW91c1RyZWU6YSx1cmw6dCxuZXh0VXJsOnIsc2VlZDpuLG1wYTplfTsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKShsKX1hc3luYyBmdW5jdGlvbiBVKGUsdCxyLG4sYSl7dHJ5e2xldCBsPWF3YWl0ICgwLHMuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkocix7ZmxpZ2h0Um91dGVyU3RhdGU6dCxuZXh0VXJsOm4saXNIbXJSZWZyZXNoOjQ9PT1hfSk7aWYoInN0cmluZyI9PXR5cGVvZiBsKXJldHVybntleGl0U3RhdHVzOjIsdXJsOm5ldyBVUkwobCxsb2NhdGlvbi5vcmlnaW4pLHNlZWQ6bnVsbH07bGV0IHU9KDAseS5jb252ZXJ0U2VydmVyUGF0Y2hUb0Z1bGxUcmVlKShlLnJvdXRlLGwuZmxpZ2h0RGF0YSxsLnJlbmRlcmVkU2VhcmNoKTtyZXR1cm57ZXhpdFN0YXR1czorISFmdW5jdGlvbiBlKHQscixuLGEsbCl7MD09PXQuc3RhdHVzJiZudWxsIT09biYmKHQuc3RhdHVzPTEsZnVuY3Rpb24oZSx0LHIsbil7bGV0IGE9ZS5yc2MsbD10WzBdO2lmKG51bGw9PT1sKXJldHVybjtudWxsPT09YT9lLnJzYz1sOk4oYSkmJmEucmVzb2x2ZShsLG4pO2xldCB1PWUubG9hZGluZztpZihOKHUpKXtsZXQgZT10WzJdO3UucmVzb2x2ZShlLG4pfWxldCBvPWUuaGVhZDtOKG8pJiZvLnJlc29sdmUocixuKX0odC5ub2RlLG4sYSxsKSk7bGV0IHU9dC5jaGlsZHJlbixpPXJbMV0sYz1udWxsIT09bj9uWzFdOm51bGwscz0hMTtpZihudWxsIT09dSlmb3IobGV0IHQgaW4gaSl7bGV0IHI9aVt0XSxuPW51bGwhPT1jP2NbdF06bnVsbCxmPXUuZ2V0KHQpO2lmKHZvaWQgMD09PWYpcz0hMDtlbHNle2xldCB0PWYucm91dGVbMF07KDAsby5tYXRjaFNlZ21lbnQpKHJbMF0sdCkmJm51bGwhPW4mJmUoZixyLG4sYSxsKSYmKHM9ITApfX1yZXR1cm4gc30oZSx1LnRyZWUsdS5kYXRhLHUuaGVhZCxsLmRlYnVnSW5mbyksdXJsOm5ldyBVUkwobC5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxzZWVkOnV9fWNhdGNoe3JldHVybntleGl0U3RhdHVzOjIsdXJsOnIsc2VlZDpudWxsfX19bGV0IEM9U3ltYm9sKCk7ZnVuY3Rpb24gTihlKXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlLnRhZz09PUN9ZnVuY3Rpb24gdygpe2xldCBlLHQscj1bXSxuPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybiBuLnN0YXR1cz0icGVuZGluZyIsbi5yZXNvbHZlPSh0LGEpPT57InBlbmRpbmciPT09bi5zdGF0dXMmJihuLnN0YXR1cz0iZnVsZmlsbGVkIixuLnZhbHVlPXQsbnVsbCE9PWEmJnIucHVzaC5hcHBseShyLGEpLGUodCkpfSxuLnJlamVjdD0oZSxhKT0+eyJwZW5kaW5nIj09PW4uc3RhdHVzJiYobi5zdGF0dXM9InJlamVjdGVkIixuLnJlYXNvbj1lLG51bGwhPT1hJiZyLnB1c2guYXBwbHkocixhKSx0KGUpKX0sbi50YWc9QyxuLl9kZWJ1Z0luZm89cixufSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI0NDU3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIYXNMb2FkaW5nQm91bmRhcnkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO3ZhciBuLGE9KChuPXt9KVtuLlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnk9MV09IlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnkiLG5bbi5TdWJ0cmVlSGFzTG9hZGluZ0JvdW5kYXJ5PTJdPSJTdWJ0cmVlSGFzTG9hZGluZ0JvdW5kYXJ5IixuW24uU3VidHJlZUhhc05vTG9hZGluZ0JvdW5kYXJ5PTNdPSJTdWJ0cmVlSGFzTm9Mb2FkaW5nQm91bmRhcnkiLG4pfSw1MjQxMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbixhLGwsdT17RmV0Y2hTdHJhdGVneTpmdW5jdGlvbigpe3JldHVybiBzfSxOYXZpZ2F0aW9uUmVzdWx0VGFnOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LFByZWZldGNoUHJpb3JpdHk6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgbyBpbiB1KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0OnVbb119KTt2YXIgaT0oKG49e30pW24uTVBBPTBdPSJNUEEiLG5bbi5TdWNjZXNzPTFdPSJTdWNjZXNzIixuW24uTm9PcD0yXT0iTm9PcCIsbltuLkFzeW5jPTNdPSJBc3luYyIsbiksYz0oKGE9e30pW2EuSW50ZW50PTJdPSJJbnRlbnQiLGFbYS5EZWZhdWx0PTFdPSJEZWZhdWx0IixhW2EuQmFja2dyb3VuZD0wXT0iQmFja2dyb3VuZCIsYSkscz0oKGw9e30pW2wuTG9hZGluZ0JvdW5kYXJ5PTBdPSJMb2FkaW5nQm91bmRhcnkiLGxbbC5QUFI9MV09IlBQUiIsbFtsLlBQUlJ1bnRpbWU9Ml09IlBQUlJ1bnRpbWUiLGxbbC5GdWxsPTNdPSJGdWxsIixsKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0MTg1MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZGVsZXRlRnJvbUxydTpmdW5jdGlvbigpe3JldHVybiBmfSxscnVQdXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdXBkYXRlTHJ1U2l6ZTpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig3NTc0NSksdT1udWxsLG89ITEsaT0wO2Z1bmN0aW9uIGMoZSl7aWYodT09PWUpcmV0dXJuO2xldCB0PWUucHJldixyPWUubmV4dDtpZihudWxsPT09cnx8bnVsbD09PXQ/KGkrPWUuc2l6ZSxkKCkpOih0Lm5leHQ9cixyLnByZXY9dCksbnVsbD09PXUpZS5wcmV2PWUsZS5uZXh0PWU7ZWxzZXtsZXQgdD11LnByZXY7ZS5wcmV2PXQsbnVsbCE9PXQmJih0Lm5leHQ9ZSksZS5uZXh0PXUsdS5wcmV2PWV9dT1lfWZ1bmN0aW9uIHMoZSx0KXtsZXQgcj1lLnNpemU7ZS5zaXplPXQsbnVsbCE9PWUubmV4dCYmKGk9aS1yK3QsZCgpKX1mdW5jdGlvbiBmKGUpe2xldCB0PWUubmV4dCxyPWUucHJldjtudWxsIT09dCYmbnVsbCE9PXImJihpLT1lLnNpemUsZS5uZXh0PW51bGwsZS5wcmV2PW51bGwsdT09PWU/dD09PXU/dT1udWxsOih1PXQsci5uZXh0PXQsdC5wcmV2PXIpOihyLm5leHQ9dCx0LnByZXY9cikpfWZ1bmN0aW9uIGQoKXtvfHxpPD0weDMyMDAwMDB8fChvPSEwLHAoaCkpfWZ1bmN0aW9uIGgoKXtvPSExO2Zvcig7aT4weDJkMDAwMDAmJm51bGwhPT11Oyl7bGV0IGU9dS5wcmV2O251bGwhPT1lJiYoMCxsLmRlbGV0ZU1hcEVudHJ5KShlKX19bGV0IHA9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVlc3RJZGxlQ2FsbGJhY2s/cmVxdWVzdElkbGVDYWxsYmFjazplPT5zZXRUaW1lb3V0KGUsMCk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzU3NDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0ZhbGxiYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGNyZWF0ZUNhY2hlTWFwOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGRlbGV0ZUZyb21DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiBofSxkZWxldGVNYXBFbnRyeTpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRGcm9tQ2FjaGVNYXA6ZnVuY3Rpb24oKXtyZXR1cm4gY30saXNWYWx1ZUV4cGlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2V0SW5DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiBmfSxzZXRTaXplSW5DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiB5fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig0MTg1MiksdT17fSxvPXt9O2Z1bmN0aW9uIGkoKXtyZXR1cm57cGFyZW50Om51bGwsa2V5Om51bGwsdmFsdWU6bnVsbCxtYXA6bnVsbCxwcmV2Om51bGwsbmV4dDpudWxsLHNpemU6MH19ZnVuY3Rpb24gYyhlLHQscixuLGEpe2xldCBpPWZ1bmN0aW9uIGUodCxyLG4sYSxsLGkpe2xldCBjLGY7aWYobnVsbCE9PWEpYz1hLnZhbHVlLGY9YS5wYXJlbnQ7ZWxzZSBpZihsJiZpIT09byljPW8sZj1udWxsO2Vsc2UgcmV0dXJuIG51bGw9PT1uLnZhbHVlP246cyh0LHIsbi52YWx1ZSk/KHAobiksbnVsbCk6bjtsZXQgZD1uLm1hcDtpZihudWxsIT09ZCl7bGV0IG49ZC5nZXQoYyk7aWYodm9pZCAwIT09bil7bGV0IGE9ZSh0LHIsbixmLGwsYyk7aWYobnVsbCE9PWEpcmV0dXJuIGF9bGV0IGE9ZC5nZXQodSk7aWYodm9pZCAwIT09YSlyZXR1cm4gZSh0LHIsYSxmLGwsYyl9cmV0dXJuIG51bGx9KGUsdCxyLG4sYSwwKTtyZXR1cm4gbnVsbD09PWl8fG51bGw9PT1pLnZhbHVlP251bGw6KCgwLGwubHJ1UHV0KShpKSxpLnZhbHVlKX1mdW5jdGlvbiBzKGUsdCxyKXtyZXR1cm4gci5zdGFsZUF0PD1lfHxyLnZlcnNpb248dH1mdW5jdGlvbiBmKGUsdCxyLG4pe2xldCBhPWZ1bmN0aW9uKGUsdCxyKXtsZXQgbj1lLGE9dCxsPW51bGw7Zm9yKDs7KXtsZXQgZT1sO2lmKG51bGwhPT1hKWw9YS52YWx1ZSxhPWEucGFyZW50O2Vsc2UgaWYociYmZSE9PW8pe2lmKG51bGw9PT1uLnZhbHVlKXJldHVybiBuO2w9b31lbHNlIGJyZWFrO2xldCB0PW4ubWFwO2lmKG51bGwhPT10KXtsZXQgZT10LmdldChsKTtpZih2b2lkIDAhPT1lKXtuPWU7Y29udGludWV9fWVsc2UgdD1uZXcgTWFwLG4ubWFwPXQ7bGV0IHU9e3BhcmVudDpuLGtleTpsLHZhbHVlOm51bGwsbWFwOm51bGwscHJldjpudWxsLG5leHQ6bnVsbCxzaXplOjB9O3Quc2V0KGwsdSksbj11fXJldHVybiBufShlLHQsbik7ZChhLHIpLCgwLGwubHJ1UHV0KShhKSwoMCxsLnVwZGF0ZUxydVNpemUpKGEsci5zaXplKX1mdW5jdGlvbiBkKGUsdCl7bnVsbCE9PWUudmFsdWUmJihlLnZhbHVlLnJlZj1udWxsLGUudmFsdWU9bnVsbCk7bGV0IHI9dC5yZWY7ZS52YWx1ZT10LHQucmVmPWUsKDAsbC51cGRhdGVMcnVTaXplKShlLHQuc2l6ZSksbnVsbCE9PXImJnIhPT1lJiZyLnZhbHVlPT09dCYmcChyKX1mdW5jdGlvbiBoKGUpe2xldCB0PWUucmVmO251bGwhPT10JiYoZS5yZWY9bnVsbCxwKHQpKX1mdW5jdGlvbiBwKGUpe2UudmFsdWU9bnVsbCwoMCxsLmRlbGV0ZUZyb21McnUpKGUpO2xldCB0PWUubWFwO2lmKG51bGw9PT10KXtsZXQgdD1lLnBhcmVudCxyPWUua2V5O2Zvcig7bnVsbCE9PXQ7KXtsZXQgZT10Lm1hcDtpZihudWxsIT09ZSYmKGUuZGVsZXRlKHIpLDA9PT1lLnNpemUpJiYodC5tYXA9bnVsbCxudWxsPT09dC52YWx1ZSkpe3I9dC5rZXksdD10LnBhcmVudDtjb250aW51ZX1icmVha319ZWxzZXtsZXQgcj10LmdldChvKTt2b2lkIDAhPT1yJiZudWxsIT09ci52YWx1ZSYmZChlLHIudmFsdWUpfX1mdW5jdGlvbiB5KGUsdCl7bGV0IHI9ZS5yZWY7bnVsbCE9PXImJihlLnNpemU9dCwoMCxsLnVwZGF0ZUxydVNpemUpKHIsdCkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY1ODkzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXthcHBlbmRMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBzfSxjbG9uZVBhZ2VWYXJ5UGF0aFdpdGhOZXdTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4geX0sZmluYWxpemVMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBmfSxmaW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sZmluYWxpemVQYWdlVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0RnVsZmlsbGVkUm91dGVWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBjfSxnZXRSb3V0ZVZhcnlQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gcH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTI0MTMpLHU9ZS5yKDc1NzQ1KSxvPWUucig0NjIxOSk7ZnVuY3Rpb24gaShlLHQscil7cmV0dXJue3ZhbHVlOmUscGFyZW50Ont2YWx1ZTp0LHBhcmVudDp7dmFsdWU6cixwYXJlbnQ6bnVsbH19fX1mdW5jdGlvbiBjKGUsdCxyLG4pe3JldHVybnt2YWx1ZTplLHBhcmVudDp7dmFsdWU6dCxwYXJlbnQ6e3ZhbHVlOm4/cjp1LkZhbGxiYWNrLHBhcmVudDpudWxsfX19fWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm57dmFsdWU6dCxwYXJlbnQ6ZX19ZnVuY3Rpb24gZihlLHQpe3JldHVybnt2YWx1ZTplLHBhcmVudDp0fX1mdW5jdGlvbiBkKGUsdCxyKXtyZXR1cm57dmFsdWU6ZSxwYXJlbnQ6e3ZhbHVlOnQscGFyZW50OnJ9fX1mdW5jdGlvbiBoKGUsdCxyKXtyZXR1cm57dmFsdWU6ZStvLkhFQURfUkVRVUVTVF9LRVkscGFyZW50Ont2YWx1ZTp0LHBhcmVudDpyfX19ZnVuY3Rpb24gcChlLHQpe2xldCByPXQudmFyeVBhdGg7aWYodC5pc1BhZ2UmJmUhPT1sLkZldGNoU3RyYXRlZ3kuRnVsbCYmZSE9PWwuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKXtsZXQgZT1yLnBhcmVudC5wYXJlbnQ7cmV0dXJue3ZhbHVlOnIudmFsdWUscGFyZW50Ont2YWx1ZTp1LkZhbGxiYWNrLHBhcmVudDplfX19cmV0dXJuIHJ9ZnVuY3Rpb24geShlLHQpe2xldCByPWUucGFyZW50O3JldHVybnt2YWx1ZTplLnZhbHVlLHBhcmVudDp7dmFsdWU6dCxwYXJlbnQ6ci5wYXJlbnR9fX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNjMxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0KXtsZXQgcj1uZXcgVVJMKGUpO3JldHVybntwYXRobmFtZTpyLnBhdGhuYW1lLHNlYXJjaDpyLnNlYXJjaCxuZXh0VXJsOnR9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlQ2FjaGVLZXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc1NzgwLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjYW5jZWxQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gRX0saXNQcmVmZXRjaFRhc2tEaXJ0eTpmdW5jdGlvbigpe3JldHVybiBifSxwaW5nUHJlZmV0Y2hUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIEF9LHJlc2NoZWR1bGVQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sc2NoZWR1bGVQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sc3RhcnRSZXZhbGlkYXRpb25Db29sZG93bjpmdW5jdGlvbigpe3JldHVybiBQfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNDQ1NyksdT1lLnIoODk2MTYpLG89ZS5yKDQ0NjY3KSxpPWUucig2NTg5MyksYz1lLnIoMTYzMTYpLHM9ZS5yKDUyNDEzKSxmPWUucigyNzQ1NCksZD0iZnVuY3Rpb24iPT10eXBlb2YgcXVldWVNaWNyb3Rhc2s/cXVldWVNaWNyb3Rhc2s6ZT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbihlKS5jYXRjaChlPT5zZXRUaW1lb3V0KCgpPT57dGhyb3cgZX0pKSxoPVtdLHA9MCx5PTAsZz0hMSxSPW51bGwsXz1udWxsO2Z1bmN0aW9uIFAoKXtudWxsIT09XyYmY2xlYXJUaW1lb3V0KF8pLF89c2V0VGltZW91dCgoKT0+e189bnVsbCxUKCl9LDMwMCl9ZnVuY3Rpb24gdihlLHQscixuLGEpe2xldCBsPXtrZXk6ZSx0cmVlQXRUaW1lT2ZQcmVmZXRjaDp0LGNhY2hlVmVyc2lvbjooMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCkscHJpb3JpdHk6bixwaGFzZToxLGhhc0JhY2tncm91bmRXb3JrOiExLHNwYXduZWRSdW50aW1lUHJlZmV0Y2hlczpudWxsLGZldGNoU3RyYXRlZ3k6cixzb3J0SWQ6eSsrLGlzQ2FuY2VsZWQ6ITEsb25JbnZhbGlkYXRlOmEsX2hlYXBJbmRleDotMX07cmV0dXJuIFMobCksQihoLGwpLFQoKSxsfWZ1bmN0aW9uIEUoZSl7ZS5pc0NhbmNlbGVkPSEwLGZ1bmN0aW9uKGUsdCl7bGV0IHI9dC5faGVhcEluZGV4O2lmKC0xIT09ciYmKHQuX2hlYXBJbmRleD0tMSwwIT09ZS5sZW5ndGgpKXtsZXQgbj1lLnBvcCgpO24hPT10JiYoZVtyXT1uLG4uX2hlYXBJbmRleD1yLHooZSxuLHIpKX19KGgsZSl9ZnVuY3Rpb24gbShlLHQscixuKXtlLmlzQ2FuY2VsZWQ9ITEsZS5waGFzZT0xLGUuc29ydElkPXkrKyxlLnByaW9yaXR5PWU9PT1SP3MuUHJlZmV0Y2hQcmlvcml0eS5JbnRlbnQ6bixlLnRyZWVBdFRpbWVPZlByZWZldGNoPXQsZS5mZXRjaFN0cmF0ZWd5PXIsUyhlKSwtMSE9PWUuX2hlYXBJbmRleD9xKGgsZSk6QihoLGUpLFQoKX1mdW5jdGlvbiBiKGUsdCxyKXtsZXQgbj0oMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCk7cmV0dXJuIGUuY2FjaGVWZXJzaW9uIT09bnx8ZS50cmVlQXRUaW1lT2ZQcmVmZXRjaCE9PXJ8fGUua2V5Lm5leHRVcmwhPT10fWZ1bmN0aW9uIFMoZSl7ZS5wcmlvcml0eT09PXMuUHJlZmV0Y2hQcmlvcml0eS5JbnRlbnQmJmUhPT1SJiYobnVsbCE9PVImJlIucHJpb3JpdHkhPT1zLlByZWZldGNoUHJpb3JpdHkuQmFja2dyb3VuZCYmKFIucHJpb3JpdHk9cy5QcmVmZXRjaFByaW9yaXR5LkRlZmF1bHQscShoLFIpKSxSPWUpfWZ1bmN0aW9uIFQoKXtnfHwoZz0hMCxkKFUpKX1mdW5jdGlvbiBPKGUpe3JldHVybiBudWxsPT09XyYmKGUucHJpb3JpdHk9PT1zLlByZWZldGNoUHJpb3JpdHkuSW50ZW50P3A8MTI6cDw0KX1mdW5jdGlvbiBqKGUpe3JldHVybiBwKyssZS50aGVuKGU9Pm51bGw9PT1lPyhNKCksbnVsbCk6KGUuY2xvc2VkLnRoZW4oTSksZS52YWx1ZSkpfWZ1bmN0aW9uIE0oKXtwLS0sVCgpfWZ1bmN0aW9uIEEoZSl7ZS5pc0NhbmNlbGVkfHwtMSE9PWUuX2hlYXBJbmRleHx8KEIoaCxlKSxUKCkpfWZ1bmN0aW9uIFUoKXtnPSExO2xldCBlPURhdGUubm93KCksdD1LKGgpO2Zvcig7bnVsbCE9PXQmJk8odCk7KXt0LmNhY2hlVmVyc2lvbj0oMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCk7bGV0IHI9ZnVuY3Rpb24oZSx0KXtsZXQgcj10LmtleSxuPSgwLG8ucmVhZE9yQ3JlYXRlUm91dGVDYWNoZUVudHJ5KShlLHQsciksYT1mdW5jdGlvbihlLHQscil7c3dpdGNoKHIuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6aigoMCxvLmZldGNoUm91dGVPbkNhY2hlTWlzcykocix0LHQua2V5KSksci5zdGFsZUF0PWUrNmU0LHIuc3RhdHVzPW8uRW50cnlTdGF0dXMuUGVuZGluZztjYXNlIG8uRW50cnlTdGF0dXMuUGVuZGluZzp7bGV0IGU9ci5ibG9ja2VkVGFza3M7cmV0dXJuIG51bGw9PT1lP3IuYmxvY2tlZFRhc2tzPW5ldyBTZXQoW3RdKTplLmFkZCh0KSwxfWNhc2Ugby5FbnRyeVN0YXR1cy5SZWplY3RlZDpicmVhaztjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOntpZigwIT09dC5waGFzZSlyZXR1cm4gMjtpZighTyh0KSlyZXR1cm4gMDtsZXQgaT1yLnRyZWUsYz10LmZldGNoU3RyYXRlZ3k9PT1zLkZldGNoU3RyYXRlZ3kuUFBSP3IuaXNQUFJFbmFibGVkP3MuRmV0Y2hTdHJhdGVneS5QUFI6cy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeTp0LmZldGNoU3RyYXRlZ3k7c3dpdGNoKGMpe2Nhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUjp7dmFyIG4sYSx1O2lmKEYobj1lLGE9dCx1PXIsKDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkobixzLkZldGNoU3RyYXRlZ3kuUFBSLHUsdS5tZXRhZGF0YSksYS5rZXksdS5tZXRhZGF0YSksMD09PWZ1bmN0aW9uIGUodCxyLG4sYSxsKXtsZXQgdT0oMCxvLnJlYWRPckNyZWF0ZVNlZ21lbnRDYWNoZUVudHJ5KSh0LHIuZmV0Y2hTdHJhdGVneSxuLGwpO0YodCxyLG4sdSxyLmtleSxsKTtsZXQgaT1hWzFdLGM9bC5zbG90cztpZihudWxsIT09Yylmb3IobGV0IGEgaW4gYyl7aWYoIU8ocikpcmV0dXJuIDA7bGV0IGw9Y1thXSx1PWwuc2VnbWVudCxzPWlbYV0sZj1zPy5bMF07aWYoMD09PSh2b2lkIDAhPT1mJiZrKG4sdSxmKT9lKHQscixuLHMsbCk6ZnVuY3Rpb24gZSh0LHIsbixhKXtpZihhLmhhc1J1bnRpbWVQcmVmZXRjaClyZXR1cm4gbnVsbD09PXIuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzP3Iuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzPW5ldyBTZXQoW2EucmVxdWVzdEtleV0pOnIuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzLmFkZChhLnJlcXVlc3RLZXkpLDI7bGV0IGw9KDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkodCxyLmZldGNoU3RyYXRlZ3ksbixhKTtpZihGKHQscixuLGwsci5rZXksYSksbnVsbCE9PWEuc2xvdHMpe2lmKCFPKHIpKXJldHVybiAwO2ZvcihsZXQgbCBpbiBhLnNsb3RzKWlmKDA9PT1lKHQscixuLGEuc2xvdHNbbF0pKXJldHVybiAwfXJldHVybiAyfSh0LHIsbixsKSkpcmV0dXJuIDB9cmV0dXJuIDJ9KGUsdCxyLHQudHJlZUF0VGltZU9mUHJlZmV0Y2gsaSkpcmV0dXJuIDA7bGV0IGw9dC5zcGF3bmVkUnVudGltZVByZWZldGNoZXM7aWYobnVsbCE9PWwpe2xldCBuPW5ldyBNYXA7TihlLHQscixuLHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKTtsZXQgYT1mdW5jdGlvbiBlKHQscixuLGEsbCx1KXtpZihsLmhhcyhhLnJlcXVlc3RLZXkpKXJldHVybiB3KHQscixuLGEsITEsdSxzLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSk7bGV0IG89e30saT1hLnNsb3RzO2lmKG51bGwhPT1pKWZvcihsZXQgYSBpbiBpKXtsZXQgYz1pW2FdO29bYV09ZSh0LHIsbixjLGwsdSl9cmV0dXJuW2Euc2VnbWVudCxvLG51bGwsbnVsbF19KGUsdCxyLGksbCxuKTtuLnNpemU+MCYmaigoMCxvLmZldGNoU2VnbWVudFByZWZldGNoZXNVc2luZ0R5bmFtaWNSZXF1ZXN0KSh0LHIscy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWUsYSxuKSl9cmV0dXJuIDJ9Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpjYXNlIHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeTp7bGV0IG49bmV3IE1hcDtOKGUsdCxyLG4sYyk7bGV0IGE9ZnVuY3Rpb24gZSh0LHIsbixhLHUsaSxjKXtsZXQgZj1hWzFdLGQ9dS5zbG90cyxoPXt9O2lmKG51bGwhPT1kKWZvcihsZXQgYSBpbiBkKXtsZXQgdT1kW2FdLHA9dS5zZWdtZW50LHk9ZlthXSxnPXk/LlswXTtpZih2b2lkIDAhPT1nJiZrKG4scCxnKSl7bGV0IGw9ZSh0LHIsbix5LHUsaSxjKTtoW2FdPWx9ZWxzZSBzd2l0Y2goYyl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5OntsZXQgZT11Lmhhc0xvYWRpbmdCb3VuZGFyeSE9PWwuSGFzTG9hZGluZ0JvdW5kYXJ5LlN1YnRyZWVIYXNOb0xvYWRpbmdCb3VuZGFyeT9mdW5jdGlvbiBlKHQscixuLGEsdSxpKXtsZXQgYz1udWxsPT09dT8iaW5zaWRlLXNoYXJlZC1sYXlvdXQiOm51bGwsZj0oMCxvLnJlYWRPckNyZWF0ZVNlZ21lbnRDYWNoZUVudHJ5KSh0LHIuZmV0Y2hTdHJhdGVneSxuLGEpO3N3aXRjaChmLnN0YXR1cyl7Y2FzZSBvLkVudHJ5U3RhdHVzLkVtcHR5Omkuc2V0KGEucmVxdWVzdEtleSwoMCxvLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShmLHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnkpKSwicmVmZXRjaCIhPT11JiYoYz11PSJyZWZldGNoIik7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZDppZihhLmhhc0xvYWRpbmdCb3VuZGFyeT09PWwuSGFzTG9hZGluZ0JvdW5kYXJ5LlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnkpcmV0dXJuKDAsby5jb252ZXJ0Um91dGVUcmVlVG9GbGlnaHRSb3V0ZXJTdGF0ZSkoYSk7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOn1sZXQgZD17fTtpZihudWxsIT09YS5zbG90cylmb3IobGV0IGwgaW4gYS5zbG90cyl7bGV0IG89YS5zbG90c1tsXTtkW2xdPWUodCxyLG4sbyx1LGkpfXJldHVyblthLnNlZ21lbnQsZCxudWxsLGMsYS5pc1Jvb3RMYXlvdXRdfSh0LHIsbix1LG51bGwsaSk6KDAsby5jb252ZXJ0Um91dGVUcmVlVG9GbGlnaHRSb3V0ZXJTdGF0ZSkodSk7aFthXT1lO2JyZWFrfWNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6e2xldCBlPXcodCxyLG4sdSwhMSxpLGMpO2hbYV09ZTticmVha31jYXNlIHMuRmV0Y2hTdHJhdGVneS5GdWxsOntsZXQgZT13KHQscixuLHUsITEsaSxjKTtoW2FdPWV9fX1yZXR1cm5bdS5zZWdtZW50LGgsbnVsbCxudWxsLHUuaXNSb290TGF5b3V0XX0oZSx0LHIsdC50cmVlQXRUaW1lT2ZQcmVmZXRjaCxpLG4sYyk7cmV0dXJuIG4uc2l6ZT4wJiZqKCgwLG8uZmV0Y2hTZWdtZW50UHJlZmV0Y2hlc1VzaW5nRHluYW1pY1JlcXVlc3QpKHQscixjLGEsbikpLDJ9fX19cmV0dXJuIDJ9KGUsdCxuKTtpZigwIT09YSYmIiIhPT1yLnNlYXJjaCl7bGV0IG49bmV3IFVSTChyLnBhdGhuYW1lLGxvY2F0aW9uLm9yaWdpbiksYT0oMCxjLmNyZWF0ZUNhY2hlS2V5KShuLmhyZWYsci5uZXh0VXJsKSxsPSgwLG8ucmVhZE9yQ3JlYXRlUm91dGVDYWNoZUVudHJ5KShlLHQsYSk7c3dpdGNoKGwuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6Qyh0KSYmKGwuc3RhdHVzPW8uRW50cnlTdGF0dXMuUGVuZGluZyxqKCgwLG8uZmV0Y2hSb3V0ZU9uQ2FjaGVNaXNzKShsLHQsYSkpKTtjYXNlIG8uRW50cnlTdGF0dXMuUGVuZGluZzpjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOmNhc2Ugby5FbnRyeVN0YXR1cy5SZWplY3RlZDp9fXJldHVybiBhfShlLHQpLG49dC5oYXNCYWNrZ3JvdW5kV29yaztzd2l0Y2godC5oYXNCYWNrZ3JvdW5kV29yaz0hMSx0LnNwYXduZWRSdW50aW1lUHJlZmV0Y2hlcz1udWxsLHIpe2Nhc2UgMDpyZXR1cm47Y2FzZSAxOlYoaCksdD1LKGgpO2NvbnRpbnVlO2Nhc2UgMjoxPT09dC5waGFzZT8odC5waGFzZT0wLHEoaCx0KSk6bj8odC5wcmlvcml0eT1zLlByZWZldGNoUHJpb3JpdHkuQmFja2dyb3VuZCxxKGgsdCkpOlYoaCksdD1LKGgpO2NvbnRpbnVlfX19ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5wcmlvcml0eT09PXMuUHJlZmV0Y2hQcmlvcml0eS5CYWNrZ3JvdW5kfHwoZS5oYXNCYWNrZ3JvdW5kV29yaz0hMCwhMSl9ZnVuY3Rpb24gTihlLHQscixuLGEpe3coZSx0LHIsci5tZXRhZGF0YSwhMSxuLGE9PT1zLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5P3MuRmV0Y2hTdHJhdGVneS5GdWxsOmEpfWZ1bmN0aW9uIHcoZSx0LHIsbixhLGwsdSl7bGV0IGk9KDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkoZSx1LHIsbiksYz1udWxsO3N3aXRjaChpLnN0YXR1cyl7Y2FzZSBvLkVudHJ5U3RhdHVzLkVtcHR5OmM9KDAsby51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkoaSx1KTticmVhaztjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOmkuaXNQYXJ0aWFsJiYoMCxvLmNhbk5ld0ZldGNoU3RyYXRlZ3lQcm92aWRlTW9yZUNvbnRlbnQpKGkuZmV0Y2hTdHJhdGVneSx1KSYmKGM9TChlLHIsbix1KSk7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOigwLG8uY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudCkoaS5mZXRjaFN0cmF0ZWd5LHUpJiYoYz1MKGUscixuLHUpKX1sZXQgcz17fTtpZihudWxsIT09bi5zbG90cylmb3IobGV0IG8gaW4gbi5zbG90cyl7bGV0IGk9bi5zbG90c1tvXTtzW29dPXcoZSx0LHIsaSxhfHxudWxsIT09YyxsLHUpfW51bGwhPT1jJiZsLnNldChuLnJlcXVlc3RLZXksYyk7bGV0IGY9YXx8bnVsbD09PWM/bnVsbDoicmVmZXRjaCI7cmV0dXJuW24uc2VnbWVudCxzLG51bGwsZixuLmlzUm9vdExheW91dF19ZnVuY3Rpb24gRihlLHQscixuLGEsbCl7c3dpdGNoKG4uc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6aigoMCxvLmZldGNoU2VnbWVudE9uQ2FjaGVNaXNzKShyLCgwLG8udXBncmFkZVRvUGVuZGluZ1NlZ21lbnQpKG4scy5GZXRjaFN0cmF0ZWd5LlBQUiksYSxsKSk7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6c3dpdGNoKG4uZmV0Y2hTdHJhdGVneSl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuUFBSOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6Qyh0KSYmSShlLHIsYSxsKTticmVhaztkZWZhdWx0Om4uZmV0Y2hTdHJhdGVneX1icmVhaztjYXNlIG8uRW50cnlTdGF0dXMuUmVqZWN0ZWQ6c3dpdGNoKG4uZmV0Y2hTdHJhdGVneSl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuUFBSOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6SShlLHIsYSxsKTticmVhaztkZWZhdWx0Om4uZmV0Y2hTdHJhdGVneX1jYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOn19ZnVuY3Rpb24gSShlLHQscixuKXtsZXQgYT0oMCxvLnJlYWRPckNyZWF0ZVJldmFsaWRhdGluZ1NlZ21lbnRFbnRyeSkoZSxzLkZldGNoU3RyYXRlZ3kuUFBSLHQsbik7c3dpdGNoKGEuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6eChqKCgwLG8uZmV0Y2hTZWdtZW50T25DYWNoZU1pc3MpKHQsKDAsby51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkoYSxzLkZldGNoU3RyYXRlZ3kuUFBSKSxyLG4pKSwoMCxpLmdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3QpKHMuRmV0Y2hTdHJhdGVneS5QUFIsbikpO2Nhc2Ugby5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2Ugby5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOn19ZnVuY3Rpb24gTChlLHQscixuKXtsZXQgYT0oMCxvLnJlYWRPckNyZWF0ZVJldmFsaWRhdGluZ1NlZ21lbnRFbnRyeSkoZSxuLHQscik7aWYoYS5zdGF0dXM9PT1vLkVudHJ5U3RhdHVzLkVtcHR5KXtsZXQgZT0oMCxvLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShhLG4pO3JldHVybiB4KCgwLG8ud2FpdEZvclNlZ21lbnRDYWNoZUVudHJ5KShlKSwoMCxpLmdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3QpKG4scikpLGV9aWYoKDAsby5jYW5OZXdGZXRjaFN0cmF0ZWd5UHJvdmlkZU1vcmVDb250ZW50KShhLmZldGNoU3RyYXRlZ3ksbikpe2xldCBlPSgwLG8ub3ZlcndyaXRlUmV2YWxpZGF0aW5nU2VnbWVudENhY2hlRW50cnkpKG4sdCxyKSxhPSgwLG8udXBncmFkZVRvUGVuZGluZ1NlZ21lbnQpKGUsbik7cmV0dXJuIHgoKDAsby53YWl0Rm9yU2VnbWVudENhY2hlRW50cnkpKGEpLCgwLGkuZ2V0U2VnbWVudFZhcnlQYXRoRm9yUmVxdWVzdCkobixyKSksYX1zd2l0Y2goYS5zdGF0dXMpe2Nhc2Ugby5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2Ugby5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOmRlZmF1bHQ6cmV0dXJuIG51bGx9fWxldCBEPSgpPT57fTtmdW5jdGlvbiB4KGUsdCl7ZS50aGVuKGU9PntudWxsIT09ZSYmKDAsby51cHNlcnRTZWdtZW50RW50cnkpKERhdGUubm93KCksdCxlKX0sRCl9ZnVuY3Rpb24gayhlLHQscil7cmV0dXJuIHI9PT1mLlBBR0VfU0VHTUVOVF9LRVk/dD09PSgwLGYuYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudCkoZi5QQUdFX1NFR01FTlRfS0VZLE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKGUucmVuZGVyZWRTZWFyY2gpKSk6KDAsdS5tYXRjaFNlZ21lbnQpKHIsdCl9ZnVuY3Rpb24gSChlLHQpe2xldCByPXQucHJpb3JpdHktZS5wcmlvcml0eTtpZigwIT09cilyZXR1cm4gcjtsZXQgbj10LnBoYXNlLWUucGhhc2U7cmV0dXJuIDAhPT1uP246dC5zb3J0SWQtZS5zb3J0SWR9ZnVuY3Rpb24gQihlLHQpe2xldCByPWUubGVuZ3RoO2UucHVzaCh0KSx0Ll9oZWFwSW5kZXg9cixHKGUsdCxyKX1mdW5jdGlvbiBLKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFYoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiBudWxsO2xldCB0PWVbMF07dC5faGVhcEluZGV4PS0xO2xldCByPWUucG9wKCk7cmV0dXJuIHIhPT10JiYoZVswXT1yLHIuX2hlYXBJbmRleD0wLHooZSxyLDApKSx0fWZ1bmN0aW9uIHEoZSx0KXtsZXQgcj10Ll9oZWFwSW5kZXg7LTEhPT1yJiYoMD09PXI/eihlLHQsMCk6SChlW3ItMT4+PjFdLHQpPjA/RyhlLHQscik6eihlLHQscikpfWZ1bmN0aW9uIEcoZSx0LHIpe2xldCBuPXI7Zm9yKDtuPjA7KXtsZXQgcj1uLTE+Pj4xLGE9ZVtyXTtpZighKEgoYSx0KT4wKSlyZXR1cm47ZVtyXT10LHQuX2hlYXBJbmRleD1yLGVbbl09YSxhLl9oZWFwSW5kZXg9bixuPXJ9fWZ1bmN0aW9uIHooZSx0LHIpe2xldCBuPXIsYT1lLmxlbmd0aCxsPWE+Pj4xO2Zvcig7bjxsOyl7bGV0IHI9KG4rMSkqMi0xLGw9ZVtyXSx1PXIrMSxvPWVbdV07aWYoMD5IKGwsdCkpdTxhJiYwPkgobyxsKT8oZVtuXT1vLG8uX2hlYXBJbmRleD1uLGVbdV09dCx0Ll9oZWFwSW5kZXg9dSxuPXUpOihlW25dPWwsbC5faGVhcEluZGV4PW4sZVtyXT10LHQuX2hlYXBJbmRleD1yLG49cik7ZWxzZXtpZighKHU8YSYmMD5IKG8sdCkpKXJldHVybjtlW25dPW8sby5faGVhcEluZGV4PW4sZVt1XT10LHQuX2hlYXBJbmRleD11LG49dX19fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk4MDYzLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtsZXQgdD1lLmluZGV4T2YoIiMiKSxyPWUuaW5kZXhPZigiPyIpLG49cj4tMSYmKHQ8MHx8cjx0KTtyZXR1cm4gbnx8dD4tMT97cGF0aG5hbWU6ZS5zdWJzdHJpbmcoMCxuP3I6dCkscXVlcnk6bj9lLnN1YnN0cmluZyhyLHQ+LTE/dDp2b2lkIDApOiIiLGhhc2g6dD4tMT9lLnNsaWNlKHQpOiIifTp7cGF0aG5hbWU6ZSxxdWVyeToiIixoYXNoOiIifX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInBhcnNlUGF0aCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSl9LDkwNTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFkZFBhdGhQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5ODA2Myk7ZnVuY3Rpb24gYShlLHQpe2lmKCFlLnN0YXJ0c1dpdGgoIi8iKXx8IXQpcmV0dXJuIGU7bGV0e3BhdGhuYW1lOnIscXVlcnk6YSxoYXNoOmx9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm5gJHt0fSR7cn0ke2F9JHtsfWB9fSw5ODk0NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvXC8kLywiIil8fCIvIn1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlbW92ZVRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pfSw2MTgwNywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig5ODk0NyksYT1lLnIoOTgwNjMpLGw9ZT0+e2lmKCFlLnN0YXJ0c1dpdGgoIi8iKSlyZXR1cm4gZTtsZXR7cGF0aG5hbWU6dCxxdWVyeTpyLGhhc2g6bH09KDAsYS5wYXJzZVBhdGgpKGUpO3JldHVybmAkeygwLG4ucmVtb3ZlVHJhaWxpbmdTbGFzaCkodCl9JHtyfSR7bH1gfTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNDg1NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWRkQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig5MDU4KSxhPWUucig2MTgwNyk7ZnVuY3Rpb24gbChlLHQpe3JldHVybigwLGEubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKCgwLG4uYWRkUGF0aFByZWZpeCkoZSwiIikpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI5MzYyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVQcmVmZXRjaFVSTDpmdW5jdGlvbigpe3JldHVybiBpfSxpc0V4dGVybmFsVVJMOmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDM0NjUpLHU9ZS5yKDE0ODU3KTtmdW5jdGlvbiBvKGUpe3JldHVybiBlLm9yaWdpbiE9PXdpbmRvdy5sb2NhdGlvbi5vcmlnaW59ZnVuY3Rpb24gaShlKXtsZXQgdDtpZigoMCxsLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkpcmV0dXJuIG51bGw7dHJ5e3Q9bmV3IFVSTCgoMCx1LmFkZEJhc2VQYXRoKShlKSx3aW5kb3cubG9jYXRpb24uaHJlZil9Y2F0Y2godCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBDYW5ub3QgcHJlZmV0Y2ggJyR7ZX0nIGJlY2F1c2UgaXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFVSTC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIzNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1yZXR1cm4gbyh0KT9udWxsOnR9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTgyODMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0lETEVfTElOS19TVEFUVVM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sUEVORElOR19MSU5LX1NUQVRVUzpmdW5jdGlvbigpe3JldHVybiBzfSxtb3VudEZvcm1JbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiB2fSxtb3VudExpbmtJbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBQfSxvbkxpbmtWaXNpYmlsaXR5Q2hhbmdlZDpmdW5jdGlvbigpe3JldHVybiBtfSxvbk5hdmlnYXRpb25JbnRlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYn0scGluZ1Zpc2libGVMaW5rczpmdW5jdGlvbigpe3JldHVybiBUfSxzZXRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gZH0sdW5tb3VudExpbmtGb3JDdXJyZW50TmF2aWdhdGlvbjpmdW5jdGlvbigpe3JldHVybiBofSx1bm1vdW50UHJlZmV0Y2hhYmxlSW5zdGFuY2U6ZnVuY3Rpb24oKXtyZXR1cm4gRX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTI0MTMpLHU9ZS5yKDE2MzE2KSxvPWUucig3NTc4MCksaT1lLnIoNzUyMDEpLGM9bnVsbCxzPXtwZW5kaW5nOiEwfSxmPXtwZW5kaW5nOiExfTtmdW5jdGlvbiBkKGUpeygwLGkuc3RhcnRUcmFuc2l0aW9uKSgoKT0+e2M/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKGYpLGU/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKHMpLGM9ZX0pfWZ1bmN0aW9uIGgoZSl7Yz09PWUmJihjPW51bGwpfWxldCBwPSJmdW5jdGlvbiI9PXR5cGVvZiBXZWFrTWFwP25ldyBXZWFrTWFwOm5ldyBNYXAseT1uZXcgU2V0LGc9ImZ1bmN0aW9uIj09dHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihlKXtmb3IobGV0IHQgb2YgZSl7bGV0IGU9dC5pbnRlcnNlY3Rpb25SYXRpbz4wO20odC50YXJnZXQsZSl9fSx7cm9vdE1hcmdpbjoiMjAwcHgifSk6bnVsbDtmdW5jdGlvbiBSKGUsdCl7dm9pZCAwIT09cC5nZXQoZSkmJkUoZSkscC5zZXQoZSx0KSxudWxsIT09ZyYmZy5vYnNlcnZlKGUpfWZ1bmN0aW9uIF8odCl7aWYoISgidSI+dHlwZW9mIHdpbmRvdykpcmV0dXJuIG51bGw7e2xldHtjcmVhdGVQcmVmZXRjaFVSTDpyfT1lLnIoMjkzNjIpO3RyeXtyZXR1cm4gcih0KX1jYXRjaHtyZXR1cm4oImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmNvbnNvbGUuZXJyb3IpKGBDYW5ub3QgcHJlZmV0Y2ggJyR7dH0nIGJlY2F1c2UgaXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFVSTC5gKSxudWxsfX19ZnVuY3Rpb24gUChlLHQscixuLGEsbCl7aWYoYSl7bGV0IGE9Xyh0KTtpZihudWxsIT09YSl7bGV0IHQ9e3JvdXRlcjpyLGZldGNoU3RyYXRlZ3k6bixpc1Zpc2libGU6ITEscHJlZmV0Y2hUYXNrOm51bGwscHJlZmV0Y2hIcmVmOmEuaHJlZixzZXRPcHRpbWlzdGljTGlua1N0YXR1czpsfTtyZXR1cm4gUihlLHQpLHR9fXJldHVybntyb3V0ZXI6cixmZXRjaFN0cmF0ZWd5Om4saXNWaXNpYmxlOiExLHByZWZldGNoVGFzazpudWxsLHByZWZldGNoSHJlZjpudWxsLHNldE9wdGltaXN0aWNMaW5rU3RhdHVzOmx9fWZ1bmN0aW9uIHYoZSx0LHIsbil7bGV0IGE9Xyh0KTtudWxsPT09YXx8UihlLHtyb3V0ZXI6cixmZXRjaFN0cmF0ZWd5Om4saXNWaXNpYmxlOiExLHByZWZldGNoVGFzazpudWxsLHByZWZldGNoSHJlZjphLmhyZWYsc2V0T3B0aW1pc3RpY0xpbmtTdGF0dXM6bnVsbH0pfWZ1bmN0aW9uIEUoZSl7bGV0IHQ9cC5nZXQoZSk7aWYodm9pZCAwIT09dCl7cC5kZWxldGUoZSkseS5kZWxldGUodCk7bGV0IHI9dC5wcmVmZXRjaFRhc2s7bnVsbCE9PXImJigwLG8uY2FuY2VsUHJlZmV0Y2hUYXNrKShyKX1udWxsIT09ZyYmZy51bm9ic2VydmUoZSl9ZnVuY3Rpb24gbShlLHQpe2xldCByPXAuZ2V0KGUpO3ZvaWQgMCE9PXImJihyLmlzVmlzaWJsZT10LHQ/eS5hZGQocik6eS5kZWxldGUociksUyhyLGwuUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0KSl9ZnVuY3Rpb24gYihlLHQpe2xldCByPXAuZ2V0KGUpO3ZvaWQgMCE9PXImJnZvaWQgMCE9PXImJlMocixsLlByZWZldGNoUHJpb3JpdHkuSW50ZW50KX1mdW5jdGlvbiBTKHQscil7aWYoInUiPnR5cGVvZiB3aW5kb3cpe2xldCBuPXQucHJlZmV0Y2hUYXNrO2lmKCF0LmlzVmlzaWJsZSl7bnVsbCE9PW4mJigwLG8uY2FuY2VsUHJlZmV0Y2hUYXNrKShuKTtyZXR1cm59bGV0e2dldEN1cnJlbnRBcHBSb3V0ZXJTdGF0ZTphfT1lLnIoODQzOTUpLGw9YSgpO2lmKG51bGwhPT1sKXtsZXQgZT1sLnRyZWU7aWYobnVsbD09PW4pe2xldCBuPWwubmV4dFVybCxhPSgwLHUuY3JlYXRlQ2FjaGVLZXkpKHQucHJlZmV0Y2hIcmVmLG4pO3QucHJlZmV0Y2hUYXNrPSgwLG8uc2NoZWR1bGVQcmVmZXRjaFRhc2spKGEsZSx0LmZldGNoU3RyYXRlZ3kscixudWxsKX1lbHNlKDAsby5yZXNjaGVkdWxlUHJlZmV0Y2hUYXNrKShuLGUsdC5mZXRjaFN0cmF0ZWd5LHIpfX19ZnVuY3Rpb24gVChlLHQpe2ZvcihsZXQgciBvZiB5KXtsZXQgbj1yLnByZWZldGNoVGFzaztpZihudWxsIT09biYmISgwLG8uaXNQcmVmZXRjaFRhc2tEaXJ0eSkobixlLHQpKWNvbnRpbnVlO251bGwhPT1uJiYoMCxvLmNhbmNlbFByZWZldGNoVGFzaykobik7bGV0IGE9KDAsdS5jcmVhdGVDYWNoZUtleSkoci5wcmVmZXRjaEhyZWYsZSk7ci5wcmVmZXRjaFRhc2s9KDAsby5zY2hlZHVsZVByZWZldGNoVGFzaykoYSx0LHIuZmV0Y2hTdHJhdGVneSxsLlByZWZldGNoUHJpb3JpdHkuRGVmYXVsdCxudWxsKX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNDA0NjEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKCl7bGV0IGUsdCxyPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybntyZXNvbHZlOmUscmVqZWN0OnQscHJvbWlzZTpyfX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KX0sNDQ2NjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYT17RW50cnlTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gU30sY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudDpmdW5jdGlvbigpe3JldHVybiBlYX0sY29udmVydFJvdXRlVHJlZVRvRmxpZ2h0Um91dGVyU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZSh0KXtsZXQgcj17fTtpZihudWxsIT09dC5zbG90cylmb3IobGV0IG4gaW4gdC5zbG90cylyW25dPWUodC5zbG90c1tuXSk7cmV0dXJuW3Quc2VnbWVudCxyLG51bGwsbnVsbCx0LmlzUm9vdExheW91dF19fSxjcmVhdGVEZXRhY2hlZFNlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LGZldGNoUm91dGVPbkNhY2hlTWlzczpmdW5jdGlvbigpe3JldHVybiAkfSxmZXRjaFNlZ21lbnRPbkNhY2hlTWlzczpmdW5jdGlvbigpe3JldHVybiBRfSxmZXRjaFNlZ21lbnRQcmVmZXRjaGVzVXNpbmdEeW5hbWljUmVxdWVzdDpmdW5jdGlvbigpe3JldHVybiBKfSxnZXRDdXJyZW50Q2FjaGVWZXJzaW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFV9LGdldFN0YWxlVGltZU1zOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LG92ZXJ3cml0ZVJldmFsaWRhdGluZ1NlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEJ9LHBpbmdJbnZhbGlkYXRpb25MaXN0ZW5lcnM6ZnVuY3Rpb24oKXtyZXR1cm4gTn0scmVhZE9yQ3JlYXRlUmV2YWxpZGF0aW5nU2VnbWVudEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEh9LHJlYWRPckNyZWF0ZVJvdXRlQ2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBMfSxyZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBrfSxyZWFkUm91dGVDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHd9LHJlYWRTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBGfSxyZXF1ZXN0T3B0aW1pc3RpY1JvdXRlQ2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBEfSxyZXZhbGlkYXRlRW50aXJlQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gQ30sdXBncmFkZVRvUGVuZGluZ1NlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gcX0sdXBzZXJ0U2VnbWVudEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEt9LHdhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBJfX07Zm9yKHZhciBsIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbCx7ZW51bWVyYWJsZTohMCxnZXQ6YVtsXX0pO2xldCB1PWUucigyNDQ1Nyksbz1lLnIoMzQ2NDEpLGk9ZS5yKDExMDYpLGM9ZS5yKDc1NzgwKSxzPWUucig2NTg5MyksZj1lLnIoNjE3MDYpLGQ9ZS5yKDg1NTk0KSxoPWUucigxNjMxNikscD1lLnIoODgwNjIpLHk9ZS5yKDc1NzQ1KSxnPWUucig0NjIxOSksUj1lLnIoNjc2MjgpLF89ZS5yKDU0MDExKSxQPWUucig5ODI4Myksdj1lLnIoMjc0NTQpLEU9ZS5yKDUyNDEzKSxtPWUucig0MDQ2MSk7ZnVuY3Rpb24gYihlKXtyZXR1cm4gMWUzKk1hdGgubWF4KGUsMzApfXZhciBTPSgobj17fSlbbi5FbXB0eT0wXT0iRW1wdHkiLG5bbi5QZW5kaW5nPTFdPSJQZW5kaW5nIixuW24uRnVsZmlsbGVkPTJdPSJGdWxmaWxsZWQiLG5bbi5SZWplY3RlZD0zXT0iUmVqZWN0ZWQiLG4pO2xldCBUPVsiIix7fSxudWxsLCJtZXRhZGF0YS1vbmx5Il0sTz0oMCx5LmNyZWF0ZUNhY2hlTWFwKSgpLGo9KDAseS5jcmVhdGVDYWNoZU1hcCkoKSxNPW51bGwsQT0wO2Z1bmN0aW9uIFUoKXtyZXR1cm4gQX1mdW5jdGlvbiBDKGUsdCl7QSsrLCgwLGMuc3RhcnRSZXZhbGlkYXRpb25Db29sZG93bikoKSwoMCxQLnBpbmdWaXNpYmxlTGlua3MpKGUsdCksTihlLHQpfWZ1bmN0aW9uIE4oZSx0KXtpZihudWxsIT09TSl7bGV0IHI9TTtmb3IobGV0IG4gb2YoTT1udWxsLHIpKSgwLGMuaXNQcmVmZXRjaFRhc2tEaXJ0eSkobixlLHQpJiZmdW5jdGlvbihlKXtsZXQgdD1lLm9uSW52YWxpZGF0ZTtpZihudWxsIT09dCl7ZS5vbkludmFsaWRhdGU9bnVsbDt0cnl7dCgpfWNhdGNoKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcihlKTpjb25zb2xlLmVycm9yKGUpfX19KG4pfX1mdW5jdGlvbiB3KGUsdCl7bGV0IHI9KDAscy5nZXRSb3V0ZVZhcnlQYXRoKSh0LnBhdGhuYW1lLHQuc2VhcmNoLHQubmV4dFVybCk7cmV0dXJuKDAseS5nZXRGcm9tQ2FjaGVNYXApKGUsQSxPLHIsITEpfWZ1bmN0aW9uIEYoZSx0KXtyZXR1cm4oMCx5LmdldEZyb21DYWNoZU1hcCkoZSxBLGosdCwhMSl9ZnVuY3Rpb24gSShlKXtsZXQgdD1lLnByb21pc2U7cmV0dXJuIG51bGw9PT10JiYodD1lLnByb21pc2U9KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSksdC5wcm9taXNlfWZ1bmN0aW9uIEwoZSx0LHIpe251bGwhPT10Lm9uSW52YWxpZGF0ZSYmKG51bGw9PT1NP009bmV3IFNldChbdF0pOk0uYWRkKHQpKTtsZXQgbj13KGUscik7aWYobnVsbCE9PW4pcmV0dXJuIG47bGV0IGE9e2Nhbm9uaWNhbFVybDpudWxsLHN0YXR1czowLGJsb2NrZWRUYXNrczpudWxsLHRyZWU6bnVsbCxtZXRhZGF0YTpudWxsLGNvdWxkQmVJbnRlcmNlcHRlZDohMCxpc1BQUkVuYWJsZWQ6ITEscmVuZGVyZWRTZWFyY2g6bnVsbCxyZWY6bnVsbCxzaXplOjAsc3RhbGVBdDoxLzAsdmVyc2lvbjpBfSxsPSgwLHMuZ2V0Um91dGVWYXJ5UGF0aCkoci5wYXRobmFtZSxyLnNlYXJjaCxyLm5leHRVcmwpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoTyxsLGEsITEpLGF9ZnVuY3Rpb24gRChlLHQscil7bGV0IG49dC5zZWFyY2g7aWYoIiI9PT1uKXJldHVybiBudWxsO2xldCBhPW5ldyBVUkwodCk7YS5zZWFyY2g9IiI7bGV0IGw9dyhlLCgwLGguY3JlYXRlQ2FjaGVLZXkpKGEuaHJlZixyKSk7aWYobnVsbD09PWx8fDIhPT1sLnN0YXR1cylyZXR1cm4gbnVsbDtsZXQgdT1uZXcgVVJMKGwuY2Fub25pY2FsVXJsLHQub3JpZ2luKSxvPSIiIT09dS5zZWFyY2g/dS5zZWFyY2g6bixpPSIiIT09bC5yZW5kZXJlZFNlYXJjaD9sLnJlbmRlcmVkU2VhcmNoOm4sYz1uZXcgVVJMKGwuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbik7cmV0dXJuIGMuc2VhcmNoPW8se2Nhbm9uaWNhbFVybDooMCxkLmNyZWF0ZUhyZWZGcm9tVXJsKShjKSxzdGF0dXM6MixibG9ja2VkVGFza3M6bnVsbCx0cmVlOngobC50cmVlLGkpLG1ldGFkYXRhOngobC5tZXRhZGF0YSxpKSxjb3VsZEJlSW50ZXJjZXB0ZWQ6bC5jb3VsZEJlSW50ZXJjZXB0ZWQsaXNQUFJFbmFibGVkOmwuaXNQUFJFbmFibGVkLHJlbmRlcmVkU2VhcmNoOmkscmVmOm51bGwsc2l6ZTowLHN0YWxlQXQ6bC5zdGFsZUF0LHZlcnNpb246bC52ZXJzaW9ufX1mdW5jdGlvbiB4KGUsdCl7bGV0IHI9bnVsbCxuPWUuc2xvdHM7aWYobnVsbCE9PW4pZm9yKGxldCBlIGluIHI9e30sbil7bGV0IGE9bltlXTtyW2VdPXgoYSx0KX1yZXR1cm4gZS5pc1BhZ2U/e3JlcXVlc3RLZXk6ZS5yZXF1ZXN0S2V5LHNlZ21lbnQ6ZS5zZWdtZW50LHZhcnlQYXRoOigwLHMuY2xvbmVQYWdlVmFyeVBhdGhXaXRoTmV3U2VhcmNoUGFyYW1zKShlLnZhcnlQYXRoLHQpLGlzUGFnZTohMCxzbG90czpyLGlzUm9vdExheW91dDplLmlzUm9vdExheW91dCxoYXNMb2FkaW5nQm91bmRhcnk6ZS5oYXNMb2FkaW5nQm91bmRhcnksaGFzUnVudGltZVByZWZldGNoOmUuaGFzUnVudGltZVByZWZldGNofTp7cmVxdWVzdEtleTplLnJlcXVlc3RLZXksc2VnbWVudDplLnNlZ21lbnQsdmFyeVBhdGg6ZS52YXJ5UGF0aCxpc1BhZ2U6ITEsc2xvdHM6cixpc1Jvb3RMYXlvdXQ6ZS5pc1Jvb3RMYXlvdXQsaGFzTG9hZGluZ0JvdW5kYXJ5OmUuaGFzTG9hZGluZ0JvdW5kYXJ5LGhhc1J1bnRpbWVQcmVmZXRjaDplLmhhc1J1bnRpbWVQcmVmZXRjaH19ZnVuY3Rpb24gayhlLHQscixuKXtsZXQgYT1GKGUsbi52YXJ5UGF0aCk7aWYobnVsbCE9PWEpcmV0dXJuIGE7bGV0IGw9KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG4pLHU9VihyLnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaixsLHUsITEpLHV9ZnVuY3Rpb24gSChlLHQscixuKXt2YXIgYTtsZXQgbD0oYT1uLnZhcnlQYXRoLCgwLHkuZ2V0RnJvbUNhY2hlTWFwKShlLEEsaixhLCEwKSk7aWYobnVsbCE9PWwpcmV0dXJuIGw7bGV0IHU9KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG4pLG89VihyLnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaix1LG8sITApLG99ZnVuY3Rpb24gQihlLHQscil7bGV0IG49KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KShlLHIpLGE9Vih0LnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaixuLGEsITApLGF9ZnVuY3Rpb24gSyhlLHQscil7aWYoKDAseS5pc1ZhbHVlRXhwaXJlZCkoZSxBLHIpKXJldHVybiBudWxsO2xldCBuPUYoZSx0KTtpZihudWxsIT09bil7dmFyIGE7aWYoci5mZXRjaFN0cmF0ZWd5IT09bi5mZXRjaFN0cmF0ZWd5JiYoYT1uLmZldGNoU3RyYXRlZ3ksIShhPHIuZmV0Y2hTdHJhdGVneSkpfHwhbi5pc1BhcnRpYWwmJnIuaXNQYXJ0aWFsKXJldHVybiByLnN0YXR1cz0zLHIubG9hZGluZz1udWxsLHIucnNjPW51bGwsbnVsbDsoMCx5LmRlbGV0ZUZyb21DYWNoZU1hcCkobil9cmV0dXJuKDAseS5zZXRJbkNhY2hlTWFwKShqLHQsciwhMSkscn1mdW5jdGlvbiBWKGUpe3JldHVybntzdGF0dXM6MCxmZXRjaFN0cmF0ZWd5OkUuRmV0Y2hTdHJhdGVneS5QUFIscnNjOm51bGwsbG9hZGluZzpudWxsLGlzUGFydGlhbDohMCxwcm9taXNlOm51bGwscmVmOm51bGwsc2l6ZTowLHN0YWxlQXQ6ZSx2ZXJzaW9uOjB9fWZ1bmN0aW9uIHEoZSx0KXtyZXR1cm4gZS5zdGF0dXM9MSxlLmZldGNoU3RyYXRlZ3k9dCx0PT09RS5GZXRjaFN0cmF0ZWd5LkZ1bGwmJihlLmlzUGFydGlhbD0hMSksZS52ZXJzaW9uPUEsZX1mdW5jdGlvbiBHKGUpe2xldCB0PWUuYmxvY2tlZFRhc2tzO2lmKG51bGwhPT10KXtmb3IobGV0IGUgb2YgdCkoMCxjLnBpbmdQcmVmZXRjaFRhc2spKGUpO2UuYmxvY2tlZFRhc2tzPW51bGx9fWZ1bmN0aW9uIHooZSx0LHIsbixhLGwsbyxpKXtsZXQgYz17cmVxdWVzdEtleTpnLkhFQURfUkVRVUVTVF9LRVksc2VnbWVudDpnLkhFQURfUkVRVUVTVF9LRVksdmFyeVBhdGg6cixpc1BhZ2U6ITAsc2xvdHM6bnVsbCxpc1Jvb3RMYXlvdXQ6ITEsaGFzTG9hZGluZ0JvdW5kYXJ5OnUuSGFzTG9hZGluZ0JvdW5kYXJ5LlN1YnRyZWVIYXNOb0xvYWRpbmdCb3VuZGFyeSxoYXNSdW50aW1lUHJlZmV0Y2g6ITF9O3JldHVybiBlLnN0YXR1cz0yLGUudHJlZT10LGUubWV0YWRhdGE9YyxlLnN0YWxlQXQ9bixlLmNvdWxkQmVJbnRlcmNlcHRlZD1hLGUuY2Fub25pY2FsVXJsPWwsZS5yZW5kZXJlZFNlYXJjaD1vLGUuaXNQUFJFbmFibGVkPWksRyhlKSxlfWZ1bmN0aW9uIFgoZSx0LHIsbixhKXtyZXR1cm4gZS5zdGF0dXM9MixlLnJzYz10LGUubG9hZGluZz1yLGUuc3RhbGVBdD1uLGUuaXNQYXJ0aWFsPWEsbnVsbCE9PWUucHJvbWlzZSYmKGUucHJvbWlzZS5yZXNvbHZlKGUpLGUucHJvbWlzZT1udWxsKSxlfWZ1bmN0aW9uIFcoZSx0KXtlLnN0YXR1cz0zLGUuc3RhbGVBdD10LEcoZSl9ZnVuY3Rpb24gWShlLHQpe2Uuc3RhdHVzPTMsZS5zdGFsZUF0PXQsbnVsbCE9PWUucHJvbWlzZSYmKGUucHJvbWlzZS5yZXNvbHZlKG51bGwpLGUucHJvbWlzZT1udWxsKX1hc3luYyBmdW5jdGlvbiAkKGUsdCxyKXtsZXQgbj1yLnBhdGhuYW1lLGE9ci5zZWFyY2gsbD1yLm5leHRVcmwsYz17W28uUlNDX0hFQURFUl06IjEiLFtvLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl06IjEiLFtvLk5FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSXToiL190cmVlIn07bnVsbCE9PWwmJihjW28uTkVYVF9VUkxdPWwpO3RyeXtsZXQgcixoLFA9bmV3IFVSTChuK2EsbG9jYXRpb24ub3JpZ2luKTtpZihyPWF3YWl0IGVyKFAsYyksaD1udWxsIT09ciYmci5yZWRpcmVjdGVkP25ldyBVUkwoci51cmwpOlAsIXJ8fCFyLm9rfHwyMDQ9PT1yLnN0YXR1c3x8IXIuYm9keSlyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBTPSgwLGQuY3JlYXRlSHJlZkZyb21VcmwpKGgpLFQ9ci5oZWFkZXJzLmdldCgidmFyeSIpLGo9bnVsbCE9PVQmJlQuaW5jbHVkZXMoby5ORVhUX1VSTCksTT0oMCxtLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLEE9IjIiPT09ci5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUik7aWYoQSl7bGV0IHQsbixhPWVuKHIuYm9keSxNLnJlc29sdmUsZnVuY3Rpb24odCl7KDAseS5zZXRTaXplSW5DYWNoZU1hcCkoZSx0KX0pLGw9YXdhaXQgKDAsaS5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShhLGMpO2lmKGwuYnVpbGRJZCE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBvPSgwLHAuZ2V0UmVuZGVyZWRQYXRobmFtZSkociksZD0oMCxwLmdldFJlbmRlcmVkU2VhcmNoKShyKSxoPXttZXRhZGF0YVZhcnlQYXRoOm51bGx9LFI9KHQ9by5zcGxpdCgiLyIpLmZpbHRlcihlPT4iIiE9PWUpLG49Zy5ST09UX1NFR01FTlRfUkVRVUVTVF9LRVksZnVuY3Rpb24gZSh0LHIsbixhLGwsbyxpLGMpe2xldCBmLGQsaD1udWxsLHk9dC5zbG90cztpZihudWxsIT09eSlmb3IobGV0IHQgaW4gZj0hMSxkPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkoYSxuKSxoPXt9LHkpe2xldCByLHUsZixkPXlbdF0sUj1kLm5hbWUsXz1kLnBhcmFtVHlwZSxQPWQucGFyYW1LZXk7aWYobnVsbCE9PV8pe2xldCBlPSgwLHAucGFyc2VEeW5hbWljUGFyYW1Gcm9tVVJMUGFydCkoXyxsLG8pLHQ9bnVsbCE9PVA/UDooMCxwLmdldENhY2hlS2V5Rm9yRHluYW1pY1BhcmFtKShlLCIiKTtmPSgwLHMuYXBwZW5kTGF5b3V0VmFyeVBhdGgpKG4sdCksdT1bUix0LF9dLHI9ITB9ZWxzZSBmPW4sdT1SLHI9KDAscC5kb2VzU3RhdGljU2VnbWVudEFwcGVhckluVVJMKShSKTtsZXQgdj1yP28rMTpvLEU9KDAsZy5jcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQpKHUpLG09KDAsZy5hcHBlbmRTZWdtZW50UmVxdWVzdEtleVBhcnQpKGEsdCxFKTtoW3RdPWUoZCx1LGYsbSxsLHYsaSxjKX1lbHNlIGEuZW5kc1dpdGgodi5QQUdFX1NFR01FTlRfS0VZKT8oZj0hMCxkPSgwLHMuZmluYWxpemVQYWdlVmFyeVBhdGgpKGEsaSxuKSxudWxsPT09Yy5tZXRhZGF0YVZhcnlQYXRoJiYoYy5tZXRhZGF0YVZhcnlQYXRoPSgwLHMuZmluYWxpemVNZXRhZGF0YVZhcnlQYXRoKShhLGksbikpKTooZj0hMSxkPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkoYSxuKSk7cmV0dXJue3JlcXVlc3RLZXk6YSxzZWdtZW50OnIsdmFyeVBhdGg6ZCxpc1BhZ2U6ZixzbG90czpoLGlzUm9vdExheW91dDp0LmlzUm9vdExheW91dCxoYXNMb2FkaW5nQm91bmRhcnk6dS5IYXNMb2FkaW5nQm91bmRhcnkuU2VnbWVudEhhc0xvYWRpbmdCb3VuZGFyeSxoYXNSdW50aW1lUHJlZmV0Y2g6dC5oYXNSdW50aW1lUHJlZmV0Y2h9fShsLnRyZWUsbixudWxsLGcuUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZLHQsMCxkLGgpKSxfPWgubWV0YWRhdGFWYXJ5UGF0aDtpZihudWxsPT09XylyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBQPWIobC5zdGFsZVRpbWUpO3ooZSxSLF8sRGF0ZS5ub3coKStQLGosUyxkLEEpfWVsc2V7bGV0IG49ZW4oci5ib2R5LE0ucmVzb2x2ZSxmdW5jdGlvbih0KXsoMCx5LnNldFNpemVJbkNhY2hlTWFwKShlLHQpfSksYT1hd2FpdCAoMCxpLmNyZWF0ZUZyb21OZXh0UmVhZGFibGVTdHJlYW0pKG4sYyk7aWYoYS5iIT09KDAsZi5nZXRBcHBCdWlsZElkKSgpKXJldHVybiBXKGUsRGF0ZS5ub3coKSsxZTQpLG51bGw7IWZ1bmN0aW9uKGUsdCxyLG4sYSxsLGksYyxmKXtsZXQgZD0oMCxwLmdldFJlbmRlcmVkU2VhcmNoKShuKSxoPSgwLFIubm9ybWFsaXplRmxpZ2h0RGF0YSkoYS5mKTtpZigic3RyaW5nIj09dHlwZW9mIGh8fDEhPT1oLmxlbmd0aClyZXR1cm4gVyhsLGUrMWU0KTtsZXQgeT1oWzBdO2lmKCF5LmlzUm9vdFJlbmRlcilyZXR1cm4gVyhsLGUrMWU0KTtsZXQgUD15LnRyZWUsRT0ibnVtYmVyIj09dHlwZW9mIGEucnA/LlsxXT9hLnJwWzFdOnBhcnNlSW50KG4uaGVhZGVycy5nZXQoby5ORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUik/PyIiLDEwKSxtPWlzTmFOKEUpP18uU1RBVElDX1NUQUxFVElNRV9NUzpiKEUpLFM9IjEiPT09bi5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiksVD17bWV0YWRhdGFWYXJ5UGF0aDpudWxsfSxPPWZ1bmN0aW9uIGUodCxyLG4sYSxsKXtsZXQgbyxpLGMsZixkPXRbMF07aWYoQXJyYXkuaXNBcnJheShkKSl7Yz0hMTtsZXQgZT1kWzFdO2k9KDAscy5hcHBlbmRMYXlvdXRWYXJ5UGF0aCkobixlKSxmPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkocixpKSxvPWR9ZWxzZSBpPW4sci5lbmRzV2l0aCh2LlBBR0VfU0VHTUVOVF9LRVkpPyhjPSEwLG89di5QQUdFX1NFR01FTlRfS0VZLGY9KDAscy5maW5hbGl6ZVBhZ2VWYXJ5UGF0aCkocixhLGkpLG51bGw9PT1sLm1ldGFkYXRhVmFyeVBhdGgmJihsLm1ldGFkYXRhVmFyeVBhdGg9KDAscy5maW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGgpKHIsYSxpKSkpOihjPSExLG89ZCxmPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkocixpKSk7bGV0IGg9bnVsbCxwPXRbMV07Zm9yKGxldCB0IGluIHApe2xldCBuPXBbdF0sdT1uWzBdLG89KDAsZy5jcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQpKHUpLGM9ZShuLCgwLGcuYXBwZW5kU2VnbWVudFJlcXVlc3RLZXlQYXJ0KShyLHQsbyksaSxhLGwpO251bGw9PT1oP2g9e1t0XTpjfTpoW3RdPWN9cmV0dXJue3JlcXVlc3RLZXk6cixzZWdtZW50Om8sdmFyeVBhdGg6Zixpc1BhZ2U6YyxzbG90czpoLGlzUm9vdExheW91dDohMD09PXRbNF0saGFzTG9hZGluZ0JvdW5kYXJ5OnZvaWQgMCE9PXRbNV0/dFs1XTp1Lkhhc0xvYWRpbmdCb3VuZGFyeS5TdWJ0cmVlSGFzTm9Mb2FkaW5nQm91bmRhcnksaGFzUnVudGltZVByZWZldGNoOiExfX0oUCxnLlJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWSxudWxsLGQsVCksaj1ULm1ldGFkYXRhVmFyeVBhdGg7aWYobnVsbD09PWopcmV0dXJuIFcobCxlKzFlNCk7bGV0IE09eihsLE8saixlK20saSxjLGQsZik7ZWUoZSx0LHIsbixhLFMsTSxudWxsKX0oRGF0ZS5ub3coKSx0LEUuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnkscixhLGUsaixTLEEpfWlmKCFqKXtsZXQgdD0oMCxzLmdldEZ1bGZpbGxlZFJvdXRlVmFyeVBhdGgpKG4sYSxsLGopOygwLHkuc2V0SW5DYWNoZU1hcCkoTyx0LGUsITEpfXJldHVybnt2YWx1ZTpudWxsLGNsb3NlZDpNLnByb21pc2V9fWNhdGNoKHQpe3JldHVybiBXKGUsRGF0ZS5ub3coKSsxZTQpLG51bGx9fWFzeW5jIGZ1bmN0aW9uIFEoZSx0LHIsbil7bGV0IGE9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGw9ci5uZXh0VXJsLHU9bi5yZXF1ZXN0S2V5LGM9dT09PWcuUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZPyIvX2luZGV4Ijp1LHM9e1tvLlJTQ19IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl06Y307bnVsbCE9PWwmJihzW28uTkVYVF9VUkxdPWwpO3RyeXtsZXQgcj1hd2FpdCBlcihhLHMpO2lmKCFyfHwhci5va3x8MjA0PT09ci5zdGF0dXN8fCIyIiE9PXIuaGVhZGVycy5nZXQoby5ORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIpfHwhci5ib2R5KXJldHVybiBZKHQsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IG49KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSxsPWVuKHIuYm9keSxuLnJlc29sdmUsZnVuY3Rpb24oZSl7KDAseS5zZXRTaXplSW5DYWNoZU1hcCkodCxlKX0pLHU9YXdhaXQgKDAsaS5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShsLHMpO2lmKHUuYnVpbGRJZCE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gWSh0LERhdGUubm93KCkrMWU0KSxudWxsO3JldHVybnt2YWx1ZTpYKHQsdS5yc2MsdS5sb2FkaW5nLGUuc3RhbGVBdCx1LmlzUGFydGlhbCksY2xvc2VkOm4ucHJvbWlzZX19Y2F0Y2goZSl7cmV0dXJuIFkodCxEYXRlLm5vdygpKzFlNCksbnVsbH19YXN5bmMgZnVuY3Rpb24gSihlLHQscixuLGEpe2xldCBsPWUua2V5LHU9bmV3IFVSTCh0LmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGM9bC5uZXh0VXJsOzE9PT1hLnNpemUmJmEuaGFzKHQubWV0YWRhdGEucmVxdWVzdEtleSkmJihuPVQpO2xldCBzPXtbby5SU0NfSEVBREVSXToiMSIsW28uTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVJdOigwLFIucHJlcGFyZUZsaWdodFJvdXRlclN0YXRlRm9yUmVxdWVzdCkobil9O3N3aXRjaChudWxsIT09YyYmKHNbby5ORVhUX1VSTF09Yykscil7Y2FzZSBFLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIEUuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOnNbby5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdPSIyIjticmVhaztjYXNlIEUuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6c1tvLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl09IjEifXRyeXtsZXQgbj1hd2FpdCBlcih1LHMpO2lmKCFufHwhbi5va3x8IW4uYm9keXx8KDAscC5nZXRSZW5kZXJlZFNlYXJjaCkobikhPT10LnJlbmRlcmVkU2VhcmNoKXJldHVybiBaKGEsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IGw9KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSxvPW51bGwsYz1lbihuLmJvZHksbC5yZXNvbHZlLGZ1bmN0aW9uKGUpe2lmKG51bGw9PT1vKXJldHVybjtsZXQgdD1lL28ubGVuZ3RoO2ZvcihsZXQgZSBvZiBvKSgwLHkuc2V0U2l6ZUluQ2FjaGVNYXApKGUsdCl9KSxmPWF3YWl0ICgwLGkuY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbSkoYyxzKSxkPXI9PT1FLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSYmZi5ycD8uWzBdPT09ITA7cmV0dXJuIG89ZWUoRGF0ZS5ub3coKSxlLHIsbixmLGQsdCxhKSx7dmFsdWU6bnVsbCxjbG9zZWQ6bC5wcm9taXNlfX1jYXRjaChlKXtyZXR1cm4gWihhLERhdGUubm93KCkrMWU0KSxudWxsfX1mdW5jdGlvbiBaKGUsdCl7bGV0IHI9W107Zm9yKGxldCBuIG9mIGUudmFsdWVzKCkpMT09PW4uc3RhdHVzP1kobix0KToyPT09bi5zdGF0dXMmJnIucHVzaChuKTtyZXR1cm4gcn1mdW5jdGlvbiBlZShlLHQscixuLGEsbCx1LGkpe2lmKGEuYiE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gbnVsbCE9PWkmJlooaSxlKzFlNCksbnVsbDtsZXQgYz0oMCxSLm5vcm1hbGl6ZUZsaWdodERhdGEpKGEuZik7aWYoInN0cmluZyI9PXR5cGVvZiBjKXJldHVybiBudWxsO2xldCBzPSJudW1iZXIiPT10eXBlb2YgYS5ycD8uWzFdP2EucnBbMV06cGFyc2VJbnQobi5oZWFkZXJzLmdldChvLk5FWFRfUk9VVEVSX1NUQUxFX1RJTUVfSEVBREVSKT8/IiIsMTApLGQ9ZSsoaXNOYU4ocyk/Xy5TVEFUSUNfU1RBTEVUSU1FX01TOmIocykpO2ZvcihsZXQgbiBvZiBjKXtsZXQgYT1uLnNlZWREYXRhO2lmKG51bGwhPT1hKXtsZXQgbz1uLnNlZ21lbnRQYXRoLGM9dS50cmVlO2ZvcihsZXQgdD0wO3Q8by5sZW5ndGg7dCs9Mil7bGV0IHI9b1t0XTtpZihjPy5zbG90cz8uW3JdPT09dm9pZCAwKXJldHVybiBudWxsIT09aSYmWihpLGUrMWU0KSxudWxsO2M9Yy5zbG90c1tyXX0hZnVuY3Rpb24gZSh0LHIsbixhLGwsdSxvLGksYyl7bGV0IHM9b1swXTtldCh0LG4sYSxzLG9bMl0sbnVsbD09PXN8fGksdSxsLGMpO2xldCBmPWwuc2xvdHM7aWYobnVsbCE9PWYpe2xldCBsPW9bMV07Zm9yKGxldCBvIGluIGYpe2xldCBzPWZbb10sZD1sW29dO251bGwhPWQmJmUodCxyLG4sYSxzLHUsZCxpLGMpfX19KGUsdCxyLHUsYyxkLGEsbCxpKX1sZXQgbz1uLmhlYWQ7bnVsbCE9PW8mJmV0KGUscix1LG8sbnVsbCxuLmlzSGVhZFBhcnRpYWwsZCx1Lm1ldGFkYXRhLGkpfXJldHVybiBudWxsIT09aT9aKGksZSsxZTQpOm51bGx9ZnVuY3Rpb24gZXQoZSx0LHIsbixhLGwsdSxvLGkpe2xldCBjPW51bGwhPT1pP2kuZ2V0KG8ucmVxdWVzdEtleSk6dm9pZCAwO2lmKHZvaWQgMCE9PWMpWChjLG4sYSx1LGwpO2Vsc2V7bGV0IGk9ayhlLHQscixvKTtpZigwPT09aS5zdGF0dXMpWChxKGksdCksbixhLHUsbCk7ZWxzZXtsZXQgcj1YKHEoVih1KSx0KSxuLGEsdSxsKTtLKGUsKDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG8pLHIpfX19YXN5bmMgZnVuY3Rpb24gZXIoZSx0KXtsZXQgcj1hd2FpdCAoMCxpLmNyZWF0ZUZldGNoKShlLHQsImxvdyIsITEpO2lmKCFyLm9rKXJldHVybiBudWxsO3tsZXQgZT1yLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKTtpZighKGUmJmUuc3RhcnRzV2l0aChvLlJTQ19DT05URU5UX1RZUEVfSEVBREVSKSkpcmV0dXJuIG51bGx9cmV0dXJuIHJ9ZnVuY3Rpb24gZW4oZSx0LHIpe2xldCBuPTAsYT1lLmdldFJlYWRlcigpO3JldHVybiBuZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwoZSl7Zm9yKDs7KXtsZXR7ZG9uZTpsLHZhbHVlOnV9PWF3YWl0IGEucmVhZCgpO2lmKCFsKXtlLmVucXVldWUodSkscihuKz11LmJ5dGVMZW5ndGgpO2NvbnRpbnVlfXQoKTtyZXR1cm59fX0pfWZ1bmN0aW9uIGVhKGUsdCl7cmV0dXJuIGU8dH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw2NTQ2MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y29udmVydFNlcnZlclBhdGNoVG9GdWxsVHJlZTpmdW5jdGlvbigpe3JldHVybiB2fSxuYXZpZ2F0ZTpmdW5jdGlvbigpe3JldHVybiBkfSxuYXZpZ2F0ZVRvU2VlZGVkUm91dGU6ZnVuY3Rpb24oKXtyZXR1cm4gaH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoMTEwNiksdT1lLnIoMTg5MzkpLG89ZS5yKDg1NTk0KSxpPWUucig0NDY2NyksYz1lLnIoMTYzMTYpLHM9ZS5yKDI3NDU0KSxmPWUucig1MjQxMyk7ZnVuY3Rpb24gZChlLHQscixuLGEsbCx1LG8pe2xldCBzPURhdGUubm93KCksZD1lLmhyZWYsaD1kPT09dC5ocmVmLHk9KDAsYy5jcmVhdGVDYWNoZUtleSkoZCxhKSxfPSgwLGkucmVhZFJvdXRlQ2FjaGVFbnRyeSkocyx5KTtpZihudWxsIT09XyYmXy5zdGF0dXM9PT1pLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZCl7bGV0IG89ZyhzLF8sXy50cmVlKSxpPW8uZmxpZ2h0Um91dGVyU3RhdGUsYz1vLnNlZWREYXRhLGY9UihzLF8pLGQ9Zi5yc2MseT1mLmlzUGFydGlhbCxQPV8uY2Fub25pY2FsVXJsK2UuaGFzaDtyZXR1cm4gcChzLGUsdCxhLGgscixuLGksYyxkLHksUCxfLnJlbmRlcmVkU2VhcmNoLGwsdSl9aWYobnVsbD09PV98fF8uc3RhdHVzIT09aS5FbnRyeVN0YXR1cy5SZWplY3RlZCl7bGV0IG89KDAsaS5yZXF1ZXN0T3B0aW1pc3RpY1JvdXRlQ2FjaGVFbnRyeSkocyxlLGEpO2lmKG51bGwhPT1vKXtsZXQgaT1nKHMsbyxvLnRyZWUpLGM9aS5mbGlnaHRSb3V0ZXJTdGF0ZSxmPWkuc2VlZERhdGEsZD1SKHMsbykseT1kLnJzYyxfPWQuaXNQYXJ0aWFsLFA9by5jYW5vbmljYWxVcmwrZS5oYXNoO3JldHVybiBwKHMsZSx0LGEsaCxyLG4sYyxmLHksXyxQLG8ucmVuZGVyZWRTZWFyY2gsbCx1KX19bGV0IHY9by5jb2xsZWN0ZWREZWJ1Z0luZm8/P1tdO3JldHVybiB2b2lkIDA9PT1vLmNvbGxlY3RlZERlYnVnSW5mbyYmKHY9by5jb2xsZWN0ZWREZWJ1Z0luZm89W10pLHt0YWc6Zi5OYXZpZ2F0aW9uUmVzdWx0VGFnLkFzeW5jLGRhdGE6UChzLGUsdCxhLHIsbixsLHUsdil9fWZ1bmN0aW9uIGgoZSx0LHIsbixhLGwsbyxpLGMscyl7bGV0IGQ9e3Njcm9sbGFibGVTZWdtZW50czpudWxsLHNlcGFyYXRlUmVmcmVzaFVybHM6bnVsbH0saD10LmhyZWY9PT1hLmhyZWYscD0oMCx1LnN0YXJ0UFBSTmF2aWdhdGlvbikoZSxhLGwsbyxuLnRyZWUsaSxuLmRhdGEsbi5oZWFkLG51bGwsbnVsbCwhMSxoLGQpO3JldHVybiBudWxsIT09cD8oKDAsdS5zcGF3bkR5bmFtaWNSZXF1ZXN0cykocCx0LGMsaSxkKSx5KHAscixuLnJlbmRlcmVkU2VhcmNoLGQuc2Nyb2xsYWJsZVNlZ21lbnRzLHMsdC5oYXNoKSk6e3RhZzpmLk5hdmlnYXRpb25SZXN1bHRUYWcuTVBBLGRhdGE6cn19ZnVuY3Rpb24gcChlLHQscixuLGEsbCxvLGksYyxzLGQsaCxwLGcsUil7bGV0IF89e3Njcm9sbGFibGVTZWdtZW50czpudWxsLHNlcGFyYXRlUmVmcmVzaFVybHM6bnVsbH0sUD0oMCx1LnN0YXJ0UFBSTmF2aWdhdGlvbikoZSxyLGwsbyxpLGcsbnVsbCxudWxsLGMscyxkLGEsXyk7cmV0dXJuIG51bGwhPT1QPygoMCx1LnNwYXduRHluYW1pY1JlcXVlc3RzKShQLHQsbixnLF8pLHkoUCxoLHAsXy5zY3JvbGxhYmxlU2VnbWVudHMsUix0Lmhhc2gpKTp7dGFnOmYuTmF2aWdhdGlvblJlc3VsdFRhZy5NUEEsZGF0YTpofX1mdW5jdGlvbiB5KGUsdCxyLG4sYSxsKXtyZXR1cm57dGFnOmYuTmF2aWdhdGlvblJlc3VsdFRhZy5TdWNjZXNzLGRhdGE6e2ZsaWdodFJvdXRlclN0YXRlOmUucm91dGUsY2FjaGVOb2RlOmUubm9kZSxjYW5vbmljYWxVcmw6dCxyZW5kZXJlZFNlYXJjaDpyLHNjcm9sbGFibGVTZWdtZW50czpuLHNob3VsZFNjcm9sbDphLGhhc2g6bH19fWZ1bmN0aW9uIGcoZSx0LHIpe2xldCBuPXt9LGE9e30sbD1yLnNsb3RzO2lmKG51bGwhPT1sKWZvcihsZXQgciBpbiBsKXtsZXQgdT1nKGUsdCxsW3JdKTtuW3JdPXUuZmxpZ2h0Um91dGVyU3RhdGUsYVtyXT11LnNlZWREYXRhfWxldCB1PW51bGwsbz1udWxsLGM9ITAsZj0oMCxpLnJlYWRTZWdtZW50Q2FjaGVFbnRyeSkoZSxyLnZhcnlQYXRoKTtpZihudWxsIT09Zilzd2l0Y2goZi5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6dT1mLnJzYyxvPWYubG9hZGluZyxjPWYuaXNQYXJ0aWFsO2JyZWFrO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOntsZXQgZT0oMCxpLndhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeSkoZik7dT1lLnRoZW4oZT0+bnVsbCE9PWU/ZS5yc2M6bnVsbCksbz1lLnRoZW4oZT0+bnVsbCE9PWU/ZS5sb2FkaW5nOm51bGwpLGM9Zi5pc1BhcnRpYWx9Y2FzZSBpLkVudHJ5U3RhdHVzLkVtcHR5OmNhc2UgaS5FbnRyeVN0YXR1cy5SZWplY3RlZDp9cmV0dXJue2ZsaWdodFJvdXRlclN0YXRlOlsoMCxzLmFkZFNlYXJjaFBhcmFtc0lmUGFnZVNlZ21lbnQpKHIuc2VnbWVudCxPYmplY3QuZnJvbUVudHJpZXMobmV3IFVSTFNlYXJjaFBhcmFtcyh0LnJlbmRlcmVkU2VhcmNoKSkpLG4sbnVsbCxudWxsLHIuaXNSb290TGF5b3V0XSxzZWVkRGF0YTpbdSxhLG8sYywhMV19fWZ1bmN0aW9uIFIoZSx0KXtsZXQgcj1udWxsLG49ITAsYT0oMCxpLnJlYWRTZWdtZW50Q2FjaGVFbnRyeSkoZSx0Lm1ldGFkYXRhLnZhcnlQYXRoKTtpZihudWxsIT09YSlzd2l0Y2goYS5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6cj1hLnJzYyxuPWEuaXNQYXJ0aWFsO2JyZWFrO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOnI9KDAsaS53YWl0Rm9yU2VnbWVudENhY2hlRW50cnkpKGEpLnRoZW4oZT0+bnVsbCE9PWU/ZS5yc2M6bnVsbCksbj1hLmlzUGFydGlhbDtjYXNlIGkuRW50cnlTdGF0dXMuRW1wdHk6Y2FzZSBpLkVudHJ5U3RhdHVzLlJlamVjdGVkOn1yZXR1cm57cnNjOnIsaXNQYXJ0aWFsOm59fWxldCBfPVsiIix7fSxudWxsLCJyZWZldGNoIl07YXN5bmMgZnVuY3Rpb24gUChlLHQscixuLGEsaSxjLHMsZCl7bGV0IHA7c3dpdGNoKGMpe2Nhc2UgdS5GcmVzaG5lc3NQb2xpY3kuRGVmYXVsdDpjYXNlIHUuRnJlc2huZXNzUG9saWN5Lkhpc3RvcnlUcmF2ZXJzYWw6cD1pO2JyZWFrO2Nhc2UgdS5GcmVzaG5lc3NQb2xpY3kuSHlkcmF0aW9uOmNhc2UgdS5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbDpjYXNlIHUuRnJlc2huZXNzUG9saWN5LkhNUlJlZnJlc2g6cD1fO2JyZWFrO2RlZmF1bHQ6cD1pfWxldCB5PSgwLGwuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkodCx7ZmxpZ2h0Um91dGVyU3RhdGU6cCxuZXh0VXJsOm59KSxnPWF3YWl0IHk7aWYoInN0cmluZyI9PXR5cGVvZiBnKXJldHVybnt0YWc6Zi5OYXZpZ2F0aW9uUmVzdWx0VGFnLk1QQSxkYXRhOmd9O2xldHtmbGlnaHREYXRhOlIsY2Fub25pY2FsVXJsOlAscmVuZGVyZWRTZWFyY2g6RSxkZWJ1Z0luZm86bX09ZztudWxsIT09bSYmZC5wdXNoKC4uLm0pO2xldCBiPXYoaSxSLEUpO3JldHVybiBoKGUsdCwoMCxvLmNyZWF0ZUhyZWZGcm9tVXJsKShQKSxiLHIsYSxpLGMsbixzKX1mdW5jdGlvbiB2KGUsdCxyKXtsZXQgbj1lLGE9bnVsbCxsPW51bGw7Zm9yKGxldHtzZWdtZW50UGF0aDplLHRyZWU6cixzZWVkRGF0YTp1LGhlYWQ6b31vZiB0KXtsZXQgdD1mdW5jdGlvbiBlKHQscixuLGEsbCx1KXtsZXQgbztpZih1PT09bC5sZW5ndGgpcmV0dXJue3RyZWU6bixkYXRhOmF9O2xldCBpPWxbdV0sYz10WzFdLHM9bnVsbCE9PXI/clsxXTpudWxsLGY9e30sZD17fTtmb3IobGV0IHQgaW4gYyl7bGV0IHI9Y1t0XSxvPW51bGwhPT1zP3NbdF0/P251bGw6bnVsbDtpZih0PT09aSl7bGV0IGk9ZShyLG8sbixhLGwsdSsyKTtmW3RdPWkudHJlZSxkW3RdPWkuZGF0YX1lbHNlIGZbdF09cixkW3RdPW99cmV0dXJuIG89W3RbMF0sZl0sMiBpbiB0JiYob1syXT10WzJdKSwzIGluIHQmJihvWzNdPXRbM10pLDQgaW4gdCYmKG9bNF09dFs0XSkse3RyZWU6byxkYXRhOltudWxsLGQsbnVsbCwhMCwhMV19fShuLGEscix1LGUsMCk7bj10LnRyZWUsYT10LmRhdGEsbD1vfXJldHVybnt0cmVlOm4sZGF0YTphLHJlbmRlcmVkU2VhcmNoOnIsaGVhZDpsfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1NDAxMSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17RFlOQU1JQ19TVEFMRVRJTUVfTVM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sU1RBVElDX1NUQUxFVElNRV9NUzpmdW5jdGlvbigpe3JldHVybiBkfSxnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCl7bGV0IHI9W10sW24sYV09dDtpZigwPT09T2JqZWN0LmtleXMoYSkubGVuZ3RoKXJldHVybltbbl1dO2ZvcihsZXRbdCxsXW9mIE9iamVjdC5lbnRyaWVzKGEpKWZvcihsZXQgYSBvZiBlKGwpKSIiPT09bj9yLnB1c2goW3QsLi4uYV0pOnIucHVzaChbbix0LC4uLmFdKTtyZXR1cm4gcn19LGhhbmRsZUV4dGVybmFsVXJsOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGhhbmRsZU5hdmlnYXRpb25SZXN1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sbmF2aWdhdGVSZWR1Y2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDg1NTk0KSx1PWUucig2MzI3OCksbz1lLnIoNjU0NjMpLGk9ZS5yKDUyNDEzKSxjPWUucig0NDY2Nykscz1lLnIoMTg5MzkpLGY9MWUzKk51bWJlcigiMCIpLGQ9KDAsYy5nZXRTdGFsZVRpbWVNcykoTnVtYmVyKCIzMDAiKSk7ZnVuY3Rpb24gaChlLHQscixuKXtyZXR1cm4gdC5tcGFOYXZpZ2F0aW9uPSEwLHQuY2Fub25pY2FsVXJsPXIsdC5wZW5kaW5nUHVzaD1uLHQuc2Nyb2xsYWJsZVNlZ21lbnRzPXZvaWQgMCwoMCx1LmhhbmRsZU11dGFibGUpKGUsdCl9ZnVuY3Rpb24gcChlLHQscixuLGEpe3N3aXRjaChhLnRhZyl7Y2FzZSBpLk5hdmlnYXRpb25SZXN1bHRUYWcuTVBBOnJldHVybiBoKHQscixhLmRhdGEsbik7Y2FzZSBpLk5hdmlnYXRpb25SZXN1bHRUYWcuU3VjY2Vzczp7ci5jYWNoZT1hLmRhdGEuY2FjaGVOb2RlLHIucGF0Y2hlZFRyZWU9YS5kYXRhLmZsaWdodFJvdXRlclN0YXRlLHIucmVuZGVyZWRTZWFyY2g9YS5kYXRhLnJlbmRlcmVkU2VhcmNoLHIuY2Fub25pY2FsVXJsPWEuZGF0YS5jYW5vbmljYWxVcmwsci5zY3JvbGxhYmxlU2VnbWVudHM9YS5kYXRhLnNjcm9sbGFibGVTZWdtZW50cz8/dm9pZCAwLHIuc2hvdWxkU2Nyb2xsPWEuZGF0YS5zaG91bGRTY3JvbGwsci5oYXNoRnJhZ21lbnQ9YS5kYXRhLmhhc2g7bGV0IG49bmV3IFVSTCh0LmNhbm9uaWNhbFVybCxlKTtyZXR1cm4gZS5wYXRobmFtZT09PW4ucGF0aG5hbWUmJmUuc2VhcmNoPT09bi5zZWFyY2gmJmUuaGFzaCE9PW4uaGFzaCYmKHIub25seUhhc2hDaGFuZ2U9ITAsci5zaG91bGRTY3JvbGw9YS5kYXRhLnNob3VsZFNjcm9sbCxyLmhhc2hGcmFnbWVudD1lLmhhc2gsci5zY3JvbGxhYmxlU2VnbWVudHM9W10pLCgwLHUuaGFuZGxlTXV0YWJsZSkodCxyKX1jYXNlIGkuTmF2aWdhdGlvblJlc3VsdFRhZy5Bc3luYzpyZXR1cm4gYS5kYXRhLnRoZW4oYT0+cChlLHQscixuLGEpLCgpPT50KTtkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiB5KGUsdCl7bGV0e3VybDpyLGlzRXh0ZXJuYWxVcmw6bixuYXZpZ2F0ZVR5cGU6YSxzaG91bGRTY3JvbGw6dX09dCxpPXt9LGM9KDAsbC5jcmVhdGVIcmVmRnJvbVVybCkociksZj0icHVzaCI9PT1hO2lmKGkucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU9ITEsaS5wZW5kaW5nUHVzaD1mLG4pcmV0dXJuIGgoZSxpLHIudG9TdHJpbmcoKSxmKTtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX19uZXh0LXBhZ2UtcmVkaXJlY3QiKSlyZXR1cm4gaChlLGksYyxmKTtsZXQgZD1uZXcgVVJMKGUuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbikseT0oMCxvLm5hdmlnYXRlKShyLGQsZS5jYWNoZSxlLnRyZWUsZS5uZXh0VXJsLHMuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQsdSxpKTtyZXR1cm4gcChyLGUsaSxmLHkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYxNzM5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKFt0LHJdKXtpZihBcnJheS5pc0FycmF5KHQpJiYoImRpKC4uKSguLikiPT09dFsyXXx8ImNpKC4uKSguLikiPT09dFsyXXx8ImRpKC4pIj09PXRbMl18fCJjaSguKSI9PT10WzJdfHwiZGkoLi4pIj09PXRbMl18fCJjaSguLikiPT09dFsyXXx8ImRpKC4uLikiPT09dFsyXXx8ImNpKC4uLikiPT09dFsyXSl8fCJzdHJpbmciPT10eXBlb2YgdCYmKDAsbi5pc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aCkodCkpcmV0dXJuITA7aWYocil7Zm9yKGxldCB0IGluIHIpaWYoZShyW3RdKSlyZXR1cm4hMH1yZXR1cm4hMX19fSk7bGV0IG49ZS5yKDU0NjgyKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3NzczMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17cmVmcmVzaER5bmFtaWNEYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHJlZnJlc2hSZWR1Y2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDU0MDExKSx1PWUucig2NTQ2Myksbz1lLnIoNDQ2NjcpLGk9ZS5yKDYxNzM5KSxjPWUucigxODkzOSk7ZnVuY3Rpb24gcyhlKXtsZXQgdD1lLm5leHRVcmwscj1lLnRyZWU7cmV0dXJuKDAsby5yZXZhbGlkYXRlRW50aXJlQ2FjaGUpKHQsciksZihlLGMuRnJlc2huZXNzUG9saWN5LlJlZnJlc2hBbGwpfWZ1bmN0aW9uIGYoZSx0KXtsZXQgcj1lLm5leHRVcmwsbj0oMCxpLmhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZSkoZS50cmVlKT9lLnByZXZpb3VzTmV4dFVybHx8cjpudWxsLGE9ZS5jYW5vbmljYWxVcmwsbz1uZXcgVVJMKGEsbG9jYXRpb24ub3JpZ2luKSxjPWUudHJlZSxzPXt0cmVlOmUudHJlZSxyZW5kZXJlZFNlYXJjaDplLnJlbmRlcmVkU2VhcmNoLGRhdGE6bnVsbCxoZWFkOm51bGx9LGY9RGF0ZS5ub3coKSxkPSgwLHUubmF2aWdhdGVUb1NlZWRlZFJvdXRlKShmLG8sYSxzLG8sZS5jYWNoZSxjLHQsbiwhMCksaD17fTtyZXR1cm4gaC5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZT0hMSwoMCxsLmhhbmRsZU5hdmlnYXRpb25SZXN1bHQpKG8sZSxoLCExLGQpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYwNTUzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJzZXJ2ZXJQYXRjaFJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPWUucig4NTU5NCksYT1lLnIoNTQwMTEpLGw9ZS5yKDY1NDYzKSx1PWUucig3NzczMyksbz1lLnIoMTg5MzkpO2Z1bmN0aW9uIGkoZSx0KXtsZXQgcj17fTtyLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlPSExO2xldCBpPXQubXBhLGM9bmV3IFVSTCh0LnVybCxsb2NhdGlvbi5vcmlnaW4pLHM9dC5zZWVkO2lmKGl8fG51bGw9PT1zKXJldHVybigwLGEuaGFuZGxlRXh0ZXJuYWxVcmwpKGUscixjLmhyZWYsITEpO2xldCBmPW5ldyBVUkwoZS5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKTtpZih0LnByZXZpb3VzVHJlZSE9PWUudHJlZSlyZXR1cm4oMCx1LnJlZnJlc2hSZWR1Y2VyKShlKTtsZXQgZD0oMCxuLmNyZWF0ZUhyZWZGcm9tVXJsKShjKSxoPXQubmV4dFVybCxwPURhdGUubm93KCkseT0oMCxsLm5hdmlnYXRlVG9TZWVkZWRSb3V0ZSkocCxjLGQscyxmLGUuY2FjaGUsZS50cmVlLG8uRnJlc2huZXNzUG9saWN5LlJlZnJlc2hBbGwsaCwhMCk7cmV0dXJuKDAsYS5oYW5kbGVOYXZpZ2F0aW9uUmVzdWx0KShjLGUsciwhMSx5KX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMjgzOCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicmVzdG9yZVJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig4NTU5NCksYT1lLnIoMTgxNjcpLGw9ZS5yKDE4OTM5KSx1PWUucig1NDAxMSk7ZnVuY3Rpb24gbyhlLHQpe2xldCByLG8saT10Lmhpc3RvcnlTdGF0ZTtpPyhyPWkudHJlZSxvPWkucmVuZGVyZWRTZWFyY2gpOihyPWUudHJlZSxvPWUucmVuZGVyZWRTZWFyY2gpO2xldCBjPW5ldyBVUkwoZS5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxzPXQudXJsLGY9KDAsbi5jcmVhdGVIcmVmRnJvbVVybCkocyksZD0oMCxhLmV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKShyKT8/cy5wYXRobmFtZSxoPURhdGUubm93KCkscD17c2Nyb2xsYWJsZVNlZ21lbnRzOm51bGwsc2VwYXJhdGVSZWZyZXNoVXJsczpudWxsfSx5PSgwLGwuc3RhcnRQUFJOYXZpZ2F0aW9uKShoLGMsZS5jYWNoZSxlLnRyZWUscixsLkZyZXNobmVzc1BvbGljeS5IaXN0b3J5VHJhdmVyc2FsLG51bGwsbnVsbCxudWxsLG51bGwsITEsITEscCk7cmV0dXJuIG51bGw9PT15PygwLHUuaGFuZGxlRXh0ZXJuYWxVcmwpKGUse3ByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiEwfSxmLCExKTooKDAsbC5zcGF3bkR5bmFtaWNSZXF1ZXN0cykoeSxzLGQsbC5GcmVzaG5lc3NQb2xpY3kuSGlzdG9yeVRyYXZlcnNhbCxwKSx7Y2Fub25pY2FsVXJsOmYscmVuZGVyZWRTZWFyY2g6byxwdXNoUmVmOntwZW5kaW5nUHVzaDohMSxtcGFOYXZpZ2F0aW9uOiExLHByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiEwfSxmb2N1c0FuZFNjcm9sbFJlZjplLmZvY3VzQW5kU2Nyb2xsUmVmLGNhY2hlOnkubm9kZSx0cmVlOnIsbmV4dFVybDpkLHByZXZpb3VzTmV4dFVybDpudWxsLGRlYnVnSW5mbzpudWxsfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNTk2NjIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImhtclJlZnJlc2hSZWR1Y2VyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgbj1lLnIoNzc3MzMpLGE9ZS5yKDE4OTM5KTtmdW5jdGlvbiBsKGUpe3JldHVybigwLG4ucmVmcmVzaER5bmFtaWNEYXRhKShlLGEuRnJlc2huZXNzUG9saWN5LkhNUlJlZnJlc2gpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY4OTM0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJhc3NpZ25Mb2NhdGlvbiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDE0ODU3KTtmdW5jdGlvbiBhKGUsdCl7aWYoZS5zdGFydHNXaXRoKCIuIikpe2xldCByPXQub3JpZ2luK3QucGF0aG5hbWU7cmV0dXJuIG5ldyBVUkwoKHIuZW5kc1dpdGgoIi8iKT9yOnIrIi8iKStlKX1yZXR1cm4gbmV3IFVSTCgoMCxuLmFkZEJhc2VQYXRoKShlKSx0LmhyZWYpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk5ODk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwYXRoSGFzUHJlZml4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1lLnIoOTgwNjMpO2Z1bmN0aW9uIGEoZSx0KXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuITE7bGV0e3BhdGhuYW1lOnJ9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm4gcj09PXR8fHIuc3RhcnRzV2l0aCh0KyIvIil9fSwzODkzMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaGFzQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5OTg5Nik7ZnVuY3Rpb24gYShlKXtyZXR1cm4oMCxuLnBhdGhIYXNQcmVmaXgpKGUsIiIpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI0MDQyLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlbW92ZUJhc2VQYXRoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoMzg5MzMpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDgwOTI0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtleHRyYWN0SW5mb0Zyb21TZXJ2ZXJSZWZlcmVuY2VJZDpmdW5jdGlvbigpe3JldHVybiBsfSxvbWl0VW51c2VkQXJnczpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9cGFyc2VJbnQoZS5zbGljZSgwLDIpLDE2KSxyPXQ+PjEmNjMsbj1BcnJheSg2KTtmb3IobGV0IGU9MDtlPDY7ZSsrKXtsZXQgdD1yPj41LWUmMTtuW2VdPTE9PT10fXJldHVybnt0eXBlOjE9PSh0Pj43JjEpPyJ1c2UtY2FjaGUiOiJzZXJ2ZXItYWN0aW9uIix1c2VkQXJnczpuLGhhc1Jlc3RBcmdzOjE9PSgxJnQpfX1mdW5jdGlvbiB1KGUsdCl7bGV0IHI9QXJyYXkoZS5sZW5ndGgpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKShuPDYmJnQudXNlZEFyZ3Nbbl18fG4+PTYmJnQuaGFzUmVzdEFyZ3MpJiYocltuXT1lW25dKTtyZXR1cm4gcn19LDc2ODQ0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtBY3Rpb25EaWROb3RSZXZhbGlkYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LEFjdGlvbkRpZFJldmFsaWRhdGVEeW5hbWljT25seTpmdW5jdGlvbigpe3JldHVybiBvfSxBY3Rpb25EaWRSZXZhbGlkYXRlU3RhdGljQW5kRHluYW1pYzpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPTAsdT0xLG89Mn0sNjcwMzMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtsZXQgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInNlcnZlckFjdGlvblJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBqfX0pO2xldCBhPWUucigzMDkzMSksbD1lLnIoODk1OTQpLHU9ZS5yKDM0NjQxKSxvPWUucig3NTA1MSksaT1lLnIoNzUwNDUpLGM9ZS5yKDY4OTM0KSxzPWUucig4NTU5NCksZj1lLnIoNTQwMTEpLGQ9ZS5yKDYxNzM5KSxoPWUucig2NzYyOCkscD1lLnIoNDE3MjEpLHk9ZS5yKDkwODYyKSxnPWUucigyNDA0MiksUj1lLnIoMzg5MzMpLF89ZS5yKDgwOTI0KSxQPWUucig0NDY2Nyksdj1lLnIoODg3NzQpLEU9ZS5yKDY1NDYzKSxtPWUucig3Njg0NCksYj1lLnIoMjkzNjIpLFM9ZS5yKDE4OTM5KSxUPWkuY3JlYXRlRnJvbUZldGNoO2FzeW5jIGZ1bmN0aW9uIE8oZSx0LHthY3Rpb25JZDpyLGFjdGlvbkFyZ3M6c30pe2xldCBmLGQscCxnLFIsUD0oMCxpLmNyZWF0ZVRlbXBvcmFyeVJlZmVyZW5jZVNldCkoKSxFPSgwLF8uZXh0cmFjdEluZm9Gcm9tU2VydmVyUmVmZXJlbmNlSWQpKHIpLGI9InVzZS1jYWNoZSI9PT1FLnR5cGU/KDAsXy5vbWl0VW51c2VkQXJncykocyxFKTpzLFM9YXdhaXQgKDAsaS5lbmNvZGVSZXBseSkoYix7dGVtcG9yYXJ5UmVmZXJlbmNlczpQfSksTz17QWNjZXB0OnUuUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIsW3UuQUNUSU9OX0hFQURFUl06cixbdS5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06KDAsaC5wcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KShlLnRyZWUpfSxqPSgwLHYuZ2V0RGVwbG95bWVudElkKSgpO2omJihPWyJ4LWRlcGxveW1lbnQtaWQiXT1qKSx0JiYoT1t1Lk5FWFRfVVJMXT10KTtsZXQgTT1hd2FpdCBmZXRjaChlLmNhbm9uaWNhbFVybCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOk8sYm9keTpTfSk7aWYoIjEiPT09TS5oZWFkZXJzLmdldCh1Lk5FWFRfQUNUSU9OX05PVF9GT1VORF9IRUFERVIpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgby5VbnJlY29nbml6ZWRBY3Rpb25FcnJvcihgU2VydmVyIEFjdGlvbiAiJHtyfSIgd2FzIG5vdCBmb3VuZCBvbiB0aGUgc2VydmVyLiAKUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9mYWlsZWQtdG8tZmluZC1zZXJ2ZXItYWN0aW9uYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MTUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IEE9TS5oZWFkZXJzLmdldCgieC1hY3Rpb24tcmVkaXJlY3QiKSxbVSxDXT1BPy5zcGxpdCgiOyIpfHxbXTtzd2l0Y2goQyl7Y2FzZSJwdXNoIjpmPXkuUmVkaXJlY3RUeXBlLnB1c2g7YnJlYWs7Y2FzZSJyZXBsYWNlIjpmPXkuUmVkaXJlY3RUeXBlLnJlcGxhY2U7YnJlYWs7ZGVmYXVsdDpmPXZvaWQgMH1sZXQgTj0hIU0uaGVhZGVycy5nZXQodS5ORVhUX0lTX1BSRVJFTkRFUl9IRUFERVIpLHc9bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlO3RyeXtsZXQgZT1NLmhlYWRlcnMuZ2V0KCJ4LWFjdGlvbi1yZXZhbGlkYXRlZCIpO2lmKGUpe2xldCB0PUpTT04ucGFyc2UoZSk7KHQ9PT1tLkFjdGlvbkRpZFJldmFsaWRhdGVTdGF0aWNBbmREeW5hbWljfHx0PT09bS5BY3Rpb25EaWRSZXZhbGlkYXRlRHluYW1pY09ubHkpJiYodz10KX19Y2F0Y2h7fWxldCBGPVU/KDAsYy5hc3NpZ25Mb2NhdGlvbikoVSxuZXcgVVJMKGUuY2Fub25pY2FsVXJsLHdpbmRvdy5sb2NhdGlvbi5ocmVmKSk6dm9pZCAwLEk9TS5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIiksTD0hIShJJiZJLnN0YXJ0c1dpdGgodS5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUikpO2lmKCFMJiYhRil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoTS5zdGF0dXM+PTQwMCYmInRleHQvcGxhaW4iPT09ST9hd2FpdCBNLnRleHQoKToiQW4gdW5leHBlY3RlZCByZXNwb25zZSB3YXMgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2lmKEwpe2xldCBlPWF3YWl0IFQoUHJvbWlzZS5yZXNvbHZlKE0pLHtjYWxsU2VydmVyOmEuY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmwuZmluZFNvdXJjZU1hcFVSTCx0ZW1wb3JhcnlSZWZlcmVuY2VzOlAsZGVidWdDaGFubmVsOm4mJm4oTyl9KTtkPUY/dm9pZCAwOmUuYTtsZXQgdD0oMCxoLm5vcm1hbGl6ZUZsaWdodERhdGEpKGUuZik7IiIhPT10JiYocD10LGc9ZS5xLFI9ZS5pKX1lbHNlIGQ9dm9pZCAwLHA9dm9pZCAwLGc9dm9pZCAwLFI9dm9pZCAwO3JldHVybnthY3Rpb25SZXN1bHQ6ZCxhY3Rpb25GbGlnaHREYXRhOnAsYWN0aW9uRmxpZ2h0RGF0YVJlbmRlcmVkU2VhcmNoOmcsYWN0aW9uRmxpZ2h0RGF0YUNvdWxkQmVJbnRlcmNlcHRlZDpSLHJlZGlyZWN0TG9jYXRpb246RixyZWRpcmVjdFR5cGU6ZixyZXZhbGlkYXRpb25LaW5kOncsaXNQcmVyZW5kZXI6Tn19ZnVuY3Rpb24gaihlLHQpe2xldHtyZXNvbHZlOnIscmVqZWN0Om59PXQsYT17fTthLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlPSExO2xldCBsPShlLnByZXZpb3VzTmV4dFVybHx8ZS5uZXh0VXJsKSYmKDAsZC5oYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUpKGUudHJlZSk/ZS5wcmV2aW91c05leHRVcmx8fGUubmV4dFVybDpudWxsO3JldHVybiBPKGUsbCx0KS50aGVuKGFzeW5jKHtyZXZhbGlkYXRpb25LaW5kOnUsYWN0aW9uUmVzdWx0Om8sYWN0aW9uRmxpZ2h0RGF0YTppLGFjdGlvbkZsaWdodERhdGFSZW5kZXJlZFNlYXJjaDpjLGFjdGlvbkZsaWdodERhdGFDb3VsZEJlSW50ZXJjZXB0ZWQ6ZCxyZWRpcmVjdExvY2F0aW9uOmgscmVkaXJlY3RUeXBlOnB9KT0+e3UhPT1tLkFjdGlvbkRpZE5vdFJldmFsaWRhdGUmJih0LmRpZFJldmFsaWRhdGU9ITAsdT09PW0uQWN0aW9uRGlkUmV2YWxpZGF0ZVN0YXRpY0FuZER5bmFtaWMmJigwLFAucmV2YWxpZGF0ZUVudGlyZUNhY2hlKShsLGUudHJlZSkpO2xldCBfPXAhPT15LlJlZGlyZWN0VHlwZS5yZXBsYWNlO2lmKGUucHVzaFJlZi5wZW5kaW5nUHVzaD1fLGEucGVuZGluZ1B1c2g9Xyx2b2lkIDAhPT1oKXtsZXQgdD1wfHx5LlJlZGlyZWN0VHlwZS5wdXNoO2lmKCgwLGIuaXNFeHRlcm5hbFVSTCkoaCkpe2xldCByPWguaHJlZjtyZXR1cm4gbihNKHIsdCkpLCgwLGYuaGFuZGxlRXh0ZXJuYWxVcmwpKGUsYSxyLF8pfXtsZXQgZT0oMCxzLmNyZWF0ZUhyZWZGcm9tVXJsKShoLCExKTtuKE0oKDAsUi5oYXNCYXNlUGF0aCkoZSk/KDAsZy5yZW1vdmVCYXNlUGF0aCkoZSk6ZSx0KSl9fWVsc2UgcihvKTtpZih2b2lkIDA9PT1oJiZ1PT09bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlJiZ2b2lkIDA9PT1pKXJldHVybiBlO2lmKHZvaWQgMD09PWkmJnZvaWQgMCE9PWgpcmV0dXJuKDAsZi5oYW5kbGVFeHRlcm5hbFVybCkoZSxhLGguaHJlZixfKTtpZigic3RyaW5nIj09dHlwZW9mIGkpcmV0dXJuKDAsZi5oYW5kbGVFeHRlcm5hbFVybCkoZSxhLGksXyk7bGV0IHY9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLFQ9dm9pZCAwIT09aD9oOnYsTz1lLnRyZWUsaj11PT09bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlP1MuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQ6Uy5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbDtpZih2b2lkIDAhPT1pKXtsZXQgdD1pWzBdO2lmKHZvaWQgMCE9PXQmJnQuaXNSb290UmVuZGVyJiZ2b2lkIDAhPT1jJiZ2b2lkIDAhPT1kKXtsZXQgcj0oMCxzLmNyZWF0ZUhyZWZGcm9tVXJsKShUKSxuPXt0cmVlOnQudHJlZSxyZW5kZXJlZFNlYXJjaDpjLGRhdGE6dC5zZWVkRGF0YSxoZWFkOnQuaGVhZH0sdT1EYXRlLm5vdygpLG89KDAsRS5uYXZpZ2F0ZVRvU2VlZGVkUm91dGUpKHUsVCxyLG4sdixlLmNhY2hlLE8saixsLCEwKTtyZXR1cm4oMCxmLmhhbmRsZU5hdmlnYXRpb25SZXN1bHQpKFQsZSxhLF8sbyl9fWxldCBBPSgwLEUubmF2aWdhdGUpKFQsdixlLmNhY2hlLE8sbCxqLCEwLGEpO3JldHVybigwLGYuaGFuZGxlTmF2aWdhdGlvblJlc3VsdCkoVCxlLGEsXyxBKX0sdD0+KG4odCksZSkpfWZ1bmN0aW9uIE0oZSx0KXtsZXQgcj0oMCxwLmdldFJlZGlyZWN0RXJyb3IpKGUsdCk7cmV0dXJuIHIuaGFuZGxlZD0hMCxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY0MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicmVkdWNlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fSk7bGV0IG49ZS5yKDU5NDMwKSxhPWUucig1NDAxMSksbD1lLnIoNjA1NTMpLHU9ZS5yKDMyODM4KSxvPWUucig3NzczMyksaT1lLnIoNTk2NjIpLGM9ZS5yKDY3MDMzKSxzPSJ1Ijx0eXBlb2Ygd2luZG93P2Z1bmN0aW9uKGUsdCl7cmV0dXJuIGV9OmZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQudHlwZSl7Y2FzZSBuLkFDVElPTl9OQVZJR0FURTpyZXR1cm4oMCxhLm5hdmlnYXRlUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1NFUlZFUl9QQVRDSDpyZXR1cm4oMCxsLnNlcnZlclBhdGNoUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1JFU1RPUkU6cmV0dXJuKDAsdS5yZXN0b3JlUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1JFRlJFU0g6cmV0dXJuKDAsby5yZWZyZXNoUmVkdWNlcikoZSk7Y2FzZSBuLkFDVElPTl9ITVJfUkVGUkVTSDpyZXR1cm4oMCxpLmhtclJlZnJlc2hSZWR1Y2VyKShlKTtjYXNlIG4uQUNUSU9OX1NFUlZFUl9BQ1RJT046cmV0dXJuKDAsYy5zZXJ2ZXJBY3Rpb25SZWR1Y2VyKShlLHQpO2RlZmF1bHQ6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJVbmtub3duIGFjdGlvbiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjk1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzQwNTIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInByZWZldGNoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gb319KTtsZXQgbj1lLnIoMjkzNjIpLGE9ZS5yKDE2MzE2KSxsPWUucig3NTc4MCksdT1lLnIoNTI0MTMpO2Z1bmN0aW9uIG8oZSx0LHIsbyxpKXtsZXQgYz0oMCxuLmNyZWF0ZVByZWZldGNoVVJMKShlKTtpZihudWxsPT09YylyZXR1cm47bGV0IHM9KDAsYS5jcmVhdGVDYWNoZUtleSkoYy5ocmVmLHQpOygwLGwuc2NoZWR1bGVQcmVmZXRjaFRhc2spKHMscixvLHUuUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0LGkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDg0Mzk1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVNdXRhYmxlQWN0aW9uUXVldWU6ZnVuY3Rpb24oKXtyZXR1cm4gX30sZGlzcGF0Y2hOYXZpZ2F0ZUFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBFfSxkaXNwYXRjaFRyYXZlcnNlQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG19LGdldEN1cnJlbnRBcHBSb3V0ZXJTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQfSxwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBifX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig1OTQzMCksdT1lLnIoNjQxKSxvPWUucig3NTIwMSksaT1lLnIoOTE3NjgpLGM9ZS5yKDUyNDEzKSxzPWUucigzNDA1MiksZj1lLnIoOTQ4NzkpLGQ9ZS5yKDE0ODU3KSxoPWUucigyOTM2MikscD1lLnIoOTgyODMpO2Z1bmN0aW9uIHkoZSx0KXtudWxsIT09ZS5wZW5kaW5nPyhlLnBlbmRpbmc9ZS5wZW5kaW5nLm5leHQsbnVsbCE9PWUucGVuZGluZyYmZyh7YWN0aW9uUXVldWU6ZSxhY3Rpb246ZS5wZW5kaW5nLHNldFN0YXRlOnR9KSk6ZS5uZWVkc1JlZnJlc2gmJihlLm5lZWRzUmVmcmVzaD0hMSxlLmRpc3BhdGNoKHt0eXBlOmwuQUNUSU9OX1JFRlJFU0h9LHQpKX1hc3luYyBmdW5jdGlvbiBnKHthY3Rpb25RdWV1ZTplLGFjdGlvbjp0LHNldFN0YXRlOnJ9KXtsZXQgbj1lLnN0YXRlO2UucGVuZGluZz10O2xldCBhPXQucGF5bG9hZCx1PWUuYWN0aW9uKG4sYSk7ZnVuY3Rpb24gbyhuKXtpZih0LmRpc2NhcmRlZCl7dC5wYXlsb2FkLnR5cGU9PT1sLkFDVElPTl9TRVJWRVJfQUNUSU9OJiZ0LnBheWxvYWQuZGlkUmV2YWxpZGF0ZSYmKGUubmVlZHNSZWZyZXNoPSEwKSx5KGUscik7cmV0dXJufWUuc3RhdGU9bix5KGUsciksdC5yZXNvbHZlKG4pfSgwLGkuaXNUaGVuYWJsZSkodSk/dS50aGVuKG8sbj0+e3koZSxyKSx0LnJlamVjdChuKX0pOm8odSl9bGV0IFI9bnVsbDtmdW5jdGlvbiBfKGUsdCl7bGV0IHI9e3N0YXRlOmUsZGlzcGF0Y2g6KGUsdCk9PihmdW5jdGlvbihlLHQscil7bGV0IG49e3Jlc29sdmU6cixyZWplY3Q6KCk9Pnt9fTtpZih0LnR5cGUhPT1sLkFDVElPTl9SRVNUT1JFKXtsZXQgZT1uZXcgUHJvbWlzZSgoZSx0KT0+e249e3Jlc29sdmU6ZSxyZWplY3Q6dH19KTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PntyKGUpfSl9bGV0IGE9e3BheWxvYWQ6dCxuZXh0Om51bGwscmVzb2x2ZTpuLnJlc29sdmUscmVqZWN0Om4ucmVqZWN0fTtudWxsPT09ZS5wZW5kaW5nPyhlLmxhc3Q9YSxnKHthY3Rpb25RdWV1ZTplLGFjdGlvbjphLHNldFN0YXRlOnJ9KSk6dC50eXBlPT09bC5BQ1RJT05fTkFWSUdBVEV8fHQudHlwZT09PWwuQUNUSU9OX1JFU1RPUkU/KGUucGVuZGluZy5kaXNjYXJkZWQ9ITAsYS5uZXh0PWUucGVuZGluZy5uZXh0LGcoe2FjdGlvblF1ZXVlOmUsYWN0aW9uOmEsc2V0U3RhdGU6cn0pKToobnVsbCE9PWUubGFzdCYmKGUubGFzdC5uZXh0PWEpLGUubGFzdD1hKX0pKHIsZSx0KSxhY3Rpb246YXN5bmMoZSx0KT0+KDAsdS5yZWR1Y2VyKShlLHQpLHBlbmRpbmc6bnVsbCxsYXN0Om51bGwsb25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0Lm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0P3Qub25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbH07aWYoInUiPnR5cGVvZiB3aW5kb3cpe2lmKG51bGwhPT1SKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW50ZXJuYWwgTmV4dC5qcyBFcnJvcjogY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlIHdhcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTYyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtSPXJ9cmV0dXJuIHJ9ZnVuY3Rpb24gUCgpe3JldHVybiBudWxsIT09Uj9SLnN0YXRlOm51bGx9ZnVuY3Rpb24gdigpe3JldHVybiBudWxsIT09Uj9SLm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0Om51bGx9ZnVuY3Rpb24gRShlLHQscixuKXtsZXQgYT1uZXcgVVJMKCgwLGQuYWRkQmFzZVBhdGgpKGUpLGxvY2F0aW9uLmhyZWYpOygwLHAuc2V0TGlua0ZvckN1cnJlbnROYXZpZ2F0aW9uKShuKTtsZXQgdT12KCk7bnVsbCE9PXUmJnUoZSx0KSwoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpsLkFDVElPTl9OQVZJR0FURSx1cmw6YSxpc0V4dGVybmFsVXJsOigwLGguaXNFeHRlcm5hbFVSTCkoYSksbG9jYXRpb25TZWFyY2g6bG9jYXRpb24uc2VhcmNoLHNob3VsZFNjcm9sbDpyLG5hdmlnYXRlVHlwZTp0fSl9ZnVuY3Rpb24gbShlLHQpe2xldCByPXYoKTtudWxsIT09ciYmcihlLCJ0cmF2ZXJzZSIpLCgwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOmwuQUNUSU9OX1JFU1RPUkUsdXJsOm5ldyBVUkwoZSksaGlzdG9yeVN0YXRlOnR9KX1sZXQgYj17YmFjazooKT0+d2luZG93Lmhpc3RvcnkuYmFjaygpLGZvcndhcmQ6KCk9PndpbmRvdy5oaXN0b3J5LmZvcndhcmQoKSxwcmVmZXRjaDooZSx0KT0+e2xldCByLG49ZnVuY3Rpb24oKXtpZihudWxsPT09Uil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIFJ9KCk7c3dpdGNoKHQ/LmtpbmQ/P2wuUHJlZmV0Y2hLaW5kLkFVVE8pe2Nhc2UgbC5QcmVmZXRjaEtpbmQuQVVUTzpyPWMuRmV0Y2hTdHJhdGVneS5QUFI7YnJlYWs7Y2FzZSBsLlByZWZldGNoS2luZC5GVUxMOnI9Yy5GZXRjaFN0cmF0ZWd5LkZ1bGw7YnJlYWs7ZGVmYXVsdDpyPWMuRmV0Y2hTdHJhdGVneS5QUFJ9KDAscy5wcmVmZXRjaCkoZSxuLnN0YXRlLm5leHRVcmwsbi5zdGF0ZS50cmVlLHIsdD8ub25JbnZhbGlkYXRlPz9udWxsKX0scmVwbGFjZTooZSx0KT0+eygwLG8uc3RhcnRUcmFuc2l0aW9uKSgoKT0+e0UoZSwicmVwbGFjZSIsdD8uc2Nyb2xsPz8hMCxudWxsKX0pfSxwdXNoOihlLHQpPT57KDAsby5zdGFydFRyYW5zaXRpb24pKCgpPT57RShlLCJwdXNoIix0Py5zY3JvbGw/PyEwLG51bGwpfSl9LHJlZnJlc2g6KCk9PnsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpsLkFDVElPTl9SRUZSRVNIfSl9KX0saG1yUmVmcmVzaDooKT0+e3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiaG1yUmVmcmVzaCBjYW4gb25seSBiZSB1c2VkIGluIGRldmVsb3BtZW50IG1vZGUuIFBsZWFzZSB1c2UgcmVmcmVzaCBpbnN0ZWFkLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNDg1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX07InUiPnR5cGVvZiB3aW5kb3cmJndpbmRvdy5uZXh0JiYod2luZG93Lm5leHQucm91dGVyPWIpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9XSk7"}},"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":"digitaltradeinvest.org/home-business-slider-img02.jpeg","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.562Z","timestamp":1785129949562,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /home-business-slider-img02.jpeg HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: image/webp\r\ncontent-length: 6832\r\ncache-control: public, max-age=604800\r\nage: 87\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: aa6c3258160ba4a5226de872435c9cb0-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":6832,"size_decoded":7135,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"30614418e0025b1504f7ef2b7c9f9364","sha1":"096461440861af54f9183d7cd45de0aa65496452","sha256":"8255746105149d4b76db040fb0e34f7d2385438be4230bed7303eb8e224ca707","sha512":"8d7242776b4e4ff2f19b995d0bd26a39d075d8d6d06dfbf61134a41991650549d6a7430cfbe2d61d5fb308a69803c8062568c38e10d6b4e68374e0d5959d3956","ssdeep":"192:TRCseqwFtlWpN6hlIkC6eBo0L614AuY4841djbv:TRhehgMlIkC6dmTA94zdH","tlshash":"80e1af2364e046c7eaa58c3d2e0db710692e39d917c9b517f1014bf1d2b22bb9c24d82","first_seen":"2026-07-27T04:14:44.612472Z","last_seen":"2026-07-27T05:27:28.113149Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/www-player.css","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:49.639Z","timestamp":1785129949639,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/www-player.css HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/H7OiZO_9ahE\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 57346\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:28:48 GMT\r\nexpires: Thu, 22 Jul 2027 07:28:48 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/css\r\nvary: Accept-Encoding, Origin\r\nage: 424621\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":525369,"size_decoded":58026,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (65534), with no line terminators","md5":"839a152020ccf30ae48724d0b0c7b838","sha1":"dc9e04d667f3ebd589549aaa4cfc8a8e887505e1","sha256":"921b6856085a224b1ca2e5db139b1788c01d4dd1e70daca7006b6a7b381bdae1","sha512":"efc3700ca9d21022fb13b33c526a2f9f6c73c6c063957504b3b8ed58ef9512fa815c7f915f522af2f3fa73dd7cbfd6634566ad1dc6c86f11f4ed0a4b74f824ce","ssdeep":"6144:s8d5Fe/qoMOg7USBfUIoImM5Kia68Oi4u7:3YxMOg7USiIoIr5Kia6Tg","tlshash":"8eb4d972f0a1233cb2278d59a7d9d54d7339d983e2e12aeff11166dacbc77811326206","first_seen":"2026-07-14T08:36:18.809394Z","last_seen":"2026-07-28T16:17:31.518857Z","times_seen":5127,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsuaHRtbDUtdmlkZW8tcGxheWVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MDtvdXRsaW5lOjA7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtjb2xvcjojZWVlO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lmh0bWw1LXZpZGVvLXBsYXllciwueXRwLWNvbnRleHRtZW51ey1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdDpub25lO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLC5odG1sNS12aWRlby1wbGF5ZXIudW5zdGFydGVkLW1vZGUsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dGQtdmlkZW8tbWFzdGhlYWQtYWQtcHJpbWFyeS12aWRlby1yZW5kZXJlciAuaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLnl0ZC12aWRlby1tYXN0aGVhZC1hZC1wcmltYXJ5LXZpZGVvLXJlbmRlcmVyIC5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllci51bnN0YXJ0ZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWJpZy1tb2Rle2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGV7Y3Vyc29yOm5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllciBhe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3V0bGluZTowfS5odG1sNS12aWRlby1wbGF5ZXIgYTpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgYTpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0uaHRtbDUtdmlkZW8tcGxheWVyIGgxLC5odG1sNS12aWRlby1wbGF5ZXIgaDJ7bWFyZ2luOjB9Lmh0bWw1LXZpZGVvLXBsYXllciBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE1cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mn0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojOGU4ZThlO2JvcmRlcjoxcHggc29saWQgIzQyNDI0Mjtib3JkZXItcmFkaXVzOjVweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7Ym9yZGVyLXJhZGl1czo4cHh9Lmh0bWw1LXZpZGVvLWNvbnRhaW5lcnt6LWluZGV4OjEwO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtZW1iZWQtZXJyb3IgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lmh0bWw1LW1haW4tdmlkZW97cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3V0bGluZTowfS55dHAtZml0LWNvdmVyLXZpZGVvIC5odG1sNS1tYWluLXZpZGVvey1vLW9iamVjdC1maXQ6Y292ZXI7b2JqZWN0LWZpdDpjb3Zlcn0uaHRtbDUtbWFpbi12aWRlb1tkYXRhLW5vLWZ1bGxzY3JlZW49dHJ1ZV06Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b257ZGlzcGxheTpub25lfS5odG1sNS1tYWluLXZpZGVvOm5vdChbY29udHJvbHNdKTo6LXdlYmtpdC1tZWRpYS1jb250cm9scywuaHRtbDUtbWFpbi12aWRlbzpub3QoW2NvbnRyb2xzXSk6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZXtkaXNwbGF5OmlubGluZX0udW5zdGFydGVkLW1vZGUgLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjMyNXB4KXsuaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy13aXJlbGVzcy1wbGF5YmFjay1waWNrZXItYnV0dG9ue2Rpc3BsYXk6bm9uZX19Lmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZS1yZW1haW5pbmctZGlzcGxheXtkaXNwbGF5Oi13ZWJraXQtZmxleH0ueXRwLXBsYXllci1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDo0OHB4O2JvdHRvbTo2MXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWhhcy1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA5NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpLnl0cC1iaWctbW9kZS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWJpZy1tb2RlLnl0cC1oYXMtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjQ5cHh9Lnl0cC1lbWJlZCAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTo1M3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCl7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50e3RvcDo2OXB4O2JvdHRvbTo3MHB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLnl0cC11cG5leHQpe3RvcDo4OXB4fS55dHAtcGxheWVyLWNvbnRlbnQueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoxMnB4O3JpZ2h0OjEycHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLXBsYXllci1jb250ZW50Lnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e3JpZ2h0OmNhbGMoMjJweCArIHZhcigtLWJyYW5kaW5nLWltYWdlLXdpZHRoKSl9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50Lnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWJpZy1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Lnl0cC1icmFuZGluZy1zaG93bi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudHtyaWdodDpjYWxjKDIycHggKyB2YXIoLS1icmFuZGluZy1pbWFnZS13aWR0aCkpfS55dHAtYXV0b2hpZGUgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLmh0bWw1LWVuZHNjcmVlbiksLnl0cC1hdXRvaGlkZSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCksLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGxheWVyLWNvbnRlbnR7dG9wOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC15cGMtcGxheWVyLWNvbnRlbnQsLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToxMnB4fS55dHAtdGltZWx5LWFjdGlvbnMtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO3otaW5kZXg6MzU7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMzNzO3RyYW5zaXRpb24tZGVsYXk6LjMzc30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0IC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWJvdHRvbS1yaWdodCAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7ZGlzcGxheTpub25lfS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjE1MXB4fS55dHAtc21hbGwtbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjEzOXB4fS55dHAtZW1iZWQueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGU6bm90KC55dHAtYWQtb3ZlcmxheS1vcGVuKSAueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToyNHB4fS55dHAtYmlnLW1vZGUueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNjBweH0ueXRwLWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MDtjb2xvcjppbmhlcml0O3RleHQtYWxpZ246aW5oZXJpdDtmb250LXNpemU6MTAwJTtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpkZWZhdWx0O2xpbmUtaGVpZ2h0OmluaGVyaXR9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24ueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo5cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbikgc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo3cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWJ1dHRvbiwueXRwLWJ1dHRvbjpmb2N1c3tvdXRsaW5lOjB9Lnl0cC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7cGFkZGluZzowO2JvcmRlcjowfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSwuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYnV0dG9uW2Rpc2FibGVkXXtvcGFjaXR5Oi41fS55dHAtYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1idXR0b246Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1jaHJvbWUtYm90dG9tLC55dHAtY2hyb21lLXRvcHtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpfS55dHAtZG5pIC55dHAtY2hyb21lLWJvdHRvbXt0ZXh0LXNoYWRvdzpub25lfS55dHAtY2hyb21lLXRvcHtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bGVmdDoxMnB4O3JpZ2h0OjEycHg7dG9wOjA7ei1pbmRleDo1OH0ueXRwLXNob3J0cy1tb2RlIC55dHAtY2hyb21lLXRvcHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cmlnaHQ6MH0ueXRwLWd2biAueXRwLWNocm9tZS10b3AsLnl0cC1ndm4ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcHt0b3A6MjBweH0ueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOjA7aGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJTt6LWluZGV4OjU5O3BhZGRpbmctdG9wOjNweDt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cn0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtcG9wb3Zlci1zaG93aW5ne3otaW5kZXg6MTAwMH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDozNnB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDo0MHB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1ib3R0b20sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scywueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OjU0cHg7cGFkZGluZy10b3A6NHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO3BhZGRpbmctdG9wOjB9Lnl0cC1jaHJvbWUtdG9wIC55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1yZXBsYXktYnV0dG9ue29wYWNpdHk6Ljk7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MzZweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLC55dHAtcmVwbGF5LWJ1dHRvbntvcGFjaXR5Oi45O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjQ4cHg7cGFkZGluZzowIDJweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1tdXRlLWJ1dHRvbntwYWRkaW5nOjZweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b257cGFkZGluZzowfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbiwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjAgNHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZCAueXRwLXJlcGxheS1idXR0b257d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbXV0ZS1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czoyOHB4O3BhZGRpbmc6MCAxNnB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246ZW5kOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1lbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257b3BhY2l0eTp1bnNldDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW11dGUtYnV0dG9ue292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbiAueXRwLXZvbHVtZS1pY29ue292ZXJmbG93OnZpc2libGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJlcGxheS1idXR0b257b3BhY2l0eTp1bnNldH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxlZnQtY29udHJvbHN7bWluLXdpZHRoOjA7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MCA0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7dG9wOjUwJTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtib3JkZXItcmFkaXVzOjQwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjQ4cHg7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsIDQ4cHgpIC0gOHB4KX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgNHB4IDAgMDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+KikueXRwLXBsYXlsaXN0LXVpe21hcmdpbi1sZWZ0OjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2luc2V0OjRweCA0cHggNHB4IDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbjpiZWZvcmV7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gOHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LCA1NnB4KSAtIDI0cHgpLzIpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtbHVtaW5vc2l0eS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmx1bWlub3NpdHk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb247LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAteW91dHViZS1idXR0b24pIHN2ZywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoLnl0cC15b3V0dWJlLWJ1dHRvbikgc3Zne3dpZHRoOjQwcHg7cGFkZGluZy1sZWZ0OjRweH0ueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b257cGFkZGluZy10b3A6NnB4O2hlaWdodDo0MnB4O3ZlcnRpY2FsLWFsaWduOnRvcH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbntwYWRkaW5nLXRvcDo5cHg7aGVpZ2h0OjYzcHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OjEwMCV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbnt3aWR0aDo1NHB4fS55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLXByZXYtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6LTEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlci1yYWRpdXM6MjdweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntib3JkZXItcmFkaXVzOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkvMil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXktYnV0dG9uOmFjdGl2ZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO21hcmdpbi1ib3R0b206Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgMCAwIDRweDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHg7aW5zZXQ6NHB4IDAgNHB4IDRweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXByZXYtYnV0dG9uOm5vdCh5dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbjpub3QoeXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKSBzdmd7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtZXhjbHVzaW9uLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZXhjbHVzaW9uOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLWJpZy1tb2RlIC55dHAtcHJldi1idXR0b246YmVmb3Jle3dpZHRoOjI0cHg7bGVmdDotMjRweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOm5vdChbZGlzYWJsZWRdKTpob3ZlciwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdLC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXSwueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b246aG92ZXIsLnl0cC1yZXBsYXktYnV0dG9uOmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zdmctZmlsbHtmaWxsOiNmZmZ9Lnl0cC1zdmctc2hhZG93e3N0cm9rZTojMDAwO3N0cm9rZS1vcGFjaXR5Oi4xNTtzdHJva2Utd2lkdGg6MnB4O2ZpbGw6bm9uZX0ueXRwLWRuaSAueXRwLXN2Zy1zaGFkb3d7ZGlzcGxheTpub25lfS55dHAtc3ZnLXNoYWRvdy1maWxse2ZpbGw6IzAwMDtmaWxsLW9wYWNpdHk6LjE1O3N0cm9rZTpub25lfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF17cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6M3B4O2JvcmRlci1yYWRpdXM6M3B4O2xlZnQ6MjRweDtib3R0b206OXB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpOy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHdpZHRoIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bGVmdCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjJweDtib3JkZXItcmFkaXVzOjJweDtsZWZ0OjIwcHg7Ym90dG9tOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjNweDtsZWZ0OjI3cHg7Ym90dG9tOjEwcHh9Lnl0cC1kbmkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI0cHg7bGVmdDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlcnt3aWR0aDoxOHB4O2xlZnQ6OXB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjIwcHg7bGVmdDoxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI3cHg7bGVmdDoxNHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV06YWZ0ZXJ7bGVmdDoxNXB4fS55dHAtY29sb3Itd2hpdGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVyey13ZWJraXQtYW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtY2hyb21lLXRvcC1idXR0b25zIC55dHAtYnV0dG9ue3RleHQtc2hhZG93OmluaGVyaXR9W2Rpcj1ydGxdIC55dHAtc2hvcnRzLW1vZGUgLnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0OHB4fS55dHAtY29weWxpbmstYnV0dG9uOm5vdCgueXRwLWNvcHlsaW5rLWJ1dHRvbi12aXNpYmxlKSwueXRwLW92ZXJmbG93LWJ1dHRvbjpub3QoLnl0cC1vdmVyZmxvdy1idXR0b24tdmlzaWJsZSksLnl0cC1zaGFyZS1idXR0b246bm90KC55dHAtc2hhcmUtYnV0dG9uLXZpc2libGUpe2Rpc3BsYXk6bm9uZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpsZWZ0O2RpcmVjdGlvbjpsdHJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCk7bGluZS1oZWlnaHQ6dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO2xpbmUtaGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsOTZweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9sc3toZWlnaHQ6NDBweDtsaW5lLWhlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTRweH06bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtbGVmdC1jb250cm9sc3tmbG9hdDpsZWZ0fS55dHAtbGVmdC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMueXRwLWxlZnQtY29udHJvbHMtd2l0aC12b2x1bWV7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtbGVmdC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtcmlnaHQtY29udHJvbHN7ZmxvYXQ6cmlnaHR9Lnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MDttaW4td2lkdGg6MDttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHggNnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTttYXJnaW46Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDEycHg7cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdHtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzLWxlZnQ6YWZ0ZXJ7aGVpZ2h0OjI4cHg7bWFyZ2luOjEwcHggMTRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LXhzbWFsbC13aWR0aC1tb2RlLDY0cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uLnl0cC1saXZlLWJhZGdle3dpZHRoOmF1dG99Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbjpub3QoLnl0cC1saXZlLWJhZGdlKTpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW5leHQtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDo0MHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xze2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257ZGlzcGxheTpub25lO21hcmdpbjo0cHggMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdDphZnRlcntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXNldHRpbmdzLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbS55dHAteHNtYWxsLXdpZHRoLXJpZ2h0LWNvbnRyb2xzLWV4cGFuZGVkIC55dHAtbGVmdC1jb250cm9scyAueXRwLXRpbWUtZGlzcGxheXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtdm9sdW1lLWFyZWF7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWF7bWFyZ2luOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAwIHZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbiBzdmd7cGFkZGluZzp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWE6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6MjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtc2xpZGVyLWFjdGl2ZSAueXRwLXZvbHVtZS1hcmVhe3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXZvbHVtZS1hcmVhe21hcmdpbjp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCkgMCAwIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDhweDtoZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC1idXR0b257aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1hcmVhIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O3BhZGRpbmc6MTFweH0ueXRwLWF1dG9oaWRlLWZhZGUtdHJhbnNpdGlvbiwueXRwLWNocm9tZS1ib3R0b206bm90KC55dHAtZnJvc3RlZC1nbGFzcy1vcGFjaXR5LWFuaW1hdGlvbiksLnl0cC1jaHJvbWUtdG9wey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYXV0b2hpZGUtZmFkZS10cmFuc2l0aW9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tOm5vdCgueXRwLWZyb3N0ZWQtZ2xhc3Mtb3BhY2l0eS1hbmltYXRpb24pLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1hdXRvaGlkZSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCwueXRwLWF1dG9oaWRlIC55dHAtdGl0bGUsLnl0cC1hdXRvaGlkZSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLWJvdHRvbVthcmlhLWhpZGRlbj10cnVlXSwueXRwLWNocm9tZS10b3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtb3ZlcmZsb3ctYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpOm5vdCgueXRwLWNhcmRzLXRlYXNlci1zaG93bikgLnl0cC1jYXJkcy1idXR0b257ZGlzcGxheTpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3BhZGRpbmctcmlnaHQ6OHB4fS55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtdG9we3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQURHQ0FZQUFBQVQrT3FGQUFBQWRrbEVRVlFvejQyUVFRN0FJQWdFRi9UL0Qra2JxL1JXQWxuUXl5YXpBNGFvQUI0RnNCU0EvYkZqdUYxRU9MN1ZicklyQnV1c21ydDRaWk9SZmI2ZWhiV2RuUkhFSWlJVGFFVUthNUVKcVVha1JTYUVZQkpTQ1kyZEVzdFFZN0F1eGFod1hGcnZabVdsMnJoNEpaMDd6OWRMdGVzZk5qNXEwRlUzQTVPYmJ3QUFBQUJKUlU1RXJrSmdnZz09KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbSwueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFFbUNBWUFBQUNqeS9xekFBQUFoa2xFUVZRNHk1MlJVUTZBTUF4Q0tkNy9KSjdSNmFlSkFkcjUwN1RqUVpxT0FFNENXQVJ3eDdKRTk0NHJjaC9rNnFPV1M3YnE1Ymg3MnpHRjgrTFRhNmdvSmVSUGdYRFlOeFdGZmtTMFFYQ0luTElOMUd4VFhBMGR0UzBvdFdKbnVYSlIxWTlXWVA5R0YxVUNZUlFZSFJTbFhNQVJiVk80dGgzc2Q3WTNPUDVkWTNCbitTa1BzR0oxK0hHR1Z0Y0FBQUFBU1VWT1JLNUNZSUk9KX0ueXRwLWF1dG9oaWRlIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtYm90dG9tW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtZ3JhZGllbnQtdG9wW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZyk6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSkgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo0OHB4O3BhZGRpbmctYm90dG9tOjUwcHg7dG9wOjA7ei1pbmRleDoyNTtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcH0ueXRwLWVtYmVkLXBmbC55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NzBweDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSksdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLHJnYmEoMCwwLDAsLjc1KSksdG8odHJhbnNwYXJlbnQpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuNzUpIDAsdHJhbnNwYXJlbnQpO3BhZGRpbmctYm90dG9tOjB9Lnl0cC1zaG9ydHMtbW9kZS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1ncmFkaWVudC10b3AsLnl0cC1zaG9ydHMtbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmF1dG8gMjAwJTtiYWNrZ3JvdW5kLXNpemU6YXV0byAyMDAlfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo2OXB4O3BhZGRpbmctYm90dG9tOjc3cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6ODlweDtwYWRkaW5nLWJvdHRvbTo1N3B4fS55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo2MXB4O3BhZGRpbmctdG9wOjM3cHg7Ym90dG9tOjA7ei1pbmRleDoyNDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1ncmFkaWVudC1ib3R0b217aGVpZ2h0OjQ5cHg7cGFkZGluZy10b3A6NDlweH0ueXRwLWVtYmVkIC55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo1M3B4O3BhZGRpbmctdG9wOjQ1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbXtoZWlnaHQ6NzBweDtwYWRkaW5nLXRvcDo3NnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDcwJSAtIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDIwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoMjAlICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9we2hlaWdodDowfS55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZSwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWdyYWRpZW50LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLW92ZXJmbG93LWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXNoYXJlLWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXdhdGNoLWxhdGVyLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUueXRwLWZ1bGwtYmxlZWQtcGxheWVyOm5vdCgueXRwLWdyaWQtc2Nyb2xsYWJsZSkgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKSAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6dmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybi55dHAtYXV0b2hpZGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtY2hyb21lLWJvdHRvbSwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWF1dG9oaWRlKSAueXRwLWNocm9tZS1ib3R0b217b3BhY2l0eTpjYWxjKDEgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGModmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLWNocm9tZS1ib3R0b217cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1jaHJvbWUtYm90dG9te2Rpc3BsYXk6bm9uZX0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSl7Lnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1ncmFkaWVudC10b3B7YmFja2dyb3VuZDojMDAwO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yezAle2JhY2tncm91bmQtY29sb3I6I2YwMH0yMCV7YmFja2dyb3VuZC1jb2xvcjojMGYwfTQwJXtiYWNrZ3JvdW5kLWNvbG9yOiMwMGZ9NjAle2JhY2tncm91bmQtY29sb3I6I2YwZn04MCV7YmFja2dyb3VuZC1jb2xvcjojZmYwfXRve2JhY2tncm91bmQtY29sb3I6IzBmZn19QGtleWZyYW1lcyB5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvcnswJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMDB9MjAle2JhY2tncm91bmQtY29sb3I6IzBmMH00MCV7YmFja2dyb3VuZC1jb2xvcjojMDBmfTYwJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGZ9ODAle2JhY2tncm91bmQtY29sb3I6I2ZmMH10b3tiYWNrZ3JvdW5kLWNvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktY29sb3J7MCV7Y29sb3I6I2YwMH0yMCV7Y29sb3I6IzBmMH00MCV7Y29sb3I6IzAwZn02MCV7Y29sb3I6I2YwZn04MCV7Y29sb3I6I2ZmMH10b3tjb2xvcjojMGZmfX1Aa2V5ZnJhbWVzIHl0cC1wYXJ0eS1jb2xvcnswJXtjb2xvcjojZjAwfTIwJXtjb2xvcjojMGYwfTQwJXtjb2xvcjojMDBmfTYwJXtjb2xvcjojZjBmfTgwJXtjb2xvcjojZmYwfXRve2NvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktZmlsbHswJXtmaWxsOiNmMDB9MjAle2ZpbGw6IzBmMH00MCV7ZmlsbDojMDBmfTYwJXtmaWxsOiNmMGZ9ODAle2ZpbGw6I2ZmMH10b3tmaWxsOiMwZmZ9fUBrZXlmcmFtZXMgeXRwLXBhcnR5LWZpbGx7MCV7ZmlsbDojZjAwfTIwJXtmaWxsOiMwZjB9NDAle2ZpbGw6IzAwZn02MCV7ZmlsbDojZjBmfTgwJXtmaWxsOiNmZjB9dG97ZmlsbDojMGZmfX0ueXRwLW1lbnUtc2hvd24gLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lnl0cC1hZC1kaXNwbGF5LW92ZXJyaWRlIC52aWRlby1hZHN7ZGlzcGxheTppbmhlcml0fS55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyl9Lnl0cC1kbmkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3Itc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6I2FhYX0ueXRwLWNvbG9yLXBhcnR5IC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3IsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9yLC55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvci1zZWNvbmRhcnl7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTtiYWNrZ3JvdW5kOm5vbmV9Lnl0cC1zd2F0Y2gtY29sb3J7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpfS55dHAtc3dhdGNoLWNvbG9yLXdoaXRle2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSl9Lnl0cC1wcmVtaXVtLWxhYmVse2ZvbnQtc2l6ZTo4My4zMzMzJTtjb2xvcjojY2NjfS55dHAtZG5pIC55dHAtc3dhdGNoLWNvbG9ye2NvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1jb2xvcntjb2xvcjojZGRkfS55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtY29sb3J7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWNvbG9yIC4xNXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGV9QG1lZGlhIHByaW50ey5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpICp7dmlzaWJpbGl0eTpoaWRkZW59Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcil7Ym9yZGVyOjFweCBzb2xpZCAjMDAwOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY2hyb21lLXRvcCw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtbGFyZ2UtcGxheS1idXR0b257b3BhY2l0eToxIWltcG9ydGFudDtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbiAqLDpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC10aXRsZSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdGl0bGUgKntjb2xvcjojMDAwIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fX0ueXRwLXBsYXllci1pbi1iYXItZGlzYWJsZS11aT46bm90KC5odG1sNS12aWRlby1jb250YWluZXIpe2Rpc3BsYXk6bm9uZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtY29tcG9zaXRlLXZpZGVvLW92ZXJsYXktcmVuZGVyZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7ei1pbmRleDoxMH0ueXRwLWFkLW1vZHVsZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEycHgpO3RvcDowfS52aWRlby1hZC1zdGF0dXMtYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3otaW5kZXg6ODUwO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6Ljc7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjUzcHh9Lnl0cC1iaWctbW9kZSAudmlkZW8tYWQtc3RhdHVzLWJhcntib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LmFkLXNob3dpbmcgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7ZGlzcGxheTpibG9ja30uYWQtc2hvd2luZy55dHAtYXV0b2hpZGUgLnZpZGVvLWFkLXN0YXR1cy1iYXIsLmFkLXNob3dpbmcueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LnZpZGVvLWFkLWxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo1cHh9LmFkLXNob3dpbmcgLmFkLXZpZGVve3Bvc2l0aW9uOmFic29sdXRlfS5hZC1zaG93aW5nIC5hZC12aWRlb3t0b3A6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1jbGljay10cmFja2luZywuaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1zdHJlYW17ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLWNvbnRhaW5lci1zaW5nbGUtbWVkaWEtZWxlbWVudC1hbm5vdGF0aW9uc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1jb250YWluZXItc2luZ2xlLW1lZGlhLWVsZW1lbnQtYW5ub3RhdGlvbnMtd29ya2Fyb3VuZHt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e2JvdHRvbTo1M3B4fS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLmFkLW92ZXJsYXksLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAuYWQtb3ZlcmxheXtib3R0b206NzBweH0ueXRwLWF1dG9oaWRlLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheSAudmlkZW8tY2xpY2stdHJhY2tpbmd7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+Om5vdCguaW1hLWNvbnRhaW5lcil7ei1pbmRleDo4NzB9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheT4uaW1hLWNvbnRhaW5lcnt6LWluZGV4OmF1dG8haW1wb3J0YW50fS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+LmltYS1jb250YWluZXI+Knt6LWluZGV4Ojg3MCFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmV9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpIC5hZC1jb250YWluZXIsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCgueXRwLWFkLW92ZXJsYXktb3BlbikgLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lml2LWVuZGNhcC1iYWNrZ3JvdW5ke3otaW5kZXg6ODIxfS5odG1sNS12aWRlby1wbGF5ZXIgLmF0dHJpYnV0aW9uLWJ1dHRvbnt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLWJ1dHRvbi1pY29uLC55dHAtYWQtYnV0dG9uLXRleHQsLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLC55dHAtYWQtc2tpcC1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXNraXAtYnV0dG9uLXRleHQtY2VudGVyZWR7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSBidXR0b257b3V0bGluZTowfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSAueXRwLWFkLWJ1dHRvbjpmb2N1cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgYnV0dG9uOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtYnV0dG9uLWxpbmt7cGFkZGluZzowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLWFkLWJ1dHRvbi1saW5rOmFjdGl2ZSwueXRwLWFkLWJ1dHRvbi1saW5rOmhvdmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97bGVmdDoyNHB4O2JvdHRvbTo3MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZve2JvdHRvbTo2cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206NjFweDtjdXJzb3I6ZGVmYXVsdDtsZWZ0OjE4cHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KTt6LWluZGV4Ojg1MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1lbWJlZCAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97Ym90dG9tOjUzcHh9Lnl0cC1hZC1jbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1hZC1kaXNjbG9zdXJlLWJhbm5lcntib3JkZXItcmFkaXVzOjA7Ym90dG9tOmF1dG87Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OmF1dG87bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjI0cHg7ei1pbmRleDo4NTB9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWFkLWRpc2Nsb3N1cmUtYmFubmVye2xlZnQ6MjRweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWZseW91dC1jdGF7Ym90dG9tOjg2cHg7bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo4NTB9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3RhLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZW1iZWQgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo3OHB4fS55dHAtZmx5b3V0LWN0YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1mbHlvdXQtY3RhLWxhcmdle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZzo4cHg7bWluLXdpZHRoOjIwMHB4fS55dHAtZmx5b3V0LWN0YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtZmx5b3V0LWN0YS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpO2JvcmRlci1yYWRpdXM6MnB4O21heC13aWR0aDo0MDBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keS1sYXJnZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1mbHlvdXQtY3RhOmhvdmVyIC55dHAtZmx5b3V0LWN0YS1ib2R5e2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWZseW91dC1jdGE6aG92ZXIgLnl0cC1mbHlvdXQtY3RhLWJvZHktbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21heC13aWR0aDoyNTBweDtwYWRkaW5nLWxlZnQ6NThweDtwYWRkaW5nLXJpZ2h0OjIwcHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtdGV4dC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1yaWdodDoxMHB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaGVhZGxpbmUtY29udGFpbmVye2NvbG9yOiMzMzM7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi10b3A6MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjb2xvcjojNzY3Njc2O2ZvbnQtc2l6ZToxM3B4O21hcmdpbi10b3A6M3B4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9ue292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6NTZweDttYXgtd2lkdGg6MTUwcHg7cG9zaXRpb246c3RhdGljOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci1sYXJnZXtsaW5lLWhlaWdodDppbmhlcml0O21hcmdpbjo4cHg7bWluLXdpZHRoOjEwMCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9ue2JhY2tncm91bmQ6IzE2N2FjNjtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjojMTY3YWM2O2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDoyOHB4O21hcmdpbjowIDhweCAwIDA7bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgMTBweDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6aW5oZXJpdH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tbGFyZ2V7bWluLXdpZHRoOjEwMCU7Y29sb3I6IzBmMGYwZn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMTI2ZGIzfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24ueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTJweDtib3JkZXI6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7YmFja2dyb3VuZDojMDY1ZmQ0fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLXJvdW5kZWQtbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtZmx5b3V0LWN0YSwueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWJvZHksLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntkaXJlY3Rpb246bHRyO2hlaWdodDphdXRvfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXJ7aGVpZ2h0OjEwMCU7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo0OHB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo4cHg7dG9wOi0yNnB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi55dHAtZmx5b3V0LWN0YS1pY29uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9Lnl0cC1mbHlvdXQtY3RhLnl0cC1mbHlvdXQtY3RhLWluYWN0aXZley13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0ueXRwLWZseW91dC1jdGEueXRwLWZseW91dC1jdGEtaW5hY3RpdmUgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpfS55dHAtZmx5b3V0LWN0YS55dHAtZmx5b3V0LWN0YS1pbmFjdGl2ZSAueXRwLWZseW91dC1jdGEtYm9keXttYXgtd2lkdGg6MDt3aWR0aDowfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo5NXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEsLnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keSwueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjQwcHg7bWF4LXdpZHRoOjE5MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVye2hlaWdodDoxMDAlO3dpZHRoOjQwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21hcmdpbi1sZWZ0OjZweDtwYWRkaW5nOjRweCAyMHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lcntmb250LXNpemU6MTJweDttYXJnaW4tdG9wOjJweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1kZXNjcmlwdGlvbi1jb250YWluZXJ7Zm9udC1zaXplOjExcHg7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29uLWNvbnRhaW5lcntsZWZ0OjA7dG9wOjB9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b24sLnl0cC1hZC1zaW1wbGUtYWQtYmFkZ2UsLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdle21hcmdpbi1sZWZ0OjVweDtvcGFjaXR5Oi43NX0ueXRwLWFkLXNpbXBsZS1hZC1iYWRnZS0tY2xlYW4tcGxheWVye21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdlLS1zdXJ2ZXl7Zm9udC13ZWlnaHQ6NTAwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXNpbXBsZS1hZC1iYWRnZXttYXJnaW4tbGVmdDowfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5ne21hcmdpbi1sZWZ0OjNweDtvcGFjaXR5Oi43NX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KTtsZWZ0OjA7bGluZS1oZWlnaHQ6MjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVyOmJlZm9yZXtjb250ZW50OiLigKIiO3BhZGRpbmctaW5saW5lOjRweH0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tbXdlYntmb250LXdlaWdodDo2MDA7bWFyZ2luLWxlZnQ6M3B4fS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLS1td2ViLWlvc3tsZXR0ZXItc3BhY2luZzotLjJweH0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW46MCA1cHg7bWFyZ2luLXJpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbTozMHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMzMzO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MTJweDtsZWZ0Oi0xOXB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtvcGFjaXR5Oi45O3BhZGRpbmc6N3B4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LXNob3J0e3doaXRlLXNwYWNlOm5vd3JhcH0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGF7Y29sb3I6IzE2N2FjNn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbjpob3ZlciAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyLC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLWhvdmVyLXRleHQtY2FsbG91dHtib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjVweCBzb2xpZCAjZmZmOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MDtsZWZ0OjIwcHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6MTAwJTt3aWR0aDowfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b257LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi43NTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt3aWR0aDoxM3B4fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtYnV0dG9uLS1jbGVhbi1wbGF5ZXJ7b3BhY2l0eToxOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCA3cHggcmdiYSgwLDAsMCwuOSkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgN3B4IHJnYmEoMCwwLDAsLjkpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1idXR0b257LXdlYmtpdC1maWx0ZXI6dW5zZXQ7ZmlsdGVyOnVuc2V0fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8taWNvbi1idXR0b246aG92ZXJ7b3BhY2l0eToxfS55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1iYWNrZ3JvdW5kLC55dHAtYWQtaW5mby1kaWFsb2ctYmFja2dyb3VuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO2Rpc3BsYXk6dGFibGU7aGVpZ2h0OjEwMCU7bGVmdDowO21hcmdpbjphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjIyMDF9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1pbmZvLWRpYWxvZy1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteTpzY3JvbGw7b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jbG9zZS1vdmVybGF5LWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jbG9zZS1idXR0b24sLnl0cC1hZC1pbmZvLWRpYWxvZy1jbG9zZS1idXR0b257aGVpZ2h0OjI0cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDt0b3A6MTRweDt3aWR0aDoyNHB4fS55dHAtYWQtY29uZmlybS1kaWFsb2ctY2xvc2Utb3ZlcmxheS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVyLC55dHAtYWQtaW5mby1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb250YWluZXIsLnl0cC1hZC1pbmZvLWRpYWxvZy1jb250YWluZXJ7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLC55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0sLnl0cC1hZC1pbmZvLWRpYWxvZy1mb3Jte2JhY2tncm91bmQ6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCBibGFjaztjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE4MHB4O21heC13aWR0aDo1MCU7cGFkZGluZzoxNHB4O3RleHQtYWxpZ246bGVmdH0ueXRwLWFkLWluZm8tZGlhbG9nLXJlbGF0aXZlLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjcyfS55dHAtYWQtaW5mby1kaWFsb2ctcmVsYXRpdmUtY29udGFpbmVyIC55dHAtYWQtaW5mby1kaWFsb2ctZm9ybXstd2Via2l0LWJveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JvcmRlci1jb2xvcjojZTJlMmUyO21heC13aWR0aDpub25lfS55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0gYSwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1mb3JtIGE6aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYSwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYTpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9ue2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUsLnl0cC1hZC1pbmZvLWRpYWxvZy10aXRsZXtjb2xvcjojMzMzO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUgYSwueXRwLWFkLWluZm8tZGlhbG9nLXRpdGxlIGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX11bC55dHAtYWQtaW5mby1kaWFsb2ctYWQtcmVhc29uc3twYWRkaW5nOjA7bWFyZ2luOjA7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1hZC1yZWFzb25zIGxpe2xpc3Qtc3R5bGU6ZGlzYztsaXN0LXN0eWxlLXBvc2l0aW9uOm91dHNpZGU7bWFyZ2luLWxlZnQ6MjBweH0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2VzLC55dHAtYWQtaW5mby1kaWFsb2ctZmVlZGJhY2stb3B0aW9uc3ttYXJnaW4tbGVmdDo4cHh9bGFiZWwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1yZWFzb24tbGFiZWx7ZGlzcGxheTpibG9jazttYXJnaW46OHB4IDB9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tY29udGFpbmVye21hcmdpbi10b3A6OHB4O3RleHQtYWxpZ246cmlnaHR9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b24sLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9ue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7bWFyZ2luOjRweCAwIDAgMTJweDtwYWRkaW5nOjEwcHg7Y29sb3I6IzE2N2FjNjtjdXJzb3I6cG9pbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uOmhvdmVyLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbjpob3ZlciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9uOmhvdmVye2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtYWQtaW5mby1kaWFsb2ctbXV0ZS1jb250YWluZXJ7bWFyZ2luLXRvcDo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1tdXRlLWJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn0ueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9uIC55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OjE2cHg7bWFyZ2luLXJpZ2h0OjVweDt3aWR0aDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy11bmRvLW11dGUtYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tbGVmdDo1cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1sZWZ0OjVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTJweDtyaWdodDotMnB4O3RvcDotN3B4O2JvdHRvbTotOHB4fS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b24gLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEycHg7bWFyZ2luOi00cHggM3B4IC0ycHggMDtwYWRkaW5nOjVweCAwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b246aG92ZXIgLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2N1cnNvcjpwb2ludGVyOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7aGVpZ2h0OjEwcHg7b3BhY2l0eTouNzU7d2lkdGg6MTBweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmhvdmVyIC55dHAtYWQtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWJpZy1tb2RlIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo5NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjE1NnB4fS55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWVtYmVkLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206MjVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjg2cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0tdXNlci1zZW50aW1lbnQgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjcwcHh9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciwueXRwLXNldHRpbmdzLXNob3duIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntvcGFjaXR5Oi40O3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDo4NTB9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWFkLW1lc3NhZ2Utb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvdHRvbTowO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6ODUwfS55dHAtYWQtbWVzc2FnZS1zbG90LC55dHAtYWQtcHJldmlldy1zbG90LC55dHAtYWQtc2tpcC1hZC1zbG90e3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3BvaW50ZXItZXZlbnRzOmF1dG87ei1pbmRleDo4NTB9Lnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWVtYmVkIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1lbWJlZCAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eToxO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyLC55dHAtYWQtcHJldmlldy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNCk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lci1kZXRhY2hlZHttYXJnaW4tcmlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtoZWlnaHQ6MzZweH0ueXRwLWFkLXByZXZpZXctY29udGFpbmVyLWRldGFjaGVkOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouNztwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLWRldGFjaGVke21hcmdpbi1yaWdodDoxMnB4O29wYWNpdHk6MX0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtYWQtcHJldmlldy1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLXByZXZpZXctdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTJweDtoZWlnaHQ6MzBweDtsZXR0ZXItc3BhY2luZzouMXB4O21pbi13aWR0aDo4MnB4O3BhZGRpbmc6MTFweCAxMHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6LjFweDtwYWRkaW5nOjAgOHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLW1lc3NhZ2UtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTZweDtoZWlnaHQ6NTJweDtsaW5lLWhlaWdodDo1MnB4O2xldHRlci1zcGFjaW5nOi4xcHg7bWluLXdpZHRoOjgwcHg7cGFkZGluZzowIDIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtYWQtcHJldmlldy1pbWFnZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1hZC1wcmV2aWV3LWltYWdlPi55dHAtYWQtaW1hZ2V7ZGlzcGxheTpibG9jazt3aWR0aDo5MnB4O2hlaWdodDo1MnB4fS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm4+Lnl0cC1hZC1pbWFnZXtkaXNwbGF5OmJsb2NrO2hlaWdodDozNnB4O3dpZHRoOjY1cHh9LmNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjA7cGFkZGluZzowIDhweH0uY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjQxcHg7d2lkdGg6NzNweH0ubW9kZXJuLWNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2hlaWdodDphdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MCA4cHh9Lm1vZGVybi1jb3VudGRvd24tbmV4dC10by10aHVtYm5haWwgLnl0cC1hZC1wcmV2aWV3LXRleHQtbW9kZXJuLXBvc3Ryb2xse3BhZGRpbmc6MCAxNHB4fS5tb2Rlcm4tY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjM2cHg7d2lkdGg6NjVweH0ueXRwLWFkLXNraXAtYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41KTtib3JkZXItcmlnaHQ6MDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtjb2xvcjojZmZmO2RpcmVjdGlvbjpsdHI7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi13aWR0aDowO3BhZGRpbmc6MTBweCA2cHggOHB4IDEwcHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXNraXAtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOSk7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yaWdodDowfS55dHAtYWQtc2tpcC1idXR0b24taWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46LTE0cHggLTZweCAtMTJweCAtNHB4fS55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7Y29sb3I6I2ZmZjtkaXJlY3Rpb246bHRyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDpub3JtYWw7bWluLXdpZHRoOjA7cGFkZGluZzowIDZweCAwIDE2cHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjE4cHg7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46aG92ZXJ7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSx0byhyZ2JhKDI1NSwyNTUsMjU1LC4yKSkpLC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiKDE1LDE1LDE1KSksdG8ocmdiKDE1LDE1LDE1KSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLGxpbmVhci1ncmFkaWVudChyZ2IoMTUsMTUsMTUpLHJnYigxNSwxNSwxNSkpfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3Vze2JhY2tncm91bmQ6cmdiKDE1LDE1LDE1KTtvdXRsaW5lOm5vbmU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWljb24tZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW13ZWItZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLWRlbGhpIC55dHAtYWQtc2tpcC1idXR0b24taWNvbi1tb2Rlcm4gc3Zne2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7cGFkZGluZzo0cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46Zm9jdXMtdmlzaWJsZSAueXRwLWFkLXNraXAtYnV0dG9uLWljb24tbW9kZXJuIHN2ZyBwYXRoe2ZpbGw6IzBmMGYwZn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6ODUwfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1vdmVybGF5LXNsb3R7Ym90dG9tOjcwcHh9Lnl0cC1hdXRvaGlkZS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLnl0cC1hZC1vdmVybGF5LXNsb3R7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLWVuaGFuY2VkLW92ZXJsYXksLnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLW92ZXJsYXktaW1hZ2UgaW1nLC55dHAtYWQtb3ZlcmxheS1jb250YWluZXIgLnl0cC1hZC10ZXh0LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1hZC10ZXh0LW92ZXJsYXl7aGVpZ2h0OjYzcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bzttYXgtd2lkdGg6NDQwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtYWQtdGV4dC1vdmVybGF5OmhvdmVye2JvcmRlcjoxcHggc29saWQgcmdiKDU4LDU4LDU4KX0ueXRwLWFkLW92ZXJsYXktdGl0bGV7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZjtkaXNwbGF5OmJsb2NrO2ZvbnQ6NzAwIDE0cHggYXJpYWwsc2Fucy1zZXJpZjttYXJnaW46N3B4IDIycHggMCAwO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWJvdHRvbTo0cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgLTFweCAwO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLXRleHQtb3ZlcmxheTpob3ZlciAueXRwLWFkLW92ZXJsYXktdGl0bGV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktZGVzY3tjb2xvcjojZmZmO2ZvbnQ6MTJweCBhcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1ib3R0b206MnB4O21hcmdpbi10b3A6LTNweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbWFnZS1vdmVybGF5e21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLW92ZXJsYXktaW1hZ2V7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRwLWFkLWltYWdlLW92ZXJsYXk6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktbGlua3tjdXJzb3I6cG9pbnRlcjtib3R0b206OXB4O2NvbG9yOiNlYWRlOTA7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246c3RhdGljO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OnJnYigwLDAsMCkgMCAtMXB4IDB9Lnl0cC1hZC1vdmVybGF5LWxpbmsueXRwLWFkLW92ZXJsYXktbGluay1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lcntjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxNXB4O3BhZGRpbmc6NnB4IDFweCAxMHB4IDIwcHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMXB4O3RvcDowO3dpZHRoOjE1cHh9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lciAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDttYXJnaW46MDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtaG92ZXItdGV4dC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6MX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZpbGwtb3BhY2l0eTouODtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi45O3dpZHRoOmluaGVyaXQ7LXdlYmtpdC1maWx0ZXI6bm9uZTtmaWx0ZXI6bm9uZTtsaW5lLWhlaWdodDpub3JtYWw7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7dmVydGljYWwtYWxpZ246dG9wfS55dHAtYWQtb3ZlcmxheS1jbG9zZS1jb250YWluZXJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjE1cHg7bWFyZ2luOjA7cGFkZGluZzo2cHggNnB4IDEwcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MTVweH0ueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDtmaWxsLW9wYWNpdHk6Ljg7ZmxvYXQ6cmlnaHQ7aGVpZ2h0OmluaGVyaXQ7b3BhY2l0eTouOTt3aWR0aDppbmhlcml0fS55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1jbG9zZS1idXR0b24gc3Zne2JhY2tncm91bmQ6IzAwMDtmaWxsOiNmZmZ9Lnl0cC1hZC1pbWFnZS1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHN2Z3tiYWNrZ3JvdW5kOiNmZmY7ZmlsbDojNzU3NTc1fS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDppbmhlcml0fS55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1vdmVybGF5LWNsb3NlLWNvbnRhaW5lcjpob3ZlciAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2ZpbGwtb3BhY2l0eToxfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbntib3R0b206OHB4O2NvbG9yOiM4ODg7Y3Vyc29yOnBvaW50ZXI7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MXB4O3BhZGRpbmc6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbjpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktYXR0cmlidXRpb257Y29sb3I6aW5oZXJpdDt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLW92ZXJsYXktdGV4dC1pbWFnZXtmbG9hdDpsZWZ0fS55dHAtYWQtb3ZlcmxheS10ZXh0LWltYWdlIGltZ3std2Via2l0LWJveC1zaGFkb3c6MCAzcHggNXB4IHJnYmEoMCwwLDAsLjQ5ODAzOSk7Ym94LXNoYWRvdzowIDNweCA1cHggcmdiYSgwLDAsMCwuNDk4MDM5KTtoZWlnaHQ6NTdweDttYXJnaW46MnB4IDEwcHggMCAwO3dpZHRoOmF1dG87bWluLXdpZHRoOjU3cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFse2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6NjR9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWJhY2tncm91bmQtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6bm9uZTtkaXNwbGF5OmJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90e3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjY1fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2Rpc3BsYXk6YmxvY2s7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTE0MHB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDo1MCU7d2lkdGg6MjgwcHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJke21hcmdpbi1sZWZ0Oi05MHB4O3dpZHRoOjE4MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWNhcmQtdW5pZmllZHttYXJnaW4tbGVmdDotMjE1cHg7d2lkdGg6NDMwcHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtY2FyZC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLXVuaWZpZWR7bWFyZ2luLWxlZnQ6MDtsZWZ0OjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjI0NXB4O3BhZGRpbmc6MCAwIDAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZS1jb250YWluZXItdW5pZmllZHt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjI4cHggMCAxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci11bmlmaWVke3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXJnaW46MCBhdXRvIDAgMDtwYWRkaW5nOjEwcHggMH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Y29sb3I6IzMzMztkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MjBweDttYXgtaGVpZ2h0OjIuMmVtO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Zm9udC1zaXplOjE2cHg7bWF4LWhlaWdodDoyLjJlbTtwYWRkaW5nLXRvcDo4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjdXJzb3I6cG9pbnRlcjtwb2ludGVyLWV2ZW50czphdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lci11bmlmaWVke3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbi1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLXVuaWZpZWR7ZGlzcGxheTpub25lfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbntjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDttYXgtaGVpZ2h0OjEuMWVtO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctYm90dG9tOjhweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci11bmlmaWVke3BhZGRpbmc6NnB4IDB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiMxNjdhYzY7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIzcHg7aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDZweDttaW4td2lkdGg6MTY0cHg7cGFkZGluZzowIDIwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9ue2ZvbnQtc2l6ZToxNXB4O2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7bWluLXdpZHRoOjEyMHB4fS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbntoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O21pbi13aWR0aDowfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtib3JkZXItcmFkaXVzOjI4cHg7aGVpZ2h0OjU2cHg7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI4cHg7cGFkZGluZzowIDI0cHg7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE1cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTZweDtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87bWF4LXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1MCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjpub25lO2hlaWdodDoxMjhweDt3aWR0aDoxMjhweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2V7cG9pbnRlci1ldmVudHM6YXV0bzttYXgtd2lkdGg6MTAwJX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLXVuaWZpZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXJ7aGVpZ2h0OjYwcHg7d2lkdGg6NjBweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lcntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLXVuaWZpZWR7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci11bmlmaWVke21hcmdpbi1sZWZ0Oi02cHg7cGFkZGluZzo2cHg7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXItdW5pZmllZHtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci11bmlmaWVkey13ZWJraXQtZmlsdGVyOmJsdXIoNzBweCk7ZmlsdGVyOmJsdXIoNzBweCl9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLXNsb3QueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC1kYXJrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUwLDUwLDUwLC44KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90LXVuaWZpZWR7aW5zZXQ6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtbGlnaHR7Y29sb3I6I2ZmZn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyOHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDozNHB4O21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy10b3A6MDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6bm9uZTtwYWRkaW5nLXRvcDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtmb250LXNpemU6MTZweDtwYWRkaW5nLXRvcDoxMnB4O3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWxpZ2h0e2NvbG9yOiNmZmZ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLXVuaWZpZWR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNjIsMTY2LDI1NSk7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjIwcHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1tb25vLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2NvbG9yOnJnYigxNSwxNSwxNSk7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToyMHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tbW9iaWxlLWNvbXBhbmlvbi1zaXple21pbi13aWR0aDowO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6MCAxNnB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tdW5pZmllZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYig2MiwxNjYsMjU1KTtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MThweDttaW4td2lkdGg6MDttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQgLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2JhY2tncm91bmQtY29sb3I6cmdiKDYyLDE2NiwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2hlaWdodDoyMnB4O2xpbmUtaGVpZ2h0OjEycHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoyMDBweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQtbW9ubzpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDotNnB4IDA7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm8gLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97aGVpZ2h0OjIycHg7bGluZS1oZWlnaHQ6MTJweH0ueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTo0cHg7ZGlzcGxheTpibG9jaztsZWZ0OjZweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjY1fS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1jb250YWluZXIueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVyLXVwcGVyLXJpZ2h0e2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweH1zdmcueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd257YmFja2dyb3VuZDpub25lO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoyMHB4O29wYWNpdHk6LjQ7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7d2lkdGg6MjBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tYmFja2dyb3VuZHtmaWxsOm5vbmU7c3Ryb2tlOm5vbmV9Y2lyY2xlLnl0cC1hZC10aW1lZC1waWUtY291bnRkb3duLWlubmVye2ZpbGw6bm9uZTtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MTBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZTojMDAwO3N0cm9rZS13aWR0aDoxfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtwYWRkaW5nOjAgMzJweDttYXJnaW46MDtsaW5lLWhlaWdodDpub3JtYWw7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dHAtYWQtc3VydmV5LnJlbGF0aXZlLXBvc2l0aW9uaW5nLXN1cnZleXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojg1MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbnN7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1mbGV4LWdyb3c6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCBhdXRvO2hlaWdodDoxMDAlfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3BhZGRpbmctdG9wOjA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWZ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcG9zaXRpb246NTAlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjF9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tZm9yZWdyb3VuZHt6LWluZGV4OjJ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtjb2xvcjojMTMxMzEzO2ZvbnQtc2l6ZToyMHB4O3RleHQtYWxpZ246bGVmdDt3aWR0aDozMDJweDttYXJnaW4tcmlnaHQ6NDhweDtsaW5lLWhlaWdodDoyOHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7cmlnaHQ6MDt0b3A6MzVweDt3aWR0aDozMDhweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zley13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmV7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDtwYWRkaW5nLXRvcDo0JX0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle3BhZGRpbmctdG9wOjA7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC10b2dnbGUtYnV0dG9uLWlucHV0e2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyOHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbjpob3ZlciwueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbjpob3Zlcntmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbnttYXJnaW4tbGVmdDoyNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlciAueXRwLWFkLXRvZ2dsZS1idXR0b24tdG9nZ2xlZHtmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDojNjA2MDYwfS55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b2dnbGVkLWljb24gc3ZnIHBhdGg6bGFzdC1vZi10eXBle2ZpbGw6IzA0NWVkZH0ueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LXdlYmtpdC1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czphdXRvO2N1cnNvcjpwb2ludGVyfS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTJweDtyaWdodDowO2hlaWdodDo1MnB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntiYWNrZ3JvdW5kOiMxYjdmY2M7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDttYXJnaW4tcmlnaHQ6NnB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6NTZweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9uLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQ6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDozNnB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXBsYXllci1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1za2lwLW9yLXByZXZpZXcsLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktc2tpcC1vci1wcmV2aWV3e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cmlnaHQ6MH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWx7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjUwMDA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1jb250ZW50c3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbCAueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtY29udGVudHN7aGVpZ2h0OmF1dG99Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6MzJweDttYXJnaW4tdG9wOjI1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiMxMzEzMTM7d2lkdGg6MjcycHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ297YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTstbW96LWJhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2hlaWdodDoyNXB4O21hcmdpbi1sZWZ0OjMycHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTA1cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28taW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE2MXB4O3BhZGRpbmc6MTBweDttYXJnaW4tbGVmdDozMnB4O21hcmdpbi10b3A6MjVweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym9yZGVyOjB9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQtY29sb3I6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7aGVpZ2h0OjM2cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO21pbi13aWR0aDowO3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDt0ZXh0LXRyYW5zZm9ybTpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjU2cHgpey55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1sb2dve21hcmdpbi1sZWZ0OjQ4cHg7bWFyZ2luLXRvcDoxNXB4fS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC10ZXh0e2ZvbnQtc2l6ZToyMHB4O21hcmdpbi1sZWZ0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257Zm9udC1zaXplOjE4cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleXtwYWRkaW5nOjAgMzJweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXRleHR7Zm9udC1zaXplOjIwcHg7bWFyZ2luLXJpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MjhweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjI0cHg7d2lkdGg6YXV0b30ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6MjJweDtmb250LXNpemU6MTBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NDhweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjB9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6NHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6NDBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS11c2VyLXNlbnRpbWVudHtkaXNwbGF5Om5vbmV9W2Rpcj1ydGxdIC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVye2JvdHRvbTo0MHB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyOTRweCkgYW5kIChtaW4taGVpZ2h0OjYzMHB4KXsueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbiwueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtbG9nbywueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtdGV4dHttYXJnaW4tbGVmdDo2NHB4fS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87cGFkZGluZzowIDYwcHh9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1yaWdodDo0OHB4O3dpZHRoOjM1NHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjM4cHg7d2lkdGg6MzkwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vye2hlaWdodDo2MHB4fS55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3ZlLC55dHAtYWQtc3VydmV5LXN1Ym1pdC1idXR0b257aGVpZ2h0OjQ0cHg7Zm9udC1zaXplOjE4LjJweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweDstd2Via2l0LWZsZXg6MCAwIDMycHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDMycHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NjBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjI1cHh9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6NzBweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNzIwcHgpIGFuZCAobWluLWhlaWdodDo5ODBweCl7Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6OTZweH0ueXRwLWFkLXN1cnZleXt3aWR0aDoxMDAlO3BhZGRpbmc6MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjQzcHg7bWFyZ2luLXJpZ2h0OjgwcHg7d2lkdGg6NDUwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vyc3t0b3A6NTdweDt3aWR0aDo1MDBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0Ojc2cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6NjdweDtmb250LXNpemU6MjcuNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlci1idXR0b24sLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b257Zm9udC1zaXplOjMycHg7bGluZS1oZWlnaHQ6NDNweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntoZWlnaHQ6MzJweDt3aWR0aDozMnB4Oy13ZWJraXQtZmxleDowIDAgMzJweDstd2Via2l0LWJveC1mbGV4OjA7ZmxleDowIDAgMzJweDttYXJnaW4tcmlnaHQ6MjBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle2hlaWdodDo3NnB4fS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtib3R0b206NDVweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9ue21hcmdpbi1yaWdodDoxMnB4O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MTEwcHh9fS55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXRvZ2dsZS1idXR0b246aG92ZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvb2x0aXB7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjcpO2JvdHRvbToxNDdweDtkaXNwbGF5OmlubGluZS1ibG9jaztwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDo4NTB9Lnl0cC1lbWJlZCAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lcntib3R0b206MTM5cHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LXNlbGVjdGVkey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtiYWNrZ3JvdW5kOiM0NzgwZWV9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiwueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjJweDtvcGFjaXR5Oi44O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyMnB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtwYWRkaW5nOjEycHggMTBweCAxMnB4IDIwcHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cGFkZGluZzoxMnB4IDIwcHggMTJweCAxMHB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbjpob3ZlciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntvcGFjaXR5OjF9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvZ2dsZWQgLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JhY2tncm91bmQ6cmdiYSgzMSwzMSwzMSwuNSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjE4cHg7bGV0dGVyLXNwYWNpbmc6MDttYXJnaW46OXB4IDA7cGFkZGluZzo4cHggMTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uOmhvdmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JvdHRvbTo0NnB4O3JpZ2h0OjIwcHh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS10b3AtYmFyLWdyYWRpZW50c3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNDAlLHJnYmEoMCwwLDAsLjc1KSksY29sb3Itc3RvcCg5OSUscmdiYSgwLDAsMCwwKSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtib3JkZXItYm90dG9tOm5vbmU7aGVpZ2h0OjQwcHg7d2lkdGg6MTAwJTtvcGFjaXR5Oi44O3RvcDowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbjpiZWZvcmV7Y29udGVudDpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbnttYXJnaW46YXV0byAxMXB4IGF1dG8gYXV0bztwb2ludGVyLWV2ZW50czphdXRvO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luOmF1dG8gMDtwYWRkaW5nOjAgNHB4IDVweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTtjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXBsYXllci1vdmVybGF5LXRvcC1iYXItZ3JhZGllbnRzIC55dHAtdmlkZW8tYWQtdG9wLWJhci10aXRsZXstd2Via2l0LWZsZXg6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTt0ZXh0LWRlY29yYXRpb246bm9uZTtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTRweDttYXgtd2lkdGg6NTAlO2hlaWdodDoxNnB4O2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW46MTBweCA1cHggNXB4IDEwcHg7ei1pbmRleDo4NTA7b3BhY2l0eTouOX0ueXRwLWFkLWNsaWNrYWJsZS1lbGVtZW50OmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtYWQtdW5kZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEzMXB4O2xlZnQ6MDtoZWlnaHQ6Y2FsYygxMDAlIC0gMjYycHgpO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjgwcHgpO3RvcDoxNDBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjIycHgpO3RvcDoxMTFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMTUwcHgpO3RvcDo3NXB4fS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXVuZGVybGF5e2hlaWdodDpjYWxjKDEwMCUgLSAxMjJweCk7dG9wOjYxcHh9Lnl0cC1hZC11bmRlcmxheS1jb21wYW5pb257aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXRwLWFkLXVuZGVybGF5LXNpZGUtY29udGFpbmVye2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctdG9wOjEyNXB4O3BhZGRpbmctYm90dG9tOjEyNXB4fS55dHAtYWQtdW5kZXJsYXktbGVmdC1jb250YWluZXJ7bWFyZ2luLWxlZnQ6MiU7cGFkZGluZy1yaWdodDoyJX0ueXRwLWFkLXVuZGVybGF5LXJpZ2h0LWNvbnRhaW5lcnttYXJnaW4tbGVmdDo1Mi41JX0ueXRwLWFkLXVuZGVybGF5LWltYWdlLWNvbnRhaW5lcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDo3MnB4O21pbi13aWR0aDo3MnB4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi1ib3R0b206MTZweDttYXgtd2lkdGg6MTQ0cHg7bWF4LWhlaWdodDoxNDRweDstd2Via2l0LWZsZXgtc2hyaW5rOjI7ZmxleC1zaHJpbms6MjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXVuZGVybGF5LWltYWdle3BvaW50ZXItZXZlbnRzOmF1dG87bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmUtY29udGFpbmVye3dpZHRoOjEwMCU7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToyLjV2dztmb250LXdlaWdodDo3MDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3dvcmQtd3JhcDpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KXsueXRwLWFkLXVuZGVybGF5LWhlYWRsaW5le2ZvbnQtc2l6ZTo0MHB4fX0ueXRwLWFkLXVuZGVybGF5LWRlc2NyaXB0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BhZGRpbmctYm90dG9tOjQwcHh9Lnl0cC1hZC11bmRlcmxheS1kZXNjcmlwdGlvbi1jb250YWluZXJ7LXdlYmtpdC1mbGV4LXNocmluazoxO2ZsZXgtc2hyaW5rOjF9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXVuZGVybGF5LWNsaWNrYWJsZXt6LWluZGV4Ojg1MH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMzAzMDM7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxOHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6MTJweDtoZWlnaHQ6MzZweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tbWVkaXVte2JvcmRlci1yYWRpdXM6MjRweDtmb250LXNpemU6MThweDtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjE2cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWxhcmdle2JvcmRlci1yYWRpdXM6MzJweDtmb250LXNpemU6MjJweDtwYWRkaW5nLWxlZnQ6MjRweDtwYWRkaW5nLXJpZ2h0OjI0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U5ZTllOX0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6IzAzMDMwMztib3JkZXItcmFkaXVzOjJweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NmI4ZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b246Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoycHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpmb2N1c3tvdXRsaW5lOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjM2VhNmZmO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzNlYTZmZn0uaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmd7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIDEuNXMsaGVpZ2h0IDEuNXMsbGVmdCAxLjVzLHRvcCAxLjVzO3RyYW5zaXRpb246d2lkdGggMS41cyxoZWlnaHQgMS41cyxsZWZ0IDEuNXMsdG9wIDEuNXN9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLXRyYW5zaXRpb257ei1pbmRleDotMX0uY29sb3ItY29udHJhc3QtZml4Lnl0cC1hZC1zdXJ2ZXl7YmFja2dyb3VuZC1jb2xvcjpibGFja30uY29sb3ItY29udHJhc3QtZml4IC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLWJhY2tncm91bmR7b3BhY2l0eTo2MCV9LmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24sLmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2NvbG9yOndoaXRlfS5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDp3aGl0ZX0ueXRwLWFkLWJhZGdle2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IsK3IjtwYWRkaW5nLWlubGluZTo0cHh9Lnl0cC1hZC1iYWRnZV9fcG9kLWluZGV4OmJlZm9yZXtjb250ZW50OiLCtyI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLWJhZGdlLS1zdGFya3tjb2xvcjojZmZmO29wYWNpdHk6Ljc1O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1iYWRnZS0tc3RhcmsgLnl0cC1hZC1iYWRnZV9fdGV4dHtmb250LXdlaWdodDo3MDB9Lnl0cC1hZC1iYWRnZS0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXJ7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjhweDt0ZXh0LXNoYWRvdzowIDAgOHB4IHJnYmEoMCwwLDAsLjUpO2xldHRlci1zcGFjaW5nOi4zNXB4fS55dHAtYWQtYmFkZ2UtLXN0YXJrLWNsZWFuLXBsYXllciAueXRwLWFkLWJhZGdlX190ZXh0LS1jbGVhbi1wbGF5ZXJ7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXItaW9ze2xldHRlci1zcGFjaW5nOi4xcHh9Lnl0cC1hZC1ncmlkLWNhcmQtY29sbGVjdGlvbntkaXNwbGF5OmdyaWQ7Z2FwOjhweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dHttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1hbGlnbi1zZWxmOnN0cmV0Y2g7YWxpZ24tc2VsZjpzdHJldGNoOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fYnV0dG9ue21hcmdpbjoxMnB4IDE2cHggMTJweCAxMnB4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTtmbGV4LWdyb3c6MTttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi10b3A6MTJweDttYXJnaW4tYm90dG9tOjEycHg7bWluLXdpZHRoOjB9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2hlYWRsaW5le2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxLjhyZW07LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbiA6Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjFweDt3aWR0aDotd2Via2l0LW1heC1jb250ZW50O3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnR9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9uIDpub3QoOmZpcnN0LWNoaWxkKXstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxfS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbl9fbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ueXRwLWFkLXBvZC1pbmRleHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDtsZWZ0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1wb2QtaW5kZXg6YmVmb3Jle2NvbnRlbnQ6IuKAoiI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLXBvZC1pbmRleC0tc3Rhcmt7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjI4cHg7dGV4dC1zaGFkb3c6MCAwIDE2cHggcmdiYSgwLDAsMCwuNSk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWFkLXBvZC1pbmRleC0tbXdlYntmb250LXdlaWdodDo2MDB9Lnl0cC1hZC1wb2QtaW5kZXgtLW13ZWItaW9ze2xldHRlci1zcGFjaW5nOi0uMnB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wb2QtaW5kZXgtLWF1dG9oaWRle2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Zm9udC13ZWlnaHQ6NTAwO2JvcmRlcjpub25lOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYWQtYnV0dG9uLXZtX190ZXh0e3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWFkLWJ1dHRvbi12bV9faWNvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0e2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6MCAxMnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWNvbXBhY3QgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS10cmFpbGluZ3std2Via2l0LW1hcmdpbi1zdGFydDo0cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7LXdlYmtpdC1tYXJnaW4tZW5kOi00cHg7bWFyZ2luLWlubGluZS1lbmQ6LTRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS1sZWFkaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0Oi00cHg7bWFyZ2luLWlubGluZS1zdGFydDotNHB4Oy13ZWJraXQtbWFyZ2luLWVuZDo0cHg7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHR7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1zaXplOjE0cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtZGVmYXVsdCAueXRwLWFkLWJ1dHRvbi12bV9faWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLXRyYWlsaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjZweDstd2Via2l0LW1hcmdpbi1lbmQ6LTZweDttYXJnaW4taW5saW5lLWVuZDotNnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LTZweDttYXJnaW4taW5saW5lLXN0YXJ0Oi02cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjZweDttYXJnaW4taW5saW5lLWVuZDo2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2V7aGVpZ2h0OjQ4cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjI0cHg7Zm9udC1zaXplOjE4cHg7cGFkZGluZzowIDI0cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1sYXJnZSAueXRwLWFkLWJ1dHRvbi12bV9faWNvbi0tdHJhaWxpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6OHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6OHB4Oy13ZWJraXQtbWFyZ2luLWVuZDotOHB4O21hcmdpbi1pbmxpbmUtZW5kOi04cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LThweDttYXJnaW4taW5saW5lLXN0YXJ0Oi04cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLXRyYW5zcGFyZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtdHJhbnNwYXJlbnQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yKX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDU1NmJmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtd2hpdGV7Y29sb3I6IzBmMGYwZjtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjF9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOWQ5ZDl9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZDlkOWQ5fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6cmdiKDE1LDE1LDE1KX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVkLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNjViOGZmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZHtjb2xvcjojZjFmMWYxO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtbW9uby1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHl7cGFkZGluZzowfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHkgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtwYWRkaW5nOjAgNnB4fS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjZmJjMDJkO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweH0ueXRwLWFkLWRpc2Nsb3N1cmUtYmFubmVyX190ZXh0e2JhY2tncm91bmQ6bm9uZTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxZW07cGFkZGluZzo4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJfX2NoZXZyb257LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC40KTtib3R0b206ODZweDtjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNnB4O2hlaWdodDo1MnB4O2xpbmUtaGVpZ2h0OjUycHg7bWluLXdpZHRoOjgwcHg7b3BhY2l0eToxO3BhZGRpbmc6MCAyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3otaW5kZXg6NDV9Lnl0cC1lbWJlZCAueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7Ym90dG9tOjc4cHh9Lnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLWJpZy1tb2RlIC55dHAtYWQtbm90aWZpY2F0aW9uLWNvbnRhaW5lcntib3R0b206OTVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVye2JvdHRvbToyNXB4fS55dHAtcHJldmlldy1hZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtjdXJzb3I6ZGVmYXVsdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtcHJldmlldy1hZFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJldmlldy1hZF9fdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouMXB4O3BhZGRpbmc6MCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtcHJldmlldy1hZF9fdGV4dC0tZm9udC0tc21hbGx7Zm9udC1zaXplOjEycHg7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjB9Lnl0cC1wcmV2aWV3LWFkX190ZXh0LS1wYWRkaW5nLS13aWRle3BhZGRpbmc6MCAxNHB4fS55dHAtcHJldmlldy1hZF9faW1hZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjY1cHg7aGVpZ2h0OjM2cHg7LW8tb2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtZml0OmNvdmVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXByZXZpZXctYWR7cmlnaHQ6MTJweDtib3R0b206NzVweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9Lnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcHJldmlldy1hZHtib3R0b206MjVweH0ueXRwLWF1dG9oaWRlIC55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLWF1dG9oaWRle2Rpc3BsYXk6bm9uZX0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRze2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJ7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZy1sZWZ0OjY0cHg7cGFkZGluZy1yaWdodDo2NHB4O21hcmdpbi1sZWZ0OmNhbGMoNjAlICsgMTZweCl9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2hlYWRlcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19hZF9hdmF0YXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tcmlnaHQ6MTZweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19oZWFkbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2J1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjI0cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2dyaWRfY2FyZF9jb2xsZWN0aW9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O292ZXJmbG93OmhpZGRlbiBhdXRvfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHNfX2NvbnRlbnRfY29udGFpbmVyX19hZF9idXR0b24+YnV0dG9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHMgLnl0cC1hZC1hdmF0YXItLXNpemUtcmVzcG9uc2l2ZXt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dHAtaW1hZ2UtYmFja2dyb3VuZC0tZ3JhZGllbnQtdmVydGljYWx7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjEycHg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjk1KTtjdXJzb3I6cG9pbnRlcjttYXgtd2lkdGg6NDAwcHg7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0tbGFyZ2V7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7bWluLXdpZHRoOjIwMHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7d2lkdGg6MDttYXgtd2lkdGg6MH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fYXZhdGFyX2FuZF90ZXh0X2NvbnRhaW5lci0tbGFyZ2V7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1zZWxmOnN0YXJ0O2FsaWduLXNlbGY6c3RhcnR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2FkX2F2YXRhci0tbGFyZ2V7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fdGV4dF9jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MCAyMHB4IDAgOHB4O21heC13aWR0aDoxOTJweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7Y29sb3I6IzBmMGYwZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMHB4O2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZS0tbGFyZ2V7Y29sb3I6I2RkZH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb257Y29sb3I6IzYwNjA2MDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWxhcmdle2NvbG9yOiNkZGR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17bWF4LXdpZHRoOjE0MHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdle21hcmdpbi10b3A6OHB4O21pbi13aWR0aDoxMDAlOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiMwZjBmMGY7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzY1YjhmZn0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJke29wYWNpdHk6Ljg2O3BhZGRpbmc6OHB4O21pbi1oZWlnaHQ6NDBweDttYXgtd2lkdGg6MTkwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQtLWxhcmdle21pbi13aWR0aDphdXRvfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0taW5hY3RpdmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXt3aWR0aDowO21heC13aWR0aDowfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZCAueXRwLWFkLWJ1dHRvbi12bSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9faGVhZGxpbmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbntmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWhpZGRlbi0taW4tLXNtYWxsLS1wbGF5ZXIsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbi0taGlkZGVuLS1pbi0tc21hbGwtLXBsYXllcntkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX190ZXh0X2NvbnRhaW5lciwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX3RleHRfY29udGFpbmVye3BhZGRpbmc6MCA0cHggMCA2cHg7bWF4LXdpZHRoOjE0NnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2Rlc2NyaXB0aW9ue2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0zcHg7d2lkdGg6MTAwJTtoZWlnaHQ6M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMik7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1wcm9ncmVzcy1iYXIgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXIsLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBlcnNpc3RlbnQtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntvcGFjaXR5OjE7Ym90dG9tOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6IzIyMjtoZWlnaHQ6NHB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVyLS1jbGVhbi1wbGF5ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjIyO2hlaWdodDozcHh9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmMwfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7bGVmdDoxMnB4O2JvdHRvbToxMnB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTo2NXB4O2N1cnNvcjpkZWZhdWx0O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3otaW5kZXg6ODUwOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1kdXJhdGlvbi1yZW1haW5pbmd7bWFyZ2luLWxlZnQ6MH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo5NXB4O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3NraXAtb3ItcHJldmlldy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2N1cnNvcjpkZWZhdWx0O2hlaWdodDphdXRvO2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0MnB4O3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0IC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7ei1pbmRleDoyN30ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206NzRweDtsZWZ0OjQwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6NDBweDtib3R0b206MTA0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtZGlzY2xvc3VyZS1iYW5uZXItY29udGFpbmVye2xlZnQ6NDBweDt0b3A6NjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTJweDtib3R0b206NDVweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3BsYXllci1jYXJkLWNvbnRhaW5lcntsZWZ0OjEycHg7Ym90dG9tOjc1cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7bGVmdDoxMnB4O3RvcDoxMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXBvZC1pbmRleCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1wb2QtaW5kZXgsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNTBweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206OXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206MzlweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWRpc2Nsb3N1cmUtYmFubmVyLWNvbnRhaW5lcntsZWZ0OjE2cHg7dG9wOjE2cHh9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbToxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo0NXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjNweHZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpMjRweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc21hbGwtbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1zbWFsbC1tb2RlLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOjdweH0ueXRwLXNtYWxsLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjM3cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHhze3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHN7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS1ze3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1hZC1hdmF0YXItLXNpemUtbXt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtYWQtYXZhdGFyLS1zaXplLWx7d2lkdGg6NTZweDtoZWlnaHQ6NTZweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS14bHt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtYWQtYXZhdGFyLS1jaXJjdWxhcntib3JkZXItcmFkaXVzOjUwJX0ueXRwLWFkLWF2YXRhci0tcm91bmRlZC1jb3JuZXJ7Ym9yZGVyLXJhZGl1czoyMCV9Lnl0cC1hZC1kZXRhaWxzLWxpbmV7ZGlzcGxheTpibG9ja30ueXRwLWFkLWRldGFpbHMtbGluZV9fdGV4dC0tc3R5bGUtc3RhbmRhcmR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXR7ei1pbmRleDo2NDtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2JhY2tncm91bmQtaW1hZ2UtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1pbWFnZS1iYWNrZ3JvdW5kLWltYWdle2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2t9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50e3otaW5kZXg6NjU7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jaztsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6NTAlO21hcmdpbi1sZWZ0Oi0yMTVweDt3aWR0aDo0MzBweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWF2YXRhci1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2hlYWRsaW5le3BhZGRpbmc6MjhweCAwIDEwcHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjhweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjJ9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2RldGFpbHMtbGluZS1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo2cHggMDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2luc3RyZWFtLWluZm8tY29udGFpbmVye2JvdHRvbTo2cHg7Y3Vyc29yOmRlZmF1bHQ7bGVmdDoxOHB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSk7ei1pbmRleDo4NTA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWJhZGdlOmFmdGVye3BhZGRpbmctcmlnaHQ6dW5zZXR9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYmFkZ2V7bWFyZ2luLWxlZnQ6NXB4fS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWRldGFpbHMtbGluZXtwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYnV0dG9uLXZtOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX3RpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NjV9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6NjRweDtoZWlnaHQ6NjRweH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1hZC1kZXRhaWxzLWxpbmVfX3RleHQtLXN0eWxlLXJlc3BvbnNpdmV7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jazt0b3A6NTAlO3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi1sZWZ0OjA7bGVmdDowO3RleHQtYWxpZ246bGVmdDt3aWR0aDoyNDVweDtwYWRkaW5nOjAgMCAwIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19hZC1hdmF0YXItY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOjAgYXV0byAwIC02cHg7cGFkZGluZzo2cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6LXdlYmtpdC1tYXgtY29udGVudDt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50fS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG8gMCAwfS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmV7cGFkZGluZzoxMHB4IDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjF9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19kZXRhaWxzLWxpbmUtY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNraXAtYWR7ei1pbmRleDo4NTB9Lnl0cC1za2lwLWFkLWJ1dHRvbntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztib3JkZXI6bm9uZTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2NvbG9yOiNmZmY7ZGlyZWN0aW9uOmx0cjttaW4td2lkdGg6MDtwYWRkaW5nOjAgNnB4IDAgMTZweDt3aWR0aDphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXNraXAtYWQtYnV0dG9uW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgyNTUsMjU1LDI1NSwuMikpLHRvKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSksLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoMTUsMTUsMTUpKSx0byhyZ2IoMTUsMTUsMTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiKDE1LDE1LDE1KSxyZ2IoMTUsMTUsMTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1c3tiYWNrZ3JvdW5kOnJnYigxNSwxNSwxNSk7b3V0bGluZTpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLXNraXAtYWQtYnV0dG9uOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIC55dHAtc2tpcC1hZC1idXR0b25fX2ljb24gc3ZnIHBhdGh7ZmlsbDojMGYwZjBmfS55dHAtc2tpcC1hZC1idXR0b25fX3RleHR7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0Om5vcm1hbDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1za2lwLWFkLWJ1dHRvbl9faWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2tpcC1hZC1idXR0b246YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1za2lwLWFkLWJ1dHRvbntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1za2lwLWFkLWJ1dHRvbiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KXZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1za2lwLWFkLWJ1dHRvbntyaWdodDoxMnB4O2JvdHRvbTo3NXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9c3ZnLnl0cC10aW1lZC1waWUtY291bnRkb3due2JhY2tncm91bmQ6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6MjBweDtvcGFjaXR5Oi40Oy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3dpZHRoOjIwcHh9Y2lyY2xlLnl0cC10aW1lZC1waWUtY291bnRkb3duX19iYWNrZ3JvdW5ke3N0cm9rZTpub25lO2ZpbGw6bm9uZX1jaXJjbGUueXRwLXRpbWVkLXBpZS1jb3VudGRvd25fX2lubmVye2ZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTBweDtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtdGltZWQtcGllLWNvdW50ZG93bl9fb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZTpyZ2JhKDI1NSwyNTUsMjU1LC43NSl9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmt7Y29sb3I6I2ZmZjtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4tbGVmdDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWFsaWduOmJhc2VsaW5lOy13ZWJraXQtYWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24taXRlbXM6YmFzZWxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbms6YmVmb3Jle2NvbnRlbnQ6IiI7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LThweH0ueXRwLXZpc2l0LWFkdmVydGlzZXItbGluazpob3ZlciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eToxO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OjAgMCAxNnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtaXYtdmlkZW8tY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWl2LXZpZGVvLWNvbnRlbnQgLnZpZGVvLWFubm90YXRpb25ze2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDt3aWR0aDoxMDAlfS5hbm5vdGF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiMwMDA7cGFkZGluZzo1cHg7dGV4dC1hbGlnbjpsZWZ0O3dvcmQtd3JhcDpicmVhay13b3JkO3otaW5kZXg6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnZpZGVvLWxlZ2FjeS1hbm5vdGF0aW9ucyAuYW5ub3RhdGlvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MTZweDtsZWZ0OjA7b3BhY2l0eTouODU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTZweH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b246aG92ZXJ7b3BhY2l0eToxfS5hbm5vdGF0aW9uLWxpbmstaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtc2l6ZTpjb250YWluO3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uLXR5cGUtY3VzdG9te3BhZGRpbmc6MDtjdXJzb3I6ZGVmYXVsdH0uYW5ub3RhdGlvbi10eXBlLWN1c3RvbT5kaXZ7ZmxvYXQ6bGVmdDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5pdi1jbGljay10YXJnZXR7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLml2LWJyYW5kaW5nLC55dHAtYWQtb3ZlcmxheS1vcGVuIC5pdi1wcm9tb3tkaXNwbGF5Om5vbmV9Lml2LWJyYW5kaW5ne2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDozMDtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4zM3M7dHJhbnNpdGlvbi1kZWxheTouMzNzfS55dHAtaXYtZHJhd2VyLW9wZW4gLml2LWJyYW5kaW5ne29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1vdXRlcntib3R0b206MDtmbG9hdDpsZWZ0O3BhZGRpbmctcmlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtYnJhbmRpbmcgLmJyYW5kaW5nLWNvbnRleHQtY29udGFpbmVyLWlubmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym90dG9tOjA7Y29sb3I6I2VlZTttYXgtd2lkdGg6MjQ2cHg7b3BhY2l0eTowO3JpZ2h0OjA7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci1yYWRpdXM6OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtYnJhbmRpbmctYWN0aXZlIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1pbm5lcntvcGFjaXR5OjE7Ym9yZGVyLXJhZGl1czo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVyIGltZ3tkaXNwbGF5OmJsb2NrO29wYWNpdHk6Ljc7cG9zaXRpb246cmVsYXRpdmV9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVye2Zsb2F0OnJpZ2h0fS5pdi1icmFuZGluZyBpbWcuaXYtY2xpY2stdGFyZ2V0OmhvdmVye29wYWNpdHk6MX0uaXYtYnJhbmRpbmcgLml2LWJyYW5kaW5nLWNvbnRleHQtbmFtZXttYXgtd2lkdGg6MjE1cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDEwcHggNXB4fS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmV7cGFkZGluZzowIDEwcHggMTBweDtmb250LXNpemU6MTFweDtjb2xvcjojYWFhfS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmUtY2FyZXR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHQgLml2LWJyYW5kaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lml2LXByb21vLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucywuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmRpdiwuaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHh9Lml2LXByb21ve2JvdHRvbTo2MXB4O2xlZnQ6MDt6LWluZGV4OjMxO21heC13aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2NjYztmb250LXNpemU6MTFweDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLml2LXByb21ve2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLml2LXByb21ve2JvdHRvbTo3MHB4fS5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjg2cHh9Lnl0cC1lbWJlZC5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjc4cHh9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYmlnLW1vZGUuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjk1cHh9Lml2LXByb21vOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cz5hLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+ZGl2LC5pdi1wcm9tbz5kaXZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmF7Y29sb3I6I2NjY30uaXYtcHJvbW8uaXYtcHJvbW8taW5hY3RpdmV7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1ne2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7ei1pbmRleDoxO3dpZHRoOjQwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHAsLml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZywuaXYtcHJvbW8gLml2LXByb21vLWltZyAuaXYtcHJvbW8tcGxheWxpc3QtbGVuZ3RoLC5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby1iYWRnZS1saXZle21hcmdpbjo0cHggOHB4IDA7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JhY2tncm91bmQtY29sb3I6I2U2MjExNztjb2xvcjojZmZmfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGgsLml2LXByb21vIC5pdi1wcm9tby1pbWcgLml2LXByb21vLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGh7dG9wOjA7cmlnaHQ6MDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMjUpO3dpZHRoOjMwcHg7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDo0MHB4fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntib3R0b206MnB4O3JpZ2h0OjJweDtwYWRkaW5nOjNweCAycHg7bWF4LXdpZHRoOjMycHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLXJpZ2h0OjMxcHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6MzExcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1heC13aWR0aCAuMnMgZWFzZS1vdXQscGFkZGluZy1yaWdodCAuMnMgZWFzZS1vdXQ7dHJhbnNpdGlvbjptYXgtd2lkdGggLjJzIGVhc2Utb3V0LHBhZGRpbmctcmlnaHQgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLWxlZnQ6NDBweDttYXgtd2lkdGg6MzUxcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tYnV0dG9uLWNvbnRhaW5lciwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7ZGlyZWN0aW9uOmx0cjttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgcHttYXJnaW46M3B4IDhweCAtNHB4O2xpbmUtaGVpZ2h0OjE4cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZ3tjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMnB4fS5pdi1wcm9tby10eHQgcCBzcGFuLC5pdi1wcm9tby10eHQgcCBzdHJvbmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjI2NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1wcm9tby13aXRoLWJ1dHRvbiAuaXYtcHJvbW8tdHh0IHAgc3BhbiwuaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLXR4dCBwIHN0cm9uZ3ttYXgtd2lkdGg6MTg0cHh9Lml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHNwYW4sLml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHN0cm9uZ3ttYXJnaW4tYm90dG9tOi02cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MjBweDttYXgtd2lkdGg6MjQ0cHg7Y29sb3I6I2ZmZDEwMH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtyaWdodDowO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQ6aG92ZXIgLml2LXByb21vLWxpbms6YWZ0ZXJ7b3BhY2l0eToxfS5pdi1wcm9tby1idXR0b24tY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjMxcHh9Lml2LWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjhweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmc6MCAxMHB4O291dGxpbmU6MDtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxMXB4O3RleHQtZGVjb3JhdGlvbjpub25lO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y3Vyc29yOnBvaW50ZXI7Km92ZXJmbG93OnZpc2libGU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4wNSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5pdi1idXR0b246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWJ1dHRvbjpmb2N1cywuaXYtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KTtib3gtc2hhZG93OjAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjQpfS5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzLC5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0uaXYtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0uaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7b3BhY2l0eTouNTtjdXJzb3I6YXV0bzstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lml2LWJ1dHRvbiwuaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOiMxNjdhYzY7YmFja2dyb3VuZDojMTY3YWM2O2NvbG9yOiNmZmZ9Lml2LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOiMxMjZkYjN9Lml2LWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0uaXYtYnV0dG9uIC5pdi1idXR0b24tY29udGVudHtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc31hLml2LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTAwJX0uaXYtcHJvbW8tYnV0dG9ue3dpZHRoOjY0cHg7bWFyZ2luOjZweCA4cHh9Lml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2UsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmR7dG9wOjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnN7d2lkdGg6MzFweH0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tZXhwYW5ke2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLW91dDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXIsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmQ6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2V7b3BhY2l0eToxfS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXJ7bWFyZ2luOjE2cHggMTBweCAxNXB4IDEycHg7b3BhY2l0eTouNX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZDphZnRlcnttYXJnaW46MTZweCAxMnB4IDE1cHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcsLml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcgaW1ne3dpZHRoOjcxcHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctbGVmdDo3MXB4O21heC13aWR0aDozODJweH0uaXYtcHJvbW8uaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZy1yaWdodDo4MHB4fS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZCwuaXYtcHJvbW8uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1jb250ZW50c3std2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjVzO3RyYW5zaXRpb24tZGVsYXk6LjVzfS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MjhweDttYXgtd2lkdGg6MCFpbXBvcnRhbnR9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aXtsZWZ0OjE2cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHtwYWRkaW5nLWxlZnQ6NjBweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2xpbmUtaGVpZ2h0OjY0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSwueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cz5hLC55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NjRweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b257bWluLXdpZHRoOjExMHB4O2hlaWdodDozNnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZ3t0b3A6NnB4O2xlZnQ6NnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1pbWcgaW1ne2hlaWdodDo1MnB4O3dpZHRoOjUycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7Zm9udC1zaXplOjE2cHg7cGFkZGluZy10b3A6NHB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbntmb250LXNpemU6MTVweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjEycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttaW4td2lkdGg6MjIwcHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjM4cHg7bGVmdDo0MnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbnttYXJnaW46MCAxMnB4IDAgMH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbnt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtsZWZ0OjEycHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3ttYXgtd2lkdGg6NDAwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjVzLG1heC13aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRzey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNXM7dHJhbnNpdGlvbi1kZWxheTouNXN9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXIgLml2LXByb21vLWNvbnRlbnRze2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttYXgtd2lkdGg6MjUwcHg7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWxlZnQ6NTJweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBwe2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bWF4LXdpZHRoOjE1MHB4O2xpbmUtaGVpZ2h0OjU2cHg7cG9zaXRpb246c3RhdGljfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b257bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjowIDhweCAwIDB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWFjdGlvbnMsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7ZGlzcGxheTpub25lfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduLC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cywuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+ZGl2e2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjU2cHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZ3toZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3RvcDo0cHg7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLXJvdW5kLWV4cGFuZC1pY29ue29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nLWxlZnQ6MDt6LWluZGV4Ojg1MDtoZWlnaHQ6MThweDt3aWR0aDoxOHB4O2JvcmRlci1yYWRpdXM6NTAlO3RvcDozNHB4O2xlZnQ6MzhweDtiYWNrZ3JvdW5kLWNvbG9yOiM0Njg4ZjE7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAycHggMCByZ2JhKDAsMCwwLC4xMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMjQpO2JveC1zaGFkb3c6MCAwIDJweCAwIHJnYmEoMCwwLDAsLjEyKSwwIDJweCAycHggMCByZ2JhKDAsMCwwLC4yNCk7b3BhY2l0eTowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbjphZnRlcntkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiJ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgc3Ryb25ne2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjJweDtjb2xvcjojMzMzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3BhZGRpbmc6OHB4IDIwcHggMCAwO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiM3Njc2NzZ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWNvbnRlbnRze3dpZHRoOjB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWltZ3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1pbmFjdGl2ZSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzLC55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZywueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZzo0cHggNHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7cGFkZGluZy10b3A6MDtmb250LXNpemU6MTJweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbmt7cGFkZGluZy10b3A6NHB4O2ZvbnQtc2l6ZToxMXB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjI2cHg7bGVmdDozMHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1ne3RvcDowO2xlZnQ6MH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWd7b3BhY2l0eTouODstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzfS5pdi1kcmF3ZXIsLml2LWRyYXdlci1jb250ZW50LC5pdi1kcmF3ZXItaGVhZGVye3Bvc2l0aW9uOmFic29sdXRlfS5pdi1kcmF3ZXJ7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDt6LWluZGV4OjMzO3dpZHRoOjE3N3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMik7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtZHJhd2VyLXNtYWxsLml2LWRyYXdlcnt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZy5pdi1kcmF3ZXJ7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MjRweDt3aWR0aDoyOTVweH1bZGlyPWx0cl0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTc3cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KX1bZGlyPXJ0bF0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE3N3B4KX0ueXRwLWF1dG9oaWRlLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye2Rpc3BsYXk6bm9uZX0uaXYtZHJhd2VyLWNvbnRlbnQgKnt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1pdi1kcmF3ZXItb3BlbiAuaXYtZHJhd2Vyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0uaXYtZHJhd2VyLWhlYWRlcnt0b3A6MDtwYWRkaW5nOjE2cHggMzJweCAwIDE2cHg7d2lkdGg6MTc3cHg7aGVpZ2h0OjQxcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjlweCAyNHB4IDAgMTJweDtoZWlnaHQ6MjhweDt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjIwcHggNDhweCAwIDMycHg7aGVpZ2h0OjY0cHg7d2lkdGg6Mjk1cHh9Lml2LWRyYXdlci1oZWFkZXItdGV4dHtmb250LXdlaWdodDo1MDA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaHRtbDUtdmlkZW8tcGxheWVyIC5pdi1kcmF3ZXItaGVhZGVyey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtZHJhd2VyLWNvbnRlbnR7dG9wOjQxcHg7Ym90dG9tOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZzowIDE2cHg7d2lkdGg6MTQ1cHg7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2RpcmVjdGlvbjpsdHI7dGV4dC1hbGlnbjpsZWZ0fS5pdi1kcmF3ZXItc21hbGwgLml2LWRyYXdlci1jb250ZW50e3BhZGRpbmc6MCAxMnB4O3RvcDoyOHB4O3dpZHRoOjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1kcmF3ZXItY29udGVudHtwYWRkaW5nOjAgMzJweDt0b3A6NjRweDt3aWR0aDoyMzFweH0uaXYtZHJhd2VyLXNjcm9sbGVkIC5pdi1kcmF3ZXItY29udGVudHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNCl9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3dpZHRoOjE2cHh9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAyLDEwMiwxMDIsLjUpfS5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWF1dG9oaWRlIC5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtZHJhd2VyLWNvbnRlbnQ6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzY2NiFpbXBvcnRhbnR9Lml2LWRyYXdlci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtwYWRkaW5nOjE2cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXJ9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjhweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjI0cHh9Lml2LWRyYXdlci1jbG9zZS1idXR0b246YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1kcmF3ZXItY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0uaXYtY2FyZCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpmb2N1cywuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpob3ZlcntkaXNwbGF5OmJsb2NrO2NvbG9yOiM3Njc2NzY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWNhcmR7bWFyZ2luLWJvdHRvbToxNnB4O3dpZHRoOjE0NXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7d29yZC13cmFwOmJyZWFrLXdvcmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czo4cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZHt3aWR0aDoxMDlweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZHt3aWR0aDoyMzFweH0uaXYtY2FyZDpob3ZlciAuaXYtY2FyZC1wcmltYXJ5LWxpbmt7Y29sb3I6IzE2N2FjNiFpbXBvcnRhbnR9Lml2LWNhcmQgaDIsLml2LWNhcmQtYWN0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53ZWJraXQgLml2LWNhcmQgaDI6YWZ0ZXIsLndlYmtpdCAuaXYtY2FyZC1hY3Rpb246YWZ0ZXJ7Y29udGVudDoi4oCMIjtwb3NpdGlvbjpzdGF0aWM7dmlzaWJpbGl0eTpoaWRkZW59Lml2LWNhcmQgaDJ7bWFyZ2luOjAgMCA4cHg7LXdlYmtpdC1saW5lLWNsYW1wOjY7bWF4LWhlaWdodDo5MHB4O2NvbG9yOiMzMzM7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZCBoMntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NzJweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZCBoMntmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6MTQ0cHh9Lml2LWNhcmQgLml2LWNhcmQtYWN0aW9uLC5pdi1jYXJkIC5pdi1jYXJkLW1ldGEtaW5mbywuaXYtY2FyZCBwe21hcmdpbjotNnB4IDAgMnB4fS5pdi1jYXJkLW1ldGEtaW5mb3tsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowfS5pdi1jYXJkLWltYWdle3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlMmUyZTI7d2lkdGg6MTQ1cHg7aGVpZ2h0OjE0NXB4O2JhY2tncm91bmQ6I2YxZjFmMSBuby1yZXBlYXQgNTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtjb2xvcjojZmZmfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2V7d2lkdGg6MTA5cHg7aGVpZ2h0OjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWltYWdle3dpZHRoOjIzMXB4O2hlaWdodDoyMzFweH0uaXYtY2FyZC1pbWFnZS10ZXh0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3BhZGRpbmc6MjBweCAxMHB4IDhweDt3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsLjYpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCx0cmFuc3BhcmVudCksdG8ocmdiYSgwLDAsMCwuNikpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQgMCxyZ2JhKDAsMCwwLC42KSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2UtdGV4dHtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1pbWFnZS10ZXh0e2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIwcHg7cGFkZGluZzoxMnB4IDE2cHh9Lml2LWNhcmQtaW1hZ2UtdGV4dCAueXQtYmFkZ2V7bWFyZ2luLXJpZ2h0OjVweH0uaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6OHB4IDEwcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6MTJweCAxNnB4fS5pdi1jYXJkLWNvbnRlbnQ+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uaXYtY2FyZC1jb250ZW50PjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaXYtY2FyZC1hY3Rpb24sLml2LWNhcmQtbWVzc2FnZXtmb250LXdlaWdodDo1MDB9Lml2LWNhcmQtbWVzc2FnZXttYXJnaW4tYm90dG9tOjhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTJlMmUyO3BhZGRpbmctYm90dG9tOjhweH0uaXYtY2FyZC1hY3Rpb257LXdlYmtpdC1saW5lLWNsYW1wOjQ7bWF4LWhlaWdodDo1MnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWFjdGlvbntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1hY3Rpb257Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0OjgwcHh9Lml2LWNhcmQtYWN0aW9uIHNwYW57d2hpdGUtc3BhY2U6bm9ybWFsfS5pdi1jYXJkLWFjdGlvbi1pY29ue3BhZGRpbmc6MCAwIDAgMzBweDttaW4taGVpZ2h0OjE0cHg7YmFja2dyb3VuZC1wb3NpdGlvbjowO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyNHB4IGF1dG87YmFja2dyb3VuZC1zaXplOjI0cHggYXV0b30uaXYtY2FyZC1saW5rLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2t9Lml2LWNhcmQtZXBpc29kZSBoMiwuaXYtY2FyZC1tb3ZpZSBoMiwuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtY2FyZC12aWRlbyBoMnstd2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0OjQ1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtbW92aWUgaDIsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6MzZweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLW1vdmllIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6NzJweH0uaXYtY2FyZC1jaGFubmVsIGgyey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6MzBweH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDoyNHB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDo0OHB4fS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjgycHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC12aWRlbyAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6NjFweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIC5pdi1jYXJkLWltYWdle2hlaWdodDoxMjlweH0uaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MjA5cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MTU3cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjMzNXB4fS5pdi1jYXJkLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo1cHg7cmlnaHQ6NXB4O3BhZGRpbmc6MnB4IDRweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2Utb3ZlcmxheXtkaXNwbGF5OnRhYmxlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NjNweDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpO2NvbG9yOiNjZmNmY2Y7Zm9udC1zaXplOjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xpbmUtaGVpZ2h0OjIxcHh9Lml2LWNhcmQtcGxheWxpc3QtdmlkZW8tY291bnR7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaXYtY2FyZC1wbGF5bGlzdC12aWRlby1jb3VudDphZnRlcntkaXNwbGF5OmJsb2NrO21hcmdpbjphdXRvO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtY2FyZC1wb2xse3Bvc2l0aW9uOnJlbGF0aXZlfS5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjEyNXB4O2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wb2xsIHVse21heC13aWR0aDo4OXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjIxMXB4fS5pdi1jYXJkLXBvbGwgZmllbGRzZXR7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowfS5pdi1jYXJkLXBvbGwgbGFiZWx7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtwYWRkaW5nLWJvdHRvbTo1cHg7bWluLWhlaWdodDoxNHB4O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAwIHRvcCA1cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNDFOQ0lnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OEwzTjJaejQ9KTtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAuaXYtY2FyZC1wb2xsIGxhYmVsLml2LWNhcmQtcG9sbC1jaG9pY2UtZm9jdXNlZHstd2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuNCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KX0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC12b3RlZCBsYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lml2LWNhcmQtcG9sbC5pdi1jYXJkLXBvbGwtdm90ZWQgbGFiZWwuaXYtY2FyZC1wb2xsLWNob2ljZS1jaGVja2Vke2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpFMk4yRmpOaUlnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OFkybHlZMnhsSUdONFBTSTRMalVpSUdONVBTSTRMalVpSUhJOUlqUXVNak1pSUdacGJHdzlJaU14TmpkaFl6WWlMejQ4TDNOMlp6ND0pO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0uaXYtY2FyZC1wb2xsIGlucHV0W3R5cGU9Y2hlY2tib3hde29wYWNpdHk6MDt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O21hcmdpbjo1cHggMCAwO2Zsb2F0OmxlZnR9Lml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6MjVweDtwYWRkaW5nLXRvcDo4cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e3BhZGRpbmctdG9wOjJweH0uaXYtY2FyZC1wb2xsIGxpK2xpe21hcmdpbi10b3A6OHB4fS5pdi1jYXJkLXBvbGwgLml2LWNhcmQtcG9sbC1yZXN1bHR7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6I2RmZGZkZjt2aXNpYmlsaXR5OmhpZGRlbn0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtcmVzdWx0IC5pdi1jYXJkLXBvbGwtcmVzdWx0LWJhcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzE2N2FjNjstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LW1zLXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS5pdi1jYXJkLXBvbGwuaXYtY2FyZC1wb2xsLWV4cGFuZGVkIC5pdi1jYXJkLXBvbGwtcmVzdWx0e3Zpc2liaWxpdHk6dmlzaWJsZX0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtY2hvaWNlLXBlcmNlbnR7ZGlzcGxheTpub25lO2Zsb2F0OnJpZ2h0O21hcmdpbi1sZWZ0OjVweH0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC1leHBhbmRlZCAuaXYtY2FyZC1wb2xsLWNob2ljZS1wZXJjZW50e2Rpc3BsYXk6YmxvY2t9Lml2LWNhcmQtc2lnbi1pbnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cGFkZGluZzo4cHggMTBweH0uaXYtY2FyZC1zaWduLWluIHB7bWFyZ2luOjAgMCA4cHh9Lml2LWNhcmQtc2lnbi1pbiBhe2NvbG9yOiNmZmZ9Lml2LWNhcmQtdW5hdmFpbGFibGU6aG92ZXIgLml2LWNhcmQtY29udGVudCwuaXYtY2FyZC11bmF2YWlsYWJsZTpob3ZlciAuaXYtY2xpY2stdGFyZ2V0e3Zpc2liaWxpdHk6aGlkZGVufS5pdi1jYXJkLXVuYXZhaWxhYmxlOmhvdmVyIC5pdi1jYXJkLXNpZ24taW57dmlzaWJpbGl0eTp2aXNpYmxlfS5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyLC5pdi1jYXJkLXNwb25zb3JlZHtwb3NpdGlvbjpyZWxhdGl2ZX0uaXYtY2FyZC1zcG9uc29yZWR7bWFyZ2luOjAgMCA4cHg7Y29sb3I6Izk5OX0uaXYtYWQtaW5mby1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NnB4fS5pdi1hZC1pbmZvLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweH0uaXYtYWQtaW5mb3tib3R0b206MjFweDtsZWZ0OjA7cmlnaHQ6MDtib3JkZXI6MXB4IHNvbGlkICMwMDA7cGFkZGluZzo3cHg7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEycHh9Lml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGEsLml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNn0uaXYtYWQtaW5mby1jb250YWluZXIgLml2LWFkLWluZm8gYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7bGVmdDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO3dpZHRoOjA7aGVpZ2h0OjB9Lml2LWFkLWluZm8tY2FsbG91dHtib3R0b206MTZweDtib3JkZXItdG9wLWNvbG9yOiMwMDB9Lml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7Y29udGVudDoiIjtib3R0b206MTdweDtib3JkZXItdG9wLWNvbG9yOiNmZmZ9Lml2LWFkLWluZm8sLml2LWFkLWluZm8tY2FsbG91dCwuaXYtYWQtaW5mby1pY29uLWNvbnRhaW5lcjphZnRlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyAuMXM7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIC4xc30uaXYtYWQtaW5mby1jb250YWluZXI6aG92ZXIgLml2LWFkLWluZm8sLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30uaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7LXdlYmtpdC1saW5lLWNsYW1wOjM7bWF4LWhlaWdodDo0NXB4O2NvbG9yOiM2NjZ9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7bWF4LWhlaWdodDozNnB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXByb2R1Y3QtbGlzdGluZyBoMnttYXgtaGVpZ2h0OjcycHh9Lml2LWNhcmQtb2ZmZXItcHJpY2V7bWFyZ2luLWJvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHg7Y29sb3I6IzMzM30uaXYtY2FyZC1vZmZlci1tZXJjaGFudHtjb2xvcjojMDk3YTQxfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNjBweDtoZWlnaHQ6Y2FsYygxMDAlIC0gMzlweCk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjAgYXV0bzt6LWluZGV4OjM3fS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e3dpZHRoOjEwMCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXstLXcydy1zdGFydC1iYWNrZ3JvdW5kLWNvbG9yOiMwMDA7LS13MnctZW5kLWJhY2tncm91bmQtY29sb3I6IzAwMDtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6MTBweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjI0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNvdW50ZG93bi1udW1iZXJ7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXItb25seSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LW5vLWFsdGVybmF0aXZlLWhlYWRlciAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoyNHB4O21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgIzRjNGM0Yzstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjM2MHB4O2hlaWdodDoyMDJweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsOmhvdmVyLC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGw6aG92ZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtib3R0b206NHB4O3JpZ2h0OjRweDtwYWRkaW5nOjAgNHB4O2JvcmRlci1yYWRpdXM6MnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtjb2xvcjojZmZmO3Bvc2l0aW9uOmFic29sdXRlO2xldHRlci1zcGFjaW5nOi41cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtbGlzdC1vdmVybGF5e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbG9hdDpyaWdodDt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtbWl4LXRleHR7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDtmb250LXdlaWdodDo1MDA7bWFyZ2luLXRvcDozMCV9Lnl0cC1hdXRvbmF2LW1peC1pY29ue3dpZHRoOjQyJTtoZWlnaHQ6MzAlO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCMmFXVjNRbTk0UFNJd0lEQWdNellnTXpZaVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkzbDBjQzF6ZG1jdGJXbDRJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxdmNHRmphWFI1UFNJdU1UVWlJSE4wY205clpTMTNhV1IwYUQwaU1pSXZQanh3WVhSb0lHbGtQU0o1ZEhBdGMzWm5MVzFwZUNJZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRJMUxqWTFJREU0WXkwdU1ESWdNaTR6TVMwdU9EY2dOQzQwTVMweUxqSTFJRFl1TURac0xqa3VPVFJqTVM0Mk9TMHhMamdnTWk0M0xUUXVNamNnTWk0M0xUZHpMVEV1TURFdE5TNHlNUzB5TGpjdE4yd3RMamt1T1ROQk9TNDFOQ0E1TGpVMElEQWdNQ0F4SURJMUxqWTFJREU0YlMweE5TNHpJREJqTGpBeExUSXVNekl1T0RZdE5DNDBNaUF5TGpJMUxUWXVNRGRzTFM0NUxTNDVNME14TUNBeE1pNDNPU0E1SURFMUxqSTNJRGtnTVRoek1TQTFMaklnTWk0M0lEZHNMamt0TGprMFl5MHhMak01TFRFdU5qVXRNaTR5TkMwekxqYzFMVEl1TWpVdE5pNHdObTB5TGpjZ01HTXRMakEwTFRFdU56TXVORGt0TXk0d09TQXhMak0xTFRRdU1td3RMamt0TGprMFl5MHhMakV6SURFdU1qWXRNUzQ0SURJdU9Ua3RNUzQ0SURVdU1UUWdNQ0F4TGpZM0xqWTNJRE11TkNBeExqZ2dOQzQyTm13dU9TMHVPVE5qTFM0NE5pMHhMakV5TFRFdU16a3RNaTQwTnkweExqTTFMVE11TnpOdE9TMDFMakUwTFM0NUxqazBZeTQ0TlNBeExqRXhJREV1TXpnZ01pNDBOeUF4TGpNMUlEUXVNaTR3TXlBeExqSTJMUzQxSURJdU5qRXRNUzR6TlNBekxqY3piQzQ1TGprell6RXVNVEl0TVM0eU5pQXhMamd0TWk0NU9TQXhMamd0TkM0Mk5pQXdMVEl1TVRVdExqWTRMVE11T0RndE1TNDRMVFV1TVRSdExUVXVOVFVnTWk0NElETXVOaUF4TGpnM0xUTXVOaUF5TGpNemVpSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjttYXJnaW46MCBhdXRvfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mb3ttYXJnaW4tdG9wOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206NnB4O21hcmdpbi1sZWZ0Oi0ycHg7d2lkdGg6NzRweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTNNQ0lnYUdWcFoyaDBQU0l4TmlJZ1ptbHNiRDBpYm05dVpTSStQSEpsWTNRZ2QybGtkR2c5SWpjd0lpQm9aV2xuYUhROUlqRTJJaUJtYVd4c1BTSWpabVptSWlCdmNHRmphWFI1UFNJdU1TSWdjbmc5SWpJaUx6NDhjR0YwYUNCbWFXeHNQU0lqWVdGaElpQmtQU0pOTWpBdU16VWdPQzQ0TTFZeE1tZ3RNUzQwT0ZZekxqUTNhRE11TWpaakxqazFJREFnTVM0M01TNHlOU0F5TGpJM0xqYzBMalUyTGpVdU9EUWdNUzR4Tmk0NE5DQXhMamszSURBZ0xqZzBMUzR5TnlBeExqUTVMUzQ0TWlBeExqazFMUzQxTlM0ME55MHhMak15TGpjdE1pNHpMamQ2YlRBdE1TNHhPV2d4TGpjNFl5NDFNeUF3SUM0NU15MHVNVElnTVM0eUxTNHpOeTR5T1MwdU1qVXVOREl0TGpZdU5ESXRNUzR3T0NBd0xTNDBOaTB1TVRRdExqZ3lMUzQwTWkweExqRmhNUzQyTWlBeExqWXlJREFnTUNBd0xURXVNVFl0TGpRemFDMHhMamd5ZW0wNUxqTTNMUzQyT0dFekxqVWdNeTQxSURBZ01DQXdMUzQxT0MwdU1EVmpMUzQyTlNBd0xURXVNRGt1TWpVdE1TNHpNUzQzTlZZeE1rZ3lOaTQwVmpVdU5qWm9NUzR6Tm13dU1EUXVOMkV4TGpZZ01TNDJJREFnTUNBeElERXVORE10TGpneVl5NHlJREFnTGpNM0xqQXpMalV1TURoMk1TNHpOSHB0TXk0MU9DQTFMakUyWXkwdU9TQXdMVEV1TmpRdExqSTVMVEl1TWkwdU9EVmhNeTR4SURNdU1TQXdJREFnTVMwdU9EUXRNaTR5T0hZdExqRTNZekF0TGpZekxqRXlMVEV1TWk0ek55MHhMamRoTWk0M01pQXlMamN5SURBZ01DQXhJREl1TlMweExqVTRZeTQ0TnlBd0lERXVOVE11TWpnZ01pQXVPRE11TkRndU5UVXVOekVnTVM0ek15NDNNU0F5TGpNMGRpNDFOMGd6TVM0M1l5NHdOQzQxTWk0eU1pNDVOQzQxTWlBeExqSTBjeTQzTGpRMklERXVNVFl1TkRaakxqWTFJREFnTVM0eE9DMHVNallnTVM0MkxTNDNPV3d1TnpZdU56TmpMUzR5TlM0ek9DMHVOaTQyT0MweExqQXlMamc1TFM0ME1pNHlMUzQ1TGpNdE1TNDBNaTR6ZW0wdExqRTNMVFV1TkROakxTNDBJREF0TGpjdU1UTXRMamsxTGpRdExqSTBMakk0TFM0MExqWTJMUzQwTmlBeExqRTFhREl1TnpKMkxTNHhZVEV1TnpJZ01TNDNNaUF3SURBZ01DMHVNemt0TVM0d09TQXhMaklnTVM0eUlEQWdNQ0F3TFM0NU1pMHVNelp0TlM0eE5pMHhMakF6TGpBMExqWTJZVEl1TWpnZ01pNHlPQ0F3SURBZ01TQXhMamd6TFM0M09HTXVPRFVnTUNBeExqUXpMak16SURFdU56UXVPVGd1TkRZdExqWTFJREV1TVRFdExqazRJREV1T1RVdExqazRMamNnTUNBeExqSXhMaklnTVM0MU5TNDFPQzR6TlM0ek9TNDFNaTQ1Tmk0MU15QXhMamN4VmpFeWFDMHhMalF5VmpjdU9EZGpNQzB1TkMwdU1Ea3RMamN0TGpJM0xTNDRPQzB1TVRjdExqRTVMUzQwTmkwdU1qZ3RMamczTFM0eU9DMHVNeklnTUMwdU5Ua3VNRGt0TGpndU1qWXRMakl1TVRjdExqTTBMalF0TGpReUxqWTRWakV5YUMweExqUXlWamN1T0ROakxTNHdNaTB1TnpVdExqUXRNUzR4TWkweExqRTBMVEV1TVRJdExqVTNJREF0TGprNExqSXpMVEV1TWpJdU4xWXhNbWd0TVM0ME1sWTFMalkyZWswME9DNDVNU0F4TW1ndE1TNDBNMVkxTGpZMmFERXVORE42VFRRM0xqUWdOQzR3TVdNd0xTNHlNaTR3TmkwdU5DNHlMUzQxTkM0eE5DMHVNVFV1TXpRdExqSXlMall0TGpJeWN5NDBOaTR3Tnk0MkxqSXlZeTR4TkM0eE5DNHlMak15TGpJdU5UUnpMUzR3Tmk0MExTNHlMalUwTFM0ek5DNHlNUzB1Tmk0eU1TMHVORFl0TGpBM0xTNDJMUzR5WVM0M05TNDNOU0F3SURBZ01TMHVNaTB1TlRWdE5pNDVJRGN1TXpkaE1pNHlJREl1TWlBd0lEQWdNUzB4TGpjNExqYzBjUzB4TGpBeUlEQXRNUzQxTmkwdU5tTXRMak0xTFM0MExTNDFNeTB4TFM0MU15MHhMamMxVmpVdU5qWm9NUzQwTTNZMExqQTVZekFnTGpndU16TWdNUzR5SURFZ01TNHlMalk1SURBZ01TNHhOaTB1TWpRZ01TNDBMUzQzTkZZMUxqWTJhREV1TkRKV01USm9MVEV1TXpSNmJUUXVNVGN0TlM0M01pNHdOQzQyTm1FeUxqSTRJREl1TWpnZ01DQXdJREVnTVM0NE15MHVOemhqTGpnMUlEQWdNUzQwTXk0ek15QXhMamMwTGprNExqUTJMUzQyTlNBeExqRXhMUzQ1T0NBeExqazFMUzQ1T0M0M0lEQWdNUzR5TVM0eUlERXVOVFV1TlRndU16VXVNemt1TlRJdU9UWXVOVE1nTVM0M01WWXhNa2cyTkM0M1ZqY3VPRGRqTUMwdU5DMHVNRGt0TGpjdExqSTNMUzQ0T0MwdU1UY3RMakU1TFM0ME5pMHVNamd0TGpnM0xTNHlPQzB1TXpJZ01DMHVOVGt1TURrdExqZ3VNall0TGpJdU1UY3RMak0wTGpRdExqUXlMalk0VmpFeWFDMHhMalF5VmpjdU9ETmpMUzR3TWkwdU56VXRMalF0TVM0eE1pMHhMakUwTFRFdU1USXRMalUzSURBdExqazRMakl6TFRFdU1qSXVOMVl4TW1ndE1TNDBNbFkxTGpZMmFERXVNelI2SWk4K1BIQmhkR2dnWm1sc2JEMGljbVZrSWlCa1BTSk5NU0F5WVRFZ01TQXdJREFnTVNBeExURm9NVE4yTVRSSU1tRXhJREVnTUNBd0lERXRNUzB4ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAyTGpVeUlEbDJNMGcwTGpjMlZqTXVORGRJT0M0eFl5NDJOQ0F3SURFdU1pNHhNaUF4TGpZNUxqTTFjeTQ0Tmk0MU55QXhMakV5SURFZ0xqUXVPVEl1TkNBeExqUTNZekFnTGpnMExTNHpJREV1TlMwdU9EY2dNUzQ1T0hFdExqZzFOUzQzTWkweUxqTTNMamN5U0RZdU5USjZiVEF0TVM0ME0yZ3hMalUzWXk0ME5pQXdJQzQ0TWkwdU1TQXhMakEyTFM0ek15NHlOUzB1TWpJdU16Y3RMalV6TGpNM0xTNDVOSE10TGpFeUxTNDNOUzB1TXpjdE1XTXRMakkxTFM0eU55MHVOVGt0TGpRdE1TNHdNaTB1TkVnMkxqVXllaUl2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXJ9LmF1dG9uYXYtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC5hdXRvbmF2LWVuZHNjcmVlbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtc3VnZ2VzdGlvbnMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxle2NvbG9yOiNmZmY7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MThweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjRweDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfS55dHAtYXV0b25hdi1hdXRob3ItYW5kLXZpZXcsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYXV0aG9yLC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NHB4O2NvbG9yOiNhYWE7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye3dpZHRoOjEwMCU7bWFyZ2luLXRvcDoxMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7d2lkdGg6MTc2cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjB9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNhbmNlbC1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtmbG9hdDpsZWZ0fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7ZmxvYXQ6cmlnaHR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyOm5vdCgueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWlzLXByZW1pdW0pIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tcHJlbWl1bS1iYWRnZXtkaXNwbGF5Om5vbmV9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtbWluaXBsYXllci1yZXBsYXktYnV0dG9uLC5jb3VudGRvd24tcnVubmluZyAueXRwLXByZXZpZXd7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7bWFyZ2luOjQwcHggYXV0byBhdXRvIDIwcHg7d2lkdGg6MzYwcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luOjQwcHggMjBweCBhdXRvIGF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjEycHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7bWFyZ2luLXRvcDowfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJke3dpZHRoOjM2MHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtbWl4LXRleHR7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNzRweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjE4M3B4O2hlaWdodDoxMDRweDtib3JkZXItcmFkaXVzOjhweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxlLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4O2ZvbnQtd2VpZ2h0OjUwMH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mbywueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDowO3dpZHRoOjE4M3B4fS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVyLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHh9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b24sLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9ue3dpZHRoOjE4M3B4O2hlaWdodDozNHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA1OC41cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDozNnB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYWx0ZXJuYXRpdmUtaGVhZGVye2ZvbnQtc2l6ZToxOS41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MjIuNXB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6NTQwcHg7aGVpZ2h0OjMwM3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206OXB4O21hcmdpbi1sZWZ0Oi0zcHg7d2lkdGg6MTExcHg7aGVpZ2h0OjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDoxOHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGl0bGV7Zm9udC1zaXplOjI3cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWF1dGhvciwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjMxLjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b257Zm9udC1zaXplOjIxcHg7d2lkdGg6MjY0cHg7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTJweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbi5tb2Rlcm4tYnV0dG9uc3tib3JkZXItcmFkaXVzOjI3cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10aW1lc3RhbXAsLnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDo1NDBweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e21hcmdpbjphdXRvO21hcmdpbi1yaWdodDozMHB4O2hlaWdodDo0NDRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjMwcHg7d2lkdGg6NDMycHg7aGVpZ2h0OjQ0NHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtc3VnZ2VzdGlvbi1jYXJkLXdpdGgtbWFyZ2lue21hcmdpbi1sZWZ0OjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHttYXJnaW4tdG9wOjA7d2lkdGg6MjEwcHg7aGVpZ2h0OjExOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmR7bWFyZ2luLXRvcDoxMHB4O3dpZHRoOjIxMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDoyMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi10aXRsZS1jYXJke21hcmdpbi10b3A6MTBweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmR7bWFyZ2luLXRvcDo0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1tb3JlLXZpZGVvc3t2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1zdWdnZXN0aW9ucy1jb250YWluZXIgLnl0cC1zdWdnZXN0aW9uLXNldDpub3QoOmZpcnN0LWNoaWxkKXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVsLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtc3VnZ2VzdGlvbi1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5ey13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDpjYWxjKDEwMCUgLSAzOXB4KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5LC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luLXJpZ2h0OmF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXttYXJnaW4tdG9wOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtc3VnZ2VzdGlvbi1wYW5lbCwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye3dpZHRoOjM3NHB4O2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLXBsYXllci1taW5pbWl6ZWQuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcnttYXJnaW4tdG9wOjE2cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlcntkaXNwbGF5Oi13ZWJraXQtYm94fS55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7bWFyZ2luLXRvcDo1cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6OHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle2Rpc3BsYXk6LXdlYmtpdC1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye21hcmdpbjphdXRvO21hcmdpbi1yaWdodDo0NXB4O3dpZHRoOjU0MHB4O2hlaWdodDo2NjZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjQ1cHg7d2lkdGg6NjQ4cHg7aGVpZ2h0OjY2NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tY2FyZC13aXRoLW1hcmdpbnttYXJnaW4tbGVmdDoxOHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGh1bWJuYWlsLXNtYWxse3dpZHRoOjMxNXB4O2hlaWdodDoxNzdweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZHttYXJnaW4tdG9wOjE1cHg7d2lkdGg6MzE1cHh9Lnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDozMHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjE1cHg7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJke21hcmdpbi10b3A6NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmQsLnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjE5LjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LW1peC10ZXh0e2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWF1dG9uYXYtYXV0aG9yLWFuZC12aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZS55dHAtcGxheWVyLWNvbnRlbnQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206MH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LW92ZXJsYXl7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xfS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpc3Q9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtbGl2ZT10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmRbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojYzAwfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCl9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZDpub3QoW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0pIC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyW2RhdGEtaXMtbGlzdD10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcltkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtYXV0b25hdi1saXZlLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2MwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLXVwY29taW5nPXRydWVdKSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLW1peD10cnVlXSkgLnl0cC1hdXRvbmF2LWxpc3Qtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlLmVuZGVkLW1vZGV7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dHAtYWQtb3ZlcmxheS1vcGVuLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7b3BhY2l0eTouM30ueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSAxNDNweCl9Lnl0cC1iaWctbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcntoZWlnaHQ6Y2FsYygxMDAlIC0gMTYwcHgpfS55dHAtYXV0b25hdi1vdmVybGF5LWNhbmNlbGxlZC1zdGF0ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXItY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRFNUlEWXVOREVnTVRjdU5Ua2dOU0F4TWlBeE1DNDFPU0EyTGpReElEVWdOU0EyTGpReElERXdMalU1SURFeUlEVWdNVGN1TlRrZ05pNDBNU0F4T1NBeE1pQXhNeTQwTVNBeE55NDFPU0F4T1NBeE9TQXhOeTQxT1NBeE15NDBNU0F4TW5vaUx6NDhMM04yWno0PSk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JhY2tncm91bmQtc2l6ZToyNHB4O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtcGxheWVyLWNvbnRlbnR7cG9zaXRpb246dW5zZXR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXJ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdG9wYmFyLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmJsb2NrfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXJ7bWFyZ2luLXRvcDowOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi12aWRlby1pbmZve21hcmdpbi10b3A6MTJweDt3aWR0aDoxMDAlfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsey13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXAsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we2JvdHRvbTo4cHg7cmlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6MTBweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzp1bnNldDtwYWRkaW5nOjAgOHB4fS55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxNC40cHg7d2lkdGg6MzZweDtib3JkZXItcmFkaXVzOjE0LjRweDt0b3A6NTAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWlCdmNHRmphWFI1UFNJdU5TSXZQanh3WVhSb0lHWnBiR3c5SWlNd01EQWlJR1pwYkd3dGIzQmhZMmwwZVQwaUxqTWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUY3VNeUF4UXpRdU16VWdNU0F5SURNdU1qRWdNaUEyY3pJdU16VWdOU0ExTGpNZ05XZ3hOUzQwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5T0NBMmJDMHVNRE10TGpVMFFUVXVNVFlnTlM0eE5pQXdJREFnTUNBeU1pNDNJREY2YlRFMUxqUWdNVEZqTXk0ME5TQXdJRFl1TXkweUxqWWdOaTR6TFRaekxUSXVPRFV0TmkwMkxqTXROa2czTGpORE15NDROU0F3SURFZ01pNDJJREVnTm5NeUxqZzFJRFlnTmk0eklEWjZJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUc5d1lXTnBkSGs5SWk0MUlpOCtQQzl6ZG1jKyk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1pbWFnZTp1bnNldDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6OXB4O21hcmdpbjowIDlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD1mYWxzZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSl9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257bWFyZ2luOjAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gMzBweCkvMil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEzLjVweDt3aWR0aDoyMi41cHg7Ym9yZGVyLXJhZGl1czo2Ljc1cHg7bWFyZ2luOjAgNXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbiwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxMC44cHg7d2lkdGg6MjdweDtib3JkZXItcmFkaXVzOjEwLjhweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjQ1cHg7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtZW1iZWQgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEycHg7d2lkdGg6MzBweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlbTB0TWk0M0xTNDNOWFl0T0M0MWJEWXVOeUEwTGpJMmVpSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJ2Y0dGamFYUjVQU0l1TlNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpNaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRjdU15QXhRelF1TXpVZ01TQXlJRE11TWpFZ01pQTJjekl1TXpVZ05TQTFMak1nTldneE5TNDBRVFV1TVRZZ05TNHhOaUF3SURBZ01DQXlPQ0EyYkMwdU1ETXRMalUwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5TWk0M0lERjZiVEUxTGpRZ01URmpNeTQwTlNBd0lEWXVNeTB5TGpZZ05pNHpMVFp6TFRJdU9EVXROaTAyTGpNdE5rZzNMak5ETXk0NE5TQXdJREVnTWk0MklERWdObk15TGpnMUlEWWdOaTR6SURaNklpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlJRzl3WVdOcGRIazlJaTQxSWk4K1BDOXpkbWMrKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjIwLjRweDt3aWR0aDoyMC40cHg7Ym9yZGVyLXJhZGl1czoyMC40cHg7bWFyZ2luLXRvcDotM3B4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6Y3hOekUzTVNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOT0M0MUlERTJZVGN1TlNBM0xqVWdNQ0F4SURBZ01DMHhOU0EzTGpVZ055NDFJREFnTUNBd0lEQWdNVFVpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpFMUlpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWsweE55QTRMalZoT0M0MUlEZ3VOU0F3SURFZ01TMHhOeUF3SURndU5TQTRMalVnTUNBd0lERWdNVGNnTUcwdE1TQXdZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREFpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAxTGpVZ01USm9NbFkxYUMweWVtMDBMVGQyTjJneVZqVjZJaTgrUEM5emRtYyspOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1pY29ucyAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntoZWlnaHQ6MTRweDt3aWR0aDoxNHB4O2JvcmRlci1yYWRpdXM6N3B4O21hcmdpbjoycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaWJtOXVaU0lnZG1sbGQwSnZlRDBpTUNBd0lETTJJRE0ySWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NVEl1TnpVZ05DNDFhQzB6WXkwdU5pQXdMVEV1TVRjdU1qTXRNUzQyTGpZMUxTNDBNaTQwTXkwdU5qVWdNUzB1TmpVZ01TNDJkakl5TGpWak1DQXVOVGt1TWpNZ01TNHhOaTQyTlNBeExqVTVMalF6TGpReUlERWdMalkySURFdU5pNDJObWd6WXk0MU9TQXdJREV1TVRZdExqSTBJREV1TlRrdExqWTJMalF5TFM0ME15NDJOaTB4SUM0Mk5pMHhMalU1VmpZdU56VmpNQzB1TmkwdU1qUXRNUzR4TnkwdU5qWXRNUzQyTFM0ME15MHVOREl0TVMwdU5qVXRNUzQxT1MwdU5qVnRNVE11TlNBd2FDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpVaUx6NDhMM04yWno0PSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKTk1USXVOelVnTkM0MWFDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpWdE1UTXVOU0F3YUMwell5MHVOaUF3TFRFdU1UY3VNak10TVM0MkxqWTFMUzQwTWk0ME15MHVOalVnTVMwdU5qVWdNUzQyZGpJeUxqVmpNQ0F1TlRrdU1qTWdNUzR4Tmk0Mk5TQXhMalU1TGpRekxqUXlJREVnTGpZMklERXVOaTQyTm1nell5NDFPU0F3SURFdU1UWXRMakkwSURFdU5Ua3RMalkyTGpReUxTNDBNeTQyTmkweElDNDJOaTB4TGpVNVZqWXVOelZqTUMwdU5pMHVNalF0TVM0eE55MHVOall0TVM0MkxTNDBNeTB1TkRJdE1TMHVOalV0TVM0MU9TMHVOalVpTHo0OEwzTjJaejQ9KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7aGVpZ2h0OjEwLjVweDt3aWR0aDoxMC41cHg7Ym9yZGVyLXJhZGl1czo1LjI1cHg7bWFyZ2luOjFweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7bGVmdDotMnB4O2hlaWdodDoxNS4zcHg7d2lkdGg6MTUuM3B4O2JvcmRlci1yYWRpdXM6MTUuM3B4O21hcmdpbi10b3A6LTIuMjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uOmFmdGVye2xlZnQ6MDtoZWlnaHQ6MjUuNXB4O3dpZHRoOjI1LjVweDtib3JkZXItcmFkaXVzOjI1LjVweDttYXJnaW4tdG9wOi0zLjc1cHh9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntsZWZ0OjA7aGVpZ2h0OjE3cHg7d2lkdGg6MTdweDtib3JkZXItcmFkaXVzOjE3cHg7bWFyZ2luLXRvcDotMi41cHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVdOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6QXdNQ0lnWm1sc2JDMXZjR0ZqYVhSNVBTSXVNVFVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEUzSURndU5XRTRMalVnT0M0MUlEQWdNU0F4TFRFM0lEQWdPQzQxSURndU5TQXdJREFnTVNBeE55QXdiUzAxSURCTU5pNDFJRFYyTjNwdExURXVPRFlnTUV3M0xqVWdOaTQ0TW5ZekxqTTJlazA0TGpVZ01UWmhOeTQxSURjdU5TQXdJREVnTUNBd0xURTFJRGN1TlNBM0xqVWdNQ0F3SURBZ01DQXhOU0lnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTVRZZ09DNDFZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREJ0TFRRZ01FdzJMalVnTVRKV05Yb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp3dmMzWm5QZz09KTtsZWZ0OjFweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTUuNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtc29saWQsIzBmMGYwZil9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEuN3B4KX0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTkuNXB4KX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWRlbGhpLW1vZGVybiAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDhweCl9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCl9Lnl0cC1iZXplbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjUycHg7aGVpZ2h0OjUycHg7ei1pbmRleDoxOTttYXJnaW4tbGVmdDotMjZweDttYXJnaW4tdG9wOi0yNnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLXJhZGl1czoyNnB4Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVse2xlZnQ6NTAlO3RvcDo1MCU7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0IDFzIGN1YmljLWJlemllciguMDUsMCwwLDEpIDEgbm9ybWFsIGZvcndhcmRzfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYmV6ZWwtaWNvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtYmV6ZWx7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1iZXplbHt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbi1sZWZ0Oi0zMnB4O21hcmdpbi10b3A6LTMycHg7Ym9yZGVyLXJhZGl1czozMnB4fS55dHAtYmV6ZWwtaWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21hcmdpbjo2cHh9Lnl0cC1wbGF5ZXItY29udGVudCAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1iZXplbC1pY29uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYmV6ZWwtaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4O21hcmdpbjoxMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46OHB4fS55dHAtYmV6ZWwtdGV4dC13cmFwcGVye3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDoxMCU7ei1pbmRleDoxOX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHQtd3JhcHBlcnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZGVsaGktbW9kZXJuLWJlemVsLXRleHQtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXQgMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9Lnl0cC1iZXplbC10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MTBweCAyMHB4O2ZvbnQtc2l6ZToxNzUlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjNweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHR7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWJlemVsLXRleHQtaGlkZSAueXRwLWJlemVsLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QGtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjB9MjUlLDc1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zMyk7dHJhbnNmb3JtOnNjYWxlKDEuMzMpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMzKTt0cmFuc2Zvcm06c2NhbGUoMS4zMyl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtdGV4dC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXR7MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjYyfS55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLWNhcmRzLWJ1dHRvbi1pY29ue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKTtib3JkZXItcmFkaXVzOjE4cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9ue21heC13aWR0aDo4MHB4O3dpZHRoOjM2cHh9Lnl0cC1zaG93LWNhcmRzLXRpdGxlIC55dHAtY2FyZHMtYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5OmJsb2NrfS55dHAtY2FyZHMtYnV0dG9uLWljb24tc2hvcHBpbmcsLnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUgLnl0cC1jYXJkcy1idXR0b24taWNvbi1zaG9wcGluZ3tkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZSAueXRwLWNhcmRzLWJ1dHRvbi1pY29uLWRlZmF1bHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS55dHAtY2FyZHMtYnV0dG9uLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtYnV0dG9uLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jYXJkcy1idXR0b24tdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLXNoYWRvd3std2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpzdHJva2Utb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3d7c3Ryb2tlLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1czt0cmFuc2l0aW9uOnN0cm9rZS1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXN9Lnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93LWZpbGx7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246ZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXM7dHJhbnNpdGlvbjpmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1c30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMjc5M2U2fS55dHAtY2FyZHMtc2hvcHBpbmctYWN0aXZlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93e3N0cm9rZTojZmZmO3N0cm9rZS1vcGFjaXR5OjF9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjguNXB4O3JpZ2h0OjA7bWF4LXdpZHRoOjkwJTtvcGFjaXR5Oi43NTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjYxOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2Vye3RvcDoxM3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLXRlYXNlcnt0b3A6MTZweH0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmc6bm90KC52aWRlb0FkVWlSZWRlc2lnbikgLnl0cC1jYXJkcy10ZWFzZXJ7dG9wOjQwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXIsLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcntvcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTouOX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcjpob3ZlcntvcGFjaXR5OjF9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtdGVhc2VyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3M7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3N9Lnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWNhcmRzLXRlYXNlcnstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3gsLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtoZWlnaHQ6MzFweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveCwueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7aGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItYm94e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czoycHg7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMCkgdHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDA7LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgMDt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDB9Lnl0cC1iaWctbW9kZSAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7cmlnaHQ6MjdweH0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpOy1tcy10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgyN3B4KTt0cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCl9W2Rpcj1ydGxdIC55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0xOHB4KX1bZGlyPXJ0bF0gLnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0yN3B4KX0ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAzNnB4IDAgMTBweDttYXgtd2lkdGg6MDtvcGFjaXR5OjA7Y29sb3I6IzAwMDtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjEwOS4wOTA5MDklO2xpbmUtaGVpZ2h0OjMxcHg7dGV4dC1zaGFkb3c6bm9uZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1czt0cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1c30ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7cGFkZGluZzowIDY2cHggMCAxMnB4O2xpbmUtaGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHttYXgtd2lkdGg6NDE1cHg7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXN9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7bWF4LXdpZHRoOjYzNXB4fS55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye2Rpc3BsYXk6bm9uZX0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3dpZHRoOjMwcHg7bGVmdDpjYWxjKDEwMCUgLSAzMHB4KTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MThweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2hhbm5lbC1hdmF0YXJ7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDttYXJnaW46NHB4O2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpwb2ludGVyO2Zsb2F0OmxlZnR9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye21hcmdpbjoxMnB4fS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHt3aWR0aDoxMDAlO2xlZnQ6MDstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnMsbGVmdCAuMzNzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4yczt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjJzLGxlZnQgLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnN9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItaW5mby1pY29ue2hlaWdodDozMHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6bGVmdH0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1jbG9zZS1idXR0b257aGVpZ2h0OjMwcHg7d2lkdGg6MjBweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MCA1cHg7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6cmlnaHR9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDojNzE3MTcxfS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MzBweDttYXgtd2lkdGg6MzUwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItYm94e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1pbmZvLWljb257aGVpZ2h0OjQ1cHg7d2lkdGg6NDVweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9ue2hlaWdodDo0NXB4O3dpZHRoOjMwcHg7bWFyZ2luOjAgNy41cHh9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2xpbmUtaGVpZ2h0OjQ1cHg7bWF4LXdpZHRoOjUyNXB4fS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3BhZGRpbmc6MH0ueXRwLWVtYmVkLnl0cC1jYXJkcy10ZWFzZXItc2hvd24ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNocm9tZS10b3AtYnV0dG9ucz46bm90KC55dHAtY2FyZHMtdGVhc2VyKXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZXttaW4taGVpZ2h0OjUycHh9Lnl0cC1iaWctbW9kZS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxle21pbi1oZWlnaHQ6NzVweH0ueXRwLXNob3J0cy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGV7bWluLWhlaWdodDo0MnB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZS10ZXh0e3BhZGRpbmctbGVmdDo1MHB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLWxlZnQ6NzVweH0ueXRwLXRpdGxlLWxpbmt7ZGlzcGxheTpibG9jazt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowO21hcmdpbjo1cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtiYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtmbG9hdDpsZWZ0O2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6NjBweDtoZWlnaHQ6NjBweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0OHB4O2hlaWdodDo0OHB4O21hcmdpbjowfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjEwJX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbnswJXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O21heC13aWR0aDoxMCV9MjUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSl9NzUle21heC13aWR0aDoxMDAlfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXR7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MHB4fX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtb3V0ezAle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTAwcHh9NzUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTBweH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4tYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDttYXgtd2lkdGg6MTUlfTI1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpfTc1JXttYXgtd2lkdGg6MTAwJX19QGtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjE1JX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLW91dC1iaWctbW9kZXswJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjUwMHB4fTc1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjcwcHh9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXQtYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo3MHB4fX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluezAle29wYWNpdHk6MH0yNSV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLW91dHswJXtvcGFjaXR5OjF9MjUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtb3V0ezAle29wYWNpdHk6MX0yNSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC10aXRsZS1jaGFubmVse2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoyNXB4O2Rpc3BsYXk6bm9uZTtoZWlnaHQ6NTBweDttYXJnaW4tbGVmdDotNXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6N3B4O2xlZnQ6MDt3aWR0aDo1MHB4fS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3dpZHRoOjcwcHg7aGVpZ2h0OjcwcHg7bWFyZ2luLXRvcDoxMHB4fS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxlLWNoYW5uZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1zaG93LWV4cGFuZGVkey13ZWJraXQtYW5pbWF0aW9uOnl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4gLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZHstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO2JvcmRlci1yYWRpdXM6MjVweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjE7d2lkdGg6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtZXhwYW5kZWR7Ym9yZGVyLXJhZGl1czozNXB4fS55dHAtdGl0bGUtZXhwYW5kZWQtb3ZlcmxheXtkaXNwbGF5OmNvbnRlbnRzO21heC13aWR0aDoxMDAlO29wYWNpdHk6MDtwYWRkaW5nLXJpZ2h0OjhweDt3aWR0aDphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e21heC13aWR0aDoxMDAlfS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MX0ueXRwLXRpdGxlLXNob3ctZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbiAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZCAueXRwLXRpdGxlLWV4cGFuZGVkLW92ZXJsYXl7LXdlYmtpdC1hbmltYXRpb246eXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW4tYmlnLW1vZGUgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjo1cHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC10aXRsZS1leHBhbmRlZC10aXRsZXtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bWFyZ2luOjB9Lnl0cC1iaWctbW9kZSAueXRwLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToyMnB4fS55dHAtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtZXhwYW5kZWQtc3VidGl0bGV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1zdWJ0aXRsZXtmb250LXNpemU6MTZweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2J7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW46NXB4O2hlaWdodDphdXRvO3dpZHRoOmF1dG87cGFkZGluZzowO3BhZGRpbmctbGVmdDoxNnB4O3RleHQtc2hhZG93Om5vbmU7bWFyZ2luLXJpZ2h0OjdweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLGEueXRwLXNiLXN1YnNjcmliZXttYXJnaW4tbGVmdDo2NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCAueXRwLXNiLXN1YnNjcmliZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6N3B4fS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1iZWFjb24sLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXN1YnRleHQsLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtYmVhY29uLXB1bHNlezAle2JhY2tncm91bmQ6YmxhY2s7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtsZWZ0OjVweDt0b3A6NXB4fTUwJXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7bGVmdDowO3RvcDowfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1iZWFjb24tcHVsc2V7MCV7YmFja2dyb3VuZDpibGFjazt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2xlZnQ6NXB4O3RvcDo1cHh9NTAle2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtsZWZ0OjA7dG9wOjB9fS55dHAtdGl0bGUtYmVhY29ue2JvcmRlci1yYWRpdXM6MjVweDtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtYmVhY29uLXB1bHNlIDJzIDU7YW5pbWF0aW9uOnl0cC10aXRsZS1iZWFjb24tcHVsc2UgMnMgNX0udW5zdGFydGVkLW1vZGUgLnl0cC10aXRsZS1iZWFjb257ZGlzcGxheTpibG9ja30ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCwueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbi55dHAtY2hhcHRlci1jb250YWluZXItZGlzYWJsZWR7b3BhY2l0eTouOX0ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXgtd2lkdGg6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbnstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbiwueXRwLWVtYmVkIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uLC55dHAtcHJvZmlsZS1wYWdlIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9ue2Rpc3BsYXk6bm9uZX0ueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCAyMHB4O2ZsZXg6MCAwIDIwcHg7d2lkdGg6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3R0b206MXB4fS55dHAtY2hhcHRlci10aXRsZS1jb250ZW50ey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIGF1dG87ZmxleDowIDEgYXV0bzt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7bGluZS1oZWlnaHQ6MjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1iaWctbW9kZSAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnt3aWR0aDoyOHB4fS55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jaGFwdGVyLXRpdGxlLXByZWZpeHtwYWRkaW5nLXJpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUtcHJlZml4LC55dHAtbGl2ZSAueXRwLWNoYXB0ZXItdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lciAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hhcHRlci1jb250YWluZXIgLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHQ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItY29udGFpbmVyIC55dHAtcHJvZmlsZS1wYWdlLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHR9Lnl0cC1leHAtYm90dG9tLWNvbnRyb2wtZmxleGJveCAueXRwLWNoYXB0ZXItY29udGFpbmVyey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIDEwMCU7ZmxleDowIDEgMTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZmxvYXQ6bGVmdH0ueXRwLWNoYXB0ZXItY29udGFpbmVye2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxMDklO3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW46MCA1cHggMCAwO3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDo0N3B4fS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDozOXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDo1M3B4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDEwMCBhdXRvO2ZsZXg6MCAxMDAgYXV0b30ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntwYWRkaW5nLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNoYXB0ZXItY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIzMDA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wb3B1cC55dHAtZGVsaGktbW9kZXJuLWNvbnRleHRtZW51e2JvcmRlci1yYWRpdXM6MTJweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtY29udGV4dG1lbnUgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLWNvbnRleHRtZW51IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtZG5pLnl0cC1jb250ZXh0bWVudXt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUueXRwLWNvbnRleHRtZW51e2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGUueXRwLWVtYmVkLW92ZXJsYXlzLWF1dG9oaWRlLnl0cC1jb250ZXh0bWVudXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUueXRwLWNvbnRleHRtZW51e2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51IGEsLnl0cC1jb250ZXh0bWVudSBhOmZvY3VzLC55dHAtY29udGV4dG1lbnUgYTpob3Zlcntjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtY29weXRleHR7bWFyZ2luOjAgMTBweDttYXgtd2lkdGg6MjAwcHg7b3V0bGluZTpub25lO3RleHQtc2hhZG93Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LW1vei11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0Oy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dH0ueXRwLWNvcHl0ZXh0OjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2NvbG9yOmJsYWNrfS55dHAtaHRtbDUtY2xpcGJvYXJke3RvcDowO2xlZnQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTstbW96LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0fS55dHAtc2hvdy1jb3B5bGluay10aXRsZS55dHAtY29weWxpbmstYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXNob3ctY29weWxpbmstdGl0bGUueXRwLWNvcHlsaW5rLWJ1dHRvbnttYXJnaW4tbGVmdDoyMHB4O21hcmdpbi1yaWdodDoyMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnttaW4td2lkdGg6NDhweDttYXgtd2lkdGg6ODBweH0ueXRwLWNvcHlsaW5rLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1jb3B5bGluay1pY29ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS55dHAtY29weWxpbmstdGl0bGV7Zm9udC13ZWlnaHQ6NTAwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstdGl0bGUsLnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLWNvcHlsaW5rLXRpdGxle2ZvbnQtc2l6ZToyMHB4fS55dHAtc2hvdy1jb3B5bGluay10aXRsZSAueXRwLWNvcHlsaW5rLXRpdGxle2Rpc3BsYXk6YmxvY2t9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstdGl0bGV7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW59Lnl0cC1jb3VudGRvd24tdGltZXJ7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzk7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuNik7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLWNvdW50ZG93bi10aW1lcntib3R0b206NTJweH0ueXRwLWNvdW50ZG93bi10aW1lci10aW1le2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiNGRkY7bGluZS1oZWlnaHQ6MzZweDt3aWR0aDozNnB4O2ZvbnQtd2VpZ2h0OjUwMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2IoMCwwLDApfS55dHAtZnJlZS1wcmV2aWV3LWNvdW50ZG93bi10aW1lcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6NXB4O2xlZnQ6MjBweDtoZWlnaHQ6MjRweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO3dpZHRoOmF1dG87ei1pbmRleDo4Mjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1mcmVlLXByZXZpZXctY291bnRkb3duLXRpbWVyLXNlcGFyYXRvcntwYWRkaW5nOjAgM3B4fS55dC11aS1lbGxpcHNpc3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC13cmFwOmJyZWFrLXdvcmR9Lnl0LXVpLWVsbGlwc2lzLW5vd3JhcC1zaW5nbGUtbGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOmJyZWFrLXdvcmQ7bWF4LWhlaWdodDoxLjNlbX0ueXQtdWktZWxsaXBzaXM6YWZ0ZXIsLnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGV9Lnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtjb250ZW50OiLigKYiO3JpZ2h0OjB9Lnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IiI7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXQtdWktZWxsaXBzaXMtMjpiZWZvcmV7dG9wOjEuM2VtfS55dC11aS1lbGxpcHNpcy0zOmJlZm9yZXt0b3A6Mi42ZW19Lnl0LXVpLWVsbGlwc2lzLTQ6YmVmb3Jle3RvcDozLjllbX0ueXQtdWktZWxsaXBzaXMtNjpiZWZvcmV7dG9wOjYuNWVtfS55dC11aS1lbGxpcHNpcy0xMDpiZWZvcmV7dG9wOjExLjdlbX0ueXQtdWktZWxsaXBzaXMtMnttYXgtaGVpZ2h0OjIuNmVtfS55dC11aS1lbGxpcHNpcy0ze21heC1oZWlnaHQ6My45ZW19Lnl0LXVpLWVsbGlwc2lzLTR7bWF4LWhlaWdodDo1LjJlbX0ueXQtdWktZWxsaXBzaXMtNnttYXgtaGVpZ2h0OjcuOGVtfS55dC11aS1lbGxpcHNpcy0xMHttYXgtaGVpZ2h0OjEzZW19LndlYmtpdCAueXQtdWktZWxsaXBzaXN7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtMnstd2Via2l0LWxpbmUtY2xhbXA6Mn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0zey13ZWJraXQtbGluZS1jbGFtcDozfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzLTR7LXdlYmtpdC1saW5lLWNsYW1wOjR9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtNnstd2Via2l0LWxpbmUtY2xhbXA6Nn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0xMHstd2Via2l0LWxpbmUtY2xhbXA6MTB9LndlYmtpdCAueXQtdWktZWxsaXBzaXM6YmVmb3Jle2NvbnRlbnQ6bm9ybWFsfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IuKAjCI7cG9zaXRpb246c3RhdGljO3Zpc2liaWxpdHk6aGlkZGVufS55dC11aS1lbGxpcHNpc1tkaXI9cnRsXTpiZWZvcmV7bGVmdDowO3JpZ2h0OmF1dG99YS55dHAtY2UtbGlua3tkaXNwbGF5OmJsb2NrfWEueXRwLWNlLWxpbmssYS55dHAtY2UtbGluazpob3ZlcixhLnl0cC1jZS1saW5rOnZpc2l0ZWR7Y29sb3I6IzE2N2FjNn1hLnl0cC1jZS1saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1jZS1zaGFkb3d7b3BhY2l0eTowO291dGxpbmU6c29saWQgIzAwMDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDoxMn0ueXRwLWNlLXNoYWRvdzpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1lbGVtZW50e2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNCk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNSk7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjUpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4zZW07bWFyZ2luOi0xcHg7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC1mb250LXNtb290aGluZzphdXRvO3otaW5kZXg6MTI7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjEycHg7cmlnaHQ6MTJweDt6LWluZGV4OjEzO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3Zpc2liaWxpdHk6aGlkZGVufS55dHAtY2UtaGlkZS1idXR0b24tY29udGFpbmVyLnl0cC1jZS1oaWRlLWJ1dHRvbi1sb3dlcnttYXJnaW4tdG9wOjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjcycHh9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2UtZWxlbWVudCwuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtY2UtZWxlbWVudC55dHAtY2UtcGxhY2Vob2xkZXIgYS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtjdXJzb3I6ZGVmYXVsdH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtc2hvdywueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lci55dHAtY2UtZWxlbWVudC1zaG93e29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5ke2JvcmRlcjoxcHggc29saWQgI2ZmZjtvdXRsaW5lOm5vbmU7ei1pbmRleDoxMztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIDBzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dmlzaWJpbGl0eTp2aXNpYmxlfS55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmZvY3VzLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmhvdmVye291dGxpbmU6bm9uZX0ueXRwLWNlLWVsZW1lbnQtc2hhZG93e2JhY2tncm91bmQtY29sb3I6IzAwMDtib3R0b206LTFweDtsZWZ0Oi0xcHg7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi0xcHg7dG9wOi0xcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6MTJ9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtc2hhZG93LXNob3cgLnl0cC1jZS1lbGVtZW50LXNoYWRvd3tvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1jb3ZlcmluZy1pbWFnZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JvdHRvbTotMnB4O2xlZnQ6LTFweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMXB4O3RvcDotMXB4fS55dHAtY2UtY292ZXJpbmctc2hhZG93LXRvcHtoZWlnaHQ6MzMlO29wYWNpdHk6Ljg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjMDAwLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjMDAwKSx0byh0cmFuc3BhcmVudCkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMDAwIDAsdHJhbnNwYXJlbnQpfS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3otaW5kZXg6MTJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2Utc2hhZG93e2Rpc3BsYXk6bm9uZX0ueXRwLWNlLXBsYXlsaXN0LC55dHAtY2UtdmlkZW97b3ZlcmZsb3c6aGlkZGVufS55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS12aWRlby10aXRsZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luOjZweCA4cHg7bWF4LWhlaWdodDoyOHB4O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuNCl9Lnl0cC1jZS1wbGF5bGlzdC10aXRsZS55dHAtd2Via2l0LWVsbGlwc2lzLC55dHAtY2UtdmlkZW8tdGl0bGUueXRwLXdlYmtpdC1lbGxpcHNpc3tkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNlLXZpZGVvLWR1cmF0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7bWFyZ2luOjAgNHB4IDRweCAwO3BhZGRpbmc6NHB4IDZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfS55dHAtY2UtbGl2ZS12aWRlby1kdXJhdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMCwwKTtib3JkZXItcmFkaXVzOjJweDtib3R0b206MDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44KTttYXJnaW46MCA0cHggNHB4IDA7cGFkZGluZzo0cHggNnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9Lnl0cC1jZS1wbGF5bGlzdC1jb3VudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjc1KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweH0ueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4tbGVmdDozMnB4fS55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1jb250ZW50e2Rpc3BsYXk6dGFibGV9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5e2Rpc3BsYXk6dGFibGUtY2VsbDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXksLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1mb3JjZS1leHBhbmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXt6LWluZGV4OjEzO29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLWltYWdlLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5kIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle3otaW5kZXg6MTN9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDRweCAjMDAwO2JveC1zaGFkb3c6MCAwIDRweCAjMDAwO2hlaWdodDoxMDAlO2xlZnQ6MDttYXJnaW46LThweDtwYWRkaW5nOjhweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWljb257YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyMHB4IDIwcHg7YmFja2dyb3VuZC1zaXplOjIwcHggMjBweDtib3JkZXItcmFkaXVzOjJweDtib3R0b206MnB4O2hlaWdodDoyNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjJweDt3aWR0aDoyNHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtaG92ZXIgLnl0cC1jZS1leHBhbmRpbmctaWNvbiwueXRwLWNlLWVsZW1lbnQueXRwLWNlLWZvcmNlLWV4cGFuZCAueXRwLWNlLWV4cGFuZGluZy1pY29ue29wYWNpdHk6MH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXtsZWZ0OjA7cGFkZGluZy1sZWZ0OjEwMCU7dG9wOjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e3BhZGRpbmctcmlnaHQ6MTAwJTtyaWdodDowO3RvcDowfS55dHAtY2UtZWxlbWVudC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e2JvdHRvbTowO2xlZnQ6MDtwYWRkaW5nLWxlZnQ6MTAwJX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7Ym90dG9tOjA7cGFkZGluZy1yaWdodDoxMDAlO3JpZ2h0OjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtaG92ZXIsLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWZvcmNlLWV4cGFuZCwueXRwLWNlLWVsZW1lbnQueXRwLWNlLW1lcmNoYW5kaXNlLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1tZXJjaGFuZGlzZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtbWVyY2hhbmRpc2UueXRwLWNlLWVsZW1lbnQtc2hvdy55dHAtY2UtZm9yY2UtZXhwYW5kLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93LC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1mb3JjZS1leHBhbmR7Ym9yZGVyOjA7bWFyZ2luOjB9Lnl0cC1jZS1jaGFubmVsLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJle2NvbG9yOiM3Njc2NzY7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDo0cHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1tcy10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnR9Lnl0cC1jZS1jaGFubmVsLXN1YnNjcmliZXJzLXRleHR7Y29sb3I6Izc2NzY3NjtkaXNwbGF5Om5vbmU7bWFyZ2luLWJvdHRvbToyNHB4O21hcmdpbi10b3A6NnB4fS55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtjb2xvcjojNzY3Njc2fS55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6bm9uZX0ueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDttYXgtaGVpZ2h0OjQycHh9Lnl0cC1jZS1jaGFubmVsLC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWVsZW1lbnQtc2hhZG93LC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWV4cGFuZGluZy1pbWFnZXtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utd2Vic2l0ZS10aXRsZXtjb2xvcjojMzMzO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tYm90dG9tOjJweH0ueXRwLWNlLW1lcmNoYW5kaXNlLW1ldGFkYXRhLC55dHAtY2UtbWVyY2hhbmRpc2UtcHJpY2UtY29udGFpbmVyLC55dHAtY2Utd2Vic2l0ZS1tZXRhZGF0YXtjb2xvcjojNzY3Njc2O21hcmdpbi10b3A6NHB4fS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1jZS13ZWJzaXRlLWdvdG97ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi10b3A6NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxMDAlfS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2UsLnl0cC1jZS13ZWJzaXRlIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM2NDY0NjQ7Zm9udC13ZWlnaHQ6ODAwO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tcmlnaHQ6NnB4fS55dHAtY2UtbWVyY2hhbmRpc2UtYWRkaXRpb25hbC1mZWVze2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM3Njc2NzY7bWFyZ2luLXRvcDoycHg7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlcjoxcHggIzAwMDtvcGFjaXR5Oi44O3BhZGRpbmc6MTBweCAwO3dpZHRoOjEwMCU7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YXtjb2xvcjojZmZmO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWNlLXNpemUtMzQ2IC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lcntwYWRkaW5nOjJweCAwfS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lciwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7cGFkZGluZzo1cHggMH0ueXRwLWNlLWxhcmdlLXJvdW5kIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZCwueXRwLWNlLXBsYXlsaXN0Lnl0cC1jZS1sYXJnZS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1sYXJnZS1yb3VuZHtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1jZS1tZWRpdW0tcm91bmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5kLC55dHAtY2UtcGxheWxpc3QueXRwLWNlLW1lZGl1bS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1tZWRpdW0tcm91bmR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1jZS1wbGF5bGlzdC55dHAtY2Utc21hbGwtcm91bmQsLnl0cC1jZS1zbWFsbC1yb3VuZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmQsLnl0cC1jZS12aWRlby55dHAtY2Utc21hbGwtcm91bmR7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0cC1jZS1tZXJjaGFuZGlzZS1nb3Rve2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0ueXRwLWNlLXNpemUtMzQ2e2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1jb3ZlcmluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTM0Ni55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAwIDAgOHB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDhweCAwIDB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmR7bWFyZ2luOi04cHg7cGFkZGluZzo4cHh9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbToycHg7cmlnaHQ6MnB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7bWFyZ2luLXRvcDowfS55dHAtY2Utc2l6ZS00MjZ7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWNvdmVyaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDI2Lnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQyNi55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXttYXJnaW4tdG9wOjB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLXBsYXlsaXN0LXRpdGxlLC55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS12aWRlby10aXRsZSwueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLXZpZGVvLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWF4LXdpZHRoOjg1JX0ueXRwLWNlLXNpemUtNDcwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtNDcwIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDcwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDcwIC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTUwNntmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtY2hhbm5lbC10aXRsZSwueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtZ290bywueXRwLWNlLXNpemUtNTA2IC55dHAtY2Utd2Vic2l0ZS1nb3Rve2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTUwNi55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA0cHggMCAxMnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01MDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDEycHggMCA0cHh9Lnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS01NzB7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01NzAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNHB4IDAgMTJweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNTcwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxMnB4IDAgNHB4fS55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206NHB4O3JpZ2h0OjRweH0ueXRwLWNlLXNpemUtNjQwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTVweDttYXgtaGVpZ2h0OjMwcHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS02NDAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgOHB4IDAgMTZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNjQwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgOHB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206OHB4O3JpZ2h0OjhweH0ueXRwLWNlLXNpemUtODUze2ZvbnQtc2l6ZToxNHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDttYXJnaW46MTBweCAxMnB4O21heC1oZWlnaHQ6MzZweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgNnB4IDZweCAwfS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTg1My55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4O21hcmdpbi10b3A6OHB4O3BhZGRpbmctdG9wOjhweDttYXgtaGVpZ2h0OjQycHg7ZGlzcGxheTpibG9ja30ueXRwLWNlLXNpemUtODUzLnl0cC1jZS1jaGFubmVsLXRoYXQgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjE4cHg7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDo1NHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTg1My55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA4cHggMCAxNnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS04NTMueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDE2cHggMCA4cHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLWV4cGFuZGluZy1pY29uey13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI0cHggMjRweDtiYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JvdHRvbTo4cHg7aGVpZ2h0OjMycHg7cmlnaHQ6OHB4O3dpZHRoOjMycHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7dG9wOjRweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtcGxheWxpc3QtY291bnQtdGV4dHtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1sZWZ0OjQwcHh9Lnl0cC1jZS1zaXplLTEyODB7Zm9udC1zaXplOjE4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXZpZGVvLXRpdGxle2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjE4cHggMjBweDttYXgtaGVpZ2h0OjQ4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS12aWRlby1kdXJhdGlvbnttYXJnaW46MCAxMnB4IDEycHggMH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS1tZXRhZGF0YSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNlLWNvbnRhaW5lciwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtZ290bywueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtbWV0YWRhdGF7Zm9udC1zaXplOjE4cHg7bWFyZ2luLXRvcDo4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIxcHg7bWF4LWhlaWdodDo2M3B4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjMycHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9Lnl0cC1jZS1zaXplLTEyODAueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJlcnMtdGV4dHtkaXNwbGF5OmJsb2NrfS55dHAtY2Utc2l6ZS0xMjgwLnl0cC1jZS1jaGFubmVsLXRoaXMgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe21hcmdpbi10b3A6MTJweDtwYWRkaW5nLXRvcDoxMnB4O2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjI2NHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoyNjRweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgMzJweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTEyODAueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDMycHggMCAxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZHttYXJnaW46LTE2cHg7cGFkZGluZzoxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLWljb257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O2JhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7Ym90dG9tOjEwcHg7aGVpZ2h0OjQwcHg7cmlnaHQ6MTBweDt3aWR0aDo0MHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtcGxheWxpc3QtaWNvbntsZWZ0OjEwcHg7dG9wOjhweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweDttYXJnaW4tbGVmdDo0NnB4fS55dHAtY2Utc2l6ZS0xOTIwe2ZvbnQtc2l6ZToyOHB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS12aWRlby10aXRsZXtmb250LXNpemU6MzJweDtsaW5lLWhlaWdodDozOHB4O21hcmdpbjoxOHB4IDIwcHg7bWF4LWhlaWdodDo3NnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgMjBweCAyMHB4IDB9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjM4cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtbWV0YWRhdGEsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1wcmljZS1jb250YWluZXIsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLWdvdG8sLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLW1ldGFkYXRhe2ZvbnQtc2l6ZToyOHB4O21hcmdpbi10b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0OjEwMnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjgwcHg7bWFyZ2luLXRvcDotMTZweDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyLjUpOy1tcy10cmFuc2Zvcm06c2NhbGUoMi41KTt0cmFuc2Zvcm06c2NhbGUoMi41KX0ueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmVycy10ZXh0e2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTE5MjAueXRwLWNlLWNoYW5uZWwtdGhpcyAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjE4cHg7cGFkZGluZy10b3A6MThweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MzkycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjM5MnB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDI0cHggMCA0OHB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNDhweCAwIDI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke21hcmdpbjotMjRweDtwYWRkaW5nOjI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo1NnB4IDU2cHg7YmFja2dyb3VuZC1zaXplOjU2cHggNTZweDtib3R0b206MjBweDtoZWlnaHQ6NjJweDtyaWdodDoyMHB4O3dpZHRoOjYycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1wbGF5bGlzdC1pY29ue2xlZnQ6MTJweDt0b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjU2cHg7bGluZS1oZWlnaHQ6NTZweDttYXJnaW4tbGVmdDo1NnB4fS55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmUueXRwLWNlLXN1YnNjcmliZS1idXR0b257aGVpZ2h0OmF1dG87bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTM0NiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQyNiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQ3MCAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS01MDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTUwNiAueXRwLXNiLXVuc3Vic2NyaWJle2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6OHB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlse2JhY2tncm91bmQtc2l6ZTpjb250YWluOy1tb3otYmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0ueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Lnl0cC1leHAtZnJhbWUwIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXt6LWluZGV4OjEwfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlsIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjstbW96LWJhY2tncm91bmQtc2l6ZTpjb250YWluOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW59LmVuZGVkLW1vZGUgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pLC51bnN0YXJ0ZWQtbW9kZTpub3QoLnBsYXlpbmctbW9kZSkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtY2hhcHRlci1zZWVrLXRleHR7ZGlzcGxheTpub25lO3dpZHRoOjgwJTttYXJnaW4tbGVmdDoxMCU7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNoYXB0ZXItc2VlayAueXRwLWNoYXB0ZXItc2Vlay10ZXh0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9ja31ALXdlYmtpdC1rZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtMXswJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6Ljl9MzMle29wYWNpdHk6LjZ9NTAle29wYWNpdHk6LjN9Njcle29wYWNpdHk6LjN9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTF7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi45fTMzJXtvcGFjaXR5Oi42fTUwJXtvcGFjaXR5Oi4zfTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTJ7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi4zfTMzJXtvcGFjaXR5Oi45fTUwJXtvcGFjaXR5Oi42fTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QGtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0yezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouOX01MCV7b3BhY2l0eTouNn02NyV7b3BhY2l0eTouM304MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0zezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouM301MCV7b3BhY2l0eTouOX02NyV7b3BhY2l0eTouNn04MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtM3swJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6LjN9MzMle29wYWNpdHk6LjN9NTAle29wYWNpdHk6Ljl9Njcle29wYWNpdHk6LjZ9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3l7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNkZGQ7ei1pbmRleDoxOX0ueXRwLWRvdWJsZXRhcC1mYXN0LWZvcndhcmQtdmUsLnl0cC1kb3VibGV0YXAtcmV3aW5kLXZle29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi4yO3otaW5kZXg6LTF9Lnl0cC1kb3VibGV0YXAtc3RhdGljLWNpcmNsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtZG91YmxldGFwLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjIxLDIyMSwyMjEsLjE1KTstd2Via2l0LWFuaW1hdGlvbjpncm93LWNpcmNsZSAuOXMgMTthbmltYXRpb246Z3Jvdy1jaXJjbGUgLjlzIDE7dmVydGljYWwtYWxpZ246bWlkZGxlfUAtd2Via2l0LWtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19QGtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19Lnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NTAlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeS55dHAtdGltZS1zZWVraW5nIC55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtkaXNwbGF5Om5vbmV9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5Lnl0cC1jaGFwdGVyLXNlZWsgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcnt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWJhY2tdOm5vdCgueXRwLWNoYXB0ZXItc2VlaykgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntsZWZ0OjEwJTt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1mb3J3YXJkXTpub3QoLnl0cC1jaGFwdGVyLXNlZWspIC55dHAtZG91YmxldGFwLXNlZWstaW5mby1jb250YWluZXJ7bGVmdDo4MCU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtZG91YmxldGFwLXRvb2x0aXB7cGFkZGluZy10b3A6OHB4O2NvbG9yOiNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC10b29sdGlwe21hcmdpbi1sZWZ0OjhweH0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLXRvb2x0aXB7bWFyZ2luLWxlZnQ6LTVweH0ueXRwLWRvdWJsZXRhcC10b29sdGlwLWxhYmVse3RleHQtYWxpZ246bGVmdDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zZWVrLWljb24tdGV4dC1jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWxlZnQ6MTAlO3dpZHRoOjgwJX0ueXRwLXNlZWstaWNvbnttYXJnaW4tcmlnaHQ6NXB4fS55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MThweDtmb250LXdlaWdodDo3MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtY2hhcHRlci1zZWVrIC55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6YmxvY2t9Lnl0cC1kb3VibGV0YXAtYXJyb3dzLWNvbnRhaW5lcnt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3t3aWR0aDowO2hlaWdodDowO2JvcmRlcjoxMHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206N3B4IHNvbGlkIHRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxLjJzO2FuaW1hdGlvbi1kdXJhdGlvbjoxLjJzOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9Zm9yd2FyZF0gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3tib3JkZXItbGVmdDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93e2JvcmRlci1yaWdodDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgzKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6Zmlyc3QtY2hpbGR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0xO2FuaW1hdGlvbi1uYW1lOmFycm93LWZhZGUtb3V0LTF9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgyKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDIpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMjthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0yfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9YmFja10gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvdzpmaXJzdC1jaGlsZCwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDMpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMzthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0zfS55dHAtc2Vlay1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTA7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lO2RpcmVjdGlvbjpsdHJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtc2Vlay1vdmVybGF5e2Rpc3BsYXk6bm9uZX0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MH0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24tYmFja3tsZWZ0OjQ4cHh9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmR7cmlnaHQ6NDhweH0ueXRwLXNlZWstb3ZlcmxheS1kdXJhdGlvbntjb2xvcjp3aGl0ZTtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDoyNHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsLjgpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1iYWNrIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1yaWdodDoyMHB4fS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1mb3J3YXJkIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1sZWZ0OjIwcHh9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3Zne2Rpc3BsYXk6YmxvY2t9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3ZnIHBhdGh7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIC41cHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgLjVweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctcGVyc2lzdGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zbGF0ZTowIC01MCV9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWJhY2sgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtsZWZ0OjB9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmQgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtyaWdodDowfS55dHAtc2Vlay1vdmVybGF5LW1lc3NhZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDE4MHB4KX0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLWljb246bm90KDplbXB0eSl7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLXRleHR7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3RleHQtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwuOCk7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtbW9yZS12aWRlb3Mtdmlld3tvdmVyZmxvdzpoaWRkZW59Lnl0cC1tb3JlLXZpZGVvcy12aWV3IGEueXRwLXN1Z2dlc3Rpb24tbGluazpmb2N1czphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDt3aWR0aDppbmhlcml0O2hlaWdodDppbmhlcml0Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1tb3JlLXZpZGVvcy12aWV3Lnl0cC1zY3JvbGwtbWF4IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXN7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTo3MHB4O21hcmdpbjoyNHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MTJweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWJvdHRvbToyNHB4O2ZvbnQtc2l6ZToyOHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3W2FyaWEtaGlkZGVuPXRydWVdIGEueXRwLXN1Z2dlc3Rpb24tbGlua3tvcGFjaXR5OjB9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3cteDphdXRvfS55dHAtdG91Y2gtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7aGVpZ2h0OjE4MHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24taW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6MTA4cHg7d2lkdGg6MTkycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3tiYWNrZ3JvdW5kOiMzMzM7Ym9yZGVyLXJhZGl1czo1MCU7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtoZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTAlKTt3aWR0aDozMnB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQ6aG92ZXIsLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXM6aG92ZXJ7LXdlYmtpdC1ib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1iaWctbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3toZWlnaHQ6NjRweDt3aWR0aDo2NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHR7cmlnaHQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXByZXZpb3Vze2xlZnQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbmt7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtib3R0b206MDtmb250LXNpemU6MTJweDtsZWZ0OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjA7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgxMiwxMiwxMiwuOCksdHJhbnNwYXJlbnQgMTAwcHgpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDEyLDEyLDEyLC44KSAwLHRyYW5zcGFyZW50IDEwMHB4KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtmb250LXNpemU6MjBweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbms6aG92ZXIgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7b3BhY2l0eToxfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257YmFja2dyb3VuZDojMDAwO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbTo0cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouNzU7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257Zm9udC1zaXplOjE3cHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbltkYXRhLWlzLWxpdmU9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb246ZW1wdHksLnl0cC1zaG9ydHMtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxlLC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21heC1oZWlnaHQ6MzBweH0ueXRwLWltcHJlc3Npb24tbGlua3tiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjgpO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjJweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czoycHg7Ym90dG9tOjVweDtoZWlnaHQ6NDdweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWltcHJlc3Npb24tbGluay10ZXh0e2NvbG9yOndoaXRlO2Zsb2F0OmxlZnQ7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tdG9wOjE2cHh9Lnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3tmbG9hdDpyaWdodDtoZWlnaHQ6MTZweDttYXJnaW4tbGVmdDo5cHg7bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLXRvcDoxNnB4O3dpZHRoOjcycHh9Lnl0cC1tdXNpYy1pbXByZXNzaW9uLWxpbmsgLnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3ttYXJnaW4tdG9wOjE0cHg7bWFyZ2luLWxlZnQ6MDtoZWlnaHQ6MTlweH0ueXRwLW1vYmlsZS1hMTF5LWhpZGRlbi1zZWVrLWJ1dHRvbi1mb3J3YXJkLC55dHAtbW9iaWxlLWExMXktaGlkZGVuLXNlZWstYnV0dG9uLXJld2luZHt3aWR0aDoxcHg7aGVpZ2h0OjFweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5LC55dHAtbXV0ZWQtYXV0b3BsYXktb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwMDE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25ze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjExcHg7Ym90dG9tOjB9Lnl0cC1tdXRlZC1hdXRvcGxheS1ib3R0b20tYnV0dG9ucyAueXRwLWJ1dHRvbiwueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OnVuc2V0O21hcmdpbjowIDRweH0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre3JpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya3tvcGFjaXR5OjF9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXktZXF1YWxpemVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87Ym90dG9tOjhweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplcntib3R0b206MTBweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplci1pY29ue21hcmdpbjphdXRvO3RvcDozcHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lcXVhbGl6ZXItaWNvbnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kLXBhbmVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOjAgMTAlO2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LXNob3ctZW5kLXBhbmVsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpfS55dHAtbXV0ZWQtYXV0b3BsYXktc2hvdy1lbmQtcGFuZWwgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtcGFuZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7bWFyZ2luLXRvcDo0MHB4fS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHttYXJnaW4tdG9wOjkwcHh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX1Aa2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRwLWVxdWFsaXplci1iYXItbGVmdCwueXRwLWVxdWFsaXplci1iYXItbWlkZGxlLC55dHAtZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDstbXMtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uO2FuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZXF1YWxpemVyLWJhci1sZWZ0ey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi41czthbmltYXRpb24tZHVyYXRpb246LjVzfS55dHAtZXF1YWxpemVyLWJhci1taWRkbGV7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MS4zczthbmltYXRpb24tZHVyYXRpb246MS4zc30ueXRwLWVxdWFsaXplci1iYXItcmlnaHR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjdzO2FuaW1hdGlvbi1kdXJhdGlvbjouN3N9Lnl0cC1wYXVzZS1vdmVybGF5e2JvcmRlci1yYWRpdXM6OHB4O2JvdHRvbTo0OXB4O2RpcmVjdGlvbjpsdHI7bGVmdDowO21hcmdpbjoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NDI7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wYXVzZS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1wYXVzZS1vdmVybGF5LWNvbnRyb2xzLWhpZGRlbiAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOjB9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAuYWQtb3ZlcmxheSwueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC5jYXB0aW9uLXdpbmRvd3tkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC55dHAtcGF1c2Utb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cmlnaHQ6MH0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOmF1dG99Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcGF1c2Utb3ZlcmxheXtvcGFjaXR5Oi4yfS55dHAtY2Utc2hvd24gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtbWVudS1zaG93biAueXRwLXBhdXNlLW92ZXJsYXksLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLXBhdXNlLW92ZXJsYXl7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWNvbGxhcHNlLC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLW5leHQsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcHJldmlvdXMsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZSwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5KSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tkaXNwbGF5Om5vbmV9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5e3BhZGRpbmc6MjRweCAzMnB4IDMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2V7aGVpZ2h0OjIwcHg7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMHB4O3RvcDoxMnB4O3dpZHRoOjIwcHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6NDhweDtyaWdodDowO3RvcDowO3dpZHRoOjQ4cHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZS1pY29ue21hcmdpbjphdXRvO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MzJweDtyaWdodDozNnB4O3RvcDoyNHB4O3dpZHRoOjMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjMycHg7cGFkZGluZzowIDEwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9iaWxlLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2hlaWdodDo0OHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToyNHB4O3BhZGRpbmc6MTBweCAxNXB4fS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZCBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7bWFyZ2luLWJvdHRvbToycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1leHBhbmQgc3Zne3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3B7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjI0Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheXtib3JkZXItcmFkaXVzOjJweDtib3R0b206OHB4O2xlZnQ6OHB4O3JpZ2h0OjhweDttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwYWRkaW5nOjE2cHggMjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXl7cGFkZGluZzoxMnB4IDI0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5e2JvdHRvbTozMnB4O2xlZnQ6MjhweDtyaWdodDoyOHB4fS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91cywueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS55dHAtc2Nyb2xsLW1heCAueXRwLW5leHQsLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtdG91Y2gtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2Rpc3BsYXk6bm9uZX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1yZWxhdGVkLXRpdGxle21hcmdpbi1sZWZ0OjhweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjI0cHg7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzJweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb25ze2RpcmVjdGlvbjpsdHI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tdG9wOjhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3ttYXJnaW4tdG9wOjZweH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tvdmVyZmxvdy14OmF1dG99Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWltYWdle2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwOHB4O3dpZHRoOjE5MnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2JhY2tncm91bmQ6IzMzMztib3JkZXItcmFkaXVzOjUwJTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2hlaWdodDozMnB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7Ym90dG9tOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLW5leHR7cmlnaHQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0e3JpZ2h0OjMycHh9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2xlZnQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91c3tsZWZ0OmFkZCgyNHB4LDhweCl9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5e2JvdHRvbTowO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtvcGFjaXR5OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDEyLDEyLDEyLC44KSx0cmFuc3BhcmVudCAxMDBweCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7Zm9udC1zaXplOjIwcHh9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IGEueXRwLXN1Z2dlc3Rpb24tbGluazpob3ZlciAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjF9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjJweDtib3R0b206NHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxO29wYWNpdHk6Ljk7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbntmb250LXNpemU6MTdweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb25bZGF0YS1pcy1saXZlPXRydWVde2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1lcnJvci1pbmRpY2F0b3IsI2UxMDAyZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWF1dGhvciwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjhweDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxOHB4O21heC1oZWlnaHQ6MzBweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye29wYWNpdHk6Ljc7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtc21hbGwtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTJweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjExMHB4O2hlaWdodDoyNnB4O2JvdHRvbTozOHB4O3otaW5kZXg6Mjg7b3BhY2l0eTouOTtwYWRkaW5nLXRvcDoxMXB4O3BhZGRpbmctYm90dG9tOjExcHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyazpub3QoLnl0cC1tdXRlZC1hdXRvcGxheS13YXRlcm1hcmspe3JpZ2h0OjE2cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyay55dHAtd2F0ZXJtYXJrLXNtYWxse3dpZHRoOjg1cHg7aGVpZ2h0OjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre2JvdHRvbTo1OXB4fS55dHAtaGlkZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjVweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW5hdGl2ZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjUwcHg7bGVmdDoxNnB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbm8taG92ZXIpOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayk6aG92ZXJ7b3BhY2l0eToxfTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5IC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOnJlbGF0aXZlO2JvdHRvbTowfS55dHAtYXV0b2hpZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJrOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayl7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrKXtkaXNwbGF5Om5vbmV9Om5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVue2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjM2fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tdGFrZW92ZXIuaHRtbDUtZW5kc2NyZWVue2Rpc3BsYXk6bm9uZX0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ286bm90KC55dHAtbXdlYi1wbGF5ZXIpIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvOm5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVuOm5vdCgueXRwLXNob3J0cy1icmFuZGVkLXVpKXttYXJnaW4tdG9wOjMycHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCV9Lnl0cC1lbmRzY3JlZW4tdGFrZW92ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLWNvbnRlbnR7ZGlzcGxheTpub25lfTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6MzJweDtvdmVyZmxvdzp2aXNpYmxlO3JpZ2h0OjMycHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6NDhweDtyaWdodDo0OHB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tbmV4dHtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMzJweDt3aWR0aDozMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0e3JpZ2h0Oi00OHB4O3dpZHRoOjQ4cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wYWdpbmF0ZSAueXRwLWVuZHNjcmVlbi1uZXh0e2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0OmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91c3tkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7bGVmdDotMzJweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2xlZnQ6LTQ4cHg7d2lkdGg6NDhweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXBhZ2luYXRlIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXdlYi1wbGF5ZXIuaHRtbDUtZW5kc2NyZWVue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y3Vyc29yOmRlZmF1bHQ7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MzZ9Lmh0bWw1LWVuZHNjcmVlbi5tb2Rlcm4tdmlkZW93YWxsLWVuZHNjcmVlbntjdXJzb3I6ZGVmYXVsdDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDozNjstd2Via2l0LWFsaWduLWNvbnRlbnQ6Y2VudGVyO2FsaWduLWNvbnRlbnQ6Y2VudGVyfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2ZvbnQtc2l6ZToxMXB4fS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmctYm90dG9tOnVuc2V0O2hlaWdodDoxMDAlfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle21hcmdpbi1yaWdodDoxMnB4fS55dHAtZW5kc2NyZWVuLXRha2VvdmVyIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50LC55dHAtZW5kc2NyZWVuLXRha2VvdmVyLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDMxMHB4LDFmcikpO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maWxsLG1pbm1heChjbGFtcCgyNTBweCwyNyUsNDUwcHgpLDFmcikpO2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dyaWQtYXV0by1yb3dzOjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtY29sdW1uLWdhcDoxNnB4Oy1tb3otY29sdW1uLWdhcDoxNnB4O2NvbHVtbi1nYXA6MTZweDt3aWR0aDoxMDAlOy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7cGFkZGluZzozMnB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXgtaGVpZ2h0OjEwMCV9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLXJvdy0wIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tbGltaXQtcm93cy0xIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1saW1pdC1yb3dzLTIgLnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWNvbnRlbnR7Z3JpZC10ZW1wbGF0ZS1yb3dzOnJlcGVhdCgyLDFmcil9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWxpbWl0LXJvd3MtMyAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtncmlkLXRlbXBsYXRlLXJvd3M6cmVwZWF0KDMsMWZyKX0ueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50e29wYWNpdHk6MTtzY3JvbGxiYXItd2lkdGg6bm9uZTtvdmVyZmxvdzpzY3JvbGx9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3RvcDowfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDpjYWxjKDMwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKTtib3R0b206MH0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtZXhwYW5kLWJ1dHRvbiwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1idXR0b25zLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0b3A6MDttYXJnaW4tdG9wOmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpLzIqLTEgKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0KS8yKi0xKTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWJ1dHRvbnMtY29udGFpbmVye21hcmdpbi10b3A6Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCkvMiotMSArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQpLzIqLTEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b257b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpO2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OnZpc2libGU7c2Nyb2xsYmFyLXdpZHRoOm5vbmU7ei1pbmRleDo3Mjtwb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zne3BhZGRpbmc6Y2FsYygodmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktaWNvbi1zaXplLCAyNHB4KSkvMik7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwyNHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1pY29uLXNpemUsMjRweCl9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KSAtIHZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwgMjRweCkpLzIpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOmNhbGMoMTAwJSAtIDhweCk7aGVpZ2h0OmNhbGMoMTAwJSAtIDhweCk7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOmFsbH06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246aG92ZXI6YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aG92ZXIgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6YWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6aGlkZGVuO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSAtIDZweCAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSA2cHggLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaGVhZGVye2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWR7ZGlzcGxheTpibG9jaztvdmVyZmxvdzp2aXNpYmxlO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZ3JpZC1zY3JvbGxhYmxlLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsYWJsZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7b3BhY2l0eTouNX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtvcGFjaXR5OjF9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5e2Rpc3BsYXk6YmxvY2s7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDoxMnB4O2JvcmRlci1yYWRpdXM6MTZweDt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmU6bm90KC5lbmRlZC1tb2RlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7bWFyZ2luLXRvcDoxMnB4fS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5LC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXl7ZGlzcGxheTpub25lfTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5OmhhcygueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmhvdmVyKSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5KX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aGFzKC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3Zlcil9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlOm5vdCguZW5kZWQtbW9kZSkgLnl0cC1mdWxsc2NyZWVuLWdyaWQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpfS55dHAtZ3JpZC1yZXBsYXktYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czoxOHB4O21hcmdpbi1yaWdodDoxNnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsLWJsZWVkLXBsYXllciAueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JvcmRlci1yYWRpdXM6MzBweH0ueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6Z3JpZDtwYWRkaW5nOjAgMjRweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxNnB4Oy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXIsLnl0cC1ncmlkLXNjcm9sbGluZy55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0b30ueXRwLWZ1bGxzY3JlZW4tZ3JpZHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MTAwJTt3aWR0aDoxMDAlO3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZTttYXgtaGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6MDt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZnVsbHNjcmVlbi1ncmlke2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWR7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3BhY2l0eTowfS55dHAtbW9yZS12aWRlb3MtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4Oy13ZWJraXQtY29sdW1uLWdhcDo4cHg7LW1vei1jb2x1bW4tZ2FwOjhweDtjb2x1bW4tZ2FwOjhweDtib3JkZXItcmFkaXVzOjI4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7bGVmdDo0cHg7d2lkdGg6Y2FsYygxMDAlIC0gOHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gOHB4KTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGh1bWJuYWlse3dpZHRoOjQwcHg7YXNwZWN0LXJhdGlvOjE2Lzk7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGl0bGV7Y29sb3I6dmFyKC0tT3ZlcmxheS1PdmVybGF5LVRleHQtUHJpbWFyeSwjZmZmKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDA7Zm9udC1mYW1pbHk6dmFyKC0tVHlwb2dyYXBoeS1Gb250LUZhbWlseSxSb2JvdG8pO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O2xldHRlci1zcGFjaW5nOi4xNnB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDowO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDcycHgpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye3dpZHRoOjEwMCU7cGFkZGluZzowIDI0cHh9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZTpub3QoLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYpIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpudGgtY2hpbGQobis0KXtkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGU6bm90KC55dHAtZW5hYmxlLWhvcml6b250YWwtZW5kc2NyZWVuLXNoZWxmKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6bnRoLWNoaWxkKDQpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93LXg6YXV0bzstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50ey13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWluLXdpZHRoOjMxJX0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b24ueXRwLWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtZ3JpZC1zY3JvbGxpbmcgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0LC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtbW9yZS12aWRlb3MtYnV0dG9uLnl0cC1idXR0b24sLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbi55dHAtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9ye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjQ0O2xpbmUtaGVpZ2h0OjIyMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNDAsNDAsNDApfS55dHAtZW1iZWQtZXJyb3IgLnl0cC1lcnJvcntkaXNwbGF5OmJsb2NrfS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGV7bGluZS1oZWlnaHQ6MTYwJX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZXtsaW5lLWhlaWdodDoyMjAlfS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6ODUlOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXh9Lnl0cC1lbWJlZC1lcnJvciAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHttYXJnaW46MCBhdXRvfS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6NjRweDt3aWR0aDo2NHB4O21pbi13aWR0aDo2NHB4O21pbi1oZWlnaHQ6NjRweDtmbG9hdDpsZWZ0fS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lciBzdmd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5OmlubGluZTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4cHg7cmlnaHQ6OHB4O29wYWNpdHk6Ljd9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0Lm5vLWxpbmt7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9yLnJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS12aXNpYmxlIC55dHAtc21hbGwtcmVkaXJlY3QsLnl0cC1mdWxsc2NyZWVuIC55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5Om5vbmV9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0IGF7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcHttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvO21hcmdpbi1sZWZ0OjE2cHg7aGVpZ2h0OjEwMCV9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6OTZweDt3aWR0aDo5NnB4O21pbi13aWR0aDo5NnB4O21pbi1oZWlnaHQ6OTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDo2MHB4O3dpZHRoOjYwcHh9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXJlYXNvbntmb250LXNpemU6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZSAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDoycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtsaW5lLWhlaWdodDoxNTAlfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWljb24tY29udGFpbmVye2hlaWdodDozMnB4O3dpZHRoOjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3ItaWNvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcC1yZWFzb257Zm9udC1zaXplOjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC10aW55LW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToxMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWZ1bGxlcnNjcmVlbi1lZHUtYnV0dG9uLnl0cC1idXR0b257d2lkdGg6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1idXR0b24ueXRwLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI0cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbjpub3QoLnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUpIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2hlaWdodDo1MCV9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7aGVpZ2h0OjUwJTttYXJnaW4tdG9wOi04cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUgLnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcnt3aWR0aDoyNHB4fS55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAsLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMSwueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpfX1Aa2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCl9fUBrZXlmcmFtZXMgeXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbns1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KX19Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTB7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0wLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1idXR0b246bm90KFthcmlhLWRpc2FibGVkPXRydWVdKTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0xey13ZWJraXQtYW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWZ1bGxzY3JlZW4tYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXIgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4NnB4O3JpZ2h0OjI0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7cG9zaXRpb246YWJzb2x1dGU7bWF4LXdpZHRoOjMzJTt0b3A6MjRweDtsZWZ0OjI0cHg7ei1pbmRleDo1OX0ueXRwLW92ZXJsYXktdG9wLWxlZnQgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe21heC13aWR0aDo2MCV9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbSAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7dG9wOnVuc2V0O2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLXNob3BwaW5nLXBpbGwtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDg2cHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1zaG9wcGluZy1waWxsLXNob3duIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YXtib3R0b206Y2FsYyg4NnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWNocm9tZS10b3AtYnV0dG9uc3t3aWR0aDoxMDAlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6ZW5kOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MDt6LWluZGV4OjU5Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtY2hyb21lLXRvcC1idXR0b25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjA7ei1pbmRleDo1OH0qIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwqIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntvcGFjaXR5Om1heCgxIC0gMyAqIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSwwKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze29wYWNpdHk6MH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3toZWlnaHQ6MDttYXJnaW46MH0uYWQtc2hvd2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLmFkLXNob3dpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnNlZWtpbmctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLW1lbnUtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtbWVudS1zaG93biAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLXNldHRpbmdzLXNob3duIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7ZGlzcGxheTpub25lfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5e3otaW5kZXg6ODI7b3ZlcmZsb3c6aGlkZGVufS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmR7YmFja2dyb3VuZDpuby1yZXBlYXQgNTAlL2NvdmVyO2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjgyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmQtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjMpO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3otaW5kZXg6ODJ9Lnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktbWluaXBsYXllci1jbG9zZS1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjhweDt6LWluZGV4OjgyfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1taW5pcGxheWVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1iYXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgNnB4O2xlZnQ6MjBweDtoZWlnaHQ6NTZweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6I2ZmZjt3aWR0aDozODBweDt6LWluZGV4OjgyfS55dHAtYmlnLW1vZGUgLnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktYmFye3BhZGRpbmc6MCA5cHg7aGVpZ2h0Ojg0cHg7Ym90dG9tOjMwcHg7bGVmdDozMHB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6ODBweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgOHB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym9yZGVyLXJhZGl1czoyNHB4O2JvcmRlci13aWR0aDowO2N1cnNvcjpwb2ludGVyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbi10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOjAgOHB4O2xpbmUtaGVpZ2h0OjMycHg7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmZ9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b25ze21hcmdpbjoxOHB4IDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6MTIwcHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDEycHg7Ym9yZGVyLXJhZGl1czozcHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b24tdGl0bGV7bWFyZ2luOjAgMTJweDtsaW5lLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxMzAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnttaW4td2lkdGg6MjcwcHg7bWFyZ2luOjAgOXB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXN1YnRpdGxlLC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1zdWJ0aXRsZXtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1oZWF0LW1hcC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXIsLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7ZGlzcGxheTpibG9jaztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2hlaWdodDo0MHB4O2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWhlYXQtbWFwLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MH0ueXRwLWRlbGhpLW1vZGVybi55dHAtaGVhdC1tYXAueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZTpub3QoLmFkLXNob3dpbmcpIC55dHAtaGVhdC1tYXAtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4xcyxtYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXMsbWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjFzO21hcmdpbi1ib3R0b206OHB4fS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3Zlcjpub3QoLmFkLXNob3dpbmcpIC55dHAtdGltZWQtbWFya2Vycy1lbmFibGVkIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2JvdHRvbTo3cHh9Lnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY2hhcHRlciBzdmd7aGVpZ2h0OjQwcHh9Lnl0cC1iaWctbW9kZS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLWhlYXQtbWFwLWNoYXB0ZXIgc3Zne2hlaWdodDo2MHB4fS55dHAtaGVhdC1tYXAtY29udGFpbmVye29wYWNpdHk6MDtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDowO2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWhlYXQtbWFwLnl0cC1iaWctbW9kZS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2hlaWdodDo2MHB4O2JvdHRvbTo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtaGVhdC1tYXAtY2hhcHRlci55dHAtaGVhdG1hcC1ob3Zlcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjNweH0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIgLnl0cC1oZWF0LW1hcC1ob3ZlcntoZWlnaHQ6MTAwJTtmaWxsOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtaGVhdC1tYXAtaG92ZXIsLnl0cC1oZWF0LW1hcC1wbGF5e2hlaWdodDowfS55dHAtaGVhdC1tYXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWNvbnRhaW5lcnt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDowfS55dHAtZmluZS1zY3J1YmJpbmctdGh1bWJuYWlse2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MSAwIGF1dG87ZmxleDoxIDAgYXV0b30ueXRwLWZpbmUtc2NydWJiaW5nLWRyYWdnYWJsZSwueXRwLWZpbmUtc2NydWJiaW5nLXRodW1ibmFpbHN7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO21pbi13aWR0aDoxNjBweDtoZWlnaHQ6MTAwJX0ueXRwLWZpbmUtc2NydWJiaW5nLWN1cnNvcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtoZWlnaHQ6MTAwJTt3aWR0aDozcHg7YmFja2dyb3VuZDojZWVlfS55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLWZpbmUtc2NydWJiaW5nLWRpc21pc3MsLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5LC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLXBsYXl7ZGlzcGxheTpub25lO2hlaWdodDozNXB4O3dpZHRoOjM1cHg7Ym90dG9tOjExMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5e2JvdHRvbToxMjAlfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtZmluZS1zY3J1YmJpbmctcGxheSBzdmd7cGFkZGluZzo4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1kaXNtaXNze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTUlO3JpZ2h0OjEwcHg7aGVpZ2h0OjI1cHg7d2lkdGg6MjVweDtkaXNwbGF5Om5vbmV9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dvcmQtd3JhcDpicmVhay13b3JkOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7cGFkZGluZzoxNXB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtZmluZS1zY3J1YmJpbmctY2hhcHRlci10aXRsZXt3aWR0aDoyNDBweDtoZWlnaHQ6MTM1cHh9Lnl0cC1maW5lLXNjcnViYmluZy1lZHV7ZGlzcGxheTpub25lfS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTA3cHh9Lnl0cC1iaWctbW9kZS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTUxcHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVte2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjE2cHggMCAwIDE2cHg7d2lkdGg6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC1iaWctbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjI0cHggMCAwIDI0cHg7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjhweCAxMnB4IDAgMCAwIDhweCAxMnB4IDA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1kaXNjbGFpbWVye2N1cnNvcjpub25lO2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmF1dG87bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1idXR0b257d2lkdGg6MTAwJTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjcycHg7aGVpZ2h0OjU0cHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVse21hcmdpbi1sZWZ0OjEycHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtvdmVyZmxvdzphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVsLC55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW0tbGFiZWx7bWFyZ2luLWxlZnQ6MTJweDtmb250LXNpemU6MTRweDtvdmVyZmxvdzphdXRvfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtc2tyaW17cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zKTt6LWluZGV4OjcxfS55dHAtaW5mby1wYW5lbC1kZXRhaWx7cG9zaXRpb246YWJzb2x1dGU7bGVmdDphdXRvO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7d2lkdGg6NjAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7b3ZlcmZsb3c6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbCwueXRwLXNtYWxsLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbHt3aWR0aDo2MCV9W2Rpcj1sdHJdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9cnRsXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjE2cHg7bGluZS1oZWlnaHQ6MjRweDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjI0cHh9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC10aXRsZXttYXJnaW4tcmlnaHQ6MTRweDstd2Via2l0LWZsZXgtZ3JvdzoyOy13ZWJraXQtYm94LWZsZXg6MjtmbGV4LWdyb3c6Mn0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3Nle3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2V7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1ib2R5e2xpbmUtaGVpZ2h0OjI0cHg7bWluLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO21hcmdpbjowIDE2cHg7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtYm9keXttYXJnaW46MCAyNHB4fS55dHAtaW5mby1wYW5lbC1kZXRhaWwtaXRlbXN7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDE2cHggMTZweCAwfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1za3JpbXt6LWluZGV4OjEwMDJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWluZm8tcGFuZWwtcHJldmlld3toZWlnaHQ6YXV0bztib3R0b206YXV0bztsZWZ0OjEycHg7cmlnaHQ6YXV0bztvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtjdXJzb3I6cG9pbnRlcjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6MjY7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlcjppbmhlcml0O2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MDtmb250OmluaGVyaXQ7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDI3MnB4KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlld1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjYwcHh9Lnl0cC1lbWJlZC55dHAtc2hvcnRzLW1vZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjEyMnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtYXV0b2hpZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6MTJweH0ueXRwLW11dGVkLWF1dG9wbGF5IC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3otaW5kZXg6MTAwMjt0b3A6MTJweH0ueXRwLWxhcmdlci10YXAtYnV0dG9ucyAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6ODFweH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3RvcDo4MXB4O2JvdHRvbTphdXRvO2xlZnQ6MjRweDtoZWlnaHQ6YXV0bztsaW5lLWhlaWdodDphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtcHJldmlld3ttaW4td2lkdGg6MTMwcHg7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDIwOHB4KX0ueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZTstd2Via2l0LXRyYW5zaXRpb246ZGlzcGxheSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmRpc3BsYXkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjBweDtwb2ludGVyLWV2ZW50czpub25lO2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbjplbXB0eSwueXRwLWluZm8tcGFuZWwtcHJldmlldy1pY29uOmVtcHR5e2hlaWdodDowO3dpZHRoOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctdGV4dHtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7cG9pbnRlci1ldmVudHM6bm9uZTttYXJnaW46OHB4O2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7b3BhY2l0eToxO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3doaXRlLXNwYWNlOm5vcm1hbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlldy10ZXh0W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9I2lubGluZS1wcmV2aWV3LXBsYXllciAuY2FwdGlvbi13aW5kb3csI2lubGluZS1wcmV2aWV3LXBsYXllciAueXRwLWNhcHRpb24td2luZG93LWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtbW9kZXJuLWNhcHRpb24ueXRwLW13ZWItcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVye3dpZHRoOmNhbGMoMTAwJSAtIDQ4cHgpfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC5jYXB0aW9uLXdpbmRvdywueXRwLW1vZGVybi1jYXB0aW9uLnl0cC1td2ViLXBsYXllciAuY2FwdGlvbi13aW5kb3d7Ym9yZGVyOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1tb2Rlcm4tY2FwdGlvbiNpbmxpbmUtcHJldmlldy1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tb2Rlcm4tY2FwdGlvbi55dHAtbXdlYi1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1pbnB1dC1zbGlkZXJ7LS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudDowOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtsZWZ0OjA7cmlnaHQ6MDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtd3JpdGluZy1tb2RlOmhvcml6b250YWwtdGI7LW1zLXdyaXRpbmctbW9kZTpsci10Yjt3cml0aW5nLW1vZGU6aG9yaXpvbnRhbC10YjtkaXJlY3Rpb246bHRyfS55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwuMikgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiNmZmY7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tdG9wOi02cHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtaW5wdXQtc2xpZGVyOjotbXMtdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmFyaXNwZWVkLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsZnJvbSgjZmZmKSxjb2xvci1zdG9wKCNmZmYpLGNvbG9yLXN0b3AoIzkwOTA5MCksdG8oIzkwOTA5MCkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyey13ZWJraXQtd3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsOy1tcy13cml0aW5nLW1vZGU6YnQtcmw7d3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsO2RpcmVjdGlvbjpydGw7aGVpZ2h0OmluaGVyaXQ7d2lkdGg6MjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO3dpZHRoOjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AsI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMjU1LDI1NSwyNTUsLjIpIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSAxMDAlKTt3aWR0aDo0cHg7aGVpZ2h0OjEwMCV9Lnl0cC12ZXJ0aWNhbC1zbGlkZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1ie21hcmdpbi1yaWdodDotNnB4fS55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRodW1ie21hcmdpbi1yaWdodDowfX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3dpZHRoOjQ2cHg7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3BhZGRpbmc6OXB4O2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVke2Rpc3BsYXk6YmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3BhZGRpbmctdG9wOjEycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b257cGFkZGluZy10b3A6N3B4fS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVkLC55dHAtdGlueS1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b24ueXRwLWp1bXAtYnV0dG9uLWVuYWJsZWR7ZGlzcGxheTpub25lfS55dHAtanVtcC1idXR0b24tdGV4dHtmaWxsOiNmZmY7Zm9udC1zaXplOjlweDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Zm9udC13ZWlnaHQ6OTAwfS55dHAtanVtcC1zcGluIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3BpbjthbmltYXRpb24tbmFtZTp5dHAtanVtcC1zcGluOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9Lnl0cC1qdW1wLXNwaW4uYmFja3dhcmRzIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtanVtcC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtanVtcC1zcGluLWJhY2t3YXJkc3swJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW4tYmFja3dhcmRzezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fS55dHAtbGFyZ2UtcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTt3aWR0aDo2OHB4O2hlaWdodDo0OHB4O21hcmdpbi1sZWZ0Oi0zNHB4O21hcmdpbi10b3A6LTI0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo2M30ueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC1zaG9ydHMtbW9kZXt3aWR0aDo2OHB4O2hlaWdodDo5MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtc2hvcnRzLW1vZGV7d2lkdGg6MTAycHg7aGVpZ2h0OjEzNXB4fS55dHAtZG5pIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLXNtYWxsLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbnt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O21hcmdpbi1sZWZ0Oi0zNy41cHg7bWFyZ2luLXRvcDotMzcuNXB4fS5ob3VzZS1icmFuZCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXRvcDotMzBweH0ueXRwLWxhcmdlLXBsYXktYnV0dG9uIHN2Z3toZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ueXRwLWRuaSAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXkgLnl0cC1kbmktbGFyZ2UtcGxheS1idXR0b24tYmd7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ZmlsbC1vcGFjaXR5Oi44fS55dHAtZG5pIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWRuaS1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmaWxsLW9wYWNpdHk6MX0ueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6MTAycHg7aGVpZ2h0OjcycHg7bWFyZ2luLWxlZnQ6LTUxcHg7bWFyZ2luLXRvcDotMzZweH0uaG91c2UtYnJhbmQueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6OTBweDtoZWlnaHQ6OTBweDttYXJnaW4tbGVmdDotNDVweDttYXJnaW4tdG9wOi00NXB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheVthcmlhLWhpZGRlbj10cnVlXSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLC55dHAtbWVudS1zaG93biAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZC1wYW5lbCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtmaWxsOiMyMTIxMjE7ZmlsbC1vcGFjaXR5Oi44fS55dHAtbGFyZ2UtcGxheS1idXR0b24tcmVkLWJnIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyk7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtdG91Y2gtZGV2aWNlIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJney13ZWJraXQtdHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2ZpbGw6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpO2ZpbGwtb3BhY2l0eToxfS55dHAtY29sb3ItcGFydHkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1jb2xvci1wYXJ0eSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC10b3VjaC1kZXZpY2UgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZywueXRwLWNvbG9yLXBhcnR5IC55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXk6aG92ZXIgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktZmlsbCAuMTVzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWZpbGwgLjE1cyBsaW5lYXIgaW5maW5pdGV9LmhvdXNlLWJyYW5kIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJnLC5ob3VzZS1icmFuZCAueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDojMDAwfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NzI7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6d2hpdGU7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6cmdiYSgxNywxNywxNywuOCk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtkaXNwbGF5OmJsb2NrO3dpZHRoOjQwMHB4O292ZXJmbG93LXk6YXV0b31odG1sW2RhcmtdIC55dHAtbGlua2VkLWFjY291bnQtcG9wdXB7YmFja2dyb3VuZDpyZ2JhKDMzLDMzLDMzLC45NSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLWJ1dHRvbnN7cGFkZGluZzo4cHggOHB4IDhweCAyNHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYigyMzgsMjM4LDIzOCk7LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtYnV0dG9ue2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMDA3cHg7bGluZS1oZWlnaHQ6MjBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MTBweCAxNnB4fWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC1idXR0b257Y29sb3I6IzNlYTZmZn0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLXRpdGxle2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI4cHg7bWFyZ2luOjE2cHggMjRweDtjb2xvcjpyZ2IoMywzLDMpfWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC10aXRsZXtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtZGVzY3JpcHRpb257cGFkZGluZzowIDI0cHg7bWFyZ2luOjRweCAwIDI0cHh9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jb25maXJte2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzY2Njt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jYW5jZWx7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbjoxMnB4IDA7cGFkZGluZzoxMHB4IDIwcHg7Ym9yZGVyLXJhZGl1czoycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbWR4LXBvcHVwLWRpYWxvZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1tZHgtcG9wdXAtZGlhbG9nLWlubmVyLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTttYXJnaW4tdG9wOi03MHB4O2xlZnQ6MDtyaWdodDowO3BhZGRpbmc6MCAyMCV9Lnl0cC1tZHgtcG9wdXAtdGl0bGV7Zm9udC1zaXplOjIwcHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1keC1wb3B1cC1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLW1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDoyMHB4O2hlaWdodDo0NHB4fS55dHAtYmlnLW1vZGUgLm1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDozMHB4O2hlaWdodDo2N3B4fS5odG1sNS12aWRlby1wbGF5ZXIueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5lbmRlZC1tb2RlKTpub3QoLmN1ZWQtbW9kZSk6bm90KC51bnN0YXJ0ZWQtbW9kZSl7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC15cGMtcGxheWVyLWNvbnRlbnR7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci11aXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXt6LWluZGV4OjY4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KX0ueXRwLW1pbmlwbGF5ZXItc2NyaW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtdHJhbnNpdGlvbjouMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgLjFzO3RyYW5zaXRpb246LjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpIC4xcztvcGFjaXR5OjA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1taW5pcGxheWVyLXNjcmltOmZvY3VzLXdpdGhpbntvcGFjaXR5OjF9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtcGxheWVyLW1pbmltaXplZC51bnN0YXJ0ZWQtbW9kZSAueXRwLW1pbmlwbGF5ZXItc2NyaW17b3BhY2l0eToxfS55dHAtbWluaXBsYXllci1zY3JpbTpob3ZlcntvcGFjaXR5OjF9Lnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5lbmRlZC1tb2RlIC55dHAtbWluaXBsYXllci1idXR0b25ze2Rpc3BsYXk6YmxvY2t9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24tYm90dG9tLXJpZ2h0e2JvdHRvbTo0cHg7cmlnaHQ6MH0ueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbi10b3AtbGVmdHt0b3A6MDtsZWZ0OjB9Lnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo4cHg7Ym90dG9tOjhweDt3aWR0aDozMnB4O2hlaWdodDozMnB4O3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jb250cm9sc3tkaXJlY3Rpb246bHRyO2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjI2NHB4Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcnttaW4td2lkdGg6NjRweH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjY0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtbmV4dC1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcHJldi1idXR0b257d2lkdGg6MzJweDtoZWlnaHQ6MzJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXJ7bWluLXdpZHRoOjMycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcGxheS1idXR0b257d2lkdGg6NDJweDtoZWlnaHQ6NDJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWNvbnRyb2xzIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjdweDtib3R0b206MH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkueXRwLWxpdmUgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aXtkaXNwbGF5OmJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRpdGxle3dpZHRoOjIwMCU7dGV4dC1hbGlnbjpjZW50ZXI7cmlnaHQ6NDhweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC1leHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdHtib3R0b206MXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjQpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuNCk7dHJhbnNmb3JtOnNjYWxlWSgxLjQpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0xcHg7ei1pbmRleDo2OH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC10aW1lLWRpc3BsYXl7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXJ7Ym90dG9tOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC52aWRlby1hZHMsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC52aWRlby1hZHN7ZGlzcGxheTpibG9ja30ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheXtvdmVyZmxvdzpoaWRkZW59Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktZmx5b3V0LWN0YSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJ7Ym90dG9tOjMycHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206M3B4O2xlZnQ6NnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsIC55dHAtdG9vbHRpcC10aXRsZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO2ZvbnQtc2l6ZToxMnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3e21heC13aWR0aDpjYWxjKDEwMCUgLSAyNHB4KTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZTstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtcGxheWVyLW1pbmltaXplZCAuaHRtbDUtbWFpbi12aWRlbywueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1taW5pcGxheWVyLXNjcmlte2JvcmRlci1yYWRpdXM6MTJweCAxMnB4IDAgMH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLmh0bWw1LW1haW4tdmlkZW97Ym9yZGVyLXJhZGl1czowfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUgLmh0bWw1LW1haW4tdmlkZW8sLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1wbGF5ZXItZG9jdW1lbnQtcGljdHVyZS1pbi1waWN0dXJlIC55dHAtbWluaXBsYXllci1zY3JpbSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUuaHRtbDUtdmlkZW8tcGxheWVye2JvcmRlci1yYWRpdXM6MH0ueXRwLXRpdGxlLW5vdGlmaWNhdGlvbnN7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4tcmlnaHQ6NXB4O3RleHQtYWxpZ246Y2VudGVyfWJ1dHRvbi55dHAtYnV0dG9uLnl0cC10aXRsZS1ub3RpZmljYXRpb25ze21hcmdpbi1sZWZ0OjhweDt3aWR0aDo0OHB4fS55dHAtdGl0bGUtbm90aWZpY2F0aW9uczpub3QoLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQpIC55dHAtdGl0bGUtbm90aWZpY2F0aW9ucy1vbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1ub3RpZmljYXRpb25zLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQgLnl0cC10aXRsZS1ub3RpZmljYXRpb25zLW9mZntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRle3otaW5kZXg6MjE7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bm8tcmVwZWF0IDUwJS9jb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIyfS55dHAtb2ZmbGluZS1zbGF0ZS55dHAtb2ZmbGluZS1zbGF0ZS1oaWRlLWJhY2tncm91bmQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhY2tncm91bmR7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUueXRwLW9mZmxpbmUtc2xhdGUtaGlkZS1iYWNrZ3JvdW5kIC55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlOm5vdCgueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlcikgLnl0cC1vZmZsaW5lLXNsYXRlLWJhci1mYWRlLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MCA2cHg7bGVmdDoxMnB4O2hlaWdodDo1NnB4O2JvdHRvbTo2MHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2ZmZjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo0Njtib3JkZXItcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwuNik7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1iYXIueXRwLW9mZmxpbmUtc2xhdGUtYmFyLWhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0cC1lbWJlZCAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo1MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nOjAgOXB4O2hlaWdodDo4NHB4O2JvdHRvbTo5MHB4O2xlZnQ6MThweH0ueXRwLWVtYmVkLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo5MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntib3R0b206MTJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1iYXJ7Ym90dG9tOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWljb257bWFyZ2luOjAgMTRweDt3aWR0aDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue3dpZHRoOjM2cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257bWluLXdpZHRoOjgwcHg7aGVpZ2h0OjMycHg7cGFkZGluZzowIDhweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjI1KTtib3JkZXItcmFkaXVzOjJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6IzI4MjgyOH0ueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbiBzdmd7ZmlsbDojMjgyODI4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46MCA4cHg7bGluZS1oZWlnaHQ6MzJweDtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo1MDB9Lnl0cC1yZW1pbmRlci1tZW51e2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjU1cHg7b3V0bGluZTpub25lO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLXJlbWluZGVyLW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbWluZGVyLW1lbnUtY29udGVudHN7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNlZWU7ZGlzcGxheTp0YWJsZTtwYWRkaW5nOjhweCAwO3dpZHRoOjEwMCV9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW17Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTp0YWJsZS1yb3c7aGVpZ2h0OjQwcHg7b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW17aGVpZ2h0OjQ5cHh9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLXJlbWluZGVyLW1lbnUtaXRlbTpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW0taWNvbiwueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1sYWJlbHtkaXNwbGF5OnRhYmxlLWNlbGw7cGFkZGluZzowIDE1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWxhYmVse2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW0tbGFiZWx7cGFkZGluZzowIDE1cHggMCAwfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb257cGFkZGluZzowIDEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uc3ttYXJnaW46MThweCA5cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue21pbi13aWR0aDoxMjBweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjNweH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHttYXJnaW46MCAxMnB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtb2ZmbGluZS1zbGF0ZS1tZXNzYWdlc3std2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtbWVzc2FnZXN7bWluLXdpZHRoOjI3MHB4O21hcmdpbjowIDlweH0ueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0LC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtb2ZmbGluZS1zbGF0ZS1tYWluLXRleHR7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NDAwfS55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e2ZvbnQtc2l6ZToxMTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dG9wOjA7Ym90dG9tOjA7bGVmdDphdXRvO3JpZ2h0OjA7cGFkZGluZzoyNXB4O3BhZGRpbmctdG9wOjQ4cHg7bWluLXdpZHRoOmF1dG87d2lkdGg6MzAwcHg7aGVpZ2h0OmF1dG87Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtdHJhbnNpdGlvbjpyaWdodCAuMjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246cmlnaHQgLjI1cyBlYXNlLWluLW91dDt6LWluZGV4OjIzfS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nLXRvcDo2OXB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntyaWdodDotMTAwJX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtaWNvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWNsb3NlLWJ1dHRvbiwueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b257cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDt0b3A6NTAlO3JpZ2h0OjA7bWFyZ2luLXRvcDotMjVweDt6LWluZGV4OjIzfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1jbG9zZS1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b246YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4O2xlZnQ6MTVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt3aWR0aDoyMHB4fS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyLnl0cC1vZmZsaW5lLXNsYXRlLWNvbGxhcHNlZCAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1lc3NhZ2Vzey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6bm9uZTtmbGV4Om5vbmU7bWFyZ2luOjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1haW4tdGV4dHtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0e21hcmdpbi10b3A6MH0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtc3VidGl0bGUtdGV4dHtjb2xvcjojYWFhO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuM2VtO21hcmdpbjo1cHggMCAyMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e21hcmdpbi1sZWZ0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWRlc2NyaXB0aW9ue2Rpc3BsYXk6YmxvY2s7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LXNpemU6MTNweDttYXJnaW46MjBweCAwO21heC1oZWlnaHQ6MzAwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b25ze21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnMgLnl0cC1yZW1pbmRlci1tZW51e2JvdHRvbTphdXRvfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDphdXRvO3BhZGRpbmc6NHB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbiBzdmd7ZmlsbDojZmZmfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHtmb250LXNpemU6MTEwJTtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowIDhweH0ueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttaW4td2lkdGg6NDhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1vdmVyZmxvdy1idXR0b257cGFkZGluZy10b3A6MTZweH0ueXRwLW92ZXJmbG93LWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1vdmVyZmxvdy1wYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc0O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1vdmVyZmxvdy1wYW5lbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1vdmVyZmxvdy1wYW5lbC1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luLXRvcDotNDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6MTJweDtwYWRkaW5nOjA7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLW1vYmlsZS55dHAtZW1iZWQtbW9iaWxlIC55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2V7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1vdmVyZmxvdy1wYW5lbC1hY3Rpb24tYnV0dG9uc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo4cHggMTJweCA3MnB4O3otaW5kZXg6NTk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnQ+Kntwb2ludGVyLWV2ZW50czphdXRvO21hcmdpbi1ib3R0b206MTJweH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6YXV0b30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25ze21hcmdpbi1ib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25zPip7bWFyZ2luLWJvdHRvbToxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2JvdHRvbTowfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdD4qe3BvaW50ZXItZXZlbnRzOmF1dG87bWFyZ2luLXRvcDoxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tdG9wOjEycHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktaW5saW5lLWNvbnRhaW5lcnt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Z2FwOjEycHh9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXI+Kntwb2ludGVyLWV2ZW50czphdXRvfS55dHAtb3ZlcmxheXMtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzO3RyYW5zaXRpb246Ym90dG9tIC4xczstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIDBzO3RyYW5zaXRpb246Ym90dG9tIDBzfS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7aW5zZXQ6OHB4IDI0cHggNzhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1kZWxoaS1tb2Rlcm4pIC55dHAtb3ZlcmxheXMtY29udGFpbmVye3RvcDo2OXB4O2JvdHRvbTo3OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAyNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOjI0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTozNnB4fS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257ZGlzcGxheTpub25lfS55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjUzcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwOS4wOTA5MDkwOTA5JTtoZWlnaHQ6MzBweDtsZWZ0OjI1cHg7bGluZS1oZWlnaHQ6MzBweDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6Mjd9Lnl0cC1iaWctbW9kZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2ZvbnQtd2VpZ2h0OjQwMDtoZWlnaHQ6YXV0bztwb2ludGVyLWV2ZW50czphdXRvO3RvcDoxNnB4O2xlZnQ6MTZweDtyaWdodDphdXRvfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItbGVmdDo0cHggc29saWQgIzNlYTZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MzEycHg7cGFkZGluZzo4cHggMCA4cHggOHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rW2hyZWY9IiMiXXtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZDpub25lOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6OHB4fS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1jaGV2cm9ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWNoZXZyb246ZW1wdHksLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWljb246ZW1wdHl7aGVpZ2h0OjA7d2lkdGg6MH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTphdXRvO2hlaWdodDphdXRvO2xlZnQ6MTZweDtsaW5lLWhlaWdodDppbmhlcml0fS55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXt0b3A6NjRweH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtaGlkZS1pbmZvLWJhciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7dG9wOjE2cHh9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5Om5vbmV9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXktbGlua3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO3BhZGRpbmc6NXB4O2JvcmRlci1sZWZ0OnVuc2V0fS55dHAtZGVsaGktbW9kZXJuLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5OmJsb2NrO3dpZHRoOjRweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7bWFyZ2luOjAgOHB4fS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206NDVweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MzJweDtvcGFjaXR5OjE7cGFkZGluZzowIDE0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTo2MnB4O2hlaWdodDo0MnB4O2xlZnQ6NDRweDtsaW5lLWhlaWdodDo0MnB4fS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym90dG9tOjZweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1iaWctbW9kZS55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206MTJweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHRbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW1lbnVpdGVte2Rpc3BsYXk6dGFibGUtcm93O2N1cnNvcjpkZWZhdWx0O291dGxpbmU6bm9uZX0ueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW06bm90KC55dHAtbWVudWl0ZW0td2l0aC1mb290ZXIpe2hlaWdodDo0OXB4fS55dHAtbWVudWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLW1lbnVpdGVtOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1tZW51aXRlbS1pY29uLC55dHAtbWVudWl0ZW0tbGFiZWwsLnl0cC1tZW51aXRlbS1zZWNvbmRhcnktaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjB9Lnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0taWNvbiBzdmd7ZGlzcGxheTpibG9jazt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS55dHAtbWVudWl0ZW0tc2Vjb25kYXJ5LWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLWRlbGhpLW1vZGVybikgLnl0cC1tZW51aXRlbS1pY29uIHN2Z3t3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6dW5zZXR9Lnl0cC1tZW51aXRlbS1sYWJlbC13cmFwcGVye2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1tZW51aXRlbS1rZXlib2FyZC1zaG9ydGN1dHtmb250LXNpemU6MTE1JTtwYWRkaW5nLWxlZnQ6M3B4O2NvbG9yOiNjY2N9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1tZW51aXRlbXt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1wYW5lbC1tZW51e21hcmdpbi1yaWdodDoxMHB4fS55dHAtcXVhbGl0eS1tZW51IC55dHAtbWVudWl0ZW0tbGFiZWwgc3Vwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjB9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWxhYmVse3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1jb250ZW50e2Rpc3BsYXk6bm9uZX0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1sYWJlbHtwYWRkaW5nLWxlZnQ6MzVweDtwYWRkaW5nLXJpZ2h0OjIwcHg7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVtyb2xlPW1lbnVpdGVtcmFkaW9dIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjUycHg7cGFkZGluZy1yaWdodDozNXB4fS55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS1sYWJlbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRUa2dNVFl1TWlBMExqZ2dNVEpzTFRFdU5DQXhMalJNT1NBeE9TQXlNU0EzYkMweExqUXRNUzQwZWlJdlBqd3ZjM1puUGc9PSk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAxMHB4IGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjE4cHggMThweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToxOHB4IDE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tbGFiZWx7YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IDE1cHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToyN3B4IDI3cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MjdweCAyN3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI3cHggMjdweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1pY29uey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbDpmaXJzdC1jaGlsZHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDJweCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1lbnVpdGVtOmZvY3VzIC55dHAtbWVudWl0ZW0tY29udGVudHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXTpmb2N1cyAueXRwLW1lbnVpdGVtLWxhYmVsey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW1lbnVpdGVtLWNvbnRlbnR7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpyaWdodH0ueXRwLW1lbnVpdGVtLXN1YmxhYmVse2Zsb2F0OmxlZnR9Lnl0cC1tZW51LWxhYmVsLXNlY29uZGFyeSwueXRwLW1lbnVpdGVtLXN1YmxhYmVse2ZvbnQtc2l6ZTo5MSU7Y29sb3I6I2NjY30ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDlweCBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjMycHggMzJweDstbW96LWJhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O3BhZGRpbmctcmlnaHQ6MzhweH0ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfVtkaXI9cnRsXSAueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFNUxqUXhJREl3TGpBNUxUUXVOVGd0TkM0MU9TQTBMalU0TFRRdU5UbE1NVGdnT1M0MWJDMDJJRFlnTmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEzcHggY2VudGVyO2JhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDtwYWRkaW5nLXJpZ2h0OjU3cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS1jb250ZW50e2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEycHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToxOHB4IDE4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjE4cHggMThweDtwYWRkaW5nLXJpZ2h0OjMycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKdE9TNDBJREU0TGpRdExqY3RMamNnTlM0MkxUVXVOaTAxTGpjdE5TNDNMamN0TGpjZ05pNDBJRFl1TkhvaUx6NDhMM04yWno0PSl9Lnl0cC1kZWxoaS1tb2Rlcm4gW2Rpcj1ydGxdIC55dHAtbWVudWl0ZW1bYXJpYS1oYXNwb3B1cD10cnVlXSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKTk1UUXVPVFlnTVRndU9UWWdPQ0F4TW13MkxqazJMVFl1T1RZdU56RXVOekZNT1M0ME1TQXhNbXcyTGpJMUlEWXVNalY2SWk4K1BDOXpkbWMrKX0ueXRwLW1lbnVpdGVtIHN1cHtsaW5lLWhlaWdodDowO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW1lbnVpdGVtLWxhYmVsLWNvdW50e2NvbG9yOiNjY2N9Lnl0cC1tZW51aXRlbXRpdGxle3BhZGRpbmc6MCAxNXB4O21heC13aWR0aDoyMDBweDt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW10aXRsZXtwYWRkaW5nOjAgMjJweDttYXgtd2lkdGg6MzAwcHh9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNle21hcmdpbi1sZWZ0Oi44ZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlIHN2Z3toZWlnaHQ6MjBweDt3aWR0aDoyMHB4O21hcmdpbi1ib3R0b206LTRweH0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdWdnZXN0ZWQtYWN0aW9uKX0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodC10cmFuc2l0aW9uLWVuYWJsZWQueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVkKXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAzcyBsaW5lYXIgMXM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDNzIGxpbmVhciAxc30ueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLXRvcDoxNXB4fS55dHAtbWVudWl0ZW0tZm9vdGVye3BhZGRpbmctdG9wOjVweH0ueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7Y29sb3I6I2VlZTtwYWRkaW5nOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZzowfS55dHAtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1wYW5lbHttaW4td2lkdGg6MjUwcHh9Lnl0cC1wYW5lbC1oZWFkZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yKTtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToxMDklO2NvbG9yOiNlZWU7cGFkZGluZzo4cHggMDtoZWlnaHQ6NDBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1wYW5lbC1mb290ZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7bGluZS1oZWlnaHQ6aW5oZXJpdDtmb250LXNpemU6MTE4JTtmb250LXdlaWdodDo1MDA7Y29sb3I6I2VlZTtwYWRkaW5nOjE2cHggMDttaW4taGVpZ2h0OjQwcHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI1MHB4fS55dHAtcGFuZWwtZm9vdGVyLWNvbnRlbnR7bWFyZ2luOjAgMTBweH0ueXRwLXBhbmVsLWZvb3Rlci55dHAtcGFuZWwtaGlkZS1mb290ZXJ7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1wYW5lbC1mb290ZXItY29udGVudC1saW5re2NvbG9yOiMxNjdhYzZ9Lnl0cC10b3VjaC1tb2RlIC55dHAtcGFuZWwtaGVhZGVye2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC1oZWFkZXJ7aGVpZ2h0OjQ5cHh9Lnl0cC1wYW5lbC1iYWNrLWJ1dHRvbi1jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDhweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDo0OHB4fS55dHAtcGFuZWwtYmFjay1idXR0b257YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXpNaUF6TWlJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGliVEU1TGpReElESXdMakE1TFRRdU5UZ3ROQzQxT1NBMExqVTRMVFF1TlRsTU1UZ2dPUzQxYkMwMklEWWdOaUEyZWlJdlBqd3ZjM1puUGc9PSk7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLXBhbmVsLXRpdGxlOmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtcGFuZWwtb3B0aW9uc3ttYXJnaW4tbGVmdDphdXRvfS55dHAtcGFuZWwtdGl0bGV7Zm9udC13ZWlnaHQ6NTAwfVtkaXI9cnRsXSAueXRwLXBhbmVsLXRpdGxle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC10aXRsZXtiYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7cGFkZGluZzowIDE1cHggMCA1MnB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXBhbmVsLXRpdGxle3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLXBhbmVsLW9wdGlvbnN7aGVpZ2h0OjEwMCU7cGFkZGluZzowIDEwcHg7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWJpZy1tb2RlIC55dHAtcGFuZWwtb3B0aW9uc3twYWRkaW5nOjAgMTVweH0ueXRwLXBhbmVsLW1lbnV7cGFkZGluZzo4cHggMDtkaXNwbGF5OnRhYmxlO3dpZHRoOjEwMCU7Y29sb3I6I2VlZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NDZweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDo4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3BhZGRpbmc6MTBweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7cGFkZGluZzoxOHB4fS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1iaWctbW9kZS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NTJweDtoZWlnaHQ6NTJweDttYXJnaW4tdG9wOjZweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjE0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEycHggMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7cGFkZGluZzo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo2OXB4fS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NjBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uLXBsYXlsaXN0e21hcmdpbi10b3A6MTJweDt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcHJldi1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1uZXh0LWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXByZXYtYnV0dG9uLC55dHAtZW1iZWQueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLW5leHQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheS1idXR0b24sLnl0cC1wcmV2LWJ1dHRvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG99Lnl0cC1wbGF5bGlzdC1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtib3R0b206MDt3aWR0aDo0MDBweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjczO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51e2xlZnQ6YXV0bztyaWdodDowfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51e3dpZHRoOjYwMHB4fVtkaXI9bHRyXSAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtcGxheWxpc3QtbWVudVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX1bZGlyPXJ0bF0gLnl0cC1wbGF5bGlzdC1tZW51W2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX1bZGlyPXJ0bF0gLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1wbGF5bGlzdC1tZW51LWhlYWRlcntwYWRkaW5nOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQ0NH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1oZWFkZXJ7cGFkZGluZzoyM3B4fS55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmctcmlnaHQ6MTVweDtmb250LXNpemU6MTM2JTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3BhZGRpbmctcmlnaHQ6MjNweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXBsYXlsaXN0LW1lbnUtc3VidGl0bGV7Y29sb3I6I2I4YjhiODtsaW5lLWhlaWdodDoxN3B4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LXN1YnRpdGxle2xpbmUtaGVpZ2h0OjI2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjE1cHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1jbG9zZXt0b3A6MjNweDtyaWdodDoyM3B4O3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtcGxheWxpc3QtbWVudS1jbG9zZTpob3ZlciBwYXRoe2ZpbGw6I2ZmZn0ueXRwLXBsYXlsaXN0LW1lbnUtaXRlbXN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjY4cHg7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1pdGVtc3t0b3A6MTAzcHh9Lnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24sLnl0cC1lbWJlZC1wbGF5bGlzdC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0b30ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue21hcmdpbjphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmctcmlnaHQ6NnB4O2xpbmUtaGVpZ2h0OjM2cHg7b3BhY2l0eToxfS55dHAtZW1iZWQtcGxheWxpc3Q6bm90KC55dHAtc21hbGwtbW9kZSkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbnttYXJnaW4tbGVmdDoxMHB4O21hcmdpbi1yaWdodDoxMHB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmc6MDtsaW5lLWhlaWdodDppbmhlcml0O29wYWNpdHk6MTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHh9Lnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb24sLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7ZGlzcGxheTpibG9ja30ueXRwLWVtYmVkLXBsYXlsaXN0Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRpbnkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e2Rpc3BsYXk6Tm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDo1NHB4fS55dHAtZW1iZWQtcGxheWxpc3QueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToyMHB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbiwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWluLXdpZHRoOjQ4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWFyZ2luLXRvcDo5cHg7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzttaW4td2lkdGg6MzZweDttaW4taGVpZ2h0OjM2cHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjlweDtib3JkZXItcmFkaXVzOjI3cHg7bWF4LXdpZHRoOjQwMHB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb257LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDpub25lO2ZsZXg6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDp1bnNldDt6LWluZGV4OjU4fS55dHAtaGlkZS1pbmZvLWJhciAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXNjcnViYmVyLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDtsZWZ0Oi02LjVweDt6LWluZGV4OjQzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItY29udGFpbmVye3RvcDotM3B4O2xlZnQ6LTZweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi05LjVweDtsZWZ0Oi0xMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lcnt0b3A6LTlweDtsZWZ0Oi0xMnB4fS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi02cHg7bGVmdDotMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi04cHg7bGVmdDotMTBweH0ueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6MTNweDt3aWR0aDoxM3B4O2JvcmRlci1yYWRpdXM6Ni41cHg7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9ue2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0qIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLWhpZGUtc2NydWJiZXItYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTstbXMtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS41NCk7dHJhbnNmb3JtOnNjYWxlKDEuNTQpfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1idXR0b257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7Ym90dG9tOjIwcHg7bGVmdDoxMHB4fS55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntkaXNwbGF5Om5vbmU7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9ue2Rpc3BsYXk6YmxvY2t9LnlwYy1sb2FkZWQgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IzI3OTNlNn0uYWQtaW50ZXJydXB0aW5nIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmYzB9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLXByb2dyZXNzLWJhcjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS42Nyk7dHJhbnNmb3JtOnNjYWxlKDEuNjcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRyYWcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zY3J1YmJlci1idXR0b24taG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7dHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1kcmFnIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjE2NjY2NjY2NjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTt0cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQyO2JvdHRvbToxNi45cHg7bGVmdDo2LjVweDstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ueXRwLXNjcnViYmVyLXB1bGwtaW5kaWNhdG9yOmFmdGVyLC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjt0b3A6MDtsZWZ0OjA7b3BhY2l0eTowO3dpZHRoOjYuNXB4O2hlaWdodDo2LjVweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweCAwIDAgMnB4O2JvcmRlci1jb2xvcjojZWFlYWVhfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHh9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlcnstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xczt0cmFuc2l0aW9uOmFsbCAuMXN9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjpiZWZvcmV7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbjphbGwgLjJzfS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXIsLnl0cC1jaGFwdGVycy1jb250YWluZXJ7ei1pbmRleDozMjtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7aGVpZ2h0OjEwMCV9Lnl0cC1jaGFwdGVycy1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItaG92ZXItY29udGFpbmVye2Zsb2F0OmxlZnR9Lnl0cC1wcm9ncmVzcy1saXN0e3otaW5kZXg6Mzk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yKTtoZWlnaHQ6MTAwJTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1saXN0e292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsLjYpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6bHVtaW5vc2l0eX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWV4Y2x1c2lvbi55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtbGlzdHtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb259Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0uNXB4KSBzY2FsZVkoLjYyNSl9Lnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1wcm9ncmVzcy1saXN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtdG91Y2gtbW9kZSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtZHJhZyAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdCwueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkueXRwLXRpbWVkLW1hcmtlcnMtZW5hYmxlZCAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSB1bnNldDt0cmFuc2l0aW9uOnRyYW5zZm9ybSB1bnNldCwtd2Via2l0LXRyYW5zZm9ybSB1bnNldH0ueXRwLXJlcGVhdGluZy1jaGFwdGVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpfS55dHAtYm91bmQtdGltZS1sZWZ0LC55dHAtYm91bmQtdGltZS1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Om5vbmU7dG9wOi0yOXB4O3otaW5kZXg6Mjk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZTNlM2UzO3BhZGRpbmc6NXB4IDlweDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGVhc2UtaW47dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBlYXNlLWlufS55dHAtYmlnLW1vZGUgLnl0cC1ib3VuZC10aW1lLWxlZnQsLnl0cC1iaWctbW9kZSAueXRwLWJvdW5kLXRpbWUtcmlnaHR7dG9wOi0zNnB4fS55dHAtYm91bmQtdGltZS1sZWZ0e2xlZnQ6MH0ueXRwLWJvdW5kLXRpbWUtcmlnaHR7cmlnaHQ6MH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlciwueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtib3R0b206LTVweDt3aWR0aDowO2hlaWdodDowO2JvcmRlci1zdHlsZTpzb2xpZH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlcntsZWZ0OjA7Ym9yZGVyLXdpZHRoOjVweCA1cHggMCAwO2JvcmRlci1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cmlnaHQ6MDtib3JkZXItd2lkdGg6MCA1cHggNXB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHJnYmEoMjgsMjgsMjgsLjkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3MsLnl0cC1hZC1wcm9ncmVzcywueXRwLWNsaXAtZW5kLWV4Y2x1ZGUsLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGUsLnl0cC1ob3Zlci1wcm9ncmVzcywueXRwLWxvYWQtcHJvZ3Jlc3MsLnl0cC1wbGF5LXByb2dyZXNzLC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVyLC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMDstbXMtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDB9Lnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTt0b3A6MXB4O3otaW5kZXg6NDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMS44KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjgpO3RyYW5zZm9ybTpzY2FsZVkoMS44KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dG9wOi0ycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtdGltZWQtbWFya2VyLnl0cC10aW1lZC1tYXJrZXItaG92ZXJ7d2lkdGg6OXB4O2hlaWdodDozcHg7Ym90dG9tOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXIueXRwLXRpbWVkLW1hcmtlci1ob3ZlciwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVye3dpZHRoOjEycHg7aGVpZ2h0OjQuOHB4O2JvdHRvbTouNnB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlcnt3aWR0aDo1cHg7aGVpZ2h0OjEuNjdweDtib3R0b206MS41cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vye3dpZHRoOjZweDtoZWlnaHQ6Mi40cHg7Ym90dG9tOjJweH0ueXRwLXByb2dyZXNzLWJhci1zdGFydHtib3JkZXItcmFkaXVzOjNweCAwIDAgM3B4fS55dHAtcHJvZ3Jlc3MtYmFyLWVuZHtib3JkZXItcmFkaXVzOjAgM3B4IDNweCAwfS55dHAtcHJvZ3Jlc3MtYmFyLXN0YXJ0Lnl0cC1wcm9ncmVzcy1iYXItZW5ke2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdGltZWQtbWFya2Vye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO3dpZHRoOjNweDtoZWlnaHQ6M3B4O2JvdHRvbToxcHg7Ym9yZGVyLXJhZGl1czo1MCU7b3BhY2l0eToxfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZWQtbWFya2Vye2JvdHRvbToycHh9Lnl0cC1jbGlwLWVuZC1leGNsdWRlLC55dHAtY2xpcC1zdGFydC1leGNsdWRle2Rpc3BsYXk6bm9uZTt6LWluZGV4OjM3O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jbGlwLWVuZC1lbmFibGVkIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtc3RhcnQtZW5hYmxlZCAueXRwLWNsaXAtc3RhcnQtZXhjbHVkZXtkaXNwbGF5OmJsb2NrfS55dHAtbG9vcC1yYW5nZS1lbmFibGVkIC55dHAtY2xpcC1lbmQsLnl0cC1sb29wLXJhbmdlLWVuYWJsZWQgLnl0cC1jbGlwLXN0YXJ0e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1jbGlwLWhvdmVyIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtaG92ZXIgLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1saW5lYXItbGl2ZS1idWZmZXJ7ei1pbmRleDo0NTtiYWNrZ3JvdW5kOiNjMDA7b3BhY2l0eTowfS55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVye29wYWNpdHk6LjZ9Lnl0cC1hZC1wcm9ncmVzc3t6LWluZGV4OjM2O2JhY2tncm91bmQ6I2ZjMH0ueXRwLWxvYWQtcHJvZ3Jlc3N7ei1pbmRleDozMztiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS55dHAtbG9hZC1wcm9ncmVzcy55dHAtZmFzdC1sb2Fke2JhY2tncm91bmQ6IzAwODM4Zn0ueXRwLXBsYXktcHJvZ3Jlc3N7ei1pbmRleDozNDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxjb2xvci1zdG9wKDgwJSwjZjAzKSx0bygjZmYyNzkxKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmMDMgODAlLCNmZjI3OTEpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55cGMtbG9hZGVkIC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZDojMjc5M2U2fS5hZC1pbnRlcnJ1cHRpbmcgLnl0cC1wbGF5LXByb2dyZXNzLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kOiNmYzB9Lnl0cC1ob3Zlci1wcm9ncmVzc3t6LWluZGV4OjM1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTI1KTtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1ob3Zlci1wcm9ncmVzc3tvcGFjaXR5OjF9Lnl0cC1kZWxoaS1tb2Rlcm4uYWQtaW50ZXJydXB0aW5nIC55dHAtbG9hZC1wcm9ncmVzcywueXRwLWVuYWJsZS1saXZlLWJ1ZmZlciAueXRwLWhvdmVyLXByb2dyZXNzLC55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtbG9hZC1wcm9ncmVzc3tvcGFjaXR5OjB9Lnl0cC1ob3Zlci1wcm9ncmVzcy1saWdodHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3N7d2lkdGg6MXB4O2JhY2tncm91bmQ6IzAwMDt6LWluZGV4OjM2fS55dHAtMW0tcHJvZ3Jlc3N7aGVpZ2h0OjMwJX0ueXRwLTE1bS1wcm9ncmVzc3toZWlnaHQ6NTAlfS55dHAtMzBtLXByb2dyZXNze2hlaWdodDo1NSV9Lnl0cC02MG0tcHJvZ3Jlc3N7aGVpZ2h0OjYwJX0ueXRwLWNsaXAtZW5kLC55dHAtY2xpcC1zdGFydHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtib3R0b206LTQuNXB4O21hcmdpbi1sZWZ0Oi03cHg7ei1pbmRleDo0NDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjIxNDI4NTcxNDMpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTt0cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWNsaXAtZW5kLC55dHAtYmlnLW1vZGUgLnl0cC1jbGlwLXN0YXJ0e3dpZHRoOjIxcHg7aGVpZ2h0OjIxcHg7Ym90dG9tOi02LjVweDttYXJnaW4tbGVmdDotMTAuNXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTstbXMtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTt0cmFuc2Zvcm06c2NhbGVZKC4yMzgwOTUyMzgpfS55dHAtZHJhZyAueXRwLWNsaXAtZW5kLC55dHAtZHJhZyAueXRwLWNsaXAtc3RhcnQsLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1jbGlwLWVuZCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWNsaXAtc3RhcnQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1lbmQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1zdGFydHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1jbGlwLWVuZCBzdmcsLnl0cC1jbGlwLXN0YXJ0IHN2Z3tkaXNwbGF5OmJsb2NrfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7Ym90dG9tOjQ3cHg7aGVpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7ei1pbmRleDo2MDtib3R0b206dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KTtoZWlnaHQ6NnB4fS55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206MzZweDtoZWlnaHQ6NXB4fS55dHAtZW1iZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTozOXB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTo1Mi41cHg7aGVpZ2h0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCw5NnB4KX0ueXRwLXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjMxO291dGxpbmU6bm9uZX0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIueXRwLWhlYXQtbWFwLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXJ7b3BhY2l0eTowfS55dHAtbW9iaWxlIC55dHAtcHJvZ3Jlc3MtYmFye3BhZGRpbmctYm90dG9tOjEwcHh9Lnl0cC1wcm9ncmVzcy1iYXItcGFkZGluZ3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxNnB4O2JvdHRvbTowO3otaW5kZXg6Mjh9Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyNHB4fS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyMnB4O2JvdHRvbTotNnB4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtdG91Y2gtbW9kZSkgLnl0cC1jaGFwdGVyLWhvdmVyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtYmFyLXBhZGRpbmd7aGVpZ2h0OjMzcHg7Ym90dG9tOi05cHh9Lnl0cC10b3VjaC1tb2RlIC55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDo0MHB4O2JvdHRvbTotMTFweH1AcHJvcGVydHkgLS1zZWVrLXNjcnViYmVyLXdpZHRoe3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1zY3J1YmJlci1jb250YWluZXIteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tcHJvZ3Jlc3Mtd2lkdGh7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXByb2dyZXNzLWxlZnQtYnVmZmVye3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1wcm9ncmVzcy1yaWdodC1idWZmZXJ7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXVuaWZpZWQtc2Vlay1vZmZzZXQteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxle3N5bnRheDoiPG51bWJlcj4iO2luaXRpYWwtdmFsdWU6MTtpbmhlcml0czpmYWxzZX0ueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey0tcHJvZ3Jlc3Mtd2lkdGg6MHB4Oy0tcHJvZ3Jlc3MtbGVmdC1idWZmZXI6MHB4Oy0tcHJvZ3Jlc3MtcmlnaHQtYnVmZmVyOjBweDstLXNlZWstc2NydWJiZXItd2lkdGg6MHB4Oy0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlOjE7LS1zY3J1YmJlci1jb250YWluZXIteDowcHg7LS1oYWxmLXdpZHRoOmNhbGModmFyKC0tc2Vlay1zY3J1YmJlci13aWR0aCwgMHB4KSowLjUpOy0taGFsZi1oZWlnaHQ6bWluKHZhcigtLWhhbGYtd2lkdGgpLDIwcHgpOy0tdW5pZmllZC1zZWVrLW9mZnNldC14OmNhbGMobWF4KDBweCwKICAgICAgICAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSAtIHZhcigKICAgICAgICAgICAgLS1zY3J1YmJlci1jb250YWluZXIteAogICAgICAgICAgKSAtIHZhcigtLXByb2dyZXNzLWxlZnQtYnVmZmVyKSkgKyBtaW4oMHB4LAogICAgICAgIHZhcigtLXByb2dyZXNzLXdpZHRoKSArIHZhcigtLXByb2dyZXNzLXJpZ2h0LWJ1ZmZlcikgLSB2YXIoLS1zY3J1YmJlci1jb250YWluZXIteCkgLSAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSkpfS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uLC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbiwueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX19Lnl0cC11bmlmaWVkLXNlZWstY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MCAxNnB4O2hlaWdodDoxMDAlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9fS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQ2O21hcmdpbjowO3dpZHRoOi13ZWJraXQtbWF4LWNvbnRlbnQ7d2lkdGg6LW1vei1tYXgtY29udGVudDt3aWR0aDptYXgtY29udGVudDtoZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjIwcHg7b3ZlcmZsb3c6aGlkZGVuO3RvcDo1MCU7bGVmdDo1MCU7LXdlYmtpdC1jbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTtjbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKC01MCUgKyB2YXIoLS11bmlmaWVkLXNlZWstb2Zmc2V0LXgpKSwtNTAlKSBzY2FsZSh2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKTtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI2cHg7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsY29sb3Itc3RvcCg4MCUsI2YwMyksdG8oI2ZmMjc5MSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZjAzIDgwJSwjZmYyNzkxKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjpub3QoOmVtcHR5KT4ueXRwLXVuaWZpZWQtc2Vlay1pY29ue21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWxlZnQ6LTZweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6bm90KDplbXB0eSk+Lnl0cC11bmlmaWVkLXNlZWstaWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0cC11bmlmaWVkLXNlZWstYWN0aXZlIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXIgLnl0cC11bmlmaWVkLXNlZWstaWNvbi1yaWdodC13cmFwcGVyOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OjEwMCU7d2lkdGg6MjRweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjplbXB0eSwueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0cC11bmlmaWVkLXNlZWstc2hyaW5raW5nIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfX0ueXRwLXVuaWZpZWQtc2Vlay1zaHJpbmtpbmcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntvcGFjaXR5OjF9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2Upey55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX19Lnl0cC1wcm9tb3Rvb2x0aXAtd3JhcHBlcnttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDozMDBweDtoZWlnaHQ6MTQwcHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzfS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC13cmFwcGVye3dpZHRoOjQ1MHB4O2hlaWdodDoyMTBweH0ueXRwLXByb21vdG9vbHRpcC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2NvbG9yOiNmZmY7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC10cmFuc2Zvcm06bm9uZTtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wcm9tb3Rvb2x0aXAtY29udGVudHtwYWRkaW5nOjE2cHggMTZweCA0cHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWNvbnRlbnR7cGFkZGluZzoyNHB4IDI0cHggNnB4fS55dHAtcHJvbW90b29sdGlwLXRpdGxle21hcmdpbi1ib3R0b206OHB4O2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4fS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC10aXRsZXttYXJnaW4tYm90dG9tOjEycHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLXByb21vdG9vbHRpcC1idXR0b25ze3BhZGRpbmc6OHB4IDRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWJ1dHRvbnN7cGFkZGluZzoxMnB4IDZweH0ueXRwLXByb21vdG9vbHRpcC1hY2NlcHQtYnV0dG9uLC55dHAtcHJvbW90b29sdGlwLWRpc21pc3MtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjEwcHggMTZweDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtYWNjZXB0LWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGlzbWlzcy1idXR0b257cGFkZGluZzoxNXB4IDI0cHh9Lnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1zdHlsZTpzb2xpZDt0b3A6MTAwJTtib3JkZXItd2lkdGg6MTJweDtib3JkZXItY29sb3I6IzA2NWZkNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntib3JkZXItd2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb257d2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb24gc3Zne2hlaWdodDoyMnB4O3dpZHRoOjIycHg7bWFyZ2luOi03cHggLTVweH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGV0YWlscy1pY29ue3dpZHRoOjIycHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWRldGFpbHMtaWNvbiBzdmd7aGVpZ2h0OjMwcHg7d2lkdGg6MzBweDttYXJnaW46LTlweCAtN3B4fS55dHAtcmVtb3Rle2xlZnQ6MDtib3R0b206NjFweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWVtYmVkIC55dHAtcmVtb3Rle2JvdHRvbTo1M3B4fS55dHAtcmVtb3RlW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZXtib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1yZW1vdGV7Ym90dG9tOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze3otaW5kZXg6MTU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMnB4O2JvdHRvbTo2MXB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZy1yaWdodDo1cHg7Ym9yZGVyLXJhZGl1czo1cHg7b3BhY2l0eTouODV9Lnl0cC1lbWJlZCAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1c3tib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze2JvdHRvbTo3MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLWljb257ZmxvYXQ6bGVmdDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLXRleHR7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTtwYWRkaW5nLXRvcDoxMHB4O3BhZGRpbmctbGVmdDo1cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtdGV4dHtwYWRkaW5nLXRvcDoxNXB4O2xlZnQ6MTA1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1cy10ZXh0e3RvcDozMHB4fS55dHAtcmVwbGF5LWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtib3R0b206MDttYXJnaW4tbGVmdDotMjRweDt6LWluZGV4OjU5fS55dHAtZW1iZWQgLnl0cC1yZXBsYXktYnV0dG9ue2JvdHRvbTo0cHg7bWFyZ2luLWxlZnQ6LTIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjcuNXB4O21hcmdpbi1sZWZ0Oi0yN3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjEwcHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjI0LjVweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXBsYXktYnV0dG9ue21hcmdpbi1sZWZ0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbi55dHAtYXV0b25hdi10b2dnbGV7cGFkZGluZy1sZWZ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC12b2x1bWUtYXJlYXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdm9sdW1lLWFyZWE6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtd3JhcHBlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246aG92ZXI6YmVmb3Jle2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b217cGFkZGluZzowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7aGVpZ2h0OjhweDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNTAlLHJnYmEoMCwwLDAsMCkpLHRvKHJnYigxOSwxOSwxOSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2IoMTksMTksMTkpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwwKSA1MCUscmdiKDE5LDE5LDE5KSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1wcm9ncmVzcy1saXN0e2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoNjgsNjgsNjgpKSx0byhyZ2IoOTUsOTUsOTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXBsYXktcHJvZ3Jlc3N7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6OHB4O3dpZHRoOjhweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6NHB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxMzcsMTM3LDEzNykpLHRvKHJnYigxODYsMTg2LDE4NikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTM3LDEzNywxMzcpLHJnYigxODYsMTg2LDE4NikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDEzNywxMzcsMTM3KSxyZ2IoMTg2LDE4NiwxODYpKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uOm5vdCgueXRwLWNoYXB0ZXItdGl0bGUpe2JvcmRlci1yaWdodDoxcHggc29saWQgYmxhY2s7LXdlYmtpdC1ib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpO2JveC1zaGFkb3c6MXB4IDAgcmdiYSgyMjcsMjI3LDIyNywuMik7b3BhY2l0eTouOX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b24ueXRwLWF1dG9uYXYtdG9nZ2xle2JvcmRlci1sZWZ0OjFweCBzb2xpZCBibGFjaztwYWRkaW5nLWxlZnQ6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKSxpbnNldCAxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpLGluc2V0IDFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtZGlzcGxheXtwYWRkaW5nLWxlZnQ6MTBweH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b246YWN0aXZlOmZvY3VzLC55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtc3VidGl0bGVzLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV17YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtdm9sdW1lLXBhbmVsLnl0cC12b2x1bWUtY29udHJvbC1ob3ZlcnttYXJnaW4tbGVmdDo4cHh9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKTttYXJnaW4tbGVmdDotNnB4fS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtYmV6ZWx7Ym9yZGVyLXJhZGl1czp1bnNldDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgYm90dG9tLGxlZnQgdG9wLGZyb20ocmdiKDE5LDE5LDE5KSksdG8ocmdiKDUyLDUyLDUyKSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYigxOSwxOSwxOSkscmdiKDUyLDUyLDUyKSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpOy13ZWJraXQtYW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXRvb2x0aXAtYmcsLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtib3JkZXItcmFkaXVzOjB9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMXB4IDFweCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93Omluc2V0IDFweCAxcHggcmdiYSgyMjcsMjI3LDIyNywuMik7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXNldHRpbmdzLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbiBzdmd7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2V0dGluZ3MtYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gc3Zney13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzMGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzBkZWcpfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHg7aGVpZ2h0OjlweDt3aWR0aDoxM3B4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpO2JvcmRlci1yYWRpdXM6MXB4O2xpbmUtaGVpZ2h0Om5vcm1hbH0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NjZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTRrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUVWdOMmd4ZGpGSU5YcHROUzAwZGpGSU9GWXplazB6SURaV05XZ3lkakY2VFRJZ04yZ3hkakZJTW5wdE5TQXdhRE4yTVVnM2VtMHpMVEZvTVhZeGFDMHhlaUl2UGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVFVnTjFZMVNETjJNa2d5VmpKb01YWXlhREpXTW1neGRqVjZiVFl0TVdndE1YWXhTRGRXTW1nemRqRm9NWHB0TFRFdE1sWXpTRGgyTTJneWVpSXZQand2YzNablBnPT0pfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZHItcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE5DQTJJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1E5SWsweklEVm9NWFl4U0RONmJUVXROSFl4U0RaV01YcE5NU0EwVmpOb01uWXhlazB3SURWb01YWXhTREI2YlRVZ01HZ3pkakZJTlhwdE15MHhhREYyTVVnNGVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWsweklEVldNMGd4ZGpKSU1GWXdhREYyTW1neVZqQm9NWFkxZW0wMkxURklPSFl4U0RWV01HZ3pkakZvTVhwTk9DQXlWakZJTm5ZemFESjZJaTgrUEhCaGRHZ2dabWxzYkMxdmNHRmphWFI1UFNJdU5qUTNJaUJrUFNKTk1UTWdNbWd4ZGpGb0xURjZiVEFnTTJneGRqRm9MVEY2YlMweUxUSm9Nbll4YUMweWVtMHRNU0F5YURGMk1XZ3RNWHB0TVMwMGFESjJNV2d0TW5vaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTVRRZ00zWXlhQzB4VmpONmJTMHpMVE5vTW5ZeGFDMHlkakZvTW5ZeGFDMHlkakpvTFRGV01IcHRNaUF3YURGMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KTtoZWlnaHQ6NnB4O3dpZHRoOjE0cHg7cmlnaHQ6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2UxMDAyZDtib3JkZXItd2lkdGg6MXB4fS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMDBJRGRvTVhZeFNEUjZUVElnTm1neWRqRklNbnB0TVMweWFERjJNVWd6ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFeElEVjJNbWd0TVZZMWVtMHRNU0F3U0RoMk1rZzNWakpvTVhZeWFESjZUVFFnTkVnemRqRm9NWHB0TUNBelZqWklNbFkwYURGV00yZ3hWakpvTVhZemFERjJNVWcxZGpGNmJUWXROV2d4ZGpKb0xURjZJaTgrUEM5emRtYyspfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMHlJRGRvTTNZeFNESjZiVEF0TW1nemRqRklNbm9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB5SURab00zWXhTREp0TXkweWFERjJNVWcxYlRBdE1rZ3pWak5vTTFZeVNESjJNMmd6ZWlJdlBqd3ZjM1puUGc9PSl9Lnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLThrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xXOXdZV05wZEhrOUlpNDJORGNpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEV3SURSb01YWXhhQzB4ZW0wd0lETm9NWFl4YUMweGVrMDRJRFZvTW5ZeFNEaDZUVGNnTjJneGRqRklOM3BOTlNBMmFERjJNVWcxZWsweklEVm9Nbll4U0RONmJUQXRNbWd5ZGpGSU0zcHRNaUF4YURGMk1VZzFlazB5SURSb01YWXhTREo2YlRBZ01tZ3hkakZJTW5wdE1TQXhhREoyTVVnemVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRURXhJRFYyTW1ndE1WWTFlbTB0TVNBd1NEaDJNa2czVmpKb01YWXlhREo2YlRBdE0yZ3hkakpvTFRGNlRUTWdObWd5ZGpGSU0yMHdMVFZvTW5ZeFNETjZiVElnTTJneGRqRklOWHBOTXlBMGFESjJNVWd6ZW0weUxURm9NWFl4U0RWNlRUSWdOV2d4ZGpGSU1ucHRNQzB5YURGMk1VZ3llaUl2UGp3dmMzWm5QZz09KX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NaUF5YURSMk5VZ3lWalpvTTFZMVNESldOR2d6VmpOSU1ucHROU0F3YUROMk1VZzRkak5vTW5ZeFNEZDZiVE1nTVdneGRqTm9MVEY2SWk4K1BIQmhkR2dnWm1sc2JDMXZjR0ZqYVhSNVBTSXVOalEzSWlCa1BTSk5NaUF6YUROMk1VZ3llbTAySURCb01uWXhTRGg2VFRJZ05XZ3pkakZJTW5wdE9DQXhhREYyTVdndE1YcE5NaUEzYURSMk1VZ3llbTAxSURCb00zWXhTRGQ2SWk4K1BDOXpkbWMrKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazAxSURkV05VZ3pkakpJTWxZeWFERjJNbWd5VmpKb01YWTFlbTAyTFRGb0xURjJNVWczVmpKb00zWXhhREY2YlMweExUSldNMGc0ZGpOb01ub2lMejQ4TDNOMlp6ND0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TkNBMUlqNDhjR0YwYUNCa1BTSk5NeUExVmpOSU1YWXlTREJXTUdneGRqSm9NbFl3YURGMk5YcHROaTB4U0RoMk1VZzFWakJvTTNZeGFERjZUVGdnTWxZeFNEWjJNMmd5ZWsweE5DQXpkakpvTFRGV00zcHRMVEVnTUdndE1uWXlhQzB4VmpCb01YWXlhREo2YlRBdE1tZ3RNMVl3YURSMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVrMDBJRFJJTTNZeGFERjZiVEFnTTFZMlNESldOR2d4VmpOb01WWXlhREYyTTJneGRqRklOWFl4ZW0wMkxUVm9NWFl5YUMweGVpSXZQand2YzNablBnPT0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHhNU0ExZGpKb0xURldOWHB0TFRFZ01FZzRkakpJTjFZeWFERjJNbWd5ZW0wd0xUTm9NWFl5YUMweGVrMHlJRFpvTTNZeFNESnRNeTB5YURGMk1VZzFiVEF0TWtnelZqTm9NMVl5U0RKMk0yZ3plaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB6SURab01uWXhTRE50TUMwMWFESjJNVWd6ZW0weUlETm9NWFl4U0RWNlRUTWdOR2d5ZGpGSU0zcHRNaTB4YURGMk1VZzFlazB5SURWb01YWXhTREo2YlRBdE1tZ3hkakZJTW5vaUx6NDhMM04yWno0PSl9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQmtQU0pOTWlBeWFEUjJOVWd5Vmpab00xWTFTREpXTkdnelZqTklNbnB0TlNBd2FETjJNVWc0ZGpOb01uWXhTRGQ2YlRNZ01XZ3hkak5vTFRGNklpOCtQQzl6ZG1jKyl9Lnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDoxNXB4O3JpZ2h0OjZweDtwYWRkaW5nOjJweDtmb250LWZhbWlseTpWZXJkYW5hLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAycHggMCByZ2JhKDAsMCwwLC42KTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLXJhZGl1czoxLjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDo0cHg7cmlnaHQ6NHB4fS55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29sb3I6IzAwMDt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiSEQifS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IkhEUiI7Zm9udC1zaXplOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjRLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjVLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjhLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IjNEIn0ueXRwLWdlbmVyaWMtcG9wdXB7dG9wOjA7bGVmdDowO3BhZGRpbmc6NXB4IDlweDttYXgtd2lkdGg6MTQ0cHg7ei1pbmRleDo3Mn0ueXRwLWJpZy1tb2RlIC55dHAtZ2VuZXJpYy1wb3B1cHttYXgtd2lkdGg6MjE2cHh9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWdlbmVyaWMtcG9wdXAgYXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBvcHVwey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kbmkgLnl0cC1wb3B1cHt0ZXh0LXNoYWRvdzpub25lfS55dHAtcG9wdXBbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXBvcHVwLWFuaW1hdGluZ3std2Via2l0LXRyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtcG9wdXAtYW5pbWF0aW5nIC55dHAtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1wYW5lbC1hbmltYXRlLWJhY2ssLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7b3BhY2l0eTowfVtkaXI9bHRyXSAueXRwLXBhbmVsLWFuaW1hdGUtYmFja3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX1bZGlyPWx0cl0gLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtcGFuZWwtYW5pbWF0ZS1iYWNrey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfVtkaXI9cnRsXSAueXRwLXBhbmVsLWFuaW1hdGUtZm9yd2FyZHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX0ueXRwLXNldHRpbmdzLW1lbnV7cmlnaHQ6MTJweDtib3R0b206NjFweDt6LWluZGV4OjcwO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpO2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZW1iZWQgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e3JpZ2h0OjI0cHg7Ym90dG9tOjcwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtbWVudXtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCl9Lnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e3otaW5kZXg6MjMwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1wYW5lbC1tZW51e3BhZGRpbmc6OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbT46Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo4cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0+Omxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6OHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7cGFkZGluZy1yaWdodDo4cHh9Lnl0cC1zcGVlZHNsaWRlci1jb21wb25lbnR7aGVpZ2h0Ojk1cHg7b3V0bGluZTpub25lfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVye2hlaWdodDo0MHB4fS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50e3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNwZWVkc2xpZGVyLWNvbXBvbmVudCAueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2hlaWdodDo1cHh9Lnl0cC1zcGVlZHNsaWRlci10ZXh0e2ZvbnQtc2l6ZToxNTAlO3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXJpZ2h0OjhweDtyaWdodDoxMDAlfS55dHAtbWVudWl0ZW0tcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7bWFyZ2luLWxlZnQ6OHB4fS55dHAtbWVudWl0ZW0tY29udGFpbmVyLXdpdGgtYmFkZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXNwZWVkLXNsaWRlci1tZW51LWZvb3RlcntwYWRkaW5nOjE2cHh9Lnl0cC1zaG93LXNoYXJlLXRpdGxlLnl0cC1zaGFyZS1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy1zaGFyZS10aXRsZS55dHAtc2hhcmUtYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLDpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNoYXJlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmctdG9wOjRweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b257bWluLXdpZHRoOjQ4cHg7bWF4LXdpZHRoOjgwcHh9Lnl0cC1zaGFyZS1pY29ue21hcmdpbjphdXRvO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hhcmUtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLXNoYXJlLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTRweDtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXRpdGxlLC55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1zaGFyZS10aXRsZXtmb250LXNpemU6MjBweH0ueXRwLXNob3ctc2hhcmUtdGl0bGUgLnl0cC1zaGFyZS10aXRsZXtkaXNwbGF5OmJsb2NrfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLXNoYXJlLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtc2hhcmUtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo3NTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc2hhcmUtcGFuZWxbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LTY1cHg7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDEwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHttYXJnaW4tdG9wOi05OHB4fS55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6bm9uZTttYXJnaW46MjBweCBhdXRvIDA7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye21hcmdpbi10b3A6MzBweH0ueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6YmxvY2t9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3JpZ2h0OjEycHg7cGFkZGluZzo2cHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtY2xvc2V7dG9wOjlweDtyaWdodDoyNHB4O3BhZGRpbmc6OXB4O3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZSBwYXRoe2ZpbGw6I2FhYX0ueXRwLXNoYXJlLXBhbmVsLWNsb3NlOmhvdmVyIHBhdGh7ZmlsbDojZmZmfS55dHAtc2hhcmUtcGFuZWwtdGl0bGV7Zm9udC1zaXplOjE1NSU7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtdGl0bGV7bGluZS1oZWlnaHQ6MzBweH0ueXRwLXNoYXJlLXBhbmVsLWxpbmt7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjhweDttYXJnaW4tdG9wOjE4cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXNpemU6MjE4JTtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1saW5re2hlaWdodDo0MnB4O21hcmdpbi10b3A6MjdweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7ZGlzcGxheTpub25lO2xpbmUtaGVpZ2h0OjE1cHg7bWFyZ2luLXRvcDoxMnB4O2ZvbnQtc2l6ZToxMTglO2NvbG9yOiM5OTl9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7bGluZS1oZWlnaHQ6MjIuNXB4O21hcmdpbi10b3A6MThweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3QgaW5wdXRbdHlwZT1jaGVja2JveF17bWFyZ2luOjAgOHB4IDAgMH0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjIwcHg7aGVpZ2h0OjQ0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjMwcHg7aGVpZ2h0OjY3cHh9Lnl0cC1zaGFyZS1wYW5lbC55dHAtc2hhcmUtcGFuZWwtZmFpbCAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ucywueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtc2VydmljZS1idXR0b25ze2Rpc3BsYXk6bm9uZX0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6M3B4O3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6NXB4O3dpZHRoOjU3cHg7aGVpZ2h0OjU3cHh9Lnl0cC1zaGFyZS1wYW5lbC1lcnJvcntkaXNwbGF5Om5vbmU7bWFyZ2luLXRvcDoyMHB4O2ZvbnQtc2l6ZToxMDklfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1lcnJvcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1zaGFyZS1wYW5lbC1mYWlsIC55dHAtc2hhcmUtcGFuZWwtZXJyb3J7ZGlzcGxheTpibG9ja30ueXRwLXNob3BwaW5nLXByb2R1Y3QtbWVudXt6LWluZGV4OjcyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxLjM7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDt3aWxsLWNoYW5nZTp3aWR0aCxoZWlnaHQ7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtc2hvcHBpbmctcHJvZHVjdC1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbC1sb2dve3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjVweDstd2Via2l0LWJhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2JhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2Zsb2F0OmxlZnQ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo1MHB4O2hlaWdodDo1MHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6MjRweDtoZWlnaHQ6MjRweDttYXJnaW46MH0ueXRwLXNob3J0cy10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjozcHg7LXdlYmtpdC1ib3gtZmxleDppbml0aWFsOy13ZWJraXQtZmxleDppbml0aWFsO2ZsZXg6aW5pdGlhbDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjIycHh9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle3dvcmQtYnJlYWs6YnJlYWstd29yZDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToxOHB4fS55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjA7ZGlzcGxheTpub25lO2hlaWdodDphdXRvO21hcmdpbi1sZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnN0YXRpYzt0b3A6N3B4O2xlZnQ6OHB4O3dpZHRoOmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVse21hcmdpbi10b3A6MTBweH0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNocm9tZS10b3AgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCAueXRwLXNiey13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7bWFyZ2luOjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO3BhZGRpbmc6MDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXNoYWRvdzpub25lOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowfS55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJle21hcmdpbi1sZWZ0OjB9Lnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7bWFyZ2luLWxlZnQ6MH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7bWFyZ2luLXRvcDo3cHh9Lnl0cC1za2lwLWludHJvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjkwMTk2MDc4NDMpO2JvdHRvbTo1OHB4O2hlaWdodDo0OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDtyaWdodDoxMHB4O3otaW5kZXg6MTB9Lnl0cC1lbWJlZCAueXRwLXNraXAtaW50cm8tYnV0dG9ue2JvdHRvbTo1MHB4O2hlaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMDAwfS55dHAtYmlnLW1vZGUgLnl0cC1za2lwLWludHJvLWJ1dHRvbntib3R0b206NzlweDtyaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bWF4LXdpZHRoOjIwMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTUwcHg7aGVpZ2h0OjEwMCU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTowfS55dHAtc2xpZGVye2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7bWFyZ2luLXRvcDotMTBweDtiYWNrZ3JvdW5kOiNmZmY7b3V0bGluZTowfS55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0b3A6NTAlO2xlZnQ6MDtoZWlnaHQ6M3B4O21hcmdpbi10b3A6LTJweDt3aWR0aDoxNzBweDtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxlOmJlZm9yZXtsZWZ0Oi0xNjBweDtiYWNrZ3JvdW5kOiNmZmZ9Lnl0cC1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6MTBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1zbGlkZXItc2VjdGlvbjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW92ZXJsYXl7ei1pbmRleDoxMDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO2xlZnQ6MH0ueXRwLXNwZWVkbWFzdGVyLW92ZXJsYXl7dGV4dC1hbGlnbjpjZW50ZXI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXNwZWVkbWFzdGVyLXVzZXItZWR1ey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOjE4cHg7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDoyMHB4O3BhZGRpbmc6NnB4IDE2cHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zcGVlZG1hc3Rlci11c2VyLWVkdXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtc3BlZWRtYXN0ZXItdXNlci1lZHUueXRwLXNwZWVkbWFzdGVyLWhhcy1pY29uey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1zcGVlZG1hc3Rlci1pY29uLC55dHAtc3BlZWRtYXN0ZXItbGFiZWx7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXh9Lnl0cC1zcGVlZG1hc3Rlci1pY29ue21hcmdpbi1sZWZ0OjRweH0ueXRwLXNwZWVkbWFzdGVyLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0OHB4O2xlZnQ6MTJweDtvcGFjaXR5Oi42O2N1cnNvcjpwb2ludGVyO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6NDM7b3V0bGluZTpub25lfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3RvcDo2MHB4fS55dHAtYmlnLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjlweDt3aWR0aDo3NXB4O2hlaWdodDo3NXB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjBweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sLnl0cC1kcmFnZ2luZywueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sOmhvdmVye29wYWNpdHk6MX0ueXRwLWF1dG9oaWRlIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2wsLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2x7dG9wOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC13ZWJnbC1zcGhlcmljYWw6bm90KC55dHAtbWVudS1zaG93bikgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFifS55dHAtd2ViZ2wtc3BoZXJpY2FsLnl0cC1kcmFnZ2luZzpub3QoLnl0cC1tZW51LXNob3duKSAuaHRtbDUtdmlkZW8tY29udGFpbmVye2N1cnNvcjptb3ZlO2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZ30ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2w6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9LmVuZGVkLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbCwueXRwLW1lbnUtc2hvd24gLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTtpbnNldDowfS55dHAtc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjY0cHg7bWFyZ2luLWxlZnQ6LTMycHg7ei1pbmRleDoxODtwb2ludGVyLWV2ZW50czpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zcGlubmVye3dpZHRoOjEyOHB4O21hcmdpbi1sZWZ0Oi02NHB4fS55dHAtc3Bpbm5lci1tZXNzYWdle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi10b3A6NTAlO3dpZHRoOjMwMHB4O2ZvbnQtc2l6ZToxMjclO2xpbmUtaGVpZ2h0OjE4MiU7bWFyZ2luLWxlZnQ6LTE1MHB4O2Rpc3BsYXk6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO29wYWNpdHk6LjV9Lnl0cC1zcGlubmVyLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTAwJTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi10b3A6LTUwJTttYXJnaW4tbGVmdDotNTAlO2FuaW1hdGlvbjp5dHAtc3Bpbm5lci1saW5zcGluIDEuNTY4MjM1Mjk0MTE3NnMgbGluZWFyIGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxpbnNwaW4gMS41NjgyMzUyOTQxMTc2cyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1zcGlubmVyLXJvdGF0b3J7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstd2Via2l0LWFuaW1hdGlvbjp5dHAtc3Bpbm5lci1lYXNlc3BpbiA1MzMybXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItZWFzZXNwaW4gNTMzMm1zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9Lnl0cC1zcGlubmVyLWxlZnQsLnl0cC1zcGlubmVyLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ueXRwLXNwaW5uZXItbGVmdHtyaWdodDo0OSV9Lnl0cC1zcGlubmVyLXJpZ2h0e2xlZnQ6NDklfS55dHAtc3Bpbm5lci1jaXJjbGV7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjIwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojZGRkICNkZGQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXdpZHRoOjZweH0ueXRwLWJpZy1tb2RlIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjEycHh9Lnl0cC1zcGlubmVyLWxlZnQgLnl0cC1zcGlubmVyLWNpcmNsZXtsZWZ0OjA7cmlnaHQ6LTEwMCU7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxlZnQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSBpbmZpbml0ZSBib3RofS55dHAtc3Bpbm5lci1yaWdodCAueXRwLXNwaW5uZXItY2lyY2xle2xlZnQ6LTEwMCU7cmlnaHQ6MDtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWFuaW1hdGlvbjp5dHAtcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXJpZ2h0LXNwaW4gMTMzM21zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxpbnNwaW57dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtc3Bpbm5lci1saW5zcGlue3Rvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtc3Bpbm5lci1lYXNlc3BpbnsxMi41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQwNWRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpfTc1JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoODEwZGVnKX04Ny41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWVhc2VzcGluezEyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfTM3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0MDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNDA1ZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDU0MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNjc1ZGVnKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDgxMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg4MTBkZWcpfTg3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5NDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pO3RyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXNwaW5uZXItbGVmdC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTVkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxlZnQtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEzMGRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXJpZ2h0LXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1yaWdodC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKX19Lnl0cC1zZm57YmFja2dyb3VuZDpyZ2JhKDI4LDI4LDI4LC44KTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2xlZnQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt6LWluZGV4OjY0O21pbi13aWR0aDoyNmVtfS55dHAtc2ZuLWNsb3Nle2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjVweDt0b3A6NXB4O3BhZGRpbmc6NXB4fS55dHAtc2ZuLWNvbnRlbnR7cGFkZGluZzo1cHh9Lnl0cC1zZm4tY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC1zZm4tY3Bue2ZvbnQtZmFtaWx5OkNvbnNvbGFzLE1vbmFjbyxtb25vc3BhY2U7Zm9udC1zaXplOjEycHh9Lnl0cC1ob3Jpem9uY2hhcnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lnl0cC1ob3Jpem9uY2hhcnQ+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjE2O2JhY2tncm91bmQ6IzAwMDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlld3tjdXJzb3I6cG9pbnRlcn0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eTouNH0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6I2RkZDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMpO2JvcmRlci1yYWRpdXM6MThweDtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtib3R0b206MzZweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo0cHggMTBweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eToxfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5OmluaXRpYWx9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtc3Rvcnlib2FyZC1mcmFtZXByZXZpZXctaW1ne29wYWNpdHk6MX0ueXRwLWlubGluZS1wcmV2aWV3LW1vZGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy10aW1lc3RhbXB7ZGlzcGxheTppbml0aWFsfS55dHAtc2J7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZX0ueXRwLXNiIC55dHAtc2ItdW5zdWJzY3JpYmUsLnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXN1YnNjcmliZXtkaXNwbGF5Om5vbmV9Lnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXVuc3Vic2NyaWJle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtc2Itc3Vic2NyaWJlLC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoxOHB4O2JvcmRlcjpub25lO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4wMDdweDtsaW5lLWhlaWdodDoxNnB4O3BhZGRpbmc6MTBweCAxNnB4O3doaXRlLXNwYWNlOm5vd3JhcDstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6M3B4IDZweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zYi1zdWJzY3JpYmUsYS55dHAtc2Itc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMDMwMzAzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCl9Lnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpO2NvbG9yOiNmZmZ9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2NjYzt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtc2Itc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZCwueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDMsMTQ0LDEzOSk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1zYi1zdWJzY3JpYmU6Zm9jdXMsLnl0cC1zYi11bnN1YnNjcmliZTpmb2N1c3tvdXRsaW5lOm5vbmV9Lnl0cC1zYi55dHAtc2ItY2xhc3NpY3tiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbjo0cHggMH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUueXRwLXNiLWRpc2FibGVkLC55dHAtc2ItY2xhc3NpYyAueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpkZWZhdWx0fS55dHAtc2ItdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXNiLWNvdW50e21hcmdpbi1sZWZ0OjRweH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoycHg7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjAhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOm5vbmV9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJle2JvcmRlcjoxcHggc29saWQgI2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXI6MXB4IHNvbGlkICNjY2N9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnQsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdGV4dHtwYWRkaW5nOjNweCA2cHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnR7bWFyZ2luOi0xcHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjJweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Ym9yZGVyLWxlZnQ6MH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTAsMjUwLDI1MCl9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItdGV4dHtjb2xvcjojZmVmZWZlO2JhY2tncm91bmQtY29sb3I6I2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLXRleHR7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2NvbG9yOiM3MzczNzN9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItaWNvbntoZWlnaHQ6MTJweDttYXJnaW4tcmlnaHQ6NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHg7d2lkdGg6MTZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItaWNvbntiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQU1DQVlBQUFCcjV6MkJBQUFBblVsRVFWUTRUMlA4Ly8rL0p3TUR3MXdHQmdaSkJ0TEFjd1lHaG1URy8vLy9QeU5ETTh5cTV5QUQvcE5tTWFwcW5BWThrNUpnRUZteGxJSE56aG12K1RnTmVNckp5Y0Fvd01rZ05ITTZBNGRmT0U1RGNCcnduSk9UNGYvdkh3eU1iQXdNWEduSkRQd1Q1bUExaEVnRGtoajRKNEFpQ2hNUTlzS01hUXdjL2hHa2U0SGlRQ1EyYWlsTlNDOUFCbmhCazdJRXNiWkMxVDFsWUdCSUF3QlMxVXhCRTkvMmlBQUFBQUJKUlU1RXJrSmdnZz09KX0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFNQ0FZQUFBQnI1ejJCQUFBQS9VbEVRVlE0VDZXU01Vb0VRUkJGNjA4aWFMcVo0QW5FMERPSVlHWXVHTmpkTTRqUmlMa1lqU0lzTEYwdGdwa2dFM2dBY2NEVUc1aDZBQ01OcDc1TW9NeXV5bzVzcDlYMWZ0WC9CVm53WWNGKytSY2dwYlJHY2lJaVkrLzlReWMrR0JCajNNeXk3RnBFUm1ZMkNTR2NEUWFvNmk2QTgwNlE1TEgzL3U1cjlha0pxcXBhS2N2eW8rY0xWUFVFd0tHSXZKblpmZ2podWUvYk4wQlZqMFRrd016eVBNK2ZVa3JMSk1jQXRrbStBTmh6enIzT210NEg3QUM0RkpFbEVia2d1UVZnZytSajI3YWhLSXIzM3hLYldpSEd1QTdnQnNCcTk5bk1ycHFtT2EzcnV2MHI3aDhwcEpSR0pDT0FlK2ZjN2J3N0dSemo0QW5tS2M3V1B3RldSRjBOYzlSUXh3QUFBQUJKUlU1RXJrSmdnZz09KX0uY2FwdGlvbi13aW5kb3d7cG9zaXRpb246YWJzb2x1dGU7bGluZS1oZWlnaHQ6bm9ybWFsO3otaW5kZXg6NDE7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFiOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvd3t6LWluZGV4OjIxNDc0ODM2NDd9LmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDo0OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxtYXJnaW4tdG9wIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjY5cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjg5cHh9Lnl0cC1hdXRvaGlkZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlLWFjdGl2ZSAuY2FwdGlvbi13aW5kb3d7cG9pbnRlci1ldmVudHM6bm9uZX15dGQtcmVlbC12aWRlby1yZW5kZXJlciAuc2hvcnQtdmlkZW8tY29udGFpbmVyIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctdG9we21hcmdpbi10b3A6NjlweH0uY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjYxcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksbWFyZ2luLXRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjExMHB4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToyMDBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTVweH0ueXRwLWVtYmVkIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NzBweH0ueXRwLWF1dG9oaWRlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5IC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWF1dG9oaWRlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1hdXRvaGlkZS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scy55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWhpZGUtY29udHJvbHMueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tdXRlZC1hdXRvcGxheS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTowfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NDVweDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTFweH0ueXRwLWVtYmVkLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNjBweH0ueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217ZGlzcGxheTpub25lO29wYWNpdHk6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtYWQtb3ZlcmxheS1vcGVuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtZGVsaGktbW9kZXJuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmd7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmU7Y3Vyc29yOm1vdmU7Y3Vyc29yOi13ZWJraXQtZ3JhYmJpbmc7Y3Vyc29yOmdyYWJiaW5nfS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZXtvdmVyZmxvdzpoaWRkZW59LmNhcHRpb24td2luZG93IC55dHAtaWNvbiwuY2FwdGlvbi13aW5kb3cgc3Zne3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7dmVydGljYWwtYWxpZ246Ym90dG9tO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxZW07bWF4LWhlaWdodDoxZW19Lnl0cC1lbWJlZCAuY2FwdGlvbi13aW5kb3cgLnl0cC1pY29uLC55dHAtZW1iZWQgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZSAuY2FwdGlvbnMtdGV4dHstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjQzM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNDMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC40MzNzIGN1YmljLWJlemllcigwLDAsLjIsMSl9LmNhcHRpb24tZWRpdHtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO2JhY2tncm91bmQ6cmdiYSg4LDgsOCwuNzUpO2JvcmRlcjpub25lO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcn0uY2FwdGlvbi1lZGl0IHN2Z3ttYXgtaGVpZ2h0OjYwJTttYXgtd2lkdGg6NjAlfS5jYXB0aW9uLWVkaXQ6Zm9jdXMsLmNhcHRpb24td2luZG93OmZvY3VzIC5jYXB0aW9uLWVkaXQsLnl0cC1jYXB0aW9uLXdpbmRvdy1yb2xsdXAgLmNhcHRpb24tZWRpdDpob3ZlciwueXRwLWNhcHRpb24td2luZG93LXJvbGx1cDpob3ZlciAuY2FwdGlvbi1lZGl0e29wYWNpdHk6MX0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXZpc3VhbC1saW5lIC55dHAtY2FwdGlvbi1zZWdtZW50OmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDouMjVlbTtwYWRkaW5nLXRvcDowfS5odG1sNS12aWRlby1wbGF5ZXIgLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0Oi4yNWVtO3BhZGRpbmctYm90dG9tOjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6Zmlyc3QtY2hpbGR7cGFkZGluZy10b3A6LjI1ZW07cGFkZGluZy1sZWZ0OjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTouMjVlbTtwYWRkaW5nLXJpZ2h0OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otanVzdGlmeS1jb250ZW50OmxlZnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6bGVmdDstd2Via2l0LWJveC1wYWNrOmxlZnQ7anVzdGlmeS1jb250ZW50OmxlZnR9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo2MHB4O2xlZnQ6NjBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo5MHB4O2xlZnQ6OTBweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ei1pbmRleDo2MDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTZweDtsZWZ0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6MzRweDtoZWlnaHQ6MzRweDt3aWR0aDozNHB4O3BhZGRpbmc6N3B4O2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTp1bnNldH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfXl0ZC13YXRjaC1mbGV4eVt0aGVhdGVyXSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6dW5zZXR9eXRkLXdhdGNoLWZsZXh5W3RoZWF0ZXJdIC5hZC1zaG93aW5nIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7cG9zaXRpb246cmVsYXRpdmU7Ym90dG9tOjA7bGVmdDowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO2JvcmRlcjpub25lO2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czo0MHB4O3BhZGRpbmc6MTJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6bm90KC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCl7cGFkZGluZzowIDhweH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ZGlzcGxheTpub25lfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtvcGFjaXR5OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlOmhvdmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JhY2tncm91bmQtY29sb3I6cmdiYSgzMywzMywzMywuOTUpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTlweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygodmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA2cHgpKi0xKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4KSotMSkpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtODBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQpe3dpZHRoOmF1dG99Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaUkyWm1aaUlnZG1sbGQwSnZlRDBpTUNBd0lESTBJREkwSWo0OGNHRjBhQ0JtYVd4c1BTSnViMjVsSWlCa1BTSk5NQ0F3YURJMGRqSTBTREI2SWk4K1BIQmhkR2dnWkQwaVRURTRJRFpvTFRKak1DMHlMakl4TFRFdU56a3ROQzAwTFRSVE9DQXpMamM1SURnZ05rZzJZeTB4TGpFZ01DMHlJQzQ1TFRJZ01uWXhNbU13SURFdU1TNDVJRElnTWlBeWFERXlZekV1TVNBd0lESXRMamtnTWkweVZqaGpNQzB4TGpFdExqa3RNaTB5TFRKdExUWXRNbU14TGpFZ01DQXlJQzQ1SURJZ01tZ3ROR013TFRFdU1TNDVMVElnTWkweWJUWWdNVFpJTmxZNGFESjJNbU13SUM0MU5TNDBOU0F4SURFZ01YTXhMUzQwTlNBeExURldPR2cwZGpKak1DQXVOVFV1TkRVZ01TQXhJREZ6TVMwdU5EVWdNUzB4Vmpob01ub2lMejQ4TDNOMlp6ND0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi1jdXN0b20taWNvbiwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29uLWN1c3RvbS1pY29ue2JhY2tncm91bmQtaW1hZ2U6bm9uZTt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmO21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6NnB4O2N1cnNvcjpwb2ludGVyfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS10aXRsZXtmb250LXdlaWdodDo1MDB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtib3JkZXItcmFkaXVzOjhweDt3aWR0aDoyOThweDtoZWlnaHQ6NjRweDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI5MHB4O3BhZGRpbmc6NHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tZGV0YWlscyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWRldGFpbHMgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLXN1YnRpdGxle292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NDAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxzIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1tZXRhZGF0YS10ZXh0e29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NTAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWd7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDojZmZmO2hlaWdodDo1NnB4O3dpZHRoOjU2cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWc+aW1ne3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbn06aXMoOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCksLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCkgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb257ZGlzcGxheTpub25lfTppcygueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1jb2xsYXBzZWQsLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWNvbnRlbnQtZm9yd2FyZC1jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3dpZHRoOjA7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4taW5saW5lLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC1tYXJnaW4tc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbHtoZWlnaHQ6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MTt3aWR0aDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWV4cGFuZGVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDowO21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7d2lkdGg6MjRweH06aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctY29sbGFwc2VkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHg7b3BhY2l0eToxO3dpZHRoOjE4cHg7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4gOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtY29udGVudC1mb3J3YXJkLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkKSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWw6Zmlyc3QtY2hpbGR7d2lkdGg6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTJweDt3aWR0aDoycHg7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zMjstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLW1vcmUtcHJvZHVjdHMtaWNvbntoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6dW5zZXR9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ1ptbHNiRDBpSTJabVppSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQmtQU0pOTVRZdU1qUWdPUzR4TnlBeE15NDBNU0F4TW13eUxqZ3pJREl1T0RNdE1TNDBNU0F4TGpReFRERXlJREV6TGpReGJDMHlMamd6SURJdU9ETXRNUzQwTVMweExqUXhUREV3TGpVNUlERXlJRGN1TnpZZ09TNHhOMnd4TGpReExURXVOREZNTVRJZ01UQXVOVGxzTWk0NE15MHlMamd6ZWswMExqa3pJRFF1T1ROakxUTXVPVEVnTXk0NU1TMHpMamt4SURFd0xqSTBJREFnTVRRdU1UUWdNeTQ1TVNBekxqa3hJREV3TGpJMElETXVPVEVnTVRRdU1UUWdNQ0F6TGpreExUTXVPVEVnTXk0NU1TMHhNQzR5TkNBd0xURTBMakUwTFRNdU9TMHpMamt4TFRFd0xqSTBMVE11T1RFdE1UUXVNVFFnTUcweE15NDBNeTQzTVdNekxqVXhJRE11TlRFZ015NDFNU0E1TGpJeUlEQWdNVEl1TnpOekxUa3VNaklnTXk0MU1TMHhNaTQzTXlBd0xUTXVOVEV0T1M0eU1pQXdMVEV5TGpjell6TXVOVEl0TXk0MU1TQTVMakl5TFRNdU5URWdNVEl1TnpNZ01DSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47b3BhY2l0eTouNjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRURTVJRFl1TkRFZ01UY3VOVGtnTlNBeE1pQXhNQzQxT1NBMkxqUXhJRFVnTlNBMkxqUXhJREV3TGpVNUlERXlJRFVnTVRjdU5Ua2dOaTQwTVNBeE9TQXhNaUF4TXk0ME1TQXhOeTQxT1NBeE9TQXhPU0F4Tnk0MU9TQXhNeTQwTVNBeE1ub2lMejQ4TDNOMlp6ND0pO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZGlzbWlzcy1idXR0b24taWNvbjpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1vZmZsaW5lLXNsYXRle2JvdHRvbTozMnB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6OHB4O3dpZHRoOjI4MHB4O2hlaWdodDo2NHB4O3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtZmVhdHVyZWQtcHJvZHVjdD4ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI3MnB4O3BhZGRpbmc6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEU1SURZdU5ERWdNVGN1TlRrZ05TQXhNaUF4TUM0MU9TQTJMalF4SURVZ05TQTJMalF4SURFd0xqVTVJREV5SURVZ01UY3VOVGtnTmk0ME1TQXhPU0F4TWlBeE15NDBNU0F4Tnk0MU9TQXhPU0F4T1NBeE55NDFPU0F4TXk0ME1TQXhNbm9pTHo0OEwzTjJaejQ9KTtvcGFjaXR5Oi44O2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbHtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbD5pbWd7d2lkdGg6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDstby1vYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LWZpdDpjb250YWlufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vcGVuLWluLW5ld3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NHB4O3JpZ2h0OjRweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWswek9DQXpPRWd4TUZZeE1HZ3hORlkyU0RFd1l5MHlMakl4SURBdE5DQXhMamM1TFRRZ05IWXlPR013SURJdU1qRWdNUzQzT1NBMElEUWdOR2d5T0dNeUxqSXhJREFnTkMweExqYzVJRFF0TkZZeU5HZ3ROSHBOTWpnZ05uWTBhRGN1TVRkTU1UVXVOVEVnTWprdU5qWnNNaTQ0TXlBeUxqZ3pURE00SURFeUxqZ3pWakl3YURSV05ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LWNvdW50ZG93bntmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtYWZmaWxpYXRlLWRpc2NsYWltZXJ7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWR7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1yaWdodDo0cHg7b3BhY2l0eTouN30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtaW5mby1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWsweU1pQXpOR2cwVmpJeWFDMDBlbTB5TFRNd1F6RXlMamsxSURRZ05DQXhNaTQ1TlNBMElESTBjemd1T1RVZ01qQWdNakFnTWpBZ01qQXRPQzQ1TlNBeU1DMHlNRk16TlM0d05TQTBJREkwSURSdE1DQXpObU10T0M0NE1pQXdMVEUyTFRjdU1UZ3RNVFl0TVRaVE1UVXVNVGdnT0NBeU5DQTRjekUySURjdU1UZ2dNVFlnTVRZdE55NHhPQ0F4TmkweE5pQXhObTB0TWkweU1tZzBkaTAwYUMwMGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7bWFyZ2luLXJpZ2h0OjhweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vdmVyZmxvdy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlpMDFJQzAxSURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKTk1USWdPR014TGpFZ01DQXlMUzQ1SURJdE1uTXRMamt0TWkweUxUSXRNaUF1T1MweUlESWdMamtnTWlBeUlESnRNQ0F5WXkweExqRWdNQzB5SUM0NUxUSWdNbk11T1NBeUlESWdNaUF5TFM0NUlESXRNaTB1T1MweUxUSXRNbTB3SURaakxURXVNU0F3TFRJZ0xqa3RNaUF5Y3k0NUlESWdNaUF5SURJdExqa2dNaTB5TFM0NUxUSXRNaTB5SWk4K1BDOXpkbWMrKTtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4O29wYWNpdHk6Ljg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXZlbmRvcntvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdmVuZG9yLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVke2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5ne292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVkIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy10ZXh0e29wYWNpdHk6Ljc7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5nPi55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdMVGsyTUNBNU5qQWdPVFl3SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSnRNVEl6TFRJME1DMDBNeTAwTXlBeU9USXRNamt4SURFMk55QXhOamNnTWpReExUSTBNVWcyTlROMkxUWXdhREl5TjNZeU1qZG9MVFU1ZGkweE1qTk1OVE00TFRNeU1TQXpOekV0TkRnNGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxMnB4O3dpZHRoOjEycHg7bWFyZ2luLXRvcDoycHg7bWFyZ2luLXJpZ2h0OjRweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZ3tkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByaWNlLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVyIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcm9tb3Rpb24tdGV4dHtmb250LXdlaWdodDo1MDA7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZXt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO21hcmdpbi1sZWZ0OjRweH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2V7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByb21vdGlvbi10ZXh0OmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2U6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQ6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtY29udGFpbmVyLC55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWV4Y2x1c2l2ZS1iYWRnZXtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGZyb20oIzdmMGU3ZiksY29sb3Itc3RvcCgjZGIxZGRiKSx0bygjZWQ1NThmKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCM3ZjBlN2YsI2RiMWRkYiwjZWQ1NThmKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmLCNkYjFkZGIsI2VkNTU4Zik7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoycHggNHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtdGV4dHtsaW5lLWhlaWdodDoxMDAlO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtZXhjbHVzaXZlLWNvdW50ZG93bnttYXJnaW4tbGVmdDo0cHg7bGluZS1oZWlnaHQ6MTAwJX0ueXRwLXRpbWUtZGlzcGxheXtmb250LXNpemU6MTA5JTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzowIDVweDt3aGl0ZS1zcGFjZTpub3dyYXA7bGluZS1oZWlnaHQ6NDdweH0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC10aW1lLWRpc3BsYXksLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUxcHh9Lnl0cC1lbWJlZCAueXRwLXRpbWUtZGlzcGxheSwueXRwLXNtYWxsLW1vZGUgLnl0cC10aW1lLWRpc3BsYXl7bGluZS1oZWlnaHQ6MzlweH0ueXRwLWJpZy1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUzcHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWRpc3BsYXk6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtmb250LXNpemU6MTRweDttaW4td2lkdGg6MDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSA4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtZGlzcGxheXtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtmb250LXNpemU6MTZweDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtdG9wLWhlaWdodCwyMHB4KSAxMnB4fS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC10aW1lLWRpc3BsYXktYWxsb3ctYXV0b2hpZGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7bWluLXdpZHRoOjA7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtd3JhcHBlcntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jdXJyZW50LC55dHAtdGltZS1kdXJhdGlvbiwueXRwLXRpbWUtc2VwYXJhdG9ye2NvbG9yOiNkZGR9Lnl0cC10aW1lLXdyYXBwZXItZGVsaGl7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWN1cnJlbnR7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtcHJpbWFyeSwjZmZmKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtZHVyYXRpb24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXNlcGFyYXRvcntjb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpO2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWxpdmUgLnl0cC10aW1lLWNvbnRlbnRze2Rpc3BsYXk6bm9uZX0qIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdlLC55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxpdmUtYmFkZ2V7dGV4dC10cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2UsLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlIC55dHAtbGl2ZS1iYWRnZXtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjZweDtoZWlnaHQ6NnB4O3ZlcnRpY2FsLWFsaWduOjQlO21hcmdpbi1yaWdodDo1cHg7YmFja2dyb3VuZDojNzU3NTc1O2NvbnRlbnQ6IiI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle3dpZHRoOjlweDtoZWlnaHQ6OXB4O2JvcmRlci1yYWRpdXM6OXB4fS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1saXZlLWJhZGdlW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWxpdmUtYmFkZ2VbZGlzYWJsZWRde29wYWNpdHk6MX0ueXRwLWxpdmViYWRnZS1jb2xvciAueXRwLWxpdmUtYmFkZ2UueXRwLWxpdmUtYmFkZ2UtaXMtbGl2ZWhlYWQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpfS55dHAtdGltZS1kaXNwbGF5Lnl0cC1jbGlwe292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24sLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvciwueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9yLC55dHAtY2xpcCAueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6aW5saW5lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOjEycHg7bWFyZ2luLWxlZnQ6OHB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6NXB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MH0ueXRwLXRpbWUtY2xpcC1pY29uIHN2Z3t3aWR0aDoxNnB4O2hlaWdodDoxNnB4O21hcmdpbi1ib3R0b206LTNweDtmaWxsOiNkZGR9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvcnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjhweDtmb250LXdlaWdodDo3MDB9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2V7d2lkdGg6YXV0b30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtY29udGVudHN7b3ZlcmZsb3c6aGlkZGVufS55dHAtbm8tbGluayxzcGFuLnl0cC10aXRsZS1jaGFubmVsLW5hbWV7Y3Vyc29yOmRlZmF1bHQ7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXRpdGxle292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC10aXRsZSAueXRwLXRpdGxlLXRleHQsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLXRvcCAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dCwueXRwLWhpZGUtZnVsbHNjcmVlbi10aXRsZSAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dHtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS10ZXh0e3ZlcnRpY2FsLWFsaWduOnRvcDttYXgtd2lkdGg6MTAwJTtwYWRkaW5nLXRvcDoxMnB4O2ZvbnQtc2l6ZToxOHB4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTtmbGV4OjE7cGFkZGluZy1sZWZ0OjRweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxOHB4O2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmctbGVmdDo2cHh9Lnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoyMXB4fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS10ZXh0e2ZvbnQtc2l6ZToxNnB4O3doaXRlLXNwYWNlOm5vcm1hbDtwYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctcmlnaHQ6NTNweH0ueXRwLWJpZy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDozNnB4fS55dHAtYmlnLW1vZGUueXRwLXNob3J0cy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxN3B4O2ZvbnQtc2l6ZToyM3B4O3BhZGRpbmctcmlnaHQ6NjRweH0ueXRwLXRpdGxlLXRleHQtbGFyZ2VyLWxpbmUtaGVpZ2h0IC55dHAtdGl0bGUtdGV4dHtsaW5lLWhlaWdodDoxLjM1fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS1saW5re292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC10aXRsZS1zdWJ0ZXh0e2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtY2hhbm5lbC1uYW1le21hcmdpbi10b3A6LjI1cmVtO2Rpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5KX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc3VidGV4dHtmb250LXNpemU6MjBweH0ueXRwLXRpdGxlLXN1YnRleHQgYTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1mdWxsZXJzY3JlZW4tbGlua3tjdXJzb3I6ZGVmYXVsdH0ueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtoZWlnaHQ6MTRweDt3aWR0aDozNnB4O2Zsb2F0OnJpZ2h0O3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyMXB4O3dpZHRoOjU0cHg7Ym9yZGVyLXJhZGl1czoyMXB4fS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtvcGFjaXR5Oi4zfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjojOTA5MDkwfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSBwYXRoe2ZpbGw6IzkwOTA5MH0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JvcmRlci1yYWRpdXM6MDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtY29udGV4dG1lbnUueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1jb250ZXh0bWVudSAueXRwLW1lbnVpdGVtIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRrZ01UWXVNaUEwTGpnZ01USnNMVEV1TkNBeExqUk1PU0F4T1NBeU1TQTNiQzB4TGpRdE1TNDBlaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29udGV4dG1lbnUgLnl0cC1tZW51aXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfS55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O21hcmdpbi10b3A6LTNweDtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjYpO2JveC1zaGFkb3c6MCAxcHggNXB4IDAgcmdiYSgwLDAsMCwuNik7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7bGVmdDowO2hlaWdodDozMHB4O3dpZHRoOjMwcHg7Ym9yZGVyLXJhZGl1czozMHB4O21hcmdpbi10b3A6ZGl2aWRlKHN1YigyMXB4LDMwcHgpLDIpfS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjRweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyNHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveCwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tcHJpbWFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWRpc2FibGVkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4uYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXRvcDoycHg7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlciwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzO2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7b3BhY2l0eTowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwe2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3e3BhZGRpbmc6MnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3tib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3Lnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbjpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5OjF9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGl0bGV7cGFkZGluZzowIDlweDt0ZXh0LWFsaWduOnN0YXJ0O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6NXB4IDlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1iZ3ttYXJnaW46NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLXRpdGxlIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHttYXJnaW4tbGVmdDo4cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGV4dHtwYWRkaW5nOjAgOXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXA6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JvcmRlci1yYWRpdXM6NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1wcmV2aWV3KSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC10b29sdGlwLWJnLC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtwYWRkaW5nOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzo4cHggMTZweDtib3JkZXItcmFkaXVzOjE4cHg7dG9wOjQ1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGUgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxle21hcmdpbi1sZWZ0OjhweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHt0b3A6LTE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6MTBweDt0b3A6dW5zZXQ7bWF4LXdpZHRoOnVuc2V0O2hlaWdodDotd2Via2l0LWZpdC1jb250ZW50O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntib3R0b206OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KFthcmlhLWhpZGRlbj10cnVlXSkgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxse2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7dG9wOjY3cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxMnB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MTJweH0ueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVye2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtd3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NXB4O2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MX0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjRweCAwO292ZXJmbG93OmhpZGRlbjttYXgtaGVpZ2h0OjQ2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjZweCAwO21heC1oZWlnaHQ6NjlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9uIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKTpub3QoW2FyaWEtaGlkZGVuPXRydWVdKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjVweCA5cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdG9vbHRpcC1vcGFxdWUgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQtY29sb3I6cmdiKDI4LDI4LDI4KX0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6aW5saW5lO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6MzRweH0ueXRwLWJpZy1tb2RlIC55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6NDVweH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MH0ueXRwLXRvb2x0aXAtYmd7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKS55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb246aXMoW2FyaWEtaGlkZGVuPXRydWVdKXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtcHJvZ3Jlc3MtYmFyLXNuYXAgLnl0cC10b29sdGlwLWJne291dGxpbmU6MXB4IHNvbGlkICNmZmY7b3V0bGluZS1vZmZzZXQ6LTFweH0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJne2Rpc3BsYXk6YmxvY2t9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7ZmxvYXQ6bGVmdH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAtYmcueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pIC55dHAtdG9vbHRpcC1iZy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eToxfS55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtaGFzLWR1cmF0aW9uIC55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjNweDtib3R0b206M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7cGFkZGluZzoycHggNHB4O2JvcmRlci1yYWRpdXM6MnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcueXRwLWhhcy1kdXJhdGlvbiAueXRwLXRvb2x0aXAtZHVyYXRpb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOiNmZmZ9Lnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXAtdGl0bGUgc3Zne2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2ZvbnQtc2l6ZToxOHB4fS55dHAtYmlnLW1vZGUueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3Zne2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAzJTtoZWlnaHQ6YXV0bztmb250LXNpemU6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3ZnLC55dHAtcHJvZ3Jlc3MtYmFyLWRlY29yYXRpb24gLnl0cC10b29sdGlwLXRpdGxlIHN2Z3tkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O21hcmdpbi1yaWdodDozcHg7ZmlsbDp3aGl0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjgwcHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7aGVpZ2h0OjE2cHg7Ym9yZGVyOjA7dG9wOjQ1cHg7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjEyMHB4O3RvcDo2MXB4O2hlaWdodDoyNHB4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQ6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NDVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWJpZy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e3RvcDo2NXB4fS55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWtleWJvYXJkLXNob3J0Y3V0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zMDE5NjA3ODQzKTttaW4td2lkdGg6MTFweDtib3JkZXItcmFkaXVzOjRweDttYXJnaW4tbGVmdDo0cHg7Y29sb3I6I2ZmZjtwYWRkaW5nOjAgMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dDplbXB0eXtkaXNwbGF5Om5vbmU7d2lkdGg6MH0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDozM3B4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUueXRwLW1vZGVybi10b29sdGlwLXRleHR7dG9wOjI1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDo0MXB4fS55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwgLnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2FhYTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC10b29sdGlwLWltYWdle3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTt0b3A6MnB4O2xlZnQ6N3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAtaW1hZ2V7d2lkdGg6MjVweDtoZWlnaHQ6MjVweDtib3JkZXItcmFkaXVzOjEyLjVweDt0b3A6M3B4O2xlZnQ6MTBweH0ueXRwLXRvb2x0aXAtaW1hZ2UtZW5hYmxlZCAueXRwLXRvb2x0aXAtaW1hZ2V7ZGlzcGxheTppbmhlcml0fS55dHAtaW5saW5lLXByZXZpZXctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGV7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWVkdSwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLXVubXV0ZS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOnN1Yig0OHB4LDEycHgpO2xlZnQ6MDt6LWluZGV4OjEwMDE7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEyNyU7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjEycHh9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS55dHAtcG9wdXB7dG9wOnN1Yig0OHB4LDE4cHgpO3BhZGRpbmc6MThweH0ueXRwLWF1dG9oaWRlIC55dHAtdW5tdXRlLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLXVubXV0ZXt0b3A6MH0ueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6M3B4O3BhZGRpbmctcmlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTt0ZXh0LXNoYWRvdzpub25lO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6NXB4O3BhZGRpbmctcmlnaHQ6MThweH0ueXRwLXVubXV0ZS1pY29ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLWVtYmVkIC55dHAtdW5tdXRlLWljb257d2lkdGg6NDBweDtoZWlnaHQ6NDBweH0ueXRwLXVubXV0ZS1pY29uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMDAwfS55dHAtdW5tdXRlLXRleHR7bWF4LXdpZHRoOjIwMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC11bm11dGUueXRwLXBvcHVwLnl0cC11bm11dGUtYW5pbWF0ZWQgLnl0cC11bm11dGUtaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOm5vbmU7cGFkZGluZzowfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWljb257cGFkZGluZy1sZWZ0OjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEwO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtib3JkZXItcmFkaXVzOjJweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjFmMWYxfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWJveHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMX0ueXRwLXVubXV0ZS1hbmltYXRlZCAueXRwLXVubXV0ZS10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTA7cGFkZGluZy10b3A6MXB4O3BhZGRpbmctcmlnaHQ6MTBweH0ueXRwLXVubXV0ZS1leHBhbmQgLnl0cC11bm11dGUtYm94e3dpZHRoOjA7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuNXMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtd2lkdGgtYW5pbSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAzLjVzIGZvcndhcmRzfS55dHAtdW5tdXRlLWV4cGFuZCAueXRwLXVubXV0ZS10ZXh0e29wYWNpdHk6MDstd2Via2l0LWFuaW1hdGlvbjp5dHAtdW5tdXRlLWFscGhhLWFuaW0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuOHMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgMy44cyBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtYm94e3dpZHRoOjEwMCU7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkczthbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtdGV4dHtvcGFjaXR5OjE7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS1hbHBoYS1hbmltIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSA1LjRzIHJldmVyc2UgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSkgNS40cyByZXZlcnNlIGZvcndhcmRzfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLXdpZHRoLWFuaW17MCV7d2lkdGg6MH10b3t3aWR0aDoxMDAlfX1Aa2V5ZnJhbWVzIHl0cC11bm11dGUtd2lkdGgtYW5pbXswJXt3aWR0aDowfXRve3dpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0cC11cG5leHR7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7b3BhY2l0eToxO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ei1pbmRleDozOX0ueXRwLXVwbmV4dC10b3B7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO2JvdHRvbTo1MCU7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10b3B7bWFyZ2luLWJvdHRvbToyNnB4fS55dHAtc21hbGwtbW9kZS55dHAtZW1iZWQgLnl0cC11cG5leHQtbW9iaWxlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjB9Lnl0cC11cG5leHQtYm90dG9te3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt0b3A6NTAlO21hcmdpbi10b3A6NDhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYm90dG9te21hcmdpbi10b3A6MjZweH0ueXRwLXNtYWxsLW1vZGUueXRwLWVtYmVkIC55dHAtdXBuZXh0LW1vYmlsZSAueXRwLXVwbmV4dC1ib3R0b217bWFyZ2luLXRvcDo0OHB4fS55dHAtdXBuZXh0LXRpdGxle2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowIDEwcHggMnB4O21hcmdpbi1sZWZ0OjMycHg7bWFyZ2luLXJpZ2h0OjMycHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjIwMCU7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTUwJX0ueXRwLXVwbmV4dC1hdXRob3J7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDEwcHggMTBweDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMzAlfS55dHAtdXBuZXh0LWhlYWRlcntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNDAlO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmctYm90dG9tOjhweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtaGVhZGVye3BhZGRpbmctYm90dG9tOjB9Lnl0cC11cG5leHQtY2FuY2Vse2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0Om5vbmU7cGFkZGluZzoxMHB4IDIwcHg7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpO2JvcmRlci1yYWRpdXM6MnB4fS55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbjotMzJweCAwIDAgLTMycHg7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O21hcmdpbjotMjVweCAwIDAgLTI1cHh9Lnl0cC1zbWFsbC1tb2RlLnl0cC1lbWJlZCAueXRwLXVwbmV4dC1tb2JpbGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnttYXJnaW4tdG9wOjB9Lnl0cC1lbWJlZCAueXRwLWVuZHNjcmVlbi10YWtlb3Zlcn4ueXRwLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtdXBuZXh0LXBhdXNlZHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtc3R5bGU6aXRhbGljO29wYWNpdHk6MH0ueXRwLXVwbmV4dC1hdXRvcGxheS1wYXVzZWQgLnl0cC11cG5leHQtcGF1c2Vke29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtdXBuZXh0IC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtvcGFjaXR5Oi40fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXktaW1hZ2V7b3BhY2l0eTouNjR9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRvcHt0b3A6MDttYXJnaW46MTJweCAwIDAgMTJweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRpdGxle3RleHQtYWxpZ246bGVmdDttYXJnaW4tYm90dG9tOjRweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO3BhZGRpbmc6MH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtdGl0bGV7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmY7cGFkZGluZzowIDc1cHggMCAwfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjYycHg7aGVpZ2h0OjYycHg7bWFyZ2luOi0zMXB4IDAgMCAtMzFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbiwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtcGF1c2Vke2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbntwYWRkaW5nOjhweDttYXJnaW4tdG9wOjhweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjE0NnB4O2hlaWdodDoxNDZweDttYXJnaW46LTczcHggMCAwIC03M3B4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjc2cHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC11cG5leHQtdG9we21hcmdpbi1ib3R0b206NzZweH0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjA7Ym90dG9tOjUwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257dG9wOjYwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjA7dG9wOjcwJX0ueXRwLXVzZXItaW5mby1wYW5lbHtiYWNrZ3JvdW5kOnJnYmEoMjgsMjgsMjgsLjgpO2NvbG9yOiNmZmY7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyOTJweDtoZWlnaHQ6NzRweDtib3R0b206MDt6LWluZGV4OjgwO21pbi13aWR0aDoyNmVtO2Rpc3BsYXk6dGFibGV9Lnl0cC11c2VyLWluZm8tcGFuZWwgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLXVzZXItaW5mby1wYW5lbCAueXRwLWNvbGxhcHNlOmhvdmVye29wYWNpdHk6MX0ueXRwLXVzZXItaW5mby1wYW5lbC1jb250ZW50e2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZzoxNHB4IDA7Zm9udC1zaXplOjE2cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC11c2VyLWluZm8tcGFuZWwtaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHg7cGFkZGluZzowIDE0cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtbG9naW57Y29sb3I6IzNlYTZmZjtjdXJzb3I6cG9pbnRlcn0ueXRwLXVzZXItaW5mby1wYW5lbC1pbmZve21heC13aWR0aDoyMDBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC12aWRlby1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztoZWlnaHQ6NDRweDtwYWRkaW5nOjEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXZpZGVvLW1lbnUtaXRlbXtoZWlnaHQ6NjZweDtwYWRkaW5nOjE1cHh9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC12aWRlby1tZW51LWl0ZW06aG92ZXIsLnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpfS55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne3BhZGRpbmctcmlnaHQ6OXB4O21pbi13aWR0aDoxMHB4O2hlaWdodDo0NHB4O2xpbmUtaGVpZ2h0OjQ0cHg7ZmxvYXQ6bGVmdH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7cGFkZGluZy1yaWdodDoxM3B4O2hlaWdodDo2NnB4O2xpbmUtaGVpZ2h0OjY2cHh9Lnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTpub25lO2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne2NvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLXZpZGVvLW1lbnUtaXRlbS1ub3ctcGxheWluZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1jb2xvciAuMTVzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTppbmxpbmV9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4e2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvLW1lbnUtaXRlbS10aXRsZXtwYWRkaW5nLWxlZnQ6OXB4O2ZvbnQtc2l6ZToxMjAlO21heC1oZWlnaHQ6Mi42ZW07b3ZlcmZsb3c6aGlkZGVufS55dHAtdmlkZW8tbWVudS1pdGVtLWF1dGhvcntwYWRkaW5nLWxlZnQ6OXB4O2NvbG9yOiNiOGI4Yjg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse2Zsb2F0OmxlZnQ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDttYXJnaW46NHB4O2JvcmRlcjowIHNvbGlkIHZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTZweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo2NHB4IDQ4cHg7YmFja2dyb3VuZC1zaXplOjY0cHggNDhweH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHtib3JkZXItY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHstd2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlfS55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse3dpZHRoOjk2cHg7aGVpZ2h0OjU0cHg7bWFyZ2luOjZweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTlweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5NnB4IDcycHg7YmFja2dyb3VuZC1zaXplOjk2cHggNzJweH0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse21hcmdpbjoycHg7Ym9yZGVyLXdpZHRoOjJweH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLXZpZGVvLW1lbnUtaXRlbS10aHVtYm5haWx7bWFyZ2luOjRweH0ueXRwLXZpZGVvd2FsbC1zdGlsbHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKC4xKTt0cmFuc2Zvcm06c2NhbGUoLjEpfS55dHAtc2hvdy10aWxlcyAueXRwLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3IsLnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWR1cmF0aW9uLC55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpub25lO2hlaWdodDoyLjE1ZW07cGFkZGluZy1yaWdodDoxMHB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peCwueXRwLXZpZGVvd2FsbC1zdGlsbC1taW5pIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFye2ZvbnQtc2l6ZToxMDAlfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RjR3hoZVd4cGMzUWlJSE4wY205clpUMGlJekF3TUNJZ2MzUnliMnRsTFc5d1lXTnBkSGs5SWk0eE5TSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUlpOCtQSEJoZEdnZ2FXUTlJbmwwY0MxemRtY3RjR3hoZVd4cGMzUWlJR1pwYkd3OUlpTm1abVlpSUdROUlrMHlNaTQxTXlBeU1TNDBNblkyTGpnMWJEVXVOall0TXk0ME1pMDFMalkyTFRNdU5ESjZiUzB4TVM0ek15QXdhRGt1TURaMk1pNHlPRWd4TVM0eWVtMHdMVGt1TVRSb01UTXVObll5TGpJNFNERXhMako2YlRBZ05DNDFOMmd4TXk0MmRqSXVNamhJTVRFdU1ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjIuMTVlbTtoZWlnaHQ6Mi4xNWVtfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0YldsNElpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzF2Y0dGamFYUjVQU0l1TVRVaUlITjBjbTlyWlMxM2FXUjBhRDBpTWlJdlBqeHdZWFJvSUdsa1BTSjVkSEF0YzNabkxXMXBlQ0lnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEkxTGpZMUlERTRZeTB1TURJZ01pNHpNUzB1T0RjZ05DNDBNUzB5TGpJMUlEWXVNRFpzTGprdU9UUmpNUzQyT1MweExqZ2dNaTQzTFRRdU1qY2dNaTQzTFRkekxURXVNREV0TlM0eU1TMHlMamN0TjJ3dExqa3VPVE5CT1M0MU5DQTVMalUwSURBZ01DQXhJREkxTGpZMUlERTRiUzB4TlM0eklEQmpMakF4TFRJdU16SXVPRFl0TkM0ME1pQXlMakkxTFRZdU1EZHNMUzQ1TFM0NU0wTXhNQ0F4TWk0M09TQTVJREUxTGpJM0lEa2dNVGh6TVNBMUxqSWdNaTQzSURkc0xqa3RMamswWXkweExqTTVMVEV1TmpVdE1pNHlOQzB6TGpjMUxUSXVNalV0Tmk0d05tMHlMamNnTUdNdExqQTBMVEV1TnpNdU5Ea3RNeTR3T1NBeExqTTFMVFF1TW13dExqa3RMamswWXkweExqRXpJREV1TWpZdE1TNDRJREl1T1RrdE1TNDRJRFV1TVRRZ01DQXhMalkzTGpZM0lETXVOQ0F4TGpnZ05DNDJObXd1T1MwdU9UTmpMUzQ0TmkweExqRXlMVEV1TXprdE1pNDBOeTB4TGpNMUxUTXVOek50T1MwMUxqRTBMUzQ1TGprMFl5NDROU0F4TGpFeElERXVNemdnTWk0ME55QXhMak0xSURRdU1pNHdNeUF4TGpJMkxTNDFJREl1TmpFdE1TNHpOU0F6TGpjemJDNDVMamt6WXpFdU1USXRNUzR5TmlBeExqZ3RNaTQ1T1NBeExqZ3ROQzQyTmlBd0xUSXVNVFV0TGpZNExUTXVPRGd0TVM0NExUVXVNVFJ0TFRVdU5UVWdNaTQ0SURNdU5pQXhMamczTFRNdU5pQXlMak16ZWlJdlBqd3ZjM1puUGc9PSk7d2lkdGg6Mi4xNWVtO2hlaWdodDoyLjE1ZW19Lnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbGVuZ3Roe2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtdmlkZW93YWxsLXN0aWxsOmZvY3VzIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFyLC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbWl4PXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC1yb3VuZC1sYXJnZSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtcm91bmQtbWVkaXVtIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLXJvdW5kLWxhcmdlIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6NHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tYXV0aG9ye2Zsb2F0OmxlZnQ7bWFyZ2luLXRvcDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgxMiwxMiwxMiwuOCkgMCx0cmFuc3BhcmVudCAxMDBweCk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO2JvdHRvbTowO2NvbG9yOiNmZmY7bGVmdDowO29wYWNpdHk6MDtwYWRkaW5nOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC55dHAtdmlkZW93YWxsLXNob3ctdGV4dCAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnQsLnl0cC12aWRlb3dhbGwtc3RpbGw6Zm9jdXMgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50LC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tY29udGVudHtvcGFjaXR5OjF9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjJweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouOTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7ZGlzcGxheTpub25lO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxle2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuMjttYXgtaGVpZ2h0OjMwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXtmb250LXdlaWdodDo0MDA7bWF4LWhlaWdodDo0OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjg2KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVse2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuODYpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1ib3R0b206MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmb250LXNpemU6MTFweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1zaG93LXRpbGVzIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb257ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjIuMTVlbTtwYWRkaW5nLXJpZ2h0OjEwcHg7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNHhOU0lnYzNSeWIydGxMWGRwWkhSb1BTSXlJaTgrUEhCaGRHZ2dhV1E5SW5sMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUdacGJHdzlJaU5tWm1ZaUlHUTlJazB5TWk0MU15QXlNUzQwTW5ZMkxqZzFiRFV1TmpZdE15NDBNaTAxTGpZMkxUTXVOREo2YlMweE1TNHpNeUF3YURrdU1EWjJNaTR5T0VneE1TNHllbTB3TFRrdU1UUm9NVE11Tm5ZeUxqSTRTREV4TGpKNmJUQWdOQzQxTjJneE15NDJkakl1TWpoSU1URXVNbm9pTHo0OEwzTjJaejQ9KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RiV2w0SWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMXZjR0ZqYVhSNVBTSXVNVFVpSUhOMGNtOXJaUzEzYVdSMGFEMGlNaUl2UGp4d1lYUm9JR2xrUFNKNWRIQXRjM1puTFcxcGVDSWdabWxzYkQwaUkyWm1aaUlnWkQwaVRUSTFMalkxSURFNFl5MHVNRElnTWk0ek1TMHVPRGNnTkM0ME1TMHlMakkxSURZdU1EWnNMamt1T1RSak1TNDJPUzB4TGpnZ01pNDNMVFF1TWpjZ01pNDNMVGR6TFRFdU1ERXROUzR5TVMweUxqY3ROMnd0TGprdU9UTkJPUzQxTkNBNUxqVTBJREFnTUNBeElESTFMalkxSURFNGJTMHhOUzR6SURCakxqQXhMVEl1TXpJdU9EWXROQzQwTWlBeUxqSTFMVFl1TURkc0xTNDVMUzQ1TTBNeE1DQXhNaTQzT1NBNUlERTFMakkzSURrZ01UaHpNU0ExTGpJZ01pNDNJRGRzTGprdExqazBZeTB4TGpNNUxURXVOalV0TWk0eU5DMHpMamMxTFRJdU1qVXROaTR3Tm0weUxqY2dNR010TGpBMExURXVOek11TkRrdE15NHdPU0F4TGpNMUxUUXVNbXd0TGprdExqazBZeTB4TGpFeklERXVNall0TVM0NElESXVPVGt0TVM0NElEVXVNVFFnTUNBeExqWTNMalkzSURNdU5DQXhMamdnTkM0Mk5td3VPUzB1T1ROakxTNDROaTB4TGpFeUxURXVNemt0TWk0ME55MHhMak0xTFRNdU56TnRPUzAxTGpFMExTNDVMamswWXk0NE5TQXhMakV4SURFdU16Z2dNaTQwTnlBeExqTTFJRFF1TWk0d015QXhMakkyTFM0MUlESXVOakV0TVM0ek5TQXpMamN6YkM0NUxqa3pZekV1TVRJdE1TNHlOaUF4TGpndE1pNDVPU0F4TGpndE5DNDJOaUF3TFRJdU1UVXRMalk0TFRNdU9EZ3RNUzQ0TFRVdU1UUnRMVFV1TlRVZ01pNDRJRE11TmlBeExqZzNMVE11TmlBeUxqTXplaUl2UGp3dmMzWm5QZz09KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7Ym94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkpO2JvcmRlci1yYWRpdXM6OHB4fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyKTtib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpO2JvcmRlci1yYWRpdXM6OHB4fUBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOjEvMSl7Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle2FzcGVjdC1yYXRpbzoxNi85fX1Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86MS8xKXsueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7aGVpZ2h0OjA7cGFkZGluZy1ib3R0b206NTYuMjUlfX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3ttYXJnaW4tdG9wOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3I6bm90KDplbXB0eSl7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjEzMCU7bWF4LWhlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtdmlldy1jb3VudC1hbmQtZGF0ZS1pbmZvOm5vdCg6ZW1wdHkpe2ZvbnQtc2l6ZToxMzAlO21heC1oZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvciwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvcnttYXgtaGVpZ2h0OnVuc2V0fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnR7Y29sb3I6I2ZmZjt3aWR0aDoxMDAlO29wYWNpdHk6MTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb24sLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtib3JkZXItcmFkaXVzOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206OHB4O3JpZ2h0OjhweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtmb250LXNpemU6MTIwJX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6Ljc1fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWxpdmV7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7b3BhY2l0eTouOTtkaXNwbGF5Om5vbmU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpub3QoW2RhdGEtaXMtbGl2ZT10cnVlXSkgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5Om5vbmV9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb246ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxlOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI7bWF4LWhlaWdodDo0MHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tdGl0bGUsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXttYXgtaGVpZ2h0OnVuc2V0fS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4IDE2cHggMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1zcGVlZC1kaXNwbGF5LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjI0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1kaXNwbGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6OTAwO2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDoxNnB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXNsaWRlci1jb250YWluZXIgLnl0cC1pbnB1dC1zbGlkZXJ7d2lkdGg6MTAwJX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWNoaXBze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtjb2xvcjojZmZmO2hlaWdodDozMnB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY2hpcHMgLnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Zm9udC1zaXplOjEycHg7d2lkdGg6NTNweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVyIC55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O3dpZHRoOjMycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLXdyYXBwZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLWxhYmVsLXRleHR7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDtmb250LXdlaWdodDo0MDA7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXByZW1pdW0tdXBzZWxsLWljb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMDAlO21hcmdpbi1yaWdodDo4cHg7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MjRweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGxpbmVhcix2aXNpYmlsaXR5IDBzIGxpbmVhciAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBsaW5lYXIsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjFzfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZS12aXNpYmxle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjBzO3RyYW5zaXRpb24tZGVsYXk6MHN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3Zlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzoxMnB4IDEwcHg7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXItc2VjdGlvbi55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVye2hlaWdodDo5NnB4fX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyIC55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7bWFyZ2luLXJpZ2h0Oi01cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3ZlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tcy10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre3dpZHRoOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpO2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7d2lkdGg6MnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIueXRwLXZvbHVtZS1wb3BvdmVyLWhvdmVyaW5ne3Zpc2liaWxpdHk6dmlzaWJsZTttYXJnaW4tYm90dG9tOjhweDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0Oi00cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuOm5vdCguc2Vla2luZy1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0OjRweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtdm9sdW1lLXBhbmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjB9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXBhbmVsey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7d2lkdGg6NTJweDttYXJnaW4tcmlnaHQ6M3B4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246bWFyZ2luIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItYWN0aXZlIC55dHAtdm9sdW1lLXBhbmVse3dpZHRoOjc4cHg7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtdm9sdW1lLXBhbmVsOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVye21pbi1oZWlnaHQ6NTRweH0ueXRwLXZvbHVtZS1zbGlkZXJ7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjZweDttYXJnaW4tdG9wOi02cHg7YmFja2dyb3VuZDojZmZmfS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZXstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo5cHg7bWFyZ2luLXRvcDotOXB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGV7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW4tdG9wOi02cHg7Ym9yZGVyLXJhZGl1czo2cHg7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3RvcDo1MCU7bGVmdDowO2hlaWdodDozcHg7bWFyZ2luLXRvcDotMnB4O3dpZHRoOjY0cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZSwueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6MnB4O21hcmdpbi10b3A6LTFweH0ueXRwLWJpZy1tb2RlIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6NHB4O21hcmdpbi10b3A6LTJweDt3aWR0aDo5NnB4fS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YmVmb3Jle2xlZnQ6LTU4cHg7YmFja2dyb3VuZDojZmZmfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7bGVmdDotODdweH0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6NnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6OXB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MWVtfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b257Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC40cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtY29udGludWUtd2F0Y2hpbmctYnV0dG9uLnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1jb250aW51ZS13YXRjaGluZy1idXR0b24ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNTtjb2xvcjojMGYwZjBmfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZX0ueXRwLWNvbnRpbnVlLXdhdGNoaW5nLWJ1dHRvbi55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmFjdGl2ZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguOTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjk0KTt0cmFuc2Zvcm06c2NhbGUoLjk0KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9LndhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS53YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lcnt3aWR0aDoxMDAlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbi1tb3JlLXZpZGVvcy1jb250YWluZXIgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTp1bnNldH0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lciAueXRwLW1vcmUtdmlkZW9zLXZpZXd7Ym9yZGVyLXJhZGl1czoycHg7ZGlyZWN0aW9uOmx0cjttYXJnaW46MTJweDtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlLnl0cC13YXRjaC1sYXRlci1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy13YXRjaC1sYXRlci10aXRsZS55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21pbi13aWR0aDo0OHB4O21heC13aWR0aDo4MHB4fS55dHAtd2F0Y2gtbGF0ZXItaWNvbnttYXJnaW46YXV0bzt3aWR0aDozNnB4O2hlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXdhdGNoLWxhdGVyLWljb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDttYXJnaW4tYm90dG9tOjEwcHh9Lnl0cC13YXRjaC1sYXRlci10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci10aXRsZSwueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7Zm9udC1zaXplOjIwcHh9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7ZGlzcGxheTpibG9ja30uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci10aXRsZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNvbnRhaW5lcnt3aWR0aDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7bWFyZ2luLXRvcDotMTBweDttYXJnaW4tbGVmdDotMTBweH0ueXRwLWJpZy1tb2RlIC55dHAtd2F0Y2gtbGF0ZXItaWNvbiAueXRwLXNwaW5uZXItY29udGFpbmVye3dpZHRoOjM1cHg7cGFkZGluZy1ib3R0b206MzVweDttYXJnaW4tdG9wOi0xNy41cHg7bWFyZ2luLWxlZnQ6LTE3LjVweH0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNpcmNsZXtib3JkZXItd2lkdGg6M3B4fS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29uIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjVweH0ud2ViZ2x7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjExO3dpZHRoOjEwMCV9LmVuZGVkLW1vZGUgLndlYmdse2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9ue3dpZHRoOjY3cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue3dpZHRoOjEyMHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLnl0cC15b3V0dWJlLW11c2ljLWJ1dHRvbiBzdmd7bWFyZ2luLWxlZnQ6LTI1cHg7aGVpZ2h0OjI0cHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLm5vLWxpbmssLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbi5uby1saW5re2N1cnNvcjpkZWZhdWx0O3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbnt3aWR0aDoxMDBweH0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue2hlaWdodDoyNXB4O21hcmdpbi1ib3R0b206N3B4fS55dHAtZHJhd2Vye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7d2lkdGg6MzUwcHg7dGV4dC1hbGlnbjpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6NDc7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2Vye3dpZHRoOjQyNXB4fS55dHAtZHJhd2VyLWNsb3NlZHt3aWR0aDoyNXB4fS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2Vke3dpZHRoOjM4cHh9Lnl0cC1kcmF3ZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MzUwcHg7aGVpZ2h0OjEwMCU7cGFkZGluZzo0OHB4IDI1cHggMjVweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLWNvbnRlbnR7d2lkdGg6NDI1cHg7cGFkZGluZzo3MHB4IDE1cHggMTVweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItY29udGVudHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjVweDtmaWxsOndoaXRlfS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7cGFkZGluZzo3cHh9Lnl0cC1kcmF3ZXItY2xvc2VkIC55dHAtZHJhd2VyLWNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3dpZHRoOjE1cHg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDotMTZweDtwYWRkaW5nOjEwcHggNXB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyl9Lnl0cC1iaWctbW9kZSAueXRwLWRyYXdlci1vcGVuLWJ1dHRvbnt3aWR0aDoyM3B4O2hlaWdodDo0OHB4O21hcmdpbi10b3A6LTI0cHg7cGFkZGluZzoxNXB4IDhweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLWRyYXdlci1vcGVuLWJ1dHRvbjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXI6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjojYWFhO2JvcmRlci1sZWZ0Om5vbmU7Y29udGVudDoiIn0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLW9wZW4tYnV0dG9uOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6OHB4O2JvcmRlci1yaWdodC13aWR0aDo4cHg7Ym9yZGVyLXRvcC13aWR0aDo4cHh9Lmh0bWw1LXlwYy1tb2R1bGV7bGluZS1oZWlnaHQ6MS4yO3RleHQtYWxpZ246bGVmdH0uaHRtbDUteXBjLWFjdGlvbi1oZWFkaW5ne21hcmdpbi1ib3R0b206NXB4O2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiM5OTl9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtYWN0aW9uLWhlYWRpbmd7ZGlzcGxheTpub25lfS5odG1sNS15cGMtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXlwYy10aHVtYm5haWx7ZmxvYXQ6bGVmdH0uaHRtbDUteXBjLXRodW1ibmFpbCBpbWd7d2lkdGg6MTAwcHg7bWFyZ2luOjAgMTBweCAxMHB4IDB9Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmF2YXRhcntib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmxhbmRzY2FwZXt3aWR0aDoxNjBweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy10aHVtYm5haWwgaW1ne3dpZHRoOjUwcHh9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6ODBweH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZ3t3aWR0aDoxNTBweDttYXJnaW46MCAxNXB4IDE4cHggMH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6MjQwcHh9Lmh0bWw1LXlwYy1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy1kZXNjcmlwdGlvbnttYXJnaW4tdG9wOjEwcHh9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLWRlc2NyaXB0aW9ue21hcmdpbi10b3A6MzhweH0uaHRtbDUteXBjLXB1cmNoYXNle2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzI3OTNlNn0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtcHVyY2hhc2V7bWFyZ2luOjE4cHggMDtwYWRkaW5nOjE1cHggMjBweDtib3JkZXItcmFkaXVzOjNweH0uaHRtbDUteXBjLXB1cmNoYXNlOmhvdmVye2JhY2tncm91bmQ6IzEyNmRiM30uaHRtbDUteXBjLXB1cmNoYXNlLmh0bWw1LXlwYy1yb3VuZGVke2JvcmRlci1yYWRpdXM6MThweH0uaHRtbDUteXBjLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2Njtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLW92ZXJsYXl7cGFkZGluZzo4cHg7bWFyZ2luLWxlZnQ6MjRweH0uaHRtbDUteXBjLWVuZHNjcmVlbntkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7cGFkZGluZzo1MXB4IDIxcHggMjFweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjc1KTt6LWluZGV4OjM2fS55dHAtc21hbGwtbW9kZSAuaHRtbDUteXBjLWVuZHNjcmVlbntwYWRkaW5nLXRvcDoyMXB4fS55dHAteXBjLWNsaWNrd3JhcC1vdmVybGF5e3BhZGRpbmc6MjVweCAyMHB4IDA7ei1pbmRleDo2OX0ueXRwLXlwYy1jbGlja3dyYXAtaGVhZGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM4ODg7cGFkZGluZzowIDAgMTVweCA1cHg7Zm9udC1zaXplOjE4MiU7Zm9udC13ZWlnaHQ6NDAwfS55dHAteXBjLWNsaWNrd3JhcC1kZXNjcmlwdGlvbnttYXJnaW46MTVweCAwIDAgNXB4O2ZvbnQtc2l6ZToxMjclfS55dHAteXBjLWNsaWNrd3JhcC1jb25maXJte21hcmdpbjoyMHB4IDAgMCA1cHg7cGFkZGluZzo3cHggMTBweDtiYWNrZ3JvdW5kLWNvbG9yOiMzN2Q7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC15cGMtY2xpY2t3cmFwLWNvbmZpcm06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjZjfS55dHAteXRvLXByZXJvbGwtbWVzc2FnZXtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2NTtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC15dG8tcHJlcm9sbCAueXRwLXl0by1wcmVyb2xsLW1lc3NhZ2V7ZGlzcGxheTpibG9ja31zZW50aW5lbHt9"}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/52.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:50.022Z","timestamp":1785129950022,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/52.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2330\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:35:17 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 02:14:21 GMT\r\ncache-control: max-age=86400\r\netag: \"39edd8e5c80256300562f68afb1ab525\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 11490\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: OVoFq9fqBcg39-J5ikCz4S2OzwbZTYa_kUxDOkI-xafp8ncUJufmww==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":2330,"size_decoded":2856,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"39edd8e5c80256300562f68afb1ab525","sha1":"506e80486e2b9e90f7344334cd95e93ac8fa0338","sha256":"cf4c3c2ec18de3d4dcd49151ffe00cb299f86fc98467cf806b9c447467935479","sha512":"029abf77a53608d0e0a92ca7764bbed17cf0960e540fee5f8eb0a9cb1bbbb490e730ec22e8dc186b07b784cd87410f5667207c22478773346d725579673e5e2c","ssdeep":"","tlshash":"a3410ad884a0624d2924177332a3193dfc6d3f949a066dffc81d563c84a1e8271b5d64","first_seen":"2023-05-04T14:58:57Z","last_seen":"2026-08-15T04:03:51.112456Z","times_seen":17790,"resource_available":false,"data":"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"}},"time_used":21,"timings":{"blocked":8,"dns":0,"connect":0,"send":0,"wait":13,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1437.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.177Z","timestamp":1785129950177,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1437.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2424\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 05:05:34 GMT\r\nlast-modified: Tue, 19 Oct 2021 05:33:41 GMT\r\netag: \"2f7f439543524c24f6631dc79fff2534\"\r\ncache-control: max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 1217\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: K-EIoNqf7KHa-z4lZphxHLq2xa31F3w1K2yT1tVP3NUiyNWJE3m7iQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":2424,"size_decoded":2932,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"2f7f439543524c24f6631dc79fff2534","sha1":"fe636b1346a355d4d2a860eab78ed63151a1d105","sha256":"047acc3f1c7ca410bb750b6c23980bc8f9d827c50ff7903d6fbfe2a8828cdccb","sha512":"39928410f8a01eb59e165fdffebe13aa0f451ad6a5e4058e4e93782470b1a34b95badd6e1ec467f9cf6bb4d4138e086b9b80569b0c7ce6d528b6c068eb434996","ssdeep":"","tlshash":"8b410af2968c157ee44825b969f2fd33f9f2a5e444c4e4431b4bc19a228d10d3e3e86c","first_seen":"2023-05-25T22:55:54Z","last_seen":"2026-08-15T04:03:51.114924Z","times_seen":1679,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAADAFBMVEVHcEz/AAD/vz9/dgDrsUTrskPrsUP//wD6qlHrsUTrskTrskPssUTqsUPqsUT//0frsUS/vz/ts0T/f1vsskTrskPus0TssUPqsET////tskTwtkTytkXrskPxtkXlrUTor0P0uEbsskTwtEXqsUPMmTPvtEbqsETrskTus0TssUPrsUPvtEUAAAD//1XytkXvtETus0XxtkXsskLutEW/fz/rsUTssUPtskTtskTrskPsskTstETsskTxtkXorkLsskTss0Pus0TrsETpsUPpsEPrskPss0PytkXytkXpr0LrsEPrskPlrT/qsUTmtkjzuUXwtUXrsETvtETts0TwtETxtkX0tD/ss0Tssj/wtUTxtkXrskPrsUPss0PrskPssEPtskTtsUPts0PrsUPwtkbpr0LytkXxtUXus0XxtkTxtkXtskPrsUPrsUTtskXsskT////ss0fsskX//v3///7//vzss0brrTnyyXzrrTj9v0n1uUfrrTfsskPssUD2ukftuFP4u0j/wEnssUHts0TssULvtEXrrz3ssD/00pHwtUXtt1DxtUXrrDb9+fD+v0nzt0b7vUj8v0n22qXrrjv8vknss0XssUP//fv//frstEn+wEn9+O7ttUzvv2P9+e////3++vLrrjnqqjDrrz7rsD7rsEDxxG/rrzvyyn/1uEb1uUb2uUfus0X4u0futEX7vkn8vkjts0fstEj//v7//vvvvmD++vHuuVTttEr99+301JfvvV711ZrssEDvwGbrrjr++/byyXv4vEj88+LrrTb22aL34LT99efvwGfvwWjuvFvtuFL78Nvz0Y767NL77tb00pP669D9vkn00ZDzzILzzIPww23uuFPyt0bxxnX01Jb55sP88d/5vEj++/XxyHr44rjstEf8v0j22qb23Kr00I734LL01ZntskTz0Izxx3jzzYfwwmruulf115zzzof558X45b/89OTqqC3ttk333q7+/Pf66svqqCz44rrwwWn+/fr99unxxHHFBZVYAAAAcHRSTlMAAQQC+/39AQP+/vz3/P4C+gTtAv0ojur7Afr89Gv+GRb+d3fYBUE/ul34kG0BA/WnrecqjwSO6tX31s4pqMIu+2KN+5Bhx6m//WBixCyH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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/2010.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.197Z","timestamp":1785129950197,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/2010.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 854\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 30 Jul 2025 12:26:03 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 08:28:15 GMT\r\ncache-control: public, max-age=86400\r\netag: \"8a5e9b87a7c053bb9d65cd8bcbc4b171\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 75457\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: OLO-lE0bxvE5-Q63xCDST05abNeJOhJEN7w7-YiL9L_WrQf4eNMv2A==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":854,"size_decoded":1425,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"8a5e9b87a7c053bb9d65cd8bcbc4b171","sha1":"2168aa11330c0401cfc5e0974b7ca94093c9d48b","sha256":"0b1d6af59fc52f5e8f88909ae09fdd4ee303dbcd00004c210b8e375759893cb4","sha512":"47a77cb24f98b7862798354660849992762cf9b9df17cdd872793f36467addba4fa78b7751c167297120010aa62e36fcf2b27c5d46f1fdc2270ae62665872e86","ssdeep":"","tlshash":"af011a7a5f05106ffe733a7083576661d745826711081e4880b3907c36b9c405d4bd03","first_seen":"2025-08-01T01:41:04.546261Z","last_seen":"2026-08-15T04:03:50.981903Z","times_seen":1770,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADHUlEQVR4Xu2au47UMBSGR0sNFYiKnmsxcVZbUCJeAIl3AEEBWgkoFrEl1CCBRAEF1WBHM6IHITqKpYDH2G4RSNzHCTOxf1/GnjiJo/Unncbn98l/7Ewmk8lolEgkEn1B2N8yDiWL5qsoMD0cCPuy1k6KC5DTm5i2spxbXMNU94iN+ELo13m8w+GVNDlmIpFItEobF6g2arZCeVUXzGbFGZRIuDSVsZlUkxR3URIPF2dHnXdLaspDGz2E/SyNuu6+S2Ob9FxVkz3G1HDxWYBeGU9OtGKQFC+XzefFZUw3YuvVsf9n4Q1M+TOIXQKCeg5arCPCet7daFxINFTFH5RoNA2PSZ/iUHsQtj3amp3E4RJsahn0+2qNYREy9mg+/xMO94PNcMY+KnmdFsfleC5UVLW9cnVyxGoIcxi+Op22d2yGMIfhq9Npe0c29APTimGdeRzXaWrtvjUfHdiQyTjmTbpBkrFbTk1JzdPTmB4G/OtN3sX7KHEmZ++HdUbwGxw0XMVvlK5ErdHjIoxfX3I6OBptYhrnu9aqdR8wZcdW3MVAxh4oOjFydgenGCFsR5kvBr8T1IE6hEwvGHO10eI8plYW5pS3p6CTYwenGOGLpc4XQ39dQZ0OW84IP51cJqKBVWZs4HzXWgsN/9h2Dhp1Na2DsF9KjSrUX5JRoRp+ixJn1GvBN5QMA/6A1OVsEDV5cRvTw0Q9I/SLgHmTLjpkw/uYVhrSNYfjOk2trR67m/KdYzOMOQxfnU7bOzZDmMPw1em0/KFMr6AhOfdCyeu0OC4Gf6wmgvkoIGxvHg9xuAQN68wThr8gVY0IfwDLH8R2Rsae4ZAX2JSuMd0vySaU83c3cNifUIa6JKjnoMU6Iqhn/gcjL8T/+w8JYfXLFG1cycvab47jcDyIuxRkp2Ihp0/KhvhLDSb4/3Y+C7B4QYLfBUaPa1M+CyDqQn8Ug0LoPbkxOkWJhEvz48lZWKwDlMSF66760EbNRCKRCEKTC1Q1T34DxIUmxwwOodfXMiM2sTk9hWkr9dzPmBoO4gJkxRVMHw7WOXMSiUQiIP8AkShaO1yVGykAAAAASUVORK5CYII="}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/youtubei/v1/log_event?alt=json","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:54.820Z","timestamp":1785129954820,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"POST /youtubei/v1/log_event?alt=json HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Request-Time: 1785129954815\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: Cgs1VnRhbkNCUlZvZyjd15vTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgIWLfAgrcAjIwLllUPVk4NlF4V2Myd3NwbTZXS2xpRzZjdnhCSzhOa3BOWFFyb2lCUzQ3TlJnZVZidlJuMERXQ29Zc2VScVJhenFtU09kSGJiTUpta2taZWRVX3UxYW9XZW53NG1TWmVEeUlORGo1TTZHTk5GVmRSZ2VKd3dzRnVSUHJ0a1ZCR0szRkk4aVgyLVpxQUxrSWR5UkNPSWpHcUhuVlJwa0pPQVI1ZFpGWFJmZFdfVllxUHduRnZ3V3JDLVp5SHJRWU04akM4UjB5c3ZWNkJLMlBTSFB4X1ZLZzlUM001dm45N3NSREkza3ZQaGtCRy1hcGU5NHNHZjJxbWNOb3JoemV4dVJiSE52Zl92WjBVRGNETHpTRDEtNzBHRWtTczlIWWduLVNvRllBcGNuQzJ2N0dwV19OSFlMdFBJU2VQaF9UOTJDNjhESnV3TVNIcDZfaVN5dlZhdjNjREd1Zw%3D%3D\r\nX-Goog-Event-Time: 1785129954815\r\nX-YouTube-Client-Name: 56\r\nX-YouTube-Client-Version: 2.20260724.01.00\r\nX-YouTube-Device: cbr=Firefox\u0026cbrver=134.0\u0026ceng=Gecko\u0026cengver=134.0\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\r\nX-YouTube-Page-CL: 953206010\r\nX-YouTube-Page-Label: youtube.embeds.web_20260724_01_RC00\r\nX-YouTube-Utc-Offset: 0\r\nX-YouTube-Time-Zone: UTC\r\nX-YouTube-Ad-Signals: dt=1785129949891\u0026flash=0\u0026frm=2\u0026u_tz\u0026u_his=2\u0026u_h=1024\u0026u_w=1280\u0026u_ah=1024\u0026u_aw=1280\u0026u_cd=24\u0026bc=31\u0026bih=-12245933\u0026biw=-12245933\u0026brdim=0%2C0%2C0%2C0%2C1280%2C0%2C1280%2C1024%2C360%2C215\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Length: 12782\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/nJ4pVzGWVH0\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":12782,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"clientName\":56,\"clientVersion\":\"2.20260724.01.00\",\"configInfo\":{\"appInstallData\":\"CN3Xm9MGEOC30RwQ6fjRHBCIkNEcEMr7gBMQg4e4IhCJsM4cEK3e0RwQABCBzc4cEPb30RwQ_LLOHBDv3tEcEJmNsQUQlu_RHBD58tEcEIbhgBMQioe4IhCL988cEI6Q0RwQ9quwBRCfz4ATEKSp0RwQzN-uBRDJ9oATEK7WzxwQh6zOHBDxtNAcEL2ZsAUQvKTQHBDg6tEcEJ3QsAUQieTRHBDa984cEL22rgUQnYa4IhC48NEcELOR0RwQvoqwBRDBj9AcEL6E0RwQ3rzOHBC3-IATELjkzhwQ1PaAExDrzdAcEPTp0RwqbENBTVNUUlZPLVpxLURNZVVFcFVDbkE3NUZYS2tCdUFXcU5VUHlBTU1zd3ZrQnVFRTk3M3BDektnckFRRGtLNEQteWEyNUFia2hSZlF6QWJFa2dYTFBjVW4yZFVGM1N6bVJ0V3U3eDdiQmgwSDAA\"},\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\",\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"platform\":\"DESKTOP\",\"windowWidthPoints\":360,\"windowHeightPoints\":215},\"thirdParty\":{\"embedUrl\":\"https://digitaltradeinvest.org/\"}},\"events\":[{\"eventTimeMs\":1785129949897,\"latencyActionTicked\":{\"tickName\":\"mm_is\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949900,\"latencyActionTicked\":{\"tickName\":\"mm_ie\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949905,\"latencyActionTicked\":{\"tickName\":\"ep_init_cus\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949905,\"latencyActionTicked\":{\"tickName\":\"ep_init_eps\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949905,\"latencyActionTicked\":{\"tickName\":\"ep_init_epe\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949906,\"latencyActionTicked\":{\"tickName\":\"ep_init_cue\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950166,\"latencyActionTicked\":{\"tickName\":\"pe\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950181,\"latencyActionTicked\":{\"tickName\":\"ep_init_wes\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949352,\"latencyActionTicked\":{\"tickName\":\"srt\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949240,\"latencyActionBaselined\":{\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949295,\"latencyActionTicked\":{\"tickName\":\"nreqs\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949352,\"latencyActionTicked\":{\"tickName\":\"nress\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949363,\"latencyActionTicked\":{\"tickName\":\"nrese\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949263,\"latencyActionTicked\":{\"tickName\":\"ntcps\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949294,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949271,\"latencyActionTicked\":{\"tickName\":\"nstcps\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949294,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949579,\"latencyActionTicked\":{\"tickName\":\"wffs\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949719,\"latencyActionTicked\":{\"tickName\":\"wffe\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949573,\"latencyActionTicked\":{\"tickName\":\"rsf_pj\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949709,\"latencyActionTicked\":{\"tickName\":\"rse_pj\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949572,\"latencyActionTicked\":{\"tickName\":\"rsf_pc\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949746,\"latencyActionTicked\":{\"tickName\":\"rse_pc\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949573,\"latencyActionTicked\":{\"tickName\":\"rsf_ecj\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949701,\"latencyActionTicked\":{\"tickName\":\"rse_ecj\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949572,\"latencyActionTicked\":{\"tickName\":\"rsf_ecc\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949745,\"latencyActionTicked\":{\"tickName\":\"rse_ecc\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950186,\"latencyActionInfo\":{\"isNavigation\":true,\"actionType\":\"LATENCY_ACTION_VIDEO_PREVIEW\",\"httpProtocol\":\"h2\",\"transportProtocol\":\"tcp\",\"isVisible\":true,\"loadType\":\"cold\",\"resourceInfo\":[{\"resourceCache\":\"pc\"},{\"resourceCache\":\"ecc\"}],\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949890,\"latencyActionTicked\":{\"tickName\":\"rses_dpj\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950190,\"latencyActionTicked\":{\"tickName\":\"ep_init_wee\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950192,\"latencyActionInfo\":{\"serverTimeMs\":38,\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950339,\"screenCreated\":{\"csn\":\"P6IAbqYXS0FIF-a8\",\"pageVe\":{\"veType\":16623,\"youtubeData\":{\"servletData\":{\"serializedServletEventId\":\"3etmasjKErektNcPvKWO0Qc\"}}}},\"context\":{\"lastActivityMs\":\"11\"}},{\"eventTimeMs\":1785129950339,\"latencyActionInfo\":{\"clientScreenNonce\":\"P6IAbqYXS0FIF-a8\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"11\"}},{\"eventTimeMs\":1785129950340,\"screenCreated\":{\"csn\":\"VTBP1NdPgcG8Nyrg\",\"pageVe\":{\"veType\":32594},\"implicitGesture\":{\"parentCsn\":\"P6IAbqYXS0FIF-a8\",\"gesturedVe\":{\"veType\":16623},\"gestureType\":\"INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED\"}},\"context\":{\"lastActivityMs\":\"11\"}},{\"eventTimeMs\":1785129950340,\"visualElementHidden\":{\"csn\":\"P6IAbqYXS0FIF-a8\",\"ve\":{\"veType\":16623},\"eventType\":16},\"context\":{\"lastActivityMs\":\"12\"}},{\"eventTimeMs\":1785129950340,\"latencyActionInfo\":{\"clientScreenNonce\":\"VTBP1NdPgcG8Nyrg\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"12\"}},{\"eventTimeMs\":1785129950340,\"visualElementAttached\":{\"csn\":\"VTBP1NdPgcG8Nyrg\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"trackingParams\":\"CAAQru4BIhMIuJGHpI_ylQMVK9dPCB1SaxbmygEEZtXixg==\"}]},\"context\":{\"lastActivityMs\":\"12\"}},{\"eventTimeMs\":1785129950342,\"latencyActionTicked\":{\"tickName\":\"qoes\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"14\"}},{\"eventTimeMs\":1785129950342,\"latencyActionTicked\":{\"tickName\":\"fs\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"14\"}},{\"eventTimeMs\":1785129950353,\"latencyActionInfo\":{\"clientPlaybackNonce\":\"I1Qk_R0KPwbeqxw3\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"25\"}},{\"eventTimeMs\":1785129950355,\"latencyActionTicked\":{\"tickName\":\"ep_init_pr\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"26\"}},{\"eventTimeMs\":1785129950532,\"latencyActionTicked\":{\"tickName\":\"ep_init_ijs\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"204\"}},{\"eventTimeMs\":1785129950533,\"latencyActionTicked\":{\"tickName\":\"ep_init_ije\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"205\"}},{\"eventTimeMs\":1785129950534,\"latencyActionTicked\":{\"tickName\":\"ep_init_rs\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"206\"}},{\"eventTimeMs\":1785129950539,\"latencyActionTicked\":{\"tickName\":\"ep_init_re\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"210\"}},{\"eventTimeMs\":1785129950828,\"visualElementAttached\":{\"csn\":\"VTBP1NdPgcG8Nyrg\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"500\"}},{\"eventTimeMs\":1785129950829,\"visualElementShown\":{\"csn\":\"VTBP1NdPgcG8Nyrg\",\"ve\":{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"501\"}},{\"eventTimeMs\":1785129950882,\"latencyActionTicked\":{\"tickName\":\"ftr\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"554\"}},{\"eventTimeMs\":1785129951053,\"latencyActionTicked\":{\"tickName\":\"pot_ist\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"726\"}},{\"eventTimeMs\":1785129951699,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW8KBgoEYUdJZhICCAEiEQoDCgF0CgYKBGFHSWYSAggBIhEKAwoBaAoGCgRhR0lmEgIIEA==\"},\"context\":{\"lastActivityMs\":\"1372\"}},{\"eventTimeMs\":1785129951702,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAADRAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAChAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAFEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAADwPyIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAADhAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAAQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAFEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAsQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAQUAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAABAIhgKAwoBdAoGCgRhR0lmEgkRAAAAAAD4gUA=\"},\"context\":{\"lastActivityMs\":\"1374\"}},{\"eventTimeMs\":1785129951780,\"latencyActionTicked\":{\"tickName\":\"pot_if\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"1452\"}},{\"eventTimeMs\":1785129951780,\"latencyActionTicked\":{\"tickName\":\"pot_cms\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"1452\"}},{\"eventTimeMs\":1785129951782,\"latencyActionTicked\":{\"tickName\":\"pot_cmf\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"1454\"}},{\"eventTimeMs\":1785129952703,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChYvY2xpZW50X3N0cmVhbXovYmcvZnJzEhAKDgoIYm90Z3VhcmQSAjUzGgJtayITCgYKBGFHSWYSCREAAAAAALybQA==\"},\"context\":{\"lastActivityMs\":\"2376\"}},{\"eventTimeMs\":1785129952704,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW4KBgoEYUdJZhICCAEiEQoDCgFtCgYKBGFHSWYSAggB\"},\"context\":{\"lastActivityMs\":\"2377\"}},{\"eventTimeMs\":1785129952705,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAW4KBgoEYUdJZhIJEQAAAAAAADNAIhgKAwoBaQoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgFvCgYKBGFHSWYSCREAAAAAAKiGQCIYCgMKAWMKBgoEYUdJZhIJEQAAAAAAAAAAIhgKAwoBQwoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgF4CgYKBGFHSWYSCREAAAAAAAAAACIYCgMKAW0KBgoEYUdJZhIJEQAAAAAAAPA/\"},\"context\":{\"lastActivityMs\":\"2377\"}},{\"eventTimeMs\":1785129952810,\"visualElementAttached\":{\"csn\":\"VTBP1NdPgcG8Nyrg\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"2483\"}},{\"eventTimeMs\":1785129952811,\"visualElementShown\":{\"csn\":\"VTBP1NdPgcG8Nyrg\",\"ve\":{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"2483\"}},{\"eventTimeMs\":1785129952811,\"visualElementAttached\":{\"csn\":\"VTBP1NdPgcG8Nyrg\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"2484\"}},{\"eventTimeMs\":1785129952811,\"visualElementShown\":{\"csn\":\"VTBP1NdPgcG8Nyrg\",\"ve\":{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"2484\"}},{\"eventTimeMs\":1785129952811,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"bcHZszJAmK0uDb6I\",\"clientScreenNonce\":\"P6IAbqYXS0FIF-a8\"},\"context\":{\"lastActivityMs\":\"2484\"}},{\"eventTimeMs\":1785129952811,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"bcHZszJAmK0uDb6I\",\"clientScreenNonce\":\"VTBP1NdPgcG8Nyrg\"},\"context\":{\"lastActivityMs\":\"2484\"}},{\"eventTimeMs\":1785129952812,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"2484\"}},{\"eventTimeMs\":1785129952812,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"2484\"}},{\"eventTimeMs\":1785129952812,\"latencyActionTicked\":{\"tickName\":\"ftl\",\"clientActionNonce\":\"sGsjKtlNCEbtVT93\"},\"context\":{\"lastActivityMs\":\"2484\"}}],\"serializedClientEventId\":{\"serializedEventId\":\"3etmasjKErektNcPvKWO0Qc\",\"clientCounter\":\"22766\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 05:25:54 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 31\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":28,"size_decoded":381,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"5e1fa6fd9abd549a576f3f24b1d3c8d4","sha1":"d5335d7f7d33be6a0b663f03b2df4df2521c4a87","sha256":"d7d5e54ad1e33d7ab49c664323ced79cb9723ff15e9764cd0edc3e15208e8336","sha512":"96e6938256b8e5924210f8e8e54a85d783fa2c01d5fbe5d2a8df7655fed9ef8be73c7cd8bf042c3c84302134b7418711397eece32f081eb7e824a519cc06b4e3","ssdeep":"","tlshash":"1c800038a8200b22232000ea202888322ac8c8203200ca28830200280cc0a0000a2282","first_seen":"2023-04-05T04:40:08Z","last_seen":"2026-08-15T16:42:31.537717Z","times_seen":285114,"resource_available":false,"data":"ewogICJyZXNwb25zZUNvbnRleHQiOiB7fQp9Cg=="}},"time_used":21,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:26:00.078Z","timestamp":1785129960078,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/shared-CgMCAfor.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://digitaltradeinvest.org\r\nSec-GPC: 1\r\nConnection: keep-alive\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 05:26:00 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-42705\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k8cmy50Ems4qbiczEopXMhr/hqxw/Kw1ckISSw0nom5JcOUCR/UN5ghxjroxjqt9Iq6ErvY\r\nx-77-nzt-ray: e2f754206d2b2a7ee8eb666a2c69c704\r\nx-77-cache: HIT\r\nx-77-age: 1716922\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":272133,"size_decoded":92592,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (44710)","md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"resource_available":true,"data":"dmFyIGU9T2JqZWN0LmNyZWF0ZSx0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iscj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxpPU9iamVjdC5nZXRQcm90b3R5cGVPZixhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksbz0oZSx0KT0+KCk9PihlJiYodD1lKGU9MCkpLHQpLHM9KGUsdCk9PigpPT4odHx8KGUoKHQ9e2V4cG9ydHM6e319KS5leHBvcnRzLHQpLGU9bnVsbCksdC5leHBvcnRzKSxjPShlLG4pPT57bGV0IHI9e307Zm9yKHZhciBpIGluIGUpdChyLGkse2dldDplW2ldLGVudW1lcmFibGU6ITB9KTtyZXR1cm4gbnx8dChyLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6YE1vZHVsZWB9KSxyfSxsPShlLGksbyxzKT0+e2lmKGkmJnR5cGVvZiBpPT1gb2JqZWN0YHx8dHlwZW9mIGk9PWBmdW5jdGlvbmApZm9yKHZhciBjPXIoaSksbD0wLHU9Yy5sZW5ndGgsZDtsPHU7bCsrKWQ9Y1tsXSwhYS5jYWxsKGUsZCkmJmQhPT1vJiZ0KGUsZCx7Z2V0OihlPT5pW2VdKS5iaW5kKG51bGwsZCksZW51bWVyYWJsZTohKHM9bihpLGQpKXx8cy5lbnVtZXJhYmxlfSk7cmV0dXJuIGV9LHU9KG4scixhKT0+KGE9bj09bnVsbD97fTplKGkobikpLGwocnx8IW58fCFuLl9fZXNNb2R1bGU/dChhLGBkZWZhdWx0YCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwfSk6YSxuKSksZD1lPT5hLmNhbGwoZSxgbW9kdWxlLmV4cG9ydHNgKT9lW2Btb2R1bGUuZXhwb3J0c2BdOmwodCh7fSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZSksZj1BcnJheS5pc0FycmF5LHA9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsbT1BcnJheS5wcm90b3R5cGUuaW5jbHVkZXMsaD1BcnJheS5mcm9tLGc9T2JqZWN0LmRlZmluZVByb3BlcnR5LF89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix2PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLHk9T2JqZWN0LnByb3RvdHlwZSxlZT1BcnJheS5wcm90b3R5cGUsYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsdGU9T2JqZWN0LmlzRXh0ZW5zaWJsZTtmdW5jdGlvbiBuZShlKXtyZXR1cm4gdHlwZW9mIGU9PWBmdW5jdGlvbmB9dmFyIHg9KCk9Pnt9O2Z1bmN0aW9uIHJlKGUpe3JldHVybiBlKCl9ZnVuY3Rpb24gaWUoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XSgpfWZ1bmN0aW9uIGFlKCl7dmFyIGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgobixyKT0+e2U9bix0PXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fXZhciBvZT0xPDwyNCxzZT0xMDI0LGNlPTIwNDgsbGU9NDA5Nix1ZT04MTkyLGRlPTE2Mzg0LGZlPTMyNzY4LHBlPTE8PDI1LG1lPTY1NTM2LGhlPTE8PDE5LGdlPTE8PDIwLF9lPTE8PDI1LHZlPTY1NTM2LHllPTE8PDIxLGJlPTE8PDIyLHhlPTE8PDIzLFNlPVN5bWJvbChgJHN0YXRlYCksQ2U9U3ltYm9sKGBsZWdhY3kgcHJvcHNgKSx3ZT1TeW1ib2woYGApLFRlPW5ldyBjbGFzcyBleHRlbmRzIEVycm9ye25hbWU9YFN0YWxlUmVhY3Rpb25FcnJvcmA7bWVzc2FnZT0iVGhlIHJlYWN0aW9uIHRoYXQgY2FsbGVkIGBnZXRBYm9ydFNpZ25hbCgpYCB3YXMgcmUtcnVuIG9yIGRlc3Ryb3llZCJ9LEVlPSEhZ2xvYmFsVGhpcy5kb2N1bWVudD8uY29udGVudFR5cGUmJmdsb2JhbFRoaXMuZG9jdW1lbnQuY29udGVudFR5cGUuaW5jbHVkZXMoYHhtbGApO2Z1bmN0aW9uIERlKGUpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9saWZlY3ljbGVfb3V0c2lkZV9jb21wb25lbnRgKX1mdW5jdGlvbiBPZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9hc3luY19kZXJpdmVkX29ycGhhbmApfWZ1bmN0aW9uIGtlKGUsdCxuKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWFjaF9rZXlfZHVwbGljYXRlYCl9ZnVuY3Rpb24gQWUoZSl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl90ZWFyZG93bmApfWZ1bmN0aW9uIGplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl91bm93bmVkX2Rlcml2ZWRgKX1mdW5jdGlvbiBNZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWZmZWN0X29ycGhhbmApfWZ1bmN0aW9uIE5lKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF91cGRhdGVfZGVwdGhfZXhjZWVkZWRgKX1mdW5jdGlvbiBQZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvcHJvcHNfaW52YWxpZF92YWx1ZWApfWZ1bmN0aW9uIEZlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3NldF9jb250ZXh0X2FmdGVyX2luaXRgKX1mdW5jdGlvbiBJZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9zdGF0ZV9kZXNjcmlwdG9yc19maXhlZGApfWZ1bmN0aW9uIExlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Byb3RvdHlwZV9maXhlZGApfWZ1bmN0aW9uIFJlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Vuc2FmZV9tdXRhdGlvbmApfWZ1bmN0aW9uIHplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N2ZWx0ZV9ib3VuZGFyeV9yZXNldF9vbmVycm9yYCl9dmFyIEJlPXt9LFM9U3ltYm9sKCksVmU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxgLEhlPWBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z2AsVWU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUxgO2Z1bmN0aW9uIFdlKCl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9kZXJpdmVkX2luZXJ0YCl9ZnVuY3Rpb24gR2UoZSl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9oeWRyYXRpb25fbWlzbWF0Y2hgKX1mdW5jdGlvbiBLZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc2VsZWN0X211bHRpcGxlX2ludmFsaWRfdmFsdWVgKX1mdW5jdGlvbiBxZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc3ZlbHRlX2JvdW5kYXJ5X3Jlc2V0X25vb3BgKX12YXIgQz0hMTtmdW5jdGlvbiBKZShlKXtDPWV9dmFyIHc7ZnVuY3Rpb24gVChlKXtpZihlPT09bnVsbCl0aHJvdyBHZSgpLEJlO3JldHVybiB3PWV9ZnVuY3Rpb24gWWUoKXtyZXR1cm4gVChCbih3KSl9ZnVuY3Rpb24gWGUoZSl7aWYoQyl7aWYoQm4odykhPT1udWxsKXRocm93IEdlKCksQmU7dz1lfX1mdW5jdGlvbiBaZShlPTEpe2lmKEMpe2Zvcih2YXIgdD1lLG49dzt0LS07KW49Qm4obik7dz1ufX1mdW5jdGlvbiBRZShlPSEwKXtmb3IodmFyIHQ9MCxuPXc7Oyl7aWYobi5ub2RlVHlwZT09PTgpe3ZhciByPW4uZGF0YTtpZihyPT09YF1gKXtpZih0PT09MClyZXR1cm4gbjstLXR9ZWxzZSAocj09PWBbYHx8cj09PWBbIWB8fHJbMF09PT1gW2AmJiFpc05hTihOdW1iZXIoci5zbGljZSgxKSkpKSYmKHQrPTEpfXZhciBpPUJuKG4pO2UmJm4ucmVtb3ZlKCksbj1pfX1mdW5jdGlvbiAkZShlKXtpZighZXx8ZS5ub2RlVHlwZSE9PTgpdGhyb3cgR2UoKSxCZTtyZXR1cm4gZS5kYXRhfWZ1bmN0aW9uIGV0KGUpe3JldHVybiBlPT09dGhpcy52fWZ1bmN0aW9uIHR0KGUsdCl7cmV0dXJuIGU9PWU/ZSE9PXR8fHR5cGVvZiBlPT1gb2JqZWN0YCYmISFlfHx0eXBlb2YgZT09YGZ1bmN0aW9uYDp0PT10fWZ1bmN0aW9uIG50KGUpe3JldHVybiF0dChlLHRoaXMudil9dmFyIHJ0PSExLGl0PSExO2Z1bmN0aW9uIGF0KCl7aXQ9ITB9dmFyIEU9bnVsbDtmdW5jdGlvbiBvdChlKXtFPWV9ZnVuY3Rpb24gc3QoZSl7cmV0dXJuIGZ0KGBnZXRDb250ZXh0YCkuZ2V0KGUpfWZ1bmN0aW9uIGN0KGUsdCl7bGV0IG49ZnQoYHNldENvbnRleHRgKTtpZihydCl7dmFyIHI9SS5mOyFGJiZyJjMyJiYhRS5pfHxGZSgpfXJldHVybiBuLnNldChlLHQpLHR9ZnVuY3Rpb24gbHQoZSx0PSExLG4pe0U9e3A6RSxpOiExLGM6bnVsbCxlOm51bGwsczplLHg6bnVsbCxyOkksbDppdCYmIXQ/e3M6bnVsbCx1Om51bGwsJDpbXX06bnVsbH19ZnVuY3Rpb24gdXQoZSl7dmFyIHQ9RSxuPXQuZTtpZihuIT09bnVsbCl7dC5lPW51bGw7Zm9yKHZhciByIG9mIG4pc3Iocil9cmV0dXJuIGUhPT12b2lkIDAmJih0Lng9ZSksdC5pPSEwLEU9dC5wLGU/P3t9fWZ1bmN0aW9uIGR0KCl7cmV0dXJuIWl0fHxFIT09bnVsbCYmRS5sPT09bnVsbH1mdW5jdGlvbiBmdChlKXtyZXR1cm4gRT09PW51bGwmJkRlKGUpLEUuYz8/PW5ldyBNYXAocHQoRSl8fHZvaWQgMCl9ZnVuY3Rpb24gcHQoZSl7bGV0IHQ9ZS5wO2Zvcig7dCE9PW51bGw7KXtsZXQgZT10LmM7aWYoZSE9PW51bGwpcmV0dXJuIGU7dD10LnB9cmV0dXJuIG51bGx9dmFyIG10PVtdO2Z1bmN0aW9uIGh0KCl7dmFyIGU9bXQ7bXQ9W10saWUoZSl9ZnVuY3Rpb24gZ3QoZSl7aWYobXQubGVuZ3RoPT09MCYmIXp0KXt2YXIgdD1tdDtxdWV1ZU1pY3JvdGFzaygoKT0+e3Q9PT1tdCYmaHQoKX0pfW10LnB1c2goZSl9ZnVuY3Rpb24gX3QoKXtmb3IoO210Lmxlbmd0aD4wOylodCgpfWZ1bmN0aW9uIHZ0KGUpe3ZhciB0PUk7aWYodD09PW51bGwpcmV0dXJuIEYuZnw9eGUsZTtpZighKHQuZiYzMjc2OCkmJiEodC5mJjQpKXRocm93IGU7eXQoZSx0KX1mdW5jdGlvbiB5dChlLHQpe2Zvcig7dCE9PW51bGw7KXtpZih0LmYmMTI4KXtpZighKHQuZiYzMjc2OCkpdGhyb3cgZTt0cnl7dC5iLmVycm9yKGUpO3JldHVybn1jYXRjaCh0KXtlPXR9fXQ9dC5wYXJlbnR9dGhyb3cgZX12YXIgYnQ9fihjZXxsZXxzZSk7ZnVuY3Rpb24gRChlLHQpe2UuZj1lLmYmYnR8dH1mdW5jdGlvbiB4dChlKXtlLmYmNTEyfHxlLmRlcHM9PT1udWxsP0QoZSxzZSk6RChlLGxlKX1mdW5jdGlvbiBTdChlKXtpZihlIT09bnVsbClmb3IobGV0IHQgb2YgZSkhKHQuZiYyKXx8ISh0LmYmNjU1MzYpfHwodC5mXj12ZSxTdCh0LmRlcHMpKX1mdW5jdGlvbiBDdChlLHQsbil7ZS5mJjIwNDg/dC5hZGQoZSk6ZS5mJjQwOTYmJm4uYWRkKGUpLFN0KGUuZGVwcyksRChlLHNlKX1mdW5jdGlvbiB3dChlLHQsbil7aWYoZT09bnVsbClyZXR1cm4gdCh2b2lkIDApLG4mJm4odm9pZCAwKSx4O2xldCByPSRyKCgpPT5lLnN1YnNjcmliZSh0LG4pKTtyZXR1cm4gci51bnN1YnNjcmliZT8oKT0+ci51bnN1YnNjcmliZSgpOnJ9dmFyIFR0PVtdO2Z1bmN0aW9uIEV0KGUsdCl7cmV0dXJue3N1YnNjcmliZTpPKGUsdCkuc3Vic2NyaWJlfX1mdW5jdGlvbiBPKGUsdD14KXtsZXQgbj1udWxsLHI9bmV3IFNldDtmdW5jdGlvbiBpKHQpe2lmKHR0KGUsdCkmJihlPXQsbikpe2xldCB0PSFUdC5sZW5ndGg7Zm9yKGxldCB0IG9mIHIpdFsxXSgpLFR0LnB1c2godCxlKTtpZih0KXtmb3IobGV0IGU9MDtlPFR0Lmxlbmd0aDtlKz0yKVR0W2VdWzBdKFR0W2UrMV0pO1R0Lmxlbmd0aD0wfX19ZnVuY3Rpb24gYSh0KXtpKHQoZSkpfWZ1bmN0aW9uIG8obyxzPXgpe2xldCBjPVtvLHNdO3JldHVybiByLmFkZChjKSxyLnNpemU9PT0xJiYobj10KGksYSl8fHgpLG8oZSksKCk9PntyLmRlbGV0ZShjKSxyLnNpemU9PT0wJiZuJiYobigpLG49bnVsbCl9fXJldHVybntzZXQ6aSx1cGRhdGU6YSxzdWJzY3JpYmU6b319ZnVuY3Rpb24gayhlLHQsbil7bGV0IHI9IUFycmF5LmlzQXJyYXkoZSksaT1yP1tlXTplO2lmKCFpLmV2ZXJ5KEJvb2xlYW4pKXRocm93IEVycm9yKGBkZXJpdmVkKCkgZXhwZWN0cyBzdG9yZXMgYXMgaW5wdXQsIGdvdCBhIGZhbHN5IHZhbHVlYCk7bGV0IGE9dC5sZW5ndGg8MjtyZXR1cm4gRXQobiwoZSxuKT0+e2xldCBvPSExLHM9W10sYz0wLGw9eCx1PSgpPT57aWYoYylyZXR1cm47bCgpO2xldCBpPXQocj9zWzBdOnMsZSxuKTthP2UoaSk6bD10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOnh9LGQ9aS5tYXAoKGUsdCk9Pnd0KGUsZT0+e3NbdF09ZSxjJj1+KDE8PHQpLG8mJnUoKX0sKCk9PntjfD0xPDx0fSkpO3JldHVybiBvPSEwLHUoKSxmdW5jdGlvbigpe2llKGQpLGwoKSxvPSExfX0pfWZ1bmN0aW9uIEEoZSl7bGV0IHQ7cmV0dXJuIHd0KGUsZT0+dD1lKSgpLHR9dmFyIER0PSExLE90PSExLGt0PVN5bWJvbCgpO2Z1bmN0aW9uIEF0KGUsdCxuKXtsZXQgcj1uW3RdPz89e3N0b3JlOm51bGwsc291cmNlOnduKHZvaWQgMCksdW5zdWJzY3JpYmU6eH07aWYoci5zdG9yZSE9PWUmJiEoa3QgaW4gbikpaWYoci51bnN1YnNjcmliZSgpLHIuc3RvcmU9ZT8/bnVsbCxlPT1udWxsKXIuc291cmNlLnY9dm9pZCAwLHIudW5zdWJzY3JpYmU9eDtlbHNle3ZhciBpPSEwO3IudW5zdWJzY3JpYmU9d3QoZSxlPT57aT9yLnNvdXJjZS52PWU6VG4oci5zb3VyY2UsZSl9KSxpPSExfXJldHVybiBlJiZrdCBpbiBuP0EoZSk6UihyLnNvdXJjZSl9ZnVuY3Rpb24ganQoZSx0KXtyZXR1cm4gTnQoZSx0KSx0fWZ1bmN0aW9uIE10KCl7bGV0IGU9e307ZnVuY3Rpb24gdCgpe2FyKCgpPT57Zm9yKHZhciB0IGluIGUpZVt0XS51bnN1YnNjcmliZSgpO2coZSxrdCx7ZW51bWVyYWJsZTohMSx2YWx1ZTohMH0pfSl9cmV0dXJuW2UsdF19ZnVuY3Rpb24gTnQoZSx0KXtEdD0hMDt0cnl7ZS5zZXQodCl9ZmluYWxseXtEdD0hMX19ZnVuY3Rpb24gUHQoZSx0LG4pe3JldHVybiBOdChlLG4pLHR9ZnVuY3Rpb24gRnQoZSl7dmFyIHQ9T3Q7dHJ5e3JldHVybiBPdD0hMSxbZSgpLE90XX1maW5hbGx5e090PXR9fXZhciBJdD1uZXcgU2V0LGo9bnVsbCxMdD1udWxsLE09bnVsbCxSdD1udWxsLHp0PSExLEJ0PSExLFZ0PW51bGwsSHQ9bnVsbCxVdD0wLFd0PTEsR3Q9Y2xhc3MgZXtpZD1XdCsrO2N1cnJlbnQ9bmV3IE1hcDtwcmV2aW91cz1uZXcgTWFwOyNlPW5ldyBTZXQ7I3Q9bmV3IFNldDsjbj1uZXcgU2V0OyNyPW5ldyBNYXA7I2k9bmV3IE1hcDsjYT1udWxsOyNvPVtdOyNzPVtdOyNjPW5ldyBTZXQ7I2w9bmV3IFNldDsjdT1uZXcgTWFwOyNkPW5ldyBTZXQ7aXNfZm9yaz0hMTsjZj0hMTsjcD1uZXcgU2V0OyNtKCl7cmV0dXJuIHRoaXMuaXNfZm9ya3x8dGhpcy4jaS5zaXplPjB9I2goKXtmb3IobGV0IG4gb2YgdGhpcy4jcClmb3IobGV0IHIgb2Ygbi4jaS5rZXlzKCkpe2Zvcih2YXIgZT0hMSx0PXI7dC5wYXJlbnQhPT1udWxsOyl7aWYodGhpcy4jdS5oYXModCkpe2U9ITA7YnJlYWt9dD10LnBhcmVudH1pZighZSlyZXR1cm4hMH1yZXR1cm4hMX1za2lwX2VmZmVjdChlKXt0aGlzLiN1LmhhcyhlKXx8dGhpcy4jdS5zZXQoZSx7ZDpbXSxtOltdfSksdGhpcy4jZC5kZWxldGUoZSl9dW5za2lwX2VmZmVjdChlLHQ9ZT0+dGhpcy5zY2hlZHVsZShlKSl7dmFyIG49dGhpcy4jdS5nZXQoZSk7aWYobil7dGhpcy4jdS5kZWxldGUoZSk7Zm9yKHZhciByIG9mIG4uZClEKHIsY2UpLHQocik7Zm9yKHIgb2Ygbi5tKUQocixsZSksdChyKX10aGlzLiNkLmFkZChlKX0jZygpe2lmKFV0Kys+MWUzJiYoSXQuZGVsZXRlKHRoaXMpLHF0KCkpLCF0aGlzLiNtKCkpe2ZvcihsZXQgZSBvZiB0aGlzLiNjKXRoaXMuI2wuZGVsZXRlKGUpLEQoZSxjZSksdGhpcy5zY2hlZHVsZShlKTtmb3IobGV0IGUgb2YgdGhpcy4jbClEKGUsbGUpLHRoaXMuc2NoZWR1bGUoZSl9bGV0IHQ9dGhpcy4jbzt0aGlzLiNvPVtdLHRoaXMuYXBwbHkoKTt2YXIgbj1WdD1bXSxyPVtdLGk9SHQ9W107Zm9yKGxldCBlIG9mIHQpdHJ5e3RoaXMuI18oZSxuLHIpfWNhdGNoKHQpe3Rocm93IGVuKGUpLHR9aWYoaj1udWxsLGkubGVuZ3RoPjApe3ZhciBhPWUuZW5zdXJlKCk7Zm9yKGxldCBlIG9mIGkpYS5zY2hlZHVsZShlKX1pZihWdD1udWxsLEh0PW51bGwsdGhpcy4jbSgpfHx0aGlzLiNoKCkpe3RoaXMuI3YociksdGhpcy4jdihuKTtmb3IobGV0W2UsdF1vZiB0aGlzLiN1KSR0KGUsdCl9ZWxzZXt0aGlzLiNyLnNpemU9PT0wJiZJdC5kZWxldGUodGhpcyksdGhpcy4jYy5jbGVhcigpLHRoaXMuI2wuY2xlYXIoKTtmb3IobGV0IGUgb2YgdGhpcy4jZSllKHRoaXMpO3RoaXMuI2UuY2xlYXIoKSxMdD10aGlzLFl0KHIpLFl0KG4pLEx0PW51bGwsdGhpcy4jYT8ucmVzb2x2ZSgpfXZhciBvPWo7aWYodGhpcy4jby5sZW5ndGg+MCl7bGV0IGU9bz8/PXRoaXM7ZS4jby5wdXNoKC4uLnRoaXMuI28uZmlsdGVyKHQ9PiFlLiNvLmluY2x1ZGVzKHQpKSl9byE9PW51bGwmJihJdC5hZGQobyksby4jZygpKSxydCYmIUl0Lmhhcyh0aGlzKSYmdGhpcy4jeSgpfSNfKGUsdCxuKXtlLmZePXNlO2Zvcih2YXIgcj1lLmZpcnN0O3IhPT1udWxsOyl7dmFyIGk9ci5mLGE9KGkmOTYpIT0wO2lmKCEoYSYmaSYxMDI0fHxpJjgxOTJ8fHRoaXMuI3UuaGFzKHIpKSYmci5mbiE9PW51bGwpe2E/ci5mXj1zZTppJjQ/dC5wdXNoKHIpOnJ0JiZpJjE2Nzc3MjI0P24ucHVzaChyKTpXcihyKSYmKGkmMTYmJnRoaXMuI2wuYWRkKHIpLFlyKHIpKTt2YXIgbz1yLmZpcnN0O2lmKG8hPT1udWxsKXtyPW87Y29udGludWV9fWZvcig7ciE9PW51bGw7KXt2YXIgcz1yLm5leHQ7aWYocyE9PW51bGwpe3I9czticmVha31yPXIucGFyZW50fX19I3YoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kz0xKUN0KGVbdF0sdGhpcy4jYyx0aGlzLiNsKX1jYXB0dXJlKGUsdCxuPSExKXtlLnYhPT1TJiYhdGhpcy5wcmV2aW91cy5oYXMoZSkmJnRoaXMucHJldmlvdXMuc2V0KGUsZS52KSxlLmYmODM4ODYwOHx8KHRoaXMuY3VycmVudC5zZXQoZSxbdCxuXSksTT8uc2V0KGUsdCkpLHRoaXMuaXNfZm9ya3x8KGUudj10KX1hY3RpdmF0ZSgpe2o9dGhpc31kZWFjdGl2YXRlKCl7aj1udWxsLE09bnVsbH1mbHVzaCgpe3RyeXtCdD0hMCxqPXRoaXMsdGhpcy4jZygpfWZpbmFsbHl7VXQ9MCxSdD1udWxsLFZ0PW51bGwsSHQ9bnVsbCxCdD0hMSxqPW51bGwsTT1udWxsLGJuLmNsZWFyKCl9fWRpc2NhcmQoKXtmb3IobGV0IGUgb2YgdGhpcy4jdCllKHRoaXMpO3RoaXMuI3QuY2xlYXIoKSx0aGlzLiNuLmNsZWFyKCksSXQuZGVsZXRlKHRoaXMpfXJlZ2lzdGVyX2NyZWF0ZWRfZWZmZWN0KGUpe3RoaXMuI3MucHVzaChlKX0jeSgpe2ZvcihsZXQgbCBvZiBJdCl7dmFyIGU9bC5pZDx0aGlzLmlkLHQ9W107Zm9yKGxldFtyLFtpLGFdXW9mIHRoaXMuY3VycmVudCl7aWYobC5jdXJyZW50LmhhcyhyKSl7dmFyIG49bC5jdXJyZW50LmdldChyKVswXTtpZihlJiZpIT09bilsLmN1cnJlbnQuc2V0KHIsW2ksYV0pO2Vsc2UgY29udGludWV9dC5wdXNoKHIpfXZhciByPVsuLi5sLmN1cnJlbnQua2V5cygpXS5maWx0ZXIoZT0+IXRoaXMuY3VycmVudC5oYXMoZSkpO2lmKHIubGVuZ3RoPT09MCllJiZsLmRpc2NhcmQoKTtlbHNlIGlmKHQubGVuZ3RoPjApe2lmKGUpZm9yKGxldCBlIG9mIHRoaXMuI2QpbC51bnNraXBfZWZmZWN0KGUsZT0+e2UuZiY0MTk0MzIwP2wuc2NoZWR1bGUoZSk6bC4jdihbZV0pfSk7bC5hY3RpdmF0ZSgpO3ZhciBpPW5ldyBTZXQsYT1uZXcgTWFwO2Zvcih2YXIgbyBvZiB0KVh0KG8scixpLGEpO2E9bmV3IE1hcDt2YXIgcz1bLi4ubC5jdXJyZW50LmtleXMoKV0uZmlsdGVyKGU9PnRoaXMuY3VycmVudC5oYXMoZSk/dGhpcy5jdXJyZW50LmdldChlKVswXSE9PWU6ITApO2ZvcihsZXQgZSBvZiB0aGlzLiNzKSEoZS5mJjE1NTY0OCkmJlp0KGUscyxhKSYmKGUuZiY0MTk0MzIwPyhEKGUsY2UpLGwuc2NoZWR1bGUoZSkpOmwuI2MuYWRkKGUpKTtpZihsLiNvLmxlbmd0aD4wKXtsLmFwcGx5KCk7Zm9yKHZhciBjIG9mIGwuI28pbC4jXyhjLFtdLFtdKTtsLiNvPVtdfWwuZGVhY3RpdmF0ZSgpfX1mb3IobGV0IGUgb2YgSXQpZS4jcC5oYXModGhpcykmJihlLiNwLmRlbGV0ZSh0aGlzKSxlLiNwLnNpemU9PT0wJiYhZS4jbSgpJiYoZS5hY3RpdmF0ZSgpLGUuI2coKSkpfWluY3JlbWVudChlLHQpe2xldCBuPXRoaXMuI3IuZ2V0KHQpPz8wO2lmKHRoaXMuI3Iuc2V0KHQsbisxKSxlKXtsZXQgZT10aGlzLiNpLmdldCh0KT8/MDt0aGlzLiNpLnNldCh0LGUrMSl9fWRlY3JlbWVudChlLHQsbil7bGV0IHI9dGhpcy4jci5nZXQodCk/PzA7aWYocj09PTE/dGhpcy4jci5kZWxldGUodCk6dGhpcy4jci5zZXQodCxyLTEpLGUpe2xldCBlPXRoaXMuI2kuZ2V0KHQpPz8wO2U9PT0xP3RoaXMuI2kuZGVsZXRlKHQpOnRoaXMuI2kuc2V0KHQsZS0xKX10aGlzLiNmfHxufHwodGhpcy4jZj0hMCxndCgoKT0+e3RoaXMuI2Y9ITEsdGhpcy5mbHVzaCgpfSkpfXRyYW5zZmVyX2VmZmVjdHMoZSx0KXtmb3IobGV0IHQgb2YgZSl0aGlzLiNjLmFkZCh0KTtmb3IobGV0IGUgb2YgdCl0aGlzLiNsLmFkZChlKTtlLmNsZWFyKCksdC5jbGVhcigpfW9uY29tbWl0KGUpe3RoaXMuI2UuYWRkKGUpfW9uZGlzY2FyZChlKXt0aGlzLiN0LmFkZChlKX1vbl9mb3JrX2NvbW1pdChlKXt0aGlzLiNuLmFkZChlKX1ydW5fZm9ya19jb21taXRfY2FsbGJhY2tzKCl7Zm9yKGxldCBlIG9mIHRoaXMuI24pZSh0aGlzKTt0aGlzLiNuLmNsZWFyKCl9c2V0dGxlZCgpe3JldHVybih0aGlzLiNhPz89YWUoKSkucHJvbWlzZX1zdGF0aWMgZW5zdXJlKCl7aWYoaj09PW51bGwpe2xldCB0PWo9bmV3IGU7QnR8fChJdC5hZGQoaiksenR8fGd0KCgpPT57aj09PXQmJnQuZmx1c2goKX0pKX1yZXR1cm4gan1hcHBseSgpe2lmKCFydHx8IXRoaXMuaXNfZm9yayYmSXQuc2l6ZT09PTEpe009bnVsbDtyZXR1cm59TT1uZXcgTWFwO2ZvcihsZXRbZSxbdF1db2YgdGhpcy5jdXJyZW50KU0uc2V0KGUsdCk7Zm9yKGxldCBuIG9mIEl0KWlmKCEobj09PXRoaXN8fG4uaXNfZm9yaykpe3ZhciBlPSExLHQ9ITE7aWYobi5pZDx0aGlzLmlkKWZvcihsZXRbcixbLGldXW9mIG4uY3VycmVudClpfHwoZXx8PXRoaXMuY3VycmVudC5oYXMociksdHx8PSF0aGlzLmN1cnJlbnQuaGFzKHIpKTtpZihlJiZ0KXRoaXMuI3AuYWRkKG4pO2Vsc2UgZm9yKGxldFtlLHRdb2Ygbi5wcmV2aW91cylNLmhhcyhlKXx8TS5zZXQoZSx0KX19c2NoZWR1bGUoZSl7aWYoUnQ9ZSxlLmI/LmlzX3BlbmRpbmcmJmUuZiYxNjc3NzIyOCYmIShlLmYmMzI3NjgpKXtlLmIuZGVmZXJfZWZmZWN0KGUpO3JldHVybn1mb3IodmFyIHQ9ZTt0LnBhcmVudCE9PW51bGw7KXt0PXQucGFyZW50O3ZhciBuPXQuZjtpZihWdCE9PW51bGwmJnQ9PT1JJiYocnR8fChGPT09bnVsbHx8IShGLmYmMikpJiYhRHQpKXJldHVybjtpZihuJjk2KXtpZighKG4mMTAyNCkpcmV0dXJuO3QuZl49c2V9fXRoaXMuI28ucHVzaCh0KX19O2Z1bmN0aW9uIEt0KGUpe3ZhciB0PXp0O3p0PSEwO3RyeXt2YXIgbjtmb3IoZSYmKGohPT1udWxsJiYhai5pc19mb3JrJiZqLmZsdXNoKCksbj1lKCkpOzspe2lmKF90KCksaj09PW51bGwpcmV0dXJuIG47ai5mbHVzaCgpfX1maW5hbGx5e3p0PXR9fWZ1bmN0aW9uIHF0KCl7dHJ5e05lKCl9Y2F0Y2goZSl7eXQoZSxSdCl9fXZhciBKdD1udWxsO2Z1bmN0aW9uIFl0KGUpe3ZhciB0PWUubGVuZ3RoO2lmKHQhPT0wKXtmb3IodmFyIG49MDtuPHQ7KXt2YXIgcj1lW24rK107aWYoIShyLmYmMjQ1NzYpJiZXcihyKSYmKEp0PW5ldyBTZXQsWXIociksci5kZXBzPT09bnVsbCYmci5maXJzdD09PW51bGwmJnIubm9kZXM9PT1udWxsJiZyLnRlYXJkb3duPT09bnVsbCYmci5hYz09PW51bGwmJnhyKHIpLEp0Py5zaXplPjApKXtibi5jbGVhcigpO2ZvcihsZXQgZSBvZiBKdCl7aWYoZS5mJjI0NTc2KWNvbnRpbnVlO2xldCB0PVtlXSxuPWUucGFyZW50O2Zvcig7biE9PW51bGw7KUp0LmhhcyhuKSYmKEp0LmRlbGV0ZShuKSx0LnB1c2gobikpLG49bi5wYXJlbnQ7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0pe2xldCBuPXRbZV07bi5mJjI0NTc2fHxZcihuKX19SnQuY2xlYXIoKX19SnQ9bnVsbH19ZnVuY3Rpb24gWHQoZSx0LG4scil7aWYoIW4uaGFzKGUpJiYobi5hZGQoZSksZS5yZWFjdGlvbnMhPT1udWxsKSlmb3IobGV0IGkgb2YgZS5yZWFjdGlvbnMpe2xldCBlPWkuZjtlJjI/WHQoaSx0LG4scik6ZSY0MTk0MzIwJiYhKGUmMjA0OCkmJlp0KGksdCxyKSYmKEQoaSxjZSksUXQoaSkpfX1mdW5jdGlvbiBadChlLHQsbil7bGV0IHI9bi5nZXQoZSk7aWYociE9PXZvaWQgMClyZXR1cm4gcjtpZihlLmRlcHMhPT1udWxsKWZvcihsZXQgciBvZiBlLmRlcHMpe2lmKG0uY2FsbCh0LHIpKXJldHVybiEwO2lmKHIuZiYyJiZadChyLHQsbikpcmV0dXJuIG4uc2V0KHIsITApLCEwfXJldHVybiBuLnNldChlLCExKSwhMX1mdW5jdGlvbiBRdChlKXtqLnNjaGVkdWxlKGUpfWZ1bmN0aW9uICR0KGUsdCl7aWYoIShlLmYmMzImJmUuZiYxMDI0KSl7ZS5mJjIwNDg/dC5kLnB1c2goZSk6ZS5mJjQwOTYmJnQubS5wdXNoKGUpLEQoZSxzZSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KSR0KG4sdCksbj1uLm5leHR9fWZ1bmN0aW9uIGVuKGUpe0QoZSxzZSk7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KWVuKHQpLHQ9dC5uZXh0fWZ1bmN0aW9uIHRuKGUpe2xldCB0PTAsbj1TbigwKSxyO3JldHVybigpPT57aXIoKSYmKFIobiksZnIoKCk9Pih0PT09MCYmKHI9JHIoKCk9PmUoKCk9PmtuKG4pKSkpLHQrPTEsKCk9PntndCgoKT0+ey0tdCx0PT09MCYmKHI/LigpLHI9dm9pZCAwLGtuKG4pKX0pfSkpKX19dmFyIG5uPW1lfGhlO2Z1bmN0aW9uIHJuKGUsdCxuLHIpe25ldyBhbihlLHQsbixyKX12YXIgYW49Y2xhc3N7cGFyZW50O2lzX3BlbmRpbmc9ITE7dHJhbnNmb3JtX2Vycm9yOyNlOyN0PUM/dzpudWxsOyNuOyNyOyNpOyNhPW51bGw7I289bnVsbDsjcz1udWxsOyNjPW51bGw7I2w9MDsjdT0wOyNkPSExOyNmPW5ldyBTZXQ7I3A9bmV3IFNldDsjbT1udWxsOyNoPXRuKCgpPT4odGhpcy4jbT1Tbih0aGlzLiNsKSwoKT0+e3RoaXMuI209bnVsbH0pKTtjb25zdHJ1Y3RvcihlLHQsbixyKXt0aGlzLiNlPWUsdGhpcy4jbj10LHRoaXMuI3I9ZT0+e3ZhciB0PUk7dC5iPXRoaXMsdC5mfD0xMjgsbihlKX0sdGhpcy5wYXJlbnQ9SS5iLHRoaXMudHJhbnNmb3JtX2Vycm9yPXI/P3RoaXMucGFyZW50Py50cmFuc2Zvcm1fZXJyb3I/PyhlPT5lKSx0aGlzLiNpPW1yKCgpPT57aWYoQyl7bGV0IGU9dGhpcy4jdDtZZSgpO2xldCB0PWUuZGF0YT09PWBbIWA7aWYoZS5kYXRhLnN0YXJ0c1dpdGgoYFs/YCkpe2xldCB0PUpTT04ucGFyc2UoZS5kYXRhLnNsaWNlKDIpKTt0aGlzLiNfKHQpfWVsc2UgdD90aGlzLiN2KCk6dGhpcy4jZygpfWVsc2UgdGhpcy4jeSgpfSxubiksQyYmKHRoaXMuI2U9dyl9I2coKXt0cnl7dGhpcy4jYT1ncigoKT0+dGhpcy4jcih0aGlzLiNlKSl9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I18oZSl7bGV0IHQ9dGhpcy4jbi5mYWlsZWQ7dCYmKHRoaXMuI3M9Z3IoKCk9Pnt0KHRoaXMuI2UsKCk9PmUsKCk9PigpPT57fSl9KSl9I3YoKXtsZXQgZT10aGlzLiNuLnBlbmRpbmc7ZSYmKHRoaXMuaXNfcGVuZGluZz0hMCx0aGlzLiNvPWdyKCgpPT5lKHRoaXMuI2UpKSxndCgoKT0+e3ZhciBlPXRoaXMuI2M9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9em4oKTtlLmFwcGVuZCh0KSx0aGlzLiNhPXRoaXMuI3goKCk9PmdyKCgpPT50aGlzLiNyKHQpKSksdGhpcy4jdT09PTAmJih0aGlzLiNlLmJlZm9yZShlKSx0aGlzLiNjPW51bGwsU3IodGhpcy4jbywoKT0+e3RoaXMuI289bnVsbH0pLHRoaXMuI2IoaikpfSkpfSN5KCl7dHJ5e2lmKHRoaXMuaXNfcGVuZGluZz10aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSx0aGlzLiN1PTAsdGhpcy4jbD0wLHRoaXMuI2E9Z3IoKCk9Pnt0aGlzLiNyKHRoaXMuI2UpfSksdGhpcy4jdT4wKXt2YXIgZT10aGlzLiNjPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtFcih0aGlzLiNhLGUpO2xldCB0PXRoaXMuI24ucGVuZGluZzt0aGlzLiNvPWdyKCgpPT50KHRoaXMuI2UpKX1lbHNlIHRoaXMuI2Ioail9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I2IoZSl7dGhpcy5pc19wZW5kaW5nPSExLGUudHJhbnNmZXJfZWZmZWN0cyh0aGlzLiNmLHRoaXMuI3ApfWRlZmVyX2VmZmVjdChlKXtDdChlLHRoaXMuI2YsdGhpcy4jcCl9aXNfcmVuZGVyZWQoKXtyZXR1cm4hdGhpcy5pc19wZW5kaW5nJiYoIXRoaXMucGFyZW50fHx0aGlzLnBhcmVudC5pc19yZW5kZXJlZCgpKX1oYXNfcGVuZGluZ19zbmlwcGV0KCl7cmV0dXJuISF0aGlzLiNuLnBlbmRpbmd9I3goZSl7dmFyIHQ9SSxuPUYscj1FO05yKHRoaXMuI2kpLE1yKHRoaXMuI2kpLG90KHRoaXMuI2kuY3R4KTt0cnl7cmV0dXJuIEd0LmVuc3VyZSgpLGUoKX1jYXRjaChlKXtyZXR1cm4gdnQoZSksbnVsbH1maW5hbGx5e05yKHQpLE1yKG4pLG90KHIpfX0jUyhlLHQpe2lmKCF0aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSl7dGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LiNTKGUsdCk7cmV0dXJufXRoaXMuI3UrPWUsdGhpcy4jdT09PTAmJih0aGlzLiNiKHQpLHRoaXMuI28mJlNyKHRoaXMuI28sKCk9Pnt0aGlzLiNvPW51bGx9KSx0aGlzLiNjJiY9KHRoaXMuI2UuYmVmb3JlKHRoaXMuI2MpLG51bGwpKX11cGRhdGVfcGVuZGluZ19jb3VudChlLHQpe3RoaXMuI1MoZSx0KSx0aGlzLiNsKz1lLCEoIXRoaXMuI218fHRoaXMuI2QpJiYodGhpcy4jZD0hMCxndCgoKT0+e3RoaXMuI2Q9ITEsdGhpcy4jbSYmRW4odGhpcy4jbSx0aGlzLiNsKX0pKX1nZXRfZWZmZWN0X3BlbmRpbmcoKXtyZXR1cm4gdGhpcy4jaCgpLFIodGhpcy4jbSl9ZXJyb3IoZSl7aWYoIXRoaXMuI24ub25lcnJvciYmIXRoaXMuI24uZmFpbGVkKXRocm93IGU7aj8uaXNfZm9yaz8odGhpcy4jYSYmai5za2lwX2VmZmVjdCh0aGlzLiNhKSx0aGlzLiNvJiZqLnNraXBfZWZmZWN0KHRoaXMuI28pLHRoaXMuI3MmJmouc2tpcF9lZmZlY3QodGhpcy4jcyksai5vbl9mb3JrX2NvbW1pdCgoKT0+e3RoaXMuI0MoZSl9KSk6dGhpcy4jQyhlKX0jQyhlKXt0aGlzLiNhJiY9KFAodGhpcy4jYSksbnVsbCksdGhpcy4jbyYmPShQKHRoaXMuI28pLG51bGwpLHRoaXMuI3MmJj0oUCh0aGlzLiNzKSxudWxsKSxDJiYoVCh0aGlzLiN0KSxaZSgpLFQoUWUoKSkpO3ZhciB0PXRoaXMuI24ub25lcnJvcjtsZXQgbj10aGlzLiNuLmZhaWxlZDt2YXIgcj0hMSxpPSExO2xldCBhPSgpPT57aWYocil7cWUoKTtyZXR1cm59cj0hMCxpJiZ6ZSgpLHRoaXMuI3MhPT1udWxsJiZTcih0aGlzLiNzLCgpPT57dGhpcy4jcz1udWxsfSksdGhpcy4jeCgoKT0+e3RoaXMuI3koKX0pfSxvPWU9Pnt0cnl7aT0hMCx0Py4oZSxhKSxpPSExfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpfW4mJih0aGlzLiNzPXRoaXMuI3goKCk9Pnt0cnl7cmV0dXJuIGdyKCgpPT57dmFyIHQ9STt0LmI9dGhpcyx0LmZ8PTEyOCxuKHRoaXMuI2UsKCk9PmUsKCk9PmEpfSl9Y2F0Y2goZSl7cmV0dXJuIHl0KGUsdGhpcy4jaS5wYXJlbnQpLG51bGx9fSkpfTtndCgoKT0+e3ZhciB0O3RyeXt0PXRoaXMudHJhbnNmb3JtX2Vycm9yKGUpfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpO3JldHVybn10eXBlb2YgdD09YG9iamVjdGAmJnQmJnR5cGVvZiB0LnRoZW49PWBmdW5jdGlvbmA/dC50aGVuKG8sZT0+eXQoZSx0aGlzLiNpJiZ0aGlzLiNpLnBhcmVudCkpOm8odCl9KX19O2Z1bmN0aW9uIG9uKGUsdCxuLHIpe2xldCBpPWR0KCk/dW46cG47dmFyIGE9ZS5maWx0ZXIoZT0+IWUuc2V0dGxlZCk7aWYobi5sZW5ndGg9PT0wJiZhLmxlbmd0aD09PTApe3IodC5tYXAoaSkpO3JldHVybn12YXIgbz1JLHM9c24oKSxjPWEubGVuZ3RoPT09MT9hWzBdLnByb21pc2U6YS5sZW5ndGg+MT9Qcm9taXNlLmFsbChhLm1hcChlPT5lLnByb21pc2UpKTpudWxsO2Z1bmN0aW9uIGwoZSl7cygpO3RyeXtyKGUpfWNhdGNoKGUpe28uZiYxNjM4NHx8eXQoZSxvKX1jbigpfWlmKG4ubGVuZ3RoPT09MCl7Yy50aGVuKCgpPT5sKHQubWFwKGkpKSk7cmV0dXJufXZhciB1PWxuKCk7ZnVuY3Rpb24gZCgpe1Byb21pc2UuYWxsKG4ubWFwKGU9PmRuKGUpKSkudGhlbihlPT5sKFsuLi50Lm1hcChpKSwuLi5lXSkpLmNhdGNoKGU9Pnl0KGUsbykpLmZpbmFsbHkoKCk9PnUoKSl9Yz9jLnRoZW4oKCk9PntzKCksZCgpLGNuKCl9KTpkKCl9ZnVuY3Rpb24gc24oKXt2YXIgZT1JLHQ9RixuPUUscj1qO3JldHVybiBmdW5jdGlvbihpPSEwKXtOcihlKSxNcih0KSxvdChuKSxpJiYhKGUuZiYxNjM4NCkmJihyPy5hY3RpdmF0ZSgpLHI/LmFwcGx5KCkpfX1mdW5jdGlvbiBjbihlPSEwKXtOcihudWxsKSxNcihudWxsKSxvdChudWxsKSxlJiZqPy5kZWFjdGl2YXRlKCl9ZnVuY3Rpb24gbG4oKXt2YXIgZT1JLHQ9ZS5iLG49aixyPXQuaXNfcmVuZGVyZWQoKTtyZXR1cm4gdC51cGRhdGVfcGVuZGluZ19jb3VudCgxLG4pLG4uaW5jcmVtZW50KHIsZSksKGk9ITEpPT57dC51cGRhdGVfcGVuZGluZ19jb3VudCgtMSxuKSxuLmRlY3JlbWVudChyLGUsaSl9fWZ1bmN0aW9uIHVuKGUpe3ZhciB0PTJ8Y2U7cmV0dXJuIEkhPT1udWxsJiYoSS5mfD1oZSkse2N0eDpFLGRlcHM6bnVsbCxlZmZlY3RzOm51bGwsZXF1YWxzOmV0LGY6dCxmbjplLHJlYWN0aW9uczpudWxsLHJ2OjAsdjpTLHd2OjAscGFyZW50OkksYWM6bnVsbH19ZnVuY3Rpb24gZG4oZSx0LG4pe2xldCByPUk7cj09PW51bGwmJk9lKCk7dmFyIGk9dm9pZCAwLGE9U24oUyksbz0hRixzPW5ldyBNYXA7cmV0dXJuIGRyKCgpPT57dmFyIHQ9SSxuPWFlKCk7aT1uLnByb21pc2U7dHJ5e1Byb21pc2UucmVzb2x2ZShlKCkpLnRoZW4obi5yZXNvbHZlLG4ucmVqZWN0KS5maW5hbGx5KGNuKX1jYXRjaChlKXtuLnJlamVjdChlKSxjbigpfXZhciBjPWo7aWYobyl7aWYodC5mJjMyNzY4KXZhciBsPWxuKCk7aWYoci5iLmlzX3JlbmRlcmVkKCkpcy5nZXQoYyk/LnJlamVjdChUZSkscy5kZWxldGUoYyk7ZWxzZXtmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSk7cy5jbGVhcigpfXMuc2V0KGMsbil9bGV0IHU9KGUsbj12b2lkIDApPT57aWYobCYmbChuPT09VGUpLCEobj09PVRlfHx0LmYmMTYzODQpKXtpZihjLmFjdGl2YXRlKCksbilhLmZ8PXhlLEVuKGEsbik7ZWxzZXthLmYmODM4ODYwOCYmKGEuZl49eGUpLEVuKGEsZSk7Zm9yKGxldFtlLHRdb2Ygcyl7aWYocy5kZWxldGUoZSksZT09PWMpYnJlYWs7dC5yZWplY3QoVGUpfX1jLmRlYWN0aXZhdGUoKX19O24ucHJvbWlzZS50aGVuKHUsZT0+dShudWxsLGV8fGB1bmtub3duYCkpfSksYXIoKCk9Pntmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSl9KSxuZXcgUHJvbWlzZShlPT57ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiByKCl7bj09PWk/ZShhKTp0KGkpfW4udGhlbihyLHIpfXQoaSl9KX1mdW5jdGlvbiBmbihlKXtsZXQgdD11bihlKTtyZXR1cm4gcnR8fEZyKHQpLHR9ZnVuY3Rpb24gcG4oZSl7bGV0IHQ9dW4oZSk7cmV0dXJuIHQuZXF1YWxzPW50LHR9ZnVuY3Rpb24gbW4oZSl7dmFyIHQ9ZS5lZmZlY3RzO2lmKHQhPT1udWxsKXtlLmVmZmVjdHM9bnVsbDtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rPTEpUCh0W25dKX19ZnVuY3Rpb24gaG4oZSl7dmFyIHQsbj1JLHI9ZS5wYXJlbnQ7aWYoIWtyJiZyIT09bnVsbCYmci5mJjI0NTc2KXJldHVybiBXZSgpLGUudjtOcihyKTt0cnl7ZS5mJj1+dmUsbW4oZSksdD1LcihlKX1maW5hbGx5e05yKG4pfXJldHVybiB0fWZ1bmN0aW9uIGduKGUpe3ZhciB0PWhuKGUpO2lmKCFlLmVxdWFscyh0KSYmKGUud3Y9VXIoKSwoIWo/LmlzX2Zvcmt8fGUuZGVwcz09PW51bGwpJiYoaj09PW51bGw/ZS52PXQ6ai5jYXB0dXJlKGUsdCwhMCksZS5kZXBzPT09bnVsbCkpKXtEKGUsc2UpO3JldHVybn1rcnx8KE09PT1udWxsP3h0KGUpOihpcigpfHxqPy5pc19mb3JrKSYmTS5zZXQoZSx0KSl9ZnVuY3Rpb24gX24oZSl7aWYoZS5lZmZlY3RzIT09bnVsbClmb3IobGV0IHQgb2YgZS5lZmZlY3RzKSh0LnRlYXJkb3dufHx0LmFjKSYmKHQudGVhcmRvd24/LigpLHQuYWM/LmFib3J0KFRlKSx0LnRlYXJkb3duPXgsdC5hYz1udWxsLEpyKHQsMCksdnIodCkpfWZ1bmN0aW9uIHZuKGUpe2lmKGUuZWZmZWN0cyE9PW51bGwpZm9yKGxldCB0IG9mIGUuZWZmZWN0cyl0LnRlYXJkb3duJiZZcih0KX12YXIgeW49bmV3IFNldCxibj1uZXcgTWFwLHhuPSExO2Z1bmN0aW9uIFNuKGUsdCl7cmV0dXJue2Y6MCx2OmUscmVhY3Rpb25zOm51bGwsZXF1YWxzOmV0LHJ2OjAsd3Y6MH19ZnVuY3Rpb24gQ24oZSx0KXtsZXQgbj1TbihlLHQpO3JldHVybiBGcihuKSxufWZ1bmN0aW9uIHduKGUsdD0hMSxuPSEwKXtsZXQgcj1TbihlKTtyZXR1cm4gdHx8KHIuZXF1YWxzPW50KSxpdCYmbiYmRSE9PW51bGwmJkUubCE9PW51bGwmJihFLmwucz8/PVtdKS5wdXNoKHIpLHJ9ZnVuY3Rpb24gVG4oZSx0LG49ITEpe3JldHVybiBGIT09bnVsbCYmKCFqcnx8Ri5mJjEzMTA3MikmJmR0KCkmJkYuZiY0MzI1Mzk0JiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSYmUmUoKSxFbihlLG4/am4odCk6dCxIdCl9ZnVuY3Rpb24gRW4oZSx0LG49bnVsbCl7aWYoIWUuZXF1YWxzKHQpKXtibi5zZXQoZSxrcj90OmUudik7dmFyIHI9R3QuZW5zdXJlKCk7aWYoci5jYXB0dXJlKGUsdCksZS5mJjIpe2xldCB0PWU7ZS5mJjIwNDgmJmhuKHQpLE09PT1udWxsJiZ4dCh0KX1lLnd2PVVyKCksQW4oZSxjZSxuKSxkdCgpJiZJIT09bnVsbCYmSS5mJjEwMjQmJiEoSS5mJjk2KSYmKExyPT09bnVsbD9ScihbZV0pOkxyLnB1c2goZSkpLCFyLmlzX2ZvcmsmJnluLnNpemU+MCYmIXhuJiZEbigpfXJldHVybiB0fWZ1bmN0aW9uIERuKCl7eG49ITE7Zm9yKGxldCBlIG9mIHluKWUuZiYxMDI0JiZEKGUsbGUpLFdyKGUpJiZZcihlKTt5bi5jbGVhcigpfWZ1bmN0aW9uIE9uKGUsdD0xKXt2YXIgbj1SKGUpLHI9dD09PTE/bisrOm4tLTtyZXR1cm4gVG4oZSxuKSxyfWZ1bmN0aW9uIGtuKGUpe1RuKGUsZS52KzEpfWZ1bmN0aW9uIEFuKGUsdCxuKXt2YXIgcj1lLnJlYWN0aW9ucztpZihyIT09bnVsbClmb3IodmFyIGk9ZHQoKSxhPXIubGVuZ3RoLG89MDtvPGE7bysrKXt2YXIgcz1yW29dLGM9cy5mO2lmKCEoIWkmJnM9PT1JKSl7dmFyIGw9KGMmY2UpPT09MDtpZihsJiZEKHMsdCksYyYyKXt2YXIgdT1zO00/LmRlbGV0ZSh1KSxjJjY1NTM2fHwoYyY1MTImJihJPT09bnVsbHx8IShJLmYmMjA5NzE1MikpJiYocy5mfD12ZSksQW4odSxsZSxuKSl9ZWxzZSBpZihsKXt2YXIgZD1zO2MmMTYmJkp0IT09bnVsbCYmSnQuYWRkKGQpLG49PT1udWxsP1F0KGQpOm4ucHVzaChkKX19fX1mdW5jdGlvbiBqbihlKXtpZih0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxTZSBpbiBlKXJldHVybiBlO2xldCB0PWIoZSk7aWYodCE9PXkmJnQhPT1lZSlyZXR1cm4gZTt2YXIgbj1uZXcgTWFwLHI9ZihlKSxpPUNuKDApLGE9bnVsbCxvPVZyLHM9ZT0+e2lmKFZyPT09bylyZXR1cm4gZSgpO3ZhciB0PUYsbj1WcjtNcihudWxsKSxIcihvKTt2YXIgcj1lKCk7cmV0dXJuIE1yKHQpLEhyKG4pLHJ9O3JldHVybiByJiZuLnNldChgbGVuZ3RoYCxDbihlLmxlbmd0aCxhKSksbmV3IFByb3h5KGUse2RlZmluZVByb3BlcnR5KGUsdCxyKXsoIShgdmFsdWVgaW4gcil8fHIuY29uZmlndXJhYmxlPT09ITF8fHIuZW51bWVyYWJsZT09PSExfHxyLndyaXRhYmxlPT09ITEpJiZJZSgpO3ZhciBpPW4uZ2V0KHQpO3JldHVybiBpPT09dm9pZCAwP3MoKCk9Pnt2YXIgZT1DbihyLnZhbHVlLGEpO3JldHVybiBuLnNldCh0LGUpLGV9KTpUbihpLHIudmFsdWUsITApLCEwfSxkZWxldGVQcm9wZXJ0eShlLHQpe3ZhciByPW4uZ2V0KHQpO2lmKHI9PT12b2lkIDApe2lmKHQgaW4gZSl7bGV0IGU9cygoKT0+Q24oUyxhKSk7bi5zZXQodCxlKSxrbihpKX19ZWxzZSBUbihyLFMpLGtuKGkpO3JldHVybiEwfSxnZXQodCxyLGkpe2lmKHI9PT1TZSlyZXR1cm4gZTt2YXIgbz1uLmdldChyKSxjPXIgaW4gdDtpZihvPT09dm9pZCAwJiYoIWN8fF8odCxyKT8ud3JpdGFibGUpJiYobz1zKCgpPT5DbihqbihjP3Rbcl06UyksYSkpLG4uc2V0KHIsbykpLG8hPT12b2lkIDApe3ZhciBsPVIobyk7cmV0dXJuIGw9PT1TP3ZvaWQgMDpsfXJldHVybiBSZWZsZWN0LmdldCh0LHIsaSl9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe3ZhciByPVJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7aWYociYmYHZhbHVlYGluIHIpe3ZhciBpPW4uZ2V0KHQpO2kmJihyLnZhbHVlPVIoaSkpfWVsc2UgaWYocj09PXZvaWQgMCl7dmFyIGE9bi5nZXQodCksbz1hPy52O2lmKGEhPT12b2lkIDAmJm8hPT1TKXJldHVybntlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpvLHdyaXRhYmxlOiEwfX1yZXR1cm4gcn0saGFzKGUsdCl7aWYodD09PVNlKXJldHVybiEwO3ZhciByPW4uZ2V0KHQpLGk9ciE9PXZvaWQgMCYmci52IT09U3x8UmVmbGVjdC5oYXMoZSx0KTtyZXR1cm4ociE9PXZvaWQgMHx8SSE9PW51bGwmJighaXx8XyhlLHQpPy53cml0YWJsZSkpJiYocj09PXZvaWQgMCYmKHI9cygoKT0+Q24oaT9qbihlW3RdKTpTLGEpKSxuLnNldCh0LHIpKSxSKHIpPT09Uyk/ITE6aX0sc2V0KGUsdCxvLGMpe3ZhciBsPW4uZ2V0KHQpLHU9dCBpbiBlO2lmKHImJnQ9PT1gbGVuZ3RoYClmb3IodmFyIGQ9bztkPGwudjtkKz0xKXt2YXIgZj1uLmdldChkK2BgKTtmPT09dm9pZCAwP2QgaW4gZSYmKGY9cygoKT0+Q24oUyxhKSksbi5zZXQoZCtgYCxmKSk6VG4oZixTKX1pZihsPT09dm9pZCAwKSghdXx8XyhlLHQpPy53cml0YWJsZSkmJihsPXMoKCk9PkNuKHZvaWQgMCxhKSksVG4obCxqbihvKSksbi5zZXQodCxsKSk7ZWxzZXt1PWwudiE9PVM7dmFyIHA9cygoKT0+am4obykpO1RuKGwscCl9dmFyIG09UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTtpZihtPy5zZXQmJm0uc2V0LmNhbGwoYyxvKSwhdSl7aWYociYmdHlwZW9mIHQ9PWBzdHJpbmdgKXt2YXIgaD1uLmdldChgbGVuZ3RoYCksZz1OdW1iZXIodCk7TnVtYmVyLmlzSW50ZWdlcihnKSYmZz49aC52JiZUbihoLGcrMSl9a24oaSl9cmV0dXJuITB9LG93bktleXMoZSl7UihpKTt2YXIgdD1SZWZsZWN0Lm93bktleXMoZSkuZmlsdGVyKGU9Pnt2YXIgdD1uLmdldChlKTtyZXR1cm4gdD09PXZvaWQgMHx8dC52IT09U30pO2Zvcih2YXJbcixhXW9mIG4pYS52IT09UyYmIShyIGluIGUpJiZ0LnB1c2gocik7cmV0dXJuIHR9LHNldFByb3RvdHlwZU9mKCl7TGUoKX19KX1mdW5jdGlvbiBNbihlKXt0cnl7aWYodHlwZW9mIGU9PWBvYmplY3RgJiZlJiZTZSBpbiBlKXJldHVybiBlW1NlXX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24gTm4oZSx0KXtyZXR1cm4gT2JqZWN0LmlzKE1uKGUpLE1uKHQpKX12YXIgUG4sRm4sSW4sTG47ZnVuY3Rpb24gUm4oKXtpZihQbj09PXZvaWQgMCl7UG49d2luZG93LEZuPS9GaXJlZm94Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO3ZhciBlPUVsZW1lbnQucHJvdG90eXBlLHQ9Tm9kZS5wcm90b3R5cGUsbj1UZXh0LnByb3RvdHlwZTtJbj1fKHQsYGZpcnN0Q2hpbGRgKS5nZXQsTG49Xyh0LGBuZXh0U2libGluZ2ApLmdldCx0ZShlKSYmKGUuX19jbGljaz12b2lkIDAsZS5fX2NsYXNzTmFtZT12b2lkIDAsZS5fX2F0dHJpYnV0ZXM9bnVsbCxlLl9fc3R5bGU9dm9pZCAwLGUuX19lPXZvaWQgMCksdGUobikmJihuLl9fdD12b2lkIDApfX1mdW5jdGlvbiB6bihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gSW4uY2FsbChlKX1mdW5jdGlvbiBCbihlKXtyZXR1cm4gTG4uY2FsbChlKX1mdW5jdGlvbiBWbihlLHQpe2lmKCFDKXJldHVybiBOKGUpO3ZhciBuPU4odyk7aWYobj09PW51bGwpbj13LmFwcGVuZENoaWxkKHpuKCkpO2Vsc2UgaWYodCYmbi5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIG4/LmJlZm9yZShyKSxUKHIpLHJ9cmV0dXJuIHQmJkpuKG4pLFQobiksbn1mdW5jdGlvbiBIbihlLHQ9ITEpe2lmKCFDKXt2YXIgbj1OKGUpO3JldHVybiBuIGluc3RhbmNlb2YgQ29tbWVudCYmbi5kYXRhPT09YGA/Qm4obik6bn1pZih0KXtpZih3Py5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIHc/LmJlZm9yZShyKSxUKHIpLHJ9Sm4odyl9cmV0dXJuIHd9ZnVuY3Rpb24gVW4oZSx0PTEsbj0hMSl7bGV0IHI9Qz93OmU7Zm9yKHZhciBpO3QtLTspaT1yLHI9Qm4ocik7aWYoIUMpcmV0dXJuIHI7aWYobil7aWYocj8ubm9kZVR5cGUhPT0zKXt2YXIgYT16bigpO3JldHVybiByPT09bnVsbD9pPy5hZnRlcihhKTpyLmJlZm9yZShhKSxUKGEpLGF9Sm4ocil9cmV0dXJuIFQocikscn1mdW5jdGlvbiBXbihlKXtlLnRleHRDb250ZW50PWBgfWZ1bmN0aW9uIEduKCl7cmV0dXJuIXJ0fHxKdCE9PW51bGw/ITE6KEkuZiZmZSkhPT0wfWZ1bmN0aW9uIEtuKGUsdCxuKXtsZXQgcj1uP3tpczpufTp2b2lkIDA7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh0Pz9gaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbGAsZSxyKX1mdW5jdGlvbiBxbihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudChlKX1mdW5jdGlvbiBKbihlKXtpZihlLm5vZGVWYWx1ZS5sZW5ndGg8NjU1MzYpcmV0dXJuO2xldCB0PWUubmV4dFNpYmxpbmc7Zm9yKDt0IT09bnVsbCYmdC5ub2RlVHlwZT09PTM7KXQucmVtb3ZlKCksZS5ub2RlVmFsdWUrPXQubm9kZVZhbHVlLHQ9ZS5uZXh0U2libGluZ31mdW5jdGlvbiBZbihlLHQpe2lmKHQpe2xldCB0PWRvY3VtZW50LmJvZHk7ZS5hdXRvZm9jdXM9ITAsZ3QoKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dCYmZS5mb2N1cygpfSl9fWZ1bmN0aW9uIFhuKGUpe0MmJk4oZSkhPT1udWxsJiZXbihlKX12YXIgWm49ITE7ZnVuY3Rpb24gUW4oKXtabnx8KFpuPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYHJlc2V0YCxlPT57UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2lmKCFlLmRlZmF1bHRQcmV2ZW50ZWQpZm9yKGxldCB0IG9mIGUudGFyZ2V0LmVsZW1lbnRzKXQuX19vbl9yPy4oKX0pfSx7Y2FwdHVyZTohMH0pKX1mdW5jdGlvbiAkbihlKXt2YXIgdD1GLG49STtNcihudWxsKSxOcihudWxsKTt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e01yKHQpLE5yKG4pfX1mdW5jdGlvbiBlcihlLHQsbixyPW4pe2UuYWRkRXZlbnRMaXN0ZW5lcih0LCgpPT4kbihuKSk7bGV0IGk9ZS5fX29uX3I7aT9lLl9fb25fcj0oKT0+e2koKSxyKCEwKX06ZS5fX29uX3I9KCk9PnIoITApLFFuKCl9ZnVuY3Rpb24gdHIoZSl7ST09PW51bGwmJihGPT09bnVsbCYmTWUoZSksamUoKSksa3ImJkFlKGUpfWZ1bmN0aW9uIG5yKGUsdCl7dmFyIG49dC5sYXN0O249PT1udWxsP3QubGFzdD10LmZpcnN0PWU6KG4ubmV4dD1lLGUucHJldj1uLHQubGFzdD1lKX1mdW5jdGlvbiBycihlLHQpe3ZhciBuPUk7biE9PW51bGwmJm4uZiY4MTkyJiYoZXw9dWUpO3ZhciByPXtjdHg6RSxkZXBzOm51bGwsbm9kZXM6bnVsbCxmOmV8Y2V8NTEyLGZpcnN0Om51bGwsZm46dCxsYXN0Om51bGwsbmV4dDpudWxsLHBhcmVudDpuLGI6biYmbi5iLHByZXY6bnVsbCx0ZWFyZG93bjpudWxsLHd2OjAsYWM6bnVsbH07aj8ucmVnaXN0ZXJfY3JlYXRlZF9lZmZlY3Qocik7dmFyIGk9cjtpZihlJjQpVnQ9PT1udWxsP0d0LmVuc3VyZSgpLnNjaGVkdWxlKHIpOlZ0LnB1c2gocik7ZWxzZSBpZih0IT09bnVsbCl7dHJ5e1lyKHIpfWNhdGNoKGUpe3Rocm93IFAociksZX1pLmRlcHM9PT1udWxsJiZpLnRlYXJkb3duPT09bnVsbCYmaS5ub2Rlcz09PW51bGwmJmkuZmlyc3Q9PT1pLmxhc3QmJiEoaS5mJjUyNDI4OCkmJihpPWkuZmlyc3QsZSYxNiYmZSY2NTUzNiYmaSE9PW51bGwmJihpLmZ8PW1lKSl9aWYoaSE9PW51bGwmJihpLnBhcmVudD1uLG4hPT1udWxsJiZucihpLG4pLEYhPT1udWxsJiZGLmYmMiYmIShlJjY0KSkpe3ZhciBhPUY7KGEuZWZmZWN0cz8/PVtdKS5wdXNoKGkpfXJldHVybiByfWZ1bmN0aW9uIGlyKCl7cmV0dXJuIEYhPT1udWxsJiYhanJ9ZnVuY3Rpb24gYXIoZSl7bGV0IHQ9cnIoOCxudWxsKTtyZXR1cm4gRCh0LHNlKSx0LnRlYXJkb3duPWUsdH1mdW5jdGlvbiBvcihlKXt0cihgJGVmZmVjdGApO3ZhciB0PUkuZjtpZighRiYmdCYzMiYmISh0JjMyNzY4KSl7dmFyIG49RTsobi5lPz89W10pLnB1c2goZSl9ZWxzZSByZXR1cm4gc3IoZSl9ZnVuY3Rpb24gc3IoZSl7cmV0dXJuIHJyKDR8Z2UsZSl9ZnVuY3Rpb24gY3IoZSl7cmV0dXJuIHRyKGAkZWZmZWN0LnByZWApLHJyKDh8Z2UsZSl9ZnVuY3Rpb24gbHIoZSl7R3QuZW5zdXJlKCk7bGV0IHQ9cnIoNjR8aGUsZSk7cmV0dXJuKGU9e30pPT5uZXcgUHJvbWlzZShuPT57ZS5vdXRybz9Tcih0LCgpPT57UCh0KSxuKHZvaWQgMCl9KTooUCh0KSxuKHZvaWQgMCkpfSl9ZnVuY3Rpb24gdXIoZSl7cmV0dXJuIHJyKDQsZSl9ZnVuY3Rpb24gZHIoZSl7cmV0dXJuIHJyKGJlfGhlLGUpfWZ1bmN0aW9uIGZyKGUsdD0wKXtyZXR1cm4gcnIoOHx0LGUpfWZ1bmN0aW9uIHByKGUsdD1bXSxuPVtdLHI9W10pe29uKHIsdCxuLHQ9Pntycig4LCgpPT5lKC4uLnQubWFwKFIpKSl9KX1mdW5jdGlvbiBtcihlLHQ9MCl7cmV0dXJuIHJyKDE2fHQsZSl9ZnVuY3Rpb24gaHIoZSx0PTApe3JldHVybiBycihvZXx0LGUpfWZ1bmN0aW9uIGdyKGUpe3JldHVybiBycigzMnxoZSxlKX1mdW5jdGlvbiBfcihlKXt2YXIgdD1lLnRlYXJkb3duO2lmKHQhPT1udWxsKXtsZXQgZT1rcixuPUY7QXIoITApLE1yKG51bGwpO3RyeXt0LmNhbGwobnVsbCl9ZmluYWxseXtBcihlKSxNcihuKX19fWZ1bmN0aW9uIHZyKGUsdD0hMSl7dmFyIG49ZS5maXJzdDtmb3IoZS5maXJzdD1lLmxhc3Q9bnVsbDtuIT09bnVsbDspe2xldCBlPW4uYWM7ZSE9PW51bGwmJiRuKCgpPT57ZS5hYm9ydChUZSl9KTt2YXIgcj1uLm5leHQ7bi5mJjY0P24ucGFyZW50PW51bGw6UChuLHQpLG49cn19ZnVuY3Rpb24geXIoZSl7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KXt2YXIgbj10Lm5leHQ7dC5mJjMyfHxQKHQpLHQ9bn19ZnVuY3Rpb24gUChlLHQ9ITApe3ZhciBuPSExOyh0fHxlLmYmMjYyMTQ0KSYmZS5ub2RlcyE9PW51bGwmJmUubm9kZXMuZW5kIT09bnVsbCYmKGJyKGUubm9kZXMuc3RhcnQsZS5ub2Rlcy5lbmQpLG49ITApLEQoZSxwZSksdnIoZSx0JiYhbiksSnIoZSwwKTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpZS5zdG9wKCk7X3IoZSksZS5mXj1wZSxlLmZ8PWRlO3ZhciBpPWUucGFyZW50O2khPT1udWxsJiZpLmZpcnN0IT09bnVsbCYmeHIoZSksZS5uZXh0PWUucHJldj1lLnRlYXJkb3duPWUuY3R4PWUuZGVwcz1lLmZuPWUubm9kZXM9ZS5hYz1lLmI9bnVsbH1mdW5jdGlvbiBicihlLHQpe2Zvcig7ZSE9PW51bGw7KXt2YXIgbj1lPT09dD9udWxsOkJuKGUpO2UucmVtb3ZlKCksZT1ufX1mdW5jdGlvbiB4cihlKXt2YXIgdD1lLnBhcmVudCxuPWUucHJldixyPWUubmV4dDtuIT09bnVsbCYmKG4ubmV4dD1yKSxyIT09bnVsbCYmKHIucHJldj1uKSx0IT09bnVsbCYmKHQuZmlyc3Q9PT1lJiYodC5maXJzdD1yKSx0Lmxhc3Q9PT1lJiYodC5sYXN0PW4pKX1mdW5jdGlvbiBTcihlLHQsbj0hMCl7dmFyIHI9W107Q3IoZSxyLCEwKTt2YXIgaT0oKT0+e24mJlAoZSksdCYmdCgpfSxhPXIubGVuZ3RoO2lmKGE+MCl7dmFyIG89KCk9Pi0tYXx8aSgpO2Zvcih2YXIgcyBvZiByKXMub3V0KG8pfWVsc2UgaSgpfWZ1bmN0aW9uIENyKGUsdCxuKXtpZighKGUuZiY4MTkyKSl7ZS5mXj11ZTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpKGUuaXNfZ2xvYmFsfHxuKSYmdC5wdXNoKGUpO2Zvcih2YXIgaT1lLmZpcnN0O2khPT1udWxsOyl7dmFyIGE9aS5uZXh0O2lmKCEoaS5mJjY0KSl7dmFyIG89KGkuZiY2NTUzNikhPTB8fChpLmYmMzIpIT0wJiYoZS5mJjE2KSE9MDtDcihpLHQsbz9uOiExKX1pPWF9fX1mdW5jdGlvbiB3cihlKXtUcihlLCEwKX1mdW5jdGlvbiBUcihlLHQpe2lmKGUuZiY4MTkyKXtlLmZePXVlLGUuZiYxMDI0fHwoRChlLGNlKSxHdC5lbnN1cmUoKS5zY2hlZHVsZShlKSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KXt2YXIgcj1uLm5leHQsaT0obi5mJjY1NTM2KSE9MHx8KG4uZiYzMikhPTA7VHIobixpP3Q6ITEpLG49cn12YXIgYT1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYoYSE9PW51bGwpZm9yKGxldCBlIG9mIGEpKGUuaXNfZ2xvYmFsfHx0KSYmZS5pbigpfX1mdW5jdGlvbiBFcihlLHQpe2lmKGUubm9kZXMpZm9yKHZhciBuPWUubm9kZXMuc3RhcnQscj1lLm5vZGVzLmVuZDtuIT09bnVsbDspe3ZhciBpPW49PT1yP251bGw6Qm4obik7dC5hcHBlbmQobiksbj1pfX12YXIgRHI9bnVsbCxPcj0hMSxrcj0hMTtmdW5jdGlvbiBBcihlKXtrcj1lfXZhciBGPW51bGwsanI9ITE7ZnVuY3Rpb24gTXIoZSl7Rj1lfXZhciBJPW51bGw7ZnVuY3Rpb24gTnIoZSl7ST1lfXZhciBQcj1udWxsO2Z1bmN0aW9uIEZyKGUpe0YhPT1udWxsJiYoIXJ0fHxGLmYmMikmJihQcj09PW51bGw/UHI9W2VdOlByLnB1c2goZSkpfXZhciBMPW51bGwsSXI9MCxMcj1udWxsO2Z1bmN0aW9uIFJyKGUpe0xyPWV9dmFyIHpyPTEsQnI9MCxWcj1CcjtmdW5jdGlvbiBIcihlKXtWcj1lfWZ1bmN0aW9uIFVyKCl7cmV0dXJuKyt6cn1mdW5jdGlvbiBXcihlKXt2YXIgdD1lLmY7aWYodCYyMDQ4KXJldHVybiEwO2lmKHQmMiYmKGUuZiY9fnZlKSx0JjQwOTYpe2Zvcih2YXIgbj1lLmRlcHMscj1uLmxlbmd0aCxpPTA7aTxyO2krKyl7dmFyIGE9bltpXTtpZihXcihhKSYmZ24oYSksYS53dj5lLnd2KXJldHVybiEwfXQmNTEyJiZNPT09bnVsbCYmRChlLHNlKX1yZXR1cm4hMX1mdW5jdGlvbiBHcihlLHQsbj0hMCl7dmFyIHI9ZS5yZWFjdGlvbnM7aWYociE9PW51bGwmJiEoIXJ0JiZQciE9PW51bGwmJm0uY2FsbChQcixlKSkpZm9yKHZhciBpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBhPXJbaV07YS5mJjI/R3IoYSx0LCExKTp0PT09YSYmKG4/RChhLGNlKTphLmYmMTAyNCYmRChhLGxlKSxRdChhKSl9fWZ1bmN0aW9uIEtyKGUpe3ZhciB0PUwsbj1JcixyPUxyLGk9RixhPVByLG89RSxzPWpyLGM9VnIsbD1lLmY7TD1udWxsLElyPTAsTHI9bnVsbCxGPWwmOTY/bnVsbDplLFByPW51bGwsb3QoZS5jdHgpLGpyPSExLFZyPSsrQnIsZS5hYyE9PW51bGwmJigkbigoKT0+e2UuYWMuYWJvcnQoVGUpfSksZS5hYz1udWxsKTt0cnl7ZS5mfD15ZTt2YXIgdT1lLmZuLGQ9dSgpO2UuZnw9ZmU7dmFyIGY9ZS5kZXBzLHA9aj8uaXNfZm9yaztpZihMIT09bnVsbCl7dmFyIG07aWYocHx8SnIoZSxJciksZiE9PW51bGwmJklyPjApZm9yKGYubGVuZ3RoPUlyK0wubGVuZ3RoLG09MDttPEwubGVuZ3RoO20rKylmW0lyK21dPUxbbV07ZWxzZSBlLmRlcHM9Zj1MO2lmKGlyKCkmJmUuZiY1MTIpZm9yKG09SXI7bTxmLmxlbmd0aDttKyspKGZbbV0ucmVhY3Rpb25zPz89W10pLnB1c2goZSl9ZWxzZSAhcCYmZiE9PW51bGwmJklyPGYubGVuZ3RoJiYoSnIoZSxJciksZi5sZW5ndGg9SXIpO2lmKGR0KCkmJkxyIT09bnVsbCYmIWpyJiZmIT09bnVsbCYmIShlLmYmNjE0NikpZm9yKG09MDttPExyLmxlbmd0aDttKyspR3IoTHJbbV0sZSk7aWYoaSE9PW51bGwmJmkhPT1lKXtpZihCcisrLGkuZGVwcyE9PW51bGwpZm9yKGxldCBlPTA7ZTxuO2UrPTEpaS5kZXBzW2VdLnJ2PUJyO2lmKHQhPT1udWxsKWZvcihsZXQgZSBvZiB0KWUucnY9QnI7THIhPT1udWxsJiYocj09PW51bGw/cj1McjpyLnB1c2goLi4uTHIpKX1yZXR1cm4gZS5mJjgzODg2MDgmJihlLmZePXhlKSxkfWNhdGNoKGUpe3JldHVybiB2dChlKX1maW5hbGx5e2UuZl49eWUsTD10LElyPW4sTHI9cixGPWksUHI9YSxvdChvKSxqcj1zLFZyPWN9fWZ1bmN0aW9uIHFyKGUsdCl7bGV0IG49dC5yZWFjdGlvbnM7aWYobiE9PW51bGwpe3ZhciByPXAuY2FsbChuLGUpO2lmKHIhPT0tMSl7dmFyIGk9bi5sZW5ndGgtMTtpPT09MD9uPXQucmVhY3Rpb25zPW51bGw6KG5bcl09bltpXSxuLnBvcCgpKX19aWYobj09PW51bGwmJnQuZiYyJiYoTD09PW51bGx8fCFtLmNhbGwoTCx0KSkpe3ZhciBhPXQ7YS5mJjUxMiYmKGEuZl49NTEyLGEuZiY9fnZlKSxhLnYhPT1TJiZ4dChhKSxfbihhKSxKcihhLDApfX1mdW5jdGlvbiBKcihlLHQpe3ZhciBuPWUuZGVwcztpZihuIT09bnVsbClmb3IodmFyIHI9dDtyPG4ubGVuZ3RoO3IrKylxcihlLG5bcl0pfWZ1bmN0aW9uIFlyKGUpe3ZhciB0PWUuZjtpZighKHQmMTYzODQpKXtEKGUsc2UpO3ZhciBuPUkscj1PcjtJPWUsT3I9ITA7dHJ5e3QmMTY3NzcyMzI/eXIoZSk6dnIoZSksX3IoZSk7dmFyIGk9S3IoZSk7ZS50ZWFyZG93bj10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOm51bGwsZS53dj16cn1maW5hbGx5e09yPXIsST1ufX19YXN5bmMgZnVuY3Rpb24gWHIoKXtpZihydClyZXR1cm4gbmV3IFByb21pc2UoZT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+ZSgpKSxzZXRUaW1lb3V0KCgpPT5lKCkpfSk7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCksS3QoKX1mdW5jdGlvbiBSKGUpe3ZhciB0PShlLmYmMikhPTA7aWYoRHI/LmFkZChlKSxGIT09bnVsbCYmIWpyJiYhKEkhPT1udWxsJiZJLmYmMTYzODQpJiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSl7dmFyIG49Ri5kZXBzO2lmKEYuZiYyMDk3MTUyKWUucnY8QnImJihlLnJ2PUJyLEw9PT1udWxsJiZuIT09bnVsbCYmbltJcl09PT1lP0lyKys6TD09PW51bGw/TD1bZV06TC5wdXNoKGUpKTtlbHNleyhGLmRlcHM/Pz1bXSkucHVzaChlKTt2YXIgcj1lLnJlYWN0aW9ucztyPT09bnVsbD9lLnJlYWN0aW9ucz1bRl06bS5jYWxsKHIsRil8fHIucHVzaChGKX19aWYoa3ImJmJuLmhhcyhlKSlyZXR1cm4gYm4uZ2V0KGUpO2lmKHQpe3ZhciBpPWU7aWYoa3Ipe3ZhciBhPWkudjtyZXR1cm4oIShpLmYmMTAyNCkmJmkucmVhY3Rpb25zIT09bnVsbHx8UXIoaSkpJiYoYT1obihpKSksYm4uc2V0KGksYSksYX12YXIgbz0oaS5mJjUxMik9PTAmJiFqciYmRiE9PW51bGwmJihPcnx8KEYuZiY1MTIpIT0wKSxzPShpLmYmZmUpPT09MDtXcihpKSYmKG8mJihpLmZ8PTUxMiksZ24oaSkpLG8mJiFzJiYodm4oaSksWnIoaSkpfWlmKE0/LmhhcyhlKSlyZXR1cm4gTS5nZXQoZSk7aWYoZS5mJjgzODg2MDgpdGhyb3cgZS52O3JldHVybiBlLnZ9ZnVuY3Rpb24gWnIoZSl7aWYoZS5mfD01MTIsZS5kZXBzIT09bnVsbClmb3IobGV0IHQgb2YgZS5kZXBzKSh0LnJlYWN0aW9ucz8/PVtdKS5wdXNoKGUpLHQuZiYyJiYhKHQuZiY1MTIpJiYodm4odCksWnIodCkpfWZ1bmN0aW9uIFFyKGUpe2lmKGUudj09PVMpcmV0dXJuITA7aWYoZS5kZXBzPT09bnVsbClyZXR1cm4hMTtmb3IobGV0IHQgb2YgZS5kZXBzKWlmKGJuLmhhcyh0KXx8dC5mJjImJlFyKHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uICRyKGUpe3ZhciB0PWpyO3RyeXtyZXR1cm4ganI9ITAsZSgpfWZpbmFsbHl7anI9dH19ZnVuY3Rpb24gZWkoZSl7aWYoISh0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxlIGluc3RhbmNlb2YgRXZlbnRUYXJnZXQpKXtpZihTZSBpbiBlKXRpKGUpO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCB0IGluIGUpe2xldCBuPWVbdF07dHlwZW9mIG49PWBvYmplY3RgJiZuJiZTZSBpbiBuJiZ0aShuKX19fWZ1bmN0aW9uIHRpKGUsdD1uZXcgU2V0KXtpZih0eXBlb2YgZT09YG9iamVjdGAmJmUmJiEoZSBpbnN0YW5jZW9mIEV2ZW50VGFyZ2V0KSYmIXQuaGFzKGUpKXt0LmFkZChlKSxlIGluc3RhbmNlb2YgRGF0ZSYmZS5nZXRUaW1lKCk7Zm9yKGxldCBuIGluIGUpdHJ5e3RpKGVbbl0sdCl9Y2F0Y2h7fWxldCBuPWIoZSk7aWYobiE9PU9iamVjdC5wcm90b3R5cGUmJm4hPT1BcnJheS5wcm90b3R5cGUmJm4hPT1NYXAucHJvdG90eXBlJiZuIT09U2V0LnByb3RvdHlwZSYmbiE9PURhdGUucHJvdG90eXBlKXtsZXQgdD12KG4pO2ZvcihsZXQgbiBpbiB0KXtsZXQgcj10W25dLmdldDtpZihyKXRyeXtyLmNhbGwoZSl9Y2F0Y2h7fX19fX1mdW5jdGlvbiBuaShlKXtyZXR1cm4gZS5lbmRzV2l0aChgY2FwdHVyZWApJiZlIT09YGdvdHBvaW50ZXJjYXB0dXJlYCYmZSE9PWBsb3N0cG9pbnRlcmNhcHR1cmVgfXZhciByaT1bYGJlZm9yZWlucHV0YCxgY2xpY2tgLGBjaGFuZ2VgLGBkYmxjbGlja2AsYGNvbnRleHRtZW51YCxgZm9jdXNpbmAsYGZvY3Vzb3V0YCxgaW5wdXRgLGBrZXlkb3duYCxga2V5dXBgLGBtb3VzZWRvd25gLGBtb3VzZW1vdmVgLGBtb3VzZW91dGAsYG1vdXNlb3ZlcmAsYG1vdXNldXBgLGBwb2ludGVyZG93bmAsYHBvaW50ZXJtb3ZlYCxgcG9pbnRlcm91dGAsYHBvaW50ZXJvdmVyYCxgcG9pbnRlcnVwYCxgdG91Y2hlbmRgLGB0b3VjaG1vdmVgLGB0b3VjaHN0YXJ0YF07ZnVuY3Rpb24gaWkoZSl7cmV0dXJuIHJpLmluY2x1ZGVzKGUpfXZhciBhaT1gYWxsb3dmdWxsc2NyZWVuLmFzeW5jLmF1dG9mb2N1cy5hdXRvcGxheS5jaGVja2VkLmNvbnRyb2xzLmRlZmF1bHQuZGlzYWJsZWQuZm9ybW5vdmFsaWRhdGUuaW5kZXRlcm1pbmF0ZS5pbmVydC5pc21hcC5sb29wLm11bHRpcGxlLm11dGVkLm5vbW9kdWxlLm5vdmFsaWRhdGUub3Blbi5wbGF5c2lubGluZS5yZWFkb25seS5yZXF1aXJlZC5yZXZlcnNlZC5zZWFtbGVzcy5zZWxlY3RlZC53ZWJraXRkaXJlY3RvcnkuZGVmZXIuZGlzYWJsZXBpY3R1cmVpbnBpY3R1cmUuZGlzYWJsZXJlbW90ZXBsYXliYWNrYC5zcGxpdChgLmApLG9pPXtmb3Jtbm92YWxpZGF0ZTpgZm9ybU5vVmFsaWRhdGVgLGlzbWFwOmBpc01hcGAsbm9tb2R1bGU6YG5vTW9kdWxlYCxwbGF5c2lubGluZTpgcGxheXNJbmxpbmVgLHJlYWRvbmx5OmByZWFkT25seWAsZGVmYXVsdHZhbHVlOmBkZWZhdWx0VmFsdWVgLGRlZmF1bHRjaGVja2VkOmBkZWZhdWx0Q2hlY2tlZGAsc3Jjb2JqZWN0OmBzcmNPYmplY3RgLG5vdmFsaWRhdGU6YG5vVmFsaWRhdGVgLGFsbG93ZnVsbHNjcmVlbjpgYWxsb3dGdWxsc2NyZWVuYCxkaXNhYmxlcGljdHVyZWlucGljdHVyZTpgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmVgLGRpc2FibGVyZW1vdGVwbGF5YmFjazpgZGlzYWJsZVJlbW90ZVBsYXliYWNrYH07ZnVuY3Rpb24gc2koZSl7cmV0dXJuIGU9ZS50b0xvd2VyQ2FzZSgpLG9pW2VdPz9lfVsuLi5haV07dmFyIGNpPVtgdG91Y2hzdGFydGAsYHRvdWNobW92ZWBdO2Z1bmN0aW9uIGxpKGUpe3JldHVybiBjaS5pbmNsdWRlcyhlKX12YXIgdWk9U3ltYm9sKGBldmVudHNgKSxkaT1uZXcgU2V0LGZpPW5ldyBTZXQ7ZnVuY3Rpb24gcGkoZSl7aWYoIUMpcmV0dXJuO2UucmVtb3ZlQXR0cmlidXRlKGBvbmxvYWRgKSxlLnJlbW92ZUF0dHJpYnV0ZShgb25lcnJvcmApO2xldCB0PWUuX19lO3QhPT12b2lkIDAmJihlLl9fZT12b2lkIDAscXVldWVNaWNyb3Rhc2soKCk9PntlLmlzQ29ubmVjdGVkJiZlLmRpc3BhdGNoRXZlbnQodCl9KSl9ZnVuY3Rpb24gbWkoZSx0LG4scj17fSl7ZnVuY3Rpb24gaShlKXtpZihyLmNhcHR1cmV8fHlpLmNhbGwodCxlKSwhZS5jYW5jZWxCdWJibGUpcmV0dXJuICRuKCgpPT5uPy5jYWxsKHRoaXMsZSkpfXJldHVybiBlLnN0YXJ0c1dpdGgoYHBvaW50ZXJgKXx8ZS5zdGFydHNXaXRoKGB0b3VjaGApfHxlPT09YHdoZWVsYD9ndCgoKT0+e3QuYWRkRXZlbnRMaXN0ZW5lcihlLGkscil9KTp0LmFkZEV2ZW50TGlzdGVuZXIoZSxpLHIpLGl9ZnVuY3Rpb24gaGkoZSx0LG4scixpKXt2YXIgYT17Y2FwdHVyZTpyLHBhc3NpdmU6aX0sbz1taShlLHQsbixhKTsodD09PWRvY3VtZW50LmJvZHl8fHQ9PT13aW5kb3d8fHQ9PT1kb2N1bWVudHx8dCBpbnN0YW5jZW9mIEhUTUxNZWRpYUVsZW1lbnQpJiZhcigoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG8sYSl9KX1mdW5jdGlvbiBnaShlLHQsbil7KHRbdWldPz89e30pW2VdPW59ZnVuY3Rpb24gX2koZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZGkuYWRkKGVbdF0pO2Zvcih2YXIgbiBvZiBmaSluKGUpfXZhciB2aT1udWxsO2Z1bmN0aW9uIHlpKGUpe3ZhciB0PXRoaXMsbj10Lm93bmVyRG9jdW1lbnQscj1lLnR5cGUsaT1lLmNvbXBvc2VkUGF0aD8uKCl8fFtdLGE9aVswXXx8ZS50YXJnZXQ7dmk9ZTt2YXIgbz0wLHM9dmk9PT1lJiZlW3VpXTtpZihzKXt2YXIgYz1pLmluZGV4T2Yocyk7aWYoYyE9PS0xJiYodD09PWRvY3VtZW50fHx0PT09d2luZG93KSl7ZVt1aV09dDtyZXR1cm59dmFyIGw9aS5pbmRleE9mKHQpO2lmKGw9PT0tMSlyZXR1cm47Yzw9bCYmKG89Yyl9aWYoYT1pW29dfHxlLnRhcmdldCxhIT09dCl7ZyhlLGBjdXJyZW50VGFyZ2V0YCx7Y29uZmlndXJhYmxlOiEwLGdldCgpe3JldHVybiBhfHxufX0pO3ZhciB1PUYsZD1JO01yKG51bGwpLE5yKG51bGwpO3RyeXtmb3IodmFyIGYscD1bXTthIT09bnVsbDspe3ZhciBtPWEuYXNzaWduZWRTbG90fHxhLnBhcmVudE5vZGV8fGEuaG9zdHx8bnVsbDt0cnl7dmFyIGg9YVt1aV0/LltyXTtoIT1udWxsJiYoIWEuZGlzYWJsZWR8fGUudGFyZ2V0PT09YSkmJmguY2FsbChhLGUpfWNhdGNoKGUpe2Y/cC5wdXNoKGUpOmY9ZX1pZihlLmNhbmNlbEJ1YmJsZXx8bT09PXR8fG09PT1udWxsKWJyZWFrO2E9bX1pZihmKXtmb3IobGV0IGUgb2YgcClxdWV1ZU1pY3JvdGFzaygoKT0+e3Rocm93IGV9KTt0aHJvdyBmfX1maW5hbGx5e2VbdWldPXQsZGVsZXRlIGUuY3VycmVudFRhcmdldCxNcih1KSxOcihkKX19fXZhciBiaT1nbG9iYWxUaGlzPy53aW5kb3c/LnRydXN0ZWRUeXBlcyYmZ2xvYmFsVGhpcy53aW5kb3cudHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeShgc3ZlbHRlLXRydXN0ZWQtaHRtbGAse2NyZWF0ZUhUTUw6ZT0+ZX0pO2Z1bmN0aW9uIHhpKGUpe3JldHVybiBiaT8uY3JlYXRlSFRNTChlKT8/ZX1mdW5jdGlvbiBTaShlKXt2YXIgdD1LbihgdGVtcGxhdGVgKTtyZXR1cm4gdC5pbm5lckhUTUw9eGkoZS5yZXBsYWNlQWxsKGA8IT5gLGA8IS0tLS0+YCkpLHQuY29udGVudH1mdW5jdGlvbiBDaShlLHQpe3ZhciBuPUk7bi5ub2Rlcz09PW51bGwmJihuLm5vZGVzPXtzdGFydDplLGVuZDp0LGE6bnVsbCx0Om51bGx9KX1mdW5jdGlvbiB3aShlLHQpe3ZhciBuPSh0JjEpIT0wLHI9KHQmMikhPTAsaSxhPSFlLnN0YXJ0c1dpdGgoYDwhPmApO3JldHVybigpPT57aWYoQylyZXR1cm4gQ2kodyxudWxsKSx3O2k9PT12b2lkIDAmJihpPVNpKGE/ZTpgPCE+YCtlKSxufHwoaT1OKGkpKSk7dmFyIHQ9cnx8Rm4/ZG9jdW1lbnQuaW1wb3J0Tm9kZShpLCEwKTppLmNsb25lTm9kZSghMCk7aWYobil7dmFyIG89Tih0KSxzPXQubGFzdENoaWxkO0NpKG8scyl9ZWxzZSBDaSh0LHQpO3JldHVybiB0fX1mdW5jdGlvbiBUaShlLHQsbj1gc3ZnYCl7dmFyIHI9IWUuc3RhcnRzV2l0aChgPCE+YCksaT0odCYxKSE9MCxhPWA8JHtufT4ke3I/ZTpgPCE+YCtlfTwvJHtufT5gLG87cmV0dXJuKCk9PntpZihDKXJldHVybiBDaSh3LG51bGwpLHc7aWYoIW8pe3ZhciBlPU4oU2koYSkpO2lmKGkpZm9yKG89ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO04oZSk7KW8uYXBwZW5kQ2hpbGQoTihlKSk7ZWxzZSBvPU4oZSl9dmFyIHQ9by5jbG9uZU5vZGUoITApO2lmKGkpe3ZhciBuPU4odCkscj10Lmxhc3RDaGlsZDtDaShuLHIpfWVsc2UgQ2kodCx0KTtyZXR1cm4gdH19ZnVuY3Rpb24gRWkoZSx0KXtyZXR1cm4gVGkoZSx0LGBzdmdgKX1mdW5jdGlvbiBEaShlPWBgKXtpZighQyl7dmFyIHQ9em4oZStgYCk7cmV0dXJuIENpKHQsdCksdH12YXIgbj13O3JldHVybiBuLm5vZGVUeXBlPT09Mz9KbihuKToobi5iZWZvcmUobj16bigpKSxUKG4pKSxDaShuLG4pLG59ZnVuY3Rpb24gT2koKXtpZihDKXJldHVybiBDaSh3LG51bGwpLHc7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9ZG9jdW1lbnQuY3JlYXRlQ29tbWVudChgYCksbj16bigpO3JldHVybiBlLmFwcGVuZCh0LG4pLENpKHQsbiksZX1mdW5jdGlvbiBraShlLHQpe2lmKEMpe3ZhciBuPUk7KCEobi5mJjMyNzY4KXx8bi5ub2Rlcy5lbmQ9PT1udWxsKSYmKG4ubm9kZXMuZW5kPXcpLFllKCk7cmV0dXJufWUhPT1udWxsJiZlLmJlZm9yZSh0KX12YXIgQWk9ITA7ZnVuY3Rpb24gamkoZSx0KXt2YXIgbj10PT1udWxsP2BgOnR5cGVvZiB0PT1gb2JqZWN0YD9gJHt0fWA6dDtuIT09KGUuX190Pz89ZS5ub2RlVmFsdWUpJiYoZS5fX3Q9bixlLm5vZGVWYWx1ZT1gJHtufWApfWZ1bmN0aW9uIE1pKGUsdCl7cmV0dXJuIFBpKGUsdCl9dmFyIE5pPW5ldyBNYXA7ZnVuY3Rpb24gUGkoZSx7dGFyZ2V0OnQsYW5jaG9yOm4scHJvcHM6cj17fSxldmVudHM6aSxjb250ZXh0OmEsaW50cm86bz0hMCx0cmFuc2Zvcm1FcnJvcjpzfSl7Um4oKTt2YXIgYz12b2lkIDAsbD1scigoKT0+e3ZhciBsPW4/P3QuYXBwZW5kQ2hpbGQoem4oKSk7cm4obCx7cGVuZGluZzooKT0+e319LHQ9PntsdCh7fSk7dmFyIG49RTtpZihhJiYobi5jPWEpLGkmJihyLiQkZXZlbnRzPWkpLEMmJkNpKHQsbnVsbCksQWk9byxjPWUodCxyKXx8e30sQWk9ITAsQyYmKEkubm9kZXMuZW5kPXcsdz09PW51bGx8fHcubm9kZVR5cGUhPT04fHx3LmRhdGEhPT1gXWApKXRocm93IEdlKCksQmU7dXQoKX0scyk7dmFyIHU9bmV3IFNldCxkPWU9Pntmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtpZighdS5oYXMocikpe3UuYWRkKHIpO3ZhciBpPWxpKHIpO2ZvcihsZXQgZSBvZlt0LGRvY3VtZW50XSl7dmFyIGE9TmkuZ2V0KGUpO2E9PT12b2lkIDAmJihhPW5ldyBNYXAsTmkuc2V0KGUsYSkpO3ZhciBvPWEuZ2V0KHIpO289PT12b2lkIDA/KGUuYWRkRXZlbnRMaXN0ZW5lcihyLHlpLHtwYXNzaXZlOml9KSxhLnNldChyLDEpKTphLnNldChyLG8rMSl9fX19O3JldHVybiBkKGgoZGkpKSxmaS5hZGQoZCksKCk9Pntmb3IodmFyIGUgb2YgdSlmb3IobGV0IG4gb2ZbdCxkb2N1bWVudF0pe3ZhciByPU5pLmdldChuKSxpPXIuZ2V0KGUpOy0taT09MD8obi5yZW1vdmVFdmVudExpc3RlbmVyKGUseWkpLHIuZGVsZXRlKGUpLHIuc2l6ZT09PTAmJk5pLmRlbGV0ZShuKSk6ci5zZXQoZSxpKX1maS5kZWxldGUoZCksbCE9PW4mJmwucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQobCl9fSk7cmV0dXJuIEZpLnNldChjLGwpLGN9dmFyIEZpPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIElpKGUsdCl7bGV0IG49RmkuZ2V0KGUpO3JldHVybiBuPyhGaS5kZWxldGUoZSksbih0KSk6UHJvbWlzZS5yZXNvbHZlKCl9dmFyIExpPWNsYXNze2FuY2hvcjsjZT1uZXcgTWFwOyN0PW5ldyBNYXA7I249bmV3IE1hcDsjcj1uZXcgU2V0OyNpPSEwO2NvbnN0cnVjdG9yKGUsdD0hMCl7dGhpcy5hbmNob3I9ZSx0aGlzLiNpPXR9I2E9ZT0+e2lmKHRoaXMuI2UuaGFzKGUpKXt2YXIgdD10aGlzLiNlLmdldChlKSxuPXRoaXMuI3QuZ2V0KHQpO2lmKG4pd3IobiksdGhpcy4jci5kZWxldGUodCk7ZWxzZXt2YXIgcj10aGlzLiNuLmdldCh0KTtyJiYodGhpcy4jdC5zZXQodCxyLmVmZmVjdCksdGhpcy4jbi5kZWxldGUodCksci5mcmFnbWVudC5sYXN0Q2hpbGQucmVtb3ZlKCksdGhpcy5hbmNob3IuYmVmb3JlKHIuZnJhZ21lbnQpLG49ci5lZmZlY3QpfWZvcihsZXRbdCxuXW9mIHRoaXMuI2Upe2lmKHRoaXMuI2UuZGVsZXRlKHQpLHQ9PT1lKWJyZWFrO2xldCByPXRoaXMuI24uZ2V0KG4pO3ImJihQKHIuZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShuKSl9Zm9yKGxldFtlLHJdb2YgdGhpcy4jdCl7aWYoZT09PXR8fHRoaXMuI3IuaGFzKGUpKWNvbnRpbnVlO2xldCBpPSgpPT57aWYoQXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKS5pbmNsdWRlcyhlKSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO0VyKHIsdCksdC5hcHBlbmQoem4oKSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OnIsZnJhZ21lbnQ6dH0pfWVsc2UgUChyKTt0aGlzLiNyLmRlbGV0ZShlKSx0aGlzLiN0LmRlbGV0ZShlKX07dGhpcy4jaXx8IW4/KHRoaXMuI3IuYWRkKGUpLFNyKHIsaSwhMSkpOmkoKX19fTsjbz1lPT57dGhpcy4jZS5kZWxldGUoZSk7bGV0IHQ9QXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKTtmb3IobGV0W2Usbl1vZiB0aGlzLiNuKXQuaW5jbHVkZXMoZSl8fChQKG4uZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShlKSl9O2Vuc3VyZShlLHQpe3ZhciBuPWoscj1HbigpO2lmKHQmJiF0aGlzLiN0LmhhcyhlKSYmIXRoaXMuI24uaGFzKGUpKWlmKHIpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxhPXpuKCk7aS5hcHBlbmQoYSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OmdyKCgpPT50KGEpKSxmcmFnbWVudDppfSl9ZWxzZSB0aGlzLiN0LnNldChlLGdyKCgpPT50KHRoaXMuYW5jaG9yKSkpO2lmKHRoaXMuI2Uuc2V0KG4sZSkscil7Zm9yKGxldFt0LHJdb2YgdGhpcy4jdCl0PT09ZT9uLnVuc2tpcF9lZmZlY3Qocik6bi5za2lwX2VmZmVjdChyKTtmb3IobGV0W3Qscl1vZiB0aGlzLiNuKXQ9PT1lP24udW5za2lwX2VmZmVjdChyLmVmZmVjdCk6bi5za2lwX2VmZmVjdChyLmVmZmVjdCk7bi5vbmNvbW1pdCh0aGlzLiNhKSxuLm9uZGlzY2FyZCh0aGlzLiNvKX1lbHNlIEMmJih0aGlzLmFuY2hvcj13KSx0aGlzLiNhKG4pfX07ZnVuY3Rpb24gUmkoZSx0LG49ITEpe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpLGE9bj9tZTowO2Z1bmN0aW9uIG8oZSx0KXtpZihDKXt2YXIgbj0kZShyKTtpZihlIT09cGFyc2VJbnQobi5zdWJzdHJpbmcoMSkpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSx0KSxKZSghMCk7cmV0dXJufX1pLmVuc3VyZShlLHQpfW1yKCgpPT57dmFyIGU9ITE7dCgodCxuPTApPT57ZT0hMCxvKG4sdCl9KSxlfHxvKC0xLG51bGwpfSxhKX12YXIgemk9U3ltYm9sKGBOYU5gKTtmdW5jdGlvbiBCaShlLHQsbil7QyYmWWUoKTt2YXIgcj1uZXcgTGkoZSksaT0hZHQoKTttcigoKT0+e3ZhciBlPXQoKTtlIT09ZSYmKGU9emkpLGkmJnR5cGVvZiBlPT1gb2JqZWN0YCYmZSYmKGU9e30pLHIuZW5zdXJlKGUsbil9KX1mdW5jdGlvbiBWaShlLHQpe3JldHVybiB0fWZ1bmN0aW9uIEhpKGUsdCxuKXtmb3IodmFyIHI9W10saT10Lmxlbmd0aCxhLG89dC5sZW5ndGgscz0wO3M8aTtzKyspe2xldCBuPXRbc107U3IobiwoKT0+e2lmKGEpe2lmKGEucGVuZGluZy5kZWxldGUobiksYS5kb25lLmFkZChuKSxhLnBlbmRpbmcuc2l6ZT09PTApe3ZhciB0PWUub3V0cm9ncm91cHM7VWkoZSxoKGEuZG9uZSkpLHQuZGVsZXRlKGEpLHQuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfX1lbHNlIC0tb30sITEpfWlmKG89PT0wKXt2YXIgYz1yLmxlbmd0aD09PTAmJm4hPT1udWxsO2lmKGMpe3ZhciBsPW4sdT1sLnBhcmVudE5vZGU7V24odSksdS5hcHBlbmQobCksZS5pdGVtcy5jbGVhcigpfVVpKGUsdCwhYyl9ZWxzZSBhPXtwZW5kaW5nOm5ldyBTZXQodCksZG9uZTpuZXcgU2V0fSwoZS5vdXRyb2dyb3Vwcz8/PW5ldyBTZXQpLmFkZChhKX1mdW5jdGlvbiBVaShlLHQsbj0hMCl7dmFyIHI7aWYoZS5wZW5kaW5nLnNpemU+MCl7cj1uZXcgU2V0O2ZvcihsZXQgdCBvZiBlLnBlbmRpbmcudmFsdWVzKCkpZm9yKGxldCBuIG9mIHQpci5hZGQoZS5pdGVtcy5nZXQobikuZSl9Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBhPXRbaV07cj8uaGFzKGEpPyhhLmZ8PV9lLEVyKGEsZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKSk6UCh0W2ldLG4pfX12YXIgV2k7ZnVuY3Rpb24gR2koZSx0LG4scixpLGE9bnVsbCl7dmFyIG89ZSxzPW5ldyBNYXA7aWYodCY0KXt2YXIgYz1lO289Qz9UKE4oYykpOmMuYXBwZW5kQ2hpbGQoem4oKSl9QyYmWWUoKTt2YXIgbD1udWxsLHU9cG4oKCk9Pnt2YXIgZT1uKCk7cmV0dXJuIGYoZSk/ZTplPT1udWxsP1tdOmgoZSl9KSxkLHA9bmV3IE1hcCxtPSEwO2Z1bmN0aW9uIGcoZSl7di5lZmZlY3QuZiYxNjM4NHx8KHYucGVuZGluZy5kZWxldGUoZSksdi5mYWxsYmFjaz1sLHFpKHYsZCxvLHQsciksbCE9PW51bGwmJihkLmxlbmd0aD09PTA/bC5mJjMzNTU0NDMyPyhsLmZePV9lLFlpKGwsbnVsbCxvKSk6d3IobCk6U3IobCwoKT0+e2w9bnVsbH0pKSl9ZnVuY3Rpb24gXyhlKXt2LnBlbmRpbmcuZGVsZXRlKGUpfXZhciB2PXtlZmZlY3Q6bXIoKCk9PntkPVIodSk7dmFyIGU9ZC5sZW5ndGg7bGV0IGM9ITE7QyYmJGUobyk9PT1gWyFgIT0oZT09PTApJiYobz1RZSgpLFQobyksSmUoITEpLGM9ITApO2Zvcih2YXIgZj1uZXcgU2V0LGg9aix2PUduKCkseT0wO3k8ZTt5Kz0xKXtDJiZ3Lm5vZGVUeXBlPT09OCYmdy5kYXRhPT09YF1gJiYobz13LGM9ITAsSmUoITEpKTt2YXIgZWU9ZFt5XSxiPXIoZWUseSksdGU9bT9udWxsOnMuZ2V0KGIpO3RlPyh0ZS52JiZFbih0ZS52LGVlKSx0ZS5pJiZFbih0ZS5pLHkpLHYmJmgudW5za2lwX2VmZmVjdCh0ZS5lKSk6KHRlPUppKHMsbT9vOldpPz89em4oKSxlZSxiLHksaSx0LG4pLG18fCh0ZS5lLmZ8PV9lKSxzLnNldChiLHRlKSksZi5hZGQoYil9aWYoZT09PTAmJmEmJiFsJiYobT9sPWdyKCgpPT5hKG8pKToobD1ncigoKT0+YShXaT8/PXpuKCkpKSxsLmZ8PV9lKSksZT5mLnNpemUmJmtlKGBgLGBgLGBgKSxDJiZlPjAmJlQoUWUoKSksIW0paWYocC5zZXQoaCxmKSx2KXtmb3IobGV0W2UsdF1vZiBzKWYuaGFzKGUpfHxoLnNraXBfZWZmZWN0KHQuZSk7aC5vbmNvbW1pdChnKSxoLm9uZGlzY2FyZChfKX1lbHNlIGcoaCk7YyYmSmUoITApLFIodSl9KSxmbGFnczp0LGl0ZW1zOnMscGVuZGluZzpwLG91dHJvZ3JvdXBzOm51bGwsZmFsbGJhY2s6bH07bT0hMSxDJiYobz13KX1mdW5jdGlvbiBLaShlKXtmb3IoO2UhPT1udWxsJiYhKGUuZiYzMik7KWU9ZS5uZXh0O3JldHVybiBlfWZ1bmN0aW9uIHFpKGUsdCxuLHIsaSl7dmFyIGE9KHImOCkhPTAsbz10Lmxlbmd0aCxzPWUuaXRlbXMsYz1LaShlLmVmZmVjdC5maXJzdCksbCx1PW51bGwsZCxmPVtdLHA9W10sbSxnLF8sdjtpZihhKWZvcih2PTA7djxvO3YrPTEpbT10W3ZdLGc9aShtLHYpLF89cy5nZXQoZykuZSxfLmYmMzM1NTQ0MzJ8fChfLm5vZGVzPy5hPy5tZWFzdXJlKCksKGQ/Pz1uZXcgU2V0KS5hZGQoXykpO2Zvcih2PTA7djxvO3YrPTEpe2lmKG09dFt2XSxnPWkobSx2KSxfPXMuZ2V0KGcpLmUsZS5vdXRyb2dyb3VwcyE9PW51bGwpZm9yKGxldCB0IG9mIGUub3V0cm9ncm91cHMpdC5wZW5kaW5nLmRlbGV0ZShfKSx0LmRvbmUuZGVsZXRlKF8pO2lmKF8uZiY4MTkyJiYod3IoXyksYSYmKF8ubm9kZXM/LmE/LnVuZml4KCksKGQ/Pz1uZXcgU2V0KS5kZWxldGUoXykpKSxfLmYmMzM1NTQ0MzIpaWYoXy5mXj1fZSxfPT09YylZaShfLG51bGwsbik7ZWxzZXt2YXIgeT11P3UubmV4dDpjO189PT1lLmVmZmVjdC5sYXN0JiYoZS5lZmZlY3QubGFzdD1fLnByZXYpLF8ucHJldiYmKF8ucHJldi5uZXh0PV8ubmV4dCksXy5uZXh0JiYoXy5uZXh0LnByZXY9Xy5wcmV2KSxYaShlLHUsXyksWGkoZSxfLHkpLFlpKF8seSxuKSx1PV8sZj1bXSxwPVtdLGM9S2kodS5uZXh0KTtjb250aW51ZX1pZihfIT09Yyl7aWYobCE9PXZvaWQgMCYmbC5oYXMoXykpe2lmKGYubGVuZ3RoPHAubGVuZ3RoKXt2YXIgZWU9cFswXSxiO3U9ZWUucHJldjt2YXIgdGU9ZlswXSxuZT1mW2YubGVuZ3RoLTFdO2ZvcihiPTA7YjxmLmxlbmd0aDtiKz0xKVlpKGZbYl0sZWUsbik7Zm9yKGI9MDtiPHAubGVuZ3RoO2IrPTEpbC5kZWxldGUocFtiXSk7WGkoZSx0ZS5wcmV2LG5lLm5leHQpLFhpKGUsdSx0ZSksWGkoZSxuZSxlZSksYz1lZSx1PW5lLC0tdixmPVtdLHA9W119ZWxzZSBsLmRlbGV0ZShfKSxZaShfLGMsbiksWGkoZSxfLnByZXYsXy5uZXh0KSxYaShlLF8sdT09PW51bGw/ZS5lZmZlY3QuZmlyc3Q6dS5uZXh0KSxYaShlLHUsXyksdT1fO2NvbnRpbnVlfWZvcihmPVtdLHA9W107YyE9PW51bGwmJmMhPT1fOykobD8/PW5ldyBTZXQpLmFkZChjKSxwLnB1c2goYyksYz1LaShjLm5leHQpO2lmKGM9PT1udWxsKWNvbnRpbnVlfV8uZiYzMzU1NDQzMnx8Zi5wdXNoKF8pLHU9XyxjPUtpKF8ubmV4dCl9aWYoZS5vdXRyb2dyb3VwcyE9PW51bGwpe2ZvcihsZXQgdCBvZiBlLm91dHJvZ3JvdXBzKXQucGVuZGluZy5zaXplPT09MCYmKFVpKGUsaCh0LmRvbmUpKSxlLm91dHJvZ3JvdXBzPy5kZWxldGUodCkpO2Uub3V0cm9ncm91cHMuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfWlmKGMhPT1udWxsfHxsIT09dm9pZCAwKXt2YXIgeD1bXTtpZihsIT09dm9pZCAwKWZvcihfIG9mIGwpXy5mJjgxOTJ8fHgucHVzaChfKTtmb3IoO2MhPT1udWxsOykhKGMuZiY4MTkyKSYmYyE9PWUuZmFsbGJhY2smJngucHVzaChjKSxjPUtpKGMubmV4dCk7dmFyIHJlPXgubGVuZ3RoO2lmKHJlPjApe3ZhciBpZT1yJjQmJm89PT0wP246bnVsbDtpZihhKXtmb3Iodj0wO3Y8cmU7dis9MSl4W3ZdLm5vZGVzPy5hPy5tZWFzdXJlKCk7Zm9yKHY9MDt2PHJlO3YrPTEpeFt2XS5ub2Rlcz8uYT8uZml4KCl9SGkoZSx4LGllKX19YSYmZ3QoKCk9PntpZihkIT09dm9pZCAwKWZvcihfIG9mIGQpXy5ub2Rlcz8uYT8uYXBwbHkoKX0pfWZ1bmN0aW9uIEppKGUsdCxuLHIsaSxhLG8scyl7dmFyIGM9byYxP28mMTY/U24obik6d24obiwhMSwhMSk6bnVsbCxsPW8mMj9TbihpKTpudWxsO3JldHVybnt2OmMsaTpsLGU6Z3IoKCk9PihhKHQsYz8/bixsPz9pLHMpLCgpPT57ZS5kZWxldGUocil9KSl9fWZ1bmN0aW9uIFlpKGUsdCxuKXtpZihlLm5vZGVzKWZvcih2YXIgcj1lLm5vZGVzLnN0YXJ0LGk9ZS5ub2Rlcy5lbmQsYT10JiYhKHQuZiYzMzU1NDQzMik/dC5ub2Rlcy5zdGFydDpuO3IhPT1udWxsOyl7dmFyIG89Qm4ocik7aWYoYS5iZWZvcmUocikscj09PWkpcmV0dXJuO3I9b319ZnVuY3Rpb24gWGkoZSx0LG4pe3Q9PT1udWxsP2UuZWZmZWN0LmZpcnN0PW46dC5uZXh0PW4sbj09PW51bGw/ZS5lZmZlY3QubGFzdD10Om4ucHJldj10fWZ1bmN0aW9uIFppKGUsdCxuPSExLHI9ITEsaT0hMSxhPSExKXt2YXIgbz1lLHM9YGA7aWYobil7dmFyIGM9ZTtDJiYobz1UKE4oYykpKX1wcigoKT0+e3ZhciBlPUk7aWYocz09PShzPXQoKT8/YGApKXtDJiZZZSgpO3JldHVybn1pZihuJiYhQyl7ZS5ub2Rlcz1udWxsLGMuaW5uZXJIVE1MPXMscyE9PWBgJiZDaShOKGMpLGMubGFzdENoaWxkKTtyZXR1cm59aWYoZS5ub2RlcyE9PW51bGwmJihicihlLm5vZGVzLnN0YXJ0LGUubm9kZXMuZW5kKSxlLm5vZGVzPW51bGwpLHMhPT1gYCl7aWYoQyl7Zm9yKHZhciBhPXcuZGF0YSxsPVllKCksdT1sO2whPT1udWxsJiYobC5ub2RlVHlwZSE9PTh8fGwuZGF0YSE9PWBgKTspdT1sLGw9Qm4obCk7aWYobD09PW51bGwpdGhyb3cgR2UoKSxCZTtDaSh3LHUpLG89VChsKTtyZXR1cm59dmFyIGQ9S24ocj9gc3ZnYDppP2BtYXRoYDpgdGVtcGxhdGVgLHI/SGU6aT9VZTp2b2lkIDApO2QuaW5uZXJIVE1MPXM7dmFyIGY9cnx8aT9kOmQuY29udGVudDtpZihDaShOKGYpLGYubGFzdENoaWxkKSxyfHxpKWZvcig7TihmKTspby5iZWZvcmUoTihmKSk7ZWxzZSBvLmJlZm9yZShmKX19KX1mdW5jdGlvbiBRaShlLHQsLi4ubil7dmFyIHI9bmV3IExpKGUpO21yKCgpPT57bGV0IGU9dCgpPz9udWxsO3IuZW5zdXJlKGUsZSYmKHQ9PmUodCwuLi5uKSkpfSxtZSl9ZnVuY3Rpb24gJGkoZSx0LG4pe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpO21yKCgpPT57dmFyIGU9dCgpPz9udWxsO2lmKEMmJiRlKHIpPT09YFtgIT0oZSE9PW51bGwpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSxlJiYodD0+bih0LGUpKSksSmUoITApO3JldHVybn1pLmVuc3VyZShlLGUmJih0PT5uKHQsZSkpKX0sbWUpfXZhciBlYT0oKT0+cGVyZm9ybWFuY2Uubm93KCksdGE9e3RpY2s6ZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpLG5vdzooKT0+ZWEoKSx0YXNrczpuZXcgU2V0fTtmdW5jdGlvbiBuYSgpe2xldCBlPXRhLm5vdygpO3RhLnRhc2tzLmZvckVhY2godD0+e3QuYyhlKXx8KHRhLnRhc2tzLmRlbGV0ZSh0KSx0LmYoKSl9KSx0YS50YXNrcy5zaXplIT09MCYmdGEudGljayhuYSl9ZnVuY3Rpb24gcmEoZSl7bGV0IHQ7cmV0dXJuIHRhLnRhc2tzLnNpemU9PT0wJiZ0YS50aWNrKG5hKSx7cHJvbWlzZTpuZXcgUHJvbWlzZShuPT57dGEudGFza3MuYWRkKHQ9e2M6ZSxmOm59KX0pLGFib3J0KCl7dGEudGFza3MuZGVsZXRlKHQpfX19ZnVuY3Rpb24gaWEoZSx0KXskbigoKT0+e2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQodCkpfSl9ZnVuY3Rpb24gYWEoZSl7aWYoZT09PWBmbG9hdGApcmV0dXJuYGNzc0Zsb2F0YDtpZihlPT09YG9mZnNldGApcmV0dXJuYGNzc09mZnNldGA7aWYoZS5zdGFydHNXaXRoKGAtLWApKXJldHVybiBlO2xldCB0PWUuc3BsaXQoYC1gKTtyZXR1cm4gdC5sZW5ndGg9PT0xP3RbMF06dFswXSt0LnNsaWNlKDEpLm1hcChlPT5lWzBdLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSkuam9pbihgYCl9ZnVuY3Rpb24gb2EoZSl7bGV0IHQ9e30sbj1lLnNwbGl0KGA7YCk7Zm9yKGxldCBlIG9mIG4pe2xldFtuLHJdPWUuc3BsaXQoYDpgKTtpZighbnx8cj09PXZvaWQgMClicmVhaztsZXQgaT1hYShuLnRyaW0oKSk7dFtpXT1yLnRyaW0oKX1yZXR1cm4gdH12YXIgc2E9ZT0+ZTtmdW5jdGlvbiBjYShlLHQsbixyKXt2YXIgaT0oZSYxKSE9MCxhPShlJjIpIT0wLG89aSYmYSxzPShlJjQpIT0wLGM9bz9gYm90aGA6aT9gaW5gOmBvdXRgLGwsdT10LmluZXJ0LGQ9dC5zdHlsZS5vdmVyZmxvdyxmLHA7ZnVuY3Rpb24gbSgpe3JldHVybiAkbigoKT0+bD8/PW4oKSh0LHI/LigpPz97fSx7ZGlyZWN0aW9uOmN9KSl9dmFyIGg9e2lzX2dsb2JhbDpzLGluKCl7aWYodC5pbmVydD11LCFpKXtwPy5hYm9ydCgpLHA/LnJlc2V0Py4oKTtyZXR1cm59YXx8Zj8uYWJvcnQoKSxmPWxhKHQsbSgpLHAsMSwoKT0+e2lhKHQsYGludHJvc3RhcnRgKX0sKCk9PntpYSh0LGBpbnRyb2VuZGApLGY/LmFib3J0KCksZj1sPXZvaWQgMCx0LnN0eWxlLm92ZXJmbG93PWR9KX0sb3V0KGUpe2lmKCFhKXtlPy4oKSxsPXZvaWQgMDtyZXR1cm59dC5pbmVydD0hMCxwPWxhKHQsbSgpLGYsMCwoKT0+e2lhKHQsYG91dHJvc3RhcnRgKX0sKCk9PntpYSh0LGBvdXRyb2VuZGApLGU/LigpfSl9LHN0b3A6KCk9PntmPy5hYm9ydCgpLHA/LmFib3J0KCl9fSxnPUk7aWYoKGcubm9kZXMudD8/PVtdKS5wdXNoKGgpLGkmJkFpKXt2YXIgXz1zO2lmKCFfKXtmb3IodmFyIHY9Zy5wYXJlbnQ7diYmdi5mJjY1NTM2Oylmb3IoOyh2PXYucGFyZW50KSYmISh2LmYmMTYpOyk7Xz0hdnx8KHYuZiYzMjc2OCkhPTB9XyYmdXIoKCk9PnskcigoKT0+aC5pbigpKX0pfX1mdW5jdGlvbiBsYShlLHQsbixyLGksYSl7dmFyIG89cj09PTE7aWYobmUodCkpe3ZhciBzLGM9ITE7cmV0dXJuIGd0KCgpPT57Y3x8KHM9bGEoZSx0KHtkaXJlY3Rpb246bz9gaW5gOmBvdXRgfSksbixyLGksYSkpfSkse2Fib3J0OigpPT57Yz0hMCxzPy5hYm9ydCgpfSxkZWFjdGl2YXRlOigpPT5zLmRlYWN0aXZhdGUoKSxyZXNldDooKT0+cy5yZXNldCgpLHQ6KCk9PnMudCgpfX1pZihuPy5kZWFjdGl2YXRlKCksIXQ/LmR1cmF0aW9uJiYhdD8uZGVsYXkpcmV0dXJuIGkoKSxhKCkse2Fib3J0OngsZGVhY3RpdmF0ZTp4LHJlc2V0OngsdDooKT0+cn07bGV0e2RlbGF5Omw9MCxjc3M6dSx0aWNrOmQsZWFzaW5nOmY9c2F9PXQ7dmFyIHA9W107aWYobyYmbj09PXZvaWQgMCYmKGQmJmQoMCwxKSx1KSl7dmFyIG09b2EodSgwLDEpKTtwLnB1c2gobSxtKX12YXIgaD0oKT0+MS1yLGc9ZS5hbmltYXRlKHAse2R1cmF0aW9uOmwsZmlsbDpgZm9yd2FyZHNgfSk7cmV0dXJuIGcub25maW5pc2g9KCk9PntnLmNhbmNlbCgpLGkoKTt2YXIgbz1uPy50KCk/PzEtcjtuPy5hYm9ydCgpO3ZhciBzPXItbyxjPXQuZHVyYXRpb24qTWF0aC5hYnMocyksbD1bXTtpZihjPjApe3ZhciBwPSExO2lmKHUpZm9yKHZhciBtPU1hdGguY2VpbChjLygxZTMvNjApKSxfPTA7Xzw9bTtfKz0xKXt2YXIgdj1vK3MqZihfL20pLHk9b2EodSh2LDEtdikpO2wucHVzaCh5KSxwfHw9eS5vdmVyZmxvdz09PWBoaWRkZW5gfXAmJihlLnN0eWxlLm92ZXJmbG93PWBoaWRkZW5gKSxoPSgpPT57dmFyIGU9Zy5jdXJyZW50VGltZTtyZXR1cm4gbytzKmYoZS9jKX0sZCYmcmEoKCk9PntpZihnLnBsYXlTdGF0ZSE9PWBydW5uaW5nYClyZXR1cm4hMTt2YXIgZT1oKCk7cmV0dXJuIGQoZSwxLWUpLCEwfSl9Zz1lLmFuaW1hdGUobCx7ZHVyYXRpb246YyxmaWxsOmBmb3J3YXJkc2B9KSxnLm9uZmluaXNoPSgpPT57aD0oKT0+cixkPy4ociwxLXIpLGEoKX19LHthYm9ydDooKT0+e2cmJihnLmNhbmNlbCgpLGcuZWZmZWN0PW51bGwsZy5vbmZpbmlzaD14KX0sZGVhY3RpdmF0ZTooKT0+e2E9eH0scmVzZXQ6KCk9PntyPT09MCYmZD8uKDEsMCl9LHQ6KCk9PmgoKX19ZnVuY3Rpb24gdWEoZSx0LG4pe3VyKCgpPT57dmFyIHI9JHIoKCk9PnQoZSxuPy4oKSl8fHt9KTtpZihuJiZyPy51cGRhdGUpe3ZhciBpPSExLGE9e307ZnIoKCk9Pnt2YXIgZT1uKCk7ZWkoZSksaSYmdHQoYSxlKSYmKGE9ZSxyLnVwZGF0ZShlKSl9KSxpPSEwfWlmKHI/LmRlc3Ryb3kpcmV0dXJuKCk9PnIuZGVzdHJveSgpfSl9ZnVuY3Rpb24gZGEoZSx0KXt2YXIgbj12b2lkIDAscjtocigoKT0+e24hPT0obj10KCkpJiYociYmPShQKHIpLG51bGwpLG4mJihyPWdyKCgpPT57dXIoKCk9Pm4oZSkpfSkpKX0pfWZ1bmN0aW9uIGZhKGUpe3ZhciB0LG4scj1gYDtpZih0eXBlb2YgZT09YHN0cmluZ2B8fHR5cGVvZiBlPT1gbnVtYmVyYClyKz1lO2Vsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgKWlmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciBpPWUubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKyllW3RdJiYobj1mYShlW3RdKSkmJihyJiYocis9YCBgKSxyKz1uKX1lbHNlIGZvcihuIGluIGUpZVtuXSYmKHImJihyKz1gIGApLHIrPW4pO3JldHVybiByfWZ1bmN0aW9uIHBhKCl7Zm9yKHZhciBlLHQsbj0wLHI9YGAsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspKGU9YXJndW1lbnRzW25dKSYmKHQ9ZmEoZSkpJiYociYmKHIrPWAgYCkscis9dCk7cmV0dXJuIHJ9ZnVuY3Rpb24gbWEoZSl7cmV0dXJuIHR5cGVvZiBlPT1gb2JqZWN0YD9wYShlKTplPz9gYH12YXIgaGE9Wy4uLmAgCQpcclxmXHhBMFx277u/YF07ZnVuY3Rpb24gZ2EoZSx0LG4pe3ZhciByPWU9PW51bGw/YGA6YGArZTtpZih0JiYocj1yP3IrYCBgK3Q6dCksbil7Zm9yKHZhciBpIG9mIE9iamVjdC5rZXlzKG4pKWlmKG5baV0pcj1yP3IrYCBgK2k6aTtlbHNlIGlmKHIubGVuZ3RoKWZvcih2YXIgYT1pLmxlbmd0aCxvPTA7KG89ci5pbmRleE9mKGksbykpPj0wOyl7dmFyIHM9bythOyhvPT09MHx8aGEuaW5jbHVkZXMocltvLTFdKSkmJihzPT09ci5sZW5ndGh8fGhhLmluY2x1ZGVzKHJbc10pKT9yPShvPT09MD9gYDpyLnN1YnN0cmluZygwLG8pKStyLnN1YnN0cmluZyhzKzEpOm89c319cmV0dXJuIHI9PT1gYD9udWxsOnJ9ZnVuY3Rpb24gX2EoZSx0PSExKXt2YXIgbj10P2AgIWltcG9ydGFudDtgOmA7YCxyPWBgO2Zvcih2YXIgaSBvZiBPYmplY3Qua2V5cyhlKSl7dmFyIGE9ZVtpXTthIT1udWxsJiZhIT09YGAmJihyKz1gIGAraStgOiBgK2Erbil9cmV0dXJuIHJ9ZnVuY3Rpb24gdmEoZSl7cmV0dXJuIGVbMF0hPT1gLWB8fGVbMV0hPT1gLWA/ZS50b0xvd2VyQ2FzZSgpOmV9ZnVuY3Rpb24geWEoZSx0KXtpZih0KXt2YXIgbj1gYCxyLGk7aWYoQXJyYXkuaXNBcnJheSh0KT8ocj10WzBdLGk9dFsxXSk6cj10LGUpe2U9U3RyaW5nKGUpLnJlcGxhY2VBbGwoL1xzKlwvXCouKj9cKlwvXHMqL2csYGApLnRyaW0oKTt2YXIgYT0hMSxvPTAscz0hMSxjPVtdO3ImJmMucHVzaCguLi5PYmplY3Qua2V5cyhyKS5tYXAodmEpKSxpJiZjLnB1c2goLi4uT2JqZWN0LmtleXMoaSkubWFwKHZhKSk7dmFyIGw9MCx1PS0xO2xldCB0PWUubGVuZ3RoO2Zvcih2YXIgZD0wO2Q8dDtkKyspe3ZhciBmPWVbZF07aWYocz9mPT09YC9gJiZlW2QtMV09PT1gKmAmJihzPSExKTphP2E9PT1mJiYoYT0hMSk6Zj09PWAvYCYmZVtkKzFdPT09YCpgP3M9ITA6Zj09PWAiYHx8Zj09PWAnYD9hPWY6Zj09PWAoYD9vKys6Zj09PWApYCYmby0tLCFzJiZhPT09ITEmJm89PT0wKXtpZihmPT09YDpgJiZ1PT09LTEpdT1kO2Vsc2UgaWYoZj09PWA7YHx8ZD09PXQtMSl7aWYodSE9PS0xKXt2YXIgcD12YShlLnN1YnN0cmluZyhsLHUpLnRyaW0oKSk7aWYoIWMuaW5jbHVkZXMocCkpe2YhPT1gO2AmJmQrKzt2YXIgbT1lLnN1YnN0cmluZyhsLGQpLnRyaW0oKTtuKz1gIGArbStgO2B9fWw9ZCsxLHU9LTF9fX19cmV0dXJuIHImJihuKz1fYShyKSksaSYmKG4rPV9hKGksITApKSxuPW4udHJpbSgpLG49PT1gYD9udWxsOm59cmV0dXJuIGU9PW51bGw/bnVsbDpTdHJpbmcoZSl9ZnVuY3Rpb24gYmEoZSx0LG4scixpLGEpe3ZhciBvPWUuX19jbGFzc05hbWU7aWYoQ3x8byE9PW58fG89PT12b2lkIDApe3ZhciBzPWdhKG4scixhKTsoIUN8fHMhPT1lLmdldEF0dHJpYnV0ZShgY2xhc3NgKSkmJihzPT1udWxsP2UucmVtb3ZlQXR0cmlidXRlKGBjbGFzc2ApOnQ/ZS5jbGFzc05hbWU9czplLnNldEF0dHJpYnV0ZShgY2xhc3NgLHMpKSxlLl9fY2xhc3NOYW1lPW59ZWxzZSBpZihhJiZpIT09YSlmb3IodmFyIGMgaW4gYSl7dmFyIGw9ISFhW2NdOyhpPT1udWxsfHxsIT09ISFpW2NdKSYmZS5jbGFzc0xpc3QudG9nZ2xlKGMsbCl9cmV0dXJuIGF9ZnVuY3Rpb24geGEoZSx0PXt9LG4scil7Zm9yKHZhciBpIGluIG4pe3ZhciBhPW5baV07dFtpXSE9PWEmJihuW2ldPT1udWxsP2Uuc3R5bGUucmVtb3ZlUHJvcGVydHkoaSk6ZS5zdHlsZS5zZXRQcm9wZXJ0eShpLGEscikpfX1mdW5jdGlvbiBTYShlLHQsbixyKXt2YXIgaT1lLl9fc3R5bGU7aWYoQ3x8aSE9PXQpe3ZhciBhPXlhKHQscik7KCFDfHxhIT09ZS5nZXRBdHRyaWJ1dGUoYHN0eWxlYCkpJiYoYT09bnVsbD9lLnJlbW92ZUF0dHJpYnV0ZShgc3R5bGVgKTplLnN0eWxlLmNzc1RleHQ9YSksZS5fX3N0eWxlPXR9ZWxzZSByJiYoQXJyYXkuaXNBcnJheShyKT8oeGEoZSxuPy5bMF0sclswXSkseGEoZSxuPy5bMV0sclsxXSxgaW1wb3J0YW50YCkpOnhhKGUsbixyKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gQ2EoZSx0LG49ITEpe2lmKGUubXVsdGlwbGUpe2lmKHQ9PW51bGwpcmV0dXJuO2lmKCFmKHQpKXJldHVybiBLZSgpO2Zvcih2YXIgciBvZiBlLm9wdGlvbnMpci5zZWxlY3RlZD10LmluY2x1ZGVzKEVhKHIpKTtyZXR1cm59Zm9yKHIgb2YgZS5vcHRpb25zKWlmKE5uKEVhKHIpLHQpKXtyLnNlbGVjdGVkPSEwO3JldHVybn0oIW58fHQhPT12b2lkIDApJiYoZS5zZWxlY3RlZEluZGV4PS0xKX1mdW5jdGlvbiB3YShlKXt2YXIgdD1uZXcgTXV0YXRpb25PYnNlcnZlcigoKT0+e0NhKGUsZS5fX3ZhbHVlKX0pO3Qub2JzZXJ2ZShlLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMCxhdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbYHZhbHVlYF19KSxhcigoKT0+e3QuZGlzY29ubmVjdCgpfSl9ZnVuY3Rpb24gVGEoZSx0LG49dCl7dmFyIHI9bmV3IFdlYWtTZXQsaT0hMDtlcihlLGBjaGFuZ2VgLHQ9Pnt2YXIgaT10P2Bbc2VsZWN0ZWRdYDpgOmNoZWNrZWRgLGE7aWYoZS5tdWx0aXBsZSlhPVtdLm1hcC5jYWxsKGUucXVlcnlTZWxlY3RvckFsbChpKSxFYSk7ZWxzZXt2YXIgbz1lLnF1ZXJ5U2VsZWN0b3IoaSk/P2UucXVlcnlTZWxlY3Rvcihgb3B0aW9uOm5vdChbZGlzYWJsZWRdKWApO2E9byYmRWEobyl9bihhKSxlLl9fdmFsdWU9YSxqIT09bnVsbCYmci5hZGQoail9KSx1cigoKT0+e3ZhciBhPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIG89cnQ/THQ6ajtpZihyLmhhcyhvKSlyZXR1cm59aWYoQ2EoZSxhLGkpLGkmJmE9PT12b2lkIDApe3ZhciBzPWUucXVlcnlTZWxlY3RvcihgOmNoZWNrZWRgKTtzIT09bnVsbCYmKGE9RWEocyksbihhKSl9ZS5fX3ZhbHVlPWEsaT0hMX0pLHdhKGUpfWZ1bmN0aW9uIEVhKGUpe3JldHVybmBfX3ZhbHVlYGluIGU/ZS5fX3ZhbHVlOmUudmFsdWV9dmFyIERhPVN5bWJvbChgY2xhc3NgKSxPYT1TeW1ib2woYHN0eWxlYCksa2E9U3ltYm9sKGBpcyBjdXN0b20gZWxlbWVudGApLEFhPVN5bWJvbChgaXMgaHRtbGApLGphPUVlP2BsaW5rYDpgTElOS2AsTWE9RWU/YGlucHV0YDpgSU5QVVRgLE5hPUVlP2BvcHRpb25gOmBPUFRJT05gLFBhPUVlP2BzZWxlY3RgOmBTRUxFQ1RgLEZhPUVlP2Bwcm9ncmVzc2A6YFBST0dSRVNTYDtmdW5jdGlvbiBJYShlKXtpZihDKXt2YXIgdD0hMSxuPSgpPT57aWYoIXQpe2lmKHQ9ITAsZS5oYXNBdHRyaWJ1dGUoYHZhbHVlYCkpe3ZhciBuPWUudmFsdWU7emEoZSxgdmFsdWVgLG51bGwpLGUudmFsdWU9bn1pZihlLmhhc0F0dHJpYnV0ZShgY2hlY2tlZGApKXt2YXIgcj1lLmNoZWNrZWQ7emEoZSxgY2hlY2tlZGAsbnVsbCksZS5jaGVja2VkPXJ9fX07ZS5fX29uX3I9bixndChuKSxRbigpfX1mdW5jdGlvbiBMYShlLHQpe3ZhciBuPUhhKGUpO24udmFsdWU9PT0obi52YWx1ZT10Pz92b2lkIDApfHxlLnZhbHVlPT09dCYmKHQhPT0wfHxlLm5vZGVOYW1lIT09RmEpfHwoZS52YWx1ZT10Pz9gYCl9ZnVuY3Rpb24gUmEoZSx0KXt0P2UuaGFzQXR0cmlidXRlKGBzZWxlY3RlZGApfHxlLnNldEF0dHJpYnV0ZShgc2VsZWN0ZWRgLGBgKTplLnJlbW92ZUF0dHJpYnV0ZShgc2VsZWN0ZWRgKX1mdW5jdGlvbiB6YShlLHQsbixyKXt2YXIgaT1IYShlKTtDJiYoaVt0XT1lLmdldEF0dHJpYnV0ZSh0KSx0PT09YHNyY2B8fHQ9PT1gc3Jjc2V0YHx8dD09PWBocmVmYCYmZS5ub2RlTmFtZT09PWphKXx8aVt0XSE9PShpW3RdPW4pJiYodD09PWBsb2FkaW5nYCYmKGVbd2VdPW4pLG49PW51bGw/ZS5yZW1vdmVBdHRyaWJ1dGUodCk6dHlwZW9mIG4hPWBzdHJpbmdgJiZXYShlKS5pbmNsdWRlcyh0KT9lW3RdPW46ZS5zZXRBdHRyaWJ1dGUodCxuKSl9ZnVuY3Rpb24gQmEoZSx0LG4scixpPSExLGE9ITEpe2lmKEMmJmkmJmUubm9kZU5hbWU9PT1NYSl7dmFyIG89ZTsoby50eXBlPT09YGNoZWNrYm94YD9gZGVmYXVsdENoZWNrZWRgOmBkZWZhdWx0VmFsdWVgKWluIG58fElhKG8pfXZhciBzPUhhKGUpLGM9c1trYV0sbD0hc1tBYV07bGV0IHU9QyYmYzt1JiZKZSghMSk7dmFyIGQ9dHx8e30sZj1lLm5vZGVOYW1lPT09TmE7Zm9yKHZhciBwIGluIHQpcCBpbiBufHwobltwXT1udWxsKTtuLmNsYXNzP24uY2xhc3M9bWEobi5jbGFzcyk6KHJ8fG5bRGFdKSYmKG4uY2xhc3M9bnVsbCksbltPYV0mJihuLnN0eWxlPz89bnVsbCk7dmFyIG09V2EoZSk7Zm9yKGxldCBpIGluIG4pe2xldCBvPW5baV07aWYoZiYmaT09PWB2YWx1ZWAmJm89PW51bGwpe2UudmFsdWU9ZS5fX3ZhbHVlPWBgLGRbaV09bztjb250aW51ZX1pZihpPT09YGNsYXNzYCl7YmEoZSxlLm5hbWVzcGFjZVVSST09PWBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sYCxvLHIsdD8uW0RhXSxuW0RhXSksZFtpXT1vLGRbRGFdPW5bRGFdO2NvbnRpbnVlfWlmKGk9PT1gc3R5bGVgKXtTYShlLG8sdD8uW09hXSxuW09hXSksZFtpXT1vLGRbT2FdPW5bT2FdO2NvbnRpbnVlfXZhciBoPWRbaV07aWYoIShvPT09aCYmIShvPT09dm9pZCAwJiZlLmhhc0F0dHJpYnV0ZShpKSkpKXtkW2ldPW87dmFyIGc9aVswXStpWzFdO2lmKGchPT1gJCRgKWlmKGc9PT1gb25gKXtsZXQgdD17fSxuPWAkJGAraSxyPWkuc2xpY2UoMik7dmFyIF89aWkocik7aWYobmkocikmJihyPXIuc2xpY2UoMCwtNyksdC5jYXB0dXJlPSEwKSwhXyYmaCl7aWYobyE9bnVsbCljb250aW51ZTtlLnJlbW92ZUV2ZW50TGlzdGVuZXIocixkW25dLHQpLGRbbl09bnVsbH1pZihfKWdpKHIsZSxvKSxfaShbcl0pO2Vsc2UgaWYobyE9bnVsbCl7ZnVuY3Rpb24gYShlKXtkW2ldLmNhbGwodGhpcyxlKX1kW25dPW1pKHIsZSxhLHQpfX1lbHNlIGlmKGk9PT1gc3R5bGVgKXphKGUsaSxvKTtlbHNlIGlmKGk9PT1gYXV0b2ZvY3VzYClZbihlLCEhbyk7ZWxzZSBpZighYyYmKGk9PT1gX192YWx1ZWB8fGk9PT1gdmFsdWVgJiZvIT1udWxsKSllLnZhbHVlPWUuX192YWx1ZT1vO2Vsc2UgaWYoaT09PWBzZWxlY3RlZGAmJmYpUmEoZSxvKTtlbHNle3ZhciB2PWk7bHx8KHY9c2kodikpO3ZhciB5PXY9PT1gZGVmYXVsdFZhbHVlYHx8dj09PWBkZWZhdWx0Q2hlY2tlZGA7aWYobz09bnVsbCYmIWMmJiF5KWlmKHNbaV09bnVsbCx2PT09YHZhbHVlYHx8dj09PWBjaGVja2VkYCl7bGV0IG49ZSxyPXQ9PT12b2lkIDA7aWYodj09PWB2YWx1ZWApe2xldCBlPW4uZGVmYXVsdFZhbHVlO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdFZhbHVlPWUsbi52YWx1ZT1uLl9fdmFsdWU9cj9lOm51bGx9ZWxzZXtsZXQgZT1uLmRlZmF1bHRDaGVja2VkO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdENoZWNrZWQ9ZSxuLmNoZWNrZWQ9cj9lOiExfX1lbHNlIGUucmVtb3ZlQXR0cmlidXRlKGkpO2Vsc2UgeXx8bS5pbmNsdWRlcyh2KSYmKGN8fHR5cGVvZiBvIT1gc3RyaW5nYCk/KGVbdl09byx2IGluIHMmJihzW3ZdPVMpKTp0eXBlb2YgbyE9YGZ1bmN0aW9uYCYmemEoZSx2LG8sYSl9fX1yZXR1cm4gdSYmSmUoITApLGR9ZnVuY3Rpb24gVmEoZSx0LG49W10scj1bXSxpPVtdLGEsbz0hMSxzPSExKXtvbihpLG4scixuPT57dmFyIHI9dm9pZCAwLGk9e30sYz1lLm5vZGVOYW1lPT09UGEsbD0hMTtpZihocigoKT0+e3ZhciB1PXQoLi4ubi5tYXAoUikpLGQ9QmEoZSxyLHUsYSxvLHMpO2wmJmMmJmB2YWx1ZWBpbiB1JiZDYShlLHUudmFsdWUpO2ZvcihsZXQgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGkpKXVbZV18fFAoaVtlXSk7Zm9yKGxldCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModSkpe3ZhciBmPXVbdF07dC5kZXNjcmlwdGlvbj09PWBAYXR0YWNoYCYmKCFyfHxmIT09clt0XSkmJihpW3RdJiZQKGlbdF0pLGlbdF09Z3IoKCk9PmRhKGUsKCk9PmYpKSksZFt0XT1mfXI9ZH0pLGMpe3ZhciB1PWU7dXIoKCk9PntDYSh1LHIudmFsdWUsITApLHdhKHUpfSl9bD0hMH0pfWZ1bmN0aW9uIEhhKGUpe3JldHVybiBlLl9fYXR0cmlidXRlcz8/PXtba2FdOmUubm9kZU5hbWUuaW5jbHVkZXMoYC1gKSxbQWFdOmUubmFtZXNwYWNlVVJJPT09VmV9fXZhciBVYT1uZXcgTWFwO2Z1bmN0aW9uIFdhKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKGBpc2ApfHxlLm5vZGVOYW1lLG49VWEuZ2V0KHQpO2lmKG4pcmV0dXJuIG47VWEuc2V0KHQsbj1bXSk7Zm9yKHZhciByLGk9ZSxhPUVsZW1lbnQucHJvdG90eXBlO2EhPT1pOyl7Zm9yKHZhciBvIGluIHI9dihpKSxyKXJbb10uc2V0JiZuLnB1c2gobyk7aT1iKGkpfXJldHVybiBufXZhciBHYT1udWxsO2Z1bmN0aW9uIEthKCl7aWYoR2E9PT1udWxsKXt2YXIgZT1Lbihgc2VsZWN0YCk7ZS5pbm5lckhUTUw9eGkoYDxvcHRpb24+PHNwYW4+dDwvc3Bhbj48L29wdGlvbj5gKSxHYT1lLmZpcnN0Q2hpbGQ/LmZpcnN0Q2hpbGQ/Lm5vZGVUeXBlPT09MX1yZXR1cm4gR2F9ZnVuY3Rpb24gcWEoZSx0KXt2YXIgbj1DO0thKCl8fChKZSghMSksZS50ZXh0Q29udGVudD1gYCxlLmFwcGVuZChxbihgYCkpKTt0cnl7dCgpfWZpbmFsbHl7biYmKEM/WGUoZSk6KEplKCEwKSxUKGUpKSl9fWZ1bmN0aW9uIEphKGUsdCxuPXQpe3ZhciByPW5ldyBXZWFrU2V0O2VyKGUsYGlucHV0YCxhc3luYyBpPT57dmFyIGE9aT9lLmRlZmF1bHRWYWx1ZTplLnZhbHVlO2lmKGE9WGEoZSk/WmEoYSk6YSxuKGEpLGohPT1udWxsJiZyLmFkZChqKSxhd2FpdCBYcigpLGEhPT0oYT10KCkpKXt2YXIgbz1lLnNlbGVjdGlvblN0YXJ0LHM9ZS5zZWxlY3Rpb25FbmQsYz1lLnZhbHVlLmxlbmd0aDtpZihlLnZhbHVlPWE/P2BgLHMhPT1udWxsKXt2YXIgbD1lLnZhbHVlLmxlbmd0aDtvPT09cyYmcz09PWMmJmw+Yz8oZS5zZWxlY3Rpb25TdGFydD1sLGUuc2VsZWN0aW9uRW5kPWwpOihlLnNlbGVjdGlvblN0YXJ0PW8sZS5zZWxlY3Rpb25FbmQ9TWF0aC5taW4ocyxsKSl9fX0pLChDJiZlLmRlZmF1bHRWYWx1ZSE9PWUudmFsdWV8fCRyKHQpPT1udWxsJiZlLnZhbHVlKSYmKG4oWGEoZSk/WmEoZS52YWx1ZSk6ZS52YWx1ZSksaiE9PW51bGwmJnIuYWRkKGopKSxmcigoKT0+e3ZhciBuPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIGk9cnQ/THQ6ajtpZihyLmhhcyhpKSlyZXR1cm59WGEoZSkmJm49PT1aYShlLnZhbHVlKXx8ZS50eXBlPT09YGRhdGVgJiYhbiYmIWUudmFsdWV8fG4hPT1lLnZhbHVlJiYoZS52YWx1ZT1uPz9gYCl9KX1mdW5jdGlvbiBZYShlLHQsbj10KXtlcihlLGBjaGFuZ2VgLHQ9PntuKHQ/ZS5kZWZhdWx0Q2hlY2tlZDplLmNoZWNrZWQpfSksKEMmJmUuZGVmYXVsdENoZWNrZWQhPT1lLmNoZWNrZWR8fCRyKHQpPT1udWxsKSYmbihlLmNoZWNrZWQpLGZyKCgpPT57ZS5jaGVja2VkPSEhdCgpfSl9ZnVuY3Rpb24gWGEoZSl7dmFyIHQ9ZS50eXBlO3JldHVybiB0PT09YG51bWJlcmB8fHQ9PT1gcmFuZ2VgfWZ1bmN0aW9uIFphKGUpe3JldHVybiBlPT09YGA/bnVsbDorZX1mdW5jdGlvbiBRYShlLHQpe3JldHVybiBlPT09dHx8ZT8uW1NlXT09PXR9ZnVuY3Rpb24gJGEoZT17fSx0LG4scil7dmFyIGk9RS5yLGE9STtyZXR1cm4gdXIoKCk9Pnt2YXIgbyxzO3JldHVybiBmcigoKT0+e289cyxzPXI/LigpfHxbXSwkcigoKT0+e2UhPT1uKC4uLnMpJiYodChlLC4uLnMpLG8mJlFhKG4oLi4ubyksZSkmJnQobnVsbCwuLi5vKSl9KX0pLCgpPT57bGV0IHI9YTtmb3IoO3IhPT1pJiZyLnBhcmVudCE9PW51bGwmJnIucGFyZW50LmYmMzM1NTQ0MzI7KXI9ci5wYXJlbnQ7bGV0IG89KCk9PntzJiZRYShuKC4uLnMpLGUpJiZ0KG51bGwsLi4ucyl9LGM9ci50ZWFyZG93bjtyLnRlYXJkb3duPSgpPT57bygpLGM/LigpfX19KSxlfWZ1bmN0aW9uIGVvKGU9ITEpe2xldCB0PUUsbj10LmwudTtpZighbilyZXR1cm47bGV0IHI9KCk9PmVpKHQucyk7aWYoZSl7bGV0IGU9MCxuPXt9LGk9dW4oKCk9PntsZXQgcj0hMSxpPXQucztmb3IobGV0IGUgaW4gaSlpW2VdIT09bltlXSYmKG5bZV09aVtlXSxyPSEwKTtyZXR1cm4gciYmZSsrLGV9KTtyPSgpPT5SKGkpfW4uYi5sZW5ndGgmJmNyKCgpPT57dG8odCxyKSxpZShuLmIpfSksb3IoKCk9PntsZXQgZT0kcigoKT0+bi5tLm1hcChyZSkpO3JldHVybigpPT57Zm9yKGxldCB0IG9mIGUpdHlwZW9mIHQ9PWBmdW5jdGlvbmAmJnQoKX19KSxuLmEubGVuZ3RoJiZvcigoKT0+e3RvKHQsciksaWUobi5hKX0pfWZ1bmN0aW9uIHRvKGUsdCl7aWYoZS5sLnMpZm9yKGxldCB0IG9mIGUubC5zKVIodCk7dCgpfXZhciBubz17Z2V0KGUsdCl7aWYoIWUuZXhjbHVkZS5pbmNsdWRlcyh0KSlyZXR1cm4gZS5wcm9wc1t0XX0sc2V0KGUsdCl7cmV0dXJuITF9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe2lmKCFlLmV4Y2x1ZGUuaW5jbHVkZXModCkmJnQgaW4gZS5wcm9wcylyZXR1cm57ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsdmFsdWU6ZS5wcm9wc1t0XX19LGhhcyhlLHQpe3JldHVybiBlLmV4Y2x1ZGUuaW5jbHVkZXModCk/ITE6dCBpbiBlLnByb3BzfSxvd25LZXlzKGUpe3JldHVybiBSZWZsZWN0Lm93bktleXMoZS5wcm9wcykuZmlsdGVyKHQ9PiFlLmV4Y2x1ZGUuaW5jbHVkZXModCkpfX07ZnVuY3Rpb24gcm8oZSx0LG4pe3JldHVybiBuZXcgUHJveHkoe3Byb3BzOmUsZXhjbHVkZTp0fSxubyl9dmFyIGlvPXtnZXQoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpcmV0dXJuIHJbdF19fSxzZXQoZSx0LG4pe2xldCByPWUucHJvcHMubGVuZ3RoO2Zvcig7ci0tOyl7bGV0IGk9ZS5wcm9wc1tyXTtuZShpKSYmKGk9aSgpKTtsZXQgYT1fKGksdCk7aWYoYSYmYS5zZXQpcmV0dXJuIGEuc2V0KG4pLCEwfXJldHVybiExfSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpe2xldCBlPV8ocix0KTtyZXR1cm4gZSYmIWUuY29uZmlndXJhYmxlJiYoZS5jb25maWd1cmFibGU9ITApLGV9fX0saGFzKGUsdCl7aWYodD09PVNlfHx0PT09Q2UpcmV0dXJuITE7Zm9yKGxldCBuIG9mIGUucHJvcHMpaWYobmUobikmJihuPW4oKSksbiE9bnVsbCYmdCBpbiBuKXJldHVybiEwO3JldHVybiExfSxvd25LZXlzKGUpe2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlLnByb3BzKWlmKG5lKG4pJiYobj1uKCkpLG4pe2ZvcihsZXQgZSBpbiBuKXQuaW5jbHVkZXMoZSl8fHQucHVzaChlKTtmb3IobGV0IGUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhuKSl0LmluY2x1ZGVzKGUpfHx0LnB1c2goZSl9cmV0dXJuIHR9fTtmdW5jdGlvbiBhbyguLi5lKXtyZXR1cm4gbmV3IFByb3h5KHtwcm9wczplfSxpbyl9ZnVuY3Rpb24gb28oZSx0LG4scil7dmFyIGk9IWl0fHwobiYyKSE9MCxhPShuJjgpIT0wLG89KG4mMTYpIT0wLHM9cixjPSEwLGw9KCk9PihjJiYoYz0hMSxzPW8/JHIocik6cikscyk7bGV0IHU7aWYoYSl7dmFyIGQ9U2UgaW4gZXx8Q2UgaW4gZTt1PV8oZSx0KT8uc2V0Pz8oZCYmdCBpbiBlP249PmVbdF09bjp2b2lkIDApfXZhciBmLHA9ITE7YT9bZixwXT1GdCgoKT0+ZVt0XSk6Zj1lW3RdLGY9PT12b2lkIDAmJnIhPT12b2lkIDAmJihmPWwoKSx1JiYoaSYmUGUodCksdShmKSkpO3ZhciBtPWk/KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuPT09dm9pZCAwP2woKTooYz0hMCxuKX06KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuIT09dm9pZCAwJiYocz12b2lkIDApLG49PT12b2lkIDA/czpufTtpZihpJiYhKG4mNCkpcmV0dXJuIG07aWYodSl7dmFyIGg9ZS4kJGxlZ2FjeTtyZXR1cm4oZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wPygoIWl8fCF0fHxofHxwKSYmdSh0P20oKTplKSxlKTptKCl9KX12YXIgZz0hMSx2PShuJjE/dW46cG4pKCgpPT4oZz0hMSxtKCkpKTthJiZSKHYpO3ZhciB5PUk7cmV0dXJuKGZ1bmN0aW9uKGUsdCl7aWYoYXJndW1lbnRzLmxlbmd0aD4wKXtsZXQgbj10P1Iodik6aSYmYT9qbihlKTplO3JldHVybiBUbih2LG4pLGc9ITAscyE9PXZvaWQgMCYmKHM9biksZX1yZXR1cm4ga3ImJmd8fHkuZiYxNjM4ND92LnY6Uih2KX0pfWZ1bmN0aW9uIHNvKGUpe0U9PT1udWxsJiZEZShgb25Nb3VudGApLGl0JiZFLmwhPT1udWxsP2xvKEUpLm0ucHVzaChlKTpvcigoKT0+e2xldCB0PSRyKGUpO2lmKHR5cGVvZiB0PT1gZnVuY3Rpb25gKXJldHVybiB0fSl9ZnVuY3Rpb24gY28oZSl7RT09PW51bGwmJkRlKGBvbkRlc3Ryb3lgKSxzbygoKT0+KCk9PiRyKGUpKX1mdW5jdGlvbiBsbyhlKXt2YXIgdD1lLmw7cmV0dXJuIHQudT8/PXthOltdLGI6W10sbTpbXX19dmFyIHo9KCgpPT57bGV0IGU9bmV3IE1hcDtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7b246KHQsbik9PntsZXQgcj1lLmdldCh0KTtyP3IucHVzaChuKTplLnNldCh0LFtuXSl9LG9mZjoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJmUuc2V0KHQsci5maWx0ZXIoZT0+ZSE9PW4pKX0sZW1pdDoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJnIuZm9yRWFjaChlPT5lKG4pKX19KX0pKCksdW89YGRhdGEtc21hcnRzdXBwLWlkYCxmbz0oKT0+d2luZG93LnRvcD8/d2luZG93LnBhcmVudCxCPSgpPT53aW5kb3cucGFyZW50LHBvPSgpPT5CKCkuZG9jdW1lbnQsbW89ZT0+ZSYmZS5vd25lckRvY3VtZW50fHxkb2N1bWVudCxobz0oe3ZpZDplfSk9PntsZXQgdD1CKCkuc21hcnRzdXBwfHx7fTt0LnZpZD1lLEIoKS5zbWFydHN1cHA9dH0sZ289YGRlYnVnYCxfbz1lPT57dHJ5e2xldCB0PUIoKS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShnbyk7aWYoIXQpcmV0dXJuITE7aWYodD09PWV8fHQ9PT1gKmApcmV0dXJuITA7bGV0IG49ZS5tYXRjaCgvXlx3KzovZyk7cmV0dXJuIG4/dD09PWAke25bMF19KmA6ITF9Y2F0Y2h7cmV0dXJuITF9fSx2bz0oKGUsdCk9PihuLC4uLnIpPT57X28oZSkmJmNvbnNvbGUuZGVidWcoYCVjJHtlfWAsYGNvbG9yOiAke3R9O2AsbiwuLi5yKX0pKGBzbWFydHN1cHA6d2lkZ2V0YCxgIzEyMzNkZmApLFY9KCgpPT57bGV0IGU9bnVsbCx0PVtdO3JldHVybiBPYmplY3QuZnJlZXplKHtpbml0Om49PntlPW4sdm8oYHdpZGdldCBvcHRpb25zYCxuKSx0LmZvckVhY2goZT0+ZShuKSl9LGdldE9wdGlvbnM6KCk9PntpZighZSl0aHJvdyBFcnJvcihgV2lkZ2V0IG9wdGlvbnMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LGF3YWl0T3B0aW9uczphc3luYygpPT5lfHxuZXcgUHJvbWlzZShlPT57dC5wdXNoKGUpfSksdXBkYXRlT3B0aW9uczp0PT57ZT17Li4uZSwuLi50fX19KX0pKCkseW89ZT0+e2xldCB0PWUuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYGJvZHlgKVswXS5nZXRBdHRyaWJ1dGUodW8pO2lmKCF0KXRocm93IEVycm9yKGBNaXNzaW5nIGNoYXQgSUQgYXR0cmlidXRlIG9uIGJvZHkgZWxlbWVudC5gKTtpZighZS5wYXJlbnQuJHNtYXJ0c3VwcCl0aHJvdyBFcnJvcihgU29tZXRoaW5nIHdlbnQgd3JvbmcuIFNlZW1zIGxpa2UgbG9hZGVyLmpzIGRpZCBub3QgaW5pdGlhbGl6ZSB3aWRnZXQuYCk7aWYoIWUucGFyZW50LiRzbWFydHN1cHAuZ2V0V2lkZ2V0KXRocm93IEVycm9yKGBHZXQgd2lkZ2V0IGZ1bmN0aW9uIHdhcyBub3Qgc3VwcGxpZWQgYnkgbG9hZGVyLmpzLmApO3JldHVybiBlLnBhcmVudC4kc21hcnRzdXBwLmdldFdpZGdldCh0KX07ZnVuY3Rpb24gYm8oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKWVbcl09bltyXX1yZXR1cm4gZX12YXIgeG89e3JlYWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMF09PT1gImAmJihlPWUuc2xpY2UoMSwtMSkpLGUucmVwbGFjZSgvKCVbXGRBLUZdezJ9KSsvZ2ksZGVjb2RlVVJJQ29tcG9uZW50KX0sd3JpdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChlKS5yZXBsYWNlKC8lKDJbMzQ2QkZdfDNbQUMtRl18NDB8NVtCREVdfDYwfDdbQkNEXSkvZyxkZWNvZGVVUklDb21wb25lbnQpfX07ZnVuY3Rpb24gU28oZSx0KXtmdW5jdGlvbiBuKG4scixpKXtpZighKHR5cGVvZiBkb2N1bWVudD5gdWApKXtpPWJvKHt9LHQsaSksdHlwZW9mIGkuZXhwaXJlcz09YG51bWJlcmAmJihpLmV4cGlyZXM9bmV3IERhdGUoRGF0ZS5ub3coKStpLmV4cGlyZXMqODY0ZTUpKSxpLmV4cGlyZXMmJj1pLmV4cGlyZXMudG9VVENTdHJpbmcoKSxuPWVuY29kZVVSSUNvbXBvbmVudChuKS5yZXBsYWNlKC8lKDJbMzQ2Ql18NUV8NjB8N0MpL2csZGVjb2RlVVJJQ29tcG9uZW50KS5yZXBsYWNlKC9bKCldL2csZXNjYXBlKTt2YXIgYT1gYDtmb3IodmFyIG8gaW4gaSlpW29dJiYoYSs9YDsgYCtvLGlbb10hPT0hMCYmKGErPWA9YCtpW29dLnNwbGl0KGA7YClbMF0pKTtyZXR1cm4gZG9jdW1lbnQuY29va2llPW4rYD1gK2Uud3JpdGUocixuKSthfX1mdW5jdGlvbiByKHQpe2lmKCEodHlwZW9mIGRvY3VtZW50PmB1YHx8YXJndW1lbnRzLmxlbmd0aCYmIXQpKXtmb3IodmFyIG49ZG9jdW1lbnQuY29va2llP2RvY3VtZW50LmNvb2tpZS5zcGxpdChgOyBgKTpbXSxyPXt9LGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIGE9bltpXS5zcGxpdChgPWApLG89YS5zbGljZSgxKS5qb2luKGA9YCk7dHJ5e3ZhciBzPWRlY29kZVVSSUNvbXBvbmVudChhWzBdKTtpZihyW3NdPWUucmVhZChvLHMpLHQ9PT1zKWJyZWFrfWNhdGNoe319cmV0dXJuIHQ/clt0XTpyfX1yZXR1cm4gT2JqZWN0LmNyZWF0ZSh7c2V0Om4sZ2V0OnIscmVtb3ZlOmZ1bmN0aW9uKGUsdCl7bihlLGBgLGJvKHt9LHQse2V4cGlyZXM6LTF9KSl9LHdpdGhBdHRyaWJ1dGVzOmZ1bmN0aW9uKGUpe3JldHVybiBTbyh0aGlzLmNvbnZlcnRlcixibyh7fSx0aGlzLmF0dHJpYnV0ZXMsZSkpfSx3aXRoQ29udmVydGVyOmZ1bmN0aW9uKGUpe3JldHVybiBTbyhibyh7fSx0aGlzLmNvbnZlcnRlcixlKSx0aGlzLmF0dHJpYnV0ZXMpfX0se2F0dHJpYnV0ZXM6e3ZhbHVlOk9iamVjdC5mcmVlemUodCl9LGNvbnZlcnRlcjp7dmFsdWU6T2JqZWN0LmZyZWV6ZShlKX19KX12YXIgQ289U28oeG8se3BhdGg6YC9gfSksd289YHNzdXBwYCxUbz0oZT0xODIpPT4oe2V4cGlyZXM6ZSxkb21haW46Vi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluLHBhdGg6Vi5nZXRPcHRpb25zKCkuY29va2llUGF0aHx8YC9gLHNhbWVTaXRlOmBzdHJpY3RgLHNlY3VyZTpCKCkubG9jYXRpb24ucHJvdG9jb2w9PT1gaHR0cHM6YH0pLEVvPWU9PmAke1YuZ2V0T3B0aW9ucygpLmNvb2tpZVByZWZpeHx8YGB9JHt3b30uJHtlfWAsRG89KHtuYW1lOmUsdmFsdWU6dCxleHBpcmF0aW9uSW5EYXlzOm49MTgyLG9wdGlvbnM6cn0pPT57Q28uc2V0KEVvKGUpLHQsey4uLlRvKG4pLC4uLnJ9KX0sT289ZT0+Q28uZ2V0KEVvKGUpKSxrbz1lPT57bGV0IHQ9RW8oZSk7aWYoQ28uZ2V0KHQpKXtsZXR7cGF0aDplLGRvbWFpbjpufT1UbygpO0NvLnJlbW92ZSh0LHtwYXRoOmUsZG9tYWluOm59KX19LEFvPWU9Pih0LC4uLm4pPT57ZShgW1NtYXJ0c3VwcF0gJHt0fWAsLi4ubil9LEg9QW8oY29uc29sZS53YXJuKSxqbz1Bbyhjb25zb2xlLmVycm9yKSxNbz0oKT0+e2xldHtrZXk6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7QigpLlNNQVJUU1VQUF9BVVRPQ1JFQVRFPT09ITE/YCR7eW8od2luZG93KS5pZH1fJHt3b31gOndvfV8ke2V9YH0sTm89ZT0+YCR7TW8oKX0ke2U/YF8ke2V9YDpgYH1gLFBvPWU9Pnt0cnl7bGV0IHQ9d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKE5vKGUpKT8/YHt9YDtyZXR1cm4gSlNPTi5wYXJzZSh0KX1jYXRjaHtyZXR1cm57fX19LEZvPShlLHQpPT57dHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShObyh0KSxKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2goZSl7SChgU2V0IHRvIGxvY2FsIHN0b3JhZ2UgZmFpbGVkYCxlKX19LElvPShlLHQpPT57Rm8oey4uLlBvKCksW2VdOlN0cmluZyh0KX0pfSxMbz1lPT57bGV0IHQ9UG8oKTt0W2VdJiYoZGVsZXRlIHRbZV0sRm8odCkpfSxSbz0oKT0+e3dpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShObygpKSx3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTm8oYGNhcmRzYCkpfSxVPWZ1bmN0aW9uKGUpe3JldHVybiBlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuQXV0aEZvcm09YGF1dGhGb3JtYCxlLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZD1gaXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkYCxlLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQ9YG9wZW5lZGAsZS5NYXJrZXRpbmdDb25zZW50PWBtYXJrZXRpbmdDb25zZW50YCxlLk1lc3NhZ2U9YG1lc3NhZ2VgLGUuUG9wdXBDbG9zZWRBdD1gcG9wdXBDbG9zZWRBdGAsZS5SYXRpbmdUZXh0PWByYXRpbmdUZXh0YCxlLlNvdW5kc0VuYWJsZWQ9YGVuYWJsZVNvdW5kc2AsZS5WaXNpdG9ySWQ9YHZpZGAsZS5WaXNpdHM9YHZpc2l0c2AsZS5UaWNrZXRGb3JtPWB0aWNrZXRGb3JtYCxlLlNlc3Npb25JZD1gc2Vzc2lvbklkYCxlfSh7fSksem89ZT0+e2xldCB0PWBgO3JldHVybiBlPT09VS5WaXNpdG9ySWQmJlYuZ2V0T3B0aW9ucygpLmNvb2tpZURvbWFpbiYmKHQ9T28oZSkpLHR8fFBvKClbZV19LEJvPSh7bmFtZTplLHZhbHVlOnR9KT0+e2U9PT1VLlZpc2l0b3JJZCYmVi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluJiZEbyh7bmFtZTplLHZhbHVlOnR9KSxJbyhlLHQpfSxWbz1lPT57TG8oZSl9O3oub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxlPT57Qm8oe25hbWU6VS5BbmFseXRpY3NDb25zZW50LHZhbHVlOlN0cmluZyhlKX0pfSksei5vbihgbWFya2V0aW5nQ29uc2VudENoYW5nZWRgLGU9PntCbyh7bmFtZTpVLk1hcmtldGluZ0NvbnNlbnQsdmFsdWU6U3RyaW5nKGUpfSl9KTt2YXIgSG89KCk9PiEhVi5nZXRPcHRpb25zKCkuY29uc2VudE1vZGVFbmFibGVkLFVvPSgpPT57bGV0IGU9em8oVS5BbmFseXRpY3NDb25zZW50KT09PWB0cnVlYDtyZXR1cm4hKEhvKCkmJiFlKX0sV289KCk9PntsZXQgZT16byhVLk1hcmtldGluZ0NvbnNlbnQpPT09YHRydWVgO3JldHVybiEoSG8oKSYmIWUpfSxHbz1gbW9kdWxlcHJlbG9hZGAsS289ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFVSTChlLHQpLmhyZWZ9LHFvPXt9LEpvPWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1Qcm9taXNlLnJlc29sdmUoKTtpZih0JiZ0Lmxlbmd0aD4wKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgbGlua2ApLGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtwcm9wZXJ0eT1jc3Atbm9uY2VdYCksYT1pPy5ub25jZXx8aT8uZ2V0QXR0cmlidXRlKGBub25jZWApO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKGU9PlByb21pc2UucmVzb2x2ZShlKS50aGVuKGU9Pih7c3RhdHVzOmBmdWxmaWxsZWRgLHZhbHVlOmV9KSxlPT4oe3N0YXR1czpgcmVqZWN0ZWRgLHJlYXNvbjplfSkpKSl9cj1vKHQubWFwKHQ9PntpZih0PUtvKHQsbiksdCBpbiBxbylyZXR1cm47cW9bdF09ITA7bGV0IHI9dC5lbmRzV2l0aChgLmNzc2ApLGk9cj9gW3JlbD0ic3R5bGVzaGVldCJdYDpgYDtpZihuKWZvcihsZXQgbj1lLmxlbmd0aC0xO24+PTA7bi0tKXtsZXQgaT1lW25dO2lmKGkuaHJlZj09PXQmJighcnx8aS5yZWw9PT1gc3R5bGVzaGVldGApKXJldHVybn1lbHNlIGlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpbmtbaHJlZj0iJHt0fSJdJHtpfWApKXJldHVybjtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBsaW5rYCk7aWYoby5yZWw9cj9gc3R5bGVzaGVldGA6R28scnx8KG8uYXM9YHNjcmlwdGApLG8uY3Jvc3NPcmlnaW49YGAsby5ocmVmPXQsYSYmby5zZXRBdHRyaWJ1dGUoYG5vbmNlYCxhKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG8pLHIpcmV0dXJuIG5ldyBQcm9taXNlKChlLG4pPT57by5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxlKSxvLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCwoKT0+bihFcnJvcihgVW5hYmxlIHRvIHByZWxvYWQgQ1NTIGZvciAke3R9YCkpKX0pfSkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQ9bmV3IEV2ZW50KGB2aXRlOnByZWxvYWRFcnJvcmAse2NhbmNlbGFibGU6ITB9KTtpZih0LnBheWxvYWQ9ZSx3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSwhdC5kZWZhdWx0UHJldmVudGVkKXRocm93IGV9cmV0dXJuIHIudGhlbih0PT57Zm9yKGxldCBlIG9mIHR8fFtdKWUuc3RhdHVzPT09YHJlamVjdGVkYCYmaShlLnJlYXNvbik7cmV0dXJuIGUoKS5jYXRjaChpKX0pfSxZbz0oKT0+ISFWLmdldE9wdGlvbnMoKS5jcm9zc0RvbWFpbkVuYWJsZWQsWG89KCk9PlYuZ2V0T3B0aW9ucygpLmFsbG93ZWREb21haW5zLmxlbmd0aD4wLFpvPWFzeW5jKCk9Pnt0cnl7bGV0IGU9YXdhaXQgbmV3KGF3YWl0KEpvKCgpPT5pbXBvcnQoYC4vdGh1bWJtYXJrLmVzbS1DUDRDVTB5TC5qc2ApLFtdLGltcG9ydC5tZXRhLnVybCkpKS5UaHVtYm1hcmsoKS5nZXQoKTtyZXR1cm4gdm8oYFZpc2l0b3IgZmluZ2VycHJpbnQgY3JlYXRlZGAsZS50aHVtYm1hcmspLGUudGh1bWJtYXJrfWNhdGNoKGUpe0goYEZhaWxlZCB0byBnZW5lcmF0ZSBmaW5nZXJwcmludDpgLGUpfX0sUW89YXN5bmMoKT0+e2lmKCEoIVlvKCl8fCFYbygpKSlyZXR1cm4gWm8oKX0sJG89KCk9PnpvKFUuVmlzaXRvcklkKXx8bnVsbCxlcz1lPT5Cbyh7bmFtZTpVLlZpc2l0b3JJZCx2YWx1ZTpTdHJpbmcoZSl9KSx0cz0oKT0+e2lmKFdvKCkpcmV0dXJuIHpvKFUuVmlzaXRzKT9OdW1iZXIoem8oVS5WaXNpdHMpKTowfSxucz1lPT57V28oKSYmQm8oe25hbWU6VS5WaXNpdHMsdmFsdWU6U3RyaW5nKGUpfSl9O3oub24oYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCxlPT57ZXx8Vm8oVS5WaXNpdHMpfSk7dmFyIHJzPShlLHQsbik9PntsZXR7c2V0OnIsc3Vic2NyaWJlOml9PU8odCx0PT57bGV0IHI9em8oZSk7ciYmdChuP24ocik6cil9KSxhPXQ9PntCbyh7bmFtZTplLHZhbHVlOlN0cmluZyh0KX0pfTtyZXR1cm57c2V0OmU9PnthKGUpLHIoZSl9LHN1YnNjcmliZTppfX0saXM9KCk9PmBvbnRvdWNoc3RhcnRgaW4gd2luZG93fHxuYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cz4wLGFzPSgpPT5bYGlQYWQgU2ltdWxhdG9yYCxgaVBob25lIFNpbXVsYXRvcmAsYGlQb2QgU2ltdWxhdG9yYCxgaVBhZGAsYGlQaG9uZWAsYGlQb2RgXS5pbmNsdWRlcyhuYXZpZ2F0b3IucGxhdGZvcm0pfHxuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKGBNYWNgKSYmYG9udG91Y2hlbmRgaW4gZG9jdW1lbnQsb3M9TyhudWxsKSxzcz1rKFtvcyxPKHt3aWR0aDpCKCkuaW5uZXJXaWR0aCxoZWlnaHQ6QigpLmlubmVySGVpZ2h0fSldLChbZSx0XSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOm59PVYuZ2V0T3B0aW9ucygpO2lmKG4/LmVuZm9yY2VEZXNrdG9wTW9kZSlyZXR1cm4hMTtpZihlKXtsZXR7aXNNb2JpbGU6dCxpc1RhYmxldDpufT1lO2lmKG4pcmV0dXJuITE7aWYodClyZXR1cm4hMH1yZXR1cm4gdC53aWR0aDw0NTB8fHQuaGVpZ2h0PDUwMH0pLGNzPWsoW3NzXSwoW2VdKT0+e2xldHtmdWxsU2NyZWVuRW5hYmxlZDp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4hIShlfHx0KX0pLGxzPWsoW29zXSwoW2VdKT0+ZT8hIWU/LmlzRGVza3RvcCYmIWFzKCk6IWlzKCkpLHVzPWsoW2xzLGNzXSwoW2UsdF0pPT5lJiYhdCk7ayhbb3NdLChbZV0pPT4hIWU/LmlzVGFibGV0KTt2YXIgZHM9KCgpPT57bGV0IGU9Tyh7fSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lO3JldHVybntzdWJzY3JpYmU6dCxhZGQ6ZT0+e24odD0+KHsuLi50LFtlLmlkXTplfSkpfSxyZW1vdmU6ZT0+e24odD0+e2xldHtbZV06biwuLi5yfT10O3JldHVybiByfSl9LGZpbmQ6dD0+QShlKVt0XXx8bnVsbH19KSgpLGZzPWsoW2RzXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKSkscHM9ZT0+KHQsbj0zZTMpPT57bGV0IHI9YGZtLSR7ZX0tJHt0fWAsaT1kcy5maW5kKHIpLGE9MTtpJiYoY2xlYXJUaW1lb3V0KGkudGltZW91dCksYT1pLnJlY3VycmVuY2UrMSk7bGV0IG87cmV0dXJuIG4+MCYmKG89d2luZG93LnNldFRpbWVvdXQoKCk9PnttcyhyKX0sbikpLGRzLmFkZCh7aWQ6cix0eXBlOmUsdGV4dDp0LHRpbWVvdXQ6byxyZWN1cnJlbmNlOmF9KSwoKT0+bXMocil9LG1zPWU9Pntkcy5yZW1vdmUoZSl9LGhzPXBzKGBzdWNjZXNzYCksZ3M9cHMoYGVycm9yYCksX3M9cHMoYHdhcm5pbmdgKSx2cz1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkdvb2Q9NV09YEdvb2RgLGVbZS5Ob3JtYWw9M109YE5vcm1hbGAsZVtlLkJhZD0xXT1gQmFkYCxlfSh7fSkseXM9e1t2cy5Hb29kXTp7dmFsdWU6dnMuR29vZCx0ZXh0OmBhZ2VudFJhdGluZy5nb29kLmZvcm1UZXh0YCxuYW1lOmBnb29kYH0sW3ZzLk5vcm1hbF06e3ZhbHVlOnZzLk5vcm1hbCx0ZXh0OmBhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHRgLG5hbWU6YG5ldXRyYWxgfSxbdnMuQmFkXTp7dmFsdWU6dnMuQmFkLHRleHQ6YGFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dGAsbmFtZTpgYmFkYH19LGJzPU9iamVjdC52YWx1ZXMoeXMpLnNvcnQoKGUsdCk9PnQudmFsdWUtZS52YWx1ZSkseHM9YHJhdGVfZm9ybV9pZGAsU3M9e2lkOnhzLHR5cGU6YG1lc3NhZ2VgLHN1YlR5cGU6YHN5c3RlbWAsY2hhbm5lbDp7dHlwZTpgZGVmYXVsdGAsaWQ6bnVsbH0sY2hhdElkOmBgLHZpc2l0b3JJZDpgYCxncm91cElkOm51bGwsYWdlbnRJZDpudWxsLHRyaWdnZXI6bnVsbCxjcmVhdGVkQXQ6YGAsY29udGVudDp7dHlwZTpgcmF0ZV9mb3JtYCxkYXRhOnt9fSxhdHRhY2htZW50czpbXSxzdWJqZWN0Om51bGwsZm9yd2FyZGVkTWVzc2FnZUlkOm51bGwscGFydGljaXBhbnRzOltdLHJlcGx5VG9NZXNzYWdlSWQ6bnVsbCxkZWxldGVkQXQ6bnVsbCx3aWRnZXRPcHRpb25zOntkaXNhYmxlSW5wdXQ6ITEsZGlzYWJsZUF1dGhlbnRpY2F0aW9uOiExLGRpc2FibGVBdHRhY2htZW50czohMX19LENzPU8obnVsbCksd3M9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjcscz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBjKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNGaW5pdGUoZSkpcmV0dXJuIHQubG9uZz91KGUpOmwoZSk7dGhyb3cgRXJyb3IoYHZhbCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGEgdmFsaWQgbnVtYmVyLiB2YWw9YCtKU09OLnN0cmluZ2lmeShlKSl9O2Z1bmN0aW9uIGMoZSl7aWYoZT1TdHJpbmcoZSksIShlLmxlbmd0aD4xMDApKXt2YXIgdD0vXigtPyg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8d2Vla3M/fHd8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIGM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIGMqcztjYXNlYHdlZWtzYDpjYXNlYHdlZWtgOmNhc2Vgd2A6cmV0dXJuIGMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBjKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gYyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIGMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBjKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIGM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gbChlKXt2YXIgdD1NYXRoLmFicyhlKTtyZXR1cm4gdD49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOnQ+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDp0Pj1yP01hdGgucm91bmQoZS9yKStgbWA6dD49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiB1KGUpe3ZhciB0PU1hdGguYWJzKGUpO3JldHVybiB0Pj1hP2QoZSx0LGEsYGRheWApOnQ+PWk/ZChlLHQsaSxgaG91cmApOnQ+PXI/ZChlLHQscixgbWludXRlYCk6dD49bj9kKGUsdCxuLGBzZWNvbmRgKTplK2AgbXNgfWZ1bmN0aW9uIGQoZSx0LG4scil7dmFyIGk9dD49bioxLjU7cmV0dXJuIE1hdGgucm91bmQoZS9uKStgIGArcisoaT9gc2A6YGApfX0pKSxUcz1zKCgoZSx0KT0+e2Z1bmN0aW9uIG4oZSl7bi5kZWJ1Zz1uLG4uZGVmYXVsdD1uLG4uY29lcmNlPWMsbi5kaXNhYmxlPW8sbi5lbmFibGU9aSxuLmVuYWJsZWQ9cyxuLmh1bWFuaXplPXdzKCksbi5kZXN0cm95PWwsT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57blt0XT1lW3RdfSksbi5uYW1lcz1bXSxuLnNraXBzPVtdLG4uZm9ybWF0dGVycz17fTtmdW5jdGlvbiB0KGUpe2xldCB0PTA7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdD0odDw8NSktdCtlLmNoYXJDb2RlQXQobiksdHw9MDtyZXR1cm4gbi5jb2xvcnNbTWF0aC5hYnModCklbi5jb2xvcnMubGVuZ3RoXX1uLnNlbGVjdENvbG9yPXQ7ZnVuY3Rpb24gbihlKXtsZXQgdCxpPW51bGwsYSxvO2Z1bmN0aW9uIHMoLi4uZSl7aWYoIXMuZW5hYmxlZClyZXR1cm47bGV0IHI9cyxpPU51bWJlcihuZXcgRGF0ZSk7ci5kaWZmPWktKHR8fGkpLHIucHJldj10LHIuY3Vycj1pLHQ9aSxlWzBdPW4uY29lcmNlKGVbMF0pLHR5cGVvZiBlWzBdIT1gc3RyaW5nYCYmZS51bnNoaWZ0KGAlT2ApO2xldCBhPTA7ZVswXT1lWzBdLnJlcGxhY2UoLyUoW2EtekEtWiVdKS9nLCh0LGkpPT57aWYodD09PWAlJWApcmV0dXJuYCVgO2ErKztsZXQgbz1uLmZvcm1hdHRlcnNbaV07aWYodHlwZW9mIG89PWBmdW5jdGlvbmApe2xldCBuPWVbYV07dD1vLmNhbGwocixuKSxlLnNwbGljZShhLDEpLGEtLX1yZXR1cm4gdH0pLG4uZm9ybWF0QXJncy5jYWxsKHIsZSksKHIubG9nfHxuLmxvZykuYXBwbHkocixlKX1yZXR1cm4gcy5uYW1lc3BhY2U9ZSxzLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLHMuY29sb3I9bi5zZWxlY3RDb2xvcihlKSxzLmV4dGVuZD1yLHMuZGVzdHJveT1uLmRlc3Ryb3ksT2JqZWN0LmRlZmluZVByb3BlcnR5KHMsYGVuYWJsZWRgLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMSxnZXQ6KCk9Pmk9PT1udWxsPyhhIT09bi5uYW1lc3BhY2VzJiYoYT1uLm5hbWVzcGFjZXMsbz1uLmVuYWJsZWQoZSkpLG8pOmksc2V0OmU9PntpPWV9fSksdHlwZW9mIG4uaW5pdD09YGZ1bmN0aW9uYCYmbi5pbml0KHMpLHN9ZnVuY3Rpb24gcihlLHQpe2xldCByPW4odGhpcy5uYW1lc3BhY2UrKHQ9PT12b2lkIDA/YDpgOnQpK2UpO3JldHVybiByLmxvZz10aGlzLmxvZyxyfWZ1bmN0aW9uIGkoZSl7bi5zYXZlKGUpLG4ubmFtZXNwYWNlcz1lLG4ubmFtZXM9W10sbi5za2lwcz1bXTtsZXQgdD0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnRyaW0oKS5yZXBsYWNlKC9ccysvZyxgLGApLnNwbGl0KGAsYCkuZmlsdGVyKEJvb2xlYW4pO2ZvcihsZXQgZSBvZiB0KWVbMF09PT1gLWA/bi5za2lwcy5wdXNoKGUuc2xpY2UoMSkpOm4ubmFtZXMucHVzaChlKX1mdW5jdGlvbiBhKGUsdCl7bGV0IG49MCxyPTAsaT0tMSxhPTA7Zm9yKDtuPGUubGVuZ3RoOylpZihyPHQubGVuZ3RoJiYodFtyXT09PWVbbl18fHRbcl09PT1gKmApKXRbcl09PT1gKmA/KGk9cixhPW4scisrKToobisrLHIrKyk7ZWxzZSBpZihpIT09LTEpcj1pKzEsYSsrLG49YTtlbHNlIHJldHVybiExO2Zvcig7cjx0Lmxlbmd0aCYmdFtyXT09PWAqYDspcisrO3JldHVybiByPT09dC5sZW5ndGh9ZnVuY3Rpb24gbygpe2xldCBlPVsuLi5uLm5hbWVzLC4uLm4uc2tpcHMubWFwKGU9PmAtYCtlKV0uam9pbihgLGApO3JldHVybiBuLmVuYWJsZShgYCksZX1mdW5jdGlvbiBzKGUpe2ZvcihsZXQgdCBvZiBuLnNraXBzKWlmKGEoZSx0KSlyZXR1cm4hMTtmb3IobGV0IHQgb2Ygbi5uYW1lcylpZihhKGUsdCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yP2Uuc3RhY2t8fGUubWVzc2FnZTplfWZ1bmN0aW9uIGwoKXtjb25zb2xlLndhcm4oIkluc3RhbmNlIG1ldGhvZCBgZGVidWcuZGVzdHJveSgpYCBpcyBkZXByZWNhdGVkIGFuZCBubyBsb25nZXIgZG9lcyBhbnl0aGluZy4gSXQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gb2YgYGRlYnVnYC4iKX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksRXM9cygoKGUsdCk9PntlLmZvcm1hdEFyZ3M9cixlLnNhdmU9aSxlLmxvYWQ9YSxlLnVzZUNvbG9ycz1uLGUuc3RvcmFnZT1vKCksZS5kZXN0cm95PSgoKT0+e2xldCBlPSExO3JldHVybigpPT57ZXx8KGU9ITAsY29uc29sZS53YXJuKCJJbnN0YW5jZSBtZXRob2QgYGRlYnVnLmRlc3Ryb3koKWAgaXMgZGVwcmVjYXRlZCBhbmQgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIG9mIGBkZWJ1Z2AuIikpfX0pKCksZS5jb2xvcnM9YCMwMDAwQ0MuIzAwMDBGRi4jMDAzM0NDLiMwMDMzRkYuIzAwNjZDQy4jMDA2NkZGLiMwMDk5Q0MuIzAwOTlGRi4jMDBDQzAwLiMwMENDMzMuIzAwQ0M2Ni4jMDBDQzk5LiMwMENDQ0MuIzAwQ0NGRi4jMzMwMENDLiMzMzAwRkYuIzMzMzNDQy4jMzMzM0ZGLiMzMzY2Q0MuIzMzNjZGRi4jMzM5OUNDLiMzMzk5RkYuIzMzQ0MwMC4jMzNDQzMzLiMzM0NDNjYuIzMzQ0M5OS4jMzNDQ0NDLiMzM0NDRkYuIzY2MDBDQy4jNjYwMEZGLiM2NjMzQ0MuIzY2MzNGRi4jNjZDQzAwLiM2NkNDMzMuIzk5MDBDQy4jOTkwMEZGLiM5OTMzQ0MuIzk5MzNGRi4jOTlDQzAwLiM5OUNDMzMuI0NDMDAwMC4jQ0MwMDMzLiNDQzAwNjYuI0NDMDA5OS4jQ0MwMENDLiNDQzAwRkYuI0NDMzMwMC4jQ0MzMzMzLiNDQzMzNjYuI0NDMzM5OS4jQ0MzM0NDLiNDQzMzRkYuI0NDNjYwMC4jQ0M2NjMzLiNDQzk5MDAuI0NDOTkzMy4jQ0NDQzAwLiNDQ0NDMzMuI0ZGMDAwMC4jRkYwMDMzLiNGRjAwNjYuI0ZGMDA5OS4jRkYwMENDLiNGRjAwRkYuI0ZGMzMwMC4jRkYzMzMzLiNGRjMzNjYuI0ZGMzM5OS4jRkYzM0NDLiNGRjMzRkYuI0ZGNjYwMC4jRkY2NjMzLiNGRjk5MDAuI0ZGOTkzMy4jRkZDQzAwLiNGRkNDMzNgLnNwbGl0KGAuYCk7ZnVuY3Rpb24gbigpe2lmKHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpKXJldHVybiEwO2lmKHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pKXJldHVybiExO2xldCBlO3JldHVybiB0eXBlb2YgZG9jdW1lbnQ8YHVgJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLldlYmtpdEFwcGVhcmFuY2V8fHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cuY29uc29sZSYmKHdpbmRvdy5jb25zb2xlLmZpcmVidWd8fHdpbmRvdy5jb25zb2xlLmV4Y2VwdGlvbiYmd2luZG93LmNvbnNvbGUudGFibGUpfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmKGU9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9maXJlZm94XC8oXGQrKS8pKSYmcGFyc2VJbnQoZVsxXSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZS5sb2c9Y29uc29sZS5kZWJ1Z3x8Y29uc29sZS5sb2d8fCgoKT0+e30pO2Z1bmN0aW9uIGkodCl7dHJ5e3Q/ZS5zdG9yYWdlLnNldEl0ZW0oYGRlYnVnYCx0KTplLnN0b3JhZ2UucmVtb3ZlSXRlbShgZGVidWdgKX1jYXRjaHt9fWZ1bmN0aW9uIGEoKXtsZXQgdDt0cnl7dD1lLnN0b3JhZ2UuZ2V0SXRlbShgZGVidWdgKXx8ZS5zdG9yYWdlLmdldEl0ZW0oYERFQlVHYCl9Y2F0Y2h7fXJldHVybiF0JiZ0eXBlb2YgcHJvY2VzczxgdWAmJmBlbnZgaW4gcHJvY2VzcyYmKHQ9e30uREVCVUcpLHR9ZnVuY3Rpb24gbygpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlfWNhdGNoe319dC5leHBvcnRzPVRzKCkoZSk7dmFye2Zvcm1hdHRlcnM6c309dC5leHBvcnRzO3Muaj1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfWNhdGNoKGUpe3JldHVybmBbVW5leHBlY3RlZEpTT05QYXJzZUVycm9yXTogYCtlLm1lc3NhZ2V9fX0pKSxEcz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuY3JlYXRlRW1pdHRlcj1lLmNyZWF0ZUNhbGxiYWNrPWUuYm91bmQ9ZS5jcmVhdGVTb2NrZXRFcnJvcj1lLlNvY2tldEVycm9yPWUuZGVidWc9dm9pZCAwLGUuZGVidWc9bigpO2Z1bmN0aW9uIG4oKXt0cnl7cmV0dXJuIEVzKCkoYHNtYXJ0c3VwcDpjbGllbnRgKX1jYXRjaHtyZXR1cm4gZnVuY3Rpb24oKXt9fX12YXIgcj1mdW5jdGlvbihlKXt0KG4sZSk7ZnVuY3Rpb24gbih0LHIpe3ZhciBpPWUuY2FsbCh0aGlzLHQpfHx0aGlzO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoaSxuLnByb3RvdHlwZSksaS5uYW1lPWkuY29uc3RydWN0b3IubmFtZSxpLmNvZGU9ci5jb2RlLGkudHlwZT1yLnR5cGUsaS5ldmVudD1yLmV2ZW50LHImJnIuc3RhY2smJihpLnN0YWNrPWAke2kuc3RhY2t9CkNhdXNlZCBCeTogJHtyLnN0YWNrfWApLGl9cmV0dXJuIG59KEVycm9yKTtlLlNvY2tldEVycm9yPXI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbmV3IHIoZS5tZXNzYWdlLGUpfWUuY3JlYXRlU29ja2V0RXJyb3I9aTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Wy4uLmFyZ3VtZW50c107ZVt0XS5hcHBseShlLG4pfX1lLmJvdW5kPWE7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBmdW5jdGlvbihuLHIpe24/dChpKG4pKTplKHIpfX1lLmNyZWF0ZUNhbGxiYWNrPW87ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBmdW5jdGlvbihuKXtlLmVtaXQodCxuKX19ZS5jcmVhdGVFbWl0dGVyPXN9KSksT3M9cygoKGUsdCk9Pnt2YXIgbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHI9YH5gO2Z1bmN0aW9uIGkoKXt9T2JqZWN0LmNyZWF0ZSYmKGkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCksbmV3IGkoKS5fX3Byb3RvX198fChyPSExKSk7ZnVuY3Rpb24gYShlLHQsbil7dGhpcy5mbj1lLHRoaXMuY29udGV4dD10LHRoaXMub25jZT1ufHwhMX1mdW5jdGlvbiBvKGUsdCxuLGksbyl7aWYodHlwZW9mIG4hPWBmdW5jdGlvbmApdGhyb3cgVHlwZUVycm9yKGBUaGUgbGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uYCk7dmFyIHM9bmV3IGEobixpfHxlLG8pLGM9cj9yK3Q6dDtyZXR1cm4gZS5fZXZlbnRzW2NdP2UuX2V2ZW50c1tjXS5mbj9lLl9ldmVudHNbY109W2UuX2V2ZW50c1tjXSxzXTplLl9ldmVudHNbY10ucHVzaChzKTooZS5fZXZlbnRzW2NdPXMsZS5fZXZlbnRzQ291bnQrKyksZX1mdW5jdGlvbiBzKGUsdCl7LS1lLl9ldmVudHNDb3VudD09PTA/ZS5fZXZlbnRzPW5ldyBpOmRlbGV0ZSBlLl9ldmVudHNbdF19ZnVuY3Rpb24gYygpe3RoaXMuX2V2ZW50cz1uZXcgaSx0aGlzLl9ldmVudHNDb3VudD0wfWMucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXt2YXIgZT1bXSx0LGk7aWYodGhpcy5fZXZlbnRzQ291bnQ9PT0wKXJldHVybiBlO2ZvcihpIGluIHQ9dGhpcy5fZXZlbnRzKW4uY2FsbCh0LGkpJiZlLnB1c2gocj9pLnNsaWNlKDEpOmkpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP2UuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCkpOmV9LGMucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO2lmKCFuKXJldHVybltdO2lmKG4uZm4pcmV0dXJuW24uZm5dO2Zvcih2YXIgaT0wLGE9bi5sZW5ndGgsbz1BcnJheShhKTtpPGE7aSsrKW9baV09bltpXS5mbjtyZXR1cm4gb30sYy5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO3JldHVybiBuP24uZm4/MTpuLmxlbmd0aDowfSxjLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUsdCxuLGksYSxvKXt2YXIgcz1yP3IrZTplO2lmKCF0aGlzLl9ldmVudHNbc10pcmV0dXJuITE7dmFyIGM9dGhpcy5fZXZlbnRzW3NdLGw9YXJndW1lbnRzLmxlbmd0aCx1LGQ7aWYoYy5mbil7c3dpdGNoKGMub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcihlLGMuZm4sdm9pZCAwLCEwKSxsKXtjYXNlIDE6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQpLCEwO2Nhc2UgMjpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0KSwhMDtjYXNlIDM6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuKSwhMDtjYXNlIDQ6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGkpLCEwO2Nhc2UgNTpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0LG4saSxhKSwhMDtjYXNlIDY6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGksYSxvKSwhMH1mb3IoZD0xLHU9QXJyYXkobC0xKTtkPGw7ZCsrKXVbZC0xXT1hcmd1bWVudHNbZF07Yy5mbi5hcHBseShjLmNvbnRleHQsdSl9ZWxzZXt2YXIgZj1jLmxlbmd0aCxwO2ZvcihkPTA7ZDxmO2QrKylzd2l0Y2goY1tkXS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsY1tkXS5mbix2b2lkIDAsITApLGwpe2Nhc2UgMTpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0KTticmVhaztjYXNlIDI6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0KTticmVhaztjYXNlIDM6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0LG4pO2JyZWFrO2Nhc2UgNDpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0LHQsbixpKTticmVhaztkZWZhdWx0OmlmKCF1KWZvcihwPTEsdT1BcnJheShsLTEpO3A8bDtwKyspdVtwLTFdPWFyZ3VtZW50c1twXTtjW2RdLmZuLmFwcGx5KGNbZF0uY29udGV4dCx1KX19cmV0dXJuITB9LGMucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbyh0aGlzLGUsdCxuLCExKX0sYy5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG8odGhpcyxlLHQsbiwhMCl9LGMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciBhPXI/citlOmU7aWYoIXRoaXMuX2V2ZW50c1thXSlyZXR1cm4gdGhpcztpZighdClyZXR1cm4gcyh0aGlzLGEpLHRoaXM7dmFyIG89dGhpcy5fZXZlbnRzW2FdO2lmKG8uZm4pby5mbj09PXQmJighaXx8by5vbmNlKSYmKCFufHxvLmNvbnRleHQ9PT1uKSYmcyh0aGlzLGEpO2Vsc2V7Zm9yKHZhciBjPTAsbD1bXSx1PW8ubGVuZ3RoO2M8dTtjKyspKG9bY10uZm4hPT10fHxpJiYhb1tjXS5vbmNlfHxuJiZvW2NdLmNvbnRleHQhPT1uKSYmbC5wdXNoKG9bY10pO2wubGVuZ3RoP3RoaXMuX2V2ZW50c1thXT1sLmxlbmd0aD09PTE/bFswXTpsOnModGhpcyxhKX1yZXR1cm4gdGhpc30sYy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBlPyh0PXI/citlOmUsdGhpcy5fZXZlbnRzW3RdJiZzKHRoaXMsdCkpOih0aGlzLl9ldmVudHM9bmV3IGksdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpc30sYy5wcm90b3R5cGUub2ZmPWMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLGMucHJvdG90eXBlLmFkZExpc3RlbmVyPWMucHJvdG90eXBlLm9uLGMucHJlZml4ZWQ9cixjLkV2ZW50RW1pdHRlcj1jLHQhPT12b2lkIDAmJih0LmV4cG9ydHM9Yyl9KSksa3M9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsaT1lLmluZGV4T2YoYFtgKSxhPWUuaW5kZXhPZihgXWApO2khPS0xJiZhIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxpKStlLnN1YnN0cmluZyhpLGEpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKGEsZS5sZW5ndGgpKTtmb3IodmFyIG89bi5leGVjKGV8fGBgKSxzPXt9LGM9MTQ7Yy0tOylzW3JbY11dPW9bY118fGBgO3JldHVybiBpIT0tMSYmYSE9LTEmJihzLnNvdXJjZT10LHMuaG9zdD1zLmhvc3Quc3Vic3RyaW5nKDEscy5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxzLmF1dGhvcml0eT1zLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLHMuaXB2NnVyaT0hMCksc319KSksQXM9cygoKGUsdCk9PntmdW5jdGlvbiBuKGUpe24uZGVidWc9bixuLmRlZmF1bHQ9bixuLmNvZXJjZT1sLG4uZGlzYWJsZT1vLG4uZW5hYmxlPWEsbi5lbmFibGVkPXMsbi5odW1hbml6ZT13cygpLE9iamVjdC5rZXlzKGUpLmZvckVhY2godD0+e25bdF09ZVt0XX0pLG4uaW5zdGFuY2VzPVtdLG4ubmFtZXM9W10sbi5za2lwcz1bXSxuLmZvcm1hdHRlcnM9e307ZnVuY3Rpb24gdChlKXtsZXQgdD0wO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXQ9KHQ8PDUpLXQrZS5jaGFyQ29kZUF0KG4pLHR8PTA7cmV0dXJuIG4uY29sb3JzW01hdGguYWJzKHQpJW4uY29sb3JzLmxlbmd0aF19bi5zZWxlY3RDb2xvcj10O2Z1bmN0aW9uIG4oZSl7bGV0IGE7ZnVuY3Rpb24gbyguLi5lKXtpZighby5lbmFibGVkKXJldHVybjtsZXQgdD1vLHI9TnVtYmVyKG5ldyBEYXRlKTt0LmRpZmY9ci0oYXx8ciksdC5wcmV2PWEsdC5jdXJyPXIsYT1yLGVbMF09bi5jb2VyY2UoZVswXSksdHlwZW9mIGVbMF0hPWBzdHJpbmdgJiZlLnVuc2hpZnQoYCVPYCk7bGV0IGk9MDtlWzBdPWVbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csKHIsYSk9PntpZihyPT09YCUlYClyZXR1cm4gcjtpKys7bGV0IG89bi5mb3JtYXR0ZXJzW2FdO2lmKHR5cGVvZiBvPT1gZnVuY3Rpb25gKXtsZXQgbj1lW2ldO3I9by5jYWxsKHQsbiksZS5zcGxpY2UoaSwxKSxpLS19cmV0dXJuIHJ9KSxuLmZvcm1hdEFyZ3MuY2FsbCh0LGUpLCh0LmxvZ3x8bi5sb2cpLmFwcGx5KHQsZSl9cmV0dXJuIG8ubmFtZXNwYWNlPWUsby5lbmFibGVkPW4uZW5hYmxlZChlKSxvLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLG8uY29sb3I9dChlKSxvLmRlc3Ryb3k9cixvLmV4dGVuZD1pLHR5cGVvZiBuLmluaXQ9PWBmdW5jdGlvbmAmJm4uaW5pdChvKSxuLmluc3RhbmNlcy5wdXNoKG8pLG99ZnVuY3Rpb24gcigpe2xldCBlPW4uaW5zdGFuY2VzLmluZGV4T2YodGhpcyk7cmV0dXJuIGU9PT0tMT8hMToobi5pbnN0YW5jZXMuc3BsaWNlKGUsMSksITApfWZ1bmN0aW9uIGkoZSx0KXtsZXQgcj1uKHRoaXMubmFtZXNwYWNlKyh0PT09dm9pZCAwP2A6YDp0KStlKTtyZXR1cm4gci5sb2c9dGhpcy5sb2cscn1mdW5jdGlvbiBhKGUpe24uc2F2ZShlKSxuLm5hbWVzPVtdLG4uc2tpcHM9W107bGV0IHQscj0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnNwbGl0KC9bXHMsXSsvKSxpPXIubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKylyW3RdJiYoZT1yW3RdLnJlcGxhY2UoL1wqL2csYC4qP2ApLGVbMF09PT1gLWA/bi5za2lwcy5wdXNoKFJlZ0V4cChgXmArZS5zdWJzdHIoMSkrYCRgKSk6bi5uYW1lcy5wdXNoKFJlZ0V4cChgXmArZStgJGApKSk7Zm9yKHQ9MDt0PG4uaW5zdGFuY2VzLmxlbmd0aDt0Kyspe2xldCBlPW4uaW5zdGFuY2VzW3RdO2UuZW5hYmxlZD1uLmVuYWJsZWQoZS5uYW1lc3BhY2UpfX1mdW5jdGlvbiBvKCl7bGV0IGU9Wy4uLm4ubmFtZXMubWFwKGMpLC4uLm4uc2tpcHMubWFwKGMpLm1hcChlPT5gLWArZSldLmpvaW4oYCxgKTtyZXR1cm4gbi5lbmFibGUoYGApLGV9ZnVuY3Rpb24gcyhlKXtpZihlW2UubGVuZ3RoLTFdPT09YCpgKXJldHVybiEwO2xldCB0LHI7Zm9yKHQ9MCxyPW4uc2tpcHMubGVuZ3RoO3Q8cjt0KyspaWYobi5za2lwc1t0XS50ZXN0KGUpKXJldHVybiExO2Zvcih0PTAscj1uLm5hbWVzLmxlbmd0aDt0PHI7dCsrKWlmKG4ubmFtZXNbdF0udGVzdChlKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIsZS50b1N0cmluZygpLmxlbmd0aC0yKS5yZXBsYWNlKC9cLlwqXD8kLyxgKmApfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksanM9cygoKGUsdCk9PntlLmxvZz1pLGUuZm9ybWF0QXJncz1yLGUuc2F2ZT1hLGUubG9hZD1vLGUudXNlQ29sb3JzPW4sZS5zdG9yYWdlPXMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpPyEwOnR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pPyExOnR5cGVvZiBkb2N1bWVudDxgdWAmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuV2Via2l0QXBwZWFyYW5jZXx8dHlwZW9mIHdpbmRvdzxgdWAmJndpbmRvdy5jb25zb2xlJiYod2luZG93LmNvbnNvbGUuZmlyZWJ1Z3x8d2luZG93LmNvbnNvbGUuZXhjZXB0aW9uJiZ3aW5kb3cuY29uc29sZS50YWJsZSl8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2ZpcmVmb3hcLyhcZCspLykmJnBhcnNlSW50KFJlZ0V4cC4kMSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZnVuY3Rpb24gaSguLi5lKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmY29uc29sZS5sb2coLi4uZSl9ZnVuY3Rpb24gYSh0KXt0cnl7dD9lLnN0b3JhZ2Uuc2V0SXRlbShgZGVidWdgLHQpOmUuc3RvcmFnZS5yZW1vdmVJdGVtKGBkZWJ1Z2ApfWNhdGNoe319ZnVuY3Rpb24gbygpe2xldCB0O3RyeXt0PWUuc3RvcmFnZS5nZXRJdGVtKGBkZWJ1Z2ApfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWZ1bmN0aW9uIHMoKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZX1jYXRjaHt9fXQuZXhwb3J0cz1BcygpKGUpO3Zhcntmb3JtYXR0ZXJzOmN9PXQuZXhwb3J0cztjLmo9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShlKX1jYXRjaChlKXtyZXR1cm5gW1VuZXhwZWN0ZWRKU09OUGFyc2VFcnJvcl06IGArZS5tZXNzYWdlfX19KSksTXM9cygoKGUsdCk9Pnt2YXIgbj1rcygpLHI9anMoKShgc29ja2V0LmlvLWNsaWVudDp1cmxgKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUsdCl7dmFyIGk9ZTt0fHw9dHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24sZT8/PXQucHJvdG9jb2wrYC8vYCt0Lmhvc3QsdHlwZW9mIGU9PWBzdHJpbmdgJiYoZS5jaGFyQXQoMCk9PT1gL2AmJihlPWUuY2hhckF0KDEpPT09YC9gP3QucHJvdG9jb2wrZTp0Lmhvc3QrZSksL14oaHR0cHM/fHdzcz8pOlwvXC8vLnRlc3QoZSl8fChyKGBwcm90b2NvbC1sZXNzIHVybCAlc2AsZSksZT10PT09dm9pZCAwP2BodHRwczovL2ArZTp0LnByb3RvY29sK2AvL2ArZSkscihgcGFyc2UgJXNgLGUpLGk9bihlKSksaS5wb3J0fHwoL14oaHR0cHx3cykkLy50ZXN0KGkucHJvdG9jb2wpP2kucG9ydD1gODBgOi9eKGh0dHB8d3MpcyQvLnRlc3QoaS5wcm90b2NvbCkmJihpLnBvcnQ9YDQ0M2ApKSxpLnBhdGg9aS5wYXRofHxgL2A7dmFyIGE9aS5ob3N0LmluZGV4T2YoYDpgKT09PS0xP2kuaG9zdDpgW2AraS5ob3N0K2BdYDtyZXR1cm4gaS5pZD1pLnByb3RvY29sK2A6Ly9gK2ErYDpgK2kucG9ydCxpLmhyZWY9aS5wcm90b2NvbCtgOi8vYCthKyh0JiZ0LnBvcnQ9PT1pLnBvcnQ/YGA6YDpgK2kucG9ydCksaX19KSksTnM9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBzKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNOYU4oZSk9PT0hMSlyZXR1cm4gdC5sb25nP2woZSk6YyhlKTt0aHJvdyBFcnJvcihgdmFsIGlzIG5vdCBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSB2YWxpZCBudW1iZXIuIHZhbD1gK0pTT04uc3RyaW5naWZ5KGUpKX07ZnVuY3Rpb24gcyhlKXtpZihlPVN0cmluZyhlKSwhKGUubGVuZ3RoPjEwMCkpe3ZhciB0PS9eKCg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIHM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIHMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBzKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gcyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIHMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBzKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIHM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZT49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOmU+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDplPj1yP01hdGgucm91bmQoZS9yKStgbWA6ZT49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiBsKGUpe3JldHVybiB1KGUsYSxgZGF5YCl8fHUoZSxpLGBob3VyYCl8fHUoZSxyLGBtaW51dGVgKXx8dShlLG4sYHNlY29uZGApfHxlK2AgbXNgfWZ1bmN0aW9uIHUoZSx0LG4pe2lmKCEoZTx0KSlyZXR1cm4gZTx0KjEuNT9NYXRoLmZsb29yKGUvdCkrYCBgK246TWF0aC5jZWlsKGUvdCkrYCBgK24rYHNgfX0pKSxQcz1zKCgoZSx0KT0+e2U9dC5leHBvcnRzPXIuZGVidWc9ci5kZWZhdWx0PXIsZS5jb2VyY2U9YyxlLmRpc2FibGU9byxlLmVuYWJsZT1hLGUuZW5hYmxlZD1zLGUuaHVtYW5pemU9TnMoKSxlLmluc3RhbmNlcz1bXSxlLm5hbWVzPVtdLGUuc2tpcHM9W10sZS5mb3JtYXR0ZXJzPXt9O2Z1bmN0aW9uIG4odCl7dmFyIG49MCxyO2ZvcihyIGluIHQpbj0objw8NSktbit0LmNoYXJDb2RlQXQociksbnw9MDtyZXR1cm4gZS5jb2xvcnNbTWF0aC5hYnMobiklZS5jb2xvcnMubGVuZ3RoXX1mdW5jdGlvbiByKHQpe3ZhciByO2Z1bmN0aW9uIGEoKXtpZihhLmVuYWJsZWQpe3ZhciB0PWEsbj0rbmV3IERhdGU7dC5kaWZmPW4tKHJ8fG4pLHQucHJldj1yLHQuY3Vycj1uLHI9bjtmb3IodmFyIGk9QXJyYXkoYXJndW1lbnRzLmxlbmd0aCksbz0wO288aS5sZW5ndGg7bysrKWlbb109YXJndW1lbnRzW29dO2lbMF09ZS5jb2VyY2UoaVswXSksdHlwZW9mIGlbMF0hPWBzdHJpbmdgJiZpLnVuc2hpZnQoYCVPYCk7dmFyIHM9MDtpWzBdPWlbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csZnVuY3Rpb24obixyKXtpZihuPT09YCUlYClyZXR1cm4gbjtzKys7dmFyIGE9ZS5mb3JtYXR0ZXJzW3JdO2lmKHR5cGVvZiBhPT1gZnVuY3Rpb25gKXt2YXIgbz1pW3NdO249YS5jYWxsKHQsbyksaS5zcGxpY2UocywxKSxzLS19cmV0dXJuIG59KSxlLmZvcm1hdEFyZ3MuY2FsbCh0LGkpLChhLmxvZ3x8ZS5sb2d8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSkpLmFwcGx5KHQsaSl9fXJldHVybiBhLm5hbWVzcGFjZT10LGEuZW5hYmxlZD1lLmVuYWJsZWQodCksYS51c2VDb2xvcnM9ZS51c2VDb2xvcnMoKSxhLmNvbG9yPW4odCksYS5kZXN0cm95PWksdHlwZW9mIGUuaW5pdD09YGZ1bmN0aW9uYCYmZS5pbml0KGEpLGUuaW5zdGFuY2VzLnB1c2goYSksYX1mdW5jdGlvbiBpKCl7dmFyIHQ9ZS5pbnN0YW5jZXMuaW5kZXhPZih0aGlzKTtyZXR1cm4gdD09PS0xPyExOihlLmluc3RhbmNlcy5zcGxpY2UodCwxKSwhMCl9ZnVuY3Rpb24gYSh0KXtlLnNhdmUodCksZS5uYW1lcz1bXSxlLnNraXBzPVtdO3ZhciBuLHI9KHR5cGVvZiB0PT1gc3RyaW5nYD90OmBgKS5zcGxpdCgvW1xzLF0rLyksaT1yLmxlbmd0aDtmb3Iobj0wO248aTtuKyspcltuXSYmKHQ9cltuXS5yZXBsYWNlKC9cKi9nLGAuKj9gKSx0WzBdPT09YC1gP2Uuc2tpcHMucHVzaChSZWdFeHAoYF5gK3Quc3Vic3RyKDEpK2AkYCkpOmUubmFtZXMucHVzaChSZWdFeHAoYF5gK3QrYCRgKSkpO2ZvcihuPTA7bjxlLmluc3RhbmNlcy5sZW5ndGg7bisrKXt2YXIgYT1lLmluc3RhbmNlc1tuXTthLmVuYWJsZWQ9ZS5lbmFibGVkKGEubmFtZXNwYWNlKX19ZnVuY3Rpb24gbygpe2UuZW5hYmxlKGBgKX1mdW5jdGlvbiBzKHQpe2lmKHRbdC5sZW5ndGgtMV09PT1gKmApcmV0dXJuITA7dmFyIG4scjtmb3Iobj0wLHI9ZS5za2lwcy5sZW5ndGg7bjxyO24rKylpZihlLnNraXBzW25dLnRlc3QodCkpcmV0dXJuITE7Zm9yKG49MCxyPWUubmFtZXMubGVuZ3RoO248cjtuKyspaWYoZS5uYW1lc1tuXS50ZXN0KHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX19KSksRnM9cygoKGUsdCk9PntlPXQuZXhwb3J0cz1QcygpLGUubG9nPWksZS5mb3JtYXRBcmdzPXIsZS5zYXZlPWEsZS5sb2FkPW8sZS51c2VDb2xvcnM9bixlLnN0b3JhZ2U9dHlwZW9mIGNocm9tZTxgdWAmJmNocm9tZS5zdG9yYWdlIT09dm9pZCAwP2Nocm9tZS5zdG9yYWdlLmxvY2FsOnMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmd2luZG93LnByb2Nlc3MudHlwZT09PWByZW5kZXJlcmA/ITA6dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKGVkZ2V8dHJpZGVudClcLyhcZCspLyk/ITE6dHlwZW9mIGRvY3VtZW50PGB1YCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5XZWJraXRBcHBlYXJhbmNlfHx0eXBlb2Ygd2luZG93PGB1YCYmd2luZG93LmNvbnNvbGUmJih3aW5kb3cuY29uc29sZS5maXJlYnVnfHx3aW5kb3cuY29uc29sZS5leGNlcHRpb24mJndpbmRvdy5jb25zb2xlLnRhYmxlKXx8dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvZmlyZWZveFwvKFxkKykvKSYmcGFyc2VJbnQoUmVnRXhwLiQxLDEwKT49MzF8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2FwcGxld2Via2l0XC8oXGQrKS8pfWUuZm9ybWF0dGVycy5qPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2goZSl7cmV0dXJuYFtVbmV4cGVjdGVkSlNPTlBhcnNlRXJyb3JdOiBgK2UubWVzc2FnZX19O2Z1bmN0aW9uIHIodCl7dmFyIG49dGhpcy51c2VDb2xvcnM7aWYodFswXT0obj9gJWNgOmBgKSt0aGlzLm5hbWVzcGFjZSsobj9gICVjYDpgIGApK3RbMF0rKG4/YCVjIGA6YCBgKStgK2ArZS5odW1hbml6ZSh0aGlzLmRpZmYpLG4pe3ZhciByPWBjb2xvcjogYCt0aGlzLmNvbG9yO3Quc3BsaWNlKDEsMCxyLGBjb2xvcjogaW5oZXJpdGApO3ZhciBpPTAsYT0wO3RbMF0ucmVwbGFjZSgvJVthLXpBLVolXS9nLGZ1bmN0aW9uKGUpe2UhPT1gJSVgJiYoaSsrLGU9PT1gJWNgJiYoYT1pKSl9KSx0LnNwbGljZShhLDAscil9fWZ1bmN0aW9uIGkoKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZS5sb2csY29uc29sZSxhcmd1bWVudHMpfWZ1bmN0aW9uIGEodCl7dHJ5e3Q9PW51bGw/ZS5zdG9yYWdlLnJlbW92ZUl0ZW0oYGRlYnVnYCk6ZS5zdG9yYWdlLmRlYnVnPXR9Y2F0Y2h7fX1mdW5jdGlvbiBvKCl7dmFyIHQ7dHJ5e3Q9ZS5zdG9yYWdlLmRlYnVnfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWUuZW5hYmxlKG8oKSk7ZnVuY3Rpb24gcygpe3RyeXtyZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZX1jYXRjaHt9fX0pKSxJcz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gbi5sZW5ndGg9PT0wJiZkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzfSxuLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9O2Zvcih2YXIgdD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTEpLG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2lmKG4pe249bi5zbGljZSgwKTtmb3IodmFyIHI9MCxpPW4ubGVuZ3RoO3I8aTsrK3IpbltyXS5hcHBseSh0aGlzLHQpfXJldHVybiB0aGlzfSxuLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9LHRoaXMuX2NhbGxiYWNrc1tgJGArZV18fFtdfSxuLnByb3RvdHlwZS5oYXNMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuISF0aGlzLmxpc3RlbmVycyhlKS5sZW5ndGh9fSkpLExzPXMoKChlLHQpPT57dmFyIG49e30udG9TdHJpbmc7dC5leHBvcnRzPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiBuLmNhbGwoZSk9PWBbb2JqZWN0IEFycmF5XWB9fSkpLFJzPXMoKChlLHQpPT57dC5leHBvcnRzPWE7dmFyIG49dHlwZW9mIEJ1ZmZlcj09YGZ1bmN0aW9uYCYmdHlwZW9mIEJ1ZmZlci5pc0J1ZmZlcj09YGZ1bmN0aW9uYCxyPXR5cGVvZiBBcnJheUJ1ZmZlcj09YGZ1bmN0aW9uYCxpPWZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3PT1gZnVuY3Rpb25gP0FycmF5QnVmZmVyLmlzVmlldyhlKTplLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfTtmdW5jdGlvbiBhKGUpe3JldHVybiBuJiZCdWZmZXIuaXNCdWZmZXIoZSl8fHImJihlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkoZSkpfX0pKSx6cz1zKChlPT57dmFyIHQ9THMoKSxuPVJzKCkscj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGk9dHlwZW9mIEJsb2I9PWBmdW5jdGlvbmB8fHR5cGVvZiBCbG9iPGB1YCYmci5jYWxsKEJsb2IpPT09YFtvYmplY3QgQmxvYkNvbnN0cnVjdG9yXWAsYT10eXBlb2YgRmlsZT09YGZ1bmN0aW9uYHx8dHlwZW9mIEZpbGU8YHVgJiZyLmNhbGwoRmlsZSk9PT1gW29iamVjdCBGaWxlQ29uc3RydWN0b3JdYDtlLmRlY29uc3RydWN0UGFja2V0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49ZS5kYXRhLHI9ZTtyZXR1cm4gci5kYXRhPW8obix0KSxyLmF0dGFjaG1lbnRzPXQubGVuZ3RoLHtwYWNrZXQ6cixidWZmZXJzOnR9fTtmdW5jdGlvbiBvKGUscil7aWYoIWUpcmV0dXJuIGU7aWYobihlKSl7dmFyIGk9e19wbGFjZWhvbGRlcjohMCxudW06ci5sZW5ndGh9O3JldHVybiByLnB1c2goZSksaX1lbHNlIGlmKHQoZSkpe2Zvcih2YXIgYT1BcnJheShlLmxlbmd0aCkscz0wO3M8ZS5sZW5ndGg7cysrKWFbc109byhlW3NdLHIpO3JldHVybiBhfWVsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgJiYhKGUgaW5zdGFuY2VvZiBEYXRlKSl7dmFyIGE9e307Zm9yKHZhciBjIGluIGUpYVtjXT1vKGVbY10scik7cmV0dXJuIGF9cmV0dXJuIGV9ZS5yZWNvbnN0cnVjdFBhY2tldD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmRhdGE9cyhlLmRhdGEsdCksZS5hdHRhY2htZW50cz12b2lkIDAsZX07ZnVuY3Rpb24gcyhlLG4pe2lmKCFlKXJldHVybiBlO2lmKGUmJmUuX3BsYWNlaG9sZGVyPT09ITApe2lmKHR5cGVvZiBlLm51bT09YG51bWJlcmAmJmUubnVtPj0wJiZlLm51bTxuLmxlbmd0aClyZXR1cm4gbltlLm51bV07dGhyb3cgRXJyb3IoYGlsbGVnYWwgYXR0YWNobWVudHNgKX1lbHNlIGlmKHQoZSkpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXT1zKGVbcl0sbik7ZWxzZSBpZih0eXBlb2YgZT09YG9iamVjdGApZm9yKHZhciBpIGluIGUpZVtpXT1zKGVbaV0sbik7cmV0dXJuIGV9ZS5yZW1vdmVCbG9icz1mdW5jdGlvbihlLHIpe2Z1bmN0aW9uIG8oZSxsLHUpe2lmKCFlKXJldHVybiBlO2lmKGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSl7cysrO3ZhciBkPW5ldyBGaWxlUmVhZGVyO2Qub25sb2FkPWZ1bmN0aW9uKCl7dT91W2xdPXRoaXMucmVzdWx0OmM9dGhpcy5yZXN1bHQsLS1zfHxyKGMpfSxkLnJlYWRBc0FycmF5QnVmZmVyKGUpfWVsc2UgaWYodChlKSlmb3IodmFyIGY9MDtmPGUubGVuZ3RoO2YrKylvKGVbZl0sZixlKTtlbHNlIGlmKHR5cGVvZiBlPT1gb2JqZWN0YCYmIW4oZSkpZm9yKHZhciBwIGluIGUpbyhlW3BdLHAsZSl9dmFyIHM9MCxjPWU7byhjKSxzfHxyKGMpfX0pKSxCcz1zKChlPT57dmFyIHQ9RnMoKShgc29ja2V0LmlvLXBhcnNlcmApLG49SXMoKSxyPXpzKCksaT1McygpLGE9UnMoKTtlLnByb3RvY29sPTQsZS50eXBlcz1bYENPTk5FQ1RgLGBESVNDT05ORUNUYCxgRVZFTlRgLGBBQ0tgLGBFUlJPUmAsYEJJTkFSWV9FVkVOVGAsYEJJTkFSWV9BQ0tgXSxlLkNPTk5FQ1Q9MCxlLkRJU0NPTk5FQ1Q9MSxlLkVWRU5UPTIsZS5BQ0s9MyxlLkVSUk9SPTQsZS5CSU5BUllfRVZFTlQ9NSxlLkJJTkFSWV9BQ0s9NixlLkVuY29kZXI9byxlLkRlY29kZXI9ZDtmdW5jdGlvbiBvKCl7fXZhciBzPWUuRVJST1IrYCJlbmNvZGUgZXJyb3IiYDtvLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24obixyKXt0KGBlbmNvZGluZyBwYWNrZXQgJWpgLG4pLGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGU/dShuLHIpOnIoW2MobildKX07ZnVuY3Rpb24gYyhuKXt2YXIgcj1gYCtuLnR5cGU7aWYoKGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGUpJiYocis9bi5hdHRhY2htZW50cytgLWApLG4ubnNwJiZuLm5zcCE9PWAvYCYmKHIrPW4ubnNwK2AsYCksbi5pZCE9bnVsbCYmKHIrPW4uaWQpLG4uZGF0YSE9bnVsbCl7dmFyIGk9bChuLmRhdGEpO2lmKGkhPT0hMSlyKz1pO2Vsc2UgcmV0dXJuIHN9cmV0dXJuIHQoYGVuY29kZWQgJWogYXMgJXNgLG4scikscn1mdW5jdGlvbiBsKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIHUoZSx0KXtmdW5jdGlvbiBuKGUpe3ZhciBuPXIuZGVjb25zdHJ1Y3RQYWNrZXQoZSksaT1jKG4ucGFja2V0KSxhPW4uYnVmZmVyczthLnVuc2hpZnQoaSksdChhKX1yLnJlbW92ZUJsb2JzKGUsbil9ZnVuY3Rpb24gZCgpe3RoaXMucmVjb25zdHJ1Y3Rvcj1udWxsfW4oZC5wcm90b3R5cGUpLGQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt2YXIgbjtpZih0eXBlb2YgdD09YHN0cmluZ2Ape2lmKHRoaXMucmVjb25zdHJ1Y3Rvcil0aHJvdyBFcnJvcihgZ290IHBsYWludGV4dCBkYXRhIHdoZW4gcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtuPWYodCksZS5CSU5BUllfRVZFTlQ9PT1uLnR5cGV8fGUuQklOQVJZX0FDSz09PW4udHlwZT8odGhpcy5yZWNvbnN0cnVjdG9yPW5ldyBtKG4pLHRoaXMucmVjb25zdHJ1Y3Rvci5yZWNvblBhY2suYXR0YWNobWVudHM9PT0wJiZ0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTp0aGlzLmVtaXQoYGRlY29kZWRgLG4pfWVsc2UgaWYoYSh0KXx8dC5iYXNlNjQpaWYodGhpcy5yZWNvbnN0cnVjdG9yKW49dGhpcy5yZWNvbnN0cnVjdG9yLnRha2VCaW5hcnlEYXRhKHQpLG4mJih0aGlzLnJlY29uc3RydWN0b3I9bnVsbCx0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTtlbHNlIHRocm93IEVycm9yKGBnb3QgYmluYXJ5IGRhdGEgd2hlbiBub3QgcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtlbHNlIHRocm93IEVycm9yKGBVbmtub3duIHR5cGU6IGArdCl9O2Z1bmN0aW9uIGYobil7dmFyIHI9MCxhPXt0eXBlOk51bWJlcihuLmNoYXJBdCgwKSl9O2lmKGUudHlwZXNbYS50eXBlXT09bnVsbClyZXR1cm4gaChgdW5rbm93biBwYWNrZXQgdHlwZSBgK2EudHlwZSk7aWYoZS5CSU5BUllfRVZFTlQ9PT1hLnR5cGV8fGUuQklOQVJZX0FDSz09PWEudHlwZSl7Zm9yKHZhciBvPXIrMTtuLmNoYXJBdCgrK3IpIT09YC1gJiZyIT1uLmxlbmd0aDspO3ZhciBzPW4uc3Vic3RyaW5nKG8scik7aWYocyE9TnVtYmVyKHMpfHxuLmNoYXJBdChyKSE9PWAtYCl0aHJvdyBFcnJvcihgSWxsZWdhbCBhdHRhY2htZW50c2ApO2EuYXR0YWNobWVudHM9TnVtYmVyKHMpfWlmKG4uY2hhckF0KHIrMSk9PT1gL2Ape2Zvcih2YXIgbz1yKzE7KytyOyl7dmFyIGM9bi5jaGFyQXQocik7aWYoYz09PWAsYHx8cj09PW4ubGVuZ3RoKWJyZWFrfWEubnNwPW4uc3Vic3RyaW5nKG8scil9ZWxzZSBhLm5zcD1gL2A7dmFyIGw9bi5jaGFyQXQocisxKTtpZihsIT09YGAmJk51bWJlcihsKT09bCl7Zm9yKHZhciBvPXIrMTsrK3I7KXt2YXIgYz1uLmNoYXJBdChyKTtpZihjPT1udWxsfHxOdW1iZXIoYykhPWMpey0tcjticmVha31pZihyPT09bi5sZW5ndGgpYnJlYWt9YS5pZD1OdW1iZXIobi5zdWJzdHJpbmcobyxyKzEpKX1pZihuLmNoYXJBdCgrK3IpKXt2YXIgdT1wKG4uc3Vic3RyKHIpKTtpZih1IT09ITEmJihhLnR5cGU9PT1lLkVSUk9SfHxpKHUpKSlhLmRhdGE9dTtlbHNlIHJldHVybiBoKGBpbnZhbGlkIHBheWxvYWRgKX1yZXR1cm4gdChgZGVjb2RlZCAlcyBhcyAlamAsbixhKSxhfWZ1bmN0aW9uIHAoZSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoe3JldHVybiExfX1kLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5yZWNvbnN0cnVjdG9yJiZ0aGlzLnJlY29uc3RydWN0b3IuZmluaXNoZWRSZWNvbnN0cnVjdGlvbigpfTtmdW5jdGlvbiBtKGUpe3RoaXMucmVjb25QYWNrPWUsdGhpcy5idWZmZXJzPVtdfW0ucHJvdG90eXBlLnRha2VCaW5hcnlEYXRhPWZ1bmN0aW9uKGUpe2lmKHRoaXMuYnVmZmVycy5wdXNoKGUpLHRoaXMuYnVmZmVycy5sZW5ndGg9PT10aGlzLnJlY29uUGFjay5hdHRhY2htZW50cyl7dmFyIHQ9ci5yZWNvbnN0cnVjdFBhY2tldCh0aGlzLnJlY29uUGFjayx0aGlzLmJ1ZmZlcnMpO3JldHVybiB0aGlzLmZpbmlzaGVkUmVjb25zdHJ1Y3Rpb24oKSx0fXJldHVybiBudWxsfSxtLnByb3RvdHlwZS5maW5pc2hlZFJlY29uc3RydWN0aW9uPWZ1bmN0aW9uKCl7dGhpcy5yZWNvblBhY2s9bnVsbCx0aGlzLmJ1ZmZlcnM9W119O2Z1bmN0aW9uIGgodCl7cmV0dXJue3R5cGU6ZS5FUlJPUixkYXRhOmBwYXJzZXIgZXJyb3I6IGArdH19fSkpLFZzPXMoKChlLHQpPT57dHJ5e3QuZXhwb3J0cz10eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiZgd2l0aENyZWRlbnRpYWxzYGluIG5ldyBYTUxIdHRwUmVxdWVzdH1jYXRjaHt0LmV4cG9ydHM9ITF9fSkpLEhzPXMoKChlLHQpPT57dC5leHBvcnRzPShmdW5jdGlvbigpe3JldHVybiB0eXBlb2Ygc2VsZjxgdWA/c2VsZjp0eXBlb2Ygd2luZG93PGB1YD93aW5kb3c6RnVuY3Rpb24oYHJldHVybiB0aGlzYCkoKX0pKCl9KSksVXM9cygoKGUsdCk9Pnt2YXIgbj1WcygpLHI9SHMoKTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS54ZG9tYWluLGk9ZS54c2NoZW1lLGE9ZS5lbmFibGVzWERSO3RyeXtpZih0eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiYoIXR8fG4pKXJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9Y2F0Y2h7fXRyeXtpZih0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhaSYmYSlyZXR1cm4gbmV3IFhEb21haW5SZXF1ZXN0fWNhdGNoe31pZighdCl0cnl7cmV0dXJuIG5ldyByW1tgQWN0aXZlYCxgT2JqZWN0YF0uam9pbihgWGApXShgTWljcm9zb2Z0LlhNTEhUVFBgKX1jYXRjaHt9fX0pKSxXcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7dmFyIHQ9W10sbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Zvcih2YXIgciBpbiBlKW4uY2FsbChlLHIpJiZ0LnB1c2gocik7cmV0dXJuIHR9fSkpLEdzPXMoKChlLHQpPT57dmFyIG49THMoKSxyPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsaT10eXBlb2YgQmxvYj09YGZ1bmN0aW9uYHx8dHlwZW9mIEJsb2I8YHVgJiZyLmNhbGwoQmxvYik9PT1gW29iamVjdCBCbG9iQ29uc3RydWN0b3JdYCxhPXR5cGVvZiBGaWxlPT1gZnVuY3Rpb25gfHx0eXBlb2YgRmlsZTxgdWAmJnIuY2FsbChGaWxlKT09PWBbb2JqZWN0IEZpbGVDb25zdHJ1Y3Rvcl1gO3QuZXhwb3J0cz1vO2Z1bmN0aW9uIG8oZSl7aWYoIWV8fHR5cGVvZiBlIT1gb2JqZWN0YClyZXR1cm4hMTtpZihuKGUpKXtmb3IodmFyIHQ9MCxyPWUubGVuZ3RoO3Q8cjt0KyspaWYobyhlW3RdKSlyZXR1cm4hMDtyZXR1cm4hMX1pZih0eXBlb2YgQnVmZmVyPT1gZnVuY3Rpb25gJiZCdWZmZXIuaXNCdWZmZXImJkJ1ZmZlci5pc0J1ZmZlcihlKXx8dHlwZW9mIEFycmF5QnVmZmVyPT1gZnVuY3Rpb25gJiZlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSlyZXR1cm4hMDtpZihlLnRvSlNPTiYmdHlwZW9mIGUudG9KU09OPT1gZnVuY3Rpb25gJiZhcmd1bWVudHMubGVuZ3RoPT09MSlyZXR1cm4gbyhlLnRvSlNPTigpLCEwKTtmb3IodmFyIHMgaW4gZSlpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmbyhlW3NdKSlyZXR1cm4hMDtyZXR1cm4hMX19KSksS3M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUuYnl0ZUxlbmd0aDtpZih0fHw9MCxufHw9cixlLnNsaWNlKXJldHVybiBlLnNsaWNlKHQsbik7aWYodDwwJiYodCs9ciksbjwwJiYobis9ciksbj5yJiYobj1yKSx0Pj1yfHx0Pj1ufHxyPT09MClyZXR1cm4gbmV3IEFycmF5QnVmZmVyKDApO2Zvcih2YXIgaT1uZXcgVWludDhBcnJheShlKSxhPW5ldyBVaW50OEFycmF5KG4tdCksbz10LHM9MDtvPG47bysrLHMrKylhW3NdPWlbb107cmV0dXJuIGEuYnVmZmVyfX0pKSxxcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1uO2Z1bmN0aW9uIG4oZSx0LG4pe3ZhciBpPSExO3JldHVybiBufHw9cixhLmNvdW50PWUsZT09PTA/dCgpOmE7ZnVuY3Rpb24gYShlLHIpe2lmKGEuY291bnQ8PTApdGhyb3cgRXJyb3IoYGFmdGVyIGNhbGxlZCB0b28gbWFueSB0aW1lc2ApOy0tYS5jb3VudCxlPyhpPSEwLHQoZSksdD1uKTphLmNvdW50PT09MCYmIWkmJnQobnVsbCxyKX19ZnVuY3Rpb24gcigpe319KSksSnM9cygoKGUsdCk9Pnt2YXIgbj1TdHJpbmcuZnJvbUNoYXJDb2RlO2Z1bmN0aW9uIHIoZSl7Zm9yKHZhciB0PVtdLG49MCxyPWUubGVuZ3RoLGksYTtuPHI7KWk9ZS5jaGFyQ29kZUF0KG4rKyksaT49NTUyOTYmJmk8PTU2MzE5JiZuPHI/KGE9ZS5jaGFyQ29kZUF0KG4rKyksKGEmNjQ1MTIpPT01NjMyMD90LnB1c2goKChpJjEwMjMpPDwxMCkrKGEmMTAyMykrNjU1MzYpOih0LnB1c2goaSksbi0tKSk6dC5wdXNoKGkpO3JldHVybiB0fWZ1bmN0aW9uIGkoZSl7Zm9yKHZhciB0PWUubGVuZ3RoLHI9LTEsaSxhPWBgOysrcjx0OylpPWVbcl0saT42NTUzNSYmKGktPTY1NTM2LGErPW4oaT4+PjEwJjEwMjN8NTUyOTYpLGk9NTYzMjB8aSYxMDIzKSxhKz1uKGkpO3JldHVybiBhfWZ1bmN0aW9uIGEoZSx0KXtpZihlPj01NTI5NiYmZTw9NTczNDMpe2lmKHQpdGhyb3cgRXJyb3IoYExvbmUgc3Vycm9nYXRlIFUrYCtlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpK2AgaXMgbm90IGEgc2NhbGFyIHZhbHVlYCk7cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBuKGU+PnQmNjN8MTI4KX1mdW5jdGlvbiBzKGUsdCl7aWYoIShlJjQyOTQ5NjcxNjgpKXJldHVybiBuKGUpO3ZhciByPWBgO3JldHVybiBlJjQyOTQ5NjUyNDg/ZSY0Mjk0OTAxNzYwP2UmNDI5Mjg3MDE0NHx8KHI9bihlPj4xOCY3fDI0MCkscis9byhlLDEyKSxyKz1vKGUsNikpOihhKGUsdCl8fChlPTY1NTMzKSxyPW4oZT4+MTImMTV8MjI0KSxyKz1vKGUsNikpOnI9bihlPj42JjMxfDE5Mikscis9bihlJjYzfDEyOCkscn1mdW5jdGlvbiBjKGUsdCl7dHx8PXt9O2Zvcih2YXIgbj0hMSE9PXQuc3RyaWN0LGk9cihlKSxhPWkubGVuZ3RoLG89LTEsYyxsPWBgOysrbzxhOyljPWlbb10sbCs9cyhjLG4pO3JldHVybiBsfWZ1bmN0aW9uIGwoKXtpZihwPj1mKXRocm93IEVycm9yKGBJbnZhbGlkIGJ5dGUgaW5kZXhgKTt2YXIgZT1kW3BdJjI1NTtpZihwKyssKGUmMTkyKT09MTI4KXJldHVybiBlJjYzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9ZnVuY3Rpb24gdShlKXt2YXIgdCxuLHIsaSxvO2lmKHA+Zil0aHJvdyBFcnJvcihgSW52YWxpZCBieXRlIGluZGV4YCk7aWYocD09ZilyZXR1cm4hMTtpZih0PWRbcF0mMjU1LHArKywhKHQmMTI4KSlyZXR1cm4gdDtpZigodCYyMjQpPT0xOTIpe2lmKG49bCgpLG89KHQmMzEpPDw2fG4sbz49MTI4KXJldHVybiBvO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQwKT09MjI0KXtpZihuPWwoKSxyPWwoKSxvPSh0JjE1KTw8MTJ8bjw8NnxyLG8+PTIwNDgpcmV0dXJuIGEobyxlKT9vOjY1NTMzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQ4KT09MjQwJiYobj1sKCkscj1sKCksaT1sKCksbz0odCY3KTw8MTh8bjw8MTJ8cjw8NnxpLG8+PTY1NTM2JiZvPD0xMTE0MTExKSlyZXR1cm4gbzt0aHJvdyBFcnJvcihgSW52YWxpZCBVVEYtOCBkZXRlY3RlZGApfXZhciBkLGYscDtmdW5jdGlvbiBtKGUsdCl7dHx8PXt9O3ZhciBuPSExIT09dC5zdHJpY3Q7ZD1yKGUpLGY9ZC5sZW5ndGgscD0wO2Zvcih2YXIgYT1bXSxvOyhvPXUobikpIT09ITE7KWEucHVzaChvKTtyZXR1cm4gaShhKX10LmV4cG9ydHM9e3ZlcnNpb246YDIuMS4yYCxlbmNvZGU6YyxkZWNvZGU6bX19KSksWXM9cygoZT0+eyhmdW5jdGlvbih0KXtlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgbj1uZXcgVWludDhBcnJheShlKSxyLGk9bi5sZW5ndGgsYT1gYDtmb3Iocj0wO3I8aTtyKz0zKWErPXRbbltyXT4+Ml0sYSs9dFsobltyXSYzKTw8NHxuW3IrMV0+PjRdLGErPXRbKG5bcisxXSYxNSk8PDJ8bltyKzJdPj42XSxhKz10W25bcisyXSY2M107cmV0dXJuIGklMz09Mj9hPWEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMSkrYD1gOmklMz09MSYmKGE9YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0yKStgPT1gKSxhfSxlLmRlY29kZT1mdW5jdGlvbihlKXt2YXIgbj1lLmxlbmd0aCouNzUscj1lLmxlbmd0aCxpLGE9MCxvLHMsYyxsO2VbZS5sZW5ndGgtMV09PT1gPWAmJihuLS0sZVtlLmxlbmd0aC0yXT09PWA9YCYmbi0tKTt2YXIgdT1uZXcgQXJyYXlCdWZmZXIobiksZD1uZXcgVWludDhBcnJheSh1KTtmb3IoaT0wO2k8cjtpKz00KW89dC5pbmRleE9mKGVbaV0pLHM9dC5pbmRleE9mKGVbaSsxXSksYz10LmluZGV4T2YoZVtpKzJdKSxsPXQuaW5kZXhPZihlW2krM10pLGRbYSsrXT1vPDwyfHM+PjQsZFthKytdPShzJjE1KTw8NHxjPj4yLGRbYSsrXT0oYyYzKTw8NnxsJjYzO3JldHVybiB1fX0pKGBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvYCl9KSksWHM9cygoKGUsdCk9Pnt2YXIgbj1uPT09dm9pZCAwP3R5cGVvZiBXZWJLaXRCbG9iQnVpbGRlcjxgdWA/V2ViS2l0QmxvYkJ1aWxkZXI6dHlwZW9mIE1TQmxvYkJ1aWxkZXI8YHVgP01TQmxvYkJ1aWxkZXI6dHlwZW9mIE1vekJsb2JCdWlsZGVyPGB1YD9Nb3pCbG9iQnVpbGRlcjohMTpuLHI9KGZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgQmxvYihbYGhpYF0pLnNpemU9PT0yfWNhdGNoe3JldHVybiExfX0pKCksaT1yJiYoZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBCbG9iKFtuZXcgVWludDhBcnJheShbMSwyXSldKS5zaXplPT09Mn1jYXRjaHtyZXR1cm4hMX19KSgpLGE9biYmbi5wcm90b3R5cGUuYXBwZW5kJiZuLnByb3RvdHlwZS5nZXRCbG9iO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe2lmKGUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpe3ZhciB0PWUuYnVmZmVyO2lmKGUuYnl0ZUxlbmd0aCE9PXQuYnl0ZUxlbmd0aCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoZS5ieXRlTGVuZ3RoKTtuLnNldChuZXcgVWludDhBcnJheSh0LGUuYnl0ZU9mZnNldCxlLmJ5dGVMZW5ndGgpKSx0PW4uYnVmZmVyfXJldHVybiB0fXJldHVybiBlfSl9ZnVuY3Rpb24gcyhlLHQpe3R8fD17fTt2YXIgcj1uZXcgbjtyZXR1cm4gbyhlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3IuYXBwZW5kKGUpfSksdC50eXBlP3IuZ2V0QmxvYih0LnR5cGUpOnIuZ2V0QmxvYigpfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gbmV3IEJsb2IobyhlKSx0fHx7fSl9dHlwZW9mIEJsb2I8YHVgJiYocy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUsYy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUpLHQuZXhwb3J0cz0oZnVuY3Rpb24oKXtpZihyKXJldHVybiBpP0Jsb2I6YztpZihhKXJldHVybiBzfSkoKX0pKSxacz1zKChlPT57dmFyIHQ9V3MoKSxuPUdzKCkscj1LcygpLGk9cXMoKSxhPUpzKCksbzt0eXBlb2YgQXJyYXlCdWZmZXI8YHVgJiYobz1ZcygpKTt2YXIgcz10eXBlb2YgbmF2aWdhdG9yPGB1YCYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGM9dHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9QaGFudG9tSlMvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGw9c3x8YztlLnByb3RvY29sPTM7dmFyIHU9ZS5wYWNrZXRzPXtvcGVuOjAsY2xvc2U6MSxwaW5nOjIscG9uZzozLG1lc3NhZ2U6NCx1cGdyYWRlOjUsbm9vcDo2fSxkPXQodSksZj17dHlwZTpgZXJyb3JgLGRhdGE6YHBhcnNlciBlcnJvcmB9LHA9WHMoKTtlLmVuY29kZVBhY2tldD1mdW5jdGlvbihlLHQsbixyKXt0eXBlb2YgdD09YGZ1bmN0aW9uYCYmKHI9dCx0PSExKSx0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpPWUuZGF0YT09PXZvaWQgMD92b2lkIDA6ZS5kYXRhLmJ1ZmZlcnx8ZS5kYXRhO2lmKHR5cGVvZiBBcnJheUJ1ZmZlcjxgdWAmJmkgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gaChlLHQscik7aWYocCE9PXZvaWQgMCYmaSBpbnN0YW5jZW9mIHApcmV0dXJuIF8oZSx0LHIpO2lmKGkmJmkuYmFzZTY0KXJldHVybiBtKGUscik7dmFyIG89dVtlLnR5cGVdO3JldHVybiBlLmRhdGEhPT12b2lkIDAmJihvKz1uP2EuZW5jb2RlKFN0cmluZyhlLmRhdGEpLHtzdHJpY3Q6ITF9KTpTdHJpbmcoZS5kYXRhKSkscihgYCtvKX07ZnVuY3Rpb24gbSh0LG4pe3JldHVybiBuKGBiYCtlLnBhY2tldHNbdC50eXBlXSt0LmRhdGEuZGF0YSl9ZnVuY3Rpb24gaCh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7dmFyIGk9dC5kYXRhLGE9bmV3IFVpbnQ4QXJyYXkoaSksbz1uZXcgVWludDhBcnJheSgxK2kuYnl0ZUxlbmd0aCk7b1swXT11W3QudHlwZV07Zm9yKHZhciBzPTA7czxhLmxlbmd0aDtzKyspb1tzKzFdPWFbc107cmV0dXJuIHIoby5idWZmZXIpfWZ1bmN0aW9uIGcodCxuLHIpe2lmKCFuKXJldHVybiBlLmVuY29kZUJhc2U2NFBhY2tldCh0LHIpO3ZhciBpPW5ldyBGaWxlUmVhZGVyO3JldHVybiBpLm9ubG9hZD1mdW5jdGlvbigpe2UuZW5jb2RlUGFja2V0KHt0eXBlOnQudHlwZSxkYXRhOmkucmVzdWx0fSxuLCEwLHIpfSxpLnJlYWRBc0FycmF5QnVmZmVyKHQuZGF0YSl9ZnVuY3Rpb24gXyh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7aWYobClyZXR1cm4gZyh0LG4scik7dmFyIGk9bmV3IFVpbnQ4QXJyYXkoMSk7cmV0dXJuIGlbMF09dVt0LnR5cGVdLHIobmV3IHAoW2kuYnVmZmVyLHQuZGF0YV0pKX1lLmVuY29kZUJhc2U2NFBhY2tldD1mdW5jdGlvbih0LG4pe3ZhciByPWBiYCtlLnBhY2tldHNbdC50eXBlXTtpZihwIT09dm9pZCAwJiZ0LmRhdGEgaW5zdGFuY2VvZiBwKXt2YXIgaT1uZXcgRmlsZVJlYWRlcjtyZXR1cm4gaS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT1pLnJlc3VsdC5zcGxpdChgLGApWzFdO24ocitlKX0saS5yZWFkQXNEYXRhVVJMKHQuZGF0YSl9dmFyIGE7dHJ5e2E9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KHQuZGF0YSkpfWNhdGNoe2Zvcih2YXIgbz1uZXcgVWludDhBcnJheSh0LmRhdGEpLHM9QXJyYXkoby5sZW5ndGgpLGM9MDtjPG8ubGVuZ3RoO2MrKylzW2NdPW9bY107YT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwscyl9cmV0dXJuIHIrPWJ0b2EoYSksbihyKX0sZS5kZWNvZGVQYWNrZXQ9ZnVuY3Rpb24odCxuLGkpe2lmKHQ9PT12b2lkIDApcmV0dXJuIGY7aWYodHlwZW9mIHQ9PWBzdHJpbmdgKXtpZih0LmNoYXJBdCgwKT09PWBiYClyZXR1cm4gZS5kZWNvZGVCYXNlNjRQYWNrZXQodC5zdWJzdHIoMSksbik7aWYoaSYmKHQ9dih0KSx0PT09ITEpKXJldHVybiBmO3ZhciBhPXQuY2hhckF0KDApO3JldHVybiBOdW1iZXIoYSkhPWF8fCFkW2FdP2Y6dC5sZW5ndGg+MT97dHlwZTpkW2FdLGRhdGE6dC5zdWJzdHJpbmcoMSl9Ont0eXBlOmRbYV19fXZhciBhPW5ldyBVaW50OEFycmF5KHQpWzBdLG89cih0LDEpO3JldHVybiBwJiZuPT09YGJsb2JgJiYobz1uZXcgcChbb10pKSx7dHlwZTpkW2FdLGRhdGE6b319O2Z1bmN0aW9uIHYoZSl7dHJ5e2U9YS5kZWNvZGUoZSx7c3RyaWN0OiExfSl9Y2F0Y2h7cmV0dXJuITF9cmV0dXJuIGV9ZS5kZWNvZGVCYXNlNjRQYWNrZXQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj1kW2UuY2hhckF0KDApXTtpZighbylyZXR1cm57dHlwZTpuLGRhdGE6e2Jhc2U2NDohMCxkYXRhOmUuc3Vic3RyKDEpfX07dmFyIHI9by5kZWNvZGUoZS5zdWJzdHIoMSkpO3JldHVybiB0PT09YGJsb2JgJiZwJiYocj1uZXcgcChbcl0pKSx7dHlwZTpuLGRhdGE6cn19LGUuZW5jb2RlUGF5bG9hZD1mdW5jdGlvbih0LHIsaSl7dHlwZW9mIHI9PWBmdW5jdGlvbmAmJihpPXIscj1udWxsKTt2YXIgYT1uKHQpO2lmKHImJmEpcmV0dXJuIHAmJiFsP2UuZW5jb2RlUGF5bG9hZEFzQmxvYih0LGkpOmUuZW5jb2RlUGF5bG9hZEFzQXJyYXlCdWZmZXIodCxpKTtpZighdC5sZW5ndGgpcmV0dXJuIGkoYDA6YCk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZS5sZW5ndGgrYDpgK2V9ZnVuY3Rpb24gcyh0LG4pe2UuZW5jb2RlUGFja2V0KHQsYT9yOiExLCExLGZ1bmN0aW9uKGUpe24obnVsbCxvKGUpKX0pfXkodCxzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkodC5qb2luKGBgKSl9KX07ZnVuY3Rpb24geShlLHQsbil7Zm9yKHZhciByPUFycmF5KGUubGVuZ3RoKSxhPWkoZS5sZW5ndGgsbiksbz1mdW5jdGlvbihlLG4saSl7dChuLGZ1bmN0aW9uKHQsbil7cltlXT1uLGkodCxyKX0pfSxzPTA7czxlLmxlbmd0aDtzKyspbyhzLGVbc10sYSl9ZS5kZWNvZGVQYXlsb2FkPWZ1bmN0aW9uKHQsbixyKXtpZih0eXBlb2YgdCE9YHN0cmluZ2ApcmV0dXJuIGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5KHQsbixyKTt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpO2lmKHQ9PT1gYClyZXR1cm4gcihmLDAsMSk7Zm9yKHZhciBhPWBgLG8scyxjPTAsbD10Lmxlbmd0aDtjPGw7YysrKXt2YXIgdT10LmNoYXJBdChjKTtpZih1IT09YDpgKXthKz11O2NvbnRpbnVlfWlmKGE9PT1gYHx8YSE9KG89TnVtYmVyKGEpKXx8KHM9dC5zdWJzdHIoYysxLG8pLGEhPXMubGVuZ3RoKSlyZXR1cm4gcihmLDAsMSk7aWYocy5sZW5ndGgpe2lmKGk9ZS5kZWNvZGVQYWNrZXQocyxuLCExKSxmLnR5cGU9PT1pLnR5cGUmJmYuZGF0YT09PWkuZGF0YSlyZXR1cm4gcihmLDAsMSk7aWYoITE9PT1yKGksYytvLGwpKXJldHVybn1jKz1vLGE9YGB9aWYoYSE9PWBgKXJldHVybiByKGYsMCwxKX0sZS5lbmNvZGVQYXlsb2FkQXNBcnJheUJ1ZmZlcj1mdW5jdGlvbih0LG4pe2lmKCF0Lmxlbmd0aClyZXR1cm4gbihuZXcgQXJyYXlCdWZmZXIoMCkpO2Z1bmN0aW9uIHIodCxuKXtlLmVuY29kZVBhY2tldCh0LCEwLCEwLGZ1bmN0aW9uKGUpe3JldHVybiBuKG51bGwsZSl9KX15KHQscixmdW5jdGlvbihlLHQpe3ZhciByPXQucmVkdWNlKGZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIHQ9PWBzdHJpbmdgP3QubGVuZ3RoOnQuYnl0ZUxlbmd0aDtyZXR1cm4gZStuLnRvU3RyaW5nKCkubGVuZ3RoK24rMn0sMCksaT1uZXcgVWludDhBcnJheShyKSxhPTA7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD10eXBlb2YgZT09YHN0cmluZ2Asbj1lO2lmKHQpe2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShlLmxlbmd0aCksbz0wO288ZS5sZW5ndGg7bysrKXJbb109ZS5jaGFyQ29kZUF0KG8pO249ci5idWZmZXJ9dD9pW2ErK109MDppW2ErK109MTtmb3IodmFyIHM9bi5ieXRlTGVuZ3RoLnRvU3RyaW5nKCksbz0wO288cy5sZW5ndGg7bysrKWlbYSsrXT1wYXJzZUludChzW29dKTtpW2ErK109MjU1O2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShuKSxvPTA7bzxyLmxlbmd0aDtvKyspaVthKytdPXJbb119KSxuKGkuYnVmZmVyKX0pfSxlLmVuY29kZVBheWxvYWRBc0Jsb2I9ZnVuY3Rpb24odCxuKXtmdW5jdGlvbiByKHQsbil7ZS5lbmNvZGVQYWNrZXQodCwhMCwhMCxmdW5jdGlvbihlKXt2YXIgdD1uZXcgVWludDhBcnJheSgxKTtpZih0WzBdPTEsdHlwZW9mIGU9PWBzdHJpbmdgKXtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgpLGk9MDtpPGUubGVuZ3RoO2krKylyW2ldPWUuY2hhckNvZGVBdChpKTtlPXIuYnVmZmVyLHRbMF09MH1mb3IodmFyIGE9KGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9lLmJ5dGVMZW5ndGg6ZS5zaXplKS50b1N0cmluZygpLG89bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgrMSksaT0wO2k8YS5sZW5ndGg7aSsrKW9baV09cGFyc2VJbnQoYVtpXSk7b1thLmxlbmd0aF09MjU1LHAmJm4obnVsbCxuZXcgcChbdC5idWZmZXIsby5idWZmZXIsZV0pKX0pfXkodCxyLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4obmV3IHAodCkpfSl9LGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5PWZ1bmN0aW9uKHQsbixpKXt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKGk9bixuPW51bGwpO2Zvcih2YXIgYT10LG89W107YS5ieXRlTGVuZ3RoPjA7KXtmb3IodmFyIHM9bmV3IFVpbnQ4QXJyYXkoYSksYz1zWzBdPT09MCxsPWBgLHU9MTtzW3VdIT09MjU1O3UrKyl7aWYobC5sZW5ndGg+MzEwKXJldHVybiBpKGYsMCwxKTtsKz1zW3VdfWE9cihhLDIrbC5sZW5ndGgpLGw9cGFyc2VJbnQobCk7dmFyIGQ9cihhLDAsbCk7aWYoYyl0cnl7ZD1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbmV3IFVpbnQ4QXJyYXkoZCkpfWNhdGNoe3ZhciBwPW5ldyBVaW50OEFycmF5KGQpO2Q9YGA7Zm9yKHZhciB1PTA7dTxwLmxlbmd0aDt1KyspZCs9U3RyaW5nLmZyb21DaGFyQ29kZShwW3VdKX1vLnB1c2goZCksYT1yKGEsbCl9dmFyIG09by5sZW5ndGg7by5mb3JFYWNoKGZ1bmN0aW9uKHQscil7aShlLmRlY29kZVBhY2tldCh0LG4sITApLHIsbSl9KX19KSksUXM9cygoKGUsdCk9Pnt2YXIgbj1acygpLHI9SXMoKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUpe3RoaXMucGF0aD1lLnBhdGgsdGhpcy5ob3N0bmFtZT1lLmhvc3RuYW1lLHRoaXMucG9ydD1lLnBvcnQsdGhpcy5zZWN1cmU9ZS5zZWN1cmUsdGhpcy5xdWVyeT1lLnF1ZXJ5LHRoaXMudGltZXN0YW1wUGFyYW09ZS50aW1lc3RhbXBQYXJhbSx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPWUudGltZXN0YW1wUmVxdWVzdHMsdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMuYWdlbnQ9ZS5hZ2VudHx8ITEsdGhpcy5zb2NrZXQ9ZS5zb2NrZXQsdGhpcy5lbmFibGVzWERSPWUuZW5hYmxlc1hEUix0aGlzLndpdGhDcmVkZW50aWFscz1lLndpdGhDcmVkZW50aWFscyx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5mb3JjZU5vZGU9ZS5mb3JjZU5vZGUsdGhpcy5pc1JlYWN0TmF0aXZlPWUuaXNSZWFjdE5hdGl2ZSx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0aGlzLmxvY2FsQWRkcmVzcz1lLmxvY2FsQWRkcmVzc31yKGkucHJvdG90eXBlKSxpLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUsdCl7dmFyIG49RXJyb3IoZSk7cmV0dXJuIG4udHlwZT1gVHJhbnNwb3J0RXJyb3JgLG4uZGVzY3JpcHRpb249dCx0aGlzLmVtaXQoYGVycm9yYCxuKSx0aGlzfSxpLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgfHx0aGlzLnJlYWR5U3RhdGU9PT1gYCkmJih0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuZG9PcGVuKCkpLHRoaXN9LGkucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKSYmKHRoaXMuZG9DbG9zZSgpLHRoaXMub25DbG9zZSgpKSx0aGlzfSxpLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYCl0aGlzLndyaXRlKGUpO2Vsc2UgdGhyb3cgRXJyb3IoYFRyYW5zcG9ydCBub3Qgb3BlbmApfSxpLnByb3RvdHlwZS5vbk9wZW49ZnVuY3Rpb24oKXt0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMud3JpdGFibGU9ITAsdGhpcy5lbWl0KGBvcGVuYCl9LGkucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt2YXIgdD1uLmRlY29kZVBhY2tldChlLHRoaXMuc29ja2V0LmJpbmFyeVR5cGUpO3RoaXMub25QYWNrZXQodCl9LGkucHJvdG90eXBlLm9uUGFja2V0PWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0saS5wcm90b3R5cGUub25DbG9zZT1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCl9fSkpLCRzPXMoKGU9PntlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgdD1gYDtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodC5sZW5ndGgmJih0Kz1gJmApLHQrPWVuY29kZVVSSUNvbXBvbmVudChuKStgPWArZW5jb2RlVVJJQ29tcG9uZW50KGVbbl0pKTtyZXR1cm4gdH0sZS5kZWNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXt9LG49ZS5zcGxpdChgJmApLHI9MCxpPW4ubGVuZ3RoO3I8aTtyKyspe3ZhciBhPW5bcl0uc3BsaXQoYD1gKTt0W2RlY29kZVVSSUNvbXBvbmVudChhWzBdKV09ZGVjb2RlVVJJQ29tcG9uZW50KGFbMV0pfXJldHVybiB0fX0pKSxlYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuPWZ1bmN0aW9uKCl7fTtuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfX0pKSx0Yz1zKCgoZSx0KT0+e3ZhciBuPWAwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei1fYC5zcGxpdChgYCkscj02NCxpPXt9LGE9MCxvPTAscztmdW5jdGlvbiBjKGUpe3ZhciB0PWBgO2RvIHQ9bltlJXJdK3QsZT1NYXRoLmZsb29yKGUvcik7d2hpbGUoZT4wKTtyZXR1cm4gdH1mdW5jdGlvbiBsKGUpe3ZhciB0PTA7Zm9yKG89MDtvPGUubGVuZ3RoO28rKyl0PXQqcitpW2UuY2hhckF0KG8pXTtyZXR1cm4gdH1mdW5jdGlvbiB1KCl7dmFyIGU9YygrbmV3IERhdGUpO3JldHVybiBlPT09cz9lK2AuYCtjKGErKyk6KGE9MCxzPWUpfWZvcig7bzxyO28rKylpW25bb11dPW87dS5lbmNvZGU9Yyx1LmRlY29kZT1sLHQuZXhwb3J0cz11fSkpLG5jPXMoKChlLHQpPT57dmFyIG49UXMoKSxyPSRzKCksaT1acygpLGE9ZWMoKSxvPXRjKCkscz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmdgKTt0LmV4cG9ydHM9bDt2YXIgYz0oZnVuY3Rpb24oKXtyZXR1cm4gbmV3KFVzKCkpKHt4ZG9tYWluOiExfSkucmVzcG9uc2VUeXBlIT1udWxsfSkoKTtmdW5jdGlvbiBsKGUpe3ZhciB0PWUmJmUuZm9yY2VCYXNlNjQ7KCFjfHx0KSYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLG4uY2FsbCh0aGlzLGUpfWEobCxuKSxsLnByb3RvdHlwZS5uYW1lPWBwb2xsaW5nYCxsLnByb3RvdHlwZS5kb09wZW49ZnVuY3Rpb24oKXt0aGlzLnBvbGwoKX0sbC5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLnJlYWR5U3RhdGU9YHBhdXNpbmdgO2Z1bmN0aW9uIG4oKXtzKGBwYXVzZWRgKSx0LnJlYWR5U3RhdGU9YHBhdXNlZGAsZSgpfWlmKHRoaXMucG9sbGluZ3x8IXRoaXMud3JpdGFibGUpe3ZhciByPTA7dGhpcy5wb2xsaW5nJiYocyhgd2UgYXJlIGN1cnJlbnRseSBwb2xsaW5nIC0gd2FpdGluZyB0byBwYXVzZWApLHIrKyx0aGlzLm9uY2UoYHBvbGxDb21wbGV0ZWAsZnVuY3Rpb24oKXtzKGBwcmUtcGF1c2UgcG9sbGluZyBjb21wbGV0ZWApLC0tcnx8bigpfSkpLHRoaXMud3JpdGFibGV8fChzKGB3ZSBhcmUgY3VycmVudGx5IHdyaXRpbmcgLSB3YWl0aW5nIHRvIHBhdXNlYCkscisrLHRoaXMub25jZShgZHJhaW5gLGZ1bmN0aW9uKCl7cyhgcHJlLXBhdXNlIHdyaXRpbmcgY29tcGxldGVgKSwtLXJ8fG4oKX0pKX1lbHNlIG4oKX0sbC5wcm90b3R5cGUucG9sbD1mdW5jdGlvbigpe3MoYHBvbGxpbmdgKSx0aGlzLnBvbGxpbmc9ITAsdGhpcy5kb1BvbGwoKSx0aGlzLmVtaXQoYHBvbGxgKX0sbC5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cyhgcG9sbGluZyBnb3QgZGF0YSAlc2AsZSksaS5kZWNvZGVQYXlsb2FkKGUsdGhpcy5zb2NrZXQuYmluYXJ5VHlwZSxmdW5jdGlvbihlLG4scil7aWYodC5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0Lm9uT3BlbigpLGUudHlwZT09PWBjbG9zZWApcmV0dXJuIHQub25DbG9zZSgpLCExO3Qub25QYWNrZXQoZSl9KSx0aGlzLnJlYWR5U3RhdGUhPT1gY2xvc2VkYCYmKHRoaXMucG9sbGluZz0hMSx0aGlzLmVtaXQoYHBvbGxDb21wbGV0ZWApLHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD90aGlzLnBvbGwoKTpzKGBpZ25vcmluZyBwb2xsIC0gdHJhbnNwb3J0IHN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSkpfSxsLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztmdW5jdGlvbiB0KCl7cyhgd3JpdGluZyBjbG9zZSBwYWNrZXRgKSxlLndyaXRlKFt7dHlwZTpgY2xvc2VgfV0pfXRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD8ocyhgdHJhbnNwb3J0IG9wZW4gLSBjbG9zaW5nYCksdCgpKToocyhgdHJhbnNwb3J0IG5vdCBvcGVuIC0gZGVmZXJyaW5nIGNsb3NlYCksdGhpcy5vbmNlKGBvcGVuYCx0KSl9LGwucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy53cml0YWJsZT0hMTt2YXIgbj1mdW5jdGlvbigpe3Qud3JpdGFibGU9ITAsdC5lbWl0KGBkcmFpbmApfTtpLmVuY29kZVBheWxvYWQoZSx0aGlzLnN1cHBvcnRzQmluYXJ5LGZ1bmN0aW9uKGUpe3QuZG9Xcml0ZShlLG4pfSl9LGwucHJvdG90eXBlLnVyaT1mdW5jdGlvbigpe3ZhciBlPXRoaXMucXVlcnl8fHt9LHQ9dGhpcy5zZWN1cmU/YGh0dHBzYDpgaHR0cGAsbj1gYDshMSE9PXRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksIXRoaXMuc3VwcG9ydHNCaW5hcnkmJiFlLnNpZCYmKGUuYjY0PTEpLGU9ci5lbmNvZGUoZSksdGhpcy5wb3J0JiYodD09PWBodHRwc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YGh0dHBgJiZOdW1iZXIodGhpcy5wb3J0KSE9PTgwKSYmKG49YDpgK3RoaXMucG9ydCksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgaT10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhpP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfX0pKSxyYz1zKCgoZSx0KT0+e3ZhciBuPVVzKCkscj1uYygpLGk9SXMoKSxhPWVjKCksbz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmcteGhyYCkscz1IcygpO3QuZXhwb3J0cz1sLHQuZXhwb3J0cy5SZXF1ZXN0PXU7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe2lmKHIuY2FsbCh0aGlzLGUpLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0eXBlb2YgbG9jYXRpb248YHVgKXt2YXIgdD1sb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgLG49bG9jYXRpb24ucG9ydDtufHw9dD80NDM6ODAsdGhpcy54ZD10eXBlb2YgbG9jYXRpb248YHVgJiZlLmhvc3RuYW1lIT09bG9jYXRpb24uaG9zdG5hbWV8fG4hPT1lLnBvcnQsdGhpcy54cz1lLnNlY3VyZSE9PXR9fWEobCxyKSxsLnByb3RvdHlwZS5zdXBwb3J0c0JpbmFyeT0hMCxsLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiBlfHw9e30sZS51cmk9dGhpcy51cmkoKSxlLnhkPXRoaXMueGQsZS54cz10aGlzLnhzLGUuYWdlbnQ9dGhpcy5hZ2VudHx8ITEsZS5zdXBwb3J0c0JpbmFyeT10aGlzLnN1cHBvcnRzQmluYXJ5LGUuZW5hYmxlc1hEUj10aGlzLmVuYWJsZXNYRFIsZS53aXRoQ3JlZGVudGlhbHM9dGhpcy53aXRoQ3JlZGVudGlhbHMsZS5wZng9dGhpcy5wZngsZS5rZXk9dGhpcy5rZXksZS5wYXNzcGhyYXNlPXRoaXMucGFzc3BocmFzZSxlLmNlcnQ9dGhpcy5jZXJ0LGUuY2E9dGhpcy5jYSxlLmNpcGhlcnM9dGhpcy5jaXBoZXJzLGUucmVqZWN0VW5hdXRob3JpemVkPXRoaXMucmVqZWN0VW5hdXRob3JpemVkLGUucmVxdWVzdFRpbWVvdXQ9dGhpcy5yZXF1ZXN0VGltZW91dCxlLmV4dHJhSGVhZGVycz10aGlzLmV4dHJhSGVhZGVycyxuZXcgdShlKX0sbC5wcm90b3R5cGUuZG9Xcml0ZT1mdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlIT1gc3RyaW5nYCYmZSE9PXZvaWQgMCxyPXRoaXMucmVxdWVzdCh7bWV0aG9kOmBQT1NUYCxkYXRhOmUsaXNCaW5hcnk6bn0pLGk9dGhpcztyLm9uKGBzdWNjZXNzYCx0KSxyLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7aS5vbkVycm9yKGB4aHIgcG9zdCBlcnJvcmAsZSl9KSx0aGlzLnNlbmRYaHI9cn0sbC5wcm90b3R5cGUuZG9Qb2xsPWZ1bmN0aW9uKCl7byhgeGhyIHBvbGxgKTt2YXIgZT10aGlzLnJlcXVlc3QoKSx0PXRoaXM7ZS5vbihgZGF0YWAsZnVuY3Rpb24oZSl7dC5vbkRhdGEoZSl9KSxlLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7dC5vbkVycm9yKGB4aHIgcG9sbCBlcnJvcmAsZSl9KSx0aGlzLnBvbGxYaHI9ZX07ZnVuY3Rpb24gdShlKXt0aGlzLm1ldGhvZD1lLm1ldGhvZHx8YEdFVGAsdGhpcy51cmk9ZS51cmksdGhpcy54ZD0hIWUueGQsdGhpcy54cz0hIWUueHMsdGhpcy5hc3luYz0hMSE9PWUuYXN5bmMsdGhpcy5kYXRhPWUuZGF0YT09PXZvaWQgMD9udWxsOmUuZGF0YSx0aGlzLmFnZW50PWUuYWdlbnQsdGhpcy5pc0JpbmFyeT1lLmlzQmluYXJ5LHRoaXMuc3VwcG9ydHNCaW5hcnk9ZS5zdXBwb3J0c0JpbmFyeSx0aGlzLmVuYWJsZXNYRFI9ZS5lbmFibGVzWERSLHRoaXMud2l0aENyZWRlbnRpYWxzPWUud2l0aENyZWRlbnRpYWxzLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5leHRyYUhlYWRlcnM9ZS5leHRyYUhlYWRlcnMsdGhpcy5jcmVhdGUoKX1pZihpKHUucHJvdG90eXBlKSx1LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24oKXt2YXIgZT17YWdlbnQ6dGhpcy5hZ2VudCx4ZG9tYWluOnRoaXMueGQseHNjaGVtZTp0aGlzLnhzLGVuYWJsZXNYRFI6dGhpcy5lbmFibGVzWERSfTtlLnBmeD10aGlzLnBmeCxlLmtleT10aGlzLmtleSxlLnBhc3NwaHJhc2U9dGhpcy5wYXNzcGhyYXNlLGUuY2VydD10aGlzLmNlcnQsZS5jYT10aGlzLmNhLGUuY2lwaGVycz10aGlzLmNpcGhlcnMsZS5yZWplY3RVbmF1dGhvcml6ZWQ9dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ7dmFyIHQ9dGhpcy54aHI9bmV3IG4oZSkscj10aGlzO3RyeXtvKGB4aHIgb3BlbiAlczogJXNgLHRoaXMubWV0aG9kLHRoaXMudXJpKSx0Lm9wZW4odGhpcy5tZXRob2QsdGhpcy51cmksdGhpcy5hc3luYyk7dHJ5e2lmKHRoaXMuZXh0cmFIZWFkZXJzKWZvcih2YXIgaSBpbiB0LnNldERpc2FibGVIZWFkZXJDaGVjayYmdC5zZXREaXNhYmxlSGVhZGVyQ2hlY2soITApLHRoaXMuZXh0cmFIZWFkZXJzKXRoaXMuZXh0cmFIZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiZ0LnNldFJlcXVlc3RIZWFkZXIoaSx0aGlzLmV4dHJhSGVhZGVyc1tpXSl9Y2F0Y2h7fWlmKHRoaXMubWV0aG9kPT09YFBPU1RgKXRyeXt0aGlzLmlzQmluYXJ5P3Quc2V0UmVxdWVzdEhlYWRlcihgQ29udGVudC10eXBlYCxgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCk6dC5zZXRSZXF1ZXN0SGVhZGVyKGBDb250ZW50LXR5cGVgLGB0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLThgKX1jYXRjaHt9dHJ5e3Quc2V0UmVxdWVzdEhlYWRlcihgQWNjZXB0YCxgKi8qYCl9Y2F0Y2h7fWB3aXRoQ3JlZGVudGlhbHNgaW4gdCYmKHQud2l0aENyZWRlbnRpYWxzPXRoaXMud2l0aENyZWRlbnRpYWxzKSx0aGlzLnJlcXVlc3RUaW1lb3V0JiYodC50aW1lb3V0PXRoaXMucmVxdWVzdFRpbWVvdXQpLHRoaXMuaGFzWERSKCk/KHQub25sb2FkPWZ1bmN0aW9uKCl7ci5vbkxvYWQoKX0sdC5vbmVycm9yPWZ1bmN0aW9uKCl7ci5vbkVycm9yKHQucmVzcG9uc2VUZXh0KX0pOnQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYodC5yZWFkeVN0YXRlPT09Mil0cnl7dmFyIGU9dC5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCk7KHIuc3VwcG9ydHNCaW5hcnkmJmU9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8ZT09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmKHQucmVzcG9uc2VUeXBlPWBhcnJheWJ1ZmZlcmApfWNhdGNoe310LnJlYWR5U3RhdGU9PT00JiYodC5zdGF0dXM9PT0yMDB8fHQuc3RhdHVzPT09MTIyMz9yLm9uTG9hZCgpOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLm9uRXJyb3IodHlwZW9mIHQuc3RhdHVzPT1gbnVtYmVyYD90LnN0YXR1czowKX0sMCkpfSxvKGB4aHIgZGF0YSAlc2AsdGhpcy5kYXRhKSx0LnNlbmQodGhpcy5kYXRhKX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5vbkVycm9yKGUpfSwwKTtyZXR1cm59dHlwZW9mIGRvY3VtZW50PGB1YCYmKHRoaXMuaW5kZXg9dS5yZXF1ZXN0c0NvdW50KyssdS5yZXF1ZXN0c1t0aGlzLmluZGV4XT10aGlzKX0sdS5wcm90b3R5cGUub25TdWNjZXNzPWZ1bmN0aW9uKCl7dGhpcy5lbWl0KGBzdWNjZXNzYCksdGhpcy5jbGVhbnVwKCl9LHUucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt0aGlzLmVtaXQoYGRhdGFgLGUpLHRoaXMub25TdWNjZXNzKCl9LHUucHJvdG90eXBlLm9uRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5jbGVhbnVwKCEwKX0sdS5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbihlKXtpZighKHRoaXMueGhyPT09dm9pZCAwfHx0aGlzLnhocj09PW51bGwpKXtpZih0aGlzLmhhc1hEUigpP3RoaXMueGhyLm9ubG9hZD10aGlzLnhoci5vbmVycm9yPWM6dGhpcy54aHIub25yZWFkeXN0YXRlY2hhbmdlPWMsZSl0cnl7dGhpcy54aHIuYWJvcnQoKX1jYXRjaHt9dHlwZW9mIGRvY3VtZW50PGB1YCYmZGVsZXRlIHUucmVxdWVzdHNbdGhpcy5pbmRleF0sdGhpcy54aHI9bnVsbH19LHUucHJvdG90eXBlLm9uTG9hZD1mdW5jdGlvbigpe3ZhciBlO3RyeXt2YXIgdDt0cnl7dD10aGlzLnhoci5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCl9Y2F0Y2h7fWU9KHQ9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8dD09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmdGhpcy54aHIucmVzcG9uc2V8fHRoaXMueGhyLnJlc3BvbnNlVGV4dH1jYXRjaChlKXt0aGlzLm9uRXJyb3IoZSl9ZSE9bnVsbCYmdGhpcy5vbkRhdGEoZSl9LHUucHJvdG90eXBlLmhhc1hEUj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhdGhpcy54cyYmdGhpcy5lbmFibGVzWERSfSx1LnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuY2xlYW51cCgpfSx1LnJlcXVlc3RzQ291bnQ9MCx1LnJlcXVlc3RzPXt9LHR5cGVvZiBkb2N1bWVudDxgdWApe2lmKHR5cGVvZiBhdHRhY2hFdmVudD09YGZ1bmN0aW9uYClhdHRhY2hFdmVudChgb251bmxvYWRgLGYpO2Vsc2UgaWYodHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmApe3ZhciBkPWBvbnBhZ2VoaWRlYGluIHM/YHBhZ2VoaWRlYDpgdW5sb2FkYDthZGRFdmVudExpc3RlbmVyKGQsZiwhMSl9fWZ1bmN0aW9uIGYoKXtmb3IodmFyIGUgaW4gdS5yZXF1ZXN0cyl1LnJlcXVlc3RzLmhhc093blByb3BlcnR5KGUpJiZ1LnJlcXVlc3RzW2VdLmFib3J0KCl9fSkpLGljPXMoKChlLHQpPT57dmFyIG49bmMoKSxyPWVjKCksaT1IcygpO3QuZXhwb3J0cz1sO3ZhciBhPS9cbi9nLG89L1xcbi9nLHM7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe24uY2FsbCh0aGlzLGUpLHRoaXMucXVlcnk9dGhpcy5xdWVyeXx8e30sc3x8PWkuX19fZWlvPWkuX19fZWlvfHxbXSx0aGlzLmluZGV4PXMubGVuZ3RoO3ZhciB0PXRoaXM7cy5wdXNoKGZ1bmN0aW9uKGUpe3Qub25EYXRhKGUpfSksdGhpcy5xdWVyeS5qPXRoaXMuaW5kZXgsdHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmAmJmFkZEV2ZW50TGlzdGVuZXIoYGJlZm9yZXVubG9hZGAsZnVuY3Rpb24oKXt0LnNjcmlwdCYmKHQuc2NyaXB0Lm9uZXJyb3I9Yyl9LCExKX1yKGwsbiksbC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITEsbC5wcm90b3R5cGUuZG9DbG9zZT1mdW5jdGlvbigpe3RoaXMuc2NyaXB0JiY9KHRoaXMuc2NyaXB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5zY3JpcHQpLG51bGwpLHRoaXMuZm9ybSYmKHRoaXMuZm9ybS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZm9ybSksdGhpcy5mb3JtPW51bGwsdGhpcy5pZnJhbWU9bnVsbCksbi5wcm90b3R5cGUuZG9DbG9zZS5jYWxsKHRoaXMpfSxsLnByb3RvdHlwZS5kb1BvbGw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgc2NyaXB0YCk7dGhpcy5zY3JpcHQmJj0odGhpcy5zY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnNjcmlwdCksbnVsbCksdC5hc3luYz0hMCx0LnNyYz10aGlzLnVyaSgpLHQub25lcnJvcj1mdW5jdGlvbih0KXtlLm9uRXJyb3IoYGpzb25wIHBvbGwgZXJyb3JgLHQpfTt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgc2NyaXB0YClbMF07bj9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsbik6KGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHQpLHRoaXMuc2NyaXB0PXQsdHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9nZWNrby9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSl9LDEwMCl9LGwucHJvdG90eXBlLmRvV3JpdGU9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO2lmKCF0aGlzLmZvcm0pe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYGZvcm1gKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYHRleHRhcmVhYCkscz10aGlzLmlmcmFtZUlkPWBlaW9faWZyYW1lX2ArdGhpcy5pbmRleCxjO3IuY2xhc3NOYW1lPWBzb2NrZXRpb2Asci5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHIuc3R5bGUudG9wPWAtMTAwMHB4YCxyLnN0eWxlLmxlZnQ9YC0xMDAwcHhgLHIudGFyZ2V0PXMsci5tZXRob2Q9YFBPU1RgLHIuc2V0QXR0cmlidXRlKGBhY2NlcHQtY2hhcnNldGAsYHV0Zi04YCksaS5uYW1lPWBkYCxyLmFwcGVuZENoaWxkKGkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQociksdGhpcy5mb3JtPXIsdGhpcy5hcmVhPWl9dGhpcy5mb3JtLmFjdGlvbj10aGlzLnVyaSgpO2Z1bmN0aW9uIGwoKXt1KCksdCgpfWZ1bmN0aW9uIHUoKXtpZihuLmlmcmFtZSl0cnl7bi5mb3JtLnJlbW92ZUNoaWxkKG4uaWZyYW1lKX1jYXRjaChlKXtuLm9uRXJyb3IoYGpzb25wIHBvbGxpbmcgaWZyYW1lIHJlbW92YWwgZXJyb3JgLGUpfXRyeXt2YXIgZT1gPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6MCIgbmFtZT0iYCtuLmlmcmFtZUlkK2AiPmA7Yz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpfWNhdGNoe2M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaWZyYW1lYCksYy5uYW1lPW4uaWZyYW1lSWQsYy5zcmM9YGphdmFzY3JpcHQ6MGB9Yy5pZD1uLmlmcmFtZUlkLG4uZm9ybS5hcHBlbmRDaGlsZChjKSxuLmlmcmFtZT1jfXUoKSxlPWUucmVwbGFjZShvLGBcXApgKSx0aGlzLmFyZWEudmFsdWU9ZS5yZXBsYWNlKGEsYFxcbmApO3RyeXt0aGlzLmZvcm0uc3VibWl0KCl9Y2F0Y2h7fXRoaXMuaWZyYW1lLmF0dGFjaEV2ZW50P3RoaXMuaWZyYW1lLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe24uaWZyYW1lLnJlYWR5U3RhdGU9PT1gY29tcGxldGVgJiZsKCl9OnRoaXMuaWZyYW1lLm9ubG9hZD1sfX0pKSxhYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz17fX0pKSxvYz1zKCgoZSx0KT0+e3ZhciBuPVFzKCkscj1acygpLGk9JHMoKSxhPWVjKCksbz10YygpLHM9RnMoKShgZW5naW5lLmlvLWNsaWVudDp3ZWJzb2NrZXRgKSxjLGw7aWYodHlwZW9mIFdlYlNvY2tldDxgdWA/Yz1XZWJTb2NrZXQ6dHlwZW9mIHNlbGY8YHVgJiYoYz1zZWxmLldlYlNvY2tldHx8c2VsZi5Nb3pXZWJTb2NrZXQpLHR5cGVvZiB3aW5kb3c+YHVgKXRyeXtsPWFjKCl9Y2F0Y2h7fXZhciB1PWN8fGw7dC5leHBvcnRzPWQ7ZnVuY3Rpb24gZChlKXtlJiZlLmZvcmNlQmFzZTY0JiYodGhpcy5zdXBwb3J0c0JpbmFyeT0hMSksdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZT1lLnBlck1lc3NhZ2VEZWZsYXRlLHRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0PWMmJiFlLmZvcmNlTm9kZSx0aGlzLnByb3RvY29scz1lLnByb3RvY29scyx0aGlzLnVzaW5nQnJvd3NlcldlYlNvY2tldHx8KHU9bCksbi5jYWxsKHRoaXMsZSl9YShkLG4pLGQucHJvdG90eXBlLm5hbWU9YHdlYnNvY2tldGAsZC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITAsZC5wcm90b3R5cGUuZG9PcGVuPWZ1bmN0aW9uKCl7aWYodGhpcy5jaGVjaygpKXt2YXIgZT10aGlzLnVyaSgpLHQ9dGhpcy5wcm90b2NvbHMsbj17fTt0aGlzLmlzUmVhY3ROYXRpdmV8fChuLmFnZW50PXRoaXMuYWdlbnQsbi5wZXJNZXNzYWdlRGVmbGF0ZT10aGlzLnBlck1lc3NhZ2VEZWZsYXRlLG4ucGZ4PXRoaXMucGZ4LG4ua2V5PXRoaXMua2V5LG4ucGFzc3BocmFzZT10aGlzLnBhc3NwaHJhc2Usbi5jZXJ0PXRoaXMuY2VydCxuLmNhPXRoaXMuY2Esbi5jaXBoZXJzPXRoaXMuY2lwaGVycyxuLnJlamVjdFVuYXV0aG9yaXplZD10aGlzLnJlamVjdFVuYXV0aG9yaXplZCksdGhpcy5leHRyYUhlYWRlcnMmJihuLmhlYWRlcnM9dGhpcy5leHRyYUhlYWRlcnMpLHRoaXMubG9jYWxBZGRyZXNzJiYobi5sb2NhbEFkZHJlc3M9dGhpcy5sb2NhbEFkZHJlc3MpO3RyeXt0aGlzLndzPXRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0JiYhdGhpcy5pc1JlYWN0TmF0aXZlP3Q/bmV3IHUoZSx0KTpuZXcgdShlKTpuZXcgdShlLHQsbil9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuZW1pdChgZXJyb3JgLGUpfXRoaXMud3MuYmluYXJ5VHlwZT09PXZvaWQgMCYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLHRoaXMud3Muc3VwcG9ydHMmJnRoaXMud3Muc3VwcG9ydHMuYmluYXJ5Pyh0aGlzLnN1cHBvcnRzQmluYXJ5PSEwLHRoaXMud3MuYmluYXJ5VHlwZT1gbm9kZWJ1ZmZlcmApOnRoaXMud3MuYmluYXJ5VHlwZT1gYXJyYXlidWZmZXJgLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoKX19LGQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLndzLm9ub3Blbj1mdW5jdGlvbigpe2Uub25PcGVuKCl9LHRoaXMud3Mub25jbG9zZT1mdW5jdGlvbigpe2Uub25DbG9zZSgpfSx0aGlzLndzLm9ubWVzc2FnZT1mdW5jdGlvbih0KXtlLm9uRGF0YSh0LmRhdGEpfSx0aGlzLndzLm9uZXJyb3I9ZnVuY3Rpb24odCl7ZS5vbkVycm9yKGB3ZWJzb2NrZXQgZXJyb3JgLHQpfX0sZC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLndyaXRhYmxlPSExO2Zvcih2YXIgbj1lLmxlbmd0aCxpPTAsYT1uO2k8YTtpKyspKGZ1bmN0aW9uKGUpe3IuZW5jb2RlUGFja2V0KGUsdC5zdXBwb3J0c0JpbmFyeSxmdW5jdGlvbihyKXtpZighdC51c2luZ0Jyb3dzZXJXZWJTb2NrZXQpe3ZhciBpPXt9O2Uub3B0aW9ucyYmKGkuY29tcHJlc3M9ZS5vcHRpb25zLmNvbXByZXNzKSx0LnBlck1lc3NhZ2VEZWZsYXRlJiYodHlwZW9mIHI9PWBzdHJpbmdgP0J1ZmZlci5ieXRlTGVuZ3RoKHIpOnIubGVuZ3RoKTx0LnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZCYmKGkuY29tcHJlc3M9ITEpfXRyeXt0LnVzaW5nQnJvd3NlcldlYlNvY2tldD90LndzLnNlbmQocik6dC53cy5zZW5kKHIsaSl9Y2F0Y2h7cyhgd2Vic29ja2V0IGNsb3NlZCBiZWZvcmUgb25jbG9zZSBldmVudGApfS0tbnx8bygpfSl9KShlW2ldKTtmdW5jdGlvbiBvKCl7dC5lbWl0KGBmbHVzaGApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LndyaXRhYmxlPSEwLHQuZW1pdChgZHJhaW5gKX0sMCl9fSxkLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUub25DbG9zZS5jYWxsKHRoaXMpfSxkLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dGhpcy53cyE9PXZvaWQgMCYmdGhpcy53cy5jbG9zZSgpfSxkLnByb3RvdHlwZS51cmk9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnF1ZXJ5fHx7fSx0PXRoaXMuc2VjdXJlP2B3c3NgOmB3c2Asbj1gYDt0aGlzLnBvcnQmJih0PT09YHdzc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YHdzYCYmTnVtYmVyKHRoaXMucG9ydCkhPT04MCkmJihuPWA6YCt0aGlzLnBvcnQpLHRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksdGhpcy5zdXBwb3J0c0JpbmFyeXx8KGUuYjY0PTEpLGU9aS5lbmNvZGUoZSksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgcj10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhyP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfSxkLnByb3RvdHlwZS5jaGVjaz1mdW5jdGlvbigpe3JldHVybiEhdSYmIShgX19pbml0aWFsaXplYGluIHUmJnRoaXMubmFtZT09PWQucHJvdG90eXBlLm5hbWUpfX0pKSxzYz1zKChlPT57dmFyIHQ9VXMoKSxuPXJjKCkscj1pYygpLGk9b2MoKTtlLnBvbGxpbmc9YSxlLndlYnNvY2tldD1pO2Z1bmN0aW9uIGEoZSl7dmFyIGksYT0hMSxvPSExLHM9ITEhPT1lLmpzb25wO2lmKHR5cGVvZiBsb2NhdGlvbjxgdWApe3ZhciBjPWxvY2F0aW9uLnByb3RvY29sPT09YGh0dHBzOmAsbD1sb2NhdGlvbi5wb3J0O2x8fD1jPzQ0Mzo4MCxhPWUuaG9zdG5hbWUhPT1sb2NhdGlvbi5ob3N0bmFtZXx8bCE9PWUucG9ydCxvPWUuc2VjdXJlIT09Y31pZihlLnhkb21haW49YSxlLnhzY2hlbWU9byxpPW5ldyB0KGUpLGBvcGVuYGluIGkmJiFlLmZvcmNlSlNPTlApcmV0dXJuIG5ldyBuKGUpO2lmKCFzKXRocm93IEVycm9yKGBKU09OUCBkaXNhYmxlZGApO3JldHVybiBuZXcgcihlKX19KSksY2M9cygoKGUsdCk9Pnt2YXIgbj1bXS5pbmRleE9mO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKG4pcmV0dXJuIGUuaW5kZXhPZih0KTtmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrcilpZihlW3JdPT09dClyZXR1cm4gcjtyZXR1cm4tMX19KSksbGM9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsbz1lLmluZGV4T2YoYFtgKSxzPWUuaW5kZXhPZihgXWApO28hPS0xJiZzIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxvKStlLnN1YnN0cmluZyhvLHMpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKHMsZS5sZW5ndGgpKTtmb3IodmFyIGM9bi5leGVjKGV8fGBgKSxsPXt9LHU9MTQ7dS0tOylsW3JbdV1dPWNbdV18fGBgO3JldHVybiBvIT0tMSYmcyE9LTEmJihsLnNvdXJjZT10LGwuaG9zdD1sLmhvc3Quc3Vic3RyaW5nKDEsbC5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxsLmF1dGhvcml0eT1sLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLGwuaXB2NnVyaT0hMCksbC5wYXRoTmFtZXM9aShsLGwucGF0aCksbC5xdWVyeUtleT1hKGwsbC5xdWVyeSksbH07ZnVuY3Rpb24gaShlLHQpe3ZhciBuPXQucmVwbGFjZSgvXC97Miw5fS9nLGAvYCkuc3BsaXQoYC9gKTtyZXR1cm4odC5zdWJzdHIoMCwxKT09YC9gfHx0Lmxlbmd0aD09PTApJiZuLnNwbGljZSgwLDEpLHQuc3Vic3RyKHQubGVuZ3RoLTEsMSk9PWAvYCYmbi5zcGxpY2Uobi5sZW5ndGgtMSwxKSxufWZ1bmN0aW9uIGEoZSx0KXt2YXIgbj17fTtyZXR1cm4gdC5yZXBsYWNlKC8oPzpefCYpKFteJj1dKik9PyhbXiZdKikvZyxmdW5jdGlvbihlLHQscil7dCYmKG5bdF09cil9KSxufX0pKSx1Yz1zKCgoZSx0KT0+e3ZhciBuPXNjKCkscj1JcygpLGk9RnMoKShgZW5naW5lLmlvLWNsaWVudDpzb2NrZXRgKSxhPWNjKCksbz1acygpLHM9bGMoKSxjPSRzKCk7dC5leHBvcnRzPWw7ZnVuY3Rpb24gbChlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXJldHVybiBuZXcgbChlLHQpO3R8fD17fSxlJiZ0eXBlb2YgZT09YG9iamVjdGAmJih0PWUsZT1udWxsKSxlPyhlPXMoZSksdC5ob3N0bmFtZT1lLmhvc3QsdC5zZWN1cmU9ZS5wcm90b2NvbD09PWBodHRwc2B8fGUucHJvdG9jb2w9PT1gd3NzYCx0LnBvcnQ9ZS5wb3J0LGUucXVlcnkmJih0LnF1ZXJ5PWUucXVlcnkpKTp0Lmhvc3QmJih0Lmhvc3RuYW1lPXModC5ob3N0KS5ob3N0KSx0aGlzLnNlY3VyZT10LnNlY3VyZT09bnVsbD90eXBlb2YgbG9jYXRpb248YHVgJiZsb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgOnQuc2VjdXJlLHQuaG9zdG5hbWUmJiF0LnBvcnQmJih0LnBvcnQ9dGhpcy5zZWN1cmU/YDQ0M2A6YDgwYCksdGhpcy5hZ2VudD10LmFnZW50fHwhMSx0aGlzLmhvc3RuYW1lPXQuaG9zdG5hbWV8fCh0eXBlb2YgbG9jYXRpb248YHVgP2xvY2F0aW9uLmhvc3RuYW1lOmBsb2NhbGhvc3RgKSx0aGlzLnBvcnQ9dC5wb3J0fHwodHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24ucG9ydD9sb2NhdGlvbi5wb3J0OnRoaXMuc2VjdXJlPzQ0Mzo4MCksdGhpcy5xdWVyeT10LnF1ZXJ5fHx7fSx0eXBlb2YgdGhpcy5xdWVyeT09YHN0cmluZ2AmJih0aGlzLnF1ZXJ5PWMuZGVjb2RlKHRoaXMucXVlcnkpKSx0aGlzLnVwZ3JhZGU9ITEhPT10LnVwZ3JhZGUsdGhpcy5wYXRoPSh0LnBhdGh8fGAvZW5naW5lLmlvYCkucmVwbGFjZSgvXC8kLyxgYCkrYC9gLHRoaXMuZm9yY2VKU09OUD0hIXQuZm9yY2VKU09OUCx0aGlzLmpzb25wPSExIT09dC5qc29ucCx0aGlzLmZvcmNlQmFzZTY0PSEhdC5mb3JjZUJhc2U2NCx0aGlzLmVuYWJsZXNYRFI9ISF0LmVuYWJsZXNYRFIsdGhpcy53aXRoQ3JlZGVudGlhbHM9ITEhPT10LndpdGhDcmVkZW50aWFscyx0aGlzLnRpbWVzdGFtcFBhcmFtPXQudGltZXN0YW1wUGFyYW18fGB0YCx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPXQudGltZXN0YW1wUmVxdWVzdHMsdGhpcy50cmFuc3BvcnRzPXQudHJhbnNwb3J0c3x8W2Bwb2xsaW5nYCxgd2Vic29ja2V0YF0sdGhpcy50cmFuc3BvcnRPcHRpb25zPXQudHJhbnNwb3J0T3B0aW9uc3x8e30sdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMud3JpdGVCdWZmZXI9W10sdGhpcy5wcmV2QnVmZmVyTGVuPTAsdGhpcy5wb2xpY3lQb3J0PXQucG9saWN5UG9ydHx8ODQzLHRoaXMucmVtZW1iZXJVcGdyYWRlPXQucmVtZW1iZXJVcGdyYWRlfHwhMSx0aGlzLmJpbmFyeVR5cGU9bnVsbCx0aGlzLm9ubHlCaW5hcnlVcGdyYWRlcz10Lm9ubHlCaW5hcnlVcGdyYWRlcyx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPSExPT09dC5wZXJNZXNzYWdlRGVmbGF0ZT8hMTp0LnBlck1lc3NhZ2VEZWZsYXRlfHx7fSwhMD09PXRoaXMucGVyTWVzc2FnZURlZmxhdGUmJih0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPXt9KSx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlJiZ0aGlzLnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZD09bnVsbCYmKHRoaXMucGVyTWVzc2FnZURlZmxhdGUudGhyZXNob2xkPTEwMjQpLHRoaXMucGZ4PXQucGZ4fHxudWxsLHRoaXMua2V5PXQua2V5fHxudWxsLHRoaXMucGFzc3BocmFzZT10LnBhc3NwaHJhc2V8fG51bGwsdGhpcy5jZXJ0PXQuY2VydHx8bnVsbCx0aGlzLmNhPXQuY2F8fG51bGwsdGhpcy5jaXBoZXJzPXQuY2lwaGVyc3x8bnVsbCx0aGlzLnJlamVjdFVuYXV0aG9yaXplZD10LnJlamVjdFVuYXV0aG9yaXplZD09PXZvaWQgMD8hMDp0LnJlamVjdFVuYXV0aG9yaXplZCx0aGlzLmZvcmNlTm9kZT0hIXQuZm9yY2VOb2RlLHRoaXMuaXNSZWFjdE5hdGl2ZT10eXBlb2YgbmF2aWdhdG9yPGB1YCYmdHlwZW9mIG5hdmlnYXRvci5wcm9kdWN0PT1gc3RyaW5nYCYmbmF2aWdhdG9yLnByb2R1Y3QudG9Mb3dlckNhc2UoKT09PWByZWFjdG5hdGl2ZWAsKHR5cGVvZiBzZWxmPmB1YHx8dGhpcy5pc1JlYWN0TmF0aXZlKSYmKHQuZXh0cmFIZWFkZXJzJiZPYmplY3Qua2V5cyh0LmV4dHJhSGVhZGVycykubGVuZ3RoPjAmJih0aGlzLmV4dHJhSGVhZGVycz10LmV4dHJhSGVhZGVycyksdC5sb2NhbEFkZHJlc3MmJih0aGlzLmxvY2FsQWRkcmVzcz10LmxvY2FsQWRkcmVzcykpLHRoaXMuaWQ9bnVsbCx0aGlzLnVwZ3JhZGVzPW51bGwsdGhpcy5waW5nSW50ZXJ2YWw9bnVsbCx0aGlzLnBpbmdUaW1lb3V0PW51bGwsdGhpcy5waW5nSW50ZXJ2YWxUaW1lcj1udWxsLHRoaXMucGluZ1RpbWVvdXRUaW1lcj1udWxsLHRoaXMub3BlbigpfWwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPSExLHIobC5wcm90b3R5cGUpLGwucHJvdG9jb2w9by5wcm90b2NvbCxsLlNvY2tldD1sLGwuVHJhbnNwb3J0PVFzKCksbC50cmFuc3BvcnRzPXNjKCksbC5wYXJzZXI9WnMoKSxsLnByb3RvdHlwZS5jcmVhdGVUcmFuc3BvcnQ9ZnVuY3Rpb24oZSl7aShgY3JlYXRpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXUodGhpcy5xdWVyeSk7dC5FSU89by5wcm90b2NvbCx0LnRyYW5zcG9ydD1lO3ZhciByPXRoaXMudHJhbnNwb3J0T3B0aW9uc1tlXXx8e307cmV0dXJuIHRoaXMuaWQmJih0LnNpZD10aGlzLmlkKSxuZXcgbltlXSh7cXVlcnk6dCxzb2NrZXQ6dGhpcyxhZ2VudDpyLmFnZW50fHx0aGlzLmFnZW50LGhvc3RuYW1lOnIuaG9zdG5hbWV8fHRoaXMuaG9zdG5hbWUscG9ydDpyLnBvcnR8fHRoaXMucG9ydCxzZWN1cmU6ci5zZWN1cmV8fHRoaXMuc2VjdXJlLHBhdGg6ci5wYXRofHx0aGlzLnBhdGgsZm9yY2VKU09OUDpyLmZvcmNlSlNPTlB8fHRoaXMuZm9yY2VKU09OUCxqc29ucDpyLmpzb25wfHx0aGlzLmpzb25wLGZvcmNlQmFzZTY0OnIuZm9yY2VCYXNlNjR8fHRoaXMuZm9yY2VCYXNlNjQsZW5hYmxlc1hEUjpyLmVuYWJsZXNYRFJ8fHRoaXMuZW5hYmxlc1hEUix3aXRoQ3JlZGVudGlhbHM6ci53aXRoQ3JlZGVudGlhbHN8fHRoaXMud2l0aENyZWRlbnRpYWxzLHRpbWVzdGFtcFJlcXVlc3RzOnIudGltZXN0YW1wUmVxdWVzdHN8fHRoaXMudGltZXN0YW1wUmVxdWVzdHMsdGltZXN0YW1wUGFyYW06ci50aW1lc3RhbXBQYXJhbXx8dGhpcy50aW1lc3RhbXBQYXJhbSxwb2xpY3lQb3J0OnIucG9saWN5UG9ydHx8dGhpcy5wb2xpY3lQb3J0LHBmeDpyLnBmeHx8dGhpcy5wZngsa2V5OnIua2V5fHx0aGlzLmtleSxwYXNzcGhyYXNlOnIucGFzc3BocmFzZXx8dGhpcy5wYXNzcGhyYXNlLGNlcnQ6ci5jZXJ0fHx0aGlzLmNlcnQsY2E6ci5jYXx8dGhpcy5jYSxjaXBoZXJzOnIuY2lwaGVyc3x8dGhpcy5jaXBoZXJzLHJlamVjdFVuYXV0aG9yaXplZDpyLnJlamVjdFVuYXV0aG9yaXplZHx8dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQscGVyTWVzc2FnZURlZmxhdGU6ci5wZXJNZXNzYWdlRGVmbGF0ZXx8dGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSxleHRyYUhlYWRlcnM6ci5leHRyYUhlYWRlcnN8fHRoaXMuZXh0cmFIZWFkZXJzLGZvcmNlTm9kZTpyLmZvcmNlTm9kZXx8dGhpcy5mb3JjZU5vZGUsbG9jYWxBZGRyZXNzOnIubG9jYWxBZGRyZXNzfHx0aGlzLmxvY2FsQWRkcmVzcyxyZXF1ZXN0VGltZW91dDpyLnJlcXVlc3RUaW1lb3V0fHx0aGlzLnJlcXVlc3RUaW1lb3V0LHByb3RvY29sczpyLnByb3RvY29sc3x8dm9pZCAwLGlzUmVhY3ROYXRpdmU6dGhpcy5pc1JlYWN0TmF0aXZlfSl9O2Z1bmN0aW9uIHUoZSl7dmFyIHQ9e307Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHR9bC5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlO2lmKHRoaXMucmVtZW1iZXJVcGdyYWRlJiZsLnByaW9yV2Vic29ja2V0U3VjY2VzcyYmdGhpcy50cmFuc3BvcnRzLmluZGV4T2YoYHdlYnNvY2tldGApIT09LTEpZT1gd2Vic29ja2V0YDtlbHNlIGlmKHRoaXMudHJhbnNwb3J0cy5sZW5ndGg9PT0wKXt2YXIgdD10aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmVtaXQoYGVycm9yYCxgTm8gdHJhbnNwb3J0cyBhdmFpbGFibGVgKX0sMCk7cmV0dXJufWVsc2UgZT10aGlzLnRyYW5zcG9ydHNbMF07dGhpcy5yZWFkeVN0YXRlPWBvcGVuaW5nYDt0cnl7ZT10aGlzLmNyZWF0ZVRyYW5zcG9ydChlKX1jYXRjaHt0aGlzLnRyYW5zcG9ydHMuc2hpZnQoKSx0aGlzLm9wZW4oKTtyZXR1cm59ZS5vcGVuKCksdGhpcy5zZXRUcmFuc3BvcnQoZSl9LGwucHJvdG90eXBlLnNldFRyYW5zcG9ydD1mdW5jdGlvbihlKXtpKGBzZXR0aW5nIHRyYW5zcG9ydCAlc2AsZS5uYW1lKTt2YXIgdD10aGlzO3RoaXMudHJhbnNwb3J0JiYoaShgY2xlYXJpbmcgZXhpc3RpbmcgdHJhbnNwb3J0ICVzYCx0aGlzLnRyYW5zcG9ydC5uYW1lKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSksdGhpcy50cmFuc3BvcnQ9ZSxlLm9uKGBkcmFpbmAsZnVuY3Rpb24oKXt0Lm9uRHJhaW4oKX0pLm9uKGBwYWNrZXRgLGZ1bmN0aW9uKGUpe3Qub25QYWNrZXQoZSl9KS5vbihgZXJyb3JgLGZ1bmN0aW9uKGUpe3Qub25FcnJvcihlKX0pLm9uKGBjbG9zZWAsZnVuY3Rpb24oKXt0Lm9uQ2xvc2UoYHRyYW5zcG9ydCBjbG9zZWApfSl9LGwucHJvdG90eXBlLnByb2JlPWZ1bmN0aW9uKGUpe2koYHByb2JpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXRoaXMuY3JlYXRlVHJhbnNwb3J0KGUse3Byb2JlOjF9KSxuPSExLHI9dGhpcztsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz0hMTtmdW5jdGlvbiBhKCl7aWYoci5vbmx5QmluYXJ5VXBncmFkZXMpe3ZhciBhPSF0aGlzLnN1cHBvcnRzQmluYXJ5JiZyLnRyYW5zcG9ydC5zdXBwb3J0c0JpbmFyeTtufHw9YX1ufHwoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgb3BlbmVkYCxlKSx0LnNlbmQoW3t0eXBlOmBwaW5nYCxkYXRhOmBwcm9iZWB9XSksdC5vbmNlKGBwYWNrZXRgLGZ1bmN0aW9uKGEpe2lmKCFuKWlmKGEudHlwZT09PWBwb25nYCYmYS5kYXRhPT09YHByb2JlYCl7aWYoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgcG9uZ2AsZSksci51cGdyYWRpbmc9ITAsci5lbWl0KGB1cGdyYWRpbmdgLHQpLCF0KXJldHVybjtsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz10Lm5hbWU9PT1gd2Vic29ja2V0YCxpKGBwYXVzaW5nIGN1cnJlbnQgdHJhbnNwb3J0ICIlcyJgLHIudHJhbnNwb3J0Lm5hbWUpLHIudHJhbnNwb3J0LnBhdXNlKGZ1bmN0aW9uKCl7bnx8ci5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJihpKGBjaGFuZ2luZyB0cmFuc3BvcnQgYW5kIHNlbmRpbmcgdXBncmFkZSBwYWNrZXRgKSxmKCksci5zZXRUcmFuc3BvcnQodCksdC5zZW5kKFt7dHlwZTpgdXBncmFkZWB9XSksci5lbWl0KGB1cGdyYWRlYCx0KSx0PW51bGwsci51cGdyYWRpbmc9ITEsci5mbHVzaCgpKX0pfWVsc2V7aShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkYCxlKTt2YXIgbz1FcnJvcihgcHJvYmUgZXJyb3JgKTtvLnRyYW5zcG9ydD10Lm5hbWUsci5lbWl0KGB1cGdyYWRlRXJyb3JgLG8pfX0pKX1mdW5jdGlvbiBvKCl7bnx8KG49ITAsZigpLHQuY2xvc2UoKSx0PW51bGwpfWZ1bmN0aW9uIHMobil7dmFyIGE9RXJyb3IoYHByb2JlIGVycm9yOiBgK24pO2EudHJhbnNwb3J0PXQubmFtZSxvKCksaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkIGJlY2F1c2Ugb2YgZXJyb3I6ICVzYCxlLG4pLHIuZW1pdChgdXBncmFkZUVycm9yYCxhKX1mdW5jdGlvbiBjKCl7cyhgdHJhbnNwb3J0IGNsb3NlZGApfWZ1bmN0aW9uIHUoKXtzKGBzb2NrZXQgY2xvc2VkYCl9ZnVuY3Rpb24gZChlKXt0JiZlLm5hbWUhPT10Lm5hbWUmJihpKGAiJXMiIHdvcmtzIC0gYWJvcnRpbmcgIiVzImAsZS5uYW1lLHQubmFtZSksbygpKX1mdW5jdGlvbiBmKCl7dC5yZW1vdmVMaXN0ZW5lcihgb3BlbmAsYSksdC5yZW1vdmVMaXN0ZW5lcihgZXJyb3JgLHMpLHQucmVtb3ZlTGlzdGVuZXIoYGNsb3NlYCxjKSxyLnJlbW92ZUxpc3RlbmVyKGBjbG9zZWAsdSksci5yZW1vdmVMaXN0ZW5lcihgdXBncmFkaW5nYCxkKX10Lm9uY2UoYG9wZW5gLGEpLHQub25jZShgZXJyb3JgLHMpLHQub25jZShgY2xvc2VgLGMpLHRoaXMub25jZShgY2xvc2VgLHUpLHRoaXMub25jZShgdXBncmFkaW5nYCxkKSx0Lm9wZW4oKX0sbC5wcm90b3R5cGUub25PcGVuPWZ1bmN0aW9uKCl7aWYoaShgc29ja2V0IG9wZW5gKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLGwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPXRoaXMudHJhbnNwb3J0Lm5hbWU9PT1gd2Vic29ja2V0YCx0aGlzLmVtaXQoYG9wZW5gKSx0aGlzLmZsdXNoKCksdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gJiZ0aGlzLnVwZ3JhZGUmJnRoaXMudHJhbnNwb3J0LnBhdXNlKXtpKGBzdGFydGluZyB1cGdyYWRlIHByb2Jlc2ApO2Zvcih2YXIgZT0wLHQ9dGhpcy51cGdyYWRlcy5sZW5ndGg7ZTx0O2UrKyl0aGlzLnByb2JlKHRoaXMudXBncmFkZXNbZV0pfX0sbC5wcm90b3R5cGUub25QYWNrZXQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYClzd2l0Y2goaShgc29ja2V0IHJlY2VpdmU6IHR5cGUgIiVzIiwgZGF0YSAiJXMiYCxlLnR5cGUsZS5kYXRhKSx0aGlzLmVtaXQoYHBhY2tldGAsZSksdGhpcy5lbWl0KGBoZWFydGJlYXRgKSxlLnR5cGUpe2Nhc2Vgb3BlbmA6dGhpcy5vbkhhbmRzaGFrZShKU09OLnBhcnNlKGUuZGF0YSkpO2JyZWFrO2Nhc2VgcG9uZ2A6dGhpcy5zZXRQaW5nKCksdGhpcy5lbWl0KGBwb25nYCk7YnJlYWs7Y2FzZWBlcnJvcmA6dmFyIHQ9RXJyb3IoYHNlcnZlciBlcnJvcmApO3QuY29kZT1lLmRhdGEsdGhpcy5vbkVycm9yKHQpO2JyZWFrO2Nhc2VgbWVzc2FnZWA6dGhpcy5lbWl0KGBkYXRhYCxlLmRhdGEpLHRoaXMuZW1pdChgbWVzc2FnZWAsZS5kYXRhKTticmVha31lbHNlIGkoYHBhY2tldCByZWNlaXZlZCB3aXRoIHNvY2tldCByZWFkeVN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSl9LGwucHJvdG90eXBlLm9uSGFuZHNoYWtlPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgaGFuZHNoYWtlYCxlKSx0aGlzLmlkPWUuc2lkLHRoaXMudHJhbnNwb3J0LnF1ZXJ5LnNpZD1lLnNpZCx0aGlzLnVwZ3JhZGVzPXRoaXMuZmlsdGVyVXBncmFkZXMoZS51cGdyYWRlcyksdGhpcy5waW5nSW50ZXJ2YWw9ZS5waW5nSW50ZXJ2YWwsdGhpcy5waW5nVGltZW91dD1lLnBpbmdUaW1lb3V0LHRoaXMub25PcGVuKCksdGhpcy5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJih0aGlzLnNldFBpbmcoKSx0aGlzLnJlbW92ZUxpc3RlbmVyKGBoZWFydGJlYXRgLHRoaXMub25IZWFydGJlYXQpLHRoaXMub24oYGhlYXJ0YmVhdGAsdGhpcy5vbkhlYXJ0YmVhdCkpfSxsLnByb3RvdHlwZS5vbkhlYXJ0YmVhdD1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKTt2YXIgdD10aGlzO3QucGluZ1RpbWVvdXRUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJnQub25DbG9zZShgcGluZyB0aW1lb3V0YCl9LGV8fHQucGluZ0ludGVydmFsK3QucGluZ1RpbWVvdXQpfSxsLnByb3RvdHlwZS5zZXRQaW5nPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztjbGVhclRpbWVvdXQoZS5waW5nSW50ZXJ2YWxUaW1lciksZS5waW5nSW50ZXJ2YWxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aShgd3JpdGluZyBwaW5nIHBhY2tldCAtIGV4cGVjdGluZyBwb25nIHdpdGhpbiAlc21zYCxlLnBpbmdUaW1lb3V0KSxlLnBpbmcoKSxlLm9uSGVhcnRiZWF0KGUucGluZ1RpbWVvdXQpfSxlLnBpbmdJbnRlcnZhbCl9LGwucHJvdG90eXBlLnBpbmc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuc2VuZFBhY2tldChgcGluZ2AsZnVuY3Rpb24oKXtlLmVtaXQoYHBpbmdgKX0pfSxsLnByb3RvdHlwZS5vbkRyYWluPWZ1bmN0aW9uKCl7dGhpcy53cml0ZUJ1ZmZlci5zcGxpY2UoMCx0aGlzLnByZXZCdWZmZXJMZW4pLHRoaXMucHJldkJ1ZmZlckxlbj0wLHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoPT09MD90aGlzLmVtaXQoYGRyYWluYCk6dGhpcy5mbHVzaCgpfSxsLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZSE9PWBjbG9zZWRgJiZ0aGlzLnRyYW5zcG9ydC53cml0YWJsZSYmIXRoaXMudXBncmFkaW5nJiZ0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCYmKGkoYGZsdXNoaW5nICVkIHBhY2tldHMgaW4gc29ja2V0YCx0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCksdGhpcy50cmFuc3BvcnQuc2VuZCh0aGlzLndyaXRlQnVmZmVyKSx0aGlzLnByZXZCdWZmZXJMZW49dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgsdGhpcy5lbWl0KGBmbHVzaGApKX0sbC5wcm90b3R5cGUud3JpdGU9bC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuc2VuZFBhY2tldChgbWVzc2FnZWAsZSx0LG4pLHRoaXN9LGwucHJvdG90eXBlLnNlbmRQYWNrZXQ9ZnVuY3Rpb24oZSx0LG4scil7aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmAmJihyPXQsdD12b2lkIDApLHR5cGVvZiBuPT1gZnVuY3Rpb25gJiYocj1uLG49bnVsbCksISh0aGlzLnJlYWR5U3RhdGU9PT1gY2xvc2luZ2B8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgKSl7bnx8PXt9LG4uY29tcHJlc3M9ITEhPT1uLmNvbXByZXNzO3ZhciBpPXt0eXBlOmUsZGF0YTp0LG9wdGlvbnM6bn07dGhpcy5lbWl0KGBwYWNrZXRDcmVhdGVgLGkpLHRoaXMud3JpdGVCdWZmZXIucHVzaChpKSxyJiZ0aGlzLm9uY2UoYGZsdXNoYCxyKSx0aGlzLmZsdXNoKCl9fSxsLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKXt0aGlzLnJlYWR5U3RhdGU9YGNsb3NpbmdgO3ZhciBlPXRoaXM7dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGg/dGhpcy5vbmNlKGBkcmFpbmAsZnVuY3Rpb24oKXt0aGlzLnVwZ3JhZGluZz9yKCk6dCgpfSk6dGhpcy51cGdyYWRpbmc/cigpOnQoKX1mdW5jdGlvbiB0KCl7ZS5vbkNsb3NlKGBmb3JjZWQgY2xvc2VgKSxpKGBzb2NrZXQgY2xvc2luZyAtIHRlbGxpbmcgdHJhbnNwb3J0IHRvIGNsb3NlYCksZS50cmFuc3BvcnQuY2xvc2UoKX1mdW5jdGlvbiBuKCl7ZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZWAsbiksZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZUVycm9yYCxuKSx0KCl9ZnVuY3Rpb24gcigpe2Uub25jZShgdXBncmFkZWAsbiksZS5vbmNlKGB1cGdyYWRlRXJyb3JgLG4pfXJldHVybiB0aGlzfSxsLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUpe2koYHNvY2tldCBlcnJvciAlamAsZSksbC5wcmlvcldlYnNvY2tldFN1Y2Nlc3M9ITEsdGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5vbkNsb3NlKGB0cmFuc3BvcnQgZXJyb3JgLGUpfSxsLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYCl7aShgc29ja2V0IGNsb3NlIHdpdGggcmVhc29uOiAiJXMiYCxlKTt2YXIgbj10aGlzO2NsZWFyVGltZW91dCh0aGlzLnBpbmdJbnRlcnZhbFRpbWVyKSxjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoYGNsb3NlYCksdGhpcy50cmFuc3BvcnQuY2xvc2UoKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5pZD1udWxsLHRoaXMuZW1pdChgY2xvc2VgLGUsdCksbi53cml0ZUJ1ZmZlcj1bXSxuLnByZXZCdWZmZXJMZW49MH19LGwucHJvdG90eXBlLmZpbHRlclVwZ3JhZGVzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTAscj1lLmxlbmd0aDtuPHI7bisrKX5hKHRoaXMudHJhbnNwb3J0cyxlW25dKSYmdC5wdXNoKGVbbl0pO3JldHVybiB0fX0pKSxkYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz11YygpLHQuZXhwb3J0cy5wYXJzZXI9WnMoKX0pKSxmYz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gdGhpc30sbi5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihlKXt0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fTt2YXIgdD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxuPXRoaXMuX2NhbGxiYWNrc1tgJGArZV07aWYobil7bj1uLnNsaWNlKDApO2Zvcih2YXIgcj0wLGk9bi5sZW5ndGg7cjxpOysrciluW3JdLmFwcGx5KHRoaXMsdCl9cmV0dXJuIHRoaXN9LG4ucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sdGhpcy5fY2FsbGJhY2tzW2AkYCtlXXx8W119LG4ucHJvdG90eXBlLmhhc0xpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4hIXRoaXMubGlzdGVuZXJzKGUpLmxlbmd0aH19KSkscGM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUsdCl7dmFyIG49W107dHx8PTA7Zm9yKHZhciByPXR8fDA7cjxlLmxlbmd0aDtyKyspbltyLXRdPWVbcl07cmV0dXJuIG59fSkpLG1jPXMoKChlLHQpPT57dC5leHBvcnRzPW47ZnVuY3Rpb24gbihlLHQsbil7cmV0dXJuIGUub24odCxuKSx7ZGVzdHJveTpmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIodCxuKX19fX0pKSxoYz1zKCgoZSx0KT0+e3ZhciBuPVtdLnNsaWNlO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmKHQ9ZVt0XSksdHlwZW9mIHQhPWBmdW5jdGlvbmApdGhyb3cgRXJyb3IoYGJpbmQoKSByZXF1aXJlcyBhIGZ1bmN0aW9uYCk7dmFyIHI9bi5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLHIuY29uY2F0KG4uY2FsbChhcmd1bWVudHMpKSl9fX0pKSxnYz1zKChlPT57ZS5lbmNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9YGA7Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHQubGVuZ3RoJiYodCs9YCZgKSx0Kz1lbmNvZGVVUklDb21wb25lbnQobikrYD1gK2VuY29kZVVSSUNvbXBvbmVudChlW25dKSk7cmV0dXJuIHR9LGUuZGVjb2RlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD17fSxuPWUuc3BsaXQoYCZgKSxyPTAsaT1uLmxlbmd0aDtyPGk7cisrKXt2YXIgYT1uW3JdLnNwbGl0KGA9YCk7dFtkZWNvZGVVUklDb21wb25lbnQoYVswXSldPWRlY29kZVVSSUNvbXBvbmVudChhWzFdKX1yZXR1cm4gdH19KSksX2M9cygoKGUsdCk9Pnt2YXIgbj1CcygpLHI9ZmMoKSxpPXBjKCksYT1tYygpLG89aGMoKSxzPWpzKCkoYHNvY2tldC5pby1jbGllbnQ6c29ja2V0YCksYz1nYygpLGw9R3MoKTt0LmV4cG9ydHM9ZT1mO3ZhciB1PXtjb25uZWN0OjEsY29ubmVjdF9lcnJvcjoxLGNvbm5lY3RfdGltZW91dDoxLGNvbm5lY3Rpbmc6MSxkaXNjb25uZWN0OjEsZXJyb3I6MSxyZWNvbm5lY3Q6MSxyZWNvbm5lY3RfYXR0ZW1wdDoxLHJlY29ubmVjdF9mYWlsZWQ6MSxyZWNvbm5lY3RfZXJyb3I6MSxyZWNvbm5lY3Rpbmc6MSxwaW5nOjEscG9uZzoxfSxkPXIucHJvdG90eXBlLmVtaXQ7ZnVuY3Rpb24gZihlLHQsbil7dGhpcy5pbz1lLHRoaXMubnNwPXQsdGhpcy5qc29uPXRoaXMsdGhpcy5pZHM9MCx0aGlzLmFja3M9e30sdGhpcy5yZWNlaXZlQnVmZmVyPVtdLHRoaXMuc2VuZEJ1ZmZlcj1bXSx0aGlzLmNvbm5lY3RlZD0hMSx0aGlzLmRpc2Nvbm5lY3RlZD0hMCx0aGlzLmZsYWdzPXt9LG4mJm4ucXVlcnkmJih0aGlzLnF1ZXJ5PW4ucXVlcnkpLHRoaXMuaW8uYXV0b0Nvbm5lY3QmJnRoaXMub3BlbigpfXIoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnN1YkV2ZW50cz1mdW5jdGlvbigpe2lmKCF0aGlzLnN1YnMpe3ZhciBlPXRoaXMuaW87dGhpcy5zdWJzPVthKGUsYG9wZW5gLG8odGhpcyxgb25vcGVuYCkpLGEoZSxgcGFja2V0YCxvKHRoaXMsYG9ucGFja2V0YCkpLGEoZSxgY2xvc2VgLG8odGhpcyxgb25jbG9zZWApKV19fSxmLnByb3RvdHlwZS5vcGVuPWYucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0ZWQ/dGhpczoodGhpcy5zdWJFdmVudHMoKSx0aGlzLmlvLm9wZW4oKSx0aGlzLmlvLnJlYWR5U3RhdGU9PT1gb3BlbmAmJnRoaXMub25vcGVuKCksdGhpcy5lbWl0KGBjb25uZWN0aW5nYCksdGhpcyl9LGYucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1pKGFyZ3VtZW50cyk7cmV0dXJuIGUudW5zaGlmdChgbWVzc2FnZWApLHRoaXMuZW1pdC5hcHBseSh0aGlzLGUpLHRoaXN9LGYucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSl7aWYodS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gZC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpczt2YXIgdD1pKGFyZ3VtZW50cykscj17dHlwZToodGhpcy5mbGFncy5iaW5hcnk9PT12b2lkIDA/bCh0KTp0aGlzLmZsYWdzLmJpbmFyeSk/bi5CSU5BUllfRVZFTlQ6bi5FVkVOVCxkYXRhOnR9O3JldHVybiByLm9wdGlvbnM9e30sci5vcHRpb25zLmNvbXByZXNzPSF0aGlzLmZsYWdzfHwhMSE9PXRoaXMuZmxhZ3MuY29tcHJlc3MsdHlwZW9mIHRbdC5sZW5ndGgtMV09PWBmdW5jdGlvbmAmJihzKGBlbWl0dGluZyBwYWNrZXQgd2l0aCBhY2sgaWQgJWRgLHRoaXMuaWRzKSx0aGlzLmFja3NbdGhpcy5pZHNdPXQucG9wKCksci5pZD10aGlzLmlkcysrKSx0aGlzLmNvbm5lY3RlZD90aGlzLnBhY2tldChyKTp0aGlzLnNlbmRCdWZmZXIucHVzaChyKSx0aGlzLmZsYWdzPXt9LHRoaXN9LGYucHJvdG90eXBlLnBhY2tldD1mdW5jdGlvbihlKXtlLm5zcD10aGlzLm5zcCx0aGlzLmlvLnBhY2tldChlKX0sZi5wcm90b3R5cGUub25vcGVuPWZ1bmN0aW9uKCl7aWYocyhgdHJhbnNwb3J0IGlzIG9wZW4gLSBjb25uZWN0aW5nYCksdGhpcy5uc3AhPT1gL2ApaWYodGhpcy5xdWVyeSl7dmFyIGU9dHlwZW9mIHRoaXMucXVlcnk9PWBvYmplY3RgP2MuZW5jb2RlKHRoaXMucXVlcnkpOnRoaXMucXVlcnk7cyhgc2VuZGluZyBjb25uZWN0IHBhY2tldCB3aXRoIHF1ZXJ5ICVzYCxlKSx0aGlzLnBhY2tldCh7dHlwZTpuLkNPTk5FQ1QscXVlcnk6ZX0pfWVsc2UgdGhpcy5wYWNrZXQoe3R5cGU6bi5DT05ORUNUfSl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7cyhgY2xvc2UgKCVzKWAsZSksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITAsZGVsZXRlIHRoaXMuaWQsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxlKX0sZi5wcm90b3R5cGUub25wYWNrZXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5uc3A9PT10aGlzLm5zcCxyPWUudHlwZT09PW4uRVJST1ImJmUubnNwPT09YC9gO2lmKCEoIXQmJiFyKSlzd2l0Y2goZS50eXBlKXtjYXNlIG4uQ09OTkVDVDp0aGlzLm9uY29ubmVjdCgpO2JyZWFrO2Nhc2Ugbi5FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkJJTkFSWV9FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkFDSzp0aGlzLm9uYWNrKGUpO2JyZWFrO2Nhc2Ugbi5CSU5BUllfQUNLOnRoaXMub25hY2soZSk7YnJlYWs7Y2FzZSBuLkRJU0NPTk5FQ1Q6dGhpcy5vbmRpc2Nvbm5lY3QoKTticmVhaztjYXNlIG4uRVJST1I6dGhpcy5lbWl0KGBlcnJvcmAsZS5kYXRhKTticmVha319LGYucHJvdG90eXBlLm9uZXZlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kYXRhfHxbXTtzKGBlbWl0dGluZyBldmVudCAlamAsdCksZS5pZCE9bnVsbCYmKHMoYGF0dGFjaGluZyBhY2sgY2FsbGJhY2sgdG8gZXZlbnRgKSx0LnB1c2godGhpcy5hY2soZS5pZCkpKSx0aGlzLmNvbm5lY3RlZD9kLmFwcGx5KHRoaXMsdCk6dGhpcy5yZWNlaXZlQnVmZmVyLnB1c2godCl9LGYucHJvdG90eXBlLmFjaz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXIpe3I9ITA7dmFyIGE9aShhcmd1bWVudHMpO3MoYHNlbmRpbmcgYWNrICVqYCxhKSx0LnBhY2tldCh7dHlwZTpsKGEpP24uQklOQVJZX0FDSzpuLkFDSyxpZDplLGRhdGE6YX0pfX19LGYucHJvdG90eXBlLm9uYWNrPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYWNrc1tlLmlkXTt0eXBlb2YgdD09YGZ1bmN0aW9uYD8ocyhgY2FsbGluZyBhY2sgJXMgd2l0aCAlamAsZS5pZCxlLmRhdGEpLHQuYXBwbHkodGhpcyxlLmRhdGEpLGRlbGV0ZSB0aGlzLmFja3NbZS5pZF0pOnMoYGJhZCBhY2sgJXNgLGUuaWQpfSxmLnByb3RvdHlwZS5vbmNvbm5lY3Q9ZnVuY3Rpb24oKXt0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLmRpc2Nvbm5lY3RlZD0hMSx0aGlzLmVtaXQoYGNvbm5lY3RgKSx0aGlzLmVtaXRCdWZmZXJlZCgpfSxmLnByb3RvdHlwZS5lbWl0QnVmZmVyZWQ9ZnVuY3Rpb24oKXt2YXIgZTtmb3IoZT0wO2U8dGhpcy5yZWNlaXZlQnVmZmVyLmxlbmd0aDtlKyspZC5hcHBseSh0aGlzLHRoaXMucmVjZWl2ZUJ1ZmZlcltlXSk7Zm9yKHRoaXMucmVjZWl2ZUJ1ZmZlcj1bXSxlPTA7ZTx0aGlzLnNlbmRCdWZmZXIubGVuZ3RoO2UrKyl0aGlzLnBhY2tldCh0aGlzLnNlbmRCdWZmZXJbZV0pO3RoaXMuc2VuZEJ1ZmZlcj1bXX0sZi5wcm90b3R5cGUub25kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cyhgc2VydmVyIGRpc2Nvbm5lY3QgKCVzKWAsdGhpcy5uc3ApLHRoaXMuZGVzdHJveSgpLHRoaXMub25jbG9zZShgaW8gc2VydmVyIGRpc2Nvbm5lY3RgKX0sZi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2lmKHRoaXMuc3Vicyl7Zm9yKHZhciBlPTA7ZTx0aGlzLnN1YnMubGVuZ3RoO2UrKyl0aGlzLnN1YnNbZV0uZGVzdHJveSgpO3RoaXMuc3Vicz1udWxsfXRoaXMuaW8uZGVzdHJveSh0aGlzKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3RlZCYmKHMoYHBlcmZvcm1pbmcgZGlzY29ubmVjdCAoJXMpYCx0aGlzLm5zcCksdGhpcy5wYWNrZXQoe3R5cGU6bi5ESVNDT05ORUNUfSkpLHRoaXMuZGVzdHJveSgpLHRoaXMuY29ubmVjdGVkJiZ0aGlzLm9uY2xvc2UoYGlvIGNsaWVudCBkaXNjb25uZWN0YCksdGhpc30sZi5wcm90b3R5cGUuY29tcHJlc3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuY29tcHJlc3M9ZSx0aGlzfSxmLnByb3RvdHlwZS5iaW5hcnk9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuYmluYXJ5PWUsdGhpc319KSksdmM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUpe2V8fD17fSx0aGlzLm1zPWUubWlufHwxMDAsdGhpcy5tYXg9ZS5tYXh8fDFlNCx0aGlzLmZhY3Rvcj1lLmZhY3Rvcnx8Mix0aGlzLmppdHRlcj1lLmppdHRlcj4wJiZlLmppdHRlcjw9MT9lLmppdHRlcjowLHRoaXMuYXR0ZW1wdHM9MH1uLnByb3RvdHlwZS5kdXJhdGlvbj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubXMqdGhpcy5mYWN0b3IqKisgdGhpcy5hdHRlbXB0cysrO2lmKHRoaXMuaml0dGVyKXt2YXIgdD1NYXRoLnJhbmRvbSgpLG49TWF0aC5mbG9vcih0KnRoaXMuaml0dGVyKmUpO2U9TWF0aC5mbG9vcih0KjEwKSYxP2UrbjplLW59cmV0dXJuIE1hdGgubWluKGUsdGhpcy5tYXgpfDB9LG4ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5hdHRlbXB0cz0wfSxuLnByb3RvdHlwZS5zZXRNaW49ZnVuY3Rpb24oZSl7dGhpcy5tcz1lfSxuLnByb3RvdHlwZS5zZXRNYXg9ZnVuY3Rpb24oZSl7dGhpcy5tYXg9ZX0sbi5wcm90b3R5cGUuc2V0Sml0dGVyPWZ1bmN0aW9uKGUpe3RoaXMuaml0dGVyPWV9fSkpLHljPXMoKChlLHQpPT57dmFyIG49ZGMoKSxyPV9jKCksaT1mYygpLGE9QnMoKSxvPW1jKCkscz1oYygpLGM9anMoKShgc29ja2V0LmlvLWNsaWVudDptYW5hZ2VyYCksbD1jYygpLHU9dmMoKSxkPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dC5leHBvcnRzPWY7ZnVuY3Rpb24gZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGYpKXJldHVybiBuZXcgZihlLHQpO2UmJnR5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9LHQucGF0aD10LnBhdGh8fGAvc29ja2V0LmlvYCx0aGlzLm5zcHM9e30sdGhpcy5zdWJzPVtdLHRoaXMub3B0cz10LHRoaXMucmVjb25uZWN0aW9uKHQucmVjb25uZWN0aW9uIT09ITEpLHRoaXMucmVjb25uZWN0aW9uQXR0ZW1wdHModC5yZWNvbm5lY3Rpb25BdHRlbXB0c3x8MS8wKSx0aGlzLnJlY29ubmVjdGlvbkRlbGF5KHQucmVjb25uZWN0aW9uRGVsYXl8fDFlMyksdGhpcy5yZWNvbm5lY3Rpb25EZWxheU1heCh0LnJlY29ubmVjdGlvbkRlbGF5TWF4fHw1ZTMpLHRoaXMucmFuZG9taXphdGlvbkZhY3Rvcih0LnJhbmRvbWl6YXRpb25GYWN0b3J8fC41KSx0aGlzLmJhY2tvZmY9bmV3IHUoe21pbjp0aGlzLnJlY29ubmVjdGlvbkRlbGF5KCksbWF4OnRoaXMucmVjb25uZWN0aW9uRGVsYXlNYXgoKSxqaXR0ZXI6dGhpcy5yYW5kb21pemF0aW9uRmFjdG9yKCl9KSx0aGlzLnRpbWVvdXQodC50aW1lb3V0PT1udWxsPzJlNDp0LnRpbWVvdXQpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLnVyaT1lLHRoaXMuY29ubmVjdGluZz1bXSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5lbmNvZGluZz0hMSx0aGlzLnBhY2tldEJ1ZmZlcj1bXTt2YXIgbj10LnBhcnNlcnx8YTt0aGlzLmVuY29kZXI9bmV3IG4uRW5jb2Rlcix0aGlzLmRlY29kZXI9bmV3IG4uRGVjb2Rlcix0aGlzLmF1dG9Db25uZWN0PXQuYXV0b0Nvbm5lY3QhPT0hMSx0aGlzLmF1dG9Db25uZWN0JiZ0aGlzLm9wZW4oKX1mLnByb3RvdHlwZS5lbWl0QWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciBlIGluIHRoaXMuZW1pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJnRoaXMubnNwc1tlXS5lbWl0LmFwcGx5KHRoaXMubnNwc1tlXSxhcmd1bWVudHMpfSxmLnByb3RvdHlwZS51cGRhdGVTb2NrZXRJZHM9ZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJih0aGlzLm5zcHNbZV0uaWQ9dGhpcy5nZW5lcmF0ZUlkKGUpKX0sZi5wcm90b3R5cGUuZ2VuZXJhdGVJZD1mdW5jdGlvbihlKXtyZXR1cm4oZT09PWAvYD9gYDplK2AjYCkrdGhpcy5lbmdpbmUuaWR9LGkoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnJlY29ubmVjdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uPSEhZSx0aGlzKTp0aGlzLl9yZWNvbm5lY3Rpb259LGYucHJvdG90eXBlLnJlY29ubmVjdGlvbkF0dGVtcHRzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9yZWNvbm5lY3Rpb25BdHRlbXB0cz1lLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzfSxmLnByb3RvdHlwZS5yZWNvbm5lY3Rpb25EZWxheT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uRGVsYXk9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRNaW4oZSksdGhpcyk6dGhpcy5fcmVjb25uZWN0aW9uRGVsYXl9LGYucHJvdG90eXBlLnJhbmRvbWl6YXRpb25GYWN0b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JhbmRvbWl6YXRpb25GYWN0b3I9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRKaXR0ZXIoZSksdGhpcyk6dGhpcy5fcmFuZG9taXphdGlvbkZhY3Rvcn0sZi5wcm90b3R5cGUucmVjb25uZWN0aW9uRGVsYXlNYXg9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4PWUsdGhpcy5iYWNrb2ZmJiZ0aGlzLmJhY2tvZmYuc2V0TWF4KGUpLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4fSxmLnByb3RvdHlwZS50aW1lb3V0PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl90aW1lb3V0PWUsdGhpcyk6dGhpcy5fdGltZW91dH0sZi5wcm90b3R5cGUubWF5YmVSZWNvbm5lY3RPbk9wZW49ZnVuY3Rpb24oKXshdGhpcy5yZWNvbm5lY3RpbmcmJnRoaXMuX3JlY29ubmVjdGlvbiYmdGhpcy5iYWNrb2ZmLmF0dGVtcHRzPT09MCYmdGhpcy5yZWNvbm5lY3QoKX0sZi5wcm90b3R5cGUub3Blbj1mLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKGUsdCl7aWYoYyhgcmVhZHlTdGF0ZSAlc2AsdGhpcy5yZWFkeVN0YXRlKSx+dGhpcy5yZWFkeVN0YXRlLmluZGV4T2YoYG9wZW5gKSlyZXR1cm4gdGhpcztjKGBvcGVuaW5nICVzYCx0aGlzLnVyaSksdGhpcy5lbmdpbmU9bih0aGlzLnVyaSx0aGlzLm9wdHMpO3ZhciByPXRoaXMuZW5naW5lLGk9dGhpczt0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuc2tpcFJlY29ubmVjdD0hMTt2YXIgYT1vKHIsYG9wZW5gLGZ1bmN0aW9uKCl7aS5vbm9wZW4oKSxlJiZlKCl9KSxzPW8ocixgZXJyb3JgLGZ1bmN0aW9uKHQpe2lmKGMoYGNvbm5lY3RfZXJyb3JgKSxpLmNsZWFudXAoKSxpLnJlYWR5U3RhdGU9YGNsb3NlZGAsaS5lbWl0QWxsKGBjb25uZWN0X2Vycm9yYCx0KSxlKXt2YXIgbj1FcnJvcihgQ29ubmVjdGlvbiBlcnJvcmApO24uZGF0YT10LGUobil9ZWxzZSBpLm1heWJlUmVjb25uZWN0T25PcGVuKCl9KTtpZighMSE9PXRoaXMuX3RpbWVvdXQpe3ZhciBsPXRoaXMuX3RpbWVvdXQ7YyhgY29ubmVjdCBhdHRlbXB0IHdpbGwgdGltZW91dCBhZnRlciAlZGAsbCk7dmFyIHU9c2V0VGltZW91dChmdW5jdGlvbigpe2MoYGNvbm5lY3QgYXR0ZW1wdCB0aW1lZCBvdXQgYWZ0ZXIgJWRgLGwpLGEuZGVzdHJveSgpLHIuY2xvc2UoKSxyLmVtaXQoYGVycm9yYCxgdGltZW91dGApLGkuZW1pdEFsbChgY29ubmVjdF90aW1lb3V0YCxsKX0sbCk7dGhpcy5zdWJzLnB1c2goe2Rlc3Ryb3k6ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodSl9fSl9cmV0dXJuIHRoaXMuc3Vicy5wdXNoKGEpLHRoaXMuc3Vicy5wdXNoKHMpLHRoaXN9LGYucHJvdG90eXBlLm9ub3Blbj1mdW5jdGlvbigpe2MoYG9wZW5gKSx0aGlzLmNsZWFudXAoKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMuZW1pdChgb3BlbmApO3ZhciBlPXRoaXMuZW5naW5lO3RoaXMuc3Vicy5wdXNoKG8oZSxgZGF0YWAscyh0aGlzLGBvbmRhdGFgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcGluZ2Ascyh0aGlzLGBvbnBpbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcG9uZ2Ascyh0aGlzLGBvbnBvbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgZXJyb3JgLHModGhpcyxgb25lcnJvcmApKSksdGhpcy5zdWJzLnB1c2gobyhlLGBjbG9zZWAscyh0aGlzLGBvbmNsb3NlYCkpKSx0aGlzLnN1YnMucHVzaChvKHRoaXMuZGVjb2RlcixgZGVjb2RlZGAscyh0aGlzLGBvbmRlY29kZWRgKSkpfSxmLnByb3RvdHlwZS5vbnBpbmc9ZnVuY3Rpb24oKXt0aGlzLmxhc3RQaW5nPW5ldyBEYXRlLHRoaXMuZW1pdEFsbChgcGluZ2ApfSxmLnByb3RvdHlwZS5vbnBvbmc9ZnVuY3Rpb24oKXt0aGlzLmVtaXRBbGwoYHBvbmdgLG5ldyBEYXRlLXRoaXMubGFzdFBpbmcpfSxmLnByb3RvdHlwZS5vbmRhdGE9ZnVuY3Rpb24oZSl7dGhpcy5kZWNvZGVyLmFkZChlKX0sZi5wcm90b3R5cGUub25kZWNvZGVkPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0sZi5wcm90b3R5cGUub25lcnJvcj1mdW5jdGlvbihlKXtjKGBlcnJvcmAsZSksdGhpcy5lbWl0QWxsKGBlcnJvcmAsZSl9LGYucHJvdG90eXBlLnNvY2tldD1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMubnNwc1tlXTtpZighbil7bj1uZXcgcih0aGlzLGUsdCksdGhpcy5uc3BzW2VdPW47dmFyIGk9dGhpcztuLm9uKGBjb25uZWN0aW5nYCxhKSxuLm9uKGBjb25uZWN0YCxmdW5jdGlvbigpe24uaWQ9aS5nZW5lcmF0ZUlkKGUpfSksdGhpcy5hdXRvQ29ubmVjdCYmYSgpfWZ1bmN0aW9uIGEoKXt+bChpLmNvbm5lY3Rpbmcsbil8fGkuY29ubmVjdGluZy5wdXNoKG4pfXJldHVybiBufSxmLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKGUpe3ZhciB0PWwodGhpcy5jb25uZWN0aW5nLGUpO350JiZ0aGlzLmNvbm5lY3Rpbmcuc3BsaWNlKHQsMSksIXRoaXMuY29ubmVjdGluZy5sZW5ndGgmJnRoaXMuY2xvc2UoKX0sZi5wcm90b3R5cGUucGFja2V0PWZ1bmN0aW9uKGUpe2MoYHdyaXRpbmcgcGFja2V0ICVqYCxlKTt2YXIgdD10aGlzO2UucXVlcnkmJmUudHlwZT09PTAmJihlLm5zcCs9YD9gK2UucXVlcnkpLHQuZW5jb2Rpbmc/dC5wYWNrZXRCdWZmZXIucHVzaChlKToodC5lbmNvZGluZz0hMCx0aGlzLmVuY29kZXIuZW5jb2RlKGUsZnVuY3Rpb24obil7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspdC5lbmdpbmUud3JpdGUobltyXSxlLm9wdGlvbnMpO3QuZW5jb2Rpbmc9ITEsdC5wcm9jZXNzUGFja2V0UXVldWUoKX0pKX0sZi5wcm90b3R5cGUucHJvY2Vzc1BhY2tldFF1ZXVlPWZ1bmN0aW9uKCl7aWYodGhpcy5wYWNrZXRCdWZmZXIubGVuZ3RoPjAmJiF0aGlzLmVuY29kaW5nKXt2YXIgZT10aGlzLnBhY2tldEJ1ZmZlci5zaGlmdCgpO3RoaXMucGFja2V0KGUpfX0sZi5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbigpe2MoYGNsZWFudXBgKTtmb3IodmFyIGU9dGhpcy5zdWJzLmxlbmd0aCx0PTA7dDxlO3QrKyl0aGlzLnN1YnMuc2hpZnQoKS5kZXN0cm95KCk7dGhpcy5wYWNrZXRCdWZmZXI9W10sdGhpcy5lbmNvZGluZz0hMSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5kZWNvZGVyLmRlc3Ryb3koKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe2MoYGRpc2Nvbm5lY3RgKSx0aGlzLnNraXBSZWNvbm5lY3Q9ITAsdGhpcy5yZWNvbm5lY3Rpbmc9ITEsdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0aGlzLmNsZWFudXAoKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5lbmdpbmUmJnRoaXMuZW5naW5lLmNsb3NlKCl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7Yyhgb25jbG9zZWApLHRoaXMuY2xlYW51cCgpLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCxlKSx0aGlzLl9yZWNvbm5lY3Rpb24mJiF0aGlzLnNraXBSZWNvbm5lY3QmJnRoaXMucmVjb25uZWN0KCl9LGYucHJvdG90eXBlLnJlY29ubmVjdD1mdW5jdGlvbigpe2lmKHRoaXMucmVjb25uZWN0aW5nfHx0aGlzLnNraXBSZWNvbm5lY3QpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcztpZih0aGlzLmJhY2tvZmYuYXR0ZW1wdHM+PXRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzKWMoYHJlY29ubmVjdCBmYWlsZWRgKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLmVtaXRBbGwoYHJlY29ubmVjdF9mYWlsZWRgKSx0aGlzLnJlY29ubmVjdGluZz0hMTtlbHNle3ZhciB0PXRoaXMuYmFja29mZi5kdXJhdGlvbigpO2MoYHdpbGwgd2FpdCAlZG1zIGJlZm9yZSByZWNvbm5lY3QgYXR0ZW1wdGAsdCksdGhpcy5yZWNvbm5lY3Rpbmc9ITA7dmFyIG49c2V0VGltZW91dChmdW5jdGlvbigpe2Uuc2tpcFJlY29ubmVjdHx8KGMoYGF0dGVtcHRpbmcgcmVjb25uZWN0YCksZS5lbWl0QWxsKGByZWNvbm5lY3RfYXR0ZW1wdGAsZS5iYWNrb2ZmLmF0dGVtcHRzKSxlLmVtaXRBbGwoYHJlY29ubmVjdGluZ2AsZS5iYWNrb2ZmLmF0dGVtcHRzKSwhZS5za2lwUmVjb25uZWN0JiZlLm9wZW4oZnVuY3Rpb24odCl7dD8oYyhgcmVjb25uZWN0IGF0dGVtcHQgZXJyb3JgKSxlLnJlY29ubmVjdGluZz0hMSxlLnJlY29ubmVjdCgpLGUuZW1pdEFsbChgcmVjb25uZWN0X2Vycm9yYCx0LmRhdGEpKTooYyhgcmVjb25uZWN0IHN1Y2Nlc3NgKSxlLm9ucmVjb25uZWN0KCkpfSkpfSx0KTt0aGlzLnN1YnMucHVzaCh7ZGVzdHJveTpmdW5jdGlvbigpe2NsZWFyVGltZW91dChuKX19KX19LGYucHJvdG90eXBlLm9ucmVjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5iYWNrb2ZmLmF0dGVtcHRzO3RoaXMucmVjb25uZWN0aW5nPSExLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMudXBkYXRlU29ja2V0SWRzKCksdGhpcy5lbWl0QWxsKGByZWNvbm5lY3RgLGUpfX0pKSxiYz1zKCgoZSx0KT0+e3ZhciBuPU1zKCkscj1CcygpLGk9eWMoKSxhPWpzKCkoYHNvY2tldC5pby1jbGllbnRgKTt0LmV4cG9ydHM9ZT1zO3ZhciBvPWUubWFuYWdlcnM9e307ZnVuY3Rpb24gcyhlLHQpe3R5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9O3ZhciByPW4oZSkscz1yLnNvdXJjZSxjPXIuaWQsbD1yLnBhdGgsdT1vW2NdJiZsIGluIG9bY10ubnNwcyxkPXQuZm9yY2VOZXd8fHRbYGZvcmNlIG5ldyBjb25uZWN0aW9uYF18fCExPT09dC5tdWx0aXBsZXh8fHUsZjtyZXR1cm4gZD8oYShgaWdub3Jpbmcgc29ja2V0IGNhY2hlIGZvciAlc2AscyksZj1pKHMsdCkpOihvW2NdfHwoYShgbmV3IGlvIGluc3RhbmNlIGZvciAlc2Ascyksb1tjXT1pKHMsdCkpLGY9b1tjXSksci5xdWVyeSYmIXQucXVlcnkmJih0LnF1ZXJ5PXIucXVlcnkpLGYuc29ja2V0KHIucGF0aCx0KX1lLnByb3RvY29sPXIucHJvdG9jb2wsZS5jb25uZWN0PXMsZS5NYW5hZ2VyPXljKCksZS5Tb2NrZXQ9X2MoKX0pKSx4Yz1jKHtkZWZhdWx0OigpPT5TY30pO2Z1bmN0aW9uIFNjKGUsdCl7cmV0dXJuIHR8fD17fSxuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe3ZhciBpPW5ldyBYTUxIdHRwUmVxdWVzdCxhPVtdLG89W10scz17fSxjPWZ1bmN0aW9uKCl7cmV0dXJue29rOihpLnN0YXR1cy8xMDB8MCk9PTIsc3RhdHVzVGV4dDppLnN0YXR1c1RleHQsc3RhdHVzOmkuc3RhdHVzLHVybDppLnJlc3BvbnNlVVJMLHRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkucmVzcG9uc2VUZXh0KX0sanNvbjpmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoaS5yZXNwb25zZVRleHQpLnRoZW4oSlNPTi5wYXJzZSl9LGJsb2I6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBCbG9iKFtpLnJlc3BvbnNlXSkpfSxjbG9uZTpjLGhlYWRlcnM6e2tleXM6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sZW50cmllczpmdW5jdGlvbigpe3JldHVybiBvfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHNbZS50b0xvd2VyQ2FzZSgpXX0saGFzOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRvTG93ZXJDYXNlKClpbiBzfX19fTtmb3IodmFyIGwgaW4gaS5vcGVuKHQubWV0aG9kfHxgZ2V0YCxlLCEwKSxpLm9ubG9hZD1mdW5jdGlvbigpe2kuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkucmVwbGFjZSgvXiguKj8pOlteXFNcbl0qKFtcc1xTXSo/KSQvZ20sZnVuY3Rpb24oZSx0LG4pe2EucHVzaCh0PXQudG9Mb3dlckNhc2UoKSksby5wdXNoKFt0LG5dKSxzW3RdPXNbdF0/c1t0XStgLGArbjpufSksbihjKCkpfSxpLm9uZXJyb3I9cixpLndpdGhDcmVkZW50aWFscz10LmNyZWRlbnRpYWxzPT1gaW5jbHVkZWAsdC5oZWFkZXJzKWkuc2V0UmVxdWVzdEhlYWRlcihsLHQuaGVhZGVyc1tsXSk7aS5zZW5kKHQuYm9keXx8bnVsbCl9KX12YXIgQ2M9bygoKCk9Pnt9KSksd2M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9c2VsZi5mZXRjaHx8KHNlbGYuZmV0Y2g9KENjKCksZCh4YykpLmRlZmF1bHR8fChDYygpLGQoeGMpKSl9KSksVGM9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLmZldGNoQmFsYW5jZXJDb25maWc9dm9pZCAwO3ZhciBuPURzKCkscj10KHdjKCkpO2UuZmV0Y2hCYWxhbmNlckNvbmZpZz1mdW5jdGlvbihlKXtyZXR1cm4oMCxuLmRlYnVnKShgdXNpbmcgYmFsYW5jZXIgJHtlfSB0byBnZXQgd2Vic29ja2V0IHVybGApLCgwLHIuZGVmYXVsdCkoYCR7ZX1gKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGU/LnVybCYmZT8udG9rZW4/KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIHVybCAke2U/LnVybH0gYW5kIHRva2VuICR7ZT8udG9rZW59YCksZSk6KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIGludmFsaWQgcmVzcG9uc2VgKSxudWxsKX0pLmNhdGNoKGZ1bmN0aW9uKGUpe3JldHVybigwLG4uZGVidWcpKGBmYWlsZWQgdG8gcmVzb2x2ZSB1cmw6ICR7ZS5tZXNzYWdlfWApLG51bGx9KX19KSksRWM9cygoZT0+e3ZhciB0PWUmJmUuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbih0LG4pe3JldHVybiBlPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgbiBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKX0sZSh0LG4pfTtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZih0eXBlb2YgbiE9YGZ1bmN0aW9uYCYmbiE9PW51bGwpdGhyb3cgVHlwZUVycm9yKGBDbGFzcyBleHRlbmRzIHZhbHVlIGArU3RyaW5nKG4pK2AgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbGApO2UodCxuKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXQucHJvdG90eXBlPW49PT1udWxsP09iamVjdC5jcmVhdGUobik6KHIucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyByKX19KSgpLG49ZSYmZS5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbihlLHQsbil7aWYobnx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciByPTAsaT10Lmxlbmd0aCxhO3I8aTtyKyspKGF8fCEociBpbiB0KSkmJihhfHw9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLHIpLGFbcl09dFtyXSk7cmV0dXJuIGUuY29uY2F0KGF8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpKX0scj1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRNb2NrPXZvaWQgMDt2YXIgaT1EcygpO2UuU29ja2V0TW9jaz1mdW5jdGlvbihlKXt0KHIsZSk7ZnVuY3Rpb24gcih0KXt2YXIgbj1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4ub3B0aW9ucz10LG4uaWQ9YG1vY2tgLG4uY29ubmVjdGVkPSExLG4uZGlzY29ubmVjdGVkPSEwLG4uYmluYXJ5VHlwZT1gYmxvYmAsbn1yZXR1cm4gci5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuKDAsaS5kZWJ1ZykoYFNvY2tldElPTW9jazogY29ubmVjdGApLHRoaXMub25jZShgdmlzaXRvci5jb25uZWN0YCxmdW5jdGlvbih0LG4pe24obnVsbCxlLm9wdGlvbnMuY29ubmVjdERhdGEpfSksdGhpcy5jb25uZWN0ZWQ9ITAsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBjb25uZWN0YCksdGhpc30sci5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXtyZXR1cm4oMCxpLmRlYnVnKShgU29ja2V0SU9Nb2NrOiBkaXNjb25uZWN0YCksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxgaW8gY2xpZW50IGRpc2Nvbm5lY3RgKSx0aGlzfSxyLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQpe3ZhciByPVsuLi5hcmd1bWVudHNdLnNsaWNlKDEpO3JldHVybiBpLmRlYnVnLmFwcGx5KHZvaWQgMCxuKFtgU29ja2V0SU9Nb2NrOiBlbWl0YF0sciwhMSkpLCh0PT09YGNvbm5lY3RgfHx0PT09YGRpc2Nvbm5lY3RgfHx0PT09YHZpc2l0b3IuY29ubmVjdGApJiZlLnByb3RvdHlwZS5lbWl0LmFwcGx5KHRoaXMsbihbdF0sciwhMSkpLHRoaXN9LHIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1bLi4uYXJndW1lbnRzXTtyZXR1cm4gdGhpcy5lbWl0LmFwcGx5KHRoaXMsbihbZVswXV0sZS5zbGljZSgxKSwhMSkpfSxyLnByb3RvdHlwZS5jb21wcmVzcz1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxyLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3BlbigpfSxyLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvc2UoKX0sci5wcm90b3R5cGUuaGFzTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxpc3RlbmVyQ291bnQoZSk9PT0wfSxyLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuYWRkTGlzdGVuZXIoZSx0KSx0aGlzfSxyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0KSx0aGlzfSxyfShyKE9zKCkpLmRlZmF1bHQpfSkpLERjPXMoKGU9Pnt2YXIgdD1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiB0PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sbj1lJiZlLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pO3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTsoIWl8fChgZ2V0YGluIGk/IXQuX19lc01vZHVsZTppLndyaXRhYmxlfHxpLmNvbmZpZ3VyYWJsZSkpJiYoaT17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtuXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLGkpfSk6KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pLGVbcl09dFtuXX0pKSxyPWUmJmUuX19leHBvcnRTdGFyfHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiBlKXIhPT1gZGVmYXVsdGAmJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmbih0LGUscil9LGk9ZSYmZS5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGUsdCxuLHIpe2Z1bmN0aW9uIGkoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pfXJldHVybiBuZXcobnx8PVByb21pc2UpKGZ1bmN0aW9uKG4sYSl7ZnVuY3Rpb24gbyhlKXt0cnl7YyhyLm5leHQoZSkpfWNhdGNoKGUpe2EoZSl9fWZ1bmN0aW9uIHMoZSl7dHJ5e2Moci50aHJvdyhlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gYyhlKXtlLmRvbmU/bihlLnZhbHVlKTppKGUudmFsdWUpLnRoZW4obyxzKX1jKChyPXIuYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KX0sYT1lJiZlLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihlLHQpe3ZhciBuPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihhWzBdJjEpdGhyb3cgYVsxXTtyZXR1cm4gYVsxXX0sdHJ5czpbXSxvcHM6W119LHIsaSxhLG89T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yPT1gZnVuY3Rpb25gP0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKTtyZXR1cm4gby5uZXh0PXMoMCksby50aHJvdz1zKDEpLG8ucmV0dXJuPXMoMiksdHlwZW9mIFN5bWJvbD09YGZ1bmN0aW9uYCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBzKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gYyhbZSx0XSl9fWZ1bmN0aW9uIGMocyl7aWYocil0aHJvdyBUeXBlRXJyb3IoYEdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5gKTtmb3IoO28mJihvPTAsc1swXSYmKG49MCkpLG47KXRyeXtpZihyPTEsaSYmKGE9c1swXSYyP2kucmV0dXJuOnNbMF0/aS50aHJvd3x8KChhPWkucmV0dXJuKSYmYS5jYWxsKGkpLDApOmkubmV4dCkmJiEoYT1hLmNhbGwoaSxzWzFdKSkuZG9uZSlyZXR1cm4gYTtzd2l0Y2goaT0wLGEmJihzPVtzWzBdJjIsYS52YWx1ZV0pLHNbMF0pe2Nhc2UgMDpjYXNlIDE6YT1zO2JyZWFrO2Nhc2UgNDpyZXR1cm4gbi5sYWJlbCsrLHt2YWx1ZTpzWzFdLGRvbmU6ITF9O2Nhc2UgNTpuLmxhYmVsKyssaT1zWzFdLHM9WzBdO2NvbnRpbnVlO2Nhc2UgNzpzPW4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKChhPW4udHJ5cywhKGE9YS5sZW5ndGg+MCYmYVthLmxlbmd0aC0xXSkpJiYoc1swXT09PTZ8fHNbMF09PT0yKSl7bj0wO2NvbnRpbnVlfWlmKHNbMF09PT0zJiYoIWF8fHNbMV0+YVswXSYmc1sxXTxhWzNdKSl7bi5sYWJlbD1zWzFdO2JyZWFrfWlmKHNbMF09PT02JiZuLmxhYmVsPGFbMV0pe24ubGFiZWw9YVsxXSxhPXM7YnJlYWt9aWYoYSYmbi5sYWJlbDxhWzJdKXtuLmxhYmVsPWFbMl0sbi5vcHMucHVzaChzKTticmVha31hWzJdJiZuLm9wcy5wb3AoKSxuLnRyeXMucG9wKCk7Y29udGludWV9cz10LmNhbGwoZSxuKX1jYXRjaChlKXtzPVs2LGVdLGk9MH1maW5hbGx5e3I9YT0wfWlmKHNbMF0mNSl0aHJvdyBzWzFdO3JldHVybnt2YWx1ZTpzWzBdP3NbMV06dm9pZCAwLGRvbmU6ITB9fX0sbz1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj12b2lkIDA7dmFyIHM9RHMoKSxjPW8oT3MoKSksbD1vKGJjKCkpLHU9VGMoKSxkPXt0cmFuc3BvcnRzOltgd2Vic29ja2V0YF0scGF0aDpgL3NvY2tldGAscmVjb25uZWN0aW9uOiEwLHJlY29ubmVjdGlvbkRlbGF5OjFlMyxyZWNvbm5lY3Rpb25EZWxheU1heDo1ZTMscmVjb25uZWN0aW9uQXR0ZW1wdHM6MS8wfTtlLmRlZmF1bHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMub3B0aW9ucz1lLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5mb3JjZVJlY29ubmVjdD0hMSx0aGlzLmlkZW50aXR5PW51bGwsdGhpcy5jb25uZWN0aW9uPW51bGwsdGhpcy5jb25uZWN0Q2FsbGJhY2s9bnVsbCx0aGlzLmRpc2Nvbm5lY3RDYWxsYmFjaz1udWxsLHRoaXMuaW5pdERhdGE9bnVsbCx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITEsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9MCx0aGlzLmVtaXR0ZXI9bmV3IGMuZGVmYXVsdCx0aGlzLnNlbmRCdWZmZXI9W10sdGhpcy5vcHRpb25zLm9wdGlvbnM9dCh0KHQoe30sZCksdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMX0pfXJldHVybiBlLnByb3RvdHlwZS5pbml0Q29ubmVjdGlvbj1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBhKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDppZih0aGlzLmNvbm5lY3Rpb24pdGhyb3cgRXJyb3IoYENvbm5lY3Rpb24gYWxyZWFkeSBleGlzdHNgKTtyZXR1cm4gdGhpcy5vcHRpb25zLnNvY2tldD8oKDAscy5kZWJ1ZykoYHVzaW5nIHNvY2tldCAke3RoaXMub3B0aW9ucy5zb2NrZXQuaWR9YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMSx0aGlzLnNldENvbm5lY3Rpb24odGhpcy5vcHRpb25zLnNvY2tldCksWzMsNF0pOlszLDFdO2Nhc2UgMTpyZXR1cm4gdGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsP1s0LCgwLHUuZmV0Y2hCYWxhbmNlckNvbmZpZykodGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsKV06WzMsM107Y2FzZSAyOnJldHVybiBlPW4uc2VudCgpLCgwLHMuZGVidWcpKGBjcmVhdGluZyBzb2NrZXQgdG8gJHtlLnVybH0gd2l0aCB0b2tlbiAke2UudG9rZW59YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMCx0aGlzLnNldENvbm5lY3Rpb24oKDAsbC5kZWZhdWx0KShlLnVybCx0KHQoe30sdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITEscXVlcnk6e3Rva2VuOmUudG9rZW59fSkpLCEwKSxbMyw0XTtjYXNlIDM6aWYodGhpcy5vcHRpb25zLnVybCkoMCxzLmRlYnVnKShgY3JlYXRpbmcgc29ja2V0IHRvICR7dGhpcy5vcHRpb25zLnVybH1gKSx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuc2V0Q29ubmVjdGlvbigoMCxsLmRlZmF1bHQpKHRoaXMub3B0aW9ucy51cmwsdCh0KHt9LHRoaXMub3B0aW9ucy5vcHRpb25zKSx7YXV0b0Nvbm5lY3Q6ITF9KSkpO2Vsc2UgdGhyb3cgRXJyb3IoYE1pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyIHVybGApO24ubGFiZWw9NDtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUucHJvdG90eXBlLnNldENvbm5lY3Rpb249ZnVuY3Rpb24oZSxuKXt2YXIgcj10aGlzO249PT12b2lkIDAmJihuPSExKSx0aGlzLmNvbm5lY3Rpb249ZSx0aGlzLmZvcmNlUmVjb25uZWN0PSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpb249bixlLm9uKGBjb25uZWN0X2Vycm9yYCxmdW5jdGlvbihlKXtyLmludGVybmFsUmVjb25uZWN0aW9uJiYoci5jb25uZWN0Q2FsbGJhY2s9bnVsbCwoMCxzLmRlYnVnKShgY29ubmVjdGlvbiB3YXMgbm90IHJlY29ubmVjdGVkYCksci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdF9lcnJvcmAsZSksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uQXR0ZW1wdHM+ci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQrMT9yLnJlY29ubmVjdChyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdCsxKTpyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGAsci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQpKX0pLGUub24oYGNvbm5lY3RgLGZ1bmN0aW9uKCl7KDAscy5kZWJ1ZykoYHNvY2tldCB3YXMgY29ubmVjdGVkYCksci5pbml0aWFsaXplZD0hMSxyLmludGVybmFsUmVjb25uZWN0aW5nPygoMCxzLmRlYnVnKShgY29ubmVjdGlvbiBpcyByZWNvbm5lY3RlZGApLHIuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RgKSxyLmludGVybmFsUmVjb25uZWN0aW5nPSExLHIuaW50ZXJuYWxSZWNvbm5lY3RpbmdBdHRlbXB0PTApOnIuZW1pdHRlci5lbWl0KGBjb25uZWN0YCksci5pbml0aWFsaXplKCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4oMCxzLmRlYnVnKShgc29ja2V0IHdhcyBpbml0aWFsaXplZGApLHIub25Jbml0aWFsaXplZChlKSxyLmNvbm5lY3RDYWxsYmFjayYmPShyLmNvbm5lY3RDYWxsYmFjayhudWxsLGUpLG51bGwpLGV9KS5jYXRjaChmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBub3QgaW5pdGlhbGl6ZWQgYCx0KHt9LGUpKSxyLm9uSW5pdGlhbGl6ZUVycm9yKGUpLHIuY29ubmVjdENhbGxiYWNrJiY9KHIuY29ubmVjdENhbGxiYWNrKGUpLG51bGwpfSl9KSxlLm9uKGBkaXNjb25uZWN0YCxmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBkaXNjb25uZWN0ZWQgcmVhc29uPScke2V9J2ApLHIuaW5pdGlhbGl6ZWQ9ITEsKCFyLmludGVybmFsUmVjb25uZWN0aW5nfHxyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdD09PTEpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYGRpc2Nvbm5lY3RgLGUpLHIuZGlzY29ubmVjdENhbGxiYWNrJiY9KHIuZGlzY29ubmVjdENhbGxiYWNrKCksbnVsbCl9LDEwMCksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uJiZyLmludGVybmFsUmVjb25uZWN0aW9uJiYhci5pbnRlcm5hbFJlY29ubmVjdGluZyYmKHIuZm9yY2VSZWNvbm5lY3R8fGUhPT1gaW8gc2VydmVyIGRpc2Nvbm5lY3RgKSYmci5yZWNvbm5lY3QoKX0pLGUub24oYHJlY29ubmVjdGluZ2AsZnVuY3Rpb24oZSl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGluZ2AsZSl9KSxlLm9uKGByZWNvbm5lY3RgLGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGApfSksZS5vbihgcmVjb25uZWN0X2F0dGVtcHRgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSl9KSxlLm9uKGByZWNvbm5lY3RfZXJyb3JgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfZXJyb3JgLGUpfSksZS5vbihgcmVjb25uZWN0X2ZhaWxlZGAsZnVuY3Rpb24oKXtyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGApfSksZS5vbihgZm9yY2VfcmVjb25uZWN0YCxmdW5jdGlvbigpeygwLHMuZGVidWcpKGByZWNlaXZlZCBldmVudCBmb3JjZV9yZWNvbm5lY3QsIHNldHRpbmcgZmxhZyBmb3JjZVJlY29ubmVjdCA9IHRydWVgKSxyLmZvcmNlUmVjb25uZWN0PSEwfSl9LGUucHJvdG90eXBlLmdldENvbm5lY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0aW9ufSxlLnByb3RvdHlwZS5pc0Nvbm5lY3RlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3Rpb24/LmNvbm5lY3RlZHx8ITF9LGUucHJvdG90eXBlLmlzSW5pdGlhbGl6ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0aWFsaXplZH0sZS5wcm90b3R5cGUuZ2V0SW5pdERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0RGF0YX0sZS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGEodGhpcyxmdW5jdGlvbih0KXtzd2l0Y2godC5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbm5lY3Rpb24/WzMsMl06WzQsdGhpcy5pbml0Q29ubmVjdGlvbigpXTtjYXNlIDE6dC5zZW50KCksdC5sYWJlbD0yO2Nhc2UgMjpyZXR1cm5bMixuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2UuaW5pdGlhbGl6ZWQ/dChlLmluaXREYXRhKTooKDAscy5kZWJ1ZykoYHN0YXJ0aW5nIGNvbm5lY3RpbmdgKSxlLmNvbm5lY3RDYWxsYmFjaz0oMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pLGUuY29ubmVjdGlvbi5vcGVuKCkpfSldfX0pfSl9LGUucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4peyFlLmNvbm5lY3Rpb258fGUuY29ubmVjdGlvbi5kaXNjb25uZWN0ZWQ/KGUuY29ubmVjdGlvbj1udWxsLHQoKSk6KCgwLHMuZGVidWcpKGBzdGFydGluZyBkaXNjb25uZWN0aW5nYCksZS5kaXNjb25uZWN0Q2FsbGJhY2s9KDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSxlLmNvbm5lY3Rpb24uY2xvc2UoKSxlLmNvbm5lY3Rpb249bnVsbCl9KX0sZS5wcm90b3R5cGUucmVjb25uZWN0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGU9PT12b2lkIDAmJihlPTEpLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITAsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9ZSx0aGlzLmRpc2Nvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKCl7dmFyIG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKih0Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheU1heC10Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheSkrdC5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uRGVsYXkpO3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIHdpbGwgcmVjb25uZWN0IGluICR7bn1tc2ApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RpbmdgLGUpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3NldFRpbWVvdXQoZSxuKX0pfSkudGhlbihmdW5jdGlvbigpe3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIGlzIHN0YXJ0aW5nIHJlY29ubmVjdGApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSksdC5jb25uZWN0KCl9KX0sZS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtlKHt9KX0pfSxlLnByb3RvdHlwZS5vbkluaXRpYWxpemVkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMuaW5pdGlhbGl6ZWQ9ITAsdGhpcy5pbml0RGF0YT1lLCgwLHMuZGVidWcpKGBlbWl0IGluaXRpYWxpemVkYCksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVkYCxlKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodC5zZW5kQnVmZmVyLmxlbmd0aD4wKXsoMCxzLmRlYnVnKShgc2VuZGluZyBidWZmZXJlZCAke3Quc2VuZEJ1ZmZlci5sZW5ndGh9IGV2ZW50c2ApO2Zvcih2YXIgZT0wO2U8dC5zZW5kQnVmZmVyLmxlbmd0aDtlKyspe3ZhciBuPXQuc2VuZEJ1ZmZlcltlXTt0LmNvbm5lY3Rpb24uZW1pdChuLm5hbWUsbi5kYXRhLG4uY2FsbGJhY2spfXQuc2VuZEJ1ZmZlcj1bXX19LDEpKX0sZS5wcm90b3R5cGUub25Jbml0aWFsaXplRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5kaXNjb25uZWN0KCksKDAscy5kZWJ1ZykoYGVtaXQgaW5pdGlhbGl6ZV9lcnJvcmAsdCh7fSxlKSksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVfZXJyb3JgLGUpfSxlLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUsdCxuKXt0aGlzLmluaXRpYWxpemVkP3RoaXMuY29ubmVjdGlvbi5lbWl0KGUsdCxuKTp0aGlzLnNlbmRCdWZmZXIucHVzaCh7bmFtZTplLGRhdGE6dCxjYWxsYmFjazpufSl9LGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGUucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0W25dPWFyZ3VtZW50c1tuXTtyZXR1cm4oZT10aGlzLmVtaXR0ZXIpLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseShlLHQpLHRoaXN9LGV9KCk7dmFyIGY9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmLlNvY2tldEVycm9yfX0pLHIoRWMoKSxlKX0pKSxPYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCksbj1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiBuPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSxuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0scj1lJiZlLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LG4scil7ZnVuY3Rpb24gaShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSl9cmV0dXJuIG5ldyhufHw9UHJvbWlzZSkoZnVuY3Rpb24obixhKXtmdW5jdGlvbiBvKGUpe3RyeXtjKHIubmV4dChlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gcyhlKXt0cnl7YyhyLnRocm93KGUpKX1jYXRjaChlKXthKGUpfX1mdW5jdGlvbiBjKGUpe2UuZG9uZT9uKGUudmFsdWUpOmkoZS52YWx1ZSkudGhlbihvLHMpfWMoKHI9ci5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pfSxpPWUmJmUuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKGUsdCl7dmFyIG49e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKGFbMF0mMSl0aHJvdyBhWzFdO3JldHVybiBhWzFdfSx0cnlzOltdLG9wczpbXX0scixpLGEsbz1PYmplY3QuY3JlYXRlKCh0eXBlb2YgSXRlcmF0b3I9PWBmdW5jdGlvbmA/SXRlcmF0b3I6T2JqZWN0KS5wcm90b3R5cGUpO3JldHVybiBvLm5leHQ9cygwKSxvLnRocm93PXMoMSksby5yZXR1cm49cygyKSx0eXBlb2YgU3ltYm9sPT1gZnVuY3Rpb25gJiYob1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxvO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBjKFtlLHRdKX19ZnVuY3Rpb24gYyhzKXtpZihyKXRocm93IFR5cGVFcnJvcihgR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLmApO2Zvcig7byYmKG89MCxzWzBdJiYobj0wKSksbjspdHJ5e2lmKHI9MSxpJiYoYT1zWzBdJjI/aS5yZXR1cm46c1swXT9pLnRocm93fHwoKGE9aS5yZXR1cm4pJiZhLmNhbGwoaSksMCk6aS5uZXh0KSYmIShhPWEuY2FsbChpLHNbMV0pKS5kb25lKXJldHVybiBhO3N3aXRjaChpPTAsYSYmKHM9W3NbMF0mMixhLnZhbHVlXSksc1swXSl7Y2FzZSAwOmNhc2UgMTphPXM7YnJlYWs7Y2FzZSA0OnJldHVybiBuLmxhYmVsKysse3ZhbHVlOnNbMV0sZG9uZTohMX07Y2FzZSA1Om4ubGFiZWwrKyxpPXNbMV0scz1bMF07Y29udGludWU7Y2FzZSA3OnM9bi5vcHMucG9wKCksbi50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoKGE9bi50cnlzLCEoYT1hLmxlbmd0aD4wJiZhW2EubGVuZ3RoLTFdKSkmJihzWzBdPT09Nnx8c1swXT09PTIpKXtuPTA7Y29udGludWV9aWYoc1swXT09PTMmJighYXx8c1sxXT5hWzBdJiZzWzFdPGFbM10pKXtuLmxhYmVsPXNbMV07YnJlYWt9aWYoc1swXT09PTYmJm4ubGFiZWw8YVsxXSl7bi5sYWJlbD1hWzFdLGE9czticmVha31pZihhJiZuLmxhYmVsPGFbMl0pe24ubGFiZWw9YVsyXSxuLm9wcy5wdXNoKHMpO2JyZWFrfWFbMl0mJm4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZX1zPXQuY2FsbChlLG4pfWNhdGNoKGUpe3M9WzYsZV0saT0wfWZpbmFsbHl7cj1hPTB9aWYoc1swXSY1KXRocm93IHNbMV07cmV0dXJue3ZhbHVlOnNbMF0/c1sxXTp2b2lkIDAsZG9uZTohMH19fSxhPWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLldlYnNvY2tldFZpc2l0b3JDbGllbnQ9dm9pZCAwO3ZhciBvPWEoRGMoKSkscz1EcygpLGM9ZnVuY3Rpb24oZSl7dChhLGUpO2Z1bmN0aW9uIGEodCl7dmFyIG49ZS5jYWxsKHRoaXMsdC5jb25uZWN0aW9uKXx8dGhpcztyZXR1cm4gbi5zZXJ2ZXJWZXJzaW9uPW51bGwsbi51cGRhdGVkVmFsdWVzPXt9LG4uY29ubmVjdERhdGE9dC5kYXRhLG4uaWRlbnRpdHk9bnVsbCxufXJldHVybiBhLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uPWZ1bmN0aW9uKHQpe2UucHJvdG90eXBlLnNldENvbm5lY3Rpb24uY2FsbCh0aGlzLHQpLHQub24oYHNlcnZlci5lcnJvcmAsKDAscy5ib3VuZCkodGhpcyxgb25TZXJ2ZXJFcnJvcmApKSx0Lm9uKGBhY2NvdW50LnVwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhY2NvdW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQudXBkYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGFnZW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQuc3RhdHVzX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhZ2VudC5zdGF0dXNfdXBkYXRlZGApKSx0Lm9uKGBhZ2VudC5yZW1vdmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgYWdlbnQucmVtb3ZlZGApKSx0Lm9uKGB2aXNpdG9yLnVwZGF0ZWRgLCgwLHMuYm91bmQpKHRoaXMsYG9uVmlzaXRvclVwZGF0ZWRgKSksdC5vbihgY2hhdC51cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC51cGRhdGVkYCkpLHQub24oYGNoYXQuYWdlbnRfam9pbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF9qb2luZWRgKSksdC5vbihgY2hhdC5hZ2VudF9hc3NpZ25lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfYXNzaWduZWRgKSksdC5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCkpLHQub24oYGNoYXQuYWdlbnRfbGVmdGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfbGVmdGApKSx0Lm9uKGBjaGF0Lm9wZW5lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQub3BlbmVkYCkpLHQub24oYGNoYXQuc2VydmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5zZXJ2ZWRgKSksdC5vbihgY2hhdC5jbG9zZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LmNsb3NlZGApKSx0Lm9uKGBjaGF0LnZpc2l0b3JfY2xvc2VkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC52aXNpdG9yX2Nsb3NlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgKSksdC5vbihgY2hhdC5tZXNzYWdlX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQubWVzc2FnZV9kZWxldGVkYCkpLHQub24oYGNoYXQuYWdlbnRfdHlwaW5nYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF90eXBpbmdgKSksdC5vbihgY2hhdC5yYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0ZWRgKSksdC5vbihgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCkpLHQub24oYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGApKSx0Lm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuY29udGFjdF9yZWFkYCkpLHQub24oYGNoYXQuZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuZGVsZXRlZGApKSx0Lm9uKGBjaGF0LnRpY2tldF9mb3JtX2ZpbmlzaGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCkpLHQub24oYGNoYXQudHJhbnNjcmlwdF9wZGZgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LnRyYW5zY3JpcHRfcGRmYCkpLHQub24oYGNvbnRhY3QuYWNxdWlyZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjb250YWN0LmFjcXVpcmVkYCkpLHQub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgaWRlbnRpdHkuc3RhdHVzX3VwZGF0ZWRgKSl9LGEucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGEucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxhLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlkZW50aXR5P3RoaXMuaWRlbnRpdHkuaWQ6bnVsbH0sYS5wcm90b3R5cGUuZ2V0SWRlbnRpdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZGVudGl0eX0sYS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBlLnByb3RvdHlwZS5jb25uZWN0LmNhbGwodGhpcyl9LGEucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gcih0aGlzLGFyZ3VtZW50cyx2b2lkIDAsZnVuY3Rpb24odCl7dmFyIG49dGhpcztyZXR1cm4gdD09PXZvaWQgMCYmKHQ9ITEpLGkodGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOnJldHVybiB0P1s0LG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7bi5zZW5kKGB2aXNpdG9yLmxvZ291dGAse30sKDAscy5jcmVhdGVDYWxsYmFjaykoZSx0KSl9KV06WzMsMl07Y2FzZSAxOnIuc2VudCgpLHIubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzIsZS5wcm90b3R5cGUuZGlzY29ubmVjdC5jYWxsKHRoaXMpXX19KX0pfSxhLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGU9PT12b2lkIDAmJihlPXt9KSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLGUpdGhpcy5pZGVudGl0eVt0XT1lW3RdLHRoaXMudXBkYXRlZFZhbHVlc1t0XT1lW3RdO3RoaXMuc2F2ZVZpc2l0b3JWYWx1ZXMoKX0sYS5wcm90b3R5cGUuYXV0aGVudGljYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYHZpc2l0b3IuYXV0aGVudGljYXRlYCx7dmFsdWVzOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLm5vdGlmeT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuIHQ9PT12b2lkIDAmJih0PW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24ocixpKXtuLnNlbmQoYHZpc2l0b3Iubm90aWZ5YCx7bmFtZTplLHZhbHVlOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRSZWFkPWZ1bmN0aW9uKCl7dGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSx0aGlzLnNlbmQoYGNoYXQucmVhZGAsbnVsbCl9LGEucHJvdG90eXBlLmNoYXRUeXBpbmc9ZnVuY3Rpb24oZSx0KXt0PT09dm9pZCAwJiYodD1udWxsKSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLHRoaXMuc2VuZChgY2hhdC50eXBpbmdgLHt0eXBpbmc6e2lzOmUsdGV4dDp0fX0pfSxhLnByb3RvdHlwZS5jaGF0TWVzc2FnZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lm1lc3NhZ2VgLGUsKDAscy5jcmVhdGVDYWxsYmFjaykobixyKSl9KX0sYS5wcm90b3R5cGUuY2hhdENsb3NlPWZ1bmN0aW9uKGUpe2U9PT12b2lkIDAmJihlPW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksdGhpcy5zZW5kKGBjaGF0LmNsb3NlYCx7dHlwZTplfSl9LGEucHJvdG90eXBlLmNoYXRVcGxvYWRJbml0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2Uuc2VuZChgY2hhdC51cGxvYWRfaW5pdGAsbnVsbCwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5jaGF0VXBsb2FkRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudXBsb2FkX2ZpbmlzaGAse3VwbG9hZFRva2VuOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRUcmFuc2NyaXB0PWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbihyLGkpe24uc2VuZChgY2hhdC50cmFuc2NyaXB0YCx7ZW1haWw6ZSxsYW5nOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRUaWNrZXRGb3JtRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlSW5pdD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQucmF0ZV9pbml0YCxudWxsLCgwLHMuY3JlYXRlQ2FsbGJhY2spKHQsbikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQucmF0ZWAsZSwoMCxzLmNyZWF0ZUNhbGxiYWNrKShuLHIpKX0pfSxhLnByb3RvdHlwZS5jaGF0VHJhbnNjcmlwdFBkZj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQudHJhbnNjcmlwdF9wZGZgLG51bGwsKDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSl9KX0sYS5wcm90b3R5cGUubGlua09wZW5lZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lmxpbmtfb3BlbmVkYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JDb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PW4oe3ZlcnNpb246YS5DTElFTlRfVkVSU0lPTn0sdGhpcy5jb25uZWN0RGF0YSk7Zm9yKHZhciByIGluIHRoaXMudXBkYXRlZFZhbHVlcyl0W3JdPXRoaXMudXBkYXRlZFZhbHVlc1tyXTtpZih0aGlzLnVwZGF0ZWRWYWx1ZXM9e30sdGhpcy5pZGVudGl0eSlmb3IodmFyIHIgaW4gdGhpcy5pZGVudGl0eSlbYGJhbm5lZEF0YCxgY2hhdElkYCxgc3RhdHVzYF0uaW5jbHVkZXMocil8fCh0W3JdPXRoaXMuaWRlbnRpdHlbcl0pO3JldHVybiB0aGlzLmVtaXR0ZXIuZW1pdChgaW5pdGlhbGl6ZWAsdCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5jb25uZWN0YCx0LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JEaXNjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5kaXNjb25uZWN0YCx7fSwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5vblZpc2l0b3JVcGRhdGVkPWZ1bmN0aW9uKGUpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLmNoYW5nZXMpYS5pZGVudGl0eVByb3BlcnRpZXMuaW5jbHVkZXMobikmJih0aGlzLmlkZW50aXR5JiYodGhpcy5pZGVudGl0eVtuXT1lLmNoYW5nZXNbbl0pLHRbbl09ZS5jaGFuZ2VzW25dKTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5sZW5ndGg+MCYmdGhpcy5lbWl0dGVyLmVtaXQoYHZpc2l0b3IudXBkYXRlZGAsdCl9LGEucHJvdG90eXBlLm9uU2VydmVyRXJyb3I9ZnVuY3Rpb24oZSl7dmFyIHQ9KDAscy5jcmVhdGVTb2NrZXRFcnJvcikoZSk7dGhpcy5lbWl0dGVyLmVtaXQoYGVycm9yYCx0KX0sYS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMudmlzaXRvckNvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlLnNlcnZlclZlcnNpb249dC5zZXJ2ZXJWZXJzaW9uLGUuaWRlbnRpdHk9bihuKHt9LHQudmlzaXRvcikse3ZhcmlhYmxlczpuKHt9LHQudmlzaXRvci52YXJpYWJsZXMpfSksdH0pfSxhLnByb3RvdHlwZS5zYXZlVmlzaXRvclZhbHVlcz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5pbml0aWFsaXplZCYmc2V0VGltZW91dChmdW5jdGlvbigpe2lmKCEoIWUuaW5pdGlhbGl6ZWR8fE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUudXBkYXRlZFZhbHVlcykubGVuZ3RoPT09MCkpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLnVwZGF0ZWRWYWx1ZXMpdFtuXT1lLnVwZGF0ZWRWYWx1ZXNbbl07ZS5zZW5kKGB2aXNpdG9yLnVwZGF0ZWAse3ZhbHVlczp0fSksZS51cGRhdGVkVmFsdWVzPXt9fX0sMSl9LGEucHJvdG90eXBlLmNoZWNrU2VydmVyVmVyc2lvbj1mdW5jdGlvbigpe2lmKHRoaXMuc2VydmVyVmVyc2lvbj09PW51bGwpdGhyb3cgRXJyb3IoYENsaWVudCBub3QgeWV0IGNvbm5lY3RlZCB0byBzZXJ2ZXJgKX0sYS5DTElFTlRfVkVSU0lPTj02LGEuaWRlbnRpdHlQcm9wZXJ0aWVzPVtgaWRgLGBuYW1lYCxgZW1haWxgLGBwaG9uZWAsYGNoYXRJZGAsYHZhcmlhYmxlc2AsYGxhbmdgLGBncm91cGAsYGJhbm5lZEF0YCxgdHJpZ2dlcmFibGVgLGB2aXNpdHNgLGBnZHByQXBwcm92ZWRgXSxhfShvLmRlZmF1bHQpO2UuV2Vic29ja2V0VmlzaXRvckNsaWVudD1jLChmdW5jdGlvbihlKXsoZnVuY3Rpb24oZSl7ZS5XaWRnZXRPcGVuPWB3aWRnZXRfb3BlbmAsZS5XaWRnZXRTaG93PWB3aWRnZXRfc2hvd2AsZS5WaXNpdG9yQWN0aXZlPWB2aXNpdG9yX2FjdGl2ZWAsZS5WaXNpdG9ySW5hY3RpdmU9YHZpc2l0b3JfaW5hY3RpdmVgfSkoZS5FdmVudE5hbWV8fD17fSl9KShjfHwoZS5XZWJzb2NrZXRWaXNpdG9yQ2xpZW50PWM9e30pKX0pKSxrYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLEFjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5SYXRpbmdUYXJnZXQ9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLkFnZW50PWBhZ2VudGAsZS5BaT1gYWlgfSkodHx8KGUuUmF0aW5nVGFyZ2V0PXQ9e30pKX0pKSxqYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj1lLk1lc3NhZ2VEZWxpdmVyeVN0YXR1cz1lLkFnZW50RGV2aWNlUGxhdGZvcm09ZS5BZ2VudERldmljZVR5cGU9ZS5WaXNpdG9yU3RhdHVzPWUuQ2hhdFJlYWRJbmZvVHlwZT1lLkNoYXRTdGF0dXM9ZS5BZ2VudFN0YXR1cz1lLkFjY291bnRTdGF0dXM9dm9pZCAwLGUuQWNjb3VudFN0YXR1cz17T25saW5lOmBvbmxpbmVgLE9mZmxpbmU6YG9mZmxpbmVgLE9mZmxpbmVXaXRoQUk6YG9mZmxpbmVXaXRoQWlgfSxlLkFnZW50U3RhdHVzPXtPbmxpbmU6YG9ubGluZWAsT2ZmbGluZTpgb2ZmbGluZWB9LGUuQ2hhdFN0YXR1cz17UGVuZGluZzpgcGVuZGluZ2AsT3Blbjpgb3BlbmAsQ2xvc2VkOmBjbG9zZWRgLFNlcnZlZDpgc2VydmVkYH0sZS5DaGF0UmVhZEluZm9UeXBlPXtBZ2VudDpgYWdlbnRgLENvbnRhY3Q6YGNvbnRhY3RgfSxlLlZpc2l0b3JTdGF0dXM9e0FjdGl2ZTpgYWN0aXZlYCxDbGlja2VkOmBjbGlja2VkYCxJZGxlOmBpZGxlYCxTZXJ2ZWQ6YHNlcnZlZGAsVW5zZXJ2ZWQ6YHVuc2VydmVkYCxUcmlnZ2VyZWQ6YHRyaWdnZXJlZGB9LGUuQWdlbnREZXZpY2VUeXBlPXtCcm93c2VyOmBicm93c2VyYCxNb2JpbGU6YG1vYmlsZWAsWG1wcDpgeG1wcGAsT3RoZXI6YG90aGVyYH0sZS5BZ2VudERldmljZVBsYXRmb3JtPXtJT1M6YGlvc2AsQU5EUk9JRDpgYW5kcm9pZGB9LGUuTWVzc2FnZURlbGl2ZXJ5U3RhdHVzPXtPazpgb2tgLFBlcm1hbmVudEZhaWw6YHBlcm1hbmVudF9mYWlsYCxUZW1wb3JhcnlGYWlsOmB0ZW1wb3JhcnlfZmFpbGAsQ29tcGxhaW5lZDpgY29tcGxhaW5lZGAsU2Vlbjpgc2VlbmB9LGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj17RmFjZWJvb2syNGhXaW5kb3c6YGZhY2Vib29rLm91dHNpZGVfYWxsb3dlZF93aW5kb3dgLEluc3RhZ3JhbUV4Y2VlZGVkRmlsZVNpemU6YGluc3RhZ3JhbS5leGNlZWRlZF9maWxlX3NpemVgLEluc3RhZ3JhbVVua25vd246YGluc3RhZ3JhbS51bmtub3duYCxJbnN0YWdyYW1VbnN1cHBvcnRlZEZpbGVUeXBlOmBpbnN0YWdyYW0udW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVuc3VwcG9ydGVkRmlsZTpgd2hhdHNhcHAudW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVua25vd246YHdoYXRzYXBwLnVua25vd25gfX0pKSxNYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj1lLmRlZmF1bHQ9dm9pZCAwO3ZhciByPU9jKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYGRlZmF1bHRgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLldlYnNvY2tldFZpc2l0b3JDbGllbnR9fSksbihPYygpLGUpLG4oa2MoKSxlKSxuKEFjKCksZSk7dmFyIGk9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLlNvY2tldEVycm9yfX0pLG4oamMoKSxlKX0pKSxOYz1PKG51bGwpLFBjPU8oITEpLEZjPU8oW10pLEljPWU9PntGYy51cGRhdGUodD0+Wy4uLnQsZV0pfSxMYz0oKT0+e2xldCBlO3JldHVybiBGYy51cGRhdGUodD0+KGU9dC5wb3AoKSx0KSksZT8/bnVsbH0sUmM9KCk9PkEoRmMpLmxlbmd0aD09PTAsemM9ayhOYyxlPT5lIT09bnVsbCksQmM9KGUse3VzZVN0YWNrOnQ9ITF9PXt9KT0+e05jLnVwZGF0ZShuPT4odCYmbiYmSWMobiksUGMuc2V0KG4hPT1udWxsKSxlKSl9LFZjPSgpPT57bGV0IGU9bnVsbDtSYygpfHwoZT1MYygpKSxOYy5zZXQoZSl9LEhjPWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3B0aW9ucz0wXT1gT3B0aW9uc2AsZVtlLkdkcHJBbmRQcml2YWN5PTFdPWBHZHByQW5kUHJpdmFjeWAsZVtlLkF1dGhGb3JtPTJdPWBBdXRoRm9ybWAsZVtlLkNsb3NlQ2hhdD0zXT1gQ2xvc2VDaGF0YCxlW2UuQ2hhdFJhdGluZz00XT1gQ2hhdFJhdGluZ2AsZVtlLlRpY2tldEZvcm09NV09YFRpY2tldEZvcm1gLGV9KHt9KSxVYz0xZTMsV2M9U3ltYm9sKGBjb250ZW50TGlzdEl0ZW1gKSxHYz1TeW1ib2woYGNvbnRlbnRNZXNzYWdlQXR0YWNobWVudGApLEtjPWAtcmVwbGllc2AscWM9LjM1LEpjPTVlMyxZYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLFhjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5DYXJkQWN0aW9uVHlwZT1lLkNhcmRzTGF5b3V0PXZvaWQgMCxlLkNhcmRzTGF5b3V0PXtDYXJvdXNlbDpgY2Fyb3VzZWxgfSxlLkNhcmRBY3Rpb25UeXBlPXtPcGVuVXJsOmBvcGVuX3VybGB9fSkpLFpjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSl9KSksUWM9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLlJhdGluZ1RhcmdldD1lLkdyb3VwVHlwZT1lLkNoYW5uZWxUeXBlPWUuTWVzc2FnZVN1YlR5cGU9ZS5NZXNzYWdlVHlwZT1lLkF0dGFjaG1lbnRJbnZhbGlkUmVhc29uPWUuQXR0YWNobWVudFR5cGU9ZS5NZXNzYWdlQWN0aW9uVHlwZT12b2lkIDAsZS5NZXNzYWdlQWN0aW9uVHlwZT17VGV4dDpgdGV4dGAsT3BlblVybDpgb3Blbl91cmxgfSxlLkF0dGFjaG1lbnRUeXBlPXtDYXJkczpgY2FyZHNgLEZpbGU6YGZpbGVgLEltYWdlOmBpbWFnZWAsTWVkaWE6YG1lZGlhYCxJbnZhbGlkOmBpbnZhbGlkYH0sZS5BdHRhY2htZW50SW52YWxpZFJlYXNvbj17SW52YWxpZFNpemU6YGludmFsaWRfc2l6ZWAsSW52YWxpZFR5cGU6YGludmFsaWRfdHlwZWB9LGUuTWVzc2FnZVR5cGU9e01lc3NhZ2U6YG1lc3NhZ2VgLE5vdGU6YG5vdGVgLEV2ZW50OmBldmVudGAsSGVscDpgaGVscGB9LGUuTWVzc2FnZVN1YlR5cGU9e0FnZW50OmBhZ2VudGAsQ29udGFjdDpgY29udGFjdGAsVHJpZ2dlcjpgdHJpZ2dlcmAsQm90OmBib3RgLFN5c3RlbTpgc3lzdGVtYCxBZ2VudEV4dGVybmFsOmBhZ2VudF9leHRlcm5hbGAsRm91bmRFbWFpbDpgZm91bmRfZW1haWxgLENoYXRSZXNvbHZlOmBjaGF0X3Jlc29sdmVgLEVtYWlsOmBlbWFpbGB9LGUuQ2hhbm5lbFR5cGU9e0RlZmF1bHQ6YGRlZmF1bHRgLEVtYWlsOmBlbWFpbGAsRW1haWxJbnRlZ3JhdGlvbjpgZW1haWxfaW50ZWdyYXRpb25gLEZhY2Vib29rTWVzc2VuZ2VyOmBmYWNlYm9va19tZXNzZW5nZXJgLEdtYWlsOmBnbWFpbGAsU21hcnRzdXBwOmBzbWFydHN1cHBgLEluc3RhZ3JhbTpgaW5zdGFncmFtYCxXaGF0c2FwcDpgd2hhdHNhcHBgfTt2YXIgdDsoZnVuY3Rpb24oZSl7ZS5haT1gYWlgLGUuY2hhdGJvdD1gY2hhdGJvdGAsZS5tZXNzYWdlPWBtZXNzYWdlYH0pKHR8fChlLkdyb3VwVHlwZT10PXt9KSk7dmFyIG47KGZ1bmN0aW9uKGUpe2UuQWdlbnQ9YGFnZW50YCxlLkFpPWBhaWB9KShufHwoZS5SYXRpbmdUYXJnZXQ9bj17fSkpfSkpLCRjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5QYXJ0aWNpcGFudFR5cGU9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLmZyb209YGZyb21gLGUudG89YHRvYCxlLmNjPWBjY2AsZS5iY2M9YGJjY2B9KSh0fHwoZS5QYXJ0aWNpcGFudFR5cGU9dD17fSkpfSkpLGVsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5NZXNzYWdlQ29udGVudFR5cGU9ZS5NZXNzYWdlQ29udGVudD12b2lkIDA7dmFyIHQ7KGZ1bmN0aW9uKGUpeyhmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLFVwbG9hZDpgdXBsb2FkYCxSYXRlRm9ybTpgcmF0ZV9mb3JtYCxUaWNrZXRGb3JtOmB0aWNrZXRfZm9ybWAsRW1haWw6YGVtYWlsYH19KShlLk1lc3NhZ2V8fD17fSksKGZ1bmN0aW9uKGUpe2UuVHlwZT17QWdlbnRKb2luOmBhZ2VudF9qb2luYCxBZ2VudEFzc2lnbjpgYWdlbnRfYXNzaWduYCxBZ2VudFVuYXNzaWduOmBhZ2VudF91bmFzc2lnbmAsQWdlbnRMZWF2ZTpgYWdlbnRfbGVhdmVgLENoYXRDbG9zZTpgY2hhdF9jbG9zZWAsQ2hhdFZpc2l0b3JDbG9zZTpgY2hhdF92aXNpdG9yX2Nsb3NlYH19KShlLkV2ZW50fHw9e30pLChmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLEZvdW5kRW1haWw6YGZvdW5kX2VtYWlsYH19KShlLkhlbHB8fD17fSl9KSh0fHwoZS5NZXNzYWdlQ29udGVudD10PXt9KSksZS5NZXNzYWdlQ29udGVudFR5cGU9ey4uLnQuTWVzc2FnZS5UeXBlLC4uLnQuRXZlbnQuVHlwZSwuLi50LkhlbHAuVHlwZX19KSksdGw9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KX0pKSxubD1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksbihZYygpLGUpLG4oWGMoKSxlKSxuKFpjKCksZSksbihRYygpLGUpLG4oJGMoKSxlKSxuKGVsKCksZSksbih0bCgpLGUpfSkpLHJsPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIG9mIHQpe2xldCB0PVN0cmluZyhyW2VdKTtuW3RdPXJ9cmV0dXJuIG59LGlsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09Tyh7fSk7cmV0dXJue3N1YnNjcmliZTplLHNldEdyb3VwczplPT57dChybChga2V5YCxlKSl9fX0pKCksYWw9ayhbaWxdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpKSxvbD17YXV0aEZvcm1EcmF3ZXI6YGF1dGhGb3JtRHJhd2VyYCxhdXRoRm9ybVByaXZhY3lOb3RpY2U6YGF1dGhGb3JtUHJpdmFjeU5vdGljZWAsYXV0aEZvcm1Qcml2YWN5Tm90aWNlU3dpdGNoOmBhdXRoRm9ybVByaXZhY3lOb3RpY2VTd2l0Y2hgLGF1dGhGb3JtU3VibWl0QnV0dG9uOmBhdXRoRm9ybVN1Ym1pdEJ1dHRvbmAsYXZhdGFyQWdlbnQ6YGF2YXRhckFnZW50YCxhdmF0YXJCb3Q6YGF2YXRhckJvdGAsYXZhdGFyR3JvdXA6YGF2YXRhckdyb3VwYCxhdmF0YXJJbmZvOmBhdmF0YXJJbmZvYCxidXR0b25BdHRhY2htZW50OmBidXR0b25BdHRhY2htZW50YCxidXR0b25DbG9zZUNoYXQ6YGJ1dHRvbkNsb3NlQ2hhdGAsYnV0dG9uQ2xvc2VEcmF3ZXI6YGJ1dHRvbkNsb3NlRHJhd2VyYCxidXR0b25Db2xsYXBzZUNoYXQ6YGJ1dHRvbkNvbGxhcHNlQ2hhdGAsYnV0dG9uRW1vamk6YGJ1dHRvbkVtb2ppYCxidXR0b25FeHBhbmRDaGF0OmBidXR0b25FeHBhbmRDaGF0YCxidXR0b25NaW5pbWl6ZUNoYXQ6YGJ1dHRvbk1pbmltaXplQ2hhdGAsYnV0dG9uT3B0aW9uczpgYnV0dG9uT3B0aW9uc2AsYnV0dG9uU2VuZDpgYnV0dG9uU2VuZGAsY2hhdFJhdGluZ0RyYXdlcjpgY2hhdFJhdGluZ0RyYXdlcmAsY2hhdFJhdGluZ0Vtb2ppQnV0dG9uOmBjaGF0UmF0aW5nRW1vamlgLGNoYXRSYXRpbmdTZW5kQnV0dG9uOmBjaGF0UmF0aW5nU2VuZEJ1dHRvbmAsY2hhdFJhdGluZ1RleHRhcmVhOmBjaGF0UmF0aW5nVGV4dGFyZWFgLGNoYXRSYXRpbmdGZWVkYmFja0J1dHRvbjpgY2hhdFJhdGluZ0ZlZWRiYWNrQnV0dG9uYCxjaGF0UmF0aW5nQnV0dG9uQWk6YGNoYXRSYXRpbmdCdXR0b25BaWAsY2hhdFJhdGluZ0J1dHRvbkFnZW50OmBjaGF0UmF0aW5nQnV0dG9uQWdlbnRgLGNsb3NlQ2hhdENvbmZpcm1CdXR0b246YGNsb3NlQ2hhdENvbmZpcm1CdXR0b25gLGNsb3NlQ2hhdERlY2xpbmVCdXR0b246YGNsb3NlQ2hhdERlY2xpbmVCdXR0b25gLGNsb3NlQ2hhdERyYXdlcjpgY2xvc2VDaGF0RHJhd2VyYCxmbGFzaE1lc3NhZ2U6YGZsYXNoTWVzc2FnZWAsZ2RwckRyYXdlcjpgZ2RwckRyYXdlcmAsaGVhZGVyVGl0bGU6YGhlYWRlclRpdGxlYCxoZWFkZXJTdGF0dXM6YGhlYWRlclN0YXR1c2AsaGVhZGVyQmFkZ2U6YGhlYWRlckJhZGdlYCxpbmxpbmVFbW9qaVBpY2tlcjpgaW5saW5lRW1vamlQaWNrZXJgLG1lc3NhZ2VBdHRhY2htZW50OmBtZXNzYWdlQXR0YWNobWVudGAsbWVzc2FnZUFnZW50OmBtZXNzYWdlQWdlbnRgLG1lc3NhZ2VCb3Q6YG1lc3NhZ2VCb3RgLG1lc3NhZ2VCb3RSZXBseTpgbWVzc2FnZUJvdFJlcGx5YCxtZXNzYWdlQm90QmFjazpgbWVzc2FnZUJvdEJhY2tgLG1lc3NhZ2VDb250YWN0OmBtZXNzYWdlQ29udGFjdGAsbWVzc2FnZUZpbGU6YG1lc3NhZ2VGaWxlYCxtZXNzYWdlR3JvdXA6YG1lc3NhZ2VHcm91cGAsbWVzc2FnZUltYWdlOmBtZXNzYWdlSW1hZ2VgLG9wdGlvbnNBY2Nlc3NpYmlsaXR5OmBvcHRpb25zQWNjZXNzaWJpbGl0eWAsb3B0aW9uc0RyYXdlcjpgb3B0aW9uc0RyYXdlcmAsb3B0aW9uc0V4cGFuZENoYXQ6YG9wdGlvbnNFeHBhbmRDaGF0YCxvcHRpb25zUHJpdmFjeU5vdGljZTpgb3B0aW9uc1ByaXZhY3lOb3RpY2VgLG9wdGlvbnNTb3VuZHM6YG9wdGlvbnNTb3VuZHNgLG9wdGlvbnNUcmFuc2NyaXB0OmBvcHRpb25zVHJhbnNjcmlwdGAscG9wdXA6YHBvcHVwYCxwb3B1cE1lc3NhZ2U6YHBvcHVwTWVzc2FnZWAscG9wdXBCdXR0b246YHBvcHVwQnV0dG9uYCxwb3B1cEJ1dHRvbkNsb3NlOmBwb3B1cEJ1dHRvbkNsb3NlYCxwcm9kdWN0Q2FyZDpgcHJvZHVjdENhcmRgLHByb2R1Y3RDYXJkQXJyb3dMZWZ0OmBwcm9kdWN0Q2FyZEFycm93TGVmdGAscHJvZHVjdENhcmRBcnJvd1JpZ2h0OmBwcm9kdWN0Q2FyZEFycm93UmlnaHRgLHByb2R1Y3RDYXJkQnV0dG9uOmBwcm9kdWN0Q2FyZEJ1dHRvbmAscHJvZHVjdENhcmRDYXJvdXNlbDpgcHJvZHVjdENhcmRDYXJvdXNlbGAscHJvZHVjdENhcmREZXNjcmlwdGlvbjpgcHJvZHVjdENhcmREZXNjcmlwdGlvbmAscHJvZHVjdENhcmRJbWFnZTpgcHJvZHVjdENhcmRJbWFnZWAscHJvZHVjdENhcmRJbmZvOmBwcm9kdWN0Q2FyZEluZm9gLHByb2R1Y3RDYXJkVGl0bGU6YHByb2R1Y3RDYXJkVGl0bGVgLHN5c3RlbU1lc3NhZ2U6YHN5c3RlbU1lc3NhZ2VgLHRleHRhcmVhOmB0ZXh0YXJlYWAsdGV4dGFyZWFQcmV2aWV3RmlsZTpgdGV4dGFyZWFQcmV2aWV3RmlsZWAsdGV4dGFyZWFQcmV2aWV3SW1hZ2U6YHRleHRhcmVhUHJldmlld0ltYWdlYCx0cmFuc2NyaXB0SW5wdXQ6YHRyYW5zY3JpcHRJbnB1dGAsdHJhbnNjcmlwdFNlbmRCdXR0b246YHRyYW5zY3JpcHRTZW5kYCx0aWNrZXRGb3JtRHJhd2VyOmB0aWNrZXRGb3JtRHJhd2VyYCx0aWNrZXRGb3JtU3VibWl0QnV0dG9uOmB0aWNrZXRGb3JtU3VibWl0QnV0dG9uYCx3aWRnZXRCdXR0b246YHdpZGdldEJ1dHRvbmAsd2lkZ2V0QnV0dG9uRnJhbWU6YHdpZGdldEJ1dHRvbkZyYW1lYCx3aWRnZXRCdXR0b25UZXh0OmB3aWRnZXRCdXR0b250ZXh0YCx3aWRnZXRJbWFnZVByZXZpZXc6YHdpZGdldEltYWdlUHJldmlld2Asd2lkZ2V0TWVzc2VuZ2VyOmB3aWRnZXRNZXNzZW5nZXJgLHdpZGdldE1lc3NlbmdlckZyYW1lOmB3aWRnZXRNZXNzZW5nZXJGcmFtZWAsd2lkZ2V0T25saW5lQmFkZ2U6YHdpZGdldE9ubGluZUJhZGdlYCx3aWRnZXRQb3B1cEZyYW1lOmB3aWRnZXRQb3B1cEZyYW1lYCx3aWRnZXRUeXBpbmdGcmFtZTpgd2lkZ2V0VHlwaW5nRnJhbWVgLHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2U6YHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2VgLHdpZGdldEhlYWRlcjpgd2lkZ2V0SGVhZGVyYH0sc2w9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb21gLGNsPWAvcG93ZXJlZC1ieS1zbWFydHN1cHBgLGxsPVtgY3NgLGBlc2AsYGZyYCxgaHVgLGBpdGAsYGRlYCxgbmxgLGBwbGBdLHVsPWBodHRwczovL3d3dy5zbWFydHN1cHAuY29tL215LWRhdGEtYW5kLWdkcHJgLGRsPU8oITEpLGZsPXJzKFUuU2Vzc2lvbklkLGBgKSxwbD0oKT0+e2xldHtwcm90b2NvbDplLGhvc3Q6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7ZT09PWBodHRwYD9gaHR0cGA6YGh0dHBzYH06Ly8ke3R9YH0sbWw9KCk9PntsZXR7bW9iaWxlU2RrOmUsdmlzaXRvcklkOnR9PVYuZ2V0T3B0aW9ucygpO2lmKGUmJnQpcmV0dXJuIHQ7dHJ5e3JldHVybiAkbygpfWNhdGNoKGUpe3JldHVybiBIKFN0cmluZyhlKSksbnVsbH19LGhsPShlLHQpPT57bGV0IG49Zm8oKS5sb2NhdGlvbi5ocmVmO3JldHVybiBlJiZ0JiYobj1gJHtufSR7bi5pbmNsdWRlcyhgP2ApP2AmYDpgP2B9c3MtYm90LXJ1bj0ke3R9YCksbn0sZ2w9KCk9PntKLmNsZWFyTWVzc2FnZXMoKSxtZCgpLEd1LmNsZWFyQXNzaWduZWRBZ2VudElkcygpLFJvKCksa28oVS5WaXNpdG9ySWQpfSxfbD1lPT57dHJ5e2VzKGUpfWNhdGNoKGUpe0goU3RyaW5nKGUpKX19LHZsPWFzeW5jKGU9ITEpPT57bGV0e2tleTp0LGxhbmc6bixpc1ByZXZpZXdNb2RlOnIscHJldmlld1dpdGhvdXRSZXNldDppLHNpdGVQbGF0Zm9ybTphLHRyaWdnZXJhYmxlOm8sX2NoYXRNYXhSZW9wZW5UaW1lOnMsYm90SWQ6Y309Vi5nZXRPcHRpb25zKCk7KHImJiFpfHxlKSYmZ2woKTtsZXQgbD1tbCgpLHU9QShsYik7cmV0dXJue2tleTp0LGlkOmwsY2xpZW50RmluZ2VycHJpbnQ6YXdhaXQgUW8oKSxpc1ByZXZpZXdNb2RlOnIsc2l0ZVBsYXRmb3JtOmEsdHJpZ2dlcmFibGU6byxfY2hhdE1heFJlb3BlblRpbWU6cyxuYW1lOnUubmFtZSxlbWFpbDp1LmVtYWlsLHBob25lOnUucGhvbmUsZ3JvdXA6dS5ncm91cCxsYW5nOnUubGFuZz8/bix2YXJpYWJsZXM6dS52YXJpYWJsZXMsd2lkZ2V0VmVyc2lvbjpgMy4wYCx2aXNpdHM6dHMoKSxpc1dpZGdldFZpc2libGU6QShSXyksaXNXaWRnZXRPcGVuOkEoWCkscGFnZVVybDpobChyLGMpLHBhZ2VUaXRsZTpmbygpLmRvY3VtZW50LnRpdGxlLGRvbWFpbjpmbygpLmxvY2F0aW9uLmhvc3RuYW1lfHxgdW5rbm93bmAscmVmZXJlcjpmbygpLmRvY3VtZW50LnJlZmVycmVyLGJ1bmRsZVZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgfX0seWw9KGUsdCk9PntsZXR7aXNQcmV2aWV3TW9kZTpufT1WLmdldE9wdGlvbnMoKTshZSYmdCE9PUEoZmwpJiYhbiYmKGdsKCksQShYKSYmWC5zZXQoITEpKSxmbC5zZXQodCl9LGJsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09TygpO3JldHVybntzdWJzY3JpYmU6ZSxpbml0aWFsaXplOmU9PnQoZSl9fSkoKSx4bD1gRklMRWAsU2w9MmUzLENsPWU9PmUuc3BsaXQoYC9gKVswXT09PWBpbWFnZWAsd2w9ZT0+ISFlLm1hdGNoKC9edmlkZW9cLyg/Om1wNHx3ZWJtfG9nZyl7MX0kLyk7YXN5bmMgZnVuY3Rpb24gVGwoZSl7aWYoIUZpbGVSZWFkZXIpcmV0dXJuIGpvKGBGaWxlUmVhZGVyIG5vdCBzdXBwb3J0ZWRgKSxudWxsO2xldCB0PW5ldyBGaWxlUmVhZGVyO3JldHVybiBuZXcgUHJvbWlzZShuPT57dC5vbmxvYWQ9KCk9PntpZighdC5yZXN1bHQpe24obnVsbCk7cmV0dXJufW4odHlwZW9mIHQucmVzdWx0PT1gc3RyaW5nYCYmdC5yZXN1bHQuc3RhcnRzV2l0aChgZGF0YTppbWFnZWApP3QucmVzdWx0Om51bGwpfSx0Lm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIGxvYWQgaW1hZ2UgZGF0YWApLG4obnVsbCl9LHQucmVhZEFzRGF0YVVSTChlKX0pfWFzeW5jIGZ1bmN0aW9uIEVsKGUpe3JldHVybiBuZXcgUHJvbWlzZSh0PT57bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaW1nYCk7bi5vbmxvYWQ9KCk9Pnt0KHt3aWR0aDpuLndpZHRoLGhlaWdodDpuLmhlaWdodH0pfSxuLm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIG9idGFpbiBpbWFnZSBkaW1lbnNpb25zYCksdChudWxsKX0sbi5zcmM9ZX0pfWZ1bmN0aW9uIERsKGUpe3JldHVybntob3Jpem9udGFsOmUud2lkdGg+ZS5oZWlnaHQsdmVydGljYWw6ZS5oZWlnaHQ+ZS53aWR0aH19dmFyIE9sPWBhci5hei5iZy5ici5icy5jYS5jbi5jcy5kYS5kZS5lbC5lbi5lcy5ldC5mYS5maS5maWwuZnIuaGUuaGkuaHIuaHUuaXMuaXQuamEua2EubHQubHYubWsubmwubm8ucGwucHQucm8ucnUuc2suc2wuc3Iuc3YudGgudHIudHcudWtgLnNwbGl0KGAuYCksa2w9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLkZldGNoQWRhcHRlcj12b2lkIDA7dmFyIG49dChhYygpKTtlLkZldGNoQWRhcHRlcj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0aW9ucz17fSx0aGlzLm9wdGlvbnM9ZX1hc3luYyByZXF1ZXN0KGUsdCxyLGksYSl7bGV0IG89ey4uLnRoaXMub3B0aW9ucywuLi5hfSxzPWk/YD9gK24uZGVmYXVsdC5zdHJpbmdpZnkoaSk6YGA7dHJ5e2xldCBuPWF3YWl0IGZldGNoKGAke28uYmFzZVVSTHx8YGB9JHt0fSR7c31gLHttZXRob2Q6ZSxib2R5OnI/SlNPTi5zdHJpbmdpZnkocik6bnVsbCwuLi5vfSk7cmV0dXJue3N0YXR1czpuLnN0YXR1cyxzdGF0dXNUZXh0Om4uc3RhdHVzVGV4dCxkYXRhOmF3YWl0IG4uanNvbigpLGhlYWRlcnM6Wy4uLm4uaGVhZGVycy5lbnRyaWVzKCldLnJlZHVjZSgoZSxbdCxuXSk9PihlW3RdPW4sZSkse30pfX1jYXRjaChlKXt0aHJvdyBlLmlzT3BlbkFwaUVycm9yPSEwLGV9fXdpdGhPcHRpb25zKHQpe3JldHVybiBuZXcgZSh0KX19fSkpLEFsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Qcm9qZWN0TmFtZT1lLkVycm9yQ29kZT12b2lkIDAsZS5FcnJvckNvZGU9e0JhZFJlcXVlc3Q6YGJhZF9yZXF1ZXN0YCxOb3RBbGxvd2VkOmBub3RfYWxsb3dlZGAsTm90Rm91bmQ6YG5vdF9mb3VuZGAsRm9yYmlkZGVuOmBmb3JiaWRkZW5gLFRvb01hbnlSZXF1ZXN0czpgdG9vX21hbnlfcmVxdWVzdHNgLFVuYXV0aG9yaXplZDpgdW5hdXRob3JpemVkYCxVbnByb2Nlc3NhYmxlOmB1bnByb2Nlc3NhYmxlYH0sZS5Qcm9qZWN0TmFtZT17V2lkZ2V0OmB3aWRnZXRgLENoYXRib3Q6YGNoYXRib3RgfX0pKSxqbD1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuVHJhbnNsYXRpb25zQ2xpZW50UmF3PWUuVHJhbnNsYXRpb25zQ2xpZW50PXZvaWQgMCxlLlRyYW5zbGF0aW9uc0NsaWVudD1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmFkYXB0ZXI9ZSx0aGlzLnJhdz1uZXcgdCh0aGlzLmFkYXB0ZXIpfWdldERlZmF1bHRzKGUsdCxyKXtyZXR1cm4gdGhpcy5hZGFwdGVyLnJlcXVlc3QoYGdldGAsYC8ke2V9L3RyYW5zbGF0aW9ucy9sYW5nLyR7dH0vZGVmYXVsdHNgLG51bGwsbnVsbCxyKS50aGVuKG4pfX07dmFyIHQ9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5hZGFwdGVyPWV9Z2V0RGVmYXVsdHMoZSx0LG4pe3JldHVybiB0aGlzLmFkYXB0ZXIucmVxdWVzdChgZ2V0YCxgLyR7ZX0vdHJhbnNsYXRpb25zL2xhbmcvJHt0fS9kZWZhdWx0c2AsbnVsbCxudWxsLG4pfX07ZS5UcmFuc2xhdGlvbnNDbGllbnRSYXc9dDtmdW5jdGlvbiBuKGUpe3JldHVybiBlLmRhdGF9fSkpLE1sPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBUcmFuc2xhdGlvbnNDbGllbnRBcGk9dm9pZCAwO3ZhciB0PWpsKCksbj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMuYWRhcHRlcj1lLHRoaXMudHJhbnNsYXRpb25zPW5ldyB0LlRyYW5zbGF0aW9uc0NsaWVudChlKX13aXRoT3B0aW9ucyh0KXtyZXR1cm4gbmV3IGUodGhpcy5hZGFwdGVyLndpdGhPcHRpb25zKHQpKX19O2UuU21hcnRzdXBwVHJhbnNsYXRpb25zQ2xpZW50QXBpPW4sZS5kZWZhdWx0PW59KSksTmw9cygoZT0+e3ZhciB0PWUmJmUuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT8oZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9bik7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LG4pOyghaXx8KGBnZXRgaW4gaT8hdC5fX2VzTW9kdWxlOmkud3JpdGFibGV8fGkuY29uZmlndXJhYmxlKSkmJihpPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIsaSl9KTooZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9biksZVtyXT10W25dfSkpLG49ZSYmZS5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsbil7Zm9yKHZhciByIGluIGUpciE9PWBkZWZhdWx0YCYmIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiZ0KG4sZSxyKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLG4oQWwoKSxlKSxuKE1sKCksZSksbihqbCgpLGUpLGUuZGVmYXVsdD1NbCgpLlNtYXJ0c3VwcFRyYW5zbGF0aW9uc0NsaWVudEFwaX0pKSxQbD1rbCgpLEZsPU5sKCksSWw9ZT0+T2wuaW5jbHVkZXMoZSksTGw9ZT0+SWwoZSk/ZTpgZW5gLFJsPSgpPT57bGV0e2xhbmc6ZX09Vi5nZXRPcHRpb25zKCkse2xhbmc6dH09QShsYik7cmV0dXJuIExsKHQ/P2UpfTtmdW5jdGlvbiB6bCgpe3JldHVybiBuZXcgRmwuVHJhbnNsYXRpb25zQ2xpZW50KG5ldyBQbC5GZXRjaEFkYXB0ZXIoe2Jhc2VVUkw6YCR7Vi5nZXRPcHRpb25zKCkudHJhbnNsYXRpb25zQmFzZVVybH0vYXBpL3YxYH0pKX12YXIgQmw9YXN5bmMgZT0+emwoKS5nZXREZWZhdWx0cyhGbC5Qcm9qZWN0TmFtZS5XaWRnZXQsZSksVmw9KGUsdCk9PntsZXR7dHJhbnNsYXRlczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm57Li4uZSwuLi5uW3RdJiZuW3RdfX0sSGw9TyhgZW5gKSxVbD1PKHt9KSxXbD1hc3luYyBlPT57dHJ5e2xldCB0PVZsKGF3YWl0IEJsKGUpLGUpO1VsLnVwZGF0ZShuPT4oey4uLm4sW2VdOnR9KSl9Y2F0Y2h7am8oYEZldGNoIHRyYW5zbGF0aW9ucyBvZiAnJHtlfScgbGFuZ3VhZ2UgZmFpbGVkLmApfX0sR2w9YXN5bmMgZT0+e0EoVWwpW2VdfHxhd2FpdCBXbChlKSxIbC5zZXQoZSl9LEtsPWFzeW5jKCk9PntsZXQgZT1SbCgpO0hsLnNldChlKSxhd2FpdCBXbChlKX0scWw9ZT0+e2xldCB0PUEoSGwpLG49ey4uLkEoVWwpW3RdLC4uLmV9O1VsLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LEpsPShlLHQsbik9PntsZXQgcj1BKFVsKSxpPWB8JHt0fXxgO2lmKE9iamVjdC5rZXlzKHIpLmxlbmd0aD09PTApcmV0dXJuIGk7bGV0IGE9cltlXT8uW3RdfHxpO3JldHVybiBPYmplY3Qua2V5cyhuKS5tYXAoZT0+e2xldCB0PVJlZ0V4cChgeyR7ZX19YCxgZ2ApO2E9YS5yZXBsYWNlKHQsbltlXSl9KSxhfSxXPWsoW0hsLFVsXSwoW2VdKT0+KHQsbj17fSk9PkpsKGUsdCxuKSksWWw9KCgpPT57bGV0IGU9TyhbXSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lLHI9KCk9PkEoZSkubWFwKGU9PmUuZmlsZSksaT0odCxuKT0+KG58fEEoZSkpLmZpbmQoZT0+ZS5maWxlLm5hbWU9PT10KXx8bnVsbCxhPWU9Pih7ZmlsZTplLHByZXZpZXc6e30scHJldmlld1N0YXRlOmBub25lYCx1cGxvYWRTdGF0dXM6YG5vbmVgfSksbz1lPT57bGV0IHQ9QXJyYXkuaXNBcnJheShlKT9lOltlXTtuKGU9PmUubGVuZ3RoK3QubGVuZ3RoPjU/KGdzKGAke0EoVykoYGZpbGVVcGxvYWQudG9vTWFueUZpbGVzYCl9IDVgKSxlKTpbLi4uZSwuLi50Lm1hcChhKV0pLG0odCl9LHM9ZT0+e24odD0+dC5maWx0ZXIodD0+dC5maWxlIT09ZSkpfSxjPSgpPT5BKGUpLmxlbmd0aCxsPSgpPT5jKCk+PTUsdT0oKT0+ZS5zZXQoW10pLGQ9KCk9PntlLnVwZGF0ZShlPT4oZS5mb3JFYWNoKGU9PmUudXBsb2FkU3RhdHVzPWBpbi1wcm9ncmVzc2ApLGUpKX0sZj10PT57ZS51cGRhdGUoZT0+e2xldCBuPWkodCxlKTtyZXR1cm4gbiYmKG4udXBsb2FkU3RhdHVzPWBkb25lYCksZX0pfSxwPWU9PmkoZS5uYW1lKT8ucHJldmlld1N0YXRlIT09YG5vbmVgLG09ZT0+e2UuZm9yRWFjaChlPT52b2lkIGgoZSkpfSxoPWFzeW5jIHQ9PntpZihwKHQpKXJldHVybjtsZXQgbj1hd2FpdCBUbCh0KSxyPW4/YXdhaXQgRWwobik6bnVsbCxhPXI/RGwocik6bnVsbDtlLnVwZGF0ZShlPT57bGV0IG89aSh0Lm5hbWUsZSk7cmV0dXJuIG8/KG8ucHJldmlld1N0YXRlPWByZWFkeWAsby5wcmV2aWV3PXtkYXRhOm4sZGltZW5zaW9uczpyLG9yaWVudGF0aW9uOmF9LFsuLi5lXSk6ZX0pfTtyZXR1cm57c3Vic2NyaWJlOnQsZ2V0RmlsZXM6cixmaW5kOmksYWRkOm8scmVtb3ZlOnMsY291bnQ6Yyxpc0xpbWl0UmVhY2hlZDpsLGNsZWFyOnUsc2V0VXBsb2FkaW5nU3RhdHVzOmQsc2V0RmlsZVVwbG9hZGVkOmZ9fSkoKSxYbD0oKCk9PntsZXQgZT1bXTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7cHVzaDp0PT57ZS5wdXNoKHQpfSxleGVjdXRlQWxsOigpPT57Zm9yKDtlLmxlbmd0aD4wOyl7bGV0IHQ9ZS5zaGlmdCgpO3QmJnQoKX19fSl9KSgpLFpsPSgpPT57bGV0e3dpZGdldFYzVXJsOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke2V9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1haS1pZGVudGl0eS5wbmdgfSxRbD1lPT4oey4uLmUsYXZhdGFyVXJsOmUuYXZhdGFyVXJsfHxabCgpfSksJGw9KCgpPT57bGV0e3VwZGF0ZTplLHN1YnNjcmliZTp0LHNldDpufT1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0SWRlbnRpdGllczplPT57bihybChgaWRgLGUubWFwKFFsKSkpfSxhZGRJZGVudGl0eTp0PT57ZShlPT4oey4uLmUsW3QuaWRdOnR9KSl9LHVwZGF0ZUlkZW50aXR5Oih0LG4pPT57ZShlPT5lW3RdP3suLi5lLFt0XTp7Li4uZVt0XSwuLi5ufX06ZSl9fX0pKCksRz1ubCgpLEs9dShNYygpLDEpLGV1PWU9Pnt2byhgaW5pdCBkYXRhYCxlKSxkbC5zZXQoITApLHlsKGUuY2hhdCxlLnNlc3Npb25JZCk7bGV0IHQ9ZS52aXNpdG9yLmlkO19sKHQpLG5zKGUudmlzaXRvci52aXNpdHMpLE11LnNldFZpc2l0b3JEYXRhKGUudmlzaXRvciksaG8oe3ZpZDp0fSksYmwuaW5pdGlhbGl6ZShlLmZpbGVVcGxvYWQpLG9zLnNldChlLmJyb3dzZXIpLEJ1LnNldEFnZW50cyhlLmFjY291bnQuYWdlbnRzKSwkbC5zZXRJZGVudGl0aWVzKGUuYWNjb3VudC5ib3RJZGVudGl0aWVzKSxlLmNoYXQ/LnZpcnR1YWxBZ2VudCE9PXZvaWQgMCYmQnUuc2V0VmlydHVhbEFnZW50KGUuY2hhdD8udmlydHVhbEFnZW50KSxpbC5zZXRHcm91cHMoZS5hY2NvdW50Lmdyb3VwcyksaGQoZS5hY2NvdW50LnN0YXR1cyksZS5jaGF0JiYocXAoKSYmaWQuc2V0KGUuY2hhdC5yYXRpbmdTdWdnZXN0ZWRUYXJnZXR8fG51bGwpLGVkLnNldChlLmNoYXQuc3RhdHVzKSxkZChlLmNoYXQuaXNDbG9zZWQpLHJkLnNldChlLmNoYXQudW5yZWFkSW5mby5sYXN0UmVhZEF0KSxKLnNldE1lc3NhZ2VzKGUuY2hhdC5tZXNzYWdlcy5maWx0ZXIoZT0+IVpmKGUpKSksR3Uuc2V0QXNzaWduZWRBZ2VudElkcyhlLmNoYXQuYXNzaWduZWRJZHM/P1tdKSxlLmNoYXQud2lkZ2V0T3B0aW9ucyYmWHUudXBkYXRlR2VuZXJhbE9wdGlvbnMoZS5jaGF0LndpZGdldE9wdGlvbnMpKSxDXy5zZXQoITApLHouZW1pdChgd2lkZ2V0SW5pdGAsITApLFhsLmV4ZWN1dGVBbGwoKX0sdHU9ZT0+e2NvbnNvbGUuZXJyb3IoZSl9LG51PSgpPT57ZGwuc2V0KCExKX0scnU9KHtjaGF0SWQ6ZX0pPT57TXAuc2V0KCExKSxhZC5zZXQoZSksZWQuc2V0KEsuQ2hhdFN0YXR1cy5PcGVuKSxYdS5zZXRNZXNzYWdlT3B0aW9ucyh7ZGlzYWJsZUF0dGFjaG1lbnRzOiExfSl9LGl1PSgpPT57ZWQuc2V0KEsuQ2hhdFN0YXR1cy5TZXJ2ZWQpLGRkKCExKX0sYXU9KHttZXNzYWdlOmV9KT0+e2xldHtjbG9zZVR5cGU6dCxhZ2VudElkOm59PWUuY29udGVudC5kYXRhOyh0PT09YGFnZW50X2Nsb3NlYHx8dD09PWBib3RfY2xvc2VgKSYmKEd1LnNldEFzc2lnbmVkQWdlbnRJZHMoW10pLGVkLnNldChLLkNoYXRTdGF0dXMuQ2xvc2VkKSxKLmFkZE1lc3NhZ2UoZSksei5lbWl0KGBjaGF0Q2xvc2VkYCxlKSx0PT09YGFnZW50X2Nsb3NlYCYmUW0obj9BKFZ1KG4pKT8uZnVsbG5hbWU6dm9pZCAwKSl9LG91PSh7bWVzc2FnZTplfSk9PntxcCgpJiZZcCh4cyksZGQoITAse2J5VmlzaXRvcjohMH0pLEouYWRkTWVzc2FnZShlKSx6LmVtaXQoYGNoYXRWaXNpdG9yQ2xvc2VkYCxlKSxabSgpfSxzdT0oe2NoYW5nZXM6ZX0pPT57ZS53aWRnZXRPcHRpb25zJiZYdS51cGRhdGVHZW5lcmFsT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLGUuaXNDbG9zZWQhPT12b2lkIDAmJmRkKGUuaXNDbG9zZWQpLGUudmlydHVhbEFnZW50IT09dm9pZCAwJiZCdS5zZXRWaXJ0dWFsQWdlbnQoZS52aXJ0dWFsQWdlbnQpfSxjdT1hc3luYyh7bWVzc2FnZTplfSk9PntpZihaZihlKSlyZXR1cm47bGV0IHQ9QSh6XykmJllmKGUpOyFBKFgpJiZRZihlKSYmIXQ/QXAoZSk6YXdhaXQgSi5hZGRNZXNzYWdlKGUpLF9kKCksZS53aWRnZXRPcHRpb25zJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLHQmJlVfKCksei5lbWl0KGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxsdT1lPT57Y3UoZSl9LHV1PSh7bWVzc2FnZUlkOmUsZGVsZXRlZEF0OnR9KT0+e0EoSilbZV0/LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNoYXRSZXNvbHZlP0ouZGVsZXRlTWVzc2FnZShlKTpKLm1hcmtNZXNzYWdlQXNEZWxldGVkKGUsdCl9LGR1PSh7bWVzc2FnZTplfSk9PntKLnJlcGxhY2VNZXNzYWdlKGUpLGUud2lkZ2V0T3B0aW9ucyYmZS5pZD09PUEoQnApJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpfSxmdT0oe21lc3NhZ2U6ZSxhZ2VudDp0fSk9PntHdS5hZGRBc3NpZ25lZEFnZW50SWQoZS5jb250ZW50LmRhdGEuYWdlbnRJZCksSi5hZGRNZXNzYWdlKGUpLHouZW1pdChgYWdlbnRKb2luZWRgLHQpfSxwdT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLmFnZW50SWQpLEouYWRkTWVzc2FnZShlKX0sbXU9KHttZXNzYWdlOmV9KT0+e0d1LmFkZEFzc2lnbmVkQWdlbnRJZChlLmNvbnRlbnQuZGF0YS5hc3NpZ25lZCksSi5hZGRNZXNzYWdlKGUpfSxodT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLnVuYXNzaWduZWQpLEouYWRkTWVzc2FnZShlKX0sZ3U9ZT0+eyFlLnR5cGluZy5pcyYmQShNcCl8fG5kLnNldChlLnR5cGluZy5pcyl9LF91PWU9PntyZC5zZXQoZS5sYXN0UmVhZEF0KX0sdnU9KHttZXNzYWdlOmUscmF0aW5nOnR9KT0+e0oudXBkYXRlTWVzc2FnZVJhdGluZyhlKSx6LmVtaXQoYGNoYXRSYXRlZGAsdCl9LHl1PWU9Pnt6LmVtaXQoYHRyYW5zY3JpcHRQZGZgLGUpfSxidT0oe2lkOmUsY2hhbmdlczp0fSk9PntCdS51cGRhdGVBZ2VudChlLHQpfSx4dT0oe2lkOmUsc3RhdHVzOnR9KT0+e0J1LnVwZGF0ZUFnZW50KGUse3N0YXR1czp0fSl9LFN1PSh7c3RhdHVzOmV9KT0+e2hkKGUpfSxDdT1lPT57TXUudXBkYXRlVmlzaXRvckRhdGEoZSl9LHd1PWU9Pnt6LmVtaXQoYGNvbnRhY3RBY3F1aXJlZGAsZSl9LFR1PWU9PnsocXAoKXx8SnAoKSkmJmlkLnNldChlLnJhdGluZ1N1Z2dlc3RlZFRhcmdldCl9LEV1PSgpPT57QShpZCkmJmlkLnNldChudWxsKX0sRHU9KHtpZDplLGlzQWN0aXZlOnR9KT0+eyRsLnVwZGF0ZUlkZW50aXR5KGUse2lzQWN0aXZlOnR9KX0sT3U9RGMoKSxrdT1hc3luYyBlPT57bGV0IHQ9YXdhaXQgVi5hd2FpdE9wdGlvbnMoKTtyZXR1cm4gbmV3IEsuV2Vic29ja2V0VmlzaXRvckNsaWVudCh7ZGF0YTplLGNvbm5lY3Rpb246e3VybDpwbCgpLHNvY2tldDp0Lm1vY2s/bmV3IE91LlNvY2tldE1vY2sodC5tb2NrKTp2b2lkIDAsYmFsYW5jZXJVcmw6dC5iYWxhbmNlclVybCxvcHRpb25zOntwYXRoOmAvc29ja2V0YCxhdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITB9fX0pfSxBdT0oKT0+e2xldCBlPW51bGwsdD0oKT0+ISFlLG49KCk9PntpZighZSl0aHJvdyBFcnJvcihgVmlzaXRvciBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LHI9YXN5bmMgdD0+e2U9YXdhaXQga3UoYXdhaXQgdmwodCkpLGUmJihqdShlKSxhd2FpdCBlLmNvbm5lY3QoKS5jYXRjaChlPT57am8oYEZhaWxlZCBjb25uZWN0IHRvIHNlcnZlci5gLGUpfSkpfTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7Z2V0Q2xpZW50Om4saW5pdENsaWVudDpyLHJlbG9hZENsaWVudDphc3luYyh0LG4pPT57YXdhaXQgZT8uZGlzY29ubmVjdCgpLHQmJlYudXBkYXRlT3B0aW9ucyh7bW9jazp0fSksYXdhaXQgcihuKX0saXNJbml0aWFsaXplZDp0fSl9LGp1PWU9PntlLm9uKGBpbml0aWFsaXplZGAsZXUpLGUub24oYGVycm9yYCx0dSksZS5vbihgZGlzY29ubmVjdGAsbnUpLGUub24oYGNoYXQub3BlbmVkYCxydSksZS5vbihgY2hhdC5zZXJ2ZWRgLGl1KSxlLm9uKGBjaGF0LmNsb3NlZGAsYXUpLGUub24oYGNoYXQudmlzaXRvcl9jbG9zZWRgLG91KSxlLm9uKGBjaGF0LnVwZGF0ZWRgLHN1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLGx1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGAsZHUpLGUub24oYGNoYXQubWVzc2FnZV9kZWxldGVkYCx1dSksZS5vbihgY2hhdC5hZ2VudF9qb2luZWRgLGZ1KSxlLm9uKGBjaGF0LmFnZW50X2xlZnRgLHB1KSxlLm9uKGBjaGF0LmFnZW50X2Fzc2lnbmVkYCxtdSksZS5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCxodSksZS5vbihgY2hhdC5hZ2VudF90eXBpbmdgLGd1KSxlLm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsX3UpLGUub24oYGNoYXQucmF0ZWRgLHZ1KSxlLm9uKGBjaGF0LnJhdGluZ19zdWdnZXN0ZWRgLFR1KSxlLm9uKGBjaGF0LnJhdGluZ19jYW5jZWxsZWRgLEV1KSxlLm9uKGBjaGF0LnRyYW5zY3JpcHRfcGRmYCx5dSksZS5vbihgYWdlbnQudXBkYXRlZGAsYnUpLGUub24oYGFnZW50LnN0YXR1c191cGRhdGVkYCx4dSksZS5vbihgYWNjb3VudC51cGRhdGVkYCxTdSksZS5vbihgdmlzaXRvci51cGRhdGVkYCxDdSksZS5vbihgY29udGFjdC5hY3F1aXJlZGAsd3UpLGUub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCxEdSl9LHE9QXUoKSxNdT0oKCk9PntsZXQgZT1PKG51bGwpLHtzdWJzY3JpYmU6dCxzZXQ6bix1cGRhdGU6cn09ZSxpPWU9PntuKGUpfSxhPWU9PntyKHQ9PnQ/ey4uLnQsLi4uZX06bnVsbCl9LG89KGUsdCk9Pnt0cnl7cS5nZXRDbGllbnQoKS51cGRhdGUoe1tlXTp0fSl9Y2F0Y2godCl7am8oYFVwZGF0ZSBvZiB2aXNpdG9yIHByb3BlcnR5ICcke2V9JyBmYWlsZWQuYCxTdHJpbmcodCkpfX07cmV0dXJue3N1YnNjcmliZTp0LHNldFZpc2l0b3JEYXRhOmksdXBkYXRlVmlzaXRvckRhdGE6YSx1cGRhdGVWaXNpdG9yUHJvcGVydHk6KGUsdCk9PntpZighQShDXykpe3ViKGUsdCk7cmV0dXJufWEoe1tlXTp0fSksbyhlLHQpfSx1cGRhdGVWaXNpdG9yVmFyaWFibGVzOnQ9PntpZighQShDXykpe3ViKGB2YXJpYWJsZXNgLHQpO3JldHVybn1sZXQgbj1BKGUpO2lmKCFuKXJldHVybjtsZXQgcj1uLnZhcmlhYmxlczthKHt2YXJpYWJsZXM6ey4uLnIsLi4udH19KTtsZXQgaT17fTtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGU9Pnt0W2VdIT09cltlXSYmKGk9ey4uLmksW2VdOnRbZV19KX0pLE9iamVjdC5rZXlzKGkpLmxlbmd0aCE9PTAmJm8oYHZhcmlhYmxlc2AsaSl9LHVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YTp0PT57aWYoIUEoQ18pKXt1YihgY29udGFjdERhdGFgLHtwcm9wZXJ0aWVzOnR9KTtyZXR1cm59bGV0IG49QShlKTtpZighbilyZXR1cm47bGV0IHI9bj8uY29udGFjdERhdGE/LnByb3BlcnRpZXM7YSh7dmFyaWFibGVzOnsuLi5yLC4uLnR9fSk7bGV0IGk9e307T2JqZWN0LmtleXModCkuZm9yRWFjaChlPT57KCFyfHx0W2VdIT09cltlXSkmJihpPXsuLi5pLFtlXTp0W2VdfSl9KSxPYmplY3Qua2V5cyhpKS5sZW5ndGghPT0wJiZvKGBjb250YWN0RGF0YWAse3Byb3BlcnRpZXM6dH0pfX19KSgpLE51PShlLHQpPT5lLmhhc093blByb3BlcnR5KHQpLFB1PWU9PnR5cGVvZiBlPT1gYm9vbGVhbmAsRnU9ZT0+dHlwZW9mIGU9PWBudW1iZXJgLEl1PWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxMdT1lPT50eXBlb2YgZT09YHN0cmluZ2B8fGUgaW5zdGFuY2VvZiBTdHJpbmcsUnU9ZT0+THUoZSl8fEZ1KGUpfHxQdShlKSx6dT1lPT57bGV0IHQ9e307cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+e2xldCByPWVbbl07UnUocik/dFtuXT1yOkl1KHIpJiZOdShyLGB2YWx1ZWApJiZSdShyLnZhbHVlKSYmKHRbbl09ci52YWx1ZSl9KSx0fSxCdT0oKCk9PntsZXR7dXBkYXRlOmUsc3Vic2NyaWJlOnQsc2V0Om59PU8oe30pO3JldHVybntzdWJzY3JpYmU6dCxzZXRBZ2VudHM6ZT0+e24ocmwoYGlkYCxlKSl9LGFkZEFnZW50OnQ9PntlKGU9Pih7Li4uZSxbdC5pZF06dH0pKX0sdXBkYXRlQWdlbnQ6KHQsbik9PntlKGU9PmVbdF0/ey4uLmUsW3RdOnsuLi5lW3RdLC4uLm59fTplKX0sc2V0VmlydHVhbEFnZW50OnQ9PntsZXR7ZGVzY3JpcHRpb246bixhdmF0YXI6cixuYW1lOml9PXQsYT17fTtuJiYoYS5kZXNjcmlwdGlvbj1uKSxyJiYoYS5hdmF0YXI9ciksaSYmKGEuZnVsbG5hbWU9aSksZShlPT4oT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57ZVt0XT17Li4uZVt0XSwuLi5hfX0pLGUpKX19fSkoKSxWdT1lPT5rKFtCdV0sKFt0XSk9PnRbZV0/P251bGwpLEh1PWsoW2soW0J1XSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+IWUuZGlzYWJsZWQpKSxNdV0sKFtlLHRdKT0+e2xldCBuPXQ/Lmdyb3VwO3JldHVybiFufHxuPT09YGRlZmF1bHRgP2U6ZS5maWx0ZXIoZT0+ZS5ncm91cHMubGVuZ3RoPT09MHx8ZS5ncm91cHMuaW5jbHVkZXMobikpfSksVXU9ayhbSHVdLChbZV0pPT5lLmZpbHRlcihlPT5lLnN0YXR1cz09PUsuQWdlbnRTdGF0dXMuT25saW5lKSksV3U9ZT0+e2lmKGUpcmV0dXJuYCR7ZX0/c2l6ZT04MGA7bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1hdmF0YXIucG5nYH0sR3U9KCgpPT57bGV0e3N1YnNjcmliZTplLHNldDp0LHVwZGF0ZTpufT1PKFtdKTtyZXR1cm57c3Vic2NyaWJlOmUsc2V0QXNzaWduZWRBZ2VudElkczplPT57dChlKX0sYWRkQXNzaWduZWRBZ2VudElkOmU9PntuKHQ9PlsuLi5uZXcgU2V0KFsuLi50LGVdKV0pfSxyZW1vdmVBc3NpZ25lZEFnZW50SWQ6ZT0+e24odD0+dC5maWx0ZXIodD0+dCE9PWUpKX0sY2xlYXJBc3NpZ25lZEFnZW50SWRzOigpPT57dChbXSl9fX0pKCksS3U9ayhbR3UsQnVdLChbZSx0XSk9PmUubWFwKGU9PnRbZV0pLmZpbHRlcihCb29sZWFuKSkscXU9ayhbS3VdLChbZV0pPT5lLmxlbmd0aD4wKSxKdT1rKFtLdV0sKFtlXSk9PmUuZmlsdGVyKGU9PiFlLmRpc2FibGVkKSksWXU9ayhbS3VdLChbZV0pPT5lLnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLFh1PSgoKT0+e2xldCBlPU8oe2Rpc2FibGVBdHRhY2htZW50czohMSxkaXNhYmxlQXV0aGVudGljYXRpb246ITEsZGlzYWJsZUlucHV0OiExfSksdD1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOmsoW2UsdF0sKFtlLHRdKT0+KHsuLi5lLC4uLnR9KSkuc3Vic2NyaWJlLHVwZGF0ZUdlbmVyYWxPcHRpb25zOnQ9PntlLnVwZGF0ZShlPT4oey4uLmUsLi4udH0pKX0sc2V0TWVzc2FnZU9wdGlvbnM6ZT0+e3Quc2V0KGUpfX19KSgpLFp1PWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXR0YWNobWVudHMpLFF1PWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3Blbj0wXT1gT3BlbmAsZVtlLkNsb3NlZD0xXT1gQ2xvc2VkYCxlW2UuQ2xvc2VkQnlWaXNpdG9yPTJdPWBDbG9zZWRCeVZpc2l0b3JgLGV9KHt9KSwkdT1PKEsuQWNjb3VudFN0YXR1cy5PZmZsaW5lKSxlZD1PKG51bGwpLHRkPU8oUXUuT3BlbiksbmQ9TyghMSkscmQ9TyhudWxsKSxpZD1PKG51bGwpLGFkPU8oYGApLG9kPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5QZW5kaW5nKTtrKFtlZF0sKFtlXSk9PmUhPT1udWxsKTt2YXIgc2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLlNlcnZlZCksY2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLk9wZW4pLGxkPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5DbG9zZWQpLHVkPWsoW3NkLHRkXSwoW2UsdF0pPT5lJiZ0PT09UXUuT3BlbiksZGQ9KGUse2J5VmlzaXRvcjp0PSExfT17fSk9PntlP3RkLnNldCh0P1F1LkNsb3NlZEJ5VmlzaXRvcjpRdS5DbG9zZWQpOnRkLnNldChRdS5PcGVuKX0sZmQ9ayhbJHUsSnVdLChbZSx0XSk9PnQubGVuZ3RoPT09MD9lPT09Sy5BY2NvdW50U3RhdHVzLk9ubGluZTp0LnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLHBkPWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXV0aGVudGljYXRpb24pLG1kPSgpPT57bmQuc2V0KCExKSxlZC5zZXQobnVsbCksZGQoITEpLHJkLnNldChudWxsKX0saGQ9ZT0+e2U9PT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZVdpdGhBST8kdS5zZXQoSy5BY2NvdW50U3RhdHVzLk9ubGluZSk6JHUuc2V0KGUpfSxnZD0oKT0+e3JkLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLHEuZ2V0Q2xpZW50KCkuY2hhdFJlYWQoKX0sX2Q9KCk9PntsZXQgZT1wbygpLnZpc2liaWxpdHlTdGF0ZT09PWB2aXNpYmxlYDshQShMcCl8fCFBKFgpfHwhZXx8IUEoTl8pfHxnZCgpfSx2ZD1lPT4oey4uLlNzLGNoYXRJZDpBKGFkKSxjcmVhdGVkQXQ6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLGNvbnRlbnQ6ey4uLlNzLmNvbnRlbnQsZGF0YTp7dGFyZ2V0OmV9fX0pLHlkPSgpPT57ZGQoITAse2J5VmlzaXRvcjohMH0pLHEuZ2V0Q2xpZW50KCkuY2hhdENsb3NlKCksVmMoKSxxcCgpfHxXXygpfSxiZD1hc3luYyBlPT57YXdhaXQgSi5hZGRNZXNzYWdlKHZkKGUpKX0seGQ9KCk9PntKLmRlbGV0ZU1lc3NhZ2UoeHMpfTtmdW5jdGlvbiBTZChlKXtyZXR1cm4gZS5sZW5ndGg9PT0wP251bGw6ZVtlLmxlbmd0aC0xXX12YXIgQ2Q9ZT0+ZS5zbGljZSgoZS5sYXN0SW5kZXhPZihgLmApLTE+Pj4wKSsyKS50b0xvd2VyQ2FzZSgpLHdkPWU9PntsZXQgdD1lLG49MCxyPVtgQmAsYEtCYCxgTUJgLGBHQmBdO2Zvcig7dD49MTAyNCYmbjxyLmxlbmd0aC0xOyl0Lz0xMDI0LG4rKztyZXR1cm57c2l6ZTpNYXRoLmZsb29yKHQpLHVuaXQ6cltuXX19LFRkPWU9PntsZXQgdD1TZChlLnNwbGl0KGAuYCkpO3JldHVybiB0P3QudG9VcHBlckNhc2UoKTp4bH0sRWQ9KGUsdCk9PmAke2V9P25hbWU9JHt0fWAsRGQ9YXN5bmMoZSx0KT0+e2xldCBuPXEuZ2V0Q2xpZW50KCkscj1bXTtmb3IobGV0e2ZpbGU6aX1vZiBlKXtsZXQgZT1hd2FpdCBuLmNoYXRVcGxvYWRJbml0KCksYT1uZXcgRm9ybURhdGE7YS5hcHBlbmQoYGZpbGVgLGksaS5uYW1lKTt0cnl7aWYoIShhd2FpdCBmZXRjaChlLnVybCx7bWV0aG9kOmBwb3N0YCxib2R5OmF9KSkub2spdGhyb3cgRXJyb3IoYFVwbG9hZCBmYWlsZWRgKTtyLnB1c2goZS50b2tlbil9Y2F0Y2h7am8oYEZpbGUgWyR7aS5uYW1lfV0gdXBsb2FkIGZhaWxlZGApLGdzKEEoVykoYGZpbGVVcGxvYWQuZmlsZXNXZXJlbnRQcm9jZXNzZWRgKSl9ZmluYWxseXt0KGkpfX1yZXR1cm4gcn0sT2Q9YXN5bmMgZT0+e2xldCB0PXEuZ2V0Q2xpZW50KCk7dHJ5e2F3YWl0IHQuY2hhdFVwbG9hZEZpbmlzaChlKX1jYXRjaHtqbyhgRmFpbGVkIHRvIGZpbmlzaCBmaWxlIHVwbG9hZCBmb3IgJHtlfWApfX0sa2Q9MWUzLEFkPTZlNCxqZD0zNmU1LE1kPTg2NGU1LE5kPTI2MjhlNixQZD0zMTUzNmU2LEZkPWU9Pk1hdGguZmxvb3IoZS9BZCkqQWQsSWQ9KGUsdCk9PkZkKG5ldyBEYXRlKGUpLmdldFRpbWUoKSk9PT1GZChuZXcgRGF0ZSh0KS5nZXRUaW1lKCkpLExkPShlLHQpPT57bGV0IG49bmV3IERhdGUoZSkscj1uZXcgRGF0ZSh0KTtyZXR1cm4gbi5nZXREYXRlKCk9PT1yLmdldERhdGUoKSYmbi5nZXRNb250aCgpPT09ci5nZXRNb250aCgpJiZuLmdldEZ1bGxZZWFyKCk9PT1yLmdldEZ1bGxZZWFyKCl9LFJkPShlLHQpPT5lLmdldFRpbWUoKS10LmdldFRpbWUoKSx6ZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2hvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxCZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse3llYXI6YG51bWVyaWNgLG1vbnRoOmBudW1lcmljYCxkYXk6YG51bWVyaWNgLGhvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxWZD1lPT5MZChuZXcgRGF0ZSxlKT96ZDpCZCxIZD0oKT0+dHlwZW9mIEludGw8YHVgJiZgUmVsYXRpdmVUaW1lRm9ybWF0YGluIEludGwsVWQ9ZT0+SGQoKT9uZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQoZSx7bnVtZXJpYzpgYXV0b2B9KTpudWxsLFdkPVt7dW5pdDpgeWVhcmAsYW1vdW50OlBkfSx7dW5pdDpgbW9udGhgLGFtb3VudDpOZH0se3VuaXQ6YGRheWAsYW1vdW50Ok1kfSx7dW5pdDpgaG91cmAsYW1vdW50OmpkfSx7dW5pdDpgbWludXRlYCxhbW91bnQ6QWR9LHt1bml0OmBzZWNvbmRgLGFtb3VudDprZH1dLEdkPShlLHQpPT57bGV0IG49VWQodCk7aWYoIW4pcmV0dXJuIEgoYFJlbGF0aXZlIHRpbWUgZm9ybWF0IG5vdCBzdXBwb3J0ZWRgKSxgYDtmb3IobGV0e3VuaXQ6dCxhbW91bnQ6cn1vZiBXZCl7aWYodD09PWBzZWNvbmRgKXJldHVybiBuLmZvcm1hdCgwLGBzZWNvbmRgKTtpZihNYXRoLmFicyhlKT5yKXJldHVybiBuLmZvcm1hdChNYXRoLnJvdW5kKGUvciksdCl9cmV0dXJuYGB9LEtkPShlLHQ9MzAwKT0+e2xldCBuO3JldHVybiguLi5yKT0+e258fD0oZSguLi5yKSxzZXRUaW1lb3V0KCgpPT5uPW51bGwsdCkpfX0scWQ9L1tcMC1cdUQ3RkZcdUUwMDAtXHVGRkZGXXxbXHVEODAwLVx1REJGRl1bXHVEQzAwLVx1REZGRl18W1x1RDgwMC1cdURCRkZdKD8hW1x1REMwMC1cdURGRkZdKXwoPzpbXlx1RDgwMC1cdURCRkZdfF4pW1x1REMwMC1cdURGRkZdLyxKZD0vW1wwLVx4MUZceDdGLVx4OUZdLyxZZD0vWyEtIyUtXCosLVwvOjtcP0BcWy1cXV9ce1x9XHhBMVx4QTdceEFCXHhCNlx4QjdceEJCXHhCRlx1MDM3RVx1MDM4N1x1MDU1QS1cdTA1NUZcdTA1ODlcdTA1OEFcdTA1QkVcdTA1QzBcdTA1QzNcdTA1QzZcdTA1RjNcdTA1RjRcdTA2MDlcdTA2MEFcdTA2MENcdTA2MERcdTA2MUJcdTA2MUQtXHUwNjFGXHUwNjZBLVx1MDY2RFx1MDZENFx1MDcwMC1cdTA3MERcdTA3RjctXHUwN0Y5XHUwODMwLVx1MDgzRVx1MDg1RVx1MDk2NFx1MDk2NVx1MDk3MFx1MDlGRFx1MEE3Nlx1MEFGMFx1MEM3N1x1MEM4NFx1MERGNFx1MEU0Rlx1MEU1QVx1MEU1Qlx1MEYwNC1cdTBGMTJcdTBGMTRcdTBGM0EtXHUwRjNEXHUwRjg1XHUwRkQwLVx1MEZENFx1MEZEOVx1MEZEQVx1MTA0QS1cdTEwNEZcdTEwRkJcdTEzNjAtXHUxMzY4XHUxNDAwXHUxNjZFXHUxNjlCXHUxNjlDXHUxNkVCLVx1MTZFRFx1MTczNVx1MTczNlx1MTdENC1cdTE3RDZcdTE3RDgtXHUxN0RBXHUxODAwLVx1MTgwQVx1MTk0NFx1MTk0NVx1MUExRVx1MUExRlx1MUFBMC1cdTFBQTZcdTFBQTgtXHUxQUFEXHUxQjVBLVx1MUI2MFx1MUI3RFx1MUI3RVx1MUJGQy1cdTFCRkZcdTFDM0ItXHUxQzNGXHUxQzdFXHUxQzdGXHUxQ0MwLVx1MUNDN1x1MUNEM1x1MjAxMC1cdTIwMjdcdTIwMzAtXHUyMDQzXHUyMDQ1LVx1MjA1MVx1MjA1My1cdTIwNUVcdTIwN0RcdTIwN0VcdTIwOERcdTIwOEVcdTIzMDgtXHUyMzBCXHUyMzI5XHUyMzJBXHUyNzY4LVx1Mjc3NVx1MjdDNVx1MjdDNlx1MjdFNi1cdTI3RUZcdTI5ODMtXHUyOTk4XHUyOUQ4LVx1MjlEQlx1MjlGQ1x1MjlGRFx1MkNGOS1cdTJDRkNcdTJDRkVcdTJDRkZcdTJENzBcdTJFMDAtXHUyRTJFXHUyRTMwLVx1MkU0Rlx1MkU1Mi1cdTJFNURcdTMwMDEtXHUzMDAzXHUzMDA4LVx1MzAxMVx1MzAxNC1cdTMwMUZcdTMwMzBcdTMwM0RcdTMwQTBcdTMwRkJcdUE0RkVcdUE0RkZcdUE2MEQtXHVBNjBGXHVBNjczXHVBNjdFXHVBNkYyLVx1QTZGN1x1QTg3NC1cdUE4NzdcdUE4Q0VcdUE4Q0ZcdUE4RjgtXHVBOEZBXHVBOEZDXHVBOTJFXHVBOTJGXHVBOTVGXHVBOUMxLVx1QTlDRFx1QTlERVx1QTlERlx1QUE1Qy1cdUFBNUZcdUFBREVcdUFBREZcdUFBRjBcdUFBRjFcdUFCRUJcdUZEM0VcdUZEM0ZcdUZFMTAtXHVGRTE5XHVGRTMwLVx1RkU1Mlx1RkU1NC1cdUZFNjFcdUZFNjNcdUZFNjhcdUZFNkFcdUZFNkJcdUZGMDEtXHVGRjAzXHVGRjA1LVx1RkYwQVx1RkYwQy1cdUZGMEZcdUZGMUFcdUZGMUJcdUZGMUZcdUZGMjBcdUZGM0ItXHVGRjNEXHVGRjNGXHVGRjVCXHVGRjVEXHVGRjVGLVx1RkY2NV18XHVEODAwW1x1REQwMC1cdUREMDJcdURGOUZcdURGRDBdfFx1RDgwMVx1REQ2RnxcdUQ4MDJbXHVEQzU3XHVERDFGXHVERDNGXHVERTUwLVx1REU1OFx1REU3Rlx1REVGMC1cdURFRjZcdURGMzktXHVERjNGXHVERjk5LVx1REY5Q118XHVEODAzW1x1REVBRFx1REY1NS1cdURGNTlcdURGODYtXHVERjg5XXxcdUQ4MDRbXHVEQzQ3LVx1REM0RFx1RENCQlx1RENCQ1x1RENCRS1cdURDQzFcdURENDAtXHVERDQzXHVERDc0XHVERDc1XHVEREM1LVx1RERDOFx1RERDRFx1REREQlx1RERERC1cdUREREZcdURFMzgtXHVERTNEXHVERUE5XXxcdUQ4MDVbXHVEQzRCLVx1REM0Rlx1REM1QVx1REM1Qlx1REM1RFx1RENDNlx1RERDMS1cdURERDdcdURFNDEtXHVERTQzXHVERTYwLVx1REU2Q1x1REVCOVx1REYzQy1cdURGM0VdfFx1RDgwNltcdURDM0JcdURENDQtXHVERDQ2XHVEREUyXHVERTNGLVx1REU0Nlx1REU5QS1cdURFOUNcdURFOUUtXHVERUEyXHVERjAwLVx1REYwOV18XHVEODA3W1x1REM0MS1cdURDNDVcdURDNzBcdURDNzFcdURFRjdcdURFRjhcdURGNDMtXHVERjRGXHVERkZGXXxcdUQ4MDlbXHVEQzcwLVx1REM3NF18XHVEODBCW1x1REZGMVx1REZGMl18XHVEODFBW1x1REU2RVx1REU2Rlx1REVGNVx1REYzNy1cdURGM0JcdURGNDRdfFx1RDgxQltcdURFOTctXHVERTlBXHVERkUyXXxcdUQ4MkZcdURDOUZ8XHVEODM2W1x1REU4Ny1cdURFOEJdfFx1RDgzQVtcdURENUVcdURENUZdLyxYZD0vWyBceEEwXHUxNjgwXHUyMDAwLVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMF0vO2Z1bmN0aW9uIFpkKGUpe2xldCB0PXt9O2V8fD17fSx0LnNyY19Bbnk9cWQuc291cmNlLHQuc3JjX0NjPUpkLnNvdXJjZSx0LnNyY19aPVhkLnNvdXJjZSx0LnNyY19QPVlkLnNvdXJjZSx0LnNyY19aUENjPVt0LnNyY19aLHQuc3JjX1AsdC5zcmNfQ2NdLmpvaW4oYHxgKSx0LnNyY19aQ2M9W3Quc3JjX1osdC5zcmNfQ2NdLmpvaW4oYHxgKTtsZXQgbj1gWz48772cXWA7cmV0dXJuIHQuc3JjX3BzZXVkb19sZXR0ZXI9YCg/Oig/IWArbitgfGArdC5zcmNfWlBDYytgKWArdC5zcmNfQW55K2ApYCx0LnNyY19pcDQ9YCg/OigyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKXszfSgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pYCx0LnNyY19hdXRoPWAoPzooPzooPyFgK3Quc3JjX1pDYytgfFtAL1xcW1xcXSgpXSkuKStAKT9gLHQuc3JjX3BvcnQ9YCg/OjooPzo2KD86WzAtNF1cXGR7M318NSg/OlswLTRdXFxkezJ9fDUoPzpbMC0yXVxcZHwzWzAtNV0pKSl8WzEtNV0/XFxkezEsNH0pKT9gLHQuc3JjX2hvc3RfdGVybWluYXRvcj1gKD89JHxgK24rYHxgK3Quc3JjX1pQQ2MrYCkoPyFgKyhlW2AtLS1gXT9gLSg/IS0tKXxgOmAtfGApK2BffDpcXGR8XFwuLXxcXC4oPyEkfGArdC5zcmNfWlBDYytgKSlgLHQuc3JjX3BhdGg9YCg/OlsvPyNdKD86KD8hYCt0LnNyY19aQ2MrYHxbPjzvvZxdfFsoKVtcXF17fS4sIic/IVxcLTtdKS58XFxbKD86KD8hYCt0LnNyY19aQ2MrYHxcXF0pLikqXFxdfFxcKCg/Oig/IWArdC5zcmNfWkNjK2B8WyldKS4pKlxcKXxcXHsoPzooPyFgK3Quc3JjX1pDYytgfFt9XSkuKSpcXH18XFwiKD86KD8hYCt0LnNyY19aQ2MrYHxbIl0pLikrXFwifFxcJyg/Oig/IWArdC5zcmNfWkNjK2B8WyddKS4pK1xcJ3xcXCcoPz1gK3Quc3JjX3BzZXVkb19sZXR0ZXIrYHxbLV0pfFxcLnsyLH1bYS16QS1aMC05JS8mXXxcXC4oPyFgK3Quc3JjX1pDYytgfFsuXXwkKXxgKyhlW2AtLS1gXT9gXFwtKD8hLS0oPzpbXi1dfCQpKSg/Oi0qKXxgOmBcXC0rfGApK2AsKD8hYCt0LnNyY19aQ2MrYHwkKXw7KD8hYCt0LnNyY19aQ2MrYHwkKXxcXCErKD8hYCt0LnNyY19aQ2MrYHxbIV18JCl8XFw/KD8hYCt0LnNyY19aQ2MrYHxbP118JCkpK3xcXC8pP2AsdC5zcmNfZW1haWxfbmFtZT1gW1xcLTs6Jj1cXCtcXCQsXFwuYS16QS1aMC05X11bXFwtOzomPVxcK1xcJCxcXCJcXC5hLXpBLVowLTlfXSpgLHQuc3JjX3huPWB4bi0tW2EtejAtOVxcLV17MSw1OX1gLHQuc3JjX2RvbWFpbl9yb290PWAoPzpgK3Quc3JjX3huK2B8YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2B7MSw2M30pYCx0LnNyY19kb21haW49YCg/OmArdC5zcmNfeG4rYHwoPzpgK3Quc3JjX3BzZXVkb19sZXR0ZXIrYCl8KD86YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2AoPzotfGArdC5zcmNfcHNldWRvX2xldHRlcitgKXswLDYxfWArdC5zcmNfcHNldWRvX2xldHRlcitgKSlgLHQuc3JjX2hvc3Q9YCg/Oig/Oig/Oig/OmArdC5zcmNfZG9tYWluK2ApXFwuKSpgK3Quc3JjX2RvbWFpbitgKSlgLHQudHBsX2hvc3RfZnV6enk9YCg/OmArdC5zcmNfaXA0K2B8KD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpKWAsdC50cGxfaG9zdF9ub19pcF9mdXp6eT1gKD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpYCx0LnNyY19ob3N0X3N0cmljdD10LnNyY19ob3N0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnNyY19ob3N0X3BvcnRfc3RyaWN0PXQuc3JjX2hvc3QrdC5zcmNfcG9ydCt0LnNyY19ob3N0X3Rlcm1pbmF0b3IsdC50cGxfaG9zdF9wb3J0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX3BvcnQrdC5zcmNfaG9zdF90ZXJtaW5hdG9yLHQudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3Q9dC50cGxfaG9zdF9ub19pcF9mdXp6eSt0LnNyY19wb3J0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3Rlc3Q9YGxvY2FsaG9zdHx3d3dcXC58XFwuXFxkezEsM31cXC58KD86XFwuKD86JVRMRFMlKSg/OmArdC5zcmNfWlBDYytgfD58JCkpYCx0LnRwbF9lbWFpbF9mdXp6eT1gKF58YCtuK2B8InxcXCh8YCt0LnNyY19aQ2MrYCkoYCt0LnNyY19lbWFpbF9uYW1lK2BAYCt0LnRwbF9ob3N0X2Z1enp5X3N0cmljdCtgKWAsdC50cGxfbGlua19mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdC50cGxfbGlua19ub19pcF9mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdH1mdW5jdGlvbiBRZChlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLmZvckVhY2goZnVuY3Rpb24odCl7dCYmT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXtlW25dPXRbbl19KX0pLGV9ZnVuY3Rpb24gJGQoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiBlZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBTdHJpbmddYH1mdW5jdGlvbiB0ZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBPYmplY3RdYH1mdW5jdGlvbiBuZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBSZWdFeHBdYH1mdW5jdGlvbiByZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBGdW5jdGlvbl1gfWZ1bmN0aW9uIGFmKGUpe3JldHVybiBlLnJlcGxhY2UoL1suPyorXiRbXF1cXCgpe318LV0vZyxgXFwkJmApfXZhciBvZj17ZnV6enlMaW5rOiEwLGZ1enp5RW1haWw6ITAsZnV6enlJUDohMX07ZnVuY3Rpb24gc2YoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGV8fHt9KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZXx8b2YuaGFzT3duUHJvcGVydHkodCl9LCExKX12YXIgY2Y9eyJodHRwOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLmh0dHB8fChuLnJlLmh0dHA9UmVnRXhwKGBeXFwvXFwvYCtuLnJlLnNyY19hdXRoK24ucmUuc3JjX2hvc3RfcG9ydF9zdHJpY3Qrbi5yZS5zcmNfcGF0aCxgaWApKSxuLnJlLmh0dHAudGVzdChyKT9yLm1hdGNoKG4ucmUuaHR0cClbMF0ubGVuZ3RoOjB9fSwiaHR0cHM6IjpgaHR0cDpgLCJmdHA6IjpgaHR0cDpgLCIvLyI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm5vX2h0dHB8fChuLnJlLm5vX2h0dHA9UmVnRXhwKGBeYCtuLnJlLnNyY19hdXRoK2AoPzpsb2NhbGhvc3R8KD86KD86YCtuLnJlLnNyY19kb21haW4rYClcXC4pK2Arbi5yZS5zcmNfZG9tYWluX3Jvb3QrYClgK24ucmUuc3JjX3BvcnQrbi5yZS5zcmNfaG9zdF90ZXJtaW5hdG9yK24ucmUuc3JjX3BhdGgsYGlgKSksbi5yZS5ub19odHRwLnRlc3Qocik/dD49MyYmZVt0LTNdPT09YDpgfHx0Pj0zJiZlW3QtM109PT1gL2A/MDpyLm1hdGNoKG4ucmUubm9faHR0cClbMF0ubGVuZ3RoOjB9fSwibWFpbHRvOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm1haWx0b3x8KG4ucmUubWFpbHRvPVJlZ0V4cChgXmArbi5yZS5zcmNfZW1haWxfbmFtZStgQGArbi5yZS5zcmNfaG9zdF9zdHJpY3QsYGlgKSksbi5yZS5tYWlsdG8udGVzdChyKT9yLm1hdGNoKG4ucmUubWFpbHRvKVswXS5sZW5ndGg6MH19fSxsZj1gYVtjZGVmZ2lsbW5vcXJzdHV3eHpdfGJbYWJkZWZnaGlqbW5vcnN0dnd5el18Y1thY2RmZ2hpa2xtbm9ydXZ3eHl6XXxkW2Vqa21vel18ZVtjZWdyc3R1XXxmW2lqa21vcl18Z1thYmRlZmdoaWxtbnBxcnN0dXd5XXxoW2ttbnJ0dV18aVtkZWxtbm9xcnN0XXxqW2Vtb3BdfGtbZWdoaW1ucHJ3eXpdfGxbYWJjaWtyc3R1dnldfG1bYWNkZWdoa2xtbm9wcXJzdHV2d3h5el18blthY2VmZ2lsb3BydXpdfG9tfHBbYWVmZ2hrbG1ucnN0d3ldfHFhfHJbZW9zdXddfHNbYWJjZGVnaGlqa2xtbm9ydHV2eHl6XXx0W2NkZmdoamtsbW5vcnR2d3pdfHVbYWdrc3l6XXx2W2FjZWdpbnVdfHdbZnNdfHlbZXRdfHpbYW13XWAsdWY9YGJpenxjb218ZWR1fGdvdnxuZXR8b3JnfHByb3x3ZWJ8eHh4fGFlcm98YXNpYXxjb29wfGluZm98bXVzZXVtfG5hbWV8c2hvcHzRgNGEYC5zcGxpdChgfGApO2Z1bmN0aW9uIGRmKGUpe2UuX19pbmRleF9fPS0xLGUuX190ZXh0X2NhY2hlX189YGB9ZnVuY3Rpb24gZmYoZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7bGV0IHI9dC5zbGljZShuKTtyZXR1cm4gZS50ZXN0KHIpP3IubWF0Y2goZSlbMF0ubGVuZ3RoOjB9fWZ1bmN0aW9uIHBmKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dC5ub3JtYWxpemUoZSl9fWZ1bmN0aW9uIG1mKGUpe2xldCB0PWUucmU9WmQoZS5fX29wdHNfXyksbj1lLl9fdGxkc19fLnNsaWNlKCk7ZS5vbkNvbXBpbGUoKSxlLl9fdGxkc19yZXBsYWNlZF9ffHxuLnB1c2gobGYpLG4ucHVzaCh0LnNyY194biksdC5zcmNfdGxkcz1uLmpvaW4oYHxgKTtmdW5jdGlvbiByKGUpe3JldHVybiBlLnJlcGxhY2UoYCVUTERTJWAsdC5zcmNfdGxkcyl9dC5lbWFpbF9mdXp6eT1SZWdFeHAocih0LnRwbF9lbWFpbF9mdXp6eSksYGlgKSx0LmxpbmtfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19mdXp6eSksYGlgKSx0Lmxpbmtfbm9faXBfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19ub19pcF9mdXp6eSksYGlgKSx0Lmhvc3RfZnV6enlfdGVzdD1SZWdFeHAocih0LnRwbF9ob3N0X2Z1enp5X3Rlc3QpLGBpYCk7bGV0IGk9W107ZS5fX2NvbXBpbGVkX189e307ZnVuY3Rpb24gYShlLHQpe3Rocm93IEVycm9yKGAoTGlua2lmeUl0KSBJbnZhbGlkIHNjaGVtYSAiYCtlK2AiOiBgK3QpfU9iamVjdC5rZXlzKGUuX19zY2hlbWFzX18pLmZvckVhY2goZnVuY3Rpb24odCl7bGV0IG49ZS5fX3NjaGVtYXNfX1t0XTtpZihuPT09bnVsbClyZXR1cm47bGV0IHI9e3ZhbGlkYXRlOm51bGwsbGluazpudWxsfTtpZihlLl9fY29tcGlsZWRfX1t0XT1yLHRmKG4pKXtuZihuLnZhbGlkYXRlKT9yLnZhbGlkYXRlPWZmKG4udmFsaWRhdGUpOnJmKG4udmFsaWRhdGUpP3IudmFsaWRhdGU9bi52YWxpZGF0ZTphKHQsbikscmYobi5ub3JtYWxpemUpP3Iubm9ybWFsaXplPW4ubm9ybWFsaXplOm4ubm9ybWFsaXplP2EodCxuKTpyLm5vcm1hbGl6ZT1wZigpO3JldHVybn1pZihlZihuKSl7aS5wdXNoKHQpO3JldHVybn1hKHQsbil9KSxpLmZvckVhY2goZnVuY3Rpb24odCl7ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0mJihlLl9fY29tcGlsZWRfX1t0XS52YWxpZGF0ZT1lLl9fY29tcGlsZWRfX1tlLl9fc2NoZW1hc19fW3RdXS52YWxpZGF0ZSxlLl9fY29tcGlsZWRfX1t0XS5ub3JtYWxpemU9ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0ubm9ybWFsaXplKX0pLGUuX19jb21waWxlZF9fW2BgXT17dmFsaWRhdGU6bnVsbCxub3JtYWxpemU6cGYoKX07bGV0IG89T2JqZWN0LmtleXMoZS5fX2NvbXBpbGVkX18pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5sZW5ndGg+MCYmZS5fX2NvbXBpbGVkX19bdF19KS5tYXAoYWYpLmpvaW4oYHxgKTtlLnJlLnNjaGVtYV90ZXN0PVJlZ0V4cChgKF58KD8hXykoPzpbPjzvvZxdfGArdC5zcmNfWlBDYytgKSkoYCtvK2ApYCxgaWApLGUucmUuc2NoZW1hX3NlYXJjaD1SZWdFeHAoYChefCg/IV8pKD86Wz48772cXXxgK3Quc3JjX1pQQ2MrYCkpKGArbytgKWAsYGlnYCksZS5yZS5zY2hlbWFfYXRfc3RhcnQ9UmVnRXhwKGBeYCtlLnJlLnNjaGVtYV9zZWFyY2guc291cmNlLGBpYCksZS5yZS5wcmV0ZXN0PVJlZ0V4cChgKGArZS5yZS5zY2hlbWFfdGVzdC5zb3VyY2UrYCl8KGArZS5yZS5ob3N0X2Z1enp5X3Rlc3Quc291cmNlK2ApfEBgLGBpYCksZGYoZSl9ZnVuY3Rpb24gaGYoZSx0KXtsZXQgbj1lLl9faW5kZXhfXyxyPWUuX19sYXN0X2luZGV4X18saT1lLl9fdGV4dF9jYWNoZV9fLnNsaWNlKG4scik7dGhpcy5zY2hlbWE9ZS5fX3NjaGVtYV9fLnRvTG93ZXJDYXNlKCksdGhpcy5pbmRleD1uK3QsdGhpcy5sYXN0SW5kZXg9cit0LHRoaXMucmF3PWksdGhpcy50ZXh0PWksdGhpcy51cmw9aX1mdW5jdGlvbiBnZihlLHQpe2xldCBuPW5ldyBoZihlLHQpO3JldHVybiBlLl9fY29tcGlsZWRfX1tuLnNjaGVtYV0ubm9ybWFsaXplKG4sZSksbn1mdW5jdGlvbiBfZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIF9mKSlyZXR1cm4gbmV3IF9mKGUsdCk7dHx8c2YoZSkmJih0PWUsZT17fSksdGhpcy5fX29wdHNfXz1RZCh7fSxvZix0KSx0aGlzLl9faW5kZXhfXz0tMSx0aGlzLl9fbGFzdF9pbmRleF9fPS0xLHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9fdGV4dF9jYWNoZV9fPWBgLHRoaXMuX19zY2hlbWFzX189UWQoe30sY2YsZSksdGhpcy5fX2NvbXBpbGVkX189e30sdGhpcy5fX3RsZHNfXz11Zix0aGlzLl9fdGxkc19yZXBsYWNlZF9fPSExLHRoaXMucmU9e30sbWYodGhpcyl9X2YucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9fc2NoZW1hc19fW2VdPXQsbWYodGhpcyksdGhpc30sX2YucHJvdG90eXBlLnNldD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fX29wdHNfXz1RZCh0aGlzLl9fb3B0c19fLGUpLHRoaXN9LF9mLnByb3RvdHlwZS50ZXN0PWZ1bmN0aW9uKGUpe2lmKHRoaXMuX190ZXh0X2NhY2hlX189ZSx0aGlzLl9faW5kZXhfXz0tMSwhZS5sZW5ndGgpcmV0dXJuITE7bGV0IHQsbixyLGksYSxvLHMsYyxsO2lmKHRoaXMucmUuc2NoZW1hX3Rlc3QudGVzdChlKSl7Zm9yKHM9dGhpcy5yZS5zY2hlbWFfc2VhcmNoLHMubGFzdEluZGV4PTA7KHQ9cy5leGVjKGUpKSE9PW51bGw7KWlmKGk9dGhpcy50ZXN0U2NoZW1hQXQoZSx0WzJdLHMubGFzdEluZGV4KSxpKXt0aGlzLl9fc2NoZW1hX189dFsyXSx0aGlzLl9faW5kZXhfXz10LmluZGV4K3RbMV0ubGVuZ3RoLHRoaXMuX19sYXN0X2luZGV4X189dC5pbmRleCt0WzBdLmxlbmd0aCtpO2JyZWFrfX1yZXR1cm4gdGhpcy5fX29wdHNfXy5mdXp6eUxpbmsmJnRoaXMuX19jb21waWxlZF9fW2BodHRwOmBdJiYoYz1lLnNlYXJjaCh0aGlzLnJlLmhvc3RfZnV6enlfdGVzdCksYz49MCYmKHRoaXMuX19pbmRleF9fPDB8fGM8dGhpcy5fX2luZGV4X18pJiYobj1lLm1hdGNoKHRoaXMuX19vcHRzX18uZnV6enlJUD90aGlzLnJlLmxpbmtfZnV6enk6dGhpcy5yZS5saW5rX25vX2lwX2Z1enp5KSkhPT1udWxsJiYoYT1uLmluZGV4K25bMV0ubGVuZ3RoLCh0aGlzLl9faW5kZXhfXzwwfHxhPHRoaXMuX19pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9faW5kZXhfXz1hLHRoaXMuX19sYXN0X2luZGV4X189bi5pbmRleCtuWzBdLmxlbmd0aCkpKSx0aGlzLl9fb3B0c19fLmZ1enp5RW1haWwmJnRoaXMuX19jb21waWxlZF9fW2BtYWlsdG86YF0mJihsPWUuaW5kZXhPZihgQGApLGw+PTAmJihyPWUubWF0Y2godGhpcy5yZS5lbWFpbF9mdXp6eSkpIT09bnVsbCYmKGE9ci5pbmRleCtyWzFdLmxlbmd0aCxvPXIuaW5kZXgrclswXS5sZW5ndGgsKHRoaXMuX19pbmRleF9fPDB8fGE8dGhpcy5fX2luZGV4X198fGE9PT10aGlzLl9faW5kZXhfXyYmbz50aGlzLl9fbGFzdF9pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gbWFpbHRvOmAsdGhpcy5fX2luZGV4X189YSx0aGlzLl9fbGFzdF9pbmRleF9fPW8pKSksdGhpcy5fX2luZGV4X18+PTB9LF9mLnByb3RvdHlwZS5wcmV0ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlLnByZXRlc3QudGVzdChlKX0sX2YucHJvdG90eXBlLnRlc3RTY2hlbWFBdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuX19jb21waWxlZF9fW3QudG9Mb3dlckNhc2UoKV0/dGhpcy5fX2NvbXBpbGVkX19bdC50b0xvd2VyQ2FzZSgpXS52YWxpZGF0ZShlLG4sdGhpcyk6MH0sX2YucHJvdG90eXBlLm1hdGNoPWZ1bmN0aW9uKGUpe2xldCB0PVtdLG49MDt0aGlzLl9faW5kZXhfXz49MCYmdGhpcy5fX3RleHRfY2FjaGVfXz09PWUmJih0LnB1c2goZ2YodGhpcyxuKSksbj10aGlzLl9fbGFzdF9pbmRleF9fKTtsZXQgcj1uP2Uuc2xpY2Uobik6ZTtmb3IoO3RoaXMudGVzdChyKTspdC5wdXNoKGdmKHRoaXMsbikpLHI9ci5zbGljZSh0aGlzLl9fbGFzdF9pbmRleF9fKSxuKz10aGlzLl9fbGFzdF9pbmRleF9fO3JldHVybiB0Lmxlbmd0aD90Om51bGx9LF9mLnByb3RvdHlwZS5tYXRjaEF0U3RhcnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5fX3RleHRfY2FjaGVfXz1lLHRoaXMuX19pbmRleF9fPS0xLCFlLmxlbmd0aClyZXR1cm4gbnVsbDtsZXQgdD10aGlzLnJlLnNjaGVtYV9hdF9zdGFydC5leGVjKGUpO2lmKCF0KXJldHVybiBudWxsO2xldCBuPXRoaXMudGVzdFNjaGVtYUF0KGUsdFsyXSx0WzBdLmxlbmd0aCk7cmV0dXJuIG4/KHRoaXMuX19zY2hlbWFfXz10WzJdLHRoaXMuX19pbmRleF9fPXQuaW5kZXgrdFsxXS5sZW5ndGgsdGhpcy5fX2xhc3RfaW5kZXhfXz10LmluZGV4K3RbMF0ubGVuZ3RoK24sZ2YodGhpcywwKSk6bnVsbH0sX2YucHJvdG90eXBlLnRsZHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1BcnJheS5pc0FycmF5KGUpP2U6W2VdLHQ/KHRoaXMuX190bGRzX189dGhpcy5fX3RsZHNfXy5jb25jYXQoZSkuc29ydCgpLmZpbHRlcihmdW5jdGlvbihlLHQsbil7cmV0dXJuIGUhPT1uW3QtMV19KS5yZXZlcnNlKCksbWYodGhpcyksdGhpcyk6KHRoaXMuX190bGRzX189ZS5zbGljZSgpLHRoaXMuX190bGRzX3JlcGxhY2VkX189ITAsbWYodGhpcyksdGhpcyl9LF9mLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oZSl7ZS5zY2hlbWF8fChlLnVybD1gaHR0cDovL2ArZS51cmwpLGUuc2NoZW1hPT09YG1haWx0bzpgJiYhL15tYWlsdG86L2kudGVzdChlLnVybCkmJihlLnVybD1gbWFpbHRvOmArZS51cmwpfSxfZi5wcm90b3R5cGUub25Db21waWxlPWZ1bmN0aW9uKCl7fTt2YXIgdmY9SlNPTi5wYXJzZShgWyJhYWEiLCJhYXJwIiwiYWJiIiwiYWJib3R0IiwiYWJidmllIiwiYWJjIiwiYWJsZSIsImFib2dhZG8iLCJhYnVkaGFiaSIsImFjIiwiYWNhZGVteSIsImFjY2VudHVyZSIsImFjY291bnRhbnQiLCJhY2NvdW50YW50cyIsImFjbyIsImFjdG9yIiwiYWQiLCJhZHMiLCJhZHVsdCIsImFlIiwiYWVnIiwiYWVybyIsImFldG5hIiwiYWYiLCJhZmwiLCJhZnJpY2EiLCJhZyIsImFnYWtoYW4iLCJhZ2VuY3kiLCJhaSIsImFpZyIsImFpcmJ1cyIsImFpcmZvcmNlIiwiYWlydGVsIiwiYWtkbiIsImFsIiwiYWxpYmFiYSIsImFsaXBheSIsImFsbGZpbmFueiIsImFsbHN0YXRlIiwiYWxseSIsImFsc2FjZSIsImFsc3RvbSIsImFtIiwiYW1hem9uIiwiYW1lcmljYW5leHByZXNzIiwiYW1lcmljYW5mYW1pbHkiLCJhbWV4IiwiYW1mYW0iLCJhbWljYSIsImFtc3RlcmRhbSIsImFuYWx5dGljcyIsImFuZHJvaWQiLCJhbnF1YW4iLCJhbnoiLCJhbyIsImFvbCIsImFwYXJ0bWVudHMiLCJhcHAiLCJhcHBsZSIsImFxIiwiYXF1YXJlbGxlIiwiYXIiLCJhcmFiIiwiYXJhbWNvIiwiYXJjaGkiLCJhcm15IiwiYXJwYSIsImFydCIsImFydGUiLCJhcyIsImFzZGEiLCJhc2lhIiwiYXNzb2NpYXRlcyIsImF0IiwiYXRobGV0YSIsImF0dG9ybmV5IiwiYXUiLCJhdWN0aW9uIiwiYXVkaSIsImF1ZGlibGUiLCJhdWRpbyIsImF1c3Bvc3QiLCJhdXRob3IiLCJhdXRvIiwiYXV0b3MiLCJhdyIsImF3cyIsImF4IiwiYXhhIiwiYXoiLCJhenVyZSIsImJhIiwiYmFieSIsImJhaWR1IiwiYmFuYW1leCIsImJhbmQiLCJiYW5rIiwiYmFyIiwiYmFyY2Vsb25hIiwiYmFyY2xheWNhcmQiLCJiYXJjbGF5cyIsImJhcmVmb290IiwiYmFyZ2FpbnMiLCJiYXNlYmFsbCIsImJhc2tldGJhbGwiLCJiYXVoYXVzIiwiYmF5ZXJuIiwiYmIiLCJiYmMiLCJiYnQiLCJiYnZhIiwiYmNnIiwiYmNuIiwiYmQiLCJiZSIsImJlYXRzIiwiYmVhdXR5IiwiYmVlciIsImJlcmxpbiIsImJlc3QiLCJiZXN0YnV5IiwiYmV0IiwiYmYiLCJiZyIsImJoIiwiYmhhcnRpIiwiYmkiLCJiaWJsZSIsImJpZCIsImJpa2UiLCJiaW5nIiwiYmluZ28iLCJiaW8iLCJiaXoiLCJiaiIsImJsYWNrIiwiYmxhY2tmcmlkYXkiLCJibG9ja2J1c3RlciIsImJsb2ciLCJibG9vbWJlcmciLCJibHVlIiwiYm0iLCJibXMiLCJibXciLCJibiIsImJucHBhcmliYXMiLCJibyIsImJvYXRzIiwiYm9laHJpbmdlciIsImJvZmEiLCJib20iLCJib25kIiwiYm9vIiwiYm9vayIsImJvb2tpbmciLCJib3NjaCIsImJvc3RpayIsImJvc3RvbiIsImJvdCIsImJvdXRpcXVlIiwiYm94IiwiYnIiLCJicmFkZXNjbyIsImJyaWRnZXN0b25lIiwiYnJvYWR3YXkiLCJicm9rZXIiLCJicm90aGVyIiwiYnJ1c3NlbHMiLCJicyIsImJ0IiwiYnVpbGQiLCJidWlsZGVycyIsImJ1c2luZXNzIiwiYnV5IiwiYnV6eiIsImJ2IiwiYnciLCJieSIsImJ6IiwiYnpoIiwiY2EiLCJjYWIiLCJjYWZlIiwiY2FsIiwiY2FsbCIsImNhbHZpbmtsZWluIiwiY2FtIiwiY2FtZXJhIiwiY2FtcCIsImNhbm9uIiwiY2FwZXRvd24iLCJjYXBpdGFsIiwiY2FwaXRhbG9uZSIsImNhciIsImNhcmF2YW4iLCJjYXJkcyIsImNhcmUiLCJjYXJlZXIiLCJjYXJlZXJzIiwiY2FycyIsImNhc2EiLCJjYXNlIiwiY2FzaCIsImNhc2lubyIsImNhdCIsImNhdGVyaW5nIiwiY2F0aG9saWMiLCJjYmEiLCJjYm4iLCJjYnJlIiwiY2MiLCJjZCIsImNlbnRlciIsImNlbyIsImNlcm4iLCJjZiIsImNmYSIsImNmZCIsImNnIiwiY2giLCJjaGFuZWwiLCJjaGFubmVsIiwiY2hhcml0eSIsImNoYXNlIiwiY2hhdCIsImNoZWFwIiwiY2hpbnRhaSIsImNocmlzdG1hcyIsImNocm9tZSIsImNodXJjaCIsImNpIiwiY2lwcmlhbmkiLCJjaXJjbGUiLCJjaXNjbyIsImNpdGFkZWwiLCJjaXRpIiwiY2l0aWMiLCJjaXR5IiwiY2siLCJjbCIsImNsYWltcyIsImNsZWFuaW5nIiwiY2xpY2siLCJjbGluaWMiLCJjbGluaXF1ZSIsImNsb3RoaW5nIiwiY2xvdWQiLCJjbHViIiwiY2x1Ym1lZCIsImNtIiwiY24iLCJjbyIsImNvYWNoIiwiY29kZXMiLCJjb2ZmZWUiLCJjb2xsZWdlIiwiY29sb2duZSIsImNvbSIsImNvbW1iYW5rIiwiY29tbXVuaXR5IiwiY29tcGFueSIsImNvbXBhcmUiLCJjb21wdXRlciIsImNvbXNlYyIsImNvbmRvcyIsImNvbnN0cnVjdGlvbiIsImNvbnN1bHRpbmciLCJjb250YWN0IiwiY29udHJhY3RvcnMiLCJjb29raW5nIiwiY29vbCIsImNvb3AiLCJjb3JzaWNhIiwiY291bnRyeSIsImNvdXBvbiIsImNvdXBvbnMiLCJjb3Vyc2VzIiwiY3BhIiwiY3IiLCJjcmVkaXQiLCJjcmVkaXRjYXJkIiwiY3JlZGl0dW5pb24iLCJjcmlja2V0IiwiY3Jvd24iLCJjcnMiLCJjcnVpc2UiLCJjcnVpc2VzIiwiY3UiLCJjdWlzaW5lbGxhIiwiY3YiLCJjdyIsImN4IiwiY3kiLCJjeW1ydSIsImN5b3UiLCJjeiIsImRhZCIsImRhbmNlIiwiZGF0YSIsImRhdGUiLCJkYXRpbmciLCJkYXRzdW4iLCJkYXkiLCJkY2xrIiwiZGRzIiwiZGUiLCJkZWFsIiwiZGVhbGVyIiwiZGVhbHMiLCJkZWdyZWUiLCJkZWxpdmVyeSIsImRlbGwiLCJkZWxvaXR0ZSIsImRlbHRhIiwiZGVtb2NyYXQiLCJkZW50YWwiLCJkZW50aXN0IiwiZGVzaSIsImRlc2lnbiIsImRldiIsImRobCIsImRpYW1vbmRzIiwiZGlldCIsImRpZ2l0YWwiLCJkaXJlY3QiLCJkaXJlY3RvcnkiLCJkaXNjb3VudCIsImRpc2NvdmVyIiwiZGlzaCIsImRpeSIsImRqIiwiZGsiLCJkbSIsImRucCIsImRvIiwiZG9jcyIsImRvY3RvciIsImRvZyIsImRvbWFpbnMiLCJkb3QiLCJkb3dubG9hZCIsImRyaXZlIiwiZHR2IiwiZHViYWkiLCJkdXBvbnQiLCJkdXJiYW4iLCJkdmFnIiwiZHZyIiwiZHoiLCJlYXJ0aCIsImVhdCIsImVjIiwiZWNvIiwiZWRla2EiLCJlZHUiLCJlZHVjYXRpb24iLCJlZSIsImVnIiwiZW1haWwiLCJlbWVyY2siLCJlbmVyZ3kiLCJlbmdpbmVlciIsImVuZ2luZWVyaW5nIiwiZW50ZXJwcmlzZXMiLCJlcHNvbiIsImVxdWlwbWVudCIsImVyIiwiZXJpY3Nzb24iLCJlcm5pIiwiZXMiLCJlc3EiLCJlc3RhdGUiLCJldCIsImV1IiwiZXVyb3Zpc2lvbiIsImV1cyIsImV2ZW50cyIsImV4Y2hhbmdlIiwiZXhwZXJ0IiwiZXhwb3NlZCIsImV4cHJlc3MiLCJleHRyYXNwYWNlIiwiZmFnZSIsImZhaWwiLCJmYWlyd2luZHMiLCJmYWl0aCIsImZhbWlseSIsImZhbiIsImZhbnMiLCJmYXJtIiwiZmFybWVycyIsImZhc2hpb24iLCJmYXN0IiwiZmVkZXgiLCJmZWVkYmFjayIsImZlcnJhcmkiLCJmZXJyZXJvIiwiZmkiLCJmaWRlbGl0eSIsImZpZG8iLCJmaWxtIiwiZmluYWwiLCJmaW5hbmNlIiwiZmluYW5jaWFsIiwiZmlyZSIsImZpcmVzdG9uZSIsImZpcm1kYWxlIiwiZmlzaCIsImZpc2hpbmciLCJmaXQiLCJmaXRuZXNzIiwiZmoiLCJmayIsImZsaWNrciIsImZsaWdodHMiLCJmbGlyIiwiZmxvcmlzdCIsImZsb3dlcnMiLCJmbHkiLCJmbSIsImZvIiwiZm9vIiwiZm9vZCIsImZvb3RiYWxsIiwiZm9yZCIsImZvcmV4IiwiZm9yc2FsZSIsImZvcnVtIiwiZm91bmRhdGlvbiIsImZveCIsImZyIiwiZnJlZSIsImZyZXNlbml1cyIsImZybCIsImZyb2dhbnMiLCJmcm9udGllciIsImZ0ciIsImZ1aml0c3UiLCJmdW4iLCJmdW5kIiwiZnVybml0dXJlIiwiZnV0Ym9sIiwiZnlpIiwiZ2EiLCJnYWwiLCJnYWxsZXJ5IiwiZ2FsbG8iLCJnYWxsdXAiLCJnYW1lIiwiZ2FtZXMiLCJnYXAiLCJnYXJkZW4iLCJnYXkiLCJnYiIsImdiaXoiLCJnZCIsImdkbiIsImdlIiwiZ2VhIiwiZ2VudCIsImdlbnRpbmciLCJnZW9yZ2UiLCJnZiIsImdnIiwiZ2dlZSIsImdoIiwiZ2kiLCJnaWZ0IiwiZ2lmdHMiLCJnaXZlcyIsImdpdmluZyIsImdsIiwiZ2xhc3MiLCJnbGUiLCJnbG9iYWwiLCJnbG9ibyIsImdtIiwiZ21haWwiLCJnbWJoIiwiZ21vIiwiZ214IiwiZ24iLCJnb2RhZGR5IiwiZ29sZCIsImdvbGRwb2ludCIsImdvbGYiLCJnb28iLCJnb29keWVhciIsImdvb2ciLCJnb29nbGUiLCJnb3AiLCJnb3QiLCJnb3YiLCJncCIsImdxIiwiZ3IiLCJncmFpbmdlciIsImdyYXBoaWNzIiwiZ3JhdGlzIiwiZ3JlZW4iLCJncmlwZSIsImdyb2NlcnkiLCJncm91cCIsImdzIiwiZ3QiLCJndSIsImd1Y2NpIiwiZ3VnZSIsImd1aWRlIiwiZ3VpdGFycyIsImd1cnUiLCJndyIsImd5IiwiaGFpciIsImhhbWJ1cmciLCJoYW5nb3V0IiwiaGF1cyIsImhibyIsImhkZmMiLCJoZGZjYmFuayIsImhlYWx0aCIsImhlYWx0aGNhcmUiLCJoZWxwIiwiaGVsc2lua2kiLCJoZXJlIiwiaGVybWVzIiwiaGlwaG9wIiwiaGlzYW1pdHN1IiwiaGl0YWNoaSIsImhpdiIsImhrIiwiaGt0IiwiaG0iLCJobiIsImhvY2tleSIsImhvbGRpbmdzIiwiaG9saWRheSIsImhvbWVkZXBvdCIsImhvbWVnb29kcyIsImhvbWVzIiwiaG9tZXNlbnNlIiwiaG9uZGEiLCJob3JzZSIsImhvc3BpdGFsIiwiaG9zdCIsImhvc3RpbmciLCJob3QiLCJob3RlbHMiLCJob3RtYWlsIiwiaG91c2UiLCJob3ciLCJociIsImhzYmMiLCJodCIsImh1IiwiaHVnaGVzIiwiaHlhdHQiLCJoeXVuZGFpIiwiaWJtIiwiaWNiYyIsImljZSIsImljdSIsImlkIiwiaWUiLCJpZWVlIiwiaWZtIiwiaWthbm8iLCJpbCIsImltIiwiaW1hbWF0IiwiaW1kYiIsImltbW8iLCJpbW1vYmlsaWVuIiwiaW4iLCJpbmMiLCJpbmR1c3RyaWVzIiwiaW5maW5pdGkiLCJpbmZvIiwiaW5nIiwiaW5rIiwiaW5zdGl0dXRlIiwiaW5zdXJhbmNlIiwiaW5zdXJlIiwiaW50IiwiaW50ZXJuYXRpb25hbCIsImludHVpdCIsImludmVzdG1lbnRzIiwiaW8iLCJpcGlyYW5nYSIsImlxIiwiaXIiLCJpcmlzaCIsImlzIiwiaXNtYWlsaSIsImlzdCIsImlzdGFuYnVsIiwiaXQiLCJpdGF1IiwiaXR2IiwiamFndWFyIiwiamF2YSIsImpjYiIsImplIiwiamVlcCIsImpldHp0IiwiamV3ZWxyeSIsImppbyIsImpsbCIsImptIiwiam1wIiwiam5qIiwiam8iLCJqb2JzIiwiam9idXJnIiwiam90Iiwiam95IiwianAiLCJqcG1vcmdhbiIsImpwcnMiLCJqdWVnb3MiLCJqdW5pcGVyIiwia2F1ZmVuIiwia2RkaSIsImtlIiwia2Vycnlob3RlbHMiLCJrZXJyeXByb3BlcnRpZXMiLCJrZmgiLCJrZyIsImtoIiwia2kiLCJraWEiLCJraWRzIiwia2ltIiwia2luZGxlIiwia2l0Y2hlbiIsImtpd2kiLCJrbSIsImtuIiwia29lbG4iLCJrb21hdHN1Iiwia29zaGVyIiwia3AiLCJrcG1nIiwia3BuIiwia3IiLCJrcmQiLCJrcmVkIiwia3Vva2dyb3VwIiwia3ciLCJreSIsImt5b3RvIiwia3oiLCJsYSIsImxhY2FpeGEiLCJsYW1ib3JnaGluaSIsImxhbWVyIiwibGFuZCIsImxhbmRyb3ZlciIsImxhbnhlc3MiLCJsYXNhbGxlIiwibGF0IiwibGF0aW5vIiwibGF0cm9iZSIsImxhdyIsImxhd3llciIsImxiIiwibGMiLCJsZHMiLCJsZWFzZSIsImxlY2xlcmMiLCJsZWZyYWsiLCJsZWdhbCIsImxlZ28iLCJsZXh1cyIsImxnYnQiLCJsaSIsImxpZGwiLCJsaWZlIiwibGlmZWluc3VyYW5jZSIsImxpZmVzdHlsZSIsImxpZ2h0aW5nIiwibGlrZSIsImxpbGx5IiwibGltaXRlZCIsImxpbW8iLCJsaW5jb2xuIiwibGluayIsImxpdmUiLCJsaXZpbmciLCJsayIsImxsYyIsImxscCIsImxvYW4iLCJsb2FucyIsImxvY2tlciIsImxvY3VzIiwibG9sIiwibG9uZG9uIiwibG90dGUiLCJsb3R0byIsImxvdmUiLCJscGwiLCJscGxmaW5hbmNpYWwiLCJsciIsImxzIiwibHQiLCJsdGQiLCJsdGRhIiwibHUiLCJsdW5kYmVjayIsImx1eGUiLCJsdXh1cnkiLCJsdiIsImx5IiwibWEiLCJtYWRyaWQiLCJtYWlmIiwibWFpc29uIiwibWFrZXVwIiwibWFuIiwibWFuYWdlbWVudCIsIm1hbmdvIiwibWFwIiwibWFya2V0IiwibWFya2V0aW5nIiwibWFya2V0cyIsIm1hcnJpb3R0IiwibWFyc2hhbGxzIiwibWF0dGVsIiwibWJhIiwibWMiLCJtY2tpbnNleSIsIm1kIiwibWUiLCJtZWQiLCJtZWRpYSIsIm1lZXQiLCJtZWxib3VybmUiLCJtZW1lIiwibWVtb3JpYWwiLCJtZW4iLCJtZW51IiwibWVyY2ttc2QiLCJtZyIsIm1oIiwibWlhbWkiLCJtaWNyb3NvZnQiLCJtaWwiLCJtaW5pIiwibWludCIsIm1pdCIsIm1pdHN1YmlzaGkiLCJtayIsIm1sIiwibWxiIiwibWxzIiwibW0iLCJtbWEiLCJtbiIsIm1vIiwibW9iaSIsIm1vYmlsZSIsIm1vZGEiLCJtb2UiLCJtb2kiLCJtb20iLCJtb25hc2giLCJtb25leSIsIm1vbnN0ZXIiLCJtb3Jtb24iLCJtb3J0Z2FnZSIsIm1vc2NvdyIsIm1vdG8iLCJtb3RvcmN5Y2xlcyIsIm1vdiIsIm1vdmllIiwibXAiLCJtcSIsIm1yIiwibXMiLCJtc2QiLCJtdCIsIm10biIsIm10ciIsIm11IiwibXVzZXVtIiwibXVzaWMiLCJtdiIsIm13IiwibXgiLCJteSIsIm16IiwibmEiLCJuYWIiLCJuYWdveWEiLCJuYW1lIiwibmF2eSIsIm5iYSIsIm5jIiwibmUiLCJuZWMiLCJuZXQiLCJuZXRiYW5rIiwibmV0ZmxpeCIsIm5ldHdvcmsiLCJuZXVzdGFyIiwibmV3IiwibmV3cyIsIm5leHQiLCJuZXh0ZGlyZWN0IiwibmV4dXMiLCJuZiIsIm5mbCIsIm5nIiwibmdvIiwibmhrIiwibmkiLCJuaWNvIiwibmlrZSIsIm5pa29uIiwibmluamEiLCJuaXNzYW4iLCJuaXNzYXkiLCJubCIsIm5vIiwibm9raWEiLCJub3J0b24iLCJub3ciLCJub3dydXoiLCJub3d0diIsIm5wIiwibnIiLCJucmEiLCJucnciLCJudHQiLCJudSIsIm55YyIsIm56Iiwib2JpIiwib2JzZXJ2ZXIiLCJvZmZpY2UiLCJva2luYXdhIiwib2xheWFuIiwib2xheWFuZ3JvdXAiLCJvbGxvIiwib20iLCJvbWVnYSIsIm9uZSIsIm9uZyIsIm9ubCIsIm9ubGluZSIsIm9vbyIsIm9wZW4iLCJvcmFjbGUiLCJvcmFuZ2UiLCJvcmciLCJvcmdhbmljIiwib3JpZ2lucyIsIm9zYWthIiwib3RzdWthIiwib3R0Iiwib3ZoIiwicGEiLCJwYWdlIiwicGFuYXNvbmljIiwicGFyaXMiLCJwYXJzIiwicGFydG5lcnMiLCJwYXJ0cyIsInBhcnR5IiwicGF5IiwicGNjdyIsInBlIiwicGV0IiwicGYiLCJwZml6ZXIiLCJwZyIsInBoIiwicGhhcm1hY3kiLCJwaGQiLCJwaGlsaXBzIiwicGhvbmUiLCJwaG90byIsInBob3RvZ3JhcGh5IiwicGhvdG9zIiwicGh5c2lvIiwicGljcyIsInBpY3RldCIsInBpY3R1cmVzIiwicGlkIiwicGluIiwicGluZyIsInBpbmsiLCJwaW9uZWVyIiwicGl6emEiLCJwayIsInBsIiwicGxhY2UiLCJwbGF5IiwicGxheXN0YXRpb24iLCJwbHVtYmluZyIsInBsdXMiLCJwbSIsInBuIiwicG5jIiwicG9obCIsInBva2VyIiwicG9saXRpZSIsInBvcm4iLCJwb3N0IiwicHIiLCJwcmF4aSIsInByZXNzIiwicHJpbWUiLCJwcm8iLCJwcm9kIiwicHJvZHVjdGlvbnMiLCJwcm9mIiwicHJvZ3Jlc3NpdmUiLCJwcm9tbyIsInByb3BlcnRpZXMiLCJwcm9wZXJ0eSIsInByb3RlY3Rpb24iLCJwcnUiLCJwcnVkZW50aWFsIiwicHMiLCJwdCIsInB1YiIsInB3IiwicHdjIiwicHkiLCJxYSIsInFwb24iLCJxdWViZWMiLCJxdWVzdCIsInJhY2luZyIsInJhZGlvIiwicmUiLCJyZWFkIiwicmVhbGVzdGF0ZSIsInJlYWx0b3IiLCJyZWFsdHkiLCJyZWNpcGVzIiwicmVkIiwicmVkdW1icmVsbGEiLCJyZWhhYiIsInJlaXNlIiwicmVpc2VuIiwicmVpdCIsInJlbGlhbmNlIiwicmVuIiwicmVudCIsInJlbnRhbHMiLCJyZXBhaXIiLCJyZXBvcnQiLCJyZXB1YmxpY2FuIiwicmVzdCIsInJlc3RhdXJhbnQiLCJyZXZpZXciLCJyZXZpZXdzIiwicmV4cm90aCIsInJpY2giLCJyaWNoYXJkbGkiLCJyaWNvaCIsInJpbCIsInJpbyIsInJpcCIsInJvIiwicm9ja3MiLCJyb2RlbyIsInJvZ2VycyIsInJvb20iLCJycyIsInJzdnAiLCJydSIsInJ1Z2J5IiwicnVociIsInJ1biIsInJ3IiwicndlIiwicnl1a3l1Iiwic2EiLCJzYWFybGFuZCIsInNhZmUiLCJzYWZldHkiLCJzYWt1cmEiLCJzYWxlIiwic2Fsb24iLCJzYW1zY2x1YiIsInNhbXN1bmciLCJzYW5kdmlrIiwic2FuZHZpa2Nvcm9tYW50Iiwic2Fub2ZpIiwic2FwIiwic2FybCIsInNhcyIsInNhdmUiLCJzYXhvIiwic2IiLCJzYmkiLCJzYnMiLCJzYyIsInNjYiIsInNjaGFlZmZsZXIiLCJzY2htaWR0Iiwic2Nob2xhcnNoaXBzIiwic2Nob29sIiwic2NodWxlIiwic2Nod2FyeiIsInNjaWVuY2UiLCJzY290Iiwic2QiLCJzZSIsInNlYXJjaCIsInNlYXQiLCJzZWN1cmUiLCJzZWN1cml0eSIsInNlZWsiLCJzZWxlY3QiLCJzZW5lciIsInNlcnZpY2VzIiwic2V2ZW4iLCJzZXciLCJzZXgiLCJzZXh5Iiwic2ZyIiwic2ciLCJzaCIsInNoYW5ncmlsYSIsInNoYXJwIiwic2hlbGwiLCJzaGlhIiwic2hpa3NoYSIsInNob2VzIiwic2hvcCIsInNob3BwaW5nIiwic2hvdWppIiwic2hvdyIsInNpIiwic2lsayIsInNpbmEiLCJzaW5nbGVzIiwic2l0ZSIsInNqIiwic2siLCJza2kiLCJza2luIiwic2t5Iiwic2t5cGUiLCJzbCIsInNsaW5nIiwic20iLCJzbWFydCIsInNtaWxlIiwic24iLCJzbmNmIiwic28iLCJzb2NjZXIiLCJzb2NpYWwiLCJzb2Z0YmFuayIsInNvZnR3YXJlIiwic29odSIsInNvbGFyIiwic29sdXRpb25zIiwic29uZyIsInNvbnkiLCJzb3kiLCJzcGEiLCJzcGFjZSIsInNwb3J0Iiwic3BvdCIsInNyIiwic3JsIiwic3MiLCJzdCIsInN0YWRhIiwic3RhcGxlcyIsInN0YXIiLCJzdGF0ZWJhbmsiLCJzdGF0ZWZhcm0iLCJzdGMiLCJzdGNncm91cCIsInN0b2NraG9sbSIsInN0b3JhZ2UiLCJzdG9yZSIsInN0cmVhbSIsInN0dWRpbyIsInN0dWR5Iiwic3R5bGUiLCJzdSIsInN1Y2tzIiwic3VwcGxpZXMiLCJzdXBwbHkiLCJzdXBwb3J0Iiwic3VyZiIsInN1cmdlcnkiLCJzdXp1a2kiLCJzdiIsInN3YXRjaCIsInN3aXNzIiwic3giLCJzeSIsInN5ZG5leSIsInN5c3RlbXMiLCJzeiIsInRhYiIsInRhaXBlaSIsInRhbGsiLCJ0YW9iYW8iLCJ0YXJnZXQiLCJ0YXRhbW90b3JzIiwidGF0YXIiLCJ0YXR0b28iLCJ0YXgiLCJ0YXhpIiwidGMiLCJ0Y2kiLCJ0ZCIsInRkayIsInRlYW0iLCJ0ZWNoIiwidGVjaG5vbG9neSIsInRlbCIsInRlbWFzZWsiLCJ0ZW5uaXMiLCJ0ZXZhIiwidGYiLCJ0ZyIsInRoIiwidGhkIiwidGhlYXRlciIsInRoZWF0cmUiLCJ0aWFhIiwidGlja2V0cyIsInRpZW5kYSIsInRpcHMiLCJ0aXJlcyIsInRpcm9sIiwidGoiLCJ0am1heHgiLCJ0angiLCJ0ayIsInRrbWF4eCIsInRsIiwidG0iLCJ0bWFsbCIsInRuIiwidG8iLCJ0b2RheSIsInRva3lvIiwidG9vbHMiLCJ0b3AiLCJ0b3JheSIsInRvc2hpYmEiLCJ0b3RhbCIsInRvdXJzIiwidG93biIsInRveW90YSIsInRveXMiLCJ0ciIsInRyYWRlIiwidHJhZGluZyIsInRyYWluaW5nIiwidHJhdmVsIiwidHJhdmVsZXJzIiwidHJhdmVsZXJzaW5zdXJhbmNlIiwidHJ1c3QiLCJ0cnYiLCJ0dCIsInR1YmUiLCJ0dWkiLCJ0dW5lcyIsInR1c2h1IiwidHYiLCJ0dnMiLCJ0dyIsInR6IiwidWEiLCJ1YmFuayIsInVicyIsInVnIiwidWsiLCJ1bmljb20iLCJ1bml2ZXJzaXR5IiwidW5vIiwidW9sIiwidXBzIiwidXMiLCJ1eSIsInV6IiwidmEiLCJ2YWNhdGlvbnMiLCJ2YW5hIiwidmFuZ3VhcmQiLCJ2YyIsInZlIiwidmVnYXMiLCJ2ZW50dXJlcyIsInZlcmlzaWduIiwidmVybcO2Z2Vuc2JlcmF0ZXIiLCJ2ZXJtw7ZnZW5zYmVyYXR1bmciLCJ2ZXJzaWNoZXJ1bmciLCJ2ZXQiLCJ2ZyIsInZpIiwidmlhamVzIiwidmlkZW8iLCJ2aWciLCJ2aWtpbmciLCJ2aWxsYXMiLCJ2aW4iLCJ2aXAiLCJ2aXJnaW4iLCJ2aXNhIiwidmlzaW9uIiwidml2YSIsInZpdm8iLCJ2bGFhbmRlcmVuIiwidm4iLCJ2b2RrYSIsInZvbHZvIiwidm90ZSIsInZvdGluZyIsInZvdG8iLCJ2b3lhZ2UiLCJ2dSIsIndhbGVzIiwid2FsbWFydCIsIndhbHRlciIsIndhbmciLCJ3YW5nZ291Iiwid2F0Y2giLCJ3YXRjaGVzIiwid2VhdGhlciIsIndlYXRoZXJjaGFubmVsIiwid2ViY2FtIiwid2ViZXIiLCJ3ZWJzaXRlIiwid2VkIiwid2VkZGluZyIsIndlaWJvIiwid2VpciIsIndmIiwid2hvc3dobyIsIndpZW4iLCJ3aWtpIiwid2lsbGlhbWhpbGwiLCJ3aW4iLCJ3aW5kb3dzIiwid2luZSIsIndpbm5lcnMiLCJ3bWUiLCJ3b2x0ZXJza2x1d2VyIiwid29vZHNpZGUiLCJ3b3JrIiwid29ya3MiLCJ3b3JsZCIsIndvdyIsIndzIiwid3RjIiwid3RmIiwieGJveCIsInhlcm94IiwieGlodWFuIiwieGluIiwieHh4IiwieHl6IiwieWFjaHRzIiwieWFob28iLCJ5YW1heHVuIiwieWFuZGV4IiwieWUiLCJ5b2RvYmFzaGkiLCJ5b2dhIiwieW9rb2hhbWEiLCJ5b3UiLCJ5b3V0dWJlIiwieXQiLCJ5dW4iLCJ6YSIsInphcHBvcyIsInphcmEiLCJ6ZXJvIiwiemlwIiwiem0iLCJ6b25lIiwienVlcmljaCIsInp3IiwizrXOuyIsIs61z4UiLCLQsdCzIiwi0LHQtdC7Iiwi0LTQtdGC0LgiLCLQtdGOIiwi0LrQsNGC0L7Qu9C40LoiLCLQutC+0LwiLCLQvNC60LQiLCLQvNC+0L0iLCLQvNC+0YHQutCy0LAiLCLQvtC90LvQsNC50L0iLCLQvtGA0LMiLCLRgNGD0YEiLCLRgNGEIiwi0YHQsNC50YIiLCLRgdGA0LEiLCLRg9C60YAiLCLSm9Cw0LciLCLVsNWh1bUiLCLXmdep16jXkNecIiwi16fXldedIiwi2KfYqNmI2LjYqNmKIiwi2KfYsdin2YXZg9mIIiwi2KfZhNin2LHYr9mGIiwi2KfZhNio2K3YsdmK2YYiLCLYp9mE2KzYstin2KbYsSIsItin2YTYs9i52YjYr9mK2KkiLCLYp9mE2LnZhNmK2KfZhiIsItin2YTZhdi62LHYqCIsItin2YXYp9ix2KfYqiIsItin24zYsdin2YYiLCLYqNin2LHYqiIsItio2KfYstin2LEiLCLYqNmK2KrZgyIsItio2r7Yp9ix2KoiLCLYqtmI2YbYsyIsItiz2YjYr9in2YYiLCLYs9mI2LHZitipIiwi2LTYqNmD2KkiLCLYudix2KfZgiIsIti52LHYqCIsIti52YXYp9mGIiwi2YHZhNiz2LfZitmGIiwi2YLYt9ixIiwi2YPYp9ir2YjZhNmK2YMiLCLZg9mI2YUiLCLZhdi12LEiLCLZhdmE2YrYs9mK2KciLCLZhdmI2LHZitiq2KfZhtmK2KciLCLZhdmI2YLYuSIsItmH2YXYsdin2YciLCLZvtin2qnYs9iq2KfZhiIsItqA2KfYsdiqIiwi4KSV4KWJ4KSuIiwi4KSo4KWH4KSfIiwi4KSt4KS+4KSw4KSkIiwi4KSt4KS+4KSw4KSk4KSu4KWNIiwi4KSt4KS+4KSw4KWL4KSkIiwi4KS44KSC4KSX4KSg4KSoIiwi4Kas4Ka+4KaC4Kay4Ka+Iiwi4Kat4Ka+4Kaw4KakIiwi4Kat4Ka+4Kew4KakIiwi4Kit4Ki+4Kiw4KikIiwi4Kqt4Kq+4Kqw4KqkIiwi4Kyt4Ky+4Kyw4KykIiwi4K6H4K6o4K+N4K6k4K6/4K6v4K6+Iiwi4K6H4K6y4K6Z4K+N4K6V4K+IIiwi4K6a4K6/4K6Z4K+N4K6V4K6q4K+N4K6q4K+C4K6w4K+NIiwi4LCt4LC+4LCw4LCk4LGNIiwi4LKt4LK+4LKw4LKkIiwi4LSt4LS+4LSw4LSk4LSCIiwi4La94LaC4Laa4LePIiwi4LiE4Lit4LihIiwi4LmE4LiX4LiiIiwi4Lql4Lqy4LqnIiwi4YOS4YOUIiwi44G/44KT44GqIiwi44Ki44Oe44K+44OzIiwi44Kv44Op44Km44OJIiwi44Kw44O844Kw44OrIiwi44Kz44OgIiwi44K544OI44KiIiwi44K744O844OrIiwi44OV44Kh44OD44K344On44OzIiwi44Od44Kk44Oz44OIIiwi5LiW55WMIiwi5Lit5L+hIiwi5Lit5Zu9Iiwi5Lit5ZyLIiwi5Lit5paH572RIiwi5Lqa6ams6YCKIiwi5LyB5LiaIiwi5L2b5bGxIiwi5L+h5oGvIiwi5YGl5bq3Iiwi5YWr5Y2mIiwi5YWs5Y+4Iiwi5YWs55uKIiwi5Y+w5rm+Iiwi5Y+w54GjIiwi5ZWG5Z+OIiwi5ZWG5bqXIiwi5ZWG5qCHIiwi5ZiJ6YeMIiwi5ZiJ6YeM5aSn6YWS5bqXIiwi5Zyo57q/Iiwi5aSn5ou/Iiwi5aSp5Li75pWZIiwi5aix5LmQIiwi5a626Zu7Iiwi5bm/5LicIiwi5b6u5Y2aIiwi5oWI5ZaEIiwi5oiR54ix5L2gIiwi5omL5py6Iiwi5oub6IGYIiwi5pS/5YqhIiwi5pS/5bqcIiwi5paw5Yqg5Z2hIiwi5paw6Ze7Iiwi5pe25bCaIiwi5pu457GNIiwi5py65p6EIiwi5reh6ams6ZShIiwi5ri45oiPIiwi5r6z6ZaAIiwi54K555yLIiwi56e75YqoIiwi57uE57uH5py65p6EIiwi572R5Z2AIiwi572R5bqXIiwi572R56uZIiwi572R57ucIiwi6IGU6YCaIiwi6LC35q2MIiwi6LSt54mpIiwi6YCa6LKpIiwi6ZuG5ZuiIiwi6Zu76KiK55uI56eRIiwi6aOe5Yip5rWmIiwi6aOf5ZOBIiwi6aSQ5Y6FIiwi6aaZ5qC86YeM5ouJIiwi6aaZ5rivIiwi64u364S3Iiwi64u37Lu0Iiwi7IK87ISxIiwi7ZWc6rWtIl1gKSx5Zj0vXlstISMkJSYnKisvMC05PT9BLVpeX2EtemB7fH1+XShcLj9bLSEjJCUmJyorLzAtOT0/QS1aXl9hLXpge3x9fl0pKkBbYS16QS1aMC05XSgtKlwuP1thLXpBLVowLTldKSpcLlthLXpBLVpdKC0/W2EtekEtWjAtOV0pKyQvLGJmPS8oKD86d3d3Lik/W15ccy5dK1wuW15ccy9dK1wvW15ccy5dKykvLHhmPS9bJjw+IiddL2csU2Y9ZT0+e2xldCB0PXsiJiI6YCZhbXA7YCwiPCI6YCZsdDtgLCI+IjpgJmd0O2AsJyInOmAmcXVvdDtgLCInIjpgJiMzOTtgfSxuPVJlZ0V4cCh4Zi5zb3VyY2UpO3JldHVybiBlJiZuLnRlc3QoZSk/ZS5yZXBsYWNlKHhmLGU9PnRbZV0pOmV8fGBgfSxDZj1gb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OyAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyAtd2Via2l0LWxpbmUtY2xhbXA6IDE7IGxpbmUtY2xhbXA6IDE7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtgLHdmPW5ldyBfZigpLnRsZHModmYpLnNldCh7ZnV6enlJUDohMH0pLFRmPW5ldyBfZigpLnRsZHModmYpLEVmPShlLHQsbik9PntsZXQgcj1CKCkubG9jYXRpb24uaG9zdG5hbWU7cmV0dXJuYDxhIGhyZWY9IiR7ZX0iIHRhcmdldD0iJHtyLmxlbmd0aD4wJiZlLmluY2x1ZGVzKHIpP2BfcGFyZW50YDpgX2JsYW5rYH0iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciIgdGl0bGU9IiR7ZX0iIHN0eWxlPSIke24/LmNsYW1wJiYhbj8ucmVwbGFjZVRleHQ/Q2Y6YGB9Ij4ke3R9PC9hPmB9LERmPShlLHQpPT57aWYoZT09PWBgKXJldHVybiBlO2xldCBuPXdmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBTZihlKTtsZXQgcj1gYCxpPTA7cmV0dXJuIG4uZm9yRWFjaChuPT57bGV0IGE9YGAsbz1gYCxzPU9mKGUsbiksYz10Py5jbGFtcCYmbi50ZXh0Lmxlbmd0aD4zMCYmIXM7bi5pbmRleD5pJiYoYT1lLnN1YnN0cmluZyhpLG4uaW5kZXgpKSxvPUVmKG4udXJsLG4udGV4dCx7Li4udCxjbGFtcDpjfSksaT1uLmxhc3RJbmRleCxzJiYoYT1hLnN1YnN0cmluZygwLGEubGVuZ3RoLTEpLGkrPTEpLGMmJiFrZihlLG4pJiYobz1gXG4ke299XG5gLGE9YS50cmltRW5kKCksZVtpXT8ubWF0Y2goL1xzLykmJihpKz0xKSkscis9U2YoYSkrb30pLGUubGVuZ3RoPmkmJihyKz1TZihlLnN1YnN0cmluZyhpKSkpLHJ9LE9mPShlLHQpPT5lW3QuaW5kZXgtMV09PT1gImAmJmVbdC5sYXN0SW5kZXhdPT09YCJgLGtmPShlLHQpPT4hISh0LmluZGV4PD0xJiZlLnN1YnN0cmluZyh0Lmxhc3RJbmRleCx0Lmxhc3RJbmRleCszKS5tYXRjaCgvW1xuXHJdKy8pfHxlLnN1YnN0cmluZyh0LmluZGV4LTMsdC5pbmRleCkubWF0Y2goL1tcblxyXSsvKSYmZS5zdWJzdHJpbmcodC5sYXN0SW5kZXgsdC5sYXN0SW5kZXgrMykubWF0Y2goL1tcblxyXSsvKXx8ZS5zdWJzdHJpbmcodC5pbmRleC0zLHQuaW5kZXgpLm1hdGNoKC9bXG5ccl0rLykmJnQubGFzdEluZGV4PmUubGVuZ3RoLTN8fHQuaW5kZXg8PTEmJnQubGFzdEluZGV4Pj1lLmxlbmd0aC0yKSxBZj1lPT5lLnJlcGxhY2UoL15odHRwcz86XC9cLy8sYGApLnJlcGxhY2UoL153d3dcLi8sYGApLnJlcGxhY2UoL1wvKyQvLGBgKS50b0xvd2VyQ2FzZSgpLGpmPWU9PntsZXQgdD1bYG1haWx0bzpgLGBmdHA6YCxgLy9gXSxuPVRmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBudWxsO2xldCByPW5ldyBTZXQ7cmV0dXJuIG4uZmlsdGVyKGU9PntpZih0LmluY2x1ZGVzKGUuc2NoZW1hKSlyZXR1cm4hMTtsZXQgbj1BZihlLnVybCk7cmV0dXJuIHIuaGFzKG4pPyExOihyLmFkZChuKSwhMCl9KX0sTWY9KCk9PlBvKGBjYXJkc2ApLE5mPWU9PntGbyh7Li4uZX0sYGNhcmRzYCl9LFBmPWFzeW5jIGU9PntsZXQgdD1uZXcgSGVhZGVycyx7d2lkZ2V0QXBpVXJsOm59PVYuZ2V0T3B0aW9ucygpO3QuYXBwZW5kKGBDb250ZW50LVR5cGVgLGBhcHBsaWNhdGlvbi9qc29uYCk7bGV0IHI9SlNPTi5zdHJpbmdpZnkoe2xpbmtzOmV9KTt0cnl7bGV0IGU9YXdhaXQgZmV0Y2goYCR7bn0vbGlua3MvcHJldmlld2Ase21ldGhvZDpgUE9TVGAsaGVhZGVyczp0LGJvZHk6cn0pO3JldHVybiBlLm9rJiZlLmpzb24/YXdhaXQgZS5qc29uKCk6bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19LEZmPWU9PmUuZmluZChlPT5lLnR5cGU9PT1gb3Blbl91cmxgKT8udmFsdWV8fGBgLElmPWU9PntsZXQgdD1lLmZpbHRlcihlPT5lLnRpdGxlJiZlLmltYWdlJiYhUmYoRmYoZS5hY3Rpb25zKSkpO3JldHVybiB0Lmxlbmd0aCYmZS5sZW5ndGg+MT9lOnQubGVuZ3RoPT09MT90OltdfSxMZj1lPT57bGV0IHQ9bmV3IERhdGUoKS5nZXRUaW1lKCk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+eyghZVtuXS5leHBpcmF0aW9ufHxlW25dLmV4cGlyYXRpb24mJmVbbl0uZXhwaXJhdGlvbjx0KSYmZGVsZXRlIGVbbl19KSxlfSxSZj1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dH09QShibCksbj1lLm1hdGNoKC8oXC4pKFteLl17Myw0fSkkL20pO3JldHVybiBuJiZuWzJdJiZ0LmluY2x1ZGVzKG5bMl0pfSx6Zj1hc3luYyBlPT57dHJ5e2F3YWl0IHEuZ2V0Q2xpZW50KCkubGlua09wZW5lZCh7dXJsOmV9KX1jYXRjaChlKXtqbyhgU2VuZGluZyBsaW5rIG9wZW5lZCBhbmFseXRpY3MgZXZlbnQgZmFpbGVkYCxTdHJpbmcoZSkpfX0sQmY9KGUsdCk9PntpZighdClyZXR1cm47bGV0IG49YXN5bmMgbj0+e2xldCByPW4udGFyZ2V0LmNsb3Nlc3QoYGFgKTtyJiZlLmNvbnRhaW5zKHIpJiZ0JiZhd2FpdCB6ZihyLmhyZWYpfSxyPWU9PnZvaWQgbihlKSxpPWU9PntlLmJ1dHRvbiE9PTImJm4oZSl9LGE9ZT0+dm9pZCBuKGUpO3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoYGNsaWNrYCxyKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGF1eGNsaWNrYCxpKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGNvbnRleHRtZW51YCxhKSx7ZGVzdHJveSgpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgYXV4Y2xpY2tgLGkpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY29udGV4dG1lbnVgLGEpfX19LFZmPSExLEhmPU8oKSxVZj1PKCExKSxXZj1PKCExKSxHZj0oZSx0LG4pPT57bGV0IHI9e30saT1uZXcgRGF0ZSgpLmdldFRpbWUoKStNZDtlLmZvckVhY2goKGUsbik9PnJbZV09e2V4cGlyYXRpb246aSxjYXJkOnRbbl19KTtsZXQgYT17Li4ubiwuLi5yfTtIZi5zZXQoYSksTmYoYSl9LEtmPWFzeW5jKGUsdCxuPSExKT0+e2xldCByPVtdLGk9e3R5cGU6YGNhcmRzYCxsYXlvdXQ6YGNhcm91c2VsYCxpdGVtczpbXX07VmZ8fD0oSGYuc2V0KE1mKCkpLCEwKTtsZXQgYT1qZihlKTtpZighYSlyZXR1cm4gbnVsbDtsZXQgbz1MZihBKEhmKSkscz1bXTtpZihhLmZvckVhY2godD0+e09mKGUsdCl8fChvW3QudXJsXT9yLnB1c2gob1t0LnVybF0uY2FyZCk6cy5wdXNoKHQudXJsKSl9KSxzLmxlbmd0aD4wKXt0JiZVZi5zZXQoITApLG4mJldmLnNldCghMCk7bGV0IGU9YXdhaXQgUGYocyk7ZSYmKEdmKHMsZSxvKSxyPVsuLi5yLC4uLmVdKX1yZXR1cm4gaS5pdGVtcz1JZihyKSxVZi5zZXQoITEpLFdmLnNldCghMSksaS5pdGVtcy5sZW5ndGg+MD9pOm51bGx9LHFmPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbnRhY3RNZXNzYWdlPWBjb250YWN0LW1lc3NhZ2VgLGUuQWdlbnRNZXNzYWdlPWBhZ2VudC1tZXNzYWdlYCxlLkJvdE1lc3NhZ2U9YGJvdC1tZXNzYWdlYCxlLkJvdFJlcGxpZXM9YGJvdC1yZXBsaWVzYCxlfSh7fSksSmY9YXN5bmMoe3RleHQ6ZSxxdWlja1JlcGx5OnR9KT0+e3RyeXtsZXQgbj1CKCkubG9jYXRpb24uaHJlZjtyZXR1cm4gYXdhaXQgcS5nZXRDbGllbnQoKS5jaGF0TWVzc2FnZSh7Y29udGVudDp7dHlwZTpHLk1lc3NhZ2VDb250ZW50VHlwZS5UZXh0LHRleHQ6ZX0scXVpY2tSZXBseTp0LHBhZ2VVcmw6bn0pPz9udWxsfWNhdGNoe3JldHVybiBudWxsfX0sWWY9ZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3R8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuVHJpZ2dlcixYZj1lPT5lLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlN5c3RlbSxaZj1lPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk5vdGUsUWY9ZT0+IWUuZGVsZXRlZEF0JiYhWmYoZSkmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxZZihlKSksJGY9ZT0+YGh0bWxgaW4gZSYmISFlLmh0bWwsZXA9ZT0+YHRleHRgaW4gZSYmISFlLnRleHQsdHA9KGUsdCk9Pm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCktbmV3IERhdGUodC5jcmVhdGVkQXQpLmdldFRpbWUoKSxucD0oZSx0KT0+dD09PXFmLkJvdFJlcGxpZXM/YCR7ZS5pZH0tcmVwbGllc2A6ZS5pZCxycD1lPT57bGV0IHQ9e2lzUmlnaHQ6ITEsaXNMZWZ0OiExfSxuPXtpc1ByaW1hcnk6ITEsaXNTZWNvbmRhcnk6ITF9O3N3aXRjaChlKXtjYXNlIHFmLkNvbnRhY3RNZXNzYWdlOnQuaXNSaWdodD0hMCxuLmlzUHJpbWFyeT0hMDticmVhaztkZWZhdWx0OnQuaXNMZWZ0PSEwLG4uaXNTZWNvbmRhcnk9ITB9cmV0dXJue2FsaWduOnQsdmFyaWFudDpufX0saXA9ZT0+ISFlLmFnZW50SWR8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiZlLmNvbnRlbnQudHlwZSE9PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlRpY2tldEZvcm0sYXA9KGUsdCk9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuU3lzdGVtfHx0PT09cWYuQm90UmVwbGllc3x8ZS5jb250ZW50LnR5cGU9PT1HLk1lc3NhZ2VDb250ZW50VHlwZS5UaWNrZXRGb3JtLG9wPWU9PntsZXQgdD1bXSxuPW51bGwscj1udWxsO2ZvcihsZXQgaSBvZiBlKXtpZihpLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiYoaS5jb250ZW50LmRhdGEudGFyZ2V0PT09Ry5SYXRpbmdUYXJnZXQuQWkmJiFKcCgpfHxpLmNvbnRlbnQuZGF0YS50YXJnZXQ9PT1HLlJhdGluZ1RhcmdldC5BZ2VudCYmIXFwKCkpKWNvbnRpbnVlO24mJiFocChpLG4pJiYodC5wdXNoKG4pLG49bnVsbCxyPW51bGwpLG58fD1zcChpKTtsZXQgZT1scChpLG4pO2lmKHIpe2xldCB0PV9wKHIpLG49ZHAocik7ZS5uZWlnaGJvcnMuaGFzVG9wPXQsbi5hbnkubmVpZ2hib3JzLmhhc0JvdHRvbT10LG4uYXR0YWNobWVudENvbnRleHQmJihuLmF0dGFjaG1lbnRDb250ZXh0LmV4dHJhU3BhY2VzLmhhc0JvdHRvbT15cChuLmF0dGFjaG1lbnRDb250ZXh0LmF0dGFjaG1lbnQpKX1sZXQgYT1mcChpKTtpZihhJiZ1cChhLGUsciksbi5tZXNzYWdlc0NvbnRleHQucHVzaChlKSxyPWUsKFlmKGkpfHxYZihpKSkmJlRwKGkpKXt0LnB1c2gobik7bGV0IGU9Y3AoaSk7ZS5tZXNzYWdlc0NvbnRleHQucHVzaChscChpLGUpKSx0LnB1c2goZSksbj1udWxsfX1yZXR1cm4gbiYmdC5wdXNoKG4pLHR9LHNwPWU9PntsZXQgdD1ncChlKSxuPWUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXIse2FsaWduOnIsdmFyaWFudDppfT1ycCh0KTtyZXR1cm57dHlwZTp0LGlzQm90Om4saWQ6bnAoZSx0KSxkYXRlOmUuY3JlYXRlZEF0LGFnZW50SWQ6ZS5hZ2VudElkLGFsaWduOnIsdmFyaWFudDppLG1lc3NhZ2VzQ29udGV4dDpbXSxzaG93QXZhdGFyOmlwKGUpLHVzZUZ1bGxXaWR0aDphcChlLHQpfX0sY3A9ZT0+e2xldCB0PXFmLkJvdFJlcGxpZXMse2FsaWduOm4sdmFyaWFudDpyfT1ycCh0KTtyZXR1cm57dHlwZTpxZi5Cb3RSZXBsaWVzLGlzQm90OiEwLGlkOm5wKGUsdCksZGF0ZTplLmNyZWF0ZWRBdCxhZ2VudElkOmUuYWdlbnRJZCxhbGlnbjpuLHZhcmlhbnQ6cixtZXNzYWdlc0NvbnRleHQ6W10sc2hvd0F2YXRhcjohMSx1c2VGdWxsV2lkdGg6YXAoZSx0KX19LGxwPShlLHQpPT4oe2dyb3VwOnQsbWVzc2FnZTplLG5laWdoYm9yczp7aGFzVG9wOiExLGhhc0JvdHRvbTohMX0sYXR0YWNobWVudHNDb250ZXh0OltdfSksdXA9KGUsdCxuKT0+e2xldCByPW51bGw7Zm9yKGxldCBpIG9mIGUpe2xldCBlPXZwKGkpLGE9e2hhc1RvcDohMSxoYXNCb3R0b206ITF9LG89eXAoaSkscz17aGFzVG9wOm8saGFzQm90dG9tOiExfTtpZihyKXtsZXQgdD12cChyLmF0dGFjaG1lbnQpLG49eXAoci5hdHRhY2htZW50KTtyLm5laWdoYm9ycy5oYXNCb3R0b209dCYmZSxhLmhhc1RvcD10JiZlLHIuZXh0cmFTcGFjZXMuaGFzQm90dG9tPSFvJiZufWVsc2UgaWYodC5uZWlnaGJvcnMuaGFzQm90dG9tPWUsYS5oYXNUb3A9ZSxwcCh0Lm1lc3NhZ2UpKWlmKGEuaGFzVG9wPSExLHQubmVpZ2hib3JzLmhhc1RvcD0hMSx0Lm5laWdoYm9ycy5oYXNCb3R0b209ITEsbil7bGV0IHQ9X3Aobikscj1kcChuKTthLmhhc1RvcD10JiZlLHIuYW55Lm5laWdoYm9ycy5oYXNCb3R0b209dCYmZTtsZXQgaT1yLmF0dGFjaG1lbnRDb250ZXh0O2kmJihpLmV4dHJhU3BhY2VzLmhhc0JvdHRvbT0hbyYmeXAoaS5hdHRhY2htZW50KSl9ZWxzZSBzLmhhc1RvcD0hMTtsZXQgYz17YXR0YWNobWVudDppLG5laWdoYm9yczphLGV4dHJhU3BhY2VzOnMsbWVzc2FnZUNvbnRleHQ6dH07dC5hdHRhY2htZW50c0NvbnRleHQucHVzaChjKSxyPXsuLi5jfX19LGRwPWU9PntsZXQgdD1TZChlLmF0dGFjaG1lbnRzQ29udGV4dCl8fHZvaWQgMDtyZXR1cm57YXR0YWNobWVudENvbnRleHQ6dCxhbnk6dHx8ZX19LGZwPWU9PmU/ZS5jb250ZW50Py50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuVXBsb2FkP1tlLmNvbnRlbnQuZGF0YV06ZS5hdHRhY2htZW50czpbXSxwcD1lPT4hZS5jb250ZW50LnRleHQsbXA9ZT0+e3RyeXtsZXQgdD1CKCkubG9jYXRpb24uaG9zdG5hbWUsbj1uZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGUsYHRleHQvaHRtbGApO3JldHVybiBuLnF1ZXJ5U2VsZWN0b3JBbGwoYGFbaHJlZl1gKS5mb3JFYWNoKGU9PntsZXQgbj1lLmdldEF0dHJpYnV0ZShgaHJlZmApfHxgYDtuPW4ucmVwbGFjZSgvXmh0dHBzPzpcL1wvIj9odHRwcz86XC9cLy8sYGh0dHBzOi8vYCksbj1uLnJlcGxhY2UoL14iK3wiKyQvZyxgYCksZS5zZXRBdHRyaWJ1dGUoYGhyZWZgLG4pO2xldCByPXQubGVuZ3RoPjAmJm4uaW5jbHVkZXModCk7ZS5oYXNBdHRyaWJ1dGUoYHRhcmdldGApfHxlLnNldEF0dHJpYnV0ZShgdGFyZ2V0YCxyP2BfcGFyZW50YDpgX2JsYW5rYCksZS5oYXNBdHRyaWJ1dGUoYHJlbGApfHxlLnNldEF0dHJpYnV0ZShgcmVsYCxgbm9vcGVuZXIgbm9yZWZlcnJlcmApfSksbi5ib2R5LmlubmVySFRNTH1jYXRjaHtyZXR1cm4gZX19LGhwPShlLHQpPT57bGV0IG49Z3AoZSkscj1uPT09cWYuQWdlbnRNZXNzYWdlJiZlLmFnZW50SWQ9PT10LmFnZW50SWQsaT1uPT09cWYuQ29udGFjdE1lc3NhZ2UsYT1lLnN1YlR5cGUhPT1HLk1lc3NhZ2VTdWJUeXBlLkJvdHx8KGUuY29udGVudC5xdWlja1JlcGxpZXN8fFtdKS5sZW5ndGg9PT0wO3JldHVybiB0LnR5cGU9PT1uJiYocnx8aSkmJmEmJklkKHQuZGF0ZSxlLmNyZWF0ZWRBdCl9LGdwPWU9Pntzd2l0Y2goZS5zdWJUeXBlKXtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQWdlbnQ6cmV0dXJuIHFmLkFnZW50TWVzc2FnZTtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdDpyZXR1cm4gcWYuQ29udGFjdE1lc3NhZ2U7Y2FzZSBHLk1lc3NhZ2VTdWJUeXBlLkJvdDpyZXR1cm4gcWYuQm90TWVzc2FnZX1yZXR1cm4gbnVsbH0sX3A9ZT0+e2xldCB0PWUuYXR0YWNobWVudHNDb250ZXh0Lmxlbmd0aDtyZXR1cm4hKHQ+MCYmZS5hdHRhY2htZW50c0NvbnRleHRbdC0xXS5hdHRhY2htZW50LnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUpfSx2cD1lPT5lLnR5cGUhPT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUmJmUudHlwZSE9PUcuQXR0YWNobWVudFR5cGUuQ2FyZHMseXA9ZT0+ISFlJiYoZS50eXBlPT09Ry5BdHRhY2htZW50VHlwZS5GaWxlfHxlLnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkNhcmRzKSxicD0oKT0+e2xldCBlPWdfKCk7ZS52b2x1bWU9cWMsZS5hZGRFdmVudExpc3RlbmVyKGBjYW5wbGF5dGhyb3VnaGAsKCk9PntlLnBsYXkoKS5jYXRjaChlPT5IKGBDb3VsZCBub3QgcGxheSBtZXNzYWdlIHNvdW5kLmAsZSkpfSl9LHhwPUtkKGJwLEpjKSxTcD1lPT5lLmZpbHRlcihlPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk1lc3NhZ2UmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QpKSxDcD0oZSx0PSEwKT0+e2xldCBuPWUucmVkdWNlKChlLHQpPT4oZS5wdXNoKHQpLHQuY29udGVudC50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuQ2hhdENsb3NlfHx0LmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLkNoYXRWaXNpdG9yQ2xvc2U/W106ZSksW10pO3JldHVybiB0P24uZmlsdGVyKGU9PmUudHlwZT09PUcuTWVzc2FnZVR5cGUuTWVzc2FnZSYmZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5TeXN0ZW0pOm59LHdwPWU9PntsZXQgdD17fTtyZXR1cm4gZS5mb3JFYWNoKGU9PntlLnRyaWdnZXImJih0W2UudHJpZ2dlci5pZF09e3NlbnQ6ITB9KX0pLHR9LFRwPWU9PiEhKGUuY29udGVudC5xdWlja1JlcGxpZXMmJmUuY29udGVudC5xdWlja1JlcGxpZXMubGVuZ3RoPjApLEVwPWFzeW5jKGUsdD0hMSk9PntsZXQgbj1RZihlKSxyPSF0JiZuO2lmKGBodG1sYGluIGUuY29udGVudCYmZS5jb250ZW50Lmh0bWwmJihlLmNvbnRlbnQuaHRtbD1tcChlLmNvbnRlbnQuaHRtbCkpLGUuY29udGVudD8udGV4dCYmVi5nZXRPcHRpb25zKCkudXJsQ2FyZHNFbmFibGVkJiZlLmF0dGFjaG1lbnRzLmxlbmd0aD09PTApe2xldCB0PWF3YWl0IEtmKGUuY29udGVudC50ZXh0LGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCxyKTt0JiZ0Lml0ZW1zLmxlbmd0aD4wJiZlLmF0dGFjaG1lbnRzLnB1c2godCl9cmV0dXJuIG5kLnNldCghMSksZX0sRHA9YXN5bmMgZT0+KFYuZ2V0T3B0aW9ucygpLnVybENhcmRzRW5hYmxlZCYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoYXN5bmMgZT0+YXdhaXQgRXAoZSkpKSxlKSxPcD1lPT5lLmZpbmRJbmRleChlPT5lLm1lc3NhZ2UuY2hhbm5lbC50eXBlPT09YGVtYWlsYCk+LTEsa3A9ZT0+ZS5maW5kKGU9PmUubWVzc2FnZT8udHJpZ2dlcj8uaWRlbnRpdHlJZCk/Lm1lc3NhZ2U/LnRyaWdnZXI/LmlkZW50aXR5SWQsSj0oKCk9PntsZXQgZT1PKHt9KSx7c3Vic2NyaWJlOnQsdXBkYXRlOm4sc2V0OnJ9PWUsaT1hc3luYyBlPT57cihybChgaWRgLGF3YWl0IERwKGUpKSl9LGE9YXN5bmMgZT0+e2xldCB0PWF3YWl0IEVwKGUpO1lmKGUpJiZNcC5zZXQoITEpLG4obj0+KHsuLi5uLFtlLmlkXTp0fSkpLGpwKHQpfSxvPWFzeW5jIGU9PntpZighQShScCkuc29tZSh0PT50LmlkPT09ZS5pZCkpcmV0dXJuO2xldCB0PUEoQnApPT09ZS5pZD9hd2FpdCBFcChlLCEwKTplO24obj0+KHsuLi5uLFtlLmlkXTp0fSkpfTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0TWVzc2FnZXM6aSxhZGRNZXNzYWdlOmEsZGVsZXRlTWVzc2FnZTplPT57bih0PT57bGV0e1tlXTpuLC4uLnJ9PXQ7cmV0dXJuIHJ9KX0sbWFya01lc3NhZ2VBc0RlbGV0ZWQ6KHQscik9PntsZXQgaT1BKGUpW3RdO2kmJm4oZT0+KHsuLi5lLFtpLmlkXTp7Li4uaSxkZWxldGVkQXQ6cj8/bmV3IERhdGUoKS50b0lTT1N0cmluZygpfX0pKX0scmVwbGFjZU1lc3NhZ2U6byx1cGRhdGVNZXNzYWdlUmF0aW5nOmU9PntBKGlkKT09PWUuY29udGVudC5kYXRhPy50YXJnZXQmJnhkKCksbih0PT4hZXx8ZS5jb250ZW50LnR5cGUhPT1HLk1lc3NhZ2VDb250ZW50VHlwZS5SYXRlRm9ybT97Li4udH06KHRbZS5pZF18fFlwKGUuaWQpLHsuLi50LFtlLmlkXTplfSkpfSxzZW5kTWVzc2FnZTphc3luYyhlLHQpPT57S3Auc2V0KGUpO2xldCBuPWF3YWl0IEpmKHt0ZXh0OmV9KTtuJiYoS3Auc2V0KG51bGwpLGF3YWl0IGEobiksei5lbWl0KGBtZXNzYWdlU2VudGAsbiksd2goQSgkdSkpKSxhd2FpdCBQcm9taXNlLmFsbCh0Lm1hcChlPT5PZChlKSkpfSxzZW5kQm90UmVwbHk6YXN5bmMoZSx0LG4pPT57bGV0IHI9YXdhaXQgSmYoe3RleHQ6dCxxdWlja1JlcGx5OntyZXBseVRvOmUscGF5bG9hZDpufX0pO24uaXNHb0JhY2tCdXR0b258fEptKHQpLHImJmF3YWl0IG8ocil9LGNsZWFyTWVzc2FnZXM6KCk9PntyKHt9KX19fSkoKSxBcD1lPT57QShSXyl8fElfKCksUV8oKSxzZXRUaW1lb3V0KCgpPT57Si5hZGRNZXNzYWdlKGUpLCRfKCl9LDE2MDApfSxqcD1lPT57ZSYmQShEXykmJkEoUl8pJiYhKEEoa18pJiZBKFgpKSYmX18oZSkmJnhwKCl9LE1wPU8oITEpLE5wPWsoW0pdLChbZV0pPT57bGV0IHQ9T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoUWYpO3JldHVybiB0P1NkKHQuc29ydCgoZSx0KT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpLmdldFRpbWUoKS1uZXcgRGF0ZSh0LmNyZWF0ZWRBdCkuZ2V0VGltZSgpKSk6bnVsbH0pLFBwPWsoW0oscmRdLChbZSx0XSk9PntsZXQgbj1PYmplY3QudmFsdWVzKGUpLmZpbHRlcihRZik7cmV0dXJuIHQ/bi5maWx0ZXIoZT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpPm5ldyBEYXRlKHQpKTpufSksRnA9ayhbUHBdLChbZV0pPT5TZChlKSksSXA9ayhbUHBdLChbZV0pPT5lLmxlbmd0aCksTHA9ayhbSXBdLChbZV0pPT5lPjApLFJwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLnNvcnQodHApKSx6cD1rKFtScF0sKFtlXSk9Pm9wKGUpKSxCcD1rKFtScF0sKFtlXSk9PlNkKGUpPy5pZD8/bnVsbCksVnA9ayhbSl0sKFtlXSk9PlNkKE9iamVjdC52YWx1ZXMoZSkuZmlsdGVyKGU9PnR5cGVvZiBlLndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD09YGJvb2xlYW5gKSk/LndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD8/ITEpLEhwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLmZpbHRlcihlPT5lLnN1YlR5cGU9PT1gY29udGFjdGB8fGUuc3ViVHlwZT09PWBhZ2VudGApLmxlbmd0aD4wKSxVcD1rKFtKXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KS5sZW5ndGg+MCksV3A9ayhbSixDc10sKFtlLHRdLG4pPT57aWYodCl7bGV0IHI9ZVt0XTtyJiZyLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiZuKHttZXNzYWdlSWQ6ci5pZCx2YWx1ZTpyLmNvbnRlbnQuZGF0YT8udmFsdWUsdGV4dDpyLmNvbnRlbnQuZGF0YT8udGV4dCx0YXJnZXQ6ci5jb250ZW50LmRhdGE/LnRhcmdldH0pfWVsc2UgbihudWxsKX0pLEdwPWsoW1JwXSwoW2VdKT0+ZS5zbGljZSgpLnJldmVyc2UoKS5maW5kKGU9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCl8fG51bGwpLEtwPU8obnVsbCkscXA9KCk9PiEhVi5nZXRPcHRpb25zKCkucmF0aW5nRW5hYmxlZCxKcD0oKT0+ISFWLmdldE9wdGlvbnMoKS5haVJhdGluZ0VuYWJsZWQsWXA9ZT0+e0NzLnNldChlKSxCYyhIYy5DaGF0UmF0aW5nKX0sWHA9YXN5bmMoe21lc3NhZ2VJZDplLHJhdGluZzp7dGV4dDp0LHZhbHVlOm59LG9uU3VjY2VzczpyfSk9PntsZXQgaT1BKEopW2VdLGE9ZT09PWByYXRlX2Zvcm1faWRgP3ZvaWQgMDplO3RyeXthd2FpdCBxLmdldENsaWVudCgpLmNoYXRSYXRlKHttZXNzYWdlSWQ6YSx2YWx1ZTpuLHRleHQ6dD8/dm9pZCAwfSksciYmcigpfWNhdGNoKGUpe2kmJmF3YWl0IEoucmVwbGFjZU1lc3NhZ2UoaSksam8oYENoYXQgcmF0aW5nIGZhaWxlZC5gLFN0cmluZyhlKSksZ3MoQShXKShgZm9ybS5zdWJtaXQuZXJyb3JgKSl9fSxacD1lPT57bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvcmF0aW5nLyR7ZX0uc3ZnYH0sUXA9LyhHLShbQS1aLDAtOV0qKSkvZywkcD1bXSxlbT0hMSx0bSxubT0hMSxybSxpbT1lPT5lLm1hdGNoKFFwKSxhbT0oKT0+e2xldHtnb29nbGVBbmFseXRpY3NFbmFibGVkOmV9PVYuZ2V0T3B0aW9ucygpO3RtPXdpbmRvdy50b3B8fHdpbmRvdyxlJiYodG0uZ3RhZyYmKHJtPXRtLmd0YWcsbm09ITApLHoub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxvbSksIWVtJiZVbygpJiZzbSgpKX0sb209ZT0+eyFlbSYmZSYmc20oKX0sc209KCk9PntsZXR7Z2FLZXk6ZSxnYU9wdGlvbnM6dCxnb29nbGVBbmFseXRpY3NNYW51YWw6bixnb29nbGVBbmFseXRpY3NNZWFzdXJlbWVudElkczpyfT1WLmdldE9wdGlvbnMoKSxpPXR8fHtjb29raWVEb21haW46YGF1dG9gfTtpZihlKWltKGUpJiYkcC5wdXNoKHtrZXk6ZSxvcHRpb25zOml9KTtlbHNlIGlmKG4mJnIpci5mb3JFYWNoKGU9PntpbShlKSYmJHAucHVzaCh7a2V5OmUsb3B0aW9uczppfSl9KTtlbHNlIHRyeXskcC5wdXNoKC4uLmNtKCkpfWNhdGNoKGUpe3ZvKGBFcnJvciBkdXJpbmcgZ2V0dGluZyBHQSB0b3AgdHJhY2tlcnNgLGUgaW5zdGFuY2VvZiBFcnJvcj9lLm1lc3NhZ2U6ZSl9JHAubGVuZ3RoPjAmJiFubSYmbG0oKSwkcC5sZW5ndGg9PT0wP3ZvKGBObyBHQSB0byBzZXR1cGApOihkbSgpLGVtPSEwLHZvKGBHQSBpbml0aWFsaXplZGApKX0sY209KCk9PntsZXQgZT1bXTtyZXR1cm4gdG0uZ29vZ2xlX3RhZ19tYW5hZ2VyJiZPYmplY3Qua2V5cyh0bS5nb29nbGVfdGFnX21hbmFnZXIpLmZvckVhY2godD0+e2ltKHQpJiZlLnB1c2goe2tleTp0LG9wdGlvbnM6e2Nvb2tpZURvbWFpbjpgYXV0b2B9fSl9KSxlfSxsbT0oKT0+e2xldCBlPXRtLmRvY3VtZW50LHtoZWFkOnR9PWUsbj1lLmNyZWF0ZUVsZW1lbnQoYHNjcmlwdGApO24uaWQ9YGd0YWdgLG4udHlwZT1gdGV4dC9qYXZhc2NyaXB0YCxuLmFzeW5jPSEwLG4uc3JjPWBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzYCx0Lmluc2VydEJlZm9yZShuLHQuZmlyc3RDaGlsZCksdG0uZGF0YUxheWVyPXRtLmRhdGFMYXllcnx8W10sdG0uZ3RhZz1mdW5jdGlvbigpe3RtLmRhdGFMYXllci5wdXNoKGFyZ3VtZW50cyl9LHJtPXRtLmd0YWcscm0oYGpzYCxuZXcgRGF0ZSl9LHVtPSgpPT57bGV0IGU9W107aWYobm0pe2xldCB0PWNtKCk7JHAuZm9yRWFjaChuPT57dC5maW5kKCh7a2V5OmV9KT0+ZT09PW4ua2V5KXx8ZS5wdXNoKG4pfSl9ZWxzZSBlPVsuLi4kcF07cmV0dXJuIGV9LGRtPSgpPT57dW0oKS5mb3JFYWNoKGU9PntsZXR7a2V5OnQsb3B0aW9uczpufT1lLHI9e307bj8ocj17Y29va2llX2RvbWFpbjpuLmNvb2tpZURvbWFpbn0sbi5uYW1lJiYoci5uYW1lPW4ubmFtZSkpOnI9e2Nvb2tpZV9kb21haW46dG0/LmxvY2F0aW9uLmhvc3RuYW1lfHxgYH0sci5zZW5kX3BhZ2Vfdmlldz0hMSxybShgY29uZmlnYCx0LHIpfSl9LGZtPShlLHQpPT57bGV0e2dvb2dsZUFuYWx5dGljc0VuYWJsZWQ6bn09Vi5nZXRPcHRpb25zKCk7aWYoISghbnx8IXRtLmd0YWd8fCFVbygpfHx0bS5kb2N1bWVudC5oaWRkZW4pKXRyeXskcC5mb3JFYWNoKG49Pnt0LnNlbmRfdG89bi5rZXkscm0oYGV2ZW50YCxlLHQpLHZvKGBTbWFydHN1cHA6IEdBIGV2ZW50ICR7ZX0gLSAke0pTT04uc3RyaW5naWZ5KHQpfWApfSl9Y2F0Y2goZSl7dm8oYFNtYXJ0c3VwcDogR0EgZXJyb3I6YCxlIGluc3RhbmNlb2YgRXJyb3I/ZS5tZXNzYWdlOmUpfX0scG09YFZpc2l0b3Jfc3RhcnRlZF9jb252ZXJzYXRpb25gLG1tPWBWaXNpdG9yX2Nsb3NlZF9jb252ZXJzYXRpb25gLGhtPWBUcmlnZ2VyX21lc3NhZ2Vfc2VudGAsZ209YFRyaWdnZXJfbWVzc2FnZV92aWV3ZWRgLF9tPWBUcmlnZ2VyX3Zpc2l0b3JfcmVhY3Rpb25gLHZtPWBBdXRvX21lc3NhZ2Vfc2VudGAseW09YEF1dG9fbWVzc2FnZV92aWV3ZWRgLGJtPWBBdXRvX21lc3NhZ2VfdmlzaXRvcl9yZWFjdGlvbmAseG09YENoYXRib3Rfc2VudGAsU209YENoYXRib3Rfdmlld2VkYCxDbT1gQ2hhdGJvdF9pbnRlcmFjdGlvbmAsd209YENoYXRib3RfYnV0dG9uX2ludGVyYWN0aW9uYCxUbT1gQ2hhdGJvdF92aXNpdG9yX3JlYWN0aW9uYCxFbT1gQWlfY2hhdGJvdF9zZW50YCxEbT1gQWlfY2hhdGJvdF9pbnRlcmFjdGlvbmAsT209YEFpX2NoYXRib3RfdmlzaXRvcl9yZWFjdGlvbmAsa209YEFnZW50X3NlcnZlZF9jb252ZXJzYXRpb25gLEFtPWBBZ2VudF9jbG9zZWRfY29udmVyc2F0aW9uYCxqbT1gQ29udGFjdF9hY3F1aXJlZGAsTW09YEF1dGhfZm9ybV9maWxsZWRgLE5tPWBPZmZsaW5lX21lc3NhZ2Vfc2VudGAsUG09YEZlZWRiYWNrX3NlbnRgLEZtPWBGZWVkYmFja190ZXh0X3NlbnRgLEltPWBVcmxfY2FyZF9vcGVuZWRgLExtPWBDaGF0Ym94X29wZW5lZGAsUm09e2V2ZW50X2NhdGVnb3J5OmBTbWFydHN1cHBfdjNgLG5vbl9pbnRlcmFjdGlvbjohMH0sWT0oZSx0KT0+e2ZtKGUsey4uLlJtLC4uLnR9KX0sem09KGU9YGApPT5ZKGhtLHtldmVudF9sYWJlbDplfSksQm09ZT0+WShnbSx7ZXZlbnRfbGFiZWw6ZX0pLFZtPShlPWBgKT0+WShfbSx7ZXZlbnRfbGFiZWw6ZX0pLEhtPShlPWBgKT0+WSh2bSx7ZXZlbnRfbGFiZWw6ZX0pLFVtPWU9PlkoeW0se2V2ZW50X2xhYmVsOmV9KSxXbT0oZT1gYCk9PlkoYm0se2V2ZW50X2xhYmVsOmV9KSxHbT0oZT1gYCk9PlkoeG0se2V2ZW50X2xhYmVsOmV9KSxLbT1lPT5ZKFNtLHtldmVudF9sYWJlbDplfSkscW09KGU9YGApPT5ZKENtLHtldmVudF9sYWJlbDplfSksSm09KGU9YGApPT5ZKHdtLHtldmVudF9sYWJlbDplfSksWW09KGU9YGApPT5ZKFRtLHtldmVudF9sYWJlbDplfSksWG09KCk9PlkocG0pLFptPSgpPT5ZKG1tKSxRbT1lPT5ZKEFtLHtldmVudF9sYWJlbDplfSksJG09ZT0+WShrbSx7ZXZlbnRfbGFiZWw6ZX0pLGVoPSgpPT5ZKE1tKSx0aD0oKT0+WShObSksbmg9KGUsdCk9PntsZXQgbj17ZXZlbnRfbGFiZWw6dHx8dnNbZV18fGBgLHZhbHVlOmV9O1kodD9GbTpQbSxuKX0scmg9ZT0+WShqbSx7ZXZlbnRfbGFiZWw6ZX0pLGloPWU9PlkoSW0se2V2ZW50X2xhYmVsOmV9KSxhaD0oZT1gYCk9PlkoRW0se2V2ZW50X2xhYmVsOmV9KSxvaD0oZT1gYCk9PlkoRG0se2V2ZW50X2xhYmVsOmV9KSxzaD0oZT1gYCk9PlkoT20se2V2ZW50X2xhYmVsOmV9KSxjaD0oKT0+WShMbSksbGg9ITEsdWg9e30sZGg9KCk9PntsaD0hMX0sZmg9KCk9Pnt1aD13cChBKFJwKSl9LHBoPShlLHQpPT5saD8hMTpDcChlKS5sZW5ndGg9PT0xJiZ0PT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0PyhsaD0hMCwhMCk6ITEsbWg9KGUsdCk9PntsZXQgbj1lLnRyaWdnZXI/LmlkfHxgYDtyZXR1cm4gdC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiZlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJiF1aFtuXT8udmlzaXRvclJlc3BvbmRlZD8odWhbbl0udmlzaXRvclJlc3BvbmRlZD0hMCwhMCk6ITF9LGhoPShlLHQpPT57bGV0IG49ZS50cmlnZ2VyPy5pZHx8YGA7cmV0dXJuIHQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCYmISh0LmNvbnRlbnQucXVpY2tSZXBsaWVzfHx0LmNvbnRlbnQucXVpY2tSZXBseSkmJmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiYhdWhbbl0/LnZpc2l0b3JSZXNwb25kZWQmJm4/KHVoW25dLnZpc2l0b3JSZXNwb25kZWQ9ITAsITApOiExfSxnaD0oZSx0KT0+e2xldCBuPWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiB0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QmJmUudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmIXVoW25dPy5yZWFjdGVkPyh1aFtuXS5yZWFjdGVkPSEwLCEwKTohMX0sX2g9ZT0+e2xldCB0PWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiBlLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYhdWhbdF0/LnJlYWN0ZWQ/KHVoW3RdLnJlYWN0ZWQ9ITAsITApOiExfSx2aD0oZSx0LG49ITEpPT57aWYoZS5sZW5ndGg+MCYmIW4pe2xldCB0PWUuc2xpY2UoLTIpLmZpbHRlcihlPT5lLnRyaWdnZXIpO3JldHVybiB0P3RbdC5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZTpgYH1lbHNlIHJldHVybiB0LnRyaWdnZXI/dC50cmlnZ2VyLm5hbWU6YGB9LHloPWU9PntsZXQgdD1BKFJwKTt4aCh0LGUpLFNoKHQsZSkscGgodCxlLnN1YlR5cGUpJiZYbSgpfSxiaD1lPT57bGV0IHQ9ZSxuPUEoUnApLmZpbHRlcihlPT5lLnRyaWdnZXIpO24mJm4ubGVuZ3RoPjAmJih0PW5bbi5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZT8/ZSkscmgodCl9LHhoPShlLHQpPT57bGV0IG49dC50cmlnZ2VyPy5pZHx8YGA7dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJiF1aFtuXT8uc2VudCYmKHQudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmKEdtKHZoKGUsdCwhMCkpLHVoW25dPXtzZW50OiEwfSksdC50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5tZXNzYWdlJiYoSG0odmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSx0LnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYoYWgodmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSk7bGV0IHI9ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtyJiYoaGgocix0KT8oci50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5jaGF0Ym90JiZZbSh2aChlLHQpKSxyLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLm1lc3NhZ2UmJldtKHZoKGUsdCkpLHIudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuYWkmJnNoKHZoKGUsdCkpKTpnaChyLHQpP3FtKHZoKGUsdCkpOl9oKHQpJiZvaCh2aChlLHQpKSl9LFNoPShlLHQpPT57dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5UcmlnZ2VyJiYoem0odD8udHJpZ2dlcj8ubmFtZSksdWhbdC50cmlnZ2VyPy5pZHx8YGBdPXtzZW50OiEwfSk7bGV0IG49ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtuJiZtaChuLHQpJiZWbSh2aChlLHQpKX0sQ2g9KCk9PntsZXQgZT1BKFBwKS5maWx0ZXIoZT0+ZS50cmlnZ2VyKSx0PWVbZS5sZW5ndGgtMV07dCYmdC50cmlnZ2VyJiYodC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJnQuY29udGVudC5xdWlja1JlcGxpZXM/S20odC50cmlnZ2VyLm5hbWUpOnQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90P1VtKHQudHJpZ2dlci5uYW1lKTp0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJkJtKHQudHJpZ2dlci5uYW1lKSl9LHdoPWU9PntlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJnRoKCl9O3oub24oYG1lc3NhZ2VSZWNlaXZlZGAseWgpLHoub24oYGFnZW50Sm9pbmVkYCxlPT57JG0oZS5mdWxsbmFtZSl9KSx6Lm9uKGBjaGF0UmF0ZWRgLGU9PntuaChlLnZhbHVlLGUudGV4dCl9KSx6Lm9uKGBjaGF0Q2xvc2VkYCwoKT0+e2RoKCl9KSx6Lm9uKGBjaGF0VmlzaXRvckNsb3NlZGAsKCk9PntkaCgpfSksei5vbihgY29udGFjdEFjcXVpcmVkYCwoe2FjcXVpcmVkQnk6ZX0pPT57YmgoZSl9KSxYbC5wdXNoKGZoKTt2YXIgVGg9e0Fycm93RG93bjpgQXJyb3dEb3duYCxBcnJvd1VwOmBBcnJvd1VwYCxFbnRlcjpgRW50ZXJgLEVzY2FwZTpgRXNjYXBlYCxUYWI6YFRhYmB9LEVoPTJlMyxEaD0yZTMsT2g9ZT0+ZS5maWx0ZXIoZT0+IWUuaXNIaWRkZW4pLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbHVlLGUpLHt9KSxraD1lPT5lLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbGlkYXRvcnMsZSkse30pLEFoPShlLHQsbik9PntlLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LGpoPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIGluIGUpbltyXT10O3JldHVybiBufSxNaD0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNiksTmg9ZT0+e2lmKCFlKXJldHVybiExO2xldCB0PWUuc3BsaXQoYEBgKTtpZih0Lmxlbmd0aCE9PTIpcmV0dXJuITE7bGV0IG49dFswXSxyPXRbMV07cmV0dXJuIG4ubGVuZ3RoPjY0fHxyLmxlbmd0aD4yNTV8fHIuc3BsaXQoYC5gKS5zb21lKGU9PmUubGVuZ3RoPjYzKT8hMTp5Zi50ZXN0KGUpfSxQaD1udWxsLEZoPWU9PntsZXQgdD1lLmluaXRpYWxWYWx1ZXN8fHt9LHt2YWxpZGF0b3JzOm4sb25DaGFuZ2U6cixvblN1Ym1pdDppfT1lLGE9KCk9Pih7Li4udH0pLG89amgodCxQaCkscz1PKGEoKSksYz1PKG8pLGw9TyhqaCh0LCExKSksdT1PKCExKSxkPWsoYyxlPT5PYmplY3QudmFsdWVzKGUpLmV2ZXJ5KGU9PmU9PT1QaCkpLGY9KCk9PntPYmplY3QuZW50cmllcyhBKHMpKS5mb3JFYWNoKChbZSx0XSk9PntlZShlLHQpfSl9LHA9ZT0+e2xldCB0PWUudGFyZ2V0O3QmJl8odC5uYW1lfHx0LmlkLHQudmFsdWUpfSxtPWFzeW5jIGU9PntpZihlJiZlLnByZXZlbnREZWZhdWx0JiZlLnByZXZlbnREZWZhdWx0KCksdS5zZXQoITApLGYoKSwhQShkKSl7dS5zZXQoITEpO3JldHVybn1jLnNldChvKSxhd2FpdCBpKEEocykpLHUuc2V0KCExKX0saD0oZSx7c2hvdWxkVmFsaWRhdGU6dD0hMX09e30pPT57cy51cGRhdGUodD0+KHsuLi50LC4uLmV9KSksdCYmZigpfSxnPShlLHQpPT57XyhlLHQpfSxfPShlLHQpPT57dihlLHQpLGVlKGUsdCksciYmcihlLHQpfSx2PShlLHQpPT57QWgocyxlLHQpfSx5PShlLHQpPT57QWgobCxlLHQpfSxlZT0oZSx0KT0+e3koZSx0KTtsZXQgcj1uW2VdO2lmKHIpZm9yKGxldCBuIG9mIHIpe2xldHt0eXBlOnIsaXNWYWxpZDppfT1uKHQpO2lmKEFoKGMsZSxpP1BoOnIpLCFpKXJldHVybn19O3JldHVybntmb3JtOnMsZXJyb3JzOmMsaXNWYWxpZDpkLGlzU3VibWl0dGluZzp1LGhhbmRsZUNoYW5nZTpwLGhhbmRsZVN1Ym1pdDptLHNldEZpZWxkVmFsdWU6ZyxzZXRWYWx1ZXM6aH19LEloPWZ1bmN0aW9uKGUpe3JldHVybiBlLlRleHQ9YHRleHRgLGUuQ2hlY2tib3g9YGNoZWNrYm94YCxlLlNlbGVjdD1gc2VsZWN0YCxlfSh7fSksTGg9KCk9PmU9PntsZXQgdD0hMDtyZXR1cm4gZT8/KHQ9ITEpLEx1KGUpJiYodD1lLnRyaW0oKS5sZW5ndGg+MCkse3R5cGU6YHJlcXVpcmVkYCxpc1ZhbGlkOnR9fSxSaD0oKT0+ZT0+KHt0eXBlOmBjaGVja2VkYCxpc1ZhbGlkOkx1KGUpP2U9PT1gdHJ1ZWA6ZT09PSEwfSksemg9KCk9PmU9Pih7dHlwZTpgZW1haWxgLGlzVmFsaWQ6TmgoU3RyaW5nKGUpKX0pLEJoPSgpPT5lPT4oe3R5cGU6YHBob25lYCxpc1ZhbGlkOi9eWytdKlsoXXswLDF9WzAtOV17MSw0fVspXXswLDF9Wy1zLi8wLTldKiQvLnRlc3QoU3RyaW5nKGUpKX0pLFZoPU8odm9pZCAwKSxIaD1lPT57bGV0e2VtYWlsQ29udHJvbDp0fT1WLmdldE9wdGlvbnMoKSxuPSEhZT8uZW1haWw7cmV0dXJuIHQmJiFufSxVaD1lPT57bGV0e25hbWVDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5uYW1lO3JldHVybiB0JiYhbn0sV2g9ZT0+e2xldHtudW1iZXJDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5waG9uZTtyZXR1cm4hIXQmJiFufSxHaD0oKT0+e2xldHtncm91cFNlbGVjdEVuYWJsZWQ6ZX09Vi5nZXRPcHRpb25zKCksdD1BKGFsKTtyZXR1cm4hIWUmJnQubGVuZ3RoPjB9LEtoPSgpPT57bGV0e3ByaXZhY3lOb3RpY2VFbmFibGVkOmUscHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1jZygpO3JldHVybiEhZSYmdCYmIW59LHFoPWU9PntsZXR7cHJpdmFjeU5vdGljZUVuYWJsZWQ6dH09Vi5nZXRPcHRpb25zKCksbj0hIWU/LnZhcmlhYmxlcz8ucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQ7cmV0dXJuISF0JiYhbn0sSmg9KCk9Pih7dHlwZTpJaC5UZXh0LHN1YlR5cGU6YGVtYWlsYCxuYW1lOmBlbWFpbGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmVtYWlsYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0ueW91ckVtYWlsYCx2YWx1ZTpgYCx2YWxpZGF0b3JzOltMaCgpLHpoKCldLG1heExlbmd0aDoyNTV9KSxZaD0oKT0+KHt0eXBlOkloLlRleHQsc3ViVHlwZTpgdGV4dGAsbmFtZTpgbmFtZWAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLm5hbWVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyTmFtZWAsdmFsdWU6YGAsdmFsaWRhdG9yczpbTGgoKV0sbWF4TGVuZ3RoOjI1NX0pLFhoPSgpPT4oe3R5cGU6SWguVGV4dCxzdWJUeXBlOmB0ZWxgLG5hbWU6YHBob25lYCxsYWJlbDpgYXV0aEZvcm0ubGFiZWwucGhvbmVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyUGhvbmVgLHZhbHVlOmBgLHZhbGlkYXRvcnM6W0xoKCksQmgoKV0sbWF4TGVuZ3RoOjMyfSksWmg9ZT0+e2xldCB0PUEoYWwpO3JldHVybnt0eXBlOkloLlNlbGVjdCxuYW1lOmBncm91cGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmdyb3VwYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0uZ3JvdXBgLHZhbHVlOmU/Lmdyb3VwPz9gYCx2YWxpZGF0b3JzOltMaCgpXSxvcHRpb25zOnQubWFwKGU9Pih7dGV4dDplLm5hbWUsdmFsdWU6ZS5rZXl9KSl9fSxRaD0oKT0+KHt0eXBlOkloLkNoZWNrYm94LG5hbWU6YHBlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50YCxsYWJlbDpgYXV0aEZvcm0uYWNjZXB0VGVybXNgLHZhbHVlOiExLHZhbGlkYXRvcnM6W1JoKCldfSksJGg9KCk9Pih7dHlwZTpJaC5DaGVja2JveCxuYW1lOmBwZXJzb25hbERhdGFQcm9jZXNzaW5nQ29uc2VudGAsbGFiZWw6YHRvcEJhci5nZHByVGl0bGVgLHZhbHVlOiExLHZhbGlkYXRvcnM6W10saXNIaWRkZW46ITB9KSxlZz1lPT4oe3Nob3dFbWFpbDpIaChlKSxzaG93TmFtZTpVaChlKSxzaG93UGhvbmU6V2goZSksc2hvd0dyb3VwczpHaCgpLHNob3dDb25zZW50OktoKCl9KSx0Zz1lPT4oe3Nob3dFbWFpbDohIWUuZW1haWxDb250cm9sLHNob3dOYW1lOiEhZS5uYW1lQ29udHJvbCxzaG93UGhvbmU6ISFlLm51bWJlckNvbnRyb2wsc2hvd0dyb3VwczohIWUuZ3JvdXBTZWxlY3RFbmFibGVkLHNob3dDb25zZW50OiEhZS5wcml2YWN5Tm90aWNlRW5hYmxlZCYmZS5wcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZH0pLG5nPWU9Pk9iamVjdC52YWx1ZXMoZWcoZSkpLnNvbWUoZT0+ZSkscmc9KGUsdCk9PntsZXQgbj1bXSx7c2hvd0VtYWlsOnIsc2hvd05hbWU6aSxzaG93UGhvbmU6YSxzaG93R3JvdXBzOm8sc2hvd0NvbnNlbnQ6c309dD90Zyh0KTplZyhlKTtyZXR1cm4gaSYmbi5wdXNoKFloKCkpLHImJm4ucHVzaChKaCgpKSxhJiZuLnB1c2goWGgoKSksbyYmbi5wdXNoKFpoKGUpKSxzP24ucHVzaChRaCgpKTpuLmxlbmd0aD4wJiYodD90Py5wcml2YWN5Tm90aWNlRW5hYmxlZDpxaChlKSkmJm4ucHVzaCgkaCgpKSxufSxpZz0oKT0+e2xldCBlPXpvKFUuQXV0aEZvcm0pO2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaHtyZXR1cm4gbnVsbH19LGFnPShlLHQpPT57bGV0IG49aWcoKSxyPXtbZV06dH0saT1uP3suLi5uLC4uLnJ9OnI7Qm8oe25hbWU6VS5BdXRoRm9ybSx2YWx1ZTpKU09OLnN0cmluZ2lmeShpKX0pfSxvZz0oKT0+e0xvKFUuQXV0aEZvcm0pfSxzZz0oKT0+ISFBKE11KT8udmFyaWFibGVzPy5hdXRoZW50aWNhdGVkLGNnPSgpPT5BKE11KT8uZ2RwckFwcHJvdmVkfHwhMSxsZz0oKT0+e2xldHtpc1ByZXZpZXdNb2RlOmV9PVYuZ2V0T3B0aW9ucygpO2lmKGV8fEEocGQpfHxzZygpfHwhbmcoQShNdSkpKXJldHVybiExO2xldHtyZXF1aXJlTG9naW46dH09Vi5nZXRPcHRpb25zKCksbj1BKCR1KT09PUsuQWNjb3VudFN0YXR1cy5PZmZsaW5lLHI9QShVdSkubGVuZ3RoPjA7cmV0dXJuISF0fHxufHwhbiYmIXJ9LHVnPWFzeW5jIGU9PntsZXR7cHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1BKE11KSxyPW4/Lm5hbWU/P2UubmFtZSxpPW4/LmVtYWlsPz9lLmVtYWlsLGE9bj8ucGhvbmU/P2UucGhvbmUsbz1lLmdyb3VwPz9uPy5ncm91cCxzPWUucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQsYz17Li4uciYme25hbWU6cn0sLi4uaSYme2VtYWlsOml9LC4uLmEmJntwaG9uZTphfSwuLi5vJiZ7Z3JvdXA6b30sLi4ucyYmdCYme3BlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50OnN9fTthd2FpdCBxLmdldENsaWVudCgpLmF1dGhlbnRpY2F0ZShjKSxlaCgpLGF3YWl0IHVfKCksVmMoKX0sZGc9YGh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQGVtb2ppLW1hcnQvZGF0YWAsZmc9UmVnRXhwKGA6KFthLXpBLVowLTlfLV0rKTpgLGBnYCkscGc9bnVsbCxtZz1udWxsLGhnPW51bGwsZ2c9TyhbXSksX2c9YXN5bmMoKT0+cGd8fGhnfHwoaGc9ZmV0Y2goZGcpLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+KHBnPWUsZSkpLmNhdGNoKGU9Pnt0aHJvdyB2byhgRmFpbGVkIHRvIGxvYWQgZW1vamkgZGF0YWAsZSksaGc9bnVsbCxlfSksaGcpLHZnPWU9Pk9iamVjdC52YWx1ZXMoZS5lbW9qaXMpLm1hcChlPT4oe2lkOmUuaWQsbmFtZTplLm5hbWUsbmF0aXZlOmUuc2tpbnNbMF0/Lm5hdGl2ZT8/YGAsa2V5d29yZHM6ZS5rZXl3b3Jkcz8/W119KSkseWc9e3N1YnNjcmliZTpnZy5zdWJzY3JpYmUsYXN5bmMgbG9hZFJhd0RhdGEoKXtyZXR1cm4gX2coKX0sYXN5bmMgbG9hZERhdGEoKXtyZXR1cm4gbWd8fChtZz12Zyhhd2FpdCBfZygpKSxnZy5zZXQobWcpLG1nKX0sZ2V0QnlJZChlKXtsZXQgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIG1nPy5maW5kKGU9PmUuaWQudG9Mb3dlckNhc2UoKT09PXQpfSxpc0xvYWRlZCgpe3JldHVybiBtZyE9PW51bGx9fSxiZz1lPT55Zy5pc0xvYWRlZCgpP2UucmVwbGFjZShmZywoZSx0KT0+e2xldCBuPXlnLmdldEJ5SWQodCk7cmV0dXJuIG4/bi5uYXRpdmU6ZX0pOmUseGc9MjAsU2c9eyI6KSI6YPCfmYJgLCI6LSkiOmDwn5mCYCwiOkQiOmDwn5iAYCwiOi1EIjpg8J+YgGAsIjspIjpg8J+YiWAsIjstKSI6YPCfmIlgLCI8MyI6YOKdpO+4j2AsIjooIjpg8J+YnmAsIjotKCI6YPCfmJ5gLCI6UCI6YPCfmJtgLCI6LVAiOmDwn5ibYCwiOi1vIjpg8J+YrmAsIjpPIjpg8J+YrmAsIjovIjpg8J+YlWAsIjotLyI6YPCfmJVgfSxDZz1lPT57bGV0IHQ9YCgke2U/YCR8YDpgYH0gKWA7cmV0dXJuIG5ldyBSZWdFeHAoT2JqZWN0LmtleXMoU2cpLm1hcChlPT5gJHtlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLGBcXCQmYCl9JHt0fWApLmpvaW4oYHxgKSxgZ2lgKX0sd2c9KGUsdD0hMSk9PntsZXQgbj1DZyh0KTtyZXR1cm4gZS5yZXBsYWNlKG4sZT0+e2xldCB0PU9iamVjdC5rZXlzKFNnKS5maW5kKHQ9PmUudG9VcHBlckNhc2UoKS5pbmNsdWRlcyh0KSk7aWYoIXQpcmV0dXJuIGU7bGV0IG49ZS5lbmRzV2l0aChgIGApP2AgYDpgYDtyZXR1cm5gJHtTZ1t0XX0ke259YH0pfSxUZz0oZSx0LG49eGcpPT57aWYoIWV8fGUubGVuZ3RoPDIpcmV0dXJuW107bGV0IHI9ZS50b0xvd2VyQ2FzZSgpLGk9W10sYT1bXSxvPVtdLHM9W107Zm9yKGxldCBlIG9mIHQpe2xldCB0PWUuaWQudG9Mb3dlckNhc2UoKSxuPWUubmFtZS50b0xvd2VyQ2FzZSgpO2lmKHQuc3RhcnRzV2l0aChyKSl7aS5wdXNoKGUpO2NvbnRpbnVlfWlmKHQuaW5jbHVkZXMocikpe2EucHVzaChlKTtjb250aW51ZX1pZihuLmluY2x1ZGVzKHIpKXtvLnB1c2goZSk7Y29udGludWV9ZS5rZXl3b3Jkcy5zb21lKGU9PmUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhyKSkmJnMucHVzaChlKX1yZXR1cm5bLi4uaSwuLi5hLC4uLm8sLi4uc10uc2xpY2UoMCxuKX0sRWc9KGUsdCk9PntsZXQgbj1lLnNsaWNlKDAsdCkscj1uLmxhc3RJbmRleE9mKGA6YCk7aWYocj09PS0xKXJldHVybiBudWxsO2xldCBpPW4uc2xpY2UocisxKTtyZXR1cm4gUmVnRXhwKGBeW2EtekEtWjAtOV8tXSokYCkudGVzdChpKSYmaS5sZW5ndGg+PTI/aTpudWxsfSxEZz0oZSx0LG4pPT57bGV0IHI9ZS5zbGljZSgwLHQpLGk9ZS5zbGljZSh0KSxhPXIubGFzdEluZGV4T2YoYDpgKTtpZihhPT09LTEpcmV0dXJue25ld1RleHQ6ZSxuZXdDdXJzb3JQb3NpdGlvbjp0fTtsZXQgbz1lLnNsaWNlKDAsYSkscz1pLmxlbmd0aD09PTA/bitgIGA6bjtyZXR1cm57bmV3VGV4dDpvK3MraSxuZXdDdXJzb3JQb3NpdGlvbjphK3MubGVuZ3RofX0sT2c9KGUsdD0zMDApPT57bGV0IG47cmV0dXJuKC4uLnIpPT57Y2xlYXJUaW1lb3V0KG4pLG49c2V0VGltZW91dCgoKT0+ZSguLi5yKSx0KX19LGtnPTNlMyxBZz1bYHNtYXJ0c3VwcC5kZXZgLGBzbWFydHN1cHBjaGF0LmxvY2BdLGpnPWZ1bmN0aW9uKGUpe3JldHVybiBlLkRlZmF1bHQ9YGJsYWNrYmVycnkyLm1wM2AsZX0oe30pLE1nPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbm5lY3Rpbmc9YGNvbm5lY3RpbmdgLGUuQ29ubmVjdGVkPWBjb25uZWN0ZWRgLGUuRGlzY29ubmVjdGVkPWBkaXNjb25uZWN0ZWRgLGV9KHt9KSxOZz1mdW5jdGlvbihlKXtyZXR1cm4gZS5JbWFnZT1gaW1hZ2VgLGUuVmlkZW89YHZpZGVvYCxlfSh7fSksUGc9TyghMSksRmc9TyghMSksSWc9TyghMSk7QigpLmFkZEV2ZW50TGlzdGVuZXIoYG9mZmxpbmVgLCgpPT5QZy5zZXQoITApKSxCKCkuYWRkRXZlbnRMaXN0ZW5lcihgb25saW5lYCwoKT0+UGcuc2V0KCExKSk7dmFyIExnPWsoW2RsLFBnLElnXSwoW2UsdCxuXSk9Pm4/TWcuQ29ubmVjdGVkOiFlfHx0P01nLkRpc2Nvbm5lY3RlZDpNZy5Db25uZWN0ZWQsTWcuQ29ubmVjdGluZyksUmcsemc9T2coZT0+e2UmJiFSZyYmKFJnPV9zKEEoVykoYGVycm9yLm5vSW50ZXJuZXRgKSwwKSksIWUmJlJnJiYoUmcoKSxSZz12b2lkIDApfSxrZyk7TGcuc3Vic2NyaWJlKGU9PntlPT09TWcuRGlzY29ubmVjdGVkJiYoRmcuc2V0KCEwKSx6ZyghMCkpLGU9PT1NZy5Db25uZWN0ZWQmJihGZy5zZXQoITEpLHpnKCExKSl9KTt2YXIgQmc9KGUsdCxuKT0+ZT09PU1nLkRpc2Nvbm5lY3RlZHx8IXR8fG4sVmc9KCk9PkJnKEEoTGcpLEEoSHApLEEoWHUpLmRpc2FibGVBdHRhY2htZW50cyksSGc9TyghMSksVWc9ZT0+e2lmKEEoSGcpKXtIKGBUaGVyZSBpcyBhbHJlYWR5IGZpbGUgdXBsb2FkIGluIHByb2dyZXNzYCk7cmV0dXJufWlmKGUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9V2coZSk7dC5sZW5ndGg+MCYmWWwuYWRkKHQpfSxXZz1lPT5lLmxlbmd0aD41PyhncyhgJHtBKFcpKGBmaWxlVXBsb2FkLnRvb01hbnlGaWxlc2ApfSA1YCksW10pOmUuZmlsdGVyKGU9PkdnKGUpKSxHZz1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dCxhY2NlcHRlZEZpbGVUeXBlczpuLG1heEZpbGVTaXplOnJ9PUEoYmwpO2lmKCFlKXJldHVybiExO2xldCBpPXQuaW5jbHVkZXMoQ2QoZS5uYW1lKSksYT1uLnNvbWUodD0+dD09PWUudHlwZSk7aWYoVmcoKSlyZXR1cm4gSChgRmlsZSB1cGxvYWQgaXMgZGlzYWJsZWRgKSwhMTtpZighQShIcCkpcmV0dXJuIGdzKEEoVykoYHdhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0YCkpLCExO2lmKGUuc2l6ZT5yKXtsZXQgZT13ZChyKTtyZXR1cm4gZ3MoYCR7QShXKShgZmlsZVVwbG9hZC5maWxlVG9vQmlnYCl9ICR7ZS5zaXplfSAke2UudW5pdH1gKSwhMX1yZXR1cm4gaXx8YT8hMDooZ3MoQShXKShgZmlsZVVwbG9hZC5iYWRGaWxlVHlwZWApKSwhMSl9LEtnPSgpPT5ZbC5jb3VudCgpPT09MD9bXTooWWwuc2V0VXBsb2FkaW5nU3RhdHVzKCksRGQoQShZbCksZT0+WWwuc2V0RmlsZVVwbG9hZGVkKGUubmFtZSkpKSxxZz0xMCxKZz0xZTQsWWc9M2U0LFhnPTIwLFpnPWU9PntpZihlLmxlbmd0aD4wJiZlLmxlbmd0aCVxZz09PTApe2xldCB0PWUuc2xpY2UoLXFnKSxuPW5ldyBEYXRlKGVbZS5sZW5ndGgtMV0uY3JlYXRlZEF0KS5nZXRUaW1lKCk7aWYobmV3IERhdGUoKS5nZXRUaW1lKCktbj5ZZ3x8IXQuZXZlcnkoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KSlyZXR1cm4hMTtpZihuLW5ldyBEYXRlKHRbMF0uY3JlYXRlZEF0KS5nZXRUaW1lKCk8SmcpcmV0dXJuITB9cmV0dXJuITF9LFFnPWU9PntsZXQgdD1qZihlKTtyZXR1cm4gdD90Lmxlbmd0aD5YZzohMX0sJGc9TygpLGVfPU8oITEpLHRfPU8oKSxuXz0yMDAscl89TyghMSksaV89ayhbJGddLChbZV0pPT5lPT09dm9pZCAwP3pvKFUuTWVzc2FnZSk/P2BgOmUpLGFfPWsoW2lfXSwoW2VdKT0+ZS50cmltKCkubGVuZ3RoPT09MCksb189ZT0+eyRnLnNldChiZyh3ZyhlKSkpfSxzXz0oZSx0KT0+e2xldCBuPUEoaV8pPz9gYCxyPWAke24uc2xpY2UoMCx0KX0ke2V9JHtuLnNsaWNlKHQpfWA7JGcuc2V0KHIpfSxjXz0oKT0+e0EoZV8pfHwocS5nZXRDbGllbnQoKS5jaGF0VHlwaW5nKCEwKSxlXy5zZXQoITApKX0sbF89KCk9PntBKGVfKSYmKHEuZ2V0Q2xpZW50KCkuY2hhdFR5cGluZyghMSksZV8uc2V0KCExKSl9LHVfPWFzeW5jKGU9W10pPT57aWYoQShhXykmJmUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9Ymcod2coQShpXyksITApKS50cmltKCk7YXdhaXQgSi5zZW5kTWVzc2FnZSh0LGUpLG9fKGBgKSxsXygpLHJfLnNldCghMCksZ2QoKX0sZF89T2coYXN5bmMoKT0+e2xldCBlPVlsLmNvdW50KCk+MDtpZihBKGFfKSYmIWUpcmV0dXJuO2lmKCFBKFgpJiZsZygpJiZVXygpLGZfKCkmJiFlKXtfcyhBKFcpKGB3YXJuaW5nQmFyLnNhbWVNZXNzYWdlVHdpY2VgKSk7cmV0dXJufWlmKFpnKEEoUnApKSl7X3MoQShXKShgd2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbmApKTtyZXR1cm59aWYoQShIZykpe2pvKEEoVykoYGNoYXQuZmlsZVVwbG9hZC5lcnJvci5zdGlsbFVwbG9hZGluZ2ApKTtyZXR1cm59aWYoQShVZikpe19zKEEoVykoYGNhcmQuc2VuZGluZ0luUHJvZ3Jlc3NgKSk7cmV0dXJufWlmKFFnKEEoaV8pKSl7X3MoQShXKShgY2FyZC5saW5rc0xpbWl0UmVhY2hlZGApKTtyZXR1cm59aWYobGcoKSl7QmMoSGMuQXV0aEZvcm0pO3JldHVybn1sZXQgdD1bXTtlJiYoSGcuc2V0KCEwKSx0PWF3YWl0IEtnKCksWWwuY2xlYXIoKSxIZy5zZXQoITEpKSxhd2FpdCB1Xyh0KX0sbl8pLGZfPSgpPT57bGV0IGU9QShHcCksdD1BKEtwKSxuPUEoaV8pLnRyaW0oKTtyZXR1cm4gZSYmbj09PWUuY29udGVudC50ZXh0fHx0JiZuPT09dH0scF89ZT0+e2xldCB0PSgpPT57X2QoKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpKSl9LG1fPWU9PntsZXQgdD0oKT0+e0EoWCkmJldfKCEwKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHBvcHN0YXRlYCx0KSwoKT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKGBwb3BzdGF0ZWAsdCkpKX0saF89KCk9PntsZXQgZT1CKCkuX3NtYXJ0c3VwcHx8e307ZS5hcHBWZXJzaW9uPWAwLjAuMWAsZS5jb21taXRIYXNoPWBjMDZkNDVjMzNlMDk5OGVmMmQzMDQ2MmZiNTc4Nzk2MzNjMWRmNWNhYCxlLmNvbW1pdEluZm89YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2EgLSBNZXJnZSBwdWxsIHJlcXVlc3QgIzQ1MiBmcm9tIHNtYXJ0c3VwcC9kZXZlbG9wIC0gMjAyNi0wNy0wNyAxMDoyMjoyOCArMDIwMGAsQigpLl9zbWFydHN1cHA9ZX0sZ189KGU9amcuRGVmYXVsdCk9PntsZXR7d2lkZ2V0VjNVcmw6dH09Vi5nZXRPcHRpb25zKCksbj1uZXcgQXVkaW8oYCR7dH0vYXNzZXRzL3NvdW5kcy8ke2V9YCk7cmV0dXJuIG4uY3Jvc3NPcmlnaW49YGFub255bW91c2Asbi5sb2FkKCksbn0sX189ZT0+ZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiYhW0cuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50Sm9pbixHLk1lc3NhZ2VDb250ZW50VHlwZS5BZ2VudExlYXZlLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50QXNzaWduLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50VW5hc3NpZ25dLmluY2x1ZGVzKGUuY29udGVudC50eXBlKSx2Xz1lPT57cS5pc0luaXRpYWxpemVkKCkmJnEuZ2V0Q2xpZW50KCkubm90aWZ5KGUpfSx5Xz0oKT0+e1YuZ2V0T3B0aW9ucygpLmlzUHJldmlld01vZGV8fHZfKEsuV2Vic29ja2V0VmlzaXRvckNsaWVudC5FdmVudE5hbWUuV2lkZ2V0T3Blbil9LGJfPSgpPT52XyhLLldlYnNvY2tldFZpc2l0b3JDbGllbnQuRXZlbnROYW1lLldpZGdldFNob3cpLHhfPSgpPT5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT1gdmlzaWJsZWAsU189KCk9PntpZihBKHNzKSl7VF8uc2V0KCEwKTtsZXQgZT1CKCk7ZS5oaXN0b3J5LnB1c2hTdGF0ZShudWxsLGBgLGUubG9jYXRpb24uaHJlZil9fSxDXz1PKCExKSx3Xz1PKCExKSxUXz1PKCExKSxFXz1lPT4hIUFnLmZpbmQodD0+ZS5pbmNsdWRlcyh0KSksRF89TyghMCk7Vi5hd2FpdE9wdGlvbnMoKS50aGVuKGU9PntsZXQgdD16byhVLlNvdW5kc0VuYWJsZWQpO3Q/RF8uc2V0KHQ9PT1gdHJ1ZWApOnR5cGVvZiBlLmVuYWJsZVNvdW5kcz09YGJvb2xlYW5gJiZEXy5zZXQoZS5lbmFibGVTb3VuZHMpLHdfLnNldChFXyhlLmJvb3RzdHJhcFVybCkpfSk7dmFyIE9fPWU9PntEXy5zZXQoZSksQm8oe25hbWU6VS5Tb3VuZHNFbmFibGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLGUmJmJwKCl9LGtfPU8oeF8oKSksQV89T2coKCk9PmtfLnNldCh4XygpKSw1MDApO0IoKS5hZGRFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCwoKT0+e0FfKCl9KTt2YXIgal89TygwKSxNXz0oKT0+al8udXBkYXRlKGU9PmUrMSksTl89TyghMCksUF89KGUsdCk9Pih2byhgd2lkZ2V0IHZpc2libGU6ICR7U3RyaW5nKHQpfSA9PiByZWFzb246ICR7ZX1gKSx0JiZ0IT09QShSXykmJmJfKCksdCksRl89TygpLElfPSgpPT5GXy5zZXQoITApLExfPSgpPT5GXy5zZXQoITEpLFJfPWsoW011LHNzLEZfLGVkLG9kLGsoWyR1LFJwLGFfLG9kXSwoW2UsdCxuLHJdKT0+e2xldHtoaWRlT2ZmbGluZUNoYXQ6aSxpc1ByZXZpZXdNb2RlOmF9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJiEhaSYmU3AodCkubGVuZ3RoPT09MCYmbiYmIXImJiFhfSldLChbZSx0LG4scixpLGFdKT0+e2xldHtoaWRlTW9iaWxlV2lkZ2V0Om8saGlkZVdpZGdldDpzfT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZT8uYmFubmVkQXQ/UF8oYHZpc2l0b3IgaXMgYmFubmVkYCwhMSk6dCYmbz9QXyhgb3B0aW9uICdoaWRlTW9iaWxlV2lkZ2V0JyBpcyB0cnVlYCwhMSk6dHlwZW9mIG49PWBib29sZWFuYD9QXyhgc2V0IGJ5IEFQSSBjb21tYW5kYCxuKTpyJiYhaT9QXyhgY2hhdCBzdGF0dXMgaXMgbm90IHBlbmRpbmdgLCEwKTphP1BfKGBvcHRpb24gJ2hpZGVPZmZsaW5lQ2hhdCcgaXMgdHJ1ZWAsITEpOlBfKGBvcHRpb24gJ2hpZGVXaWRnZXQnIGlzICR7U3RyaW5nKHMpfWAsIXMpfSksel89ayhbc3NdLChbZV0pPT57bGV0e29wZW5PblRyaWdnZXI6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIHQmJiFlfSksQl89W10sVl89ZT0+KEJfLnB1c2goZSksKCk9PntsZXQgdD1CXy5pbmRleE9mKGUpO3QhPT0tMSYmQl8uc3BsaWNlKHQsMSl9KSxIXz0oKT0+Ql8ubGVuZ3RoPT09MD8hMTooQl8ucG9wKCkoKSwhMCksWD1ycyhVLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQsITEsZT0+IUEoc3MpJiZlPT09YHRydWVgKSxVXz0oZT0hMSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpO3Q/LmRpc2FibGVPcGVuTWVzc2VuZ2VyJiYhZXx8KGNoKCksU18oKSxYLnNldCghMCksZXYoKSxDaCgpLHlfKCkpfSxXXz1lPT57aWYoQShzcykmJkEoVF8pJiYhZSlyZXR1cm4gVF8uc2V0KCExKSxCKCkuaGlzdG9yeS5iYWNrKCk7ei5lbWl0KGBtZXNzZW5nZXJDbG9zZWAsITApLFguc2V0KCExKX0sR189ZT0+e2lmKCFlKXJldHVybjtsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpLG49ZT0+e2lmKGUua2V5PT09VGguRXNjYXBlKXtpZihIXygpfHx0Py5kaXNhYmxlQ2xvc2VCdXR0b24pcmV0dXJuO1dfKCl9fSxyPWUub3duZXJEb2N1bWVudDtyZXR1cm4gci5hZGRFdmVudExpc3RlbmVyKGBrZXlkb3duYCxuLCEwKSx7ZGVzdHJveSgpe3IucmVtb3ZlRXZlbnRMaXN0ZW5lcihga2V5ZG93bmAsbiwhMCl9fX0sS189ayhbQ18sUl8sWF0sKFtlLHQsbl0pPT5lJiZ0JiZuKTtmdW5jdGlvbiBxXygpe2xldCBlPU8oITEpLHtzdWJzY3JpYmU6dH09ZSxuPW51bGw7cmV0dXJue3N1YnNjcmliZTp0LGhhbmRsZURyYWdPdmVyOih0LHI9ITApPT57ciYmdC5wcmV2ZW50RGVmYXVsdCgpLEEoZSl8fGUuc2V0KCEwKSxuJiZjbGVhclRpbWVvdXQobiksbj13aW5kb3cuc2V0VGltZW91dCgoKT0+e2Uuc2V0KCExKX0sMjAwKX0saGFuZGxlRHJvcDp0PT57dC5wcmV2ZW50RGVmYXVsdCgpLG4mJmNsZWFyVGltZW91dChuKSxlLnNldCghMSk7bGV0IHI9dC5kYXRhVHJhbnNmZXI/LmZpbGVzP1suLi50LmRhdGFUcmFuc2Zlci5maWxlc106W107cmV0dXJuIHIubGVuZ3RoPT09MCYmX3MoYERyb3BwZWQgaXRlbShzKSBhcmUgbm90IHByb2Nlc3NhYmxlIGZpbGVzYCkse2Ryb3BwZWRGaWxlczpyfX19fXZhciBKXz1xXygpLFlfPWsoW0NfLFJfLFhdLChbZSx0LG5dKT0+ZSYmdCYmIW4pLFhfPU8oITEpLFpfPU8oITEpLFFfPSgpPT57WF8uc2V0KCEwKSxaXy5zZXQoITEpfSwkXz0oKT0+e1pfLnNldCghMCksWF8uc2V0KCExKX0sZXY9KGU9ITEpPT57Wl8uc2V0KCExKSxlJiZCbyh7bmFtZTpVLlBvcHVwQ2xvc2VkQXQsdmFsdWU6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSl9LHR2PWsoW3NzXSwoW2VdKT0+e2xldHttb2JpbGVQb3B1cHNFbmFibGVkOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPyEhdDohMH0pLG52PWsoW05wXSwoW2VdKT0+e2xldCB0PXpvKFUuUG9wdXBDbG9zZWRBdCk/P251bGw7cmV0dXJuIXR8fCFlPyEwOm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCk+bmV3IERhdGUodCkuZ2V0VGltZSgpfSkscnY9ayhbQ18sUl8sWF8sWCx0dl0sKFtlLHQsbixyLGldKT0+ZSYmdCYmbiYmIXImJmkpLGl2PWsoW0NfLFJfLFpfLFgsTnAsbnYsdHYsV2ZdLChbZSx0LG4scixpLGEsbyxzXSk9PmUmJnQmJm4mJmkmJmEmJiFyJiZvJiYhcyksYXY9e3doaXRlOmAjZmZmZmZmYCxzbGF0ZTEwMDpgI2YxZjVmOWAsc2xhdGUyMDA6YCNlMmU4ZjBgLHNsYXRlMzAwOmAjY2JkNWUxYCxzbGF0ZTkwMDpgIzBmMTcyYWAsYmx1ZTcwMDpgIzFkNGVkOGAsc21hcnRzdXBwQmx1ZTpgIzEyMzNkZmB9O2Z1bmN0aW9uIFooZSx0KXtzdihlKSYmKGU9YDEwMCVgKTtsZXQgbj1jdihlKTtyZXR1cm4gZT10PT09MzYwP2U6TWF0aC5taW4odCxNYXRoLm1heCgwLHBhcnNlRmxvYXQoZSkpKSxuJiYoZT1wYXJzZUludChTdHJpbmcoZSp0KSwxMCkvMTAwKSxNYXRoLmFicyhlLXQpPDFlLTY/MTooZT10PT09MzYwPyhlPDA/ZSV0K3Q6ZSV0KS9wYXJzZUZsb2F0KFN0cmluZyh0KSk6ZSV0L3BhcnNlRmxvYXQoU3RyaW5nKHQpKSxlKX1mdW5jdGlvbiBvdihlKXtyZXR1cm4gTWF0aC5taW4oMSxNYXRoLm1heCgwLGUpKX1mdW5jdGlvbiBzdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYC5gKSE9PS0xJiZwYXJzZUZsb2F0KGUpPT09MX1mdW5jdGlvbiBjdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYCVgKSE9PS0xfWZ1bmN0aW9uIGx2KGUpe3JldHVybiBlPXBhcnNlRmxvYXQoZSksKGlzTmFOKGUpfHxlPDB8fGU+MSkmJihlPTEpLGV9ZnVuY3Rpb24gdXYoZSl7cmV0dXJuIE51bWJlcihlKTw9MT9gJHtOdW1iZXIoZSkqMTAwfSVgOmV9ZnVuY3Rpb24gZHYoZSl7cmV0dXJuIGUubGVuZ3RoPT09MT9gMGArZTpTdHJpbmcoZSl9ZnVuY3Rpb24gZnYoZSx0LG4pe3JldHVybntyOlooZSwyNTUpKjI1NSxnOloodCwyNTUpKjI1NSxiOloobiwyNTUpKjI1NX19ZnVuY3Rpb24gcHYoZSx0LG4pe2U9WihlLDI1NSksdD1aKHQsMjU1KSxuPVoobiwyNTUpO2xldCByPU1hdGgubWF4KGUsdCxuKSxpPU1hdGgubWluKGUsdCxuKSxhPTAsbz0wLHM9KHIraSkvMjtpZihyPT09aSlvPTAsYT0wO2Vsc2V7bGV0IGM9ci1pO3N3aXRjaChvPXM+LjU/Yy8oMi1yLWkpOmMvKHIraSkscil7Y2FzZSBlOmE9KHQtbikvYysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvYysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL2MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOm8sbDpzfX1mdW5jdGlvbiBtdihlLHQsbil7cmV0dXJuIG48MCYmKG4rPTEpLG4+MSYmLS1uLG48MS82P2UrKHQtZSkqKDYqbik6bjwxLzI/dDpuPDIvMz9lKyh0LWUpKigyLzMtbikqNjplfWZ1bmN0aW9uIGh2KGUsdCxuKXtsZXQgcixpLGE7aWYoZT1aKGUsMzYwKSx0PVoodCwxMDApLG49WihuLDEwMCksdD09PTApaT1uLGE9bixyPW47ZWxzZXtsZXQgbz1uPC41P24qKDErdCk6bit0LW4qdCxzPTIqbi1vO3I9bXYocyxvLGUrMS8zKSxpPW12KHMsbyxlKSxhPW12KHMsbyxlLTEvMyl9cmV0dXJue3I6cioyNTUsZzppKjI1NSxiOmEqMjU1fX1mdW5jdGlvbiBndihlLHQsbil7ZT1aKGUsMjU1KSx0PVoodCwyNTUpLG49WihuLDI1NSk7bGV0IHI9TWF0aC5tYXgoZSx0LG4pLGk9TWF0aC5taW4oZSx0LG4pLGE9MCxvPXIscz1yLWksYz1yPT09MD8wOnMvcjtpZihyPT09aSlhPTA7ZWxzZXtzd2l0Y2gocil7Y2FzZSBlOmE9KHQtbikvcysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvcysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL3MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOmMsdjpvfX1mdW5jdGlvbiBfdihlLHQsbil7ZT1aKGUsMzYwKSo2LHQ9Wih0LDEwMCksbj1aKG4sMTAwKTtsZXQgcj1NYXRoLmZsb29yKGUpLGk9ZS1yLGE9biooMS10KSxvPW4qKDEtaSp0KSxzPW4qKDEtKDEtaSkqdCksYz1yJTYsbD1bbixvLGEsYSxzLG5dW2NdLHU9W3MsbixuLG8sYSxhXVtjXSxkPVthLGEscyxuLG4sb11bY107cmV0dXJue3I6bCoyNTUsZzp1KjI1NSxiOmQqMjU1fX1mdW5jdGlvbiB2dihlLHQsbixyKXtsZXQgaT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSldO3JldHVybiByJiZpWzBdLnN0YXJ0c1dpdGgoaVswXS5jaGFyQXQoMSkpJiZpWzFdLnN0YXJ0c1dpdGgoaVsxXS5jaGFyQXQoMSkpJiZpWzJdLnN0YXJ0c1dpdGgoaVsyXS5jaGFyQXQoMSkpP2lbMF0uY2hhckF0KDApK2lbMV0uY2hhckF0KDApK2lbMl0uY2hhckF0KDApOmkuam9pbihgYCl9ZnVuY3Rpb24geXYoZSx0LG4scixpKXtsZXQgYT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSksZHYoU3YocikpXTtyZXR1cm4gaSYmYVswXS5zdGFydHNXaXRoKGFbMF0uY2hhckF0KDEpKSYmYVsxXS5zdGFydHNXaXRoKGFbMV0uY2hhckF0KDEpKSYmYVsyXS5zdGFydHNXaXRoKGFbMl0uY2hhckF0KDEpKSYmYVszXS5zdGFydHNXaXRoKGFbM10uY2hhckF0KDEpKT9hWzBdLmNoYXJBdCgwKSthWzFdLmNoYXJBdCgwKSthWzJdLmNoYXJBdCgwKSthWzNdLmNoYXJBdCgwKTphLmpvaW4oYGApfWZ1bmN0aW9uIGJ2KGUsdCxuLHIpe2xldCBpPWUvMTAwLGE9dC8xMDAsbz1uLzEwMCxzPXIvMTAwO3JldHVybntyOjI1NSooMS1pKSooMS1zKSxnOjI1NSooMS1hKSooMS1zKSxiOjI1NSooMS1vKSooMS1zKX19ZnVuY3Rpb24geHYoZSx0LG4pe2xldCByPTEtZS8yNTUsaT0xLXQvMjU1LGE9MS1uLzI1NSxvPU1hdGgubWluKHIsaSxhKTtyZXR1cm4gbz09PTE/KHI9MCxpPTAsYT0wKToocj0oci1vKS8oMS1vKSoxMDAsaT0oaS1vKS8oMS1vKSoxMDAsYT0oYS1vKS8oMS1vKSoxMDApLG8qPTEwMCx7YzpNYXRoLnJvdW5kKHIpLG06TWF0aC5yb3VuZChpKSx5Ok1hdGgucm91bmQoYSksazpNYXRoLnJvdW5kKG8pfX1mdW5jdGlvbiBTdihlKXtyZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGUpKjI1NSkudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEN2KGUpe3JldHVybiB3dihlKS8yNTV9ZnVuY3Rpb24gd3YoZSl7cmV0dXJuIHBhcnNlSW50KGUsMTYpfWZ1bmN0aW9uIFR2KGUpe3JldHVybntyOmU+PjE2LGc6KGUmNjUyODApPj44LGI6ZSYyNTV9fXZhciBFdj17YWxpY2VibHVlOmAjZjBmOGZmYCxhbnRpcXVld2hpdGU6YCNmYWViZDdgLGFxdWE6YCMwMGZmZmZgLGFxdWFtYXJpbmU6YCM3ZmZmZDRgLGF6dXJlOmAjZjBmZmZmYCxiZWlnZTpgI2Y1ZjVkY2AsYmlzcXVlOmAjZmZlNGM0YCxibGFjazpgIzAwMDAwMGAsYmxhbmNoZWRhbG1vbmQ6YCNmZmViY2RgLGJsdWU6YCMwMDAwZmZgLGJsdWV2aW9sZXQ6YCM4YTJiZTJgLGJyb3duOmAjYTUyYTJhYCxidXJseXdvb2Q6YCNkZWI4ODdgLGNhZGV0Ymx1ZTpgIzVmOWVhMGAsY2hhcnRyZXVzZTpgIzdmZmYwMGAsY2hvY29sYXRlOmAjZDI2OTFlYCxjb3JhbDpgI2ZmN2Y1MGAsY29ybmZsb3dlcmJsdWU6YCM2NDk1ZWRgLGNvcm5zaWxrOmAjZmZmOGRjYCxjcmltc29uOmAjZGMxNDNjYCxjeWFuOmAjMDBmZmZmYCxkYXJrYmx1ZTpgIzAwMDA4YmAsZGFya2N5YW46YCMwMDhiOGJgLGRhcmtnb2xkZW5yb2Q6YCNiODg2MGJgLGRhcmtncmF5OmAjYTlhOWE5YCxkYXJrZ3JlZW46YCMwMDY0MDBgLGRhcmtncmV5OmAjYTlhOWE5YCxkYXJra2hha2k6YCNiZGI3NmJgLGRhcmttYWdlbnRhOmAjOGIwMDhiYCxkYXJrb2xpdmVncmVlbjpgIzU1NmIyZmAsZGFya29yYW5nZTpgI2ZmOGMwMGAsZGFya29yY2hpZDpgIzk5MzJjY2AsZGFya3JlZDpgIzhiMDAwMGAsZGFya3NhbG1vbjpgI2U5OTY3YWAsZGFya3NlYWdyZWVuOmAjOGZiYzhmYCxkYXJrc2xhdGVibHVlOmAjNDgzZDhiYCxkYXJrc2xhdGVncmF5OmAjMmY0ZjRmYCxkYXJrc2xhdGVncmV5OmAjMmY0ZjRmYCxkYXJrdHVycXVvaXNlOmAjMDBjZWQxYCxkYXJrdmlvbGV0OmAjOTQwMGQzYCxkZWVwcGluazpgI2ZmMTQ5M2AsZGVlcHNreWJsdWU6YCMwMGJmZmZgLGRpbWdyYXk6YCM2OTY5NjlgLGRpbWdyZXk6YCM2OTY5NjlgLGRvZGdlcmJsdWU6YCMxZTkwZmZgLGZpcmVicmljazpgI2IyMjIyMmAsZmxvcmFsd2hpdGU6YCNmZmZhZjBgLGZvcmVzdGdyZWVuOmAjMjI4YjIyYCxmdWNoc2lhOmAjZmYwMGZmYCxnYWluc2Jvcm86YCNkY2RjZGNgLGdob3N0d2hpdGU6YCNmOGY4ZmZgLGdvbGRlbnJvZDpgI2RhYTUyMGAsZ29sZDpgI2ZmZDcwMGAsZ3JheTpgIzgwODA4MGAsZ3JlZW46YCMwMDgwMDBgLGdyZWVueWVsbG93OmAjYWRmZjJmYCxncmV5OmAjODA4MDgwYCxob25leWRldzpgI2YwZmZmMGAsaG90cGluazpgI2ZmNjliNGAsaW5kaWFucmVkOmAjY2Q1YzVjYCxpbmRpZ286YCM0YjAwODJgLGl2b3J5OmAjZmZmZmYwYCxraGFraTpgI2YwZTY4Y2AsbGF2ZW5kZXJibHVzaDpgI2ZmZjBmNWAsbGF2ZW5kZXI6YCNlNmU2ZmFgLGxhd25ncmVlbjpgIzdjZmMwMGAsbGVtb25jaGlmZm9uOmAjZmZmYWNkYCxsaWdodGJsdWU6YCNhZGQ4ZTZgLGxpZ2h0Y29yYWw6YCNmMDgwODBgLGxpZ2h0Y3lhbjpgI2UwZmZmZmAsbGlnaHRnb2xkZW5yb2R5ZWxsb3c6YCNmYWZhZDJgLGxpZ2h0Z3JheTpgI2QzZDNkM2AsbGlnaHRncmVlbjpgIzkwZWU5MGAsbGlnaHRncmV5OmAjZDNkM2QzYCxsaWdodHBpbms6YCNmZmI2YzFgLGxpZ2h0c2FsbW9uOmAjZmZhMDdhYCxsaWdodHNlYWdyZWVuOmAjMjBiMmFhYCxsaWdodHNreWJsdWU6YCM4N2NlZmFgLGxpZ2h0c2xhdGVncmF5OmAjNzc4ODk5YCxsaWdodHNsYXRlZ3JleTpgIzc3ODg5OWAsbGlnaHRzdGVlbGJsdWU6YCNiMGM0ZGVgLGxpZ2h0eWVsbG93OmAjZmZmZmUwYCxsaW1lOmAjMDBmZjAwYCxsaW1lZ3JlZW46YCMzMmNkMzJgLGxpbmVuOmAjZmFmMGU2YCxtYWdlbnRhOmAjZmYwMGZmYCxtYXJvb246YCM4MDAwMDBgLG1lZGl1bWFxdWFtYXJpbmU6YCM2NmNkYWFgLG1lZGl1bWJsdWU6YCMwMDAwY2RgLG1lZGl1bW9yY2hpZDpgI2JhNTVkM2AsbWVkaXVtcHVycGxlOmAjOTM3MGRiYCxtZWRpdW1zZWFncmVlbjpgIzNjYjM3MWAsbWVkaXVtc2xhdGVibHVlOmAjN2I2OGVlYCxtZWRpdW1zcHJpbmdncmVlbjpgIzAwZmE5YWAsbWVkaXVtdHVycXVvaXNlOmAjNDhkMWNjYCxtZWRpdW12aW9sZXRyZWQ6YCNjNzE1ODVgLG1pZG5pZ2h0Ymx1ZTpgIzE5MTk3MGAsbWludGNyZWFtOmAjZjVmZmZhYCxtaXN0eXJvc2U6YCNmZmU0ZTFgLG1vY2Nhc2luOmAjZmZlNGI1YCxuYXZham93aGl0ZTpgI2ZmZGVhZGAsbmF2eTpgIzAwMDA4MGAsb2xkbGFjZTpgI2ZkZjVlNmAsb2xpdmU6YCM4MDgwMDBgLG9saXZlZHJhYjpgIzZiOGUyM2Asb3JhbmdlOmAjZmZhNTAwYCxvcmFuZ2VyZWQ6YCNmZjQ1MDBgLG9yY2hpZDpgI2RhNzBkNmAscGFsZWdvbGRlbnJvZDpgI2VlZThhYWAscGFsZWdyZWVuOmAjOThmYjk4YCxwYWxldHVycXVvaXNlOmAjYWZlZWVlYCxwYWxldmlvbGV0cmVkOmAjZGI3MDkzYCxwYXBheWF3aGlwOmAjZmZlZmQ1YCxwZWFjaHB1ZmY6YCNmZmRhYjlgLHBlcnU6YCNjZDg1M2ZgLHBpbms6YCNmZmMwY2JgLHBsdW06YCNkZGEwZGRgLHBvd2RlcmJsdWU6YCNiMGUwZTZgLHB1cnBsZTpgIzgwMDA4MGAscmViZWNjYXB1cnBsZTpgIzY2MzM5OWAscmVkOmAjZmYwMDAwYCxyb3N5YnJvd246YCNiYzhmOGZgLHJveWFsYmx1ZTpgIzQxNjllMWAsc2FkZGxlYnJvd246YCM4YjQ1MTNgLHNhbG1vbjpgI2ZhODA3MmAsc2FuZHlicm93bjpgI2Y0YTQ2MGAsc2VhZ3JlZW46YCMyZThiNTdgLHNlYXNoZWxsOmAjZmZmNWVlYCxzaWVubmE6YCNhMDUyMmRgLHNpbHZlcjpgI2MwYzBjMGAsc2t5Ymx1ZTpgIzg3Y2VlYmAsc2xhdGVibHVlOmAjNmE1YWNkYCxzbGF0ZWdyYXk6YCM3MDgwOTBgLHNsYXRlZ3JleTpgIzcwODA5MGAsc25vdzpgI2ZmZmFmYWAsc3ByaW5nZ3JlZW46YCMwMGZmN2ZgLHN0ZWVsYmx1ZTpgIzQ2ODJiNGAsdGFuOmAjZDJiNDhjYCx0ZWFsOmAjMDA4MDgwYCx0aGlzdGxlOmAjZDhiZmQ4YCx0b21hdG86YCNmZjYzNDdgLHR1cnF1b2lzZTpgIzQwZTBkMGAsdmlvbGV0OmAjZWU4MmVlYCx3aGVhdDpgI2Y1ZGViM2Asd2hpdGU6YCNmZmZmZmZgLHdoaXRlc21va2U6YCNmNWY1ZjVgLHllbGxvdzpgI2ZmZmYwMGAseWVsbG93Z3JlZW46YCM5YWNkMzJgfTtmdW5jdGlvbiBEdihlKXtsZXQgdD17cjowLGc6MCxiOjB9LG49MSxyPW51bGwsaT1udWxsLGE9bnVsbCxvPSExLHM9ITE7cmV0dXJuIHR5cGVvZiBlPT1gc3RyaW5nYCYmKGU9TXYoZSkpLHR5cGVvZiBlPT1gb2JqZWN0YCYmKE52KGUucikmJk52KGUuZykmJk52KGUuYik/KHQ9ZnYoZS5yLGUuZyxlLmIpLG89ITAscz1TdHJpbmcoZS5yKS5zdWJzdHIoLTEpPT09YCVgP2BwcmdiYDpgcmdiYCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS52KT8ocj11dihlLnMpLGk9dXYoZS52KSx0PV92KGUuaCxyLGkpLG89ITAscz1gaHN2YCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS5sKT8ocj11dihlLnMpLGE9dXYoZS5sKSx0PWh2KGUuaCxyLGEpLG89ITAscz1gaHNsYCk6TnYoZS5jKSYmTnYoZS5tKSYmTnYoZS55KSYmTnYoZS5rKSYmKHQ9YnYoZS5jLGUubSxlLnksZS5rKSxvPSEwLHM9YGNteWtgKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxgYWApJiYobj1lLmEpKSxuPWx2KG4pLHtvazpvLGZvcm1hdDplLmZvcm1hdHx8cyxyOk1hdGgubWluKDI1NSxNYXRoLm1heCh0LnIsMCkpLGc6TWF0aC5taW4oMjU1LE1hdGgubWF4KHQuZywwKSksYjpNYXRoLm1pbigyNTUsTWF0aC5tYXgodC5iLDApKSxhOm59fXZhciBPdj1gKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pYCxrdj1gW1xcc3xcXChdKyhgK092K2ApWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlcXHMqXFwpP2AsQXY9YFtcXHN8XFwoXSsoYCtPditgKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlbLHxcXHNdKygoPzpbLVxcK10/XFxkKlxcLlxcZCslPyl8KD86Wy1cXCtdP1xcZCslPykpWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVxccypcXCk/YCxqdj17Q1NTX1VOSVQ6bmV3IFJlZ0V4cChPdikscmdiOlJlZ0V4cChgcmdiYCtrdikscmdiYTpSZWdFeHAoYHJnYmFgK0F2KSxoc2w6UmVnRXhwKGBoc2xgK2t2KSxoc2xhOlJlZ0V4cChgaHNsYWArQXYpLGhzdjpSZWdFeHAoYGhzdmAra3YpLGhzdmE6UmVnRXhwKGBoc3ZhYCtBdiksY215azpSZWdFeHAoYGNteWtgK0F2KSxoZXgzOi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkkLyxoZXg2Oi9eIz8oWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkLyxoZXg0Oi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pJC8saGV4ODovXiM/KFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KSQvfTtmdW5jdGlvbiBNdihlKXtpZihlPWUudHJpbSgpLnRvTG93ZXJDYXNlKCksZS5sZW5ndGg9PT0wKXJldHVybiExO2xldCB0PSExO2lmKEV2W2VdKWU9RXZbZV0sdD0hMDtlbHNlIGlmKGU9PT1gdHJhbnNwYXJlbnRgKXJldHVybntyOjAsZzowLGI6MCxhOjAsZm9ybWF0OmBuYW1lYH07bGV0IG49anYucmdiLmV4ZWMoZSk7cmV0dXJuIG4/e3I6blsxXSxnOm5bMl0sYjpuWzNdfToobj1qdi5yZ2JhLmV4ZWMoZSksbj97cjpuWzFdLGc6blsyXSxiOm5bM10sYTpuWzRdfToobj1qdi5oc2wuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLGw6blszXX06KG49anYuaHNsYS5leGVjKGUpLG4/e2g6blsxXSxzOm5bMl0sbDpuWzNdLGE6bls0XX06KG49anYuaHN2LmV4ZWMoZSksbj97aDpuWzFdLHM6blsyXSx2Om5bM119OihuPWp2LmhzdmEuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLHY6blszXSxhOm5bNF19OihuPWp2LmNteWsuZXhlYyhlKSxuP3tjOm5bMV0sbTpuWzJdLHk6blszXSxrOm5bNF19OihuPWp2LmhleDguZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxhOkN2KG5bNF0pLGZvcm1hdDp0P2BuYW1lYDpgaGV4OGB9OihuPWp2LmhleDYuZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxmb3JtYXQ6dD9gbmFtZWA6YGhleGB9OihuPWp2LmhleDQuZXhlYyhlKSxuP3tyOnd2KG5bMV0rblsxXSksZzp3dihuWzJdK25bMl0pLGI6d3YoblszXStuWzNdKSxhOkN2KG5bNF0rbls0XSksZm9ybWF0OnQ/YG5hbWVgOmBoZXg4YH06KG49anYuaGV4My5leGVjKGUpLG4/e3I6d3YoblsxXStuWzFdKSxnOnd2KG5bMl0rblsyXSksYjp3dihuWzNdK25bM10pLGZvcm1hdDp0P2BuYW1lYDpgaGV4YH06ITEpKSkpKSkpKSkpfWZ1bmN0aW9uIE52KGUpe3JldHVybiB0eXBlb2YgZT09YG51bWJlcmA/IU51bWJlci5pc05hTihlKTpqdi5DU1NfVU5JVC50ZXN0KGUpfXZhciBQdj1jbGFzcyBle2NvbnN0cnVjdG9yKHQ9YGAsbj17fSl7aWYodCBpbnN0YW5jZW9mIGUpcmV0dXJuIHQ7dHlwZW9mIHQ9PWBudW1iZXJgJiYodD1Udih0KSksdGhpcy5vcmlnaW5hbElucHV0PXQ7bGV0IHI9RHYodCk7dGhpcy5vcmlnaW5hbElucHV0PXQsdGhpcy5yPXIucix0aGlzLmc9ci5nLHRoaXMuYj1yLmIsdGhpcy5hPXIuYSx0aGlzLnJvdW5kQT1NYXRoLnJvdW5kKDEwMCp0aGlzLmEpLzEwMCx0aGlzLmZvcm1hdD1uLmZvcm1hdD8/ci5mb3JtYXQsdGhpcy5ncmFkaWVudFR5cGU9bi5ncmFkaWVudFR5cGUsdGhpcy5yPDEmJih0aGlzLnI9TWF0aC5yb3VuZCh0aGlzLnIpKSx0aGlzLmc8MSYmKHRoaXMuZz1NYXRoLnJvdW5kKHRoaXMuZykpLHRoaXMuYjwxJiYodGhpcy5iPU1hdGgucm91bmQodGhpcy5iKSksdGhpcy5pc1ZhbGlkPXIub2t9aXNEYXJrKCl7cmV0dXJuIHRoaXMuZ2V0QnJpZ2h0bmVzcygpPDEyOH1pc0xpZ2h0KCl7cmV0dXJuIXRoaXMuaXNEYXJrKCl9Z2V0QnJpZ2h0bmVzcygpe2xldCBlPXRoaXMudG9SZ2IoKTtyZXR1cm4oZS5yKjI5OStlLmcqNTg3K2UuYioxMTQpLzFlM31nZXRMdW1pbmFuY2UoKXtsZXQgZT10aGlzLnRvUmdiKCksdCxuLHIsaT1lLnIvMjU1LGE9ZS5nLzI1NSxvPWUuYi8yNTU7cmV0dXJuIHQ9aTw9LjAzOTI4P2kvMTIuOTI6KChpKy4wNTUpLzEuMDU1KSoqMi40LG49YTw9LjAzOTI4P2EvMTIuOTI6KChhKy4wNTUpLzEuMDU1KSoqMi40LHI9bzw9LjAzOTI4P28vMTIuOTI6KChvKy4wNTUpLzEuMDU1KSoqMi40LC4yMTI2KnQrLjcxNTIqbisuMDcyMipyfWdldEFscGhhKCl7cmV0dXJuIHRoaXMuYX1zZXRBbHBoYShlKXtyZXR1cm4gdGhpcy5hPWx2KGUpLHRoaXMucm91bmRBPU1hdGgucm91bmQoMTAwKnRoaXMuYSkvMTAwLHRoaXN9aXNNb25vY2hyb21lKCl7bGV0e3M6ZX09dGhpcy50b0hzbCgpO3JldHVybiBlPT09MH10b0hzdigpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLHY6ZS52LGE6dGhpcy5hfX10b0hzdlN0cmluZygpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLnYqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHN2KCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc3ZhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hzbCgpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLGw6ZS5sLGE6dGhpcy5hfX10b0hzbFN0cmluZygpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLmwqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHNsKCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc2xhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hleChlPSExKXtyZXR1cm4gdnYodGhpcy5yLHRoaXMuZyx0aGlzLmIsZSl9dG9IZXhTdHJpbmcoZT0hMSl7cmV0dXJuYCNgK3RoaXMudG9IZXgoZSl9dG9IZXg4KGU9ITEpe3JldHVybiB5dih0aGlzLnIsdGhpcy5nLHRoaXMuYix0aGlzLmEsZSl9dG9IZXg4U3RyaW5nKGU9ITEpe3JldHVybmAjYCt0aGlzLnRvSGV4OChlKX10b0hleFNob3J0U3RyaW5nKGU9ITEpe3JldHVybiB0aGlzLmE9PT0xP3RoaXMudG9IZXhTdHJpbmcoZSk6dGhpcy50b0hleDhTdHJpbmcoZSl9dG9SZ2IoKXtyZXR1cm57cjpNYXRoLnJvdW5kKHRoaXMuciksZzpNYXRoLnJvdW5kKHRoaXMuZyksYjpNYXRoLnJvdW5kKHRoaXMuYiksYTp0aGlzLmF9fXRvUmdiU3RyaW5nKCl7bGV0IGU9TWF0aC5yb3VuZCh0aGlzLnIpLHQ9TWF0aC5yb3VuZCh0aGlzLmcpLG49TWF0aC5yb3VuZCh0aGlzLmIpO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlfSwgJHt0fSwgJHtufSlgOmByZ2JhKCR7ZX0sICR7dH0sICR7bn0sICR7dGhpcy5yb3VuZEF9KWB9dG9QZXJjZW50YWdlUmdiKCl7bGV0IGU9ZT0+YCR7TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApfSVgO3JldHVybntyOmUodGhpcy5yKSxnOmUodGhpcy5nKSxiOmUodGhpcy5iKSxhOnRoaXMuYX19dG9QZXJjZW50YWdlUmdiU3RyaW5nKCl7bGV0IGU9ZT0+TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlKHRoaXMucil9JSwgJHtlKHRoaXMuZyl9JSwgJHtlKHRoaXMuYil9JSlgOmByZ2JhKCR7ZSh0aGlzLnIpfSUsICR7ZSh0aGlzLmcpfSUsICR7ZSh0aGlzLmIpfSUsICR7dGhpcy5yb3VuZEF9KWB9dG9DbXlrKCl7cmV0dXJuey4uLnh2KHRoaXMucix0aGlzLmcsdGhpcy5iKX19dG9DbXlrU3RyaW5nKCl7bGV0e2M6ZSxtOnQseTpuLGs6cn09eHYodGhpcy5yLHRoaXMuZyx0aGlzLmIpO3JldHVybmBjbXlrKCR7ZX0sICR7dH0sICR7bn0sICR7cn0pYH10b05hbWUoKXtpZih0aGlzLmE9PT0wKXJldHVybmB0cmFuc3BhcmVudGA7aWYodGhpcy5hPDEpcmV0dXJuITE7bGV0IGU9YCNgK3Z2KHRoaXMucix0aGlzLmcsdGhpcy5iLCExKTtmb3IobGV0W3Qsbl1vZiBPYmplY3QuZW50cmllcyhFdikpaWYoZT09PW4pcmV0dXJuIHQ7cmV0dXJuITF9dG9TdHJpbmcoZSl7bGV0IHQ9ISFlO2U/Pz10aGlzLmZvcm1hdDtsZXQgbj0hMSxyPXRoaXMuYTwxJiZ0aGlzLmE+PTA7cmV0dXJuIXQmJnImJihlLnN0YXJ0c1dpdGgoYGhleGApfHxlPT09YG5hbWVgKT9lPT09YG5hbWVgJiZ0aGlzLmE9PT0wP3RoaXMudG9OYW1lKCk6dGhpcy50b1JnYlN0cmluZygpOihlPT09YHJnYmAmJihuPXRoaXMudG9SZ2JTdHJpbmcoKSksZT09PWBwcmdiYCYmKG49dGhpcy50b1BlcmNlbnRhZ2VSZ2JTdHJpbmcoKSksKGU9PT1gaGV4YHx8ZT09PWBoZXg2YCkmJihuPXRoaXMudG9IZXhTdHJpbmcoKSksZT09PWBoZXgzYCYmKG49dGhpcy50b0hleFN0cmluZyghMCkpLGU9PT1gaGV4NGAmJihuPXRoaXMudG9IZXg4U3RyaW5nKCEwKSksZT09PWBoZXg4YCYmKG49dGhpcy50b0hleDhTdHJpbmcoKSksZT09PWBuYW1lYCYmKG49dGhpcy50b05hbWUoKSksZT09PWBoc2xgJiYobj10aGlzLnRvSHNsU3RyaW5nKCkpLGU9PT1gaHN2YCYmKG49dGhpcy50b0hzdlN0cmluZygpKSxlPT09YGNteWtgJiYobj10aGlzLnRvQ215a1N0cmluZygpKSxufHx0aGlzLnRvSGV4U3RyaW5nKCkpfXRvTnVtYmVyKCl7cmV0dXJuKE1hdGgucm91bmQodGhpcy5yKTw8MTYpKyhNYXRoLnJvdW5kKHRoaXMuZyk8PDgpK01hdGgucm91bmQodGhpcy5iKX1jbG9uZSgpe3JldHVybiBuZXcgZSh0aGlzLnRvU3RyaW5nKCkpfWxpZ2h0ZW4odD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLmwrPXQvMTAwLG4ubD1vdihuLmwpLG5ldyBlKG4pfWJyaWdodGVuKHQ9MTApe2xldCBuPXRoaXMudG9SZ2IoKTtyZXR1cm4gbi5yPU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LG4uci1NYXRoLnJvdW5kKDI1NSotKHQvMTAwKSkpKSxuLmc9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsbi5nLU1hdGgucm91bmQoMjU1Ki0odC8xMDApKSkpLG4uYj1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxuLmItTWF0aC5yb3VuZCgyNTUqLSh0LzEwMCkpKSksbmV3IGUobil9ZGFya2VuKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5sLT10LzEwMCxuLmw9b3Yobi5sKSxuZXcgZShuKX10aW50KGU9MTApe3JldHVybiB0aGlzLm1peChgd2hpdGVgLGUpfXNoYWRlKGU9MTApe3JldHVybiB0aGlzLm1peChgYmxhY2tgLGUpfWRlc2F0dXJhdGUodD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLnMtPXQvMTAwLG4ucz1vdihuLnMpLG5ldyBlKG4pfXNhdHVyYXRlKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5zKz10LzEwMCxuLnM9b3Yobi5zKSxuZXcgZShuKX1ncmV5c2NhbGUoKXtyZXR1cm4gdGhpcy5kZXNhdHVyYXRlKDEwMCl9c3Bpbih0KXtsZXQgbj10aGlzLnRvSHNsKCkscj0obi5oK3QpJTM2MDtyZXR1cm4gbi5oPXI8MD8zNjArcjpyLG5ldyBlKG4pfW1peCh0LG49NTApe2xldCByPXRoaXMudG9SZ2IoKSxpPW5ldyBlKHQpLnRvUmdiKCksYT1uLzEwMDtyZXR1cm4gbmV3IGUoe3I6KGkuci1yLnIpKmErci5yLGc6KGkuZy1yLmcpKmErci5nLGI6KGkuYi1yLmIpKmErci5iLGE6KGkuYS1yLmEpKmErci5hfSl9YW5hbG9nb3VzKHQ9NixuPTMwKXtsZXQgcj10aGlzLnRvSHNsKCksaT0zNjAvbixhPVt0aGlzXTtmb3Ioci5oPShyLmgtKGkqdD4+MSkrNzIwKSUzNjA7LS10OylyLmg9KHIuaCtpKSUzNjAsYS5wdXNoKG5ldyBlKHIpKTtyZXR1cm4gYX1jb21wbGVtZW50KCl7bGV0IHQ9dGhpcy50b0hzbCgpO3JldHVybiB0Lmg9KHQuaCsxODApJTM2MCxuZXcgZSh0KX1tb25vY2hyb21hdGljKHQ9Nil7bGV0IG49dGhpcy50b0hzdigpLHtoOnJ9PW4se3M6aX09bix7djphfT1uLG89W10scz0xL3Q7Zm9yKDt0LS07KW8ucHVzaChuZXcgZSh7aDpyLHM6aSx2OmF9KSksYT0oYStzKSUxO3JldHVybiBvfXNwbGl0Y29tcGxlbWVudCgpe2xldCB0PXRoaXMudG9Ic2woKSx7aDpufT10O3JldHVyblt0aGlzLG5ldyBlKHtoOihuKzcyKSUzNjAsczp0LnMsbDp0Lmx9KSxuZXcgZSh7aDoobisyMTYpJTM2MCxzOnQucyxsOnQubH0pXX1vbkJhY2tncm91bmQodCl7bGV0IG49dGhpcy50b1JnYigpLHI9bmV3IGUodCkudG9SZ2IoKSxpPW4uYStyLmEqKDEtbi5hKTtyZXR1cm4gbmV3IGUoe3I6KG4ucipuLmErci5yKnIuYSooMS1uLmEpKS9pLGc6KG4uZypuLmErci5nKnIuYSooMS1uLmEpKS9pLGI6KG4uYipuLmErci5iKnIuYSooMS1uLmEpKS9pLGE6aX0pfXRyaWFkKCl7cmV0dXJuIHRoaXMucG9seWFkKDMpfXRldHJhZCgpe3JldHVybiB0aGlzLnBvbHlhZCg0KX1wb2x5YWQodCl7bGV0IG49dGhpcy50b0hzbCgpLHtoOnJ9PW4saT1bdGhpc10sYT0zNjAvdDtmb3IobGV0IG89MTtvPHQ7bysrKWkucHVzaChuZXcgZSh7aDoocitvKmEpJTM2MCxzOm4ucyxsOm4ubH0pKTtyZXR1cm4gaX1lcXVhbHModCl7bGV0IG49bmV3IGUodCk7cmV0dXJuIHRoaXMuZm9ybWF0PT09YGNteWtgfHxuLmZvcm1hdD09PWBjbXlrYD90aGlzLnRvQ215a1N0cmluZygpPT09bi50b0NteWtTdHJpbmcoKTp0aGlzLnRvUmdiU3RyaW5nKCk9PT1uLnRvUmdiU3RyaW5nKCl9fTtmdW5jdGlvbiBGdihlLHQpe2xldCBuPW5ldyBQdihlKSxyPW5ldyBQdih0KTtyZXR1cm4oTWF0aC5tYXgobi5nZXRMdW1pbmFuY2UoKSxyLmdldEx1bWluYW5jZSgpKSsuMDUpLyhNYXRoLm1pbihuLmdldEx1bWluYW5jZSgpLHIuZ2V0THVtaW5hbmNlKCkpKy4wNSl9dmFyIEl2PS4yOTksTHY9LjU4NyxSdj0uMTE0LHp2PTE4MCxCdj0tMjAsVnY9LS4yNSxIdj0uMixVdj0tNSxXdj0uMDMsR3Y9LjUsS3Y9NSxxdj0oZSx0KT0+bmV3IFB2KGUpLmRhcmtlbih0KS50b0hleFN0cmluZygpLEp2PWU9PntsZXQgdD1uZXcgUHYoZSkudG9SZ2IoKTtyZXR1cm5gJHt0LnJ9LCAke3QuZ30sICR7dC5ifWB9LFl2PWU9Pi9eI1swLTlBLUZdezZ9JC9pLnRlc3QoZSksWHY9ZT0+e2xldHtyOnQsZzpuLGI6cn09bmV3IFB2KGUpLnRvUmdiKCk7cmV0dXJuIE1hdGguc3FydCh0KnQqSXYrbipuKkx2K3IqcipSdik+enZ9LFp2PWU9PntsZXQgdD1uZXcgUHYoZSkse3M6bixsOnJ9PXQudG9Ic2woKTtyZXR1cm4gdC5zcGluKEJ2KS5kZXNhdHVyYXRlKG4qVnYpLmxpZ2h0ZW4ocipIdikudG9IZXhTdHJpbmcoKX0sUXY9KGUsdD1Hdik9PntsZXQgbj1uZXcgUHYoZSkse3M6cixsOml9PW4udG9Ic2woKTtyZXR1cm4gbi5zcGluKFV2KS5zYXR1cmF0ZShyKld2KS5kYXJrZW4oaSp0KS50b0hleFN0cmluZygpfSwkdj1lPT57bGV0e2NvbG9yOnQsY29sb3IyOm4sY29sb3JHcmFkaWVudDpyfT1lO3JldHVybiByP24/e2Zyb206dCx0bzpufTpYdih0KT97ZnJvbTp0LHRvOlF2KHQpfTp7ZnJvbTpadih0KSx0bzp0fTp7ZnJvbTp0LHRvOnR9fSxleT1lPT5YdihlKT9hdi5zbGF0ZTkwMDphdi53aGl0ZSx0eT1lPT5YdihlKT8uMTouMixueT1lPT57aWYoWHYoZSkpe2xldCB0PW5ldyBQdihlKS5nZXRMdW1pbmFuY2UoKTtyZXR1cm4gdD4uOD9xdihlLCgxMCp0KSoqdCk6ZX1yZXR1cm4gZX0scnk9KGUsdCk9PntsZXQgbj10Py5iYWNrZ3JvdW5kQ29sb3I/P2Uscj0wLGk9bmV3IFB2KGUpLGE9RnYobixpKSxvPXQ/LmZvcmNlTGlnaHRCZz8/bmV3IFB2KG4pLmlzTGlnaHQoKTtmb3IoO2E8My43NSYmcjwyMDspaT1vP2kuZGFya2VuKDUpOmkubGlnaHRlbig1KSxhPUZ2KG4saSkscisrO3JldHVybiBpLnRvSGV4U3RyaW5nKCl9LGl5PShlLHQpPT57bGV0IG49cnkoZSx7YmFja2dyb3VuZENvbG9yOmF2LndoaXRlfSkscj1yeShlKSxpPW5ldyBQdihlKS5pc0xpZ2h0KCksYT1uZXcgUHYodCkuaXNMaWdodCgpO3JldHVybiBpJiZhP3I9cnkodCk6IWkmJiFhP3I9cnkoZSk6aSYmIWE/cj1yeSh0LHtmb3JjZUxpZ2h0Qmc6ITB9KTohaSYmYSYmKHI9cnkoZSx7Zm9yY2VMaWdodEJnOiExfSkpLHtwcmltYXJ5Om4sc2Vjb25kYXJ5OnJ9fSxRPShlLHQsbik9PntlLmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4pfSxheT0oZSx0KT0+e2xldHtjb2xvcjpufT10LHI9JHYodCksaT1yLmZyb209PT1gI2ZmZmZmZmAmJnIuZnJvbT09PXIudG8/e2Zyb206YXYuc2xhdGUzMDAsdG86YXYuc2xhdGUzMDB9OnIsYT1leShuKTtRKGUsYC0tY29sb3ItcHJpbWFyeWAsbiksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudGAsYSksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudC1yZ2JgLEp2KGEpKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1mcm9tYCxyLmZyb20pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvYCxyLnRvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tZnJvbWAsaS5mcm9tKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tdG9gLGkudG8pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLWZyb21gLHF2KHIuZnJvbSxLdikpLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLXRvYCxxdihyLnRvLEt2KSk7bGV0IG89bnkobik7UShlLGAtLWNvbG9yLXByaW1hcnktYnV0dG9uYCxvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24taG92ZXJgLHF2KG8sMTApKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudGAsYSksUShlLGAtLW9wYWNpdHktcHJpbWFyeS1jb250ZW50YCxTdHJpbmcodHkobikpKTtsZXQgcz1peShyLmZyb20sci50byk7UShlLGAtLWNvbG9yLXByaW1hcnktZm9jdXNgLHMucHJpbWFyeSksUShlLGAtLWNvbG9yLXNlY29uZGFyeS1mb2N1c2Ascy5zZWNvbmRhcnkpfSxveT0oKCk9PntsZXR7c3Vic2NyaWJlOmUsc2V0OnR9PU8oe2NvbG9yOmF2LnNtYXJ0c3VwcEJsdWUsY29sb3IyOm51bGwsY29sb3JHcmFkaWVudDohMH0pO3JldHVybntzdWJzY3JpYmU6ZSxzZXRUaGVtZUNvbG9yOmU9PntsZXR7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9PWU7aWYoIVl2KG4pKXtIKGBQcm92aWRlZCBjb2xvciAnJHtufScgaXMgbm90IHZhbGlkLiBEZWZhdWx0IGNvbG9yIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLmApO3JldHVybn1lbHNlIGlmKGkmJnImJiFZdihyKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7cn0nIGlzIG5vdCB2YWxpZC4gRGVmYXVsdCBjb2xvciB3aWxsIGJlIHVzZWQgaW5zdGVhZC5gKTtyZXR1cm59dCh7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9KX19fSkoKSxzeT0yNCxjeT0xMixseT03Mix1eT0zODAsZHk9NjcyLGZ5PTU2MCxweT04NDAsbXk9ZT0+YCR7ZX1weGAsaHk9ZT0+e2lmKGUpcmV0dXJuIEx1KGUpP3BhcnNlSW50KGUsMTApOmV9LGd5PShlLHQpPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8bj8uaGVhZGxlc3NNb2RlP3t3aWR0aDpgMTAwJWAsaGVpZ2h0OmAxMDAlYH06dD97d2lkdGg6ZnksaGVpZ2h0OnB5fTp7d2lkdGg6dXksaGVpZ2h0OmR5fX0sX3k9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS5ib3JkZXJSYWRpdXM9bXkoMjApLHQ/LmhlYWRsZXNzTW9kZT9lLnN0eWxlLmJveFNoYWRvdz1gbm9uZWA6dD8ubGltaXRTaGFkb3c/ZS5zdHlsZS5ib3hTaGFkb3c9YHJnYmEoMCwgMCwgMCwgMC4yNSkgMHB4IDVweCAxMnB4YDplLnN0eWxlLmJveFNoYWRvdz1gcmdiYSgwLCAwLCAwLCAwLjE2KSAwcHggNXB4IDQwcHhgfSx2eT0oKT0+e2xldHtvZmZzZXRZOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBoeShlKT8/c3l9LHl5PSgpPT57bGV0e29mZnNldFg6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGh5KGUpPz9jeX0sYnk9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGV8fHQ/LmhlYWRsZXNzTW9kZT8wOnN5fSx4eT1lPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8dD8uaGVhZGxlc3NNb2RlPzA6Y3l9LFN5PSgpPT57bGV0e3Bvc2l0aW9uOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09YGZpeGVkYH0sQ3k9ZT0+e1N5KCkmJihlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGApfSx3eT0oZSx0KT0+e1N5KCkmJihlLnN0eWxlLmJvdHRvbT1teSh0KSl9LFR5PShlLHQpPT57aWYoU3koKSl7bGV0e29yaWVudGF0aW9uOm59PVYuZ2V0T3B0aW9ucygpO249PT1gcmlnaHRgPyhlLnN0eWxlLmxlZnQ9YGluaXRpYWxgLGUuc3R5bGUucmlnaHQ9bXkodCkpOihlLnN0eWxlLmxlZnQ9bXkodCksZS5zdHlsZS5yaWdodD1gaW5pdGlhbGApfX0sRXk9ZT0+e2xldHt6SW5kZXg6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS56SW5kZXg9U3RyaW5nKHQ/P2BhdXRvYCl9LER5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHQuc3R5bGUud2lkdGg9YDEwMCVgLHQuc3R5bGUuaGVpZ2h0PWAxMDAlYCx0LnN0eWxlLmJvcmRlcj1gbm9uZWAsdC5zdHlsZS5kaXNwbGF5PWBibG9ja2AsdC5zdHlsZS50ZXh0QWxpZ249YGxlZnRgLHQuc3R5bGUubWFyZ2luPWAwYCx0LnN0eWxlLnBhZGRpbmc9YDBgLHQuc3R5bGUudG9wPWAwYCx0LnN0eWxlLmxlZnQ9YDBgLHQuc3R5bGUub3BhY2l0eT1gMWAsZSYmZSh0KSx0LmdldEF0dHJpYnV0ZShgc3R5bGVgKT8/YGB9LE95PWU9PntDeShlKSx3eShlLHZ5KCkpLFR5KGUseXkoKSksRXkoZSl9LGt5PShlLHQpPT57Q3koZSksd3koZSxieSh0KSksVHkoZSx4eSh0KSksRXkoZSksdHx8X3koZSl9LEF5PWU9PntDeShlKSx3eShlLHZ5KCkrbHkpLFR5KGUseXkoKSksRXkoZSl9LGp5PWU9PntlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGAsZS5zdHlsZS53aWR0aD1gMTAwJWAsZS5zdHlsZS5oZWlnaHQ9YDEwMCVgLHd5KGUsMCksVHkoZSwwKSxFeShlKX0sTXk9ZT0+e095KGUpfSxOeT0oZSx0KT0+e2t5KGUsdCl9LFB5PWU9PntBeShlKX0sRnk9ZT0+e0F5KGUpfSxJeT1lPT57ankoZSl9LEx5PU8oMzAwKSxSeT1PKDE2Niksenk9TyghMSksQnk9Tyh2b2lkIDApLFZ5PWsoW3NzLEJ5XSwoW2UsdF0pPT57bGV0e2J1dHRvblN0eWxlOm59PVYuZ2V0T3B0aW9ucygpO3JldHVybiB0P3Q9PT1gYnViYmxlYDplfHxuPT09YGJ1YmJsZWB9KSxIeT1rKFtWeSxMeV0sKFtlLHRdKT0+ZT81Njp0KSxVeT1PKHZvaWQgMCksV3k9ayhbY3MsVXldLChbZSx0XSk9PmU/ITA6KHQ/P1YuZ2V0T3B0aW9ucygpLmhlYWRlclN0eWxlKT09PWBjb21wYWN0YCksR3k9ayhbV3ldLChbZV0pPT5lPzc2OjExNCksS3k9TygpLHF5PWsoW0t5XSwoW2VdKT0+ZT09PXZvaWQgMD96byhVLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZCk9PT1gdHJ1ZWA6ZSksSnk9ZT0+e0JvKHtuYW1lOlUuSXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLEt5LnNldChlKX0sJD1mdW5jdGlvbihlKXtyZXR1cm4gZS5OYW1lPWBuYW1lYCxlLkdyb3VwPWBncm91cGAsZS5FbWFpbD1gZW1haWxgLGUuUGhvbmU9YHBob25lYCxlLlZhcmlhYmxlcz1gdmFyaWFibGVzYCxlLkNvbnRhY3REYXRhPWBjb250YWN0RGF0YWAsZS5MYW5ndWFnZT1gbGFuZ3VhZ2VgLGUuQ2hhdENsb3NlPWBjaGF0OmNsb3NlYCxlLkNoYXRPcGVuPWBjaGF0Om9wZW5gLGUuQ2hhdFNob3c9YGNoYXQ6c2hvd2AsZS5DaGF0SGlkZT1gY2hhdDpoaWRlYCxlLlRoZW1lQ29sb3I9YHRoZW1lOmNvbG9yYCxlLkNoYXRNZXNzYWdlPWBjaGF0Om1lc3NhZ2VgLGUuQ2hhdFNlbmQ9YGNoYXQ6c2VuZGAsZS5IdG1sQXBwbHk9YGh0bWw6YXBwbHlgLGUuT249YG9uYCxlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuTWFya2V0aW5nQ29uc2VudD1gbWFya2V0aW5nQ29uc2VudGAsZS5PcGVuUmF0ZUZvcm09YG9wZW5SYXRlRm9ybWAsZS5PcGVuQXV0aEZvcm09YG9wZW5BdXRoRm9ybWAsZS5XaWRnZXRTdGF0dXM9YHdpZGdldFN0YXR1c2AsZS5UcmFuc2xhdGlvbnM9YHRyYW5zbGF0aW9uc2AsZS5BdXRoRm9ybUZpZWxkcz1gYXV0aEZvcm1GaWVsZHNgLGUuQnV0dG9uU3R5bGU9YGJ1dHRvblN0eWxlYCxlLkhlYWRlclN0eWxlPWBoZWFkZXJTdHlsZWAsZS5QcmV2aWV3VHJhbnNsYXRlPWBwcmV2aWV3VHJhbnNsYXRlYCxlLkRpc2FibGVDb25uZWN0aW9uU3RhdHVzPWBkaXNhYmxlQ29ubmVjdGlvblN0YXR1c2AsZS5SZWxvYWRXaXRoTW9ja0RhdGE9YHJlbG9hZFdpdGhNb2NrRGF0YWAsZS5SZWxvYWQ9YHJlbG9hZGAsZS5Cb3RJZGVudGl0eVVwZGF0ZT1gYm90SWRlbnRpdHk6dXBkYXRlYCxlfSh7fSksWXk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuTWVzc2FnZVNlbnQ9YG1lc3NhZ2Vfc2VudGAsZS5NZXNzYWdlUmVjZWl2ZWQ9YG1lc3NhZ2VfcmVjZWl2ZWRgLGUuTWVzc2VuZ2VyQ2xvc2U9YG1lc3Nlbmdlcl9jbG9zZWAsZS5XaWRnZXRJbml0PWB3aWRnZXRfaW5pdGAsZX0oe30pLFh5PWU9Pnt6Lm9uKGBtZXNzYWdlU2VudGAsZSl9LFp5PWU9Pnt6Lm9uKGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxReT1lPT57ei5vbihgbWVzc2VuZ2VyQ2xvc2VgLGUpfSwkeT1lPT57ei5vbihgd2lkZ2V0SW5pdGAsZSl9LGViPXtbWXkuTWVzc2FnZVNlbnRdOlh5LFtZeS5NZXNzYWdlUmVjZWl2ZWRdOlp5LFtZeS5NZXNzZW5nZXJDbG9zZV06UXksW1l5LldpZGdldEluaXRdOiR5fSx0Yj0oZSx0KT0+e2xldCBuPWViW2VdO24mJm4odCl9LG5iPWBodHRwczovL2RvY3Muc21hcnRzdXBwLmNvbS9jaGF0LWJveC9gLHJiPWAke25ifWxvY2FsaXphdGlvbi8jc3VwcG9ydGVkLWxhbmd1YWdlc2AsaWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLXZpc2l0b3ItZGF0YWAsYWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLWNvbnRhY3QtZGF0YWAsb2I9YCR7bmJ9amF2YXNjcmlwdC1hcGkvZXZlbnRzL2Asc2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vaGVscC9jb29raWUtY29uc2VudC8jd2hlcmUtdG8tZW5hYmxlLWNvb2tpZS1jb25zZW50LWluLXNtYXJ0c3VwcGAsY2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vcHJpY2luZ2AsbGI9Tyh7fSksdWI9KGUsdCk9PntsYi51cGRhdGUobj0+KHsuLi5uLFtlXTp0fSkpfSxkYj1lPT5PYmplY3QudmFsdWVzKCQpLnNvbWUodD0+dD09PWUpLGZiPShlLHQpPT5MdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgc3RyaW5nLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLHBiPShlLHQpPT5QdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgYm9vbGVhbi4gU2VlICR7bmJ9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKSxtYj0oZSx0KT0+dHlwZW9mIHQ9PWBmdW5jdGlvbmA/ITA6KEgoYFBhcmFtZXRlciBvZiAnJHtlfScgQVBJIGNvbW1hbmQgbXVzdCBiZSB0eXBlIGZ1bmN0aW9uLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGhiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHtpYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGdiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHthYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLF9iPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LmApLCExKSx2Yj0oZSx0KT0+IUl1KHQpfHwhKGBpZGBpbiB0KXx8IUx1KHQuaWQpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgYmUgdHlwZSBvYmplY3QgYW5kIGhhcyBhIHZhbGlkICdpZCcgcHJvcGVydHkuYCksITEpOmBuYW1lYGluIHQmJiFMdSh0Lm5hbWUpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICduYW1lJyBwcm9wZXJ0eS5gKSwhMSk6YGF2YXRhclVybGBpbiB0JiYhTHUodC5hdmF0YXJVcmwpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICdhdmF0YXJVcmwnIHByb3BlcnR5LmApLCExKTohMCx5Yj0oZSx0KT0+e2xldCBuPU9iamVjdC52YWx1ZXMoWXkpO3JldHVybiBuLmluY2x1ZGVzKHQpPyEwOihIKGBVbmtub3duIGV2ZW50OiAnJHt0fScuIEF2YWlsYWJsZSBldmVudCBuYW1lcyBhcmU6ICR7bi5qb2luKGAsIGApfS4gU2VlICR7b2J9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKX0sYmI9ZT0+e0goYFVua25vd24gQVBJIGNvbW1hbmQ6ICcke2V9Jy4gU2VlICR7bmJ9IHRvIGNoZWNrIGF2YWlsYWJsZSBBUEkgY29tbWFuZHMuYCl9LHhiPSgpPT4hIVYuZ2V0T3B0aW9ucygpLmZlYXR1cmVzPy5hcGksU2I9KCk9PiEhVi5nZXRPcHRpb25zKCkuZmVhdHVyZXM/Lmdyb3VwcyxDYj0oKT0+Vi5nZXRPcHRpb25zKCkuaXNQcmV2aWV3TW9kZSx3Yj0oKT0+IXhiKCkmJiFDYigpPyhIKGBDaGF0IGJveCBBUEkgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxUYj0oKT0+IXhiKCl8fCFTYigpPyhIKGBDaGF0IGJveCBHcm91cHMgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxFYj0oKT0+e0hvKCl8fEgoYEVuYWJsZSBtYW5hZ2luZyBjb29raWUgY29uc2VudCBpbiB3aWRnZXQgc2V0dGluZ3MgdG8gYWxsb3cgdGhpcyBjb21tYW5kLiBTZWUgJHtzYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCl9LERiPSgpPT57bGV0IGU9KCk9PntVXyghMCksSV8oKX07aWYoIUEoQ18pKXtYbC5wdXNoKGUpO3JldHVybn1lKCl9LE9iPSgpPT57aWYod2IoKSl7aWYoIUEoQ18pKXtYbC5wdXNoKFdfKTtyZXR1cm59V18oKX19LGtiPSgpPT57d2IoKSYmSV8oKX0sQWI9KCk9Pnt3YigpJiZMXygpfSxqYj0oZSx0KT0+e2lmKHdiKCkmJmU9PT0kLkxhbmd1YWdlJiZmYihlLHQpKXtpZighSWwodCkpe0goYFByb3ZpZGVkIGxhbmd1YWdlICcke3R9JyBpcyBub3Qgc3VwcG9ydGVkLiBTZWUgJHtyYn0gdG8gY2hlY2sgc3VwcG9ydGVkIGxhbmd1YWdlcy5gKTtyZXR1cm59aWYoIUEoQ18pKXt1YihgbGFuZ2AsdCk7cmV0dXJufUdsKHQpfX0sTWI9KGUsdCk9PntsZXQgbixyPW51bGwsaT0hMDtpZih3YigpKXtpZih0eXBlb2YgdD09YHN0cmluZ2AmJmZiKGUsdCkpbj10O2Vsc2UgaWYoaGIoZSx0KSl7aWYobj10LmNvbG9yLHI9dC5jb2xvcjIsaT10LmNvbG9yR3JhZGllbnQsIXBiKGUsaSkpcmV0dXJufWVsc2UgcmV0dXJuO2lmKCFZdihuKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7bn0nIGlzIG5vdCB2YWxpZC4gUGxlYXNlIHVzZSBoZXggY29sb3IgY29kZS5gKTtyZXR1cm59ZWxzZSBpZihpJiZyJiYhWXYocikpe0goYFByb3ZpZGVkIGNvbG9yICcke3J9JyBpcyBub3QgdmFsaWQuIERlZmF1bHQgY29sb3Igd2lsbCBiZSB1c2VkIGluc3RlYWQuYCk7cmV0dXJufW95LnNldFRoZW1lQ29sb3Ioe2NvbG9yOm4sY29sb3IyOnIsY29sb3JHcmFkaWVudDppfSl9fSxOYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJm9fKHQpfSxQYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJihvXyh0KSxkXygpKX0sRmI9KGUsdCxuKT0+e2ZiKGUsdCkmJnliKGUsdCkmJm1iKGUsbikmJnRiKHQsbil9LEliPShlLHQpPT57aGIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclZhcmlhYmxlcyh6dSh0KSl9LExiPShlLHQpPT57ZSE9PSQuTmFtZSYmZSE9PSQuRW1haWwmJmUhPT0kLlBob25lJiZlIT09JC5Hcm91cHx8ZmIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclByb3BlcnR5KGUsdCl9LFJiPShlLHQpPT57aWYoIVRiKCl8fCFmYihlLHQpKXJldHVybjtsZXQgbj1BKGlsKVt0XTtpZihBKENfKSYmIW4pe0goYEdyb3VwIHdpdGgga2V5ICcke3R9JyBkb2VzIG5vdCBleGlzdC4gUGxlYXNlIHByb3ZpZGUgY29ycmVjdCBncm91cCBrZXkgZnJvbSB5b3VyIGdyb3VwIHNldHRpbmdzLmApO3JldHVybn1MYihlLHQpfSx6Yj0oZSx0KT0+e2diKGUsdCkmJk11LnVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YSh0KX0sQmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sVmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sSGI9KCk9PntZcChBKEJwKXx8YGApfSxVYj0oKT0+e0JjKEhjLkF1dGhGb3JtKX0sV2I9KGUsdCk9PntmYihlLHQpJiYodCE9PUsuQWNjb3VudFN0YXR1cy5PbmxpbmUmJnQhPT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZXx8JHUuc2V0KHQpKX0sR2I9KGUsdCk9PntoYihlLHQpJiZxbCh0KX0sS2I9KGUsdCk9PntoYihlLHQpJiYoQShWaCl8fFZoLnNldChWLmdldE9wdGlvbnMoKSksVmgudXBkYXRlKGU9Pih7Li4uZSwuLi50fSkpKX0scWI9KGUsdCk9PntmYihlLHQpJiZCeS5zZXQodCl9LEpiPShlLHQpPT57aWYoZT09PSQuSGVhZGVyU3R5bGUmJmZiKGUsdCkpe2lmKHQhPT1gY29tcGFjdGAmJnQhPT1gc3RhbmRhcmRgKXtIKGBQcm92aWRlZCBoZWFkZXIgc3R5bGUgJyR7dH0nIGlzIG5vdCB2YWxpZC4gVXNlICdjb21wYWN0JyBvciAnc3RhbmRhcmQnLmApO3JldHVybn1VeS5zZXQodCl9fSxZYj0oKT0+e2xldCBlPSgpPT57fTtlPUhsLnN1YnNjcmliZSgoKT0+e0EoUnApLmZvckVhY2goZT0+e2xldCB0PWUuY29udGVudD8uZGF0YXx8YGA7dHlwZW9mIHQ9PWBzdHJpbmdgJiZ0Lm1hdGNoKC93aWRnZXRQcmV2aWV3XC4uKi8pJiYoZS5jb250ZW50LnRleHQ9QShXKSh0KSxKLnJlcGxhY2VNZXNzYWdlKGUpKX0pLGUoKX0pfSxYYj0oZSx0KT0+e3BiKGUsdCkmJklnLnNldCh0KX0sWmI9KGUsdCk9PntfYihlLHQpJiZxLnJlbG9hZENsaWVudCh0KX0sUWI9KGUsdCk9PntwYihlLHQpJiZxLnJlbG9hZENsaWVudCh2b2lkIDAsdCl9LCRiPShlLHQpPT57aWYoIXZiKGUsdCkpcmV0dXJuO2xldHtpZDpuLC4uLnJ9PXQ7JGwudXBkYXRlSWRlbnRpdHkobixyKX0sZXg9e3ZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgLGV4ZWN1dGU6ZT0+e2xldCB0PWVbMF07aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmApe3J4KHQpO3JldHVybn1pZighZGIodCkpe2JiKFN0cmluZyh0KSk7cmV0dXJufW54KHQsZVsxXSwuLi5lLnNsaWNlKDIpKX0sZXhlYzpmdW5jdGlvbiguLi5lKXt0aGlzLmV4ZWN1dGUoZSl9fSx0eD17WyQuQ2hhdE9wZW5dOkRiLFskLkNoYXRDbG9zZV06T2IsWyQuQ2hhdFNob3ddOmtiLFskLkNoYXRIaWRlXTpBYixbJC5DaGF0TWVzc2FnZV06TmIsWyQuQ2hhdFNlbmRdOlBiLFskLkxhbmd1YWdlXTpqYixbJC5UaGVtZUNvbG9yXTpNYixbJC5IZWFkZXJTdHlsZV06SmIsWyQuT25dOkZiLFskLlZhcmlhYmxlc106SWIsWyQuQ29udGFjdERhdGFdOnpiLFskLk5hbWVdOkxiLFskLkdyb3VwXTpSYixbJC5FbWFpbF06TGIsWyQuUGhvbmVdOkxiLFskLkFuYWx5dGljc0NvbnNlbnRdOkJiLFskLk1hcmtldGluZ0NvbnNlbnRdOlZiLFskLkh0bWxBcHBseV06bnVsbCxbJC5PcGVuUmF0ZUZvcm1dOkhiLFskLk9wZW5BdXRoRm9ybV06VWIsWyQuV2lkZ2V0U3RhdHVzXTpXYixbJC5UcmFuc2xhdGlvbnNdOkdiLFskLkF1dGhGb3JtRmllbGRzXTpLYixbJC5CdXR0b25TdHlsZV06cWIsWyQuUHJldmlld1RyYW5zbGF0ZV06WWIsWyQuRGlzYWJsZUNvbm5lY3Rpb25TdGF0dXNdOlhiLFskLlJlbG9hZFdpdGhNb2NrRGF0YV06WmIsWyQuUmVsb2FkXTpRYixbJC5Cb3RJZGVudGl0eVVwZGF0ZV06JGJ9LG54PShlLHQsLi4ubik9PntsZXQgcj10eFtlXTtpZihyPT09dm9pZCAwKXtiYihlKTtyZXR1cm59ciE9PW51bGwmJihyKGUsdCwuLi5uKSx2byhg8J+nmeKAjeKZgu+4j1tBUEldICR7ZX0ke3Q/YDpgOmBgfWAsdD8/YGApKX0scng9ZT0+e0EoQ18pP2UoKTpYbC5wdXNoKGUpfTt0eXBlb2Ygd2luZG93PGB1YCYmKCh3aW5kb3cuX19zdmVsdGU/Pz17fSkudj8/PW5ldyBTZXQpLmFkZChgNWApO3ZhciBpeD1lPT5lO2Z1bmN0aW9uIGF4KGUpe2xldCB0PWUtMTtyZXR1cm4gdCp0KnQrMX1mdW5jdGlvbiBveChlKXtsZXQgdD10eXBlb2YgZT09YHN0cmluZ2AmJmUubWF0Y2goL15ccyooLT9bXGQuXSspKFteXHNdKilccyokLyk7cmV0dXJuIHQ/W3BhcnNlRmxvYXQodFsxXSksdFsyXXx8YHB4YF06W2UsYHB4YF19ZnVuY3Rpb24gc3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWl4fT17fSl7bGV0IGk9K2dldENvbXB1dGVkU3R5bGUoZSkub3BhY2l0eTtyZXR1cm57ZGVsYXk6dCxkdXJhdGlvbjpuLGVhc2luZzpyLGNzczplPT5gb3BhY2l0eTogJHtlKml9YH19ZnVuY3Rpb24gY3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHg6aT0wLHk6YT0wLG9wYWNpdHk6bz0wfT17fSl7bGV0IHM9Z2V0Q29tcHV0ZWRTdHlsZShlKSxjPStzLm9wYWNpdHksbD1zLnRyYW5zZm9ybT09PWBub25lYD9gYDpzLnRyYW5zZm9ybSx1PWMqKDEtbyksW2QsZl09b3goaSksW3AsbV09b3goYSk7cmV0dXJue2RlbGF5OnQsZHVyYXRpb246bixlYXNpbmc6cixjc3M6KGUsdCk9PmAKCQkJdHJhbnNmb3JtOiAke2x9IHRyYW5zbGF0ZSgkeygxLWUpKmR9JHtmfSwgJHsoMS1lKSpwfSR7bX0pOwoJCQlvcGFjaXR5OiAke2MtdSp0fWB9fWZ1bmN0aW9uIGx4KGUse2RlbGF5OnQ9MCxkdXJhdGlvbjpuPTQwMCxlYXNpbmc6cj1heCxheGlzOmk9YHlgfT17fSl7bGV0IGE9Z2V0Q29tcHV0ZWRTdHlsZShlKSxvPSthLm9wYWNpdHkscz1pPT09YHlgP2BoZWlnaHRgOmB3aWR0aGAsYz1wYXJzZUZsb2F0KGFbc10pLGw9aT09PWB5YD9bYHRvcGAsYGJvdHRvbWBdOltgbGVmdGAsYHJpZ2h0YF0sdT1sLm1hcChlPT5gJHtlWzBdLnRvVXBwZXJDYXNlKCl9JHtlLnNsaWNlKDEpfWApLGQ9cGFyc2VGbG9hdChhW2BwYWRkaW5nJHt1WzBdfWBdKSxmPXBhcnNlRmxvYXQoYVtgcGFkZGluZyR7dVsxXX1gXSkscD1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVswXX1gXSksbT1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVsxXX1gXSksaD1wYXJzZUZsb2F0KGFbYGJvcmRlciR7dVswXX1XaWR0aGBdKSxnPXBhcnNlRmxvYXQoYVtgYm9yZGVyJHt1WzFdfVdpZHRoYF0pO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOmU9PmBvdmVyZmxvdzogaGlkZGVuO29wYWNpdHk6ICR7TWF0aC5taW4oZSoyMCwxKSpvfTske3N9OiAke2UqY31weDtwYWRkaW5nLSR7bFswXX06ICR7ZSpkfXB4O3BhZGRpbmctJHtsWzFdfTogJHtlKmZ9cHg7bWFyZ2luLSR7bFswXX06ICR7ZSpwfXB4O21hcmdpbi0ke2xbMV19OiAke2UqbX1weDtib3JkZXItJHtsWzBdfS13aWR0aDogJHtlKmh9cHg7Ym9yZGVyLSR7bFsxXX0td2lkdGg6ICR7ZSpnfXB4O21pbi0ke3N9OiAwYH19ZnVuY3Rpb24gdXgoZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHN0YXJ0Omk9MCxvcGFjaXR5OmE9MH09e30pe2xldCBvPWdldENvbXB1dGVkU3R5bGUoZSkscz0rby5vcGFjaXR5LGM9by50cmFuc2Zvcm09PT1gbm9uZWA/YGA6by50cmFuc2Zvcm0sbD0xLWksdT1zKigxLWEpO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOihlLHQpPT5gCgkJCXRyYW5zZm9ybTogJHtjfSBzY2FsZSgkezEtbCp0fSk7CgkJCW9wYWNpdHk6ICR7cy11KnR9CgkJYH19YXQoKTt2YXIgZHg9d2koYDxkaXY+PC9kaXY+YCk7ZnVuY3Rpb24gZngoZSx0KXtsdCh0LCEwKTtsZXQgbj1vbyh0LGBoZWlnaHRgLDMsMjApLHI9b28odCxgd2lkdGhgLDMsYDEwMCVgKSxpPW9vKHQsYGNvbG9yU2NoZW1lYCwzLGBncmF5YCksYT1vbyh0LGByb3VuZGVkU3R5bGVgLDMsYHJvdW5kZWQtZnVsbGApLG89Zm4oKCk9PmAke2EoKX0gYW5pbWF0ZS1wdWxzZWApO3ZhciBzPWR4KCk7bGV0IGM7cHIoZT0+e2JhKHMsMSxtYShbUihvKSxpKCk9PT1gZ3JheWAmJmBiZy1ncmF5LTIwMGAsaSgpPT09YGRhcmtHcmF5YCYmYGJnLWdyYXktMzAwYF0pKSxjPVNhKHMsYGAsYyxlKX0sWygpPT4oe2hlaWdodDpteShuKCkpLHdpZHRoOkZ1KHIoKSk/bXkocigpKTpyKCl9KV0pLGtpKGUscyksdXQoKX1mdW5jdGlvbiBweChlLHQpe2xldCBuPW9vKHQsYHNpemVgLDMsMjApO2Z4KGUse2NvbG9yU2NoZW1lOmBkYXJrR3JheWAsZ2V0IHdpZHRoKCl7cmV0dXJuIG4oKX0sZ2V0IGhlaWdodCgpe3JldHVybiBuKCl9fSl9dmFyIG14PUVpKGA8c3ZnPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE4IDZMNiAxOE02IDZsMTIgMTIiPjwvcGF0aD48L3N2Zz5gKTtmdW5jdGlvbiBoeChlLHQpe2xldCBuPXJvKHQsW2AkJHNsb3RzYCxgJCRldmVudHNgLGAkJGxlZ2FjeWBdKTt2YXIgcj1teCgpO1ZhKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksa2koZSxyKX12YXIgZ3g9d2koYDxidXR0b24gdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PGRpdj48IT48L2Rpdj48L2J1dHRvbj5gKTtmdW5jdGlvbiBfeChlLHQpe2x0KHQsITApO2xldCBuPW9vKHQsYGljb25PcmllbnRhdGlvbmAsMyxgcmlnaHRgKSxyPW9vKHQsYGljb25BbmltYXRpb25gLDMsYG5vbmVgKSxpPW9vKHQsYGljb25TY2FsZWAsMywhMSksYT1vbyh0LGBzaXplYCwzLGBtZGApLG89b28odCxgdmFyaWFudGAsMyxgZ2hvc3RgKSxzPW9vKHQsYGZvY3VzYCwzLGBwcmltYXJ5YCksYz1mbigoKT0+bigpPT09YHJpZ2h0YD8xOi0xKSxsPWZuKCgpPT5pKCk/MS40OjEuMiksdT1mbigoKT0+dC5pY29uKSxkPWU9PntlLnN0b3BQcm9wYWdhdGlvbigpLHQub25DbGljayYmdC5vbkNsaWNrKGUpfTt2YXIgZj1neCgpLHA9Vm4oZik7JGkoVm4ocCksKCk9PlIodSksKGUsdCk9Pnt0KGUse3dpZHRoOmAxZW1gLGhlaWdodDpgMWVtYH0pfSksWGUocCksWGUoZikscHIoZT0+e2JhKGYsMSxlLGBzdmVsdGUteXdvZm1sYCksZi5kaXNhYmxlZD10LmRpc2FibGVkLHphKGYsYGRhdGEtdGVzdGlkYCx0LnRlc3RJZCksemEoZixgYXJpYS1sYWJlbGAsdC5pY29uRGVzY3JpcHRpb24pLHphKGYsYGFyaWEtZGlzYWJsZWRgLHQuZGlzYWJsZWQpLGJhKHAsMSxtYShbYHctZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJgLHIoKT09PWBzcGluYCYmYGFuaW1hdGUtc3BpbmBdKSksU2EocCxgdHJhbnNmb3JtOiBzY2FsZSgke1IobCl9KSBzY2FsZVgoJHtSKGMpfSk7YCl9LFsoKT0+bWEoW2BidG4gYnRuLSR7bygpfSBidG4tJHthKCl9YCwhIXQuZGlzYWJsZWQmJmBidG4tZGlzYWJsZWRgLGlzKCk/YGN1cnNvci1hdXRvYDpgY3Vyc29yLXBvaW50ZXJgLHMoKT09PWBwcmltYXJ5YCYmYGJ1dHRvbi1mb2N1c2AscygpPT09YHNlY29uZGFyeWAmJmBidXR0b24tZm9jdXMtc2Vjb25kYXJ5YF0pXSksZ2koYGNsaWNrYCxmLGQpLGtpKGUsZiksdXQoKX1faShbYGNsaWNrYF0pO2V4cG9ydHtkXyBhcyAkLGp0IGFzICRpLFNsIGFzICRuLGFvIGFzICRyLCRmIGFzICR0LCRfIGFzIEEsZ2kgYXMgQWksc2QgYXMgQW4sc3MgYXMgQXIsVGggYXMgQXQsS18gYXMgQixWbiBhcyBCaSxVdSBhcyBCbixqbyBhcyBCcixIcCBhcyBCdCxGeSBhcyBDLElpIGFzIENpLF9kIGFzIENuLGJzIGFzIENyLHpoIGFzIEN0LG95IGFzIEQsRWkgYXMgRGksbmQgYXMgRG4sX3MgYXMgRHIsTWggYXMgRHQsbXkgYXMgRSx3aSBhcyBFaSxlZCBhcyBFbixocyBhcyBFcixGaCBhcyBFdCxKXyBhcyBGLCRyIGFzIEZpLEt1IGFzIEZuLHpvIGFzIEZyLFpwIGFzIEZ0LE9fIGFzIEcsVG4gYXMgR2ksJGwgYXMgR24scG8gYXMgR3IsenAgYXMgR3QsTl8gYXMgSCxVbiBhcyBIaSxMdSBhcyBIbix5byBhcyBIcixNcCBhcyBIdCxYIGFzIEkscHIgYXMgSWksWXUgYXMgSW4sVm8gYXMgSXIsWXAgYXMgSXQsbV8gYXMgSixwbiBhcyBKaSxIbCBhcyBKbix6IGFzIEpyLFJwIGFzIEp0LGdfIGFzIEssQ24gYXMgS2ksWWwgYXMgS24sQiBhcyBLcixKIGFzIEt0LEdfIGFzIEwsb3IgYXMgTGkscXUgYXMgTG4sQm8gYXMgTHIsWHAgYXMgTHQscnYgYXMgTSxwaSBhcyBNaSxpZCBhcyBNbixhcyBhcyBNcixFaCBhcyBNdCxZXyBhcyBOLFIgYXMgTmksWnUgYXMgTm4saXMgYXMgTnIsaWggYXMgTnQsYXkgYXMgTyxEaSBhcyBPaSxsZCBhcyBPbixscyBhcyBPcixraCBhcyBPdCxXXyBhcyBQLFhyIGFzIFBpLEd1IGFzIFBuLEpvIGFzIFByLGFtIGFzIFB0LGlfIGFzIFEsUHQgYXMgUWksd2wgYXMgUW4scm8gYXMgUXIsT3AgYXMgUXQsVV8gYXMgUixjciBhcyBSaSxXdSBhcyBSbixVIGFzIFJyLFdwIGFzIFJ0LFB5IGFzIFMsamkgYXMgU2ksZ2QgYXMgU24seXMgYXMgU3IsYWcgYXMgU3QsZ3kgYXMgVCxPaSBhcyBUaSx1ZCBhcyBUbixmcyBhcyBUcixJaCBhcyBUdCxqXyBhcyBVLGpuIGFzIFVpLE11IGFzIFVuLFYgYXMgVXIsQnAgYXMgVXQsTV8gYXMgVixIbiBhcyBWaSxWdSBhcyBWbixIIGFzIFZyLFZwIGFzIFZ0LERfIGFzIFcsd24gYXMgV2kscSBhcyBXbix2byBhcyBXcixGcCBhcyBXdCxzXyBhcyBYLE10IGFzIFhpLFJsIGFzIFhuLHNvIGFzIFhyLElwIGFzIFh0LHBfIGFzIFksZm4gYXMgWWksVyBhcyBZbixjbyBhcyBZcixQcCBhcyBZdCxhXyBhcyBaLEF0IGFzIFppLENsIGFzIFpuLG9vIGFzIFpyLGtwIGFzIFp0LFJ5IGFzIF8sR2kgYXMgX2ksVGQgYXMgX24sTmMgYXMgX3IsdWcgYXMgX3Qsc3ggYXMgYSxsdCBhcyBhYSxWYSBhcyBhaSxCZiBhcyBhbixsbCBhcyBhcixVZyBhcyBhdCxOeSBhcyBiLFJpIGFzIGJpLHlkIGFzIGJuLENzIGFzIGJyLGlnIGFzIGJ0LGx4IGFzIGMsWGUgYXMgY2EsVGEgYXMgY2ksU2YgYXMgY24sUWMgYXMgY3IsVmcgYXMgY3QsSHkgYXMgZCxtYSBhcyBkaSxHZCBhcyBkbixXYyBhcyBkcixOZyBhcyBkdCxrIGFzIGVhLGVvIGFzIGVpLGVwIGFzIGVuLGJsIGFzIGVyLG9fIGFzIGV0LHp5IGFzIGYsdWEgYXMgZmksVmQgYXMgZm4sR2MgYXMgZnIsT2cgYXMgZnQsR3kgYXMgZyxaaSBhcyBnaSx3ZCBhcyBnbixCYyBhcyBncix5ZyBhcyBndCxWeSBhcyBoLFFpIGFzIGhpLEVkIGFzIGhuLHpjIGFzIGhyLFRnIGFzIGh0LGZ4IGFzIGksdXQgYXMgaWEscWEgYXMgaWksRmYgYXMgaW4sc2wgYXMgaXIsdF8gYXMgaXQsaXYgYXMgaixoaSBhcyBqaSxmZCBhcyBqbix1cyBhcyBqcixEaCBhcyBqdCxldiBhcyBrLF9pIGFzIGtpLGNkIGFzIGtuLGNzIGFzIGtyLE9oIGFzIGt0LGV4IGFzIGwseCBhcyBsYSxTYSBhcyBsaSxiZiBhcyBsbixVYyBhcyBscixMZyBhcyBsdCxxeSBhcyBtLCRpIGFzIG1pLHpkIGFzIG1uLFZjIGFzIG1yLERnIGFzIG10LGh4IGFzIG4sTyBhcyBuYSxZYSBhcyBuaSxxZiBhcyBubix1bCBhcyBucixjXyBhcyBudCxjeCBhcyBvLGN0IGFzIG9hLHphIGFzIG9pLHpmIGFzIG9uLG9sIGFzIG9yLEhnIGFzIG90LFd5IGFzIHAsY2EgYXMgcGksSGQgYXMgcG4sSGMgYXMgcHIsRWcgYXMgcHQsaF8gYXMgcSxPbiBhcyBxaSxLbCBhcyBxbixtbyBhcyBxcixOcCBhcyBxdCxweCBhcyByLHN0IGFzIHJhLEphIGFzIHJpLFVmIGFzIHJuLGNsIGFzIHJyLGxfIGFzIHJ0LHV4IGFzIHMsWmUgYXMgc2EsTGEgYXMgc2ksRGYgYXMgc24sbmwgYXMgc3IsQmcgYXMgc3QsX3ggYXMgdCxBIGFzIHRhLCRhIGFzIHRpLFRwIGFzIHRuLGRsIGFzIHRyLHJfIGFzIHR0LEx5IGFzIHUsdSBhcyB1YSxiYSBhcyB1aSxSZCBhcyB1bixLYyBhcyB1cixGZyBhcyB1dCxKeSBhcyB2LFZpIGFzIHZpLFNkIGFzIHZuLFBjIGFzIHZyLHJnIGFzIHZ0LER5IGFzIHcsa2kgYXMgd2ksJHUgYXMgd24sZ3MgYXMgd3IsTGggYXMgd3QsSXkgYXMgeCxNaSBhcyB4aSx4ZCBhcyB4bix4cyBhcyB4cixvZyBhcyB4dCxNeSBhcyB5LEJpIGFzIHlpLGJkIGFzIHluLE1jIGFzIHlyLFZoIGFzIHl0LFZfIGFzIHosWG4gYXMgemksSHUgYXMgem4sTG8gYXMgenIsVXAgYXMgenR9OwovLyMgc291cmNlTWFwcGluZ1VSTD1zaGFyZWQtQ2dNQ0Fmb3IuanMubWFw"}},"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":"digitaltradeinvest.org/js/jquery.min.js","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.041Z","timestamp":1785129949041,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /js/jquery.min.js HTTP/1.1\r\nHost: digitaltradeinvest.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 30020\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 09:25:42 GMT\r\nlast-modified: Thu, 09 Oct 2025 21:44:33 GMT\r\netag: \"15d84-68e82cc1-62e7eebcb4c68b5c;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 234257\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 4d7b701da2e0d2fc2071f0a694e0e4de-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":89476,"size_decoded":30582,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (65450), with CRLF line terminators","md5":"9ac39dc31635a363e377eda0f6fbe03f","sha1":"29fa5ad995e9ec866ece1d3d0b698fc556580eee","sha256":"9a2723c21fb1b7dff0e2aa5dc6be24a9670220a17ae21f70fdbc602d1f8acd38","sha512":"0799ae01799707b444fca518c3af9b91fda40d0a2c114e84bc52bd1f756b5e0d60f6fd239f04bd4d5bc37b6cdbf02d299185cd62410f2a514a7b3bd4d60b49fc","ssdeep":"1536:/jExXUqrnxDjoXEZxkMV4SYSt0zvDD6ip3h8cApwEjOPrBeU6QLiTFbc0QlQvakV:/Yh8eip3huuf6IidlrvakdtQ47GKl","tlshash":"0693f9ddb2c6702257a720ba007f510bf236199d6c4d8450f265d8e9bcb8a4e827bf7d","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-08-14T19:41:13.337959Z","times_seen":7843,"resource_available":true,"data":"LyohIGpRdWVyeSB2My41LjEgfCAoYykgSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIHwganF1ZXJ5Lm9yZy9saWNlbnNlICovDQohZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZS5kb2N1bWVudD90KGUsITApOmZ1bmN0aW9uKGUpe2lmKCFlLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiB0KGUpfTp0KGUpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihDLGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1bXSxyPU9iamVjdC5nZXRQcm90b3R5cGVPZixzPXQuc2xpY2UsZz10LmZsYXQ/ZnVuY3Rpb24oZSl7cmV0dXJuIHQuZmxhdC5jYWxsKGUpfTpmdW5jdGlvbihlKXtyZXR1cm4gdC5jb25jYXQuYXBwbHkoW10sZSl9LHU9dC5wdXNoLGk9dC5pbmRleE9mLG49e30sbz1uLnRvU3RyaW5nLHY9bi5oYXNPd25Qcm9wZXJ0eSxhPXYudG9TdHJpbmcsbD1hLmNhbGwoT2JqZWN0KSx5PXt9LG09ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJiJudW1iZXIiIT10eXBlb2YgZS5ub2RlVHlwZX0seD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZSYmZT09PWUud2luZG93fSxFPUMuZG9jdW1lbnQsYz17dHlwZTohMCxzcmM6ITAsbm9uY2U6ITAsbm9Nb2R1bGU6ITB9O2Z1bmN0aW9uIGIoZSx0LG4pe3ZhciByLGksbz0obj1ufHxFKS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpZihvLnRleHQ9ZSx0KWZvcihyIGluIGMpKGk9dFtyXXx8dC5nZXRBdHRyaWJ1dGUmJnQuZ2V0QXR0cmlidXRlKHIpKSYmby5zZXRBdHRyaWJ1dGUocixpKTtuLmhlYWQuYXBwZW5kQ2hpbGQobykucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKX1mdW5jdGlvbiB3KGUpe3JldHVybiBudWxsPT1lP2UrIiI6Im9iamVjdCI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZT9uW28uY2FsbChlKV18fCJvYmplY3QiOnR5cGVvZiBlfXZhciBmPSIzLjUuMSIsUz1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgUy5mbi5pbml0KGUsdCl9O2Z1bmN0aW9uIHAoZSl7dmFyIHQ9ISFlJiYibGVuZ3RoImluIGUmJmUubGVuZ3RoLG49dyhlKTtyZXR1cm4hbShlKSYmIXgoZSkmJigiYXJyYXkiPT09bnx8MD09PXR8fCJudW1iZXIiPT10eXBlb2YgdCYmMDx0JiZ0LTEgaW4gZSl9Uy5mbj1TLnByb3RvdHlwZT17anF1ZXJ5OmYsY29uc3RydWN0b3I6UyxsZW5ndGg6MCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHMuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3MuY2FsbCh0aGlzKTplPDA/dGhpc1tlK3RoaXMubGVuZ3RoXTp0aGlzW2VdfSxwdXNoU3RhY2s6ZnVuY3Rpb24oZSl7dmFyIHQ9Uy5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksZSk7cmV0dXJuIHQucHJldk9iamVjdD10aGlzLHR9LGVhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIFMuZWFjaCh0aGlzLGUpfSxtYXA6ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMubWFwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gbi5jYWxsKGUsdCxlKX0pKX0sc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2socy5hcHBseSh0aGlzLGFyZ3VtZW50cykpfSxmaXJzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKDApfSxsYXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoLTEpfSxldmVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQrMSklMn0pKX0sb2RkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKFMuZ3JlcCh0aGlzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQlMn0pKX0sZXE6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5sZW5ndGgsbj0rZSsoZTwwP3Q6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKDA8PW4mJm48dD9bdGhpc1tuXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6dSxzb3J0OnQuc29ydCxzcGxpY2U6dC5zcGxpY2V9LFMuZXh0ZW5kPVMuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsaSxvLGE9YXJndW1lbnRzWzBdfHx7fSxzPTEsdT1hcmd1bWVudHMubGVuZ3RoLGw9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIGEmJihsPWEsYT1hcmd1bWVudHNbc118fHt9LHMrKyksIm9iamVjdCI9PXR5cGVvZiBhfHxtKGEpfHwoYT17fSkscz09PXUmJihhPXRoaXMscy0tKTtzPHU7cysrKWlmKG51bGwhPShlPWFyZ3VtZW50c1tzXSkpZm9yKHQgaW4gZSlyPWVbdF0sIl9fcHJvdG9fXyIhPT10JiZhIT09ciYmKGwmJnImJihTLmlzUGxhaW5PYmplY3Qocil8fChpPUFycmF5LmlzQXJyYXkocikpKT8obj1hW3RdLG89aSYmIUFycmF5LmlzQXJyYXkobik/W106aXx8Uy5pc1BsYWluT2JqZWN0KG4pP246e30saT0hMSxhW3RdPVMuZXh0ZW5kKGwsbyxyKSk6dm9pZCAwIT09ciYmKGFbdF09cikpO3JldHVybiBhfSxTLmV4dGVuZCh7ZXhwYW5kbzoialF1ZXJ5IisoZitNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCIiKSxpc1JlYWR5OiEwLGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0sbm9vcDpmdW5jdGlvbigpe30saXNQbGFpbk9iamVjdDpmdW5jdGlvbihlKXt2YXIgdCxuO3JldHVybiEoIWV8fCJbb2JqZWN0IE9iamVjdF0iIT09by5jYWxsKGUpKSYmKCEodD1yKGUpKXx8ImZ1bmN0aW9uIj09dHlwZW9mKG49di5jYWxsKHQsImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3IpJiZhLmNhbGwobik9PT1sKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlKXJldHVybiExO3JldHVybiEwfSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUsdCxuKXtiKGUse25vbmNlOnQmJnQubm9uY2V9LG4pfSxlYWNoOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wO2lmKHAoZSkpe2ZvcihuPWUubGVuZ3RoO3I8bjtyKyspaWYoITE9PT10LmNhbGwoZVtyXSxyLGVbcl0pKWJyZWFrfWVsc2UgZm9yKHIgaW4gZSlpZighMT09PXQuY2FsbChlW3JdLHIsZVtyXSkpYnJlYWs7cmV0dXJuIGV9LG1ha2VBcnJheTpmdW5jdGlvbihlLHQpe3ZhciBuPXR8fFtdO3JldHVybiBudWxsIT1lJiYocChPYmplY3QoZSkpP1MubWVyZ2Uobiwic3RyaW5nIj09dHlwZW9mIGU/W2VdOmUpOnUuY2FsbChuLGUpKSxufSxpbkFycmF5OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbnVsbD09dD8tMTppLmNhbGwodCxlLG4pfSxtZXJnZTpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0rdC5sZW5ndGgscj0wLGk9ZS5sZW5ndGg7cjxuO3IrKyllW2krK109dFtyXTtyZXR1cm4gZS5sZW5ndGg9aSxlfSxncmVwOmZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9W10saT0wLG89ZS5sZW5ndGgsYT0hbjtpPG87aSsrKSF0KGVbaV0saSkhPT1hJiZyLnB1c2goZVtpXSk7cmV0dXJuIHJ9LG1hcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPTAsYT1bXTtpZihwKGUpKWZvcihyPWUubGVuZ3RoO288cjtvKyspbnVsbCE9KGk9dChlW29dLG8sbikpJiZhLnB1c2goaSk7ZWxzZSBmb3IobyBpbiBlKW51bGwhPShpPXQoZVtvXSxvLG4pKSYmYS5wdXNoKGkpO3JldHVybiBnKGEpfSxndWlkOjEsc3VwcG9ydDp5fSksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKFMuZm5bU3ltYm9sLml0ZXJhdG9yXT10W1N5bWJvbC5pdGVyYXRvcl0pLFMuZWFjaCgiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCIgIiksZnVuY3Rpb24oZSx0KXtuWyJbb2JqZWN0ICIrdCsiXSJdPXQudG9Mb3dlckNhc2UoKX0pO3ZhciBkPWZ1bmN0aW9uKG4pe3ZhciBlLGQsYixvLGksaCxmLGcsdyx1LGwsVCxDLGEsRSx2LHMsYyx5LFM9InNpenpsZSIrMSpuZXcgRGF0ZSxwPW4uZG9jdW1lbnQsaz0wLHI9MCxtPXVlKCkseD11ZSgpLEE9dWUoKSxOPXVlKCksRD1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09dCYmKGw9ITApLDB9LGo9e30uaGFzT3duUHJvcGVydHksdD1bXSxxPXQucG9wLEw9dC5wdXNoLEg9dC5wdXNoLE89dC5zbGljZSxQPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKWlmKGVbbl09PT10KXJldHVybiBuO3JldHVybi0xfSxSPSJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZCIsTT0iW1xceDIwXFx0XFxyXFxuXFxmXSIsST0iKD86XFxcXFtcXGRhLWZBLUZdezEsNn0iK00rIj98XFxcXFteXFxyXFxuXFxmXXxbXFx3LV18W15cMC1cXHg3Zl0pKyIsVz0iXFxbIitNKyIqKCIrSSsiKSg/OiIrTSsiKihbKl4kfCF+XT89KSIrTSsiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiK0krIikpfCkiK00rIipcXF0iLEY9IjooIitJKyIpKD86XFwoKCgnKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IitXKyIpKil8LiopXFwpfCkiLEI9bmV3IFJlZ0V4cChNKyIrIiwiZyIpLCQ9bmV3IFJlZ0V4cCgiXiIrTSsiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIitNKyIrJCIsImciKSxfPW5ldyBSZWdFeHAoIl4iK00rIiosIitNKyIqIiksej1uZXcgUmVnRXhwKCJeIitNKyIqKFs+K35dfCIrTSsiKSIrTSsiKiIpLFU9bmV3IFJlZ0V4cChNKyJ8PiIpLFg9bmV3IFJlZ0V4cChGKSxWPW5ldyBSZWdFeHAoIl4iK0krIiQiKSxHPXtJRDpuZXcgUmVnRXhwKCJeIygiK0krIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrSSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrSSsifFsqXSkiKSxBVFRSOm5ldyBSZWdFeHAoIl4iK1cpLFBTRVVETzpuZXcgUmVnRXhwKCJeIitGKSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK00rIiooZXZlbnxvZGR8KChbKy1dfCkoXFxkKilufCkiK00rIiooPzooWystXXwpIitNKyIqKFxcZCspfCkpIitNKyIqXFwpfCkiLCJpIiksYm9vbDpuZXcgUmVnRXhwKCJeKD86IitSKyIpJCIsImkiKSxuZWVkc0NvbnRleHQ6bmV3IFJlZ0V4cCgiXiIrTSsiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFwoIitNKyIqKCg/Oi1cXGQpP1xcZCopIitNKyIqXFwpfCkoPz1bXi1dfCQpIiwiaSIpfSxZPS9IVE1MJC9pLFE9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxKPS9eaFxkJC9pLEs9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLFo9L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxlZT0vWyt+XS8sdGU9bmV3IFJlZ0V4cCgiXFxcXFtcXGRhLWZBLUZdezEsNn0iK00rIj98XFxcXChbXlxcclxcblxcZl0pIiwiZyIpLG5lPWZ1bmN0aW9uKGUsdCl7dmFyIG49IjB4IitlLnNsaWNlKDEpLTY1NTM2O3JldHVybiB0fHwobjwwP1N0cmluZy5mcm9tQ2hhckNvZGUobis2NTUzNik6U3RyaW5nLmZyb21DaGFyQ29kZShuPj4xMHw1NTI5NiwxMDIzJm58NTYzMjApKX0scmU9LyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15cMC1ceDFmXHg3Zi1cdUZGRkZcdy1dL2csaWU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD8iXDAiPT09ZT8iXHVmZmZkIjplLnNsaWNlKDAsLTEpKyJcXCIrZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpLnRvU3RyaW5nKDE2KSsiICI6IlxcIitlfSxvZT1mdW5jdGlvbigpe1QoKX0sYWU9YmUoZnVuY3Rpb24oZSl7cmV0dXJuITA9PT1lLmRpc2FibGVkJiYiZmllbGRzZXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfSx7ZGlyOiJwYXJlbnROb2RlIixuZXh0OiJsZWdlbmQifSk7dHJ5e0guYXBwbHkodD1PLmNhbGwocC5jaGlsZE5vZGVzKSxwLmNoaWxkTm9kZXMpLHRbcC5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZSl7SD17YXBwbHk6dC5sZW5ndGg/ZnVuY3Rpb24oZSx0KXtMLmFwcGx5KGUsTy5jYWxsKHQpKX06ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmxlbmd0aCxyPTA7d2hpbGUoZVtuKytdPXRbcisrXSk7ZS5sZW5ndGg9bi0xfX19ZnVuY3Rpb24gc2UodCxlLG4scil7dmFyIGksbyxhLHMsdSxsLGMsZj1lJiZlLm93bmVyRG9jdW1lbnQscD1lP2Uubm9kZVR5cGU6OTtpZihuPW58fFtdLCJzdHJpbmciIT10eXBlb2YgdHx8IXR8fDEhPT1wJiY5IT09cCYmMTEhPT1wKXJldHVybiBuO2lmKCFyJiYoVChlKSxlPWV8fEMsRSkpe2lmKDExIT09cCYmKHU9Wi5leGVjKHQpKSlpZihpPXVbMV0pe2lmKDk9PT1wKXtpZighKGE9ZS5nZXRFbGVtZW50QnlJZChpKSkpcmV0dXJuIG47aWYoYS5pZD09PWkpcmV0dXJuIG4ucHVzaChhKSxufWVsc2UgaWYoZiYmKGE9Zi5nZXRFbGVtZW50QnlJZChpKSkmJnkoZSxhKSYmYS5pZD09PWkpcmV0dXJuIG4ucHVzaChhKSxufWVsc2V7aWYodVsyXSlyZXR1cm4gSC5hcHBseShuLGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUodCkpLG47aWYoKGk9dVszXSkmJmQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KG4sZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGkpKSxufWlmKGQucXNhJiYhTlt0KyIgIl0mJighdnx8IXYudGVzdCh0KSkmJigxIT09cHx8Im9iamVjdCIhPT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpKXtpZihjPXQsZj1lLDE9PT1wJiYoVS50ZXN0KHQpfHx6LnRlc3QodCkpKXsoZj1lZS50ZXN0KHQpJiZ5ZShlLnBhcmVudE5vZGUpfHxlKT09PWUmJmQuc2NvcGV8fCgocz1lLmdldEF0dHJpYnV0ZSgiaWQiKSk/cz1zLnJlcGxhY2UocmUsaWUpOmUuc2V0QXR0cmlidXRlKCJpZCIscz1TKSksbz0obD1oKHQpKS5sZW5ndGg7d2hpbGUoby0tKWxbb109KHM/IiMiK3M6IjpzY29wZSIpKyIgIit4ZShsW29dKTtjPWwuam9pbigiLCIpfXRyeXtyZXR1cm4gSC5hcHBseShuLGYucXVlcnlTZWxlY3RvckFsbChjKSksbn1jYXRjaChlKXtOKHQsITApfWZpbmFsbHl7cz09PVMmJmUucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGcodC5yZXBsYWNlKCQsIiQxIiksZSxuLHIpfWZ1bmN0aW9uIHVlKCl7dmFyIHI9W107cmV0dXJuIGZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gci5wdXNoKHQrIiAiKT5iLmNhY2hlTGVuZ3RoJiZkZWxldGUgZVtyLnNoaWZ0KCldLGVbdCsiICJdPW59fWZ1bmN0aW9uIGxlKGUpe3JldHVybiBlW1NdPSEwLGV9ZnVuY3Rpb24gY2UoZSl7dmFyIHQ9Qy5jcmVhdGVFbGVtZW50KCJmaWVsZHNldCIpO3RyeXtyZXR1cm4hIWUodCl9Y2F0Y2goZSl7cmV0dXJuITF9ZmluYWxseXt0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0PW51bGx9fWZ1bmN0aW9uIGZlKGUsdCl7dmFyIG49ZS5zcGxpdCgifCIpLHI9bi5sZW5ndGg7d2hpbGUoci0tKWIuYXR0ckhhbmRsZVtuW3JdXT10fWZ1bmN0aW9uIHBlKGUsdCl7dmFyIG49dCYmZSxyPW4mJjE9PT1lLm5vZGVUeXBlJiYxPT09dC5ub2RlVHlwZSYmZS5zb3VyY2VJbmRleC10LnNvdXJjZUluZGV4O2lmKHIpcmV0dXJuIHI7aWYobil3aGlsZShuPW4ubmV4dFNpYmxpbmcpaWYobj09PXQpcmV0dXJuLTE7cmV0dXJuIGU/MTotMX1mdW5jdGlvbiBkZSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmZS50eXBlPT09dH19ZnVuY3Rpb24gaGUobil7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PXR8fCJidXR0b24iPT09dCkmJmUudHlwZT09PW59fWZ1bmN0aW9uIGdlKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4iZm9ybSJpbiBlP2UucGFyZW50Tm9kZSYmITE9PT1lLmRpc2FibGVkPyJsYWJlbCJpbiBlPyJsYWJlbCJpbiBlLnBhcmVudE5vZGU/ZS5wYXJlbnROb2RlLmRpc2FibGVkPT09dDplLmRpc2FibGVkPT09dDplLmlzRGlzYWJsZWQ9PT10fHxlLmlzRGlzYWJsZWQhPT0hdCYmYWUoZSk9PT10OmUuZGlzYWJsZWQ9PT10OiJsYWJlbCJpbiBlJiZlLmRpc2FibGVkPT09dH19ZnVuY3Rpb24gdmUoYSl7cmV0dXJuIGxlKGZ1bmN0aW9uKG8pe3JldHVybiBvPStvLGxlKGZ1bmN0aW9uKGUsdCl7dmFyIG4scj1hKFtdLGUubGVuZ3RoLG8pLGk9ci5sZW5ndGg7d2hpbGUoaS0tKWVbbj1yW2ldXSYmKGVbbl09ISh0W25dPWVbbl0pKX0pfSl9ZnVuY3Rpb24geWUoZSl7cmV0dXJuIGUmJiJ1bmRlZmluZWQiIT10eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZSYmZX1mb3IoZSBpbiBkPXNlLnN1cHBvcnQ9e30saT1zZS5pc1hNTD1mdW5jdGlvbihlKXt2YXIgdD1lLm5hbWVzcGFjZVVSSSxuPShlLm93bmVyRG9jdW1lbnR8fGUpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hWS50ZXN0KHR8fG4mJm4ubm9kZU5hbWV8fCJIVE1MIil9LFQ9c2Uuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbixyPWU/ZS5vd25lckRvY3VtZW50fHxlOnA7cmV0dXJuIHIhPUMmJjk9PT1yLm5vZGVUeXBlJiZyLmRvY3VtZW50RWxlbWVudCYmKGE9KEM9cikuZG9jdW1lbnRFbGVtZW50LEU9IWkoQykscCE9QyYmKG49Qy5kZWZhdWx0VmlldykmJm4udG9wIT09biYmKG4uYWRkRXZlbnRMaXN0ZW5lcj9uLmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsb2UsITEpOm4uYXR0YWNoRXZlbnQmJm4uYXR0YWNoRXZlbnQoIm9udW5sb2FkIixvZSkpLGQuc2NvcGU9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQoQy5jcmVhdGVFbGVtZW50KCJkaXYiKSksInVuZGVmaW5lZCIhPXR5cGVvZiBlLnF1ZXJ5U2VsZWN0b3JBbGwmJiFlLnF1ZXJ5U2VsZWN0b3JBbGwoIjpzY29wZSBmaWVsZHNldCBkaXYiKS5sZW5ndGh9KSxkLmF0dHJpYnV0ZXM9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2xhc3NOYW1lPSJpIiwhZS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksZC5nZXRFbGVtZW50c0J5VGFnTmFtZT1jZShmdW5jdGlvbihlKXtyZXR1cm4gZS5hcHBlbmRDaGlsZChDLmNyZWF0ZUNvbW1lbnQoIiIpKSwhZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1LLnRlc3QoQy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxkLmdldEJ5SWQ9Y2UoZnVuY3Rpb24oZSl7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoZSkuaWQ9UywhQy5nZXRFbGVtZW50c0J5TmFtZXx8IUMuZ2V0RWxlbWVudHNCeU5hbWUoUykubGVuZ3RofSksZC5nZXRCeUlkPyhiLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UodGUsbmUpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoImlkIik9PT10fX0sYi5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEVsZW1lbnRCeUlkJiZFKXt2YXIgbj10LmdldEVsZW1lbnRCeUlkKGUpO3JldHVybiBuP1tuXTpbXX19KTooYi5maWx0ZXIuSUQ9ZnVuY3Rpb24oZSl7dmFyIG49ZS5yZXBsYWNlKHRlLG5lKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9InVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEF0dHJpYnV0ZU5vZGUmJmUuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gdCYmdC52YWx1ZT09PW59fSxiLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudEJ5SWQmJkUpe3ZhciBuLHIsaSxvPXQuZ2V0RWxlbWVudEJ5SWQoZSk7aWYobyl7aWYoKG49by5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpKSYmbi52YWx1ZT09PWUpcmV0dXJuW29dO2k9dC5nZXRFbGVtZW50c0J5TmFtZShlKSxyPTA7d2hpbGUobz1pW3IrK10paWYoKG49by5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpKSYmbi52YWx1ZT09PWUpcmV0dXJuW29dfXJldHVybltdfX0pLGIuZmluZC5UQUc9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihlLHQpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgdC5nZXRFbGVtZW50c0J5VGFnTmFtZT90LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpOmQucXNhP3QucXVlcnlTZWxlY3RvckFsbChlKTp2b2lkIDB9OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxpPTAsbz10LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpO2lmKCIqIj09PWUpe3doaWxlKG49b1tpKytdKTE9PT1uLm5vZGVUeXBlJiZyLnB1c2gobik7cmV0dXJuIHJ9cmV0dXJuIG99LGIuZmluZC5DTEFTUz1kLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGUsdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJkUpcmV0dXJuIHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShlKX0scz1bXSx2PVtdLChkLnFzYT1LLnRlc3QoQy5xdWVyeVNlbGVjdG9yQWxsKSkmJihjZShmdW5jdGlvbihlKXt2YXIgdDthLmFwcGVuZENoaWxkKGUpLmlubmVySFRNTD0iPGEgaWQ9JyIrUysiJz48L2E+PHNlbGVjdCBpZD0nIitTKyItXHJcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD4iLGUucXVlcnlTZWxlY3RvckFsbCgiW21zYWxsb3djYXB0dXJlXj0nJ10iKS5sZW5ndGgmJnYucHVzaCgiWypeJF09IitNKyIqKD86Jyd8XCJcIikiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltzZWxlY3RlZF0iKS5sZW5ndGh8fHYucHVzaCgiXFxbIitNKyIqKD86dmFsdWV8IitSKyIpIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJbaWR+PSIrUysiLV0iKS5sZW5ndGh8fHYucHVzaCgifj0iKSwodD1DLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnNldEF0dHJpYnV0ZSgibmFtZSIsIiIpLGUuYXBwZW5kQ2hpbGQodCksZS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT0nJ10iKS5sZW5ndGh8fHYucHVzaCgiXFxbIitNKyIqbmFtZSIrTSsiKj0iK00rIiooPzonJ3xcIlwiKSIpLGUucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHYucHVzaCgiOmNoZWNrZWQiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIitTKyIrKiIpLmxlbmd0aHx8di5wdXNoKCIuIy4rWyt+XSIpLGUucXVlcnlTZWxlY3RvckFsbCgiXFxcZiIpLHYucHVzaCgiW1xcclxcblxcZl0iKX0pLGNlKGZ1bmN0aW9uKGUpe2UuaW5uZXJIVE1MPSI8YSBocmVmPScnIGRpc2FibGVkPSdkaXNhYmxlZCc+PC9hPjxzZWxlY3QgZGlzYWJsZWQ9J2Rpc2FibGVkJz48b3B0aW9uLz48L3NlbGVjdD4iO3ZhciB0PUMuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTt0LnNldEF0dHJpYnV0ZSgidHlwZSIsImhpZGRlbiIpLGUuYXBwZW5kQ2hpbGQodCkuc2V0QXR0cmlidXRlKCJuYW1lIiwiRCIpLGUucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9ZF0iKS5sZW5ndGgmJnYucHVzaCgibmFtZSIrTSsiKlsqXiR8IX5dPz0iKSwyIT09ZS5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aCYmdi5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLGEuYXBwZW5kQ2hpbGQoZSkuZGlzYWJsZWQ9ITAsMiE9PWUucXVlcnlTZWxlY3RvckFsbCgiOmRpc2FibGVkIikubGVuZ3RoJiZ2LnB1c2goIjplbmFibGVkIiwiOmRpc2FibGVkIiksZS5xdWVyeVNlbGVjdG9yQWxsKCIqLDp4Iiksdi5wdXNoKCIsLio6Iil9KSksKGQubWF0Y2hlc1NlbGVjdG9yPUsudGVzdChjPWEubWF0Y2hlc3x8YS53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fGEubW96TWF0Y2hlc1NlbGVjdG9yfHxhLm9NYXRjaGVzU2VsZWN0b3J8fGEubXNNYXRjaGVzU2VsZWN0b3IpKSYmY2UoZnVuY3Rpb24oZSl7ZC5kaXNjb25uZWN0ZWRNYXRjaD1jLmNhbGwoZSwiKiIpLGMuY2FsbChlLCJbcyE9JyddOngiKSxzLnB1c2goIiE9IixGKX0pLHY9di5sZW5ndGgmJm5ldyBSZWdFeHAodi5qb2luKCJ8IikpLHM9cy5sZW5ndGgmJm5ldyBSZWdFeHAocy5qb2luKCJ8IikpLHQ9Sy50ZXN0KGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24pLHk9dHx8Sy50ZXN0KGEuY29udGFpbnMpP2Z1bmN0aW9uKGUsdCl7dmFyIG49OT09PWUubm9kZVR5cGU/ZS5kb2N1bWVudEVsZW1lbnQ6ZSxyPXQmJnQucGFyZW50Tm9kZTtyZXR1cm4gZT09PXJ8fCEoIXJ8fDEhPT1yLm5vZGVUeXBlfHwhKG4uY29udGFpbnM/bi5jb250YWlucyhyKTplLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHIpKSl9OmZ1bmN0aW9uKGUsdCl7aWYodCl3aGlsZSh0PXQucGFyZW50Tm9kZSlpZih0PT09ZSlyZXR1cm4hMDtyZXR1cm4hMX0sRD10P2Z1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuIGw9ITAsMDt2YXIgbj0hZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gbnx8KDEmKG49KGUub3duZXJEb2N1bWVudHx8ZSk9PSh0Lm93bmVyRG9jdW1lbnR8fHQpP2UuY29tcGFyZURvY3VtZW50UG9zaXRpb24odCk6MSl8fCFkLnNvcnREZXRhY2hlZCYmdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKT09PW4/ZT09Q3x8ZS5vd25lckRvY3VtZW50PT1wJiZ5KHAsZSk/LTE6dD09Q3x8dC5vd25lckRvY3VtZW50PT1wJiZ5KHAsdCk/MTp1P1AodSxlKS1QKHUsdCk6MDo0Jm4/LTE6MSl9OmZ1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuIGw9ITAsMDt2YXIgbixyPTAsaT1lLnBhcmVudE5vZGUsbz10LnBhcmVudE5vZGUsYT1bZV0scz1bdF07aWYoIWl8fCFvKXJldHVybiBlPT1DPy0xOnQ9PUM/MTppPy0xOm8/MTp1P1AodSxlKS1QKHUsdCk6MDtpZihpPT09bylyZXR1cm4gcGUoZSx0KTtuPWU7d2hpbGUobj1uLnBhcmVudE5vZGUpYS51bnNoaWZ0KG4pO249dDt3aGlsZShuPW4ucGFyZW50Tm9kZSlzLnVuc2hpZnQobik7d2hpbGUoYVtyXT09PXNbcl0pcisrO3JldHVybiByP3BlKGFbcl0sc1tyXSk6YVtyXT09cD8tMTpzW3JdPT1wPzE6MH0pLEN9LHNlLm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gc2UoZSxudWxsLG51bGwsdCl9LHNlLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihlLHQpe2lmKFQoZSksZC5tYXRjaGVzU2VsZWN0b3ImJkUmJiFOW3QrIiAiXSYmKCFzfHwhcy50ZXN0KHQpKSYmKCF2fHwhdi50ZXN0KHQpKSl0cnl7dmFyIG49Yy5jYWxsKGUsdCk7aWYobnx8ZC5kaXNjb25uZWN0ZWRNYXRjaHx8ZS5kb2N1bWVudCYmMTEhPT1lLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBufWNhdGNoKGUpe04odCwhMCl9cmV0dXJuIDA8c2UodCxDLG51bGwsW2VdKS5sZW5ndGh9LHNlLmNvbnRhaW5zPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKGUub3duZXJEb2N1bWVudHx8ZSkhPUMmJlQoZSkseShlLHQpfSxzZS5hdHRyPWZ1bmN0aW9uKGUsdCl7KGUub3duZXJEb2N1bWVudHx8ZSkhPUMmJlQoZSk7dmFyIG49Yi5hdHRySGFuZGxlW3QudG9Mb3dlckNhc2UoKV0scj1uJiZqLmNhbGwoYi5hdHRySGFuZGxlLHQudG9Mb3dlckNhc2UoKSk/bihlLHQsIUUpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09cj9yOmQuYXR0cmlidXRlc3x8IUU/ZS5nZXRBdHRyaWJ1dGUodCk6KHI9ZS5nZXRBdHRyaWJ1dGVOb2RlKHQpKSYmci5zcGVjaWZpZWQ/ci52YWx1ZTpudWxsfSxzZS5lc2NhcGU9ZnVuY3Rpb24oZSl7cmV0dXJuKGUrIiIpLnJlcGxhY2UocmUsaWUpfSxzZS5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrZSl9LHNlLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7dmFyIHQsbj1bXSxyPTAsaT0wO2lmKGw9IWQuZGV0ZWN0RHVwbGljYXRlcyx1PSFkLnNvcnRTdGFibGUmJmUuc2xpY2UoMCksZS5zb3J0KEQpLGwpe3doaWxlKHQ9ZVtpKytdKXQ9PT1lW2ldJiYocj1uLnB1c2goaSkpO3doaWxlKHItLSllLnNwbGljZShuW3JdLDEpfXJldHVybiB1PW51bGwsZX0sbz1zZS5nZXRUZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LG49IiIscj0wLGk9ZS5ub2RlVHlwZTtpZihpKXtpZigxPT09aXx8OT09PWl8fDExPT09aSl7aWYoInN0cmluZyI9PXR5cGVvZiBlLnRleHRDb250ZW50KXJldHVybiBlLnRleHRDb250ZW50O2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZyluKz1vKGUpfWVsc2UgaWYoMz09PWl8fDQ9PT1pKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIHdoaWxlKHQ9ZVtyKytdKW4rPW8odCk7cmV0dXJuIG59LChiPXNlLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOmxlLG1hdGNoOkcsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOnsiPiI6e2RpcjoicGFyZW50Tm9kZSIsZmlyc3Q6ITB9LCIgIjp7ZGlyOiJwYXJlbnROb2RlIn0sIisiOntkaXI6InByZXZpb3VzU2libGluZyIsZmlyc3Q6ITB9LCJ+Ijp7ZGlyOiJwcmV2aW91c1NpYmxpbmcifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0ucmVwbGFjZSh0ZSxuZSksZVszXT0oZVszXXx8ZVs0XXx8ZVs1XXx8IiIpLnJlcGxhY2UodGUsbmUpLCJ+PSI9PT1lWzJdJiYoZVszXT0iICIrZVszXSsiICIpLGUuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS50b0xvd2VyQ2FzZSgpLCJudGgiPT09ZVsxXS5zbGljZSgwLDMpPyhlWzNdfHxzZS5lcnJvcihlWzBdKSxlWzRdPSsoZVs0XT9lWzVdKyhlWzZdfHwxKToyKigiZXZlbiI9PT1lWzNdfHwib2RkIj09PWVbM10pKSxlWzVdPSsoZVs3XStlWzhdfHwib2RkIj09PWVbM10pKTplWzNdJiZzZS5lcnJvcihlWzBdKSxlfSxQU0VVRE86ZnVuY3Rpb24oZSl7dmFyIHQsbj0hZVs2XSYmZVsyXTtyZXR1cm4gRy5DSElMRC50ZXN0KGVbMF0pP251bGw6KGVbM10/ZVsyXT1lWzRdfHxlWzVdfHwiIjpuJiZYLnRlc3QobikmJih0PWgobiwhMCkpJiYodD1uLmluZGV4T2YoIikiLG4ubGVuZ3RoLXQpLW4ubGVuZ3RoKSYmKGVbMF09ZVswXS5zbGljZSgwLHQpLGVbMl09bi5zbGljZSgwLHQpKSxlLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKHRlLG5lKS50b0xvd2VyQ2FzZSgpO3JldHVybiIqIj09PWU/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXR9fSxDTEFTUzpmdW5jdGlvbihlKXt2YXIgdD1tW2UrIiAiXTtyZXR1cm4gdHx8KHQ9bmV3IFJlZ0V4cCgiKF58IitNKyIpIitlKyIoIitNKyJ8JCkiKSkmJm0oZSxmdW5jdGlvbihlKXtyZXR1cm4gdC50ZXN0KCJzdHJpbmciPT10eXBlb2YgZS5jbGFzc05hbWUmJmUuY2xhc3NOYW1lfHwidW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpfSl9LEFUVFI6ZnVuY3Rpb24obixyLGkpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1zZS5hdHRyKGUsbik7cmV0dXJuIG51bGw9PXQ/IiE9Ij09PXI6IXJ8fCh0Kz0iIiwiPSI9PT1yP3Q9PT1pOiIhPSI9PT1yP3QhPT1pOiJePSI9PT1yP2kmJjA9PT10LmluZGV4T2YoaSk6Iio9Ij09PXI/aSYmLTE8dC5pbmRleE9mKGkpOiIkPSI9PT1yP2kmJnQuc2xpY2UoLWkubGVuZ3RoKT09PWk6In49Ij09PXI/LTE8KCIgIit0LnJlcGxhY2UoQiwiICIpKyIgIikuaW5kZXhPZihpKToifD0iPT09ciYmKHQ9PT1pfHx0LnNsaWNlKDAsaS5sZW5ndGgrMSk9PT1pKyItIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oaCxlLHQsZyx2KXt2YXIgeT0ibnRoIiE9PWguc2xpY2UoMCwzKSxtPSJsYXN0IiE9PWguc2xpY2UoLTQpLHg9Im9mLXR5cGUiPT09ZTtyZXR1cm4gMT09PWcmJjA9PT12P2Z1bmN0aW9uKGUpe3JldHVybiEhZS5wYXJlbnROb2RlfTpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGw9eSE9PW0/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixjPWUucGFyZW50Tm9kZSxmPXgmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxwPSFuJiYheCxkPSExO2lmKGMpe2lmKHkpe3doaWxlKGwpe2E9ZTt3aGlsZShhPWFbbF0paWYoeD9hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1mOjE9PT1hLm5vZGVUeXBlKXJldHVybiExO3U9bD0ib25seSI9PT1oJiYhdSYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZih1PVttP2MuZmlyc3RDaGlsZDpjLmxhc3RDaGlsZF0sbSYmcCl7ZD0ocz0ocj0oaT0obz0oYT1jKVtTXXx8KGFbU109e30pKVthLnVuaXF1ZUlEXXx8KG9bYS51bmlxdWVJRF09e30pKVtoXXx8W10pWzBdPT09ayYmclsxXSkmJnJbMl0sYT1zJiZjLmNoaWxkTm9kZXNbc107d2hpbGUoYT0rK3MmJmEmJmFbbF18fChkPXM9MCl8fHUucG9wKCkpaWYoMT09PWEubm9kZVR5cGUmJisrZCYmYT09PWUpe2lbaF09W2sscyxkXTticmVha319ZWxzZSBpZihwJiYoZD1zPShyPShpPShvPShhPWUpW1NdfHwoYVtTXT17fSkpW2EudW5pcXVlSURdfHwob1thLnVuaXF1ZUlEXT17fSkpW2hdfHxbXSlbMF09PT1rJiZyWzFdKSwhMT09PWQpd2hpbGUoYT0rK3MmJmEmJmFbbF18fChkPXM9MCl8fHUucG9wKCkpaWYoKHg/YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ZjoxPT09YS5ub2RlVHlwZSkmJisrZCYmKHAmJigoaT0obz1hW1NdfHwoYVtTXT17fSkpW2EudW5pcXVlSURdfHwob1thLnVuaXF1ZUlEXT17fSkpW2hdPVtrLGRdKSxhPT09ZSkpYnJlYWs7cmV0dXJuKGQtPXYpPT09Z3x8ZCVnPT0wJiYwPD1kL2d9fX0sUFNFVURPOmZ1bmN0aW9uKGUsbyl7dmFyIHQsYT1iLnBzZXVkb3NbZV18fGIuc2V0RmlsdGVyc1tlLnRvTG93ZXJDYXNlKCldfHxzZS5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiK2UpO3JldHVybiBhW1NdP2Eobyk6MTxhLmxlbmd0aD8odD1bZSxlLCIiLG9dLGIuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eShlLnRvTG93ZXJDYXNlKCkpP2xlKGZ1bmN0aW9uKGUsdCl7dmFyIG4scj1hKGUsbyksaT1yLmxlbmd0aDt3aGlsZShpLS0pZVtuPVAoZSxyW2ldKV09ISh0W25dPXJbaV0pfSk6ZnVuY3Rpb24oZSl7cmV0dXJuIGEoZSwwLHQpfSk6YX19LHBzZXVkb3M6e25vdDpsZShmdW5jdGlvbihlKXt2YXIgcj1bXSxpPVtdLHM9ZihlLnJlcGxhY2UoJCwiJDEiKSk7cmV0dXJuIHNbU10/bGUoZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbz1zKGUsbnVsbCxyLFtdKSxhPWUubGVuZ3RoO3doaWxlKGEtLSkoaT1vW2FdKSYmKGVbYV09ISh0W2FdPWkpKX0pOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gclswXT1lLHMocixudWxsLG4saSksclswXT1udWxsLCFpLnBvcCgpfX0pLGhhczpsZShmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIDA8c2UodCxlKS5sZW5ndGh9fSksY29udGFpbnM6bGUoZnVuY3Rpb24odCl7cmV0dXJuIHQ9dC5yZXBsYWNlKHRlLG5lKSxmdW5jdGlvbihlKXtyZXR1cm4tMTwoZS50ZXh0Q29udGVudHx8byhlKSkuaW5kZXhPZih0KX19KSxsYW5nOmxlKGZ1bmN0aW9uKG4pe3JldHVybiBWLnRlc3Qobnx8IiIpfHxzZS5lcnJvcigidW5zdXBwb3J0ZWQgbGFuZzogIituKSxuPW4ucmVwbGFjZSh0ZSxuZSkudG9Mb3dlckNhc2UoKSxmdW5jdGlvbihlKXt2YXIgdDtkb3tpZih0PUU/ZS5sYW5nOmUuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpfHxlLmdldEF0dHJpYnV0ZSgibGFuZyIpKXJldHVybih0PXQudG9Mb3dlckNhc2UoKSk9PT1ufHwwPT09dC5pbmRleE9mKG4rIi0iKX13aGlsZSgoZT1lLnBhcmVudE5vZGUpJiYxPT09ZS5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGUpe3ZhciB0PW4ubG9jYXRpb24mJm4ubG9jYXRpb24uaGFzaDtyZXR1cm4gdCYmdC5zbGljZSgxKT09PWUuaWR9LHJvb3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1hfSxmb2N1czpmdW5jdGlvbihlKXtyZXR1cm4gZT09PUMuYWN0aXZlRWxlbWVudCYmKCFDLmhhc0ZvY3VzfHxDLmhhc0ZvY3VzKCkpJiYhIShlLnR5cGV8fGUuaHJlZnx8fmUudGFiSW5kZXgpfSxlbmFibGVkOmdlKCExKSxkaXNhYmxlZDpnZSghMCksY2hlY2tlZDpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiEhZS5jaGVja2VkfHwib3B0aW9uIj09PXQmJiEhZS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsITA9PT1lLnNlbGVjdGVkfSxlbXB0eTpmdW5jdGlvbihlKXtmb3IoZT1lLmZpcnN0Q2hpbGQ7ZTtlPWUubmV4dFNpYmxpbmcpaWYoZS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIWIucHNldWRvcy5lbXB0eShlKX0saGVhZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBKLnRlc3QoZS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybiBRLnRlc3QoZS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihlKXt2YXIgdD1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PXQmJiJidXR0b24iPT09ZS50eXBlfHwiYnV0dG9uIj09PXR9LHRleHQ6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09ZS50eXBlJiYobnVsbD09KHQ9ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PXQudG9Mb3dlckNhc2UoKSl9LGZpcnN0OnZlKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDp2ZShmdW5jdGlvbihlLHQpe3JldHVyblt0LTFdfSksZXE6dmUoZnVuY3Rpb24oZSx0LG4pe3JldHVybltuPDA/bit0Om5dfSksZXZlbjp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0wO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLG9kZDp2ZShmdW5jdGlvbihlLHQpe2Zvcih2YXIgbj0xO248dDtuKz0yKWUucHVzaChuKTtyZXR1cm4gZX0pLGx0OnZlKGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9bjwwP24rdDp0PG4/dDpuOzA8PS0tcjspZS5wdXNoKHIpO3JldHVybiBlfSksZ3Q6dmUoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/bit0Om47KytyPHQ7KWUucHVzaChyKTtyZXR1cm4gZX0pfX0pLnBzZXVkb3MubnRoPWIucHNldWRvcy5lcSx7cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pYi5wc2V1ZG9zW2VdPWRlKGUpO2ZvcihlIGlue3N1Ym1pdDohMCxyZXNldDohMH0pYi5wc2V1ZG9zW2VdPWhlKGUpO2Z1bmN0aW9uIG1lKCl7fWZ1bmN0aW9uIHhlKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGgscj0iIjt0PG47dCsrKXIrPWVbdF0udmFsdWU7cmV0dXJuIHJ9ZnVuY3Rpb24gYmUocyxlLHQpe3ZhciB1PWUuZGlyLGw9ZS5uZXh0LGM9bHx8dSxmPXQmJiJwYXJlbnROb2RlIj09PWMscD1yKys7cmV0dXJuIGUuZmlyc3Q/ZnVuY3Rpb24oZSx0LG4pe3doaWxlKGU9ZVt1XSlpZigxPT09ZS5ub2RlVHlwZXx8ZilyZXR1cm4gcyhlLHQsbik7cmV0dXJuITF9OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYT1bayxwXTtpZihuKXt3aGlsZShlPWVbdV0paWYoKDE9PT1lLm5vZGVUeXBlfHxmKSYmcyhlLHQsbikpcmV0dXJuITB9ZWxzZSB3aGlsZShlPWVbdV0paWYoMT09PWUubm9kZVR5cGV8fGYpaWYoaT0obz1lW1NdfHwoZVtTXT17fSkpW2UudW5pcXVlSURdfHwob1tlLnVuaXF1ZUlEXT17fSksbCYmbD09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSllPWVbdV18fGU7ZWxzZXtpZigocj1pW2NdKSYmclswXT09PWsmJnJbMV09PT1wKXJldHVybiBhWzJdPXJbMl07aWYoKGlbY109YSlbMl09cyhlLHQsbikpcmV0dXJuITB9cmV0dXJuITF9fWZ1bmN0aW9uIHdlKGkpe3JldHVybiAxPGkubGVuZ3RoP2Z1bmN0aW9uKGUsdCxuKXt2YXIgcj1pLmxlbmd0aDt3aGlsZShyLS0paWYoIWlbcl0oZSx0LG4pKXJldHVybiExO3JldHVybiEwfTppWzBdfWZ1bmN0aW9uIFRlKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGE9W10scz0wLHU9ZS5sZW5ndGgsbD1udWxsIT10O3M8dTtzKyspKG89ZVtzXSkmJihuJiYhbihvLHIsaSl8fChhLnB1c2gobyksbCYmdC5wdXNoKHMpKSk7cmV0dXJuIGF9ZnVuY3Rpb24gQ2UoZCxoLGcsdix5LGUpe3JldHVybiB2JiYhdltTXSYmKHY9Q2UodikpLHkmJiF5W1NdJiYoeT1DZSh5LGUpKSxsZShmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscz1bXSx1PVtdLGw9dC5sZW5ndGgsYz1lfHxmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPTAsaT10Lmxlbmd0aDtyPGk7cisrKXNlKGUsdFtyXSxuKTtyZXR1cm4gbn0oaHx8IioiLG4ubm9kZVR5cGU/W25dOm4sW10pLGY9IWR8fCFlJiZoP2M6VGUoYyxzLGQsbixyKSxwPWc/eXx8KGU/ZDpsfHx2KT9bXTp0OmY7aWYoZyYmZyhmLHAsbixyKSx2KXtpPVRlKHAsdSksdihpLFtdLG4sciksbz1pLmxlbmd0aDt3aGlsZShvLS0pKGE9aVtvXSkmJihwW3Vbb11dPSEoZlt1W29dXT1hKSl9aWYoZSl7aWYoeXx8ZCl7aWYoeSl7aT1bXSxvPXAubGVuZ3RoO3doaWxlKG8tLSkoYT1wW29dKSYmaS5wdXNoKGZbb109YSk7eShudWxsLHA9W10saSxyKX1vPXAubGVuZ3RoO3doaWxlKG8tLSkoYT1wW29dKSYmLTE8KGk9eT9QKGUsYSk6c1tvXSkmJihlW2ldPSEodFtpXT1hKSl9fWVsc2UgcD1UZShwPT09dD9wLnNwbGljZShsLHAubGVuZ3RoKTpwKSx5P3kobnVsbCx0LHAscik6SC5hcHBseSh0LHApfSl9ZnVuY3Rpb24gRWUoZSl7Zm9yKHZhciBpLHQsbixyPWUubGVuZ3RoLG89Yi5yZWxhdGl2ZVtlWzBdLnR5cGVdLGE9b3x8Yi5yZWxhdGl2ZVsiICJdLHM9bz8xOjAsdT1iZShmdW5jdGlvbihlKXtyZXR1cm4gZT09PWl9LGEsITApLGw9YmUoZnVuY3Rpb24oZSl7cmV0dXJuLTE8UChpLGUpfSxhLCEwKSxjPVtmdW5jdGlvbihlLHQsbil7dmFyIHI9IW8mJihufHx0IT09dyl8fCgoaT10KS5ub2RlVHlwZT91KGUsdCxuKTpsKGUsdCxuKSk7cmV0dXJuIGk9bnVsbCxyfV07czxyO3MrKylpZih0PWIucmVsYXRpdmVbZVtzXS50eXBlXSljPVtiZSh3ZShjKSx0KV07ZWxzZXtpZigodD1iLmZpbHRlcltlW3NdLnR5cGVdLmFwcGx5KG51bGwsZVtzXS5tYXRjaGVzKSlbU10pe2ZvcihuPSsrcztuPHI7bisrKWlmKGIucmVsYXRpdmVbZVtuXS50eXBlXSlicmVhaztyZXR1cm4gQ2UoMTxzJiZ3ZShjKSwxPHMmJnhlKGUuc2xpY2UoMCxzLTEpLmNvbmNhdCh7dmFsdWU6IiAiPT09ZVtzLTJdLnR5cGU/IioiOiIifSkpLnJlcGxhY2UoJCwiJDEiKSx0LHM8biYmRWUoZS5zbGljZShzLG4pKSxuPHImJkVlKGU9ZS5zbGljZShuKSksbjxyJiZ4ZShlKSl9Yy5wdXNoKHQpfXJldHVybiB3ZShjKX1yZXR1cm4gbWUucHJvdG90eXBlPWIuZmlsdGVycz1iLnBzZXVkb3MsYi5zZXRGaWx0ZXJzPW5ldyBtZSxoPXNlLnRva2VuaXplPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzLHUsbD14W2UrIiAiXTtpZihsKXJldHVybiB0PzA6bC5zbGljZSgwKTthPWUscz1bXSx1PWIucHJlRmlsdGVyO3doaWxlKGEpe2ZvcihvIGluIG4mJiEocj1fLmV4ZWMoYSkpfHwociYmKGE9YS5zbGljZShyWzBdLmxlbmd0aCl8fGEpLHMucHVzaChpPVtdKSksbj0hMSwocj16LmV4ZWMoYSkpJiYobj1yLnNoaWZ0KCksaS5wdXNoKHt2YWx1ZTpuLHR5cGU6clswXS5yZXBsYWNlKCQsIiAiKX0pLGE9YS5zbGljZShuLmxlbmd0aCkpLGIuZmlsdGVyKSEocj1HW29dLmV4ZWMoYSkpfHx1W29dJiYhKHI9dVtvXShyKSl8fChuPXIuc2hpZnQoKSxpLnB1c2goe3ZhbHVlOm4sdHlwZTpvLG1hdGNoZXM6cn0pLGE9YS5zbGljZShuLmxlbmd0aCkpO2lmKCFuKWJyZWFrfXJldHVybiB0P2EubGVuZ3RoOmE/c2UuZXJyb3IoZSk6eChlLHMpLnNsaWNlKDApfSxmPXNlLmNvbXBpbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbix2LHksbSx4LHIsaT1bXSxvPVtdLGE9QVtlKyIgIl07aWYoIWEpe3R8fCh0PWgoZSkpLG49dC5sZW5ndGg7d2hpbGUobi0tKShhPUVlKHRbbl0pKVtTXT9pLnB1c2goYSk6by5wdXNoKGEpOyhhPUEoZSwodj1vLG09MDwoeT1pKS5sZW5ndGgseD0wPHYubGVuZ3RoLHI9ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbyxhLHMsdT0wLGw9IjAiLGM9ZSYmW10sZj1bXSxwPXcsZD1lfHx4JiZiLmZpbmQuVEFHKCIqIixpKSxoPWsrPW51bGw9PXA/MTpNYXRoLnJhbmRvbSgpfHwuMSxnPWQubGVuZ3RoO2ZvcihpJiYodz10PT1DfHx0fHxpKTtsIT09ZyYmbnVsbCE9KG89ZFtsXSk7bCsrKXtpZih4JiZvKXthPTAsdHx8by5vd25lckRvY3VtZW50PT1DfHwoVChvKSxuPSFFKTt3aGlsZShzPXZbYSsrXSlpZihzKG8sdHx8QyxuKSl7ci5wdXNoKG8pO2JyZWFrfWkmJihrPWgpfW0mJigobz0hcyYmbykmJnUtLSxlJiZjLnB1c2gobykpfWlmKHUrPWwsbSYmbCE9PXUpe2E9MDt3aGlsZShzPXlbYSsrXSlzKGMsZix0LG4pO2lmKGUpe2lmKDA8dSl3aGlsZShsLS0pY1tsXXx8ZltsXXx8KGZbbF09cS5jYWxsKHIpKTtmPVRlKGYpfUguYXBwbHkocixmKSxpJiYhZSYmMDxmLmxlbmd0aCYmMTx1K3kubGVuZ3RoJiZzZS51bmlxdWVTb3J0KHIpfXJldHVybiBpJiYoaz1oLHc9cCksY30sbT9sZShyKTpyKSkpLnNlbGVjdG9yPWV9cmV0dXJuIGF9LGc9c2Uuc2VsZWN0PWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHUsbD0iZnVuY3Rpb24iPT10eXBlb2YgZSYmZSxjPSFyJiZoKGU9bC5zZWxlY3Rvcnx8ZSk7aWYobj1ufHxbXSwxPT09Yy5sZW5ndGgpe2lmKDI8KG89Y1swXT1jWzBdLnNsaWNlKDApKS5sZW5ndGgmJiJJRCI9PT0oYT1vWzBdKS50eXBlJiY5PT09dC5ub2RlVHlwZSYmRSYmYi5yZWxhdGl2ZVtvWzFdLnR5cGVdKXtpZighKHQ9KGIuZmluZC5JRChhLm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSxuZSksdCl8fFtdKVswXSkpcmV0dXJuIG47bCYmKHQ9dC5wYXJlbnROb2RlKSxlPWUuc2xpY2Uoby5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9aT1HLm5lZWRzQ29udGV4dC50ZXN0KGUpPzA6by5sZW5ndGg7d2hpbGUoaS0tKXtpZihhPW9baV0sYi5yZWxhdGl2ZVtzPWEudHlwZV0pYnJlYWs7aWYoKHU9Yi5maW5kW3NdKSYmKHI9dShhLm1hdGNoZXNbMF0ucmVwbGFjZSh0ZSxuZSksZWUudGVzdChvWzBdLnR5cGUpJiZ5ZSh0LnBhcmVudE5vZGUpfHx0KSkpe2lmKG8uc3BsaWNlKGksMSksIShlPXIubGVuZ3RoJiZ4ZShvKSkpcmV0dXJuIEguYXBwbHkobixyKSxuO2JyZWFrfX19cmV0dXJuKGx8fGYoZSxjKSkocix0LCFFLG4sIXR8fGVlLnRlc3QoZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpLG59LGQuc29ydFN0YWJsZT1TLnNwbGl0KCIiKS5zb3J0KEQpLmpvaW4oIiIpPT09UyxkLmRldGVjdER1cGxpY2F0ZXM9ISFsLFQoKSxkLnNvcnREZXRhY2hlZD1jZShmdW5jdGlvbihlKXtyZXR1cm4gMSZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKEMuY3JlYXRlRWxlbWVudCgiZmllbGRzZXQiKSl9KSxjZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4iLCIjIj09PWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKX0pfHxmZSgidHlwZXxocmVmfGhlaWdodHx3aWR0aCIsZnVuY3Rpb24oZSx0LG4pe2lmKCFuKXJldHVybiBlLmdldEF0dHJpYnV0ZSh0LCJ0eXBlIj09PXQudG9Mb3dlckNhc2UoKT8xOjIpfSksZC5hdHRyaWJ1dGVzJiZjZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxpbnB1dC8+IixlLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLCIiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgidmFsdWUiKX0pfHxmZSgidmFsdWUiLGZ1bmN0aW9uKGUsdCxuKXtpZighbiYmImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlyZXR1cm4gZS5kZWZhdWx0VmFsdWV9KSxjZShmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZS5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIil9KXx8ZmUoUixmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoIW4pcmV0dXJuITA9PT1lW3RdP3QudG9Mb3dlckNhc2UoKToocj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiZyLnNwZWNpZmllZD9yLnZhbHVlOm51bGx9KSxzZX0oQyk7Uy5maW5kPWQsUy5leHByPWQuc2VsZWN0b3JzLFMuZXhwclsiOiJdPVMuZXhwci5wc2V1ZG9zLFMudW5pcXVlU29ydD1TLnVuaXF1ZT1kLnVuaXF1ZVNvcnQsUy50ZXh0PWQuZ2V0VGV4dCxTLmlzWE1MRG9jPWQuaXNYTUwsUy5jb250YWlucz1kLmNvbnRhaW5zLFMuZXNjYXBlU2VsZWN0b3I9ZC5lc2NhcGU7dmFyIGg9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPVtdLGk9dm9pZCAwIT09bjt3aGlsZSgoZT1lW3RdKSYmOSE9PWUubm9kZVR5cGUpaWYoMT09PWUubm9kZVR5cGUpe2lmKGkmJlMoZSkuaXMobikpYnJlYWs7ci5wdXNoKGUpfXJldHVybiByfSxUPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtdO2U7ZT1lLm5leHRTaWJsaW5nKTE9PT1lLm5vZGVUeXBlJiZlIT09dCYmbi5wdXNoKGUpO3JldHVybiBufSxrPVMuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQ7ZnVuY3Rpb24gQShlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10LnRvTG93ZXJDYXNlKCl9dmFyIE49L148KFthLXpdW15cL1wwPjpceDIwXHRcclxuXGZdKilbXHgyMFx0XHJcblxmXSpcLz8+KD86PFwvXDE+fCkkL2k7ZnVuY3Rpb24gRChlLG4scil7cmV0dXJuIG0obik/Uy5ncmVwKGUsZnVuY3Rpb24oZSx0KXtyZXR1cm4hIW4uY2FsbChlLHQsZSkhPT1yfSk6bi5ub2RlVHlwZT9TLmdyZXAoZSxmdW5jdGlvbihlKXtyZXR1cm4gZT09PW4hPT1yfSk6InN0cmluZyIhPXR5cGVvZiBuP1MuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybi0xPGkuY2FsbChuLGUpIT09cn0pOlMuZmlsdGVyKG4sZSxyKX1TLmZpbHRlcj1mdW5jdGlvbihlLHQsbil7dmFyIHI9dFswXTtyZXR1cm4gbiYmKGU9Ijpub3QoIitlKyIpIiksMT09PXQubGVuZ3RoJiYxPT09ci5ub2RlVHlwZT9TLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHIsZSk/W3JdOltdOlMuZmluZC5tYXRjaGVzKGUsUy5ncmVwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlfSkpfSxTLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihlKXt2YXIgdCxuLHI9dGhpcy5sZW5ndGgsaT10aGlzO2lmKCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gdGhpcy5wdXNoU3RhY2soUyhlKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodD0wO3Q8cjt0KyspaWYoUy5jb250YWlucyhpW3RdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihuPXRoaXMucHVzaFN0YWNrKFtdKSx0PTA7dDxyO3QrKylTLmZpbmQoZSxpW3RdLG4pO3JldHVybiAxPHI/Uy51bmlxdWVTb3J0KG4pOm59LGZpbHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soRCh0aGlzLGV8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soRCh0aGlzLGV8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGUpe3JldHVybiEhRCh0aGlzLCJzdHJpbmciPT10eXBlb2YgZSYmay50ZXN0KGUpP1MoZSk6ZXx8W10sITEpLmxlbmd0aH19KTt2YXIgaixxPS9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKykpJC87KFMuZm4uaW5pdD1mdW5jdGlvbihlLHQsbil7dmFyIHIsaTtpZighZSlyZXR1cm4gdGhpcztpZihuPW58fGosInN0cmluZyI9PXR5cGVvZiBlKXtpZighKHI9IjwiPT09ZVswXSYmIj4iPT09ZVtlLmxlbmd0aC0xXSYmMzw9ZS5sZW5ndGg/W251bGwsZSxudWxsXTpxLmV4ZWMoZSkpfHwhclsxXSYmdClyZXR1cm4hdHx8dC5qcXVlcnk/KHR8fG4pLmZpbmQoZSk6dGhpcy5jb25zdHJ1Y3Rvcih0KS5maW5kKGUpO2lmKHJbMV0pe2lmKHQ9dCBpbnN0YW5jZW9mIFM/dFswXTp0LFMubWVyZ2UodGhpcyxTLnBhcnNlSFRNTChyWzFdLHQmJnQubm9kZVR5cGU/dC5vd25lckRvY3VtZW50fHx0OkUsITApKSxOLnRlc3QoclsxXSkmJlMuaXNQbGFpbk9iamVjdCh0KSlmb3IociBpbiB0KW0odGhpc1tyXSk/dGhpc1tyXSh0W3JdKTp0aGlzLmF0dHIocix0W3JdKTtyZXR1cm4gdGhpc31yZXR1cm4oaT1FLmdldEVsZW1lbnRCeUlkKHJbMl0pKSYmKHRoaXNbMF09aSx0aGlzLmxlbmd0aD0xKSx0aGlzfXJldHVybiBlLm5vZGVUeXBlPyh0aGlzWzBdPWUsdGhpcy5sZW5ndGg9MSx0aGlzKTptKGUpP3ZvaWQgMCE9PW4ucmVhZHk/bi5yZWFkeShlKTplKFMpOlMubWFrZUFycmF5KGUsdGhpcyl9KS5wcm90b3R5cGU9Uy5mbixqPVMoRSk7dmFyIEw9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sSD17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtmdW5jdGlvbiBPKGUsdCl7d2hpbGUoKGU9ZVt0XSkmJjEhPT1lLm5vZGVUeXBlKTtyZXR1cm4gZX1TLmZuLmV4dGVuZCh7aGFzOmZ1bmN0aW9uKGUpe3ZhciB0PVMoZSx0aGlzKSxuPXQubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgZT0wO2U8bjtlKyspaWYoUy5jb250YWlucyh0aGlzLHRbZV0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTAsaT10aGlzLmxlbmd0aCxvPVtdLGE9InN0cmluZyIhPXR5cGVvZiBlJiZTKGUpO2lmKCFrLnRlc3QoZSkpZm9yKDtyPGk7cisrKWZvcihuPXRoaXNbcl07biYmbiE9PXQ7bj1uLnBhcmVudE5vZGUpaWYobi5ub2RlVHlwZTwxMSYmKGE/LTE8YS5pbmRleChuKToxPT09bi5ub2RlVHlwZSYmUy5maW5kLm1hdGNoZXNTZWxlY3RvcihuLGUpKSl7by5wdXNoKG4pO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjaygxPG8ubGVuZ3RoP1MudW5pcXVlU29ydChvKTpvKX0saW5kZXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/InN0cmluZyI9PXR5cGVvZiBlP2kuY2FsbChTKGUpLHRoaXNbMF0pOmkuY2FsbCh0aGlzLGUuanF1ZXJ5P2VbMF06ZSk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soUy51bmlxdWVTb3J0KFMubWVyZ2UodGhpcy5nZXQoKSxTKGUsdCkpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWU/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoZSkpfX0pLFMuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmMTEhPT10Lm5vZGVUeXBlP3Q6bnVsbH0scGFyZW50czpmdW5jdGlvbihlKXtyZXR1cm4gaChlLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGgoZSwicGFyZW50Tm9kZSIsbil9LG5leHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIE8oZSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihlKXtyZXR1cm4gTyhlLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihlKXtyZXR1cm4gaChlLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBoKGUsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBoKGUsIm5leHRTaWJsaW5nIixuKX0scHJldlVudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gaChlLCJwcmV2aW91c1NpYmxpbmciLG4pfSxzaWJsaW5nczpmdW5jdGlvbihlKXtyZXR1cm4gVCgoZS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxlKX0sY2hpbGRyZW46ZnVuY3Rpb24oZSl7cmV0dXJuIFQoZS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWUuY29udGVudERvY3VtZW50JiZyKGUuY29udGVudERvY3VtZW50KT9lLmNvbnRlbnREb2N1bWVudDooQShlLCJ0ZW1wbGF0ZSIpJiYoZT1lLmNvbnRlbnR8fGUpLFMubWVyZ2UoW10sZS5jaGlsZE5vZGVzKSl9fSxmdW5jdGlvbihyLGkpe1MuZm5bcl09ZnVuY3Rpb24oZSx0KXt2YXIgbj1TLm1hcCh0aGlzLGksZSk7cmV0dXJuIlVudGlsIiE9PXIuc2xpY2UoLTUpJiYodD1lKSx0JiYic3RyaW5nIj09dHlwZW9mIHQmJihuPVMuZmlsdGVyKHQsbikpLDE8dGhpcy5sZW5ndGgmJihIW3JdfHxTLnVuaXF1ZVNvcnQobiksTC50ZXN0KHIpJiZuLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2sobil9fSk7dmFyIFA9L1teXHgyMFx0XHJcblxmXSsvZztmdW5jdGlvbiBSKGUpe3JldHVybiBlfWZ1bmN0aW9uIE0oZSl7dGhyb3cgZX1mdW5jdGlvbiBJKGUsdCxuLHIpe3ZhciBpO3RyeXtlJiZtKGk9ZS5wcm9taXNlKT9pLmNhbGwoZSkuZG9uZSh0KS5mYWlsKG4pOmUmJm0oaT1lLnRoZW4pP2kuY2FsbChlLHQsbik6dC5hcHBseSh2b2lkIDAsW2VdLnNsaWNlKHIpKX1jYXRjaChlKXtuLmFwcGx5KHZvaWQgMCxbZV0pfX1TLkNhbGxiYWNrcz1mdW5jdGlvbihyKXt2YXIgZSxuO3I9InN0cmluZyI9PXR5cGVvZiByPyhlPXIsbj17fSxTLmVhY2goZS5tYXRjaChQKXx8W10sZnVuY3Rpb24oZSx0KXtuW3RdPSEwfSksbik6Uy5leHRlbmQoe30scik7dmFyIGksdCxvLGEscz1bXSx1PVtdLGw9LTEsYz1mdW5jdGlvbigpe2ZvcihhPWF8fHIub25jZSxvPWk9ITA7dS5sZW5ndGg7bD0tMSl7dD11LnNoaWZ0KCk7d2hpbGUoKytsPHMubGVuZ3RoKSExPT09c1tsXS5hcHBseSh0WzBdLHRbMV0pJiZyLnN0b3BPbkZhbHNlJiYobD1zLmxlbmd0aCx0PSExKX1yLm1lbW9yeXx8KHQ9ITEpLGk9ITEsYSYmKHM9dD9bXToiIil9LGY9e2FkZDpmdW5jdGlvbigpe3JldHVybiBzJiYodCYmIWkmJihsPXMubGVuZ3RoLTEsdS5wdXNoKHQpKSxmdW5jdGlvbiBuKGUpe1MuZWFjaChlLGZ1bmN0aW9uKGUsdCl7bSh0KT9yLnVuaXF1ZSYmZi5oYXModCl8fHMucHVzaCh0KTp0JiZ0Lmxlbmd0aCYmInN0cmluZyIhPT13KHQpJiZuKHQpfSl9KGFyZ3VtZW50cyksdCYmIWkmJmMoKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIFMuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oZSx0KXt2YXIgbjt3aGlsZSgtMTwobj1TLmluQXJyYXkodCxzLG4pKSlzLnNwbGljZShuLDEpLG48PWwmJmwtLX0pLHRoaXN9LGhhczpmdW5jdGlvbihlKXtyZXR1cm4gZT8tMTxTLmluQXJyYXkoZSxzKTowPHMubGVuZ3RofSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBzJiYocz1bXSksdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiBhPXU9W10scz10PSIiLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIXN9LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYT11PVtdLHR8fGl8fChzPXQ9IiIpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiEhYX0sZmlyZVdpdGg6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXx8KHQ9W2UsKHQ9dHx8W10pLnNsaWNlP3Quc2xpY2UoKTp0XSx1LnB1c2godCksaXx8YygpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGYuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFvfX07cmV0dXJuIGZ9LFMuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbihlKXt2YXIgbz1bWyJub3RpZnkiLCJwcm9ncmVzcyIsUy5DYWxsYmFja3MoIm1lbW9yeSIpLFMuQ2FsbGJhY2tzKCJtZW1vcnkiKSwyXSxbInJlc29sdmUiLCJkb25lIixTLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxTLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwwLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsUy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksUy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksMSwicmVqZWN0ZWQiXV0saT0icGVuZGluZyIsYT17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIHMuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSwiY2F0Y2giOmZ1bmN0aW9uKGUpe3JldHVybiBhLnRoZW4obnVsbCxlKX0scGlwZTpmdW5jdGlvbigpe3ZhciBpPWFyZ3VtZW50cztyZXR1cm4gUy5EZWZlcnJlZChmdW5jdGlvbihyKXtTLmVhY2gobyxmdW5jdGlvbihlLHQpe3ZhciBuPW0oaVt0WzRdXSkmJmlbdFs0XV07c1t0WzFdXShmdW5jdGlvbigpe3ZhciBlPW4mJm4uYXBwbHkodGhpcyxhcmd1bWVudHMpO2UmJm0oZS5wcm9taXNlKT9lLnByb21pc2UoKS5wcm9ncmVzcyhyLm5vdGlmeSkuZG9uZShyLnJlc29sdmUpLmZhaWwoci5yZWplY3QpOnJbdFswXSsiV2l0aCJdKHRoaXMsbj9bZV06YXJndW1lbnRzKX0pfSksaT1udWxsfSkucHJvbWlzZSgpfSx0aGVuOmZ1bmN0aW9uKHQsbixyKXt2YXIgdT0wO2Z1bmN0aW9uIGwoaSxvLGEscyl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49dGhpcyxyPWFyZ3VtZW50cyxlPWZ1bmN0aW9uKCl7dmFyIGUsdDtpZighKGk8dSkpe2lmKChlPWEuYXBwbHkobixyKSk9PT1vLnByb21pc2UoKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGVuYWJsZSBzZWxmLXJlc29sdXRpb24iKTt0PWUmJigib2JqZWN0Ij09dHlwZW9mIGV8fCJmdW5jdGlvbiI9PXR5cGVvZiBlKSYmZS50aGVuLG0odCk/cz90LmNhbGwoZSxsKHUsbyxSLHMpLGwodSxvLE0scykpOih1KyssdC5jYWxsKGUsbCh1LG8sUixzKSxsKHUsbyxNLHMpLGwodSxvLFIsby5ub3RpZnlXaXRoKSkpOihhIT09UiYmKG49dm9pZCAwLHI9W2VdKSwoc3x8by5yZXNvbHZlV2l0aCkobixyKSl9fSx0PXM/ZTpmdW5jdGlvbigpe3RyeXtlKCl9Y2F0Y2goZSl7Uy5EZWZlcnJlZC5leGNlcHRpb25Ib29rJiZTLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soZSx0LnN0YWNrVHJhY2UpLHU8PWkrMSYmKGEhPT1NJiYobj12b2lkIDAscj1bZV0pLG8ucmVqZWN0V2l0aChuLHIpKX19O2k/dCgpOihTLkRlZmVycmVkLmdldFN0YWNrSG9vayYmKHQuc3RhY2tUcmFjZT1TLkRlZmVycmVkLmdldFN0YWNrSG9vaygpKSxDLnNldFRpbWVvdXQodCkpfX1yZXR1cm4gUy5EZWZlcnJlZChmdW5jdGlvbihlKXtvWzBdWzNdLmFkZChsKDAsZSxtKHIpP3I6UixlLm5vdGlmeVdpdGgpKSxvWzFdWzNdLmFkZChsKDAsZSxtKHQpP3Q6UikpLG9bMl1bM10uYWRkKGwoMCxlLG0obik/bjpNKSl9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWU/Uy5leHRlbmQoZSxhKTphfX0scz17fTtyZXR1cm4gUy5lYWNoKG8sZnVuY3Rpb24oZSx0KXt2YXIgbj10WzJdLHI9dFs1XTthW3RbMV1dPW4uYWRkLHImJm4uYWRkKGZ1bmN0aW9uKCl7aT1yfSxvWzMtZV1bMl0uZGlzYWJsZSxvWzMtZV1bM10uZGlzYWJsZSxvWzBdWzJdLmxvY2ssb1swXVszXS5sb2NrKSxuLmFkZCh0WzNdLmZpcmUpLHNbdFswXV09ZnVuY3Rpb24oKXtyZXR1cm4gc1t0WzBdKyJXaXRoIl0odGhpcz09PXM/dm9pZCAwOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxzW3RbMF0rIldpdGgiXT1uLmZpcmVXaXRofSksYS5wcm9taXNlKHMpLGUmJmUuY2FsbChzLHMpLHN9LHdoZW46ZnVuY3Rpb24oZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aCx0PW4scj1BcnJheSh0KSxpPXMuY2FsbChhcmd1bWVudHMpLG89Uy5EZWZlcnJlZCgpLGE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JbdF09dGhpcyxpW3RdPTE8YXJndW1lbnRzLmxlbmd0aD9zLmNhbGwoYXJndW1lbnRzKTplLC0tbnx8by5yZXNvbHZlV2l0aChyLGkpfX07aWYobjw9MSYmKEkoZSxvLmRvbmUoYSh0KSkucmVzb2x2ZSxvLnJlamVjdCwhbiksInBlbmRpbmciPT09by5zdGF0ZSgpfHxtKGlbdF0mJmlbdF0udGhlbikpKXJldHVybiBvLnRoZW4oKTt3aGlsZSh0LS0pSShpW3RdLGEodCksby5yZWplY3QpO3JldHVybiBvLnByb21pc2UoKX19KTt2YXIgVz0vXihFdmFsfEludGVybmFsfFJhbmdlfFJlZmVyZW5jZXxTeW50YXh8VHlwZXxVUkkpRXJyb3IkLztTLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2s9ZnVuY3Rpb24oZSx0KXtDLmNvbnNvbGUmJkMuY29uc29sZS53YXJuJiZlJiZXLnRlc3QoZS5uYW1lKSYmQy5jb25zb2xlLndhcm4oImpRdWVyeS5EZWZlcnJlZCBleGNlcHRpb246ICIrZS5tZXNzYWdlLGUuc3RhY2ssdCl9LFMucmVhZHlFeGNlcHRpb249ZnVuY3Rpb24oZSl7Qy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfTt2YXIgRj1TLkRlZmVycmVkKCk7ZnVuY3Rpb24gQigpe0UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsQiksQy5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixCKSxTLnJlYWR5KCl9Uy5mbi5yZWFkeT1mdW5jdGlvbihlKXtyZXR1cm4gRi50aGVuKGUpWyJjYXRjaCJdKGZ1bmN0aW9uKGUpe1MucmVhZHlFeGNlcHRpb24oZSl9KSx0aGlzfSxTLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxyZWFkeTpmdW5jdGlvbihlKXsoITA9PT1lPy0tUy5yZWFkeVdhaXQ6Uy5pc1JlYWR5KXx8KFMuaXNSZWFkeT0hMCkhPT1lJiYwPC0tUy5yZWFkeVdhaXR8fEYucmVzb2x2ZVdpdGgoRSxbU10pfX0pLFMucmVhZHkudGhlbj1GLnRoZW4sImNvbXBsZXRlIj09PUUucmVhZHlTdGF0ZXx8ImxvYWRpbmciIT09RS5yZWFkeVN0YXRlJiYhRS5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGw/Qy5zZXRUaW1lb3V0KFMucmVhZHkpOihFLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEIpLEMuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsQikpO3ZhciAkPWZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEpe3ZhciBzPTAsdT1lLmxlbmd0aCxsPW51bGw9PW47aWYoIm9iamVjdCI9PT13KG4pKWZvcihzIGluIGk9ITAsbikkKGUsdCxzLG5bc10sITAsbyxhKTtlbHNlIGlmKHZvaWQgMCE9PXImJihpPSEwLG0ocil8fChhPSEwKSxsJiYoYT8odC5jYWxsKGUsciksdD1udWxsKToobD10LHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBsLmNhbGwoUyhlKSxuKX0pKSx0KSlmb3IoO3M8dTtzKyspdChlW3NdLG4sYT9yOnIuY2FsbChlW3NdLHMsdChlW3NdLG4pKSk7cmV0dXJuIGk/ZTpsP3QuY2FsbChlKTp1P3QoZVswXSxuKTpvfSxfPS9eLW1zLS8sej0vLShbYS16XSkvZztmdW5jdGlvbiBVKGUsdCl7cmV0dXJuIHQudG9VcHBlckNhc2UoKX1mdW5jdGlvbiBYKGUpe3JldHVybiBlLnJlcGxhY2UoXywibXMtIikucmVwbGFjZSh6LFUpfXZhciBWPWZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZXx8OT09PWUubm9kZVR5cGV8fCErZS5ub2RlVHlwZX07ZnVuY3Rpb24gRygpe3RoaXMuZXhwYW5kbz1TLmV4cGFuZG8rRy51aWQrK31HLnVpZD0xLEcucHJvdG90eXBlPXtjYWNoZTpmdW5jdGlvbihlKXt2YXIgdD1lW3RoaXMuZXhwYW5kb107cmV0dXJuIHR8fCh0PXt9LFYoZSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT10Ok9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHRoaXMuZXhwYW5kbyx7dmFsdWU6dCxjb25maWd1cmFibGU6ITB9KSkpLHR9LHNldDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaT10aGlzLmNhY2hlKGUpO2lmKCJzdHJpbmciPT10eXBlb2YgdClpW1godCldPW47ZWxzZSBmb3IociBpbiB0KWlbWChyKV09dFtyXTtyZXR1cm4gaX0sZ2V0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQ/dGhpcy5jYWNoZShlKTplW3RoaXMuZXhwYW5kb10mJmVbdGhpcy5leHBhbmRvXVtYKHQpXX0sYWNjZXNzOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdm9pZCAwPT09dHx8dCYmInN0cmluZyI9PXR5cGVvZiB0JiZ2b2lkIDA9PT1uP3RoaXMuZ2V0KGUsdCk6KHRoaXMuc2V0KGUsdCxuKSx2b2lkIDAhPT1uP246dCl9LHJlbW92ZTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9ZVt0aGlzLmV4cGFuZG9dO2lmKHZvaWQgMCE9PXIpe2lmKHZvaWQgMCE9PXQpe249KHQ9QXJyYXkuaXNBcnJheSh0KT90Lm1hcChYKToodD1YKHQpKWluIHI/W3RdOnQubWF0Y2goUCl8fFtdKS5sZW5ndGg7d2hpbGUobi0tKWRlbGV0ZSByW3Rbbl1dfSh2b2lkIDA9PT10fHxTLmlzRW1wdHlPYmplY3QocikpJiYoZS5ub2RlVHlwZT9lW3RoaXMuZXhwYW5kb109dm9pZCAwOmRlbGV0ZSBlW3RoaXMuZXhwYW5kb10pfX0saGFzRGF0YTpmdW5jdGlvbihlKXt2YXIgdD1lW3RoaXMuZXhwYW5kb107cmV0dXJuIHZvaWQgMCE9PXQmJiFTLmlzRW1wdHlPYmplY3QodCl9fTt2YXIgWT1uZXcgRyxRPW5ldyBHLEo9L14oPzpce1tcd1xXXSpcfXxcW1tcd1xXXSpcXSkkLyxLPS9bQS1aXS9nO2Z1bmN0aW9uIFooZSx0LG4pe3ZhciByLGk7aWYodm9pZCAwPT09biYmMT09PWUubm9kZVR5cGUpaWYocj0iZGF0YS0iK3QucmVwbGFjZShLLCItJCYiKS50b0xvd2VyQ2FzZSgpLCJzdHJpbmciPT10eXBlb2Yobj1lLmdldEF0dHJpYnV0ZShyKSkpe3RyeXtuPSJ0cnVlIj09PShpPW4pfHwiZmFsc2UiIT09aSYmKCJudWxsIj09PWk/bnVsbDppPT09K2krIiI/K2k6Si50ZXN0KGkpP0pTT04ucGFyc2UoaSk6aSl9Y2F0Y2goZSl7fVEuc2V0KGUsdCxuKX1lbHNlIG49dm9pZCAwO3JldHVybiBufVMuZXh0ZW5kKHtoYXNEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiBRLmhhc0RhdGEoZSl8fFkuaGFzRGF0YShlKX0sZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIFEuYWNjZXNzKGUsdCxuKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe1EucmVtb3ZlKGUsdCl9LF9kYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gWS5hY2Nlc3MoZSx0LG4pfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihlLHQpe1kucmVtb3ZlKGUsdCl9fSksUy5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24obixlKXt2YXIgdCxyLGksbz10aGlzWzBdLGE9byYmby5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PW4pe2lmKHRoaXMubGVuZ3RoJiYoaT1RLmdldChvKSwxPT09by5ub2RlVHlwZSYmIVkuZ2V0KG8sImhhc0RhdGFBdHRycyIpKSl7dD1hLmxlbmd0aDt3aGlsZSh0LS0pYVt0XSYmMD09PShyPWFbdF0ubmFtZSkuaW5kZXhPZigiZGF0YS0iKSYmKHI9WChyLnNsaWNlKDUpKSxaKG8scixpW3JdKSk7WS5zZXQobywiaGFzRGF0YUF0dHJzIiwhMCl9cmV0dXJuIGl9cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBuP3RoaXMuZWFjaChmdW5jdGlvbigpe1Euc2V0KHRoaXMsbil9KTokKHRoaXMsZnVuY3Rpb24oZSl7dmFyIHQ7aWYobyYmdm9pZCAwPT09ZSlyZXR1cm4gdm9pZCAwIT09KHQ9US5nZXQobyxuKSk/dDp2b2lkIDAhPT0odD1aKG8sbikpP3Q6dm9pZCAwO3RoaXMuZWFjaChmdW5jdGlvbigpe1Euc2V0KHRoaXMsbixlKX0pfSxudWxsLGUsMTxhcmd1bWVudHMubGVuZ3RoLG51bGwsITApfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtRLnJlbW92ZSh0aGlzLGUpfSl9fSksUy5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZihlKXJldHVybiB0PSh0fHwiZngiKSsicXVldWUiLHI9WS5nZXQoZSx0KSxuJiYoIXJ8fEFycmF5LmlzQXJyYXkobik/cj1ZLmFjY2VzcyhlLHQsUy5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fCJmeCI7dmFyIG49Uy5xdWV1ZShlLHQpLHI9bi5sZW5ndGgsaT1uLnNoaWZ0KCksbz1TLl9xdWV1ZUhvb2tzKGUsdCk7ImlucHJvZ3Jlc3MiPT09aSYmKGk9bi5zaGlmdCgpLHItLSksaSYmKCJmeCI9PT10JiZuLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgby5zdG9wLGkuY2FsbChlLGZ1bmN0aW9uKCl7Uy5kZXF1ZXVlKGUsdCl9LG8pKSwhciYmbyYmby5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGUsdCl7dmFyIG49dCsicXVldWVIb29rcyI7cmV0dXJuIFkuZ2V0KGUsbil8fFkuYWNjZXNzKGUsbix7ZW1wdHk6Uy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7WS5yZW1vdmUoZSxbdCsicXVldWUiLG5dKX0pfSl9fSksUy5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKHQsbil7dmFyIGU9MjtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIHQmJihuPXQsdD0iZngiLGUtLSksYXJndW1lbnRzLmxlbmd0aDxlP1MucXVldWUodGhpc1swXSx0KTp2b2lkIDA9PT1uP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9Uy5xdWV1ZSh0aGlzLHQsbik7Uy5fcXVldWVIb29rcyh0aGlzLHQpLCJmeCI9PT10JiYiaW5wcm9ncmVzcyIhPT1lWzBdJiZTLmRlcXVldWUodGhpcyx0KX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtTLmRlcXVldWUodGhpcyxlKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnF1ZXVlKGV8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0xLGk9Uy5EZWZlcnJlZCgpLG89dGhpcyxhPXRoaXMubGVuZ3RoLHM9ZnVuY3Rpb24oKXstLXJ8fGkucmVzb2x2ZVdpdGgobyxbb10pfTsic3RyaW5nIiE9dHlwZW9mIGUmJih0PWUsZT12b2lkIDApLGU9ZXx8ImZ4Ijt3aGlsZShhLS0pKG49WS5nZXQob1thXSxlKyJxdWV1ZUhvb2tzIikpJiZuLmVtcHR5JiYocisrLG4uZW1wdHkuYWRkKHMpKTtyZXR1cm4gcygpLGkucHJvbWlzZSh0KX19KTt2YXIgZWU9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsdGU9bmV3IFJlZ0V4cCgiXig/OihbKy1dKT18KSgiK2VlKyIpKFthLXolXSopJCIsImkiKSxuZT1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLHJlPUUuZG9jdW1lbnRFbGVtZW50LGllPWZ1bmN0aW9uKGUpe3JldHVybiBTLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKX0sb2U9e2NvbXBvc2VkOiEwfTtyZS5nZXRSb290Tm9kZSYmKGllPWZ1bmN0aW9uKGUpe3JldHVybiBTLmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKXx8ZS5nZXRSb290Tm9kZShvZSk9PT1lLm93bmVyRG9jdW1lbnR9KTt2YXIgYWU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4ibm9uZSI9PT0oZT10fHxlKS5zdHlsZS5kaXNwbGF5fHwiIj09PWUuc3R5bGUuZGlzcGxheSYmaWUoZSkmJiJub25lIj09PVMuY3NzKGUsImRpc3BsYXkiKX07ZnVuY3Rpb24gc2UoZSx0LG4scil7dmFyIGksbyxhPTIwLHM9cj9mdW5jdGlvbigpe3JldHVybiByLmN1cigpfTpmdW5jdGlvbigpe3JldHVybiBTLmNzcyhlLHQsIiIpfSx1PXMoKSxsPW4mJm5bM118fChTLmNzc051bWJlclt0XT8iIjoicHgiKSxjPWUubm9kZVR5cGUmJihTLmNzc051bWJlclt0XXx8InB4IiE9PWwmJit1KSYmdGUuZXhlYyhTLmNzcyhlLHQpKTtpZihjJiZjWzNdIT09bCl7dS89MixsPWx8fGNbM10sYz0rdXx8MTt3aGlsZShhLS0pUy5zdHlsZShlLHQsYytsKSwoMS1vKSooMS0obz1zKCkvdXx8LjUpKTw9MCYmKGE9MCksYy89bztjKj0yLFMuc3R5bGUoZSx0LGMrbCksbj1ufHxbXX1yZXR1cm4gbiYmKGM9K2N8fCt1fHwwLGk9blsxXT9jKyhuWzFdKzEpKm5bMl06K25bMl0sciYmKHIudW5pdD1sLHIuc3RhcnQ9YyxyLmVuZD1pKSksaX12YXIgdWU9e307ZnVuY3Rpb24gbGUoZSx0KXtmb3IodmFyIG4scixpLG8sYSxzLHUsbD1bXSxjPTAsZj1lLmxlbmd0aDtjPGY7YysrKShyPWVbY10pLnN0eWxlJiYobj1yLnN0eWxlLmRpc3BsYXksdD8oIm5vbmUiPT09biYmKGxbY109WS5nZXQociwiZGlzcGxheSIpfHxudWxsLGxbY118fChyLnN0eWxlLmRpc3BsYXk9IiIpKSwiIj09PXIuc3R5bGUuZGlzcGxheSYmYWUocikmJihsW2NdPSh1PWE9bz12b2lkIDAsYT0oaT1yKS5vd25lckRvY3VtZW50LHM9aS5ub2RlTmFtZSwodT11ZVtzXSl8fChvPWEuYm9keS5hcHBlbmRDaGlsZChhLmNyZWF0ZUVsZW1lbnQocykpLHU9Uy5jc3MobywiZGlzcGxheSIpLG8ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChvKSwibm9uZSI9PT11JiYodT0iYmxvY2siKSx1ZVtzXT11KSkpKToibm9uZSIhPT1uJiYobFtjXT0ibm9uZSIsWS5zZXQociwiZGlzcGxheSIsbikpKTtmb3IoYz0wO2M8ZjtjKyspbnVsbCE9bFtjXSYmKGVbY10uc3R5bGUuZGlzcGxheT1sW2NdKTtyZXR1cm4gZX1TLmZuLmV4dGVuZCh7c2hvdzpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBsZSh0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGUpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGU/ZT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXthZSh0aGlzKT9TKHRoaXMpLnNob3coKTpTKHRoaXMpLmhpZGUoKX0pfX0pO3ZhciBjZSxmZSxwZT0vXig/OmNoZWNrYm94fHJhZGlvKSQvaSxkZT0vPChbYS16XVteXC9cMD5ceDIwXHRcclxuXGZdKikvaSxoZT0vXiR8Xm1vZHVsZSR8XC8oPzpqYXZhfGVjbWEpc2NyaXB0L2k7Y2U9RS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkuYXBwZW5kQ2hpbGQoRS5jcmVhdGVFbGVtZW50KCJkaXYiKSksKGZlPUUuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkuc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxmZS5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJjaGVja2VkIiksZmUuc2V0QXR0cmlidXRlKCJuYW1lIiwidCIpLGNlLmFwcGVuZENoaWxkKGZlKSx5LmNoZWNrQ2xvbmU9Y2UuY2xvbmVOb2RlKCEwKS5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5jaGVja2VkLGNlLmlubmVySFRNTD0iPHRleHRhcmVhPng8L3RleHRhcmVhPiIseS5ub0Nsb25lQ2hlY2tlZD0hIWNlLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZSxjZS5pbm5lckhUTUw9IjxvcHRpb24+PC9vcHRpb24+Iix5Lm9wdGlvbj0hIWNlLmxhc3RDaGlsZDt2YXIgZ2U9e3RoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfTtmdW5jdGlvbiB2ZShlLHQpe3ZhciBuO3JldHVybiBuPSJ1bmRlZmluZWQiIT10eXBlb2YgZS5nZXRFbGVtZW50c0J5VGFnTmFtZT9lLmdldEVsZW1lbnRzQnlUYWdOYW1lKHR8fCIqIik6InVuZGVmaW5lZCIhPXR5cGVvZiBlLnF1ZXJ5U2VsZWN0b3JBbGw/ZS5xdWVyeVNlbGVjdG9yQWxsKHR8fCIqIik6W10sdm9pZCAwPT09dHx8dCYmQShlLHQpP1MubWVyZ2UoW2VdLG4pOm59ZnVuY3Rpb24geWUoZSx0KXtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspWS5zZXQoZVtuXSwiZ2xvYmFsRXZhbCIsIXR8fFkuZ2V0KHRbbl0sImdsb2JhbEV2YWwiKSl9Z2UudGJvZHk9Z2UudGZvb3Q9Z2UuY29sZ3JvdXA9Z2UuY2FwdGlvbj1nZS50aGVhZCxnZS50aD1nZS50ZCx5Lm9wdGlvbnx8KGdlLm9wdGdyb3VwPWdlLm9wdGlvbj1bMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdKTt2YXIgbWU9Lzx8JiM/XHcrOy87ZnVuY3Rpb24geGUoZSx0LG4scixpKXtmb3IodmFyIG8sYSxzLHUsbCxjLGY9dC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkscD1bXSxkPTAsaD1lLmxlbmd0aDtkPGg7ZCsrKWlmKChvPWVbZF0pfHwwPT09bylpZigib2JqZWN0Ij09PXcobykpUy5tZXJnZShwLG8ubm9kZVR5cGU/W29dOm8pO2Vsc2UgaWYobWUudGVzdChvKSl7YT1hfHxmLmFwcGVuZENoaWxkKHQuY3JlYXRlRWxlbWVudCgiZGl2IikpLHM9KGRlLmV4ZWMobyl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksdT1nZVtzXXx8Z2UuX2RlZmF1bHQsYS5pbm5lckhUTUw9dVsxXStTLmh0bWxQcmVmaWx0ZXIobykrdVsyXSxjPXVbMF07d2hpbGUoYy0tKWE9YS5sYXN0Q2hpbGQ7Uy5tZXJnZShwLGEuY2hpbGROb2RlcyksKGE9Zi5maXJzdENoaWxkKS50ZXh0Q29udGVudD0iIn1lbHNlIHAucHVzaCh0LmNyZWF0ZVRleHROb2RlKG8pKTtmLnRleHRDb250ZW50PSIiLGQ9MDt3aGlsZShvPXBbZCsrXSlpZihyJiYtMTxTLmluQXJyYXkobyxyKSlpJiZpLnB1c2gobyk7ZWxzZSBpZihsPWllKG8pLGE9dmUoZi5hcHBlbmRDaGlsZChvKSwic2NyaXB0IiksbCYmeWUoYSksbil7Yz0wO3doaWxlKG89YVtjKytdKWhlLnRlc3Qoby50eXBlfHwiIikmJm4ucHVzaChvKX1yZXR1cm4gZn12YXIgYmU9L15rZXkvLHdlPS9eKD86bW91c2V8cG9pbnRlcnxjb250ZXh0bWVudXxkcmFnfGRyb3ApfGNsaWNrLyxUZT0vXihbXi5dKikoPzpcLiguKyl8KS87ZnVuY3Rpb24gQ2UoKXtyZXR1cm4hMH1mdW5jdGlvbiBFZSgpe3JldHVybiExfWZ1bmN0aW9uIFNlKGUsdCl7cmV0dXJuIGU9PT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gRS5hY3RpdmVFbGVtZW50fWNhdGNoKGUpe319KCk9PSgiZm9jdXMiPT09dCl9ZnVuY3Rpb24ga2UoZSx0LG4scixpLG8pe3ZhciBhLHM7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtmb3IocyBpbiJzdHJpbmciIT10eXBlb2YgbiYmKHI9cnx8bixuPXZvaWQgMCksdClrZShlLHMsbixyLHRbc10sbyk7cmV0dXJuIGV9aWYobnVsbD09ciYmbnVsbD09aT8oaT1uLHI9bj12b2lkIDApOm51bGw9PWkmJigic3RyaW5nIj09dHlwZW9mIG4/KGk9cixyPXZvaWQgMCk6KGk9cixyPW4sbj12b2lkIDApKSwhMT09PWkpaT1FZTtlbHNlIGlmKCFpKXJldHVybiBlO3JldHVybiAxPT09byYmKGE9aSwoaT1mdW5jdGlvbihlKXtyZXR1cm4gUygpLm9mZihlKSxhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLmd1aWQ9YS5ndWlkfHwoYS5ndWlkPVMuZ3VpZCsrKSksZS5lYWNoKGZ1bmN0aW9uKCl7Uy5ldmVudC5hZGQodGhpcyx0LGkscixuKX0pfWZ1bmN0aW9uIEFlKGUsaSxvKXtvPyhZLnNldChlLGksITEpLFMuZXZlbnQuYWRkKGUsaSx7bmFtZXNwYWNlOiExLGhhbmRsZXI6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPVkuZ2V0KHRoaXMsaSk7aWYoMSZlLmlzVHJpZ2dlciYmdGhpc1tpXSl7aWYoci5sZW5ndGgpKFMuZXZlbnQuc3BlY2lhbFtpXXx8e30pLmRlbGVnYXRlVHlwZSYmZS5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKHI9cy5jYWxsKGFyZ3VtZW50cyksWS5zZXQodGhpcyxpLHIpLHQ9byh0aGlzLGkpLHRoaXNbaV0oKSxyIT09KG49WS5nZXQodGhpcyxpKSl8fHQ/WS5zZXQodGhpcyxpLCExKTpuPXt9LHIhPT1uKXJldHVybiBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQoKSxuLnZhbHVlfWVsc2Ugci5sZW5ndGgmJihZLnNldCh0aGlzLGkse3ZhbHVlOlMuZXZlbnQudHJpZ2dlcihTLmV4dGVuZChyWzBdLFMuRXZlbnQucHJvdG90eXBlKSxyLnNsaWNlKDEpLHRoaXMpfSksZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fSkpOnZvaWQgMD09PVkuZ2V0KGUsaSkmJlMuZXZlbnQuYWRkKGUsaSxDZSl9Uy5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbih0LGUsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1ZLmdldCh0KTtpZihWKHQpKXtuLmhhbmRsZXImJihuPShvPW4pLmhhbmRsZXIsaT1vLnNlbGVjdG9yKSxpJiZTLmZpbmQubWF0Y2hlc1NlbGVjdG9yKHJlLGkpLG4uZ3VpZHx8KG4uZ3VpZD1TLmd1aWQrKyksKHU9di5ldmVudHMpfHwodT12LmV2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpKSwoYT12LmhhbmRsZSl8fChhPXYuaGFuZGxlPWZ1bmN0aW9uKGUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgUyYmUy5ldmVudC50cmlnZ2VyZWQhPT1lLnR5cGU/Uy5ldmVudC5kaXNwYXRjaC5hcHBseSh0LGFyZ3VtZW50cyk6dm9pZCAwfSksbD0oZT0oZXx8IiIpLm1hdGNoKFApfHxbIiJdKS5sZW5ndGg7d2hpbGUobC0tKWQ9Zz0ocz1UZS5leGVjKGVbbF0pfHxbXSlbMV0saD0oc1syXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLGQmJihmPVMuZXZlbnQuc3BlY2lhbFtkXXx8e30sZD0oaT9mLmRlbGVnYXRlVHlwZTpmLmJpbmRUeXBlKXx8ZCxmPVMuZXZlbnQuc3BlY2lhbFtkXXx8e30sYz1TLmV4dGVuZCh7dHlwZTpkLG9yaWdUeXBlOmcsZGF0YTpyLGhhbmRsZXI6bixndWlkOm4uZ3VpZCxzZWxlY3RvcjppLG5lZWRzQ29udGV4dDppJiZTLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoaSksbmFtZXNwYWNlOmguam9pbigiLiIpfSxvKSwocD11W2RdKXx8KChwPXVbZF09W10pLmRlbGVnYXRlQ291bnQ9MCxmLnNldHVwJiYhMSE9PWYuc2V0dXAuY2FsbCh0LHIsaCxhKXx8dC5hZGRFdmVudExpc3RlbmVyJiZ0LmFkZEV2ZW50TGlzdGVuZXIoZCxhKSksZi5hZGQmJihmLmFkZC5jYWxsKHQsYyksYy5oYW5kbGVyLmd1aWR8fChjLmhhbmRsZXIuZ3VpZD1uLmd1aWQpKSxpP3Auc3BsaWNlKHAuZGVsZWdhdGVDb3VudCsrLDAsYyk6cC5wdXNoKGMpLFMuZXZlbnQuZ2xvYmFsW2RdPSEwKX19LHJlbW92ZTpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcsdj1ZLmhhc0RhdGEoZSkmJlkuZ2V0KGUpO2lmKHYmJih1PXYuZXZlbnRzKSl7bD0odD0odHx8IiIpLm1hdGNoKFApfHxbIiJdKS5sZW5ndGg7d2hpbGUobC0tKWlmKGQ9Zz0ocz1UZS5leGVjKHRbbF0pfHxbXSlbMV0saD0oc1syXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLGQpe2Y9Uy5ldmVudC5zcGVjaWFsW2RdfHx7fSxwPXVbZD0ocj9mLmRlbGVnYXRlVHlwZTpmLmJpbmRUeXBlKXx8ZF18fFtdLHM9c1syXSYmbmV3IFJlZ0V4cCgiKF58XFwuKSIraC5qb2luKCJcXC4oPzouKlxcLnwpIikrIihcXC58JCkiKSxhPW89cC5sZW5ndGg7d2hpbGUoby0tKWM9cFtvXSwhaSYmZyE9PWMub3JpZ1R5cGV8fG4mJm4uZ3VpZCE9PWMuZ3VpZHx8cyYmIXMudGVzdChjLm5hbWVzcGFjZSl8fHImJnIhPT1jLnNlbGVjdG9yJiYoIioqIiE9PXJ8fCFjLnNlbGVjdG9yKXx8KHAuc3BsaWNlKG8sMSksYy5zZWxlY3RvciYmcC5kZWxlZ2F0ZUNvdW50LS0sZi5yZW1vdmUmJmYucmVtb3ZlLmNhbGwoZSxjKSk7YSYmIXAubGVuZ3RoJiYoZi50ZWFyZG93biYmITEhPT1mLnRlYXJkb3duLmNhbGwoZSxoLHYuaGFuZGxlKXx8Uy5yZW1vdmVFdmVudChlLGQsdi5oYW5kbGUpLGRlbGV0ZSB1W2RdKX1lbHNlIGZvcihkIGluIHUpUy5ldmVudC5yZW1vdmUoZSxkK3RbbF0sbixyLCEwKTtTLmlzRW1wdHlPYmplY3QodSkmJlkucmVtb3ZlKGUsImhhbmRsZSBldmVudHMiKX19LGRpc3BhdGNoOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSx1PVMuZXZlbnQuZml4KGUpLGw9KFkuZ2V0KHRoaXMsImV2ZW50cyIpfHxPYmplY3QuY3JlYXRlKG51bGwpKVt1LnR5cGVdfHxbXSxjPVMuZXZlbnQuc3BlY2lhbFt1LnR5cGVdfHx7fTtmb3Ioc1swXT11LHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXNbdF09YXJndW1lbnRzW3RdO2lmKHUuZGVsZWdhdGVUYXJnZXQ9dGhpcywhYy5wcmVEaXNwYXRjaHx8ITEhPT1jLnByZURpc3BhdGNoLmNhbGwodGhpcyx1KSl7YT1TLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyx1LGwpLHQ9MDt3aGlsZSgoaT1hW3QrK10pJiYhdS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXt1LmN1cnJlbnRUYXJnZXQ9aS5lbGVtLG49MDt3aGlsZSgobz1pLmhhbmRsZXJzW24rK10pJiYhdS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKXUucm5hbWVzcGFjZSYmITEhPT1vLm5hbWVzcGFjZSYmIXUucm5hbWVzcGFjZS50ZXN0KG8ubmFtZXNwYWNlKXx8KHUuaGFuZGxlT2JqPW8sdS5kYXRhPW8uZGF0YSx2b2lkIDAhPT0ocj0oKFMuZXZlbnQuc3BlY2lhbFtvLm9yaWdUeXBlXXx8e30pLmhhbmRsZXx8by5oYW5kbGVyKS5hcHBseShpLmVsZW0scykpJiYhMT09PSh1LnJlc3VsdD1yKSYmKHUucHJldmVudERlZmF1bHQoKSx1LnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGMucG9zdERpc3BhdGNoJiZjLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsdSksdS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxvLGEscz1bXSx1PXQuZGVsZWdhdGVDb3VudCxsPWUudGFyZ2V0O2lmKHUmJmwubm9kZVR5cGUmJiEoImNsaWNrIj09PWUudHlwZSYmMTw9ZS5idXR0b24pKWZvcig7bCE9PXRoaXM7bD1sLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWwubm9kZVR5cGUmJigiY2xpY2siIT09ZS50eXBlfHwhMCE9PWwuZGlzYWJsZWQpKXtmb3Iobz1bXSxhPXt9LG49MDtuPHU7bisrKXZvaWQgMD09PWFbaT0ocj10W25dKS5zZWxlY3RvcisiICJdJiYoYVtpXT1yLm5lZWRzQ29udGV4dD8tMTxTKGksdGhpcykuaW5kZXgobCk6Uy5maW5kKGksdGhpcyxudWxsLFtsXSkubGVuZ3RoKSxhW2ldJiZvLnB1c2gocik7by5sZW5ndGgmJnMucHVzaCh7ZWxlbTpsLGhhbmRsZXJzOm99KX1yZXR1cm4gbD10aGlzLHU8dC5sZW5ndGgmJnMucHVzaCh7ZWxlbTpsLGhhbmRsZXJzOnQuc2xpY2UodSl9KSxzfSxhZGRQcm9wOmZ1bmN0aW9uKHQsZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KFMuRXZlbnQucHJvdG90eXBlLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDptKGUpP2Z1bmN0aW9uKCl7aWYodGhpcy5vcmlnaW5hbEV2ZW50KXJldHVybiBlKHRoaXMub3JpZ2luYWxFdmVudCl9OmZ1bmN0aW9uKCl7aWYodGhpcy5vcmlnaW5hbEV2ZW50KXJldHVybiB0aGlzLm9yaWdpbmFsRXZlbnRbdF19LHNldDpmdW5jdGlvbihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyx0LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTplfSl9fSl9LGZpeDpmdW5jdGlvbihlKXtyZXR1cm4gZVtTLmV4cGFuZG9dP2U6bmV3IFMuRXZlbnQoZSl9LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxjbGljazp7c2V0dXA6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc3x8ZTtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZBKHQsImlucHV0IikmJkFlKHQsImNsaWNrIixDZSksITF9LHRyaWdnZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc3x8ZTtyZXR1cm4gcGUudGVzdCh0LnR5cGUpJiZ0LmNsaWNrJiZBKHQsImlucHV0IikmJkFlKHQsImNsaWNrIiksITB9LF9kZWZhdWx0OmZ1bmN0aW9uKGUpe3ZhciB0PWUudGFyZ2V0O3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJkEodCwiaW5wdXQiKSYmWS5nZXQodCwiY2xpY2siKXx8QSh0LCJhIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihlKXt2b2lkIDAhPT1lLnJlc3VsdCYmZS5vcmlnaW5hbEV2ZW50JiYoZS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlPWUucmVzdWx0KX19fX0sUy5yZW1vdmVFdmVudD1mdW5jdGlvbihlLHQsbil7ZS5yZW1vdmVFdmVudExpc3RlbmVyJiZlLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxuKX0sUy5FdmVudD1mdW5jdGlvbihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIFMuRXZlbnQpKXJldHVybiBuZXcgUy5FdmVudChlLHQpO2UmJmUudHlwZT8odGhpcy5vcmlnaW5hbEV2ZW50PWUsdGhpcy50eXBlPWUudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1lLmRlZmF1bHRQcmV2ZW50ZWR8fHZvaWQgMD09PWUuZGVmYXVsdFByZXZlbnRlZCYmITE9PT1lLnJldHVyblZhbHVlP0NlOkVlLHRoaXMudGFyZ2V0PWUudGFyZ2V0JiYzPT09ZS50YXJnZXQubm9kZVR5cGU/ZS50YXJnZXQucGFyZW50Tm9kZTplLnRhcmdldCx0aGlzLmN1cnJlbnRUYXJnZXQ9ZS5jdXJyZW50VGFyZ2V0LHRoaXMucmVsYXRlZFRhcmdldD1lLnJlbGF0ZWRUYXJnZXQpOnRoaXMudHlwZT1lLHQmJlMuZXh0ZW5kKHRoaXMsdCksdGhpcy50aW1lU3RhbXA9ZSYmZS50aW1lU3RhbXB8fERhdGUubm93KCksdGhpc1tTLmV4cGFuZG9dPSEwfSxTLkV2ZW50LnByb3RvdHlwZT17Y29uc3RydWN0b3I6Uy5FdmVudCxpc0RlZmF1bHRQcmV2ZW50ZWQ6RWUsaXNQcm9wYWdhdGlvblN0b3BwZWQ6RWUsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6RWUsaXNTaW11bGF0ZWQ6ITEscHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9Q2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUucHJldmVudERlZmF1bHQoKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Q2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUuc3RvcFByb3BhZ2F0aW9uKCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPUNlLGUmJiF0aGlzLmlzU2ltdWxhdGVkJiZlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9fSxTLmVhY2goe2FsdEtleTohMCxidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsY2hhbmdlZFRvdWNoZXM6ITAsY3RybEtleTohMCxkZXRhaWw6ITAsZXZlbnRQaGFzZTohMCxtZXRhS2V5OiEwLHBhZ2VYOiEwLHBhZ2VZOiEwLHNoaWZ0S2V5OiEwLHZpZXc6ITAsImNoYXIiOiEwLGNvZGU6ITAsY2hhckNvZGU6ITAsa2V5OiEwLGtleUNvZGU6ITAsYnV0dG9uOiEwLGJ1dHRvbnM6ITAsY2xpZW50WDohMCxjbGllbnRZOiEwLG9mZnNldFg6ITAsb2Zmc2V0WTohMCxwb2ludGVySWQ6ITAscG9pbnRlclR5cGU6ITAsc2NyZWVuWDohMCxzY3JlZW5ZOiEwLHRhcmdldFRvdWNoZXM6ITAsdG9FbGVtZW50OiEwLHRvdWNoZXM6ITAsd2hpY2g6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5idXR0b247cmV0dXJuIG51bGw9PWUud2hpY2gmJmJlLnRlc3QoZS50eXBlKT9udWxsIT1lLmNoYXJDb2RlP2UuY2hhckNvZGU6ZS5rZXlDb2RlOiFlLndoaWNoJiZ2b2lkIDAhPT10JiZ3ZS50ZXN0KGUudHlwZSk/MSZ0PzE6MiZ0PzM6NCZ0PzI6MDplLndoaWNofX0sUy5ldmVudC5hZGRQcm9wKSxTLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGUsdCl7Uy5ldmVudC5zcGVjaWFsW2VdPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBBZSh0aGlzLGUsU2UpLCExfSx0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIEFlKHRoaXMsZSksITB9LGRlbGVnYXRlVHlwZTp0fX0pLFMuZWFjaCh7bW91c2VlbnRlcjoibW91c2VvdmVyIixtb3VzZWxlYXZlOiJtb3VzZW91dCIscG9pbnRlcmVudGVyOiJwb2ludGVyb3ZlciIscG9pbnRlcmxlYXZlOiJwb2ludGVyb3V0In0sZnVuY3Rpb24oZSxpKXtTLmV2ZW50LnNwZWNpYWxbZV09e2RlbGVnYXRlVHlwZTppLGJpbmRUeXBlOmksaGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciB0LG49ZS5yZWxhdGVkVGFyZ2V0LHI9ZS5oYW5kbGVPYmo7cmV0dXJuIG4mJihuPT09dGhpc3x8Uy5jb250YWlucyh0aGlzLG4pKXx8KGUudHlwZT1yLm9yaWdUeXBlLHQ9ci5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnR5cGU9aSksdH19fSksUy5mbi5leHRlbmQoe29uOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBrZSh0aGlzLGUsdCxuLHIpfSxvbmU6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIGtlKHRoaXMsZSx0LG4sciwxKX0sb2ZmOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpO2lmKGUmJmUucHJldmVudERlZmF1bHQmJmUuaGFuZGxlT2JqKXJldHVybiByPWUuaGFuZGxlT2JqLFMoZS5kZWxlZ2F0ZVRhcmdldCkub2ZmKHIubmFtZXNwYWNlP3Iub3JpZ1R5cGUrIi4iK3IubmFtZXNwYWNlOnIub3JpZ1R5cGUsci5zZWxlY3RvcixyLmhhbmRsZXIpLHRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZiBlKXtmb3IoaSBpbiBlKXRoaXMub2ZmKGksdCxlW2ldKTtyZXR1cm4gdGhpc31yZXR1cm4hMSE9PXQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0fHwobj10LHQ9dm9pZCAwKSwhMT09PW4mJihuPUVlKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtTLmV2ZW50LnJlbW92ZSh0aGlzLGUsbix0KX0pfX0pO3ZhciBOZT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSxEZT0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxqZT0vXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2c7ZnVuY3Rpb24gcWUoZSx0KXtyZXR1cm4gQShlLCJ0YWJsZSIpJiZBKDExIT09dC5ub2RlVHlwZT90OnQuZmlyc3RDaGlsZCwidHIiKSYmUyhlKS5jaGlsZHJlbigidGJvZHkiKVswXXx8ZX1mdW5jdGlvbiBMZShlKXtyZXR1cm4gZS50eXBlPShudWxsIT09ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSkrIi8iK2UudHlwZSxlfWZ1bmN0aW9uIEhlKGUpe3JldHVybiJ0cnVlLyI9PT0oZS50eXBlfHwiIikuc2xpY2UoMCw1KT9lLnR5cGU9ZS50eXBlLnNsaWNlKDUpOmUucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksZX1mdW5jdGlvbiBPZShlLHQpe3ZhciBuLHIsaSxvLGEscztpZigxPT09dC5ub2RlVHlwZSl7aWYoWS5oYXNEYXRhKGUpJiYocz1ZLmdldChlKS5ldmVudHMpKWZvcihpIGluIFkucmVtb3ZlKHQsImhhbmRsZSBldmVudHMiKSxzKWZvcihuPTAscj1zW2ldLmxlbmd0aDtuPHI7bisrKVMuZXZlbnQuYWRkKHQsaSxzW2ldW25dKTtRLmhhc0RhdGEoZSkmJihvPVEuYWNjZXNzKGUpLGE9Uy5leHRlbmQoe30sbyksUS5zZXQodCxhKSl9fWZ1bmN0aW9uIFBlKG4scixpLG8pe3I9ZyhyKTt2YXIgZSx0LGEscyx1LGwsYz0wLGY9bi5sZW5ndGgscD1mLTEsZD1yWzBdLGg9bShkKTtpZihofHwxPGYmJiJzdHJpbmciPT10eXBlb2YgZCYmIXkuY2hlY2tDbG9uZSYmRGUudGVzdChkKSlyZXR1cm4gbi5lYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PW4uZXEoZSk7aCYmKHJbMF09ZC5jYWxsKHRoaXMsZSx0Lmh0bWwoKSkpLFBlKHQscixpLG8pfSk7aWYoZiYmKHQ9KGU9eGUocixuWzBdLm93bmVyRG9jdW1lbnQsITEsbixvKSkuZmlyc3RDaGlsZCwxPT09ZS5jaGlsZE5vZGVzLmxlbmd0aCYmKGU9dCksdHx8bykpe2ZvcihzPShhPVMubWFwKHZlKGUsInNjcmlwdCIpLExlKSkubGVuZ3RoO2M8ZjtjKyspdT1lLGMhPT1wJiYodT1TLmNsb25lKHUsITAsITApLHMmJlMubWVyZ2UoYSx2ZSh1LCJzY3JpcHQiKSkpLGkuY2FsbChuW2NdLHUsYyk7aWYocylmb3IobD1hW2EubGVuZ3RoLTFdLm93bmVyRG9jdW1lbnQsUy5tYXAoYSxIZSksYz0wO2M8cztjKyspdT1hW2NdLGhlLnRlc3QodS50eXBlfHwiIikmJiFZLmFjY2Vzcyh1LCJnbG9iYWxFdmFsIikmJlMuY29udGFpbnMobCx1KSYmKHUuc3JjJiYibW9kdWxlIiE9PSh1LnR5cGV8fCIiKS50b0xvd2VyQ2FzZSgpP1MuX2V2YWxVcmwmJiF1Lm5vTW9kdWxlJiZTLl9ldmFsVXJsKHUuc3JjLHtub25jZTp1Lm5vbmNlfHx1LmdldEF0dHJpYnV0ZSgibm9uY2UiKX0sbCk6Yih1LnRleHRDb250ZW50LnJlcGxhY2UoamUsIiIpLHUsbCkpfXJldHVybiBufWZ1bmN0aW9uIFJlKGUsdCxuKXtmb3IodmFyIHIsaT10P1MuZmlsdGVyKHQsZSk6ZSxvPTA7bnVsbCE9KHI9aVtvXSk7bysrKW58fDEhPT1yLm5vZGVUeXBlfHxTLmNsZWFuRGF0YSh2ZShyKSksci5wYXJlbnROb2RlJiYobiYmaWUocikmJnllKHZlKHIsInNjcmlwdCIpKSxyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocikpO3JldHVybiBlfVMuZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxjbG9uZTpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGwsYz1lLmNsb25lTm9kZSghMCksZj1pZShlKTtpZighKHkubm9DbG9uZUNoZWNrZWR8fDEhPT1lLm5vZGVUeXBlJiYxMSE9PWUubm9kZVR5cGV8fFMuaXNYTUxEb2MoZSkpKWZvcihhPXZlKGMpLHI9MCxpPShvPXZlKGUpKS5sZW5ndGg7cjxpO3IrKylzPW9bcl0sdT1hW3JdLHZvaWQgMCwiaW5wdXQiPT09KGw9dS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKSYmcGUudGVzdChzLnR5cGUpP3UuY2hlY2tlZD1zLmNoZWNrZWQ6ImlucHV0IiE9PWwmJiJ0ZXh0YXJlYSIhPT1sfHwodS5kZWZhdWx0VmFsdWU9cy5kZWZhdWx0VmFsdWUpO2lmKHQpaWYobilmb3Iobz1vfHx2ZShlKSxhPWF8fHZlKGMpLHI9MCxpPW8ubGVuZ3RoO3I8aTtyKyspT2Uob1tyXSxhW3JdKTtlbHNlIE9lKGUsYyk7cmV0dXJuIDA8KGE9dmUoYywic2NyaXB0IikpLmxlbmd0aCYmeWUoYSwhZiYmdmUoZSwic2NyaXB0IikpLGN9LGNsZWFuRGF0YTpmdW5jdGlvbihlKXtmb3IodmFyIHQsbixyLGk9Uy5ldmVudC5zcGVjaWFsLG89MDt2b2lkIDAhPT0obj1lW29dKTtvKyspaWYoVihuKSl7aWYodD1uW1kuZXhwYW5kb10pe2lmKHQuZXZlbnRzKWZvcihyIGluIHQuZXZlbnRzKWlbcl0/Uy5ldmVudC5yZW1vdmUobixyKTpTLnJlbW92ZUV2ZW50KG4scix0LmhhbmRsZSk7bltZLmV4cGFuZG9dPXZvaWQgMH1uW1EuZXhwYW5kb10mJihuW1EuZXhwYW5kb109dm9pZCAwKX19fSksUy5mbi5leHRlbmQoe2RldGFjaDpmdW5jdGlvbihlKXtyZXR1cm4gUmUodGhpcyxlLCEwKX0scmVtb3ZlOmZ1bmN0aW9uKGUpe3JldHVybiBSZSh0aGlzLGUpfSx0ZXh0OmZ1bmN0aW9uKGUpe3JldHVybiAkKHRoaXMsZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWU/Uy50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5lYWNoKGZ1bmN0aW9uKCl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fCh0aGlzLnRleHRDb250ZW50PWUpfSl9LG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIFBlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpezEhPT10aGlzLm5vZGVUeXBlJiYxMSE9PXRoaXMubm9kZVR5cGUmJjkhPT10aGlzLm5vZGVUeXBlfHxxZSh0aGlzLGUpLmFwcGVuZENoaWxkKGUpfSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gUGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciB0PXFlKHRoaXMsZSk7dC5pbnNlcnRCZWZvcmUoZSx0LmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gUGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gUGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsdGhpcy5uZXh0U2libGluZyl9KX0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD0wO251bGwhPShlPXRoaXNbdF0pO3QrKykxPT09ZS5ub2RlVHlwZSYmKFMuY2xlYW5EYXRhKHZlKGUsITEpKSxlLnRleHRDb250ZW50PSIiKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1udWxsIT1lJiZlLHQ9bnVsbD09dD9lOnQsdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gUy5jbG9uZSh0aGlzLGUsdCl9KX0saHRtbDpmdW5jdGlvbihlKXtyZXR1cm4gJCh0aGlzLGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXNbMF18fHt9LG49MCxyPXRoaXMubGVuZ3RoO2lmKHZvaWQgMD09PWUmJjE9PT10Lm5vZGVUeXBlKXJldHVybiB0LmlubmVySFRNTDtpZigic3RyaW5nIj09dHlwZW9mIGUmJiFOZS50ZXN0KGUpJiYhZ2VbKGRlLmV4ZWMoZSl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCldKXtlPVMuaHRtbFByZWZpbHRlcihlKTt0cnl7Zm9yKDtuPHI7bisrKTE9PT0odD10aGlzW25dfHx7fSkubm9kZVR5cGUmJihTLmNsZWFuRGF0YSh2ZSh0LCExKSksdC5pbm5lckhUTUw9ZSk7dD0wfWNhdGNoKGUpe319dCYmdGhpcy5lbXB0eSgpLmFwcGVuZChlKX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBuPVtdO3JldHVybiBQZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt2YXIgdD10aGlzLnBhcmVudE5vZGU7Uy5pbkFycmF5KHRoaXMsbik8MCYmKFMuY2xlYW5EYXRhKHZlKHRoaXMpKSx0JiZ0LnJlcGxhY2VDaGlsZChlLHRoaXMpKX0sbil9fSksUy5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oZSxhKXtTLmZuW2VdPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPVtdLHI9UyhlKSxpPXIubGVuZ3RoLTEsbz0wO288PWk7bysrKXQ9bz09PWk/dGhpczp0aGlzLmNsb25lKCEwKSxTKHJbb10pW2FdKHQpLHUuYXBwbHkobix0LmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobil9fSk7dmFyIE1lPW5ldyBSZWdFeHAoIl4oIitlZSsiKSg/IXB4KVthLXolXSskIiwiaSIpLEllPWZ1bmN0aW9uKGUpe3ZhciB0PWUub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztyZXR1cm4gdCYmdC5vcGVuZXJ8fCh0PUMpLHQuZ2V0Q29tcHV0ZWRTdHlsZShlKX0sV2U9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz17fTtmb3IoaSBpbiB0KW9baV09ZS5zdHlsZVtpXSxlLnN0eWxlW2ldPXRbaV07Zm9yKGkgaW4gcj1uLmNhbGwoZSksdCllLnN0eWxlW2ldPW9baV07cmV0dXJuIHJ9LEZlPW5ldyBSZWdFeHAobmUuam9pbigifCIpLCJpIik7ZnVuY3Rpb24gQmUoZSx0LG4pe3ZhciByLGksbyxhLHM9ZS5zdHlsZTtyZXR1cm4obj1ufHxJZShlKSkmJigiIiE9PShhPW4uZ2V0UHJvcGVydHlWYWx1ZSh0KXx8blt0XSl8fGllKGUpfHwoYT1TLnN0eWxlKGUsdCkpLCF5LnBpeGVsQm94U3R5bGVzKCkmJk1lLnRlc3QoYSkmJkZlLnRlc3QodCkmJihyPXMud2lkdGgsaT1zLm1pbldpZHRoLG89cy5tYXhXaWR0aCxzLm1pbldpZHRoPXMubWF4V2lkdGg9cy53aWR0aD1hLGE9bi53aWR0aCxzLndpZHRoPXIscy5taW5XaWR0aD1pLHMubWF4V2lkdGg9bykpLHZvaWQgMCE9PWE/YSsiIjphfWZ1bmN0aW9uICRlKGUsdCl7cmV0dXJue2dldDpmdW5jdGlvbigpe2lmKCFlKCkpcmV0dXJuKHRoaXMuZ2V0PXQpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtkZWxldGUgdGhpcy5nZXR9fX0hZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7aWYobCl7dS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMTExMXB4O3dpZHRoOjYwcHg7bWFyZ2luLXRvcDoxcHg7cGFkZGluZzowO2JvcmRlcjowIixsLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OnNjcm9sbDttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3dpZHRoOjYwJTt0b3A6MSUiLHJlLmFwcGVuZENoaWxkKHUpLmFwcGVuZENoaWxkKGwpO3ZhciBlPUMuZ2V0Q29tcHV0ZWRTdHlsZShsKTtuPSIxJSIhPT1lLnRvcCxzPTEyPT09dChlLm1hcmdpbkxlZnQpLGwuc3R5bGUucmlnaHQ9IjYwJSIsbz0zNj09PXQoZS5yaWdodCkscj0zNj09PXQoZS53aWR0aCksbC5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLGk9MTI9PT10KGwub2Zmc2V0V2lkdGgvMykscmUucmVtb3ZlQ2hpbGQodSksbD1udWxsfX1mdW5jdGlvbiB0KGUpe3JldHVybiBNYXRoLnJvdW5kKHBhcnNlRmxvYXQoZSkpfXZhciBuLHIsaSxvLGEscyx1PUUuY3JlYXRlRWxlbWVudCgiZGl2IiksbD1FLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuc3R5bGUmJihsLnN0eWxlLmJhY2tncm91bmRDbGlwPSJjb250ZW50LWJveCIsbC5jbG9uZU5vZGUoITApLnN0eWxlLmJhY2tncm91bmRDbGlwPSIiLHkuY2xlYXJDbG9uZVN0eWxlPSJjb250ZW50LWJveCI9PT1sLnN0eWxlLmJhY2tncm91bmRDbGlwLFMuZXh0ZW5kKHkse2JveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxyfSxwaXhlbEJveFN0eWxlczpmdW5jdGlvbigpe3JldHVybiBlKCksb30scGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiBlKCksbn0scmVsaWFibGVNYXJnaW5MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxzfSxzY3JvbGxib3hTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxpfSxyZWxpYWJsZVRyRGltZW5zaW9uczpmdW5jdGlvbigpe3ZhciBlLHQsbixyO3JldHVybiBudWxsPT1hJiYoZT1FLmNyZWF0ZUVsZW1lbnQoInRhYmxlIiksdD1FLmNyZWF0ZUVsZW1lbnQoInRyIiksbj1FLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTExMTFweCIsdC5zdHlsZS5oZWlnaHQ9IjFweCIsbi5zdHlsZS5oZWlnaHQ9IjlweCIscmUuYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQodCkuYXBwZW5kQ2hpbGQobikscj1DLmdldENvbXB1dGVkU3R5bGUodCksYT0zPHBhcnNlSW50KHIuaGVpZ2h0KSxyZS5yZW1vdmVDaGlsZChlKSksYX19KSl9KCk7dmFyIF9lPVsiV2Via2l0IiwiTW96IiwibXMiXSx6ZT1FLmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLFVlPXt9O2Z1bmN0aW9uIFhlKGUpe3ZhciB0PVMuY3NzUHJvcHNbZV18fFVlW2VdO3JldHVybiB0fHwoZSBpbiB6ZT9lOlVlW2VdPWZ1bmN0aW9uKGUpe3ZhciB0PWVbMF0udG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG49X2UubGVuZ3RoO3doaWxlKG4tLSlpZigoZT1fZVtuXSt0KWluIHplKXJldHVybiBlfShlKXx8ZSl9dmFyIFZlPS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxHZT0vXi0tLyxZZT17cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJoaWRkZW4iLGRpc3BsYXk6ImJsb2NrIn0sUWU9e2xldHRlclNwYWNpbmc6IjAiLGZvbnRXZWlnaHQ6IjQwMCJ9O2Z1bmN0aW9uIEplKGUsdCxuKXt2YXIgcj10ZS5leGVjKHQpO3JldHVybiByP01hdGgubWF4KDAsclsyXS0obnx8MCkpKyhyWzNdfHwicHgiKTp0fWZ1bmN0aW9uIEtlKGUsdCxuLHIsaSxvKXt2YXIgYT0id2lkdGgiPT09dD8xOjAscz0wLHU9MDtpZihuPT09KHI/ImJvcmRlciI6ImNvbnRlbnQiKSlyZXR1cm4gMDtmb3IoO2E8NDthKz0yKSJtYXJnaW4iPT09biYmKHUrPVMuY3NzKGUsbituZVthXSwhMCxpKSkscj8oImNvbnRlbnQiPT09biYmKHUtPVMuY3NzKGUsInBhZGRpbmciK25lW2FdLCEwLGkpKSwibWFyZ2luIiE9PW4mJih1LT1TLmNzcyhlLCJib3JkZXIiK25lW2FdKyJXaWR0aCIsITAsaSkpKToodSs9Uy5jc3MoZSwicGFkZGluZyIrbmVbYV0sITAsaSksInBhZGRpbmciIT09bj91Kz1TLmNzcyhlLCJib3JkZXIiK25lW2FdKyJXaWR0aCIsITAsaSk6cys9Uy5jc3MoZSwiYm9yZGVyIituZVthXSsiV2lkdGgiLCEwLGkpKTtyZXR1cm4hciYmMDw9byYmKHUrPU1hdGgubWF4KDAsTWF0aC5jZWlsKGVbIm9mZnNldCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSldLW8tdS1zLS41KSl8fDApLHV9ZnVuY3Rpb24gWmUoZSx0LG4pe3ZhciByPUllKGUpLGk9KCF5LmJveFNpemluZ1JlbGlhYmxlKCl8fG4pJiYiYm9yZGVyLWJveCI9PT1TLmNzcyhlLCJib3hTaXppbmciLCExLHIpLG89aSxhPUJlKGUsdCxyKSxzPSJvZmZzZXQiK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpO2lmKE1lLnRlc3QoYSkpe2lmKCFuKXJldHVybiBhO2E9ImF1dG8ifXJldHVybigheS5ib3hTaXppbmdSZWxpYWJsZSgpJiZpfHwheS5yZWxpYWJsZVRyRGltZW5zaW9ucygpJiZBKGUsInRyIil8fCJhdXRvIj09PWF8fCFwYXJzZUZsb2F0KGEpJiYiaW5saW5lIj09PVMuY3NzKGUsImRpc3BsYXkiLCExLHIpKSYmZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmKGk9ImJvcmRlci1ib3giPT09Uy5jc3MoZSwiYm94U2l6aW5nIiwhMSxyKSwobz1zIGluIGUpJiYoYT1lW3NdKSksKGE9cGFyc2VGbG9hdChhKXx8MCkrS2UoZSx0LG58fChpPyJib3JkZXIiOiJjb250ZW50IiksbyxyLGEpKyJweCJ9ZnVuY3Rpb24gZXQoZSx0LG4scixpKXtyZXR1cm4gbmV3IGV0LnByb3RvdHlwZS5pbml0KGUsdCxuLHIsaSl9Uy5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oZSx0KXtpZih0KXt2YXIgbj1CZShlLCJvcGFjaXR5Iik7cmV0dXJuIiI9PT1uPyIxIjpufX19fSxjc3NOdW1iZXI6e2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiEwLGNvbHVtbkNvdW50OiEwLGZpbGxPcGFjaXR5OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxncmlkQXJlYTohMCxncmlkQ29sdW1uOiEwLGdyaWRDb2x1bW5FbmQ6ITAsZ3JpZENvbHVtblN0YXJ0OiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3RhcnQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7fSxzdHlsZTpmdW5jdGlvbihlLHQsbixyKXtpZihlJiYzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJmUuc3R5bGUpe3ZhciBpLG8sYSxzPVgodCksdT1HZS50ZXN0KHQpLGw9ZS5zdHlsZTtpZih1fHwodD1YZShzKSksYT1TLmNzc0hvb2tzW3RdfHxTLmNzc0hvb2tzW3NdLHZvaWQgMD09PW4pcmV0dXJuIGEmJiJnZXQiaW4gYSYmdm9pZCAwIT09KGk9YS5nZXQoZSwhMSxyKSk/aTpsW3RdOyJzdHJpbmciPT09KG89dHlwZW9mIG4pJiYoaT10ZS5leGVjKG4pKSYmaVsxXSYmKG49c2UoZSx0LGkpLG89Im51bWJlciIpLG51bGwhPW4mJm49PW4mJigibnVtYmVyIiE9PW98fHV8fChuKz1pJiZpWzNdfHwoUy5jc3NOdW1iZXJbc10/IiI6InB4IikpLHkuY2xlYXJDbG9uZVN0eWxlfHwiIiE9PW58fDAhPT10LmluZGV4T2YoImJhY2tncm91bmQiKXx8KGxbdF09ImluaGVyaXQiKSxhJiYic2V0ImluIGEmJnZvaWQgMD09PShuPWEuc2V0KGUsbixyKSl8fCh1P2wuc2V0UHJvcGVydHkodCxuKTpsW3RdPW4pKX19LGNzczpmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscz1YKHQpO3JldHVybiBHZS50ZXN0KHQpfHwodD1YZShzKSksKGE9Uy5jc3NIb29rc1t0XXx8Uy5jc3NIb29rc1tzXSkmJiJnZXQiaW4gYSYmKGk9YS5nZXQoZSwhMCxuKSksdm9pZCAwPT09aSYmKGk9QmUoZSx0LHIpKSwibm9ybWFsIj09PWkmJnQgaW4gUWUmJihpPVFlW3RdKSwiIj09PW58fG4/KG89cGFyc2VGbG9hdChpKSwhMD09PW58fGlzRmluaXRlKG8pP298fDA6aSk6aX19KSxTLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLGZ1bmN0aW9uKGUsdSl7Uy5jc3NIb29rc1t1XT17Z2V0OmZ1bmN0aW9uKGUsdCxuKXtpZih0KXJldHVybiFWZS50ZXN0KFMuY3NzKGUsImRpc3BsYXkiKSl8fGUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgmJmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg/WmUoZSx1LG4pOldlKGUsWWUsZnVuY3Rpb24oKXtyZXR1cm4gWmUoZSx1LG4pfSl9LHNldDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaT1JZShlKSxvPSF5LnNjcm9sbGJveFNpemUoKSYmImFic29sdXRlIj09PWkucG9zaXRpb24sYT0ob3x8bikmJiJib3JkZXItYm94Ij09PVMuY3NzKGUsImJveFNpemluZyIsITEsaSkscz1uP0tlKGUsdSxuLGEsaSk6MDtyZXR1cm4gYSYmbyYmKHMtPU1hdGguY2VpbChlWyJvZmZzZXQiK3VbMF0udG9VcHBlckNhc2UoKSt1LnNsaWNlKDEpXS1wYXJzZUZsb2F0KGlbdV0pLUtlKGUsdSwiYm9yZGVyIiwhMSxpKS0uNSkpLHMmJihyPXRlLmV4ZWModCkpJiYicHgiIT09KHJbM118fCJweCIpJiYoZS5zdHlsZVt1XT10LHQ9Uy5jc3MoZSx1KSksSmUoMCx0LHMpfX19KSxTLmNzc0hvb2tzLm1hcmdpbkxlZnQ9JGUoeS5yZWxpYWJsZU1hcmdpbkxlZnQsZnVuY3Rpb24oZSx0KXtpZih0KXJldHVybihwYXJzZUZsb2F0KEJlKGUsIm1hcmdpbkxlZnQiKSl8fGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1XZShlLHttYXJnaW5MZWZ0OjB9LGZ1bmN0aW9uKCl7cmV0dXJuIGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0pKSsicHgifSksUy5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oaSxvKXtTLmNzc0hvb2tzW2krb109e2V4cGFuZDpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxuPXt9LHI9InN0cmluZyI9PXR5cGVvZiBlP2Uuc3BsaXQoIiAiKTpbZV07dDw0O3QrKyluW2krbmVbdF0rb109clt0XXx8clt0LTJdfHxyWzBdO3JldHVybiBufX0sIm1hcmdpbiIhPT1pJiYoUy5jc3NIb29rc1tpK29dLnNldD1KZSl9KSxTLmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuICQodGhpcyxmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9LGE9MDtpZihBcnJheS5pc0FycmF5KHQpKXtmb3Iocj1JZShlKSxpPXQubGVuZ3RoO2E8aTthKyspb1t0W2FdXT1TLmNzcyhlLHRbYV0sITEscik7cmV0dXJuIG99cmV0dXJuIHZvaWQgMCE9PW4/Uy5zdHlsZShlLHQsbik6Uy5jc3MoZSx0KX0sZSx0LDE8YXJndW1lbnRzLmxlbmd0aCl9fSksKChTLlR3ZWVuPWV0KS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmV0LGluaXQ6ZnVuY3Rpb24oZSx0LG4scixpLG8pe3RoaXMuZWxlbT1lLHRoaXMucHJvcD1uLHRoaXMuZWFzaW5nPWl8fFMuZWFzaW5nLl9kZWZhdWx0LHRoaXMub3B0aW9ucz10LHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD1yLHRoaXMudW5pdD1vfHwoUy5jc3NOdW1iZXJbbl0/IiI6InB4Iil9LGN1cjpmdW5jdGlvbigpe3ZhciBlPWV0LnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBlJiZlLmdldD9lLmdldCh0aGlzKTpldC5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24oZSl7dmFyIHQsbj1ldC5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uP3RoaXMucG9zPXQ9Uy5lYXNpbmdbdGhpcy5lYXNpbmddKGUsdGhpcy5vcHRpb25zLmR1cmF0aW9uKmUsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9dD1lLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSp0K3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLG4mJm4uc2V0P24uc2V0KHRoaXMpOmV0LnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319KS5pbml0LnByb3RvdHlwZT1ldC5wcm90b3R5cGUsKGV0LnByb3BIb29rcz17X2RlZmF1bHQ6e2dldDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gMSE9PWUuZWxlbS5ub2RlVHlwZXx8bnVsbCE9ZS5lbGVtW2UucHJvcF0mJm51bGw9PWUuZWxlbS5zdHlsZVtlLnByb3BdP2UuZWxlbVtlLnByb3BdOih0PVMuY3NzKGUuZWxlbSxlLnByb3AsIiIpKSYmImF1dG8iIT09dD90OjB9LHNldDpmdW5jdGlvbihlKXtTLmZ4LnN0ZXBbZS5wcm9wXT9TLmZ4LnN0ZXBbZS5wcm9wXShlKToxIT09ZS5lbGVtLm5vZGVUeXBlfHwhUy5jc3NIb29rc1tlLnByb3BdJiZudWxsPT1lLmVsZW0uc3R5bGVbWGUoZS5wcm9wKV0/ZS5lbGVtW2UucHJvcF09ZS5ub3c6Uy5zdHlsZShlLmVsZW0sZS5wcm9wLGUubm93K2UudW5pdCl9fX0pLnNjcm9sbFRvcD1ldC5wcm9wSG9va3Muc2Nyb2xsTGVmdD17c2V0OmZ1bmN0aW9uKGUpe2UuZWxlbS5ub2RlVHlwZSYmZS5lbGVtLnBhcmVudE5vZGUmJihlLmVsZW1bZS5wcm9wXT1lLm5vdyl9fSxTLmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxzd2luZzpmdW5jdGlvbihlKXtyZXR1cm4uNS1NYXRoLmNvcyhlKk1hdGguUEkpLzJ9LF9kZWZhdWx0OiJzd2luZyJ9LFMuZng9ZXQucHJvdG90eXBlLmluaXQsUy5meC5zdGVwPXt9O3ZhciB0dCxudCxydCxpdCxvdD0vXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sYXQ9L3F1ZXVlSG9va3MkLztmdW5jdGlvbiBzdCgpe250JiYoITE9PT1FLmhpZGRlbiYmQy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/Qy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc3QpOkMuc2V0VGltZW91dChzdCxTLmZ4LmludGVydmFsKSxTLmZ4LnRpY2soKSl9ZnVuY3Rpb24gdXQoKXtyZXR1cm4gQy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dHQ9dm9pZCAwfSksdHQ9RGF0ZS5ub3coKX1mdW5jdGlvbiBsdChlLHQpe3ZhciBuLHI9MCxpPXtoZWlnaHQ6ZX07Zm9yKHQ9dD8xOjA7cjw0O3IrPTItdClpWyJtYXJnaW4iKyhuPW5lW3JdKV09aVsicGFkZGluZyIrbl09ZTtyZXR1cm4gdCYmKGkub3BhY2l0eT1pLndpZHRoPWUpLGl9ZnVuY3Rpb24gY3QoZSx0LG4pe2Zvcih2YXIgcixpPShmdC50d2VlbmVyc1t0XXx8W10pLmNvbmNhdChmdC50d2VlbmVyc1siKiJdKSxvPTAsYT1pLmxlbmd0aDtvPGE7bysrKWlmKHI9aVtvXS5jYWxsKG4sdCxlKSlyZXR1cm4gcn1mdW5jdGlvbiBmdChvLGUsdCl7dmFyIG4sYSxyPTAsaT1mdC5wcmVmaWx0ZXJzLmxlbmd0aCxzPVMuRGVmZXJyZWQoKS5hbHdheXMoZnVuY3Rpb24oKXtkZWxldGUgdS5lbGVtfSksdT1mdW5jdGlvbigpe2lmKGEpcmV0dXJuITE7Zm9yKHZhciBlPXR0fHx1dCgpLHQ9TWF0aC5tYXgoMCxsLnN0YXJ0VGltZStsLmR1cmF0aW9uLWUpLG49MS0odC9sLmR1cmF0aW9ufHwwKSxyPTAsaT1sLnR3ZWVucy5sZW5ndGg7cjxpO3IrKylsLnR3ZWVuc1tyXS5ydW4obik7cmV0dXJuIHMubm90aWZ5V2l0aChvLFtsLG4sdF0pLG48MSYmaT90OihpfHxzLm5vdGlmeVdpdGgobyxbbCwxLDBdKSxzLnJlc29sdmVXaXRoKG8sW2xdKSwhMSl9LGw9cy5wcm9taXNlKHtlbGVtOm8scHJvcHM6Uy5leHRlbmQoe30sZSksb3B0czpTLmV4dGVuZCghMCx7c3BlY2lhbEVhc2luZzp7fSxlYXNpbmc6Uy5lYXNpbmcuX2RlZmF1bHR9LHQpLG9yaWdpbmFsUHJvcGVydGllczplLG9yaWdpbmFsT3B0aW9uczp0LHN0YXJ0VGltZTp0dHx8dXQoKSxkdXJhdGlvbjp0LmR1cmF0aW9uLHR3ZWVuczpbXSxjcmVhdGVUd2VlbjpmdW5jdGlvbihlLHQpe3ZhciBuPVMuVHdlZW4obyxsLm9wdHMsZSx0LGwub3B0cy5zcGVjaWFsRWFzaW5nW2VdfHxsLm9wdHMuZWFzaW5nKTtyZXR1cm4gbC50d2VlbnMucHVzaChuKSxufSxzdG9wOmZ1bmN0aW9uKGUpe3ZhciB0PTAsbj1lP2wudHdlZW5zLmxlbmd0aDowO2lmKGEpcmV0dXJuIHRoaXM7Zm9yKGE9ITA7dDxuO3QrKylsLnR3ZWVuc1t0XS5ydW4oMSk7cmV0dXJuIGU/KHMubm90aWZ5V2l0aChvLFtsLDEsMF0pLHMucmVzb2x2ZVdpdGgobyxbbCxlXSkpOnMucmVqZWN0V2l0aChvLFtsLGVdKSx0aGlzfX0pLGM9bC5wcm9wcztmb3IoIWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYTtmb3IobiBpbiBlKWlmKGk9dFtyPVgobildLG89ZVtuXSxBcnJheS5pc0FycmF5KG8pJiYoaT1vWzFdLG89ZVtuXT1vWzBdKSxuIT09ciYmKGVbcl09byxkZWxldGUgZVtuXSksKGE9Uy5jc3NIb29rc1tyXSkmJiJleHBhbmQiaW4gYSlmb3IobiBpbiBvPWEuZXhwYW5kKG8pLGRlbGV0ZSBlW3JdLG8pbiBpbiBlfHwoZVtuXT1vW25dLHRbbl09aSk7ZWxzZSB0W3JdPWl9KGMsbC5vcHRzLnNwZWNpYWxFYXNpbmcpO3I8aTtyKyspaWYobj1mdC5wcmVmaWx0ZXJzW3JdLmNhbGwobCxvLGMsbC5vcHRzKSlyZXR1cm4gbShuLnN0b3ApJiYoUy5fcXVldWVIb29rcyhsLmVsZW0sbC5vcHRzLnF1ZXVlKS5zdG9wPW4uc3RvcC5iaW5kKG4pKSxuO3JldHVybiBTLm1hcChjLGN0LGwpLG0obC5vcHRzLnN0YXJ0KSYmbC5vcHRzLnN0YXJ0LmNhbGwobyxsKSxsLnByb2dyZXNzKGwub3B0cy5wcm9ncmVzcykuZG9uZShsLm9wdHMuZG9uZSxsLm9wdHMuY29tcGxldGUpLmZhaWwobC5vcHRzLmZhaWwpLmFsd2F5cyhsLm9wdHMuYWx3YXlzKSxTLmZ4LnRpbWVyKFMuZXh0ZW5kKHUse2VsZW06byxhbmltOmwscXVldWU6bC5vcHRzLnF1ZXVlfSkpLGx9Uy5BbmltYXRpb249Uy5leHRlbmQoZnQse3R3ZWVuZXJzOnsiKiI6W2Z1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5jcmVhdGVUd2VlbihlLHQpO3JldHVybiBzZShuLmVsZW0sZSx0ZS5leGVjKHQpLG4pLG59XX0sdHdlZW5lcjpmdW5jdGlvbihlLHQpe20oZSk/KHQ9ZSxlPVsiKiJdKTplPWUubWF0Y2goUCk7Zm9yKHZhciBuLHI9MCxpPWUubGVuZ3RoO3I8aTtyKyspbj1lW3JdLGZ0LnR3ZWVuZXJzW25dPWZ0LnR3ZWVuZXJzW25dfHxbXSxmdC50d2VlbmVyc1tuXS51bnNoaWZ0KHQpfSxwcmVmaWx0ZXJzOltmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGwsYyxmPSJ3aWR0aCJpbiB0fHwiaGVpZ2h0ImluIHQscD10aGlzLGQ9e30saD1lLnN0eWxlLGc9ZS5ub2RlVHlwZSYmYWUoZSksdj1ZLmdldChlLCJmeHNob3ciKTtmb3IociBpbiBuLnF1ZXVlfHwobnVsbD09KGE9Uy5fcXVldWVIb29rcyhlLCJmeCIpKS51bnF1ZXVlZCYmKGEudW5xdWV1ZWQ9MCxzPWEuZW1wdHkuZmlyZSxhLmVtcHR5LmZpcmU9ZnVuY3Rpb24oKXthLnVucXVldWVkfHxzKCl9KSxhLnVucXVldWVkKysscC5hbHdheXMoZnVuY3Rpb24oKXtwLmFsd2F5cyhmdW5jdGlvbigpe2EudW5xdWV1ZWQtLSxTLnF1ZXVlKGUsImZ4IikubGVuZ3RofHxhLmVtcHR5LmZpcmUoKX0pfSkpLHQpaWYoaT10W3JdLG90LnRlc3QoaSkpe2lmKGRlbGV0ZSB0W3JdLG89b3x8InRvZ2dsZSI9PT1pLGk9PT0oZz8iaGlkZSI6InNob3ciKSl7aWYoInNob3ciIT09aXx8IXZ8fHZvaWQgMD09PXZbcl0pY29udGludWU7Zz0hMH1kW3JdPXYmJnZbcl18fFMuc3R5bGUoZSxyKX1pZigodT0hUy5pc0VtcHR5T2JqZWN0KHQpKXx8IVMuaXNFbXB0eU9iamVjdChkKSlmb3IociBpbiBmJiYxPT09ZS5ub2RlVHlwZSYmKG4ub3ZlcmZsb3c9W2gub3ZlcmZsb3csaC5vdmVyZmxvd1gsaC5vdmVyZmxvd1ldLG51bGw9PShsPXYmJnYuZGlzcGxheSkmJihsPVkuZ2V0KGUsImRpc3BsYXkiKSksIm5vbmUiPT09KGM9Uy5jc3MoZSwiZGlzcGxheSIpKSYmKGw/Yz1sOihsZShbZV0sITApLGw9ZS5zdHlsZS5kaXNwbGF5fHxsLGM9Uy5jc3MoZSwiZGlzcGxheSIpLGxlKFtlXSkpKSwoImlubGluZSI9PT1jfHwiaW5saW5lLWJsb2NrIj09PWMmJm51bGwhPWwpJiYibm9uZSI9PT1TLmNzcyhlLCJmbG9hdCIpJiYodXx8KHAuZG9uZShmdW5jdGlvbigpe2guZGlzcGxheT1sfSksbnVsbD09bCYmKGM9aC5kaXNwbGF5LGw9Im5vbmUiPT09Yz8iIjpjKSksaC5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksbi5vdmVyZmxvdyYmKGgub3ZlcmZsb3c9ImhpZGRlbiIscC5hbHdheXMoZnVuY3Rpb24oKXtoLm92ZXJmbG93PW4ub3ZlcmZsb3dbMF0saC5vdmVyZmxvd1g9bi5vdmVyZmxvd1sxXSxoLm92ZXJmbG93WT1uLm92ZXJmbG93WzJdfSkpLHU9ITEsZCl1fHwodj8iaGlkZGVuImluIHYmJihnPXYuaGlkZGVuKTp2PVkuYWNjZXNzKGUsImZ4c2hvdyIse2Rpc3BsYXk6bH0pLG8mJih2LmhpZGRlbj0hZyksZyYmbGUoW2VdLCEwKSxwLmRvbmUoZnVuY3Rpb24oKXtmb3IociBpbiBnfHxsZShbZV0pLFkucmVtb3ZlKGUsImZ4c2hvdyIpLGQpUy5zdHlsZShlLHIsZFtyXSl9KSksdT1jdChnP3Zbcl06MCxyLHApLHIgaW4gdnx8KHZbcl09dS5zdGFydCxnJiYodS5lbmQ9dS5zdGFydCx1LnN0YXJ0PTApKX1dLHByZWZpbHRlcjpmdW5jdGlvbihlLHQpe3Q/ZnQucHJlZmlsdGVycy51bnNoaWZ0KGUpOmZ0LnByZWZpbHRlcnMucHVzaChlKX19KSxTLnNwZWVkPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lJiYib2JqZWN0Ij09dHlwZW9mIGU/Uy5leHRlbmQoe30sZSk6e2NvbXBsZXRlOm58fCFuJiZ0fHxtKGUpJiZlLGR1cmF0aW9uOmUsZWFzaW5nOm4mJnR8fHQmJiFtKHQpJiZ0fTtyZXR1cm4gUy5meC5vZmY/ci5kdXJhdGlvbj0wOiJudW1iZXIiIT10eXBlb2Ygci5kdXJhdGlvbiYmKHIuZHVyYXRpb24gaW4gUy5meC5zcGVlZHM/ci5kdXJhdGlvbj1TLmZ4LnNwZWVkc1tyLmR1cmF0aW9uXTpyLmR1cmF0aW9uPVMuZnguc3BlZWRzLl9kZWZhdWx0KSxudWxsIT1yLnF1ZXVlJiYhMCE9PXIucXVldWV8fChyLnF1ZXVlPSJmeCIpLHIub2xkPXIuY29tcGxldGUsci5jb21wbGV0ZT1mdW5jdGlvbigpe20oci5vbGQpJiZyLm9sZC5jYWxsKHRoaXMpLHIucXVldWUmJlMuZGVxdWV1ZSh0aGlzLHIucXVldWUpfSxyfSxTLmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLmZpbHRlcihhZSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4scil9LGFuaW1hdGU6ZnVuY3Rpb24odCxlLG4scil7dmFyIGk9Uy5pc0VtcHR5T2JqZWN0KHQpLG89Uy5zcGVlZChlLG4sciksYT1mdW5jdGlvbigpe3ZhciBlPWZ0KHRoaXMsUy5leHRlbmQoe30sdCksbyk7KGl8fFkuZ2V0KHRoaXMsImZpbmlzaCIpKSYmZS5zdG9wKCEwKX07cmV0dXJuIGEuZmluaXNoPWEsaXx8ITE9PT1vLnF1ZXVlP3RoaXMuZWFjaChhKTp0aGlzLnF1ZXVlKG8ucXVldWUsYSl9LHN0b3A6ZnVuY3Rpb24oaSxlLG8pe3ZhciBhPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3RvcDtkZWxldGUgZS5zdG9wLHQobyl9O3JldHVybiJzdHJpbmciIT10eXBlb2YgaSYmKG89ZSxlPWksaT12b2lkIDApLGUmJnRoaXMucXVldWUoaXx8ImZ4IixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9ITAsdD1udWxsIT1pJiZpKyJxdWV1ZUhvb2tzIixuPVMudGltZXJzLHI9WS5nZXQodGhpcyk7aWYodClyW3RdJiZyW3RdLnN0b3AmJmEoclt0XSk7ZWxzZSBmb3IodCBpbiByKXJbdF0mJnJbdF0uc3RvcCYmYXQudGVzdCh0KSYmYShyW3RdKTtmb3IodD1uLmxlbmd0aDt0LS07KW5bdF0uZWxlbSE9PXRoaXN8fG51bGwhPWkmJm5bdF0ucXVldWUhPT1pfHwoblt0XS5hbmltLnN0b3AobyksZT0hMSxuLnNwbGljZSh0LDEpKTshZSYmb3x8Uy5kZXF1ZXVlKHRoaXMsaSl9KX0sZmluaXNoOmZ1bmN0aW9uKGEpe3JldHVybiExIT09YSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGUsdD1ZLmdldCh0aGlzKSxuPXRbYSsicXVldWUiXSxyPXRbYSsicXVldWVIb29rcyJdLGk9Uy50aW1lcnMsbz1uP24ubGVuZ3RoOjA7Zm9yKHQuZmluaXNoPSEwLFMucXVldWUodGhpcyxhLFtdKSxyJiZyLnN0b3AmJnIuc3RvcC5jYWxsKHRoaXMsITApLGU9aS5sZW5ndGg7ZS0tOylpW2VdLmVsZW09PT10aGlzJiZpW2VdLnF1ZXVlPT09YSYmKGlbZV0uYW5pbS5zdG9wKCEwKSxpLnNwbGljZShlLDEpKTtmb3IoZT0wO2U8bztlKyspbltlXSYmbltlXS5maW5pc2gmJm5bZV0uZmluaXNoLmNhbGwodGhpcyk7ZGVsZXRlIHQuZmluaXNofSl9fSksUy5lYWNoKFsidG9nZ2xlIiwic2hvdyIsImhpZGUiXSxmdW5jdGlvbihlLHIpe3ZhciBpPVMuZm5bcl07Uy5mbltyXT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG51bGw9PWV8fCJib29sZWFuIj09dHlwZW9mIGU/aS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dGhpcy5hbmltYXRlKGx0KHIsITApLGUsdCxuKX19KSxTLmVhY2goe3NsaWRlRG93bjpsdCgic2hvdyIpLHNsaWRlVXA6bHQoImhpZGUiKSxzbGlkZVRvZ2dsZTpsdCgidG9nZ2xlIiksZmFkZUluOntvcGFjaXR5OiJzaG93In0sZmFkZU91dDp7b3BhY2l0eToiaGlkZSJ9LGZhZGVUb2dnbGU6e29wYWNpdHk6InRvZ2dsZSJ9fSxmdW5jdGlvbihlLHIpe1MuZm5bZV09ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLmFuaW1hdGUocixlLHQsbil9fSksUy50aW1lcnM9W10sUy5meC50aWNrPWZ1bmN0aW9uKCl7dmFyIGUsdD0wLG49Uy50aW1lcnM7Zm9yKHR0PURhdGUubm93KCk7dDxuLmxlbmd0aDt0KyspKGU9blt0XSkoKXx8blt0XSE9PWV8fG4uc3BsaWNlKHQtLSwxKTtuLmxlbmd0aHx8Uy5meC5zdG9wKCksdHQ9dm9pZCAwfSxTLmZ4LnRpbWVyPWZ1bmN0aW9uKGUpe1MudGltZXJzLnB1c2goZSksUy5meC5zdGFydCgpfSxTLmZ4LmludGVydmFsPTEzLFMuZnguc3RhcnQ9ZnVuY3Rpb24oKXtudHx8KG50PSEwLHN0KCkpfSxTLmZ4LnN0b3A9ZnVuY3Rpb24oKXtudD1udWxsfSxTLmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxTLmZuLmRlbGF5PWZ1bmN0aW9uKHIsZSl7cmV0dXJuIHI9Uy5meCYmUy5meC5zcGVlZHNbcl18fHIsZT1lfHwiZngiLHRoaXMucXVldWUoZSxmdW5jdGlvbihlLHQpe3ZhciBuPUMuc2V0VGltZW91dChlLHIpO3Quc3RvcD1mdW5jdGlvbigpe0MuY2xlYXJUaW1lb3V0KG4pfX0pfSxydD1FLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksaXQ9RS5jcmVhdGVFbGVtZW50KCJzZWxlY3QiKS5hcHBlbmRDaGlsZChFLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKSxydC50eXBlPSJjaGVja2JveCIseS5jaGVja09uPSIiIT09cnQudmFsdWUseS5vcHRTZWxlY3RlZD1pdC5zZWxlY3RlZCwocnQ9RS5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS52YWx1ZT0idCIscnQudHlwZT0icmFkaW8iLHkucmFkaW9WYWx1ZT0idCI9PT1ydC52YWx1ZTt2YXIgcHQsZHQ9Uy5leHByLmF0dHJIYW5kbGU7Uy5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gJCh0aGlzLFMuYXR0cixlLHQsMTxhcmd1bWVudHMubGVuZ3RoKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Uy5yZW1vdmVBdHRyKHRoaXMsZSl9KX19KSxTLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPWUubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGUuZ2V0QXR0cmlidXRlP1MucHJvcChlLHQsbik6KDE9PT1vJiZTLmlzWE1MRG9jKGUpfHwoaT1TLmF0dHJIb29rc1t0LnRvTG93ZXJDYXNlKCldfHwoUy5leHByLm1hdGNoLmJvb2wudGVzdCh0KT9wdDp2b2lkIDApKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgUy5yZW1vdmVBdHRyKGUsdCk6aSYmInNldCJpbiBpJiZ2b2lkIDAhPT0ocj1pLnNldChlLG4sdCkpP3I6KGUuc2V0QXR0cmlidXRlKHQsbisiIiksbik6aSYmImdldCJpbiBpJiZudWxsIT09KHI9aS5nZXQoZSx0KSk/cjpudWxsPT0ocj1TLmZpbmQuYXR0cihlLHQpKT92b2lkIDA6cil9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGUsdCl7aWYoIXkucmFkaW9WYWx1ZSYmInJhZGlvIj09PXQmJkEoZSwiaW5wdXQiKSl7dmFyIG49ZS52YWx1ZTtyZXR1cm4gZS5zZXRBdHRyaWJ1dGUoInR5cGUiLHQpLG4mJihlLnZhbHVlPW4pLHR9fX19LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTAsaT10JiZ0Lm1hdGNoKFApO2lmKGkmJjE9PT1lLm5vZGVUeXBlKXdoaWxlKG49aVtyKytdKWUucmVtb3ZlQXR0cmlidXRlKG4pfX0pLHB0PXtzZXQ6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiExPT09dD9TLnJlbW92ZUF0dHIoZSxuKTplLnNldEF0dHJpYnV0ZShuLG4pLG59fSxTLmVhY2goUy5leHByLm1hdGNoLmJvb2wuc291cmNlLm1hdGNoKC9cdysvZyksZnVuY3Rpb24oZSx0KXt2YXIgYT1kdFt0XXx8Uy5maW5kLmF0dHI7ZHRbdF09ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz10LnRvTG93ZXJDYXNlKCk7cmV0dXJuIG58fChpPWR0W29dLGR0W29dPXIscj1udWxsIT1hKGUsdCxuKT9vOm51bGwsZHRbb109aSkscn19KTt2YXIgaHQ9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxndD0vXig/OmF8YXJlYSkkL2k7ZnVuY3Rpb24gdnQoZSl7cmV0dXJuKGUubWF0Y2goUCl8fFtdKS5qb2luKCIgIil9ZnVuY3Rpb24geXQoZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9ZnVuY3Rpb24gbXQoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZToic3RyaW5nIj09dHlwZW9mIGUmJmUubWF0Y2goUCl8fFtdfVMuZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuICQodGhpcyxTLnByb3AsZSx0LDE8YXJndW1lbnRzLmxlbmd0aCl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2RlbGV0ZSB0aGlzW1MucHJvcEZpeFtlXXx8ZV19KX19KSxTLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPWUubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4gMT09PW8mJlMuaXNYTUxEb2MoZSl8fCh0PVMucHJvcEZpeFt0XXx8dCxpPVMucHJvcEhvb2tzW3RdKSx2b2lkIDAhPT1uP2kmJiJzZXQiaW4gaSYmdm9pZCAwIT09KHI9aS5zZXQoZSxuLHQpKT9yOmVbdF09bjppJiYiZ2V0ImluIGkmJm51bGwhPT0ocj1pLmdldChlLHQpKT9yOmVbdF19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihlKXt2YXIgdD1TLmZpbmQuYXR0cihlLCJ0YWJpbmRleCIpO3JldHVybiB0P3BhcnNlSW50KHQsMTApOmh0LnRlc3QoZS5ub2RlTmFtZSl8fGd0LnRlc3QoZS5ub2RlTmFtZSkmJmUuaHJlZj8wOi0xfX19LHByb3BGaXg6eyJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUifX0pLHkub3B0U2VsZWN0ZWR8fChTLnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxudWxsfSxzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3QmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCl9fSksUy5lYWNoKFsidGFiSW5kZXgiLCJyZWFkT25seSIsIm1heExlbmd0aCIsImNlbGxTcGFjaW5nIiwiY2VsbFBhZGRpbmciLCJyb3dTcGFuIiwiY29sU3BhbiIsInVzZU1hcCIsImZyYW1lQm9yZGVyIiwiY29udGVudEVkaXRhYmxlIl0sZnVuY3Rpb24oKXtTLnByb3BGaXhbdGhpcy50b0xvd2VyQ2FzZSgpXT10aGlzfSksUy5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKHQpe3ZhciBlLG4scixpLG8sYSxzLHU9MDtpZihtKHQpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7Uyh0aGlzKS5hZGRDbGFzcyh0LmNhbGwodGhpcyxlLHl0KHRoaXMpKSl9KTtpZigoZT1tdCh0KSkubGVuZ3RoKXdoaWxlKG49dGhpc1t1KytdKWlmKGk9eXQobikscj0xPT09bi5ub2RlVHlwZSYmIiAiK3Z0KGkpKyIgIil7YT0wO3doaWxlKG89ZVthKytdKXIuaW5kZXhPZigiICIrbysiICIpPDAmJihyKz1vKyIgIik7aSE9PShzPXZ0KHIpKSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixzKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24odCl7dmFyIGUsbixyLGksbyxhLHMsdT0wO2lmKG0odCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtTKHRoaXMpLnJlbW92ZUNsYXNzKHQuY2FsbCh0aGlzLGUseXQodGhpcykpKX0pO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLmF0dHIoImNsYXNzIiwiIik7aWYoKGU9bXQodCkpLmxlbmd0aCl3aGlsZShuPXRoaXNbdSsrXSlpZihpPXl0KG4pLHI9MT09PW4ubm9kZVR5cGUmJiIgIit2dChpKSsiICIpe2E9MDt3aGlsZShvPWVbYSsrXSl3aGlsZSgtMTxyLmluZGV4T2YoIiAiK28rIiAiKSlyPXIucmVwbGFjZSgiICIrbysiICIsIiAiKTtpIT09KHM9dnQocikpJiZuLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHMpfXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihpLHQpe3ZhciBvPXR5cGVvZiBpLGE9InN0cmluZyI9PT1vfHxBcnJheS5pc0FycmF5KGkpO3JldHVybiJib29sZWFuIj09dHlwZW9mIHQmJmE/dD90aGlzLmFkZENsYXNzKGkpOnRoaXMucmVtb3ZlQ2xhc3MoaSk6bShpKT90aGlzLmVhY2goZnVuY3Rpb24oZSl7Uyh0aGlzKS50b2dnbGVDbGFzcyhpLmNhbGwodGhpcyxlLHl0KHRoaXMpLHQpLHQpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGUsdCxuLHI7aWYoYSl7dD0wLG49Uyh0aGlzKSxyPW10KGkpO3doaWxlKGU9clt0KytdKW4uaGFzQ2xhc3MoZSk/bi5yZW1vdmVDbGFzcyhlKTpuLmFkZENsYXNzKGUpfWVsc2Ugdm9pZCAwIT09aSYmImJvb2xlYW4iIT09b3x8KChlPXl0KHRoaXMpKSYmWS5zZXQodGhpcywiX19jbGFzc05hbWVfXyIsZSksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKCJjbGFzcyIsZXx8ITE9PT1pPyIiOlkuZ2V0KHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpKX0pfSxoYXNDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxuLHI9MDt0PSIgIitlKyIgIjt3aGlsZShuPXRoaXNbcisrXSlpZigxPT09bi5ub2RlVHlwZSYmLTE8KCIgIit2dCh5dChuKSkrIiAiKS5pbmRleE9mKHQpKXJldHVybiEwO3JldHVybiExfX0pO3ZhciB4dD0vXHIvZztTLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKG4pe3ZhciByLGUsaSx0PXRoaXNbMF07cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGk9bShuKSx0aGlzLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQ7MT09PXRoaXMubm9kZVR5cGUmJihudWxsPT0odD1pP24uY2FsbCh0aGlzLGUsUyh0aGlzKS52YWwoKSk6bik/dD0iIjoibnVtYmVyIj09dHlwZW9mIHQ/dCs9IiI6QXJyYXkuaXNBcnJheSh0KSYmKHQ9Uy5tYXAodCxmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjplKyIifSkpLChyPVMudmFsSG9va3NbdGhpcy50eXBlXXx8Uy52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmInNldCJpbiByJiZ2b2lkIDAhPT1yLnNldCh0aGlzLHQsInZhbHVlIil8fCh0aGlzLnZhbHVlPXQpKX0pKTp0PyhyPVMudmFsSG9va3NbdC50eXBlXXx8Uy52YWxIb29rc1t0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmImdldCJpbiByJiZ2b2lkIDAhPT0oZT1yLmdldCh0LCJ2YWx1ZSIpKT9lOiJzdHJpbmciPT10eXBlb2YoZT10LnZhbHVlKT9lLnJlcGxhY2UoeHQsIiIpOm51bGw9PWU/IiI6ZTp2b2lkIDB9fSksUy5leHRlbmQoe3ZhbEhvb2tzOntvcHRpb246e2dldDpmdW5jdGlvbihlKXt2YXIgdD1TLmZpbmQuYXR0cihlLCJ2YWx1ZSIpO3JldHVybiBudWxsIT10P3Q6dnQoUy50ZXh0KGUpKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPWUub3B0aW9ucyxvPWUuc2VsZWN0ZWRJbmRleCxhPSJzZWxlY3Qtb25lIj09PWUudHlwZSxzPWE/bnVsbDpbXSx1PWE/bysxOmkubGVuZ3RoO2ZvcihyPW88MD91OmE/bzowO3I8dTtyKyspaWYoKChuPWlbcl0pLnNlbGVjdGVkfHxyPT09bykmJiFuLmRpc2FibGVkJiYoIW4ucGFyZW50Tm9kZS5kaXNhYmxlZHx8IUEobi5wYXJlbnROb2RlLCJvcHRncm91cCIpKSl7aWYodD1TKG4pLnZhbCgpLGEpcmV0dXJuIHQ7cy5wdXNoKHQpfXJldHVybiBzfSxzZXQ6ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGk9ZS5vcHRpb25zLG89Uy5tYWtlQXJyYXkodCksYT1pLmxlbmd0aDt3aGlsZShhLS0pKChyPWlbYV0pLnNlbGVjdGVkPS0xPFMuaW5BcnJheShTLnZhbEhvb2tzLm9wdGlvbi5nZXQociksbykpJiYobj0hMCk7cmV0dXJuIG58fChlLnNlbGVjdGVkSW5kZXg9LTEpLG99fX19KSxTLmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtTLnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oZSx0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBlLmNoZWNrZWQ9LTE8Uy5pbkFycmF5KFMoZSkudmFsKCksdCl9fSx5LmNoZWNrT258fChTLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09PWUuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6ZS52YWx1ZX0pfSkseS5mb2N1c2luPSJvbmZvY3VzaW4iaW4gQzt2YXIgYnQ9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvLHd0PWZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCl9O1MuZXh0ZW5kKFMuZXZlbnQse3RyaWdnZXI6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHMsdSxsLGMsZixwPVtufHxFXSxkPXYuY2FsbChlLCJ0eXBlIik/ZS50eXBlOmUsaD12LmNhbGwoZSwibmFtZXNwYWNlIik/ZS5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihvPWY9YT1uPW58fEUsMyE9PW4ubm9kZVR5cGUmJjghPT1uLm5vZGVUeXBlJiYhYnQudGVzdChkK1MuZXZlbnQudHJpZ2dlcmVkKSYmKC0xPGQuaW5kZXhPZigiLiIpJiYoZD0oaD1kLnNwbGl0KCIuIikpLnNoaWZ0KCksaC5zb3J0KCkpLHU9ZC5pbmRleE9mKCI6Iik8MCYmIm9uIitkLChlPWVbUy5leHBhbmRvXT9lOm5ldyBTLkV2ZW50KGQsIm9iamVjdCI9PXR5cGVvZiBlJiZlKSkuaXNUcmlnZ2VyPXI/MjozLGUubmFtZXNwYWNlPWguam9pbigiLiIpLGUucm5hbWVzcGFjZT1lLm5hbWVzcGFjZT9uZXcgUmVnRXhwKCIoXnxcXC4pIitoLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpOm51bGwsZS5yZXN1bHQ9dm9pZCAwLGUudGFyZ2V0fHwoZS50YXJnZXQ9biksdD1udWxsPT10P1tlXTpTLm1ha2VBcnJheSh0LFtlXSksYz1TLmV2ZW50LnNwZWNpYWxbZF18fHt9LHJ8fCFjLnRyaWdnZXJ8fCExIT09Yy50cmlnZ2VyLmFwcGx5KG4sdCkpKXtpZighciYmIWMubm9CdWJibGUmJiF4KG4pKXtmb3Iocz1jLmRlbGVnYXRlVHlwZXx8ZCxidC50ZXN0KHMrZCl8fChvPW8ucGFyZW50Tm9kZSk7bztvPW8ucGFyZW50Tm9kZSlwLnB1c2gobyksYT1vO2E9PT0obi5vd25lckRvY3VtZW50fHxFKSYmcC5wdXNoKGEuZGVmYXVsdFZpZXd8fGEucGFyZW50V2luZG93fHxDKX1pPTA7d2hpbGUoKG89cFtpKytdKSYmIWUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlmPW8sZS50eXBlPTE8aT9zOmMuYmluZFR5cGV8fGQsKGw9KFkuZ2V0KG8sImV2ZW50cyIpfHxPYmplY3QuY3JlYXRlKG51bGwpKVtlLnR5cGVdJiZZLmdldChvLCJoYW5kbGUiKSkmJmwuYXBwbHkobyx0KSwobD11JiZvW3VdKSYmbC5hcHBseSYmVihvKSYmKGUucmVzdWx0PWwuYXBwbHkobyx0KSwhMT09PWUucmVzdWx0JiZlLnByZXZlbnREZWZhdWx0KCkpO3JldHVybiBlLnR5cGU9ZCxyfHxlLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxjLl9kZWZhdWx0JiYhMSE9PWMuX2RlZmF1bHQuYXBwbHkocC5wb3AoKSx0KXx8IVYobil8fHUmJm0obltkXSkmJiF4KG4pJiYoKGE9blt1XSkmJihuW3VdPW51bGwpLFMuZXZlbnQudHJpZ2dlcmVkPWQsZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpJiZmLmFkZEV2ZW50TGlzdGVuZXIoZCx3dCksbltkXSgpLGUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmZi5yZW1vdmVFdmVudExpc3RlbmVyKGQsd3QpLFMuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCxhJiYoblt1XT1hKSksZS5yZXN1bHR9fSxzaW11bGF0ZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9Uy5leHRlbmQobmV3IFMuRXZlbnQsbix7dHlwZTplLGlzU2ltdWxhdGVkOiEwfSk7Uy5ldmVudC50cmlnZ2VyKHIsbnVsbCx0KX19KSxTLmZuLmV4dGVuZCh7dHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtTLmV2ZW50LnRyaWdnZXIoZSx0LHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpc1swXTtpZihuKXJldHVybiBTLmV2ZW50LnRyaWdnZXIoZSx0LG4sITApfX0pLHkuZm9jdXNpbnx8Uy5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihuLHIpe3ZhciBpPWZ1bmN0aW9uKGUpe1MuZXZlbnQuc2ltdWxhdGUocixlLnRhcmdldCxTLmV2ZW50LmZpeChlKSl9O1MuZXZlbnQuc3BlY2lhbFtyXT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMsdD1ZLmFjY2VzcyhlLHIpO3R8fGUuYWRkRXZlbnRMaXN0ZW5lcihuLGksITApLFkuYWNjZXNzKGUsciwodHx8MCkrMSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLmRvY3VtZW50fHx0aGlzLHQ9WS5hY2Nlc3MoZSxyKS0xO3Q/WS5hY2Nlc3MoZSxyLHQpOihlLnJlbW92ZUV2ZW50TGlzdGVuZXIobixpLCEwKSxZLnJlbW92ZShlLHIpKX19fSk7dmFyIFR0PUMubG9jYXRpb24sQ3Q9e2d1aWQ6RGF0ZS5ub3coKX0sRXQ9L1w/LztTLnBhcnNlWE1MPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIG51bGw7dHJ5e3Q9KG5ldyBDLkRPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsInRleHQveG1sIil9Y2F0Y2goZSl7dD12b2lkIDB9cmV0dXJuIHQmJiF0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8Uy5lcnJvcigiSW52YWxpZCBYTUw6ICIrZSksdH07dmFyIFN0PS9cW1xdJC8sa3Q9L1xyP1xuL2csQXQ9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLE50PS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBEdChuLGUscixpKXt2YXIgdDtpZihBcnJheS5pc0FycmF5KGUpKVMuZWFjaChlLGZ1bmN0aW9uKGUsdCl7cnx8U3QudGVzdChuKT9pKG4sdCk6RHQobisiWyIrKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9dD9lOiIiKSsiXSIsdCxyLGkpfSk7ZWxzZSBpZihyfHwib2JqZWN0IiE9PXcoZSkpaShuLGUpO2Vsc2UgZm9yKHQgaW4gZSlEdChuKyJbIit0KyJdIixlW3RdLHIsaSl9Uy5wYXJhbT1mdW5jdGlvbihlLHQpe3ZhciBuLHI9W10saT1mdW5jdGlvbihlLHQpe3ZhciBuPW0odCk/dCgpOnQ7cltyLmxlbmd0aF09ZW5jb2RlVVJJQ29tcG9uZW50KGUpKyI9IitlbmNvZGVVUklDb21wb25lbnQobnVsbD09bj8iIjpuKX07aWYobnVsbD09ZSlyZXR1cm4iIjtpZihBcnJheS5pc0FycmF5KGUpfHxlLmpxdWVyeSYmIVMuaXNQbGFpbk9iamVjdChlKSlTLmVhY2goZSxmdW5jdGlvbigpe2kodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IobiBpbiBlKUR0KG4sZVtuXSx0LGkpO3JldHVybiByLmpvaW4oIiYiKX0sUy5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiBTLnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9Uy5wcm9wKHRoaXMsImVsZW1lbnRzIik7cmV0dXJuIGU/Uy5tYWtlQXJyYXkoZSk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3ZhciBlPXRoaXMudHlwZTtyZXR1cm4gdGhpcy5uYW1lJiYhUyh0aGlzKS5pcygiOmRpc2FibGVkIikmJk50LnRlc3QodGhpcy5ub2RlTmFtZSkmJiFBdC50ZXN0KGUpJiYodGhpcy5jaGVja2VkfHwhcGUudGVzdChlKSl9KS5tYXAoZnVuY3Rpb24oZSx0KXt2YXIgbj1TKHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1uP251bGw6QXJyYXkuaXNBcnJheShuKT9TLm1hcChuLGZ1bmN0aW9uKGUpe3JldHVybntuYW1lOnQubmFtZSx2YWx1ZTplLnJlcGxhY2Uoa3QsIlxyXG4iKX19KTp7bmFtZTp0Lm5hbWUsdmFsdWU6bi5yZXBsYWNlKGt0LCJcclxuIil9fSkuZ2V0KCl9fSk7dmFyIGp0PS8lMjAvZyxxdD0vIy4qJC8sTHQ9LyhbPyZdKV89W14mXSovLEh0PS9eKC4qPyk6WyBcdF0qKFteXHJcbl0qKSQvZ20sT3Q9L14oPzpHRVR8SEVBRCkkLyxQdD0vXlwvXC8vLFJ0PXt9LE10PXt9LEl0PSIqLyIuY29uY2F0KCIqIiksV3Q9RS5jcmVhdGVFbGVtZW50KCJhIik7ZnVuY3Rpb24gRnQobyl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7InN0cmluZyIhPXR5cGVvZiBlJiYodD1lLGU9IioiKTt2YXIgbixyPTAsaT1lLnRvTG93ZXJDYXNlKCkubWF0Y2goUCl8fFtdO2lmKG0odCkpd2hpbGUobj1pW3IrK10pIisiPT09blswXT8obj1uLnNsaWNlKDEpfHwiKiIsKG9bbl09b1tuXXx8W10pLnVuc2hpZnQodCkpOihvW25dPW9bbl18fFtdKS5wdXNoKHQpfX1mdW5jdGlvbiBCdCh0LGksbyxhKXt2YXIgcz17fSx1PXQ9PT1NdDtmdW5jdGlvbiBsKGUpe3ZhciByO3JldHVybiBzW2VdPSEwLFMuZWFjaCh0W2VdfHxbXSxmdW5jdGlvbihlLHQpe3ZhciBuPXQoaSxvLGEpO3JldHVybiJzdHJpbmciIT10eXBlb2Ygbnx8dXx8c1tuXT91PyEocj1uKTp2b2lkIDA6KGkuZGF0YVR5cGVzLnVuc2hpZnQobiksbChuKSwhMSl9KSxyfXJldHVybiBsKGkuZGF0YVR5cGVzWzBdKXx8IXNbIioiXSYmbCgiKiIpfWZ1bmN0aW9uICR0KGUsdCl7dmFyIG4scixpPVMuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zfHx7fTtmb3IobiBpbiB0KXZvaWQgMCE9PXRbbl0mJigoaVtuXT9lOnJ8fChyPXt9KSlbbl09dFtuXSk7cmV0dXJuIHImJlMuZXh0ZW5kKCEwLGUsciksZX1XdC5ocmVmPVR0LmhyZWYsUy5leHRlbmQoe2FjdGl2ZTowLGxhc3RNb2RpZmllZDp7fSxldGFnOnt9LGFqYXhTZXR0aW5nczp7dXJsOlR0LmhyZWYsdHlwZToiR0VUIixpc0xvY2FsOi9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLnRlc3QoVHQucHJvdG9jb2wpLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6SXQsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L1xieG1sXGIvLGh0bWw6L1xiaHRtbC8sanNvbjovXGJqc29uXGIvfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0Iixqc29uOiJyZXNwb25zZUpTT04ifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjpTdHJpbmcsInRleHQgaHRtbCI6ITAsInRleHQganNvbiI6SlNPTi5wYXJzZSwidGV4dCB4bWwiOlMucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihlLHQpe3JldHVybiB0PyR0KCR0KGUsUy5hamF4U2V0dGluZ3MpLHQpOiR0KFMuYWpheFNldHRpbmdzLGUpfSxhamF4UHJlZmlsdGVyOkZ0KFJ0KSxhamF4VHJhbnNwb3J0OkZ0KE10KSxhamF4OmZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBlJiYodD1lLGU9dm9pZCAwKSx0PXR8fHt9O3ZhciBjLGYscCxuLGQscixoLGcsaSxvLHY9Uy5hamF4U2V0dXAoe30sdCkseT12LmNvbnRleHR8fHYsbT12LmNvbnRleHQmJih5Lm5vZGVUeXBlfHx5LmpxdWVyeSk/Uyh5KTpTLmV2ZW50LHg9Uy5EZWZlcnJlZCgpLGI9Uy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksdz12LnN0YXR1c0NvZGV8fHt9LGE9e30scz17fSx1PSJjYW5jZWxlZCIsVD17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGgpe2lmKCFuKXtuPXt9O3doaWxlKHQ9SHQuZXhlYyhwKSluW3RbMV0udG9Mb3dlckNhc2UoKSsiICJdPShuW3RbMV0udG9Mb3dlckNhc2UoKSsiICJdfHxbXSkuY29uY2F0KHRbMl0pfXQ9bltlLnRvTG93ZXJDYXNlKCkrIiAiXX1yZXR1cm4gbnVsbD09dD9udWxsOnQuam9pbigiLCAiKX0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIGg/cDpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWgmJihlPXNbZS50b0xvd2VyQ2FzZSgpXT1zW2UudG9Mb3dlckNhc2UoKV18fGUsYVtlXT10KSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1oJiYodi5taW1lVHlwZT1lKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYoaClULmFsd2F5cyhlW1Quc3RhdHVzXSk7ZWxzZSBmb3IodCBpbiBlKXdbdF09W3dbdF0sZVt0XV07cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGUpe3ZhciB0PWV8fHU7cmV0dXJuIGMmJmMuYWJvcnQodCksbCgwLHQpLHRoaXN9fTtpZih4LnByb21pc2UoVCksdi51cmw9KChlfHx2LnVybHx8VHQuaHJlZikrIiIpLnJlcGxhY2UoUHQsVHQucHJvdG9jb2wrIi8vIiksdi50eXBlPXQubWV0aG9kfHx0LnR5cGV8fHYubWV0aG9kfHx2LnR5cGUsdi5kYXRhVHlwZXM9KHYuZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5tYXRjaChQKXx8WyIiXSxudWxsPT12LmNyb3NzRG9tYWluKXtyPUUuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtyLmhyZWY9di51cmwsci5ocmVmPXIuaHJlZix2LmNyb3NzRG9tYWluPVd0LnByb3RvY29sKyIvLyIrV3QuaG9zdCE9ci5wcm90b2NvbCsiLy8iK3IuaG9zdH1jYXRjaChlKXt2LmNyb3NzRG9tYWluPSEwfX1pZih2LmRhdGEmJnYucHJvY2Vzc0RhdGEmJiJzdHJpbmciIT10eXBlb2Ygdi5kYXRhJiYodi5kYXRhPVMucGFyYW0odi5kYXRhLHYudHJhZGl0aW9uYWwpKSxCdChSdCx2LHQsVCksaClyZXR1cm4gVDtmb3IoaSBpbihnPVMuZXZlbnQmJnYuZ2xvYmFsKSYmMD09Uy5hY3RpdmUrKyYmUy5ldmVudC50cmlnZ2VyKCJhamF4U3RhcnQiKSx2LnR5cGU9di50eXBlLnRvVXBwZXJDYXNlKCksdi5oYXNDb250ZW50PSFPdC50ZXN0KHYudHlwZSksZj12LnVybC5yZXBsYWNlKHF0LCIiKSx2Lmhhc0NvbnRlbnQ/di5kYXRhJiZ2LnByb2Nlc3NEYXRhJiYwPT09KHYuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmKHYuZGF0YT12LmRhdGEucmVwbGFjZShqdCwiKyIpKToobz12LnVybC5zbGljZShmLmxlbmd0aCksdi5kYXRhJiYodi5wcm9jZXNzRGF0YXx8InN0cmluZyI9PXR5cGVvZiB2LmRhdGEpJiYoZis9KEV0LnRlc3QoZik/IiYiOiI/Iikrdi5kYXRhLGRlbGV0ZSB2LmRhdGEpLCExPT09di5jYWNoZSYmKGY9Zi5yZXBsYWNlKEx0LCIkMSIpLG89KEV0LnRlc3QoZik/IiYiOiI/IikrIl89IitDdC5ndWlkKysrbyksdi51cmw9ZitvKSx2LmlmTW9kaWZpZWQmJihTLmxhc3RNb2RpZmllZFtmXSYmVC5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5jZSIsUy5sYXN0TW9kaWZpZWRbZl0pLFMuZXRhZ1tmXSYmVC5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIixTLmV0YWdbZl0pKSwodi5kYXRhJiZ2Lmhhc0NvbnRlbnQmJiExIT09di5jb250ZW50VHlwZXx8dC5jb250ZW50VHlwZSkmJlQuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIix2LmNvbnRlbnRUeXBlKSxULnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsdi5kYXRhVHlwZXNbMF0mJnYuYWNjZXB0c1t2LmRhdGFUeXBlc1swXV0/di5hY2NlcHRzW3YuZGF0YVR5cGVzWzBdXSsoIioiIT09di5kYXRhVHlwZXNbMF0/IiwgIitJdCsiOyBxPTAuMDEiOiIiKTp2LmFjY2VwdHNbIioiXSksdi5oZWFkZXJzKVQuc2V0UmVxdWVzdEhlYWRlcihpLHYuaGVhZGVyc1tpXSk7aWYodi5iZWZvcmVTZW5kJiYoITE9PT12LmJlZm9yZVNlbmQuY2FsbCh5LFQsdil8fGgpKXJldHVybiBULmFib3J0KCk7aWYodT0iYWJvcnQiLGIuYWRkKHYuY29tcGxldGUpLFQuZG9uZSh2LnN1Y2Nlc3MpLFQuZmFpbCh2LmVycm9yKSxjPUJ0KE10LHYsdCxUKSl7aWYoVC5yZWFkeVN0YXRlPTEsZyYmbS50cmlnZ2VyKCJhamF4U2VuZCIsW1Qsdl0pLGgpcmV0dXJuIFQ7di5hc3luYyYmMDx2LnRpbWVvdXQmJihkPUMuc2V0VGltZW91dChmdW5jdGlvbigpe1QuYWJvcnQoInRpbWVvdXQiKX0sdi50aW1lb3V0KSk7dHJ5e2g9ITEsYy5zZW5kKGEsbCl9Y2F0Y2goZSl7aWYoaCl0aHJvdyBlO2woLTEsZSl9fWVsc2UgbCgtMSwiTm8gVHJhbnNwb3J0Iik7ZnVuY3Rpb24gbChlLHQsbixyKXt2YXIgaSxvLGEscyx1LGw9dDtofHwoaD0hMCxkJiZDLmNsZWFyVGltZW91dChkKSxjPXZvaWQgMCxwPXJ8fCIiLFQucmVhZHlTdGF0ZT0wPGU/NDowLGk9MjAwPD1lJiZlPDMwMHx8MzA0PT09ZSxuJiYocz1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscz1lLmNvbnRlbnRzLHU9ZS5kYXRhVHlwZXM7d2hpbGUoIioiPT09dVswXSl1LnNoaWZ0KCksdm9pZCAwPT09ciYmKHI9ZS5taW1lVHlwZXx8dC5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIikpO2lmKHIpZm9yKGkgaW4gcylpZihzW2ldJiZzW2ldLnRlc3Qocikpe3UudW5zaGlmdChpKTticmVha31pZih1WzBdaW4gbilvPXVbMF07ZWxzZXtmb3IoaSBpbiBuKXtpZighdVswXXx8ZS5jb252ZXJ0ZXJzW2krIiAiK3VbMF1dKXtvPWk7YnJlYWt9YXx8KGE9aSl9bz1vfHxhfWlmKG8pcmV0dXJuIG8hPT11WzBdJiZ1LnVuc2hpZnQobyksbltvXX0odixULG4pKSwhaSYmLTE8Uy5pbkFycmF5KCJzY3JpcHQiLHYuZGF0YVR5cGVzKSYmKHYuY29udmVydGVyc1sidGV4dCBzY3JpcHQiXT1mdW5jdGlvbigpe30pLHM9ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHMsdSxsPXt9LGM9ZS5kYXRhVHlwZXMuc2xpY2UoKTtpZihjWzFdKWZvcihhIGluIGUuY29udmVydGVycylsW2EudG9Mb3dlckNhc2UoKV09ZS5jb252ZXJ0ZXJzW2FdO289Yy5zaGlmdCgpO3doaWxlKG8paWYoZS5yZXNwb25zZUZpZWxkc1tvXSYmKG5bZS5yZXNwb25zZUZpZWxkc1tvXV09dCksIXUmJnImJmUuZGF0YUZpbHRlciYmKHQ9ZS5kYXRhRmlsdGVyKHQsZS5kYXRhVHlwZSkpLHU9byxvPWMuc2hpZnQoKSlpZigiKiI9PT1vKW89dTtlbHNlIGlmKCIqIiE9PXUmJnUhPT1vKXtpZighKGE9bFt1KyIgIitvXXx8bFsiKiAiK29dKSlmb3IoaSBpbiBsKWlmKChzPWkuc3BsaXQoIiAiKSlbMV09PT1vJiYoYT1sW3UrIiAiK3NbMF1dfHxsWyIqICIrc1swXV0pKXshMD09PWE/YT1sW2ldOiEwIT09bFtpXSYmKG89c1swXSxjLnVuc2hpZnQoc1sxXSkpO2JyZWFrfWlmKCEwIT09YSlpZihhJiZlWyJ0aHJvd3MiXSl0PWEodCk7ZWxzZSB0cnl7dD1hKHQpfWNhdGNoKGUpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmE/ZToiTm8gY29udmVyc2lvbiBmcm9tICIrdSsiIHRvICIrb319fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTp0fX0odixzLFQsaSksaT8odi5pZk1vZGlmaWVkJiYoKHU9VC5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpKSYmKFMubGFzdE1vZGlmaWVkW2ZdPXUpLCh1PVQuZ2V0UmVzcG9uc2VIZWFkZXIoImV0YWciKSkmJihTLmV0YWdbZl09dSkpLDIwND09PWV8fCJIRUFEIj09PXYudHlwZT9sPSJub2NvbnRlbnQiOjMwND09PWU/bD0ibm90bW9kaWZpZWQiOihsPXMuc3RhdGUsbz1zLmRhdGEsaT0hKGE9cy5lcnJvcikpKTooYT1sLCFlJiZsfHwobD0iZXJyb3IiLGU8MCYmKGU9MCkpKSxULnN0YXR1cz1lLFQuc3RhdHVzVGV4dD0odHx8bCkrIiIsaT94LnJlc29sdmVXaXRoKHksW28sbCxUXSk6eC5yZWplY3RXaXRoKHksW1QsbCxhXSksVC5zdGF0dXNDb2RlKHcpLHc9dm9pZCAwLGcmJm0udHJpZ2dlcihpPyJhamF4U3VjY2VzcyI6ImFqYXhFcnJvciIsW1QsdixpP286YV0pLGIuZmlyZVdpdGgoeSxbVCxsXSksZyYmKG0udHJpZ2dlcigiYWpheENvbXBsZXRlIixbVCx2XSksLS1TLmFjdGl2ZXx8Uy5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpKSl9cmV0dXJuIFR9LGdldEpTT046ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBTLmdldChlLHQsbiwianNvbiIpfSxnZXRTY3JpcHQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gUy5nZXQoZSx2b2lkIDAsdCwic2NyaXB0Iil9fSksUy5lYWNoKFsiZ2V0IiwicG9zdCJdLGZ1bmN0aW9uKGUsaSl7U1tpXT1mdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gbSh0KSYmKHI9cnx8bixuPXQsdD12b2lkIDApLFMuYWpheChTLmV4dGVuZCh7dXJsOmUsdHlwZTppLGRhdGFUeXBlOnIsZGF0YTp0LHN1Y2Nlc3M6bn0sUy5pc1BsYWluT2JqZWN0KGUpJiZlKSl9fSksUy5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0IGluIGUuaGVhZGVycykiY29udGVudC10eXBlIj09PXQudG9Mb3dlckNhc2UoKSYmKGUuY29udGVudFR5cGU9ZS5oZWFkZXJzW3RdfHwiIil9KSxTLl9ldmFsVXJsPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gUy5hamF4KHt1cmw6ZSx0eXBlOiJHRVQiLGRhdGFUeXBlOiJzY3JpcHQiLGNhY2hlOiEwLGFzeW5jOiExLGdsb2JhbDohMSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKCl7fX0sZGF0YUZpbHRlcjpmdW5jdGlvbihlKXtTLmdsb2JhbEV2YWwoZSx0LG4pfX0pfSxTLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4gdGhpc1swXSYmKG0oZSkmJihlPWUuY2FsbCh0aGlzWzBdKSksdD1TKGUsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCksdGhpc1swXS5wYXJlbnROb2RlJiZ0Lmluc2VydEJlZm9yZSh0aGlzWzBdKSx0Lm1hcChmdW5jdGlvbigpe3ZhciBlPXRoaXM7d2hpbGUoZS5maXJzdEVsZW1lbnRDaGlsZCllPWUuZmlyc3RFbGVtZW50Q2hpbGQ7cmV0dXJuIGV9KS5hcHBlbmQodGhpcykpLHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbihuKXtyZXR1cm4gbShuKT90aGlzLmVhY2goZnVuY3Rpb24oZSl7Uyh0aGlzKS53cmFwSW5uZXIobi5jYWxsKHRoaXMsZSkpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9Uyh0aGlzKSx0PWUuY29udGVudHMoKTt0Lmxlbmd0aD90LndyYXBBbGwobik6ZS5hcHBlbmQobil9KX0sd3JhcDpmdW5jdGlvbih0KXt2YXIgbj1tKHQpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oZSl7Uyh0aGlzKS53cmFwQWxsKG4/dC5jYWxsKHRoaXMsZSk6dCl9KX0sdW53cmFwOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnBhcmVudChlKS5ub3QoImJvZHkiKS5lYWNoKGZ1bmN0aW9uKCl7Uyh0aGlzKS5yZXBsYWNlV2l0aCh0aGlzLmNoaWxkTm9kZXMpfSksdGhpc319KSxTLmV4cHIucHNldWRvcy5oaWRkZW49ZnVuY3Rpb24oZSl7cmV0dXJuIVMuZXhwci5wc2V1ZG9zLnZpc2libGUoZSl9LFMuZXhwci5wc2V1ZG9zLnZpc2libGU9ZnVuY3Rpb24oZSl7cmV0dXJuISEoZS5vZmZzZXRXaWR0aHx8ZS5vZmZzZXRIZWlnaHR8fGUuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpfSxTLmFqYXhTZXR0aW5ncy54aHI9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBDLlhNTEh0dHBSZXF1ZXN0fWNhdGNoKGUpe319O3ZhciBfdD17MDoyMDAsMTIyMzoyMDR9LHp0PVMuYWpheFNldHRpbmdzLnhocigpO3kuY29ycz0hIXp0JiYid2l0aENyZWRlbnRpYWxzImluIHp0LHkuYWpheD16dD0hIXp0LFMuYWpheFRyYW5zcG9ydChmdW5jdGlvbihpKXt2YXIgbyxhO2lmKHkuY29yc3x8enQmJiFpLmNyb3NzRG9tYWluKXJldHVybntzZW5kOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1pLnhocigpO2lmKHIub3BlbihpLnR5cGUsaS51cmwsaS5hc3luYyxpLnVzZXJuYW1lLGkucGFzc3dvcmQpLGkueGhyRmllbGRzKWZvcihuIGluIGkueGhyRmllbGRzKXJbbl09aS54aHJGaWVsZHNbbl07Zm9yKG4gaW4gaS5taW1lVHlwZSYmci5vdmVycmlkZU1pbWVUeXBlJiZyLm92ZXJyaWRlTWltZVR5cGUoaS5taW1lVHlwZSksaS5jcm9zc0RvbWFpbnx8ZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdfHwoZVsiWC1SZXF1ZXN0ZWQtV2l0aCJdPSJYTUxIdHRwUmVxdWVzdCIpLGUpci5zZXRSZXF1ZXN0SGVhZGVyKG4sZVtuXSk7bz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtvJiYobz1hPXIub25sb2FkPXIub25lcnJvcj1yLm9uYWJvcnQ9ci5vbnRpbWVvdXQ9ci5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCwiYWJvcnQiPT09ZT9yLmFib3J0KCk6ImVycm9yIj09PWU/Im51bWJlciIhPXR5cGVvZiByLnN0YXR1cz90KDAsImVycm9yIik6dChyLnN0YXR1cyxyLnN0YXR1c1RleHQpOnQoX3Rbci5zdGF0dXNdfHxyLnN0YXR1cyxyLnN0YXR1c1RleHQsInRleHQiIT09KHIucmVzcG9uc2VUeXBlfHwidGV4dCIpfHwic3RyaW5nIiE9dHlwZW9mIHIucmVzcG9uc2VUZXh0P3tiaW5hcnk6ci5yZXNwb25zZX06e3RleHQ6ci5yZXNwb25zZVRleHR9LHIuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkpKX19LHIub25sb2FkPW8oKSxhPXIub25lcnJvcj1yLm9udGltZW91dD1vKCJlcnJvciIpLHZvaWQgMCE9PXIub25hYm9ydD9yLm9uYWJvcnQ9YTpyLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1yLnJlYWR5U3RhdGUmJkMuc2V0VGltZW91dChmdW5jdGlvbigpe28mJmEoKX0pfSxvPW8oImFib3J0Iik7dHJ5e3Iuc2VuZChpLmhhc0NvbnRlbnQmJmkuZGF0YXx8bnVsbCl9Y2F0Y2goZSl7aWYobyl0aHJvdyBlfX0sYWJvcnQ6ZnVuY3Rpb24oKXtvJiZvKCl9fX0pLFMuYWpheFByZWZpbHRlcihmdW5jdGlvbihlKXtlLmNyb3NzRG9tYWluJiYoZS5jb250ZW50cy5zY3JpcHQ9ITEpfSksUy5hamF4U2V0dXAoe2FjY2VwdHM6e3NjcmlwdDoidGV4dC9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9qYXZhc2NyaXB0LCBhcHBsaWNhdGlvbi9lY21hc2NyaXB0LCBhcHBsaWNhdGlvbi94LWVjbWFzY3JpcHQifSxjb250ZW50czp7c2NyaXB0Oi9cYig/OmphdmF8ZWNtYSlzY3JpcHRcYi99LGNvbnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oZSl7cmV0dXJuIFMuZ2xvYmFsRXZhbChlKSxlfX19KSxTLmFqYXhQcmVmaWx0ZXIoInNjcmlwdCIsZnVuY3Rpb24oZSl7dm9pZCAwPT09ZS5jYWNoZSYmKGUuY2FjaGU9ITEpLGUuY3Jvc3NEb21haW4mJihlLnR5cGU9IkdFVCIpfSksUy5hamF4VHJhbnNwb3J0KCJzY3JpcHQiLGZ1bmN0aW9uKG4pe3ZhciByLGk7aWYobi5jcm9zc0RvbWFpbnx8bi5zY3JpcHRBdHRycylyZXR1cm57c2VuZDpmdW5jdGlvbihlLHQpe3I9UygiPHNjcmlwdD4iKS5hdHRyKG4uc2NyaXB0QXR0cnN8fHt9KS5wcm9wKHtjaGFyc2V0Om4uc2NyaXB0Q2hhcnNldCxzcmM6bi51cmx9KS5vbigibG9hZCBlcnJvciIsaT1mdW5jdGlvbihlKXtyLnJlbW92ZSgpLGk9bnVsbCxlJiZ0KCJlcnJvciI9PT1lLnR5cGU/NDA0OjIwMCxlLnR5cGUpfSksRS5oZWFkLmFwcGVuZENoaWxkKHJbMF0pfSxhYm9ydDpmdW5jdGlvbigpe2kmJmkoKX19fSk7dmFyIFV0LFh0PVtdLFZ0PS8oPSlcPyg/PSZ8JCl8XD9cPy87Uy5hamF4U2V0dXAoe2pzb25wOiJjYWxsYmFjayIsanNvbnBDYWxsYmFjazpmdW5jdGlvbigpe3ZhciBlPVh0LnBvcCgpfHxTLmV4cGFuZG8rIl8iK0N0Lmd1aWQrKztyZXR1cm4gdGhpc1tlXT0hMCxlfX0pLFMuYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhPSExIT09ZS5qc29ucCYmKFZ0LnRlc3QoZS51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgZS5kYXRhJiYwPT09KGUuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYmVnQudGVzdChlLmRhdGEpJiYiZGF0YSIpO2lmKGF8fCJqc29ucCI9PT1lLmRhdGFUeXBlc1swXSlyZXR1cm4gcj1lLmpzb25wQ2FsbGJhY2s9bShlLmpzb25wQ2FsbGJhY2spP2UuanNvbnBDYWxsYmFjaygpOmUuanNvbnBDYWxsYmFjayxhP2VbYV09ZVthXS5yZXBsYWNlKFZ0LCIkMSIrcik6ITEhPT1lLmpzb25wJiYoZS51cmwrPShFdC50ZXN0KGUudXJsKT8iJiI6Ij8iKStlLmpzb25wKyI9IityKSxlLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gb3x8Uy5lcnJvcihyKyIgd2FzIG5vdCBjYWxsZWQiKSxvWzBdfSxlLmRhdGFUeXBlc1swXT0ianNvbiIsaT1DW3JdLENbcl09ZnVuY3Rpb24oKXtvPWFyZ3VtZW50c30sbi5hbHdheXMoZnVuY3Rpb24oKXt2b2lkIDA9PT1pP1MoQykucmVtb3ZlUHJvcChyKTpDW3JdPWksZVtyXSYmKGUuanNvbnBDYWxsYmFjaz10Lmpzb25wQ2FsbGJhY2ssWHQucHVzaChyKSksbyYmbShpKSYmaShvWzBdKSxvPWk9dm9pZCAwfSksInNjcmlwdCJ9KSx5LmNyZWF0ZUhUTUxEb2N1bWVudD0oKFV0PUUuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKS5ib2R5KS5pbm5lckhUTUw9Ijxmb3JtPjwvZm9ybT48Zm9ybT48L2Zvcm0+IiwyPT09VXQuY2hpbGROb2Rlcy5sZW5ndGgpLFMucGFyc2VIVE1MPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGU/W106KCJib29sZWFuIj09dHlwZW9mIHQmJihuPXQsdD0hMSksdHx8KHkuY3JlYXRlSFRNTERvY3VtZW50Pygocj0odD1FLmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIikpLmNyZWF0ZUVsZW1lbnQoImJhc2UiKSkuaHJlZj1FLmxvY2F0aW9uLmhyZWYsdC5oZWFkLmFwcGVuZENoaWxkKHIpKTp0PUUpLG89IW4mJltdLChpPU4uZXhlYyhlKSk/W3QuY3JlYXRlRWxlbWVudChpWzFdKV06KGk9eGUoW2VdLHQsbyksbyYmby5sZW5ndGgmJlMobykucmVtb3ZlKCksUy5tZXJnZShbXSxpLmNoaWxkTm9kZXMpKSk7dmFyIHIsaSxvfSxTLmZuLmxvYWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhPXRoaXMscz1lLmluZGV4T2YoIiAiKTtyZXR1cm4tMTxzJiYocj12dChlLnNsaWNlKHMpKSxlPWUuc2xpY2UoMCxzKSksbSh0KT8obj10LHQ9dm9pZCAwKTp0JiYib2JqZWN0Ij09dHlwZW9mIHQmJihpPSJQT1NUIiksMDxhLmxlbmd0aCYmUy5hamF4KHt1cmw6ZSx0eXBlOml8fCJHRVQiLGRhdGFUeXBlOiJodG1sIixkYXRhOnR9KS5kb25lKGZ1bmN0aW9uKGUpe289YXJndW1lbnRzLGEuaHRtbChyP1MoIjxkaXY+IikuYXBwZW5kKFMucGFyc2VIVE1MKGUpKS5maW5kKHIpOmUpfSkuYWx3YXlzKG4mJmZ1bmN0aW9uKGUsdCl7YS5lYWNoKGZ1bmN0aW9uKCl7bi5hcHBseSh0aGlzLG98fFtlLnJlc3BvbnNlVGV4dCx0LGVdKX0pfSksdGhpc30sUy5leHByLnBzZXVkb3MuYW5pbWF0ZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIFMuZ3JlcChTLnRpbWVycyxmdW5jdGlvbihlKXtyZXR1cm4gdD09PWUuZWxlbX0pLmxlbmd0aH0sUy5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGEscyx1LGw9Uy5jc3MoZSwicG9zaXRpb24iKSxjPVMoZSksZj17fTsic3RhdGljIj09PWwmJihlLnN0eWxlLnBvc2l0aW9uPSJyZWxhdGl2ZSIpLHM9Yy5vZmZzZXQoKSxvPVMuY3NzKGUsInRvcCIpLHU9Uy5jc3MoZSwibGVmdCIpLCgiYWJzb2x1dGUiPT09bHx8ImZpeGVkIj09PWwpJiYtMTwobyt1KS5pbmRleE9mKCJhdXRvIik/KGE9KHI9Yy5wb3NpdGlvbigpKS50b3AsaT1yLmxlZnQpOihhPXBhcnNlRmxvYXQobyl8fDAsaT1wYXJzZUZsb2F0KHUpfHwwKSxtKHQpJiYodD10LmNhbGwoZSxuLFMuZXh0ZW5kKHt9LHMpKSksbnVsbCE9dC50b3AmJihmLnRvcD10LnRvcC1zLnRvcCthKSxudWxsIT10LmxlZnQmJihmLmxlZnQ9dC5sZWZ0LXMubGVmdCtpKSwidXNpbmciaW4gdD90LnVzaW5nLmNhbGwoZSxmKTooIm51bWJlciI9PXR5cGVvZiBmLnRvcCYmKGYudG9wKz0icHgiKSwibnVtYmVyIj09dHlwZW9mIGYubGVmdCYmKGYubGVmdCs9InB4IiksYy5jc3MoZikpfX0sUy5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbih0KXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT10P3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGUpe1Mub2Zmc2V0LnNldE9mZnNldCh0aGlzLHQsZSl9KTt2YXIgZSxuLHI9dGhpc1swXTtyZXR1cm4gcj9yLmdldENsaWVudFJlY3RzKCkubGVuZ3RoPyhlPXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1yLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcse3RvcDplLnRvcCtuLnBhZ2VZT2Zmc2V0LGxlZnQ6ZS5sZWZ0K24ucGFnZVhPZmZzZXR9KTp7dG9wOjAsbGVmdDowfTp2b2lkIDB9LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGUsdCxuLHI9dGhpc1swXSxpPXt0b3A6MCxsZWZ0OjB9O2lmKCJmaXhlZCI9PT1TLmNzcyhyLCJwb3NpdGlvbiIpKXQ9ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlbHNle3Q9dGhpcy5vZmZzZXQoKSxuPXIub3duZXJEb2N1bWVudCxlPXIub2Zmc2V0UGFyZW50fHxuLmRvY3VtZW50RWxlbWVudDt3aGlsZShlJiYoZT09PW4uYm9keXx8ZT09PW4uZG9jdW1lbnRFbGVtZW50KSYmInN0YXRpYyI9PT1TLmNzcyhlLCJwb3NpdGlvbiIpKWU9ZS5wYXJlbnROb2RlO2UmJmUhPT1yJiYxPT09ZS5ub2RlVHlwZSYmKChpPVMoZSkub2Zmc2V0KCkpLnRvcCs9Uy5jc3MoZSwiYm9yZGVyVG9wV2lkdGgiLCEwKSxpLmxlZnQrPVMuY3NzKGUsImJvcmRlckxlZnRXaWR0aCIsITApKX1yZXR1cm57dG9wOnQudG9wLWkudG9wLVMuY3NzKHIsIm1hcmdpblRvcCIsITApLGxlZnQ6dC5sZWZ0LWkubGVmdC1TLmNzcyhyLCJtYXJnaW5MZWZ0IiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vZmZzZXRQYXJlbnQ7d2hpbGUoZSYmInN0YXRpYyI9PT1TLmNzcyhlLCJwb3NpdGlvbiIpKWU9ZS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGV8fHJlfSl9fSksUy5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKHQsaSl7dmFyIG89InBhZ2VZT2Zmc2V0Ij09PWk7Uy5mblt0XT1mdW5jdGlvbihlKXtyZXR1cm4gJCh0aGlzLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZih4KGUpP3I9ZTo5PT09ZS5ub2RlVHlwZSYmKHI9ZS5kZWZhdWx0Vmlldyksdm9pZCAwPT09bilyZXR1cm4gcj9yW2ldOmVbdF07cj9yLnNjcm9sbFRvKG8/ci5wYWdlWE9mZnNldDpuLG8/bjpyLnBhZ2VZT2Zmc2V0KTplW3RdPW59LHQsZSxhcmd1bWVudHMubGVuZ3RoKX19KSxTLmVhY2goWyJ0b3AiLCJsZWZ0Il0sZnVuY3Rpb24oZSxuKXtTLmNzc0hvb2tzW25dPSRlKHkucGl4ZWxQb3NpdGlvbixmdW5jdGlvbihlLHQpe2lmKHQpcmV0dXJuIHQ9QmUoZSxuKSxNZS50ZXN0KHQpP1MoZSkucG9zaXRpb24oKVtuXSsicHgiOnR9KX0pLFMuZWFjaCh7SGVpZ2h0OiJoZWlnaHQiLFdpZHRoOiJ3aWR0aCJ9LGZ1bmN0aW9uKGEscyl7Uy5lYWNoKHtwYWRkaW5nOiJpbm5lciIrYSxjb250ZW50OnMsIiI6Im91dGVyIithfSxmdW5jdGlvbihyLG8pe1MuZm5bb109ZnVuY3Rpb24oZSx0KXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoJiYocnx8ImJvb2xlYW4iIT10eXBlb2YgZSksaT1yfHwoITA9PT1lfHwhMD09PXQ/Im1hcmdpbiI6ImJvcmRlciIpO3JldHVybiAkKHRoaXMsZnVuY3Rpb24oZSx0LG4pe3ZhciByO3JldHVybiB4KGUpPzA9PT1vLmluZGV4T2YoIm91dGVyIik/ZVsiaW5uZXIiK2FdOmUuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2FdOjk9PT1lLm5vZGVUeXBlPyhyPWUuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KGUuYm9keVsic2Nyb2xsIithXSxyWyJzY3JvbGwiK2FdLGUuYm9keVsib2Zmc2V0IithXSxyWyJvZmZzZXQiK2FdLHJbImNsaWVudCIrYV0pKTp2b2lkIDA9PT1uP1MuY3NzKGUsdCxpKTpTLnN0eWxlKGUsdCxuLGkpfSxzLG4/ZTp2b2lkIDAsbil9fSl9KSxTLmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihlLHQpe1MuZm5bdF09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMub24odCxlKX19KSxTLmZuLmV4dGVuZCh7YmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9mZihlLG51bGwsdCl9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLm9uKHQsZSxuLHIpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoZSwiKioiKTp0aGlzLm9mZih0LGV8fCIqKiIsbil9LGhvdmVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubW91c2VlbnRlcihlKS5tb3VzZWxlYXZlKHR8fGUpfX0pLFMuZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IHJlc2l6ZSBzY3JvbGwgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihlLG4pe1MuZm5bbl09ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMDxhcmd1bWVudHMubGVuZ3RoP3RoaXMub24obixudWxsLGUsdCk6dGhpcy50cmlnZ2VyKG4pfX0pO3ZhciBHdD0vXltcc1x1RkVGRlx4QTBdK3xbXHNcdUZFRkZceEEwXSskL2c7Uy5wcm94eT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaTtpZigic3RyaW5nIj09dHlwZW9mIHQmJihuPWVbdF0sdD1lLGU9biksbShlKSlyZXR1cm4gcj1zLmNhbGwoYXJndW1lbnRzLDIpLChpPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodHx8dGhpcyxyLmNvbmNhdChzLmNhbGwoYXJndW1lbnRzKSkpfSkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHxTLmd1aWQrKyxpfSxTLmhvbGRSZWFkeT1mdW5jdGlvbihlKXtlP1MucmVhZHlXYWl0Kys6Uy5yZWFkeSghMCl9LFMuaXNBcnJheT1BcnJheS5pc0FycmF5LFMucGFyc2VKU09OPUpTT04ucGFyc2UsUy5ub2RlTmFtZT1BLFMuaXNGdW5jdGlvbj1tLFMuaXNXaW5kb3c9eCxTLmNhbWVsQ2FzZT1YLFMudHlwZT13LFMubm93PURhdGUubm93LFMuaXNOdW1lcmljPWZ1bmN0aW9uKGUpe3ZhciB0PVMudHlwZShlKTtyZXR1cm4oIm51bWJlciI9PT10fHwic3RyaW5nIj09PXQpJiYhaXNOYU4oZS1wYXJzZUZsb2F0KGUpKX0sUy50cmltPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOihlKyIiKS5yZXBsYWNlKEd0LCIiKX0sImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIFN9KTt2YXIgWXQ9Qy5qUXVlcnksUXQ9Qy4kO3JldHVybiBTLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIEMuJD09PVMmJihDLiQ9UXQpLGUmJkMualF1ZXJ5PT09UyYmKEMualF1ZXJ5PVl0KSxTfSwidW5kZWZpbmVkIj09dHlwZW9mIGUmJihDLmpRdWVyeT1DLiQ9UyksU30pOw=="}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/95262386d8d4b6dd.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.486Z","timestamp":1785129949486,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/95262386d8d4b6dd.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 4410355\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"95262386d8d4b6dd.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"8c155806c003f628ca093cb0feb083d0\"\r\nlast-modified: Thu, 30 Apr 2026 21:19:00 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/95262386d8d4b6dd.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::n9fnj-1777689750477-eb548eb708c2\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=6BxxsEsswt2%2Fj6LdhjDVoIu2FEdzv46TFgXXVz2EYD9QNTB7UKrJdBb6p2EgddK4lFQM8UtCs5PvA5l8%2FN1%2FJyId4vhT2ux%2F5Xdc2xvYVxbOj1YG17LDwRE0S4FM\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c84d29a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":30684,"size_decoded":9883,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (30682), with no line terminators","md5":"8c155806c003f628ca093cb0feb083d0","sha1":"7e566386cefa86e8ede2e755f712dff7a8ef02f7","sha256":"07310b422de93eb0e61986355fd1084b06b47060d629f957c5311440650a6d2a","sha512":"980bd9a8f57049d13d7a8647fb56f621b005d208dafacc5c0534b9a919204bc9e363a122a1b4a48f4ef71cc00dcd2308e4885de83e31d2491b0a5d4a807fe7fe","ssdeep":"384:tj5z75Bq9E0mLlSmRt0cJ3XHHE79Fg/Za98qWtOPSN6wfV:N5z9BX0idiMxxgwfV","tlshash":"a4d2d9b17395f9a352db86d9d03a0005f2290d3530ae28b0b395dcef365dc8991fafa5","first_seen":"2026-03-29T05:29:39.700118Z","last_seen":"2026-08-15T07:58:28.220146Z","times_seen":2198,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc3NDcyLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9e30pe2lmKHQub25seUhhc2hDaGFuZ2UpcmV0dXJuIHZvaWQgZSgpO2xldCByPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZigic21vb3RoIiE9PXIuZGF0YXNldC5zY3JvbGxCZWhhdmlvcilyZXR1cm4gdm9pZCBlKCk7bGV0IGE9ci5zdHlsZS5zY3JvbGxCZWhhdmlvcjtyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPSJhdXRvIix0LmRvbnRGb3JjZUxheW91dHx8ci5nZXRDbGllbnRSZWN0cygpLGUoKSxyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPWF9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkaXNhYmxlU21vb3RoU2Nyb2xsRHVyaW5nUm91dGVUcmFuc2l0aW9uIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoOTE5NDcpfSwxODkxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9fSk7bGV0IG49ZS5yKDQ0MDY2KSxhPWUucig5ODEzNCksbz1uLl8oZS5yKDc1MjAxKSksaT1lLnIoNzQwODQpLHM9ZS5yKDUzMTMzKTtlLnIoOTE5NDcpO2xldCBjPWUucigxNjg3Mik7Y2xhc3MgdSBleHRlbmRzIG8uZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17dHJpZ2dlcmVkU3RhdHVzOnZvaWQgMCxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fWNvbXBvbmVudERpZENhdGNoKCl7fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc0hUVFBBY2Nlc3NGYWxsYmFja0Vycm9yKShlKSlyZXR1cm57dHJpZ2dlcmVkU3RhdHVzOigwLHMuZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzKShlKX07dGhyb3cgZX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7cmV0dXJuIGUucGF0aG5hbWUhPT10LnByZXZpb3VzUGF0aG5hbWUmJnQudHJpZ2dlcmVkU3RhdHVzP3t0cmlnZ2VyZWRTdGF0dXM6dm9pZCAwLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e3RyaWdnZXJlZFN0YXR1czp0LnRyaWdnZXJlZFN0YXR1cyxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fXJlbmRlcigpe2xldHtub3RGb3VuZDplLGZvcmJpZGRlbjp0LHVuYXV0aG9yaXplZDpyLGNoaWxkcmVuOm59PXRoaXMucHJvcHMse3RyaWdnZXJlZFN0YXR1czpvfT10aGlzLnN0YXRlLGk9e1tzLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5OT1RfRk9VTkRdOmUsW3MuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTl06dCxbcy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuVU5BVVRIT1JJWkVEXTpyfTtpZihvKXtsZXQgYz1vPT09cy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuTk9UX0ZPVU5EJiZlLHU9bz09PXMuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTiYmdCxsPW89PT1zLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5VTkFVVEhPUklaRUQmJnI7cmV0dXJuIGN8fHV8fGw/KDAsYS5qc3hzKShhLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsYS5qc3gpKCJtZXRhIix7bmFtZToicm9ib3RzIixjb250ZW50OiJub2luZGV4In0pLCExLGlbb11dfSk6bn1yZXR1cm4gbn19ZnVuY3Rpb24gbCh7bm90Rm91bmQ6ZSxmb3JiaWRkZW46dCx1bmF1dGhvcml6ZWQ6cixjaGlsZHJlbjpufSl7bGV0IHM9KDAsaS51c2VVbnRyYWNrZWRQYXRobmFtZSkoKSxsPSgwLG8udXNlQ29udGV4dCkoYy5NaXNzaW5nU2xvdENvbnRleHQpO3JldHVybiBlfHx0fHxyPygwLGEuanN4KSh1LHtwYXRobmFtZTpzLG5vdEZvdW5kOmUsZm9yYmlkZGVuOnQsdW5hdXRob3JpemVkOnIsbWlzc2luZ1Nsb3RzOmwsY2hpbGRyZW46bn0pOigwLGEuanN4KShhLkZyYWdtZW50LHtjaGlsZHJlbjpufSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODU2NDYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZVJvdXRlckJGQ2FjaGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig3NTIwMSk7ZnVuY3Rpb24gYShlLHQpe2xldFtyLGFdPSgwLG4udXNlU3RhdGUpKCgpPT4oe3RyZWU6ZSxzdGF0ZUtleTp0LG5leHQ6bnVsbH0pKTtpZihyLnRyZWU9PT1lKXJldHVybiByO2xldCBvPXt0cmVlOmUsc3RhdGVLZXk6dCxuZXh0Om51bGx9LGk9MSxzPXIsYz1vO2Zvcig7bnVsbCE9PXMmJmk8MTspe2lmKHMuc3RhdGVLZXk9PT10KXtjLm5leHQ9cy5uZXh0O2JyZWFrfXtpKys7bGV0IGU9e3RyZWU6cy50cmVlLHN0YXRlS2V5OnMuc3RhdGVLZXksbmV4dDpudWxsfTtjLm5leHQ9ZSxjPWV9cz1zLm5leHR9cmV0dXJuIGEobyksb30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMDk3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gd319KTtsZXQgbj1lLnIoODEyNTgpLGE9ZS5yKDQ0MDY2KSxvPWUucig5ODEzNCksaT1hLl8oZS5yKDc1MjAxKSkscz1uLl8oZS5yKDI5MDgwKSksYz1lLnIoMTY4NzIpLHU9ZS5yKDUwMDk2KSxsPWUucig3NDg0NyksZD1lLnIoODk2MTYpLGY9ZS5yKDc3NDcyKSxwPWUucig1NzI0NyksaD1lLnIoMTg5MSksbT1lLnIoNTc3NzgpLGc9ZS5yKDg1NjQ2KTtlLnIoOTIyMjcpO2xldCB5PWUucigzMTg5OSksYj1lLnIoODgwNjIpLFA9ZS5yKDE4OTM5KSxfPXMuZGVmYXVsdC5fX0RPTV9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsUz1bImJvdHRvbSIsImhlaWdodCIsImxlZnQiLCJyaWdodCIsInRvcCIsIndpZHRoIiwieCIsInkiXTtmdW5jdGlvbiB2KGUsdCl7bGV0IHI9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gci50b3A+PTAmJnIudG9wPD10fWNsYXNzIE8gZXh0ZW5kcyBpLmRlZmF1bHQuQ29tcG9uZW50e2NvbXBvbmVudERpZE1vdW50KCl7dGhpcy5oYW5kbGVQb3RlbnRpYWxTY3JvbGwoKX1jb21wb25lbnREaWRVcGRhdGUoKXt0aGlzLnByb3BzLmZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5JiZ0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpfXJlbmRlcigpe3JldHVybiB0aGlzLnByb3BzLmNoaWxkcmVufWNvbnN0cnVjdG9yKC4uLmUpe3N1cGVyKC4uLmUpLHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsPSgpPT57bGV0e2ZvY3VzQW5kU2Nyb2xsUmVmOmUsc2VnbWVudFBhdGg6dH09dGhpcy5wcm9wcztpZihlLmFwcGx5KXtpZigwIT09ZS5zZWdtZW50UGF0aHMubGVuZ3RoJiYhZS5zZWdtZW50UGF0aHMuc29tZShlPT50LmV2ZXJ5KCh0LHIpPT4oMCxkLm1hdGNoU2VnbWVudCkodCxlW3JdKSkpKXJldHVybjtsZXQgcj1udWxsLG49ZS5oYXNoRnJhZ21lbnQ7aWYobiYmKHI9InRvcCI9PT1uP2RvY3VtZW50LmJvZHk6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobik/P2RvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKG4pWzBdKSxyfHwocj0idSI8dHlwZW9mIHdpbmRvdz9udWxsOigwLF8uZmluZERPTU5vZGUpKHRoaXMpKSwhKHIgaW5zdGFuY2VvZiBFbGVtZW50KSlyZXR1cm47Zm9yKDshKHIgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl8fGZ1bmN0aW9uKGUpe2lmKFsic3RpY2t5IiwiZml4ZWQiXS5pbmNsdWRlcyhnZXRDb21wdXRlZFN0eWxlKGUpLnBvc2l0aW9uKSlyZXR1cm4hMDtsZXQgdD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBTLmV2ZXJ5KGU9PjA9PT10W2VdKX0ocik7KXtpZihudWxsPT09ci5uZXh0RWxlbWVudFNpYmxpbmcpcmV0dXJuO3I9ci5uZXh0RWxlbWVudFNpYmxpbmd9ZS5hcHBseT0hMSxlLmhhc2hGcmFnbWVudD1udWxsLGUuc2VnbWVudFBhdGhzPVtdLCgwLGYuZGlzYWJsZVNtb290aFNjcm9sbER1cmluZ1JvdXRlVHJhbnNpdGlvbikoKCk9PntpZihuKXJldHVybiB2b2lkIHIuc2Nyb2xsSW50b1ZpZXcoKTtsZXQgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdD1lLmNsaWVudEhlaWdodDshdihyLHQpJiYoZS5zY3JvbGxUb3A9MCx2KHIsdCl8fHIuc2Nyb2xsSW50b1ZpZXcoKSl9LHtkb250Rm9yY2VMYXlvdXQ6ITAsb25seUhhc2hDaGFuZ2U6ZS5vbmx5SGFzaENoYW5nZX0pLGUub25seUhhc2hDaGFuZ2U9ITEsci5mb2N1cygpfX19fWZ1bmN0aW9uIFIoe3NlZ21lbnRQYXRoOmUsY2hpbGRyZW46dH0pe2xldCByPSgwLGkudXNlQ29udGV4dCkoYy5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtpZighcil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImludmFyaWFudCBnbG9iYWwgbGF5b3V0IHJvdXRlciBub3QgbW91bnRlZCIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNDczIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybigwLG8uanN4KShPLHtzZWdtZW50UGF0aDplLGZvY3VzQW5kU2Nyb2xsUmVmOnIuZm9jdXNBbmRTY3JvbGxSZWYsY2hpbGRyZW46dH0pfWZ1bmN0aW9uIEUoe3RyZWU6ZSxzZWdtZW50UGF0aDp0LGRlYnVnTmFtZUNvbnRleHQ6cixjYWNoZU5vZGU6bixwYXJhbXM6YSx1cmw6cyxpc0FjdGl2ZTpsfSl7bGV0IGQsZj0oMCxpLnVzZUNvbnRleHQpKGMuR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCk7aWYoKDAsaS51c2VDb250ZXh0KSh5Lk5hdmlnYXRpb25Qcm9taXNlc0NvbnRleHQpLCFmKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0NzMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IHA9bnVsbCE9PW4/bjooMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGg9bnVsbCE9PXAucHJlZmV0Y2hSc2M/cC5wcmVmZXRjaFJzYzpwLnJzYyxtPSgwLGkudXNlRGVmZXJyZWRWYWx1ZSkocC5yc2MsaCk7aWYoKDAsUC5pc0RlZmVycmVkUnNjKShtKSl7bGV0IGU9KDAsaS51c2UpKG0pO251bGw9PT1lJiYoMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGQ9ZX1lbHNlIG51bGw9PT1tJiYoMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGQ9bTtsZXQgZz1kO3JldHVybigwLG8uanN4KShjLkxheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOntwYXJlbnRUcmVlOmUscGFyZW50Q2FjaGVOb2RlOnAscGFyZW50U2VnbWVudFBhdGg6dCxwYXJlbnRQYXJhbXM6YSxkZWJ1Z05hbWVDb250ZXh0OnIsdXJsOnMsaXNBY3RpdmU6bH0sY2hpbGRyZW46Z30pfWZ1bmN0aW9uIGooe25hbWU6ZSxsb2FkaW5nOnQsY2hpbGRyZW46cn0pe2xldCBuO2lmKG49Im9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbj8oMCxpLnVzZSkodCk6dCl7bGV0IHQ9blswXSxhPW5bMV0scz1uWzJdO3JldHVybigwLG8uanN4KShpLlN1c3BlbnNlLHtuYW1lOmUsZmFsbGJhY2s6KDAsby5qc3hzKShvLkZyYWdtZW50LHtjaGlsZHJlbjpbYSxzLHRdfSksY2hpbGRyZW46cn0pfXJldHVybigwLG8uanN4KShvLkZyYWdtZW50LHtjaGlsZHJlbjpyfSl9ZnVuY3Rpb24gdyh7cGFyYWxsZWxSb3V0ZXJLZXk6ZSxlcnJvcjp0LGVycm9yU3R5bGVzOnIsZXJyb3JTY3JpcHRzOm4sdGVtcGxhdGVTdHlsZXM6YSx0ZW1wbGF0ZVNjcmlwdHM6cyx0ZW1wbGF0ZTpkLG5vdEZvdW5kOmYsZm9yYmlkZGVuOnksdW5hdXRob3JpemVkOlAsc2VnbWVudFZpZXdCb3VuZGFyaWVzOl99KXtsZXQgUz0oMCxpLnVzZUNvbnRleHQpKGMuTGF5b3V0Um91dGVyQ29udGV4dCk7aWYoIVMpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJpbnZhcmlhbnQgZXhwZWN0ZWQgbGF5b3V0IHJvdXRlciB0byBiZSBtb3VudGVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7cGFyZW50VHJlZTp2LHBhcmVudENhY2hlTm9kZTpPLHBhcmVudFNlZ21lbnRQYXRoOncscGFyZW50UGFyYW1zOkMsdXJsOlQsaXNBY3RpdmU6eCxkZWJ1Z05hbWVDb250ZXh0OkF9PVMsTT1PLnBhcmFsbGVsUm91dGVzLEQ9TS5nZXQoZSk7RHx8KEQ9bmV3IE1hcCxNLnNldChlLEQpKTtsZXQgRj12WzBdLEk9bnVsbD09PXc/W2VdOncuY29uY2F0KFtGLGVdKSxrPXZbMV1bZV07dm9pZCAwPT09ayYmKDAsaS51c2UpKHUudW5yZXNvbHZlZFRoZW5hYmxlKTtsZXQgTj1rWzBdLFU9KDAsbS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoTiwhMCksQj0oMCxnLnVzZVJvdXRlckJGQ2FjaGUpKGssVSksTD1bXTtkb3tsZXQgZT1CLnRyZWUsaT1CLnN0YXRlS2V5LHU9ZVswXSxnPSgwLG0uY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHUpLF89RC5nZXQoZyk/P251bGwsUz1DO2lmKEFycmF5LmlzQXJyYXkodSkpe2xldCBlPXVbMF0sdD11WzFdLHI9dVsyXSxuPSgwLGIuZ2V0UGFyYW1WYWx1ZUZyb21DYWNoZUtleSkodCxyKTtudWxsIT09biYmKFM9ey4uLkMsW2VdOm59KX1sZXQgdj1mdW5jdGlvbihlKXtpZigiLyI9PT1lKXJldHVybiIvIjtpZigic3RyaW5nIj09dHlwZW9mIGUpaWYoIihzbG90KSI9PT1lKXJldHVybjtlbHNlIHJldHVybiBlKyIvIjtyZXR1cm4gZVsxXSsiLyJ9KHUpLHc9dj8/QSxNPXZvaWQgMD09PXY/dm9pZCAwOkEsRj1PLmxvYWRpbmcsaz0oMCxvLmpzeHMpKGMuVGVtcGxhdGVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTooMCxvLmpzeHMpKFIse3NlZ21lbnRQYXRoOkksY2hpbGRyZW46WygwLG8uanN4KShsLkVycm9yQm91bmRhcnkse2Vycm9yQ29tcG9uZW50OnQsZXJyb3JTdHlsZXM6cixlcnJvclNjcmlwdHM6bixjaGlsZHJlbjooMCxvLmpzeCkoaix7bmFtZTpNLGxvYWRpbmc6RixjaGlsZHJlbjooMCxvLmpzeCkoaC5IVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSx7bm90Rm91bmQ6Zixmb3JiaWRkZW46eSx1bmF1dGhvcml6ZWQ6UCxjaGlsZHJlbjooMCxvLmpzeHMpKHAuUmVkaXJlY3RCb3VuZGFyeSx7Y2hpbGRyZW46WygwLG8uanN4KShFLHt1cmw6VCx0cmVlOmUscGFyYW1zOlMsY2FjaGVOb2RlOl8sc2VnbWVudFBhdGg6SSxkZWJ1Z05hbWVDb250ZXh0OncsaXNBY3RpdmU6eCYmaT09PVV9KSxudWxsXX0pfSl9KX0pLG51bGxdfSksY2hpbGRyZW46W2EscyxkXX0saSk7TC5wdXNoKGspLEI9Qi5uZXh0fXdoaWxlKG51bGwhPT1CKXJldHVybiBMfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk5Mjk5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1lLnIoNDQwNjYpLGE9ZS5yKDk4MTM0KSxvPW4uXyhlLnIoNzUyMDEpKSxpPWUucigxNjg3Mik7ZnVuY3Rpb24gcygpe2xldCBlPSgwLG8udXNlQ29udGV4dCkoaS5UZW1wbGF0ZUNvbnRleHQpO3JldHVybigwLGEuanN4KShhLkZyYWdtZW50LHtjaGlsZHJlbjplfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODk1MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY4NjE0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJTZWFyY2hQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoODk1MykuY3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudDsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3MDcyOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDg3MTg5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoNzA3MjkpLmNyZWF0ZVJlbmRlclBhcmFtc0Zyb21DbGllbnQ7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTc1MTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIlJlZmxlY3RBZGFwdGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtjbGFzcyBue3N0YXRpYyBnZXQoZSx0LHIpe2xldCBuPVJlZmxlY3QuZ2V0KGUsdCxyKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmJpbmQoZSk6bn1zdGF0aWMgc2V0KGUsdCxyLG4pe3JldHVybiBSZWZsZWN0LnNldChlLHQscixuKX1zdGF0aWMgaGFzKGUsdCl7cmV0dXJuIFJlZmxlY3QuaGFzKGUsdCl9c3RhdGljIGRlbGV0ZVByb3BlcnR5KGUsdCl7cmV0dXJuIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkoZSx0KX19fSw0NTAxNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlRGVkdXBlZEJ5Q2FsbHNpdGVTZXJ2ZXJFcnJvckxvZ2dlckRldiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9fSk7bGV0IG49ZnVuY3Rpb24oZSx0KXtpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7aWYobnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpcmV0dXJue2RlZmF1bHQ6ZX07dmFyIHI9YSh2b2lkIDApO2lmKHImJnIuaGFzKGUpKXJldHVybiByLmdldChlKTt2YXIgbj17X19wcm90b19fOm51bGx9LG89T2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2Zvcih2YXIgaSBpbiBlKWlmKCJkZWZhdWx0IiE9PWkmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpKXt2YXIgcz1vP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxpKTpudWxsO3MmJihzLmdldHx8cy5zZXQpP09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLGkscyk6bltpXT1lW2ldfXJldHVybiBuLmRlZmF1bHQ9ZSxyJiZyLnNldChlLG4pLG59KGUucig3NTIwMSkpO2Z1bmN0aW9uIGEoZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAscj1uZXcgV2Vha01hcDtyZXR1cm4oYT1mdW5jdGlvbihlKXtyZXR1cm4gZT9yOnR9KShlKX1sZXQgbz17Y3VycmVudDpudWxsfSxpPSJmdW5jdGlvbiI9PXR5cGVvZiBuLmNhY2hlP24uY2FjaGU6ZT0+ZSxzPWNvbnNvbGUud2FybjtmdW5jdGlvbiBjKGUpe3JldHVybiBmdW5jdGlvbiguLi50KXtzKGUoLi4udCkpfX1pKGU9Pnt0cnl7cyhvLmN1cnJlbnQpfWZpbmFsbHl7by5jdXJyZW50PW51bGx9fSl9LDc1ODI3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtkZXNjcmliZUhhc0NoZWNraW5nU3RyaW5nUHJvcGVydHk6ZnVuY3Rpb24oKXtyZXR1cm4gc30sZGVzY3JpYmVTdHJpbmdQcm9wZXJ0eUFjY2VzczpmdW5jdGlvbigpe3JldHVybiBpfSx3ZWxsS25vd25Qcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89L15bQS1aYS16XyRdW0EtWmEtejAtOV8kXSokLztmdW5jdGlvbiBpKGUsdCl7cmV0dXJuIG8udGVzdCh0KT9gXGAke2V9LiR7dH1cYGA6YFxgJHtlfVske0pTT04uc3RyaW5naWZ5KHQpfV1cYGB9ZnVuY3Rpb24gcyhlLHQpe2xldCByPUpTT04uc3RyaW5naWZ5KHQpO3JldHVybmBcYFJlZmxlY3QuaGFzKCR7ZX0sICR7cn0pXGAsIFxgJHtyfSBpbiAke2V9XGAsIG9yIHNpbWlsYXJgfWxldCBjPW5ldyBTZXQoWyJoYXNPd25Qcm9wZXJ0eSIsImlzUHJvdG90eXBlT2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInRvU3RyaW5nIiwidmFsdWVPZiIsInRvTG9jYWxlU3RyaW5nIiwidGhlbiIsImNhdGNoIiwiZmluYWxseSIsInN0YXR1cyIsImRpc3BsYXlOYW1lIiwiX2RlYnVnSW5mbyIsInRvSlNPTiIsIiQkdHlwZW9mIiwiX19lc01vZHVsZSJdKX0sNTU5NDksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFmdGVyVGFza0FzeW5jU3RvcmFnZUluc3RhbmNlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oMCxlLnIoNDkyMTEpLmNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlKSgpfSwxMzE3NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5hZnRlclRhc2tBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNTU5NDkpfSwzNzE2NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17aXNSZXF1ZXN0QVBJQ2FsbGFibGVJbnNpZGVBZnRlcjpmdW5jdGlvbigpe3JldHVybiB1fSx0aHJvd0ZvclNlYXJjaFBhcmFtc0FjY2Vzc0luVXNlQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdGhyb3dXaXRoU3RhdGljR2VuZXJhdGlvbkJhaWxvdXRFcnJvcldpdGhEeW5hbWljRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoMTY0MzIpLGk9ZS5yKDEzMTc3KTtmdW5jdGlvbiBzKGUsdCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBvLlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtlfSB3aXRoIFxgZHluYW1pYyA9ICJlcnJvciJcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCAke3R9LiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU0MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1mdW5jdGlvbiBjKGUsdCl7bGV0IHI9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBSb3V0ZSAke2Uucm91dGV9IHVzZWQgXGBzZWFyY2hQYXJhbXNcYCBpbnNpZGUgInVzZSBjYWNoZSIuIEFjY2Vzc2luZyBkeW5hbWljIHJlcXVlc3QgZGF0YSBpbnNpZGUgYSBjYWNoZSBzY29wZSBpcyBub3Qgc3VwcG9ydGVkLiBJZiB5b3UgbmVlZCBzb21lIHNlYXJjaCBwYXJhbXMgaW5zaWRlIGEgY2FjaGVkIGZ1bmN0aW9uIGF3YWl0IFxgc2VhcmNoUGFyYW1zXGAgb3V0c2lkZSBvZiB0aGUgY2FjaGVkIGZ1bmN0aW9uIGFuZCBwYXNzIG9ubHkgdGhlIHJlcXVpcmVkIHNlYXJjaCBwYXJhbXMgYXMgYXJndW1lbnRzIHRvIHRoZSBjYWNoZWQgZnVuY3Rpb24uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1yZXF1ZXN0LWluLXVzZS1jYWNoZWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFODQyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHIsdCksZS5pbnZhbGlkRHluYW1pY1VzYWdlRXJyb3I/Pz1yLHJ9ZnVuY3Rpb24gdSgpe2xldCBlPWkuYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7cmV0dXJuKG51bGw9PWU/dm9pZCAwOmUucm9vdFRhc2tTcGF3blBoYXNlKT09PSJhY3Rpb24ifX0sNTU1MjUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYT17UmVuZGVyU3RhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gY30sU3RhZ2VkUmVuZGVyaW5nQ29udHJvbGxlcjpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBvIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6YVtvXX0pO2xldCBpPWUucig0MTA2Mikscz1lLnIoNDA0NjEpO3ZhciBjPSgobj17fSlbbi5CZWZvcmU9MV09IkJlZm9yZSIsbltuLlN0YXRpYz0yXT0iU3RhdGljIixuW24uUnVudGltZT0zXT0iUnVudGltZSIsbltuLkR5bmFtaWM9NF09IkR5bmFtaWMiLG5bbi5BYmFuZG9uZWQ9NV09IkFiYW5kb25lZCIsbik7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlPW51bGwsdCl7dGhpcy5hYm9ydFNpZ25hbD1lLHRoaXMuaGFzUnVudGltZVByZWZldGNoPXQsdGhpcy5jdXJyZW50U3RhZ2U9MSx0aGlzLnN0YXRpY0ludGVycnVwdFJlYXNvbj1udWxsLHRoaXMucnVudGltZUludGVycnVwdFJlYXNvbj1udWxsLHRoaXMuc3RhdGljU3RhZ2VFbmRUaW1lPTEvMCx0aGlzLnJ1bnRpbWVTdGFnZUVuZFRpbWU9MS8wLHRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzPVtdLHRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzPVtdLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMubWF5QWJhbmRvbj0hMSxlJiYoZS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9PntsZXR7cmVhc29uOnR9PWU7dGhpcy5jdXJyZW50U3RhZ2U8MyYmKHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlLmNhdGNoKGwpLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZWplY3QodCkpLCh0aGlzLmN1cnJlbnRTdGFnZTw0fHw1PT09dGhpcy5jdXJyZW50U3RhZ2UpJiYodGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2UuY2F0Y2gobCksdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnJlamVjdCh0KSl9LHtvbmNlOiEwfSksdGhpcy5tYXlBYmFuZG9uPSEwKX1vblN0YWdlKGUsdCl7aWYodGhpcy5jdXJyZW50U3RhZ2U+PWUpdCgpO2Vsc2UgaWYoMz09PWUpdGhpcy5ydW50aW1lU3RhZ2VMaXN0ZW5lcnMucHVzaCh0KTtlbHNlIGlmKDQ9PT1lKXRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzLnB1c2godCk7ZWxzZSB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9Y2FuU3luY0ludGVycnVwdCgpe2lmKDE9PT10aGlzLmN1cnJlbnRTdGFnZSlyZXR1cm4hMTtsZXQgZT10aGlzLmhhc1J1bnRpbWVQcmVmZXRjaD80OjM7cmV0dXJuIHRoaXMuY3VycmVudFN0YWdlPGV9c3luY0ludGVycnVwdEN1cnJlbnRTdGFnZVdpdGhSZWFzb24oZSl7aWYoMSE9PXRoaXMuY3VycmVudFN0YWdlKXtpZih0aGlzLm1heUFiYW5kb24pcmV0dXJuIHRoaXMuYWJhbmRvblJlbmRlckltcGwoKTtzd2l0Y2godGhpcy5jdXJyZW50U3RhZ2Upe2Nhc2UgMjp0aGlzLnN0YXRpY0ludGVycnVwdFJlYXNvbj1lLHRoaXMuYWR2YW5jZVN0YWdlKDQpO3JldHVybjtjYXNlIDM6dGhpcy5oYXNSdW50aW1lUHJlZmV0Y2gmJih0aGlzLnJ1bnRpbWVJbnRlcnJ1cHRSZWFzb249ZSx0aGlzLmFkdmFuY2VTdGFnZSg0KSk7cmV0dXJufX19Z2V0U3RhdGljSW50ZXJydXB0UmVhc29uKCl7cmV0dXJuIHRoaXMuc3RhdGljSW50ZXJydXB0UmVhc29ufWdldFJ1bnRpbWVJbnRlcnJ1cHRSZWFzb24oKXtyZXR1cm4gdGhpcy5ydW50aW1lSW50ZXJydXB0UmVhc29ufWdldFN0YXRpY1N0YWdlRW5kVGltZSgpe3JldHVybiB0aGlzLnN0YXRpY1N0YWdlRW5kVGltZX1nZXRSdW50aW1lU3RhZ2VFbmRUaW1lKCl7cmV0dXJuIHRoaXMucnVudGltZVN0YWdlRW5kVGltZX1hYmFuZG9uUmVuZGVyKCl7aWYoIXRoaXMubWF5QWJhbmRvbil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoImBhYmFuZG9uUmVuZGVyYCBjYWxsZWQgb24gYSBzdGFnZSBjb250cm9sbGVyIHRoYXQgY2Fubm90IGJlIGFiYW5kb25lZC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTkzOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aGlzLmFiYW5kb25SZW5kZXJJbXBsKCl9YWJhbmRvblJlbmRlckltcGwoKXtsZXR7Y3VycmVudFN0YWdlOmV9PXRoaXM7c3dpdGNoKGUpe2Nhc2UgMjp0aGlzLmN1cnJlbnRTdGFnZT01LHRoaXMucmVzb2x2ZVJ1bnRpbWVTdGFnZSgpO3JldHVybjtjYXNlIDM6dGhpcy5jdXJyZW50U3RhZ2U9NTtyZXR1cm59fWFkdmFuY2VTdGFnZShlKXtpZihlPD10aGlzLmN1cnJlbnRTdGFnZSlyZXR1cm47bGV0IHQ9dGhpcy5jdXJyZW50U3RhZ2U7aWYodGhpcy5jdXJyZW50U3RhZ2U9ZSx0PDMmJmU+PTMmJih0aGlzLnN0YXRpY1N0YWdlRW5kVGltZT1wZXJmb3JtYW5jZS5ub3coKStwZXJmb3JtYW5jZS50aW1lT3JpZ2luLHRoaXMucmVzb2x2ZVJ1bnRpbWVTdGFnZSgpKSx0PDQmJmU+PTQpe3RoaXMucnVudGltZVN0YWdlRW5kVGltZT1wZXJmb3JtYW5jZS5ub3coKStwZXJmb3JtYW5jZS50aW1lT3JpZ2luLHRoaXMucmVzb2x2ZUR5bmFtaWNTdGFnZSgpO3JldHVybn19cmVzb2x2ZVJ1bnRpbWVTdGFnZSgpe2xldCBlPXRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0oKTtlLmxlbmd0aD0wLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZXNvbHZlKCl9cmVzb2x2ZUR5bmFtaWNTdGFnZSgpe2xldCBlPXRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0oKTtlLmxlbmd0aD0wLHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZS5yZXNvbHZlKCl9Z2V0U3RhZ2VQcm9taXNlKGUpe3N3aXRjaChlKXtjYXNlIDM6cmV0dXJuIHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlO2Nhc2UgNDpyZXR1cm4gdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2U7ZGVmYXVsdDp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fXdhaXRGb3JTdGFnZShlKXtyZXR1cm4gdGhpcy5nZXRTdGFnZVByb21pc2UoZSl9ZGVsYXlVbnRpbFN0YWdlKGUsdCxyKXt2YXIgbixhLG87bGV0IGkscz0obj10aGlzLmdldFN0YWdlUHJvbWlzZShlKSxhPXQsbz1yLGk9bmV3IFByb21pc2UoKGUsdCk9PntuLnRoZW4oZS5iaW5kKG51bGwsbyksdCl9KSx2b2lkIDAhPT1hJiYoaS5kaXNwbGF5TmFtZT1hKSxpKTtyZXR1cm4gdGhpcy5hYm9ydFNpZ25hbCYmcy5jYXRjaChsKSxzfX1mdW5jdGlvbiBsKCl7fX0sODY3NzAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sY3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBwfSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JNZXRhZGF0YTpmdW5jdGlvbigpe3JldHVybiBofSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JTZXJ2ZXJQYWdlOmZ1bmN0aW9uKCl7cmV0dXJuIG19LG1ha2VFcnJvcmluZ1NlYXJjaFBhcmFtc0ZvclVzZUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIFN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDE3NTE4KSxpPWUucig2Nzc4MSkscz1lLnIoMTI5NjUpLGM9ZS5yKDQxMDYyKSx1PWUucigxNTUwOCksbD1lLnIoNDUwMTQpLGQ9ZS5yKDc1ODI3KSxmPWUucigzNzE2NSk7ZnVuY3Rpb24gcChlLHQpe2xldCByPXMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4geSh0LHIpO2Nhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudCBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBhIHJ1bnRpbWUgcHJlcmVuZGVyLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzY5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBjLkludmFyaWFudEVycm9yKCJjcmVhdGVTZWFyY2hQYXJhbXNGcm9tQ2xpZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGNhY2hlIGNvbnRleHRzLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzM5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UicmVxdWVzdCI6cmV0dXJuIGIoZSx0LHIpfSgwLHMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZS5yKDU1NTI1KTtsZXQgaD1tO2Z1bmN0aW9uIG0oZSx0KXtsZXQgcj1zLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYocilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6cmV0dXJuIHkodCxyKTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VydmVyU2VhcmNoUGFyYW1zRm9yU2VydmVyUGFnZSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjYWNoZSBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc0NyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1ydW50aW1lIjp2YXIgbixhO3JldHVybiBuPWUsYT1yLCgwLGkuZGVsYXlVbnRpbFJ1bnRpbWVTdGFnZSkoYSx2KG4pKTtjYXNlInJlcXVlc3QiOnJldHVybiBiKGUsdCxyKX0oMCxzLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIGcoZSl7aWYoZS5mb3JjZVN0YXRpYylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtsZXQgdD1zLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodClzd2l0Y2godC50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpyZXR1cm4oMCx1Lm1ha2VIYW5naW5nUHJvbWlzZSkodC5yZW5kZXJTaWduYWwsZS5yb3V0ZSwiYHNlYXJjaFBhcmFtc2AiKTtjYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGMuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2Ugc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gYSBydW50aW1lIHByZXJlbmRlci4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc2OCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlUHJlcmVuZGVyU2VhcmNoUGFyYW1zRm9yQ2xpZW50UGFnZSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjYWNoZSBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc0NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KX0oMCxzLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIHkoZSx0KXtpZihlLmZvcmNlU3RhdGljKXJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO3N3aXRjaCh0LnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOnZhciByPWUsbj10O2xldCBhPVAuZ2V0KG4pO2lmKGEpcmV0dXJuIGE7bGV0IHM9KDAsdS5tYWtlSGFuZ2luZ1Byb21pc2UpKG4ucmVuZGVyU2lnbmFsLHIucm91dGUsImBzZWFyY2hQYXJhbXNgIiksYz1uZXcgUHJveHkocyx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKHMsdCkpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtzd2l0Y2godCl7Y2FzZSJ0aGVuIjpyZXR1cm4oMCxpLmFubm90YXRlRHluYW1pY0FjY2VzcykoImBhd2FpdCBzZWFyY2hQYXJhbXNgLCBgc2VhcmNoUGFyYW1zLnRoZW5gLCBvciBzaW1pbGFyIixuKSxvLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7Y2FzZSJzdGF0dXMiOnJldHVybigwLGkuYW5ub3RhdGVEeW5hbWljQWNjZXNzKSgiYHVzZShzZWFyY2hQYXJhbXMpYCwgYHNlYXJjaFBhcmFtcy5zdGF0dXNgLCBvciBzaW1pbGFyIixuKSxvLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7ZGVmYXVsdDpyZXR1cm4gby5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpfX19KTtyZXR1cm4gUC5zZXQobixjKSxjO2Nhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5Ijp2YXIgbD1lLGQ9dDtsZXQgcD1QLmdldChsKTtpZihwKXJldHVybiBwO2xldCBoPVByb21pc2UucmVzb2x2ZSh7fSksbT1uZXcgUHJveHkoaCx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKGgsdCkpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtpZigic3RyaW5nIj09dHlwZW9mIHQmJiJ0aGVuIj09PXQpe2xldCBlPSJgYXdhaXQgc2VhcmNoUGFyYW1zYCwgYHNlYXJjaFBhcmFtcy50aGVuYCwgb3Igc2ltaWxhciI7bC5keW5hbWljU2hvdWxkRXJyb3I/KDAsZi50aHJvd1dpdGhTdGF0aWNHZW5lcmF0aW9uQmFpbG91dEVycm9yV2l0aER5bmFtaWNFcnJvcikobC5yb3V0ZSxlKToicHJlcmVuZGVyLXBwciI9PT1kLnR5cGU/KDAsaS5wb3N0cG9uZVdpdGhUcmFja2luZykobC5yb3V0ZSxlLGQuZHluYW1pY1RyYWNraW5nKTooMCxpLnRocm93VG9JbnRlcnJ1cHRTdGF0aWNHZW5lcmF0aW9uKShlLGwsZCl9cmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19KTtyZXR1cm4gUC5zZXQobCxtKSxtO2RlZmF1bHQ6cmV0dXJuIHR9fWZ1bmN0aW9uIGIoZSx0LHIpe3JldHVybiB0LmZvcmNlU3RhdGljP1Byb21pc2UucmVzb2x2ZSh7fSk6dihlKX1sZXQgUD1uZXcgV2Vha01hcCxfPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIFMoZSl7bGV0IHQ9Xy5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoe30pLG49bmV3IFByb3h5KHIse2dldDpmdW5jdGlvbiB0KG4sYSxpKXtyZXR1cm4gT2JqZWN0Lmhhc093bihyLGEpfHwic3RyaW5nIiE9dHlwZW9mIGF8fCJ0aGVuIiE9PWEmJmQud2VsbEtub3duUHJvcGVydGllcy5oYXMoYSl8fCgwLGYudGhyb3dGb3JTZWFyY2hQYXJhbXNBY2Nlc3NJblVzZUNhY2hlKShlLHQpLG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KG4sYSxpKX19KTtyZXR1cm4gXy5zZXQoZSxuKSxufWZ1bmN0aW9uIHYoZSl7bGV0IHQ9UC5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoZSk7cmV0dXJuIFAuc2V0KGUscikscn0oMCxsLmNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYpKGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZT9gUm91dGUgIiR7ZX0iIGA6IlRoaXMgcm91dGUgIjtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGAke3J9dXNlZCAke3R9LiBcYHNlYXJjaFBhcmFtc1xgIGlzIGEgUHJvbWlzZSBhbmQgbXVzdCBiZSB1bndyYXBwZWQgd2l0aCBcYGF3YWl0XGAgb3IgXGBSZWFjdC51c2UoKVxgIGJlZm9yZSBhY2Nlc3NpbmcgaXRzIHByb3BlcnRpZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3N5bmMtZHluYW1pYy1hcGlzYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4NDgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9KX0sNDQ2MzEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sNDc1OTUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLmR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNDQ2MzEpfSwzNjA3MCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y3JlYXRlUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBofSxjcmVhdGVQcmVyZW5kZXJQYXJhbXNGb3JDbGllbnRTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGNyZWF0ZVNlcnZlclBhcmFtc0Zvck1ldGFkYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIG19LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclJvdXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclNlcnZlclNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4geX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoODk3OTEpLGk9ZS5yKDE3NTE4KSxzPWUucig2Nzc4MSksYz1lLnIoMTI5NjUpLHU9ZS5yKDQxMDYyKSxsPWUucig3NTgyNyksZD1lLnIoMTU1MDgpLGY9ZS5yKDQ1MDE0KSxwPWUucig0NzU5NSk7ZnVuY3Rpb24gaChlLHQpe2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gUChlLHQscik7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVBhcmFtc0Zyb21DbGllbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVQYXJhbXNGcm9tQ2xpZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGEgcnVudGltZSBwcmVyZW5kZXIuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NzAiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gTyhlKX0oMCxjLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWUucig1NTUyNSk7bGV0IG09eTtmdW5jdGlvbiBnKGUsdCl7bGV0IHI9Yy53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKHIpc3dpdGNoKHIudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcHByIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiBQKGUsdCxyKTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VydmVyUGFyYW1zRm9yUm91dGUgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIF8oZSxyKTtjYXNlInJlcXVlc3QiOnJldHVybiBPKGUpfSgwLGMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZnVuY3Rpb24geShlLHQpe2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gUChlLHQscik7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVNlcnZlclBhcmFtc0ZvclNlcnZlclNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NDMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIF8oZSxyKTtjYXNlInJlcXVlc3QiOnJldHVybiBPKGUpfSgwLGMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZnVuY3Rpb24gYihlKXtsZXQgdD1vLndvcmtBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZighdCl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoIk1pc3Npbmcgd29ya1N0b3JlIGluIGNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXQgcj1jLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYocilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYobil7Zm9yKGxldCBhIGluIGUpaWYobi5oYXMoYSkpcmV0dXJuKDAsZC5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsImBwYXJhbXNgIil9YnJlYWs7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZShlKX1mdW5jdGlvbiBQKGUsdCxyKXtzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50Ijp7bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO2lmKG4pe2ZvcihsZXQgYSBpbiBlKWlmKG4uaGFzKGEpKXJldHVybiBmdW5jdGlvbihlLHQscil7bGV0IG49Uy5nZXQoZSk7aWYobilyZXR1cm4gbjtsZXQgYT1uZXcgUHJveHkoKDAsZC5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsImBwYXJhbXNgIiksdik7cmV0dXJuIFMuc2V0KGUsYSksYX0oZSx0LHIpfWJyZWFrfWNhc2UicHJlcmVuZGVyLXBwciI6e2xldCBuPXIuZmFsbGJhY2tSb3V0ZVBhcmFtcztpZihuKXtmb3IobGV0IGEgaW4gZSlpZihuLmhhcyhhKSlyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbil7bGV0IGE9Uy5nZXQoZSk7aWYoYSlyZXR1cm4gYTtsZXQgbz17Li4uZX0saT1Qcm9taXNlLnJlc29sdmUobyk7cmV0dXJuIFMuc2V0KGUsaSksT2JqZWN0LmtleXMoZSkuZm9yRWFjaChlPT57bC53ZWxsS25vd25Qcm9wZXJ0aWVzLmhhcyhlKXx8dC5oYXMoZSkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLGUse2dldCgpe2xldCB0PSgwLGwuZGVzY3JpYmVTdHJpbmdQcm9wZXJ0eUFjY2VzcykoInBhcmFtcyIsZSk7InByZXJlbmRlci1wcHIiPT09bi50eXBlPygwLHMucG9zdHBvbmVXaXRoVHJhY2tpbmcpKHIucm91dGUsdCxuLmR5bmFtaWNUcmFja2luZyk6KDAscy50aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbikodCxyLG4pfSxlbnVtZXJhYmxlOiEwfSl9KSxpfShlLG4sdCxyKX19fXJldHVybiBPKGUpfWZ1bmN0aW9uIF8oZSx0KXtyZXR1cm4oMCxzLmRlbGF5VW50aWxSdW50aW1lU3RhZ2UpKHQsTyhlKSl9bGV0IFM9bmV3IFdlYWtNYXAsdj17Z2V0OmZ1bmN0aW9uKGUsdCxyKXtpZigidGhlbiI9PT10fHwiY2F0Y2giPT09dHx8ImZpbmFsbHkiPT09dCl7bGV0IG49aS5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpO3JldHVybih7W3RdOiguLi50KT0+e2xldCByPXAuZHluYW1pY0FjY2Vzc0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO3JldHVybiByJiZyLmFib3J0Q29udHJvbGxlci5hYm9ydChPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkFjY2Vzc2VkIGZhbGxiYWNrIGBwYXJhbXNgIGR1cmluZyBwcmVyZW5kZXJpbmcuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2OTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSkpLG5ldyBQcm94eShuLmFwcGx5KGUsdCksdil9fSlbdF19cmV0dXJuIGkuUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19O2Z1bmN0aW9uIE8oZSl7bGV0IHQ9Uy5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoZSk7cmV0dXJuIFMuc2V0KGUscikscn0oMCxmLmNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYpKGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZT9gUm91dGUgIiR7ZX0iIGA6IlRoaXMgcm91dGUgIjtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGAke3J9dXNlZCAke3R9LiBcYHBhcmFtc1xgIGlzIGEgUHJvbWlzZSBhbmQgbXVzdCBiZSB1bndyYXBwZWQgd2l0aCBcYGF3YWl0XGAgb3IgXGBSZWFjdC51c2UoKVxgIGJlZm9yZSBhY2Nlc3NpbmcgaXRzIHByb3BlcnRpZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3N5bmMtZHluYW1pYy1hcGlzYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4MzQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9KX0sMTk5NTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkNsaWVudFBhZ2VSb290Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1lLnIoOTgxMzQpLGE9ZS5yKDQxMDYyKSxvPWUucigxNjg3MiksaT1lLnIoNzUyMDEpLHM9ZS5yKDg4MDYyKSxjPWUucigzMTg5OSk7ZnVuY3Rpb24gdSh7Q29tcG9uZW50OnQsc2VydmVyUHJvdmlkZWRQYXJhbXM6cn0pe2xldCB1LGw7aWYobnVsbCE9PXIpdT1yLnNlYXJjaFBhcmFtcyxsPXIucGFyYW1zO2Vsc2V7bGV0IGU9KDAsaS51c2UpKG8uTGF5b3V0Um91dGVyQ29udGV4dCk7bD1udWxsIT09ZT9lLnBhcmVudFBhcmFtczp7fSx1PSgwLHMudXJsU2VhcmNoUGFyYW1zVG9QYXJzZWRVcmxRdWVyeSkoKDAsaS51c2UpKGMuU2VhcmNoUGFyYW1zQ29udGV4dCkpfWlmKCJ1Ijx0eXBlb2Ygd2luZG93KXtsZXQgcixvLHt3b3JrQXN5bmNTdG9yYWdlOml9PWUucig4OTc5MSkscz1pLmdldFN0b3JlKCk7aWYoIXMpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBhLkludmFyaWFudEVycm9yKCJFeHBlY3RlZCB3b3JrU3RvcmUgdG8gZXhpc3Qgd2hlbiBoYW5kbGluZyBzZWFyY2hQYXJhbXMgaW4gYSBjbGllbnQgUGFnZS4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU2NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7Y3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpjfT1lLnIoODY3NzApO3I9Yyh1LHMpO2xldHtjcmVhdGVQYXJhbXNGcm9tQ2xpZW50OmR9PWUucigzNjA3MCk7cmV0dXJuIG89ZChsLHMpLCgwLG4uanN4KSh0LHtwYXJhbXM6byxzZWFyY2hQYXJhbXM6cn0pfXtsZXR7Y3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpyfT1lLnIoNjg2MTQpLGE9cih1KSx7Y3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudDpvfT1lLnIoODcxODkpLGk9byhsKTtyZXR1cm4oMCxuLmpzeCkodCx7cGFyYW1zOmksc2VhcmNoUGFyYW1zOmF9KX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzM3ODAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkNsaWVudFNlZ21lbnRSb290Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1lLnIoOTgxMzQpLGE9ZS5yKDQxMDYyKSxvPWUucigxNjg3MiksaT1lLnIoNzUyMDEpO2Z1bmN0aW9uIHMoe0NvbXBvbmVudDp0LHNsb3RzOnIsc2VydmVyUHJvdmlkZWRQYXJhbXM6c30pe2xldCBjO2lmKG51bGwhPT1zKWM9cy5wYXJhbXM7ZWxzZXtsZXQgZT0oMCxpLnVzZSkoby5MYXlvdXRSb3V0ZXJDb250ZXh0KTtjPW51bGwhPT1lP2UucGFyZW50UGFyYW1zOnt9fWlmKCJ1Ijx0eXBlb2Ygd2luZG93KXtsZXQgbyx7d29ya0FzeW5jU3RvcmFnZTppfT1lLnIoODk3OTEpLHM9aS5nZXRTdG9yZSgpO2lmKCFzKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1N0b3JlIHRvIGV4aXN0IHdoZW4gaGFuZGxpbmcgcGFyYW1zIGluIGEgY2xpZW50IHNlZ21lbnQgc3VjaCBhcyBhIExheW91dCBvciBUZW1wbGF0ZS4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTYwMCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7Y3JlYXRlUGFyYW1zRnJvbUNsaWVudDp1fT1lLnIoMzYwNzApO3JldHVybiBvPXUoYyxzKSwoMCxuLmpzeCkodCx7Li4ucixwYXJhbXM6b30pfXtsZXR7Y3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudDphfT1lLnIoODcxODkpLG89YShjKTtyZXR1cm4oMCxuLmpzeCkodCx7Li4ucixwYXJhbXM6b30pfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyMDQxNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiSWNvbk1hcmsiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5ODEzNCksYT0oKT0+InUiPnR5cGVvZiB3aW5kb3c/bnVsbDooMCxuLmpzeCkoIm1ldGEiLHtuYW1lOiLCq254dC1pY29uwrsifSl9XSk7"}},"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":"coinlib.io/_next/static/chunks/800e836146d6e7eb.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.488Z","timestamp":1785129949488,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/800e836146d6e7eb.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 4108305\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"800e836146d6e7eb.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"7b2a7348e5acf7f61cd01b2152c769a6\"\r\nlast-modified: Tue, 09 Jun 2026 16:12:41 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/800e836146d6e7eb.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::dmlt9-1781021643910-30bb6f3b3b82\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=TsaVanaLCKFkQyTrZGLp0j76HSfJzxSV6VJYmABLw0wnKiovCanKoR9RcA9ZnZJ%2FOYNzSGHb5fMGFtuh%2B021%2FV%2F0Jyvfr5UAJ%2FsL2%2BYzkJFzMBs26FP%2BqOGZLbyH\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c84d2aa0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":19477,"size_decoded":7490,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (16974)","md5":"7b2a7348e5acf7f61cd01b2152c769a6","sha1":"1cc03a4809684838384744113d8a0e0093a62a3a","sha256":"c5bd83f87b5a8d38fee5230c1078de1f65ac83476cd29e8f5a41d63ea9bd22c5","sha512":"56b9d74b6b4d8a6f1e9909cb88c18e6c784c6bbab10d877a936f334ec5056d8720d20c2443e241c3064f536853f3ffa4578c1c8b3ab391ce8d671256a83a0ef3","ssdeep":"192:c0/B5NGI4y5Zzlqrvd2bcQFCx4zN2M15hNeSd4e+MQCC8h/PzM+kyhtTliuR3dQ5:cOq8bcj+Jz57b4e+MQCL2+k+Nll3dwA4","tlshash":"b492b81056143788f5b78289915fc40c302f2a4caf0e85b5bbbcac666b544e73a6ffd6","first_seen":"2026-06-09T20:30:37.829522Z","last_seen":"2026-08-06T12:32:43.342266Z","times_seen":1772,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDI0NjAxLChlLHQsaSk9Pnt0LmV4cG9ydHM9ZS5yKDI4OTk1KX0sNzkyOTQsZT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdD1lLmkoOTgxMzQpLGk9ZS5pKDI0NjAxKSxuPWUuaSg3NTIwMSkscz1lLmkoNzUxNTcpO2Z1bmN0aW9uIG8oe3RoZW1lOmUsY250OmksZ3JhcGg6byxwcmVmQ29pbklkOmx9KXtsZXRbYyxkXT0oMCxuLnVzZVN0YXRlKShbXSksW2gsZl09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbbSxwXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9wOlN0cmluZyhpKX0pO2wmJmUuc2V0KCJwcmVmX2NvaW5faWQiLGwpLGZldGNoKGAvYXBpL3YxL3dpZGdldD8ke2V9YCkudGhlbihlPT5lLmpzb24oKSkudGhlbihlPT57ZS5kYXRhJiZkKGUuZGF0YSksZS5jdXJyZW5jeSYmZihlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT57fSkuZmluYWxseSgoKT0+cCghMSkpfSxbaSxsXSk7bGV0IGc9ImRhcmsiPT09ZSx4PWc/IiMxQjIwMzAiOiIjZmZmZmZmIix5PWc/IiNlNWU3ZWIiOiIjMWYyOTM3Iix1PWc/IiM5Y2EzYWYiOiIjNmI3MjgwIixiPWc/IiMzNzQxNTEiOiIjZTVlN2ViIixqPWc/IiMxZjI5MzciOiIjZjNmNGY2IixTPSIjMjJjNTVlIix2PSIjZWY0NDQ0IjtyZXR1cm4gbT8oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxwYWRkaW5nOjIwLGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTN9LGNoaWxkcmVuOiJMb2FkaW5nLi4uIn0pOigwLHQuanN4cykoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxmb250RmFtaWx5OiJzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYiLGZvbnRTaXplOjEzLG92ZXJmbG93OiJhdXRvIixoZWlnaHQ6IjEwMCUifSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzdHlsZSIse2NoaWxkcmVuOmAKICAgICAgICAuZnZ3LWhpZGUtc20geyB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgICAgICAuZnZ3LWhpZGUtc20geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAgICAgICAgIC5mdnctcmFuayB7IHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7IG1hcmdpbi1yaWdodDogNHB4ICFpbXBvcnRhbnQ7IH0KICAgICAgICAgIC5mdnctcHJpY2UgeyB3aWR0aDogODBweCAhaW1wb3J0YW50OyB9CiAgICAgICAgICAuZnZ3LXJvdyB7IHBhZGRpbmc6IDZweCA4cHggIWltcG9ydGFudDsgfQogICAgICAgIH0KICAgICAgYH0pLCgwLHQuanN4cykoImRpdiIse2NsYXNzTmFtZToiZnZ3LXJvdyIsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiOHB4IDEycHgiLGJhY2tncm91bmQ6Zz8iIzExMTgyNyI6IiNmOWZhZmIiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7Yn1gLGZvbnRXZWlnaHQ6NjAwfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcmFuayIsc3R5bGU6e3dpZHRoOjMwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpblJpZ2h0OjgsY29sb3I6dSxmb250U2l6ZToxMX0sY2hpbGRyZW46IiMifSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46Ik5hbWUifSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcHJpY2UiLHN0eWxlOnt3aWR0aDoxMDAsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOiJQcmljZSJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImZ2dy1oaWRlLXNtIixzdHlsZTp7d2lkdGg6MTAwLHRleHRBbGlnbjoicmlnaHQifSxjaGlsZHJlbjoiTWFya2V0IENhcCJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImZ2dy1oaWRlLXNtIixzdHlsZTp7d2lkdGg6OTAsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOiJWb2x1bWUgMjRoIn0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOnt3aWR0aDo3MCx0ZXh0QWxpZ246InJpZ2h0In0sY2hpbGRyZW46IjI0aCAlIn0pLG8mJigwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZnZ3LWhpZGUtc20iLHN0eWxlOnt3aWR0aDo4MCx0ZXh0QWxpZ246InJpZ2h0IixwYWRkaW5nTGVmdDoxMn0sY2hpbGRyZW46IjdkIn0pXX0pLGMubWFwKGU9Pnt2YXIgaSxuO2xldCBsPWUucGVyY2VudF9jaGFuZ2VfMjRoPj0wO3JldHVybigwLHQuanN4cykoImEiLHtocmVmOmBodHRwczovL2NvaW5saWIuaW8keygwLHMuY29pblVybCkoZS5zeW1ib2wsZS5uYW1lKX1gLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGNsYXNzTmFtZToiZnZ3LXJvdyIsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiNnB4IDEycHgiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7Yn1gLHRleHREZWNvcmF0aW9uOiJub25lIixjb2xvcjp5LHRyYW5zaXRpb246ImJhY2tncm91bmQgMC4xNXMifSxvbk1vdXNlRW50ZXI6ZT0+ZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9aixvbk1vdXNlTGVhdmU6ZT0+ZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InRyYW5zcGFyZW50IixjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcmFuayIsc3R5bGU6e3dpZHRoOjMwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpblJpZ2h0OjgsY29sb3I6dSxmb250U2l6ZToxMX0sY2hpbGRyZW46ZS5yYW5rfSksKDAsdC5qc3gpKCJpbWciLHtzcmM6ZS5pbWFnZSxhbHQ6ZS5uYW1lLHdpZHRoOjE4LGhlaWdodDoxOCxzdHlsZTp7Ym9yZGVyUmFkaXVzOiI1MCUiLG1hcmdpblJpZ2h0OjZ9fSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZvbnRXZWlnaHQ6NTAwLG1hcmdpblJpZ2h0OjR9LGNoaWxkcmVuOmUubmFtZX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp1LGZvbnRTaXplOjExfSxjaGlsZHJlbjplLnN5bWJvbH0pLCgwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZnZ3LXByaWNlIixzdHlsZTp7d2lkdGg6MTAwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpbkxlZnQ6ImF1dG8iLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOihpPWUucHJpY2VfdXNkKmgucmF0ZSxuPWguc3ltYm9sLGk+PTE/bitpLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6bitpLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjEwMCx0ZXh0QWxpZ246InJpZ2h0Iixmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRTaXplOjExfSxjaGlsZHJlbjphKGUubWFya2V0X2NhcCpoLnJhdGUsaC5zeW1ib2wpfSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjkwLHRleHRBbGlnbjoicmlnaHQiLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFNpemU6MTF9LGNoaWxkcmVuOmEoZS52b2x1bWVfMjRoKmgucmF0ZSxoLnN5bWJvbCl9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e3dpZHRoOjcwLHRleHRBbGlnbjoicmlnaHQiLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFdlaWdodDo1MDAsY29sb3I6bD9TOnZ9LGNoaWxkcmVuOltsPyIrIjoiIixlLnBlcmNlbnRfY2hhbmdlXzI0aD8udG9GaXhlZCgyKSwiJSJdfSksbyYmKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjgwLHRleHRBbGlnbjoicmlnaHQiLHBhZGRpbmdMZWZ0OjEyfSxjaGlsZHJlbjooMCx0LmpzeCkocix7Y29pbjplLGNvbG9yOmw/Uzp2fSl9KV19LGUuaWQpfSksKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7cGFkZGluZzoiNHB4IDEycHgiLGZvbnRTaXplOjEwLGNvbG9yOnUsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOigwLHQuanN4KSgiYSIse2hyZWY6Imh0dHBzOi8vY29pbmxpYi5pbyIsdGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsc3R5bGU6e2NvbG9yOnUsdGV4dERlY29yYXRpb246Im5vbmUifSxjaGlsZHJlbjoiUG93ZXJlZCBieSBDb2lubGliIn0pfSldfSl9ZnVuY3Rpb24gcih7Y29pbjplLGNvbG9yOml9KXtsZXQgbixzPWUuc3BhcmtsaW5lXzdkJiZlLnNwYXJrbGluZV83ZC5sZW5ndGg+PTI/ZS5zcGFya2xpbmVfN2Q6bnVsbDtpZihzKW49cztlbHNle2xldCB0PWUucHJpY2VfdXNkLGk9dC8oMStlLnBlcmNlbnRfY2hhbmdlXzI0aC8xMDApO249W107Zm9yKGxldCBlPTA7ZTw9NjtlKyspe2xldCBzPWUvNjtuLnB1c2goaSsodC1pKSpzKy4wMSp0Kk1hdGguc2luKHMqTWF0aC5QSSoyKSl9fWxldCBvPU1hdGgubWluKC4uLm4pLHI9TWF0aC5tYXgoLi4ubiktb3x8MSxhPTcwLyhuLmxlbmd0aC0xKSxsPW4ubWFwKChlLHQpPT5gJHsodCphKS50b0ZpeGVkKDIpfSwkeygyNi0oZS1vKS9yKjI0KS50b0ZpeGVkKDIpfWApLGM9YE0gJHtsLmpvaW4oIiBMICIpfWAsZD1gJHtjfSBMIDcwLjAwLDI4IEwgMCwyOCBaYCxoPWBzcGFyay1ncmFkLSR7ZS5pZH1gO3JldHVybigwLHQuanN4cykoInN2ZyIse3dpZHRoOjcwLGhlaWdodDoyOCx2aWV3Qm94OiIwIDAgNzAgMjgiLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUiLGNoaWxkcmVuOlsoMCx0LmpzeCkoImRlZnMiLHtjaGlsZHJlbjooMCx0LmpzeHMpKCJsaW5lYXJHcmFkaWVudCIse2lkOmgseDE6IjAiLHkxOiIwIix4MjoiMCIseTI6IjEiLGNoaWxkcmVuOlsoMCx0LmpzeCkoInN0b3AiLHtvZmZzZXQ6IjAlIixzdG9wQ29sb3I6aSxzdG9wT3BhY2l0eToiMC4yNSJ9KSwoMCx0LmpzeCkoInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjppLHN0b3BPcGFjaXR5OiIwIn0pXX0pfSksKDAsdC5qc3gpKCJwYXRoIix7ZDpkLGZpbGw6YHVybCgjJHtofSlgLHN0cm9rZToibm9uZSJ9KSwoMCx0LmpzeCkoInBhdGgiLHtkOmMsZmlsbDoibm9uZSIsc3Ryb2tlOmksc3Ryb2tlV2lkdGg6MSxzdHJva2VMaW5lam9pbjoicm91bmQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pXX0pfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4gZT49MWUxMj90KyhlLzFlMTIpLnRvRml4ZWQoMikrIlQiOmU+PTFlOT90KyhlLzFlOSkudG9GaXhlZCgyKSsiQiI6ZT49MWU2P3QrKGUvMWU2KS50b0ZpeGVkKDIpKyJNIjplPj0xZTM/dCsoZS8xZTMpLnRvRml4ZWQoMikrIksiOnQrZS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGwoe3RoZW1lOmUsY29pbklkOmkscHJlZkNvaW5JZDpzfSl7bGV0W28scl09KDAsbi51c2VTdGF0ZSkobnVsbCksW2EsbF09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbZCxoXT0oMCxuLnVzZVN0YXRlKShbXSksW2YsbV09KDAsbi51c2VTdGF0ZSkoNyksW3AsZ109KDAsbi51c2VTdGF0ZSkoITApLHg9KDAsbi51c2VSZWYpKG51bGwpLFt5LHVdPSgwLG4udXNlU3RhdGUpKG51bGwpOygwLG4udXNlRWZmZWN0KSgoKT0+e2xldCBlPW5ldyBVUkxTZWFyY2hQYXJhbXM7aT9lLnNldCgibGVnYWN5X2lkIixpKTplLnNldCgic3ltYm9sIiwiQlRDIikscyYmZS5zZXQoInByZWZfY29pbl9pZCIscyksZmV0Y2goYC9hcGkvdjEvd2lkZ2V0PyR7ZX1gKS50aGVuKGU9PmUuanNvbigpKS50aGVuKGU9PntlLmRhdGE/KHUoZS5kYXRhLnNsdWc/PyJiaXRjb2luIikscihlLmRhdGEpKTp1KCJiaXRjb2luIiksZS5jdXJyZW5jeSYmbChlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT51KCJiaXRjb2luIikpfSxbaSxzXSksKDAsbi51c2VFZmZlY3QpKCgpPT57eSYmKGcoITApLChhc3luYygpPT57bGV0IGU9YXdhaXQgZmV0Y2goYC9hcGkvdjEvY29pbnMvJHt5fS9jaGFydD9kYXlzPSR7Zn1gKS50aGVuKGU9PmUuanNvbigpKS5jYXRjaCgoKT0+bnVsbCk7ZT8uZGF0YT8ucHJpY2VzJiZoKGUuZGF0YS5wcmljZXMpLGcoITEpfSkoKSl9LFt5LGZdKSwoMCxuLnVzZUVmZmVjdCkoKCk9PntpZigheC5jdXJyZW50fHxkLmxlbmd0aDwyKXJldHVybjtsZXQgdD14LmN1cnJlbnQsaT10LmdldENvbnRleHQoIjJkIik7aWYoIWkpcmV0dXJuO2xldCBuPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLHM9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0LndpZHRoPXMud2lkdGgqbix0LmhlaWdodD1zLmhlaWdodCpuLGkuc2NhbGUobixuKTtsZXQgbz1zLndpZHRoLHI9cy5oZWlnaHQsbD0iZGFyayI9PT1lO2kuZmlsbFN0eWxlPWw/IiMxQjIwMzAiOiIjZmZmZmZmIixpLmZpbGxSZWN0KDAsMCxvLHIpO2xldCBoPW8tNjAtMTAsbT1yLTEwLTMwLHA9YS5yYXRlLGc9ZC5tYXAoZT0+ZVsxXSpwKSx5PU1hdGgubWluKC4uLmcpLHU9TWF0aC5tYXgoLi4uZyksYj11LXl8fDE7aS5zdHJva2VTdHlsZT1sPyIjMzc0MTUxIjoiI2U1ZTdlYiIsaS5saW5lV2lkdGg9LjU7Zm9yKGxldCBlPTA7ZTw9NDtlKyspe2xldCB0PTEwK20vNCplO2kuYmVnaW5QYXRoKCksaS5tb3ZlVG8oNjAsdCksaS5saW5lVG8oby0xMCx0KSxpLnN0cm9rZSgpO2xldCBuPXUtYi80KmU7aS5maWxsU3R5bGU9bD8iIzljYTNhZiI6IiM2YjcyODAiLGkuZm9udD0iMTBweCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYiLGkudGV4dEFsaWduPSJyaWdodCIsaS5maWxsVGV4dChjKG4sYS5zeW1ib2wpLDU1LHQrMyl9bGV0IGo9ZFswXVswXSxTPWRbZC5sZW5ndGgtMV1bMF07aS5maWxsU3R5bGU9bD8iIzljYTNhZiI6IiM2YjcyODAiLGkudGV4dEFsaWduPSJjZW50ZXIiO2ZvcihsZXQgZT0wO2U8PTQ7ZSsrKXtsZXQgdD1qKyhTLWopLzQqZSxuPTYwK2gvNCplLHM9bmV3IERhdGUodCk7aS5maWxsVGV4dChmPD0xP3MudG9Mb2NhbGVUaW1lU3RyaW5nKCJlbiIse2hvdXI6IjItZGlnaXQiLG1pbnV0ZToiMi1kaWdpdCJ9KTpzLnRvTG9jYWxlRGF0ZVN0cmluZygiZW4iLHttb250aDoic2hvcnQiLGRheToibnVtZXJpYyJ9KSxuLHItOCl9bGV0IHY9Z1tnLmxlbmd0aC0xXT49Z1swXTtpLnN0cm9rZVN0eWxlPXY/IiMyMmM1NWUiOiIjZWY0NDQ0IixpLmxpbmVXaWR0aD0yLGkuYmVnaW5QYXRoKCksZC5mb3JFYWNoKChbZV0sdCk9PntsZXQgbj02MCsoZS1qKS8oUy1qKSpoLHM9MTArKDEtKGdbdF0teSkvYikqbTswPT09dD9pLm1vdmVUbyhuLHMpOmkubGluZVRvKG4scyl9KSxpLnN0cm9rZSgpO2xldCBfPWkuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwxMCwwLDEwK20pO18uYWRkQ29sb3JTdG9wKDAsdj8icmdiYSgzNCwxOTcsOTQsMC4xNSkiOiJyZ2JhKDIzOSw2OCw2OCwwLjE1KSIpLF8uYWRkQ29sb3JTdG9wKDEsdj8icmdiYSgzNCwxOTcsOTQsMCkiOiJyZ2JhKDIzOSw2OCw2OCwwKSIpLGkuZmlsbFN0eWxlPV8saS5saW5lVG8oNjAraCwxMCttKSxpLmxpbmVUbyg2MCwxMCttKSxpLmNsb3NlUGF0aCgpLGkuZmlsbCgpfSxbZCxlLGFdKTtsZXQgYj0iZGFyayI9PT1lLGo9Yj8iI2U1ZTdlYiI6IiMxZjI5MzciLFM9Yj8iIzljYTNhZiI6IiM2YjcyODAiLHY9Yj8iIzM3NDE1MSI6IiNlNWU3ZWIiO3JldHVybigwLHQuanN4cykoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOmI/IiMxQjIwMzAiOiIjZmZmZmZmIixjb2xvcjpqLGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsaGVpZ2h0OiIxMDAlIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbbyYmKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiMTBweCAxMnB4Iixib3JkZXJCb3R0b206YDFweCBzb2xpZCAke3Z9YCxnYXA6OH0sY2hpbGRyZW46WygwLHQuanN4KSgiaW1nIix7c3JjOm8uaW1hZ2UsYWx0Om8ubmFtZSx3aWR0aDoyNCxoZWlnaHQ6MjQsc3R5bGU6e2JvcmRlclJhZGl1czoiNTAlIn19KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo2MDAsZm9udFNpemU6MTV9LGNoaWxkcmVuOm8ubmFtZX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjpTLGZvbnRTaXplOjEyfSxjaGlsZHJlbjpvLnN5bWJvbH0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOnttYXJnaW5MZWZ0OiJhdXRvIixmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRXZWlnaHQ6NjAwLGZvbnRTaXplOjE2fSxjaGlsZHJlbjpjKG8ucHJpY2VfdXNkKmEucmF0ZSxhLnN5bWJvbCl9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFNpemU6MTMsZm9udFdlaWdodDo1MDAsY29sb3I6by5wZXJjZW50X2NoYW5nZV8yNGg+PTA/IiMyMmM1NWUiOiIjZWY0NDQ0In0sY2hpbGRyZW46W28ucGVyY2VudF9jaGFuZ2VfMjRoPj0wPyIrIjoiIixvLnBlcmNlbnRfY2hhbmdlXzI0aD8udG9GaXhlZCgyKSwiJSJdfSldfSksKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZ2FwOjQscGFkZGluZzoiNnB4IDEycHgiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7dn1gfSxjaGlsZHJlbjpbMSw3LDMwLDkwLDM2NV0ubWFwKGU9PigwLHQuanN4KSgiYnV0dG9uIix7b25DbGljazooKT0+bShlKSxzdHlsZTp7cGFkZGluZzoiMnB4IDhweCIsZm9udFNpemU6MTEsZm9udFdlaWdodDpmPT09ZT82MDA6NDAwLGJhY2tncm91bmQ6Zj09PWU/Yj8iIzM3NDE1MSI6IiNlNWU3ZWIiOiJ0cmFuc3BhcmVudCIsY29sb3I6Zj09PWU/ajpTLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOjQsY3Vyc29yOiJwb2ludGVyIn0sY2hpbGRyZW46MT09PWU/IjI0SCI6Nz09PWU/IjdEIjozMD09PWU/IjFNIjo5MD09PWU/IjNNIjoiMVkifSxlKSl9KSwoMCx0LmpzeCkoImRpdiIse3N0eWxlOntmbGV4OjEscGFkZGluZzoiOHB4IDAiLG1pbkhlaWdodDowfSxjaGlsZHJlbjpwPygwLHQuanN4KSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsaGVpZ2h0OiIxMDAlIixjb2xvcjpTLGZvbnRTaXplOjEzfSxjaGlsZHJlbjoiTG9hZGluZyBjaGFydC4uLiJ9KTooMCx0LmpzeCkoImNhbnZhcyIse3JlZjp4LHN0eWxlOnt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19KX0pLCgwLHQuanN4KSgiZGl2Iix7c3R5bGU6e3BhZGRpbmc6IjRweCAxMnB4Iixmb250U2l6ZToxMCxjb2xvcjpTLHRleHRBbGlnbjoicmlnaHQiLGJvcmRlclRvcDpgMXB4IHNvbGlkICR7dn1gfSxjaGlsZHJlbjooMCx0LmpzeCkoImEiLHtocmVmOiJodHRwczovL2NvaW5saWIuaW8iLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLHN0eWxlOntjb2xvcjpTLHRleHREZWNvcmF0aW9uOiJub25lIn0sY2hpbGRyZW46IlBvd2VyZWQgYnkgQ29pbmxpYiJ9KX0pXX0pfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gZT49MT90K2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTp0K2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjZ9KX1mdW5jdGlvbiBkKHt0aGVtZTplLGNvaW5JZDppLHByZWZDb2luSWQ6c30pe3ZhciBvLHI7bGV0W2EsbF09KDAsbi51c2VTdGF0ZSkobnVsbCksW2MsZF09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbZixtXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcztpP2Uuc2V0KCJsZWdhY3lfaWQiLGkpOmUuc2V0KCJzeW1ib2wiLCJCVEMiKSxzJiZlLnNldCgicHJlZl9jb2luX2lkIixzKSxmZXRjaChgL2FwaS92MS93aWRnZXQ/JHtlfWApLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+e2UuZGF0YSYmbChlLmRhdGEpLGUuY3VycmVuY3kmJmQoZS5jdXJyZW5jeSl9KS5jYXRjaCgoKT0+e30pLmZpbmFsbHkoKCk9Pm0oITEpKX0sW2ksc10pO2xldCBwPSJkYXJrIj09PWUsZz1wPyIjMUIyMDMwIjoiI2ZmZmZmZiIseD1wPyIjZTVlN2ViIjoiIzFmMjkzNyIseT1wPyIjOWNhM2FmIjoiIzZiNzI4MCIsdT0iIzIyYzU1ZSIsYj0iI2VmNDQ0NCI7aWYoZnx8IWEpcmV0dXJuKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpnLGNvbG9yOngscGFkZGluZzoxNixmb250RmFtaWx5OiJzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYiLGZvbnRTaXplOjEzfSxjaGlsZHJlbjoiTG9hZGluZy4uLiJ9KTtsZXQgaj1hLnBlcmNlbnRfY2hhbmdlXzI0aD49MDtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpnLGNvbG9yOngsZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixwYWRkaW5nOiIxMHB4IDEycHgiLGhlaWdodDoiMTAwJSIsYm94U2l6aW5nOiJib3JkZXItYm94In0sY2hpbGRyZW46WygwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2LG1hcmdpbkJvdHRvbTo4fSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJpbWciLHtzcmM6YS5pbWFnZSxhbHQ6YS5uYW1lLHdpZHRoOjI4LGhlaWdodDoyOCxzdHlsZTp7Ym9yZGVyUmFkaXVzOiI1MCUifX0pLCgwLHQuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCx0LmpzeCkoImRpdiIse3N0eWxlOntmb250V2VpZ2h0OjYwMCxmb250U2l6ZToxNCxsaW5lSGVpZ2h0OjEuMn0sY2hpbGRyZW46YS5uYW1lfSksKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2NvbG9yOnksZm9udFNpemU6MTB9LGNoaWxkcmVuOlthLnN5bWJvbCwiIMK3IFJhbmsgIyIsYS5yYW5rXX0pXX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOnttYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46WygwLHQuanN4KSgiZGl2Iix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFdlaWdodDo3MDAsZm9udFNpemU6MjAsbGluZUhlaWdodDoxLjJ9LGNoaWxkcmVuOihvPWEucHJpY2VfdXNkKmMucmF0ZSxyPWMuc3ltYm9sLG8+PTE/citvLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6citvLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3hzKSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOmo/dTpifSxjaGlsZHJlbjpbaj8iKyI6IiIsYS5wZXJjZW50X2NoYW5nZV8yNGg/LnRvRml4ZWQoMiksIiUiXX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp5LGZvbnRTaXplOjEwLG1hcmdpbkxlZnQ6M30sY2hpbGRyZW46IjI0aCJ9KV19KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7Ym9yZGVyVG9wOmAxcHggc29saWQgJHtwPyIjMzc0MTUxIjoiI2U1ZTdlYiJ9YCxwYWRkaW5nVG9wOjYsZm9udFNpemU6MTF9LGNoaWxkcmVuOlsoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLG1hcmdpbkJvdHRvbTozfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2NvbG9yOnl9LGNoaWxkcmVuOiJNYXJrZXQgQ2FwIn0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UifSxjaGlsZHJlbjpoKGEubWFya2V0X2NhcCpjLnJhdGUsYy5zeW1ib2wpfSldfSksKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixtYXJnaW5Cb3R0b206M30sY2hpbGRyZW46WygwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp5fSxjaGlsZHJlbjoiVm9sdW1lIDI0aCJ9KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udEZhbWlseToibW9ub3NwYWNlIn0sY2hpbGRyZW46aChhLnZvbHVtZV8yNGgqYy5yYXRlLGMuc3ltYm9sKX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsbWFyZ2luQm90dG9tOjN9LGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Y29sb3I6eX0sY2hpbGRyZW46IkNoYW5nZSAxaCJ9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsY29sb3I6KGEucGVyY2VudF9jaGFuZ2VfMWg/PzApPj0wP3U6Yn0sY2hpbGRyZW46WyhhLnBlcmNlbnRfY2hhbmdlXzFoPz8wKT49MD8iKyI6IiIsKGEucGVyY2VudF9jaGFuZ2VfMWg/PzApLnRvRml4ZWQoMiksIiUiXX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiJ9LGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Y29sb3I6eX0sY2hpbGRyZW46IkNoYW5nZSA3ZCJ9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsY29sb3I6KGEucGVyY2VudF9jaGFuZ2VfN2Q/PzApPj0wP3U6Yn0sY2hpbGRyZW46WyhhLnBlcmNlbnRfY2hhbmdlXzdkPz8wKT49MD8iKyI6IiIsKGEucGVyY2VudF9jaGFuZ2VfN2Q/PzApLnRvRml4ZWQoMiksIiUiXX0pXX0pXX0pXX0pfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4gZT49MWUxMj90KyhlLzFlMTIpLnRvRml4ZWQoMikrIlQiOmU+PTFlOT90KyhlLzFlOSkudG9GaXhlZCgyKSsiQiI6ZT49MWU2P3QrKGUvMWU2KS50b0ZpeGVkKDIpKyJNIjplPj0xZTM/dCsoZS8xZTMpLnRvRml4ZWQoMikrIksiOnQrZS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGYoe3RoZW1lOmV9KXtsZXRbaSxzXT0oMCxuLnVzZVN0YXRlKShbXSksW28scl09KDAsbi51c2VTdGF0ZSkoIkJUQyIpLFthLGxdPSgwLG4udXNlU3RhdGUpKCJVU0QiKSxbYyxkXT0oMCxuLnVzZVN0YXRlKSgiMSIpLFtoLGZdPSgwLG4udXNlU3RhdGUpKCIiKSxbcCxnXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57ZmV0Y2goIi9hcGkvdjEvd2lkZ2V0P3RvcD01MCIpLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+e2UuZGF0YSYmcyhlLmRhdGEpfSkuY2F0Y2goKCk9Pnt9KS5maW5hbGx5KCgpPT5nKCExKSl9LFtdKTtsZXQgeD0oMCxuLnVzZUNhbGxiYWNrKSgoKT0+e2xldCBlPXBhcnNlRmxvYXQoYyl8fDA7aWYoIlVTRCI9PT1hKXtsZXQgdD1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1vKTt0JiZmKG0oZSp0LnByaWNlX3VzZCkpfWVsc2UgaWYoIlVTRCI9PT1vKXtsZXQgdD1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1hKTt0JiZ0LnByaWNlX3VzZD4wJiZmKG0oZS90LnByaWNlX3VzZCkpfWVsc2V7bGV0IHQ9aS5maW5kKGU9PmUuc3ltYm9sPT09byksbj1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1hKTt0JiZuJiZuLnByaWNlX3VzZD4wJiZmKG0oZSp0LnByaWNlX3VzZC9uLnByaWNlX3VzZCkpfX0sW2MsbyxhLGldKTsoMCxuLnVzZUVmZmVjdCkoKCk9PntpLmxlbmd0aD4wJiZ4KCl9LFtpLHhdKTtsZXQgeT0iZGFyayI9PT1lLHU9eT8iIzFCMjAzMCI6IiNmZmZmZmYiLGI9eT8iI2U1ZTdlYiI6IiMxZjI5MzciLGo9eT8iIzljYTNhZiI6IiM2YjcyODAiLFM9eT8iIzM3NDE1MSI6IiNlNWU3ZWIiLHY9eT8iIzExMTgyNyI6IiNmOWZhZmIiLF89eT8iIzM3NDE1MSI6IiNlNWU3ZWIiLHc9e3dpZHRoOiIxMDAlIixwYWRkaW5nOiI2cHggOHB4Iixmb250U2l6ZToxMixiYWNrZ3JvdW5kOnYsY29sb3I6Yixib3JkZXI6YDFweCBzb2xpZCAke1N9YCxib3JkZXJSYWRpdXM6NSxvdXRsaW5lOiJub25lIixhcHBlYXJhbmNlOiJhdXRvIn0saz17d2lkdGg6IjEwMCUiLHBhZGRpbmc6IjZweCA4cHgiLGZvbnRTaXplOjEzLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsYmFja2dyb3VuZDp2LGNvbG9yOmIsYm9yZGVyOmAxcHggc29saWQgJHtTfWAsYm9yZGVyUmFkaXVzOjUsb3V0bGluZToibm9uZSIsYm94U2l6aW5nOiJib3JkZXItYm94In07aWYocClyZXR1cm4oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOnUsY29sb3I6YixwYWRkaW5nOjE2LGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTN9LGNoaWxkcmVuOiJMb2FkaW5nLi4uIn0pO2xldCBGPVt7c3ltYm9sOiJVU0QiLG5hbWU6IlVTIERvbGxhciJ9LC4uLmkubWFwKGU9Pih7c3ltYm9sOmUuc3ltYm9sLG5hbWU6ZS5uYW1lfSkpXTtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDp1LGNvbG9yOmIsZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixwYWRkaW5nOiIxMHB4IDEycHgiLGhlaWdodDoiMTAwJSIsYm94U2l6aW5nOiJib3JkZXItYm94IixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7Zm9udFdlaWdodDo2MDAsZm9udFNpemU6MTMsbWFyZ2luQm90dG9tOjEwLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46IkNyeXB0b2N1cnJlbmN5IENvbnZlcnRlciJ9KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7bWFyZ2luQm90dG9tOjh9LGNoaWxkcmVuOlsoMCx0LmpzeCkoImxhYmVsIix7c3R5bGU6e2Rpc3BsYXk6ImJsb2NrIixmb250U2l6ZToxMCxjb2xvcjpqLG1hcmdpbkJvdHRvbTozfSxjaGlsZHJlbjoiRnJvbSJ9KSwoMCx0LmpzeCkoInNlbGVjdCIse3ZhbHVlOm8sb25DaGFuZ2U6ZT0+cihlLnRhcmdldC52YWx1ZSksc3R5bGU6dyxjaGlsZHJlbjpGLm1hcChlPT4oMCx0LmpzeHMpKCJvcHRpb24iLHt2YWx1ZTplLnN5bWJvbCxjaGlsZHJlbjpbZS5zeW1ib2wsIiAtICIsZS5uYW1lXX0sYGZyb20tJHtlLnN5bWJvbH1gKSl9KSwoMCx0LmpzeCkoImlucHV0Iix7dHlwZToibnVtYmVyIix2YWx1ZTpjLG9uQ2hhbmdlOmU9PmQoZS50YXJnZXQudmFsdWUpLHN0eWxlOnsuLi5rLG1hcmdpblRvcDo0fSxwbGFjZWhvbGRlcjoiQW1vdW50In0pXX0pLCgwLHQuanN4KSgiZGl2Iix7c3R5bGU6e3RleHRBbGlnbjoiY2VudGVyIixtYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46KDAsdC5qc3gpKCJidXR0b24iLHtvbkNsaWNrOigpPT57cihhKSxsKG8pfSxzdHlsZTp7YmFja2dyb3VuZDpfLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOiI1MCUiLHdpZHRoOjI4LGhlaWdodDoyOCxmb250U2l6ZToxNCxjdXJzb3I6InBvaW50ZXIiLGNvbG9yOmIsbGluZUhlaWdodDoiMjhweCJ9LGNoaWxkcmVuOiLih4UifSl9KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7bWFyZ2luQm90dG9tOjEwfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJsYWJlbCIse3N0eWxlOntkaXNwbGF5OiJibG9jayIsZm9udFNpemU6MTAsY29sb3I6aixtYXJnaW5Cb3R0b206M30sY2hpbGRyZW46IlRvIn0pLCgwLHQuanN4KSgic2VsZWN0Iix7dmFsdWU6YSxvbkNoYW5nZTplPT5sKGUudGFyZ2V0LnZhbHVlKSxzdHlsZTp3LGNoaWxkcmVuOkYubWFwKGU9PigwLHQuanN4cykoIm9wdGlvbiIse3ZhbHVlOmUuc3ltYm9sLGNoaWxkcmVuOltlLnN5bWJvbCwiIC0gIixlLm5hbWVdfSxgdG8tJHtlLnN5bWJvbH1gKSl9KSwoMCx0LmpzeCkoImRpdiIse3N0eWxlOnsuLi5rLG1hcmdpblRvcDo0LG1pbkhlaWdodDoxNixiYWNrZ3JvdW5kOl99LGNoaWxkcmVuOmh8fCIwLjAwIn0pXX0pLCgwLHQuanN4KSgiYnV0dG9uIix7b25DbGljazp4LHN0eWxlOnt3aWR0aDoiMTAwJSIscGFkZGluZzoiOHB4Iixmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxiYWNrZ3JvdW5kOiIjM2I4MmY2Iixjb2xvcjoiI2ZmZiIsYm9yZGVyOiJub25lIixib3JkZXJSYWRpdXM6NixjdXJzb3I6InBvaW50ZXIifSxjaGlsZHJlbjoiQ29udmVydCJ9KV19KX1mdW5jdGlvbiBtKGUpe3JldHVybiBlPj0xP2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTplPj0uMDAxP2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjZ9KTplLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo4fSl9ZnVuY3Rpb24gcCh7dGhlbWU6ZSxwcmVmQ29pbklkOmksaW52ZXJ0SG92ZXI6b30pe2xldFtyLGFdPSgwLG4udXNlU3RhdGUpKFtdKSxbbCxjXT0oMCxuLnVzZVN0YXRlKSh7Y29kZToiVVNEIixzeW1ib2w6IiQiLHJhdGU6MX0pLFtkLGhdPSgwLG4udXNlU3RhdGUpKCEwKSxmPSgwLG4udXNlUmVmKShudWxsKSxbbSxwXT0oMCxuLnVzZVN0YXRlKSghMSk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9wOiI1MCIsc3BhcmtsaW5lOiIwIn0pO2kmJmUuc2V0KCJwcmVmX2NvaW5faWQiLGkpLGZldGNoKGAvYXBpL3YxL3dpZGdldD8ke2V9YCkudGhlbihlPT5lLmpzb24oKSkudGhlbihlPT57ZS5kYXRhJiZhKGUuZGF0YSksZS5jdXJyZW5jeSYmYyhlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT57fSkuZmluYWxseSgoKT0+aCghMSkpfSxbaV0pO2xldCBnPSJkYXJrIj09PWUseD1nPyIjMUIyMDMwIjoiI2ZmZmZmZiIseT1nPyIjZTVlN2ViIjoiIzFmMjkzNyI7aWYoZClyZXR1cm4oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxoZWlnaHQ6IjEwMCUiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiMCAxMnB4Iixmb250U2l6ZToxMixmb250RmFtaWx5OiJzeXN0ZW0tdWksIHNhbnMtc2VyaWYifSxjaGlsZHJlbjoiTG9hZGluZy4uLiJ9KTtsZXQgdT1bLi4uciwuLi5yXTtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDp4LGNvbG9yOnksZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixoZWlnaHQ6IjEwMHZoIixvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciJ9LG9uTW91c2VFbnRlcjooKT0+cCghMCksb25Nb3VzZUxlYXZlOigpPT5wKCExKSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJkaXYiLHtyZWY6ZixzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MjQsd2hpdGVTcGFjZToibm93cmFwIixoZWlnaHQ6IjEwMCUiLHBhZGRpbmdMZWZ0OjEyLGFuaW1hdGlvbjooInllcyI9PT1vP206IW0pPyJ3aWRnZXQtbWFycXVlZSAxMjBzIGxpbmVhciBpbmZpbml0ZSI6Im5vbmUifSxjaGlsZHJlbjp1Lm1hcCgoZSxpKT0+e3ZhciBuLG87bGV0IHI9ZS5wZXJjZW50X2NoYW5nZV8yNGg+PTA7cmV0dXJuKDAsdC5qc3hzKSgiYSIse2hyZWY6YGh0dHBzOi8vY29pbmxpYi5pbyR7KDAscy5jb2luVXJsKShlLnN5bWJvbCxlLm5hbWUpfWAsdGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsc3R5bGU6e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo1LGZvbnRTaXplOjEzLHRleHREZWNvcmF0aW9uOiJub25lIixjb2xvcjp5LGZsZXhTaHJpbms6MH0sY2hpbGRyZW46WygwLHQuanN4KSgiaW1nIix7c3JjOmUuaW1hZ2UsYWx0OmUubmFtZSx3aWR0aDoxNixoZWlnaHQ6MTYsc3R5bGU6e2JvcmRlclJhZGl1czoiNTAlIn19KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo1MDB9LGNoaWxkcmVuOmUuc3ltYm9sfSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOihuPWUucHJpY2VfdXNkKmwucmF0ZSxvPWwuc3ltYm9sLG4+PTE/bytuLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6bytuLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3hzKSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOnI/IiMyMmM1NWUiOiIjZWY0NDQ0Iixmb250U2l6ZToxMn0sY2hpbGRyZW46W3I/IisiOiIiLGUucGVyY2VudF9jaGFuZ2VfMjRoPy50b0ZpeGVkKDIpLCIlIl19KV19LGAke2Uuc3ltYm9sfS0ke2l9YCl9KX0pLCgwLHQuanN4KSgic3R5bGUiLHtjaGlsZHJlbjpgCiAgICAgICAgQGtleWZyYW1lcyB3aWRnZXQtbWFycXVlZSB7CiAgICAgICAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfQogICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfQogICAgICAgIH0KICAgICAgYH0pXX0pfWZ1bmN0aW9uIGcoe3R5cGU6ZSxwYXJhbXM6aX0pe2xldCBuLHM9aS50aGVtZT8/ImRhcmsiLHI9ImRhcmsiPT09cz8iIzFCMjAzMCI6IiNmZmZmZmYiO3N3aXRjaChlKXtjYXNlImZ1bGxfdjIiOm49KDAsdC5qc3gpKG8se3RoZW1lOnMsY250OnBhcnNlSW50KGkuY250Pz8iNiIsMTApLGdyYXBoOiJubyIhPT1pLmdyYXBoLHByZWZDb2luSWQ6aS5wcmVmX2NvaW5faWR9KTticmVhaztjYXNlImNoYXJ0IjpuPSgwLHQuanN4KShsLHt0aGVtZTpzLGNvaW5JZDppLmNvaW5faWQscHJlZkNvaW5JZDppLnByZWZfY29pbl9pZH0pO2JyZWFrO2Nhc2Uic2luZ2xlX3YyIjpuPSgwLHQuanN4KShkLHt0aGVtZTpzLGNvaW5JZDppLmNvaW5faWQscHJlZkNvaW5JZDppLnByZWZfY29pbl9pZH0pO2JyZWFrO2Nhc2UiY29udmVydGVyIjpuPSgwLHQuanN4KShmLHt0aGVtZTpzfSk7YnJlYWs7Y2FzZSJob3Jpem9udGFsX3YyIjpuPSgwLHQuanN4KShwLHt0aGVtZTpzLHByZWZDb2luSWQ6aS5wcmVmX2NvaW5faWQsaW52ZXJ0SG92ZXI6aS5pbnZlcnRfaG92ZXJ9KTticmVhaztkZWZhdWx0Om49KDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e3BhZGRpbmc6MTYsZm9udFNpemU6MTMsZm9udEZhbWlseToic3lzdGVtLXVpLCBzYW5zLXNlcmlmIn0sY2hpbGRyZW46WyJVbmtub3duIHdpZGdldCB0eXBlOiAiLGVdfSl9cmV0dXJuKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpyLG1pbkhlaWdodDoiMTAwdmgifSxjaGlsZHJlbjpufSl9ZnVuY3Rpb24geCh7dHlwZTplfSl7bGV0IG49KDAsaS51c2VTZWFyY2hQYXJhbXMpKCkscz17fTtuLmZvckVhY2goKGUsdCk9PntzW3RdPWV9KTtsZXQgbz1lPz9zLnR5cGU/PyJmdWxsX3YyIjtyZXR1cm4oMCx0LmpzeCkoZyx7dHlwZTpvLHBhcmFtczpzfSl9ZS5zKFsiV2lkZ2V0Q2xpZW50IiwoKT0+eF0sNzkyOTQpfV0pOw=="}},"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":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:49.665Z","timestamp":1785129949665,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 356922\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-15T16:45:42.901566Z","times_seen":965851,"resource_available":false,"data":"d09GMgABAAAAAJzAABYAAAABJMwAAJxGAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFwG7cAHJB0P0hWQVKGBQZgP1NUQVSBTicuAINCCIF+CZ8GL34RDAqBzmCBtmkLhVgAMIHeagE2AiQDiywEIAWJAAcgDIVOW3sUcYJ2+YXsTHcCUa2eb/kBStiuDNw2mlrloLhnj0bEboekZ1x7dPT//6cllSEzKZqmA5hzU71vkJCiJNulImOrXjzgaVpjkkldY9XkEtIwK7MgGJlJEu058EgYM8XbsUKJJgnS3LaCoydljRIf3TWocIZSKIVqflw9sPdXdL57lPkx26hbdai4Rm4SDjwdLWegM6PKTLHOb5qk/JwuRbUtUd7gj8QKjJ+DgUkZ7C0v+jSd+LWPe9GCVWr6F94zg0u7qMNnDlqbodvshzAf6OYyKSUIe6KkC93/4oFnTrqajC9m6zfclde5uO5vhku9953rXlaBseshaqzz/jytrfdnZrfZApZcWGpJqTxw4VBKaIk0sJvzGCosKoxT7g7j0CbMQ8wAk1IUBCxAYmGIoDz4r3qQfMhY4ibqKONtZoB3W//MrmyZMzVNcIALEEEEQZA9ZA8RtqACrpGWZmrR0LyyfVc27LK77q553ZitG7tb66/Z8Lhp/xIIkISECCEOwYMEs7aDik5MTkTb7ovoicpuJyLbzrzXTiprKTA8btq/UJ+I/7ud78x3+2rasa8+ObN2Vt+NrsNa8GCBJCQhASKEKIRgQVRWoywdDTAUXTP7PPdkKKfZoAAtcwC7mzLiq3ce54D4xVBAyibdANmyLaI5eDfrJwmQoK1TZ81OPW3vPf8T8Z8PKNQUKSktYkE8DXiFutCuuBy01LU9QDRxc9rWj1Nz1ga4kN2Em0sRtrd7tD1IHsgSC/8anXrf8vhOVVOhvq/sWf/TNptLrpUKCNOM4flu5M7lExRGNNmFQsvlH/w9d38Ts/TfK9jMRjPJtJ+EZkKtgsMD/L37294UeTGe7gsswyj8y9aYYCyH2yZ2SXJQ7F7eZmlRWfm/NdMP0tdImmEDxrv8vN7EcQDZ7XPKrCIdm1wLgCc69nhLfQAd1WZVB3qAavATs6eYtYwkTJD47ZL49NSH+Wa/ZybrgpyJgttS4rsJriHhV21ldzPgMSUyV6QnIjZ1nNuKchFxIkb0mc+Tjdj/s35pe72zOXhO9WcUWM2W+k5NeN9Iq3NA+jipCUrcdM1TUC5DYC1HVSlHLyfJzDYi3ysfAfDP/7Rm9+duD+1Bd+CaGuFyDtbM/mzLPHKyu9BDa2UYhUSjsAjXVC/CIgwaY/DhbWq1/0tWduQcWIvKoXUIRbdYn486oKa4mff/14fRSKOxHQsMskKSvSDbyZ3s4FgBWV5nAbg9oEr2JgtERbv9MZQ1l9ee//+mpu2/gMLIEVAc56HiH8U/UtE4t7lp3KfhgBRnQFIaJgsEl9YQu6YBcNdnQO4eD6CUYhli+QByjz42WJ+kaA3XCVRcOaZOrWNuity67F10kjqnVJS1T28TNLc6WUjfLqS4IeL3R1gxREswWLt+3zSlGv2Z87pr7Q6dRIQL0LAg6FtJbqvv1vT8Np2lA2IzHfOxg7lv7dXO7dwGP+2E5n2XqBidkSc3vK5GEVx/mRSgq77ZcoBUuwVSv65RLlI2QlXaEP940w0+hoF1IJI9CMIAwyCgJOAJB0BBOY3UrPh3Ea4wxihCGMe4ShG+ijmxqimZ3Xm+7BPSxhifMcIInfCJnAmZ+UHCbCaNMeFsh3UvQwwJee8xpuapF7+xw3Rta3xqkCAqQSI44vPrMVQsR116Hm09QZS47RhTK4qxyf6MqRtUkIsgnitt/3RAcCJLf4qPqYYRMuIB8ZYIWfkSsl7IFiGkkHQhWUJym1P5CrXX/g87oBTuuFMwN7VB7kXTFkUnbrO84857C0DTgj/G2uoSUGoshQD4wyrt8p9BgHrAOTIACMj8y5c+9WBo0hcIwvEUijH5Qqks614AEVkpOXnBracypT4qaj1uT+McYItQgDjuBL59q8e1XSEPYHtjyN4GyG4zt/sATQT4X/H6OItnsS604dbrQ27rFTP0o7ICU4m2AAHlSeSY2OSmfgFQhw3DbE6LrrXmDSByk/Eue/+7oQAsMV3wISG/ivDQcQiI1Kh10CGHHXE0WtGOpGKpJwAMbagVqEkENZuQI+OoDfWAzO0bKwIys1H+s3kcWO8pab1rfSi6yifx1lp1Hy3qcvncKcmFUen0h5/d+Mz4uGre6M/lyluLsBIR/3JsoMWW1C6s6TM3WBtKk4Cq9VLaBs5TxkP6h4nnV92N8uIGrdvWX6/aadFc3ZoTG8oAvrGoCqCWVt3o/JQSd9LSi8mjT62KPGWM/80qMHs+r5+s6rEofb/9+P9JldFtSp1WCyfPYradrBLGaTi+NK3/4ku9FY97cFr2rt4WOsnh2p3CY6WT4lDLuX92oF7gZS081c/SjvXQDJ5vjJqOxG3ivZzjrMjqVdTXNfpZUYKKh3QsKy3ScU48yGNTD9n7Xmg77ueN0MRGEW7JfHc/37B5v+1crqt8b8Z3bt1j6yle1prGvagp/LfWc67WOog7ls76t1hKxeeTplT+C+9rD3W89wYRBpTakYf5MzXuBq8NAK3ZfCuPTg9KU2Wled1n/VY8A7z4vFy2mZqHer4NtzCrryhv3nUsLEvJv+S4NbfHz4oc0YunMfBfzNGl0TJ9uGyFWs8+4NAv0jvtPFExy8W3dHW0hXFcfdfqVccHQfKtedEkZVeY9M75WvuP2tu2RWzeorNzEBIyPbclDef8qAVzH/s/m4HNzbnQ0H+LnT++9QFuz9Ovdt6LToL9nSR/rjSP45Kr3adBtp7zurvl/idxXFKC/hhj9JoG4CwGMWIKY8EegzMPAnP4UONHWtM8q5ZQEbRFpqVirXriJdKX122k4SZlaibu+cbMqEkhKKhCZJ6RgLisR0yIz0Z0SMwWApKyFQksSC66RckjLE5BzCQHBmFrELG1LfUoSklD3PwRZrjSMy9COQlBl58wQkEiolGYeHTFSZqLkiyMQ2mWp1U1AOwJUGzT7tCBDQ4LJQSoQyBGCB19DNCECScwasxK9sI2W8PfyCe8IRKfkXDGQsyFWEqVnRAHIU5S4iwBFzG4SoWbeH6TmLs4PCQ0p5Hgww8moBETKgxTuOgixDRfmChxxYgmVizxUpMglkQpSxdSIKTwCKZKdV/G7H6K+fw2u7cCfyPf3VujyH1P4J6+DHmrC9LtA4aPvIyjzxeEQd9gRvkopjGT6KbMoKEgwEpuBxTMoQEsTMAMByiFC7hRAozwAC18IIwgKKcgceq8xhvCieYPVrQiwY4uMCMFjx5E9MFjABEjsBiDxRQslqBYQY81KDbQYwsjdtBiDyMO0OIIJ06w4jzZy+ESl3CNa7jFLX2AmQCwzJ9kFDATDUoCSkksXDc3wQBGFqGSxbCSPD2WxJ5LgZflCLMC/ImUYdb5rzBCGJnUGIvL9AjBwiznbWSwQqqsG5XYsIXYWz1keYjhZzUQbcTNRcp8JOAnmnmdmV608ixpF4asplXmCsqwzXYV2L/ieuYlQrs33gp4sz1JYMg3NIddT3BPFQRHOKD5FJS2MAC5LU4phGY4DJFVvAV/ZfzHdaIDAQwcjNDCY9gPny1aZEDEGFpMIGIKLWagWJzOe3lud9t3nz1zw4SQvh21+KGceaAEwkxQUZ2mXXVTulsgX2akLsidGQPqiS3Ks7bXSeHJefTS4pcWJ/lJUaUKZETHH0qRjnXYZeUdaqDLG5t/spi9aVHZHW2ve4/bHWuCZLqiZa3DEaVMEu3DgQl7gMadbId3T7YcBi5vxgmBxq5b/jYT5C/gkCBg+zifA6sphxSO7WjDGNUwDBMaNfw51kUqatJwHuUiyKJ0yIN8+8GD7ezP6+23UkAcyBYEOg4uI8ZMmDJjxZodew4cOXPlxp2H2fz4mydYqDDhIkWLFSdBkhq1u4HeW+2Bhx557Imn7d6ee+Glt955r1OXPachw776ZtSYX8ZNmERBUBANOXxXPlKNWjSi+Y7U6zK6kUY/hjGKLMYxiWksYxXr2MQxTnGOS1zjFp9wI4gw4kgjjzKqqKOLMZZYY4s9jrjo8xkrXvNdazTwI2DFeaSpE0zIqeHjN56bX7wwavzDQ3E4cmHGg4EhhvnKN4+1+hcYZyKZnAqGqXA5V8cotnHA1FY1tkEubTCBXYkg1IlyFgJAag2gisCt2SzPZnYB3fTQm3xI0ersw37J1fEdv4XjFMjBQY5wtIn8Kb2OJXzIpVwtAGdjsX8R40wkk2msEpuPAKD7BIDzx6cimq3mxBG+S+MJAKkdDZgA+MkprY2Ajzj7BvwIYD6FDDLEMF+TbykqbM+O7BxOvaFvEF2qjU4AgAMpUZEnkXxGCV/8CGC+FlJ2YeyaVtcSh8LhKJISJUqUKEVoUwI2C5tH2ZQi2DmcegNK7dGjoqKioqKioqIGdQkSN7hjPOxR0L2NN2Lq5T/KihyYo+NhxVozLillREWOQ8oa15U7rumv8ewQQQmfyVwOS80lr4AKQgpB+UQmYmB16+rEeQPihn/+0polvjykjKOckSOQrayxR47ccdgitScojBCCLuZwHlO8ub5KXwTuQwDx1tdIIQ0ccca1lVQ/KIsmoGTy0K+lTjjgaGEaxKOL3QXaKJkPKnxsVT8FtcgNBQWVUJFhCL6Ja7n0lZTls3m9DjwLC1PshgBcORQvDbj0JtHYS3shoLZBfwDR+mIj6kNSB5YzTXg1OFtZ99rnbuXnSAyykJWs1hr7zuuH6Q2e8mby74q+it9HiKO+38sPwEMe8Zgn7uvub8F3fM8P/Ogx+CcwzgSHmWaG48wy57pYz4MGTbd2hkGDVqkcRGusRptkWltJG4zearRNjIG3D95xZWf2ZG/vy+D94QN5fDA41KfW6EoqvjZTXE9cZPgEVl4Dr8b47zLHCT0fIUcnAJzcfnmOWr1waLlTDYZXqujEcXVWenUVYLFICPfoukHimGmSry4gHwAO4hBfI8/XwTcwNBUkJTrOLsY4DwwvSWEXABW5G5nQeDFGHQEglSUUjX6GBGvk0B/55KjGKJ3uQUavLsHAh1+pgYPAQGBgxs+tBSqjn7/Na000E32Uoz1HnxmyfvgMMKA7VtoyZ50gpSykny7iL0KccSh0zimYdd7DW1oHQEc+lSsk1zaXzd7t5rqngW+BXj32Gd+qqzAWPt+/Wt4AsKvt83uBkcmQ2Qokbmt1moHoivvZltt8ES+gu81v9QCK7ztDgPiuzBT3Pso/aRvhNVyiEzzwwIyiC1pADMdGwbgEc9OgZOzP7/Cna9OJ/JPirAwzGR46oVwyL9KrEjH/B0wkthY7bbLZZVdcdc11N1QE+68764zTzjnvgosuadSEfnUAh2irFI3z5RwYRIUEAAbzd18a4LQmaKQl6nRx2q7c6VIeIvJQaPKZ2B7+X2tFrYObeZEWVWJq1GlUSULF3Ph5t9zOb3GPR2azPSLU0Bia9YaKKbeuY2MUOyI79tjGRlApby64XpyIpUOcgvO/viarHY7PDnRyCCHoBu2gtvLmv7bVsmmbm7uZmqLBmn5Tr8P1bb1bL9XSuqiqKrPWV7MyVj6Uu+VQ2VOSi6aIC7MUFVFhopkM5nVupy4pCcUUYejZHiYMa3XGP2oVy7McQZuYADsEYIpjPlXiuw740SqyfX1Uoj5RnzLCXOdAVtSlEWReTGNIhzoRbtzYE5fBaE7FqTJFXYpTwcOMuJAsezDqrF7cHJbcXwp4iUNqCrtKIS0s6CklsZ376PhMxa7uGCs7NZHYpMaw4teYealR+1QkUQ+G2Yf57boZwrN0QqtgKZ5FMeoL7DzHVkwT49QQRtUwT19AheXwu0En/RjQh177J4Es78yXgGvinEYDx/s/jhZVlmbVWETyxXQWZKQ0W1ZH6RF7urFNerZnIXw7oqc9acgkZDnE9bGIubFXqhNr3mLJO6JvGDdvmEtklkFEVoewLI2QzkFmgidmqXYsqg751byBdvZuxgQZzzDse97nX6FcZ18/8Ah97iPteWD+u/WvAzA3C40Ve0yO7wgL4L2Dooo57d7EAgTSEiyCjki0IfVEZsiesJCemCUrYSk3YSW/3Xo2310iXJubWYme6+ZvLmsyBIAFF8UeAh7EN4UYirhAT+CC+rBkGrg8aaDgClNUGS5Nn/FQCWqz59MQCMZGhkkhCidtC002PbO2kOT9ZI5OegO8bV0pCKPVEfXQmSYflCitLK5MmJ3hzHaQzrZm+xp99vrGZgIGUkDW5lbl50ZUNc3V6jqWRtKGdqNxG3DBzUp4B2pj02wnvxwfB/wiBmPnntIdYoawCJthKFkHq2itd3FbasGpWbFNg7ShJd4jYiO3pk+k9fWXjSvkVFKDZWr3rl3DHAPSj++ERMpLzdkrmLGmQNzooMxeaSUNr9c1xgkQmtqrqjE9NMput5HATIXmSlUJtbkurLGh17kqatvbqqhzc0bSiZGUxmc4IBwzlZlbWaOFNfZTBw5kEukhS1WIZiuGrvXl60NzN9mP+cri5hyLTlY4U1LsU78N3WFoIxHQPTCsnRBQhb1YGjR2KRm66odU2Yg2d3ydePxgXB07Rnv8wrbxS7L27wjb8Vevxn8UjzJ941k5o1nNaPHP6FAxBpUQ2cM0i9mo9gcADAB6wuMJmSIkyw4JDokP/22Buzj76Laj+UdLjqqPtp/YcCL6hP38W+dRy9UXfr1cfZmywn9B+aL0Ouh6yY2BG4Yb8ZvVt/LvfNXmf+/pbHxP/0bxB+vvo/u0+/KHBWK8r6GN92/84PYPGx/5sq2PDhy48ePvvO9u2/RpnOZonm7Mt+Zv/2zkiyNfDny99+uv97H8m/vL4sbvH/vh0NjM3YxKqbJq2rbxkfHR8ceOnhgRzUee5L4wdWTqo2M7Z943vnt2z+wDs4/OfmZydX1r/YQi2ul2G6YpAPbHMrcDrINWjl/1rVURl+BrrJNmFmUvbKoa9IYOdphOzfQ6A7P/Jx+Q/F2nAAj2KdcAAMjJAdFssg8N0F7S7QDa8oHDv2JpARxIAkvVloE/pGXwOVPE2sK8qe4EM2DpfLCAFHolACAO6Q3pRnGoa+jUMnDmYwF78Lp2V0oKwLYbXe0pACBH1JmD1GNdKs9uGy0SyZ8HWzJiOAwWEwAACACCAFoVz3i60yq4dKeVsZadVsKi0zMaAW5goaN9R0+3U0cWhza4DdtVSN4DAIuxc5FlsZB/cX4kVD7LzAcAuF/Y0L5x5dbroY4aPRqdv5O1mfLrpN0h7DykiZzyQp6P0AjOPr+U7HbICSdd1eaRPl9R0N4JLy+VtvK6vK0Ix3EWbrAVLF1Zuqp0PU3S3JpPC2lZraL1gJ/bWt/HNKn+/0cf5AgpDtc75ZpbHvvkG1uHvSzssq4maMrry2hlhpaYqg+W6fCQDDcADgAaoD42HloW5nPT/5rzc2D2T8FsWphj9t7mn8NkMhkMyexmfuxazVjp/85n58qhBmdZcI4gieZFm+c1sNUpMVP0zUn3vDFD/+TTpOvWo9cHH2XI1OeTz/oN+CJLtnl67jlyTVGYNoMCeQE6UO0NVG605vpiQMljy1XcHPeqDryXLrum5pZuUtZt/KKUpcXxwXSVnjmrIl1KQfZvOJDmlEMKlGicxqgpKt7+XnfJd9j70RoXuHhHE47YZL2qSZo9Ktd/xjP7VTjprCu5k2neq3yUq+E/XOHgtdSAlBm94vqp5LwmakIstt0f0uXbp9wRpzz3PjK75CpS45hzrZDgKO4Bfb8uLqMjw0ODA/19vT3diXisq7MjGmkPh4IBv8/raXO3upwOu81qMZuMBr1Oq1GrlAp5i0wiFgkFfB6Xw2YxK0GS9OqYu6Ns+V7MdwfHdraLluezf3ynuktuxbDVMOoIekvsyrbU94y13rBVChBcn8ZjX5MI17u9YqkfFovpVnZ4ZasRqrVO2jsn233pij/4UlznQw4Up2H0uHR0P9nbRdF3DIL+DKnLBBjTbD6Bwf3l2iS8a27GXwoYdZ7RdGxZBt6q5EDQsRvuXrYK6pVyARRTXgxNWZUccEZS1QhkfegX3cuBGMfVdjIcjF4+LihAJkSwmLuboh051tm8preF/Ybp2nkyeZ/bbiW13ajNtxNBZ4rw3XjS5bvJRvJiGNR/NyVfCSkOd3zalOwukxuGzinQ8JTLvWKwHNzOnY/eZD2LNIqAmn5JMsIeTnbkEJS6xQXlajwQUgE9RhHqdGlq2yJOvvifIyCEfNkc8rgGCRrmvm4dM/WMntUnaAGFCYP0V3b//8c1gB//s7d1kka3K38xbXkHTebkbW9oirBoyna9BPsyUoUnl7xtugY7TzfyLYAFGF4ch7lz+CHz7TrRiGO9tqUAYpVgNXjDz8TQRFXoHUk7GYz1b9/fW4VxPWESHhj2aflyvV5j1HFqTKngVMuwK3B1BRfA4KUed0KKIgS/9ZJW6O0Tq6bbKaeo6miPGZjo+LDy8bQNTii4PFWcaiFZQe5Fgzvwozsxx58uTkcsYo8CV8L8iGuuqfVYE+4SQW/KyAx9hExqxb9HKKI7JgnotNa3yp1tqhOMuHtp/spW0htu81A6BPtJsy6amlCxFxc73LOGrUZdP+q653Oomvxc+3RwWLVn7DSrtW6O1B/M34JgAkxyGTRNnsbdRjSY55e/I61/S12FXjQy7Y0WehBX7s23yzMp2ibxSFBDVl7k3vCzfZbQDNwNgD0uuu84cvTQFXICXi6O3aJY1wGu+w6cVAy7GPG2WOp7LQlgDCn2M9HJUZHuMvNxXXz8JYYOO9uVaH6OHnPedE6pAMEXGQ0UMd7L4qLBZe+SrBWRNknlYr7CZ5aZLpAFbRalNIndkbFMz1HocjNJ11gPoQ5n1eBsdvaypMvjqmPJOtHZOCUWxPI0IB2j4N86dMm4b02mZomGUbvQ0WY261PabKTWxaiTqwbaTN3AnpLJwoDtDmH2k4MPEe9V8DJgUgBhlkVZjpznzvQ8gqlgqaUflguuO44DyHp5SgLyOnMZBQfcaqZm6w0nAkoorpoJmud7SjRqECrBweQ5XXqfd1TnjqBSFVN+b1+316apog69az+aHZRglojvrwJPaLnM8rPjLgpXXKpMc4gkQ9dc4l5HfTMBJgRjSVzbIaa60SnSqksmpK/iRCPKNxYqINpfCmtEB9bktstBmnI9kd8sZfVMCBE9lvGHiE2LG/VFoa51jAbEJY5/1YF9TEQbW540T/Y4PObyEMO7IQEcRehRTMT0wlNJ8GDLe0BIgIYv6cinBpPbrmVuFQQmNqF41ykIORhrVxeQGOvlHVUgRh4jvrskQyjY9RzXFhlxXKYlpuIleOXcdgHHFmKJmDGDP1qlsDtyhpzP9HN5UwheJOpt9sfdml74h7I8yXY6VCltHwmTTpO6ZT6CmllGBxhlrezhomeQvivASpBS1Fd6lULmGPKgVj4s4K8E6ESXvok7OxHaOa7sjBqqk0GW8Hso9PvmmZsCOBJes6AM47poWnO3a5ozJZPhREFn7M7wPWfEuCCBpOaeTWZtII0Tl1MPimSZXYsLLnCWn8l1KWROYcRx/aNxCUOjS6BmNpnxN1RehrhmxjirZYgo2HSgWddWSpVTFloM1Fy/8Qw8vgxbuJCARj0eBTBWtOuEsO9gVyTx/PeW5+OGrrzub912WmoTyw1TYVnK7b7YIjVTAhzsnU1Ei9zMOOFoH0znpMPDdIiwJO+4lS4NUF+y503awY3MMTP09B5z5C9+Qrq/XZkIJwvwFFUw+AqcSp21vff12MQbbRUxCY1r5uM/6PQRgC7Gk1cKBQ2o4Ymbbx+4GM6CmI4zK/ekIxrZW3DjgaI9THkx/Hj6gqHJuBqww0WY/O4/5lxQcN1ZkL2dijHegoN7xkPldN6YImdj5xd3E7vyDkAV/+eUKZa0sidjVIfSmIkPX3NjW/OucfWLv4fLJ0p6HCHiMgrq4bEkG5Ta3lgnV9SsoZp4z2cuqhWCle3p8BF2GuGKyhPFifmPxx8WDUIQLOrCyx5Yz21RwSu4AS+cZuyqlNWcZWe1NJYbeK1eEedymE1jsFQqp3LuQ1mWDsIvOEHZ4A6E+gRTx4I+FuSc6mJ/2x5tKP9CYJThPL+0UMzIUOVXVp/BkPK+zK0C+AvDZ71m8mWiz6fBfbmwSIJkD0Yl50ub6cn6pRxAgp9Dc2zk9vkosuUe85zew0NW13Y87XPQuQBLF/bN6jInw5Ecooo4mih7ppa1yJZNY3CdvRAHr4SHzKhQpGgEIOgk1ykVLGyrWRVIBjasUfwpsFwB3praOQTA5Qa0S2h6N0d3DT31BrRbGPrv9u0eZhy7qLhHWB39WN+eYcfxrRJ7hUOfcud7QzBMzNHHJ9V3K4hj33yElwLRNwDobguAdR6g/Rqo/hiQTjRWP56Ao0GdsMkhh2UmCWg4IO5dvMQ4nHcUpzjFKcbKsiaKwtyyLYrlsEwUS7fHsBwGD5WPpaNxGh79upAAqcYbi/N4dCYhloGiJbgBg6P/M71kURAcBkEiiihtAoBmm7xm/VsvjEfDIK8Z/7BTD0bZNBf5W6UrvqRWB4wg6Naur6x1OLxr/UTtQQQYkxv8XE1nLZb9JVD8GEEET1MrMuRc8Wul+QvyCGSRhvPsTdW9wGHG8prktC+VY0VMs1BAZd5+KUWKM8CxorfQVmTPRwndNCKGdRDYp9GlGMuOi9TOL8n1jlUX82t+EJ/4kCuLi5AMw9iqblKE/cRakR/T6vFNgQTjaLZddVTUtLdcDFOJwHiIW0Fso+nggUBGqVE/wFIhhVZ1a+iwedpOz7o9q2j1+dJMgiITFqkk2tZ5inIiFvYJxVGyITYloBvH9SSBiylWWJRIRG6KqqmNpgjDlP2AqWR7oAeNLEGHYlP6mQRMMvZyBelBd2dUiOrW9hVptCDVv9nOLCXPQqQyxDeE8ewrtWkaKdJE5pCSS0q8/iMWV8VBXv/+cfF6xAlaaNWHn9BvYcoTQtJuAQtZQvw+NGq/UfsFoIv77+kBOcj89tsadLFfelIfotrvjCXZnv+gGT2rX38Ng6Zp+MJtqXFP+i5BeSmLuRZ0p8nHCxhbgzwziRhcoVC0JpuX7CR4XG2lvpvy4DlBjwRR3dlkMTfOOtz1XJuu+fkBJaz0Hm5TvV+RVURga+HJhpA5uhBUSbjTZMsfb06HJSi63+fIcVr0uYdSbMxAZSMQjir2pL6GWfDaHo0Y/k8QIZVDTSoByMiVbKa2MEFrmmmVKL22XjXOd65Y55I1PAebMVyAmNG8lBRB2eZpcStGSwY0zp/P/AzkAInDGzx8GHHbR7ZXyk4mFKO99JY9pY+YYTOe0JO94YdUUvWbrQiP+3+V/F8jBPXDxw61KWbeELrRB+R7bKA3FWFjLXvUobyW14WG8/N2yxZA3iZH8ybGKb1bNvaqBEN6IwrVJj1Tyi5Verk8K7jl2CJYHiGGXpPw41D6gyLOwG/VS1N5xoeGukYRGsuJbFNLvUT40Wr3Jetgzq4aS6X5JMqKiDD+mbRC8sjVIM66t8sRdDEBegj/VwktttZwLaxAWmIw3VoTcnKOD4DntMPd76ShMhs1A9RwZJQmiLV0QFq0SSm9WyJZB5axjHD8QdZRgW+VqKWLce+JR6yga/s0MyemZ3B2Gudm/ekojTxuOttRZSTQXQBoBeRpA+Z3YQWbZ4JoFL0fPFbXYqbi9h5OEkcT7gGXdrwcnucyoWpzoA6vV9VpensSVmJHN67ZkO6ryo1nATUdHgdqpDCAEVyNtkMbWI1slnHDXsvVYQO7b78PUC6xd1kwavNutIA5pNl0vqybpkbpnTTNIW3otcQy8xVgNrIvFm5NI0+irp/FnI8msqTKBeYYyyTcHscyRgvbbW2m7KyZefkukIM54fK+6I4M3u8sHUOkDEslkVauL5lYeb/rRr6vLBlhY9Ag5uaWfCvKJ3N3RrNiUftH4xejkoKm6WwoskBku+i82X+iOrpXFK6XxcBYX4GLdIoeybUsjLQiMqrEQ1WTF5C47yKtMP1NJ+gSVhLHtVRaHCkqhXwco5iDaWRgpcsQw7A1YGDvddj0X8YErKcw0TtjuZwe55Olqg/pgwrwJCQZVQfjYSUzHJcZUXq8djiMpd1TrcpqkzxWmhzrI/frr69XxuoJ5J3n+n0nLJOQOkltIlGW8yqG9KAr1Eyuqq04mJmg2SKTRt5hNnaQsPNizQKeRk0Lbu3Urpa2WmCmaxpiwoESGRXO8hvra04N5SrPGDbIP6RQp1QyExpeDnSCmtXTcRAs1GbWCd50jKlnKCsLgODtPCyhFl+j21jiGSCmMTO81NY1q974jwyaTYZhTkZgrA6OQDBAURk5lTbdBZ82s4lrycFMoyBtZern3OcDmgyPJAsPS4oXEd7myAlmGwzjoEySCgWivbYti9pY24j2h7rCcFWkiQryid75C+F0+T1CnLUjrfR008/J9cyd5IRrLFnrAyKYEwpp+2GYOj8T1H/sZ2kP2gifZJWgyJytscV4dLPAaFJRbGyC3Nj0wEa5FrgX2krPExM0JmRo5AH8l9qd7U5fpQqPvcQ0OkFqblquXKdnPpm+vA/50fENhqeqhh65bcXa21RPeKpJ6SH1Ttdi+sazDEyhLwr0aJt/EFU783pJj9qnWlQn58PncC73MSu0NPsqAZiK7BEFH1DpoT0LtTApr5MdxR4Wq5hrbT8SV1/05sRnlWyR2O7kAWqJLGiJgoZpRoX5B/d+snH0MAdmFU8u9nAyDkQ7Rr3L/34y6fChQdkL3P44hkE+zG/guA/1Oob8xP16uHzr/mSFoZC9MxeQ8HFRW7MpdwInmZlS0I7FBMgZt327/F1qO6jIc4U75E7g0Y3oBXlslHLRH0EuvECkVwFHMIVMSDneSir53TanfiXblUsnCD039uPHsfdjjLYSy6l18tb8jxKSjeoimX34gwbZJMXrMWhXRa7+4XHPYwhjTGxXX0Cnm+RdlFl6CQ0ohb7LgjoYohFzwCwO9xSi/l2XoKjnhHSnHMwEOihAXr6N7RNavOp5gXk6KAwxs61mlc0n3fjyNVwC7x2/fZjGuTzrzL6t7F4rsDlw7xG4cxBPAyrO9OJwyqAwr6vNdPoO6LZTb3ghk7SijRibvc0xF6o6nWoaIX8tuCRFNjftPgNFdtWTDff92lEG/xzxlm9FaCXuztTfjOf1l11xHPjygzrhgG1tMkDS28AmyNO9CRnc24DZDa/ZjWnwZmc6gLEdNr9u+tCurnV8c17myvKezDvLaYSpL+0C63DGRAY3kjmeWVYNPVy3ry6Nad40x9ERmjDGuMhZ0g294rccj8ZbL9wwDjqONPk68M+HrtJA/mapFtbU4mlEuxhktDHB95b3VV7y6Rc7+sPL72t3y4/Dh12i53quyZE+CdmyvU6TwFFaG9bNBghkrNFhic4wJMlFmUDCHA3Dev1IUxyfFyBKkUY1NDBQJRKEoLZUygQXIzberOzYslCazZVSB0kNS9jaEWFCCqZWK2SSBLZasvl+IKw95KR8nrzKCo5VfnTwJ7qCT9CaWvAiTIUKA68xCpwFNdn4z+uPcZWRvdSd3JDm8DGJr+1gi2xcxqzzqbRnwY9Y9RRjFmcbixjpYZpaFvjdk9y7XSeskPPCfW+P7R/jij8W+6Y/aA2uduqEE+Nd5Vu/g405/n6g3ps2PGfjxwtN+zecPMWEQrue65y3fUusfTn9ZXek7fvOo+ehfibUiu5PM5vTGkQbP7nZZSalxf9cx6L9JyLqgJ4o14/RRR408CmxwWxK6/v/njJcjZiD+9KUyQ36Kh88idLcTo/rroIu5+fQaFvO9Z0TnSpfLc+o/2ROq31DSnOx/2O+YZupIZm25Ur5D19yamEtnozD4cm1iPPUivMb63KXIX+HXwVdB99AvsT//FLz3zpKTlHdLburAjrRXNXDKW1pyH/aduBUc6t8stKvEu6tur86XmjZNlvTSqUoihuodiS9texs/PQPyDm4h8JQgDF0O5ruKzmXDZ+7CvBLje+3j57MeG0zDZlMrg5/mqU0m8agnkY2vj3IkJj7uM3DytV425v3tx8av2VynYuQqwe4/ZbuxPCJgvwwesjcQyYFWC3YoL9RIYw2Uf38Vb9/5Y22kaE7Ou+VMSwq4W47Te9YqPQvTKxQXN7qAYqDPp/wnsRajScwvQ7WPvMqnxpMkOTyGJ7aodXy2sdxhmpG5k/JIm/lrT/tP1x27tmKv9wFeEMjwBsklsszEPaDn48LayaisQqx/Qg90Eu45G/FnQ8OPMeKqA4jYzb+vg325U0Slr8dJ6Ta4Qx5eRefAYlwlW1Ipt5QtwP9t4uC+YyZO4bwAuqO45EZPiuy29BYshVJV5V1cSigTorB0kAXDHFbOp9hmoEt6/gLIdskQuydl9jHkGc0zsZLodGTPH/0vCn8bOMdh/IgsSL5+9bdWlT7sguywr4FOZ6fk8wm/ykvM3b1PePg4PvGrqvDSuqeWNspvGPkfUfnpVW/hJHoZsjkMQYtIWmhRhMkhSJOokb3/9u97vQNc7z7ptl72t3ru3BDn+i+ofdduNrPIfq9ZA7H09TkF/Ca/F5i7RIvX74lyIPZi6+p2/ZXvGz/wgo7IHRaMTiyDUXXlsU5FFAXxWzB0UgeZEsLqg2vkpEXw4OHhDrPvMw2gXxO7WpcCY6fEvi7z1t9J9Hv+2nBoh/E9w+c+LvpfHbh3SMX826jS+JhNPjBhcLeLe3oktg24rF3n6U+W19y5KuSXv91592cVzDmWARj+uie5q6cdvwPaTy3+MA1IATHeHYS+XO+tNZEZyCtBgwT76xqVgCM1ZSA59lVebj3olZ/JqJh7wsO/sdi1HtjBN6NaeiG13Q3YLoLPf3/SNXWXjUeSOo8DAeSrM3vXy9CVc2gqp5hZ2kDJflNehLZV7Y3VbZu1uRfpuuHhh8zJnoe8E9Ndb5O/y9tmj4369+O1vmxd5l9qstVtyBBBuy9Gn3y39JrC71fE0rWnaUfiyiZ+fmteiDYf/Bfspb5+BMciLz41Hm3eCt4ZChsx38/w1gzGRTWNgk7rpbZqus5XhItvH0xzZLmwl6QTrjMERTJEyfFWixv6mvJWCOW70cvVcAYtcWQ2julK8u9BbnLxZjaNX1/lj5c/nz7Amqh6vypYMrBYFkcS3dxxE22BMJUBHDRDYA3vAuch8UMzdMOjXbPUa1ns+DxZc9hlq6vmdYuljRG4s2W7JSD20ddadPJ/EOGsei1x6YqSv+7r/J2/vnRj7vP971nnFsW/7Ni/wHxP8tPPzaOHn8S7/k4feraFjtv74QoaN7LsYzWXW+faYO9qN29W2yOTwu407loZMphy8PvDrh+OaLuJtwMj5xgeNgL7KmfDWcuav9bG7Wg/e+J0382iHOXAd5wHeANWnTT/HzqPBbJDkjZhUJHnv9nsPZfC5Jtx5N9/tqiphZ2Lfw2ufD7QqHgg4eqJyOWd9jHhj/XHb2oAo4Fj/GfaiMf6Xaf/DLU83pm343NQn7/bmHAPsMx7kTciod78He840mW3tlbykJCmJLDhcxU0nzO/I4gfy9JcO0dWnnDRf7YuMgbp9e/ytiz5c47S0dG3tVGXpy6oaNFOrFCfieZ0ZdduQ/RWndCZgK9/bR8DbTm24btd0LJyifGIsqr8/Mfzq+xS0arptuXX9zx4NiO28degvwhD1SuLB9PubQd96qYUTjFF3CF4rlF+Qb8gdW6V7mOWOtw5ImPrdMtSVIPnH9kHO6X4uEVeeqSoresOXRB6x/+OB68Il3zMlVn9a/ZR/cy9Jo9DMco9rUBwyD2nmtsD0NjmGbYxtD3sm/gh+eHgxMscq+URx6cEAdVhvJ9V+P4k2DkXv+uyJ0nS/MaySeD5f0dbeAfPi71tR8bD+jTDIP6pZw29qrJU1fBxrmGr5e+tkZvTtrES/tCrsKWOymHI1072Yw4r4XSvYvuLwG46IbMPHMPmBzbXEbIDKCLhfzmkUbHjjbQ88K4nTIolzOmBtwrhMDSN4mOe6FXpYye3Wyvc5hIbqUjoFxpcx9GnR8vvSRvd+NG5GrW1LD9WkPYfhO74DcseV/lNbptjD4w0z6BZTtBMMwywBuuSOwDC/aFXNLx5Vc/Ojr90R+ewtnfPOMfLX30ykch2cw+ls1++jKUzYSyez7d/uD+E72V5bncvy1rzt6v/3Su5PhyXsULWdn/3BUynt0OmdgsX063fkN/c3xb7rL4yRNe9pMb4meW8zLnljNn/mm/OJF1GyIZL8yyL+vhevhXbz5++b53Kc6Be/Lo/b3Hmul3Gro+jn38ia51D/gGOC1tHmtxfv7jecLSKO5Oecce3Aq4U7qwtAACX+lLvgI4OVeTncD6S7yxFOg6+DJUbACO/5CMacM7k6/a/4ONV9j+8RvwQfWjwO5Hr8N57wWrHm07kJxLpmXuAzbzkRTIRuTyKpyMMtjRPKarFi+Ar+IJwYBuocESvSxyLHb905Hpqsm48QXfDVqb0t8siufL6mq4KDRcpkPS5f0svhMsVLUS7Q7driaVb0mu2aNR0oZ6VZfg/qq0u/AdwC23vl/fKIXmRrH32mYOSezOg8zWYdL1TVHdpg7S9daRA0yHY17onsa+sbonV7JjkuJpI4mYjlqWGOY48aetDHZfTKLluZuobaDdBcRBqh/DMvCX1xqjS6/YwrHL8ugc/qa32ou/GZ27LI/1Xnd4ltf6l9dSyW0+MlceolIDRWOsalbhTqo/RC1ABz4AuOU1wIEz32fkJpreCEwfFpodSaZ7hHh9U4duY5R03T18gOk0HpYEZprurY7nSsC7GW1tTTxdVMDqzeb+6YKFgyl21DL5HhLDA54sEGQHr/AHJhivhKqHBO8MT53maNtPidom0a+GZJX7/empLNSoV2lsbq3nOavmLNWC6hGpPdrIt4yKUFS/qrzNeJgAenb1uUjL4hGpD0xe/z1rnzdtO6EFUaOmfhuc5E7m1i/hT5VNhV9/Z/kobl/pHimSYfLSJLPNHFUvhdlnID3G5ybwb/im54VWWZh5F/8M/t7VJH3bDgEzUZd0gl5VmOMAgMAqPdJpz5r4awBf80vhiUW+RdxbrdHXzrbdufaavM5hRDAZgUaxHTaQl2vD46/htxTPPdiuwJOxoVxb8ItW0s4E01hA3eAAZsv+mhXpLqJgUzAfD8EsUUhk50QLw7X3vf7I3cfj6zPTb7d8JbKmzrr2pxqX/nNKkutI8FvdzSoyq/UafrnwL3IM8GFf8k4c43v4vdV6LXrK8f7qPTnO7kQwpd5Gir1o4KWiOARwccc8vUe4TuUIXGeonXG8du11Lc7mqGQR9VXNbLC+JMcqk63iz5f8RU55gTYjL0K71zu7Ig2Grkj7Zmsvolhe65u9LA2FVmxQvDqRJ4FM8r1hkoAfIvG80ElJnhgKaV+o2W3OtrmOjByrG3iGfQ346/ofsltE0i3O07z95JVNwcAulOuekUPbtU037Ltkkunxkvh8ajaDFevgBh4S03v+QAvQ5kWAs7e+Ww/w1y7ZF3ITjW/4pxeEDsdBpmekWQ+M5uue4cPPsy1IfGzVYZrzekjw/JiIM8BZOjlSF/IPPm8z01cyVZBj3bNnFX9Z8Qxw1jawnWyuoLGgFg3RAj0rGerhqnJwBcg6UGUp3Y1z56iz9qBtHIyVRsYFXcqZOu3AC1pzUr8Kr2+xYTkCA6KaVVksVJhLeBlDO87KZF1KFj7ia0kijFN37PZnNddSeSJVuLyR76jAMPIg5fhJzuSddasO2DwJKK/yJvCUgrkZRQ9iqD2ebBTy3+Qm/IWCz/gpHtgV6/Cz3HbRAFxvRB3wXFt9iQM2jDBzodGdmqaDuQ9PZA3OXM9vwSe2XHbNzk7mPJvIH8LnLbySaY3F8pYzL+3s2JiDT7+fkbHSnb2EJz/pTi/rvlrZflk9PjO1rfidaBZ6Iu9ceYZG/rLz950fmXM9ZY/+Nff6i7K9rcyUu/0lf9b9N9q0yr/63lrHk7nrudtom+7Dk4HS9c1KcBM/l7ph7WHhDLv25hAt/xtRAQGZTGYna60g2K0XgmOw8MWo9MCTA0UVI0RoMFqufjn+rk189JxxMha09HrfbSVfOTi+8R9lKDQKPbiTfKX1HU5Nqw7Pi02eM4qP2t+RQic0joIc+TLgXCkBnCusFMab0OAY5OB485XWd9k1bl0jL7j7vEa8YHtXCtmlcazZL4WGhPkaB3RC+o5dPH9eszsQsPZ532ltvnJwZyEjvGE/PIAYVTiieJZyiCGgIeRoFJqFhKqbF1OEiGG5NdrAUo1x2GSzFFlXz8dUGwsPu4Bvfnl4hgDWD4O1//vaXPUtFHwNvGlJAXoU5FB31+mOpZdfauVV7SAhrg3zLM/7i/OLrDVx8wB67NHO5+srK6UZbbDc7vHwzXvLegdfMJvPtb/aQrW3wUlUN5mUKMEaDZTj4USSqVIlmbmCfNxgJB/bg8EYNOXYWcOw7snR048N8bhwx05rnwwPB8fOPDaCDf7RM6Mw/8+Fd95OH4OcbQ4xhNNGX3/LlaIokD7iNQgLeQp5m0e4+FU3rbu+rixBSzg/2faXbe8VZrfEM1Nb8rJ33I0Volscp9e9Sofzt6yqr574++rYlmurorIwmqjF15YyJfidDfZiz44z9KiBOKSX0Ud6jZfQgQOfWCOvTKwKmD2jXGvrcCPZiEcVs3jYMZSryF/8PLPDQBrW80kd7dKlmqz/dYW3odFqxy9WtqBxHO3e4Ss+y4joiIN6JX20V38R6Tet1uyzqo53XU0RETyW5mgRwTSCZRqbakvoItwoxrbDs+N5ZoexeUTPJUT9snl48Tq5FqPPfq6yY5elN32t2Dt/8fAB90Fzy/Php/2xCwX3gUuH5vdaDXIdVU2Bt/Pa+WBDI6pOL/9/37D222NnlcoeuWfr1YdHtE+OnnmkdHZGFho+4t166y7Mz8wA8zffAO/IXr95HxZ0YOHWW/+lFARBG1pqzvqqGcL6+sXNdL5rnKBX9BFZXTp83SblJ8fzuBV+wDfXJATJwDU3yDUK6P6CTP/vJJoFRu/sizm5XMc+THA74UnJ0eaj6D94iauGLPTFqY9Tet/cwy68XYEqEBbQx97fLc61TmEFAUVDndxIpGelelI3jJHF2epDgQFbA2Q9dSRj+sAa47Z6DpV+kVOrWBjUt8cnj0ympdXfYDEiYSaDEWTSIiwWrT1IRzcskvY4E8vnNDSwOVgcm5f/guHztjbLlMnZZOWhD05+UDyk3U/bn1V9qbBP4QGlv25HsW1D/o+wkMlrXGCzIsNMg6a3kebiYBBauXbp3HR2xpKjpe4/gBb/D8OFW1czT+dZ+jFi5SCKY+VgyKpYvcoPEfptvbVENZkjco5jlLwxpNwpmYeLmqhMNrGu2sLcVgdbf/n1DaMvNkE2olvwq/iTmf8Cz9NRqPIV+e5hgYEfhba0FNLKwe3Okv4mhqgAoQ41NFsLRq/NXAX460sFlGtpyiOfdAbuj44E7n+y40hm+kxHbeNPUezc5llIS2ZePmDgKWuhfF5DYAdvnRvBzX6zrCSXmRXOLP7bsuph9WNcvzm8cf1lZYlTtpDUtLoxJ11wNrp0Yb/aP6BWyaMvSIhQoxhLbBJicwVR0lRhFCJE+Yy9J380UIyyrUTqYZ6s1srgoK1WFJtgryFrmAFzXrqqbB+4ojad7tSyD/qHVlFQfrryhhfm98Ng1rDY/KbjhbX2wifY3OWOtLLF89+fN1A6k58lU46rpz5suCbKqFJfMpq8601+mqx79+2tMeSlwmh8PW17Ztvbm3vfLHn4i8cJzhTpEafz2w+qe3FeIu6JOs80fDzoP0D3ZeJU1HYG8/HLnxtcJaco/UZlHMb7mFtLa9lp+oBJ2QVj+yN5GyO/YJGNzzzIDy186PW/Eo+JnVu40Ly/2TMkbIrTmU3dQyJP/o4cukp1VeXDLTl9U1iV9xTLPNsuhrrrYGkEaCxD4RS51IygIGSZe54daOjIsYCnqw5ChjBMoam2RlTX6ID4T9SIpKlKixFXqRppdSo5HMswE9F9Bb9cKWAjHcYGBteLJsjrX8hkEiMB5eFaU3RZbjnd99fxw7ueUUYaCKp6JIyvgTEbApUGMp6VbpxabLdeofaGFkSSvRYRLhZoOQnzfbEn/qKodw/lThTWQb+dmDoptACeJaq/B3cpEC2fdIP4dd1+voHRSmC3QibEMAlkl8idICg7ptmZ5FGxCX8Agd36t5vOR05Bco+9/mePy3VLnP5m98wZkaP1HLdnmL7saKde6xw5yjIHL7tbT2jpQImfwyS3VbA5wTqBrnJQRoJGuSZPI4tib2J7IHsVtmXL+nOXv47pivK9bGu+p4B6P+Pqd1dHGpFHcLjzSEM+eI1Zs/PVR7KJ7atVEXKczvGUHkVu1ftq7OULcv4OgOuQDVeFC/pjcoRvLI1Mrq2G4bWkMLcFj1/Fb65i3BHMbaauX/DcNMsTycdwJj9qyYvyoo+bA40vF6o/j8ibFrzWzSgJEm8pZhZEHw8hh0Qf7114UyHKrfzdpoGdApkbuCzq3UN/kx8493bf1AmhBggcZ3r6MOfdsYL9pu0cTCLAVxNtBE5rxVc8vjtI4PlmSUXs7q2r89VSaF6Eci8xe0EaDF+S5ixZdR5Z8S6CdxFs01tFo2yS7fO7ArFztsxpK5vk+AK+v1nZjKWTFRsfuK7OBPiHpkR2UMPrW2Y+0tel17wDVhLTwX8HZkzsYMmp2VPJTX/NctbPkXic3oQlauNdiiqtM9VPG7YoYWQmGk2mI2rdjwczHQb5IbGR0+g1EYhoSlH9rurqqdrEMxycz0xqqiEXzX5aWd1Irqg4AWzmhRTIxqryTvTHDh76eBh4uvT/n2/PPfzBC6XrWrmBAn4dlF7NN9L3Z7z2t36XSGPfKkv+lEzTDf5ysj4gzXldTl0XsXJIEPO42HBK3bgkkZYzAnSbgjhvKxtBQa4aTCOsOClj6bUTEnfV307KKycEfX7PbWLWzijOfLV5BDePv6lSePwGo9evqJJ7fEaD15dWmr2ydvo/oCAbjI6t3bsHOrQlS5108mlPtKldjxcdL3/1/5ank3TUH2Ou3kxQ9pHurq2kjjvsqT3CD6cFewUfTU3fZnc2t2e8nb241Z+FF/ehNc7aIx6RB3lE6+xDry/L6/7LHz+IxF9SJMQn+yfGx+sndo5rCgJTuyd3BwoE+ZLZe9p7M5Jy0qWyJC2ZNtSYjBtPX1DG2DtL2QXFh97vBLM7XG7Pp/pJyuTz+FV84ax60YrFJWkUNpS5r5CVLh82ZO7PwlBUCJiaWrD2OeAdjXJHievxk9zJwjk4+722ZRL/AL+ajBuKS3DeJOjQjS4w63RBGLA/kvITS5iaKu0A4da7bn85xol+9obd7nFaublP2ndi31zvciJl171tX1TgpuqfEn7Xl69rC+7Rz7xxpueFtac84D64vxDO9I4PxjOK/5I7tK6zbP7diRB7dpCtUg+xObOhJwxhkJjfcOJ3UMs9GOweebSrJv/xbr1aLN+84Y3RxZNbwYs1A73r7F1rE2PfvIPHf8idz8371ZoAIfd8MajfdqaCm4uQdxLJYQmrOdbPtXEH62X2VNYhKq8WzyFJiCSBgIONZ5WgQdsGN1mGcdSIph0H4VEg1dUPQZUkJpdewwDPFC5U41VuIlseYGA7uAJmbICpMYzxubtMWBfuaCB4nJBdbc3V6K+d0M/c6d+80M7j24ZRLS1CCG08Ot88jJHLT3aOdQhbhvypqvrjjLLSzJ+qq34qGesnMXVxlESSQJ10Eotp9sVikLDM82LQWxwI9m9I99vq7Xdbv897ryPdFkc3tkn3YstZ9yurXwfTqyp/fzgLTimhbfhFQlDYsbSWMBUfFQqYPQN8jX6Qz5iyo1vRi22+Y7jg1uz8yJw0D1kt4SDrGsiQOVjpn6Erc5BVUi6qDk6DUMqrS7K2Uga+Orvy1Q4iZtlVDmG/WP5M/ifJbMkP8ZWve5LdybJNT8SDW7ZYb+U/w1HrAsJ+LoPp6X8YaHo4I64ZRMhuuc9tCfdqLQcZ0T8AGESjXjcxDpqr0wlWg13i2H+m68fiPbolUbc61OuyEhzWz4zXpdzrf0cdc504X1461TLIyvSFreNPV531KUudr7agfo5NqaK6fwUfeiVqVoJUTX4HvbWr9dVmNiSSRowH09j4AaIaDTB9duoXtdj52IXYxdilWGOkqR+d5n9sktoA8nvk9ZDfq/o2InwYbAdGAM3gndo4XQ/cklcG7nXn/fu1xu3yK02UUvsSEmrUOLUj90c9atrnbVJi4JaMD9yr+LiVWqOzBnqPlwdu4Thw75BvQ+srx3doKxOTtNPnpWk0O35NDTiIBulT3NGvTFGJLiypOk60vSXXAoatWF9phO6VfmccMeeHtxcAIZzZcTQxuDNe238LWr7hwZa9fcZw6GMzyOYXW4l+YEtSs/OKuGbEnphfSN7P/o4Wt2zaGnxjNKhG/GDShcnLr2Z4Vzy0cBg0nDfFoQXXtgJQzhgGtFkMFBrDq0LdhH1MqEMhEhZWnk/j4F9LFH2A+m7WiHeHW+YyP/FSGKz3tjCOrYV49ZSp7VX+BobB64A5xv6SRi66aE5xt4sYRUkC8Gu/q3FT6vdfCnrUxVFGJhJKOxJX5Q2vMyvxMUjTd/NTUi3X40Yfbr13qeFE3Lp3xs2NL5YaxO2Ae+9twsGWIPn9BJwV9FhbTZvWeIDJQnEORrOlHXfybGkLKJUlbTg+IfHFBDStfLqGHQKlQlAqS1pjwgKG6W3lfnsz92ji7mK4oCypSyINSP54pb3SuhqLgfBB2LRTAHULTzWDorKkC+MXgEJz8V+BxSDMXGK/cotBprn7FkgTPnfJ+By1eLqUuQiAv7n3e+KKGtlW+9OLAdSgnmlksKC5HrQXJC5V1hN3Zn4cSBQDkmZksJ31jn1PrHu7TxnQZHPj8Tk1aVIy33gFnQUWu67Ni4cTWnX3idQxGIkeSihLW7/YAL+Uj1n769iTIQM1m/gUFoqXZgsjDVtsObDba+5cFEF7Kb47VEYgzqo1R1zSyN0agEOnkr8z+oxCzG4zZ98MGE1DTc/0ze2Df+Ha73fWCV3ssO82nyyUpe0DdkgQqG6L/avFIXzSY0CWGBdjkG8fk5kEgIulmcAHTLfFVSzv/GH92OqZYySrG4Pp8g5F8OiXKK1L6kXLVNQddcV8QHtOPynE6Gfo+lf/j715RZ5ej3f1H6xodaV5UvFbE5fsCaB4jLSHngotu0ttv8SxlJeWOx1f9T+ikfUT/SK3Na2jwfrgWd2/TJcSffLuITdxP2PDvfNprWNuCYCOhlcN0PlGovLYU/lTkRXdwsMukgDaFrMTegyGp2n86RTZvtSTD3urfwFxwkxFXxpF59ETKjntY+cQH2V6Ik2XrpzTwq8MbWWGgW1D7myGC3qMknQKFHwBrX526jpN4wPiY7OjNdyMOjAB3tgHvTY0x0tY6vGvLQgH+rM17PMuYxmg6/v/lWJhB8ZHjO5GHd2P67cVAvzHfVA8N6M5TIB0Odnb5Mbru9ZwSImXALzM4FS9/a7cMUfJUUMY6rycemRGjHP9V/afHPkgYrPZVtHYfnOZvRknWcEE6RuIz8axr+lQ+jfNjZK21JYJgmfQvzgo6pw+QmIs/L2vElUBjItmquAhTX9MKbBtvNAlc6r48dNW3yngDuh/MGJu0b62eCrGI3XVl7dSM6Rym3IxPNO6ieMrM04/h+TH6Q83S5Yj1ukN1sQWBlqQD73m8akMrOWEs6cJ9CeHdzd4GWkPItkHXcyjf/sjrQboB1Oao8vx/WdflrWc2Cv6bbcWq09rdWuxDLcgZC7DnzKwliN+b8Bajgw3V3jNUBlYy2vzvQFCOHuuO9bkZaQ9+hv6oMTyvr11DHoytIP6z+7LKvPNElqRsulnZGqDfT159Oo4OhutC935i343R1m4/AL/eYKxwx6ac1bBUi69lN56T9Ji5XvcTFXoaZ+8hdYZNpPE6gzP/XEKhKb6XbR72nZlFiKeMJLvZweMbx1L2ud+HkPx07MX0wsIqI/x0Lv19OXkKT+bCl0s2mTD5KKnRSnb5YjKFCu2nKhOsbnYR6LV/z9b0gP4R3sPidFppSe7Jpsr93iGiHncz0hUXDvJLaIFizmXbeuZHeqJTOIDUIBR/3jY49O5FbwGTDOS7yX1CqQkTUG3FvgTU4pr6UM2xKlIIJ15VsvK7NmjjvK6WBufn8vjJCANBnYYCjXt3imjGFLE2F0JeWwJxl1PX56VvccOtniFOe0LtiSkQrbEfNsPlzqPKi4ikC2gdDaP+xBeW9/bDrsUCT4m7wL02H3GlCXAu2yJRfH6StZIhwSNUmks9Qq2JO3MpVGYhfwlau6IpYDJeBCe0OqcNc/evlVmQBhosks/kkEpBREOQs1aihgwfnbsfuZ5rj7JgwGvYWuLIcXfU+5GcVkE0D9BFOPu8WqS2BIMx0b1AZ5B2/tLLRsjRNrGwWsln0ImQAI54qq11G8HVj5o+hKZHWg26XqrVhsIYLjr4oFw4Go9ai3X9RyzoAeckv37m0PHEbdvlEJfJcwUih4qq5uBK7davcqNdPgswu6eiGwExEhHZAnwEabONUQpmXI4SJM0P3zUkQKZ0dCHSA3i0lLPCEWRb3DtA0gBepRaSvrklSr8f/BBf9dd/f5NdwzG9D864lIYuQncszLGJYmAEccUMQX9BeHC5RnbRMKu7W6LX13lVlYKcRarvW6pQByTb12qhTCMT27XTSEsgbb+nr4ZlEckxH6aZRso9KOvtBE2W++cZKmhxyAJS0VYNkGTESHnPQ9zlE/sNo/WelJZjGrCHnKbrERMJGYpKvjmxmUBxSLV84zY2EAU0exoxC5ivI4jIcXdrFMFV/bSgaUQfm1DJtU+CrEChaggaLBJjrRVN5JmE2EN/ar0CoHbrOlsGgkRVC+tI19UOVcXXn3BXQsEGJmyHeyu3VDjOPYeosAPow2gAuwg9f6+nFvJdkxO+1po1ewiex7WblaXY0HgKIIxBHsvFuLJZkNIDeQILVyQozrUTB6j605XZUHZJZcbOWrWKIfkMqMwfA1UBlkuYpsObnAqjm0SA8PwCpOSGjq1YJkM5jB1z5whD2Cc6O/TInDq/tM+MkZAIiZIMsIYnZqSADhTH//x8mHme3JpNIjb8WRSXJ0YodXWg9WZ0Tm3D14GSliw842+P/JTSnEAICx2DvxM7LcDWwlKgea7G6ikPq9Uw6/Ypos7j0SsMj0SUKoSgXa63BJ46wq+/QLcWKvLIRFcijlA4m9e9vl7Ov6+VDJPIngFkgU1XIrhOzmhQ2etTZ4lxByS5ftkcbDe9TMHkvWmPWmFIURdNMkt+SHhvCHiNy3UPOOx0ZtybGYWC0+Z8eLfTIjte4URVsXIGFIjKhdJZYSAKlDpfh9nrhFrdc1k6HHCRmpdSLcMD1nNVADIrMl3RW9QEQ80BUzbx2J3dovZe6OXmkzlFK4xGg9QqN2h0YEEGnWgQkPlnsop3KRpNhxSLePTsyhjJh2ROwiVcBBxuw1961yvhywOHooEtFnK9ukVu48bvHODAVevAYQhfJYGUWvFABryO13Jc/lrGtLQzMxsjTkqCYAxPh46iPsmXF6uCj0TjIqiWIpkpODuF/zKsO5htMZBQwpxkhBhbHkCf6aXWaAXhzGGRmtln+eyKeuOmlqqX9QOjNiiRwVPZ7l8INRqDSJlFZLjf6t7IuHqG6Ae3XUzGRfn44vH+jXINfBYC09qNqsPUlrKQ9i+UsvLj2KSjMdMqJLGZCB5IpNOmG+sbRDMojxDQsN/W8yfsxKFhSwePRHFL2dpUPIrIhFiNkyS7dtfMctOX63C2+l5obGD6JmfuCmnKnOWVfx/WyzB35N23trzzMqVaxpHp7PztEf/CZh7ixdLdC8pey0AndAcdLsNc3jW0htR3i/bXbPvfOXbHsM/wKQ12dfgGlWYL8OyQXD8t3l8xcZ0kI2iotqRVl5/p0KAwEFSamEuPBYB9y1M9Ioc0kYY2iwAy82+OTpg8JYTijfzKzQ91dQq5XUkSrhFIfY+pY6cO2czhjEc+qtzJZNu8QFhTwSsLzaE4HowQ/wuNktTbivFsEUZVOx/drPYvVDJhQhD1+PFPabLt19tJd7Tn9oy4GHzyWsPNxga4dyBA91yL6Qum+5IcVZNxx1zrsutxT7sihmK3MCfWe2KNwlb3NRxh7nbN3AOse7TNgBnBkE4NTdyc/VoOe9B55Qeg7LOR5DntjgejVqkQ/kwXG2poV4iN9CUMQwCJBVkrTs8ankyYQnAyX0VQjcvF7yfmLDPq0qM+djSrBDa4AKLhWsjaYX8TtIohggb+vqb6p2S5yb4AWkAQDzyIdc5pfqdXD5Nm9puKjg0s4smxT6DXcjEtl/WCP74HKcs0SbcToW3NDiNrDrPtdfNICOT+qiBKfAsthSJ6AazZLvpjTQDoXEOBiH8uGZ8u569Nmq3Wkp7lN5mRscu7a0ei7cKWZwxVY0HgUUK2Alowy2zMXUtabowme41A0ho0E98v93p5mtACic8RGqAi7nO2REXNq0NteWNTW8J82JIzxJNlREIS8uxmj30vCFxCWWpYR67RD2jIsB7tHtWaVJaM4/hbaAMvsFf0AbgAGdfghfWhmCbNvTS7WpDF6Adhmq+3tCG9mTyDJUuZGMQRUeON8JBd1sNrFXcLtIiZIeqFwmQy+3+VHdZcyIQK8C2dtsr1Gpng0gkxsv1kWW3pC/ixsiPxpTgOFK7P0cripwGMWRn2/Ijx/hp/JUvVKtTeYjK/S5sGsT7boPRWUnF1QI7aPRJF3H+xKe1Ehb1/JWwlTZO/rvCjgbg0l8qlLW5r5hixZe5eC0u8/2MNzIn2dfkFVGUpvoD4trsfMETBY2K7iIqA8F6XSZxxrHD/OFi9HAGuC+h6+EC4JMd3QjsFaeR3utuM70xuIbc6Ufygh/i+NJX/l34ISdOg1Ej2+PIs4TLykBw/Ai7xB32z0Ply8qX1V/074J6bL9mYjeekWD9SCanH+JMOhYUF/L1WJVIyvyt2k0K+3cxwDq/ugkL7OTyVKCzmkqHePAS8HNBqhnc+aDPOV14n4w5voshO+cVOMlwMeFF2u2u4X0jPf7qdyQHl/g6ScD/9d23rLsJd9bQD93Y4YNC+fXKffq1c3F036GwgeGks1L2jqGKFaZHCzL95T+L5Mka3U2w8/uKi+ZfpqCbLH5es6YsQu//C8TQMK8g3vA49E1WYn1JJvgwocS14bL7k29BIfbIedlrm7CEJC8w5lc05D2XpyJ1GoOG12WPhB6ocydFqyfmgkV3ahEAW3U66bMuxAOeLNLHb9utgd/hwIvbnHTuctZJiOsur8+6KteYKmubrvVLw4aeWS463FFs1cGEPbvj8gZKw84J7x70CFzxpexmtHx44b/HtkxepLR8y+JD/7De6vWEflbd3Zi7D7+wVG01wUJI2reGtyMbm2LDlDAYgbugKJkgn1wX7EnnW3mpfqx9jOW1vIpd+VRQVVlWhTgc+2OW/asZBVQDDP7CbfatM/lb2Q4CzMUalIkU+g3qCJ+B5aO3bccGrHhX0+GmK/H1+JuB44N9xJ3BH4cGaLeHvhg+jz42YhOHrIdYz2VsYbwevZ94NzbA+os/sApVprHPCaoFJwTdq1F1DD+Fs5xzbw2i3cu9KHYjzlTKEh8Tf1xnN3YjT+Ut4K3nZUoOS05L2tYv4Tfmi6krMr7aKNHXC3s3oeVFWRdl/Uqk2NzO3qAicF6a85CqJbcn90bV/7fObfO6dm4bEb/Z9uP23ry/qd3ckRV+qf59pyF2bpekNdtf3h2XO+SVhT/unt9TVtYVXSVRVqPqmTt+KTkp6d47n4zioWJVsbO4o3i0+J+gNEgKugdeB54p0ZU8LN1WOlr6pzKozFuOKteX95RfL3/KFqQcUguxQYaQ2A85A3kX8icoB/X9wUJj0GPQy9D70D9XWCuCFUsVL1T8tbJcebKqCP7PNEtVd9V77bAnZtnFV8RyscccjJ+oXZ8OenYhabMQDLnhtz5DM+LGZU1ERcc2USImtY/fwVG5+PJHjAEPMcbQYSfCGDAkEm2t1cvHo0yzfrudkJKWdcKEjJq94pb69OtNlilfiSaiomObKBGTWnd+i7v37Ew68/zr3sSo0WM3seSYyVOxJgKxuPjxR0srnYygwUqIERbJUqKhtVxuHz/VOu1wWLUWg6acMSWtZCOkmDhn7rxRxZFIBtMbU/xJZz5Y+NR6avbo2btv1XU20sH21dJgM10oUbGN8VizZs9TP5bWgGsh1QM7IAABAgBciWFKOWCk8u0EaBEpEZYCDhtACCI9XFt2FNWeJB+Co7tPNxlPHae6lT9WB0++Wq4PWwCg10u/D/n9zVp2e8rQ3HE/kJGpEtsMcJ3fiS7Hq3MDY6Mk4YebQFrSq2sZpvNpR1m3nz8Lw0BuXZRjE+8Oftp/F/7nKfFAmfpn0b9wS3zZAEwSomIh+gLC4CuYG3wIrh3qho9T0VzeHeKULu23f8ZtZzMyf/4gUu9RwpELHXLy5AkqbCzrTR+nnc4ro/ugcZH2HBmcZeSJn+HK9XivXq3ROUQ+VNmoFVbCSSiv2WIhN2r0qURRPWYH/lenJw63R46tR2JobFdsq638QrN5xlT9/VqgB6f3rsyX2LiwI9+p6+UOQ3EzCJPSzLFwOL/E7EVZUKHiAywYyBTylZyJZlqDjpyeGVKjxOzYvzHRPZ5QSFGuOcxeWWd1i8hrqktJdPL5l5j0et3K7ojB2ett8lRpc2SiumoZcNwvUtrEaB165jkwJEUTI9a4FQSxarGRKJkr1PyUSac7aVF4712xoRzZ0myebCUelHGFMBGhjYRCpcVqPSOCylFxwCXs8hxUWZpoohXQFI8WtTZF/2kaJzSbFOZluEd65j815XSVtiBesFQ9W/oqostqakAu3zIpcJAqPmAF4ZAPaJFFvB+IU36j0uLxd+v0YY5B8ntbtSVQSft1TicdqbTfsoAF0aOtIxqHiOA3uhKnqmbxg2y3o9VsJBSU540jq3MFNOj2kZ/l5dWcE+8wzO1sQoStGx/6fIk1Xu+YvPXXyCM+jH33VGZLkGcASGBUZzAg8O6iV6g4aCz4DX5XrL5qJXUNeCM1axX13erEz3fsZrDgnBXREg1rNO7tRapNZeOs2B0v9tAfplHODAE03l+vEUInlbTBR5KnXZKM91iML8PpPhZhh22MWDzOmSGExnQ8n8t3KTCkjUWnjcShowsYxpiyw5gJe0do33NYLJmxf1M56r2CoazxVPpFgVQmWklnUzlTqatxwSSXzlkP3eVpkaZ8QmZzOP7OQHolbhbQl9UPMkgyOfi2dxJWMe+FFa1d92kg6WkUJajs+LsvM+hqpawKQTAoZLKpaMJ5atTtiixrcz12FQNXCoLe/WJZD7g3GkmUTAENehHWu6HEAV0Hw+TYzePyB6dwHTf9rNcLXs6svP+MafVUehRQ8EVeOYAdXJi4bO5tb1WvOTixMKeuA9dS+q396szoWfnhomON6fQ1ZOFaCniyBDeq8RPrSk7o1gS93Ec16gLXEHK8AVybvvuGweh1niIuM5NkHYx/VYxubg5LiomdsFsa+4ueUvMmcYqUKmN+XiUWdFCn8qReS4RI8Nj/lRF7v7PAjRqZsZwzsoTrprWHiZGhQqPij0y+TqCRfB+dAFikvHR40MmxziEmijuugrHtJbfzFJUlJUAAgc1E6VTh5YOxV+DBH+Zv3NeAQR/J94PdT6L91lvVC0zm7lsHGxUotrU2epmlzYsMLD08EQM+a4zPLLt65gjByOeFUiydzBUYwz4QhAAwjhBJrb+8PwrdcyyN6KQPXtWCzHo0LV2vIoF9+4XkctaRHeV8DDBI8D+S2hSo11ewtNcuXL/WJxOn43KdjQM5SijQ/9z7vMFqdybWDpGDjeGBCYPIDdNGBL5qBnShN2yUxdjTxxUJRObpY9D3zkpZwGsvdzivn+Nd7O+/OmwBgPjIbYr3hwvFgjFfgxAKf1sdQZc3+aCeaXkMFHYV5BwjVQPXNaPn9j4+TlkU0vpMCuzGLj/9qqTyUvV5YUExH8URGnT4HP5JrQomHHWQyd6m2s7B6MmqWVqub5/loq/GZGbEmNsUoKVN47QMSbksY5Jjpm4stkBQ86YMYrbjs0a4zOWB0fe8rI1RkSW4KxYJydJYIZBp7zqLlckS3Yqxyht7qEJmTiU7DS94wZAkhF9bspURNJkG3Mb5SsAqJ6suODCE3mnpCdtUa+yAOd1n9LhMhZqnGzxcaram5FfuFPUq6AEKtVUhSzTX3D9i1ar7qU52MxiSMI5k9fIuNTOiF4OB90F0f0n5cj2yWtM8NqvRSNW4Jp30eSg7AjTdvE2ylvmnW8PSWmd2tcU4PChN2wkjmHJh+T2h+LSyRtfzGYMuuezIkldsyR0dHZ/nTBWbKnZQU4rgg+PQrEUgV7MqCsk1ZCx2WStvz2JY0YRHLPQFJLw8Y/y/0OBSdlkYdGgiW1b5lekQtq5Dr6/U0kQb9CQMOk1qu4yJZDhnyhOEl1S30yZ9rjF4b0NuZxeCqgwBX8h/VOYHabH2rSWgVl9XWdHMIN1oAEJtzyNyRFk6lahg+Yqu6HROOo1IYqfk0WAyOepOnzG/50S2XreKO9rbPyFqimWsU4FBQ6Z71hnHyQId6+S8ehciJ2wi8bWVGjQ1m3YhEGMhYEga23Ju8GPpeS0fvjJsqZCQ53l3vVCua6+P5ofCqiIiWP6URZ3OzHqPRROOzJnSwSFIUD5GxKg5pg48WXXV5PKbfYAe2KuH28bGkZhXvxeLXZLl6fse2noRXomCIYkH9xbfQJJ4CH5mJFZivSx2Ul15XH1FrxnLxCKxZFGglB61mXVJue5I7NKQ2r5Ejgq3wQV35qAH4uAZZm3dei1L0oDVOl8A6qSje17BhDOXgNCik6+8edRc7apTpeJA0sMTVdmtoiCSub4amfPFfnvF4HbOMdCIisY/jytNECDRc2VcfMyRzxCQK7pKSzTKijkNr8fTvsWDxaHAuh09xNspArgc585kGWvFgfjNRL2OOFrIpk9DbHahOhR5SEsndqZWp/V0HjlucY+no+EEhiVDKBDD2dKRXZYTarDPXCRJBtLH64qe7Ehccw8iMDt9cqZPaxdkCM51rKDZ5HqNQdAs0RdyJw7tCNCzRt/US6XCiWOZZzsdCmIkgw1ii2EFdpJpi9mN5pCFhauu4NBZfCyEkJN1mVZixJqBeYAhaaLM3oS4avMJE6uK69sEAwtCWdcCM8Ik11/WbQzLG/X6eCueJYaLjZHqNh2WpR9slm3Y5jvBF94Jfvo0LIe5RBYtWlttou+8+cerPDCcY+eGijVqEn/EL8v8qOm5N3auO0xivz/wH9ouzplCT9cJYLPuv9pNa0nnr4qkGlGWOnPobIrKd9ZzM46mztaxWTVRuWFYCwNAD/R7NWYHJ6qDfldg5UR9DUgsOBV8Xrto5PzLYzajSpOSLBNWQMhWZIkFTlRDz2bD9bKt9jceCwo+Fum/LVO7OuvJLrjh2LhRKezqlnA0sIedjrrZGFjg9wpK1EHGW+w645ltlhObY6jqEexs0HYrGJIYAxYnP5+BrGaNpeCcjBudX+HoMXdpg4fT4KZVRd+5q9ZzaORC8qKW86wIvcnMkNZkLC7AZZWVqVFkemGbgpm9bQKb1ihVNOEtcedis8UADXl5u1hxERiLQBOJQGmRSi7GdkdnwReOZiN2OC/vnd66YJ1V4IBnBGRG3xrxbFR6lQW88FlSBFaoHEkmlBTS1N372hzLaljseTP9p89Zog0W5A1aaVuMCuSg0uJPNx8bbiAL4VQqGxdaCApkLZ2y3+9o5JZRJd+4E0NNECCdkxDrpiOJ/fDr53XCoH+Rr1qpbhHNfR/9jTqeKwtkMqu7cQ6JekiaCz7T5VhS6WQA7MCaw18NULME5RAcYlwVXND1Hk8DFLjcxF0DzYRgh6oToIYa7rdwkCBV4aeqJZgydmebLeCSfM5/6+a/vqlrfFm0C3eaRr7hb7qQjQCC5LcfvPdgfnnPq2X0PiRY24w2ksYQtrOibP5bdZPRHGCAyPGfz7fwDuIoXnCPZEKt/P2LhOPSG5oPhp2l6MRv2Nuf2jj/Bu9BLnm9ZIPXjlO9/mcfGPw8/D8w1RsM3qz9X0iuYiu2EIkjMplf5kOpRMo8zeKSoae7UIR6ReSqhzqTSHDBWipuMu47tXGmVwfnWTxWX8ikAgjXq0VXeFXi5EIQI1asgMiSFvMr8DvXLegjm6Vhcs3+dvRfqhtkMhW6jmy9WYmu9vsepAUbG+pVQhltZoPmg6RN6ziNuRA1+C0wj8V22VixI+rjQd96R0LJGc16+P4IhWW6p/m93lJN2+NqWnLZCBhQgnfw7lJWdTVvuNQn1hq0KsW/O6nmz+U6pUan0+U0COs1CV4OzjNMcpaydF/IqaTHNyyXommxTCIa8tx3OpJczCrrE4MKdDodkzGzISlERBcnaQyU/JE5CbQSvgKzSUsVCiVQKqssEu3k46jHOY4YZvpOQYukC0Q+6acANkIHHVDpNGDZ7zFE7smIegCJsvnT67ToZHZtAoNiKGLJKJMi4sXzkuTQgZYxmoKjs5VZAhy91pRiOpHYr3llygwmduKRUDCSzOkpQIW8hCC6SFp0c84XPW+ZQOKfKqksZ6RcUHehGCMZ93N2MLaXjEtSNfQ7MocnkmmM4hvEMeyxCKKItLE4mIJZeUnCDk5VFolO9nF7MltCzBrhILGB+D2E1wfTclVw5zqZjpjba/pLZllZljxRqwtuRvAbGTHEmeH7+UpOsnSnCAlDxld0nnZ7HArnNDZ44X8cwY0XYjkiuVz4if53c2/vzTLYSwh3EH7EHt5XeN0OKnKgKNcZfvhGo8lvxl4IP49AGykncs1eohPfUXMyOWIXdkUy05OeFeA0L8nqMfd/NDLd/c7RMQ8E0dPnaz98PbLQCcEvahwJIAsphELMa6CdSBbaz0V1K7rcRQ/hiMimWWK4YeUKAu+aoi9wUMqzXEmpZbPvC3G1IyWuBjlbqF2XfNdXU5ODSginGm5HuhbB0xDTVavRXVlfWi5E5CKAJcm94VnLJbhvztBNq3BFw3HctaI6XrSBSYZ6ZjbtgTXXmxyqhEsXrMLqepHod2B/UmsItBAh2tTNhX2D6o9EIWdyaYe5yxY4pnnN2nM9MAn7qpHCSVxhrpKvk+2ElYj9PF/c4EI0CjDBQ95XDFQT64z9aJGNi9/Mu3gcpjlC8qItkM/+7XBiSxxr3xoihpmW30KmLMAhMR03BbM9mFz3flpucgjvF0ky8GKH6Jym6YNCak10UIviLjrQXaWZTJk7RZZFDUxkkOuuVLeFmmJea1n7JgQUFKIKBd9M6o50t8p1/wZwXBtPvFM08y9yVWFU+/h0vU6sW//Nf+d6CC4GyKbHvEA7GB8CQxSiDQpCMOHSi6buJ9qAT1b7rk6Twhd1iHeiTIigKEWnNbLmonuVVKggavPyV0hCmbyubSs5SdpzbMOK28f+QGYGychnW+musLGo/Q/dMpOD5tfr8vZHfiBK7jI5jl6/8wc2sU11gTGkVNbKfdtQKJHNUzHRnNb6mz/arIeZE/w1K40C06We0bu5o2MTh8VzvHq6WGM4FeYjb7VmzKycVtW01Aq+mWUczlvBq/Qs6FT2SGBf+lsu5aTdbXWZLBbNhSac31duL918fFwcTWwMx5HbqcX0FzOmgYFnIYBIzGFyNdHej0lmr14ASN5nYrHA+V7RkS1o67UuU/AWzQL6l8y9yvEUdrr9C8sm4uFH+qH0y6d4H9a6xtFfD0D73hVToEClyKnAZy6gXzN39ep3Y8DjT8fHiCMdcAtMjzI+pXaxKxj8d6VrvVvrMgFTQEhiQjtu86mit7RAwQ/fsAvrnN8SGK9Epnr/aNhbo4k1TlIz8DKormfSRlI3yQT0ejBY3PDte4iiBxWhrKOCzX3f/rES+9ElH/xmCvBJFaZ+yhOnAgnoPsWpOrP7mCeQjkJvjXy6TgTqcMGzBBqr9JtL70Vd/G571lbQdSiOvHZaK3v6G6iwqEpc1zbS9W4ABBHeZHB0RLUXx7/+5dp+3btLtDKbpz3vmAd0UZCoT2TZN4sIwckLqARG3Zp/cPuHvrcusd+9Rq6LZmAs0zrVrwg6OQGe8ZsE8A7sCyVame7fFj6BEQ1k3yMpdy9HFvr17pS+kN0M/fOaikvrbSKK7s20hNIFUWlRUhQSRSykwyvvslAq4HX41Z4meS+9LEKhmhB4hjN7P6pnZ16hv+9+PEoHZYQV7YKOIYMvRAOXWN3vXbCpOVt0wv6WgyUqoShgMzERZesIHYnm/2gxj1y3uarbIrFNJBe8umTqARrJ+bqBkDDDcUkvTVTjnJVNtxwDfMHYq2iM7mob9EVW/6iVX8kAZJGNiA9O65e03Unz8kSUv8Fr3im7YngS3CCyiD9XztnY5Ko2XMpllllPND6q8WMt4YTPNZo3LFTLKahmtbAiNw+iJPcsc7DsWIOdFol8y9wfJBx1z6oTnBxKDzz3+vDXw5LKSdUAkQ3RgYPqJoXAH7ZwkZiTmaK6v2kNhLarSnJQCTxDlA/cUxkY2s/Y9Z2pWi0NQScBe/msWNAgohosdB6awTtX1bXBNhqQit98U6v8wIQTmDQAjST8LMbWshML0BHyaNp6bCkIKsta31F/4GsL4fJHqt/ortjBv8myIIgNRbhq4VRper2PWt610anVUppChzXbXlnbwWBlSEKgdlQR+sj08nnURx9N7bLd/Ufod/sK8KeykOqyeYGZGz5EmdigAi/K5xXotwpuWriQjdQDbX/2+iRwgaOpkLIsQexiqfS9jfwC8/ZXGxGadeMijvG1aE8xEWaWHOZsCxxrLaSu7QWmiIf6SqZGp+LiQT0k4axMKGLKlqUu40jRumKy8TgqVL2uYiRMNCKUTP/tC0MUknDOXnHiRGxZpzSRK8zDMoOJaGWxYDk0151Z2EED8jCaU9qpI+PKnRwPyyBmYhoWa1pr1Irktgh0DH39AnhRrAxvZBMwHEd5I8MmVsbTvNqHl7TG8a6rluVP5jJGUGIxxJkdSeOZTMcycxvXqUGPgox57498+xuCW7CcnDX33/3zTSQoFqSQyvEpfw4OMTQfNNj18qmGFd2USABGJInO9DmDW7gYJ2bYeUqevdxrS6tcuQVJR8Tm2K+rjTCHs2QwgN76lL6CpzijvkC/sjnoxfV4n9yBqGTGjrj5L66cCgQNHhEd3EU47a6qEar2r9AJkFCHkkBLvKMT2JKw09ETXaCAjiVE8EO+kxYkcirht2aPguALoDKtMvbQe5ssV+gFgIyEAySrOJJ62mC3ex51vDJ94t9bw3m9PEORk7tPUGSTBoPbnzuY/gOU1ngeBb6H/EfCtGiOyP+XtDmVt/zYoy1a8EOlauaMd364qSv7uc6/tRpfccwMniEv0xKTJMv4aZoh3smu/NGHkxSk3P3vPFB/yfzHqHFw7rtTjkLsFnOr252a+tXHhWjtyAITK1kmYzVlZZDlpyR3Bb0Db0UU4PyELfa+/Dv1RAfxoB5W3o/p/8Q9TXyN33Ar/lk1VhB1OvaeTb8gdx7YPvfuDR3AFADYyezi8d317DNTh/6JFtU2cMzOqf7osPmVBw7eDNSwSUD9uxIu7+u65/ubAL1TwXOS2X+/u+mfJFr71wjiXKKlrtjl4AOvAlxwzgL/NVmpdfDxY+vfiIMJZP+5tqBIqF34ij1GzLBbjIA7Ce0JtPMd1oOstu61/uPVX2ER0WGrC2poAcGoWQPkSqI6HjhEOaKt7PUsDTkxcRNUH0cG5VOAvbjCt/pmBAFt9/2rVqjWqU+Znl1Ak6EV1+leTH3txSaTv/I/Va/b2qB5Y+8xZrW360AmEkkEjPKapB5k4FNikTOx1EiBC4aJkUbCI/TqeFlttUoY6ivb5a09JOCwqpV00Ytj9VrE8FGRy4RCkYj9eBZNTUviWPtG7S1vKMPrqaXRKKjr/yhs6u5mtzaYQdVYRTPZV1SKOgnzWyxXGstGQm4bOaLZNOgjjvqcOapWHMvStM4R403qa6870oPDJaIS8rZ8Ei13y8UlD6DOOnB5MupJXNEjEDDRaNt2n9gZ0vl3paemTSV/OJ7OS1JJEBRjsJiOBf2+tyAQQiRZcs+GW8rMqYNMtGMA6KXiYCizcoYMeU5QXUbFQW+TEz2ihgsCQmPdWgeCjGBkbqrup3LO0WuGXn5zjebRzVancplYqrpQzJsmN6dimWwqqrQ2x7g0xGWXtXV02Ek80g+8ogacVIAzSeC46BYM503o/s/wQpVJp60Cm7q+CX1MtkfikZ8fpD/tIIyFD6uwfj2Rd/pQqbzv6jRCqT3iFwuZWHEMqj9z4X8gopf6FLZAHVwBnfBao2O26iwpJ9EJI2ihbF1kQpHsMA/aaGFRGkbxMN696DQqsQF0spHUW7GXKchRWBKjimRlPZIZ+7i6kOlcL421bwkY30jCwSze6tVqQjzOjDKmOxANesTEClA/k1l+WcM9uefKddmZX+PhR2Kb7889+A/JocQRkpjIJbXmOX0nEy1aTf4X87IxC5i6PWkYibhyHAvP2Sh471cJAmaosHhO2OeydckNpbTcrAyvOp3bKg0W+v1ZbSsjp6XtiFBp6TtWt7xMpVggGFtZ8PvDYZ8/OhXz+2OZb6KkIzIzpMOgUvW5x/ONas3gBaZPgiydoHjR49SPPILu8rvJ2RJKvVJe4xSUHN7p4YhDv8w7p1CE7dhYofRWsjxRcDdYIerITG3gcvCHR37FlBB5obFeFFuVzfcs4ojS/XsksQLuUuCYoJqWObFYtdJ0uUel+kcjGBmyKPIQTtoRwpeNdTvMZ5nK7FsSbMAxCEi8vJFSU9W6x4w/B4fH2HWu8pZO5D5NU8SuiHtlghLQIUmcfqeCikrXZNV0VQIvLw1byqB1pkgFdnqILa33rpJwfzVSeYskSwaALxIbH1mCozAcD0aWwia1eiE8hIAnqEBNZJSJEL/mzgWhIugg6npIGneDWSXlruxSwtFysVOq1bJY78WB7vJUn9bOK6wfwxq+JR4c/SCFX+DKXNXhWSUZ1dxWHQ58z/KQp6MPlq/kJCUairxcdfq2nlCLVhX+jmCOzKPK5qiuEBZm0NCMWQfwNUXpeDcL4RA8eMWjuTGHr0JAUHKzL/soqUM3szhf3lYvKDn3JVhOCaeKgr6SXAmFlgPpglAgcfTbxLKLa6gG7ZpwR5c4IJi1wukHQCXJUmU7hXA4Eh7fabnxWhrc44KEUqIkq66W6e772syCVYqmyazsU/EYJfTh+LIHTFBy7E/mlaAMm7GisEWM3rzBiRKzXB7VXmx9M/zlJTadmIIrdXSzYeer0ztKY3zACWhvMxSNJOf6tLlCBG8Ck3pHPXOyRRUKCzjK1sW2X+2I9aPq8UVb6rl5v5Ljk2xjAUCv8T5Mx2JA4nZykgQVPAqeVArHN6fR2ePEtZ5TlKCMWs5jcr1KpiGrdZhhI+zo+fW6HgjY7dhr0CvqmgB4pkWA/9pMQcWuATvJCF2S7bdhsAZlfb9SUhfNlQrRSCqGkgWeZ5gNiYVx1s9DUJ8BORVo4mzXiOo0ONk7D4ehEPAj8qukucog031SLp56i1752Xpd7oNmqoAuh1z58pQCie8+ha1e/TB9AvJRiIO+Vuyj8K014Gb6HAgjIJKLwNsPfX0Y9Zs9d1MFVS0B55ySeTvwBJyGU+V6UVGp+H9nbtV4IaFUDkeSfViBDnXBC7757dsKXbSGsE8ReEa6gSpce05iRSzWtpEFJiR85fQMbRRx3iKY+28OWxY4RYlkRnDEU7NF/Dy02uV08GDyqMla32P086vaw0GvzaAW0JoKu15h5PZoYo2zLb+QT0b8Pg4TZfLHUMFg7cn8eI7t6ALoAj+EY4Y2jABEijtjl8Om/0tuaF2GYdwpjBNdgVeHFxsYHOAyyllVXE/XjfhGjVFtUJJseyvy0eUOu1krE3FZLJyc2VX7+hKXWaHdFMEEnUo1dsfe2MWu3ia2+dxM7pVntQ5LYA3IolzLeHGCimN16fcnt+SB2EKdSrwauJO+2EmKK7Tj/Fpll0kRCFlTQjPMXMWPfRwQ/ENT/ozwPBBLKyxpkuLEUd1Xe6HEBqWdRdoclslBRvcvkyEz19eVymxUUgfY8w2jsjkIfIUhDuEsb+I5BK0+E8pgQLXKeO0UNZ6D+MYh8tKck2V7bDhdWVmjc+vtlAcjiUxBrfR7mhl7y2giPOe+XYGKkkk7tJi4x9hK01AyXTxt5Y5Bv4X+WEsZBo+eshnDd4/pHtwFjzJfsogmiWQinulp0SoUWhkd/ZAz4n+TckwZJW3Bxg4KkF6bpNb4lFFTgVe0gJMqjnPDkOEivZA+hLMGkyKECXEi3JlMs4nAn+7mQbUhokAVdif2hAJ4hBf8u0tEoDESlljRGkVSWsRW4lW+3BqeTUsbQoFAMOCaTAdmrLwqL4ZdE8Zot9+sMG7oq6iaDMvKou9aN0tGQmHfAm2laYuTnQ7/Jx0gtATSZa721ordNjmdZcsWjVLHZi/wkxyGJhiGIGzjP4todm9Ic+xYe+r19g2eyTq+8LkYY9NoBud18UcapYQQ85pfTsyFzeWLtD+TmcH0HE2CGTAcxfhnUrqjsbbk4MJa3swZ4Oll0qL2E3EKNamTKTP9fxYqAZ9ZLJcCYYTaEDBvKmKh5qxqE2laV+AxF0i2DFGciTOJoje9jnSrCcZTiqMyS8TD4XcGYixLy+ea4duoxHYy4H7Q/ClaMAihf6nDvS4Mp3qA10QDRiVTaSum4rEAZ2NS3qiqZiu6sgitK2Y7m0IyOFGsJEzwJb6yMmc3SifP2T8pKuo1xyeCPjcRb5RWe8Ox2FyFf1vZ3tEn1+SGNzoTIQEPSmTkvRa88Xfw8crbE2qYIBIi66k4nMQKvFRLmRTPq46dcqi8IlYTgZL9RjFCaDJmAlaJ0HessXhXozYKLEY6zN8J7lU9/1PRlZlLwBTH8QOw5fGAAXJJVBTwKpiJvdyvXK15HjF0qh60pT6stcTzn6aphK/QiWRSYshfR/x+oP9G9Kgd6PTzF7pbDazWDZijvKkoOZRRodVEwyfEB70hQU1RtICH/Tema4yH1LYeYJyKcyeYLjcYRkFBbRGcgW+CQikwba8+d+6n5xvT6TQ7PIFmkGQc9hUFNRURaYWnQYsEpXSMRgn6HqCAwSF/eIlldKUHxF04IT60OOfuYXj7z3tzN2DgKKhwUBOh/Ef+OoFMWEFOYMo81gO8CHIHc6KMMJD79OQj6r6dnVl9x9Dpo/omxWfkje/MvzhsFQRwSNhBOHokSz9CioOVhCNOyPp/cfd95vsJ9Ndb10jKdM++1za+Ev7fs+fBfWRpJNWPyDvQxqocbLnvQfYzoSW0pc98eGnbhZXPDR2nunylvV3gNTnUExgkLCUwMrBNOq+8Rw6UJiPu7Dr16+euAePXyQWJ+g6mo4J2RdB5AeSp9EmKVkw/VQm96g3okVvVz+mfnlAFLPKTQn+2irZg0vqhVp2b1Z2Jg9yEeDPlDOO/TOkmA6m5lJUq4qr6fCWaDDl88ThkBHKHDzkQT+CTGJ1iyMTTg1sXWLkjVRgKhP89sTaIPV/i8nczWO0AV/uzjmKRKDv24Laf/Humb9zH6gfAHkqwii2rAGG2kz6vafT6GDqWnKILM6sE/YnLz/WvOd+NNc6CTnLeHDcJdJyaLex0eAazkwKJ8yzTF3fYeguPUGoJmzY1Hys7w8NNz7pTuSduXhThheWJDUfikT+Olv5O7d250hPgIznvRkACBA5bmEWcN7eLvEcqv2oiCblsdsQqUCLWjNqgDmOqc3Jp4Np96XoaXSBgdWJ56TsWcjBpTi3ieGtLcUrA/IHc9z5xZ0fZlXdbmJwHnWCOk3REFsPhZ+FgEQMii+oDngLWmcg2hXeirsWUgjuA1WqGVfJVE8l0Js1hZlg4mPJPQlt7cHPYk3JKHic0g1alk+AjuJHsIUr+ePx4M8dmcHTbP9wjh3NWQtUSdSCrE2v0CjShD4ta4w3+Xeta/pA/EnJkPOpkmGoJGZd4sVDq1kOlQRGgTOreB3XTo4eezA2IBRZCkPBALOoUtryYneTIEju6+65mUrHhzGwip1maFokcJEi6wGWRsMNr7KgVNodCLWVqXIMj1REk4hK8cZrr1j1ePRYrVIeKQR0bwVNLznxvnVK3/aC1P3Br4MdLVgGmaejkpQ4QjACAe8GqKyAH+chPxrp7DofCRMcGMpCvsJl5o16v+eRLDeiOcQo6lzm7/b1w5UrtuJn+b6PpZZLHKC2bAq/6RZfZpZKD6veG1sIu55uk/GbhnRHAKDlmooMORIedoHzENCLLN03wKPyy+S27jI8lhaIdCykoYYnRrHF13YwhRzf30oH9+E0hNZZkAWIoxxQdYCZxwnDQDYherHswA5cJ4pEzg+a5SbeXHXnHOpvP5nLyNE+GnKM/OmGoaeyKB9op8iqo0Q05uPIZjVIGS3C0mcDQluXObL24dBS3xtU9a0CVcLXjoAp1qMe/IKvuIS+NUFmmUiXaKxa/5ue2xBdRAGPUKRiTZN6GDTc9N0eBlckgLRjggsURJUo+4HDc/UzXuXjP2jga24o19KyheBd6qEBqTOxW80owN/CKhh9QknLX48J1yecCd05s76NgSqYWfrpmaE3BkL4G1L1tHTIbPf8vaOHCQeSgWYEdMkkOfzZQFliGyqYTccVEOksxrFAmQSXJrjhIJXn+uz+Ziu19FFwnL8TkEpcChSLQ+Ox3aD3Mv4OMN9sIU2phzY7uz1GEPPJZ+9QFJ1iS18fdPv/4KKojtefCUeaWfz+wA68R/4+hTzs5xOM//OIaIgjG/5e7SaHIPPZWAlSgvx8OyawB2Skp85Z11YKbHiB9S6Q9szxkeXZluDp2zQXc9QeU42HjlzX/VlJ2JBU6JpzedwU9OdgN4mmA5/GJW931W221OYwi3Y7CCill0MxYQ2H4vaFNzLHUq1oEysZOLvvD0cokWTbctyZGtJHJGRtkCoYPv56iajEWGUGoZWe2aJS3ZxbzCLFYSJ0ni6bgU9/YfFFQLOAwLvfxmKS0ZxJKR5Ia7jO3UlDF2tx8KhrPCg3g0I+n37017sHAkb3IEpvIwrRsO9IqvlDas+Q0ohzelOuaGtYDKmcDM5cEYn+/i4lMmRHcoxfbQZfPR4QaIYbihcLqUPL22vT2mEJQj/cG4+nsdGH62PvCnHQgEyUYLShtlTS09wlE1uUQjYBCoYQcA9VGMusLsAHzW1cUxtINE6c8j6N4a4AlOdt8IY8M9zENhcEJuihIephzeIgpXZ1RL41vU+o1ouVOGpVMYeCTsZh5idUGHOO5XolC0SJi0zfL3SpMW0jq4WBPhA6U4m9YQF4hYQ5KtIaapve7Yo0TIgkRY7U2JS5CuNPiENH2nqRqew+SrzEGalF1ds5PuLEyU9BJS+xsAByT7dFAfHHWwALK3PvCIgmau4/FksxYyhYpIEc1pZNDztCRRKF0pSO6dGum0b0aWVzGtubNzSD0MYqXge0PHn7BUObpMCF4UbNdzLV0jVzHma/xhDpnhJxXoxrqtHyj9qM1nY5c3VLZ/ZonGi57GTGurSvzPjDchuaDC9G9ubArXNPyNYzf/kWZDoSw9M8QnIQgFSB84YlthOBxc5ZymOVukiEYZQ039Tw/SAA02U4T+5rNzHx3MrUgXAwhUATN/xcr86KNIDpxCluUg6xHqTBwN3x2YFUpNtbwpEQq+eiCcBhad79KMK31hb4ybng5zslJERCMe4/qD9UUvC7azlOZdtTwY3bqYnmcko66P24YqoqiafYyNYAIlg2KiIHtTYcIkyiy1XqrcKSe/PZVwvV+pZ/Mtfp+o9WP2gVnqVhAC4FZh8NTgsa/IADiJNyGdNJ27M3tIIEIjuUD7C9lV3vXevcjnYMdb24ZAwTOsdcg9cEmHQzBDbgiUjVH6K5tK02FUpJr6tbZoTW6iLOD5YmlffY0m73niaXIn5JCQxP85YVy1sJr9AuiPRTIHV5C7HwqA3J+o8a/EYPJpi6lq6ZQOTxgzAVBUlSlsfsPZbkhF8I1PBAM1zUVqRqwGxz7yalnwQ+OmYK9UzHaJwdcZKZCZirmKUVRUUA7z3Y/FTQj4H4rTvM8jZNPMs6Lvu9m00QQphDenULKp5s99/7CYnE+b0bGyUKDh3hyNAE6FBC5/GIr24a+9uSzaMgvALuHrlgzvBasUGE5TSR0GlNH0+nYPGiWyGLQbQpY5V1tb7GoTiCbaJJybkyFw946TVu7DrBrgID/lQFMxCUT/vjMFJJDBgGHeJo0qryYdvTbPGEzRFnTJJHnxWUfCfH5AMbRRlaFy3t+VG3o9WPDWM1377TnhgTXmLmZ9W7U8iB4tcEGoUGN1Qjg7mK286I/U5EWjqYu+IpVCDB9iSZQiSRy/4J+Vaem80e38qbIJBfhwV/7OFeB2C2OJqt3ptfwjEHFLmZxaB2oDvmjVT+OKCuhImLe+0FIghWpYcyhMDNWEnA5TTMyeAQw+7whCPk7RBins1PDIE+E6zM90mUt+nJQqsagKC5R6DmGHdSXcrmCIXcFu8XdWn8O8g0JaCIE3xO8NaQBcsdFbWXDspkul3FMKdbGZ8qe44Xpq27S++9eDHpB6lbc7lEHTtlkF6HbkjubPayn1KSPhdB5Ssb1EbQcphU7IrEkHUspJPgKQScMEJJiviGmtfkEJ1opRqAIWj0jYMRInzbKMIRMTAllxp/iFgOMLal5s9JBNoPw4jhllnqQWzdB+1ovndZZ/EoCYEvCIB06FNrRFU8LejP8+BKk2y3avQI+a/Ds/qVjKLaZ74zEUtTfyfnQoZmHEnLyfDJwpzwmZ697TERDS9rvYWIMB+r6clOt/DhvUiGdLbeXK0MGrWmS25ZIuHASNG6eK8gAkKOCHWLOhAGjmRWtgbLCRC34hbCBYqxGp0WQCDF98o26Tvfib4HngCmGYRo3N9sfUON/FM5TBBYlkRPI0xMTQ/uH35oOw8ZGAMxj9S3VDVQga0MGsbMD0+ASCp8ra1PvIg59b5JlMJCo4LC/MekF+QhCUdxIIL5MSmCcgtcvV7qVKG8Rbb5YQU8Fu9EueffRWJUSQdjkpah53PvjCKUp4EEqsxWEIIolhiBujoYUJ0FAy+oA5yNlu+E5qtukl0E/HpV3H0jMatlt1qkxeYszCYQkTMNa1hq5KsUi1u20/N1YA+7Fx86ZoP2ObIiiw8VgGOuZt2d6xzhUGscf8d3d/tNGMyfWTxZPvwJq0nPmcWZfl4JaClRVAMIEKPc6tqRRSFTrVkbMuLDE1IWsFfrI0n2Hq1DezyHQgnLIRASCYd6MMzCiTgMT6zVwXSM2cg9I/DgFSDYZMNvPp0GnJg5DeRwe/x7twwTeNn3wBfDfNDxPAPfJgZkRHYRnluoiKZilgOnI8TStg23HjI8dOIdIujxwfi6Xh2ftKWNz2tZsqfLQxUlKs8k6pMebWlBrfG6FsobTqEl1agW0eYtvbu3Wteqa2Ql0Sg+futlvhR1KSziETNQo4+LefVZ0Zp3SmsfoKM67d3MvC9iLUuxHCWpQmlOLawg0CuwvU9xCUtKJGEWCXnLoR8NBi8l1ofVmlfdb7icDBxX8+dZDGA14MYJrqcFFVng1E19xAfQEkWQRfpHn0HAvMwFaSlqZlwIBH0A6e94BEiNkxs/Ujv/84+4/cIun++ztMcKSEPV9+HQD+viuHf3pnSiLb6QgKAdu1Dy/+8ISLPetdq5ulFsDZiL2+c2wnpymY7CPm3DDlUMb+RfJPr23kqDdD9Q1id4nR2dj/9q9gp0vO0Te8BF+2A9+wcfvyR7PoX1zDQmn4uxV+eZra5F5feNyHaBYKOLxII4z6pV5XN5piGygMzvthV82MT+uJGbq60ksVWJKI1EP7Wux4ajDP4S7HXp79Nsz48Qr0VioaIkK3pIjvtnUvUO4Mr0pjqQiQy/Eih5aSWBENnCscsYK6zjlnqDwmoFOtQtRRJGQ9f5fu/el1ctlUsxp1s+Nr0Z71QSjqP4nYJHKkkE4PQYWfpXdxy1VAe2wmBqsfPjlZe+gO1LLzIhipHCCM38eC1RgneZJgPN7roGcbAeTZyR7K4eiwNfVhU7SuBh/DtpKS8vksSCPOUz9qYEhs+4MRtMSX2g55PO4p9hVXNxZRS+nI/6UzGAKQQ7zT+jgHdAlHXWpRrWLXJf0dEd7AEVJ3Rt0WrBFG1JKN9bIE1d7iqjKFDociqYqhU4hIW7DqGfF1U9MOY0UXBnuEQG1uAC7XAsPQvte74SzqMYeWVZvAarQLxVb9DQmuNlQp1JqQSqlMQWt0GM6PEiKFdYThpT+bHAiqhxzJNurSo4dcsVcOmtwI9q/FOmd4V7kGmpjUnNioJ5ryFTO87KBoeGTjME+PO9X5UpR1FH42fZ2CU/iQXUl7oU7lppPPtcxo31FtGSi5PpJD4lqqdYkMJ9jQ5myYiEV9nEWWnSG4tioUFVfjPORGzG3KsGsQWfXuY7xQhsgpAKXLrLAC6D4l/dPvttUb+3ELhp5g65PqmyDDbJqp6yaSQIhpwDZk6OMRTe97I+vnfhnMx4aPHU8zIHBPdd5U4rGaDFKoVG8a6LaSC/sVK1EYbzJjZnCQkfYmif8fcsjVCAb5ec7zSKSOMdz+7SQkVWaqtamEih8y+awjBBPlkctSllMTda+ZB7aHOXLG/wqNgHMBb58SlPQewm7XDSUmNBQ8G/JiuiHDyuMLlB+JsfZnP7qCoFWw2JFHyQtGNX5sSwE0+oy9bsaqtfNnnQPW+Dm1UXnYRm8+959jddVPMbTP9WcO+BsnLNaJRyRlusn24ZMWQsbyVAIKYIsGZ0Up1NLoiYyjoCP/SW3gZb5gM45F4c+1WtdLRjGW6koZrmK/fujXa9cZAsKVr4d41cbvQJGMedScMo6u8BMGQxXk92q/37O8iX75x+2yaFUASHKzUlMIuCtcTCJ2UAwSZ3mG8L43k4DGi18pHWT8p4fimWNLEMH0l3wMUH9d9CilvmKIdg+f2jKHPQQ2t5cDlm06wTHeAkoWa/yzGxgQhi+SbguX5C6nuRGkVXbhAKAYU7cg7FRCUbH/l71bTQq3HRv79SmNrz9oSFknt0c9PvrBHHzEBcA9W9kynwkfXNIW5Q5MLLh0bEI0yrVFgbbJ9foRbd72SX9pFVN6s56fuWQvF0O48SQeD8yakvdaxYP1vNYpgHOiJU4S4+hOrG69Jv6dRGY+KqNsCtbYnKyjRyGZNREeWuxg7oydlsz4BkfYJOIXC45UIASAaGDOYZLd0e2+/v3q/blPY95A1GcKwk8L+ubJBzwzKk6P6ExwiDL7pnQLz+Y3jIpGyl3ATcpx3BPVX3sjNOMDe8ttr4ROhiz/QG/N1QenHDWzMaFfX6/z/trxwaS1+EX7+AgWGRjabANuikHcE+1bOKht2N4rOCDSnXlGqDqg3bs+JIBgRGwtg+tU4ar+7vlnmjlnXzkfJ8qG/o8i3lhYECKyXILWe2OovI495B5cPCw8TDj1xewWwkaKHlK1hUrTGc+wt4FvzILhp+ovr8DoX40DBUh7+6d6ZfB8schmQ7Auhw8ySPSEzqMEfQJh5V2K7efygBIFGCRTK8art7OTPbK5wXIQFtav+DnKafJejNAjSNFfWrb6LVxTKPT4O0HlHEiCwtNh6fY45WA9VS2ttpTMGmVGjqmVJ2QpG7gBlbVLtdqiNSRvFSzUeyU6C0N0UQdS1EkznqRFY7AsmI14YW1PLa69Nv/TlWl7Bq3EQXa5hBTHeTw5gpycttiw8cZCuqv9zfVXGmPCsagGrDF/oEoP6bPxN6lFacSgArlVoffYU1B10fP+mMENzE3XK8Fq7zLa24jrYmyVFKBHC1T0pjFW1gUk7JaslhpVExprMVXpBOQBjWl9ZJqtp6ay1FteLNTia4IkoE0he/4CCIw+/w2VUnYXpzwyO3uluxGK2wxx3JSxWjbNCGn/9WE9SqBZdn+7Gcl6+yGg+hxAnwI5VilL2dabQ/WBIKW4HJTJ8auCgSOfzOxITR87lRR548jjhmvORuans5VOixNgxgqUH9bei9j1SoPo2YpN1dIkBXQstbWcw7dXZUGclORGFqtOzPFMLp2iLwE6lCXcDICD1/iQh/lvHHTf4dD0lmJunUbgx6aMgFXmlWjVy2tGWMikSgMRyNP5n+Mer04p45YlymWlgQJgDzT41g0LCjKLsJiixMTaUo9alWqYFR5YV4LRltnj7pPV3d26fWezjbFydp6yai0SOo6O+CIZp3JaDhIU9Q5Ou19bTwQDIZTDJBbG8s7iqapmAqmK1x7POScKqSy0ZW4AXvl5P3FQlI3dI+o6rnclBnmFBKMioMmwLXR1VWjoVTeDjgFN/WRSMpI5w8coQcOfIrpeeyuswZnJk/BgyO/DtknJR/TTrc6MEUEX3zVPupn+LIvJwyuugFhhnlNsC1UwaOYFQkkws6e+0v9GluKMkLA7WYwWVOJ8/bi75VHRuewompBM3k5HO+GhSI9H9K6KrdZqQixpW/IYhm5Ocz5vCih77OJIs6syN12xKbAuxiyKUn9WbiYOkin2aQV6cHzbOfgZc/0i8cWC5CAcyl+YziwMsVyy/prSqHAX9H9VL3Ya2UHwYgUjoE1UdLu2L56k/nsdm09PINePJzqteao7Lbac76u8XUoPkIkEWCuJ6iEdfvpKEAdBUlBIiRW3JgcFBgHRRy4hpurLuFtDFhCQfcqiuedRJ23fMpUyJB9e7GcdRzbK7vkoI5yQkMobG4lN7qlvdw5cI25dsYkos+Ddc9+QW/TMJzE43HmlEsXlRYf0BOcXo1SH/zVbpacM7PeTixIrgTNyYssCom6VpO0xYdH+/1rKZ/nFLZoHAsU99DlXn5Q2y8MPJyJUjsAOcrYmIJM0g66PY4dvK6EttP2dqwo5eOpZzbNldZdrbcGezpa8ncHuYGGVYe3Ch0nd4poINf4453sguRFFp3OXtR6L3AMR0tzOQ6gKlgapSv2Vgv1P6vahJhnWCmfNxqP95VH1Oc7BGVDQ8r6uuJSpwRuE/di/hn6p7FiTU569jzFhqbRa+zKQAjzoJviybripR8L2itxj8+R2qj9EZj1f3JCIZsQxqE1IEPJXvWLLC1ZE7qkaUCK40oYxTcmJ8MxRbnnNmLW048NvMHsh5NgSLLek2k3nyAmkT91UakJF+Re8Ac2vHh6RPeAUSBKw0Qzjc8Lf2J71eyxuyl8COib6Ws3O2oogJKU3Bm5GxpCwDcwt1mNXKb0dgp8eIAbq5423U73GOXk6u039YSDgmscU6D53ZM08+3mL3fU69osyBYEzrlcohjB7YquyDhQa+VNm9/rRPFsyTLv2eo5CPUb9JqDyu1RPuBujn5trwymIwJthVhARLwyazfMdC+ZTAhkBtXmUAfAy42tUJOW2ZRAJv+jEdWCAGm+MeTzpQT7zxsd1vSjjKe+/ceuDZtSF8wla/e1oW2TtTq8LWfTmxFnxpKBSxYidN9sCj+tTZiwRdetcbdVBJ+QgxkJLunwf0TUheFYtpendDjYEv5s6buuadhRdRoTvguzfK0Kgz/RTp5pAx0m93tz45LhtVIr20mdjyKN9pzUYJcL9YKBI4aoLqk5fCr0YDDtu+nvY2agZaJ2SMgmt20JmGWsgzE8pUcla/fVrt9KBXJVyV959wP6rkQiHN5WtxO89rp4Hg3I/bM1deXr34s4XvLcrngP2wgcfV3L4iTMzWrPD6dN7z7pPXu6Lblw78wFY10uVsp71iTxLQ+ttgrCIOkK7NubmsBn/1Zw1wAdyNWsUbbCecdFGp1WCwZ3Pg40tmnjw3I5U52nPxllL0dnp6teWo9Cjz0Fk52GM3sccdh0GtYz1bWDRn7e6tlI8b2bTQ526Urw0mzBfEW2v24OAWVT2E9rgFmnUTKrXSMSi3LQ2KQ52/KpfKBYnTYd7mp2TqULGivTmtjAiWWiM0X99sMP7wbk6JsGf1oNpdwNiG247DQytD3rbUs6QRaSnm5FOOuZsGknn0No/z1/ncw/bn4c19Vzm9q1ttOxb7pPKQlqgr4wGNq9bNNOFmT3bho4mtHl9CwT/vHbj5nwTKmOw5BwmpJrGNtUuMzS/FaK5HnKwnCGWRWcNH/P+vhZwN8MgJHYjoW5cDK1c76RH3xdTFzVDTHB47A2WM6+3oSmJ7F5R9xozihlu4F+2IzNJjAuXUJFM2FFk01laiy7DB6N+quOR6eMpWb7oI7JZZdIYvAJsWkN9yET15REoxjXEGwhSwIhiQvGqinjTlU7GzDMinDFG51lEvBMS5q0qakhFS7kWXnSCJMv7gxDHaajSymoCcPZPEyQJAFtai4S+mFStEXTnf/BlL93llUg1vMOLh3DnYzj7kqR4vt8ueu+h/B9BdAPe3LId2gcWfCEBTNECXwx+Oxev/9TGghJ3OCYMT6Mbh1eYRCDDf33D7ibvRcXRzdZqkRoqVmoasD7+NUbvS0LcwyKuPiZQGTsMCck5EtBt5ETxH7CJFP1KCqDYKlRzStNjRoIDhaGLXWRYckyTUDL4PjLEskc9dmichg538gJoEk01GwJX+EjZowoKIomMglN0YZTz1NtKXd0pYrtVckxRZH5wEW5rNCrpKoSdbrkn45MuIPJdApBMeVUS6A5gndawPf2zfTOhMdiG8b25SljRu6LQ2aCB3PbRVrIOciCa2Kxg8yosL/DGjZdaDM4FaMhn5MoA+hILOEWnFJI8/gwuTBZTcrEkOYDQlKfJX8Ib4pTFexJGkGnLc3wtCl8VW6Tr6asEAQZPlJXLaMBAXVRZX1DXD3ss54BvmeuWnCwVcTEv4mYPqBZ17OfJHAlhqdUP5dE3XdQJOFxrSeW3hWEsXvULBUS5oyp55c8KfKKmWELDXFa6/LFd8xDoV7KQZvKObO6COiHjlsFOzBjRW6/J6e7m90hnRMbEroU4jK5YUw3aF0RCGJ5GLF81aUYCLrJYQ3q7W8kqkijOB5gp6nNaKgf4VxbEhMlJQkRTTl8n1ukUBIb0DG2lST3QULsSnIRaZRDIwIISQyHnBUp6KUvi3KyZBBX4AxCNsMpLizUW1Fst3zKIRg8UMiEwdcBKe5BRB47sKsiNdmrpjrkDNTOzJrdyEJyONZW8fllO5EkoglM35dyKEGVzDwG3ytvgF8Hyl/XlZdyOM7kxq402O6TWzmEcRhKPYvyMUHqWwjmmtsptrxJMFxFpNyZjsb5oETNsPlmHro5MppXEIpCrKCE3TdUDNCkpQk85nSNRiHJkbKZWT7e1ZTWW3JrsN+lLGJazeYcwrU8lbZuryKbWgRJsxiXJNMwmgkFvfJZxtBKxLbrfr+9suVujFFim1piOCtM2KExnmLkbCKRexlr4JDPHwiGFZqRdf2Y4fRtuYGhuNyJd0vhi60yqoG5tqwwHYZWFe+SuvHEYnGt2+IHw+in+gLhnva26ekxtJYrsAK19OYiRlV9U5UFqm7kJp+T+f7HAvcPceaihx4LLvr64tyHopBZTtpItwyA6AVEB8ix5/iabqJLS5yZ3iKXxcXN+rPFKwk4xPltE94/7xTnb2exh8dSr9td48jt336gdCDrHufZLMbaXpBimQUsh2zpu/Dq3xEmgO4+DHHeS8hlJsryMJigDLgQlL9tk9sghmkQ090AfTbpNUwKfvhYCiY11vxiYzWkNA7I6Be3VWiyhIfKdDxeHsRluXWgEAvvP4Z7yWw8RP6GH8m3z5068od60WeRN1KQHDjBRXk5CnkAZ+THsBuE4GPsoXyuTf7n3I7Bj+uFLuwtLw7yCF4rv0Zszhh9mLRmk97fexZq+qPFACX9sU3moZYvFfrsAfIVe5Q5qkviEzohbF7jVWjGYqcWGn99IaHXsBdMwv0Pnu3yEWvQWUhiVl+CmoF9NQiWh5fkh3iifA5X5QLedg4ZCHS8Ew1hSRbjsKzA/8nPz5019qH3DQ3thMIJCN+HGr4G+NrZ91Eetoeb53rXgWPbC/s1O2dOVL6hc2BFYjB+4xJooVrKfcWxPEx8m/+Y4hwirbnASjRAfBN9A+iZq6jq44PnoEZgYjU0Xzu5M/UdzBozcFR/d9oR0CYgnvwPGg0IF6d84JG3odcDPBESbt6PPgaUjkaDFw6dHL9HhFq1o8ZSP4AodODAJVu/eVtjzy9pBR8/BckBcVfKdE3+aOmL5py72eg/2Yu+HuSLxiE88H03FJ7br/FbHYQa2hjJEbx24yCsi6ldWtv6DLjHyFoGD0US+BFLtYPegeFIOPEhf4K+NmB93rgZSFrilFBSArirgvs6ysPbpIf57OxVTGGHT3NzR2skFcDq/O/x6vnPDH/w5TmyPXyha+pJU5dFRxxoPiv+NpKbtD6CLm1yj1yEvd3KbZAMiiODoPMXH/OQ65H/0Y3oBZzboBXepCHh+PDdB7+1kj4BzKsLhttLIcicIoDbu9y3QfWA4zh0kJ0QxAdm9kFrg6di+yX8CKcDCneE6Pyy2K/QdQE/ew7BA3MDU54f/wSYAekHQ/V0DZzz6gPPy6+nzgVLITj/HsraN6FFwG+moFxAE4FL59dQFVvoTIyCxkHQsYFXK9EgGHd3gZYezhlbP70XGXo5b0KxTyZHiJdaEP1OuwTt4TZrz1nbORoyEC9e17zSgvyWTiXe8+lYz0KbTXg0YDHbjl9wxyqAFMv69Spvb8wfc5O1nr+EMyMPvayMHaG1Ez76vgDJgOwt/d+RZg08p7iGzkB7YghYOopegd6PkgAvIeoeA8U2SD0KQ430DLxPtINpUD/o9yiDAWoHE8lJoHiYD3LAf83r3glRa9uVAx5DM6ATeQiTUYKnoAojS3289/dz1xwgp/cSHTvKPE30AYbQM61zIWqb6VqS1kYKoJ/k/BN1fo8MgZGfyuvQdKAxMO1EQEMHv5SC3L94PwSh8df0p1rdwCxSzBdbUoBrj9QDgpIEGOrJ/3kGbVuKV7ya4k0LzgQMu1JQ+58nIeTT98HEATfyEWA/HepLYVtAV2HA2wP0WdwKqVt+RpS2Pg+y7jvD3LBin9O3ZZ2T/5V/BGm8niiHX09ega74LyFmO0zq8COhwatEX8g8nd7QAI5n2H2iwbRHkxqNeO0wMNYPqrzKBO4EAcBL0HvVV3Z/emvTP5haK8Ey3vpnyxLspPvr2LoVbfOC0b7SJgAsmKv/igDjtkUEwNx/Rd5fPbdDrl5Ct9ZdkhO4PSv+PK7YWg6XfXLbkG2t19r+qRXt35bGYXm5LqvcYVw30m55gjJDUhzJirZ9NZDyubcJHEcikuCASmQiCBtiJOcPmTnNtAn5NpvyZiW73hYwh2xNx5E0hX+7g+2dbH2tAG91NTbZ2VfqlFkutpUcOm3Ngr3p1MGUTtrWN2+pte23JWvXhLa7bLu1gq5OMmtw7wS4tof47Z6oAlJU/ZjaR4tdo8nrYUTZwaXFWtN6FDRrCW1QUiNJKPe4t90WNpfC/LAnA+N648V89UxAflu1vO0T31YqkFSuVE/PZ7uA1VbIrV30JhzM6zizeofYrDFlhTx/1VBS6Ruke738ttCKdlJcX0G9Hj+DittncVVtycQRX2cV1etUNJ8/J+662Vl7y7T05mNh+Z3XmN3skmZX26mqDvAueYqjsJnhXXWJTXnVsv6p+RNGyNRofX2D9xwblTZHjH3Rds3f7YaCiccnuF2wu+3l03aKb4eVZEr1fNiKmW5hWUvN1Vb15ZQd9a5dQPHGBdN3BJ7lXY75IEIFoNcwgLq0oxyZZtuXSgutmXXKGZbnVpRP/VZu5Hpn5fdYxWWZ1ZRj6zG/eeh+9BRY3mb809aRtnzu03P0A2cPidft7RJCMRuOiEck3BCck2f5A8Vra1qXq63Xbn9WyzpqTuuCpset7hC1J+Dxak9k5M2Wf+BV5lNJgD9oLKfjo5xNe3RRwJ8hAPBga4InO5CQzH/GsqU0PmJZhxcXBXwYAgBAOnjvs8DHQqbGuRbsSH4okgsu7CX4GfsJngYA7CH4GP6BXwB4BfsMXk9v0IM+mB+YKxg99iz2DayDrvQGAi1K2PMYiaPpo/khqxfZIyEkpZHuuSgWn0szi1S0v2VCk032jME+l9qJAnuazSGdLuTJcjZ72ngb5hBkSV2iXcwkxiFsXJeO2YT5kJ5PmBHpTVonLH4N8x9ZEEC3WoFuMQaMgJVKgP1yzS1wCIBudkb5xmrPmM+UCAi3+MLwiiucbWEiaGcQjSxtoa+rfuFxzOYbAuBmOSBgJzEYFQYHZvwRoBLH0M7L4kWXsyPGbUkxQRABFjDDxAaRMRxgG2zGk66YeL1kSuwaM/pqmVOXtVloXGEWTXNTHkAxIWEbnAAsP0tXoBs/y+jtf8FReZhZtdHB0KkzxIzK0MPW9vzwjYydV2uxC7ptFOGl8IWu6OQq+yNi/yp0y6rcyndd9DInKnRD120edS30yG0xyWGRsmtLIbK35jzoVm9lpXy0rWpXytor8cd5f3BAGF6t9mdtvyw6+KfX/oiMDstFKOjkVFqUsq/ciKJiiKLo0LHbyrA6GBoCElIjgoooyLG0nk4FHG6os4iI5rkn9Awn4UqXpmiiS0gxl6Drugu26crswGK02It+7o1rrS9TRIxy/bquHKzStLJTa8XcCAsE68CRVX6cOeFht1OH10tDSlyraFtu2OhNVVJbvp6NjRC5jp79uv8E6an4NLTYotA1kdE5P9UxE0HRZr2V0Yn20YnwIEJoMD/YEgr0b/P3hHydAd4ua56OaOvgIHeXD2qtzXeV8p2lNEfl2ws0W05Y87MsuRPm1EOmtI8xE2HIZuiTp3Qxvjbga/yNpvacym9hnK+wSOSmHNRi4CCZMkCq4CTqLLHmRLqPUIYEogbEFyuNJ0pcoQCncmz+FIuGmDQEBpNPZ6HRwFHJDArhyNFTzUVfUUTCzJ80EepBeEy6axpCwDWIgG0oBTVgZqBRZNQhQ6hFcFFTTcY1WQ3EwUqzU27SUvB5u4PKdanT/rzZvuet3JYrV777ea01LMfePdW9p7jKoEuD6FPd5kafFs/4ifK0k9p37t/rYYLe+In5RmfTzGyLp3qbmsYzNRuoexRl6m11S5HdnU79Njc122SKE5imMzeT2duCY7kozwgflHvkbWH4MAYcwzNwC3ZbNOVtNI1mNBvQPUQZvU23CF5nfWsS/+LXfMqtZLv9fHDHDoHvcp7cFPVWAytIYbo5lIT4ufD+0ydY3+mq+DopXw0oQz4RxVumJozQk6fFdtj+xIubLaVnxfYFXBEhXttLF2tT+oliO+DAtyDhe+5IR0bxpSC0aOGaFgAA"}},"time_used":39,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":11,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.157.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:51.098Z","timestamp":1785129951098,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js HTTP/1.1\r\nHost: www.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/botguard-scs\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"botguard-scs\"\r\nreport-to: {\"group\":\"botguard-scs\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/botguard-scs\"}]}\r\ncontent-length: 23758\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Tue, 21 Jul 2026 17:04:08 GMT\r\nexpires: Wed, 21 Jul 2027 17:04:08 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 08:00:00 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding\r\nage: 476503\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":62519,"size_decoded":24569,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (61258)","md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T07:00:44.845626Z","times_seen":542,"resource_available":true,"data":"Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgZD1mdW5jdGlvbihSLGMsRyxCLG0sTixoLFAsayxEKXt7az05ODt3aGlsZShrIT1jKXtpZihrPT02OClyZXR1cm4gRDtpZihrPT04NylrPShHPDwyJjcpPDYmJigoR140MCkmNyk+PTQ/NDA6Njg7ZWxzZSBpZihrPT05OClrPTM3O2Vsc2UgaWYoaz09NDApe2E6e2lmKCEoUD0oaD1tLFopLnRydXN0ZWRUeXBlcyxQKXx8IVAuY3JlYXRlUG9saWN5KXtEPWg7YnJlYWsgYX10cnl7aD1QLmNyZWF0ZVBvbGljeShOLHtjcmVhdGVIVE1MOm4sY3JlYXRlU2NyaXB0Om4sY3JlYXRlU2NyaXB0VVJMOm59KX1jYXRjaChJKXtpZihaLmNvbnNvbGUpWi5jb25zb2xlW0JdKEkubWVzc2FnZSl9RD1ofWs9Njh9ZWxzZSBrPT01Nj8oRD1CLGs9ODcpOms9PTM3JiYoaz0oR14xMyk8MjQmJihHXlIpPj0xOD81Njo4Nyl9fX0sWj10aGlzfHxzZWxmLG49ZnVuY3Rpb24oUil7cmV0dXJuIGQuY2FsbCh0aGlzLDMwLDgwLDMsUil9OygwLGV2YWwpKGZ1bmN0aW9uKFIsYyl7cmV0dXJuKGM9ZCgzMCw4MCwxNCwiZXJyb3IiLG51bGwsImFkIikpJiZSLmV2YWwoYy5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBjLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR319KFopKEFycmF5KE1hdGgucmFuZG9tKCkqNzgyNHwwKS5qb2luKCJcbiIpK1snLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PScsCicoZnVuY3Rpb24oKXsvKicsCicnLAonIENvcHlyaWdodCBHb29nbGUgTExDJywKJyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCcsCicqLycsCid2YXIgY3U9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD0oUD05OCwxNik7Oyl0cnl7aWYoUD09ODApYnJlYWs7ZWxzZSBpZihQPT0zNylQPSgoR3w2KSY3KT49MyYmKEc+PjImNik8Mz81Njo4NztlbHNlIGlmKFA9PTg3KVA9KEd8OCk9PUc/NDA6Njg7ZWxzZSBpZihQPT03NSlQPTk5O2Vsc2UgaWYoUD09MSlkPTE2LGUoODgsRCxaLFQpLFA9MzI7ZWxzZSBpZihQPT01NilrLnJhdz1SLE9iamVjdC5mcmVlemUmJihPYmplY3QuZnJlZXplKGspLE9iamVjdC5mcmVlemUoUikpLE49ayxQPTg3O2Vsc2UgaWYoUD09NDApUD05OTtlbHNlIGlmKFA9PTYpZD0yMSxuPWtuKEIsayxSLFopLFA9MzI7ZWxzZSBpZihQPT05OClQPTM3O2Vsc2UgaWYoUD09MzkpWi5TPWgsQj1aLlAucG9wKCksUD02O2Vsc2V7aWYoUD09NjgpcmV0dXJuIE47UD09NTE/UD1jJiZaLlM/MTY6NzU6UD09NTI/KE49bixQPTY4KTpQPT0zMj8oZD0xNixQPTUxKTpQPT0xNj8obT1aLlMsbShmdW5jdGlvbigpe1JCKDMxLGZhbHNlLFosUixSKX0pLFA9NTIpOlA9PTk5JiYoUD1aLlAubGVuZ3RoPzM5OjUyKX19Y2F0Y2goSSl7aWYoZD09MTYpdGhyb3cgSTtkPT0yMSYmKFQ9SSxQPTEpfX0sb0I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Zm9yKG09MTttIT01OTspaWYobT09MjYpbT1SPDwxJms/ODg6OTI7ZWxzZSBpZihtPT0zNyl7YTp7aWYodHlwZW9mIGM9PT0ic3RyaW5nIil7Qj10eXBlb2YgRCE9PSJzdHJpbmcifHxELmxlbmd0aCE9Rz8tMTpjLmluZGV4T2YoRCxoKTticmVhayBhfWZvcihaPWg7WjxjLmxlbmd0aDtaKyspaWYoWiBpbiBjJiZjW1pdPT09RCl7Qj1aO2JyZWFrIGF9Qj0tMX1tPTIzfWVsc2UgaWYobT09NzApdGhpcy5CPUcsbT0yNjtlbHNlIGlmKG09PTc0KVo9dHlwZW9mIGMsbj1aIT1oP1o6Yz9BcnJheS5pc0FycmF5KGMpPyJhcnJheSI6WjoibnVsbCIsQj1uPT1EfHxuPT1oJiZ0eXBlb2YgYy5sZW5ndGg9PUcsbT01NjtlbHNlIGlmKG09PTM2KW09KFJ8NDApPT1SPzc0OjU2O2Vsc2V7aWYobT09ODgpcmV0dXJuIEI7bT09NTY/bT0oUj4+MSZrKT09MT8zNzoyMzptPT02MT8oQj1jdShHLEcsMyksbT0zNik6bT09MjM/bT0oUi01JjMpPT0zPzcwOjI2Om09PTA/bT0oUiY1OSk9PVI/NjE6MzY6bT09OTI/KHRoaXMubisrLGg9Ry10aGlzLmgsdGhpcy5oKz1oL3RoaXMubix0aGlzLmh4Kz1oKihHLXRoaXMuaCksbT04OCk6bT09MSYmKG09MCl9fSxDbj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Zm9yKG49NDc7biE9MjE7KWlmKG49PTQ1KW49KFJeMjIpPj4zPzU3OjY3O2Vsc2UgaWYobj09Njgpbj1SLTQ+PjQ+PTEmJigoUl42OCkmMTYpPDI/MTI6OTI7ZWxzZSBpZihuPT1rKW49KFImOTApPT1SPzMzOjY4O2Vsc2UgaWYobj09NjcpbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRyxFUikmJkdbRVJdfHwoR1tFUl09KytIdSksbj01NztlbHNlIGlmKG49PTQ3KW49aztlbHNlIGlmKG49PTMzKW09YSgxOCxudWxsLDgxOTIsRyx0cnVlKSxuPTY4O2Vsc2V7aWYobj09NTcpcmV0dXJuIG07bj09OTI/bj0oUnw0OCk9PVI/ODE6NDU6bj09ODE/KHRoaXNbdGhpcysiIl09dGhpcyxuPTQ1KTpuPT0xMiYmKGM9aCxjXj1jPDwxMyxjPShaPWM+PjE3LChjfDApLShjJlopLSh+Y15aKSsofmN8WikpLChjPShjXmM8PDUpJkQpfHwoYz0xKSxtPShHfDApKyhjfDApLTIqKEcmYyksbj05Mil9fSxySj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtmb3IobT05NTttIT02NTspe2lmKG09PTg3KXJldHVybiBCO2lmKG09PTI4KWhXKDI0LHRydWUsRyksbT0zMTtlbHNlIGlmKG09PTQ2KXthOntmb3IoYyBpbiBoKWlmKEQuY2FsbCh2b2lkIDAsaFtjXSxjLGgpKXtCPVI7YnJlYWsgYX1CPUd9bT04N31lbHNlIGlmKG09PTMxKW09aC5aW0RdLmxlbmd0aD09Uj84OToxMztlbHNlIGlmKG09PTIxKUQ9Ry50eXBlLG09Nzg7ZWxzZSBpZihtPT03MSl0aGlzLmxYPXRoaXMubFgsdGhpcy5nPXRoaXMuZyxtPTU5O2Vsc2UgaWYobT09NiltPShrfDE2KT09az83NTo5NDtlbHNlIGlmKG09PTEzKW09KGs+PjImMTMpPT0xPzcxOjU5O2Vsc2UgaWYobT09NTkpbT0oaz4+MSY3KT09ND83OTo2O2Vsc2UgaWYobT09OTUpbT02MztlbHNlIGlmKG09PTk0KW09KChrXjUyKSYxMyk+PTgmJigoa141MCkmMTQpPDk/NDY6ODc7ZWxzZSBpZihtPT02MyltPWs+PjEmNj8xMzoyMTtlbHNlIGlmKG09PTc4KW09RCBpbiBoLlomJnRXKDcsUixHLGguWltEXSk/Mjg6MTM7ZWxzZSBpZihtPT03OSltPTY7ZWxzZSBpZihtPT03NSl7YTp7Zm9yKG49UjtuPEQubGVuZ3RoOysrbilpZihaPURbbl0sIVouZlgmJloubGlzdGVuZXI9PWMmJlouY2FwdHVyZT09ISFHJiZaLlZuPT1oKXtCPW47YnJlYWsgYX1CPS0xfW09OTR9ZWxzZSBtPT04OSYmKGRlbGV0ZSBoLlpbRF0saC5KeC0tLG09MTMpfX0sdFc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXt7UD05NDt3aGlsZShQIT05KWlmKFA9PTE2KUQ9b0IoMTMsNiwxLFIsRyxoKSwoYz1EPj1SKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGgsRCwxKSxkPWMsUD00NztlbHNle2lmKFA9PTQpcmV0dXJuIGQ7aWYoUD09NTcpbT1aW0JdLFA9NDA7ZWxzZSBpZihQPT01MilQPTM3O2Vsc2UgaWYoUD09NDApUD0hb0IoMTMsNDUsRywib2JqZWN0IiwiYXJyYXkiLG0pfHxOUCg0LCJvYmplY3QiLDE5LG0pJiZtLm5vZGVUeXBlPkQ/OTU6NzU7ZWxzZSBpZihQPT00NylQPShrJjI3KT09az82NTo3MjtlbHNlIGlmKFA9PTkzKUc9UltsOV0sZD1HIGluc3RhbmNlb2Ygak0/RzpudWxsLFA9NDtlbHNlIGlmKFA9PTYyKVA9KGsrOF4yNyk+PWsmJihrLTR8NzUpPGs/Mjk6MTg7ZWxzZSBpZihQPT03NSl7YTp7aWYobSYmdHlwZW9mIG0ubGVuZ3RoPT1HKXtpZihOUCg0LCJvYmplY3QiLDE4LG0pKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiJ8fHR5cGVvZiBtLml0ZW09PSJzdHJpbmciO2JyZWFrIGF9aWYodHlwZW9mIG09PT0iZnVuY3Rpb24iKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19VD1SfVA9KFJCKDMzLEQsaCxUP2hXKDEyLEQsbSk6bSxOKSw2MCl9ZWxzZSBQPT02NT8oTj1mdW5jdGlvbihJKXtJJiZuLmFwcGVuZENoaWxkKHR5cGVvZiBJPT09InN0cmluZyI/Yy5jcmVhdGVUZXh0Tm9kZShJKTpJKX0sQj0xLFA9NTIpOlA9PTYwPyhCKyssUD0zNyk6UD09OTQ/UD0xMjpQPT05OT8oYUIuY2FsbCh0aGlzLFI/Ui50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5ZTj1udWxsLFImJnRoaXMuaW5pdChSLEcpLFA9NjIpOlA9PTcyP1A9KGs+PjEmMjMpPT0yPzkzOjQ6UD09MTI/UD1rKzYmMTM/NjI6OTk6UD09Mjk/KGQ9eWZbR10oeWYucHJvdG90eXBlLHtwYXJlbnQ6UixsZW5ndGg6UixzdGFjazpSLHBvcDpSLHByb3RvdHlwZTpSLHByb3BlcnR5SXNFbnVtZXJhYmxlOlIsZG9jdW1lbnQ6UixzcGxpY2U6UixjYWxsOlIscmVwbGFjZTpSLGNvbnNvbGU6UixmbG9vcjpSfSksUD0xOCk6UD09Mzc/UD1CPFoubGVuZ3RoPzU3OjcyOlA9PTk1PyhOKG0pLFA9NjApOlA9PTE4JiYoUD1rPj4xPDkmJihrXjgwKT4+Mz49Mj8xNjo0Nyl9fX0sTVA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7Qj00Nzt3aGlsZShCIT0zNCl7aWYoQj09OTIpdGhyb3cgbmV3IFNNKHR5cGVvZiBHLDEpO2lmKEI9PTk2KVIuc2FuZGJveC5zdXBwb3J0cyYmIVIuc2FuZGJveC5zdXBwb3J0cyhEW2NdKXx8Ui5zYW5kYm94LmFkZChEW2NdKSxCPTc5O2Vsc2UgaWYoQj09NTYpQj0oays4JjU5KTxrJiYoays2XjUpPj1rPzMyOjgzO2Vsc2UgaWYoQj09NSlCPW48Ui5sZW5ndGg/MTg6NDk7ZWxzZSBpZihCPT02NylCPUcgaW5zdGFuY2VvZiBYMT83NTo5MjtlbHNlIGlmKEI9PTMwKXtpZihHIGluc3RhbmNlb2YgWDEpaD1HLktqO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO1Iuc3JjPWgudG9TdHJpbmcoKSxCPTUxfWVsc2UgaWYoQj09MjUpQj02MjtlbHNlIGlmKEI9PTQ3KUI9NTY7ZWxzZSBpZihCPT00NSlUPSEhKGg9Ry5PMiwtMip+KGgmUikrfmgrKGheUikrKGh8flIpKSxCPTY7ZWxzZSBpZihCPT03OSljKyssQj02MjtlbHNlIGlmKEI9PTc1KUQ9ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctZm9ybXMgYWxsb3ctcG9wdXBzIGFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveCBhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24iLnNwbGl0KCIgIiksUi5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCIiKSxjPTAsQj0yNTtlbHNlIGlmKEI9PTgzKUI9ay01PDE1JiYoa142OSk+PjQ+PTI/NDU6NjtlbHNlIGlmKEI9PTUzKUI9NzY7ZWxzZXtpZihCPT01MSlyZXR1cm4gVDtCPT01Mj9CPTE2OkI9PTcyP0I9NTpCPT02Mj9CPWM8RC5sZW5ndGg/OTY6MzA6Qj09Nzc/KFIucmVtb3ZlQXR0cmlidXRlKCJzcmNkb2MiKSxCPTY3KTpCPT00PyhuKyssQj01KTpCPT0xNj9CPWg+Nz8yNzo0OkI9PTE4PyhoKz1HLEQ9KG09RDw8RyxjPVJbbl0sMiooY3wwKSt+Yy0ofm18YykpLEI9NTIpOkI9PTQ5PyhUPVosQj04Myk6Qj09Nj9CPShrKzUmNyk9PTE/NTM6NzY6Qj09MTM/Qj0xNjpCPT0zMj8oaD1uPTAsWj1bXSxCPTcyKTpCPT0yNz8oaC09OCxaLnB1c2goRD4+aCYyNTUpLEI9MTMpOkI9PTc2JiYoQj0oaysxJjExKT09Mz83Nzo1MSl9fX19LGhXPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7Zm9yKFo9NTtaIT05NjspaWYoWj09OTEpe2E6e2lmKChEPUcubGVuZ3RoLEQpPlIpe2ZvcihjPShoPUFycmF5KEQpLFIpO2M8RDtjKyspaFtjXT1HW2NdO249aDticmVhayBhfW49W119Wj05OX1lbHNlIGlmKFo9PTQwKW49TWF0aC5mbG9vcih0aGlzLkooKSksWj01NztlbHNlIGlmKFo9PTEwKVo9ay00Pj4zPT0xPzkxOjk5O2Vsc2UgaWYoWj09NDIpUi5uWD1mdW5jdGlvbigpe3JldHVybiBSLlh6P1IuWHo6Ui5Yej1uZXcgUn0sUi5Yej12b2lkIDAsWj0xMDtlbHNlIGlmKFo9PTIpRy5mWD1SLEcubGlzdGVuZXI9bnVsbCxHLnByb3h5PW51bGwsRy5zcmM9bnVsbCxHLlZuPW51bGwsWj01OTtlbHNlIGlmKFo9PTg1KVo9KGt8NTYpPT1rPzQwOjU3O2Vsc2UgaWYoWj09NTcpWj0oaysxJjI4KT49ayYmKGstMV43KTxrPzI6NTk7ZWxzZSBpZihaPT01OSlaPShrfDcyKT09az80MjoxMDtlbHNlIGlmKFo9PTUpWj04NTtlbHNlIGlmKFo9PTk5KXJldHVybiBufSxUbz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e1Q9NTc7d2hpbGUoVCE9NTkpaWYoVD09aylEWi5jYWxsKHRoaXMpLFJ8fFpafHwoWlo9bmV3IG5uKSx0aGlzLlFuPXRoaXMuQT1udWxsLHRoaXMuWGk9dGhpcy5qbT1mYWxzZSx0aGlzLnMyPXZvaWQgMCx0aGlzLktYPXRoaXMuWjc9dGhpcy5jVj1udWxsLFQ9Njk7ZWxzZSBpZihUPT03NSlUPTQ7ZWxzZXtpZihUPT01MSlyZXR1cm4gTjtUPT00P1Q9QjxtLmxlbmd0aD81Mjo1MTpUPT04OT9UPShHLTVeMzIpPj1HJiYoRy00fDE2KTxHP2s6Njk6VD09MTM/KG49QnUoMyxuKSxaJiZaW2RKXT9aLkkuYWRkKFN0cmluZyhtKSxuLGgsTlAoNCxSLDE2LGMpPyEhYy5jYXB0dXJlOiEhYyxEKTpJQig2NCwib2JqZWN0IixmYWxzZSxuLGgsbSxaLGMsRCksVD01MSk6VD09OTA/KEI9MCxUPTc1KTpUPT01P1Q9QXJyYXkuaXNBcnJheShtKT85MDoxMzpUPT01Nz9UPTg5OlQ9PTE/KEIrKyxUPTQpOlQ9PTY5P1Q9Ry05Pj40PzUxOjU6VD09NTImJihUbyg1NCwib2JqZWN0Iiw5LHRydWUsRCxjLFosbixtW0JdKSxUPTEpfX19LGU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXt7bj0yMTt3aGlsZShuIT02NylpZihuPT0yMSluPTUwO2Vsc2UgaWYobj09MTkpbj0oKGteNTApJjI2KTw3JiYoa143OSk+PTI3Pzk2Ojg3O2Vsc2UgaWYobj09MjkpdHlwZW9mIGguY2xhc3NOYW1lPT1SP2guY2xhc3NOYW1lPUc6aC5zZXRBdHRyaWJ1dGUmJmguc2V0QXR0cmlidXRlKCJjbGFzcyIsRyksbj04OTtlbHNlIGlmKG49PTMpYz1HLHNSPT09dm9pZCAwJiYoc1I9UiksRD0oaD1zUik/aC5jcmVhdGVTY3JpcHRVUkwoYyk6YyxaPW5ldyBYMShEKSxuPTE5O2Vsc2UgaWYobj09NTApbj1rLTE+PjQ+PTEmJihrPj4xJjEyKTwyPzM6MTk7ZWxzZSBpZihuPT0yMClHLks9KChHLks/Ry5LKyJ+IjoiRToiKStoLm1lc3NhZ2UrUitoLnN0YWNrKS5zbGljZSgwLDIwNDgpLG49MTU7ZWxzZSBpZihuPT05NiluPTg3O2Vsc2UgaWYobj09OTIpWj1vQigxMyw3LDEsUixHLGgpPj1SLG49NjI7ZWxzZSBpZihuPT04NyluPShrfDMpPj40PDImJms+PjE+PS02Nj8yOTo4OTtlbHNlIGlmKG49PTYyKW49KGt8MjQpPT1rPzIwOjE1O2Vsc2UgaWYobj09ODkpbj0oays1JjgpPDgmJihrXjkzKT4+Mz49MT85Mjo2MjtlbHNlIGlmKG49PTE1KXJldHVybiBafX0sQVc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKGM9aztjIT00MDspe2lmKGM9PTM3KXJldHVybiBaO2lmKGM9PTY3KWM9Ry05PDwyPj1HJiYoRyszXjUpPEc/NTM6Mzc7ZWxzZSBpZihjPT04KXRoaXMudHlwZT1SLHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1oLHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLlB0PWZhbHNlLGM9MjM7ZWxzZSBpZihjPT01KWM9KEcrNSYxNCk9PTI/ODY6Njc7ZWxzZSBpZihjPT0xMyl7YTp7aWYoIShEPW51bGwsaD1ILnRydXN0ZWRUeXBlcyxoKXx8IWguY3JlYXRlUG9saWN5KXtaPUQ7YnJlYWsgYX10cnl7RD1oLmNyZWF0ZVBvbGljeShSLHtjcmVhdGVIVE1MOnBuLGNyZWF0ZVNjcmlwdDpwbixjcmVhdGVTY3JpcHRVUkw6cG59KX1jYXRjaChuKXtILmNvbnNvbGUmJkguY29uc29sZS5lcnJvcihuLm1lc3NhZ2UpfVo9RH1jPTV9ZWxzZSBjPT04Nj8oYjkuY2FsbCh0aGlzLFIsaHx8UWYublgoKSxEKSxjPTY3KTpjPT0zOT9jPShHJjc5KT09Rz84OjIzOmM9PWs/Yz0zOTpjPT01Mz8oWj10eXBlb2YgRC5jbGFzc05hbWU9PSJzdHJpbmciP0QuY2xhc3NOYW1lOkQuZ2V0QXR0cmlidXRlJiZELmdldEF0dHJpYnV0ZShSKXx8aCxjPTM3KTpjPT0yMyYmKGM9KEc8PDEmMTYpPDE2JiYoR141OSk+PjM+PTI/MTM6NSl9fSxLbj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7Zm9yKGM9Njc7YyE9Njk7KWlmKGM9PTU3KXRoaXMuc3JjPWgsdGhpcy5KeD1rLHRoaXMuWj17fSxjPTE3O2Vsc2V7aWYoYz09MTcpcmV0dXJuIEQ7Yz09Njc/Yz03NzpjPT0zMj9jPUc8PDImNT8xNzo1NzpjPT03Nz9jPShHPj4yJjMpPT1SPzM2OjMyOmM9PTM2JiYoV3UuY2FsbCh0aGlzKSx0aGlzLkk9bmV3IGpNKHRoaXMpLHRoaXMubHE9dGhpcyx0aGlzLk5vPW51bGwsYz0zMil9fSxJQj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSl7Zm9yKEk9MTc7SSE9NTE7KWlmKEk9PTY3KVouYWRkTGlzdGVuZXIoQiksST0wO2Vsc2UgaWYoST09MTcpST01MztlbHNlIGlmKEk9PTE5KUk9KGteNzQpPj40PzYxOjM3O2Vsc2UgaWYoST09MTEpST1aLmF0dGFjaEV2ZW50PzU0OjMyO2Vsc2V7aWYoST09Nyl0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoST09NzQpZm58fChuPVQpLG49PT12b2lkIDAmJihuPUcpLFouYWRkRXZlbnRMaXN0ZW5lcihjLnRvU3RyaW5nKCksQixuKSxJPTA7ZWxzZSBpZihJPT00OSlJPShrJjQ2KT09az85MzoxOTtlbHNlIGlmKEk9PTYxKUk9KGt8MjQpPT1rPzgwOjg2O2Vsc2UgaWYoST09MzcpST1jPzU1Ojc7ZWxzZSBpZihJPT04MClkPVIsST04NjtlbHNlIGlmKEk9PTg5KUk9Wi5hZGRFdmVudExpc3RlbmVyPzc0OjExO2Vsc2UgaWYoST09OTMpZD0hIShHLnJiJkQpJiZNUCg4LEQsRykhPWgmJighKGM9Ry5pcSwtMS1+KGN8RCktKGNeRCkpfHxHLmRpc3BhdGNoRXZlbnQodnUoNTYsUixELDIsNjQsOCxoLDI0KSkpJiYhRy5nLEk9MTk7ZWxzZSBpZihJPT04NSlkPXFQKFZmLFIpLEk9NDk7ZWxzZSBpZihJPT01NSlUPU5QKDQsUiwyMSxuKT8hIW4uY2FwdHVyZTohIW4sKFA9dFcoMjAsWikpfHwoWltsOV09UD1uZXcgak0oWikpLE49UC5hZGQoYyxoLEQsVCxtKSxJPTk3O2Vsc2V7aWYoST09MzYpdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtpZihJPT0wKWk5KyssST02MTtlbHNlIGlmKEk9PTUzKUk9KGstOXw4NCk8ayYmKGsrNV4zKT49az8xMDozNDtlbHNlIGlmKEk9PTU0KVouYXR0YWNoRXZlbnQoTG4oMywib24iLGMudG9TdHJpbmcoKSw0OCksQiksST0wO2Vsc2V7aWYoST09ODYpcmV0dXJuIGQ7ST09MzI/ST1aLmFkZExpc3RlbmVyJiZaLnJlbW92ZUxpc3RlbmVyPzY3OjM2Okk9PTEwPyhSLlFuJiZSLlFuLmZvckVhY2goRyx2b2lkIDApLEk9MzQpOkk9PTU5PyhCPUYxKDk0LCJvbiIsMyksTi5wcm94eT1CLEIuc3JjPVosQi5saXN0ZW5lcj1OLEk9ODkpOkk9PTk3P0k9Ti5wcm94eT82MTo1OTpJPT0zNCYmKEk9KGs8PDImMTMpPT00Pzg1OjQ5KX19fX0sZj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7e0Q9MzA7d2hpbGUoRCE9NzkpaWYoRD09OTQpRD0oa3w3KT4+Mz84ODo1MTtlbHNlIGlmKEQ9PTUxKXRoaXMuTW89SC5kb2N1bWVudHx8ZG9jdW1lbnQsRD04ODtlbHNlIGlmKEQ9PTg4KUQ9ay0yPDwyPj1rJiYoays0XjI5KTxrPzYyOjYzO2Vsc2UgaWYoRD09MzApRD05NDtlbHNlIGlmKEQ9PTYyKUMoRyxSLGgpLFJbeG5dPTI3OTYsRD02MztlbHNlIGlmKEQ9PTYzKXJldHVybiBjfX0sT1I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7e1Q9NTI7d2hpbGUoVCE9OTYpaWYoVD09NTApVD1jPT09IiJ8fGM9PXZvaWQgMD83NTo2NjtlbHNlIGlmKFQ9PTgxKVQ9Ui0yPj0xMCYmUis2PDI2PzU6ODY7ZWxzZSBpZihUPT02MilUPShSJjcwKT09Uj8yNDo3NDtlbHNlIGlmKFQ9PTc0KVQ9KFImNDUpPT1SPzE0OjExO2Vsc2UgaWYoVD09MjQpUD1mdW5jdGlvbigpe30sRD12b2lkIDAsYz1nSihHLGZ1bmN0aW9uKGQsSSl7Zm9yKEk9MTU7SSE9NjQ7KUk9PTE1P0k9UD82Nzo2NDpJPT02NyYmKGgmJnU5KGgpLEQ9ZCxQKCksUD12b2lkIDAsST02NCl9LCEhaCksWj1jWzBdLG49Y1sxXSxOPXtob3Q6ZnVuY3Rpb24oZCxJLFMsWCxNLHIsbCl7Zm9yKHI9NDc7ciE9MjU7KXtpZihyPT0xMylyZXR1cm4gTT1aKFMpLGQmJmQoTSksTTtyPT01MD8obCgpLHI9MjUpOnI9PTg0P3I9ST8zOToxMzpyPT1rPyhYPVAsUD1mdW5jdGlvbigpe1goKSx1OShsKX0scj0yNSk6cj09Mzk/cj1EPzUwOms6cj09NDcmJihsPWZ1bmN0aW9uKCl7RChmdW5jdGlvbih3KXt1OShmdW5jdGlvbigpe2Qodyl9KX0sUyl9LHI9ODQpfX0scGU6ZnVuY3Rpb24oZCl7biYmbihkKX19LFQ9NzQ7ZWxzZSBpZihUPT02NilELnNldEF0dHJpYnV0ZShtLGMpLFQ9MTE7ZWxzZSBpZihUPT01MilUPTgxO2Vsc2V7aWYoVD09MTEpcmV0dXJuIE47VD09ODY/VD0oUnw3Mik9PVI/OTI6NjI6VD09MTQ/KEFycmF5LmlzQXJyYXkoYykmJihjPWMuam9pbigiICIpKSxtPSJhcmlhLSIrWixUPTUwKTpUPT01Pyh0aGlzW3RoaXMrIiJdPXRoaXMsTj1Qcm9taXNlLnJlc29sdmUoKSxUPTg2KTpUPT05Mj8oRD1HLE49ZnVuY3Rpb24oKXtyZXR1cm4gRDxoLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpoW0QrK119Ontkb25lOnRydWV9fSxUPTYyKTpUPT0yMj8oQj1VUixaIGluIEI/RC5zZXRBdHRyaWJ1dGUobSxCW1pdKTpELnJlbW92ZUF0dHJpYnV0ZShtKSxUPTExKTpUPT02Nz8obj17fSxVUj0obi5hdG9taWM9RyxuLmF1dG9jb21wbGV0ZT0ibm9uZSIsbi5kcm9wZWZmZWN0PSJub25lIixuLmhhc3BvcHVwPUcsbi5saXZlPSJvZmYiLG4ubXVsdGlsaW5lPUcsbi5tdWx0aXNlbGVjdGFibGU9RyxuLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIsbi5yZWFkb25seT1HLG4ucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0IixuLnJlcXVpcmVkPUcsbi5zb3J0PSJub25lIixuLmJ1c3k9RyxuLmRpc2FibGVkPUcsbltoXT1HLG4uaW52YWxpZD0iZmFsc2UiLG4pLFQ9MjIpOlQ9PTc1JiYoVD1VUj8yMjo2Nyl9fX0sem89ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7e2M9Mzt3aGlsZShjIT01NilpZihjPT02OCljPShHJjEwMyk9PUc/azpSO2Vsc2V7aWYoYz09UilyZXR1cm4gWjtjPT0zNj8oaC5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChELGZ1bmN0aW9uKG4pe0pXKDM1LDcsImNsYXNzIiwyMCwiICIsInN0cmluZyIsMCxoLG4pfSk6ZSgzLCJzdHJpbmciLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChCdSgzNCwiY2xhc3MiLGgpLGZ1bmN0aW9uKG4pe3JldHVybiFlKDQ0LDAsbixEKX0pLmpvaW4oIiAiKSxoKSxjPTY4KTpjPT1rPyhaPXRoaXMubj09PTA/MDpNYXRoLnNxcnQodGhpcy5oeC90aGlzLm4pLGM9Uik6Yz09Mz9jPTY6Yz09NiYmKGM9KEd8MjQpPT1HPzM2OjY4KX19fSxxPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtKXt3aGlsZShrLTM+PjQ9PTQpe2E6e2ZvcigwO1IuVjswKXttPWtmKFIsUi5HKTticmVhayBhO2lmKDEpYnJlYWt9KGg9R04oOCxSLHRydWUpLGgmMTI4KSYmKGhePTEyOCxEPUdOKDIsUix0cnVlKSxoPShHPWg8PDIsKEcmRCktMS1+KEd8RCkpKSxtPWh9aWYoImoiKWJyZWFrfXdoaWxlKCgoa14yMSkmMjMpPT00KXthOntpZihSLlYpe209a2YoUixSLkcpO2JyZWFrIGF9aD1HTig4LFIsdHJ1ZSksaCYxMjgmJihoXj0xMjgsRz1HTigyLFIsdHJ1ZSksaD0oRD1oPDwyLChEJkcpLTEtfihEfEcpKSksbT1ofWlmKHRydWUpYnJlYWt9cmV0dXJuKCgoa14oKChrXjM4KSYxNSk+PTkmJmstNDwxOSYmKGg9UnYoRyksaCYxMjgmJihoPS1+KGgmMTI3KSsofmgmMTI3KSsoaHwtMTI4KXxSdihHKTw8UiksbT1oKSw3MCkpJjE1KT09MyYmKGg9eWZbRy5SXShHLnZWKSxoW0cuUl09ZnVuY3Rpb24oKXt3aGlsZSh0cnVlKXtyZXR1cm4gUjtpZih0cnVlIT1bXSlicmVha319LGguY29uY2F0PWZ1bmN0aW9uKEIpe1I9Qn0sbT1oKSwoKGteNTEpJjE1KT09MSkmJihtPShaPShjPWhbR108PDI0LEQ9aFsoR3wwKSsxXTw8MTYsKGN8MCkrKGNeRCkrKH5jXkQpLShjfH5EKSksbj1oWyhHfDApKzJdPDxSLC0obnwwKSsyKihaJm4pKyhaXm4pKyh+WiZuKSl8aFsoR3wwKSszXSksbX0sUkI9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7Zm9yKFA9Njk7UCE9MDspaWYoUD09NTMpbj1oLmxlbmd0aCxaPXR5cGVvZiBoPT09InN0cmluZyI/aC5zcGxpdChHKTpoLGM9UixQPTI7ZWxzZSBpZihQPT0xMilQPWstMT4+Mz09Mz85MDo1MTtlbHNlIGlmKFA9PTQ5KVA9NDc7ZWxzZSBpZihQPT0yKVA9OTQ7ZWxzZSBpZihQPT04MSlQPShrKzdeMjEpPj1rJiZrLTc8PDE8az80MTo3MjtlbHNlIGlmKFA9PTExKUQ9bj0wLFA9NDk7ZWxzZSBpZihQPT04MilEKyssUD00NztlbHNlIGlmKFA9PTk2KU49TWF0aC5mbG9vcih0aGlzLlRmKyh0aGlzLkooKS10aGlzLmtOKSksUD04MTtlbHNlIGlmKFA9PTY5KVA9NTc7ZWxzZSBpZihQPT00MiljIGluIFomJkQuY2FsbCh2b2lkIDAsWltjXSxjLGgpLFA9ODc7ZWxzZSBpZihQPT05NClQPWM8bj80MjoxMjtlbHNlIGlmKFA9PTkwKXthOmlmKEcuUC5sZW5ndGgpeyhHLm8mJiI6VFFSOlRRUjoiKCksRykuRTk9RCxHLm89dHJ1ZTt0cnl7Wj1HLkooKSxHLkUyPTAsRy5vbz0wLEcuY3Q9WixHLmtOPVosYz1jdSgyLHRydWUsMjQsbnVsbCwiOiIsRCxHKSxtPWg/MDoxMCxuPUcuSigpLUcua04sRy5UZis9bixHLkJWJiZHLkJWKG4tRy5YLEcudSxHLlcsRy5FMiksRy51PVIsRy5YPTAsRy5XPVIsbjxtfHxHLnM5LS08PTB8fChuPU1hdGguZmxvb3IobiksRy51WC5wdXNoKG48PTI1ND9uOjI1NCkpfWZpbmFsbHl7Ry5vPVJ9Tj1jO2JyZWFrIGF9UD01MX1lbHNlIGlmKFA9PTg3KWMrKyxQPTk0O2Vsc2UgaWYoUD09NTcpUD0oaysxJjYzKTxrJiYoay0yfDcwKT49az85Njo4MTtlbHNlIGlmKFA9PTU5KW4rPVIuY2hhckNvZGVBdChEKSxuKz1uPDwxMCxuPShjPW4+PjYsKG58YykrfmMtKG58fmMpKSxQPTgyO2Vsc2UgaWYoUD09NDEpe2E6e2lmKHRoaXMubj09PTApe049WzAsMF07YnJlYWsgYX1OPSh0aGlzLlQuc29ydChmdW5jdGlvbihkLEkpe3JldHVybiBkLUl9KSxbdGhpcy5uLHRoaXMuVFt0aGlzLlQubGVuZ3RoPj4xXV0pfVA9NzJ9ZWxzZSBpZihQPT03MilQPShrKzdeMTIpPGsmJmstNjw8MT49az8xMTo3MDtlbHNlIGlmKFA9PTIwKW4rPW48PDMsbl49bj4+MTEsWj1uKyhuPDwxNSk+Pj4wLG09bmV3IE51bWJlcigoQj0oVD0xPDxHLChUfDEpLShUJjEpLTIqKH5UJjEpKSwoWnwwKSsoQnwwKS0oWnxCKSkpLG1bMF09KFo+Pj5HKSVoLE49bSxQPTcwO2Vsc2V7aWYoUD09NTEpcmV0dXJuIE47UD09NDc/UD1EPFIubGVuZ3RoPzU5OjIwOlA9PTcwJiYoUD0oa3wzMik9PWs/NTM6MTIpfX0sYT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQpe2ZvcihCPTgzO0IhPTg2Oyl7aWYoQj09ODIpcmV0dXJuIFQ7aWYoQj09NjApQj0oayYxMTQpPT1rPzMyOjgyO2Vsc2V7aWYoQj09MTcpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0cpO2lmKEI9PTU2KXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK1IpO2lmKEI9PTEwKUcuUC5zcGxpY2UoMCwwLFIpLEI9MzM7ZWxzZSBpZihCPT04MylCPTM7ZWxzZSBpZihCPT0xMilCPUc/NTA6MTc7ZWxzZSBpZihCPT0zKUI9KGt8NDApPT1rPzEwOjMzO2Vsc2UgaWYoQj09NTApQj10eXBlb2YgUiE9PSJmdW5jdGlvbiI/NTY6NjA7ZWxzZSBpZihCPT0zMil7YTppZihjPXdpbmRvdy5idG9hKXtmb3IoWj0wLG49IiI7WjxoLmxlbmd0aDtaKz1HKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoUixoLnNsaWNlKFosWitHKSk7VD0obT1jKG4pLEQmJihtPW0ucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIikpLG0pO2JyZWFrIGF9Qj04Mn1lbHNlIEI9PTMzJiYoQj0oaz4+MiY3KT09MT8xMjo2MCl9fX0sQlk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD02OTtkIT0yMjspaWYoZD09NTUpREQuY2FsbCh0aGlzLGgpLGQ9NjE7ZWxzZSBpZihkPT05OClQPShUPVpEW2suc3Vic3RyaW5nKDAsMykrIl8iXSk/VChrLnN1YnN0cmluZygzKSxHLGgsRCxjLFosbixtLEIpOkpXKDM1LDcsRyw1LGspLGQ9Mjc7ZWxzZSBpZihkPT0zMilkPWM/NzQ6MTY7ZWxzZSBpZihkPT02OSlkPTk7ZWxzZSBpZihkPT0xNiltPW4/dHlwZW9mIG4ublg9PT0iZnVuY3Rpb24iP24ublgoKTpuZXcgbjpudWxsLGQ9NTc7ZWxzZSBpZihkPT0yMClkPTMyO2Vsc2UgaWYoZD09NTcpdGhpcy5DPW0sZD00MTtlbHNlIGlmKGQ9PTk3KWQ9KG49bnJbWl0pPzcxOjI2O2Vsc2UgaWYoZD09NzUpYz10aGlzLmNvbnN0cnVjdG9yLGQ9MTE7ZWxzZSBpZihkPT04NylOPWZ1bmN0aW9uKCl7fSxOLnByb3RvdHlwZT1oLnByb3RvdHlwZSxHLk89aC5wcm90b3R5cGUsRy5wcm90b3R5cGU9bmV3IE4sRy5wcm90b3R5cGUuY29uc3RydWN0b3I9RyxHLmN3PWZ1bmN0aW9uKEksUyxYKXtmb3IodmFyIE09MTk7TSE9MjU7KWlmKE09PTE5KXZhciByPUFycmF5KChNPTEsYXJndW1lbnRzLmxlbmd0aC1rKSksbD1rO2Vsc2UgaWYoTT09MilyW2wta109YXJndW1lbnRzW2xdLE09NDE7ZWxzZXtpZihNPT01MilyZXR1cm4gaC5wcm90b3R5cGVbU10uYXBwbHkoSSxyKTtNPT00MT8obCsrLE09NTMpOk09PTUzP009bDxhcmd1bWVudHMubGVuZ3RoPzI6NTI6TT09MSYmKE09NTMpfX0sZD03O2Vsc2UgaWYoZD09MjYpYz0oRD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYy5wcm90b3R5cGUpKSYmRC5jb25zdHJ1Y3RvcixkPTIwO2Vsc2UgaWYoZD09MjcpZD0oUis1JjcpPj01JiZSPj4xPDE1PzU1OjQxO2Vsc2UgaWYoZD09NjEpZD0obT1HKT81Nzo3NTtlbHNlIGlmKGQ9PTQxKWQ9KFJ8NDApPT1SPzg3Ojc7ZWxzZSBpZihkPT05KWQ9Uis0Pj4zPT0yPzk4OjI3O2Vsc2UgaWYoZD09NylkPShSfDcyKT09Uj85OTo3MztlbHNlIGlmKGQ9PTk5KVA9YSgxNixudWxsLDgxOTIsayxmYWxzZSksZD03MztlbHNle2lmKGQ9PTczKXJldHVybiBQO2Q9PTc0PyhaPUNuKDY0LDE5LGMpLGQ9OTcpOmQ9PTcxP2Q9MTY6ZD09MTEmJihkPTMyKX19LFBZPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFAsZCl7e2Q9NTU7d2hpbGUoZCE9NSlpZihkPT04NylkPTQxO2Vsc2UgaWYoZD09NTUpZD01NztlbHNlIGlmKGQ9PTQ1KXthOntpZighKFo9Ry5JLlpbU3RyaW5nKGgpXSxaKSl7UD10cnVlO2JyZWFrIGF9Zm9yKG49KFo9Wi5jb25jYXQoKSxOPXRydWUsUik7bjxaLmxlbmd0aDsrK24pKFQ9WltuXSkmJiFULmZYJiZULmNhcHR1cmU9PUQmJihCPVQuVm58fFQuc3JjLG09VC5saXN0ZW5lcixULmFvJiZySigzLFIsVCxHLkkpLE49bS5jYWxsKEIsYykhPT1mYWxzZSYmTik7UD1OJiYhYy5kZWZhdWx0UHJldmVudGVkfWQ9Mzd9ZWxzZSBpZihkPT0zNylkPWs8PDE+PTI1JiYoa3wxKT4+NTwyPzg3OjQxO2Vsc2V7aWYoZD09NDEpcmV0dXJuIFA7ZD09NTcmJihkPShrKzJeMjQpPj1rJiZrKzM+PjI8az80NTozNyl9fX0sdnU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe2ZvcihUPTQ7VCE9Njc7KWlmKFQ9PTkzKVQ9KG58OSk+PjQ/NDc6aztlbHNlIGlmKFQ9PTU1KVRvKDU0LCJvYmplY3QiLDEwLGMsbSxoLEQsRyxaKSxUPTQ3O2Vsc2UgaWYoVD09ODEpe2E6e3N3aXRjaChHKXtjYXNlIDE6Tj1aPyJkaXNhYmxlIjoiZW5hYmxlIjticmVhayBhO2Nhc2UgaDpOPVo/ImhpZ2hsaWdodCI6InVuaGlnaGxpZ2h0IjticmVhayBhO2Nhc2UgUjpOPVo/ImFjdGl2YXRlIjoiZGVhY3RpdmF0ZSI7YnJlYWsgYTtjYXNlIGM6Tj1aPyJzZWxlY3QiOiJ1bnNlbGVjdCI7YnJlYWsgYTtjYXNlIDE2Ok49Wj8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgMzI6Tj1aPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSBEOk49Wj8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31UPTczfWVsc2UgaWYoVD09NTQpVD03NDtlbHNlIGlmKFQ9PTQ3KVQ9KChuXjEyKSY4KTw0JiYobnwyKT49LTMxPzgxOjczO2Vsc2V7aWYoVD09NzMpcmV0dXJuIE47VD09MD8oRz1CdSg2LEcpLEQmJkRbZEpdP0QuSS5hZGQoU3RyaW5nKFopLEcsUixOUCg0LCJvYmplY3QiLDIwLGgpPyEhaC5jYXB0dXJlOiEhaCxtKTpJQig2Niwib2JqZWN0IixmYWxzZSxHLFIsWixELGgsbSksVD00Nyk6VD09ND9UPTkzOlQ9PTc0P1Q9QjxaLmxlbmd0aD83Nzo0NzpUPT02OT8oQj0wLFQ9NTQpOlQ9PWs/VD1oJiZoLm9uY2U/NTU6NDg6VD09OTg/KEIrKyxUPTc0KTpUPT00OD9UPUFycmF5LmlzQXJyYXkoWik/Njk6MDpUPT03NyYmKHZ1KDU2LGZhbHNlLEcsaCxELHRydWUsWltCXSw1LG0pLFQ9OTgpfX0sRTU9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5oPXRoaXMuaHg9dGhpcy5uPTB9cmV0dXJuW2Z1bmN0aW9uKGgpeyhrLmdiKGgpLFIpLmdiKGgpfSwoUj0oaz1uZXcgKEcucHJvdG90eXBlLnJKPShHLnByb3RvdHlwZS5nYj1mdW5jdGlvbihoLEQpe3JldHVybiBvQi5jYWxsKHRoaXMsMTMsNjUsaCxEKX0sZnVuY3Rpb24oKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDMpfSksRyksbmV3IEcpLGZ1bmN0aW9uKGgsRCl7cmV0dXJuIEQ9W2suckooKSxSLnJKKCksay5oLFIuaF0sKGg9PT12b2lkIDB8fGgpJiYoUj1uZXcgRyksRH0pXX0sSlc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7VD05O3doaWxlKFQhPTgwKWlmKFQ9PTkpVD00ODtlbHNle2lmKFQ9PTI1KXJldHVybiBCO1Q9PTQ4P1Q9KChoXjEzKSY0KTwzJiYoaHw5KT4+Mz49Mj81NjoxNzpUPT04NT8oRyhmdW5jdGlvbihOKXtOKEQpfSksQj1bZnVuY3Rpb24oKXtyZXR1cm4gRH0sZnVuY3Rpb24oKXt9XSxUPTI1KTpUPT01Nj8obi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QucmVtb3ZlKG0pOihuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5jb250YWlucyhtKTplKDQ2LFosbSxCdShrLEcsbikpKSYmZShSLGMsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEJ1KDMzLEcsbiksZnVuY3Rpb24oTil7cmV0dXJuIE4hPW19KS5qb2luKEQpLG4pLFQ9MTcpOlQ9PTE3JiYoVD1oPj4yPDE2JiYoaCsxJjIpPj0xPzg1OjI1KX19fSxGMT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e049MjY7d2hpbGUoTiE9MTcpaWYoTj09NDIpYz10cnVlLE49NDY7ZWxzZSBpZihOPT04MylUPWZ1bmN0aW9uKFApe3JldHVybiBoLmNhbGwoVC5zcmMsVC5saXN0ZW5lcixQKX0saD10byxCPVQsTj0yMTtlbHNlIGlmKE49PTYwKW09bmV3IHJVKEQsdGhpcyksWj1oLlZufHxoLnNyYyxuPWgubGlzdGVuZXIsaC5hbyYmY1koMzMsbnVsbCwzLFIsaCksYz1uLmNhbGwoWixtKSxOPTQ2O2Vsc2UgaWYoTj09MjYpTj1rO2Vsc2V7aWYoTj09NTcpcmV0dXJuIEI7Tj09MjE/Tj0oR14yNCk8NyYmRy03Pj01PzMwOjU3Ok49PWs/Tj0oRz4+MSY3KT09MT84MzoyMTpOPT0zMD9OPWguZlg/NDI6NjA6Tj09NDYmJihCPWMsTj01Nyl9fX0sYXY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7d2hpbGUoIVIueW4mJihCPXZvaWQgMCxoJiZoWzBdPT09d1UmJihCPWhbMl0sRz1oWzFdLGg9dm9pZCAwKSxuPVYoayxSKSxuLmxlbmd0aD09MCYmKEQ9VigxNjgsUik+PjMsbi5wdXNoKEcsRD4+OCYyNTUsRCYyNTUpLEIhPXZvaWQgMCYmbi5wdXNoKEImMjU1KSksUD0iIixoJiYoaC5tZXNzYWdlJiYoUCs9aC5tZXNzYWdlKSxoLnN0YWNrJiYoUCs9IjoiK2guc3RhY2spKSxtPVcoUiwzMDIpLG1bMF0+MykpeyhUPShQPShtWzBdLT0oUD1QLnNsaWNlKDAsKG1bMF18MCktMyksWj1QLmxlbmd0aCwoWnwzKS1+Wisoflp8MykpLGVlKShQLDEyOCksUikuQixSKS5CPVI7dHJ5e1IuSHQ/KE49KE49Vig0NDYsUikpJiZOW04ubGVuZ3RoLTFdfHw5NSwoYz1XKFIsMTYzKSkmJmNbYy5sZW5ndGgtMV09PU58fGxOKDE2MyxbTiYyNTVdLDcsUikpOmplKDQ0NixbOTVdLFIpLGxOKDQyLEsoMixQLmxlbmd0aCkuY29uY2F0KFApLDcsUiwxNDQpfWZpbmFsbHl7Ui5CPVR9aWYoe30pYnJlYWt9fSxHTj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSxTKXtpZihoPVYoMTQyLFIpLGg+PVIuail0aHJvd1t3VSwzMV07Zm9yKGM9KEk9KG09KE49MCxoKSxSLkNqKS5sZW5ndGgsayk7Yz4wOylaPW0+PjMsUz1tJTgsUD1SLndiW1pdLG49OC0oU3wwKSxCPW48Yz9uOmMsRyYmKGQ9UixkLmwhPW0+PjYmJihkLmw9bT4+NixEPWIoZCwzNjMpLGQud0o9eWgoMTYsZC5sLDI1NSxkLk4sWzAsMCxEWzFdLERbMl1dKSksUF49Ui53SltaJkldKSxOfD0oUD4+OC0oU3wwKS0oQnwwKSYoMTw8QiktMSk8PChjfDApLShCfDApLG0rPUIsYy09QjtyZXR1cm4gQygxNDIsKGh8MCkrKGt8KFQ9TiwwKSksUiksVH0sWT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7KFIrNyY0NCk+PVImJlIrND4+MjxSJiYoaD1bLTc1LC0zMSw3MSwtMzUsNDYsLTEwMCxoLDk0LDUwLC03OF0sWj1jJjcsbT1TZSxCPXlmW0cuUl0oRy5KcyksQltHLlJdPWZ1bmN0aW9uKFApe249UDt3aGlsZShudWxsPT1mYWxzZT09MClpZighKForPTYrNypjLFtdKT09dHJ1ZT09IVtdKWJyZWFrO1o9MTYrfihafDcpK2sqKFomLTgpKyh+Wl43KX0sQi5jb25jYXQ9ZnVuY3Rpb24oUCxkLEkpe3JldHVybihkPShuPShQPShJPUQlMTYrMSwrKG0oKXwwKSpJLTc4KkQqRCpuKzM5Km4qbi0yMjYyKm4rWi0gLTEyMDkqRCpuK2hbWisxOSY3XSpEKkkpLUkqbitrKkQqRCpJLHZvaWQgMCksaFtQXSksaClbKForNjEmNykrKC0yLWsqfihjfGspK2sqKH5jXmspKyh+YyZrKSldPWQsaFtaKygtfihjJmspKyhjXmspLSh+YyZrKSsofmN8aykpXT0tMzEsZH0sTj1CKTtzd2l0Y2goISgoUl4xMyk8MjQmJihSXjkwKT49MTgpKXtjYXNlIHRydWU6TnVtYmVyKHRydWUudHJ1ZSk7YnJlYWs7Y2FzZSB0cnVlPT1bXTpzd2l0Y2goIShEPVhYKCJhcnJheSIsaCwibnVsbCIpPT09ImFycmF5Ij9oOltoXSx0aGlzLkspKXtjYXNlIHRydWU6dHJ5e2M9IXRoaXMuUC5sZW5ndGgmJiF0aGlzLm8sYSg1NyxbJGYsW10sRCxrLEddLHRoaXMpLEcmJiFjfHxSQigyNyxmYWxzZSx0aGlzLHRydWUsRyl9Y2F0Y2goUCl7ZSg1NiwiOiIsdGhpcyxQKSxrKHRoaXMuSyl9YnJlYWs7Y2FzZSB0cnVlPT1bXT09bnVsbDprKHRoaXMuSyk7YnJlYWt9YnJlYWt9KFIrM14xMik+PVImJihSKzJeMjcpPFImJihOPVQ9ZnVuY3Rpb24oKXt7dmFyIFA9NzE7d2hpbGUoUCE9OSlpZihQPT0xNil2YXIgZD1bTVQsKFA9OTcsYyksaCx2b2lkIDAsbixtLGFyZ3VtZW50c107ZWxzZSBpZihQPT01OSlQPVouWT8xNjo4ODtlbHNlIGlmKFA9PTk3KVA9RD09Rz83OTozNTtlbHNlIGlmKFA9PTM1KVA9RD09MT81NjoyNztlbHNlIGlmKFA9PTI3KXt2YXIgST1rbihkLDIsdHJ1ZSxaKTtQPTk5fWVsc2UgaWYoUD09NTYpe3ZhciBTPSFaLlAubGVuZ3RoJiYhWi5vO2EoNDMsZCxaKSxTJiZSQigyOCxmYWxzZSxaLGssayksUD05OX1lbHNlIGlmKFA9PTg4KW4mJm0mJm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihtLFQsb3YpLFA9OTtlbHNle2lmKFA9PTk5KXJldHVybiBJO1A9PTcxP1A9Wi5CPT1aPzU5Ojk6UD09NzkmJihhKDQyLGQsWiksST1SQigyOSxmYWxzZSxaLGssayksUD05OSl9fX0pO3N3aXRjaCghKChSfDcyKT09Uikpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgW109PShbXSE9KCFbXT09MCkpOmE6e2lmKGsuVil7Tj1rZihrLGsuRyk7YnJlYWsgYX0oRz1HTig4LGssdHJ1ZSksRyYxMjgpJiYoR149MTI4LGg9R04oMixrLHRydWUpLEc9KEQ9Rzw8MiwoRCZoKS0xLX4oRHxoKSkpLE49R31icmVha313aGlsZShSPj4yPj05JiYoKFJeMTkpJjI0KTwxOSl7RD1xKDE3LEcpO3tjPTA7d2hpbGUoaD4wKWM9Yzw8a3xSdihHKSxoLS19aWYoIVtdPT0oMCE9IShDKEQsYyxHKSxbXSkpKWJyZWFrfXJldHVybiBOfSxzNT1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDksayl9LENyPWZ1bmN0aW9uKGssUil7e3ZhciBHPTkzO3doaWxlKEchPTUxKWlmKEc9PTkzKXZhciBoPShHPTUwLDEpO2Vsc2UgaWYoRz09NjQpRz1oPGFyZ3VtZW50cy5sZW5ndGg/NzU6NTE7ZWxzZSBpZihHPT03NSl7dmFyIEQ9YXJndW1lbnRzW2hdO2ZvcihaIGluIEQpa1taXT1EW1pdO3ZhciBjPShHPTk2LDApfWVsc2UgaWYoRz09OTYpRz04NDtlbHNlIGlmKEc9PTUwKUc9NjQ7ZWxzZSBpZihHPT03MiljKyssRz04NDtlbHNlIGlmKEc9PTg0KUc9YzxIWS5sZW5ndGg/ODA6MjtlbHNlIGlmKEc9PTIpaCsrLEc9NjQ7ZWxzZSBpZihHPT04MCl7dmFyIFo9SFlbY107T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsWikmJihrW1pdPURbWl0pLEc9NzJ9fX0sTlQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEkpe2ZvcihkPTI0O2QhPTE5OylpZihkPT05NilBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEcsZnVuY3Rpb24oUyxYLE0pe2ZvcihNPTI0O00hPTI2OylNPT0yND9NPWsuY2xhc3NMaXN0PzYwOjQ5Ok09PTQ5P009KGsuY2xhc3NMaXN0P2suY2xhc3NMaXN0LmNvbnRhaW5zKFMpOmUoNDUsMCxTLEJ1KDMyLCJjbGFzcyIsaykpKT8yNjo1NTpNPT01NT8oWD1BVyg0MSwiY2xhc3MiLDI4LCIiLGspLGUoNiwic3RyaW5nIixYKyhYLmxlbmd0aD4wPyIgIitTOlMpLGspLE09MjYpOk09PTYwJiYoay5jbGFzc0xpc3QuYWRkKFMpLE09MjYpfSksZD0yNztlbHNlIGlmKGQ9PTkwKWQ9KFI8PDEmOSk+PTEmJihSPj4yJjEyKTw2Pzg2OjI3O2Vsc2UgaWYoZD09MjQpZD02MTtlbHNlIGlmKGQ9PTg2KWQ9ay5jbGFzc0xpc3Q/OTY6NztlbHNlIGlmKGQ9PTI3KWQ9KFJeMzQpPDI2JiYoUisxJjE1KT49OT81ODo5NztlbHNlIGlmKGQ9PTEwKWQ9YzxoLmxlbmd0aD8zMzo3NDtlbHNlIGlmKGQ9PTEzKWMrKyxkPTEwO2Vsc2V7aWYoZD09OTcpcmV0dXJuIEk7aWYoZD09Nyl7Zm9yKGMgaW4gaD0oKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoKEQ9e30sQnUpKDM2LCJjbGFzcyIsayksZnVuY3Rpb24oUyl7RFtTXT10cnVlfSksQXJyYXkucHJvdG90eXBlKS5mb3JFYWNoLmNhbGwoRyxmdW5jdGlvbihTKXtEW1NdPXRydWV9KSwiIiksRCloKz1oLmxlbmd0aD4wPyIgIitjOmM7ZD0oZSg1LCJzdHJpbmciLGgsayksMjcpfWVsc2UgaWYoZD09ODkpZD1EPms/Njo1NztlbHNlIGlmKGQ9PTYpWltuKytdPUQmayxEPj49OCxkPTU3O2Vsc2UgaWYoZD09MzMpRD1oLmNoYXJDb2RlQXQoYyksZD04OTtlbHNlIGlmKGQ9PTc0KUk9WixkPTk3O2Vsc2UgaWYoZD09OTQpZD0xMDtlbHNlIGlmKGQ9PTU3KVpbbisrXT1ELGQ9MTM7ZWxzZSBpZihkPT01OCluPWM9RyxaPVtdLGQ9OTQ7ZWxzZSBpZihkPT04KXthOntpZihELkI9KChELkgrPShaPShuPShjfHxELm9vKyssRC5xbz4wJiZELm8mJkQuRTkpJiZELkQ3PD0xJiYhRC5WJiYhRC5TJiYoIWN8fEQuZEotRz4xKSYmZG9jdW1lbnQuaGlkZGVuPT1rLChCPUQub289PTQpfHxuP0QuSigpOkQuY3QpLG09Wi1ELmN0LG0pPj4xND4wLEQpLk4mJihELk49KFQ9RC5OLE49KEQuSCsxPj4yKSoobTw8MiksLSh+VF5OKSsoflQmTikrKFR8fk4pKSksRC5IKzE+PjIhPTB8fEQuQiksQnx8bilELm9vPTAsRC5jdD1aO2lmKCFuKXtJPWs7YnJlYWsgYX1pZigoRC5xbz5ELkUyJiYoRC5FMj1ELnFvKSxaLUQua04pPEQucW8tKGg/MjU1OmM/NToyKSl7ST1rO2JyZWFrIGF9ST0oQygxNDIsKFA9VihjPzE2ODoxNDIsKEQuZEo9RyxEKSksRC5qKSxEKSxELlAucHVzaChbbWMsUCxjP0crMTpHLEQudSxELlddKSx0cnVlKSxELlM9dTl9ZD02NH1lbHNlIGQ9PTE3PyhJPWsmJmsucGFyZW50Tm9kZT9rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoayk6bnVsbCxkPTkwKTpkPT02ND9kPShSKzReMTApPj1SJiYoUis0XjI1KTxSPzE3OjkwOmQ9PTYxJiYoZD1SPj4xJjE1PzY0OjgpfX0sTG49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2ZvcihuPTgwO24hPTk1Oyl7aWYobj09MTUpcmV0dXJuIG07bj09Nzg/bj0oaC1rJjcpPT0xPzU1OjgxOm49PTU1Pyh0aGlzLmxpc3RlbmVyPVosdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPWMsdGhpcy50eXBlPUcsdGhpcy5jYXB0dXJlPSEhRCx0aGlzLlZuPVIsdGhpcy5rZXk9KytJdix0aGlzLmFvPXRoaXMuZlg9ZmFsc2Usbj04MSk6bj09NTY/KG09RyBpbiBUTj9UTltHXTpUTltHXT1SK0csbj0xNSk6bj09Mzg/bj0oaHw0OCk9PWg/NTY6MTU6bj09MTM/KEcucFgoZnVuY3Rpb24oQil7Yz1CfSxSLEQpLG09YyxuPTM4KTpuPT04MT9uPWgtNyY1PzM4OjEzOm49PTgwJiYobj03OCl9fSxCdT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQpe2ZvcihQPTI1O1AhPTU2OylpZihQPT00MCltPXRXKDY4LG4pLFA9NDc7ZWxzZSBpZihQPT0zMyluLkkucmVtb3ZlKFN0cmluZyhaKSxELEIsYyksUD05MztlbHNlIGlmKFA9PTQ3KVA9bT82Njo5MztlbHNlIGlmKFA9PTQ0KU49UixQPTE4O2Vsc2UgaWYoUD09NzMpUD0oa3wzMik9PWs/NTk6NDg7ZWxzZXtpZihQPT00OClyZXR1cm4gZDtpZihQPT01MilQPUFycmF5LmlzQXJyYXkoWik/NDQ6MzE7ZWxzZSBpZihQPT01OSlkPUcuY2xhc3NMaXN0P0cuY2xhc3NMaXN0OkFXKDQxLFIsMjYsIiIsRykubWF0Y2goL1xcUysvZyl8fFtdLFA9NDg7ZWxzZSBpZihQPT03MClQPWsrNj4+ND83Mzo5NDtlbHNlIGlmKFA9PTk0KXthOntpZih0eXBlb2YgUj09PSJmdW5jdGlvbiIpe2Q9UjticmVhayBhfWQ9KFJbZFVdfHwoUltkVV09ZnVuY3Rpb24oSSl7cmV0dXJuIFIuaGFuZGxlRXZlbnQoSSl9KSxSW2RVXSl9UD03M31lbHNlIGlmKFA9PTE4KVA9MzA7ZWxzZSBpZihQPT05MylQPShrLTdeMjMpPj1rJiYoays3JjI1KTxrPzc3OjcwO2Vsc2UgaWYoUD09MzcpUD0oa3w5KT4+Mz09Mz81Mjo5MztlbHNlIGlmKFA9PTI1KVA9Mzc7ZWxzZSBpZihQPT01MylQPW4mJm5bZEpdPzMzOjg5O2Vsc2UgaWYoUD09ODkpUD1uPzQwOjkzO2Vsc2UgaWYoUD09ODIpTisrLFA9MzA7ZWxzZSBpZihQPT0zMSlCPU5QKDQsRywxNyxoKT8hIWguY2FwdHVyZTohIWgsRD1CdSg1LEQpLFA9NTM7ZWxzZSBpZihQPT0yMSlCdSgxNywwLCJvYmplY3QiLGgsRCxjLFpbTl0sbiksUD04MjtlbHNlIGlmKFA9PTc3KXtmb3IoWiBpbihEPVIsaCkuWil7Zm9yKGM9KG49aC5aW1pdLFIpO2M8bi5sZW5ndGg7YysrKSsrRCxoVyg4LEcsbltjXSk7ZGVsZXRlIGguWltoLkp4LS0sWl19UD03MH1lbHNlIFA9PTY2PygoVD1tLkNYKFosRCxjLEIpKSYmY1koMzMsbnVsbCw1LCJvbiIsVCksUD05Myk6UD09MzAmJihQPU48Wi5sZW5ndGg/MjE6OTMpfX0sTlA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9OTY7WiE9NzM7KWlmKFo9PTU4KVo9KEd8MTYpPT1HPzQ3OjcwO2Vsc2V7aWYoWj09NzApcmV0dXJuIGM7Wj09NjY/Wj0oRysyXjIwKT49RyYmKEcrayY1Nyk8Rz82OTo1ODpaPT00Nz8oRD10eXBlb2YgaCxjPUQ9PVImJmghPW51bGx8fEQ9PSJmdW5jdGlvbiIsWj03MCk6Wj09Njk/KHRoaXMuS2o9UixaPTU4KTpaPT05NiYmKFo9NjYpfX0sY1k9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXtmb3IoQj05NTtCIT0wOylpZihCPT04KXRoaXMubisrLEI9ODE7ZWxzZSBpZihCPT05NylCPW0/ODA6Mzc7ZWxzZSBpZihCPT05NClCPXR5cGVvZiBEIT09Im51bWJlciImJkQmJiFELmZYPzE1OjMyO2Vsc2UgaWYoQj09MTUpYz1ELnNyYyxCPTEzO2Vsc2UgaWYoQj09ODApckooaywwLEQsbSksQj0yNjtlbHNlIGlmKEI9PTI2KUI9bS5KeD09MD82MzozMjtlbHNlIGlmKEI9PTY1KXRoaXMuVC5wdXNoKFIpLEI9MTg7ZWxzZSBpZihCPT0zNyloVyg3LHRydWUsRCksQj0zMjtlbHNlIGlmKEI9PTEzKUI9YyYmY1tkSl0/OTE6Mzk7ZWxzZSBpZihCPT02NyloPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLGg8NTAmJih0aGlzLlRbaF09UiksQj0xODtlbHNlIGlmKEI9PTM5KVo9RC50eXBlLG49RC5wcm94eSxjLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yy5yZW1vdmVFdmVudExpc3RlbmVyKFosbixELmNhcHR1cmUpOmMuZGV0YWNoRXZlbnQ/Yy5kZXRhY2hFdmVudChMbigzLGgsWiw1MCksbik6Yy5hZGRMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lcihuKSxpOS0tLG09dFcoMjEsYyksQj05NztlbHNlIGlmKEI9PTE5KUI9Ry04PDwyPj1HJiZHKzI+PjE8Rz84OjE4O2Vsc2UgaWYoQj09OTEpckooMzIsMCxELGMuSSksQj0zMjtlbHNlIGlmKEI9PTk1KUI9MTk7ZWxzZSBpZihCPT04MSlCPXRoaXMuVC5sZW5ndGg8NTA/NjU6Njc7ZWxzZSBpZihCPT02MyltLnNyYz1SLGNbbDldPVIsQj0zMjtlbHNle2lmKEI9PTMyKXJldHVybiBUO0I9PTE4JiYoQj0oR3wxKT4+Mz8zMjo5NCl9fSxLPWZ1bmN0aW9uKGssUixHLGgsRCl7Zm9yKGg9LX4oayYxKSsoRD1bXSwtMikrKGsmLTIpO2g+PTA7aC0tKURbfihrJjEpLTMqfmsrMip+KGt8MSkrKH5rJjEpLShofDApXT0oRz1SPj5oKjgsLTIqfihHJjI1NSktMSt+RysoRyYtMjU2KSk7aWYoe30pcmV0dXJuIER9LGZyPWZ1bmN0aW9uKCl7cmV0dXJuIFBZLmNhbGwodGhpcywxNCl9LFE9ZnVuY3Rpb24oayxSLEcpe3N3aXRjaCghKFI9PTE0Mnx8Uj09MTY4KSl7Y2FzZSB0cnVlOmlmKGsueW4mJlIhPTM2MylyZXR1cm47Uj09NDg4fHxSPT00Mnx8Uj09MjY0fHxSPT0xNHx8Uj09NTA2fHxSPT00NDZ8fFI9PTE2M3x8Uj09OTV8fFI9PTE5MXx8Uj09MzAyP2suWVtSXXx8KGsuWVtSXT1ZKDIsMzQsayxHLFIsMzgpKTprLllbUl09WSgyLDMzLGssRyxSLDEyOSk7YnJlYWs7Y2FzZSAhW106ay5ZW1JdP2suWVtSXS5jb25jYXQoRyk6ay5ZW1JdPXEoMjEsRyxrKTticmVha31SPT0zNjMmJihrLk49R04oMzIsayxmYWxzZSksay5sPXZvaWQgMCl9LER5PXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oayl7ZnVuY3Rpb24gUigpe31yZXR1cm4gUi5wcm90b3R5cGU9ayxuZXcgUn0sREQ9ZnVuY3Rpb24oayl7cmV0dXJuIFRvLmNhbGwodGhpcyw1NCxrLDI1KX0samU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe3N3aXRjaCghKEcuQj09Rykpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgISFudWxsOnttPWIoRyxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8oRD1mdW5jdGlvbihCLFQsTixQLGQsSSxTLFgpe2ZvcihJPShYPTE4LDg5KTs7KXRyeXtpZihYPT0zMylicmVhaztlbHNlIGlmKFg9PTU3KW0ucHVzaChtLkdmWy0oVHw3KS0yKn4oVHw3KSsoVHwtOCkrKH5UfDcpXV5CKSxYPTMzO2Vsc2V7aWYoWD09MzkpdGhyb3cgST04OSxTO1g9PTUwP1g9bS5tQiE9Tj81NDo1NzpYPT02OD8oST0zNixtLkdmPXloKDE2LHEoNTAsOCwtMS0yKn4oUHw0KSsoflBeNCksbSksMjU1LHEoMTgsOCxQLG0pLGQpLFg9NTcpOlg9PTU0PyhQPShOPDwzKS00LGQ9WzAsMCxjWzFdLGNbMl1dLG0ubUI9TixYPTY4KTpYPT0xOCYmKFQ9bS5sZW5ndGgsTj0oVHwwKS00Pj4zLFg9NTApfX1jYXRjaChNKXtpZihJPT04OSl0aHJvdyBNO0k9PTM2JiYoUz1NLFg9MzkpfX0sYz1WKDk1LEcpKTpEPWZ1bmN0aW9uKEIpe20ucHVzaChCKX0saCYmRCgoaHwwKS0gLTUxMisyKn4oaHwyNTUpKyhoJi0yNTYpKSxuPVIubGVuZ3RoLFo9MDt3aGlsZShaPG4pRChSW1pdKSxaKyt9YnJlYWt9fSxQZD1mdW5jdGlvbihrKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssMTYpfSxoMD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiw2LGssUixHLGgsRCxjKX0sYjk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssOCxSLEcsaCxELGMsWixuKX0sak09ZnVuY3Rpb24oayl7cmV0dXJuIEtuLmNhbGwodGhpcywwLDEsOCxrKX0sUnY9ZnVuY3Rpb24oayl7cmV0dXJuIGsuVj9rZihrLGsuRyk6R04oOCxrLHRydWUpfSx5aD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4pe1o9KGM9MCxEWzNdfDApO3tuPURbMl18MDt3aGlsZShjPGspUj1SPj4+OHxSPDwyNCxSKz1ofDAsWj1aPj4+OHxaPDwyNCxoPWg8PDN8aD4+PjI5LForPW58MCxSXj1uKzY1OSxuPW48PDN8bj4+PjI5LGhePVIsWl49Yys2NTksbl49WixjKyt9cmV0dXJuW2g+Pj4yNCZHLGg+Pj5rJkcsaD4+PjgmRyxoPj4+MCZHLFI+Pj4yNCZHLFI+Pj5rJkcsUj4+PjgmRyxSPj4+MCZHXX0sY2Q9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe0I9KGMuSnM9dFcoNzcsKGMuQ2o9Y1tBb10sYy5nSj14ZixjLllEPUpvLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25jYXQoKX19KSxjLlIpLGMudlY9eWZbYy5SXShjLkpzLHt2YWx1ZTp7dmFsdWU6e319fSksMCk7e049W107d2hpbGUoQjwzODMpTltCXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpLEIrK31pZihjLlJhPShjLmN0PShjLkI9KGMuRno9W10sYy5WVD1mdW5jdGlvbihQKXtyZXR1cm4gb0IuY2FsbCh0aGlzLDEzLDEyLFApfSwoYy5FMj0oYy5QPVtdLDApLGMuWT1bXSxjLlc9ZmFsc2UsYy53Yj1bXSxjKS5OPShjLks9KGMuRz12b2lkIDAsYy5Eaz1bXSx2b2lkIDApLFQ9d2luZG93LnBlcmZvcm1hbmNlfHx7fSx2b2lkIDApLGMpLDApLFQudGltZU9yaWdpbil8fChULnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCx0cnVlKWMud0o9dm9pZCAwO2MudT0oYy55VD0oKGMuVGU9RyxjLmRKPTMwMDAxLGMpLkQ3PTAsKGMuWD0wLGMpLnZ0PShjLm89ZmFsc2UsYy5CVj0oYy5PXz1ELG0pLFtdKSwwKSxmYWxzZSk7d2hpbGUoLTA9PT0wKWlmKChjLnM5PTI1LFtdKSE9dHJ1ZSlicmVhaztpZihjLnluPSEoYy5TbT0oKGMuVTk9W10sYy5sPXZvaWQgMCxjLlM9bnVsbCxjLnVYPShjLkJ3PTAsYy5xbz0wLGMuaj0wLFtdKSxjLlY9dm9pZCAwLGMuSHQ9IShjLkU5PWZhbHNlLGMub289dm9pZCAwLDEpLGMpLmtOPShjLlRmPTAsYy5IPTEsYy5XdD12b2lkIDAsMCksW10pLDEpLFomJloubGVuZ3RoPT0yJiYoYy5Eaz1aWzFdLGMuVTk9WlswXSksUil0cnl7Yy5XdD1KU09OLnBhcnNlKFIpfWNhdGNoKFApe2MuV3Q9e319ZigoZigyNixmdW5jdGlvbihQLGQsSSxTLFgpe3tYPTA7d2hpbGUoWCE9NjYpWD09ODg/KEk9cSgyNSxQKSxTPVkoUCw3MyksUShQLFMsZnVuY3Rpb24oTSl7cmV0dXJuIGV2YWwoTSl9KHpOKFYoSSxQLkIpKSkpLFg9NjYpOlg9PTAmJihYPU5UKGZhbHNlLDMyLGQsZmFsc2UsUCx0cnVlKT82Njo4OCl9fSwoKGYoKGYoMTYsZnVuY3Rpb24oUCl7a2ooMyxQKX0sKEMoMTQsKGYoKEEoMjY0LChmKDIzLChmKDIwLCgoZigxNywoZigyNywoZigxOCwoKGYoMjEsZnVuY3Rpb24oKXt9LDMyMywoZigyMCwoZigyMyxmdW5jdGlvbihQLGQsSSxTKXtBKChJPShTPShkPXEoNzEsUCksUnYpKFApLFkoUCw3NykpLEkpLFAsVyhQLGQpPj4+Uyl9LChDKDQyLChBKDE1NixjLChRKGMsKFEoYyw0ODgsKEEoMTkxLGMsKEMoOTUsKEMoNTUsKGYoMjUsKEMoNTA2LFtdLCgoQSgoZigxMyxmdW5jdGlvbihQLGQsSSxTLFgpe2ZvcihYPTU1O1ghPTQyOylYPT0zNz8oZC0tLFg9OTIpOlg9PTkyP1g9ZD4wPzkzOjk3Olg9PTU1PyhJPVAuRnoucG9wKCksWD0yOSk6WD09ODc/KFEoUCwxNDIsUC5qKSxYPTQyKTpYPT03MD9YPTkyOlg9PTk3PyhJWzUwNl09UC5ZWzUwNl0sSVszMDJdPVAuWVszMDJdLFAuWT1JLFg9NDIpOlg9PTI5P1g9ST82Nzo4NzpYPT05Mz8oUz1xKDI1LFApLElbU109UC5ZW1NdLFg9MzcpOlg9PTY3JiYoZD1SdihQKSxYPTcwKX0sKGMud049KChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtmb3IoTT03MTtNIT00MDspTT09NzE/TT1OVChmYWxzZSw2NCxkLGZhbHNlLFAsdHJ1ZSk/NDA6OTc6TT09NDg/TT1QLkI9PVB8fEk9PVAuVlQmJlM9PVA/MTk6NDA6TT09OTc/KFg9cVQoNzEsNzQsUCwwLDEpLFM9WC5rZSxJPVguUFYsTT00OCk6TT09MTkmJihBKFgucW0sUCxJLmFwcGx5KFMsWC5MKSksUC5jdD1QLkooKSxNPTQwKX0sKGYoKGYoKChBKDE1NyxjLChmKChmKDI1LChDKDE2OCwoQSgxNDIsYywoZigoZigxOCwoZigyMixmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9MjQ7dyE9ODY7KXc9PTQ/KFEoUCxyLEkpLHc9ODYpOnc9PTQ0PyhkPShNPXEoMTIsNyxQKSwtMip+KGR8TSkrKGR8fk0pKyh+ZHxNKSklbCxJLnB1c2goU1tkXSksdz0yOSk6dz09MjQ/KHI9WShQLDc3KSxYPXEoMTEsNyxQKSxJPVtdLFM9VyhQLDM5MyksZD0wLGw9Uy5sZW5ndGgsdz03MCk6dz09MjM/dz1YLS0/NDQ6NDp3PT0yOT93PTIzOnc9PTcwJiYodz0yMyl9LDMxMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9NjY7dyE9MzU7KXc9PTYwP3c9bDxkLmxlbmd0aD83MjoyODp3PT03Mj8oWCs9U3RyaW5nLmZyb21DaGFyQ29kZShkW2xdXjEyMSksdz00Myk6dz09NDM/KGwrKyx3PTYwKTp3PT04ND93PTYwOnc9PTY2PyhJPXEoODksUCkscj1xKDcyLFApLE09WShQLDc3KSxkPVcoUCxyKSxTPWIoUCxJKSxsPTAsWD0iIix3PTg0KTp3PT0yOCYmKEMoTSxTW1hdLFApLHc9MzUpfSksMTM2LGMpLDI3KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyxFKXt7RT04NDt3aGlsZShFIT0xNClFPT0yND8oTSs9U3RyaW5nLmZyb21DaGFyQ29kZSgoUz1kW3ddLDMqfihTJjEyMSktMip+Uy0gLTI0NCt+KFN8MTIxKSkpLEU9OTMpOkU9PTkzPyh3KyssRT0xOSk6RT09ODQ/KFg9WShQLDc0KSxJPVkoUCw3NCkscj1ZKFAsNzIpLGw9VyhQLEkpLGQ9VyhQLFgpLE09IiIsdz0wLEU9NDIpOkU9PTM0PyhBKHIsUCxNIGluIGx8MCksRT0xNCk6RT09MTk/RT13PGQubGVuZ3RoPzI0OjM0OkU9PTQyJiYoRT0xOSl9fSwyMjEsYyksMCkpLDApLGMpLGZ1bmN0aW9uKFAsZCxJKXtkPVkoKEk9WShQLDc2KSxQKSw3NiksQShkLFAsIiIrVyhQLEkpKX0pLDEwNixjKSwyMiksZnVuY3Rpb24oUCxkLEksUyxYLE0pe3tNPTM4O3doaWxlKE0hPTk3KU09PTE5PyhYKyssTT02OCk6TT09OD8oQShTLFAsZCksTT05Nyk6TT09Njg/TT1YPEk/MjY6ODpNPT04NT9NPTY4Ok09PTM4PyhTPXEoNjcsUCksST1xKDksNyxQKSxYPTAsZD1bXSxNPTg1KTpNPT0yNiYmKGQucHVzaChSdihQKSksTT0xOSl9fSwzMzUsYykse30pKSxjKS54ZT0wLDE2KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyKXtmb3Iocj05NDtyIT04OTspaWYocj09NjEpcj1YPFAudnQubGVuZ3RoPzc0Ojk4O2Vsc2UgaWYocj09OTQpe2ZvcihJIGluIGRlbGV0ZSAoZD0oUz1SdihQKSxXKShQLDU1KSxkKVtTXSxkKWlmKEkhPT0idCImJk9iamVjdC5oYXNPd24oZCxJKSlyZXR1cm47cj0oWD0wLDQ0KX1lbHNlIHI9PTY5PyhYKysscj02MSk6cj09ODU/KEguY2xlYXJUaW1lb3V0KE0uSWEpLGEoNDYsTS5RVCxQKSxhKDQ1LE0uYWEsUCkscj02OSk6cj09Nzg/cj1NLk1tPzY5Ojg1OnI9PTk4PyhQLnZ0Lmxlbmd0aD0wLHI9ODkpOnI9PTc0PyhNPVAudnRbWF0scj03OCk6cj09NDQmJihyPTYxKX0sMzI5LGMpLDI0KSxmdW5jdGlvbihQLGQsSSl7KGQ9YigoST1ZKFAsNzUpLFAuQiksSSksZFswXSkucmVtb3ZlRXZlbnRMaXN0ZW5lcihkWzFdLGRbMl0sb3YpfSwxMzcsYyksMzEwKSxjKSxuZXcgZ1UoIlN1Ym1pdCIpKS5kaXNwb3NlKCksMCksMzI3KSxjKSw0MSksYywxODMpLGYpKDE2LGZ1bmN0aW9uKFApe3VOKDQsUCl9LDEzNCxjKSxjKSksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGLCRuLEdvLEosdil7Zm9yKHY9MDt2IT0yNzspaWYodj09NjkpRT1yLmxlbmd0aCxGPUY+MD9GOjEsdz0wLHY9MTE7ZWxzZSBpZih2PT04NSl2PXc8RT83OjI3O2Vsc2UgaWYodj09NjYpbD1xKDczLFApLCRuPXEoNzYsUCksR289cSg0OSxQKSxJPXEoNTcsUCksUz1XKFAsJG4pLHI9VyhQLGwpLE09VihJLFApLEY9VihHbyxQKSx2PTM3O2Vsc2UgaWYodj09Mzcpdj1YWCgiYXJyYXkiLHIsIm51bGwiKT09Im9iamVjdCI/OTA6Nzk7ZWxzZSBpZih2PT0wKXY9TlQoZmFsc2UsMzIsZCx0cnVlLFAsdHJ1ZSk/Mjc6NjY7ZWxzZSBpZih2PT03KVMoci5zbGljZSh3LCh3fDApKyhGfDApKSxNKSx2PTU5O2Vsc2UgaWYodj09MTEpdj04NTtlbHNlIGlmKHY9PTkwKXtmb3IoWCBpbiBKPVtdLHIpSi5wdXNoKFgpO3Y9KHI9Siw3OSl9ZWxzZSB2PT03OT92PVAuQj09UD82OToyNzp2PT01OSYmKHcrPUYsdj04NSl9KSw3MyxjKSx7fSksYyksWzAsMCwwXSksYyksWWYoNCkpKSxbNTcsMCwwXSkpLDE2MyksW10pLEgpKSxZZig0KSksYyksNDU0KSxjKSxmdW5jdGlvbihQLGQsSSxTLFgpe0EoKGQ9WFgoImFycmF5IiwoST1iKFAsKFM9cSgxNywoWD1ZKFAsNzQpLFApKSxYKSksSSksIm51bGwiKSxTKSxQLGQpfSksNDQxLGMpLGMpKSxRKShjLDQ1OCwwKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwpe3tsPTY5O3doaWxlKGwhPTIyKWw9PTQ2PyhQLk49R04oMzIsUCxmYWxzZSksUC5sPXZvaWQgMCxsPTIyKTpsPT0xNz9sPVg9PTM2Mz80ODoyMjpsPT02ND9sPUk9PTI/NDY6MjI6bD09NDA/bD1QLkI9PVA/OTA6MjI6bD09NDg/KFAubD12b2lkIDAsbD02NCk6bD09OTA/KHI9YihQLFgpLFM9YihQLE0pLEk9VyhQLGQpLHJbSV09UyxsPTE3KTpsPT02OSYmKFg9WShQLDczKSxkPXEoODksUCksTT1xKDc4LFApLGw9NDApfX0pLDY3LGMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUpe2ZvcihFPTM7RSE9MTM7KUU9PTk3PyhYPXFUKDcxLDc0LFAuQiwwLDEpLE09WC5MLHc9WC5xbSxTPVguUFYsST1YLmtlLHI9TS5sZW5ndGgsbD1yPT0wP25ldyBJW1NdOnI9PTE/bmV3IElbU10oTVswXSk6cj09Mj9uZXcgSVtTXShNWzBdLE1bMV0pOnI9PTM/bmV3IElbU10oTVswXSxNWzFdLE1bMl0pOnI9PTQ/bmV3IElbU10oTVswXSxNWzFdLE1bMl0sTVszXSk6MigpLFEoUCx3LGwpLEU9MTMpOkU9PTMmJihFPU5UKGZhbHNlLDY1LGQsZmFsc2UsUCx0cnVlKT8xMzo5Nyl9KSwxMjcsYyksZnVuY3Rpb24oUCxkKXtwcigoZD1XKFAsWShQLDc2KSksNTA2KSwwLDE0MixkLDEwNCxQLkIpfSksMzEzLGMpLGYpKDE4LGZ1bmN0aW9uKFApe3VOKDEsUCl9LDEyMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSl7KEk9KGQ9KE09WShQLChYPXEoKFM9cSg3OSxQKSw2NyksUCksNzIpKSxiKShQLFgpLFYoUyxQKSksQykoTSxJW2RdLFApfSksMjEyLGMpLGYoMTUsZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGKXtmb3IoRj04MztGIT0yNDspRj09Nzg/KFg9WShmYWxzZSwxNiwyLE0sMSxyLFAsRSx3KSxFLmFkZEV2ZW50TGlzdGVuZXIodyxYLG92KSxWKDcxLFApLnB1c2goZnVuY3Rpb24oKXtFLnJlbW92ZUV2ZW50TGlzdGVuZXIodyxYLG92KX0pLEMoNDU4LFtFLHcsWF0sUCksRj0yNCk6Rj09ODM/KGw9cSg0OSxQKSxTPXEoNzQsUCksZD1xKDU3LFApLEk9cSg3MCxQKSx3PVcoUCxTKSxNPWIoUCxJKSxyPVYoZCxQKSxFPVYobCxQLkIpLEY9MzQpOkY9PTM0JiYoRj1FIT09MD83ODoyNCl9LDQ5MyxjKSxmdW5jdGlvbihQLGQsSSxTKXtRKFAsKGQ9cSg3NSwoST1xKDc3LChTPVkoUCw3MiksUCkpLFApKSxkKSxiKFAsUyl8fFcoUCxJKSl9KSwxMTEsYyksYyksW10pLDE5KSxmdW5jdGlvbihQKXtraig0LFApfSw1MDAsYyksWWYoNCkpLGMpLDM2NCksYyksMTMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtBKChkPShJPWIoUCwoTT1xKDQ5LChTPVkoUCwoWD1xKDE3LFApLDcyKSksUCkpLFgpKSxWKShTLFApLE0pLFAsKyhJPT1kKSl9LDQzMixjKSxjKS5aaj0wLDUwNCksYyksMTUpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCl7aWYoMD09IShJPShyPVcoKE09WShQLChYPVkoUCwobD1ZKChTPVkoUCw3NiksUCksNzMpLDcyKSksNzUpKSxQKSxsKSxXKFAsTSkpLFt0cnVlLnRydWVdKSlkPVYoWCxQKTtDKFMsWShmYWxzZSwxNywyLGQsSSxyLFApLFApfSw4MCxjKTt3aGlsZSghW10hPSh0cnVlPT1bXSE9bnVsbCkpaWYoZigyNixmdW5jdGlvbihQLGQsSSxTLFgsTSl7KFg9YihQLChkPShTPXEoKEk9cSg2OCwoTT1xKDgwLFApLFApKSw3MCksUCksYihQLEkpKSxNKSksQykoUyxYIGluIGR8MCxQKX0sMzcsYyksIWZhbHNlPT0hIiIpYnJlYWs7UkIoMjYsZmFsc2UsYywoYSg0NywoYSg0MSwoQSg3MSwoKEEoMzAyLGMsWyhmKDE1LGZ1bmN0aW9uKFAsZCxJLFMpe1YoKGQ9YihQLChJPXEoNjgsUCksUz1ZKFAsNzMpLFMpKSxJKSxQKSE9MCYmQygxNDIsZCxQKX0sKFEoYyw0NDYsKGYoMTMsZnVuY3Rpb24oUCl7WSg4LDU0LFAsNCl9LDc0LChRKChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKKXt7eT0xMzt3aGlsZSh5IT00MCl5PT0wP3k9ODp5PT0yMD8oZigyMSxmdW5jdGlvbih6LFB1LG03LGcsZU0sTCl7Zm9yKEw9NDI7TCE9NzU7KUw9PTIxPyhQdS5wdXNoKG03KSxMPTQ4KTpMPT0zOD8oZy5wdXNoKHEoMjUseikpLEw9OTgpOkw9PTUzP0w9bTc+PWcubGVuZ3RoPzM4OjI1Okw9PTI1PyhtNz1nW203XSxMPTIxKTpMPT02Nj8oei5WPXEoNTMsUy5zbGljZSgpLHopLHouRz1xKDUsUHUseiksTD03NSk6TD09MTE/KG03PU1bZU1dLEw9MTUpOkw9PTQ4PyhlTSsrLEw9NjApOkw9PTQyPyhlTT0wLFB1PVtdLGc9W10sTD05OSk6TD09MTU/TD1PW2VNXT8yMTo2ODpMPT05OD9MPTUzOkw9PTYwP0w9ZU08Sj8xMTo2NjpMPT05OT9MPTYwOkw9PTY4JiYoTD01Myl9LHIsUCkseT00MCk6eT09Mjc/KHc9MCx5PTE1KTp5PT01Mj8oT1tJXXx8KE1bSV09d0ooRikpLHk9NDYpOnk9PTI1PyhGPSgoR298MSkrfihHb3wxKS0ofkdvXjEpLTIqKH5HbyYxKSkudG9TdHJpbmcoMikubGVuZ3RoLE09W10sST0wLHk9Nik6eT09NDk/KFMucHVzaChWKFkoUCw3NSksUCkpLHk9MzMpOnk9PTQ2PyhJKysseT04Nik6eT09MTM/KHdKPWZ1bmN0aW9uKHosUHUpe2Zvcig7RTx6Oyl2fD1SdihQKTw8RSxFKz04O3JldHVybiB2Pj49KFB1PShFLT16LHYmKDE8PHopLTEpLHopLFB1fSxyPVkoUCw3NSksdj1FPTAsWD0od0ooMyl8MCkrMSxKPXdKKDUpLE89W10seT1Hbz1sPTApOnk9PTg2P3k9STxKPzUyOjI3Onk9PTY1Pyh3KysseT04Myk6eT09MzM/eT00Nzp5PT02P3k9ODY6eT09NTA/KE9bd10mJihNW3ddPVkoUCw3MikpLHk9NjUpOnk9PTcxPygkbj13SigxKSxPLnB1c2goJG4pLEdvKz0kbj8wOjEseT03Nik6eT09NDc/eT1kLS0/NDk6MjA6eT09OD95PWw8Sj83MToyNTp5PT04Mz95PXc8Sj81MDo2OTp5PT03Nj8obCsrLHk9OCk6eT09Njk/KGQ9WCxTPVtdLHk9NjYpOnk9PTE1P3k9ODM6eT09NjYmJih5PTQ3KX19LDMwMCwoZigoQygxMDMsMCxjKSwyNCksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcpe2Zvcih3PTkxO3chPTQ3Oyl3PT04MT8oZD0oTT1xKDgsNyxQKSwyKihkJk0pK34oZCZNKS1+KGR8TSkpJVMscis9TltsW2RdXSx3PTI1KTp3PT01MD93PTgzOnc9PTEyPyhBKFgsUCxyKSx3PTQ3KTp3PT05MT8oWD1ZKFAsNzUpLEk9cSgxMCw3LFApLHI9IiIsbD1XKFAsMzkzKSxTPWwubGVuZ3RoLGQ9MCx3PTUwKTp3PT04Mz93PUktLT84MToxMjp3PT0yNSYmKHc9ODMpfSw1MSxjKSxjKSksYyksMzksYyksYykpLFtdKSksMTcxKSxjKSwyMDQ4KV0pLGYpKDE5LGZ1bmN0aW9uKFAsZCxJLFMsWCl7USgoWD0oZD0oUz1xKDI1LChJPVkoUCw3NiksUCkpLGIpKFAsUyksVihJLFApKSxQKSxTLGQrWCl9LDEwNCxjKSxjKSxbXSksaHx8YSg1NixbeG5dLGMpLFtHdCxrXSksYyksW1JZLG5dKSxjKSx0cnVlKSx0cnVlKX0sVmg9ZnVuY3Rpb24oayxSKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDI0LGssUil9LGtmPWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz1SLmNyZWF0ZSgpLnNoaWZ0KCksay5WLmNyZWF0ZSgpLmxlbmd0aHx8ay5HLmNyZWF0ZSgpLmxlbmd0aCl8fChrLkc9dm9pZCAwLGsuVj12b2lkIDApLEd9LHFQPWZ1bmN0aW9uKGspe2Zvcih2YXIgUj04NztSIT0yOTspaWYoUj09MzIpRCs9ZW5jb2RlVVJJQ29tcG9uZW50KEdbaF0pK2tbaCsxXSxSPTM1O2Vsc2V7aWYoUj09MTgpcmV0dXJuIGUoMzYsbnVsbCxEKTtpZihSPT04Nyl2YXIgRz1Lci5hcHBseSgxLChSPTkzLGFyZ3VtZW50cykpO2Vsc2UgaWYoUj09MzUpaCsrLFI9NDY7ZWxzZSBpZihSPT04Myl2YXIgaD0oUj00LDApLEQ9a1swXTtlbHNlIGlmKFI9PTkzKVI9Ry5sZW5ndGg9PT0wPzUxOjgzO2Vsc2UgaWYoUj09NClSPTQ2O2Vsc2UgaWYoUj09NDYpUj1oPEcubGVuZ3RoPzMyOjE4O2Vsc2UgaWYoUj09NTEpcmV0dXJuIGUoMzUsbnVsbCxrWzBdKX19LFdZPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIE1QLmNhbGwodGhpcywyMixrLFIsRyxoLEQpfSxubj1mdW5jdGlvbigpe3JldHVybiBmLmNhbGwodGhpcywzKX0sYUI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gQVcuY2FsbCh0aGlzLDQxLGssOCxSKX0sWWY9ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTE5O0chPTY4OylpZihHPT03OSlSLnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksRz0xNTtlbHNlIGlmKEc9PTE5KVI9W10sRz05NztlbHNlIGlmKEc9PTk3KUc9MzA7ZWxzZSBpZihHPT0xNSlHPTMwO2Vsc2UgaWYoRz09MzApRz1rLS0/Nzk6NzE7ZWxzZSBpZihHPT03MSlyZXR1cm4gUn0sZWU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEksUyl7Zm9yKFo9KEI9KFQ9KEk9ay5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksW10pLDApLDApO1o8SS5sZW5ndGg7WisrKUQ9SS5jaGFyQ29kZUF0KFopLEQ8Uj9UW0IrK109RDooRDwyMDQ4P1RbQisrXT0oYz1EPj42LC1+KGMmMTkyKSsyKihjXjE5MiktKH5jJjE5MikrKH5jfDE5MikpOigoRCY2NDUxMik9PTU1Mjk2JiZaKzE8SS5sZW5ndGgmJihJLmNoYXJDb2RlQXQoWisxKSY2NDUxMik9PTU2MzIwPyhEPShtPShEJjEwMjMpPDwxMCwyKig2NTUzNiZtKSsoNjU1MzYmfm0pLSgtNjU1MzdebSkrKC02NTUzN3xtKSkrKGg9SS5jaGFyQ29kZUF0KCsrWiksKGh8MCktfihoJjEwMjMpK35oKSxUW0IrK109KGQ9RD4+MTgsMjQwKyhkJjI0MCkrLTI0MS0ofmReMjQwKSksVFtCKytdPShHPShQPUQ+PjEyLDYzLSh+UCY2MykpLDEyNy0ofkd8UikpKTpUW0IrK109KFM9RD4+MTIsMjIzLSh+U3wyMjQpKSxUW0IrK109KG49KE49RD4+Niwtfk4rKH5OXjYzKSsofk4mNjMpKSxSLSh+bl5SKSsobnwtMTI5KSkpLFRbQisrXT02My1+RCt+KER8NjMpfFIpO3JldHVybiBUfSxXPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTtmb3IoTmFOO0c9PT12b2lkIDA7ZmFsc2Upe3Rocm93W3dVLDMwLFJdO2lmKHRydWUpYnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoUioyKlIrLTMxKlIrNTgpLEcpLnByb3RvdHlwZX0sTHI9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssNSxSLEcsaCxEKX0sa2o9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7KCgoRz1iKFIsKFo9WShSLChjPVkoUiwoRD0oa3w0KS1+aysoaD1rJjMsfihrfDQpKS0oayYtNSksNzMpKSw3NykpLGMpKSxEKSYmKEc9ZWUoIiIrRywxMjgpKSxoKSYmamUoWixLKDIsRy5sZW5ndGgpLFIpLGplKShaLEcsUil9LGlOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXsoUi5wdXNoKChjPWtbMF08PDI0fGtbMV08PDE2LG49a1syXTw8OCwtfihjJm4pKy0yLSh+Y15uKSl8a1szXSksUi5wdXNoKChaPShoPWtbNF08PDI0fGtbNV08PDE2LE49a1s2XTw8OCwtMi1+Ti0ofmh8TikpLEQ9a1s3XSwyKihEfDApLTIqKFomRCktflorKFp8fkQpKSksUikucHVzaCgoVD0oQj1rWzhdPDwyNHxrWzldPDwxNixtPWtbMTBdPDw4LC1+KEImbSkrMiooQl5tKSsofkJebSkpLEc9a1sxMV0sLTEtflQrKH5UJkcpKSl9LGxOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3N3aXRjaCghKGguQj09aCkpe2Nhc2UgdHJ1ZTpmYWxzZTticmVhaztjYXNlICFbIiJdIT0wOntaPWIoaCxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8obT1mdW5jdGlvbihULE4sUCxkLEksUyxYLE0pe2ZvcihYPShTPTgsOTcpOzspdHJ5e2lmKFM9PTU1KWJyZWFrO2Vsc2UgaWYoUz09NzYpWD0zMyxaLkdmPXloKDE2LHEoMzQsOCwtMS0yKn4oSXw0KSsofkleNCksWiksMjU1LHEoNjYsOCxJLFopLGQpLFM9NzA7ZWxzZXtpZihTPT02Mil0aHJvdyBYPTk3LE07Uz09NzA/KFoucHVzaChaLkdmWy0oTnxHKS0yKn4oTnxHKSsoTnwtOCkrKH5OfEcpXV5UKSxTPTU1KTpTPT05MD9TPVoubUIhPVA/Mjk6NzA6Uz09OD8oTj1aLmxlbmd0aCxQPShOfDApLTQ+PjMsUz05MCk6Uz09MjkmJihJPShQPDwzKS00LGQ9WzAsMCxCWzFdLEJbMl1dLFoubUI9UCxTPTc2KX19Y2F0Y2gocil7aWYoWD09OTcpdGhyb3cgcjtYPT0zMyYmKE09cixTPTYyKX19LEI9Vig5NSxoKSk6bT1mdW5jdGlvbihUKXtaLnB1c2goVCl9LEQmJm0oKER8MCktIC01MTIrMip+KER8MjU1KSsoRCYtMjU2KSksYz1SLmxlbmd0aCxuPTA7d2hpbGUobjxjKW0oUltuXSksbisrfWJyZWFrfX0sQz1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKCEoaz09MTQyfHxrPT0xNjgpKXtjYXNlIHRydWU6d2hpbGUoRy55biYmayE9MzYzKXtyZXR1cm47aWYoZmFsc2U9PTApYnJlYWt9az09NDg4fHxrPT00Mnx8az09MjY0fHxrPT0xNHx8az09NTA2fHxrPT00NDZ8fGs9PTE2M3x8az09OTV8fGs9PTE5MXx8az09MzAyP0cuWVtrXXx8KEcuWVtrXT1ZKDIsMzIsRyxSLGssMzgpKTpHLllba109WSgyLDM1LEcsUixrLDEyOSk7YnJlYWs7Y2FzZSBmYWxzZTpHLllba10/Ry5ZW2tdLmNvbmNhdChSKTpHLllba109cSg4NSxSLEcpO2JyZWFrfWs9PTM2MyYmKEcuTj1HTigzMixHLGZhbHNlKSxHLmw9dm9pZCAwKX0scVQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Yz0oWj0oKG49cSgobT1HW3ZZXXx8e30sayksRyksbS5xbT1xKDE3LEcpLG0pLkw9W10sRykuQj09Rz8oUnYoRyl8aCktRDoxLFkoRyxSKSk7e0I9aDt3aGlsZShCPFopbS5MLnB1c2gocSg0OSxHKSksQisrfWZvcihtLlBWPWIoRyxuKTtaLS07KW0uTFtaXT1iKEcsbS5MW1pdKTtyZXR1cm4gbS5rZT1iKEcsYyksbX0sV3U9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDUpfSxRaD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIFcoRCwoQygxNDIsKGJOKDU3LGgsKChjPVcoRCwxNDIpLEQud2ImJmM8RC5qKT8oUShELDE0MixELmopLHByKDUwNixrLDE0MixSLDEwNCxEKSk6QygxNDIsUixEKSxEKSw0MSksYyksRCksRykpfSxGWD1mdW5jdGlvbigpe3JldHVybiBNUC5jYWxsKHRoaXMsMjApfSxYWD1mdW5jdGlvbihrLFIsRyxoLEQpe0Q9dHlwZW9mIFI7c3dpdGNoKCEoRD09Im9iamVjdCIpKXtjYXNlIE5hTiE9PU51bWJlcih1bmRlZmluZWQpOmZvcihbXSE9KCFbIiJdPT1OdW1iZXIoKSk7RD09ImZ1bmN0aW9uIiYmdHlwZW9mIFIuY2FsbD09InVuZGVmaW5lZCI7MCl7cmV0dXJuIm9iamVjdCI7aWYoIkYiKWJyZWFrfWJyZWFrO2Nhc2UgbnVsbD09KG51bGw9PWZhbHNlKTpzd2l0Y2goIVIpe2Nhc2UgIVtdPT0wOnJldHVybiBHO2JyZWFrO2Nhc2UgIVt1bmRlZmluZWRdIT0wOmlmKFIgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4gaztzd2l0Y2goIShSIGluc3RhbmNlb2YgT2JqZWN0KSl7Y2FzZSB0cnVlOltdIT0odHJ1ZSE9W10pO2JyZWFrO2Nhc2UgIVtdPT0oLTA9PT0wKTpyZXR1cm4gRDticmVha31oPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSKTtmb3IoZmFsc2U7aD09IltvYmplY3QgV2luZG93XSI7ZmFsc2Upe3JldHVybiJvYmplY3QiO2lmKFtdPT0oIWZhbHNlPT0hIiIpIT1udWxsKWJyZWFrfWZvcihOdW1iZXIoKTtoPT0iW29iamVjdCBBcnJheV0ifHx0eXBlb2YgUi5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgUi5zcGxpY2UhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKTtmYWxzZSl7cmV0dXJuIGs7aWYoIlkiKWJyZWFrfXN3aXRjaCghKGg9PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBSLmNhbGwhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJjYWxsIikpKXtjYXNlIFtdIT10cnVlOjE7YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm4iZnVuY3Rpb24iO2JyZWFrfWJyZWFrfWJyZWFrfXJldHVybiBEfSxyVT1mdW5jdGlvbihrLFIpe3JldHVybiB0Vy5jYWxsKHRoaXMsMjgsayxSKX0seD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7bT10aGlzO3RyeXtjZChSLG4sYyxaLGssdGhpcyxoLEQsRyl9Y2F0Y2goQil7ZSg4OSwiOiIsdGhpcyxCKSxEKGZ1bmN0aW9uKFQpe1QobS5LKX0pfX0sWnk9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5uPSh0aGlzLlQ9W10sMCl9cmV0dXJuW2Z1bmN0aW9uKGgpe2sueE4oaCksUi54TihoKX0sKFI9KGs9KEcucHJvdG90eXBlLnhOPShHLnByb3RvdHlwZS5POT1mdW5jdGlvbigpe3JldHVybiBSQi5jYWxsKHRoaXMsMyl9LGZ1bmN0aW9uKGgsRCl7cmV0dXJuIGNZLmNhbGwodGhpcywzMyxoLDExLEQpfSksbmV3IEcpLG5ldyBHKSxmdW5jdGlvbihoLEQpe3JldHVybiBEPShoPWg9PT12b2lkIDA/dHJ1ZTpoLGsuTzkoKS5jb25jYXQoUi5POSgpKSksaCYmKFI9bmV3IEcpLER9KV19LGtuPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFApe209a1swXTtzd2l0Y2goIShtPT0kZikpe2Nhc2UgZmFsc2U9PSFbXTppZihtPT1CZCloLlc9RyxoLnM5PTI1LGgueVQ9aC5SbygpLWtbUl0saC5pKGspO2Vsc2UgaWYobT09QW8pe0I9a1sxXVszXTt0cnl7Yz1oLkt8fGguaShrKX1jYXRjaChkKXtlKDU4LCI6IixoLGQpLGM9aC5LfShuPWguSigpLEIoYyksaCkuWCs9aC5KKCktbn1lbHNlIHN3aXRjaCghKG09PW1jKSl7Y2FzZSBOYU4hPT1OdW1iZXIodW5kZWZpbmVkKTpzd2l0Y2goIShtPT1HdCkpe2Nhc2UgMD09PS0wOnN3aXRjaCghKG09PVJZKSl7Y2FzZSBOdW1iZXIoKT09PS1OdW1iZXIoKTppZihtPT1NVClyZXR1cm4gRD1rW1JdLEEoNDUxLGgsa1s2XSksQygxNTcsRCxoKSxoLmkoayk7bT09ZHI/KGguaShrKSxoLlk9bnVsbCxoLnVYPVtdLGgud2I9W10pOm09PXhuJiZILmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihoLlM9ZnVuY3Rpb24oZCxJKXtmdW5jdGlvbiBTKFgpe2ZvcihYPTk3O1ghPTU2OylYPT05Nz9YPUk/NTY6ODY6WD09ODYmJihJPUcsSC5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixTLG92KSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpLGQoKSxYPTU2KX1ILmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChJPWZhbHNlLFMpLG92KSxILmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpfSk7YnJlYWs7Y2FzZSBmYWxzZTp0cnl7e1A9MDt3aGlsZShQPGguU20ubGVuZ3RoKXt0cnl7Wj1oLlNtW1BdLFpbMF1bWlsxXV0oWltSXSl9Y2F0Y2goZCl7fVArK319fWNhdGNoKGQpe30oMCxrWzFdKShmdW5jdGlvbihkLEkpe2gucFgoZCxHLEkpfSxmdW5jdGlvbihkKXthKDQ0LChkPSFoLlAubGVuZ3RoJiYhaC5vLFtkcl0pLGgpLGQmJlJCKDMwLGZhbHNlLGgsZmFsc2UsRyl9LChoLlNtPVtdLFQ9aC5KKCksZnVuY3Rpb24oZCl7cmV0dXJuIGgudHgoZCl9KSxmdW5jdGlvbihkLEksUyl7cmV0dXJuIGguZWkoZCxJLFMpfSksaC5YKz1oLkooKS1UO2JyZWFrfWJyZWFrO2Nhc2UgZmFsc2U6aC51PUcsaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgW109PShmYWxzZT09IVtdKTprWzNdJiYoaC51PUcpLGtbNF0mJihoLlc9RyksaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgTmFOPT09TmFOOmlmKE49aC5pKGspKU4uSWE9SC5zZXRUaW1lb3V0KGZ1bmN0aW9uKGQpeyhhKChhKDQwLE4uUVQsKGQ9KE4uTW09RywhaC5QLmxlbmd0aCYmIWgubyksaCkpLDU4KSxOLmFhLGgpLGQpJiZSQigyNSxmYWxzZSxoLEcsRyl9LE4udGltZW91dCksaC52dC5wdXNoKE4pO2JyZWFrfX0sU009ZnVuY3Rpb24oayxSLEcpeyJzdGFjayJpbih0aGlzLm1lc3NhZ2U9KEc9RXJyb3IuY2FsbCh0aGlzLGsrIiBjYW5ub3QgYmUgdXNlZCB3aXRoIGludGVudCAiK21EW1JdKSxHLm1lc3NhZ2UpLEcpJiYodGhpcy5zdGFjaz1HLnN0YWNrKSx0aGlzLnR5cGU9ayx0aGlzLm5hbWU9IlR5cGVDYW5ub3RCZVVzZWRXaXRoSWZyYW1lSW50ZW50RXJyb3IifSxnVT1mdW5jdGlvbihrLFIsRyl7cmV0dXJuIEFXLmNhbGwodGhpcyw0MSxrLDI5LFIsRyl9LEE9ZnVuY3Rpb24oayxSLEcpe2lmKGs9PTE0Mnx8az09MTY4KVIuWVtrXT9SLllba10uY29uY2F0KEcpOlIuWVtrXT1xKDM3LEcsUik7ZWxzZXtpZihSLnluJiZrIT0zNjMpcmV0dXJuO2s9PTQ4OHx8az09NDJ8fGs9PTI2NHx8az09MTR8fGs9PTUwNnx8az09NDQ2fHxrPT0xNjN8fGs9PTk1fHxrPT0xOTF8fGs9PTMwMj9SLllba118fChSLllba109WSgyLDQwLFIsRyxrLDM4KSk6Ui5ZW2tdPVkoMiwzMixSLEcsaywxMjkpfWs9PTM2MyYmKFIuTj1HTigzMixSLGZhbHNlKSxSLmw9dm9pZCAwKX0sbng9ZnVuY3Rpb24oayxSLEcsaCxEKXt3aGlsZShrLmxlbmd0aD09Myl7e2g9MDt3aGlsZShoPDMpUltoXSs9a1toXSxoKyt9RD1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdO3tHPTA7d2hpbGUoRzw5KVJbM10oUixHJTMsRFtHXSksRysrfWlmKHt9KWJyZWFrfX0sS3I9ZnVuY3Rpb24oKXt7dmFyIGs9OTM7d2hpbGUoayE9Mzkpe2lmKGs9PTkwKXJldHVybiBoO2lmKGs9PTc3KWs9Rzxhcmd1bWVudHMubGVuZ3RoPzE2OjkwO2Vsc2UgaWYoaz09OTMpdmFyIFI9KGs9MTEsTnVtYmVyKSh0aGlzKSxHPVIsaD1bXTtlbHNlIGs9PTExP2s9Nzc6az09OTI/KEcrKyxrPTc3KTprPT0xNiYmKGhbRy1SXT1hcmd1bWVudHNbR10saz05Mil9fX0scHI9ZnVuY3Rpb24oayxSLEcsaCxELGMpe3doaWxlKGZhbHNlPT0wKWlmKGMuRnoubGVuZ3RoPkQ/YXYoayxjLFIsW3dVLDM2XSk6KGMuRnoucHVzaChjLlkuc2xpY2UoKSksYy5ZW0ddPXZvaWQgMCxBKEcsYyxoKSksIVtdPT0wKWJyZWFrfSxiPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTt3aGlsZShHPT09dm9pZCAwKXt0aHJvd1t3VSwzMCxSXTtpZigwPT0hW3RydWUudHJ1ZV0pYnJlYWt9c3dpdGNoKCFHLnZhbHVlKXtjYXNlIDA9PSFbXTpbXSE9KHRydWUhPVtdKTticmVhaztjYXNlIG51bGw9PShmYWxzZT09bnVsbCk6cmV0dXJuIEcuY3JlYXRlKCk7YnJlYWt9cmV0dXJuKEcuY3JlYXRlKFIqMipSKy0zMSpSKzU4KSxHKS5wcm90b3R5cGV9LE5ELHRvPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4gRjEuY2FsbCh0aGlzLDk0LCJvbiIsMjQsayxSLEcsaCxELGMpfSxUdD1mdW5jdGlvbihrLFIsRyxoLEQpe3JldHVybiBMbi5jYWxsKHRoaXMsMyxrLEcsMTIsRCxSLGgpfSxEWj1mdW5jdGlvbigpe3JldHVybiBLbi5jYWxsKHRoaXMsMCwxLDUpfSxnSj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssMTIsUixHLGgsRCxjLFosbixtLEIpfSxWPWZ1bmN0aW9uKGssUixHKXtHPVIuWVtrXTtzd2l0Y2goIShHPT09dm9pZCAwKSl7Y2FzZSAwPT0hWyIiXTowPT0hWyIiXTticmVhaztjYXNlIDAhPT0tTnVtYmVyKCk6dGhyb3dbd1UsMzAsa107YnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoayoyKmsrLTMxKmsrNTgpLEcpLnByb3RvdHlwZX0sUzg9ZnVuY3Rpb24oayxSLEcsaCl7dHJ5e2g9a1soKFJ8MCkrMiklM10sa1tSXT0oa1tSXXwwKS0oa1soLTIqfihSJjEpKy0yKyhSJi0yKSsoflImMSkpJTNdfDApLShofDApXihSPT0xP2g8PEc6aD4+PkcpfWNhdGNoKEQpe3Rocm93IEQ7fX0sSVk9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDgpfSxRZj1mdW5jdGlvbigpe3JldHVybiBlLmNhbGwodGhpcyw1MSl9LFgxPWZ1bmN0aW9uKGspe3JldHVybiBOUC5jYWxsKHRoaXMsNCxrLDMpfSx1Tj1mdW5jdGlvbihrLFIsRyxoKXtoPXEoNTcsKEc9WShSLDczKSxSKSksamUoaCxLKGssVihHLFIpKSxSKX0sYk49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2lmKCFHLkspe0cuRDcrKzt0cnl7RD1HLmo7d2hpbGUoIW51bGwpaWYoYz12b2lkIDAsdHJ1ZSE9IVtdKWJyZWFrO2ZvcihaPTA7LS1SOyl0cnl7aWYobT12b2lkIDAsRy5WKWM9a2YoRyxHLlYpO2Vsc2V7aWYoKFo9VigxNDIsRyksWik+PUQpYnJlYWs7Yz1iKEcsKG09cSg4OSwoUShHLDE2OCxaKSxHKSksbSkpfU5UKGZhbHNlLDMzLChjJiYobj1jW2RyXSwobnwwKSsyMDQ4LShufDIwNDgpKT9jKEcsUik6YXYoNTA2LEcsMCxbd1UsMjEsbV0pLFIpLGZhbHNlLEcsZmFsc2UpfWNhdGNoKEIpe1coRyxoKT9hdig1MDYsRywyMixCKTpBKGgsRyxCKX1mb3IodHJ1ZSsobnVsbCE9KDAhPSFbXSkpOyFSOzEpe2Zvcih2b2lkIDA7Ry5ObTshW109PWZhbHNlKXtiTig1NywoRy5ENy0tLDYwMzE5ODAwNTkzMCksRyw0MSk7cmV0dXJuO2lmKDMpYnJlYWt9aWYoYXYoNTA2LEcsMCxbd1UsMzNdKSwxKWJyZWFrfX1jYXRjaChCKXt0cnl7YXYoNTA2LEcsMjIsQil9Y2F0Y2goVCl7ZShrLCI6IixHLFQpfX1HLkQ3LS19fSxwbj1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDI0LGspfSx1O3N3aXRjaCghKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpKXtjYXNlICEiIj09IWZhbHNlOnZhciBYUTthOnt2YXIgTUQ9e30sb1k9e2E6dHJ1ZX07dHJ5e01ELl9fcHJvdG9fXz1vWTt3aGlsZShOdW1iZXIoKT09ZmFsc2UpaWYoWFE9TUQuYSx0cnVlIT1bXSlicmVhazticmVhayBhfWNhdGNoKGspe31YUT1mYWxzZX1ORD1YUT9mdW5jdGlvbihrLFIsRyl7Zm9yKEc9MTU7RyE9NTI7KXtpZihHPT02NilyZXR1cm4gaztpZihHPT0xNSlrLl9fcHJvdG9fXz1SLEc9Nzg7ZWxzZSBpZihHPT03OClHPWsuX19wcm90b19fIT09Uj80MTo2NjtlbHNlIGlmKEc9PTQxKXRocm93IG5ldyBUeXBlRXJyb3IoaysiIGlzIG5vdCBleHRlbnNpYmxlIik7fX06bnVsbDticmVhaztjYXNlIDAhPSFbXTpORD1PYmplY3Quc2V0UHJvdG90eXBlT2Y7YnJlYWt9dmFyIEg9dGhpc3x8c2VsZix0MD1ORCxFUj0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxIdT0wLFpaLGZuPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtEPTgxO3toPTU0O3doaWxlKFtdKXRyeXtpZihEPT0zNSlicmVhaztlbHNlIGlmKEQ9PTgwKVI9ZmFsc2UsRz1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtSPXRydWV9fSksRD01MDtlbHNlIGlmKEQ9PTMwKWg9NTQsRD0zMjtlbHNle2lmKEQ9PTMyKXJldHVybiBoPTU0LFI7aWYoRD09MzMpcmV0dXJuIGZhbHNlO0Q9PTUwPyhoPTM4LGs9ZnVuY3Rpb24oKXt9LEguYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsayxHKSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGssRyksRD0zMik6RD09ODEmJihEPUguYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5PzgwOjMzKX19Y2F0Y2goWil7aWYoaD09NTQpdGhyb3cgWjtoPT0zOCYmKGM9WixEPTMwKX19fSgpLGRKPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoKCgoKEJZKDIsNDUsclUsKGFCLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD0oV3UucHJvdG90eXBlW1d1LnByb3RvdHlwZS5kaXNwb3NlPShXdS5wcm90b3R5cGUuZz1mYWxzZSxmdW5jdGlvbihrKXt7az05NTt3aGlsZShrIT0xMilrPT01Mj8odGhpcy5nPXRydWUsdGhpcy5VKCksaz0xMik6az09OTUmJihrPXRoaXMuZz8xMjo1Mil9fSksKGFCLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLlB0PXRydWV9LFN5bWJvbCkuZGlzcG9zZV09KFd1LnByb3RvdHlwZS5VPWZ1bmN0aW9uKGspe3trPTc2O3doaWxlKGshPTQ2KWs9PTU4P2s9ODA6az09MzY/KHRoaXMubFguc2hpZnQoKSgpLGs9NDEpOms9PTgwP2s9dGhpcy5sWC5sZW5ndGg/MzY6NDY6az09NDE/az04MDprPT03NiYmKGs9dGhpcy5sWD81ODo0Nil9fSxmdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfSksZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dHJ1ZX0pLGFCKSksclUucHJvdG90eXBlKS5pbml0PWZ1bmN0aW9uKGssUixHLGgsRCxjKXtmb3IoYz0zOTtjIT05NjspYz09MTY/Yz1EPT0ibW91c2VvdmVyIj8yMjoyMzpjPT0yMz9jPUQ9PSJtb3VzZW91dCI/MTI6ODQ6Yz09OTk/KHRoaXMub2Zmc2V0WD1rLm9mZnNldFgsdGhpcy5vZmZzZXRZPWsub2Zmc2V0WSx0aGlzLmNsaWVudFg9ay5jbGllbnRYIT09dm9pZCAwP2suY2xpZW50WDprLnBhZ2VYLHRoaXMuY2xpZW50WT1rLmNsaWVudFkhPT12b2lkIDA/ay5jbGllbnRZOmsucGFnZVksdGhpcy5zY3JlZW5YPWsuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ay5zY3JlZW5ZfHwwLGM9MjApOmM9PTg0Pyh0aGlzLnJlbGF0ZWRUYXJnZXQ9aCxjPTgxKTpjPT01ND8odGhpcy5jbGllbnRYPUcuY2xpZW50WCE9PXZvaWQgMD9HLmNsaWVudFg6Ry5wYWdlWCx0aGlzLmNsaWVudFk9Ry5jbGllbnRZIT09dm9pZCAwP0cuY2xpZW50WTpHLnBhZ2VZLHRoaXMuc2NyZWVuWD1HLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPUcuc2NyZWVuWXx8MCxjPTIwKTpjPT0yMD8odGhpcy5idXR0b249ay5idXR0b24sdGhpcy5rZXlDb2RlPWsua2V5Q29kZXx8MCx0aGlzLmtleT1rLmtleXx8IiIsdGhpcy5jaGFyQ29kZT1rLmNoYXJDb2RlfHwoRD09ImtleXByZXNzIj9rLmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PWsuY3RybEtleSx0aGlzLmFsdEtleT1rLmFsdEtleSx0aGlzLnNoaWZ0S2V5PWsuc2hpZnRLZXksdGhpcy5tZXRhS2V5PWsubWV0YUtleSx0aGlzLnBvaW50ZXJJZD1rLnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPWsucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT1rLnN0YXRlLHRoaXMudGltZVN0YW1wPWsudGltZVN0YW1wLHRoaXMuWU49ayxrLmRlZmF1bHRQcmV2ZW50ZWQmJnJVLk8ucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSxjPTk2KTpjPT02OD9jPWg/ODQ6MTY6Yz09MjI/KGg9ay5mcm9tRWxlbWVudCxjPTg0KTpjPT04MT9jPUc/NTQ6OTk6Yz09MTI/KGg9ay50b0VsZW1lbnQsYz04NCk6Yz09MzkmJihEPXRoaXMudHlwZT1rLnR5cGUsRz1rLmNoYW5nZWRUb3VjaGVzJiZrLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9rLmNoYW5nZWRUb3VjaGVzWzBdOm51bGwsdGhpcy50YXJnZXQ9ay50YXJnZXR8fGsuc3JjRWxlbWVudCx0aGlzLmN1cnJlbnRUYXJnZXQ9UixoPWsucmVsYXRlZFRhcmdldCxjPTY4KX0sclUpLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXsoclUuTy5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLllOLnN0b3BQcm9wYWdhdGlvbik/dGhpcy5ZTi5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLllOLmNhbmNlbEJ1YmJsZT10cnVlfSxyVSkucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKGspeyhrPShyVS5PLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksdGhpcy5ZTiksaykucHJldmVudERlZmF1bHQ/ay5wcmV2ZW50RGVmYXVsdCgpOmsucmV0dXJuVmFsdWU9ZmFsc2V9LE1hdGgucmFuZG9tKCkpKjFFNnwwKSxIWT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEl2PTAsbDk9KCgoak0ucHJvdG90eXBlLmFkZD0oak0ucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIHJKKDEwLHRydWUsZmFsc2UsKEc9KGg9KEQ9ayE9PXZvaWQgMCk/ay50b1N0cmluZygpOiIiLFIhPT12b2lkIDApLHRoaXMuWiksZnVuY3Rpb24oYyxaLG4pe2ZvcihuPTM4O24hPTgzOylpZihuPT04OCkrK1osbj0zMjtlbHNle2lmKG49PTE4KXJldHVybiBmYWxzZTtpZihuPT03NyluPTMyO2Vsc2UgaWYobj09ODkpbj1EJiZjW1pdLnR5cGUhPWh8fEcmJmNbWl0uY2FwdHVyZSE9Uj84ODoxNDtlbHNle2lmKG49PTE0KXJldHVybiB0cnVlO249PTMyP249WjxjLmxlbmd0aD84OToxODpuPT0zOCYmKFo9MCxuPTc3KX19fSl9LGZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3tCPTczO3doaWxlKEIhPTI5KWlmKEI9PTEwKW0uYW89ZmFsc2UsQj01MTtlbHNlIGlmKEI9PTIxKUI9Yz4tMT8wOjcxO2Vsc2UgaWYoQj09NDMpQj1HPzUxOjEwO2Vsc2V7aWYoQj09NTEpcmV0dXJuIG07Qj09MD8obT1uW2NdLEI9NDMpOkI9PTk0PyhuPXRoaXMuWltaXT1bXSx0aGlzLkp4KyssQj0zMik6Qj09NzE/KG09bmV3IFR0KEQsdGhpcy5zcmMsWixSLCEhaCksbS5hbz1HLG4ucHVzaChtKSxCPTUxKTpCPT0zMj8oYz1ySigyMSwwLGgsRCxuLFIpLEI9MjEpOkI9PTczPyhaPWsudG9TdHJpbmcoKSxuPXRoaXMuWltaXSxCPTQ4KTpCPT00OCYmKEI9bj8zMjo5NCl9fX0pLGpNKS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7e249MjI7d2hpbGUobiE9NDIpaWYobj09MzkpaFcoMjMsdHJ1ZSxEW2NdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoRCxjLDEpLG49NzQ7ZWxzZSBpZihuPT05OSluPWM+LTE/Mzk6NTk7ZWxzZXtpZihuPT0yKXJldHVybiB0cnVlO2lmKG49PTUpZGVsZXRlIHRoaXMuWltaXSx0aGlzLkp4LS0sbj0yO2Vsc2UgaWYobj09NzQpbj1ELmxlbmd0aD09MD81OjI7ZWxzZSBpZihuPT04MyluPVogaW4gdGhpcy5aPzg0OjA7ZWxzZXtpZihuPT01OXx8bj09MClyZXR1cm4gZmFsc2U7bj09MjI/KFo9ay50b1N0cmluZygpLG49ODMpOm49PTg0JiYoRD10aGlzLlpbWl0sYz1ySigyMCwwLEcsaCxELFIpLG49OTkpfX19fSxqTSkucHJvdG90eXBlLkNYPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4oRD10aGlzLlpbay50b1N0cmluZygpXSxjPS0xLEQmJihjPXJKKDIyLDAsaCxHLEQsUikpLGMpPi0xP0RbY106bnVsbH0sImNsb3N1cmVfbG1fIikrKE1hdGgucmFuZG9tKCkqMUU2fDApLGk5PTAsVE49e30sZFU9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTsoKCgoKEJZKDIsNDMsRFosV3UpLERaLnByb3RvdHlwZSlbZEpdPXRydWUsdT1EWi5wcm90b3R5cGUsdSkuemY9ZnVuY3Rpb24oayl7dGhpcy5Obz1rfSx1KS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe3Z1KDU2LGZhbHNlLFIsRyx0aGlzLHRydWUsaywzLGgpfSx1KS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe0J1KDE2LDAsIm9iamVjdCIsRyxSLGgsayx0aGlzKX0sdS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXtmb3IoTj03NDtOIT02MTspaWYoTj09ODYpQj1SLmN1cnJlbnRUYXJnZXQ9bixoPVBZKDUsMCxCLG0sdHJ1ZSxSKSYmaCxSLlB0fHwoaD1QWSgzLDAsQixtLGZhbHNlLFIpJiZoKSxOPTY0O2Vsc2UgaWYoTj09OTEpTj05O2Vsc2UgaWYoTj09NilOPVIuUHQ/NjQ6ODY7ZWxzZSBpZihOPT0yKUI9Ui5jdXJyZW50VGFyZ2V0PWNbWl0saD1QWSg3LDAsQixtLHRydWUsUikmJmgsTj0yNDtlbHNlIGlmKE49PTY4KUQ9W10sTj00O2Vsc2UgaWYoTj09NzMpRC5wdXNoKEcpLE49NzE7ZWxzZSBpZihOPT02NClOPWM/NDc6MjU7ZWxzZSBpZihOPT01MyloPXRydWUsTj0xMjtlbHNlIGlmKE49PTkpTj0hUi5QdCYmWj49MD8yOjY7ZWxzZSBpZihOPT0xNSlOPXR5cGVvZiBSPT09InN0cmluZyI/Mzc6ODtlbHNlIGlmKE49PTQ3KVo9MCxOPTk5O2Vsc2V7aWYoTj09MjUpcmV0dXJuIGg7Tj09OTk/Tj05NzpOPT00MD8oWisrLE49OTcpOk49PTY5PyhSLnRhcmdldD1SLnRhcmdldHx8bixOPTUzKTpOPT0zNz8oUj1uZXcgYUIoUixuKSxOPTUzKTpOPT0zMz9OPUc/Njg6NzU6Tj09MjQ/KFotLSxOPTkpOk49PTQ/Tj04OTpOPT03ND8oRz10aGlzLk5vLE49MzMpOk49PTg1PyhCPVIuY3VycmVudFRhcmdldD1jW1pdLGg9UFkoNiwwLEIsbSxmYWxzZSxSKSYmaCxOPTQwKTpOPT0xND8oVD1SLFI9bmV3IGFCKG0sbiksQ3IoUixUKSxOPTUzKTpOPT03NT8oUj1rLG09Ui50eXBlfHxSLG49dGhpcy5scSxjPUQsTj0xNSk6Tj09NDM/KFo9Yy5sZW5ndGgtMSxOPTkxKTpOPT04OT9OPUc/NzM6NzU6Tj09NzE/KEc9Ry5ObyxOPTg5KTpOPT04P049UiBpbnN0YW5jZW9mIGFCPzY5OjE0Ok49PTEyP049Yz80Mzo2Ok49PTk3JiYoTj0hUi5QdCYmWjxjLmxlbmd0aD84NToyNSl9fSx1KS5VPWZ1bmN0aW9uKCl7dGhpcy5Obz0oRFouTy5VLmNhbGwodGhpcyksdGhpcy5JJiZCdSg3MiwwLHRydWUsdGhpcy5JKSxudWxsKX0sdS5DWD1mdW5jdGlvbihrLFIsRyxoKXtyZXR1cm4gdGhpcy5JLkNYKFN0cmluZyhrKSxSLEcsaCl9LHUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gdGhpcy5JLmhhc0xpc3RlbmVyKGshPT12b2lkIDA/U3RyaW5nKGspOnZvaWQgMCxSKX07dmFyIHNSLFVSLHJyPShYMS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LaisiIn0sRXJyb3IpLG1EPXtGaTowLEFzOjEsemU6MiwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifTtTTS5wcm90b3R5cGU9RHkocnIucHJvdG90eXBlKSxTTS5wcm90b3R5cGUuY29uc3RydWN0b3I9U007c3dpdGNoKCF0MCl7Y2FzZSAhW10hPShudWxsIT1mYWxzZSk6Zm9yKHZhciB3ciBpbiBycilpZih3ciE9InByb3RvdHlwZSIpaWYoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpe3ZhciBlOD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJyLHdyKTtlOCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFNNLHdyLGU4KX1lbHNlIFNNW3dyXT1yclt3cl07YnJlYWs7Y2FzZSBmYWxzZTp0MChTTSxycik7YnJlYWt9aWYoTmFOIT09KCgodT0oIkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBOT0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVCIuc3BsaXQoKFNNLk89cnIucHJvdG90eXBlLCIgIikpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLG5uKS5wcm90b3R5cGUsdSkuRj1mdW5jdGlvbihrKXtyZXR1cm4gdHlwZW9mIGs9PT0ic3RyaW5nIj90aGlzLk1vLmdldEVsZW1lbnRCeUlkKGspOmt9LHUuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24oayxSKXtyZXR1cm4oUnx8dGhpcy5NbykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGspKX0sdS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz0oUj10aGlzLk1vLFN0cmluZyhrKSksUi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoRz1HLnRvTG93ZXJDYXNlKCkpLFIpLmNyZWF0ZUVsZW1lbnQoRyl9LHUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oayl7cmV0dXJuIHRoaXMuTW8uY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGspKX0sdS5hcHBlbmRDaGlsZD1mdW5jdGlvbihrLFIpe2suYXBwZW5kQ2hpbGQoUil9LHUpLmFwcGVuZD1mdW5jdGlvbihrLFIpe3RXKDE4LGZhbHNlLCJudW1iZXIiLCIiLDAsay5ub2RlVHlwZT09OT9rOmsub3duZXJEb2N1bWVudHx8ay5kb2N1bWVudCxhcmd1bWVudHMsayl9LHUuY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKGssUil7e1I9MDt3aGlsZShSIT01NSlpZihSPT0wKVI9ay5ub2RlVHlwZSE9MT85ODoyODtlbHNle2lmKFI9PTI4KXtzd2l0Y2goay50YWdOYW1lKXtjYXNlICJBUFBMRVQiOmNhc2UgIkFSRUEiOmNhc2UgIkJBU0UiOmNhc2UgIkJSIjpjYXNlICJDT0wiOmNhc2UgIkNPTU1BTkQiOmNhc2UgIkVNQkVEIjpjYXNlICJGUkFNRSI6Y2FzZSAiSFIiOmNhc2UgIklNRyI6Y2FzZSAiSU5QVVQiOmNhc2UgIklGUkFNRSI6Y2FzZSAiSVNJTkRFWCI6Y2FzZSAiS0VZR0VOIjpjYXNlICJMSU5LIjpjYXNlICJOT0ZSQU1FUyI6Y2FzZSAiTk9TQ1JJUFQiOmNhc2UgIk1FVEEiOmNhc2UgIk9CSkVDVCI6Y2FzZSAiUEFSQU0iOmNhc2UgIlNDUklQVCI6Y2FzZSAiU09VUkNFIjpjYXNlICJTVFlMRSI6Y2FzZSAiVFJBQ0siOmNhc2UgIldCUiI6cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfWlmKFI9PTk4KXJldHVybiBmYWxzZX19fSx1LnJlbW92ZU5vZGU9UGQsdS5jb250YWlucz1mdW5jdGlvbihrLFIsRyxoKXtmb3IoaD05OTtoIT0xODspe2lmKGg9PTUxKXJldHVybiBrPT1SfHxrLmNvbnRhaW5zKFIpO2lmKGg9PTg3KWg9ay5jb250YWlucyYmUi5ub2RlVHlwZT09MT81MToyNDtlbHNlIGlmKGg9PTI3KWg9MjA7ZWxzZSBpZihoPT00NylSPVIucGFyZW50Tm9kZSxoPTI3O2Vsc2UgaWYoaD09NjgpaD0yMDtlbHNle2lmKGg9PTYwKXJldHVybiBrPT1SfHwhIShHPWsuY29tcGFyZURvY3VtZW50UG9zaXRpb24oUiksLX4oRyYxNikrKEdeMTYpKyh+R14xNikpO2lmKGg9PTk5KWg9ayYmUj84Nzo1NztlbHNle2lmKGg9PTM3KXJldHVybiBSPT1rO2lmKGg9PTI0KWg9dHlwZW9mIGsuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzYwOjY4O2Vsc2UgaWYoaD09MjApaD1SJiZrIT1SPzQ3OjM3O2Vsc2UgaWYoaD09NTcpcmV0dXJuIGZhbHNlfX19fSxOdW1iZXIodW5kZWZpbmVkKSkpaFcoNzQsSVkpOygodT0oQlkoMiwoSVkucHJvdG90eXBlLmJxPShJWS5wcm90b3R5cGUuR2U9MCwiIiksNDEpLERELERaKSxERC5wcm90b3R5cGUpLHUub2E9SVkublgoKSx1LkY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfSx1LmdldFBhcmVudD1mdW5jdGlvbigpe2lmKCFbXSE9KCFbXT09MCkpcmV0dXJuIHRoaXMuWjd9LHUuQnQ9ZnVuY3Rpb24oKXsoSUIoMyx0aGlzLGZ1bmN0aW9uKGspe2suam0mJmsuQnQoKX0pLHRoaXMpLnMyJiZCdSg3MSwwLHRydWUsdGhpcy5zMiksdGhpcy5qbT1mYWxzZX0sdS5VPWZ1bmN0aW9uKGspe3trPTcxO3doaWxlKGshPTY1KWs9PTQzP2s9dGhpcy5zMj8xMDo5MTprPT0xMD8odGhpcy5zMi5kaXNwb3NlKCksZGVsZXRlIHRoaXMuczIsaz05MSk6az09NzE/KHRoaXMuam0mJnRoaXMuQnQoKSxrPTQzKTprPT05MSYmKElCKDcsdGhpcyxmdW5jdGlvbihSKXtSLmRpc3Bvc2UoKX0pLCF0aGlzLlhpJiZ0aGlzLkEmJlBkKHRoaXMuQSksdGhpcy5LWD10aGlzLlFuPXRoaXMuQT10aGlzLlo3PW51bGwsREQuTy5VLmNhbGwodGhpcyksaz02NSl9fSx1KS56Zj1mdW5jdGlvbihrLFIpe3tSPTM0O3doaWxlKFIhPTIpe2lmKFI9PTM2KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO1I9PTM0P1I9dGhpcy5aNyYmdGhpcy5aNyE9az8zNjo5NDpSPT05NCYmKERELk8uemYuY2FsbCh0aGlzLGspLFI9Mil9fX0sdSkucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe3tOPTMzO3doaWxlKE4hPTcxKXtpZihOPT01OSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHNldCBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09NDcpYz10aGlzLktYLEI9KGMhPT1udWxsJiZoIGluIGM/Y1toXTp2b2lkIDApfHxudWxsLE49Mzg7ZWxzZSBpZihOPT04MilaPXRoaXMuS1gsaCBpbiBaJiZkZWxldGUgWltoXSx0VygxMywwLGssdGhpcy5RbiksTj04NztlbHNlIGlmKE49PTkxKU49KEQ9ay5jVik/MDo3ODtlbHNle2lmKE49PTkpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09MCluPUQsTj04MDtlbHNlIGlmKE49PTc1KW09ayxOPTE2O2Vsc2UgaWYoTj09MTYpTj1tPT1udWxsPzU5Ojk4O2Vsc2UgaWYoTj09OTgpbS5aNz1udWxsLERELk8uemYuY2FsbChtLG51bGwpLE49NTQ7ZWxzZSBpZihOPT0zMSlOPXR5cGVvZiBrPT09InN0cmluZyI/ODE6OTE7ZWxzZSBpZihOPT00MylOPWgmJms/ODI6NTQ7ZWxzZSBpZihOPT03OClHPWsub2EsVD1HLmJxKyI6IisoRy5HZSsrKS50b1N0cmluZygzNiksRD1rLmNWPVQsTj0wO2Vsc2UgaWYoTj09NylOPXRoaXMuS1gmJmg/NDc6Mjk7ZWxzZSBpZihOPT0yOSlCPW51bGwsTj0zODtlbHNlIGlmKE49PTgxKW49ayxOPTgwO2Vsc2UgaWYoTj09NTYpay5CdCgpLGsuQSYmUGQoay5BKSxOPTc1O2Vsc2UgaWYoTj09ODcpTj1SPzU2Ojc1O2Vsc2V7aWYoTj09NDYpcmV0dXJuIGs7Tj09Mzg/KGs9QixOPTQzKTpOPT0zMz9OPWs/MzE6NTQ6Tj09ODA/KGg9bixOPTcpOk49PTU0JiYoTj1rPzQ2OjkpfX19fX07dmFyIGx6LGo4PSh1PShoVyg3NSxmciksZnIucHJvdG90eXBlKSx1LklvPWZ1bmN0aW9uKGssUixHLGgpeyhoPWsuRj9rLkYoKTprKSYmKEc/THI6VmgpKGgsW1JdKX0sdS5BeD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Wj03Mzt7bj0yNDt3aGlsZSgibyIpdHJ5e2lmKFo9PTQpYnJlYWs7ZWxzZSBaPT01Mj8oYy50YWJJbmRleD0wLFo9NCk6Wj09OD8obj0yNCxaPTIxKTpaPT0yMT8obj0yNCxaPTY3KTpaPT0yOD9aPUQhPVI/NjM6NDpaPT0yNT8oRz1oLnRhYkluZGV4LEQ9dHlwZW9mIEc9PT0ibnVtYmVyIiYmRz49MCYmRzwzMjc2OCxaPTI4KTpaPT05MD8oYy50YWJJbmRleD0tMSxjLnJlbW92ZUF0dHJpYnV0ZSgidGFiSW5kZXgiKSxaPTQpOlo9PTI5P1o9KEQ9aC5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzI1OjI4Olo9PTk4P1o9Uj81Mjo5MDpaPT0xMT9aPSFSJiZNUCg1LDMyLGspPzk5OjI5Olo9PTY3P1o9TVAoNywzMixrKT84MDoyOTpaPT04MD8oay5ZZSY0JiZrLnJiJjQmJmsuc2V0QWN0aXZlKGZhbHNlKSxrLlllJjMyJiZrLnJiJjMyJiZJQigxNCw0LGssZmFsc2UsMzIpJiZrLnYoZmFsc2UsMzIpLFo9MjkpOlo9PTk5PyhuPTEyLGguYmx1cigpLFo9MjEpOlo9PTYzPyhjPWgsWj05OCk6Wj09NzMmJihaPWsucmImMzImJihoPWsuaVgoKSk/MTE6NCl9Y2F0Y2goQil7aWYobj09MjQpdGhyb3cgQjtuPT0xMiYmKG09QixaPTgpfX19LHtidXR0b246InByZXNzZWQiLGNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifSk7dS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifTt3aGlsZSgwPT09LU51bWJlcigpKWlmKHUuYlg9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXsoKGg9KG49KGx6fHwobHo9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KSxseltSXSksay5nZXRBdHRyaWJ1dGUoInJvbGUiKXx8bnVsbCkpPyhEPWo4W2hdfHxuLFo9bj09ImNoZWNrZWQifHxuPT0ic2VsZWN0ZWQiP0Q6bik6Wj1uLGM9WikmJk9SKDEyLDgsZmFsc2UsImhpZGRlbiIsayxHLGMpfSx0cnVlKWJyZWFrO2lmKHUuaVg9KHUudj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaKXt7Wj03OTt3aGlsZShaIT0xKVo9PTA/KGg9dGhpcy5maigpLGgucmVwbGFjZSgvXFx4YTB8XFxzL2csIiAiKSx0aGlzLlprPXsxOmgrIi1kaXNhYmxlZCIsMjpoKyItaG92ZXIiLDQ6aCsiLWFjdGl2ZSIsODpoKyItc2VsZWN0ZWQiLDE2OmgrIi1jaGVja2VkIiwzMjpoKyItZm9jdXNlZCIsNjQ6aCsiLW9wZW4ifSxaPTU2KTpaPT03OT8oRD1SLkYoKSxaPTIwKTpaPT0yMD9aPUQ/MTM6MTpaPT01Nj8oKGM9dGhpcy5aa1trXSkmJnRoaXMuSW8oUixjLEcpLHRoaXMuYlgoRCxrLEcpLFo9MSk6Wj09MTMmJihaPXRoaXMuWms/NTY6MCl9fSxmdW5jdGlvbihrKXtyZXR1cm4gay5GKCl9KSxbXSlCWSgyLDQ0LEZYLGZyKTt2YXIgbnI9KChoVyg3MixGWCksRlgpLnByb3RvdHlwZS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWJ1dHRvbiJ9LEZYLnByb3RvdHlwZS5iWD1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKFIpe2Nhc2UgODpjYXNlIDE2Ok9SKDEyLDUsZmFsc2UsImhpZGRlbiIsayxHLCJwcmVzc2VkIik7YnJlYWs7ZGVmYXVsdDpjYXNlIDY0OmNhc2UgMTpGWC5PLmJYLmNhbGwodGhpcyxrLFIsRyl9fSx7fSk7aWYoKCgoKCgoKCh1PShCWSgyLDQyLGI5LEREKSxiOSkucHJvdG90eXBlLHUpLmppPXRydWUsdSkuSW89ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTU2O0chPTI0OylHPT04Mj8odGhpcy5EP2UoNDMsMCxrLHRoaXMuRCl8fHRoaXMuRC5wdXNoKGspOnRoaXMuRD1ba10sdGhpcy5DLklvKHRoaXMsayx0cnVlKSxHPTI0KTpHPT03Mz8odGhpcy5DLklvKHRoaXMsayxmYWxzZSksRz0yNCk6Rz09MTk/Rz10aGlzLkQubGVuZ3RoPT0wPzQwOjczOkc9PTQwPyh0aGlzLkQ9bnVsbCxHPTczKTpHPT01Nj9HPVI/MTM6NzE6Rz09MTM/Rz1rPzgyOjI0Okc9PTcxJiYoRz1rJiZ0aGlzLkQmJnRXKDYsMCxrLHRoaXMuRCk/MTk6MjQpfSx1KS5pWD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkMuaVgodGhpcyl9LHUucmI9MzksdSkuaXE9MCx1KS5ZZT0yNTUsdS5CdD1mdW5jdGlvbigpeygoYjkuTy5CdC5jYWxsKHRoaXMpLHRoaXMuVTIpJiZ0aGlzLlUyLmRldGFjaCgpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkpJiZ0aGlzLkMuQXgodGhpcyxmYWxzZSl9LHUuVT1mdW5jdGlvbihrKXt7az03NTt3aGlsZShrIT02MilrPT03MD8oZGVsZXRlIHRoaXMuQyx0aGlzLkQ9bnVsbCxrPTYyKTprPT01Mz9rPXRoaXMuVTI/OTE6NzA6az09OTE/KHRoaXMuVTIuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLlUyLGs9NzApOms9PTc1JiYoYjkuTy5VLmNhbGwodGhpcyksaz01Myl9fSx1KS5EPW51bGwsdS5PMj0wLHUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaml9LHUpLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiFNUCgxMCwxLHRoaXMpfSx1LmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIE1QKDksNCx0aGlzKX0sdS5zZXRBY3RpdmU9ZnVuY3Rpb24oayl7SUIoMTAsNCx0aGlzLGssNCkmJnRoaXMudihrLDQpfSx1KS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk8yfSx1LnY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9Nzg7WiE9ODk7KVo9PTgzPyhEPSFrLGM9dGhpcy5nZXRQYXJlbnQoKSxaPTM1KTpaPT0xNj9aPUQ/MTQ6NzQ6Wj09NzQ/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxJQigxMiw0LHRoaXMsZmFsc2UsMikmJnRoaXMudihmYWxzZSwyKSxaPTE0KTpaPT0yNT8odGhpcy5DLnYoUix0aGlzLGspLHRoaXMuTzI9az8oaD10aGlzLk8yLC0xLX5oLShoJn5SKSsoaF5SKSk6dGhpcy5PMiZ+UixaPTg5KTpaPT00Mj9aPXRoaXMucmImUiYmayE9TVAoMyxSLHRoaXMpPzI1Ojg5Olo9PTM1P1o9YyYmdHlwZW9mIGMuaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhYy5pc0VuYWJsZWQoKXx8IUlCKDMyLDQsdGhpcywhRCwxKT84OToxNjpaPT03OD9aPUd8fFIhPTE/NDI6ODM6Wj09MTQmJih0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLkMuQXgodGhpcyxEKSx0aGlzLnYoIUQsMSx0cnVlKSxaPTg5KX0sdHlwZW9mIGI5IT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitiOSk7aWYodHlwZW9mIGZyIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK2ZyKTt2YXIgYVk9Q24oNjQsMTcsYjkpOygoQlkoMiw0MCxnVSwoKEJZKDIsNDYsUWYsKGEoNixmdW5jdGlvbigpe3JldHVybiBuZXcgYjkobnVsbCl9LChuclthWV09ZnIsImdvb2ctY29udHJvbCIpKSxGWCkpLGhXKDczLFFmKSxRZi5wcm90b3R5cGUuQXg9ZnVuY3Rpb24oKXt9LFFmLnByb3RvdHlwZSkudj1mdW5jdGlvbihrLFIsRyxoLEQpe3tEPTkxO3doaWxlKEQhPTQyKUQ9PTkxPyhRZi5PLnYuY2FsbCh0aGlzLGssUixHKSxoPVIuRigpLEQ9NjEpOkQ9PTgzPyhoLmRpc2FibGVkPUcsRD00Mik6RD09NjEmJihEPWgmJms9PTE/ODM6NDIpfX0sUWYucHJvdG90eXBlLmJYPWZ1bmN0aW9uKCl7fSxiOSkpLGdVLnByb3RvdHlwZSkuVT1mdW5jdGlvbigpe2RlbGV0ZSAoZGVsZXRlIChnVS5PLlUuY2FsbCh0aGlzKSx0aGlzKS5KMyx0aGlzKS5kTn0sYSkoNSxmdW5jdGlvbigpe3JldHVybiBuZXcgZ1UobnVsbCl9LCJnb29nLWJ1dHRvbiIpO3ZhciBaRCx1OT1ILnJlcXVlc3RJZGxlQ2FsbGJhY2s/ZnVuY3Rpb24oayl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe2soKX0se3RpbWVvdXQ6NH0pfTpILnNldEltbWVkaWF0ZT9mdW5jdGlvbihrKXtzZXRJbW1lZGlhdGUoayl9OmZ1bmN0aW9uKGspe3NldFRpbWVvdXQoaywwKX0sb3Y9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LFZmPW9CKDEzLDEwLFsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qcy9iZy8iLCIiXSksdlk9U3RyaW5nLmZyb21DaGFyQ29kZSgxMDUsMTEwLDExNiwxMDEsMTAzLDY3LDEwNCwxMDEsOTksMTA3LDY2LDEyMSwxMTIsOTcsMTE1LDExNSksd1U9e30sJGY9W10sUlk9KHgucHJvdG90eXBlLlB3PXZvaWQgMCx4LnByb3RvdHlwZS5MWD0oeC5wcm90b3R5cGUuTm09ZmFsc2UsInRvU3RyaW5nIiksW10pLGRyPVtdLEFvPSh4LnByb3RvdHlwZS5mUT12b2lkIDAsW10pLEJkPVtdLG1jPVtdLEd0PVtdLE1UPVtdLHhuPVtdLHpOPWZ1bmN0aW9uKGssUil7d2hpbGUoIVtdPT1mYWxzZSl7cmV0dXJuKFI9QVcoNDEsImFkIiwxNykpJiZrLmV2YWwoUi5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBSLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR307aWYoImEiKWJyZWFrfX0oSCkseXI9ZnVuY3Rpb24oayl7cmV0dXJuKGs9QVcoNDEsImFkIiwxNikpP2Z1bmN0aW9uKFIpe3JldHVybiBrLmNyZWF0ZVNjcmlwdFVSTChSKX06ZnVuY3Rpb24oUil7cmV0dXJuIFJ9fSgpLEVlPWZ1bmN0aW9uKGspe3JldHVybihrPUFXKDQxLCJhZCIsMTkpKT9mdW5jdGlvbihSKXtyZXR1cm4gay5jcmVhdGVIVE1MKFIpfTpmdW5jdGlvbihSKXtyZXR1cm4gUn19KCkseWY9KCgoKChpTixZZixTOCxueCxaeSxmdW5jdGlvbigpe30pKEU1KSxmdW5jdGlvbigpe30pKFdZKSxmdW5jdGlvbigpe30pKHM1KSx5cixmdW5jdGlvbigpe30pKEVlKSx3VSkuY29uc3RydWN0b3IsU2U9KCgoKCgoKHgucHJvdG90eXBlLkxqPTAseC5wcm90b3R5cGUuUj0odT14LnByb3RvdHlwZSwiY3JlYXRlIiksdSkuSj0od2luZG93LnBlcmZvcm1hbmNlfHx7fSkubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUmErd2luZG93LnBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sdSkuaHM9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gQ24uY2FsbCh0aGlzLDY0LDMyLGssUixHLGgsRCl9LHUpLlJvPWZ1bmN0aW9uKCl7cmV0dXJuIGhXLmNhbGwodGhpcyw1Nil9LHUpLnNfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7cmV0dXJuIE1QLmNhbGwodGhpcyw1NixrLFIsRyxoLEQsYyxaLG4pfSx1KS50cz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gUkIuY2FsbCh0aGlzLDIxLGssUixHLGgsRCxjLFosbixtLEIpfSx1LnBqPWZ1bmN0aW9uKCl7cmV0dXJuIFJCLmNhbGwodGhpcyw2NCl9LHUpLnBYPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIFkuY2FsbCh0aGlzLGssOSxSLEcsaCxEKX0sdS5IVj0wLHZvaWQgMCksSm89KHU9eC5wcm90b3R5cGUsdS5pPWZ1bmN0aW9uKGssUil7cmV0dXJuIFI9KGs9e30sU2U9ZnVuY3Rpb24oKXtyZXR1cm4gaz09Uj81ODoxMDZ9LHt9KSxmdW5jdGlvbihHLGgsRCxjLFosbixtLEIsVCxOLFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKLHosUHUsbTcsZyxlTSxMLFU1LHQsVSxPNSxZbixwLEN4KXtmb3IodD0zMixVPXVuZGVmaW5lZCxwPTIwLEN4PWZhbHNlOzspdHJ5e2lmKHQ9PTY1KWJyZWFrO2Vsc2UgaWYodD09NDQpdD1CPzc3OjEwO2Vsc2UgaWYodD09OTEpcD00NyxiTig1NywzMDAwMSx0aGlzLDQxKSx0PTM3O2Vsc2UgaWYodD09ODcpcD00Nyxhdig1MDYsdGhpcywxNyxPNSksVT02NSx0PTM3O2Vsc2UgaWYodD09MjcpVSE9PXVuZGVmaW5lZD8odD1VLFU9dW5kZWZpbmVkKTp0PTY1O2Vsc2UgaWYodD09MjkpcD00Nyx0PTk1O2Vsc2UgaWYodD09MTcpcD01NSxHbygpLHQ9OTU7ZWxzZSBpZih0PT00MSl0PVA9PW1jPzI0OjIxO2Vsc2UgaWYodD09NzApdD0zOTtlbHNlIGlmKHQ9PTU3KXQ9Zy5sZW5ndGg+ND81NjozNjtlbHNlIGlmKHQ9PTI4KU4ubGVuZ3RoPTAsdD0zNztlbHNlIGlmKHQ9PTYpcD03MCx0aGlzLndiPU5UKDI1NSw0MCwwLGF0b2IoJG4pKSx0aGlzLmo9dGhpcy53Yi5sZW5ndGg8PDMsQSgzNjMsdGhpcyxbMCwwLDBdKSx0PTkxO2Vsc2UgaWYodD09MjIpe2lmKEU9KE49Vyh0aGlzLDcxKSx0eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yKSYmTltTeW1ib2wuaXRlcmF0b3JdKXo9RS5jYWxsKE4pO2Vsc2UgaWYodHlwZW9mIE4ubGVuZ3RoPT0ibnVtYmVyIil6PXtuZXh0Ok9SKDEyLDcyLDAsTil9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKE4pKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO3Q9KFQ9KHk9eix5Lm5leHQoKSksNDgpfWVsc2UgaWYodD09Nyl0PUdbNF0/NjQ6NTk7ZWxzZSBpZih0PT02NCl7Zm9yKFggaW4gQj1mYWxzZSxoKWlmKFghPT0idCImJk9iamVjdC5oYXNPd24oaCxYKSl7Qj10cnVlO2JyZWFrfXQ9NDR9ZWxzZSBpZih0PT01Myl0PVA9PUJkPzgyOjQzO2Vsc2UgaWYodD09MzgpSj0wLE89IiIsdD03MDtlbHNlIGlmKHQ9PTU2KXQ9Zy5sZW5ndGg+MUU2Pzg4Ojk3O2Vsc2UgaWYodD09MTUpWW49UWgoMCxHWzFdLDE1NywzMDAwMSx0aGlzKSxVPTk5LHQ9Mzc7ZWxzZSBpZih0PT00Myl0PVA9PUFvPzgxOjQxO2Vsc2UgaWYodD09MjUpdD1QPT1kcj8yMjozNztlbHNlIGlmKHQ9PTMyKWVNPWssaz1SLHQ9MztlbHNlIGlmKHQ9PTk2KWg9e30sdj0wLHQ9ODtlbHNlIGlmKHQ9PTg4KWc9Zy5zbGljZSgwLDFFNiksbE4oNDg4LFtdLDcsdGhpcywxMDIpLGplKDQ4OCxbXSx0aGlzLDEzNSksdD05NztlbHNlIGlmKHQ9PTY4KSRuPUdbMV0sdD02O2Vsc2UgaWYodD09NjYpSisrLHQ9Mzk7ZWxzZSBpZih0PT03NCl0PU8/Nzk6Mzg7ZWxzZSBpZih0PT04MSlyPUdbMV1bMV0sYz1LKDIsKG09Yih0aGlzLDQ4OCkubGVuZ3RoLC0yKn4obSYyKSstMisobV4yKSkpLHdKPXRoaXMuQix0aGlzLkI9dGhpcyx0PTExO2Vsc2UgaWYodD09MjQpUWgoMCxHWzFdLDE1NyxHWzJdLHRoaXMpLHQ9Mzc7ZWxzZSBpZih0PT0xOSl0PVUhPT11bmRlZmluZWQ/Mzc6NDtlbHNlIGlmKHQ9PTQpcD00NyxTPVlmKDIpLmNvbmNhdChiKHRoaXMsNDg4KSksU1sxXT0oTT1TWzBdLC0oTXwwKSsoTXwxNTkpKyhNJi0xNjApKSxTWzNdPVNbMV1eY1swXSxTWzRdPVNbMV1eY1sxXSxPPXRoaXMubmooUyksdD03NDtlbHNlIGlmKHQ9PTM2KXA9NDcsdGhpcy5CPXdKLHQ9MTk7ZWxzZSBpZih0PT05NSlUPXkubmV4dCgpLHQ9NDI7ZWxzZSBpZih0PT01MSl0PVA9PSRmPzk2OjUzO2Vsc2UgaWYodD09NTkpdGhpcy5QLnB1c2gobCksdGhpcy5QLnB1c2godyksVT02NSx0PTM3O2Vsc2UgaWYodD09MzkpdD1KPFMubGVuZ3RoPzYwOjYyO2Vsc2UgaWYodD09NzcpWW49e1FUOncsYWE6bCx0aW1lb3V0OnYsTW06ZmFsc2UsSWE6MH0sVT02Myx0PTM3O2Vsc2UgaWYodD09MzMpdD1QPT1HdD82ODo1MTtlbHNlIGlmKHQ9PTQyKXQ9VC5kb25lPzI4Ojk4O2Vsc2UgaWYodD09ODIpbj1HWzFdLG5bMV0ucHVzaChWKDE5MSx0aGlzKS5sZW5ndGgsVyh0aGlzLDE0KS5sZW5ndGgsVyh0aGlzLDQ4OCkubGVuZ3RoLGIodGhpcyw0NDYpLmxlbmd0aCxiKHRoaXMsMTYzKS5sZW5ndGgsYih0aGlzLDMwMilbMF0sVigyNjQsdGhpcykubGVuZ3RoLFcodGhpcyw0MikubGVuZ3RoKSxRKHRoaXMsMTU3LG5bMl0pLHRoaXMuWVs0NjldJiZRaCgwLFYoNDY5LHRoaXMpLDE1NywzMDAwMSx0aGlzKSx0PTM3O2Vsc2UgaWYodD09OTgpR289VC52YWx1ZSx0PTE3O2Vsc2UgaWYodD09NDApcD00Nyx3PVtCZCxHLHRoaXMuUm8oKV0sbD1bQW8sR10sdD03O2Vsc2UgaWYodD09MylwPTQ3LFA9R1swXSx0PTMzO2Vsc2UgaWYodD09MzcpcD0yMCxrPWVNLHQ9Mjc7ZWxzZXtpZih0PT00NylyZXR1cm4gWW47aWYodD09OClwPTc3LGg9Yih0aGlzLDU1KXx8e30sdj1oLnR8MCx0PTQwO2Vsc2UgaWYodD09NjApZD1TW0pdW3RoaXMuTFhdKDE2KSxkLmxlbmd0aD09MSYmKGQ9IjAiK2QpLE8rPWQsdD02NjtlbHNlIGlmKHQ9PTk3KWplKDQ4OCxLKDIsZy5sZW5ndGgpLmNvbmNhdChnKSx0aGlzLDUpLHQ9MzY7ZWxzZSBpZih0PT0xMSlwPTc2LG03PWIodGhpcyw1MDYpLG03Lmxlbmd0aD4wJiZsTig0ODgsSygyLG03Lmxlbmd0aCkuY29uY2F0KG03KSw3LHRoaXMsMTQ3KSxsTig0ODgsSygxLHRoaXMuSCsxPj4xKSw3LHRoaXMsMjQ0KSxqZSg0ODgsSygxLHRoaXNbQW9dLmxlbmd0aCksdGhpcyksUHU9dGhpcy5IdD9WKDE2Myx0aGlzKTpiKHRoaXMsNDQ2KSxQdS5sZW5ndGg+MCYmbE4oMTQsSygyLFB1Lmxlbmd0aCkuY29uY2F0KFB1KSw3LHRoaXMsMjI3KSxGPVYoMTQsdGhpcyksRi5sZW5ndGg+NCYmamUoNDg4LEsoMixGLmxlbmd0aCkuY29uY2F0KEYpLHRoaXMsMjI2KSxJPTAsSSs9Yih0aGlzLDEwMykmMjA0NyxJLT0oWj1WKDQ4OCx0aGlzKS5sZW5ndGgsLTItMip+KFp8NSktKFpeNSkpLGc9Vig0Mix0aGlzKSxnLmxlbmd0aD40JiYoSS09KGcubGVuZ3RofDApKzMpLEk+MCYmamUoNDg4LEsoMixJKS5jb25jYXQoWWYoSSkpLHRoaXMsMTUwKSx0PTU3O2Vsc2UgaWYodD09NzkpTz0iJCIrTyx0PTYyO2Vsc2V7aWYodD09OTkpcmV0dXJuIFluO2lmKHQ9PTEwKXRoaXMuUC5wdXNoKGwpLHRoaXMuUC5wdXNoKHcpLFU9NjUsdD0zNztlbHNlIGlmKHQ9PTIxKXQ9UD09TVQ/MTU6MjU7ZWxzZSBpZih0PT02MilEPU8sYih0aGlzLDE5MSkubGVuZ3RoPXIuc2hpZnQoKSxiKHRoaXMsMTQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQ4OCkubGVuZ3RoPXIuc2hpZnQoKSxXKHRoaXMsNDQ2KS5sZW5ndGg9ci5zaGlmdCgpLFYoMTYzLHRoaXMpLmxlbmd0aD1yLnNoaWZ0KCksVigzMDIsdGhpcylbMF09ci5zaGlmdCgpLFcodGhpcywyNjQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQyKS5sZW5ndGg9ci5zaGlmdCgpLFluPUQsVT00Nyx0PTM3O2Vsc2V7aWYodD09NjMpcmV0dXJuIFluO2lmKHQ9PTQ4KXQ9NDI7ZWxzZSBpZih0PT05MCl0aHJvdyBVNTt9fX19Y2F0Y2goaG8pe2lmKHA9PShVNT1obywyMCkpdGhyb3cgaG87cD09NDc/KFU9OTAsdD0zNyk6cD09NzA/KE81PWhvLHQ9ODcpOnA9PTc2PyhVPTkwLHQ9MzYpOnA9PTc3PyhVPTkwLHQ9NDApOnA9PTU1JiYoTD1obyx0PTI5KX19fSgpLHUudXE9ZnVuY3Rpb24oayl7cmV0dXJuIEJZLmNhbGwodGhpcyxrLDcyKX0sLy4vKTtpZih0cnVlKXUubmo9ZnVuY3Rpb24oayl7cmV0dXJuIENuLmNhbGwodGhpcyw2NCw4LGspfTt2YXIgeGY7aWYodS5TaT0odS50eD1mdW5jdGlvbigpe3JldHVybiBDbi5jYWxsKHRoaXMsNjQsNDgpfSwwKSx0cnVlKXUuck49MDt2YXIgSGQ9R3QucG9wLmJpbmQoeC5wcm90b3R5cGVbeC5wcm90b3R5cGVbUlldPSh1LmVpPWZ1bmN0aW9uKCl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiwxNCl9LFswLDAsMSwxLDAsMSwxXSksQmRdKTsoWkQ9KHhmPXRXKDkzLChKb1t4LnByb3RvdHlwZS5MWF09SGQse2dldDpIZH0pLHgucHJvdG90eXBlLlIpLHgucHJvdG90eXBlLldWPXZvaWQgMCxILnRyYXlyaWRlKXx8KEgudHJheXJpZGU9e30pLFpELm0+NDB8fChaRC5tPTQxLFpELmFkPWgwLFpELmE9Z0opLFpEKS5ScnZfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3JldHVybltmdW5jdGlvbihUKXtyZXR1cm4gTG4oMyxmYWxzZSxCLDcsVCl9LChCPW5ldyB4KGgsayxELGMsUixtLG4sWiksZnVuY3Rpb24oVCl7Qi50eChUKX0pXX07fSkuY2FsbCh0aGlzKTsnXS5qb2luKCdcbicpKSk7fSkuY2FsbCh0aGlzKTs="}},"time_used":11,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/youtubei/v1/log_event?alt=json","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:53.800Z","timestamp":1785129953800,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"POST /youtubei/v1/log_event?alt=json HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Request-Time: 1785129953778\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: CgtwMHo1ZGNKTWVuZyjd15vTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgEmLfAgrcAjIwLllUPVNSa0JTUklibmdYMVVzNHZFSGZndTdVekVGMklJbnh5TENpTXJzTUdzOTFtQ3FMV09leDk1ZF82LXM1c1R3VlRkdElnUW9GQ2ZNSmNuODIxWWszVTJTcEFFNF9KdFdBUUVBUHVjeVZSTk1rYmw0WTNtYVBsRUh4Tmx5X2F5b0lMN25SdGFENGZiQXpQUFRTZ0RrcWFyWDhRWjRqWFBacjVCLVlJYVVMOExCNW9iTDdUU1NnQXlubG5rVVRyZFdieHQ0bFR1aG5DbkhkNUtoSUtWMWNCWUJpQmZiOUtybjdtMU9UWG1pTm9VeFlOc0w1T3NDa2ZMN2hkQ2l5dU9vcnI4VHZhMEQ5U0ZvYVpHd2lBVGVwTXpUMWV5ZjRjZlFoeG9yWWswWWRTY1hNYXFDU09vR003MHQzWHhycUsxTXJTS0M2SHBfN0V3U2tuWEgtcjByY2tEZw%3D%3D\r\nX-Goog-Event-Time: 1785129953778\r\nX-YouTube-Client-Name: 56\r\nX-YouTube-Client-Version: 2.20260724.01.00\r\nX-YouTube-Device: cbr=Firefox\u0026cbrver=134.0\u0026ceng=Gecko\u0026cengver=134.0\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\r\nX-YouTube-Page-CL: 953206010\r\nX-YouTube-Page-Label: youtube.embeds.web_20260724_01_RC00\r\nX-YouTube-Utc-Offset: 0\r\nX-YouTube-Time-Zone: UTC\r\nX-YouTube-Ad-Signals: dt=1785129949793\u0026flash=0\u0026frm=2\u0026u_tz\u0026u_his=2\u0026u_h=1024\u0026u_w=1280\u0026u_ah=1024\u0026u_aw=1280\u0026u_cd=24\u0026bc=31\u0026bih=-12245933\u0026biw=-12245933\u0026brdim=0%2C0%2C0%2C0%2C1280%2C0%2C1280%2C1024%2C360%2C215\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Length: 12106\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/H7OiZO_9ahE\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":12106,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"clientName\":56,\"clientVersion\":\"2.20260724.01.00\",\"configInfo\":{\"appInstallData\":\"CN3Xm9MGELb4gBMQjpDRHBCZjbEFEL6E0RwQ4LfRHBDK-4ATEPb30RwQuOTOHBCHrM4cEL22rgUQrtbPHBCJ5NEcELyk0BwQi4e4IhAAEN68zhwQ6fjRHBCBzc4cEMzfrgUQ8N7RHBDBj9AcEODq0RwQiJDRHBC-irAFEParsAUQ-MSAExDxtNAcEJ2GuCIQyfaAExCL988cEJ_PgBMQq5HRHBCkqdEcEPyyzhwQndCwBRCW79EcENr3zhwQ2oXQHBCG4YATEPny0RwQg4e4IhCJsM4cELjw0RwQsIbPHBC9mbAFEPTp0RwQo_zRHBCLh9IcKmxDQU1TVFJWTy1acS1ETWVVRXBVQ25BNzVGWEtqQnVFV3FOVVB5QU1NdkFiX0RlUUcwTG5wQ3pLZ3JBUURrSzRELXlhMjVBYmtoUmZRekFiRWtnWExQY1VuMmRVRjNDem1SdFd1N3g3YkJoMEgwAA%3D%3D\"},\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\",\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"platform\":\"DESKTOP\",\"windowWidthPoints\":360,\"windowHeightPoints\":215},\"thirdParty\":{\"embedUrl\":\"https://digitaltradeinvest.org/\"}},\"events\":[{\"eventTimeMs\":1785129949803,\"latencyActionTicked\":{\"tickName\":\"mm_is\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949806,\"latencyActionTicked\":{\"tickName\":\"mm_ie\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949813,\"latencyActionTicked\":{\"tickName\":\"ep_init_cus\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949813,\"latencyActionTicked\":{\"tickName\":\"ep_init_eps\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949813,\"latencyActionTicked\":{\"tickName\":\"ep_init_epe\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949813,\"latencyActionTicked\":{\"tickName\":\"ep_init_cue\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950085,\"latencyActionTicked\":{\"tickName\":\"pe\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950167,\"latencyActionTicked\":{\"tickName\":\"ep_init_wes\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949364,\"latencyActionTicked\":{\"tickName\":\"srt\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949237,\"latencyActionBaselined\":{\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949295,\"latencyActionTicked\":{\"tickName\":\"nreqs\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949364,\"latencyActionTicked\":{\"tickName\":\"nress\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949369,\"latencyActionTicked\":{\"tickName\":\"nrese\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949256,\"latencyActionTicked\":{\"tickName\":\"ndnss\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949259,\"latencyActionTicked\":{\"tickName\":\"ndnse\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949259,\"latencyActionTicked\":{\"tickName\":\"ntcps\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949295,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949267,\"latencyActionTicked\":{\"tickName\":\"nstcps\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949295,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949562,\"latencyActionTicked\":{\"tickName\":\"wffs\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949711,\"latencyActionTicked\":{\"tickName\":\"wffe\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949545,\"latencyActionTicked\":{\"tickName\":\"rsf_pj\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949698,\"latencyActionTicked\":{\"tickName\":\"rse_pj\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949545,\"latencyActionTicked\":{\"tickName\":\"rsf_pc\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949657,\"latencyActionTicked\":{\"tickName\":\"rse_pc\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949545,\"latencyActionTicked\":{\"tickName\":\"rsf_ecj\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949681,\"latencyActionTicked\":{\"tickName\":\"rse_ecj\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949545,\"latencyActionTicked\":{\"tickName\":\"rsf_ecc\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949663,\"latencyActionTicked\":{\"tickName\":\"rse_ecc\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950173,\"latencyActionInfo\":{\"isNavigation\":true,\"actionType\":\"LATENCY_ACTION_VIDEO_PREVIEW\",\"httpProtocol\":\"h2\",\"transportProtocol\":\"tcp\",\"isVisible\":true,\"loadType\":\"cold\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949792,\"latencyActionTicked\":{\"tickName\":\"rses_dpj\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950178,\"latencyActionTicked\":{\"tickName\":\"ep_init_wee\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950181,\"latencyActionInfo\":{\"serverTimeMs\":39,\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950217,\"screenCreated\":{\"csn\":\"mcOxwtN0CBgO7Lg7\",\"pageVe\":{\"veType\":16623,\"youtubeData\":{\"servletData\":{\"serializedServletEventId\":\"3etmarPUEq_bq7YP_oi02Aw\"}}}},\"context\":{\"lastActivityMs\":\"16\"}},{\"eventTimeMs\":1785129950218,\"latencyActionInfo\":{\"clientScreenNonce\":\"mcOxwtN0CBgO7Lg7\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785129950218,\"screenCreated\":{\"csn\":\"SRm07lM5RywOTeov\",\"pageVe\":{\"veType\":32594},\"implicitGesture\":{\"parentCsn\":\"mcOxwtN0CBgO7Lg7\",\"gesturedVe\":{\"veType\":16623},\"gestureType\":\"INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED\"}},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785129950218,\"visualElementHidden\":{\"csn\":\"mcOxwtN0CBgO7Lg7\",\"ve\":{\"veType\":16623},\"eventType\":16},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785129950218,\"latencyActionInfo\":{\"clientScreenNonce\":\"SRm07lM5RywOTeov\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785129950218,\"visualElementAttached\":{\"csn\":\"SRm07lM5RywOTeov\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"trackingParams\":\"CAAQru4BIhMI4dSHpI_ylQMVKZ70Bx0WLheSygEEsvGAjQ==\"}]},\"context\":{\"lastActivityMs\":\"18\"}},{\"eventTimeMs\":1785129950221,\"latencyActionTicked\":{\"tickName\":\"qoes\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"20\"}},{\"eventTimeMs\":1785129950221,\"latencyActionTicked\":{\"tickName\":\"fs\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"20\"}},{\"eventTimeMs\":1785129950250,\"latencyActionInfo\":{\"clientPlaybackNonce\":\"HYWks5UQxHT0ldyJ\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"49\"}},{\"eventTimeMs\":1785129950252,\"latencyActionTicked\":{\"tickName\":\"ep_init_pr\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"51\"}},{\"eventTimeMs\":1785129950445,\"latencyActionTicked\":{\"tickName\":\"ep_init_ijs\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"244\"}},{\"eventTimeMs\":1785129950446,\"latencyActionTicked\":{\"tickName\":\"ep_init_ije\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"245\"}},{\"eventTimeMs\":1785129950447,\"latencyActionTicked\":{\"tickName\":\"ep_init_rs\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"247\"}},{\"eventTimeMs\":1785129950452,\"latencyActionTicked\":{\"tickName\":\"ep_init_re\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"251\"}},{\"eventTimeMs\":1785129950575,\"visualElementAttached\":{\"csn\":\"SRm07lM5RywOTeov\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"374\"}},{\"eventTimeMs\":1785129950575,\"visualElementShown\":{\"csn\":\"SRm07lM5RywOTeov\",\"ve\":{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"374\"}},{\"eventTimeMs\":1785129950639,\"latencyActionTicked\":{\"tickName\":\"ftr\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"438\"}},{\"eventTimeMs\":1785129950900,\"latencyActionTicked\":{\"tickName\":\"pot_ist\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"699\"}},{\"eventTimeMs\":1785129951057,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"Ezh_0mDlc8LScofp\",\"clientScreenNonce\":\"mcOxwtN0CBgO7Lg7\"},\"context\":{\"lastActivityMs\":\"856\"}},{\"eventTimeMs\":1785129951057,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"Ezh_0mDlc8LScofp\",\"clientScreenNonce\":\"SRm07lM5RywOTeov\"},\"context\":{\"lastActivityMs\":\"857\"}},{\"eventTimeMs\":1785129951058,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"857\"}},{\"eventTimeMs\":1785129951058,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"857\"}},{\"eventTimeMs\":1785129951656,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW8KBgoEYUdJZhICCAEiEQoDCgF0CgYKBGFHSWYSAggBIhEKAwoBaAoGCgRhR0lmEgIIEA==\"},\"context\":{\"lastActivityMs\":\"1455\"}},{\"eventTimeMs\":1785129951657,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAADRAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAFEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAAQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAADRAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAABBAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAPUAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAoQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAAhAIhgKAwoBdAoGCgRhR0lmEgkRAAAAAAAIgUA=\"},\"context\":{\"lastActivityMs\":\"1457\"}},{\"eventTimeMs\":1785129951776,\"latencyActionTicked\":{\"tickName\":\"pot_if\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"1576\"}},{\"eventTimeMs\":1785129951777,\"latencyActionTicked\":{\"tickName\":\"pot_cms\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"1576\"}},{\"eventTimeMs\":1785129951778,\"latencyActionTicked\":{\"tickName\":\"pot_cmf\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"1576\"}},{\"eventTimeMs\":1785129952658,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChYvY2xpZW50X3N0cmVhbXovYmcvZnJzEhAKDgoIYm90Z3VhcmQSAjUzGgJtayITCgYKBGFHSWYSCREAAAAAALCbQA==\"},\"context\":{\"lastActivityMs\":\"2458\"}},{\"eventTimeMs\":1785129952659,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW4KBgoEYUdJZhICCAEiEQoDCgFtCgYKBGFHSWYSAggB\"},\"context\":{\"lastActivityMs\":\"2459\"}},{\"eventTimeMs\":1785129952660,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAW4KBgoEYUdJZhIJEQAAAAAAADVAIhgKAwoBaQoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgFvCgYKBGFHSWYSCREAAAAAAFiLQCIYCgMKAWMKBgoEYUdJZhIJEQAAAAAAAAAAIhgKAwoBQwoGCgRhR0lmEgkRAAAAAAAAAAAiGAoDCgF4CgYKBGFHSWYSCREAAAAAAAAAACIYCgMKAW0KBgoEYUdJZhIJEQAAAAAAAAAA\"},\"context\":{\"lastActivityMs\":\"2459\"}}],\"serializedClientEventId\":{\"serializedEventId\":\"3etmarPUEq_bq7YP_oi02Aw\",\"clientCounter\":\"10673\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 05:25:53 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 31\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":28,"size_decoded":381,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"5e1fa6fd9abd549a576f3f24b1d3c8d4","sha1":"d5335d7f7d33be6a0b663f03b2df4df2521c4a87","sha256":"d7d5e54ad1e33d7ab49c664323ced79cb9723ff15e9764cd0edc3e15208e8336","sha512":"96e6938256b8e5924210f8e8e54a85d783fa2c01d5fbe5d2a8df7655fed9ef8be73c7cd8bf042c3c84302134b7418711397eece32f081eb7e824a519cc06b4e3","ssdeep":"","tlshash":"1c800038a8200b22232000ea202888322ac8c8203200ca28830200280cc0a0000a2282","first_seen":"2023-04-05T04:40:08Z","last_seen":"2026-08-15T16:42:31.537717Z","times_seen":285114,"resource_available":false,"data":"ewogICJyZXNwb25zZUNvbnRleHQiOiB7fQp9Cg=="}},"time_used":32,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/5805.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.219Z","timestamp":1785129950219,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/5805.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 685\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 03:08:31 GMT\r\nlast-modified: Wed, 27 Apr 2022 07:39:01 GMT\r\netag: \"b9913f5599faab08d2addf87011c61e0\"\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 8240\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: DmsUnAQZvrPZTV5b3SjknrETwsF__bzKG8zGMF3it4VTeVO0d76J9g==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":685,"size_decoded":1162,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"b9913f5599faab08d2addf87011c61e0","sha1":"d9ae6e6a8ca0e50e02a991d032d9b9a461079f95","sha256":"68ba1605b3a54d7f827c22cc7252f01c6bf9412cfa6573be2c91fcd4b9e908cd","sha512":"7baea45f411fc30232bd93d04b8cf34414d333096ec669558ee6dd4a4a725785786f488b387e6c38654ba4fd3aecfda5526de2d949851796582c75214a42150f","ssdeep":"","tlshash":"8d01d8fb0957c025408f01f8224f7372d160c4eec9c7e20d89d9f7301862ad24c4524d","first_seen":"2023-05-15T13:26:32Z","last_seen":"2026-08-15T04:03:51.133185Z","times_seen":1916,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACdElEQVR4Xu2bPU7DQBBGuRlrcwTugejgLCBElxZBAQeABiREDzX5awEJIpSAI2Elz9jZ3Zm1dw1Peo298+3MVImibG21xNTkB+MsX9hYnGV9cnAoqcyPFjauLe+LgonJT9locE1+xj46odJYy7Kf1mAjXcv+gsLLY5F9qsMLY5V9q8BLYpf9i2B4KnIOLxiampzHCYalKueyhkHa/sDn2nIuKxiiLeF7bTlfIywOIeH7EHLOWliobR08py3n/BUWhbAJntWW864xzrIHFmi7CZ7XdmTMJecu4WFtbWGdtpy7hAe1tYV12nLuJTykrSus15bz/+0F8KW2vjBH2/8FtLEAX6a7u5UsbYMvYPb0xLmsYVYIl8MPTb7PF1r6Mnt8rGSFcFT8AsWHWkpgVkijWwBzQhtkARKYFdqoFsCcNlRfgARmrfp+e7eYf3xUnktVXcDrYMCZrGHWqi9Hx9ZnXVVdgARmNeXyvUS1BUhglk0uz/na+QKYQ+vgOV9VFiCBWS65PO9j8VH4kA9d9YU5dBOfz8NKjZvZnvjLkARm+eSyzkXxt8G38wv2Yw2zVnWF9baKFyCBWZJc1tsqWoAEZmnkMsfGcgE+S/CFOdQX5mxybfg+LKCAWU1y/iU81OT79Q3vb4T1dfrCnCY5dwkP9lXOXTIx2RUP983Rdn7PuddgQd/kvL/Cor7IOWthYV/knI2wOHU5nxUMSVXOZQ2DUpVzOcGw1OQ8XjA0FTmHCIbHLvtXgZfEKvtWhxfGIvsMCi/vWvbXGmykbdlPJxR/YmRjwd3eOWEfUVBpVFneFy3fzc7ZvMA585NjZIz13+eLs6wPxRfcM7S6mfjOrgAAAABJRU5ErkJggg=="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/3897.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.242Z","timestamp":1785129950242,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/3897.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 431\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 25 Jan 2022 23:26:38 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:16:05 GMT\r\netag: \"7b13f300b044436260728185583927b9\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 79786\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: IFeXtJTJppw_P_GK8Ez5_XovS_DrLsTt5Kir8iJMm8voDkZuvHJ39Q==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":431,"size_decoded":926,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"7b13f300b044436260728185583927b9","sha1":"d62b14a8548ea890dbd1a7d940ae3c3d7c413841","sha256":"f5885d09e88c56b64a53c6814e145398f404d87bf8e7e1e8684e723c9ba14164","sha512":"6ee41031c1f78cb0da61687c6c4c531e64ba06b23ed6da339bbc99a706851c9060be7799132f1a9e20e2e5b241582d881dd79ba39a5409fdd7b6876c23b457af","ssdeep":"","tlshash":"d4e05cb9be567e1fd76d25ebe3798074b4366604c81512fc14c48024b240531b984d0e","first_seen":"2025-05-17T13:51:35.328372Z","last_seen":"2026-08-15T04:03:51.022174Z","times_seen":1514,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABdklEQVR4XuXOMYpFUQzD0Lv/Rb/5vQWTqEjlwGkEhrz33l85hDYIbRDaILRBaIPQBqENQhuENghtENogtEFog7BiL/cTe7kXEFbs5X5iL/cCwoq93E/s5V5AWLGX+4m93AsIK/ZyP7GXewFhxV7uJ/ZyLyCs2Mv9xF7uBYQVe7mf2Mu9gLBiL/cTe7kXEFbs5X5iL/cCwoq93E/s5V5AWLGX+4m93AsIJ77vy5//vdwfQjhhL/eHEE7Yy/0hhBP2cn8I4YS93B9COGEv94cQTtjL/SGEE/ZyfwjhhL3cH0I4YS/3hxBO2Mv9IYQT9nJ/CGHFXu4n9nIvIKzYy/3EXu4FhBV7uZ/Yy72AsGIv9xN7uRcQVuzlfmIv9wLCir3cT+zlXkBYsZf7ib3cCwgr9nI/sZd7AWHFXu4n9nIvIKzYy/3EXu4FhBV7uZ/Yy72AsGIv9xN7uRcQ2iC0QWiD0AahDUIbhDYIbRDaILRBaIPQBqENQpUf4B5Y9kWIRxEAAAAASUVORK5CYII="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.118.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:51.725Z","timestamp":1785129951725,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"OPTIONS /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-type,x-goog-api-key\r\nReferer: https://www.youtube.com/\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: https://www.youtube.com\r\nvary: origin, referer, x-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT\r\naccess-control-allow-headers: content-type,x-goog-api-key\r\naccess-control-max-age: 3600\r\ndate: Mon, 27 Jul 2026 05:25:51 GMT\r\ncontent-type: text/html\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":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-15T16:46:18.775881Z","times_seen":17905015,"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":"coinlib.io/_next/static/chunks/4911410e5153f0d7.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.536Z","timestamp":1785129949536,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/4911410e5153f0d7.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 3817465\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"4911410e5153f0d7.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"e09a94d1ed13e73c8c05e86ecc9b73b5\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/4911410e5153f0d7.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::5pnv4-1781312483646-99b0a50f7685\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=7M0pT%2FeA2f0MWuQtAd5o9uovWPcuAOkQsIw2aWDHczXopFThxZP6VWb9YWL3%2F4a0QhrFkMgnyk9dwylprR08X1nQmaTgZjUFkPGyGvTGwhkg33Dax5z9ubF%2B7S8E\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c89d30a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":224417,"size_decoded":73401,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"e09a94d1ed13e73c8c05e86ecc9b73b5","sha1":"5d3e0e86e66f40d854564417d18b9a8cfb50938f","sha256":"bdeee3ad5435b26f62f6a8ce700f78618b18b355f3d3cd21ec3949a59777eaf5","sha512":"7d4e4220b8c82da8621e7f0ae1bfdb323ed094215712b54bfd28ed06e06e0aa9aded8bc0f07eb71ea08e821f75d433c38522d2054e9756e34814622cf8957899","ssdeep":"3072:LZhLWlPznn2U1BR0Bef8xgVrkRMKTopmN6Cstv9it+QK:LZhLWxznn2U1sWK04xstv9it+QK","tlshash":"66240be83995f6626ab302a710af1803733c252b280d4d60a711fdddb57845eb17bf9e","first_seen":"2026-02-04T14:24:19.892015Z","last_seen":"2026-08-15T07:58:28.193905Z","times_seen":2080,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc4NzUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sImdldEFzc2V0UHJlZml4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgcj1lLnIoNDEwNjIpO2Z1bmN0aW9uIGwoKXtsZXQgZT1kb2N1bWVudC5jdXJyZW50U2NyaXB0O2lmKCEoZSBpbnN0YW5jZW9mIEhUTUxTY3JpcHRFbGVtZW50KSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHIuSW52YXJpYW50RXJyb3IoYEV4cGVjdGVkIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgdG8gYmUgYSA8c2NyaXB0PiBlbGVtZW50LiBSZWNlaXZlZCAke2V9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0e3BhdGhuYW1lOnR9PW5ldyBVUkwoZS5zcmMpLG49dC5pbmRleE9mKCIvX25leHQvIik7aWYoLTE9PT1uKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgci5JbnZhcmlhbnRFcnJvcihgRXhwZWN0ZWQgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBzcmMgdG8gY29udGFpbiAnL19uZXh0LycuIFJlY2VpdmVkICR7ZS5zcmN9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIHQuc2xpY2UoMCxuKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwxNTUzNiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwic2V0QXR0cmlidXRlc0Zyb21Qcm9wcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IHI9e2FjY2VwdENoYXJzZXQ6ImFjY2VwdC1jaGFyc2V0IixjbGFzc05hbWU6ImNsYXNzIixodG1sRm9yOiJmb3IiLGh0dHBFcXVpdjoiaHR0cC1lcXVpdiIsbm9Nb2R1bGU6Im5vTW9kdWxlIn0sbD1bIm9uTG9hZCIsIm9uUmVhZHkiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsImNoaWxkcmVuIiwib25FcnJvciIsInN0cmF0ZWd5Iiwic3R5bGVzaGVldHMiXTtmdW5jdGlvbiBhKGUpe3JldHVyblsiYXN5bmMiLCJkZWZlciIsIm5vTW9kdWxlIl0uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gbyhlLHQpe2ZvcihsZXRbbixvXW9mIE9iamVjdC5lbnRyaWVzKHQpKXtpZighdC5oYXNPd25Qcm9wZXJ0eShuKXx8bC5pbmNsdWRlcyhuKXx8dm9pZCAwPT09byljb250aW51ZTtsZXQgaT1yW25dfHxuLnRvTG93ZXJDYXNlKCk7IlNDUklQVCI9PT1lLnRhZ05hbWUmJmEoaSk/ZVtpXT0hIW86ZS5zZXRBdHRyaWJ1dGUoaSxTdHJpbmcobykpLCghMT09PW98fCJTQ1JJUFQiPT09ZS50YWdOYW1lJiZhKGkpJiYoIW98fCJmYWxzZSI9PT1vKSkmJihlLnNldEF0dHJpYnV0ZShpLCIiKSxlLnJlbW92ZUF0dHJpYnV0ZShpKSl9fSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDQ4NzA2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJhcHBCb290c3RyYXAiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCByPWUucig3ODc1KSxsPWUucigxNTUzNik7ZnVuY3Rpb24gYShlKXt2YXIgdCxuO2xldCBhPSgwLHIuZ2V0QXNzZXRQcmVmaXgpKCk7dD1zZWxmLl9fbmV4dF9zLG49KCk9PntlKGEpfSx0JiZ0Lmxlbmd0aD90LnJlZHVjZSgoZSxbdCxuXSk9PmUudGhlbigoKT0+bmV3IFByb21pc2UoKGUscik9PntsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtuJiYoMCxsLnNldEF0dHJpYnV0ZXNGcm9tUHJvcHMpKGEsbiksdD8oYS5zcmM9dCxhLm9ubG9hZD0oKT0+ZSgpLGEub25lcnJvcj1yKTpuJiYoYS5pbm5lckhUTUw9bi5jaGlsZHJlbixzZXRUaW1lb3V0KGUpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGEpfSkpLFByb21pc2UucmVzb2x2ZSgpKS5jYXRjaChlPT57Y29uc29sZS5lcnJvcihlKX0pLnRoZW4oKCk9PntuKCl9KTpuKCl9d2luZG93Lm5leHQ9e3ZlcnNpb246IjE2LjEuNiIsYXBwRGlyOiEwfSwoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw4NTQ3OSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17Z2V0T2JqZWN0Q2xhc3NMYWJlbDpmdW5jdGlvbigpe3JldHVybiBhfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfWZ1bmN0aW9uIG8oZSl7aWYoIltvYmplY3QgT2JqZWN0XSIhPT1hKGUpKXJldHVybiExO2xldCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gbnVsbD09PXR8fHQuaGFzT3duUHJvcGVydHkoImlzUHJvdG90eXBlT2YiKX19LDgwOTQwLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldFByb3BlckVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7bGV0IGE9ZS5yKDg1NDc5KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJuYW1lImluIGUmJiJtZXNzYWdlImluIGV9ZnVuY3Rpb24gaShlKXtsZXQgdDtyZXR1cm4gbyhlKT9lOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigoMCxhLmlzUGxhaW5PYmplY3QpKGUpPyh0PW5ldyBXZWFrU2V0LEpTT04uc3RyaW5naWZ5KGUsKGUsbik9PntpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXtpZih0LmhhcyhuKSlyZXR1cm4iW0NpcmN1bGFyXSI7dC5hZGQobil9cmV0dXJuIG59KSk6ZSsiIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fSwxNzc0OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwicmVwb3J0R2xvYmFsRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjplPT57Z2xvYmFsVGhpcy5jb25zb2xlLmVycm9yKGUpfTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMjc5MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17aXNSZWNvdmVyYWJsZUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LG9uUmVjb3ZlcmFibGVFcnJvcjpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig4MTI1OCksbz1lLnIoODQwODIpLGk9YS5fKGUucig4MDk0MCkpLHU9ZS5yKDE3NzQ4KSxzPW5ldyBXZWFrU2V0O2Z1bmN0aW9uIGMoZSl7cmV0dXJuIHMuaGFzKGUpfWxldCBmPWU9PntsZXQgdD0oMCxpLmRlZmF1bHQpKGUpJiYiY2F1c2UiaW4gZT9lLmNhdXNlOmU7KDAsby5pc0JhaWxvdXRUb0NTUkVycm9yKSh0KXx8KDAsdS5yZXBvcnRHbG9iYWxFcnJvcikodCl9OygiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDkyMzg2LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPXt9fSw2MDg3NywoZSx0LG4pPT57InRyaW1TdGFydCJpbiBTdHJpbmcucHJvdG90eXBlfHwoU3RyaW5nLnByb3RvdHlwZS50cmltU3RhcnQ9U3RyaW5nLnByb3RvdHlwZS50cmltTGVmdCksInRyaW1FbmQiaW4gU3RyaW5nLnByb3RvdHlwZXx8KFN0cmluZy5wcm90b3R5cGUudHJpbUVuZD1TdHJpbmcucHJvdG90eXBlLnRyaW1SaWdodCksImRlc2NyaXB0aW9uImluIFN5bWJvbC5wcm90b3R5cGV8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTeW1ib2wucHJvdG90eXBlLCJkZXNjcmlwdGlvbiIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgZT0vXCgoLiopXCkvLmV4ZWModGhpcy50b1N0cmluZygpKTtyZXR1cm4gZT9lWzFdOnZvaWQgMH19KSxBcnJheS5wcm90b3R5cGUuZmxhdHx8KEFycmF5LnByb3RvdHlwZS5mbGF0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9dGhpcy5jb25jYXQuYXBwbHkoW10sdGhpcyksZT4xJiZ0LnNvbWUoQXJyYXkuaXNBcnJheSk/dC5mbGF0KGUtMSk6dH0sQXJyYXkucHJvdG90eXBlLmZsYXRNYXA9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tYXAoZSx0KS5mbGF0KCl9KSxQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5fHwoUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm4gdGhpcy50aGVuKGUsZSk7dmFyIHQ9dGhpcy5jb25zdHJ1Y3Rvcnx8UHJvbWlzZTtyZXR1cm4gdGhpcy50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiB0LnJlc29sdmUoZSgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIG59KX0sZnVuY3Rpb24obil7cmV0dXJuIHQucmVzb2x2ZShlKCkpLnRoZW4oZnVuY3Rpb24oKXt0aHJvdyBufSl9KX0pLE9iamVjdC5mcm9tRW50cmllc3x8KE9iamVjdC5mcm9tRW50cmllcz1mdW5jdGlvbihlKXtyZXR1cm4gQXJyYXkuZnJvbShlKS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVt0WzBdXT10WzFdLGV9LHt9KX0pLEFycmF5LnByb3RvdHlwZS5hdHx8KEFycmF5LnByb3RvdHlwZS5hdD1mdW5jdGlvbihlKXt2YXIgdD1NYXRoLnRydW5jKGUpfHwwO2lmKHQ8MCYmKHQrPXRoaXMubGVuZ3RoKSwhKHQ8MHx8dD49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW3RdfSksT2JqZWN0Lmhhc093bnx8KE9iamVjdC5oYXNPd249ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXRocm93IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0Iik7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChPYmplY3QoZSksdCl9KSwiY2FuUGFyc2UiaW4gVVJMfHwoVVJMLmNhblBhcnNlPWZ1bmN0aW9uKGUsdCl7dHJ5e3JldHVybiBuZXcgVVJMKGUsdCksITB9Y2F0Y2goZSl7cmV0dXJuITF9fSl9LDc5MTIzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUucig2MDg3NyksKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sNDAxNDAsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCl7dmFyIG49ZS5sZW5ndGg7Zm9yKGUucHVzaCh0KTswPG47KXt2YXIgcj1uLTE+Pj4xLGw9ZVtyXTtpZigwPG8obCx0KSllW3JdPXQsZVtuXT1sLG49cjtlbHNlIGJyZWFrfX1mdW5jdGlvbiBsKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIGEoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiBudWxsO3ZhciB0PWVbMF0sbj1lLnBvcCgpO2lmKG4hPT10KXtlWzBdPW47Zm9yKHZhciByPTAsbD1lLmxlbmd0aCxhPWw+Pj4xO3I8YTspe3ZhciBpPTIqKHIrMSktMSx1PWVbaV0scz1pKzEsYz1lW3NdO2lmKDA+byh1LG4pKXM8bCYmMD5vKGMsdSk/KGVbcl09YyxlW3NdPW4scj1zKTooZVtyXT11LGVbaV09bixyPWkpO2Vsc2UgaWYoczxsJiYwPm8oYyxuKSllW3JdPWMsZVtzXT1uLHI9cztlbHNlIGJyZWFrfX1yZXR1cm4gdH1mdW5jdGlvbiBvKGUsdCl7dmFyIG49ZS5zb3J0SW5kZXgtdC5zb3J0SW5kZXg7cmV0dXJuIDAhPT1uP246ZS5pZC10LmlkfWlmKG4udW5zdGFibGVfbm93PXZvaWQgMCwib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiYiZnVuY3Rpb24iPT10eXBlb2YgcGVyZm9ybWFuY2Uubm93KXt2YXIgaSx1PXBlcmZvcm1hbmNlO24udW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIHUubm93KCl9fWVsc2V7dmFyIHM9RGF0ZSxjPXMubm93KCk7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gcy5ub3coKS1jfX12YXIgZj1bXSxkPVtdLHA9MSxtPW51bGwsaD0zLGc9ITEsdj0hMSx5PSExLGI9ITEsdz0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwsaz0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLFM9InUiPnR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gRShlKXtmb3IodmFyIHQ9bChkKTtudWxsIT09dDspe2lmKG51bGw9PT10LmNhbGxiYWNrKWEoZCk7ZWxzZSBpZih0LnN0YXJ0VGltZTw9ZSlhKGQpLHQuc29ydEluZGV4PXQuZXhwaXJhdGlvblRpbWUscihmLHQpO2Vsc2UgYnJlYWs7dD1sKGQpfX1mdW5jdGlvbiB4KGUpe2lmKHk9ITEsRShlKSwhdilpZihudWxsIT09bChmKSl2PSEwLF98fChfPSEwLGkoKSk7ZWxzZXt2YXIgdD1sKGQpO251bGwhPT10JiZSKHgsdC5zdGFydFRpbWUtZSl9fXZhciBfPSExLFA9LTEsTj01LEM9LTE7ZnVuY3Rpb24gVCgpe3JldHVybiEhYnx8IShuLnVuc3RhYmxlX25vdygpLUM8Til9ZnVuY3Rpb24gTygpe2lmKGI9ITEsXyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtDPWU7dmFyIHQ9ITA7dHJ5e2U6e3Y9ITEseSYmKHk9ITEsayhQKSxQPS0xKSxnPSEwO3ZhciByPWg7dHJ5e3Q6e2ZvcihFKGUpLG09bChmKTtudWxsIT09bSYmIShtLmV4cGlyYXRpb25UaW1lPmUmJlQoKSk7KXt2YXIgbz1tLmNhbGxiYWNrO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBvKXttLmNhbGxiYWNrPW51bGwsaD1tLnByaW9yaXR5TGV2ZWw7dmFyIHU9byhtLmV4cGlyYXRpb25UaW1lPD1lKTtpZihlPW4udW5zdGFibGVfbm93KCksImZ1bmN0aW9uIj09dHlwZW9mIHUpe20uY2FsbGJhY2s9dSxFKGUpLHQ9ITA7YnJlYWsgdH1tPT09bChmKSYmYShmKSxFKGUpfWVsc2UgYShmKTttPWwoZil9aWYobnVsbCE9PW0pdD0hMDtlbHNle3ZhciBzPWwoZCk7bnVsbCE9PXMmJlIoeCxzLnN0YXJ0VGltZS1lKSx0PSExfX1icmVhayBlfWZpbmFsbHl7bT1udWxsLGg9cixnPSExfX19ZmluYWxseXt0P2koKTpfPSExfX19aWYoImZ1bmN0aW9uIj09dHlwZW9mIFMpaT1mdW5jdGlvbigpe1MoTyl9O2Vsc2UgaWYoInUiPnR5cGVvZiBNZXNzYWdlQ2hhbm5lbCl7dmFyIHo9bmV3IE1lc3NhZ2VDaGFubmVsLEw9ei5wb3J0Mjt6LnBvcnQxLm9ubWVzc2FnZT1PLGk9ZnVuY3Rpb24oKXtMLnBvc3RNZXNzYWdlKG51bGwpfX1lbHNlIGk9ZnVuY3Rpb24oKXt3KE8sMCl9O2Z1bmN0aW9uIFIoZSx0KXtQPXcoZnVuY3Rpb24oKXtlKG4udW5zdGFibGVfbm93KCkpfSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLG4udW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7ZS5jYWxsYmFjaz1udWxsfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBofSxuLnVuc3RhYmxlX25leHQ9ZnVuY3Rpb24oZSl7c3dpdGNoKGgpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOnZhciB0PTM7YnJlYWs7ZGVmYXVsdDp0PWh9dmFyIG49aDtoPXQ7dHJ5e3JldHVybiBlKCl9ZmluYWxseXtoPW59fSxuLnVuc3RhYmxlX3JlcXVlc3RQYWludD1mdW5jdGlvbigpe2I9ITB9LG4udW5zdGFibGVfcnVuV2l0aFByaW9yaXR5PWZ1bmN0aW9uKGUsdCl7c3dpdGNoKGUpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOmNhc2UgNDpjYXNlIDU6YnJlYWs7ZGVmYXVsdDplPTN9dmFyIG49aDtoPWU7dHJ5e3JldHVybiB0KCl9ZmluYWxseXtoPW59fSxuLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0LGEpe3ZhciBvPW4udW5zdGFibGVfbm93KCk7c3dpdGNoKGE9Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmIm51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/bythOm8sZSl7Y2FzZSAxOnZhciB1PS0xO2JyZWFrO2Nhc2UgMjp1PTI1MDticmVhaztjYXNlIDU6dT0weDNmZmZmZmZmO2JyZWFrO2Nhc2UgNDp1PTFlNDticmVhaztkZWZhdWx0OnU9NWUzfXJldHVybiB1PWErdSxlPXtpZDpwKyssY2FsbGJhY2s6dCxwcmlvcml0eUxldmVsOmUsc3RhcnRUaW1lOmEsZXhwaXJhdGlvblRpbWU6dSxzb3J0SW5kZXg6LTF9LGE+bz8oZS5zb3J0SW5kZXg9YSxyKGQsZSksbnVsbD09PWwoZikmJmU9PT1sKGQpJiYoeT8oayhQKSxQPS0xKTp5PSEwLFIoeCxhLW8pKSk6KGUuc29ydEluZGV4PXUscihmLGUpLHZ8fGd8fCh2PSEwLF98fChfPSEwLGkoKSkpKSxlfSxuLnVuc3RhYmxlX3Nob3VsZFlpZWxkPVQsbi51bnN0YWJsZV93cmFwQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9aDtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1oO2g9dDt0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7aD1ufX19fSwyNjQ0MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoNDAxNDApfSw4MjQyNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByLGw9ZS5pKDgyNjM3KSxhPWUucigyNjQ0Myksbz1lLnIoNzUyMDEpLGk9ZS5yKDI5MDgwKTtmdW5jdGlvbiB1KGUpe3ZhciB0PSJodHRwczovL3JlYWN0LmRldi9lcnJvcnMvIitlO2lmKDE8YXJndW1lbnRzLmxlbmd0aCl7dCs9Ij9hcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzWzFdKTtmb3IodmFyIG49MjtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQrPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1tuXSl9cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIit0KyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSl9ZnVuY3Rpb24gYyhlKXt2YXIgdD1lLG49ZTtpZihlLmFsdGVybmF0ZSlmb3IoO3QucmV0dXJuOyl0PXQucmV0dXJuO2Vsc2V7ZT10O2RvIDAhPSg0MDk4Jih0PWUpLmZsYWdzKSYmKG49dC5yZXR1cm4pLGU9dC5yZXR1cm47d2hpbGUoZSl9cmV0dXJuIDM9PT10LnRhZz9uOm51bGx9ZnVuY3Rpb24gZihlKXtpZigxMz09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYobnVsbD09PXQmJm51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJih0PWUubWVtb2l6ZWRTdGF0ZSksbnVsbCE9PXQpcmV0dXJuIHQuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBkKGUpe2lmKDMxPT09ZS50YWcpe3ZhciB0PWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09dCYmbnVsbCE9PShlPWUuYWx0ZXJuYXRlKSYmKHQ9ZS5tZW1vaXplZFN0YXRlKSxudWxsIT09dClyZXR1cm4gdC5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIHAoZSl7aWYoYyhlKSE9PWUpdGhyb3cgRXJyb3IodSgxODgpKX1mdW5jdGlvbiBtKGUsdCxuLHIsbCxhKXtmb3IoO251bGwhPT1lOyl7aWYoNT09PWUudGFnJiZuKGUscixsLGEpfHwoMjIhPT1lLnRhZ3x8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSkmJih0fHw1IT09ZS50YWcpJiZtKGUuY2hpbGQsdCxuLHIsbCxhKSlyZXR1cm4hMDtlPWUuc2libGluZ31yZXR1cm4hMX1mdW5jdGlvbiBoKGUpe2ZvcihlPWUucmV0dXJuO251bGwhPT1lOyl7aWYoMz09PWUudGFnfHw1PT09ZS50YWcpcmV0dXJuIGU7ZT1lLnJldHVybn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBnKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSA1OnJldHVybiBlLnN0YXRlTm9kZTtjYXNlIDM6cmV0dXJuIGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDU1OSkpfX12YXIgdj1udWxsLHk9bnVsbDtmdW5jdGlvbiBiKGUpe3JldHVybiB2PWUsITB9ZnVuY3Rpb24gdyhlLHQsbil7cmV0dXJuIGU9PT1ufHxlPT09dCYmKHY9ZSwhMCl9ZnVuY3Rpb24gayhlLHQsbil7cmV0dXJuIGU9PT1uPyh5PWUsITEpOmU9PT10JiYobnVsbCE9PXkmJih2PWUpLCEwKX1mdW5jdGlvbiBTKGUpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2RvIGU9bnVsbD09PWU/bnVsbDplLnJldHVybjt3aGlsZShlJiY1IT09ZS50YWcmJjI3IT09ZS50YWcmJjMhPT1lLnRhZylyZXR1cm4gZXx8bnVsbH1mdW5jdGlvbiBFKGUsdCxuKXtmb3IodmFyIHI9MCxsPWU7bDtsPW4obCkpcisrO2w9MDtmb3IodmFyIGE9dDthO2E9bihhKSlsKys7Zm9yKDswPHItbDspZT1uKGUpLHItLTtmb3IoOzA8bC1yOyl0PW4odCksbC0tO2Zvcig7ci0tOyl7aWYoZT09PXR8fG51bGwhPT10JiZlPT09dC5hbHRlcm5hdGUpcmV0dXJuIGU7ZT1uKGUpLHQ9bih0KX1yZXR1cm4gbnVsbH12YXIgeD1PYmplY3QuYXNzaWduLF89U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLFA9U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKSxOPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLEM9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxUPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksTz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QuY29uc3VtZXIiKSxMPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxSPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksTT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLEk9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEQ9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLEY9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIik7dmFyIEE9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxqPVN5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKTtTeW1ib2wuZm9yKCJyZWFjdC50cmFjaW5nX21hcmtlciIpO3ZhciBVPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW9fY2FjaGVfc2VudGluZWwiKSxCPVN5bWJvbC5mb3IoInJlYWN0LnZpZXdfdHJhbnNpdGlvbiIpLFY9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEgoZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1WJiZlW1ZdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH12YXIgJD1TeW1ib2wuZm9yKCJyZWFjdC5jbGllbnQucmVmZXJlbmNlIiksUT1BcnJheS5pc0FycmF5LFc9by5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUscT1pLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxLPXtwZW5kaW5nOiExLGRhdGE6bnVsbCxtZXRob2Q6bnVsbCxhY3Rpb246bnVsbH0sWD1bXSxHPS0xO2Z1bmN0aW9uIFkoZSl7cmV0dXJue2N1cnJlbnQ6ZX19ZnVuY3Rpb24gSihlKXswPkd8fChlLmN1cnJlbnQ9WFtHXSxYW0ddPW51bGwsRy0tKX1mdW5jdGlvbiBaKGUsdCl7WFsrK0ddPWUuY3VycmVudCxlLmN1cnJlbnQ9dH12YXIgZWU9WShudWxsKSxldD1ZKG51bGwpLGVuPVkobnVsbCksZXI9WShudWxsKTtmdW5jdGlvbiBlbChlLHQpe3N3aXRjaChaKGVuLHQpLFooZXQsZSksWihlZSxudWxsKSx0Lm5vZGVUeXBlKXtjYXNlIDk6Y2FzZSAxMTplPShlPXQuZG9jdW1lbnRFbGVtZW50KSYmKGU9ZS5uYW1lc3BhY2VVUkkpP2NzKGUpOjA7YnJlYWs7ZGVmYXVsdDppZihlPXQudGFnTmFtZSx0PXQubmFtZXNwYWNlVVJJKWU9Y2ModD1jcyh0KSxlKTtlbHNlIHN3aXRjaChlKXtjYXNlInN2ZyI6ZT0xO2JyZWFrO2Nhc2UibWF0aCI6ZT0yO2JyZWFrO2RlZmF1bHQ6ZT0wfX1KKGVlKSxaKGVlLGUpfWZ1bmN0aW9uIGVhKCl7SihlZSksSihldCksSihlbil9ZnVuY3Rpb24gZW8oZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO251bGwhPT10JiYoZnYuX2N1cnJlbnRWYWx1ZT10Lm1lbW9pemVkU3RhdGUsWihlcixlKSk7dmFyIG49Y2ModD1lZS5jdXJyZW50LGUudHlwZSk7dCE9PW4mJihaKGV0LGUpLFooZWUsbikpfWZ1bmN0aW9uIGVpKGUpe2V0LmN1cnJlbnQ9PT1lJiYoSihlZSksSihldCkpLGVyLmN1cnJlbnQ9PT1lJiYoSihlciksZnYuX2N1cnJlbnRWYWx1ZT1LKX1mdW5jdGlvbiBldShlKXtpZih2b2lkIDA9PT10WCl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgdD1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7dFg9dCYmdFsxXXx8IiIsdEc9LTE8ZS5zdGFjay5pbmRleE9mKCJcbiAgICBhdCIpPyIgKDxhbm9ueW1vdXM+KSI6LTE8ZS5zdGFjay5pbmRleE9mKCJAIik/IkB1bmtub3duOjA6MCI6IiJ9cmV0dXJuIlxuIit0WCtlK3RHfXZhciBlcz0hMTtmdW5jdGlvbiBlYyhlLHQpe2lmKCFlfHxlcylyZXR1cm4iIjtlcz0hMDt2YXIgbj1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e3ZhciByPXtEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3Q6ZnVuY3Rpb24oKXt0cnl7aWYodCl7dmFyIG49ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfTtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSwib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QobixbXSl9Y2F0Y2goZSl7dmFyIHI9ZX1SZWZsZWN0LmNvbnN0cnVjdChlLFtdLG4pfWVsc2V7dHJ5e24uY2FsbCgpfWNhdGNoKGUpe3I9ZX1lLmNhbGwobi5wcm90b3R5cGUpfX1lbHNle3RyeXt0aHJvdyBFcnJvcigpfWNhdGNoKGUpe3I9ZX0obj1lKCkpJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5jYXRjaCYmbi5jYXRjaChmdW5jdGlvbigpe30pfX1jYXRjaChlKXtpZihlJiZyJiYic3RyaW5nIj09dHlwZW9mIGUuc3RhY2spcmV0dXJuW2Uuc3RhY2ssci5zdGFja119cmV0dXJuW251bGwsbnVsbF19fTtyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdC5kaXNwbGF5TmFtZT0iRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Ijt2YXIgbD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCJuYW1lIik7bCYmbC5jb25maWd1cmFibGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwibmFtZSIse3ZhbHVlOiJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QifSk7dmFyIGE9ci5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxvPWFbMF0saT1hWzFdO2lmKG8mJmkpe3ZhciB1PW8uc3BsaXQoIlxuIikscz1pLnNwbGl0KCJcbiIpO2ZvcihsPXI9MDtyPHUubGVuZ3RoJiYhdVtyXS5pbmNsdWRlcygiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Iik7KXIrKztmb3IoO2w8cy5sZW5ndGgmJiFzW2xdLmluY2x1ZGVzKCJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QiKTspbCsrO2lmKHI9PT11Lmxlbmd0aHx8bD09PXMubGVuZ3RoKWZvcihyPXUubGVuZ3RoLTEsbD1zLmxlbmd0aC0xOzE8PXImJjA8PWwmJnVbcl0hPT1zW2xdOylsLS07Zm9yKDsxPD1yJiYwPD1sO3ItLSxsLS0paWYodVtyXSE9PXNbbF0pe2lmKDEhPT1yfHwxIT09bClkbyBpZihyLS0sbC0tLDA+bHx8dVtyXSE9PXNbbF0pe3ZhciBjPSJcbiIrdVtyXS5yZXBsYWNlKCIgYXQgbmV3ICIsIiBhdCAiKTtyZXR1cm4gZS5kaXNwbGF5TmFtZSYmYy5pbmNsdWRlcygiPGFub255bW91cz4iKSYmKGM9Yy5yZXBsYWNlKCI8YW5vbnltb3VzPiIsZS5kaXNwbGF5TmFtZSkpLGN9d2hpbGUoMTw9ciYmMDw9bClicmVha319fWZpbmFsbHl7ZXM9ITEsRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U9bn1yZXR1cm4obj1lP2UuZGlzcGxheU5hbWV8fGUubmFtZToiIik/ZXUobik6IiJ9ZnVuY3Rpb24gZWYoZSl7dHJ5e3ZhciB0PSIiLG49bnVsbDtkbyB0Kz1mdW5jdGlvbihlLHQpe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gZXUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBldSgiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIGUuY2hpbGQhPT10JiZudWxsIT09dD9ldSgiU3VzcGVuc2UgRmFsbGJhY2siKTpldSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBldSgiU3VzcGVuc2VMaXN0Iik7Y2FzZSAwOmNhc2UgMTU6cmV0dXJuIGVjKGUudHlwZSwhMSk7Y2FzZSAxMTpyZXR1cm4gZWMoZS50eXBlLnJlbmRlciwhMSk7Y2FzZSAxOnJldHVybiBlYyhlLnR5cGUsITApO2Nhc2UgMzE6cmV0dXJuIGV1KCJBY3Rpdml0eSIpO2Nhc2UgMzA6cmV0dXJuIGV1KCJWaWV3VHJhbnNpdGlvbiIpO2RlZmF1bHQ6cmV0dXJuIiJ9fShlLG4pLG49ZSxlPWUucmV0dXJuO3doaWxlKGUpcmV0dXJuIHR9Y2F0Y2goZSl7cmV0dXJuIlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfX12YXIgZWQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxlcD1hLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2ssZW09YS51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayxlaD1hLnVuc3RhYmxlX3Nob3VsZFlpZWxkLGVnPWEudW5zdGFibGVfcmVxdWVzdFBhaW50LGV2PWEudW5zdGFibGVfbm93LGV5PWEudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsZWI9YS51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxldz1hLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LGVrPWEudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZVM9YS51bnN0YWJsZV9Mb3dQcmlvcml0eSxlRT1hLnVuc3RhYmxlX0lkbGVQcmlvcml0eSxleD0oYS5sb2csYS51bnN0YWJsZV9zZXREaXNhYmxlWWllbGRWYWx1ZSxudWxsKSxlXz1udWxsLGVQPU1hdGguY2x6MzI/TWF0aC5jbHozMjpmdW5jdGlvbihlKXtyZXR1cm4gMD09KGU+Pj49MCk/MzI6MzEtKGVOKGUpL2VDfDApfDB9LGVOPU1hdGgubG9nLGVDPU1hdGguTE4yLGVUPTI1NixlTz0yNjIxNDQsZXo9NDE5NDMwNDtmdW5jdGlvbiBlTChlKXt2YXIgdD00MiZlO2lmKDAhPT10KXJldHVybiB0O3N3aXRjaChlJi1lKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgNDpyZXR1cm4gNDtjYXNlIDg6cmV0dXJuIDg7Y2FzZSAxNjpyZXR1cm4gMTY7Y2FzZSAzMjpyZXR1cm4gMzI7Y2FzZSA2NDpyZXR1cm4gNjQ7Y2FzZSAxMjg6cmV0dXJuIDEyODtjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6cmV0dXJuIDI2MTg4OCZlO2Nhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIDM5MzIxNjAmZTtjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOnJldHVybiAweDNjMDAwMDAmZTtjYXNlIDB4NDAwMDAwMDpyZXR1cm4gMHg0MDAwMDAwO2Nhc2UgMHg4MDAwMDAwOnJldHVybiAweDgwMDAwMDA7Y2FzZSAweDEwMDAwMDAwOnJldHVybiAweDEwMDAwMDAwO2Nhc2UgMHgyMDAwMDAwMDpyZXR1cm4gMHgyMDAwMDAwMDtjYXNlIDB4NDAwMDAwMDA6cmV0dXJuIDA7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gZVIoZSx0LG4pe3ZhciByPWUucGVuZGluZ0xhbmVzO2lmKDA9PT1yKXJldHVybiAwO3ZhciBsPTAsYT1lLnN1c3BlbmRlZExhbmVzLG89ZS5waW5nZWRMYW5lcztlPWUud2FybUxhbmVzO3ZhciBpPTB4N2ZmZmZmZiZyO3JldHVybiAwIT09aT8wIT0ocj1pJn5hKT9sPWVMKHIpOjAhPShvJj1pKT9sPWVMKG8pOm58fDAhPShuPWkmfmUpJiYobD1lTChuKSk6MCE9KGk9ciZ+YSk/bD1lTChpKTowIT09bz9sPWVMKG8pOm58fDAhPShuPXImfmUpJiYobD1lTChuKSksMD09PWw/MDowIT09dCYmdCE9PWwmJjA9PSh0JmEpJiYoKGE9bCYtbCk+PShuPXQmLXQpfHwzMj09PWEmJjAhPSg0MTk0MDQ4Jm4pKT90Omx9ZnVuY3Rpb24gZU0oZSx0KXtyZXR1cm4gMD09KGUucGVuZGluZ0xhbmVzJn4oZS5zdXNwZW5kZWRMYW5lcyZ+ZS5waW5nZWRMYW5lcykmdCl9ZnVuY3Rpb24gZUkoKXt2YXIgZT1lejtyZXR1cm4gMD09KDB4M2MwMDAwMCYoZXo8PD0xKSkmJihlej00MTk0MzA0KSxlfWZ1bmN0aW9uIGVEKGUpe2Zvcih2YXIgdD1bXSxuPTA7MzE+bjtuKyspdC5wdXNoKGUpO3JldHVybiB0fWZ1bmN0aW9uIGVGKGUsdCl7ZS5wZW5kaW5nTGFuZXN8PXQsMHgxMDAwMDAwMCE9PXQmJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wLGUud2FybUxhbmVzPTApfWZ1bmN0aW9uIGVBKGUsdCxuKXtlLnBlbmRpbmdMYW5lc3w9dCxlLnN1c3BlbmRlZExhbmVzJj1+dDt2YXIgcj0zMS1lUCh0KTtlLmVudGFuZ2xlZExhbmVzfD10LGUuZW50YW5nbGVtZW50c1tyXT0weDQwMDAwMDAwfGUuZW50YW5nbGVtZW50c1tyXXwyNjE5MzAmbn1mdW5jdGlvbiBlaihlLHQpe3ZhciBuPWUuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGU9ZS5lbnRhbmdsZW1lbnRzO247KXt2YXIgcj0zMS1lUChuKSxsPTE8PHI7bCZ0fGVbcl0mdCYmKGVbcl18PXQpLG4mPX5sfX1mdW5jdGlvbiBlVShlLHQpe3ZhciBuPXQmLXQ7cmV0dXJuIDAhPSgobj0wIT0oNDImbik/MTplQihuKSkmKGUuc3VzcGVuZGVkTGFuZXN8dCkpPzA6bn1mdW5jdGlvbiBlQihlKXtzd2l0Y2goZSl7Y2FzZSAyOmU9MTticmVhaztjYXNlIDg6ZT00O2JyZWFrO2Nhc2UgMzI6ZT0xNjticmVhaztjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOmU9MTI4O2JyZWFrO2Nhc2UgMHgxMDAwMDAwMDplPTB4ODAwMDAwMDticmVhaztkZWZhdWx0OmU9MH1yZXR1cm4gZX1mdW5jdGlvbiBlVihlKXtyZXR1cm4gMjwoZSY9LWUpPzg8ZT8wIT0oMHg3ZmZmZmZmJmUpPzMyOjB4MTAwMDAwMDA6ODoyfWZ1bmN0aW9uIGVIKCl7dmFyIGU9cS5wO3JldHVybiAwIT09ZT9lOnZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MzI6ZkwoZS50eXBlKX1mdW5jdGlvbiBlJChlLHQpe3ZhciBuPXEucDt0cnl7cmV0dXJuIHEucD1lLHQoKX1maW5hbGx5e3EucD1ufX12YXIgZVE9TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiksZVc9Il9fcmVhY3RGaWJlciQiK2VRLGVxPSJfX3JlYWN0UHJvcHMkIitlUSxlSz0iX19yZWFjdENvbnRhaW5lciQiK2VRLGVYPSJfX3JlYWN0RXZlbnRzJCIrZVEsZUc9Il9fcmVhY3RMaXN0ZW5lcnMkIitlUSxlWT0iX19yZWFjdEhhbmRsZXMkIitlUSxlSj0iX19yZWFjdFJlc291cmNlcyQiK2VRLGVaPSJfX3JlYWN0TWFya2VyJCIrZVE7ZnVuY3Rpb24gZTAoZSl7ZGVsZXRlIGVbZVddLGRlbGV0ZSBlW2VxXSxkZWxldGUgZVtlWF0sZGVsZXRlIGVbZUddLGRlbGV0ZSBlW2VZXX1mdW5jdGlvbiBlMShlKXt2YXIgdDtpZih0PWVbZVddKXJldHVybiB0O2Zvcih2YXIgbj1lLnBhcmVudE5vZGU7bjspe2lmKHQ9bltlS118fG5bZVddKXtpZihuPXQuYWx0ZXJuYXRlLG51bGwhPT10LmNoaWxkfHxudWxsIT09biYmbnVsbCE9PW4uY2hpbGQpZm9yKGU9Y0soZSk7bnVsbCE9PWU7KXtpZihuPWVbZVddKXJldHVybiBuO2U9Y0soZSl9cmV0dXJuIHR9bj0oZT1uKS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIGUyKGUpe2lmKGU9ZVtlV118fGVbZUtdKXt2YXIgdD1lLnRhZztpZig1PT09dHx8Nj09PXR8fDEzPT09dHx8MzE9PT10fHwyNj09PXR8fDI3PT09dHx8Mz09PXQpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZTMoZSl7dmFyIHQ9ZS50YWc7aWYoNT09PXR8fDI2PT09dHx8Mjc9PT10fHw2PT09dClyZXR1cm4gZS5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IodSgzMykpfWZ1bmN0aW9uIGU0KGUpe3ZhciB0PWVbZUpdO3JldHVybiB0fHwodD1lW2VKXT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSksdH1mdW5jdGlvbiBlOChlKXtlW2VaXT0hMH12YXIgZTU9bmV3IFNldCxlNj17fTtmdW5jdGlvbiBlOShlLHQpe2U3KGUsdCksZTcoZSsiQ2FwdHVyZSIsdCl9ZnVuY3Rpb24gZTcoZSx0KXtmb3IoZTZbZV09dCxlPTA7ZTx0Lmxlbmd0aDtlKyspZTUuYWRkKHRbZV0pfXZhciB0ZT1SZWdFeHAoIl5bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFwtLjAtOVxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDBdKiQiKSx0dD17fSx0bj17fSx0cj0hMTtmdW5jdGlvbiB0bCgpe3ZhciBlPXRyO3JldHVybiB0cj0hMSxlfWZ1bmN0aW9uIHRhKGUsdCxuKXtpZihlZC5jYWxsKHRuLHQpfHwhZWQuY2FsbCh0dCx0KSYmKHRlLnRlc3QodCk/dG5bdF09ITA6KHR0W3RdPSEwLCExKSkpaWYobnVsbD09PW4pZS5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6ZS5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJuO2Nhc2UiYm9vbGVhbiI6dmFyIHI9dC50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSk7aWYoImRhdGEtIiE9PXImJiJhcmlhLSIhPT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKHQpfWUuc2V0QXR0cmlidXRlKHQsIiIrbil9fWZ1bmN0aW9uIHRvKGUsdCxuKXtpZihudWxsPT09billLnJlbW92ZUF0dHJpYnV0ZSh0KTtlbHNle3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKHQpO3JldHVybn1lLnNldEF0dHJpYnV0ZSh0LCIiK24pfX1mdW5jdGlvbiB0aShlLHQsbixyKXtpZihudWxsPT09cillLnJlbW92ZUF0dHJpYnV0ZShuKTtlbHNle3N3aXRjaCh0eXBlb2Ygcil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKG4pO3JldHVybn1lLnNldEF0dHJpYnV0ZU5TKHQsbiwiIityKX19ZnVuY3Rpb24gdHUoZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlImJpZ2ludCI6Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gdHMoZSl7dmFyIHQ9ZS50eXBlO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PXR8fCJyYWRpbyI9PT10KX1mdW5jdGlvbiB0YyhlKXtpZighZS5fdmFsdWVUcmFja2VyKXt2YXIgdD10cyhlKT8iY2hlY2tlZCI6InZhbHVlIjtlLl92YWx1ZVRyYWNrZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsdCk7aWYoIWUuaGFzT3duUHJvcGVydHkodCkmJnZvaWQgMCE9PXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHIuc2V0KXt2YXIgbD1yLmdldCxhPXIuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe249IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOnIuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBufSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtuPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW3RdfX19fShlLHQsIiIrZVt0XSl9fWZ1bmN0aW9uIHRmKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUuX3ZhbHVlVHJhY2tlcjtpZighdClyZXR1cm4hMDt2YXIgbj10LmdldFZhbHVlKCkscj0iIjtyZXR1cm4gZSYmKHI9dHMoZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09biYmKHQuc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIHRkKGUpe2lmKHZvaWQgMD09PShlPWV8fCgidSI+dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50OnZvaWQgMCkpKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5hY3RpdmVFbGVtZW50fHxlLmJvZHl9Y2F0Y2godCl7cmV0dXJuIGUuYm9keX19dmFyIHRwPS9bXG4iXFxdL2c7ZnVuY3Rpb24gdG0oZSl7cmV0dXJuIGUucmVwbGFjZSh0cCxmdW5jdGlvbihlKXtyZXR1cm4iXFwiK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikrIiAifSl9ZnVuY3Rpb24gdGgoZSx0LG4scixsLGEsbyxpKXtlLm5hbWU9IiIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2Ygbz9lLnR5cGU9bzplLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLG51bGwhPXQ/Im51bWJlciI9PT1vPygwPT09dCYmIiI9PT1lLnZhbHVlfHxlLnZhbHVlIT10KSYmKGUudmFsdWU9IiIrdHUodCkpOmUudmFsdWUhPT0iIit0dSh0KSYmKGUudmFsdWU9IiIrdHUodCkpOiJzdWJtaXQiIT09byYmInJlc2V0IiE9PW98fGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpLG51bGwhPXQ/dHYoZSxvLHR1KHQpKTpudWxsIT1uP3R2KGUsbyx0dShuKSk6bnVsbCE9ciYmZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIiksbnVsbD09bCYmbnVsbCE9YSYmKGUuZGVmYXVsdENoZWNrZWQ9ISFhKSxudWxsIT1sJiYoZS5jaGVja2VkPWwmJiJmdW5jdGlvbiIhPXR5cGVvZiBsJiYic3ltYm9sIiE9dHlwZW9mIGwpLG51bGwhPWkmJiJmdW5jdGlvbiIhPXR5cGVvZiBpJiYic3ltYm9sIiE9dHlwZW9mIGkmJiJib29sZWFuIiE9dHlwZW9mIGk/ZS5uYW1lPSIiK3R1KGkpOmUucmVtb3ZlQXR0cmlidXRlKCJuYW1lIil9ZnVuY3Rpb24gdGcoZSx0LG4scixsLGEsbyxpKXtpZihudWxsIT1hJiYiZnVuY3Rpb24iIT10eXBlb2YgYSYmInN5bWJvbCIhPXR5cGVvZiBhJiYiYm9vbGVhbiIhPXR5cGVvZiBhJiYoZS50eXBlPWEpLG51bGwhPXR8fG51bGwhPW4pe2lmKCgic3VibWl0Ij09PWF8fCJyZXNldCI9PT1hKSYmbnVsbD09dClyZXR1cm4gdm9pZCB0YyhlKTtuPW51bGwhPW4/IiIrdHUobik6IiIsdD1udWxsIT10PyIiK3R1KHQpOm4saXx8dD09PWUudmFsdWV8fChlLnZhbHVlPXQpLGUuZGVmYXVsdFZhbHVlPXR9cj0iZnVuY3Rpb24iIT10eXBlb2Yocj1udWxsIT1yP3I6bCkmJiJzeW1ib2wiIT10eXBlb2YgciYmISFyLGUuY2hlY2tlZD1pP2UuY2hlY2tlZDohIXIsZS5kZWZhdWx0Q2hlY2tlZD0hIXIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2YgbyYmKGUubmFtZT1vKSx0YyhlKX1mdW5jdGlvbiB0dihlLHQsbil7Im51bWJlciI9PT10JiZ0ZChlLm93bmVyRG9jdW1lbnQpPT09ZXx8ZS5kZWZhdWx0VmFsdWU9PT0iIitufHwoZS5kZWZhdWx0VmFsdWU9IiIrbil9ZnVuY3Rpb24gdHkoZSx0LG4scil7aWYoZT1lLm9wdGlvbnMsdCl7dD17fTtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoO2wrKyl0WyIkIituW2xdXT0hMDtmb3Iobj0wO248ZS5sZW5ndGg7bisrKWw9dC5oYXNPd25Qcm9wZXJ0eSgiJCIrZVtuXS52YWx1ZSksZVtuXS5zZWxlY3RlZCE9PWwmJihlW25dLnNlbGVjdGVkPWwpLGwmJnImJihlW25dLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IobD0wLG49IiIrdHUobiksdD1udWxsO2w8ZS5sZW5ndGg7bCsrKXtpZihlW2xdLnZhbHVlPT09bil7ZVtsXS5zZWxlY3RlZD0hMCxyJiYoZVtsXS5kZWZhdWx0U2VsZWN0ZWQ9ITApO3JldHVybn1udWxsIT09dHx8ZVtsXS5kaXNhYmxlZHx8KHQ9ZVtsXSl9bnVsbCE9PXQmJih0LnNlbGVjdGVkPSEwKX19ZnVuY3Rpb24gdGIoZSx0LG4pe2lmKG51bGwhPXQmJigodD0iIit0dSh0KSkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uKSl7ZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCk7cmV0dXJufWUuZGVmYXVsdFZhbHVlPW51bGwhPW4/IiIrdHUobik6IiJ9ZnVuY3Rpb24gdHcoZSx0LG4scil7aWYobnVsbD09dCl7aWYobnVsbCE9cil7aWYobnVsbCE9bil0aHJvdyBFcnJvcih1KDkyKSk7aWYoUShyKSl7aWYoMTxyLmxlbmd0aCl0aHJvdyBFcnJvcih1KDkzKSk7cj1yWzBdfW49cn1udWxsPT1uJiYobj0iIiksdD1ufWUuZGVmYXVsdFZhbHVlPW49dHUodCksKHI9ZS50ZXh0Q29udGVudCk9PT1uJiYiIiE9PXImJm51bGwhPT1yJiYoZS52YWx1ZT1yKSx0YyhlKX1mdW5jdGlvbiB0ayhlLHQpe2lmKHQpe3ZhciBuPWUuZmlyc3RDaGlsZDtpZihuJiZuPT09ZS5sYXN0Q2hpbGQmJjM9PT1uLm5vZGVUeXBlKXtuLm5vZGVWYWx1ZT10O3JldHVybn19ZS50ZXh0Q29udGVudD10fXZhciB0Uz1uZXcgU2V0KCJhbmltYXRpb25JdGVyYXRpb25Db3VudCBhc3BlY3RSYXRpbyBib3JkZXJJbWFnZU91dHNldCBib3JkZXJJbWFnZVNsaWNlIGJvcmRlckltYWdlV2lkdGggYm94RmxleCBib3hGbGV4R3JvdXAgYm94T3JkaW5hbEdyb3VwIGNvbHVtbkNvdW50IGNvbHVtbnMgZmxleCBmbGV4R3JvdyBmbGV4UG9zaXRpdmUgZmxleFNocmluayBmbGV4TmVnYXRpdmUgZmxleE9yZGVyIGdyaWRBcmVhIGdyaWRSb3cgZ3JpZFJvd0VuZCBncmlkUm93U3BhbiBncmlkUm93U3RhcnQgZ3JpZENvbHVtbiBncmlkQ29sdW1uRW5kIGdyaWRDb2x1bW5TcGFuIGdyaWRDb2x1bW5TdGFydCBmb250V2VpZ2h0IGxpbmVDbGFtcCBsaW5lSGVpZ2h0IG9wYWNpdHkgb3JkZXIgb3JwaGFucyBzY2FsZSB0YWJTaXplIHdpZG93cyB6SW5kZXggem9vbSBmaWxsT3BhY2l0eSBmbG9vZE9wYWNpdHkgc3RvcE9wYWNpdHkgc3Ryb2tlRGFzaGFycmF5IHN0cm9rZURhc2hvZmZzZXQgc3Ryb2tlTWl0ZXJsaW1pdCBzdHJva2VPcGFjaXR5IHN0cm9rZVdpZHRoIE1vekFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IE1vekJveEZsZXggTW96Qm94RmxleEdyb3VwIE1vekxpbmVDbGFtcCBtc0FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IG1zRmxleCBtc1pvb20gbXNGbGV4R3JvdyBtc0ZsZXhOZWdhdGl2ZSBtc0ZsZXhPcmRlciBtc0ZsZXhQb3NpdGl2ZSBtc0ZsZXhTaHJpbmsgbXNHcmlkQ29sdW1uIG1zR3JpZENvbHVtblNwYW4gbXNHcmlkUm93IG1zR3JpZFJvd1NwYW4gV2Via2l0QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgV2Via2l0Qm94RmxleCBXZWJLaXRCb3hGbGV4R3JvdXAgV2Via2l0Qm94T3JkaW5hbEdyb3VwIFdlYmtpdENvbHVtbkNvdW50IFdlYmtpdENvbHVtbnMgV2Via2l0RmxleCBXZWJraXRGbGV4R3JvdyBXZWJraXRGbGV4UG9zaXRpdmUgV2Via2l0RmxleFNocmluayBXZWJraXRMaW5lQ2xhbXAiLnNwbGl0KCIgIikpO2Z1bmN0aW9uIHRFKGUsdCxuKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpO251bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG58fCIiPT09bj9yP2Uuc2V0UHJvcGVydHkodCwiIik6ImZsb2F0Ij09PXQ/ZS5jc3NGbG9hdD0iIjplW3RdPSIiOnI/ZS5zZXRQcm9wZXJ0eSh0LG4pOiJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHRTLmhhcyh0KT8iZmxvYXQiPT09dD9lLmNzc0Zsb2F0PW46ZVt0XT0oIiIrbikudHJpbSgpOmVbdF09bisicHgifWZ1bmN0aW9uIHR4KGUsdCxuKXtpZihudWxsIT10JiYib2JqZWN0IiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IodSg2MikpO2lmKGU9ZS5zdHlsZSxudWxsIT1uKXtmb3IodmFyIHIgaW4gbikhbi5oYXNPd25Qcm9wZXJ0eShyKXx8bnVsbCE9dCYmdC5oYXNPd25Qcm9wZXJ0eShyKXx8KDA9PT1yLmluZGV4T2YoIi0tIik/ZS5zZXRQcm9wZXJ0eShyLCIiKToiZmxvYXQiPT09cj9lLmNzc0Zsb2F0PSIiOmVbcl09IiIsdHI9ITApO2Zvcih2YXIgbCBpbiB0KXI9dFtsXSx0Lmhhc093blByb3BlcnR5KGwpJiZuW2xdIT09ciYmKHRFKGUsbCxyKSx0cj0hMCl9ZWxzZSBmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiZ0RShlLGEsdFthXSl9ZnVuY3Rpb24gdF8oZSl7aWYoLTE9PT1lLmluZGV4T2YoIi0iKSlyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgdFA9bmV3IE1hcChbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXSxbImNyb3NzT3JpZ2luIiwiY3Jvc3NvcmlnaW4iXSxbImFjY2VudEhlaWdodCIsImFjY2VudC1oZWlnaHQiXSxbImFsaWdubWVudEJhc2VsaW5lIiwiYWxpZ25tZW50LWJhc2VsaW5lIl0sWyJhcmFiaWNGb3JtIiwiYXJhYmljLWZvcm0iXSxbImJhc2VsaW5lU2hpZnQiLCJiYXNlbGluZS1zaGlmdCJdLFsiY2FwSGVpZ2h0IiwiY2FwLWhlaWdodCJdLFsiY2xpcFBhdGgiLCJjbGlwLXBhdGgiXSxbImNsaXBSdWxlIiwiY2xpcC1ydWxlIl0sWyJjb2xvckludGVycG9sYXRpb24iLCJjb2xvci1pbnRlcnBvbGF0aW9uIl0sWyJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIl0sWyJjb2xvclByb2ZpbGUiLCJjb2xvci1wcm9maWxlIl0sWyJjb2xvclJlbmRlcmluZyIsImNvbG9yLXJlbmRlcmluZyJdLFsiZG9taW5hbnRCYXNlbGluZSIsImRvbWluYW50LWJhc2VsaW5lIl0sWyJlbmFibGVCYWNrZ3JvdW5kIiwiZW5hYmxlLWJhY2tncm91bmQiXSxbImZpbGxPcGFjaXR5IiwiZmlsbC1vcGFjaXR5Il0sWyJmaWxsUnVsZSIsImZpbGwtcnVsZSJdLFsiZmxvb2RDb2xvciIsImZsb29kLWNvbG9yIl0sWyJmbG9vZE9wYWNpdHkiLCJmbG9vZC1vcGFjaXR5Il0sWyJmb250RmFtaWx5IiwiZm9udC1mYW1pbHkiXSxbImZvbnRTaXplIiwiZm9udC1zaXplIl0sWyJmb250U2l6ZUFkanVzdCIsImZvbnQtc2l6ZS1hZGp1c3QiXSxbImZvbnRTdHJldGNoIiwiZm9udC1zdHJldGNoIl0sWyJmb250U3R5bGUiLCJmb250LXN0eWxlIl0sWyJmb250VmFyaWFudCIsImZvbnQtdmFyaWFudCJdLFsiZm9udFdlaWdodCIsImZvbnQtd2VpZ2h0Il0sWyJnbHlwaE5hbWUiLCJnbHlwaC1uYW1lIl0sWyJnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCIsImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiXSxbImdseXBoT3JpZW50YXRpb25WZXJ0aWNhbCIsImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIl0sWyJob3JpekFkdlgiLCJob3Jpei1hZHYteCJdLFsiaG9yaXpPcmlnaW5YIiwiaG9yaXotb3JpZ2luLXgiXSxbImltYWdlUmVuZGVyaW5nIiwiaW1hZ2UtcmVuZGVyaW5nIl0sWyJsZXR0ZXJTcGFjaW5nIiwibGV0dGVyLXNwYWNpbmciXSxbImxpZ2h0aW5nQ29sb3IiLCJsaWdodGluZy1jb2xvciJdLFsibWFya2VyRW5kIiwibWFya2VyLWVuZCJdLFsibWFya2VyTWlkIiwibWFya2VyLW1pZCJdLFsibWFya2VyU3RhcnQiLCJtYXJrZXItc3RhcnQiXSxbIm92ZXJsaW5lUG9zaXRpb24iLCJvdmVybGluZS1wb3NpdGlvbiJdLFsib3ZlcmxpbmVUaGlja25lc3MiLCJvdmVybGluZS10aGlja25lc3MiXSxbInBhaW50T3JkZXIiLCJwYWludC1vcmRlciJdLFsicGFub3NlLTEiLCJwYW5vc2UtMSJdLFsicG9pbnRlckV2ZW50cyIsInBvaW50ZXItZXZlbnRzIl0sWyJyZW5kZXJpbmdJbnRlbnQiLCJyZW5kZXJpbmctaW50ZW50Il0sWyJzaGFwZVJlbmRlcmluZyIsInNoYXBlLXJlbmRlcmluZyJdLFsic3RvcENvbG9yIiwic3RvcC1jb2xvciJdLFsic3RvcE9wYWNpdHkiLCJzdG9wLW9wYWNpdHkiXSxbInN0cmlrZXRocm91Z2hQb3NpdGlvbiIsInN0cmlrZXRocm91Z2gtcG9zaXRpb24iXSxbInN0cmlrZXRocm91Z2hUaGlja25lc3MiLCJzdHJpa2V0aHJvdWdoLXRoaWNrbmVzcyJdLFsic3Ryb2tlRGFzaGFycmF5Iiwic3Ryb2tlLWRhc2hhcnJheSJdLFsic3Ryb2tlRGFzaG9mZnNldCIsInN0cm9rZS1kYXNob2Zmc2V0Il0sWyJzdHJva2VMaW5lY2FwIiwic3Ryb2tlLWxpbmVjYXAiXSxbInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlLWxpbmVqb2luIl0sWyJzdHJva2VNaXRlcmxpbWl0Iiwic3Ryb2tlLW1pdGVybGltaXQiXSxbInN0cm9rZU9wYWNpdHkiLCJzdHJva2Utb3BhY2l0eSJdLFsic3Ryb2tlV2lkdGgiLCJzdHJva2Utd2lkdGgiXSxbInRleHRBbmNob3IiLCJ0ZXh0LWFuY2hvciJdLFsidGV4dERlY29yYXRpb24iLCJ0ZXh0LWRlY29yYXRpb24iXSxbInRleHRSZW5kZXJpbmciLCJ0ZXh0LXJlbmRlcmluZyJdLFsidHJhbnNmb3JtT3JpZ2luIiwidHJhbnNmb3JtLW9yaWdpbiJdLFsidW5kZXJsaW5lUG9zaXRpb24iLCJ1bmRlcmxpbmUtcG9zaXRpb24iXSxbInVuZGVybGluZVRoaWNrbmVzcyIsInVuZGVybGluZS10aGlja25lc3MiXSxbInVuaWNvZGVCaWRpIiwidW5pY29kZS1iaWRpIl0sWyJ1bmljb2RlUmFuZ2UiLCJ1bmljb2RlLXJhbmdlIl0sWyJ1bml0c1BlckVtIiwidW5pdHMtcGVyLWVtIl0sWyJ2QWxwaGFiZXRpYyIsInYtYWxwaGFiZXRpYyJdLFsidkhhbmdpbmciLCJ2LWhhbmdpbmciXSxbInZJZGVvZ3JhcGhpYyIsInYtaWRlb2dyYXBoaWMiXSxbInZNYXRoZW1hdGljYWwiLCJ2LW1hdGhlbWF0aWNhbCJdLFsidmVjdG9yRWZmZWN0IiwidmVjdG9yLWVmZmVjdCJdLFsidmVydEFkdlkiLCJ2ZXJ0LWFkdi15Il0sWyJ2ZXJ0T3JpZ2luWCIsInZlcnQtb3JpZ2luLXgiXSxbInZlcnRPcmlnaW5ZIiwidmVydC1vcmlnaW4teSJdLFsid29yZFNwYWNpbmciLCJ3b3JkLXNwYWNpbmciXSxbIndyaXRpbmdNb2RlIiwid3JpdGluZy1tb2RlIl0sWyJ4bWxuc1hsaW5rIiwieG1sbnM6eGxpbmsiXSxbInhIZWlnaHQiLCJ4LWhlaWdodCJdXSksdE49L15bXHUwMDAwLVx1MDAxRiBdKmpbXHJcblx0XSphW1xyXG5cdF0qdltcclxuXHRdKmFbXHJcblx0XSpzW1xyXG5cdF0qY1tcclxuXHRdKnJbXHJcblx0XSppW1xyXG5cdF0qcFtcclxuXHRdKnRbXHJcblx0XSo6L2k7ZnVuY3Rpb24gdEMoZSl7cmV0dXJuIHROLnRlc3QoIiIrZSk/ImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdSZWFjdCBoYXMgYmxvY2tlZCBhIGphdmFzY3JpcHQ6IFVSTCBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uJykiOmV9ZnVuY3Rpb24gdFQoKXt9dmFyIHRPPW51bGw7ZnVuY3Rpb24gdHooZSl7cmV0dXJuKGU9ZS50YXJnZXR8fGUuc3JjRWxlbWVudHx8d2luZG93KS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCYmKGU9ZS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCksMz09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmV9dmFyIHRMPW51bGwsdFI9bnVsbDtmdW5jdGlvbiB0TShlKXt2YXIgdD1lMihlKTtpZih0JiYoZT10LnN0YXRlTm9kZSkpe3ZhciBuPWVbZXFdfHxudWxsO3N3aXRjaChlPXQuc3RhdGVOb2RlLHQudHlwZSl7Y2FzZSJpbnB1dCI6aWYodGgoZSxuLnZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uY2hlY2tlZCxuLmRlZmF1bHRDaGVja2VkLG4udHlwZSxuLm5hbWUpLHQ9bi5uYW1lLCJyYWRpbyI9PT1uLnR5cGUmJm51bGwhPXQpe2ZvcihuPWU7bi5wYXJlbnROb2RlOyluPW4ucGFyZW50Tm9kZTtmb3Iobj1uLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9IicrdG0oIiIrdCkrJyJdW3R5cGU9InJhZGlvIl0nKSx0PTA7dDxuLmxlbmd0aDt0Kyspe3ZhciByPW5bdF07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9cltlcV18fG51bGw7aWYoIWwpdGhyb3cgRXJyb3IodSg5MCkpO3RoKHIsbC52YWx1ZSxsLmRlZmF1bHRWYWx1ZSxsLmRlZmF1bHRWYWx1ZSxsLmNoZWNrZWQsbC5kZWZhdWx0Q2hlY2tlZCxsLnR5cGUsbC5uYW1lKX19Zm9yKHQ9MDt0PG4ubGVuZ3RoO3QrKykocj1uW3RdKS5mb3JtPT09ZS5mb3JtJiZ0ZihyKX1icmVhaztjYXNlInRleHRhcmVhIjp0YihlLG4udmFsdWUsbi5kZWZhdWx0VmFsdWUpO2JyZWFrO2Nhc2Uic2VsZWN0IjpudWxsIT0odD1uLnZhbHVlKSYmdHkoZSwhIW4ubXVsdGlwbGUsdCwhMSl9fX12YXIgdEk9ITE7ZnVuY3Rpb24gdEQoZSx0LG4pe2lmKHRJKXJldHVybiBlKHQsbik7dEk9ITA7dHJ5e3JldHVybiBlKHQpfWZpbmFsbHl7aWYodEk9ITEsKG51bGwhPT10THx8bnVsbCE9PXRSKSYmKHN0KCksdEwmJih0PXRMLGU9dFIsdFI9dEw9bnVsbCx0TSh0KSxlKSkpZm9yKHQ9MDt0PGUubGVuZ3RoO3QrKyl0TShlW3RdKX19ZnVuY3Rpb24gdEYoZSx0KXt2YXIgbj1lLnN0YXRlTm9kZTtpZihudWxsPT09bilyZXR1cm4gbnVsbDt2YXIgcj1uW2VxXXx8bnVsbDtpZihudWxsPT09cilyZXR1cm4gbnVsbDtzd2l0Y2gobj1yW3RdLHQpe2Nhc2Uib25DbGljayI6Y2FzZSJvbkNsaWNrQ2FwdHVyZSI6Y2FzZSJvbkRvdWJsZUNsaWNrIjpjYXNlIm9uRG91YmxlQ2xpY2tDYXB0dXJlIjpjYXNlIm9uTW91c2VEb3duIjpjYXNlIm9uTW91c2VEb3duQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlTW92ZSI6Y2FzZSJvbk1vdXNlTW92ZUNhcHR1cmUiOmNhc2Uib25Nb3VzZVVwIjpjYXNlIm9uTW91c2VVcENhcHR1cmUiOmNhc2Uib25Nb3VzZUVudGVyIjoocj0hci5kaXNhYmxlZCl8fChyPSJidXR0b24iIT09KGU9ZS50eXBlKSYmImlucHV0IiE9PWUmJiJzZWxlY3QiIT09ZSYmInRleHRhcmVhIiE9PWUpLGU9IXI7YnJlYWs7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYobiYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgRXJyb3IodSgyMzEsdCx0eXBlb2YgbikpO3JldHVybiBufXZhciB0QT0idSI+dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCx0aj0hMTtpZih0QSl0cnl7dmFyIHRVPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0VSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe3RqPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0Iix0VSx0VSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLHRVLHRVKX1jYXRjaChlKXt0aj0hMX12YXIgdEI9bnVsbCx0Vj1udWxsLHRIPW51bGw7ZnVuY3Rpb24gdCQoKXtpZih0SClyZXR1cm4gdEg7dmFyIGUsdCxuPXRWLHI9bi5sZW5ndGgsbD0idmFsdWUiaW4gdEI/dEIudmFsdWU6dEIudGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmbltlXT09PWxbZV07ZSsrKTt2YXIgbz1yLWU7Zm9yKHQ9MTt0PD1vJiZuW3ItdF09PT1sW2EtdF07dCsrKTtyZXR1cm4gdEg9bC5zbGljZShlLDE8dD8xLXQ6dm9pZCAwKX1mdW5jdGlvbiB0UShlKXt2YXIgdD1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PXQmJihlPTEzKTplPXQsMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gdFcoKXtyZXR1cm4hMH1mdW5jdGlvbiB0cSgpe3JldHVybiExfWZ1bmN0aW9uIHRLKGUpe2Z1bmN0aW9uIHQodCxuLHIsbCxhKXtmb3IodmFyIG8gaW4gdGhpcy5fcmVhY3ROYW1lPXQsdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT1uLHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eShvKSYmKHQ9ZVtvXSx0aGlzW29dPXQ/dChsKTpsW29dKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT90Vzp0cSx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXRxLHRoaXN9cmV0dXJuIHgodC5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD10Vyl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD10Vyl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDp0V30pLHR9dmFyIHRYLHRHLHRZLHRKLHRaLHQwPXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LHQxPXRLKHQwKSx0Mj14KHt9LHQwLHt2aWV3OjAsZGV0YWlsOjB9KSx0Mz10Syh0MiksdDQ9eCh7fSx0Mix7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpuYSxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT10WiYmKHRaJiYibW91c2Vtb3ZlIj09PWUudHlwZT8odFk9ZS5zY3JlZW5YLXRaLnNjcmVlblgsdEo9ZS5zY3JlZW5ZLXRaLnNjcmVlblkpOnRKPXRZPTAsdFo9ZSksdFkpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOnRKfX0pLHQ4PXRLKHQ0KSx0NT10Syh4KHt9LHQ0LHtkYXRhVHJhbnNmZXI6MH0pKSx0Nj10Syh4KHt9LHQyLHtyZWxhdGVkVGFyZ2V0OjB9KSksdDk9dEsoeCh7fSx0MCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHQ3PXRLKHgoe30sdDAse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSkpLG5lPXRLKHgoe30sdDAse2RhdGE6MH0pKSxudD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLFVwOiJBcnJvd1VwIixSaWdodDoiQXJyb3dSaWdodCIsRG93bjoiQXJyb3dEb3duIixEZWw6IkRlbGV0ZSIsV2luOiJPUyIsTWVudToiQ29udGV4dE1lbnUiLEFwcHM6IkNvbnRleHRNZW51IixTY3JvbGw6IlNjcm9sbExvY2siLE1velByaW50YWJsZUtleToiVW5pZGVudGlmaWVkIn0sbm49ezg6IkJhY2tzcGFjZSIsOToiVGFiIiwxMjoiQ2xlYXIiLDEzOiJFbnRlciIsMTY6IlNoaWZ0IiwxNzoiQ29udHJvbCIsMTg6IkFsdCIsMTk6IlBhdXNlIiwyMDoiQ2Fwc0xvY2siLDI3OiJFc2NhcGUiLDMyOiIgIiwzMzoiUGFnZVVwIiwzNDoiUGFnZURvd24iLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnNlcnQiLDQ2OiJEZWxldGUiLDExMjoiRjEiLDExMzoiRjIiLDExNDoiRjMiLDExNToiRjQiLDExNjoiRjUiLDExNzoiRjYiLDExODoiRjciLDExOToiRjgiLDEyMDoiRjkiLDEyMToiRjEwIiwxMjI6IkYxMSIsMTIzOiJGMTIiLDE0NDoiTnVtTG9jayIsMTQ1OiJTY3JvbGxMb2NrIiwyMjQ6Ik1ldGEifSxucj17QWx0OiJhbHRLZXkiLENvbnRyb2w6ImN0cmxLZXkiLE1ldGE6Im1ldGFLZXkiLFNoaWZ0OiJzaGlmdEtleSJ9O2Z1bmN0aW9uIG5sKGUpe3ZhciB0PXRoaXMubmF0aXZlRXZlbnQ7cmV0dXJuIHQuZ2V0TW9kaWZpZXJTdGF0ZT90LmdldE1vZGlmaWVyU3RhdGUoZSk6ISEoZT1ucltlXSkmJiEhdFtlXX1mdW5jdGlvbiBuYSgpe3JldHVybiBubH12YXIgbm89dEsoeCh7fSx0Mix7a2V5OmZ1bmN0aW9uKGUpe2lmKGUua2V5KXt2YXIgdD1udFtlLmtleV18fGUua2V5O2lmKCJVbmlkZW50aWZpZWQiIT09dClyZXR1cm4gdH1yZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlPzEzPT09KGU9dFEoZSkpPyJFbnRlciI6U3RyaW5nLmZyb21DaGFyQ29kZShlKToia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/bm5bZS5rZXlDb2RlXXx8IlVuaWRlbnRpZmllZCI6IiJ9LGNvZGU6MCxsb2NhdGlvbjowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxyZXBlYXQ6MCxsb2NhbGU6MCxnZXRNb2RpZmllclN0YXRlOm5hLGNoYXJDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/dFEoZSk6MH0sa2V5Q29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/ZS5rZXlDb2RlOjB9LHdoaWNoOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/dFEoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfX0pKSxuaT10Syh4KHt9LHQ0LHtwb2ludGVySWQ6MCx3aWR0aDowLGhlaWdodDowLHByZXNzdXJlOjAsdGFuZ2VudGlhbFByZXNzdXJlOjAsdGlsdFg6MCx0aWx0WTowLHR3aXN0OjAscG9pbnRlclR5cGU6MCxpc1ByaW1hcnk6MH0pKSxudT10Syh4KHt9LHQyLHt0b3VjaGVzOjAsdGFyZ2V0VG91Y2hlczowLGNoYW5nZWRUb3VjaGVzOjAsYWx0S2V5OjAsbWV0YUtleTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGdldE1vZGlmaWVyU3RhdGU6bmF9KSksbnM9dEsoeCh7fSx0MCx7cHJvcGVydHlOYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSksbmM9dEsoeCh7fSx0NCx7ZGVsdGFYOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVgiaW4gZT9lLmRlbHRhWDoid2hlZWxEZWx0YVgiaW4gZT8tZS53aGVlbERlbHRhWDowfSxkZWx0YVk6ZnVuY3Rpb24oZSl7cmV0dXJuImRlbHRhWSJpbiBlP2UuZGVsdGFZOiJ3aGVlbERlbHRhWSJpbiBlPy1lLndoZWVsRGVsdGFZOiJ3aGVlbERlbHRhImluIGU/LWUud2hlZWxEZWx0YTowfSxkZWx0YVo6MCxkZWx0YU1vZGU6MH0pKSxuZj10Syh4KHt9LHQwLHtuZXdTdGF0ZTowLG9sZFN0YXRlOjB9KSksbmQ9WzksMTMsMjcsMzJdLG5wPXRBJiYiQ29tcG9zaXRpb25FdmVudCJpbiB3aW5kb3csbm09bnVsbDt0QSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmKG5tPWRvY3VtZW50LmRvY3VtZW50TW9kZSk7dmFyIG5oPXRBJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIW5tLG5nPXRBJiYoIW5wfHxubSYmODxubSYmMTE+PW5tKSxudj0hMTtmdW5jdGlvbiBueShlLHQpe3N3aXRjaChlKXtjYXNlImtleXVwIjpyZXR1cm4gLTEhPT1uZC5pbmRleE9mKHQua2V5Q29kZSk7Y2FzZSJrZXlkb3duIjpyZXR1cm4gMjI5IT09dC5rZXlDb2RlO2Nhc2Uia2V5cHJlc3MiOmNhc2UibW91c2Vkb3duIjpjYXNlImZvY3Vzb3V0IjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBuYihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mKGU9ZS5kZXRhaWwpJiYiZGF0YSJpbiBlP2UuZGF0YTpudWxsfXZhciBudz0hMSxuaz17Y29sb3I6ITAsZGF0ZTohMCxkYXRldGltZTohMCwiZGF0ZXRpbWUtbG9jYWwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24gblMoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT10PyEhbmtbZS50eXBlXToidGV4dGFyZWEiPT09dH1mdW5jdGlvbiBuRShlLHQsbixyKXt0TD90Uj90Ui5wdXNoKHIpOnRSPVtyXTp0TD1yLDA8KHQ9czgodCwib25DaGFuZ2UiKSkubGVuZ3RoJiYobj1uZXcgdDEoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLG4sciksZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp0fSkpfXZhciBueD1udWxsLG5fPW51bGw7ZnVuY3Rpb24gblAoZSl7c1koZSwwKX1mdW5jdGlvbiBuTihlKXtpZih0ZihlMyhlKSkpcmV0dXJuIGV9ZnVuY3Rpb24gbkMoZSx0KXtpZigiY2hhbmdlIj09PWUpcmV0dXJuIHR9dmFyIG5UPSExO2lmKHRBKXtpZih0QSl7dmFyIG5PPSJvbmlucHV0ImluIGRvY3VtZW50O2lmKCFuTyl7dmFyIG56PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO256LnNldEF0dHJpYnV0ZSgib25pbnB1dCIsInJldHVybjsiKSxuTz0iZnVuY3Rpb24iPT10eXBlb2Ygbnoub25pbnB1dH1yPW5PfWVsc2Ugcj0hMTtuVD1yJiYoIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8OTxkb2N1bWVudC5kb2N1bWVudE1vZGUpfWZ1bmN0aW9uIG5MKCl7bngmJihueC5kZXRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsblIpLG5fPW54PW51bGwpfWZ1bmN0aW9uIG5SKGUpe2lmKCJ2YWx1ZSI9PT1lLnByb3BlcnR5TmFtZSYmbk4obl8pKXt2YXIgdD1bXTtuRSh0LG5fLGUsdHooZSkpLHREKG5QLHQpfX1mdW5jdGlvbiBuTShlLHQsbil7ImZvY3VzaW4iPT09ZT8obkwoKSxueD10LG5fPW4sbnguYXR0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLG5SKSk6ImZvY3Vzb3V0Ij09PWUmJm5MKCl9ZnVuY3Rpb24gbkkoZSl7aWYoInNlbGVjdGlvbmNoYW5nZSI9PT1lfHwia2V5dXAiPT09ZXx8ImtleWRvd24iPT09ZSlyZXR1cm4gbk4obl8pfWZ1bmN0aW9uIG5EKGUsdCl7aWYoImNsaWNrIj09PWUpcmV0dXJuIG5OKHQpfWZ1bmN0aW9uIG5GKGUsdCl7aWYoImlucHV0Ij09PWV8fCJjaGFuZ2UiPT09ZSlyZXR1cm4gbk4odCl9dmFyIG5BPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuaXM/T2JqZWN0LmlzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10JiYoMCE9PWV8fDEvZT09MS90KXx8ZSE9ZSYmdCE9dH07ZnVuY3Rpb24gbmooZSx0KXtpZihuQShlLHQpKXJldHVybiEwO2lmKCJvYmplY3QiIT10eXBlb2YgZXx8bnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7dmFyIG49T2JqZWN0LmtleXMoZSkscj1PYmplY3Qua2V5cyh0KTtpZihuLmxlbmd0aCE9PXIubGVuZ3RoKXJldHVybiExO2ZvcihyPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBsPW5bcl07aWYoIWVkLmNhbGwodCxsKXx8IW5BKGVbbF0sdFtsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gblUoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIG5CKGUsdCl7dmFyIG4scj1uVShlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYobj1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PXQmJm4+PXQpcmV0dXJue25vZGU6cixvZmZzZXQ6dC1lfTtlPW59ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1uVShyKX19ZnVuY3Rpb24gblYoZSl7ZT1udWxsIT1lJiZudWxsIT1lLm93bmVyRG9jdW1lbnQmJm51bGwhPWUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldz9lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc6d2luZG93O2Zvcih2YXIgdD10ZChlLmRvY3VtZW50KTt0IGluc3RhbmNlb2YgZS5IVE1MSUZyYW1lRWxlbWVudDspe3RyeXt2YXIgbj0ic3RyaW5nIj09dHlwZW9mIHQuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmfWNhdGNoKGUpe249ITF9aWYobillPXQuY29udGVudFdpbmRvdztlbHNlIGJyZWFrO3Q9dGQoZS5kb2N1bWVudCl9cmV0dXJuIHR9ZnVuY3Rpb24gbkgoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0JiYoImlucHV0Ij09PXQmJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09dHx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfXZhciBuJD10QSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmMTE+PWRvY3VtZW50LmRvY3VtZW50TW9kZSxuUT1udWxsLG5XPW51bGwsbnE9bnVsbCxuSz0hMTtmdW5jdGlvbiBuWChlLHQsbil7dmFyIHI9bi53aW5kb3c9PT1uP24uZG9jdW1lbnQ6OT09PW4ubm9kZVR5cGU/bjpuLm93bmVyRG9jdW1lbnQ7bkt8fG51bGw9PW5RfHxuUSE9PXRkKHIpfHwocj0ic2VsZWN0aW9uU3RhcnQiaW4ocj1uUSkmJm5IKHIpP3tzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZH06e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0sbnEmJm5qKG5xLHIpfHwobnE9ciwwPChyPXM4KG5XLCJvblNlbGVjdCIpKS5sZW5ndGgmJih0PW5ldyB0MSgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsdCxuKSxlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOnJ9KSx0LnRhcmdldD1uUSkpKX1mdW5jdGlvbiBuRyhlLHQpe3ZhciBuPXt9O3JldHVybiBuW2UudG9Mb3dlckNhc2UoKV09dC50b0xvd2VyQ2FzZSgpLG5bIldlYmtpdCIrZV09IndlYmtpdCIrdCxuWyJNb3oiK2VdPSJtb3oiK3Qsbn12YXIgblk9e2FuaW1hdGlvbmVuZDpuRygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOm5HKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDpuRygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9ucnVuOm5HKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvblJ1biIpLHRyYW5zaXRpb25zdGFydDpuRygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25TdGFydCIpLHRyYW5zaXRpb25jYW5jZWw6bkcoIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uQ2FuY2VsIiksdHJhbnNpdGlvbmVuZDpuRygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25FbmQiKX0sbko9e30sblo9e307ZnVuY3Rpb24gbjAoZSl7aWYobkpbZV0pcmV0dXJuIG5KW2VdO2lmKCFuWVtlXSlyZXR1cm4gZTt2YXIgdCxuPW5ZW2VdO2Zvcih0IGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eSh0KSYmdCBpbiBuWilyZXR1cm4gbkpbZV09blt0XTtyZXR1cm4gZX10QSYmKG5aPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLCJBbmltYXRpb25FdmVudCJpbiB3aW5kb3d8fChkZWxldGUgblkuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbixkZWxldGUgblkuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbixkZWxldGUgblkuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uKSwiVHJhbnNpdGlvbkV2ZW50ImluIHdpbmRvd3x8ZGVsZXRlIG5ZLnRyYW5zaXRpb25lbmQudHJhbnNpdGlvbik7dmFyIG4xPW4wKCJhbmltYXRpb25lbmQiKSxuMj1uMCgiYW5pbWF0aW9uaXRlcmF0aW9uIiksbjM9bjAoImFuaW1hdGlvbnN0YXJ0IiksbjQ9bjAoInRyYW5zaXRpb25ydW4iKSxuOD1uMCgidHJhbnNpdGlvbnN0YXJ0IiksbjU9bjAoInRyYW5zaXRpb25jYW5jZWwiKSxuNj1uMCgidHJhbnNpdGlvbmVuZCIpLG45PW5ldyBNYXAsbjc9ImFib3J0IGF1eENsaWNrIGJlZm9yZVRvZ2dsZSBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbCIuc3BsaXQoIiAiKTtmdW5jdGlvbiByZShlLHQpe245LnNldChlLHQpLGU5KHQsW2VdKX1uNy5wdXNoKCJzY3JvbGxFbmQiKTt2YXIgcnQ9MDtmdW5jdGlvbiBybihlLHQpe3JldHVybiBudWxsIT1lLm5hbWUmJiJhdXRvIiE9PWUubmFtZT9lLm5hbWU6bnVsbCE9PXQuYXV0b05hbWU/dC5hdXRvTmFtZTp0LmF1dG9OYW1lPWU9Il8iKyhlPXVxLmlkZW50aWZpZXJQcmVmaXgpKyJ0XyIrKHJ0KyspLnRvU3RyaW5nKDMyKSsiXyJ9ZnVuY3Rpb24gcnIoZSl7aWYobnVsbD09ZXx8InN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO3ZhciB0PW51bGwsbj11MTtpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9ZVtuW3JdXTtpZihudWxsIT1sKXtpZigibm9uZSI9PT1sKXJldHVybiJub25lIjt0PW51bGw9PXQ/bDp0KyIgIitsfX1yZXR1cm4gbnVsbD09dD9lLmRlZmF1bHQ6dH1mdW5jdGlvbiBybChlLHQpe3JldHVybiBlPXJyKGUpLG51bGw9PSh0PXJyKHQpKT8iYXV0byI9PT1lP251bGw6ZToiYXV0byI9PT10P251bGw6dH12YXIgcmE9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LkVycm9yRXZlbnQpe3ZhciB0PW5ldyB3aW5kb3cuRXJyb3JFdmVudCgiZXJyb3IiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsbWVzc2FnZToib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYic3RyaW5nIj09dHlwZW9mIGUubWVzc2FnZT9TdHJpbmcoZS5tZXNzYWdlKTpTdHJpbmcoZSksZXJyb3I6ZX0pO2lmKCF3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSlyZXR1cm59ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGwuZGVmYXVsdCYmImZ1bmN0aW9uIj09dHlwZW9mIGwuZGVmYXVsdC5lbWl0KXJldHVybiB2b2lkIGwuZGVmYXVsdC5lbWl0KCJ1bmNhdWdodEV4Y2VwdGlvbiIsZSk7Y29uc29sZS5lcnJvcihlKX0scm89W10scmk9MCxydT0wO2Z1bmN0aW9uIHJzKCl7Zm9yKHZhciBlPXJpLHQ9cnU9cmk9MDt0PGU7KXt2YXIgbj1yb1t0XTtyb1t0KytdPW51bGw7dmFyIHI9cm9bdF07cm9bdCsrXT1udWxsO3ZhciBsPXJvW3RdO3JvW3QrK109bnVsbDt2YXIgYT1yb1t0XTtpZihyb1t0KytdPW51bGwsbnVsbCE9PXImJm51bGwhPT1sKXt2YXIgbz1yLnBlbmRpbmc7bnVsbD09PW8/bC5uZXh0PWw6KGwubmV4dD1vLm5leHQsby5uZXh0PWwpLHIucGVuZGluZz1sfTAhPT1hJiZycChuLGwsYSl9fWZ1bmN0aW9uIHJjKGUsdCxuLHIpe3JvW3JpKytdPWUscm9bcmkrK109dCxyb1tyaSsrXT1uLHJvW3JpKytdPXIscnV8PXIsZS5sYW5lc3w9cixudWxsIT09KGU9ZS5hbHRlcm5hdGUpJiYoZS5sYW5lc3w9cil9ZnVuY3Rpb24gcmYoZSx0LG4scil7cmV0dXJuIHJjKGUsdCxuLHIpLHJtKGUpfWZ1bmN0aW9uIHJkKGUsdCl7cmV0dXJuIHJjKGUsbnVsbCxudWxsLHQpLHJtKGUpfWZ1bmN0aW9uIHJwKGUsdCxuKXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bik7Zm9yKHZhciBsPSExLGE9ZS5yZXR1cm47bnVsbCE9PWE7KWEuY2hpbGRMYW5lc3w9bixudWxsIT09KHI9YS5hbHRlcm5hdGUpJiYoci5jaGlsZExhbmVzfD1uKSwyMj09PWEudGFnJiYobnVsbD09PShlPWEuc3RhdGVOb2RlKXx8MSZlLl92aXNpYmlsaXR5fHwobD0hMCkpLGU9YSxhPWEucmV0dXJuO3JldHVybiAzPT09ZS50YWc/KGE9ZS5zdGF0ZU5vZGUsbCYmbnVsbCE9PXQmJihsPTMxLWVQKG4pLG51bGw9PT0ocj0oZT1hLmhpZGRlblVwZGF0ZXMpW2xdKT9lW2xdPVt0XTpyLnB1c2godCksdC5sYW5lPTB4MjAwMDAwMDB8biksYSk6bnVsbH1mdW5jdGlvbiBybShlKXtpZig1MDx1Mil0aHJvdyB1Mj0wLHUzPW51bGwsRXJyb3IodSgxODUpKTtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXQ9KGU9dCkucmV0dXJuO3JldHVybiAzPT09ZS50YWc/ZS5zdGF0ZU5vZGU6bnVsbH12YXIgcmg9e307ZnVuY3Rpb24gcmcoZSx0LG4scil7dGhpcy50YWc9ZSx0aGlzLmtleT1uLHRoaXMuc2libGluZz10aGlzLmNoaWxkPXRoaXMucmV0dXJuPXRoaXMuc3RhdGVOb2RlPXRoaXMudHlwZT10aGlzLmVsZW1lbnRUeXBlPW51bGwsdGhpcy5pbmRleD0wLHRoaXMucmVmQ2xlYW51cD10aGlzLnJlZj1udWxsLHRoaXMucGVuZGluZ1Byb3BzPXQsdGhpcy5kZXBlbmRlbmNpZXM9dGhpcy5tZW1vaXplZFN0YXRlPXRoaXMudXBkYXRlUXVldWU9dGhpcy5tZW1vaXplZFByb3BzPW51bGwsdGhpcy5tb2RlPXIsdGhpcy5zdWJ0cmVlRmxhZ3M9dGhpcy5mbGFncz0wLHRoaXMuZGVsZXRpb25zPW51bGwsdGhpcy5jaGlsZExhbmVzPXRoaXMubGFuZXM9MCx0aGlzLmFsdGVybmF0ZT1udWxsfWZ1bmN0aW9uIHJ2KGUsdCxuLHIpe3JldHVybiBuZXcgcmcoZSx0LG4scil9ZnVuY3Rpb24gcnkoZSl7cmV0dXJuISghKGU9ZS5wcm90b3R5cGUpfHwhZS5pc1JlYWN0Q29tcG9uZW50KX1mdW5jdGlvbiByYihlLHQpe3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09bj8oKG49cnYoZS50YWcsdCxlLmtleSxlLm1vZGUpKS5lbGVtZW50VHlwZT1lLmVsZW1lbnRUeXBlLG4udHlwZT1lLnR5cGUsbi5zdGF0ZU5vZGU9ZS5zdGF0ZU5vZGUsbi5hbHRlcm5hdGU9ZSxlLmFsdGVybmF0ZT1uKToobi5wZW5kaW5nUHJvcHM9dCxuLnR5cGU9ZS50eXBlLG4uZmxhZ3M9MCxuLnN1YnRyZWVGbGFncz0wLG4uZGVsZXRpb25zPW51bGwpLG4uZmxhZ3M9MHg3ZTAwMDAwJmUuZmxhZ3Msbi5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyxuLmxhbmVzPWUubGFuZXMsbi5jaGlsZD1lLmNoaWxkLG4ubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsbi5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdD1lLmRlcGVuZGVuY2llcyxuLmRlcGVuZGVuY2llcz1udWxsPT09dD9udWxsOntsYW5lczp0LmxhbmVzLGZpcnN0Q29udGV4dDp0LmZpcnN0Q29udGV4dH0sbi5zaWJsaW5nPWUuc2libGluZyxuLmluZGV4PWUuaW5kZXgsbi5yZWY9ZS5yZWYsbi5yZWZDbGVhbnVwPWUucmVmQ2xlYW51cCxufWZ1bmN0aW9uIHJ3KGUsdCl7ZS5mbGFncyY9MHg3ZTAwMDAyO3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09bj8oZS5jaGlsZExhbmVzPTAsZS5sYW5lcz10LGUuY2hpbGQ9bnVsbCxlLnN1YnRyZWVGbGFncz0wLGUubWVtb2l6ZWRQcm9wcz1udWxsLGUubWVtb2l6ZWRTdGF0ZT1udWxsLGUudXBkYXRlUXVldWU9bnVsbCxlLmRlcGVuZGVuY2llcz1udWxsLGUuc3RhdGVOb2RlPW51bGwpOihlLmNoaWxkTGFuZXM9bi5jaGlsZExhbmVzLGUubGFuZXM9bi5sYW5lcyxlLmNoaWxkPW4uY2hpbGQsZS5zdWJ0cmVlRmxhZ3M9MCxlLmRlbGV0aW9ucz1udWxsLGUubWVtb2l6ZWRQcm9wcz1uLm1lbW9pemVkUHJvcHMsZS5tZW1vaXplZFN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxlLnVwZGF0ZVF1ZXVlPW4udXBkYXRlUXVldWUsZS50eXBlPW4udHlwZSxlLmRlcGVuZGVuY2llcz1udWxsPT09KHQ9bi5kZXBlbmRlbmNpZXMpP251bGw6e2xhbmVzOnQubGFuZXMsZmlyc3RDb250ZXh0OnQuZmlyc3RDb250ZXh0fSksZX1mdW5jdGlvbiByayhlLHQsbixyLGwsYSl7dmFyIG89MDtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpcnkoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89IWZ1bmN0aW9uKGUsdCxuKXtpZigxPT09bnx8bnVsbCE9dC5pdGVtUHJvcClyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJtZXRhIjpjYXNlInRpdGxlIjpyZXR1cm4hMDtjYXNlInN0eWxlIjppZigic3RyaW5nIiE9dHlwZW9mIHQucHJlY2VkZW5jZXx8InN0cmluZyIhPXR5cGVvZiB0LmhyZWZ8fCIiPT09dC5ocmVmKWJyZWFrO3JldHVybiEwO2Nhc2UibGluayI6aWYoInN0cmluZyIhPXR5cGVvZiB0LnJlbHx8InN0cmluZyIhPXR5cGVvZiB0LmhyZWZ8fCIiPT09dC5ocmVmfHx0Lm9uTG9hZHx8dC5vbkVycm9yKWJyZWFrO2lmKCJzdHlsZXNoZWV0Ij09PXQucmVsKXJldHVybiBlPXQuZGlzYWJsZWQsInN0cmluZyI9PXR5cGVvZiB0LnByZWNlZGVuY2UmJm51bGw9PWU7cmV0dXJuITA7Y2FzZSJzY3JpcHQiOmlmKHQuYXN5bmMmJiJmdW5jdGlvbiIhPXR5cGVvZiB0LmFzeW5jJiYic3ltYm9sIiE9dHlwZW9mIHQuYXN5bmMmJiF0Lm9uTG9hZCYmIXQub25FcnJvciYmdC5zcmMmJiJzdHJpbmciPT10eXBlb2YgdC5zcmMpcmV0dXJuITB9cmV0dXJuITF9KGUsbixlZS5jdXJyZW50KT8iaHRtbCI9PT1lfHwiaGVhZCI9PT1lfHwiYm9keSI9PT1lPzI3OjU6MjY7ZWxzZSBlOnN3aXRjaChlKXtjYXNlIEE6cmV0dXJuKGU9cnYoMzEsbix0LGwpKS5lbGVtZW50VHlwZT1BLGUubGFuZXM9YSxlO2Nhc2UgQzpyZXR1cm4gclMobi5jaGlsZHJlbixsLGEsdCk7Y2FzZSBUOm89OCxsfD0yNDticmVhaztjYXNlIE86cmV0dXJuKGU9cnYoMTIsbix0LDJ8bCkpLmVsZW1lbnRUeXBlPU8sZS5sYW5lcz1hLGU7Y2FzZSBNOnJldHVybihlPXJ2KDEzLG4sdCxsKSkuZWxlbWVudFR5cGU9TSxlLmxhbmVzPWEsZTtjYXNlIEk6cmV0dXJuKGU9cnYoMTksbix0LGwpKS5lbGVtZW50VHlwZT1JLGUubGFuZXM9YSxlO2Nhc2UgajpjYXNlIEI6cmV0dXJuKGU9cnYoMzAsbix0LGU9MzJ8bCkpLmVsZW1lbnRUeXBlPUIsZS5sYW5lcz1hLGUuc3RhdGVOb2RlPXthdXRvTmFtZTpudWxsLHBhaXJlZDpudWxsLGNsb25lczpudWxsLHJlZjpudWxsfSxlO2RlZmF1bHQ6aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBMOm89MTA7YnJlYWsgZTtjYXNlIHo6bz05O2JyZWFrIGU7Y2FzZSBSOm89MTE7YnJlYWsgZTtjYXNlIEQ6bz0xNDticmVhayBlO2Nhc2UgRjpvPTE2LHI9bnVsbDticmVhayBlfW89Mjksbj1FcnJvcih1KDEzMCxudWxsPT09ZT8ibnVsbCI6dHlwZW9mIGUsIiIpKSxyPW51bGx9cmV0dXJuKHQ9cnYobyxuLHQsbCkpLmVsZW1lbnRUeXBlPWUsdC50eXBlPXIsdC5sYW5lcz1hLHR9ZnVuY3Rpb24gclMoZSx0LG4scil7cmV0dXJuKGU9cnYoNyxlLHIsdCkpLmxhbmVzPW4sZX1mdW5jdGlvbiByRShlLHQsbil7cmV0dXJuKGU9cnYoNixlLG51bGwsdCkpLmxhbmVzPW4sZX1mdW5jdGlvbiByeChlKXt2YXIgdD1ydigxOCxudWxsLG51bGwsMCk7cmV0dXJuIHQuc3RhdGVOb2RlPWUsdH1mdW5jdGlvbiByXyhlLHQsbil7cmV0dXJuKHQ9cnYoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LHQpKS5sYW5lcz1uLHQuc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSx0fXZhciByUD1uZXcgV2Vha01hcDtmdW5jdGlvbiByTihlLHQpe2lmKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUpe3ZhciBuPXJQLmdldChlKTtyZXR1cm4gdm9pZCAwIT09bj9uOih0PXt2YWx1ZTplLHNvdXJjZTp0LHN0YWNrOmVmKHQpfSxyUC5zZXQoZSx0KSx0KX1yZXR1cm57dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazplZih0KX19dmFyIHJDPVtdLHJUPTAsck89bnVsbCxyej0wLHJMPVtdLHJSPTAsck09bnVsbCxyST0xLHJEPSIiO2Z1bmN0aW9uIHJGKGUsdCl7ckNbclQrK109cnosckNbclQrK109ck8sck89ZSxyej10fWZ1bmN0aW9uIHJBKGUsdCxuKXtyTFtyUisrXT1ySSxyTFtyUisrXT1yRCxyTFtyUisrXT1yTSxyTT1lO3ZhciByPXJJO2U9ckQ7dmFyIGw9MzItZVAociktMTtyJj1+KDE8PGwpLG4rPTE7dmFyIGE9MzItZVAodCkrbDtpZigzMDxhKXt2YXIgbz1sLWwlNTthPShyJigxPDxvKS0xKS50b1N0cmluZygzMikscj4+PW8sbC09byxyST0xPDwzMi1lUCh0KStsfG48PGx8cixyRD1hK2V9ZWxzZSByST0xPDxhfG48PGx8cixyRD1lfWZ1bmN0aW9uIHJqKGUpe251bGwhPT1lLnJldHVybiYmKHJGKGUsMSksckEoZSwxLDApKX1mdW5jdGlvbiByVShlKXtmb3IoO2U9PT1yTzspck89ckNbLS1yVF0sckNbclRdPW51bGwscno9ckNbLS1yVF0sckNbclRdPW51bGw7Zm9yKDtlPT09ck07KXJNPXJMWy0tclJdLHJMW3JSXT1udWxsLHJEPXJMWy0tclJdLHJMW3JSXT1udWxsLHJJPXJMWy0tclJdLHJMW3JSXT1udWxsfWZ1bmN0aW9uIHJCKGUsdCl7ckxbclIrK109ckksckxbclIrK109ckQsckxbclIrK109ck0sckk9dC5pZCxyRD10Lm92ZXJmbG93LHJNPWV9dmFyIHJWPW51bGwsckg9bnVsbCxyJD0hMSxyUT1udWxsLHJXPSExLHJxPUVycm9yKHUoNTE5KSk7ZnVuY3Rpb24gcksoZSl7dmFyIHQ9RXJyb3IodSg0MTgsMTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXT8idGV4dCI6IkhUTUwiLCIiKSk7dGhyb3cgcjAock4odCxlKSkscnF9ZnVuY3Rpb24gclgoZSl7dmFyIHQ9ZS5zdGF0ZU5vZGUsbj1lLnR5cGUscj1lLm1lbW9pemVkUHJvcHM7c3dpdGNoKHRbZVddPWUsdFtlcV09cixuKXtjYXNlImRpYWxvZyI6c0ooImNhbmNlbCIsdCksc0ooImNsb3NlIix0KTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOnNKKCJsb2FkIix0KTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3Iobj0wO248c1gubGVuZ3RoO24rKylzSihzWFtuXSx0KTticmVhaztjYXNlInNvdXJjZSI6c0ooImVycm9yIix0KTticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpzSigiZXJyb3IiLHQpLHNKKCJsb2FkIix0KTticmVhaztjYXNlImRldGFpbHMiOnNKKCJ0b2dnbGUiLHQpO2JyZWFrO2Nhc2UiaW5wdXQiOnNKKCJpbnZhbGlkIix0KSx0Zyh0LHIudmFsdWUsci5kZWZhdWx0VmFsdWUsci5jaGVja2VkLHIuZGVmYXVsdENoZWNrZWQsci50eXBlLHIubmFtZSwhMCk7YnJlYWs7Y2FzZSJzZWxlY3QiOnNKKCJpbnZhbGlkIix0KTticmVhaztjYXNlInRleHRhcmVhIjpzSigiaW52YWxpZCIsdCksdHcodCxyLnZhbHVlLHIuZGVmYXVsdFZhbHVlLHIuY2hpbGRyZW4pfSJzdHJpbmciIT10eXBlb2Yobj1yLmNoaWxkcmVuKSYmIm51bWJlciIhPXR5cGVvZiBuJiYiYmlnaW50IiE9dHlwZW9mIG58fHQudGV4dENvbnRlbnQ9PT0iIitufHwhMD09PXIuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nfHxjdCh0LnRleHRDb250ZW50LG4pPyhudWxsIT1yLnBvcG92ZXImJihzSigiYmVmb3JldG9nZ2xlIix0KSxzSigidG9nZ2xlIix0KSksbnVsbCE9ci5vblNjcm9sbCYmc0ooInNjcm9sbCIsdCksbnVsbCE9ci5vblNjcm9sbEVuZCYmc0ooInNjcm9sbGVuZCIsdCksbnVsbCE9ci5vbkNsaWNrJiYodC5vbmNsaWNrPXRUKSx0PSEwKTp0PSExLHR8fHJLKGUsITApfWZ1bmN0aW9uIHJHKGUpe2ZvcihyVj1lLnJldHVybjtyVjspc3dpdGNoKHJWLnRhZyl7Y2FzZSA1OmNhc2UgMzE6Y2FzZSAxMzpyVz0hMTtyZXR1cm47Y2FzZSAyNzpjYXNlIDM6clc9ITA7cmV0dXJuO2RlZmF1bHQ6clY9clYucmV0dXJufX1mdW5jdGlvbiByWShlKXtpZihlIT09clYpcmV0dXJuITE7aWYoIXIkKXJldHVybiByRyhlKSxyJD0hMCwhMTt2YXIgdCxuPWUudGFnO2lmKCh0PTMhPT1uJiYyNyE9PW4pJiYoKHQ9NT09PW4pJiYodD0iZm9ybSI9PT0odD1lLnR5cGUpfHwiYnV0dG9uIj09PXR8fGNmKGUudHlwZSxlLm1lbW9pemVkUHJvcHMpKSx0PSF0KSx0JiZySCYmcksoZSksckcoZSksMTM9PT1uKXtpZighKGU9bnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSk/ZS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKHUoMzE3KSk7ckg9Y3EoZSl9ZWxzZSBpZigzMT09PW4pe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSgzMTcpKTtySD1jcShlKX1lbHNlIDI3PT09bj8obj1ySCxjeShlLnR5cGUpPyhlPWNXLGNXPW51bGwsckg9ZSk6ckg9bik6ckg9clY/Y1EoZS5zdGF0ZU5vZGUubmV4dFNpYmxpbmcpOm51bGw7cmV0dXJuITB9ZnVuY3Rpb24gckooKXtySD1yVj1udWxsLHIkPSExfWZ1bmN0aW9uIHJaKCl7dmFyIGU9clE7cmV0dXJuIG51bGwhPT1lJiYobnVsbD09PXVqP3VqPWU6dWoucHVzaC5hcHBseSh1aixlKSxyUT1udWxsKSxlfWZ1bmN0aW9uIHIwKGUpe251bGw9PT1yUT9yUT1bZV06clEucHVzaChlKX12YXIgcjE9WShudWxsKSxyMj1udWxsLHIzPW51bGw7ZnVuY3Rpb24gcjQoZSx0LG4pe1oocjEsdC5fY3VycmVudFZhbHVlKSx0Ll9jdXJyZW50VmFsdWU9bn1mdW5jdGlvbiByOChlKXtlLl9jdXJyZW50VmFsdWU9cjEuY3VycmVudCxKKHIxKX1mdW5jdGlvbiByNShlLHQsbil7Zm9yKDtudWxsIT09ZTspe3ZhciByPWUuYWx0ZXJuYXRlO2lmKChlLmNoaWxkTGFuZXMmdCkhPT10PyhlLmNoaWxkTGFuZXN8PXQsbnVsbCE9PXImJihyLmNoaWxkTGFuZXN8PXQpKTpudWxsIT09ciYmKHIuY2hpbGRMYW5lcyZ0KSE9PXQmJihyLmNoaWxkTGFuZXN8PXQpLGU9PT1uKWJyZWFrO2U9ZS5yZXR1cm59fWZ1bmN0aW9uIHI2KGUsdCxuLHIpe3ZhciBsPWUuY2hpbGQ7Zm9yKG51bGwhPT1sJiYobC5yZXR1cm49ZSk7bnVsbCE9PWw7KXt2YXIgYT1sLmRlcGVuZGVuY2llcztpZihudWxsIT09YSl7dmFyIG89bC5jaGlsZDthPWEuZmlyc3RDb250ZXh0O2U6Zm9yKDtudWxsIT09YTspe3ZhciBpPWE7YT1sO2Zvcih2YXIgcz0wO3M8dC5sZW5ndGg7cysrKWlmKGkuY29udGV4dD09PXRbc10pe2EubGFuZXN8PW4sbnVsbCE9PShpPWEuYWx0ZXJuYXRlKSYmKGkubGFuZXN8PW4pLHI1KGEucmV0dXJuLG4sZSkscnx8KG89bnVsbCk7YnJlYWsgZX1hPWkubmV4dH19ZWxzZSBpZigxOD09PWwudGFnKXtpZihudWxsPT09KG89bC5yZXR1cm4pKXRocm93IEVycm9yKHUoMzQxKSk7by5sYW5lc3w9bixudWxsIT09KGE9by5hbHRlcm5hdGUpJiYoYS5sYW5lc3w9bikscjUobyxuLGUpLG89bnVsbH1lbHNlIG89bC5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj1sO2Vsc2UgZm9yKG89bDtudWxsIT09bzspe2lmKG89PT1lKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PShsPW8uc2libGluZykpe2wucmV0dXJuPW8ucmV0dXJuLG89bDticmVha31vPW8ucmV0dXJufWw9b319ZnVuY3Rpb24gcjkoZSx0LG4scil7ZT1udWxsO2Zvcih2YXIgbD10LGE9ITE7bnVsbCE9PWw7KXtpZighYSl7aWYoMCE9KDUyNDI4OCZsLmZsYWdzKSlhPSEwO2Vsc2UgaWYoMCE9KDI2MjE0NCZsLmZsYWdzKSlicmVha31pZigxMD09PWwudGFnKXt2YXIgbz1sLmFsdGVybmF0ZTtpZihudWxsPT09byl0aHJvdyBFcnJvcih1KDM4NykpO2lmKG51bGwhPT0obz1vLm1lbW9pemVkUHJvcHMpKXt2YXIgaT1sLnR5cGU7bkEobC5wZW5kaW5nUHJvcHMudmFsdWUsby52YWx1ZSl8fChudWxsIT09ZT9lLnB1c2goaSk6ZT1baV0pfX1lbHNlIGlmKGw9PT1lci5jdXJyZW50KXtpZihudWxsPT09KG89bC5hbHRlcm5hdGUpKXRocm93IEVycm9yKHUoMzg3KSk7by5tZW1vaXplZFN0YXRlLm1lbW9pemVkU3RhdGUhPT1sLm1lbW9pemVkU3RhdGUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT1lP2UucHVzaChmdik6ZT1bZnZdKX1sPWwucmV0dXJufW51bGwhPT1lJiZyNih0LGUsbixyKSx0LmZsYWdzfD0yNjIxNDR9ZnVuY3Rpb24gcjcoZSl7Zm9yKGU9ZS5maXJzdENvbnRleHQ7bnVsbCE9PWU7KXtpZighbkEoZS5jb250ZXh0Ll9jdXJyZW50VmFsdWUsZS5tZW1vaXplZFZhbHVlKSlyZXR1cm4hMDtlPWUubmV4dH1yZXR1cm4hMX1mdW5jdGlvbiBsZShlKXtyMj1lLHIzPW51bGwsbnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmKGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIGx0KGUpe3JldHVybiBscihyMixlKX1mdW5jdGlvbiBsbihlLHQpe3JldHVybiBudWxsPT09cjImJmxlKGUpLGxyKGUsdCl9ZnVuY3Rpb24gbHIoZSx0KXt2YXIgbj10Ll9jdXJyZW50VmFsdWU7aWYodD17Y29udGV4dDp0LG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1yMyl7aWYobnVsbD09PWUpdGhyb3cgRXJyb3IodSgzMDgpKTtyMz10LGUuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDp0fSxlLmZsYWdzfD01MjQyODh9ZWxzZSByMz1yMy5uZXh0PXQ7cmV0dXJuIG59dmFyIGxsPSJ1Ij50eXBlb2YgQWJvcnRDb250cm9sbGVyP0Fib3J0Q29udHJvbGxlcjpmdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LG4pe2UucHVzaChuKX19O3RoaXMuYWJvcnQ9ZnVuY3Rpb24oKXt0LmFib3J0ZWQ9ITAsZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KX19LGxhPWEudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxsbz1hLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGxpPXskJHR5cGVvZjpMLENvbnN1bWVyOm51bGwsUHJvdmlkZXI6bnVsbCxfY3VycmVudFZhbHVlOm51bGwsX2N1cnJlbnRWYWx1ZTI6bnVsbCxfdGhyZWFkQ291bnQ6MH07ZnVuY3Rpb24gbHUoKXtyZXR1cm57Y29udHJvbGxlcjpuZXcgbGwsZGF0YTpuZXcgTWFwLHJlZkNvdW50OjB9fWZ1bmN0aW9uIGxzKGUpe2UucmVmQ291bnQtLSwwPT09ZS5yZWZDb3VudCYmbGEobG8sZnVuY3Rpb24oKXtlLmNvbnRyb2xsZXIuYWJvcnQoKX0pfWZ1bmN0aW9uIGxjKGUsdCl7aWYoMCE9KDQxOTQwNDgmZS5wZW5kaW5nTGFuZXMpKXt2YXIgbj1lLnRyYW5zaXRpb25UeXBlcztmb3IobnVsbD09PW4mJihuPWUudHJhbnNpdGlvblR5cGVzPVtdKSxlPTA7ZTx0Lmxlbmd0aDtlKyspe3ZhciByPXRbZV07LTE9PT1uLmluZGV4T2YocikmJm4ucHVzaChyKX19fXZhciBsZj1udWxsLGxkPW51bGwsbHA9MCxsbT0wLGxoPW51bGw7ZnVuY3Rpb24gbGcoKXtpZigwPT0tLWxwJiYobGY9bnVsbCxudWxsIT09bGQpKXtudWxsIT09bGgmJihsaC5zdGF0dXM9ImZ1bGZpbGxlZCIpO3ZhciBlPWxkO2xkPW51bGwsbG09MCxsaD1udWxsO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9fXZhciBsdj1XLlM7Vy5TPWZ1bmN0aW9uKGUsdCl7aWYodVY9ZXYoKSwib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuJiZmdW5jdGlvbihlLHQpe2lmKG51bGw9PT1sZCl7dmFyIG49bGQ9W107bHA9MCxsbT1zJCgpLGxoPXtzdGF0dXM6InBlbmRpbmciLHZhbHVlOnZvaWQgMCx0aGVuOmZ1bmN0aW9uKGUpe24ucHVzaChlKX19fWxwKyssdC50aGVuKGxnLGxnKX0oMCx0KSxudWxsIT09bGYpZm9yKHZhciBuPXN6O251bGwhPT1uOylsYyhuLGxmKSxuPW4ubmV4dDtpZihudWxsIT09KG49ZS50eXBlcykpe2Zvcih2YXIgcj1zejtudWxsIT09cjspbGMocixuKSxyPXIubmV4dDtpZigwIT09bG0pe251bGw9PT0ocj1sZikmJihyPWxmPVtdKTtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGE9bltsXTstMT09PXIuaW5kZXhPZihhKSYmci5wdXNoKGEpfX19bnVsbCE9PWx2JiZsdihlLHQpfTt2YXIgbHk9WShudWxsKTtmdW5jdGlvbiBsYigpe3ZhciBlPWx5LmN1cnJlbnQ7cmV0dXJuIG51bGwhPT1lP2U6dUUucG9vbGVkQ2FjaGV9ZnVuY3Rpb24gbHcoZSx0KXtudWxsPT09dD9aKGx5LGx5LmN1cnJlbnQpOloobHksdC5wb29sKX1mdW5jdGlvbiBsaygpe3ZhciBlPWxiKCk7cmV0dXJuIG51bGw9PT1lP251bGw6e3BhcmVudDpsaS5fY3VycmVudFZhbHVlLHBvb2w6ZX19dmFyIGxTPUVycm9yKHUoNDYwKSksbEU9RXJyb3IodSg0NzQpKSxseD1FcnJvcih1KDU0MikpLGxfPXt0aGVuOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gbFAoZSl7cmV0dXJuImZ1bGZpbGxlZCI9PT0oZT1lLnN0YXR1cyl8fCJyZWplY3RlZCI9PT1lfWZ1bmN0aW9uIGxOKGUsdCxuKXtzd2l0Y2godm9pZCAwPT09KG49ZVtuXSk/ZS5wdXNoKHQpOm4hPT10JiYodC50aGVuKHRULHRUKSx0PW4pLHQuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIHQudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgbHooZT10LnJlYXNvbiksZTtkZWZhdWx0OmlmKCJzdHJpbmciPT10eXBlb2YgdC5zdGF0dXMpdC50aGVuKHRULHRUKTtlbHNle2lmKG51bGwhPT0oZT11RSkmJjEwMDxlLnNoZWxsU3VzcGVuZENvdW50ZXIpdGhyb3cgRXJyb3IodSg0ODIpKTsoZT10KS5zdGF0dXM9InBlbmRpbmciLGUudGhlbihmdW5jdGlvbihlKXtpZigicGVuZGluZyI9PT10LnN0YXR1cyl7dmFyIG49dDtuLnN0YXR1cz0iZnVsZmlsbGVkIixuLnZhbHVlPWV9fSxmdW5jdGlvbihlKXtpZigicGVuZGluZyI9PT10LnN0YXR1cyl7dmFyIG49dDtuLnN0YXR1cz0icmVqZWN0ZWQiLG4ucmVhc29uPWV9fSl9c3dpdGNoKHQuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIHQudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgbHooZT10LnJlYXNvbiksZX10aHJvdyBsVD10LGxTfX1mdW5jdGlvbiBsQyhlKXt0cnl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9Y2F0Y2goZSl7aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil0aHJvdyBsVD1lLGxTO3Rocm93IGV9fXZhciBsVD1udWxsO2Z1bmN0aW9uIGxPKCl7aWYobnVsbD09PWxUKXRocm93IEVycm9yKHUoNDU5KSk7dmFyIGU9bFQ7cmV0dXJuIGxUPW51bGwsZX1mdW5jdGlvbiBseihlKXtpZihlPT09bFN8fGU9PT1seCl0aHJvdyBFcnJvcih1KDQ4MykpfXZhciBsTD1udWxsLGxSPTA7ZnVuY3Rpb24gbE0oZSl7dmFyIHQ9bFI7cmV0dXJuIGxSKz0xLG51bGw9PT1sTCYmKGxMPVtdKSxsTihsTCxlLHQpfWZ1bmN0aW9uIGxJKGUsdCl7ZS5yZWY9dm9pZCAwIT09KHQ9dC5wcm9wcy5yZWYpP3Q6bnVsbH1mdW5jdGlvbiBsRChlLHQpe2lmKHQuJCR0eXBlb2Y9PT1fKXRocm93IEVycm9yKHUoNTI1KSk7dGhyb3cgRXJyb3IodSgzMSwiW29iamVjdCBPYmplY3RdIj09PShlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSk/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXModCkuam9pbigiLCAiKSsifSI6ZSkpfWZ1bmN0aW9uIGxGKGUpe2Z1bmN0aW9uIHQodCxuKXtpZihlKXt2YXIgcj10LmRlbGV0aW9ucztudWxsPT09cj8odC5kZWxldGlvbnM9W25dLHQuZmxhZ3N8PTE2KTpyLnB1c2gobil9fWZ1bmN0aW9uIG4obixyKXtpZighZSlyZXR1cm4gbnVsbDtmb3IoO251bGwhPT1yOyl0KG4scikscj1yLnNpYmxpbmc7cmV0dXJuIG51bGx9ZnVuY3Rpb24gcihlKXtmb3IodmFyIHQ9bmV3IE1hcDtudWxsIT09ZTspbnVsbD09PWUua2V5P3Quc2V0KGUuaW5kZXgsZSk6dC5zZXQoZS5rZXksZSksZT1lLnNpYmxpbmc7cmV0dXJuIHR9ZnVuY3Rpb24gbChlLHQpe3JldHVybihlPXJiKGUsdCkpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiBhKHQsbixyKXtyZXR1cm4odC5pbmRleD1yLGUpP251bGwhPT0ocj10LmFsdGVybmF0ZSk/KHI9ci5pbmRleCk8bj8odC5mbGFnc3w9MHg4MDAwMDAyLG4pOnI6KHQuZmxhZ3N8PTB4ODAwMDAwMixuKToodC5mbGFnc3w9MTA0ODU3NixuKX1mdW5jdGlvbiBvKHQpe3JldHVybiBlJiZudWxsPT09dC5hbHRlcm5hdGUmJih0LmZsYWdzfD0weDgwMDAwMDIpLHR9ZnVuY3Rpb24gaShlLHQsbixyKXtyZXR1cm4gbnVsbD09PXR8fDYhPT10LnRhZz8odD1yRShuLGUubW9kZSxyKSkucmV0dXJuPWU6KHQ9bCh0LG4pKS5yZXR1cm49ZSx0fWZ1bmN0aW9uIHMoZSx0LG4scil7dmFyIGE9bi50eXBlO3JldHVybiBhPT09Qz8obEkoZT1mKGUsdCxuLnByb3BzLmNoaWxkcmVuLHIsbi5rZXkpLG4pLGUpOihudWxsIT09dCYmKHQuZWxlbWVudFR5cGU9PT1hfHwib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hJiZhLiQkdHlwZW9mPT09RiYmbEMoYSk9PT10LnR5cGUpP2xJKHQ9bCh0LG4ucHJvcHMpLG4pOmxJKHQ9cmsobi50eXBlLG4ua2V5LG4ucHJvcHMsbnVsbCxlLm1vZGUsciksbiksdC5yZXR1cm49ZSx0KX1mdW5jdGlvbiBjKGUsdCxuLHIpe3JldHVybiBudWxsPT09dHx8NCE9PXQudGFnfHx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09bi5jb250YWluZXJJbmZvfHx0LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PW4uaW1wbGVtZW50YXRpb24/KHQ9cl8obixlLm1vZGUscikpLnJldHVybj1lOih0PWwodCxuLmNoaWxkcmVufHxbXSkpLnJldHVybj1lLHR9ZnVuY3Rpb24gZihlLHQsbixyLGEpe3JldHVybiBudWxsPT09dHx8NyE9PXQudGFnPyh0PXJTKG4sZS5tb2RlLHIsYSkpLnJldHVybj1lOih0PWwodCxuKSkucmV0dXJuPWUsdH1mdW5jdGlvbiBkKGUsdCxuKXtpZigic3RyaW5nIj09dHlwZW9mIHQmJiIiIT09dHx8Im51bWJlciI9PXR5cGVvZiB0fHwiYmlnaW50Ij09dHlwZW9mIHQpcmV0dXJuKHQ9ckUoIiIrdCxlLm1vZGUsbikpLnJldHVybj1lLHQ7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCl7c3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4gbEkobj1yayh0LnR5cGUsdC5rZXksdC5wcm9wcyxudWxsLGUubW9kZSxuKSx0KSxuLnJldHVybj1lLG47Y2FzZSBOOnJldHVybih0PXJfKHQsZS5tb2RlLG4pKS5yZXR1cm49ZSx0O2Nhc2UgRjpyZXR1cm4gZChlLHQ9bEModCksbil9aWYoUSh0KXx8SCh0KSlyZXR1cm4odD1yUyh0LGUubW9kZSxuLG51bGwpKS5yZXR1cm49ZSx0O2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pcmV0dXJuIGQoZSxsTSh0KSxuKTtpZih0LiQkdHlwZW9mPT09TClyZXR1cm4gZChlLGxuKGUsdCksbik7bEQoZSx0KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsdCxuLHIpe3ZhciBsPW51bGwhPT10P3Qua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2Ygbnx8ImJpZ2ludCI9PXR5cGVvZiBuKXJldHVybiBudWxsIT09bD9udWxsOmkoZSx0LCIiK24scik7aWYoIm9iamVjdCI9PXR5cGVvZiBuJiZudWxsIT09bil7c3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4gbi5rZXk9PT1sP3MoZSx0LG4scik6bnVsbDtjYXNlIE46cmV0dXJuIG4ua2V5PT09bD9jKGUsdCxuLHIpOm51bGw7Y2FzZSBGOnJldHVybiBwKGUsdCxuPWxDKG4pLHIpfWlmKFEobil8fEgobikpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLHQsbixyLG51bGwpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuLnRoZW4pcmV0dXJuIHAoZSx0LGxNKG4pLHIpO2lmKG4uJCR0eXBlb2Y9PT1MKXJldHVybiBwKGUsdCxsbihlLG4pLHIpO2xEKGUsbil9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLHQsbixyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHJ8fCJiaWdpbnQiPT10eXBlb2YgcilyZXR1cm4gaSh0LGU9ZS5nZXQobil8fG51bGwsIiIrcixsKTtpZigib2JqZWN0Ij09dHlwZW9mIHImJm51bGwhPT1yKXtzd2l0Y2goci4kJHR5cGVvZil7Y2FzZSBQOnJldHVybiBzKHQsZT1lLmdldChudWxsPT09ci5rZXk/bjpyLmtleSl8fG51bGwscixsKTtjYXNlIE46cmV0dXJuIGModCxlPWUuZ2V0KG51bGw9PT1yLmtleT9uOnIua2V5KXx8bnVsbCxyLGwpO2Nhc2UgRjpyZXR1cm4gbShlLHQsbixyPWxDKHIpLGwpfWlmKFEocil8fEgocikpcmV0dXJuIGYodCxlPWUuZ2V0KG4pfHxudWxsLHIsbCxudWxsKTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygci50aGVuKXJldHVybiBtKGUsdCxuLGxNKHIpLGwpO2lmKHIuJCR0eXBlb2Y9PT1MKXJldHVybiBtKGUsdCxuLGxuKHQsciksbCk7bEQodCxyKX1yZXR1cm4gbnVsbH1yZXR1cm4gZnVuY3Rpb24oaSxzLGMsZil7dHJ5e2xSPTA7dmFyIGg9ZnVuY3Rpb24gaShzLGMsZixoKXtpZigib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPT1mJiZmLnR5cGU9PT1DJiZudWxsPT09Zi5rZXkmJnZvaWQgMD09PWYucHJvcHMucmVmJiYoZj1mLnByb3BzLmNoaWxkcmVuKSwib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPT1mKXtzd2l0Y2goZi4kJHR5cGVvZil7Y2FzZSBQOmU6e2Zvcih2YXIgZz1mLmtleTtudWxsIT09Yzspe2lmKGMua2V5PT09Zyl7aWYoKGc9Zi50eXBlKT09PUMpe2lmKDc9PT1jLnRhZyl7bihzLGMuc2libGluZyksbEkoaD1sKGMsZi5wcm9wcy5jaGlsZHJlbiksZiksaC5yZXR1cm49cyxzPWg7YnJlYWsgZX19ZWxzZSBpZihjLmVsZW1lbnRUeXBlPT09Z3x8Im9iamVjdCI9PXR5cGVvZiBnJiZudWxsIT09ZyYmZy4kJHR5cGVvZj09PUYmJmxDKGcpPT09Yy50eXBlKXtuKHMsYy5zaWJsaW5nKSxsSShoPWwoYyxmLnByb3BzKSxmKSxoLnJldHVybj1zLHM9aDticmVhayBlfW4ocyxjKTticmVha310KHMsYyksYz1jLnNpYmxpbmd9Zi50eXBlPT09Qz9sSShoPXJTKGYucHJvcHMuY2hpbGRyZW4scy5tb2RlLGgsZi5rZXkpLGYpOmxJKGg9cmsoZi50eXBlLGYua2V5LGYucHJvcHMsbnVsbCxzLm1vZGUsaCksZiksaC5yZXR1cm49cyxzPWh9cmV0dXJuIG8ocyk7Y2FzZSBOOmU6e2ZvcihnPWYua2V5O251bGwhPT1jOyl7aWYoYy5rZXk9PT1nKWlmKDQ9PT1jLnRhZyYmYy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWYuY29udGFpbmVySW5mbyYmYy5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb249PT1mLmltcGxlbWVudGF0aW9uKXtuKHMsYy5zaWJsaW5nKSwoaD1sKGMsZi5jaGlsZHJlbnx8W10pKS5yZXR1cm49cyxzPWg7YnJlYWsgZX1lbHNle24ocyxjKTticmVha310KHMsYyksYz1jLnNpYmxpbmd9KGg9cl8oZixzLm1vZGUsaCkpLnJldHVybj1zLHM9aH1yZXR1cm4gbyhzKTtjYXNlIEY6cmV0dXJuIGkocyxjLGY9bEMoZiksaCl9aWYoUShmKSlyZXR1cm4gZnVuY3Rpb24obCxvLGksdSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9byxoPW89MCxnPW51bGw7bnVsbCE9PWYmJmg8aS5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLGlbaF0sdSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJnQobCxmKSxvPWEodixvLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1pLmxlbmd0aClyZXR1cm4gbihsLGYpLHIkJiZyRihsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxpLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxpW2hdLHUpKSYmKG89YShmLG8saCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIHIkJiZyRihsLGgpLHN9Zm9yKGY9cihmKTtoPGkubGVuZ3RoO2grKyludWxsIT09KGc9bShmLGwsaCxpW2hdLHUpKSYmKGUmJm51bGwhPT0odj1nLmFsdGVybmF0ZSkmJmYuZGVsZXRlKG51bGw9PT12LmtleT9oOnYua2V5KSxvPWEoZyxvLGgpLG51bGw9PT1jP3M9ZzpjLnNpYmxpbmc9ZyxjPWcpO3JldHVybiBlJiZmLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIHQobCxlKX0pLHIkJiZyRihsLGgpLHN9KHMsYyxmLGgpO2lmKEgoZikpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZihnPUgoZikpKXRocm93IEVycm9yKHUoMTUwKSk7cmV0dXJuIGZ1bmN0aW9uKGwsbyxpLHMpe2lmKG51bGw9PWkpdGhyb3cgRXJyb3IodSgxNTEpKTtmb3IodmFyIGM9bnVsbCxmPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJnQobCxoKSxvPWEoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gbihsLGgpLHIkJiZyRihsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz1hKHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gciQmJnJGKGwsZyksY31mb3IoaD1yKGgpOyF5LmRvbmU7ZysrLHk9aS5uZXh0KCkpbnVsbCE9PSh5PW0oaCxsLGcseS52YWx1ZSxzKSkmJihlJiZudWxsIT09KHY9eS5hbHRlcm5hdGUpJiZoLmRlbGV0ZShudWxsPT09di5rZXk/Zzp2LmtleSksbz1hKHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gZSYmaC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiB0KGwsZSl9KSxyJCYmckYobCxnKSxjfShzLGMsZj1nLmNhbGwoZiksaCl9aWYoImZ1bmN0aW9uIj09dHlwZW9mIGYudGhlbilyZXR1cm4gaShzLGMsbE0oZiksaCk7aWYoZi4kJHR5cGVvZj09PUwpcmV0dXJuIGkocyxjLGxuKHMsZiksaCk7bEQocyxmKX1yZXR1cm4ic3RyaW5nIj09dHlwZW9mIGYmJiIiIT09Znx8Im51bWJlciI9PXR5cGVvZiBmfHwiYmlnaW50Ij09dHlwZW9mIGY/KGY9IiIrZixudWxsIT09YyYmNj09PWMudGFnPyhuKHMsYy5zaWJsaW5nKSwoaD1sKGMsZikpLnJldHVybj1zKToobihzLGMpLChoPXJFKGYscy5tb2RlLGgpKS5yZXR1cm49cyksbyhzPWgpKTpuKHMsYyl9KGkscyxjLGYpO3JldHVybiBsTD1udWxsLGh9Y2F0Y2goZSl7aWYoZT09PWxTfHxlPT09bHgpdGhyb3cgZTt2YXIgZz1ydigyOSxlLG51bGwsaS5tb2RlKTtyZXR1cm4gZy5sYW5lcz1mLGcucmV0dXJuPWksZ31maW5hbGx5e319fXZhciBsQT1sRighMCksbGo9bEYoITEpLGxVPSExO2Z1bmN0aW9uIGxCKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxsYW5lczowLGhpZGRlbkNhbGxiYWNrczpudWxsfSxjYWxsYmFja3M6bnVsbH19ZnVuY3Rpb24gbFYoZSx0KXtlPWUudXBkYXRlUXVldWUsdC51cGRhdGVRdWV1ZT09PWUmJih0LnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGNhbGxiYWNrczpudWxsfSl9ZnVuY3Rpb24gbEgoZSl7cmV0dXJue2xhbmU6ZSx0YWc6MCxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9fWZ1bmN0aW9uIGwkKGUsdCxuKXt2YXIgcj1lLnVwZGF0ZVF1ZXVlO2lmKG51bGw9PT1yKXJldHVybiBudWxsO2lmKHI9ci5zaGFyZWQsMCE9KDImdVMpKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP3QubmV4dD10Oih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxyLnBlbmRpbmc9dCx0PXJtKGUpLHJwKGUsbnVsbCxuKSx0fXJldHVybiByYyhlLHIsdCxuKSxybShlKX1mdW5jdGlvbiBsUShlLHQsbil7aWYobnVsbCE9PSh0PXQudXBkYXRlUXVldWUpJiYodD10LnNoYXJlZCwwIT0oNDE5NDA0OCZuKSkpe3ZhciByPXQubGFuZXM7ciY9ZS5wZW5kaW5nTGFuZXMsbnw9cix0LmxhbmVzPW4sZWooZSxuKX19ZnVuY3Rpb24gbFcoZSx0KXt2YXIgbj1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJm49PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PShuPW4uZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIG89e2xhbmU6bi5sYW5lLHRhZzpuLnRhZyxwYXlsb2FkOm4ucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH07bnVsbD09PWE/bD1hPW86YT1hLm5leHQ9byxuPW4ubmV4dH13aGlsZShudWxsIT09biludWxsPT09YT9sPWE9dDphPWEubmV4dD10fWVsc2UgbD1hPXQ7bj17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsc2hhcmVkOnIuc2hhcmVkLGNhbGxiYWNrczpyLmNhbGxiYWNrc30sZS51cGRhdGVRdWV1ZT1uO3JldHVybn1udWxsPT09KGU9bi5sYXN0QmFzZVVwZGF0ZSk/bi5maXJzdEJhc2VVcGRhdGU9dDplLm5leHQ9dCxuLmxhc3RCYXNlVXBkYXRlPXR9dmFyIGxxPSExO2Z1bmN0aW9uIGxLKCl7aWYobHEpe3ZhciBlPWxoO2lmKG51bGwhPT1lKXRocm93IGV9fWZ1bmN0aW9uIGxYKGUsdCxuLHIpe2xxPSExO3ZhciBsPWUudXBkYXRlUXVldWU7bFU9ITE7dmFyIGE9bC5maXJzdEJhc2VVcGRhdGUsbz1sLmxhc3RCYXNlVXBkYXRlLGk9bC5zaGFyZWQucGVuZGluZztpZihudWxsIT09aSl7bC5zaGFyZWQucGVuZGluZz1udWxsO3ZhciB1PWkscz11Lm5leHQ7dS5uZXh0PW51bGwsbnVsbD09PW8/YT1zOm8ubmV4dD1zLG89dTt2YXIgYz1lLmFsdGVybmF0ZTtudWxsIT09YyYmKGk9KGM9Yy51cGRhdGVRdWV1ZSkubGFzdEJhc2VVcGRhdGUpIT09byYmKG51bGw9PT1pP2MuZmlyc3RCYXNlVXBkYXRlPXM6aS5uZXh0PXMsYy5sYXN0QmFzZVVwZGF0ZT11KX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKG89MCxjPXM9dT1udWxsLGk9YTs7KXt2YXIgZD0tMHgyMDAwMDAwMSZpLmxhbmUscD1kIT09aS5sYW5lO2lmKHA/KHVfJmQpPT09ZDoociZkKT09PWQpezAhPT1kJiZkPT09bG0mJihscT0hMCksbnVsbCE9PWMmJihjPWMubmV4dD17bGFuZTowLHRhZzppLnRhZyxwYXlsb2FkOmkucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH0pO2U6e3ZhciBtPWUsaD1pO3N3aXRjaChkPXQsaC50YWcpe2Nhc2UgMTppZigiZnVuY3Rpb24iPT10eXBlb2YobT1oLnBheWxvYWQpKXtmPW0uY2FsbChuLGYsZCk7YnJlYWsgZX1mPW07YnJlYWsgZTtjYXNlIDM6bS5mbGFncz0tNjU1MzcmbS5mbGFnc3wxMjg7Y2FzZSAwOmlmKG51bGw9PShkPSJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCk/bS5jYWxsKG4sZixkKTptKSlicmVhayBlO2Y9eCh7fSxmLGQpO2JyZWFrIGU7Y2FzZSAyOmxVPSEwfX1udWxsIT09KGQ9aS5jYWxsYmFjaykmJihlLmZsYWdzfD02NCxwJiYoZS5mbGFnc3w9ODE5MiksbnVsbD09PShwPWwuY2FsbGJhY2tzKT9sLmNhbGxiYWNrcz1bZF06cC5wdXNoKGQpKX1lbHNlIHA9e2xhbmU6ZCx0YWc6aS50YWcscGF5bG9hZDppLnBheWxvYWQsY2FsbGJhY2s6aS5jYWxsYmFjayxuZXh0Om51bGx9LG51bGw9PT1jPyhzPWM9cCx1PWYpOmM9Yy5uZXh0PXAsb3w9ZDtpZihudWxsPT09KGk9aS5uZXh0KSlpZihudWxsPT09KGk9bC5zaGFyZWQucGVuZGluZykpYnJlYWs7ZWxzZSBpPShwPWkpLm5leHQscC5uZXh0PW51bGwsbC5sYXN0QmFzZVVwZGF0ZT1wLGwuc2hhcmVkLnBlbmRpbmc9bnVsbH1udWxsPT09YyYmKHU9ZiksbC5iYXNlU3RhdGU9dSxsLmZpcnN0QmFzZVVwZGF0ZT1zLGwubGFzdEJhc2VVcGRhdGU9YyxudWxsPT09YSYmKGwuc2hhcmVkLmxhbmVzPTApLHVSfD1vLGUubGFuZXM9byxlLm1lbW9pemVkU3RhdGU9Zn19ZnVuY3Rpb24gbEcoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBFcnJvcih1KDE5MSxlKSk7ZS5jYWxsKHQpfWZ1bmN0aW9uIGxZKGUsdCl7dmFyIG49ZS5jYWxsYmFja3M7aWYobnVsbCE9PW4pZm9yKGUuY2FsbGJhY2tzPW51bGwsZT0wO2U8bi5sZW5ndGg7ZSsrKWxHKG5bZV0sdCl9dmFyIGxKPVkobnVsbCksbFo9WSgwKTtmdW5jdGlvbiBsMChlLHQpe1oobFosZT11eiksWihsSix0KSx1ej1lfHQuYmFzZUxhbmVzfWZ1bmN0aW9uIGwxKCl7WihsWix1eiksWihsSixsSi5jdXJyZW50KX1mdW5jdGlvbiBsMigpe3V6PWxaLmN1cnJlbnQsSihsSiksSihsWil9dmFyIGwzPVkobnVsbCksbDQ9bnVsbDtmdW5jdGlvbiBsOChlKXt2YXIgdD1lLmFsdGVybmF0ZTtaKGFlLDEmYWUuY3VycmVudCksWihsMyxlKSxudWxsPT09bDQmJihudWxsPT09dHx8bnVsbCE9PWxKLmN1cnJlbnQ/bDQ9ZTpudWxsIT09dC5tZW1vaXplZFN0YXRlJiYobDQ9ZSkpfWZ1bmN0aW9uIGw1KGUpe1ooYWUsYWUuY3VycmVudCksWihsMyxlKSxudWxsPT09bDQmJihsND1lKX1mdW5jdGlvbiBsNihlKXsyMj09PWUudGFnPyhaKGFlLGFlLmN1cnJlbnQpLFoobDMsZSksbnVsbD09PWw0JiYobDQ9ZSkpOmw5KCl9ZnVuY3Rpb24gbDkoKXtaKGFlLGFlLmN1cnJlbnQpLFoobDMsbDMuY3VycmVudCl9ZnVuY3Rpb24gbDcoZSl7SihsMyksbDQ9PT1lJiYobDQ9bnVsbCksSihhZSl9dmFyIGFlPVkoMCk7ZnVuY3Rpb24gYXQoZSx0KXtaKGwzLGwzLmN1cnJlbnQpLFooYWUsdCl9ZnVuY3Rpb24gYW4oZSl7SihhZSksSihsMyksbDQ9PT1lJiYobDQ9bnVsbCl9ZnVuY3Rpb24gYXIoZSl7Zm9yKHZhciB0PWU7bnVsbCE9PXQ7KXtpZigxMz09PXQudGFnKXt2YXIgbj10Lm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PW4mJihudWxsPT09KG49bi5kZWh5ZHJhdGVkKXx8Y0gobil8fGMkKG4pKSlyZXR1cm4gdH1lbHNlIGlmKDE5PT09dC50YWcmJiJpbmRlcGVuZGVudCIhPT10Lm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIpe2lmKDAhPSgxMjgmdC5mbGFncykpcmV0dXJuIHR9ZWxzZSBpZihudWxsIT09dC5jaGlsZCl7dC5jaGlsZC5yZXR1cm49dCx0PXQuY2hpbGQ7Y29udGludWV9aWYodD09PWUpYnJlYWs7Zm9yKDtudWxsPT09dC5zaWJsaW5nOyl7aWYobnVsbD09PXQucmV0dXJufHx0LnJldHVybj09PWUpcmV0dXJuIG51bGw7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfXJldHVybiBudWxsfXZhciBhbD0wLGFhPW51bGwsYW89bnVsbCxhaT1udWxsLGF1PSExLGFzPSExLGFjPSExLGFmPTAsYWQ9MCxhcD1udWxsLGFtPTA7ZnVuY3Rpb24gYWgoKXt0aHJvdyBFcnJvcih1KDMyMSkpfWZ1bmN0aW9uIGFnKGUsdCl7aWYobnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aCYmbjxlLmxlbmd0aDtuKyspaWYoIW5BKGVbbl0sdFtuXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gYXYoZSx0LG4scixsLGEpe3JldHVybiBhbD1hLGFhPXQsdC5tZW1vaXplZFN0YXRlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsLHQubGFuZXM9MCxXLkg9bnVsbD09PWV8fG51bGw9PT1lLm1lbW9pemVkU3RhdGU/b0U6b3gsYWM9ITEsYT1uKHIsbCksYWM9ITEsYXMmJihhPWFiKHQsbixyLGwpKSxheShlKSxhfWZ1bmN0aW9uIGF5KGUpe1cuSD1vUzt2YXIgdD1udWxsIT09YW8mJm51bGwhPT1hby5uZXh0O2lmKGFsPTAsYWk9YW89YWE9bnVsbCxhdT0hMSxhZD0wLGFwPW51bGwsdCl0aHJvdyBFcnJvcih1KDMwMCkpO251bGw9PT1lfHxvVXx8bnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmcjcoZSkmJihvVT0hMCl9ZnVuY3Rpb24gYWIoZSx0LG4scil7YWE9ZTt2YXIgbD0wO2Rve2lmKGFzJiYoYXA9bnVsbCksYWQ9MCxhcz0hMSwyNTw9bCl0aHJvdyBFcnJvcih1KDMwMSkpO2lmKGwrPTEsYWk9YW89bnVsbCxudWxsIT1lLnVwZGF0ZVF1ZXVlKXt2YXIgYT1lLnVwZGF0ZVF1ZXVlO2EubGFzdEVmZmVjdD1udWxsLGEuZXZlbnRzPW51bGwsYS5zdG9yZXM9bnVsbCxudWxsIT1hLm1lbW9DYWNoZSYmKGEubWVtb0NhY2hlLmluZGV4PTApfVcuSD1vXyxhPXQobixyKX13aGlsZShhcylyZXR1cm4gYX1mdW5jdGlvbiBhdygpe3ZhciBlPVcuSCx0PWUudXNlU3RhdGUoKVswXTtyZXR1cm4gdD0iZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuP2FOKHQpOnQsZT1lLnVzZVN0YXRlKClbMF0sKG51bGwhPT1hbz9hby5tZW1vaXplZFN0YXRlOm51bGwpIT09ZSYmKGFhLmZsYWdzfD0xMDI0KSx0fWZ1bmN0aW9uIGFrKCl7dmFyIGU9MCE9PWFmO3JldHVybiBhZj0wLGV9ZnVuY3Rpb24gYVMoZSx0LG4pe3QudXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSx0LmZsYWdzJj0tMjA1MyxlLmxhbmVzJj1+bn1mdW5jdGlvbiBhRShlKXtpZihhdSl7Zm9yKGU9ZS5tZW1vaXplZFN0YXRlO251bGwhPT1lOyl7dmFyIHQ9ZS5xdWV1ZTtudWxsIT09dCYmKHQucGVuZGluZz1udWxsKSxlPWUubmV4dH1hdT0hMX1hbD0wLGFpPWFvPWFhPW51bGwsYXM9ITEsYWQ9YWY9MCxhcD1udWxsfWZ1bmN0aW9uIGF4KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1haT9hYS5tZW1vaXplZFN0YXRlPWFpPWU6YWk9YWkubmV4dD1lLGFpfWZ1bmN0aW9uIGFfKCl7aWYobnVsbD09PWFvKXt2YXIgZT1hYS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9YW8ubmV4dDt2YXIgdD1udWxsPT09YWk/YWEubWVtb2l6ZWRTdGF0ZTphaS5uZXh0O2lmKG51bGwhPT10KWFpPXQsYW89ZTtlbHNle2lmKG51bGw9PT1lKXtpZihudWxsPT09YWEuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoNDY3KSk7dGhyb3cgRXJyb3IodSgzMTApKX1lPXttZW1vaXplZFN0YXRlOihhbz1lKS5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTphby5iYXNlU3RhdGUsYmFzZVF1ZXVlOmFvLmJhc2VRdWV1ZSxxdWV1ZTphby5xdWV1ZSxuZXh0Om51bGx9LG51bGw9PT1haT9hYS5tZW1vaXplZFN0YXRlPWFpPWU6YWk9YWkubmV4dD1lfXJldHVybiBhaX1mdW5jdGlvbiBhUCgpe3JldHVybntsYXN0RWZmZWN0Om51bGwsZXZlbnRzOm51bGwsc3RvcmVzOm51bGwsbWVtb0NhY2hlOm51bGx9fWZ1bmN0aW9uIGFOKGUpe3ZhciB0PWFkO3JldHVybiBhZCs9MSxudWxsPT09YXAmJihhcD1bXSksZT1sTihhcCxlLHQpLHQ9YWEsbnVsbD09PShudWxsPT09YWk/dC5tZW1vaXplZFN0YXRlOmFpLm5leHQpJiYoVy5IPW51bGw9PT0odD10LmFsdGVybmF0ZSl8fG51bGw9PT10Lm1lbW9pemVkU3RhdGU/b0U6b3gpLGV9ZnVuY3Rpb24gYUMoZSl7aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbilyZXR1cm4gYU4oZSk7aWYoZS4kJHR5cGVvZj09PUwpcmV0dXJuIGx0KGUpfXRocm93IEVycm9yKHUoNDM4LFN0cmluZyhlKSkpfWZ1bmN0aW9uIGFUKGUpe3ZhciB0PW51bGwsbj1hYS51cGRhdGVRdWV1ZTtpZihudWxsIT09biYmKHQ9bi5tZW1vQ2FjaGUpLG51bGw9PXQpe3ZhciByPWFhLmFsdGVybmF0ZTtudWxsIT09ciYmbnVsbCE9PShyPXIudXBkYXRlUXVldWUpJiZudWxsIT0ocj1yLm1lbW9DYWNoZSkmJih0PXtkYXRhOnIuZGF0YS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2xpY2UoKX0pLGluZGV4OjB9KX1pZihudWxsPT10JiYodD17ZGF0YTpbXSxpbmRleDowfSksbnVsbD09PW4mJihuPWFQKCksYWEudXBkYXRlUXVldWU9biksbi5tZW1vQ2FjaGU9dCx2b2lkIDA9PT0obj10LmRhdGFbdC5pbmRleF0pKWZvcihuPXQuZGF0YVt0LmluZGV4XT1BcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPVU7cmV0dXJuIHQuaW5kZXgrKyxufWZ1bmN0aW9uIGFPKGUsdCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/dChlKTp0fWZ1bmN0aW9uIGF6KGUpe3JldHVybiBhTChhXygpLGFvLGUpfWZ1bmN0aW9uIGFMKGUsdCxuKXt2YXIgcj1lLnF1ZXVlO2lmKG51bGw9PT1yKXRocm93IEVycm9yKHUoMzExKSk7ci5sYXN0UmVuZGVyZWRSZWR1Y2VyPW47dmFyIGw9ZS5iYXNlUXVldWUsYT1yLnBlbmRpbmc7aWYobnVsbCE9PWEpe2lmKG51bGwhPT1sKXt2YXIgbz1sLm5leHQ7bC5uZXh0PWEubmV4dCxhLm5leHQ9b310LmJhc2VRdWV1ZT1sPWEsci5wZW5kaW5nPW51bGx9aWYoYT1lLmJhc2VTdGF0ZSxudWxsPT09bCllLm1lbW9pemVkU3RhdGU9YTtlbHNle3Q9bC5uZXh0O3ZhciBpPW89bnVsbCxzPW51bGwsYz10LGY9ITE7ZG97dmFyIGQ9LTB4MjAwMDAwMDEmYy5sYW5lO2lmKGQhPT1jLmxhbmU/KHVfJmQpPT09ZDooYWwmZCk9PT1kKXt2YXIgcD1jLnJldmVydExhbmU7aWYoMD09PXApbnVsbCE9PXMmJihzPXMubmV4dD17bGFuZTowLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLGQ9PT1sbSYmKGY9ITApO2Vsc2UgaWYoKGFsJnApPT09cCl7Yz1jLm5leHQscD09PWxtJiYoZj0hMCk7Y29udGludWV9ZWxzZSBkPXtsYW5lOjAscmV2ZXJ0TGFuZTpjLnJldmVydExhbmUsZ2VzdHVyZTpudWxsLGFjdGlvbjpjLmFjdGlvbixoYXNFYWdlclN0YXRlOmMuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOmMuZWFnZXJTdGF0ZSxuZXh0Om51bGx9LG51bGw9PT1zPyhpPXM9ZCxvPWEpOnM9cy5uZXh0PWQsYWEubGFuZXN8PXAsdVJ8PXA7ZD1jLmFjdGlvbixhYyYmbihhLGQpLGE9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTpuKGEsZCl9ZWxzZSBwPXtsYW5lOmQscmV2ZXJ0TGFuZTpjLnJldmVydExhbmUsZ2VzdHVyZTpjLmdlc3R1cmUsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0sbnVsbD09PXM/KGk9cz1wLG89YSk6cz1zLm5leHQ9cCxhYS5sYW5lc3w9ZCx1Unw9ZDtjPWMubmV4dH13aGlsZShudWxsIT09YyYmYyE9PXQpaWYobnVsbD09PXM/bz1hOnMubmV4dD1pLCFuQShhLGUubWVtb2l6ZWRTdGF0ZSkmJihvVT0hMCxmJiZudWxsIT09KG49bGgpKSl0aHJvdyBuO2UubWVtb2l6ZWRTdGF0ZT1hLGUuYmFzZVN0YXRlPW8sZS5iYXNlUXVldWU9cyxyLmxhc3RSZW5kZXJlZFN0YXRlPWF9cmV0dXJuIG51bGw9PT1sJiYoci5sYW5lcz0wKSxbZS5tZW1vaXplZFN0YXRlLHIuZGlzcGF0Y2hdfWZ1bmN0aW9uIGFSKGUpe3ZhciB0PWFfKCksbj10LnF1ZXVlO2lmKG51bGw9PT1uKXRocm93IEVycm9yKHUoMzExKSk7bi5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9bi5kaXNwYXRjaCxsPW4ucGVuZGluZyxhPXQubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7bi5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG8gYT1lKGEsby5hY3Rpb24pLG89by5uZXh0O3doaWxlKG8hPT1sKW5BKGEsdC5tZW1vaXplZFN0YXRlKXx8KG9VPSEwKSx0Lm1lbW9pemVkU3RhdGU9YSxudWxsPT09dC5iYXNlUXVldWUmJih0LmJhc2VTdGF0ZT1hKSxuLmxhc3RSZW5kZXJlZFN0YXRlPWF9cmV0dXJuW2Escl19ZnVuY3Rpb24gYU0oZSx0LG4pe3ZhciByPWFhLGw9YV8oKSxhPXIkO2lmKGEpe2lmKHZvaWQgMD09PW4pdGhyb3cgRXJyb3IodSg0MDcpKTtuPW4oKX1lbHNlIG49dCgpO3ZhciBvPSFuQSgoYW98fGwpLm1lbW9pemVkU3RhdGUsbik7aWYobyYmKGwubWVtb2l6ZWRTdGF0ZT1uLG9VPSEwKSxsPWwucXVldWUsYTgoYUYuYmluZChudWxsLHIsbCxlKSxbZV0pLGwuZ2V0U25hcHNob3QhPT10fHxvfHxudWxsIT09YWkmJjEmYWkubWVtb2l6ZWRTdGF0ZS50YWcpe2lmKHIuZmxhZ3N8PTIwNDgsYTAoOSx7ZGVzdHJveTp2b2lkIDB9LGFELmJpbmQobnVsbCxyLGwsbix0KSxudWxsKSxudWxsPT09dUUpdGhyb3cgRXJyb3IodSgzNDkpKTthfHwwIT0oMTI3JmFsKXx8YUkocix0LG4pfXJldHVybiBufWZ1bmN0aW9uIGFJKGUsdCxuKXtlLmZsYWdzfD0xNjM4NCxlPXtnZXRTbmFwc2hvdDp0LHZhbHVlOm59LG51bGw9PT0odD1hYS51cGRhdGVRdWV1ZSk/KHQ9YVAoKSxhYS51cGRhdGVRdWV1ZT10LHQuc3RvcmVzPVtlXSk6bnVsbD09PShuPXQuc3RvcmVzKT90LnN0b3Jlcz1bZV06bi5wdXNoKGUpfWZ1bmN0aW9uIGFEKGUsdCxuLHIpe3QudmFsdWU9bix0LmdldFNuYXBzaG90PXIsYUEodCkmJmFqKGUpfWZ1bmN0aW9uIGFGKGUsdCxuKXtyZXR1cm4gbihmdW5jdGlvbigpe2FBKHQpJiZhaihlKX0pfWZ1bmN0aW9uIGFBKGUpe3ZhciB0PWUuZ2V0U25hcHNob3Q7ZT1lLnZhbHVlO3RyeXt2YXIgbj10KCk7cmV0dXJuIW5BKGUsbil9Y2F0Y2goZSl7cmV0dXJuITB9fWZ1bmN0aW9uIGFqKGUpe3ZhciB0PXJkKGUsMik7bnVsbCE9PXQmJnU2KHQsZSwyKX1mdW5jdGlvbiBhVShlKXt2YXIgdD1heCgpO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1lKCkpLHQubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lLHQucXVldWU9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTplfSx0fWZ1bmN0aW9uIGFCKGUsdCxuLHIpe3JldHVybiBlLmJhc2VTdGF0ZT1uLGFMKGUsYW8sImZ1bmN0aW9uIj09dHlwZW9mIHI/cjphTyl9ZnVuY3Rpb24gYVYoZSx0LG4scixsKXtpZihvYihlKSl0aHJvdyBFcnJvcih1KDQ4NSkpO2lmKG51bGwhPT0oZT10LmFjdGlvbikpe3ZhciBhPXtwYXlsb2FkOmwsYWN0aW9uOmUsbmV4dDpudWxsLGlzVHJhbnNpdGlvbjohMCxzdGF0dXM6InBlbmRpbmciLHZhbHVlOm51bGwscmVhc29uOm51bGwsbGlzdGVuZXJzOltdLHRoZW46ZnVuY3Rpb24oZSl7YS5saXN0ZW5lcnMucHVzaChlKX19O251bGwhPT1XLlQ/bighMCk6YS5pc1RyYW5zaXRpb249ITEscihhKSxudWxsPT09KG49dC5wZW5kaW5nKT8oYS5uZXh0PXQucGVuZGluZz1hLGFIKHQsYSkpOihhLm5leHQ9bi5uZXh0LHQucGVuZGluZz1uLm5leHQ9YSl9fWZ1bmN0aW9uIGFIKGUsdCl7dmFyIG49dC5hY3Rpb24scj10LnBheWxvYWQsbD1lLnN0YXRlO2lmKHQuaXNUcmFuc2l0aW9uKXt2YXIgYT1XLlQsbz17fTtvLnR5cGVzPW51bGwhPT1hP2EudHlwZXM6bnVsbCxXLlQ9bzt0cnl7dmFyIGk9bihsLHIpLHU9Vy5TO251bGwhPT11JiZ1KG8saSksYSQoZSx0LGkpfWNhdGNoKG4pe2FXKGUsdCxuKX1maW5hbGx5e251bGwhPT1hJiZudWxsIT09by50eXBlcyYmKGEudHlwZXM9by50eXBlcyksVy5UPWF9fWVsc2UgdHJ5e2E9bihsLHIpLGEkKGUsdCxhKX1jYXRjaChuKXthVyhlLHQsbil9fWZ1bmN0aW9uIGEkKGUsdCxuKXtudWxsIT09biYmIm9iamVjdCI9PXR5cGVvZiBuJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi50aGVuP24udGhlbihmdW5jdGlvbihuKXthUShlLHQsbil9LGZ1bmN0aW9uKG4pe3JldHVybiBhVyhlLHQsbil9KTphUShlLHQsbil9ZnVuY3Rpb24gYVEoZSx0LG4pe3Quc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9bixhcSh0KSxlLnN0YXRlPW4sbnVsbCE9PSh0PWUucGVuZGluZykmJigobj10Lm5leHQpPT09dD9lLnBlbmRpbmc9bnVsbDoobj1uLm5leHQsdC5uZXh0PW4sYUgoZSxuKSkpfWZ1bmN0aW9uIGFXKGUsdCxuKXt2YXIgcj1lLnBlbmRpbmc7aWYoZS5wZW5kaW5nPW51bGwsbnVsbCE9PXIpe3I9ci5uZXh0O2RvIHQuc3RhdHVzPSJyZWplY3RlZCIsdC5yZWFzb249bixhcSh0KSx0PXQubmV4dDt3aGlsZSh0IT09cil9ZS5hY3Rpb249bnVsbH1mdW5jdGlvbiBhcShlKXtlPWUubGlzdGVuZXJzO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9ZnVuY3Rpb24gYUsoZSx0KXtyZXR1cm4gdH1mdW5jdGlvbiBhWChlLHQpe2lmKHIkKXt2YXIgbj11RS5mb3JtU3RhdGU7aWYobnVsbCE9PW4pe2U6e3ZhciByPWFhO2lmKHIkKXtpZihySCl7dDp7Zm9yKHZhciBsPXJILGE9clc7OCE9PWwubm9kZVR5cGU7KWlmKCFhfHxudWxsPT09KGw9Y1EobC5uZXh0U2libGluZykpKXtsPW51bGw7YnJlYWsgdH1sPSJGISI9PT0oYT1sLmRhdGEpfHwiRiI9PT1hP2w6bnVsbH1pZihsKXtySD1jUShsLm5leHRTaWJsaW5nKSxyPSJGISI9PT1sLmRhdGE7YnJlYWsgZX19cksocil9cj0hMX1yJiYodD1uWzBdKX19cmV0dXJuKG49YXgoKSkubWVtb2l6ZWRTdGF0ZT1uLmJhc2VTdGF0ZT10LHI9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphSyxsYXN0UmVuZGVyZWRTdGF0ZTp0fSxuLnF1ZXVlPXIsbj1vZy5iaW5kKG51bGwsYWEsciksci5kaXNwYXRjaD1uLHI9YVUoITEpLGE9b3kuYmluZChudWxsLGFhLCExLHIucXVldWUpLHI9YXgoKSxsPXtzdGF0ZTp0LGRpc3BhdGNoOm51bGwsYWN0aW9uOmUscGVuZGluZzpudWxsfSxyLnF1ZXVlPWwsbj1hVi5iaW5kKG51bGwsYWEsbCxhLG4pLGwuZGlzcGF0Y2g9bixyLm1lbW9pemVkU3RhdGU9ZSxbdCxuLCExXX1mdW5jdGlvbiBhRyhlKXtyZXR1cm4gYVkoYV8oKSxhbyxlKX1mdW5jdGlvbiBhWShlLHQsbil7aWYodD1hTChlLHQsYUspWzBdLGU9YXooYU8pWzBdLCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pdHJ5e3ZhciByPWFOKHQpfWNhdGNoKGUpe2lmKGU9PT1sUyl0aHJvdyBseDt0aHJvdyBlfWVsc2Ugcj10O3ZhciBsPSh0PWFfKCkpLnF1ZXVlLGE9bC5kaXNwYXRjaDtyZXR1cm4gbiE9PXQubWVtb2l6ZWRTdGF0ZSYmKGFhLmZsYWdzfD0yMDQ4LGEwKDkse2Rlc3Ryb3k6dm9pZCAwfSxhSi5iaW5kKG51bGwsbCxuKSxudWxsKSksW3IsYSxlXX1mdW5jdGlvbiBhSihlLHQpe2UuYWN0aW9uPXR9ZnVuY3Rpb24gYVooZSl7dmFyIHQ9YV8oKSxuPWFvO2lmKG51bGwhPT1uKXJldHVybiBhWSh0LG4sZSk7YV8oKSx0PXQubWVtb2l6ZWRTdGF0ZTt2YXIgcj0obj1hXygpKS5xdWV1ZS5kaXNwYXRjaDtyZXR1cm4gbi5tZW1vaXplZFN0YXRlPWUsW3QsciwhMV19ZnVuY3Rpb24gYTAoZSx0LG4scil7cmV0dXJuIGU9e3RhZzplLGNyZWF0ZTpuLGRlcHM6cixpbnN0OnQsbmV4dDpudWxsfSxudWxsPT09KHQ9YWEudXBkYXRlUXVldWUpJiYodD1hUCgpLGFhLnVwZGF0ZVF1ZXVlPXQpLG51bGw9PT0obj10Lmxhc3RFZmZlY3QpP3QubGFzdEVmZmVjdD1lLm5leHQ9ZToocj1uLm5leHQsbi5uZXh0PWUsZS5uZXh0PXIsdC5sYXN0RWZmZWN0PWUpLGV9ZnVuY3Rpb24gYTEoKXtyZXR1cm4gYV8oKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIGEyKGUsdCxuLHIpe3ZhciBsPWF4KCk7YWEuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPWEwKDF8dCx7ZGVzdHJveTp2b2lkIDB9LG4sdm9pZCAwPT09cj9udWxsOnIpfWZ1bmN0aW9uIGEzKGUsdCxuLHIpe3ZhciBsPWFfKCk7cj12b2lkIDA9PT1yP251bGw6cjt2YXIgYT1sLm1lbW9pemVkU3RhdGUuaW5zdDtudWxsIT09YW8mJm51bGwhPT1yJiZhZyhyLGFvLm1lbW9pemVkU3RhdGUuZGVwcyk/bC5tZW1vaXplZFN0YXRlPWEwKHQsYSxuLHIpOihhYS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9YTAoMXx0LGEsbixyKSl9ZnVuY3Rpb24gYTQoZSx0KXthMig4MzkwNjU2LDgsZSx0KX1mdW5jdGlvbiBhOChlLHQpe2EzKDIwNDgsOCxlLHQpfWZ1bmN0aW9uIGE1KGUpe3ZhciB0PWFfKCkubWVtb2l6ZWRTdGF0ZSxuPXtyZWY6dCxuZXh0SW1wbDplfTthYS5mbGFnc3w9NDt2YXIgcj1hYS51cGRhdGVRdWV1ZTtpZihudWxsPT09cilyPWFQKCksYWEudXBkYXRlUXVldWU9cixyLmV2ZW50cz1bbl07ZWxzZXt2YXIgbD1yLmV2ZW50cztudWxsPT09bD9yLmV2ZW50cz1bbl06bC5wdXNoKG4pfXJldHVybiBmdW5jdGlvbigpe2lmKDAhPSgyJnVTKSl0aHJvdyBFcnJvcih1KDQ0MCkpO3JldHVybiB0LmltcGwuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGE2KGUsdCl7cmV0dXJuIGEzKDQsMixlLHQpfWZ1bmN0aW9uIGE5KGUsdCl7cmV0dXJuIGEzKDQsNCxlLHQpfWZ1bmN0aW9uIGE3KGUsdCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpe3ZhciBuPXQoZT1lKCkpO3JldHVybiBmdW5jdGlvbigpeyJmdW5jdGlvbiI9PXR5cGVvZiBuP24oKTp0KG51bGwpfX1pZihudWxsIT10KXJldHVybiB0LmN1cnJlbnQ9ZT1lKCksZnVuY3Rpb24oKXt0LmN1cnJlbnQ9bnVsbH19ZnVuY3Rpb24gb2UoZSx0LG4pe249bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsYTMoNCw0LGE3LmJpbmQobnVsbCx0LGUpLG4pfWZ1bmN0aW9uIG90KCl7fWZ1bmN0aW9uIG9uKGUsdCl7dmFyIG49YV8oKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPW4ubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXQmJmFnKHQsclsxXSk/clswXToobi5tZW1vaXplZFN0YXRlPVtlLHRdLGUpfWZ1bmN0aW9uIG9yKGUsdCl7dmFyIG49YV8oKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPW4ubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXQmJmFnKHQsclsxXSk/clswXToobi5tZW1vaXplZFN0YXRlPVtyPWUoKSx0XSxyKX1mdW5jdGlvbiBvbChlLHQsbil7cmV0dXJuIHZvaWQgMD09PW58fDAhPSgweDQwMDAwMDAwJmFsKSYmMD09KDI2MTkzMCZ1Xyk/ZS5tZW1vaXplZFN0YXRlPXQ6KGUubWVtb2l6ZWRTdGF0ZT1uLGU9dTgoKSxhYS5sYW5lc3w9ZSx1Unw9ZSxuKX1mdW5jdGlvbiBvYShlLHQsbixyKXtyZXR1cm4gbkEobix0KT9uOm51bGwhPT1sSi5jdXJyZW50PyhuQShlPW9sKGUsbixyKSx0KXx8KG9VPSEwKSxlKTowPT0oNDImYWwpfHwwIT0oMHg0MDAwMDAwMCZhbCkmJjA9PSgyNjE5MzAmdV8pPyhvVT0hMCxlLm1lbW9pemVkU3RhdGU9bik6KGU9dTgoKSxhYS5sYW5lc3w9ZSx1Unw9ZSx0KX1mdW5jdGlvbiBvbyhlLHQsbixyLGwpe3ZhciBhPXEucDtxLnA9MCE9PWEmJjg+YT9hOjg7dmFyIG89Vy5ULGk9e307aS50eXBlcz1udWxsIT09bz9vLnR5cGVzOm51bGwsVy5UPWksb3koZSwhMSx0LG4pO3RyeXt2YXIgdT1sKCkscz1XLlM7aWYobnVsbCE9PXMmJnMoaSx1KSxudWxsIT09dSYmIm9iamVjdCI9PXR5cGVvZiB1JiYiZnVuY3Rpb24iPT10eXBlb2YgdS50aGVuKXt2YXIgYyxmLGQ9KGM9W10sZj17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLHRoZW46ZnVuY3Rpb24oZSl7Yy5wdXNoKGUpfX0sdS50aGVuKGZ1bmN0aW9uKCl7Zi5zdGF0dXM9ImZ1bGZpbGxlZCIsZi52YWx1ZT1yO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKSgwLGNbZV0pKHIpfSxmdW5jdGlvbihlKXtmb3IoZi5zdGF0dXM9InJlamVjdGVkIixmLnJlYXNvbj1lLGU9MDtlPGMubGVuZ3RoO2UrKykoMCxjW2VdKSh2b2lkIDApfSksZik7b3YoZSx0LGQsdTQoZSkpfWVsc2Ugb3YoZSx0LHIsdTQoZSkpfWNhdGNoKG4pe292KGUsdCx7dGhlbjpmdW5jdGlvbigpe30sc3RhdHVzOiJyZWplY3RlZCIscmVhc29uOm59LHU0KCkpfWZpbmFsbHl7cS5wPWEsbnVsbCE9PW8mJm51bGwhPT1pLnR5cGVzJiYoby50eXBlcz1pLnR5cGVzKSxXLlQ9b319ZnVuY3Rpb24gb2koKXt9ZnVuY3Rpb24gb3UoZSx0LG4scil7aWYoNSE9PWUudGFnKXRocm93IEVycm9yKHUoNDc2KSk7dmFyIGw9b3MoZSkucXVldWU7b28oZSxsLHQsSyxudWxsPT09bj9vaTpmdW5jdGlvbigpe3JldHVybiBvYyhlKSxuKHIpfSl9ZnVuY3Rpb24gb3MoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10KXJldHVybiB0O3ZhciBuPXt9O3JldHVybih0PXttZW1vaXplZFN0YXRlOkssYmFzZVN0YXRlOkssYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTpLfSxuZXh0Om51bGx9KS5uZXh0PXttZW1vaXplZFN0YXRlOm4sYmFzZVN0YXRlOm4sYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTpufSxuZXh0Om51bGx9LGUubWVtb2l6ZWRTdGF0ZT10LG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihlLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBvYyhlKXt2YXIgdD1vcyhlKTtudWxsPT09dC5uZXh0JiYodD1lLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlKSxvdihlLHQubmV4dC5xdWV1ZSx7fSx1NCgpKX1mdW5jdGlvbiBvZigpe3JldHVybiBsdChmdil9ZnVuY3Rpb24gb2QoKXtyZXR1cm4gYV8oKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIG9wKCl7cmV0dXJuIGFfKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBvbShlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciBuPXU0KCkscj1sJCh0LGU9bEgobiksbik7bnVsbCE9PXImJih1NihyLHQsbiksbFEocix0LG4pKSx0PXtjYWNoZTpsdSgpfSxlLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gb2goZSx0LG4pe3ZhciByPXU0KCk7bj17bGFuZTpyLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSxvYihlKT9vdyh0LG4pOm51bGwhPT0obj1yZihlLHQsbixyKSkmJih1NihuLGUsciksb2sobix0LHIpKX1mdW5jdGlvbiBvZyhlLHQsbil7b3YoZSx0LG4sdTQoKSl9ZnVuY3Rpb24gb3YoZSx0LG4scil7dmFyIGw9e2xhbmU6cixyZXZlcnRMYW5lOjAsZ2VzdHVyZTpudWxsLGFjdGlvbjpuLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH07aWYob2IoZSkpb3codCxsKTtlbHNle3ZhciBhPWUuYWx0ZXJuYXRlO2lmKDA9PT1lLmxhbmVzJiYobnVsbD09PWF8fDA9PT1hLmxhbmVzKSYmbnVsbCE9PShhPXQubGFzdFJlbmRlcmVkUmVkdWNlcikpdHJ5e3ZhciBvPXQubGFzdFJlbmRlcmVkU3RhdGUsaT1hKG8sbik7aWYobC5oYXNFYWdlclN0YXRlPSEwLGwuZWFnZXJTdGF0ZT1pLG5BKGksbykpcmV0dXJuIHJjKGUsdCxsLDApLG51bGw9PT11RSYmcnMoKSwhMX1jYXRjaChlKXt9ZmluYWxseXt9aWYobnVsbCE9PShuPXJmKGUsdCxsLHIpKSlyZXR1cm4gdTYobixlLHIpLG9rKG4sdCxyKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBveShlLHQsbixyKXtpZihyPXtsYW5lOjIscmV2ZXJ0TGFuZTpzJCgpLGdlc3R1cmU6bnVsbCxhY3Rpb246cixoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LG9iKGUpKXtpZih0KXRocm93IEVycm9yKHUoNDc5KSl9ZWxzZSBudWxsIT09KHQ9cmYoZSxuLHIsMikpJiZ1Nih0LGUsMil9ZnVuY3Rpb24gb2IoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7cmV0dXJuIGU9PT1hYXx8bnVsbCE9PXQmJnQ9PT1hYX1mdW5jdGlvbiBvdyhlLHQpe2FzPWF1PSEwO3ZhciBuPWUucGVuZGluZztudWxsPT09bj90Lm5leHQ9dDoodC5uZXh0PW4ubmV4dCxuLm5leHQ9dCksZS5wZW5kaW5nPXR9ZnVuY3Rpb24gb2soZSx0LG4pe2lmKDAhPSg0MTk0MDQ4Jm4pKXt2YXIgcj10LmxhbmVzO3ImPWUucGVuZGluZ0xhbmVzLHQubGFuZXM9bnw9cixlaihlLG4pfX12YXIgb1M9e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazphaCx1c2VDb250ZXh0OmFoLHVzZUVmZmVjdDphaCx1c2VJbXBlcmF0aXZlSGFuZGxlOmFoLHVzZUxheW91dEVmZmVjdDphaCx1c2VJbnNlcnRpb25FZmZlY3Q6YWgsdXNlTWVtbzphaCx1c2VSZWR1Y2VyOmFoLHVzZVJlZjphaCx1c2VTdGF0ZTphaCx1c2VEZWJ1Z1ZhbHVlOmFoLHVzZURlZmVycmVkVmFsdWU6YWgsdXNlVHJhbnNpdGlvbjphaCx1c2VTeW5jRXh0ZXJuYWxTdG9yZTphaCx1c2VJZDphaCx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czphaCx1c2VGb3JtU3RhdGU6YWgsdXNlQWN0aW9uU3RhdGU6YWgsdXNlT3B0aW1pc3RpYzphaCx1c2VNZW1vQ2FjaGU6YWgsdXNlQ2FjaGVSZWZyZXNoOmFofTtvUy51c2VFZmZlY3RFdmVudD1haDt2YXIgb0U9e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazpmdW5jdGlvbihlLHQpe3JldHVybiBheCgpLm1lbW9pemVkU3RhdGU9W2Usdm9pZCAwPT09dD9udWxsOnRdLGV9LHVzZUNvbnRleHQ6bHQsdXNlRWZmZWN0OmE0LHVzZUltcGVyYXRpdmVIYW5kbGU6ZnVuY3Rpb24oZSx0LG4pe249bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsYTIoNDE5NDMwOCw0LGE3LmJpbmQobnVsbCx0LGUpLG4pfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYTIoNDE5NDMwOCw0LGUsdCl9LHVzZUluc2VydGlvbkVmZmVjdDpmdW5jdGlvbihlLHQpe2EyKDQsMixlLHQpfSx1c2VNZW1vOmZ1bmN0aW9uKGUsdCl7dmFyIG49YXgoKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPWUoKTtyZXR1cm4gbi5tZW1vaXplZFN0YXRlPVtyLHRdLHJ9LHVzZVJlZHVjZXI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWF4KCk7aWYodm9pZCAwIT09bil2YXIgbD1uKHQpO2Vsc2UgbD10O3JldHVybiByLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bCxyLnF1ZXVlPWU9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOmx9LGU9ZS5kaXNwYXRjaD1vaC5iaW5kKG51bGwsYWEsZSksW3IubWVtb2l6ZWRTdGF0ZSxlXX0sdXNlUmVmOmZ1bmN0aW9uKGUpe3JldHVybiBheCgpLm1lbW9pemVkU3RhdGU9e2N1cnJlbnQ6ZX19LHVzZVN0YXRlOmZ1bmN0aW9uKGUpe3ZhciB0PShlPWFVKGUpKS5xdWV1ZSxuPW9nLmJpbmQobnVsbCxhYSx0KTtyZXR1cm4gdC5kaXNwYXRjaD1uLFtlLm1lbW9pemVkU3RhdGUsbl19LHVzZURlYnVnVmFsdWU6b3QsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBvbChheCgpLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1hVSghMSk7cmV0dXJuIGU9b28uYmluZChudWxsLGFhLGUucXVldWUsITAsITEpLGF4KCkubWVtb2l6ZWRTdGF0ZT1lLFshMSxlXX0sdXNlU3luY0V4dGVybmFsU3RvcmU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWFhLGw9YXgoKTtpZihyJCl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcih1KDQwNykpO249bigpfWVsc2V7aWYobj10KCksbnVsbD09PXVFKXRocm93IEVycm9yKHUoMzQ5KSk7MCE9KDEyNyZ1Xyl8fGFJKHIsdCxuKX1sLm1lbW9pemVkU3RhdGU9bjt2YXIgYT17dmFsdWU6bixnZXRTbmFwc2hvdDp0fTtyZXR1cm4gbC5xdWV1ZT1hLGE0KGFGLmJpbmQobnVsbCxyLGEsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LGEwKDkse2Rlc3Ryb3k6dm9pZCAwfSxhRC5iaW5kKG51bGwscixhLG4sdCksbnVsbCksbn0sdXNlSWQ6ZnVuY3Rpb24oKXt2YXIgZT1heCgpLHQ9dUUuaWRlbnRpZmllclByZWZpeDtpZihyJCl7dmFyIG49ckQscj1ySTt0PSJfIit0KyJSXyIrKG49KHImfigxPDwzMi1lUChyKS0xKSkudG9TdHJpbmcoMzIpK24pLDA8KG49YWYrKykmJih0Kz0iSCIrbi50b1N0cmluZygzMikpLHQrPSJfIn1lbHNlIHQ9Il8iK3QrInJfIisobj1hbSsrKS50b1N0cmluZygzMikrIl8iO3JldHVybiBlLm1lbW9pemVkU3RhdGU9dH0sdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFYLHVzZUFjdGlvblN0YXRlOmFYLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSl7dmFyIHQ9YXgoKTt0Lm1lbW9pemVkU3RhdGU9dC5iYXNlU3RhdGU9ZTt2YXIgbj17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOm51bGwsbGFzdFJlbmRlcmVkU3RhdGU6bnVsbH07cmV0dXJuIHQucXVldWU9bix0PW95LmJpbmQobnVsbCxhYSwhMCxuKSxuLmRpc3BhdGNoPXQsW2UsdF19LHVzZU1lbW9DYWNoZTphVCx1c2VDYWNoZVJlZnJlc2g6ZnVuY3Rpb24oKXtyZXR1cm4gYXgoKS5tZW1vaXplZFN0YXRlPW9tLmJpbmQobnVsbCxhYSl9LHVzZUVmZmVjdEV2ZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWF4KCksbj17aW1wbDplfTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPW4sZnVuY3Rpb24oKXtpZigwIT0oMiZ1UykpdGhyb3cgRXJyb3IodSg0NDApKTtyZXR1cm4gbi5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LG94PXtyZWFkQ29udGV4dDpsdCx1c2U6YUMsdXNlQ2FsbGJhY2s6b24sdXNlQ29udGV4dDpsdCx1c2VFZmZlY3Q6YTgsdXNlSW1wZXJhdGl2ZUhhbmRsZTpvZSx1c2VJbnNlcnRpb25FZmZlY3Q6YTYsdXNlTGF5b3V0RWZmZWN0OmE5LHVzZU1lbW86b3IsdXNlUmVkdWNlcjpheix1c2VSZWY6YTEsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYXooYU8pfSx1c2VEZWJ1Z1ZhbHVlOm90LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gb2EoYV8oKSxhby5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1heihhTylbMF0sdD1hXygpLm1lbW9pemVkU3RhdGU7cmV0dXJuWyJib29sZWFuIj09dHlwZW9mIGU/ZTphTihlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6YU0sdXNlSWQ6b2QsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFHLHVzZUFjdGlvblN0YXRlOmFHLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYUIoYV8oKSxhbyxlLHQpfSx1c2VNZW1vQ2FjaGU6YVQsdXNlQ2FjaGVSZWZyZXNoOm9wfTtveC51c2VFZmZlY3RFdmVudD1hNTt2YXIgb189e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazpvbix1c2VDb250ZXh0Omx0LHVzZUVmZmVjdDphOCx1c2VJbXBlcmF0aXZlSGFuZGxlOm9lLHVzZUluc2VydGlvbkVmZmVjdDphNix1c2VMYXlvdXRFZmZlY3Q6YTksdXNlTWVtbzpvcix1c2VSZWR1Y2VyOmFSLHVzZVJlZjphMSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBhUihhTyl9LHVzZURlYnVnVmFsdWU6b3QsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPWFfKCk7cmV0dXJuIG51bGw9PT1hbz9vbChuLGUsdCk6b2Eobixhby5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1hUihhTylbMF0sdD1hXygpLm1lbW9pemVkU3RhdGU7cmV0dXJuWyJib29sZWFuIj09dHlwZW9mIGU/ZTphTihlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6YU0sdXNlSWQ6b2QsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFaLHVzZUFjdGlvblN0YXRlOmFaLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXt2YXIgbj1hXygpO3JldHVybiBudWxsIT09YW8/YUIobixhbyxlLHQpOihuLmJhc2VTdGF0ZT1lLFtlLG4ucXVldWUuZGlzcGF0Y2hdKX0sdXNlTWVtb0NhY2hlOmFULHVzZUNhY2hlUmVmcmVzaDpvcH07ZnVuY3Rpb24gb1AoZSx0LG4scil7bj1udWxsPT0obj1uKHIsdD1lLm1lbW9pemVkU3RhdGUpKT90Ongoe30sdCxuKSxlLm1lbW9pemVkU3RhdGU9biwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPW4pfW9fLnVzZUVmZmVjdEV2ZW50PWE1O3ZhciBvTj17ZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXU0KCksbD1sSChyKTtsLnBheWxvYWQ9dCxudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KHQ9bCQoZSxsLHIpKSYmKHU2KHQsZSxyKSxsUSh0LGUscikpfSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXU0KCksbD1sSChyKTtsLnRhZz0xLGwucGF5bG9hZD10LG51bGwhPW4mJihsLmNhbGxiYWNrPW4pLG51bGwhPT0odD1sJChlLGwscikpJiYodTYodCxlLHIpLGxRKHQsZSxyKSl9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbihlLHQpe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIG49dTQoKSxyPWxIKG4pO3IudGFnPTIsbnVsbCE9dCYmKHIuY2FsbGJhY2s9dCksbnVsbCE9PSh0PWwkKGUscixuKSkmJih1Nih0LGUsbiksbFEodCxlLG4pKX19O2Z1bmN0aW9uIG9DKGUsdCxuLHIsbCxhLG8pe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZihlPWUuc3RhdGVOb2RlKS5zaG91bGRDb21wb25lbnRVcGRhdGU/ZS5zaG91bGRDb21wb25lbnRVcGRhdGUocixhLG8pOiF0LnByb3RvdHlwZXx8IXQucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50fHwhbmoobixyKXx8IW5qKGwsYSl9ZnVuY3Rpb24gb1QoZSx0LG4scil7ZT10LnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJnQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLHIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZ0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG4sciksdC5zdGF0ZSE9PWUmJm9OLmVucXVldWVSZXBsYWNlU3RhdGUodCx0LnN0YXRlLG51bGwpfWZ1bmN0aW9uIG9PKGUsdCl7dmFyIG49dDtpZigicmVmImluIHQpZm9yKHZhciByIGluIG49e30sdCkicmVmIiE9PXImJihuW3JdPXRbcl0pO2lmKGU9ZS5kZWZhdWx0UHJvcHMpZm9yKHZhciBsIGluIG49PT10JiYobj14KHt9LG4pKSxlKXZvaWQgMD09PW5bbF0mJihuW2xdPWVbbF0pO3JldHVybiBufWZ1bmN0aW9uIG96KGUpe3JhKGUpfWZ1bmN0aW9uIG9MKGUpe2NvbnNvbGUuZXJyb3IoZSl9ZnVuY3Rpb24gb1IoZSl7cmEoZSl9ZnVuY3Rpb24gb00oZSx0KXt0cnl7KDAsZS5vblVuY2F1Z2h0RXJyb3IpKHQudmFsdWUse2NvbXBvbmVudFN0YWNrOnQuc3RhY2t9KX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfX1mdW5jdGlvbiBvSShlLHQsbil7dHJ5eygwLGUub25DYXVnaHRFcnJvcikobi52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bi5zdGFjayxlcnJvckJvdW5kYXJ5OjE9PT10LnRhZz90LnN0YXRlTm9kZTpudWxsfSl9Y2F0Y2goZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGV9KX19ZnVuY3Rpb24gb0QoZSx0LG4pe3JldHVybihuPWxIKG4pKS50YWc9MyxuLnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH0sbi5jYWxsYmFjaz1mdW5jdGlvbigpe29NKGUsdCl9LG59ZnVuY3Rpb24gb0YoZSl7cmV0dXJuKGU9bEgoZSkpLnRhZz0zLGV9ZnVuY3Rpb24gb0EoZSx0LG4scil7dmFyIGw9bi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtpZigiZnVuY3Rpb24iPT10eXBlb2YgbCl7dmFyIGE9ci52YWx1ZTtlLnBheWxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbChhKX0sZS5jYWxsYmFjaz1mdW5jdGlvbigpe29JKHQsbixyKX19dmFyIG89bi5zdGF0ZU5vZGU7bnVsbCE9PW8mJiJmdW5jdGlvbiI9PXR5cGVvZiBvLmNvbXBvbmVudERpZENhdGNoJiYoZS5jYWxsYmFjaz1mdW5jdGlvbigpe29JKHQsbixyKSwiZnVuY3Rpb24iIT10eXBlb2YgbCYmKG51bGw9PT11UT91UT1uZXcgU2V0KFt0aGlzXSk6dVEuYWRkKHRoaXMpKTt2YXIgZT1yLnN0YWNrO3RoaXMuY29tcG9uZW50RGlkQ2F0Y2goci52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bnVsbCE9PWU/ZToiIn0pfSl9dmFyIG9qPUVycm9yKHUoNDYxKSksb1U9ITE7ZnVuY3Rpb24gb0IoZSx0LG4scil7dC5jaGlsZD1udWxsPT09ZT9saih0LG51bGwsbixyKTpsQSh0LGUuY2hpbGQsbixyKX1mdW5jdGlvbiBvVihlLHQsbixyLGwpe249bi5yZW5kZXI7dmFyIGE9dC5yZWY7aWYoInJlZiJpbiByKXt2YXIgbz17fTtmb3IodmFyIGkgaW4gcikicmVmIiE9PWkmJihvW2ldPXJbaV0pfWVsc2Ugbz1yO3JldHVybihsZSh0KSxyPWF2KGUsdCxuLG8sYSxsKSxpPWFrKCksbnVsbD09PWV8fG9VKT8ociQmJmkmJnJqKHQpLHQuZmxhZ3N8PTEsb0IoZSx0LHIsbCksdC5jaGlsZCk6KGFTKGUsdCxsKSxpbChlLHQsbCkpfWZ1bmN0aW9uIG9IKGUsdCxuLHIsbCl7aWYobnVsbD09PWUpe3ZhciBhPW4udHlwZTtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgYXx8cnkoYSl8fHZvaWQgMCE9PWEuZGVmYXVsdFByb3BzfHxudWxsIT09bi5jb21wYXJlPygoZT1yayhuLnR5cGUsbnVsbCxyLHQsdC5tb2RlLGwpKS5yZWY9dC5yZWYsZS5yZXR1cm49dCx0LmNoaWxkPWUpOih0LnRhZz0xNSx0LnR5cGU9YSxvJChlLHQsYSxyLGwpKX1pZihhPWUuY2hpbGQsIWlhKGUsbCkpe3ZhciBvPWEubWVtb2l6ZWRQcm9wcztpZigobj1udWxsIT09KG49bi5jb21wYXJlKT9uOm5qKShvLHIpJiZlLnJlZj09PXQucmVmKXJldHVybiBpbChlLHQsbCl9cmV0dXJuIHQuZmxhZ3N8PTEsKGU9cmIoYSxyKSkucmVmPXQucmVmLGUucmV0dXJuPXQsdC5jaGlsZD1lfWZ1bmN0aW9uIG8kKGUsdCxuLHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihuaihhLHIpJiZlLnJlZj09PXQucmVmKWlmKG9VPSExLHQucGVuZGluZ1Byb3BzPXI9YSwhaWEoZSxsKSlyZXR1cm4gdC5sYW5lcz1lLmxhbmVzLGlsKGUsdCxsKTtlbHNlIDAhPSgxMzEwNzImZS5mbGFncykmJihvVT0hMCl9cmV0dXJuIG9ZKGUsdCxuLHIsbCl9ZnVuY3Rpb24gb1EoZSx0LG4scil7dmFyIGw9ci5jaGlsZHJlbixhPW51bGwhPT1lP2UubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKG51bGw9PT1lJiZudWxsPT09dC5zdGF0ZU5vZGUmJih0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksImhpZGRlbiI9PT1yLm1vZGUpe2lmKDAhPSgxMjgmdC5mbGFncykpe2lmKGE9bnVsbCE9PWE/YS5iYXNlTGFuZXN8bjpuLG51bGwhPT1lKXtmb3IobD0wLHI9dC5jaGlsZD1lLmNoaWxkO251bGwhPT1yOylsPWx8ci5sYW5lc3xyLmNoaWxkTGFuZXMscj1yLnNpYmxpbmc7cj1sJn5hfWVsc2Ugcj0wLHQuY2hpbGQ9bnVsbDtyZXR1cm4gb3EoZSx0LGEsbixyKX1pZigwPT0oMHgyMDAwMDAwMCZuKSlyZXR1cm4gcj10LmxhbmVzPTB4MjAwMDAwMDAsb3EoZSx0LG51bGwhPT1hP2EuYmFzZUxhbmVzfG46bixuLHIpO3QubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGx9LG51bGwhPT1lJiZsdyh0LG51bGwhPT1hP2EuY2FjaGVQb29sOm51bGwpLG51bGwhPT1hP2wwKHQsYSk6bDEoKSxsNih0KX1lbHNlIG51bGwhPT1hPyhsdyh0LGEuY2FjaGVQb29sKSxsMCh0LGEpLGw5KCksdC5tZW1vaXplZFN0YXRlPW51bGwpOihudWxsIT09ZSYmbHcodCxudWxsKSxsMSgpLGw5KCkpO3JldHVybiBvQihlLHQsbCxuKSx0LmNoaWxkfWZ1bmN0aW9uIG9XKGUsdCl7cmV0dXJuIG51bGwhPT1lJiYyMj09PWUudGFnfHxudWxsIT09dC5zdGF0ZU5vZGV8fCh0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksdC5zaWJsaW5nfWZ1bmN0aW9uIG9xKGUsdCxuLHIsbCl7dmFyIGE9bGIoKTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6bixjYWNoZVBvb2w6YT1udWxsPT09YT9udWxsOntwYXJlbnQ6bGkuX2N1cnJlbnRWYWx1ZSxwb29sOmF9fSxudWxsIT09ZSYmbHcodCxudWxsKSxsMSgpLGw2KHQpLG51bGwhPT1lJiZyOShlLHQsciwhMCksdC5jaGlsZExhbmVzPWwsbnVsbH1mdW5jdGlvbiBvSyhlLHQpe3JldHVybih0PW81KHttb2RlOnQubW9kZSxjaGlsZHJlbjp0LmNoaWxkcmVufSxlLm1vZGUpKS5yZWY9ZS5yZWYsZS5jaGlsZD10LHQucmV0dXJuPWUsdH1mdW5jdGlvbiBvWChlLHQsbil7cmV0dXJuIGxBKHQsZS5jaGlsZCxudWxsLG4pLGU9b0sodCx0LnBlbmRpbmdQcm9wcyksZS5mbGFnc3w9MixsNyh0KSx0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIG9HKGUsdCl7dmFyIG49dC5yZWY7aWYobnVsbD09PW4pbnVsbCE9PWUmJm51bGwhPT1lLnJlZiYmKHQuZmxhZ3N8PTQxOTQ4MTYpO2Vsc2V7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4mJiJvYmplY3QiIT10eXBlb2Ygbil0aHJvdyBFcnJvcih1KDI4NCkpOyhudWxsPT09ZXx8ZS5yZWYhPT1uKSYmKHQuZmxhZ3N8PTQxOTQ4MTYpfX1mdW5jdGlvbiBvWShlLHQsbixyLGwpe3JldHVybihsZSh0KSxuPWF2KGUsdCxuLHIsdm9pZCAwLGwpLHI9YWsoKSxudWxsPT09ZXx8b1UpPyhyJCYmciYmcmoodCksdC5mbGFnc3w9MSxvQihlLHQsbixsKSx0LmNoaWxkKTooYVMoZSx0LGwpLGlsKGUsdCxsKSl9ZnVuY3Rpb24gb0ooZSx0LG4scixsLGEpe3JldHVybihsZSh0KSx0LnVwZGF0ZVF1ZXVlPW51bGwsbj1hYih0LHIsbixsKSxheShlKSxyPWFrKCksbnVsbD09PWV8fG9VKT8ociQmJnImJnJqKHQpLHQuZmxhZ3N8PTEsb0IoZSx0LG4sYSksdC5jaGlsZCk6KGFTKGUsdCxhKSxpbChlLHQsYSkpfWZ1bmN0aW9uIG9aKGUsdCxuLHIsbCl7aWYobGUodCksbnVsbD09PXQuc3RhdGVOb2RlKXt2YXIgYT1yaCxvPW4uY29udGV4dFR5cGU7Im9iamVjdCI9PXR5cGVvZiBvJiZudWxsIT09byYmKGE9bHQobykpLHQubWVtb2l6ZWRTdGF0ZT1udWxsIT09KGE9bmV3IG4ocixhKSkuc3RhdGUmJnZvaWQgMCE9PWEuc3RhdGU/YS5zdGF0ZTpudWxsLGEudXBkYXRlcj1vTix0LnN0YXRlTm9kZT1hLGEuX3JlYWN0SW50ZXJuYWxzPXQsKGE9dC5zdGF0ZU5vZGUpLnByb3BzPXIsYS5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsYS5yZWZzPXt9LGxCKHQpLG89bi5jb250ZXh0VHlwZSxhLmNvbnRleHQ9Im9iamVjdCI9PXR5cGVvZiBvJiZudWxsIT09bz9sdChvKTpyaCxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2Yobz1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihvUCh0LG4sbyxyKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50fHwobz1hLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudCYmYS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxvIT09YS5zdGF0ZSYmb04uZW5xdWV1ZVJlcGxhY2VTdGF0ZShhLGEuc3RhdGUsbnVsbCksbFgodCxyLGEsbCksbEsoKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSxyPSEwfWVsc2UgaWYobnVsbD09PWUpe2E9dC5zdGF0ZU5vZGU7dmFyIGk9dC5tZW1vaXplZFByb3BzLHU9b08obixpKTthLnByb3BzPXU7dmFyIHM9YS5jb250ZXh0LGM9bi5jb250ZXh0VHlwZTtvPXJoLCJvYmplY3QiPT10eXBlb2YgYyYmbnVsbCE9PWMmJihvPWx0KGMpKTt2YXIgZj1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztjPSJmdW5jdGlvbiI9PXR5cGVvZiBmfHwiZnVuY3Rpb24iPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSxpPXQucGVuZGluZ1Byb3BzIT09aSxjfHwiZnVuY3Rpb24iIT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KGl8fHMhPT1vKSYmb1QodCxhLHIsbyksbFU9ITE7dmFyIGQ9dC5tZW1vaXplZFN0YXRlO2Euc3RhdGU9ZCxsWCh0LHIsYSxsKSxsSygpLHM9dC5tZW1vaXplZFN0YXRlLGl8fGQhPT1zfHxsVT8oImZ1bmN0aW9uIj09dHlwZW9mIGYmJihvUCh0LG4sZixyKSxzPXQubWVtb2l6ZWRTdGF0ZSksKHU9bFV8fG9DKHQsbix1LHIsZCxzLG8pKT8oY3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50fHwoImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50JiZhLmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJmEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpKSwiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZmxhZ3N8PTQxOTQzMDgpKTooImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSx0Lm1lbW9pemVkUHJvcHM9cix0Lm1lbW9pemVkU3RhdGU9cyksYS5wcm9wcz1yLGEuc3RhdGU9cyxhLmNvbnRleHQ9byxyPXUpOigiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZmxhZ3N8PTQxOTQzMDgpLHI9ITEpfWVsc2V7YT10LnN0YXRlTm9kZSxsVihlLHQpLGM9b08obixvPXQubWVtb2l6ZWRQcm9wcyksYS5wcm9wcz1jLGY9dC5wZW5kaW5nUHJvcHMsZD1hLmNvbnRleHQscz1uLmNvbnRleHRUeXBlLHU9cmgsIm9iamVjdCI9PXR5cGVvZiBzJiZudWxsIT09cyYmKHU9bHQocykpLChzPSJmdW5jdGlvbiI9PXR5cGVvZihpPW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKXx8ImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09dSkmJm9UKHQsYSxyLHUpLGxVPSExLGQ9dC5tZW1vaXplZFN0YXRlLGEuc3RhdGU9ZCxsWCh0LHIsYSxsKSxsSygpO3ZhciBwPXQubWVtb2l6ZWRTdGF0ZTtvIT09Znx8ZCE9PXB8fGxVfHxudWxsIT09ZSYmbnVsbCE9PWUuZGVwZW5kZW5jaWVzJiZyNyhlLmRlcGVuZGVuY2llcyk/KCJmdW5jdGlvbiI9PXR5cGVvZiBpJiYob1AodCxuLGkscikscD10Lm1lbW9pemVkU3RhdGUpLChjPWxVfHxvQyh0LG4sYyxyLGQscCx1KXx8bnVsbCE9PWUmJm51bGwhPT1lLmRlcGVuZGVuY2llcyYmcjcoZS5kZXBlbmRlbmNpZXMpKT8oc3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudFdpbGxVcGRhdGV8fCgiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnRXaWxsVXBkYXRlJiZhLmNvbXBvbmVudFdpbGxVcGRhdGUocixwLHUpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiZhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlKHIscCx1KSksImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlJiYodC5mbGFnc3w9NCksImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUmJih0LmZsYWdzfD0xMDI0KSk6KCJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksdC5tZW1vaXplZFByb3BzPXIsdC5tZW1vaXplZFN0YXRlPXApLGEucHJvcHM9cixhLnN0YXRlPXAsYS5jb250ZXh0PXUscj1jKTooImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9NCksImZ1bmN0aW9uIiE9dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD0xMDI0KSxyPSExKX1yZXR1cm4gYT1yLG9HKGUsdCkscj0wIT0oMTI4JnQuZmxhZ3MpLGF8fHI/KGE9dC5zdGF0ZU5vZGUsbj1yJiYiZnVuY3Rpb24iIT10eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDphLnJlbmRlcigpLHQuZmxhZ3N8PTEsbnVsbCE9PWUmJnI/KHQuY2hpbGQ9bEEodCxlLmNoaWxkLG51bGwsbCksdC5jaGlsZD1sQSh0LG51bGwsbixsKSk6b0IoZSx0LG4sbCksdC5tZW1vaXplZFN0YXRlPWEuc3RhdGUsZT10LmNoaWxkKTplPWlsKGUsdCxsKSxlfWZ1bmN0aW9uIG8wKGUsdCxuLHIpe3JldHVybiBySigpLHQuZmxhZ3N8PTI1NixvQihlLHQsbixyKSx0LmNoaWxkfXZhciBvMT17ZGVoeWRyYXRlZDpudWxsLHRyZWVDb250ZXh0Om51bGwscmV0cnlMYW5lOjAsaHlkcmF0aW9uRXJyb3JzOm51bGx9O2Z1bmN0aW9uIG8yKGUpe3JldHVybntiYXNlTGFuZXM6ZSxjYWNoZVBvb2w6bGsoKX19ZnVuY3Rpb24gbzMoZSx0LG4pe3JldHVybiBlPW51bGwhPT1lP2UuY2hpbGRMYW5lcyZ+bjowLHQmJihlfD11RCksZX1mdW5jdGlvbiBvNChlLHQsbil7dmFyIHIsbD10LnBlbmRpbmdQcm9wcyxhPSExLG89MCE9KDEyOCZ0LmZsYWdzKTtpZigocj1vKXx8KHI9KG51bGw9PT1lfHxudWxsIT09ZS5tZW1vaXplZFN0YXRlKSYmMCE9KDImYWUuY3VycmVudCkpLHImJihhPSEwLHQuZmxhZ3MmPS0xMjkpLHI9MCE9KDMyJnQuZmxhZ3MpLHQuZmxhZ3MmPS0zMyxudWxsPT09ZSl7aWYociQpe2lmKGE/bDgodCk6bDkoKSwoZT1ySCk/bnVsbCE9PShlPW51bGwhPT0oZT1jVihlLHJXKSkmJiImIiE9PWUuZGF0YT9lOm51bGwpJiYodC5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOmUsdHJlZUNvbnRleHQ6bnVsbCE9PXJNP3tpZDpySSxvdmVyZmxvdzpyRH06bnVsbCxyZXRyeUxhbmU6MHgyMDAwMDAwMCxoeWRyYXRpb25FcnJvcnM6bnVsbH0sKG49cngoZSkpLnJldHVybj10LHQuY2hpbGQ9bixyVj10LHJIPW51bGwpOmU9bnVsbCxudWxsPT09ZSl0aHJvdyBySyh0KTtyZXR1cm4gYyQoZSk/dC5sYW5lcz0zMjp0LmxhbmVzPTB4MjAwMDAwMDAsbnVsbH12YXIgaT1sLmNoaWxkcmVuO3JldHVybihsPWwuZmFsbGJhY2ssYSk/KGw5KCksaT1vNSh7bW9kZToiaGlkZGVuIixjaGlsZHJlbjppfSxhPXQubW9kZSksbD1yUyhsLGEsbixudWxsKSxpLnJldHVybj10LGwucmV0dXJuPXQsaS5zaWJsaW5nPWwsdC5jaGlsZD1pLChsPXQuY2hpbGQpLm1lbW9pemVkU3RhdGU9bzIobiksbC5jaGlsZExhbmVzPW8zKGUscixuKSx0Lm1lbW9pemVkU3RhdGU9bzEsb1cobnVsbCxsKSk6KGw4KHQpLG84KHQsaSkpfXZhciBzPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09cyYmbnVsbCE9PShpPXMuZGVoeWRyYXRlZCkpe2lmKG8pMjU2JnQuZmxhZ3M/KGw4KHQpLHQuZmxhZ3MmPS0yNTcsdD1vNihlLHQsbikpOm51bGwhPT10Lm1lbW9pemVkU3RhdGU/KGw5KCksdC5jaGlsZD1lLmNoaWxkLHQuZmxhZ3N8PTEyOCx0PW51bGwpOihsOSgpLGk9bC5mYWxsYmFjayxhPXQubW9kZSxsPW81KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSxhKSxpPXJTKGksYSxuLG51bGwpLGkuZmxhZ3N8PTIsbC5yZXR1cm49dCxpLnJldHVybj10LGwuc2libGluZz1pLHQuY2hpbGQ9bCxsQSh0LGUuY2hpbGQsbnVsbCxuKSwobD10LmNoaWxkKS5tZW1vaXplZFN0YXRlPW8yKG4pLGwuY2hpbGRMYW5lcz1vMyhlLHIsbiksdC5tZW1vaXplZFN0YXRlPW8xLHQ9b1cobnVsbCxsKSk7ZWxzZSBpZihsOCh0KSxjJChpKSl7aWYocj1pLm5leHRTaWJsaW5nJiZpLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGM9ci5kZ3N0O3I9YywobD1FcnJvcih1KDQxOSkpKS5zdGFjaz0iIixsLmRpZ2VzdD1yLHIwKHt2YWx1ZTpsLHNvdXJjZTpudWxsLHN0YWNrOm51bGx9KSx0PW82KGUsdCxuKX1lbHNlIGlmKG9VfHxyOShlLHQsbiwhMSkscj0wIT0obiZlLmNoaWxkTGFuZXMpLG9VfHxyKXtpZihudWxsIT09KHI9dUUpJiYwIT09KGw9ZVUocixuKSkmJmwhPT1zLnJldHJ5TGFuZSl0aHJvdyBzLnJldHJ5TGFuZT1sLHJkKGUsbCksdTYocixlLGwpLG9qO2NIKGkpfHxzdSgpLHQ9bzYoZSx0LG4pfWVsc2UgY0goaSk/KHQuZmxhZ3N8PTE5Mix0LmNoaWxkPWUuY2hpbGQsdD1udWxsKTooZT1zLnRyZWVDb250ZXh0LHJIPWNRKGkubmV4dFNpYmxpbmcpLHJWPXQsciQ9ITAsclE9bnVsbCxyVz0hMSxudWxsIT09ZSYmckIodCxlKSx0PW84KHQsbC5jaGlsZHJlbiksdC5mbGFnc3w9NDA5Nik7cmV0dXJuIHR9cmV0dXJuIGE/KGw5KCksaT1sLmZhbGxiYWNrLGE9dC5tb2RlLGM9KHM9ZS5jaGlsZCkuc2libGluZywobD1yYihzLHttb2RlOiJoaWRkZW4iLGNoaWxkcmVuOmwuY2hpbGRyZW59KSkuc3VidHJlZUZsYWdzPTB4N2UwMDAwMCZzLnN1YnRyZWVGbGFncyxudWxsIT09Yz9pPXJiKGMsaSk6KGk9clMoaSxhLG4sbnVsbCksaS5mbGFnc3w9MiksaS5yZXR1cm49dCxsLnJldHVybj10LGwuc2libGluZz1pLHQuY2hpbGQ9bCxvVyhudWxsLGwpLGw9dC5jaGlsZCxudWxsPT09KGk9ZS5jaGlsZC5tZW1vaXplZFN0YXRlKT9pPW8yKG4pOihudWxsIT09KGE9aS5jYWNoZVBvb2wpPyhzPWxpLl9jdXJyZW50VmFsdWUsYT1hLnBhcmVudCE9PXM/e3BhcmVudDpzLHBvb2w6c306YSk6YT1saygpLGk9e2Jhc2VMYW5lczppLmJhc2VMYW5lc3xuLGNhY2hlUG9vbDphfSksbC5tZW1vaXplZFN0YXRlPWksbC5jaGlsZExhbmVzPW8zKGUscixuKSx0Lm1lbW9pemVkU3RhdGU9bzEsb1coZS5jaGlsZCxsKSk6KGw4KHQpLGU9KG49ZS5jaGlsZCkuc2libGluZywobj1yYihuLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSkpLnJldHVybj10LG4uc2libGluZz1udWxsLG51bGwhPT1lJiYobnVsbD09PShyPXQuZGVsZXRpb25zKT8odC5kZWxldGlvbnM9W2VdLHQuZmxhZ3N8PTE2KTpyLnB1c2goZSkpLHQuY2hpbGQ9bix0Lm1lbW9pemVkU3RhdGU9bnVsbCxuKX1mdW5jdGlvbiBvOChlLHQpe3JldHVybih0PW81KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjp0fSxlLm1vZGUpKS5yZXR1cm49ZSxlLmNoaWxkPXR9ZnVuY3Rpb24gbzUoZSx0KXtyZXR1cm4oZT1ydigyMixlLG51bGwsdCkpLmxhbmVzPTAsZX1mdW5jdGlvbiBvNihlLHQsbil7cmV0dXJuIGxBKHQsZS5jaGlsZCxudWxsLG4pLGU9bzgodCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbiksZS5mbGFnc3w9Mix0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIG85KGUsdCxuKXtlLmxhbmVzfD10O3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9dCkscjUoZS5yZXR1cm4sdCxuKX1mdW5jdGlvbiBvNyhlKXtmb3IodmFyIHQ9bnVsbDtudWxsIT09ZTspe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiZudWxsPT09YXIobikmJih0PWUpLGU9ZS5zaWJsaW5nfXJldHVybiB0fWZ1bmN0aW9uIGllKGUsdCxuLHIsbCxhKXt2YXIgbz1lLm1lbW9pemVkU3RhdGU7bnVsbD09PW8/ZS5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczp0LHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6cix0YWlsOm4sdGFpbE1vZGU6bCx0cmVlRm9ya0NvdW50OmF9OihvLmlzQmFja3dhcmRzPXQsby5yZW5kZXJpbmc9bnVsbCxvLnJlbmRlcmluZ1N0YXJ0VGltZT0wLG8ubGFzdD1yLG8udGFpbD1uLG8udGFpbE1vZGU9bCxvLnRyZWVGb3JrQ291bnQ9YSl9ZnVuY3Rpb24gaXQoZSl7dmFyIHQ9ZS5jaGlsZDtmb3IoZS5jaGlsZD1udWxsO251bGwhPT10Oyl7dmFyIG49dC5zaWJsaW5nO3Quc2libGluZz1lLmNoaWxkLGUuY2hpbGQ9dCx0PW59fWZ1bmN0aW9uIGlyKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7cj1yLmNoaWxkcmVuO3ZhciBvPWFlLmN1cnJlbnQ7aWYoMTI4JnQuZmxhZ3MpcmV0dXJuIGF0KHQsbyksbnVsbDt2YXIgaT0wIT0oMiZvKTtpZihpPyhvPTEmb3wyLHQuZmxhZ3N8PTEyOCk6byY9MSxhdCh0LG8pLCJiYWNrd2FyZHMiPT09bCYmbnVsbCE9PWU/KGl0KGUpLG9CKGUsdCxyLG4pLGl0KGUpKTpvQihlLHQscixuKSxyPXIkP3J6OjAsIWkmJm51bGwhPT1lJiYwIT0oMTI4JmUuZmxhZ3MpKWU6Zm9yKGU9dC5jaGlsZDtudWxsIT09ZTspe2lmKDEzPT09ZS50YWcpbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbzkoZSxuLHQpO2Vsc2UgaWYoMTk9PT1lLnRhZylvOShlLG4sdCk7ZWxzZSBpZihudWxsIT09ZS5jaGlsZCl7ZS5jaGlsZC5yZXR1cm49ZSxlPWUuY2hpbGQ7Y29udGludWV9aWYoZT09PXQpYnJlYWs7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PXQpYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9c3dpdGNoKGwpe2Nhc2UiYmFja3dhcmRzIjpudWxsPT09KG49bzcodC5jaGlsZCkpPyhsPXQuY2hpbGQsdC5jaGlsZD1udWxsKToobD1uLnNpYmxpbmcsbi5zaWJsaW5nPW51bGwsaXQodCkpLGllKHQsITAsbCxudWxsLGEscik7YnJlYWs7Y2FzZSJ1bnN0YWJsZV9sZWdhY3ktYmFja3dhcmRzIjpmb3Iobj1udWxsLGw9dC5jaGlsZCx0LmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09YXIoZSkpe3QuY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9bixuPWwsbD1lfWllKHQsITAsbixudWxsLGEscik7YnJlYWs7Y2FzZSJ0b2dldGhlciI6aWUodCwhMSxudWxsLG51bGwsdm9pZCAwLHIpO2JyZWFrO2Nhc2UiaW5kZXBlbmRlbnQiOnQubWVtb2l6ZWRTdGF0ZT1udWxsO2JyZWFrO2RlZmF1bHQ6bnVsbD09PShuPW83KHQuY2hpbGQpKT8obD10LmNoaWxkLHQuY2hpbGQ9bnVsbCk6KGw9bi5zaWJsaW5nLG4uc2libGluZz1udWxsKSxpZSh0LCExLGwsbixhLHIpfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIGlsKGUsdCxuKXtpZihudWxsIT09ZSYmKHQuZGVwZW5kZW5jaWVzPWUuZGVwZW5kZW5jaWVzKSx1Unw9dC5sYW5lcywwPT0obiZ0LmNoaWxkTGFuZXMpKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtlbHNlIGlmKHI5KGUsdCxuLCExKSwwPT0obiZ0LmNoaWxkTGFuZXMpKXJldHVybiBudWxsfWlmKG51bGwhPT1lJiZ0LmNoaWxkIT09ZS5jaGlsZCl0aHJvdyBFcnJvcih1KDE1MykpO2lmKG51bGwhPT10LmNoaWxkKXtmb3Iobj1yYihlPXQuY2hpbGQsZS5wZW5kaW5nUHJvcHMpLHQuY2hpbGQ9bixuLnJldHVybj10O251bGwhPT1lLnNpYmxpbmc7KWU9ZS5zaWJsaW5nLChuPW4uc2libGluZz1yYihlLGUucGVuZGluZ1Byb3BzKSkucmV0dXJuPXQ7bi5zaWJsaW5nPW51bGx9cmV0dXJuIHQuY2hpbGR9ZnVuY3Rpb24gaWEoZSx0KXtyZXR1cm4gMCE9KGUubGFuZXMmdCl8fCEhKG51bGwhPT0oZT1lLmRlcGVuZGVuY2llcykmJnI3KGUpKX1mdW5jdGlvbiBpbyhlLHQsbil7aWYobnVsbCE9PWUpaWYoZS5tZW1vaXplZFByb3BzIT09dC5wZW5kaW5nUHJvcHMpb1U9ITA7ZWxzZXtpZighaWEoZSxuKSYmMD09KDEyOCZ0LmZsYWdzKSlyZXR1cm4gb1U9ITEsZnVuY3Rpb24oZSx0LG4pe3N3aXRjaCh0LnRhZyl7Y2FzZSAzOmVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscjQodCxsaSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpLHJKKCk7YnJlYWs7Y2FzZSAyNzpjYXNlIDU6ZW8odCk7YnJlYWs7Y2FzZSA0OmVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7YnJlYWs7Y2FzZSAxMDpyNCh0LHQudHlwZSx0Lm1lbW9pemVkUHJvcHMudmFsdWUpO2JyZWFrO2Nhc2UgMzE6aWYobnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSlyZXR1cm4gdC5mbGFnc3w9MTI4LGw1KHQpLG51bGw7YnJlYWs7Y2FzZSAxMzp2YXIgcj10Lm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXIpe2lmKG51bGwhPT1yLmRlaHlkcmF0ZWQpcmV0dXJuIGw4KHQpLHQuZmxhZ3N8PTEyOCxudWxsO2lmKDAhPShuJnQuY2hpbGQuY2hpbGRMYW5lcykpcmV0dXJuIG80KGUsdCxuKTtyZXR1cm4gbDgodCksbnVsbCE9PShlPWlsKGUsdCxuKSk/ZS5zaWJsaW5nOm51bGx9bDgodCk7YnJlYWs7Y2FzZSAxOTppZigxMjgmdC5mbGFncylyZXR1cm4gaXIoZSx0LG4pO3ZhciBsPTAhPSgxMjgmZS5mbGFncyk7aWYoKHI9MCE9KG4mdC5jaGlsZExhbmVzKSl8fChyOShlLHQsbiwhMSkscj0wIT0obiZ0LmNoaWxkTGFuZXMpKSxsKXtpZihyKXJldHVybiBpcihlLHQsbik7dC5mbGFnc3w9MTI4fWlmKG51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpJiYobC5yZW5kZXJpbmc9bnVsbCxsLnRhaWw9bnVsbCxsLmxhc3RFZmZlY3Q9bnVsbCksYXQodCxhZS5jdXJyZW50KSwhcilyZXR1cm4gbnVsbDticmVhaztjYXNlIDIyOnJldHVybiB0LmxhbmVzPTAsb1EoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cjQodCxsaSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpfXJldHVybiBpbChlLHQsbil9KGUsdCxuKTtvVT0wIT0oMTMxMDcyJmUuZmxhZ3MpfWVsc2Ugb1U9ITEsciQmJjAhPSgxMDQ4NTc2JnQuZmxhZ3MpJiZyQSh0LHJ6LHQuaW5kZXgpO3N3aXRjaCh0LmxhbmVzPTAsdC50YWcpe2Nhc2UgMTY6ZTp7dmFyIHI9dC5wZW5kaW5nUHJvcHM7aWYoZT1sQyh0LmVsZW1lbnRUeXBlKSx0LnR5cGU9ZSwiZnVuY3Rpb24iPT10eXBlb2YgZSlyeShlKT8ocj1vTyhlLHIpLHQudGFnPTEsdD1vWihudWxsLHQsZSxyLG4pKToodC50YWc9MCx0PW9ZKG51bGwsdCxlLHIsbikpO2Vsc2V7aWYobnVsbCE9ZSl7dmFyIGw9ZS4kJHR5cGVvZjtpZihsPT09Uil7dC50YWc9MTEsdD1vVihudWxsLHQsZSxyLG4pO2JyZWFrIGV9aWYobD09PUQpe3QudGFnPTE0LHQ9b0gobnVsbCx0LGUscixuKTticmVhayBlfX10aHJvdyBFcnJvcih1KDMwNix0PWZ1bmN0aW9uIGUodCl7aWYobnVsbD09dClyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gdC4kJHR5cGVvZj09PSQ/bnVsbDp0LmRpc3BsYXlOYW1lfHx0Lm5hbWV8fG51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O3N3aXRjaCh0KXtjYXNlIEM6cmV0dXJuIkZyYWdtZW50IjtjYXNlIE86cmV0dXJuIlByb2ZpbGVyIjtjYXNlIFQ6cmV0dXJuIlN0cmljdE1vZGUiO2Nhc2UgTTpyZXR1cm4iU3VzcGVuc2UiO2Nhc2UgSTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIEE6cmV0dXJuIkFjdGl2aXR5IjtjYXNlIEI6cmV0dXJuIlZpZXdUcmFuc2l0aW9uIn1pZigib2JqZWN0Ij09dHlwZW9mIHQpc3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgTjpyZXR1cm4iUG9ydGFsIjtjYXNlIEw6cmV0dXJuIHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IjtjYXNlIHo6cmV0dXJuKHQuX2NvbnRleHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSBSOnZhciBuPXQucmVuZGVyO3JldHVybih0PXQuZGlzcGxheU5hbWUpfHwodD0iIiE9PSh0PW4uZGlzcGxheU5hbWV8fG4ubmFtZXx8IiIpPyJGb3J3YXJkUmVmKCIrdCsiKSI6IkZvcndhcmRSZWYiKSx0O2Nhc2UgRDpyZXR1cm4gbnVsbCE9PShuPXQuZGlzcGxheU5hbWV8fG51bGwpP246ZSh0LnR5cGUpfHwiTWVtbyI7Y2FzZSBGOm49dC5fcGF5bG9hZCx0PXQuX2luaXQ7dHJ5e3JldHVybiBlKHQobikpfWNhdGNoKGUpe319cmV0dXJuIG51bGx9KGUpfHxlLCIiKSl9fXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gb1koZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE6cmV0dXJuIGw9b08ocj10LnR5cGUsdC5wZW5kaW5nUHJvcHMpLG9aKGUsdCxyLGwsbik7Y2FzZSAzOmU6e2lmKGVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbnVsbD09PWUpdGhyb3cgRXJyb3IodSgzODcpKTtyPXQucGVuZGluZ1Byb3BzO3ZhciBhPXQubWVtb2l6ZWRTdGF0ZTtsPWEuZWxlbWVudCxsVihlLHQpLGxYKHQscixudWxsLG4pO3ZhciBvPXQubWVtb2l6ZWRTdGF0ZTtpZihyNCh0LGxpLHI9by5jYWNoZSksciE9PWEuY2FjaGUmJnI2KHQsW2xpXSxuLCEwKSxsSygpLHI9by5lbGVtZW50LGEuaXNEZWh5ZHJhdGVkKWlmKGE9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6ITEsY2FjaGU6by5jYWNoZX0sdC51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9YSx0Lm1lbW9pemVkU3RhdGU9YSwyNTYmdC5mbGFncyl7dD1vMChlLHQscixuKTticmVhayBlfWVsc2UgaWYociE9PWwpe3IwKGw9ck4oRXJyb3IodSg0MjQpKSx0KSksdD1vMChlLHQscixuKTticmVhayBlfWVsc2UgZm9yKHJIPWNRKChlPTk9PT0oZT10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmJvZHk6IkhUTUwiPT09ZS5ub2RlTmFtZT9lLm93bmVyRG9jdW1lbnQuYm9keTplKS5maXJzdENoaWxkKSxyVj10LHIkPSEwLHJRPW51bGwsclc9ITAsbj1saih0LG51bGwscixuKSx0LmNoaWxkPW47bjspbi5mbGFncz0tMyZuLmZsYWdzfDQwOTYsbj1uLnNpYmxpbmc7ZWxzZXtpZihySigpLHI9PT1sKXt0PWlsKGUsdCxuKTticmVhayBlfW9CKGUsdCxyLG4pfXQ9dC5jaGlsZH1yZXR1cm4gdDtjYXNlIDI2OnJldHVybiBvRyhlLHQpLG51bGw9PT1lPyhuPWMzKHQudHlwZSxudWxsLHQucGVuZGluZ1Byb3BzLG51bGwpKT90Lm1lbW9pemVkU3RhdGU9bjpyJHx8KG49dC50eXBlLGU9dC5wZW5kaW5nUHJvcHMsKHI9Y3UoZW4uY3VycmVudCkuY3JlYXRlRWxlbWVudChuKSlbZVddPXQscltlcV09ZSxjbChyLG4sZSksZTgociksdC5zdGF0ZU5vZGU9cik6dC5tZW1vaXplZFN0YXRlPWMzKHQudHlwZSxlLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsZS5tZW1vaXplZFN0YXRlKSxudWxsO2Nhc2UgMjc6cmV0dXJuIGVvKHQpLG51bGw9PT1lJiZyJCYmKHI9dC5zdGF0ZU5vZGU9Y1godC50eXBlLHQucGVuZGluZ1Byb3BzLGVuLmN1cnJlbnQpLHJWPXQsclc9ITAsbD1ySCxjeSh0LnR5cGUpPyhjVz1sLHJIPWNRKHIuZmlyc3RDaGlsZCkpOnJIPWwpLG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSxvRyhlLHQpLG51bGw9PT1lJiYodC5mbGFnc3w9NDE5NDMwNCksdC5jaGlsZDtjYXNlIDU6cmV0dXJuIG51bGw9PT1lJiZyJCYmKChsPXI9ckgpJiYobnVsbCE9PShyPWZ1bmN0aW9uKGUsdCxuLHIpe2Zvcig7MT09PWUubm9kZVR5cGU7KXtpZihlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT10LnRvTG93ZXJDYXNlKCkpe2lmKCFyJiYoIklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSlicmVha31lbHNlIGlmKHIpe2lmKCFlW2VaXSlzd2l0Y2godCl7Y2FzZSJtZXRhIjppZighZS5oYXNBdHRyaWJ1dGUoIml0ZW1wcm9wIikpYnJlYWs7cmV0dXJuIGU7Y2FzZSJsaW5rIjppZigic3R5bGVzaGVldCI9PT0obD1lLmdldEF0dHJpYnV0ZSgicmVsIikpJiZlLmhhc0F0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIil8fGwhPT1uLnJlbHx8ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PShudWxsPT1uLmhyZWZ8fCIiPT09bi5ocmVmP251bGw6bi5ocmVmKXx8ZS5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIikhPT0obnVsbD09bi5jcm9zc09yaWdpbj9udWxsOm4uY3Jvc3NPcmlnaW4pfHxlLmdldEF0dHJpYnV0ZSgidGl0bGUiKSE9PShudWxsPT1uLnRpdGxlP251bGw6bi50aXRsZSkpYnJlYWs7cmV0dXJuIGU7Y2FzZSJzdHlsZSI6aWYoZS5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO3JldHVybiBlO2Nhc2Uic2NyaXB0IjppZigoKGw9ZS5nZXRBdHRyaWJ1dGUoInNyYyIpKSE9PShudWxsPT1uLnNyYz9udWxsOm4uc3JjKXx8ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9PShudWxsPT1uLnR5cGU/bnVsbDpuLnR5cGUpfHxlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKSE9PShudWxsPT1uLmNyb3NzT3JpZ2luP251bGw6bi5jcm9zc09yaWdpbikpJiZsJiZlLmhhc0F0dHJpYnV0ZSgiYXN5bmMiKSYmIWUuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBlO2RlZmF1bHQ6cmV0dXJuIGV9fWVsc2V7aWYoImlucHV0IiE9PXR8fCJoaWRkZW4iIT09ZS50eXBlKXJldHVybiBlO3ZhciBsPW51bGw9PW4ubmFtZT9udWxsOiIiK24ubmFtZTtpZigiaGlkZGVuIj09PW4udHlwZSYmZS5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PWwpcmV0dXJuIGV9aWYobnVsbD09PShlPWNRKGUubmV4dFNpYmxpbmcpKSlicmVha31yZXR1cm4gbnVsbH0ocix0LnR5cGUsdC5wZW5kaW5nUHJvcHMsclcpKT8odC5zdGF0ZU5vZGU9cixyVj10LHJIPWNRKHIuZmlyc3RDaGlsZCksclc9ITEsbD0hMCk6bD0hMSksbHx8cksodCkpLGVvKHQpLGw9dC50eXBlLGE9dC5wZW5kaW5nUHJvcHMsbz1udWxsIT09ZT9lLm1lbW9pemVkUHJvcHM6bnVsbCxyPWEuY2hpbGRyZW4sY2YobCxhKT9yPW51bGw6bnVsbCE9PW8mJmNmKGwsbykmJih0LmZsYWdzfD0zMiksbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSYmKGZ2Ll9jdXJyZW50VmFsdWU9bD1hdihlLHQsYXcsbnVsbCxudWxsLG4pKSxvRyhlLHQpLG9CKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBudWxsPT09ZSYmciQmJigoZT1uPXJIKSYmKG51bGwhPT0obj1mdW5jdGlvbihlLHQsbil7aWYoIiI9PT10KXJldHVybiBudWxsO2Zvcig7MyE9PWUubm9kZVR5cGU7KWlmKCgxIT09ZS5ub2RlVHlwZXx8IklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSYmIW58fG51bGw9PT0oZT1jUShlLm5leHRTaWJsaW5nKSkpcmV0dXJuIG51bGw7cmV0dXJuIGV9KG4sdC5wZW5kaW5nUHJvcHMsclcpKT8odC5zdGF0ZU5vZGU9bixyVj10LHJIPW51bGwsZT0hMCk6ZT0hMSksZXx8cksodCkpLG51bGw7Y2FzZSAxMzpyZXR1cm4gbzQoZSx0LG4pO2Nhc2UgNDpyZXR1cm4gZWwodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxyPXQucGVuZGluZ1Byb3BzLG51bGw9PT1lP3QuY2hpbGQ9bEEodCxudWxsLHIsbik6b0IoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDExOnJldHVybiBvVihlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgNzpyZXR1cm4gcj10LnBlbmRpbmdQcm9wcyxvRyhlLHQpLG9CKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA4OmNhc2UgMTI6cmV0dXJuIG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMTA6cmV0dXJuIHI9dC5wZW5kaW5nUHJvcHMscjQodCx0LnR5cGUsci52YWx1ZSksb0IoZSx0LHIuY2hpbGRyZW4sbiksdC5jaGlsZDtjYXNlIDk6cmV0dXJuIGw9dC50eXBlLl9jb250ZXh0LHI9dC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sbGUodCkscj1yKGw9bHQobCkpLHQuZmxhZ3N8PTEsb0IoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDE0OnJldHVybiBvSChlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgMTU6cmV0dXJuIG8kKGUsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsbik7Y2FzZSAxOTpyZXR1cm4gaXIoZSx0LG4pO2Nhc2UgMzE6dmFyIGk9ZSxzPXQsYz1uLGY9cy5wZW5kaW5nUHJvcHMsZD0wIT0oMTI4JnMuZmxhZ3MpO2lmKHMuZmxhZ3MmPS0xMjksbnVsbD09PWkpe2lmKHIkKXtpZigiaGlkZGVuIj09PWYubW9kZSlyZXR1cm4gaT1vSyhzLGYpLHMubGFuZXM9MHgyMDAwMDAwMCxvVyhudWxsLGkpO2lmKGw1KHMpLChpPXJIKT9udWxsIT09KGk9bnVsbCE9PShpPWNWKGksclcpKSYmIiYiPT09aS5kYXRhP2k6bnVsbCkmJihzLm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6aSx0cmVlQ29udGV4dDpudWxsIT09ck0/e2lkOnJJLG92ZXJmbG93OnJEfTpudWxsLHJldHJ5TGFuZToweDIwMDAwMDAwLGh5ZHJhdGlvbkVycm9yczpudWxsfSwoYz1yeChpKSkucmV0dXJuPXMscy5jaGlsZD1jLHJWPXMsckg9bnVsbCk6aT1udWxsLG51bGw9PT1pKXRocm93IHJLKHMpO3JldHVybiBzLmxhbmVzPTB4MjAwMDAwMDAsbnVsbH1yZXR1cm4gb0socyxmKX12YXIgcD1pLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXApe3ZhciBtPXAuZGVoeWRyYXRlZDtpZihsNShzKSxkKWlmKDI1NiZzLmZsYWdzKXMuZmxhZ3MmPS0yNTcscz1vWChpLHMsYyk7ZWxzZSBpZihudWxsIT09cy5tZW1vaXplZFN0YXRlKXMuY2hpbGQ9aS5jaGlsZCxzLmZsYWdzfD0xMjgscz1udWxsO2Vsc2UgdGhyb3cgRXJyb3IodSg1NTgpKTtlbHNlIGlmKG9VfHxyOShpLHMsYywhMSksZD0wIT0oYyZpLmNoaWxkTGFuZXMpLG9VfHxkKXtpZihudWxsIT09KGY9dUUpJiYwIT09KG09ZVUoZixjKSkmJm0hPT1wLnJldHJ5TGFuZSl0aHJvdyBwLnJldHJ5TGFuZT1tLHJkKGksbSksdTYoZixpLG0pLG9qO3N1KCkscz1vWChpLHMsYyl9ZWxzZSBpPXAudHJlZUNvbnRleHQsckg9Y1EobS5uZXh0U2libGluZyksclY9cyxyJD0hMCxyUT1udWxsLHJXPSExLG51bGwhPT1pJiZyQihzLGkpLHM9b0socyxmKSxzLmZsYWdzfD00MDk2O3JldHVybiBzfXJldHVybihpPXJiKGkuY2hpbGQse21vZGU6Zi5tb2RlLGNoaWxkcmVuOmYuY2hpbGRyZW59KSkucmVmPXMucmVmLHMuY2hpbGQ9aSxpLnJldHVybj1zLGk7Y2FzZSAyMjpyZXR1cm4gb1EoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cmV0dXJuIGxlKHQpLHI9bHQobGkpLG51bGw9PT1lPyhudWxsPT09KGw9bGIoKSkmJihsPXVFLGE9bHUoKSxsLnBvb2xlZENhY2hlPWEsYS5yZWZDb3VudCsrLG51bGwhPT1hJiYobC5wb29sZWRDYWNoZUxhbmVzfD1uKSxsPWEpLHQubWVtb2l6ZWRTdGF0ZT17cGFyZW50OnIsY2FjaGU6bH0sbEIodCkscjQodCxsaSxsKSk6KDAhPShlLmxhbmVzJm4pJiYobFYoZSx0KSxsWCh0LG51bGwsbnVsbCxuKSxsSygpKSxsPWUubWVtb2l6ZWRTdGF0ZSxhPXQubWVtb2l6ZWRTdGF0ZSxsLnBhcmVudCE9PXI/KGw9e3BhcmVudDpyLGNhY2hlOnJ9LHQubWVtb2l6ZWRTdGF0ZT1sLDA9PT10LmxhbmVzJiYodC5tZW1vaXplZFN0YXRlPXQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWwpLHI0KHQsbGkscikpOihyNCh0LGxpLHI9YS5jYWNoZSksciE9PWwuY2FjaGUmJnI2KHQsW2xpXSxuLCEwKSkpLG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMzA6cmV0dXJuIG51bGwhPShyPXQucGVuZGluZ1Byb3BzKS5uYW1lJiYiYXV0byIhPT1yLm5hbWU/dC5mbGFnc3w9bnVsbD09PWU/MHgxMjAyMDAwOjB4MTIwMDAwMDpyJCYmcmoodCksbnVsbCE9PWUmJmUubWVtb2l6ZWRQcm9wcy5uYW1lIT09ci5uYW1lP3QuZmxhZ3N8PTQxOTQ4MTY6b0coZSx0KSxvQihlLHQsci5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMjk6dGhyb3cgdC5wZW5kaW5nUHJvcHN9dGhyb3cgRXJyb3IodSgxNTYsdC50YWcpKX1mdW5jdGlvbiBpaShlKXtlLmZsYWdzfD00fWZ1bmN0aW9uIGl1KGUsdCxuLHIsbCl7dmFyIGE7aWYoKGE9MCE9KDMyJmUubW9kZSkpJiYoYT1udWxsPT09bj9mbyh0LHIpOmZvKHQscikmJihyLnNyYyE9PW4uc3JjfHxyLnNyY1NldCE9PW4uc3JjU2V0KSksYSl7aWYoZS5mbGFnc3w9MHgxMDAwMDAwLCgweDEzZmZmZjQwJmwpPT09bClpZihlLnN0YXRlTm9kZS5jb21wbGV0ZSllLmZsYWdzfD04MTkyO2Vsc2UgaWYoc2EoKSllLmZsYWdzfD04MTkyO2Vsc2UgdGhyb3cgbFQ9bF8sbEV9ZWxzZSBlLmZsYWdzJj0tMHgxMDAwMDAxfWZ1bmN0aW9uIGlzKGUsdCl7aWYoInN0eWxlc2hlZXQiIT09dC50eXBlfHwwIT0oNCZ0LnN0YXRlLmxvYWRpbmcpKWUuZmxhZ3MmPS0weDEwMDAwMDE7ZWxzZSBpZihlLmZsYWdzfD0weDEwMDAwMDAsIWZpKHQpKWlmKHNhKCkpZS5mbGFnc3w9ODE5MjtlbHNlIHRocm93IGxUPWxfLGxFfWZ1bmN0aW9uIGljKGUsdCl7bnVsbCE9PXQmJihlLmZsYWdzfD00KSwxNjM4NCZlLmZsYWdzJiYodD0yMiE9PWUudGFnP2VJKCk6MHgyMDAwMDAwMCxlLmxhbmVzfD10LHVGfD10KX1mdW5jdGlvbiBpZChlLHQpe2lmKCFyJClzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJ2aXNpYmxlIjpicmVhaztjYXNlImNvbGxhcHNlZCI6Zm9yKHZhciBuPWUudGFpbCxyPW51bGw7bnVsbCE9PW47KW51bGwhPT1uLmFsdGVybmF0ZSYmKHI9biksbj1uLnNpYmxpbmc7bnVsbD09PXI/dHx8bnVsbD09PWUudGFpbD9lLnRhaWw9bnVsbDplLnRhaWwuc2libGluZz1udWxsOnIuc2libGluZz1udWxsO2JyZWFrO2RlZmF1bHQ6Zm9yKG49bnVsbCx0PWUudGFpbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYobj10KSx0PXQuc2libGluZztudWxsPT09bj9lLnRhaWw9bnVsbDpuLnNpYmxpbmc9bnVsbH19ZnVuY3Rpb24gaXAoZSl7dmFyIHQ9bnVsbCE9PWUuYWx0ZXJuYXRlJiZlLmFsdGVybmF0ZS5jaGlsZD09PWUuY2hpbGQsbj0wLHI9MDtpZih0KWZvcih2YXIgbD1lLmNoaWxkO251bGwhPT1sOylufD1sLmxhbmVzfGwuY2hpbGRMYW5lcyxyfD0weDdlMDAwMDAmbC5zdWJ0cmVlRmxhZ3Mscnw9MHg3ZTAwMDAwJmwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztlbHNlIGZvcihsPWUuY2hpbGQ7bnVsbCE9PWw7KW58PWwubGFuZXN8bC5jaGlsZExhbmVzLHJ8PWwuc3VidHJlZUZsYWdzLHJ8PWwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztyZXR1cm4gZS5zdWJ0cmVlRmxhZ3N8PXIsZS5jaGlsZExhbmVzPW4sdH1mdW5jdGlvbiBpbShlLHQpe3N3aXRjaChyVSh0KSx0LnRhZyl7Y2FzZSAzOnI4KGxpKSxlYSgpO2JyZWFrO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6ZWkodCk7YnJlYWs7Y2FzZSA0OmVhKCk7YnJlYWs7Y2FzZSAzMTpudWxsIT09dC5tZW1vaXplZFN0YXRlJiZsNyh0KTticmVhaztjYXNlIDEzOmw3KHQpO2JyZWFrO2Nhc2UgMTk6YW4odCk7YnJlYWs7Y2FzZSAxMDpyOCh0LnR5cGUpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpsNyh0KSxsMigpLG51bGwhPT1lJiZKKGx5KTticmVhaztjYXNlIDI0OnI4KGxpKX19ZnVuY3Rpb24gaWgoZSx0KXt0cnl7dmFyIG49dC51cGRhdGVRdWV1ZSxyPW51bGwhPT1uP24ubGFzdEVmZmVjdDpudWxsO2lmKG51bGwhPT1yKXt2YXIgbD1yLm5leHQ7bj1sO2Rve2lmKChuLnRhZyZlKT09PWUpe3I9dm9pZCAwO3ZhciBhPW4uY3JlYXRlO24uaW5zdC5kZXN0cm95PXI9YSgpfW49bi5uZXh0fXdoaWxlKG4hPT1sKX19Y2F0Y2goZSl7c18odCx0LnJldHVybixlKX19ZnVuY3Rpb24gaWcoZSx0LG4pe3RyeXt2YXIgcj10LnVwZGF0ZVF1ZXVlLGw9bnVsbCE9PXI/ci5sYXN0RWZmZWN0Om51bGw7aWYobnVsbCE9PWwpe3ZhciBhPWwubmV4dDtyPWE7ZG97aWYoKHIudGFnJmUpPT09ZSl7dmFyIG89ci5pbnN0LGk9by5kZXN0cm95O2lmKHZvaWQgMCE9PWkpe28uZGVzdHJveT12b2lkIDAsbD10O3RyeXtpKCl9Y2F0Y2goZSl7c18obCxuLGUpfX19cj1yLm5leHR9d2hpbGUociE9PWEpfX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiBpdihlKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT10KXt2YXIgbj1lLnN0YXRlTm9kZTt0cnl7bFkodCxuKX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX19ZnVuY3Rpb24gaXkoZSx0LG4pe24ucHJvcHM9b08oZS50eXBlLGUubWVtb2l6ZWRQcm9wcyksbi5zdGF0ZT1lLm1lbW9pemVkU3RhdGU7dHJ5e24uY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChuKXtzXyhlLHQsbil9fWZ1bmN0aW9uIGliKGUsdCl7dHJ5e3ZhciBuPWUucmVmO2lmKG51bGwhPT1uKXtzd2l0Y2goZS50YWcpe2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6dmFyIHI9ZS5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAzMDp2YXIgbD1lLnN0YXRlTm9kZSxhPXJuKGUubWVtb2l6ZWRQcm9wcyxsKTsobnVsbD09PWwucmVmfHxsLnJlZi5uYW1lIT09YSkmJihsLnJlZj1jQyhhKSkscj1sLnJlZjticmVhaztjYXNlIDc6bnVsbD09PWUuc3RhdGVOb2RlJiYoZS5zdGF0ZU5vZGU9bmV3IGNUKGUpKSxyPWUuc3RhdGVOb2RlO2JyZWFrO2RlZmF1bHQ6cj1lLnN0YXRlTm9kZX0iZnVuY3Rpb24iPT10eXBlb2Ygbj9lLnJlZkNsZWFudXA9bihyKTpuLmN1cnJlbnQ9cn19Y2F0Y2gobil7c18oZSx0LG4pfX1mdW5jdGlvbiBpdyhlLHQpe3ZhciBuPWUucmVmLHI9ZS5yZWZDbGVhbnVwO2lmKG51bGwhPT1uKWlmKCJmdW5jdGlvbiI9PXR5cGVvZiByKXRyeXtyKCl9Y2F0Y2gobil7c18oZSx0LG4pfWZpbmFsbHl7ZS5yZWZDbGVhbnVwPW51bGwsbnVsbCE9KGU9ZS5hbHRlcm5hdGUpJiYoZS5yZWZDbGVhbnVwPW51bGwpfWVsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pdHJ5e24obnVsbCl9Y2F0Y2gobil7c18oZSx0LG4pfWVsc2Ugbi5jdXJyZW50PW51bGx9ZnVuY3Rpb24gaWsoZSl7dmFyIHQ9ZS50eXBlLG49ZS5tZW1vaXplZFByb3BzLHI9ZS5zdGF0ZU5vZGU7dHJ5e3N3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOm4uYXV0b0ZvY3VzJiZyLmZvY3VzKCk7YnJlYWs7Y2FzZSJpbWciOm4uc3JjP3Iuc3JjPW4uc3JjOm4uc3JjU2V0JiYoci5zcmNzZXQ9bi5zcmNTZXQpfX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX1mdW5jdGlvbiBpUyhlLHQsbil7dHJ5e3ZhciByPWUuc3RhdGVOb2RlOyhmdW5jdGlvbihlLHQsbixyKXtzd2l0Y2godCl7Y2FzZSJkaXYiOmNhc2Uic3BhbiI6Y2FzZSJzdmciOmNhc2UicGF0aCI6Y2FzZSJhIjpjYXNlImciOmNhc2UicCI6Y2FzZSJsaSI6YnJlYWs7Y2FzZSJpbnB1dCI6dmFyIGw9bnVsbCxhPW51bGwsbz1udWxsLGk9bnVsbCxzPW51bGwsYz1udWxsLGY9bnVsbDtmb3IobSBpbiBuKXt2YXIgZD1uW21dO2lmKG4uaGFzT3duUHJvcGVydHkobSkmJm51bGwhPWQpc3dpdGNoKG0pe2Nhc2UiY2hlY2tlZCI6Y2FzZSJ2YWx1ZSI6YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOnM9ZDtkZWZhdWx0OnIuaGFzT3duUHJvcGVydHkobSl8fGNuKGUsdCxtLG51bGwscixkKX19Zm9yKHZhciBwIGluIHIpe3ZhciBtPXJbcF07aWYoZD1uW3BdLHIuaGFzT3duUHJvcGVydHkocCkmJihudWxsIT1tfHxudWxsIT1kKSlzd2l0Y2gocCl7Y2FzZSJ0eXBlIjptIT09ZCYmKHRyPSEwKSxhPW07YnJlYWs7Y2FzZSJuYW1lIjptIT09ZCYmKHRyPSEwKSxsPW07YnJlYWs7Y2FzZSJjaGVja2VkIjptIT09ZCYmKHRyPSEwKSxjPW07YnJlYWs7Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6bSE9PWQmJih0cj0hMCksZj1tO2JyZWFrO2Nhc2UidmFsdWUiOm0hPT1kJiYodHI9ITApLG89bTticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6bSE9PWQmJih0cj0hMCksaT1tO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPW0pdGhyb3cgRXJyb3IodSgxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6bSE9PWQmJmNuKGUsdCxwLG0scixkKX19dGgoZSxvLGkscyxjLGYsYSxsKTtyZXR1cm47Y2FzZSJzZWxlY3QiOmZvcihhIGluIG09bz1pPXA9bnVsbCxuKWlmKHM9blthXSxuLmhhc093blByb3BlcnR5KGEpJiZudWxsIT1zKXN3aXRjaChhKXtjYXNlInZhbHVlIjpicmVhaztjYXNlIm11bHRpcGxlIjptPXM7ZGVmYXVsdDpyLmhhc093blByb3BlcnR5KGEpfHxjbihlLHQsYSxudWxsLHIscyl9Zm9yKGwgaW4gcilpZihhPXJbbF0scz1uW2xdLHIuaGFzT3duUHJvcGVydHkobCkmJihudWxsIT1hfHxudWxsIT1zKSlzd2l0Y2gobCl7Y2FzZSJ2YWx1ZSI6YSE9PXMmJih0cj0hMCkscD1hO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjphIT09cyYmKHRyPSEwKSxpPWE7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6YSE9PXMmJih0cj0hMCksbz1hO2RlZmF1bHQ6YSE9PXMmJmNuKGUsdCxsLGEscixzKX10PWksbj1vLHI9bSxudWxsIT1wP3R5KGUsISFuLHAsITEpOiEhciE9ISFuJiYobnVsbCE9dD90eShlLCEhbix0LCEwKTp0eShlLCEhbixuP1tdOiIiLCExKSk7cmV0dXJuO2Nhc2UidGV4dGFyZWEiOmZvcihpIGluIG09cD1udWxsLG4paWYobD1uW2ldLG4uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPWwmJiFyLmhhc093blByb3BlcnR5KGkpKXN3aXRjaChpKXtjYXNlInZhbHVlIjpjYXNlImNoaWxkcmVuIjpicmVhaztkZWZhdWx0OmNuKGUsdCxpLG51bGwscixsKX1mb3IobyBpbiByKWlmKGw9cltvXSxhPW5bb10sci5oYXNPd25Qcm9wZXJ0eShvKSYmKG51bGwhPWx8fG51bGwhPWEpKXN3aXRjaChvKXtjYXNlInZhbHVlIjpsIT09YSYmKHRyPSEwKSxwPWw7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmwhPT1hJiYodHI9ITApLG09bDticmVhaztjYXNlImNoaWxkcmVuIjpicmVhaztjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1sKXRocm93IEVycm9yKHUoOTEpKTticmVhaztkZWZhdWx0OmwhPT1hJiZjbihlLHQsbyxsLHIsYSl9dGIoZSxwLG0pO3JldHVybjtjYXNlIm9wdGlvbiI6Zm9yKHZhciBoIGluIG4pcD1uW2hdLG4uaGFzT3duUHJvcGVydHkoaCkmJm51bGwhPXAmJiFyLmhhc093blByb3BlcnR5KGgpJiYoInNlbGVjdGVkIj09PWg/ZS5zZWxlY3RlZD0hMTpjbihlLHQsaCxudWxsLHIscCkpO2ZvcihzIGluIHIpcD1yW3NdLG09bltzXSxyLmhhc093blByb3BlcnR5KHMpJiZwIT09bSYmKG51bGwhPXB8fG51bGwhPW0pJiYoInNlbGVjdGVkIj09PXM/KHAhPT1tJiYodHI9ITApLGUuc2VsZWN0ZWQ9cCYmImZ1bmN0aW9uIiE9dHlwZW9mIHAmJiJzeW1ib2wiIT10eXBlb2YgcCk6Y24oZSx0LHMscCxyLG0pKTtyZXR1cm47Y2FzZSJpbWciOmNhc2UibGluayI6Y2FzZSJhcmVhIjpjYXNlImJhc2UiOmNhc2UiYnIiOmNhc2UiY29sIjpjYXNlImVtYmVkIjpjYXNlImhyIjpjYXNlImtleWdlbiI6Y2FzZSJtZXRhIjpjYXNlInBhcmFtIjpjYXNlInNvdXJjZSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcih2YXIgZyBpbiBuKXA9bltnXSxuLmhhc093blByb3BlcnR5KGcpJiZudWxsIT1wJiYhci5oYXNPd25Qcm9wZXJ0eShnKSYmY24oZSx0LGcsbnVsbCxyLHApO2ZvcihjIGluIHIpaWYocD1yW2NdLG09bltjXSxyLmhhc093blByb3BlcnR5KGMpJiZwIT09bSYmKG51bGwhPXB8fG51bGwhPW0pKXN3aXRjaChjKXtjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1wKXRocm93IEVycm9yKHUoMTM3LHQpKTticmVhaztkZWZhdWx0OmNuKGUsdCxjLHAscixtKX1yZXR1cm47ZGVmYXVsdDppZih0Xyh0KSl7Zm9yKHZhciB2IGluIG4pcD1uW3ZdLG4uaGFzT3duUHJvcGVydHkodikmJnZvaWQgMCE9PXAmJiFyLmhhc093blByb3BlcnR5KHYpJiZjcihlLHQsdix2b2lkIDAscixwKTtmb3IoZiBpbiByKXA9cltmXSxtPW5bZl0sci5oYXNPd25Qcm9wZXJ0eShmKSYmcCE9PW0mJih2b2lkIDAhPT1wfHx2b2lkIDAhPT1tKSYmY3IoZSx0LGYscCxyLG0pO3JldHVybn19Zm9yKHZhciB5IGluIG4pcD1uW3ldLG4uaGFzT3duUHJvcGVydHkoeSkmJm51bGwhPXAmJiFyLmhhc093blByb3BlcnR5KHkpJiZjbihlLHQseSxudWxsLHIscCk7Zm9yKGQgaW4gcilwPXJbZF0sbT1uW2RdLHIuaGFzT3duUHJvcGVydHkoZCkmJnAhPT1tJiYobnVsbCE9cHx8bnVsbCE9bSkmJmNuKGUsdCxkLHAscixtKX0pKHIsZS50eXBlLG4sdCkscltlcV09dH1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX1mdW5jdGlvbiBpRShlLHQpe2lmKDU9PT1lLnRhZyYmbnVsbD09PWUuYWx0ZXJuYXRlJiZudWxsIT09dClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyljVShlLnN0YXRlTm9kZSx0W25dKX1mdW5jdGlvbiBpeChlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtpZihpUCh0KSl7dmFyIG49ZS5zdGF0ZU5vZGUscj10LnN0YXRlTm9kZS5fZXZlbnRMaXN0ZW5lcnM7aWYobnVsbCE9PXIpZm9yKHZhciBsPTA7bDxyLmxlbmd0aDtsKyspe3ZhciBhPXJbbF07bi5yZW1vdmVFdmVudExpc3RlbmVyKGEudHlwZSxhLmxpc3RlbmVyLGEub3B0aW9uc09yVXNlQ2FwdHVyZSl9fWlmKGlfKHQpKWJyZWFrO3Q9dC5yZXR1cm59fWZ1bmN0aW9uIGlfKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8MjY9PT1lLnRhZ3x8Mjc9PT1lLnRhZyYmY3koZS50eXBlKXx8ND09PWUudGFnfWZ1bmN0aW9uIGlQKGUpe3JldHVybiBlJiY3PT09ZS50YWcmJm51bGwhPT1lLnN0YXRlTm9kZX1mdW5jdGlvbiBpTihlKXtlOmZvcig7Oyl7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxpXyhlLnJldHVybikpcmV0dXJuIG51bGw7ZT1lLnJldHVybn1mb3IoZS5zaWJsaW5nLnJldHVybj1lLnJldHVybixlPWUuc2libGluZzs1IT09ZS50YWcmJjYhPT1lLnRhZyYmMTghPT1lLnRhZzspe2lmKDI3PT09ZS50YWcmJmN5KGUudHlwZSl8fDImZS5mbGFnc3x8bnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlDKGUsdCxuLHIpe3ZhciBsPWUudGFnO2lmKDU9PT1sfHw2PT09bClsPWUuc3RhdGVOb2RlLHQ/bi5pbnNlcnRCZWZvcmUobCx0KTpuLmFwcGVuZENoaWxkKGwpLGlFKGUsciksdHI9ITA7ZWxzZSBpZig0IT09bCYmKDI3PT09bCYmY3koZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUpLG51bGwhPT0oZT1lLmNoaWxkKSkpZm9yKGlDKGUsdCxuLHIpLGU9ZS5zaWJsaW5nO251bGwhPT1lOylpQyhlLHQsbixyKSxlPWUuc2libGluZ31mdW5jdGlvbiBpVChlKXt2YXIgdD1lLnN0YXRlTm9kZSxuPWUubWVtb2l6ZWRQcm9wczt0cnl7Zm9yKHZhciByPWUudHlwZSxsPXQuYXR0cmlidXRlcztsLmxlbmd0aDspdC5yZW1vdmVBdHRyaWJ1dGVOb2RlKGxbMF0pO2NsKHQscixuKSx0W2VXXT1lLHRbZXFdPW59Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX19dmFyIGlPPSExLGl6PW51bGw7ZnVuY3Rpb24gaUwoZSl7KDMwPT09ZS50YWd8fDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKSYmKGlPPSEwKX12YXIgaVI9bnVsbDtmdW5jdGlvbiBpTSgpe3ZhciBlPWlSO3JldHVybiBpUj1udWxsLGV9dmFyIGlJPTA7ZnVuY3Rpb24gaUQoZSx0LG4scixsKXtyZXR1cm4gaUk9MCxmdW5jdGlvbiBlKHQsbixyLGwsYSl7Zm9yKHZhciBvPSExO251bGwhPT10Oyl7aWYoNT09PXQudGFnKXt2YXIgaT10LnN0YXRlTm9kZTtpZihudWxsIT09bCl7dmFyIHU9Y3goaSk7bC5wdXNoKHUpLHUudmlldyYmKG89ITApfWVsc2Ugb3x8Y3goaSkudmlldyYmKG89ITApO2lPPSEwLGNrKGksMD09PWlJP246bisiXyIraUksciksaUkrK31lbHNlKDIyIT09dC50YWd8fG51bGw9PT10Lm1lbW9pemVkU3RhdGUpJiYoMzA9PT10LnRhZyYmYXx8ZSh0LmNoaWxkLG4scixsLGEpJiYobz0hMCkpO3Q9dC5zaWJsaW5nfXJldHVybiBvfShlLmNoaWxkLHQsbixyLGwpfWZ1bmN0aW9uIGlGKGUsdCl7Zm9yKDtudWxsIT09ZTspNT09PWUudGFnP2NTKGUuc3RhdGVOb2RlLGUubWVtb2l6ZWRQcm9wcyk6KDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpJiYoMzA9PT1lLnRhZyYmdHx8aUYoZS5jaGlsZCx0KSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gaUEoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKCgyMiE9PWUudGFnfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlKSYmKGlBKGUpLDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykmJmUuc3RhdGVOb2RlLnBhaXJlZCkpe3ZhciB0PWUubWVtb2l6ZWRQcm9wcztpZihudWxsPT10Lm5hbWV8fCJhdXRvIj09PXQubmFtZSl0aHJvdyBFcnJvcih1KDU0NCkpO3ZhciBuPXQubmFtZTsibm9uZSIhPT0odD1ybCh0LmRlZmF1bHQsdC5zaGFyZSkpJiYoaUQoZSxuLHQsbnVsbCwhMSl8fGlGKGUuY2hpbGQsITEpKX1lPWUuc2libGluZ319ZnVuY3Rpb24gaWooZSx0KXtpZigzMD09PWUudGFnKXt2YXIgbj1lLnN0YXRlTm9kZSxyPWUubWVtb2l6ZWRQcm9wcyxsPXJuKHIsbiksYT1ybChyLmRlZmF1bHQsbi5wYWlyZWQ/ci5zaGFyZTpyLmVudGVyKTsibm9uZSIhPT1hP2lEKGUsbCxhLG51bGwsITEpPyhpQShlKSxuLnBhaXJlZHx8dHx8dTUoZSxyLm9uRW50ZXIpKTppRihlLmNoaWxkLCExKTppQShlKX1lbHNlIGlmKDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKWZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KWlqKGUsdCksZT1lLnNpYmxpbmc7ZWxzZSBpQShlKX1mdW5jdGlvbiBpVShlKXtpZihudWxsIT09aXomJjAhPT1pei5zaXplKXt2YXIgdD1pejtpZigwIT0oMHgxMjAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOyl7aWYoMjIhPT1lLnRhZ3x8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSl7aWYoMzA9PT1lLnRhZyYmMCE9KDB4MTIwMDAwMCZlLmZsYWdzKSl7dmFyIG49ZS5tZW1vaXplZFByb3BzLHI9bi5uYW1lO2lmKG51bGwhPXImJiJhdXRvIiE9PXIpe3ZhciBsPXQuZ2V0KHIpO2lmKHZvaWQgMCE9PWwpe3ZhciBhPXJsKG4uZGVmYXVsdCxuLnNoYXJlKTtpZigibm9uZSIhPT1hJiYoaUQoZSxyLGEsbnVsbCwhMSk/KGwucGFpcmVkPWE9ZS5zdGF0ZU5vZGUsYS5wYWlyZWQ9bCx1NShlLG4ub25TaGFyZSkpOmlGKGUuY2hpbGQsITEpKSx0LmRlbGV0ZShyKSwwPT09dC5zaXplKWJyZWFrfX19aVUoZSl9ZT1lLnNpYmxpbmd9fX1mdW5jdGlvbiBpQihlKXtpZigzMD09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkUHJvcHMsbj1ybih0LGUuc3RhdGVOb2RlKSxyPW51bGwhPT1pej9pei5nZXQobik6dm9pZCAwLGw9cmwodC5kZWZhdWx0LHZvaWQgMCE9PXI/dC5zaGFyZTp0LmV4aXQpOyJub25lIiE9PWwmJihpRChlLG4sbCxudWxsLCExKT92b2lkIDAhPT1yPyhyLnBhaXJlZD1sPWUuc3RhdGVOb2RlLGwucGFpcmVkPXIsaXouZGVsZXRlKG4pLHU1KGUsdC5vblNoYXJlKSk6dTUoZSx0Lm9uRXhpdCk6aUYoZS5jaGlsZCwhMSkpLG51bGwhPT1peiYmaVUoZSl9ZWxzZSBpZigwIT0oMHgyMDAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOylpQihlKSxlPWUuc2libGluZztlbHNlIG51bGwhPT1peiYmaVUoZSl9ZnVuY3Rpb24gaVYoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpe2lmKDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykpe3ZhciB0PWUuc3RhdGVOb2RlO251bGwhPT10LnBhaXJlZCYmKHQucGFpcmVkPW51bGwsaUYoZS5jaGlsZCwhMSkpfWlWKGUpfWU9ZS5zaWJsaW5nfX1mdW5jdGlvbiBpSChlKXtpZigzMD09PWUudGFnKWUuc3RhdGVOb2RlLnBhaXJlZD1udWxsLGlGKGUuY2hpbGQsITEpLGlWKGUpO2Vsc2UgaWYoMCE9KDB4MjAwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspaUgoZSksZT1lLnNpYmxpbmc7ZWxzZSBpVihlKX1mdW5jdGlvbiBpJChlLHQsbixyLGwsYSxvKXtmb3IodmFyIGk9ITE7bnVsbCE9PXQ7KXtpZig1PT09dC50YWcpe3ZhciB1PXQuc3RhdGVOb2RlO2lmKG51bGwhPT1hJiZpSTxhLmxlbmd0aCl7dmFyIHMsYz1hW2lJXSxmPWN4KHUpO2lmKChjLnZpZXd8fGYudmlldykmJihpPSEwKSxzPTA9PSg0JmUuZmxhZ3MpKWlmKGYuY2xpcClzPSEwO2Vsc2V7cz1jLnJlY3Q7dmFyIGQ9Zi5yZWN0O3M9cy55IT09ZC55fHxzLnghPT1kLnh8fHMuaGVpZ2h0IT09ZC5oZWlnaHR8fHMud2lkdGghPT1kLndpZHRofXMmJihlLmZsYWdzfD00KSxmLmFicz9mPSFjLmFiczooYz1jLnJlY3QsZj1mLnJlY3QsZj1jLmhlaWdodCE9PWYuaGVpZ2h0fHxjLndpZHRoIT09Zi53aWR0aCksZiYmKGUuZmxhZ3N8PTMyKX1lbHNlIGUuZmxhZ3N8PTMyOzAhPSg0JmUuZmxhZ3MpJiZjayh1LDA9PT1pST9uOm4rIl8iK2lJLGwpLGkmJjAhPSg0JmUuZmxhZ3MpfHwobnVsbD09PWlSJiYoaVI9W10pLGlSLnB1c2godSxyLHQubWVtb2l6ZWRQcm9wcykpLGlJKyt9ZWxzZSgyMiE9PXQudGFnfHxudWxsPT09dC5tZW1vaXplZFN0YXRlKSYmKDMwPT09dC50YWcmJm8/ZS5mbGFnc3w9MzImdC5mbGFnczppJChlLHQuY2hpbGQsbixyLGwsYSxvKSYmKGk9ITApKTt0PXQuc2libGluZ31yZXR1cm4gaX12YXIgaVE9ITEsaVc9ITEsaXE9ITEsaUs9ITEsaVg9ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsaUc9bnVsbCxpWT0hMSxpSj0hMSxpWj0hMSxpMD0hMTtmdW5jdGlvbiBpMShlKXtmb3IoO251bGwhPT1pRzspe3ZhciB0PWlHLG49ZSxyPXQuYWx0ZXJuYXRlLGw9dC5mbGFncztzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWYoMCE9KDQmbCkmJm51bGwhPT0ocj1udWxsIT09KHI9dC51cGRhdGVRdWV1ZSk/ci5ldmVudHM6bnVsbCkpZm9yKG49MDtuPHIubGVuZ3RoO24rKykobD1yW25dKS5yZWYuaW1wbD1sLm5leHRJbXBsO2JyZWFrO2Nhc2UgMTppZigwIT0oMTAyNCZsKSYmbnVsbCE9PXIpe249dm9pZCAwLGw9ci5tZW1vaXplZFByb3BzLHI9ci5tZW1vaXplZFN0YXRlO3ZhciBhPXQuc3RhdGVOb2RlO3RyeXt2YXIgbz1vTyh0LnR5cGUsbCk7bj1hLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKG8sciksYS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT1ufWNhdGNoKGUpe3NfKHQsdC5yZXR1cm4sZSl9fWJyZWFrO2Nhc2UgMzppZigwIT0oMTAyNCZsKSl7aWYoOT09PShuPShyPXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLm5vZGVUeXBlKSljQihyKTtlbHNlIGlmKDE9PT1uKXN3aXRjaChyLm5vZGVOYW1lKXtjYXNlIkhFQUQiOmNhc2UiSFRNTCI6Y2FzZSJCT0RZIjpjQihyKTticmVhaztkZWZhdWx0OnIudGV4dENvbnRlbnQ9IiJ9fWJyZWFrO2Nhc2UgNTpjYXNlIDI2OmNhc2UgMjc6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OmJyZWFrO2Nhc2UgMzA6biYmbnVsbCE9PXImJihuPXJuKHIubWVtb2l6ZWRQcm9wcyxyLnN0YXRlTm9kZSksIm5vbmUiIT09KGw9cmwoKGw9dC5tZW1vaXplZFByb3BzKS5kZWZhdWx0LGwudXBkYXRlKSkmJmlEKHIsbixsLHIubWVtb2l6ZWRTdGF0ZT1bXSwhMCkpO2JyZWFrO2RlZmF1bHQ6aWYoMCE9KDEwMjQmbCkpdGhyb3cgRXJyb3IodSgxNjMpKX1pZihudWxsIT09KHI9dC5zaWJsaW5nKSl7ci5yZXR1cm49dC5yZXR1cm4saUc9cjticmVha31pRz10LnJldHVybn19ZnVuY3Rpb24gaTIoZSx0LG4pe3ZhciByPW4uZmxhZ3M7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnVpKGUsbiksNCZyJiZpaCg1LG4pO2JyZWFrO2Nhc2UgMTppZih1aShlLG4pLDQmcilpZihlPW4uc3RhdGVOb2RlLG51bGw9PT10KXRyeXtlLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX1lbHNle3ZhciBsPW9PKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpO3Q9dC5tZW1vaXplZFN0YXRlO3RyeXtlLmNvbXBvbmVudERpZFVwZGF0ZShsLHQsZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX19NjQmciYmaXYobiksNTEyJnImJmliKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgMzppZih1aShlLG4pLDY0JnImJm51bGwhPT0oZT1uLnVwZGF0ZVF1ZXVlKSl7aWYodD1udWxsLG51bGwhPT1uLmNoaWxkKXN3aXRjaChuLmNoaWxkLnRhZyl7Y2FzZSAyNzpjYXNlIDU6Y2FzZSAxOnQ9bi5jaGlsZC5zdGF0ZU5vZGV9dHJ5e2xZKGUsdCl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX19YnJlYWs7Y2FzZSAyNzpudWxsPT09dCYmNCZyJiZpVChuKTtjYXNlIDI2OmNhc2UgNTp1aShlLG4pLG51bGw9PT10JiY0JnImJmlrKG4pLDUxMiZyJiZpYihuLG4ucmV0dXJuKTticmVhaztjYXNlIDEyOnVpKGUsbik7YnJlYWs7Y2FzZSAzMTp1aShlLG4pLDQmciYmaTkoZSxuKTticmVhaztjYXNlIDEzOnVpKGUsbiksNCZyJiZpNyhlLG4pLDY0JnImJm51bGwhPT0oZT1uLm1lbW9pemVkU3RhdGUpJiZudWxsIT09KGU9ZS5kZWh5ZHJhdGVkKSYmZnVuY3Rpb24oZSx0KXt2YXIgbj1lLm93bmVyRG9jdW1lbnQ7aWYoIiR+Ij09PWUuZGF0YSllLl9yZWFjdFJldHJ5PXQ7ZWxzZSBpZigiJD8iIT09ZS5kYXRhfHwibG9hZGluZyIhPT1uLnJlYWR5U3RhdGUpdCgpO2Vsc2V7dmFyIHI9ZnVuY3Rpb24oKXt0KCksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKX07bi5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKSxlLl9yZWFjdFJldHJ5PXJ9fShlLG49c1QuYmluZChudWxsLG4pKTticmVhaztjYXNlIDIyOmlmKCEocj1udWxsIT09bi5tZW1vaXplZFN0YXRlfHxpUSkpe3Q9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGV8fGlXLGw9aVE7dmFyIGE9aVc7aVE9ciwoaVc9dCkmJiFhP2Z1bmN0aW9uIGUodCxuLHIpe2ZvcihyPXImJjAhPSg4NzcyJm4uc3VidHJlZUZsYWdzKSxuPW4uY2hpbGQ7bnVsbCE9PW47KXt2YXIgbD1uLmFsdGVybmF0ZSxhPXQsbz1uLGk9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZShhLG8sciksaWgoNCxvKTticmVhaztjYXNlIDE6aWYoZShhLG8sciksImZ1bmN0aW9uIj09dHlwZW9mKGE9KGw9bykuc3RhdGVOb2RlKS5jb21wb25lbnREaWRNb3VudCl0cnl7YS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGUpe3NfKGwsbC5yZXR1cm4sZSl9aWYobnVsbCE9PShhPShsPW8pLnVwZGF0ZVF1ZXVlKSl7dmFyIHU9bC5zdGF0ZU5vZGU7dHJ5e3ZhciBzPWEuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihudWxsIT09cylmb3IoYS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwsYT0wO2E8cy5sZW5ndGg7YSsrKWxHKHNbYV0sdSl9Y2F0Y2goZSl7c18obCxsLnJldHVybixlKX19ciYmNjQmaSYmaXYobyksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSAyNzppVChvKTtjYXNlIDI2OmNhc2UgNTppZig1PT09by50YWcpe3U9bztmb3IodmFyIGM9dS5yZXR1cm47bnVsbCE9PWMmJihpUChjKSYmY1UodS5zdGF0ZU5vZGUsYy5zdGF0ZU5vZGUpLCFpXyhjKSk7KWM9Yy5yZXR1cm59ZShhLG8sciksciYmbnVsbD09PWwmJjQmaSYmaWsobyksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSAxMjplKGEsbyxyKTticmVhaztjYXNlIDMxOmUoYSxvLHIpLHImJjQmaSYmaTkoYSxvKTticmVhaztjYXNlIDEzOmUoYSxvLHIpLHImJjQmaSYmaTcoYSxvKTticmVhaztjYXNlIDIyOm51bGw9PT1vLm1lbW9pemVkU3RhdGUmJmUoYSxvLHIpLGliKG8sby5yZXR1cm4pO2JyZWFrO2Nhc2UgMzA6ZShhLG8sciksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSA3OmliKG8sby5yZXR1cm4pO2RlZmF1bHQ6ZShhLG8scil9bj1uLnNpYmxpbmd9fShlLG4sMCE9KDg3NzImbi5zdWJ0cmVlRmxhZ3MpKTp1aShlLG4pLGlRPWwsaVc9YX1icmVhaztjYXNlIDMwOnVpKGUsbiksNTEyJnImJmliKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgNzo1MTImciYmaWIobixuLnJldHVybik7ZGVmYXVsdDp1aShlLG4pfX1mdW5jdGlvbiBpMyhlLHQpe2ZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KShmdW5jdGlvbiBlKHQsbil7c3dpdGNoKHQudGFnKXtjYXNlIDU6Y2FzZSAyNjp0cnl7dmFyIHI9dC5zdGF0ZU5vZGU7aWYobil7dmFyIGw9ci5zdHlsZTsiZnVuY3Rpb24iPT10eXBlb2YgbC5zZXRQcm9wZXJ0eT9sLnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOmwuZGlzcGxheT0ibm9uZSJ9ZWxzZXt2YXIgYT10LnN0YXRlTm9kZSxvPXQubWVtb2l6ZWRQcm9wcy5zdHlsZSxpPW51bGwhPW8mJm8uaGFzT3duUHJvcGVydHkoImRpc3BsYXkiKT9vLmRpc3BsYXk6bnVsbDthLnN0eWxlLmRpc3BsYXk9bnVsbD09aXx8ImJvb2xlYW4iPT10eXBlb2YgaT8iIjooIiIraSkudHJpbSgpfX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfSFmdW5jdGlvbiB0KG4scil7aWYoMHg0MDAwMDAwJm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KXtlOnt2YXIgbD1uO3N3aXRjaChsLnRhZyl7Y2FzZSA0OmUobCxyKTticmVhayBlO2Nhc2UgMjI6bnVsbD09PWwubWVtb2l6ZWRTdGF0ZSYmdChsLHIpO2JyZWFrIGU7ZGVmYXVsdDp0KGwscil9fW49bi5zaWJsaW5nfX0odCxuKTticmVhaztjYXNlIDY6dHJ5e3Quc3RhdGVOb2RlLm5vZGVWYWx1ZT1uPyIiOnQubWVtb2l6ZWRQcm9wcyx0cj0hMH1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfWJyZWFrO2Nhc2UgMTg6dHJ5e3ZhciB1PXQuc3RhdGVOb2RlO24/Y3codSwhMCk6Y3codC5zdGF0ZU5vZGUsITEpfWNhdGNoKGUpe3NfKHQsdC5yZXR1cm4sZSl9YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOm51bGw9PT10Lm1lbW9pemVkU3RhdGUmJmkzKHQsbik7YnJlYWs7ZGVmYXVsdDppMyh0LG4pfX0pKGUsdCksZT1lLnNpYmxpbmd9dmFyIGk0PW51bGwsaTg9ITE7ZnVuY3Rpb24gaTUoZSx0LG4pe2ZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWk2KGUsdCxuKSxuPW4uc2libGluZ31mdW5jdGlvbiBpNihlLHQsbil7aWYoZV8mJiJmdW5jdGlvbiI9PXR5cGVvZiBlXy5vbkNvbW1pdEZpYmVyVW5tb3VudCl0cnl7ZV8ub25Db21taXRGaWJlclVubW91bnQoZXgsbil9Y2F0Y2goZSl7fXN3aXRjaChuLnRhZyl7Y2FzZSAyNjppV3x8aXcobix0KSxpNShlLHQsbiksbi5tZW1vaXplZFN0YXRlP24ubWVtb2l6ZWRTdGF0ZS5jb3VudC0tOm4uc3RhdGVOb2RlJiYobj1uLnN0YXRlTm9kZSkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKTticmVhaztjYXNlIDI3OmlXfHxpdyhuLHQpO3ZhciByPWk0LGw9aTg7Y3kobi50eXBlKSYmKGk0PW4uc3RhdGVOb2RlLGk4PSExKSxpNShlLHQsbiksY0cobi5zdGF0ZU5vZGUpLGk0PXIsaTg9bDticmVhaztjYXNlIDU6aVd8fGl3KG4sdCksNT09PW4udGFnJiZpeChuKTtjYXNlIDY6aWYocj1pNCxsPWk4LGk0PW51bGwsaTUoZSx0LG4pLGk0PXIsaTg9bCxudWxsIT09aTQpaWYoaTgpdHJ5eyg5PT09aTQubm9kZVR5cGU/aTQuYm9keToiSFRNTCI9PT1pNC5ub2RlTmFtZT9pNC5vd25lckRvY3VtZW50LmJvZHk6aTQpLnJlbW92ZUNoaWxkKG4uc3RhdGVOb2RlKSx0cj0hMH1jYXRjaChlKXtzXyhuLHQsZSl9ZWxzZSB0cnl7aTQucmVtb3ZlQ2hpbGQobi5zdGF0ZU5vZGUpLHRyPSEwfWNhdGNoKGUpe3NfKG4sdCxlKX1icmVhaztjYXNlIDE4Om51bGwhPT1pNCYmKGk4PyhjYig5PT09KGU9aTQpLm5vZGVUeXBlP2UuYm9keToiSFRNTCI9PT1lLm5vZGVOYW1lP2Uub3duZXJEb2N1bWVudC5ib2R5OmUsbi5zdGF0ZU5vZGUpLGZHKGUpKTpjYihpNCxuLnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWk0LGw9aTgsaTQ9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxpOD0hMCxpNShlLHQsbiksaTQ9cixpOD1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZygyLG4sdCksaVd8fGlnKDQsbix0KSxpNShlLHQsbik7YnJlYWs7Y2FzZSAxOmlXfHwoaXcobix0KSwiZnVuY3Rpb24iPT10eXBlb2Yocj1uLnN0YXRlTm9kZSkuY29tcG9uZW50V2lsbFVubW91bnQmJml5KG4sdCxyKSksaTUoZSx0LG4pO2JyZWFrO2Nhc2UgMjE6ZGVmYXVsdDppNShlLHQsbik7YnJlYWs7Y2FzZSAyMjppVz0ocj1pVyl8fG51bGwhPT1uLm1lbW9pemVkU3RhdGUsaTUoZSx0LG4pLGlXPXI7YnJlYWs7Y2FzZSAzMDppdyhuLHQpLGk1KGUsdCxuKTticmVhaztjYXNlIDc6aVd8fGl3KG4sdCksaTUoZSx0LG4pfX1mdW5jdGlvbiBpOShlLHQpe2lmKG51bGw9PT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpKXtlPWUuZGVoeWRyYXRlZDt0cnl7ZkcoZSl9Y2F0Y2goZSl7c18odCx0LnJldHVybixlKX19fWZ1bmN0aW9uIGk3KGUsdCl7aWYobnVsbD09PXQubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PShlPXQuYWx0ZXJuYXRlKSYmbnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT0oZT1lLmRlaHlkcmF0ZWQpKXRyeXtmRyhlKX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiB1ZShlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOmNhc2UgMTk6dmFyIHQ9ZS5zdGF0ZU5vZGU7cmV0dXJuIG51bGw9PT10JiYodD1lLnN0YXRlTm9kZT1uZXcgaVgpLHQ7Y2FzZSAyMjpyZXR1cm4gbnVsbD09PSh0PShlPWUuc3RhdGVOb2RlKS5fcmV0cnlDYWNoZSkmJih0PWUuX3JldHJ5Q2FjaGU9bmV3IGlYKSx0O2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0MzUsZS50YWcpKX19KGUpO3QuZm9yRWFjaChmdW5jdGlvbih0KXtpZighbi5oYXModCkpe24uYWRkKHQpO3ZhciByPXNPLmJpbmQobnVsbCxlLHQpO3QudGhlbihyLHIpfX0pfWZ1bmN0aW9uIHV0KGUsdCxuKXt2YXIgcj10LmRlbGV0aW9ucztpZihudWxsIT09cilmb3IodmFyIGw9MDtsPHIubGVuZ3RoO2wrKyl7dmFyIGE9cltsXSxvPWUsaT10LHM9aTtlOmZvcig7bnVsbCE9PXM7KXtzd2l0Y2gocy50YWcpe2Nhc2UgMjc6aWYoY3kocy50eXBlKSl7aTQ9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZX1icmVhaztjYXNlIDU6aTQ9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0Omk0PXMuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8saTg9ITA7YnJlYWsgZX1zPXMucmV0dXJufWlmKG51bGw9PT1pNCl0aHJvdyBFcnJvcih1KDE2MCkpO2k2KG8saSxhKSxpND1udWxsLGk4PSExLG51bGwhPT0obz1hLmFsdGVybmF0ZSkmJihvLnJldHVybj1udWxsKSxhLnJldHVybj1udWxsfWlmKDEzODg2JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXVyKHQsZSxuKSx0PXQuc2libGluZ312YXIgdW49bnVsbDtmdW5jdGlvbiB1cihlLHQsbil7dmFyIHI9ZS5hbHRlcm5hdGUsbD1lLmZsYWdzO3N3aXRjaChlLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OnV0KHQsZSxuKSx1bChlKSw0JmwmJihpZygzLGUsZS5yZXR1cm4pLGloKDMsZSksaWcoNSxlLGUucmV0dXJuKSk7YnJlYWs7Y2FzZSAxOnV0KHQsZSxuKSx1bChlKSw1MTImbCYmKGlXfHxudWxsPT09cnx8aXcocixyLnJldHVybikpLDY0JmwmJmlRJiZudWxsIT09KGU9ZS51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1lLmNhbGxiYWNrcykmJih0PWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcyxlLnNoYXJlZC5oaWRkZW5DYWxsYmFja3M9bnVsbD09PXQ/cjp0LmNvbmNhdChyKSk7YnJlYWs7Y2FzZSAyNjp2YXIgYT11bjtpZih1dCh0LGUsbiksdWwoZSksNTEyJmwmJihpV3x8bnVsbD09PXJ8fGl3KHIsci5yZXR1cm4pKSw0JmwpaWYobj1udWxsIT09cj9yLm1lbW9pemVkU3RhdGU6bnVsbCx0PWUubWVtb2l6ZWRTdGF0ZSxudWxsPT09cilpZihudWxsPT09dClpZihudWxsPT09ZS5zdGF0ZU5vZGUpe2U6e3I9ZS50eXBlLHQ9ZS5tZW1vaXplZFByb3BzLG49YS5vd25lckRvY3VtZW50fHxhO3Q6c3dpdGNoKHIpe2Nhc2UidGl0bGUiOighKGw9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKVswXSl8fGxbZVpdfHxsW2VXXXx8Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWwubmFtZXNwYWNlVVJJfHxsLmhhc0F0dHJpYnV0ZSgiaXRlbXByb3AiKSkmJihsPW4uY3JlYXRlRWxlbWVudChyKSxuLmhlYWQuaW5zZXJ0QmVmb3JlKGwsbi5xdWVyeVNlbGVjdG9yKCJoZWFkID4gdGl0bGUiKSkpLGNsKGwscix0KSxsW2VXXT1lLGU4KGwpLHI9bDticmVhayBlO2Nhc2UibGluayI6aWYoYT1mbCgibGluayIsImhyZWYiLG4pLmdldChyKyh0LmhyZWZ8fCIiKSkpe2Zvcih2YXIgbz0wO288YS5sZW5ndGg7bysrKWlmKChsPWFbb10pLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09KG51bGw9PXQuaHJlZnx8IiI9PT10LmhyZWY/bnVsbDp0LmhyZWYpJiZsLmdldEF0dHJpYnV0ZSgicmVsIik9PT0obnVsbD09dC5yZWw/bnVsbDp0LnJlbCkmJmwuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpPT09KG51bGw9PXQudGl0bGU/bnVsbDp0LnRpdGxlKSYmbC5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik9PT0obnVsbD09dC5jcm9zc09yaWdpbj9udWxsOnQuY3Jvc3NPcmlnaW4pKXthLnNwbGljZShvLDEpO2JyZWFrIHR9fWNsKGw9bi5jcmVhdGVFbGVtZW50KHIpLHIsdCksbi5oZWFkLmFwcGVuZENoaWxkKGwpO2JyZWFrO2Nhc2UibWV0YSI6aWYoYT1mbCgibWV0YSIsImNvbnRlbnQiLG4pLmdldChyKyh0LmNvbnRlbnR8fCIiKSkpe2ZvcihvPTA7bzxhLmxlbmd0aDtvKyspaWYoKGw9YVtvXSkuZ2V0QXR0cmlidXRlKCJjb250ZW50Iik9PT0obnVsbD09dC5jb250ZW50P251bGw6IiIrdC5jb250ZW50KSYmbC5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PShudWxsPT10Lm5hbWU/bnVsbDp0Lm5hbWUpJiZsLmdldEF0dHJpYnV0ZSgicHJvcGVydHkiKT09PShudWxsPT10LnByb3BlcnR5P251bGw6dC5wcm9wZXJ0eSkmJmwuZ2V0QXR0cmlidXRlKCJodHRwLWVxdWl2Iik9PT0obnVsbD09dC5odHRwRXF1aXY/bnVsbDp0Lmh0dHBFcXVpdikmJmwuZ2V0QXR0cmlidXRlKCJjaGFyc2V0Iik9PT0obnVsbD09dC5jaGFyU2V0P251bGw6dC5jaGFyU2V0KSl7YS5zcGxpY2UobywxKTticmVhayB0fX1jbChsPW4uY3JlYXRlRWxlbWVudChyKSxyLHQpLG4uaGVhZC5hcHBlbmRDaGlsZChsKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoNDY4LHIpKX1sW2VXXT1lLGU4KGwpLHI9bH1lLnN0YXRlTm9kZT1yfWVsc2UgZmEoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpO2Vsc2UgZS5zdGF0ZU5vZGU9YzcoYSx0LGUubWVtb2l6ZWRQcm9wcyk7ZWxzZSBuIT09dD8obnVsbD09PW4/bnVsbCE9PXIuc3RhdGVOb2RlJiYocj1yLnN0YXRlTm9kZSkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKTpuLmNvdW50LS0sbnVsbD09PXQ/ZmEoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpOmM3KGEsdCxlLm1lbW9pemVkUHJvcHMpKTpudWxsPT09dCYmbnVsbCE9PWUuc3RhdGVOb2RlJiZpUyhlLGUubWVtb2l6ZWRQcm9wcyxyLm1lbW9pemVkUHJvcHMpO2JyZWFrO2Nhc2UgMjc6dXQodCxlLG4pLHVsKGUpLDUxMiZsJiYoaVd8fG51bGw9PT1yfHxpdyhyLHIucmV0dXJuKSksbnVsbCE9PXImJjQmbCYmaVMoZSxlLm1lbW9pemVkUHJvcHMsci5tZW1vaXplZFByb3BzKTticmVhaztjYXNlIDU6aWYoYT1pcSxpcT0hMSx1dCh0LGUsbiksaXE9YSx1bChlKSw1MTImbCYmKGlXfHxudWxsPT09cnx8aXcocixyLnJldHVybikpLDMyJmUuZmxhZ3Mpe3Q9ZS5zdGF0ZU5vZGU7dHJ5e3RrKHQsIiIpLHRyPSEwfWNhdGNoKHQpe3NfKGUsZS5yZXR1cm4sdCl9fTQmbCYmbnVsbCE9ZS5zdGF0ZU5vZGUmJih0PWUubWVtb2l6ZWRQcm9wcyxpUyhlLHQsbnVsbCE9PXI/ci5tZW1vaXplZFByb3BzOnQpKSwxMDI0JmwmJihpSz0hMCk7YnJlYWs7Y2FzZSA2OmlmKHV0KHQsZSxuKSx1bChlKSw0Jmwpe2lmKG51bGw9PT1lLnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2MikpO3I9ZS5tZW1vaXplZFByb3BzLHQ9ZS5zdGF0ZU5vZGU7dHJ5e3Qubm9kZVZhbHVlPXIsdHI9ITB9Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX19YnJlYWs7Y2FzZSAzOmlmKHRyPSExLGZyPW51bGwsYT11bix1bj1jWih0LmNvbnRhaW5lckluZm8pLHV0KHQsZSxuKSx1bj1hLHVsKGUpLDQmbCYmbnVsbCE9PXImJnIubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e2ZHKHQuY29udGFpbmVySW5mbyl9Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX1pSyYmKGlLPSExLGZ1bmN0aW9uIGUodCl7aWYoMTAyNCZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10Oyl7dmFyIG49dDtlKG4pLDU9PT1uLnRhZyYmMTAyNCZuLmZsYWdzJiZuLnN0YXRlTm9kZS5yZXNldCgpLHQ9dC5zaWJsaW5nfX0oZSkpLHRyPSExO2JyZWFrO2Nhc2UgNDpyPWlxLGlxPWlRLGw9dGwoKSxhPXVuLHVuPWNaKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHV0KHQsZSxuKSx1bChlKSx1bj1hLHRyJiZpSiYmKGlaPSEwKSx0cj1sLGlxPXI7YnJlYWs7Y2FzZSAxMjp1dCh0LGUsbiksdWwoZSk7YnJlYWs7Y2FzZSAzMTpjYXNlIDE5OnV0KHQsZSxuKSx1bChlKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1ZShlLHIpKTticmVhaztjYXNlIDEzOnV0KHQsZSxuKSx1bChlKSw4MTkyJmUuY2hpbGQuZmxhZ3MmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPShudWxsIT09ciYmbnVsbCE9PXIubWVtb2l6ZWRTdGF0ZSkmJih1Qj1ldigpKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1ZShlLHIpKTticmVhaztjYXNlIDIyOmE9bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxvPW51bGwhPT1yJiZudWxsIT09ci5tZW1vaXplZFN0YXRlO3ZhciBpPWlRLHM9aVcsYz1pcTtpUT1pfHxhLGlxPWN8fGEsaVc9c3x8byx1dCh0LGUsbiksaVc9cyxpcT1jLGlRPWksdWwoZSksODE5MiZsJiYoKHQ9ZS5zdGF0ZU5vZGUpLl92aXNpYmlsaXR5PWE/LTImdC5fdmlzaWJpbGl0eToxfHQuX3Zpc2liaWxpdHksYSYmKG51bGw9PT1yfHxvfHxpUXx8aVd8fGZ1bmN0aW9uIGUodCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3ZhciBuPXQ7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWcoNCxuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgMTppdyhuLG4ucmV0dXJuKTt2YXIgcj1uLnN0YXRlTm9kZTsiZnVuY3Rpb24iPT10eXBlb2Ygci5jb21wb25lbnRXaWxsVW5tb3VudCYmaXkobixuLnJldHVybixyKSxlKG4pO2JyZWFrO2Nhc2UgMjc6Y0cobi5zdGF0ZU5vZGUpO2Nhc2UgMjY6Y2FzZSA1Oml3KG4sbi5yZXR1cm4pLDU9PT1uLnRhZyYmaXgobiksZShuKTticmVhaztjYXNlIDIyOm51bGw9PT1uLm1lbW9pemVkU3RhdGUmJmUobik7YnJlYWs7Y2FzZSAzMDppdyhuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgNzppdyhuLG4ucmV0dXJuKTtkZWZhdWx0OmUobil9dD10LnNpYmxpbmd9fShlKSksIWEmJmlxfHxpMyhlLGEpKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmbnVsbCE9PSh0PXIucmV0cnlRdWV1ZSkmJihyLnJldHJ5UXVldWU9bnVsbCx1ZShlLHQpKTticmVhaztjYXNlIDMwOjUxMiZsJiYoaVd8fG51bGw9PT1yfHxpdyhyLHIucmV0dXJuKSksbD10bCgpLGE9aUosbz0oMHgxM2ZmZmYwMCZuKT09PW4saT1lLm1lbW9pemVkUHJvcHMsaUo9byYmIm5vbmUiIT09cmwoaS5kZWZhdWx0LGkudXBkYXRlKSx1dCh0LGUsbiksdWwoZSksbyYmbnVsbCE9PXImJnRyJiYoZS5mbGFnc3w9NCksaUo9YSx0cj1sO2JyZWFrO2Nhc2UgMjE6YnJlYWs7Y2FzZSA3OnImJm51bGwhPT1yLnN0YXRlTm9kZSYmKHIuc3RhdGVOb2RlLl9mcmFnbWVudEZpYmVyPWUpO2RlZmF1bHQ6dXQodCxlLG4pLHVsKGUpfX1mdW5jdGlvbiB1bChlKXt2YXIgdD1lLmZsYWdzO2lmKDImdCl7dHJ5e2Zvcih2YXIgbixyPW51bGwsbD1lLnJldHVybjtudWxsIT09bDspe2lmKGlQKGwpKXt2YXIgYT1sLnN0YXRlTm9kZTtudWxsPT09cj9yPVthXTpyLnB1c2goYSl9aWYoaV8obCkpe249bDticmVha31sPWwucmV0dXJufWlmKG51bGw9PW4pdGhyb3cgRXJyb3IodSgxNjApKTtzd2l0Y2gobi50YWcpe2Nhc2UgMjc6dmFyIG89bi5zdGF0ZU5vZGUsaT1pTihlKTtpQyhlLGksbyxyKTticmVhaztjYXNlIDU6dmFyIHM9bi5zdGF0ZU5vZGU7MzImbi5mbGFncyYmKHRrKHMsIiIpLG4uZmxhZ3MmPS0zMyk7dmFyIGM9aU4oZSk7aUMoZSxjLHMscik7YnJlYWs7Y2FzZSAzOmNhc2UgNDp2YXIgZj1uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGQ9aU4oZSk7IWZ1bmN0aW9uIGUodCxuLHIsbCl7dmFyIGE9dC50YWc7aWYoNT09PWF8fDY9PT1hKWE9dC5zdGF0ZU5vZGUsbj8oOT09PXIubm9kZVR5cGU/ci5ib2R5OiJIVE1MIj09PXIubm9kZU5hbWU/ci5vd25lckRvY3VtZW50LmJvZHk6cikuaW5zZXJ0QmVmb3JlKGEsbik6KChuPTk9PT1yLm5vZGVUeXBlP3IuYm9keToiSFRNTCI9PT1yLm5vZGVOYW1lP3Iub3duZXJEb2N1bWVudC5ib2R5OnIpLmFwcGVuZENoaWxkKGEpLG51bGwhPShyPXIuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9dFQpKSxpRSh0LGwpLHRyPSEwO2Vsc2UgaWYoNCE9PWEmJigyNz09PWEmJmN5KHQudHlwZSkmJihyPXQuc3RhdGVOb2RlLG49bnVsbCksbnVsbCE9PSh0PXQuY2hpbGQpKSlmb3IoZSh0LG4scixsKSx0PXQuc2libGluZztudWxsIT09dDspZSh0LG4scixsKSx0PXQuc2libGluZ30oZSxkLGYscik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDE2MSkpfX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfWUuZmxhZ3MmPS0zfTQwOTYmdCYmKGUuZmxhZ3MmPS00MDk3KX1mdW5jdGlvbiB1YShlLHQpe2lmKDkyNzAmdC5zdWJ0cmVlRmxhZ3MpZm9yKHQ9dC5jaGlsZDtudWxsIT09dDspdW8odCxlKSx0PXQuc2libGluZztlbHNlIWZ1bmN0aW9uIGUodCxuKXtmb3IodD10LmNoaWxkO251bGwhPT10Oyl7aWYoMzA9PT10LnRhZyl7dmFyIHI9dC5tZW1vaXplZFByb3BzLGw9dC5zdGF0ZU5vZGUsYT1ybihyLGwpLG89cmwoci5kZWZhdWx0LHIudXBkYXRlKTtpZihuKXZhciBpPW51bGw9PT0obD1sLmNsb25lcyk/bnVsbDpsLm1hcChjXyk7ZWxzZSBpPXQubWVtb2l6ZWRTdGF0ZSx0Lm1lbW9pemVkU3RhdGU9bnVsbDtsPXQ7dmFyIHU9dC5jaGlsZDtpST0wLGE9aSQobCx1LGEsYSxvLGksITEpLDAhPSg0JnQuZmxhZ3MpJiZhJiYobnx8dTUodCxyLm9uVXBkYXRlKSl9ZWxzZSAwIT0oMHgyMDAwMDAwJnQuc3VidHJlZUZsYWdzKSYmZSh0LG4pO3Q9dC5zaWJsaW5nfX0odCwhMSl9ZnVuY3Rpb24gdW8oZSx0KXt2YXIgbj1lLmFsdGVybmF0ZTtpZihudWxsPT09bilpaihlLCExKTtlbHNlIHN3aXRjaChlLnRhZyl7Y2FzZSAzOmlmKGkwPWlZPSExLGlNKCksdWEodCxlKSwhaVkmJiFpWil7aWYobnVsbCE9PShlPWlSKSlmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrPTMpe249ZVtyXTt2YXIgbD1lW3IrMV07Y1MobixlW3IrMl0pLG51bGwhPT0obj1uLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmbi5hbmltYXRlKHtvcGFjaXR5OlswLDBdLHBvaW50ZXJFdmVudHM6WyJub25lIiwibm9uZSJdfSx7ZHVyYXRpb246MCxmaWxsOiJmb3J3YXJkcyIscHNldWRvRWxlbWVudDoiOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAoIitsKyIpIn0pfW51bGwhPT0oZT05PT09KGU9dC5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmIiI9PT1lLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZSYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPSJub25lIixlLmFuaW1hdGUoe29wYWNpdHk6WzAsMF0scG9pbnRlckV2ZW50czpbIm5vbmUiLCJub25lIl19LHtkdXJhdGlvbjowLGZpbGw6ImZvcndhcmRzIixwc2V1ZG9FbGVtZW50OiI6OnZpZXctdHJhbnNpdGlvbi1ncm91cChyb290KSJ9KSxlLmFuaW1hdGUoe3dpZHRoOlswLDBdLGhlaWdodDpbMCwwXX0se2R1cmF0aW9uOjAsZmlsbDoiZm9yd2FyZHMiLHBzZXVkb0VsZW1lbnQ6Ijo6dmlldy10cmFuc2l0aW9uIn0pKSxpMD0hMH1pUj1udWxsO2JyZWFrO2Nhc2UgNTpkZWZhdWx0OnVhKHQsZSk7YnJlYWs7Y2FzZSA0OnI9aVksaVk9ITEsdWEodCxlKSxpWSYmKGlaPSEwKSxpWT1yO2JyZWFrO2Nhc2UgMjI6bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT1uLm1lbW9pemVkU3RhdGU/aWooZSwhMSk6dWEodCxlKSk7YnJlYWs7Y2FzZSAzMDpyPWlZLGw9aU0oKSxpWT0hMSx1YSh0LGUpLGlZJiYoZS5mbGFnc3w9NCk7dmFyIGE9ZS5tZW1vaXplZFByb3BzLG89ZS5zdGF0ZU5vZGU7dD1ybihhLG8pLG89cm4obi5tZW1vaXplZFByb3BzLG8pO3ZhciBpPXJsKGEuZGVmYXVsdCxhLnVwZGF0ZSk7Im5vbmUiPT09aT90PSExOihhPW4ubWVtb2l6ZWRTdGF0ZSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuPWUuY2hpbGQsaUk9MCx0PWkkKGUsbix0LG8saSxhLCEwKSxpSSE9PShudWxsPT09YT8wOmEubGVuZ3RoKSYmKGUuZmxhZ3N8PTMyKSksMCE9KDQmZS5mbGFncykmJnQ/KHU1KGUsZS5tZW1vaXplZFByb3BzLm9uVXBkYXRlKSxpUj1sKTpudWxsIT09bCYmKGwucHVzaC5hcHBseShsLGlSKSxpUj1sKSxpWT0wIT0oMzImZS5mbGFncyl8fHJ9fWZ1bmN0aW9uIHVpKGUsdCl7aWYoODc3MiZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10OylpMihlLHQuYWx0ZXJuYXRlLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHV1KGUsdCl7dmFyIG49bnVsbDtudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksZT1udWxsLG51bGwhPT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sJiYoZT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGUhPT1uJiYobnVsbCE9ZSYmZS5yZWZDb3VudCsrLG51bGwhPW4mJmxzKG4pKX1mdW5jdGlvbiB1cyhlLHQpe2U9bnVsbCxudWxsIT09dC5hbHRlcm5hdGUmJihlPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLCh0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSkhPT1lJiYodC5yZWZDb3VudCsrLG51bGwhPWUmJmxzKGUpKX1mdW5jdGlvbiB1YyhlLHQsbixyKXt2YXIgbD0oMHgxM2ZmZmYwMCZuKT09PW47aWYodC5zdWJ0cmVlRmxhZ3MmKGw/MTAyNjI6MTAyNTYpKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXVmKGUsdCxuLHIpLHQ9dC5zaWJsaW5nO2Vsc2UgbCYmZnVuY3Rpb24gZSh0KXtmb3IodD10LmNoaWxkO251bGwhPT10OykzMD09PXQudGFnP2lGKHQuY2hpbGQsITEpOjAhPSgweDIwMDAwMDAmdC5zdWJ0cmVlRmxhZ3MpJiZlKHQpLHQ9dC5zaWJsaW5nfSh0KX1mdW5jdGlvbiB1ZihlLHQsbixyKXt2YXIgbD0oMHgxM2ZmZmYwMCZuKT09PW47bCYmbnVsbD09PXQuYWx0ZXJuYXRlJiZudWxsIT09dC5yZXR1cm4mJm51bGwhPT10LnJldHVybi5hbHRlcm5hdGUmJmlIKHQpO3ZhciBhPXQuZmxhZ3M7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnVjKGUsdCxuLHIpLDIwNDgmYSYmaWgoOSx0KTticmVhaztjYXNlIDE6Y2FzZSAzMTpjYXNlIDEzOmRlZmF1bHQ6dWMoZSx0LG4scik7YnJlYWs7Y2FzZSAzOnVjKGUsdCxuLHIpLGwmJmkwJiYoInJvb3QiPT09KGU9OT09PShlPWUuY29udGFpbmVySW5mbykubm9kZVR5cGU/ZS5ib2R5OiJIVE1MIj09PWUubm9kZU5hbWU/ZS5vd25lckRvY3VtZW50LmJvZHk6ZSkuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lJiYoZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9IiIpLG51bGwhPT0oZT1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmIm5vbmUiPT09ZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWUmJihlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT0iIikpLDIwNDgmYSYmKGE9bnVsbCxudWxsIT09dC5hbHRlcm5hdGUmJihhPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLCh0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSkhPT1hJiYodC5yZWZDb3VudCsrLG51bGwhPWEmJmxzKGEpKSk7YnJlYWs7Y2FzZSAxMjppZigyMDQ4JmEpe3VjKGUsdCxuLHIpLGE9dC5zdGF0ZU5vZGU7dHJ5e3ZhciBvPXQubWVtb2l6ZWRQcm9wcyxpPW8uaWQsdT1vLm9uUG9zdENvbW1pdDsiZnVuY3Rpb24iPT10eXBlb2YgdSYmdShpLG51bGw9PT10LmFsdGVybmF0ZT8ibW91bnQiOiJ1cGRhdGUiLGEucGFzc2l2ZUVmZmVjdER1cmF0aW9uLC0wKX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1lbHNlIHVjKGUsdCxuLHIpO2JyZWFrO2Nhc2UgMjM6YnJlYWs7Y2FzZSAyMjpvPXQuc3RhdGVOb2RlLGk9dC5hbHRlcm5hdGUsbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZT8obCYmbnVsbCE9PWkmJm51bGw9PT1pLm1lbW9pemVkU3RhdGUmJmlIKGkpLDImby5fdmlzaWJpbGl0eT91YyhlLHQsbixyKTp1ZChlLHQpKToobCYmbnVsbCE9PWkmJm51bGwhPT1pLm1lbW9pemVkU3RhdGUmJmlIKHQpLDImby5fdmlzaWJpbGl0eT91YyhlLHQsbixyKTooby5fdmlzaWJpbGl0eXw9MixmdW5jdGlvbiBlKHQsbixyLGwsYSl7Zm9yKGE9YSYmMCE9KDEwMjU2Jm4uc3VidHJlZUZsYWdzKSxuPW4uY2hpbGQ7bnVsbCE9PW47KXt2YXIgbz1uLGk9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZSh0LG8scixsLGEpLGloKDgsbyk7YnJlYWs7Y2FzZSAyMzpicmVhaztjYXNlIDIyOnZhciB1PW8uc3RhdGVOb2RlO251bGwhPT1vLm1lbW9pemVkU3RhdGU/MiZ1Ll92aXNpYmlsaXR5P2UodCxvLHIsbCxhKTp1ZCh0LG8pOih1Ll92aXNpYmlsaXR5fD0yLGUodCxvLHIsbCxhKSksYSYmMjA0OCZpJiZ1dShvLmFsdGVybmF0ZSxvKTticmVhaztjYXNlIDI0OmUodCxvLHIsbCxhKSxhJiYyMDQ4JmkmJnVzKG8uYWx0ZXJuYXRlLG8pO2JyZWFrO2RlZmF1bHQ6ZSh0LG8scixsLGEpfW49bi5zaWJsaW5nfX0oZSx0LG4sciwwIT0oMTAyNTYmdC5zdWJ0cmVlRmxhZ3MpKSkpLDIwNDgmYSYmdXUoaSx0KTticmVhaztjYXNlIDI0OnVjKGUsdCxuLHIpLDIwNDgmYSYmdXModC5hbHRlcm5hdGUsdCk7YnJlYWs7Y2FzZSAzMDpsJiZudWxsIT09KGE9dC5hbHRlcm5hdGUpJiYoaUYoYS5jaGlsZCwhMCksaUYodC5jaGlsZCwhMCkpLHVjKGUsdCxuLHIpfX1mdW5jdGlvbiB1ZChlLHQpe2lmKDEwMjU2JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXt2YXIgbj10LHI9bi5mbGFncztzd2l0Y2gobi50YWcpe2Nhc2UgMjI6dWQoZSxuKSwyMDQ4JnImJnV1KG4uYWx0ZXJuYXRlLG4pO2JyZWFrO2Nhc2UgMjQ6dWQoZSxuKSwyMDQ4JnImJnVzKG4uYWx0ZXJuYXRlLG4pO2JyZWFrO2RlZmF1bHQ6dWQoZSxuKX10PXQuc2libGluZ319dmFyIHVwPTgxOTI7ZnVuY3Rpb24gdW0oZSx0LG4pe2lmKGUuc3VidHJlZUZsYWdzJnVwKWZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KXVoKGUsdCxuKSxlPWUuc2libGluZ31mdW5jdGlvbiB1aChlLHQsbil7c3dpdGNoKGUudGFnKXtjYXNlIDI2OnVtKGUsdCxuKSxlLmZsYWdzJnVwJiYobnVsbCE9PWUubWVtb2l6ZWRTdGF0ZT9mdW5jdGlvbihlLHQsbixyKXtpZigic3R5bGVzaGVldCI9PT1uLnR5cGUmJigic3RyaW5nIiE9dHlwZW9mIHIubWVkaWF8fCExIT09bWF0Y2hNZWRpYShyLm1lZGlhKS5tYXRjaGVzKSYmMD09KDQmbi5zdGF0ZS5sb2FkaW5nKSl7aWYobnVsbD09PW4uaW5zdGFuY2Upe3ZhciBsPWM0KHIuaHJlZiksYT10LnF1ZXJ5U2VsZWN0b3IoYzgobCkpO2lmKGEpe251bGwhPT0odD1hLl9wKSYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuJiYoZS5jb3VudCsrLGU9ZmQuYmluZChlKSx0LnRoZW4oZSxlKSksbi5zdGF0ZS5sb2FkaW5nfD00LG4uaW5zdGFuY2U9YSxlOChhKTtyZXR1cm59YT10Lm93bmVyRG9jdW1lbnR8fHQscj1jNShyKSwobD1jWS5nZXQobCkpJiZmdChyLGwpLGU4KGE9YS5jcmVhdGVFbGVtZW50KCJsaW5rIikpO3ZhciBvPWE7by5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe28ub25sb2FkPWUsby5vbmVycm9yPXR9KSxjbChhLCJsaW5rIixyKSxuLmluc3RhbmNlPWF9bnVsbD09PWUuc3R5bGVzaGVldHMmJihlLnN0eWxlc2hlZXRzPW5ldyBNYXApLGUuc3R5bGVzaGVldHMuc2V0KG4sdCksKHQ9bi5zdGF0ZS5wcmVsb2FkKSYmMD09KDMmbi5zdGF0ZS5sb2FkaW5nKSYmKGUuY291bnQrKyxuPWZkLmJpbmQoZSksdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixuKSx0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixuKSl9fShuLHVuLGUubWVtb2l6ZWRTdGF0ZSxlLm1lbW9pemVkUHJvcHMpOihlPWUuc3RhdGVOb2RlLCgweDEzZmZmZjQwJnQpPT09dCYmZnMobixlKSkpO2JyZWFrO2Nhc2UgNTp1bShlLHQsbiksZS5mbGFncyZ1cCYmKGU9ZS5zdGF0ZU5vZGUsKDB4MTNmZmZmNDAmdCk9PT10JiZmcyhuLGUpKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciByPXVuO3VuPWNaKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHVtKGUsdCxuKSx1bj1yO2JyZWFrO2Nhc2UgMjI6bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT0ocj1lLmFsdGVybmF0ZSkmJm51bGwhPT1yLm1lbW9pemVkU3RhdGU/KHI9dXAsdXA9MHgxMDAwMDAwLHVtKGUsdCxuKSx1cD1yKTp1bShlLHQsbikpO2JyZWFrO2Nhc2UgMzA6aWYoMCE9KGUuZmxhZ3MmdXApJiZudWxsIT0ocj1lLm1lbW9pemVkUHJvcHMubmFtZSkmJiJhdXRvIiE9PXIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucGFpcmVkPW51bGwsbnVsbD09PWl6JiYoaXo9bmV3IE1hcCksaXouc2V0KHIsbCl9dW0oZSx0LG4pO2JyZWFrO2RlZmF1bHQ6dW0oZSx0LG4pfX1mdW5jdGlvbiB1ZyhlKXt2YXIgdD1lLmFsdGVybmF0ZTtpZihudWxsIT09dCYmbnVsbCE9PShlPXQuY2hpbGQpKXt0LmNoaWxkPW51bGw7ZG8gdD1lLnNpYmxpbmcsZS5zaWJsaW5nPW51bGwsZT10O3doaWxlKG51bGwhPT1lKX19ZnVuY3Rpb24gdXYoZSl7dmFyIHQ9ZS5kZWxldGlvbnM7aWYoMCE9KDE2JmUuZmxhZ3MpKXtpZihudWxsIT09dClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtpRz1yLHViKHIsZSl9dWcoZSl9aWYoMTAyNTYmZS5zdWJ0cmVlRmxhZ3MpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspdXkoZSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gdXkoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnV2KGUpLDIwNDgmZS5mbGFncyYmaWcoOSxlLGUucmV0dXJuKTticmVhaztjYXNlIDM6Y2FzZSAxMjpkZWZhdWx0OnV2KGUpO2JyZWFrO2Nhc2UgMjI6dmFyIHQ9ZS5zdGF0ZU5vZGU7bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmMiZ0Ll92aXNpYmlsaXR5JiYobnVsbD09PWUucmV0dXJufHwxMyE9PWUucmV0dXJuLnRhZyk/KHQuX3Zpc2liaWxpdHkmPS0zLGZ1bmN0aW9uIGUodCl7dmFyIG49dC5kZWxldGlvbnM7aWYoMCE9KDE2JnQuZmxhZ3MpKXtpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtpRz1sLHViKGwsdCl9dWcodCl9Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3N3aXRjaCgobj10KS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWcoOCxuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgMjI6MiYocj1uLnN0YXRlTm9kZSkuX3Zpc2liaWxpdHkmJihyLl92aXNpYmlsaXR5Jj0tMyxlKG4pKTticmVhaztkZWZhdWx0OmUobil9dD10LnNpYmxpbmd9fShlKSk6dXYoZSl9fWZ1bmN0aW9uIHViKGUsdCl7Zm9yKDtudWxsIT09aUc7KXt2YXIgbj1pRztzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWcoOCxuLHQpO2JyZWFrO2Nhc2UgMjM6Y2FzZSAyMjppZihudWxsIT09bi5tZW1vaXplZFN0YXRlJiZudWxsIT09bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCl7dmFyIHI9bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sO251bGwhPXImJnIucmVmQ291bnQrK31icmVhaztjYXNlIDI0OmxzKG4ubWVtb2l6ZWRTdGF0ZS5jYWNoZSl9aWYobnVsbCE9PShyPW4uY2hpbGQpKXIucmV0dXJuPW4saUc9cjtlbHNlIGZvcihuPWU7bnVsbCE9PWlHOyl7dmFyIGw9KHI9aUcpLnNpYmxpbmcsYT1yLnJldHVybjtpZighZnVuY3Rpb24gZSh0KXt2YXIgbj10LmFsdGVybmF0ZTtudWxsIT09biYmKHQuYWx0ZXJuYXRlPW51bGwsZShuKSksdC5jaGlsZD1udWxsLHQuZGVsZXRpb25zPW51bGwsdC5zaWJsaW5nPW51bGwsNT09PXQudGFnJiZudWxsIT09KG49dC5zdGF0ZU5vZGUpJiZlMChuKSx0LnN0YXRlTm9kZT1udWxsLHQucmV0dXJuPW51bGwsdC5kZXBlbmRlbmNpZXM9bnVsbCx0Lm1lbW9pemVkUHJvcHM9bnVsbCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnBlbmRpbmdQcm9wcz1udWxsLHQuc3RhdGVOb2RlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsfShyKSxyPT09bil7aUc9bnVsbDticmVha31pZihudWxsIT09bCl7bC5yZXR1cm49YSxpRz1sO2JyZWFrfWlHPWF9fX12YXIgdXc9e2dldENhY2hlRm9yVHlwZTpmdW5jdGlvbihlKXt2YXIgdD1sdChsaSksbj10LmRhdGEuZ2V0KGUpO3JldHVybiB2b2lkIDA9PT1uJiYobj1lKCksdC5kYXRhLnNldChlLG4pKSxufSxjYWNoZVNpZ25hbDpmdW5jdGlvbigpe3JldHVybiBsdChsaSkuY29udHJvbGxlci5zaWduYWx9fSx1az0iZnVuY3Rpb24iPT10eXBlb2YgV2Vha01hcD9XZWFrTWFwOk1hcCx1Uz0wLHVFPW51bGwsdXg9bnVsbCx1Xz0wLHVQPTAsdU49bnVsbCx1Qz0hMSx1VD0hMSx1Tz0hMSx1ej0wLHVMPTAsdVI9MCx1TT0wLHVJPTAsdUQ9MCx1Rj0wLHVBPW51bGwsdWo9bnVsbCx1VT0hMSx1Qj0wLHVWPTAsdUg9MS8wLHUkPW51bGwsdVE9bnVsbCx1Vz0wLHVxPW51bGwsdUs9bnVsbCx1WD0wLHVHPTAsdVk9bnVsbCx1Sj1udWxsLHVaPW51bGwsdTA9bnVsbCx1MT1udWxsLHUyPTAsdTM9bnVsbDtmdW5jdGlvbiB1NCgpe3JldHVybiAwIT0oMiZ1UykmJjAhPT11Xz91XyYtdV86bnVsbCE9PVcuVD9zJCgpOmVIKCl9ZnVuY3Rpb24gdTgoKXtpZigwPT09dUQpaWYoMD09KDB4MjAwMDAwMDAmdV8pfHxyJCl7dmFyIGU9ZU87MD09KDM5MzIxNjAmKGVPPDw9MSkpJiYoZU89MjYyMTQ0KSx1RD1lfWVsc2UgdUQ9MHgyMDAwMDAwMDtyZXR1cm4gbnVsbCE9PShlPWwzLmN1cnJlbnQpJiYoZS5mbGFnc3w9MzIpLHVEfWZ1bmN0aW9uIHU1KGUsdCl7aWYobnVsbCE9dCl7dmFyIG49ZS5zdGF0ZU5vZGUscj1uLnJlZjtudWxsPT09ciYmKHI9bi5yZWY9Y0Mocm4oZS5tZW1vaXplZFByb3BzLG4pKSksbnVsbD09PXUwJiYodTA9W10pLHUwLnB1c2godC5iaW5kKG51bGwscikpfX1mdW5jdGlvbiB1NihlLHQsbil7KGU9PT11RSYmKDI9PT11UHx8OT09PXVQKXx8bnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdCkmJihzcihlLDApLHNlKGUsdV8sdUQsITEpKSxlRihlLG4pLCgwPT0oMiZ1Uyl8fGUhPT11RSkmJihlPT09dUUmJigwPT0oMiZ1UykmJih1TXw9biksND09PXVMJiZzZShlLHVfLHVELCExKSksc0YoZSkpfWZ1bmN0aW9uIHU5KGUsdCxuKXtpZigwIT0oNiZ1UykpdGhyb3cgRXJyb3IodSgzMjcpKTtmb3IodmFyIHI9IW4mJjA9PSgxMjcmdCkmJjA9PSh0JmUuZXhwaXJlZExhbmVzKXx8ZU0oZSx0KSxsPXI/ZnVuY3Rpb24oZSx0KXt2YXIgbj11Uzt1U3w9Mjt2YXIgcj1zbygpLGw9c2koKTt1RSE9PWV8fHVfIT09dD8odSQ9bnVsbCx1SD1ldigpKzUwMCxzcihlLHQpKTp1VD1lTShlLHQpO2U6Zm9yKDs7KXRyeXtpZigwIT09dVAmJm51bGwhPT11eCl7dD11eDt2YXIgYT11Tjt0OnN3aXRjaCh1UCl7Y2FzZSAxOnVQPTAsdU49bnVsbCxzZChlLHQsYSwxKTticmVhaztjYXNlIDI6Y2FzZSA5OmlmKGxQKGEpKXt1UD0wLHVOPW51bGwsc2YodCk7YnJlYWt9dD1mdW5jdGlvbigpezIhPT11UCYmOSE9PXVQfHx1RSE9PWV8fCh1UD03KSxzRihlKX0sYS50aGVuKHQsdCk7YnJlYWsgZTtjYXNlIDM6dVA9NzticmVhayBlO2Nhc2UgNDp1UD01O2JyZWFrIGU7Y2FzZSA3OmxQKGEpPyh1UD0wLHVOPW51bGwsc2YodCkpOih1UD0wLHVOPW51bGwsc2QoZSx0LGEsNykpO2JyZWFrO2Nhc2UgNTp2YXIgbz1udWxsO3N3aXRjaCh1eC50YWcpe2Nhc2UgMjY6bz11eC5tZW1vaXplZFN0YXRlO2Nhc2UgNTpjYXNlIDI3OnZhciBpPXV4O2lmKG8/Zmkobyk6aS5zdGF0ZU5vZGUuY29tcGxldGUpe3VQPTAsdU49bnVsbDt2YXIgcz1pLnNpYmxpbmc7aWYobnVsbCE9PXMpdXg9cztlbHNle3ZhciBjPWkucmV0dXJuO251bGwhPT1jPyh1eD1jLHNwKGMpKTp1eD1udWxsfWJyZWFrIHR9fXVQPTAsdU49bnVsbCxzZChlLHQsYSw1KTticmVhaztjYXNlIDY6dVA9MCx1Tj1udWxsLHNkKGUsdCxhLDYpO2JyZWFrO2Nhc2UgODpzbigpLHVMPTY7YnJlYWsgZTtkZWZhdWx0OnRocm93IEVycm9yKHUoNDYyKSl9fWZvcig7bnVsbCE9PXV4JiYhZWgoKTspc2ModXgpO2JyZWFrfWNhdGNoKHQpe3NsKGUsdCl9cmV0dXJuKHIzPXIyPW51bGwsVy5IPXIsVy5BPWwsdVM9bixudWxsIT09dXgpPzA6KHVFPW51bGwsdV89MCxycygpLHVMKX0oZSx0KTpzcyhlLHQsITApLGE9cjs7KXtpZigwPT09bCl1VCYmIXImJnNlKGUsdCwwLCExKTtlbHNle2lmKG49ZS5jdXJyZW50LmFsdGVybmF0ZSxhJiYhZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWU7Oyl7dmFyIG49dC50YWc7aWYoKDA9PT1ufHwxMT09PW58fDE1PT09bikmJjE2Mzg0JnQuZmxhZ3MmJm51bGwhPT0obj10LnVwZGF0ZVF1ZXVlKSYmbnVsbCE9PShuPW4uc3RvcmVzKSlmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXSxhPWwuZ2V0U25hcHNob3Q7bD1sLnZhbHVlO3RyeXtpZighbkEoYSgpLGwpKXJldHVybiExfWNhdGNoKGUpe3JldHVybiExfX1pZihuPXQuY2hpbGQsMTYzODQmdC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1uKW4ucmV0dXJuPXQsdD1uO2Vsc2V7aWYodD09PWUpYnJlYWs7Zm9yKDtudWxsPT09dC5zaWJsaW5nOyl7aWYobnVsbD09PXQucmV0dXJufHx0LnJldHVybj09PWUpcmV0dXJuITA7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX1yZXR1cm4hMH0obikpe2w9c3MoZSx0LCExKSxhPSExO2NvbnRpbnVlfWlmKDI9PT1sKXtpZihhPXQsZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyZhKXZhciBvPTA7ZWxzZSBvPTAhPShvPS0weDIwMDAwMDAxJmUucGVuZGluZ0xhbmVzKT9vOjB4MjAwMDAwMDAmbz8weDIwMDAwMDAwOjA7aWYoMCE9PW8pe3Q9bztlOntsPXVBO3ZhciBpPWUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZDtpZihpJiYoc3IoZSxvKS5mbGFnc3w9MjU2KSwyIT09KG89c3MoZSxvLCExKSkpe2lmKHVPJiYhaSl7ZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lc3w9YSx1TXw9YSxsPTQ7YnJlYWsgZX1hPXVqLHVqPWwsbnVsbCE9PWEmJihudWxsPT09dWo/dWo9YTp1ai5wdXNoLmFwcGx5KHVqLGEpKX1sPW99aWYoYT0hMSwyIT09bCljb250aW51ZX19aWYoMT09PWwpe3NyKGUsMCksc2UoZSx0LDAsITApO2JyZWFrfWU6e3N3aXRjaChyPWUsYT1sKXtjYXNlIDA6Y2FzZSAxOnRocm93IEVycm9yKHUoMzQ1KSk7Y2FzZSA0OmlmKCg0MTk0MDQ4JnQpIT09dCYmKDB4M2MwMDAwMCZ0KSE9PXQpYnJlYWs7Y2FzZSA2OnNlKHIsdCx1RCwhdUMpO2JyZWFrIGU7Y2FzZSAyOnVqPW51bGw7YnJlYWs7Y2FzZSAzOmNhc2UgNTpicmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMzI5KSl9aWYoKDB4M2MwMDAwMCZ0KT09PXQmJjEwPChsPXVCKzMwMC1ldigpKSl7aWYoc2Uocix0LHVELCF1QyksMCE9PWVSKHIsMCwhMCkpYnJlYWsgZTt1WD10LHIudGltZW91dEhhbmRsZT1jcCh1Ny5iaW5kKG51bGwscixuLHVqLHUkLHVVLHQsdUQsdU0sdUYsdUMsYSwiVGhyb3R0bGVkIiwtMCwwKSxsKTticmVhayBlfXU3KHIsbix1aix1JCx1VSx0LHVELHVNLHVGLHVDLGEsbnVsbCwtMCwwKX19YnJlYWt9c0YoZSl9ZnVuY3Rpb24gdTcoZSx0LG4scixsLGEsbyxpLHUscyxjLGYsZCxwKXtlLnRpbWVvdXRIYW5kbGU9LTE7dmFyIG0saCxnPXQuc3VidHJlZUZsYWdzLHY9KDB4MTNmZmZmMDAmYSk9PT1hO2lmKGY9bnVsbCwodnx8ODE5MiZnfHwweDEwMDIwMDA9PSgweDEwMDIwMDAmZykpJiYoaXo9bnVsbCx1aCh0LGEsZj17c3R5bGVzaGVldHM6bnVsbCxjb3VudDowLGltZ0NvdW50OjAsaW1nQnl0ZXM6MCxzdXNwZW5zZXlJbWFnZXM6W10sd2FpdGluZ0ZvckltYWdlczohMCx3YWl0aW5nRm9yVmlld1RyYW5zaXRpb246ITEsdW5zdXNwZW5kOnRUfSksdiYmKGc9ZixudWxsIT0odj0oOT09PSh2PWUuY29udGFpbmVySW5mbykubm9kZVR5cGU/djp2Lm93bmVyRG9jdW1lbnQpLl9fcmVhY3RWaWV3VHJhbnNpdGlvbikmJihnLmNvdW50KyssZy53YWl0aW5nRm9yVmlld1RyYW5zaXRpb249ITAsZz1mZC5iaW5kKGcpLHYuZmluaXNoZWQudGhlbihnLGcpKSksbnVsbCE9PShtPWYsaD1nPSgweDNjMDAwMDAmYSk9PT1hP3VCLWV2KCk6KDQxOTQwNDgmYSk9PT1hP3VWLWV2KCk6MCxtLnN0eWxlc2hlZXRzJiYwPT09bS5jb3VudCYmZmgobSxtLnN0eWxlc2hlZXRzKSxnPTA8bS5jb3VudHx8MDxtLmltZ0NvdW50P2Z1bmN0aW9uKGUpe3ZhciB0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihtLnN0eWxlc2hlZXRzJiZmaChtLG0uc3R5bGVzaGVldHMpLG0udW5zdXNwZW5kKXt2YXIgZT1tLnVuc3VzcGVuZDttLnVuc3VzcGVuZD1udWxsLGUoKX19LDZlNCtoKTswPG0uaW1nQnl0ZXMmJjA9PT1mYyYmKGZjPTYyNTAwKmZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe2Zvcih2YXIgZT0wLHQ9MCxuPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikscj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgbD1uW3JdLGE9bC50cmFuc2ZlclNpemUsbz1sLmluaXRpYXRvclR5cGUsaT1sLmR1cmF0aW9uO2lmKGEmJmkmJmNhKG8pKXtmb3Iobz0wLGk9bC5yZXNwb25zZUVuZCxyKz0xO3I8bi5sZW5ndGg7cisrKXt2YXIgdT1uW3JdLHM9dS5zdGFydFRpbWU7aWYocz5pKWJyZWFrO3ZhciBjPXUudHJhbnNmZXJTaXplLGY9dS5pbml0aWF0b3JUeXBlO2MmJmNhKGYpJiYobys9YyooKHU9dS5yZXNwb25zZUVuZCk8aT8xOihpLXMpLyh1LXMpKSl9aWYoLS1yLHQrPTgqKGErbykvKGwuZHVyYXRpb24vMWUzKSwxMDwrK2UpYnJlYWt9fWlmKDA8ZSlyZXR1cm4gdC9lLzFlNn1yZXR1cm4gbmF2aWdhdG9yLmNvbm5lY3Rpb24mJiJudW1iZXIiPT10eXBlb2YoZT1uYXZpZ2F0b3IuY29ubmVjdGlvbi5kb3dubGluayk/ZTo1fSgpKTt2YXIgbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYobS53YWl0aW5nRm9ySW1hZ2VzPSExLDA9PT1tLmNvdW50JiYobS5zdHlsZXNoZWV0cyYmZmgobSxtLnN0eWxlc2hlZXRzKSxtLnVuc3VzcGVuZCkpe3ZhciBlPW0udW5zdXNwZW5kO20udW5zdXNwZW5kPW51bGwsZSgpfX0sKG0uaW1nQnl0ZXM+ZmM/NTA6ODAwKStoKTtyZXR1cm4gbS51bnN1c3BlbmQ9ZSxmdW5jdGlvbigpe20udW5zdXNwZW5kPW51bGwsY2xlYXJUaW1lb3V0KHQpLGNsZWFyVGltZW91dChuKX19Om51bGwpKSl7dVg9YSxlLmNhbmNlbFBlbmRpbmdDb21taXQ9ZyhzaC5iaW5kKG51bGwsZSx0LGEsbixyLGwsbyxpLHUsYyxmLG51bGwsZCxwKSksc2UoZSxhLG8sIXMpO3JldHVybn1zaChlLHQsYSxuLHIsbCxvLGksdSxjLGYpfWZ1bmN0aW9uIHNlKGUsdCxuLHIpe3QmPX51SSx0Jj1+dU0sZS5zdXNwZW5kZWRMYW5lc3w9dCxlLnBpbmdlZExhbmVzJj1+dCxyJiYoZS53YXJtTGFuZXN8PXQpLHI9ZS5leHBpcmF0aW9uVGltZXM7Zm9yKHZhciBsPXQ7MDxsOyl7dmFyIGE9MzEtZVAobCksbz0xPDxhO3JbYV09LTEsbCY9fm99MCE9PW4mJmVBKGUsbix0KX1mdW5jdGlvbiBzdCgpe3JldHVybiAwIT0oNiZ1Uyl8fChzQSgwLCExKSwhMSl9ZnVuY3Rpb24gc24oKXtpZihudWxsIT09dXgpe2lmKDA9PT11UCl2YXIgZT11eC5yZXR1cm47ZWxzZSBlPXV4LHIzPXIyPW51bGwsYUUoZSksbEw9bnVsbCxsUj0wLGU9dXg7Zm9yKDtudWxsIT09ZTspaW0oZS5hbHRlcm5hdGUsZSksZT1lLnJldHVybjt1eD1udWxsfX1mdW5jdGlvbiBzcihlLHQpe3ZhciBuPWUudGltZW91dEhhbmRsZTstMSE9PW4mJihlLnRpbWVvdXRIYW5kbGU9LTEsY20obikpLG51bGwhPT0obj1lLmNhbmNlbFBlbmRpbmdDb21taXQpJiYoZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsbigpKSx1WD0wLHNuKCksdUU9ZSx1eD1uPXJiKGUuY3VycmVudCxudWxsKSx1Xz10LHVQPTAsdU49bnVsbCx1Qz0hMSx1VD1lTShlLHQpLHVPPSExLHVGPXVEPXVJPXVNPXVSPXVMPTAsdWo9dUE9bnVsbCx1VT0hMSwwIT0oOCZ0KSYmKHR8PTMyJnQpO3ZhciByPWUuZW50YW5nbGVkTGFuZXM7aWYoMCE9PXIpZm9yKGU9ZS5lbnRhbmdsZW1lbnRzLHImPXQ7MDxyOyl7dmFyIGw9MzEtZVAociksYT0xPDxsO3R8PWVbbF0sciY9fmF9cmV0dXJuIHV6PXQscnMoKSxufWZ1bmN0aW9uIHNsKGUsdCl7YWE9bnVsbCxXLkg9b1MsdD09PWxTfHx0PT09bHg/KHQ9bE8oKSx1UD0zKTp0PT09bEU/KHQ9bE8oKSx1UD00KTp1UD10PT09b2o/ODpudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuPzY6MSx1Tj10LG51bGw9PT11eCYmKHVMPTEsb00oZSxyTih0LGUuY3VycmVudCkpKX1mdW5jdGlvbiBzYSgpe3ZhciBlPWwzLmN1cnJlbnQ7cmV0dXJuIG51bGw9PT1lfHwoKDQxOTQwNDgmdV8pPT09dV8/bnVsbD09PWw0OigoMHgzYzAwMDAwJnVfKT09PXVffHwwIT0oMHgyMDAwMDAwMCZ1XykpJiZlPT09bDQpfWZ1bmN0aW9uIHNvKCl7dmFyIGU9Vy5IO3JldHVybiBXLkg9b1MsbnVsbD09PWU/b1M6ZX1mdW5jdGlvbiBzaSgpe3ZhciBlPVcuQTtyZXR1cm4gVy5BPXV3LGV9ZnVuY3Rpb24gc3UoKXt1TD00LHVDfHwoNDE5NDA0OCZ1XykhPT11XyYmbnVsbCE9PWwzLmN1cnJlbnR8fCh1VD0hMCksMD09KDB4N2ZmZmZmZiZ1UikmJjA9PSgweDdmZmZmZmYmdU0pfHxudWxsPT09dUV8fHNlKHVFLHVfLHVELCExKX1mdW5jdGlvbiBzcyhlLHQsbil7dmFyIHI9dVM7dVN8PTI7dmFyIGw9c28oKSxhPXNpKCk7KHVFIT09ZXx8dV8hPT10KSYmKHUkPW51bGwsc3IoZSx0KSksdD0hMTt2YXIgbz11TDtlOmZvcig7Oyl0cnl7aWYoMCE9PXVQJiZudWxsIT09dXgpe3ZhciBpPXV4LHU9dU47c3dpdGNoKHVQKXtjYXNlIDg6c24oKSxvPTY7YnJlYWsgZTtjYXNlIDM6Y2FzZSAyOmNhc2UgOTpjYXNlIDY6bnVsbD09PWwzLmN1cnJlbnQmJih0PSEwKTt2YXIgcz11UDtpZih1UD0wLHVOPW51bGwsc2QoZSxpLHUscyksbiYmdVQpe289MDticmVhayBlfWJyZWFrO2RlZmF1bHQ6cz11UCx1UD0wLHVOPW51bGwsc2QoZSxpLHUscyl9fShmdW5jdGlvbigpe2Zvcig7bnVsbCE9PXV4OylzYyh1eCl9KSgpLG89dUw7YnJlYWt9Y2F0Y2godCl7c2woZSx0KX1yZXR1cm4gdCYmZS5zaGVsbFN1c3BlbmRDb3VudGVyKysscjM9cjI9bnVsbCx1Uz1yLFcuSD1sLFcuQT1hLG51bGw9PT11eCYmKHVFPW51bGwsdV89MCxycygpKSxvfWZ1bmN0aW9uIHNjKGUpe3ZhciB0PWlvKGUuYWx0ZXJuYXRlLGUsdXopO2UubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyxudWxsPT09dD9zcChlKTp1eD10fWZ1bmN0aW9uIHNmKGUpe3ZhciB0PWUsbj10LmFsdGVybmF0ZTtzd2l0Y2godC50YWcpe2Nhc2UgMTU6Y2FzZSAwOnQ9b0oobix0LHQucGVuZGluZ1Byb3BzLHQudHlwZSx2b2lkIDAsdV8pO2JyZWFrO2Nhc2UgMTE6dD1vSihuLHQsdC5wZW5kaW5nUHJvcHMsdC50eXBlLnJlbmRlcix0LnJlZix1Xyk7YnJlYWs7Y2FzZSA1OmFFKHQpO2RlZmF1bHQ6aW0obix0KSx0PWlvKG4sdD11eD1ydyh0LHV6KSx1eil9ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT10P3NwKGUpOnV4PXR9ZnVuY3Rpb24gc2QoZSx0LG4scil7cjM9cjI9bnVsbCxhRSh0KSxsTD1udWxsLGxSPTA7dmFyIGw9dC5yZXR1cm47dHJ5e2lmKGZ1bmN0aW9uKGUsdCxuLHIsbCl7aWYobi5mbGFnc3w9MzI3NjgsbnVsbCE9PXImJiJvYmplY3QiPT10eXBlb2YgciYmImZ1bmN0aW9uIj09dHlwZW9mIHIudGhlbil7aWYobnVsbCE9PSh0PW4uYWx0ZXJuYXRlKSYmcjkodCxuLGwsITApLG51bGwhPT0obj1sMy5jdXJyZW50KSl7c3dpdGNoKG4udGFnKXtjYXNlIDMxOmNhc2UgMTM6Y2FzZSAxOTpyZXR1cm4gbnVsbD09PWw0P3N1KCk6bnVsbD09PW4uYWx0ZXJuYXRlJiYwPT09dUwmJih1TD0zKSxuLmZsYWdzJj0tMjU3LG4uZmxhZ3N8PTY1NTM2LG4ubGFuZXM9bCxyPT09bF8/bi5mbGFnc3w9MTYzODQ6KG51bGw9PT0odD1uLnVwZGF0ZVF1ZXVlKT9uLnVwZGF0ZVF1ZXVlPW5ldyBTZXQoW3JdKTp0LmFkZChyKSxzUChlLHIsbCkpLCExO2Nhc2UgMjI6cmV0dXJuIG4uZmxhZ3N8PTY1NTM2LHI9PT1sXz9uLmZsYWdzfD0xNjM4NDoobnVsbD09PSh0PW4udXBkYXRlUXVldWUpPyh0PXt0cmFuc2l0aW9uczpudWxsLG1hcmtlckluc3RhbmNlczpudWxsLHJldHJ5UXVldWU6bmV3IFNldChbcl0pfSxuLnVwZGF0ZVF1ZXVlPXQpOm51bGw9PT0obj10LnJldHJ5UXVldWUpP3QucmV0cnlRdWV1ZT1uZXcgU2V0KFtyXSk6bi5hZGQociksc1AoZSxyLGwpKSwhMX10aHJvdyBFcnJvcih1KDQzNSxuLnRhZykpfXJldHVybiBzUChlLHIsbCksc3UoKSwhMX1pZihyJClyZXR1cm4gbnVsbCE9PSh0PWwzLmN1cnJlbnQpPygwPT0oNjU1MzYmdC5mbGFncykmJih0LmZsYWdzfD0yNTYpLHQuZmxhZ3N8PTY1NTM2LHQubGFuZXM9bCxyIT09cnEmJnIwKHJOKGU9RXJyb3IodSg0MjIpLHtjYXVzZTpyfSksbikpKToociE9PXJxJiZyMChyTih0PUVycm9yKHUoNDIzKSx7Y2F1c2U6cn0pLG4pKSxlPWUuY3VycmVudC5hbHRlcm5hdGUsZS5mbGFnc3w9NjU1MzYsbCY9LWwsZS5sYW5lc3w9bCxyPXJOKHIsbiksbD1vRChlLnN0YXRlTm9kZSxyLGwpLGxXKGUsbCksNCE9PXVMJiYodUw9MikpLCExO3ZhciBhPUVycm9yKHUoNTIwKSx7Y2F1c2U6cn0pO2lmKGE9ck4oYSxuKSxudWxsPT09dUE/dUE9W2FdOnVBLnB1c2goYSksNCE9PXVMJiYodUw9MiksbnVsbD09PXQpcmV0dXJuITA7cj1yTihyLG4pLG49dDtkb3tzd2l0Y2gobi50YWcpe2Nhc2UgMzpyZXR1cm4gbi5mbGFnc3w9NjU1MzYsZT1sJi1sLG4ubGFuZXN8PWUsZT1vRChuLnN0YXRlTm9kZSxyLGUpLGxXKG4sZSksITE7Y2FzZSAxOmlmKHQ9bi50eXBlLGE9bi5zdGF0ZU5vZGUsMD09KDEyOCZuLmZsYWdzKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8bnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PXVRfHwhdVEuaGFzKGEpKSkpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LGwmPS1sLG4ubGFuZXN8PWwsb0EobD1vRihsKSxlLG4sciksbFcobixsKSwhMTticmVhaztjYXNlIDIyOmlmKG51bGwhPT1uLm1lbW9pemVkU3RhdGUpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LCExfW49bi5yZXR1cm59d2hpbGUobnVsbCE9PW4pcmV0dXJuITF9KGUsbCx0LG4sdV8pKXt1TD0xLG9NKGUsck4obixlLmN1cnJlbnQpKSx1eD1udWxsO3JldHVybn19Y2F0Y2godCl7aWYobnVsbCE9PWwpdGhyb3cgdXg9bCx0O3VMPTEsb00oZSxyTihuLGUuY3VycmVudCkpLHV4PW51bGw7cmV0dXJufTMyNzY4JnQuZmxhZ3M/KHIkfHwxPT09cj9lPSEwOnVUfHwwIT0oMHgyMDAwMDAwMCZ1Xyk/ZT0hMToodUM9ZT0hMCwoMj09PXJ8fDk9PT1yfHwzPT09cnx8Nj09PXIpJiZudWxsIT09KHI9bDMuY3VycmVudCkmJjEzPT09ci50YWcmJihyLmZsYWdzfD0xNjM4NCkpLHNtKHQsZSkpOnNwKHQpfWZ1bmN0aW9uIHNwKGUpe3ZhciB0PWU7ZG97aWYoMCE9KDMyNzY4JnQuZmxhZ3MpKXJldHVybiB2b2lkIHNtKHQsdUMpO2U9dC5yZXR1cm47dmFyIG49ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQucGVuZGluZ1Byb3BzO3N3aXRjaChyVSh0KSx0LnRhZyl7Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpjYXNlIDE6cmV0dXJuIGlwKHQpLG51bGw7Y2FzZSAzOnJldHVybiBuPXQuc3RhdGVOb2RlLHI9bnVsbCxudWxsIT09ZSYmKHI9ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1yJiYodC5mbGFnc3w9MjA0OCkscjgobGkpLGVhKCksbi5wZW5kaW5nQ29udGV4dCYmKG4uY29udGV4dD1uLnBlbmRpbmdDb250ZXh0LG4ucGVuZGluZ0NvbnRleHQ9bnVsbCksKG51bGw9PT1lfHxudWxsPT09ZS5jaGlsZCkmJihyWSh0KT9paSh0KTpudWxsPT09ZXx8ZS5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmMD09KDI1NiZ0LmZsYWdzKXx8KHQuZmxhZ3N8PTEwMjQsclooKSkpLGlwKHQpLG51bGw7Y2FzZSAyNjp2YXIgbD10LnR5cGUsYT10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGw9PT1lPyhpaSh0KSxudWxsIT09YT8oaXAodCksaXModCxhKSk6KGlwKHQpLGl1KHQsbCxudWxsLHIsbikpKTphP2EhPT1lLm1lbW9pemVkU3RhdGU/KGlpKHQpLGlwKHQpLGlzKHQsYSkpOihpcCh0KSx0LmZsYWdzJj0tMHgxMDAwMDAxKTooKGU9ZS5tZW1vaXplZFByb3BzKSE9PXImJmlpKHQpLGlwKHQpLGl1KHQsbCxlLHIsbikpLG51bGw7Y2FzZSAyNzppZihlaSh0KSxuPWVuLmN1cnJlbnQsbD10LnR5cGUsbnVsbCE9PWUmJm51bGwhPXQuc3RhdGVOb2RlKWUubWVtb2l6ZWRQcm9wcyE9PXImJmlpKHQpO2Vsc2V7aWYoIXIpe2lmKG51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO3JldHVybiBpcCh0KSx0LnN1YnRyZWVGbGFncyY9LTB4MjAwMDAwMSxudWxsfWU9ZWUuY3VycmVudCxyWSh0KT9yWCh0LGUpOih0LnN0YXRlTm9kZT1lPWNYKGwscixuKSxpaSh0KSl9cmV0dXJuIGlwKHQpLHQuc3VidHJlZUZsYWdzJj0tMHgyMDAwMDAxLG51bGw7Y2FzZSA1OmlmKGVpKHQpLGw9dC50eXBlLG51bGwhPT1lJiZudWxsIT10LnN0YXRlTm9kZSllLm1lbW9pemVkUHJvcHMhPT1yJiZpaSh0KTtlbHNle2lmKCFyKXtpZihudWxsPT09dC5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IodSgxNjYpKTtyZXR1cm4gaXAodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsbnVsbH1pZihhPWVlLmN1cnJlbnQsclkodCkpclgodCxhKTtlbHNle3ZhciBvPWN1KGVuLmN1cnJlbnQpO3N3aXRjaChhKXtjYXNlIDE6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UgMjphPW8uY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIixsKTticmVhaztkZWZhdWx0OnN3aXRjaChsKXtjYXNlInN2ZyI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UibWF0aCI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsbCk7YnJlYWs7Y2FzZSJzY3JpcHQiOihhPW8uY3JlYXRlRWxlbWVudCgiZGl2IikpLmlubmVySFRNTD0iPHNjcmlwdD48L3NjcmlwdD4iLGE9YS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2JyZWFrO2Nhc2Uic2VsZWN0IjphPSJzdHJpbmciPT10eXBlb2Ygci5pcz9vLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIse2lzOnIuaXN9KTpvLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLHIubXVsdGlwbGU/YS5tdWx0aXBsZT0hMDpyLnNpemUmJihhLnNpemU9ci5zaXplKTticmVhaztkZWZhdWx0OmE9InN0cmluZyI9PXR5cGVvZiByLmlzP28uY3JlYXRlRWxlbWVudChsLHtpczpyLmlzfSk6by5jcmVhdGVFbGVtZW50KGwpfX1hW2VXXT10LGFbZXFdPXI7ZTpmb3Iobz10LmNoaWxkO251bGwhPT1vOyl7aWYoNT09PW8udGFnfHw2PT09by50YWcpYS5hcHBlbmRDaGlsZChvLnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09by50YWcmJjI3IT09by50YWcmJm51bGwhPT1vLmNoaWxkKXtvLmNoaWxkLnJldHVybj1vLG89by5jaGlsZDtjb250aW51ZX1pZihvPT09dClicmVhaztmb3IoO251bGw9PT1vLnNpYmxpbmc7KXtpZihudWxsPT09by5yZXR1cm58fG8ucmV0dXJuPT09dClicmVhayBlO289by5yZXR1cm59by5zaWJsaW5nLnJldHVybj1vLnJldHVybixvPW8uc2libGluZ31zd2l0Y2godC5zdGF0ZU5vZGU9YSxjbChhLGwsciksbCl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpyPSEhci5hdXRvRm9jdXM7YnJlYWs7Y2FzZSJpbWciOnI9ITA7YnJlYWs7ZGVmYXVsdDpyPSExfXImJmlpKHQpfX1yZXR1cm4gaXAodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsaXUodCx0LnR5cGUsbnVsbD09PWU/bnVsbDplLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsbiksbnVsbDtjYXNlIDY6aWYoZSYmbnVsbCE9dC5zdGF0ZU5vZGUpZS5tZW1vaXplZFByb3BzIT09ciYmaWkodCk7ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIHImJm51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO2lmKGU9ZW4uY3VycmVudCxyWSh0KSl7aWYoZT10LnN0YXRlTm9kZSxuPXQubWVtb2l6ZWRQcm9wcyxyPW51bGwsbnVsbCE9PShsPXJWKSlzd2l0Y2gobC50YWcpe2Nhc2UgMjc6Y2FzZSA1OnI9bC5tZW1vaXplZFByb3BzfWVbZVddPXQsKGU9ISEoZS5ub2RlVmFsdWU9PT1ufHxudWxsIT09ciYmITA9PT1yLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZ3x8Y3QoZS5ub2RlVmFsdWUsbikpKXx8cksodCwhMCl9ZWxzZShlPWN1KGUpLmNyZWF0ZVRleHROb2RlKHIpKVtlV109dCx0LnN0YXRlTm9kZT1lfXJldHVybiBpcCh0KSxudWxsO2Nhc2UgMzE6aWYobj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUpe2lmKHI9clkodCksbnVsbCE9PW4pe2lmKG51bGw9PT1lKXtpZighcil0aHJvdyBFcnJvcih1KDMxOCkpO2lmKCEoZT1udWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSg1NTcpKTtlW2VXXT10fWVsc2UgckooKSwwPT0oMTI4JnQuZmxhZ3MpJiYodC5tZW1vaXplZFN0YXRlPW51bGwpLHQuZmxhZ3N8PTQ7aXAodCksZT0hMX1lbHNlIG49clooKSxudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmKGUubWVtb2l6ZWRTdGF0ZS5oeWRyYXRpb25FcnJvcnM9biksZT0hMDtpZighZSl7aWYoMjU2JnQuZmxhZ3MpcmV0dXJuIGw3KHQpLHQ7cmV0dXJuIGw3KHQpLG51bGx9aWYoMCE9KDEyOCZ0LmZsYWdzKSl0aHJvdyBFcnJvcih1KDU1OCkpfXJldHVybiBpcCh0KSxudWxsO2Nhc2UgMTM6aWYocj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCl7aWYobD1yWSh0KSxudWxsIT09ciYmbnVsbCE9PXIuZGVoeWRyYXRlZCl7aWYobnVsbD09PWUpe2lmKCFsKXRocm93IEVycm9yKHUoMzE4KSk7aWYoIShsPW51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpP2wuZGVoeWRyYXRlZDpudWxsKSl0aHJvdyBFcnJvcih1KDMxNykpO2xbZVddPXR9ZWxzZSBySigpLDA9PSgxMjgmdC5mbGFncykmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDtpcCh0KSxsPSExfWVsc2UgbD1yWigpLG51bGwhPT1lJiZudWxsIT09ZS5tZW1vaXplZFN0YXRlJiYoZS5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1sKSxsPSEwO2lmKCFsKXtpZigyNTYmdC5mbGFncylyZXR1cm4gbDcodCksdDtyZXR1cm4gbDcodCksbnVsbH19aWYobDcodCksMCE9KDEyOCZ0LmZsYWdzKSlyZXR1cm4gdC5sYW5lcz1uLHQ7cmV0dXJuIG49bnVsbCE9PXIsZT1udWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxuJiYocj10LmNoaWxkLGw9bnVsbCxudWxsIT09ci5hbHRlcm5hdGUmJm51bGwhPT1yLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihsPXIuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGE9bnVsbCxudWxsIT09ci5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKGE9ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxhIT09bCYmKHIuZmxhZ3N8PTIwNDgpKSxuIT09ZSYmbiYmKHQuY2hpbGQuZmxhZ3N8PTgxOTIpLGljKHQsdC51cGRhdGVRdWV1ZSksaXAodCksbnVsbDtjYXNlIDQ6cmV0dXJuIGVhKCksbnVsbD09PWUmJnMxKHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHQuZmxhZ3N8PTB4NDAwMDAwMCxpcCh0KSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI4KHQudHlwZSksaXAodCksbnVsbDtjYXNlIDE5OmlmKGFuKHQpLG51bGw9PT0ocj10Lm1lbW9pemVkU3RhdGUpKXJldHVybiBpcCh0KSxudWxsO2lmKGw9MCE9KDEyOCZ0LmZsYWdzKSxudWxsPT09KGE9ci5yZW5kZXJpbmcpKWlmKGwpaWQociwhMSk7ZWxzZXtpZigwIT09dUx8fG51bGwhPT1lJiYwIT0oMTI4JmUuZmxhZ3MpKWZvcihlPXQuY2hpbGQ7bnVsbCE9PWU7KXtpZihudWxsIT09KGE9YXIoZSkpKXtmb3IodC5mbGFnc3w9MTI4LGlkKHIsITEpLHQudXBkYXRlUXVldWU9ZT1hLnVwZGF0ZVF1ZXVlLGljKHQsZSksdC5zdWJ0cmVlRmxhZ3M9MCxlPW4sbj10LmNoaWxkO251bGwhPT1uOylydyhuLGUpLG49bi5zaWJsaW5nO3JldHVybiBhdCh0LDEmYWUuY3VycmVudHwyKSxyJCYmckYodCxyLnRyZWVGb3JrQ291bnQpLHQuY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXIudGFpbCYmZXYoKT51SCYmKHQuZmxhZ3N8PTEyOCxsPSEwLGlkKHIsITEpLHQubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighbClpZihudWxsIT09KGU9YXIoYSkpKXtpZih0LmZsYWdzfD0xMjgsbD0hMCx0LnVwZGF0ZVF1ZXVlPWU9ZS51cGRhdGVRdWV1ZSxpYyh0LGUpLGlkKHIsITApLG51bGw9PT1yLnRhaWwmJiJjb2xsYXBzZWQiIT09ci50YWlsTW9kZSYmInZpc2libGUiIT09ci50YWlsTW9kZSYmIWEuYWx0ZXJuYXRlJiYhciQpcmV0dXJuIGlwKHQpLG51bGx9ZWxzZSAyKmV2KCktci5yZW5kZXJpbmdTdGFydFRpbWU+dUgmJjB4MjAwMDAwMDAhPT1uJiYodC5mbGFnc3w9MTI4LGw9ITAsaWQociwhMSksdC5sYW5lcz00MTk0MzA0KTtyLmlzQmFja3dhcmRzPyhhLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPWEpOihudWxsIT09KGU9ci5sYXN0KT9lLnNpYmxpbmc9YTp0LmNoaWxkPWEsci5sYXN0PWEpfWlmKG51bGwhPT1yLnRhaWwpe2U9ci50YWlsO2U6e2ZvcihuPWU7bnVsbCE9PW47KXtpZihudWxsIT09bi5hbHRlcm5hdGUpe249ITE7YnJlYWsgZX1uPW4uc2libGluZ31uPSEwfXJldHVybiByLnJlbmRlcmluZz1lLHIudGFpbD1lLnNpYmxpbmcsci5yZW5kZXJpbmdTdGFydFRpbWU9ZXYoKSxlLnNpYmxpbmc9bnVsbCxhPWFlLmN1cnJlbnQsYT1sPzEmYXwyOjEmYSwidmlzaWJsZSI9PT1yLnRhaWxNb2RlfHwiY29sbGFwc2VkIj09PXIudGFpbE1vZGV8fCFufHxyJD9hdCh0LGEpOihuPWEsWihsMyx0KSxaKGFlLG4pLG51bGw9PT1sNCYmKGw0PXQpKSxyJCYmckYodCxyLnRyZWVGb3JrQ291bnQpLGV9cmV0dXJuIGlwKHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBsNyh0KSxsMigpLHI9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSxudWxsIT09ZT9udWxsIT09ZS5tZW1vaXplZFN0YXRlIT09ciYmKHQuZmxhZ3N8PTgxOTIpOnImJih0LmZsYWdzfD04MTkyKSxyPzAhPSgweDIwMDAwMDAwJm4pJiYwPT0oMTI4JnQuZmxhZ3MpJiYoaXAodCksNiZ0LnN1YnRyZWVGbGFncyYmKHQuZmxhZ3N8PTgxOTIpKTppcCh0KSxudWxsIT09KG49dC51cGRhdGVRdWV1ZSkmJmljKHQsbi5yZXRyeVF1ZXVlKSxuPW51bGwsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sJiYobj1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLHI9bnVsbCxudWxsIT09dC5tZW1vaXplZFN0YXRlJiZudWxsIT09dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKHI9dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxyIT09biYmKHQuZmxhZ3N8PTIwNDgpLG51bGwhPT1lJiZKKGx5KSxudWxsO2Nhc2UgMjQ6cmV0dXJuIG49bnVsbCxudWxsIT09ZSYmKG49ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1uJiYodC5mbGFnc3w9MjA0OCkscjgobGkpLGlwKHQpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtjYXNlIDMwOnJldHVybiB0LmZsYWdzfD0weDIwMDAwMDAsaXAodCksbnVsbH10aHJvdyBFcnJvcih1KDE1Nix0LnRhZykpfSh0LmFsdGVybmF0ZSx0LHV6KTtpZihudWxsIT09bil7dXg9bjtyZXR1cm59aWYobnVsbCE9PSh0PXQuc2libGluZykpe3V4PXQ7cmV0dXJufXV4PXQ9ZX13aGlsZShudWxsIT09dCkwPT09dUwmJih1TD01KX1mdW5jdGlvbiBzbShlLHQpe2Rve3ZhciBuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHJVKHQpLHQudGFnKXtjYXNlIDE6cmV0dXJuIDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMzpyZXR1cm4gcjgobGkpLGVhKCksMCE9KDY1NTM2JihlPXQuZmxhZ3MpKSYmMD09KDEyOCZlKT8odC5mbGFncz0tNjU1MzcmZXwxMjgsdCk6bnVsbDtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnJldHVybiBlaSh0KSxudWxsO2Nhc2UgMzE6aWYobnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSl7aWYobDcodCksbnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7ckooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxMzppZihsNyh0KSxudWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7aWYobnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7ckooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxOTpyZXR1cm4gYW4odCksNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LG51bGwhPT0oZT10Lm1lbW9pemVkU3RhdGUpJiYoZS5yZW5kZXJpbmc9bnVsbCxlLnRhaWw9bnVsbCksdC5mbGFnc3w9NCx0KTpudWxsO2Nhc2UgNDpyZXR1cm4gZWEoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI4KHQudHlwZSksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGw3KHQpLGwyKCksbnVsbCE9PWUmJkoobHkpLDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMjQ6cmV0dXJuIHI4KGxpKSxudWxsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fShlLmFsdGVybmF0ZSxlKTtpZihudWxsIT09bil7bi5mbGFncyY9MzI3NjcsdXg9bjtyZXR1cm59aWYobnVsbCE9PShuPWUucmV0dXJuKSYmKG4uZmxhZ3N8PTMyNzY4LG4uc3VidHJlZUZsYWdzPTAsbi5kZWxldGlvbnM9bnVsbCksIXQmJm51bGwhPT0oZT1lLnNpYmxpbmcpKXt1eD1lO3JldHVybn11eD1lPW59d2hpbGUobnVsbCE9PWUpdUw9Nix1eD1udWxsfWZ1bmN0aW9uIHNoKGUsdCxuLHIsbCxhLG8saSxzLGMsZil7ZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGw7ZG8gc1MoKTt3aGlsZSgwIT09dVcpaWYoMCE9KDYmdVMpKXRocm93IEVycm9yKHUoMzI3KSk7aWYobnVsbCE9PXQpe3ZhciBkO2lmKHQ9PT1lLmN1cnJlbnQpdGhyb3cgRXJyb3IodSgxNzcpKTtpZighZnVuY3Rpb24oZSx0LG4scixsLGEpe3ZhciBvPWUucGVuZGluZ0xhbmVzO2UucGVuZGluZ0xhbmVzPW4sZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCxlLndhcm1MYW5lcz0wLGUuZXhwaXJlZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyY9bixlLnNoZWxsU3VzcGVuZENvdW50ZXI9MDt2YXIgaT1lLmVudGFuZ2xlbWVudHMsdT1lLmV4cGlyYXRpb25UaW1lcyxzPWUuaGlkZGVuVXBkYXRlcztmb3Iobj1vJn5uOzA8bjspe3ZhciBjPTMxLWVQKG4pLGY9MTw8YztpW2NdPTAsdVtjXT0tMTt2YXIgZD1zW2NdO2lmKG51bGwhPT1kKWZvcihzW2NdPW51bGwsYz0wO2M8ZC5sZW5ndGg7YysrKXt2YXIgcD1kW2NdO251bGwhPT1wJiYocC5sYW5lJj0tMHgyMDAwMDAwMSl9biY9fmZ9MCE9PXImJmVBKGUsciwwKSwwIT09YSYmMD09PWwmJjAhPT1lLnRhZyYmKGUuc3VzcGVuZGVkTGFuZXN8PWEmfihvJn50KSl9KGUsbixhPXQubGFuZXN8dC5jaGlsZExhbmVzfHJ1LG8saSxzKSxlPT09dUUmJih1eD11RT1udWxsLHVfPTApLHVLPXQsdXE9ZSx1WD1uLHVHPWEsdVk9bCx1Sj1yLHUwPW51bGwsKDB4MTNmZmZmMDAmbik9PT1uPyhkPWUudHJhbnNpdGlvblR5cGVzLGUudHJhbnNpdGlvblR5cGVzPW51bGwsdTE9ZCxyPTEwMjYyKToodTE9bnVsbCxyPTEwMjU2KSwwIT0odC5zdWJ0cmVlRmxhZ3Mmcil8fDAhPSh0LmZsYWdzJnIpPyhlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wLGVwKGVrLGZ1bmN0aW9uKCl7cmV0dXJuIHNFKCksbnVsbH0pKTooZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MCksaU89ITEscj0wIT0oMTM4NzgmdC5mbGFncyksMCE9KDEzODc4JnQuc3VidHJlZUZsYWdzKXx8cil7cj1XLlQsVy5UPW51bGwsbD1xLnAscS5wPTIsbz11Uyx1U3w9NDt0cnl7IWZ1bmN0aW9uKGUsdCxuKXtpZihlPWUuY29udGFpbmVySW5mbyxjbz1mXyxuSChlPW5WKGUpKSl7aWYoInNlbGVjdGlvblN0YXJ0ImluIGUpdmFyIHI9e3N0YXJ0OmUuc2VsZWN0aW9uU3RhcnQsZW5kOmUuc2VsZWN0aW9uRW5kfTtlbHNlIGU6e3ZhciBsPShyPShyPWUub3duZXJEb2N1bWVudCkmJnIuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uJiZyLmdldFNlbGVjdGlvbigpO2lmKGwmJjAhPT1sLnJhbmdlQ291bnQpe3I9bC5hbmNob3JOb2RlO3ZhciBhLG89bC5hbmNob3JPZmZzZXQsaT1sLmZvY3VzTm9kZTtsPWwuZm9jdXNPZmZzZXQ7dHJ5e3Iubm9kZVR5cGUsaS5ub2RlVHlwZX1jYXRjaChlKXtyPW51bGw7YnJlYWsgZX12YXIgdT0wLHM9LTEsYz0tMSxmPTAsZD0wLHA9ZSxtPW51bGw7dDpmb3IoOzspe2Zvcig7cCE9PXJ8fDAhPT1vJiYzIT09cC5ub2RlVHlwZXx8KHM9dStvKSxwIT09aXx8MCE9PWwmJjMhPT1wLm5vZGVUeXBlfHwoYz11K2wpLDM9PT1wLm5vZGVUeXBlJiYodSs9cC5ub2RlVmFsdWUubGVuZ3RoKSxudWxsIT09KGE9cC5maXJzdENoaWxkKTspbT1wLHA9YTtmb3IoOzspe2lmKHA9PT1lKWJyZWFrIHQ7aWYobT09PXImJisrZj09PW8mJihzPXUpLG09PT1pJiYrK2Q9PT1sJiYoYz11KSxudWxsIT09KGE9cC5uZXh0U2libGluZykpYnJlYWs7bT0ocD1tKS5wYXJlbnROb2RlfXA9YX1yPS0xPT09c3x8LTE9PT1jP251bGw6e3N0YXJ0OnMsZW5kOmN9fWVsc2Ugcj1udWxsfXI9cnx8e3N0YXJ0OjAsZW5kOjB9fWVsc2Ugcj1udWxsO2ZvcihjaT17Zm9jdXNlZEVsZW06ZSxzZWxlY3Rpb25SYW5nZTpyfSxmXz0hMSxuPSgweDEzZmZmZjAwJm4pPT09bixpRz10LHQ9bj85MjcwOjEwMjg7bnVsbCE9PWlHOyl7aWYoZT1pRyxuJiZudWxsIT09KHI9ZS5kZWxldGlvbnMpKWZvcihvPTA7bzxyLmxlbmd0aDtvKyspbiYmaUIocltvXSk7aWYobnVsbD09PWUuYWx0ZXJuYXRlJiYwIT0oMiZlLmZsYWdzKSluJiZpTChlKSxpMShuKTtlbHNle2lmKDIyPT09ZS50YWcpe2lmKHI9ZS5hbHRlcm5hdGUsbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSl7bnVsbCE9PXImJm51bGw9PT1yLm1lbW9pemVkU3RhdGUmJm4mJmlCKHIpLGkxKG4pO2NvbnRpbnVlfWVsc2UgaWYobnVsbCE9PXImJm51bGwhPT1yLm1lbW9pemVkU3RhdGUpe24mJmlMKGUpLGkxKG4pO2NvbnRpbnVlfX1yPWUuY2hpbGQsMCE9KGUuc3VidHJlZUZsYWdzJnQpJiZudWxsIT09cj8oci5yZXR1cm49ZSxpRz1yKToobiYmZnVuY3Rpb24gZSh0KXtmb3IodD10LmNoaWxkO251bGwhPT10Oyl7aWYoMzA9PT10LnRhZyl7dmFyIG49dC5tZW1vaXplZFByb3BzLHI9cm4obix0LnN0YXRlTm9kZSk7bj1ybChuLmRlZmF1bHQsbi51cGRhdGUpLHQuZmxhZ3MmPS01LCJub25lIiE9PW4mJmlEKHQscixuLHQubWVtb2l6ZWRTdGF0ZT1bXSwhMSl9ZWxzZSAwIT0oMHgyMDAwMDAwJnQuc3VidHJlZUZsYWdzKSYmZSh0KTt0PXQuc2libGluZ319KGUpLGkxKG4pKX19aXo9bnVsbH0oZSx0LG4pfWZpbmFsbHl7dVM9byxxLnA9bCxXLlQ9cn19dVc9MSwodD1pTyk/dVo9ZnVuY3Rpb24oZSx0LG4scixsLGEsbyxpLHUpe3ZhciBzPTk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O3RyeXt2YXIgYz1zLnN0YXJ0Vmlld1RyYW5zaXRpb24oe3VwZGF0ZTpmdW5jdGlvbigpe3ZhciB0PXMuZGVmYXVsdFZpZXcsbj10Lm5hdmlnYXRpb24mJnQubmF2aWdhdGlvbi50cmFuc2l0aW9uLG89cy5mb250cy5zdGF0dXM7cigpO3ZhciBpPVtdO2lmKCJsb2FkZWQiPT09byYmKHMuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCwibG9hZGluZyI9PT1zLmZvbnRzLnN0YXR1cyYmaS5wdXNoKHMuZm9udHMucmVhZHkpKSxvPWkubGVuZ3RoLG51bGwhPT1lKWZvcih2YXIgdT1lLnN1c3BlbnNleUltYWdlcyxjPTAsZj0wO2Y8dS5sZW5ndGg7ZisrKXt2YXIgZD11W2ZdO2lmKCFkLmNvbXBsZXRlKXt2YXIgcD1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKDA8cC5ib3R0b20mJjA8cC5yaWdodCYmcC50b3A8dC5pbm5lckhlaWdodCYmcC5sZWZ0PHQuaW5uZXJXaWR0aCl7aWYoKGMrPWZ1KGQpKT5mYyl7aS5sZW5ndGg9bzticmVha31kPW5ldyBQcm9taXNlKGNQLmJpbmQoZCkpLGkucHVzaChkKX19fXJldHVybiAwPGkubGVuZ3RoPyh0PVByb21pc2UucmFjZShbUHJvbWlzZS5hbGwoaSksbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MDApfSldKS50aGVuKGwsbCksKG4/UHJvbWlzZS5hbGxTZXR0bGVkKFtuLmZpbmlzaGVkLHRdKTp0KS50aGVuKGEsYSkpOihsKCksbik/bi5maW5pc2hlZC50aGVuKGEsYSk6dm9pZCBhKCl9LHR5cGVzOm59KTtzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1jO3ZhciBmPVtdO3JldHVybiBjLnJlYWR5LnRoZW4oZnVuY3Rpb24oKXtmb3IodmFyIGU9cy5kb2N1bWVudEVsZW1lbnQuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIG49ZVt0XSxyPW4uZWZmZWN0LGw9ci5wc2V1ZG9FbGVtZW50O2lmKG51bGwhPWwmJmwuc3RhcnRzV2l0aCgiOjp2aWV3LXRyYW5zaXRpb24iKSl7Zi5wdXNoKG4pLG49ci5nZXRLZXlmcmFtZXMoKTtmb3IodmFyIGE9bD12b2lkIDAsaT0hMCx1PTA7dTxuLmxlbmd0aDt1Kyspe3ZhciBjPW5bdV0sZD1jLndpZHRoO2lmKHZvaWQgMD09PWwpbD1kO2Vsc2UgaWYobCE9PWQpe2k9ITE7YnJlYWt9aWYoZD1jLmhlaWdodCx2b2lkIDA9PT1hKWE9ZDtlbHNlIGlmKGEhPT1kKXtpPSExO2JyZWFrfWRlbGV0ZSBjLndpZHRoLGRlbGV0ZSBjLmhlaWdodCwibm9uZSI9PT1jLnRyYW5zZm9ybSYmZGVsZXRlIGMudHJhbnNmb3JtfWkmJnZvaWQgMCE9PWwmJnZvaWQgMCE9PWEmJihyLnNldEtleWZyYW1lcyhuKSwoaT1nZXRDb21wdXRlZFN0eWxlKHIudGFyZ2V0LHIucHNldWRvRWxlbWVudCkpLndpZHRoIT09bHx8aS5oZWlnaHQhPT1hKSYmKChpPW5bMF0pLndpZHRoPWwsaS5oZWlnaHQ9YSwoaT1uW24ubGVuZ3RoLTFdKS53aWR0aD1sLGkuaGVpZ2h0PWEsci5zZXRLZXlmcmFtZXMobikpfX1vKCl9LGZ1bmN0aW9uKGUpe3MuX19yZWFjdFZpZXdUcmFuc2l0aW9uPT09YyYmKHMuX19yZWFjdFZpZXdUcmFuc2l0aW9uPW51bGwpO3RyeXsib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiSW52YWxpZFN0YXRlRXJyb3IiPT09ZS5uYW1lJiYoIlZpZXcgdHJhbnNpdGlvbiB3YXMgc2tpcHBlZCBiZWNhdXNlIGRvY3VtZW50IHZpc2liaWxpdHkgc3RhdGUgaXMgaGlkZGVuLiI9PT1lLm1lc3NhZ2V8fCJTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSBkb2N1bWVudCB2aXNpYmlsaXR5IHN0YXRlIGhhcyBiZWNvbWUgaGlkZGVuLiI9PT1lLm1lc3NhZ2V8fCJTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSB2aWV3cG9ydCBzaXplIGNoYW5nZWQuIj09PWUubWVzc2FnZXx8IlRyYW5zaXRpb24gd2FzIGFib3J0ZWQgYmVjYXVzZSBvZiBpbnZhbGlkIHN0YXRlIj09PWUubWVzc2FnZSkmJihlPW51bGwpLG51bGwhPT1lJiZ1KGUpfWZpbmFsbHl7cigpLGwoKSxvKCl9fSksYy5maW5pc2hlZC5maW5hbGx5KGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxmLmxlbmd0aDtlKyspZltlXS5jYW5jZWwoKTtzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj09PWMmJihzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1udWxsKSxpKCl9KSxjfWNhdGNoKGUpe3JldHVybiByKCksbCgpLG8oKSxudWxsfX0oZixlLmNvbnRhaW5lckluZm8sdTEsc3ksc2Isc3Ysc3csc0Usc2csbnVsbCxudWxsKTooc3koKSxzYigpLHN3KCkpfX1mdW5jdGlvbiBzZyhlKXswIT09dVcmJigwLHVxLm9uUmVjb3ZlcmFibGVFcnJvcikoZSx7Y29tcG9uZW50U3RhY2s6bnVsbH0pfWZ1bmN0aW9uIHN2KCl7Mz09PXVXJiYodVc9MCx1byh1Syx1cSksdVc9NCl9ZnVuY3Rpb24gc3koKXtpZigxPT09dVcpe3VXPTA7dmFyIGU9dXEsdD11SyxuPXVYLHI9MCE9KDEzODc4JnQuZmxhZ3MpO2lmKDAhPSgxMzg3OCZ0LnN1YnRyZWVGbGFncyl8fHIpe3I9Vy5ULFcuVD1udWxsO3ZhciBsPXEucDtxLnA9Mjt2YXIgYT11Uzt1U3w9NDt0cnl7aUo9aVo9ITEsdXIodCxlLG4pLG49Y2k7dmFyIG89blYoZS5jb250YWluZXJJbmZvKSxpPW4uZm9jdXNlZEVsZW0sdT1uLnNlbGVjdGlvblJhbmdlO2lmKG8hPT1pJiZpJiZpLm93bmVyRG9jdW1lbnQmJmZ1bmN0aW9uIGUodCxuKXtyZXR1cm4hIXQmJiEhbiYmKHQ9PT1ufHwoIXR8fDMhPT10Lm5vZGVUeXBlKSYmKG4mJjM9PT1uLm5vZGVUeXBlP2UodCxuLnBhcmVudE5vZGUpOiJjb250YWlucyJpbiB0P3QuY29udGFpbnMobik6ISF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYhISgxNiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4pKSkpfShpLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGkpKXtpZihudWxsIT09dSYmbkgoaSkpe3ZhciBzPXUuc3RhcnQsYz11LmVuZDtpZih2b2lkIDA9PT1jJiYoYz1zKSwic2VsZWN0aW9uU3RhcnQiaW4gaSlpLnNlbGVjdGlvblN0YXJ0PXMsaS5zZWxlY3Rpb25FbmQ9TWF0aC5taW4oYyxpLnZhbHVlLmxlbmd0aCk7ZWxzZXt2YXIgZj1pLm93bmVyRG9jdW1lbnR8fGRvY3VtZW50LGQ9ZiYmZi5kZWZhdWx0Vmlld3x8d2luZG93O2lmKGQuZ2V0U2VsZWN0aW9uKXt2YXIgcD1kLmdldFNlbGVjdGlvbigpLG09aS50ZXh0Q29udGVudC5sZW5ndGgsaD1NYXRoLm1pbih1LnN0YXJ0LG0pLGc9dm9pZCAwPT09dS5lbmQ/aDpNYXRoLm1pbih1LmVuZCxtKTshcC5leHRlbmQmJmg+ZyYmKG89ZyxnPWgsaD1vKTt2YXIgdj1uQihpLGgpLHk9bkIoaSxnKTtpZih2JiZ5JiYoMSE9PXAucmFuZ2VDb3VudHx8cC5hbmNob3JOb2RlIT09di5ub2RlfHxwLmFuY2hvck9mZnNldCE9PXYub2Zmc2V0fHxwLmZvY3VzTm9kZSE9PXkubm9kZXx8cC5mb2N1c09mZnNldCE9PXkub2Zmc2V0KSl7dmFyIGI9Zi5jcmVhdGVSYW5nZSgpO2Iuc2V0U3RhcnQodi5ub2RlLHYub2Zmc2V0KSxwLnJlbW92ZUFsbFJhbmdlcygpLGg+Zz8ocC5hZGRSYW5nZShiKSxwLmV4dGVuZCh5Lm5vZGUseS5vZmZzZXQpKTooYi5zZXRFbmQoeS5ub2RlLHkub2Zmc2V0KSxwLmFkZFJhbmdlKGIpKX19fX1mb3IoZj1bXSxwPWk7cD1wLnBhcmVudE5vZGU7KTE9PT1wLm5vZGVUeXBlJiZmLnB1c2goe2VsZW1lbnQ6cCxsZWZ0OnAuc2Nyb2xsTGVmdCx0b3A6cC5zY3JvbGxUb3B9KTtmb3IoImZ1bmN0aW9uIj09dHlwZW9mIGkuZm9jdXMmJmkuZm9jdXMoKSxpPTA7aTxmLmxlbmd0aDtpKyspe3ZhciB3PWZbaV07dy5lbGVtZW50LnNjcm9sbExlZnQ9dy5sZWZ0LHcuZWxlbWVudC5zY3JvbGxUb3A9dy50b3B9fWZfPSEhY28sY2k9Y289bnVsbH1maW5hbGx5e3VTPWEscS5wPWwsVy5UPXJ9fWUuY3VycmVudD10LHVXPTJ9fWZ1bmN0aW9uIHNiKCl7aWYoMj09PXVXKXt1Vz0wO3ZhciBlPXVxLHQ9dUssbj0wIT0oODc3MiZ0LmZsYWdzKTtpZigwIT0oODc3MiZ0LnN1YnRyZWVGbGFncyl8fG4pe249Vy5ULFcuVD1udWxsO3ZhciByPXEucDtxLnA9Mjt2YXIgbD11Uzt1U3w9NDt0cnl7aTIoZSx0LmFsdGVybmF0ZSx0KX1maW5hbGx5e3VTPWwscS5wPXIsVy5UPW59fXVXPTN9fWZ1bmN0aW9uIHN3KCl7aWYoND09PXVXfHwzPT09dVcpe3VXPTAsdVo9bnVsbCxlZygpO3ZhciBlPXVxLHQ9dUssbj11WCxyPXVKLGw9KDB4MTNmZmZmMDAmbik9PT1uPzEwMjYyOjEwMjU2O2lmKDAhPSh0LnN1YnRyZWVGbGFncyZsKXx8MCE9KHQuZmxhZ3MmbCk/dVc9NToodVc9MCx1Sz11cT1udWxsLHNrKGUsZS5wZW5kaW5nTGFuZXMpKSwwPT09KGw9ZS5wZW5kaW5nTGFuZXMpJiYodVE9bnVsbCksZVYobiksdD10LnN0YXRlTm9kZSxlXyYmImZ1bmN0aW9uIj09dHlwZW9mIGVfLm9uQ29tbWl0RmliZXJSb290KXRyeXtlXy5vbkNvbW1pdEZpYmVyUm9vdChleCx0LHZvaWQgMCwxMjg9PSgxMjgmdC5jdXJyZW50LmZsYWdzKSl9Y2F0Y2goZSl7fWlmKG51bGwhPT1yKXt0PVcuVCxsPXEucCxxLnA9MixXLlQ9bnVsbDt0cnl7Zm9yKHZhciBhPWUub25SZWNvdmVyYWJsZUVycm9yLG89MDtvPHIubGVuZ3RoO28rKyl7dmFyIGk9cltvXTthKGkudmFsdWUse2NvbXBvbmVudFN0YWNrOmkuc3RhY2t9KX19ZmluYWxseXtXLlQ9dCxxLnA9bH19aWYocj11MCxhPXUxLHUxPW51bGwsbnVsbCE9PXIpZm9yKHUwPW51bGwsbnVsbD09PWEmJihhPVtdKSxpPTA7aTxyLmxlbmd0aDtpKyspKDAscltpXSkoYSk7MCE9KDMmdVgpJiZzUygpLHNGKGUpLGw9ZS5wZW5kaW5nTGFuZXMsMCE9KDI2MTkzMCZuKSYmMCE9KDQyJmwpP2U9PT11Mz91MisrOih1Mj0wLHUzPWUpOnUyPTAsc0EoMCwhMSl9fWZ1bmN0aW9uIHNrKGUsdCl7MD09KGUucG9vbGVkQ2FjaGVMYW5lcyY9dCkmJm51bGwhPSh0PWUucG9vbGVkQ2FjaGUpJiYoZS5wb29sZWRDYWNoZT1udWxsLGxzKHQpKX1mdW5jdGlvbiBzUygpe3JldHVybiBudWxsIT09dVomJih1Wi5za2lwVHJhbnNpdGlvbigpLHVaPW51bGwpLHN5KCksc2IoKSxzdygpLHNFKCl9ZnVuY3Rpb24gc0UoKXtpZig1IT09dVcpcmV0dXJuITE7dmFyIGU9dXEsdD11Rzt1Rz0wO3ZhciBuPWVWKHVYKSxyPVcuVCxsPXEucDt0cnl7cS5wPTMyPm4/MzI6bixXLlQ9bnVsbCxuPXVZLHVZPW51bGw7dmFyIGE9dXEsbz11WDtpZih1Vz0wLHVLPXVxPW51bGwsdVg9MCwwIT0oNiZ1UykpdGhyb3cgRXJyb3IodSgzMzEpKTt2YXIgaT11UztpZih1U3w9NCx1eShhLmN1cnJlbnQpLHVmKGEsYS5jdXJyZW50LG8sbiksdVM9aSxzQSgwLCExKSxlXyYmImZ1bmN0aW9uIj09dHlwZW9mIGVfLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7ZV8ub25Qb3N0Q29tbWl0RmliZXJSb290KGV4LGEpfWNhdGNoKGUpe31yZXR1cm4hMH1maW5hbGx5e3EucD1sLFcuVD1yLHNrKGUsdCl9fWZ1bmN0aW9uIHN4KGUsdCxuKXt0PXJOKG4sdCksdD1vRChlLnN0YXRlTm9kZSx0LDIpLG51bGwhPT0oZT1sJChlLHQsMikpJiYoZUYoZSwyKSxzRihlKSl9ZnVuY3Rpb24gc18oZSx0LG4pe2lmKDM9PT1lLnRhZylzeChlLGUsbik7ZWxzZSBmb3IoO251bGwhPT10Oyl7aWYoMz09PXQudGFnKXtzeCh0LGUsbik7YnJlYWt9aWYoMT09PXQudGFnKXt2YXIgcj10LnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09dVF8fCF1US5oYXMocikpKXtlPXJOKG4sZSksbnVsbCE9PShyPWwkKHQsbj1vRigyKSwyKSkmJihvQShuLHIsdCxlKSxlRihyLDIpLHNGKHIpKTticmVha319dD10LnJldHVybn19ZnVuY3Rpb24gc1AoZSx0LG4pe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyB1azt2YXIgbD1uZXcgU2V0O3Iuc2V0KHQsbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldCh0KSkmJihsPW5ldyBTZXQsci5zZXQodCxsKSk7bC5oYXMobil8fCh1Tz0hMCxsLmFkZChuKSxlPXNOLmJpbmQobnVsbCxlLHQsbiksdC50aGVuKGUsZSkpfWZ1bmN0aW9uIHNOKGUsdCxuKXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUodCksZS5waW5nZWRMYW5lc3w9ZS5zdXNwZW5kZWRMYW5lcyZuLGUud2FybUxhbmVzJj1+bix1RT09PWUmJih1XyZuKT09PW4mJig0PT09dUx8fDM9PT11TCYmKDB4M2MwMDAwMCZ1Xyk9PT11XyYmMzAwPmV2KCktdUI/MD09KDImdVMpJiZzcihlLDApOnVJfD1uLHVGPT09dV8mJih1Rj0wKSksc0YoZSl9ZnVuY3Rpb24gc0MoZSx0KXswPT09dCYmKHQ9ZUkoKSksbnVsbCE9PShlPXJkKGUsdCkpJiYoZUYoZSx0KSxzRihlKSl9ZnVuY3Rpb24gc1QoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlLG49MDtudWxsIT09dCYmKG49dC5yZXRyeUxhbmUpLHNDKGUsbil9ZnVuY3Rpb24gc08oZSx0KXt2YXIgbj0wO3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOnZhciByPWUuc3RhdGVOb2RlLGw9ZS5tZW1vaXplZFN0YXRlO251bGwhPT1sJiYobj1sLnJldHJ5TGFuZSk7YnJlYWs7Y2FzZSAxOTpyPWUuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMjI6cj1lLnN0YXRlTm9kZS5fcmV0cnlDYWNoZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKHQpLHNDKGUsbil9dmFyIHN6PW51bGwsc0w9bnVsbCxzUj0hMSxzTT0hMSxzST0hMSxzRD0wO2Z1bmN0aW9uIHNGKGUpe2UhPT1zTCYmbnVsbD09PWUubmV4dCYmKG51bGw9PT1zTD9zej1zTD1lOnNMPXNMLm5leHQ9ZSksc009ITAsc1J8fChzUj0hMCxjZyhmdW5jdGlvbigpezAhPSg2JnVTKT9lcChlYixzaik6c1UoKX0pKX1mdW5jdGlvbiBzQShlLHQpe2lmKCFzSSYmc00pe3NJPSEwO2RvIGZvcih2YXIgbj0hMSxyPXN6O251bGwhPT1yOyl7aWYoIXQpaWYoMCE9PWUpe3ZhciBsPXIucGVuZGluZ0xhbmVzO2lmKDA9PT1sKXZhciBhPTA7ZWxzZXt2YXIgbz1yLnN1c3BlbmRlZExhbmVzLGk9ci5waW5nZWRMYW5lczthPTB4YzAwMDA5NSYoYT0oMTw8MzEtZVAoNDJ8ZSkrMSktMSYobCZ+KG8mfmkpKSk/MHhjMDAwMDk1JmF8MTphPzJ8YTowfTAhPT1hJiYobj0hMCxzSChyLGEpKX1lbHNlIGE9dV8sMD09KDMmKGE9ZVIocixyPT09dUU/YTowLG51bGwhPT1yLmNhbmNlbFBlbmRpbmdDb21taXR8fC0xIT09ci50aW1lb3V0SGFuZGxlKSkpfHxlTShyLGEpfHwobj0hMCxzSChyLGEpKTtyPXIubmV4dH13aGlsZShuKXNJPSExfX1mdW5jdGlvbiBzaigpe3NVKCl9ZnVuY3Rpb24gc1UoKXtzTT1zUj0hMTt2YXIgZSx0PTA7MD09PXNEfHwoKGU9d2luZG93LmV2ZW50KSYmInBvcHN0YXRlIj09PWUudHlwZT9lPT09Y2R8fChjZD1lLDApOihjZD1udWxsLDEpKXx8KHQ9c0QpO2Zvcih2YXIgbj1ldigpLHI9bnVsbCxsPXN6O251bGwhPT1sOyl7dmFyIGE9bC5uZXh0LG89c0IobCxuKTswPT09bz8obC5uZXh0PW51bGwsbnVsbD09PXI/c3o9YTpyLm5leHQ9YSxudWxsPT09YSYmKHNMPXIpKToocj1sLCgwIT09dHx8MCE9KDMmbykpJiYoc009ITApKSxsPWF9MCE9PXVXJiY1IT09dVd8fHNBKHQsITEpLDAhPT1zRCYmKHNEPTApfWZ1bmN0aW9uIHNCKGUsdCl7Zm9yKHZhciBuPWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT0tMHgzYzAwMDAxJmUucGVuZGluZ0xhbmVzOzA8YTspe3ZhciBvPTMxLWVQKGEpLGk9MTw8byx1PWxbb107LTE9PT11PygwPT0oaSZuKXx8MCE9KGkmcikpJiYobFtvXT1mdW5jdGlvbihlLHQpe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpjYXNlIDg6Y2FzZSA2NDpyZXR1cm4gdCsyNTA7Y2FzZSAxNjpjYXNlIDMyOmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiB0KzVlMztkZWZhdWx0OnJldHVybiAtMX19KGksdCkpOnU8PXQmJihlLmV4cGlyZWRMYW5lc3w9aSksYSY9fml9aWYodD11RSxuPXVfLG49ZVIoZSxlPT09dD9uOjAsbnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdHx8LTEhPT1lLnRpbWVvdXRIYW5kbGUpLHI9ZS5jYWxsYmFja05vZGUsMD09PW58fGU9PT10JiYoMj09PXVQfHw5PT09dVApfHxudWxsIT09ZS5jYW5jZWxQZW5kaW5nQ29tbWl0KXJldHVybiBudWxsIT09ciYmbnVsbCE9PXImJmVtKHIpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7aWYoMD09KDMmbil8fGVNKGUsbikpe2lmKCh0PW4mLW4pPT09ZS5jYWxsYmFja1ByaW9yaXR5KXJldHVybiB0O3N3aXRjaChudWxsIT09ciYmZW0ociksZVYobikpe2Nhc2UgMjpjYXNlIDg6bj1ldzticmVhaztjYXNlIDMyOmRlZmF1bHQ6bj1lazticmVhaztjYXNlIDB4MTAwMDAwMDA6bj1lRX1yZXR1cm4gbj1lcChuLHI9c1YuYmluZChudWxsLGUpKSxlLmNhbGxiYWNrUHJpb3JpdHk9dCxlLmNhbGxiYWNrTm9kZT1uLHR9cmV0dXJuIG51bGwhPT1yJiZudWxsIT09ciYmZW0ociksZS5jYWxsYmFja1ByaW9yaXR5PTIsZS5jYWxsYmFja05vZGU9bnVsbCwyfWZ1bmN0aW9uIHNWKGUsdCl7aWYoMCE9PXVXJiY1IT09dVcpcmV0dXJuIGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTAsbnVsbDt2YXIgbj1lLmNhbGxiYWNrTm9kZTtpZihzUygpJiZlLmNhbGxiYWNrTm9kZSE9PW4pcmV0dXJuIG51bGw7dmFyIHI9dV87cmV0dXJuIDA9PT0ocj1lUihlLGU9PT11RT9yOjAsbnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdHx8LTEhPT1lLnRpbWVvdXRIYW5kbGUpKT9udWxsOih1OShlLHIsdCksc0IoZSxldigpKSxudWxsIT1lLmNhbGxiYWNrTm9kZSYmZS5jYWxsYmFja05vZGU9PT1uP3NWLmJpbmQobnVsbCxlKTpudWxsKX1mdW5jdGlvbiBzSChlLHQpe2lmKHNTKCkpcmV0dXJuIG51bGw7dTkoZSx0LCEwKX1mdW5jdGlvbiBzJCgpe2lmKDA9PT1zRCl7dmFyIGU9bG07MD09PWUmJihlPWVULDA9PSgyNjE4ODgmKGVUPDw9MSkpJiYoZVQ9MjU2KSksc0Q9ZX1yZXR1cm4gc0R9ZnVuY3Rpb24gc1EoZSl7cmV0dXJuIG51bGw9PWV8fCJzeW1ib2wiPT10eXBlb2YgZXx8ImJvb2xlYW4iPT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6dEMoIiIrZSl9ZnVuY3Rpb24gc1coZSx0KXt2YXIgbj10Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtyZXR1cm4gbi5uYW1lPXQubmFtZSxuLnZhbHVlPXQudmFsdWUsZS5pZCYmbi5zZXRBdHRyaWJ1dGUoImZvcm0iLGUuaWQpLHQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobix0KSxlPW5ldyBGb3JtRGF0YShlKSxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksZX1mb3IodmFyIHNxPTA7c3E8bjcubGVuZ3RoO3NxKyspe3ZhciBzSz1uN1tzcV07cmUoc0sudG9Mb3dlckNhc2UoKSwib24iKyhzS1swXS50b1VwcGVyQ2FzZSgpK3NLLnNsaWNlKDEpKSl9cmUobjEsIm9uQW5pbWF0aW9uRW5kIikscmUobjIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIikscmUobjMsIm9uQW5pbWF0aW9uU3RhcnQiKSxyZSgiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIikscmUoImZvY3VzaW4iLCJvbkZvY3VzIikscmUoImZvY3Vzb3V0Iiwib25CbHVyIikscmUobjQsIm9uVHJhbnNpdGlvblJ1biIpLHJlKG44LCJvblRyYW5zaXRpb25TdGFydCIpLHJlKG41LCJvblRyYW5zaXRpb25DYW5jZWwiKSxyZShuNiwib25UcmFuc2l0aW9uRW5kIiksZTcoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxlNygib25Nb3VzZUxlYXZlIixbIm1vdXNlb3V0IiwibW91c2VvdmVyIl0pLGU3KCJvblBvaW50ZXJFbnRlciIsWyJwb2ludGVyb3V0IiwicG9pbnRlcm92ZXIiXSksZTcoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxlOSgib25DaGFuZ2UiLCJjaGFuZ2UgY2xpY2sgZm9jdXNpbiBmb2N1c291dCBpbnB1dCBrZXlkb3duIGtleXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksZTkoIm9uU2VsZWN0IiwiZm9jdXNvdXQgY29udGV4dG1lbnUgZHJhZ2VuZCBmb2N1c2luIGtleWRvd24ga2V5dXAgbW91c2Vkb3duIG1vdXNldXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxlOSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksZTkoIm9uQ29tcG9zaXRpb25FbmQiLCJjb21wb3NpdGlvbmVuZCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSksZTkoIm9uQ29tcG9zaXRpb25TdGFydCIsImNvbXBvc2l0aW9uc3RhcnQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpLGU5KCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpO3ZhciBzWD0iYWJvcnQgY2FucGxheSBjYW5wbGF5dGhyb3VnaCBkdXJhdGlvbmNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBsb2FkZWRkYXRhIGxvYWRlZG1ldGFkYXRhIGxvYWRzdGFydCBwYXVzZSBwbGF5IHBsYXlpbmcgcHJvZ3Jlc3MgcmF0ZWNoYW5nZSByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdXNwZW5kIHRpbWV1cGRhdGUgdm9sdW1lY2hhbmdlIHdhaXRpbmciLnNwbGl0KCIgIiksc0c9bmV3IFNldCgiYmVmb3JldG9nZ2xlIGNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHNjcm9sbGVuZCB0b2dnbGUiLnNwbGl0KCIgIikuY29uY2F0KHNYKSk7ZnVuY3Rpb24gc1koZSx0KXt0PTAhPSg0JnQpO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5ldmVudDtyPXIubGlzdGVuZXJzO2U6e3ZhciBhPXZvaWQgMDtpZih0KWZvcih2YXIgbz1yLmxlbmd0aC0xOzA8PW87by0tKXt2YXIgaT1yW29dLHU9aS5pbnN0YW5jZSxzPWkuY3VycmVudFRhcmdldDtpZihpPWkubGlzdGVuZXIsdSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO2E9aSxsLmN1cnJlbnRUYXJnZXQ9czt0cnl7YShsKX1jYXRjaChlKXtyYShlKX1sLmN1cnJlbnRUYXJnZXQ9bnVsbCxhPXV9ZWxzZSBmb3Iobz0wO288ci5sZW5ndGg7bysrKXtpZih1PShpPXJbb10pLmluc3RhbmNlLHM9aS5jdXJyZW50VGFyZ2V0LGk9aS5saXN0ZW5lcix1IT09YSYmbC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGU7YT1pLGwuY3VycmVudFRhcmdldD1zO3RyeXthKGwpfWNhdGNoKGUpe3JhKGUpfWwuY3VycmVudFRhcmdldD1udWxsLGE9dX19fX1mdW5jdGlvbiBzSihlLHQpe3ZhciBuPXRbZVhdO3ZvaWQgMD09PW4mJihuPXRbZVhdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjtuLmhhcyhyKXx8KHMyKHQsZSwyLCExKSxuLmFkZChyKSl9ZnVuY3Rpb24gc1ooZSx0LG4pe3ZhciByPTA7dCYmKHJ8PTQpLHMyKG4sZSxyLHQpfXZhciBzMD0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBzMShlKXtpZighZVtzMF0pe2VbczBdPSEwLGU1LmZvckVhY2goZnVuY3Rpb24odCl7InNlbGVjdGlvbmNoYW5nZSIhPT10JiYoc0cuaGFzKHQpfHxzWih0LCExLGUpLHNaKHQsITAsZSkpfSk7dmFyIHQ9OT09PWUubm9kZVR5cGU/ZTplLm93bmVyRG9jdW1lbnQ7bnVsbD09PXR8fHRbczBdfHwodFtzMF09ITAsc1ooInNlbGVjdGlvbmNoYW5nZSIsITEsdCkpfX1mdW5jdGlvbiBzMihlLHQsbixyKXtzd2l0Y2goZkwodCkpe2Nhc2UgMjp2YXIgbD1mUDticmVhaztjYXNlIDg6bD1mTjticmVhaztkZWZhdWx0Omw9ZkN9bj1sLmJpbmQobnVsbCx0LG4sZSksbD12b2lkIDAsdGomJigidG91Y2hzdGFydCI9PT10fHwidG91Y2htb3ZlIj09PXR8fCJ3aGVlbCI9PT10KSYmKGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcih0LG4sITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKHQsbix7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKHQsbiwhMSl9ZnVuY3Rpb24gczMoZSx0LG4scixsKXt2YXIgYT1yO2lmKDA9PSgxJnQpJiYwPT0oMiZ0KSYmbnVsbCE9PXIpZTpmb3IoOzspe2lmKG51bGw9PT1yKXJldHVybjt2YXIgbz1yLnRhZztpZigzPT09b3x8ND09PW8pe3ZhciBpPXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWYoaT09PWwpYnJlYWs7aWYoND09PW8pZm9yKG89ci5yZXR1cm47bnVsbCE9PW87KXt2YXIgdT1vLnRhZztpZigoMz09PXV8fDQ9PT11KSYmby5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWwpcmV0dXJuO289by5yZXR1cm59Zm9yKDtudWxsIT09aTspe2lmKG51bGw9PT0obz1lMShpKSkpcmV0dXJuO2lmKDU9PT0odT1vLnRhZyl8fDY9PT11fHwyNj09PXV8fDI3PT09dSl7cj1hPW87Y29udGludWUgZX1pPWkucGFyZW50Tm9kZX19cj1yLnJldHVybn10RChmdW5jdGlvbigpe3ZhciByPWEsbD10eihuKSxvPVtdO2U6e3ZhciBpPW45LmdldChlKTtpZih2b2lkIDAhPT1pKXt2YXIgdT10MSxzPWU7c3dpdGNoKGUpe2Nhc2Uia2V5cHJlc3MiOmlmKDA9PT10UShuKSlicmVhayBlO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6dT1ubzticmVhaztjYXNlImZvY3VzaW4iOnM9ImZvY3VzIix1PXQ2O2JyZWFrO2Nhc2UiZm9jdXNvdXQiOnM9ImJsdXIiLHU9dDY7YnJlYWs7Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6dT10NjticmVhaztjYXNlImNsaWNrIjppZigyPT09bi5idXR0b24pYnJlYWsgZTtjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2V1cCI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UiY29udGV4dG1lbnUiOnU9dDg7YnJlYWs7Y2FzZSJkcmFnIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJkcmFnc3RhcnQiOmNhc2UiZHJvcCI6dT10NTticmVhaztjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ0b3VjaHN0YXJ0Ijp1PW51O2JyZWFrO2Nhc2UgbjE6Y2FzZSBuMjpjYXNlIG4zOnU9dDk7YnJlYWs7Y2FzZSBuNjp1PW5zO2JyZWFrO2Nhc2Uic2Nyb2xsIjpjYXNlInNjcm9sbGVuZCI6dT10MzticmVhaztjYXNlIndoZWVsIjp1PW5jO2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOnU9dDc7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVybW92ZSI6Y2FzZSJwb2ludGVyb3V0IjpjYXNlInBvaW50ZXJvdmVyIjpjYXNlInBvaW50ZXJ1cCI6dT1uaTticmVhaztjYXNlInRvZ2dsZSI6Y2FzZSJiZWZvcmV0b2dnbGUiOnU9bmZ9dmFyIGY9MCE9KDQmdCksZD0hZiYmKCJzY3JvbGwiPT09ZXx8InNjcm9sbGVuZCI9PT1lKSxwPWY/bnVsbCE9PWk/aSsiQ2FwdHVyZSI6bnVsbDppO2Y9W107Zm9yKHZhciBtLGg9cjtudWxsIT09aDspe3ZhciBnPWg7aWYobT1nLnN0YXRlTm9kZSw1IT09KGc9Zy50YWcpJiYyNiE9PWcmJjI3IT09Z3x8bnVsbD09PW18fG51bGw9PT1wfHxudWxsIT0oZz10RihoLHApKSYmZi5wdXNoKHM0KGgsZyxtKSksZClicmVhaztoPWgucmV0dXJufTA8Zi5sZW5ndGgmJihpPW5ldyB1KGkscyxudWxsLG4sbCksby5wdXNoKHtldmVudDppLGxpc3RlbmVyczpmfSkpfX1pZigwPT0oNyZ0KSl7dT0ibW91c2VvdmVyIj09PWV8fCJwb2ludGVyb3ZlciI9PT1lLGk9Im1vdXNlb3V0Ij09PWV8fCJwb2ludGVyb3V0Ij09PWUsISh1JiZuIT09dE8mJihzPW4ucmVsYXRlZFRhcmdldHx8bi5mcm9tRWxlbWVudCkmJihlMShzKXx8c1tlS10pKSYmKGl8fHUpJiYocz1sLndpbmRvdz09PWw/bDoodT1sLm93bmVyRG9jdW1lbnQpP3UuZGVmYXVsdFZpZXd8fHUucGFyZW50V2luZG93OndpbmRvdyxpPyh1PW4ucmVsYXRlZFRhcmdldHx8bi50b0VsZW1lbnQsaT1yLG51bGwhPT0odT11P2UxKHUpOm51bGwpJiYoZD1jKHUpLGY9dS50YWcsdSE9PWR8fDUhPT1mJiYyNyE9PWYmJjYhPT1mKSYmKHU9bnVsbCkpOihpPW51bGwsdT1yKSxpIT09dSYmKGY9dDgsZz0ib25Nb3VzZUxlYXZlIixwPSJvbk1vdXNlRW50ZXIiLGg9Im1vdXNlIiwoInBvaW50ZXJvdXQiPT09ZXx8InBvaW50ZXJvdmVyIj09PWUpJiYoZj1uaSxnPSJvblBvaW50ZXJMZWF2ZSIscD0ib25Qb2ludGVyRW50ZXIiLGg9InBvaW50ZXIiKSxkPW51bGw9PWk/czplMyhpKSxtPW51bGw9PXU/czplMyh1KSwocz1uZXcgZihnLGgrImxlYXZlIixpLG4sbCkpLnRhcmdldD1kLHMucmVsYXRlZFRhcmdldD1tLGc9bnVsbCxlMShsKT09PXImJigoZj1uZXcgZihwLGgrImVudGVyIix1LG4sbCkpLnRhcmdldD1tLGYucmVsYXRlZFRhcmdldD1kLGc9ZiksZD1nLGY9aSYmdT9FKGksdSxzNSk6bnVsbCxudWxsIT09aSYmczYobyxzLGksZiwhMSksbnVsbCE9PXUmJm51bGwhPT1kJiZzNihvLGQsdSxmLCEwKSkpO2U6e2lmKCJzZWxlY3QiPT09KHU9KGk9cj9lMyhyKTp3aW5kb3cpLm5vZGVOYW1lJiZpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09dSYmImZpbGUiPT09aS50eXBlKXZhciB2LHk9bkM7ZWxzZSBpZihuUyhpKSlpZihuVCl5PW5GO2Vsc2V7eT1uSTt2YXIgYj1uTX1lbHNlKHU9aS5ub2RlTmFtZSkmJiJpbnB1dCI9PT11LnRvTG93ZXJDYXNlKCkmJigiY2hlY2tib3giPT09aS50eXBlfHwicmFkaW8iPT09aS50eXBlKT95PW5EOnImJnRfKHIuZWxlbWVudFR5cGUpJiYoeT1uQyk7aWYoeSYmKHk9eShlLHIpKSl7bkUobyx5LG4sbCk7YnJlYWsgZX1iJiZiKGUsaSxyKSwiZm9jdXNvdXQiPT09ZSYmciYmIm51bWJlciI9PT1pLnR5cGUmJm51bGwhPXIubWVtb2l6ZWRQcm9wcy52YWx1ZSYmdHYoaSwibnVtYmVyIixpLnZhbHVlKX1zd2l0Y2goYj1yP2UzKHIpOndpbmRvdyxlKXtjYXNlImZvY3VzaW4iOihuUyhiKXx8InRydWUiPT09Yi5jb250ZW50RWRpdGFibGUpJiYoblE9YixuVz1yLG5xPW51bGwpO2JyZWFrO2Nhc2UiZm9jdXNvdXQiOm5xPW5XPW5RPW51bGw7YnJlYWs7Y2FzZSJtb3VzZWRvd24iOm5LPSEwO2JyZWFrO2Nhc2UiY29udGV4dG1lbnUiOmNhc2UibW91c2V1cCI6Y2FzZSJkcmFnZW5kIjpuSz0hMSxuWChvLG4sbCk7YnJlYWs7Y2FzZSJzZWxlY3Rpb25jaGFuZ2UiOmlmKG4kKWJyZWFrO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6blgobyxuLGwpfWlmKG5wKXQ6e3N3aXRjaChlKXtjYXNlImNvbXBvc2l0aW9uc3RhcnQiOnZhciB3PSJvbkNvbXBvc2l0aW9uU3RhcnQiO2JyZWFrIHQ7Y2FzZSJjb21wb3NpdGlvbmVuZCI6dz0ib25Db21wb3NpdGlvbkVuZCI7YnJlYWsgdDtjYXNlImNvbXBvc2l0aW9udXBkYXRlIjp3PSJvbkNvbXBvc2l0aW9uVXBkYXRlIjticmVhayB0fXc9dm9pZCAwfWVsc2Ugbnc/bnkoZSxuKSYmKHc9Im9uQ29tcG9zaXRpb25FbmQiKToia2V5ZG93biI9PT1lJiYyMjk9PT1uLmtleUNvZGUmJih3PSJvbkNvbXBvc2l0aW9uU3RhcnQiKTt3JiYobmcmJiJrbyIhPT1uLmxvY2FsZSYmKG53fHwib25Db21wb3NpdGlvblN0YXJ0IiE9PXc/Im9uQ29tcG9zaXRpb25FbmQiPT09dyYmbncmJih2PXQkKCkpOih0Vj0idmFsdWUiaW4odEI9bCk/dEIudmFsdWU6dEIudGV4dENvbnRlbnQsbnc9ITApKSwwPChiPXM4KHIsdykpLmxlbmd0aCYmKHc9bmV3IG5lKHcsZSxudWxsLG4sbCksby5wdXNoKHtldmVudDp3LGxpc3RlbmVyczpifSksdj93LmRhdGE9djpudWxsIT09KHY9bmIobikpJiYody5kYXRhPXYpKSksKHY9bmg/ZnVuY3Rpb24oZSx0KXtzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIG5iKHQpO2Nhc2Uia2V5cHJlc3MiOmlmKDMyIT09dC53aGljaClyZXR1cm4gbnVsbDtyZXR1cm4gbnY9ITAsIiAiO2Nhc2UidGV4dElucHV0IjpyZXR1cm4iICI9PT0oZT10LmRhdGEpJiZudj9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsbik6ZnVuY3Rpb24oZSx0KXtpZihudylyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IW5wJiZueShlLHQpPyhlPXQkKCksdEg9dFY9dEI9bnVsbCxudz0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEodC5jdHJsS2V5fHx0LmFsdEtleXx8dC5tZXRhS2V5KXx8dC5jdHJsS2V5JiZ0LmFsdEtleSl7aWYodC5jaGFyJiYxPHQuY2hhci5sZW5ndGgpcmV0dXJuIHQuY2hhcjtpZih0LndoaWNoKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHQud2hpY2gpfXJldHVybiBudWxsO2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBuZyYmImtvIiE9PXQubG9jYWxlP251bGw6dC5kYXRhfX0oZSxuKSkmJjA8KHc9czgociwib25CZWZvcmVJbnB1dCIpKS5sZW5ndGgmJihiPW5ldyBuZSgib25CZWZvcmVJbnB1dCIsImJlZm9yZWlucHV0IixudWxsLG4sbCksby5wdXNoKHtldmVudDpiLGxpc3RlbmVyczp3fSksYi5kYXRhPXYpO3ZhciBrPWU7aWYoInN1Ym1pdCI9PT1rJiZyJiZyLnN0YXRlTm9kZT09PWwpe3ZhciBTPXNRKChsW2VxXXx8bnVsbCkuYWN0aW9uKSx4PW4uc3VibWl0dGVyO3gmJm51bGwhPT0oaz0oaz14W2VxXXx8bnVsbCk/c1Eoay5mb3JtQWN0aW9uKTp4LmdldEF0dHJpYnV0ZSgiZm9ybUFjdGlvbiIpKSYmKFM9ayx4PW51bGwpO3ZhciBfPW5ldyB0MSgiYWN0aW9uIiwiYWN0aW9uIixudWxsLG4sbCk7by5wdXNoKHtldmVudDpfLGxpc3RlbmVyczpbe2luc3RhbmNlOm51bGwsbGlzdGVuZXI6ZnVuY3Rpb24oKXtpZihuLmRlZmF1bHRQcmV2ZW50ZWQpe2lmKDAhPT1zRCl7dmFyIGU9eD9zVyhsLHgpOm5ldyBGb3JtRGF0YShsKTtvdShyLHtwZW5kaW5nOiEwLGRhdGE6ZSxtZXRob2Q6bC5tZXRob2QsYWN0aW9uOlN9LG51bGwsZSl9fWVsc2UiZnVuY3Rpb24iPT10eXBlb2YgUyYmKF8ucHJldmVudERlZmF1bHQoKSxvdShyLHtwZW5kaW5nOiEwLGRhdGE6ZT14P3NXKGwseCk6bmV3IEZvcm1EYXRhKGwpLG1ldGhvZDpsLm1ldGhvZCxhY3Rpb246U30sUyxlKSl9LGN1cnJlbnRUYXJnZXQ6bH1dfSl9fXNZKG8sdCl9KX1mdW5jdGlvbiBzNChlLHQsbil7cmV0dXJue2luc3RhbmNlOmUsbGlzdGVuZXI6dCxjdXJyZW50VGFyZ2V0Om59fWZ1bmN0aW9uIHM4KGUsdCl7Zm9yKHZhciBuPXQrIkNhcHR1cmUiLHI9W107bnVsbCE9PWU7KXt2YXIgbD1lLGE9bC5zdGF0ZU5vZGU7aWYoNSE9PShsPWwudGFnKSYmMjYhPT1sJiYyNyE9PWx8fG51bGw9PT1hfHwobnVsbCE9KGw9dEYoZSxuKSkmJnIudW5zaGlmdChzNChlLGwsYSkpLG51bGwhPShsPXRGKGUsdCkpJiZyLnB1c2goczQoZSxsLGEpKSksMz09PWUudGFnKXJldHVybiByO2U9ZS5yZXR1cm59cmV0dXJuW119ZnVuY3Rpb24gczUoZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7ZG8gZT1lLnJldHVybjt3aGlsZShlJiY1IT09ZS50YWcmJjI3IT09ZS50YWcpcmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gczYoZSx0LG4scixsKXtmb3IodmFyIGE9dC5fcmVhY3ROYW1lLG89W107bnVsbCE9PW4mJm4hPT1yOyl7dmFyIGk9bix1PWkuYWx0ZXJuYXRlLHM9aS5zdGF0ZU5vZGU7aWYoaT1pLnRhZyxudWxsIT09dSYmdT09PXIpYnJlYWs7NSE9PWkmJjI2IT09aSYmMjchPT1pfHxudWxsPT09c3x8KHU9cyxsP251bGwhPShzPXRGKG4sYSkpJiZvLnVuc2hpZnQoczQobixzLHUpKTpsfHxudWxsIT0ocz10RihuLGEpKSYmby5wdXNoKHM0KG4scyx1KSkpLG49bi5yZXR1cm59MCE9PW8ubGVuZ3RoJiZlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOm99KX12YXIgczk9L1xyXG4/L2csczc9L1x1MDAwMHxcdUZGRkQvZztmdW5jdGlvbiBjZShlKXtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiBlP2U6IiIrZSkucmVwbGFjZShzOSwiXG4iKS5yZXBsYWNlKHM3LCIiKX1mdW5jdGlvbiBjdChlLHQpe3JldHVybiB0PWNlKHQpLGNlKGUpPT09dH1mdW5jdGlvbiBjbihlLHQsbixyLGwsYSl7c3dpdGNoKG4pe2Nhc2UiY2hpbGRyZW4iOmlmKCJzdHJpbmciPT10eXBlb2YgcikiYm9keSI9PT10fHwidGV4dGFyZWEiPT09dCYmIiI9PT1yfHx0ayhlLHIpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiByJiYiYmlnaW50IiE9dHlwZW9mIHIpcmV0dXJuOyJib2R5IiE9PXQmJnRrKGUsIiIrcil9YnJlYWs7Y2FzZSJjbGFzc05hbWUiOnRvKGUsImNsYXNzIixyKTticmVhaztjYXNlInRhYkluZGV4Ijp0byhlLCJ0YWJpbmRleCIscik7YnJlYWs7Y2FzZSJkaXIiOmNhc2Uicm9sZSI6Y2FzZSJ2aWV3Qm94IjpjYXNlIndpZHRoIjpjYXNlImhlaWdodCI6dG8oZSxuLHIpO2JyZWFrO2Nhc2Uic3R5bGUiOnR4KGUscixhKTtyZXR1cm47Y2FzZSJkYXRhIjppZigib2JqZWN0IiE9PXQpe3RvKGUsImRhdGEiLHIpO2JyZWFrfWNhc2Uic3JjIjpjYXNlImhyZWYiOmlmKCIiPT09ciYmKCJhIiE9PXR8fCJocmVmIiE9PW4pfHxudWxsPT1yfHwiZnVuY3Rpb24iPT10eXBlb2Ygcnx8InN5bWJvbCI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31yPXRDKCIiK3IpLGUuc2V0QXR0cmlidXRlKG4scik7YnJlYWs7Y2FzZSJhY3Rpb24iOmNhc2UiZm9ybUFjdGlvbiI6aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe2Uuc2V0QXR0cmlidXRlKG4sImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdBIFJlYWN0IGZvcm0gd2FzIHVuZXhwZWN0ZWRseSBzdWJtaXR0ZWQuIElmIHlvdSBjYWxsZWQgZm9ybS5zdWJtaXQoKSBtYW51YWxseSwgY29uc2lkZXIgdXNpbmcgZm9ybS5yZXF1ZXN0U3VibWl0KCkgaW5zdGVhZC4gSWYgeW91XFwncmUgdHJ5aW5nIHRvIHVzZSBldmVudC5zdG9wUHJvcGFnYXRpb24oKSBpbiBhIHN1Ym1pdCBldmVudCBoYW5kbGVyLCBjb25zaWRlciBhbHNvIGNhbGxpbmcgZXZlbnQucHJldmVudERlZmF1bHQoKS4nKSIpO2JyZWFrfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBhJiYoImZvcm1BY3Rpb24iPT09bj8oImlucHV0IiE9PXQmJmNuKGUsdCwibmFtZSIsbC5uYW1lLGwsbnVsbCksY24oZSx0LCJmb3JtRW5jVHlwZSIsbC5mb3JtRW5jVHlwZSxsLG51bGwpLGNuKGUsdCwiZm9ybU1ldGhvZCIsbC5mb3JtTWV0aG9kLGwsbnVsbCksY24oZSx0LCJmb3JtVGFyZ2V0IixsLmZvcm1UYXJnZXQsbCxudWxsKSk6KGNuKGUsdCwiZW5jVHlwZSIsbC5lbmNUeXBlLGwsbnVsbCksY24oZSx0LCJtZXRob2QiLGwubWV0aG9kLGwsbnVsbCksY24oZSx0LCJ0YXJnZXQiLGwudGFyZ2V0LGwsbnVsbCkpKSxudWxsPT1yfHwic3ltYm9sIj09dHlwZW9mIHJ8fCJib29sZWFuIj09dHlwZW9mIHIpe2UucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrfXI9dEMoIiIrciksZS5zZXRBdHRyaWJ1dGUobixyKTticmVhaztjYXNlIm9uQ2xpY2siOm51bGwhPXImJihlLm9uY2xpY2s9dFQpO3JldHVybjtjYXNlIm9uU2Nyb2xsIjpudWxsIT1yJiZzSigic2Nyb2xsIixlKTtyZXR1cm47Y2FzZSJvblNjcm9sbEVuZCI6bnVsbCE9ciYmc0ooInNjcm9sbGVuZCIsZSk7cmV0dXJuO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPXIpe2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8ISgiX19odG1sImluIHIpKXRocm93IEVycm9yKHUoNjEpKTtpZihudWxsIT0obj1yLl9faHRtbCkpe2lmKG51bGwhPWwuY2hpbGRyZW4pdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UibXVsdGlwbGUiOmUubXVsdGlwbGU9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2YgcjticmVhaztjYXNlIm11dGVkIjplLm11dGVkPXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiYic3ltYm9sIiE9dHlwZW9mIHI7YnJlYWs7Y2FzZSJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciOmNhc2Uic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIjpjYXNlImRlZmF1bHRWYWx1ZSI6Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6Y2FzZSJpbm5lckhUTUwiOmNhc2UicmVmIjpjYXNlImF1dG9Gb2N1cyI6YnJlYWs7Y2FzZSJ4bGlua0hyZWYiOmlmKG51bGw9PXJ8fCJmdW5jdGlvbiI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByfHwic3ltYm9sIj09dHlwZW9mIHIpe2UucmVtb3ZlQXR0cmlidXRlKCJ4bGluazpocmVmIik7YnJlYWt9bj10QygiIityKSxlLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6aHJlZiIsbik7YnJlYWs7Y2FzZSJjb250ZW50RWRpdGFibGUiOmNhc2Uic3BlbGxDaGVjayI6Y2FzZSJkcmFnZ2FibGUiOmNhc2UidmFsdWUiOmNhc2UiYXV0b1JldmVyc2UiOmNhc2UiZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCI6Y2FzZSJmb2N1c2FibGUiOmNhc2UicHJlc2VydmVBbHBoYSI6bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2Ygcj9lLnNldEF0dHJpYnV0ZShuLCIiK3IpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiaW5lcnQiOmNhc2UiYWxsb3dGdWxsU2NyZWVuIjpjYXNlImFzeW5jIjpjYXNlImF1dG9QbGF5IjpjYXNlImNvbnRyb2xzIjpjYXNlImRlZmF1bHQiOmNhc2UiZGVmZXIiOmNhc2UiZGlzYWJsZWQiOmNhc2UiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiOmNhc2UiZGlzYWJsZVJlbW90ZVBsYXliYWNrIjpjYXNlImZvcm1Ob1ZhbGlkYXRlIjpjYXNlImhpZGRlbiI6Y2FzZSJsb29wIjpjYXNlIm5vTW9kdWxlIjpjYXNlIm5vVmFsaWRhdGUiOmNhc2Uib3BlbiI6Y2FzZSJwbGF5c0lubGluZSI6Y2FzZSJyZWFkT25seSI6Y2FzZSJyZXF1aXJlZCI6Y2FzZSJyZXZlcnNlZCI6Y2FzZSJzY29wZWQiOmNhc2Uic2VhbWxlc3MiOmNhc2UiaXRlbVNjb3BlIjpyJiYiZnVuY3Rpb24iIT10eXBlb2YgciYmInN5bWJvbCIhPXR5cGVvZiByP2Uuc2V0QXR0cmlidXRlKG4sIiIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiY2FwdHVyZSI6Y2FzZSJkb3dubG9hZCI6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sIiIpOiExIT09ciYmbnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2Ygcj9lLnNldEF0dHJpYnV0ZShuLHIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiY29scyI6Y2FzZSJyb3dzIjpjYXNlInNpemUiOmNhc2Uic3BhbiI6bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2YgciYmIWlzTmFOKHIpJiYxPD1yP2Uuc2V0QXR0cmlidXRlKG4scik6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZSJyb3dTcGFuIjpjYXNlInN0YXJ0IjpudWxsPT1yfHwiZnVuY3Rpb24iPT10eXBlb2Ygcnx8InN5bWJvbCI9PXR5cGVvZiByfHxpc05hTihyKT9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLHIpO2JyZWFrO2Nhc2UicG9wb3ZlciI6c0ooImJlZm9yZXRvZ2dsZSIsZSksc0ooInRvZ2dsZSIsZSksdGEoZSwicG9wb3ZlciIscik7YnJlYWs7Y2FzZSJ4bGlua0FjdHVhdGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazphY3R1YXRlIixyKTticmVhaztjYXNlInhsaW5rQXJjcm9sZSI6dGkoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmFyY3JvbGUiLHIpO2JyZWFrO2Nhc2UieGxpbmtSb2xlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6cm9sZSIscik7YnJlYWs7Y2FzZSJ4bGlua1Nob3ciOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpzaG93IixyKTticmVhaztjYXNlInhsaW5rVGl0bGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0aXRsZSIscik7YnJlYWs7Y2FzZSJ4bGlua1R5cGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0eXBlIixyKTticmVhaztjYXNlInhtbEJhc2UiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpiYXNlIixyKTticmVhaztjYXNlInhtbExhbmciOnRpKGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpsYW5nIixyKTticmVhaztjYXNlInhtbFNwYWNlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLCJ4bWw6c3BhY2UiLHIpO2JyZWFrO2Nhc2UiaXMiOnRhKGUsImlzIixyKTticmVhaztjYXNlImlubmVyVGV4dCI6Y2FzZSJ0ZXh0Q29udGVudCI6cmV0dXJuO2RlZmF1bHQ6aWYoMjxuLmxlbmd0aCYmKCJvIj09PW5bMF18fCJPIj09PW5bMF0pJiYoIm4iPT09blsxXXx8Ik4iPT09blsxXSkpcmV0dXJuO3RhKGUsbj10UC5nZXQobil8fG4scil9dHI9ITB9ZnVuY3Rpb24gY3IoZSx0LG4scixsLGEpe3N3aXRjaChuKXtjYXNlInN0eWxlIjp0eChlLHIsYSk7cmV0dXJuO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPXIpe2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8ISgiX19odG1sImluIHIpKXRocm93IEVycm9yKHUoNjEpKTtpZihudWxsIT0obj1yLl9faHRtbCkpe2lmKG51bGwhPWwuY2hpbGRyZW4pdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UiY2hpbGRyZW4iOmlmKCJzdHJpbmciPT10eXBlb2Ygcil0ayhlLHIpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiByJiYiYmlnaW50IiE9dHlwZW9mIHIpcmV0dXJuO3RrKGUsIiIrcil9YnJlYWs7Y2FzZSJvblNjcm9sbCI6bnVsbCE9ciYmc0ooInNjcm9sbCIsZSk7cmV0dXJuO2Nhc2Uib25TY3JvbGxFbmQiOm51bGwhPXImJnNKKCJzY3JvbGxlbmQiLGUpO3JldHVybjtjYXNlIm9uQ2xpY2siOm51bGwhPXImJihlLm9uY2xpY2s9dFQpO3JldHVybjtjYXNlInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyI6Y2FzZSJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6Y2FzZSJpbm5lclRleHQiOmNhc2UidGV4dENvbnRlbnQiOnJldHVybjtkZWZhdWx0OmlmKCFlNi5oYXNPd25Qcm9wZXJ0eShuKSllOntpZigibyI9PT1uWzBdJiYibiI9PT1uWzFdJiYobD1uLmVuZHNXaXRoKCJDYXB0dXJlIiksdD1uLnNsaWNlKDIsbD9uLmxlbmd0aC03OnZvaWQgMCksImZ1bmN0aW9uIj09dHlwZW9mKGE9bnVsbCE9KGE9ZVtlcV18fG51bGwpP2Fbbl06bnVsbCkmJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGEsbCksImZ1bmN0aW9uIj09dHlwZW9mIHIpKXsiZnVuY3Rpb24iIT10eXBlb2YgYSYmbnVsbCE9PWEmJihuIGluIGU/ZVtuXT1udWxsOmUuaGFzQXR0cmlidXRlKG4pJiZlLnJlbW92ZUF0dHJpYnV0ZShuKSksZS5hZGRFdmVudExpc3RlbmVyKHQscixsKTticmVhayBlfXRyPSEwLG4gaW4gZT9lW25dPXI6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sIiIpOnRhKGUsbixyKX1yZXR1cm59dHI9ITB9ZnVuY3Rpb24gY2woZSx0LG4pe3N3aXRjaCh0KXtjYXNlImRpdiI6Y2FzZSJzcGFuIjpjYXNlInN2ZyI6Y2FzZSJwYXRoIjpjYXNlImEiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlImxpIjpicmVhaztjYXNlImltZyI6c0ooImVycm9yIixlKSxzSigibG9hZCIsZSk7dmFyIHIsbD0hMSxhPSExO2ZvcihyIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShyKSl7dmFyIG89bltyXTtpZihudWxsIT1vKXN3aXRjaChyKXtjYXNlInNyYyI6bD0hMDticmVhaztjYXNlInNyY1NldCI6YT0hMDticmVhaztjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjp0aHJvdyBFcnJvcih1KDEzNyx0KSk7ZGVmYXVsdDpjbihlLHQscixvLG4sbnVsbCl9fWEmJmNuKGUsdCwic3JjU2V0IixuLnNyY1NldCxuLG51bGwpLGwmJmNuKGUsdCwic3JjIixuLnNyYyxuLG51bGwpO3JldHVybjtjYXNlImlucHV0IjpzSigiaW52YWxpZCIsZSk7dmFyIGk9cj1vPWE9bnVsbCxzPW51bGwsYz1udWxsO2ZvcihsIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShsKSl7dmFyIGY9bltsXTtpZihudWxsIT1mKXN3aXRjaChsKXtjYXNlIm5hbWUiOmE9ZjticmVhaztjYXNlInR5cGUiOm89ZjticmVhaztjYXNlImNoZWNrZWQiOnM9ZjticmVhaztjYXNlImRlZmF1bHRDaGVja2VkIjpjPWY7YnJlYWs7Y2FzZSJ2YWx1ZSI6cj1mO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjppPWY7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYobnVsbCE9Zil0aHJvdyBFcnJvcih1KDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDpjbihlLHQsbCxmLG4sbnVsbCl9fXRnKGUscixpLHMsYyxvLGEsITEpO3JldHVybjtjYXNlInNlbGVjdCI6Zm9yKGEgaW4gc0ooImludmFsaWQiLGUpLGw9bz1yPW51bGwsbilpZihuLmhhc093blByb3BlcnR5KGEpJiZudWxsIT0oaT1uW2FdKSlzd2l0Y2goYSl7Y2FzZSJ2YWx1ZSI6cj1pO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpvPWk7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6bD1pO2RlZmF1bHQ6Y24oZSx0LGEsaSxuLG51bGwpfXQ9cixuPW8sZS5tdWx0aXBsZT0hIWwsbnVsbCE9dD90eShlLCEhbCx0LCExKTpudWxsIT1uJiZ0eShlLCEhbCxuLCEwKTtyZXR1cm47Y2FzZSJ0ZXh0YXJlYSI6Zm9yKG8gaW4gc0ooImludmFsaWQiLGUpLHI9YT1sPW51bGwsbilpZihuLmhhc093blByb3BlcnR5KG8pJiZudWxsIT0oaT1uW29dKSlzd2l0Y2gobyl7Y2FzZSJ2YWx1ZSI6bD1pO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjphPWk7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6cj1pO2JyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPWkpdGhyb3cgRXJyb3IodSg5MSkpO2JyZWFrO2RlZmF1bHQ6Y24oZSx0LG8saSxuLG51bGwpfXR3KGUsbCxhLHIpO3JldHVybjtjYXNlIm9wdGlvbiI6Zm9yKHMgaW4gbiluLmhhc093blByb3BlcnR5KHMpJiZudWxsIT0obD1uW3NdKSYmKCJzZWxlY3RlZCI9PT1zP2Uuc2VsZWN0ZWQ9bCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwmJiJzeW1ib2wiIT10eXBlb2YgbDpjbihlLHQscyxsLG4sbnVsbCkpO3JldHVybjtjYXNlImRpYWxvZyI6c0ooImJlZm9yZXRvZ2dsZSIsZSksc0ooInRvZ2dsZSIsZSksc0ooImNhbmNlbCIsZSksc0ooImNsb3NlIixlKTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOnNKKCJsb2FkIixlKTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3IobD0wO2w8c1gubGVuZ3RoO2wrKylzSihzWFtsXSxlKTticmVhaztjYXNlImltYWdlIjpzSigiZXJyb3IiLGUpLHNKKCJsb2FkIixlKTticmVhaztjYXNlImRldGFpbHMiOnNKKCJ0b2dnbGUiLGUpO2JyZWFrO2Nhc2UiZW1iZWQiOmNhc2Uic291cmNlIjpjYXNlImxpbmsiOnNKKCJlcnJvciIsZSksc0ooImxvYWQiLGUpO2Nhc2UiYXJlYSI6Y2FzZSJiYXNlIjpjYXNlImJyIjpjYXNlImNvbCI6Y2FzZSJociI6Y2FzZSJrZXlnZW4iOmNhc2UibWV0YSI6Y2FzZSJwYXJhbSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcihjIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShjKSYmbnVsbCE9KGw9bltjXSkpc3dpdGNoKGMpe2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOnRocm93IEVycm9yKHUoMTM3LHQpKTtkZWZhdWx0OmNuKGUsdCxjLGwsbixudWxsKX1yZXR1cm47ZGVmYXVsdDppZih0Xyh0KSl7Zm9yKGYgaW4gbiluLmhhc093blByb3BlcnR5KGYpJiZ2b2lkIDAhPT0obD1uW2ZdKSYmY3IoZSx0LGYsbCxuLHZvaWQgMCk7cmV0dXJufX1mb3IoaSBpbiBuKW4uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPShsPW5baV0pJiZjbihlLHQsaSxsLG4sbnVsbCl9ZnVuY3Rpb24gY2EoZSl7c3dpdGNoKGUpe2Nhc2UiY3NzIjpjYXNlInNjcmlwdCI6Y2FzZSJmb250IjpjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJpbnB1dCI6Y2FzZSJsaW5rIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX12YXIgY289bnVsbCxjaT1udWxsO2Z1bmN0aW9uIGN1KGUpe3JldHVybiA5PT09ZS5ub2RlVHlwZT9lOmUub3duZXJEb2N1bWVudH1mdW5jdGlvbiBjcyhlKXtzd2l0Y2goZSl7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6cmV0dXJuIDE7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBjYyhlLHQpe2lmKDA9PT1lKXN3aXRjaCh0KXtjYXNlInN2ZyI6cmV0dXJuIDE7Y2FzZSJtYXRoIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfXJldHVybiAxPT09ZSYmImZvcmVpZ25PYmplY3QiPT09dD8wOmV9ZnVuY3Rpb24gY2YoZSx0KXtyZXR1cm4idGV4dGFyZWEiPT09ZXx8Im5vc2NyaXB0Ij09PWV8fCJzdHJpbmciPT10eXBlb2YgdC5jaGlsZHJlbnx8Im51bWJlciI9PXR5cGVvZiB0LmNoaWxkcmVufHwiYmlnaW50Ij09dHlwZW9mIHQuY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBjZD1udWxsLGNwPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dm9pZCAwLGNtPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OnZvaWQgMCxjaD0iZnVuY3Rpb24iPT10eXBlb2YgUHJvbWlzZT9Qcm9taXNlOnZvaWQgMCxjZz0iZnVuY3Rpb24iPT10eXBlb2YgcXVldWVNaWNyb3Rhc2s/cXVldWVNaWNyb3Rhc2s6dm9pZCAwIT09Y2g/ZnVuY3Rpb24oZSl7cmV0dXJuIGNoLnJlc29sdmUobnVsbCkudGhlbihlKS5jYXRjaChjdil9OmNwO2Z1bmN0aW9uIGN2KGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9ZnVuY3Rpb24gY3koZSl7cmV0dXJuImhlYWQiPT09ZX1mdW5jdGlvbiBjYihlLHQpe3ZhciBuPXQscj0wO2Rve3ZhciBsPW4ubmV4dFNpYmxpbmc7aWYoZS5yZW1vdmVDaGlsZChuKSxsJiY4PT09bC5ub2RlVHlwZSlpZigiLyQiPT09KG49bC5kYXRhKXx8Ii8mIj09PW4pe2lmKDA9PT1yKXtlLnJlbW92ZUNoaWxkKGwpLGZHKHQpO3JldHVybn1yLS19ZWxzZSBpZigiJCI9PT1ufHwiJD8iPT09bnx8IiR+Ij09PW58fCIkISI9PT1ufHwiJiI9PT1uKXIrKztlbHNlIGlmKCJodG1sIj09PW4pY0coZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7ZWxzZSBpZigiaGVhZCI9PT1uKXtjRyhuPWUub3duZXJEb2N1bWVudC5oZWFkKTtmb3IodmFyIGE9bi5maXJzdENoaWxkO2E7KXt2YXIgbz1hLm5leHRTaWJsaW5nLGk9YS5ub2RlTmFtZTthW2VaXXx8IlNDUklQVCI9PT1pfHwiU1RZTEUiPT09aXx8IkxJTksiPT09aSYmInN0eWxlc2hlZXQiPT09YS5yZWwudG9Mb3dlckNhc2UoKXx8bi5yZW1vdmVDaGlsZChhKSxhPW99fWVsc2UiYm9keSI9PT1uJiZjRyhlLm93bmVyRG9jdW1lbnQuYm9keSk7bj1sfXdoaWxlKG4pZkcodCl9ZnVuY3Rpb24gY3coZSx0KXt2YXIgbj1lO2U9MDtkb3t2YXIgcj1uLm5leHRTaWJsaW5nO2lmKDE9PT1uLm5vZGVUeXBlP3Q/KG4uX3N0YXNoZWREaXNwbGF5PW4uc3R5bGUuZGlzcGxheSxuLnN0eWxlLmRpc3BsYXk9Im5vbmUiKToobi5zdHlsZS5kaXNwbGF5PW4uX3N0YXNoZWREaXNwbGF5fHwiIiwiIj09PW4uZ2V0QXR0cmlidXRlKCJzdHlsZSIpJiZuLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKSk6Mz09PW4ubm9kZVR5cGUmJih0PyhuLl9zdGFzaGVkVGV4dD1uLm5vZGVWYWx1ZSxuLm5vZGVWYWx1ZT0iIik6bi5ub2RlVmFsdWU9bi5fc3Rhc2hlZFRleHR8fCIiKSxyJiY4PT09ci5ub2RlVHlwZSlpZigiLyQiPT09KG49ci5kYXRhKSlpZigwPT09ZSlicmVhaztlbHNlIGUtLTtlbHNlIiQiIT09biYmIiQ/IiE9PW4mJiIkfiIhPT1uJiYiJCEiIT09bnx8ZSsrO249cn13aGlsZShuKX1mdW5jdGlvbiBjayhlLHQsbil7aWYodD1DU1MuZXNjYXBlKHQpIT09dD8ici0iK2J0b2EodCkucmVwbGFjZSgvPS9nLCIiKTp0LGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPXQsbnVsbCE9biYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25DbGFzcz1uKSwiaW5saW5lIj09PShuPWdldENvbXB1dGVkU3R5bGUoZSkpLmRpc3BsYXkpe2lmKDE9PT0odD1lLmdldENsaWVudFJlY3RzKCkpLmxlbmd0aCl2YXIgcj0xO2Vsc2UgZm9yKHZhciBsPXI9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIGE9dFtsXTswPGEud2lkdGgmJjA8YS5oZWlnaHQmJnIrK30xPT09ciYmKChlPWUuc3R5bGUpLmRpc3BsYXk9MT09PXQubGVuZ3RoPyJpbmxpbmUtYmxvY2siOiJibG9jayIsZS5tYXJnaW5Ub3A9Ii0iK24ucGFkZGluZ1RvcCxlLm1hcmdpbkJvdHRvbT0iLSIrbi5wYWRkaW5nQm90dG9tKX19ZnVuY3Rpb24gY1MoZSx0KXtlPWUuc3R5bGU7dmFyIG49bnVsbCE9KHQ9dC5zdHlsZSk/dC5oYXNPd25Qcm9wZXJ0eSgidmlld1RyYW5zaXRpb25OYW1lIik/dC52aWV3VHJhbnNpdGlvbk5hbWU6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLW5hbWUiKT90WyJ2aWV3LXRyYW5zaXRpb24tbmFtZSJdOm51bGw6bnVsbDtlLnZpZXdUcmFuc2l0aW9uTmFtZT1udWxsPT1ufHwiYm9vbGVhbiI9PXR5cGVvZiBuPyIiOigiIituKS50cmltKCksbj1udWxsIT10P3QuaGFzT3duUHJvcGVydHkoInZpZXdUcmFuc2l0aW9uQ2xhc3MiKT90LnZpZXdUcmFuc2l0aW9uQ2xhc3M6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLWNsYXNzIik/dFsidmlldy10cmFuc2l0aW9uLWNsYXNzIl06bnVsbDpudWxsLGUudmlld1RyYW5zaXRpb25DbGFzcz1udWxsPT1ufHwiYm9vbGVhbiI9PXR5cGVvZiBuPyIiOigiIituKS50cmltKCksImlubGluZS1ibG9jayI9PT1lLmRpc3BsYXkmJihudWxsPT10P2UuZGlzcGxheT1lLm1hcmdpbj0iIjoobj10LmRpc3BsYXksZS5kaXNwbGF5PW51bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG4/IiI6bixudWxsIT0obj10Lm1hcmdpbik/ZS5tYXJnaW49bjoobj10Lmhhc093blByb3BlcnR5KCJtYXJnaW5Ub3AiKT90Lm1hcmdpblRvcDp0WyJtYXJnaW4tdG9wIl0sZS5tYXJnaW5Ub3A9bnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbj8iIjpuLHQ9dC5oYXNPd25Qcm9wZXJ0eSgibWFyZ2luQm90dG9tIik/dC5tYXJnaW5Cb3R0b206dFsibWFyZ2luLWJvdHRvbSJdLGUubWFyZ2luQm90dG9tPW51bGw9PXR8fCJib29sZWFuIj09dHlwZW9mIHQ/IiI6dCkpKX1mdW5jdGlvbiBjRShlLHQsbil7cmV0dXJuIG49bi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LHtyZWN0OmUsYWJzOiJhYnNvbHV0ZSI9PT10LnBvc2l0aW9ufHwiZml4ZWQiPT09dC5wb3NpdGlvbixjbGlwOiJub25lIiE9PXQuY2xpcFBhdGh8fCJ2aXNpYmxlIiE9PXQub3ZlcmZsb3d8fCJub25lIiE9PXQuZmlsdGVyfHwibm9uZSIhPT10Lm1hc2t8fCJub25lIiE9PXQubWFza3x8IjBweCIhPT10LmJvcmRlclJhZGl1cyx2aWV3OjA8PWUuYm90dG9tJiYwPD1lLnJpZ2h0JiZlLnRvcDw9bi5pbm5lckhlaWdodCYmZS5sZWZ0PD1uLmlubmVyV2lkdGh9fWZ1bmN0aW9uIGN4KGUpe3JldHVybiBjRShlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGdldENvbXB1dGVkU3R5bGUoZSksZSl9ZnVuY3Rpb24gY18oZSl7dmFyIHQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gY0UodD1uZXcgRE9NUmVjdCh0LngrMmU0LHQueSsyZTQsdC53aWR0aCx0LmhlaWdodCksZ2V0Q29tcHV0ZWRTdHlsZShlKSxlKX1mdW5jdGlvbiBjUChlKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGUpfWZ1bmN0aW9uIGNOKGUsdCl7dGhpcy5fc2NvcGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuX3NlbGVjdG9yPSI6OnZpZXctdHJhbnNpdGlvbi0iK2UrIigiK3QrIikifWZ1bmN0aW9uIGNDKGUpe3JldHVybntuYW1lOmUsZ3JvdXA6bmV3IGNOKCJncm91cCIsZSksaW1hZ2VQYWlyOm5ldyBjTigiaW1hZ2UtcGFpciIsZSksb2xkOm5ldyBjTigib2xkIixlKSxuZXc6bmV3IGNOKCJuZXciLGUpfX1mdW5jdGlvbiBjVChlKXt0aGlzLl9mcmFnbWVudEZpYmVyPWUsdGhpcy5fb2JzZXJ2ZXJzPXRoaXMuX2V2ZW50TGlzdGVuZXJzPW51bGx9ZnVuY3Rpb24gY08oZSx0LG4scil7cmV0dXJuIGcoZSkuYWRkRXZlbnRMaXN0ZW5lcih0LG4sciksITF9ZnVuY3Rpb24gY3ooZSx0LG4scil7cmV0dXJuIGcoZSkucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sciksITF9ZnVuY3Rpb24gY0woZSl7cmV0dXJuIG51bGw9PWU/IjAiOiJib29sZWFuIj09dHlwZW9mIGU/ImM9IisoZT8iMSI6IjAiKToiYz0iKyhlLmNhcHR1cmU/IjEiOiIwIikrIiZvPSIrKGUub25jZT8iMSI6IjAiKSsiJnA9IisoZS5wYXNzaXZlPyIxIjoiMCIpfWZ1bmN0aW9uIGNSKGUsdCxuLHIpe2Zvcih2YXIgbD0wO2w8ZS5sZW5ndGg7bCsrKXt2YXIgYT1lW2xdO2lmKGEudHlwZT09PXQmJmEubGlzdGVuZXI9PT1uJiZjTChhLm9wdGlvbnNPclVzZUNhcHR1cmUpPT09Y0wocikpcmV0dXJuIGx9cmV0dXJuIC0xfWZ1bmN0aW9uIGNNKGUsdCl7dmFyIG49ZT1nKGUpLHI9dDtmdW5jdGlvbiBsKCl7YT0hMH12YXIgYT0hMTt0cnl7bi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbCksKG4uZm9jdXN8fEhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cykuY2FsbChuLHIpfWZpbmFsbHl7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbCl9cmV0dXJuIGF9ZnVuY3Rpb24gY0koZSx0KXtyZXR1cm4gdC5wdXNoKGUpLCExfWZ1bmN0aW9uIGNEKGUpe3JldHVybihlPWcoZSkpPT09ZS5vd25lckRvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJihlLmJsdXIoKSwhMCl9ZnVuY3Rpb24gY0YoZSx0KXtyZXR1cm4gZT1nKGUpLHQub2JzZXJ2ZShlKSwhMX1mdW5jdGlvbiBjQShlLHQpe3JldHVybiBlPWcoZSksdC51bm9ic2VydmUoZSksITF9ZnVuY3Rpb24gY2ooZSx0KXtyZXR1cm4gZT1nKGUpLHQucHVzaC5hcHBseSh0LGUuZ2V0Q2xpZW50UmVjdHMoKSksITF9ZnVuY3Rpb24gY1UoZSx0KXt2YXIgbj10Ll9ldmVudExpc3RlbmVycztpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtlLmFkZEV2ZW50TGlzdGVuZXIobC50eXBlLGwubGlzdGVuZXIsbC5vcHRpb25zT3JVc2VDYXB0dXJlKX1udWxsIT09dC5fb2JzZXJ2ZXJzJiZ0Ll9vYnNlcnZlcnMuZm9yRWFjaChmdW5jdGlvbih0KXt0Lm9ic2VydmUoZSl9KX1mdW5jdGlvbiBjQihlKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7Zm9yKHQmJjEwPT09dC5ub2RlVHlwZSYmKHQ9dC5uZXh0U2libGluZyk7dDspe3ZhciBuPXQ7c3dpdGNoKHQ9dC5uZXh0U2libGluZyxuLm5vZGVOYW1lKXtjYXNlIkhUTUwiOmNhc2UiSEVBRCI6Y2FzZSJCT0RZIjpjQihuKSxlMChuKTtjb250aW51ZTtjYXNlIlNDUklQVCI6Y2FzZSJTVFlMRSI6Y29udGludWU7Y2FzZSJMSU5LIjppZigic3R5bGVzaGVldCI9PT1uLnJlbC50b0xvd2VyQ2FzZSgpKWNvbnRpbnVlfWUucmVtb3ZlQ2hpbGQobil9fWZ1bmN0aW9uIGNWKGUsdCl7Zm9yKDs4IT09ZS5ub2RlVHlwZTspaWYoKDEhPT1lLm5vZGVUeXBlfHwiSU5QVVQiIT09ZS5ub2RlTmFtZXx8ImhpZGRlbiIhPT1lLnR5cGUpJiYhdHx8bnVsbD09PShlPWNRKGUubmV4dFNpYmxpbmcpKSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1mdW5jdGlvbiBjSChlKXtyZXR1cm4iJD8iPT09ZS5kYXRhfHwiJH4iPT09ZS5kYXRhfWZ1bmN0aW9uIGMkKGUpe3JldHVybiIkISI9PT1lLmRhdGF8fCIkPyI9PT1lLmRhdGEmJiJsb2FkaW5nIiE9PWUub3duZXJEb2N1bWVudC5yZWFkeVN0YXRlfWZ1bmN0aW9uIGNRKGUpe2Zvcig7bnVsbCE9ZTtlPWUubmV4dFNpYmxpbmcpe3ZhciB0PWUubm9kZVR5cGU7aWYoMT09PXR8fDM9PT10KWJyZWFrO2lmKDg9PT10KXtpZigiJCI9PT0odD1lLmRhdGEpfHwiJCEiPT09dHx8IiQ/Ij09PXR8fCIkfiI9PT10fHwiJiI9PT10fHwiRiEiPT09dHx8IkYiPT09dClicmVhaztpZigiLyQiPT09dHx8Ii8mIj09PXQpcmV0dXJuIG51bGx9fXJldHVybiBlfWNOLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQ9Im51bWJlciI9PXR5cGVvZiB0P3tkdXJhdGlvbjp0fTp4KHt9LHQpKS5wc2V1ZG9FbGVtZW50PXRoaXMuX3NlbGVjdG9yLHRoaXMuX3Njb3BlLmFuaW1hdGUoZSx0KX0sY04ucHJvdG90eXBlLmdldEFuaW1hdGlvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5fc2NvcGUsdD10aGlzLl9zZWxlY3RvcixuPWUuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHI9W10sbD0wO2w8bi5sZW5ndGg7bCsrKXt2YXIgYT1uW2xdLmVmZmVjdDtudWxsIT09YSYmYS50YXJnZXQ9PT1lJiZhLnBzZXVkb0VsZW1lbnQ9PT10JiZyLnB1c2gobltsXSl9cmV0dXJuIHJ9LGNOLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5fc2NvcGUsdGhpcy5fc2VsZWN0b3IpfSxjVC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQsbil7bnVsbD09PXRoaXMuX2V2ZW50TGlzdGVuZXJzJiYodGhpcy5fZXZlbnRMaXN0ZW5lcnM9W10pO3ZhciByPXRoaXMuX2V2ZW50TGlzdGVuZXJzOy0xPT09Y1IocixlLHQsbikmJihyLnB1c2goe3R5cGU6ZSxsaXN0ZW5lcjp0LG9wdGlvbnNPclVzZUNhcHR1cmU6bn0pLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjTyxlLHQsbikpLHRoaXMuX2V2ZW50TGlzdGVuZXJzPXJ9LGNULnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLl9ldmVudExpc3RlbmVycztudWxsIT1yJiYwPHIubGVuZ3RoJiYobSh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLGN6LGUsdCxuKSxlPWNSKHIsZSx0LG4pLG51bGwhPT10aGlzLl9ldmVudExpc3RlbmVycyYmdGhpcy5fZXZlbnRMaXN0ZW5lcnMuc3BsaWNlKGUsMSkpfSxjVC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKG51bGw9PT10KXJldHVybiEwO3Q9Zyh0KTt2YXIgbj10aGlzLl9ldmVudExpc3RlbmVycztpZihudWxsIT09biYmMDxuLmxlbmd0aHx8IWUuYnViYmxlcyl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpO2lmKG4pZm9yKHZhciBsPTA7bDxuLmxlbmd0aDtsKyspe3ZhciBhPW5bbF07ci5hZGRFdmVudExpc3RlbmVyKGEudHlwZSxhLmxpc3RlbmVyLGEub3B0aW9uc09yVXNlQ2FwdHVyZSl9aWYodC5hcHBlbmRDaGlsZChyKSxlPXIuZGlzcGF0Y2hFdmVudChlKSxuKWZvcihsPTA7bDxuLmxlbmd0aDtsKyspYT1uW2xdLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLnR5cGUsYS5saXN0ZW5lcixhLm9wdGlvbnNPclVzZUNhcHR1cmUpO3JldHVybiB0LnJlbW92ZUNoaWxkKHIpLGV9cmV0dXJuIHQuZGlzcGF0Y2hFdmVudChlKX0sY1QucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKGUpe20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjTSxlLHZvaWQgMCx2b2lkIDApfSxjVC5wcm90b3R5cGUuZm9jdXNMYXN0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjSSx0LHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgbj10Lmxlbmd0aC0xOzA8PW4mJiFjTSh0W25dLGUpO24tLSk7fSxjVC5wcm90b3R5cGUuYmx1cj1mdW5jdGlvbigpe20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjRCx2b2lkIDAsdm9pZCAwLHZvaWQgMCl9LGNULnByb3RvdHlwZS5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24oZSl7bnVsbD09PXRoaXMuX29ic2VydmVycyYmKHRoaXMuX29ic2VydmVycz1uZXcgU2V0KSx0aGlzLl9vYnNlcnZlcnMuYWRkKGUpLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjRixlLHZvaWQgMCx2b2lkIDApfSxjVC5wcm90b3R5cGUudW5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fb2JzZXJ2ZXJzO251bGwhPT10JiZ0LmhhcyhlKSYmKHQuZGVsZXRlKGUpLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjQSxlLHZvaWQgMCx2b2lkIDApKX0sY1QucHJvdG90eXBlLmdldENsaWVudFJlY3RzPWZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjaixlLHZvaWQgMCx2b2lkIDApLGV9LGNULnByb3RvdHlwZS5nZXRSb290Tm9kZT1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO3JldHVybiBudWxsPT09dD90aGlzOmcodCkuZ2V0Um9vdE5vZGUoZSl9LGNULnByb3RvdHlwZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKG51bGw9PT10KXJldHVybiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRDt2YXIgbj1bXTttKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsY0ksbix2b2lkIDAsdm9pZCAwKTt2YXIgcj1nKHQpO2lmKDA9PT1uLmxlbmd0aCl7bj10aGlzLl9mcmFnbWVudEZpYmVyO3ZhciBsPXIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7cmV0dXJuIHQ9bCxyPT09ZT90PU5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlM6bCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSYmKG0obi5zaWJsaW5nLCExLGIpLG49dix2PW51bGwsdD1udWxsPT09bj9Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORzowPT09KGU9ZyhuKS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSl8fGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcpLHR8Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ310PWcoblswXSksbD1nKG5bbi5sZW5ndGgtMV0pO2Zvcih2YXIgYT1nKG5bMF0pLG89ITEsaT10aGlzLl9mcmFnbWVudEZpYmVyLnJldHVybjtudWxsIT09aSYmKDQ9PT1pLnRhZyYmKG89ITApLDMhPT1pLnRhZyYmNSE9PWkudGFnKTspaT1pLnJldHVybjtpZihudWxsPT0oYT1vP2EucGFyZW50RWxlbWVudDpyKSlyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7cj1hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLGE9YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihsKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSxvPXQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7dmFyIHU9bC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKTtyZXR1cm4gaT1vJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZfHx1Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLHU9ciYmYSYmbyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyYmdSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORywodD1yJiZ0PT09ZXx8YSYmbD09PWV8fGl8fHU/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlk6KHJ8fHQhPT1lKSYmKGF8fGwhPT1lKT9vOk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEfHx0Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUN8fGZ1bmN0aW9uKGUsdCxuLHIsbCl7dmFyIGE9ZTEobCk7aWYoZSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSl7aWYobj0hIWEpZTp7Zm9yKDtudWxsIT09YTspe2lmKDc9PT1hLnRhZyYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXtuPSEwO2JyZWFrIGV9YT1hLnJldHVybn1uPSExfXJldHVybiBufWlmKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlOUyl7aWYobnVsbD09PWEpcmV0dXJuIGE9bC5vd25lckRvY3VtZW50LGw9PT1hfHxsPT09YS5ib2R5O2U6e2ZvcihhPXQsdD1oKHQpO251bGwhPT1hOyl7aWYoKDU9PT1hLnRhZ3x8Mz09PWEudGFnKSYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXthPSEwO2JyZWFrIGV9YT1hLnJldHVybn1hPSExfXJldHVybiBhfXJldHVybiBlJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPygodD0hIWEpJiYhKHQ9YT09PW4pJiYobnVsbD09PSh0PUUobixhLFMpKT90PSExOihtKHQsITAsdyxhLG4pLGE9dix2PW51bGwsdD1udWxsIT09YSkpLHQpOiEhKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcpJiYoKHQ9ISFhKSYmISh0PWE9PT1yKSYmKG51bGw9PT0odD1FKHIsYSxTKSk/dD0hMToobSh0LCEwLGssYSxyKSxhPXYseT12PW51bGwsdD1udWxsIT09YSkpLHQpfSh0LHRoaXMuX2ZyYWdtZW50RmliZXIsblswXSxuW24ubGVuZ3RoLTFdLGUpP3Q6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ30sY1QucHJvdG90eXBlLnNjcm9sbEludG9WaWV3PWZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZSl0aHJvdyBFcnJvcih1KDU2NikpO3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjSSx0LHZvaWQgMCx2b2lkIDApO3ZhciBuPSExIT09ZTtpZigwPT09dC5sZW5ndGgpe3Q9dGhpcy5fZnJhZ21lbnRGaWJlcjt2YXIgcj1bbnVsbCxudWxsXSxsPWgodCk7bnVsbCE9PWwmJmZ1bmN0aW9uIGUodCxuLHIpe2Zvcih2YXIgbD0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXSYmYXJndW1lbnRzWzNdO251bGwhPT1yOyl7aWYocj09PW4paWYobD0hMCwhci5zaWJsaW5nKXJldHVybiEwO2Vsc2Ugcj1yLnNpYmxpbmc7aWYoNT09PXIudGFnKXtpZihsKXJldHVybiB0WzFdPXIsITA7dFswXT1yfWVsc2UgaWYoKDIyIT09ci50YWd8fG51bGw9PT1yLm1lbW9pemVkU3RhdGUpJiZlKHQsbixyLmNoaWxkLGwpKXJldHVybiEwO3I9ci5zaWJsaW5nfXJldHVybiExfShyLHQsbC5jaGlsZCksbnVsbCE9PShuPW4/clsxXXx8clswXXx8aCh0aGlzLl9mcmFnbWVudEZpYmVyKTpyWzBdfHxyWzFdKSYmZyhuKS5zY3JvbGxJbnRvVmlldyhlKX1lbHNlIGZvcihyPW4/dC5sZW5ndGgtMTowO3IhPT0obj8tMTp0Lmxlbmd0aCk7KWcodFtyXSkuc2Nyb2xsSW50b1ZpZXcoZSkscis9bj8tMToxfTt2YXIgY1c9bnVsbDtmdW5jdGlvbiBjcShlKXtlPWUubmV4dFNpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIi8kIj09PW58fCIvJiI9PT1uKXtpZigwPT09dClyZXR1cm4gY1EoZS5uZXh0U2libGluZyk7dC0tfWVsc2UiJCIhPT1uJiYiJCEiIT09biYmIiQ/IiE9PW4mJiIkfiIhPT1uJiYiJiIhPT1ufHx0Kyt9ZT1lLm5leHRTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGNLKGUpe2U9ZS5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIiQiPT09bnx8IiQhIj09PW58fCIkPyI9PT1ufHwiJH4iPT09bnx8IiYiPT09bil7aWYoMD09PXQpcmV0dXJuIGU7dC0tfWVsc2UiLyQiIT09biYmIi8mIiE9PW58fHQrK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGNYKGUsdCxuKXtzd2l0Y2godD1jdShuKSxlKXtjYXNlImh0bWwiOmlmKCEoZT10LmRvY3VtZW50RWxlbWVudCkpdGhyb3cgRXJyb3IodSg0NTIpKTtyZXR1cm4gZTtjYXNlImhlYWQiOmlmKCEoZT10LmhlYWQpKXRocm93IEVycm9yKHUoNDUzKSk7cmV0dXJuIGU7Y2FzZSJib2R5IjppZighKGU9dC5ib2R5KSl0aHJvdyBFcnJvcih1KDQ1NCkpO3JldHVybiBlO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NTEpKX19ZnVuY3Rpb24gY0coZSl7Zm9yKHZhciB0PWUuYXR0cmlidXRlczt0Lmxlbmd0aDspZS5yZW1vdmVBdHRyaWJ1dGVOb2RlKHRbMF0pO2UwKGUpfXZhciBjWT1uZXcgTWFwLGNKPW5ldyBTZXQ7ZnVuY3Rpb24gY1ooZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUuZ2V0Um9vdE5vZGU/ZS5nZXRSb290Tm9kZSgpOjk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50fXZhciBjMD1xLmQ7cS5kPXtmOmZ1bmN0aW9uKCl7dmFyIGU9YzAuZigpLHQ9c3QoKTtyZXR1cm4gZXx8dH0scjpmdW5jdGlvbihlKXt2YXIgdD1lMihlKTtudWxsIT09dCYmNT09PXQudGFnJiYiZm9ybSI9PT10LnR5cGU/b2ModCk6YzAucihlKX0sRDpmdW5jdGlvbihlKXtjMC5EKGUpLGMyKCJkbnMtcHJlZmV0Y2giLGUsbnVsbCl9LEM6ZnVuY3Rpb24oZSx0KXtjMC5DKGUsdCksYzIoInByZWNvbm5lY3QiLGUsdCl9LEw6ZnVuY3Rpb24oZSx0LG4pe2lmKGMwLkwoZSx0LG4pLGMxJiZlJiZ0KXt2YXIgcj0nbGlua1tyZWw9InByZWxvYWQiXVthcz0iJyt0bSh0KSsnIl0nOyJpbWFnZSI9PT10JiZuJiZuLmltYWdlU3JjU2V0PyhyKz0nW2ltYWdlc3Jjc2V0PSInK3RtKG4uaW1hZ2VTcmNTZXQpKyciXScsInN0cmluZyI9PXR5cGVvZiBuLmltYWdlU2l6ZXMmJihyKz0nW2ltYWdlc2l6ZXM9IicrdG0obi5pbWFnZVNpemVzKSsnIl0nKSk6cis9J1tocmVmPSInK3RtKGUpKyciXSc7dmFyIGw9cjtzd2l0Y2godCl7Y2FzZSJzdHlsZSI6bD1jNChlKTticmVhaztjYXNlInNjcmlwdCI6bD1jNihlKX1jWS5oYXMobCl8fChlPXgoe3JlbDoicHJlbG9hZCIsaHJlZjoiaW1hZ2UiPT09dCYmbiYmbi5pbWFnZVNyY1NldD92b2lkIDA6ZSxhczp0fSxuKSxjWS5zZXQobCxlKSxudWxsIT09YzEucXVlcnlTZWxlY3RvcihyKXx8InN0eWxlIj09PXQmJmMxLnF1ZXJ5U2VsZWN0b3IoYzgobCkpfHwic2NyaXB0Ij09PXQmJmMxLnF1ZXJ5U2VsZWN0b3IoYzkobCkpfHwoY2wodD1jMS5jcmVhdGVFbGVtZW50KCJsaW5rIiksImxpbmsiLGUpLGU4KHQpLGMxLmhlYWQuYXBwZW5kQ2hpbGQodCkpKX19LG06ZnVuY3Rpb24oZSx0KXtpZihjMC5tKGUsdCksYzEmJmUpe3ZhciBuPXQmJiJzdHJpbmciPT10eXBlb2YgdC5hcz90LmFzOiJzY3JpcHQiLHI9J2xpbmtbcmVsPSJtb2R1bGVwcmVsb2FkIl1bYXM9IicrdG0obikrJyJdW2hyZWY9IicrdG0oZSkrJyJdJyxsPXI7c3dpdGNoKG4pe2Nhc2UiYXVkaW93b3JrbGV0IjpjYXNlInBhaW50d29ya2xldCI6Y2FzZSJzZXJ2aWNld29ya2VyIjpjYXNlInNoYXJlZHdvcmtlciI6Y2FzZSJ3b3JrZXIiOmNhc2Uic2NyaXB0IjpsPWM2KGUpfWlmKCFjWS5oYXMobCkmJihlPXgoe3JlbDoibW9kdWxlcHJlbG9hZCIsaHJlZjplfSx0KSxjWS5zZXQobCxlKSxudWxsPT09YzEucXVlcnlTZWxlY3RvcihyKSkpe3N3aXRjaChuKXtjYXNlImF1ZGlvd29ya2xldCI6Y2FzZSJwYWludHdvcmtsZXQiOmNhc2Uic2VydmljZXdvcmtlciI6Y2FzZSJzaGFyZWR3b3JrZXIiOmNhc2Uid29ya2VyIjpjYXNlInNjcmlwdCI6aWYoYzEucXVlcnlTZWxlY3RvcihjOShsKSkpcmV0dXJufWNsKG49YzEuY3JlYXRlRWxlbWVudCgibGluayIpLCJsaW5rIixlKSxlOChuKSxjMS5oZWFkLmFwcGVuZENoaWxkKG4pfX19LFg6ZnVuY3Rpb24oZSx0KXtpZihjMC5YKGUsdCksYzEmJmUpe3ZhciBuPWU0KGMxKS5ob2lzdGFibGVTY3JpcHRzLHI9YzYoZSksbD1uLmdldChyKTtsfHwoKGw9YzEucXVlcnlTZWxlY3RvcihjOShyKSkpfHwoZT14KHtzcmM6ZSxhc3luYzohMH0sdCksKHQ9Y1kuZ2V0KHIpKSYmZm4oZSx0KSxlOChsPWMxLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKSxjbChsLCJsaW5rIixlKSxjMS5oZWFkLmFwcGVuZENoaWxkKGwpKSxsPXt0eXBlOiJzY3JpcHQiLGluc3RhbmNlOmwsY291bnQ6MSxzdGF0ZTpudWxsfSxuLnNldChyLGwpKX19LFM6ZnVuY3Rpb24oZSx0LG4pe2lmKGMwLlMoZSx0LG4pLGMxJiZlKXt2YXIgcj1lNChjMSkuaG9pc3RhYmxlU3R5bGVzLGw9YzQoZSk7dD10fHwiZGVmYXVsdCI7dmFyIGE9ci5nZXQobCk7aWYoIWEpe3ZhciBvPXtsb2FkaW5nOjAscHJlbG9hZDpudWxsfTtpZihhPWMxLnF1ZXJ5U2VsZWN0b3IoYzgobCkpKW8ubG9hZGluZz01O2Vsc2V7ZT14KHtyZWw6InN0eWxlc2hlZXQiLGhyZWY6ZSwiZGF0YS1wcmVjZWRlbmNlIjp0fSxuKSwobj1jWS5nZXQobCkpJiZmdChlLG4pO3ZhciBpPWE9YzEuY3JlYXRlRWxlbWVudCgibGluayIpO2U4KGkpLGNsKGksImxpbmsiLGUpLGkuX3A9bmV3IFByb21pc2UoZnVuY3Rpb24oZSx0KXtpLm9ubG9hZD1lLGkub25lcnJvcj10fSksaS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe28ubG9hZGluZ3w9MX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7by5sb2FkaW5nfD0yfSksby5sb2FkaW5nfD00LGZlKGEsdCxjMSl9YT17dHlwZToic3R5bGVzaGVldCIsaW5zdGFuY2U6YSxjb3VudDoxLHN0YXRlOm99LHIuc2V0KGwsYSl9fX0sTTpmdW5jdGlvbihlLHQpe2lmKGMwLk0oZSx0KSxjMSYmZSl7dmFyIG49ZTQoYzEpLmhvaXN0YWJsZVNjcmlwdHMscj1jNihlKSxsPW4uZ2V0KHIpO2x8fCgobD1jMS5xdWVyeVNlbGVjdG9yKGM5KHIpKSl8fChlPXgoe3NyYzplLGFzeW5jOiEwLHR5cGU6Im1vZHVsZSJ9LHQpLCh0PWNZLmdldChyKSkmJmZuKGUsdCksZTgobD1jMS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSksY2wobCwibGluayIsZSksYzEuaGVhZC5hcHBlbmRDaGlsZChsKSksbD17dHlwZToic2NyaXB0IixpbnN0YW5jZTpsLGNvdW50OjEsc3RhdGU6bnVsbH0sbi5zZXQocixsKSl9fX07dmFyIGMxPSJ1Ijx0eXBlb2YgZG9jdW1lbnQ/bnVsbDpkb2N1bWVudDtmdW5jdGlvbiBjMihlLHQsbil7aWYoYzEmJiJzdHJpbmciPT10eXBlb2YgdCYmdCl7dmFyIHI9dG0odCk7cj0nbGlua1tyZWw9IicrZSsnIl1baHJlZj0iJytyKyciXScsInN0cmluZyI9PXR5cGVvZiBuJiYocis9J1tjcm9zc29yaWdpbj0iJytuKyciXScpLGNKLmhhcyhyKXx8KGNKLmFkZChyKSxlPXtyZWw6ZSxjcm9zc09yaWdpbjpuLGhyZWY6dH0sbnVsbD09PWMxLnF1ZXJ5U2VsZWN0b3IocikmJihjbCh0PWMxLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSwibGluayIsZSksZTgodCksYzEuaGVhZC5hcHBlbmRDaGlsZCh0KSkpfX1mdW5jdGlvbiBjMyhlLHQsbixyKXt2YXIgbD0obD1lbi5jdXJyZW50KT9jWihsKTpudWxsO2lmKCFsKXRocm93IEVycm9yKHUoNDQ2KSk7c3dpdGNoKGUpe2Nhc2UibWV0YSI6Y2FzZSJ0aXRsZSI6cmV0dXJuIG51bGw7Y2FzZSJzdHlsZSI6cmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLnByZWNlZGVuY2UmJiJzdHJpbmciPT10eXBlb2Ygbi5ocmVmPyh0PWM0KG4uaHJlZiksKHI9KG49ZTQobCkuaG9pc3RhYmxlU3R5bGVzKS5nZXQodCkpfHwocj17dHlwZToic3R5bGUiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfSxuLnNldCh0LHIpKSxyKTp7dHlwZToidm9pZCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9O2Nhc2UibGluayI6aWYoInN0eWxlc2hlZXQiPT09bi5yZWwmJiJzdHJpbmciPT10eXBlb2Ygbi5ocmVmJiYic3RyaW5nIj09dHlwZW9mIG4ucHJlY2VkZW5jZSl7ZT1jNChuLmhyZWYpO3ZhciBhLG8saSxzLGM9ZTQobCkuaG9pc3RhYmxlU3R5bGVzLGY9Yy5nZXQoZSk7aWYoZnx8KGw9bC5vd25lckRvY3VtZW50fHxsLGY9e3R5cGU6InN0eWxlc2hlZXQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LGMuc2V0KGUsZiksKGM9bC5xdWVyeVNlbGVjdG9yKGM4KGUpKSkmJiFjLl9wJiYoZi5pbnN0YW5jZT1jLGYuc3RhdGUubG9hZGluZz01KSxjWS5oYXMoZSl8fChuPXtyZWw6InByZWxvYWQiLGFzOiJzdHlsZSIsaHJlZjpuLmhyZWYsY3Jvc3NPcmlnaW46bi5jcm9zc09yaWdpbixpbnRlZ3JpdHk6bi5pbnRlZ3JpdHksbWVkaWE6bi5tZWRpYSxocmVmTGFuZzpuLmhyZWZMYW5nLHJlZmVycmVyUG9saWN5Om4ucmVmZXJyZXJQb2xpY3l9LGNZLnNldChlLG4pLGN8fChhPWwsbz1lLGk9bixzPWYuc3RhdGUsYS5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdWycrbysiXSIpP3MubG9hZGluZz0xOihzLnByZWxvYWQ9bz1hLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHMubG9hZGluZ3w9MX0pLG8uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7cmV0dXJuIHMubG9hZGluZ3w9Mn0pLGNsKG8sImxpbmsiLGkpLGU4KG8pLGEuaGVhZC5hcHBlbmRDaGlsZChvKSkpKSksdCYmbnVsbD09PXIpdGhyb3cgRXJyb3IodSg1MjgsIiIpKTtyZXR1cm4gZn1pZih0JiZudWxsIT09cil0aHJvdyBFcnJvcih1KDUyOSwiIikpO3JldHVybiBudWxsO2Nhc2Uic2NyaXB0IjpyZXR1cm4gdD1uLmFzeW5jLCJzdHJpbmciPT10eXBlb2Yobj1uLnNyYykmJnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYic3ltYm9sIiE9dHlwZW9mIHQ/KHQ9YzYobiksKHI9KG49ZTQobCkuaG9pc3RhYmxlU2NyaXB0cykuZ2V0KHQpKXx8KHI9e3R5cGU6InNjcmlwdCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LG4uc2V0KHQscikpLHIpOnt0eXBlOiJ2b2lkIixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDQ0NCxlKSl9fWZ1bmN0aW9uIGM0KGUpe3JldHVybidocmVmPSInK3RtKGUpKyciJ31mdW5jdGlvbiBjOChlKXtyZXR1cm4nbGlua1tyZWw9InN0eWxlc2hlZXQiXVsnK2UrIl0ifWZ1bmN0aW9uIGM1KGUpe3JldHVybiB4KHt9LGUseyJkYXRhLXByZWNlZGVuY2UiOmUucHJlY2VkZW5jZSxwcmVjZWRlbmNlOm51bGx9KX1mdW5jdGlvbiBjNihlKXtyZXR1cm4nW3NyYz0iJyt0bShlKSsnIl0nfWZ1bmN0aW9uIGM5KGUpe3JldHVybiJzY3JpcHRbYXN5bmNdIitlfWZ1bmN0aW9uIGM3KGUsdCxuKXtpZih0LmNvdW50KyssbnVsbD09PXQuaW5zdGFuY2Upc3dpdGNoKHQudHlwZSl7Y2FzZSJzdHlsZSI6dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKCdzdHlsZVtkYXRhLWhyZWZ+PSInK3RtKG4uaHJlZikrJyJdJyk7aWYocilyZXR1cm4gdC5pbnN0YW5jZT1yLGU4KHIpLHI7dmFyIGw9eCh7fSxuLHsiZGF0YS1ocmVmIjpuLmhyZWYsImRhdGEtcHJlY2VkZW5jZSI6bi5wcmVjZWRlbmNlLGhyZWY6bnVsbCxwcmVjZWRlbmNlOm51bGx9KTtyZXR1cm4gZTgocj0oZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKSxjbChyLCJzdHlsZSIsbCksZmUocixuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1yO2Nhc2Uic3R5bGVzaGVldCI6bD1jNChuLmhyZWYpO3ZhciBhPWUucXVlcnlTZWxlY3RvcihjOChsKSk7aWYoYSlyZXR1cm4gdC5zdGF0ZS5sb2FkaW5nfD00LHQuaW5zdGFuY2U9YSxlOChhKSxhO3I9YzUobiksKGw9Y1kuZ2V0KGwpKSYmZnQocixsKSxlOChhPShlLm93bmVyRG9jdW1lbnR8fGUpLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSk7dmFyIG89YTtyZXR1cm4gby5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe28ub25sb2FkPWUsby5vbmVycm9yPXR9KSxjbChhLCJsaW5rIixyKSx0LnN0YXRlLmxvYWRpbmd8PTQsZmUoYSxuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1hO2Nhc2Uic2NyaXB0IjppZihhPWM2KG4uc3JjKSxsPWUucXVlcnlTZWxlY3RvcihjOShhKSkpcmV0dXJuIHQuaW5zdGFuY2U9bCxlOChsKSxsO3JldHVybiByPW4sKGw9Y1kuZ2V0KGEpKSYmZm4ocj14KHt9LG4pLGwpLGU4KGw9KGU9ZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSksY2wobCwibGluayIsciksZS5oZWFkLmFwcGVuZENoaWxkKGwpLHQuaW5zdGFuY2U9bDtjYXNlInZvaWQiOnJldHVybiBudWxsO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NDMsdC50eXBlKSl9cmV0dXJuInN0eWxlc2hlZXQiPT09dC50eXBlJiYwPT0oNCZ0LnN0YXRlLmxvYWRpbmcpJiYocj10Lmluc3RhbmNlLHQuc3RhdGUubG9hZGluZ3w9NCxmZShyLG4ucHJlY2VkZW5jZSxlKSksdC5pbnN0YW5jZX1mdW5jdGlvbiBmZShlLHQsbil7Zm9yKHZhciByPW4ucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0nKSxsPXIubGVuZ3RoP3Jbci5sZW5ndGgtMV06bnVsbCxhPWwsbz0wO288ci5sZW5ndGg7bysrKXt2YXIgaT1yW29dO2lmKGkuZGF0YXNldC5wcmVjZWRlbmNlPT09dClhPWk7ZWxzZSBpZihhIT09bClicmVha31hP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxhLm5leHRTaWJsaW5nKToodD05PT09bi5ub2RlVHlwZT9uLmhlYWQ6bikuaW5zZXJ0QmVmb3JlKGUsdC5maXJzdENoaWxkKX1mdW5jdGlvbiBmdChlLHQpe251bGw9PWUuY3Jvc3NPcmlnaW4mJihlLmNyb3NzT3JpZ2luPXQuY3Jvc3NPcmlnaW4pLG51bGw9PWUucmVmZXJyZXJQb2xpY3kmJihlLnJlZmVycmVyUG9saWN5PXQucmVmZXJyZXJQb2xpY3kpLG51bGw9PWUudGl0bGUmJihlLnRpdGxlPXQudGl0bGUpfWZ1bmN0aW9uIGZuKGUsdCl7bnVsbD09ZS5jcm9zc09yaWdpbiYmKGUuY3Jvc3NPcmlnaW49dC5jcm9zc09yaWdpbiksbnVsbD09ZS5yZWZlcnJlclBvbGljeSYmKGUucmVmZXJyZXJQb2xpY3k9dC5yZWZlcnJlclBvbGljeSksbnVsbD09ZS5pbnRlZ3JpdHkmJihlLmludGVncml0eT10LmludGVncml0eSl9dmFyIGZyPW51bGw7ZnVuY3Rpb24gZmwoZSx0LG4pe2lmKG51bGw9PT1mcil7dmFyIHI9bmV3IE1hcCxsPWZyPW5ldyBNYXA7bC5zZXQobixyKX1lbHNlKHI9KGw9ZnIpLmdldChuKSl8fChyPW5ldyBNYXAsbC5zZXQobixyKSk7aWYoci5oYXMoZSkpcmV0dXJuIHI7Zm9yKHIuc2V0KGUsbnVsbCksbj1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpLGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGE9bltsXTtpZighKGFbZVpdfHxhW2VXXXx8ImxpbmsiPT09ZSYmInN0eWxlc2hlZXQiPT09YS5nZXRBdHRyaWJ1dGUoInJlbCIpKSYmImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiE9PWEubmFtZXNwYWNlVVJJKXt2YXIgbz1hLmdldEF0dHJpYnV0ZSh0KXx8IiI7bz1lK287dmFyIGk9ci5nZXQobyk7aT9pLnB1c2goYSk6ci5zZXQobyxbYV0pfX1yZXR1cm4gcn1mdW5jdGlvbiBmYShlLHQsbil7KGU9ZS5vd25lckRvY3VtZW50fHxlKS5oZWFkLmluc2VydEJlZm9yZShuLCJ0aXRsZSI9PT10P2UucXVlcnlTZWxlY3RvcigiaGVhZCA+IHRpdGxlIik6bnVsbCl9ZnVuY3Rpb24gZm8oZSx0KXtyZXR1cm4iaW1nIj09PWUmJm51bGwhPXQuc3JjJiYiIiE9PXQuc3JjJiZudWxsPT10Lm9uTG9hZCYmImxhenkiIT09dC5sb2FkaW5nfWZ1bmN0aW9uIGZpKGUpe3JldHVybiJzdHlsZXNoZWV0IiE9PWUudHlwZXx8MCE9KDMmZS5zdGF0ZS5sb2FkaW5nKX1mdW5jdGlvbiBmdShlKXtyZXR1cm4oZS53aWR0aHx8MTAwKSooZS5oZWlnaHR8fDEwMCkqKCJudW1iZXIiPT10eXBlb2YgZGV2aWNlUGl4ZWxSYXRpbz9kZXZpY2VQaXhlbFJhdGlvOjEpKi4yNX1mdW5jdGlvbiBmcyhlLHQpeyJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlY29kZSYmKGUuaW1nQ291bnQrKyx0LmNvbXBsZXRlfHwoZS5pbWdCeXRlcys9ZnUodCksZS5zdXNwZW5zZXlJbWFnZXMucHVzaCh0KSksZT1mcC5iaW5kKGUpLHQuZGVjb2RlKCkudGhlbihlLGUpKX12YXIgZmM9MDtmdW5jdGlvbiBmZihlKXtpZigwPT09ZS5jb3VudCYmKDA9PT1lLmltZ0NvdW50fHwhZS53YWl0aW5nRm9ySW1hZ2VzKSl7aWYoZS5zdHlsZXNoZWV0cylmaChlLGUuc3R5bGVzaGVldHMpO2Vsc2UgaWYoZS51bnN1c3BlbmQpe3ZhciB0PWUudW5zdXNwZW5kO2UudW5zdXNwZW5kPW51bGwsdCgpfX19ZnVuY3Rpb24gZmQoKXt0aGlzLmNvdW50LS0sZmYodGhpcyl9ZnVuY3Rpb24gZnAoKXt0aGlzLmltZ0NvdW50LS0sZmYodGhpcyl9dmFyIGZtPW51bGw7ZnVuY3Rpb24gZmgoZSx0KXtlLnN0eWxlc2hlZXRzPW51bGwsbnVsbCE9PWUudW5zdXNwZW5kJiYoZS5jb3VudCsrLGZtPW5ldyBNYXAsdC5mb3JFYWNoKGZnLGUpLGZtPW51bGwsZmQuY2FsbChlKSl9ZnVuY3Rpb24gZmcoZSx0KXtpZighKDQmdC5zdGF0ZS5sb2FkaW5nKSl7dmFyIG49Zm0uZ2V0KGUpO2lmKG4pdmFyIHI9bi5nZXQobnVsbCk7ZWxzZXtuPW5ldyBNYXAsZm0uc2V0KGUsbik7Zm9yKHZhciBsPWUucXVlcnlTZWxlY3RvckFsbCgibGlua1tkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0iKSxhPTA7YTxsLmxlbmd0aDthKyspe3ZhciBvPWxbYV07KCJMSU5LIj09PW8ubm9kZU5hbWV8fCJub3QgYWxsIiE9PW8uZ2V0QXR0cmlidXRlKCJtZWRpYSIpKSYmKG4uc2V0KG8uZGF0YXNldC5wcmVjZWRlbmNlLG8pLHI9byl9ciYmbi5zZXQobnVsbCxyKX1vPShsPXQuaW5zdGFuY2UpLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIiksKGE9bi5nZXQobyl8fHIpPT09ciYmbi5zZXQobnVsbCxsKSxuLnNldChvLGwpLHRoaXMuY291bnQrKyxyPWZkLmJpbmQodGhpcyksbC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixyKSxsLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixyKSxhP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxhLm5leHRTaWJsaW5nKTooZT05PT09ZS5ub2RlVHlwZT9lLmhlYWQ6ZSkuaW5zZXJ0QmVmb3JlKGwsZS5maXJzdENoaWxkKSx0LnN0YXRlLmxvYWRpbmd8PTR9fXZhciBmdj17JCR0eXBlb2Y6TCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2N1cnJlbnRWYWx1ZTpLLF9jdXJyZW50VmFsdWUyOkssX3RocmVhZENvdW50OjB9O2Z1bmN0aW9uIGZ5KGUsdCxuLHIsbCxhLG8saSx1KXt0aGlzLnRhZz0xLHRoaXMuY29udGFpbmVySW5mbz1lLHRoaXMucGluZ0NhY2hlPXRoaXMuY3VycmVudD10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsLHRoaXMudGltZW91dEhhbmRsZT0tMSx0aGlzLmNhbGxiYWNrTm9kZT10aGlzLm5leHQ9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9dGhpcy5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsdGhpcy5jYWxsYmFja1ByaW9yaXR5PTAsdGhpcy5leHBpcmF0aW9uVGltZXM9ZUQoLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5zaGVsbFN1c3BlbmRDb3VudGVyPXRoaXMuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXM9dGhpcy5leHBpcmVkTGFuZXM9dGhpcy53YXJtTGFuZXM9dGhpcy5waW5nZWRMYW5lcz10aGlzLnN1c3BlbmRlZExhbmVzPXRoaXMucGVuZGluZ0xhbmVzPTAsdGhpcy5lbnRhbmdsZW1lbnRzPWVEKDApLHRoaXMuaGlkZGVuVXBkYXRlcz1lRChudWxsKSx0aGlzLmlkZW50aWZpZXJQcmVmaXg9cix0aGlzLm9uVW5jYXVnaHRFcnJvcj1sLHRoaXMub25DYXVnaHRFcnJvcj1hLHRoaXMub25SZWNvdmVyYWJsZUVycm9yPW8sdGhpcy5wb29sZWRDYWNoZT1udWxsLHRoaXMucG9vbGVkQ2FjaGVMYW5lcz0wLHRoaXMuZm9ybVN0YXRlPXUsdGhpcy50cmFuc2l0aW9uVHlwZXM9bnVsbCx0aGlzLmluY29tcGxldGVUcmFuc2l0aW9ucz1uZXcgTWFwfWZ1bmN0aW9uIGZiKGUsdCxuLHIsbCxhLG8saSx1LHMsYyxmKXtyZXR1cm4gZT1uZXcgZnkoZSx0LG4sbyx1LHMsYyxmLGkpLHQ9MSwhMD09PWEmJih0fD0yNCksYT1ydigzLG51bGwsbnVsbCx0KSxlLmN1cnJlbnQ9YSxhLnN0YXRlTm9kZT1lLHQ9bHUoKSx0LnJlZkNvdW50KyssZS5wb29sZWRDYWNoZT10LHQucmVmQ291bnQrKyxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6bixjYWNoZTp0fSxsQihhKSxlfWZ1bmN0aW9uIGZ3KGUsdCxuLHIsbCxhKXtsPWw/cmg6cmgsbnVsbD09PXIuY29udGV4dD9yLmNvbnRleHQ9bDpyLnBlbmRpbmdDb250ZXh0PWwsKHI9bEgodCkpLnBheWxvYWQ9e2VsZW1lbnQ6bn0sbnVsbCE9PShhPXZvaWQgMD09PWE/bnVsbDphKSYmKHIuY2FsbGJhY2s9YSksbnVsbCE9PShuPWwkKGUscix0KSkmJih1NihuLGUsdCksbFEobixlLHQpKX1mdW5jdGlvbiBmayhlLHQpe2lmKG51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpJiZudWxsIT09ZS5kZWh5ZHJhdGVkKXt2YXIgbj1lLnJldHJ5TGFuZTtlLnJldHJ5TGFuZT0wIT09biYmbjx0P246dH19ZnVuY3Rpb24gZlMoZSx0KXtmayhlLHQpLChlPWUuYWx0ZXJuYXRlKSYmZmsoZSx0KX1mdW5jdGlvbiBmRShlKXtpZigxMz09PWUudGFnfHwzMT09PWUudGFnKXt2YXIgdD1yZChlLDB4NDAwMDAwMCk7bnVsbCE9PXQmJnU2KHQsZSwweDQwMDAwMDApLGZTKGUsMHg0MDAwMDAwKX19ZnVuY3Rpb24gZngoZSl7aWYoMTM9PT1lLnRhZ3x8MzE9PT1lLnRhZyl7dmFyIHQ9dTQoKSxuPXJkKGUsdD1lQih0KSk7bnVsbCE9PW4mJnU2KG4sZSx0KSxmUyhlLHQpfX12YXIgZl89ITA7ZnVuY3Rpb24gZlAoZSx0LG4scil7dmFyIGw9Vy5UO1cuVD1udWxsO3ZhciBhPXEucDt0cnl7cS5wPTIsZkMoZSx0LG4scil9ZmluYWxseXtxLnA9YSxXLlQ9bH19ZnVuY3Rpb24gZk4oZSx0LG4scil7dmFyIGw9Vy5UO1cuVD1udWxsO3ZhciBhPXEucDt0cnl7cS5wPTgsZkMoZSx0LG4scil9ZmluYWxseXtxLnA9YSxXLlQ9bH19ZnVuY3Rpb24gZkMoZSx0LG4scil7aWYoZl8pe3ZhciBsPWZUKHIpO2lmKG51bGw9PT1sKXMzKGUsdCxyLGZPLG4pLGZCKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLHQsbixyLGwpe3N3aXRjaCh0KXtjYXNlImZvY3VzaW4iOnJldHVybiBmTT1mVihmTSxlLHQsbixyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gZkk9ZlYoZkksZSx0LG4scixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIGZEPWZWKGZELGUsdCxuLHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIGZGLnNldChhLGZWKGZGLmdldChhKXx8bnVsbCxlLHQsbixyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxmQS5zZXQoYSxmVihmQS5nZXQoYSl8fG51bGwsZSx0LG4scixsKSksITB9cmV0dXJuITF9KGwsZSx0LG4scikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKGZCKGUsciksNCZ0JiYtMTxmVS5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9ZTIobCk7aWYobnVsbCE9PWEpc3dpdGNoKGEudGFnKXtjYXNlIDM6aWYoKGE9YS5zdGF0ZU5vZGUpLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe3ZhciBvPWVMKGEucGVuZGluZ0xhbmVzKTtpZigwIT09byl7dmFyIGk9YTtmb3IoaS5wZW5kaW5nTGFuZXN8PTIsaS5lbnRhbmdsZWRMYW5lc3w9MjtvOyl7dmFyIHU9MTw8MzEtZVAobyk7aS5lbnRhbmdsZW1lbnRzWzFdfD11LG8mPX51fXNGKGEpLDA9PSg2JnVTKSYmKHVIPWV2KCkrNTAwLHNBKDAsITEpKX19YnJlYWs7Y2FzZSAzMTpjYXNlIDEzOm51bGwhPT0oaT1yZChhLDIpKSYmdTYoaSxhLDIpLHN0KCksZlMoYSwyKX1pZihudWxsPT09KGE9ZlQocikpJiZzMyhlLHQscixmTyxuKSxhPT09bClicmVhaztsPWF9bnVsbCE9PWwmJnIuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBzMyhlLHQscixudWxsLG4pfX1mdW5jdGlvbiBmVChlKXtyZXR1cm4gZnooZT10eihlKSl9dmFyIGZPPW51bGw7ZnVuY3Rpb24gZnooZSl7aWYoZk89bnVsbCxudWxsIT09KGU9ZTEoZSkpKXt2YXIgdD1jKGUpO2lmKG51bGw9PT10KWU9bnVsbDtlbHNle3ZhciBuPXQudGFnO2lmKDEzPT09bil7aWYobnVsbCE9PShlPWYodCkpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDMxPT09bil7aWYobnVsbCE9PShlPWQodCkpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT1uKXtpZih0LnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09dC50YWc/dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIHQhPT1lJiYoZT1udWxsKX19cmV0dXJuIGZPPWUsbnVsbH1mdW5jdGlvbiBmTChlKXtzd2l0Y2goZSl7Y2FzZSJiZWZvcmV0b2dnbGUiOmNhc2UiY2FuY2VsIjpjYXNlImNsaWNrIjpjYXNlImNsb3NlIjpjYXNlImNvbnRleHRtZW51IjpjYXNlImNvcHkiOmNhc2UiY3V0IjpjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmNhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6Y2FzZSJpbnB1dCI6Y2FzZSJpbnZhbGlkIjpjYXNlImtleWRvd24iOmNhc2Uia2V5cHJlc3MiOmNhc2Uia2V5dXAiOmNhc2UibW91c2Vkb3duIjpjYXNlIm1vdXNldXAiOmNhc2UicGFzdGUiOmNhc2UicGF1c2UiOmNhc2UicGxheSI6Y2FzZSJwb2ludGVyY2FuY2VsIjpjYXNlInBvaW50ZXJkb3duIjpjYXNlInBvaW50ZXJ1cCI6Y2FzZSJyYXRlY2hhbmdlIjpjYXNlInJlc2V0IjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNoc3RhcnQiOmNhc2Uidm9sdW1lY2hhbmdlIjpjYXNlImNoYW5nZSI6Y2FzZSJzZWxlY3Rpb25jaGFuZ2UiOmNhc2UidGV4dElucHV0IjpjYXNlImNvbXBvc2l0aW9uc3RhcnQiOmNhc2UiY29tcG9zaXRpb25lbmQiOmNhc2UiY29tcG9zaXRpb251cGRhdGUiOmNhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmNhc2UiYmVmb3JlaW5wdXQiOmNhc2UiYmx1ciI6Y2FzZSJmdWxsc2NyZWVuY2hhbmdlIjpjYXNlImZvY3VzIjpjYXNlImhhc2hjaGFuZ2UiOmNhc2UicG9wc3RhdGUiOmNhc2Uic2VsZWN0IjpjYXNlInNlbGVjdHN0YXJ0IjpyZXR1cm4gMjtjYXNlImRyYWciOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlInBvaW50ZXJtb3ZlIjpjYXNlInBvaW50ZXJvdXQiOmNhc2UicG9pbnRlcm92ZXIiOmNhc2UicmVzaXplIjpjYXNlInNjcm9sbCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2Uid2hlZWwiOmNhc2UibW91c2VlbnRlciI6Y2FzZSJtb3VzZWxlYXZlIjpjYXNlInBvaW50ZXJlbnRlciI6Y2FzZSJwb2ludGVybGVhdmUiOnJldHVybiA4O2Nhc2UibWVzc2FnZSI6c3dpdGNoKGV5KCkpe2Nhc2UgZWI6cmV0dXJuIDI7Y2FzZSBldzpyZXR1cm4gODtjYXNlIGVrOmNhc2UgZVM6cmV0dXJuIDMyO2Nhc2UgZUU6cmV0dXJuIDB4MTAwMDAwMDA7ZGVmYXVsdDpyZXR1cm4gMzJ9ZGVmYXVsdDpyZXR1cm4gMzJ9fXZhciBmUj0hMSxmTT1udWxsLGZJPW51bGwsZkQ9bnVsbCxmRj1uZXcgTWFwLGZBPW5ldyBNYXAsZmo9W10sZlU9Im1vdXNlZG93biBtb3VzZXVwIHRvdWNoY2FuY2VsIHRvdWNoZW5kIHRvdWNoc3RhcnQgYXV4Y2xpY2sgZGJsY2xpY2sgcG9pbnRlcmNhbmNlbCBwb2ludGVyZG93biBwb2ludGVydXAgZHJhZ2VuZCBkcmFnc3RhcnQgZHJvcCBjb21wb3NpdGlvbmVuZCBjb21wb3NpdGlvbnN0YXJ0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgaW5wdXQgdGV4dElucHV0IGNvcHkgY3V0IHBhc3RlIGNsaWNrIGNoYW5nZSBjb250ZXh0bWVudSByZXNldCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBmQihlLHQpe3N3aXRjaChlKXtjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmZNPW51bGw7YnJlYWs7Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2xlYXZlIjpmST1udWxsO2JyZWFrO2Nhc2UibW91c2VvdmVyIjpjYXNlIm1vdXNlb3V0IjpmRD1udWxsO2JyZWFrO2Nhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcm91dCI6ZkYuZGVsZXRlKHQucG9pbnRlcklkKTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6ZkEuZGVsZXRlKHQucG9pbnRlcklkKX19ZnVuY3Rpb24gZlYoZSx0LG4scixsLGEpe3JldHVybiBudWxsPT09ZXx8ZS5uYXRpdmVFdmVudCE9PWE/KGU9e2Jsb2NrZWRPbjp0LGRvbUV2ZW50TmFtZTpuLGV2ZW50U3lzdGVtRmxhZ3M6cixuYXRpdmVFdmVudDphLHRhcmdldENvbnRhaW5lcnM6W2xdfSxudWxsIT09dCYmbnVsbCE9PSh0PWUyKHQpKSYmZkUodCkpOihlLmV2ZW50U3lzdGVtRmxhZ3N8PXIsdD1lLnRhcmdldENvbnRhaW5lcnMsbnVsbCE9PWwmJi0xPT09dC5pbmRleE9mKGwpJiZ0LnB1c2gobCkpLGV9ZnVuY3Rpb24gZkgoZSl7dmFyIHQ9ZTEoZS50YXJnZXQpO2lmKG51bGwhPT10KXt2YXIgbj1jKHQpO2lmKG51bGwhPT1uKXtpZigxMz09PSh0PW4udGFnKSl7aWYobnVsbCE9PSh0PWYobikpKXtlLmJsb2NrZWRPbj10LGUkKGUucHJpb3JpdHksZnVuY3Rpb24oKXtmeChuKX0pO3JldHVybn19ZWxzZSBpZigzMT09PXQpe2lmKG51bGwhPT0odD1kKG4pKSl7ZS5ibG9ja2VkT249dCxlJChlLnByaW9yaXR5LGZ1bmN0aW9uKCl7Zngobil9KTtyZXR1cm59fWVsc2UgaWYoMz09PXQmJm4uc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2UuYmxvY2tlZE9uPTM9PT1uLnRhZz9uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBmJChlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciB0PWUudGFyZ2V0Q29udGFpbmVyczswPHQubGVuZ3RoOyl7dmFyIG49ZlQoZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PW4pcmV0dXJuIG51bGwhPT0odD1lMihuKSkmJmZFKHQpLGUuYmxvY2tlZE9uPW4sITE7dmFyIHI9bmV3KG49ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3Iobi50eXBlLG4pO3RPPXIsbi50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSx0Tz1udWxsLHQuc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBmUShlLHQsbil7ZiQoZSkmJm4uZGVsZXRlKHQpfWZ1bmN0aW9uIGZXKCl7ZlI9ITEsbnVsbCE9PWZNJiZmJChmTSkmJihmTT1udWxsKSxudWxsIT09ZkkmJmYkKGZJKSYmKGZJPW51bGwpLG51bGwhPT1mRCYmZiQoZkQpJiYoZkQ9bnVsbCksZkYuZm9yRWFjaChmUSksZkEuZm9yRWFjaChmUSl9ZnVuY3Rpb24gZnEoZSx0KXtlLmJsb2NrZWRPbj09PXQmJihlLmJsb2NrZWRPbj1udWxsLGZSfHwoZlI9ITAsYS51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGEudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZlcpKSl9dmFyIGZLPW51bGw7ZnVuY3Rpb24gZlgoZSl7ZkshPT1lJiYoZks9ZSxhLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2soYS51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxmdW5jdGlvbigpe2ZLPT09ZSYmKGZLPW51bGwpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCs9Myl7dmFyIG49ZVt0XSxyPWVbdCsxXSxsPWVbdCsyXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgcilpZihudWxsPT09Znoocnx8bikpY29udGludWU7ZWxzZSBicmVhazt2YXIgYT1lMihuKTtudWxsIT09YSYmKGUuc3BsaWNlKHQsMyksdC09MyxvdShhLHtwZW5kaW5nOiEwLGRhdGE6bCxtZXRob2Q6bi5tZXRob2QsYWN0aW9uOnJ9LHIsbCkpfX0pKX1mdW5jdGlvbiBmRyhlKXtmdW5jdGlvbiB0KHQpe3JldHVybiBmcSh0LGUpfW51bGwhPT1mTSYmZnEoZk0sZSksbnVsbCE9PWZJJiZmcShmSSxlKSxudWxsIT09ZkQmJmZxKGZELGUpLGZGLmZvckVhY2godCksZkEuZm9yRWFjaCh0KTtmb3IodmFyIG49MDtuPGZqLmxlbmd0aDtuKyspe3ZhciByPWZqW25dO3IuYmxvY2tlZE9uPT09ZSYmKHIuYmxvY2tlZE9uPW51bGwpfWZvcig7MDxmai5sZW5ndGgmJm51bGw9PT0obj1malswXSkuYmxvY2tlZE9uOylmSChuKSxudWxsPT09bi5ibG9ja2VkT24mJmZqLnNoaWZ0KCk7aWYobnVsbCE9KG49KGUub3duZXJEb2N1bWVudHx8ZSkuJCRyZWFjdEZvcm1SZXBsYXkpKWZvcihyPTA7cjxuLmxlbmd0aDtyKz0zKXt2YXIgbD1uW3JdLGE9bltyKzFdLG89bFtlcV18fG51bGw7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpb3x8Zlgobik7ZWxzZSBpZihvKXt2YXIgaT1udWxsO2lmKGEmJmEuaGFzQXR0cmlidXRlKCJmb3JtQWN0aW9uIikpe2lmKGw9YSxvPWFbZXFdfHxudWxsKWk9by5mb3JtQWN0aW9uO2Vsc2UgaWYobnVsbCE9PWZ6KGwpKWNvbnRpbnVlfWVsc2UgaT1vLmFjdGlvbjsiZnVuY3Rpb24iPT10eXBlb2YgaT9uW3IrMV09aToobi5zcGxpY2UociwzKSxyLT0zKSxmWChuKX19fWZ1bmN0aW9uIGZZKCl7ZnVuY3Rpb24gZShlKXtlLmNhbkludGVyY2VwdCYmInJlYWN0LXRyYW5zaXRpb24iPT09ZS5pbmZvJiZlLmludGVyY2VwdCh7aGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtyZXR1cm4gbD1lfSl9LGZvY3VzUmVzZXQ6Im1hbnVhbCIsc2Nyb2xsOiJtYW51YWwifSl9ZnVuY3Rpb24gdCgpe251bGwhPT1sJiYobCgpLGw9bnVsbCkscnx8c2V0VGltZW91dChuLDIwKX1mdW5jdGlvbiBuKCl7aWYoIXImJiFuYXZpZ2F0aW9uLnRyYW5zaXRpb24pe3ZhciBlPW5hdmlnYXRpb24uY3VycmVudEVudHJ5O2UmJm51bGwhPWUudXJsJiZuYXZpZ2F0aW9uLm5hdmlnYXRlKGUudXJsLHtzdGF0ZTplLmdldFN0YXRlKCksaW5mbzoicmVhY3QtdHJhbnNpdGlvbiIsaGlzdG9yeToicmVwbGFjZSJ9KX19aWYoIm9iamVjdCI9PXR5cGVvZiBuYXZpZ2F0aW9uKXt2YXIgcj0hMSxsPW51bGw7cmV0dXJuIG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGUiLGUpLG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVzdWNjZXNzIix0KSxuYXZpZ2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlZXJyb3IiLHQpLHNldFRpbWVvdXQobiwxMDApLGZ1bmN0aW9uKCl7cj0hMCxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlIixlKSxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlc3VjY2VzcyIsdCksbmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZWVycm9yIix0KSxudWxsIT09bCYmKGwoKSxsPW51bGwpfX19ZnVuY3Rpb24gZkooZSl7dGhpcy5faW50ZXJuYWxSb290PWV9ZnVuY3Rpb24gZlooZSl7dGhpcy5faW50ZXJuYWxSb290PWV9ZloucHJvdG90eXBlLnJlbmRlcj1mSi5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsPT09dCl0aHJvdyBFcnJvcih1KDQwOSkpO2Z3KHQuY3VycmVudCx1NCgpLGUsdCxudWxsLG51bGwpfSxmWi5wcm90b3R5cGUudW5tb3VudD1mSi5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsIT09ZSl7dGhpcy5faW50ZXJuYWxSb290PW51bGw7dmFyIHQ9ZS5jb250YWluZXJJbmZvO2Z3KGUuY3VycmVudCwyLG51bGwsZSxudWxsLG51bGwpLHN0KCksdFtlS109bnVsbH19LGZaLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgdD1lSCgpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5OnR9O2Zvcih2YXIgbj0wO248ZmoubGVuZ3RoJiYwIT09dCYmdDxmaltuXS5wcmlvcml0eTtuKyspO2ZqLnNwbGljZShuLDAsZSksMD09PW4mJmZIKGUpfX07dmFyIGYwPW8udmVyc2lvbjtpZigiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyIhPT1mMCl0aHJvdyBFcnJvcih1KDUyNyxmMCwiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyIpKTtpZihxLmZpbmRET01Ob2RlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuX3JlYWN0SW50ZXJuYWxzO2lmKHZvaWQgMD09PXQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlbmRlcil0aHJvdyBFcnJvcih1KDE4OCkpO3Rocm93IEVycm9yKHUoMjY4LGU9T2JqZWN0LmtleXMoZSkuam9pbigiLCIpKSl9cmV0dXJuIG51bGw9PT0oZT1udWxsIT09KGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7aWYoIXQpe2lmKG51bGw9PT0odD1jKGUpKSl0aHJvdyBFcnJvcih1KDE4OCkpO3JldHVybiB0IT09ZT9udWxsOmV9Zm9yKHZhciBuPWUscj10Ozspe3ZhciBsPW4ucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciBhPWwuYWx0ZXJuYXRlO2lmKG51bGw9PT1hKXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXtuPXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PWEuY2hpbGQpe2ZvcihhPWwuY2hpbGQ7YTspe2lmKGE9PT1uKXJldHVybiBwKGwpLGU7aWYoYT09PXIpcmV0dXJuIHAobCksdDthPWEuc2libGluZ310aHJvdyBFcnJvcih1KDE4OCkpfWlmKG4ucmV0dXJuIT09ci5yZXR1cm4pbj1sLHI9YTtlbHNle2Zvcih2YXIgbz0hMSxpPWwuY2hpbGQ7aTspe2lmKGk9PT1uKXtvPSEwLG49bCxyPWE7YnJlYWt9aWYoaT09PXIpe289ITAscj1sLG49YTticmVha31pPWkuc2libGluZ31pZighbyl7Zm9yKGk9YS5jaGlsZDtpOyl7aWYoaT09PW4pe289ITAsbj1hLHI9bDticmVha31pZihpPT09cil7bz0hMCxyPWEsbj1sO2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXRocm93IEVycm9yKHUoMTg5KSl9fWlmKG4uYWx0ZXJuYXRlIT09cil0aHJvdyBFcnJvcih1KDE5MCkpfWlmKDMhPT1uLnRhZyl0aHJvdyBFcnJvcih1KDE4OCkpO3JldHVybiBuLnN0YXRlTm9kZS5jdXJyZW50PT09bj9lOnR9KHQpKT9mdW5jdGlvbiBlKHQpe3ZhciBuPXQudGFnO2lmKDU9PT1ufHwyNj09PW58fDI3PT09bnx8Nj09PW4pcmV0dXJuIHQ7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe2lmKG51bGwhPT0obj1lKHQpKSlyZXR1cm4gbjt0PXQuc2libGluZ31yZXR1cm4gbnVsbH0oZSk6bnVsbCk/bnVsbDplLnN0YXRlTm9kZX0sInUiPnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18pe3ZhciBmMT1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYoIWYxLmlzRGlzYWJsZWQmJmYxLnN1cHBvcnRzRmliZXIpdHJ5e2V4PWYxLmluamVjdCh7YnVuZGxlVHlwZTowLHZlcnNpb246IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTciLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSIsY3VycmVudERpc3BhdGNoZXJSZWY6VyxyZWNvbmNpbGVyVmVyc2lvbjoiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyJ9KSxlXz1mMX1jYXRjaChlKXt9fW4uY3JlYXRlUm9vdD1mdW5jdGlvbihlLHQpe2lmKCFzKGUpKXRocm93IEVycm9yKHUoMjk5KSk7dmFyIG49ITEscj0iIixsPW96LGE9b0wsbz1vUjtyZXR1cm4gbnVsbCE9dCYmKCEwPT09dC51bnN0YWJsZV9zdHJpY3RNb2RlJiYobj0hMCksdm9pZCAwIT09dC5pZGVudGlmaWVyUHJlZml4JiYocj10LmlkZW50aWZpZXJQcmVmaXgpLHZvaWQgMCE9PXQub25VbmNhdWdodEVycm9yJiYobD10Lm9uVW5jYXVnaHRFcnJvciksdm9pZCAwIT09dC5vbkNhdWdodEVycm9yJiYoYT10Lm9uQ2F1Z2h0RXJyb3IpLHZvaWQgMCE9PXQub25SZWNvdmVyYWJsZUVycm9yJiYobz10Lm9uUmVjb3ZlcmFibGVFcnJvcikpLHQ9ZmIoZSwxLCExLG51bGwsbnVsbCxuLHIsbnVsbCxsLGEsbyxmWSksZVtlS109dC5jdXJyZW50LHMxKGUpLG5ldyBmSih0KX0sbi5oeWRyYXRlUm9vdD1mdW5jdGlvbihlLHQsbil7aWYoIXMoZSkpdGhyb3cgRXJyb3IodSgyOTkpKTt2YXIgcixsPSExLGE9IiIsbz1veixpPW9MLGM9b1IsZj1udWxsO3JldHVybiBudWxsIT1uJiYoITA9PT1uLnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT1uLmlkZW50aWZpZXJQcmVmaXgmJihhPW4uaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09bi5vblVuY2F1Z2h0RXJyb3ImJihvPW4ub25VbmNhdWdodEVycm9yKSx2b2lkIDAhPT1uLm9uQ2F1Z2h0RXJyb3ImJihpPW4ub25DYXVnaHRFcnJvciksdm9pZCAwIT09bi5vblJlY292ZXJhYmxlRXJyb3ImJihjPW4ub25SZWNvdmVyYWJsZUVycm9yKSx2b2lkIDAhPT1uLmZvcm1TdGF0ZSYmKGY9bi5mb3JtU3RhdGUpKSwodD1mYihlLDEsITAsdCxudWxsIT1uP246bnVsbCxsLGEsZixvLGksYyxmWSkpLmNvbnRleHQ9KHI9bnVsbCxyaCksbj10LmN1cnJlbnQsKGE9bEgobD1lQihsPXU0KCkpKSkuY2FsbGJhY2s9bnVsbCxsJChuLGEsbCksbj1sLHQuY3VycmVudC5sYW5lcz1uLGVGKHQsbiksc0YodCksZVtlS109dC5jdXJyZW50LHMxKGUpLG5ldyBmWih0KX0sbi52ZXJzaW9uPSIxOS4zLjAtY2FuYXJ5LWY5M2I5ZmQ0LTIwMjUxMjE3In0sODI5NDAsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1Ij50eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksdC5leHBvcnRzPWUucig4MjQyNCl9LDgyOTM5LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtvbkNhdWdodEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LG9uVW5jYXVnaHRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBwfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig4MTI1OCksbz1lLnIoNDk4NDMpLGk9ZS5yKDg0MDgyKSx1PWUucigxNzc0OCkscz1lLnIoNzQ4NDcpLGM9YS5fKGUucigxNjE1MykpLGY9e2RlY29yYXRlRGV2RXJyb3I6ZT0+ZSxoYW5kbGVDbGllbnRFcnJvcjooKT0+e30sb3JpZ2luQ29uc29sZUVycm9yOmNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKX07ZnVuY3Rpb24gZChlLHQpe2xldCBuLHI9dC5lcnJvckJvdW5kYXJ5Py5jb25zdHJ1Y3RvcjtpZihuPW58fHI9PT1zLkVycm9yQm91bmRhcnlIYW5kbGVyJiZ0LmVycm9yQm91bmRhcnkucHJvcHMuZXJyb3JDb21wb25lbnQ9PT1jLmRlZmF1bHQpcmV0dXJuIHAoZSk7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fGYub3JpZ2luQ29uc29sZUVycm9yKGUpfWZ1bmN0aW9uIHAoZSl7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fCgwLHUucmVwb3J0R2xvYmFsRXJyb3IpKGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDY0NTQ3LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJBcHBSb3V0ZXJBbm5vdW5jZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCByPWUucig3NTIwMSksbD1lLnIoMjkwODApLGE9Im5leHQtcm91dGUtYW5ub3VuY2VyIjtmdW5jdGlvbiBvKHt0cmVlOmV9KXtsZXRbdCxuXT0oMCxyLnVzZVN0YXRlKShudWxsKTsoMCxyLnVzZUVmZmVjdCkoKCk9PihuKGZ1bmN0aW9uKCl7bGV0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoYSlbMF07aWYoZT8uc2hhZG93Um9vdD8uY2hpbGROb2Rlc1swXSlyZXR1cm4gZS5zaGFkb3dSb290LmNoaWxkTm9kZXNbMF07e2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYSk7ZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZSI7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuYXJpYUxpdmU9ImFzc2VydGl2ZSIsdC5pZD0iX19uZXh0LXJvdXRlLWFubm91bmNlcl9fIix0LnJvbGU9ImFsZXJ0Iix0LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3dpZHRoOjFweDtjbGlwOnJlY3QoMCAwIDAgMCk7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsIixlLmF0dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KS5hcHBlbmRDaGlsZCh0KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHR9fSgpKSwoKT0+e2xldCBlPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpWzBdO2U/LmlzQ29ubmVjdGVkJiZkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGUpfSksW10pO2xldFtvLGldPSgwLHIudXNlU3RhdGUpKCIiKSx1PSgwLHIudXNlUmVmKSh2b2lkIDApO3JldHVybigwLHIudXNlRWZmZWN0KSgoKT0+e2xldCBlPSIiO2lmKGRvY3VtZW50LnRpdGxlKWU9ZG9jdW1lbnQudGl0bGU7ZWxzZXtsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJoMSIpO3QmJihlPXQuaW5uZXJUZXh0fHx0LnRleHRDb250ZW50fHwiIil9dm9pZCAwIT09dS5jdXJyZW50JiZ1LmN1cnJlbnQhPT1lJiZpKGUpLHUuY3VycmVudD1lfSxbZV0pLHQ/KDAsbC5jcmVhdGVQb3J0YWwpKG8sdCk6bnVsbH0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw3OTIxMywoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZmluZEhlYWRJbkNhY2hlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgcj1lLnIoMjc0NTQpLGw9ZS5yKDU3Nzc4KTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLGEsbyl7aWYoMD09PU9iamVjdC5rZXlzKG4pLmxlbmd0aClyZXR1cm5bdCxhLG9dO2xldCBpPU9iamVjdC5rZXlzKG4pLmZpbHRlcihlPT4iY2hpbGRyZW4iIT09ZSk7Zm9yKGxldCBvIG9mKCJjaGlsZHJlbiJpbiBuJiZpLnVuc2hpZnQoImNoaWxkcmVuIiksaSkpe2xldFtpLHVdPW5bb107aWYoaT09PXIuREVGQVVMVF9TRUdNRU5UX0tFWSljb250aW51ZTtsZXQgcz10LnBhcmFsbGVsUm91dGVzLmdldChvKTtpZighcyljb250aW51ZTtsZXQgYz0oMCxsLmNyZWF0ZVJvdXRlckNhY2hlS2V5KShpKSxmPSgwLGwuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKGksITApLGQ9cy5nZXQoYyk7aWYoIWQpY29udGludWU7bGV0IHA9ZShkLHUsYSsiLyIrYyxhKyIvIitmKTtpZihwKXJldHVybiBwfXJldHVybiBudWxsfShlLHQsIiIsIiIpfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDI2NzA2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtHcmFjZWZ1bERlZ3JhZGVCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBpfSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7bGV0IGE9ZS5yKDk4MTM0KSxvPWUucig3NTIwMSk7Y2xhc3MgaSBleHRlbmRzIG8uQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuc3RhdGU9e2hhc0Vycm9yOiExfSx0aGlzLnJvb3RIdG1sPSIiLHRoaXMuaHRtbEF0dHJpYnV0ZXM9e30sdGhpcy5odG1sUmVmPSgwLG8uY3JlYXRlUmVmKSgpfXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7cmV0dXJue2hhc0Vycm9yOiEwfX1jb21wb25lbnREaWRNb3VudCgpe2xldCBlPXRoaXMuaHRtbFJlZi5jdXJyZW50O3RoaXMuc3RhdGUuaGFzRXJyb3ImJmUmJk9iamVjdC5lbnRyaWVzKHRoaXMuaHRtbEF0dHJpYnV0ZXMpLmZvckVhY2goKFt0LG5dKT0+e2Uuc2V0QXR0cmlidXRlKHQsbil9KX1yZW5kZXIoKXtsZXR7aGFzRXJyb3I6ZX09dGhpcy5zdGF0ZTtyZXR1cm4oInUiPnR5cGVvZiB3aW5kb3cmJiF0aGlzLnJvb3RIdG1sJiYodGhpcy5yb290SHRtbD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MLHRoaXMuaHRtbEF0dHJpYnV0ZXM9ZnVuY3Rpb24oZSl7bGV0IHQ9e307Zm9yKGxldCBuPTA7bjxlLmF0dHJpYnV0ZXMubGVuZ3RoO24rKyl7bGV0IHI9ZS5hdHRyaWJ1dGVzW25dO3Rbci5uYW1lXT1yLnZhbHVlfXJldHVybiB0fShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKSxlKT8oMCxhLmpzeCkoImh0bWwiLHtyZWY6dGhpcy5odG1sUmVmLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnRoaXMucm9vdEh0bWx9fSk6dGhpcy5wcm9wcy5jaGlsZHJlbn19bGV0IHU9aTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMzcwMiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZGVmYXVsdCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fSk7bGV0IHI9ZS5yKDgxMjU4KSxsPWUucig5ODEzNCk7ZS5yKDc1MjAxKTtsZXQgYT1yLl8oZS5yKDI2NzA2KSksbz1lLnIoNzQ4NDcpLGk9ZS5yKDM0NjUpLHU9InUiPnR5cGVvZiB3aW5kb3cmJigwLGkuaXNCb3QpKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtmdW5jdGlvbiBzKHtjaGlsZHJlbjplLGVycm9yQ29tcG9uZW50OnQsZXJyb3JTdHlsZXM6bixlcnJvclNjcmlwdHM6cn0pe3JldHVybiB1PygwLGwuanN4KShhLmRlZmF1bHQse2NoaWxkcmVuOmV9KTooMCxsLmpzeCkoby5FcnJvckJvdW5kYXJ5LHtlcnJvckNvbXBvbmVudDp0LGVycm9yU3R5bGVzOm4sZXJyb3JTY3JpcHRzOnIsY2hpbGRyZW46ZX0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDYxMTU2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUn19KTtsZXQgcj1lLnIoODEyNTgpLGw9ZS5yKDQ0MDY2KSxhPWUucig5ODEzNCksbz1sLl8oZS5yKDc1MjAxKSksaT1lLnIoMTY4NzIpLHU9ZS5yKDU5NDMwKSxzPWUucig4NTU5NCksYz1lLnIoMzE4OTkpLGY9ZS5yKDk0ODc5KSxkPWUucig2NDU0NykscD1lLnIoNTcyNDcpLG09ZS5yKDc5MjEzKSxoPWUucig1MDA5NiksZz1lLnIoMjQwNDIpLHY9ZS5yKDM4OTMzKSx5PWUucigxODE2NyksYj1lLnIoODMzOTgpLHc9ZS5yKDg0Mzk1KSxrPWUucig0MTcyMSksUz1lLnIoOTA4NjIpLEU9ZS5yKDk4MjgzKSx4PXIuXyhlLnIoMzM3MDIpKSxfPXIuXyhlLnIoMTYxNTMpKSxQPWUucigzNjM0NSksTj1lLnIoODg3NzQpLEM9e307ZnVuY3Rpb24gVCh7YXBwUm91dGVyU3RhdGU6ZX0pe3JldHVybigwLG8udXNlSW5zZXJ0aW9uRWZmZWN0KSgoKT0+e2xldHt0cmVlOnQscHVzaFJlZjpuLGNhbm9uaWNhbFVybDpyLHJlbmRlcmVkU2VhcmNoOmx9PWUsYT17Li4ubi5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZT93aW5kb3cuaGlzdG9yeS5zdGF0ZTp7fSxfX05BOiEwLF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU6e3RyZWU6dCxyZW5kZXJlZFNlYXJjaDpsfX07bi5wZW5kaW5nUHVzaCYmKDAscy5jcmVhdGVIcmVmRnJvbVVybCkobmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikpIT09cj8obi5wZW5kaW5nUHVzaD0hMSx3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoYSwiIixyKSk6d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKGEsIiIscil9LFtlXSksKDAsby51c2VFZmZlY3QpKCgpPT57KDAsRS5waW5nVmlzaWJsZUxpbmtzKShlLm5leHRVcmwsZS50cmVlKX0sW2UubmV4dFVybCxlLnRyZWVdKSxudWxsfWZ1bmN0aW9uIE8oZSl7bnVsbD09ZSYmKGU9e30pO2xldCB0PXdpbmRvdy5oaXN0b3J5LnN0YXRlLG49dD8uX19OQTtuJiYoZS5fX05BPW4pO2xldCByPXQ/Ll9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU7cmV0dXJuIHImJihlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU9ciksZX1mdW5jdGlvbiB6KHtoZWFkQ2FjaGVOb2RlOmV9KXtsZXQgdD1udWxsIT09ZT9lLmhlYWQ6bnVsbCxuPW51bGwhPT1lP2UucHJlZmV0Y2hIZWFkOm51bGwscj1udWxsIT09bj9uOnQ7cmV0dXJuKDAsby51c2VEZWZlcnJlZFZhbHVlKSh0LHIpfWZ1bmN0aW9uIEwoe2FjdGlvblF1ZXVlOmUsZ2xvYmFsRXJyb3I6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl7bGV0IGwscz0oMCxmLnVzZUFjdGlvblF1ZXVlKShlKSx7Y2Fub25pY2FsVXJsOmJ9PXMse3NlYXJjaFBhcmFtczpFLHBhdGhuYW1lOl99PSgwLG8udXNlTWVtbykoKCk9PntsZXQgZT1uZXcgVVJMKGIsInUiPHR5cGVvZiB3aW5kb3c/Imh0dHA6Ly9uIjp3aW5kb3cubG9jYXRpb24uaHJlZik7cmV0dXJue3NlYXJjaFBhcmFtczplLnNlYXJjaFBhcmFtcyxwYXRobmFtZTooMCx2Lmhhc0Jhc2VQYXRoKShlLnBhdGhuYW1lKT8oMCxnLnJlbW92ZUJhc2VQYXRoKShlLnBhdGhuYW1lKTplLnBhdGhuYW1lfX0sW2JdKTsoMCxvLnVzZUVmZmVjdCkoKCk9PntmdW5jdGlvbiBlKGUpe2UucGVyc2lzdGVkJiZ3aW5kb3cuaGlzdG9yeS5zdGF0ZT8uX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSYmKEMucGVuZGluZ01wYVBhdGg9dm9pZCAwLCgwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOnUuQUNUSU9OX1JFU1RPUkUsdXJsOm5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLGhpc3RvcnlTdGF0ZTp3aW5kb3cuaGlzdG9yeS5zdGF0ZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFfSkpfXJldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLGUpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IixlKX19LFtdKSwoMCxvLnVzZUVmZmVjdCkoKCk9PntmdW5jdGlvbiBlKGUpe2xldCB0PSJyZWFzb24iaW4gZT9lLnJlYXNvbjplLmVycm9yO2lmKCgwLFMuaXNSZWRpcmVjdEVycm9yKSh0KSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPSgwLGsuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKHQpOygwLGsuZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yKSh0KT09PVMuUmVkaXJlY3RUeXBlLnB1c2g/dy5wdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZS5wdXNoKG4se30pOncucHVibGljQXBwUm91dGVySW5zdGFuY2UucmVwbGFjZShuLHt9KX19cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInVuaGFuZGxlZHJlamVjdGlvbiIsZSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGUpfX0sW10pO2xldHtwdXNoUmVmOk59PXM7aWYoTi5tcGFOYXZpZ2F0aW9uKXtpZihDLnBlbmRpbmdNcGFQYXRoIT09Yil7bGV0IGU9d2luZG93LmxvY2F0aW9uO04ucGVuZGluZ1B1c2g/ZS5hc3NpZ24oYik6ZS5yZXBsYWNlKGIpLEMucGVuZGluZ01wYVBhdGg9Yn10aHJvdyBoLnVucmVzb2x2ZWRUaGVuYWJsZX0oMCxvLnVzZUVmZmVjdCkoKCk9PntsZXQgZT13aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSksdD13aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSksbj1lPT57bGV0IHQ9d2luZG93LmxvY2F0aW9uLmhyZWYsbj13aW5kb3cuaGlzdG9yeS5zdGF0ZT8uX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTp1LkFDVElPTl9SRVNUT1JFLHVybDpuZXcgVVJMKGU/P3QsdCksaGlzdG9yeVN0YXRlOm59KX0pfTt3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGU9ZnVuY3Rpb24odCxyLGwpe3JldHVybiB0Py5fX05BfHx0Py5fTnx8KHQ9Tyh0KSxsJiZuKGwpKSxlKHQscixsKX0sd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlPWZ1bmN0aW9uKGUscixsKXtyZXR1cm4gZT8uX19OQXx8ZT8uX058fChlPU8oZSksbCYmbihsKSksdChlLHIsbCl9O2xldCByPWU9PntpZihlLnN0YXRlKXtpZighZS5zdGF0ZS5fX05BKXJldHVybiB2b2lkIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCx3LmRpc3BhdGNoVHJhdmVyc2VBY3Rpb24pKHdpbmRvdy5sb2NhdGlvbi5ocmVmLGUuc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSl9KX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLHIpLCgpPT57d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlPWUsd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlPXQsd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixyKX19LFtdKTtsZXR7Y2FjaGU6TCx0cmVlOlIsbmV4dFVybDpNLGZvY3VzQW5kU2Nyb2xsUmVmOkkscHJldmlvdXNOZXh0VXJsOkZ9PXMsQT0oMCxvLnVzZU1lbW8pKCgpPT4oMCxtLmZpbmRIZWFkSW5DYWNoZSkoTCxSWzFdKSxbTCxSXSksaj0oMCxvLnVzZU1lbW8pKCgpPT4oMCx5LmdldFNlbGVjdGVkUGFyYW1zKShSKSxbUl0pLFU9KDAsby51c2VNZW1vKSgoKT0+KHtwYXJlbnRUcmVlOlIscGFyZW50Q2FjaGVOb2RlOkwscGFyZW50U2VnbWVudFBhdGg6bnVsbCxwYXJlbnRQYXJhbXM6e30sZGVidWdOYW1lQ29udGV4dDoiLyIsdXJsOmIsaXNBY3RpdmU6ITB9KSxbUixMLGJdKSxCPSgwLG8udXNlTWVtbykoKCk9Pih7dHJlZTpSLGZvY3VzQW5kU2Nyb2xsUmVmOkksbmV4dFVybDpNLHByZXZpb3VzTmV4dFVybDpGfSksW1IsSSxNLEZdKTtpZihudWxsIT09QSl7bGV0W2UsdCxuXT1BO2w9KDAsYS5qc3gpKHose2hlYWRDYWNoZU5vZGU6ZX0sInUiPHR5cGVvZiB3aW5kb3c/bjp0KX1lbHNlIGw9bnVsbDtsZXQgVj0oMCxhLmpzeHMpKHAuUmVkaXJlY3RCb3VuZGFyeSx7Y2hpbGRyZW46W2wsKDAsYS5qc3gpKFAuUm9vdExheW91dEJvdW5kYXJ5LHtjaGlsZHJlbjpMLnJzY30pLCgwLGEuanN4KShkLkFwcFJvdXRlckFubm91bmNlcix7dHJlZTpSfSldfSk7cmV0dXJuIFY9KDAsYS5qc3gpKHguZGVmYXVsdCx7ZXJyb3JDb21wb25lbnQ6dFswXSxlcnJvclN0eWxlczp0WzFdLGNoaWxkcmVuOlZ9KSwoMCxhLmpzeHMpKGEuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxhLmpzeCkoVCx7YXBwUm91dGVyU3RhdGU6c30pLCgwLGEuanN4KShELHt9KSwoMCxhLmpzeCkoYy5OYXZpZ2F0aW9uUHJvbWlzZXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpudWxsLGNoaWxkcmVuOigwLGEuanN4KShjLlBhdGhQYXJhbXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpqLGNoaWxkcmVuOigwLGEuanN4KShjLlBhdGhuYW1lQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6XyxjaGlsZHJlbjooMCxhLmpzeCkoYy5TZWFyY2hQYXJhbXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpFLGNoaWxkcmVuOigwLGEuanN4KShpLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOkIsY2hpbGRyZW46KDAsYS5qc3gpKGkuQXBwUm91dGVyQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dy5wdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZSxjaGlsZHJlbjooMCxhLmpzeCkoaS5MYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpVLGNoaWxkcmVuOlZ9KX0pfSl9KX0pfSl9KV19KX1mdW5jdGlvbiBSKHthY3Rpb25RdWV1ZTplLGdsb2JhbEVycm9yU3RhdGU6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl7KDAsYi51c2VOYXZGYWlsdXJlSGFuZGxlcikoKTtsZXQgbD0oMCxhLmpzeCkoTCx7YWN0aW9uUXVldWU6ZSxnbG9iYWxFcnJvcjp0LHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KTtyZXR1cm4oMCxhLmpzeCkoeC5kZWZhdWx0LHtlcnJvckNvbXBvbmVudDpfLmRlZmF1bHQsY2hpbGRyZW46bH0pfWxldCBNPW5ldyBTZXQsST1uZXcgU2V0O2Z1bmN0aW9uIEQoKXtsZXRbLGVdPW8uZGVmYXVsdC51c2VTdGF0ZSgwKSx0PU0uc2l6ZTsoMCxvLnVzZUVmZmVjdCkoKCk9PntsZXQgbj0oKT0+ZShlPT5lKzEpO3JldHVybiBJLmFkZChuKSx0IT09TS5zaXplJiZuKCksKCk9PntJLmRlbGV0ZShuKX19LFt0LGVdKTtsZXQgbj0oMCxOLmdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZykoKTtyZXR1cm5bLi4uTV0ubWFwKChlLHQpPT4oMCxhLmpzeCkoImxpbmsiLHtyZWw6InN0eWxlc2hlZXQiLGhyZWY6YCR7ZX0ke259YCxwcmVjZWRlbmNlOiJuZXh0In0sdCkpfWdsb2JhbFRoaXMuX05fRV9TVFlMRV9MT0FEPWZ1bmN0aW9uKGUpe2xldCB0PU0uc2l6ZTtyZXR1cm4gTS5hZGQoZSksTS5zaXplIT09dCYmSS5mb3JFYWNoKGU9PmUoKSksUHJvbWlzZS5yZXNvbHZlKCl9LCgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDM4NzkyLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJjcmVhdGVJbml0aWFsUm91dGVyU3RhdGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCByPWUucig4NTU5NCksbD1lLnIoMTgxNjcpLGE9ZS5yKDY3NjI4KSxvPWUucigxODkzOSk7ZnVuY3Rpb24gaSh7bmF2aWdhdGVkQXQ6ZSxpbml0aWFsRmxpZ2h0RGF0YTp0LGluaXRpYWxDYW5vbmljYWxVcmxQYXJ0czpuLGluaXRpYWxSZW5kZXJlZFNlYXJjaDppLGxvY2F0aW9uOnV9KXtsZXQgcz1uLmpvaW4oIi8iKSx7dHJlZTpjLHNlZWREYXRhOmYsaGVhZDpkfT0oMCxhLmdldEZsaWdodERhdGFQYXJ0c0Zyb21QYXRoKSh0WzBdKSxwPXU/KDAsci5jcmVhdGVIcmVmRnJvbVVybCkodSk6cztyZXR1cm57dHJlZTpjLGNhY2hlOigwLG8uY3JlYXRlSW5pdGlhbENhY2hlTm9kZUZvckh5ZHJhdGlvbikoZSxjLGYsZCkscHVzaFJlZjp7cGVuZGluZ1B1c2g6ITEsbXBhTmF2aWdhdGlvbjohMSxwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTohMH0sZm9jdXNBbmRTY3JvbGxSZWY6e2FwcGx5OiExLG9ubHlIYXNoQ2hhbmdlOiExLGhhc2hGcmFnbWVudDpudWxsLHNlZ21lbnRQYXRoczpbXX0sY2Fub25pY2FsVXJsOnAscmVuZGVyZWRTZWFyY2g6aSxuZXh0VXJsOigoMCxsLmV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKShjKXx8dT8ucGF0aG5hbWUpPz9udWxsLHByZXZpb3VzTmV4dFVybDpudWxsLGRlYnVnSW5mbzpudWxsfX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5MzM1MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2xldCByLGwsYSxvO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiaHlkcmF0ZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEF9fSk7bGV0IGk9ZS5yKDgxMjU4KSx1PWUucig5ODEzNCk7ZS5yKDc5MTIzKTtsZXQgcz1pLl8oZS5yKDgyOTQwKSksYz1pLl8oZS5yKDc1MjAxKSksZj1lLnIoNzUwNDUpLGQ9ZS5yKDQ0OTM0KSxwPWUucigzMjc5MyksbT1lLnIoODI5MzkpLGg9ZS5yKDMwOTMxKSxnPWUucig4OTU5NCksdj1lLnIoODQzOTUpLHk9aS5fKGUucig2MTE1NikpLGI9ZS5yKDM4NzkyKTtlLnIoMTY4NzIpO2xldCB3PWUucig2MTcwNiksaz1lLnIoNjc2MjgpLFM9Zi5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0sRT1mLmNyZWF0ZUZyb21GZXRjaCx4PWRvY3VtZW50LF89bmV3IFRleHRFbmNvZGVyLFA9ITEsTj0hMSxDPW51bGw7ZnVuY3Rpb24gVChlKXtpZigwPT09ZVswXSlhPVtdO2Vsc2UgaWYoMT09PWVbMF0pe2lmKCFhKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiVW5leHBlY3RlZCBzZXJ2ZXIgZGF0YTogbWlzc2luZyBib290c3RyYXAgc2NyaXB0LiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bz9vLmVucXVldWUoXy5lbmNvZGUoZVsxXSkpOmEucHVzaChlWzFdKX1lbHNlIGlmKDI9PT1lWzBdKUM9ZVsxXTtlbHNlIGlmKDM9PT1lWzBdKXtpZighYSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIlVuZXhwZWN0ZWQgc2VydmVyIGRhdGE6IG1pc3NpbmcgYm9vdHN0cmFwIHNjcmlwdC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTE4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2xldCBuPWF0b2IoZVsxXSkscj1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKHZhciB0PTA7dDxuLmxlbmd0aDt0Kyspclt0XT1uLmNoYXJDb2RlQXQodCk7bz9vLmVucXVldWUocik6YS5wdXNoKHIpfX1sZXQgTz1mdW5jdGlvbigpe28mJiFOJiYoby5jbG9zZSgpLE49ITAsYT12b2lkIDApLFA9ITB9OyJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsTywhMSk6c2V0VGltZW91dChPKTtsZXQgej1zZWxmLl9fbmV4dF9mPXNlbGYuX19uZXh0X2Z8fFtdO3ouZm9yRWFjaChUKSx6Lmxlbmd0aD0wLHoucHVzaD1UO2xldCBMPW5ldyBSZWFkYWJsZVN0cmVhbSh7c3RhcnQoZSl7YSYmKGEuZm9yRWFjaCh0PT57ZS5lbnF1ZXVlKCJzdHJpbmciPT10eXBlb2YgdD9fLmVuY29kZSh0KTp0KX0pLFAmJiFOKSYmKG51bGw9PT1lLmRlc2lyZWRTaXplfHxlLmRlc2lyZWRTaXplPDA/ZS5lcnJvcihPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIlRoZSBjb25uZWN0aW9uIHRvIHRoZSBwYWdlIHdhcyB1bmV4cGVjdGVkbHkgY2xvc2VkLCBwb3NzaWJseSBkdWUgdG8gdGhlIHN0b3AgYnV0dG9uIGJlaW5nIGNsaWNrZWQsIGxvc3Mgb2YgV2ktRmksIG9yIGFuIHVuc3RhYmxlIGludGVybmV0IGNvbm5lY3Rpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMTciLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSkpOmUuY2xvc2UoKSxOPSEwLGE9dm9pZCAwKSxvPWV9fSksUj13aW5kb3cuX19ORVhUX0NMSUVOVF9SRVNVTUU7ZnVuY3Rpb24gTSh7aW5pdGlhbFJTQ1BheWxvYWQ6ZSxhY3Rpb25RdWV1ZTp0LHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KXtyZXR1cm4oMCx1LmpzeCkoeS5kZWZhdWx0LHthY3Rpb25RdWV1ZTp0LGdsb2JhbEVycm9yU3RhdGU6ZS5HLHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KX1sPVI/UHJvbWlzZS5yZXNvbHZlKEUoUix7Y2FsbFNlcnZlcjpoLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpnLmZpbmRTb3VyY2VNYXBVUkwsZGVidWdDaGFubmVsOnJ9KSkudGhlbihhc3luYyBlPT4oMCxrLmNyZWF0ZUluaXRpYWxSU0NQYXlsb2FkRnJvbUZhbGxiYWNrUHJlcmVuZGVyKShhd2FpdCBSLGUpKTpTKEwse2NhbGxTZXJ2ZXI6aC5jYWxsU2VydmVyLGZpbmRTb3VyY2VNYXBVUkw6Zy5maW5kU291cmNlTWFwVVJMLGRlYnVnQ2hhbm5lbDpyLHN0YXJ0VGltZTowfSk7bGV0IEk9Yy5kZWZhdWx0LlN0cmljdE1vZGU7ZnVuY3Rpb24gRCh7Y2hpbGRyZW46ZX0pe3JldHVybiBlfWxldCBGPXtvbkRlZmF1bHRUcmFuc2l0aW9uSW5kaWNhdG9yOmZ1bmN0aW9uKCl7cmV0dXJuKCk9Pnt9fSxvblJlY292ZXJhYmxlRXJyb3I6cC5vblJlY292ZXJhYmxlRXJyb3Isb25DYXVnaHRFcnJvcjptLm9uQ2F1Z2h0RXJyb3Isb25VbmNhdWdodEVycm9yOm0ub25VbmNhdWdodEVycm9yfTthc3luYyBmdW5jdGlvbiBBKGUsdCl7bGV0IG4scixhPWF3YWl0IGw7KDAsdy5zZXRBcHBCdWlsZElkKShhLmIpO2xldCBvPURhdGUubm93KCksaT0oMCx2LmNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSkoKDAsYi5jcmVhdGVJbml0aWFsUm91dGVyU3RhdGUpKHtuYXZpZ2F0ZWRBdDpvLGluaXRpYWxGbGlnaHREYXRhOmEuZixpbml0aWFsQ2Fub25pY2FsVXJsUGFydHM6YS5jLGluaXRpYWxSZW5kZXJlZFNlYXJjaDphLnEsbG9jYXRpb246d2luZG93LmxvY2F0aW9ufSksZSksZj0oMCx1LmpzeCkoSSx7Y2hpbGRyZW46KDAsdS5qc3gpKGQuSGVhZE1hbmFnZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7YXBwRGlyOiEwfSxjaGlsZHJlbjooMCx1LmpzeCkoRCx7Y2hpbGRyZW46KDAsdS5qc3gpKE0se2luaXRpYWxSU0NQYXlsb2FkOmEsYWN0aW9uUXVldWU6aSx3ZWJTb2NrZXQ6cixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpufSl9KX0pfSk7Il9fbmV4dF9lcnJvcl9fIj09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pZD9zLmRlZmF1bHQuY3JlYXRlUm9vdCh4LEYpLnJlbmRlcihmKTpjLmRlZmF1bHQuc3RhcnRUcmFuc2l0aW9uKCgpPT57cy5kZWZhdWx0Lmh5ZHJhdGVSb290KHgsZix7Li4uRixmb3JtU3RhdGU6Q30pfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTYzMzUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7bGV0IHI9ZS5yKDQ4NzA2KTtlLnIoMzI3OTMpLHdpbmRvdy5uZXh0LnR1cmJvcGFjaz0hMCxzZWxmLl9fd2VicGFja19oYXNoX189IiI7bGV0IGw9ZS5yKDkyMzg2KTsoMCxyLmFwcEJvb3RzdHJhcCkodD0+e2xldHtoeWRyYXRlOm59PWUucig5MzM1MSk7bihsLHQpfSksKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX1dKTs="}},"time_used":7,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":6,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1831.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.202Z","timestamp":1785129950202,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1831.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2694\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 03:10:17 GMT\r\nlast-modified: Tue, 19 Oct 2021 05:33:50 GMT\r\netag: \"6ad5509616a5fca9f389801052bea3fe\"\r\ncache-control: max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 8133\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: lbTKkgZVv3ZxBnZ8YC5SEMSdgUQp7LZwKV7LEXRkiO27ncfzE0a_4Q==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":2694,"size_decoded":3202,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"6ad5509616a5fca9f389801052bea3fe","sha1":"5b53d204b7e6066409067fba9fce5202ff20e9d6","sha256":"6becc3abea448b67731610708852a70c3ceb99059b2dee98da3711dc0620218a","sha512":"18729e5d7521224c032a2a7f18c154b1d02905dda6a06dc3a1af5d876bc5f651b78699589772cd6158bc1bfa75aead83b084bca2b06539a3e4cc9b4a6d476ded","ssdeep":"","tlshash":"ed512be6a252222ac78335be8a25f1dbdf560afb123220858088c13aa40f750c98a573","first_seen":"2023-05-02T21:54:45Z","last_seen":"2026-08-15T04:03:51.048019Z","times_seen":20274,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/5176.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.227Z","timestamp":1785129950227,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/5176.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 746\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 28 Jul 2023 07:43:45 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 06:36:40 GMT\r\netag: \"5b97c0a26ca9707d0aade8420216c659\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 82153\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: H5F3qrZb30BQNRtf0xbN_kEMJBWwm44zTeL3U_QyUVXpIqKyoR-jyA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":746,"size_decoded":1279,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"5b97c0a26ca9707d0aade8420216c659","sha1":"00bd79b81ba15abe30772de87262fb62b704b954","sha256":"acf372af35817cf300680492e46a0788ba2b0afd14c62cd7a033c85b6f015e73","sha512":"9536a33d35ffcc11aba99ddd8b2be7a950015e2a62d017b0d6da2e62959f7d85bf3ddabefb749755e0133012019b75ae76a1a052c62faeb3dd73af3d0166e9d6","ssdeep":"","tlshash":"620165da57f155bed619c4839e084597106e1fc4826d24c992189dc4e470abc2b485da","first_seen":"2024-01-09T05:16:20Z","last_seen":"2026-08-15T04:03:50.994045Z","times_seen":1537,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACsUlEQVR4Xu2ay0ocQRSGfQQfIY+QR/AxguPCTfY+RNbJ2lUWrkUyIWQTCASyEWFAjeDGXBBDUBAhEhDBzBF6sL/prsupi9VjffAtdLrqnP/MdE/P6NJSpVKpVCrOHIxHdyX77cPqc/YcjcnO+jILlij7jgYLFewlew/mcDx621GoWNl/MCwwBJlBDTcejO/XVpjFm4N3o8ncxgOSebzhhkOUmZzhRiZzw/omJzsvnjGblelVf4MbmcwN69tkPivcwGZuWN/m/nj0hhl74WIXc8P6LjJnJ9rb3dywvqP2O8SORU6efH3l5OWvL8zSgsf3yfquMm+L/fHqOhfE9s/xNjO34PEpZO4ZPDCFJQxATnNmzxJeLGEAYiu89sJnUs7TvxdHzOeN7BFyzvcpp/tsAHxQ6+3NNftPwvGnjbnaGpvwn/mAj0cfX7K/bIS+MqZ3u9+Dn30TN9fn9+e86xoeezrZtJ5Goa+GqAOQwHy8yz44gC6vfu95rzEZfA0Q+DubffiG0ax56OwiGDIE4d/Vj7nfm5SmRXl5i83PPud0c0epHUArfAMPcpHw8dgSzQCYuwUPtmlDnmG5mHGdzZ+7r60XQIHrbDLvHJrPAxIwN5pnvnXzY0IzhEbbp70Q5B2A9Vx1Dt8gf2PjJiHKS1qeNXmrNCEDPDvcur/B4h5a1X8vjD0EMfeHIXX4h3DTEHMOgDmC4OZacw2A/UeBRTTmGAD7jgqL+Zp6AOw3OqFfnqQcQOdXXalgcVdTDYD9ZYFNuJhiAOwrK2zGpnyBwe/4Q77vZz+PApvKJft4VNhcalm/CNhkKlm3KNhsbFmvSNh0LFmnaNh8qNx/EDCEVu47KBjGV+43SFT/azhdw30Gjc//GsuxXL8QuAxhYcM3MDDl8QsJQz+p8A1POnylUqlUCuE/+/pKU82qDO4AAAAASUVORK5CYII="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:26:00.076Z","timestamp":1785129960076,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/main-t6WxLABA.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://digitaltradeinvest.org\r\nSec-GPC: 1\r\nConnection: keep-alive\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 05:26:00 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-3f99\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k9pLOBzVfyIskJhJY6CKgVyHhd5uD14+bMsAy5DWqpL4jPwrwY+oP5kRTSzBI1OKm63tJG4\r\nx-77-nzt-ray: e2f754206d2b2a7ee8eb666aff75b104\r\nx-77-cache: HIT\r\nx-77-age: 1716922\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":16281,"size_decoded":6837,"mime_type":"application/javascript","magic":"Java source, ASCII text, with very long lines (15873)","md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"resource_available":true,"data":"Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bd2luZG93LnBhcmVudC5zbWFydHN1cHAuZ2V0QXNzZXRVcmwoImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL3NoYXJlZC1DZ01DQWZvci5qcyIpLHdpbmRvdy5wYXJlbnQuc21hcnRzdXBwLmdldEFzc2V0VXJsKCJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzIildKSkpPT5pLm1hcChpPT5kW2ldKTsKaW1wb3J0e0EgYXMgZSxBaSBhcyB0LEFyIGFzIG4sQXQgYXMgcixCIGFzIGksQmkgYXMgYSxDIGFzIG8sQ2kgYXMgcyxEIGFzIGMsRGkgYXMgbCxFIGFzIHUsRWkgYXMgZCxHaSBhcyBmLEdyIGFzIHAsSGkgYXMgbSxIbiBhcyBoLEhyIGFzIGcsSSBhcyBfLElpIGFzIHYsSiBhcyB5LEppIGFzIGIsS2kgYXMgeCxLciBhcyBTLExpIGFzIEMsTSBhcyBlZSxOIGFzIHRlLE5pIGFzIHcsTyBhcyBuZSxPciBhcyByZSxQaSBhcyBpZSxQciBhcyBhZSxQdCBhcyBvZSxSIGFzIHNlLFMgYXMgY2UsU2kgYXMgbGUsVCBhcyB1ZSxUaSBhcyBULFVpIGFzIGRlLFVyIGFzIEUsVmkgYXMgRCxXaSBhcyBmZSxXbiBhcyBwZSxXdCBhcyBtZSxYaSBhcyBPLFhyIGFzIGssWHQgYXMgaGUsWSBhcyBnZSxZaSBhcyBBLFluIGFzIGosWXIgYXMgX2UsWmkgYXMgTSxaciBhcyB2ZSxfIGFzIHllLGEgYXMgYmUsYWEgYXMgTixiIGFzIHhlLGJpIGFzIFAsY2EgYXMgRixkIGFzIFNlLGRpIGFzIENlLGR0IGFzIHdlLGVhIGFzIFRlLGVpIGFzIEksZiBhcyBFZSxmaSBhcyBMLGggYXMgRGUsaGkgYXMgUixpIGFzIHosaWEgYXMgQixqIGFzIE9lLGppIGFzIFYsam4gYXMga2Usa2kgYXMgQWUsa3IgYXMgamUsbCBhcyBNZSxsYSBhcyBOZSxsaSBhcyBILG0gYXMgUGUsbWkgYXMgRmUsbiBhcyBJZSxuYSBhcyBMZSxvIGFzIFUsb2kgYXMgVyxvciBhcyBHLHBpIGFzIEsscSBhcyBSZSxxbiBhcyB6ZSxyIGFzIHEscyBhcyBCZSx0IGFzIFZlLHRhIGFzIEhlLHRpIGFzIEosdSBhcyBVZSx1aSBhcyBZLHcgYXMgWCx3aSBhcyBaLHggYXMgV2UseGkgYXMgR2UseSBhcyBLZSx5aSBhcyBxZX1mcm9tIi4vc2hhcmVkLUNnTUNBZm9yLmpzIjt2YXIgSmU9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBZZShlLHQpe04odCwhMCk7bGV0IG49eChudWxsKSxyPWAke1MoKS5TTUFSVFNVUFBfQVVUT0NSRUFURT09PSExP2cod2luZG93KS5pZDpgc21hcnRzdXBwYH0td2lkZ2V0LWNvbnRhaW5lcmA7aygoKT0+e3cobikmJnAoKS5ib2R5LmFwcGVuZENoaWxkKHcobikpfSksX2UoKCk9PntwKCkuZ2V0RWxlbWVudEJ5SWQocik/LnJlbW92ZSgpfSk7dmFyIGk9SmUoKTtSKGEoaSksKCk9PnQuY2hpbGRyZW4/P05lKSxGKGkpLEooaSxlPT5mKG4sZSksKCk9PncobikpLHYoKCk9PlcoaSxgaWRgLHIpKSxaKGUsaSksQigpfXZhciBYZT1kKGA8aWZyYW1lIGFsbG93ZnVsbHNjcmVlbj0iIiBzY3JvbGxpbmc9Im5vIj48L2lmcmFtZT5gKTtmdW5jdGlvbiBRKGUsdCl7Tih0LCEwKTtsZXQgbj0oKT0+TShjLGAkdGhlbWVDb2xvcmAsciksW3IsaV09TygpLGE9eCh2b2lkIDApLG89eChudWxsKSxsO0MoKCk9Pnt3KG8pJiZ1KHcobykpfSksQygoKT0+e3cobykmJmQobigpKX0pO2xldCB1PWFzeW5jIGU9PntsJiZhd2FpdCBzKGwpLGUmJnQuY29tcG9uZW50JiYobD1HZSh0LmNvbXBvbmVudCx7dGFyZ2V0OmUuYm9keX0pKX0sZD1lPT57dyhvKSYmbmUodyhvKSxlKX0scD1lPT57aWYoIXcobykpcmV0dXJuO2xldCB0PXcobykuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtyZXR1cm4gdC50ZXh0Q29udGVudD1lLHcobykuaGVhZC5hcHBlbmRDaGlsZCh0KSx0fSxtPSgpPT57Zm9yKGxldCBlIG9mIHdpbmRvdy5kb2N1bWVudC5zdHlsZVNoZWV0cyl7bGV0IHQ9YGA7dHJ5e3Q9Wy4uLmUuY3NzUnVsZXNdLm1hcChlPT5lLmNzc1RleHQpLmpvaW4oYGApfWNhdGNoe2NvbnRpbnVlfWlmKCFwKHQpKXJldHVybn19LGg9KCk9PnshdyhhKXx8IXcoYSkuY29udGVudERvY3VtZW50fHwoZihvLHcoYSkuY29udGVudERvY3VtZW50LCEwKSxtKCkpfTtrKGFzeW5jKCk9Pnthd2FpdCBpZSgpLHcoYSk/LmNvbnRlbnREb2N1bWVudCYmdyhhKS5jb250ZW50RG9jdW1lbnQucmVhZHlTdGF0ZT09PWBjb21wbGV0ZWAmJncoYSkuY29udGVudERvY3VtZW50LmRlZmF1bHRWaWV3P2goKTp3KGEpPy5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxoKX0pLF9lKGFzeW5jKCk9Pnt3KGEpJiZ3KGEpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYGxvYWRgLGgpLGwmJmF3YWl0IHMobCl9KTt2YXIgZz1YZSgpO0ooZyxlPT5mKGEsZSksKCk9PncoYSkpLHYoKCk9PntXKGcsYGlkYCx0LmlkKSxXKGcsYHRpdGxlYCx0LnRpdGxlKSxIKGcsdC5mcmFtZVN0eWxlKX0pLFooZSxnKSxCKCksaSgpfXZhciBaZT1sKGA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDY0IDY0IiBmaWxsPSJjdXJyZW50Q29sb3IiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPjxwYXRoIGQ9Ik02My4xMTMsMTguNTF2LS4xNkM2MC4zMjMsNy4wNSw0NC41ODIsMywzMS45NzIsM1MzLjU4Miw3LC43OTIsMTguNWE2Ni4yMiw2Ni4yMiwwLDAsMCwwLDIwLjQ2YzEuMTgsNC43NCw1LjA1LDguNjMsMTEuMzYsMTEuNDFsLTQsNUEzLjQ3LDMuNDcsMCwwLDAsMTAuODgyLDYxYTMuMzksMy4zOSwwLDAsMCwxLjQ0LS4zMUwyNi44NjIsNTRjMS43OS4xOCwzLjQ5LjI3LDUuMDcuMjcsMTEuMDQuMDQsMjguNDEtNC4wNCwzMS4xOC0xNS40M2E2MC4zMyw2MC4zMywwLDAsMCwwLTIwLjMzWiI+PC9wYXRoPjwvc3ZnPmApO2Z1bmN0aW9uIFFlKGUsdCl7bGV0IG49dmUodCxgaWNvblNpemVgLDMsMTYpO3ZhciByPVplKCk7digoKT0+e1cocixgd2lkdGhgLG4oKSksVyhyLGBoZWlnaHRgLG4oKSl9KSxaKGUscil9ZnVuY3Rpb24gJGUoZSx0KXtOKHQsITApO2xldCBuPXgoITEpO2soKCk9PntmKG4sITApfSk7dmFyIHI9VCgpLGk9RChyKSxhPWU9Pnt2YXIgbj1UKCk7UihEKG4pLCgpPT50LmNoaWxkcmVuPz9OZSksWihlLG4pfTtQKGksZT0+e3cobikmJmUoYSl9KSxaKGUsciksQigpfXZhciBldD1kKGA8ZGl2IGNsYXNzPSJ0cmFuc2Zvcm0gdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTExNSI+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gdHQoZSl7JGUoZSx7Y2hpbGRyZW46KGUsdCk9Pnt2YXIgbj1ldCgpO1FlKGEobikse2ljb25TaXplOjI0fSksRihuKSxLKDMsbiwoKT0+QmUsKCk9Pih7ZGVsYXk6MjAwLGR1cmF0aW9uOjMwMCxzdGFydDouNixvcGFjaXR5Oi44fSkpLFooZSxuKX0sJCRzbG90czp7ZGVmYXVsdDohMH19KX12YXIgbnQ9ZChgPGRpdiBjbGFzcz0icC0xIj48ZGl2IGNsYXNzPSJmbGV4LWNlbnRlciB3LTEyIGgtMTIgYmctd2hpdGUgYmctb3BhY2l0eS0xMCByb3VuZGVkLWZ1bGwiPjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIHJ0KGUpe3ZhciB0PW50KCksbj1hKHQpO3R0KGEobikse30pLEYobiksRih0KSxaKGUsdCl9dmFyIGl0PWQoYDxkaXYgY2xhc3M9ImZsZXgiPjxkaXYgY2xhc3M9ImZsZXgtY2VudGVyIHdoaXRlc3BhY2Utbm93cmFwIHBsLTQgcHItMSI+IDwvZGl2PiA8IT48L2Rpdj5gKTtmdW5jdGlvbiBhdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oaixgJHRgLHIpLFtyLGldPU8oKSxvPWZlKCk7aygoKT0+e2xldCBlPU1hdGguY2VpbCh3KG8pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtVZS5zZXQoZSl9KSxJKCk7dmFyIHM9aXQoKSxjPWEocyksbD1hKGMsITApO0YoYykscnQobShjLDIpLHt9KSxGKHMpLEoocyxlPT5mKG8sZSksKCk9PncobykpLHYoZT0+e1coYyxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0QnV0dG9uVGV4dCksbGUobCxlKX0sWygpPT5uKCkoYGJ1dHRvbi5ncmVldGluZ2ApXSksWihlLHMpLEIoKSxpKCl9dmFyIG90PWQoYDxkaXYgaWQ9IndpZGdldC1vbmxpbmUtYmFkZ2UiIGNsYXNzPSJhYnNvbHV0ZSBsZWZ0LTAgYm90dG9tLTAgdy0yIGgtMiBwLTEuNSBiZy1ncmVlbi00MDAgcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci13aGl0ZSI+PC9kaXY+YCk7ZnVuY3Rpb24gc3QoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGtlLGAkaXNXaWRnZXRPbmxpbmVgLHIpLFtyLGldPU8oKTtJKCk7dmFyIGE9VCgpLG89RChhKSxzPWU9Pnt2YXIgdD1vdCgpO3YoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0T25saW5lQmFkZ2UpKSxLKDMsdCwoKT0+QmUpLFooZSx0KX07UChvLGU9PntuKCkmJmUocyl9KSxaKGUsYSksQigpLGkoKX12YXIgY3Q9ZChgPGRpdiBpZD0id2lkZ2V0LXVucmVhZC1tZXNzYWdlcy1iYWRnZSIgY2xhc3M9ImFic29sdXRlIHJpZ2h0LTAgdG9wLTAgbWluLXctNSBoLTUgZmxleC1jZW50ZXIgcHgtMSB0ZXh0LXdoaXRlIGJnLXJlZC02MDAgdGV4dC14cyByb3VuZGVkLWZ1bGwgc2hhZG93Ij4gPC9kaXY+YCk7ZnVuY3Rpb24gbHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKGhlLGAkdW5yZWFkTWVzc2FnZXNDb3VudGAsciksW3IsaV09TygpLG89QSgoKT0+bigpPjApO3ZhciBzPVQoKSxjPUQocyksbD1lPT57dmFyIHQ9Y3QoKSxyPWEodCwhMCk7Rih0KSx2KCgpPT57Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRVbnJlYWRNZXNzYWdlc0JhZGdlKSxsZShyLG4oKT45OT9gOTkrYDpuKCkpfSksSygzLHQsKCk9PkJlKSxaKGUsdCl9O1AoYyxlPT57dyhvKSYmZShsKX0pLFooZSxzKSxCKCksaSgpfXZhciB1dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgdy1mdWxsIGZpeGVkIGZsZXgganVzdGlmeS1lbmQgYm9yZGVyLXJvdW5kZWQtZnVsbCI+PGRpdiByb2xlPSJidXR0b24iIGNsYXNzPSJncm91cCBmbGV4LWNlbnRlciB3LWZ1bGwgYmctcHJpbWFyeS1ncmFkaWVudCBiZy1wcmltYXJ5LWdyYWRpZW50LWhvdmVyIHRleHQtcHJpbWFyeS1jb250ZW50IHJvdW5kZWQtZnVsbCBvdmVyZmxvdy1oaWRkZW4gY3Vyc29yLXBvaW50ZXIgY29udGVudC1mb2N1cy1zZWNvbmRhcnkiPjwhPiA8IT48L2Rpdj4gPCE+PC9kaXY+YCk7ZnVuY3Rpb24gZHQoZSxuKXtOKG4sITEpO2xldCBpPSgpPT5NKGosYCR0YCxzKSxvPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLFtzLGNdPU8oKTtJKCk7dmFyIGw9dXQoKSx1PWEobCk7Vyh1LGB0YWJpbmRleGAsMCk7dmFyIGQ9YSh1KSxmPWU9Pnt0dChlLHt9KX0scD1lPT57YXQoZSx7fSl9O1AoZCxlPT57bygpP2UoZik6ZShwLC0xKX0pLHN0KG0oZCwyKSx7fSksRih1KSxsdChtKHUsMikse30pLEYobCksdihlPT57Vyh1LGBhcmlhLWxhYmVsYCxlKSxXKHUsYGRhdGEtdGVzdGlkYCxHLndpZGdldEJ1dHRvbil9LFsoKT0+aSgpKGBhcmlhTGFiZWwub3BlbkNoYXRgKV0pLHQoYGNsaWNrYCx1LCgpPT5zZSgpKSxWKGBrZXlwcmVzc2AsdSxlPT5lLmtleT09PXIuRW50ZXImJnNlKCkpLFooZSxsKSxCKCksYygpfUFlKFtgY2xpY2tgXSk7dmFyIGZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gcHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKFNlLGAkYnV0dG9uRnJhbWVXaWR0aGAscykscj0oKT0+TSh0ZSxgJHNob3VsZFJlbmRlckJ1dHRvbkZyYW1lYCxzKSxpPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLG89KCk9Pk0oaixgJHRgLHMpLFtzLGNdPU8oKSxsPXgodm9pZCAwKSxkPWU9Pnt3KGwpJiYodyhsKS5zdHlsZS53aWR0aD1gJHtlfXB4YCl9LHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6cH09RS5nZXRPcHRpb25zKCk7QygoKT0+e3cobCkmJmQobigpKX0pO3ZhciBtPVQoKSxoPUQobSksZz1lPT57dmFyIHQ9ZnQoKTtsZXQgbjtxZShhKHQpLCgpPT5pKCl8fG8oKSxlPT57e2xldCB0PUEoWCk7UShlLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIGR0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRCdXR0b25GcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgYnV0dG9uYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KHQpfX0pfX0pLEYodCksSih0LGU9PmYobCxlKSwoKT0+dyhsKSksTCh0LGU9PktlPy4oZSkpLHYoZT0+e249SCh0LGBib3JkZXItcmFkaXVzOiA5OTk5cHg7IGJveC1zaGFkb3c6IHJnYigwIDAgMCAvIDYlKSAwcHggMXB4IDZweCwgcmdiKDAgMCAwIC8gJHtwPy5saW1pdFNoYWRvdz9gMjAlKSAwcHggMnB4IDEycHhgOmAxMiUpIDBweCAycHggMzJweGB9OyBjb2xvci1zY2hlbWU6IG5vcm1hbDtgLG4sZSksVyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRCdXR0b25GcmFtZSl9LFsoKT0+KHtoZWlnaHQ6dSg1Nil9KV0pLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZGVsYXk6MTUwLGR1cmF0aW9uOjMwMH0pKSxLKDIsdCwoKT0+YmUsKCk9Pih7ZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChoLGU9PntyKCkmJmUoZyl9KSxaKGUsbSksQigpLGMoKX12YXIgJD1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkluaXRpYWxpemVkPTBdPWBJbml0aWFsaXplZGAsZVtlLkxvYWRpbmc9MV09YExvYWRpbmdgLGVbZS5TdWNjZXNzPTJdPWBTdWNjZXNzYCxlW2UuRXJyb3I9M109YEVycm9yYCxlfSh7fSksbXQ9bmV3IE1hcCxodD1hc3luYyBlPT57bGV0IHQ9KGF3YWl0IGUoKSkuZGVmYXVsdDtyZXR1cm4gbXQuc2V0KGUsdCksdH07ZnVuY3Rpb24gZ3QoZSx0KXtOKHQsITApO2xldCBuPXZlKHQsYGRlbGF5YCwzLDIwMCkscj14KGRlKCQuSW5pdGlhbGl6ZWQpKSxpPXgodm9pZCAwKSxhPXgodm9pZCAwKSxvPXgodm9pZCAwKSxzPUEoKCk9PncoaSkpLGM9KCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KHcobykpfSxsPWFzeW5jKCk9PntjKCksZihhLHZvaWQgMCksZihpLHZvaWQgMCksbigpPjA/KGYociwkLkluaXRpYWxpemVkLCEwKSxmKG8sd2luZG93LnNldFRpbWVvdXQoKCk9PntmKHIsJC5Mb2FkaW5nLCEwKX0sbigpKSwhMCkpOmYociwkLkxvYWRpbmcsITApO3RyeXtmKGksYXdhaXQgaHQodC5sb2FkZXIpLCEwKSxmKHIsJC5TdWNjZXNzLCEwKX1jYXRjaChlKXtpZihmKHIsJC5FcnJvciwhMCksZSBpbnN0YW5jZW9mIEVycm9yKWYoYSxlLCEwKTtlbHNlIHRocm93IGV9YygpfTttdC5oYXModC5sb2FkZXIpPyhmKHIsJC5TdWNjZXNzLCEwKSxmKGksbXQuZ2V0KHQubG9hZGVyKSwhMCkpOmsoKCk9PntsKCl9KTt2YXIgdT1UKCksZD1EKHUpLHA9ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQuZXJyb3IsKCk9Pih7ZXJyb3I6dyhhKX0pKSxaKGUsbil9LG09ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQubG9hZGluZyksWihlLG4pfSxoPWU9Pnt2YXIgdD1UKCk7RmUoRCh0KSwoKT0+dyhzKSwoZSx0KT0+e3QoZSx7fSl9KSxaKGUsdCl9O1AoZCxlPT57dyhyKT09PSQuRXJyb3ImJnQuZXJyb3I/ZShwKTp3KHIpPT09JC5Mb2FkaW5nP2UobSwxKTp3KHIpPT09JC5TdWNjZXNzJiZlKGgsMil9KSxaKGUsdSksQigpfXZhciBfdD0oKT0+YWUoKCk9PmltcG9ydChgLi9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanNgKSxfX3ZpdGVfX21hcERlcHMoWzAsMSwyXSksaW1wb3J0Lm1ldGEudXJsKSx2dD1lPT57dmFyIHQ9YnQoKSxuPWEodCkscj1hKG4pO3EoYShyKSx7c2l6ZTozMn0pLEYocik7dmFyIGk9bShyLDIpLG89YShpKTtxKG8se3NpemU6MzJ9KTt2YXIgcz1tKG8sMik7cShzLHtzaXplOjMyfSkscShtKHMsMikse3NpemU6MzJ9KSxGKGkpLEYobik7dmFyIGM9bShuLDIpLGw9YShjKTtxKGEobCkse3NpemU6NDR9KSxGKGwpO3ZhciB1PW0obCwyKSxkPWEodSk7eihkLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSkseihtKGQsMikse2hlaWdodDoyMCx3aWR0aDoxMjJ9KSxGKHUpLEYoYyk7dmFyIGY9bShjLDIpLHA9YShmKTtxKGEocCkse3NpemU6Mjh9KSxGKHApO3ZhciBoPW0ocCwyKTt6KGEoaCkse2hlaWdodDoxMTIsd2lkdGg6Mjk1LHJvdW5kZWRTdHlsZTpgcm91bmRlZC02YH0pLEYoaCksRihmKTt2YXIgZz1tKGYsMiksXz1hKGcpO3ooXyx7aGVpZ2h0OjMyLHdpZHRoOjI5NX0pO3ZhciB2PW0oXywyKTt6KHYse2hlaWdodDozMix3aWR0aDoxNDh9KSx6KG0odiwyKSx7aGVpZ2h0OjMyLHdpZHRoOjIyNH0pLEYoZyksRih0KSxaKGUsdCl9LHl0PShlLHQpPT57bGV0IG49KCk9PnQ/LigpLmVycm9yO3ZhciByPXh0KCksaT1tKGEociksMiksbz1hKGksITApO0YoaSksRihyKSx2KCgpPT5sZShvLG4oKSkpLFooZSxyKX0sYnQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSIgaWQ9IlRPRE8gdGVzdCI+PGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxkaXYgY2xhc3M9ImZsZXgiPjwhPjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IHNwYWNlLXgtMiI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBtdC0yIj48ZGl2IGNsYXNzPSJmbGV4IG1sLTEgbXItMiI+PCE+PC9kaXY+IDxkaXYgY2xhc3M9ImZsZXgtYm90dG9tIHNwYWNlLXktMiI+PCE+IDwhPjwvZGl2PjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWJhc2VsaW5lIG10LTgiPjxkaXYgY2xhc3M9ImZsZXggbWwtMSBtci0yIj48IT48L2Rpdj4gPGRpdiBjbGFzcz0ic3BhY2UteS0yIj48IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgc3BhY2UteS01IG10LTggbXItMSI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj5gKSx4dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgcC00IGJnLXdoaXRlIHRleHQtcmVkLTUwMCI+PGRpdiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiPkZhaWxlZCB0byBsb2FkIHdpZGdldDwvZGl2PiA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIj4gPC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gU3QoZSl7Z3QoZSx7Z2V0IGxvYWRlcigpe3JldHVybiBfdH0sZGVsYXk6MCxnZXQgZXJyb3IoKXtyZXR1cm4geXR9LGdldCBsb2FkaW5nKCl7cmV0dXJuIHZ0fX0pfXZhciBDdD1kKGA8ZGl2PjwhPjwvZGl2PmApO2Z1bmN0aW9uIHd0KGUsdCl7Tih0LCEwKTtsZXQgcj0oKT0+TShqZSxgJGlzRnVsbFNjcmVlbkVuYWJsZWRgLGwpLG89KCk9Pk0oUGUsYCRpc01lc3NlbmdlckZyYW1lRXhwYW5kZWRgLGwpLHM9KCk9Pk0obixgJGlzTW9iaWxlRGV2aWNlYCxsKSxjPSgpPT5NKGksYCRzaG91bGRSZW5kZXJNZXNzZW5nZXJGcmFtZWAsbCksW2wsZF09TygpLG09eCh2b2lkIDApLGc9YE1vYmlsZVdpZGdldE1lc3Nlbmdlck9wZW5gLF89KGUsdCk9PntpZighdyhtKSlyZXR1cm47bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1FLmdldE9wdGlvbnMoKSx7d2lkdGg6cixoZWlnaHQ6aX09dWUoZSx0KTt3KG0pLnN0eWxlLm1heEhlaWdodD1oKGkpP2k6dShpKSx3KG0pLnN0eWxlLndpZHRoPWgocik/cjp1KHIpLHcobSkuc3R5bGUuaGVpZ2h0PWV8fG4/LmhlYWRsZXNzTW9kZT9gMTAwJWA6YGNhbGMoMTAwJSAtIDQwcHgpYH07QygoKT0+e3cobSkmJl8ocigpLG8oKSl9KTtsZXQgeT14KCExKTtDKCgpPT57aWYocygpKXtpZihjKCkmJiF3KHkpKXtsZXQgZT1wKCkuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtlLnRleHRDb250ZW50PWAqIHtvdmVyZmxvdzogaGlkZGVufWAsZS5jbGFzc05hbWU9ZyxwKCkuaGVhZC5hcHBlbmRDaGlsZChlKSxmKHksITApfWlmKCFjKCkmJncoeSkpe2xldCBlPXAoKS5oZWFkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspcCgpLmhlYWQucmVtb3ZlQ2hpbGQoZVt0XSk7Zih5LCExKX19fSk7dmFyIGI9VCgpLFM9RChiKSxlZT1lPT57dmFyIHQ9Q3QoKTtIKHQsYGAse30se3RyYW5zaXRpb246YG1heC1oZWlnaHQgMjUwbXMgZWFzZS1pbi1vdXQsIHdpZHRoIDI1MG1zIGVhc2UtaW4tb3V0YCxvdmVyZmxvdzpgaGlkZGVuYH0pO3ZhciBuPWEodCk7e2xldCBlPUEoWCk7UShuLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIFN0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRNZXNzZW5nZXJGcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgbWVzc2VuZ2VyYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LChlLHQpPT54ZT8uKGUsdCksciksSih0LGU9PmYobSxlKSwoKT0+dyhtKSksdigoKT0+Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRNZXNzZW5nZXJGcmFtZSkpLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZHVyYXRpb246MjAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MTUwfSkpLFooZSx0KX07UChTLGU9PntjKCkmJmUoZWUpfSksWihlLGIpLEIoKSxkKCl9dmFyIFR0PSgpPT5hZSgoKT0+aW1wb3J0KGAuL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzYCksX192aXRlX19tYXBEZXBzKFszLDEsMl0pLGltcG9ydC5tZXRhLnVybCksRXQ9ZT0+e3ZhciB0PUR0KCksbj1hKHQpO3Eobix7c2l6ZTo0NH0pO3ZhciByPW0obiwyKSxpPWEocik7eihpLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSk7dmFyIG89bShpLDIpO3oobyx7aGVpZ2h0OjIwLHdpZHRoOjI3MH0pLHoobShvLDIpLHtoZWlnaHQ6MjAsd2lkdGg6MTIyfSksRihyKSxGKHQpLFooZSx0KX0sRHQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSI+PCE+IDxkaXYgY2xhc3M9Im10LTQgc3BhY2UteS0yIj48IT4gPCE+IDwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIE90KGUpe2d0KGUse2dldCBsb2FkZXIoKXtyZXR1cm4gVHR9LGRlbGF5OjAsZ2V0IGxvYWRpbmcoKXtyZXR1cm4gRXR9fSl9dmFyIGt0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gQXQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKHllLGAkcG9wdXBGcmFtZUhlaWdodGAsbykscj0oKT0+TShFZSxgJGhhc1BvcHVwRnJhbWVIb3ZlcmAsbyksaT0oKT0+TShPZSxgJHNob3VsZFJlbmRlclBvcHVwRnJhbWVgLG8pLFtvLHNdPU8oKSxjPXgodm9pZCAwKSxsPWU9Pnt3KGMpJiYodyhjKS5zdHlsZS5tYXhIZWlnaHQ9YCR7ZX1weGApfSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOmR9PUUuZ2V0T3B0aW9ucygpO0MoKCk9Pnt3KGMpJiZsKG4oKSl9KTtsZXQgcD1BKCgpPT5yKCk/LjI4Oi4xNik7dmFyIG09VCgpLGg9RChtKSxnPWU9Pnt2YXIgdD1rdCgpO2xldCBuO3ZhciByPWEodCk7e2xldCBlPUEoWCk7UShyLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIE90fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRQb3B1cEZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBwb3B1cGAsZ2V0IGZyYW1lU3R5bGUoKXtyZXR1cm4gdyhlKX19KX1GKHQpLEoodCxlPT5mKGMsZSksKCk9PncoYykpLEwodCxlPT5jZT8uKGUpKSx2KGU9PntuPUgodCxgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBtYXgtaGVpZ2h0IDI1MG1zIGVhc2UtaW4tb3V0YCxuLGUpLFcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0UG9wdXBGcmFtZSl9LFsoKT0+KHt3aWR0aDp1KDMwMCksImJvcmRlci1yYWRpdXMiOnUoMjApLG92ZXJmbG93OmBoaWRkZW5gLCJib3gtc2hhZG93IjpgcmdiYSgwLCAwLCAwLCAke2Q/LmxpbWl0U2hhZG93P2AwLjIpIDBweCAzcHggMTJweGA6YCR7dyhwKX0pIDBweCAzcHggMTZweGB9YH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246NDAwfSkpLFooZSx0KX07UChoLGU9PntpKCkmJmUoZyl9KSxaKGUsbSksQigpLHMoKX12YXIganQ9ZChgPGRpdiBjbGFzcz0iZmxleCBwLTIiPjxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gTXQoZSx0KXtsZXQgbj12ZSh0LGBzaXplYCwzLGBtZGApLHI9dmUodCxgY29sb3JgLDMsYGJsYWNrYCksaT1BKCgpPT50Lml0ZXJhdGlvbnM/P2BpbmZpbml0ZWApO3ZhciBvPWp0KCkscz1hKG8pO2xldCBjO3ZhciBsPW0ocywyKTtsZXQgdTt2YXIgZD1tKGwsMik7bGV0IGY7RihvKSx2KCgpPT57WShzLDEsYHR5cGluZy1pbmRpY2F0b3IgJHtuKCl9IGluZGljYXRvci1jb2xvci0ke3IoKX0gYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksYz1IKHMsYGAsYyx7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KSxZKGwsMSxgdHlwaW5nLWluZGljYXRvciAke24oKX0gaW5kaWNhdG9yLWNvbG9yLSR7cigpfSB0eXBpbmctaW5kaWNhdG9yLXNlY29uZCBhbmltYXRlLXR5cGluZ2AsYHN2ZWx0ZS1zNDB4Z2tgKSx1PUgobCxgYCx1LHsiYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCI6dyhpKX0pLFkoZCwxLGB0eXBpbmctaW5kaWNhdG9yICR7bigpfSBpbmRpY2F0b3ItY29sb3ItJHtyKCl9IHR5cGluZy1pbmRpY2F0b3ItdGhpcmQgYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksZj1IKGQsYGAsZix7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KX0pLFooZSxvKX12YXIgTnQ9ZChgPGRpdiBjbGFzcz0iZmxleC1jZW50ZXIgaC1mdWxsIGJnLXdoaXRlIHJvdW5kZWQtbGciPjwhPjwvZGl2PmApO2Z1bmN0aW9uIFB0KGUpe3ZhciB0PU50KCk7TXQoYSh0KSx7aXRlcmF0aW9uczoyfSksRih0KSxaKGUsdCl9dmFyIEZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gSXQoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGVlLGAkc2hvdWxkUmVuZGVyVHlwaW5nRnJhbWVgLHIpLFtyLGldPU8oKSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnN9PUUuZ2V0T3B0aW9ucygpO0koKTt2YXIgYz1UKCksbD1EKGMpLGQ9ZT0+e3ZhciB0PUZ0KCk7bGV0IG47dmFyIHI9YSh0KTt7bGV0IGU9YihYKTtRKHIse2dldCBjb21wb25lbnQoKXtyZXR1cm4gUHR9LGdldCBpZCgpe3JldHVybiBHLndpZGdldFR5cGluZ0ZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCB0eXBpbmdgLGdldCBmcmFtZVN0eWxlKCl7cmV0dXJuIHcoZSl9fSl9Rih0KSxMKHQsZT0+bz8uKGUpKSx2KGU9PntuPUgodCxgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjIpICR7cz8ubGltaXRTaGFkb3c/YDBweCAzcHggMTJweGA6YDBweCAzcHggMTZweGB9OyBib3JkZXItcmFkaXVzOiAyNHB4O2AsbixlKSxXKHQsYGRhdGEtdGVzdGlkYCxHLndpZGdldFR5cGluZ0ZyYW1lKX0sWygpPT4oe2hlaWdodDp1KDQwKSx3aWR0aDp1KDcwKSxvdmVyZmxvdzpgaGlkZGVuYH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChsLGU9PntuKCkmJmUoZCl9KSxaKGUsYyksQigpLGkoKX12YXIgTHQ9TGUobnVsbCksUnQ9VGUoW0x0XSwoW2VdKT0+ISFlKSx6dD1kKGA8aW1nIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIHNlbGVjdC1ub25lIGJnLWJsYWNrIiB3aWR0aD0iYXV0byIgaGVpZ2h0PSJhdXRvIi8+YCksQnQ9ZChgPHZpZGVvIGNvbnRyb2xzPSIiIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIGJnLWJsYWNrIG9iamVjdC1jb250YWluIj48dHJhY2sga2luZD0iY2FwdGlvbnMiLz4gPHNvdXJjZS8+PC92aWRlbz5gLDIpLFZ0PWQoYDxkaXYgY2xhc3M9InctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCI+PGRpdiBjbGFzcz0iZmxleC1zaHJpbmsgZmxleCBmbGV4LXJvdyB3LWZ1bGwgYmctYmxhY2sgdGV4dC13aGl0ZSI+PGRpdiBjbGFzcz0iZmxleC1ncm93IGZsZXggaXRlbXMtY2VudGVyIHRleHQtbWQgcHgtNCBvdmVyZmxvdy1oaWRkZW4iPjxzcGFuIGNsYXNzPSJ3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LWVsbGlwc2lzIG92ZXJmbG93LWhpZGRlbiI+IDwvc3Bhbj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleC1zaHJpbmsiPjwhPjwvZGl2PjwvZGl2PiA8ZGl2PjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIEh0KGUsbil7TihuLCEwKTtsZXQgcj0oKT0+TShyZSxgJGlzRGVza3RvcGAscyksaT0oKT0+TShMdCxgJHByZXZpZXdlZE1lZGlhYCxzKSxvPSgpPT5NKGosYCR0YCxzKSxbcyxjXT1PKCksbD1BKHIpLHU9ZT0+e2U9PT1gb3ZlcmxheWAmJiF3KGwpfHxMdC5zZXQobnVsbCl9O3ZhciBkPVZ0KCksZj1hKGQpLHA9YShmKSxoPWEocCksZz1hKGgsITApO0YoaCksRihwKTt2YXIgXz1tKHAsMikseT1hKF8pO3tsZXQgZT1BKCgpPT5vKCkoYHRvb2x0aXAuY2xvc2VgKSk7VmUoeSx7b25DbGljazooKT0+dShgYnV0dG9uYCksZ2V0IGljb24oKXtyZXR1cm4gSWV9LGdldCBpY29uRGVzY3JpcHRpb24oKXtyZXR1cm4gdyhlKX0saWNvblNjYWxlOiEwLHNpemU6YHhsYH0pfUYoXyksRihmKTt2YXIgYj1tKGYsMikseD1hKGIpLFM9ZT0+e3ZhciBuPXp0KCk7digoKT0+e1cobixgc3JjYCxpKCk/LmF0dGFjaG1lbnQudXJsKSxXKG4sYGFsdGAsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKX0pLHQoYGNsaWNrYCxuLGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpLFYoYGtleXByZXNzYCxuLCgpPT57fSksWihlLG4pfSxDPWU9Pnt2YXIgbj1CdCgpO24uYXV0b3BsYXk9ITAsbi5sb29wPSEwO3ZhciByPW0oYShuKSwyKTtGKG4pLHYoKCk9Plcocixgc3JjYCxpKCkuYXR0YWNobWVudC51cmwpKSx0KGBjbGlja2AsbixlPT5lLnN0b3BQcm9wYWdhdGlvbigpKSxWKGBrZXlwcmVzc2AsbiwoKT0+e30pLFooZSxuKX07UCh4LGU9PntpKCk/LnR5cGU9PT13ZS5JbWFnZT9lKFMpOmkoKT8udHlwZT09PXdlLlZpZGVvJiZlKEMsMSl9KSxGKGIpLEYoZCksdigoKT0+e2xlKGcsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKSxZKGIsMSxDZShbYHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBmbGV4LWdyb3cgZmxleCBpdGVtcy1jZW50ZXIgYmctYmxhY2svODAgei0xMGAscigpP2BwLThgOmBwLTRgXSkpfSksdChgY2xpY2tgLGIsKCk9PnUoYG92ZXJsYXlgKSksVihga2V5cHJlc3NgLGIsKCk9Pnt9KSxLKDEsZCwoKT0+VSwoKT0+KHt5OjIwLGRlbGF5OjMwMCxkdXJhdGlvbjo0MDB9KSksSygyLGQsKCk9PlUsKCk9Pih7eToxMCxkdXJhdGlvbjoyNTB9KSksWihlLGQpLEIoKSxjKCl9QWUoW2BjbGlja2BdKTt2YXIgVXQ9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBXdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oUnQsYCRzaG91bGRSZW5kZXJNZWRpYVByZXZpZXdgLHIpLFtyLGldPU8oKTtJKCk7dmFyIG89VCgpLHM9RChvKSxjPWU9Pnt2YXIgdD1VdCgpO0godCxgYCx7fSx7dHJhbnNpdGlvbjpgbWF4LWhlaWdodCAyNTBtcyBlYXNlLWluLW91dCwgd2lkdGggMjUwbXMgZWFzZS1pbi1vdXRgfSk7dmFyIG49YSh0KTt7bGV0IGU9YigoKT0+WChlPT57ZS5zdHlsZS5wb3NpdGlvbj1gZml4ZWRgfSkpO1Eobix7Z2V0IGNvbXBvbmVudCgpe3JldHVybiBIdH0sZ2V0IGlkKCl7cmV0dXJuIEcud2lkZ2V0SW1hZ2VQcmV2aWV3fSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBpbWFnZSBwcmV2aWV3YCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LGU9PldlPy4oZSkpLHYoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0SW1hZ2VQcmV2aWV3KSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheToxMDAsZHVyYXRpb246MjUwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChzLGU9PntuKCkmJmUoYyl9KSxaKGUsbyksQigpLGkoKX12YXIgR3Q9ZChgPCE+IDwhPiA8IT4gPCE+IDwhPmAsMSk7ZnVuY3Rpb24gS3QodCxyKXtOKHIsITApO2xldCBpPSgpPT5NKG1lLGAkbGFzdFVucmVhZE1lc3NhZ2VgLG8pLGE9KCk9Pk0oXyxgJGlzTWVzc2VuZ2VyRnJhbWVPcGVuYCxvKSxbbyxzXT1PKCk7aygoKT0+eyhhc3luYygpPT57YXdhaXQgemUoKSxhd2FpdCBwZS5pbml0Q2xpZW50KCl9KSgpfSksQygoKT0+e2koKSYmIWEoKSYmZSgpfSksZ2UoUygpKSxIZShuKSYmeShTKCkpLFllKHQse2NoaWxkcmVuOihlLHQpPT57dmFyIG49R3QoKSxyPUQobik7SXQocix7fSk7dmFyIGk9bShyLDIpO0F0KGkse30pO3ZhciBhPW0oaSwyKTtwdChhLHt9KTt2YXIgbz1tKGEsMik7d3Qobyx7fSksV3QobShvLDIpLHt9KSxaKGUsbil9LCQkc2xvdHM6e2RlZmF1bHQ6ITB9fSksQigpLHMoKX12YXIgcXQ9Zyh3aW5kb3cpO0UuaW5pdChxdC5vcHRpb25zKSxxdC5pbnN0YWxsQXBpKE1lKSxjLnNldFRoZW1lQ29sb3IocXQub3B0aW9ucyksUmUoKSxvZSgpLEdlKEt0LHt0YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGFwcGApfSk7ZXhwb3J0e010IGFzIG4sTHQgYXMgdH07Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW1haW4tdDZXeExBQkEuanMubWFw"}},"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":"coinlib.io/_next/static/chunks/c0a6ae515f4d245d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.483Z","timestamp":1785129949483,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/c0a6ae515f4d245d.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 3817465\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"c0a6ae515f4d245d.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"42e2ea745a52c479ce79b9fadf7f2ed9\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/c0a6ae515f4d245d.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::xwt97-1781312483646-eb94f2b460c3\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=scUfIVrauenbHjVhG0bQtUseO38eRzelHfO0%2Fefdi97RmNNgvVL6MAGfzsqzXl9NqhTz7C48pk0GLO9d1WI1yhlhrX7RAAmivHgaNRNeR5FYr3nojC0zuwUFIWgb\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c84d27a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.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":"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":3649,"size_decoded":3720,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3649), with no line terminators","md5":"42e2ea745a52c479ce79b9fadf7f2ed9","sha1":"0cf08999016475d70bf072b7878daea0244184e3","sha256":"2746264358bea944d3523f9c66585147897903d73b7b42e0bfd599f2492e3315","sha512":"cf4f42621c9615fcfc08b325ce391ff9e3af8b94fe80c1e4118eb1e52ca88e0b0409d0c36bc96f50a26ac3ea232630521e1a8077e10d05438f3b7fb8ebc266a9","ssdeep":"","tlshash":"af7165f0a702b23409ea41de5079c778b53d3658512e9420d1badc7f626cd8964b2ef3","first_seen":"2026-06-13T02:21:16.197988Z","last_seen":"2026-08-15T07:58:28.173902Z","times_seen":1916,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQyMDkyLGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDc1MjAxKSxyPShlLHQscixuLHMsYSxvLGwpPT57bGV0IGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG09WyJsaWdodCIsImRhcmsiXTtmdW5jdGlvbiBjKHQpe3ZhciByOyhBcnJheS5pc0FycmF5KGUpP2U6W2VdKS5mb3JFYWNoKGU9PntsZXQgcj0iY2xhc3MiPT09ZSxuPXImJmE/cy5tYXAoZT0+YVtlXXx8ZSk6cztyPyhpLmNsYXNzTGlzdC5yZW1vdmUoLi4ubiksaS5jbGFzc0xpc3QuYWRkKGEmJmFbdF0/YVt0XTp0KSk6aS5zZXRBdHRyaWJ1dGUoZSx0KX0pLHI9dCxsJiZtLmluY2x1ZGVzKHIpJiYoaS5zdHlsZS5jb2xvclNjaGVtZT1yKX1pZihuKWMobik7ZWxzZSB0cnl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0odCl8fHIsbj1vJiYic3lzdGVtIj09PWU/d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPyJkYXJrIjoibGlnaHQiOmU7YyhuKX1jYXRjaChlKXt9fSxuPVsibGlnaHQiLCJkYXJrIl0scz0iKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIsYT0idSI8dHlwZW9mIHdpbmRvdyxvPXQuY3JlYXRlQ29udGV4dCh2b2lkIDApLGw9e3NldFRoZW1lOmU9Pnt9LHRoZW1lczpbXX0saT0oKT0+e3ZhciBlO3JldHVybiBudWxsIT0oZT10LnVzZUNvbnRleHQobykpP2U6bH0sbT1lPT50LnVzZUNvbnRleHQobyk/dC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCxlLmNoaWxkcmVuKTp0LmNyZWF0ZUVsZW1lbnQoZCx7Li4uZX0pLGM9WyJsaWdodCIsImRhcmsiXSxkPSh7Zm9yY2VkVGhlbWU6ZSxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOnI9ITEsZW5hYmxlU3lzdGVtOmE9ITAsZW5hYmxlQ29sb3JTY2hlbWU6bD0hMCxzdG9yYWdlS2V5Omk9InRoZW1lIix0aGVtZXM6bT1jLGRlZmF1bHRUaGVtZTpkPWE/InN5c3RlbSI6ImxpZ2h0IixhdHRyaWJ1dGU6cD0iZGF0YS10aGVtZSIsdmFsdWU6YixjaGlsZHJlbjp2LG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pPT57bGV0W3csU109dC51c2VTdGF0ZSgoKT0+aChpLGQpKSxbQyxFXT10LnVzZVN0YXRlKCgpPT4ic3lzdGVtIj09PXc/ZigpOncpLGs9Yj9PYmplY3QudmFsdWVzKGIpOm0sQT10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD1lO2lmKCF0KXJldHVybjsic3lzdGVtIj09PWUmJmEmJih0PWYoKSk7bGV0IHM9Yj9iW3RdOnQsbz1yP3koZyk6bnVsbCxpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxtPWU9PnsiY2xhc3MiPT09ZT8oaS5jbGFzc0xpc3QucmVtb3ZlKC4uLmspLHMmJmkuY2xhc3NMaXN0LmFkZChzKSk6ZS5zdGFydHNXaXRoKCJkYXRhLSIpJiYocz9pLnNldEF0dHJpYnV0ZShlLHMpOmkucmVtb3ZlQXR0cmlidXRlKGUpKX07aWYoQXJyYXkuaXNBcnJheShwKT9wLmZvckVhY2gobSk6bShwKSxsKXtsZXQgZT1uLmluY2x1ZGVzKGQpP2Q6bnVsbCxyPW4uaW5jbHVkZXModCk/dDplO2kuc3R5bGUuY29sb3JTY2hlbWU9cn1udWxsPT1vfHxvKCl9LFtnXSksTD10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lKHcpOmU7Uyh0KTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oaSx0KX1jYXRjaChlKXt9fSxbd10pLFA9dC51c2VDYWxsYmFjayh0PT57RShmKHQpKSwic3lzdGVtIj09PXcmJmEmJiFlJiZBKCJzeXN0ZW0iKX0sW3csZV0pO3QudXNlRWZmZWN0KCgpPT57bGV0IGU9d2luZG93Lm1hdGNoTWVkaWEocyk7cmV0dXJuIGUuYWRkTGlzdGVuZXIoUCksUChlKSwoKT0+ZS5yZW1vdmVMaXN0ZW5lcihQKX0sW1BdKSx0LnVzZUVmZmVjdCgoKT0+e2xldCBlPWU9PntlLmtleT09PWkmJihlLm5ld1ZhbHVlP1MoZS5uZXdWYWx1ZSk6TChkKSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsZSksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdG9yYWdlIixlKX0sW0xdKSx0LnVzZUVmZmVjdCgoKT0+e0EobnVsbCE9ZT9lOncpfSxbZSx3XSk7bGV0IE89dC51c2VNZW1vKCgpPT4oe3RoZW1lOncsc2V0VGhlbWU6TCxmb3JjZWRUaGVtZTplLHJlc29sdmVkVGhlbWU6InN5c3RlbSI9PT13P0M6dyx0aGVtZXM6YT9bLi4ubSwic3lzdGVtIl06bSxzeXN0ZW1UaGVtZTphP0M6dm9pZCAwfSksW3csTCxlLEMsYSxtXSk7cmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLlByb3ZpZGVyLHt2YWx1ZTpPfSx0LmNyZWF0ZUVsZW1lbnQodSx7Zm9yY2VkVGhlbWU6ZSxzdG9yYWdlS2V5OmksYXR0cmlidXRlOnAsZW5hYmxlU3lzdGVtOmEsZW5hYmxlQ29sb3JTY2hlbWU6bCxkZWZhdWx0VGhlbWU6ZCx2YWx1ZTpiLHRoZW1lczptLG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pLHYpfSx1PXQubWVtbygoe2ZvcmNlZFRoZW1lOmUsc3RvcmFnZUtleTpuLGF0dHJpYnV0ZTpzLGVuYWJsZVN5c3RlbTphLGVuYWJsZUNvbG9yU2NoZW1lOm8sZGVmYXVsdFRoZW1lOmwsdmFsdWU6aSx0aGVtZXM6bSxub25jZTpjLHNjcmlwdFByb3BzOmR9KT0+e2xldCB1PUpTT04uc3RyaW5naWZ5KFtzLG4sbCxlLG0saSxhLG9dKS5zbGljZSgxLC0xKTtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiLHsuLi5kLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxub25jZToidSI8dHlwZW9mIHdpbmRvdz9jOiIiLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6YCgke3IudG9TdHJpbmcoKX0pKCR7dX0pYH19KX0pLGg9KGUsdCk9PntsZXQgcjtpZighYSl7dHJ5e3I9bG9jYWxTdG9yYWdlLmdldEl0ZW0oZSl8fHZvaWQgMH1jYXRjaChlKXt9cmV0dXJuIHJ8fHR9fSx5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBlJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiosKjo6YmVmb3JlLCo6OmFmdGVyey13ZWJraXQtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbW96LXRyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7LW8tdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbXMtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fSIpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpLCgpPT57d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSksc2V0VGltZW91dCgoKT0+e2RvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQodCl9LDEpfX0sZj1lPT4oZXx8KGU9d2luZG93Lm1hdGNoTWVkaWEocykpLGUubWF0Y2hlcz8iZGFyayI6ImxpZ2h0Iik7ZS5zKFsiVGhlbWVQcm92aWRlciIsKCk9Pm0sInVzZVRoZW1lIiwoKT0+aV0pfSw4MzY2MSxlPT57InVzZSBzdHJpY3QiO3ZhciB0PWUuaSg5ODEzNCkscj1lLmkoNDIwOTIpO2Z1bmN0aW9uIG4oe2NoaWxkcmVuOmV9KXtyZXR1cm4oMCx0LmpzeCkoci5UaGVtZVByb3ZpZGVyLHthdHRyaWJ1dGU6ImNsYXNzIixkZWZhdWx0VGhlbWU6ImRhcmsiLGVuYWJsZVN5c3RlbTohMCxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOiEwLGNoaWxkcmVuOmV9KX1lLnMoWyJUaGVtZVByb3ZpZGVyIiwoKT0+bl0pfV0pOw=="}},"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":"gildcrystalincome.com/autopayouts/withdrawal.php","fqdn":"gildcrystalincome.com","domain":"gildcrystalincome.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.250Z","timestamp":1785129949250,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /autopayouts/withdrawal.php HTTP/1.1\r\nHost: gildcrystalincome.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://digitaltradeinvest.org/\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":"","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-15T16:46:18.775881Z","times_seen":17905015,"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":"digitaltradeinvest.org/css/responsive.css","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:48.845Z","timestamp":1785129948845,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /css/responsive.css HTTP/1.1\r\nHost: digitaltradeinvest.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:48 GMT\r\ncontent-type: text/css\r\ncontent-length: 32455\r\ncache-control: public, max-age=604800\r\nexpires: Fri, 31 Jul 2026 12:21:31 GMT\r\nlast-modified: Thu, 09 Oct 2025 21:44:33 GMT\r\netag: \"52331-68e82cc1-c0ef162594df18bd;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 234256\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 563d4e65c85391826265830ed6c80814-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":336689,"size_decoded":33001,"mime_type":"text/css","magic":"ASCII text, with very long lines (65431), with CRLF line terminators","md5":"21803fffb76e5dd2fd6934bef4e3eeca","sha1":"416846b7dd647ec35cce72b6d88ffd3ffe469300","sha256":"e2bdade1a501f00b121f11323e8fdeace78eebccc01aa7d79b5ef7f5d6d04101","sha512":"0db71b3071df051a2458fdffe42af6a91bee35d6b4128b7f26ec0e3b80b68fed585225f2520d7d41055aa83a4a5ad020b11b21cd7481d814d845e1a8a13ba6e8","ssdeep":"3072:Qge+UOsWk+QjwOGJRjLTLL7j1OHTOFSLVldTjDz7DThevDZLM2eguYGweYn0uIkh:1/p","tlshash":"4c648aa77fa1316c912f86a7c5d2b9b8fb16e901a35396d7ed132f37ce81789050092c","first_seen":"2025-12-04T04:56:53.978001Z","last_seen":"2026-08-04T06:09:43.935087Z","times_seen":23,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsvKiENCiAqIExpdGhvIC0gdjEuMQ0KICogaHR0cHM6Ly93d3cudGhlbWV6YWEuY29tLw0KICogQ29weXJpZ2h0IChjKSAyMDIxIHRoZW1lemFhLmNvbQ0KICovQG1lZGlhIChtaW4td2lkdGg6MTkwMXB4KXsubGl0aG8tcGFyYWxsYXgtYmd7d2lkdGg6NDUlfX1AbWVkaWEgKG1heC13aWR0aDoxNjAwcHgpey54bC1sYXN0LW9yZGVye29yZGVyOjEwfS50ZXh0LWV4dHJhLWJpZ3tmb250LXNpemU6MjAwcHg7bGluZS1oZWlnaHQ6MjAwcHh9LnhsLWxldHRlci1zcGFjaW5nLW1pbnVzLTEtaGFsZntsZXR0ZXItc3BhY2luZzotLjVweH0ueGwtbGV0dGVyLXNwYWNpbmctbWludXMtMXB4e2xldHRlci1zcGFjaW5nOi0xcHh9LnhsLWxldHRlci1zcGFjaW5nLW1pbnVzLTJweHtsZXR0ZXItc3BhY2luZzotMnB4fS54bC1sZXR0ZXItc3BhY2luZy1taW51cy0zcHh7bGV0dGVyLXNwYWNpbmc6LTNweH0ueGwtbGV0dGVyLXNwYWNpbmctbWludXMtNHB4e2xldHRlci1zcGFjaW5nOi00cHh9LnhsLWxldHRlci1zcGFjaW5nLW1pbnVzLTVweHtsZXR0ZXItc3BhY2luZzotNXB4fS54bC1hYnNvbHV0ZS1taWRkbGUtY2VudGVye2xlZnQ6NTAlO3RvcDo1MCU7cG9zaXRpb246YWJzb2x1dGU7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpfS54bC1ib3gtc2hhZG93LW5vbmV7Ym94LXNoYWRvdzpub25lfS54bC1tYXJnaW4tb25lLWFsbHttYXJnaW46MSV9LnhsLW1hcmdpbi10d28tYWxse21hcmdpbjoyJX0ueGwtbWFyZ2luLXRocmVlLWFsbHttYXJnaW46MyV9LnhsLW1hcmdpbi1mb3VyLWFsbHttYXJnaW46NCV9LnhsLW1hcmdpbi1maXZlLWFsbHttYXJnaW46NSV9LnhsLW1hcmdpbi1zaXgtYWxse21hcmdpbjo2JX0ueGwtbWFyZ2luLXNldmVuLWFsbHttYXJnaW46NyV9LnhsLW1hcmdpbi1laWdodC1hbGx7bWFyZ2luOjglfS54bC1tYXJnaW4tbmluZS1hbGx7bWFyZ2luOjklfS54bC1tYXJnaW4tdGVuLWFsbHttYXJnaW46MTAlfS54bC1tYXJnaW4tZWxldmVuLWFsbHttYXJnaW46MTElfS54bC1tYXJnaW4tdHdlbHZlLWFsbHttYXJnaW46MTIlfS54bC1tYXJnaW4tdGhpcnRlZW4tYWxse21hcmdpbjoxMyV9LnhsLW1hcmdpbi1mb3VydGVlbi1hbGx7bWFyZ2luOjE0JX0ueGwtbWFyZ2luLWZpZnRlZW4tYWxse21hcmdpbjoxNSV9LnhsLW1hcmdpbi1zaXh0ZWVuLWFsbHttYXJnaW46MTYlfS54bC1tYXJnaW4tc2V2ZW50ZWVuLWFsbHttYXJnaW46MTclfS54bC1tYXJnaW4tZWlnaHRlZW4tYWxse21hcmdpbjoxOCV9LnhsLW1hcmdpbi1uaW5ldGVlbi1hbGx7bWFyZ2luOjE5JX0ueGwtbWFyZ2luLXR3ZW50eS1hbGx7bWFyZ2luOjIwJX0ueGwtbWFyZ2luLTVweC1hbGx7bWFyZ2luOjVweH0ueGwtbWFyZ2luLTEwcHgtYWxse21hcmdpbjoxMHB4fS54bC1tYXJnaW4tMTVweC1hbGx7bWFyZ2luOjE1cHh9LnhsLW1hcmdpbi0yMHB4LWFsbHttYXJnaW46MjBweH0ueGwtbWFyZ2luLTI1cHgtYWxse21hcmdpbjoyNXB4fS54bC1tYXJnaW4tMzBweC1hbGx7bWFyZ2luOjMwcHh9LnhsLW1hcmdpbi0zNXB4LWFsbHttYXJnaW46MzVweH0ueGwtbWFyZ2luLTQwcHgtYWxse21hcmdpbjo0MHB4fS54bC1tYXJnaW4tNDVweC1hbGx7bWFyZ2luOjQ1cHh9LnhsLW1hcmdpbi01MHB4LWFsbHttYXJnaW46NTBweH0ueGwtbWFyZ2luLTU1cHgtYWxse21hcmdpbjo1NXB4fS54bC1tYXJnaW4tNjBweC1hbGx7bWFyZ2luOjYwcHh9LnhsLW1hcmdpbi02NXB4LWFsbHttYXJnaW46NjVweH0ueGwtbWFyZ2luLTcwcHgtYWxse21hcmdpbjo3MHB4fS54bC1tYXJnaW4tNzVweC1hbGx7bWFyZ2luOjc1cHh9LnhsLW1hcmdpbi04MHB4LWFsbHttYXJnaW46ODBweH0ueGwtbWFyZ2luLTg1cHgtYWxse21hcmdpbjo4NXB4fS54bC1tYXJnaW4tOTBweC1hbGx7bWFyZ2luOjkwcHh9LnhsLW1hcmdpbi05NXB4LWFsbHttYXJnaW46OTVweH0ueGwtbWFyZ2luLTEwMHB4LWFsbHttYXJnaW46MTAwcHh9LnhsLW1hcmdpbi0xLXJlbS1hbGx7bWFyZ2luOjFyZW19LnhsLW1hcmdpbi0xLWhhbGYtcmVtLWFsbHttYXJnaW46MS41cmVtfS54bC1tYXJnaW4tMi1yZW0tYWxse21hcmdpbjoycmVtfS54bC1tYXJnaW4tMi1oYWxmLXJlbS1hbGx7bWFyZ2luOjIuNXJlbX0ueGwtbWFyZ2luLTMtcmVtLWFsbHttYXJnaW46M3JlbX0ueGwtbWFyZ2luLTMtaGFsZi1yZW0tYWxse21hcmdpbjozLjVyZW19LnhsLW1hcmdpbi00LXJlbS1hbGx7bWFyZ2luOjRyZW19LnhsLW1hcmdpbi00LWhhbGYtcmVtLWFsbHttYXJnaW46NC41cmVtfS54bC1tYXJnaW4tNS1yZW0tYWxse21hcmdpbjo1cmVtfS54bC1tYXJnaW4tNS1oYWxmLXJlbS1hbGx7bWFyZ2luOjUuNXJlbX0ueGwtbWFyZ2luLTYtcmVtLWFsbHttYXJnaW46NnJlbX0ueGwtbWFyZ2luLTYtaGFsZi1yZW0tYWxse21hcmdpbjo2LjVyZW19LnhsLW1hcmdpbi03LXJlbS1hbGx7bWFyZ2luOjdyZW19LnhsLW1hcmdpbi03LWhhbGYtcmVtLWFsbHttYXJnaW46Ny41cmVtfS54bC1tYXJnaW4tOC1yZW0tYWxse21hcmdpbjo4cmVtfS54bC1tYXJnaW4tOC1oYWxmLXJlbS1hbGx7bWFyZ2luOjguNXJlbX0ueGwtbWFyZ2luLTktcmVtLWFsbHttYXJnaW46OXJlbX0ueGwtbWFyZ2luLTktaGFsZi1yZW0tYWxse21hcmdpbjo5LjVyZW19LnhsLW1hcmdpbi0xMC1yZW0tYWxse21hcmdpbjoxMHJlbX0ueGwtbWFyZ2luLTEwLWhhbGYtcmVtLWFsbHttYXJnaW46MTAuNXJlbX0ueGwtbWFyZ2luLW9uZS10b3B7bWFyZ2luLXRvcDoxJX0ueGwtbWFyZ2luLXR3by10b3B7bWFyZ2luLXRvcDoyJX0ueGwtbWFyZ2luLXRocmVlLXRvcHttYXJnaW4tdG9wOjMlfS54bC1tYXJnaW4tZm91ci10b3B7bWFyZ2luLXRvcDo0JX0ueGwtbWFyZ2luLWZpdmUtdG9we21hcmdpbi10b3A6NSV9LnhsLW1hcmdpbi1zaXgtdG9we21hcmdpbi10b3A6NiV9LnhsLW1hcmdpbi1zZXZlbi10b3B7bWFyZ2luLXRvcDo3JX0ueGwtbWFyZ2luLWVpZ2h0LXRvcHttYXJnaW4tdG9wOjglfS54bC1tYXJnaW4tbmluZS10b3B7bWFyZ2luLXRvcDo5JX0ueGwtbWFyZ2luLXRlbi10b3B7bWFyZ2luLXRvcDoxMCV9LnhsLW1hcmdpbi1lbGV2ZW4tdG9we21hcmdpbi10b3A6MTElfS54bC1tYXJnaW4tdHdlbHZlLXRvcHttYXJnaW4tdG9wOjEyJX0ueGwtbWFyZ2luLXRoaXJ0ZWVuLXRvcHttYXJnaW4tdG9wOjEzJX0ueGwtbWFyZ2luLWZvdXJ0ZWVuLXRvcHttYXJnaW4tdG9wOjE0JX0ueGwtbWFyZ2luLWZpZnRlZW4tdG9we21hcmdpbi10b3A6MTUlfS54bC1tYXJnaW4tc2l4dGVlbi10b3B7bWFyZ2luLXRvcDoxNiV9LnhsLW1hcmdpbi1zZXZlbnRlZW4tdG9we21hcmdpbi10b3A6MTclfS54bC1tYXJnaW4tZWlnaHRlZW4tdG9we21hcmdpbi10b3A6MTglfS54bC1tYXJnaW4tbmluZXRlZW4tdG9we21hcmdpbi10b3A6MTklfS54bC1tYXJnaW4tdHdlbnR5LXRvcHttYXJnaW4tdG9wOjIwJX0ueGwtbWFyZ2luLTVweC10b3B7bWFyZ2luLXRvcDo1cHh9LnhsLW1hcmdpbi0xMHB4LXRvcHttYXJnaW4tdG9wOjEwcHh9LnhsLW1hcmdpbi0xNXB4LXRvcHttYXJnaW4tdG9wOjE1cHh9LnhsLW1hcmdpbi0yMHB4LXRvcHttYXJnaW4tdG9wOjIwcHh9LnhsLW1hcmdpbi0yNXB4LXRvcHttYXJnaW4tdG9wOjI1cHh9LnhsLW1hcmdpbi0zMHB4LXRvcHttYXJnaW4tdG9wOjMwcHh9LnhsLW1hcmdpbi0zNXB4LXRvcHttYXJnaW4tdG9wOjM1cHh9LnhsLW1hcmdpbi00MHB4LXRvcHttYXJnaW4tdG9wOjQwcHh9LnhsLW1hcmdpbi00NXB4LXRvcHttYXJnaW4tdG9wOjQ1cHh9LnhsLW1hcmdpbi01MHB4LXRvcHttYXJnaW4tdG9wOjUwcHh9LnhsLW1hcmdpbi01NXB4LXRvcHttYXJnaW4tdG9wOjU1cHh9LnhsLW1hcmdpbi02MHB4LXRvcHttYXJnaW4tdG9wOjYwcHh9LnhsLW1hcmdpbi02NXB4LXRvcHttYXJnaW4tdG9wOjY1cHh9LnhsLW1hcmdpbi03MHB4LXRvcHttYXJnaW4tdG9wOjcwcHh9LnhsLW1hcmdpbi03NXB4LXRvcHttYXJnaW4tdG9wOjc1cHh9LnhsLW1hcmdpbi04MHB4LXRvcHttYXJnaW4tdG9wOjgwcHh9LnhsLW1hcmdpbi04NXB4LXRvcHttYXJnaW4tdG9wOjg1cHh9LnhsLW1hcmdpbi05MHB4LXRvcHttYXJnaW4tdG9wOjkwcHh9LnhsLW1hcmdpbi05NXB4LXRvcHttYXJnaW4tdG9wOjk1cHh9LnhsLW1hcmdpbi0xMDBweC10b3B7bWFyZ2luLXRvcDoxMDBweH0ueGwtbWFyZ2luLTEtcmVtLXRvcHttYXJnaW4tdG9wOjFyZW19LnhsLW1hcmdpbi0xLWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjEuNXJlbX0ueGwtbWFyZ2luLTItcmVtLXRvcHttYXJnaW4tdG9wOjJyZW19LnhsLW1hcmdpbi0yLWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjIuNXJlbX0ueGwtbWFyZ2luLTMtcmVtLXRvcHttYXJnaW4tdG9wOjNyZW19LnhsLW1hcmdpbi0zLWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjMuNXJlbX0ueGwtbWFyZ2luLTQtcmVtLXRvcHttYXJnaW4tdG9wOjRyZW19LnhsLW1hcmdpbi00LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjQuNXJlbX0ueGwtbWFyZ2luLTUtcmVtLXRvcHttYXJnaW4tdG9wOjVyZW19LnhsLW1hcmdpbi01LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjUuNXJlbX0ueGwtbWFyZ2luLTYtcmVtLXRvcHttYXJnaW4tdG9wOjZyZW19LnhsLW1hcmdpbi02LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjYuNXJlbX0ueGwtbWFyZ2luLTctcmVtLXRvcHttYXJnaW4tdG9wOjdyZW19LnhsLW1hcmdpbi03LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjcuNXJlbX0ueGwtbWFyZ2luLTgtcmVtLXRvcHttYXJnaW4tdG9wOjhyZW19LnhsLW1hcmdpbi04LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjguNXJlbX0ueGwtbWFyZ2luLTktcmVtLXRvcHttYXJnaW4tdG9wOjlyZW19LnhsLW1hcmdpbi05LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjkuNXJlbX0ueGwtbWFyZ2luLTEwLXJlbS10b3B7bWFyZ2luLXRvcDoxMHJlbX0ueGwtbWFyZ2luLTEwLWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjEwLjVyZW19LnhsLW1hcmdpbi1vbmUtYm90dG9te21hcmdpbi1ib3R0b206MSV9LnhsLW1hcmdpbi10d28tYm90dG9te21hcmdpbi1ib3R0b206MiV9LnhsLW1hcmdpbi10aHJlZS1ib3R0b217bWFyZ2luLWJvdHRvbTozJX0ueGwtbWFyZ2luLWZvdXItYm90dG9te21hcmdpbi1ib3R0b206NCV9LnhsLW1hcmdpbi1maXZlLWJvdHRvbXttYXJnaW4tYm90dG9tOjUlfS54bC1tYXJnaW4tc2l4LWJvdHRvbXttYXJnaW4tYm90dG9tOjYlfS54bC1tYXJnaW4tc2V2ZW4tYm90dG9te21hcmdpbi1ib3R0b206NyV9LnhsLW1hcmdpbi1laWdodC1ib3R0b217bWFyZ2luLWJvdHRvbTo4JX0ueGwtbWFyZ2luLW5pbmUtYm90dG9te21hcmdpbi1ib3R0b206OSV9LnhsLW1hcmdpbi10ZW4tYm90dG9te21hcmdpbi1ib3R0b206MTAlfS54bC1tYXJnaW4tZWxldmVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjExJX0ueGwtbWFyZ2luLXR3ZWx2ZS1ib3R0b217bWFyZ2luLWJvdHRvbToxMiV9LnhsLW1hcmdpbi10aGlydGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxMyV9LnhsLW1hcmdpbi1mb3VydGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxNCV9LnhsLW1hcmdpbi1maWZ0ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE1JX0ueGwtbWFyZ2luLXNpeHRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTYlfS54bC1tYXJnaW4tc2V2ZW50ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE3JX0ueGwtbWFyZ2luLWVpZ2h0ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE4JX0ueGwtbWFyZ2luLW5pbmV0ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE5JX0ueGwtbWFyZ2luLXR3ZW50eS1ib3R0b217bWFyZ2luLWJvdHRvbToyMCV9LnhsLW1hcmdpbi01cHgtYm90dG9te21hcmdpbi1ib3R0b206NXB4fS54bC1tYXJnaW4tMTBweC1ib3R0b217bWFyZ2luLWJvdHRvbToxMHB4fS54bC1tYXJnaW4tMTVweC1ib3R0b217bWFyZ2luLWJvdHRvbToxNXB4fS54bC1tYXJnaW4tMjBweC1ib3R0b217bWFyZ2luLWJvdHRvbToyMHB4fS54bC1tYXJnaW4tMjVweC1ib3R0b217bWFyZ2luLWJvdHRvbToyNXB4fS54bC1tYXJnaW4tMzBweC1ib3R0b217bWFyZ2luLWJvdHRvbTozMHB4fS54bC1tYXJnaW4tMzVweC1ib3R0b217bWFyZ2luLWJvdHRvbTozNXB4fS54bC1tYXJnaW4tNDBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo0MHB4fS54bC1tYXJnaW4tNDVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo0NXB4fS54bC1tYXJnaW4tNTBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo1MHB4fS54bC1tYXJnaW4tNTVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo1NXB4fS54bC1tYXJnaW4tNjBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo2MHB4fS54bC1tYXJnaW4tNjVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo2NXB4fS54bC1tYXJnaW4tNzBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo3MHB4fS54bC1tYXJnaW4tNzVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo3NXB4fS54bC1tYXJnaW4tODBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo4MHB4fS54bC1tYXJnaW4tODVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo4NXB4fS54bC1tYXJnaW4tOTBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo5MHB4fS54bC1tYXJnaW4tOTVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo5NXB4fS54bC1tYXJnaW4tMTAwcHgtYm90dG9te21hcmdpbi1ib3R0b206MTAwcHh9LnhsLW1hcmdpbi0xLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToxcmVtfS54bC1tYXJnaW4tMS1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToxLjVyZW19LnhsLW1hcmdpbi0yLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToycmVtfS54bC1tYXJnaW4tMi1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToyLjVyZW19LnhsLW1hcmdpbi0zLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTozcmVtfS54bC1tYXJnaW4tMy1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTozLjVyZW19LnhsLW1hcmdpbi00LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo0cmVtfS54bC1tYXJnaW4tNC1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo0LjVyZW19LnhsLW1hcmdpbi01LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo1cmVtfS54bC1tYXJnaW4tNS1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo1LjVyZW19LnhsLW1hcmdpbi02LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo2cmVtfS54bC1tYXJnaW4tNi1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo2LjVyZW19LnhsLW1hcmdpbi03LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo3cmVtfS54bC1tYXJnaW4tNy1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo3LjVyZW19LnhsLW1hcmdpbi04LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo4cmVtfS54bC1tYXJnaW4tOC1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo4LjVyZW19LnhsLW1hcmdpbi05LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo5cmVtfS54bC1tYXJnaW4tOS1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo5LjVyZW19LnhsLW1hcmdpbi0xMC1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MTByZW19LnhsLW1hcmdpbi0xMC1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToxMC41cmVtfS54bC1tYXJnaW4tb25lLXJpZ2h0e21hcmdpbi1yaWdodDoxJX0ueGwtbWFyZ2luLXR3by1yaWdodHttYXJnaW4tcmlnaHQ6MiV9LnhsLW1hcmdpbi10aHJlZS1yaWdodHttYXJnaW4tcmlnaHQ6MyV9LnhsLW1hcmdpbi1mb3VyLXJpZ2h0e21hcmdpbi1yaWdodDo0JX0ueGwtbWFyZ2luLWZpdmUtcmlnaHR7bWFyZ2luLXJpZ2h0OjUlfS54bC1tYXJnaW4tc2l4LXJpZ2h0e21hcmdpbi1yaWdodDo2JX0ueGwtbWFyZ2luLXNldmVuLXJpZ2h0e21hcmdpbi1yaWdodDo3JX0ueGwtbWFyZ2luLWVpZ2h0LXJpZ2h0e21hcmdpbi1yaWdodDo4JX0ueGwtbWFyZ2luLW5pbmUtcmlnaHR7bWFyZ2luLXJpZ2h0OjklfS54bC1tYXJnaW4tdGVuLXJpZ2h0e21hcmdpbi1yaWdodDoxMCV9LnhsLW1hcmdpbi1lbGV2ZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjExJX0ueGwtbWFyZ2luLXR3ZWx2ZS1yaWdodHttYXJnaW4tcmlnaHQ6MTIlfS54bC1tYXJnaW4tdGhpcnRlZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjEzJX0ueGwtbWFyZ2luLWZvdXJ0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxNCV9LnhsLW1hcmdpbi1maWZ0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxNSV9LnhsLW1hcmdpbi1zaXh0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxNiV9LnhsLW1hcmdpbi1zZXZlbnRlZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjE3JX0ueGwtbWFyZ2luLWVpZ2h0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxOCV9LnhsLW1hcmdpbi1uaW5ldGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTklfS54bC1tYXJnaW4tdHdlbnR5LXJpZ2h0e21hcmdpbi1yaWdodDoyMCV9LnhsLW1hcmdpbi01cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjVweH0ueGwtbWFyZ2luLTEwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjEwcHh9LnhsLW1hcmdpbi0xNXB4LXJpZ2h0e21hcmdpbi1yaWdodDoxNXB4fS54bC1tYXJnaW4tMjBweC1yaWdodHttYXJnaW4tcmlnaHQ6MjBweH0ueGwtbWFyZ2luLTI1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjI1cHh9LnhsLW1hcmdpbi0zMHB4LXJpZ2h0e21hcmdpbi1yaWdodDozMHB4fS54bC1tYXJnaW4tMzVweC1yaWdodHttYXJnaW4tcmlnaHQ6MzVweH0ueGwtbWFyZ2luLTQwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjQwcHh9LnhsLW1hcmdpbi00NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo0NXB4fS54bC1tYXJnaW4tNTBweC1yaWdodHttYXJnaW4tcmlnaHQ6NTBweH0ueGwtbWFyZ2luLTU1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjU1cHh9LnhsLW1hcmdpbi02MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo2MHB4fS54bC1tYXJnaW4tNjVweC1yaWdodHttYXJnaW4tcmlnaHQ6NjVweH0ueGwtbWFyZ2luLTcwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjcwcHh9LnhsLW1hcmdpbi03NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo3NXB4fS54bC1tYXJnaW4tODBweC1yaWdodHttYXJnaW4tcmlnaHQ6ODBweH0ueGwtbWFyZ2luLTg1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0Ojg1cHh9LnhsLW1hcmdpbi05MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo5MHB4fS54bC1tYXJnaW4tOTVweC1yaWdodHttYXJnaW4tcmlnaHQ6OTVweH0ueGwtbWFyZ2luLTEwMHB4LXJpZ2h0e21hcmdpbi1yaWdodDoxMDBweH0ueGwtbWFyZ2luLTEtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDoxcmVtfS54bC1tYXJnaW4tMS1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6MS41cmVtfS54bC1tYXJnaW4tMi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjJyZW19LnhsLW1hcmdpbi0yLWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDoyLjVyZW19LnhsLW1hcmdpbi0zLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6M3JlbX0ueGwtbWFyZ2luLTMtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjMuNXJlbX0ueGwtbWFyZ2luLTQtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo0cmVtfS54bC1tYXJnaW4tNC1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6NC41cmVtfS54bC1tYXJnaW4tNS1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjVyZW19LnhsLW1hcmdpbi01LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo1LjVyZW19LnhsLW1hcmdpbi02LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6NnJlbX0ueGwtbWFyZ2luLTYtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjYuNXJlbX0ueGwtbWFyZ2luLTctcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo3cmVtfS54bC1tYXJnaW4tNy1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6Ny41cmVtfS54bC1tYXJnaW4tOC1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjhyZW19LnhsLW1hcmdpbi04LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo4LjVyZW19LnhsLW1hcmdpbi05LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6OXJlbX0ueGwtbWFyZ2luLTktaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjkuNXJlbX0ueGwtbWFyZ2luLTEwLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6MTByZW19LnhsLW1hcmdpbi0xMC1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6MTAuNXJlbX0ueGwtbWFyZ2luLW9uZS1sZWZ0e21hcmdpbi1sZWZ0OjElfS54bC1tYXJnaW4tdHdvLWxlZnR7bWFyZ2luLWxlZnQ6MiV9LnhsLW1hcmdpbi10aHJlZS1sZWZ0e21hcmdpbi1sZWZ0OjMlfS54bC1tYXJnaW4tZm91ci1sZWZ0e21hcmdpbi1sZWZ0OjQlfS54bC1tYXJnaW4tZml2ZS1sZWZ0e21hcmdpbi1sZWZ0OjUlfS54bC1tYXJnaW4tc2l4LWxlZnR7bWFyZ2luLWxlZnQ6NiV9LnhsLW1hcmdpbi1zZXZlbi1sZWZ0e21hcmdpbi1sZWZ0OjclfS54bC1tYXJnaW4tZWlnaHQtbGVmdHttYXJnaW4tbGVmdDo4JX0ueGwtbWFyZ2luLW5pbmUtbGVmdHttYXJnaW4tbGVmdDo5JX0ueGwtbWFyZ2luLXRlbi1sZWZ0e21hcmdpbi1sZWZ0OjEwJX0ueGwtbWFyZ2luLWVsZXZlbi1sZWZ0e21hcmdpbi1sZWZ0OjExJX0ueGwtbWFyZ2luLXR3ZWx2ZS1sZWZ0e21hcmdpbi1sZWZ0OjEyJX0ueGwtbWFyZ2luLXRoaXJ0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTMlfS54bC1tYXJnaW4tZm91cnRlZW4tbGVmdHttYXJnaW4tbGVmdDoxNCV9LnhsLW1hcmdpbi1maWZ0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTUlfS54bC1tYXJnaW4tc2l4dGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE2JX0ueGwtbWFyZ2luLXNldmVudGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE3JX0ueGwtbWFyZ2luLWVpZ2h0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTglfS54bC1tYXJnaW4tbmluZXRlZW4tbGVmdHttYXJnaW4tbGVmdDoxOSV9LnhsLW1hcmdpbi10d2VudHktbGVmdHttYXJnaW4tbGVmdDoyMCV9LnhsLW1hcmdpbi01cHgtbGVmdHttYXJnaW4tbGVmdDo1cHh9LnhsLW1hcmdpbi0xMHB4LWxlZnR7bWFyZ2luLWxlZnQ6MTBweH0ueGwtbWFyZ2luLTE1cHgtbGVmdHttYXJnaW4tbGVmdDoxNXB4fS54bC1tYXJnaW4tMjBweC1sZWZ0e21hcmdpbi1sZWZ0OjIwcHh9LnhsLW1hcmdpbi0yNXB4LWxlZnR7bWFyZ2luLWxlZnQ6MjVweH0ueGwtbWFyZ2luLTMwcHgtbGVmdHttYXJnaW4tbGVmdDozMHB4fS54bC1tYXJnaW4tMzVweC1sZWZ0e21hcmdpbi1sZWZ0OjM1cHh9LnhsLW1hcmdpbi00MHB4LWxlZnR7bWFyZ2luLWxlZnQ6NDBweH0ueGwtbWFyZ2luLTQ1cHgtbGVmdHttYXJnaW4tbGVmdDo0NXB4fS54bC1tYXJnaW4tNTBweC1sZWZ0e21hcmdpbi1sZWZ0OjUwcHh9LnhsLW1hcmdpbi01NXB4LWxlZnR7bWFyZ2luLWxlZnQ6NTVweH0ueGwtbWFyZ2luLTYwcHgtbGVmdHttYXJnaW4tbGVmdDo2MHB4fS54bC1tYXJnaW4tNjVweC1sZWZ0e21hcmdpbi1sZWZ0OjY1cHh9LnhsLW1hcmdpbi03MHB4LWxlZnR7bWFyZ2luLWxlZnQ6NzBweH0ueGwtbWFyZ2luLTc1cHgtbGVmdHttYXJnaW4tbGVmdDo3NXB4fS54bC1tYXJnaW4tODBweC1sZWZ0e21hcmdpbi1sZWZ0OjgwcHh9LnhsLW1hcmdpbi04NXB4LWxlZnR7bWFyZ2luLWxlZnQ6ODVweH0ueGwtbWFyZ2luLTkwcHgtbGVmdHttYXJnaW4tbGVmdDo5MHB4fS54bC1tYXJnaW4tOTVweC1sZWZ0e21hcmdpbi1sZWZ0Ojk1cHh9LnhsLW1hcmdpbi0xMDBweC1sZWZ0e21hcmdpbi1sZWZ0OjEwMHB4fS54bC1tYXJnaW4tMS1yZW0tbGVmdHttYXJnaW4tbGVmdDoxcmVtfS54bC1tYXJnaW4tMS1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjEuNXJlbX0ueGwtbWFyZ2luLTItcmVtLWxlZnR7bWFyZ2luLWxlZnQ6MnJlbX0ueGwtbWFyZ2luLTItaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDoyLjVyZW19LnhsLW1hcmdpbi0zLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjNyZW19LnhsLW1hcmdpbi0zLWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6My41cmVtfS54bC1tYXJnaW4tNC1yZW0tbGVmdHttYXJnaW4tbGVmdDo0cmVtfS54bC1tYXJnaW4tNC1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjQuNXJlbX0ueGwtbWFyZ2luLTUtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6NXJlbX0ueGwtbWFyZ2luLTUtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo1LjVyZW19LnhsLW1hcmdpbi02LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjZyZW19LnhsLW1hcmdpbi02LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6Ni41cmVtfS54bC1tYXJnaW4tNy1yZW0tbGVmdHttYXJnaW4tbGVmdDo3cmVtfS54bC1tYXJnaW4tNy1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjcuNXJlbX0ueGwtbWFyZ2luLTgtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6OHJlbX0ueGwtbWFyZ2luLTgtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo4LjVyZW19LnhsLW1hcmdpbi05LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjlyZW19LnhsLW1hcmdpbi05LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6OS41cmVtfS54bC1tYXJnaW4tMTAtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6MTByZW19LnhsLW1hcmdpbi0xMC1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjEwLjVyZW19LnhsLW1hcmdpbi1vbmUtbHJ7bWFyZ2luLWxlZnQ6MSU7bWFyZ2luLXJpZ2h0OjElfS54bC1tYXJnaW4tdHdvLWxye21hcmdpbi1sZWZ0OjIlO21hcmdpbi1yaWdodDoyJX0ueGwtbWFyZ2luLXRocmVlLWxye21hcmdpbi1sZWZ0OjMlO21hcmdpbi1yaWdodDozJX0ueGwtbWFyZ2luLWZvdXItbHJ7bWFyZ2luLWxlZnQ6NCU7bWFyZ2luLXJpZ2h0OjQlfS54bC1tYXJnaW4tZml2ZS1scnttYXJnaW4tbGVmdDo1JTttYXJnaW4tcmlnaHQ6NSV9LnhsLW1hcmdpbi1zaXgtbHJ7bWFyZ2luLWxlZnQ6NiU7bWFyZ2luLXJpZ2h0OjYlfS54bC1tYXJnaW4tc2V2ZW4tbHJ7bWFyZ2luLWxlZnQ6NyU7bWFyZ2luLXJpZ2h0OjclfS54bC1tYXJnaW4tZWlnaHQtbHJ7bWFyZ2luLWxlZnQ6OCU7bWFyZ2luLXJpZ2h0OjglfS54bC1tYXJnaW4tbmluZS1scnttYXJnaW4tbGVmdDo5JTttYXJnaW4tcmlnaHQ6OSV9LnhsLW1hcmdpbi10ZW4tbHJ7bWFyZ2luLWxlZnQ6MTAlO21hcmdpbi1yaWdodDoxMCV9LnhsLW1hcmdpbi1lbGV2ZW4tbHJ7bWFyZ2luLWxlZnQ6MTElO21hcmdpbi1yaWdodDoxMSV9LnhsLW1hcmdpbi10d2VsdmUtbHJ7bWFyZ2luLWxlZnQ6MTIlO21hcmdpbi1yaWdodDoxMiV9LnhsLW1hcmdpbi10aGlydGVlbi1scnttYXJnaW4tbGVmdDoxMyU7bWFyZ2luLXJpZ2h0OjEzJX0ueGwtbWFyZ2luLWZvdXJ0ZWVuLWxye21hcmdpbi1sZWZ0OjE0JTttYXJnaW4tcmlnaHQ6MTQlfS54bC1tYXJnaW4tZmlmdGVlbi1scnttYXJnaW4tbGVmdDoxNSU7bWFyZ2luLXJpZ2h0OjE1JX0ueGwtbWFyZ2luLXNpeHRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTYlO21hcmdpbi1yaWdodDoxNiV9LnhsLW1hcmdpbi1zZXZlbnRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTclO21hcmdpbi1yaWdodDoxNyV9LnhsLW1hcmdpbi1laWdodGVlbi1scnttYXJnaW4tbGVmdDoxOCU7bWFyZ2luLXJpZ2h0OjE4JX0ueGwtbWFyZ2luLW5pbmV0ZWVuLWxye21hcmdpbi1sZWZ0OjE5JTttYXJnaW4tcmlnaHQ6MTklfS54bC1tYXJnaW4tdHdlbnR5LWxye21hcmdpbi1sZWZ0OjIwJTttYXJnaW4tcmlnaHQ6MjAlfS54bC1tYXJnaW4tNXB4LWxye21hcmdpbi1sZWZ0OjVweDttYXJnaW4tcmlnaHQ6NXB4fS54bC1tYXJnaW4tMTBweC1scnttYXJnaW4tbGVmdDoxMHB4O21hcmdpbi1yaWdodDoxMHB4fS54bC1tYXJnaW4tMTVweC1scnttYXJnaW4tbGVmdDoxNXB4O21hcmdpbi1yaWdodDoxNXB4fS54bC1tYXJnaW4tMjBweC1scnttYXJnaW4tbGVmdDoyMHB4O21hcmdpbi1yaWdodDoyMHB4fS54bC1tYXJnaW4tMjVweC1scnttYXJnaW4tbGVmdDoyNXB4O21hcmdpbi1yaWdodDoyNXB4fS54bC1tYXJnaW4tMzBweC1scnttYXJnaW4tbGVmdDozMHB4O21hcmdpbi1yaWdodDozMHB4fS54bC1tYXJnaW4tMzVweC1scnttYXJnaW4tbGVmdDozNXB4O21hcmdpbi1yaWdodDozNXB4fS54bC1tYXJnaW4tNDBweC1scnttYXJnaW4tbGVmdDo0MHB4O21hcmdpbi1yaWdodDo0MHB4fS54bC1tYXJnaW4tNDVweC1scnttYXJnaW4tbGVmdDo0NXB4O21hcmdpbi1yaWdodDo0NXB4fS54bC1tYXJnaW4tNTBweC1scnttYXJnaW4tbGVmdDo1MHB4O21hcmdpbi1yaWdodDo1MHB4fS54bC1tYXJnaW4tNTVweC1scnttYXJnaW4tbGVmdDo1NXB4O21hcmdpbi1yaWdodDo1NXB4fS54bC1tYXJnaW4tNjBweC1scnttYXJnaW4tbGVmdDo2MHB4O21hcmdpbi1yaWdodDo2MHB4fS54bC1tYXJnaW4tNjVweC1scnttYXJnaW4tbGVmdDo2NXB4O21hcmdpbi1yaWdodDo2NXB4fS54bC1tYXJnaW4tNzBweC1scnttYXJnaW4tbGVmdDo3MHB4O21hcmdpbi1yaWdodDo3MHB4fS54bC1tYXJnaW4tNzVweC1scnttYXJnaW4tbGVmdDo3NXB4O21hcmdpbi1yaWdodDo3NXB4fS54bC1tYXJnaW4tODBweC1scnttYXJnaW4tbGVmdDo4MHB4O21hcmdpbi1yaWdodDo4MHB4fS54bC1tYXJnaW4tODVweC1scnttYXJnaW4tbGVmdDo4NXB4O21hcmdpbi1yaWdodDo4NXB4fS54bC1tYXJnaW4tOTBweC1scnttYXJnaW4tbGVmdDo5MHB4O21hcmdpbi1yaWdodDo5MHB4fS54bC1tYXJnaW4tOTVweC1scnttYXJnaW4tbGVmdDo5NXB4O21hcmdpbi1yaWdodDo5NXB4fS54bC1tYXJnaW4tMTAwcHgtbHJ7bWFyZ2luLWxlZnQ6MTAwcHg7bWFyZ2luLXJpZ2h0OjEwMHB4fS54bC1tYXJnaW4tMS1yZW0tbHJ7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6MXJlbX0ueGwtbWFyZ2luLTEtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6MS41cmVtO21hcmdpbi1yaWdodDoxLjVyZW19LnhsLW1hcmdpbi0yLXJlbS1scnttYXJnaW4tbGVmdDoycmVtO21hcmdpbi1yaWdodDoycmVtfS54bC1tYXJnaW4tMi1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDoyLjVyZW07bWFyZ2luLXJpZ2h0OjIuNXJlbX0ueGwtbWFyZ2luLTMtcmVtLWxye21hcmdpbi1sZWZ0OjNyZW07bWFyZ2luLXJpZ2h0OjNyZW19LnhsLW1hcmdpbi0zLWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjMuNXJlbTttYXJnaW4tcmlnaHQ6My41cmVtfS54bC1tYXJnaW4tNC1yZW0tbHJ7bWFyZ2luLWxlZnQ6NHJlbTttYXJnaW4tcmlnaHQ6NHJlbX0ueGwtbWFyZ2luLTQtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6NC41cmVtO21hcmdpbi1yaWdodDo0LjVyZW19LnhsLW1hcmdpbi01LXJlbS1scnttYXJnaW4tbGVmdDo1cmVtO21hcmdpbi1yaWdodDo1cmVtfS54bC1tYXJnaW4tNS1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo1LjVyZW07bWFyZ2luLXJpZ2h0OjUuNXJlbX0ueGwtbWFyZ2luLTYtcmVtLWxye21hcmdpbi1sZWZ0OjZyZW07bWFyZ2luLXJpZ2h0OjZyZW19LnhsLW1hcmdpbi02LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjYuNXJlbTttYXJnaW4tcmlnaHQ6Ni41cmVtfS54bC1tYXJnaW4tNy1yZW0tbHJ7bWFyZ2luLWxlZnQ6N3JlbTttYXJnaW4tcmlnaHQ6N3JlbX0ueGwtbWFyZ2luLTctaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6Ny41cmVtO21hcmdpbi1yaWdodDo3LjVyZW19LnhsLW1hcmdpbi04LXJlbS1scnttYXJnaW4tbGVmdDo4cmVtO21hcmdpbi1yaWdodDo4cmVtfS54bC1tYXJnaW4tOC1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo4LjVyZW07bWFyZ2luLXJpZ2h0OjguNXJlbX0ueGwtbWFyZ2luLTktcmVtLWxye21hcmdpbi1sZWZ0OjlyZW07bWFyZ2luLXJpZ2h0OjlyZW19LnhsLW1hcmdpbi05LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjkuNXJlbTttYXJnaW4tcmlnaHQ6OS41cmVtfS54bC1tYXJnaW4tMTAtcmVtLWxye21hcmdpbi1sZWZ0OjEwcmVtO21hcmdpbi1yaWdodDoxMHJlbX0ueGwtbWFyZ2luLTEwLWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjEwLjVyZW07bWFyZ2luLXJpZ2h0OjEwLjVyZW19LnhsLW1hcmdpbi1vbmUtdGJ7bWFyZ2luLXRvcDoxJTttYXJnaW4tYm90dG9tOjElfS54bC1tYXJnaW4tdHdvLXRie21hcmdpbi10b3A6MiU7bWFyZ2luLWJvdHRvbToyJX0ueGwtbWFyZ2luLXRocmVlLXRie21hcmdpbi10b3A6MyU7bWFyZ2luLWJvdHRvbTozJX0ueGwtbWFyZ2luLWZvdXItdGJ7bWFyZ2luLXRvcDo0JTttYXJnaW4tYm90dG9tOjQlfS54bC1tYXJnaW4tZml2ZS10YnttYXJnaW4tdG9wOjUlO21hcmdpbi1ib3R0b206NSV9LnhsLW1hcmdpbi1zaXgtdGJ7bWFyZ2luLXRvcDo2JTttYXJnaW4tYm90dG9tOjYlfS54bC1tYXJnaW4tc2V2ZW4tdGJ7bWFyZ2luLXRvcDo3JTttYXJnaW4tYm90dG9tOjclfS54bC1tYXJnaW4tZWlnaHQtdGJ7bWFyZ2luLXRvcDo4JTttYXJnaW4tYm90dG9tOjglfS54bC1tYXJnaW4tbmluZS10YnttYXJnaW4tdG9wOjklO21hcmdpbi1ib3R0b206OSV9LnhsLW1hcmdpbi10ZW4tdGJ7bWFyZ2luLXRvcDoxMCU7bWFyZ2luLWJvdHRvbToxMCV9LnhsLW1hcmdpbi1lbGV2ZW4tdGJ7bWFyZ2luLXRvcDoxMSU7bWFyZ2luLWJvdHRvbToxMSV9LnhsLW1hcmdpbi10d2VsdmUtdGJ7bWFyZ2luLXRvcDoxMiU7bWFyZ2luLWJvdHRvbToxMiV9LnhsLW1hcmdpbi10aGlydGVlbi10YnttYXJnaW4tdG9wOjEzJTttYXJnaW4tYm90dG9tOjEzJX0ueGwtbWFyZ2luLWZvdXJ0ZWVuLXRie21hcmdpbi10b3A6MTQlO21hcmdpbi1ib3R0b206MTQlfS54bC1tYXJnaW4tZmlmdGVlbi10YnttYXJnaW4tdG9wOjE1JTttYXJnaW4tYm90dG9tOjE1JX0ueGwtbWFyZ2luLXNpeHRlZW4tdGJ7bWFyZ2luLXRvcDoxNiU7bWFyZ2luLWJvdHRvbToxNiV9LnhsLW1hcmdpbi1zZXZlbnRlZW4tdGJ7bWFyZ2luLXRvcDoxNyU7bWFyZ2luLWJvdHRvbToxNyV9LnhsLW1hcmdpbi1laWdodGVlbi10YnttYXJnaW4tdG9wOjE4JTttYXJnaW4tYm90dG9tOjE4JX0ueGwtbWFyZ2luLW5pbmV0ZWVuLXRie21hcmdpbi10b3A6MTklO21hcmdpbi1ib3R0b206MTklfS54bC1tYXJnaW4tdHdlbnR5LXRie21hcmdpbi10b3A6MjAlO21hcmdpbi1ib3R0b206MjAlfS54bC1tYXJnaW4tNXB4LXRie21hcmdpbi10b3A6NXB4O21hcmdpbi1ib3R0b206NXB4fS54bC1tYXJnaW4tMTBweC10YnttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS54bC1tYXJnaW4tMTVweC10YnttYXJnaW4tdG9wOjE1cHg7bWFyZ2luLWJvdHRvbToxNXB4fS54bC1tYXJnaW4tMjBweC10YnttYXJnaW4tdG9wOjIwcHg7bWFyZ2luLWJvdHRvbToyMHB4fS54bC1tYXJnaW4tMjVweC10YnttYXJnaW4tdG9wOjI1cHg7bWFyZ2luLWJvdHRvbToyNXB4fS54bC1tYXJnaW4tMzBweC10YnttYXJnaW4tdG9wOjMwcHg7bWFyZ2luLWJvdHRvbTozMHB4fS54bC1tYXJnaW4tMzVweC10YnttYXJnaW4tdG9wOjM1cHg7bWFyZ2luLWJvdHRvbTozNXB4fS54bC1tYXJnaW4tNDBweC10YnttYXJnaW4tdG9wOjQwcHg7bWFyZ2luLWJvdHRvbTo0MHB4fS54bC1tYXJnaW4tNDVweC10YnttYXJnaW4tdG9wOjQ1cHg7bWFyZ2luLWJvdHRvbTo0NXB4fS54bC1tYXJnaW4tNTBweC10YnttYXJnaW4tdG9wOjUwcHg7bWFyZ2luLWJvdHRvbTo1MHB4fS54bC1tYXJnaW4tNTVweC10YnttYXJnaW4tdG9wOjU1cHg7bWFyZ2luLWJvdHRvbTo1NXB4fS54bC1tYXJnaW4tNjBweC10YnttYXJnaW4tdG9wOjYwcHg7bWFyZ2luLWJvdHRvbTo2MHB4fS54bC1tYXJnaW4tNjVweC10YnttYXJnaW4tdG9wOjY1cHg7bWFyZ2luLWJvdHRvbTo2NXB4fS54bC1tYXJnaW4tNzBweC10YnttYXJnaW4tdG9wOjcwcHg7bWFyZ2luLWJvdHRvbTo3MHB4fS54bC1tYXJnaW4tNzVweC10YnttYXJnaW4tdG9wOjc1cHg7bWFyZ2luLWJvdHRvbTo3NXB4fS54bC1tYXJnaW4tODBweC10YnttYXJnaW4tdG9wOjgwcHg7bWFyZ2luLWJvdHRvbTo4MHB4fS54bC1tYXJnaW4tODVweC10YnttYXJnaW4tdG9wOjg1cHg7bWFyZ2luLWJvdHRvbTo4NXB4fS54bC1tYXJnaW4tOTBweC10YnttYXJnaW4tdG9wOjkwcHg7bWFyZ2luLWJvdHRvbTo5MHB4fS54bC1tYXJnaW4tOTVweC10YnttYXJnaW4tdG9wOjk1cHg7bWFyZ2luLWJvdHRvbTo5NXB4fS54bC1tYXJnaW4tMTAwcHgtdGJ7bWFyZ2luLXRvcDoxMDBweDttYXJnaW4tYm90dG9tOjEwMHB4fS54bC1tYXJnaW4tMS1yZW0tdGJ7bWFyZ2luLXRvcDoxcmVtO21hcmdpbi1ib3R0b206MXJlbX0ueGwtbWFyZ2luLTEtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDoxLjVyZW07bWFyZ2luLWJvdHRvbToxLjVyZW19LnhsLW1hcmdpbi0yLXJlbS10YnttYXJnaW4tdG9wOjJyZW07bWFyZ2luLWJvdHRvbToycmVtfS54bC1tYXJnaW4tMi1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjIuNXJlbTttYXJnaW4tYm90dG9tOjIuNXJlbX0ueGwtbWFyZ2luLTMtcmVtLXRie21hcmdpbi10b3A6M3JlbTttYXJnaW4tYm90dG9tOjNyZW19LnhsLW1hcmdpbi0zLWhhbGYtcmVtLXRie21hcmdpbi10b3A6My41cmVtO21hcmdpbi1ib3R0b206My41cmVtfS54bC1tYXJnaW4tNC1yZW0tdGJ7bWFyZ2luLXRvcDo0cmVtO21hcmdpbi1ib3R0b206NHJlbX0ueGwtbWFyZ2luLTQtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo0LjVyZW07bWFyZ2luLWJvdHRvbTo0LjVyZW19LnhsLW1hcmdpbi01LXJlbS10YnttYXJnaW4tdG9wOjVyZW07bWFyZ2luLWJvdHRvbTo1cmVtfS54bC1tYXJnaW4tNS1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjUuNXJlbTttYXJnaW4tYm90dG9tOjUuNXJlbX0ueGwtbWFyZ2luLTYtcmVtLXRie21hcmdpbi10b3A6NnJlbTttYXJnaW4tYm90dG9tOjZyZW19LnhsLW1hcmdpbi02LWhhbGYtcmVtLXRie21hcmdpbi10b3A6Ni41cmVtO21hcmdpbi1ib3R0b206Ni41cmVtfS54bC1tYXJnaW4tNy1yZW0tdGJ7bWFyZ2luLXRvcDo3cmVtO21hcmdpbi1ib3R0b206N3JlbX0ueGwtbWFyZ2luLTctaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo3LjVyZW07bWFyZ2luLWJvdHRvbTo3LjVyZW19LnhsLW1hcmdpbi04LXJlbS10YnttYXJnaW4tdG9wOjhyZW07bWFyZ2luLWJvdHRvbTo4cmVtfS54bC1tYXJnaW4tOC1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjguNXJlbTttYXJnaW4tYm90dG9tOjguNXJlbX0ueGwtbWFyZ2luLTktcmVtLXRie21hcmdpbi10b3A6OXJlbTttYXJnaW4tYm90dG9tOjlyZW19LnhsLW1hcmdpbi05LWhhbGYtcmVtLXRie21hcmdpbi10b3A6OS41cmVtO21hcmdpbi1ib3R0b206OS41cmVtfS54bC1tYXJnaW4tMTAtcmVtLXRie21hcmdpbi10b3A6MTByZW07bWFyZ2luLWJvdHRvbToxMHJlbX0ueGwtbWFyZ2luLTEwLWhhbGYtcmVtLXRie21hcmdpbi10b3A6MTAuNXJlbTttYXJnaW4tYm90dG9tOjEwLjVyZW19LnhsLW1hcmdpbi1hdXRvLWxye21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50O21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ueGwtbWFyZ2luLWF1dG97bWFyZ2luOmF1dG99LnhsLW5vLW1hcmdpbnttYXJnaW46MCFpbXBvcnRhbnR9LnhsLW5vLW1hcmdpbi10b3B7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ueGwtbm8tbWFyZ2luLWJvdHRvbXttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50fS54bC1uby1tYXJnaW4tbGVmdHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ueGwtbm8tbWFyZ2luLXJpZ2h0e21hcmdpbi1yaWdodDowIWltcG9ydGFudH0ueGwtbm8tbWFyZ2luLXRie21hcmdpbi10b3A6MCFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ueGwtbm8tbWFyZ2luLWxye21hcmdpbi1yaWdodDowIWltcG9ydGFudDttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ueGwtcGFkZGluZy1vbmUtYWxse3BhZGRpbmc6MSV9LnhsLXBhZGRpbmctdHdvLWFsbHtwYWRkaW5nOjIlfS54bC1wYWRkaW5nLXRocmVlLWFsbHtwYWRkaW5nOjMlfS54bC1wYWRkaW5nLWZvdXItYWxse3BhZGRpbmc6NCV9LnhsLXBhZGRpbmctZml2ZS1hbGx7cGFkZGluZzo1JX0ueGwtcGFkZGluZy1zaXgtYWxse3BhZGRpbmc6NiV9LnhsLXBhZGRpbmctc2V2ZW4tYWxse3BhZGRpbmc6NyV9LnhsLXBhZGRpbmctZWlnaHQtYWxse3BhZGRpbmc6OCV9LnhsLXBhZGRpbmctbmluZS1hbGx7cGFkZGluZzo5JX0ueGwtcGFkZGluZy10ZW4tYWxse3BhZGRpbmc6MTAlfS54bC1wYWRkaW5nLWVsZXZlbi1hbGx7cGFkZGluZzoxMSV9LnhsLXBhZGRpbmctdHdlbHZlLWFsbHtwYWRkaW5nOjEyJX0ueGwtcGFkZGluZy10aGlydGVlbi1hbGx7cGFkZGluZzoxMyV9LnhsLXBhZGRpbmctZm91cnRlZW4tYWxse3BhZGRpbmc6MTQlfS54bC1wYWRkaW5nLWZpZnRlZW4tYWxse3BhZGRpbmc6MTUlfS54bC1wYWRkaW5nLXNpeHRlZW4tYWxse3BhZGRpbmc6MTYlfS54bC1wYWRkaW5nLXNldmVudGVlbi1hbGx7cGFkZGluZzoxNyV9LnhsLXBhZGRpbmctZWlnaHRlZW4tYWxse3BhZGRpbmc6MTglfS54bC1wYWRkaW5nLW5pbmV0ZWVuLWFsbHtwYWRkaW5nOjE5JX0ueGwtcGFkZGluZy10d2VudHktYWxse3BhZGRpbmc6MjAlfS54bC1wYWRkaW5nLTVweC1hbGx7cGFkZGluZzo1cHh9LnhsLXBhZGRpbmctMTBweC1hbGx7cGFkZGluZzoxMHB4fS54bC1wYWRkaW5nLTE1cHgtYWxse3BhZGRpbmc6MTVweH0ueGwtcGFkZGluZy0yMHB4LWFsbHtwYWRkaW5nOjIwcHh9LnhsLXBhZGRpbmctMjVweC1hbGx7cGFkZGluZzoyNXB4fS54bC1wYWRkaW5nLTMwcHgtYWxse3BhZGRpbmc6MzBweH0ueGwtcGFkZGluZy0zNXB4LWFsbHtwYWRkaW5nOjM1cHh9LnhsLXBhZGRpbmctNDBweC1hbGx7cGFkZGluZzo0MHB4fS54bC1wYWRkaW5nLTQ1cHgtYWxse3BhZGRpbmc6NDVweH0ueGwtcGFkZGluZy01MHB4LWFsbHtwYWRkaW5nOjUwcHh9LnhsLXBhZGRpbmctNTVweC1hbGx7cGFkZGluZzo1NXB4fS54bC1wYWRkaW5nLTYwcHgtYWxse3BhZGRpbmc6NjBweH0ueGwtcGFkZGluZy02NXB4LWFsbHtwYWRkaW5nOjY1cHh9LnhsLXBhZGRpbmctNzBweC1hbGx7cGFkZGluZzo3MHB4fS54bC1wYWRkaW5nLTc1cHgtYWxse3BhZGRpbmc6NzVweH0ueGwtcGFkZGluZy04MHB4LWFsbHtwYWRkaW5nOjgwcHh9LnhsLXBhZGRpbmctODVweC1hbGx7cGFkZGluZzo4NXB4fS54bC1wYWRkaW5nLTkwcHgtYWxse3BhZGRpbmc6OTBweH0ueGwtcGFkZGluZy05NXB4LWFsbHtwYWRkaW5nOjk1cHh9LnhsLXBhZGRpbmctMTAwcHgtYWxse3BhZGRpbmc6MTAwcHh9LnhsLXBhZGRpbmctMS1yZW0tYWxse3BhZGRpbmc6MXJlbX0ueGwtcGFkZGluZy0xLWhhbGYtcmVtLWFsbHtwYWRkaW5nOjEuNXJlbX0ueGwtcGFkZGluZy0yLXJlbS1hbGx7cGFkZGluZzoycmVtfS54bC1wYWRkaW5nLTItaGFsZi1yZW0tYWxse3BhZGRpbmc6Mi41cmVtfS54bC1wYWRkaW5nLTMtcmVtLWFsbHtwYWRkaW5nOjNyZW19LnhsLXBhZGRpbmctMy1oYWxmLXJlbS1hbGx7cGFkZGluZzozLjVyZW19LnhsLXBhZGRpbmctNC1yZW0tYWxse3BhZGRpbmc6NHJlbX0ueGwtcGFkZGluZy00LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjQuNXJlbX0ueGwtcGFkZGluZy01LXJlbS1hbGx7cGFkZGluZzo1cmVtfS54bC1wYWRkaW5nLTUtaGFsZi1yZW0tYWxse3BhZGRpbmc6NS41cmVtfS54bC1wYWRkaW5nLTYtcmVtLWFsbHtwYWRkaW5nOjZyZW19LnhsLXBhZGRpbmctNi1oYWxmLXJlbS1hbGx7cGFkZGluZzo2LjVyZW19LnhsLXBhZGRpbmctNy1yZW0tYWxse3BhZGRpbmc6N3JlbX0ueGwtcGFkZGluZy03LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjcuNXJlbX0ueGwtcGFkZGluZy04LXJlbS1hbGx7cGFkZGluZzo4cmVtfS54bC1wYWRkaW5nLTgtaGFsZi1yZW0tYWxse3BhZGRpbmc6OC41cmVtfS54bC1wYWRkaW5nLTktcmVtLWFsbHtwYWRkaW5nOjlyZW19LnhsLXBhZGRpbmctOS1oYWxmLXJlbS1hbGx7cGFkZGluZzo5LjVyZW19LnhsLXBhZGRpbmctMTAtcmVtLWFsbHtwYWRkaW5nOjEwcmVtfS54bC1wYWRkaW5nLTEwLWhhbGYtcmVtLWFsbHtwYWRkaW5nOjEwLjVyZW19LnhsLXBhZGRpbmctb25lLXRvcHtwYWRkaW5nLXRvcDoxJX0ueGwtcGFkZGluZy10d28tdG9we3BhZGRpbmctdG9wOjIlfS54bC1wYWRkaW5nLXRocmVlLXRvcHtwYWRkaW5nLXRvcDozJX0ueGwtcGFkZGluZy1mb3VyLXRvcHtwYWRkaW5nLXRvcDo0JX0ueGwtcGFkZGluZy1maXZlLXRvcHtwYWRkaW5nLXRvcDo1JX0ueGwtcGFkZGluZy1zaXgtdG9we3BhZGRpbmctdG9wOjYlfS54bC1wYWRkaW5nLXNldmVuLXRvcHtwYWRkaW5nLXRvcDo3JX0ueGwtcGFkZGluZy1laWdodC10b3B7cGFkZGluZy10b3A6OCV9LnhsLXBhZGRpbmctbmluZS10b3B7cGFkZGluZy10b3A6OSV9LnhsLXBhZGRpbmctdGVuLXRvcHtwYWRkaW5nLXRvcDoxMCV9LnhsLXBhZGRpbmctZWxldmVuLXRvcHtwYWRkaW5nLXRvcDoxMSV9LnhsLXBhZGRpbmctdHdlbHZlLXRvcHtwYWRkaW5nLXRvcDoxMiV9LnhsLXBhZGRpbmctdGhpcnRlZW4tdG9we3BhZGRpbmctdG9wOjEzJX0ueGwtcGFkZGluZy1mb3VydGVlbi10b3B7cGFkZGluZy10b3A6MTQlfS54bC1wYWRkaW5nLWZpZnRlZW4tdG9we3BhZGRpbmctdG9wOjE1JX0ueGwtcGFkZGluZy1zaXh0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxNiV9LnhsLXBhZGRpbmctc2V2ZW50ZWVuLXRvcHtwYWRkaW5nLXRvcDoxNyV9LnhsLXBhZGRpbmctZWlnaHRlZW4tdG9we3BhZGRpbmctdG9wOjE4JX0ueGwtcGFkZGluZy1uaW5ldGVlbi10b3B7cGFkZGluZy10b3A6MTklfS54bC1wYWRkaW5nLXR3ZW50eS10b3B7cGFkZGluZy10b3A6MjAlfS54bC1wYWRkaW5nLTVweC10b3B7cGFkZGluZy10b3A6NXB4fS54bC1wYWRkaW5nLTEwcHgtdG9we3BhZGRpbmctdG9wOjEwcHh9LnhsLXBhZGRpbmctMTVweC10b3B7cGFkZGluZy10b3A6MTVweH0ueGwtcGFkZGluZy0yMHB4LXRvcHtwYWRkaW5nLXRvcDoyMHB4fS54bC1wYWRkaW5nLTI1cHgtdG9we3BhZGRpbmctdG9wOjI1cHh9LnhsLXBhZGRpbmctMzBweC10b3B7cGFkZGluZy10b3A6MzBweH0ueGwtcGFkZGluZy0zNXB4LXRvcHtwYWRkaW5nLXRvcDozNXB4fS54bC1wYWRkaW5nLTQwcHgtdG9we3BhZGRpbmctdG9wOjQwcHh9LnhsLXBhZGRpbmctNDVweC10b3B7cGFkZGluZy10b3A6NDVweH0ueGwtcGFkZGluZy01MHB4LXRvcHtwYWRkaW5nLXRvcDo1MHB4fS54bC1wYWRkaW5nLTU1cHgtdG9we3BhZGRpbmctdG9wOjU1cHh9LnhsLXBhZGRpbmctNjBweC10b3B7cGFkZGluZy10b3A6NjBweH0ueGwtcGFkZGluZy02NXB4LXRvcHtwYWRkaW5nLXRvcDo2NXB4fS54bC1wYWRkaW5nLTcwcHgtdG9we3BhZGRpbmctdG9wOjcwcHh9LnhsLXBhZGRpbmctNzVweC10b3B7cGFkZGluZy10b3A6NzVweH0ueGwtcGFkZGluZy04MHB4LXRvcHtwYWRkaW5nLXRvcDo4MHB4fS54bC1wYWRkaW5nLTg1cHgtdG9we3BhZGRpbmctdG9wOjg1cHh9LnhsLXBhZGRpbmctOTBweC10b3B7cGFkZGluZy10b3A6OTBweH0ueGwtcGFkZGluZy05NXB4LXRvcHtwYWRkaW5nLXRvcDo5NXB4fS54bC1wYWRkaW5nLTEwMHB4LXRvcHtwYWRkaW5nLXRvcDoxMDBweH0ueGwtcGFkZGluZy0xLXJlbS10b3B7cGFkZGluZy10b3A6MXJlbX0ueGwtcGFkZGluZy0xLWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDoxLjVyZW19LnhsLXBhZGRpbmctMi1yZW0tdG9we3BhZGRpbmctdG9wOjJyZW19LnhsLXBhZGRpbmctMi1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6Mi41cmVtfS54bC1wYWRkaW5nLTMtcmVtLXRvcHtwYWRkaW5nLXRvcDozcmVtfS54bC1wYWRkaW5nLTMtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjMuNXJlbX0ueGwtcGFkZGluZy00LXJlbS10b3B7cGFkZGluZy10b3A6NHJlbX0ueGwtcGFkZGluZy00LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo0LjVyZW19LnhsLXBhZGRpbmctNS1yZW0tdG9we3BhZGRpbmctdG9wOjVyZW19LnhsLXBhZGRpbmctNS1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6NS41cmVtfS54bC1wYWRkaW5nLTYtcmVtLXRvcHtwYWRkaW5nLXRvcDo2cmVtfS54bC1wYWRkaW5nLTYtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjYuNXJlbX0ueGwtcGFkZGluZy03LXJlbS10b3B7cGFkZGluZy10b3A6N3JlbX0ueGwtcGFkZGluZy03LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo3LjVyZW19LnhsLXBhZGRpbmctOC1yZW0tdG9we3BhZGRpbmctdG9wOjhyZW19LnhsLXBhZGRpbmctOC1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6OC41cmVtfS54bC1wYWRkaW5nLTktcmVtLXRvcHtwYWRkaW5nLXRvcDo5cmVtfS54bC1wYWRkaW5nLTktaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjkuNXJlbX0ueGwtcGFkZGluZy0xMC1yZW0tdG9we3BhZGRpbmctdG9wOjEwcmVtfS54bC1wYWRkaW5nLTEwLWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDoxMC41cmVtfS54bC1wYWRkaW5nLW9uZS1ib3R0b217cGFkZGluZy1ib3R0b206MSV9LnhsLXBhZGRpbmctdHdvLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToyJX0ueGwtcGFkZGluZy10aHJlZS1ib3R0b217cGFkZGluZy1ib3R0b206MyV9LnhsLXBhZGRpbmctZm91ci1ib3R0b217cGFkZGluZy1ib3R0b206NCV9LnhsLXBhZGRpbmctZml2ZS1ib3R0b217cGFkZGluZy1ib3R0b206NSV9LnhsLXBhZGRpbmctc2l4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo2JX0ueGwtcGFkZGluZy1zZXZlbi1ib3R0b217cGFkZGluZy1ib3R0b206NyV9LnhsLXBhZGRpbmctZWlnaHQtYm90dG9te3BhZGRpbmctYm90dG9tOjglfS54bC1wYWRkaW5nLW5pbmUtYm90dG9te3BhZGRpbmctYm90dG9tOjklfS54bC1wYWRkaW5nLXRlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTAlfS54bC1wYWRkaW5nLWVsZXZlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTElfS54bC1wYWRkaW5nLXR3ZWx2ZS1ib3R0b217cGFkZGluZy1ib3R0b206MTIlfS54bC1wYWRkaW5nLXRoaXJ0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMyV9LnhsLXBhZGRpbmctZm91cnRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE0JX0ueGwtcGFkZGluZy1maWZ0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxNSV9LnhsLXBhZGRpbmctc2l4dGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTYlfS54bC1wYWRkaW5nLXNldmVudGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTclfS54bC1wYWRkaW5nLWVpZ2h0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxOCV9LnhsLXBhZGRpbmctbmluZXRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE5JX0ueGwtcGFkZGluZy10d2VudHktYm90dG9te3BhZGRpbmctYm90dG9tOjIwJX0ueGwtcGFkZGluZy01cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjVweH0ueGwtcGFkZGluZy0xMHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMHB4fS54bC1wYWRkaW5nLTE1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjE1cHh9LnhsLXBhZGRpbmctMjBweC1ib3R0b217cGFkZGluZy1ib3R0b206MjBweH0ueGwtcGFkZGluZy0yNXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToyNXB4fS54bC1wYWRkaW5nLTMwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjMwcHh9LnhsLXBhZGRpbmctMzVweC1ib3R0b217cGFkZGluZy1ib3R0b206MzVweH0ueGwtcGFkZGluZy00MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo0MHB4fS54bC1wYWRkaW5nLTQ1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjQ1cHh9LnhsLXBhZGRpbmctNTBweC1ib3R0b217cGFkZGluZy1ib3R0b206NTBweH0ueGwtcGFkZGluZy01NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1NXB4fS54bC1wYWRkaW5nLTYwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjYwcHh9LnhsLXBhZGRpbmctNjVweC1ib3R0b217cGFkZGluZy1ib3R0b206NjVweH0ueGwtcGFkZGluZy03MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo3MHB4fS54bC1wYWRkaW5nLTc1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjc1cHh9LnhsLXBhZGRpbmctODBweC1ib3R0b217cGFkZGluZy1ib3R0b206ODBweH0ueGwtcGFkZGluZy04NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo4NXB4fS54bC1wYWRkaW5nLTkwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjkwcHh9LnhsLXBhZGRpbmctOTVweC1ib3R0b217cGFkZGluZy1ib3R0b206OTVweH0ueGwtcGFkZGluZy0xMDBweC1ib3R0b217cGFkZGluZy1ib3R0b206MTAwcHh9LnhsLXBhZGRpbmctMS1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjFyZW19LnhsLXBhZGRpbmctMS1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206MS41cmVtfS54bC1wYWRkaW5nLTItcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToycmVtfS54bC1wYWRkaW5nLTItaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjIuNXJlbX0ueGwtcGFkZGluZy0zLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206M3JlbX0ueGwtcGFkZGluZy0zLWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTozLjVyZW19LnhsLXBhZGRpbmctNC1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjRyZW19LnhsLXBhZGRpbmctNC1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206NC41cmVtfS54bC1wYWRkaW5nLTUtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1cmVtfS54bC1wYWRkaW5nLTUtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjUuNXJlbX0ueGwtcGFkZGluZy02LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206NnJlbX0ueGwtcGFkZGluZy02LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo2LjVyZW19LnhsLXBhZGRpbmctNy1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjdyZW19LnhsLXBhZGRpbmctNy1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206Ny41cmVtfS54bC1wYWRkaW5nLTgtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo4cmVtfS54bC1wYWRkaW5nLTgtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjguNXJlbX0ueGwtcGFkZGluZy05LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206OXJlbX0ueGwtcGFkZGluZy05LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo5LjVyZW19LnhsLXBhZGRpbmctMTAtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMHJlbX0ueGwtcGFkZGluZy0xMC1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206MTAuNXJlbX0ueGwtcGFkZGluZy1vbmUtcmlnaHR7cGFkZGluZy1yaWdodDoxJX0ueGwtcGFkZGluZy10d28tcmlnaHR7cGFkZGluZy1yaWdodDoyJX0ueGwtcGFkZGluZy10aHJlZS1yaWdodHtwYWRkaW5nLXJpZ2h0OjMlfS54bC1wYWRkaW5nLWZvdXItcmlnaHR7cGFkZGluZy1yaWdodDo0JX0ueGwtcGFkZGluZy1maXZlLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NSV9LnhsLXBhZGRpbmctc2l4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NiV9LnhsLXBhZGRpbmctc2V2ZW4tcmlnaHR7cGFkZGluZy1yaWdodDo3JX0ueGwtcGFkZGluZy1laWdodC1yaWdodHtwYWRkaW5nLXJpZ2h0OjglfS54bC1wYWRkaW5nLW5pbmUtcmlnaHR7cGFkZGluZy1yaWdodDo5JX0ueGwtcGFkZGluZy10ZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxMCV9LnhsLXBhZGRpbmctZWxldmVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTElfS54bC1wYWRkaW5nLXR3ZWx2ZS1yaWdodHtwYWRkaW5nLXJpZ2h0OjEyJX0ueGwtcGFkZGluZy10aGlydGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjEzJX0ueGwtcGFkZGluZy1mb3VydGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE0JX0ueGwtcGFkZGluZy1maWZ0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTUlfS54bC1wYWRkaW5nLXNpeHRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxNiV9LnhsLXBhZGRpbmctc2V2ZW50ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTclfS54bC1wYWRkaW5nLWVpZ2h0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTglfS54bC1wYWRkaW5nLW5pbmV0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTklfS54bC1wYWRkaW5nLXR3ZW50eS1yaWdodHtwYWRkaW5nLXJpZ2h0OjIwJX0ueGwtcGFkZGluZy01cHgtcmlnaHR7cGFkZGluZy1yaWdodDo1cHh9LnhsLXBhZGRpbmctMTBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjEwcHh9LnhsLXBhZGRpbmctMTVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjE1cHh9LnhsLXBhZGRpbmctMjBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjIwcHh9LnhsLXBhZGRpbmctMjVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjI1cHh9LnhsLXBhZGRpbmctMzBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjMwcHh9LnhsLXBhZGRpbmctMzVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjM1cHh9LnhsLXBhZGRpbmctNDBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjQwcHh9LnhsLXBhZGRpbmctNDVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjQ1cHh9LnhsLXBhZGRpbmctNTBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjUwcHh9LnhsLXBhZGRpbmctNTVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjU1cHh9LnhsLXBhZGRpbmctNjBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjYwcHh9LnhsLXBhZGRpbmctNjVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjY1cHh9LnhsLXBhZGRpbmctNzBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjcwcHh9LnhsLXBhZGRpbmctNzVweC1yaWdodHtwYWRkaW5nLXJpZ2h0Ojc1cHh9LnhsLXBhZGRpbmctODBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjgwcHh9LnhsLXBhZGRpbmctODVweC1yaWdodHtwYWRkaW5nLXJpZ2h0Ojg1cHh9LnhsLXBhZGRpbmctOTBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjkwcHh9LnhsLXBhZGRpbmctOTVweC1yaWdodHtwYWRkaW5nLXJpZ2h0Ojk1cHh9LnhsLXBhZGRpbmctMTAwcHgtcmlnaHR7cGFkZGluZy1yaWdodDoxMDBweH0ueGwtcGFkZGluZy0xLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjFyZW19LnhsLXBhZGRpbmctMS1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjEuNXJlbX0ueGwtcGFkZGluZy0yLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjJyZW19LnhsLXBhZGRpbmctMi1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjIuNXJlbX0ueGwtcGFkZGluZy0zLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjNyZW19LnhsLXBhZGRpbmctMy1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjMuNXJlbX0ueGwtcGFkZGluZy00LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjRyZW19LnhsLXBhZGRpbmctNC1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjQuNXJlbX0ueGwtcGFkZGluZy01LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjVyZW19LnhsLXBhZGRpbmctNS1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjUuNXJlbX0ueGwtcGFkZGluZy02LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjZyZW19LnhsLXBhZGRpbmctNi1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjYuNXJlbX0ueGwtcGFkZGluZy03LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjdyZW19LnhsLXBhZGRpbmctNy1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjcuNXJlbX0ueGwtcGFkZGluZy04LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjhyZW19LnhsLXBhZGRpbmctOC1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjguNXJlbX0ueGwtcGFkZGluZy05LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjlyZW19LnhsLXBhZGRpbmctOS1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjkuNXJlbX0ueGwtcGFkZGluZy0xMC1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoxMHJlbX0ueGwtcGFkZGluZy0xMC1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjEwLjVyZW19LnhsLXBhZGRpbmctb25lLWxlZnR7cGFkZGluZy1sZWZ0OjElfS54bC1wYWRkaW5nLXR3by1sZWZ0e3BhZGRpbmctbGVmdDoyJX0ueGwtcGFkZGluZy10aHJlZS1sZWZ0e3BhZGRpbmctbGVmdDozJX0ueGwtcGFkZGluZy1mb3VyLWxlZnR7cGFkZGluZy1sZWZ0OjQlfS54bC1wYWRkaW5nLWZpdmUtbGVmdHtwYWRkaW5nLWxlZnQ6NSV9LnhsLXBhZGRpbmctc2l4LWxlZnR7cGFkZGluZy1sZWZ0OjYlfS54bC1wYWRkaW5nLXNldmVuLWxlZnR7cGFkZGluZy1sZWZ0OjclfS54bC1wYWRkaW5nLWVpZ2h0LWxlZnR7cGFkZGluZy1sZWZ0OjglfS54bC1wYWRkaW5nLW5pbmUtbGVmdHtwYWRkaW5nLWxlZnQ6OSV9LnhsLXBhZGRpbmctdGVuLWxlZnR7cGFkZGluZy1sZWZ0OjEwJX0ueGwtcGFkZGluZy1lbGV2ZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTElfS54bC1wYWRkaW5nLXR3ZWx2ZS1sZWZ0e3BhZGRpbmctbGVmdDoxMiV9LnhsLXBhZGRpbmctdGhpcnRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTMlfS54bC1wYWRkaW5nLWZvdXJ0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE0JX0ueGwtcGFkZGluZy1maWZ0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE1JX0ueGwtcGFkZGluZy1zaXh0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE2JX0ueGwtcGFkZGluZy1zZXZlbnRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTclfS54bC1wYWRkaW5nLWVpZ2h0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE4JX0ueGwtcGFkZGluZy1uaW5ldGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxOSV9LnhsLXBhZGRpbmctdHdlbnR5LWxlZnR7cGFkZGluZy1sZWZ0OjIwJX0ueGwtcGFkZGluZy01cHgtbGVmdHtwYWRkaW5nLWxlZnQ6NXB4fS54bC1wYWRkaW5nLTEwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6MTBweH0ueGwtcGFkZGluZy0xNXB4LWxlZnR7cGFkZGluZy1sZWZ0OjE1cHh9LnhsLXBhZGRpbmctMjBweC1sZWZ0e3BhZGRpbmctbGVmdDoyMHB4fS54bC1wYWRkaW5nLTI1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6MjVweH0ueGwtcGFkZGluZy0zMHB4LWxlZnR7cGFkZGluZy1sZWZ0OjMwcHh9LnhsLXBhZGRpbmctMzVweC1sZWZ0e3BhZGRpbmctbGVmdDozNXB4fS54bC1wYWRkaW5nLTQwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6NDBweH0ueGwtcGFkZGluZy00NXB4LWxlZnR7cGFkZGluZy1sZWZ0OjQ1cHh9LnhsLXBhZGRpbmctNTBweC1sZWZ0e3BhZGRpbmctbGVmdDo1MHB4fS54bC1wYWRkaW5nLTU1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6NTVweH0ueGwtcGFkZGluZy02MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjYwcHh9LnhsLXBhZGRpbmctNjVweC1sZWZ0e3BhZGRpbmctbGVmdDo2NXB4fS54bC1wYWRkaW5nLTcwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6NzBweH0ueGwtcGFkZGluZy03NXB4LWxlZnR7cGFkZGluZy1sZWZ0Ojc1cHh9LnhsLXBhZGRpbmctODBweC1sZWZ0e3BhZGRpbmctbGVmdDo4MHB4fS54bC1wYWRkaW5nLTg1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6ODVweH0ueGwtcGFkZGluZy05MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjkwcHh9LnhsLXBhZGRpbmctOTVweC1sZWZ0e3BhZGRpbmctbGVmdDo5NXB4fS54bC1wYWRkaW5nLTEwMHB4LWxlZnR7cGFkZGluZy1sZWZ0OjEwMHB4fS54bC1wYWRkaW5nLTEtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjFyZW19LnhsLXBhZGRpbmctMS1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoxLjVyZW19LnhsLXBhZGRpbmctMi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6MnJlbX0ueGwtcGFkZGluZy0yLWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjIuNXJlbX0ueGwtcGFkZGluZy0zLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDozcmVtfS54bC1wYWRkaW5nLTMtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6My41cmVtfS54bC1wYWRkaW5nLTQtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjRyZW19LnhsLXBhZGRpbmctNC1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo0LjVyZW19LnhsLXBhZGRpbmctNS1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6NXJlbX0ueGwtcGFkZGluZy01LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjUuNXJlbX0ueGwtcGFkZGluZy02LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo2cmVtfS54bC1wYWRkaW5nLTYtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6Ni41cmVtfS54bC1wYWRkaW5nLTctcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjdyZW19LnhsLXBhZGRpbmctNy1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo3LjVyZW19LnhsLXBhZGRpbmctOC1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6OHJlbX0ueGwtcGFkZGluZy04LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjguNXJlbX0ueGwtcGFkZGluZy05LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo5cmVtfS54bC1wYWRkaW5nLTktaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6OS41cmVtfS54bC1wYWRkaW5nLTEwLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoxMHJlbX0ueGwtcGFkZGluZy0xMC1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoxMC41cmVtfS54bC1wYWRkaW5nLW9uZS10YntwYWRkaW5nLXRvcDoxJTtwYWRkaW5nLWJvdHRvbToxJX0ueGwtcGFkZGluZy10d28tdGJ7cGFkZGluZy10b3A6MiU7cGFkZGluZy1ib3R0b206MiV9LnhsLXBhZGRpbmctdGhyZWUtdGJ7cGFkZGluZy10b3A6MyU7cGFkZGluZy1ib3R0b206MyV9LnhsLXBhZGRpbmctZm91ci10YntwYWRkaW5nLXRvcDo0JTtwYWRkaW5nLWJvdHRvbTo0JX0ueGwtcGFkZGluZy1maXZlLXRie3BhZGRpbmctdG9wOjUlO3BhZGRpbmctYm90dG9tOjUlfS54bC1wYWRkaW5nLXNpeC10YntwYWRkaW5nLXRvcDo2JTtwYWRkaW5nLWJvdHRvbTo2JX0ueGwtcGFkZGluZy1zZXZlbi10YntwYWRkaW5nLXRvcDo3JTtwYWRkaW5nLWJvdHRvbTo3JX0ueGwtcGFkZGluZy1laWdodC10YntwYWRkaW5nLXRvcDo4JTtwYWRkaW5nLWJvdHRvbTo4JX0ueGwtcGFkZGluZy1uaW5lLXRie3BhZGRpbmctdG9wOjklO3BhZGRpbmctYm90dG9tOjklfS54bC1wYWRkaW5nLXRlbi10YntwYWRkaW5nLXRvcDoxMCU7cGFkZGluZy1ib3R0b206MTAlfS54bC1wYWRkaW5nLWVsZXZlbi10YntwYWRkaW5nLXRvcDoxMSU7cGFkZGluZy1ib3R0b206MTElfS54bC1wYWRkaW5nLXR3ZWx2ZS10YntwYWRkaW5nLXRvcDoxMiU7cGFkZGluZy1ib3R0b206MTIlfS54bC1wYWRkaW5nLXRoaXJ0ZWVuLXRie3BhZGRpbmctdG9wOjEzJTtwYWRkaW5nLWJvdHRvbToxMyV9LnhsLXBhZGRpbmctZm91cnRlZW4tdGJ7cGFkZGluZy10b3A6MTQlO3BhZGRpbmctYm90dG9tOjE0JX0ueGwtcGFkZGluZy1maWZ0ZWVuLXRie3BhZGRpbmctdG9wOjE1JTtwYWRkaW5nLWJvdHRvbToxNSV9LnhsLXBhZGRpbmctc2l4dGVlbi10YntwYWRkaW5nLXRvcDoxNiU7cGFkZGluZy1ib3R0b206MTYlfS54bC1wYWRkaW5nLXNldmVudGVlbi10YntwYWRkaW5nLXRvcDoxNyU7cGFkZGluZy1ib3R0b206MTclfS54bC1wYWRkaW5nLWVpZ2h0ZWVuLXRie3BhZGRpbmctdG9wOjE4JTtwYWRkaW5nLWJvdHRvbToxOCV9LnhsLXBhZGRpbmctbmluZXRlZW4tdGJ7cGFkZGluZy10b3A6MTklO3BhZGRpbmctYm90dG9tOjE5JX0ueGwtcGFkZGluZy10d2VudHktdGJ7cGFkZGluZy10b3A6MjAlO3BhZGRpbmctYm90dG9tOjIwJX0ueGwtcGFkZGluZy01cHgtdGJ7cGFkZGluZy10b3A6NXB4O3BhZGRpbmctYm90dG9tOjVweH0ueGwtcGFkZGluZy0xMHB4LXRie3BhZGRpbmctdG9wOjEwcHg7cGFkZGluZy1ib3R0b206MTBweH0ueGwtcGFkZGluZy0xNXB4LXRie3BhZGRpbmctdG9wOjE1cHg7cGFkZGluZy1ib3R0b206MTVweH0ueGwtcGFkZGluZy0yMHB4LXRie3BhZGRpbmctdG9wOjIwcHg7cGFkZGluZy1ib3R0b206MjBweH0ueGwtcGFkZGluZy0yNXB4LXRie3BhZGRpbmctdG9wOjI1cHg7cGFkZGluZy1ib3R0b206MjVweH0ueGwtcGFkZGluZy0zMHB4LXRie3BhZGRpbmctdG9wOjMwcHg7cGFkZGluZy1ib3R0b206MzBweH0ueGwtcGFkZGluZy0zNXB4LXRie3BhZGRpbmctdG9wOjM1cHg7cGFkZGluZy1ib3R0b206MzVweH0ueGwtcGFkZGluZy00MHB4LXRie3BhZGRpbmctdG9wOjQwcHg7cGFkZGluZy1ib3R0b206NDBweH0ueGwtcGFkZGluZy00NXB4LXRie3BhZGRpbmctdG9wOjQ1cHg7cGFkZGluZy1ib3R0b206NDVweH0ueGwtcGFkZGluZy01MHB4LXRie3BhZGRpbmctdG9wOjUwcHg7cGFkZGluZy1ib3R0b206NTBweH0ueGwtcGFkZGluZy01NXB4LXRie3BhZGRpbmctdG9wOjU1cHg7cGFkZGluZy1ib3R0b206NTVweH0ueGwtcGFkZGluZy02MHB4LXRie3BhZGRpbmctdG9wOjYwcHg7cGFkZGluZy1ib3R0b206NjBweH0ueGwtcGFkZGluZy02NXB4LXRie3BhZGRpbmctdG9wOjY1cHg7cGFkZGluZy1ib3R0b206NjVweH0ueGwtcGFkZGluZy03MHB4LXRie3BhZGRpbmctdG9wOjcwcHg7cGFkZGluZy1ib3R0b206NzBweH0ueGwtcGFkZGluZy03NXB4LXRie3BhZGRpbmctdG9wOjc1cHg7cGFkZGluZy1ib3R0b206NzVweH0ueGwtcGFkZGluZy04MHB4LXRie3BhZGRpbmctdG9wOjgwcHg7cGFkZGluZy1ib3R0b206ODBweH0ueGwtcGFkZGluZy04NXB4LXRie3BhZGRpbmctdG9wOjg1cHg7cGFkZGluZy1ib3R0b206ODVweH0ueGwtcGFkZGluZy05MHB4LXRie3BhZGRpbmctdG9wOjkwcHg7cGFkZGluZy1ib3R0b206OTBweH0ueGwtcGFkZGluZy05NXB4LXRie3BhZGRpbmctdG9wOjk1cHg7cGFkZGluZy1ib3R0b206OTVweH0ueGwtcGFkZGluZy0xMDBweC10YntwYWRkaW5nLXRvcDoxMDBweDtwYWRkaW5nLWJvdHRvbToxMDBweH0ueGwtcGFkZGluZy0xLXJlbS10YntwYWRkaW5nLXRvcDoxcmVtO3BhZGRpbmctYm90dG9tOjFyZW19LnhsLXBhZGRpbmctMS1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDoxLjVyZW07cGFkZGluZy1ib3R0b206MS41cmVtfS54bC1wYWRkaW5nLTItcmVtLXRie3BhZGRpbmctdG9wOjJyZW07cGFkZGluZy1ib3R0b206MnJlbX0ueGwtcGFkZGluZy0yLWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjIuNXJlbTtwYWRkaW5nLWJvdHRvbToyLjVyZW19LnhsLXBhZGRpbmctMy1yZW0tdGJ7cGFkZGluZy10b3A6M3JlbTtwYWRkaW5nLWJvdHRvbTozcmVtfS54bC1wYWRkaW5nLTMtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6My41cmVtO3BhZGRpbmctYm90dG9tOjMuNXJlbX0ueGwtcGFkZGluZy00LXJlbS10YntwYWRkaW5nLXRvcDo0cmVtO3BhZGRpbmctYm90dG9tOjRyZW19LnhsLXBhZGRpbmctNC1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo0LjVyZW07cGFkZGluZy1ib3R0b206NC41cmVtfS54bC1wYWRkaW5nLTUtcmVtLXRie3BhZGRpbmctdG9wOjVyZW07cGFkZGluZy1ib3R0b206NXJlbX0ueGwtcGFkZGluZy01LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjUuNXJlbTtwYWRkaW5nLWJvdHRvbTo1LjVyZW19LnhsLXBhZGRpbmctNi1yZW0tdGJ7cGFkZGluZy10b3A6NnJlbTtwYWRkaW5nLWJvdHRvbTo2cmVtfS54bC1wYWRkaW5nLTYtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6Ni41cmVtO3BhZGRpbmctYm90dG9tOjYuNXJlbX0ueGwtcGFkZGluZy03LXJlbS10YntwYWRkaW5nLXRvcDo3cmVtO3BhZGRpbmctYm90dG9tOjdyZW19LnhsLXBhZGRpbmctNy1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo3LjVyZW07cGFkZGluZy1ib3R0b206Ny41cmVtfS54bC1wYWRkaW5nLTgtcmVtLXRie3BhZGRpbmctdG9wOjhyZW07cGFkZGluZy1ib3R0b206OHJlbX0ueGwtcGFkZGluZy04LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjguNXJlbTtwYWRkaW5nLWJvdHRvbTo4LjVyZW19LnhsLXBhZGRpbmctOS1yZW0tdGJ7cGFkZGluZy10b3A6OXJlbTtwYWRkaW5nLWJvdHRvbTo5cmVtfS54bC1wYWRkaW5nLTktaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6OS41cmVtO3BhZGRpbmctYm90dG9tOjkuNXJlbX0ueGwtcGFkZGluZy0xMC1yZW0tdGJ7cGFkZGluZy10b3A6MTByZW07cGFkZGluZy1ib3R0b206MTByZW19LnhsLXBhZGRpbmctMTAtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6MTAuNXJlbTtwYWRkaW5nLWJvdHRvbToxMC41cmVtfS54bC1wYWRkaW5nLW9uZS1scntwYWRkaW5nLWxlZnQ6MSU7cGFkZGluZy1yaWdodDoxJX0ueGwtcGFkZGluZy10d28tbHJ7cGFkZGluZy1sZWZ0OjIlO3BhZGRpbmctcmlnaHQ6MiV9LnhsLXBhZGRpbmctdGhyZWUtbHJ7cGFkZGluZy1sZWZ0OjMlO3BhZGRpbmctcmlnaHQ6MyV9LnhsLXBhZGRpbmctZm91ci1scntwYWRkaW5nLWxlZnQ6NCU7cGFkZGluZy1yaWdodDo0JX0ueGwtcGFkZGluZy1maXZlLWxye3BhZGRpbmctbGVmdDo1JTtwYWRkaW5nLXJpZ2h0OjUlfS54bC1wYWRkaW5nLXNpeC1scntwYWRkaW5nLWxlZnQ6NiU7cGFkZGluZy1yaWdodDo2JX0ueGwtcGFkZGluZy1zZXZlbi1scntwYWRkaW5nLWxlZnQ6NyU7cGFkZGluZy1yaWdodDo3JX0ueGwtcGFkZGluZy1laWdodC1scntwYWRkaW5nLWxlZnQ6OCU7cGFkZGluZy1yaWdodDo4JX0ueGwtcGFkZGluZy1uaW5lLWxye3BhZGRpbmctbGVmdDo5JTtwYWRkaW5nLXJpZ2h0OjklfS54bC1wYWRkaW5nLXRlbi1scntwYWRkaW5nLWxlZnQ6MTAlO3BhZGRpbmctcmlnaHQ6MTAlfS54bC1wYWRkaW5nLWVsZXZlbi1scntwYWRkaW5nLWxlZnQ6MTElO3BhZGRpbmctcmlnaHQ6MTElfS54bC1wYWRkaW5nLXR3ZWx2ZS1scntwYWRkaW5nLWxlZnQ6MTIlO3BhZGRpbmctcmlnaHQ6MTIlfS54bC1wYWRkaW5nLXRoaXJ0ZWVuLWxye3BhZGRpbmctbGVmdDoxMyU7cGFkZGluZy1yaWdodDoxMyV9LnhsLXBhZGRpbmctZm91cnRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE0JTtwYWRkaW5nLXJpZ2h0OjE0JX0ueGwtcGFkZGluZy1maWZ0ZWVuLWxye3BhZGRpbmctbGVmdDoxNSU7cGFkZGluZy1yaWdodDoxNSV9LnhsLXBhZGRpbmctc2l4dGVlbi1scntwYWRkaW5nLWxlZnQ6MTYlO3BhZGRpbmctcmlnaHQ6MTYlfS54bC1wYWRkaW5nLXNldmVudGVlbi1scntwYWRkaW5nLWxlZnQ6MTclO3BhZGRpbmctcmlnaHQ6MTclfS54bC1wYWRkaW5nLWVpZ2h0ZWVuLWxye3BhZGRpbmctbGVmdDoxOCU7cGFkZGluZy1yaWdodDoxOCV9LnhsLXBhZGRpbmctbmluZXRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE5JTtwYWRkaW5nLXJpZ2h0OjE5JX0ueGwtcGFkZGluZy10d2VudHktbHJ7cGFkZGluZy1sZWZ0OjIwJTtwYWRkaW5nLXJpZ2h0OjIwJX0ueGwtcGFkZGluZy01cHgtbHJ7cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXJpZ2h0OjVweH0ueGwtcGFkZGluZy0xMHB4LWxye3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweH0ueGwtcGFkZGluZy0xNXB4LWxye3BhZGRpbmctbGVmdDoxNXB4O3BhZGRpbmctcmlnaHQ6MTVweH0ueGwtcGFkZGluZy0yMHB4LWxye3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweH0ueGwtcGFkZGluZy0yNXB4LWxye3BhZGRpbmctbGVmdDoyNXB4O3BhZGRpbmctcmlnaHQ6MjVweH0ueGwtcGFkZGluZy0zMHB4LWxye3BhZGRpbmctbGVmdDozMHB4O3BhZGRpbmctcmlnaHQ6MzBweH0ueGwtcGFkZGluZy0zNXB4LWxye3BhZGRpbmctbGVmdDozNXB4O3BhZGRpbmctcmlnaHQ6MzVweH0ueGwtcGFkZGluZy00MHB4LWxye3BhZGRpbmctbGVmdDo0MHB4O3BhZGRpbmctcmlnaHQ6NDBweH0ueGwtcGFkZGluZy00NXB4LWxye3BhZGRpbmctbGVmdDo0NXB4O3BhZGRpbmctcmlnaHQ6NDVweH0ueGwtcGFkZGluZy01MHB4LWxye3BhZGRpbmctbGVmdDo1MHB4O3BhZGRpbmctcmlnaHQ6NTBweH0ueGwtcGFkZGluZy01NXB4LWxye3BhZGRpbmctbGVmdDo1NXB4O3BhZGRpbmctcmlnaHQ6NTVweH0ueGwtcGFkZGluZy02MHB4LWxye3BhZGRpbmctbGVmdDo2MHB4O3BhZGRpbmctcmlnaHQ6NjBweH0ueGwtcGFkZGluZy02NXB4LWxye3BhZGRpbmctbGVmdDo2NXB4O3BhZGRpbmctcmlnaHQ6NjVweH0ueGwtcGFkZGluZy03MHB4LWxye3BhZGRpbmctbGVmdDo3MHB4O3BhZGRpbmctcmlnaHQ6NzBweH0ueGwtcGFkZGluZy03NXB4LWxye3BhZGRpbmctbGVmdDo3NXB4O3BhZGRpbmctcmlnaHQ6NzVweH0ueGwtcGFkZGluZy04MHB4LWxye3BhZGRpbmctbGVmdDo4MHB4O3BhZGRpbmctcmlnaHQ6ODBweH0ueGwtcGFkZGluZy04NXB4LWxye3BhZGRpbmctbGVmdDo4NXB4O3BhZGRpbmctcmlnaHQ6ODVweH0ueGwtcGFkZGluZy05MHB4LWxye3BhZGRpbmctbGVmdDo5MHB4O3BhZGRpbmctcmlnaHQ6OTBweH0ueGwtcGFkZGluZy05NXB4LWxye3BhZGRpbmctbGVmdDo5NXB4O3BhZGRpbmctcmlnaHQ6OTVweH0ueGwtcGFkZGluZy0xMDBweC1scntwYWRkaW5nLWxlZnQ6MTAwcHg7cGFkZGluZy1yaWdodDoxMDBweH0ueGwtcGFkZGluZy0xLXJlbS1scntwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnhsLXBhZGRpbmctMS1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6MS41cmVtO3BhZGRpbmctcmlnaHQ6MS41cmVtfS54bC1wYWRkaW5nLTItcmVtLWxye3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ueGwtcGFkZGluZy0yLWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDoyLjVyZW07cGFkZGluZy1yaWdodDoyLjVyZW19LnhsLXBhZGRpbmctMy1yZW0tbHJ7cGFkZGluZy1sZWZ0OjNyZW07cGFkZGluZy1yaWdodDozcmVtfS54bC1wYWRkaW5nLTMtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjMuNXJlbTtwYWRkaW5nLXJpZ2h0OjMuNXJlbX0ueGwtcGFkZGluZy00LXJlbS1scntwYWRkaW5nLWxlZnQ6NHJlbTtwYWRkaW5nLXJpZ2h0OjRyZW19LnhsLXBhZGRpbmctNC1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6NC41cmVtO3BhZGRpbmctcmlnaHQ6NC41cmVtfS54bC1wYWRkaW5nLTUtcmVtLWxye3BhZGRpbmctbGVmdDo1cmVtO3BhZGRpbmctcmlnaHQ6NXJlbX0ueGwtcGFkZGluZy01LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo1LjVyZW07cGFkZGluZy1yaWdodDo1LjVyZW19LnhsLXBhZGRpbmctNi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjZyZW07cGFkZGluZy1yaWdodDo2cmVtfS54bC1wYWRkaW5nLTYtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjYuNXJlbTtwYWRkaW5nLXJpZ2h0OjYuNXJlbX0ueGwtcGFkZGluZy03LXJlbS1scntwYWRkaW5nLWxlZnQ6N3JlbTtwYWRkaW5nLXJpZ2h0OjdyZW19LnhsLXBhZGRpbmctNy1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6Ny41cmVtO3BhZGRpbmctcmlnaHQ6Ny41cmVtfS54bC1wYWRkaW5nLTgtcmVtLWxye3BhZGRpbmctbGVmdDo4cmVtO3BhZGRpbmctcmlnaHQ6OHJlbX0ueGwtcGFkZGluZy04LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo4LjVyZW07cGFkZGluZy1yaWdodDo4LjVyZW19LnhsLXBhZGRpbmctOS1yZW0tbHJ7cGFkZGluZy1sZWZ0OjlyZW07cGFkZGluZy1yaWdodDo5cmVtfS54bC1wYWRkaW5nLTktaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjkuNXJlbTtwYWRkaW5nLXJpZ2h0OjkuNXJlbX0ueGwtcGFkZGluZy0xMC1yZW0tbHJ7cGFkZGluZy1sZWZ0OjEwcmVtO3BhZGRpbmctcmlnaHQ6MTByZW19LnhsLXBhZGRpbmctMTAtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjEwLjVyZW07cGFkZGluZy1yaWdodDoxMC41cmVtfS54bC1uby1wYWRkaW5ne3BhZGRpbmc6MCFpbXBvcnRhbnR9LnhsLW5vLXBhZGRpbmctbHJ7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9LnhsLW5vLXBhZGRpbmctdGJ7cGFkZGluZy10b3A6MCFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206MCFpbXBvcnRhbnR9LnhsLW5vLXBhZGRpbmctdG9we3BhZGRpbmctdG9wOjAhaW1wb3J0YW50fS54bC1uby1wYWRkaW5nLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ueGwtbm8tcGFkZGluZy1sZWZ0e3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0ueGwtbm8tcGFkZGluZy1yaWdodHtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS54bC1kLWluaXRpYWx7ZGlzcGxheTppbml0aWFsIWltcG9ydGFudH0ueGwtb3ZlcmZsb3ctaGlkZGVue292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnR9LnhsLW92ZXJmbG93LXZpc2libGV7b3ZlcmZsb3c6dmlzaWJsZSFpbXBvcnRhbnR9LnhsLW92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0byFpbXBvcnRhbnR9LnhsLXBvc2l0aW9uLXJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlIWltcG9ydGFudH0ueGwtcG9zaXRpb24tYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50fS54bC1wb3NpdGlvbi1maXhlZHtwb3NpdGlvbjpmaXhlZCFpbXBvcnRhbnR9LnhsLXBvc2l0aW9uLWluaGVyaXR7cG9zaXRpb246aW5oZXJpdCFpbXBvcnRhbnR9LnhsLXBvc2l0aW9uLWluaXRpYWx7cG9zaXRpb246aW5pdGlhbCFpbXBvcnRhbnR9LnhsLXRvcC0wcHh7dG9wOjB9LnhsLXRvcC0xcHh7dG9wOjFweH0ueGwtdG9wLTJweHt0b3A6MnB4fS54bC10b3AtM3B4e3RvcDozcHh9LnhsLXRvcC00cHh7dG9wOjRweH0ueGwtdG9wLTVweHt0b3A6NXB4fS54bC10b3AtNnB4e3RvcDo2cHh9LnhsLXRvcC03cHh7dG9wOjdweH0ueGwtdG9wLThweHt0b3A6OHB4fS54bC10b3AtOXB4e3RvcDo5cHh9LnhsLXRvcC0xMHB4e3RvcDoxMHB4fS54bC10b3AtMTVweHt0b3A6MTVweH0ueGwtdG9wLTIwcHh7dG9wOjIwcHh9LnhsLXRvcC0yNXB4e3RvcDoyNXB4fS54bC10b3AtMzBweHt0b3A6MzBweH0ueGwtdG9wLTM1cHh7dG9wOjM1cHh9LnhsLXRvcC00MHB4e3RvcDo0MHB4fS54bC10b3AtNDVweHt0b3A6NDVweH0ueGwtdG9wLTUwcHh7dG9wOjUwcHh9LnhsLXRvcC1hdXRve3RvcDphdXRvfS54bC10b3AtaW5oZXJpdHt0b3A6aW5oZXJpdH0ueGwtdG9wLW1pbnVzLTFweHt0b3A6LTFweH0ueGwtdG9wLW1pbnVzLTJweHt0b3A6LTJweH0ueGwtdG9wLW1pbnVzLTNweHt0b3A6LTNweH0ueGwtdG9wLW1pbnVzLTRweHt0b3A6LTRweH0ueGwtdG9wLW1pbnVzLTVweHt0b3A6LTVweH0ueGwtdG9wLW1pbnVzLTZweHt0b3A6LTZweH0ueGwtdG9wLW1pbnVzLTdweHt0b3A6LTdweH0ueGwtdG9wLW1pbnVzLThweHt0b3A6LThweH0ueGwtdG9wLW1pbnVzLTlweHt0b3A6LTlweH0ueGwtdG9wLW1pbnVzLTEwcHh7dG9wOi0xMHB4fS54bC10b3AtbWludXMtMTVweHt0b3A6LTE1cHh9LnhsLXRvcC1taW51cy0yMHB4e3RvcDotMjBweH0ueGwtdG9wLW1pbnVzLTI1cHh7dG9wOi0yNXB4fS54bC10b3AtbWludXMtMzBweHt0b3A6LTMwcHh9LnhsLXRvcC1taW51cy0zNXB4e3RvcDotMzVweH0ueGwtdG9wLW1pbnVzLTQwcHh7dG9wOi00MHB4fS54bC10b3AtbWludXMtNDVweHt0b3A6LTQ1cHh9LnhsLXRvcC1taW51cy01MHB4e3RvcDotNTBweH0ueGwtYm90dG9tLTBweHtib3R0b206MH0ueGwtYm90dG9tLTFweHtib3R0b206MXB4fS54bC1ib3R0b20tMnB4e2JvdHRvbToycHh9LnhsLWJvdHRvbS0zcHh7Ym90dG9tOjNweH0ueGwtYm90dG9tLTRweHtib3R0b206NHB4fS54bC1ib3R0b20tNXB4e2JvdHRvbTo1cHh9LnhsLWJvdHRvbS02cHh7Ym90dG9tOjZweH0ueGwtYm90dG9tLTdweHtib3R0b206N3B4fS54bC1ib3R0b20tOHB4e2JvdHRvbTo4cHh9LnhsLWJvdHRvbS05cHh7Ym90dG9tOjlweH0ueGwtYm90dG9tLTEwcHh7Ym90dG9tOjEwcHh9LnhsLWJvdHRvbS0xNXB4e2JvdHRvbToxNXB4fS54bC1ib3R0b20tMjBweHtib3R0b206MjBweH0ueGwtYm90dG9tLTI1cHh7Ym90dG9tOjI1cHh9LnhsLWJvdHRvbS0zMHB4e2JvdHRvbTozMHB4fS54bC1ib3R0b20tMzVweHtib3R0b206MzVweH0ueGwtYm90dG9tLTQwcHh7Ym90dG9tOjQwcHh9LnhsLWJvdHRvbS00NXB4e2JvdHRvbTo0NXB4fS54bC1ib3R0b20tNTBweHtib3R0b206NTBweH0ueGwtYm90dG9tLTU1cHh7Ym90dG9tOjU1cHh9LnhsLWJvdHRvbS02MHB4e2JvdHRvbTo2MHB4fS54bC1ib3R0b20tYXV0b3tib3R0b206YXV0b30ueGwtYm90dG9tLWluaGVyaXR7Ym90dG9tOmluaGVyaXR9LnhsLWJvdHRvbS1taW51cy0xcHh7Ym90dG9tOi0xcHh9LnhsLWJvdHRvbS1taW51cy0ycHh7Ym90dG9tOi0ycHh9LnhsLWJvdHRvbS1taW51cy0zcHh7Ym90dG9tOi0zcHh9LnhsLWJvdHRvbS1taW51cy00cHh7Ym90dG9tOi00cHh9LnhsLWJvdHRvbS1taW51cy01cHh7Ym90dG9tOi01cHh9LnhsLWJvdHRvbS1taW51cy02cHh7Ym90dG9tOi02cHh9LnhsLWJvdHRvbS1taW51cy03cHh7Ym90dG9tOi03cHh9LnhsLWJvdHRvbS1taW51cy04cHh7Ym90dG9tOi04cHh9LnhsLWJvdHRvbS1taW51cy05cHh7Ym90dG9tOi05cHh9LnhsLWJvdHRvbS1taW51cy0xMHB4e2JvdHRvbTotMTBweH0ueGwtYm90dG9tLW1pbnVzLTE1cHh7Ym90dG9tOi0xNXB4fS54bC1ib3R0b20tbWludXMtMjBweHtib3R0b206LTIwcHh9LnhsLWJvdHRvbS1taW51cy0yNXB4e2JvdHRvbTotMjVweH0ueGwtYm90dG9tLW1pbnVzLTMwcHh7Ym90dG9tOi0zMHB4fS54bC1ib3R0b20tbWludXMtMzVweHtib3R0b206LTM1cHh9LnhsLWJvdHRvbS1taW51cy00MHB4e2JvdHRvbTotNDBweH0ueGwtYm90dG9tLW1pbnVzLTQ1cHh7Ym90dG9tOi00NXB4fS54bC1ib3R0b20tbWludXMtNTBweHtib3R0b206LTUwcHh9LnhsLXJpZ2h0LTBweHtyaWdodDowfS54bC1yaWdodC0xcHh7cmlnaHQ6MXB4fS54bC1yaWdodC0ycHh7cmlnaHQ6MnB4fS54bC1yaWdodC0zcHh7cmlnaHQ6M3B4fS54bC1yaWdodC00cHh7cmlnaHQ6NHB4fS54bC1yaWdodC01cHh7cmlnaHQ6NXB4fS54bC1yaWdodC02cHh7cmlnaHQ6NnB4fS54bC1yaWdodC03cHh7cmlnaHQ6N3B4fS54bC1yaWdodC04cHh7cmlnaHQ6OHB4fS54bC1yaWdodC05cHh7cmlnaHQ6OXB4fS54bC1yaWdodC0xMHB4e3JpZ2h0OjEwcHh9LnhsLXJpZ2h0LTE1cHh7cmlnaHQ6MTVweH0ueGwtcmlnaHQtMjBweHtyaWdodDoyMHB4fS54bC1yaWdodC0yNXB4e3JpZ2h0OjI1cHh9LnhsLXJpZ2h0LTMwcHh7cmlnaHQ6MzBweH0ueGwtcmlnaHQtMzVweHtyaWdodDozNXB4fS54bC1yaWdodC00MHB4e3JpZ2h0OjQwcHh9LnhsLXJpZ2h0LTQ1cHh7cmlnaHQ6NDVweH0ueGwtcmlnaHQtNTBweHtyaWdodDo1MHB4fS54bC1yaWdodC1hdXRve3JpZ2h0OmF1dG99LnhsLXJpZ2h0LWluaGVyaXR7cmlnaHQ6aW5oZXJpdH0ueGwtcmlnaHQtbWludXMtMXB4e3JpZ2h0Oi0xcHh9LnhsLXJpZ2h0LW1pbnVzLTJweHtyaWdodDotMnB4fS54bC1yaWdodC1taW51cy0zcHh7cmlnaHQ6LTNweH0ueGwtcmlnaHQtbWludXMtNHB4e3JpZ2h0Oi00cHh9LnhsLXJpZ2h0LW1pbnVzLTVweHtyaWdodDotNXB4fS54bC1yaWdodC1taW51cy02cHh7cmlnaHQ6LTZweH0ueGwtcmlnaHQtbWludXMtN3B4e3JpZ2h0Oi03cHh9LnhsLXJpZ2h0LW1pbnVzLThweHtyaWdodDotOHB4fS54bC1yaWdodC1taW51cy05cHh7cmlnaHQ6LTlweH0ueGwtcmlnaHQtbWludXMtMTBweHtyaWdodDotMTBweH0ueGwtcmlnaHQtbWludXMtMTVweHtyaWdodDotMTVweH0ueGwtcmlnaHQtbWludXMtMjBweHtyaWdodDotMjBweH0ueGwtcmlnaHQtbWludXMtMjVweHtyaWdodDotMjVweH0ueGwtcmlnaHQtbWludXMtMzBweHtyaWdodDotMzBweH0ueGwtcmlnaHQtbWludXMtMzVweHtyaWdodDotMzVweH0ueGwtcmlnaHQtbWludXMtNDBweHtyaWdodDotNDBweH0ueGwtcmlnaHQtbWludXMtNDVweHtyaWdodDotNDVweH0ueGwtcmlnaHQtbWludXMtNTBweHtyaWdodDotNTBweH0ueGwtbGVmdC0wcHh7bGVmdDowfS54bC1sZWZ0LTFweHtsZWZ0OjFweH0ueGwtbGVmdC0ycHh7bGVmdDoycHh9LnhsLWxlZnQtM3B4e2xlZnQ6M3B4fS54bC1sZWZ0LTRweHtsZWZ0OjRweH0ueGwtbGVmdC01cHh7bGVmdDo1cHh9LnhsLWxlZnQtNnB4e2xlZnQ6NnB4fS54bC1sZWZ0LTdweHtsZWZ0OjdweH0ueGwtbGVmdC04cHh7bGVmdDo4cHh9LnhsLWxlZnQtOXB4e2xlZnQ6OXB4fS54bC1sZWZ0LTEwcHh7bGVmdDoxMHB4fS54bC1sZWZ0LTE1cHh7bGVmdDoxNXB4fS54bC1sZWZ0LTIwcHh7bGVmdDoyMHB4fS54bC1sZWZ0LTI1cHh7bGVmdDoyNXB4fS54bC1sZWZ0LTMwcHh7bGVmdDozMHB4fS54bC1sZWZ0LTM1cHh7bGVmdDozNXB4fS54bC1sZWZ0LTQwcHh7bGVmdDo0MHB4fS54bC1sZWZ0LTQ1cHh7bGVmdDo0NXB4fS54bC1sZWZ0LTUwcHh7bGVmdDo1MHB4fS54bC1sZWZ0LTU1cHh7bGVmdDo1NXB4fS54bC1sZWZ0LTYwcHh7bGVmdDo2MHB4fS54bC1sZWZ0LWF1dG97bGVmdDphdXRvfS54bC1sZWZ0LWluaGVyaXR7bGVmdDppbmhlcml0fS54bC1sZWZ0LTBweHtsZWZ0OjB9LnhsLWxlZnQtbWludXMtMXB4e2xlZnQ6LTFweH0ueGwtbGVmdC1taW51cy0ycHh7bGVmdDotMnB4fS54bC1sZWZ0LW1pbnVzLTNweHtsZWZ0Oi0zcHh9LnhsLWxlZnQtbWludXMtNHB4e2xlZnQ6LTRweH0ueGwtbGVmdC1taW51cy01cHh7bGVmdDotNXB4fS54bC1sZWZ0LW1pbnVzLTZweHtsZWZ0Oi02cHh9LnhsLWxlZnQtbWludXMtN3B4e2xlZnQ6LTdweH0ueGwtbGVmdC1taW51cy04cHh7bGVmdDotOHB4fS54bC1sZWZ0LW1pbnVzLTlweHtsZWZ0Oi05cHh9LnhsLWxlZnQtbWludXMtMTBweHtsZWZ0Oi0xMHB4fS54bC1sZWZ0LW1pbnVzLTE1cHh7bGVmdDotMTVweH0ueGwtbGVmdC1taW51cy0yMHB4e2xlZnQ6LTIwcHh9LnhsLWxlZnQtbWludXMtMjVweHtsZWZ0Oi0yNXB4fS54bC1sZWZ0LW1pbnVzLTMwcHh7bGVmdDotMzBweH0ueGwtbGVmdC1taW51cy0zNXB4e2xlZnQ6LTM1cHh9LnhsLWxlZnQtbWludXMtNDBweHtsZWZ0Oi00MHB4fS54bC1sZWZ0LW1pbnVzLTQ1cHh7bGVmdDotNDVweH0ueGwtbGVmdC1taW51cy01MHB4e2xlZnQ6LTUwcHh9LnhsLXctMXB4e3dpZHRoOjFweCFpbXBvcnRhbnR9LnhsLXctMnB4e3dpZHRoOjJweCFpbXBvcnRhbnR9LnhsLXctM3B4e3dpZHRoOjNweCFpbXBvcnRhbnR9LnhsLXctNHB4e3dpZHRoOjRweCFpbXBvcnRhbnR9LnhsLXctNXB4e3dpZHRoOjVweCFpbXBvcnRhbnR9LnhsLXctNnB4e3dpZHRoOjZweCFpbXBvcnRhbnR9LnhsLXctN3B4e3dpZHRoOjdweCFpbXBvcnRhbnR9LnhsLXctOHB4e3dpZHRoOjhweCFpbXBvcnRhbnR9LnhsLXctOXB4e3dpZHRoOjlweCFpbXBvcnRhbnR9LnhsLXctMTBweHt3aWR0aDoxMHB4IWltcG9ydGFudH0ueGwtdy0xNXB4e3dpZHRoOjE1cHghaW1wb3J0YW50fS54bC13LTIwcHh7d2lkdGg6MjBweCFpbXBvcnRhbnR9LnhsLXctMjVweHt3aWR0aDoyNXB4IWltcG9ydGFudH0ueGwtdy0zMHB4e3dpZHRoOjMwcHghaW1wb3J0YW50fS54bC13LTM1cHh7d2lkdGg6MzVweCFpbXBvcnRhbnR9LnhsLXctNDBweHt3aWR0aDo0MHB4IWltcG9ydGFudH0ueGwtdy01MHB4e3dpZHRoOjUwcHghaW1wb3J0YW50fS54bC13LTU1cHh7d2lkdGg6NTVweCFpbXBvcnRhbnR9LnhsLXctNjBweHt3aWR0aDo2MHB4IWltcG9ydGFudH0ueGwtdy02NXB4e3dpZHRoOjY1cHghaW1wb3J0YW50fS54bC13LTcwcHh7d2lkdGg6NzBweCFpbXBvcnRhbnR9LnhsLXctNzVweHt3aWR0aDo3NXB4IWltcG9ydGFudH0ueGwtdy04MHB4e3dpZHRoOjgwcHghaW1wb3J0YW50fS54bC13LTg1cHh7d2lkdGg6ODVweCFpbXBvcnRhbnR9LnhsLXctOTBweHt3aWR0aDo5MHB4IWltcG9ydGFudH0ueGwtdy05NXB4e3dpZHRoOjk1cHghaW1wb3J0YW50fS54bC13LTEwMHB4e3dpZHRoOjEwMHB4IWltcG9ydGFudH0ueGwtdy0xMTBweHt3aWR0aDoxMTBweCFpbXBvcnRhbnR9LnhsLXctMTIwcHh7d2lkdGg6MTIwcHghaW1wb3J0YW50fS54bC13LTEzMHB4e3dpZHRoOjEzMHB4IWltcG9ydGFudH0ueGwtdy0xNDBweHt3aWR0aDoxNDBweCFpbXBvcnRhbnR9LnhsLXctMTUwcHh7d2lkdGg6MTUwcHghaW1wb3J0YW50fS54bC13LTE2MHB4e3dpZHRoOjE2MHB4IWltcG9ydGFudH0ueGwtdy0xNzBweHt3aWR0aDoxNzBweCFpbXBvcnRhbnR9LnhsLXctMTgwcHh7d2lkdGg6MTgwcHghaW1wb3J0YW50fS54bC13LTE5MHB4e3dpZHRoOjE5MHB4IWltcG9ydGFudH0ueGwtdy0yMDBweHt3aWR0aDoyMDBweCFpbXBvcnRhbnR9LnhsLXctMjUwcHh7d2lkdGg6MjUwcHghaW1wb3J0YW50fS54bC13LTMwMHB4e3dpZHRoOjMwMHB4IWltcG9ydGFudH0ueGwtdy0zNTBweHt3aWR0aDozNTBweCFpbXBvcnRhbnR9LnhsLXctNDAwcHh7d2lkdGg6NDAwcHghaW1wb3J0YW50fS54bC13LTQ1MHB4e3dpZHRoOjQ1MHB4IWltcG9ydGFudH0ueGwtdy01MDBweHt3aWR0aDo1MDBweCFpbXBvcnRhbnR9LnhsLXctNTUwcHh7d2lkdGg6NTUwcHghaW1wb3J0YW50fS54bC13LTYwMHB4e3dpZHRoOjYwMHB4IWltcG9ydGFudH0ueGwtdy02NTBweHt3aWR0aDo2NTBweCFpbXBvcnRhbnR9LnhsLXctNzAwcHh7d2lkdGg6NzAwcHghaW1wb3J0YW50fS54bC13LTc1MHB4e3dpZHRoOjc1MHB4IWltcG9ydGFudH0ueGwtdy04MDBweHt3aWR0aDo4MDBweCFpbXBvcnRhbnR9LnhsLXctODUwcHh7d2lkdGg6ODUwcHghaW1wb3J0YW50fS54bC13LTkwMHB4e3dpZHRoOjkwMHB4IWltcG9ydGFudH0ueGwtdy05NTBweHt3aWR0aDo5NTBweCFpbXBvcnRhbnR9LnhsLXctMTAwMHB4e3dpZHRoOjEwMDBweCFpbXBvcnRhbnR9LnhsLXctMTB7d2lkdGg6MTAlIWltcG9ydGFudH0ueGwtdy0xNXt3aWR0aDoxNSUhaW1wb3J0YW50fS54bC13LTIwe3dpZHRoOjIwJSFpbXBvcnRhbnR9LnhsLXctMjV7d2lkdGg6MjUlIWltcG9ydGFudH0ueGwtdy0zMHt3aWR0aDozMCUhaW1wb3J0YW50fS54bC13LTM1e3dpZHRoOjM1JSFpbXBvcnRhbnR9LnhsLXctNDB7d2lkdGg6NDAlIWltcG9ydGFudH0ueGwtdy00NXt3aWR0aDo0NSUhaW1wb3J0YW50fS54bC13LTUwe3dpZHRoOjUwJSFpbXBvcnRhbnR9LnhsLXctNTV7d2lkdGg6NTUlIWltcG9ydGFudH0ueGwtdy02MHt3aWR0aDo2MCUhaW1wb3J0YW50fS54bC13LTY1e3dpZHRoOjY1JSFpbXBvcnRhbnR9LnhsLXctNzB7d2lkdGg6NzAlIWltcG9ydGFudH0ueGwtdy03NXt3aWR0aDo3NSUhaW1wb3J0YW50fS54bC13LTgwe3dpZHRoOjgwJSFpbXBvcnRhbnR9LnhsLXctODV7d2lkdGg6ODUlIWltcG9ydGFudH0ueGwtdy05MHt3aWR0aDo5MCUhaW1wb3J0YW50fS54bC13LTk1e3dpZHRoOjk1JSFpbXBvcnRhbnR9LnhsLXctMTAwe3dpZHRoOjEwMCUhaW1wb3J0YW50fS54bC13LWF1dG97d2lkdGg6YXV0byFpbXBvcnRhbnR9LnhsLWgtMXB4e2hlaWdodDoxcHghaW1wb3J0YW50fS54bC1oLTJweHtoZWlnaHQ6MnB4IWltcG9ydGFudH0ueGwtaC0zcHh7aGVpZ2h0OjNweCFpbXBvcnRhbnR9LnhsLWgtNHB4e2hlaWdodDo0cHghaW1wb3J0YW50fS54bC1oLTVweHtoZWlnaHQ6NXB4IWltcG9ydGFudH0ueGwtaC02cHh7aGVpZ2h0OjZweCFpbXBvcnRhbnR9LnhsLWgtN3B4e2hlaWdodDo3cHghaW1wb3J0YW50fS54bC1oLThweHtoZWlnaHQ6OHB4IWltcG9ydGFudH0ueGwtaC05cHh7aGVpZ2h0OjlweCFpbXBvcnRhbnR9LnhsLWgtMTBweHtoZWlnaHQ6MTBweCFpbXBvcnRhbnR9LnhsLWgtMjBweHtoZWlnaHQ6MjBweCFpbXBvcnRhbnR9LnhsLWgtMzBweHtoZWlnaHQ6MzBweCFpbXBvcnRhbnR9LnhsLWgtNDBweHtoZWlnaHQ6NDBweCFpbXBvcnRhbnR9LnhsLWgtNDJweHtoZWlnaHQ6NDJweCFpbXBvcnRhbnR9LnhsLWgtNTBweHtoZWlnaHQ6NTBweCFpbXBvcnRhbnR9LnhsLWgtNjBweHtoZWlnaHQ6NjBweCFpbXBvcnRhbnR9LnhsLWgtNzBweHtoZWlnaHQ6NzBweCFpbXBvcnRhbnR9LnhsLWgtODBweHtoZWlnaHQ6ODBweCFpbXBvcnRhbnR9LnhsLWgtOTBweHtoZWlnaHQ6OTBweCFpbXBvcnRhbnR9LnhsLWgtMTAwcHh7aGVpZ2h0OjEwMHB4IWltcG9ydGFudH0ueGwtaC0xMTBweHtoZWlnaHQ6MTEwcHghaW1wb3J0YW50fS54bC1oLTEyMHB4e2hlaWdodDoxMjBweCFpbXBvcnRhbnR9LnhsLWgtMTMwcHh7aGVpZ2h0OjEzMHB4IWltcG9ydGFudH0ueGwtaC0xNDBweHtoZWlnaHQ6MTQwcHghaW1wb3J0YW50fS54bC1oLTE1MHB4e2hlaWdodDoxNTBweCFpbXBvcnRhbnR9LnhsLWgtMTYwcHh7aGVpZ2h0OjE2MHB4IWltcG9ydGFudH0ueGwtaC0xNzBweHtoZWlnaHQ6MTcwcHghaW1wb3J0YW50fS54bC1oLTE4MHB4e2hlaWdodDoxODBweCFpbXBvcnRhbnR9LnhsLWgtMTkwcHh7aGVpZ2h0OjE5MHB4IWltcG9ydGFudH0ueGwtaC0yMDBweHtoZWlnaHQ6MjAwcHghaW1wb3J0YW50fS54bC1oLTI1MHB4e2hlaWdodDoyNTBweCFpbXBvcnRhbnR9LnhsLWgtMzAwcHh7aGVpZ2h0OjMwMHB4IWltcG9ydGFudH0ueGwtaC0zNTBweHtoZWlnaHQ6MzUwcHghaW1wb3J0YW50fS54bC1oLTQwMHB4e2hlaWdodDo0MDBweCFpbXBvcnRhbnR9LnhsLWgtNDUwcHh7aGVpZ2h0OjQ1MHB4IWltcG9ydGFudH0ueGwtaC01MDBweHtoZWlnaHQ6NTAwcHghaW1wb3J0YW50fS54bC1oLTUyMHB4e2hlaWdodDo1MjBweCFpbXBvcnRhbnR9LnhsLWgtNTUwcHh7aGVpZ2h0OjU1MHB4IWltcG9ydGFudH0ueGwtaC01ODBweHtoZWlnaHQ6NTgwcHghaW1wb3J0YW50fS54bC1oLTYwMHB4e2hlaWdodDo2MDBweCFpbXBvcnRhbnR9LnhsLWgtNjUwcHh7aGVpZ2h0OjY1MHB4IWltcG9ydGFudH0ueGwtaC03MDBweHtoZWlnaHQ6NzAwcHghaW1wb3J0YW50fS54bC1oLTcyMHB4e2hlaWdodDo3MjBweCFpbXBvcnRhbnR9LnhsLWgtNzUwcHh7aGVpZ2h0Ojc1MHB4IWltcG9ydGFudH0ueGwtaC04MDBweHtoZWlnaHQ6ODAwcHghaW1wb3J0YW50fS54bC1oLTgyMHB4e2hlaWdodDo4MjBweCFpbXBvcnRhbnR9LnhsLWgtODMwcHh7aGVpZ2h0OjgzMHB4IWltcG9ydGFudH0ueGwtaC04NTBweHtoZWlnaHQ6ODUwcHghaW1wb3J0YW50fS54bC1oLTUwe2hlaWdodDo1MCUhaW1wb3J0YW50fS54bC1oLTEwMHtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9LnhsLWgtYXV0b3toZWlnaHQ6YXV0byFpbXBvcnRhbnR9LnhsLW1pbi1oLTEwMHB4e21pbi1oZWlnaHQ6MTAwcHh9LnhsLW1pbi1oLTIwMHB4e21pbi1oZWlnaHQ6MjAwcHh9LnhsLW1pbi1oLTMwMHB4e21pbi1oZWlnaHQ6MzAwcHh9LnhsLW1pbi1oLTQwMHB4e21pbi1oZWlnaHQ6NDAwcHh9LnhsLW1pbi1oLTUwMHB4e21pbi1oZWlnaHQ6NTAwcHh9LnhsLW1pbi1oLTYwMHB4e21pbi1oZWlnaHQ6NjAwcHh9LnhsLW1pbi1oLTcwMHB4e21pbi1oZWlnaHQ6NzAwcHh9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDkgLmludGVyYWN0aXZlLWJhbm5lcnMtY29udGVudCAuaW50ZXJhY3RpdmUtYmFubmVycy1ob3Zlci1pY29ue2xlZnQ6MzBweDtib3R0b206MzBweH0uYm94LWxheW91dHtwYWRkaW5nOjAgNDVweH0uYm94LWxheW91dC1sYXJnZXtwYWRkaW5nOjAgNzVweH0uZ3JpZC54bC1ncmlkLTZjb2wgbGl7d2lkdGg6MTYuNjclfS5ncmlkLnhsLWdyaWQtNmNvbCBsaS5ncmlkLWl0ZW0tZG91Ymxle3dpZHRoOjMzLjMzJX0uZ3JpZC54bC1ncmlkLTVjb2wgbGl7d2lkdGg6MjAlfS5ncmlkLnhsLWdyaWQtNWNvbCBsaS5ncmlkLWl0ZW0tZG91Ymxle3dpZHRoOjQwJX0uZ3JpZC54bC1ncmlkLTRjb2wgbGl7d2lkdGg6MjUlfS5ncmlkLnhsLWdyaWQtNGNvbCBsaS5ncmlkLWl0ZW0tZG91Ymxle3dpZHRoOjUwJX0uZ3JpZC54bC1ncmlkLTNjb2wgbGl7d2lkdGg6MzMuMzMlfS5ncmlkLnhsLWdyaWQtM2NvbCBsaS5ncmlkLWl0ZW0tZG91Ymxle3dpZHRoOjY2LjY3JX0uZ3JpZC54bC1ncmlkLTJjb2wgbGl7d2lkdGg6NTAlfS5ncmlkLnhsLWdyaWQtMmNvbCBsaS5ncmlkLWl0ZW0tZG91Ymxle3dpZHRoOjEwMCV9LmdyaWQueGwtZ3JpZC0xY29sIGxpe3dpZHRoOjEwMCV9LmJveC1sYXlvdXQgLm5hdmJhci5uYXZiYXItYm94ZWR7cGFkZGluZy1sZWZ0OjMwcHg7cGFkZGluZy1yaWdodDozMHB4fS5ob21lLWRpZ2l0YWwtYWdlbmN5IC5vdXRzaWRlLWJveC10ZXh0LXJpZ2h0IC50ZXh0LWV4dHJhLWJpZy0ye2ZvbnQtc2l6ZToyNTBweH0uaG9tZS1kZXNpZ24tYWdlbmN5IC5vdXRzaWRlLWJveC1sZWZ0e21hcmdpbi1sZWZ0Oi00MHZ3fS5ob21lLXBob3RvZ3JhcGh5IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEzIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWNvbnRlbnR7d2lkdGg6NDAlfS5saXRoby1wYXJhbGxheC1iZ3t3aWR0aDo4MDBweH19QG1lZGlhIChtYXgtd2lkdGg6MTUwMHB4KXsuaG9tZS1hcmNoaXRlY3R1cmUgLnRwYXJyb3dzLnRwLWxlZnRhcnJvd3t0cmFuc2Zvcm06bWF0cml4KDEsMCwwLDEsLTY3LC0zMjgpIWltcG9ydGFudH0uaG9tZS1hcmNoaXRlY3R1cmUgLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3d7dHJhbnNmb3JtOm1hdHJpeCgxLDAsMCwxLC02NywtMjYxKSFpbXBvcnRhbnR9LmhvbWUtZmFzaGlvbi1zaG9wIC50cC10YWJze2xlZnQ6NTQlIWltcG9ydGFudH19QG1lZGlhIChtYXgtd2lkdGg6MTMwMHB4KXsuaG9tZS1mYXNoaW9uLXNob3AgLnRwLXRhYnN7bGVmdDo2MCUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMTk5cHgpey5jb250YWluZXIsLmNvbnRhaW5lci1sZywuY29udGFpbmVyLW1kLC5jb250YWluZXItc20sLmNvbnRhaW5lci14bHttYXgtd2lkdGg6MTE3MHB4fX1AbWVkaWEgKG1heC13aWR0aDoxMTk5cHgpe2h0bWx7Zm9udC1zaXplOjEzcHh9Lm1kLWNlbnRlci1jb2x7ZmxvYXQ6bm9uZTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfXNlY3Rpb257cGFkZGluZzo5MHB4IDB9c2VjdGlvbi5iaWctc2VjdGlvbntwYWRkaW5nOjEyMHB4IDB9c2VjdGlvbi5leHRyYS1iaWctc2VjdGlvbntwYWRkaW5nOjE2MHB4IDB9LmNlbnRlci1jb2wtc3R5bGUgLmN1c3RvbS1jb2x7bWluLWhlaWdodDowfS5wYXJhbGxheHtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6aW5oZXJpdCFpbXBvcnRhbnQ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIhaW1wb3J0YW50fS5sZy1sYXN0LW9yZGVye29yZGVyOjEwfS5odG1sLXZpZGVve2hlaWdodDoxMDAlfWgxLGgyLGgzLGg0LGg1LGg2e21hcmdpbjowIDAgMTVweH0udGl0bGUtbGFyZ2V7Zm9udC1zaXplOjkwcHg7bGluZS1oZWlnaHQ6OTBweH0udGV4dC1leHRyYS1sYXJnZXtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoyNHB4fS50ZXh0LWV4dHJhLWJpZ3tmb250LXNpemU6MTcwcHg7bGluZS1oZWlnaHQ6MTcwcHh9LnRleHQtYmlne2ZvbnQtc2l6ZToxNjBweDtsaW5lLWhlaWdodDoxNjBweH0udGl0bGUtZXh0cmEtbGFyZ2V7Zm9udC1zaXplOjExMHB4O2xpbmUtaGVpZ2h0OjEwMHB4fS5sZy1saW5lLWhlaWdodC0wcHh7bGluZS1oZWlnaHQ6MH0ubGctbGluZS1oZWlnaHQtOHB4e2xpbmUtaGVpZ2h0OjhweH0ubGctbGluZS1oZWlnaHQtMTBweHtsaW5lLWhlaWdodDoxMHB4fS5sZy1saW5lLWhlaWdodC0xNHB4e2xpbmUtaGVpZ2h0OjE0cHh9LmxnLWxpbmUtaGVpZ2h0LTE1cHh7bGluZS1oZWlnaHQ6MTVweH0ubGctbGluZS1oZWlnaHQtMTZweHtsaW5lLWhlaWdodDoxNnB4fS5sZy1saW5lLWhlaWdodC0xOHB4e2xpbmUtaGVpZ2h0OjE4cHh9LmxnLWxpbmUtaGVpZ2h0LTIwcHh7bGluZS1oZWlnaHQ6MjBweH0ubGctbGluZS1oZWlnaHQtMjJweHtsaW5lLWhlaWdodDoyMnB4fS5sZy1saW5lLWhlaWdodC0yNHB4e2xpbmUtaGVpZ2h0OjI0cHh9LmxnLWxpbmUtaGVpZ2h0LTI2cHh7bGluZS1oZWlnaHQ6MjZweH0ubGctbGluZS1oZWlnaHQtMjhweHtsaW5lLWhlaWdodDoyOHB4fS5sZy1saW5lLWhlaWdodC0zMHB4e2xpbmUtaGVpZ2h0OjMwcHh9LmxnLWxpbmUtaGVpZ2h0LTMycHh7bGluZS1oZWlnaHQ6MzJweH0ubGctbGluZS1oZWlnaHQtMzRweHtsaW5lLWhlaWdodDozNHB4fS5sZy1saW5lLWhlaWdodC0zNnB4e2xpbmUtaGVpZ2h0OjM2cHh9LmxnLWxpbmUtaGVpZ2h0LTM4cHh7bGluZS1oZWlnaHQ6MzhweH0ubGctbGluZS1oZWlnaHQtNDBweHtsaW5lLWhlaWdodDo0MHB4fS5sZy1saW5lLWhlaWdodC01MHB4e2xpbmUtaGVpZ2h0OjUwcHh9LmxnLWxpbmUtaGVpZ2h0LTE0MHB4e2xpbmUtaGVpZ2h0OjE0MHB4fS5sZy1saW5lLWhlaWdodC1ub3JtYWx7bGluZS1oZWlnaHQ6bm9ybWFsfS5sZy1sZXR0ZXItc3BhY2luZy1taW51cy0xLWhhbGZ7bGV0dGVyLXNwYWNpbmc6LS41cHh9LmxnLWxldHRlci1zcGFjaW5nLW1pbnVzLTFweHtsZXR0ZXItc3BhY2luZzotMXB4fS5sZy1sZXR0ZXItc3BhY2luZy1taW51cy0ycHh7bGV0dGVyLXNwYWNpbmc6LTJweH0ubGctbGV0dGVyLXNwYWNpbmctbWludXMtM3B4e2xldHRlci1zcGFjaW5nOi0zcHh9LmxnLWxldHRlci1zcGFjaW5nLW1pbnVzLTRweHtsZXR0ZXItc3BhY2luZzotNHB4fS5sZy1sZXR0ZXItc3BhY2luZy1taW51cy01cHh7bGV0dGVyLXNwYWNpbmc6LTVweH0ubGctYWJzb2x1dGUtbWlkZGxlLWNlbnRlcntsZWZ0OjUwJTt0b3A6NTAlO3Bvc2l0aW9uOmFic29sdXRlOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKX0ubGctYmFja2dyb3VuZC1pbWFnZS1ub25le2JhY2tncm91bmQ6aW5oZXJpdCFpbXBvcnRhbnR9LmxnLWJhY2tncm91bmQtcG9zaXRpb24tbGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOmxlZnQgY2VudGVyfS5sZy1iYWNrZ3JvdW5kLXBvc2l0aW9uLXJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgY2VudGVyfS5sZy1iYWNrZ3JvdW5kLXBvc2l0aW9uLXRvcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IHRvcH0ubGctYmFja2dyb3VuZC1wb3NpdGlvbi1jZW50ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXJ9LmxnLWJhY2tncm91bmQtcG9zaXRpb24tbGVmdC10b3B7YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IHRvcH0ubGctYm94LXNoYWRvdy1ub25le2JveC1zaGFkb3c6bm9uZX0ubGctbWFyZ2luLW9uZS1hbGx7bWFyZ2luOjElfS5sZy1tYXJnaW4tdHdvLWFsbHttYXJnaW46MiV9LmxnLW1hcmdpbi10aHJlZS1hbGx7bWFyZ2luOjMlfS5sZy1tYXJnaW4tZm91ci1hbGx7bWFyZ2luOjQlfS5sZy1tYXJnaW4tZml2ZS1hbGx7bWFyZ2luOjUlfS5sZy1tYXJnaW4tc2l4LWFsbHttYXJnaW46NiV9LmxnLW1hcmdpbi1zZXZlbi1hbGx7bWFyZ2luOjclfS5sZy1tYXJnaW4tZWlnaHQtYWxse21hcmdpbjo4JX0ubGctbWFyZ2luLW5pbmUtYWxse21hcmdpbjo5JX0ubGctbWFyZ2luLXRlbi1hbGx7bWFyZ2luOjEwJX0ubGctbWFyZ2luLWVsZXZlbi1hbGx7bWFyZ2luOjExJX0ubGctbWFyZ2luLXR3ZWx2ZS1hbGx7bWFyZ2luOjEyJX0ubGctbWFyZ2luLXRoaXJ0ZWVuLWFsbHttYXJnaW46MTMlfS5sZy1tYXJnaW4tZm91cnRlZW4tYWxse21hcmdpbjoxNCV9LmxnLW1hcmdpbi1maWZ0ZWVuLWFsbHttYXJnaW46MTUlfS5sZy1tYXJnaW4tc2l4dGVlbi1hbGx7bWFyZ2luOjE2JX0ubGctbWFyZ2luLXNldmVudGVlbi1hbGx7bWFyZ2luOjE3JX0ubGctbWFyZ2luLWVpZ2h0ZWVuLWFsbHttYXJnaW46MTglfS5sZy1tYXJnaW4tbmluZXRlZW4tYWxse21hcmdpbjoxOSV9LmxnLW1hcmdpbi10d2VudHktYWxse21hcmdpbjoyMCV9LmxnLW1hcmdpbi01cHgtYWxse21hcmdpbjo1cHh9LmxnLW1hcmdpbi0xMHB4LWFsbHttYXJnaW46MTBweH0ubGctbWFyZ2luLTE1cHgtYWxse21hcmdpbjoxNXB4fS5sZy1tYXJnaW4tMjBweC1hbGx7bWFyZ2luOjIwcHh9LmxnLW1hcmdpbi0yNXB4LWFsbHttYXJnaW46MjVweH0ubGctbWFyZ2luLTMwcHgtYWxse21hcmdpbjozMHB4fS5sZy1tYXJnaW4tMzVweC1hbGx7bWFyZ2luOjM1cHh9LmxnLW1hcmdpbi00MHB4LWFsbHttYXJnaW46NDBweH0ubGctbWFyZ2luLTQ1cHgtYWxse21hcmdpbjo0NXB4fS5sZy1tYXJnaW4tNTBweC1hbGx7bWFyZ2luOjUwcHh9LmxnLW1hcmdpbi01NXB4LWFsbHttYXJnaW46NTVweH0ubGctbWFyZ2luLTYwcHgtYWxse21hcmdpbjo2MHB4fS5sZy1tYXJnaW4tNjVweC1hbGx7bWFyZ2luOjY1cHh9LmxnLW1hcmdpbi03MHB4LWFsbHttYXJnaW46NzBweH0ubGctbWFyZ2luLTc1cHgtYWxse21hcmdpbjo3NXB4fS5sZy1tYXJnaW4tODBweC1hbGx7bWFyZ2luOjgwcHh9LmxnLW1hcmdpbi04NXB4LWFsbHttYXJnaW46ODVweH0ubGctbWFyZ2luLTkwcHgtYWxse21hcmdpbjo5MHB4fS5sZy1tYXJnaW4tOTVweC1hbGx7bWFyZ2luOjk1cHh9LmxnLW1hcmdpbi0xMDBweC1hbGx7bWFyZ2luOjEwMHB4fS5sZy1tYXJnaW4tMS1yZW0tYWxse21hcmdpbjoxcmVtfS5sZy1tYXJnaW4tMS1oYWxmLXJlbS1hbGx7bWFyZ2luOjEuNXJlbX0ubGctbWFyZ2luLTItcmVtLWFsbHttYXJnaW46MnJlbX0ubGctbWFyZ2luLTItaGFsZi1yZW0tYWxse21hcmdpbjoyLjVyZW19LmxnLW1hcmdpbi0zLXJlbS1hbGx7bWFyZ2luOjNyZW19LmxnLW1hcmdpbi0zLWhhbGYtcmVtLWFsbHttYXJnaW46My41cmVtfS5sZy1tYXJnaW4tNC1yZW0tYWxse21hcmdpbjo0cmVtfS5sZy1tYXJnaW4tNC1oYWxmLXJlbS1hbGx7bWFyZ2luOjQuNXJlbX0ubGctbWFyZ2luLTUtcmVtLWFsbHttYXJnaW46NXJlbX0ubGctbWFyZ2luLTUtaGFsZi1yZW0tYWxse21hcmdpbjo1LjVyZW19LmxnLW1hcmdpbi02LXJlbS1hbGx7bWFyZ2luOjZyZW19LmxnLW1hcmdpbi02LWhhbGYtcmVtLWFsbHttYXJnaW46Ni41cmVtfS5sZy1tYXJnaW4tNy1yZW0tYWxse21hcmdpbjo3cmVtfS5sZy1tYXJnaW4tNy1oYWxmLXJlbS1hbGx7bWFyZ2luOjcuNXJlbX0ubGctbWFyZ2luLTgtcmVtLWFsbHttYXJnaW46OHJlbX0ubGctbWFyZ2luLTgtaGFsZi1yZW0tYWxse21hcmdpbjo4LjVyZW19LmxnLW1hcmdpbi05LXJlbS1hbGx7bWFyZ2luOjlyZW19LmxnLW1hcmdpbi05LWhhbGYtcmVtLWFsbHttYXJnaW46OS41cmVtfS5sZy1tYXJnaW4tMTAtcmVtLWFsbHttYXJnaW46MTByZW19LmxnLW1hcmdpbi0xMC1oYWxmLXJlbS1hbGx7bWFyZ2luOjEwLjVyZW19LmxnLW1hcmdpbi1vbmUtdG9we21hcmdpbi10b3A6MSV9LmxnLW1hcmdpbi10d28tdG9we21hcmdpbi10b3A6MiV9LmxnLW1hcmdpbi10aHJlZS10b3B7bWFyZ2luLXRvcDozJX0ubGctbWFyZ2luLWZvdXItdG9we21hcmdpbi10b3A6NCV9LmxnLW1hcmdpbi1maXZlLXRvcHttYXJnaW4tdG9wOjUlfS5sZy1tYXJnaW4tc2l4LXRvcHttYXJnaW4tdG9wOjYlfS5sZy1tYXJnaW4tc2V2ZW4tdG9we21hcmdpbi10b3A6NyV9LmxnLW1hcmdpbi1laWdodC10b3B7bWFyZ2luLXRvcDo4JX0ubGctbWFyZ2luLW5pbmUtdG9we21hcmdpbi10b3A6OSV9LmxnLW1hcmdpbi10ZW4tdG9we21hcmdpbi10b3A6MTAlfS5sZy1tYXJnaW4tZWxldmVuLXRvcHttYXJnaW4tdG9wOjExJX0ubGctbWFyZ2luLXR3ZWx2ZS10b3B7bWFyZ2luLXRvcDoxMiV9LmxnLW1hcmdpbi10aGlydGVlbi10b3B7bWFyZ2luLXRvcDoxMyV9LmxnLW1hcmdpbi1mb3VydGVlbi10b3B7bWFyZ2luLXRvcDoxNCV9LmxnLW1hcmdpbi1maWZ0ZWVuLXRvcHttYXJnaW4tdG9wOjE1JX0ubGctbWFyZ2luLXNpeHRlZW4tdG9we21hcmdpbi10b3A6MTYlfS5sZy1tYXJnaW4tc2V2ZW50ZWVuLXRvcHttYXJnaW4tdG9wOjE3JX0ubGctbWFyZ2luLWVpZ2h0ZWVuLXRvcHttYXJnaW4tdG9wOjE4JX0ubGctbWFyZ2luLW5pbmV0ZWVuLXRvcHttYXJnaW4tdG9wOjE5JX0ubGctbWFyZ2luLXR3ZW50eS10b3B7bWFyZ2luLXRvcDoyMCV9LmxnLW1hcmdpbi01cHgtdG9we21hcmdpbi10b3A6NXB4fS5sZy1tYXJnaW4tMTBweC10b3B7bWFyZ2luLXRvcDoxMHB4fS5sZy1tYXJnaW4tMTVweC10b3B7bWFyZ2luLXRvcDoxNXB4fS5sZy1tYXJnaW4tMjBweC10b3B7bWFyZ2luLXRvcDoyMHB4fS5sZy1tYXJnaW4tMjVweC10b3B7bWFyZ2luLXRvcDoyNXB4fS5sZy1tYXJnaW4tMzBweC10b3B7bWFyZ2luLXRvcDozMHB4fS5sZy1tYXJnaW4tMzVweC10b3B7bWFyZ2luLXRvcDozNXB4fS5sZy1tYXJnaW4tNDBweC10b3B7bWFyZ2luLXRvcDo0MHB4fS5sZy1tYXJnaW4tNDVweC10b3B7bWFyZ2luLXRvcDo0NXB4fS5sZy1tYXJnaW4tNTBweC10b3B7bWFyZ2luLXRvcDo1MHB4fS5sZy1tYXJnaW4tNTVweC10b3B7bWFyZ2luLXRvcDo1NXB4fS5sZy1tYXJnaW4tNjBweC10b3B7bWFyZ2luLXRvcDo2MHB4fS5sZy1tYXJnaW4tNjVweC10b3B7bWFyZ2luLXRvcDo2NXB4fS5sZy1tYXJnaW4tNzBweC10b3B7bWFyZ2luLXRvcDo3MHB4fS5sZy1tYXJnaW4tNzVweC10b3B7bWFyZ2luLXRvcDo3NXB4fS5sZy1tYXJnaW4tODBweC10b3B7bWFyZ2luLXRvcDo4MHB4fS5sZy1tYXJnaW4tODVweC10b3B7bWFyZ2luLXRvcDo4NXB4fS5sZy1tYXJnaW4tOTBweC10b3B7bWFyZ2luLXRvcDo5MHB4fS5sZy1tYXJnaW4tOTVweC10b3B7bWFyZ2luLXRvcDo5NXB4fS5sZy1tYXJnaW4tMTAwcHgtdG9we21hcmdpbi10b3A6MTAwcHh9LmxnLW1hcmdpbi0xLXJlbS10b3B7bWFyZ2luLXRvcDoxcmVtfS5sZy1tYXJnaW4tMS1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDoxLjVyZW19LmxnLW1hcmdpbi0yLXJlbS10b3B7bWFyZ2luLXRvcDoycmVtfS5sZy1tYXJnaW4tMi1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDoyLjVyZW19LmxnLW1hcmdpbi0zLXJlbS10b3B7bWFyZ2luLXRvcDozcmVtfS5sZy1tYXJnaW4tMy1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDozLjVyZW19LmxnLW1hcmdpbi00LXJlbS10b3B7bWFyZ2luLXRvcDo0cmVtfS5sZy1tYXJnaW4tNC1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo0LjVyZW19LmxnLW1hcmdpbi01LXJlbS10b3B7bWFyZ2luLXRvcDo1cmVtfS5sZy1tYXJnaW4tNS1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo1LjVyZW19LmxnLW1hcmdpbi02LXJlbS10b3B7bWFyZ2luLXRvcDo2cmVtfS5sZy1tYXJnaW4tNi1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo2LjVyZW19LmxnLW1hcmdpbi03LXJlbS10b3B7bWFyZ2luLXRvcDo3cmVtfS5sZy1tYXJnaW4tNy1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo3LjVyZW19LmxnLW1hcmdpbi04LXJlbS10b3B7bWFyZ2luLXRvcDo4cmVtfS5sZy1tYXJnaW4tOC1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo4LjVyZW19LmxnLW1hcmdpbi05LXJlbS10b3B7bWFyZ2luLXRvcDo5cmVtfS5sZy1tYXJnaW4tOS1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo5LjVyZW19LmxnLW1hcmdpbi0xMC1yZW0tdG9we21hcmdpbi10b3A6MTByZW19LmxnLW1hcmdpbi0xMC1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDoxMC41cmVtfS5sZy1tYXJnaW4tb25lLWJvdHRvbXttYXJnaW4tYm90dG9tOjElfS5sZy1tYXJnaW4tdHdvLWJvdHRvbXttYXJnaW4tYm90dG9tOjIlfS5sZy1tYXJnaW4tdGhyZWUtYm90dG9te21hcmdpbi1ib3R0b206MyV9LmxnLW1hcmdpbi1mb3VyLWJvdHRvbXttYXJnaW4tYm90dG9tOjQlfS5sZy1tYXJnaW4tZml2ZS1ib3R0b217bWFyZ2luLWJvdHRvbTo1JX0ubGctbWFyZ2luLXNpeC1ib3R0b217bWFyZ2luLWJvdHRvbTo2JX0ubGctbWFyZ2luLXNldmVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjclfS5sZy1tYXJnaW4tZWlnaHQtYm90dG9te21hcmdpbi1ib3R0b206OCV9LmxnLW1hcmdpbi1uaW5lLWJvdHRvbXttYXJnaW4tYm90dG9tOjklfS5sZy1tYXJnaW4tdGVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjEwJX0ubGctbWFyZ2luLWVsZXZlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxMSV9LmxnLW1hcmdpbi10d2VsdmUtYm90dG9te21hcmdpbi1ib3R0b206MTIlfS5sZy1tYXJnaW4tdGhpcnRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTMlfS5sZy1tYXJnaW4tZm91cnRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTQlfS5sZy1tYXJnaW4tZmlmdGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxNSV9LmxnLW1hcmdpbi1zaXh0ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE2JX0ubGctbWFyZ2luLXNldmVudGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxNyV9LmxnLW1hcmdpbi1laWdodGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxOCV9LmxnLW1hcmdpbi1uaW5ldGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxOSV9LmxnLW1hcmdpbi10d2VudHktYm90dG9te21hcmdpbi1ib3R0b206MjAlfS5sZy1tYXJnaW4tNXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjVweH0ubGctbWFyZ2luLTEwcHgtYm90dG9te21hcmdpbi1ib3R0b206MTBweH0ubGctbWFyZ2luLTE1cHgtYm90dG9te21hcmdpbi1ib3R0b206MTVweH0ubGctbWFyZ2luLTIwcHgtYm90dG9te21hcmdpbi1ib3R0b206MjBweH0ubGctbWFyZ2luLTI1cHgtYm90dG9te21hcmdpbi1ib3R0b206MjVweH0ubGctbWFyZ2luLTMwcHgtYm90dG9te21hcmdpbi1ib3R0b206MzBweH0ubGctbWFyZ2luLTM1cHgtYm90dG9te21hcmdpbi1ib3R0b206MzVweH0ubGctbWFyZ2luLTQwcHgtYm90dG9te21hcmdpbi1ib3R0b206NDBweH0ubGctbWFyZ2luLTQ1cHgtYm90dG9te21hcmdpbi1ib3R0b206NDVweH0ubGctbWFyZ2luLTUwcHgtYm90dG9te21hcmdpbi1ib3R0b206NTBweH0ubGctbWFyZ2luLTU1cHgtYm90dG9te21hcmdpbi1ib3R0b206NTVweH0ubGctbWFyZ2luLTYwcHgtYm90dG9te21hcmdpbi1ib3R0b206NjBweH0ubGctbWFyZ2luLTY1cHgtYm90dG9te21hcmdpbi1ib3R0b206NjVweH0ubGctbWFyZ2luLTcwcHgtYm90dG9te21hcmdpbi1ib3R0b206NzBweH0ubGctbWFyZ2luLTc1cHgtYm90dG9te21hcmdpbi1ib3R0b206NzVweH0ubGctbWFyZ2luLTgwcHgtYm90dG9te21hcmdpbi1ib3R0b206ODBweH0ubGctbWFyZ2luLTg1cHgtYm90dG9te21hcmdpbi1ib3R0b206ODVweH0ubGctbWFyZ2luLTkwcHgtYm90dG9te21hcmdpbi1ib3R0b206OTBweH0ubGctbWFyZ2luLTk1cHgtYm90dG9te21hcmdpbi1ib3R0b206OTVweH0ubGctbWFyZ2luLTEwMHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjEwMHB4fS5sZy1tYXJnaW4tMS1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MXJlbX0ubGctbWFyZ2luLTEtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MS41cmVtfS5sZy1tYXJnaW4tMi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MnJlbX0ubGctbWFyZ2luLTItaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206Mi41cmVtfS5sZy1tYXJnaW4tMy1yZW0tYm90dG9te21hcmdpbi1ib3R0b206M3JlbX0ubGctbWFyZ2luLTMtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206My41cmVtfS5sZy1tYXJnaW4tNC1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NHJlbX0ubGctbWFyZ2luLTQtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NC41cmVtfS5sZy1tYXJnaW4tNS1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NXJlbX0ubGctbWFyZ2luLTUtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NS41cmVtfS5sZy1tYXJnaW4tNi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NnJlbX0ubGctbWFyZ2luLTYtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206Ni41cmVtfS5sZy1tYXJnaW4tNy1yZW0tYm90dG9te21hcmdpbi1ib3R0b206N3JlbX0ubGctbWFyZ2luLTctaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206Ny41cmVtfS5sZy1tYXJnaW4tOC1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OHJlbX0ubGctbWFyZ2luLTgtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OC41cmVtfS5sZy1tYXJnaW4tOS1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OXJlbX0ubGctbWFyZ2luLTktaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OS41cmVtfS5sZy1tYXJnaW4tMTAtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjEwcmVtfS5sZy1tYXJnaW4tMTAtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MTAuNXJlbX0ubGctbWFyZ2luLW9uZS1yaWdodHttYXJnaW4tcmlnaHQ6MSV9LmxnLW1hcmdpbi10d28tcmlnaHR7bWFyZ2luLXJpZ2h0OjIlfS5sZy1tYXJnaW4tdGhyZWUtcmlnaHR7bWFyZ2luLXJpZ2h0OjMlfS5sZy1tYXJnaW4tZm91ci1yaWdodHttYXJnaW4tcmlnaHQ6NCV9LmxnLW1hcmdpbi1maXZlLXJpZ2h0e21hcmdpbi1yaWdodDo1JX0ubGctbWFyZ2luLXNpeC1yaWdodHttYXJnaW4tcmlnaHQ6NiV9LmxnLW1hcmdpbi1zZXZlbi1yaWdodHttYXJnaW4tcmlnaHQ6NyV9LmxnLW1hcmdpbi1laWdodC1yaWdodHttYXJnaW4tcmlnaHQ6OCV9LmxnLW1hcmdpbi1uaW5lLXJpZ2h0e21hcmdpbi1yaWdodDo5JX0ubGctbWFyZ2luLXRlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTAlfS5sZy1tYXJnaW4tZWxldmVuLXJpZ2h0e21hcmdpbi1yaWdodDoxMSV9LmxnLW1hcmdpbi10d2VsdmUtcmlnaHR7bWFyZ2luLXJpZ2h0OjEyJX0ubGctbWFyZ2luLXRoaXJ0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxMyV9LmxnLW1hcmdpbi1mb3VydGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTQlfS5sZy1tYXJnaW4tZmlmdGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTUlfS5sZy1tYXJnaW4tc2l4dGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTYlfS5sZy1tYXJnaW4tc2V2ZW50ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxNyV9LmxnLW1hcmdpbi1laWdodGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTglfS5sZy1tYXJnaW4tbmluZXRlZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjE5JX0ubGctbWFyZ2luLXR3ZW50eS1yaWdodHttYXJnaW4tcmlnaHQ6MjAlfS5sZy1tYXJnaW4tNXB4LXJpZ2h0e21hcmdpbi1yaWdodDo1cHh9LmxnLW1hcmdpbi0xMHB4LXJpZ2h0e21hcmdpbi1yaWdodDoxMHB4fS5sZy1tYXJnaW4tMTVweC1yaWdodHttYXJnaW4tcmlnaHQ6MTVweH0ubGctbWFyZ2luLTIwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjIwcHh9LmxnLW1hcmdpbi0yNXB4LXJpZ2h0e21hcmdpbi1yaWdodDoyNXB4fS5sZy1tYXJnaW4tMzBweC1yaWdodHttYXJnaW4tcmlnaHQ6MzBweH0ubGctbWFyZ2luLTM1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjM1cHh9LmxnLW1hcmdpbi00MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo0MHB4fS5sZy1tYXJnaW4tNDVweC1yaWdodHttYXJnaW4tcmlnaHQ6NDVweH0ubGctbWFyZ2luLTUwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjUwcHh9LmxnLW1hcmdpbi01NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo1NXB4fS5sZy1tYXJnaW4tNjBweC1yaWdodHttYXJnaW4tcmlnaHQ6NjBweH0ubGctbWFyZ2luLTY1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjY1cHh9LmxnLW1hcmdpbi03MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo3MHB4fS5sZy1tYXJnaW4tNzVweC1yaWdodHttYXJnaW4tcmlnaHQ6NzVweH0ubGctbWFyZ2luLTgwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjgwcHh9LmxnLW1hcmdpbi04NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo4NXB4fS5sZy1tYXJnaW4tOTBweC1yaWdodHttYXJnaW4tcmlnaHQ6OTBweH0ubGctbWFyZ2luLTk1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0Ojk1cHh9LmxnLW1hcmdpbi0xMDBweC1yaWdodHttYXJnaW4tcmlnaHQ6MTAwcHh9LmxnLW1hcmdpbi0xLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6MXJlbX0ubGctbWFyZ2luLTEtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjEuNXJlbX0ubGctbWFyZ2luLTItcmVtLXJpZ2h0e21hcmdpbi1yaWdodDoycmVtfS5sZy1tYXJnaW4tMi1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6Mi41cmVtfS5sZy1tYXJnaW4tMy1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjNyZW19LmxnLW1hcmdpbi0zLWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDozLjVyZW19LmxnLW1hcmdpbi00LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6NHJlbX0ubGctbWFyZ2luLTQtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjQuNXJlbX0ubGctbWFyZ2luLTUtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo1cmVtfS5sZy1tYXJnaW4tNS1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6NS41cmVtfS5sZy1tYXJnaW4tNi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjZyZW19LmxnLW1hcmdpbi02LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo2LjVyZW19LmxnLW1hcmdpbi03LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6N3JlbX0ubGctbWFyZ2luLTctaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjcuNXJlbX0ubGctbWFyZ2luLTgtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo4cmVtfS5sZy1tYXJnaW4tOC1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6OC41cmVtfS5sZy1tYXJnaW4tOS1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjlyZW19LmxnLW1hcmdpbi05LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo5LjVyZW19LmxnLW1hcmdpbi0xMC1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjEwcmVtfS5sZy1tYXJnaW4tMTAtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjEwLjVyZW19LmxnLW1hcmdpbi1vbmUtbGVmdHttYXJnaW4tbGVmdDoxJX0ubGctbWFyZ2luLXR3by1sZWZ0e21hcmdpbi1sZWZ0OjIlfS5sZy1tYXJnaW4tdGhyZWUtbGVmdHttYXJnaW4tbGVmdDozJX0ubGctbWFyZ2luLWZvdXItbGVmdHttYXJnaW4tbGVmdDo0JX0ubGctbWFyZ2luLWZpdmUtbGVmdHttYXJnaW4tbGVmdDo1JX0ubGctbWFyZ2luLXNpeC1sZWZ0e21hcmdpbi1sZWZ0OjYlfS5sZy1tYXJnaW4tc2V2ZW4tbGVmdHttYXJnaW4tbGVmdDo3JX0ubGctbWFyZ2luLWVpZ2h0LWxlZnR7bWFyZ2luLWxlZnQ6OCV9LmxnLW1hcmdpbi1uaW5lLWxlZnR7bWFyZ2luLWxlZnQ6OSV9LmxnLW1hcmdpbi10ZW4tbGVmdHttYXJnaW4tbGVmdDoxMCV9LmxnLW1hcmdpbi1lbGV2ZW4tbGVmdHttYXJnaW4tbGVmdDoxMSV9LmxnLW1hcmdpbi10d2VsdmUtbGVmdHttYXJnaW4tbGVmdDoxMiV9LmxnLW1hcmdpbi10aGlydGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjEzJX0ubGctbWFyZ2luLWZvdXJ0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTQlfS5sZy1tYXJnaW4tZmlmdGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE1JX0ubGctbWFyZ2luLXNpeHRlZW4tbGVmdHttYXJnaW4tbGVmdDoxNiV9LmxnLW1hcmdpbi1zZXZlbnRlZW4tbGVmdHttYXJnaW4tbGVmdDoxNyV9LmxnLW1hcmdpbi1laWdodGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE4JX0ubGctbWFyZ2luLW5pbmV0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTklfS5sZy1tYXJnaW4tdHdlbnR5LWxlZnR7bWFyZ2luLWxlZnQ6MjAlfS5sZy1tYXJnaW4tNXB4LWxlZnR7bWFyZ2luLWxlZnQ6NXB4fS5sZy1tYXJnaW4tMTBweC1sZWZ0e21hcmdpbi1sZWZ0OjEwcHh9LmxnLW1hcmdpbi0xNXB4LWxlZnR7bWFyZ2luLWxlZnQ6MTVweH0ubGctbWFyZ2luLTIwcHgtbGVmdHttYXJnaW4tbGVmdDoyMHB4fS5sZy1tYXJnaW4tMjVweC1sZWZ0e21hcmdpbi1sZWZ0OjI1cHh9LmxnLW1hcmdpbi0zMHB4LWxlZnR7bWFyZ2luLWxlZnQ6MzBweH0ubGctbWFyZ2luLTM1cHgtbGVmdHttYXJnaW4tbGVmdDozNXB4fS5sZy1tYXJnaW4tNDBweC1sZWZ0e21hcmdpbi1sZWZ0OjQwcHh9LmxnLW1hcmdpbi00NXB4LWxlZnR7bWFyZ2luLWxlZnQ6NDVweH0ubGctbWFyZ2luLTUwcHgtbGVmdHttYXJnaW4tbGVmdDo1MHB4fS5sZy1tYXJnaW4tNTVweC1sZWZ0e21hcmdpbi1sZWZ0OjU1cHh9LmxnLW1hcmdpbi02MHB4LWxlZnR7bWFyZ2luLWxlZnQ6NjBweH0ubGctbWFyZ2luLTY1cHgtbGVmdHttYXJnaW4tbGVmdDo2NXB4fS5sZy1tYXJnaW4tNzBweC1sZWZ0e21hcmdpbi1sZWZ0OjcwcHh9LmxnLW1hcmdpbi03NXB4LWxlZnR7bWFyZ2luLWxlZnQ6NzVweH0ubGctbWFyZ2luLTgwcHgtbGVmdHttYXJnaW4tbGVmdDo4MHB4fS5sZy1tYXJnaW4tODVweC1sZWZ0e21hcmdpbi1sZWZ0Ojg1cHh9LmxnLW1hcmdpbi05MHB4LWxlZnR7bWFyZ2luLWxlZnQ6OTBweH0ubGctbWFyZ2luLTk1cHgtbGVmdHttYXJnaW4tbGVmdDo5NXB4fS5sZy1tYXJnaW4tMTAwcHgtbGVmdHttYXJnaW4tbGVmdDoxMDBweH0ubGctbWFyZ2luLTEtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6MXJlbX0ubGctbWFyZ2luLTEtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDoxLjVyZW19LmxnLW1hcmdpbi0yLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjJyZW19LmxnLW1hcmdpbi0yLWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6Mi41cmVtfS5sZy1tYXJnaW4tMy1yZW0tbGVmdHttYXJnaW4tbGVmdDozcmVtfS5sZy1tYXJnaW4tMy1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjMuNXJlbX0ubGctbWFyZ2luLTQtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6NHJlbX0ubGctbWFyZ2luLTQtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo0LjVyZW19LmxnLW1hcmdpbi01LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjVyZW19LmxnLW1hcmdpbi01LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6NS41cmVtfS5sZy1tYXJnaW4tNi1yZW0tbGVmdHttYXJnaW4tbGVmdDo2cmVtfS5sZy1tYXJnaW4tNi1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjYuNXJlbX0ubGctbWFyZ2luLTctcmVtLWxlZnR7bWFyZ2luLWxlZnQ6N3JlbX0ubGctbWFyZ2luLTctaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo3LjVyZW19LmxnLW1hcmdpbi04LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjhyZW19LmxnLW1hcmdpbi04LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6OC41cmVtfS5sZy1tYXJnaW4tOS1yZW0tbGVmdHttYXJnaW4tbGVmdDo5cmVtfS5sZy1tYXJnaW4tOS1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjkuNXJlbX0ubGctbWFyZ2luLTEwLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjEwcmVtfS5sZy1tYXJnaW4tMTAtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDoxMC41cmVtfS5sZy1tYXJnaW4tb25lLWxye21hcmdpbi1sZWZ0OjElO21hcmdpbi1yaWdodDoxJX0ubGctbWFyZ2luLXR3by1scnttYXJnaW4tbGVmdDoyJTttYXJnaW4tcmlnaHQ6MiV9LmxnLW1hcmdpbi10aHJlZS1scnttYXJnaW4tbGVmdDozJTttYXJnaW4tcmlnaHQ6MyV9LmxnLW1hcmdpbi1mb3VyLWxye21hcmdpbi1sZWZ0OjQlO21hcmdpbi1yaWdodDo0JX0ubGctbWFyZ2luLWZpdmUtbHJ7bWFyZ2luLWxlZnQ6NSU7bWFyZ2luLXJpZ2h0OjUlfS5sZy1tYXJnaW4tc2l4LWxye21hcmdpbi1sZWZ0OjYlO21hcmdpbi1yaWdodDo2JX0ubGctbWFyZ2luLXNldmVuLWxye21hcmdpbi1sZWZ0OjclO21hcmdpbi1yaWdodDo3JX0ubGctbWFyZ2luLWVpZ2h0LWxye21hcmdpbi1sZWZ0OjglO21hcmdpbi1yaWdodDo4JX0ubGctbWFyZ2luLW5pbmUtbHJ7bWFyZ2luLWxlZnQ6OSU7bWFyZ2luLXJpZ2h0OjklfS5sZy1tYXJnaW4tdGVuLWxye21hcmdpbi1sZWZ0OjEwJTttYXJnaW4tcmlnaHQ6MTAlfS5sZy1tYXJnaW4tZWxldmVuLWxye21hcmdpbi1sZWZ0OjExJTttYXJnaW4tcmlnaHQ6MTElfS5sZy1tYXJnaW4tdHdlbHZlLWxye21hcmdpbi1sZWZ0OjEyJTttYXJnaW4tcmlnaHQ6MTIlfS5sZy1tYXJnaW4tdGhpcnRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTMlO21hcmdpbi1yaWdodDoxMyV9LmxnLW1hcmdpbi1mb3VydGVlbi1scnttYXJnaW4tbGVmdDoxNCU7bWFyZ2luLXJpZ2h0OjE0JX0ubGctbWFyZ2luLWZpZnRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTUlO21hcmdpbi1yaWdodDoxNSV9LmxnLW1hcmdpbi1zaXh0ZWVuLWxye21hcmdpbi1sZWZ0OjE2JTttYXJnaW4tcmlnaHQ6MTYlfS5sZy1tYXJnaW4tc2V2ZW50ZWVuLWxye21hcmdpbi1sZWZ0OjE3JTttYXJnaW4tcmlnaHQ6MTclfS5sZy1tYXJnaW4tZWlnaHRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTglO21hcmdpbi1yaWdodDoxOCV9LmxnLW1hcmdpbi1uaW5ldGVlbi1scnttYXJnaW4tbGVmdDoxOSU7bWFyZ2luLXJpZ2h0OjE5JX0ubGctbWFyZ2luLXR3ZW50eS1scnttYXJnaW4tbGVmdDoyMCU7bWFyZ2luLXJpZ2h0OjIwJX0ubGctbWFyZ2luLTVweC1scnttYXJnaW4tbGVmdDo1cHg7bWFyZ2luLXJpZ2h0OjVweH0ubGctbWFyZ2luLTEwcHgtbHJ7bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ubGctbWFyZ2luLTE1cHgtbHJ7bWFyZ2luLWxlZnQ6MTVweDttYXJnaW4tcmlnaHQ6MTVweH0ubGctbWFyZ2luLTIwcHgtbHJ7bWFyZ2luLWxlZnQ6MjBweDttYXJnaW4tcmlnaHQ6MjBweH0ubGctbWFyZ2luLTI1cHgtbHJ7bWFyZ2luLWxlZnQ6MjVweDttYXJnaW4tcmlnaHQ6MjVweH0ubGctbWFyZ2luLTMwcHgtbHJ7bWFyZ2luLWxlZnQ6MzBweDttYXJnaW4tcmlnaHQ6MzBweH0ubGctbWFyZ2luLTM1cHgtbHJ7bWFyZ2luLWxlZnQ6MzVweDttYXJnaW4tcmlnaHQ6MzVweH0ubGctbWFyZ2luLTQwcHgtbHJ7bWFyZ2luLWxlZnQ6NDBweDttYXJnaW4tcmlnaHQ6NDBweH0ubGctbWFyZ2luLTQ1cHgtbHJ7bWFyZ2luLWxlZnQ6NDVweDttYXJnaW4tcmlnaHQ6NDVweH0ubGctbWFyZ2luLTUwcHgtbHJ7bWFyZ2luLWxlZnQ6NTBweDttYXJnaW4tcmlnaHQ6NTBweH0ubGctbWFyZ2luLTU1cHgtbHJ7bWFyZ2luLWxlZnQ6NTVweDttYXJnaW4tcmlnaHQ6NTVweH0ubGctbWFyZ2luLTYwcHgtbHJ7bWFyZ2luLWxlZnQ6NjBweDttYXJnaW4tcmlnaHQ6NjBweH0ubGctbWFyZ2luLTY1cHgtbHJ7bWFyZ2luLWxlZnQ6NjVweDttYXJnaW4tcmlnaHQ6NjVweH0ubGctbWFyZ2luLTcwcHgtbHJ7bWFyZ2luLWxlZnQ6NzBweDttYXJnaW4tcmlnaHQ6NzBweH0ubGctbWFyZ2luLTc1cHgtbHJ7bWFyZ2luLWxlZnQ6NzVweDttYXJnaW4tcmlnaHQ6NzVweH0ubGctbWFyZ2luLTgwcHgtbHJ7bWFyZ2luLWxlZnQ6ODBweDttYXJnaW4tcmlnaHQ6ODBweH0ubGctbWFyZ2luLTg1cHgtbHJ7bWFyZ2luLWxlZnQ6ODVweDttYXJnaW4tcmlnaHQ6ODVweH0ubGctbWFyZ2luLTkwcHgtbHJ7bWFyZ2luLWxlZnQ6OTBweDttYXJnaW4tcmlnaHQ6OTBweH0ubGctbWFyZ2luLTk1cHgtbHJ7bWFyZ2luLWxlZnQ6OTVweDttYXJnaW4tcmlnaHQ6OTVweH0ubGctbWFyZ2luLTEwMHB4LWxye21hcmdpbi1sZWZ0OjEwMHB4O21hcmdpbi1yaWdodDoxMDBweH0ubGctbWFyZ2luLTEtcmVtLWxye21hcmdpbi1sZWZ0OjFyZW07bWFyZ2luLXJpZ2h0OjFyZW19LmxnLW1hcmdpbi0xLWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjEuNXJlbTttYXJnaW4tcmlnaHQ6MS41cmVtfS5sZy1tYXJnaW4tMi1yZW0tbHJ7bWFyZ2luLWxlZnQ6MnJlbTttYXJnaW4tcmlnaHQ6MnJlbX0ubGctbWFyZ2luLTItaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6Mi41cmVtO21hcmdpbi1yaWdodDoyLjVyZW19LmxnLW1hcmdpbi0zLXJlbS1scnttYXJnaW4tbGVmdDozcmVtO21hcmdpbi1yaWdodDozcmVtfS5sZy1tYXJnaW4tMy1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDozLjVyZW07bWFyZ2luLXJpZ2h0OjMuNXJlbX0ubGctbWFyZ2luLTQtcmVtLWxye21hcmdpbi1sZWZ0OjRyZW07bWFyZ2luLXJpZ2h0OjRyZW19LmxnLW1hcmdpbi00LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjQuNXJlbTttYXJnaW4tcmlnaHQ6NC41cmVtfS5sZy1tYXJnaW4tNS1yZW0tbHJ7bWFyZ2luLWxlZnQ6NXJlbTttYXJnaW4tcmlnaHQ6NXJlbX0ubGctbWFyZ2luLTUtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6NS41cmVtO21hcmdpbi1yaWdodDo1LjVyZW19LmxnLW1hcmdpbi02LXJlbS1scnttYXJnaW4tbGVmdDo2cmVtO21hcmdpbi1yaWdodDo2cmVtfS5sZy1tYXJnaW4tNi1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo2LjVyZW07bWFyZ2luLXJpZ2h0OjYuNXJlbX0ubGctbWFyZ2luLTctcmVtLWxye21hcmdpbi1sZWZ0OjdyZW07bWFyZ2luLXJpZ2h0OjdyZW19LmxnLW1hcmdpbi03LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjcuNXJlbTttYXJnaW4tcmlnaHQ6Ny41cmVtfS5sZy1tYXJnaW4tOC1yZW0tbHJ7bWFyZ2luLWxlZnQ6OHJlbTttYXJnaW4tcmlnaHQ6OHJlbX0ubGctbWFyZ2luLTgtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6OC41cmVtO21hcmdpbi1yaWdodDo4LjVyZW19LmxnLW1hcmdpbi05LXJlbS1scnttYXJnaW4tbGVmdDo5cmVtO21hcmdpbi1yaWdodDo5cmVtfS5sZy1tYXJnaW4tOS1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo5LjVyZW07bWFyZ2luLXJpZ2h0OjkuNXJlbX0ubGctbWFyZ2luLTEwLXJlbS1scnttYXJnaW4tbGVmdDoxMHJlbTttYXJnaW4tcmlnaHQ6MTByZW19LmxnLW1hcmdpbi0xMC1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDoxMC41cmVtO21hcmdpbi1yaWdodDoxMC41cmVtfS5sZy1tYXJnaW4tb25lLXRie21hcmdpbi10b3A6MSU7bWFyZ2luLWJvdHRvbToxJX0ubGctbWFyZ2luLXR3by10YnttYXJnaW4tdG9wOjIlO21hcmdpbi1ib3R0b206MiV9LmxnLW1hcmdpbi10aHJlZS10YnttYXJnaW4tdG9wOjMlO21hcmdpbi1ib3R0b206MyV9LmxnLW1hcmdpbi1mb3VyLXRie21hcmdpbi10b3A6NCU7bWFyZ2luLWJvdHRvbTo0JX0ubGctbWFyZ2luLWZpdmUtdGJ7bWFyZ2luLXRvcDo1JTttYXJnaW4tYm90dG9tOjUlfS5sZy1tYXJnaW4tc2l4LXRie21hcmdpbi10b3A6NiU7bWFyZ2luLWJvdHRvbTo2JX0ubGctbWFyZ2luLXNldmVuLXRie21hcmdpbi10b3A6NyU7bWFyZ2luLWJvdHRvbTo3JX0ubGctbWFyZ2luLWVpZ2h0LXRie21hcmdpbi10b3A6OCU7bWFyZ2luLWJvdHRvbTo4JX0ubGctbWFyZ2luLW5pbmUtdGJ7bWFyZ2luLXRvcDo5JTttYXJnaW4tYm90dG9tOjklfS5sZy1tYXJnaW4tdGVuLXRie21hcmdpbi10b3A6MTAlO21hcmdpbi1ib3R0b206MTAlfS5sZy1tYXJnaW4tZWxldmVuLXRie21hcmdpbi10b3A6MTElO21hcmdpbi1ib3R0b206MTElfS5sZy1tYXJnaW4tdHdlbHZlLXRie21hcmdpbi10b3A6MTIlO21hcmdpbi1ib3R0b206MTIlfS5sZy1tYXJnaW4tdGhpcnRlZW4tdGJ7bWFyZ2luLXRvcDoxMyU7bWFyZ2luLWJvdHRvbToxMyV9LmxnLW1hcmdpbi1mb3VydGVlbi10YnttYXJnaW4tdG9wOjE0JTttYXJnaW4tYm90dG9tOjE0JX0ubGctbWFyZ2luLWZpZnRlZW4tdGJ7bWFyZ2luLXRvcDoxNSU7bWFyZ2luLWJvdHRvbToxNSV9LmxnLW1hcmdpbi1zaXh0ZWVuLXRie21hcmdpbi10b3A6MTYlO21hcmdpbi1ib3R0b206MTYlfS5sZy1tYXJnaW4tc2V2ZW50ZWVuLXRie21hcmdpbi10b3A6MTclO21hcmdpbi1ib3R0b206MTclfS5sZy1tYXJnaW4tZWlnaHRlZW4tdGJ7bWFyZ2luLXRvcDoxOCU7bWFyZ2luLWJvdHRvbToxOCV9LmxnLW1hcmdpbi1uaW5ldGVlbi10YnttYXJnaW4tdG9wOjE5JTttYXJnaW4tYm90dG9tOjE5JX0ubGctbWFyZ2luLXR3ZW50eS10YnttYXJnaW4tdG9wOjIwJTttYXJnaW4tYm90dG9tOjIwJX0ubGctbWFyZ2luLTVweC10YnttYXJnaW4tdG9wOjVweDttYXJnaW4tYm90dG9tOjVweH0ubGctbWFyZ2luLTEwcHgtdGJ7bWFyZ2luLXRvcDoxMHB4O21hcmdpbi1ib3R0b206MTBweH0ubGctbWFyZ2luLTE1cHgtdGJ7bWFyZ2luLXRvcDoxNXB4O21hcmdpbi1ib3R0b206MTVweH0ubGctbWFyZ2luLTIwcHgtdGJ7bWFyZ2luLXRvcDoyMHB4O21hcmdpbi1ib3R0b206MjBweH0ubGctbWFyZ2luLTI1cHgtdGJ7bWFyZ2luLXRvcDoyNXB4O21hcmdpbi1ib3R0b206MjVweH0ubGctbWFyZ2luLTMwcHgtdGJ7bWFyZ2luLXRvcDozMHB4O21hcmdpbi1ib3R0b206MzBweH0ubGctbWFyZ2luLTM1cHgtdGJ7bWFyZ2luLXRvcDozNXB4O21hcmdpbi1ib3R0b206MzVweH0ubGctbWFyZ2luLTQwcHgtdGJ7bWFyZ2luLXRvcDo0MHB4O21hcmdpbi1ib3R0b206NDBweH0ubGctbWFyZ2luLTQ1cHgtdGJ7bWFyZ2luLXRvcDo0NXB4O21hcmdpbi1ib3R0b206NDVweH0ubGctbWFyZ2luLTUwcHgtdGJ7bWFyZ2luLXRvcDo1MHB4O21hcmdpbi1ib3R0b206NTBweH0ubGctbWFyZ2luLTU1cHgtdGJ7bWFyZ2luLXRvcDo1NXB4O21hcmdpbi1ib3R0b206NTVweH0ubGctbWFyZ2luLTYwcHgtdGJ7bWFyZ2luLXRvcDo2MHB4O21hcmdpbi1ib3R0b206NjBweH0ubGctbWFyZ2luLTY1cHgtdGJ7bWFyZ2luLXRvcDo2NXB4O21hcmdpbi1ib3R0b206NjVweH0ubGctbWFyZ2luLTcwcHgtdGJ7bWFyZ2luLXRvcDo3MHB4O21hcmdpbi1ib3R0b206NzBweH0ubGctbWFyZ2luLTc1cHgtdGJ7bWFyZ2luLXRvcDo3NXB4O21hcmdpbi1ib3R0b206NzVweH0ubGctbWFyZ2luLTgwcHgtdGJ7bWFyZ2luLXRvcDo4MHB4O21hcmdpbi1ib3R0b206ODBweH0ubGctbWFyZ2luLTg1cHgtdGJ7bWFyZ2luLXRvcDo4NXB4O21hcmdpbi1ib3R0b206ODVweH0ubGctbWFyZ2luLTkwcHgtdGJ7bWFyZ2luLXRvcDo5MHB4O21hcmdpbi1ib3R0b206OTBweH0ubGctbWFyZ2luLTk1cHgtdGJ7bWFyZ2luLXRvcDo5NXB4O21hcmdpbi1ib3R0b206OTVweH0ubGctbWFyZ2luLTEwMHB4LXRie21hcmdpbi10b3A6MTAwcHg7bWFyZ2luLWJvdHRvbToxMDBweH0ubGctbWFyZ2luLTEtcmVtLXRie21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19LmxnLW1hcmdpbi0xLWhhbGYtcmVtLXRie21hcmdpbi10b3A6MS41cmVtO21hcmdpbi1ib3R0b206MS41cmVtfS5sZy1tYXJnaW4tMi1yZW0tdGJ7bWFyZ2luLXRvcDoycmVtO21hcmdpbi1ib3R0b206MnJlbX0ubGctbWFyZ2luLTItaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDoyLjVyZW07bWFyZ2luLWJvdHRvbToyLjVyZW19LmxnLW1hcmdpbi0zLXJlbS10YnttYXJnaW4tdG9wOjNyZW07bWFyZ2luLWJvdHRvbTozcmVtfS5sZy1tYXJnaW4tMy1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjMuNXJlbTttYXJnaW4tYm90dG9tOjMuNXJlbX0ubGctbWFyZ2luLTQtcmVtLXRie21hcmdpbi10b3A6NHJlbTttYXJnaW4tYm90dG9tOjRyZW19LmxnLW1hcmdpbi00LWhhbGYtcmVtLXRie21hcmdpbi10b3A6NC41cmVtO21hcmdpbi1ib3R0b206NC41cmVtfS5sZy1tYXJnaW4tNS1yZW0tdGJ7bWFyZ2luLXRvcDo1cmVtO21hcmdpbi1ib3R0b206NXJlbX0ubGctbWFyZ2luLTUtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo1LjVyZW07bWFyZ2luLWJvdHRvbTo1LjVyZW19LmxnLW1hcmdpbi02LXJlbS10YnttYXJnaW4tdG9wOjZyZW07bWFyZ2luLWJvdHRvbTo2cmVtfS5sZy1tYXJnaW4tNi1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjYuNXJlbTttYXJnaW4tYm90dG9tOjYuNXJlbX0ubGctbWFyZ2luLTctcmVtLXRie21hcmdpbi10b3A6N3JlbTttYXJnaW4tYm90dG9tOjdyZW19LmxnLW1hcmdpbi03LWhhbGYtcmVtLXRie21hcmdpbi10b3A6Ny41cmVtO21hcmdpbi1ib3R0b206Ny41cmVtfS5sZy1tYXJnaW4tOC1yZW0tdGJ7bWFyZ2luLXRvcDo4cmVtO21hcmdpbi1ib3R0b206OHJlbX0ubGctbWFyZ2luLTgtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo4LjVyZW07bWFyZ2luLWJvdHRvbTo4LjVyZW19LmxnLW1hcmdpbi05LXJlbS10YnttYXJnaW4tdG9wOjlyZW07bWFyZ2luLWJvdHRvbTo5cmVtfS5sZy1tYXJnaW4tOS1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjkuNXJlbTttYXJnaW4tYm90dG9tOjkuNXJlbX0ubGctbWFyZ2luLTEwLXJlbS10YnttYXJnaW4tdG9wOjEwcmVtO21hcmdpbi1ib3R0b206MTByZW19LmxnLW1hcmdpbi0xMC1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjEwLjVyZW07bWFyZ2luLWJvdHRvbToxMC41cmVtfS5sZy1tYXJnaW4tYXV0by1scnttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9LmxnLW1hcmdpbi1hdXRve21hcmdpbjphdXRvfS5sZy1uby1tYXJnaW57bWFyZ2luOjAhaW1wb3J0YW50fS5sZy1uby1tYXJnaW4tdG9we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9LmxnLW5vLW1hcmdpbi1ib3R0b217bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubGctbm8tbWFyZ2luLWxlZnR7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9LmxnLW5vLW1hcmdpbi1yaWdodHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9LmxnLW5vLW1hcmdpbi10YnttYXJnaW4tdG9wOjAhaW1wb3J0YW50O21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9LmxnLW5vLW1hcmdpbi1scnttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnQ7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9LmxnLXBhZGRpbmctb25lLWFsbHtwYWRkaW5nOjElfS5sZy1wYWRkaW5nLXR3by1hbGx7cGFkZGluZzoyJX0ubGctcGFkZGluZy10aHJlZS1hbGx7cGFkZGluZzozJX0ubGctcGFkZGluZy1mb3VyLWFsbHtwYWRkaW5nOjQlfS5sZy1wYWRkaW5nLWZpdmUtYWxse3BhZGRpbmc6NSV9LmxnLXBhZGRpbmctc2l4LWFsbHtwYWRkaW5nOjYlfS5sZy1wYWRkaW5nLXNldmVuLWFsbHtwYWRkaW5nOjclfS5sZy1wYWRkaW5nLWVpZ2h0LWFsbHtwYWRkaW5nOjglfS5sZy1wYWRkaW5nLW5pbmUtYWxse3BhZGRpbmc6OSV9LmxnLXBhZGRpbmctdGVuLWFsbHtwYWRkaW5nOjEwJX0ubGctcGFkZGluZy1lbGV2ZW4tYWxse3BhZGRpbmc6MTElfS5sZy1wYWRkaW5nLXR3ZWx2ZS1hbGx7cGFkZGluZzoxMiV9LmxnLXBhZGRpbmctdGhpcnRlZW4tYWxse3BhZGRpbmc6MTMlfS5sZy1wYWRkaW5nLWZvdXJ0ZWVuLWFsbHtwYWRkaW5nOjE0JX0ubGctcGFkZGluZy1maWZ0ZWVuLWFsbHtwYWRkaW5nOjE1JX0ubGctcGFkZGluZy1zaXh0ZWVuLWFsbHtwYWRkaW5nOjE2JX0ubGctcGFkZGluZy1zZXZlbnRlZW4tYWxse3BhZGRpbmc6MTclfS5sZy1wYWRkaW5nLWVpZ2h0ZWVuLWFsbHtwYWRkaW5nOjE4JX0ubGctcGFkZGluZy1uaW5ldGVlbi1hbGx7cGFkZGluZzoxOSV9LmxnLXBhZGRpbmctdHdlbnR5LWFsbHtwYWRkaW5nOjIwJX0ubGctcGFkZGluZy01cHgtYWxse3BhZGRpbmc6NXB4fS5sZy1wYWRkaW5nLTEwcHgtYWxse3BhZGRpbmc6MTBweH0ubGctcGFkZGluZy0xNXB4LWFsbHtwYWRkaW5nOjE1cHh9LmxnLXBhZGRpbmctMjBweC1hbGx7cGFkZGluZzoyMHB4fS5sZy1wYWRkaW5nLTI1cHgtYWxse3BhZGRpbmc6MjVweH0ubGctcGFkZGluZy0zMHB4LWFsbHtwYWRkaW5nOjMwcHh9LmxnLXBhZGRpbmctMzVweC1hbGx7cGFkZGluZzozNXB4fS5sZy1wYWRkaW5nLTQwcHgtYWxse3BhZGRpbmc6NDBweH0ubGctcGFkZGluZy00NXB4LWFsbHtwYWRkaW5nOjQ1cHh9LmxnLXBhZGRpbmctNTBweC1hbGx7cGFkZGluZzo1MHB4fS5sZy1wYWRkaW5nLTU1cHgtYWxse3BhZGRpbmc6NTVweH0ubGctcGFkZGluZy02MHB4LWFsbHtwYWRkaW5nOjYwcHh9LmxnLXBhZGRpbmctNjVweC1hbGx7cGFkZGluZzo2NXB4fS5sZy1wYWRkaW5nLTcwcHgtYWxse3BhZGRpbmc6NzBweH0ubGctcGFkZGluZy03NXB4LWFsbHtwYWRkaW5nOjc1cHh9LmxnLXBhZGRpbmctODBweC1hbGx7cGFkZGluZzo4MHB4fS5sZy1wYWRkaW5nLTg1cHgtYWxse3BhZGRpbmc6ODVweH0ubGctcGFkZGluZy05MHB4LWFsbHtwYWRkaW5nOjkwcHh9LmxnLXBhZGRpbmctOTVweC1hbGx7cGFkZGluZzo5NXB4fS5sZy1wYWRkaW5nLTEwMHB4LWFsbHtwYWRkaW5nOjEwMHB4fS5sZy1wYWRkaW5nLTEtcmVtLWFsbHtwYWRkaW5nOjFyZW19LmxnLXBhZGRpbmctMS1oYWxmLXJlbS1hbGx7cGFkZGluZzoxLjVyZW19LmxnLXBhZGRpbmctMi1yZW0tYWxse3BhZGRpbmc6MnJlbX0ubGctcGFkZGluZy0yLWhhbGYtcmVtLWFsbHtwYWRkaW5nOjIuNXJlbX0ubGctcGFkZGluZy0zLXJlbS1hbGx7cGFkZGluZzozcmVtfS5sZy1wYWRkaW5nLTMtaGFsZi1yZW0tYWxse3BhZGRpbmc6My41cmVtfS5sZy1wYWRkaW5nLTQtcmVtLWFsbHtwYWRkaW5nOjRyZW19LmxnLXBhZGRpbmctNC1oYWxmLXJlbS1hbGx7cGFkZGluZzo0LjVyZW19LmxnLXBhZGRpbmctNS1yZW0tYWxse3BhZGRpbmc6NXJlbX0ubGctcGFkZGluZy01LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjUuNXJlbX0ubGctcGFkZGluZy02LXJlbS1hbGx7cGFkZGluZzo2cmVtfS5sZy1wYWRkaW5nLTYtaGFsZi1yZW0tYWxse3BhZGRpbmc6Ni41cmVtfS5sZy1wYWRkaW5nLTctcmVtLWFsbHtwYWRkaW5nOjdyZW19LmxnLXBhZGRpbmctNy1oYWxmLXJlbS1hbGx7cGFkZGluZzo3LjVyZW19LmxnLXBhZGRpbmctOC1yZW0tYWxse3BhZGRpbmc6OHJlbX0ubGctcGFkZGluZy04LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjguNXJlbX0ubGctcGFkZGluZy05LXJlbS1hbGx7cGFkZGluZzo5cmVtfS5sZy1wYWRkaW5nLTktaGFsZi1yZW0tYWxse3BhZGRpbmc6OS41cmVtfS5sZy1wYWRkaW5nLTEwLXJlbS1hbGx7cGFkZGluZzoxMHJlbX0ubGctcGFkZGluZy0xMC1oYWxmLXJlbS1hbGx7cGFkZGluZzoxMC41cmVtfS5sZy1wYWRkaW5nLW9uZS10b3B7cGFkZGluZy10b3A6MSV9LmxnLXBhZGRpbmctdHdvLXRvcHtwYWRkaW5nLXRvcDoyJX0ubGctcGFkZGluZy10aHJlZS10b3B7cGFkZGluZy10b3A6MyV9LmxnLXBhZGRpbmctZm91ci10b3B7cGFkZGluZy10b3A6NCV9LmxnLXBhZGRpbmctZml2ZS10b3B7cGFkZGluZy10b3A6NSV9LmxnLXBhZGRpbmctc2l4LXRvcHtwYWRkaW5nLXRvcDo2JX0ubGctcGFkZGluZy1zZXZlbi10b3B7cGFkZGluZy10b3A6NyV9LmxnLXBhZGRpbmctZWlnaHQtdG9we3BhZGRpbmctdG9wOjglfS5sZy1wYWRkaW5nLW5pbmUtdG9we3BhZGRpbmctdG9wOjklfS5sZy1wYWRkaW5nLXRlbi10b3B7cGFkZGluZy10b3A6MTAlfS5sZy1wYWRkaW5nLWVsZXZlbi10b3B7cGFkZGluZy10b3A6MTElfS5sZy1wYWRkaW5nLXR3ZWx2ZS10b3B7cGFkZGluZy10b3A6MTIlfS5sZy1wYWRkaW5nLXRoaXJ0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxMyV9LmxnLXBhZGRpbmctZm91cnRlZW4tdG9we3BhZGRpbmctdG9wOjE0JX0ubGctcGFkZGluZy1maWZ0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxNSV9LmxnLXBhZGRpbmctc2l4dGVlbi10b3B7cGFkZGluZy10b3A6MTYlfS5sZy1wYWRkaW5nLXNldmVudGVlbi10b3B7cGFkZGluZy10b3A6MTclfS5sZy1wYWRkaW5nLWVpZ2h0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxOCV9LmxnLXBhZGRpbmctbmluZXRlZW4tdG9we3BhZGRpbmctdG9wOjE5JX0ubGctcGFkZGluZy10d2VudHktdG9we3BhZGRpbmctdG9wOjIwJX0ubGctcGFkZGluZy01cHgtdG9we3BhZGRpbmctdG9wOjVweH0ubGctcGFkZGluZy0xMHB4LXRvcHtwYWRkaW5nLXRvcDoxMHB4fS5sZy1wYWRkaW5nLTE1cHgtdG9we3BhZGRpbmctdG9wOjE1cHh9LmxnLXBhZGRpbmctMjBweC10b3B7cGFkZGluZy10b3A6MjBweH0ubGctcGFkZGluZy0yNXB4LXRvcHtwYWRkaW5nLXRvcDoyNXB4fS5sZy1wYWRkaW5nLTMwcHgtdG9we3BhZGRpbmctdG9wOjMwcHh9LmxnLXBhZGRpbmctMzVweC10b3B7cGFkZGluZy10b3A6MzVweH0ubGctcGFkZGluZy00MHB4LXRvcHtwYWRkaW5nLXRvcDo0MHB4fS5sZy1wYWRkaW5nLTQ1cHgtdG9we3BhZGRpbmctdG9wOjQ1cHh9LmxnLXBhZGRpbmctNTBweC10b3B7cGFkZGluZy10b3A6NTBweH0ubGctcGFkZGluZy01NXB4LXRvcHtwYWRkaW5nLXRvcDo1NXB4fS5sZy1wYWRkaW5nLTYwcHgtdG9we3BhZGRpbmctdG9wOjYwcHh9LmxnLXBhZGRpbmctNjVweC10b3B7cGFkZGluZy10b3A6NjVweH0ubGctcGFkZGluZy03MHB4LXRvcHtwYWRkaW5nLXRvcDo3MHB4fS5sZy1wYWRkaW5nLTc1cHgtdG9we3BhZGRpbmctdG9wOjc1cHh9LmxnLXBhZGRpbmctODBweC10b3B7cGFkZGluZy10b3A6ODBweH0ubGctcGFkZGluZy04NXB4LXRvcHtwYWRkaW5nLXRvcDo4NXB4fS5sZy1wYWRkaW5nLTkwcHgtdG9we3BhZGRpbmctdG9wOjkwcHh9LmxnLXBhZGRpbmctOTVweC10b3B7cGFkZGluZy10b3A6OTVweH0ubGctcGFkZGluZy0xMDBweC10b3B7cGFkZGluZy10b3A6MTAwcHh9LmxnLXBhZGRpbmctMS1yZW0tdG9we3BhZGRpbmctdG9wOjFyZW19LmxnLXBhZGRpbmctMS1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6MS41cmVtfS5sZy1wYWRkaW5nLTItcmVtLXRvcHtwYWRkaW5nLXRvcDoycmVtfS5sZy1wYWRkaW5nLTItaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjIuNXJlbX0ubGctcGFkZGluZy0zLXJlbS10b3B7cGFkZGluZy10b3A6M3JlbX0ubGctcGFkZGluZy0zLWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDozLjVyZW19LmxnLXBhZGRpbmctNC1yZW0tdG9we3BhZGRpbmctdG9wOjRyZW19LmxnLXBhZGRpbmctNC1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6NC41cmVtfS5sZy1wYWRkaW5nLTUtcmVtLXRvcHtwYWRkaW5nLXRvcDo1cmVtfS5sZy1wYWRkaW5nLTUtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjUuNXJlbX0ubGctcGFkZGluZy02LXJlbS10b3B7cGFkZGluZy10b3A6NnJlbX0ubGctcGFkZGluZy02LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo2LjVyZW19LmxnLXBhZGRpbmctNy1yZW0tdG9we3BhZGRpbmctdG9wOjdyZW19LmxnLXBhZGRpbmctNy1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6Ny41cmVtfS5sZy1wYWRkaW5nLTgtcmVtLXRvcHtwYWRkaW5nLXRvcDo4cmVtfS5sZy1wYWRkaW5nLTgtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjguNXJlbX0ubGctcGFkZGluZy05LXJlbS10b3B7cGFkZGluZy10b3A6OXJlbX0ubGctcGFkZGluZy05LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo5LjVyZW19LmxnLXBhZGRpbmctMTAtcmVtLXRvcHtwYWRkaW5nLXRvcDoxMHJlbX0ubGctcGFkZGluZy0xMC1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6MTAuNXJlbX0ubGctcGFkZGluZy1vbmUtYm90dG9te3BhZGRpbmctYm90dG9tOjElfS5sZy1wYWRkaW5nLXR3by1ib3R0b217cGFkZGluZy1ib3R0b206MiV9LmxnLXBhZGRpbmctdGhyZWUtYm90dG9te3BhZGRpbmctYm90dG9tOjMlfS5sZy1wYWRkaW5nLWZvdXItYm90dG9te3BhZGRpbmctYm90dG9tOjQlfS5sZy1wYWRkaW5nLWZpdmUtYm90dG9te3BhZGRpbmctYm90dG9tOjUlfS5sZy1wYWRkaW5nLXNpeC1ib3R0b217cGFkZGluZy1ib3R0b206NiV9LmxnLXBhZGRpbmctc2V2ZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjclfS5sZy1wYWRkaW5nLWVpZ2h0LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo4JX0ubGctcGFkZGluZy1uaW5lLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo5JX0ubGctcGFkZGluZy10ZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjEwJX0ubGctcGFkZGluZy1lbGV2ZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjExJX0ubGctcGFkZGluZy10d2VsdmUtYm90dG9te3BhZGRpbmctYm90dG9tOjEyJX0ubGctcGFkZGluZy10aGlydGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTMlfS5sZy1wYWRkaW5nLWZvdXJ0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxNCV9LmxnLXBhZGRpbmctZmlmdGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTUlfS5sZy1wYWRkaW5nLXNpeHRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE2JX0ubGctcGFkZGluZy1zZXZlbnRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE3JX0ubGctcGFkZGluZy1laWdodGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTglfS5sZy1wYWRkaW5nLW5pbmV0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxOSV9LmxnLXBhZGRpbmctdHdlbnR5LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToyMCV9LmxnLXBhZGRpbmctNXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1cHh9LmxnLXBhZGRpbmctMTBweC1ib3R0b217cGFkZGluZy1ib3R0b206MTBweH0ubGctcGFkZGluZy0xNXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxNXB4fS5sZy1wYWRkaW5nLTIwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjIwcHh9LmxnLXBhZGRpbmctMjVweC1ib3R0b217cGFkZGluZy1ib3R0b206MjVweH0ubGctcGFkZGluZy0zMHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTozMHB4fS5sZy1wYWRkaW5nLTM1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjM1cHh9LmxnLXBhZGRpbmctNDBweC1ib3R0b217cGFkZGluZy1ib3R0b206NDBweH0ubGctcGFkZGluZy00NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo0NXB4fS5sZy1wYWRkaW5nLTUwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjUwcHh9LmxnLXBhZGRpbmctNTVweC1ib3R0b217cGFkZGluZy1ib3R0b206NTVweH0ubGctcGFkZGluZy02MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo2MHB4fS5sZy1wYWRkaW5nLTY1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjY1cHh9LmxnLXBhZGRpbmctNzBweC1ib3R0b217cGFkZGluZy1ib3R0b206NzBweH0ubGctcGFkZGluZy03NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo3NXB4fS5sZy1wYWRkaW5nLTgwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjgwcHh9LmxnLXBhZGRpbmctODVweC1ib3R0b217cGFkZGluZy1ib3R0b206ODVweH0ubGctcGFkZGluZy05MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo5MHB4fS5sZy1wYWRkaW5nLTk1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjk1cHh9LmxnLXBhZGRpbmctMTAwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjEwMHB4fS5sZy1wYWRkaW5nLTEtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxcmVtfS5sZy1wYWRkaW5nLTEtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjEuNXJlbX0ubGctcGFkZGluZy0yLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206MnJlbX0ubGctcGFkZGluZy0yLWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToyLjVyZW19LmxnLXBhZGRpbmctMy1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjNyZW19LmxnLXBhZGRpbmctMy1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206My41cmVtfS5sZy1wYWRkaW5nLTQtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo0cmVtfS5sZy1wYWRkaW5nLTQtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjQuNXJlbX0ubGctcGFkZGluZy01LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206NXJlbX0ubGctcGFkZGluZy01LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1LjVyZW19LmxnLXBhZGRpbmctNi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjZyZW19LmxnLXBhZGRpbmctNi1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206Ni41cmVtfS5sZy1wYWRkaW5nLTctcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo3cmVtfS5sZy1wYWRkaW5nLTctaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjcuNXJlbX0ubGctcGFkZGluZy04LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206OHJlbX0ubGctcGFkZGluZy04LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo4LjVyZW19LmxnLXBhZGRpbmctOS1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjlyZW19LmxnLXBhZGRpbmctOS1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206OS41cmVtfS5sZy1wYWRkaW5nLTEwLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206MTByZW19LmxnLXBhZGRpbmctMTAtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjEwLjVyZW19LmxnLXBhZGRpbmctb25lLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MSV9LmxnLXBhZGRpbmctdHdvLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MiV9LmxnLXBhZGRpbmctdGhyZWUtcmlnaHR7cGFkZGluZy1yaWdodDozJX0ubGctcGFkZGluZy1mb3VyLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NCV9LmxnLXBhZGRpbmctZml2ZS1yaWdodHtwYWRkaW5nLXJpZ2h0OjUlfS5sZy1wYWRkaW5nLXNpeC1yaWdodHtwYWRkaW5nLXJpZ2h0OjYlfS5sZy1wYWRkaW5nLXNldmVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NyV9LmxnLXBhZGRpbmctZWlnaHQtcmlnaHR7cGFkZGluZy1yaWdodDo4JX0ubGctcGFkZGluZy1uaW5lLXJpZ2h0e3BhZGRpbmctcmlnaHQ6OSV9LmxnLXBhZGRpbmctdGVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTAlfS5sZy1wYWRkaW5nLWVsZXZlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjExJX0ubGctcGFkZGluZy10d2VsdmUtcmlnaHR7cGFkZGluZy1yaWdodDoxMiV9LmxnLXBhZGRpbmctdGhpcnRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxMyV9LmxnLXBhZGRpbmctZm91cnRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxNCV9LmxnLXBhZGRpbmctZmlmdGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE1JX0ubGctcGFkZGluZy1zaXh0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTYlfS5sZy1wYWRkaW5nLXNldmVudGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE3JX0ubGctcGFkZGluZy1laWdodGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE4JX0ubGctcGFkZGluZy1uaW5ldGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE5JX0ubGctcGFkZGluZy10d2VudHktcmlnaHR7cGFkZGluZy1yaWdodDoyMCV9LmxnLXBhZGRpbmctNXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NXB4fS5sZy1wYWRkaW5nLTEwcHgtcmlnaHR7cGFkZGluZy1yaWdodDoxMHB4fS5sZy1wYWRkaW5nLTE1cHgtcmlnaHR7cGFkZGluZy1yaWdodDoxNXB4fS5sZy1wYWRkaW5nLTIwcHgtcmlnaHR7cGFkZGluZy1yaWdodDoyMHB4fS5sZy1wYWRkaW5nLTI1cHgtcmlnaHR7cGFkZGluZy1yaWdodDoyNXB4fS5sZy1wYWRkaW5nLTMwcHgtcmlnaHR7cGFkZGluZy1yaWdodDozMHB4fS5sZy1wYWRkaW5nLTM1cHgtcmlnaHR7cGFkZGluZy1yaWdodDozNXB4fS5sZy1wYWRkaW5nLTQwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo0MHB4fS5sZy1wYWRkaW5nLTQ1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo0NXB4fS5sZy1wYWRkaW5nLTUwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo1MHB4fS5sZy1wYWRkaW5nLTU1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo1NXB4fS5sZy1wYWRkaW5nLTYwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo2MHB4fS5sZy1wYWRkaW5nLTY1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo2NXB4fS5sZy1wYWRkaW5nLTcwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo3MHB4fS5sZy1wYWRkaW5nLTc1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo3NXB4fS5sZy1wYWRkaW5nLTgwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo4MHB4fS5sZy1wYWRkaW5nLTg1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo4NXB4fS5sZy1wYWRkaW5nLTkwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo5MHB4fS5sZy1wYWRkaW5nLTk1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo5NXB4fS5sZy1wYWRkaW5nLTEwMHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTAwcHh9LmxnLXBhZGRpbmctMS1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoxcmVtfS5sZy1wYWRkaW5nLTEtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoxLjVyZW19LmxnLXBhZGRpbmctMi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoycmVtfS5sZy1wYWRkaW5nLTItaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoyLjVyZW19LmxnLXBhZGRpbmctMy1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDozcmVtfS5sZy1wYWRkaW5nLTMtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDozLjVyZW19LmxnLXBhZGRpbmctNC1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo0cmVtfS5sZy1wYWRkaW5nLTQtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo0LjVyZW19LmxnLXBhZGRpbmctNS1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo1cmVtfS5sZy1wYWRkaW5nLTUtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo1LjVyZW19LmxnLXBhZGRpbmctNi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo2cmVtfS5sZy1wYWRkaW5nLTYtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo2LjVyZW19LmxnLXBhZGRpbmctNy1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo3cmVtfS5sZy1wYWRkaW5nLTctaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo3LjVyZW19LmxnLXBhZGRpbmctOC1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo4cmVtfS5sZy1wYWRkaW5nLTgtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo4LjVyZW19LmxnLXBhZGRpbmctOS1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo5cmVtfS5sZy1wYWRkaW5nLTktaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo5LjVyZW19LmxnLXBhZGRpbmctMTAtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTByZW19LmxnLXBhZGRpbmctMTAtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoxMC41cmVtfS5sZy1wYWRkaW5nLW9uZS1sZWZ0e3BhZGRpbmctbGVmdDoxJX0ubGctcGFkZGluZy10d28tbGVmdHtwYWRkaW5nLWxlZnQ6MiV9LmxnLXBhZGRpbmctdGhyZWUtbGVmdHtwYWRkaW5nLWxlZnQ6MyV9LmxnLXBhZGRpbmctZm91ci1sZWZ0e3BhZGRpbmctbGVmdDo0JX0ubGctcGFkZGluZy1maXZlLWxlZnR7cGFkZGluZy1sZWZ0OjUlfS5sZy1wYWRkaW5nLXNpeC1sZWZ0e3BhZGRpbmctbGVmdDo2JX0ubGctcGFkZGluZy1zZXZlbi1sZWZ0e3BhZGRpbmctbGVmdDo3JX0ubGctcGFkZGluZy1laWdodC1sZWZ0e3BhZGRpbmctbGVmdDo4JX0ubGctcGFkZGluZy1uaW5lLWxlZnR7cGFkZGluZy1sZWZ0OjklfS5sZy1wYWRkaW5nLXRlbi1sZWZ0e3BhZGRpbmctbGVmdDoxMCV9LmxnLXBhZGRpbmctZWxldmVuLWxlZnR7cGFkZGluZy1sZWZ0OjExJX0ubGctcGFkZGluZy10d2VsdmUtbGVmdHtwYWRkaW5nLWxlZnQ6MTIlfS5sZy1wYWRkaW5nLXRoaXJ0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjEzJX0ubGctcGFkZGluZy1mb3VydGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxNCV9LmxnLXBhZGRpbmctZmlmdGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxNSV9LmxnLXBhZGRpbmctc2l4dGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxNiV9LmxnLXBhZGRpbmctc2V2ZW50ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE3JX0ubGctcGFkZGluZy1laWdodGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxOCV9LmxnLXBhZGRpbmctbmluZXRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTklfS5sZy1wYWRkaW5nLXR3ZW50eS1sZWZ0e3BhZGRpbmctbGVmdDoyMCV9LmxnLXBhZGRpbmctNXB4LWxlZnR7cGFkZGluZy1sZWZ0OjVweH0ubGctcGFkZGluZy0xMHB4LWxlZnR7cGFkZGluZy1sZWZ0OjEwcHh9LmxnLXBhZGRpbmctMTVweC1sZWZ0e3BhZGRpbmctbGVmdDoxNXB4fS5sZy1wYWRkaW5nLTIwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6MjBweH0ubGctcGFkZGluZy0yNXB4LWxlZnR7cGFkZGluZy1sZWZ0OjI1cHh9LmxnLXBhZGRpbmctMzBweC1sZWZ0e3BhZGRpbmctbGVmdDozMHB4fS5sZy1wYWRkaW5nLTM1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6MzVweH0ubGctcGFkZGluZy00MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjQwcHh9LmxnLXBhZGRpbmctNDVweC1sZWZ0e3BhZGRpbmctbGVmdDo0NXB4fS5sZy1wYWRkaW5nLTUwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6NTBweH0ubGctcGFkZGluZy01NXB4LWxlZnR7cGFkZGluZy1sZWZ0OjU1cHh9LmxnLXBhZGRpbmctNjBweC1sZWZ0e3BhZGRpbmctbGVmdDo2MHB4fS5sZy1wYWRkaW5nLTY1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6NjVweH0ubGctcGFkZGluZy03MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjcwcHh9LmxnLXBhZGRpbmctNzVweC1sZWZ0e3BhZGRpbmctbGVmdDo3NXB4fS5sZy1wYWRkaW5nLTgwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6ODBweH0ubGctcGFkZGluZy04NXB4LWxlZnR7cGFkZGluZy1sZWZ0Ojg1cHh9LmxnLXBhZGRpbmctOTBweC1sZWZ0e3BhZGRpbmctbGVmdDo5MHB4fS5sZy1wYWRkaW5nLTk1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6OTVweH0ubGctcGFkZGluZy0xMDBweC1sZWZ0e3BhZGRpbmctbGVmdDoxMDBweH0ubGctcGFkZGluZy0xLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoxcmVtfS5sZy1wYWRkaW5nLTEtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6MS41cmVtfS5sZy1wYWRkaW5nLTItcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjJyZW19LmxnLXBhZGRpbmctMi1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoyLjVyZW19LmxnLXBhZGRpbmctMy1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6M3JlbX0ubGctcGFkZGluZy0zLWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjMuNXJlbX0ubGctcGFkZGluZy00LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo0cmVtfS5sZy1wYWRkaW5nLTQtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6NC41cmVtfS5sZy1wYWRkaW5nLTUtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjVyZW19LmxnLXBhZGRpbmctNS1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo1LjVyZW19LmxnLXBhZGRpbmctNi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6NnJlbX0ubGctcGFkZGluZy02LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjYuNXJlbX0ubGctcGFkZGluZy03LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo3cmVtfS5sZy1wYWRkaW5nLTctaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6Ny41cmVtfS5sZy1wYWRkaW5nLTgtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjhyZW19LmxnLXBhZGRpbmctOC1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo4LjVyZW19LmxnLXBhZGRpbmctOS1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6OXJlbX0ubGctcGFkZGluZy05LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjkuNXJlbX0ubGctcGFkZGluZy0xMC1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6MTByZW19LmxnLXBhZGRpbmctMTAtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6MTAuNXJlbX0ubGctcGFkZGluZy1vbmUtdGJ7cGFkZGluZy10b3A6MSU7cGFkZGluZy1ib3R0b206MSV9LmxnLXBhZGRpbmctdHdvLXRie3BhZGRpbmctdG9wOjIlO3BhZGRpbmctYm90dG9tOjIlfS5sZy1wYWRkaW5nLXRocmVlLXRie3BhZGRpbmctdG9wOjMlO3BhZGRpbmctYm90dG9tOjMlfS5sZy1wYWRkaW5nLWZvdXItdGJ7cGFkZGluZy10b3A6NCU7cGFkZGluZy1ib3R0b206NCV9LmxnLXBhZGRpbmctZml2ZS10YntwYWRkaW5nLXRvcDo1JTtwYWRkaW5nLWJvdHRvbTo1JX0ubGctcGFkZGluZy1zaXgtdGJ7cGFkZGluZy10b3A6NiU7cGFkZGluZy1ib3R0b206NiV9LmxnLXBhZGRpbmctc2V2ZW4tdGJ7cGFkZGluZy10b3A6NyU7cGFkZGluZy1ib3R0b206NyV9LmxnLXBhZGRpbmctZWlnaHQtdGJ7cGFkZGluZy10b3A6OCU7cGFkZGluZy1ib3R0b206OCV9LmxnLXBhZGRpbmctbmluZS10YntwYWRkaW5nLXRvcDo5JTtwYWRkaW5nLWJvdHRvbTo5JX0ubGctcGFkZGluZy10ZW4tdGJ7cGFkZGluZy10b3A6MTAlO3BhZGRpbmctYm90dG9tOjEwJX0ubGctcGFkZGluZy1lbGV2ZW4tdGJ7cGFkZGluZy10b3A6MTElO3BhZGRpbmctYm90dG9tOjExJX0ubGctcGFkZGluZy10d2VsdmUtdGJ7cGFkZGluZy10b3A6MTIlO3BhZGRpbmctYm90dG9tOjEyJX0ubGctcGFkZGluZy10aGlydGVlbi10YntwYWRkaW5nLXRvcDoxMyU7cGFkZGluZy1ib3R0b206MTMlfS5sZy1wYWRkaW5nLWZvdXJ0ZWVuLXRie3BhZGRpbmctdG9wOjE0JTtwYWRkaW5nLWJvdHRvbToxNCV9LmxnLXBhZGRpbmctZmlmdGVlbi10YntwYWRkaW5nLXRvcDoxNSU7cGFkZGluZy1ib3R0b206MTUlfS5sZy1wYWRkaW5nLXNpeHRlZW4tdGJ7cGFkZGluZy10b3A6MTYlO3BhZGRpbmctYm90dG9tOjE2JX0ubGctcGFkZGluZy1zZXZlbnRlZW4tdGJ7cGFkZGluZy10b3A6MTclO3BhZGRpbmctYm90dG9tOjE3JX0ubGctcGFkZGluZy1laWdodGVlbi10YntwYWRkaW5nLXRvcDoxOCU7cGFkZGluZy1ib3R0b206MTglfS5sZy1wYWRkaW5nLW5pbmV0ZWVuLXRie3BhZGRpbmctdG9wOjE5JTtwYWRkaW5nLWJvdHRvbToxOSV9LmxnLXBhZGRpbmctdHdlbnR5LXRie3BhZGRpbmctdG9wOjIwJTtwYWRkaW5nLWJvdHRvbToyMCV9LmxnLXBhZGRpbmctNXB4LXRie3BhZGRpbmctdG9wOjVweDtwYWRkaW5nLWJvdHRvbTo1cHh9LmxnLXBhZGRpbmctMTBweC10YntwYWRkaW5nLXRvcDoxMHB4O3BhZGRpbmctYm90dG9tOjEwcHh9LmxnLXBhZGRpbmctMTVweC10YntwYWRkaW5nLXRvcDoxNXB4O3BhZGRpbmctYm90dG9tOjE1cHh9LmxnLXBhZGRpbmctMjBweC10YntwYWRkaW5nLXRvcDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHh9LmxnLXBhZGRpbmctMjVweC10YntwYWRkaW5nLXRvcDoyNXB4O3BhZGRpbmctYm90dG9tOjI1cHh9LmxnLXBhZGRpbmctMzBweC10YntwYWRkaW5nLXRvcDozMHB4O3BhZGRpbmctYm90dG9tOjMwcHh9LmxnLXBhZGRpbmctMzVweC10YntwYWRkaW5nLXRvcDozNXB4O3BhZGRpbmctYm90dG9tOjM1cHh9LmxnLXBhZGRpbmctNDBweC10YntwYWRkaW5nLXRvcDo0MHB4O3BhZGRpbmctYm90dG9tOjQwcHh9LmxnLXBhZGRpbmctNDVweC10YntwYWRkaW5nLXRvcDo0NXB4O3BhZGRpbmctYm90dG9tOjQ1cHh9LmxnLXBhZGRpbmctNTBweC10YntwYWRkaW5nLXRvcDo1MHB4O3BhZGRpbmctYm90dG9tOjUwcHh9LmxnLXBhZGRpbmctNTVweC10YntwYWRkaW5nLXRvcDo1NXB4O3BhZGRpbmctYm90dG9tOjU1cHh9LmxnLXBhZGRpbmctNjBweC10YntwYWRkaW5nLXRvcDo2MHB4O3BhZGRpbmctYm90dG9tOjYwcHh9LmxnLXBhZGRpbmctNjVweC10YntwYWRkaW5nLXRvcDo2NXB4O3BhZGRpbmctYm90dG9tOjY1cHh9LmxnLXBhZGRpbmctNzBweC10YntwYWRkaW5nLXRvcDo3MHB4O3BhZGRpbmctYm90dG9tOjcwcHh9LmxnLXBhZGRpbmctNzVweC10YntwYWRkaW5nLXRvcDo3NXB4O3BhZGRpbmctYm90dG9tOjc1cHh9LmxnLXBhZGRpbmctODBweC10YntwYWRkaW5nLXRvcDo4MHB4O3BhZGRpbmctYm90dG9tOjgwcHh9LmxnLXBhZGRpbmctODVweC10YntwYWRkaW5nLXRvcDo4NXB4O3BhZGRpbmctYm90dG9tOjg1cHh9LmxnLXBhZGRpbmctOTBweC10YntwYWRkaW5nLXRvcDo5MHB4O3BhZGRpbmctYm90dG9tOjkwcHh9LmxnLXBhZGRpbmctOTVweC10YntwYWRkaW5nLXRvcDo5NXB4O3BhZGRpbmctYm90dG9tOjk1cHh9LmxnLXBhZGRpbmctMTAwcHgtdGJ7cGFkZGluZy10b3A6MTAwcHg7cGFkZGluZy1ib3R0b206MTAwcHh9LmxnLXBhZGRpbmctMS1yZW0tdGJ7cGFkZGluZy10b3A6MXJlbTtwYWRkaW5nLWJvdHRvbToxcmVtfS5sZy1wYWRkaW5nLTEtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6MS41cmVtO3BhZGRpbmctYm90dG9tOjEuNXJlbX0ubGctcGFkZGluZy0yLXJlbS10YntwYWRkaW5nLXRvcDoycmVtO3BhZGRpbmctYm90dG9tOjJyZW19LmxnLXBhZGRpbmctMi1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDoyLjVyZW07cGFkZGluZy1ib3R0b206Mi41cmVtfS5sZy1wYWRkaW5nLTMtcmVtLXRie3BhZGRpbmctdG9wOjNyZW07cGFkZGluZy1ib3R0b206M3JlbX0ubGctcGFkZGluZy0zLWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjMuNXJlbTtwYWRkaW5nLWJvdHRvbTozLjVyZW19LmxnLXBhZGRpbmctNC1yZW0tdGJ7cGFkZGluZy10b3A6NHJlbTtwYWRkaW5nLWJvdHRvbTo0cmVtfS5sZy1wYWRkaW5nLTQtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6NC41cmVtO3BhZGRpbmctYm90dG9tOjQuNXJlbX0ubGctcGFkZGluZy01LXJlbS10YntwYWRkaW5nLXRvcDo1cmVtO3BhZGRpbmctYm90dG9tOjVyZW19LmxnLXBhZGRpbmctNS1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo1LjVyZW07cGFkZGluZy1ib3R0b206NS41cmVtfS5sZy1wYWRkaW5nLTYtcmVtLXRie3BhZGRpbmctdG9wOjZyZW07cGFkZGluZy1ib3R0b206NnJlbX0ubGctcGFkZGluZy02LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjYuNXJlbTtwYWRkaW5nLWJvdHRvbTo2LjVyZW19LmxnLXBhZGRpbmctNy1yZW0tdGJ7cGFkZGluZy10b3A6N3JlbTtwYWRkaW5nLWJvdHRvbTo3cmVtfS5sZy1wYWRkaW5nLTctaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6Ny41cmVtO3BhZGRpbmctYm90dG9tOjcuNXJlbX0ubGctcGFkZGluZy04LXJlbS10YntwYWRkaW5nLXRvcDo4cmVtO3BhZGRpbmctYm90dG9tOjhyZW19LmxnLXBhZGRpbmctOC1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo4LjVyZW07cGFkZGluZy1ib3R0b206OC41cmVtfS5sZy1wYWRkaW5nLTktcmVtLXRie3BhZGRpbmctdG9wOjlyZW07cGFkZGluZy1ib3R0b206OXJlbX0ubGctcGFkZGluZy05LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjkuNXJlbTtwYWRkaW5nLWJvdHRvbTo5LjVyZW19LmxnLXBhZGRpbmctMTAtcmVtLXRie3BhZGRpbmctdG9wOjEwcmVtO3BhZGRpbmctYm90dG9tOjEwcmVtfS5sZy1wYWRkaW5nLTEwLWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjEwLjVyZW07cGFkZGluZy1ib3R0b206MTAuNXJlbX0ubGctcGFkZGluZy1vbmUtbHJ7cGFkZGluZy1sZWZ0OjElO3BhZGRpbmctcmlnaHQ6MSV9LmxnLXBhZGRpbmctdHdvLWxye3BhZGRpbmctbGVmdDoyJTtwYWRkaW5nLXJpZ2h0OjIlfS5sZy1wYWRkaW5nLXRocmVlLWxye3BhZGRpbmctbGVmdDozJTtwYWRkaW5nLXJpZ2h0OjMlfS5sZy1wYWRkaW5nLWZvdXItbHJ7cGFkZGluZy1sZWZ0OjQlO3BhZGRpbmctcmlnaHQ6NCV9LmxnLXBhZGRpbmctZml2ZS1scntwYWRkaW5nLWxlZnQ6NSU7cGFkZGluZy1yaWdodDo1JX0ubGctcGFkZGluZy1zaXgtbHJ7cGFkZGluZy1sZWZ0OjYlO3BhZGRpbmctcmlnaHQ6NiV9LmxnLXBhZGRpbmctc2V2ZW4tbHJ7cGFkZGluZy1sZWZ0OjclO3BhZGRpbmctcmlnaHQ6NyV9LmxnLXBhZGRpbmctZWlnaHQtbHJ7cGFkZGluZy1sZWZ0OjglO3BhZGRpbmctcmlnaHQ6OCV9LmxnLXBhZGRpbmctbmluZS1scntwYWRkaW5nLWxlZnQ6OSU7cGFkZGluZy1yaWdodDo5JX0ubGctcGFkZGluZy10ZW4tbHJ7cGFkZGluZy1sZWZ0OjEwJTtwYWRkaW5nLXJpZ2h0OjEwJX0ubGctcGFkZGluZy1lbGV2ZW4tbHJ7cGFkZGluZy1sZWZ0OjExJTtwYWRkaW5nLXJpZ2h0OjExJX0ubGctcGFkZGluZy10d2VsdmUtbHJ7cGFkZGluZy1sZWZ0OjEyJTtwYWRkaW5nLXJpZ2h0OjEyJX0ubGctcGFkZGluZy10aGlydGVlbi1scntwYWRkaW5nLWxlZnQ6MTMlO3BhZGRpbmctcmlnaHQ6MTMlfS5sZy1wYWRkaW5nLWZvdXJ0ZWVuLWxye3BhZGRpbmctbGVmdDoxNCU7cGFkZGluZy1yaWdodDoxNCV9LmxnLXBhZGRpbmctZmlmdGVlbi1scntwYWRkaW5nLWxlZnQ6MTUlO3BhZGRpbmctcmlnaHQ6MTUlfS5sZy1wYWRkaW5nLXNpeHRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE2JTtwYWRkaW5nLXJpZ2h0OjE2JX0ubGctcGFkZGluZy1zZXZlbnRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE3JTtwYWRkaW5nLXJpZ2h0OjE3JX0ubGctcGFkZGluZy1laWdodGVlbi1scntwYWRkaW5nLWxlZnQ6MTglO3BhZGRpbmctcmlnaHQ6MTglfS5sZy1wYWRkaW5nLW5pbmV0ZWVuLWxye3BhZGRpbmctbGVmdDoxOSU7cGFkZGluZy1yaWdodDoxOSV9LmxnLXBhZGRpbmctdHdlbnR5LWxye3BhZGRpbmctbGVmdDoyMCU7cGFkZGluZy1yaWdodDoyMCV9LmxnLXBhZGRpbmctNXB4LWxye3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDo1cHh9LmxnLXBhZGRpbmctMTBweC1scntwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjEwcHh9LmxnLXBhZGRpbmctMTVweC1scntwYWRkaW5nLWxlZnQ6MTVweDtwYWRkaW5nLXJpZ2h0OjE1cHh9LmxnLXBhZGRpbmctMjBweC1scntwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHh9LmxnLXBhZGRpbmctMjVweC1scntwYWRkaW5nLWxlZnQ6MjVweDtwYWRkaW5nLXJpZ2h0OjI1cHh9LmxnLXBhZGRpbmctMzBweC1scntwYWRkaW5nLWxlZnQ6MzBweDtwYWRkaW5nLXJpZ2h0OjMwcHh9LmxnLXBhZGRpbmctMzVweC1scntwYWRkaW5nLWxlZnQ6MzVweDtwYWRkaW5nLXJpZ2h0OjM1cHh9LmxnLXBhZGRpbmctNDBweC1scntwYWRkaW5nLWxlZnQ6NDBweDtwYWRkaW5nLXJpZ2h0OjQwcHh9LmxnLXBhZGRpbmctNDVweC1scntwYWRkaW5nLWxlZnQ6NDVweDtwYWRkaW5nLXJpZ2h0OjQ1cHh9LmxnLXBhZGRpbmctNTBweC1scntwYWRkaW5nLWxlZnQ6NTBweDtwYWRkaW5nLXJpZ2h0OjUwcHh9LmxnLXBhZGRpbmctNTVweC1scntwYWRkaW5nLWxlZnQ6NTVweDtwYWRkaW5nLXJpZ2h0OjU1cHh9LmxnLXBhZGRpbmctNjBweC1scntwYWRkaW5nLWxlZnQ6NjBweDtwYWRkaW5nLXJpZ2h0OjYwcHh9LmxnLXBhZGRpbmctNjVweC1scntwYWRkaW5nLWxlZnQ6NjVweDtwYWRkaW5nLXJpZ2h0OjY1cHh9LmxnLXBhZGRpbmctNzBweC1scntwYWRkaW5nLWxlZnQ6NzBweDtwYWRkaW5nLXJpZ2h0OjcwcHh9LmxnLXBhZGRpbmctNzVweC1scntwYWRkaW5nLWxlZnQ6NzVweDtwYWRkaW5nLXJpZ2h0Ojc1cHh9LmxnLXBhZGRpbmctODBweC1scntwYWRkaW5nLWxlZnQ6ODBweDtwYWRkaW5nLXJpZ2h0OjgwcHh9LmxnLXBhZGRpbmctODVweC1scntwYWRkaW5nLWxlZnQ6ODVweDtwYWRkaW5nLXJpZ2h0Ojg1cHh9LmxnLXBhZGRpbmctOTBweC1scntwYWRkaW5nLWxlZnQ6OTBweDtwYWRkaW5nLXJpZ2h0OjkwcHh9LmxnLXBhZGRpbmctOTVweC1scntwYWRkaW5nLWxlZnQ6OTVweDtwYWRkaW5nLXJpZ2h0Ojk1cHh9LmxnLXBhZGRpbmctMTAwcHgtbHJ7cGFkZGluZy1sZWZ0OjEwMHB4O3BhZGRpbmctcmlnaHQ6MTAwcHh9LmxnLXBhZGRpbmctMS1yZW0tbHJ7cGFkZGluZy1sZWZ0OjFyZW07cGFkZGluZy1yaWdodDoxcmVtfS5sZy1wYWRkaW5nLTEtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjEuNXJlbTtwYWRkaW5nLXJpZ2h0OjEuNXJlbX0ubGctcGFkZGluZy0yLXJlbS1scntwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19LmxnLXBhZGRpbmctMi1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6Mi41cmVtO3BhZGRpbmctcmlnaHQ6Mi41cmVtfS5sZy1wYWRkaW5nLTMtcmVtLWxye3BhZGRpbmctbGVmdDozcmVtO3BhZGRpbmctcmlnaHQ6M3JlbX0ubGctcGFkZGluZy0zLWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDozLjVyZW07cGFkZGluZy1yaWdodDozLjVyZW19LmxnLXBhZGRpbmctNC1yZW0tbHJ7cGFkZGluZy1sZWZ0OjRyZW07cGFkZGluZy1yaWdodDo0cmVtfS5sZy1wYWRkaW5nLTQtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjQuNXJlbTtwYWRkaW5nLXJpZ2h0OjQuNXJlbX0ubGctcGFkZGluZy01LXJlbS1scntwYWRkaW5nLWxlZnQ6NXJlbTtwYWRkaW5nLXJpZ2h0OjVyZW19LmxnLXBhZGRpbmctNS1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6NS41cmVtO3BhZGRpbmctcmlnaHQ6NS41cmVtfS5sZy1wYWRkaW5nLTYtcmVtLWxye3BhZGRpbmctbGVmdDo2cmVtO3BhZGRpbmctcmlnaHQ6NnJlbX0ubGctcGFkZGluZy02LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo2LjVyZW07cGFkZGluZy1yaWdodDo2LjVyZW19LmxnLXBhZGRpbmctNy1yZW0tbHJ7cGFkZGluZy1sZWZ0OjdyZW07cGFkZGluZy1yaWdodDo3cmVtfS5sZy1wYWRkaW5nLTctaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjcuNXJlbTtwYWRkaW5nLXJpZ2h0OjcuNXJlbX0ubGctcGFkZGluZy04LXJlbS1scntwYWRkaW5nLWxlZnQ6OHJlbTtwYWRkaW5nLXJpZ2h0OjhyZW19LmxnLXBhZGRpbmctOC1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6OC41cmVtO3BhZGRpbmctcmlnaHQ6OC41cmVtfS5sZy1wYWRkaW5nLTktcmVtLWxye3BhZGRpbmctbGVmdDo5cmVtO3BhZGRpbmctcmlnaHQ6OXJlbX0ubGctcGFkZGluZy05LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo5LjVyZW07cGFkZGluZy1yaWdodDo5LjVyZW19LmxnLXBhZGRpbmctMTAtcmVtLWxye3BhZGRpbmctbGVmdDoxMHJlbTtwYWRkaW5nLXJpZ2h0OjEwcmVtfS5sZy1wYWRkaW5nLTEwLWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDoxMC41cmVtO3BhZGRpbmctcmlnaHQ6MTAuNXJlbX0ubGctbm8tcGFkZGluZ3twYWRkaW5nOjAhaW1wb3J0YW50fS5sZy1uby1wYWRkaW5nLWxye3BhZGRpbmctbGVmdDowIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5sZy1uby1wYWRkaW5nLXRie3BhZGRpbmctdG9wOjAhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5sZy1uby1wYWRkaW5nLXRvcHtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ubGctbm8tcGFkZGluZy1ib3R0b217cGFkZGluZy1ib3R0b206MCFpbXBvcnRhbnR9LmxnLW5vLXBhZGRpbmctbGVmdHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LmxnLW5vLXBhZGRpbmctcmlnaHR7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ubGctZC1pbml0aWFse2Rpc3BsYXk6aW5pdGlhbCFpbXBvcnRhbnR9LmxnLW92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50fS5sZy1vdmVyZmxvdy12aXNpYmxle292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50fS5sZy1vdmVyZmxvdy1hdXRve292ZXJmbG93OmF1dG8haW1wb3J0YW50fS5sZy1wb3NpdGlvbi1yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZSFpbXBvcnRhbnR9LmxnLXBvc2l0aW9uLWFic29sdXRle3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0ubGctcG9zaXRpb24tZml4ZWR7cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50fS5sZy1wb3NpdGlvbi1pbmhlcml0e3Bvc2l0aW9uOmluaGVyaXQhaW1wb3J0YW50fS5sZy1wb3NpdGlvbi1pbml0aWFse3Bvc2l0aW9uOmluaXRpYWwhaW1wb3J0YW50fS5sZy10b3AtMHB4e3RvcDowfS5sZy10b3AtMXB4e3RvcDoxcHh9LmxnLXRvcC0ycHh7dG9wOjJweH0ubGctdG9wLTNweHt0b3A6M3B4fS5sZy10b3AtNHB4e3RvcDo0cHh9LmxnLXRvcC01cHh7dG9wOjVweH0ubGctdG9wLTZweHt0b3A6NnB4fS5sZy10b3AtN3B4e3RvcDo3cHh9LmxnLXRvcC04cHh7dG9wOjhweH0ubGctdG9wLTlweHt0b3A6OXB4fS5sZy10b3AtMTBweHt0b3A6MTBweH0ubGctdG9wLTE1cHh7dG9wOjE1cHh9LmxnLXRvcC0yMHB4e3RvcDoyMHB4fS5sZy10b3AtMjVweHt0b3A6MjVweH0ubGctdG9wLTMwcHh7dG9wOjMwcHh9LmxnLXRvcC0zNXB4e3RvcDozNXB4fS5sZy10b3AtNDBweHt0b3A6NDBweH0ubGctdG9wLTQ1cHh7dG9wOjQ1cHh9LmxnLXRvcC01MHB4e3RvcDo1MHB4fS5sZy10b3AtYXV0b3t0b3A6YXV0b30ubGctdG9wLWluaGVyaXR7dG9wOmluaGVyaXR9LmxnLXRvcC1taW51cy0xcHh7dG9wOi0xcHh9LmxnLXRvcC1taW51cy0ycHh7dG9wOi0ycHh9LmxnLXRvcC1taW51cy0zcHh7dG9wOi0zcHh9LmxnLXRvcC1taW51cy00cHh7dG9wOi00cHh9LmxnLXRvcC1taW51cy01cHh7dG9wOi01cHh9LmxnLXRvcC1taW51cy02cHh7dG9wOi02cHh9LmxnLXRvcC1taW51cy03cHh7dG9wOi03cHh9LmxnLXRvcC1taW51cy04cHh7dG9wOi04cHh9LmxnLXRvcC1taW51cy05cHh7dG9wOi05cHh9LmxnLXRvcC1taW51cy0xMHB4e3RvcDotMTBweH0ubGctdG9wLW1pbnVzLTE1cHh7dG9wOi0xNXB4fS5sZy10b3AtbWludXMtMjBweHt0b3A6LTIwcHh9LmxnLXRvcC1taW51cy0yNXB4e3RvcDotMjVweH0ubGctdG9wLW1pbnVzLTMwcHh7dG9wOi0zMHB4fS5sZy10b3AtbWludXMtMzVweHt0b3A6LTM1cHh9LmxnLXRvcC1taW51cy00MHB4e3RvcDotNDBweH0ubGctdG9wLW1pbnVzLTQ1cHh7dG9wOi00NXB4fS5sZy10b3AtbWludXMtNTBweHt0b3A6LTUwcHh9LmxnLWJvdHRvbS0wcHh7Ym90dG9tOjB9LmxnLWJvdHRvbS0xcHh7Ym90dG9tOjFweH0ubGctYm90dG9tLTJweHtib3R0b206MnB4fS5sZy1ib3R0b20tM3B4e2JvdHRvbTozcHh9LmxnLWJvdHRvbS00cHh7Ym90dG9tOjRweH0ubGctYm90dG9tLTVweHtib3R0b206NXB4fS5sZy1ib3R0b20tNnB4e2JvdHRvbTo2cHh9LmxnLWJvdHRvbS03cHh7Ym90dG9tOjdweH0ubGctYm90dG9tLThweHtib3R0b206OHB4fS5sZy1ib3R0b20tOXB4e2JvdHRvbTo5cHh9LmxnLWJvdHRvbS0xMHB4e2JvdHRvbToxMHB4fS5sZy1ib3R0b20tMTVweHtib3R0b206MTVweH0ubGctYm90dG9tLTIwcHh7Ym90dG9tOjIwcHh9LmxnLWJvdHRvbS0yNXB4e2JvdHRvbToyNXB4fS5sZy1ib3R0b20tMzBweHtib3R0b206MzBweH0ubGctYm90dG9tLTM1cHh7Ym90dG9tOjM1cHh9LmxnLWJvdHRvbS00MHB4e2JvdHRvbTo0MHB4fS5sZy1ib3R0b20tNDVweHtib3R0b206NDVweH0ubGctYm90dG9tLTUwcHh7Ym90dG9tOjUwcHh9LmxnLWJvdHRvbS01NXB4e2JvdHRvbTo1NXB4fS5sZy1ib3R0b20tNjBweHtib3R0b206NjBweH0ubGctYm90dG9tLWF1dG97Ym90dG9tOmF1dG99LmxnLWJvdHRvbS1pbmhlcml0e2JvdHRvbTppbmhlcml0fS5sZy1ib3R0b20tbWludXMtMXB4e2JvdHRvbTotMXB4fS5sZy1ib3R0b20tbWludXMtMnB4e2JvdHRvbTotMnB4fS5sZy1ib3R0b20tbWludXMtM3B4e2JvdHRvbTotM3B4fS5sZy1ib3R0b20tbWludXMtNHB4e2JvdHRvbTotNHB4fS5sZy1ib3R0b20tbWludXMtNXB4e2JvdHRvbTotNXB4fS5sZy1ib3R0b20tbWludXMtNnB4e2JvdHRvbTotNnB4fS5sZy1ib3R0b20tbWludXMtN3B4e2JvdHRvbTotN3B4fS5sZy1ib3R0b20tbWludXMtOHB4e2JvdHRvbTotOHB4fS5sZy1ib3R0b20tbWludXMtOXB4e2JvdHRvbTotOXB4fS5sZy1ib3R0b20tbWludXMtMTBweHtib3R0b206LTEwcHh9LmxnLWJvdHRvbS1taW51cy0xNXB4e2JvdHRvbTotMTVweH0ubGctYm90dG9tLW1pbnVzLTIwcHh7Ym90dG9tOi0yMHB4fS5sZy1ib3R0b20tbWludXMtMjVweHtib3R0b206LTI1cHh9LmxnLWJvdHRvbS1taW51cy0zMHB4e2JvdHRvbTotMzBweH0ubGctYm90dG9tLW1pbnVzLTM1cHh7Ym90dG9tOi0zNXB4fS5sZy1ib3R0b20tbWludXMtNDBweHtib3R0b206LTQwcHh9LmxnLWJvdHRvbS1taW51cy00NXB4e2JvdHRvbTotNDVweH0ubGctYm90dG9tLW1pbnVzLTUwcHh7Ym90dG9tOi01MHB4fS5sZy1yaWdodC0wcHh7cmlnaHQ6MH0ubGctcmlnaHQtMXB4e3JpZ2h0OjFweH0ubGctcmlnaHQtMnB4e3JpZ2h0OjJweH0ubGctcmlnaHQtM3B4e3JpZ2h0OjNweH0ubGctcmlnaHQtNHB4e3JpZ2h0OjRweH0ubGctcmlnaHQtNXB4e3JpZ2h0OjVweH0ubGctcmlnaHQtNnB4e3JpZ2h0OjZweH0ubGctcmlnaHQtN3B4e3JpZ2h0OjdweH0ubGctcmlnaHQtOHB4e3JpZ2h0OjhweH0ubGctcmlnaHQtOXB4e3JpZ2h0OjlweH0ubGctcmlnaHQtMTBweHtyaWdodDoxMHB4fS5sZy1yaWdodC0xNXB4e3JpZ2h0OjE1cHh9LmxnLXJpZ2h0LTIwcHh7cmlnaHQ6MjBweH0ubGctcmlnaHQtMjVweHtyaWdodDoyNXB4fS5sZy1yaWdodC0zMHB4e3JpZ2h0OjMwcHh9LmxnLXJpZ2h0LTM1cHh7cmlnaHQ6MzVweH0ubGctcmlnaHQtNDBweHtyaWdodDo0MHB4fS5sZy1yaWdodC00NXB4e3JpZ2h0OjQ1cHh9LmxnLXJpZ2h0LTUwcHh7cmlnaHQ6NTBweH0ubGctcmlnaHQtYXV0b3tyaWdodDphdXRvfS5sZy1yaWdodC1pbmhlcml0e3JpZ2h0OmluaGVyaXR9LmxnLXJpZ2h0LW1pbnVzLTFweHtyaWdodDotMXB4fS5sZy1yaWdodC1taW51cy0ycHh7cmlnaHQ6LTJweH0ubGctcmlnaHQtbWludXMtM3B4e3JpZ2h0Oi0zcHh9LmxnLXJpZ2h0LW1pbnVzLTRweHtyaWdodDotNHB4fS5sZy1yaWdodC1taW51cy01cHh7cmlnaHQ6LTVweH0ubGctcmlnaHQtbWludXMtNnB4e3JpZ2h0Oi02cHh9LmxnLXJpZ2h0LW1pbnVzLTdweHtyaWdodDotN3B4fS5sZy1yaWdodC1taW51cy04cHh7cmlnaHQ6LThweH0ubGctcmlnaHQtbWludXMtOXB4e3JpZ2h0Oi05cHh9LmxnLXJpZ2h0LW1pbnVzLTEwcHh7cmlnaHQ6LTEwcHh9LmxnLXJpZ2h0LW1pbnVzLTE1cHh7cmlnaHQ6LTE1cHh9LmxnLXJpZ2h0LW1pbnVzLTIwcHh7cmlnaHQ6LTIwcHh9LmxnLXJpZ2h0LW1pbnVzLTI1cHh7cmlnaHQ6LTI1cHh9LmxnLXJpZ2h0LW1pbnVzLTMwcHh7cmlnaHQ6LTMwcHh9LmxnLXJpZ2h0LW1pbnVzLTM1cHh7cmlnaHQ6LTM1cHh9LmxnLXJpZ2h0LW1pbnVzLTQwcHh7cmlnaHQ6LTQwcHh9LmxnLXJpZ2h0LW1pbnVzLTQ1cHh7cmlnaHQ6LTQ1cHh9LmxnLXJpZ2h0LW1pbnVzLTUwcHh7cmlnaHQ6LTUwcHh9LmxnLWxlZnQtMHB4e2xlZnQ6MH0ubGctbGVmdC0xcHh7bGVmdDoxcHh9LmxnLWxlZnQtMnB4e2xlZnQ6MnB4fS5sZy1sZWZ0LTNweHtsZWZ0OjNweH0ubGctbGVmdC00cHh7bGVmdDo0cHh9LmxnLWxlZnQtNXB4e2xlZnQ6NXB4fS5sZy1sZWZ0LTZweHtsZWZ0OjZweH0ubGctbGVmdC03cHh7bGVmdDo3cHh9LmxnLWxlZnQtOHB4e2xlZnQ6OHB4fS5sZy1sZWZ0LTlweHtsZWZ0OjlweH0ubGctbGVmdC0xMHB4e2xlZnQ6MTBweH0ubGctbGVmdC0xNXB4e2xlZnQ6MTVweH0ubGctbGVmdC0yMHB4e2xlZnQ6MjBweH0ubGctbGVmdC0yNXB4e2xlZnQ6MjVweH0ubGctbGVmdC0zMHB4e2xlZnQ6MzBweH0ubGctbGVmdC0zNXB4e2xlZnQ6MzVweH0ubGctbGVmdC00MHB4e2xlZnQ6NDBweH0ubGctbGVmdC00NXB4e2xlZnQ6NDVweH0ubGctbGVmdC01MHB4e2xlZnQ6NTBweH0ubGctbGVmdC01NXB4e2xlZnQ6NTVweH0ubGctbGVmdC02MHB4e2xlZnQ6NjBweH0ubGctbGVmdC1hdXRve2xlZnQ6YXV0b30ubGctbGVmdC1pbmhlcml0e2xlZnQ6aW5oZXJpdH0ubGctbGVmdC1taW51cy0xcHh7bGVmdDotMXB4fS5sZy1sZWZ0LW1pbnVzLTJweHtsZWZ0Oi0ycHh9LmxnLWxlZnQtbWludXMtM3B4e2xlZnQ6LTNweH0ubGctbGVmdC1taW51cy00cHh7bGVmdDotNHB4fS5sZy1sZWZ0LW1pbnVzLTVweHtsZWZ0Oi01cHh9LmxnLWxlZnQtbWludXMtNnB4e2xlZnQ6LTZweH0ubGctbGVmdC1taW51cy03cHh7bGVmdDotN3B4fS5sZy1sZWZ0LW1pbnVzLThweHtsZWZ0Oi04cHh9LmxnLWxlZnQtbWludXMtOXB4e2xlZnQ6LTlweH0ubGctbGVmdC1taW51cy0xMHB4e2xlZnQ6LTEwcHh9LmxnLWxlZnQtbWludXMtMTVweHtsZWZ0Oi0xNXB4fS5sZy1sZWZ0LW1pbnVzLTIwcHh7bGVmdDotMjBweH0ubGctbGVmdC1taW51cy0yNXB4e2xlZnQ6LTI1cHh9LmxnLWxlZnQtbWludXMtMzBweHtsZWZ0Oi0zMHB4fS5sZy1sZWZ0LW1pbnVzLTM1cHh7bGVmdDotMzVweH0ubGctbGVmdC1taW51cy00MHB4e2xlZnQ6LTQwcHh9LmxnLWxlZnQtbWludXMtNDVweHtsZWZ0Oi00NXB4fS5sZy1sZWZ0LW1pbnVzLTUwcHh7bGVmdDotNTBweH0ubGctdy0xcHh7d2lkdGg6MXB4IWltcG9ydGFudH0ubGctdy0ycHh7d2lkdGg6MnB4IWltcG9ydGFudH0ubGctdy0zcHh7d2lkdGg6M3B4IWltcG9ydGFudH0ubGctdy00cHh7d2lkdGg6NHB4IWltcG9ydGFudH0ubGctdy01cHh7d2lkdGg6NXB4IWltcG9ydGFudH0ubGctdy02cHh7d2lkdGg6NnB4IWltcG9ydGFudH0ubGctdy03cHh7d2lkdGg6N3B4IWltcG9ydGFudH0ubGctdy04cHh7d2lkdGg6OHB4IWltcG9ydGFudH0ubGctdy05cHh7d2lkdGg6OXB4IWltcG9ydGFudH0ubGctdy0xMHB4e3dpZHRoOjEwcHghaW1wb3J0YW50fS5sZy13LTE1cHh7d2lkdGg6MTVweCFpbXBvcnRhbnR9LmxnLXctMjBweHt3aWR0aDoyMHB4IWltcG9ydGFudH0ubGctdy0yNXB4e3dpZHRoOjI1cHghaW1wb3J0YW50fS5sZy13LTMwcHh7d2lkdGg6MzBweCFpbXBvcnRhbnR9LmxnLXctMzVweHt3aWR0aDozNXB4IWltcG9ydGFudH0ubGctdy00MHB4e3dpZHRoOjQwcHghaW1wb3J0YW50fS5sZy13LTUwcHh7d2lkdGg6NTBweCFpbXBvcnRhbnR9LmxnLXctNTVweHt3aWR0aDo1NXB4IWltcG9ydGFudH0ubGctdy02MHB4e3dpZHRoOjYwcHghaW1wb3J0YW50fS5sZy13LTY1cHh7d2lkdGg6NjVweCFpbXBvcnRhbnR9LmxnLXctNzBweHt3aWR0aDo3MHB4IWltcG9ydGFudH0ubGctdy03NXB4e3dpZHRoOjc1cHghaW1wb3J0YW50fS5sZy13LTgwcHh7d2lkdGg6ODBweCFpbXBvcnRhbnR9LmxnLXctODVweHt3aWR0aDo4NXB4IWltcG9ydGFudH0ubGctdy05MHB4e3dpZHRoOjkwcHghaW1wb3J0YW50fS5sZy13LTk1cHh7d2lkdGg6OTVweCFpbXBvcnRhbnR9LmxnLXctMTAwcHh7d2lkdGg6MTAwcHghaW1wb3J0YW50fS5sZy13LTExMHB4e3dpZHRoOjExMHB4IWltcG9ydGFudH0ubGctdy0xMjBweHt3aWR0aDoxMjBweCFpbXBvcnRhbnR9LmxnLXctMTMwcHh7d2lkdGg6MTMwcHghaW1wb3J0YW50fS5sZy13LTE0MHB4e3dpZHRoOjE0MHB4IWltcG9ydGFudH0ubGctdy0xNTBweHt3aWR0aDoxNTBweCFpbXBvcnRhbnR9LmxnLXctMTYwcHh7d2lkdGg6MTYwcHghaW1wb3J0YW50fS5sZy13LTE3MHB4e3dpZHRoOjE3MHB4IWltcG9ydGFudH0ubGctdy0xODBweHt3aWR0aDoxODBweCFpbXBvcnRhbnR9LmxnLXctMTkwcHh7d2lkdGg6MTkwcHghaW1wb3J0YW50fS5sZy13LTIwMHB4e3dpZHRoOjIwMHB4IWltcG9ydGFudH0ubGctdy0yNTBweHt3aWR0aDoyNTBweCFpbXBvcnRhbnR9LmxnLXctMzAwcHh7d2lkdGg6MzAwcHghaW1wb3J0YW50fS5sZy13LTM1MHB4e3dpZHRoOjM1MHB4IWltcG9ydGFudH0ubGctdy00MDBweHt3aWR0aDo0MDBweCFpbXBvcnRhbnR9LmxnLXctNDUwcHh7d2lkdGg6NDUwcHghaW1wb3J0YW50fS5sZy13LTUwMHB4e3dpZHRoOjUwMHB4IWltcG9ydGFudH0ubGctdy01NTBweHt3aWR0aDo1NTBweCFpbXBvcnRhbnR9LmxnLXctNjAwcHh7d2lkdGg6NjAwcHghaW1wb3J0YW50fS5sZy13LTY1MHB4e3dpZHRoOjY1MHB4IWltcG9ydGFudH0ubGctdy03MDBweHt3aWR0aDo3MDBweCFpbXBvcnRhbnR9LmxnLXctNzUwcHh7d2lkdGg6NzUwcHghaW1wb3J0YW50fS5sZy13LTgwMHB4e3dpZHRoOjgwMHB4IWltcG9ydGFudH0ubGctdy04NTBweHt3aWR0aDo4NTBweCFpbXBvcnRhbnR9LmxnLXctOTAwcHh7d2lkdGg6OTAwcHghaW1wb3J0YW50fS5sZy13LTk1MHB4e3dpZHRoOjk1MHB4IWltcG9ydGFudH0ubGctdy0xMDAwcHh7d2lkdGg6MTAwMHB4IWltcG9ydGFudH0ubGctdy0xMHt3aWR0aDoxMCUhaW1wb3J0YW50fS5sZy13LTE1e3dpZHRoOjE1JSFpbXBvcnRhbnR9LmxnLXctMjB7d2lkdGg6MjAlIWltcG9ydGFudH0ubGctdy0yNXt3aWR0aDoyNSUhaW1wb3J0YW50fS5sZy13LTMwe3dpZHRoOjMwJSFpbXBvcnRhbnR9LmxnLXctMzV7d2lkdGg6MzUlIWltcG9ydGFudH0ubGctdy00MHt3aWR0aDo0MCUhaW1wb3J0YW50fS5sZy13LTQ1e3dpZHRoOjQ1JSFpbXBvcnRhbnR9LmxnLXctNTB7d2lkdGg6NTAlIWltcG9ydGFudH0ubGctdy01NXt3aWR0aDo1NSUhaW1wb3J0YW50fS5sZy13LTYwe3dpZHRoOjYwJSFpbXBvcnRhbnR9LmxnLXctNjV7d2lkdGg6NjUlIWltcG9ydGFudH0ubGctdy03MHt3aWR0aDo3MCUhaW1wb3J0YW50fS5sZy13LTc1e3dpZHRoOjc1JSFpbXBvcnRhbnR9LmxnLXctODB7d2lkdGg6ODAlIWltcG9ydGFudH0ubGctdy04NXt3aWR0aDo4NSUhaW1wb3J0YW50fS5sZy13LTkwe3dpZHRoOjkwJSFpbXBvcnRhbnR9LmxnLXctOTV7d2lkdGg6OTUlIWltcG9ydGFudH0ubGctdy0xMDB7d2lkdGg6MTAwJSFpbXBvcnRhbnR9LmxnLXctYXV0b3t3aWR0aDphdXRvIWltcG9ydGFudH0ubGctaC0xcHh7aGVpZ2h0OjFweCFpbXBvcnRhbnR9LmxnLWgtMnB4e2hlaWdodDoycHghaW1wb3J0YW50fS5sZy1oLTNweHtoZWlnaHQ6M3B4IWltcG9ydGFudH0ubGctaC00cHh7aGVpZ2h0OjRweCFpbXBvcnRhbnR9LmxnLWgtNXB4e2hlaWdodDo1cHghaW1wb3J0YW50fS5sZy1oLTZweHtoZWlnaHQ6NnB4IWltcG9ydGFudH0ubGctaC03cHh7aGVpZ2h0OjdweCFpbXBvcnRhbnR9LmxnLWgtOHB4e2hlaWdodDo4cHghaW1wb3J0YW50fS5sZy1oLTlweHtoZWlnaHQ6OXB4IWltcG9ydGFudH0ubGctaC0xMHB4e2hlaWdodDoxMHB4IWltcG9ydGFudH0ubGctaC0yMHB4e2hlaWdodDoyMHB4IWltcG9ydGFudH0ubGctaC0zMHB4e2hlaWdodDozMHB4IWltcG9ydGFudH0ubGctaC00MHB4e2hlaWdodDo0MHB4IWltcG9ydGFudH0ubGctaC00MnB4e2hlaWdodDo0MnB4IWltcG9ydGFudH0ubGctaC01MHB4e2hlaWdodDo1MHB4IWltcG9ydGFudH0ubGctaC02MHB4e2hlaWdodDo2MHB4IWltcG9ydGFudH0ubGctaC03MHB4e2hlaWdodDo3MHB4IWltcG9ydGFudH0ubGctaC04MHB4e2hlaWdodDo4MHB4IWltcG9ydGFudH0ubGctaC05MHB4e2hlaWdodDo5MHB4IWltcG9ydGFudH0ubGctaC0xMDBweHtoZWlnaHQ6MTAwcHghaW1wb3J0YW50fS5sZy1oLTExMHB4e2hlaWdodDoxMTBweCFpbXBvcnRhbnR9LmxnLWgtMTIwcHh7aGVpZ2h0OjEyMHB4IWltcG9ydGFudH0ubGctaC0xMzBweHtoZWlnaHQ6MTMwcHghaW1wb3J0YW50fS5sZy1oLTE0MHB4e2hlaWdodDoxNDBweCFpbXBvcnRhbnR9LmxnLWgtMTUwcHh7aGVpZ2h0OjE1MHB4IWltcG9ydGFudH0ubGctaC0xNjBweHtoZWlnaHQ6MTYwcHghaW1wb3J0YW50fS5sZy1oLTE3MHB4e2hlaWdodDoxNzBweCFpbXBvcnRhbnR9LmxnLWgtMTgwcHh7aGVpZ2h0OjE4MHB4IWltcG9ydGFudH0ubGctaC0xOTBweHtoZWlnaHQ6MTkwcHghaW1wb3J0YW50fS5sZy1oLTIwMHB4e2hlaWdodDoyMDBweCFpbXBvcnRhbnR9LmxnLWgtMjUwcHh7aGVpZ2h0OjI1MHB4IWltcG9ydGFudH0ubGctaC0zMDBweHtoZWlnaHQ6MzAwcHghaW1wb3J0YW50fS5sZy1oLTM1MHB4e2hlaWdodDozNTBweCFpbXBvcnRhbnR9LmxnLWgtNDAwcHh7aGVpZ2h0OjQwMHB4IWltcG9ydGFudH0ubGctaC00NTBweHtoZWlnaHQ6NDUwcHghaW1wb3J0YW50fS5sZy1oLTUwMHB4e2hlaWdodDo1MDBweCFpbXBvcnRhbnR9LmxnLWgtNTIwcHh7aGVpZ2h0OjUyMHB4IWltcG9ydGFudH0ubGctaC01NTBweHtoZWlnaHQ6NTUwcHghaW1wb3J0YW50fS5sZy1oLTU4MHB4e2hlaWdodDo1ODBweCFpbXBvcnRhbnR9LmxnLWgtNjAwcHh7aGVpZ2h0OjYwMHB4IWltcG9ydGFudH0ubGctaC02NTBweHtoZWlnaHQ6NjUwcHghaW1wb3J0YW50fS5sZy1oLTcwMHB4e2hlaWdodDo3MDBweCFpbXBvcnRhbnR9LmxnLWgtNzIwcHh7aGVpZ2h0OjcyMHB4IWltcG9ydGFudH0ubGctaC03NTBweHtoZWlnaHQ6NzUwcHghaW1wb3J0YW50fS5sZy1oLTgwMHB4e2hlaWdodDo4MDBweCFpbXBvcnRhbnR9LmxnLWgtODIwcHh7aGVpZ2h0OjgyMHB4IWltcG9ydGFudH0ubGctaC04MzBweHtoZWlnaHQ6ODMwcHghaW1wb3J0YW50fS5sZy1oLTg1MHB4e2hlaWdodDo4NTBweCFpbXBvcnRhbnR9LmxnLWgtNTB7aGVpZ2h0OjUwJSFpbXBvcnRhbnR9LmxnLWgtMTAwe2hlaWdodDoxMDAlIWltcG9ydGFudH0ubGctaC1hdXRve2hlaWdodDphdXRvIWltcG9ydGFudH0ubGctbWluLWgtMTAwcHh7bWluLWhlaWdodDoxMDBweH0ubGctbWluLWgtMjAwcHh7bWluLWhlaWdodDoyMDBweH0ubGctbWluLWgtMzAwcHh7bWluLWhlaWdodDozMDBweH0ubGctbWluLWgtNDAwcHh7bWluLWhlaWdodDo0MDBweH0ubGctbWluLWgtNTAwcHh7bWluLWhlaWdodDo1MDBweH0ubGctbWluLWgtNjAwcHh7bWluLWhlaWdodDo2MDBweH0ubGctbWluLWgtNzAwcHh7bWluLWhlaWdodDo3MDBweH0ub25lLWZpZnRoLXNjcmVlbntoZWlnaHQ6NzUwcHh9LmxnLWxldHRlci1zcGFjaW5nLW5vcm1hbHtsZXR0ZXItc3BhY2luZzpub3JtYWx9LmxnLWxldHRlci1zcGFjaW5nLTEtaGFsZntsZXR0ZXItc3BhY2luZzouNXB4fS5sZy1sZXR0ZXItc3BhY2luZy0xcHh7bGV0dGVyLXNwYWNpbmc6MXB4fS5sZy1sZXR0ZXItc3BhY2luZy0ycHh7bGV0dGVyLXNwYWNpbmc6MnB4fS5sZy1sZXR0ZXItc3BhY2luZy0zcHh7bGV0dGVyLXNwYWNpbmc6M3B4fS5sZy1sZXR0ZXItc3BhY2luZy00cHh7bGV0dGVyLXNwYWNpbmc6NHB4fS5sZy1sZXR0ZXItc3BhY2luZy01cHh7bGV0dGVyLXNwYWNpbmc6NXB4fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTAyIC5jYXRlZ29yeS1uYW1le2xlZnQ6NDBweH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wMiAuY2F0ZWdvcnktY29udGVudHtwYWRkaW5nOjIwcHggNDBweCA0MHB4fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA1IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWNvbnRlbnQsLmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDUgLmludGVyYWN0aXZlLWJhbm5lcnMtb3ZlcmxheWVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoMTAwJSAtIDEyNXB4KSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDEwMCUgLSAxMjVweCkpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygxMDAlIC0gMTI1cHgpKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygxMDAlIC0gMTI1cHgpKX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wOSAuaW50ZXJhY3RpdmUtYmFubmVycy1jb250ZW50IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWhvdmVyLWljb257bGVmdDo1MHB4O2JvdHRvbTo1MHB4fS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDQgLnByb2Nlc3Mtc3RlcC1pdGVte3BhZGRpbmctbGVmdDoxNXB4O3BhZGRpbmctcmlnaHQ6MTVweH0uYWNjb3JkaW9uLXN0eWxlLTA0IC5wYW5lbCAucGFuZWwtYm9keXt3aWR0aDo0NSV9LnRpbWUtdGFibGUgLnBhbmVse3BhZGRpbmc6MjBweCA0MHB4fS50aW1lLXRhYmxlIC5wYW5lbCAucGFuZWwtdGltZXttaW4td2lkdGg6MTcwcHh9LnRpbWUtdGFibGUgLnBhbmVsIC5wYW5lbC1ib2R5e3dpZHRoOmNhbGMoMTAwJSAtIDM1MHB4KX0udGFiLXN0eWxlLTA1IC5uYXYtdGFicyBsaSBhe3BhZGRpbmc6OHB4IDMwcHh9LnRhYi1zdHlsZS0wNyAubmF2LXRhYnM+bGkubmF2LWl0ZW17cGFkZGluZzowIDEwcHh9LnRhYi1zdHlsZS0wNyAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGlua3twYWRkaW5nOjMwcHggMzBweCAyOHB4IDMwcHh9LmxnLW5vLWJvcmRlci10b3B7Ym9yZGVyLXRvcDowIWltcG9ydGFudH0ubGctbm8tYm9yZGVyLWJvdHRvbXtib3JkZXItYm90dG9tOjAhaW1wb3J0YW50fS5sZy1uby1ib3JkZXItcmlnaHR7Ym9yZGVyLXJpZ2h0OjAhaW1wb3J0YW50fS5sZy1uby1ib3JkZXItbGVmdHtib3JkZXItbGVmdDowIWltcG9ydGFudH0ubGctbm8tYm9yZGVyLWFsbHtib3JkZXI6MCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC0xcHh7Ym9yZGVyLXdpZHRoOjFweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC0ycHh7Ym9yZGVyLXdpZHRoOjJweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC0zcHh7Ym9yZGVyLXdpZHRoOjNweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC00cHh7Ym9yZGVyLXdpZHRoOjRweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC01cHh7Ym9yZGVyLXdpZHRoOjVweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC02cHh7Ym9yZGVyLXdpZHRoOjZweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC03cHh7Ym9yZGVyLXdpZHRoOjdweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC04cHh7Ym9yZGVyLXdpZHRoOjhweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC05cHh7Ym9yZGVyLXdpZHRoOjlweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC0xMHB4e2JvcmRlci13aWR0aDoxMHB4IWltcG9ydGFudH0ubGctYm9yZGVyLXdpZHRoLTExcHh7Ym9yZGVyLXdpZHRoOjExcHghaW1wb3J0YW50fS5sZy1ib3JkZXItd2lkdGgtMTJweHtib3JkZXItd2lkdGg6MTJweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC0xM3B4e2JvcmRlci13aWR0aDoxM3B4IWltcG9ydGFudH0ubGctYm9yZGVyLXdpZHRoLTE0cHh7Ym9yZGVyLXdpZHRoOjE0cHghaW1wb3J0YW50fS5sZy1ib3JkZXItd2lkdGgtMTVweHtib3JkZXItd2lkdGg6MTVweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC0xNnB4e2JvcmRlci13aWR0aDoxNnB4IWltcG9ydGFudH0ubGctYm9yZGVyLXdpZHRoLTE3cHh7Ym9yZGVyLXdpZHRoOjE3cHghaW1wb3J0YW50fS5sZy1ib3JkZXItd2lkdGgtMThweHtib3JkZXItd2lkdGg6MThweCFpbXBvcnRhbnR9LmxnLWJvcmRlci13aWR0aC0xOXB4e2JvcmRlci13aWR0aDoxOXB4IWltcG9ydGFudH0ubGctYm9yZGVyLXdpZHRoLTIwcHh7Ym9yZGVyLXdpZHRoOjIwcHghaW1wb3J0YW50fS5sZy1ib3JkZXItYWxse2JvcmRlcjoxcHggc29saWR9LmxnLWJvcmRlci10b3B7Ym9yZGVyLXRvcDoxcHggc29saWR9LmxnLWJvcmRlci1ib3R0b217Ym9yZGVyLWJvdHRvbToxcHggc29saWR9LmxnLWJvcmRlci1sZWZ0e2JvcmRlci1sZWZ0OjFweCBzb2xpZH0ubGctYm9yZGVyLXJpZ2h0e2JvcmRlci1yaWdodDoxcHggc29saWR9LmxnLWJvcmRlci1scntib3JkZXItbGVmdDoxcHggc29saWQ7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZH0ubGctYm9yZGVyLXRie2JvcmRlci10b3A6MXB4IHNvbGlkO2JvcmRlci1ib3R0b206MXB4IHNvbGlkfS5sZy1ib3JkZXItY29sb3Itd2hpdGV7Ym9yZGVyLWNvbG9yOiNmZmZ9LmxnLWJvcmRlci1jb2xvci1ibGFja3tib3JkZXItY29sb3I6IzAwMH0ubGctYm9yZGVyLWNvbG9yLXNreS1ibHVle2JvcmRlci1jb2xvcjojMmU5NGVifS5sZy1ib3JkZXItY29sb3ItZXh0cmEtZGFyay1ncmF5e2JvcmRlci1jb2xvcjojMjMyMzIzfS5sZy1ib3JkZXItY29sb3ItbWVkaXVtLWRhcmstZ3JheXtib3JkZXItY29sb3I6IzM2MzYzNn0ubGctYm9yZGVyLWNvbG9yLWRhcmstZ3JheXtib3JkZXItY29sb3I6IzkzOTM5M30ubGctYm9yZGVyLWNvbG9yLWV4dHJhLW1lZGl1bS1ncmF5e2JvcmRlci1jb2xvcjojZGJkYmRifS5sZy1ib3JkZXItY29sb3ItbWVkaXVtLWdyYXl7Ym9yZGVyLWNvbG9yOiNlNGU0ZTR9LmxnLWJvcmRlci1jb2xvci1leHRyYS1saWdodC1ncmF5e2JvcmRlci1jb2xvcjojZWRlZGVkfS5sZy1ib3JkZXItY29sb3ItbGlnaHQtZ3JheXtib3JkZXItY29sb3I6I2Y1ZjVmNX0ubGctYm9yZGVyLWNvbG9yLWxpZ2h0LXBpbmt7Ym9yZGVyLWNvbG9yOiM4NjIyMzd9LmxnLWJvcmRlci1jb2xvci1kZWVwLXBpbmt7Ym9yZGVyLWNvbG9yOiNmZjIxNGZ9LmxnLWJvcmRlci1jb2xvci1waW5re2JvcmRlci1jb2xvcjojZmYzNTdjfS5sZy1ib3JkZXItY29sb3ItZmFzdC1ibHVle2JvcmRlci1jb2xvcjojMDAzOGUzfS5sZy1ib3JkZXItY29sb3Itb3Jhbmdle2JvcmRlci1jb2xvcjojZmY2NDM3fS5sZy1ib3JkZXItY29sb3ItZ3JlZW57Ym9yZGVyLWNvbG9yOiM0NWQ2OTB9LmxnLWJvcmRlci1jb2xvci1nb2xkZW57Ym9yZGVyLWNvbG9yOiNkMGJhNmR9LmxnLWJvcmRlci1jb2xvci1wZXJzaWFuLWJsdWV7Ym9yZGVyLWNvbG9yOiMwMDM5Y2N9LmxnLWJvcmRlci1jb2xvci1wdXJwbGV7Ym9yZGVyLWNvbG9yOiM3MzQyYWN9LmxnLWJvcmRlci1jb2xvci1wYXJyb3QtZ3JlZW57Ym9yZGVyLWNvbG9yOiNjZWUwMDJ9LmxnLWJvcmRlci1jb2xvci1kYXJrLXJlZHtib3JkZXItY29sb3I6I2UxMjgzN30ubGctYm9yZGVyLWNvbG9yLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0ubGctYm9yZGVyLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xKX0ubGctYm9yZGVyLWNvbG9yLXdoaXRlLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubGctYm9yZGVyLWNvbG9yLWdvbGRlbi10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyMDgsMTg2LDEwOSwuMil9LmxnLWJvcmRlci1jb2xvci1waW5rLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwzMyw3OSwuNDUpfS5sZy1ib3JkZXItY29sb3ItZGFyay13aGl0ZS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMil9LmxnLWJvcmRlci1jb2xvci1tZWRpdW0td2hpdGUtdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5sZy1ib3JkZXItY29sb3ItZnVsbC1kYXJrLXdoaXRlLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4wNSl9LmxnLWJvcmRlci1jb2xvci1saWdodC13aGl0ZS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9LmxnLWJvcmRlci1jb2xvci1uZXJvLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDI1LDI1LDI1LC4xKX0ubGctYm9yZGVyLWNvbG9yLWV4dHJhLW1lZGl1bS1ncmF5LXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDIxOSwyMTksMjE5LC4wNCl9LmxnLWJvcmRlci1kb3R0ZWR7Ym9yZGVyLXN0eWxlOmRvdHRlZCFpbXBvcnRhbnR9LmxnLWJvcmRlci1kYXNoZWR7Ym9yZGVyLXN0eWxlOmRhc2hlZCFpbXBvcnRhbnR9LmxnLWJvcmRlci1zb2xpZHtib3JkZXItc3R5bGU6c29saWQhaW1wb3J0YW50fS5sZy1ib3JkZXItZG91Ymxle2JvcmRlci1zdHlsZTpkb3VibGUhaW1wb3J0YW50fS5sZy1ib3JkZXItZ3Jvb3Zle2JvcmRlci1zdHlsZTpncm9vdmUhaW1wb3J0YW50fS5sZy1ib3JkZXItcmlkZ2V7Ym9yZGVyLXN0eWxlOnJpZGdlIWltcG9ydGFudH0ubGctYm9yZGVyLWluc2V0e2JvcmRlci1zdHlsZTppbnNldCFpbXBvcnRhbnR9LmxnLWJvcmRlci1vdXRzZXR7Ym9yZGVyLXN0eWxlOm91dHNldCFpbXBvcnRhbnR9LmxnLWJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lIWltcG9ydGFudH0ubGctYm9yZGVyLWhpZGRlbntib3JkZXItc3R5bGU6aGlkZGVuIWltcG9ydGFudH0ubGctYm9yZGVyLXRyYW5zcGVyZW50e2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCFpbXBvcnRhbnR9LmJveC1sYXlvdXR7cGFkZGluZzowfS5ib3gtbGF5b3V0LWxhcmdle3BhZGRpbmc6MH0ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXZ7cGFkZGluZzozNXB4IDUwcHggNDBweH0ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXYgLmNvbCwubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXYgdWxbY2xhc3MqPWQtXXtwYWRkaW5nLXJpZ2h0Ojc1cHh9Lm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IC5tZW51LWJhY2stZGl2IC5jb2w6bGFzdC1jaGlsZCwubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXYgdWxbY2xhc3MqPWQtXTpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6NTBweH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDIuc3dpcGVyLWJ1dHRvbi1wcmV2e2xlZnQ6LTE1cHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAyLnN3aXBlci1idXR0b24tbmV4dHtyaWdodDotMTVweH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDQuc3dpcGVyLWJ1dHRvbi1wcmV2e2xlZnQ6LTIwJX0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDQuc3dpcGVyLWJ1dHRvbi1uZXh0e3JpZ2h0Oi0yMCV9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA3LnN3aXBlci1idXR0b24tcHJldi5saWdodHtsZWZ0Oi01cHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA3LnN3aXBlci1idXR0b24tbmV4dC5saWdodHtyaWdodDotNXB4fS5ncmlkLmxnLWdyaWQtNmNvbCBsaXt3aWR0aDoxNi42NyV9LmdyaWQubGctZ3JpZC02Y29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6MzMuMzMlfS5ncmlkLmxnLWdyaWQtNWNvbCBsaXt3aWR0aDoyMCV9LmdyaWQubGctZ3JpZC01Y29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6NDAlfS5ncmlkLmxnLWdyaWQtNGNvbCBsaXt3aWR0aDoyNSV9LmdyaWQubGctZ3JpZC00Y29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6NTAlfS5ncmlkLmxnLWdyaWQtM2NvbCBsaXt3aWR0aDozMy4zMyV9LmdyaWQubGctZ3JpZC0zY29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6NjYuNjclfS5ncmlkLmxnLWdyaWQtMmNvbCBsaXt3aWR0aDo1MCV9LmdyaWQubGctZ3JpZC0yY29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6MTAwJX0uZ3JpZC5sZy1ncmlkLTFjb2wgbGl7d2lkdGg6MTAwJX0ucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy14bC00IC5jb2w6bnRoLWNoaWxkKDRuKzApIC5wb3J0Zm9saW8tYm94LC5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLXhsLTQgLmNvbDpudGgtY2hpbGQoNG4rMSkgLnBvcnRmb2xpby1ib3h7cGFkZGluZzoxNSUgMH0ucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy14bC00IC5jb2w6bnRoLWNoaWxkKDRuKzIpIC5wb3J0Zm9saW8tYm94LC5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLXhsLTQgLmNvbDpudGgtY2hpbGQoNG4rMykgLnBvcnRmb2xpby1ib3h7cGFkZGluZzowIDE1JX0ucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy14bC00IC5jb2w6bnRoLWNoaWxkKDhuKzApIC5wb3J0Zm9saW8tYm94LC5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLXhsLTQgLmNvbDpudGgtY2hpbGQoOG4rMSkgLnBvcnRmb2xpby1ib3gsLnBvcnRmb2xpby1zY2F0dGVyZWQucm93LWNvbHMteGwtNCAuY29sOm50aC1jaGlsZCg4biszKSAucG9ydGZvbGlvLWJveCwucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy14bC00IC5jb2w6bnRoLWNoaWxkKDhuKzYpIC5wb3J0Zm9saW8tYm94e3BhZGRpbmc6MTUlIDB9LnBvcnRmb2xpby1zY2F0dGVyZWQucm93LWNvbHMteGwtNCAuY29sOm50aC1jaGlsZCg4bisyKSAucG9ydGZvbGlvLWJveCwucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy14bC00IC5jb2w6bnRoLWNoaWxkKDhuKzQpIC5wb3J0Zm9saW8tYm94LC5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLXhsLTQgLmNvbDpudGgtY2hpbGQoOG4rNSkgLnBvcnRmb2xpby1ib3gsLnBvcnRmb2xpby1zY2F0dGVyZWQucm93LWNvbHMteGwtNCAuY29sOm50aC1jaGlsZCg4bis3KSAucG9ydGZvbGlvLWJveHtwYWRkaW5nOjAgMTUlIDE1JX0uanVzdGlmaWVkLWdhbGxlcnk+YT4uY2FwdGlvbiwuanVzdGlmaWVkLWdhbGxlcnk+ZGl2Pi5jYXB0aW9uLC5qdXN0aWZpZWQtZ2FsbGVyeT5maWd1cmU+LmNhcHRpb257Ym90dG9tOjEwcHghaW1wb3J0YW50O2xlZnQ6MTBweCFpbXBvcnRhbnQ7cmlnaHQ6MTBweDtib3gtc2hhZG93Om5vbmU7d2hpdGUtc3BhY2U6bm9ybWFsO3RvcDppbml0aWFsIWltcG9ydGFudDt3aWR0aDpjYWxjKDEwMCUgLSAyMHB4KTtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0udGFibGUtc3R5bGUtMDF7b3ZlcmZsb3cteDpzY3JvbGx9LnRhYmxlLXN0eWxlLTAxIHRhYmxle3dpZHRoOjkwMHB4fS5ibG9nLW1vZGVybiAucG9zdC1kZXRhaWxze2xlZnQ6MjBweDt3aWR0aDpjYWxjKDEwMCUgLSA0MHB4KX0ubGF0ZXN0LXBvc3Qtc2lkZWJhciBsaSBmaWd1cmV7d2lkdGg6MTAwcHh9LmxhdGVzdC1wb3N0LXNpZGViYXIgbGkgZGl2e3BhZGRpbmctbGVmdDoxNXB4fS5ib3gtbGF5b3V0IC5uYXZiYXIubmF2YmFyLWJveGVke3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0uaG9tZS1hcmNoaXRlY3R1cmUgLm5hdmJhci5iZy10cmFuc3BhcmVudCwuaG9tZS1hcmNoaXRlY3R1cmUuc3RpY2t5IC5oZWFkZXItZGFyay5oZWFkZXItYWx3YXlzLWZpeGVkLXNjcm9sbHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50IWltcG9ydGFudH0uaG9tZS1hcmNoaXRlY3R1cmUgLm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5wdXNoLWJ1dHRvbj5zcGFuLC5ob21lLWFyY2hpdGVjdHVyZS5zdGlja3kgLm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5wdXNoLWJ1dHRvbj5zcGFue2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnR9LmhvbWUtYXJjaGl0ZWN0dXJlIC50cGFycm93cy50cC1yaWdodGFycm93e3RyYW5zZm9ybTptYXRyaXgoMSwwLDAsMSwtNjcsLTI0MCkhaW1wb3J0YW50fS5ob21lLWFyY2hpdGVjdHVyZSAudHBhcnJvd3MudHAtbGVmdGFycm93e3RyYW5zZm9ybTptYXRyaXgoMSwwLDAsMSwtNjcsLTMwNykhaW1wb3J0YW50fS5iYW5uZXItYm90dG9tLXJpZ2h0LWltYWdlcz5pbWd7Ym90dG9tOi02NXB4fS5ob21lLWRpZ2l0YWwtYWdlbmN5IC5vdXRzaWRlLWJveC10ZXh0LXJpZ2h0IC50ZXh0LWV4dHJhLWJpZy0ye2ZvbnQtc2l6ZToyMDBweH1mb290ZXIuaG9tZS1tYXJrZXRpbmctYWdlbmN5IC5mb290ZXItaG9yaXpvbnRhbC1saW5rIGxpe21hcmdpbi1yaWdodDoyMHB4fWZvb3Rlci5ob21lLW1hcmtldGluZy1hZ2VuY3kgLmZvb3Rlci1ob3Jpem9udGFsLWxpbmsgbGk6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH0uaG9tZS12ZXJ0aWNhbC1wb3J0Zm9saW8gLm5hdmJhcntwYWRkaW5nOjAgNC41cmVtfS5mdWxsc2NyZWVuLWhvdmVyLWxpc3QgLmhvdmVyLWxpc3QtaXRlbSAuaW50ZXJhY3RpdmUtdGl0bGV7Zm9udC1zaXplOjcwcHg7bGluZS1oZWlnaHQ6NzBweDtwYWRkaW5nOjIwcHggMzVweH0uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0gLmludGVyYWN0aXZlLXRpdGxlOmFmdGVye2JvdHRvbTozMHB4fS5mdWxsc2NyZWVuLWhvdmVyLWxpc3QgLmhvdmVyLWxpc3QtaXRlbS5hY3RpdmUgLmludGVyYWN0aXZlLXRpdGxlOmFmdGVye3dpZHRoOmNhbGMoMTAwJSAtIDYwcHgpfS5jb250ZW50LWJveC1pbWFnZXtoZWlnaHQ6MjI1cHh9LmxpdGhvLXBhcmFsbGF4LWJne3dpZHRoOjYyMHB4fS5jdXN0b21lci1iZy1zZWN0aW9ue3RvcDo4MHB4O2JvdHRvbTppbmhlcml0fS5sYW5kaW5nLXBhZ2UtYXV0by1zbGlkZXIgLnN3aXBlci1jb250YWluZXIuc3dpcGVyLWF1dG8tc2xpZGUgLnN3aXBlci1zbGlkZXt3aWR0aDo0MCUhaW1wb3J0YW50fS50aGVtZS1kZW1vc3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5tZnAtY2xvc2U6YWN0aXZlLC5tZnAtaWZyYW1lLWhvbGRlciBidXR0b24ubWZwLWNsb3NlLC5tZnAtaW1hZ2UtaG9sZGVyIGJ1dHRvbi5tZnAtY2xvc2UsYnV0dG9uLm1mcC1jbG9zZXt0b3A6MjBweDtyaWdodDoyMHB4fX1AbWVkaWEgKG1heC13aWR0aDoxMDI0cHgpey5tYWluLWNvbnRlbnR7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudDtwb3NpdGlvbjppbmhlcml0fS5maXgtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6dW5zZXQhaW1wb3J0YW50fS5zbGlkZXItdmVydGljYWwgLnN3aXBlci1udW1iZXItcGFnaW5hdGlvbntsZWZ0OjczcHg7Ym90dG9tOjExNXB4fS5ob21lLWRlY29yIC56ZXVze3RyYW5zZm9ybTptYXRyaXgoMSwwLDAsMSwtNDcwLC01OSkhaW1wb3J0YW50fS5ob21lLWRlY29yIC5jb2xsZWN0aW9uLWJ0biBzcGFue3dpZHRoOjQ4cHghaW1wb3J0YW50O2hlaWdodDo0OHB4IWltcG9ydGFudDt0b3A6NTAlIWltcG9ydGFudDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSFpbXBvcnRhbnR9LmhvbWUtZGVjb3IgLmNvbGxlY3Rpb24tYnRuOmhvdmVyIHNwYW57d2lkdGg6MTAwJSFpbXBvcnRhbnQ7aGVpZ2h0OjQ4cHh9LmhvbWUtZGVjb3IgLnRwLWJ1bGxldHtoZWlnaHQ6OHB4IWltcG9ydGFudDt3aWR0aDo4cHghaW1wb3J0YW50fS5ob21lLWZhc2hpb24tc2hvcCAudHAtdGFic3tsZWZ0OjYwNXB4IWltcG9ydGFudH0uaG9tZS1hcmNoaXRlY3R1cmUgLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3d7dHJhbnNmb3JtOm1hdHJpeCgxLDAsMCwxLC02NywtMjQwKSFpbXBvcnRhbnR9LmhvbWUtYXJjaGl0ZWN0dXJlIC50cGFycm93cy50cC1sZWZ0YXJyb3d7dHJhbnNmb3JtOm1hdHJpeCgxLDAsMCwxLC02NywtMzA3KSFpbXBvcnRhbnR9LmZ1bGxzY3JlZW4taG92ZXItbGlzdCAuaG92ZXItbGlzdC1pdGVtLmFjdGl2ZSAuaW50ZXJhY3RpdmUtaWNvbntvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zaXRpb24tZGVsYXk6LjhzO3RyYW5zaXRpb24tZHVyYXRpb246MXN9LnNjcm9sbC10b3AtYXJyb3d7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZm9vdGVyLXN0aWNreXtwb3NpdGlvbjpyZWxhdGl2ZSFpbXBvcnRhbnQ7ei1pbmRleDowIWltcG9ydGFudH19QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwMjRweCkgYW5kIChtaW4td2lkdGg6Nzc4cHgpey5ob21lLXNwYS1zYWxvbiAuYXJlc3t0b3A6NTUuNSUhaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo5OTFweCl7Lm1lbnUtbGlzdC13cmFwcGVyLm1DU19ub19zY3JvbGxiYXIgLm1DU0JfaW5zaWRlPi5tQ1NCX2NvbnRhaW5lciAubWVudS1saXN0e3BhZGRpbmctcmlnaHQ6MH0ubWVudS1saXN0LXdyYXBwZXIubUNTX25vX3Njcm9sbGJhciAubUNTQl9pbnNpZGU+Lm1DU0JfY29udGFpbmVyIC5tZW51LWxpc3Qtd3JhcHBlciAubWVudS1saXN0e3BhZGRpbmctcmlnaHQ6MTVweH0ubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXItZmx1aWQsLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1sZywubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLW1kLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXItc20sLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci14bHtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHh9Lm5hdmJhci1uYXZ7cGFkZGluZzoxNXB4IDE1cHggMjVweH0ubmF2YmFyLWNvbGxhcHNle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2xlZnQ6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6I2ZmZjtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzowIDIwcHggMTVweCAwIHJnYmEoMjMsMjMsMjMsLjA1KTttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA2NXB4KX0ubmF2YmFyLWNvbGxhcHNlLnNob3d7b3ZlcmZsb3cteTphdXRvIWltcG9ydGFudDstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0ubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluaywubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmssLnN0aWNreSAubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluaywuc3RpY2t5IC5uYXZiYXIubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluayxoZWFkZXIuc3RpY2t5IC5uYXZiYXIudG9wLWxvZ28gLm5hdmJhci1uYXYgLm5hdi1saW5re2NvbG9yOiMwMDA7cGFkZGluZzo5cHggMTVweDttYXJnaW46MH0ubmF2YmFyIC5uYXZiYXItbmF2IC5uYXYtbGlua3tmb250LXNpemU6MTVweH0ubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2Pi5kcm9wZG93bi5hY3RpdmU+YSwuc3RpY2t5IC5uYXZiYXIuaGVhZGVyLWRhcmsgLm5hdmJhci1uYXY+LmRyb3Bkb3duLmFjdGl2ZT5he2NvbG9yOnJnYmEoMCwwLDAsLjYpIWltcG9ydGFudH0ubmF2YmFyLm5hdmJhci1ib3hlZHtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9Lm5hdmJhci10b2dnbGVye21hcmdpbjozMHB4IDAgMjhweCAxMHB4O3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uc3RpY2t5IC5uYXZiYXIucmVzcG9uc2l2ZS1zdGlja3kgLm5hdmJhci10b2dnbGVye21hcmdpbi10b3A6MjFweDttYXJnaW4tYm90dG9tOjIwcHh9LmRyb3Bkb3duLXRvZ2dsZTphZnRlcntkaXNwbGF5Om5vbmV9Lm1lbnUtb3JkZXJ7b3JkZXI6NTtwb3NpdGlvbjppbmhlcml0IWltcG9ydGFudH0ubG9nby1vcmRlcntvcmRlcjo1fS5uYXZiYXItY29sbGFwc2Utc2hvdyAuc3RpY2t5IC5oZWFkZXItcmV2ZXJzZS1zY3JvbGx7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzfS50b3AtYmFyLWNvbnRhY3QgLnRvcC1iYXItY29udGFjdC1saXN0Omxhc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0Om5vbmU7cGFkZGluZy1yaWdodDowfS5tZW51LWxvZ28tY2VudGVyIC5tZW51LWxvZ297cG9zaXRpb246cmVsYXRpdmU7bGVmdDphdXRvO3RleHQtYWxpZ246bGVmdDttYXJnaW46MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5tZW51LWxvZ28tY2VudGVyIC5uYXZiYXItYnJhbmR7cGFkZGluZzoxOHB4IDB9Lm5hdmJhci1sZWZ0LC5uYXZiYXItcmlnaHR7d2lkdGg6MTAwJX0uc3RpY2t5IC5uYXZiYXIuaGVhZGVyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5re2NvbG9yOiMwMDAhaW1wb3J0YW50fS5uYXZiYXItbmF2IC5uYXYtaXRlbTpsYXN0LWNoaWxkIC5tZW51LWJhY2stZGl2LC5uYXZiYXItbmF2IC5uYXYtaXRlbTpsYXN0LWNoaWxkIC5tZW51LWJhY2stZGl2IHVsOmxhc3QtY2hpbGR7cGFkZGluZy1ib3R0b206MCFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUsLm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93bntwb3NpdGlvbjpyZWxhdGl2ZX0ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXZ7ZGlzcGxheTpub25lfS5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudS5zaG93IC5tZW51LWJhY2stZGl2e2Rpc3BsYXk6YmxvY2t9Lm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IC5tZW51LWJhY2stZGl2LC5uYXYtaXRlbS5kcm9wZG93bi5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNoYWRvdzpub25lO3BhZGRpbmc6MCAxNXB4IDIwcHg7dG9wOjA7Ym9yZGVyLXJhZGl1czowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IC5tZW51LWJhY2stZGl2IC5jb2wsLm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IC5tZW51LWJhY2stZGl2IFtjbGFzcyo9Y29sLV17cGFkZGluZzowO21hcmdpbi1ib3R0b206OHB4fS5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudSAubWVudS1iYWNrLWRpdiAuY29sLC5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudSAubWVudS1iYWNrLWRpdiB1bFtjbGFzcyo9ZC1de3BhZGRpbmc6MTVweCAwIDAgMjBweH0ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXYgLmNvbDpsYXN0LWNoaWxkLC5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudSAubWVudS1iYWNrLWRpdiB1bFtjbGFzcyo9ZC1dOmxhc3QtY2hpbGR7cGFkZGluZy1yaWdodDowfS5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudSAubWVudS1iYWNrLWRpdiB1bC5zbWFsbC1nYXBbY2xhc3MqPWQtXXtwYWRkaW5nLXJpZ2h0OjB9LmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaS5kcm9wZG93bi1oZWFkZXJ7bWFyZ2luOjIzcHggMCAxMHB4IDA7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwfS5kcm9wZG93bi1tZW51Lm1lZ2FtZW51LWNvbnRlbnQgbGkuZHJvcGRvd24taGVhZGVyOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MTBweH0ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXYgW2NsYXNzKj1jb2wtXSBsaS5kcm9wZG93bi1oZWFkZXI6Zmlyc3QtY2hpbGQsLm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IC5tZW51LWJhY2stZGl2IHVsW2NsYXNzKj1kLV06Zmlyc3QtY2hpbGQgbGkuZHJvcGRvd24taGVhZGVyOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0ubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93biAuZHJvcGRvd24tbWVudXttYXJnaW46MCAwIDVweDtsZWZ0OjA7dG9wOjB9Lm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24+YXttYXJnaW4tYm90dG9tOjVweH0ubmF2LWl0ZW0+LmRyb3Bkb3duLXRvZ2dsZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDo1MHB4fS5uYXYtaXRlbS5zaG93Pi5kcm9wZG93bi10b2dnbGV7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyk7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTE4MGRlZyl9Lm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2JveC1zaGFkb3c6bm9uZTtkaXNwbGF5Om5vbmU7dG9wOjB9Lm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24tbWVudXtwYWRkaW5nOjB9Lm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93bi5zaG93IC5kcm9wZG93bi1tZW51e2Rpc3BsYXk6YmxvY2t9Lm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gYXtwYWRkaW5nOjNweCAxNXB4IDNweDtmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjVweH0ubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51Pi5kcm9wZG93bj5he2NvbG9yOiMwMDA7bWFyZ2luOjE1cHggMCA3cHggMDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lm1lZ2FtZW51LWRyb3Bkb3duLWRhcmt7YmFja2dyb3VuZC1jb2xvcjojMjMyMzIzfS5uYXZiYXIubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2Lm1lZ2FtZW51LWRyb3Bkb3duLWRhcmsgLm5hdi1pdGVtLmRyb3Bkb3duPmF7Y29sb3I6I2ZmZiFpbXBvcnRhbnR9Lm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYubWVnYW1lbnUtZHJvcGRvd24tZGFyayAubmF2LWl0ZW0uZHJvcGRvd24uYWN0aXZlPmF7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNikhaW1wb3J0YW50fS5uYXZiYXIubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2Lm1lZ2FtZW51LWRyb3Bkb3duLWRhcmsgLm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51OmhvdmVyPmEsLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYubWVnYW1lbnUtZHJvcGRvd24tZGFyayAubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duOmhvdmVyPmEsLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYubWVnYW1lbnUtZHJvcGRvd24tZGFyayAubmF2LWl0ZW0uZHJvcGRvd246aG92ZXI+YSwubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdi5tZWdhbWVudS1kcm9wZG93bi1kYXJrIC5uYXYtaXRlbS5kcm9wZG93bj5hOmhvdmVye2NvbG9yOiNmZmYhaW1wb3J0YW50fS5tZWdhbWVudS1kcm9wZG93bi1kYXJrIC5kcm9wZG93bi1tZW51Lm1lZ2FtZW51LWNvbnRlbnQgbGkuYWN0aXZlIGF7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMykhaW1wb3J0YW50fS5tZWdhbWVudS1kcm9wZG93bi1kYXJrIC5uYXYtaXRlbS5kcm9wZG93bi5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnU+LmRyb3Bkb3duPmF7Y29sb3I6I2ZmZn0ubWVnYW1lbnUtZHJvcGRvd24tZGFyayAubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duPi5kcm9wZG93bi1tZW51e3BhZGRpbmctdG9wOjE1cHh9Lm1lZ2FtZW51LWRyb3Bkb3duLWRhcmsgLm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudT4uZHJvcGRvd24+YXttYXJnaW4tdG9wOjB9LmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaSBhLC5kcm9wZG93bi1tZW51Lm1lZ2FtZW51LWNvbnRlbnQgbGkuZHJvcGRvd24taGVhZGVye2xpbmUtaGVpZ2h0Om5vcm1hbH0ubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51Pi5kcm9wZG93bnttYXJnaW4tYm90dG9tOjIwcHh9Lm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudT4uZHJvcGRvd246bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSBsaXtwYWRkaW5nOjB9LnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gYSAuZHJvcGRvd24tdG9nZ2xle2Rpc3BsYXk6bm9uZX0uZHJvcGRvd24tbWVudS5tZWdhbWVudS1jb250ZW50IGxpe3BhZGRpbmctYm90dG9tOjVweH0uZHJvcGRvd24tbWVudS5tZWdhbWVudS1jb250ZW50IGxpIGF7cGFkZGluZy10b3A6M3B4O2ZvbnQtc2l6ZToxNHB4fS5mb3JtLXdyYXBwZXIgLnNlYXJjaC1mb3JtLWJveHt3aWR0aDo2MCV9LnBhZ2Utd3JhcHBlciwuc2lkZWJhci13cmFwcGVye3BhZGRpbmctbGVmdDowfS5zaWRlYmFyLW5hdi1hY3Rpb257d2lkdGg6MTAwJTtoZWlnaHQ6YXV0bztwYWRkaW5nOjE1cHggMzBweH0uc2lkZWJhci1uYXYtYWN0aW9uLW1haW57ZmxleC1mbG93OnJvdzthbGlnbi1pdGVtczpjZW50ZXJ9LnNpZGUtbWVudS1oZWFkZXJ7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3RvcDowO3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YzZjNmMztwYWRkaW5nOjE1cHggMzBweDt6LWluZGV4Ojl9LnNpZGUtbWVudS1oZWFkZXIgLm5hdmJhci1icmFuZHt6LWluZGV4OjE7cG9zaXRpb246cmVsYXRpdmV9LnNpZGUtbWVudS1oZWFkZXItYm90dG9tLGhlYWRlci5zaWRlLW1lbnUtbmF2e2xlZnQ6LTI5MHB4O2hlaWdodDoxMDAlO3RvcDowO3BhZGRpbmctdG9wOjYwcHg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LW1zLWZsZXgtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6c3RhcnQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy1yYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5zaWRlLW1lbnUtaGVhZGVyLWJvdHRvbXtwYWRkaW5nLXRvcDowfS5zaG93LW1lbnUgLnNpZGUtbWVudS1oZWFkZXItYm90dG9tLC5zaG93LW1lbnUgaGVhZGVyLnNpZGUtbWVudS1uYXZ7bGVmdDowfS5zaWRlLW1lbnUtaGVhZGVyIC5zaWRlLW1lbnUtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3JpZ2h0OjMwcHh9LmxlZnQtc2lkZWJhci13cmFwcGVye3BhZGRpbmctbGVmdDowfS5zaWRlYmFyLW5hdi1tZW51LmxlZnQtc2lkZWJhci1uYXZ7bGVmdDotMjkwcHg7b3ZlcmZsb3c6dmlzaWJsZTtoZWlnaHQ6MTAwJTt0b3A6MCFpbXBvcnRhbnR9LnNpZGViYXItbmF2LW1lbnUubGVmdC1zaWRlYmFyLW5hdiAuc2lkZS1tZW51LWhlYWRlci1ib3R0b217aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6YXV0b30uc2hvdy1tZW51IC5zaWRlYmFyLW5hdi1tZW51LmxlZnQtc2lkZWJhci1uYXZ7bGVmdDowfS5tZW51LXRvZ2dsZXt0b3A6MjBweH0ubWVudS1saXN0IGxpIGF7bGluZS1oZWlnaHQ6NDBweDtwYWRkaW5nOjB9LnNpZGUtbWVudS1idXR0b24gYXt0b3A6MXB4fS5zaWRlLW1lbnUgLnNpZGViYXItbmF2LW1lbnUgLm1lbnUtbGlzdC13cmFwcGVye3BhZGRpbmctYm90dG9tOjIwcHh9LnNpZGViYXItc29jaWFsLWljb24gbGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjA7cGFkZGluZzowIDdweH0uc2lkZWJhci1zb2NpYWwtaWNvbiBsaTpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MH0ubmF2YmFyLWxlZnQtc2lkZWJhciwubmF2YmFyLWxlZnQtc2lkZWJhciAuZHJvcGRvd246aG92ZXI+LmRyb3Bkb3duLW1lbnV7d2lkdGg6YXV0b30uc2hvdy1tZW51IC5tZW51LXN0eWxlLTIgLnNpZGViYXItbmF2LW1lbnV7bGVmdDowfS5tZW51LXN0eWxlLTIgLnNpZGViYXItbmF2LW1lbnUgLm1lbnUtbGlzdCBsaXtwYWRkaW5nOjVweCAwfS5tZW51LXN0eWxlLTIgLnNpZGViYXItbmF2LW1lbnUgLm1lbnUtbGlzdCBsaSB1bCBsaXtwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjB9Lm1lbnUtc3R5bGUtMiAuc2lkZWJhci1uYXYtbWVudSAubWVudS1saXN0IGxpIC5tZW51LXRvZ2dsZXt0b3A6MjdweH0ubWVudS1zdHlsZS0yIC5zaWRlYmFyLW5hdi1tZW51IC5tZW51LWxpc3QgbGkgdWwgbGkgLm1lbnUtdG9nZ2xle3RvcDoxNXB4fS5uYXZiYXItbGVmdC1zaWRlYmFyPmxpPmF7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweH0ubmF2YmFyLWxlZnQtc2lkZWJhcj5saS5kcm9wZG93bj5hPml7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTVweDtyaWdodDo1cHg7Zm9udC1zaXplOjE2cHh9Lm5hdmJhci1sZWZ0LXNpZGViYXIgbGkgYXtwYWRkaW5nOjEwcHggMDttYXJnaW46MDtib3JkZXItYm90dG9tOjA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjBweH0ubWVudS1zdHlsZS0yIC5uYXZiYXItbGVmdC1zaWRlYmFyIC5kcm9wZG93bjpob3Zlcj4uZHJvcGRvd24tbWVudS5zZWNvbmQtbGV2ZWx7bGVmdDowO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubmF2YmFyLWxlZnQtc2lkZWJhciAuZHJvcGRvd24+LmRyb3Bkb3duLW1lbnUuc2Vjb25kLWxldmVsIGxpPmF7Ym9yZGVyLWJvdHRvbTowO3BhZGRpbmc6NnB4IDAgNXB4IDB9Lm5hdmJhci1sZWZ0LXNpZGViYXIgLmRyb3Bkb3duLW1lbnUuc2Vjb25kLWxldmVsIGxpPmE6aG92ZXIsLm5hdmJhci1sZWZ0LXNpZGViYXIgbGk+YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS50b3AtbG9nbyAubmF2YmFyLWJyYW5ke3BhZGRpbmctdG9wOi4zMTI1cmVtO3BhZGRpbmctYm90dG9tOi4zMTI1cmVtfS5oYW1idXJnZXItbWVudS1oYWxmIC5tZW51LWxpc3Q+bGl7cGFkZGluZzo3cHggMH0uaGFtYnVyZ2VyLW1lbnUtaGFsZiAubWVudS1saXN0IGxpIC5tZW51LXRvZ2dsZXt0b3A6MjlweH0uaGFtYnVyZ2VyLW1lbnUtaGFsZiAubWVudS1saXN0IGxpIHVsIGxpIC5tZW51LXRvZ2dsZXt0b3A6MTVweH0uaGFtYnVyZ2VyLW1lbnUtaGFsZiAubWVudS1saXN0IC5tZW51LWxpc3QtaXRlbT4uc3ViLW1lbnUtaXRlbXtwYWRkaW5nLXRvcDo1cHh9LmhhbWJ1cmdlci1tZW51LWhhbGYgLm1lbnUtbGlzdCAubWVudS1saXN0LWl0ZW0gLnN1Yi1tZW51LWl0ZW0gLnN1Yi1tZW51LWl0ZW17cGFkZGluZy10b3A6MH0uaGFtYnVyZ2VyLW1lbnUtaGFsZiAuc3ViLW1lbnUtaXRlbSAubWVudS10b2dnbGU6YWZ0ZXIsLmhhbWJ1cmdlci1tZW51LWhhbGYgLnN1Yi1tZW51LWl0ZW0gLm1lbnUtdG9nZ2xlOmJlZm9yZXtyaWdodDo4cHh9LmhhbWJ1cmdlci1tZW51LmZ1bGwtd2lkdGggLm1lbnUtbGlzdD5saXtwYWRkaW5nOjVweCAwfS5oYW1idXJnZXItbWVudS5mdWxsLXdpZHRoIC5tZW51LWxpc3Q+bGkgLm1lbnUtdG9nZ2xle3RvcDoyN3B4fS5oYW1idXJnZXItbWVudS5mdWxsLXdpZHRoIC5tZW51LWxpc3QgbGkgdWwgbGkgLm1lbnUtdG9nZ2xle3RvcDoxNXB4fS5oYW1idXJnZXItbWVudS5mdWxsLXdpZHRoIC5tZW51LWxpc3QgLm1lbnUtbGlzdC1pdGVtPi5zdWItbWVudS1pdGVte3BhZGRpbmctdG9wOjVweH0uaGFtYnVyZ2VyLW1lbnUuZnVsbC13aWR0aCAubWVudS1saXN0IC5tZW51LWxpc3QtaXRlbSAuc3ViLW1lbnUtaXRlbSAuc3ViLW1lbnUtaXRlbXtwYWRkaW5nLXRvcDowfS5tZW51LWxvZ28tY2VudGVyIC5uYXZiYXItY29sbGFwc2U+Lm5hdmJhci1uYXY6Zmlyc3QtY2hpbGR7cGFkZGluZy1ib3R0b206MH0ubWVudS1sb2dvLWNlbnRlciAubmF2YmFyLWNvbGxhcHNlPi5uYXZiYXItbmF2Omxhc3QtY2hpbGR7cGFkZGluZy10b3A6MH0uaGFtYnVyZ2VyLW1lbnUtYmlnLWZvbnQgLm1lbnUtbGlzdCBsaSAuc3ViLW1lbnUtaXRlbXtwYWRkaW5nOjIwcHggMCAwIDE1cHh9LmhhbWJ1cmdlci1tZW51LWJpZy1mb250IC5tZW51LWxpc3QgbGkgLm1lbnUtdG9nZ2xle3RvcDozNHB4fS5oYW1idXJnZXItbWVudS1iaWctZm9udCAubWVudS1saXN0IGxpIGF7Zm9udC1zaXplOjMwcHg7bGluZS1oZWlnaHQ6MzhweH0ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZTpmb2N1cywubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZTpob3ZlciwubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsLm5hdmJhci5uYXZiYXItZGFyay5iZy10cmFuc3BhcmVudCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZle2NvbG9yOnJnYmEoMCwwLDAsLjYpIWltcG9ydGFudH0ubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2Pi5kcm9wZG93bi5hY3RpdmU+YSwubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2Pi5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudS5hY3RpdmU6aG92ZXI+YSwubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2Pi5uYXYtaXRlbS5kcm9wZG93bi5zaW1wbGUtZHJvcGRvd24uYWN0aXZlOmhvdmVyPmEsLnN0aWNreSAubmF2YmFyLmhlYWRlci1kYXJrIC5uYXZiYXItbmF2Pi5kcm9wZG93bi5hY3RpdmU+YXtjb2xvcjpyZ2JhKDAsMCwwLC42KSFpbXBvcnRhbnR9Lm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLW5hdj4ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnU6aG92ZXI+YSwubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2Pi5uYXYtaXRlbS5kcm9wZG93bi5zaW1wbGUtZHJvcGRvd246aG92ZXI+YXtjb2xvcjojMDAwIWltcG9ydGFudH0ubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdj4ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnU6aG92ZXI+YSwubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdj4ubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duOmhvdmVyPmEsLnN0aWNreSAubmF2YmFyLm5hdmJhci1kYXJrLmhlYWRlci1saWdodCAubmF2YmFyLW5hdj4ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnU6aG92ZXI+YSwuc3RpY2t5IC5uYXZiYXIubmF2YmFyLWRhcmsuaGVhZGVyLWxpZ2h0IC5uYXZiYXItbmF2Pi5uYXYtaXRlbS5kcm9wZG93bi5zaW1wbGUtZHJvcGRvd246aG92ZXI+YXtjb2xvcjojMDAwIWltcG9ydGFudH1oZWFkZXIgLm5hdmJhciAubmF2YmFyLWJyYW5kIC5kZWZhdWx0LWxvZ28saGVhZGVyIC5uYXZiYXItYnJhbmQgLmFsdC1sb2dvLGhlYWRlciAuc2lkZWJhci1uYXYtbWVudSAubmF2YmFyLWJyYW5kIC5kZWZhdWx0LWxvZ28saGVhZGVyLnN0aWNreSAubmF2YmFyIC5uYXZiYXItYnJhbmQgLmRlZmF1bHQtbG9nbyxoZWFkZXIuc3RpY2t5IC5uYXZiYXItYnJhbmQgLmFsdC1sb2dve3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MDt3aWR0aDowfWhlYWRlciAubmF2YmFyIC5uYXZiYXItYnJhbmQgLm1vYmlsZS1sb2dvLGhlYWRlciAuc2lkZWJhci1uYXYtbWVudSAubmF2YmFyLWJyYW5kIC5tb2JpbGUtbG9nb3t2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxO3dpZHRoOmF1dG99LnRvcC1sb2dvIC5uYXZiYXItYnJhbmQrZGl2W2NsYXNzKj1jb2wtXSBkaXY6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjB9Lm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5uYXZiYXItdG9nZ2xlci1saW5le292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiMyMzIzMjN9aGVhZGVyLnN0aWNreSAubmF2YmFyLmJnLXRyYW5zcGFyZW50LmhhZGVyLWxpZ2h0IC5uYXZiYXItdG9nZ2xlci1saW5le292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiNmZmZ9Lm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5wdXNoLWJ1dHRvbj5zcGFuLC5zdGlja3kgLm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5wdXNoLWJ1dHRvbj5zcGFue2JhY2tncm91bmQ6IzIzMjMyM30ubmF2YmFyLmJnLXRyYW5zcGFyZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnR9Lm5hdmJhci5uYXZiYXItZGFyayAuaGVhZGVyLXNvY2lhbC1pY29uLC5zdGlja3kgLm5hdmJhci5oZWFkZXItZGFyayAuaGVhZGVyLXNvY2lhbC1pY29ue2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC40NSl9Lm5hdmJhci5uYXZiYXItZGFyayAubmF2LWJhci1jb250YWN0LC5uYXZiYXIubmF2YmFyLWRhcmsuYmctdHJhbnNwYXJlbnQgLmhlYWRlci1jYXJ0LWljb24+YSwubmF2YmFyLm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5oZWFkZXItbGFuZ3VhZ2U+YSwubmF2YmFyLm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5oZWFkZXItc2VhcmNoLWljb24+YSwubmF2YmFyLm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5oZWFkZXItc29jaWFsLWljb24+YSwubmF2YmFyLm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5uYXZiYXItbmF2IC5uYXYtbGlua3tjb2xvcjojMjMyMzIzIWltcG9ydGFudH1oZWFkZXIuc3RpY2t5IC5uYXZiYXIubmF2YmFyLWRhcmsuYmctdHJhbnNwYXJlbnQuaGVhZGVyLWRhcmsgLmhlYWRlci1zb2NpYWwtaWNvbj5he2NvbG9yOiNmZmYhaW1wb3J0YW50fS5uYXZiYXIubmF2YmFyLWRhcmsuYmctdHJhbnNwYXJlbnQgLmhlYWRlci1jYXJ0LWljb24+YTpob3ZlciwubmF2YmFyLm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5oZWFkZXItbGFuZ3VhZ2U+YTpob3ZlciwubmF2YmFyLm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5oZWFkZXItc2VhcmNoLWljb24+YTpob3ZlciwubmF2YmFyLm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5oZWFkZXItc29jaWFsLWljb24+YTpob3Zlciwuc3RpY2t5IC5uYXZiYXItZGFyay5iZy10cmFuc3BhcmVudCAuaGVhZGVyLWNhcnQtaWNvbj5hOmhvdmVyLC5zdGlja3kgLm5hdmJhci1kYXJrLmJnLXRyYW5zcGFyZW50IC5oZWFkZXItbGFuZ3VhZ2U+YTpob3Zlciwuc3RpY2t5IC5uYXZiYXItZGFyay5iZy10cmFuc3BhcmVudCAuaGVhZGVyLXNlYXJjaC1pY29uPmE6aG92ZXIsLnN0aWNreSAubmF2YmFyLWRhcmsuYmctdHJhbnNwYXJlbnQgLmhlYWRlci1zb2NpYWwtaWNvbj5hOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjYpIWltcG9ydGFudH0ubmF2YmFyLmJnLXRyYW5zcGFyZW50IC5oZWFkZXItYnV0dG9uIC5idG4uYnRuLXdoaXRle2JhY2tncm91bmQ6IzIzMjMyMztib3JkZXItY29sb3I6IzIzMjMyMztjb2xvcjojZmZmfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9Y2xhc3NpY10gLm5hdmJhci1uYXZ7ZGlzcGxheTpibG9ja31bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLnBhZ2UtbGF5b3V0e2JhY2tncm91bmQtY29sb3I6I2ZmZn1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gaGVhZGVyIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTpub25lIWltcG9ydGFudH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdmJhci1uYXZ7d2lkdGg6MTAwJTtwYWRkaW5nOjB9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5uYXZiYXItY29sbGFwc2Uuc2hvd3toZWlnaHQ6MTAwJX1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdmJhci10b2dnbGVyLWxpbmV7YmFja2dyb3VuZC1jb2xvcjojZmZmfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lciAubmF2LWl0ZW0gYSxbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdi1pdGVtIGksW2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5uYXYtaXRlbS5kcm9wZG93bi5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnU+LmRyb3Bkb3duPmEsW2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duIGEuYWN0aXZle2NvbG9yOiNmZmY7ZGlzcGxheTppbmxpbmUtYmxvY2s7cmlnaHQ6MDtmb250LXNpemU6MTdweDtmb250LXdlaWdodDo1MDB9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duIGEuYWN0aXZle3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5uYXYtaXRlbSBpe2ZvbnQtc2l6ZToxNHB4fVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lciAubmF2LWl0ZW0gaS5kcm9wZG93bi10b2dnbGV7Zm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NjAwfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lciAubmF2LWl0ZW0gLm1lZ2FtZW51LWNvbnRlbnQgYSxbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudT4uZHJvcGRvd24+YXtmb250LXNpemU6MTNweDtwYWRkaW5nOjB9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5kcm9wZG93bi1tZW51Lm1lZ2FtZW51LWNvbnRlbnQgbGkuZHJvcGRvd24taGVhZGVyLFtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lciAubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXZ7Y29sb3I6I2ZmZjtwb3NpdGlvbjppbmhlcml0IWltcG9ydGFudDttYXJnaW4tYm90dG9tOjE1cHghaW1wb3J0YW50O21hcmdpbi10b3A6NnB4O3BhZGRpbmc6MCFpbXBvcnRhbnQ7cmlnaHQ6MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaS5kcm9wZG93bi1oZWFkZXJ7b3BhY2l0eTouNzttYXJnaW4tdG9wOjIwcHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjUwMH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaS5kcm9wZG93bi1oZWFkZXI6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowIWltcG9ydGFudH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IC5tZW51LWJhY2stZGl2IHVse21hcmdpbi1ib3R0b206MjBweDtwYWRkaW5nOjB9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudSAubWVudS1iYWNrLWRpdiB1bDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaSxbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7bGluZS1oZWlnaHQ6bm9ybWFsO3BhZGRpbmctYm90dG9tOjVweDtmb250LXNpemU6MTVweH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IC5tZW51LWJhY2stZGl2LFtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lciAuc2ltcGxlLWRyb3Bkb3duPi5kcm9wZG93bi1tZW51e2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCkhaW1wb3J0YW50O3Bvc2l0aW9uOmluaGVyaXQhaW1wb3J0YW50O3BhZGRpbmc6OHB4IDE1cHghaW1wb3J0YW50O21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5uYXYtaXRlbS5kcm9wZG93bi5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnU+LmRyb3Bkb3due21hcmdpbi1ib3R0b206MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLnNpbXBsZS1kcm9wZG93bj4uZHJvcGRvd24tbWVudXtwYWRkaW5nLXRvcDoxNHB4IWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLnNpbXBsZS1kcm9wZG93bj4uZHJvcGRvd24tbWVudSBsaTpsYXN0LWNoaWxkPnVse21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5uYXYtaXRlbS5kcm9wZG93bi5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IGxpe3BhZGRpbmc6MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7bWFyZ2luLWJvdHRvbToxMHB4fVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lciAubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bj5he29wYWNpdHk6Ljc7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbToxMHB4O21hcmdpbi10b3A6MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgbGk+YXttYXJnaW4tYm90dG9tOjlweDtmb250LXNpemU6MTNweH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gYS5hY3RpdmUsW2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duIGE6Zm9jdXMsW2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duIGE6aG92ZXIsW2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLmFjdGl2ZT5hLFtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lciAuc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bjpob3Zlcj5he2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjYpfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lciAubUN1c3RvbVNjcm9sbEJveHtoZWlnaHQ6YXV0bzt3aWR0aDoxMDAlfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lciAubUNTQl9pbnNpZGU+Lm1DU0JfY29udGFpbmVye21hcmdpbi1yaWdodDowfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lciAubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbnttYXJnaW4tcmlnaHQ6MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gYXtwYWRkaW5nOjB9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duIGEgLmRyb3Bkb3duLXRvZ2dsZXtkaXNwbGF5Om5vbmU7cmlnaHQ6MTNweDt0b3A6NHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5kcm9wZG93bi1tZW51Lm1lZ2FtZW51LWNvbnRlbnQgbGkgYTpob3ZlcixbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaS5hY3RpdmUgYXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC42KX0ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl17b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmctdG9wOjB9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVye29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudDt3aWR0aDo3MHZ3O2hlaWdodDoxMDB2aCFpbXBvcnRhbnQ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6LTQwdnc7ei1pbmRleDo5MDtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5Oi13ZWJraXQtYm94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi42NXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNjVzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMywxLC4zMiwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDI1dncsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjV2dywwLDApfS5uYXZiYXItY29sbGFwc2Utc2hvd1tkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lcntyaWdodDowO29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50O2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4xczt0cmFuc2l0aW9uLWRlbGF5Oi4xczstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1zaG93LW1vZGVybi1iZ3tkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDB2dztoZWlnaHQ6MTAwdmg7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3otaW5kZXg6LTE7b3BhY2l0eTowO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjMDAzOWUzLCM0MTMyZTAsIzVlMjhkZCwjNzQxYmQ5LCM4NjAwZDQpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNzUpO3RyYW5zZm9ybTpzY2FsZSgxLjc1KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzLC13ZWJraXQtdHJhbnNmb3JtIC4zczt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzLHRyYW5zZm9ybSAuM3M7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyx0cmFuc2Zvcm0gLjNzLC13ZWJraXQtdHJhbnNmb3JtIC4zczstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjRzOy1vLXRyYW5zaXRpb24tZGVsYXk6LjRzO3RyYW5zaXRpb24tZGVsYXk6LjRzfS5uYXZiYXItY29sbGFwc2Utc2hvd1tkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLXNob3ctbW9kZXJuLWJney13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjBzOy1vLXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc31bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhcixbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLnN0aWNreS5oZWFkZXItYXBwZWFyIC5oZWFkZXItcmV2ZXJzZS1zY3JvbGwsW2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIGhlYWRlciAudG9wLWJhcisubmF2YmFyLmZpeGVkLXRvcHstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246Ljc1czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246Ljc1czstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouNzVzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246Ljc1czt0cmFuc2l0aW9uLWR1cmF0aW9uOi43NXN9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXIsW2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5wYWdlLWxheW91dCxbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLnRvcC1iYXJ7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4zcywtd2Via2l0LXRyYW5zZm9ybSAuNzVzIGN1YmljLWJlemllciguMjMsMSwuMzIsMSk7dHJhbnNpdGlvbjp3aWR0aCAuM3MsLXdlYmtpdC10cmFuc2Zvcm0gLjc1cyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC43NXMgY3ViaWMtYmV6aWVyKC4yMywxLC4zMiwxKSx3aWR0aCAuM3M7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjc1cyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpLHdpZHRoIC4zcywtd2Via2l0LXRyYW5zZm9ybSAuNzVzIGN1YmljLWJlemllciguMjMsMSwuMzIsMSl9Lm5hdmJhci1jb2xsYXBzZS1zaG93W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXIsLm5hdmJhci1jb2xsYXBzZS1zaG93W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5wYWdlLWxheW91dCwubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLnRvcC1iYXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTcwdncsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTcwdncsMCwwKX1bZGF0YS1tb2JpbGUtbmF2LXRyaWdnZXItYWxpZ25tZW50PXJpZ2h0XVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW1vZGVybi1pbm5lciAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfVtkYXRhLW1vYmlsZS1uYXYtdHJpZ2dlci1hbGlnbm1lbnQ9bGVmdF1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdmJhci10b2dnbGVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjI1cHh9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5uYXZiYXItY29sbGFwc2V7cG9zaXRpb246c3RhdGljO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6MCAwO3BhZGRpbmc6MTAwcHggMTJ2dztib3gtc2hhZG93Om5vbmU7bWF4LWhlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpjZW50ZXIhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5uYXZiYXItY29sbGFwc2Utc2hvd1tkYXRhLW1vYmlsZS1uYXYtdHJpZ2dlci1hbGlnbm1lbnQ9bGVmdF1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdmJhci10b2dnbGVyIC5uYXZiYXItY29sbGFwc2Utc2hvd1tkYXRhLW1vYmlsZS1uYXYtdHJpZ2dlci1hbGlnbm1lbnQ9bGVmdF1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhcntwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXRyaWdnZXItYWxpZ25tZW50PWxlZnRdW2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXIsLm5hdmJhci1jb2xsYXBzZS1zaG93W2RhdGEtbW9iaWxlLW5hdi10cmlnZ2VyLWFsaWdubWVudD1sZWZ0XVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAucGFnZS1sYXlvdXQsLm5hdmJhci1jb2xsYXBzZS1zaG93W2RhdGEtbW9iaWxlLW5hdi10cmlnZ2VyLWFsaWdubWVudD1sZWZ0XVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAudG9wLWJhcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCg4MHZ3LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDgwdncsMCwwKX1bZGF0YS1tb2JpbGUtbmF2LXRyaWdnZXItYWxpZ25tZW50PWxlZnRdIC5uYXZiYXItbW9kZXJuLWlubmVye3dpZHRoOjgwdnc7cmlnaHQ6aW5oZXJpdDtsZWZ0Oi0zMHZ3Oy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yNXZ3LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yNXZ3LDAsMCl9Lm5hdmJhci1jb2xsYXBzZS1zaG93W2RhdGEtbW9iaWxlLW5hdi10cmlnZ2VyLWFsaWdubWVudD1sZWZ0XSAubmF2YmFyLW1vZGVybi1pbm5lcntsZWZ0OjA7cmlnaHQ6aW5oZXJpdH1bZGF0YS1tb2JpbGUtbmF2LXRyaWdnZXItYWxpZ25tZW50PWxlZnRdIC5uYXZiYXItbW9kZXJuLWlubmVyIC5uYXZiYXItY29sbGFwc2V7cmlnaHQ6MDtsZWZ0OmluaGVyaXQ7cGFkZGluZy1yaWdodDoxMHZ3O3BhZGRpbmctbGVmdDoxMHZ3fVtkYXRhLW1vYmlsZS1uYXYtdHJpZ2dlci1hbGlnbm1lbnQ9bGVmdF1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLnBhcmFsbGF4e2JhY2tncm91bmQtYXR0YWNobWVudDpzY3JvbGwhaW1wb3J0YW50fVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW5hdj4ubmF2LWl0ZW17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSk7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWJvdHRvbToxMnB4fVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLW5hdj4ubmF2LWl0ZW06bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOjB9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXYtaXRlbT4uZHJvcGRvd24tdG9nZ2xle3RvcDo3cHh9Lm5hdmJhci1jb2xsYXBzZS1zaG93W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XXtvdmVyZmxvdzpoaWRkZW59Lm5hdmJhci1jb2xsYXBzZS1zaG93W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAubmF2YmFyIC5uYXZiYXItbmF2e3BhZGRpbmc6MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lcntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsIzAwMzllMywjNDEzMmUwLCM1ZTI4ZGQsIzc0MWJkOSwjODYwMGQ0KTt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50O3dpZHRoOjEwMHZ3O2hlaWdodDoxMDB2aCFpbXBvcnRhbnQ7cG9zaXRpb246Zml4ZWQ7dG9wOi0xMDB2aDtsZWZ0OjA7ei1pbmRleDo5OTk5O2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LXRyYW5zaXRpb246YWxsIC40cyBlYXNlLW91O3RyYW5zaXRpb246YWxsIC40cyBlYXNlLW91dDstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjZzO3RyYW5zaXRpb24tZGVsYXk6LjZzfS5uYXZiYXItY29sbGFwc2Utc2hvd1tkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVye2hlaWdodDoxMDB2aCFpbXBvcnRhbnQ7dG9wOjA7dmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluO3RyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMnM7dHJhbnNpdGlvbi1kZWxheTouMnN9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIgLm5hdmJhci1jb2xsYXBzZXtwb3NpdGlvbjppbmhlcml0O2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MTAwcHggMDttYXgtaGVpZ2h0OjEwMCU7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQ6MCAwO2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6LXdlYmtpdC1ib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7LW1zLWZsZXgtcGFjazpjZW50ZXIhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIC5uYXZiYXItbmF2e3BhZGRpbmc6MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXYsW2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIgLnNpbXBsZS1kcm9wZG93bj4uZHJvcGRvd24tbWVudXtib3JkZXItcmFkaXVzOjA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApIWltcG9ydGFudDtwb3NpdGlvbjppbmhlcml0IWltcG9ydGFudDtwYWRkaW5nOjhweCAxNXB4IWltcG9ydGFudDttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50O21hcmdpbi10b3A6NnB4fVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIC5tQ3VzdG9tU2Nyb2xsQm94e2hlaWdodDphdXRvO3dpZHRoOjc1JX1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAubmF2LWl0ZW0gYSxbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAubmF2LWl0ZW0gaSxbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51Pi5kcm9wZG93bj5he2NvbG9yOiNmZmY7Zm9udC1zaXplOjE3cHg7Zm9udC13ZWlnaHQ6NTAwfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIC5uYXYtaXRlbSBpe2ZvbnQtd2VpZ2h0OjYwMH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5kcm9wZG93bi1tZW51Lm1lZ2FtZW51LWNvbnRlbnQgbGkuZHJvcGRvd24taGVhZGVyLFtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIC5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudSAubWVudS1iYWNrLWRpdntjb2xvcjojZmZmO2xpbmUtaGVpZ2h0Om5vcm1hbDtwYWRkaW5nLWJvdHRvbTo1cHg7Zm9udC1zaXplOjE1cHh9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIgLmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaSBhOmhvdmVyLFtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIC5kcm9wZG93bi1tZW51Lm1lZ2FtZW51LWNvbnRlbnQgbGkuYWN0aXZlIGF7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNil9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAuZHJvcGRvd24tbWVudS5tZWdhbWVudS1jb250ZW50IGxpLmRyb3Bkb3duLWhlYWRlcntvcGFjaXR5Oi43O21hcmdpbi10b3A6MjBweCFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1ib3R0b206NHB4fVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaS5kcm9wZG93bi1oZWFkZXI6Zmlyc3QtY2hpbGR7bWFyZ2luLXRvcDowIWltcG9ydGFudH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXYgdWx7bWFyZ2luLWJvdHRvbToyMHB4O3BhZGRpbmc6MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXYgdWw6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIgLmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaSxbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93biAuZHJvcGRvd24tbWVudXtsaW5lLWhlaWdodDpub3JtYWw7cGFkZGluZy1ib3R0b206MTJweDtmb250LXNpemU6MTVweH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAubmF2LWl0ZW0gLm1lZ2FtZW51LWNvbnRlbnQgYSxbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51Pi5kcm9wZG93bj5he2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAuc2ltcGxlLWRyb3Bkb3duPi5kcm9wZG93bi1tZW51e3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIC5uYXYtaXRlbS5kcm9wZG93bi5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnU+LmRyb3Bkb3due21hcmdpbi1ib3R0b206MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93biBhe3BhZGRpbmc6M3B4IDAgM3B4O2ZvbnQtc2l6ZToxM3B4O21hcmdpbi1ib3R0b206NnB4O21hcmdpbi10b3A6MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bj5he29wYWNpdHk6Ljc7bWFyZ2luLWJvdHRvbTo3cHghaW1wb3J0YW50O2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjJweH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAuc2ltcGxlLWRyb3Bkb3duPi5kcm9wZG93bi1tZW51IGxpOmxhc3QtY2hpbGQ+dWx7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTo1cHghaW1wb3J0YW50fVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duIGEuYWN0aXZlLFtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duIGE6Zm9jdXMsW2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIgLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gYTpob3ZlcixbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAuc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi5hY3RpdmU+YSxbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciAuc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bjpob3Zlcj5he2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjYpfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIC5uYXZiYXItdG9nZ2xlcnttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDozNXB4O3RvcDozNXB4O29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246YWxsIC40cyBlYXNlLW91O3RyYW5zaXRpb246YWxsIC40cyBlYXNlLW91dDstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjZzO3RyYW5zaXRpb24tZGVsYXk6LjZzfS5uYXZiYXItY29sbGFwc2Utc2hvd1tkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIC5uYXZiYXItdG9nZ2xlcntvcGFjaXR5OjF9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIgLm5hdmJhci10b2dnbGVyLWxpbmV7YmFja2dyb3VuZC1jb2xvcjojZmZmfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gdWwubmF2YmFyLW5hdj5saS5uYXYtaXRlbT4uZHJvcGRvd24tdG9nZ2xle3RvcDo4cHg7cmlnaHQ6MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGkubmF2LWl0ZW17Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMSk7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWJvdHRvbToxMnB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZVkoLTMwcHgpO3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGVZKC0zMHB4KTtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllciguNCwuMDEsLjE2NSwuOTkpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoLjQsLjAxLC4xNjUsLjk5KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjZzIGN1YmljLWJlemllciguNCwuMDEsLjE2NSwuOTkpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoLjQsLjAxLC4xNjUsLjk5KTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNXMgY3ViaWMtYmV6aWVyKC40LC4wMSwuMTY1LC45OSksb3BhY2l0eSAuNnMgY3ViaWMtYmV6aWVyKC40LC4wMSwuMTY1LC45OSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjVzIGN1YmljLWJlemllciguNCwuMDEsLjE2NSwuOTkpLG9wYWNpdHkgLjZzIGN1YmljLWJlemllciguNCwuMDEsLjE2NSwuOTkpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoLjQsLjAxLC4xNjUsLjk5KX1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGkubmF2LWl0ZW06bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOjB9Lm5hdmJhci1jb2xsYXBzZS1zaG93W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSB1bC5uYXZiYXItbmF2Pmxpey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7b3BhY2l0eToxfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gdWwubmF2YmFyLW5hdj5saTpudGgtY2hpbGQoMSl7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi40OXM7dHJhbnNpdGlvbi1kZWxheTouNDlzfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gdWwubmF2YmFyLW5hdj5saTpudGgtY2hpbGQoMil7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi40MnM7dHJhbnNpdGlvbi1kZWxheTouNDJzfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gdWwubmF2YmFyLW5hdj5saTpudGgtY2hpbGQoMyl7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4zNXM7dHJhbnNpdGlvbi1kZWxheTouMzVzfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gdWwubmF2YmFyLW5hdj5saTpudGgtY2hpbGQoNCl7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4yOHM7dHJhbnNpdGlvbi1kZWxheTouMjhzfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gdWwubmF2YmFyLW5hdj5saTpudGgtY2hpbGQoNSl7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4yMXM7dHJhbnNpdGlvbi1kZWxheTouMjFzfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gdWwubmF2YmFyLW5hdj5saTpudGgtY2hpbGQoNil7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4xNHM7dHJhbnNpdGlvbi1kZWxheTouMTRzfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gdWwubmF2YmFyLW5hdj5saTpudGgtY2hpbGQoNyl7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjcwbXM7dHJhbnNpdGlvbi1kZWxheTo3MG1zfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gdWwubmF2YmFyLW5hdj5saTpudGgtY2hpbGQoOCl7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjBzO3RyYW5zaXRpb24tZGVsYXk6MHN9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSB1bC5uYXZiYXItbmF2PmxpOm50aC1jaGlsZCg5KXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LTcwbXM7dHJhbnNpdGlvbi1kZWxheTotNzBtc31bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDEwKXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LS4xNHM7dHJhbnNpdGlvbi1kZWxheTotLjE0c31bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDExKXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LS4yMXM7dHJhbnNpdGlvbi1kZWxheTotLjIxc31bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDEyKXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LS4yOHM7dHJhbnNpdGlvbi1kZWxheTotLjI4c31bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDEzKXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LS4zNXM7dHJhbnNpdGlvbi1kZWxheTotLjM1c31bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDE0KXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LS40MnM7dHJhbnNpdGlvbi1kZWxheTotLjQyc31bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDE1KXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LS40OXM7dHJhbnNpdGlvbi1kZWxheTotLjQ5c30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDEpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMjdzO3RyYW5zaXRpb24tZGVsYXk6LjI3c30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDIpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMzRzO3RyYW5zaXRpb24tZGVsYXk6LjM0c30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDMpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNDFzO3RyYW5zaXRpb24tZGVsYXk6LjQxc30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDQpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNDhzO3RyYW5zaXRpb24tZGVsYXk6LjQ4c30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDUpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNTVzO3RyYW5zaXRpb24tZGVsYXk6LjU1c30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDYpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNjJzO3RyYW5zaXRpb24tZGVsYXk6LjYyc30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDcpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNjlzO3RyYW5zaXRpb24tZGVsYXk6LjY5c30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDgpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNzZzO3RyYW5zaXRpb24tZGVsYXk6Ljc2c30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDkpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouODNzO3RyYW5zaXRpb24tZGVsYXk6Ljgzc30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDEwKXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjlzO3RyYW5zaXRpb24tZGVsYXk6LjlzfS5uYXZiYXItY29sbGFwc2Utc2hvd1tkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gdWwubmF2YmFyLW5hdj5saTpudGgtY2hpbGQoMTEpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouOTdzO3RyYW5zaXRpb24tZGVsYXk6Ljk3c30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDEyKXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MS4wNHM7dHJhbnNpdGlvbi1kZWxheToxLjA0c30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDEzKXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MS4xMXM7dHJhbnNpdGlvbi1kZWxheToxLjExc30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDE0KXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MS4xOHM7dHJhbnNpdGlvbi1kZWxheToxLjE4c30ubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIHVsLm5hdmJhci1uYXY+bGk6bnRoLWNoaWxkKDE1KXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MS4yNXM7dHJhbnNpdGlvbi1kZWxheToxLjI1c31bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2luZyAubUNTQl9zY3JvbGxUb29sc3tvcGFjaXR5OjB9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNlIC5tQ1NCX3Njcm9sbFRvb2xze29wYWNpdHk6MH1bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPWZ1bGwtc2NyZWVuLW1lbnVdIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2Uuc2hvdyAubUNTQl9zY3JvbGxUb29sc3tvcGFjaXR5OjF9LmhlYWRlci1jYXJ0LWljb24tbW9iaWxlLWxlZnQgLmNhcnQtaXRlbS1saXN0LC5oZWFkZXItbGFuZ3VhZ2UtbW9iaWxlLWxlZnQgLmRyb3Bkb3duLW1lbnV7bGVmdDowO3JpZ2h0OmF1dG99LnB1c2gtbWVudXtkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjk5MXB4KXtodG1se2ZvbnQtc2l6ZToxMnB4fXNlY3Rpb257cGFkZGluZzo3NXB4IDB9c2VjdGlvbi5iaWctc2VjdGlvbntwYWRkaW5nOjk1cHggMH1zZWN0aW9uLmV4dHJhLWJpZy1zZWN0aW9ue3BhZGRpbmc6MTEwcHggMH1zZWN0aW9uLmhhbGYtc2VjdGlvbntwYWRkaW5nOjQwcHggMH0ubWQtbm8tb3ZlcmxhcC1zZWN0aW9ue2hlaWdodDphdXRvIWltcG9ydGFudH0ubWQtbm8tb3ZlcmxhcC1zZWN0aW9ufnNlY3Rpb24gLm92ZXJsYXAtc2VjdGlvbnttYXJnaW4tdG9wOjAhaW1wb3J0YW50fS5tZC1sYXN0LW9yZGVye29yZGVyOjEwfXB7bWFyZ2luOjAgMCAyMHB4fS50ZXh0LWxhcmdle2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjIycHh9LnRleHQtZXh0cmEtbGFyZ2V7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjZweH0udGl0bGUtc21hbGx7Zm9udC1zaXplOjMwcHg7bGluZS1oZWlnaHQ6MzBweH0udGl0bGUtbGFyZ2V7Zm9udC1zaXplOjcwcHg7bGluZS1oZWlnaHQ6NjVweH0udGl0bGUtZXh0cmEtbGFyZ2V7Zm9udC1zaXplOjkwcHg7bGluZS1oZWlnaHQ6ODVweH0udGl0bGUtZXh0cmEtbGFyZ2UtaGVhdnl7Zm9udC1zaXplOjlyZW07bGluZS1oZWlnaHQ6MTFyZW19LnRleHQtYmlne2ZvbnQtc2l6ZToxMjBweDtsaW5lLWhlaWdodDoxMjBweH0ubWQtbGluZS1oZWlnaHQtMHB4e2xpbmUtaGVpZ2h0OjB9Lm1kLWxpbmUtaGVpZ2h0LThweHtsaW5lLWhlaWdodDo4cHh9Lm1kLWxpbmUtaGVpZ2h0LTEwcHh7bGluZS1oZWlnaHQ6MTBweH0ubWQtbGluZS1oZWlnaHQtMTRweHtsaW5lLWhlaWdodDoxNHB4fS5tZC1saW5lLWhlaWdodC0xNXB4e2xpbmUtaGVpZ2h0OjE1cHh9Lm1kLWxpbmUtaGVpZ2h0LTE2cHh7bGluZS1oZWlnaHQ6MTZweH0ubWQtbGluZS1oZWlnaHQtMThweHtsaW5lLWhlaWdodDoxOHB4fS5tZC1saW5lLWhlaWdodC0yMHB4e2xpbmUtaGVpZ2h0OjIwcHh9Lm1kLWxpbmUtaGVpZ2h0LTIycHh7bGluZS1oZWlnaHQ6MjJweH0ubWQtbGluZS1oZWlnaHQtMjRweHtsaW5lLWhlaWdodDoyNHB4fS5tZC1saW5lLWhlaWdodC0yNnB4e2xpbmUtaGVpZ2h0OjI2cHh9Lm1kLWxpbmUtaGVpZ2h0LTI4cHh7bGluZS1oZWlnaHQ6MjhweH0ubWQtbGluZS1oZWlnaHQtMzBweHtsaW5lLWhlaWdodDozMHB4fS5tZC1saW5lLWhlaWdodC0zMnB4e2xpbmUtaGVpZ2h0OjMycHh9Lm1kLWxpbmUtaGVpZ2h0LTM0cHh7bGluZS1oZWlnaHQ6MzRweH0ubWQtbGluZS1oZWlnaHQtMzZweHtsaW5lLWhlaWdodDozNnB4fS5tZC1saW5lLWhlaWdodC0zOHB4e2xpbmUtaGVpZ2h0OjM4cHh9Lm1kLWxpbmUtaGVpZ2h0LTQwcHh7bGluZS1oZWlnaHQ6NDBweH0ubWQtbGluZS1oZWlnaHQtNTBweHtsaW5lLWhlaWdodDo1MHB4fS5tZC1saW5lLWhlaWdodC0xNDBweHtsaW5lLWhlaWdodDoxNDBweH0ubWQtbGluZS1oZWlnaHQtbm9ybWFse2xpbmUtaGVpZ2h0Om5vcm1hbH0ubWQtbGV0dGVyLXNwYWNpbmctbWludXMtMS1oYWxme2xldHRlci1zcGFjaW5nOi0uNXB4fS5tZC1sZXR0ZXItc3BhY2luZy1taW51cy0xcHh7bGV0dGVyLXNwYWNpbmc6LTFweH0ubWQtbGV0dGVyLXNwYWNpbmctbWludXMtMnB4e2xldHRlci1zcGFjaW5nOi0ycHh9Lm1kLWxldHRlci1zcGFjaW5nLW1pbnVzLTNweHtsZXR0ZXItc3BhY2luZzotM3B4fS5tZC1sZXR0ZXItc3BhY2luZy1taW51cy00cHh7bGV0dGVyLXNwYWNpbmc6LTRweH0ubWQtbGV0dGVyLXNwYWNpbmctbWludXMtNXB4e2xldHRlci1zcGFjaW5nOi01cHh9Lm1kLWFic29sdXRlLW1pZGRsZS1jZW50ZXJ7bGVmdDo1MCU7dG9wOjUwJTtwb3NpdGlvbjphYnNvbHV0ZTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSl9Lm1kLWJhY2tncm91bmQtaW1hZ2Utbm9uZXtiYWNrZ3JvdW5kOmluaGVyaXQhaW1wb3J0YW50fS5tZC1iYWNrZ3JvdW5kLXBvc2l0aW9uLWxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IGNlbnRlcn0ubWQtYmFja2dyb3VuZC1wb3NpdGlvbi1yaWdodHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IGNlbnRlcn0ubWQtYmFja2dyb3VuZC1wb3NpdGlvbi10b3B7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCB0b3B9Lm1kLWJhY2tncm91bmQtcG9zaXRpb24tY2VudGVye2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyfS5tZC1iYWNrZ3JvdW5kLXBvc2l0aW9uLWxlZnQtdG9we2JhY2tncm91bmQtcG9zaXRpb246bGVmdCB0b3B9YmxvY2txdW90ZXtwYWRkaW5nOjJweCAzMHB4fS5tZC1ib3gtc2hhZG93LW5vbmV7Ym94LXNoYWRvdzpub25lfS5tZC1tYXJnaW4tb25lLWFsbHttYXJnaW46MSV9Lm1kLW1hcmdpbi10d28tYWxse21hcmdpbjoyJX0ubWQtbWFyZ2luLXRocmVlLWFsbHttYXJnaW46MyV9Lm1kLW1hcmdpbi1mb3VyLWFsbHttYXJnaW46NCV9Lm1kLW1hcmdpbi1maXZlLWFsbHttYXJnaW46NSV9Lm1kLW1hcmdpbi1zaXgtYWxse21hcmdpbjo2JX0ubWQtbWFyZ2luLXNldmVuLWFsbHttYXJnaW46NyV9Lm1kLW1hcmdpbi1laWdodC1hbGx7bWFyZ2luOjglfS5tZC1tYXJnaW4tbmluZS1hbGx7bWFyZ2luOjklfS5tZC1tYXJnaW4tdGVuLWFsbHttYXJnaW46MTAlfS5tZC1tYXJnaW4tZWxldmVuLWFsbHttYXJnaW46MTElfS5tZC1tYXJnaW4tdHdlbHZlLWFsbHttYXJnaW46MTIlfS5tZC1tYXJnaW4tdGhpcnRlZW4tYWxse21hcmdpbjoxMyV9Lm1kLW1hcmdpbi1mb3VydGVlbi1hbGx7bWFyZ2luOjE0JX0ubWQtbWFyZ2luLWZpZnRlZW4tYWxse21hcmdpbjoxNSV9Lm1kLW1hcmdpbi1zaXh0ZWVuLWFsbHttYXJnaW46MTYlfS5tZC1tYXJnaW4tc2V2ZW50ZWVuLWFsbHttYXJnaW46MTclfS5tZC1tYXJnaW4tZWlnaHRlZW4tYWxse21hcmdpbjoxOCV9Lm1kLW1hcmdpbi1uaW5ldGVlbi1hbGx7bWFyZ2luOjE5JX0ubWQtbWFyZ2luLXR3ZW50eS1hbGx7bWFyZ2luOjIwJX0ubWQtbWFyZ2luLTVweC1hbGx7bWFyZ2luOjVweH0ubWQtbWFyZ2luLTEwcHgtYWxse21hcmdpbjoxMHB4fS5tZC1tYXJnaW4tMTVweC1hbGx7bWFyZ2luOjE1cHh9Lm1kLW1hcmdpbi0yMHB4LWFsbHttYXJnaW46MjBweH0ubWQtbWFyZ2luLTI1cHgtYWxse21hcmdpbjoyNXB4fS5tZC1tYXJnaW4tMzBweC1hbGx7bWFyZ2luOjMwcHh9Lm1kLW1hcmdpbi0zNXB4LWFsbHttYXJnaW46MzVweH0ubWQtbWFyZ2luLTQwcHgtYWxse21hcmdpbjo0MHB4fS5tZC1tYXJnaW4tNDVweC1hbGx7bWFyZ2luOjQ1cHh9Lm1kLW1hcmdpbi01MHB4LWFsbHttYXJnaW46NTBweH0ubWQtbWFyZ2luLTU1cHgtYWxse21hcmdpbjo1NXB4fS5tZC1tYXJnaW4tNjBweC1hbGx7bWFyZ2luOjYwcHh9Lm1kLW1hcmdpbi02NXB4LWFsbHttYXJnaW46NjVweH0ubWQtbWFyZ2luLTcwcHgtYWxse21hcmdpbjo3MHB4fS5tZC1tYXJnaW4tNzVweC1hbGx7bWFyZ2luOjc1cHh9Lm1kLW1hcmdpbi04MHB4LWFsbHttYXJnaW46ODBweH0ubWQtbWFyZ2luLTg1cHgtYWxse21hcmdpbjo4NXB4fS5tZC1tYXJnaW4tOTBweC1hbGx7bWFyZ2luOjkwcHh9Lm1kLW1hcmdpbi05NXB4LWFsbHttYXJnaW46OTVweH0ubWQtbWFyZ2luLTEwMHB4LWFsbHttYXJnaW46MTAwcHh9Lm1kLW1hcmdpbi0xLXJlbS1hbGx7bWFyZ2luOjFyZW19Lm1kLW1hcmdpbi0xLWhhbGYtcmVtLWFsbHttYXJnaW46MS41cmVtfS5tZC1tYXJnaW4tMi1yZW0tYWxse21hcmdpbjoycmVtfS5tZC1tYXJnaW4tMi1oYWxmLXJlbS1hbGx7bWFyZ2luOjIuNXJlbX0ubWQtbWFyZ2luLTMtcmVtLWFsbHttYXJnaW46M3JlbX0ubWQtbWFyZ2luLTMtaGFsZi1yZW0tYWxse21hcmdpbjozLjVyZW19Lm1kLW1hcmdpbi00LXJlbS1hbGx7bWFyZ2luOjRyZW19Lm1kLW1hcmdpbi00LWhhbGYtcmVtLWFsbHttYXJnaW46NC41cmVtfS5tZC1tYXJnaW4tNS1yZW0tYWxse21hcmdpbjo1cmVtfS5tZC1tYXJnaW4tNS1oYWxmLXJlbS1hbGx7bWFyZ2luOjUuNXJlbX0ubWQtbWFyZ2luLTYtcmVtLWFsbHttYXJnaW46NnJlbX0ubWQtbWFyZ2luLTYtaGFsZi1yZW0tYWxse21hcmdpbjo2LjVyZW19Lm1kLW1hcmdpbi03LXJlbS1hbGx7bWFyZ2luOjdyZW19Lm1kLW1hcmdpbi03LWhhbGYtcmVtLWFsbHttYXJnaW46Ny41cmVtfS5tZC1tYXJnaW4tOC1yZW0tYWxse21hcmdpbjo4cmVtfS5tZC1tYXJnaW4tOC1oYWxmLXJlbS1hbGx7bWFyZ2luOjguNXJlbX0ubWQtbWFyZ2luLTktcmVtLWFsbHttYXJnaW46OXJlbX0ubWQtbWFyZ2luLTktaGFsZi1yZW0tYWxse21hcmdpbjo5LjVyZW19Lm1kLW1hcmdpbi0xMC1yZW0tYWxse21hcmdpbjoxMHJlbX0ubWQtbWFyZ2luLTEwLWhhbGYtcmVtLWFsbHttYXJnaW46MTAuNXJlbX0ubWQtbWFyZ2luLW9uZS10b3B7bWFyZ2luLXRvcDoxJX0ubWQtbWFyZ2luLXR3by10b3B7bWFyZ2luLXRvcDoyJX0ubWQtbWFyZ2luLXRocmVlLXRvcHttYXJnaW4tdG9wOjMlfS5tZC1tYXJnaW4tZm91ci10b3B7bWFyZ2luLXRvcDo0JX0ubWQtbWFyZ2luLWZpdmUtdG9we21hcmdpbi10b3A6NSV9Lm1kLW1hcmdpbi1zaXgtdG9we21hcmdpbi10b3A6NiV9Lm1kLW1hcmdpbi1zZXZlbi10b3B7bWFyZ2luLXRvcDo3JX0ubWQtbWFyZ2luLWVpZ2h0LXRvcHttYXJnaW4tdG9wOjglfS5tZC1tYXJnaW4tbmluZS10b3B7bWFyZ2luLXRvcDo5JX0ubWQtbWFyZ2luLXRlbi10b3B7bWFyZ2luLXRvcDoxMCV9Lm1kLW1hcmdpbi1lbGV2ZW4tdG9we21hcmdpbi10b3A6MTElfS5tZC1tYXJnaW4tdHdlbHZlLXRvcHttYXJnaW4tdG9wOjEyJX0ubWQtbWFyZ2luLXRoaXJ0ZWVuLXRvcHttYXJnaW4tdG9wOjEzJX0ubWQtbWFyZ2luLWZvdXJ0ZWVuLXRvcHttYXJnaW4tdG9wOjE0JX0ubWQtbWFyZ2luLWZpZnRlZW4tdG9we21hcmdpbi10b3A6MTUlfS5tZC1tYXJnaW4tc2l4dGVlbi10b3B7bWFyZ2luLXRvcDoxNiV9Lm1kLW1hcmdpbi1zZXZlbnRlZW4tdG9we21hcmdpbi10b3A6MTclfS5tZC1tYXJnaW4tZWlnaHRlZW4tdG9we21hcmdpbi10b3A6MTglfS5tZC1tYXJnaW4tbmluZXRlZW4tdG9we21hcmdpbi10b3A6MTklfS5tZC1tYXJnaW4tdHdlbnR5LXRvcHttYXJnaW4tdG9wOjIwJX0ubWQtbWFyZ2luLTVweC10b3B7bWFyZ2luLXRvcDo1cHh9Lm1kLW1hcmdpbi0xMHB4LXRvcHttYXJnaW4tdG9wOjEwcHh9Lm1kLW1hcmdpbi0xNXB4LXRvcHttYXJnaW4tdG9wOjE1cHh9Lm1kLW1hcmdpbi0yMHB4LXRvcHttYXJnaW4tdG9wOjIwcHh9Lm1kLW1hcmdpbi0yNXB4LXRvcHttYXJnaW4tdG9wOjI1cHh9Lm1kLW1hcmdpbi0zMHB4LXRvcHttYXJnaW4tdG9wOjMwcHh9Lm1kLW1hcmdpbi0zNXB4LXRvcHttYXJnaW4tdG9wOjM1cHh9Lm1kLW1hcmdpbi00MHB4LXRvcHttYXJnaW4tdG9wOjQwcHh9Lm1kLW1hcmdpbi00NXB4LXRvcHttYXJnaW4tdG9wOjQ1cHh9Lm1kLW1hcmdpbi01MHB4LXRvcHttYXJnaW4tdG9wOjUwcHh9Lm1kLW1hcmdpbi01NXB4LXRvcHttYXJnaW4tdG9wOjU1cHh9Lm1kLW1hcmdpbi02MHB4LXRvcHttYXJnaW4tdG9wOjYwcHh9Lm1kLW1hcmdpbi02NXB4LXRvcHttYXJnaW4tdG9wOjY1cHh9Lm1kLW1hcmdpbi03MHB4LXRvcHttYXJnaW4tdG9wOjcwcHh9Lm1kLW1hcmdpbi03NXB4LXRvcHttYXJnaW4tdG9wOjc1cHh9Lm1kLW1hcmdpbi04MHB4LXRvcHttYXJnaW4tdG9wOjgwcHh9Lm1kLW1hcmdpbi04NXB4LXRvcHttYXJnaW4tdG9wOjg1cHh9Lm1kLW1hcmdpbi05MHB4LXRvcHttYXJnaW4tdG9wOjkwcHh9Lm1kLW1hcmdpbi05NXB4LXRvcHttYXJnaW4tdG9wOjk1cHh9Lm1kLW1hcmdpbi0xMDBweC10b3B7bWFyZ2luLXRvcDoxMDBweH0ubWQtbWFyZ2luLTEtcmVtLXRvcHttYXJnaW4tdG9wOjFyZW19Lm1kLW1hcmdpbi0xLWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjEuNXJlbX0ubWQtbWFyZ2luLTItcmVtLXRvcHttYXJnaW4tdG9wOjJyZW19Lm1kLW1hcmdpbi0yLWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjIuNXJlbX0ubWQtbWFyZ2luLTMtcmVtLXRvcHttYXJnaW4tdG9wOjNyZW19Lm1kLW1hcmdpbi0zLWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjMuNXJlbX0ubWQtbWFyZ2luLTQtcmVtLXRvcHttYXJnaW4tdG9wOjRyZW19Lm1kLW1hcmdpbi00LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjQuNXJlbX0ubWQtbWFyZ2luLTUtcmVtLXRvcHttYXJnaW4tdG9wOjVyZW19Lm1kLW1hcmdpbi01LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjUuNXJlbX0ubWQtbWFyZ2luLTYtcmVtLXRvcHttYXJnaW4tdG9wOjZyZW19Lm1kLW1hcmdpbi02LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjYuNXJlbX0ubWQtbWFyZ2luLTctcmVtLXRvcHttYXJnaW4tdG9wOjdyZW19Lm1kLW1hcmdpbi03LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjcuNXJlbX0ubWQtbWFyZ2luLTgtcmVtLXRvcHttYXJnaW4tdG9wOjhyZW19Lm1kLW1hcmdpbi04LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjguNXJlbX0ubWQtbWFyZ2luLTktcmVtLXRvcHttYXJnaW4tdG9wOjlyZW19Lm1kLW1hcmdpbi05LWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjkuNXJlbX0ubWQtbWFyZ2luLTEwLXJlbS10b3B7bWFyZ2luLXRvcDoxMHJlbX0ubWQtbWFyZ2luLTEwLWhhbGYtcmVtLXRvcHttYXJnaW4tdG9wOjEwLjVyZW19Lm1kLW1hcmdpbi1vbmUtYm90dG9te21hcmdpbi1ib3R0b206MSV9Lm1kLW1hcmdpbi10d28tYm90dG9te21hcmdpbi1ib3R0b206MiV9Lm1kLW1hcmdpbi10aHJlZS1ib3R0b217bWFyZ2luLWJvdHRvbTozJX0ubWQtbWFyZ2luLWZvdXItYm90dG9te21hcmdpbi1ib3R0b206NCV9Lm1kLW1hcmdpbi1maXZlLWJvdHRvbXttYXJnaW4tYm90dG9tOjUlfS5tZC1tYXJnaW4tc2l4LWJvdHRvbXttYXJnaW4tYm90dG9tOjYlfS5tZC1tYXJnaW4tc2V2ZW4tYm90dG9te21hcmdpbi1ib3R0b206NyV9Lm1kLW1hcmdpbi1laWdodC1ib3R0b217bWFyZ2luLWJvdHRvbTo4JX0ubWQtbWFyZ2luLW5pbmUtYm90dG9te21hcmdpbi1ib3R0b206OSV9Lm1kLW1hcmdpbi10ZW4tYm90dG9te21hcmdpbi1ib3R0b206MTAlfS5tZC1tYXJnaW4tZWxldmVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjExJX0ubWQtbWFyZ2luLXR3ZWx2ZS1ib3R0b217bWFyZ2luLWJvdHRvbToxMiV9Lm1kLW1hcmdpbi10aGlydGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxMyV9Lm1kLW1hcmdpbi1mb3VydGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxNCV9Lm1kLW1hcmdpbi1maWZ0ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE1JX0ubWQtbWFyZ2luLXNpeHRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTYlfS5tZC1tYXJnaW4tc2V2ZW50ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE3JX0ubWQtbWFyZ2luLWVpZ2h0ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE4JX0ubWQtbWFyZ2luLW5pbmV0ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE5JX0ubWQtbWFyZ2luLXR3ZW50eS1ib3R0b217bWFyZ2luLWJvdHRvbToyMCV9Lm1kLW1hcmdpbi01cHgtYm90dG9te21hcmdpbi1ib3R0b206NXB4fS5tZC1tYXJnaW4tMTBweC1ib3R0b217bWFyZ2luLWJvdHRvbToxMHB4fS5tZC1tYXJnaW4tMTVweC1ib3R0b217bWFyZ2luLWJvdHRvbToxNXB4fS5tZC1tYXJnaW4tMjBweC1ib3R0b217bWFyZ2luLWJvdHRvbToyMHB4fS5tZC1tYXJnaW4tMjVweC1ib3R0b217bWFyZ2luLWJvdHRvbToyNXB4fS5tZC1tYXJnaW4tMzBweC1ib3R0b217bWFyZ2luLWJvdHRvbTozMHB4fS5tZC1tYXJnaW4tMzVweC1ib3R0b217bWFyZ2luLWJvdHRvbTozNXB4fS5tZC1tYXJnaW4tNDBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo0MHB4fS5tZC1tYXJnaW4tNDVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo0NXB4fS5tZC1tYXJnaW4tNTBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo1MHB4fS5tZC1tYXJnaW4tNTVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo1NXB4fS5tZC1tYXJnaW4tNjBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo2MHB4fS5tZC1tYXJnaW4tNjVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo2NXB4fS5tZC1tYXJnaW4tNzBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo3MHB4fS5tZC1tYXJnaW4tNzVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo3NXB4fS5tZC1tYXJnaW4tODBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo4MHB4fS5tZC1tYXJnaW4tODVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo4NXB4fS5tZC1tYXJnaW4tOTBweC1ib3R0b217bWFyZ2luLWJvdHRvbTo5MHB4fS5tZC1tYXJnaW4tOTVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo5NXB4fS5tZC1tYXJnaW4tMTAwcHgtYm90dG9te21hcmdpbi1ib3R0b206MTAwcHh9Lm1kLW1hcmdpbi0xLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToxcmVtfS5tZC1tYXJnaW4tMS1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToxLjVyZW19Lm1kLW1hcmdpbi0yLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToycmVtfS5tZC1tYXJnaW4tMi1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToyLjVyZW19Lm1kLW1hcmdpbi0zLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTozcmVtfS5tZC1tYXJnaW4tMy1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTozLjVyZW19Lm1kLW1hcmdpbi00LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo0cmVtfS5tZC1tYXJnaW4tNC1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo0LjVyZW19Lm1kLW1hcmdpbi01LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo1cmVtfS5tZC1tYXJnaW4tNS1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo1LjVyZW19Lm1kLW1hcmdpbi02LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo2cmVtfS5tZC1tYXJnaW4tNi1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo2LjVyZW19Lm1kLW1hcmdpbi03LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo3cmVtfS5tZC1tYXJnaW4tNy1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo3LjVyZW19Lm1kLW1hcmdpbi04LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo4cmVtfS5tZC1tYXJnaW4tOC1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo4LjVyZW19Lm1kLW1hcmdpbi05LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo5cmVtfS5tZC1tYXJnaW4tOS1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbTo5LjVyZW19Lm1kLW1hcmdpbi0xMC1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MTByZW19Lm1kLW1hcmdpbi0xMC1oYWxmLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToxMC41cmVtfS5tZC1tYXJnaW4tb25lLXJpZ2h0e21hcmdpbi1yaWdodDoxJX0ubWQtbWFyZ2luLXR3by1yaWdodHttYXJnaW4tcmlnaHQ6MiV9Lm1kLW1hcmdpbi10aHJlZS1yaWdodHttYXJnaW4tcmlnaHQ6MyV9Lm1kLW1hcmdpbi1mb3VyLXJpZ2h0e21hcmdpbi1yaWdodDo0JX0ubWQtbWFyZ2luLWZpdmUtcmlnaHR7bWFyZ2luLXJpZ2h0OjUlfS5tZC1tYXJnaW4tc2l4LXJpZ2h0e21hcmdpbi1yaWdodDo2JX0ubWQtbWFyZ2luLXNldmVuLXJpZ2h0e21hcmdpbi1yaWdodDo3JX0ubWQtbWFyZ2luLWVpZ2h0LXJpZ2h0e21hcmdpbi1yaWdodDo4JX0ubWQtbWFyZ2luLW5pbmUtcmlnaHR7bWFyZ2luLXJpZ2h0OjklfS5tZC1tYXJnaW4tdGVuLXJpZ2h0e21hcmdpbi1yaWdodDoxMCV9Lm1kLW1hcmdpbi1lbGV2ZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjExJX0ubWQtbWFyZ2luLXR3ZWx2ZS1yaWdodHttYXJnaW4tcmlnaHQ6MTIlfS5tZC1tYXJnaW4tdGhpcnRlZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjEzJX0ubWQtbWFyZ2luLWZvdXJ0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxNCV9Lm1kLW1hcmdpbi1maWZ0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxNSV9Lm1kLW1hcmdpbi1zaXh0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxNiV9Lm1kLW1hcmdpbi1zZXZlbnRlZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjE3JX0ubWQtbWFyZ2luLWVpZ2h0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxOCV9Lm1kLW1hcmdpbi1uaW5ldGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTklfS5tZC1tYXJnaW4tdHdlbnR5LXJpZ2h0e21hcmdpbi1yaWdodDoyMCV9Lm1kLW1hcmdpbi01cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjVweH0ubWQtbWFyZ2luLTEwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjEwcHh9Lm1kLW1hcmdpbi0xNXB4LXJpZ2h0e21hcmdpbi1yaWdodDoxNXB4fS5tZC1tYXJnaW4tMjBweC1yaWdodHttYXJnaW4tcmlnaHQ6MjBweH0ubWQtbWFyZ2luLTI1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjI1cHh9Lm1kLW1hcmdpbi0zMHB4LXJpZ2h0e21hcmdpbi1yaWdodDozMHB4fS5tZC1tYXJnaW4tMzVweC1yaWdodHttYXJnaW4tcmlnaHQ6MzVweH0ubWQtbWFyZ2luLTQwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjQwcHh9Lm1kLW1hcmdpbi00NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo0NXB4fS5tZC1tYXJnaW4tNTBweC1yaWdodHttYXJnaW4tcmlnaHQ6NTBweH0ubWQtbWFyZ2luLTU1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjU1cHh9Lm1kLW1hcmdpbi02MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo2MHB4fS5tZC1tYXJnaW4tNjVweC1yaWdodHttYXJnaW4tcmlnaHQ6NjVweH0ubWQtbWFyZ2luLTcwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjcwcHh9Lm1kLW1hcmdpbi03NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo3NXB4fS5tZC1tYXJnaW4tODBweC1yaWdodHttYXJnaW4tcmlnaHQ6ODBweH0ubWQtbWFyZ2luLTg1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0Ojg1cHh9Lm1kLW1hcmdpbi05MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo5MHB4fS5tZC1tYXJnaW4tOTVweC1yaWdodHttYXJnaW4tcmlnaHQ6OTVweH0ubWQtbWFyZ2luLTEwMHB4LXJpZ2h0e21hcmdpbi1yaWdodDoxMDBweH0ubWQtbWFyZ2luLTEtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDoxcmVtfS5tZC1tYXJnaW4tMS1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6MS41cmVtfS5tZC1tYXJnaW4tMi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjJyZW19Lm1kLW1hcmdpbi0yLWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDoyLjVyZW19Lm1kLW1hcmdpbi0zLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6M3JlbX0ubWQtbWFyZ2luLTMtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjMuNXJlbX0ubWQtbWFyZ2luLTQtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo0cmVtfS5tZC1tYXJnaW4tNC1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6NC41cmVtfS5tZC1tYXJnaW4tNS1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjVyZW19Lm1kLW1hcmdpbi01LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo1LjVyZW19Lm1kLW1hcmdpbi02LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6NnJlbX0ubWQtbWFyZ2luLTYtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjYuNXJlbX0ubWQtbWFyZ2luLTctcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo3cmVtfS5tZC1tYXJnaW4tNy1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6Ny41cmVtfS5tZC1tYXJnaW4tOC1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjhyZW19Lm1kLW1hcmdpbi04LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo4LjVyZW19Lm1kLW1hcmdpbi05LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6OXJlbX0ubWQtbWFyZ2luLTktaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjkuNXJlbX0ubWQtbWFyZ2luLTEwLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6MTByZW19Lm1kLW1hcmdpbi0xMC1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6MTAuNXJlbX0ubWQtbWFyZ2luLW9uZS1sZWZ0e21hcmdpbi1sZWZ0OjElfS5tZC1tYXJnaW4tdHdvLWxlZnR7bWFyZ2luLWxlZnQ6MiV9Lm1kLW1hcmdpbi10aHJlZS1sZWZ0e21hcmdpbi1sZWZ0OjMlfS5tZC1tYXJnaW4tZm91ci1sZWZ0e21hcmdpbi1sZWZ0OjQlfS5tZC1tYXJnaW4tZml2ZS1sZWZ0e21hcmdpbi1sZWZ0OjUlfS5tZC1tYXJnaW4tc2l4LWxlZnR7bWFyZ2luLWxlZnQ6NiV9Lm1kLW1hcmdpbi1zZXZlbi1sZWZ0e21hcmdpbi1sZWZ0OjclfS5tZC1tYXJnaW4tZWlnaHQtbGVmdHttYXJnaW4tbGVmdDo4JX0ubWQtbWFyZ2luLW5pbmUtbGVmdHttYXJnaW4tbGVmdDo5JX0ubWQtbWFyZ2luLXRlbi1sZWZ0e21hcmdpbi1sZWZ0OjEwJX0ubWQtbWFyZ2luLWVsZXZlbi1sZWZ0e21hcmdpbi1sZWZ0OjExJX0ubWQtbWFyZ2luLXR3ZWx2ZS1sZWZ0e21hcmdpbi1sZWZ0OjEyJX0ubWQtbWFyZ2luLXRoaXJ0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTMlfS5tZC1tYXJnaW4tZm91cnRlZW4tbGVmdHttYXJnaW4tbGVmdDoxNCV9Lm1kLW1hcmdpbi1maWZ0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTUlfS5tZC1tYXJnaW4tc2l4dGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE2JX0ubWQtbWFyZ2luLXNldmVudGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE3JX0ubWQtbWFyZ2luLWVpZ2h0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTglfS5tZC1tYXJnaW4tbmluZXRlZW4tbGVmdHttYXJnaW4tbGVmdDoxOSV9Lm1kLW1hcmdpbi10d2VudHktbGVmdHttYXJnaW4tbGVmdDoyMCV9Lm1kLW1hcmdpbi01cHgtbGVmdHttYXJnaW4tbGVmdDo1cHh9Lm1kLW1hcmdpbi0xMHB4LWxlZnR7bWFyZ2luLWxlZnQ6MTBweH0ubWQtbWFyZ2luLTE1cHgtbGVmdHttYXJnaW4tbGVmdDoxNXB4fS5tZC1tYXJnaW4tMjBweC1sZWZ0e21hcmdpbi1sZWZ0OjIwcHh9Lm1kLW1hcmdpbi0yNXB4LWxlZnR7bWFyZ2luLWxlZnQ6MjVweH0ubWQtbWFyZ2luLTMwcHgtbGVmdHttYXJnaW4tbGVmdDozMHB4fS5tZC1tYXJnaW4tMzVweC1sZWZ0e21hcmdpbi1sZWZ0OjM1cHh9Lm1kLW1hcmdpbi00MHB4LWxlZnR7bWFyZ2luLWxlZnQ6NDBweH0ubWQtbWFyZ2luLTQ1cHgtbGVmdHttYXJnaW4tbGVmdDo0NXB4fS5tZC1tYXJnaW4tNTBweC1sZWZ0e21hcmdpbi1sZWZ0OjUwcHh9Lm1kLW1hcmdpbi01NXB4LWxlZnR7bWFyZ2luLWxlZnQ6NTVweH0ubWQtbWFyZ2luLTYwcHgtbGVmdHttYXJnaW4tbGVmdDo2MHB4fS5tZC1tYXJnaW4tNjVweC1sZWZ0e21hcmdpbi1sZWZ0OjY1cHh9Lm1kLW1hcmdpbi03MHB4LWxlZnR7bWFyZ2luLWxlZnQ6NzBweH0ubWQtbWFyZ2luLTc1cHgtbGVmdHttYXJnaW4tbGVmdDo3NXB4fS5tZC1tYXJnaW4tODBweC1sZWZ0e21hcmdpbi1sZWZ0OjgwcHh9Lm1kLW1hcmdpbi04NXB4LWxlZnR7bWFyZ2luLWxlZnQ6ODVweH0ubWQtbWFyZ2luLTkwcHgtbGVmdHttYXJnaW4tbGVmdDo5MHB4fS5tZC1tYXJnaW4tOTVweC1sZWZ0e21hcmdpbi1sZWZ0Ojk1cHh9Lm1kLW1hcmdpbi0xMDBweC1sZWZ0e21hcmdpbi1sZWZ0OjEwMHB4fS5tZC1tYXJnaW4tMS1yZW0tbGVmdHttYXJnaW4tbGVmdDoxcmVtfS5tZC1tYXJnaW4tMS1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjEuNXJlbX0ubWQtbWFyZ2luLTItcmVtLWxlZnR7bWFyZ2luLWxlZnQ6MnJlbX0ubWQtbWFyZ2luLTItaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDoyLjVyZW19Lm1kLW1hcmdpbi0zLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjNyZW19Lm1kLW1hcmdpbi0zLWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6My41cmVtfS5tZC1tYXJnaW4tNC1yZW0tbGVmdHttYXJnaW4tbGVmdDo0cmVtfS5tZC1tYXJnaW4tNC1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjQuNXJlbX0ubWQtbWFyZ2luLTUtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6NXJlbX0ubWQtbWFyZ2luLTUtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo1LjVyZW19Lm1kLW1hcmdpbi02LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjZyZW19Lm1kLW1hcmdpbi02LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6Ni41cmVtfS5tZC1tYXJnaW4tNy1yZW0tbGVmdHttYXJnaW4tbGVmdDo3cmVtfS5tZC1tYXJnaW4tNy1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjcuNXJlbX0ubWQtbWFyZ2luLTgtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6OHJlbX0ubWQtbWFyZ2luLTgtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo4LjVyZW19Lm1kLW1hcmdpbi05LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjlyZW19Lm1kLW1hcmdpbi05LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6OS41cmVtfS5tZC1tYXJnaW4tMTAtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6MTByZW19Lm1kLW1hcmdpbi0xMC1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjEwLjVyZW19Lm1kLW1hcmdpbi1vbmUtbHJ7bWFyZ2luLWxlZnQ6MSU7bWFyZ2luLXJpZ2h0OjElfS5tZC1tYXJnaW4tdHdvLWxye21hcmdpbi1sZWZ0OjIlO21hcmdpbi1yaWdodDoyJX0ubWQtbWFyZ2luLXRocmVlLWxye21hcmdpbi1sZWZ0OjMlO21hcmdpbi1yaWdodDozJX0ubWQtbWFyZ2luLWZvdXItbHJ7bWFyZ2luLWxlZnQ6NCU7bWFyZ2luLXJpZ2h0OjQlfS5tZC1tYXJnaW4tZml2ZS1scnttYXJnaW4tbGVmdDo1JTttYXJnaW4tcmlnaHQ6NSV9Lm1kLW1hcmdpbi1zaXgtbHJ7bWFyZ2luLWxlZnQ6NiU7bWFyZ2luLXJpZ2h0OjYlfS5tZC1tYXJnaW4tc2V2ZW4tbHJ7bWFyZ2luLWxlZnQ6NyU7bWFyZ2luLXJpZ2h0OjclfS5tZC1tYXJnaW4tZWlnaHQtbHJ7bWFyZ2luLWxlZnQ6OCU7bWFyZ2luLXJpZ2h0OjglfS5tZC1tYXJnaW4tbmluZS1scnttYXJnaW4tbGVmdDo5JTttYXJnaW4tcmlnaHQ6OSV9Lm1kLW1hcmdpbi10ZW4tbHJ7bWFyZ2luLWxlZnQ6MTAlO21hcmdpbi1yaWdodDoxMCV9Lm1kLW1hcmdpbi1lbGV2ZW4tbHJ7bWFyZ2luLWxlZnQ6MTElO21hcmdpbi1yaWdodDoxMSV9Lm1kLW1hcmdpbi10d2VsdmUtbHJ7bWFyZ2luLWxlZnQ6MTIlO21hcmdpbi1yaWdodDoxMiV9Lm1kLW1hcmdpbi10aGlydGVlbi1scnttYXJnaW4tbGVmdDoxMyU7bWFyZ2luLXJpZ2h0OjEzJX0ubWQtbWFyZ2luLWZvdXJ0ZWVuLWxye21hcmdpbi1sZWZ0OjE0JTttYXJnaW4tcmlnaHQ6MTQlfS5tZC1tYXJnaW4tZmlmdGVlbi1scnttYXJnaW4tbGVmdDoxNSU7bWFyZ2luLXJpZ2h0OjE1JX0ubWQtbWFyZ2luLXNpeHRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTYlO21hcmdpbi1yaWdodDoxNiV9Lm1kLW1hcmdpbi1zZXZlbnRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTclO21hcmdpbi1yaWdodDoxNyV9Lm1kLW1hcmdpbi1laWdodGVlbi1scnttYXJnaW4tbGVmdDoxOCU7bWFyZ2luLXJpZ2h0OjE4JX0ubWQtbWFyZ2luLW5pbmV0ZWVuLWxye21hcmdpbi1sZWZ0OjE5JTttYXJnaW4tcmlnaHQ6MTklfS5tZC1tYXJnaW4tdHdlbnR5LWxye21hcmdpbi1sZWZ0OjIwJTttYXJnaW4tcmlnaHQ6MjAlfS5tZC1tYXJnaW4tNXB4LWxye21hcmdpbi1sZWZ0OjVweDttYXJnaW4tcmlnaHQ6NXB4fS5tZC1tYXJnaW4tMTBweC1scnttYXJnaW4tbGVmdDoxMHB4O21hcmdpbi1yaWdodDoxMHB4fS5tZC1tYXJnaW4tMTVweC1scnttYXJnaW4tbGVmdDoxNXB4O21hcmdpbi1yaWdodDoxNXB4fS5tZC1tYXJnaW4tMjBweC1scnttYXJnaW4tbGVmdDoyMHB4O21hcmdpbi1yaWdodDoyMHB4fS5tZC1tYXJnaW4tMjVweC1scnttYXJnaW4tbGVmdDoyNXB4O21hcmdpbi1yaWdodDoyNXB4fS5tZC1tYXJnaW4tMzBweC1scnttYXJnaW4tbGVmdDozMHB4O21hcmdpbi1yaWdodDozMHB4fS5tZC1tYXJnaW4tMzVweC1scnttYXJnaW4tbGVmdDozNXB4O21hcmdpbi1yaWdodDozNXB4fS5tZC1tYXJnaW4tNDBweC1scnttYXJnaW4tbGVmdDo0MHB4O21hcmdpbi1yaWdodDo0MHB4fS5tZC1tYXJnaW4tNDVweC1scnttYXJnaW4tbGVmdDo0NXB4O21hcmdpbi1yaWdodDo0NXB4fS5tZC1tYXJnaW4tNTBweC1scnttYXJnaW4tbGVmdDo1MHB4O21hcmdpbi1yaWdodDo1MHB4fS5tZC1tYXJnaW4tNTVweC1scnttYXJnaW4tbGVmdDo1NXB4O21hcmdpbi1yaWdodDo1NXB4fS5tZC1tYXJnaW4tNjBweC1scnttYXJnaW4tbGVmdDo2MHB4O21hcmdpbi1yaWdodDo2MHB4fS5tZC1tYXJnaW4tNjVweC1scnttYXJnaW4tbGVmdDo2NXB4O21hcmdpbi1yaWdodDo2NXB4fS5tZC1tYXJnaW4tNzBweC1scnttYXJnaW4tbGVmdDo3MHB4O21hcmdpbi1yaWdodDo3MHB4fS5tZC1tYXJnaW4tNzVweC1scnttYXJnaW4tbGVmdDo3NXB4O21hcmdpbi1yaWdodDo3NXB4fS5tZC1tYXJnaW4tODBweC1scnttYXJnaW4tbGVmdDo4MHB4O21hcmdpbi1yaWdodDo4MHB4fS5tZC1tYXJnaW4tODVweC1scnttYXJnaW4tbGVmdDo4NXB4O21hcmdpbi1yaWdodDo4NXB4fS5tZC1tYXJnaW4tOTBweC1scnttYXJnaW4tbGVmdDo5MHB4O21hcmdpbi1yaWdodDo5MHB4fS5tZC1tYXJnaW4tOTVweC1scnttYXJnaW4tbGVmdDo5NXB4O21hcmdpbi1yaWdodDo5NXB4fS5tZC1tYXJnaW4tMTAwcHgtbHJ7bWFyZ2luLWxlZnQ6MTAwcHg7bWFyZ2luLXJpZ2h0OjEwMHB4fS5tZC1tYXJnaW4tMS1yZW0tbHJ7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6MXJlbX0ubWQtbWFyZ2luLTEtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6MS41cmVtO21hcmdpbi1yaWdodDoxLjVyZW19Lm1kLW1hcmdpbi0yLXJlbS1scnttYXJnaW4tbGVmdDoycmVtO21hcmdpbi1yaWdodDoycmVtfS5tZC1tYXJnaW4tMi1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDoyLjVyZW07bWFyZ2luLXJpZ2h0OjIuNXJlbX0ubWQtbWFyZ2luLTMtcmVtLWxye21hcmdpbi1sZWZ0OjNyZW07bWFyZ2luLXJpZ2h0OjNyZW19Lm1kLW1hcmdpbi0zLWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjMuNXJlbTttYXJnaW4tcmlnaHQ6My41cmVtfS5tZC1tYXJnaW4tNC1yZW0tbHJ7bWFyZ2luLWxlZnQ6NHJlbTttYXJnaW4tcmlnaHQ6NHJlbX0ubWQtbWFyZ2luLTQtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6NC41cmVtO21hcmdpbi1yaWdodDo0LjVyZW19Lm1kLW1hcmdpbi01LXJlbS1scnttYXJnaW4tbGVmdDo1cmVtO21hcmdpbi1yaWdodDo1cmVtfS5tZC1tYXJnaW4tNS1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo1LjVyZW07bWFyZ2luLXJpZ2h0OjUuNXJlbX0ubWQtbWFyZ2luLTYtcmVtLWxye21hcmdpbi1sZWZ0OjZyZW07bWFyZ2luLXJpZ2h0OjZyZW19Lm1kLW1hcmdpbi02LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjYuNXJlbTttYXJnaW4tcmlnaHQ6Ni41cmVtfS5tZC1tYXJnaW4tNy1yZW0tbHJ7bWFyZ2luLWxlZnQ6N3JlbTttYXJnaW4tcmlnaHQ6N3JlbX0ubWQtbWFyZ2luLTctaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6Ny41cmVtO21hcmdpbi1yaWdodDo3LjVyZW19Lm1kLW1hcmdpbi04LXJlbS1scnttYXJnaW4tbGVmdDo4cmVtO21hcmdpbi1yaWdodDo4cmVtfS5tZC1tYXJnaW4tOC1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo4LjVyZW07bWFyZ2luLXJpZ2h0OjguNXJlbX0ubWQtbWFyZ2luLTktcmVtLWxye21hcmdpbi1sZWZ0OjlyZW07bWFyZ2luLXJpZ2h0OjlyZW19Lm1kLW1hcmdpbi05LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjkuNXJlbTttYXJnaW4tcmlnaHQ6OS41cmVtfS5tZC1tYXJnaW4tMTAtcmVtLWxye21hcmdpbi1sZWZ0OjEwcmVtO21hcmdpbi1yaWdodDoxMHJlbX0ubWQtbWFyZ2luLTEwLWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjEwLjVyZW07bWFyZ2luLXJpZ2h0OjEwLjVyZW19Lm1kLW1hcmdpbi1vbmUtdGJ7bWFyZ2luLXRvcDoxJTttYXJnaW4tYm90dG9tOjElfS5tZC1tYXJnaW4tdHdvLXRie21hcmdpbi10b3A6MiU7bWFyZ2luLWJvdHRvbToyJX0ubWQtbWFyZ2luLXRocmVlLXRie21hcmdpbi10b3A6MyU7bWFyZ2luLWJvdHRvbTozJX0ubWQtbWFyZ2luLWZvdXItdGJ7bWFyZ2luLXRvcDo0JTttYXJnaW4tYm90dG9tOjQlfS5tZC1tYXJnaW4tZml2ZS10YnttYXJnaW4tdG9wOjUlO21hcmdpbi1ib3R0b206NSV9Lm1kLW1hcmdpbi1zaXgtdGJ7bWFyZ2luLXRvcDo2JTttYXJnaW4tYm90dG9tOjYlfS5tZC1tYXJnaW4tc2V2ZW4tdGJ7bWFyZ2luLXRvcDo3JTttYXJnaW4tYm90dG9tOjclfS5tZC1tYXJnaW4tZWlnaHQtdGJ7bWFyZ2luLXRvcDo4JTttYXJnaW4tYm90dG9tOjglfS5tZC1tYXJnaW4tbmluZS10YnttYXJnaW4tdG9wOjklO21hcmdpbi1ib3R0b206OSV9Lm1kLW1hcmdpbi10ZW4tdGJ7bWFyZ2luLXRvcDoxMCU7bWFyZ2luLWJvdHRvbToxMCV9Lm1kLW1hcmdpbi1lbGV2ZW4tdGJ7bWFyZ2luLXRvcDoxMSU7bWFyZ2luLWJvdHRvbToxMSV9Lm1kLW1hcmdpbi10d2VsdmUtdGJ7bWFyZ2luLXRvcDoxMiU7bWFyZ2luLWJvdHRvbToxMiV9Lm1kLW1hcmdpbi10aGlydGVlbi10YnttYXJnaW4tdG9wOjEzJTttYXJnaW4tYm90dG9tOjEzJX0ubWQtbWFyZ2luLWZvdXJ0ZWVuLXRie21hcmdpbi10b3A6MTQlO21hcmdpbi1ib3R0b206MTQlfS5tZC1tYXJnaW4tZmlmdGVlbi10YnttYXJnaW4tdG9wOjE1JTttYXJnaW4tYm90dG9tOjE1JX0ubWQtbWFyZ2luLXNpeHRlZW4tdGJ7bWFyZ2luLXRvcDoxNiU7bWFyZ2luLWJvdHRvbToxNiV9Lm1kLW1hcmdpbi1zZXZlbnRlZW4tdGJ7bWFyZ2luLXRvcDoxNyU7bWFyZ2luLWJvdHRvbToxNyV9Lm1kLW1hcmdpbi1laWdodGVlbi10YnttYXJnaW4tdG9wOjE4JTttYXJnaW4tYm90dG9tOjE4JX0ubWQtbWFyZ2luLW5pbmV0ZWVuLXRie21hcmdpbi10b3A6MTklO21hcmdpbi1ib3R0b206MTklfS5tZC1tYXJnaW4tdHdlbnR5LXRie21hcmdpbi10b3A6MjAlO21hcmdpbi1ib3R0b206MjAlfS5tZC1tYXJnaW4tNXB4LXRie21hcmdpbi10b3A6NXB4O21hcmdpbi1ib3R0b206NXB4fS5tZC1tYXJnaW4tMTBweC10YnttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5tZC1tYXJnaW4tMTVweC10YnttYXJnaW4tdG9wOjE1cHg7bWFyZ2luLWJvdHRvbToxNXB4fS5tZC1tYXJnaW4tMjBweC10YnttYXJnaW4tdG9wOjIwcHg7bWFyZ2luLWJvdHRvbToyMHB4fS5tZC1tYXJnaW4tMjVweC10YnttYXJnaW4tdG9wOjI1cHg7bWFyZ2luLWJvdHRvbToyNXB4fS5tZC1tYXJnaW4tMzBweC10YnttYXJnaW4tdG9wOjMwcHg7bWFyZ2luLWJvdHRvbTozMHB4fS5tZC1tYXJnaW4tMzVweC10YnttYXJnaW4tdG9wOjM1cHg7bWFyZ2luLWJvdHRvbTozNXB4fS5tZC1tYXJnaW4tNDBweC10YnttYXJnaW4tdG9wOjQwcHg7bWFyZ2luLWJvdHRvbTo0MHB4fS5tZC1tYXJnaW4tNDVweC10YnttYXJnaW4tdG9wOjQ1cHg7bWFyZ2luLWJvdHRvbTo0NXB4fS5tZC1tYXJnaW4tNTBweC10YnttYXJnaW4tdG9wOjUwcHg7bWFyZ2luLWJvdHRvbTo1MHB4fS5tZC1tYXJnaW4tNTVweC10YnttYXJnaW4tdG9wOjU1cHg7bWFyZ2luLWJvdHRvbTo1NXB4fS5tZC1tYXJnaW4tNjBweC10YnttYXJnaW4tdG9wOjYwcHg7bWFyZ2luLWJvdHRvbTo2MHB4fS5tZC1tYXJnaW4tNjVweC10YnttYXJnaW4tdG9wOjY1cHg7bWFyZ2luLWJvdHRvbTo2NXB4fS5tZC1tYXJnaW4tNzBweC10YnttYXJnaW4tdG9wOjcwcHg7bWFyZ2luLWJvdHRvbTo3MHB4fS5tZC1tYXJnaW4tNzVweC10YnttYXJnaW4tdG9wOjc1cHg7bWFyZ2luLWJvdHRvbTo3NXB4fS5tZC1tYXJnaW4tODBweC10YnttYXJnaW4tdG9wOjgwcHg7bWFyZ2luLWJvdHRvbTo4MHB4fS5tZC1tYXJnaW4tODVweC10YnttYXJnaW4tdG9wOjg1cHg7bWFyZ2luLWJvdHRvbTo4NXB4fS5tZC1tYXJnaW4tOTBweC10YnttYXJnaW4tdG9wOjkwcHg7bWFyZ2luLWJvdHRvbTo5MHB4fS5tZC1tYXJnaW4tOTVweC10YnttYXJnaW4tdG9wOjk1cHg7bWFyZ2luLWJvdHRvbTo5NXB4fS5tZC1tYXJnaW4tMTAwcHgtdGJ7bWFyZ2luLXRvcDoxMDBweDttYXJnaW4tYm90dG9tOjEwMHB4fS5tZC1tYXJnaW4tMS1yZW0tdGJ7bWFyZ2luLXRvcDoxcmVtO21hcmdpbi1ib3R0b206MXJlbX0ubWQtbWFyZ2luLTEtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDoxLjVyZW07bWFyZ2luLWJvdHRvbToxLjVyZW19Lm1kLW1hcmdpbi0yLXJlbS10YnttYXJnaW4tdG9wOjJyZW07bWFyZ2luLWJvdHRvbToycmVtfS5tZC1tYXJnaW4tMi1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjIuNXJlbTttYXJnaW4tYm90dG9tOjIuNXJlbX0ubWQtbWFyZ2luLTMtcmVtLXRie21hcmdpbi10b3A6M3JlbTttYXJnaW4tYm90dG9tOjNyZW19Lm1kLW1hcmdpbi0zLWhhbGYtcmVtLXRie21hcmdpbi10b3A6My41cmVtO21hcmdpbi1ib3R0b206My41cmVtfS5tZC1tYXJnaW4tNC1yZW0tdGJ7bWFyZ2luLXRvcDo0cmVtO21hcmdpbi1ib3R0b206NHJlbX0ubWQtbWFyZ2luLTQtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo0LjVyZW07bWFyZ2luLWJvdHRvbTo0LjVyZW19Lm1kLW1hcmdpbi01LXJlbS10YnttYXJnaW4tdG9wOjVyZW07bWFyZ2luLWJvdHRvbTo1cmVtfS5tZC1tYXJnaW4tNS1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjUuNXJlbTttYXJnaW4tYm90dG9tOjUuNXJlbX0ubWQtbWFyZ2luLTYtcmVtLXRie21hcmdpbi10b3A6NnJlbTttYXJnaW4tYm90dG9tOjZyZW19Lm1kLW1hcmdpbi02LWhhbGYtcmVtLXRie21hcmdpbi10b3A6Ni41cmVtO21hcmdpbi1ib3R0b206Ni41cmVtfS5tZC1tYXJnaW4tNy1yZW0tdGJ7bWFyZ2luLXRvcDo3cmVtO21hcmdpbi1ib3R0b206N3JlbX0ubWQtbWFyZ2luLTctaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo3LjVyZW07bWFyZ2luLWJvdHRvbTo3LjVyZW19Lm1kLW1hcmdpbi04LXJlbS10YnttYXJnaW4tdG9wOjhyZW07bWFyZ2luLWJvdHRvbTo4cmVtfS5tZC1tYXJnaW4tOC1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjguNXJlbTttYXJnaW4tYm90dG9tOjguNXJlbX0ubWQtbWFyZ2luLTktcmVtLXRie21hcmdpbi10b3A6OXJlbTttYXJnaW4tYm90dG9tOjlyZW19Lm1kLW1hcmdpbi05LWhhbGYtcmVtLXRie21hcmdpbi10b3A6OS41cmVtO21hcmdpbi1ib3R0b206OS41cmVtfS5tZC1tYXJnaW4tMTAtcmVtLXRie21hcmdpbi10b3A6MTByZW07bWFyZ2luLWJvdHRvbToxMHJlbX0ubWQtbWFyZ2luLTEwLWhhbGYtcmVtLXRie21hcmdpbi10b3A6MTAuNXJlbTttYXJnaW4tYm90dG9tOjEwLjVyZW19Lm1kLW1hcmdpbi1hdXRvLWxye21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50O21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWQtbWFyZ2luLWF1dG97bWFyZ2luOmF1dG99Lm1kLW5vLW1hcmdpbnttYXJnaW46MCFpbXBvcnRhbnR9Lm1kLW5vLW1hcmdpbi10b3B7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubWQtbm8tbWFyZ2luLWJvdHRvbXttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50fS5tZC1uby1tYXJnaW4tbGVmdHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubWQtbm8tbWFyZ2luLXJpZ2h0e21hcmdpbi1yaWdodDowIWltcG9ydGFudH0ubWQtbm8tbWFyZ2luLXRie21hcmdpbi10b3A6MCFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWQtbm8tbWFyZ2luLWxye21hcmdpbi1yaWdodDowIWltcG9ydGFudDttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubWQtcGFkZGluZy1vbmUtYWxse3BhZGRpbmc6MSV9Lm1kLXBhZGRpbmctdHdvLWFsbHtwYWRkaW5nOjIlfS5tZC1wYWRkaW5nLXRocmVlLWFsbHtwYWRkaW5nOjMlfS5tZC1wYWRkaW5nLWZvdXItYWxse3BhZGRpbmc6NCV9Lm1kLXBhZGRpbmctZml2ZS1hbGx7cGFkZGluZzo1JX0ubWQtcGFkZGluZy1zaXgtYWxse3BhZGRpbmc6NiV9Lm1kLXBhZGRpbmctc2V2ZW4tYWxse3BhZGRpbmc6NyV9Lm1kLXBhZGRpbmctZWlnaHQtYWxse3BhZGRpbmc6OCV9Lm1kLXBhZGRpbmctbmluZS1hbGx7cGFkZGluZzo5JX0ubWQtcGFkZGluZy10ZW4tYWxse3BhZGRpbmc6MTAlfS5tZC1wYWRkaW5nLWVsZXZlbi1hbGx7cGFkZGluZzoxMSV9Lm1kLXBhZGRpbmctdHdlbHZlLWFsbHtwYWRkaW5nOjEyJX0ubWQtcGFkZGluZy10aGlydGVlbi1hbGx7cGFkZGluZzoxMyV9Lm1kLXBhZGRpbmctZm91cnRlZW4tYWxse3BhZGRpbmc6MTQlfS5tZC1wYWRkaW5nLWZpZnRlZW4tYWxse3BhZGRpbmc6MTUlfS5tZC1wYWRkaW5nLXNpeHRlZW4tYWxse3BhZGRpbmc6MTYlfS5tZC1wYWRkaW5nLXNldmVudGVlbi1hbGx7cGFkZGluZzoxNyV9Lm1kLXBhZGRpbmctZWlnaHRlZW4tYWxse3BhZGRpbmc6MTglfS5tZC1wYWRkaW5nLW5pbmV0ZWVuLWFsbHtwYWRkaW5nOjE5JX0ubWQtcGFkZGluZy10d2VudHktYWxse3BhZGRpbmc6MjAlfS5tZC1wYWRkaW5nLTVweC1hbGx7cGFkZGluZzo1cHh9Lm1kLXBhZGRpbmctMTBweC1hbGx7cGFkZGluZzoxMHB4fS5tZC1wYWRkaW5nLTE1cHgtYWxse3BhZGRpbmc6MTVweH0ubWQtcGFkZGluZy0yMHB4LWFsbHtwYWRkaW5nOjIwcHh9Lm1kLXBhZGRpbmctMjVweC1hbGx7cGFkZGluZzoyNXB4fS5tZC1wYWRkaW5nLTMwcHgtYWxse3BhZGRpbmc6MzBweH0ubWQtcGFkZGluZy0zNXB4LWFsbHtwYWRkaW5nOjM1cHh9Lm1kLXBhZGRpbmctNDBweC1hbGx7cGFkZGluZzo0MHB4fS5tZC1wYWRkaW5nLTQ1cHgtYWxse3BhZGRpbmc6NDVweH0ubWQtcGFkZGluZy01MHB4LWFsbHtwYWRkaW5nOjUwcHh9Lm1kLXBhZGRpbmctNTVweC1hbGx7cGFkZGluZzo1NXB4fS5tZC1wYWRkaW5nLTYwcHgtYWxse3BhZGRpbmc6NjBweH0ubWQtcGFkZGluZy02NXB4LWFsbHtwYWRkaW5nOjY1cHh9Lm1kLXBhZGRpbmctNzBweC1hbGx7cGFkZGluZzo3MHB4fS5tZC1wYWRkaW5nLTc1cHgtYWxse3BhZGRpbmc6NzVweH0ubWQtcGFkZGluZy04MHB4LWFsbHtwYWRkaW5nOjgwcHh9Lm1kLXBhZGRpbmctODVweC1hbGx7cGFkZGluZzo4NXB4fS5tZC1wYWRkaW5nLTkwcHgtYWxse3BhZGRpbmc6OTBweH0ubWQtcGFkZGluZy05NXB4LWFsbHtwYWRkaW5nOjk1cHh9Lm1kLXBhZGRpbmctMTAwcHgtYWxse3BhZGRpbmc6MTAwcHh9Lm1kLXBhZGRpbmctMS1yZW0tYWxse3BhZGRpbmc6MXJlbX0ubWQtcGFkZGluZy0xLWhhbGYtcmVtLWFsbHtwYWRkaW5nOjEuNXJlbX0ubWQtcGFkZGluZy0yLXJlbS1hbGx7cGFkZGluZzoycmVtfS5tZC1wYWRkaW5nLTItaGFsZi1yZW0tYWxse3BhZGRpbmc6Mi41cmVtfS5tZC1wYWRkaW5nLTMtcmVtLWFsbHtwYWRkaW5nOjNyZW19Lm1kLXBhZGRpbmctMy1oYWxmLXJlbS1hbGx7cGFkZGluZzozLjVyZW19Lm1kLXBhZGRpbmctNC1yZW0tYWxse3BhZGRpbmc6NHJlbX0ubWQtcGFkZGluZy00LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjQuNXJlbX0ubWQtcGFkZGluZy01LXJlbS1hbGx7cGFkZGluZzo1cmVtfS5tZC1wYWRkaW5nLTUtaGFsZi1yZW0tYWxse3BhZGRpbmc6NS41cmVtfS5tZC1wYWRkaW5nLTYtcmVtLWFsbHtwYWRkaW5nOjZyZW19Lm1kLXBhZGRpbmctNi1oYWxmLXJlbS1hbGx7cGFkZGluZzo2LjVyZW19Lm1kLXBhZGRpbmctNy1yZW0tYWxse3BhZGRpbmc6N3JlbX0ubWQtcGFkZGluZy03LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjcuNXJlbX0ubWQtcGFkZGluZy04LXJlbS1hbGx7cGFkZGluZzo4cmVtfS5tZC1wYWRkaW5nLTgtaGFsZi1yZW0tYWxse3BhZGRpbmc6OC41cmVtfS5tZC1wYWRkaW5nLTktcmVtLWFsbHtwYWRkaW5nOjlyZW19Lm1kLXBhZGRpbmctOS1oYWxmLXJlbS1hbGx7cGFkZGluZzo5LjVyZW19Lm1kLXBhZGRpbmctMTAtcmVtLWFsbHtwYWRkaW5nOjEwcmVtfS5tZC1wYWRkaW5nLTEwLWhhbGYtcmVtLWFsbHtwYWRkaW5nOjEwLjVyZW19Lm1kLXBhZGRpbmctb25lLXRvcHtwYWRkaW5nLXRvcDoxJX0ubWQtcGFkZGluZy10d28tdG9we3BhZGRpbmctdG9wOjIlfS5tZC1wYWRkaW5nLXRocmVlLXRvcHtwYWRkaW5nLXRvcDozJX0ubWQtcGFkZGluZy1mb3VyLXRvcHtwYWRkaW5nLXRvcDo0JX0ubWQtcGFkZGluZy1maXZlLXRvcHtwYWRkaW5nLXRvcDo1JX0ubWQtcGFkZGluZy1zaXgtdG9we3BhZGRpbmctdG9wOjYlfS5tZC1wYWRkaW5nLXNldmVuLXRvcHtwYWRkaW5nLXRvcDo3JX0ubWQtcGFkZGluZy1laWdodC10b3B7cGFkZGluZy10b3A6OCV9Lm1kLXBhZGRpbmctbmluZS10b3B7cGFkZGluZy10b3A6OSV9Lm1kLXBhZGRpbmctdGVuLXRvcHtwYWRkaW5nLXRvcDoxMCV9Lm1kLXBhZGRpbmctZWxldmVuLXRvcHtwYWRkaW5nLXRvcDoxMSV9Lm1kLXBhZGRpbmctdHdlbHZlLXRvcHtwYWRkaW5nLXRvcDoxMiV9Lm1kLXBhZGRpbmctdGhpcnRlZW4tdG9we3BhZGRpbmctdG9wOjEzJX0ubWQtcGFkZGluZy1mb3VydGVlbi10b3B7cGFkZGluZy10b3A6MTQlfS5tZC1wYWRkaW5nLWZpZnRlZW4tdG9we3BhZGRpbmctdG9wOjE1JX0ubWQtcGFkZGluZy1zaXh0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxNiV9Lm1kLXBhZGRpbmctc2V2ZW50ZWVuLXRvcHtwYWRkaW5nLXRvcDoxNyV9Lm1kLXBhZGRpbmctZWlnaHRlZW4tdG9we3BhZGRpbmctdG9wOjE4JX0ubWQtcGFkZGluZy1uaW5ldGVlbi10b3B7cGFkZGluZy10b3A6MTklfS5tZC1wYWRkaW5nLXR3ZW50eS10b3B7cGFkZGluZy10b3A6MjAlfS5tZC1wYWRkaW5nLTVweC10b3B7cGFkZGluZy10b3A6NXB4fS5tZC1wYWRkaW5nLTEwcHgtdG9we3BhZGRpbmctdG9wOjEwcHh9Lm1kLXBhZGRpbmctMTVweC10b3B7cGFkZGluZy10b3A6MTVweH0ubWQtcGFkZGluZy0yMHB4LXRvcHtwYWRkaW5nLXRvcDoyMHB4fS5tZC1wYWRkaW5nLTI1cHgtdG9we3BhZGRpbmctdG9wOjI1cHh9Lm1kLXBhZGRpbmctMzBweC10b3B7cGFkZGluZy10b3A6MzBweH0ubWQtcGFkZGluZy0zNXB4LXRvcHtwYWRkaW5nLXRvcDozNXB4fS5tZC1wYWRkaW5nLTQwcHgtdG9we3BhZGRpbmctdG9wOjQwcHh9Lm1kLXBhZGRpbmctNDVweC10b3B7cGFkZGluZy10b3A6NDVweH0ubWQtcGFkZGluZy01MHB4LXRvcHtwYWRkaW5nLXRvcDo1MHB4fS5tZC1wYWRkaW5nLTU1cHgtdG9we3BhZGRpbmctdG9wOjU1cHh9Lm1kLXBhZGRpbmctNjBweC10b3B7cGFkZGluZy10b3A6NjBweH0ubWQtcGFkZGluZy02NXB4LXRvcHtwYWRkaW5nLXRvcDo2NXB4fS5tZC1wYWRkaW5nLTcwcHgtdG9we3BhZGRpbmctdG9wOjcwcHh9Lm1kLXBhZGRpbmctNzVweC10b3B7cGFkZGluZy10b3A6NzVweH0ubWQtcGFkZGluZy04MHB4LXRvcHtwYWRkaW5nLXRvcDo4MHB4fS5tZC1wYWRkaW5nLTg1cHgtdG9we3BhZGRpbmctdG9wOjg1cHh9Lm1kLXBhZGRpbmctOTBweC10b3B7cGFkZGluZy10b3A6OTBweH0ubWQtcGFkZGluZy05NXB4LXRvcHtwYWRkaW5nLXRvcDo5NXB4fS5tZC1wYWRkaW5nLTEwMHB4LXRvcHtwYWRkaW5nLXRvcDoxMDBweH0ubWQtcGFkZGluZy0xLXJlbS10b3B7cGFkZGluZy10b3A6MXJlbX0ubWQtcGFkZGluZy0xLWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDoxLjVyZW19Lm1kLXBhZGRpbmctMi1yZW0tdG9we3BhZGRpbmctdG9wOjJyZW19Lm1kLXBhZGRpbmctMi1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6Mi41cmVtfS5tZC1wYWRkaW5nLTMtcmVtLXRvcHtwYWRkaW5nLXRvcDozcmVtfS5tZC1wYWRkaW5nLTMtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjMuNXJlbX0ubWQtcGFkZGluZy00LXJlbS10b3B7cGFkZGluZy10b3A6NHJlbX0ubWQtcGFkZGluZy00LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo0LjVyZW19Lm1kLXBhZGRpbmctNS1yZW0tdG9we3BhZGRpbmctdG9wOjVyZW19Lm1kLXBhZGRpbmctNS1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6NS41cmVtfS5tZC1wYWRkaW5nLTYtcmVtLXRvcHtwYWRkaW5nLXRvcDo2cmVtfS5tZC1wYWRkaW5nLTYtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjYuNXJlbX0ubWQtcGFkZGluZy03LXJlbS10b3B7cGFkZGluZy10b3A6N3JlbX0ubWQtcGFkZGluZy03LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo3LjVyZW19Lm1kLXBhZGRpbmctOC1yZW0tdG9we3BhZGRpbmctdG9wOjhyZW19Lm1kLXBhZGRpbmctOC1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6OC41cmVtfS5tZC1wYWRkaW5nLTktcmVtLXRvcHtwYWRkaW5nLXRvcDo5cmVtfS5tZC1wYWRkaW5nLTktaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjkuNXJlbX0ubWQtcGFkZGluZy0xMC1yZW0tdG9we3BhZGRpbmctdG9wOjEwcmVtfS5tZC1wYWRkaW5nLTEwLWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDoxMC41cmVtfS5tZC1wYWRkaW5nLW9uZS1ib3R0b217cGFkZGluZy1ib3R0b206MSV9Lm1kLXBhZGRpbmctdHdvLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToyJX0ubWQtcGFkZGluZy10aHJlZS1ib3R0b217cGFkZGluZy1ib3R0b206MyV9Lm1kLXBhZGRpbmctZm91ci1ib3R0b217cGFkZGluZy1ib3R0b206NCV9Lm1kLXBhZGRpbmctZml2ZS1ib3R0b217cGFkZGluZy1ib3R0b206NSV9Lm1kLXBhZGRpbmctc2l4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo2JX0ubWQtcGFkZGluZy1zZXZlbi1ib3R0b217cGFkZGluZy1ib3R0b206NyV9Lm1kLXBhZGRpbmctZWlnaHQtYm90dG9te3BhZGRpbmctYm90dG9tOjglfS5tZC1wYWRkaW5nLW5pbmUtYm90dG9te3BhZGRpbmctYm90dG9tOjklfS5tZC1wYWRkaW5nLXRlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTAlfS5tZC1wYWRkaW5nLWVsZXZlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTElfS5tZC1wYWRkaW5nLXR3ZWx2ZS1ib3R0b217cGFkZGluZy1ib3R0b206MTIlfS5tZC1wYWRkaW5nLXRoaXJ0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMyV9Lm1kLXBhZGRpbmctZm91cnRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE0JX0ubWQtcGFkZGluZy1maWZ0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxNSV9Lm1kLXBhZGRpbmctc2l4dGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTYlfS5tZC1wYWRkaW5nLXNldmVudGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTclfS5tZC1wYWRkaW5nLWVpZ2h0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxOCV9Lm1kLXBhZGRpbmctbmluZXRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE5JX0ubWQtcGFkZGluZy10d2VudHktYm90dG9te3BhZGRpbmctYm90dG9tOjIwJX0ubWQtcGFkZGluZy01cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjVweH0ubWQtcGFkZGluZy0xMHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMHB4fS5tZC1wYWRkaW5nLTE1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjE1cHh9Lm1kLXBhZGRpbmctMjBweC1ib3R0b217cGFkZGluZy1ib3R0b206MjBweH0ubWQtcGFkZGluZy0yNXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToyNXB4fS5tZC1wYWRkaW5nLTMwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjMwcHh9Lm1kLXBhZGRpbmctMzVweC1ib3R0b217cGFkZGluZy1ib3R0b206MzVweH0ubWQtcGFkZGluZy00MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo0MHB4fS5tZC1wYWRkaW5nLTQ1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjQ1cHh9Lm1kLXBhZGRpbmctNTBweC1ib3R0b217cGFkZGluZy1ib3R0b206NTBweH0ubWQtcGFkZGluZy01NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1NXB4fS5tZC1wYWRkaW5nLTYwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjYwcHh9Lm1kLXBhZGRpbmctNjVweC1ib3R0b217cGFkZGluZy1ib3R0b206NjVweH0ubWQtcGFkZGluZy03MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo3MHB4fS5tZC1wYWRkaW5nLTc1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjc1cHh9Lm1kLXBhZGRpbmctODBweC1ib3R0b217cGFkZGluZy1ib3R0b206ODBweH0ubWQtcGFkZGluZy04NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo4NXB4fS5tZC1wYWRkaW5nLTkwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjkwcHh9Lm1kLXBhZGRpbmctOTVweC1ib3R0b217cGFkZGluZy1ib3R0b206OTVweH0ubWQtcGFkZGluZy0xMDBweC1ib3R0b217cGFkZGluZy1ib3R0b206MTAwcHh9Lm1kLXBhZGRpbmctMS1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjFyZW19Lm1kLXBhZGRpbmctMS1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206MS41cmVtfS5tZC1wYWRkaW5nLTItcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToycmVtfS5tZC1wYWRkaW5nLTItaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjIuNXJlbX0ubWQtcGFkZGluZy0zLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206M3JlbX0ubWQtcGFkZGluZy0zLWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTozLjVyZW19Lm1kLXBhZGRpbmctNC1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjRyZW19Lm1kLXBhZGRpbmctNC1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206NC41cmVtfS5tZC1wYWRkaW5nLTUtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1cmVtfS5tZC1wYWRkaW5nLTUtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjUuNXJlbX0ubWQtcGFkZGluZy02LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206NnJlbX0ubWQtcGFkZGluZy02LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo2LjVyZW19Lm1kLXBhZGRpbmctNy1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjdyZW19Lm1kLXBhZGRpbmctNy1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206Ny41cmVtfS5tZC1wYWRkaW5nLTgtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo4cmVtfS5tZC1wYWRkaW5nLTgtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjguNXJlbX0ubWQtcGFkZGluZy05LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206OXJlbX0ubWQtcGFkZGluZy05LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo5LjVyZW19Lm1kLXBhZGRpbmctMTAtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMHJlbX0ubWQtcGFkZGluZy0xMC1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206MTAuNXJlbX0ubWQtcGFkZGluZy1vbmUtcmlnaHR7cGFkZGluZy1yaWdodDoxJX0ubWQtcGFkZGluZy10d28tcmlnaHR7cGFkZGluZy1yaWdodDoyJX0ubWQtcGFkZGluZy10aHJlZS1yaWdodHtwYWRkaW5nLXJpZ2h0OjMlfS5tZC1wYWRkaW5nLWZvdXItcmlnaHR7cGFkZGluZy1yaWdodDo0JX0ubWQtcGFkZGluZy1maXZlLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NSV9Lm1kLXBhZGRpbmctc2l4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NiV9Lm1kLXBhZGRpbmctc2V2ZW4tcmlnaHR7cGFkZGluZy1yaWdodDo3JX0ubWQtcGFkZGluZy1laWdodC1yaWdodHtwYWRkaW5nLXJpZ2h0OjglfS5tZC1wYWRkaW5nLW5pbmUtcmlnaHR7cGFkZGluZy1yaWdodDo5JX0ubWQtcGFkZGluZy10ZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxMCV9Lm1kLXBhZGRpbmctZWxldmVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTElfS5tZC1wYWRkaW5nLXR3ZWx2ZS1yaWdodHtwYWRkaW5nLXJpZ2h0OjEyJX0ubWQtcGFkZGluZy10aGlydGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjEzJX0ubWQtcGFkZGluZy1mb3VydGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE0JX0ubWQtcGFkZGluZy1maWZ0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTUlfS5tZC1wYWRkaW5nLXNpeHRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxNiV9Lm1kLXBhZGRpbmctc2V2ZW50ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTclfS5tZC1wYWRkaW5nLWVpZ2h0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTglfS5tZC1wYWRkaW5nLW5pbmV0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTklfS5tZC1wYWRkaW5nLXR3ZW50eS1yaWdodHtwYWRkaW5nLXJpZ2h0OjIwJX0ubWQtcGFkZGluZy01cHgtcmlnaHR7cGFkZGluZy1yaWdodDo1cHh9Lm1kLXBhZGRpbmctMTBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjEwcHh9Lm1kLXBhZGRpbmctMTVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjE1cHh9Lm1kLXBhZGRpbmctMjBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjIwcHh9Lm1kLXBhZGRpbmctMjVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjI1cHh9Lm1kLXBhZGRpbmctMzBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjMwcHh9Lm1kLXBhZGRpbmctMzVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjM1cHh9Lm1kLXBhZGRpbmctNDBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjQwcHh9Lm1kLXBhZGRpbmctNDVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjQ1cHh9Lm1kLXBhZGRpbmctNTBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjUwcHh9Lm1kLXBhZGRpbmctNTVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjU1cHh9Lm1kLXBhZGRpbmctNjBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjYwcHh9Lm1kLXBhZGRpbmctNjVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjY1cHh9Lm1kLXBhZGRpbmctNzBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjcwcHh9Lm1kLXBhZGRpbmctNzVweC1yaWdodHtwYWRkaW5nLXJpZ2h0Ojc1cHh9Lm1kLXBhZGRpbmctODBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjgwcHh9Lm1kLXBhZGRpbmctODVweC1yaWdodHtwYWRkaW5nLXJpZ2h0Ojg1cHh9Lm1kLXBhZGRpbmctOTBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjkwcHh9Lm1kLXBhZGRpbmctOTVweC1yaWdodHtwYWRkaW5nLXJpZ2h0Ojk1cHh9Lm1kLXBhZGRpbmctMTAwcHgtcmlnaHR7cGFkZGluZy1yaWdodDoxMDBweH0ubWQtcGFkZGluZy0xLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjFyZW19Lm1kLXBhZGRpbmctMS1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjEuNXJlbX0ubWQtcGFkZGluZy0yLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjJyZW19Lm1kLXBhZGRpbmctMi1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjIuNXJlbX0ubWQtcGFkZGluZy0zLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjNyZW19Lm1kLXBhZGRpbmctMy1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjMuNXJlbX0ubWQtcGFkZGluZy00LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjRyZW19Lm1kLXBhZGRpbmctNC1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjQuNXJlbX0ubWQtcGFkZGluZy01LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjVyZW19Lm1kLXBhZGRpbmctNS1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjUuNXJlbX0ubWQtcGFkZGluZy02LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjZyZW19Lm1kLXBhZGRpbmctNi1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjYuNXJlbX0ubWQtcGFkZGluZy03LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjdyZW19Lm1kLXBhZGRpbmctNy1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjcuNXJlbX0ubWQtcGFkZGluZy04LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjhyZW19Lm1kLXBhZGRpbmctOC1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjguNXJlbX0ubWQtcGFkZGluZy05LXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjlyZW19Lm1kLXBhZGRpbmctOS1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjkuNXJlbX0ubWQtcGFkZGluZy0xMC1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoxMHJlbX0ubWQtcGFkZGluZy0xMC1oYWxmLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjEwLjVyZW19Lm1kLXBhZGRpbmctb25lLWxlZnR7cGFkZGluZy1sZWZ0OjElfS5tZC1wYWRkaW5nLXR3by1sZWZ0e3BhZGRpbmctbGVmdDoyJX0ubWQtcGFkZGluZy10aHJlZS1sZWZ0e3BhZGRpbmctbGVmdDozJX0ubWQtcGFkZGluZy1mb3VyLWxlZnR7cGFkZGluZy1sZWZ0OjQlfS5tZC1wYWRkaW5nLWZpdmUtbGVmdHtwYWRkaW5nLWxlZnQ6NSV9Lm1kLXBhZGRpbmctc2l4LWxlZnR7cGFkZGluZy1sZWZ0OjYlfS5tZC1wYWRkaW5nLXNldmVuLWxlZnR7cGFkZGluZy1sZWZ0OjclfS5tZC1wYWRkaW5nLWVpZ2h0LWxlZnR7cGFkZGluZy1sZWZ0OjglfS5tZC1wYWRkaW5nLW5pbmUtbGVmdHtwYWRkaW5nLWxlZnQ6OSV9Lm1kLXBhZGRpbmctdGVuLWxlZnR7cGFkZGluZy1sZWZ0OjEwJX0ubWQtcGFkZGluZy1lbGV2ZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTElfS5tZC1wYWRkaW5nLXR3ZWx2ZS1sZWZ0e3BhZGRpbmctbGVmdDoxMiV9Lm1kLXBhZGRpbmctdGhpcnRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTMlfS5tZC1wYWRkaW5nLWZvdXJ0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE0JX0ubWQtcGFkZGluZy1maWZ0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE1JX0ubWQtcGFkZGluZy1zaXh0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE2JX0ubWQtcGFkZGluZy1zZXZlbnRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTclfS5tZC1wYWRkaW5nLWVpZ2h0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE4JX0ubWQtcGFkZGluZy1uaW5ldGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxOSV9Lm1kLXBhZGRpbmctdHdlbnR5LWxlZnR7cGFkZGluZy1sZWZ0OjIwJX0ubWQtcGFkZGluZy01cHgtbGVmdHtwYWRkaW5nLWxlZnQ6NXB4fS5tZC1wYWRkaW5nLTEwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6MTBweH0ubWQtcGFkZGluZy0xNXB4LWxlZnR7cGFkZGluZy1sZWZ0OjE1cHh9Lm1kLXBhZGRpbmctMjBweC1sZWZ0e3BhZGRpbmctbGVmdDoyMHB4fS5tZC1wYWRkaW5nLTI1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6MjVweH0ubWQtcGFkZGluZy0zMHB4LWxlZnR7cGFkZGluZy1sZWZ0OjMwcHh9Lm1kLXBhZGRpbmctMzVweC1sZWZ0e3BhZGRpbmctbGVmdDozNXB4fS5tZC1wYWRkaW5nLTQwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6NDBweH0ubWQtcGFkZGluZy00NXB4LWxlZnR7cGFkZGluZy1sZWZ0OjQ1cHh9Lm1kLXBhZGRpbmctNTBweC1sZWZ0e3BhZGRpbmctbGVmdDo1MHB4fS5tZC1wYWRkaW5nLTU1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6NTVweH0ubWQtcGFkZGluZy02MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjYwcHh9Lm1kLXBhZGRpbmctNjVweC1sZWZ0e3BhZGRpbmctbGVmdDo2NXB4fS5tZC1wYWRkaW5nLTcwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6NzBweH0ubWQtcGFkZGluZy03NXB4LWxlZnR7cGFkZGluZy1sZWZ0Ojc1cHh9Lm1kLXBhZGRpbmctODBweC1sZWZ0e3BhZGRpbmctbGVmdDo4MHB4fS5tZC1wYWRkaW5nLTg1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6ODVweH0ubWQtcGFkZGluZy05MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjkwcHh9Lm1kLXBhZGRpbmctOTVweC1sZWZ0e3BhZGRpbmctbGVmdDo5NXB4fS5tZC1wYWRkaW5nLTEwMHB4LWxlZnR7cGFkZGluZy1sZWZ0OjEwMHB4fS5tZC1wYWRkaW5nLTEtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjFyZW19Lm1kLXBhZGRpbmctMS1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoxLjVyZW19Lm1kLXBhZGRpbmctMi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6MnJlbX0ubWQtcGFkZGluZy0yLWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjIuNXJlbX0ubWQtcGFkZGluZy0zLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDozcmVtfS5tZC1wYWRkaW5nLTMtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6My41cmVtfS5tZC1wYWRkaW5nLTQtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjRyZW19Lm1kLXBhZGRpbmctNC1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo0LjVyZW19Lm1kLXBhZGRpbmctNS1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6NXJlbX0ubWQtcGFkZGluZy01LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjUuNXJlbX0ubWQtcGFkZGluZy02LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo2cmVtfS5tZC1wYWRkaW5nLTYtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6Ni41cmVtfS5tZC1wYWRkaW5nLTctcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjdyZW19Lm1kLXBhZGRpbmctNy1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo3LjVyZW19Lm1kLXBhZGRpbmctOC1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6OHJlbX0ubWQtcGFkZGluZy04LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjguNXJlbX0ubWQtcGFkZGluZy05LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo5cmVtfS5tZC1wYWRkaW5nLTktaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6OS41cmVtfS5tZC1wYWRkaW5nLTEwLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoxMHJlbX0ubWQtcGFkZGluZy0xMC1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoxMC41cmVtfS5tZC1wYWRkaW5nLW9uZS10YntwYWRkaW5nLXRvcDoxJTtwYWRkaW5nLWJvdHRvbToxJX0ubWQtcGFkZGluZy10d28tdGJ7cGFkZGluZy10b3A6MiU7cGFkZGluZy1ib3R0b206MiV9Lm1kLXBhZGRpbmctdGhyZWUtdGJ7cGFkZGluZy10b3A6MyU7cGFkZGluZy1ib3R0b206MyV9Lm1kLXBhZGRpbmctZm91ci10YntwYWRkaW5nLXRvcDo0JTtwYWRkaW5nLWJvdHRvbTo0JX0ubWQtcGFkZGluZy1maXZlLXRie3BhZGRpbmctdG9wOjUlO3BhZGRpbmctYm90dG9tOjUlfS5tZC1wYWRkaW5nLXNpeC10YntwYWRkaW5nLXRvcDo2JTtwYWRkaW5nLWJvdHRvbTo2JX0ubWQtcGFkZGluZy1zZXZlbi10YntwYWRkaW5nLXRvcDo3JTtwYWRkaW5nLWJvdHRvbTo3JX0ubWQtcGFkZGluZy1laWdodC10YntwYWRkaW5nLXRvcDo4JTtwYWRkaW5nLWJvdHRvbTo4JX0ubWQtcGFkZGluZy1uaW5lLXRie3BhZGRpbmctdG9wOjklO3BhZGRpbmctYm90dG9tOjklfS5tZC1wYWRkaW5nLXRlbi10YntwYWRkaW5nLXRvcDoxMCU7cGFkZGluZy1ib3R0b206MTAlfS5tZC1wYWRkaW5nLWVsZXZlbi10YntwYWRkaW5nLXRvcDoxMSU7cGFkZGluZy1ib3R0b206MTElfS5tZC1wYWRkaW5nLXR3ZWx2ZS10YntwYWRkaW5nLXRvcDoxMiU7cGFkZGluZy1ib3R0b206MTIlfS5tZC1wYWRkaW5nLXRoaXJ0ZWVuLXRie3BhZGRpbmctdG9wOjEzJTtwYWRkaW5nLWJvdHRvbToxMyV9Lm1kLXBhZGRpbmctZm91cnRlZW4tdGJ7cGFkZGluZy10b3A6MTQlO3BhZGRpbmctYm90dG9tOjE0JX0ubWQtcGFkZGluZy1maWZ0ZWVuLXRie3BhZGRpbmctdG9wOjE1JTtwYWRkaW5nLWJvdHRvbToxNSV9Lm1kLXBhZGRpbmctc2l4dGVlbi10YntwYWRkaW5nLXRvcDoxNiU7cGFkZGluZy1ib3R0b206MTYlfS5tZC1wYWRkaW5nLXNldmVudGVlbi10YntwYWRkaW5nLXRvcDoxNyU7cGFkZGluZy1ib3R0b206MTclfS5tZC1wYWRkaW5nLWVpZ2h0ZWVuLXRie3BhZGRpbmctdG9wOjE4JTtwYWRkaW5nLWJvdHRvbToxOCV9Lm1kLXBhZGRpbmctbmluZXRlZW4tdGJ7cGFkZGluZy10b3A6MTklO3BhZGRpbmctYm90dG9tOjE5JX0ubWQtcGFkZGluZy10d2VudHktdGJ7cGFkZGluZy10b3A6MjAlO3BhZGRpbmctYm90dG9tOjIwJX0ubWQtcGFkZGluZy01cHgtdGJ7cGFkZGluZy10b3A6NXB4O3BhZGRpbmctYm90dG9tOjVweH0ubWQtcGFkZGluZy0xMHB4LXRie3BhZGRpbmctdG9wOjEwcHg7cGFkZGluZy1ib3R0b206MTBweH0ubWQtcGFkZGluZy0xNXB4LXRie3BhZGRpbmctdG9wOjE1cHg7cGFkZGluZy1ib3R0b206MTVweH0ubWQtcGFkZGluZy0yMHB4LXRie3BhZGRpbmctdG9wOjIwcHg7cGFkZGluZy1ib3R0b206MjBweH0ubWQtcGFkZGluZy0yNXB4LXRie3BhZGRpbmctdG9wOjI1cHg7cGFkZGluZy1ib3R0b206MjVweH0ubWQtcGFkZGluZy0zMHB4LXRie3BhZGRpbmctdG9wOjMwcHg7cGFkZGluZy1ib3R0b206MzBweH0ubWQtcGFkZGluZy0zNXB4LXRie3BhZGRpbmctdG9wOjM1cHg7cGFkZGluZy1ib3R0b206MzVweH0ubWQtcGFkZGluZy00MHB4LXRie3BhZGRpbmctdG9wOjQwcHg7cGFkZGluZy1ib3R0b206NDBweH0ubWQtcGFkZGluZy00NXB4LXRie3BhZGRpbmctdG9wOjQ1cHg7cGFkZGluZy1ib3R0b206NDVweH0ubWQtcGFkZGluZy01MHB4LXRie3BhZGRpbmctdG9wOjUwcHg7cGFkZGluZy1ib3R0b206NTBweH0ubWQtcGFkZGluZy01NXB4LXRie3BhZGRpbmctdG9wOjU1cHg7cGFkZGluZy1ib3R0b206NTVweH0ubWQtcGFkZGluZy02MHB4LXRie3BhZGRpbmctdG9wOjYwcHg7cGFkZGluZy1ib3R0b206NjBweH0ubWQtcGFkZGluZy02NXB4LXRie3BhZGRpbmctdG9wOjY1cHg7cGFkZGluZy1ib3R0b206NjVweH0ubWQtcGFkZGluZy03MHB4LXRie3BhZGRpbmctdG9wOjcwcHg7cGFkZGluZy1ib3R0b206NzBweH0ubWQtcGFkZGluZy03NXB4LXRie3BhZGRpbmctdG9wOjc1cHg7cGFkZGluZy1ib3R0b206NzVweH0ubWQtcGFkZGluZy04MHB4LXRie3BhZGRpbmctdG9wOjgwcHg7cGFkZGluZy1ib3R0b206ODBweH0ubWQtcGFkZGluZy04NXB4LXRie3BhZGRpbmctdG9wOjg1cHg7cGFkZGluZy1ib3R0b206ODVweH0ubWQtcGFkZGluZy05MHB4LXRie3BhZGRpbmctdG9wOjkwcHg7cGFkZGluZy1ib3R0b206OTBweH0ubWQtcGFkZGluZy05NXB4LXRie3BhZGRpbmctdG9wOjk1cHg7cGFkZGluZy1ib3R0b206OTVweH0ubWQtcGFkZGluZy0xMDBweC10YntwYWRkaW5nLXRvcDoxMDBweDtwYWRkaW5nLWJvdHRvbToxMDBweH0ubWQtcGFkZGluZy0xLXJlbS10YntwYWRkaW5nLXRvcDoxcmVtO3BhZGRpbmctYm90dG9tOjFyZW19Lm1kLXBhZGRpbmctMS1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDoxLjVyZW07cGFkZGluZy1ib3R0b206MS41cmVtfS5tZC1wYWRkaW5nLTItcmVtLXRie3BhZGRpbmctdG9wOjJyZW07cGFkZGluZy1ib3R0b206MnJlbX0ubWQtcGFkZGluZy0yLWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjIuNXJlbTtwYWRkaW5nLWJvdHRvbToyLjVyZW19Lm1kLXBhZGRpbmctMy1yZW0tdGJ7cGFkZGluZy10b3A6M3JlbTtwYWRkaW5nLWJvdHRvbTozcmVtfS5tZC1wYWRkaW5nLTMtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6My41cmVtO3BhZGRpbmctYm90dG9tOjMuNXJlbX0ubWQtcGFkZGluZy00LXJlbS10YntwYWRkaW5nLXRvcDo0cmVtO3BhZGRpbmctYm90dG9tOjRyZW19Lm1kLXBhZGRpbmctNC1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo0LjVyZW07cGFkZGluZy1ib3R0b206NC41cmVtfS5tZC1wYWRkaW5nLTUtcmVtLXRie3BhZGRpbmctdG9wOjVyZW07cGFkZGluZy1ib3R0b206NXJlbX0ubWQtcGFkZGluZy01LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjUuNXJlbTtwYWRkaW5nLWJvdHRvbTo1LjVyZW19Lm1kLXBhZGRpbmctNi1yZW0tdGJ7cGFkZGluZy10b3A6NnJlbTtwYWRkaW5nLWJvdHRvbTo2cmVtfS5tZC1wYWRkaW5nLTYtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6Ni41cmVtO3BhZGRpbmctYm90dG9tOjYuNXJlbX0ubWQtcGFkZGluZy03LXJlbS10YntwYWRkaW5nLXRvcDo3cmVtO3BhZGRpbmctYm90dG9tOjdyZW19Lm1kLXBhZGRpbmctNy1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo3LjVyZW07cGFkZGluZy1ib3R0b206Ny41cmVtfS5tZC1wYWRkaW5nLTgtcmVtLXRie3BhZGRpbmctdG9wOjhyZW07cGFkZGluZy1ib3R0b206OHJlbX0ubWQtcGFkZGluZy04LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjguNXJlbTtwYWRkaW5nLWJvdHRvbTo4LjVyZW19Lm1kLXBhZGRpbmctOS1yZW0tdGJ7cGFkZGluZy10b3A6OXJlbTtwYWRkaW5nLWJvdHRvbTo5cmVtfS5tZC1wYWRkaW5nLTktaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6OS41cmVtO3BhZGRpbmctYm90dG9tOjkuNXJlbX0ubWQtcGFkZGluZy0xMC1yZW0tdGJ7cGFkZGluZy10b3A6MTByZW07cGFkZGluZy1ib3R0b206MTByZW19Lm1kLXBhZGRpbmctMTAtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6MTAuNXJlbTtwYWRkaW5nLWJvdHRvbToxMC41cmVtfS5tZC1wYWRkaW5nLW9uZS1scntwYWRkaW5nLWxlZnQ6MSU7cGFkZGluZy1yaWdodDoxJX0ubWQtcGFkZGluZy10d28tbHJ7cGFkZGluZy1sZWZ0OjIlO3BhZGRpbmctcmlnaHQ6MiV9Lm1kLXBhZGRpbmctdGhyZWUtbHJ7cGFkZGluZy1sZWZ0OjMlO3BhZGRpbmctcmlnaHQ6MyV9Lm1kLXBhZGRpbmctZm91ci1scntwYWRkaW5nLWxlZnQ6NCU7cGFkZGluZy1yaWdodDo0JX0ubWQtcGFkZGluZy1maXZlLWxye3BhZGRpbmctbGVmdDo1JTtwYWRkaW5nLXJpZ2h0OjUlfS5tZC1wYWRkaW5nLXNpeC1scntwYWRkaW5nLWxlZnQ6NiU7cGFkZGluZy1yaWdodDo2JX0ubWQtcGFkZGluZy1zZXZlbi1scntwYWRkaW5nLWxlZnQ6NyU7cGFkZGluZy1yaWdodDo3JX0ubWQtcGFkZGluZy1laWdodC1scntwYWRkaW5nLWxlZnQ6OCU7cGFkZGluZy1yaWdodDo4JX0ubWQtcGFkZGluZy1uaW5lLWxye3BhZGRpbmctbGVmdDo5JTtwYWRkaW5nLXJpZ2h0OjklfS5tZC1wYWRkaW5nLXRlbi1scntwYWRkaW5nLWxlZnQ6MTAlO3BhZGRpbmctcmlnaHQ6MTAlfS5tZC1wYWRkaW5nLWVsZXZlbi1scntwYWRkaW5nLWxlZnQ6MTElO3BhZGRpbmctcmlnaHQ6MTElfS5tZC1wYWRkaW5nLXR3ZWx2ZS1scntwYWRkaW5nLWxlZnQ6MTIlO3BhZGRpbmctcmlnaHQ6MTIlfS5tZC1wYWRkaW5nLXRoaXJ0ZWVuLWxye3BhZGRpbmctbGVmdDoxMyU7cGFkZGluZy1yaWdodDoxMyV9Lm1kLXBhZGRpbmctZm91cnRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE0JTtwYWRkaW5nLXJpZ2h0OjE0JX0ubWQtcGFkZGluZy1maWZ0ZWVuLWxye3BhZGRpbmctbGVmdDoxNSU7cGFkZGluZy1yaWdodDoxNSV9Lm1kLXBhZGRpbmctc2l4dGVlbi1scntwYWRkaW5nLWxlZnQ6MTYlO3BhZGRpbmctcmlnaHQ6MTYlfS5tZC1wYWRkaW5nLXNldmVudGVlbi1scntwYWRkaW5nLWxlZnQ6MTclO3BhZGRpbmctcmlnaHQ6MTclfS5tZC1wYWRkaW5nLWVpZ2h0ZWVuLWxye3BhZGRpbmctbGVmdDoxOCU7cGFkZGluZy1yaWdodDoxOCV9Lm1kLXBhZGRpbmctbmluZXRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE5JTtwYWRkaW5nLXJpZ2h0OjE5JX0ubWQtcGFkZGluZy10d2VudHktbHJ7cGFkZGluZy1sZWZ0OjIwJTtwYWRkaW5nLXJpZ2h0OjIwJX0ubWQtcGFkZGluZy01cHgtbHJ7cGFkZGluZy1sZWZ0OjVweDtwYWRkaW5nLXJpZ2h0OjVweH0ubWQtcGFkZGluZy0xMHB4LWxye3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweH0ubWQtcGFkZGluZy0xNXB4LWxye3BhZGRpbmctbGVmdDoxNXB4O3BhZGRpbmctcmlnaHQ6MTVweH0ubWQtcGFkZGluZy0yMHB4LWxye3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MjBweH0ubWQtcGFkZGluZy0yNXB4LWxye3BhZGRpbmctbGVmdDoyNXB4O3BhZGRpbmctcmlnaHQ6MjVweH0ubWQtcGFkZGluZy0zMHB4LWxye3BhZGRpbmctbGVmdDozMHB4O3BhZGRpbmctcmlnaHQ6MzBweH0ubWQtcGFkZGluZy0zNXB4LWxye3BhZGRpbmctbGVmdDozNXB4O3BhZGRpbmctcmlnaHQ6MzVweH0ubWQtcGFkZGluZy00MHB4LWxye3BhZGRpbmctbGVmdDo0MHB4O3BhZGRpbmctcmlnaHQ6NDBweH0ubWQtcGFkZGluZy00NXB4LWxye3BhZGRpbmctbGVmdDo0NXB4O3BhZGRpbmctcmlnaHQ6NDVweH0ubWQtcGFkZGluZy01MHB4LWxye3BhZGRpbmctbGVmdDo1MHB4O3BhZGRpbmctcmlnaHQ6NTBweH0ubWQtcGFkZGluZy01NXB4LWxye3BhZGRpbmctbGVmdDo1NXB4O3BhZGRpbmctcmlnaHQ6NTVweH0ubWQtcGFkZGluZy02MHB4LWxye3BhZGRpbmctbGVmdDo2MHB4O3BhZGRpbmctcmlnaHQ6NjBweH0ubWQtcGFkZGluZy02NXB4LWxye3BhZGRpbmctbGVmdDo2NXB4O3BhZGRpbmctcmlnaHQ6NjVweH0ubWQtcGFkZGluZy03MHB4LWxye3BhZGRpbmctbGVmdDo3MHB4O3BhZGRpbmctcmlnaHQ6NzBweH0ubWQtcGFkZGluZy03NXB4LWxye3BhZGRpbmctbGVmdDo3NXB4O3BhZGRpbmctcmlnaHQ6NzVweH0ubWQtcGFkZGluZy04MHB4LWxye3BhZGRpbmctbGVmdDo4MHB4O3BhZGRpbmctcmlnaHQ6ODBweH0ubWQtcGFkZGluZy04NXB4LWxye3BhZGRpbmctbGVmdDo4NXB4O3BhZGRpbmctcmlnaHQ6ODVweH0ubWQtcGFkZGluZy05MHB4LWxye3BhZGRpbmctbGVmdDo5MHB4O3BhZGRpbmctcmlnaHQ6OTBweH0ubWQtcGFkZGluZy05NXB4LWxye3BhZGRpbmctbGVmdDo5NXB4O3BhZGRpbmctcmlnaHQ6OTVweH0ubWQtcGFkZGluZy0xMDBweC1scntwYWRkaW5nLWxlZnQ6MTAwcHg7cGFkZGluZy1yaWdodDoxMDBweH0ubWQtcGFkZGluZy0xLXJlbS1scntwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19Lm1kLXBhZGRpbmctMS1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6MS41cmVtO3BhZGRpbmctcmlnaHQ6MS41cmVtfS5tZC1wYWRkaW5nLTItcmVtLWxye3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ubWQtcGFkZGluZy0yLWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDoyLjVyZW07cGFkZGluZy1yaWdodDoyLjVyZW19Lm1kLXBhZGRpbmctMy1yZW0tbHJ7cGFkZGluZy1sZWZ0OjNyZW07cGFkZGluZy1yaWdodDozcmVtfS5tZC1wYWRkaW5nLTMtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjMuNXJlbTtwYWRkaW5nLXJpZ2h0OjMuNXJlbX0ubWQtcGFkZGluZy00LXJlbS1scntwYWRkaW5nLWxlZnQ6NHJlbTtwYWRkaW5nLXJpZ2h0OjRyZW19Lm1kLXBhZGRpbmctNC1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6NC41cmVtO3BhZGRpbmctcmlnaHQ6NC41cmVtfS5tZC1wYWRkaW5nLTUtcmVtLWxye3BhZGRpbmctbGVmdDo1cmVtO3BhZGRpbmctcmlnaHQ6NXJlbX0ubWQtcGFkZGluZy01LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo1LjVyZW07cGFkZGluZy1yaWdodDo1LjVyZW19Lm1kLXBhZGRpbmctNi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjZyZW07cGFkZGluZy1yaWdodDo2cmVtfS5tZC1wYWRkaW5nLTYtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjYuNXJlbTtwYWRkaW5nLXJpZ2h0OjYuNXJlbX0ubWQtcGFkZGluZy03LXJlbS1scntwYWRkaW5nLWxlZnQ6N3JlbTtwYWRkaW5nLXJpZ2h0OjdyZW19Lm1kLXBhZGRpbmctNy1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6Ny41cmVtO3BhZGRpbmctcmlnaHQ6Ny41cmVtfS5tZC1wYWRkaW5nLTgtcmVtLWxye3BhZGRpbmctbGVmdDo4cmVtO3BhZGRpbmctcmlnaHQ6OHJlbX0ubWQtcGFkZGluZy04LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo4LjVyZW07cGFkZGluZy1yaWdodDo4LjVyZW19Lm1kLXBhZGRpbmctOS1yZW0tbHJ7cGFkZGluZy1sZWZ0OjlyZW07cGFkZGluZy1yaWdodDo5cmVtfS5tZC1wYWRkaW5nLTktaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjkuNXJlbTtwYWRkaW5nLXJpZ2h0OjkuNXJlbX0ubWQtcGFkZGluZy0xMC1yZW0tbHJ7cGFkZGluZy1sZWZ0OjEwcmVtO3BhZGRpbmctcmlnaHQ6MTByZW19Lm1kLXBhZGRpbmctMTAtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjEwLjVyZW07cGFkZGluZy1yaWdodDoxMC41cmVtfS5tZC1uby1wYWRkaW5ne3BhZGRpbmc6MCFpbXBvcnRhbnR9Lm1kLW5vLXBhZGRpbmctbHJ7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9Lm1kLW5vLXBhZGRpbmctdGJ7cGFkZGluZy10b3A6MCFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206MCFpbXBvcnRhbnR9Lm1kLW5vLXBhZGRpbmctdG9we3BhZGRpbmctdG9wOjAhaW1wb3J0YW50fS5tZC1uby1wYWRkaW5nLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ubWQtbm8tcGFkZGluZy1sZWZ0e3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0ubWQtbm8tcGFkZGluZy1yaWdodHtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5tZC1kLWluaXRpYWx7ZGlzcGxheTppbml0aWFsIWltcG9ydGFudH0ubWQtb3ZlcmZsb3ctaGlkZGVue292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnR9Lm1kLW92ZXJmbG93LXZpc2libGV7b3ZlcmZsb3c6dmlzaWJsZSFpbXBvcnRhbnR9Lm1kLW92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0byFpbXBvcnRhbnR9Lm1kLXBvc2l0aW9uLXJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlIWltcG9ydGFudH0ubWQtcG9zaXRpb24tYWJzb2x1dGV7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50fS5tZC1wb3NpdGlvbi1maXhlZHtwb3NpdGlvbjpmaXhlZCFpbXBvcnRhbnR9Lm1kLXBvc2l0aW9uLWluaGVyaXR7cG9zaXRpb246aW5oZXJpdCFpbXBvcnRhbnR9Lm1kLXBvc2l0aW9uLWluaXRpYWx7cG9zaXRpb246aW5pdGlhbCFpbXBvcnRhbnR9Lm1kLXRvcC0wcHh7dG9wOjB9Lm1kLXRvcC0xcHh7dG9wOjFweH0ubWQtdG9wLTJweHt0b3A6MnB4fS5tZC10b3AtM3B4e3RvcDozcHh9Lm1kLXRvcC00cHh7dG9wOjRweH0ubWQtdG9wLTVweHt0b3A6NXB4fS5tZC10b3AtNnB4e3RvcDo2cHh9Lm1kLXRvcC03cHh7dG9wOjdweH0ubWQtdG9wLThweHt0b3A6OHB4fS5tZC10b3AtOXB4e3RvcDo5cHh9Lm1kLXRvcC0xMHB4e3RvcDoxMHB4fS5tZC10b3AtMTVweHt0b3A6MTVweH0ubWQtdG9wLTIwcHh7dG9wOjIwcHh9Lm1kLXRvcC0yNXB4e3RvcDoyNXB4fS5tZC10b3AtMzBweHt0b3A6MzBweH0ubWQtdG9wLTM1cHh7dG9wOjM1cHh9Lm1kLXRvcC00MHB4e3RvcDo0MHB4fS5tZC10b3AtNDVweHt0b3A6NDVweH0ubWQtdG9wLTUwcHh7dG9wOjUwcHh9Lm1kLXRvcC1hdXRve3RvcDphdXRvfS5tZC10b3AtaW5oZXJpdHt0b3A6aW5oZXJpdH0ubWQtdG9wLW1pbnVzLTFweHt0b3A6LTFweH0ubWQtdG9wLW1pbnVzLTJweHt0b3A6LTJweH0ubWQtdG9wLW1pbnVzLTNweHt0b3A6LTNweH0ubWQtdG9wLW1pbnVzLTRweHt0b3A6LTRweH0ubWQtdG9wLW1pbnVzLTVweHt0b3A6LTVweH0ubWQtdG9wLW1pbnVzLTZweHt0b3A6LTZweH0ubWQtdG9wLW1pbnVzLTdweHt0b3A6LTdweH0ubWQtdG9wLW1pbnVzLThweHt0b3A6LThweH0ubWQtdG9wLW1pbnVzLTlweHt0b3A6LTlweH0ubWQtdG9wLW1pbnVzLTEwcHh7dG9wOi0xMHB4fS5tZC10b3AtbWludXMtMTVweHt0b3A6LTE1cHh9Lm1kLXRvcC1taW51cy0yMHB4e3RvcDotMjBweH0ubWQtdG9wLW1pbnVzLTI1cHh7dG9wOi0yNXB4fS5tZC10b3AtbWludXMtMzBweHt0b3A6LTMwcHh9Lm1kLXRvcC1taW51cy0zNXB4e3RvcDotMzVweH0ubWQtdG9wLW1pbnVzLTQwcHh7dG9wOi00MHB4fS5tZC10b3AtbWludXMtNDVweHt0b3A6LTQ1cHh9Lm1kLXRvcC1taW51cy01MHB4e3RvcDotNTBweH0ubWQtYm90dG9tLTBweHtib3R0b206MH0ubWQtYm90dG9tLTFweHtib3R0b206MXB4fS5tZC1ib3R0b20tMnB4e2JvdHRvbToycHh9Lm1kLWJvdHRvbS0zcHh7Ym90dG9tOjNweH0ubWQtYm90dG9tLTRweHtib3R0b206NHB4fS5tZC1ib3R0b20tNXB4e2JvdHRvbTo1cHh9Lm1kLWJvdHRvbS02cHh7Ym90dG9tOjZweH0ubWQtYm90dG9tLTdweHtib3R0b206N3B4fS5tZC1ib3R0b20tOHB4e2JvdHRvbTo4cHh9Lm1kLWJvdHRvbS05cHh7Ym90dG9tOjlweH0ubWQtYm90dG9tLTEwcHh7Ym90dG9tOjEwcHh9Lm1kLWJvdHRvbS0xNXB4e2JvdHRvbToxNXB4fS5tZC1ib3R0b20tMjBweHtib3R0b206MjBweH0ubWQtYm90dG9tLTI1cHh7Ym90dG9tOjI1cHh9Lm1kLWJvdHRvbS0zMHB4e2JvdHRvbTozMHB4fS5tZC1ib3R0b20tMzVweHtib3R0b206MzVweH0ubWQtYm90dG9tLTQwcHh7Ym90dG9tOjQwcHh9Lm1kLWJvdHRvbS00NXB4e2JvdHRvbTo0NXB4fS5tZC1ib3R0b20tNTBweHtib3R0b206NTBweH0ubWQtYm90dG9tLTU1cHh7Ym90dG9tOjU1cHh9Lm1kLWJvdHRvbS02MHB4e2JvdHRvbTo2MHB4fS5tZC1ib3R0b20tYXV0b3tib3R0b206YXV0b30ubWQtYm90dG9tLWluaGVyaXR7Ym90dG9tOmluaGVyaXR9Lm1kLWJvdHRvbS1taW51cy0xcHh7Ym90dG9tOi0xcHh9Lm1kLWJvdHRvbS1taW51cy0ycHh7Ym90dG9tOi0ycHh9Lm1kLWJvdHRvbS1taW51cy0zcHh7Ym90dG9tOi0zcHh9Lm1kLWJvdHRvbS1taW51cy00cHh7Ym90dG9tOi00cHh9Lm1kLWJvdHRvbS1taW51cy01cHh7Ym90dG9tOi01cHh9Lm1kLWJvdHRvbS1taW51cy02cHh7Ym90dG9tOi02cHh9Lm1kLWJvdHRvbS1taW51cy03cHh7Ym90dG9tOi03cHh9Lm1kLWJvdHRvbS1taW51cy04cHh7Ym90dG9tOi04cHh9Lm1kLWJvdHRvbS1taW51cy05cHh7Ym90dG9tOi05cHh9Lm1kLWJvdHRvbS1taW51cy0xMHB4e2JvdHRvbTotMTBweH0ubWQtYm90dG9tLW1pbnVzLTE1cHh7Ym90dG9tOi0xNXB4fS5tZC1ib3R0b20tbWludXMtMjBweHtib3R0b206LTIwcHh9Lm1kLWJvdHRvbS1taW51cy0yNXB4e2JvdHRvbTotMjVweH0ubWQtYm90dG9tLW1pbnVzLTMwcHh7Ym90dG9tOi0zMHB4fS5tZC1ib3R0b20tbWludXMtMzVweHtib3R0b206LTM1cHh9Lm1kLWJvdHRvbS1taW51cy00MHB4e2JvdHRvbTotNDBweH0ubWQtYm90dG9tLW1pbnVzLTQ1cHh7Ym90dG9tOi00NXB4fS5tZC1ib3R0b20tbWludXMtNTBweHtib3R0b206LTUwcHh9Lm1kLXJpZ2h0LTBweHtyaWdodDowfS5tZC1yaWdodC0xcHh7cmlnaHQ6MXB4fS5tZC1yaWdodC0ycHh7cmlnaHQ6MnB4fS5tZC1yaWdodC0zcHh7cmlnaHQ6M3B4fS5tZC1yaWdodC00cHh7cmlnaHQ6NHB4fS5tZC1yaWdodC01cHh7cmlnaHQ6NXB4fS5tZC1yaWdodC02cHh7cmlnaHQ6NnB4fS5tZC1yaWdodC03cHh7cmlnaHQ6N3B4fS5tZC1yaWdodC04cHh7cmlnaHQ6OHB4fS5tZC1yaWdodC05cHh7cmlnaHQ6OXB4fS5tZC1yaWdodC0xMHB4e3JpZ2h0OjEwcHh9Lm1kLXJpZ2h0LTE1cHh7cmlnaHQ6MTVweH0ubWQtcmlnaHQtMjBweHtyaWdodDoyMHB4fS5tZC1yaWdodC0yNXB4e3JpZ2h0OjI1cHh9Lm1kLXJpZ2h0LTMwcHh7cmlnaHQ6MzBweH0ubWQtcmlnaHQtMzVweHtyaWdodDozNXB4fS5tZC1yaWdodC00MHB4e3JpZ2h0OjQwcHh9Lm1kLXJpZ2h0LTQ1cHh7cmlnaHQ6NDVweH0ubWQtcmlnaHQtNTBweHtyaWdodDo1MHB4fS5tZC1yaWdodC1hdXRve3JpZ2h0OmF1dG99Lm1kLXJpZ2h0LWluaGVyaXR7cmlnaHQ6aW5oZXJpdH0ubWQtcmlnaHQtbWludXMtMXB4e3JpZ2h0Oi0xcHh9Lm1kLXJpZ2h0LW1pbnVzLTJweHtyaWdodDotMnB4fS5tZC1yaWdodC1taW51cy0zcHh7cmlnaHQ6LTNweH0ubWQtcmlnaHQtbWludXMtNHB4e3JpZ2h0Oi00cHh9Lm1kLXJpZ2h0LW1pbnVzLTVweHtyaWdodDotNXB4fS5tZC1yaWdodC1taW51cy02cHh7cmlnaHQ6LTZweH0ubWQtcmlnaHQtbWludXMtN3B4e3JpZ2h0Oi03cHh9Lm1kLXJpZ2h0LW1pbnVzLThweHtyaWdodDotOHB4fS5tZC1yaWdodC1taW51cy05cHh7cmlnaHQ6LTlweH0ubWQtcmlnaHQtbWludXMtMTBweHtyaWdodDotMTBweH0ubWQtcmlnaHQtbWludXMtMTVweHtyaWdodDotMTVweH0ubWQtcmlnaHQtbWludXMtMjBweHtyaWdodDotMjBweH0ubWQtcmlnaHQtbWludXMtMjVweHtyaWdodDotMjVweH0ubWQtcmlnaHQtbWludXMtMzBweHtyaWdodDotMzBweH0ubWQtcmlnaHQtbWludXMtMzVweHtyaWdodDotMzVweH0ubWQtcmlnaHQtbWludXMtNDBweHtyaWdodDotNDBweH0ubWQtcmlnaHQtbWludXMtNDVweHtyaWdodDotNDVweH0ubWQtcmlnaHQtbWludXMtNTBweHtyaWdodDotNTBweH0ubWQtbGVmdC0wcHh7bGVmdDowfS5tZC1sZWZ0LTFweHtsZWZ0OjFweH0ubWQtbGVmdC0ycHh7bGVmdDoycHh9Lm1kLWxlZnQtM3B4e2xlZnQ6M3B4fS5tZC1sZWZ0LTRweHtsZWZ0OjRweH0ubWQtbGVmdC01cHh7bGVmdDo1cHh9Lm1kLWxlZnQtNnB4e2xlZnQ6NnB4fS5tZC1sZWZ0LTdweHtsZWZ0OjdweH0ubWQtbGVmdC04cHh7bGVmdDo4cHh9Lm1kLWxlZnQtOXB4e2xlZnQ6OXB4fS5tZC1sZWZ0LTEwcHh7bGVmdDoxMHB4fS5tZC1sZWZ0LTE1cHh7bGVmdDoxNXB4fS5tZC1sZWZ0LTIwcHh7bGVmdDoyMHB4fS5tZC1sZWZ0LTI1cHh7bGVmdDoyNXB4fS5tZC1sZWZ0LTMwcHh7bGVmdDozMHB4fS5tZC1sZWZ0LTM1cHh7bGVmdDozNXB4fS5tZC1sZWZ0LTQwcHh7bGVmdDo0MHB4fS5tZC1sZWZ0LTQ1cHh7bGVmdDo0NXB4fS5tZC1sZWZ0LTUwcHh7bGVmdDo1MHB4fS5tZC1sZWZ0LTU1cHh7bGVmdDo1NXB4fS5tZC1sZWZ0LTYwcHh7bGVmdDo2MHB4fS5tZC1sZWZ0LWF1dG97bGVmdDphdXRvfS5tZC1sZWZ0LWluaGVyaXR7bGVmdDppbmhlcml0fS5tZC1sZWZ0LW1pbnVzLTFweHtsZWZ0Oi0xcHh9Lm1kLWxlZnQtbWludXMtMnB4e2xlZnQ6LTJweH0ubWQtbGVmdC1taW51cy0zcHh7bGVmdDotM3B4fS5tZC1sZWZ0LW1pbnVzLTRweHtsZWZ0Oi00cHh9Lm1kLWxlZnQtbWludXMtNXB4e2xlZnQ6LTVweH0ubWQtbGVmdC1taW51cy02cHh7bGVmdDotNnB4fS5tZC1sZWZ0LW1pbnVzLTdweHtsZWZ0Oi03cHh9Lm1kLWxlZnQtbWludXMtOHB4e2xlZnQ6LThweH0ubWQtbGVmdC1taW51cy05cHh7bGVmdDotOXB4fS5tZC1sZWZ0LW1pbnVzLTEwcHh7bGVmdDotMTBweH0ubWQtbGVmdC1taW51cy0xNXB4e2xlZnQ6LTE1cHh9Lm1kLWxlZnQtbWludXMtMjBweHtsZWZ0Oi0yMHB4fS5tZC1sZWZ0LW1pbnVzLTI1cHh7bGVmdDotMjVweH0ubWQtbGVmdC1taW51cy0zMHB4e2xlZnQ6LTMwcHh9Lm1kLWxlZnQtbWludXMtMzVweHtsZWZ0Oi0zNXB4fS5tZC1sZWZ0LW1pbnVzLTQwcHh7bGVmdDotNDBweH0ubWQtbGVmdC1taW51cy00NXB4e2xlZnQ6LTQ1cHh9Lm1kLWxlZnQtbWludXMtNTBweHtsZWZ0Oi01MHB4fS5tZC13LTFweHt3aWR0aDoxcHghaW1wb3J0YW50fS5tZC13LTJweHt3aWR0aDoycHghaW1wb3J0YW50fS5tZC13LTNweHt3aWR0aDozcHghaW1wb3J0YW50fS5tZC13LTRweHt3aWR0aDo0cHghaW1wb3J0YW50fS5tZC13LTVweHt3aWR0aDo1cHghaW1wb3J0YW50fS5tZC13LTZweHt3aWR0aDo2cHghaW1wb3J0YW50fS5tZC13LTdweHt3aWR0aDo3cHghaW1wb3J0YW50fS5tZC13LThweHt3aWR0aDo4cHghaW1wb3J0YW50fS5tZC13LTlweHt3aWR0aDo5cHghaW1wb3J0YW50fS5tZC13LTEwcHh7d2lkdGg6MTBweCFpbXBvcnRhbnR9Lm1kLXctMTVweHt3aWR0aDoxNXB4IWltcG9ydGFudH0ubWQtdy0yMHB4e3dpZHRoOjIwcHghaW1wb3J0YW50fS5tZC13LTI1cHh7d2lkdGg6MjVweCFpbXBvcnRhbnR9Lm1kLXctMzBweHt3aWR0aDozMHB4IWltcG9ydGFudH0ubWQtdy0zNXB4e3dpZHRoOjM1cHghaW1wb3J0YW50fS5tZC13LTQwcHh7d2lkdGg6NDBweCFpbXBvcnRhbnR9Lm1kLXctNTBweHt3aWR0aDo1MHB4IWltcG9ydGFudH0ubWQtdy01NXB4e3dpZHRoOjU1cHghaW1wb3J0YW50fS5tZC13LTYwcHh7d2lkdGg6NjBweCFpbXBvcnRhbnR9Lm1kLXctNjVweHt3aWR0aDo2NXB4IWltcG9ydGFudH0ubWQtdy03MHB4e3dpZHRoOjcwcHghaW1wb3J0YW50fS5tZC13LTc1cHh7d2lkdGg6NzVweCFpbXBvcnRhbnR9Lm1kLXctODBweHt3aWR0aDo4MHB4IWltcG9ydGFudH0ubWQtdy04NXB4e3dpZHRoOjg1cHghaW1wb3J0YW50fS5tZC13LTkwcHh7d2lkdGg6OTBweCFpbXBvcnRhbnR9Lm1kLXctOTVweHt3aWR0aDo5NXB4IWltcG9ydGFudH0ubWQtdy0xMDBweHt3aWR0aDoxMDBweCFpbXBvcnRhbnR9Lm1kLXctMTEwcHh7d2lkdGg6MTEwcHghaW1wb3J0YW50fS5tZC13LTEyMHB4e3dpZHRoOjEyMHB4IWltcG9ydGFudH0ubWQtdy0xMzBweHt3aWR0aDoxMzBweCFpbXBvcnRhbnR9Lm1kLXctMTQwcHh7d2lkdGg6MTQwcHghaW1wb3J0YW50fS5tZC13LTE1MHB4e3dpZHRoOjE1MHB4IWltcG9ydGFudH0ubWQtdy0xNjBweHt3aWR0aDoxNjBweCFpbXBvcnRhbnR9Lm1kLXctMTcwcHh7d2lkdGg6MTcwcHghaW1wb3J0YW50fS5tZC13LTE4MHB4e3dpZHRoOjE4MHB4IWltcG9ydGFudH0ubWQtdy0xOTBweHt3aWR0aDoxOTBweCFpbXBvcnRhbnR9Lm1kLXctMjAwcHh7d2lkdGg6MjAwcHghaW1wb3J0YW50fS5tZC13LTI1MHB4e3dpZHRoOjI1MHB4IWltcG9ydGFudH0ubWQtdy0zMDBweHt3aWR0aDozMDBweCFpbXBvcnRhbnR9Lm1kLXctMzUwcHh7d2lkdGg6MzUwcHghaW1wb3J0YW50fS5tZC13LTQwMHB4e3dpZHRoOjQwMHB4IWltcG9ydGFudH0ubWQtdy00NTBweHt3aWR0aDo0NTBweCFpbXBvcnRhbnR9Lm1kLXctNTAwcHh7d2lkdGg6NTAwcHghaW1wb3J0YW50fS5tZC13LTU1MHB4e3dpZHRoOjU1MHB4IWltcG9ydGFudH0ubWQtdy02MDBweHt3aWR0aDo2MDBweCFpbXBvcnRhbnR9Lm1kLXctNjUwcHh7d2lkdGg6NjUwcHghaW1wb3J0YW50fS5tZC13LTcwMHB4e3dpZHRoOjcwMHB4IWltcG9ydGFudH0ubWQtdy03NTBweHt3aWR0aDo3NTBweCFpbXBvcnRhbnR9Lm1kLXctODAwcHh7d2lkdGg6ODAwcHghaW1wb3J0YW50fS5tZC13LTg1MHB4e3dpZHRoOjg1MHB4IWltcG9ydGFudH0ubWQtdy05MDBweHt3aWR0aDo5MDBweCFpbXBvcnRhbnR9Lm1kLXctOTUwcHh7d2lkdGg6OTUwcHghaW1wb3J0YW50fS5tZC13LTEwMDBweHt3aWR0aDoxMDAwcHghaW1wb3J0YW50fS5tZC13LTEwe3dpZHRoOjEwJSFpbXBvcnRhbnR9Lm1kLXctMTV7d2lkdGg6MTUlIWltcG9ydGFudH0ubWQtdy0yMHt3aWR0aDoyMCUhaW1wb3J0YW50fS5tZC13LTI1e3dpZHRoOjI1JSFpbXBvcnRhbnR9Lm1kLXctMzB7d2lkdGg6MzAlIWltcG9ydGFudH0ubWQtdy0zNXt3aWR0aDozNSUhaW1wb3J0YW50fS5tZC13LTQwe3dpZHRoOjQwJSFpbXBvcnRhbnR9Lm1kLXctNDV7d2lkdGg6NDUlIWltcG9ydGFudH0ubWQtdy01MHt3aWR0aDo1MCUhaW1wb3J0YW50fS5tZC13LTU1e3dpZHRoOjU1JSFpbXBvcnRhbnR9Lm1kLXctNjB7d2lkdGg6NjAlIWltcG9ydGFudH0ubWQtdy02NXt3aWR0aDo2NSUhaW1wb3J0YW50fS5tZC13LTcwe3dpZHRoOjcwJSFpbXBvcnRhbnR9Lm1kLXctNzV7d2lkdGg6NzUlIWltcG9ydGFudH0ubWQtdy04MHt3aWR0aDo4MCUhaW1wb3J0YW50fS5tZC13LTg1e3dpZHRoOjg1JSFpbXBvcnRhbnR9Lm1kLXctOTB7d2lkdGg6OTAlIWltcG9ydGFudH0ubWQtdy05NXt3aWR0aDo5NSUhaW1wb3J0YW50fS5tZC13LTEwMHt3aWR0aDoxMDAlIWltcG9ydGFudH0ubWQtdy1hdXRve3dpZHRoOmF1dG8haW1wb3J0YW50fS5tZC1oLTFweHtoZWlnaHQ6MXB4IWltcG9ydGFudH0ubWQtaC0ycHh7aGVpZ2h0OjJweCFpbXBvcnRhbnR9Lm1kLWgtM3B4e2hlaWdodDozcHghaW1wb3J0YW50fS5tZC1oLTRweHtoZWlnaHQ6NHB4IWltcG9ydGFudH0ubWQtaC01cHh7aGVpZ2h0OjVweCFpbXBvcnRhbnR9Lm1kLWgtNnB4e2hlaWdodDo2cHghaW1wb3J0YW50fS5tZC1oLTdweHtoZWlnaHQ6N3B4IWltcG9ydGFudH0ubWQtaC04cHh7aGVpZ2h0OjhweCFpbXBvcnRhbnR9Lm1kLWgtOXB4e2hlaWdodDo5cHghaW1wb3J0YW50fS5tZC1oLTEwcHh7aGVpZ2h0OjEwcHghaW1wb3J0YW50fS5tZC1oLTIwcHh7aGVpZ2h0OjIwcHghaW1wb3J0YW50fS5tZC1oLTMwcHh7aGVpZ2h0OjMwcHghaW1wb3J0YW50fS5tZC1oLTQwcHh7aGVpZ2h0OjQwcHghaW1wb3J0YW50fS5tZC1oLTQycHh7aGVpZ2h0OjQycHghaW1wb3J0YW50fS5tZC1oLTUwcHh7aGVpZ2h0OjUwcHghaW1wb3J0YW50fS5tZC1oLTYwcHh7aGVpZ2h0OjYwcHghaW1wb3J0YW50fS5tZC1oLTcwcHh7aGVpZ2h0OjcwcHghaW1wb3J0YW50fS5tZC1oLTgwcHh7aGVpZ2h0OjgwcHghaW1wb3J0YW50fS5tZC1oLTkwcHh7aGVpZ2h0OjkwcHghaW1wb3J0YW50fS5tZC1oLTEwMHB4e2hlaWdodDoxMDBweCFpbXBvcnRhbnR9Lm1kLWgtMTEwcHh7aGVpZ2h0OjExMHB4IWltcG9ydGFudH0ubWQtaC0xMjBweHtoZWlnaHQ6MTIwcHghaW1wb3J0YW50fS5tZC1oLTEzMHB4e2hlaWdodDoxMzBweCFpbXBvcnRhbnR9Lm1kLWgtMTQwcHh7aGVpZ2h0OjE0MHB4IWltcG9ydGFudH0ubWQtaC0xNTBweHtoZWlnaHQ6MTUwcHghaW1wb3J0YW50fS5tZC1oLTE2MHB4e2hlaWdodDoxNjBweCFpbXBvcnRhbnR9Lm1kLWgtMTcwcHh7aGVpZ2h0OjE3MHB4IWltcG9ydGFudH0ubWQtaC0xODBweHtoZWlnaHQ6MTgwcHghaW1wb3J0YW50fS5tZC1oLTE5MHB4e2hlaWdodDoxOTBweCFpbXBvcnRhbnR9Lm1kLWgtMjAwcHh7aGVpZ2h0OjIwMHB4IWltcG9ydGFudH0ubWQtaC0yNTBweHtoZWlnaHQ6MjUwcHghaW1wb3J0YW50fS5tZC1oLTMwMHB4e2hlaWdodDozMDBweCFpbXBvcnRhbnR9Lm1kLWgtMzUwcHh7aGVpZ2h0OjM1MHB4IWltcG9ydGFudH0ubWQtaC00MDBweHtoZWlnaHQ6NDAwcHghaW1wb3J0YW50fS5tZC1oLTQ1MHB4e2hlaWdodDo0NTBweCFpbXBvcnRhbnR9Lm1kLWgtNTAwcHh7aGVpZ2h0OjUwMHB4IWltcG9ydGFudH0ubWQtaC01MjBweHtoZWlnaHQ6NTIwcHghaW1wb3J0YW50fS5tZC1oLTU1MHB4e2hlaWdodDo1NTBweCFpbXBvcnRhbnR9Lm1kLWgtNTgwcHh7aGVpZ2h0OjU4MHB4IWltcG9ydGFudH0ubWQtaC02MDBweHtoZWlnaHQ6NjAwcHghaW1wb3J0YW50fS5tZC1oLTY1MHB4e2hlaWdodDo2NTBweCFpbXBvcnRhbnR9Lm1kLWgtNzAwcHh7aGVpZ2h0OjcwMHB4IWltcG9ydGFudH0ubWQtaC03MjBweHtoZWlnaHQ6NzIwcHghaW1wb3J0YW50fS5tZC1oLTc1MHB4e2hlaWdodDo3NTBweCFpbXBvcnRhbnR9Lm1kLWgtODAwcHh7aGVpZ2h0OjgwMHB4IWltcG9ydGFudH0ubWQtaC04MjBweHtoZWlnaHQ6ODIwcHghaW1wb3J0YW50fS5tZC1oLTgzMHB4e2hlaWdodDo4MzBweCFpbXBvcnRhbnR9Lm1kLWgtODUwcHh7aGVpZ2h0Ojg1MHB4IWltcG9ydGFudH0ubWQtaC01MHtoZWlnaHQ6NTAlfS5tZC1oLTEwMHtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9Lm1kLWgtYXV0b3toZWlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1kLW1pbi1oLTEwMHB4e21pbi1oZWlnaHQ6MTAwcHh9Lm1kLW1pbi1oLTIwMHB4e21pbi1oZWlnaHQ6MjAwcHh9Lm1kLW1pbi1oLTMwMHB4e21pbi1oZWlnaHQ6MzAwcHh9Lm1kLW1pbi1oLTQwMHB4e21pbi1oZWlnaHQ6NDAwcHh9Lm1kLW1pbi1oLTUwMHB4e21pbi1oZWlnaHQ6NTAwcHh9Lm1kLW1pbi1oLTYwMHB4e21pbi1oZWlnaHQ6NjAwcHh9Lm1kLW1pbi1oLTcwMHB4e21pbi1oZWlnaHQ6NzAwcHh9Lm9uZS10aGlyZC1zY3JlZW57aGVpZ2h0OjU1MHB4fS5vbmUtZm91cnRoLXNjcmVlbntoZWlnaHQ6NjUwcHh9Lm9uZS1maWZ0aC1zY3JlZW57aGVpZ2h0Ojc1MHB4fS50ZXh0LWV4dHJhLWJpZ3tmb250LXNpemU6MTMwcHg7bGluZS1oZWlnaHQ6MTMwcHh9Lm1kLWxldHRlci1zcGFjaW5nLW5vcm1hbHtsZXR0ZXItc3BhY2luZzpub3JtYWx9Lm1kLWxldHRlci1zcGFjaW5nLTEtaGFsZntsZXR0ZXItc3BhY2luZzouNXB4fS5tZC1sZXR0ZXItc3BhY2luZy0xcHh7bGV0dGVyLXNwYWNpbmc6MXB4fS5tZC1sZXR0ZXItc3BhY2luZy0ycHh7bGV0dGVyLXNwYWNpbmc6MnB4fS5tZC1sZXR0ZXItc3BhY2luZy0zcHh7bGV0dGVyLXNwYWNpbmc6M3B4fS5tZC1sZXR0ZXItc3BhY2luZy00cHh7bGV0dGVyLXNwYWNpbmc6NHB4fS5tZC1sZXR0ZXItc3BhY2luZy01cHh7bGV0dGVyLXNwYWNpbmc6NXB4fS5saXN0LXN0eWxlLTA4IGxpOmxhc3QtY2hpbGR7cGFkZGluZy1ib3R0b206MjJweH0uYWNjb3JkaW9uLXN0eWxlLTA0IC5wYW5lbCAucGFuZWwtYm9keXt3aWR0aDo1MCV9LnRpbWUtdGFibGUgLnBhbmVse3BhZGRpbmc6MjBweH0udGltZS10YWJsZSAucGFuZWwgLnBhbmVsLXRpbWV7bWluLXdpZHRoOjE1MHB4fS50aW1lLXRhYmxlIC5wYW5lbCAucGFuZWwtYm9keXt3aWR0aDpjYWxjKDEwMCUgLSAzMzBweCl9Lm5hdi10YWJzPmxpe3BhZGRpbmc6MCAxNXB4fS5uYXYtdGFicz5saS5uYXYtaXRlbXttYXJnaW46MDtwYWRkaW5nOjAgOHB4fS50YWItc3R5bGUtMDUgLm5hdi10YWJzIGxpe3BhZGRpbmc6MH0udGFiLXN0eWxlLTA1IC5uYXYtdGFicyBsaSBhe3BhZGRpbmc6OHB4IDIycHh9LnRhYi1zdHlsZS0wNiAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGlua3twYWRkaW5nOjAgMjBweCAyMnB4fS50YWItc3R5bGUtMDcgLm5hdi10YWJzey1tcy1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9LnRhYi1zdHlsZS0wNyAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGlua3twYWRkaW5nOjIwcHggMzBweCAxOHB4IDMwcHg7bGluZS1oZWlnaHQ6MjZweH0udGVzdGltb25pYWxzLWNhcm91c2VsLXN0eWxlLTAxe21pbi13aWR0aDoxMDAlfS50ZXN0aW1vbmlhbHMtY2Fyb3VzZWwtc3R5bGUtMDJ7bWluLXdpZHRoOjEwMCV9LnByb2Nlc3Mtc3RlcC1zdHlsZS0wNCAucHJvY2Vzcy1zdGVwLWl0ZW17cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5tZC1uby1ib3JkZXItdG9we2JvcmRlci10b3A6MCFpbXBvcnRhbnR9Lm1kLW5vLWJvcmRlci1ib3R0b217Ym9yZGVyLWJvdHRvbTowIWltcG9ydGFudH0ubWQtbm8tYm9yZGVyLXJpZ2h0e2JvcmRlci1yaWdodDowIWltcG9ydGFudH0ubWQtbm8tYm9yZGVyLWxlZnR7Ym9yZGVyLWxlZnQ6MCFpbXBvcnRhbnR9Lm1kLW5vLWJvcmRlci1hbGx7Ym9yZGVyOjAhaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtMXB4e2JvcmRlci13aWR0aDoxcHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtMnB4e2JvcmRlci13aWR0aDoycHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtM3B4e2JvcmRlci13aWR0aDozcHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtNHB4e2JvcmRlci13aWR0aDo0cHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtNXB4e2JvcmRlci13aWR0aDo1cHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtNnB4e2JvcmRlci13aWR0aDo2cHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtN3B4e2JvcmRlci13aWR0aDo3cHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtOHB4e2JvcmRlci13aWR0aDo4cHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtOXB4e2JvcmRlci13aWR0aDo5cHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtMTBweHtib3JkZXItd2lkdGg6MTBweCFpbXBvcnRhbnR9Lm1kLWJvcmRlci13aWR0aC0xMXB4e2JvcmRlci13aWR0aDoxMXB4IWltcG9ydGFudH0ubWQtYm9yZGVyLXdpZHRoLTEycHh7Ym9yZGVyLXdpZHRoOjEycHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtMTNweHtib3JkZXItd2lkdGg6MTNweCFpbXBvcnRhbnR9Lm1kLWJvcmRlci13aWR0aC0xNHB4e2JvcmRlci13aWR0aDoxNHB4IWltcG9ydGFudH0ubWQtYm9yZGVyLXdpZHRoLTE1cHh7Ym9yZGVyLXdpZHRoOjE1cHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtMTZweHtib3JkZXItd2lkdGg6MTZweCFpbXBvcnRhbnR9Lm1kLWJvcmRlci13aWR0aC0xN3B4e2JvcmRlci13aWR0aDoxN3B4IWltcG9ydGFudH0ubWQtYm9yZGVyLXdpZHRoLTE4cHh7Ym9yZGVyLXdpZHRoOjE4cHghaW1wb3J0YW50fS5tZC1ib3JkZXItd2lkdGgtMTlweHtib3JkZXItd2lkdGg6MTlweCFpbXBvcnRhbnR9Lm1kLWJvcmRlci13aWR0aC0yMHB4e2JvcmRlci13aWR0aDoyMHB4IWltcG9ydGFudH0ubWQtYm9yZGVyLWFsbHtib3JkZXI6MXB4IHNvbGlkfS5tZC1ib3JkZXItdG9we2JvcmRlci10b3A6MXB4IHNvbGlkfS5tZC1ib3JkZXItYm90dG9te2JvcmRlci1ib3R0b206MXB4IHNvbGlkfS5tZC1ib3JkZXItbGVmdHtib3JkZXItbGVmdDoxcHggc29saWR9Lm1kLWJvcmRlci1yaWdodHtib3JkZXItcmlnaHQ6MXB4IHNvbGlkfS5tZC1ib3JkZXItbHJ7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkO2JvcmRlci1yaWdodDoxcHggc29saWR9Lm1kLWJvcmRlci10Yntib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItYm90dG9tOjFweCBzb2xpZH0ubWQtYm9yZGVyLWNvbG9yLXdoaXRle2JvcmRlci1jb2xvcjojZmZmfS5tZC1ib3JkZXItY29sb3ItYmxhY2t7Ym9yZGVyLWNvbG9yOiMwMDB9Lm1kLWJvcmRlci1jb2xvci1za3ktYmx1ZXtib3JkZXItY29sb3I6IzJlOTRlYn0ubWQtYm9yZGVyLWNvbG9yLWV4dHJhLWRhcmstZ3JheXtib3JkZXItY29sb3I6IzIzMjMyM30ubWQtYm9yZGVyLWNvbG9yLW1lZGl1bS1kYXJrLWdyYXl7Ym9yZGVyLWNvbG9yOiMzNjM2MzZ9Lm1kLWJvcmRlci1jb2xvci1kYXJrLWdyYXl7Ym9yZGVyLWNvbG9yOiM5MzkzOTN9Lm1kLWJvcmRlci1jb2xvci1leHRyYS1tZWRpdW0tZ3JheXtib3JkZXItY29sb3I6I2RiZGJkYn0ubWQtYm9yZGVyLWNvbG9yLW1lZGl1bS1ncmF5e2JvcmRlci1jb2xvcjojZTRlNGU0fS5tZC1ib3JkZXItY29sb3ItZXh0cmEtbGlnaHQtZ3JheXtib3JkZXItY29sb3I6I2VkZWRlZH0ubWQtYm9yZGVyLWNvbG9yLWxpZ2h0LWdyYXl7Ym9yZGVyLWNvbG9yOiNmNWY1ZjV9Lm1kLWJvcmRlci1jb2xvci1saWdodC1waW5re2JvcmRlci1jb2xvcjojODYyMjM3fS5tZC1ib3JkZXItY29sb3ItZGVlcC1waW5re2JvcmRlci1jb2xvcjojZmYyMTRmfS5tZC1ib3JkZXItY29sb3ItcGlua3tib3JkZXItY29sb3I6I2ZmMzU3Y30ubWQtYm9yZGVyLWNvbG9yLWZhc3QtYmx1ZXtib3JkZXItY29sb3I6IzAwMzhlM30ubWQtYm9yZGVyLWNvbG9yLW9yYW5nZXtib3JkZXItY29sb3I6I2ZmNjQzN30ubWQtYm9yZGVyLWNvbG9yLWdyZWVue2JvcmRlci1jb2xvcjojNDVkNjkwfS5tZC1ib3JkZXItY29sb3ItZ29sZGVue2JvcmRlci1jb2xvcjojZDBiYTZkfS5tZC1ib3JkZXItY29sb3ItcGVyc2lhbi1ibHVle2JvcmRlci1jb2xvcjojMDAzOWNjfS5tZC1ib3JkZXItY29sb3ItcHVycGxle2JvcmRlci1jb2xvcjojNzM0MmFjfS5tZC1ib3JkZXItY29sb3ItcGFycm90LWdyZWVue2JvcmRlci1jb2xvcjojY2VlMDAyfS5tZC1ib3JkZXItY29sb3ItZGFyay1yZWR7Ym9yZGVyLWNvbG9yOiNlMTI4Mzd9Lm1kLWJvcmRlci1jb2xvci10cmFuc3BhcmVudHtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9Lm1kLWJvcmRlci1jb2xvci1ibGFjay10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMSl9Lm1kLWJvcmRlci1jb2xvci13aGl0ZS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1kLWJvcmRlci1jb2xvci1nb2xkZW4tdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnJnYmEoMjA4LDE4NiwxMDksLjIpfS5tZC1ib3JkZXItY29sb3ItcGluay10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMzMsNzksLjQ1KX0ubWQtYm9yZGVyLWNvbG9yLWRhcmstd2hpdGUtdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS5tZC1ib3JkZXItY29sb3ItbWVkaXVtLXdoaXRlLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ubWQtYm9yZGVyLWNvbG9yLWZ1bGwtZGFyay13aGl0ZS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMDUpfS5tZC1ib3JkZXItY29sb3ItbGlnaHQtd2hpdGUtdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tZC1ib3JkZXItY29sb3ItbmVyby10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNSwyNSwyNSwuMSl9Lm1kLWJvcmRlci1jb2xvci1leHRyYS1tZWRpdW0tZ3JheS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyMTksMjE5LDIxOSwuMDQpfS5tZC1ib3JkZXItZG90dGVke2JvcmRlci1zdHlsZTpkb3R0ZWQhaW1wb3J0YW50fS5tZC1ib3JkZXItZGFzaGVke2JvcmRlci1zdHlsZTpkYXNoZWQhaW1wb3J0YW50fS5tZC1ib3JkZXItc29saWR7Ym9yZGVyLXN0eWxlOnNvbGlkIWltcG9ydGFudH0ubWQtYm9yZGVyLWRvdWJsZXtib3JkZXItc3R5bGU6ZG91YmxlIWltcG9ydGFudH0ubWQtYm9yZGVyLWdyb292ZXtib3JkZXItc3R5bGU6Z3Jvb3ZlIWltcG9ydGFudH0ubWQtYm9yZGVyLXJpZGdle2JvcmRlci1zdHlsZTpyaWRnZSFpbXBvcnRhbnR9Lm1kLWJvcmRlci1pbnNldHtib3JkZXItc3R5bGU6aW5zZXQhaW1wb3J0YW50fS5tZC1ib3JkZXItb3V0c2V0e2JvcmRlci1zdHlsZTpvdXRzZXQhaW1wb3J0YW50fS5tZC1ib3JkZXItbm9uZXtib3JkZXItc3R5bGU6bm9uZSFpbXBvcnRhbnR9Lm1kLWJvcmRlci1oaWRkZW57Ym9yZGVyLXN0eWxlOmhpZGRlbiFpbXBvcnRhbnR9Lm1kLWJvcmRlci10cmFuc3BlcmVudHtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQhaW1wb3J0YW50fS5zaW5nbGUtcHJvZHVjdC10aHVtYiAuc2xpZGVyLXZlcnRpY2Fse3Bvc2l0aW9uOnJlbGF0aXZlfS5zaW5nbGUtcHJvZHVjdC10aHVtYiAuc2xpZGVyLXZlcnRpY2FsIC5zd2lwZXItd3JhcHBlcntmbGV4LWRpcmVjdGlvbjpyb3d9LnNpbmdsZS1wcm9kdWN0LXRodW1iIC5zbGlkZXItdmVydGljYWwgLnN3aXBlci1zbGlkZXt3aWR0aDoyNSU7bWFyZ2luLXJpZ2h0OjEwcHh9LnN3aXBlci10aHVtYi1uZXh0LXByZXZ7dG9wOjUwJTtib3R0b206aW5oZXJpdDt6LWluZGV4OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0uc3dpcGVyLXRodW1iLW5leHQtcHJldiAuc3dpcGVyLXRodW1iLW5leHQsLnN3aXBlci10aHVtYi1uZXh0LXByZXYgLnN3aXBlci10aHVtYi1wcmV2e3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweDtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtOTBkZWcpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC05MGRlZyk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtOTBkZWcpfS5zd2lwZXItdGh1bWItbmV4dC1wcmV2IC5zd2lwZXItdGh1bWItcHJldntsZWZ0OjE1cHh9LnN3aXBlci10aHVtYi1uZXh0LXByZXYgLnN3aXBlci10aHVtYi1uZXh0e3JpZ2h0OjE1cHg7bGVmdDphdXRvfS5zbGlkZXItdmVydGljYWwgLnZoLTEwMHtoZWlnaHQ6Y2FsYygxMDB2aCAtIDcwcHgpIWltcG9ydGFudH0uc2xpZGVyLXZlcnRpY2FsIC5zd2lwZXItbnVtYmVyLXBhZ2luYXRpb257bGVmdDo2OHB4O2JvdHRvbTo1MHB4O2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjIycHh9LnNsaWRlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c3t0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LnNsaWRlci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cz4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e21hcmdpbjo4cHggMH0uaG9tZS1zcGxpdC1wb3J0Zm9saW97aGVpZ2h0OmF1dG8haW1wb3J0YW50fS5ob21lLXNwbGl0LXBvcnRmb2xpbyAuc3dpcGVyLXNsaWRley1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDtoZWlnaHQ6YXV0b30uaG9tZS1zcGxpdC1wb3J0Zm9saW8gLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLWwsLmhvbWUtc3BsaXQtcG9ydGZvbGlvIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZS1ye29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtZmxleDowOy1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7aGVpZ2h0OmNhbGMoMTAwdmggLSA3MHB4KSFpbXBvcnRhbnR9LmhvbWUtc3BsaXQtcG9ydGZvbGlvIC5zd2lwZXItd3JhcHBlcnstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7b3ZlcmZsb3c6YXV0b30uaG9yaXpvbnRhbC1wb3J0Zm9saW8tc2xpZGVyLW1haW57LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9Lmhvcml6b250YWwtcG9ydGZvbGlvLXNsaWRlci1tYWluIC5ob3Jpem9udGFsLXBvcnRmb2xpby1zbGlkZXIgLnN3aXBlci13cmFwcGVyey1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDtvdmVyZmxvdzphdXRvO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCkhaW1wb3J0YW50fS5ncmlkLm1kLWdyaWQtNmNvbCBsaXt3aWR0aDoxNi42NyV9LmdyaWQubWQtZ3JpZC02Y29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6MzMuMzMlfS5ncmlkLm1kLWdyaWQtNWNvbCBsaXt3aWR0aDoyMCV9LmdyaWQubWQtZ3JpZC01Y29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6NDAlfS5ncmlkLm1kLWdyaWQtNGNvbCBsaXt3aWR0aDoyNSV9LmdyaWQubWQtZ3JpZC00Y29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6NTAlfS5ncmlkLm1kLWdyaWQtM2NvbCBsaXt3aWR0aDozMy4zMyV9LmdyaWQubWQtZ3JpZC0zY29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6NjYuNjclfS5ncmlkLm1kLWdyaWQtMmNvbCBsaXt3aWR0aDo1MCV9LmdyaWQubWQtZ3JpZC0yY29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6MTAwJX0uZ3JpZC5tZC1ncmlkLTFjb2wgbGl7d2lkdGg6MTAwJX0udGVhbS1zdHlsZS0wMiAuc29jaWFsLWljb24gYXttYXJnaW46MCA4cHh9LmJsb2ctc2lkZS1pbWFnZSAuc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0uYmxvZy1tb2Rlcm4gLmJsb2ctcG9zdC1pbWFnZXttYXJnaW4tYm90dG9tOjEyMHB4fS5ibG9nLW1vZGVybiAucG9zdC1kZXRhaWxze2xlZnQ6MzBweDt3aWR0aDpjYWxjKDEwMCUgLSA2MHB4KX0ub3V0c2lkZS1ib3gtbGVmdHttYXJnaW4tbGVmdDowfS5vdXRzaWRlLWJveC1yaWdodHttYXJnaW4tcmlnaHQ6MH0ub3V0c2lkZS1ib3gtYm90dG9te21hcmdpbi1ib3R0b206MH1mb290ZXIgLmZvb3Rlci1ob3Jpem9udGFsLWxpbmsgbGl7bWFyZ2luLXJpZ2h0OjIwcHh9Lm1mcC1jb250YWluZXJ7cGFkZGluZy1sZWZ0OjE1cHg7cGFkZGluZy1yaWdodDoxNXB4fS5tZnAtY2xvc2UsLm1mcC1jbG9zZTphY3RpdmUsLm1mcC1pZnJhbWUtaG9sZGVyIGJ1dHRvbi5tZnAtY2xvc2UsLm1mcC1pbWFnZS1ob2xkZXIgYnV0dG9uLm1mcC1jbG9zZSxidXR0b24ubWZwLWNsb3Nle3RvcDoxNXB4O3JpZ2h0OjE1cHh9LmNhcnQtcHJvZHVjdHMgdGhlYWR7ZGlzcGxheTpub25lfS5jYXJ0LXByb2R1Y3RzIHRye2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlOGU4ZTg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztwYWRkaW5nLWxlZnQ6OTVweDtwYWRkaW5nLWJvdHRvbToyMHB4O2JhY2tncm91bmQ6MCAwO21hcmdpbi1ib3R0b206MjBweDtvdmVyZmxvdzpoaWRkZW59LmNhcnQtcHJvZHVjdHMgdGR7ZGlzcGxheTpibG9jaztib3JkZXI6bm9uZTt0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbi1ib3R0b206MTBweDtwYWRkaW5nOjB9LmNhcnQtcHJvZHVjdHMgdGQ6bGFzdC1jaGlsZHttYXJnaW46MH0uY2FydC1wcm9kdWN0cyB0ZDpiZWZvcmV7Y29udGVudDphdHRyKGRhdGEtdGl0bGUpO2ZvbnQtd2VpZ2h0OjUwMDtmbG9hdDpsZWZ0O2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzIzMjMyMztmb250LWZhbWlseTpQb3BwaW5zLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHh9LmNhcnQtcHJvZHVjdHMgLnByb2R1Y3QtcmVtb3Zle3dpZHRoOmF1dG87cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDttYXJnaW46MDtwYWRkaW5nOjA7dGV4dC1hbGlnbjpyaWdodDt0b3A6MDt6LWluZGV4OjExO2JvcmRlcjpub25lfS5jYXJ0LXByb2R1Y3RzIC5wcm9kdWN0LXRodW1ibmFpbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6ODBweDtkaXNwbGF5OmlubGluZS1ibG9jazt0b3A6MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpsZWZ0fS5jYXJ0LXByb2R1Y3RzIC5wcm9kdWN0LW5hbWV7dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmctcmlnaHQ6MjVweH0uY2FydC1wcm9kdWN0cyAucHJvZHVjdC1uYW1lIC52YXJpYXRpb257ZmxvYXQ6bm9uZTtkaXNwbGF5OmJsb2NrfS50b3RhbC1wcmljZS10YWJsZSB0ZHt0ZXh0LWFsaWduOnJpZ2h0fS5jaGVja291dC10b3RhbC1wcmljZS10YWJsZSB0ZHt0ZXh0LWFsaWduOmxlZnR9LmJhbm5lci1ib3R0b20tcmlnaHQtaW1hZ2VzPmltZ3tib3R0b206MH0uaG9tZS15b2dhLW1lZGl0YXRpb24gLm91dHNpZGUtYm94LXJpZ2h0IC5hYnNvbHV0ZS1taWRkbGUtY2VudGVye2xlZnQ6NTAlfS5ob21lLWNvbnN1bHRpbmcgLnBvcHVwLXlvdXR1YmUuYWJzb2x1dGUtbWlkZGxlLWNlbnRlcntsZWZ0OjUwJX0uaG9tZS1kaWdpdGFsLWFnZW5jeSAub3V0c2lkZS1ib3gtdGV4dC1yaWdodCAudGV4dC1leHRyYS1iaWctMntmb250LXNpemU6MTUwcHh9LmhvbWUtZGVzaWduLWFnZW5jeSAub3V0c2lkZS1ib3gtbGVmdHttYXJnaW4tbGVmdDowfS5ob21lLWludGVyYWN0aXZlLXBvcnRmb2xpbyAuZnVsbHNjcmVlbi1ob3Zlci1ib3ggLmludGVyYWN0aXZlLXRpdGxle2ZvbnQtc2l6ZTo1NXB4O2xpbmUtaGVpZ2h0OjYwcHh9LmhvbWUtdmVydGljYWwtcG9ydGZvbGlvIC5uYXZiYXJ7cGFkZGluZzowIDMuNXJlbX0uaG9tZS1mcmVlbGFuY2VyIC50aXRsZS1leHRyYS1sYXJnZS1oZWF2eXtsaW5lLWhlaWdodDo5MHB4fS5ob21lLWZhc2hpb24tc2hvcCAudHAtdGFic3tsZWZ0OjUwJSFpbXBvcnRhbnQ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSFpbXBvcnRhbnQ7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIWltcG9ydGFudDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSFpbXBvcnRhbnQ7dG9wOmF1dG8haW1wb3J0YW50O2JvdHRvbTo1JSFpbXBvcnRhbnR9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA0LnN3aXBlci1idXR0b24tcHJldntsZWZ0Oi02MHB4fS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wNC5zd2lwZXItYnV0dG9uLW5leHR7cmlnaHQ6LTYwcHh9LmNvbnRlbnQtYm94LWltYWdle2hlaWdodDozMDBweH0uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0gLmludGVyYWN0aXZlLWljb257dG9wOjRweH0uaG9tZS1zcGxpdC1wb3J0Zm9saW8udmgtMTAwe2hlaWdodDpjYWxjKDEwMHZoIC0gNzBweCkhaW1wb3J0YW50fS5ob21lLXNwbGl0LXBvcnRmb2xpbyAudGl0bGUtbGFyZ2V7Zm9udC1zaXplOjkwcHg7bGluZS1oZWlnaHQ6OTBweH0uc2hvdy1ub3RpZnktcG9wdXAgLm1mcC1jb250YWluZXJ7cGFkZGluZy10b3A6MzBweH0ubGl0aG8tbGFuZGluZy1oZWFkZXIgLm5hdmJhci1icmFuZDphZnRlcntkaXNwbGF5Om5vbmV9LmxpdGhvLXBhcmFsbGF4LWJne3dpZHRoOjYwJTtyaWdodDotOTBweH0uY3VzdG9tZXItYmctc2VjdGlvbntkaXNwbGF5Om5vbmV9LmxhbmRpbmctcGFnZS1mb290ZXIgLnRpdGxlLWxhcmdlLTJ7Zm9udC1zaXplOjU0cHg7bGluZS1oZWlnaHQ6NjRweH0ubGFuZGluZy1wYWdlLWF1dG8tc2xpZGVyIC5zd2lwZXItY29udGFpbmVyLnN3aXBlci1hdXRvLXNsaWRlIC5zd2lwZXItc2xpZGV7d2lkdGg6NjAlIWltcG9ydGFudH0ubWQtbm8tdGV4dC1zaGFkb3d7dGV4dC1zaGFkb3c6bm9uZX0uZ2Rwci1jb250YWluZXIgLmdkcHItY29udGVudHtkaXNwbGF5OmJsb2NrO21hcmdpbi1yaWdodDowO21hcmdpbi1ib3R0b206MTVweH0uaG9tZS1kZW50aXN0IC5wb3B1cC15b3V0dWJlLmFic29sdXRlLW1pZGRsZS1jZW50ZXJ7bGVmdDo1MCV9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5OTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ob21lLWRlY29yIC56ZXVze3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIWltcG9ydGFudDt0b3A6OTAlIWltcG9ydGFudH0uaG9tZS1zcGEtc2Fsb24gLmltZyBpbWd7d2lkdGg6MjIwcHghaW1wb3J0YW50fS5ob21lLXNwYS1zYWxvbiAucmV2X3NsaWRlcl93cmFwcGVye2hlaWdodDo0NTBweCFpbXBvcnRhbnR9LmNvbWluZy1zb29uIC5yZXZfc2xpZGVyX3dyYXBwZXIsLmNvbWluZy1zb29uIC50cC1mdWxsd2lkdGgtZm9yY2Vye2hlaWdodDo0NTBweCFpbXBvcnRhbnR9LmNvbWluZy1zb29uIC5sb2dvIGltZ3t3aWR0aDoxMDBweCFpbXBvcnRhbnR9LmNvbWluZy1zb29uIC5jb21pbmctc29vbi10ZXh0e2ZvbnQtc2l6ZToxMnB4IWltcG9ydGFudDtsaW5lLWhlaWdodDoxNHB4IWltcG9ydGFudDttaW4td2lkdGg6MzAwcHghaW1wb3J0YW50fS5jb21pbmctc29vbiAuY29taW5nLXNvb24taWNvbiBpe2ZvbnQtc2l6ZToxMXB4IWltcG9ydGFudH0uaG9tZS1hcmNoaXRlY3R1cmUgLnJldl9zbGlkZXJfd3JhcHBlcnttaW4taGVpZ2h0OjQwMHB4IWltcG9ydGFudH0uYXJjaGl0ZWN0dXJlLW92ZXJsYXB7cG9zaXRpb246cmVsYXRpdmUhaW1wb3J0YW50fS5ob21lLWFyY2hpdGVjdHVyZSAudHBhcnJvd3MudHAtcmlnaHRhcnJvd3t0cmFuc2Zvcm06bWF0cml4KDEsMCwwLDEsLTY3LC02NykhaW1wb3J0YW50fS5ob21lLWFyY2hpdGVjdHVyZSAudHBhcnJvd3MudHAtbGVmdGFycm93e3RyYW5zZm9ybTptYXRyaXgoMSwwLDAsMSwtNjcsLTEzNCkhaW1wb3J0YW50fS5ob21lLWFyY2hpdGVjdHVyZSAuYXJjaGl0ZWN0dXJlLXRpdGxle2ZvbnQtc2l6ZTozNHB4IWltcG9ydGFudDtsaW5lLWhlaWdodDozNHB4IWltcG9ydGFudH0uaG9tZS1zdGFydHVwIC5yZXZfc2xpZGVyX3dyYXBwZXJ7bWluLWhlaWdodDo0NTBweH0uaG9tZS15b2dhLW1lZGl0YXRpb24gLnJldl9zbGlkZXJfd3JhcHBlcntoZWlnaHQ6MzUwcHghaW1wb3J0YW50fS5ob21lLXlvZ2EtbWVkaXRhdGlvbiAueW9nYS1sZWF2ZXMsLmhvbWUteW9nYS1tZWRpdGF0aW9uIC55b2dhLXdvbWFue2JvdHRvbTotMTQwcHh9LmhvbWUteW9nYS1tZWRpdGF0aW9uIC55b2dhLXdvbWFuIGltZ3toZWlnaHQ6Mjc1cHghaW1wb3J0YW50O3dpZHRoOmF1dG8haW1wb3J0YW50fS5ob21lLXlvZ2EtbWVkaXRhdGlvbiAueW9nYS1tYWluLXRleHR7Zm9udC1zaXplOjYwcHghaW1wb3J0YW50O3RvcDoyNXB4IWltcG9ydGFudH0uaG9tZS15b2dhLW1lZGl0YXRpb24gLnlvZ2Etc21hbGwtdGV4dHtmb250LXNpemU6MTVweCFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MjBweCFpbXBvcnRhbnR9LmhvbWUteW9nYS1tZWRpdGF0aW9uIC55b2dhLXRvcC1saW5le3RyYW5zZm9ybTptYXRyaXgoMSwwLDAsMSwwLDE5KSFpbXBvcnRhbnQ7bWluLXdpZHRoOjQyMHB4IWltcG9ydGFudH0uaG9tZS15b2dhLW1lZGl0YXRpb24gLnlvZ2EtYm90dG9tLWxpbmV7dHJhbnNmb3JtOm1hdHJpeCgxLDAsMCwxLDAsMzYpIWltcG9ydGFudDttaW4td2lkdGg6NDAwcHghaW1wb3J0YW50fS5ob21lLWZ1cm5pdHVyZS1zaG9wLC5ob21lLWZ1cm5pdHVyZS1zaG9wIC5yZXZfc2xpZGVyX3dyYXBwZXJ7aGVpZ2h0OjM1MHB4IWltcG9ydGFudH0uaG9tZS12ZXJ0aWNhbC1wb3J0Zm9saW8gLnNsaWRlci12ZXJ0aWNhbHtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9Lm1haW50ZW5hbmNlIC5tYWludGVuYW5jZS10aXRsZXtmb250LXNpemU6MjhweCFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MzBweCFpbXBvcnRhbnQ7cGFkZGluZy10b3A6MjBweCFpbXBvcnRhbnR9Lm1kLWxhbmRzY2FwZS1oLTMwMHB4e2hlaWdodDozMDBweCFpbXBvcnRhbnR9Lm1kLWxhbmRzY2FwZS1oLTM1MHB4e2hlaWdodDozNTBweCFpbXBvcnRhbnR9Lm1kLWxhbmRzY2FwZS1oLTQwMHB4e2hlaWdodDo0MDBweCFpbXBvcnRhbnR9Lm1kLWxhbmRzY2FwZS1oLTQ1MHB4e2hlaWdodDo0NTBweCFpbXBvcnRhbnR9Lm1kLWxhbmRzY2FwZS1oLTUwMHB4e2hlaWdodDo1MDBweCFpbXBvcnRhbnR9Lm1kLWxhbmRzY2FwZS1oLTUyMHB4e2hlaWdodDo1MjBweCFpbXBvcnRhbnR9Lm1kLWxhbmRzY2FwZS1oLTU1MHB4e2hlaWdodDo1NTBweCFpbXBvcnRhbnR9Lm1kLWxhbmRzY2FwZS1oLTU4MHB4e2hlaWdodDo1ODBweCFpbXBvcnRhbnR9Lm1kLWxhbmRzY2FwZS1oLTYwMHB4e2hlaWdodDo2MDBweCFpbXBvcnRhbnR9Lm1kLWxhbmRzY2FwZS1oLTY1MHB4e2hlaWdodDo2NTBweCFpbXBvcnRhbnR9Lm1kLWxhbmRzY2FwZS1oLTcwMHB4e2hlaWdodDo3MDBweCFpbXBvcnRhbnR9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5OTFweCkgYW5kIChtaW4td2lkdGg6NzY3cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuaG9tZS1ob3RlbC1yZXNvcnQgLnJldl9zbGlkZXJfd3JhcHBlcnttaW4taGVpZ2h0OjQ1MHB4IWltcG9ydGFudH0uaG9tZS1zdGFydHVwIC5yZXZfc2xpZGVyX3dyYXBwZXJ7bWluLWhlaWdodDo0NTBweH19QG1lZGlhIChtYXgtd2lkdGg6Nzc4cHgpey5ob21lLWRlY29yIC5yZXZfc2xpZGVyX3dyYXBwZXJ7aGVpZ2h0OjU0MHB4fS5ob21lLWRlY29yIC56ZXVze3RyYW5zZm9ybTptYXRyaXgoMSwwLDAsMSwtMzUwLC01OSkhaW1wb3J0YW50fS5ob21lLWFyY2hpdGVjdHVyZSAudHBhcnJvd3MudHAtbGVmdGFycm93e3RyYW5zZm9ybTptYXRyaXgoMSwwLDAsMSwtNjcsLTIzNCkhaW1wb3J0YW50fS5ob21lLWFyY2hpdGVjdHVyZSAudHBhcnJvd3MudHAtcmlnaHRhcnJvd3t0cmFuc2Zvcm06bWF0cml4KDEsMCwwLDEsLTY3LC0zMDEpIWltcG9ydGFudH19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpe2h0bWx7Zm9udC1zaXplOjExcHh9LnhzLWNlbnRlci1jb2x7ZmxvYXQ6bm9uZTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfXNlY3Rpb24sc2VjdGlvbi5leHRyYS1iaWctc2VjdGlvbntwYWRkaW5nOjUwcHggMH1zZWN0aW9uLmJpZy1zZWN0aW9ue3BhZGRpbmc6ODBweCAwfS5jZW50ZXItY29sLXN0eWxlIC5jdXN0b20tY29se2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjhweCAwfS5zbS1sYXN0LW9yZGVye29yZGVyOjEwfXB7bWFyZ2luOjAgMCAxNXB4fS50aXRsZS1leHRyYS1zbWFsbHtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDozMHB4fS50aXRsZS1sYXJnZXtmb250LXNpemU6NDVweDtsaW5lLWhlaWdodDo0M3B4fS50aXRsZS1leHRyYS1sYXJnZXtmb250LXNpemU6NTBweDtsaW5lLWhlaWdodDo1MHB4fS50ZXh0LWV4dHJhLWJpZ3tmb250LXNpemU6MTAwcHg7bGluZS1oZWlnaHQ6MTAwcHh9LnRleHQtYmlne2ZvbnQtc2l6ZTo5MHB4O2xpbmUtaGVpZ2h0OjkwcHh9LnNtLWxpbmUtaGVpZ2h0LTBweHtsaW5lLWhlaWdodDowfS5zbS1saW5lLWhlaWdodC04cHh7bGluZS1oZWlnaHQ6OHB4fS5zbS1saW5lLWhlaWdodC0xMHB4e2xpbmUtaGVpZ2h0OjEwcHh9LnNtLWxpbmUtaGVpZ2h0LTE0cHh7bGluZS1oZWlnaHQ6MTRweH0uc20tbGluZS1oZWlnaHQtMTVweHtsaW5lLWhlaWdodDoxNXB4fS5zbS1saW5lLWhlaWdodC0xNnB4e2xpbmUtaGVpZ2h0OjE2cHh9LnNtLWxpbmUtaGVpZ2h0LTE4cHh7bGluZS1oZWlnaHQ6MThweH0uc20tbGluZS1oZWlnaHQtMjBweHtsaW5lLWhlaWdodDoyMHB4fS5zbS1saW5lLWhlaWdodC0yMnB4e2xpbmUtaGVpZ2h0OjIycHh9LnNtLWxpbmUtaGVpZ2h0LTI0cHh7bGluZS1oZWlnaHQ6MjRweH0uc20tbGluZS1oZWlnaHQtMjZweHtsaW5lLWhlaWdodDoyNnB4fS5zbS1saW5lLWhlaWdodC0yOHB4e2xpbmUtaGVpZ2h0OjI4cHh9LnNtLWxpbmUtaGVpZ2h0LTMwcHh7bGluZS1oZWlnaHQ6MzBweH0uc20tbGluZS1oZWlnaHQtMzJweHtsaW5lLWhlaWdodDozMnB4fS5zbS1saW5lLWhlaWdodC0zNHB4e2xpbmUtaGVpZ2h0OjM0cHh9LnNtLWxpbmUtaGVpZ2h0LTM2cHh7bGluZS1oZWlnaHQ6MzZweH0uc20tbGluZS1oZWlnaHQtMzhweHtsaW5lLWhlaWdodDozOHB4fS5zbS1saW5lLWhlaWdodC00MHB4e2xpbmUtaGVpZ2h0OjQwcHh9LnNtLWxpbmUtaGVpZ2h0LTUwcHh7bGluZS1oZWlnaHQ6NTBweH0uc20tbGluZS1oZWlnaHQtMTQwcHh7bGluZS1oZWlnaHQ6MTQwcHh9LnNtLWxpbmUtaGVpZ2h0LW5vcm1hbHtsaW5lLWhlaWdodDpub3JtYWx9LnNtLWxldHRlci1zcGFjaW5nLW1pbnVzLTEtaGFsZntsZXR0ZXItc3BhY2luZzotLjVweH0uc20tbGV0dGVyLXNwYWNpbmctbWludXMtMXB4e2xldHRlci1zcGFjaW5nOi0xcHh9LnNtLWxldHRlci1zcGFjaW5nLW1pbnVzLTJweHtsZXR0ZXItc3BhY2luZzotMnB4fS5zbS1sZXR0ZXItc3BhY2luZy1taW51cy0zcHh7bGV0dGVyLXNwYWNpbmc6LTNweH0uc20tbGV0dGVyLXNwYWNpbmctbWludXMtNHB4e2xldHRlci1zcGFjaW5nOi00cHh9LnNtLWxldHRlci1zcGFjaW5nLW1pbnVzLTVweHtsZXR0ZXItc3BhY2luZzotNXB4fS5zbS1hYnNvbHV0ZS1taWRkbGUtY2VudGVye2xlZnQ6NTAlO3RvcDo1MCU7cG9zaXRpb246YWJzb2x1dGU7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpfS5zbS1iYWNrZ3JvdW5kLWltYWdlLW5vbmV7YmFja2dyb3VuZDppbmhlcml0IWltcG9ydGFudH0uc20tYmFja2dyb3VuZC1wb3NpdGlvbi1sZWZ0e2JhY2tncm91bmQtcG9zaXRpb246bGVmdCBjZW50ZXJ9LnNtLWJhY2tncm91bmQtcG9zaXRpb24tcmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCBjZW50ZXJ9LnNtLWJhY2tncm91bmQtcG9zaXRpb24tdG9we2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgdG9wfS5zbS1iYWNrZ3JvdW5kLXBvc2l0aW9uLWNlbnRlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcn0uc20tYmFja2dyb3VuZC1wb3NpdGlvbi1sZWZ0LXRvcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOmxlZnQgdG9wfS5zbS1ib3gtc2hhZG93LW5vbmV7Ym94LXNoYWRvdzpub25lfS5odG1sLXZpZGVvLXBsYXkgLnBsYXktaWNvbntwYWRkaW5nLWxlZnQ6NXB4fS5odG1sLXZpZGVvLXBsYXkgLnBhdXNlLWljb257Zm9udC1zaXplOjIycHg7cGFkZGluZy1sZWZ0OjB9LnNtLW1hcmdpbi1vbmUtYWxse21hcmdpbjoxJX0uc20tbWFyZ2luLXR3by1hbGx7bWFyZ2luOjIlfS5zbS1tYXJnaW4tdGhyZWUtYWxse21hcmdpbjozJX0uc20tbWFyZ2luLWZvdXItYWxse21hcmdpbjo0JX0uc20tbWFyZ2luLWZpdmUtYWxse21hcmdpbjo1JX0uc20tbWFyZ2luLXNpeC1hbGx7bWFyZ2luOjYlfS5zbS1tYXJnaW4tc2V2ZW4tYWxse21hcmdpbjo3JX0uc20tbWFyZ2luLWVpZ2h0LWFsbHttYXJnaW46OCV9LnNtLW1hcmdpbi1uaW5lLWFsbHttYXJnaW46OSV9LnNtLW1hcmdpbi10ZW4tYWxse21hcmdpbjoxMCV9LnNtLW1hcmdpbi1lbGV2ZW4tYWxse21hcmdpbjoxMSV9LnNtLW1hcmdpbi10d2VsdmUtYWxse21hcmdpbjoxMiV9LnNtLW1hcmdpbi10aGlydGVlbi1hbGx7bWFyZ2luOjEzJX0uc20tbWFyZ2luLWZvdXJ0ZWVuLWFsbHttYXJnaW46MTQlfS5zbS1tYXJnaW4tZmlmdGVlbi1hbGx7bWFyZ2luOjE1JX0uc20tbWFyZ2luLXNpeHRlZW4tYWxse21hcmdpbjoxNiV9LnNtLW1hcmdpbi1zZXZlbnRlZW4tYWxse21hcmdpbjoxNyV9LnNtLW1hcmdpbi1laWdodGVlbi1hbGx7bWFyZ2luOjE4JX0uc20tbWFyZ2luLW5pbmV0ZWVuLWFsbHttYXJnaW46MTklfS5zbS1tYXJnaW4tdHdlbnR5LWFsbHttYXJnaW46MjAlfS5zbS1tYXJnaW4tNXB4LWFsbHttYXJnaW46NXB4fS5zbS1tYXJnaW4tMTBweC1hbGx7bWFyZ2luOjEwcHh9LnNtLW1hcmdpbi0xNXB4LWFsbHttYXJnaW46MTVweH0uc20tbWFyZ2luLTIwcHgtYWxse21hcmdpbjoyMHB4fS5zbS1tYXJnaW4tMjVweC1hbGx7bWFyZ2luOjI1cHh9LnNtLW1hcmdpbi0zMHB4LWFsbHttYXJnaW46MzBweH0uc20tbWFyZ2luLTM1cHgtYWxse21hcmdpbjozNXB4fS5zbS1tYXJnaW4tNDBweC1hbGx7bWFyZ2luOjQwcHh9LnNtLW1hcmdpbi00NXB4LWFsbHttYXJnaW46NDVweH0uc20tbWFyZ2luLTUwcHgtYWxse21hcmdpbjo1MHB4fS5zbS1tYXJnaW4tNTVweC1hbGx7bWFyZ2luOjU1cHh9LnNtLW1hcmdpbi02MHB4LWFsbHttYXJnaW46NjBweH0uc20tbWFyZ2luLTY1cHgtYWxse21hcmdpbjo2NXB4fS5zbS1tYXJnaW4tNzBweC1hbGx7bWFyZ2luOjcwcHh9LnNtLW1hcmdpbi03NXB4LWFsbHttYXJnaW46NzVweH0uc20tbWFyZ2luLTgwcHgtYWxse21hcmdpbjo4MHB4fS5zbS1tYXJnaW4tODVweC1hbGx7bWFyZ2luOjg1cHh9LnNtLW1hcmdpbi05MHB4LWFsbHttYXJnaW46OTBweH0uc20tbWFyZ2luLTk1cHgtYWxse21hcmdpbjo5NXB4fS5zbS1tYXJnaW4tMTAwcHgtYWxse21hcmdpbjoxMDBweH0uc20tbWFyZ2luLTEtcmVtLWFsbHttYXJnaW46MXJlbX0uc20tbWFyZ2luLTEtaGFsZi1yZW0tYWxse21hcmdpbjoxLjVyZW19LnNtLW1hcmdpbi0yLXJlbS1hbGx7bWFyZ2luOjJyZW19LnNtLW1hcmdpbi0yLWhhbGYtcmVtLWFsbHttYXJnaW46Mi41cmVtfS5zbS1tYXJnaW4tMy1yZW0tYWxse21hcmdpbjozcmVtfS5zbS1tYXJnaW4tMy1oYWxmLXJlbS1hbGx7bWFyZ2luOjMuNXJlbX0uc20tbWFyZ2luLTQtcmVtLWFsbHttYXJnaW46NHJlbX0uc20tbWFyZ2luLTQtaGFsZi1yZW0tYWxse21hcmdpbjo0LjVyZW19LnNtLW1hcmdpbi01LXJlbS1hbGx7bWFyZ2luOjVyZW19LnNtLW1hcmdpbi01LWhhbGYtcmVtLWFsbHttYXJnaW46NS41cmVtfS5zbS1tYXJnaW4tNi1yZW0tYWxse21hcmdpbjo2cmVtfS5zbS1tYXJnaW4tNi1oYWxmLXJlbS1hbGx7bWFyZ2luOjYuNXJlbX0uc20tbWFyZ2luLTctcmVtLWFsbHttYXJnaW46N3JlbX0uc20tbWFyZ2luLTctaGFsZi1yZW0tYWxse21hcmdpbjo3LjVyZW19LnNtLW1hcmdpbi04LXJlbS1hbGx7bWFyZ2luOjhyZW19LnNtLW1hcmdpbi04LWhhbGYtcmVtLWFsbHttYXJnaW46OC41cmVtfS5zbS1tYXJnaW4tOS1yZW0tYWxse21hcmdpbjo5cmVtfS5zbS1tYXJnaW4tOS1oYWxmLXJlbS1hbGx7bWFyZ2luOjkuNXJlbX0uc20tbWFyZ2luLTEwLXJlbS1hbGx7bWFyZ2luOjEwcmVtfS5zbS1tYXJnaW4tMTAtaGFsZi1yZW0tYWxse21hcmdpbjoxMC41cmVtfS5zbS1tYXJnaW4tb25lLXRvcHttYXJnaW4tdG9wOjElfS5zbS1tYXJnaW4tdHdvLXRvcHttYXJnaW4tdG9wOjIlfS5zbS1tYXJnaW4tdGhyZWUtdG9we21hcmdpbi10b3A6MyV9LnNtLW1hcmdpbi1mb3VyLXRvcHttYXJnaW4tdG9wOjQlfS5zbS1tYXJnaW4tZml2ZS10b3B7bWFyZ2luLXRvcDo1JX0uc20tbWFyZ2luLXNpeC10b3B7bWFyZ2luLXRvcDo2JX0uc20tbWFyZ2luLXNldmVuLXRvcHttYXJnaW4tdG9wOjclfS5zbS1tYXJnaW4tZWlnaHQtdG9we21hcmdpbi10b3A6OCV9LnNtLW1hcmdpbi1uaW5lLXRvcHttYXJnaW4tdG9wOjklfS5zbS1tYXJnaW4tdGVuLXRvcHttYXJnaW4tdG9wOjEwJX0uc20tbWFyZ2luLWVsZXZlbi10b3B7bWFyZ2luLXRvcDoxMSV9LnNtLW1hcmdpbi10d2VsdmUtdG9we21hcmdpbi10b3A6MTIlfS5zbS1tYXJnaW4tdGhpcnRlZW4tdG9we21hcmdpbi10b3A6MTMlfS5zbS1tYXJnaW4tZm91cnRlZW4tdG9we21hcmdpbi10b3A6MTQlfS5zbS1tYXJnaW4tZmlmdGVlbi10b3B7bWFyZ2luLXRvcDoxNSV9LnNtLW1hcmdpbi1zaXh0ZWVuLXRvcHttYXJnaW4tdG9wOjE2JX0uc20tbWFyZ2luLXNldmVudGVlbi10b3B7bWFyZ2luLXRvcDoxNyV9LnNtLW1hcmdpbi1laWdodGVlbi10b3B7bWFyZ2luLXRvcDoxOCV9LnNtLW1hcmdpbi1uaW5ldGVlbi10b3B7bWFyZ2luLXRvcDoxOSV9LnNtLW1hcmdpbi10d2VudHktdG9we21hcmdpbi10b3A6MjAlfS5zbS1tYXJnaW4tNXB4LXRvcHttYXJnaW4tdG9wOjVweH0uc20tbWFyZ2luLTEwcHgtdG9we21hcmdpbi10b3A6MTBweH0uc20tbWFyZ2luLTE1cHgtdG9we21hcmdpbi10b3A6MTVweH0uc20tbWFyZ2luLTIwcHgtdG9we21hcmdpbi10b3A6MjBweH0uc20tbWFyZ2luLTI1cHgtdG9we21hcmdpbi10b3A6MjVweH0uc20tbWFyZ2luLTMwcHgtdG9we21hcmdpbi10b3A6MzBweH0uc20tbWFyZ2luLTM1cHgtdG9we21hcmdpbi10b3A6MzVweH0uc20tbWFyZ2luLTQwcHgtdG9we21hcmdpbi10b3A6NDBweH0uc20tbWFyZ2luLTQ1cHgtdG9we21hcmdpbi10b3A6NDVweH0uc20tbWFyZ2luLTUwcHgtdG9we21hcmdpbi10b3A6NTBweH0uc20tbWFyZ2luLTU1cHgtdG9we21hcmdpbi10b3A6NTVweH0uc20tbWFyZ2luLTYwcHgtdG9we21hcmdpbi10b3A6NjBweH0uc20tbWFyZ2luLTY1cHgtdG9we21hcmdpbi10b3A6NjVweH0uc20tbWFyZ2luLTcwcHgtdG9we21hcmdpbi10b3A6NzBweH0uc20tbWFyZ2luLTc1cHgtdG9we21hcmdpbi10b3A6NzVweH0uc20tbWFyZ2luLTgwcHgtdG9we21hcmdpbi10b3A6ODBweH0uc20tbWFyZ2luLTg1cHgtdG9we21hcmdpbi10b3A6ODVweH0uc20tbWFyZ2luLTkwcHgtdG9we21hcmdpbi10b3A6OTBweH0uc20tbWFyZ2luLTk1cHgtdG9we21hcmdpbi10b3A6OTVweH0uc20tbWFyZ2luLTEwMHB4LXRvcHttYXJnaW4tdG9wOjEwMHB4fS5zbS1tYXJnaW4tMS1yZW0tdG9we21hcmdpbi10b3A6MXJlbX0uc20tbWFyZ2luLTEtaGFsZi1yZW0tdG9we21hcmdpbi10b3A6MS41cmVtfS5zbS1tYXJnaW4tMi1yZW0tdG9we21hcmdpbi10b3A6MnJlbX0uc20tbWFyZ2luLTItaGFsZi1yZW0tdG9we21hcmdpbi10b3A6Mi41cmVtfS5zbS1tYXJnaW4tMy1yZW0tdG9we21hcmdpbi10b3A6M3JlbX0uc20tbWFyZ2luLTMtaGFsZi1yZW0tdG9we21hcmdpbi10b3A6My41cmVtfS5zbS1tYXJnaW4tNC1yZW0tdG9we21hcmdpbi10b3A6NHJlbX0uc20tbWFyZ2luLTQtaGFsZi1yZW0tdG9we21hcmdpbi10b3A6NC41cmVtfS5zbS1tYXJnaW4tNS1yZW0tdG9we21hcmdpbi10b3A6NXJlbX0uc20tbWFyZ2luLTUtaGFsZi1yZW0tdG9we21hcmdpbi10b3A6NS41cmVtfS5zbS1tYXJnaW4tNi1yZW0tdG9we21hcmdpbi10b3A6NnJlbX0uc20tbWFyZ2luLTYtaGFsZi1yZW0tdG9we21hcmdpbi10b3A6Ni41cmVtfS5zbS1tYXJnaW4tNy1yZW0tdG9we21hcmdpbi10b3A6N3JlbX0uc20tbWFyZ2luLTctaGFsZi1yZW0tdG9we21hcmdpbi10b3A6Ny41cmVtfS5zbS1tYXJnaW4tOC1yZW0tdG9we21hcmdpbi10b3A6OHJlbX0uc20tbWFyZ2luLTgtaGFsZi1yZW0tdG9we21hcmdpbi10b3A6OC41cmVtfS5zbS1tYXJnaW4tOS1yZW0tdG9we21hcmdpbi10b3A6OXJlbX0uc20tbWFyZ2luLTktaGFsZi1yZW0tdG9we21hcmdpbi10b3A6OS41cmVtfS5zbS1tYXJnaW4tMTAtcmVtLXRvcHttYXJnaW4tdG9wOjEwcmVtfS5zbS1tYXJnaW4tMTAtaGFsZi1yZW0tdG9we21hcmdpbi10b3A6MTAuNXJlbX0uc20tbWFyZ2luLW9uZS1ib3R0b217bWFyZ2luLWJvdHRvbToxJX0uc20tbWFyZ2luLXR3by1ib3R0b217bWFyZ2luLWJvdHRvbToyJX0uc20tbWFyZ2luLXRocmVlLWJvdHRvbXttYXJnaW4tYm90dG9tOjMlfS5zbS1tYXJnaW4tZm91ci1ib3R0b217bWFyZ2luLWJvdHRvbTo0JX0uc20tbWFyZ2luLWZpdmUtYm90dG9te21hcmdpbi1ib3R0b206NSV9LnNtLW1hcmdpbi1zaXgtYm90dG9te21hcmdpbi1ib3R0b206NiV9LnNtLW1hcmdpbi1zZXZlbi1ib3R0b217bWFyZ2luLWJvdHRvbTo3JX0uc20tbWFyZ2luLWVpZ2h0LWJvdHRvbXttYXJnaW4tYm90dG9tOjglfS5zbS1tYXJnaW4tbmluZS1ib3R0b217bWFyZ2luLWJvdHRvbTo5JX0uc20tbWFyZ2luLXRlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxMCV9LnNtLW1hcmdpbi1lbGV2ZW4tYm90dG9te21hcmdpbi1ib3R0b206MTElfS5zbS1tYXJnaW4tdHdlbHZlLWJvdHRvbXttYXJnaW4tYm90dG9tOjEyJX0uc20tbWFyZ2luLXRoaXJ0ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjEzJX0uc20tbWFyZ2luLWZvdXJ0ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE0JX0uc20tbWFyZ2luLWZpZnRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTUlfS5zbS1tYXJnaW4tc2l4dGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxNiV9LnNtLW1hcmdpbi1zZXZlbnRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTclfS5zbS1tYXJnaW4tZWlnaHRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTglfS5zbS1tYXJnaW4tbmluZXRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTklfS5zbS1tYXJnaW4tdHdlbnR5LWJvdHRvbXttYXJnaW4tYm90dG9tOjIwJX0uc20tbWFyZ2luLTVweC1ib3R0b217bWFyZ2luLWJvdHRvbTo1cHh9LnNtLW1hcmdpbi0xMHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjEwcHh9LnNtLW1hcmdpbi0xNXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjE1cHh9LnNtLW1hcmdpbi0yMHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjIwcHh9LnNtLW1hcmdpbi0yNXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjI1cHh9LnNtLW1hcmdpbi0zMHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjMwcHh9LnNtLW1hcmdpbi0zNXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjM1cHh9LnNtLW1hcmdpbi00MHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjQwcHh9LnNtLW1hcmdpbi00NXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjQ1cHh9LnNtLW1hcmdpbi01MHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjUwcHh9LnNtLW1hcmdpbi01NXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjU1cHh9LnNtLW1hcmdpbi02MHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjYwcHh9LnNtLW1hcmdpbi02NXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjY1cHh9LnNtLW1hcmdpbi03MHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjcwcHh9LnNtLW1hcmdpbi03NXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjc1cHh9LnNtLW1hcmdpbi04MHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjgwcHh9LnNtLW1hcmdpbi04NXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjg1cHh9LnNtLW1hcmdpbi05MHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjkwcHh9LnNtLW1hcmdpbi05NXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjk1cHh9LnNtLW1hcmdpbi0xMDBweC1ib3R0b217bWFyZ2luLWJvdHRvbToxMDBweH0uc20tbWFyZ2luLTEtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjFyZW19LnNtLW1hcmdpbi0xLWhhbGYtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjEuNXJlbX0uc20tbWFyZ2luLTItcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjJyZW19LnNtLW1hcmdpbi0yLWhhbGYtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjIuNXJlbX0uc20tbWFyZ2luLTMtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjNyZW19LnNtLW1hcmdpbi0zLWhhbGYtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjMuNXJlbX0uc20tbWFyZ2luLTQtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjRyZW19LnNtLW1hcmdpbi00LWhhbGYtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjQuNXJlbX0uc20tbWFyZ2luLTUtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjVyZW19LnNtLW1hcmdpbi01LWhhbGYtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjUuNXJlbX0uc20tbWFyZ2luLTYtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjZyZW19LnNtLW1hcmdpbi02LWhhbGYtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjYuNXJlbX0uc20tbWFyZ2luLTctcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjdyZW19LnNtLW1hcmdpbi03LWhhbGYtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjcuNXJlbX0uc20tbWFyZ2luLTgtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjhyZW19LnNtLW1hcmdpbi04LWhhbGYtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjguNXJlbX0uc20tbWFyZ2luLTktcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjlyZW19LnNtLW1hcmdpbi05LWhhbGYtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjkuNXJlbX0uc20tbWFyZ2luLTEwLXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToxMHJlbX0uc20tbWFyZ2luLTEwLWhhbGYtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjEwLjVyZW19LnNtLW1hcmdpbi1vbmUtcmlnaHR7bWFyZ2luLXJpZ2h0OjElfS5zbS1tYXJnaW4tdHdvLXJpZ2h0e21hcmdpbi1yaWdodDoyJX0uc20tbWFyZ2luLXRocmVlLXJpZ2h0e21hcmdpbi1yaWdodDozJX0uc20tbWFyZ2luLWZvdXItcmlnaHR7bWFyZ2luLXJpZ2h0OjQlfS5zbS1tYXJnaW4tZml2ZS1yaWdodHttYXJnaW4tcmlnaHQ6NSV9LnNtLW1hcmdpbi1zaXgtcmlnaHR7bWFyZ2luLXJpZ2h0OjYlfS5zbS1tYXJnaW4tc2V2ZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjclfS5zbS1tYXJnaW4tZWlnaHQtcmlnaHR7bWFyZ2luLXJpZ2h0OjglfS5zbS1tYXJnaW4tbmluZS1yaWdodHttYXJnaW4tcmlnaHQ6OSV9LnNtLW1hcmdpbi10ZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjEwJX0uc20tbWFyZ2luLWVsZXZlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTElfS5zbS1tYXJnaW4tdHdlbHZlLXJpZ2h0e21hcmdpbi1yaWdodDoxMiV9LnNtLW1hcmdpbi10aGlydGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTMlfS5zbS1tYXJnaW4tZm91cnRlZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjE0JX0uc20tbWFyZ2luLWZpZnRlZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjE1JX0uc20tbWFyZ2luLXNpeHRlZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjE2JX0uc20tbWFyZ2luLXNldmVudGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTclfS5zbS1tYXJnaW4tZWlnaHRlZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjE4JX0uc20tbWFyZ2luLW5pbmV0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxOSV9LnNtLW1hcmdpbi10d2VudHktcmlnaHR7bWFyZ2luLXJpZ2h0OjIwJX0uc20tbWFyZ2luLTVweC1yaWdodHttYXJnaW4tcmlnaHQ6NXB4fS5zbS1tYXJnaW4tMTBweC1yaWdodHttYXJnaW4tcmlnaHQ6MTBweH0uc20tbWFyZ2luLTE1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjE1cHh9LnNtLW1hcmdpbi0yMHB4LXJpZ2h0e21hcmdpbi1yaWdodDoyMHB4fS5zbS1tYXJnaW4tMjVweC1yaWdodHttYXJnaW4tcmlnaHQ6MjVweH0uc20tbWFyZ2luLTMwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjMwcHh9LnNtLW1hcmdpbi0zNXB4LXJpZ2h0e21hcmdpbi1yaWdodDozNXB4fS5zbS1tYXJnaW4tNDBweC1yaWdodHttYXJnaW4tcmlnaHQ6NDBweH0uc20tbWFyZ2luLTQ1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjQ1cHh9LnNtLW1hcmdpbi01MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo1MHB4fS5zbS1tYXJnaW4tNTVweC1yaWdodHttYXJnaW4tcmlnaHQ6NTVweH0uc20tbWFyZ2luLTYwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjYwcHh9LnNtLW1hcmdpbi02NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo2NXB4fS5zbS1tYXJnaW4tNzBweC1yaWdodHttYXJnaW4tcmlnaHQ6NzBweH0uc20tbWFyZ2luLTc1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0Ojc1cHh9LnNtLW1hcmdpbi04MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo4MHB4fS5zbS1tYXJnaW4tODVweC1yaWdodHttYXJnaW4tcmlnaHQ6ODVweH0uc20tbWFyZ2luLTkwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjkwcHh9LnNtLW1hcmdpbi05NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo5NXB4fS5zbS1tYXJnaW4tMTAwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjEwMHB4fS5zbS1tYXJnaW4tMS1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjFyZW19LnNtLW1hcmdpbi0xLWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDoxLjVyZW19LnNtLW1hcmdpbi0yLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6MnJlbX0uc20tbWFyZ2luLTItaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjIuNXJlbX0uc20tbWFyZ2luLTMtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDozcmVtfS5zbS1tYXJnaW4tMy1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6My41cmVtfS5zbS1tYXJnaW4tNC1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjRyZW19LnNtLW1hcmdpbi00LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo0LjVyZW19LnNtLW1hcmdpbi01LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6NXJlbX0uc20tbWFyZ2luLTUtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjUuNXJlbX0uc20tbWFyZ2luLTYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo2cmVtfS5zbS1tYXJnaW4tNi1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6Ni41cmVtfS5zbS1tYXJnaW4tNy1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjdyZW19LnNtLW1hcmdpbi03LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo3LjVyZW19LnNtLW1hcmdpbi04LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6OHJlbX0uc20tbWFyZ2luLTgtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjguNXJlbX0uc20tbWFyZ2luLTktcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo5cmVtfS5zbS1tYXJnaW4tOS1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6OS41cmVtfS5zbS1tYXJnaW4tMTAtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDoxMHJlbX0uc20tbWFyZ2luLTEwLWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDoxMC41cmVtfS5zbS1tYXJnaW4tb25lLWxlZnR7bWFyZ2luLWxlZnQ6MSV9LnNtLW1hcmdpbi10d28tbGVmdHttYXJnaW4tbGVmdDoyJX0uc20tbWFyZ2luLXRocmVlLWxlZnR7bWFyZ2luLWxlZnQ6MyV9LnNtLW1hcmdpbi1mb3VyLWxlZnR7bWFyZ2luLWxlZnQ6NCV9LnNtLW1hcmdpbi1maXZlLWxlZnR7bWFyZ2luLWxlZnQ6NSV9LnNtLW1hcmdpbi1zaXgtbGVmdHttYXJnaW4tbGVmdDo2JX0uc20tbWFyZ2luLXNldmVuLWxlZnR7bWFyZ2luLWxlZnQ6NyV9LnNtLW1hcmdpbi1laWdodC1sZWZ0e21hcmdpbi1sZWZ0OjglfS5zbS1tYXJnaW4tbmluZS1sZWZ0e21hcmdpbi1sZWZ0OjklfS5zbS1tYXJnaW4tdGVuLWxlZnR7bWFyZ2luLWxlZnQ6MTAlfS5zbS1tYXJnaW4tZWxldmVuLWxlZnR7bWFyZ2luLWxlZnQ6MTElfS5zbS1tYXJnaW4tdHdlbHZlLWxlZnR7bWFyZ2luLWxlZnQ6MTIlfS5zbS1tYXJnaW4tdGhpcnRlZW4tbGVmdHttYXJnaW4tbGVmdDoxMyV9LnNtLW1hcmdpbi1mb3VydGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE0JX0uc20tbWFyZ2luLWZpZnRlZW4tbGVmdHttYXJnaW4tbGVmdDoxNSV9LnNtLW1hcmdpbi1zaXh0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTYlfS5zbS1tYXJnaW4tc2V2ZW50ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTclfS5zbS1tYXJnaW4tZWlnaHRlZW4tbGVmdHttYXJnaW4tbGVmdDoxOCV9LnNtLW1hcmdpbi1uaW5ldGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE5JX0uc20tbWFyZ2luLXR3ZW50eS1sZWZ0e21hcmdpbi1sZWZ0OjIwJX0uc20tbWFyZ2luLTVweC1sZWZ0e21hcmdpbi1sZWZ0OjVweH0uc20tbWFyZ2luLTEwcHgtbGVmdHttYXJnaW4tbGVmdDoxMHB4fS5zbS1tYXJnaW4tMTVweC1sZWZ0e21hcmdpbi1sZWZ0OjE1cHh9LnNtLW1hcmdpbi0yMHB4LWxlZnR7bWFyZ2luLWxlZnQ6MjBweH0uc20tbWFyZ2luLTI1cHgtbGVmdHttYXJnaW4tbGVmdDoyNXB4fS5zbS1tYXJnaW4tMzBweC1sZWZ0e21hcmdpbi1sZWZ0OjMwcHh9LnNtLW1hcmdpbi0zNXB4LWxlZnR7bWFyZ2luLWxlZnQ6MzVweH0uc20tbWFyZ2luLTQwcHgtbGVmdHttYXJnaW4tbGVmdDo0MHB4fS5zbS1tYXJnaW4tNDVweC1sZWZ0e21hcmdpbi1sZWZ0OjQ1cHh9LnNtLW1hcmdpbi01MHB4LWxlZnR7bWFyZ2luLWxlZnQ6NTBweH0uc20tbWFyZ2luLTU1cHgtbGVmdHttYXJnaW4tbGVmdDo1NXB4fS5zbS1tYXJnaW4tNjBweC1sZWZ0e21hcmdpbi1sZWZ0OjYwcHh9LnNtLW1hcmdpbi02NXB4LWxlZnR7bWFyZ2luLWxlZnQ6NjVweH0uc20tbWFyZ2luLTcwcHgtbGVmdHttYXJnaW4tbGVmdDo3MHB4fS5zbS1tYXJnaW4tNzVweC1sZWZ0e21hcmdpbi1sZWZ0Ojc1cHh9LnNtLW1hcmdpbi04MHB4LWxlZnR7bWFyZ2luLWxlZnQ6ODBweH0uc20tbWFyZ2luLTg1cHgtbGVmdHttYXJnaW4tbGVmdDo4NXB4fS5zbS1tYXJnaW4tOTBweC1sZWZ0e21hcmdpbi1sZWZ0OjkwcHh9LnNtLW1hcmdpbi05NXB4LWxlZnR7bWFyZ2luLWxlZnQ6OTVweH0uc20tbWFyZ2luLTEwMHB4LWxlZnR7bWFyZ2luLWxlZnQ6MTAwcHh9LnNtLW1hcmdpbi0xLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjFyZW19LnNtLW1hcmdpbi0xLWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6MS41cmVtfS5zbS1tYXJnaW4tMi1yZW0tbGVmdHttYXJnaW4tbGVmdDoycmVtfS5zbS1tYXJnaW4tMi1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjIuNXJlbX0uc20tbWFyZ2luLTMtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6M3JlbX0uc20tbWFyZ2luLTMtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDozLjVyZW19LnNtLW1hcmdpbi00LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjRyZW19LnNtLW1hcmdpbi00LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6NC41cmVtfS5zbS1tYXJnaW4tNS1yZW0tbGVmdHttYXJnaW4tbGVmdDo1cmVtfS5zbS1tYXJnaW4tNS1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjUuNXJlbX0uc20tbWFyZ2luLTYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6NnJlbX0uc20tbWFyZ2luLTYtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo2LjVyZW19LnNtLW1hcmdpbi03LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjdyZW19LnNtLW1hcmdpbi03LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6Ny41cmVtfS5zbS1tYXJnaW4tOC1yZW0tbGVmdHttYXJnaW4tbGVmdDo4cmVtfS5zbS1tYXJnaW4tOC1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjguNXJlbX0uc20tbWFyZ2luLTktcmVtLWxlZnR7bWFyZ2luLWxlZnQ6OXJlbX0uc20tbWFyZ2luLTktaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo5LjVyZW19LnNtLW1hcmdpbi0xMC1yZW0tbGVmdHttYXJnaW4tbGVmdDoxMHJlbX0uc20tbWFyZ2luLTEwLWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6MTAuNXJlbX0uc20tbWFyZ2luLW9uZS1scnttYXJnaW4tbGVmdDoxJTttYXJnaW4tcmlnaHQ6MSV9LnNtLW1hcmdpbi10d28tbHJ7bWFyZ2luLWxlZnQ6MiU7bWFyZ2luLXJpZ2h0OjIlfS5zbS1tYXJnaW4tdGhyZWUtbHJ7bWFyZ2luLWxlZnQ6MyU7bWFyZ2luLXJpZ2h0OjMlfS5zbS1tYXJnaW4tZm91ci1scnttYXJnaW4tbGVmdDo0JTttYXJnaW4tcmlnaHQ6NCV9LnNtLW1hcmdpbi1maXZlLWxye21hcmdpbi1sZWZ0OjUlO21hcmdpbi1yaWdodDo1JX0uc20tbWFyZ2luLXNpeC1scnttYXJnaW4tbGVmdDo2JTttYXJnaW4tcmlnaHQ6NiV9LnNtLW1hcmdpbi1zZXZlbi1scnttYXJnaW4tbGVmdDo3JTttYXJnaW4tcmlnaHQ6NyV9LnNtLW1hcmdpbi1laWdodC1scnttYXJnaW4tbGVmdDo4JTttYXJnaW4tcmlnaHQ6OCV9LnNtLW1hcmdpbi1uaW5lLWxye21hcmdpbi1sZWZ0OjklO21hcmdpbi1yaWdodDo5JX0uc20tbWFyZ2luLXRlbi1scnttYXJnaW4tbGVmdDoxMCU7bWFyZ2luLXJpZ2h0OjEwJX0uc20tbWFyZ2luLWVsZXZlbi1scnttYXJnaW4tbGVmdDoxMSU7bWFyZ2luLXJpZ2h0OjExJX0uc20tbWFyZ2luLXR3ZWx2ZS1scnttYXJnaW4tbGVmdDoxMiU7bWFyZ2luLXJpZ2h0OjEyJX0uc20tbWFyZ2luLXRoaXJ0ZWVuLWxye21hcmdpbi1sZWZ0OjEzJTttYXJnaW4tcmlnaHQ6MTMlfS5zbS1tYXJnaW4tZm91cnRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTQlO21hcmdpbi1yaWdodDoxNCV9LnNtLW1hcmdpbi1maWZ0ZWVuLWxye21hcmdpbi1sZWZ0OjE1JTttYXJnaW4tcmlnaHQ6MTUlfS5zbS1tYXJnaW4tc2l4dGVlbi1scnttYXJnaW4tbGVmdDoxNiU7bWFyZ2luLXJpZ2h0OjE2JX0uc20tbWFyZ2luLXNldmVudGVlbi1scnttYXJnaW4tbGVmdDoxNyU7bWFyZ2luLXJpZ2h0OjE3JX0uc20tbWFyZ2luLWVpZ2h0ZWVuLWxye21hcmdpbi1sZWZ0OjE4JTttYXJnaW4tcmlnaHQ6MTglfS5zbS1tYXJnaW4tbmluZXRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTklO21hcmdpbi1yaWdodDoxOSV9LnNtLW1hcmdpbi10d2VudHktbHJ7bWFyZ2luLWxlZnQ6MjAlO21hcmdpbi1yaWdodDoyMCV9LnNtLW1hcmdpbi01cHgtbHJ7bWFyZ2luLWxlZnQ6NXB4O21hcmdpbi1yaWdodDo1cHh9LnNtLW1hcmdpbi0xMHB4LWxye21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9LnNtLW1hcmdpbi0xNXB4LWxye21hcmdpbi1sZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OjE1cHh9LnNtLW1hcmdpbi0yMHB4LWxye21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9LnNtLW1hcmdpbi0yNXB4LWxye21hcmdpbi1sZWZ0OjI1cHg7bWFyZ2luLXJpZ2h0OjI1cHh9LnNtLW1hcmdpbi0zMHB4LWxye21hcmdpbi1sZWZ0OjMwcHg7bWFyZ2luLXJpZ2h0OjMwcHh9LnNtLW1hcmdpbi0zNXB4LWxye21hcmdpbi1sZWZ0OjM1cHg7bWFyZ2luLXJpZ2h0OjM1cHh9LnNtLW1hcmdpbi00MHB4LWxye21hcmdpbi1sZWZ0OjQwcHg7bWFyZ2luLXJpZ2h0OjQwcHh9LnNtLW1hcmdpbi00NXB4LWxye21hcmdpbi1sZWZ0OjQ1cHg7bWFyZ2luLXJpZ2h0OjQ1cHh9LnNtLW1hcmdpbi01MHB4LWxye21hcmdpbi1sZWZ0OjUwcHg7bWFyZ2luLXJpZ2h0OjUwcHh9LnNtLW1hcmdpbi01NXB4LWxye21hcmdpbi1sZWZ0OjU1cHg7bWFyZ2luLXJpZ2h0OjU1cHh9LnNtLW1hcmdpbi02MHB4LWxye21hcmdpbi1sZWZ0OjYwcHg7bWFyZ2luLXJpZ2h0OjYwcHh9LnNtLW1hcmdpbi02NXB4LWxye21hcmdpbi1sZWZ0OjY1cHg7bWFyZ2luLXJpZ2h0OjY1cHh9LnNtLW1hcmdpbi03MHB4LWxye21hcmdpbi1sZWZ0OjcwcHg7bWFyZ2luLXJpZ2h0OjcwcHh9LnNtLW1hcmdpbi03NXB4LWxye21hcmdpbi1sZWZ0Ojc1cHg7bWFyZ2luLXJpZ2h0Ojc1cHh9LnNtLW1hcmdpbi04MHB4LWxye21hcmdpbi1sZWZ0OjgwcHg7bWFyZ2luLXJpZ2h0OjgwcHh9LnNtLW1hcmdpbi04NXB4LWxye21hcmdpbi1sZWZ0Ojg1cHg7bWFyZ2luLXJpZ2h0Ojg1cHh9LnNtLW1hcmdpbi05MHB4LWxye21hcmdpbi1sZWZ0OjkwcHg7bWFyZ2luLXJpZ2h0OjkwcHh9LnNtLW1hcmdpbi05NXB4LWxye21hcmdpbi1sZWZ0Ojk1cHg7bWFyZ2luLXJpZ2h0Ojk1cHh9LnNtLW1hcmdpbi0xMDBweC1scnttYXJnaW4tbGVmdDoxMDBweDttYXJnaW4tcmlnaHQ6MTAwcHh9LnNtLW1hcmdpbi0xLXJlbS1scnttYXJnaW4tbGVmdDoxcmVtO21hcmdpbi1yaWdodDoxcmVtfS5zbS1tYXJnaW4tMS1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDoxLjVyZW07bWFyZ2luLXJpZ2h0OjEuNXJlbX0uc20tbWFyZ2luLTItcmVtLWxye21hcmdpbi1sZWZ0OjJyZW07bWFyZ2luLXJpZ2h0OjJyZW19LnNtLW1hcmdpbi0yLWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjIuNXJlbTttYXJnaW4tcmlnaHQ6Mi41cmVtfS5zbS1tYXJnaW4tMy1yZW0tbHJ7bWFyZ2luLWxlZnQ6M3JlbTttYXJnaW4tcmlnaHQ6M3JlbX0uc20tbWFyZ2luLTMtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6My41cmVtO21hcmdpbi1yaWdodDozLjVyZW19LnNtLW1hcmdpbi00LXJlbS1scnttYXJnaW4tbGVmdDo0cmVtO21hcmdpbi1yaWdodDo0cmVtfS5zbS1tYXJnaW4tNC1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo0LjVyZW07bWFyZ2luLXJpZ2h0OjQuNXJlbX0uc20tbWFyZ2luLTUtcmVtLWxye21hcmdpbi1sZWZ0OjVyZW07bWFyZ2luLXJpZ2h0OjVyZW19LnNtLW1hcmdpbi01LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjUuNXJlbTttYXJnaW4tcmlnaHQ6NS41cmVtfS5zbS1tYXJnaW4tNi1yZW0tbHJ7bWFyZ2luLWxlZnQ6NnJlbTttYXJnaW4tcmlnaHQ6NnJlbX0uc20tbWFyZ2luLTYtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6Ni41cmVtO21hcmdpbi1yaWdodDo2LjVyZW19LnNtLW1hcmdpbi03LXJlbS1scnttYXJnaW4tbGVmdDo3cmVtO21hcmdpbi1yaWdodDo3cmVtfS5zbS1tYXJnaW4tNy1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo3LjVyZW07bWFyZ2luLXJpZ2h0OjcuNXJlbX0uc20tbWFyZ2luLTgtcmVtLWxye21hcmdpbi1sZWZ0OjhyZW07bWFyZ2luLXJpZ2h0OjhyZW19LnNtLW1hcmdpbi04LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjguNXJlbTttYXJnaW4tcmlnaHQ6OC41cmVtfS5zbS1tYXJnaW4tOS1yZW0tbHJ7bWFyZ2luLWxlZnQ6OXJlbTttYXJnaW4tcmlnaHQ6OXJlbX0uc20tbWFyZ2luLTktaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6OS41cmVtO21hcmdpbi1yaWdodDo5LjVyZW19LnNtLW1hcmdpbi0xMC1yZW0tbHJ7bWFyZ2luLWxlZnQ6MTByZW07bWFyZ2luLXJpZ2h0OjEwcmVtfS5zbS1tYXJnaW4tMTAtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6MTAuNXJlbTttYXJnaW4tcmlnaHQ6MTAuNXJlbX0uc20tbWFyZ2luLW9uZS10YnttYXJnaW4tdG9wOjElO21hcmdpbi1ib3R0b206MSV9LnNtLW1hcmdpbi10d28tdGJ7bWFyZ2luLXRvcDoyJTttYXJnaW4tYm90dG9tOjIlfS5zbS1tYXJnaW4tdGhyZWUtdGJ7bWFyZ2luLXRvcDozJTttYXJnaW4tYm90dG9tOjMlfS5zbS1tYXJnaW4tZm91ci10YnttYXJnaW4tdG9wOjQlO21hcmdpbi1ib3R0b206NCV9LnNtLW1hcmdpbi1maXZlLXRie21hcmdpbi10b3A6NSU7bWFyZ2luLWJvdHRvbTo1JX0uc20tbWFyZ2luLXNpeC10YnttYXJnaW4tdG9wOjYlO21hcmdpbi1ib3R0b206NiV9LnNtLW1hcmdpbi1zZXZlbi10YnttYXJnaW4tdG9wOjclO21hcmdpbi1ib3R0b206NyV9LnNtLW1hcmdpbi1laWdodC10YnttYXJnaW4tdG9wOjglO21hcmdpbi1ib3R0b206OCV9LnNtLW1hcmdpbi1uaW5lLXRie21hcmdpbi10b3A6OSU7bWFyZ2luLWJvdHRvbTo5JX0uc20tbWFyZ2luLXRlbi10YnttYXJnaW4tdG9wOjEwJTttYXJnaW4tYm90dG9tOjEwJX0uc20tbWFyZ2luLWVsZXZlbi10YnttYXJnaW4tdG9wOjExJTttYXJnaW4tYm90dG9tOjExJX0uc20tbWFyZ2luLXR3ZWx2ZS10YnttYXJnaW4tdG9wOjEyJTttYXJnaW4tYm90dG9tOjEyJX0uc20tbWFyZ2luLXRoaXJ0ZWVuLXRie21hcmdpbi10b3A6MTMlO21hcmdpbi1ib3R0b206MTMlfS5zbS1tYXJnaW4tZm91cnRlZW4tdGJ7bWFyZ2luLXRvcDoxNCU7bWFyZ2luLWJvdHRvbToxNCV9LnNtLW1hcmdpbi1maWZ0ZWVuLXRie21hcmdpbi10b3A6MTUlO21hcmdpbi1ib3R0b206MTUlfS5zbS1tYXJnaW4tc2l4dGVlbi10YnttYXJnaW4tdG9wOjE2JTttYXJnaW4tYm90dG9tOjE2JX0uc20tbWFyZ2luLXNldmVudGVlbi10YnttYXJnaW4tdG9wOjE3JTttYXJnaW4tYm90dG9tOjE3JX0uc20tbWFyZ2luLWVpZ2h0ZWVuLXRie21hcmdpbi10b3A6MTglO21hcmdpbi1ib3R0b206MTglfS5zbS1tYXJnaW4tbmluZXRlZW4tdGJ7bWFyZ2luLXRvcDoxOSU7bWFyZ2luLWJvdHRvbToxOSV9LnNtLW1hcmdpbi10d2VudHktdGJ7bWFyZ2luLXRvcDoyMCU7bWFyZ2luLWJvdHRvbToyMCV9LnNtLW1hcmdpbi01cHgtdGJ7bWFyZ2luLXRvcDo1cHg7bWFyZ2luLWJvdHRvbTo1cHh9LnNtLW1hcmdpbi0xMHB4LXRie21hcmdpbi10b3A6MTBweDttYXJnaW4tYm90dG9tOjEwcHh9LnNtLW1hcmdpbi0xNXB4LXRie21hcmdpbi10b3A6MTVweDttYXJnaW4tYm90dG9tOjE1cHh9LnNtLW1hcmdpbi0yMHB4LXRie21hcmdpbi10b3A6MjBweDttYXJnaW4tYm90dG9tOjIwcHh9LnNtLW1hcmdpbi0yNXB4LXRie21hcmdpbi10b3A6MjVweDttYXJnaW4tYm90dG9tOjI1cHh9LnNtLW1hcmdpbi0zMHB4LXRie21hcmdpbi10b3A6MzBweDttYXJnaW4tYm90dG9tOjMwcHh9LnNtLW1hcmdpbi0zNXB4LXRie21hcmdpbi10b3A6MzVweDttYXJnaW4tYm90dG9tOjM1cHh9LnNtLW1hcmdpbi00MHB4LXRie21hcmdpbi10b3A6NDBweDttYXJnaW4tYm90dG9tOjQwcHh9LnNtLW1hcmdpbi00NXB4LXRie21hcmdpbi10b3A6NDVweDttYXJnaW4tYm90dG9tOjQ1cHh9LnNtLW1hcmdpbi01MHB4LXRie21hcmdpbi10b3A6NTBweDttYXJnaW4tYm90dG9tOjUwcHh9LnNtLW1hcmdpbi01NXB4LXRie21hcmdpbi10b3A6NTVweDttYXJnaW4tYm90dG9tOjU1cHh9LnNtLW1hcmdpbi02MHB4LXRie21hcmdpbi10b3A6NjBweDttYXJnaW4tYm90dG9tOjYwcHh9LnNtLW1hcmdpbi02NXB4LXRie21hcmdpbi10b3A6NjVweDttYXJnaW4tYm90dG9tOjY1cHh9LnNtLW1hcmdpbi03MHB4LXRie21hcmdpbi10b3A6NzBweDttYXJnaW4tYm90dG9tOjcwcHh9LnNtLW1hcmdpbi03NXB4LXRie21hcmdpbi10b3A6NzVweDttYXJnaW4tYm90dG9tOjc1cHh9LnNtLW1hcmdpbi04MHB4LXRie21hcmdpbi10b3A6ODBweDttYXJnaW4tYm90dG9tOjgwcHh9LnNtLW1hcmdpbi04NXB4LXRie21hcmdpbi10b3A6ODVweDttYXJnaW4tYm90dG9tOjg1cHh9LnNtLW1hcmdpbi05MHB4LXRie21hcmdpbi10b3A6OTBweDttYXJnaW4tYm90dG9tOjkwcHh9LnNtLW1hcmdpbi05NXB4LXRie21hcmdpbi10b3A6OTVweDttYXJnaW4tYm90dG9tOjk1cHh9LnNtLW1hcmdpbi0xMDBweC10YnttYXJnaW4tdG9wOjEwMHB4O21hcmdpbi1ib3R0b206MTAwcHh9LnNtLW1hcmdpbi0xLXJlbS10YnttYXJnaW4tdG9wOjFyZW07bWFyZ2luLWJvdHRvbToxcmVtfS5zbS1tYXJnaW4tMS1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjEuNXJlbTttYXJnaW4tYm90dG9tOjEuNXJlbX0uc20tbWFyZ2luLTItcmVtLXRie21hcmdpbi10b3A6MnJlbTttYXJnaW4tYm90dG9tOjJyZW19LnNtLW1hcmdpbi0yLWhhbGYtcmVtLXRie21hcmdpbi10b3A6Mi41cmVtO21hcmdpbi1ib3R0b206Mi41cmVtfS5zbS1tYXJnaW4tMy1yZW0tdGJ7bWFyZ2luLXRvcDozcmVtO21hcmdpbi1ib3R0b206M3JlbX0uc20tbWFyZ2luLTMtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDozLjVyZW07bWFyZ2luLWJvdHRvbTozLjVyZW19LnNtLW1hcmdpbi00LXJlbS10YnttYXJnaW4tdG9wOjRyZW07bWFyZ2luLWJvdHRvbTo0cmVtfS5zbS1tYXJnaW4tNC1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjQuNXJlbTttYXJnaW4tYm90dG9tOjQuNXJlbX0uc20tbWFyZ2luLTUtcmVtLXRie21hcmdpbi10b3A6NXJlbTttYXJnaW4tYm90dG9tOjVyZW19LnNtLW1hcmdpbi01LWhhbGYtcmVtLXRie21hcmdpbi10b3A6NS41cmVtO21hcmdpbi1ib3R0b206NS41cmVtfS5zbS1tYXJnaW4tNi1yZW0tdGJ7bWFyZ2luLXRvcDo2cmVtO21hcmdpbi1ib3R0b206NnJlbX0uc20tbWFyZ2luLTYtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo2LjVyZW07bWFyZ2luLWJvdHRvbTo2LjVyZW19LnNtLW1hcmdpbi03LXJlbS10YnttYXJnaW4tdG9wOjdyZW07bWFyZ2luLWJvdHRvbTo3cmVtfS5zbS1tYXJnaW4tNy1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjcuNXJlbTttYXJnaW4tYm90dG9tOjcuNXJlbX0uc20tbWFyZ2luLTgtcmVtLXRie21hcmdpbi10b3A6OHJlbTttYXJnaW4tYm90dG9tOjhyZW19LnNtLW1hcmdpbi04LWhhbGYtcmVtLXRie21hcmdpbi10b3A6OC41cmVtO21hcmdpbi1ib3R0b206OC41cmVtfS5zbS1tYXJnaW4tOS1yZW0tdGJ7bWFyZ2luLXRvcDo5cmVtO21hcmdpbi1ib3R0b206OXJlbX0uc20tbWFyZ2luLTktaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo5LjVyZW07bWFyZ2luLWJvdHRvbTo5LjVyZW19LnNtLW1hcmdpbi0xMC1yZW0tdGJ7bWFyZ2luLXRvcDoxMHJlbTttYXJnaW4tYm90dG9tOjEwcmVtfS5zbS1tYXJnaW4tMTAtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDoxMC41cmVtO21hcmdpbi1ib3R0b206MTAuNXJlbX0uc20tbWFyZ2luLWF1dG8tbHJ7bWFyZ2luLWxlZnQ6YXV0byFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OmF1dG8haW1wb3J0YW50fS5zbS1tYXJnaW4tYXV0b3ttYXJnaW46YXV0b30uc20tbm8tbWFyZ2lue21hcmdpbjowIWltcG9ydGFudH0uc20tbm8tbWFyZ2luLXRvcHttYXJnaW4tdG9wOjAhaW1wb3J0YW50fS5zbS1uby1tYXJnaW4tYm90dG9te21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9LnNtLW5vLW1hcmdpbi1sZWZ0e21hcmdpbi1sZWZ0OjAhaW1wb3J0YW50fS5zbS1uby1tYXJnaW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5zbS1uby1tYXJnaW4tdGJ7bWFyZ2luLXRvcDowIWltcG9ydGFudDttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50fS5zbS1uby1tYXJnaW4tbHJ7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50O21hcmdpbi1sZWZ0OjAhaW1wb3J0YW50fS5zbS1wYWRkaW5nLW9uZS1hbGx7cGFkZGluZzoxJX0uc20tcGFkZGluZy10d28tYWxse3BhZGRpbmc6MiV9LnNtLXBhZGRpbmctdGhyZWUtYWxse3BhZGRpbmc6MyV9LnNtLXBhZGRpbmctZm91ci1hbGx7cGFkZGluZzo0JX0uc20tcGFkZGluZy1maXZlLWFsbHtwYWRkaW5nOjUlfS5zbS1wYWRkaW5nLXNpeC1hbGx7cGFkZGluZzo2JX0uc20tcGFkZGluZy1zZXZlbi1hbGx7cGFkZGluZzo3JX0uc20tcGFkZGluZy1laWdodC1hbGx7cGFkZGluZzo4JX0uc20tcGFkZGluZy1uaW5lLWFsbHtwYWRkaW5nOjklfS5zbS1wYWRkaW5nLXRlbi1hbGx7cGFkZGluZzoxMCV9LnNtLXBhZGRpbmctZWxldmVuLWFsbHtwYWRkaW5nOjExJX0uc20tcGFkZGluZy10d2VsdmUtYWxse3BhZGRpbmc6MTIlfS5zbS1wYWRkaW5nLXRoaXJ0ZWVuLWFsbHtwYWRkaW5nOjEzJX0uc20tcGFkZGluZy1mb3VydGVlbi1hbGx7cGFkZGluZzoxNCV9LnNtLXBhZGRpbmctZmlmdGVlbi1hbGx7cGFkZGluZzoxNSV9LnNtLXBhZGRpbmctc2l4dGVlbi1hbGx7cGFkZGluZzoxNiV9LnNtLXBhZGRpbmctc2V2ZW50ZWVuLWFsbHtwYWRkaW5nOjE3JX0uc20tcGFkZGluZy1laWdodGVlbi1hbGx7cGFkZGluZzoxOCV9LnNtLXBhZGRpbmctbmluZXRlZW4tYWxse3BhZGRpbmc6MTklfS5zbS1wYWRkaW5nLXR3ZW50eS1hbGx7cGFkZGluZzoyMCV9LnNtLXBhZGRpbmctNXB4LWFsbHtwYWRkaW5nOjVweH0uc20tcGFkZGluZy0xMHB4LWFsbHtwYWRkaW5nOjEwcHh9LnNtLXBhZGRpbmctMTVweC1hbGx7cGFkZGluZzoxNXB4fS5zbS1wYWRkaW5nLTIwcHgtYWxse3BhZGRpbmc6MjBweH0uc20tcGFkZGluZy0yNXB4LWFsbHtwYWRkaW5nOjI1cHh9LnNtLXBhZGRpbmctMzBweC1hbGx7cGFkZGluZzozMHB4fS5zbS1wYWRkaW5nLTM1cHgtYWxse3BhZGRpbmc6MzVweH0uc20tcGFkZGluZy00MHB4LWFsbHtwYWRkaW5nOjQwcHh9LnNtLXBhZGRpbmctNDVweC1hbGx7cGFkZGluZzo0NXB4fS5zbS1wYWRkaW5nLTUwcHgtYWxse3BhZGRpbmc6NTBweH0uc20tcGFkZGluZy01NXB4LWFsbHtwYWRkaW5nOjU1cHh9LnNtLXBhZGRpbmctNjBweC1hbGx7cGFkZGluZzo2MHB4fS5zbS1wYWRkaW5nLTY1cHgtYWxse3BhZGRpbmc6NjVweH0uc20tcGFkZGluZy03MHB4LWFsbHtwYWRkaW5nOjcwcHh9LnNtLXBhZGRpbmctNzVweC1hbGx7cGFkZGluZzo3NXB4fS5zbS1wYWRkaW5nLTgwcHgtYWxse3BhZGRpbmc6ODBweH0uc20tcGFkZGluZy04NXB4LWFsbHtwYWRkaW5nOjg1cHh9LnNtLXBhZGRpbmctOTBweC1hbGx7cGFkZGluZzo5MHB4fS5zbS1wYWRkaW5nLTk1cHgtYWxse3BhZGRpbmc6OTVweH0uc20tcGFkZGluZy0xMDBweC1hbGx7cGFkZGluZzoxMDBweH0uc20tcGFkZGluZy0xLXJlbS1hbGx7cGFkZGluZzoxcmVtfS5zbS1wYWRkaW5nLTEtaGFsZi1yZW0tYWxse3BhZGRpbmc6MS41cmVtfS5zbS1wYWRkaW5nLTItcmVtLWFsbHtwYWRkaW5nOjJyZW19LnNtLXBhZGRpbmctMi1oYWxmLXJlbS1hbGx7cGFkZGluZzoyLjVyZW19LnNtLXBhZGRpbmctMy1yZW0tYWxse3BhZGRpbmc6M3JlbX0uc20tcGFkZGluZy0zLWhhbGYtcmVtLWFsbHtwYWRkaW5nOjMuNXJlbX0uc20tcGFkZGluZy00LXJlbS1hbGx7cGFkZGluZzo0cmVtfS5zbS1wYWRkaW5nLTQtaGFsZi1yZW0tYWxse3BhZGRpbmc6NC41cmVtfS5zbS1wYWRkaW5nLTUtcmVtLWFsbHtwYWRkaW5nOjVyZW19LnNtLXBhZGRpbmctNS1oYWxmLXJlbS1hbGx7cGFkZGluZzo1LjVyZW19LnNtLXBhZGRpbmctNi1yZW0tYWxse3BhZGRpbmc6NnJlbX0uc20tcGFkZGluZy02LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjYuNXJlbX0uc20tcGFkZGluZy03LXJlbS1hbGx7cGFkZGluZzo3cmVtfS5zbS1wYWRkaW5nLTctaGFsZi1yZW0tYWxse3BhZGRpbmc6Ny41cmVtfS5zbS1wYWRkaW5nLTgtcmVtLWFsbHtwYWRkaW5nOjhyZW19LnNtLXBhZGRpbmctOC1oYWxmLXJlbS1hbGx7cGFkZGluZzo4LjVyZW19LnNtLXBhZGRpbmctOS1yZW0tYWxse3BhZGRpbmc6OXJlbX0uc20tcGFkZGluZy05LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjkuNXJlbX0uc20tcGFkZGluZy0xMC1yZW0tYWxse3BhZGRpbmc6MTByZW19LnNtLXBhZGRpbmctMTAtaGFsZi1yZW0tYWxse3BhZGRpbmc6MTAuNXJlbX0uc20tcGFkZGluZy1vbmUtdG9we3BhZGRpbmctdG9wOjElfS5zbS1wYWRkaW5nLXR3by10b3B7cGFkZGluZy10b3A6MiV9LnNtLXBhZGRpbmctdGhyZWUtdG9we3BhZGRpbmctdG9wOjMlfS5zbS1wYWRkaW5nLWZvdXItdG9we3BhZGRpbmctdG9wOjQlfS5zbS1wYWRkaW5nLWZpdmUtdG9we3BhZGRpbmctdG9wOjUlfS5zbS1wYWRkaW5nLXNpeC10b3B7cGFkZGluZy10b3A6NiV9LnNtLXBhZGRpbmctc2V2ZW4tdG9we3BhZGRpbmctdG9wOjclfS5zbS1wYWRkaW5nLWVpZ2h0LXRvcHtwYWRkaW5nLXRvcDo4JX0uc20tcGFkZGluZy1uaW5lLXRvcHtwYWRkaW5nLXRvcDo5JX0uc20tcGFkZGluZy10ZW4tdG9we3BhZGRpbmctdG9wOjEwJX0uc20tcGFkZGluZy1lbGV2ZW4tdG9we3BhZGRpbmctdG9wOjExJX0uc20tcGFkZGluZy10d2VsdmUtdG9we3BhZGRpbmctdG9wOjEyJX0uc20tcGFkZGluZy10aGlydGVlbi10b3B7cGFkZGluZy10b3A6MTMlfS5zbS1wYWRkaW5nLWZvdXJ0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxNCV9LnNtLXBhZGRpbmctZmlmdGVlbi10b3B7cGFkZGluZy10b3A6MTUlfS5zbS1wYWRkaW5nLXNpeHRlZW4tdG9we3BhZGRpbmctdG9wOjE2JX0uc20tcGFkZGluZy1zZXZlbnRlZW4tdG9we3BhZGRpbmctdG9wOjE3JX0uc20tcGFkZGluZy1laWdodGVlbi10b3B7cGFkZGluZy10b3A6MTglfS5zbS1wYWRkaW5nLW5pbmV0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxOSV9LnNtLXBhZGRpbmctdHdlbnR5LXRvcHtwYWRkaW5nLXRvcDoyMCV9LnNtLXBhZGRpbmctNXB4LXRvcHtwYWRkaW5nLXRvcDo1cHh9LnNtLXBhZGRpbmctMTBweC10b3B7cGFkZGluZy10b3A6MTBweH0uc20tcGFkZGluZy0xNXB4LXRvcHtwYWRkaW5nLXRvcDoxNXB4fS5zbS1wYWRkaW5nLTIwcHgtdG9we3BhZGRpbmctdG9wOjIwcHh9LnNtLXBhZGRpbmctMjVweC10b3B7cGFkZGluZy10b3A6MjVweH0uc20tcGFkZGluZy0zMHB4LXRvcHtwYWRkaW5nLXRvcDozMHB4fS5zbS1wYWRkaW5nLTM1cHgtdG9we3BhZGRpbmctdG9wOjM1cHh9LnNtLXBhZGRpbmctNDBweC10b3B7cGFkZGluZy10b3A6NDBweH0uc20tcGFkZGluZy00NXB4LXRvcHtwYWRkaW5nLXRvcDo0NXB4fS5zbS1wYWRkaW5nLTUwcHgtdG9we3BhZGRpbmctdG9wOjUwcHh9LnNtLXBhZGRpbmctNTVweC10b3B7cGFkZGluZy10b3A6NTVweH0uc20tcGFkZGluZy02MHB4LXRvcHtwYWRkaW5nLXRvcDo2MHB4fS5zbS1wYWRkaW5nLTY1cHgtdG9we3BhZGRpbmctdG9wOjY1cHh9LnNtLXBhZGRpbmctNzBweC10b3B7cGFkZGluZy10b3A6NzBweH0uc20tcGFkZGluZy03NXB4LXRvcHtwYWRkaW5nLXRvcDo3NXB4fS5zbS1wYWRkaW5nLTgwcHgtdG9we3BhZGRpbmctdG9wOjgwcHh9LnNtLXBhZGRpbmctODVweC10b3B7cGFkZGluZy10b3A6ODVweH0uc20tcGFkZGluZy05MHB4LXRvcHtwYWRkaW5nLXRvcDo5MHB4fS5zbS1wYWRkaW5nLTk1cHgtdG9we3BhZGRpbmctdG9wOjk1cHh9LnNtLXBhZGRpbmctMTAwcHgtdG9we3BhZGRpbmctdG9wOjEwMHB4fS5zbS1wYWRkaW5nLTEtcmVtLXRvcHtwYWRkaW5nLXRvcDoxcmVtfS5zbS1wYWRkaW5nLTEtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjEuNXJlbX0uc20tcGFkZGluZy0yLXJlbS10b3B7cGFkZGluZy10b3A6MnJlbX0uc20tcGFkZGluZy0yLWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDoyLjVyZW19LnNtLXBhZGRpbmctMy1yZW0tdG9we3BhZGRpbmctdG9wOjNyZW19LnNtLXBhZGRpbmctMy1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6My41cmVtfS5zbS1wYWRkaW5nLTQtcmVtLXRvcHtwYWRkaW5nLXRvcDo0cmVtfS5zbS1wYWRkaW5nLTQtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjQuNXJlbX0uc20tcGFkZGluZy01LXJlbS10b3B7cGFkZGluZy10b3A6NXJlbX0uc20tcGFkZGluZy01LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo1LjVyZW19LnNtLXBhZGRpbmctNi1yZW0tdG9we3BhZGRpbmctdG9wOjZyZW19LnNtLXBhZGRpbmctNi1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6Ni41cmVtfS5zbS1wYWRkaW5nLTctcmVtLXRvcHtwYWRkaW5nLXRvcDo3cmVtfS5zbS1wYWRkaW5nLTctaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjcuNXJlbX0uc20tcGFkZGluZy04LXJlbS10b3B7cGFkZGluZy10b3A6OHJlbX0uc20tcGFkZGluZy04LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo4LjVyZW19LnNtLXBhZGRpbmctOS1yZW0tdG9we3BhZGRpbmctdG9wOjlyZW19LnNtLXBhZGRpbmctOS1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6OS41cmVtfS5zbS1wYWRkaW5nLTEwLXJlbS10b3B7cGFkZGluZy10b3A6MTByZW19LnNtLXBhZGRpbmctMTAtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjEwLjVyZW19LnNtLXBhZGRpbmctb25lLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxJX0uc20tcGFkZGluZy10d28tYm90dG9te3BhZGRpbmctYm90dG9tOjIlfS5zbS1wYWRkaW5nLXRocmVlLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTozJX0uc20tcGFkZGluZy1mb3VyLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo0JX0uc20tcGFkZGluZy1maXZlLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1JX0uc20tcGFkZGluZy1zaXgtYm90dG9te3BhZGRpbmctYm90dG9tOjYlfS5zbS1wYWRkaW5nLXNldmVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo3JX0uc20tcGFkZGluZy1laWdodC1ib3R0b217cGFkZGluZy1ib3R0b206OCV9LnNtLXBhZGRpbmctbmluZS1ib3R0b217cGFkZGluZy1ib3R0b206OSV9LnNtLXBhZGRpbmctdGVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMCV9LnNtLXBhZGRpbmctZWxldmVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMSV9LnNtLXBhZGRpbmctdHdlbHZlLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMiV9LnNtLXBhZGRpbmctdGhpcnRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjEzJX0uc20tcGFkZGluZy1mb3VydGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTQlfS5zbS1wYWRkaW5nLWZpZnRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE1JX0uc20tcGFkZGluZy1zaXh0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxNiV9LnNtLXBhZGRpbmctc2V2ZW50ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxNyV9LnNtLXBhZGRpbmctZWlnaHRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE4JX0uc20tcGFkZGluZy1uaW5ldGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTklfS5zbS1wYWRkaW5nLXR3ZW50eS1ib3R0b217cGFkZGluZy1ib3R0b206MjAlfS5zbS1wYWRkaW5nLTVweC1ib3R0b217cGFkZGluZy1ib3R0b206NXB4fS5zbS1wYWRkaW5nLTEwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjEwcHh9LnNtLXBhZGRpbmctMTVweC1ib3R0b217cGFkZGluZy1ib3R0b206MTVweH0uc20tcGFkZGluZy0yMHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToyMHB4fS5zbS1wYWRkaW5nLTI1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjI1cHh9LnNtLXBhZGRpbmctMzBweC1ib3R0b217cGFkZGluZy1ib3R0b206MzBweH0uc20tcGFkZGluZy0zNXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTozNXB4fS5zbS1wYWRkaW5nLTQwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjQwcHh9LnNtLXBhZGRpbmctNDVweC1ib3R0b217cGFkZGluZy1ib3R0b206NDVweH0uc20tcGFkZGluZy01MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1MHB4fS5zbS1wYWRkaW5nLTU1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjU1cHh9LnNtLXBhZGRpbmctNjBweC1ib3R0b217cGFkZGluZy1ib3R0b206NjBweH0uc20tcGFkZGluZy02NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo2NXB4fS5zbS1wYWRkaW5nLTcwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjcwcHh9LnNtLXBhZGRpbmctNzVweC1ib3R0b217cGFkZGluZy1ib3R0b206NzVweH0uc20tcGFkZGluZy04MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo4MHB4fS5zbS1wYWRkaW5nLTg1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjg1cHh9LnNtLXBhZGRpbmctOTBweC1ib3R0b217cGFkZGluZy1ib3R0b206OTBweH0uc20tcGFkZGluZy05NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo5NXB4fS5zbS1wYWRkaW5nLTEwMHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMDBweH0uc20tcGFkZGluZy0xLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206MXJlbX0uc20tcGFkZGluZy0xLWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxLjVyZW19LnNtLXBhZGRpbmctMi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjJyZW19LnNtLXBhZGRpbmctMi1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206Mi41cmVtfS5zbS1wYWRkaW5nLTMtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTozcmVtfS5zbS1wYWRkaW5nLTMtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjMuNXJlbX0uc20tcGFkZGluZy00LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206NHJlbX0uc20tcGFkZGluZy00LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo0LjVyZW19LnNtLXBhZGRpbmctNS1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjVyZW19LnNtLXBhZGRpbmctNS1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206NS41cmVtfS5zbS1wYWRkaW5nLTYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo2cmVtfS5zbS1wYWRkaW5nLTYtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjYuNXJlbX0uc20tcGFkZGluZy03LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206N3JlbX0uc20tcGFkZGluZy03LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo3LjVyZW19LnNtLXBhZGRpbmctOC1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjhyZW19LnNtLXBhZGRpbmctOC1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206OC41cmVtfS5zbS1wYWRkaW5nLTktcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo5cmVtfS5zbS1wYWRkaW5nLTktaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjkuNXJlbX0uc20tcGFkZGluZy0xMC1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjEwcmVtfS5zbS1wYWRkaW5nLTEwLWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMC41cmVtfS5zbS1wYWRkaW5nLW9uZS1yaWdodHtwYWRkaW5nLXJpZ2h0OjElfS5zbS1wYWRkaW5nLXR3by1yaWdodHtwYWRkaW5nLXJpZ2h0OjIlfS5zbS1wYWRkaW5nLXRocmVlLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MyV9LnNtLXBhZGRpbmctZm91ci1yaWdodHtwYWRkaW5nLXJpZ2h0OjQlfS5zbS1wYWRkaW5nLWZpdmUtcmlnaHR7cGFkZGluZy1yaWdodDo1JX0uc20tcGFkZGluZy1zaXgtcmlnaHR7cGFkZGluZy1yaWdodDo2JX0uc20tcGFkZGluZy1zZXZlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjclfS5zbS1wYWRkaW5nLWVpZ2h0LXJpZ2h0e3BhZGRpbmctcmlnaHQ6OCV9LnNtLXBhZGRpbmctbmluZS1yaWdodHtwYWRkaW5nLXJpZ2h0OjklfS5zbS1wYWRkaW5nLXRlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjEwJX0uc20tcGFkZGluZy1lbGV2ZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxMSV9LnNtLXBhZGRpbmctdHdlbHZlLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTIlfS5zbS1wYWRkaW5nLXRoaXJ0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTMlfS5zbS1wYWRkaW5nLWZvdXJ0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTQlfS5zbS1wYWRkaW5nLWZpZnRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxNSV9LnNtLXBhZGRpbmctc2l4dGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE2JX0uc20tcGFkZGluZy1zZXZlbnRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxNyV9LnNtLXBhZGRpbmctZWlnaHRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxOCV9LnNtLXBhZGRpbmctbmluZXRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxOSV9LnNtLXBhZGRpbmctdHdlbnR5LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjAlfS5zbS1wYWRkaW5nLTVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjVweH0uc20tcGFkZGluZy0xMHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTBweH0uc20tcGFkZGluZy0xNXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTVweH0uc20tcGFkZGluZy0yMHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjBweH0uc20tcGFkZGluZy0yNXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjVweH0uc20tcGFkZGluZy0zMHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MzBweH0uc20tcGFkZGluZy0zNXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MzVweH0uc20tcGFkZGluZy00MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NDBweH0uc20tcGFkZGluZy00NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NDVweH0uc20tcGFkZGluZy01MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NTBweH0uc20tcGFkZGluZy01NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NTVweH0uc20tcGFkZGluZy02MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NjBweH0uc20tcGFkZGluZy02NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NjVweH0uc20tcGFkZGluZy03MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NzBweH0uc20tcGFkZGluZy03NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NzVweH0uc20tcGFkZGluZy04MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6ODBweH0uc20tcGFkZGluZy04NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6ODVweH0uc20tcGFkZGluZy05MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6OTBweH0uc20tcGFkZGluZy05NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6OTVweH0uc20tcGFkZGluZy0xMDBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjEwMHB4fS5zbS1wYWRkaW5nLTEtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MXJlbX0uc20tcGFkZGluZy0xLWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MS41cmVtfS5zbS1wYWRkaW5nLTItcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MnJlbX0uc20tcGFkZGluZy0yLWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6Mi41cmVtfS5zbS1wYWRkaW5nLTMtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6M3JlbX0uc20tcGFkZGluZy0zLWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6My41cmVtfS5zbS1wYWRkaW5nLTQtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NHJlbX0uc20tcGFkZGluZy00LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NC41cmVtfS5zbS1wYWRkaW5nLTUtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NXJlbX0uc20tcGFkZGluZy01LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NS41cmVtfS5zbS1wYWRkaW5nLTYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NnJlbX0uc20tcGFkZGluZy02LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6Ni41cmVtfS5zbS1wYWRkaW5nLTctcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6N3JlbX0uc20tcGFkZGluZy03LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6Ny41cmVtfS5zbS1wYWRkaW5nLTgtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6OHJlbX0uc20tcGFkZGluZy04LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6OC41cmVtfS5zbS1wYWRkaW5nLTktcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6OXJlbX0uc20tcGFkZGluZy05LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6OS41cmVtfS5zbS1wYWRkaW5nLTEwLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjEwcmVtfS5zbS1wYWRkaW5nLTEwLWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTAuNXJlbX0uc20tcGFkZGluZy1vbmUtbGVmdHtwYWRkaW5nLWxlZnQ6MSV9LnNtLXBhZGRpbmctdHdvLWxlZnR7cGFkZGluZy1sZWZ0OjIlfS5zbS1wYWRkaW5nLXRocmVlLWxlZnR7cGFkZGluZy1sZWZ0OjMlfS5zbS1wYWRkaW5nLWZvdXItbGVmdHtwYWRkaW5nLWxlZnQ6NCV9LnNtLXBhZGRpbmctZml2ZS1sZWZ0e3BhZGRpbmctbGVmdDo1JX0uc20tcGFkZGluZy1zaXgtbGVmdHtwYWRkaW5nLWxlZnQ6NiV9LnNtLXBhZGRpbmctc2V2ZW4tbGVmdHtwYWRkaW5nLWxlZnQ6NyV9LnNtLXBhZGRpbmctZWlnaHQtbGVmdHtwYWRkaW5nLWxlZnQ6OCV9LnNtLXBhZGRpbmctbmluZS1sZWZ0e3BhZGRpbmctbGVmdDo5JX0uc20tcGFkZGluZy10ZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTAlfS5zbS1wYWRkaW5nLWVsZXZlbi1sZWZ0e3BhZGRpbmctbGVmdDoxMSV9LnNtLXBhZGRpbmctdHdlbHZlLWxlZnR7cGFkZGluZy1sZWZ0OjEyJX0uc20tcGFkZGluZy10aGlydGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxMyV9LnNtLXBhZGRpbmctZm91cnRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTQlfS5zbS1wYWRkaW5nLWZpZnRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTUlfS5zbS1wYWRkaW5nLXNpeHRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTYlfS5zbS1wYWRkaW5nLXNldmVudGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxNyV9LnNtLXBhZGRpbmctZWlnaHRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTglfS5zbS1wYWRkaW5nLW5pbmV0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE5JX0uc20tcGFkZGluZy10d2VudHktbGVmdHtwYWRkaW5nLWxlZnQ6MjAlfS5zbS1wYWRkaW5nLTVweC1sZWZ0e3BhZGRpbmctbGVmdDo1cHh9LnNtLXBhZGRpbmctMTBweC1sZWZ0e3BhZGRpbmctbGVmdDoxMHB4fS5zbS1wYWRkaW5nLTE1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6MTVweH0uc20tcGFkZGluZy0yMHB4LWxlZnR7cGFkZGluZy1sZWZ0OjIwcHh9LnNtLXBhZGRpbmctMjVweC1sZWZ0e3BhZGRpbmctbGVmdDoyNXB4fS5zbS1wYWRkaW5nLTMwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6MzBweH0uc20tcGFkZGluZy0zNXB4LWxlZnR7cGFkZGluZy1sZWZ0OjM1cHh9LnNtLXBhZGRpbmctNDBweC1sZWZ0e3BhZGRpbmctbGVmdDo0MHB4fS5zbS1wYWRkaW5nLTQ1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6NDVweH0uc20tcGFkZGluZy01MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjUwcHh9LnNtLXBhZGRpbmctNTVweC1sZWZ0e3BhZGRpbmctbGVmdDo1NXB4fS5zbS1wYWRkaW5nLTYwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6NjBweH0uc20tcGFkZGluZy02NXB4LWxlZnR7cGFkZGluZy1sZWZ0OjY1cHh9LnNtLXBhZGRpbmctNzBweC1sZWZ0e3BhZGRpbmctbGVmdDo3MHB4fS5zbS1wYWRkaW5nLTc1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6NzVweH0uc20tcGFkZGluZy04MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjgwcHh9LnNtLXBhZGRpbmctODVweC1sZWZ0e3BhZGRpbmctbGVmdDo4NXB4fS5zbS1wYWRkaW5nLTkwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6OTBweH0uc20tcGFkZGluZy05NXB4LWxlZnR7cGFkZGluZy1sZWZ0Ojk1cHh9LnNtLXBhZGRpbmctMTAwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6MTAwcHh9LnNtLXBhZGRpbmctMS1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6MXJlbX0uc20tcGFkZGluZy0xLWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjEuNXJlbX0uc20tcGFkZGluZy0yLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoycmVtfS5zbS1wYWRkaW5nLTItaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6Mi41cmVtfS5zbS1wYWRkaW5nLTMtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjNyZW19LnNtLXBhZGRpbmctMy1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDozLjVyZW19LnNtLXBhZGRpbmctNC1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6NHJlbX0uc20tcGFkZGluZy00LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjQuNXJlbX0uc20tcGFkZGluZy01LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo1cmVtfS5zbS1wYWRkaW5nLTUtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6NS41cmVtfS5zbS1wYWRkaW5nLTYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjZyZW19LnNtLXBhZGRpbmctNi1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo2LjVyZW19LnNtLXBhZGRpbmctNy1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6N3JlbX0uc20tcGFkZGluZy03LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjcuNXJlbX0uc20tcGFkZGluZy04LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo4cmVtfS5zbS1wYWRkaW5nLTgtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6OC41cmVtfS5zbS1wYWRkaW5nLTktcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjlyZW19LnNtLXBhZGRpbmctOS1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo5LjVyZW19LnNtLXBhZGRpbmctMTAtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjEwcmVtfS5zbS1wYWRkaW5nLTEwLWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjEwLjVyZW19LnNtLXBhZGRpbmctb25lLXRie3BhZGRpbmctdG9wOjElO3BhZGRpbmctYm90dG9tOjElfS5zbS1wYWRkaW5nLXR3by10YntwYWRkaW5nLXRvcDoyJTtwYWRkaW5nLWJvdHRvbToyJX0uc20tcGFkZGluZy10aHJlZS10YntwYWRkaW5nLXRvcDozJTtwYWRkaW5nLWJvdHRvbTozJX0uc20tcGFkZGluZy1mb3VyLXRie3BhZGRpbmctdG9wOjQlO3BhZGRpbmctYm90dG9tOjQlfS5zbS1wYWRkaW5nLWZpdmUtdGJ7cGFkZGluZy10b3A6NSU7cGFkZGluZy1ib3R0b206NSV9LnNtLXBhZGRpbmctc2l4LXRie3BhZGRpbmctdG9wOjYlO3BhZGRpbmctYm90dG9tOjYlfS5zbS1wYWRkaW5nLXNldmVuLXRie3BhZGRpbmctdG9wOjclO3BhZGRpbmctYm90dG9tOjclfS5zbS1wYWRkaW5nLWVpZ2h0LXRie3BhZGRpbmctdG9wOjglO3BhZGRpbmctYm90dG9tOjglfS5zbS1wYWRkaW5nLW5pbmUtdGJ7cGFkZGluZy10b3A6OSU7cGFkZGluZy1ib3R0b206OSV9LnNtLXBhZGRpbmctdGVuLXRie3BhZGRpbmctdG9wOjEwJTtwYWRkaW5nLWJvdHRvbToxMCV9LnNtLXBhZGRpbmctZWxldmVuLXRie3BhZGRpbmctdG9wOjExJTtwYWRkaW5nLWJvdHRvbToxMSV9LnNtLXBhZGRpbmctdHdlbHZlLXRie3BhZGRpbmctdG9wOjEyJTtwYWRkaW5nLWJvdHRvbToxMiV9LnNtLXBhZGRpbmctdGhpcnRlZW4tdGJ7cGFkZGluZy10b3A6MTMlO3BhZGRpbmctYm90dG9tOjEzJX0uc20tcGFkZGluZy1mb3VydGVlbi10YntwYWRkaW5nLXRvcDoxNCU7cGFkZGluZy1ib3R0b206MTQlfS5zbS1wYWRkaW5nLWZpZnRlZW4tdGJ7cGFkZGluZy10b3A6MTUlO3BhZGRpbmctYm90dG9tOjE1JX0uc20tcGFkZGluZy1zaXh0ZWVuLXRie3BhZGRpbmctdG9wOjE2JTtwYWRkaW5nLWJvdHRvbToxNiV9LnNtLXBhZGRpbmctc2V2ZW50ZWVuLXRie3BhZGRpbmctdG9wOjE3JTtwYWRkaW5nLWJvdHRvbToxNyV9LnNtLXBhZGRpbmctZWlnaHRlZW4tdGJ7cGFkZGluZy10b3A6MTglO3BhZGRpbmctYm90dG9tOjE4JX0uc20tcGFkZGluZy1uaW5ldGVlbi10YntwYWRkaW5nLXRvcDoxOSU7cGFkZGluZy1ib3R0b206MTklfS5zbS1wYWRkaW5nLXR3ZW50eS10YntwYWRkaW5nLXRvcDoyMCU7cGFkZGluZy1ib3R0b206MjAlfS5zbS1wYWRkaW5nLTVweC10YntwYWRkaW5nLXRvcDo1cHg7cGFkZGluZy1ib3R0b206NXB4fS5zbS1wYWRkaW5nLTEwcHgtdGJ7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4fS5zbS1wYWRkaW5nLTE1cHgtdGJ7cGFkZGluZy10b3A6MTVweDtwYWRkaW5nLWJvdHRvbToxNXB4fS5zbS1wYWRkaW5nLTIwcHgtdGJ7cGFkZGluZy10b3A6MjBweDtwYWRkaW5nLWJvdHRvbToyMHB4fS5zbS1wYWRkaW5nLTI1cHgtdGJ7cGFkZGluZy10b3A6MjVweDtwYWRkaW5nLWJvdHRvbToyNXB4fS5zbS1wYWRkaW5nLTMwcHgtdGJ7cGFkZGluZy10b3A6MzBweDtwYWRkaW5nLWJvdHRvbTozMHB4fS5zbS1wYWRkaW5nLTM1cHgtdGJ7cGFkZGluZy10b3A6MzVweDtwYWRkaW5nLWJvdHRvbTozNXB4fS5zbS1wYWRkaW5nLTQwcHgtdGJ7cGFkZGluZy10b3A6NDBweDtwYWRkaW5nLWJvdHRvbTo0MHB4fS5zbS1wYWRkaW5nLTQ1cHgtdGJ7cGFkZGluZy10b3A6NDVweDtwYWRkaW5nLWJvdHRvbTo0NXB4fS5zbS1wYWRkaW5nLTUwcHgtdGJ7cGFkZGluZy10b3A6NTBweDtwYWRkaW5nLWJvdHRvbTo1MHB4fS5zbS1wYWRkaW5nLTU1cHgtdGJ7cGFkZGluZy10b3A6NTVweDtwYWRkaW5nLWJvdHRvbTo1NXB4fS5zbS1wYWRkaW5nLTYwcHgtdGJ7cGFkZGluZy10b3A6NjBweDtwYWRkaW5nLWJvdHRvbTo2MHB4fS5zbS1wYWRkaW5nLTY1cHgtdGJ7cGFkZGluZy10b3A6NjVweDtwYWRkaW5nLWJvdHRvbTo2NXB4fS5zbS1wYWRkaW5nLTcwcHgtdGJ7cGFkZGluZy10b3A6NzBweDtwYWRkaW5nLWJvdHRvbTo3MHB4fS5zbS1wYWRkaW5nLTc1cHgtdGJ7cGFkZGluZy10b3A6NzVweDtwYWRkaW5nLWJvdHRvbTo3NXB4fS5zbS1wYWRkaW5nLTgwcHgtdGJ7cGFkZGluZy10b3A6ODBweDtwYWRkaW5nLWJvdHRvbTo4MHB4fS5zbS1wYWRkaW5nLTg1cHgtdGJ7cGFkZGluZy10b3A6ODVweDtwYWRkaW5nLWJvdHRvbTo4NXB4fS5zbS1wYWRkaW5nLTkwcHgtdGJ7cGFkZGluZy10b3A6OTBweDtwYWRkaW5nLWJvdHRvbTo5MHB4fS5zbS1wYWRkaW5nLTk1cHgtdGJ7cGFkZGluZy10b3A6OTVweDtwYWRkaW5nLWJvdHRvbTo5NXB4fS5zbS1wYWRkaW5nLTEwMHB4LXRie3BhZGRpbmctdG9wOjEwMHB4O3BhZGRpbmctYm90dG9tOjEwMHB4fS5zbS1wYWRkaW5nLTEtcmVtLXRie3BhZGRpbmctdG9wOjFyZW07cGFkZGluZy1ib3R0b206MXJlbX0uc20tcGFkZGluZy0xLWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjEuNXJlbTtwYWRkaW5nLWJvdHRvbToxLjVyZW19LnNtLXBhZGRpbmctMi1yZW0tdGJ7cGFkZGluZy10b3A6MnJlbTtwYWRkaW5nLWJvdHRvbToycmVtfS5zbS1wYWRkaW5nLTItaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6Mi41cmVtO3BhZGRpbmctYm90dG9tOjIuNXJlbX0uc20tcGFkZGluZy0zLXJlbS10YntwYWRkaW5nLXRvcDozcmVtO3BhZGRpbmctYm90dG9tOjNyZW19LnNtLXBhZGRpbmctMy1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDozLjVyZW07cGFkZGluZy1ib3R0b206My41cmVtfS5zbS1wYWRkaW5nLTQtcmVtLXRie3BhZGRpbmctdG9wOjRyZW07cGFkZGluZy1ib3R0b206NHJlbX0uc20tcGFkZGluZy00LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjQuNXJlbTtwYWRkaW5nLWJvdHRvbTo0LjVyZW19LnNtLXBhZGRpbmctNS1yZW0tdGJ7cGFkZGluZy10b3A6NXJlbTtwYWRkaW5nLWJvdHRvbTo1cmVtfS5zbS1wYWRkaW5nLTUtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6NS41cmVtO3BhZGRpbmctYm90dG9tOjUuNXJlbX0uc20tcGFkZGluZy02LXJlbS10YntwYWRkaW5nLXRvcDo2cmVtO3BhZGRpbmctYm90dG9tOjZyZW19LnNtLXBhZGRpbmctNi1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo2LjVyZW07cGFkZGluZy1ib3R0b206Ni41cmVtfS5zbS1wYWRkaW5nLTctcmVtLXRie3BhZGRpbmctdG9wOjdyZW07cGFkZGluZy1ib3R0b206N3JlbX0uc20tcGFkZGluZy03LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjcuNXJlbTtwYWRkaW5nLWJvdHRvbTo3LjVyZW19LnNtLXBhZGRpbmctOC1yZW0tdGJ7cGFkZGluZy10b3A6OHJlbTtwYWRkaW5nLWJvdHRvbTo4cmVtfS5zbS1wYWRkaW5nLTgtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6OC41cmVtO3BhZGRpbmctYm90dG9tOjguNXJlbX0uc20tcGFkZGluZy05LXJlbS10YntwYWRkaW5nLXRvcDo5cmVtO3BhZGRpbmctYm90dG9tOjlyZW19LnNtLXBhZGRpbmctOS1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo5LjVyZW07cGFkZGluZy1ib3R0b206OS41cmVtfS5zbS1wYWRkaW5nLTEwLXJlbS10YntwYWRkaW5nLXRvcDoxMHJlbTtwYWRkaW5nLWJvdHRvbToxMHJlbX0uc20tcGFkZGluZy0xMC1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDoxMC41cmVtO3BhZGRpbmctYm90dG9tOjEwLjVyZW19LnNtLXBhZGRpbmctb25lLWxye3BhZGRpbmctbGVmdDoxJTtwYWRkaW5nLXJpZ2h0OjElfS5zbS1wYWRkaW5nLXR3by1scntwYWRkaW5nLWxlZnQ6MiU7cGFkZGluZy1yaWdodDoyJX0uc20tcGFkZGluZy10aHJlZS1scntwYWRkaW5nLWxlZnQ6MyU7cGFkZGluZy1yaWdodDozJX0uc20tcGFkZGluZy1mb3VyLWxye3BhZGRpbmctbGVmdDo0JTtwYWRkaW5nLXJpZ2h0OjQlfS5zbS1wYWRkaW5nLWZpdmUtbHJ7cGFkZGluZy1sZWZ0OjUlO3BhZGRpbmctcmlnaHQ6NSV9LnNtLXBhZGRpbmctc2l4LWxye3BhZGRpbmctbGVmdDo2JTtwYWRkaW5nLXJpZ2h0OjYlfS5zbS1wYWRkaW5nLXNldmVuLWxye3BhZGRpbmctbGVmdDo3JTtwYWRkaW5nLXJpZ2h0OjclfS5zbS1wYWRkaW5nLWVpZ2h0LWxye3BhZGRpbmctbGVmdDo4JTtwYWRkaW5nLXJpZ2h0OjglfS5zbS1wYWRkaW5nLW5pbmUtbHJ7cGFkZGluZy1sZWZ0OjklO3BhZGRpbmctcmlnaHQ6OSV9LnNtLXBhZGRpbmctdGVuLWxye3BhZGRpbmctbGVmdDoxMCU7cGFkZGluZy1yaWdodDoxMCV9LnNtLXBhZGRpbmctZWxldmVuLWxye3BhZGRpbmctbGVmdDoxMSU7cGFkZGluZy1yaWdodDoxMSV9LnNtLXBhZGRpbmctdHdlbHZlLWxye3BhZGRpbmctbGVmdDoxMiU7cGFkZGluZy1yaWdodDoxMiV9LnNtLXBhZGRpbmctdGhpcnRlZW4tbHJ7cGFkZGluZy1sZWZ0OjEzJTtwYWRkaW5nLXJpZ2h0OjEzJX0uc20tcGFkZGluZy1mb3VydGVlbi1scntwYWRkaW5nLWxlZnQ6MTQlO3BhZGRpbmctcmlnaHQ6MTQlfS5zbS1wYWRkaW5nLWZpZnRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE1JTtwYWRkaW5nLXJpZ2h0OjE1JX0uc20tcGFkZGluZy1zaXh0ZWVuLWxye3BhZGRpbmctbGVmdDoxNiU7cGFkZGluZy1yaWdodDoxNiV9LnNtLXBhZGRpbmctc2V2ZW50ZWVuLWxye3BhZGRpbmctbGVmdDoxNyU7cGFkZGluZy1yaWdodDoxNyV9LnNtLXBhZGRpbmctZWlnaHRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE4JTtwYWRkaW5nLXJpZ2h0OjE4JX0uc20tcGFkZGluZy1uaW5ldGVlbi1scntwYWRkaW5nLWxlZnQ6MTklO3BhZGRpbmctcmlnaHQ6MTklfS5zbS1wYWRkaW5nLXR3ZW50eS1scntwYWRkaW5nLWxlZnQ6MjAlO3BhZGRpbmctcmlnaHQ6MjAlfS5zbS1wYWRkaW5nLTVweC1scntwYWRkaW5nLWxlZnQ6NXB4O3BhZGRpbmctcmlnaHQ6NXB4fS5zbS1wYWRkaW5nLTEwcHgtbHJ7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4fS5zbS1wYWRkaW5nLTE1cHgtbHJ7cGFkZGluZy1sZWZ0OjE1cHg7cGFkZGluZy1yaWdodDoxNXB4fS5zbS1wYWRkaW5nLTIwcHgtbHJ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4fS5zbS1wYWRkaW5nLTI1cHgtbHJ7cGFkZGluZy1sZWZ0OjI1cHg7cGFkZGluZy1yaWdodDoyNXB4fS5zbS1wYWRkaW5nLTMwcHgtbHJ7cGFkZGluZy1sZWZ0OjMwcHg7cGFkZGluZy1yaWdodDozMHB4fS5zbS1wYWRkaW5nLTM1cHgtbHJ7cGFkZGluZy1sZWZ0OjM1cHg7cGFkZGluZy1yaWdodDozNXB4fS5zbS1wYWRkaW5nLTQwcHgtbHJ7cGFkZGluZy1sZWZ0OjQwcHg7cGFkZGluZy1yaWdodDo0MHB4fS5zbS1wYWRkaW5nLTQ1cHgtbHJ7cGFkZGluZy1sZWZ0OjQ1cHg7cGFkZGluZy1yaWdodDo0NXB4fS5zbS1wYWRkaW5nLTUwcHgtbHJ7cGFkZGluZy1sZWZ0OjUwcHg7cGFkZGluZy1yaWdodDo1MHB4fS5zbS1wYWRkaW5nLTU1cHgtbHJ7cGFkZGluZy1sZWZ0OjU1cHg7cGFkZGluZy1yaWdodDo1NXB4fS5zbS1wYWRkaW5nLTYwcHgtbHJ7cGFkZGluZy1sZWZ0OjYwcHg7cGFkZGluZy1yaWdodDo2MHB4fS5zbS1wYWRkaW5nLTY1cHgtbHJ7cGFkZGluZy1sZWZ0OjY1cHg7cGFkZGluZy1yaWdodDo2NXB4fS5zbS1wYWRkaW5nLTcwcHgtbHJ7cGFkZGluZy1sZWZ0OjcwcHg7cGFkZGluZy1yaWdodDo3MHB4fS5zbS1wYWRkaW5nLTc1cHgtbHJ7cGFkZGluZy1sZWZ0Ojc1cHg7cGFkZGluZy1yaWdodDo3NXB4fS5zbS1wYWRkaW5nLTgwcHgtbHJ7cGFkZGluZy1sZWZ0OjgwcHg7cGFkZGluZy1yaWdodDo4MHB4fS5zbS1wYWRkaW5nLTg1cHgtbHJ7cGFkZGluZy1sZWZ0Ojg1cHg7cGFkZGluZy1yaWdodDo4NXB4fS5zbS1wYWRkaW5nLTkwcHgtbHJ7cGFkZGluZy1sZWZ0OjkwcHg7cGFkZGluZy1yaWdodDo5MHB4fS5zbS1wYWRkaW5nLTk1cHgtbHJ7cGFkZGluZy1sZWZ0Ojk1cHg7cGFkZGluZy1yaWdodDo5NXB4fS5zbS1wYWRkaW5nLTEwMHB4LWxye3BhZGRpbmctbGVmdDoxMDBweDtwYWRkaW5nLXJpZ2h0OjEwMHB4fS5zbS1wYWRkaW5nLTEtcmVtLWxye3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbX0uc20tcGFkZGluZy0xLWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDoxLjVyZW07cGFkZGluZy1yaWdodDoxLjVyZW19LnNtLXBhZGRpbmctMi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjJyZW07cGFkZGluZy1yaWdodDoycmVtfS5zbS1wYWRkaW5nLTItaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjIuNXJlbTtwYWRkaW5nLXJpZ2h0OjIuNXJlbX0uc20tcGFkZGluZy0zLXJlbS1scntwYWRkaW5nLWxlZnQ6M3JlbTtwYWRkaW5nLXJpZ2h0OjNyZW19LnNtLXBhZGRpbmctMy1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6My41cmVtO3BhZGRpbmctcmlnaHQ6My41cmVtfS5zbS1wYWRkaW5nLTQtcmVtLWxye3BhZGRpbmctbGVmdDo0cmVtO3BhZGRpbmctcmlnaHQ6NHJlbX0uc20tcGFkZGluZy00LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo0LjVyZW07cGFkZGluZy1yaWdodDo0LjVyZW19LnNtLXBhZGRpbmctNS1yZW0tbHJ7cGFkZGluZy1sZWZ0OjVyZW07cGFkZGluZy1yaWdodDo1cmVtfS5zbS1wYWRkaW5nLTUtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjUuNXJlbTtwYWRkaW5nLXJpZ2h0OjUuNXJlbX0uc20tcGFkZGluZy02LXJlbS1scntwYWRkaW5nLWxlZnQ6NnJlbTtwYWRkaW5nLXJpZ2h0OjZyZW19LnNtLXBhZGRpbmctNi1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6Ni41cmVtO3BhZGRpbmctcmlnaHQ6Ni41cmVtfS5zbS1wYWRkaW5nLTctcmVtLWxye3BhZGRpbmctbGVmdDo3cmVtO3BhZGRpbmctcmlnaHQ6N3JlbX0uc20tcGFkZGluZy03LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo3LjVyZW07cGFkZGluZy1yaWdodDo3LjVyZW19LnNtLXBhZGRpbmctOC1yZW0tbHJ7cGFkZGluZy1sZWZ0OjhyZW07cGFkZGluZy1yaWdodDo4cmVtfS5zbS1wYWRkaW5nLTgtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjguNXJlbTtwYWRkaW5nLXJpZ2h0OjguNXJlbX0uc20tcGFkZGluZy05LXJlbS1scntwYWRkaW5nLWxlZnQ6OXJlbTtwYWRkaW5nLXJpZ2h0OjlyZW19LnNtLXBhZGRpbmctOS1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6OS41cmVtO3BhZGRpbmctcmlnaHQ6OS41cmVtfS5zbS1wYWRkaW5nLTEwLXJlbS1scntwYWRkaW5nLWxlZnQ6MTByZW07cGFkZGluZy1yaWdodDoxMHJlbX0uc20tcGFkZGluZy0xMC1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6MTAuNXJlbTtwYWRkaW5nLXJpZ2h0OjEwLjVyZW19LnNtLW5vLXBhZGRpbmd7cGFkZGluZzowIWltcG9ydGFudH0uc20tbm8tcGFkZGluZy1scntwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0uc20tbm8tcGFkZGluZy10YntwYWRkaW5nLXRvcDowIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0uc20tbm8tcGFkZGluZy10b3B7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnNtLW5vLXBhZGRpbmctYm90dG9te3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5zbS1uby1wYWRkaW5nLWxlZnR7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50fS5zbS1uby1wYWRkaW5nLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9LnNtLWQtaW5pdGlhbHtkaXNwbGF5OmluaXRpYWwhaW1wb3J0YW50fS5zbS1vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVuIWltcG9ydGFudH0uc20tb3ZlcmZsb3ctdmlzaWJsZXtvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH0uc20tb3ZlcmZsb3ctYXV0b3tvdmVyZmxvdzphdXRvIWltcG9ydGFudH0uc20tcG9zaXRpb24tcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmUhaW1wb3J0YW50fS5zbS1wb3NpdGlvbi1hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnR9LnNtLXBvc2l0aW9uLWZpeGVke3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudH0uc20tcG9zaXRpb24taW5oZXJpdHtwb3NpdGlvbjppbmhlcml0IWltcG9ydGFudH0uc20tcG9zaXRpb24taW5pdGlhbHtwb3NpdGlvbjppbml0aWFsIWltcG9ydGFudH0uc20tdG9wLTBweHt0b3A6MH0uc20tdG9wLTFweHt0b3A6MXB4fS5zbS10b3AtMnB4e3RvcDoycHh9LnNtLXRvcC0zcHh7dG9wOjNweH0uc20tdG9wLTRweHt0b3A6NHB4fS5zbS10b3AtNXB4e3RvcDo1cHh9LnNtLXRvcC02cHh7dG9wOjZweH0uc20tdG9wLTdweHt0b3A6N3B4fS5zbS10b3AtOHB4e3RvcDo4cHh9LnNtLXRvcC05cHh7dG9wOjlweH0uc20tdG9wLTEwcHh7dG9wOjEwcHh9LnNtLXRvcC0xNXB4e3RvcDoxNXB4fS5zbS10b3AtMjBweHt0b3A6MjBweH0uc20tdG9wLTI1cHh7dG9wOjI1cHh9LnNtLXRvcC0zMHB4e3RvcDozMHB4fS5zbS10b3AtMzVweHt0b3A6MzVweH0uc20tdG9wLTQwcHh7dG9wOjQwcHh9LnNtLXRvcC00NXB4e3RvcDo0NXB4fS5zbS10b3AtNTBweHt0b3A6NTBweH0uc20tdG9wLWF1dG97dG9wOmF1dG99LnNtLXRvcC1pbmhlcml0e3RvcDppbmhlcml0fS5zbS10b3AtbWludXMtMXB4e3RvcDotMXB4fS5zbS10b3AtbWludXMtMnB4e3RvcDotMnB4fS5zbS10b3AtbWludXMtM3B4e3RvcDotM3B4fS5zbS10b3AtbWludXMtNHB4e3RvcDotNHB4fS5zbS10b3AtbWludXMtNXB4e3RvcDotNXB4fS5zbS10b3AtbWludXMtNnB4e3RvcDotNnB4fS5zbS10b3AtbWludXMtN3B4e3RvcDotN3B4fS5zbS10b3AtbWludXMtOHB4e3RvcDotOHB4fS5zbS10b3AtbWludXMtOXB4e3RvcDotOXB4fS5zbS10b3AtbWludXMtMTBweHt0b3A6LTEwcHh9LnNtLXRvcC1taW51cy0xNXB4e3RvcDotMTVweH0uc20tdG9wLW1pbnVzLTIwcHh7dG9wOi0yMHB4fS5zbS10b3AtbWludXMtMjVweHt0b3A6LTI1cHh9LnNtLXRvcC1taW51cy0zMHB4e3RvcDotMzBweH0uc20tdG9wLW1pbnVzLTM1cHh7dG9wOi0zNXB4fS5zbS10b3AtbWludXMtNDBweHt0b3A6LTQwcHh9LnNtLXRvcC1taW51cy00NXB4e3RvcDotNDVweH0uc20tdG9wLW1pbnVzLTUwcHh7dG9wOi01MHB4fS5zbS1ib3R0b20tMHB4e2JvdHRvbTowfS5zbS1ib3R0b20tMXB4e2JvdHRvbToxcHh9LnNtLWJvdHRvbS0ycHh7Ym90dG9tOjJweH0uc20tYm90dG9tLTNweHtib3R0b206M3B4fS5zbS1ib3R0b20tNHB4e2JvdHRvbTo0cHh9LnNtLWJvdHRvbS01cHh7Ym90dG9tOjVweH0uc20tYm90dG9tLTZweHtib3R0b206NnB4fS5zbS1ib3R0b20tN3B4e2JvdHRvbTo3cHh9LnNtLWJvdHRvbS04cHh7Ym90dG9tOjhweH0uc20tYm90dG9tLTlweHtib3R0b206OXB4fS5zbS1ib3R0b20tMTBweHtib3R0b206MTBweH0uc20tYm90dG9tLTE1cHh7Ym90dG9tOjE1cHh9LnNtLWJvdHRvbS0yMHB4e2JvdHRvbToyMHB4fS5zbS1ib3R0b20tMjVweHtib3R0b206MjVweH0uc20tYm90dG9tLTMwcHh7Ym90dG9tOjMwcHh9LnNtLWJvdHRvbS0zNXB4e2JvdHRvbTozNXB4fS5zbS1ib3R0b20tNDBweHtib3R0b206NDBweH0uc20tYm90dG9tLTQ1cHh7Ym90dG9tOjQ1cHh9LnNtLWJvdHRvbS01MHB4e2JvdHRvbTo1MHB4fS5zbS1ib3R0b20tNTVweHtib3R0b206NTVweH0uc20tYm90dG9tLTYwcHh7Ym90dG9tOjYwcHh9LnNtLWJvdHRvbS1hdXRve2JvdHRvbTphdXRvfS5zbS1ib3R0b20taW5oZXJpdHtib3R0b206aW5oZXJpdH0uc20tYm90dG9tLW1pbnVzLTFweHtib3R0b206LTFweH0uc20tYm90dG9tLW1pbnVzLTJweHtib3R0b206LTJweH0uc20tYm90dG9tLW1pbnVzLTNweHtib3R0b206LTNweH0uc20tYm90dG9tLW1pbnVzLTRweHtib3R0b206LTRweH0uc20tYm90dG9tLW1pbnVzLTVweHtib3R0b206LTVweH0uc20tYm90dG9tLW1pbnVzLTZweHtib3R0b206LTZweH0uc20tYm90dG9tLW1pbnVzLTdweHtib3R0b206LTdweH0uc20tYm90dG9tLW1pbnVzLThweHtib3R0b206LThweH0uc20tYm90dG9tLW1pbnVzLTlweHtib3R0b206LTlweH0uc20tYm90dG9tLW1pbnVzLTEwcHh7Ym90dG9tOi0xMHB4fS5zbS1ib3R0b20tbWludXMtMTVweHtib3R0b206LTE1cHh9LnNtLWJvdHRvbS1taW51cy0yMHB4e2JvdHRvbTotMjBweH0uc20tYm90dG9tLW1pbnVzLTI1cHh7Ym90dG9tOi0yNXB4fS5zbS1ib3R0b20tbWludXMtMzBweHtib3R0b206LTMwcHh9LnNtLWJvdHRvbS1taW51cy0zNXB4e2JvdHRvbTotMzVweH0uc20tYm90dG9tLW1pbnVzLTQwcHh7Ym90dG9tOi00MHB4fS5zbS1ib3R0b20tbWludXMtNDVweHtib3R0b206LTQ1cHh9LnNtLWJvdHRvbS1taW51cy01MHB4e2JvdHRvbTotNTBweH0uc20tcmlnaHQtMHB4e3JpZ2h0OjB9LnNtLXJpZ2h0LTFweHtyaWdodDoxcHh9LnNtLXJpZ2h0LTJweHtyaWdodDoycHh9LnNtLXJpZ2h0LTNweHtyaWdodDozcHh9LnNtLXJpZ2h0LTRweHtyaWdodDo0cHh9LnNtLXJpZ2h0LTVweHtyaWdodDo1cHh9LnNtLXJpZ2h0LTZweHtyaWdodDo2cHh9LnNtLXJpZ2h0LTdweHtyaWdodDo3cHh9LnNtLXJpZ2h0LThweHtyaWdodDo4cHh9LnNtLXJpZ2h0LTlweHtyaWdodDo5cHh9LnNtLXJpZ2h0LTEwcHh7cmlnaHQ6MTBweH0uc20tcmlnaHQtMTVweHtyaWdodDoxNXB4fS5zbS1yaWdodC0yMHB4e3JpZ2h0OjIwcHh9LnNtLXJpZ2h0LTI1cHh7cmlnaHQ6MjVweH0uc20tcmlnaHQtMzBweHtyaWdodDozMHB4fS5zbS1yaWdodC0zNXB4e3JpZ2h0OjM1cHh9LnNtLXJpZ2h0LTQwcHh7cmlnaHQ6NDBweH0uc20tcmlnaHQtNDVweHtyaWdodDo0NXB4fS5zbS1yaWdodC01MHB4e3JpZ2h0OjUwcHh9LnNtLXJpZ2h0LWF1dG97cmlnaHQ6YXV0b30uc20tcmlnaHQtaW5oZXJpdHtyaWdodDppbmhlcml0fS5zbS1yaWdodC1taW51cy0xcHh7cmlnaHQ6LTFweH0uc20tcmlnaHQtbWludXMtMnB4e3JpZ2h0Oi0ycHh9LnNtLXJpZ2h0LW1pbnVzLTNweHtyaWdodDotM3B4fS5zbS1yaWdodC1taW51cy00cHh7cmlnaHQ6LTRweH0uc20tcmlnaHQtbWludXMtNXB4e3JpZ2h0Oi01cHh9LnNtLXJpZ2h0LW1pbnVzLTZweHtyaWdodDotNnB4fS5zbS1yaWdodC1taW51cy03cHh7cmlnaHQ6LTdweH0uc20tcmlnaHQtbWludXMtOHB4e3JpZ2h0Oi04cHh9LnNtLXJpZ2h0LW1pbnVzLTlweHtyaWdodDotOXB4fS5zbS1yaWdodC1taW51cy0xMHB4e3JpZ2h0Oi0xMHB4fS5zbS1yaWdodC1taW51cy0xNXB4e3JpZ2h0Oi0xNXB4fS5zbS1yaWdodC1taW51cy0yMHB4e3JpZ2h0Oi0yMHB4fS5zbS1yaWdodC1taW51cy0yNXB4e3JpZ2h0Oi0yNXB4fS5zbS1yaWdodC1taW51cy0zMHB4e3JpZ2h0Oi0zMHB4fS5zbS1yaWdodC1taW51cy0zNXB4e3JpZ2h0Oi0zNXB4fS5zbS1yaWdodC1taW51cy00MHB4e3JpZ2h0Oi00MHB4fS5zbS1yaWdodC1taW51cy00NXB4e3JpZ2h0Oi00NXB4fS5zbS1yaWdodC1taW51cy01MHB4e3JpZ2h0Oi01MHB4fS5zbS1sZWZ0LTBweHtsZWZ0OjB9LnNtLWxlZnQtMXB4e2xlZnQ6MXB4fS5zbS1sZWZ0LTJweHtsZWZ0OjJweH0uc20tbGVmdC0zcHh7bGVmdDozcHh9LnNtLWxlZnQtNHB4e2xlZnQ6NHB4fS5zbS1sZWZ0LTVweHtsZWZ0OjVweH0uc20tbGVmdC02cHh7bGVmdDo2cHh9LnNtLWxlZnQtN3B4e2xlZnQ6N3B4fS5zbS1sZWZ0LThweHtsZWZ0OjhweH0uc20tbGVmdC05cHh7bGVmdDo5cHh9LnNtLWxlZnQtMTBweHtsZWZ0OjEwcHh9LnNtLWxlZnQtMTVweHtsZWZ0OjE1cHh9LnNtLWxlZnQtMjBweHtsZWZ0OjIwcHh9LnNtLWxlZnQtMjVweHtsZWZ0OjI1cHh9LnNtLWxlZnQtMzBweHtsZWZ0OjMwcHh9LnNtLWxlZnQtMzVweHtsZWZ0OjM1cHh9LnNtLWxlZnQtNDBweHtsZWZ0OjQwcHh9LnNtLWxlZnQtNDVweHtsZWZ0OjQ1cHh9LnNtLWxlZnQtNTBweHtsZWZ0OjUwcHh9LnNtLWxlZnQtNTVweHtsZWZ0OjU1cHh9LnNtLWxlZnQtNjBweHtsZWZ0OjYwcHh9LnNtLWxlZnQtYXV0b3tsZWZ0OmF1dG99LnNtLWxlZnQtaW5oZXJpdHtsZWZ0OmluaGVyaXR9LnNtLWxlZnQtbWludXMtMXB4e2xlZnQ6LTFweH0uc20tbGVmdC1taW51cy0ycHh7bGVmdDotMnB4fS5zbS1sZWZ0LW1pbnVzLTNweHtsZWZ0Oi0zcHh9LnNtLWxlZnQtbWludXMtNHB4e2xlZnQ6LTRweH0uc20tbGVmdC1taW51cy01cHh7bGVmdDotNXB4fS5zbS1sZWZ0LW1pbnVzLTZweHtsZWZ0Oi02cHh9LnNtLWxlZnQtbWludXMtN3B4e2xlZnQ6LTdweH0uc20tbGVmdC1taW51cy04cHh7bGVmdDotOHB4fS5zbS1sZWZ0LW1pbnVzLTlweHtsZWZ0Oi05cHh9LnNtLWxlZnQtbWludXMtMTBweHtsZWZ0Oi0xMHB4fS5zbS1sZWZ0LW1pbnVzLTE1cHh7bGVmdDotMTVweH0uc20tbGVmdC1taW51cy0yMHB4e2xlZnQ6LTIwcHh9LnNtLWxlZnQtbWludXMtMjVweHtsZWZ0Oi0yNXB4fS5zbS1sZWZ0LW1pbnVzLTMwcHh7bGVmdDotMzBweH0uc20tbGVmdC1taW51cy0zNXB4e2xlZnQ6LTM1cHh9LnNtLWxlZnQtbWludXMtNDBweHtsZWZ0Oi00MHB4fS5zbS1sZWZ0LW1pbnVzLTQ1cHh7bGVmdDotNDVweH0uc20tbGVmdC1taW51cy01MHB4e2xlZnQ6LTUwcHh9LnNtLXctMXB4e3dpZHRoOjFweCFpbXBvcnRhbnR9LnNtLXctMnB4e3dpZHRoOjJweCFpbXBvcnRhbnR9LnNtLXctM3B4e3dpZHRoOjNweCFpbXBvcnRhbnR9LnNtLXctNHB4e3dpZHRoOjRweCFpbXBvcnRhbnR9LnNtLXctNXB4e3dpZHRoOjVweCFpbXBvcnRhbnR9LnNtLXctNnB4e3dpZHRoOjZweCFpbXBvcnRhbnR9LnNtLXctN3B4e3dpZHRoOjdweCFpbXBvcnRhbnR9LnNtLXctOHB4e3dpZHRoOjhweCFpbXBvcnRhbnR9LnNtLXctOXB4e3dpZHRoOjlweCFpbXBvcnRhbnR9LnNtLXctMTBweHt3aWR0aDoxMHB4IWltcG9ydGFudH0uc20tdy0xNXB4e3dpZHRoOjE1cHghaW1wb3J0YW50fS5zbS13LTIwcHh7d2lkdGg6MjBweCFpbXBvcnRhbnR9LnNtLXctMjVweHt3aWR0aDoyNXB4IWltcG9ydGFudH0uc20tdy0zMHB4e3dpZHRoOjMwcHghaW1wb3J0YW50fS5zbS13LTM1cHh7d2lkdGg6MzVweCFpbXBvcnRhbnR9LnNtLXctNDBweHt3aWR0aDo0MHB4IWltcG9ydGFudH0uc20tdy01MHB4e3dpZHRoOjUwcHghaW1wb3J0YW50fS5zbS13LTU1cHh7d2lkdGg6NTVweCFpbXBvcnRhbnR9LnNtLXctNjBweHt3aWR0aDo2MHB4IWltcG9ydGFudH0uc20tdy02NXB4e3dpZHRoOjY1cHghaW1wb3J0YW50fS5zbS13LTcwcHh7d2lkdGg6NzBweCFpbXBvcnRhbnR9LnNtLXctNzVweHt3aWR0aDo3NXB4IWltcG9ydGFudH0uc20tdy04MHB4e3dpZHRoOjgwcHghaW1wb3J0YW50fS5zbS13LTg1cHh7d2lkdGg6ODVweCFpbXBvcnRhbnR9LnNtLXctOTBweHt3aWR0aDo5MHB4IWltcG9ydGFudH0uc20tdy05NXB4e3dpZHRoOjk1cHghaW1wb3J0YW50fS5zbS13LTEwMHB4e3dpZHRoOjEwMHB4IWltcG9ydGFudH0uc20tdy0xMTBweHt3aWR0aDoxMTBweCFpbXBvcnRhbnR9LnNtLXctMTIwcHh7d2lkdGg6MTIwcHghaW1wb3J0YW50fS5zbS13LTEzMHB4e3dpZHRoOjEzMHB4IWltcG9ydGFudH0uc20tdy0xNDBweHt3aWR0aDoxNDBweCFpbXBvcnRhbnR9LnNtLXctMTUwcHh7d2lkdGg6MTUwcHghaW1wb3J0YW50fS5zbS13LTE2MHB4e3dpZHRoOjE2MHB4IWltcG9ydGFudH0uc20tdy0xNzBweHt3aWR0aDoxNzBweCFpbXBvcnRhbnR9LnNtLXctMTgwcHh7d2lkdGg6MTgwcHghaW1wb3J0YW50fS5zbS13LTE5MHB4e3dpZHRoOjE5MHB4IWltcG9ydGFudH0uc20tdy0yMDBweHt3aWR0aDoyMDBweCFpbXBvcnRhbnR9LnNtLXctMjUwcHh7d2lkdGg6MjUwcHghaW1wb3J0YW50fS5zbS13LTMwMHB4e3dpZHRoOjMwMHB4IWltcG9ydGFudH0uc20tdy0zNTBweHt3aWR0aDozNTBweCFpbXBvcnRhbnR9LnNtLXctNDAwcHh7d2lkdGg6NDAwcHghaW1wb3J0YW50fS5zbS13LTQ1MHB4e3dpZHRoOjQ1MHB4IWltcG9ydGFudH0uc20tdy01MDBweHt3aWR0aDo1MDBweCFpbXBvcnRhbnR9LnNtLXctNTUwcHh7d2lkdGg6NTUwcHghaW1wb3J0YW50fS5zbS13LTYwMHB4e3dpZHRoOjYwMHB4IWltcG9ydGFudH0uc20tdy02NTBweHt3aWR0aDo2NTBweCFpbXBvcnRhbnR9LnNtLXctNzAwcHh7d2lkdGg6NzAwcHghaW1wb3J0YW50fS5zbS13LTc1MHB4e3dpZHRoOjc1MHB4IWltcG9ydGFudH0uc20tdy04MDBweHt3aWR0aDo4MDBweCFpbXBvcnRhbnR9LnNtLXctODUwcHh7d2lkdGg6ODUwcHghaW1wb3J0YW50fS5zbS13LTkwMHB4e3dpZHRoOjkwMHB4IWltcG9ydGFudH0uc20tdy05NTBweHt3aWR0aDo5NTBweCFpbXBvcnRhbnR9LnNtLXctMTAwMHB4e3dpZHRoOjEwMDBweCFpbXBvcnRhbnR9LnNtLXctMTB7d2lkdGg6MTAlIWltcG9ydGFudH0uc20tdy0xNXt3aWR0aDoxNSUhaW1wb3J0YW50fS5zbS13LTIwe3dpZHRoOjIwJSFpbXBvcnRhbnR9LnNtLXctMjV7d2lkdGg6MjUlIWltcG9ydGFudH0uc20tdy0zMHt3aWR0aDozMCUhaW1wb3J0YW50fS5zbS13LTM1e3dpZHRoOjM1JSFpbXBvcnRhbnR9LnNtLXctNDB7d2lkdGg6NDAlIWltcG9ydGFudH0uc20tdy00NXt3aWR0aDo0NSUhaW1wb3J0YW50fS5zbS13LTUwe3dpZHRoOjUwJSFpbXBvcnRhbnR9LnNtLXctNTV7d2lkdGg6NTUlIWltcG9ydGFudH0uc20tdy02MHt3aWR0aDo2MCUhaW1wb3J0YW50fS5zbS13LTY1e3dpZHRoOjY1JSFpbXBvcnRhbnR9LnNtLXctNzB7d2lkdGg6NzAlIWltcG9ydGFudH0uc20tdy03NXt3aWR0aDo3NSUhaW1wb3J0YW50fS5zbS13LTgwe3dpZHRoOjgwJSFpbXBvcnRhbnR9LnNtLXctODV7d2lkdGg6ODUlIWltcG9ydGFudH0uc20tdy05MHt3aWR0aDo5MCUhaW1wb3J0YW50fS5zbS13LTk1e3dpZHRoOjk1JSFpbXBvcnRhbnR9LnNtLXctMTAwe3dpZHRoOjEwMCUhaW1wb3J0YW50fS5zbS13LWF1dG97d2lkdGg6YXV0byFpbXBvcnRhbnR9LnNtLWgtMXB4e2hlaWdodDoxcHghaW1wb3J0YW50fS5zbS1oLTJweHtoZWlnaHQ6MnB4IWltcG9ydGFudH0uc20taC0zcHh7aGVpZ2h0OjNweCFpbXBvcnRhbnR9LnNtLWgtNHB4e2hlaWdodDo0cHghaW1wb3J0YW50fS5zbS1oLTVweHtoZWlnaHQ6NXB4IWltcG9ydGFudH0uc20taC02cHh7aGVpZ2h0OjZweCFpbXBvcnRhbnR9LnNtLWgtN3B4e2hlaWdodDo3cHghaW1wb3J0YW50fS5zbS1oLThweHtoZWlnaHQ6OHB4IWltcG9ydGFudH0uc20taC05cHh7aGVpZ2h0OjlweCFpbXBvcnRhbnR9LnNtLWgtMTBweHtoZWlnaHQ6MTBweCFpbXBvcnRhbnR9LnNtLWgtMjBweHtoZWlnaHQ6MjBweCFpbXBvcnRhbnR9LnNtLWgtMzBweHtoZWlnaHQ6MzBweCFpbXBvcnRhbnR9LnNtLWgtNDBweHtoZWlnaHQ6NDBweCFpbXBvcnRhbnR9LnNtLWgtNDJweHtoZWlnaHQ6NDJweCFpbXBvcnRhbnR9LnNtLWgtNTBweHtoZWlnaHQ6NTBweCFpbXBvcnRhbnR9LnNtLWgtNjBweHtoZWlnaHQ6NjBweCFpbXBvcnRhbnR9LnNtLWgtNzBweHtoZWlnaHQ6NzBweCFpbXBvcnRhbnR9LnNtLWgtODBweHtoZWlnaHQ6ODBweCFpbXBvcnRhbnR9LnNtLWgtOTBweHtoZWlnaHQ6OTBweCFpbXBvcnRhbnR9LnNtLWgtMTAwcHh7aGVpZ2h0OjEwMHB4IWltcG9ydGFudH0uc20taC0xMTBweHtoZWlnaHQ6MTEwcHghaW1wb3J0YW50fS5zbS1oLTEyMHB4e2hlaWdodDoxMjBweCFpbXBvcnRhbnR9LnNtLWgtMTMwcHh7aGVpZ2h0OjEzMHB4IWltcG9ydGFudH0uc20taC0xNDBweHtoZWlnaHQ6MTQwcHghaW1wb3J0YW50fS5zbS1oLTE1MHB4e2hlaWdodDoxNTBweCFpbXBvcnRhbnR9LnNtLWgtMTYwcHh7aGVpZ2h0OjE2MHB4IWltcG9ydGFudH0uc20taC0xNzBweHtoZWlnaHQ6MTcwcHghaW1wb3J0YW50fS5zbS1oLTE4MHB4e2hlaWdodDoxODBweCFpbXBvcnRhbnR9LnNtLWgtMTkwcHh7aGVpZ2h0OjE5MHB4IWltcG9ydGFudH0uc20taC0yMDBweHtoZWlnaHQ6MjAwcHghaW1wb3J0YW50fS5zbS1oLTI1MHB4e2hlaWdodDoyNTBweCFpbXBvcnRhbnR9LnNtLWgtMzAwcHh7aGVpZ2h0OjMwMHB4IWltcG9ydGFudH0uc20taC0zNTBweHtoZWlnaHQ6MzUwcHghaW1wb3J0YW50fS5zbS1oLTQwMHB4e2hlaWdodDo0MDBweCFpbXBvcnRhbnR9LnNtLWgtNDUwcHh7aGVpZ2h0OjQ1MHB4IWltcG9ydGFudH0uc20taC01MDBweHtoZWlnaHQ6NTAwcHghaW1wb3J0YW50fS5zbS1oLTUyMHB4e2hlaWdodDo1MjBweCFpbXBvcnRhbnR9LnNtLWgtNTUwcHh7aGVpZ2h0OjU1MHB4IWltcG9ydGFudH0uc20taC01ODBweHtoZWlnaHQ6NTgwcHghaW1wb3J0YW50fS5zbS1oLTYwMHB4e2hlaWdodDo2MDBweCFpbXBvcnRhbnR9LnNtLWgtNjUwcHh7aGVpZ2h0OjY1MHB4IWltcG9ydGFudH0uc20taC03MDBweHtoZWlnaHQ6NzAwcHghaW1wb3J0YW50fS5zbS1oLTcyMHB4e2hlaWdodDo3MjBweCFpbXBvcnRhbnR9LnNtLWgtNzUwcHh7aGVpZ2h0Ojc1MHB4IWltcG9ydGFudH0uc20taC04MDBweHtoZWlnaHQ6ODAwcHghaW1wb3J0YW50fS5zbS1oLTgyMHB4e2hlaWdodDo4MjBweCFpbXBvcnRhbnR9LnNtLWgtODMwcHh7aGVpZ2h0OjgzMHB4IWltcG9ydGFudH0uc20taC04NTBweHtoZWlnaHQ6ODUwcHghaW1wb3J0YW50fS5zbS1oLTUwe2hlaWdodDo1MCUhaW1wb3J0YW50fS5zbS1oLTEwMHtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9LnNtLWgtYXV0b3toZWlnaHQ6YXV0byFpbXBvcnRhbnR9LnNtLW1pbi1oLTEwMHB4e21pbi1oZWlnaHQ6MTAwcHh9LnNtLW1pbi1oLTIwMHB4e21pbi1oZWlnaHQ6MjAwcHh9LnNtLW1pbi1oLTMwMHB4e21pbi1oZWlnaHQ6MzAwcHh9LnNtLW1pbi1oLTQwMHB4e21pbi1oZWlnaHQ6NDAwcHh9LnNtLW1pbi1oLTUwMHB4e21pbi1oZWlnaHQ6NTAwcHh9LnNtLW1pbi1oLTYwMHB4e21pbi1oZWlnaHQ6NjAwcHh9LnNtLW1pbi1oLTcwMHB4e21pbi1oZWlnaHQ6NzAwcHh9Lm9uZS1maWZ0aC1zY3JlZW57aGVpZ2h0OjYwMHB4fS5vbmUtZm91cnRoLXNjcmVlbntoZWlnaHQ6NTAwcHh9Lm9uZS10aGlyZC1zY3JlZW57aGVpZ2h0OjM1MHB4fS5vbmUtc2Vjb25kLXNjcmVlbntoZWlnaHQ6MzAwcHh9LmV4dHJhLXNtYWxsLXNjcmVlbntoZWlnaHQ6MjUwcHh9Lm1mcC1hcnJvdzphY3RpdmUsYnV0dG9uLm1mcC1hcnJvd3toZWlnaHQ6NTBweDt3aWR0aDo1MHB4O21hcmdpbi10b3A6LTI1cHg7b3BhY2l0eToxfS5tZnAtYXJyb3c6YmVmb3Jle21hcmdpbjowIGF1dG87d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dGV4dC1hbGlnbjpjZW50ZXI7bGluZS1oZWlnaHQ6NTBweDtib3JkZXI6MH0uY29udGVudC1ib3gtaW1hZ2V7aGVpZ2h0OjEwMCV9LnN3aXBlci1uZXh0LC5zd2lwZXItcHJldntmb250LXNpemU6MTZweH0uc3dpcGVyLW5leHQgaSwuc3dpcGVyLXByZXYgaXtoZWlnaHQ6MzVweDt3aWR0aDozNXB4O2xpbmUtaGVpZ2h0OjM1cHh9LnN3aXBlci1wcmV2e2xlZnQ6NXB4fS5zd2lwZXItbmV4dHtyaWdodDo1cHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA4LnN3aXBlci1idXR0b24tbmV4dC5yb3VuZGVkLWNpcmNsZXtyaWdodDoxMHB4O3dpZHRoOjM1cHg7aGVpZ2h0OjM1cHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA4LnN3aXBlci1idXR0b24tcHJldi5yb3VuZGVkLWNpcmNsZXtsZWZ0OjEwcHg7d2lkdGg6MzVweDtoZWlnaHQ6MzVweH0uc2xpZGVyLWN1c3RvbS10ZXh0LXByZXYuc3dpcGVyLWJ1dHRvbi1wcmV2e3BhZGRpbmctcmlnaHQ6MzBweH0uc2xpZGVyLWN1c3RvbS10ZXh0LW5leHQuc3dpcGVyLWJ1dHRvbi1uZXh0e3BhZGRpbmctbGVmdDozMHB4fS5zbGlkZXItdmVydGljYWwgLnN3aXBlci1udW1iZXItcGFnaW5hdGlvbntib3R0b206MzBweH0uc2xpZGVyLW11bHR5LXNjcm9sbC1yaWdodD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c3tyaWdodDo0MHB4fS5ncmlkLnNtLWdyaWQtNmNvbCBsaXt3aWR0aDoxNi42NyV9LmdyaWQuc20tZ3JpZC02Y29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6MzMuMzMlfS5ncmlkLnNtLWdyaWQtNWNvbCBsaXt3aWR0aDoyMCV9LmdyaWQuc20tZ3JpZC01Y29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6NDAlfS5ncmlkLnNtLWdyaWQtNGNvbCBsaXt3aWR0aDoyNSV9LmdyaWQuc20tZ3JpZC00Y29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6NTAlfS5ncmlkLnNtLWdyaWQtM2NvbCBsaXt3aWR0aDozMy4zMyV9LmdyaWQuc20tZ3JpZC0zY29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6NjYuNjclfS5ncmlkLnNtLWdyaWQtMmNvbCBsaXt3aWR0aDo1MCV9LmdyaWQuc20tZ3JpZC0yY29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6MTAwJX0uZ3JpZC5zbS1ncmlkLTFjb2wgbGl7d2lkdGg6MTAwJX0uZ3JpZC5ndXR0ZXItc21hbGx7bWFyZ2luOjAgLTdweH0uZ3JpZC5ndXR0ZXItc21hbGwgbGl7cGFkZGluZzo3cHggN3B4fS5ncmlkLmd1dHRlci1leHRyYS1sYXJnZSBsaXtwYWRkaW5nOjE1cHh9LmdyaWQuZ3V0dGVyLWV4dHJhLWxhcmdle21hcmdpbjowIC0xNXB4fS5ncmlkLmd1dHRlci1kb3VibGUtZXh0cmEtbGFyZ2UgbGl7cGFkZGluZzoxNXB4fS5ncmlkLmd1dHRlci1tZWRpdW17bWFyZ2luOjAgLTdweH0uZ3JpZC5ndXR0ZXItbWVkaXVtIGxpe3BhZGRpbmc6N3B4IDdweH0uZ3JpZC5ndXR0ZXItbGFyZ2V7bWFyZ2luOjAgLTEwcHh9LmdyaWQuZ3V0dGVyLWxhcmdlIGxpe3BhZGRpbmc6MTBweCAxMHB4fS5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLXhsLTQgLmNvbDpudGgtY2hpbGQob2RkKSAucG9ydGZvbGlvLWJveHtwYWRkaW5nOjAgMCAxMCV9LnBvcnRmb2xpby1zY2F0dGVyZWQucm93LWNvbHMteGwtNCAuY29sOm50aC1jaGlsZChldmVuKSAucG9ydGZvbGlvLWJveHtwYWRkaW5nOjAgMTAlIDEwJX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNSAuaW50ZXJhY3RpdmUtYmFubmVycy1jb250ZW50LC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA1IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLW92ZXJsYXllcnt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDEwMCUgLSAxMTVweCkpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygxMDAlIC0gMTE1cHgpKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoMTAwJSAtIDExNXB4KSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoMTAwJSAtIDExNXB4KSl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDkgLmludGVyYWN0aXZlLWJhbm5lcnMtY29udGVudCAuaW50ZXJhY3RpdmUtYmFubmVycy1ob3Zlci1pY29ue2xlZnQ6MzVweDtib3R0b206MzVweH0uYWNjb3JkaW9uLXN0eWxlLTA0IC5wYW5lbHtwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHh9LmFjY29yZGlvbi1zdHlsZS0wNCAucGFuZWwgLnBhbmVsLXRpbWV7bWluLXdpZHRoOjExNXB4fS5hY2NvcmRpb24tc3R5bGUtMDQgLnBhbmVsIC5hY2NvcmRpb24tdG9nZ2xle3dpZHRoOmNhbGMoMTAwJSAtIDMzMHB4KX0uYWNjb3JkaW9uLXN0eWxlLTA0IC5wYW5lbCAucGFuZWwtYm9keXttYXJnaW4tbGVmdDoxMTVweDt3aWR0aDo3MCV9LnRpbWUtdGFibGUgLnBhbmVsIC5wYW5lbC1zcGVha2VyLC50aW1lLXRhYmxlIC5wYW5lbCAucGFuZWwtdGltZXt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyfS50aW1lLXRhYmxlIC5wYW5lbCAucGFuZWwtYm9keXt3aWR0aDoxMDAlfS5uYXYtdGFicz5saXtwYWRkaW5nOjA7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjEwcHg7d2lkdGg6MTAwJX0ubmF2LXRhYnM+bGkuYWN0aXZlPmEsLm5hdi10YWJzPmxpLmFjdGl2ZT5hOmZvY3VzLC5uYXYtdGFicz5saS5hY3RpdmU+YTpob3ZlciwubmF2LXRhYnM+bGk+YTpmb2N1cywubmF2LXRhYnM+bGk+YTpob3Zlcntib3JkZXI6bm9uZX0ubmF2LXRhYnM+bGkubmF2LWl0ZW17cGFkZGluZzowfS50YWItc3R5bGUtMDEgLm5hdi10YWJze2Rpc3BsYXk6dGFibGU7d2lkdGg6MTAwJX0udGFiLXN0eWxlLTAxIC5uYXYtdGFicz5saS5uYXYtaXRlbXtwYWRkaW5nOjA7bWFyZ2luOjAgYXV0byAyMHB4O2Rpc3BsYXk6aW5oZXJpdDt3aWR0aDphdXRvfS50YWItc3R5bGUtMDEgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmt7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnRhYi1zdHlsZS0wMiAubmF2LXRhYnM+bGkubmF2LWl0ZW17bWFyZ2luOjAgMCAxNXB4IDB9LnRhYi1zdHlsZS0wMiAubmF2LXRhYnM+bGkubmF2LWl0ZW06bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LnRhYi1zdHlsZS0wMyAubmF2LXRhYnM+bGkubmF2LWl0ZW17cGFkZGluZzowO21hcmdpbi1ib3R0b206MzBweDtib3JkZXI6MH0udGFiLXN0eWxlLTA0IC5uYXYtdGFicz5saS5uYXYtaXRlbXt3aWR0aDphdXRvfS50YWItc3R5bGUtMDUgLm5hdi10YWJzIGxpe21hcmdpbi1ib3R0b206NXB4fS50YWItc3R5bGUtMDYgLm5hdi10YWJze2JvcmRlci1ib3R0b206bm9uZX0udGFiLXN0eWxlLTA2IC5uYXYtdGFicz5saS5uYXYtaXRlbXt3aWR0aDoxMDAlO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpfS50YWItc3R5bGUtMDYgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmt7cGFkZGluZzoxNXB4IDIwcHh9LnRhYi1zdHlsZS0wNyAubmF2LXRhYnN7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwfS50YWItc3R5bGUtMDcgLm5hdi10YWJzPmxpLm5hdi1pdGVte2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNGU0ZTR9LnRhYi1zdHlsZS0wNyAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGlua3twYWRkaW5nOjEwcHggMzBweCA4cHggMzBweH0ucHJvY2Vzcy1zdGVwLXN0eWxlLTA0IC5wcm9jZXNzLWNvbnRlbnR7cGFkZGluZy10b3A6NDBweH0uZ3JpZC1maWx0ZXI+bGkuYWN0aXZlPmEsLmdyaWQtZmlsdGVyPmxpLmFjdGl2ZT5hOmZvY3VzLC5ncmlkLWZpbHRlcj5saS5hY3RpdmU+YTpob3ZlciwuZ3JpZC1maWx0ZXI+bGk+YTpob3Zlcntib3JkZXItYm90dG9tOjFweCBzb2xpZH0ubmV3c2xldHRlci1zdHlsZS0wMSBpbnB1dHtwYWRkaW5nLXJpZ2h0OjIwcHh9LnRhYmxlLXN0eWxlLTAxIHRhYmxle3dpZHRoOjYwMHB4fS5wcmljaW5nLXRhYmxlLXN0eWxlLTAyIC5wcmljaW5nLXBvcHVsYXJ7bGVmdDowO3dpZHRoOjEwMCV9LmNvdW50ZG93bi5jb3VudGRvd24tc3R5bGUtMDIgLmNvdW50ZG93bi1ib3h7cGFkZGluZzowIDE1cHh9LnNtLW5vLWJvcmRlci10b3B7Ym9yZGVyLXRvcDowIWltcG9ydGFudH0uc20tbm8tYm9yZGVyLWJvdHRvbXtib3JkZXItYm90dG9tOjAhaW1wb3J0YW50fS5zbS1uby1ib3JkZXItcmlnaHR7Ym9yZGVyLXJpZ2h0OjAhaW1wb3J0YW50fS5zbS1uby1ib3JkZXItbGVmdHtib3JkZXItbGVmdDowIWltcG9ydGFudH0uc20tbm8tYm9yZGVyLWFsbHtib3JkZXI6MCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC0xcHh7Ym9yZGVyLXdpZHRoOjFweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC0ycHh7Ym9yZGVyLXdpZHRoOjJweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC0zcHh7Ym9yZGVyLXdpZHRoOjNweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC00cHh7Ym9yZGVyLXdpZHRoOjRweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC01cHh7Ym9yZGVyLXdpZHRoOjVweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC02cHh7Ym9yZGVyLXdpZHRoOjZweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC03cHh7Ym9yZGVyLXdpZHRoOjdweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC04cHh7Ym9yZGVyLXdpZHRoOjhweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC05cHh7Ym9yZGVyLXdpZHRoOjlweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC0xMHB4e2JvcmRlci13aWR0aDoxMHB4IWltcG9ydGFudH0uc20tYm9yZGVyLXdpZHRoLTExcHh7Ym9yZGVyLXdpZHRoOjExcHghaW1wb3J0YW50fS5zbS1ib3JkZXItd2lkdGgtMTJweHtib3JkZXItd2lkdGg6MTJweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC0xM3B4e2JvcmRlci13aWR0aDoxM3B4IWltcG9ydGFudH0uc20tYm9yZGVyLXdpZHRoLTE0cHh7Ym9yZGVyLXdpZHRoOjE0cHghaW1wb3J0YW50fS5zbS1ib3JkZXItd2lkdGgtMTVweHtib3JkZXItd2lkdGg6MTVweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC0xNnB4e2JvcmRlci13aWR0aDoxNnB4IWltcG9ydGFudH0uc20tYm9yZGVyLXdpZHRoLTE3cHh7Ym9yZGVyLXdpZHRoOjE3cHghaW1wb3J0YW50fS5zbS1ib3JkZXItd2lkdGgtMThweHtib3JkZXItd2lkdGg6MThweCFpbXBvcnRhbnR9LnNtLWJvcmRlci13aWR0aC0xOXB4e2JvcmRlci13aWR0aDoxOXB4IWltcG9ydGFudH0uc20tYm9yZGVyLXdpZHRoLTIwcHh7Ym9yZGVyLXdpZHRoOjIwcHghaW1wb3J0YW50fS5zbS1ib3JkZXItYWxse2JvcmRlcjoxcHggc29saWR9LnNtLWJvcmRlci10b3B7Ym9yZGVyLXRvcDoxcHggc29saWR9LnNtLWJvcmRlci1ib3R0b217Ym9yZGVyLWJvdHRvbToxcHggc29saWR9LnNtLWJvcmRlci1sZWZ0e2JvcmRlci1sZWZ0OjFweCBzb2xpZH0uc20tYm9yZGVyLXJpZ2h0e2JvcmRlci1yaWdodDoxcHggc29saWR9LnNtLWJvcmRlci1scntib3JkZXItbGVmdDoxcHggc29saWQ7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZH0uc20tYm9yZGVyLXRie2JvcmRlci10b3A6MXB4IHNvbGlkO2JvcmRlci1ib3R0b206MXB4IHNvbGlkfS5zbS1ib3JkZXItY29sb3Itd2hpdGV7Ym9yZGVyLWNvbG9yOiNmZmZ9LnNtLWJvcmRlci1jb2xvci1ibGFja3tib3JkZXItY29sb3I6IzAwMH0uc20tYm9yZGVyLWNvbG9yLXNreS1ibHVle2JvcmRlci1jb2xvcjojMmU5NGVifS5zbS1ib3JkZXItY29sb3ItZXh0cmEtZGFyay1ncmF5e2JvcmRlci1jb2xvcjojMjMyMzIzfS5zbS1ib3JkZXItY29sb3ItbWVkaXVtLWRhcmstZ3JheXtib3JkZXItY29sb3I6IzM2MzYzNn0uc20tYm9yZGVyLWNvbG9yLWRhcmstZ3JheXtib3JkZXItY29sb3I6IzkzOTM5M30uc20tYm9yZGVyLWNvbG9yLWV4dHJhLW1lZGl1bS1ncmF5e2JvcmRlci1jb2xvcjojZGJkYmRifS5zbS1ib3JkZXItY29sb3ItbWVkaXVtLWdyYXl7Ym9yZGVyLWNvbG9yOiNlNGU0ZTR9LnNtLWJvcmRlci1jb2xvci1leHRyYS1saWdodC1ncmF5e2JvcmRlci1jb2xvcjojZWRlZGVkfS5zbS1ib3JkZXItY29sb3ItbGlnaHQtZ3JheXtib3JkZXItY29sb3I6I2Y1ZjVmNX0uc20tYm9yZGVyLWNvbG9yLWxpZ2h0LXBpbmt7Ym9yZGVyLWNvbG9yOiM4NjIyMzd9LnNtLWJvcmRlci1jb2xvci1kZWVwLXBpbmt7Ym9yZGVyLWNvbG9yOiNmZjIxNGZ9LnNtLWJvcmRlci1jb2xvci1waW5re2JvcmRlci1jb2xvcjojZmYzNTdjfS5zbS1ib3JkZXItY29sb3ItZmFzdC1ibHVle2JvcmRlci1jb2xvcjojMDAzOGUzfS5zbS1ib3JkZXItY29sb3Itb3Jhbmdle2JvcmRlci1jb2xvcjojZmY2NDM3fS5zbS1ib3JkZXItY29sb3ItZ3JlZW57Ym9yZGVyLWNvbG9yOiM0NWQ2OTB9LnNtLWJvcmRlci1jb2xvci1nb2xkZW57Ym9yZGVyLWNvbG9yOiNkMGJhNmR9LnNtLWJvcmRlci1jb2xvci1wZXJzaWFuLWJsdWV7Ym9yZGVyLWNvbG9yOiMwMDM5Y2N9LnNtLWJvcmRlci1jb2xvci1wdXJwbGV7Ym9yZGVyLWNvbG9yOiM3MzQyYWN9LnNtLWJvcmRlci1jb2xvci1wYXJyb3QtZ3JlZW57Ym9yZGVyLWNvbG9yOiNjZWUwMDJ9LnNtLWJvcmRlci1jb2xvci1kYXJrLXJlZHtib3JkZXItY29sb3I6I2UxMjgzN30uc20tYm9yZGVyLWNvbG9yLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uc20tYm9yZGVyLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xKX0uc20tYm9yZGVyLWNvbG9yLXdoaXRlLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0uc20tYm9yZGVyLWNvbG9yLWdvbGRlbi10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyMDgsMTg2LDEwOSwuMil9LnNtLWJvcmRlci1jb2xvci1waW5rLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwzMyw3OSwuNDUpfS5zbS1ib3JkZXItY29sb3ItZGFyay13aGl0ZS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMil9LnNtLWJvcmRlci1jb2xvci1tZWRpdW0td2hpdGUtdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS5zbS1ib3JkZXItY29sb3ItZnVsbC1kYXJrLXdoaXRlLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4wNSl9LnNtLWJvcmRlci1jb2xvci1saWdodC13aGl0ZS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9LnNtLWJvcmRlci1jb2xvci1uZXJvLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDI1LDI1LDI1LC4xKX0uc20tYm9yZGVyLWNvbG9yLWV4dHJhLW1lZGl1bS1ncmF5LXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDIxOSwyMTksMjE5LC4wNCl9LnNtLWJvcmRlci1kb3R0ZWR7Ym9yZGVyLXN0eWxlOmRvdHRlZCFpbXBvcnRhbnR9LnNtLWJvcmRlci1kYXNoZWR7Ym9yZGVyLXN0eWxlOmRhc2hlZCFpbXBvcnRhbnR9LnNtLWJvcmRlci1zb2xpZHtib3JkZXItc3R5bGU6c29saWQhaW1wb3J0YW50fS5zbS1ib3JkZXItZG91Ymxle2JvcmRlci1zdHlsZTpkb3VibGUhaW1wb3J0YW50fS5zbS1ib3JkZXItZ3Jvb3Zle2JvcmRlci1zdHlsZTpncm9vdmUhaW1wb3J0YW50fS5zbS1ib3JkZXItcmlkZ2V7Ym9yZGVyLXN0eWxlOnJpZGdlIWltcG9ydGFudH0uc20tYm9yZGVyLWluc2V0e2JvcmRlci1zdHlsZTppbnNldCFpbXBvcnRhbnR9LnNtLWJvcmRlci1vdXRzZXR7Ym9yZGVyLXN0eWxlOm91dHNldCFpbXBvcnRhbnR9LnNtLWJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lIWltcG9ydGFudH0uc20tYm9yZGVyLWhpZGRlbntib3JkZXItc3R5bGU6aGlkZGVuIWltcG9ydGFudH0uc20tYm9yZGVyLXRyYW5zcGVyZW50e2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCFpbXBvcnRhbnR9Lm5hdmJhci10b2dnbGVye21hcmdpbi1sZWZ0OjB9Lm5hdmJhci1uYXZ7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5uYXZiYXIubmF2YmFyLWJveGVke3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0ubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXItZmx1aWQsLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1sZywubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLW1kLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXItc20sLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci14bHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9LnRvcC1iYXIgLmNvbnRhaW5lci1sZ3twYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjB9aGVhZGVyIC50b3AtYmFyKy5uYXZiYXIuZml4ZWQtdG9we3RvcDowfS5oYW1idXJnZXItbWVudXt3aWR0aDoxMDAlO21pbi13aWR0aDowfS5oYW1idXJnZXItbWVudSAuY2xvc2UtYnV0dG9uLW1lbnV7dG9wOjA7cmlnaHQ6MH0uaGFtYnVyZ2VyLW1lbnUubWVudS1mdWxsLXdpZHRoIC5oYW1idXJnZXItbWVudS13cmVwcGVye3dpZHRoOjEwMCV9LmhhbWJ1cmdlci1tZW51Lm1lbnUtZnVsbC13aWR0aCAubWVudS1saXN0e3dpZHRoOjkwJX0uaGFtYnVyZ2VyLW1lbnUubWVudS1oYWxmLXdpZHRoe3dpZHRoOjEwMCV9LmhhbWJ1cmdlci1tZW51LWJpZy1mb250IC5tZW51LWxpc3QgbGl7cGFkZGluZzoxMHB4IDB9LmhhbWJ1cmdlci1tZW51LWJpZy1mb250IC5tZW51LWxpc3QgbGkgYXtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDozMHB4fS5oYW1idXJnZXItbWVudS1iaWctZm9udCAubWVudS1saXN0IGxpIC5tZW51LXRvZ2dsZXt0b3A6MjdweH0uaGFtYnVyZ2VyLW1lbnUtYmlnLWZvbnQgLm1lbnUtbGlzdCBsaSAuc3ViLW1lbnUtaXRlbXtwYWRkaW5nOjE1cHggMCAwIDE1cHh9LnNpZGUtbWVudS1oZWFkZXIsLnNpZGViYXItbmF2LWFjdGlvbntwYWRkaW5nLWxlZnQ6MTVweDtwYWRkaW5nLXJpZ2h0OjE1cHh9LnBhZ2UtdGl0bGUtc21hbGwgc3BhbnttYXJnaW4tbGVmdDowO3BhZGRpbmctbGVmdDowfS5wYWdlLXRpdGxlLXNtYWxsIHNwYW46YmVmb3Jle2Rpc3BsYXk6bm9uZX0ucGFnZS10aXRsZS1sYXJnZSBoMXtmb250LXNpemU6MzBweDtsaW5lLWhlaWdodDo0MHB4fS5ibG9nLXNpZGUtaW1hZ2UgLmJsb2ctcG9zdHtwYWRkaW5nOjIwcHh9LmJsb2ctc2lkZS1pbWFnZSAuYmxvZy1wb3N0Om50aC1jaGlsZChvZGQpe3BhZGRpbmctcmlnaHQ6MjBweH0uYmxvZy1zaWRlLWltYWdlIC5ibG9nLXBvc3Q6bnRoLWNoaWxkKGV2ZW4pe3BhZGRpbmctbGVmdDoyMHB4fS5ibG9nLXNpZGUtaW1hZ2UgLmJsb2ctcG9zdC1pbWFnZSwuYmxvZy1zaWRlLWltYWdlIC5wb3N0LWRldGFpbHN7d2lkdGg6MTAwJX0uYmxvZy1zaWRlLWltYWdlIC5ibG9nLXBvc3Q6bnRoLWNoaWxkKGV2ZW4pIC5ibG9nLXBvc3QtaW1hZ2V7LW1zLWZsZXgtb3JkZXI6MTtvcmRlcjoxfS5ibG9nLXNpZGUtaW1hZ2UgLmJsb2ctcG9zdDpudGgtY2hpbGQoZXZlbikgLnBvc3QtZGV0YWlsc3stbXMtZmxleC1vcmRlcjoyO29yZGVyOjJ9LmJsb2ctc2lkZS1pbWFnZSAuYXZ0YXItaW1hZ2V7d2lkdGg6MzBweDttYXJnaW4tcmlnaHQ6MTVweH0uYmxvZy1zaWRlLWltYWdlIC5zZXBhcmF0b3J7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmJsb2ctbW9kZXJuIC5ibG9nLXBvc3QtaW1hZ2V7bWFyZ2luLWJvdHRvbToxMDBweH0uYmxvZy1sZWZ0LXNpZGUtYmFyIC5ibG9nLWNvbnRlbnQsLnNob3BwaW5nLWxlZnQtc2lkZS1iYXIgLnNob3BwaW5nLWNvbnRlbnR7b3JkZXI6MTstbXMtZmxleC1vcmRlcjoxfS5ibG9nLXJpZ2h0LXNpZGUtYmFyIC5ibG9nLWNvbnRlbnQsLnNob3BwaW5nLWxlZnQtc2lkZS1iYXIgLnNob3BwaW5nLXNpZGViYXJ7b3JkZXI6MjstbXMtZmxleC1vcmRlcjoyfS52aWRlby1pY29uIC52aWRlby1pY29uLXNvbmFyIC52aWRlby1pY29uLXNvbmFyLWJmcnt0b3A6LTMwcHg7bGVmdDotMzBweH0udmlkZW8taWNvbiAudmlkZW8taWNvbi1zb25hciAudmlkZW8taWNvbi1zb25hci1hZnJ7dG9wOi0xNXB4O2xlZnQ6LTE1cHh9LnZpZGVvLWljb24tbGFyZ2UgLnZpZGVvLWljb24gLnZpZGVvLWljb24tc29uYXIgLnZpZGVvLWljb24tc29uYXItYmZye3RvcDotMjVweDtsZWZ0Oi0yNXB4fS52aWRlby1pY29uLWxhcmdlIC52aWRlby1pY29uIC52aWRlby1pY29uLXNvbmFyIC52aWRlby1pY29uLXNvbmFyLWFmcnt0b3A6LTEwcHg7bGVmdDotMTBweH0udmlkZW8taWNvbi1tZWRpdW0gLnZpZGVvLWljb24gLnZpZGVvLWljb24tc29uYXIgLnZpZGVvLWljb24tc29uYXItYmZye3RvcDotMjVweDtsZWZ0Oi0yNXB4fS52aWRlby1pY29uLW1lZGl1bSAudmlkZW8taWNvbiAudmlkZW8taWNvbi1zb25hciAudmlkZW8taWNvbi1zb25hci1hZnJ7dG9wOi0xMHB4O2xlZnQ6LTEwcHh9LnZpZGVvLWljb24tZXh0cmEtbGFyZ2UgLnZpZGVvLWljb24gLnZpZGVvLWljb24tc29uYXIgLnZpZGVvLWljb24tc29uYXItYWZye3RvcDotMTBweDtsZWZ0Oi0xMHB4fS52aWRlby1pY29uLWRvdWJsZS1sYXJnZSAudmlkZW8taWNvbnt3aWR0aDo4MHB4O2hlaWdodDo4MHB4O2ZvbnQtc2l6ZToyOHB4fS52aWRlby1pY29uLWRvdWJsZS1sYXJnZS52aWRlby1pY29uLWJveCAudmlkZW8taWNvbiBpe21hcmdpbi1sZWZ0OjVweH0udmlkZW8taWNvbi1kb3VibGUtbGFyZ2UgLnZpZGVvLWljb24gLnZpZGVvLWljb24tc29uYXIgLnZpZGVvLWljb24tc29uYXItYmZye3dpZHRoOjE0MHB4O2hlaWdodDoxNDBweH0udmlkZW8taWNvbi1kb3VibGUtbGFyZ2UgLnZpZGVvLWljb24gLnZpZGVvLWljb24tc29uYXIgLnZpZGVvLWljb24tc29uYXItYWZye3dpZHRoOjExMHB4O2hlaWdodDoxMTBweH0ubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudC5ub3RpZnktcG9wdXB7cGFkZGluZy10b3A6MzVweDtwYWRkaW5nLWJvdHRvbTozNXB4fS5zaG93LW5vdGlmeS1wb3B1cCAubWZwLWNvbnRhaW5lcntwYWRkaW5nLXRvcDowfS5tZnAtbm90aWZ5IGJ1dHRvbi5tZnAtY2xvc2V7dG9wOjA7cmlnaHQ6MH0uYWNjb3JkaW9uLXN0eWxlLTAzIC5wYW5lbHtwYWRkaW5nLWxlZnQ6MTVweDtwYWRkaW5nLXJpZ2h0OjE1cHg7bWFyZ2luLWJvdHRvbToxNXB4fS5hY2NvcmRpb24tc3R5bGUtMDMgLnBhbmVsIC5wYW5lbC1oZWFkaW5ne3BhZGRpbmc6MTVweCAyNXB4IDE1cHggMH0udG90YWwtcHJpY2UtdGFibGUgdGQsLnRvdGFsLXByaWNlLXRhYmxlIHRoe3BhZGRpbmctdG9wOjE1cHg7cGFkZGluZy1ib3R0b206MTVweH1mb290ZXIuaG9tZS1tYXJrZXRpbmctYWdlbmN5IC5mb290ZXItaG9yaXpvbnRhbC1saW5rIGxpe21hcmdpbi1yaWdodDowfS5mdWxsc2NyZWVuLWhvdmVyLWxpc3QgLmhvdmVyLWxpc3QtaXRlbS5hY3RpdmUgLmludGVyYWN0aXZlLW51bWJlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWCg1MHB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwcHgpfS5mdWxsc2NyZWVuLWhvdmVyLWxpc3QgLmhvdmVyLWxpc3QtaXRlbSAuaW50ZXJhY3RpdmUtbGluZXt3aWR0aDoyMHB4O21hcmdpbi1sZWZ0OjI1cHh9LmZ1bGxzY3JlZW4taG92ZXItbGlzdCAuaG92ZXItbGlzdC1pdGVtIC5pbnRlcmFjdGl2ZS10aXRsZTphZnRlcntsZWZ0OjI1cHg7Ym90dG9tOjI1cHh9LmZ1bGxzY3JlZW4taG92ZXItbGlzdCAuaG92ZXItbGlzdC1pdGVtIC5pbnRlcmFjdGl2ZS10aXRsZTpob3ZlcjphZnRlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MHB4KX0uaG9tZS1pbnRlcmFjdGl2ZS1wb3J0Zm9saW8gLmZ1bGxzY3JlZW4taG92ZXItYm94IC5pbnRlcmFjdGl2ZS10aXRsZXtmb250LXNpemU6MzVweDtsaW5lLWhlaWdodDozNXB4O3BhZGRpbmc6MjVweH0uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0gLmludGVyYWN0aXZlLWljb257dG9wOjFweH0uaG9tZS1waG90b2dyYXBoeSAuaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xMyAuaW50ZXJhY3RpdmUtYmFubmVycy1pbWFnZXt3aWR0aDo4MCV9LmhvbWUtcGhvdG9ncmFwaHkgLmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTMgLmludGVyYWN0aXZlLWJhbm5lcnMtY29udGVudHt3aWR0aDozMCV9LmhvbWUtcGhvdG9ncmFwaHkgLmhvdmVyLW9wdGlvbi0yIC5ob3Zlci1vcHRpb24tY29udGVudHt3aWR0aDozNSV9LmhvbWUtZnJlZWxhbmNlciAudGl0bGUtZXh0cmEtbGFyZ2UtaGVhdnl7bGluZS1oZWlnaHQ6NzBweH0uaG9tZS1mcmVlbGFuY2VyIC50aXRsZS1leHRyYS1sYXJnZXtmb250LXNpemU6NjVweH0uaG9tZS1mcmVlbGFuY2VyLWJnLWltZ3tiYWNrZ3JvdW5kOjAgMCFpbXBvcnRhbnR9LmhvbWUtaG90ZWwtcmVzb3J0IC5ib29rLW5vdy1idG57Zm9udC1zaXplOjExcHghaW1wb3J0YW50O3BhZGRpbmc6MTJweCAyNHB4IWltcG9ydGFudH0uaG9tZS1ob3RlbC1yZXNvcnQgLnJldl9zbGlkZXJfd3JhcHBlcntoZWlnaHQ6NDUwcHghaW1wb3J0YW50fS5zd2lwZXItaG9yaXpvbnRhbC0zZC5zd2lwZXItY29udGFpbmVye3BhZGRpbmctYm90dG9tOjB9LnN3aXBlci1ob3Jpem9udGFsLTNkIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLW5leHQsLnN3aXBlci1ob3Jpem9udGFsLTNkIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLXByZXZ7b3BhY2l0eTowfS5zd2lwZXItaG9yaXpvbnRhbC0zZCAuc3dpcGVyLXNsaWRlLnN3aXBlci1zbGlkZS1hY3RpdmV7Ym94LXNoYWRvdzpub25lfS5ob21lLWFyY2hpdGVjdHVyZSAudHBhcnJvd3MudHAtbGVmdGFycm93e3RyYW5zZm9ybTp0cmFuc2xhdGUoMCkhaW1wb3J0YW50O2JvdHRvbTowO3JpZ2h0OjA7dG9wOmF1dG8haW1wb3J0YW50O2xlZnQ6YXV0byFpbXBvcnRhbnR9LmhvbWUtYXJjaGl0ZWN0dXJlIC50cGFycm93cy50cC1yaWdodGFycm93e3RyYW5zZm9ybTp0cmFuc2xhdGUoMCkhaW1wb3J0YW50O2JvdHRvbTo2N3B4O3JpZ2h0OjA7dG9wOmF1dG8haW1wb3J0YW50O2xlZnQ6YXV0byFpbXBvcnRhbnR9LmhvbWUtc3BsaXQtcG9ydGZvbGlvIC50aXRsZS1sYXJnZXtmb250LXNpemU6NzBweDtsaW5lLWhlaWdodDo2NXB4fS5lbGVtZW50cy1zb2NpYWwgLmV4dHJhLWxhcmdlLWljb24gbGksLmVsZW1lbnRzLXNvY2lhbCAuZXh0cmEtc21hbGwtaWNvbiBsaSwuZWxlbWVudHMtc29jaWFsIC5sYXJnZS1pY29uIGxpLC5lbGVtZW50cy1zb2NpYWwgLm1lZGl1bS1pY29uIGxpLC5lbGVtZW50cy1zb2NpYWwgLnNtYWxsLWljb24gbGl7bWFyZ2luLWJvdHRvbToyMHB4fS5ob21lLXN0YXJ0dXAgLnRwLWJ1bGxldHtvcGFjaXR5Oi41O2hlaWdodDoxMHB4IWltcG9ydGFudDt3aWR0aDoxMHB4IWltcG9ydGFudH0uaG9tZS1kZWNvciAudHAtYnVsbGV0c3t0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSFpbXBvcnRhbnQ7Ym90dG9tOjMwcHghaW1wb3J0YW50O3RvcDphdXRvIWltcG9ydGFudH0uc20tbm8tdGV4dC1zaGFkb3d7dGV4dC1zaGFkb3c6bm9uZX19QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo1NzVweCl7c2VjdGlvbi5iaWctc2VjdGlvbntwYWRkaW5nOjUwcHggMH0ueHMtbGFzdC1vcmRlcntvcmRlcjoxMH0udGV4dC1leHRyYS1iaWctMntmb250LXNpemU6MjMwcHg7bGluZS1oZWlnaHQ6MTkwcHh9LnhzLWxpbmUtaGVpZ2h0LTBweHtsaW5lLWhlaWdodDowfS54cy1saW5lLWhlaWdodC04cHh7bGluZS1oZWlnaHQ6OHB4fS54cy1saW5lLWhlaWdodC0xMHB4e2xpbmUtaGVpZ2h0OjEwcHh9LnhzLWxpbmUtaGVpZ2h0LTE0cHh7bGluZS1oZWlnaHQ6MTRweH0ueHMtbGluZS1oZWlnaHQtMTVweHtsaW5lLWhlaWdodDoxNXB4fS54cy1saW5lLWhlaWdodC0xNnB4e2xpbmUtaGVpZ2h0OjE2cHh9LnhzLWxpbmUtaGVpZ2h0LTE4cHh7bGluZS1oZWlnaHQ6MThweH0ueHMtbGluZS1oZWlnaHQtMjBweHtsaW5lLWhlaWdodDoyMHB4fS54cy1saW5lLWhlaWdodC0yMnB4e2xpbmUtaGVpZ2h0OjIycHh9LnhzLWxpbmUtaGVpZ2h0LTI0cHh7bGluZS1oZWlnaHQ6MjRweH0ueHMtbGluZS1oZWlnaHQtMjZweHtsaW5lLWhlaWdodDoyNnB4fS54cy1saW5lLWhlaWdodC0yOHB4e2xpbmUtaGVpZ2h0OjI4cHh9LnhzLWxpbmUtaGVpZ2h0LTMwcHh7bGluZS1oZWlnaHQ6MzBweH0ueHMtbGluZS1oZWlnaHQtMzJweHtsaW5lLWhlaWdodDozMnB4fS54cy1saW5lLWhlaWdodC0zNHB4e2xpbmUtaGVpZ2h0OjM0cHh9LnhzLWxpbmUtaGVpZ2h0LTM2cHh7bGluZS1oZWlnaHQ6MzZweH0ueHMtbGluZS1oZWlnaHQtMzhweHtsaW5lLWhlaWdodDozOHB4fS54cy1saW5lLWhlaWdodC00MHB4e2xpbmUtaGVpZ2h0OjQwcHh9LnhzLWxpbmUtaGVpZ2h0LTUwcHh7bGluZS1oZWlnaHQ6NTBweH0ueHMtbGluZS1oZWlnaHQtMTQwcHh7bGluZS1oZWlnaHQ6MTQwcHh9LnhzLWxpbmUtaGVpZ2h0LW5vcm1hbHtsaW5lLWhlaWdodDpub3JtYWx9LnhzLWxldHRlci1zcGFjaW5nLW1pbnVzLTEtaGFsZntsZXR0ZXItc3BhY2luZzotLjVweH0ueHMtbGV0dGVyLXNwYWNpbmctbWludXMtMXB4e2xldHRlci1zcGFjaW5nOi0xcHh9LnhzLWxldHRlci1zcGFjaW5nLW1pbnVzLTJweHtsZXR0ZXItc3BhY2luZzotMnB4fS54cy1sZXR0ZXItc3BhY2luZy1taW51cy0zcHh7bGV0dGVyLXNwYWNpbmc6LTNweH0ueHMtbGV0dGVyLXNwYWNpbmctbWludXMtNHB4e2xldHRlci1zcGFjaW5nOi00cHh9LnhzLWxldHRlci1zcGFjaW5nLW1pbnVzLTVweHtsZXR0ZXItc3BhY2luZzotNXB4fS54cy1hYnNvbHV0ZS1taWRkbGUtY2VudGVye2xlZnQ6NTAlO3RvcDo1MCU7cG9zaXRpb246YWJzb2x1dGU7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpfS54cy1iYWNrZ3JvdW5kLWltYWdlLW5vbmV7YmFja2dyb3VuZDppbmhlcml0IWltcG9ydGFudH0ueHMtYmFja2dyb3VuZC1wb3NpdGlvbi1sZWZ0e2JhY2tncm91bmQtcG9zaXRpb246bGVmdCBjZW50ZXJ9LnhzLWJhY2tncm91bmQtcG9zaXRpb24tcmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCBjZW50ZXJ9LnhzLWJhY2tncm91bmQtcG9zaXRpb24tdG9we2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgdG9wfS54cy1iYWNrZ3JvdW5kLXBvc2l0aW9uLWNlbnRlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcn0ueHMtYmFja2dyb3VuZC1wb3NpdGlvbi1sZWZ0LXRvcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOmxlZnQgdG9wfS50ZXh0LW92ZXJsYXAtc3R5bGUtMDR7Zm9udC1zaXplOjU1cHg7bGluZS1oZWlnaHQ6NjVweH0ueHMtYm94LXNoYWRvdy1ub25le2JveC1zaGFkb3c6bm9uZX0ueHMtbWFyZ2luLW9uZS1hbGx7bWFyZ2luOjElfS54cy1tYXJnaW4tdHdvLWFsbHttYXJnaW46MiV9LnhzLW1hcmdpbi10aHJlZS1hbGx7bWFyZ2luOjMlfS54cy1tYXJnaW4tZm91ci1hbGx7bWFyZ2luOjQlfS54cy1tYXJnaW4tZml2ZS1hbGx7bWFyZ2luOjUlfS54cy1tYXJnaW4tc2l4LWFsbHttYXJnaW46NiV9LnhzLW1hcmdpbi1zZXZlbi1hbGx7bWFyZ2luOjclfS54cy1tYXJnaW4tZWlnaHQtYWxse21hcmdpbjo4JX0ueHMtbWFyZ2luLW5pbmUtYWxse21hcmdpbjo5JX0ueHMtbWFyZ2luLXRlbi1hbGx7bWFyZ2luOjEwJX0ueHMtbWFyZ2luLWVsZXZlbi1hbGx7bWFyZ2luOjExJX0ueHMtbWFyZ2luLXR3ZWx2ZS1hbGx7bWFyZ2luOjEyJX0ueHMtbWFyZ2luLXRoaXJ0ZWVuLWFsbHttYXJnaW46MTMlfS54cy1tYXJnaW4tZm91cnRlZW4tYWxse21hcmdpbjoxNCV9LnhzLW1hcmdpbi1maWZ0ZWVuLWFsbHttYXJnaW46MTUlfS54cy1tYXJnaW4tc2l4dGVlbi1hbGx7bWFyZ2luOjE2JX0ueHMtbWFyZ2luLXNldmVudGVlbi1hbGx7bWFyZ2luOjE3JX0ueHMtbWFyZ2luLWVpZ2h0ZWVuLWFsbHttYXJnaW46MTglfS54cy1tYXJnaW4tbmluZXRlZW4tYWxse21hcmdpbjoxOSV9LnhzLW1hcmdpbi10d2VudHktYWxse21hcmdpbjoyMCV9LnhzLW1hcmdpbi01cHgtYWxse21hcmdpbjo1cHh9LnhzLW1hcmdpbi0xMHB4LWFsbHttYXJnaW46MTBweH0ueHMtbWFyZ2luLTE1cHgtYWxse21hcmdpbjoxNXB4fS54cy1tYXJnaW4tMjBweC1hbGx7bWFyZ2luOjIwcHh9LnhzLW1hcmdpbi0yNXB4LWFsbHttYXJnaW46MjVweH0ueHMtbWFyZ2luLTMwcHgtYWxse21hcmdpbjozMHB4fS54cy1tYXJnaW4tMzVweC1hbGx7bWFyZ2luOjM1cHh9LnhzLW1hcmdpbi00MHB4LWFsbHttYXJnaW46NDBweH0ueHMtbWFyZ2luLTQ1cHgtYWxse21hcmdpbjo0NXB4fS54cy1tYXJnaW4tNTBweC1hbGx7bWFyZ2luOjUwcHh9LnhzLW1hcmdpbi01NXB4LWFsbHttYXJnaW46NTVweH0ueHMtbWFyZ2luLTYwcHgtYWxse21hcmdpbjo2MHB4fS54cy1tYXJnaW4tNjVweC1hbGx7bWFyZ2luOjY1cHh9LnhzLW1hcmdpbi03MHB4LWFsbHttYXJnaW46NzBweH0ueHMtbWFyZ2luLTc1cHgtYWxse21hcmdpbjo3NXB4fS54cy1tYXJnaW4tODBweC1hbGx7bWFyZ2luOjgwcHh9LnhzLW1hcmdpbi04NXB4LWFsbHttYXJnaW46ODVweH0ueHMtbWFyZ2luLTkwcHgtYWxse21hcmdpbjo5MHB4fS54cy1tYXJnaW4tOTVweC1hbGx7bWFyZ2luOjk1cHh9LnhzLW1hcmdpbi0xMDBweC1hbGx7bWFyZ2luOjEwMHB4fS54cy1tYXJnaW4tMS1yZW0tYWxse21hcmdpbjoxcmVtfS54cy1tYXJnaW4tMS1oYWxmLXJlbS1hbGx7bWFyZ2luOjEuNXJlbX0ueHMtbWFyZ2luLTItcmVtLWFsbHttYXJnaW46MnJlbX0ueHMtbWFyZ2luLTItaGFsZi1yZW0tYWxse21hcmdpbjoyLjVyZW19LnhzLW1hcmdpbi0zLXJlbS1hbGx7bWFyZ2luOjNyZW19LnhzLW1hcmdpbi0zLWhhbGYtcmVtLWFsbHttYXJnaW46My41cmVtfS54cy1tYXJnaW4tNC1yZW0tYWxse21hcmdpbjo0cmVtfS54cy1tYXJnaW4tNC1oYWxmLXJlbS1hbGx7bWFyZ2luOjQuNXJlbX0ueHMtbWFyZ2luLTUtcmVtLWFsbHttYXJnaW46NXJlbX0ueHMtbWFyZ2luLTUtaGFsZi1yZW0tYWxse21hcmdpbjo1LjVyZW19LnhzLW1hcmdpbi02LXJlbS1hbGx7bWFyZ2luOjZyZW19LnhzLW1hcmdpbi02LWhhbGYtcmVtLWFsbHttYXJnaW46Ni41cmVtfS54cy1tYXJnaW4tNy1yZW0tYWxse21hcmdpbjo3cmVtfS54cy1tYXJnaW4tNy1oYWxmLXJlbS1hbGx7bWFyZ2luOjcuNXJlbX0ueHMtbWFyZ2luLTgtcmVtLWFsbHttYXJnaW46OHJlbX0ueHMtbWFyZ2luLTgtaGFsZi1yZW0tYWxse21hcmdpbjo4LjVyZW19LnhzLW1hcmdpbi05LXJlbS1hbGx7bWFyZ2luOjlyZW19LnhzLW1hcmdpbi05LWhhbGYtcmVtLWFsbHttYXJnaW46OS41cmVtfS54cy1tYXJnaW4tMTAtcmVtLWFsbHttYXJnaW46MTByZW19LnhzLW1hcmdpbi0xMC1oYWxmLXJlbS1hbGx7bWFyZ2luOjEwLjVyZW19LnhzLW1hcmdpbi1vbmUtdG9we21hcmdpbi10b3A6MSV9LnhzLW1hcmdpbi10d28tdG9we21hcmdpbi10b3A6MiV9LnhzLW1hcmdpbi10aHJlZS10b3B7bWFyZ2luLXRvcDozJX0ueHMtbWFyZ2luLWZvdXItdG9we21hcmdpbi10b3A6NCV9LnhzLW1hcmdpbi1maXZlLXRvcHttYXJnaW4tdG9wOjUlfS54cy1tYXJnaW4tc2l4LXRvcHttYXJnaW4tdG9wOjYlfS54cy1tYXJnaW4tc2V2ZW4tdG9we21hcmdpbi10b3A6NyV9LnhzLW1hcmdpbi1laWdodC10b3B7bWFyZ2luLXRvcDo4JX0ueHMtbWFyZ2luLW5pbmUtdG9we21hcmdpbi10b3A6OSV9LnhzLW1hcmdpbi10ZW4tdG9we21hcmdpbi10b3A6MTAlfS54cy1tYXJnaW4tZWxldmVuLXRvcHttYXJnaW4tdG9wOjExJX0ueHMtbWFyZ2luLXR3ZWx2ZS10b3B7bWFyZ2luLXRvcDoxMiV9LnhzLW1hcmdpbi10aGlydGVlbi10b3B7bWFyZ2luLXRvcDoxMyV9LnhzLW1hcmdpbi1mb3VydGVlbi10b3B7bWFyZ2luLXRvcDoxNCV9LnhzLW1hcmdpbi1maWZ0ZWVuLXRvcHttYXJnaW4tdG9wOjE1JX0ueHMtbWFyZ2luLXNpeHRlZW4tdG9we21hcmdpbi10b3A6MTYlfS54cy1tYXJnaW4tc2V2ZW50ZWVuLXRvcHttYXJnaW4tdG9wOjE3JX0ueHMtbWFyZ2luLWVpZ2h0ZWVuLXRvcHttYXJnaW4tdG9wOjE4JX0ueHMtbWFyZ2luLW5pbmV0ZWVuLXRvcHttYXJnaW4tdG9wOjE5JX0ueHMtbWFyZ2luLXR3ZW50eS10b3B7bWFyZ2luLXRvcDoyMCV9LnhzLW1hcmdpbi01cHgtdG9we21hcmdpbi10b3A6NXB4fS54cy1tYXJnaW4tMTBweC10b3B7bWFyZ2luLXRvcDoxMHB4fS54cy1tYXJnaW4tMTVweC10b3B7bWFyZ2luLXRvcDoxNXB4fS54cy1tYXJnaW4tMjBweC10b3B7bWFyZ2luLXRvcDoyMHB4fS54cy1tYXJnaW4tMjVweC10b3B7bWFyZ2luLXRvcDoyNXB4fS54cy1tYXJnaW4tMzBweC10b3B7bWFyZ2luLXRvcDozMHB4fS54cy1tYXJnaW4tMzVweC10b3B7bWFyZ2luLXRvcDozNXB4fS54cy1tYXJnaW4tNDBweC10b3B7bWFyZ2luLXRvcDo0MHB4fS54cy1tYXJnaW4tNDVweC10b3B7bWFyZ2luLXRvcDo0NXB4fS54cy1tYXJnaW4tNTBweC10b3B7bWFyZ2luLXRvcDo1MHB4fS54cy1tYXJnaW4tNTVweC10b3B7bWFyZ2luLXRvcDo1NXB4fS54cy1tYXJnaW4tNjBweC10b3B7bWFyZ2luLXRvcDo2MHB4fS54cy1tYXJnaW4tNjVweC10b3B7bWFyZ2luLXRvcDo2NXB4fS54cy1tYXJnaW4tNzBweC10b3B7bWFyZ2luLXRvcDo3MHB4fS54cy1tYXJnaW4tNzVweC10b3B7bWFyZ2luLXRvcDo3NXB4fS54cy1tYXJnaW4tODBweC10b3B7bWFyZ2luLXRvcDo4MHB4fS54cy1tYXJnaW4tODVweC10b3B7bWFyZ2luLXRvcDo4NXB4fS54cy1tYXJnaW4tOTBweC10b3B7bWFyZ2luLXRvcDo5MHB4fS54cy1tYXJnaW4tOTVweC10b3B7bWFyZ2luLXRvcDo5NXB4fS54cy1tYXJnaW4tMTAwcHgtdG9we21hcmdpbi10b3A6MTAwcHh9LnhzLW1hcmdpbi0xLXJlbS10b3B7bWFyZ2luLXRvcDoxcmVtfS54cy1tYXJnaW4tMS1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDoxLjVyZW19LnhzLW1hcmdpbi0yLXJlbS10b3B7bWFyZ2luLXRvcDoycmVtfS54cy1tYXJnaW4tMi1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDoyLjVyZW19LnhzLW1hcmdpbi0zLXJlbS10b3B7bWFyZ2luLXRvcDozcmVtfS54cy1tYXJnaW4tMy1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDozLjVyZW19LnhzLW1hcmdpbi00LXJlbS10b3B7bWFyZ2luLXRvcDo0cmVtfS54cy1tYXJnaW4tNC1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo0LjVyZW19LnhzLW1hcmdpbi01LXJlbS10b3B7bWFyZ2luLXRvcDo1cmVtfS54cy1tYXJnaW4tNS1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo1LjVyZW19LnhzLW1hcmdpbi02LXJlbS10b3B7bWFyZ2luLXRvcDo2cmVtfS54cy1tYXJnaW4tNi1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo2LjVyZW19LnhzLW1hcmdpbi03LXJlbS10b3B7bWFyZ2luLXRvcDo3cmVtfS54cy1tYXJnaW4tNy1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo3LjVyZW19LnhzLW1hcmdpbi04LXJlbS10b3B7bWFyZ2luLXRvcDo4cmVtfS54cy1tYXJnaW4tOC1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo4LjVyZW19LnhzLW1hcmdpbi05LXJlbS10b3B7bWFyZ2luLXRvcDo5cmVtfS54cy1tYXJnaW4tOS1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo5LjVyZW19LnhzLW1hcmdpbi0xMC1yZW0tdG9we21hcmdpbi10b3A6MTByZW19LnhzLW1hcmdpbi0xMC1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDoxMC41cmVtfS54cy1tYXJnaW4tb25lLWJvdHRvbXttYXJnaW4tYm90dG9tOjElfS54cy1tYXJnaW4tdHdvLWJvdHRvbXttYXJnaW4tYm90dG9tOjIlfS54cy1tYXJnaW4tdGhyZWUtYm90dG9te21hcmdpbi1ib3R0b206MyV9LnhzLW1hcmdpbi1mb3VyLWJvdHRvbXttYXJnaW4tYm90dG9tOjQlfS54cy1tYXJnaW4tZml2ZS1ib3R0b217bWFyZ2luLWJvdHRvbTo1JX0ueHMtbWFyZ2luLXNpeC1ib3R0b217bWFyZ2luLWJvdHRvbTo2JX0ueHMtbWFyZ2luLXNldmVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjclfS54cy1tYXJnaW4tZWlnaHQtYm90dG9te21hcmdpbi1ib3R0b206OCV9LnhzLW1hcmdpbi1uaW5lLWJvdHRvbXttYXJnaW4tYm90dG9tOjklfS54cy1tYXJnaW4tdGVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjEwJX0ueHMtbWFyZ2luLWVsZXZlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxMSV9LnhzLW1hcmdpbi10d2VsdmUtYm90dG9te21hcmdpbi1ib3R0b206MTIlfS54cy1tYXJnaW4tdGhpcnRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTMlfS54cy1tYXJnaW4tZm91cnRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTQlfS54cy1tYXJnaW4tZmlmdGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxNSV9LnhzLW1hcmdpbi1zaXh0ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE2JX0ueHMtbWFyZ2luLXNldmVudGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxNyV9LnhzLW1hcmdpbi1laWdodGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxOCV9LnhzLW1hcmdpbi1uaW5ldGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxOSV9LnhzLW1hcmdpbi10d2VudHktYm90dG9te21hcmdpbi1ib3R0b206MjAlfS54cy1tYXJnaW4tNXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjVweH0ueHMtbWFyZ2luLTEwcHgtYm90dG9te21hcmdpbi1ib3R0b206MTBweH0ueHMtbWFyZ2luLTE1cHgtYm90dG9te21hcmdpbi1ib3R0b206MTVweH0ueHMtbWFyZ2luLTIwcHgtYm90dG9te21hcmdpbi1ib3R0b206MjBweH0ueHMtbWFyZ2luLTI1cHgtYm90dG9te21hcmdpbi1ib3R0b206MjVweH0ueHMtbWFyZ2luLTMwcHgtYm90dG9te21hcmdpbi1ib3R0b206MzBweH0ueHMtbWFyZ2luLTM1cHgtYm90dG9te21hcmdpbi1ib3R0b206MzVweH0ueHMtbWFyZ2luLTQwcHgtYm90dG9te21hcmdpbi1ib3R0b206NDBweH0ueHMtbWFyZ2luLTQ1cHgtYm90dG9te21hcmdpbi1ib3R0b206NDVweH0ueHMtbWFyZ2luLTUwcHgtYm90dG9te21hcmdpbi1ib3R0b206NTBweH0ueHMtbWFyZ2luLTU1cHgtYm90dG9te21hcmdpbi1ib3R0b206NTVweH0ueHMtbWFyZ2luLTYwcHgtYm90dG9te21hcmdpbi1ib3R0b206NjBweH0ueHMtbWFyZ2luLTY1cHgtYm90dG9te21hcmdpbi1ib3R0b206NjVweH0ueHMtbWFyZ2luLTcwcHgtYm90dG9te21hcmdpbi1ib3R0b206NzBweH0ueHMtbWFyZ2luLTc1cHgtYm90dG9te21hcmdpbi1ib3R0b206NzVweH0ueHMtbWFyZ2luLTgwcHgtYm90dG9te21hcmdpbi1ib3R0b206ODBweH0ueHMtbWFyZ2luLTg1cHgtYm90dG9te21hcmdpbi1ib3R0b206ODVweH0ueHMtbWFyZ2luLTkwcHgtYm90dG9te21hcmdpbi1ib3R0b206OTBweH0ueHMtbWFyZ2luLTk1cHgtYm90dG9te21hcmdpbi1ib3R0b206OTVweH0ueHMtbWFyZ2luLTEwMHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjEwMHB4fS54cy1tYXJnaW4tMS1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MXJlbX0ueHMtbWFyZ2luLTEtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MS41cmVtfS54cy1tYXJnaW4tMi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MnJlbX0ueHMtbWFyZ2luLTItaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206Mi41cmVtfS54cy1tYXJnaW4tMy1yZW0tYm90dG9te21hcmdpbi1ib3R0b206M3JlbX0ueHMtbWFyZ2luLTMtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206My41cmVtfS54cy1tYXJnaW4tNC1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NHJlbX0ueHMtbWFyZ2luLTQtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NC41cmVtfS54cy1tYXJnaW4tNS1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NXJlbX0ueHMtbWFyZ2luLTUtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NS41cmVtfS54cy1tYXJnaW4tNi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NnJlbX0ueHMtbWFyZ2luLTYtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206Ni41cmVtfS54cy1tYXJnaW4tNy1yZW0tYm90dG9te21hcmdpbi1ib3R0b206N3JlbX0ueHMtbWFyZ2luLTctaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206Ny41cmVtfS54cy1tYXJnaW4tOC1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OHJlbX0ueHMtbWFyZ2luLTgtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OC41cmVtfS54cy1tYXJnaW4tOS1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OXJlbX0ueHMtbWFyZ2luLTktaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OS41cmVtfS54cy1tYXJnaW4tMTAtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjEwcmVtfS54cy1tYXJnaW4tMTAtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MTAuNXJlbX0ueHMtbWFyZ2luLW9uZS1yaWdodHttYXJnaW4tcmlnaHQ6MSV9LnhzLW1hcmdpbi10d28tcmlnaHR7bWFyZ2luLXJpZ2h0OjIlfS54cy1tYXJnaW4tdGhyZWUtcmlnaHR7bWFyZ2luLXJpZ2h0OjMlfS54cy1tYXJnaW4tZm91ci1yaWdodHttYXJnaW4tcmlnaHQ6NCV9LnhzLW1hcmdpbi1maXZlLXJpZ2h0e21hcmdpbi1yaWdodDo1JX0ueHMtbWFyZ2luLXNpeC1yaWdodHttYXJnaW4tcmlnaHQ6NiV9LnhzLW1hcmdpbi1zZXZlbi1yaWdodHttYXJnaW4tcmlnaHQ6NyV9LnhzLW1hcmdpbi1laWdodC1yaWdodHttYXJnaW4tcmlnaHQ6OCV9LnhzLW1hcmdpbi1uaW5lLXJpZ2h0e21hcmdpbi1yaWdodDo5JX0ueHMtbWFyZ2luLXRlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTAlfS54cy1tYXJnaW4tZWxldmVuLXJpZ2h0e21hcmdpbi1yaWdodDoxMSV9LnhzLW1hcmdpbi10d2VsdmUtcmlnaHR7bWFyZ2luLXJpZ2h0OjEyJX0ueHMtbWFyZ2luLXRoaXJ0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxMyV9LnhzLW1hcmdpbi1mb3VydGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTQlfS54cy1tYXJnaW4tZmlmdGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTUlfS54cy1tYXJnaW4tc2l4dGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTYlfS54cy1tYXJnaW4tc2V2ZW50ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxNyV9LnhzLW1hcmdpbi1laWdodGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTglfS54cy1tYXJnaW4tbmluZXRlZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjE5JX0ueHMtbWFyZ2luLXR3ZW50eS1yaWdodHttYXJnaW4tcmlnaHQ6MjAlfS54cy1tYXJnaW4tNXB4LXJpZ2h0e21hcmdpbi1yaWdodDo1cHh9LnhzLW1hcmdpbi0xMHB4LXJpZ2h0e21hcmdpbi1yaWdodDoxMHB4fS54cy1tYXJnaW4tMTVweC1yaWdodHttYXJnaW4tcmlnaHQ6MTVweH0ueHMtbWFyZ2luLTIwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjIwcHh9LnhzLW1hcmdpbi0yNXB4LXJpZ2h0e21hcmdpbi1yaWdodDoyNXB4fS54cy1tYXJnaW4tMzBweC1yaWdodHttYXJnaW4tcmlnaHQ6MzBweH0ueHMtbWFyZ2luLTM1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjM1cHh9LnhzLW1hcmdpbi00MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo0MHB4fS54cy1tYXJnaW4tNDVweC1yaWdodHttYXJnaW4tcmlnaHQ6NDVweH0ueHMtbWFyZ2luLTUwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjUwcHh9LnhzLW1hcmdpbi01NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo1NXB4fS54cy1tYXJnaW4tNjBweC1yaWdodHttYXJnaW4tcmlnaHQ6NjBweH0ueHMtbWFyZ2luLTY1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjY1cHh9LnhzLW1hcmdpbi03MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo3MHB4fS54cy1tYXJnaW4tNzVweC1yaWdodHttYXJnaW4tcmlnaHQ6NzVweH0ueHMtbWFyZ2luLTgwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjgwcHh9LnhzLW1hcmdpbi04NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo4NXB4fS54cy1tYXJnaW4tOTBweC1yaWdodHttYXJnaW4tcmlnaHQ6OTBweH0ueHMtbWFyZ2luLTk1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0Ojk1cHh9LnhzLW1hcmdpbi0xMDBweC1yaWdodHttYXJnaW4tcmlnaHQ6MTAwcHh9LnhzLW1hcmdpbi0xLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6MXJlbX0ueHMtbWFyZ2luLTEtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjEuNXJlbX0ueHMtbWFyZ2luLTItcmVtLXJpZ2h0e21hcmdpbi1yaWdodDoycmVtfS54cy1tYXJnaW4tMi1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6Mi41cmVtfS54cy1tYXJnaW4tMy1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjNyZW19LnhzLW1hcmdpbi0zLWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDozLjVyZW19LnhzLW1hcmdpbi00LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6NHJlbX0ueHMtbWFyZ2luLTQtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjQuNXJlbX0ueHMtbWFyZ2luLTUtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo1cmVtfS54cy1tYXJnaW4tNS1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6NS41cmVtfS54cy1tYXJnaW4tNi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjZyZW19LnhzLW1hcmdpbi02LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo2LjVyZW19LnhzLW1hcmdpbi03LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6N3JlbX0ueHMtbWFyZ2luLTctaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjcuNXJlbX0ueHMtbWFyZ2luLTgtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo4cmVtfS54cy1tYXJnaW4tOC1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6OC41cmVtfS54cy1tYXJnaW4tOS1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjlyZW19LnhzLW1hcmdpbi05LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo5LjVyZW19LnhzLW1hcmdpbi0xMC1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjEwcmVtfS54cy1tYXJnaW4tMTAtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjEwLjVyZW19LnhzLW1hcmdpbi1vbmUtbGVmdHttYXJnaW4tbGVmdDoxJX0ueHMtbWFyZ2luLXR3by1sZWZ0e21hcmdpbi1sZWZ0OjIlfS54cy1tYXJnaW4tdGhyZWUtbGVmdHttYXJnaW4tbGVmdDozJX0ueHMtbWFyZ2luLWZvdXItbGVmdHttYXJnaW4tbGVmdDo0JX0ueHMtbWFyZ2luLWZpdmUtbGVmdHttYXJnaW4tbGVmdDo1JX0ueHMtbWFyZ2luLXNpeC1sZWZ0e21hcmdpbi1sZWZ0OjYlfS54cy1tYXJnaW4tc2V2ZW4tbGVmdHttYXJnaW4tbGVmdDo3JX0ueHMtbWFyZ2luLWVpZ2h0LWxlZnR7bWFyZ2luLWxlZnQ6OCV9LnhzLW1hcmdpbi1uaW5lLWxlZnR7bWFyZ2luLWxlZnQ6OSV9LnhzLW1hcmdpbi10ZW4tbGVmdHttYXJnaW4tbGVmdDoxMCV9LnhzLW1hcmdpbi1lbGV2ZW4tbGVmdHttYXJnaW4tbGVmdDoxMSV9LnhzLW1hcmdpbi10d2VsdmUtbGVmdHttYXJnaW4tbGVmdDoxMiV9LnhzLW1hcmdpbi10aGlydGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjEzJX0ueHMtbWFyZ2luLWZvdXJ0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTQlfS54cy1tYXJnaW4tZmlmdGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE1JX0ueHMtbWFyZ2luLXNpeHRlZW4tbGVmdHttYXJnaW4tbGVmdDoxNiV9LnhzLW1hcmdpbi1zZXZlbnRlZW4tbGVmdHttYXJnaW4tbGVmdDoxNyV9LnhzLW1hcmdpbi1laWdodGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE4JX0ueHMtbWFyZ2luLW5pbmV0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTklfS54cy1tYXJnaW4tdHdlbnR5LWxlZnR7bWFyZ2luLWxlZnQ6MjAlfS54cy1tYXJnaW4tNXB4LWxlZnR7bWFyZ2luLWxlZnQ6NXB4fS54cy1tYXJnaW4tMTBweC1sZWZ0e21hcmdpbi1sZWZ0OjEwcHh9LnhzLW1hcmdpbi0xNXB4LWxlZnR7bWFyZ2luLWxlZnQ6MTVweH0ueHMtbWFyZ2luLTIwcHgtbGVmdHttYXJnaW4tbGVmdDoyMHB4fS54cy1tYXJnaW4tMjVweC1sZWZ0e21hcmdpbi1sZWZ0OjI1cHh9LnhzLW1hcmdpbi0zMHB4LWxlZnR7bWFyZ2luLWxlZnQ6MzBweH0ueHMtbWFyZ2luLTM1cHgtbGVmdHttYXJnaW4tbGVmdDozNXB4fS54cy1tYXJnaW4tNDBweC1sZWZ0e21hcmdpbi1sZWZ0OjQwcHh9LnhzLW1hcmdpbi00NXB4LWxlZnR7bWFyZ2luLWxlZnQ6NDVweH0ueHMtbWFyZ2luLTUwcHgtbGVmdHttYXJnaW4tbGVmdDo1MHB4fS54cy1tYXJnaW4tNTVweC1sZWZ0e21hcmdpbi1sZWZ0OjU1cHh9LnhzLW1hcmdpbi02MHB4LWxlZnR7bWFyZ2luLWxlZnQ6NjBweH0ueHMtbWFyZ2luLTY1cHgtbGVmdHttYXJnaW4tbGVmdDo2NXB4fS54cy1tYXJnaW4tNzBweC1sZWZ0e21hcmdpbi1sZWZ0OjcwcHh9LnhzLW1hcmdpbi03NXB4LWxlZnR7bWFyZ2luLWxlZnQ6NzVweH0ueHMtbWFyZ2luLTgwcHgtbGVmdHttYXJnaW4tbGVmdDo4MHB4fS54cy1tYXJnaW4tODVweC1sZWZ0e21hcmdpbi1sZWZ0Ojg1cHh9LnhzLW1hcmdpbi05MHB4LWxlZnR7bWFyZ2luLWxlZnQ6OTBweH0ueHMtbWFyZ2luLTk1cHgtbGVmdHttYXJnaW4tbGVmdDo5NXB4fS54cy1tYXJnaW4tMTAwcHgtbGVmdHttYXJnaW4tbGVmdDoxMDBweH0ueHMtbWFyZ2luLTEtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6MXJlbX0ueHMtbWFyZ2luLTEtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDoxLjVyZW19LnhzLW1hcmdpbi0yLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjJyZW19LnhzLW1hcmdpbi0yLWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6Mi41cmVtfS54cy1tYXJnaW4tMy1yZW0tbGVmdHttYXJnaW4tbGVmdDozcmVtfS54cy1tYXJnaW4tMy1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjMuNXJlbX0ueHMtbWFyZ2luLTQtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6NHJlbX0ueHMtbWFyZ2luLTQtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo0LjVyZW19LnhzLW1hcmdpbi01LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjVyZW19LnhzLW1hcmdpbi01LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6NS41cmVtfS54cy1tYXJnaW4tNi1yZW0tbGVmdHttYXJnaW4tbGVmdDo2cmVtfS54cy1tYXJnaW4tNi1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjYuNXJlbX0ueHMtbWFyZ2luLTctcmVtLWxlZnR7bWFyZ2luLWxlZnQ6N3JlbX0ueHMtbWFyZ2luLTctaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo3LjVyZW19LnhzLW1hcmdpbi04LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjhyZW19LnhzLW1hcmdpbi04LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6OC41cmVtfS54cy1tYXJnaW4tOS1yZW0tbGVmdHttYXJnaW4tbGVmdDo5cmVtfS54cy1tYXJnaW4tOS1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjkuNXJlbX0ueHMtbWFyZ2luLTEwLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjEwcmVtfS54cy1tYXJnaW4tMTAtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDoxMC41cmVtfS54cy1tYXJnaW4tb25lLWxye21hcmdpbi1sZWZ0OjElO21hcmdpbi1yaWdodDoxJX0ueHMtbWFyZ2luLXR3by1scnttYXJnaW4tbGVmdDoyJTttYXJnaW4tcmlnaHQ6MiV9LnhzLW1hcmdpbi10aHJlZS1scnttYXJnaW4tbGVmdDozJTttYXJnaW4tcmlnaHQ6MyV9LnhzLW1hcmdpbi1mb3VyLWxye21hcmdpbi1sZWZ0OjQlO21hcmdpbi1yaWdodDo0JX0ueHMtbWFyZ2luLWZpdmUtbHJ7bWFyZ2luLWxlZnQ6NSU7bWFyZ2luLXJpZ2h0OjUlfS54cy1tYXJnaW4tc2l4LWxye21hcmdpbi1sZWZ0OjYlO21hcmdpbi1yaWdodDo2JX0ueHMtbWFyZ2luLXNldmVuLWxye21hcmdpbi1sZWZ0OjclO21hcmdpbi1yaWdodDo3JX0ueHMtbWFyZ2luLWVpZ2h0LWxye21hcmdpbi1sZWZ0OjglO21hcmdpbi1yaWdodDo4JX0ueHMtbWFyZ2luLW5pbmUtbHJ7bWFyZ2luLWxlZnQ6OSU7bWFyZ2luLXJpZ2h0OjklfS54cy1tYXJnaW4tdGVuLWxye21hcmdpbi1sZWZ0OjEwJTttYXJnaW4tcmlnaHQ6MTAlfS54cy1tYXJnaW4tZWxldmVuLWxye21hcmdpbi1sZWZ0OjExJTttYXJnaW4tcmlnaHQ6MTElfS54cy1tYXJnaW4tdHdlbHZlLWxye21hcmdpbi1sZWZ0OjEyJTttYXJnaW4tcmlnaHQ6MTIlfS54cy1tYXJnaW4tdGhpcnRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTMlO21hcmdpbi1yaWdodDoxMyV9LnhzLW1hcmdpbi1mb3VydGVlbi1scnttYXJnaW4tbGVmdDoxNCU7bWFyZ2luLXJpZ2h0OjE0JX0ueHMtbWFyZ2luLWZpZnRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTUlO21hcmdpbi1yaWdodDoxNSV9LnhzLW1hcmdpbi1zaXh0ZWVuLWxye21hcmdpbi1sZWZ0OjE2JTttYXJnaW4tcmlnaHQ6MTYlfS54cy1tYXJnaW4tc2V2ZW50ZWVuLWxye21hcmdpbi1sZWZ0OjE3JTttYXJnaW4tcmlnaHQ6MTclfS54cy1tYXJnaW4tZWlnaHRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTglO21hcmdpbi1yaWdodDoxOCV9LnhzLW1hcmdpbi1uaW5ldGVlbi1scnttYXJnaW4tbGVmdDoxOSU7bWFyZ2luLXJpZ2h0OjE5JX0ueHMtbWFyZ2luLXR3ZW50eS1scnttYXJnaW4tbGVmdDoyMCU7bWFyZ2luLXJpZ2h0OjIwJX0ueHMtbWFyZ2luLTVweC1scnttYXJnaW4tbGVmdDo1cHg7bWFyZ2luLXJpZ2h0OjVweH0ueHMtbWFyZ2luLTEwcHgtbHJ7bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueHMtbWFyZ2luLTE1cHgtbHJ7bWFyZ2luLWxlZnQ6MTVweDttYXJnaW4tcmlnaHQ6MTVweH0ueHMtbWFyZ2luLTIwcHgtbHJ7bWFyZ2luLWxlZnQ6MjBweDttYXJnaW4tcmlnaHQ6MjBweH0ueHMtbWFyZ2luLTI1cHgtbHJ7bWFyZ2luLWxlZnQ6MjVweDttYXJnaW4tcmlnaHQ6MjVweH0ueHMtbWFyZ2luLTMwcHgtbHJ7bWFyZ2luLWxlZnQ6MzBweDttYXJnaW4tcmlnaHQ6MzBweH0ueHMtbWFyZ2luLTM1cHgtbHJ7bWFyZ2luLWxlZnQ6MzVweDttYXJnaW4tcmlnaHQ6MzVweH0ueHMtbWFyZ2luLTQwcHgtbHJ7bWFyZ2luLWxlZnQ6NDBweDttYXJnaW4tcmlnaHQ6NDBweH0ueHMtbWFyZ2luLTQ1cHgtbHJ7bWFyZ2luLWxlZnQ6NDVweDttYXJnaW4tcmlnaHQ6NDVweH0ueHMtbWFyZ2luLTUwcHgtbHJ7bWFyZ2luLWxlZnQ6NTBweDttYXJnaW4tcmlnaHQ6NTBweH0ueHMtbWFyZ2luLTU1cHgtbHJ7bWFyZ2luLWxlZnQ6NTVweDttYXJnaW4tcmlnaHQ6NTVweH0ueHMtbWFyZ2luLTYwcHgtbHJ7bWFyZ2luLWxlZnQ6NjBweDttYXJnaW4tcmlnaHQ6NjBweH0ueHMtbWFyZ2luLTY1cHgtbHJ7bWFyZ2luLWxlZnQ6NjVweDttYXJnaW4tcmlnaHQ6NjVweH0ueHMtbWFyZ2luLTcwcHgtbHJ7bWFyZ2luLWxlZnQ6NzBweDttYXJnaW4tcmlnaHQ6NzBweH0ueHMtbWFyZ2luLTc1cHgtbHJ7bWFyZ2luLWxlZnQ6NzVweDttYXJnaW4tcmlnaHQ6NzVweH0ueHMtbWFyZ2luLTgwcHgtbHJ7bWFyZ2luLWxlZnQ6ODBweDttYXJnaW4tcmlnaHQ6ODBweH0ueHMtbWFyZ2luLTg1cHgtbHJ7bWFyZ2luLWxlZnQ6ODVweDttYXJnaW4tcmlnaHQ6ODVweH0ueHMtbWFyZ2luLTkwcHgtbHJ7bWFyZ2luLWxlZnQ6OTBweDttYXJnaW4tcmlnaHQ6OTBweH0ueHMtbWFyZ2luLTk1cHgtbHJ7bWFyZ2luLWxlZnQ6OTVweDttYXJnaW4tcmlnaHQ6OTVweH0ueHMtbWFyZ2luLTEwMHB4LWxye21hcmdpbi1sZWZ0OjEwMHB4O21hcmdpbi1yaWdodDoxMDBweH0ueHMtbWFyZ2luLTEtcmVtLWxye21hcmdpbi1sZWZ0OjFyZW07bWFyZ2luLXJpZ2h0OjFyZW19LnhzLW1hcmdpbi0xLWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjEuNXJlbTttYXJnaW4tcmlnaHQ6MS41cmVtfS54cy1tYXJnaW4tMi1yZW0tbHJ7bWFyZ2luLWxlZnQ6MnJlbTttYXJnaW4tcmlnaHQ6MnJlbX0ueHMtbWFyZ2luLTItaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6Mi41cmVtO21hcmdpbi1yaWdodDoyLjVyZW19LnhzLW1hcmdpbi0zLXJlbS1scnttYXJnaW4tbGVmdDozcmVtO21hcmdpbi1yaWdodDozcmVtfS54cy1tYXJnaW4tMy1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDozLjVyZW07bWFyZ2luLXJpZ2h0OjMuNXJlbX0ueHMtbWFyZ2luLTQtcmVtLWxye21hcmdpbi1sZWZ0OjRyZW07bWFyZ2luLXJpZ2h0OjRyZW19LnhzLW1hcmdpbi00LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjQuNXJlbTttYXJnaW4tcmlnaHQ6NC41cmVtfS54cy1tYXJnaW4tNS1yZW0tbHJ7bWFyZ2luLWxlZnQ6NXJlbTttYXJnaW4tcmlnaHQ6NXJlbX0ueHMtbWFyZ2luLTUtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6NS41cmVtO21hcmdpbi1yaWdodDo1LjVyZW19LnhzLW1hcmdpbi02LXJlbS1scnttYXJnaW4tbGVmdDo2cmVtO21hcmdpbi1yaWdodDo2cmVtfS54cy1tYXJnaW4tNi1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo2LjVyZW07bWFyZ2luLXJpZ2h0OjYuNXJlbX0ueHMtbWFyZ2luLTctcmVtLWxye21hcmdpbi1sZWZ0OjdyZW07bWFyZ2luLXJpZ2h0OjdyZW19LnhzLW1hcmdpbi03LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjcuNXJlbTttYXJnaW4tcmlnaHQ6Ny41cmVtfS54cy1tYXJnaW4tOC1yZW0tbHJ7bWFyZ2luLWxlZnQ6OHJlbTttYXJnaW4tcmlnaHQ6OHJlbX0ueHMtbWFyZ2luLTgtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6OC41cmVtO21hcmdpbi1yaWdodDo4LjVyZW19LnhzLW1hcmdpbi05LXJlbS1scnttYXJnaW4tbGVmdDo5cmVtO21hcmdpbi1yaWdodDo5cmVtfS54cy1tYXJnaW4tOS1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo5LjVyZW07bWFyZ2luLXJpZ2h0OjkuNXJlbX0ueHMtbWFyZ2luLTEwLXJlbS1scnttYXJnaW4tbGVmdDoxMHJlbTttYXJnaW4tcmlnaHQ6MTByZW19LnhzLW1hcmdpbi0xMC1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDoxMC41cmVtO21hcmdpbi1yaWdodDoxMC41cmVtfS54cy1tYXJnaW4tb25lLXRie21hcmdpbi10b3A6MSU7bWFyZ2luLWJvdHRvbToxJX0ueHMtbWFyZ2luLXR3by10YnttYXJnaW4tdG9wOjIlO21hcmdpbi1ib3R0b206MiV9LnhzLW1hcmdpbi10aHJlZS10YnttYXJnaW4tdG9wOjMlO21hcmdpbi1ib3R0b206MyV9LnhzLW1hcmdpbi1mb3VyLXRie21hcmdpbi10b3A6NCU7bWFyZ2luLWJvdHRvbTo0JX0ueHMtbWFyZ2luLWZpdmUtdGJ7bWFyZ2luLXRvcDo1JTttYXJnaW4tYm90dG9tOjUlfS54cy1tYXJnaW4tc2l4LXRie21hcmdpbi10b3A6NiU7bWFyZ2luLWJvdHRvbTo2JX0ueHMtbWFyZ2luLXNldmVuLXRie21hcmdpbi10b3A6NyU7bWFyZ2luLWJvdHRvbTo3JX0ueHMtbWFyZ2luLWVpZ2h0LXRie21hcmdpbi10b3A6OCU7bWFyZ2luLWJvdHRvbTo4JX0ueHMtbWFyZ2luLW5pbmUtdGJ7bWFyZ2luLXRvcDo5JTttYXJnaW4tYm90dG9tOjklfS54cy1tYXJnaW4tdGVuLXRie21hcmdpbi10b3A6MTAlO21hcmdpbi1ib3R0b206MTAlfS54cy1tYXJnaW4tZWxldmVuLXRie21hcmdpbi10b3A6MTElO21hcmdpbi1ib3R0b206MTElfS54cy1tYXJnaW4tdHdlbHZlLXRie21hcmdpbi10b3A6MTIlO21hcmdpbi1ib3R0b206MTIlfS54cy1tYXJnaW4tdGhpcnRlZW4tdGJ7bWFyZ2luLXRvcDoxMyU7bWFyZ2luLWJvdHRvbToxMyV9LnhzLW1hcmdpbi1mb3VydGVlbi10YnttYXJnaW4tdG9wOjE0JTttYXJnaW4tYm90dG9tOjE0JX0ueHMtbWFyZ2luLWZpZnRlZW4tdGJ7bWFyZ2luLXRvcDoxNSU7bWFyZ2luLWJvdHRvbToxNSV9LnhzLW1hcmdpbi1zaXh0ZWVuLXRie21hcmdpbi10b3A6MTYlO21hcmdpbi1ib3R0b206MTYlfS54cy1tYXJnaW4tc2V2ZW50ZWVuLXRie21hcmdpbi10b3A6MTclO21hcmdpbi1ib3R0b206MTclfS54cy1tYXJnaW4tZWlnaHRlZW4tdGJ7bWFyZ2luLXRvcDoxOCU7bWFyZ2luLWJvdHRvbToxOCV9LnhzLW1hcmdpbi1uaW5ldGVlbi10YnttYXJnaW4tdG9wOjE5JTttYXJnaW4tYm90dG9tOjE5JX0ueHMtbWFyZ2luLXR3ZW50eS10YnttYXJnaW4tdG9wOjIwJTttYXJnaW4tYm90dG9tOjIwJX0ueHMtbWFyZ2luLTVweC10YnttYXJnaW4tdG9wOjVweDttYXJnaW4tYm90dG9tOjVweH0ueHMtbWFyZ2luLTEwcHgtdGJ7bWFyZ2luLXRvcDoxMHB4O21hcmdpbi1ib3R0b206MTBweH0ueHMtbWFyZ2luLTE1cHgtdGJ7bWFyZ2luLXRvcDoxNXB4O21hcmdpbi1ib3R0b206MTVweH0ueHMtbWFyZ2luLTIwcHgtdGJ7bWFyZ2luLXRvcDoyMHB4O21hcmdpbi1ib3R0b206MjBweH0ueHMtbWFyZ2luLTI1cHgtdGJ7bWFyZ2luLXRvcDoyNXB4O21hcmdpbi1ib3R0b206MjVweH0ueHMtbWFyZ2luLTMwcHgtdGJ7bWFyZ2luLXRvcDozMHB4O21hcmdpbi1ib3R0b206MzBweH0ueHMtbWFyZ2luLTM1cHgtdGJ7bWFyZ2luLXRvcDozNXB4O21hcmdpbi1ib3R0b206MzVweH0ueHMtbWFyZ2luLTQwcHgtdGJ7bWFyZ2luLXRvcDo0MHB4O21hcmdpbi1ib3R0b206NDBweH0ueHMtbWFyZ2luLTQ1cHgtdGJ7bWFyZ2luLXRvcDo0NXB4O21hcmdpbi1ib3R0b206NDVweH0ueHMtbWFyZ2luLTUwcHgtdGJ7bWFyZ2luLXRvcDo1MHB4O21hcmdpbi1ib3R0b206NTBweH0ueHMtbWFyZ2luLTU1cHgtdGJ7bWFyZ2luLXRvcDo1NXB4O21hcmdpbi1ib3R0b206NTVweH0ueHMtbWFyZ2luLTYwcHgtdGJ7bWFyZ2luLXRvcDo2MHB4O21hcmdpbi1ib3R0b206NjBweH0ueHMtbWFyZ2luLTY1cHgtdGJ7bWFyZ2luLXRvcDo2NXB4O21hcmdpbi1ib3R0b206NjVweH0ueHMtbWFyZ2luLTcwcHgtdGJ7bWFyZ2luLXRvcDo3MHB4O21hcmdpbi1ib3R0b206NzBweH0ueHMtbWFyZ2luLTc1cHgtdGJ7bWFyZ2luLXRvcDo3NXB4O21hcmdpbi1ib3R0b206NzVweH0ueHMtbWFyZ2luLTgwcHgtdGJ7bWFyZ2luLXRvcDo4MHB4O21hcmdpbi1ib3R0b206ODBweH0ueHMtbWFyZ2luLTg1cHgtdGJ7bWFyZ2luLXRvcDo4NXB4O21hcmdpbi1ib3R0b206ODVweH0ueHMtbWFyZ2luLTkwcHgtdGJ7bWFyZ2luLXRvcDo5MHB4O21hcmdpbi1ib3R0b206OTBweH0ueHMtbWFyZ2luLTk1cHgtdGJ7bWFyZ2luLXRvcDo5NXB4O21hcmdpbi1ib3R0b206OTVweH0ueHMtbWFyZ2luLTEwMHB4LXRie21hcmdpbi10b3A6MTAwcHg7bWFyZ2luLWJvdHRvbToxMDBweH0ueHMtbWFyZ2luLTEtcmVtLXRie21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19LnhzLW1hcmdpbi0xLWhhbGYtcmVtLXRie21hcmdpbi10b3A6MS41cmVtO21hcmdpbi1ib3R0b206MS41cmVtfS54cy1tYXJnaW4tMi1yZW0tdGJ7bWFyZ2luLXRvcDoycmVtO21hcmdpbi1ib3R0b206MnJlbX0ueHMtbWFyZ2luLTItaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDoyLjVyZW07bWFyZ2luLWJvdHRvbToyLjVyZW19LnhzLW1hcmdpbi0zLXJlbS10YnttYXJnaW4tdG9wOjNyZW07bWFyZ2luLWJvdHRvbTozcmVtfS54cy1tYXJnaW4tMy1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjMuNXJlbTttYXJnaW4tYm90dG9tOjMuNXJlbX0ueHMtbWFyZ2luLTQtcmVtLXRie21hcmdpbi10b3A6NHJlbTttYXJnaW4tYm90dG9tOjRyZW19LnhzLW1hcmdpbi00LWhhbGYtcmVtLXRie21hcmdpbi10b3A6NC41cmVtO21hcmdpbi1ib3R0b206NC41cmVtfS54cy1tYXJnaW4tNS1yZW0tdGJ7bWFyZ2luLXRvcDo1cmVtO21hcmdpbi1ib3R0b206NXJlbX0ueHMtbWFyZ2luLTUtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo1LjVyZW07bWFyZ2luLWJvdHRvbTo1LjVyZW19LnhzLW1hcmdpbi02LXJlbS10YnttYXJnaW4tdG9wOjZyZW07bWFyZ2luLWJvdHRvbTo2cmVtfS54cy1tYXJnaW4tNi1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjYuNXJlbTttYXJnaW4tYm90dG9tOjYuNXJlbX0ueHMtbWFyZ2luLTctcmVtLXRie21hcmdpbi10b3A6N3JlbTttYXJnaW4tYm90dG9tOjdyZW19LnhzLW1hcmdpbi03LWhhbGYtcmVtLXRie21hcmdpbi10b3A6Ny41cmVtO21hcmdpbi1ib3R0b206Ny41cmVtfS54cy1tYXJnaW4tOC1yZW0tdGJ7bWFyZ2luLXRvcDo4cmVtO21hcmdpbi1ib3R0b206OHJlbX0ueHMtbWFyZ2luLTgtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo4LjVyZW07bWFyZ2luLWJvdHRvbTo4LjVyZW19LnhzLW1hcmdpbi05LXJlbS10YnttYXJnaW4tdG9wOjlyZW07bWFyZ2luLWJvdHRvbTo5cmVtfS54cy1tYXJnaW4tOS1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjkuNXJlbTttYXJnaW4tYm90dG9tOjkuNXJlbX0ueHMtbWFyZ2luLTEwLXJlbS10YnttYXJnaW4tdG9wOjEwcmVtO21hcmdpbi1ib3R0b206MTByZW19LnhzLW1hcmdpbi0xMC1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjEwLjVyZW07bWFyZ2luLWJvdHRvbToxMC41cmVtfS54cy1tYXJnaW4tYXV0by1scnttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9LnhzLW1hcmdpbi1hdXRve21hcmdpbjphdXRvfS54cy1uby1tYXJnaW57bWFyZ2luOjAhaW1wb3J0YW50fS54cy1uby1tYXJnaW4tdG9we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9LnhzLW5vLW1hcmdpbi1ib3R0b217bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ueHMtbm8tbWFyZ2luLWxlZnR7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9LnhzLW5vLW1hcmdpbi1yaWdodHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9LnhzLW5vLW1hcmdpbi10YnttYXJnaW4tdG9wOjAhaW1wb3J0YW50O21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9LnhzLW5vLW1hcmdpbi1scnttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnQ7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9LnhzLXBhZGRpbmctb25lLWFsbHtwYWRkaW5nOjElfS54cy1wYWRkaW5nLXR3by1hbGx7cGFkZGluZzoyJX0ueHMtcGFkZGluZy10aHJlZS1hbGx7cGFkZGluZzozJX0ueHMtcGFkZGluZy1mb3VyLWFsbHtwYWRkaW5nOjQlfS54cy1wYWRkaW5nLWZpdmUtYWxse3BhZGRpbmc6NSV9LnhzLXBhZGRpbmctc2l4LWFsbHtwYWRkaW5nOjYlfS54cy1wYWRkaW5nLXNldmVuLWFsbHtwYWRkaW5nOjclfS54cy1wYWRkaW5nLWVpZ2h0LWFsbHtwYWRkaW5nOjglfS54cy1wYWRkaW5nLW5pbmUtYWxse3BhZGRpbmc6OSV9LnhzLXBhZGRpbmctdGVuLWFsbHtwYWRkaW5nOjEwJX0ueHMtcGFkZGluZy1lbGV2ZW4tYWxse3BhZGRpbmc6MTElfS54cy1wYWRkaW5nLXR3ZWx2ZS1hbGx7cGFkZGluZzoxMiV9LnhzLXBhZGRpbmctdGhpcnRlZW4tYWxse3BhZGRpbmc6MTMlfS54cy1wYWRkaW5nLWZvdXJ0ZWVuLWFsbHtwYWRkaW5nOjE0JX0ueHMtcGFkZGluZy1maWZ0ZWVuLWFsbHtwYWRkaW5nOjE1JX0ueHMtcGFkZGluZy1zaXh0ZWVuLWFsbHtwYWRkaW5nOjE2JX0ueHMtcGFkZGluZy1zZXZlbnRlZW4tYWxse3BhZGRpbmc6MTclfS54cy1wYWRkaW5nLWVpZ2h0ZWVuLWFsbHtwYWRkaW5nOjE4JX0ueHMtcGFkZGluZy1uaW5ldGVlbi1hbGx7cGFkZGluZzoxOSV9LnhzLXBhZGRpbmctdHdlbnR5LWFsbHtwYWRkaW5nOjIwJX0ueHMtcGFkZGluZy01cHgtYWxse3BhZGRpbmc6NXB4fS54cy1wYWRkaW5nLTEwcHgtYWxse3BhZGRpbmc6MTBweH0ueHMtcGFkZGluZy0xNXB4LWFsbHtwYWRkaW5nOjE1cHh9LnhzLXBhZGRpbmctMjBweC1hbGx7cGFkZGluZzoyMHB4fS54cy1wYWRkaW5nLTI1cHgtYWxse3BhZGRpbmc6MjVweH0ueHMtcGFkZGluZy0zMHB4LWFsbHtwYWRkaW5nOjMwcHh9LnhzLXBhZGRpbmctMzVweC1hbGx7cGFkZGluZzozNXB4fS54cy1wYWRkaW5nLTQwcHgtYWxse3BhZGRpbmc6NDBweH0ueHMtcGFkZGluZy00NXB4LWFsbHtwYWRkaW5nOjQ1cHh9LnhzLXBhZGRpbmctNTBweC1hbGx7cGFkZGluZzo1MHB4fS54cy1wYWRkaW5nLTU1cHgtYWxse3BhZGRpbmc6NTVweH0ueHMtcGFkZGluZy02MHB4LWFsbHtwYWRkaW5nOjYwcHh9LnhzLXBhZGRpbmctNjVweC1hbGx7cGFkZGluZzo2NXB4fS54cy1wYWRkaW5nLTcwcHgtYWxse3BhZGRpbmc6NzBweH0ueHMtcGFkZGluZy03NXB4LWFsbHtwYWRkaW5nOjc1cHh9LnhzLXBhZGRpbmctODBweC1hbGx7cGFkZGluZzo4MHB4fS54cy1wYWRkaW5nLTg1cHgtYWxse3BhZGRpbmc6ODVweH0ueHMtcGFkZGluZy05MHB4LWFsbHtwYWRkaW5nOjkwcHh9LnhzLXBhZGRpbmctOTVweC1hbGx7cGFkZGluZzo5NXB4fS54cy1wYWRkaW5nLTEwMHB4LWFsbHtwYWRkaW5nOjEwMHB4fS54cy1wYWRkaW5nLTEtcmVtLWFsbHtwYWRkaW5nOjFyZW19LnhzLXBhZGRpbmctMS1oYWxmLXJlbS1hbGx7cGFkZGluZzoxLjVyZW19LnhzLXBhZGRpbmctMi1yZW0tYWxse3BhZGRpbmc6MnJlbX0ueHMtcGFkZGluZy0yLWhhbGYtcmVtLWFsbHtwYWRkaW5nOjIuNXJlbX0ueHMtcGFkZGluZy0zLXJlbS1hbGx7cGFkZGluZzozcmVtfS54cy1wYWRkaW5nLTMtaGFsZi1yZW0tYWxse3BhZGRpbmc6My41cmVtfS54cy1wYWRkaW5nLTQtcmVtLWFsbHtwYWRkaW5nOjRyZW19LnhzLXBhZGRpbmctNC1oYWxmLXJlbS1hbGx7cGFkZGluZzo0LjVyZW19LnhzLXBhZGRpbmctNS1yZW0tYWxse3BhZGRpbmc6NXJlbX0ueHMtcGFkZGluZy01LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjUuNXJlbX0ueHMtcGFkZGluZy02LXJlbS1hbGx7cGFkZGluZzo2cmVtfS54cy1wYWRkaW5nLTYtaGFsZi1yZW0tYWxse3BhZGRpbmc6Ni41cmVtfS54cy1wYWRkaW5nLTctcmVtLWFsbHtwYWRkaW5nOjdyZW19LnhzLXBhZGRpbmctNy1oYWxmLXJlbS1hbGx7cGFkZGluZzo3LjVyZW19LnhzLXBhZGRpbmctOC1yZW0tYWxse3BhZGRpbmc6OHJlbX0ueHMtcGFkZGluZy04LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjguNXJlbX0ueHMtcGFkZGluZy05LXJlbS1hbGx7cGFkZGluZzo5cmVtfS54cy1wYWRkaW5nLTktaGFsZi1yZW0tYWxse3BhZGRpbmc6OS41cmVtfS54cy1wYWRkaW5nLTEwLXJlbS1hbGx7cGFkZGluZzoxMHJlbX0ueHMtcGFkZGluZy0xMC1oYWxmLXJlbS1hbGx7cGFkZGluZzoxMC41cmVtfS54cy1wYWRkaW5nLW9uZS10b3B7cGFkZGluZy10b3A6MSV9LnhzLXBhZGRpbmctdHdvLXRvcHtwYWRkaW5nLXRvcDoyJX0ueHMtcGFkZGluZy10aHJlZS10b3B7cGFkZGluZy10b3A6MyV9LnhzLXBhZGRpbmctZm91ci10b3B7cGFkZGluZy10b3A6NCV9LnhzLXBhZGRpbmctZml2ZS10b3B7cGFkZGluZy10b3A6NSV9LnhzLXBhZGRpbmctc2l4LXRvcHtwYWRkaW5nLXRvcDo2JX0ueHMtcGFkZGluZy1zZXZlbi10b3B7cGFkZGluZy10b3A6NyV9LnhzLXBhZGRpbmctZWlnaHQtdG9we3BhZGRpbmctdG9wOjglfS54cy1wYWRkaW5nLW5pbmUtdG9we3BhZGRpbmctdG9wOjklfS54cy1wYWRkaW5nLXRlbi10b3B7cGFkZGluZy10b3A6MTAlfS54cy1wYWRkaW5nLWVsZXZlbi10b3B7cGFkZGluZy10b3A6MTElfS54cy1wYWRkaW5nLXR3ZWx2ZS10b3B7cGFkZGluZy10b3A6MTIlfS54cy1wYWRkaW5nLXRoaXJ0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxMyV9LnhzLXBhZGRpbmctZm91cnRlZW4tdG9we3BhZGRpbmctdG9wOjE0JX0ueHMtcGFkZGluZy1maWZ0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxNSV9LnhzLXBhZGRpbmctc2l4dGVlbi10b3B7cGFkZGluZy10b3A6MTYlfS54cy1wYWRkaW5nLXNldmVudGVlbi10b3B7cGFkZGluZy10b3A6MTclfS54cy1wYWRkaW5nLWVpZ2h0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxOCV9LnhzLXBhZGRpbmctbmluZXRlZW4tdG9we3BhZGRpbmctdG9wOjE5JX0ueHMtcGFkZGluZy10d2VudHktdG9we3BhZGRpbmctdG9wOjIwJX0ueHMtcGFkZGluZy01cHgtdG9we3BhZGRpbmctdG9wOjVweH0ueHMtcGFkZGluZy0xMHB4LXRvcHtwYWRkaW5nLXRvcDoxMHB4fS54cy1wYWRkaW5nLTE1cHgtdG9we3BhZGRpbmctdG9wOjE1cHh9LnhzLXBhZGRpbmctMjBweC10b3B7cGFkZGluZy10b3A6MjBweH0ueHMtcGFkZGluZy0yNXB4LXRvcHtwYWRkaW5nLXRvcDoyNXB4fS54cy1wYWRkaW5nLTMwcHgtdG9we3BhZGRpbmctdG9wOjMwcHh9LnhzLXBhZGRpbmctMzVweC10b3B7cGFkZGluZy10b3A6MzVweH0ueHMtcGFkZGluZy00MHB4LXRvcHtwYWRkaW5nLXRvcDo0MHB4fS54cy1wYWRkaW5nLTQ1cHgtdG9we3BhZGRpbmctdG9wOjQ1cHh9LnhzLXBhZGRpbmctNTBweC10b3B7cGFkZGluZy10b3A6NTBweH0ueHMtcGFkZGluZy01NXB4LXRvcHtwYWRkaW5nLXRvcDo1NXB4fS54cy1wYWRkaW5nLTYwcHgtdG9we3BhZGRpbmctdG9wOjYwcHh9LnhzLXBhZGRpbmctNjVweC10b3B7cGFkZGluZy10b3A6NjVweH0ueHMtcGFkZGluZy03MHB4LXRvcHtwYWRkaW5nLXRvcDo3MHB4fS54cy1wYWRkaW5nLTc1cHgtdG9we3BhZGRpbmctdG9wOjc1cHh9LnhzLXBhZGRpbmctODBweC10b3B7cGFkZGluZy10b3A6ODBweH0ueHMtcGFkZGluZy04NXB4LXRvcHtwYWRkaW5nLXRvcDo4NXB4fS54cy1wYWRkaW5nLTkwcHgtdG9we3BhZGRpbmctdG9wOjkwcHh9LnhzLXBhZGRpbmctOTVweC10b3B7cGFkZGluZy10b3A6OTVweH0ueHMtcGFkZGluZy0xMDBweC10b3B7cGFkZGluZy10b3A6MTAwcHh9LnhzLXBhZGRpbmctMS1yZW0tdG9we3BhZGRpbmctdG9wOjFyZW19LnhzLXBhZGRpbmctMS1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6MS41cmVtfS54cy1wYWRkaW5nLTItcmVtLXRvcHtwYWRkaW5nLXRvcDoycmVtfS54cy1wYWRkaW5nLTItaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjIuNXJlbX0ueHMtcGFkZGluZy0zLXJlbS10b3B7cGFkZGluZy10b3A6M3JlbX0ueHMtcGFkZGluZy0zLWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDozLjVyZW19LnhzLXBhZGRpbmctNC1yZW0tdG9we3BhZGRpbmctdG9wOjRyZW19LnhzLXBhZGRpbmctNC1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6NC41cmVtfS54cy1wYWRkaW5nLTUtcmVtLXRvcHtwYWRkaW5nLXRvcDo1cmVtfS54cy1wYWRkaW5nLTUtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjUuNXJlbX0ueHMtcGFkZGluZy02LXJlbS10b3B7cGFkZGluZy10b3A6NnJlbX0ueHMtcGFkZGluZy02LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo2LjVyZW19LnhzLXBhZGRpbmctNy1yZW0tdG9we3BhZGRpbmctdG9wOjdyZW19LnhzLXBhZGRpbmctNy1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6Ny41cmVtfS54cy1wYWRkaW5nLTgtcmVtLXRvcHtwYWRkaW5nLXRvcDo4cmVtfS54cy1wYWRkaW5nLTgtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjguNXJlbX0ueHMtcGFkZGluZy05LXJlbS10b3B7cGFkZGluZy10b3A6OXJlbX0ueHMtcGFkZGluZy05LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo5LjVyZW19LnhzLXBhZGRpbmctMTAtcmVtLXRvcHtwYWRkaW5nLXRvcDoxMHJlbX0ueHMtcGFkZGluZy0xMC1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6MTAuNXJlbX0ueHMtcGFkZGluZy1vbmUtYm90dG9te3BhZGRpbmctYm90dG9tOjElfS54cy1wYWRkaW5nLXR3by1ib3R0b217cGFkZGluZy1ib3R0b206MiV9LnhzLXBhZGRpbmctdGhyZWUtYm90dG9te3BhZGRpbmctYm90dG9tOjMlfS54cy1wYWRkaW5nLWZvdXItYm90dG9te3BhZGRpbmctYm90dG9tOjQlfS54cy1wYWRkaW5nLWZpdmUtYm90dG9te3BhZGRpbmctYm90dG9tOjUlfS54cy1wYWRkaW5nLXNpeC1ib3R0b217cGFkZGluZy1ib3R0b206NiV9LnhzLXBhZGRpbmctc2V2ZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjclfS54cy1wYWRkaW5nLWVpZ2h0LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo4JX0ueHMtcGFkZGluZy1uaW5lLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo5JX0ueHMtcGFkZGluZy10ZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjEwJX0ueHMtcGFkZGluZy1lbGV2ZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjExJX0ueHMtcGFkZGluZy10d2VsdmUtYm90dG9te3BhZGRpbmctYm90dG9tOjEyJX0ueHMtcGFkZGluZy10aGlydGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTMlfS54cy1wYWRkaW5nLWZvdXJ0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxNCV9LnhzLXBhZGRpbmctZmlmdGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTUlfS54cy1wYWRkaW5nLXNpeHRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE2JX0ueHMtcGFkZGluZy1zZXZlbnRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE3JX0ueHMtcGFkZGluZy1laWdodGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTglfS54cy1wYWRkaW5nLW5pbmV0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxOSV9LnhzLXBhZGRpbmctdHdlbnR5LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToyMCV9LnhzLXBhZGRpbmctNXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1cHh9LnhzLXBhZGRpbmctMTBweC1ib3R0b217cGFkZGluZy1ib3R0b206MTBweH0ueHMtcGFkZGluZy0xNXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxNXB4fS54cy1wYWRkaW5nLTIwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjIwcHh9LnhzLXBhZGRpbmctMjVweC1ib3R0b217cGFkZGluZy1ib3R0b206MjVweH0ueHMtcGFkZGluZy0zMHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTozMHB4fS54cy1wYWRkaW5nLTM1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjM1cHh9LnhzLXBhZGRpbmctNDBweC1ib3R0b217cGFkZGluZy1ib3R0b206NDBweH0ueHMtcGFkZGluZy00NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo0NXB4fS54cy1wYWRkaW5nLTUwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjUwcHh9LnhzLXBhZGRpbmctNTVweC1ib3R0b217cGFkZGluZy1ib3R0b206NTVweH0ueHMtcGFkZGluZy02MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo2MHB4fS54cy1wYWRkaW5nLTY1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjY1cHh9LnhzLXBhZGRpbmctNzBweC1ib3R0b217cGFkZGluZy1ib3R0b206NzBweH0ueHMtcGFkZGluZy03NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo3NXB4fS54cy1wYWRkaW5nLTgwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjgwcHh9LnhzLXBhZGRpbmctODVweC1ib3R0b217cGFkZGluZy1ib3R0b206ODVweH0ueHMtcGFkZGluZy05MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo5MHB4fS54cy1wYWRkaW5nLTk1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjk1cHh9LnhzLXBhZGRpbmctMTAwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjEwMHB4fS54cy1wYWRkaW5nLTEtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxcmVtfS54cy1wYWRkaW5nLTEtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjEuNXJlbX0ueHMtcGFkZGluZy0yLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206MnJlbX0ueHMtcGFkZGluZy0yLWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToyLjVyZW19LnhzLXBhZGRpbmctMy1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjNyZW19LnhzLXBhZGRpbmctMy1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206My41cmVtfS54cy1wYWRkaW5nLTQtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo0cmVtfS54cy1wYWRkaW5nLTQtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjQuNXJlbX0ueHMtcGFkZGluZy01LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206NXJlbX0ueHMtcGFkZGluZy01LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1LjVyZW19LnhzLXBhZGRpbmctNi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjZyZW19LnhzLXBhZGRpbmctNi1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206Ni41cmVtfS54cy1wYWRkaW5nLTctcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo3cmVtfS54cy1wYWRkaW5nLTctaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjcuNXJlbX0ueHMtcGFkZGluZy04LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206OHJlbX0ueHMtcGFkZGluZy04LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo4LjVyZW19LnhzLXBhZGRpbmctOS1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjlyZW19LnhzLXBhZGRpbmctOS1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206OS41cmVtfS54cy1wYWRkaW5nLTEwLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206MTByZW19LnhzLXBhZGRpbmctMTAtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjEwLjVyZW19LnhzLXBhZGRpbmctb25lLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MSV9LnhzLXBhZGRpbmctdHdvLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MiV9LnhzLXBhZGRpbmctdGhyZWUtcmlnaHR7cGFkZGluZy1yaWdodDozJX0ueHMtcGFkZGluZy1mb3VyLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NCV9LnhzLXBhZGRpbmctZml2ZS1yaWdodHtwYWRkaW5nLXJpZ2h0OjUlfS54cy1wYWRkaW5nLXNpeC1yaWdodHtwYWRkaW5nLXJpZ2h0OjYlfS54cy1wYWRkaW5nLXNldmVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NyV9LnhzLXBhZGRpbmctZWlnaHQtcmlnaHR7cGFkZGluZy1yaWdodDo4JX0ueHMtcGFkZGluZy1uaW5lLXJpZ2h0e3BhZGRpbmctcmlnaHQ6OSV9LnhzLXBhZGRpbmctdGVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTAlfS54cy1wYWRkaW5nLWVsZXZlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjExJX0ueHMtcGFkZGluZy10d2VsdmUtcmlnaHR7cGFkZGluZy1yaWdodDoxMiV9LnhzLXBhZGRpbmctdGhpcnRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxMyV9LnhzLXBhZGRpbmctZm91cnRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxNCV9LnhzLXBhZGRpbmctZmlmdGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE1JX0ueHMtcGFkZGluZy1zaXh0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTYlfS54cy1wYWRkaW5nLXNldmVudGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE3JX0ueHMtcGFkZGluZy1laWdodGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE4JX0ueHMtcGFkZGluZy1uaW5ldGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE5JX0ueHMtcGFkZGluZy10d2VudHktcmlnaHR7cGFkZGluZy1yaWdodDoyMCV9LnhzLXBhZGRpbmctNXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NXB4fS54cy1wYWRkaW5nLTEwcHgtcmlnaHR7cGFkZGluZy1yaWdodDoxMHB4fS54cy1wYWRkaW5nLTE1cHgtcmlnaHR7cGFkZGluZy1yaWdodDoxNXB4fS54cy1wYWRkaW5nLTIwcHgtcmlnaHR7cGFkZGluZy1yaWdodDoyMHB4fS54cy1wYWRkaW5nLTI1cHgtcmlnaHR7cGFkZGluZy1yaWdodDoyNXB4fS54cy1wYWRkaW5nLTMwcHgtcmlnaHR7cGFkZGluZy1yaWdodDozMHB4fS54cy1wYWRkaW5nLTM1cHgtcmlnaHR7cGFkZGluZy1yaWdodDozNXB4fS54cy1wYWRkaW5nLTQwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo0MHB4fS54cy1wYWRkaW5nLTQ1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo0NXB4fS54cy1wYWRkaW5nLTUwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo1MHB4fS54cy1wYWRkaW5nLTU1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo1NXB4fS54cy1wYWRkaW5nLTYwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo2MHB4fS54cy1wYWRkaW5nLTY1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo2NXB4fS54cy1wYWRkaW5nLTcwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo3MHB4fS54cy1wYWRkaW5nLTc1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo3NXB4fS54cy1wYWRkaW5nLTgwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo4MHB4fS54cy1wYWRkaW5nLTg1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo4NXB4fS54cy1wYWRkaW5nLTkwcHgtcmlnaHR7cGFkZGluZy1yaWdodDo5MHB4fS54cy1wYWRkaW5nLTk1cHgtcmlnaHR7cGFkZGluZy1yaWdodDo5NXB4fS54cy1wYWRkaW5nLTEwMHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTAwcHh9LnhzLXBhZGRpbmctMS1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoxcmVtfS54cy1wYWRkaW5nLTEtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoxLjVyZW19LnhzLXBhZGRpbmctMi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoycmVtfS54cy1wYWRkaW5nLTItaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoyLjVyZW19LnhzLXBhZGRpbmctMy1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDozcmVtfS54cy1wYWRkaW5nLTMtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDozLjVyZW19LnhzLXBhZGRpbmctNC1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo0cmVtfS54cy1wYWRkaW5nLTQtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo0LjVyZW19LnhzLXBhZGRpbmctNS1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo1cmVtfS54cy1wYWRkaW5nLTUtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo1LjVyZW19LnhzLXBhZGRpbmctNi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo2cmVtfS54cy1wYWRkaW5nLTYtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo2LjVyZW19LnhzLXBhZGRpbmctNy1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo3cmVtfS54cy1wYWRkaW5nLTctaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo3LjVyZW19LnhzLXBhZGRpbmctOC1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo4cmVtfS54cy1wYWRkaW5nLTgtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo4LjVyZW19LnhzLXBhZGRpbmctOS1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo5cmVtfS54cy1wYWRkaW5nLTktaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDo5LjVyZW19LnhzLXBhZGRpbmctMTAtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTByZW19LnhzLXBhZGRpbmctMTAtaGFsZi1yZW0tcmlnaHR7cGFkZGluZy1yaWdodDoxMC41cmVtfS54cy1wYWRkaW5nLW9uZS1sZWZ0e3BhZGRpbmctbGVmdDoxJX0ueHMtcGFkZGluZy10d28tbGVmdHtwYWRkaW5nLWxlZnQ6MiV9LnhzLXBhZGRpbmctdGhyZWUtbGVmdHtwYWRkaW5nLWxlZnQ6MyV9LnhzLXBhZGRpbmctZm91ci1sZWZ0e3BhZGRpbmctbGVmdDo0JX0ueHMtcGFkZGluZy1maXZlLWxlZnR7cGFkZGluZy1sZWZ0OjUlfS54cy1wYWRkaW5nLXNpeC1sZWZ0e3BhZGRpbmctbGVmdDo2JX0ueHMtcGFkZGluZy1zZXZlbi1sZWZ0e3BhZGRpbmctbGVmdDo3JX0ueHMtcGFkZGluZy1laWdodC1sZWZ0e3BhZGRpbmctbGVmdDo4JX0ueHMtcGFkZGluZy1uaW5lLWxlZnR7cGFkZGluZy1sZWZ0OjklfS54cy1wYWRkaW5nLXRlbi1sZWZ0e3BhZGRpbmctbGVmdDoxMCV9LnhzLXBhZGRpbmctZWxldmVuLWxlZnR7cGFkZGluZy1sZWZ0OjExJX0ueHMtcGFkZGluZy10d2VsdmUtbGVmdHtwYWRkaW5nLWxlZnQ6MTIlfS54cy1wYWRkaW5nLXRoaXJ0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjEzJX0ueHMtcGFkZGluZy1mb3VydGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxNCV9LnhzLXBhZGRpbmctZmlmdGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxNSV9LnhzLXBhZGRpbmctc2l4dGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxNiV9LnhzLXBhZGRpbmctc2V2ZW50ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE3JX0ueHMtcGFkZGluZy1laWdodGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxOCV9LnhzLXBhZGRpbmctbmluZXRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTklfS54cy1wYWRkaW5nLXR3ZW50eS1sZWZ0e3BhZGRpbmctbGVmdDoyMCV9LnhzLXBhZGRpbmctNXB4LWxlZnR7cGFkZGluZy1sZWZ0OjVweH0ueHMtcGFkZGluZy0xMHB4LWxlZnR7cGFkZGluZy1sZWZ0OjEwcHh9LnhzLXBhZGRpbmctMTVweC1sZWZ0e3BhZGRpbmctbGVmdDoxNXB4fS54cy1wYWRkaW5nLTIwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6MjBweH0ueHMtcGFkZGluZy0yNXB4LWxlZnR7cGFkZGluZy1sZWZ0OjI1cHh9LnhzLXBhZGRpbmctMzBweC1sZWZ0e3BhZGRpbmctbGVmdDozMHB4fS54cy1wYWRkaW5nLTM1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6MzVweH0ueHMtcGFkZGluZy00MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjQwcHh9LnhzLXBhZGRpbmctNDVweC1sZWZ0e3BhZGRpbmctbGVmdDo0NXB4fS54cy1wYWRkaW5nLTUwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6NTBweH0ueHMtcGFkZGluZy01NXB4LWxlZnR7cGFkZGluZy1sZWZ0OjU1cHh9LnhzLXBhZGRpbmctNjBweC1sZWZ0e3BhZGRpbmctbGVmdDo2MHB4fS54cy1wYWRkaW5nLTY1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6NjVweH0ueHMtcGFkZGluZy03MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjcwcHh9LnhzLXBhZGRpbmctNzVweC1sZWZ0e3BhZGRpbmctbGVmdDo3NXB4fS54cy1wYWRkaW5nLTgwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6ODBweH0ueHMtcGFkZGluZy04NXB4LWxlZnR7cGFkZGluZy1sZWZ0Ojg1cHh9LnhzLXBhZGRpbmctOTBweC1sZWZ0e3BhZGRpbmctbGVmdDo5MHB4fS54cy1wYWRkaW5nLTk1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6OTVweH0ueHMtcGFkZGluZy0xMDBweC1sZWZ0e3BhZGRpbmctbGVmdDoxMDBweH0ueHMtcGFkZGluZy0xLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoxcmVtfS54cy1wYWRkaW5nLTEtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6MS41cmVtfS54cy1wYWRkaW5nLTItcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjJyZW19LnhzLXBhZGRpbmctMi1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoyLjVyZW19LnhzLXBhZGRpbmctMy1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6M3JlbX0ueHMtcGFkZGluZy0zLWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjMuNXJlbX0ueHMtcGFkZGluZy00LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo0cmVtfS54cy1wYWRkaW5nLTQtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6NC41cmVtfS54cy1wYWRkaW5nLTUtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjVyZW19LnhzLXBhZGRpbmctNS1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo1LjVyZW19LnhzLXBhZGRpbmctNi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6NnJlbX0ueHMtcGFkZGluZy02LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjYuNXJlbX0ueHMtcGFkZGluZy03LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo3cmVtfS54cy1wYWRkaW5nLTctaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6Ny41cmVtfS54cy1wYWRkaW5nLTgtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjhyZW19LnhzLXBhZGRpbmctOC1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo4LjVyZW19LnhzLXBhZGRpbmctOS1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6OXJlbX0ueHMtcGFkZGluZy05LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjkuNXJlbX0ueHMtcGFkZGluZy0xMC1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6MTByZW19LnhzLXBhZGRpbmctMTAtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6MTAuNXJlbX0ueHMtcGFkZGluZy1vbmUtdGJ7cGFkZGluZy10b3A6MSU7cGFkZGluZy1ib3R0b206MSV9LnhzLXBhZGRpbmctdHdvLXRie3BhZGRpbmctdG9wOjIlO3BhZGRpbmctYm90dG9tOjIlfS54cy1wYWRkaW5nLXRocmVlLXRie3BhZGRpbmctdG9wOjMlO3BhZGRpbmctYm90dG9tOjMlfS54cy1wYWRkaW5nLWZvdXItdGJ7cGFkZGluZy10b3A6NCU7cGFkZGluZy1ib3R0b206NCV9LnhzLXBhZGRpbmctZml2ZS10YntwYWRkaW5nLXRvcDo1JTtwYWRkaW5nLWJvdHRvbTo1JX0ueHMtcGFkZGluZy1zaXgtdGJ7cGFkZGluZy10b3A6NiU7cGFkZGluZy1ib3R0b206NiV9LnhzLXBhZGRpbmctc2V2ZW4tdGJ7cGFkZGluZy10b3A6NyU7cGFkZGluZy1ib3R0b206NyV9LnhzLXBhZGRpbmctZWlnaHQtdGJ7cGFkZGluZy10b3A6OCU7cGFkZGluZy1ib3R0b206OCV9LnhzLXBhZGRpbmctbmluZS10YntwYWRkaW5nLXRvcDo5JTtwYWRkaW5nLWJvdHRvbTo5JX0ueHMtcGFkZGluZy10ZW4tdGJ7cGFkZGluZy10b3A6MTAlO3BhZGRpbmctYm90dG9tOjEwJX0ueHMtcGFkZGluZy1lbGV2ZW4tdGJ7cGFkZGluZy10b3A6MTElO3BhZGRpbmctYm90dG9tOjExJX0ueHMtcGFkZGluZy10d2VsdmUtdGJ7cGFkZGluZy10b3A6MTIlO3BhZGRpbmctYm90dG9tOjEyJX0ueHMtcGFkZGluZy10aGlydGVlbi10YntwYWRkaW5nLXRvcDoxMyU7cGFkZGluZy1ib3R0b206MTMlfS54cy1wYWRkaW5nLWZvdXJ0ZWVuLXRie3BhZGRpbmctdG9wOjE0JTtwYWRkaW5nLWJvdHRvbToxNCV9LnhzLXBhZGRpbmctZmlmdGVlbi10YntwYWRkaW5nLXRvcDoxNSU7cGFkZGluZy1ib3R0b206MTUlfS54cy1wYWRkaW5nLXNpeHRlZW4tdGJ7cGFkZGluZy10b3A6MTYlO3BhZGRpbmctYm90dG9tOjE2JX0ueHMtcGFkZGluZy1zZXZlbnRlZW4tdGJ7cGFkZGluZy10b3A6MTclO3BhZGRpbmctYm90dG9tOjE3JX0ueHMtcGFkZGluZy1laWdodGVlbi10YntwYWRkaW5nLXRvcDoxOCU7cGFkZGluZy1ib3R0b206MTglfS54cy1wYWRkaW5nLW5pbmV0ZWVuLXRie3BhZGRpbmctdG9wOjE5JTtwYWRkaW5nLWJvdHRvbToxOSV9LnhzLXBhZGRpbmctdHdlbnR5LXRie3BhZGRpbmctdG9wOjIwJTtwYWRkaW5nLWJvdHRvbToyMCV9LnhzLXBhZGRpbmctNXB4LXRie3BhZGRpbmctdG9wOjVweDtwYWRkaW5nLWJvdHRvbTo1cHh9LnhzLXBhZGRpbmctMTBweC10YntwYWRkaW5nLXRvcDoxMHB4O3BhZGRpbmctYm90dG9tOjEwcHh9LnhzLXBhZGRpbmctMTVweC10YntwYWRkaW5nLXRvcDoxNXB4O3BhZGRpbmctYm90dG9tOjE1cHh9LnhzLXBhZGRpbmctMjBweC10YntwYWRkaW5nLXRvcDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHh9LnhzLXBhZGRpbmctMjVweC10YntwYWRkaW5nLXRvcDoyNXB4O3BhZGRpbmctYm90dG9tOjI1cHh9LnhzLXBhZGRpbmctMzBweC10YntwYWRkaW5nLXRvcDozMHB4O3BhZGRpbmctYm90dG9tOjMwcHh9LnhzLXBhZGRpbmctMzVweC10YntwYWRkaW5nLXRvcDozNXB4O3BhZGRpbmctYm90dG9tOjM1cHh9LnhzLXBhZGRpbmctNDBweC10YntwYWRkaW5nLXRvcDo0MHB4O3BhZGRpbmctYm90dG9tOjQwcHh9LnhzLXBhZGRpbmctNDVweC10YntwYWRkaW5nLXRvcDo0NXB4O3BhZGRpbmctYm90dG9tOjQ1cHh9LnhzLXBhZGRpbmctNTBweC10YntwYWRkaW5nLXRvcDo1MHB4O3BhZGRpbmctYm90dG9tOjUwcHh9LnhzLXBhZGRpbmctNTVweC10YntwYWRkaW5nLXRvcDo1NXB4O3BhZGRpbmctYm90dG9tOjU1cHh9LnhzLXBhZGRpbmctNjBweC10YntwYWRkaW5nLXRvcDo2MHB4O3BhZGRpbmctYm90dG9tOjYwcHh9LnhzLXBhZGRpbmctNjVweC10YntwYWRkaW5nLXRvcDo2NXB4O3BhZGRpbmctYm90dG9tOjY1cHh9LnhzLXBhZGRpbmctNzBweC10YntwYWRkaW5nLXRvcDo3MHB4O3BhZGRpbmctYm90dG9tOjcwcHh9LnhzLXBhZGRpbmctNzVweC10YntwYWRkaW5nLXRvcDo3NXB4O3BhZGRpbmctYm90dG9tOjc1cHh9LnhzLXBhZGRpbmctODBweC10YntwYWRkaW5nLXRvcDo4MHB4O3BhZGRpbmctYm90dG9tOjgwcHh9LnhzLXBhZGRpbmctODVweC10YntwYWRkaW5nLXRvcDo4NXB4O3BhZGRpbmctYm90dG9tOjg1cHh9LnhzLXBhZGRpbmctOTBweC10YntwYWRkaW5nLXRvcDo5MHB4O3BhZGRpbmctYm90dG9tOjkwcHh9LnhzLXBhZGRpbmctOTVweC10YntwYWRkaW5nLXRvcDo5NXB4O3BhZGRpbmctYm90dG9tOjk1cHh9LnhzLXBhZGRpbmctMTAwcHgtdGJ7cGFkZGluZy10b3A6MTAwcHg7cGFkZGluZy1ib3R0b206MTAwcHh9LnhzLXBhZGRpbmctMS1yZW0tdGJ7cGFkZGluZy10b3A6MXJlbTtwYWRkaW5nLWJvdHRvbToxcmVtfS54cy1wYWRkaW5nLTEtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6MS41cmVtO3BhZGRpbmctYm90dG9tOjEuNXJlbX0ueHMtcGFkZGluZy0yLXJlbS10YntwYWRkaW5nLXRvcDoycmVtO3BhZGRpbmctYm90dG9tOjJyZW19LnhzLXBhZGRpbmctMi1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDoyLjVyZW07cGFkZGluZy1ib3R0b206Mi41cmVtfS54cy1wYWRkaW5nLTMtcmVtLXRie3BhZGRpbmctdG9wOjNyZW07cGFkZGluZy1ib3R0b206M3JlbX0ueHMtcGFkZGluZy0zLWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjMuNXJlbTtwYWRkaW5nLWJvdHRvbTozLjVyZW19LnhzLXBhZGRpbmctNC1yZW0tdGJ7cGFkZGluZy10b3A6NHJlbTtwYWRkaW5nLWJvdHRvbTo0cmVtfS54cy1wYWRkaW5nLTQtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6NC41cmVtO3BhZGRpbmctYm90dG9tOjQuNXJlbX0ueHMtcGFkZGluZy01LXJlbS10YntwYWRkaW5nLXRvcDo1cmVtO3BhZGRpbmctYm90dG9tOjVyZW19LnhzLXBhZGRpbmctNS1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo1LjVyZW07cGFkZGluZy1ib3R0b206NS41cmVtfS54cy1wYWRkaW5nLTYtcmVtLXRie3BhZGRpbmctdG9wOjZyZW07cGFkZGluZy1ib3R0b206NnJlbX0ueHMtcGFkZGluZy02LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjYuNXJlbTtwYWRkaW5nLWJvdHRvbTo2LjVyZW19LnhzLXBhZGRpbmctNy1yZW0tdGJ7cGFkZGluZy10b3A6N3JlbTtwYWRkaW5nLWJvdHRvbTo3cmVtfS54cy1wYWRkaW5nLTctaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6Ny41cmVtO3BhZGRpbmctYm90dG9tOjcuNXJlbX0ueHMtcGFkZGluZy04LXJlbS10YntwYWRkaW5nLXRvcDo4cmVtO3BhZGRpbmctYm90dG9tOjhyZW19LnhzLXBhZGRpbmctOC1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo4LjVyZW07cGFkZGluZy1ib3R0b206OC41cmVtfS54cy1wYWRkaW5nLTktcmVtLXRie3BhZGRpbmctdG9wOjlyZW07cGFkZGluZy1ib3R0b206OXJlbX0ueHMtcGFkZGluZy05LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjkuNXJlbTtwYWRkaW5nLWJvdHRvbTo5LjVyZW19LnhzLXBhZGRpbmctMTAtcmVtLXRie3BhZGRpbmctdG9wOjEwcmVtO3BhZGRpbmctYm90dG9tOjEwcmVtfS54cy1wYWRkaW5nLTEwLWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjEwLjVyZW07cGFkZGluZy1ib3R0b206MTAuNXJlbX0ueHMtcGFkZGluZy1vbmUtbHJ7cGFkZGluZy1sZWZ0OjElO3BhZGRpbmctcmlnaHQ6MSV9LnhzLXBhZGRpbmctdHdvLWxye3BhZGRpbmctbGVmdDoyJTtwYWRkaW5nLXJpZ2h0OjIlfS54cy1wYWRkaW5nLXRocmVlLWxye3BhZGRpbmctbGVmdDozJTtwYWRkaW5nLXJpZ2h0OjMlfS54cy1wYWRkaW5nLWZvdXItbHJ7cGFkZGluZy1sZWZ0OjQlO3BhZGRpbmctcmlnaHQ6NCV9LnhzLXBhZGRpbmctZml2ZS1scntwYWRkaW5nLWxlZnQ6NSU7cGFkZGluZy1yaWdodDo1JX0ueHMtcGFkZGluZy1zaXgtbHJ7cGFkZGluZy1sZWZ0OjYlO3BhZGRpbmctcmlnaHQ6NiV9LnhzLXBhZGRpbmctc2V2ZW4tbHJ7cGFkZGluZy1sZWZ0OjclO3BhZGRpbmctcmlnaHQ6NyV9LnhzLXBhZGRpbmctZWlnaHQtbHJ7cGFkZGluZy1sZWZ0OjglO3BhZGRpbmctcmlnaHQ6OCV9LnhzLXBhZGRpbmctbmluZS1scntwYWRkaW5nLWxlZnQ6OSU7cGFkZGluZy1yaWdodDo5JX0ueHMtcGFkZGluZy10ZW4tbHJ7cGFkZGluZy1sZWZ0OjEwJTtwYWRkaW5nLXJpZ2h0OjEwJX0ueHMtcGFkZGluZy1lbGV2ZW4tbHJ7cGFkZGluZy1sZWZ0OjExJTtwYWRkaW5nLXJpZ2h0OjExJX0ueHMtcGFkZGluZy10d2VsdmUtbHJ7cGFkZGluZy1sZWZ0OjEyJTtwYWRkaW5nLXJpZ2h0OjEyJX0ueHMtcGFkZGluZy10aGlydGVlbi1scntwYWRkaW5nLWxlZnQ6MTMlO3BhZGRpbmctcmlnaHQ6MTMlfS54cy1wYWRkaW5nLWZvdXJ0ZWVuLWxye3BhZGRpbmctbGVmdDoxNCU7cGFkZGluZy1yaWdodDoxNCV9LnhzLXBhZGRpbmctZmlmdGVlbi1scntwYWRkaW5nLWxlZnQ6MTUlO3BhZGRpbmctcmlnaHQ6MTUlfS54cy1wYWRkaW5nLXNpeHRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE2JTtwYWRkaW5nLXJpZ2h0OjE2JX0ueHMtcGFkZGluZy1zZXZlbnRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE3JTtwYWRkaW5nLXJpZ2h0OjE3JX0ueHMtcGFkZGluZy1laWdodGVlbi1scntwYWRkaW5nLWxlZnQ6MTglO3BhZGRpbmctcmlnaHQ6MTglfS54cy1wYWRkaW5nLW5pbmV0ZWVuLWxye3BhZGRpbmctbGVmdDoxOSU7cGFkZGluZy1yaWdodDoxOSV9LnhzLXBhZGRpbmctdHdlbnR5LWxye3BhZGRpbmctbGVmdDoyMCU7cGFkZGluZy1yaWdodDoyMCV9LnhzLXBhZGRpbmctNXB4LWxye3BhZGRpbmctbGVmdDo1cHg7cGFkZGluZy1yaWdodDo1cHh9LnhzLXBhZGRpbmctMTBweC1scntwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjEwcHh9LnhzLXBhZGRpbmctMTVweC1scntwYWRkaW5nLWxlZnQ6MTVweDtwYWRkaW5nLXJpZ2h0OjE1cHh9LnhzLXBhZGRpbmctMjBweC1scntwYWRkaW5nLWxlZnQ6MjBweDtwYWRkaW5nLXJpZ2h0OjIwcHh9LnhzLXBhZGRpbmctMjVweC1scntwYWRkaW5nLWxlZnQ6MjVweDtwYWRkaW5nLXJpZ2h0OjI1cHh9LnhzLXBhZGRpbmctMzBweC1scntwYWRkaW5nLWxlZnQ6MzBweDtwYWRkaW5nLXJpZ2h0OjMwcHh9LnhzLXBhZGRpbmctMzVweC1scntwYWRkaW5nLWxlZnQ6MzVweDtwYWRkaW5nLXJpZ2h0OjM1cHh9LnhzLXBhZGRpbmctNDBweC1scntwYWRkaW5nLWxlZnQ6NDBweDtwYWRkaW5nLXJpZ2h0OjQwcHh9LnhzLXBhZGRpbmctNDVweC1scntwYWRkaW5nLWxlZnQ6NDVweDtwYWRkaW5nLXJpZ2h0OjQ1cHh9LnhzLXBhZGRpbmctNTBweC1scntwYWRkaW5nLWxlZnQ6NTBweDtwYWRkaW5nLXJpZ2h0OjUwcHh9LnhzLXBhZGRpbmctNTVweC1scntwYWRkaW5nLWxlZnQ6NTVweDtwYWRkaW5nLXJpZ2h0OjU1cHh9LnhzLXBhZGRpbmctNjBweC1scntwYWRkaW5nLWxlZnQ6NjBweDtwYWRkaW5nLXJpZ2h0OjYwcHh9LnhzLXBhZGRpbmctNjVweC1scntwYWRkaW5nLWxlZnQ6NjVweDtwYWRkaW5nLXJpZ2h0OjY1cHh9LnhzLXBhZGRpbmctNzBweC1scntwYWRkaW5nLWxlZnQ6NzBweDtwYWRkaW5nLXJpZ2h0OjcwcHh9LnhzLXBhZGRpbmctNzVweC1scntwYWRkaW5nLWxlZnQ6NzVweDtwYWRkaW5nLXJpZ2h0Ojc1cHh9LnhzLXBhZGRpbmctODBweC1scntwYWRkaW5nLWxlZnQ6ODBweDtwYWRkaW5nLXJpZ2h0OjgwcHh9LnhzLXBhZGRpbmctODVweC1scntwYWRkaW5nLWxlZnQ6ODVweDtwYWRkaW5nLXJpZ2h0Ojg1cHh9LnhzLXBhZGRpbmctOTBweC1scntwYWRkaW5nLWxlZnQ6OTBweDtwYWRkaW5nLXJpZ2h0OjkwcHh9LnhzLXBhZGRpbmctOTVweC1scntwYWRkaW5nLWxlZnQ6OTVweDtwYWRkaW5nLXJpZ2h0Ojk1cHh9LnhzLXBhZGRpbmctMTAwcHgtbHJ7cGFkZGluZy1sZWZ0OjEwMHB4O3BhZGRpbmctcmlnaHQ6MTAwcHh9LnhzLXBhZGRpbmctMS1yZW0tbHJ7cGFkZGluZy1sZWZ0OjFyZW07cGFkZGluZy1yaWdodDoxcmVtfS54cy1wYWRkaW5nLTEtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjEuNXJlbTtwYWRkaW5nLXJpZ2h0OjEuNXJlbX0ueHMtcGFkZGluZy0yLXJlbS1scntwYWRkaW5nLWxlZnQ6MnJlbTtwYWRkaW5nLXJpZ2h0OjJyZW19LnhzLXBhZGRpbmctMi1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6Mi41cmVtO3BhZGRpbmctcmlnaHQ6Mi41cmVtfS54cy1wYWRkaW5nLTMtcmVtLWxye3BhZGRpbmctbGVmdDozcmVtO3BhZGRpbmctcmlnaHQ6M3JlbX0ueHMtcGFkZGluZy0zLWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDozLjVyZW07cGFkZGluZy1yaWdodDozLjVyZW19LnhzLXBhZGRpbmctNC1yZW0tbHJ7cGFkZGluZy1sZWZ0OjRyZW07cGFkZGluZy1yaWdodDo0cmVtfS54cy1wYWRkaW5nLTQtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjQuNXJlbTtwYWRkaW5nLXJpZ2h0OjQuNXJlbX0ueHMtcGFkZGluZy01LXJlbS1scntwYWRkaW5nLWxlZnQ6NXJlbTtwYWRkaW5nLXJpZ2h0OjVyZW19LnhzLXBhZGRpbmctNS1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6NS41cmVtO3BhZGRpbmctcmlnaHQ6NS41cmVtfS54cy1wYWRkaW5nLTYtcmVtLWxye3BhZGRpbmctbGVmdDo2cmVtO3BhZGRpbmctcmlnaHQ6NnJlbX0ueHMtcGFkZGluZy02LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo2LjVyZW07cGFkZGluZy1yaWdodDo2LjVyZW19LnhzLXBhZGRpbmctNy1yZW0tbHJ7cGFkZGluZy1sZWZ0OjdyZW07cGFkZGluZy1yaWdodDo3cmVtfS54cy1wYWRkaW5nLTctaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjcuNXJlbTtwYWRkaW5nLXJpZ2h0OjcuNXJlbX0ueHMtcGFkZGluZy04LXJlbS1scntwYWRkaW5nLWxlZnQ6OHJlbTtwYWRkaW5nLXJpZ2h0OjhyZW19LnhzLXBhZGRpbmctOC1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6OC41cmVtO3BhZGRpbmctcmlnaHQ6OC41cmVtfS54cy1wYWRkaW5nLTktcmVtLWxye3BhZGRpbmctbGVmdDo5cmVtO3BhZGRpbmctcmlnaHQ6OXJlbX0ueHMtcGFkZGluZy05LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo5LjVyZW07cGFkZGluZy1yaWdodDo5LjVyZW19LnhzLXBhZGRpbmctMTAtcmVtLWxye3BhZGRpbmctbGVmdDoxMHJlbTtwYWRkaW5nLXJpZ2h0OjEwcmVtfS54cy1wYWRkaW5nLTEwLWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDoxMC41cmVtO3BhZGRpbmctcmlnaHQ6MTAuNXJlbX0ueHMtbm8tcGFkZGluZ3twYWRkaW5nOjAhaW1wb3J0YW50fS54cy1uby1wYWRkaW5nLWxye3BhZGRpbmctbGVmdDowIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS54cy1uby1wYWRkaW5nLXRie3BhZGRpbmctdG9wOjAhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS54cy1uby1wYWRkaW5nLXRvcHtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ueHMtbm8tcGFkZGluZy1ib3R0b217cGFkZGluZy1ib3R0b206MCFpbXBvcnRhbnR9LnhzLW5vLXBhZGRpbmctbGVmdHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnhzLW5vLXBhZGRpbmctcmlnaHR7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ueHMtZC1pbml0aWFse2Rpc3BsYXk6aW5pdGlhbCFpbXBvcnRhbnR9LnhzLW92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50fS54cy1vdmVyZmxvdy12aXNpYmxle292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50fS54cy1vdmVyZmxvdy1hdXRve292ZXJmbG93OmF1dG8haW1wb3J0YW50fS54cy1wb3NpdGlvbi1yZWxhdGl2ZXtwb3NpdGlvbjpyZWxhdGl2ZSFpbXBvcnRhbnR9LnhzLXBvc2l0aW9uLWFic29sdXRle3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0ueHMtcG9zaXRpb24tZml4ZWR7cG9zaXRpb246Zml4ZWQhaW1wb3J0YW50fS54cy1wb3NpdGlvbi1pbmhlcml0e3Bvc2l0aW9uOmluaGVyaXQhaW1wb3J0YW50fS54cy1wb3NpdGlvbi1pbml0aWFse3Bvc2l0aW9uOmluaXRpYWwhaW1wb3J0YW50fS54cy10b3AtMHB4e3RvcDowfS54cy10b3AtMXB4e3RvcDoxcHh9LnhzLXRvcC0ycHh7dG9wOjJweH0ueHMtdG9wLTNweHt0b3A6M3B4fS54cy10b3AtNHB4e3RvcDo0cHh9LnhzLXRvcC01cHh7dG9wOjVweH0ueHMtdG9wLTZweHt0b3A6NnB4fS54cy10b3AtN3B4e3RvcDo3cHh9LnhzLXRvcC04cHh7dG9wOjhweH0ueHMtdG9wLTlweHt0b3A6OXB4fS54cy10b3AtMTBweHt0b3A6MTBweH0ueHMtdG9wLTE1cHh7dG9wOjE1cHh9LnhzLXRvcC0yMHB4e3RvcDoyMHB4fS54cy10b3AtMjVweHt0b3A6MjVweH0ueHMtdG9wLTMwcHh7dG9wOjMwcHh9LnhzLXRvcC0zNXB4e3RvcDozNXB4fS54cy10b3AtNDBweHt0b3A6NDBweH0ueHMtdG9wLTQ1cHh7dG9wOjQ1cHh9LnhzLXRvcC01MHB4e3RvcDo1MHB4fS54cy10b3AtYXV0b3t0b3A6YXV0b30ueHMtdG9wLWluaGVyaXR7dG9wOmluaGVyaXR9LnhzLXRvcC1taW51cy0xcHh7dG9wOi0xcHh9LnhzLXRvcC1taW51cy0ycHh7dG9wOi0ycHh9LnhzLXRvcC1taW51cy0zcHh7dG9wOi0zcHh9LnhzLXRvcC1taW51cy00cHh7dG9wOi00cHh9LnhzLXRvcC1taW51cy01cHh7dG9wOi01cHh9LnhzLXRvcC1taW51cy02cHh7dG9wOi02cHh9LnhzLXRvcC1taW51cy03cHh7dG9wOi03cHh9LnhzLXRvcC1taW51cy04cHh7dG9wOi04cHh9LnhzLXRvcC1taW51cy05cHh7dG9wOi05cHh9LnhzLXRvcC1taW51cy0xMHB4e3RvcDotMTBweH0ueHMtdG9wLW1pbnVzLTE1cHh7dG9wOi0xNXB4fS54cy10b3AtbWludXMtMjBweHt0b3A6LTIwcHh9LnhzLXRvcC1taW51cy0yNXB4e3RvcDotMjVweH0ueHMtdG9wLW1pbnVzLTMwcHh7dG9wOi0zMHB4fS54cy10b3AtbWludXMtMzVweHt0b3A6LTM1cHh9LnhzLXRvcC1taW51cy00MHB4e3RvcDotNDBweH0ueHMtdG9wLW1pbnVzLTQ1cHh7dG9wOi00NXB4fS54cy10b3AtbWludXMtNTBweHt0b3A6LTUwcHh9LnhzLWJvdHRvbS0wcHh7Ym90dG9tOjB9LnhzLWJvdHRvbS0xcHh7Ym90dG9tOjFweH0ueHMtYm90dG9tLTJweHtib3R0b206MnB4fS54cy1ib3R0b20tM3B4e2JvdHRvbTozcHh9LnhzLWJvdHRvbS00cHh7Ym90dG9tOjRweH0ueHMtYm90dG9tLTVweHtib3R0b206NXB4fS54cy1ib3R0b20tNnB4e2JvdHRvbTo2cHh9LnhzLWJvdHRvbS03cHh7Ym90dG9tOjdweH0ueHMtYm90dG9tLThweHtib3R0b206OHB4fS54cy1ib3R0b20tOXB4e2JvdHRvbTo5cHh9LnhzLWJvdHRvbS0xMHB4e2JvdHRvbToxMHB4fS54cy1ib3R0b20tMTVweHtib3R0b206MTVweH0ueHMtYm90dG9tLTIwcHh7Ym90dG9tOjIwcHh9LnhzLWJvdHRvbS0yNXB4e2JvdHRvbToyNXB4fS54cy1ib3R0b20tMzBweHtib3R0b206MzBweH0ueHMtYm90dG9tLTM1cHh7Ym90dG9tOjM1cHh9LnhzLWJvdHRvbS00MHB4e2JvdHRvbTo0MHB4fS54cy1ib3R0b20tNDVweHtib3R0b206NDVweH0ueHMtYm90dG9tLTUwcHh7Ym90dG9tOjUwcHh9LnhzLWJvdHRvbS01NXB4e2JvdHRvbTo1NXB4fS54cy1ib3R0b20tNjBweHtib3R0b206NjBweH0ueHMtYm90dG9tLWF1dG97Ym90dG9tOmF1dG99LnhzLWJvdHRvbS1pbmhlcml0e2JvdHRvbTppbmhlcml0fS54cy1ib3R0b20tbWludXMtMXB4e2JvdHRvbTotMXB4fS54cy1ib3R0b20tbWludXMtMnB4e2JvdHRvbTotMnB4fS54cy1ib3R0b20tbWludXMtM3B4e2JvdHRvbTotM3B4fS54cy1ib3R0b20tbWludXMtNHB4e2JvdHRvbTotNHB4fS54cy1ib3R0b20tbWludXMtNXB4e2JvdHRvbTotNXB4fS54cy1ib3R0b20tbWludXMtNnB4e2JvdHRvbTotNnB4fS54cy1ib3R0b20tbWludXMtN3B4e2JvdHRvbTotN3B4fS54cy1ib3R0b20tbWludXMtOHB4e2JvdHRvbTotOHB4fS54cy1ib3R0b20tbWludXMtOXB4e2JvdHRvbTotOXB4fS54cy1ib3R0b20tbWludXMtMTBweHtib3R0b206LTEwcHh9LnhzLWJvdHRvbS1taW51cy0xNXB4e2JvdHRvbTotMTVweH0ueHMtYm90dG9tLW1pbnVzLTIwcHh7Ym90dG9tOi0yMHB4fS54cy1ib3R0b20tbWludXMtMjVweHtib3R0b206LTI1cHh9LnhzLWJvdHRvbS1taW51cy0zMHB4e2JvdHRvbTotMzBweH0ueHMtYm90dG9tLW1pbnVzLTM1cHh7Ym90dG9tOi0zNXB4fS54cy1ib3R0b20tbWludXMtNDBweHtib3R0b206LTQwcHh9LnhzLWJvdHRvbS1taW51cy00NXB4e2JvdHRvbTotNDVweH0ueHMtYm90dG9tLW1pbnVzLTUwcHh7Ym90dG9tOi01MHB4fS54cy1yaWdodC0wcHh7cmlnaHQ6MH0ueHMtcmlnaHQtMXB4e3JpZ2h0OjFweH0ueHMtcmlnaHQtMnB4e3JpZ2h0OjJweH0ueHMtcmlnaHQtM3B4e3JpZ2h0OjNweH0ueHMtcmlnaHQtNHB4e3JpZ2h0OjRweH0ueHMtcmlnaHQtNXB4e3JpZ2h0OjVweH0ueHMtcmlnaHQtNnB4e3JpZ2h0OjZweH0ueHMtcmlnaHQtN3B4e3JpZ2h0OjdweH0ueHMtcmlnaHQtOHB4e3JpZ2h0OjhweH0ueHMtcmlnaHQtOXB4e3JpZ2h0OjlweH0ueHMtcmlnaHQtMTBweHtyaWdodDoxMHB4fS54cy1yaWdodC0xNXB4e3JpZ2h0OjE1cHh9LnhzLXJpZ2h0LTIwcHh7cmlnaHQ6MjBweH0ueHMtcmlnaHQtMjVweHtyaWdodDoyNXB4fS54cy1yaWdodC0zMHB4e3JpZ2h0OjMwcHh9LnhzLXJpZ2h0LTM1cHh7cmlnaHQ6MzVweH0ueHMtcmlnaHQtNDBweHtyaWdodDo0MHB4fS54cy1yaWdodC00NXB4e3JpZ2h0OjQ1cHh9LnhzLXJpZ2h0LTUwcHh7cmlnaHQ6NTBweH0ueHMtcmlnaHQtYXV0b3tyaWdodDphdXRvfS54cy1yaWdodC1pbmhlcml0e3JpZ2h0OmluaGVyaXR9LnhzLXJpZ2h0LW1pbnVzLTFweHtyaWdodDotMXB4fS54cy1yaWdodC1taW51cy0ycHh7cmlnaHQ6LTJweH0ueHMtcmlnaHQtbWludXMtM3B4e3JpZ2h0Oi0zcHh9LnhzLXJpZ2h0LW1pbnVzLTRweHtyaWdodDotNHB4fS54cy1yaWdodC1taW51cy01cHh7cmlnaHQ6LTVweH0ueHMtcmlnaHQtbWludXMtNnB4e3JpZ2h0Oi02cHh9LnhzLXJpZ2h0LW1pbnVzLTdweHtyaWdodDotN3B4fS54cy1yaWdodC1taW51cy04cHh7cmlnaHQ6LThweH0ueHMtcmlnaHQtbWludXMtOXB4e3JpZ2h0Oi05cHh9LnhzLXJpZ2h0LW1pbnVzLTEwcHh7cmlnaHQ6LTEwcHh9LnhzLXJpZ2h0LW1pbnVzLTE1cHh7cmlnaHQ6LTE1cHh9LnhzLXJpZ2h0LW1pbnVzLTIwcHh7cmlnaHQ6LTIwcHh9LnhzLXJpZ2h0LW1pbnVzLTI1cHh7cmlnaHQ6LTI1cHh9LnhzLXJpZ2h0LW1pbnVzLTMwcHh7cmlnaHQ6LTMwcHh9LnhzLXJpZ2h0LW1pbnVzLTM1cHh7cmlnaHQ6LTM1cHh9LnhzLXJpZ2h0LW1pbnVzLTQwcHh7cmlnaHQ6LTQwcHh9LnhzLXJpZ2h0LW1pbnVzLTQ1cHh7cmlnaHQ6LTQ1cHh9LnhzLXJpZ2h0LW1pbnVzLTUwcHh7cmlnaHQ6LTUwcHh9LnhzLWxlZnQtMHB4e2xlZnQ6MH0ueHMtbGVmdC0xcHh7bGVmdDoxcHh9LnhzLWxlZnQtMnB4e2xlZnQ6MnB4fS54cy1sZWZ0LTNweHtsZWZ0OjNweH0ueHMtbGVmdC00cHh7bGVmdDo0cHh9LnhzLWxlZnQtNXB4e2xlZnQ6NXB4fS54cy1sZWZ0LTZweHtsZWZ0OjZweH0ueHMtbGVmdC03cHh7bGVmdDo3cHh9LnhzLWxlZnQtOHB4e2xlZnQ6OHB4fS54cy1sZWZ0LTlweHtsZWZ0OjlweH0ueHMtbGVmdC0xMHB4e2xlZnQ6MTBweH0ueHMtbGVmdC0xNXB4e2xlZnQ6MTVweH0ueHMtbGVmdC0yMHB4e2xlZnQ6MjBweH0ueHMtbGVmdC0yNXB4e2xlZnQ6MjVweH0ueHMtbGVmdC0zMHB4e2xlZnQ6MzBweH0ueHMtbGVmdC0zNXB4e2xlZnQ6MzVweH0ueHMtbGVmdC00MHB4e2xlZnQ6NDBweH0ueHMtbGVmdC00NXB4e2xlZnQ6NDVweH0ueHMtbGVmdC01MHB4e2xlZnQ6NTBweH0ueHMtbGVmdC01NXB4e2xlZnQ6NTVweH0ueHMtbGVmdC02MHB4e2xlZnQ6NjBweH0ueHMtbGVmdC1hdXRve2xlZnQ6YXV0b30ueHMtbGVmdC1pbmhlcml0e2xlZnQ6aW5oZXJpdH0ueHMtbGVmdC1taW51cy0xcHh7bGVmdDotMXB4fS54cy1sZWZ0LW1pbnVzLTJweHtsZWZ0Oi0ycHh9LnhzLWxlZnQtbWludXMtM3B4e2xlZnQ6LTNweH0ueHMtbGVmdC1taW51cy00cHh7bGVmdDotNHB4fS54cy1sZWZ0LW1pbnVzLTVweHtsZWZ0Oi01cHh9LnhzLWxlZnQtbWludXMtNnB4e2xlZnQ6LTZweH0ueHMtbGVmdC1taW51cy03cHh7bGVmdDotN3B4fS54cy1sZWZ0LW1pbnVzLThweHtsZWZ0Oi04cHh9LnhzLWxlZnQtbWludXMtOXB4e2xlZnQ6LTlweH0ueHMtbGVmdC1taW51cy0xMHB4e2xlZnQ6LTEwcHh9LnhzLWxlZnQtbWludXMtMTVweHtsZWZ0Oi0xNXB4fS54cy1sZWZ0LW1pbnVzLTIwcHh7bGVmdDotMjBweH0ueHMtbGVmdC1taW51cy0yNXB4e2xlZnQ6LTI1cHh9LnhzLWxlZnQtbWludXMtMzBweHtsZWZ0Oi0zMHB4fS54cy1sZWZ0LW1pbnVzLTM1cHh7bGVmdDotMzVweH0ueHMtbGVmdC1taW51cy00MHB4e2xlZnQ6LTQwcHh9LnhzLWxlZnQtbWludXMtNDVweHtsZWZ0Oi00NXB4fS54cy1sZWZ0LW1pbnVzLTUwcHh7bGVmdDotNTBweH0ueHMtdy0xcHh7d2lkdGg6MXB4IWltcG9ydGFudH0ueHMtdy0ycHh7d2lkdGg6MnB4IWltcG9ydGFudH0ueHMtdy0zcHh7d2lkdGg6M3B4IWltcG9ydGFudH0ueHMtdy00cHh7d2lkdGg6NHB4IWltcG9ydGFudH0ueHMtdy01cHh7d2lkdGg6NXB4IWltcG9ydGFudH0ueHMtdy02cHh7d2lkdGg6NnB4IWltcG9ydGFudH0ueHMtdy03cHh7d2lkdGg6N3B4IWltcG9ydGFudH0ueHMtdy04cHh7d2lkdGg6OHB4IWltcG9ydGFudH0ueHMtdy05cHh7d2lkdGg6OXB4IWltcG9ydGFudH0ueHMtdy0xMHB4e3dpZHRoOjEwcHghaW1wb3J0YW50fS54cy13LTE1cHh7d2lkdGg6MTVweCFpbXBvcnRhbnR9LnhzLXctMjBweHt3aWR0aDoyMHB4IWltcG9ydGFudH0ueHMtdy0yNXB4e3dpZHRoOjI1cHghaW1wb3J0YW50fS54cy13LTMwcHh7d2lkdGg6MzBweCFpbXBvcnRhbnR9LnhzLXctMzVweHt3aWR0aDozNXB4IWltcG9ydGFudH0ueHMtdy00MHB4e3dpZHRoOjQwcHghaW1wb3J0YW50fS54cy13LTUwcHh7d2lkdGg6NTBweCFpbXBvcnRhbnR9LnhzLXctNTVweHt3aWR0aDo1NXB4IWltcG9ydGFudH0ueHMtdy02MHB4e3dpZHRoOjYwcHghaW1wb3J0YW50fS54cy13LTY1cHh7d2lkdGg6NjVweCFpbXBvcnRhbnR9LnhzLXctNzBweHt3aWR0aDo3MHB4IWltcG9ydGFudH0ueHMtdy03NXB4e3dpZHRoOjc1cHghaW1wb3J0YW50fS54cy13LTgwcHh7d2lkdGg6ODBweCFpbXBvcnRhbnR9LnhzLXctODVweHt3aWR0aDo4NXB4IWltcG9ydGFudH0ueHMtdy05MHB4e3dpZHRoOjkwcHghaW1wb3J0YW50fS54cy13LTk1cHh7d2lkdGg6OTVweCFpbXBvcnRhbnR9LnhzLXctMTAwcHh7d2lkdGg6MTAwcHghaW1wb3J0YW50fS54cy13LTExMHB4e3dpZHRoOjExMHB4IWltcG9ydGFudH0ueHMtdy0xMjBweHt3aWR0aDoxMjBweCFpbXBvcnRhbnR9LnhzLXctMTMwcHh7d2lkdGg6MTMwcHghaW1wb3J0YW50fS54cy13LTE0MHB4e3dpZHRoOjE0MHB4IWltcG9ydGFudH0ueHMtdy0xNTBweHt3aWR0aDoxNTBweCFpbXBvcnRhbnR9LnhzLXctMTYwcHh7d2lkdGg6MTYwcHghaW1wb3J0YW50fS54cy13LTE3MHB4e3dpZHRoOjE3MHB4IWltcG9ydGFudH0ueHMtdy0xODBweHt3aWR0aDoxODBweCFpbXBvcnRhbnR9LnhzLXctMTkwcHh7d2lkdGg6MTkwcHghaW1wb3J0YW50fS54cy13LTIwMHB4e3dpZHRoOjIwMHB4IWltcG9ydGFudH0ueHMtdy0yNTBweHt3aWR0aDoyNTBweCFpbXBvcnRhbnR9LnhzLXctMzAwcHh7d2lkdGg6MzAwcHghaW1wb3J0YW50fS54cy13LTM1MHB4e3dpZHRoOjM1MHB4IWltcG9ydGFudH0ueHMtdy00MDBweHt3aWR0aDo0MDBweCFpbXBvcnRhbnR9LnhzLXctNDUwcHh7d2lkdGg6NDUwcHghaW1wb3J0YW50fS54cy13LTUwMHB4e3dpZHRoOjUwMHB4IWltcG9ydGFudH0ueHMtdy01NTBweHt3aWR0aDo1NTBweCFpbXBvcnRhbnR9LnhzLXctNjAwcHh7d2lkdGg6NjAwcHghaW1wb3J0YW50fS54cy13LTY1MHB4e3dpZHRoOjY1MHB4IWltcG9ydGFudH0ueHMtdy03MDBweHt3aWR0aDo3MDBweCFpbXBvcnRhbnR9LnhzLXctNzUwcHh7d2lkdGg6NzUwcHghaW1wb3J0YW50fS54cy13LTgwMHB4e3dpZHRoOjgwMHB4IWltcG9ydGFudH0ueHMtdy04NTBweHt3aWR0aDo4NTBweCFpbXBvcnRhbnR9LnhzLXctOTAwcHh7d2lkdGg6OTAwcHghaW1wb3J0YW50fS54cy13LTk1MHB4e3dpZHRoOjk1MHB4IWltcG9ydGFudH0ueHMtdy0xMDAwcHh7d2lkdGg6MTAwMHB4IWltcG9ydGFudH0ueHMtdy0xMHt3aWR0aDoxMCUhaW1wb3J0YW50fS54cy13LTE1e3dpZHRoOjE1JSFpbXBvcnRhbnR9LnhzLXctMjB7d2lkdGg6MjAlIWltcG9ydGFudH0ueHMtdy0yNXt3aWR0aDoyNSUhaW1wb3J0YW50fS54cy13LTMwe3dpZHRoOjMwJSFpbXBvcnRhbnR9LnhzLXctMzV7d2lkdGg6MzUlIWltcG9ydGFudH0ueHMtdy00MHt3aWR0aDo0MCUhaW1wb3J0YW50fS54cy13LTQ1e3dpZHRoOjQ1JSFpbXBvcnRhbnR9LnhzLXctNTB7d2lkdGg6NTAlIWltcG9ydGFudH0ueHMtdy01NXt3aWR0aDo1NSUhaW1wb3J0YW50fS54cy13LTYwe3dpZHRoOjYwJSFpbXBvcnRhbnR9LnhzLXctNjV7d2lkdGg6NjUlIWltcG9ydGFudH0ueHMtdy03MHt3aWR0aDo3MCUhaW1wb3J0YW50fS54cy13LTc1e3dpZHRoOjc1JSFpbXBvcnRhbnR9LnhzLXctODB7d2lkdGg6ODAlIWltcG9ydGFudH0ueHMtdy04NXt3aWR0aDo4NSUhaW1wb3J0YW50fS54cy13LTkwe3dpZHRoOjkwJSFpbXBvcnRhbnR9LnhzLXctOTV7d2lkdGg6OTUlIWltcG9ydGFudH0ueHMtdy0xMDB7d2lkdGg6MTAwJSFpbXBvcnRhbnR9LnhzLXctYXV0b3t3aWR0aDphdXRvIWltcG9ydGFudH0ueHMtaC0xcHh7aGVpZ2h0OjFweCFpbXBvcnRhbnR9LnhzLWgtMnB4e2hlaWdodDoycHghaW1wb3J0YW50fS54cy1oLTNweHtoZWlnaHQ6M3B4IWltcG9ydGFudH0ueHMtaC00cHh7aGVpZ2h0OjRweCFpbXBvcnRhbnR9LnhzLWgtNXB4e2hlaWdodDo1cHghaW1wb3J0YW50fS54cy1oLTZweHtoZWlnaHQ6NnB4IWltcG9ydGFudH0ueHMtaC03cHh7aGVpZ2h0OjdweCFpbXBvcnRhbnR9LnhzLWgtOHB4e2hlaWdodDo4cHghaW1wb3J0YW50fS54cy1oLTlweHtoZWlnaHQ6OXB4IWltcG9ydGFudH0ueHMtaC0xMHB4e2hlaWdodDoxMHB4IWltcG9ydGFudH0ueHMtaC0yMHB4e2hlaWdodDoyMHB4IWltcG9ydGFudH0ueHMtaC0zMHB4e2hlaWdodDozMHB4IWltcG9ydGFudH0ueHMtaC00MHB4e2hlaWdodDo0MHB4IWltcG9ydGFudH0ueHMtaC00MnB4e2hlaWdodDo0MnB4IWltcG9ydGFudH0ueHMtaC01MHB4e2hlaWdodDo1MHB4IWltcG9ydGFudH0ueHMtaC02MHB4e2hlaWdodDo2MHB4IWltcG9ydGFudH0ueHMtaC03MHB4e2hlaWdodDo3MHB4IWltcG9ydGFudH0ueHMtaC04MHB4e2hlaWdodDo4MHB4IWltcG9ydGFudH0ueHMtaC05MHB4e2hlaWdodDo5MHB4IWltcG9ydGFudH0ueHMtaC0xMDBweHtoZWlnaHQ6MTAwcHghaW1wb3J0YW50fS54cy1oLTExMHB4e2hlaWdodDoxMTBweCFpbXBvcnRhbnR9LnhzLWgtMTIwcHh7aGVpZ2h0OjEyMHB4IWltcG9ydGFudH0ueHMtaC0xMzBweHtoZWlnaHQ6MTMwcHghaW1wb3J0YW50fS54cy1oLTE0MHB4e2hlaWdodDoxNDBweCFpbXBvcnRhbnR9LnhzLWgtMTUwcHh7aGVpZ2h0OjE1MHB4IWltcG9ydGFudH0ueHMtaC0xNjBweHtoZWlnaHQ6MTYwcHghaW1wb3J0YW50fS54cy1oLTE3MHB4e2hlaWdodDoxNzBweCFpbXBvcnRhbnR9LnhzLWgtMTgwcHh7aGVpZ2h0OjE4MHB4IWltcG9ydGFudH0ueHMtaC0xOTBweHtoZWlnaHQ6MTkwcHghaW1wb3J0YW50fS54cy1oLTIwMHB4e2hlaWdodDoyMDBweCFpbXBvcnRhbnR9LnhzLWgtMjUwcHh7aGVpZ2h0OjI1MHB4IWltcG9ydGFudH0ueHMtaC0zMDBweHtoZWlnaHQ6MzAwcHghaW1wb3J0YW50fS54cy1oLTM1MHB4e2hlaWdodDozNTBweCFpbXBvcnRhbnR9LnhzLWgtNDAwcHh7aGVpZ2h0OjQwMHB4IWltcG9ydGFudH0ueHMtaC00NTBweHtoZWlnaHQ6NDUwcHghaW1wb3J0YW50fS54cy1oLTUwMHB4e2hlaWdodDo1MDBweCFpbXBvcnRhbnR9LnhzLWgtNTIwcHh7aGVpZ2h0OjUyMHB4IWltcG9ydGFudH0ueHMtaC01NTBweHtoZWlnaHQ6NTUwcHghaW1wb3J0YW50fS54cy1oLTU4MHB4e2hlaWdodDo1ODBweCFpbXBvcnRhbnR9LnhzLWgtNjAwcHh7aGVpZ2h0OjYwMHB4IWltcG9ydGFudH0ueHMtaC02NTBweHtoZWlnaHQ6NjUwcHghaW1wb3J0YW50fS54cy1oLTcwMHB4e2hlaWdodDo3MDBweCFpbXBvcnRhbnR9LnhzLWgtNzIwcHh7aGVpZ2h0OjcyMHB4IWltcG9ydGFudH0ueHMtaC03NTBweHtoZWlnaHQ6NzUwcHghaW1wb3J0YW50fS54cy1oLTgwMHB4e2hlaWdodDo4MDBweCFpbXBvcnRhbnR9LnhzLWgtODIwcHh7aGVpZ2h0OjgyMHB4IWltcG9ydGFudH0ueHMtaC04MzBweHtoZWlnaHQ6ODMwcHghaW1wb3J0YW50fS54cy1oLTg1MHB4e2hlaWdodDo4NTBweCFpbXBvcnRhbnR9LnhzLWgtNTB7aGVpZ2h0OjUwJSFpbXBvcnRhbnR9LnhzLWgtMTAwe2hlaWdodDoxMDAlIWltcG9ydGFudH0ueHMtaC1hdXRve2hlaWdodDphdXRvIWltcG9ydGFudH0ueHMtbWluLWgtMTAwcHh7bWluLWhlaWdodDoxMDBweH0ueHMtbWluLWgtMjAwcHh7bWluLWhlaWdodDoyMDBweH0ueHMtbWluLWgtMzAwcHh7bWluLWhlaWdodDozMDBweH0ueHMtbWluLWgtNDAwcHh7bWluLWhlaWdodDo0MDBweH0ueHMtbWluLWgtNTAwcHh7bWluLWhlaWdodDo1MDBweH0ueHMtbWluLWgtNjAwcHh7bWluLWhlaWdodDo2MDBweH0ueHMtbWluLWgtNzAwcHh7bWluLWhlaWdodDo3MDBweH0uc21hbGwtc2NyZWVue2hlaWdodDoyODBweH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNSAuaW50ZXJhY3RpdmUtYmFubmVycy1jb250ZW50LC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA1IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLW92ZXJsYXllcnt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDEwMCUgLSAxMDVweCkpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygxMDAlIC0gMTA1cHgpKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoMTAwJSAtIDEwNXB4KSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoMTAwJSAtIDEwNXB4KSl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDkgLmludGVyYWN0aXZlLWJhbm5lcnMtY29udGVudCAuaW50ZXJhY3RpdmUtYmFubmVycy1ob3Zlci1pY29ue2xlZnQ6NXJlbTtib3R0b206NXJlbX0uYWNjb3JkaW9uLXN0eWxlLTA0IC5wYW5lbCAucGFuZWwtdGltZXttaW4td2lkdGg6MTAwJTtwYWRkaW5nLXJpZ2h0OjE1cHh9LmFjY29yZGlvbi1zdHlsZS0wNCAucGFuZWwgLmFjY29yZGlvbi10b2dnbGV7d2lkdGg6MTAwJX0uYWNjb3JkaW9uLXN0eWxlLTA0IC5wYW5lbCAucGFuZWwtYm9keXttYXJnaW4tbGVmdDowO3dpZHRoOjEwMCV9LmFjY29yZGlvbi1zdHlsZS0wNSAucGFuZWwgLnBhbmVsLWhlYWRpbmd7cGFkZGluZzoxNXB4IDYwcHggMTVweCAyMHB4fS5hY2NvcmRpb24tc3R5bGUtMDUgLnBhbmVsIC5wYW5lbC1oZWFkaW5nLmFjdGl2ZS1hY2NvcmRpb257cGFkZGluZy10b3A6MjBweH0uYWNjb3JkaW9uLXN0eWxlLTA1IC5wYW5lbCAucGFuZWwtYm9keXtwYWRkaW5nOjAgNDBweCAyMHB4IDIwcHh9LmFjY29yZGlvbi1zdHlsZS0wNSAucGFuZWwgLmNvbGxhcHNlLnNob3cgLnBhbmVsLWJvZHksLmFjY29yZGlvbi1zdHlsZS0wNSAucGFuZWwgLmNvbGxhcHNpbmcgLnBhbmVsLWJvZHl7cGFkZGluZy1ib3R0b206MjBweH0uYWNjb3JkaW9uLXN0eWxlLTA1IC5wYW5lbCAucGFuZWwtaGVhZGluZy5hY3RpdmUtYWNjb3JkaW9uIGl7dG9wOjUwJX0udGFibGUtc3R5bGUtMDErLm1mcC1jbG9zZXt3aWR0aDozNHB4O2hlaWdodDozNHB4O2xpbmUtaGVpZ2h0OjM0cHh9LnRhYi1zdHlsZS0wNCAubmF2LXRhYnM+bGkubmF2LWl0ZW17d2lkdGg6MTAwJX0ucHJvY2Vzcy1zdGVwLXN0eWxlLTAyIC5wcm9jZXNzLXN0ZXAtaWNvbi13cmFwe21hcmdpbi1yaWdodDoyNXB4fS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDMgLnByb2Nlc3Mtc3RlcC1pdGVtLWJveCAucHJvY2Vzcy1zdGVwLWl0ZW0tYm94LWJmcnt3aWR0aDpjYWxjKDEwMCUgLSA1MHB4KTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfS5jb3VudGRvd24uY291bnRkb3duLXN0eWxlLTAyIC5jb3VudGRvd24tYm94e21hcmdpbi1ib3R0b206MTVweDtwYWRkaW5nOjAgMTVweDt3aWR0aDo1MCV9LmNvdW50ZG93bi5jb3VudGRvd24tc3R5bGUtMDIgLmNvdW50ZG93bi1ib3g6bnRoLWNoaWxkKDIpOmFmdGVye2Rpc3BsYXk6bm9uZX0uY291bnRkb3duLmNvdW50ZG93bi1zdHlsZS0wMiAuY291bnRkb3duLWJveCAubnVtYmVye21hcmdpbjowIGF1dG99LmNvdW50ZG93bi5jb3VudGRvd24tc3R5bGUtMDMgLmNvdW50ZG93bi1ib3h7bWFyZ2luLWJvdHRvbToxNXB4O3BhZGRpbmc6MCAxNXB4O3dpZHRoOjUwJX0uY291bnRkb3duLmNvdW50ZG93bi1zdHlsZS0wMyAuY291bnRkb3duLWJveDpudGgtY2hpbGQoMik6YWZ0ZXJ7ZGlzcGxheTpub25lfS5jb3VudGRvd24uY291bnRkb3duLXN0eWxlLTAzIC5jb3VudGRvd24tYm94IC5udW1iZXJ7bWFyZ2luOjAgYXV0b30ubmV3c2xldHRlci1zdHlsZS0wNCBpbnB1dHtwYWRkaW5nLXJpZ2h0OjI1cHh9Lm5ld3NsZXR0ZXItc3R5bGUtMDQgLmJ0bntwb3NpdGlvbjpzdGF0aWM7dG9wOmluaGVyaXQ7cmlnaHQ6aW5oZXJpdDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTtib3JkZXItcmFkaXVzOjZweDttYXJnaW4tdG9wOjE1cHg7cGFkZGluZzoxMnB4IDM1cHg7aGVpZ2h0OmF1dG87d2lkdGg6MTAwJX0uYnRuLWR1YWwgLmJ0bnttYXJnaW4tbGVmdDo0cHg7bWFyZ2luLXJpZ2h0OjRweH0ueHMtbm8tYm9yZGVyLXRvcHtib3JkZXItdG9wOjAhaW1wb3J0YW50fS54cy1uby1ib3JkZXItYm90dG9te2JvcmRlci1ib3R0b206MCFpbXBvcnRhbnR9LnhzLW5vLWJvcmRlci1yaWdodHtib3JkZXItcmlnaHQ6MCFpbXBvcnRhbnR9LnhzLW5vLWJvcmRlci1sZWZ0e2JvcmRlci1sZWZ0OjAhaW1wb3J0YW50fS54cy1uby1ib3JkZXItYWxse2JvcmRlcjowIWltcG9ydGFudH0ueHMtbm8tYm9yZGVyLXJhZGl1c3tib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtMXB4e2JvcmRlci13aWR0aDoxcHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtMnB4e2JvcmRlci13aWR0aDoycHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtM3B4e2JvcmRlci13aWR0aDozcHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtNHB4e2JvcmRlci13aWR0aDo0cHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtNXB4e2JvcmRlci13aWR0aDo1cHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtNnB4e2JvcmRlci13aWR0aDo2cHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtN3B4e2JvcmRlci13aWR0aDo3cHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtOHB4e2JvcmRlci13aWR0aDo4cHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtOXB4e2JvcmRlci13aWR0aDo5cHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtMTBweHtib3JkZXItd2lkdGg6MTBweCFpbXBvcnRhbnR9LnhzLWJvcmRlci13aWR0aC0xMXB4e2JvcmRlci13aWR0aDoxMXB4IWltcG9ydGFudH0ueHMtYm9yZGVyLXdpZHRoLTEycHh7Ym9yZGVyLXdpZHRoOjEycHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtMTNweHtib3JkZXItd2lkdGg6MTNweCFpbXBvcnRhbnR9LnhzLWJvcmRlci13aWR0aC0xNHB4e2JvcmRlci13aWR0aDoxNHB4IWltcG9ydGFudH0ueHMtYm9yZGVyLXdpZHRoLTE1cHh7Ym9yZGVyLXdpZHRoOjE1cHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtMTZweHtib3JkZXItd2lkdGg6MTZweCFpbXBvcnRhbnR9LnhzLWJvcmRlci13aWR0aC0xN3B4e2JvcmRlci13aWR0aDoxN3B4IWltcG9ydGFudH0ueHMtYm9yZGVyLXdpZHRoLTE4cHh7Ym9yZGVyLXdpZHRoOjE4cHghaW1wb3J0YW50fS54cy1ib3JkZXItd2lkdGgtMTlweHtib3JkZXItd2lkdGg6MTlweCFpbXBvcnRhbnR9LnhzLWJvcmRlci13aWR0aC0yMHB4e2JvcmRlci13aWR0aDoyMHB4IWltcG9ydGFudH0ueHMtYm9yZGVyLWFsbHtib3JkZXI6MXB4IHNvbGlkfS54cy1ib3JkZXItdG9we2JvcmRlci10b3A6MXB4IHNvbGlkfS54cy1ib3JkZXItYm90dG9te2JvcmRlci1ib3R0b206MXB4IHNvbGlkfS54cy1ib3JkZXItbGVmdHtib3JkZXItbGVmdDoxcHggc29saWR9LnhzLWJvcmRlci1yaWdodHtib3JkZXItcmlnaHQ6MXB4IHNvbGlkfS54cy1ib3JkZXItbHJ7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkO2JvcmRlci1yaWdodDoxcHggc29saWR9LnhzLWJvcmRlci10Yntib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItYm90dG9tOjFweCBzb2xpZH0ueHMtYm9yZGVyLWNvbG9yLXdoaXRle2JvcmRlci1jb2xvcjojZmZmfS54cy1ib3JkZXItY29sb3ItYmxhY2t7Ym9yZGVyLWNvbG9yOiMwMDB9LnhzLWJvcmRlci1jb2xvci1za3ktYmx1ZXtib3JkZXItY29sb3I6IzJlOTRlYn0ueHMtYm9yZGVyLWNvbG9yLWV4dHJhLWRhcmstZ3JheXtib3JkZXItY29sb3I6IzIzMjMyM30ueHMtYm9yZGVyLWNvbG9yLW1lZGl1bS1kYXJrLWdyYXl7Ym9yZGVyLWNvbG9yOiMzNjM2MzZ9LnhzLWJvcmRlci1jb2xvci1kYXJrLWdyYXl7Ym9yZGVyLWNvbG9yOiM5MzkzOTN9LnhzLWJvcmRlci1jb2xvci1leHRyYS1tZWRpdW0tZ3JheXtib3JkZXItY29sb3I6I2RiZGJkYn0ueHMtYm9yZGVyLWNvbG9yLW1lZGl1bS1ncmF5e2JvcmRlci1jb2xvcjojZTRlNGU0fS54cy1ib3JkZXItY29sb3ItZXh0cmEtbGlnaHQtZ3JheXtib3JkZXItY29sb3I6I2VkZWRlZH0ueHMtYm9yZGVyLWNvbG9yLWxpZ2h0LWdyYXl7Ym9yZGVyLWNvbG9yOiNmNWY1ZjV9LnhzLWJvcmRlci1jb2xvci1saWdodC1waW5re2JvcmRlci1jb2xvcjojODYyMjM3fS54cy1ib3JkZXItY29sb3ItZGVlcC1waW5re2JvcmRlci1jb2xvcjojZmYyMTRmfS54cy1ib3JkZXItY29sb3ItcGlua3tib3JkZXItY29sb3I6I2ZmMzU3Y30ueHMtYm9yZGVyLWNvbG9yLWZhc3QtYmx1ZXtib3JkZXItY29sb3I6IzAwMzhlM30ueHMtYm9yZGVyLWNvbG9yLW9yYW5nZXtib3JkZXItY29sb3I6I2ZmNjQzN30ueHMtYm9yZGVyLWNvbG9yLWdyZWVue2JvcmRlci1jb2xvcjojNDVkNjkwfS54cy1ib3JkZXItY29sb3ItZ29sZGVue2JvcmRlci1jb2xvcjojZDBiYTZkfS54cy1ib3JkZXItY29sb3ItcGVyc2lhbi1ibHVle2JvcmRlci1jb2xvcjojMDAzOWNjfS54cy1ib3JkZXItY29sb3ItcHVycGxle2JvcmRlci1jb2xvcjojNzM0MmFjfS54cy1ib3JkZXItY29sb3ItcGFycm90LWdyZWVue2JvcmRlci1jb2xvcjojY2VlMDAyfS54cy1ib3JkZXItY29sb3ItZGFyay1yZWR7Ym9yZGVyLWNvbG9yOiNlMTI4Mzd9LnhzLWJvcmRlci1jb2xvci10cmFuc3BhcmVudHtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LnhzLWJvcmRlci1jb2xvci1ibGFjay10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMSl9LnhzLWJvcmRlci1jb2xvci13aGl0ZS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9LnhzLWJvcmRlci1jb2xvci1nb2xkZW4tdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnJnYmEoMjA4LDE4NiwxMDksLjIpfS54cy1ib3JkZXItY29sb3ItcGluay10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMzMsNzksLjQ1KX0ueHMtYm9yZGVyLWNvbG9yLWRhcmstd2hpdGUtdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS54cy1ib3JkZXItY29sb3ItbWVkaXVtLXdoaXRlLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0ueHMtYm9yZGVyLWNvbG9yLWZ1bGwtZGFyay13aGl0ZS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMDUpfS54cy1ib3JkZXItY29sb3ItbGlnaHQtd2hpdGUtdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS54cy1ib3JkZXItY29sb3ItbmVyby10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNSwyNSwyNSwuMSl9LnhzLWJvcmRlci1jb2xvci1leHRyYS1tZWRpdW0tZ3JheS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyMTksMjE5LDIxOSwuMDQpfS54cy1ib3JkZXItZG90dGVke2JvcmRlci1zdHlsZTpkb3R0ZWQhaW1wb3J0YW50fS54cy1ib3JkZXItZGFzaGVke2JvcmRlci1zdHlsZTpkYXNoZWQhaW1wb3J0YW50fS54cy1ib3JkZXItc29saWR7Ym9yZGVyLXN0eWxlOnNvbGlkIWltcG9ydGFudH0ueHMtYm9yZGVyLWRvdWJsZXtib3JkZXItc3R5bGU6ZG91YmxlIWltcG9ydGFudH0ueHMtYm9yZGVyLWdyb292ZXtib3JkZXItc3R5bGU6Z3Jvb3ZlIWltcG9ydGFudH0ueHMtYm9yZGVyLXJpZGdle2JvcmRlci1zdHlsZTpyaWRnZSFpbXBvcnRhbnR9LnhzLWJvcmRlci1pbnNldHtib3JkZXItc3R5bGU6aW5zZXQhaW1wb3J0YW50fS54cy1ib3JkZXItb3V0c2V0e2JvcmRlci1zdHlsZTpvdXRzZXQhaW1wb3J0YW50fS54cy1ib3JkZXItbm9uZXtib3JkZXItc3R5bGU6bm9uZSFpbXBvcnRhbnR9LnhzLWJvcmRlci1oaWRkZW57Ym9yZGVyLXN0eWxlOmhpZGRlbiFpbXBvcnRhbnR9LnhzLWJvcmRlci10cmFuc3BlcmVudHtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQhaW1wb3J0YW50fS5mb3JtLXdyYXBwZXIgLnNlYXJjaC1mb3JtLWJveHt3aWR0aDo5MCV9LnNlYXJjaC1mb3JtIC5zZWFyY2gtaW5wdXR7Zm9udC1zaXplOjE4cHg7cGFkZGluZzo4cHggMzhweCA4cHggMnB4O2xpbmUtaGVpZ2h0OjMwcHh9LmZvcm0td3JhcHBlciAuc2VhcmNoLWZvcm0gLnNlYXJjaC1idXR0b257Ym90dG9tOjI2cHh9LmZvcm0td3JhcHBlciAuc2VhcmNoLWNsb3Nle3RvcDo1cHg7cmlnaHQ6NXB4fS5oZWFkZXItYnV0dG9uLC5oZWFkZXItY2FydC1pY29uLC5oZWFkZXItbGFuZ3VhZ2UsLmhlYWRlci1wdXNoLWJ1dHRvbiwuaGVhZGVyLXNlYXJjaC1pY29ue3BhZGRpbmctbGVmdDoxNXB4fS5uYXZiYXItY29sbGFwc2Utc2hvd1tkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAubmF2YmFyLC5uYXZiYXItY29sbGFwc2Utc2hvd1tkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXSAucGFnZS1sYXlvdXQsLm5hdmJhci1jb2xsYXBzZS1zaG93W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC50b3AtYmFyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC04NXZ3LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC04NXZ3LDAsMCl9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVye3dpZHRoOjg1dnd9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1tb2Rlcm5dIC5uYXZiYXItbW9kZXJuLWlubmVyIC5uYXZiYXItY29sbGFwc2V7cGFkZGluZy1yaWdodDoxMHZ3O3BhZGRpbmctbGVmdDoxMHZ3fVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXVtkYXRhLW1vYmlsZS1uYXYtdHJpZ2dlci1hbGlnbm1lbnQ9bGVmdF0gLm5hdmJhci1tb2Rlcm4taW5uZXJ7d2lkdGg6ODV2d31bZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl1bZGF0YS1tb2JpbGUtbmF2LXRyaWdnZXItYWxpZ25tZW50PWxlZnRdIC5uYXZiYXItbW9kZXJuLWlubmVyIC5uYXZiYXItY29sbGFwc2V7cGFkZGluZy1yaWdodDoxMHZ3O3BhZGRpbmctbGVmdDoxMHZ3fS5uYXZiYXItY29sbGFwc2Utc2hvd1tkYXRhLW1vYmlsZS1uYXYtc3R5bGU9bW9kZXJuXVtkYXRhLW1vYmlsZS1uYXYtdHJpZ2dlci1hbGlnbm1lbnQ9bGVmdF0gLm5hdmJhciwubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl1bZGF0YS1tb2JpbGUtbmF2LXRyaWdnZXItYWxpZ25tZW50PWxlZnRdIC5wYWdlLWxheW91dCwubmF2YmFyLWNvbGxhcHNlLXNob3dbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl1bZGF0YS1tb2JpbGUtbmF2LXRyaWdnZXItYWxpZ25tZW50PWxlZnRdIC50b3AtYmFyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDg1dncsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoODV2dywwLDApfVtkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ZnVsbC1zY3JlZW4tbWVudV0gLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIC5uYXZiYXItY29sbGFwc2V7cGFkZGluZzo2MHB4IDB9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIgLm5hdmJhci10b2dnbGVye3RvcDoyMHB4O3JpZ2h0OjIwcHh9LnB1c2gtbWVudXt3aWR0aDoxMDAlfS5zaWRlLW1lbnUtYnV0dG9ue3JpZ2h0OjE1cHg7bGVmdDppbmhlcml0O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9Lm1lbnUtc3R5bGUtMiAuc2lkZWJhci1uYXYtbWVudXt3aWR0aDoxMDAlfS5zaWRlLW1lbnUtaGVhZGVyIC5zaWRlLW1lbnUtYnV0dG9ue3JpZ2h0OjE1cHh9Lm1lbnUtbGlzdC13cmFwcGVyLm1lbnUtbGlzdC13cmFwcGVyLXNtYWxse21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDYwcHgpO2hlaWdodDpjYWxjKDEwMHZoIC0gNjBweCl9LmNsb3NlLW1lbnV7cmlnaHQ6MDt0b3A6MH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLC5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbntib3R0b206MzBweH0uc2xpZGVyLWN1c3RvbS1pbWFnZS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHN7Ym90dG9tOjB9LnNsaWRlci1jdXN0b20taW1hZ2UtcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luOjAgN3B4IWltcG9ydGFudH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDIuc3dpcGVyLWJ1dHRvbi1wcmV2e2xlZnQ6MH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDIuc3dpcGVyLWJ1dHRvbi1uZXh0e3JpZ2h0OjB9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA1LnN3aXBlci1idXR0b24tcHJldntsZWZ0OjE1cHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA1LnN3aXBlci1idXR0b24tbmV4dHtyaWdodDoxNXB4fS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wNy5zd2lwZXItYnV0dG9uLXByZXYubGlnaHR7bGVmdDowfS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wNy5zd2lwZXItYnV0dG9uLW5leHQubGlnaHR7cmlnaHQ6MH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDcuc3dpcGVyLWJ1dHRvbi1uZXh0e3JpZ2h0OjEwcHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA3LnN3aXBlci1idXR0b24tcHJldntsZWZ0OjEwcHh9LnNsaWRlci1jdXN0b20tdGV4dC1wcmV2LnN3aXBlci1idXR0b24tcHJldntwYWRkaW5nLWxlZnQ6OHB4O3BhZGRpbmctcmlnaHQ6OHB4fS5zbGlkZXItY3VzdG9tLXRleHQtbmV4dC5zd2lwZXItYnV0dG9uLW5leHR7cGFkZGluZy1sZWZ0OjhweDtwYWRkaW5nLXJpZ2h0OjhweH0uc2xpZGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRze3JpZ2h0OjE1cHh9LnNsaWRlci1tdWx0eS1zY3JvbGwtcmlnaHQ+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHN7cmlnaHQ6MTVweH0uZ3JpZC54cy1ncmlkLTZjb2wgbGl7d2lkdGg6MTYuNjclfS5ncmlkLnhzLWdyaWQtNmNvbCBsaS5ncmlkLWl0ZW0tZG91Ymxle3dpZHRoOjMzLjMzJX0uZ3JpZC54cy1ncmlkLTVjb2wgbGl7d2lkdGg6MjAlfS5ncmlkLnhzLWdyaWQtNWNvbCBsaS5ncmlkLWl0ZW0tZG91Ymxle3dpZHRoOjQwJX0uZ3JpZC54cy1ncmlkLTRjb2wgbGl7d2lkdGg6MjUlfS5ncmlkLnhzLWdyaWQtNGNvbCBsaS5ncmlkLWl0ZW0tZG91Ymxle3dpZHRoOjUwJX0uZ3JpZC54cy1ncmlkLTNjb2wgbGl7d2lkdGg6MzMuMzMlfS5ncmlkLnhzLWdyaWQtM2NvbCBsaS5ncmlkLWl0ZW0tZG91Ymxle3dpZHRoOjY2LjY3JX0uZ3JpZC54cy1ncmlkLTJjb2wgbGl7d2lkdGg6NTAlfS5ncmlkLnhzLWdyaWQtMmNvbCBsaS5ncmlkLWl0ZW0tZG91Ymxle3dpZHRoOjEwMCV9LmdyaWQueHMtZ3JpZC0xY29sIGxpe3dpZHRoOjEwMCV9LmdyaWQuZ3V0dGVyLWxhcmdlLC5ncmlkLmd1dHRlci1tZWRpdW17bWFyZ2luOjAgLTE1cHh9LmdyaWQuZ3V0dGVyLWxhcmdlIGxpLC5ncmlkLmd1dHRlci1tZWRpdW0gbGl7cGFkZGluZzo3cHggMTVweH0uYmxvZy1zaW1wbGUgLmJsb2ctcG9zdHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uYmxvZy1zaW1wbGUgLmJsb2ctcG9zdC1pbWFnZSwuYmxvZy1zaW1wbGUgLnBvc3QtZGV0YWlsc3t3aWR0aDoxMDAlfS5ibG9nLXNpZGUtaW1hZ2UgLnNlcGFyYXRvcntkaXNwbGF5Om5vbmV9LmJsb2ctd2lkZ2V0IGxpIGZpZ3VyZXt3aWR0aDoxMDBweH0uYmxvZy13aWRnZXQgbGkgLm1lZGlhLWJvZHl7cGFkZGluZy1sZWZ0OjE1cHh9LmxhdGVzdC1wb3N0LXNpZGViYXIgbGkgZmlndXJle3dpZHRoOjgwcHh9LnBhZ2luYXRpb24tc3R5bGUtMDEgLnBhZ2UtbGlua3ttYXJnaW46MCA1cHh9Lm5ld3NsZXR0ZXItZW1haWwgaW5wdXR7cGFkZGluZy1yaWdodDo2NXB4fS5uZXdzbGV0dGVyLXN0eWxlLTAxIC5idG57cG9zaXRpb246c3RhdGljO3RvcDowO2JvcmRlci1yYWRpdXM6MTAwcHg7d2lkdGg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO21hcmdpbi10b3A6MTVweH0ueHMtbGV0dGVyLXNwYWNpbmctbm9ybWFse2xldHRlci1zcGFjaW5nOm5vcm1hbH0ueHMtbGV0dGVyLXNwYWNpbmctMS1oYWxme2xldHRlci1zcGFjaW5nOi41cHh9LnhzLWxldHRlci1zcGFjaW5nLTFweHtsZXR0ZXItc3BhY2luZzoxcHh9LnhzLWxldHRlci1zcGFjaW5nLTJweHtsZXR0ZXItc3BhY2luZzoycHh9LnhzLWxldHRlci1zcGFjaW5nLTNweHtsZXR0ZXItc3BhY2luZzozcHh9LnhzLWxldHRlci1zcGFjaW5nLTRweHtsZXR0ZXItc3BhY2luZzo0cHh9LnhzLWxldHRlci1zcGFjaW5nLTVweHtsZXR0ZXItc3BhY2luZzo1cHh9LnRleHQtZXh0cmEtYmlne2ZvbnQtc2l6ZTo1NXB4O2xpbmUtaGVpZ2h0OjU1cHh9LnRleHQtYmlne2ZvbnQtc2l6ZTo1MHB4O2xpbmUtaGVpZ2h0OjUwcHh9LmNvdW50ZG93bi5jb3VudGRvd24tc3R5bGUtMDEgLmNvdW50ZG93bi1ib3gsLmNvdW50ZG93bi5jb3VudGRvd24tc3R5bGUtMDEgLmNvdW50ZG93bi1ib3g6Zmlyc3QtY2hpbGQsLmNvdW50ZG93bi5jb3VudGRvd24tc3R5bGUtMDEgLmNvdW50ZG93bi1ib3g6bGFzdC1jaGlsZHttYXJnaW46MCAwIDMwcHg7d2lkdGg6NTAlfWZvb3RlciAuZm9vdGVyLWhvcml6b250YWwtbGluayBsaXttYXJnaW46MCAwIDdweH0uaG9tZS1ldmVudHMtY29uZmVyZW5jZSBoMXtmb250LXNpemU6MjhweDtsaW5lLWhlaWdodDozOHB4fS50ZWFtLXR1bGlwLWJ1YmJsZXtib3R0b206NzBweDtwYWRkaW5nOjE1cHh9LmZ1bGxzY3JlZW4taG92ZXItbGlzdCAuaG92ZXItbGlzdC1pdGVtLmFjdGl2ZSAuaW50ZXJhY3RpdmUtbnVtYmVye3RyYW5zZm9ybTp0cmFuc2xhdGVYKDMwcHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMzBweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgzMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMzBweCl9LmZ1bGxzY3JlZW4taG92ZXItbGlzdCAuaG92ZXItbGlzdC1pdGVtIC5pbnRlcmFjdGl2ZS1saW5le3dpZHRoOjE1cHg7bWFyZ2luLWxlZnQ6MTBweH0uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0gLmludGVyYWN0aXZlLXRpdGxlOmFmdGVye2xlZnQ6MTVweDtib3R0b206MTVweDtoZWlnaHQ6Y2FsYygxMDAlIC0gMzBweCl9LmZ1bGxzY3JlZW4taG92ZXItbGlzdCAuaG92ZXItbGlzdC1pdGVtLmFjdGl2ZSAuaW50ZXJhY3RpdmUtdGl0bGU6YWZ0ZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzBweCl9LmZ1bGxzY3JlZW4taG92ZXItbGlzdC5saWdodCAuaG92ZXItbGlzdC1pdGVtIC5pbnRlcmFjdGl2ZS10aXRsZXstd2Via2l0LXRleHQtc3Ryb2tlOjFweCAjNGU0ZTRmO3RleHQtc3Ryb2tlOjFweCAjNGU0ZTRmfS5mdWxsc2NyZWVuLWhvdmVyLWxpc3QgLmhvdmVyLWxpc3QtaXRlbSAuaW50ZXJhY3RpdmUtaWNvbntmb250LXNpemU6NDBweH0uaG9tZS1pbnRlcmFjdGl2ZS1wb3J0Zm9saW8gLmZ1bGxzY3JlZW4taG92ZXItYm94IC5pbnRlcmFjdGl2ZS10aXRsZXtmb250LXNpemU6MzBweDtsaW5lLWhlaWdodDozMHB4O3BhZGRpbmc6MTVweH0uaG9tZS12ZXJ0aWNhbC1wb3J0Zm9saW8gLm5hdmJhcntwYWRkaW5nOjB9LnNsaWRlci12ZXJ0aWNhbCAuc3dpcGVyLW51bWJlci1wYWdpbmF0aW9ue2xlZnQ6MTdweH0uaG9tZS1wZXJzb25hbC1wb3J0Zm9saW8gLnRpdGxlLWxhcmdlLTJ7Zm9udC1zaXplOjUwcHg7bGluZS1oZWlnaHQ6NTVweH0uaG9tZS1waG90b2dyYXBoeSAudGl0bGUtZXh0cmEtbGFyZ2UtaGVhdnl7Zm9udC1zaXplOjVyZW19LmhvbWUtcGhvdG9ncmFwaHkgLmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTMgLmludGVyYWN0aXZlLWJhbm5lcnMtY29udGVudHt3aWR0aDozNSV9LmhvbWUtZnJlZWxhbmNlciAuaWNvbi1leHRyYS1tZWRpdW17Zm9udC1zaXplOjI1cHh9LmhvbWUtY3JlYXRpdmUtYWdlbmN5IGgxLnRpdGxlLWV4dHJhLWxhcmdle2ZvbnQtc2l6ZTo2MHB4O2xpbmUtaGVpZ2h0OjY1cHh9LmhvbWUtZGlnaXRhbC1hZ2VuY3kgaDEudGl0bGUtZXh0cmEtbGFyZ2V7Zm9udC1zaXplOjYwcHg7bGluZS1oZWlnaHQ6NjVweH0ubGl0aG8tcGFyYWxsYXgtYmd7cmlnaHQ6MDt0b3A6LTUwcHh9LmxhbmRpbmctcGFnZS1hdXRvLXNsaWRlciAuc3dpcGVyLWNvbnRhaW5lci5zd2lwZXItYXV0by1zbGlkZSAuc3dpcGVyLXNsaWRle3dpZHRoOjEwMCUhaW1wb3J0YW50fS5sYW5kaW5nLXBhZ2UtZm9vdGVyIC50aXRsZS1sYXJnZS0ye2ZvbnQtc2l6ZTozNXB4O2xpbmUtaGVpZ2h0OjQycHh9LmhvbWUtc3BsaXQtcG9ydGZvbGlvIC50aXRsZS1sYXJnZXtmb250LXNpemU6NDVweDtsaW5lLWhlaWdodDo0MHB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ4MHB4KXsuaG9tZS15b2dhLW1lZGl0YXRpb24gLnJldl9zbGlkZXJfd3JhcHBlcntoZWlnaHQ6Y2FsYygxMDB2aCAtIDcycHgpIWltcG9ydGFudH0uaG9tZS1kZWNvciAucmV2X3NsaWRlcl93cmFwcGVye2hlaWdodDpjYWxjKDEwMHZoIC0gMTAwcHgpIWltcG9ydGFudH0uaG9tZS1kZWNvciAuY29sbGVjdGlvbi1idG57dG9wOmF1dG8haW1wb3J0YW50fS5ob21lLWRlY29yIC5jb2xsZWN0aW9uLWJ0biBzcGFue3dpZHRoOjQ1cHghaW1wb3J0YW50O2hlaWdodDo0NXB4IWltcG9ydGFudH0uaG9tZS1waG90b2dyYXBoeSAuYXJlc3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5ob21lLXBob3RvZ3JhcGh5IC56ZXVze2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5ob21lLXBob3RvZ3JhcGh5IC56ZXVzIC50cC1idWxsZXR7aGVpZ2h0OjhweDt3aWR0aDo4cHg7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO29wYWNpdHk6LjV9LmhvbWUtcGhvdG9ncmFwaHkgLnpldXMgLnRwLWJ1bGxldC5zZWxlY3RlZHtvcGFjaXR5OjF9LmhvbWUtcGhvdG9ncmFwaHkgLnRwLWJ1bGxldC1pbWFnZSwuaG9tZS1waG90b2dyYXBoeSAudHAtYnVsbGV0LWltYWdlb3ZlcmxheSwuaG9tZS1waG90b2dyYXBoeSAudHAtYnVsbGV0LXRpdGxle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmhvbWUtc3RhcnR1cCAucnMtYnRuIGRpdntoZWlnaHQ6MzBweCFpbXBvcnRhbnQ7d2lkdGg6MzBweCFpbXBvcnRhbnR9LmhvbWUtc3RhcnR1cCAudHAtYnVsbGV0LnNlbGVjdGVke29wYWNpdHk6MX0uaG9tZS1hcmNoaXRlY3R1cmUgLm1ldGlzLnRwYXJyb3dze3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3RvcDphdXRvIWltcG9ydGFudDtib3R0b206LTI1cHg7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkhaW1wb3J0YW50Oy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkhaW1wb3J0YW50O3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSFpbXBvcnRhbnR9LmhvbWUtYXJjaGl0ZWN0dXJlIC5tZXRpcy50cGFycm93czpiZWZvcmV7cGFkZGluZy10b3A6MH0uaG9tZS1hcmNoaXRlY3R1cmUgLm1ldGlzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0uaG9tZS1hcmNoaXRlY3R1cmUgLm1ldGlzLnRwYXJyb3dzLnRwLWxlZnRhcnJvd3tsZWZ0Ojk0JSFpbXBvcnRhbnR9LmhvbWUtYXJjaGl0ZWN0dXJlIC5tZXRpcy50cGFycm93cy50cC1yaWdodGFycm93e2xlZnQ6OTQlIWltcG9ydGFudDtib3R0b206MjVweH0uaG9tZS1zcGxpdC1wb3J0Zm9saW8gLnN3aXBlci1zbGlkZS1se2JhY2tncm91bmQtc2l6ZTo1MyV9LmNvdW50ZG93bi5jb3VudGRvd24tc3R5bGUtMDIgLmNvdW50ZG93bi1ib3h7bWFyZ2luLWJvdHRvbToxNXB4O3BhZGRpbmc6MCAyNXB4fX1AbWVkaWEgKG1heC1oZWlnaHQ6NDYwcHgpey5hY3RpdmUtZm9ybSAuZm9ybS13cmFwcGVyIC5zZWFyY2gtZm9ybXtoZWlnaHQ6ODV2aH19QG1lZGlhIChtYXgtaGVpZ2h0OjYwMHB4KXtbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPW1vZGVybl0gLm5hdmJhci1tb2Rlcm4taW5uZXIgLm5hdmJhci1jb2xsYXBzZXtwYWRkaW5nLXRvcDozMHB4O3BhZGRpbmctYm90dG9tOjMwcHh9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIgLm5hdmJhci1jb2xsYXBzZXtwYWRkaW5nLXRvcDozMHB4O3BhZGRpbmctYm90dG9tOjMwcHh9W2RhdGEtbW9iaWxlLW5hdi1zdHlsZT1mdWxsLXNjcmVlbi1tZW51XSAubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIgLm5hdmJhci10b2dnbGVye3JpZ2h0OjE1cHg7dG9wOjE1cHh9LmZ1bGwtc2NyZWVuLWF1dG97aGVpZ2h0OmF1dG8haW1wb3J0YW50fX0="}},"time_used":114,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":114,"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":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/KODASCOINPROFITSLogo.png","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.050Z","timestamp":1785129949050,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /KODASCOINPROFITSLogo.png HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: image/webp\r\ncontent-length: 34182\r\ncache-control: public, max-age=604800\r\nage: 88\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 77a99298a4d580705daafb6d7cafa706-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":34182,"size_decoded":34486,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"61b35eb2414e221a748a9d6ddad3f511","sha1":"01bc79084fbf7a80ff38f8c614af53795269a859","sha256":"9899cca9edfee3ec711e96aa9f13a28a1eb9710f585e4087a84eeae1148600ae","sha512":"24df8002ba8d35df4a0530c27315d7b0f451a1a3e9a82683dab6a65c679950d86254cefeae1a80f2edf0f6a8415be815877ee9981bc2861e0ddedadaaa023884","ssdeep":"768:NDc/g5JIk0cCUqroes3g2fmojQftlqgmESAJdZ+uX2:KMJPNqrPs3gkvKtlqREScEuX2","tlshash":"6ae2e1c1499134c6d1f36b351a8d0170a8ae7e11d6dfb64cfbdc5e98d4ab2181e6dc18","first_seen":"2026-07-27T04:14:44.597452Z","last_seen":"2026-07-27T05:27:28.077191Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":51,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":50,"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":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.616Z","timestamp":1785129949616,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://digitaltradeinvest.org\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: 43136\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:17:38 GMT\r\nexpires: Fri, 23 Jul 2027 10:17:38 GMT\r\ncache-control: public, max-age=31536000\r\nage: 328091\r\nlast-modified: Wed, 18 Feb 2026 19:51:37 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":43136,"size_decoded":43949,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 43136, version 1.0","md5":"665db5e157d2138835c4037c971ff3a4","sha1":"41ca6b7e4818eb81531d8006ff7ddd971c640879","sha256":"1404ca348bd75ef836f4dd8b6f2cc719458642d1237c368296b2fc652dca47dc","sha512":"6c999466673c9873b1b112d6ab95c7cecb99467ea156e3e046b54c5f3d109c3845b05cbb2a0245d178430c7b2ceacd5110f7d8faf7e041100f44852b0c29fe9a","ssdeep":"768:tMTmVhyXCrekkraPAjrWMMWD3UJmw0FRwoglekm+hQ7//geceSF/mEQBPMAmDu5:cmHkCrHvPAjrWMMI3UJswogl4j7/hSlW","tlshash":"f9130231eb70ee59962c903454e7fda9433b1457d731aca80e99a1ce6f8103454facec","first_seen":"2026-02-19T22:27:43.350598Z","last_seen":"2026-08-15T16:46:46.955572Z","times_seen":262938,"resource_available":false,"data":"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"}},"time_used":69,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":26,"receive":43,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/images/home-business-tab-img02.jpg","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.062Z","timestamp":1785129949062,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /images/home-business-tab-img02.jpg HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: image/webp\r\ncontent-length: 44878\r\ncache-control: public, max-age=604800\r\nage: 88\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: b1507ed69bb72dee2fc1518da6c691b0-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":44878,"size_decoded":45182,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"052d6ceb28cff7a4f002b4fc734e9bf2","sha1":"7f96c8dfd3e013e7e37c70f1323e3f52138b67bd","sha256":"7b88fb94e02a6ff233b8588c4d99c245d423f11d9657bb2ce0524de5918d586e","sha512":"c22695639b5a07649599f29a167c9ac85d3fabd88c38384296594f27d0bbfb0902dc415c5929c01f5f8127179752c5f19911ea3116b4880a772bade090f62e39","ssdeep":"768:FZrcDgCboe1t2Wi1gE3CGPwbp99P7FS5WlxrzKxi9TUi/FdKcKHkrk:FlSgCxmpgKcbHJ7FS5WllmU7Kxx","tlshash":"671312b3600297c7b2c5132b45be767281b0e402b37252d68b45a87a8dbe484bec7733","first_seen":"2026-07-27T03:23:52.804912Z","last_seen":"2026-07-27T12:40:51.550783Z","times_seen":13,"resource_available":false,"data":"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"}},"time_used":40,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":39,"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":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/H7OiZO_9ahE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.255Z","timestamp":1785129949255,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /embed/H7OiZO_9ahE HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://digitaltradeinvest.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/html; charset=utf-8\r\nx-content-type-options: nosniff\r\ncontent-security-policy: script-src 'unsafe-eval' 'self' 'unsafe-inline' https://www.google.com https://apis.google.com https://ssl.gstatic.com https://www.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://*.youtube.com https://*.google.com https://*.gstatic.com https://youtube.com https://www.youtube.com https://google.com https://*.doubleclick.net https://*.googleapis.com https://www.googleadservices.com https://tpc.googlesyndication.com https://www.youtubekids.com https://www.youtube-nocookie.com https://www.youtubeeducation.com https://www-onepick-opensocial.googleusercontent.com;report-uri https://csp.withgoogle.com/csp/youtube_main/allowlist, base-uri 'self';object-src 'none';script-src 'nonce-RNJbpCs_jWf96Oqpik66Aw' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_main/strict, require-trusted-types-for 'script'\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 05:25:49 GMT\r\np3p: CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\"\r\nstrict-transport-security: max-age=31536000\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube_main\"\r\ncross-origin-embedder-policy-report-only: require-corp; report-to=\"youtube_main\"\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\nreport-to: {\"group\":\"youtube_main\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube_main\"}]},{\"group\":\"youtube_main-connectionallowlist\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/youtube_main/connectionallowlist\"}]}\r\ncross-origin-resource-policy: cross-origin\r\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=SRkBSRIbngX1Us4vEHfgu7UzEF2IInxyLCiMrsMGs91mCqLWOex95d_6-s5sTwVTdtIgQoFCfMJcn821Yk3U2SpAE4_JtWAQEAPucyVRNMkbl4Y3maPlEHxNly_ayoIL7nRtaD4fbAzPPTSgDkqarX8QZ4jXPZr5B-YIaUL8LB5obL7TSSgAynlnkUTrdWbxt4lTuhnCnHd5KhIKV1cBYBiBfb9Krn7m1OTXmiNoUxYNsL5OsCkfL7hdCiyuOorr8Tva0D9SFoaZGwiATepMzT1eyf4cfQhxorYk0YdScXMaqCSOoGM70t3XxrqK1MrSKC6Hp_7EwSknXH-r0rckDg; expires=Sat, 23-Jan-2027 05:25:49 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\nYSC=zZK-fWPUIAE; Domain=.youtube.com; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=p0z5dcJMeng; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgEg%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=CJHs2-yc4_iHSxCs9Yakj_KVAxis9Yakj_KVAw%3D%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=none; Partitioned\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":144324,"size_decoded":60290,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (52140)","md5":"30cf09c3114679141fb5068043150feb","sha1":"30c70063b38ec4be46cbc6897347265f86ff06b3","sha256":"079540098f2572985a2f8a504d72df0ed4f4d5d402cd3c1ac783e275606c4959","sha512":"c913ea6470b89b9857ab3cd9e4dd735f18204dc5a072b840024e672a61f265ec07f54348e4ec6328745cd51cbceae1d5250cd9ec776fd79abb4e8ac5ac94fe83","ssdeep":"1536:SXQ7UVekMUpzYVM6bBUzhxm9mmsOo43UEwguZJhZjztzS8+NttGo2gGMBr3W4pA:h7MekxYYA9mmsO0EwgavtJKHVXFrmb","tlshash":"c6e30a250858a876c9939447edbaff3e5cf802390bc995adbcbb975c01dc6520eaf413","first_seen":"2026-07-27T05:26:45.194058Z","last_seen":"2026-07-27T05:26:45.194058Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIiBkYXRhLWNhc3QtYXBpLWVuYWJsZWQ9InRydWUiPjxoZWFkPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+PHNjcmlwdCBub25jZT0iUk5KYnBDc19qV2Y5Nk9xcGlrNjZBdyI+aWYgKCd1bmRlZmluZWQnID09IHR5cGVvZiBTeW1ib2wgfHwgJ3VuZGVmaW5lZCcgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvcikge2RlbGV0ZSBBcnJheS5wcm90b3R5cGUuZW50cmllczt9PC9zY3JpcHQ+PHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8iIG5vbmNlPSIzUl84ZXRuTGlTSnVDWWNMeU8tdVJBIj5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAxLFUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzNzcsVSswMzdBLTAzN0YsVSswMzg0LTAzOEEsVSswMzhDLFUrMDM4RS0wM0ExLFUrMDNBMy0wM0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAyLTAzMDMsVSswMzA1LFUrMDMwNy0wMzA4LFUrMDMxMCxVKzAzMTIsVSswMzE1LFUrMDMxQSxVKzAzMjYtMDMyNyxVKzAzMkMsVSswMzJGLTAzMzAsVSswMzMyLTAzMzMsVSswMzM4LFUrMDMzQSxVKzAzNDYsVSswMzRELFUrMDM5MS0wM0ExLFUrMDNBMy0wM0E5LFUrMDNCMS0wM0M5LFUrMDNEMSxVKzAzRDUtMDNENixVKzAzRjAtMDNGMSxVKzAzRjQtMDNGNSxVKzIwMTYtMjAxNyxVKzIwMzQtMjAzOCxVKzIwM0MsVSsyMDQwLFUrMjA0MyxVKzIwNDcsVSsyMDUwLFUrMjA1NyxVKzIwNUYsVSsyMDcwLTIwNzEsVSsyMDc0LTIwOEUsVSsyMDkwLTIwOUMsVSsyMEQwLTIwREMsVSsyMEUxLFUrMjBFNS0yMEVGLFUrMjEwMC0yMTEyLFUrMjExNC0yMTE1LFUrMjExNy0yMTIxLFUrMjEyMy0yMTRGLFUrMjE5MCxVKzIxOTIsVSsyMTk0LTIxQUUsVSsyMUIwLTIxRTUsVSsyMUYxLTIxRjIsVSsyMUY0LTIyMTEsVSsyMjEzLTIyMTQsVSsyMjE2LTIyRkYsVSsyMzA4LTIzMEIsVSsyMzEwLFUrMjMxOSxVKzIzMUMtMjMyMSxVKzIzMzYtMjM3QSxVKzIzN0MsVSsyMzk1LFUrMjM5Qi0yM0I3LFUrMjNEMCxVKzIzREMtMjNFMSxVKzI0NzQtMjQ3NSxVKzI1QUYsVSsyNUIzLFUrMjVCNyxVKzI1QkQsVSsyNUMxLFUrMjVDQSxVKzI1Q0MsVSsyNUZCLFUrMjY2RC0yNjZGLFUrMjdDMC0yN0ZGLFUrMjkwMC0yQUZGLFUrMkIwRS0yQjExLFUrMkIzMC0yQjRDLFUrMkJGRSxVKzMwMzAsVStGRjVCLFUrRkY1RCxVKzFENDAwLTFEN0ZGLFUrMUVFMDAtMUVFRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDEtMDAwQyxVKzAwMEUtMDAxRixVKzAwN0YtMDA5RixVKzIwREQtMjBFMCxVKzIwRTItMjBFNCxVKzIxNTAtMjE4RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMTk5LFUrMjFBRixVKzIxRTYtMjFGMCxVKzIxRjMsVSsyMjE4LTIyMTksVSsyMjk5LFUrMjJDNC0yMkM2LFUrMjMwMC0yNDNGLFUrMjQ0MC0yNDRBLFUrMjQ2MC0yNEZGLFUrMjVBMC0yN0JGLFUrMjgwMC0yOEZGLFUrMjkyMS0yOTIyLFUrMjk4MSxVKzI5QkYsVSsyOUVCLFUrMkIwMC0yQkZGLFUrNERDMC00REZGLFUrRkZGOS1GRkZCLFUrMTAxNDAtMTAxOEUsVSsxMDE5MC0xMDE5QyxVKzEwMUEwLFUrMTAxRDAtMTAxRkQsVSsxMDJFMC0xMDJGQixVKzEwRTYwLTEwRTdFLFUrMUQyQzAtMUQyRDMsVSsxRDJFMC0xRDM3RixVKzFGMDAwLTFGMEZGLFUrMUYxMDAtMUYxQUQsVSsxRjFFNi0xRjFGRixVKzFGMzBELTFGMzBGLFUrMUYzMTUsVSsxRjMxQyxVKzFGMzFFLFUrMUYzMjAtMUYzMkMsVSsxRjMzNixVKzFGMzc4LFUrMUYzN0QsVSsxRjM4MixVKzFGMzkzLTFGMzlGLFUrMUYzQTctMUYzQTgsVSsxRjNBQy0xRjNBRixVKzFGM0MyLFUrMUYzQzQtMUYzQzYsVSsxRjNDQS0xRjNDRSxVKzFGM0Q0LTFGM0UwLFUrMUYzRUQsVSsxRjNGMS0xRjNGMyxVKzFGM0Y1LTFGM0Y3LFUrMUY0MDgsVSsxRjQxNSxVKzFGNDFGLFUrMUY0MjYsVSsxRjQzRixVKzFGNDQxLTFGNDQyLFUrMUY0NDQsVSsxRjQ0Ni0xRjQ0OSxVKzFGNDRDLTFGNDRFLFUrMUY0NTMsVSsxRjQ2QSxVKzFGNDdELFUrMUY0QTMsVSsxRjRCMCxVKzFGNEIzLFUrMUY0QjksVSsxRjRCQixVKzFGNEJGLFUrMUY0QzgtMUY0Q0IsVSsxRjRENixVKzFGNERBLFUrMUY0REYsVSsxRjRFMy0xRjRFNixVKzFGNEVBLTFGNEVELFUrMUY0RjcsVSsxRjRGOS0xRjRGQixVKzFGNEZELTFGNEZFLFUrMUY1MDMsVSsxRjUwNy0xRjUwQixVKzFGNTBELFUrMUY1MTItMUY1MTMsVSsxRjUzRS0xRjU0QSxVKzFGNTRGLTFGNUZBLFUrMUY2MTAsVSsxRjY1MC0xRjY3RixVKzFGNjg3LFUrMUY2OEQsVSsxRjY5MSxVKzFGNjk0LFUrMUY2OTgsVSsxRjZBRCxVKzFGNkIyLFUrMUY2QjktMUY2QkEsVSsxRjZCQyxVKzFGNkM2LTFGNkNGLFUrMUY2RDMtMUY2RDcsVSsxRjZFMC0xRjZFQSxVKzFGNkYwLTFGNkYzLFUrMUY2RjctMUY2RkMsVSsxRjcwMC0xRjdGRixVKzFGODAwLTFGODBCLFUrMUY4MTAtMUY4NDcsVSsxRjg1MC0xRjg1OSxVKzFGODYwLTFGODg3LFUrMUY4OTAtMUY4QUQsVSsxRjhCMC0xRjhCQixVKzFGOEMwLTFGOEMxLFUrMUY5MDAtMUY5MEIsVSsxRjkzQixVKzFGOTQ2LFUrMUY5ODQsVSsxRjk5NixVKzFGOUU5LFUrMUZBMDAtMUZBNkYsVSsxRkE3MC0xRkE3QyxVKzFGQTgwLTFGQTg5LFUrMUZBOEYtMUZBQzYsVSsxRkFDRS0xRkFEQyxVKzFGQURGLTFGQUU5LFUrMUZBRjAtMUZBRjgsVSsxRkIwMC0xRkJGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMi0wMTAzLFUrMDExMC0wMTExLFUrMDEyOC0wMTI5LFUrMDE2OC0wMTY5LFUrMDFBMC0wMUExLFUrMDFBRi0wMUIwLFUrMDMwMC0wMzAxLFUrMDMwMy0wMzA0LFUrMDMwOC0wMzA5LFUrMDMyMyxVKzAzMjksVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyQkEsVSswMkJELTAyQzUsVSswMkM3LTAyQ0MsVSswMkNFLTAyRDcsVSswMkRELTAyRkYsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsyMDAwLTIwNkYsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRDt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQ2MC0wNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMSxVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzFGMDAtMUZGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDM3MC0wMzc3LFUrMDM3QS0wMzdGLFUrMDM4NC0wMzhBLFUrMDM4QyxVKzAzOEUtMDNBMSxVKzAzQTMtMDNGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMi0wMzAzLFUrMDMwNSxVKzAzMDctMDMwOCxVKzAzMTAsVSswMzEyLFUrMDMxNSxVKzAzMUEsVSswMzI2LTAzMjcsVSswMzJDLFUrMDMyRi0wMzMwLFUrMDMzMi0wMzMzLFUrMDMzOCxVKzAzM0EsVSswMzQ2LFUrMDM0RCxVKzAzOTEtMDNBMSxVKzAzQTMtMDNBOSxVKzAzQjEtMDNDOSxVKzAzRDEsVSswM0Q1LTAzRDYsVSswM0YwLTAzRjEsVSswM0Y0LTAzRjUsVSsyMDE2LTIwMTcsVSsyMDM0LTIwMzgsVSsyMDNDLFUrMjA0MCxVKzIwNDMsVSsyMDQ3LFUrMjA1MCxVKzIwNTcsVSsyMDVGLFUrMjA3MC0yMDcxLFUrMjA3NC0yMDhFLFUrMjA5MC0yMDlDLFUrMjBEMC0yMERDLFUrMjBFMSxVKzIwRTUtMjBFRixVKzIxMDAtMjExMixVKzIxMTQtMjExNSxVKzIxMTctMjEyMSxVKzIxMjMtMjE0RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMUFFLFUrMjFCMC0yMUU1LFUrMjFGMS0yMUYyLFUrMjFGNC0yMjExLFUrMjIxMy0yMjE0LFUrMjIxNi0yMkZGLFUrMjMwOC0yMzBCLFUrMjMxMCxVKzIzMTksVSsyMzFDLTIzMjEsVSsyMzM2LTIzN0EsVSsyMzdDLFUrMjM5NSxVKzIzOUItMjNCNyxVKzIzRDAsVSsyM0RDLTIzRTEsVSsyNDc0LTI0NzUsVSsyNUFGLFUrMjVCMyxVKzI1QjcsVSsyNUJELFUrMjVDMSxVKzI1Q0EsVSsyNUNDLFUrMjVGQixVKzI2NkQtMjY2RixVKzI3QzAtMjdGRixVKzI5MDAtMkFGRixVKzJCMEUtMkIxMSxVKzJCMzAtMkI0QyxVKzJCRkUsVSszMDMwLFUrRkY1QixVK0ZGNUQsVSsxRDQwMC0xRDdGRixVKzFFRTAwLTFFRUZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAxLTAwMEMsVSswMDBFLTAwMUYsVSswMDdGLTAwOUYsVSsyMERELTIwRTAsVSsyMEUyLTIwRTQsVSsyMTUwLTIxOEYsVSsyMTkwLFUrMjE5MixVKzIxOTQtMjE5OSxVKzIxQUYsVSsyMUU2LTIxRjAsVSsyMUYzLFUrMjIxOC0yMjE5LFUrMjI5OSxVKzIyQzQtMjJDNixVKzIzMDAtMjQzRixVKzI0NDAtMjQ0QSxVKzI0NjAtMjRGRixVKzI1QTAtMjdCRixVKzI4MDAtMjhGRixVKzI5MjEtMjkyMixVKzI5ODEsVSsyOUJGLFUrMjlFQixVKzJCMDAtMkJGRixVKzREQzAtNERGRixVK0ZGRjktRkZGQixVKzEwMTQwLTEwMThFLFUrMTAxOTAtMTAxOUMsVSsxMDFBMCxVKzEwMUQwLTEwMUZELFUrMTAyRTAtMTAyRkIsVSsxMEU2MC0xMEU3RSxVKzFEMkMwLTFEMkQzLFUrMUQyRTAtMUQzN0YsVSsxRjAwMC0xRjBGRixVKzFGMTAwLTFGMUFELFUrMUYxRTYtMUYxRkYsVSsxRjMwRC0xRjMwRixVKzFGMzE1LFUrMUYzMUMsVSsxRjMxRSxVKzFGMzIwLTFGMzJDLFUrMUYzMzYsVSsxRjM3OCxVKzFGMzdELFUrMUYzODIsVSsxRjM5My0xRjM5RixVKzFGM0E3LTFGM0E4LFUrMUYzQUMtMUYzQUYsVSsxRjNDMixVKzFGM0M0LTFGM0M2LFUrMUYzQ0EtMUYzQ0UsVSsxRjNENC0xRjNFMCxVKzFGM0VELFUrMUYzRjEtMUYzRjMsVSsxRjNGNS0xRjNGNyxVKzFGNDA4LFUrMUY0MTUsVSsxRjQxRixVKzFGNDI2LFUrMUY0M0YsVSsxRjQ0MS0xRjQ0MixVKzFGNDQ0LFUrMUY0NDYtMUY0NDksVSsxRjQ0Qy0xRjQ0RSxVKzFGNDUzLFUrMUY0NkEsVSsxRjQ3RCxVKzFGNEEzLFUrMUY0QjAsVSsxRjRCMyxVKzFGNEI5LFUrMUY0QkIsVSsxRjRCRixVKzFGNEM4LTFGNENCLFUrMUY0RDYsVSsxRjREQSxVKzFGNERGLFUrMUY0RTMtMUY0RTYsVSsxRjRFQS0xRjRFRCxVKzFGNEY3LFUrMUY0RjktMUY0RkIsVSsxRjRGRC0xRjRGRSxVKzFGNTAzLFUrMUY1MDctMUY1MEIsVSsxRjUwRCxVKzFGNTEyLTFGNTEzLFUrMUY1M0UtMUY1NEEsVSsxRjU0Ri0xRjVGQSxVKzFGNjEwLFUrMUY2NTAtMUY2N0YsVSsxRjY4NyxVKzFGNjhELFUrMUY2OTEsVSsxRjY5NCxVKzFGNjk4LFUrMUY2QUQsVSsxRjZCMixVKzFGNkI5LTFGNkJBLFUrMUY2QkMsVSsxRjZDNi0xRjZDRixVKzFGNkQzLTFGNkQ3LFUrMUY2RTAtMUY2RUEsVSsxRjZGMC0xRjZGMyxVKzFGNkY3LTFGNkZDLFUrMUY3MDAtMUY3RkYsVSsxRjgwMC0xRjgwQixVKzFGODEwLTFGODQ3LFUrMUY4NTAtMUY4NTksVSsxRjg2MC0xRjg4NyxVKzFGODkwLTFGOEFELFUrMUY4QjAtMUY4QkIsVSsxRjhDMC0xRjhDMSxVKzFGOTAwLTFGOTBCLFUrMUY5M0IsVSsxRjk0NixVKzFGOTg0LFUrMUY5OTYsVSsxRjlFOSxVKzFGQTAwLTFGQTZGLFUrMUZBNzAtMUZBN0MsVSsxRkE4MC0xRkE4OSxVKzFGQThGLTFGQUM2LFUrMUZBQ0UtMUZBREMsVSsxRkFERi0xRkFFOSxVKzFGQUYwLTFGQUY4LFUrMUZCMDAtMUZCRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzAxMjgtMDEyOSxVKzAxNjgtMDE2OSxVKzAxQTAtMDFBMSxVKzAxQUYtMDFCMCxVKzAzMDAtMDMwMSxVKzAzMDMtMDMwNCxVKzAzMDgtMDMwOSxVKzAzMjMsVSswMzI5LFUrMUVBMC0xRUY5LFUrMjBBQjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMkJBLFUrMDJCRC0wMkM1LFUrMDJDNy0wMkNDLFUrMDJDRS0wMkQ3LFUrMDJERC0wMkZGLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkQ7fTwvc3R5bGU+PHNjcmlwdCBuYW1lPSJ3d3ctcm9ib3RvIiBub25jZT0iUk5KYnBDc19qV2Y5Nk9xcGlrNjZBdyI+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBSb2JvdG8iLCAiRSIpOyBkb2N1bWVudC5mb250cy5sb2FkKCI1MDAgMTBwdCBSb2JvdG8iLCAiRSIpO308L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyIgbmFtZT0id3d3LXBsYXllciIgbm9uY2U9IjNSXzhldG5MaVNKdUNZY0x5Ty11UkEiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvXy95dGVtYmVkcy9fL3NzL2s9eXRlbWJlZHMuYmFzZS5OeG5pdXVaRVRady5MLkY0Lk8vYW09QUFBQWdBL2Q9MC9icj0xL3JzPUFHS015d0d4NHR4aEZKaGNydXRLWXNmUG1TNG1GYzZvSlEiIG5hbWU9ImVtYmVkLXVpIiBub25jZT0iM1JfOGV0bkxpU0p1Q1ljTHlPLXVSQSI+PHN0eWxlIG5vbmNlPSIzUl84ZXRuTGlTSnVDWWNMeU8tdVJBIj5odG1sIHtvdmVyZmxvdzogaGlkZGVuO31ib2R5IHtmb250OiAxMnB4IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGNvbG9yOiAjZmZmOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbjogMDsgcGFkZGluZzogMDt9I3BsYXllciB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9aDEge3RleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNmZmY7fWgzIHttYXJnaW4tdG9wOiA2cHg7IG1hcmdpbi1ib3R0b206IDNweDt9LnBsYXllci11bmF2YWlsYWJsZSB7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHBhZGRpbmc6IDI1cHg7IGZvbnQtc2l6ZTogMTNweDsgYmFja2dyb3VuZDogdXJsKC9pbWcvbWVoNy5wbmcpIDUwJSA2NSUgbm8tcmVwZWF0O30ucGxheWVyLXVuYXZhaWxhYmxlIC5tZXNzYWdlIHt0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW46IDAgLTVweCAxNXB4OyBwYWRkaW5nOiAwIDVweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg4ODsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogbm9ybWFsO30ucGxheWVyLXVuYXZhaWxhYmxlIGEge2NvbG9yOiAjMTY3YWM2OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fTwvc3R5bGU+PHNjcmlwdCBub25jZT0iUk5KYnBDc19qV2Y5Nk9xcGlrNjZBdyI+dmFyIHl0Y3NpPXtndDpmdW5jdGlvbihuKXtuPShufHwiIikrImRhdGFfIjtyZXR1cm4geXRjc2lbbl18fCh5dGNzaVtuXT17dGljazp7fSxpbmZvOnt9LGdlbDp7cHJlTG9nZ2VkR2VsSW5mb3M6W119fSl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3cmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P2Z1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0sdGljazpmdW5jdGlvbihsLHQsbil7dmFyIHRpY2tzPXl0Y3NpLmd0KG4pLnRpY2s7dmFyIHY9dHx8eXRjc2kubm93KCk7aWYodGlja3NbbF0pe3RpY2tzWyJfIitsXT10aWNrc1siXyIrbF18fFt0aWNrc1tsXV07dGlja3NbIl8iK2xdLnB1c2godil9dGlja3NbbF09CnZ9LGluZm86ZnVuY3Rpb24oayx2LG4pe3l0Y3NpLmd0KG4pLmluZm9ba109dn0saW5mb0dlbDpmdW5jdGlvbihwLG4pe3l0Y3NpLmd0KG4pLmdlbC5wcmVMb2dnZWRHZWxJbmZvcy5wdXNoKHApfSxzZXRTdGFydDpmdW5jdGlvbih0LG4pe3l0Y3NpLnRpY2soIl9zdGFydCIsdCxuKX19OwooZnVuY3Rpb24odyxkKXtmdW5jdGlvbiBpc0dlY2tvKCl7aWYoIXcubmF2aWdhdG9yKXJldHVybiBmYWxzZTt0cnl7aWYody5uYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmdy5uYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMmJncubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzLmxlbmd0aCl7dmFyIGJyYW5kcz13Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kczt2YXIgaT0wO2Zvcig7aTxicmFuZHMubGVuZ3RoO2krKylpZihicmFuZHNbaV0mJmJyYW5kc1tpXS5icmFuZD09PSJGaXJlZm94IilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9fWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlO30pfWlmKCF3Lm5hdmlnYXRvci51c2VyQWdlbnQpcmV0dXJuIGZhbHNlO3ZhciB1YT13Lm5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuIHVhLmluZGV4T2YoIkdlY2tvIik+MCYmdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKTwwJiZ1YS5pbmRleE9mKCJFZGdlIik8CjAmJnVhLmluZGV4T2YoIlRyaWRlbnQiKTwwJiZ1YS5pbmRleE9mKCJNU0lFIik8MH15dGNzaS5zZXRTdGFydCh3LnBlcmZvcm1hbmNlP3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQ6bnVsbCk7dmFyIGlzUHJlcmVuZGVyPShkLnZpc2liaWxpdHlTdGF0ZXx8ZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPT0icHJlcmVuZGVyIjt2YXIgdk5hbWU9IWQudmlzaWJpbGl0eVN0YXRlJiZkLndlYmtpdFZpc2liaWxpdHlTdGF0ZT8id2Via2l0dmlzaWJpbGl0eWNoYW5nZSI6InZpc2liaWxpdHljaGFuZ2UiO2lmKGlzUHJlcmVuZGVyKXt2YXIgc3RhcnRUaWNrPWZ1bmN0aW9uKCl7eXRjc2kuc2V0U3RhcnQoKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsc3RhcnRUaWNrKX07ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLHN0YXJ0VGljayxmYWxzZSl9aWYoZC5hZGRFdmVudExpc3RlbmVyKWQuYWRkRXZlbnRMaXN0ZW5lcih2TmFtZSxmdW5jdGlvbigpe3l0Y3NpLnRpY2soInZjIil9LApmYWxzZSk7aWYoaXNHZWNrbygpKXt2YXIgaXNIaWRkZW49KGQudmlzaWJpbGl0eVN0YXRlfHxkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSk9PSJoaWRkZW4iO2lmKGlzSGlkZGVuKXl0Y3NpLnRpY2soInZjIil9dmFyIHNsdD1mdW5jdGlvbihlbCx0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49eXRjc2kubm93KCk7ZWwubG9hZFRpbWU9bjtpZihlbC5zbHQpZWwuc2x0KCl9LHQpfTt3Ll9feXRSSUw9ZnVuY3Rpb24oZWwpe2lmKCFlbC5nZXRBdHRyaWJ1dGUoImRhdGEtdGh1bWIiKSlpZih3LnJlcXVlc3RBbmltYXRpb25GcmFtZSl3LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3NsdChlbCwwKX0pO2Vsc2Ugc2x0KGVsLDE2KX19KSh3aW5kb3csZG9jdW1lbnQpOwo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJSTkpicENzX2pXZjk2T3FwaWs2NkF3Ij52YXIgeXRjZmc9e2Q6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lnl0JiZ5dC5jb25maWdffHx5dGNmZy5kYXRhX3x8KHl0Y2ZnLmRhdGFfPXt9KX0sZ2V0OmZ1bmN0aW9uKGssbyl7cmV0dXJuIGsgaW4geXRjZmcuZCgpP3l0Y2ZnLmQoKVtrXTpvfSxzZXQ6ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7aWYoYS5sZW5ndGg+MSl5dGNmZy5kKClbYVswXV09YVsxXTtlbHNle3ZhciBrO2ZvcihrIGluIGFbMF0peXRjZmcuZCgpW2tdPWFbMF1ba119fX07Cnl0Y2ZnLnNldCh7IkNMSUVOVF9DQU5BUllfU1RBVEUiOiJub25lIiwiREVWSUNFIjoiY2JyXHUwMDNkRmlyZWZveFx1MDAyNmNicnZlclx1MDAzZDEzNC4wXHUwMDI2Y2VuZ1x1MDAzZEdlY2tvXHUwMDI2Y2VuZ3Zlclx1MDAzZDEzNC4wXHUwMDI2Y29zXHUwMDNkV2luZG93c1x1MDAyNmNvc3Zlclx1MDAzZDEwLjBcdTAwMjZjcGxhdGZvcm1cdTAwM2RERVNLVE9QIiwiRVZFTlRfSUQiOiIzZXRtYXJQVUVxX2JxN1lQX29pMDJBdyIsIkVYUEVSSU1FTlRfRkxBR1MiOnsiYWJfZGV0X2FwYl9iIjp0cnVlLCJhYl9kZXRfYXBtIjp0cnVlLCJhYl9kZXRfZWxfaCI6dHJ1ZSwiYWN0aW9uX2NvbXBhbmlvbl9jZW50ZXJfYWxpZ25fZGVzY3JpcHRpb24iOnRydWUsImFsbG93X3NraXBfbmV0d29ya2xlc3MiOnRydWUsImFsd2F5c19zZW5kX2FuZF93cml0ZSI6dHJ1ZSwiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyI6dHJ1ZSwiYXR0bXVzaSI6dHJ1ZSwiYzNfZW5hYmxlX2J1dHRvbl9pbXByZXNzaW9uX2xvZ2dpbmciOnRydWUsImMzX3dhdGNoX3BhZ2VfY29tcG9uZW50Ijp0cnVlLCJjYW5jZWxfcGVuZGluZ19uYXZzIjp0cnVlLCJjbGllbnRfdWlfZW5hYmxlX211bHRpX3RyYWNrX2F1ZGlvX29uX3dlYl9lbWJlZGRlZF9wbGF5ZXIiOnRydWUsImNvbmZpZ19hZ2VfcmVwb3J0X2tpbGxzd2l0Y2giOnRydWUsImNvd19vcHRpbWl6ZV9pZG9tX2NvbXBhdCI6dHJ1ZSwiY3NpX29uX2dlbCI6dHJ1ZSwiZGVkdXBwaW5nX3NlcnZlcl92ZSI6dHJ1ZSwiZGVsaGlfbXdlYl9jb2xvcmZ1bF9zZCI6dHJ1ZSwiZGVsaGlfbXdlYl9jb2xvcmZ1bF9zZF92MiI6dHJ1ZSwiZGVwcmVjYXRlX3BhaXJfc2VydmxldF9lbmFibGVkIjp0cnVlLCJkZXNrdG9wX3NwYXJrbGVzX2xpZ2h0X2N0YV9idXR0b24iOnRydWUsImRpc2FibGVfY2hpbGRfbm9kZV9hdXRvX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJkaXNhYmxlX2xvZ190b192aXNpdG9yX2xheWVyIjp0cnVlLCJkaXNhYmxlX21pbmlfYXBwX2NvbnRhaW5lcl93ZWJfdmlld19pbnNldHMiOnRydWUsImRpc2FibGVfcGFjZl9sb2dnaW5nX2Zvcl9tZW1vcnlfbGltaXRlZF90diI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX25vbm1vYmlsZV9lbGlnaWJsZSI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX25vbm1vYmlsZV9lbmFibGVkIjp0cnVlLCJlbWJlZHNfZGVza3RvZmZfc2F2ZV91c2VyX3ZvbHVtZSI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b3BfZW5hYmxlX3ZvbHVtZV9zbGlkZXIiOnRydWUsImVtYmVkc19lbmFibGVfY2hhbm5lbF9zdWJzY3JpYmVfZGVwcmVjYXRpb24iOnRydWUsImVtYmVkc19lbmFibGVfZGVsYXlfY29udHJvbHNfaGlkZSI6dHJ1ZSwiZW1iZWRzX2VuYWJsZV9laWRfZW5mb3JjZW1lbnRfZm9yX3lvdXR1YmUiOnRydWUsImVtYmVkc19lbmFibGVfZW1jM2RzX3BmcCI6dHJ1ZSwiZW1iZWRzX211dGVkX2F1dG9wbGF5X3NvdW5kX2ZpeCI6dHJ1ZSwiZW1iZWRzX3NlcnZlX2VzNl9jbGllbnQiOnRydWUsImVtYmVkc193ZWJfdXBkYXRlZF9zaG9ydHNfZGVmaW5pdGlvbl9maXgiOnRydWUsImVuYWJsZV9hMTF5X2ZvY3VzX2ZpeF9mb3JfbWFjX3BhbmVsX29uX2Rlc2t0b3AiOnRydWUsImVuYWJsZV9hY2Nlc3NfY29kZV9zZXJ2aWNlX3JwYyI6dHJ1ZSwiZW5hYmxlX2FjdGl2ZV92aWV3X2Rpc3BsYXlfYWRfcmVuZGVyZXJfd2ViX2hvbWUiOnRydWUsImVuYWJsZV9haV9zZWFyY2hfaW5uZXJ0dWJlX20wX2ZpeGVzIjp0cnVlLCJlbmFibGVfYW5kcm9pZF93ZWJfdmlld190b3BfaW5zZXRzX2J1Z2ZpeCI6dHJ1ZSwiZW5hYmxlX2F0dGVudGlvbl9sb2dnaW5nX21lYXN1cmVfb25fc2hvd24iOnRydWUsImVuYWJsZV9hdV91MTZfdmVyaWZ5X2FnZV9wYWdlIjp0cnVlLCJlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVjayI6dHJ1ZSwiZW5hYmxlX2NsaWVudF9zbGlfbG9nZ2luZyI6dHJ1ZSwiZW5hYmxlX2NsaWVudF9zdHJlYW16X3dlYiI6dHJ1ZSwiZW5hYmxlX2NsaWVudF92ZV9zcGVjIjp0cnVlLCJlbmFibGVfY2xvdWRfc2F2ZV9lcnJvcl9wb3B1cF9hZnRlcl9yZXRyeSI6dHJ1ZSwiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiI6dHJ1ZSwiZW5hYmxlX2RhaV9zZGZfaDVfcHJlcm9sbCI6dHJ1ZSwiZW5hYmxlX2RhdGFzeW5jX2lkX2hlYWRlcl9pbl93ZWJfdnNzX3BpbmdzIjp0cnVlLCJlbmFibGVfZGVmYXVsdF9tb25vX2N0YV9taWdyYXRpb25fd2ViX2NsaWVudCI6dHJ1ZSwiZW5hYmxlX2RvY2tlZF9jaGF0X21lc3NhZ2VzIjp0cnVlLCJlbmFibGVfZHJvcF9zaGFkb3dfZXhwZXJpbWVudCI6dHJ1ZSwiZW5hYmxlX2VtYmVkc19uZXdfY2FwdGlvbl9sYW5ndWFnZV9waWNrZXIiOnRydWUsImVuYWJsZV9lbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2g1Ijp0cnVlLCJlbmFibGVfZW50aXR5X3N0b3JlX2Zyb21fZGVwZW5kZW5jeV9pbmplY3Rpb24iOnRydWUsImVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGMiOnRydWUsImVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjYiI6dHJ1ZSwiZW5hYmxlX2xvZ2dpbmdfZmlyc3RfdXNlcl9hY3Rpb25fYWZ0ZXJfZ2FtZV9yZWFkeSI6dHJ1ZSwiZW5hYmxlX2x0Y19wYXJhbV9mZXRjaF9mcm9tX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX20wX2xvZ2dpbmdfZml4ZXMiOnRydWUsImVuYWJsZV9tZW51X3JlbmRlcmVyX2J1dHRvbl9pbl9td2ViX2hjbHIiOnRydWUsImVuYWJsZV9taW5pX2FwcF9jb21tYW5kX2hhbmRsZXJfbXdlYl9maXgiOnRydWUsImVuYWJsZV9taW5pX2d1aWRlX2Rvd25sb2Fkc19pdGVtIjp0cnVlLCJlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXIiOnRydWUsImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyI6dHJ1ZSwiZW5hYmxlX25hbWVzX2hhbmRsZXNfYWNjb3VudF9zd2l0Y2hlciI6dHJ1ZSwiZW5hYmxlX25hdGl2ZV9icmlkZ2Vfdmlld19zYXZlZF9wbGF5YWJsZXMiOnRydWUsImVuYWJsZV9uZXR3b3JrX3JlcXVlc3RfbG9nZ2luZ19vbl9nYW1lX2V2ZW50cyI6dHJ1ZSwiZW5hYmxlX25ld19wYWlkX3Byb2R1Y3RfcGxhY2VtZW50Ijp0cnVlLCJlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX29wZW5feXRfY29udGVudCI6dHJ1ZSwiZW5hYmxlX29yaWdpbl9xdWVyeV9wYXJhbWV0ZXJfYnVnZml4Ijp0cnVlLCJlbmFibGVfcGF1c2VfYWRzX29uX3l0dl9odG1sNSI6dHJ1ZSwiZW5hYmxlX3BheW1lbnRzX3B1cmNoYXNlX21hbmFnZXIiOnRydWUsImVuYWJsZV9wZHBfaWNvbl9wcmVmZXRjaCI6dHJ1ZSwiZW5hYmxlX3BsYWNlX3Bpdm90X3VybCI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2NvbnRhaW5lcl9zYXZlX2J1dHRvbiI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2VudGl0eV9zYXZlX21lbnVfaXRlbSI6dHJ1ZSwiZW5hYmxlX3B0Y19ob21lX2xvY2F0aW9uX29uX3dlYiI6dHJ1ZSwiZW5hYmxlX3B2X3NjcmVlbl9tb2Rlcm5fdGV4dCI6dHJ1ZSwiZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvbiI6dHJ1ZSwiZW5hYmxlX3NkZl9jb21wYW5pb25faDUiOnRydWUsImVuYWJsZV9zZGZfZGFpX2g1X21pZHJvbGwiOnRydWUsImVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsIjp0cnVlLCJlbmFibGVfc2RmX29uX2g1X3VucGx1Z2dlZF92b2RfbWlkcm9sbCI6dHJ1ZSwiZW5hYmxlX3NkZl9zaG9ydHNfcGxheWVyX2J5dGVzX2g1Ijp0cnVlLCJlbmFibGVfc2VuZGluZ191bndyYXBwZWRfZ2FtZV9hdWRpb19hc19zZXJpYWxpemVkX21ldGFkYXRhIjp0cnVlLCJlbmFibGVfc2V0X3ZpZGVvX2lkX2luX3Nob3J0c19sb2NrdXBfdmlld19tb2RlbCI6dHJ1ZSwiZW5hYmxlX3Nmdl9lZmZlY3RfcGl2b3RfdXJsIjp0cnVlLCJlbmFibGVfc2hvcnRzX25ld19jYXJvdXNlbCI6dHJ1ZSwiZW5hYmxlX3NraXBfYWRfZ3VpZGFuY2VfcHJvbXB0Ijp0cnVlLCJlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZCI6dHJ1ZSwiZW5hYmxlX3NtZWFyaW5nX2V4cGFuc2lvbl9kYWkiOnRydWUsImVuYWJsZV9zdXBleF9td2ViX2RlbW9fd2ViZmUiOnRydWUsImVuYWJsZV90aW1lX291dF9tZXNzYWdlcyI6dHJ1ZSwiZW5hYmxlX3RpbWVsaW5lX3ZpZXdfbW9kZXJuX3RyYW5zY3JpcHRfZmUiOnRydWUsImVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyI6dHJ1ZSwiZW5hYmxlX3dlYl9ob21lX3RvcF9sYW5kc2NhcGVfaW1hZ2VfbGF5b3V0X2xldmVsX2NsaWNrIjp0cnVlLCJlbmFibGVfd2ViX3Nob3J0c19hdWRpb190cmFjayI6dHJ1ZSwiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIjp0cnVlLCJlbmFibGVfd2luZG93X2NvbnN0cmFpbmVkX2J1eV9mbG93X2RpYWxvZyI6dHJ1ZSwiZW5hYmxlX3dpel9xdWV1ZV9lZmZlY3RfYW5kX29uX2luaXRfaW5pdGlhbF9ydW5zIjp0cnVlLCJlbmFibGVfeXBjX3NwaW5uZXJzIjp0cnVlLCJlbmFibGVfeXRfYXRhX2lmcmFtZV9hdXRodXNlciI6dHJ1ZSwiZXhwb3J0X25ldHdvcmtsZXNzX29wdGlvbnMiOnRydWUsImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyI6dHJ1ZSwiZmlsbF9zaW5nbGVfdmlkZW9fd2l0aF9ub3RpZnlfdG9fbGFzciI6dHJ1ZSwiZml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViIjp0cnVlLCJoNV9jb21wYW5pb25fZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3MiOnRydWUsImg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzIjp0cnVlLCJoNV9yZXNldF9jYWNoZV9hbmRfZmlsdGVyX2JlZm9yZV91cGRhdGVfbWFzdGhlYWQiOnRydWUsImhpZGVfY2hhbm5lbF9jcmVhdGlvbl90aXRsZV9mb3JfbXdlYiI6dHJ1ZSwiaGlnaF9jY3ZfY2xpZW50X3NpZGVfY2FjaGluZ19oNSI6dHJ1ZSwiaHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YSI6dHJ1ZSwiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiOnRydWUsImlkYl9pbW1lZGlhdGVfY29tbWl0Ijp0cnVlLCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiOnRydWUsImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCI6dHJ1ZSwiaXNfYnJvd3Nlcl9zdXBwb3J0X2Zvcl93ZWJjYW1fc3RyZWFtaW5nIjp0cnVlLCJqc29uX2NvbmRlbnNlZF9yZXNwb25zZSI6dHJ1ZSwia2V2bGFyX2ZpbHRlcl91bmtub3duX3NvdXJjZSI6dHJ1ZSwia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIjp0cnVlLCJrZXZsYXJfdHJpbV9wbGF5ZXJfYmVoYXZpb3IiOnRydWUsImtldmxhcl93YXRjaF9jaW5lbWF0aWNzIjp0cnVlLCJsaW1pdF95dGNzaV9kZWJ1Z19hcnJheV9zaXplIjp0cnVlLCJsaXZlX2NoYXRfZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyIjp0cnVlLCJtYXdfZW5hYmxlX25ldHdvcmtfbWFjaGluZSI6dHJ1ZSwibWR4X2VuYWJsZV9wcml2YWN5X2Rpc2Nsb3N1cmVfdWkiOnRydWUsIm1keF9sb2FkX2Nhc3RfYXBpX2Jvb3RzdHJhcF9zY3JpcHQiOnRydWUsIm1lZGl1bV9wcm9ncmVzc19iYXJfbW9kaWZpY2F0aW9uIjp0cnVlLCJtb2JpbGVfYWNjb3VudF9tZW51X3JlZnJlc2giOnRydWUsIm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwIjp0cnVlLCJtd2ViX2FsbG93X21vZGVybl9zZWFyY2hfc3VnZ2VzdF9iZWhhdmlvciI6dHJ1ZSwibXdlYl9hbmltYXRlZF9hY3Rpb25zIjp0cnVlLCJtd2ViX2FwcF91cHNlbGxfYnV0dG9uX2RpcmVjdF90b19hcHAiOnRydWUsIm13ZWJfYmFkZ2Vfc2hhcGVfZGVmcmFnIjp0cnVlLCJtd2ViX2MzX2FwcF9wcm9tb19lbmFibGVfcmVmZXJyaW5nX2FwcCI6dHJ1ZSwibXdlYl9jM19lbmFibGVfYWRhcHRpdmVfc2lnbmFscyI6dHJ1ZSwibXdlYl9jM19saWJyYXJ5X3BhZ2VfZW5hYmxlX3JlY2VudF9zaGVsZiI6dHJ1ZSwibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIjp0cnVlLCJtd2ViX2MzX3JlbW92ZV93ZWJfbmF2aWdhdGlvbl9lbmRwb2ludF9kYXRhIjp0cnVlLCJtd2ViX2MzX3RvYXN0X3VzZV93aXpfcmVhY3RpdmVfcmVuZGVyIjp0cnVlLCJtd2ViX2MzX3VzZV9jYW5vbmljYWxfZnJvbV9wbGF5ZXJfcmVzcG9uc2UiOnRydWUsIm13ZWJfY2FydmVfb3V0X2lvc19hcHBfc3RvcmVfcmVkaXJlY3QiOnRydWUsIm13ZWJfY2FydmVfb3V0X3Rlcm1zX3BhZ2VzIjp0cnVlLCJtd2ViX2NpbmVtYXRpY193YXRjaCI6dHJ1ZSwibXdlYl9jb21tYW5kX2hhbmRsZXIiOnRydWUsIm13ZWJfZGVidWdfc3RpY2t5X3NldHRpbmdzIjp0cnVlLCJtd2ViX2RlbGF5X3dhdGNoX2luaXRpYWxfZGF0YSI6dHJ1ZSwibXdlYl9kaXNhYmxlX3NlYXJjaGJhcl9zY3JvbGwiOnRydWUsIm13ZWJfZW5hYmxlX2NsaWNrX3RvX3BsYXlfcGF1c2UiOnRydWUsIm13ZWJfZW5hYmxlX2NvbG9yZnVsX2FpX3N1bW1hcnkiOnRydWUsIm13ZWJfZW5hYmxlX2R5bmFtaWNfZG91YmxlX3RhcF90b19saWtlIjp0cnVlLCJtd2ViX2VuYWJsZV9maW5lX3NjcnViYmluZ19mb3JfcmVjcyI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19iYXRjaF9wbGF5ZXJfZnVsbHNjcmVlbiI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19iYXRjaF9wbGF5ZXJfcHJvZ3Jlc3NfYmFyIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl90b29sdGlwcyI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19jb250ZW50Ijp0cnVlLCJtd2ViX2VuYWJsZV9sb2NrdXBfdmlld19tb2RlbF9mb3JfdWNwIjp0cnVlLCJtd2ViX2VuYWJsZV9taXhfcGFuZWxfdGl0bGVfbWV0YWRhdGEiOnRydWUsIm13ZWJfZW5hYmxlX21vcmVfY2h1bmtzIjp0cnVlLCJtd2ViX2VuYWJsZV9tb3JlX2RyYXdlciI6dHJ1ZSwibXdlYl9lbmFibGVfb3B0aW9uYWxfZnVsbHNjcmVlbl9sYW5kc2NhcGVfbG9ja2luZyI6dHJ1ZSwibXdlYl9lbmFibGVfb3ZlcmxheV90b3VjaF9tYW5hZ2VyIjp0cnVlLCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiOnRydWUsIm13ZWJfZW5hYmxlX3ByZW1pdW1fY2FydmVfb3V0X2ZpeCI6dHJ1ZSwibXdlYl9lbmFibGVfcmVmcmVzaF9kZXRlY3Rpb24iOnRydWUsIm13ZWJfZW5hYmxlX3NlYXJjaF9pbXAiOnRydWUsIm13ZWJfZW5hYmxlX3Nob3J0c192aWRlb19wcmVsb2FkIjp0cnVlLCJtd2ViX2VuYWJsZV90d29fbGluZV90aXRsZV9vbl9zaG9ydHMiOnRydWUsIm13ZWJfZW5hYmxlX3ZhcmlzcGVlZF9jb250cm9sbGVyIjp0cnVlLCJtd2ViX2VuYWJsZV92aWRlb19sb29wX3RvZ2dsZSI6dHJ1ZSwibXdlYl9lbmFibGVfd2F0Y2hfZmVlZF9pbmZpbml0ZV9zY3JvbGwiOnRydWUsIm13ZWJfZml4X2NvbGRfbG9hZF9yZXNwb25zZV9hY3Rpb25zIjp0cnVlLCJtd2ViX2ZpeF9tb25pdG9yX3Zpc2liaWxpdHlfYWZ0ZXJfcmVuZGVyIjp0cnVlLCJtd2ViX2ZvcmNlX2lvc19mYWxsYmFja190b19uYXRpdmVfY29udHJvbCI6dHJ1ZSwibXdlYl9mcF9hdXRvX2Z1bGxzY3JlZW4iOnRydWUsIm13ZWJfZnBfZW5hYmxlX3Nob3J0c19zd2lwZV9sb2dnaW5nIjp0cnVlLCJtd2ViX2Z1bGxzY3JlZW5fY29udHJvbHMiOnRydWUsIm13ZWJfZnVsbHNjcmVlbl9jb250cm9sc19hY3Rpb25fYnV0dG9ucyI6dHJ1ZSwibXdlYl9mdWxsc2NyZWVuX3dhdGNoX3N5c3RlbSI6dHJ1ZSwibXdlYl9mdWxseV9yZWFjdGl2ZV9jYiI6dHJ1ZSwibXdlYl9ob21lX3JlYWN0aXZlX3Nob3J0cyI6dHJ1ZSwibXdlYl9pbm5lcnR1YmVfc2VhcmNoX2NvbW1hbmQiOnRydWUsIm13ZWJfa2Fpb3NfZW5hYmxlX2F1dG9wbGF5X3N3aXRjaF92aWV3X21vZGVsIjp0cnVlLCJtd2ViX2xhbmdfaW5faHRtbCI6dHJ1ZSwibXdlYl9saWtlX2J1dHRvbl9zeW5jZWRfd2l0aF9lbnRpdGllcyI6dHJ1ZSwibXdlYl9sb2dvX3VzZV9ob21lX3BhZ2VfdmUiOnRydWUsIm13ZWJfbG9uZ19wcmVzc19zcGVlZHVwX3ZpYnJhdGlvbiI6dHJ1ZSwibXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkIjp0cnVlLCJtd2ViX3BsYXllcl9jb250cm9sX29uX2hvdmVyIjp0cnVlLCJtd2ViX3BsYXllcl9kZWxoaV9kdHRzIjp0cnVlLCJtd2ViX3BsYXllcl9zaG93X3ByZXZpb3VzX25leHRfYnV0dG9uc19pbl9wbGF5bGlzdCI6dHJ1ZSwibXdlYl9wbGF5ZXJfc2tpcF9ub19vcF9zdGF0ZV9jaGFuZ2VzIjp0cnVlLCJtd2ViX3BsYXllcl91c2VyX3NlbGVjdF9ub25lIjp0cnVlLCJtd2ViX3BsYXlsaXN0X2VuZ2FnZW1lbnRfcGFuZWwiOnRydWUsIm13ZWJfcHJvZ3Jlc3NfYmFyX3NlZWtfb25fbW91c2VfY2xpY2siOnRydWUsIm13ZWJfcHJvcGFnYXRlX3BsYXllcl9saW5rX2NsaWNrcyI6dHJ1ZSwibXdlYl9wdWxsXzJfZnVsbCI6dHJ1ZSwibXdlYl9wdWxsXzJfZnVsbF9lbmFibGVfdG91Y2hfaGFuZGxlcnMiOnRydWUsIm13ZWJfc2NoZWR1bGVfd2FybV93YXRjaF9yZXNwb25zZSI6dHJ1ZSwibXdlYl9zZWFyY2hib3hfbGVnYWN5X25hdmlnYXRpb24iOnRydWUsIm13ZWJfc2VlX2Zld2VyX3Nob3J0cyI6dHJ1ZSwibXdlYl9zaG9ydHNfY29tbWVudHNfcGFuZWxfaWRfY2hhbmdlIjp0cnVlLCJtd2ViX3Nob3J0c19lYXJseV9jb250aW51YXRpb24iOnRydWUsIm13ZWJfc2hvcnRzX2VuYWJsZV9sb25nX3ByZXNzX3NwZWVkdXAiOnRydWUsIm13ZWJfc2hvcnRzX292ZXJsYXlfZGVwcmVjYXRlX2thaW9zX2xheW91dCI6dHJ1ZSwibXdlYl9zaG93X3NpZ25faW5fYnV0dG9uX2Zyb21faGVhZGVyIjp0cnVlLCJtd2ViX3VzZV9taWNyb2Zvcm1hdF90aXRsZV9mb3JfcG9zdHMiOnRydWUsIm13ZWJfdXNlX3NlcnZlcl91cmxfb25fc3RhcnR1cCI6dHJ1ZSwibXdlYl93YXRjaF9jYXB0aW9uc19lbmFibGVfYXV0b190cmFuc2xhdGUiOnRydWUsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfc2V0X2RlZmF1bHRfc2l6ZSI6dHJ1ZSwibXdlYl93YXRjaF9kZWxoaV9wbGF5ZXIiOnRydWUsIm13ZWJfd2F0Y2hfc3RvcF9zY2hlZHVsZXJfb25fcGxheWVyX3Jlc3BvbnNlIjp0cnVlLCJtd2ViX3dhdGNoZmVlZF9iaWdfdGh1bWJuYWlscyI6dHJ1ZSwibXdlYl95dF9zZWFyY2hib3giOnRydWUsIm5ldHdvcmtsZXNzX2xvZ2dpbmciOnRydWUsIm5vX2NsaWVudF92ZV9hdHRhY2hfdW5sZXNzX3Nob3duIjp0cnVlLCJwYWdlaWRfYXNfaGVhZGVyX3dlYiI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX2F1dG9uYXZfZml4Ijp0cnVlLCJwbGF5ZXJfY29udHJvbHNfc2tpcF9kb3VibGVfc2lnbmFsX3VwZGF0ZSI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX3VzZV9wbGF5ZXJfYXBpX2NvbnRleHQiOnRydWUsInBsYXllcl9jb250cm9sc192b2x1bWVfY29udHJvbHNfdXNlX3BsYXllcl9wcm9wcyI6dHJ1ZSwicG9seW1lcl9iYWRfYnVpbGRfbGFiZWxzIjp0cnVlLCJwb2x5bWVyX3ZlcmlmaXlfYXBwX3N0YXRlIjp0cnVlLCJxb2Vfc2VuZF9hbmRfd3JpdGUiOnRydWUsInJlbW92ZV9jaGV2cm9uX2Zyb21fYWRfZGlzY2xvc3VyZV9iYW5uZXJfaDUiOnRydWUsInJlbW92ZV9tYXN0aGVhZF9jaGFubmVsX2Jhbm5lcl9vbl9yZWZyZXNoIjp0cnVlLCJyZW1vdmVfc2xvdF9pZF9leGl0ZWRfdHJpZ2dlcl9mb3JfZGFpX2luX3BsYXllcl9zbG90X2V4cGlyZSI6dHJ1ZSwicm9zY2FzIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9lbmFibGVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2VuYWJsZWQiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfaG9tZV9wYWdlX3Byb21wdCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF93YXRjaF9wYWdlX3Byb21wdCI6dHJ1ZSwic2hlbGxfbG9hZF9nY2YiOnRydWUsInNob3J0ZW5faW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCI6dHJ1ZSwic2hvcnRzX2VuYWJsZV9yZWVsX2Nhcm91c2VsIjp0cnVlLCJzaG91bGRfdXNlX3l0X3ZvaWNlX2VuZHBvaW50X2luX2thaW9zIjp0cnVlLCJzbWFydGVyX3ZlX2RlZHVwcGluZyI6dHJ1ZSwic3RvcF9oYW5kbGluZ19jbGlja19mb3Jfbm9uX3JlbmRlcmluZ19vdmVybGF5X2xheW91dCI6dHJ1ZSwic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciOnRydWUsInN5bmNlZF9wYW5lbF9zY3JvbGxpbmdfY29udHJvbGxlciI6dHJ1ZSwidG9vbHRpcF9yZWZhY3Rvcl9mb3JfaG90a2V5Ijp0cnVlLCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiOnRydWUsInVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzcyI6dHJ1ZSwidXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiOnRydWUsInVzZV9zZXNzaW9uX2Jhc2VkX3NhbXBsaW5nIjp0cnVlLCJ1c2VfdGh1bWJuYWlsX292ZXJsYXlfdGltZV9zdGF0dXNfcmVuZGVyZXJfZm9yX2xpdmVfYmFkZ2UiOnRydWUsInZzc19maW5hbF9waW5nX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJ3YXRjaF9wdWJzdWJfcmVmYWN0b3IiOnRydWUsIndlYl9hZGFwdGl2ZV9yZXBlYXRfYXNlIjp0cnVlLCJ3ZWJfYWx3YXlzX2xvYWRfY2hhdF9zdXBwb3J0Ijp0cnVlLCJ3ZWJfYXBpX3VybCI6dHJ1ZSwid2ViX2F0dGVudGlvbl9sb2dnaW5nX2VuYWJsZWQiOnRydWUsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsIjp0cnVlLCJ3ZWJfYXR0cmlidXRlZF9zdHJpbmdfZGVlcF9lcXVhbF9idWdmaXgiOnRydWUsIndlYl9hdXRvbmF2X2FsbG93X29mZl9ieV9kZWZhdWx0Ijp0cnVlLCJ3ZWJfYnV0dG9uX29yX2FuY2hvcl9saXN0X2l0ZW0iOnRydWUsIndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhIjp0cnVlLCJ3ZWJfYnV0dG9uX3ZtX3JlZmFjdG9yX2Rpc2FibGVkIjp0cnVlLCJ3ZWJfYzNfbG9nX2FwcF9pbml0X2ZpbmlzaCI6dHJ1ZSwid2ViX2NvbW1lbnRfcGFuZWxfZWFzeV9leHBhbmQiOnRydWUsIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiOnRydWUsIndlYl9kZWR1cGVfdmVfZ3JhZnRpbmciOnRydWUsIndlYl9kaXNhYmxlX2JhY2tkcm9wX2ZpbHRlciI6dHJ1ZSwid2ViX2Rpc2FibGVfY2hpcF92aWV3X21vZGVsX211dGF0aW9uIjp0cnVlLCJ3ZWJfZW5hYmxlX2FiX3JzcF9jbCI6dHJ1ZSwid2ViX2VuYWJsZV9hZF9idXR0b25fc3R5bGVfb3ZlcnJpZGUiOnRydWUsIndlYl9lbmFibGVfYXNrX2Rpc2NsYWltZXJfdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Nhbm9uaWNhbF91cmxfbWFuYWdlciI6dHJ1ZSwid2ViX2VuYWJsZV9jb3Vyc2VfaWNvbl91cGRhdGUiOnRydWUsIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiOnRydWUsIndlYl9lbmFibGVfZXJyb3JfMjA0Ijp0cnVlLCJ3ZWJfZW5hYmxlX3RodW1ibmFpbF9vdmVybGF5X2FsaWdubWVudCI6dHJ1ZSwid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIjp0cnVlLCJ3ZWJfZ2VsX3RpbWVvdXRfY2FwIjp0cnVlLCJ3ZWJfaGlkZV95b3VyX2RhdGFfb25fYXV0b21vdGl2ZSI6dHJ1ZSwid2ViX2ltcF9lbmFibGVfY3NpX3N0YXJ0X3RpY2siOnRydWUsIndlYl9tb25vbWVyX3dlYl9jb21wb25lbnRfd3JhcHBlcl9oYW5kbGVfZXJyb3JzIjp0cnVlLCJ3ZWJfbm9uX25hdmlnYXRpbmdfYXRhZyI6dHJ1ZSwid2ViX3BhcmVudF90YXJnZXRfZm9yX3NoZWV0cyI6dHJ1ZSwid2ViX3BlcnNpc3Rfc2VydmVyX2F1dG9uYXZfc3RhdGVfb25fY2xpZW50Ijp0cnVlLCJ3ZWJfcGxheWJhY2tfYXNzb2NpYXRlZF92ZSI6dHJ1ZSwid2ViX3BsYXllcl91cGRhdGVkX2VudHJ5cG9pbnQiOnRydWUsIndlYl9wcmVmZXRjaF9wcmVsb2FkX3ZpZGVvIjp0cnVlLCJ3ZWJfcHJvZ3Jlc3NfYmFyX2RyYWdnYWJsZSI6dHJ1ZSwid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIjp0cnVlLCJ3ZWJfcmVtb3ZlX3NuYWNrYmFyX2FjdGlvbnMiOnRydWUsIndlYl9zZWN0aW9uX2xpc3RfcmVuZGVyZXJfd3JhcHBlZF9jb250ZW50cyI6dHJ1ZSwid2ViX3Nob3J0c19hdWRpb190cmFja19waWNrZXIiOnRydWUsIndlYl9zaG9ydHNfZW5hYmxlX3JlbW92ZV9zZWFyY2hfcGl2b3RfYmFja19idXR0b24iOnRydWUsIndlYl9zaG9ydHNfd25fc2hlbGZfaGVhZGVyX3R1bmluZyI6dHJ1ZSwid2ViX3VuaWZpZWRfZmV0Y2giOnRydWUsIndlYl91cGRhdGVfcGFuZWxfdmlzaWJpbGl0eV9sb2dnaW5nX2ZpeCI6dHJ1ZSwid2ViX3dhdGNoX2NvbnRyb2xzX3N0YXRlX3NpZ25hbHMiOnRydWUsIndlYmZlX213ZWJfd2F0Y2hfbWljcm9kYXRhIjp0cnVlLCJ3ZWJmZV93YXRjaF9zaG9ydHNfY2Fub25pY2FsX3VybF9maXgiOnRydWUsIndlYnBvX2V4aXRfb25fbmV0X2VyciI6dHJ1ZSwid2l6X2RpZmZfb3ZlcndyaXRhYmxlIjp0cnVlLCJ3aXpfd3JhcHBlcl9jYWxsYmFja19wcm9wc19maXgiOnRydWUsInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCI6dHJ1ZSwiSDVfYXN5bmNfbG9nZ2luZ19kZWxheV9tcyI6MzAwMDAuMCwiYXV0b3BsYXlfcGF1c2VfYnlfbGFjdF9zYW1wbGluZ19mcmFjdGlvbiI6MC4wLCJjaW5lbWF0aWNfd2F0Y2hfZWZmZWN0X29wYWNpdHkiOjAuNCwibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIjowLjEsInNwZWVkbWFzdGVyX3BsYXliYWNrX3JhdGUiOjIuMCwid2ViX2F0dGVudGlvbl9sb2dnaW5nX3Njcm9sbF90aHJvdHRsZSI6NTAwLjAsIndlYl9kZWFkX2NvZGVfZGV0ZWN0b3Jfc2FtcGxpbmdfcmF0ZSI6MC4wLCJ3ZWJfbG9hZF9wcmVkaWN0aW9uX3RocmVzaG9sZCI6MC4zLCJ3ZWJfbmF2aWdhdGlvbl9wcmVkaWN0aW9uX3RocmVzaG9sZCI6MC4xLCJ3ZWJfcGJqX2xvZ193YXJuaW5nX3JhdGUiOjAuMCwid2ViX3N5c3RlbV9oZWFsdGhfZnJhY3Rpb24iOjAuMDEsInl0aWRiX3RyYW5zYWN0aW9uX2VuZGVkX2V2ZW50X3JhdGVfbGltaXQiOjAuMDIsImF0dF9pbml0X2RlbGF5Ijo1MDAsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2VjIjowLCJib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zIjozMDAwLCJjaGVja19uYXZpZ2F0b3JfYWNjdXJhY3lfdGltZW91dF9tcyI6MCwiY2luZW1hdGljX3dhdGNoX2Nzc19maWx0ZXJfYmx1cl9zdHJlbmd0aCI6NDAsImNpbmVtYXRpY193YXRjaF9mYWRlX291dF9kdXJhdGlvbiI6NTAwLCJjbG9zZV93ZWJ2aWV3X2RlbGF5X21zIjoxMDAsImNsb3VkX3NhdmVfZ2FtZV9kYXRhX3JhdGVfbGltaXRfbXMiOjMwMDAsImNvbXByZXNzaW9uX2Rpc2FibGVfcG9pbnQiOjEwLCJjdXN0b21fYWN0aXZlX3ZpZXdfdG9zX3RpbWVvdXRfbXMiOjM2MDAwMDAsImVtYmVkc193aWRnZXRfcG9sbF9pbnRlcnZhbF9tcyI6MCwiZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19tYXhfd2luZG93X3NlY29uZHMiOjYwLCJnZWxfbWluX2JhdGNoX3NpemUiOjMsImdlbF9xdWV1ZV90aW1lb3V0X21heF9tcyI6NjAwMDAsImdldF9hc3luY190aW1lb3V0X21zIjo2MDAwMCwiaHRtbDVfYnl0ZXJhdGVfc29mdF9jYXAiOjAsImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiOjIwMDAsIm1heF9ib2R5X3NpemVfdG9fY29tcHJlc3MiOjUwMDAwMCwibWF4X3ByZWZldGNoX3dpbmRvd19zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uIjoxMCwibWluX3ByZWZldGNoX29mZnNldF9zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uIjoyMCwibWluaV9hcHBfY29udGFpbmVyX2lmcmFtZV9zcmNfdXBkYXRlX2RlbGF5X21zIjowLCJtdWx0aXBsZV9wcmV2aWV3X25ld3NfZHVyYXRpb25fdGltZSI6MTEwMDAsIm13ZWJfYzNfdG9hc3RfZHVyYXRpb25fbXMiOjUwMDAsIm13ZWJfZGVlcF9saW5rX2ZhbGxiYWNrX3RpbWVvdXRfbXMiOjEwMDAwLCJtd2ViX2RlbGF5X3Jlc3BvbnNlX3JlY2VpdmVkX2FjdGlvbnMiOjEwMCwibXdlYl9kd2VsbF9kZWxheV9tcyI6NTAwLCJtd2ViX2ZwX2RwYWRfcmF0ZV9saW1pdF9tcyI6MCwibXdlYl9mcF9kcGFkX3dhdGNoX3RpdGxlX2NsYW1wX2xpbmVzIjowLCJtd2ViX2hpc3RvcnlfbWFuYWdlcl9jYWNoZV9zaXplIjoxMDAsIm13ZWJfaW9zX2Z1bGxzY3JlZW5fcGxheWJhY2tfdHJhbnNpdGlvbl9kZWxheV9tcyI6NTAwLCJtd2ViX2lvc19mdWxsc2NyZWVuX3N5c3RlbV9wYXVzZV9lcGlsc29uX21zIjowLCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiOjAsIm13ZWJfc2hvcnRzX2Vhcmx5X2NvbnRpbnVhdGlvbl90cmlnZ2VyX3RocmVzaG9sZCI6NCwibXdlYl9zaG9ydHNfbnVtYmVyX29mX3RodW1ibmFpbHNfc2hvd24iOjIsIm13ZWJfdzJ3X21heF9hZ2Vfc2Vjb25kcyI6MCwibXdlYl93YXRjaF9jYXB0aW9uc19kZWZhdWx0X3NpemUiOjIsIm5lb25fZGFya19sYXVuY2hfZ3JhZGllbnRfY291bnQiOjAsIm5ldHdvcmtfcG9sbGluZ19pbnRlcnZhbCI6MzAwMDAsInBsYXlfcGluZ19pbnRlcnZhbF9tcyI6MTAwMDAsInNlbmRfY29uZmlnX2hhc2hfdGltZXIiOjAsInNlcnZpY2Vfd29ya2VyX3B1c2hfbG9nZ2VkX291dF9wcm9tcHRfd2F0Y2hlcyI6LTEsInNlcnZpY2Vfd29ya2VyX3B1c2hfcHJvbXB0X2NhcCI6LTEsInNlcnZpY2Vfd29ya2VyX3B1c2hfcHJvbXB0X2RlbGF5X21pY3Jvc2Vjb25kcyI6Mzg4ODAwMDAwMDAwMCwic2hvd19taW5pX2FwcF9hZF93ZWJfcmVndWxhcl9mcmVxdWVuY3lfY2FwX21zIjoyNDAwMDAsInNob3dfbWluaV9hcHBfYWRfd2ViX3Jld2FyZGVkX2ZyZXF1ZW5jeV9jYXBfbXMiOjAsInNsb3dfY29tcHJlc3Npb25zX2JlZm9yZV9hYmFuZG9uX2NvdW50Ijo0LCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiOjEwLCJzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zIjo1MDAsIndlYl9haV9zZWFyY2hfcm9sbG91dF92ZXJzaW9uIjoxLCJ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXMiOjI4MDAwLCJ3ZWJfZ2VsX2RlYm91bmNlX21zIjoxMDAwMCwid2ViX2xvZ2dpbmdfbWF4X2JhdGNoIjoxMDAsIndlYl9tYXhfdHJhY2luZ19ldmVudHMiOjUwLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfbW91c2Vtb3ZlX2ludGVydmFsIjowLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2Nyb2xsX2ludGVydmFsIjowLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2VuZF9hZnRlcl90aW1lb3V0IjowLCJ3ZWJfdHJhY2luZ19zZXNzaW9uX3JlcGxheSI6MCwid2lsX2ljb25fbWF4X2NvbmN1cnJlbnRfZmV0Y2hlcyI6OTk5OSwieXRjc2lfZGVidWdfbWF4X3NpemUiOjEwMCwieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiOjEsInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIjowLCJXZWJDbGllbnRSZWxlYXNlUHJvY2Vzc0NyaXRpY2FsX195b3V0dWJlX2VtYmVkc19jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsIldlYkNsaWVudFJlbGVhc2VQcm9jZXNzQ3JpdGljYWxfX3lvdXR1YmVfZW1iZWRzX3dlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsImRlYnVnX2ZvcmNlZF9pbnRlcm5hbGNvdW50cnljb2RlIjoiIiwiZW5hYmxlX3dlYl9tZWRpYV9zZXJ2aWNlIjoiRElTQUJMRUQiLCJpbF9wYXlsb2FkX3NjcmFwaW5nIjoiIiwibGl2ZV9jaGF0X3VuaWNvZGVfZW1vamlfanNvbl91cmwiOiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9lbW9qaXMvZW1vamlzLXN2Zy05Lmpzb24iLCJtd2ViX2RlZXBfbGlua19mZWF0dXJlX3RhZ19zdWZmaXgiOiI1MTgzMTYxNSIsIm13ZWJfZW5hYmxlX3Nob3J0c19pbm5lcnR1YmVfcGxheWVyX3ByZWZldGNoX3RyaWdnZXIiOiJOT05FIiwibXdlYl9mcF9kcGFkIjoiaG9tZSxzZWFyY2gsYnJvd3NlLGNoYW5uZWwsY3JlYXRlX2NoYW5uZWwsZXhwZXJpbWVudHMsc2V0dGluZ3MsdHJlbmRpbmcsb29wcyw0MDQscGFpZF9tZW1iZXJzaGlwcyxzcG9uc29yc2hpcCxwcmVtaXVtLHNob3J0cyIsIm13ZWJfZnBfZHBhZF9saW5lYXJfbmF2aWdhdGlvbiI6IiIsIm13ZWJfZnBfZHBhZF9saW5lYXJfbmF2aWdhdGlvbl92aXNpdG9yIjoiIiwibXdlYl9mcF9kcGFkX3Zpc2l0b3IiOiIiLCJtd2ViX3ByZWxvYWRfdmlkZW9fYnlfcGxheWVyX3ZhcnMiOiIiLCJwbGFjZV9waXZvdF90cmlnZ2VyaW5nX2NvbnRhaW5lcl9hbHRlcm5hdGUiOiIiLCJwbGFjZV9waXZvdF90cmlnZ2VyaW5nX2NvdW50ZXJmYWN0dWFsX2NvbnRhaW5lcl9hbHRlcm5hdGUiOiIiLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2ZvcmNlX25vdGlmaWNhdGlvbl9wcm9tcHRfdGFnIjoiMSIsInNlcnZpY2Vfd29ya2VyX3Njb3BlIjoiLyIsInN1Z2dlc3RfZXhwX3N0ciI6IiIsIndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsImVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfYWxsb3dlZF92aWRlb19pZHMiOlsiT0psd0lkb0Z6OUEiLCJBcktiQXgxSy0yVSIsIm1fZGhNU3ZVQ0ljIiwiQzFEaHBKMDdadUUiLCJOcTJ3WWxXRnVjZyIsIkpDN2YzRVVEYXF3IiwidnIzWHlWQ1I0VDAiLCJnQ05lRFdDSTB2byIsImtCVHVkbTRnZU1zIiwiRnhzZlZYNkIxTWsiLCJ5bFlKU0JVZ2FNQSIsIlZXaFE2eHNwblNjIiwiUkhVYXVNY1lsWDAiLCJjYjEyS21NTURKQSIsIldKeEVqX2hycFNnIiwiZXVoWS10bWc5eDgiLCJUbElWSTJFVzdSMCIsIk1JTmZ2T1g0QnpJIiwieUhtUFd6a2hjWjgiLCJwM3cxdk85WHYyNCIsIlZsYUNucDFmeEk4IiwiLU9mQTA0QkQ0R0EiLCIxb2RZM0lZc05ubyIsIndpVFRyVnFSVkR3IiwiRGZtMnJCLW5ROVkiLCJRbTFGdHo4bFZuSSIsIjlpdEF4cV9TR0RNIiwieUZJM3dwWHk0ekEiLCJQeTVKWVpYSnZ6byIsImI0dEU1YUtodGxnIiwiNUpEeGpzQVZhR2siLCJlVW1mR1BhenVFTSIsIlc4blRocTYyVmI0IiwiVkxqdlMzdWZsWGMiLCJCZmRMS3ZKQk1fYyIsIndlTFhkd1ZqU3hzIiwiMkphLXVQT2t6N0kiLCJBOVFCVkZFWXhPUSIsImstWkZRa2tIVWZjIiwid3V1MEQyMEFacUkiLCJfSHZpU3lDN3pTVSIsIl9feE96X1EzcVI0IiwidzJzQjg3akxFMUkiLCI4clRURU1kTWg4USIsIi1rNm1wZ214ZXJVIiwiOTdja25ySnlMV2ciLCIyRkl0Vnl4TE5OYyIsIm90bnhmY3NHRS1ZIiwiczl4TDFEcEJzZlEiLCJ3ZkFHQlZnVXJybyIsIm5YSDZUeFEtc2k4IiwiV2lJMVhnX25FdTgiLCIzZmxhc0dWVXJDQSIsImVEWV9IZTkybGNVIiwiYTQ3Y2tYS1pqeEkiLCJJNldSWGVLWks2NCIsIlQ5SjVEcVAyREt3IiwiS3RrX0kwcFVwRzgiLCJlUTJjekdxT0NQZyIsImhMbVU0OWhtWjRjIiwiN2Y3TWdhTUU3U2MiLCJRQjVCTmRCRnVqRSIsIkFHaHRNVV9maTcwIiwicDJSYVFVUlJBd0EiLCJtel9fRU1ZcFdQdyIsIjZqaEx1U1FWSXhVIiwickM4M3ZfdXVJcW8iLCI2RGFHZEpSX2VMZyIsImNtNDN1WGpmdlpZIiwiWTFKc1BwbTJibVEiLCJ6MDk3alB5S2VlbyIsIlRZVlpXVVRqa3gwIiwiVkhhQXZlbmZURGsiLCJ0djlPVV81UTBwUSIsIjZvS0N2em02SG1nIiwiQkVGVUVSaFQwbjAiLCJ1VE4tZXUwLU9YRSIsImhiYXByaFI3elRvIiwiMkNWMFYtb01ORk0iLCJ1OGRTT0tvTkpwMCIsIkg4TXFxd21Gc3hZIiwiSXNra21OUEpkVWsiLCJYOUhfRXpwREdYUSJdLCJrZXZsYXJfY29tbWFuZF9oYW5kbGVyX2NvbW1hbmRfYmFubGlzdCI6W10sIm1pbmlfYXBwX2lkc193aXRob3V0X2dhbWVfcmVhZHkiOlsiVWdreEhIdHNhazFTQzhtUkdITVpld2M0SHplQVkzeWhQUG1KIiwiVWdreDdPZ3pGcUU2el81TXRmNFlzb3RHZlFOSUkxREZfUkJtIl0sIndlYl9vcF9zaWduYWxfdHlwZV9iYW5saXN0IjpbXSwid2ViX3RyYWNpbmdfZW5hYmxlZF9zcGFucyI6WyJldmVudCIsImNvbW1hbmQiXX0sIkdBUElfSElOVF9QQVJBTVMiOiJtOy9fL3Njcy9hYmMtc3RhdGljL18vanMva1x1MDAzZGdhcGkuZ2FwaS5lbi41NF9IRHZlT3RrUS5PL2RcdTAwM2QxL3JzXHUwMDNkQUhwT29vOVF1Zk9kUFlUUmtiVEphZFRXNnNtc3hsV0xNdy9tXHUwMDNkX19mZWF0dXJlc19fIiwiR0FQSV9IT1NUIjoiaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20iLCJHQVBJX0xPQ0FMRSI6ImVuX1VTIiwiR0wiOiJOTyIsIkhMIjoiZW4iLCJIVE1MX0RJUiI6Imx0ciIsIkhUTUxfTEFORyI6ImVuIiwiSU5ORVJUVUJFX0FQSV9LRVkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJJTk5FUlRVQkVfQVBJX1ZFUlNJT04iOiJ2MSIsIklOTkVSVFVCRV9DTElFTlRfTkFNRSI6IldFQl9FTUJFRERFRF9QTEFZRVIiLCJJTk5FUlRVQkVfQ0xJRU5UX1ZFUlNJT04iOiIyLjIwMjYwNzI0LjAxLjAwIiwiSU5ORVJUVUJFX0NPTlRFWFQiOnsiY2xpZW50Ijp7ImhsIjoiZW4iLCJnbCI6Ik5PIiwicmVtb3RlSG9zdCI6IjE5NS42NC4xMTguMTUyIiwiZGV2aWNlTWFrZSI6IiIsImRldmljZU1vZGVsIjoiIiwidmlzaXRvckRhdGEiOiJDZ3R3TUhvMVpHTktUV1Z1WnlqZDE1dlRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ0VtTGZBZ3JjQWpJd0xsbFVQVk5TYTBKVFVrbGlibWRZTVZWek5IWkZTR1puZFRkVmVrVkdNa2xKYm5oNVRFTnBUWEp6VFVkek9URnRRM0ZNVjA5bGVEazFaRjgyTFhNMWMxUjNWbFJrZEVsblVXOUdRMlpOU21OdU9ESXhXV3N6VlRKVGNFRkZORjlLZEZkQlVVVkJVSFZqZVZaU1RrMXJZbXcwV1ROdFlWQnNSVWg0VG14NVgyRjViMGxNTjI1U2RHRkVOR1ppUVhwUVVGUlRaMFJyY1dGeVdEaFJXalJxV0ZCYWNqVkNMVmxKWVZWTU9FeENOVzlpVERkVVUxTm5RWGx1Ykc1clZWUnlaRmRpZUhRMGJGUjFhRzVEYmtoa05VdG9TVXRXTVdOQ1dVSnBRbVppT1V0eWJqZHRNVTlVV0cxcFRtOVZlRmxPYzB3MVQzTkRhMlpNTjJoa1EybDVkVTl2Y25JNFZIWmhNRVE1VTBadllWcEhkMmxCVkdWd1RYcFVNV1Y1WmpSalpsRm9lRzl5V1dzd1dXUlRZMWhOWVhGRFUwOXZSMDAzTUhReldIaHljVXN4VFhKVFMwTTJTSEJmTjBWM1UydHVXRWd0Y2pCeVkydEVadyUzRCUzRCIsInVzZXJBZ2VudCI6Ik1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQ7IHJ2OjEzNC4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzEzNC4wLGd6aXAoZ2ZlKSIsImNsaWVudE5hbWUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiY2xpZW50VmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJvc05hbWUiOiJXaW5kb3dzIiwib3NWZXJzaW9uIjoiMTAuMCIsIm9yaWdpbmFsVXJsIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvSDdPaVpPXzlhaEUiLCJwbGF0Zm9ybSI6IkRFU0tUT1AiLCJjbGllbnRGb3JtRmFjdG9yIjoiVU5LTk9XTl9GT1JNX0ZBQ1RPUiIsImNvbmZpZ0luZm8iOnsiYXBwSW5zdGFsbERhdGEiOiJDTjNYbTlNR0VMYjRnQk1RanBEUkhCQ1pqYkVGRUw2RTBSd1E0TGZSSEJESy00QVRFUGIzMFJ3UXVPVE9IQkNIck00Y0VMMjJyZ1VRcnRiUEhCQ0o1TkVjRUx5azBCd1FpNGU0SWhBQUVONjh6aHdRNmZqUkhCQ0J6YzRjRU16ZnJnVVE4TjdSSEJEQmo5QWNFT0RxMFJ3UWlKRFJIQkMtaXJBRkVQYXJzQVVRLU1TQUV4RHh0TkFjRUoyR3VDSVF5ZmFBRXhDTDk4OGNFSl9QZ0JNUXE1SFJIQkNrcWRFY0VQeXl6aHdRbmRDd0JSQ1c3OUVjRU5yM3pod1Eyb1hRSEJDRzRZQVRFUG55MFJ3UWc0ZTRJaENKc000Y0VMancwUndRc0liUEhCQzltYkFGRVBUcDBSd1FvX3pSSEJDTGg5SWNLbXhEUVUxVFZGSldUeTFhY1MxRVRXVlZSWEJWUTI1Qk56VkdXRXRxUW5WRlYzRk9WVkI1UVUxTmRrRmlYMFJsVVVjd1RHNXdRM3BMWjNKQlVVUnJTelJFTFhsaE1qVkJZbXRvVW1aUmVrRmlSV3RuV0V4UVkxVnVNbVJWUmpORGVtMVNkRmQxTjNnM1lrSm9NRWd3QUElM0QlM0QifSwiYnJvd3Nlck5hbWUiOiJGaXJlZm94IiwiYnJvd3NlclZlcnNpb24iOiIxMzQuMCIsImFjY2VwdEhlYWRlciI6InRleHQvaHRtbCxhcHBsaWNhdGlvbi94aHRtbCt4bWwsYXBwbGljYXRpb24veG1sO3FcdTAwM2QwLjksKi8qO3FcdTAwM2QwLjgiLCJkZXZpY2VFeHBlcmltZW50SWQiOiJDaHhPZWxreVRucEJNMDVFWXpGTlZFVXdUMVJCZWsxNlozcFBVVDA5RU4zWG05TUdHTjNYbTlNRyIsInJvbGxvdXRUb2tlbiI6IkNKSHMyLXljNF9pSFN4Q3M5WWFral9LVkF4aXM5WWFral9LVkF3JTNEJTNEIn0sInVzZXIiOnsibG9ja2VkU2FmZXR5TW9kZSI6ZmFsc2V9LCJyZXF1ZXN0Ijp7InVzZVNzbCI6dHJ1ZX0sImNsaWNrVHJhY2tpbmciOnsiY2xpY2tUcmFja2luZ1BhcmFtcyI6IkloTUk4N2FHcEkveWxRTVZyKzNLQUIxK0JBM0wifSwidGhpcmRQYXJ0eSI6eyJlbWJlZGRlZFBsYXllckNvbnRleHQiOnsiZW1iZWRkZWRQbGF5ZXJFbmNyeXB0ZWRDb250ZXh0IjoiQUNtYmxCWGJIcmgxMUR5YmRiSGt3T2g1TU45dnNhQk9XUXRIRm1kQjR0aHNicmNMUDVydmpGS1RGWGNfbTBNTXZha2hNSFc4X0g5LWEyWTBTVWViY1dRQ21zSzNqQnR4Ui1xMWNkV3RyVTU4U0pPa1pwbGo0Z0NsbEdLZ045T19qWTVLbEdKSnFhcUoiLCJhbmNlc3Rvck9yaWdpbnNTdXBwb3J0ZWQiOmZhbHNlfX19LCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSI6NTYsIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIjoiMi4yMDI2MDcyNC4wMS4wMCIsIklOTkVSVFVCRV9DT05URVhUX0dMIjoiTk8iLCJJTk5FUlRVQkVfQ09OVEVYVF9ITCI6ImVuIiwiTEFURVNUX0VDQVRDSEVSX1NFUlZJQ0VfVFJBQ0tJTkdfUEFSQU1TIjp7ImNsaWVudC5uYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImNsaWVudC5qc2ZlYXQiOiIyMDIxIn0sIkxPR0dFRF9JTiI6ZmFsc2UsIlBBR0VfQlVJTERfTEFCRUwiOiJ5b3V0dWJlLmVtYmVkcy53ZWJfMjAyNjA3MjRfMDFfUkMwMCIsIlBBR0VfQ0wiOjk1MzIwNjAxMCwiU0VSVkVSX05BTUUiOiJXZWJGRSIsIlZJU0lUT1JfREFUQSI6IkNndHdNSG8xWkdOS1RXVnVaeWpkMTV2VEJqSW9DZ0pPVHhJaUVoNFNIQXNNRGc4UUVSSVRGQlVXRnhnWkdoc2NIUjRmSUNFaUl5UWxKaWNnRW1MZkFncmNBakl3TGxsVVBWTlNhMEpUVWtsaWJtZFlNVlZ6TkhaRlNHWm5kVGRWZWtWR01rbEpibmg1VEVOcFRYSnpUVWR6T1RGdFEzRk1WMDlsZURrMVpGODJMWE0xYzFSM1ZsUmtkRWxuVVc5R1EyWk5TbU51T0RJeFdXc3pWVEpUY0VGRk5GOUtkRmRCVVVWQlVIVmplVlpTVGsxclltdzBXVE50WVZCc1JVaDRUbXg1WDJGNWIwbE1OMjVTZEdGRU5HWmlRWHBRVUZSVFowUnJjV0Z5V0RoUldqUnFXRkJhY2pWQ0xWbEpZVlZNT0V4Q05XOWlURGRVVTFOblFYbHViRzVyVlZSeVpGZGllSFEwYkZSMWFHNURia2hrTlV0b1NVdFdNV05DV1VKcFFtWmlPVXR5YmpkdE1VOVVXRzFwVG05VmVGbE9jMHcxVDNORGEyWk1OMmhrUTJsNWRVOXZjbkk0VkhaaE1FUTVVMFp2WVZwSGQybEJWR1Z3VFhwVU1XVjVaalJqWmxGb2VHOXlXV3N3V1dSVFkxaE5ZWEZEVTA5dlIwMDNNSFF6V0hoeWNVc3hUWEpUUzBNMlNIQmZOMFYzVTJ0dVdFZ3RjakJ5WTJ0RVp3JTNEJTNEIiwiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR1MiOnsiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9FTUJFRERFRF9QTEFZRVIiOnsicm9vdEVsZW1lbnRJZCI6Im1vdmllX3BsYXllciIsImpzVXJsIjoiL3MvcGxheWVyLzdhNzk2OWMyL3BsYXllcl9lbWJlZF9lczYudmZsc2V0L2VuX1VTL2Jhc2UuanMiLCJjc3NVcmwiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvd3d3LXBsYXllci5jc3MiLCJjb250ZXh0SWQiOiJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUiIsImV2ZW50TGFiZWwiOiJlbWJlZGRlZCIsImNvbnRlbnRSZWdpb24iOiJOTyIsImhsIjoiZW5fVVMiLCJob3N0TGFuZ3VhZ2UiOiJlbiIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDI2MDcyNC4wMS4wMCIsImRldmljZSI6eyJicmFuZCI6IiIsIm1vZGVsIjoiIiwiYnJvd3NlciI6IkZpcmVmb3giLCJicm93c2VyVmVyc2lvbiI6IjEzNC4wIiwib3MiOiJXaW5kb3dzIiwib3NWZXJzaW9uIjoiMTAuMCIsInBsYXRmb3JtIjoiREVTS1RPUCIsImludGVyZmFjZU5hbWUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAifSwic2VyaWFsaXplZEV4cGVyaW1lbnRJZHMiOiIyNDAwNDY0NCw1MTA2MzY0Myw1MTA5ODI5OSw1MTIyMjk3Myw1MTM0MDY2Miw1MTM0OTkxNCw1MTM1MzM5Myw1MTM2NjQyMyw1MTM4OTYyOSw1MTQ1OTQyNSw1MTQ5MDMzMSw1MTQ5MzIwOCw1MTUwNTQzNiw1MTUzMDQ5NSw1MTUzNDY2OSw1MTU2NTExNiw1MTU4MzgyMSw1MTYwNTI1OCw1MTYwOTgyOSw1MTYxOTQ5OSw1MTYyMjg0NSw1MTYyNDAzNiw1MTYzODkzMiw1MTY0ODMzNiw1MTY3MjE2Miw1MTY4MTY2Miw1MTY4MzUwMiw1MTcyOTIxNyw1MTc0MjM3Nyw1MTc0MjgyOCw1MTc3ODMzOSw1MTc5ODkyOCw1MTgwMzEyOCw1MTgwMzU4Niw1MTgzMzI0MSw1MTg0MjQyMiw1MTg1NzgzOCw1MTg1NzkyMCw1MTg4Nzg4MCw1MTg5NTQwNSw1MTg5NTc3MSw1MTkwMTQzNyw1MTkwMjYwNSw1MTkwMjk3Nyw1MTkxMDczNSw1MTkyNzE4OCw1MTkyNzM2MCw1MTkzNjIyOCw1MTkzOTcwMyw1MTk0NTA1Niw1MTk1NDkyMiw1MTk1NjUxOCw1MTk1NzQ0Niw1MTk1OTY5NCw1MTk1OTgwOSw1MTk1OTg4MCw1MTk1OTk2Nyw1MTk2NjM4Myw1MTk2ODA4NCw1MTk3MTc3Niw1MTk4MzM2NSw1MTk4NDcxNyw1MTk4NDgyNyw1MTk4NTU4MCw1MTk5NzE4Niw1MjAwMjgwNiw1MjAxMjUyMyw1MjAxMzkzOCw1MjAxNjEzNiw1MjAyMDAzMiw1MjAyMjQ4Nyw1MjAyMzMzMiw1MjAyNDIxNyw1MjAyNjE5NCw1MjAyNjgxNCw1MjAyNzA5OCw1MjAyNzc1MSw1MjAyNzc1Myw1MjAzNTY0NCw1MjAzNjkzOSw1MjA0MzIyNyw1MjA0NjUxOCw1MjA0NzE0Niw1MjA0NzY4NSw1MjA0NzY4Nyw1MjA0NzY5MSw1MjA1NjUwMyw1MjA1OTk4NSw1MjA2NDEzNSw1MjA2NTU5MCw1MjA2OTkwMiw1MjA3Mzk2Myw1MjA3NTkyMiw1MjA3NjcwNSw1MjA3ODYzMyIsInNlcmlhbGl6ZWRFeHBlcmltZW50RmxhZ3MiOiJINV9hc3luY19sb2dnaW5nX2RlbGF5X21zXHUwMDNkMzAwMDAuMFx1MDAyNmExMXlfaDVfYXNzb2NpYXRlX3N1cnZleV9xdWVzdGlvblx1MDAzZHRydWVcdTAwMjZhYl9kZXRfYXBiX2JcdTAwM2R0cnVlXHUwMDI2YWJfZGV0X2FwbVx1MDAzZHRydWVcdTAwMjZhYl9kZXRfZWxfaFx1MDAzZHRydWVcdTAwMjZhY3Rpb25fY29tcGFuaW9uX2NlbnRlcl9hbGlnbl9kZXNjcmlwdGlvblx1MDAzZHRydWVcdTAwMjZhZF9wb2RfZGlzYWJsZV9jb21wYW5pb25fcGVyc2lzdF9hZHNfcXVhbGl0eVx1MDAzZHRydWVcdTAwMjZhbGxvd19hdXRvaGlkZV9vbl9wYXVzZWRfdmlkZW9zXHUwMDNkdHJ1ZVx1MDAyNmFsbG93X2RybV9vdmVycmlkZVx1MDAzZHRydWVcdTAwMjZhbGxvd19saXZlX2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmFsbG93X3BvbHRlcmd1c3RfYXV0b3BsYXlcdTAwM2R0cnVlXHUwMDI2YWxsb3dfc2tpcF9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZhbGxvd192cDlfMTA4MHBfbXFfZW5jXHUwMDNkdHJ1ZVx1MDAyNmFsd2F5c19jYWNoZV9yZWRpcmVjdF9lbmRwb2ludFx1MDAzZHRydWVcdTAwMjZhbHdheXNfc2VuZF9hbmRfd3JpdGVcdTAwM2R0cnVlXHUwMDI2YW5ub3RhdGlvbl9tb2R1bGVfdmFzdF9jYXJkc19sb2FkX2xvZ2dpbmdfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZhc3NpZ25fZHJtX2ZhbWlseV9ieV9mb3JtYXRcdTAwM2R0cnVlXHUwMDI2YXR0X3dlYl9yZWNvcmRfbWV0cmljc1x1MDAzZHRydWVcdTAwMjZhdHRhY2hfZXhwZXJpbWVudF9wcm9wYWdhdGlvbl9jb250ZXh0X3RvX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZhdHRtdXNpXHUwMDNkdHJ1ZVx1MDAyNmF1dG9wbGF5X3RpbWVcdTAwM2QxMDAwMFx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX2Z1bGxzY3JlZW5cdTAwM2QtMVx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnRcdTAwM2QtMVx1MDAyNmJnX3ZtX3JlaW5pdF90aHJlc2hvbGRcdTAwM2Q3MjAwMDAwXHUwMDI2YmxvY2tfdHZodG1sNV9zaW1wbHlfZW1iZWRkZWRcdTAwM2R0cnVlXHUwMDI2YmxvY2tlZF9wYWNrYWdlc19mb3Jfc3BzXHUwMDNkW11cdTAwMjZib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zXHUwMDNkMzAwMFx1MDAyNmJ5cGFzc19saWNlbnNlX2NoZWNrX2Zvcl9pbmxpbmVfbXV0ZWRcdTAwM2R0cnVlXHUwMDI2Y2FwdGlvbnNfdXJsX2FkZF9laVx1MDAzZHRydWVcdTAwMjZjaGVja19uYXZpZ2F0b3JfYWNjdXJhY3lfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZjaGVja19wbGF5YWJpbGl0eV9zdGF0dXNfaW5fZmlsbGVyc1x1MDAzZHRydWVcdTAwMjZjbGllbnRfdWlfZW5hYmxlX211bHRpX3RyYWNrX2F1ZGlvX29uX3dlYl9lbWJlZGRlZF9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2Y29tcHJlc3Npb25fZGlzYWJsZV9wb2ludFx1MDAzZDEwXHUwMDI2Y293X29wdGltaXplX2lkb21fY29tcGF0XHUwMDNkdHJ1ZVx1MDAyNmNzaV9vbl9nZWxcdTAwM2R0cnVlXHUwMDI2Y3VzdG9tX2FjdGl2ZV92aWV3X3Rvc190aW1lb3V0X21zXHUwMDNkMzYwMDAwMFx1MDAyNmRhc2hfbWFuaWZlc3RfdmVyc2lvblx1MDAzZDVcdTAwMjZkZWJ1Z19iYW5kYWlkX2hvc3RuYW1lXHUwMDNkXHUwMDI2ZGVidWdfYmFuZGFpZF9wb3J0XHUwMDNkMFx1MDAyNmRlYnVnX3NoZXJsb2dfdXNlcm5hbWVcdTAwM2RcdTAwMjZkZWR1cHBpbmdfc2VydmVyX3ZlXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX2Zhc3RfZm9sbG93X2F1dG9uYXZfdG9nZ2xlXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfZGVmYXVsdF90aHVtYm5haWxfcGVyY2VudGFnZVx1MDAzZDAuMFx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfZmFzdGVyX2F1dG9oaWRlX2RlbGF5X21zXHUwMDNkMjAwMFx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfcGF1c2VfdGh1bWJuYWlsX3BlcmNlbnRhZ2VcdTAwM2QwLjZcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9ibGVuZGluZ19tb2RlXHUwMDNkXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfZGlzYWJsZV9mcm9zdGVkX2dsYXNzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2hvcml6b250YWxfdm9sdW1lX2NvbnRyb2xzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2xoc192b2x1bWVfY29udHJvbHNcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfcmVzcG9uc2l2ZV9jb21wYWN0X2NvbnRyb2xzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZkZXByZWNhdGVfY2FwdGlvbnNfdHJhY2tfY291bnRfZGlzcGxheVx1MDAzZHRydWVcdTAwMjZkZXByZWNhdGVfZGVsYXlfcGluZ1x1MDAzZHRydWVcdTAwMjZkZXByZWNhdGVfcGFpcl9zZXJ2bGV0X2VuYWJsZWRcdTAwM2R0cnVlXHUwMDI2ZGVza3RvcF9zcGFya2xlc19saWdodF9jdGFfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfYXYxX3NldHRpbmdcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9jaGlsZF9ub2RlX2F1dG9fZm9ybWF0dGVkX3N0cmluZ3NcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9saWZhX2luXzJrXzRrXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfbG9nX3RvX3Zpc2l0b3JfbGF5ZXJcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9wYWNmX2xvZ2dpbmdfZm9yX21lbW9yeV9saW1pdGVkX3R2XHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcmVkdWNlZF9mdWxsc2NyZWVuX2F1dG9wbGF5X2NvdW50ZG93bl9mb3JfbWlub3JzXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcmVlbF9pdGVtX3dhdGNoX2Zvcm1hdF9maWx0ZXJpbmdcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV90b3VjaF9ldmVudHNfb25fc2tpcF9idXR0b25cdTAwM2R0cnVlXHUwMDI2ZHVyYXRpb25fYmVmb3JlX3BhdXNlX2FkX2JyZWFrX21zX2Zvcl9zeXN0ZW1fcGF1c2VcdTAwM2Q1MDAwXHUwMDI2ZWRnZV9lbmNyeXB0aW9uX2ZpbGxfcHJpbWFyeV9rZXlfdmVyc2lvblx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZGVza3RvZmZfZW5hYmxlX2Fkc190b3BfYmFyXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfY2hhbm5lbF9zdWJzY3JpYmVfZGVwcmVjYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9lbWJlZF9jb25maWdfZm9yX211dGVkX2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfaW5uZXJ0dWJlX3N0b3JlXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfbW92ZV9zZXRfY2VudGVyX2Nyb3BfdG9fcHVibGljXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfcGVyX3ZpZGVvX2VtYmVkX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZlbWJlZHNfd2ViX2xpdGVfbW9kZVx1MDAzZDFcdTAwMjZlbmFibGVfYTExeV9mb2N1c19maXhfZm9yX21hY19wYW5lbF9vbl9kZXNrdG9wXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hYmFuZG9uX3BpbmdfZm9yX3NzZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY2Nlc3NfY29kZV9zZXJ2aWNlX3JwY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWNpX29uX2xyX2ZlZWRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld19kaXNwbGF5X2FkX3JlbmRlcmVyX3dlYl9ob21lXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld19scl9zaG9ydHNfdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjdGl2ZV92aWV3X213ZWJfc2hvcnRzX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld193ZWJfc2hvcnRzX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hZF9jcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWRfZGlzY2xvc3VyZV9iYW5uZXJfYTExeV9maXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FudGlzY3JhcGluZ193ZWJfcGxheWVyX2V4cGlyZWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FwcF9wcm9tb19lbmRjYXBfZW1sX29uX3RhYmxldFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXR0ZW50aW9uX2xvZ2dpbmdfbWVhc3VyZV9vbl9zaG93blx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXVfdTE2X3ZlcmlmeV9hZ2VfcGFnZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVja1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYmF0Y2hlZF9jcm9zc19kZXZpY2VfcGluZ3NfaW5fZ2VsX2Zhbm91dFx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2FwYWJpbGl0eV9mb3JtYXRfZmlsdGVyX2luX3dhdGNoX3NlcnZlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2FzdF9mb3Jfd2ViX3VucGx1Z2dlZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2VudGVyZWRfY2FwdGlvbl9mb3JfdHZmaWxtX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jaXBoZXJfZm9yX21hbmlmZXN0X3VybHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsZWFudXBfbWFzdGhlYWRfYXV0b3BsYXlfaGFja19maXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF9wYWdlX2lkX2hlYWRlcl9mb3JfZmlyc3RfcGFydHlfcGluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF9zbGlfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xpZW50X3ZlX3NwZWNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2N0YV9iYW5uZXJfb25fdW5wbHVnZ2VkX2xyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jdXN0b21fcGxheWhlYWRfcGFyc2luZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kYWlfc2RmX2g1X3ByZXJvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RhdGFzeW5jX2lkX2hlYWRlcl9pbl93ZWJfdnNzX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kZWZhdWx0X21vbm9fY3RhX21pZ3JhdGlvbl93ZWJfY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kc2FfYWRfYmFkZ2VfZm9yX2FjdGlvbl9lbmRjYXBfb25fYW5kcm9pZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZHNhX2FkX2JhZGdlX2Zvcl9hY3Rpb25fZW5kY2FwX29uX2lvc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfZW50aXR5X3N0b3JlX2Zyb21fZGVwZW5kZW5jeV9pbmplY3Rpb25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2Vycm9yX2NvcnJlY3Rpb25zX2luZm9jYXJkX3dlYl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2Vycm9yX2NvcnJlY3Rpb25zX2luZm9jYXJkc19pY29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfZ2V0X3JlbWluZGVyX2J1dHRvbl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfbHRjX3BhcmFtX2ZldGNoX2Zyb21faW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX21vZGVybl9za2lwX2J1dHRvbl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX213ZWJfYXVkaW9fdHJhY2tfcGlja2VyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0c1x1MDAzZHRydWVcdTAwMjZlbmFibGVfbmV3X3BhaWRfcHJvZHVjdF9wbGFjZW1lbnRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX29wZW5faW5fbmV3X3RhYl9pY29uX2Zvcl9zaG9ydF9kcl9mb3JfZGVza3RvcF9zZWFyY2hcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX291dF9vZl9zdG9ja190ZXh0X2FsbF9zdXJmYWNlc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wYXVzZV9hZHNfb25feXR2X2h0bWw1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wbGF5ZXJfY2FwdGlvbnNfcGVyc2lzdGVuY2Vfc3RhdGVfbWFjaGluZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfcG9fZGVjb3JhdGlvbl9vZl9mb3JjZWRfdHJhY2tzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wb2xpY3lfYmFzZWRfaHFhX2ZpbHRlcl9pbl93YXRjaF9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Byb2dyZXNfY29tbWFuZHNfbHJfZmVlZHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Byb2dyZXNzX2NvbW1hbmRzX2VsX2RhaVx1MDAzZHRydWVcdTAwMjZlbmFibGVfcHJvZ3Jlc3NfY29tbWFuZHNfbHJfc2hvcnRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wdWJsaXNoaW5nX3JlZ2lvbl9wYXJhbV9pbl9zdXNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3B2X3NjcmVlbl9tb2Rlcm5fdGV4dFx1MDAzZHRydWVcdTAwMjZlbmFibGVfcnByX3Rva2VuX29uX2x0bF9sb29rdXBcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NjcmVlbl9tYW5hZ2VyX2xheWVyX3NlcGFyYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9jb21wYW5pb25faDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9kYWlfaDVfbWlkcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX2g1X2VuZGVtaWNfbWlkX3Bvc3Rfcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX29uX2g1X3VucGx1Z2dlZF92b2RfbWlkcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX3Nob3J0c19wbGF5ZXJfYnl0ZXNfaDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fYWJyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX2Ficl9mb3JfYmFja2dyb3VuZGFibGVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fYWJyX3VybF9nZW5lcmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX3JlYWRhaGVhZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2tpcF9hZF9ndWlkYW5jZV9wcm9tcHRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NraXBfdG9fbmV4dF9tZXNzYWdpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NraXBwYWJsZV9hZHNfZm9yX3VucGx1Z2dlZF9hZF9wb2RcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtYXJ0X3NraXBfcGxheWVyX2NvbnRyb2xzX3Nob3duX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21hcnRfc2tpcF9wbGF5ZXJfY29udHJvbHNfc2hvd25fb25fd2ViX2luY3JlYXNlZF90cmlnZ2VyaW5nX3NlbnNpdGl2aXR5XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWFydF9za2lwX3NwZWVkbWFzdGVyX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21lYXJpbmdfZXhwYW5zaW9uX2RhaVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc3BsaXRfc2NyZWVuX2FkX2Jhc2VsaW5lX2V4cGVyaWVuY2VfZW5kZW1pY19saXZlX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zdWJmcmFnbWVudGVkX2NhcHRpb25fZmlsdGVyaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zdXBleF9td2ViX2RlbW9fd2ViZmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3RvX2NhbGxfcGxheXJlYWR5X2JhY2tlbmRfZGlyZWN0bHlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3VuaWZpZWRfYWN0aW9uX2VuZGNhcF9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Zlbm9tX25vdGlmaWNhdGlvbl9jYWNoZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbl9ncm91cF9mb3JfZGVza3RvcF9zZWFyY2hcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3ZvaWNlX2Jvb3N0X2ZlYXR1cmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3ZwOV9hcHBsZXR2NV9vbl9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9kZWxoaV9pY29uc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX2hvbWVfdG9wX2xhbmRzY2FwZV9pbWFnZV9sYXlvdXRfbGV2ZWxfY2xpY2tcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9tZWRpYV9zZXNzaW9uX21ldGFkYXRhX2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX3ByZW1pdW1fdmFyaXNwZWVkX3Vwc2VsbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX3Nob3J0c19hdWRpb190cmFja1x1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX3RpZXJlZF9nZWxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dpel9xdWV1ZV9lZmZlY3RfYW5kX29uX2luaXRfaW5pdGlhbF9ydW5zXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV95dF9hdGFfaWZyYW1lX2F1dGh1c2VyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV95dHZfY3NkYWlfdnA5XHUwMDNkdHJ1ZVx1MDAyNmVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfYWxsb3dlZF92aWRlb19pZHNcdTAwM2RbT0psd0lkb0Z6OUEsIEFyS2JBeDFLLTJVLCBtX2RoTVN2VUNJYywgQzFEaHBKMDdadUUsIE5xMndZbFdGdWNnLCBKQzdmM0VVRGFxdywgdnIzWHlWQ1I0VDAsIGdDTmVEV0NJMHZvLCBrQlR1ZG00Z2VNcywgRnhzZlZYNkIxTWssIHlsWUpTQlVnYU1BLCBWV2hRNnhzcG5TYywgUkhVYXVNY1lsWDAsIGNiMTJLbU1NREpBLCBXSnhFal9ocnBTZywgZXVoWS10bWc5eDgsIFRsSVZJMkVXN1IwLCBNSU5mdk9YNEJ6SSwgeUhtUFd6a2hjWjgsIHAzdzF2TzlYdjI0LCBWbGFDbnAxZnhJOCwgLU9mQTA0QkQ0R0EsIDFvZFkzSVlzTm5vLCB3aVRUclZxUlZEdywgRGZtMnJCLW5ROVksIFFtMUZ0ejhsVm5JLCA5aXRBeHFfU0dETSwgeUZJM3dwWHk0ekEsIFB5NUpZWlhKdnpvLCBiNHRFNWFLaHRsZywgNUpEeGpzQVZhR2ssIGVVbWZHUGF6dUVNLCBXOG5UaHE2MlZiNCwgVkxqdlMzdWZsWGMsIEJmZExLdkpCTV9jLCB3ZUxYZHdWalN4cywgMkphLXVQT2t6N0ksIEE5UUJWRkVZeE9RLCBrLVpGUWtrSFVmYywgd3V1MEQyMEFacUksIF9IdmlTeUM3elNVLCBfX3hPel9RM3FSNCwgdzJzQjg3akxFMUksIDhyVFRFTWRNaDhRLCAtazZtcGdteGVyVSwgOTdja25ySnlMV2csIDJGSXRWeXhMTk5jLCBvdG54ZmNzR0UtWSwgczl4TDFEcEJzZlEsIHdmQUdCVmdVcnJvLCBuWEg2VHhRLXNpOCwgV2lJMVhnX25FdTgsIDNmbGFzR1ZVckNBLCBlRFlfSGU5MmxjVSwgYTQ3Y2tYS1pqeEksIEk2V1JYZUtaSzY0LCBUOUo1RHFQMkRLdywgS3RrX0kwcFVwRzgsIGVRMmN6R3FPQ1BnLCBoTG1VNDlobVo0YywgN2Y3TWdhTUU3U2MsIFFCNUJOZEJGdWpFLCBBR2h0TVVfZmk3MCwgcDJSYVFVUlJBd0EsIG16X19FTVlwV1B3LCA2amhMdVNRVkl4VSwgckM4M3ZfdXVJcW8sIDZEYUdkSlJfZUxnLCBjbTQzdVhqZnZaWSwgWTFKc1BwbTJibVEsIHowOTdqUHlLZWVvLCBUWVZaV1VUamt4MCwgVkhhQXZlbmZURGssIHR2OU9VXzVRMHBRLCA2b0tDdnptNkhtZywgQkVGVUVSaFQwbjAsIHVUTi1ldTAtT1hFLCBoYmFwcmhSN3pUbywgMkNWMFYtb01ORk0sIHU4ZFNPS29OSnAwLCBIOE1xcXdtRnN4WSwgSXNra21OUEpkVWssIFg5SF9FenBER1hRXVx1MDAyNmVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfbWF4X3dpbmRvd19zZWNvbmRzXHUwMDNkNjBcdTAwMjZleHBhbmRfbWVkaWF0ZWtfZGVueWxpc3RfdG9fYWxsX2xpdmVfdnA5X2luX2JhY2tlbmRfZXhwZXJpbWVudFx1MDAzZFtdXHUwMDI2ZXhwb3J0X25ldHdvcmtsZXNzX29wdGlvbnNcdTAwM2R0cnVlXHUwMDI2ZXhwb3J0X3BsYXllcl92ZXJzaW9uX3RvX3l0Y29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmZpbGxfYWRzX3VzdHJlYW1lcl9jb25maWdcdTAwM2R0cnVlXHUwMDI2ZmlsbF9saXZlX3JlcXVlc3RfY29uZmlnX2luX3VzdHJlYW1lcl9jb25maWdcdTAwM2R0cnVlXHUwMDI2ZmlsbF9zaW5nbGVfdmlkZW9fd2l0aF9ub3RpZnlfdG9fbGFzclx1MDAzZHRydWVcdTAwMjZmaWx0ZXJfdmJfd2l0aG91dF9ub25fdmJfZXF1aXZhbGVudHNcdTAwM2R0cnVlXHUwMDI2ZmlsdGVyX3ZwOV9mb3JfbGl2ZV9kYWlcdTAwM2R0cnVlXHUwMDI2Zml4X2FkX21pbmlwbGF5ZXJfY29udHJvbHNfcmVuZGVyaW5nXHUwMDNkdHJ1ZVx1MDAyNmZpeF9hZHNfdHJhY2tpbmdfZm9yX3N3Zl9jb25maWdfZGVwcmVjYXRpb25fbXdlYlx1MDAzZHRydWVcdTAwMjZmaXhfaDVfdG9nZ2xlX2J1dHRvbl9hMTF5XHUwMDNkdHJ1ZVx1MDAyNmZpeF9zdXJ2ZXlfY29sb3JfY29udHJhc3Rfb25fZGVzdG9wXHUwMDNkdHJ1ZVx1MDAyNmZyZXNjYV9wb2xsaW5nX2RlbGF5X292ZXJyaWRlXHUwMDNkMFx1MDAyNmdhYl9yZXR1cm5fc2Ficl9zc2RhaV9jb25maWdcdTAwM2R0cnVlXHUwMDI2Z2VsX21pbl9iYXRjaF9zaXplXHUwMDNkM1x1MDAyNmdlbF9xdWV1ZV90aW1lb3V0X21heF9tc1x1MDAzZDYwMDAwXHUwMDI2Z3ZpX2NoYW5uZWxfY2xpZW50X3NjcmVlblx1MDAzZHRydWVcdTAwMjZoNV9jb21wYW5pb25fZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3NcdTAwM2R0cnVlXHUwMDI2aDVfZW5hYmxlX2FkX21ic1x1MDAzZHRydWVcdTAwMjZoNV9pbnBsYXllcl9lbmFibGVfYWRjcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5nc1x1MDAzZHRydWVcdTAwMjZoNV9yZXNldF9jYWNoZV9hbmRfZmlsdGVyX2JlZm9yZV91cGRhdGVfbWFzdGhlYWRcdTAwM2R0cnVlXHUwMDI2aDVfemVyb19kdXJhdGlvbl9jdWVfcmFuZ2VfZm9yX2RpYnNcdTAwM2R0cnVlXHUwMDI2aGZyX2Ryb3BwZWRfZnJhbWVyYXRlX2ZhbGxiYWNrX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZoaWdoX2Njdl9jbGllbnRfc2lkZV9jYWNoaW5nX2g1XHUwMDNkdHJ1ZVx1MDAyNmhsc191c2VfbmV3X2NvZGVjc19zdHJpbmdfYXBpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FkX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfYWRhcHRhdGlvbl9zdGVwX2NvdW50XHUwMDNkMFx1MDAyNmh0bWw1X2Fkc19wcmVyb2xsX2xvY2tfdGltZW91dF9kZWxheV9tc1x1MDAzZDE1MDAwXHUwMDI2aHRtbDVfYWxsb3dfbXVsdGl2aWV3X3RpbGVfcHJlbG9hZFx1MDAzZHRydWVcdTAwMjZodG1sNV9hbGxvd19wcmVsb2FkaW5nX3dpdGhfaWRsZV9vbmx5X25ldHdvcmtfZm9yX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYWxsb3dfdmlkZW9fa2V5ZnJhbWVfd2l0aG91dF9hdWRpb1x1MDAzZHRydWVcdTAwMjZodG1sNV9hcHBseV9jb25zdHJhaW50c19pbl9jbGllbnRfZm9yX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXBwbHlfbWluX2ZhaWx1cmVzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FwcGx5X3N0YXJ0X3RpbWVfd2l0aGluX2Fkc19mb3Jfc3NkYWlfdHJhbnNpdGlvbnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXRyX2Rpc2FibGVfZm9yY2VfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXR0X3BsYXliYWNrX3RpbWVvdXRfbXNcdTAwM2QzMDAwMFx1MDAyNmh0bWw1X2F0dGFjaF9udW1fcmFuZG9tX2J5dGVzX3RvX2JhbmRhaWRcdTAwM2QwXHUwMDI2aHRtbDVfYXR0YWNoX3BvX3Rva2VuX3RvX2JhbmRhaWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXV0b25hdl9jYXBfaWRsZV9zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X2F1dG9uYXZfcXVhbGl0eV9jYXBcdTAwM2Q3MjBcdTAwMjZodG1sNV9hdXRvcGxheV9kZWZhdWx0X3F1YWxpdHlfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2F1eGlsaWFyeV9lc3RpbWF0ZV93ZWlnaHRcdTAwM2QwLjBcdTAwMjZodG1sNV9hdjFfb3JkaW5hbF9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfYmFuZGFpZF9hdHRhY2hfY29udGVudF9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9ibG9ja19waXBfc2FmYXJpX2RlbGF5XHUwMDNkMFx1MDAyNmh0bWw1X2J5cGFzc19jb250ZW50aW9uX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9ieXRlcmF0ZV9zb2Z0X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9jaGVja19mb3JfaWRsZV9uZXR3b3JrX2ludGVydmFsX21zXHUwMDNkMTAwMFx1MDAyNmh0bWw1X2NoaXBzZXRfc29mdF9jYXBcdTAwM2Q4MTkyXHUwMDI2aHRtbDVfY2xhbXBfaW52YWxpZF9zZWVrX3RvX21pbl9zZWVrYWJsZV90aW1lXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2NvbnN1bWVfYWxsX2J1ZmZlcmVkX2J5dGVzX29uZV9wb2xsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2NvbnRpbnVvdXNfZ29vZHB1dF9wcm9iZV9pbnRlcnZhbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9kNmRlNF9jbG91ZF9wcm9qZWN0X251bWJlclx1MDAzZDg2ODYxODY3Njk1Mlx1MDAyNmh0bWw1X2RlYnVnX2RhdGFfbG9nX3Byb2JhYmlsaXR5XHUwMDNkMC4wXHUwMDI2aHRtbDVfZGVjb2RlX3RvX3RleHR1cmVfY2FwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RlZmF1bHRfYWRfZ2Fpblx1MDAzZDAuNVx1MDAyNmh0bWw1X2RlZmF1bHRfYXYxX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2RlZmVyX2ZldGNoX2F0dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9kZWxheWVkX3JldHJ5X2NvdW50XHUwMDNkMVx1MDAyNmh0bWw1X2RlbGF5ZWRfcmV0cnlfZGVsYXlfbXNcdTAwM2Q1MDAwXHUwMDI2aHRtbDVfZGVwcmVjYXRlX2FkYXB0aXZlX2Zvcm1hdHNfc3RyaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RlcHJlY2F0ZV9hZHNlcnZpY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX21hbmlmZXN0ZnVsX2ZhbGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RlcHJlY2F0ZV92aWRlb190YWdfcG9vbFx1MDAzZHRydWVcdTAwMjZodG1sNV9kZXNrdG9wX3ZyMTgwX2FsbG93X3Bhbm5pbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGZfZG93bmdyYWRlX3RocmVzaFx1MDAzZDAuNlx1MDAyNmh0bWw1X2Rpc2FibGVfYmFuZHdpZHRoX2NvZmFjdG9yc19mb3Jfc2Ficl9saXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfY2xpZW50X2F1dG9uYXZfY2FwX2Zvcl9vbmVzaWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfbm9uX2NvbnRpZ3VvdXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV91c3RyZWFtZXJfY29uc3RyYWludF9mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3dlYl9zYWZhcmlfZGFpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc3BsYXllZF9mcmFtZV9yYXRlX2Rvd25ncmFkZV90aHJlc2hvbGRcdTAwM2Q0NVx1MDAyNmh0bWw1X2RybV9ieXRlcmF0ZV9zb2Z0X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9kcm1fY2hlY2tfYWxsX2tleV9lcnJvcl9zdGF0ZXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZHJtX2NwaV9saWNlbnNlX2tleVx1MDAzZHRydWVcdTAwMjZodG1sNV9kcm1fbGl2ZV9ieXRlcmF0ZV9zb2Z0X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9lYXJseV9tZWRpYV9mb3Jfc2hhcnBlcl9zaG9ydHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2FjM1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYXVkaW9fdHJhY2tfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYXVkaW9fdHJhY2tfc3RpY2tpbmVzc19waGFzZV90d29cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2NhcHRpb25fY2hhbmdlc19mb3JfbW9zYWljXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9jb21wb3NpdGVfZW1iYXJnb1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZDZkZTRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2Q2ZGU0X2NvbGRfc3RhcnRfYW5kX2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kNmRlNF9pZGxlX3ByaW9yaXR5X2pvYlx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZHJjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kcmNfdG9nZ2xlX2FwaVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZWFjM1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZW1iZWRkZWRfcGxheWVyX3Zpc2liaWxpdHlfc2lnbmFsc1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfb2R1Y1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9mb3JtYXRfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2Zyb21fd2F0Y2hfc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2hvc3RfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfb25feXRfZW1iZWRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX3ZvZF9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zZXJ2ZXJfZHJpdmVuX3JlcXVlc3RfY2FuY2VsbGF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zcHNfcmV0cnlfYmFja29mZl9tZXRhZGF0YV9yZXF1ZXN0c1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc3NkYWlfdHJhbnNpdGlvbl93aXRoX29ubHlfZW50ZXJfY3VlcmFuZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3RyaWdnZXJpbmdfY3VlcG9pbnRfZm9yX3Nsb3RcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3R2b3NfZGFzaFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHZvc19lbmNyeXB0ZWRfdnA5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuY291cmFnZV9hcnJheV9jb2FsZXNjaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2ZpbGxfZGVmYXVsdF9tb3NhaWNfYXVkaW9fdHJhY2tfaWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZml4ZWRfbWVkaWFfZHVyYXRpb25fZm9yX3JlcXVlc3RcdTAwM2QwXHUwMDI2aHRtbDVfZmx1c2hfaW5kZXhfb25fdXBkYXRlZF90aW1lc3RhbXBfb2Zmc2V0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2ZvcmNlX3NhYnJfZnJvbV93YXRjaF9zZXJ2ZXJfZm9yX2Rmc3NcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZm9yd2FyZF9jbGlja190cmFja2luZ19wYXJhbXNfb25fcmVsb2FkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfYWRfYXV0b3BsYXlfb25fdmlkZW9fdG9fYWRfb25seVx1MDAzZHRydWVcdTAwMjZodG1sNV9nYXBsZXNzX2VuZGVkX3RyYW5zaXRpb25fYnVmZmVyX21zXHUwMDNkMjAwXHUwMDI2aHRtbDVfZ2FwbGVzc19oYW5kb2ZmX2Nsb3NlX2VuZF9sb25nX3JlYnVmZmVyX2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9nYXBsZXNzX2hhbmRvZmZfY2xvc2VfZW5kX2xvbmdfcmVidWZmZXJfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfZ2FwbGVzc19sb29wX3NlZWtfb2Zmc2V0X2luX21pbGxpXHUwMDNkMFx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zZWVrX2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9nYXBsZXNzX3Nsb3dfc2Vla19kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nYXBsZXNzX3Nsb3dfc3RhcnRfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfZ2VuZXJhdGVfY29udGVudF9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9nZW5lcmF0ZV9zZXNzaW9uX3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dsX2Zwc190aHJlc2hvbGRcdTAwM2QwXHUwMDI2aHRtbDVfaGFyZF9jYXBfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb25fZm9yX3Nob3J0c1x1MDAzZDBcdTAwMjZodG1sNV9oZGNwX3Byb2Jpbmdfc3RyZWFtX3VybFx1MDAzZFx1MDAyNmh0bWw1X2hlYWRfbWlzc19zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfaGZyX3F1YWxpdHlfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2hpZ2hfcmVzX2xvZ2dpbmdfcGVyY2VudFx1MDAzZDAuMDFcdTAwMjZodG1sNV9oaWdoX3Jlc19zZWVrX2xvZ2dpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaG9wZWxlc3Nfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9odWxpX3NzZGFpX3VzZV9wbGF5YmFja19zdGF0ZVx1MDAzZHRydWVcdTAwMjZodG1sNV9pZGxlX3JhdGVfbGltaXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lnbm9yZV9zYWJyc2Vla19kdXJpbmdfYWRza2lwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lubmVydHViZV9oZWFydGJlYXRzX2Zvcl9mYWlycGxheVx1MDAzZHRydWVcdTAwMjZodG1sNV9pbm5lcnR1YmVfaGVhcnRiZWF0c19mb3Jfd2lkZXZpbmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfanVtYm9fbW9iaWxlX3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RhcmdldFx1MDAzZDMuMFx1MDAyNmh0bWw1X2p1bWJvX3VsbF9ub25zdHJlYW1pbmdfbWZmYV9tc1x1MDAzZDQwMDBcdTAwMjZodG1sNV9qdW1ib191bGxfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0XHUwMDNkMS4zXHUwMDI2aHRtbDVfa2FidWtpX2RybV9saXZlXzUxX2RlZmF1bHRfb2ZmXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xpY2Vuc2VfY29uc3RyYWludF9kZWxheVx1MDAzZDUwMDBcdTAwMjZodG1sNV9saXZlX2Ficl9oZWFkX21pc3NfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlX2Ficl9yZXByZWRpY3RfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlX2NodW5rX3JlYWRhaGVhZF9wcm94aW1hX292ZXJyaWRlXHUwMDNkMFx1MDAyNmh0bWw1X2xpdmVfbG93X2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvd1x1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfbm9ybWFsX2xhdGVuY3lfYmFuZHdpZHRoX3dpbmRvd1x1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZV91bHRyYV9sb3dfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZW5lc3NfZHJpZnRfY2h1bmtfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZW5lc3NfZHJpZnRfcHJveGltYV9vdmVycmlkZVx1MDAzZDBcdTAwMjZodG1sNV9sb2dfYXVkaW9fYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ19leHBlcmltZW50X2lkX2Zyb21fcGxheWVyX3Jlc3BvbnNlX3RvX2N0bXBcdTAwM2RcdTAwMjZodG1sNV9sb2dfZmlyc3Rfc3NkYWlfcmVxdWVzdHNfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9sb2dfcmVidWZmZXJfZXZlbnRzXHUwMDNkNVx1MDAyNmh0bWw1X2xvZ19zYWJyX21hbGZvcm1lZF9jb25maWdfcHJvdG9fc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ190cmlnZ2VyX2V2ZW50c193aXRoX2RlYnVnX2RhdGFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX3Zzc19leHRyYV9scl9jcGFyYW1zX2ZyZXFcdTAwM2RcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX2ppZ2dsZV9jbXRfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfbG9uZ19yZWJ1ZmZlcl90aHJlc2hvbGRfbXNcdTAwM2QzMDAwMFx1MDAyNmh0bWw1X21hbmlmZXN0bGVzc192cDlfb3RmXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X21heF9idWZmZXJfaGVhbHRoX2Zvcl9kb3duZ3JhZGVfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9idWZmZXJfaGVhbHRoX2Zvcl9kb3duZ3JhZGVfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9ieXRlcmF0ZVx1MDAzZDBcdTAwMjZodG1sNV9tYXhfZGlzY29udGludWl0eV9yZXdyaXRlX2NvdW50XHUwMDNkMFx1MDAyNmh0bWw1X21heF9kcmlmdF9wZXJfdHJhY2tfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21heF9oZWFkbV9mb3Jfc3RyZWFtaW5nX3hoclx1MDAzZDBcdTAwMjZodG1sNV9tYXhfbGl2ZV9kdnJfd2luZG93X3BsdXNfbWFyZ2luX3NlY3NcdTAwM2Q0NjgwMC4wXHUwMDI2aHRtbDVfbWF4X3F1YWxpdHlfc2VsX3VwZ3JhZGVcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X3JlZGlyZWN0X3Jlc3BvbnNlX2xlbmd0aFx1MDAzZDgxOTJcdTAwMjZodG1sNV9tYXhfc2VsZWN0YWJsZV9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb25cdTAwM2QwXHUwMDI2aHRtbDVfbWF4aW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21lZGlhX2Z1bGxzY3JlZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfbWVkaWFfdGltZV93ZWlnaHRfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21mY19tYXhfcXVldWVfbGVuZ3RoXHUwMDNkMVx1MDAyNmh0bWw1X21mY19taW5fYnVmZmVyX2hlYWx0aFx1MDAzZDBcdTAwMjZodG1sNV9tZmNfc2Vjc19sZWZ0X3RvX3N0YXJ0X3ByZWxvYWRcdTAwM2QwXHUwMDI2aHRtbDVfbWluX2ZhaWx1cmVzX3RvX2RlbGF5X3JldHJ5XHUwMDNkM1x1MDAyNmh0bWw1X21pbl9tZWRpYV9kdXJhdGlvbl9mb3JfYXBwZW5kX3Byb3BcdTAwM2QwLjBcdTAwMjZodG1sNV9taW5fbWVkaWFfZHVyYXRpb25fZm9yX2NhYnJfc2xpY2VcdTAwM2QwLjAxXHUwMDI2aHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3JlYWRiZWhpbmRfY2FwX3NlY3NcdTAwM2Q2MFx1MDAyNmh0bWw1X21pbl9yZWFkYmVoaW5kX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3NlY29uZHNfYmV0d2Vlbl9mb3JtYXRfc2VsZWN0aW9uc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluX3N0YXJ0dXBfYnVmZmVyZWRfbWVkaWFfZHVyYXRpb25fc2Vjc1x1MDAzZDEuMlx1MDAyNmh0bWw1X21pbl9zdGFydHVwX2R1cmF0aW9uX2xpdmVfc2Vjc1x1MDAzZDAuMjVcdTAwMjZodG1sNV9taW5fdW5kZXJydW5fYnVmZmVyZWRfcHJlX3N0ZWFkeV9zdGF0ZV9tc1x1MDAzZDBcdTAwMjZodG1sNV9taW5fdXBncmFkZV9oZWFsdGhfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21pbmltdW1fcmVhZGFoZWFkX3NlY29uZHNcdTAwM2QwLjBcdTAwMjZodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlblx1MDAzZFx1MDAyNmh0bWw1X21vdmVfZGlzYWJsZV9haXJwbGF5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X25vX3BsYWNlaG9sZGVyX3JvbGxiYWNrc1x1MDAzZHRydWVcdTAwMjZodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9vZmZsaW5lX2Rvd25sb2FkX3RpbWVvdXRfcmV0cnlfbGltaXRcdTAwM2Q0XHUwMDI2aHRtbDVfb2ZmbGluZV9mYWlsdXJlX3JldHJ5X2xpbWl0XHUwMDNkMlx1MDAyNmh0bWw1X29mZmxpbmVfcGxheWJhY2tfcG9zaXRpb25fc3luY1x1MDAzZHRydWVcdTAwMjZodG1sNV9vZmZsaW5lX3ByZXZlbnRfcmVkb3dubG9hZF9kb3dubG9hZGVkX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9hdWRpb19vbmx5X3BsYXliYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9jaGVja190aW1lb3V0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfbGl2ZV90dGxfc2Vjc1x1MDAzZDhcdTAwMjZodG1sNV9vbmVzaWVfcHJld2FybV9pbnRlcnZhbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfcHJld2FybV9tYXhfbGFjdF9tc1x1MDAzZDBcdTAwMjZodG1sNV9vbmVzaWVfcmVkaXJlY3Rvcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9zZW5kX3N0cmVhbWVyX2NvbnRleHRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb3ZlcnJpZGVfbWljcm9fZGlzY29udGludWl0aWVzX3RocmVzaG9sZF9tc1x1MDAzZC0xXHUwMDI2aHRtbDVfcGFjZWRfcG9sbF9taW5faGVhbHRoX21zXHUwMDNkMFx1MDAyNmh0bWw1X3BhY2VkX3BvbGxfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcGF1c2Vfb25fbm9uZm9yZWdyb3VuZF9wbGF0Zm9ybV9lcnJvcnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGVha19zaGF2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3lcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGVyZm9ybWFuY2VfY2FwX2Zsb29yXHUwMDNkMzYwXHUwMDI2aHRtbDVfcGVyc2VydmVfYXYxX3BlcmZfY2FwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BpY3R1cmVfaW5fcGljdHVyZV9sb2dnaW5nX29ucmVzaXplX3JhdGlvXHUwMDNkMC4wXHUwMDI2aHRtbDVfcGxhdGZvcm1fbWF4X2J1ZmZlcl9oZWFsdGhfb3ZlcnNlbmRfZHVyYXRpb25fc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3BsYXRmb3JtX21pbmltdW1fcmVhZGFoZWFkX3NlY29uZHNcdTAwM2QwLjBcdTAwMjZodG1sNV9wbGF0Zm9ybV93aGl0ZWxpc3RlZF9mb3JfZnJhbWVfYWNjdXJhdGVfc2Vla3NcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGxheWVyX2F0dF9pbml0aWFsX2RlbGF5X21zXHUwMDNkMzAwMFx1MDAyNmh0bWw1X3BsYXllcl9hdHRfcmV0cnlfZGVsYXlfbXNcdTAwM2QxNTAwXHUwMDI2aHRtbDVfcGxheWVyX2F1dG9uYXZfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9wbGF5ZXJfZXM2XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9taW5fYnVpbGRfY2xcdTAwM2QtMVx1MDAyNmh0bWw1X3BsYXllcl9wcmVsb2FkX2FkX2ZpeFx1MDAzZHRydWVcdTAwMjZodG1sNV9wb3N0X2ludGVycnVwdF9yZWFkYWhlYWRcdTAwM2QyMFx1MDAyNmh0bWw1X3ByZWZlcl9sYW5ndWFnZV9vdmVyX2NvZGVjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWZlcl9zZXJ2ZXJfYndlM1x1MDAzZHRydWVcdTAwMjZodG1sNV9wcmVsb2FkX2JlZm9yZV9pbml0aWFsX3NlZWtfd2l0aF9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWxvYWRfd2FpdF90aW1lX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9wcmV2ZW50X21vYmlsZV9iYWNrZ3JvdW5kX3BsYXlfb25fZXZlbnRfc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Byb2JlX3ByaW1hcnlfZGVsYXlfYmFzZV9tc1x1MDAzZDBcdTAwMjZodG1sNV9wcm9jZXNzX2FsbF9lbmNyeXB0ZWRfZXZlbnRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3FvZV9wcm90b19tb2NrX2xlbmd0aFx1MDAzZDBcdTAwMjZodG1sNV9xdWVyeV9zd19zZWN1cmVfY3J5cHRvX2Zvcl9hbmRyb2lkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXBcdTAwM2QwXHUwMDI2aHRtbDVfcmVjb3JkX2lzX29mZmxpbmVfb25fcGxheWJhY2tfYXR0ZW1wdF9zdGFydFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZWNvcmRfdW1wX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZWxvYWRfYnlfa2FidWtpX2FwcFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZW1vdmVfY29tbWFuZF90cmlnZ2VyZWRfY29tcGFuaW9uc1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZW1vdmVfbm90X3NlcnZhYmxlX2NoZWNrX2tpbGxzd2l0Y2hcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwb3J0X2ZhdGFsX2RybV9yZXN0cmljdGVkX2Vycm9yX2tpbGxzd2l0Y2hcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwb3J0X3Nsb3dfYWRzX2FzX2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlcHJlZGljdF9pbnRlcnZhbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9yZXF1ZXN0X29ubHlfaGRyX29yX3Nkcl9rZXlzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlcXVlc3Rfc2l6ZV9tYXhfa2JcdTAwM2QwXHUwMDI2aHRtbDVfcmVxdWVzdF9zaXplX21pbl9rYlx1MDAzZDBcdTAwMjZodG1sNV9yZXNlZWtfYWZ0ZXJfdGltZV9qdW1wX2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXNlZWtfYWZ0ZXJfdGltZV9qdW1wX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Jlc2V0X2JhY2tvZmZfb25fdXNlcl9zZWVrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Jlc291cmNlX2JhZF9zdGF0dXNfZGVsYXlfc2NhbGluZ1x1MDAzZDEuNVx1MDAyNmh0bWw1X3Jlc3RyaWN0X3N0cmVhbWluZ194aHJfb25fc3FsZXNzX3JlcXVlc3RzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X2Rvd25sb2Fkc19mb3JfZXhwaXJhdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXRyeV9vbl9kcm1fa2V5X2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X29uX2RybV91bmF2YWlsYWJsZVx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXRyeV9xdW90YV9leGNlZWRlZF92aWFfc2Vla1x1MDAzZHRydWVcdTAwMjZodG1sNV9yZXR1cm5fcGxheWJhY2tfaWZfYWxyZWFkeV9wcmVsb2FkZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9lbmFibGVfc2VydmVyX3h0YWdfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfZmV0Y2hfb25faWRsZV9uZXR3b3JrX3ByZWxvYWRlZF9wbGF5ZXJzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfZm9yY2VfbWF4X25ldHdvcmtfaW50ZXJydXB0aW9uX2R1cmF0aW9uX21zXHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfbGl2ZV9sb3dfbGF0ZW5jeV9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9zdHJlYW1pbmdfeGhyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbGl2ZV90aW1pbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9sb2dfc2VydmVyX3h0YWdfc2VsZWN0aW9uX29uZXNpZV9taXNtYXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX21pbl9tZWRpYV9ieXRlc19mYWN0b3JfdG9fYXBwZW5kX2Zvcl9zdHJlYW1cdTAwM2QwLjBcdTAwMjZodG1sNV9zYWJyX25vbl9zdHJlYW1pbmdfeGhyX3JlcXVlc3RfY2FuY2VsbGF0aW9uX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0XHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfcmVwb3J0X3BhcnRpYWxfc2VnbWVudF9lc3RpbWF0ZWRfZHVyYXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9yZXBvcnRfcmVxdWVzdF9jYW5jZWxsYXRpb25faW5mb1x1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3JlcXVlc3RfbGltaXRfcGVyX3BlcmlvZFx1MDAzZDIwXHUwMDI2aHRtbDVfc2Ficl9yZXF1ZXN0X29uX2NvbnN0cmFpbnRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9zZWVrX25vX3NoaWZ0X3RvbGVyYW5jZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3NraXBfY2xpZW50X2F1ZGlvX2luaXRfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfc3VjY2Vzc2Z1bF9wcm9iZV90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X3NhYnJfdWdjX3ZvZF93ZWJfZW1iZWRkZWRfY2xpZW50X2RlZmF1bHRfYmFuZHdpZHRoX29uX2lwaG9uZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3VudXNlZF9ibG9hdF9zaXplX2J5dGVzXHUwMDNkMFx1MDAyNmh0bWw1X3NhbXN1bmdfa2FudF9saW1pdF9tYXhfYml0cmF0ZVx1MDAzZDBcdTAwMjZodG1sNV9zZWVrX2ppZ2dsZV9jbXRfZGVsYXlfbXNcdTAwM2Q4MDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfZWxlbV9kZWxheV9tc1x1MDAzZDEyMDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfZWxlbV9zaG9ydHNfZGVsYXlfbXNcdTAwM2QyMDAwXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfZWxlbWVudF9zaG9ydHNfcmV1c2VfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX2VsZW1lbnRfc2hvcnRzX3JldXNlX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX3NvdXJjZV9zaG9ydHNfcmV1c2VfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlZWtfbmV3X21lZGlhX3NvdXJjZV9zaG9ydHNfcmV1c2VfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Vla19zZXRfY210X2RlbGF5X21zXHUwMDNkMjAwMFx1MDAyNmh0bWw1X3NlZWtfdGltZW91dF9kZWxheV9tc1x1MDAzZDIwMDAwXHUwMDI2aHRtbDVfc2VuZF9jdWVwb2ludF9pZF9pbl9hZF9icmVha19yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlbmRfc2VyaWFsaXplZF9vbmVfdGltZV9xb2VfY29udGV4dF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NlcnZlX3N0YXJ0X3NlY29uZHNfc2Vla19mb3JfcG9zdF9saXZlX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VydmVyX3N0aXRjaGVkX2RhaV9kZWNvcmF0ZWRfdXJsX3JldHJ5X2xpbWl0XHUwMDNkNVx1MDAyNmh0bWw1X3Nlc3Npb25fcG9fdG9rZW5faW50ZXJ2YWxfdGltZV9tc1x1MDAzZDkwMDAwMFx1MDAyNmh0bWw1X3NldF92aWRlb19pZF9hc19leHBlY3RlZF9jb250ZW50X2JpbmRpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3NfYWRfc2xvd19zdGFydF9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3NfYWRfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19uZXh0X2J1ZmZlcl9pbl9zZWNvbmRzXHUwMDNkMFx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX25vX2dsbGF0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX3Nsb3dfc3RhcnRfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2hvd19kcmNfdG9nZ2xlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NpbXBsaWZpZWRfYmFja3VwX3RpbWVvdXRfc2Ficl9saXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NraXBfZW1wdHlfcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2tpcF9zbG93X2FkX2RlbGF5X21zXHUwMDNkMTUwMDBcdTAwMjZodG1sNV9zbG93X3N0YXJ0X25vX21lZGlhX3NvdXJjZV9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zbG93X3N0YXJ0X3RpbWVvdXRfZGVsYXlfbXNcdTAwM2QyMDAwMFx1MDAyNmh0bWw1X3NzZGFpX2VuYWJsZV9tZWRpYV9lbmRfY3VlX3JhbmdlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NzZGFpX2ZhaWx1cmVfcmV0cnlfbGltaXRcdTAwM2QwXHUwMDI2aHRtbDVfc3NkYWlfbG9nX21pc3NpbmdfYWRfY29uZmlnX3JlYXNvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zdGFsbF9mYWN0b3JcdTAwM2QwLjBcdTAwMjZodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3NcdTAwM2QwXHUwMDI2aHRtbDVfc3RvcmVfeGhyX2hlYWRlcnNfcmVhZGFibGVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RyZWFtaW5nX3Jlc2lsaWVuY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RyZWFtaW5nX3hocl90aW1lX2Jhc2VkX2NvbnNvbGlkYXRpb25fbXNcdTAwM2QtMVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX2xvYWRfc3BlZWRfY2hlY2tfaW50ZXJ2YWxcdTAwM2QwLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9taW5fYnVmZmVyX2hlYWx0aF9zZWNzXHUwMDNkMC4yNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3Nfb25fdGltZW91dFx1MDAzZDAuMVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9sb2FkX3NwZWVkXHUwMDNkMS41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfc2Vla19sYXRlbmN5X2Z1ZGdlXHUwMDNkMC41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0X2J1ZmZlcl9oZWFsdGhfc2Vjc1x1MDAzZDAuNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX3RpbWVvdXRfc2Vjc1x1MDAzZDIuMFx1MDAyNmh0bWw1X3RyYWNrX292ZXJzaG9vdFx1MDAzZHRydWVcdTAwMjZodG1sNV90cmFuc2Zlcl9wcm9jZXNzaW5nX2xvZ3NfaW50ZXJ2YWxcdTAwM2QxMDAwXHUwMDI2aHRtbDVfdHJpZ2dlcl9sb2FkZXJfd2hlbl9pZGxlX25ldHdvcmtcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdWdjX2xpdmVfYXVkaW9fNTFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdWdjX3ZvZF9hdWRpb181MVx1MDAzZHRydWVcdTAwMjZodG1sNV91bnJlcG9ydGVkX3NlZWtfcmVzZWVrX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3VwZGF0ZV90aW1lX29uX3NlZWtlZFx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX2luaXRfc2VsZWN0ZWRfYXVkaW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX25vbl9hY3RpdmVfYnJvYWRjYXN0X2Zvcl9wb3N0X2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3Bvc3RfZm9yX21lZGlhXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV91bXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlclx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdW1wX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdmlkZW9fcXVhbGl0eV9jYXBfZm9yX3VzdHJlYW1lcl9jb25zdHJhaW50XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV92aWRlb190cmFuc2l0aW9uX2VuZHBvaW50X2hlYXJ0YmVhdFx1MDAzZHRydWVcdTAwMjZodG1sNV92aWRlb190YmRfbWluX2tiXHUwMDNkMFx1MDAyNmh0bWw1X3ZpZXdwb3J0X3VuZGVyc2VuZF9tYXhpbXVtXHUwMDNkMC4wXHUwMDI2aHRtbDVfdm9sdW1lX3NsaWRlcl90b29sdGlwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkc1x1MDAzZFtdXHUwMDI2aHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5XHUwMDNkXHUwMDI2aHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV93ZWJwb19pZGxlX3ByaW9yaXR5X2pvYlx1MDAzZHRydWVcdTAwMjZodG1sNV93ZWJwb19rYWlvc19kZWZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X3dvZmZsZV9yZXN1bWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfd29ya2Fyb3VuZF9kZWxheV90cmlnZ2VyXHUwMDNkdHJ1ZVx1MDAyNmlkYl9pbW1lZGlhdGVfY29tbWl0XHUwMDNkdHJ1ZVx1MDAyNmlnbm9yZV9vdmVybGFwcGluZ19jdWVfcG9pbnRzX29uX2VuZGVtaWNfbGl2ZV9odG1sNVx1MDAzZHRydWVcdTAwMjZpbF9hdHRhY2hfY2FjaGVfbGltaXRcdTAwM2R0cnVlXHUwMDI2aWxfcGF5bG9hZF9zY3JhcGluZ1x1MDAzZFx1MDAyNmlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dFx1MDAzZHRydWVcdTAwMjZpbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0XHUwMDNkMjAwMFx1MDAyNmluamVjdGVkX2xpY2Vuc2VfaGFuZGxlcl9lcnJvcl9jb2RlXHUwMDNkMFx1MDAyNmluamVjdGVkX2xpY2Vuc2VfaGFuZGxlcl9saWNlbnNlX3N0YXR1c1x1MDAzZDBcdTAwMjZpb3NfYW5kX2FuZHJvaWRfZnJlc2NhX3BvbGxpbmdfZGVsYXlfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aXRkcm1fYWx3YXlzX3VzZV93aWRldmluZV9zZGtcdTAwM2R0cnVlXHUwMDI2aXRkcm1fZGlzYWJsZV9leHRlcm5hbF9rZXlfcm90YXRpb25fc3lzdGVtX2lkc1x1MDAzZFtdXHUwMDI2aXRkcm1fZW5hYmxlX3Jldm9jYXRpb25fcmVwb3J0aW5nXHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX2luamVjdGVkX2xpY2Vuc2Vfc2VydmljZV9lcnJvcl9jb2RlXHUwMDNkMFx1MDAyNml0ZHJtX3NldF9zYWJyX2xpY2Vuc2VfY29uc3RyYWludFx1MDAzZHRydWVcdTAwMjZpdGRybV91c2VfZmFpcnBsYXlfc2RrXHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3VzZV93aWRldmluZV9zZGtfZm9yX3ByZW1pdW1fY29udGVudFx1MDAzZHRydWVcdTAwMjZpdGRybV93aWRldmluZV9oYXJkZW5lZF92bXBfbW9kZVx1MDAzZGxvZ1x1MDAyNmpzb25fY29uZGVuc2VkX3Jlc3BvbnNlXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9jb21tYW5kX2hhbmRsZXJfY29tbWFuZF9iYW5saXN0XHUwMDNkW11cdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5faWRlYWxfdGlsZV93aWR0aF9wZXJjZW50YWdlXHUwMDNkMC4yN1x1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9tYXhfcm93c1x1MDAzZDJcdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5fbWF4X3dpZHRoXHUwMDNkNTAwXHUwMDI2a2V2bGFyX2RlbGhpX21vZGVybl93ZWJfZW5kc2NyZWVuX21pbl93aWR0aFx1MDAzZDIwMFx1MDAyNmtldmxhcl9nZWxfZXJyb3Jfcm91dGluZ1x1MDAzZHRydWVcdTAwMjZrZXZsYXJfbWluaXBsYXllcl9leHBhbmRfdG9wXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX3BsYXlfcGF1c2Vfb25fc2NyaW1cdTAwM2R0cnVlXHUwMDI2a2V2bGFyX3BsYXliYWNrX2Fzc29jaWF0ZWRfcXVldWVcdTAwM2R0cnVlXHUwMDI2bGF1bmNoX2xpY2Vuc2Vfc2VydmljZV9hbGxfb3R0X3ZpZGVvc19hdXRvbWF0aWNfZmFpbF9vcGVuXHUwMDNkdHJ1ZVx1MDAyNmxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemVcdTAwM2R0cnVlXHUwMDI2bGl2ZV9jaGF0X2VuYWJsZV9ydGFfbWFuYWdlclx1MDAzZHRydWVcdTAwMjZsaXZlX2NodW5rX3JlYWRhaGVhZFx1MDAzZDNcdTAwMjZsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyXHUwMDNkdHJ1ZVx1MDAyNmxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvblx1MDAzZDAuMVx1MDAyNm1hbmlmZXN0bGVzc19wb3N0X2xpdmVcdTAwM2R0cnVlXHUwMDI2bWFuaWZlc3RsZXNzX3Bvc3RfbGl2ZV91ZnBoXHUwMDNkdHJ1ZVx1MDAyNm1heF9ib2R5X3NpemVfdG9fY29tcHJlc3NcdTAwM2Q1MDAwMDBcdTAwMjZtYXhfY2RmZV9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2bWF4X3ByZWZldGNoX3dpbmRvd19zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uXHUwMDNkMTBcdTAwMjZtYXhfcmVzb2x1dGlvbl9mb3Jfd2hpdGVfbm9pc2VcdTAwM2QzNjBcdTAwMjZtZHhfZW5hYmxlX3ByaXZhY3lfZGlzY2xvc3VyZV91aVx1MDAzZHRydWVcdTAwMjZtZHhfbG9hZF9jYXN0X2FwaV9ib290c3RyYXBfc2NyaXB0XHUwMDNkdHJ1ZVx1MDAyNm1pbl9wcmVmZXRjaF9vZmZzZXRfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvblx1MDAzZDIwXHUwMDI2bXRhX2RyY19tdXR1YWxfZXhjbHVzaW9uX3JlbW92YWxcdTAwM2R0cnVlXHUwMDI2bXVzaWNfZW5hYmxlX3NoYXJlZF9hdWRpb190aWVyX2xvZ2ljXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZGVidWdfc3RpY2t5X3NldHRpbmdzXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZW5hYmxlX2NsaWNrX3RvX3BsYXlfcGF1c2VcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfZmluZV9zY3J1YmJpbmdfZm9yX3JlY3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfbW9yZV9jaHVua3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfcGxheWVyX2NvbnRyb2xfb25faG92ZXJcdTAwM2R0cnVlXHUwMDI2bXdlYl9wcm9ncmVzc19iYXJfc2Vla19vbl9tb3VzZV9jbGlja1x1MDAzZHRydWVcdTAwMjZtd2ViX3Nob3J0c19jb21tZW50c19wYW5lbF9pZF9jaGFuZ2VcdTAwM2R0cnVlXHUwMDI2bXdlYl91c2VfbWljcm9mb3JtYXRfdGl0bGVfZm9yX3Bvc3RzXHUwMDNkdHJ1ZVx1MDAyNm5ldHdvcmtfcG9sbGluZ19pbnRlcnZhbFx1MDAzZDMwMDAwXHUwMDI2bmV0d29ya2xlc3NfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZuZXdfY29kZWNzX3N0cmluZ19hcGlfdXNlc19sZWdhY3lfc3R5bGVcdTAwM2R0cnVlXHUwMDI2bm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd25cdTAwM2R0cnVlXHUwMDI2bm9fZmlsbGVyX3ZpZGVvX2Zvcl9zc2FfcGxheWJhY2tzXHUwMDNkdHJ1ZVx1MDAyNm92ZXJyaWRlX2RybV9yZXF1aXJlZF9wbGF5YmFja19wb2xpY3lfY2hhbm5lbHNcdTAwM2RbXVx1MDAyNnBhZ2VpZF9hc19oZWFkZXJfd2ViXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9hZHNfc2V0X2FkZm9ybWF0X29uX2NsaWVudFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfYm9vdHN0cmFwX21ldGhvZFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfY29udHJvbHNfdXNlX3BsYXllcl9hcGlfY29udGV4dFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfY29udHJvbHNfdm9sdW1lX2NvbnRyb2xzX3VzZV9wbGF5ZXJfcHJvcHNcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb25cdTAwM2R0cnVlXHUwMDI2cGxheWVyX2VuYWJsZV9wbGF5YmFja19wbGF5bGlzdF9jaGFuZ2VcdTAwM2R0cnVlXHUwMDI2cGxheWVyX25ld19pbmZvX2NhcmRfZm9ybWF0XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl91bmRlcmxheV9taW5fcGxheWVyX3dpZHRoXHUwMDNkNzY4LjBcdTAwMjZwbGF5ZXJfdW5kZXJsYXlfdmlkZW9fd2lkdGhfZnJhY3Rpb25cdTAwM2QwLjZcdTAwMjZwbGF5ZXJfd2ViX2NhbmFyeV9zdGFnZVx1MDAzZDBcdTAwMjZwbGF5cmVhZHlfZmlyc3RfcGxheV9leHBpcmF0aW9uXHUwMDNkLTFcdTAwMjZwb2RjYXN0c192aWRlb3N0YXRzX2RlZmF1bHRfZmx1c2hfaW50ZXJ2YWxfc2Vjb25kc1x1MDAzZDBcdTAwMjZwb2x5bWVyX2JhZF9idWlsZF9sYWJlbHNcdTAwM2R0cnVlXHUwMDI2cG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZVx1MDAzZHRydWVcdTAwMjZwb3B1bGF0ZV9mb3JtYXRfc2V0X2luZm9faW5fY2RmZV9mb3JtYXRzXHUwMDNkdHJ1ZVx1MDAyNnByZXNraXBfYnV0dG9uX3N0eWxlX2Fkc19iYWNrZW5kXHUwMDNkXHUwMDI2cHJveGltYV9hdXRvX3RocmVzaG9sZF9tYXhfbmV0d29ya19pbnRlcnJ1cHRpb25fZHVyYXRpb25fbXNcdTAwM2QwXHUwMDI2cHJveGltYV9hdXRvX3RocmVzaG9sZF9taW5fYmFuZHdpZHRoX2VzdGltYXRlX2J5dGVzX3Blcl9zZWNcdTAwM2QwXHUwMDI2cW9lX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnF1YWxpdHlfY2FwX2Zvcl9pbmxpbmVfbm9uX2FwcF9hZHNcdTAwM2QwXHUwMDI2cXVhbGl0eV9jYXBfZm9yX2lubGluZV9wbGF5YmFja1x1MDAzZDBcdTAwMjZxdWFsaXR5X2NhcF9mb3JfaW5saW5lX3BsYXliYWNrX2Fkc1x1MDAzZDBcdTAwMjZyZWFkX2FoZWFkX21vZGVsX25hbWVcdTAwM2RcdTAwMjZyZWplY3RfaGlkZGVuX2xpdmVfZm9ybWF0c1x1MDAzZHRydWVcdTAwMjZyZWplY3RfbGl2ZV92cDlfbXFfY2xlYXJfd2l0aF9ub19hYnJfbGFkZGVyXHUwMDNkdHJ1ZVx1MDAyNnJlbGF4X2JnX25vdGlmaWNhdGlvbl90aHJvdHRsaW5nXHUwMDNkdHJ1ZVx1MDAyNnJlbW92ZV9jaGV2cm9uX2Zyb21fYWRfZGlzY2xvc3VyZV9iYW5uZXJfaDVcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX21hc3RoZWFkX2NoYW5uZWxfYmFubmVyX29uX3JlZnJlc2hcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX3Nsb3RfaWRfZXhpdGVkX3RyaWdnZXJfZm9yX2RhaV9pbl9wbGF5ZXJfc2xvdF9leHBpcmVcdTAwM2R0cnVlXHUwMDI2cmVwbGFjZV9wbGF5YWJpbGl0eV9yZXRyaWV2ZXJfaW5fd2F0Y2hcdTAwM2R0cnVlXHUwMDI2cm9zY2FzXHUwMDNkdHJ1ZVx1MDAyNnNhYnJfZW5hYmxlX2hvc3RfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2c2VsZl9wb2RkaW5nX2hlYWRlcl9zdHJpbmdfdGVtcGxhdGVcdTAwM2RzZWxmX3BvZGRpbmdfaW50ZXJzdGl0aWFsX21lc3NhZ2VcdTAwMjZzZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2Vfc3RyaW5nX3RlbXBsYXRlXHUwMDNkc2VsZl9wb2RkaW5nX21pZHJvbGxfY2hvaWNlXHUwMDI2c2VuZF9jb25maWdfaGFzaF90aW1lclx1MDAzZDBcdTAwMjZzZXJ2ZV9hZGFwdGl2ZV9mbXRzX2Zvcl9saXZlX3N0cmVhbXNcdTAwM2R0cnVlXHUwMDI2c2V0X21vY2tfaWRfYXNfZXhwZWN0ZWRfY29udGVudF9iaW5kaW5nXHUwMDNkXHUwMDI2c2hlbGxfbG9hZF9nY2ZcdTAwM2R0cnVlXHUwMDI2c2hvcnRlbl9pbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0XHUwMDNkdHJ1ZVx1MDAyNnNob3J0c19tb2RlX3RvX3BsYXllcl9hcGlcdTAwM2R0cnVlXHUwMDI2c2hvdWxkX2F0dHJpYnV0ZV90b193YXRjaF93aXRoX3NvdXJjZVx1MDAzZFtdXHUwMDI2c2hvdWxkX2F0dHJpYnV0ZV92aWV3c190b193YXRjaF93aXRoX3NvdXJjZVx1MDAzZHRydWVcdTAwMjZzaW1wbHlfZW1iZWRkZWRfZW5hYmxlX2JvdGd1YXJkXHUwMDNkdHJ1ZVx1MDAyNnNsb3dfY29tcHJlc3Npb25zX2JlZm9yZV9hYmFuZG9uX2NvdW50XHUwMDNkNFx1MDAyNnNtYWxsX2F2YXRhcnNfZm9yX2NvbW1lbnRzXHUwMDNkdHJ1ZVx1MDAyNnNtYXJ0X3NraXBfd2ViX3BsYXllcl9iYXJfbWluX2hvdmVyX2xlbmd0aF9taWxsaXNlY29uZHNcdTAwM2QxMDAwXHUwMDI2c21hcnRlcl92ZV9kZWR1cHBpbmdcdTAwM2R0cnVlXHUwMDI2c3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwXHUwMDNkMTBcdTAwMjZzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlXHUwMDNkMi4wXHUwMDI2c3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tc1x1MDAzZDUwMFx1MDAyNnN0b3BfaGFuZGxpbmdfY2xpY2tfZm9yX25vbl9yZW5kZXJpbmdfb3ZlcmxheV9sYXlvdXRcdTAwM2R0cnVlXHUwMDI2c3RyZWFtaW5nX2RhdGFfZW1lcmdlbmN5X2l0YWdfYmxhY2tsaXN0XHUwMDNkW11cdTAwMjZzdWJzdGl0dXRlX2FkX2Nwbl9tYWNyb19pbl9zc2RhaVx1MDAzZHRydWVcdTAwMjZzdXBwcmVzc19lcnJvcl8yMDRfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZ0cmltX2FkYXB0aXZlX2Zvcm1hdHNfc2lnbmF0dXJlX2NpcGhlcl9mb3Jfc2Ficl9jb250ZW50XHUwMDNkdHJ1ZVx1MDAyNnR2aHRtbDVfdW5wbHVnZ2VkX3ByZWxvYWRfY2FjaGVfc2l6ZVx1MDAzZDVcdTAwMjZ1c2VfY3VlX3JhbmdlX21hcmtlcl9wb3NpdGlvblx1MDAzZHRydWVcdTAwMjZ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXJcdTAwM2R0cnVlXHUwMDI2dXNlX2V4dHJhX3JlYWRhaGVhZF9ub3JtYWxfbGF0ZW5jeV9mcmFtZV9sZXZlbF9zdHJlYW1pbmdfaW5fYmFja2VuZF9leHBlcmltZW50XHUwMDNkWzQ1Nzk3MTQ4XVx1MDAyNnVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZ1c2VfZ2VuZXJhdGVkX21lZGlhX2tleXNfaW5fZmFpcnBsYXlfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2dXNlX2lubGluZWRfcGxheWVyX3JwY1x1MDAzZHRydWVcdTAwMjZ1c2VfbmV3X2NvZGVjc19zdHJpbmdfYXBpXHUwMDNkdHJ1ZVx1MDAyNnVzZV9wbGF5YWJpbGl0eV9yZXN1bHRfZm9yX2Nhbl9wbGF5X3N0YXR1c1x1MDAzZHRydWVcdTAwMjZ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfcnRhX2Zvcl9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2dXNlX3Nlc3Npb25fYmFzZWRfc2FtcGxpbmdcdTAwM2R0cnVlXHUwMDI2dXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlXHUwMDNkdHJ1ZVx1MDAyNnZhcmlhYmxlX2J1ZmZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNnZwOV9kcm1fbGl2ZVx1MDAzZHRydWVcdTAwMjZ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZVx1MDAzZHRydWVcdTAwMjZ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnZzc191c2VfcG9zdF9yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNndlYl9hcGlfdXJsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGVcdTAwM2Q1MDAuMFx1MDAyNndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNndlYl9idXR0b25fdm1fcmVmYWN0b3JfZGlzYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlXHUwMDNkXHUwMDI2d2ViX2NvbGxlY3Rfb2ZmbGluZV9zdGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9kZWR1cGVfdmVfZ3JhZnRpbmdcdTAwM2R0cnVlXHUwMDI2d2ViX2Rpc2FibGVfY2FwdGlvbl9vcGFjaXR5X2tleWJvYXJkX3Nob3J0Y3V0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZGlzYWJsZV9jaGlwX3ZpZXdfbW9kZWxfbXV0YXRpb25cdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9hYl9yc3BfY2xcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9jYXB0aW9uX2xhbmd1YWdlX3ByZWZlcmVuY2Vfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfZXJyb3JfMjA0XHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfa2V5Ym9hcmRfc2hvcnRjdXRfZm9yX3RpbWVseV9hY3Rpb25zXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfc2hvcHBpbmdfdGltZWx5X3NoZWxmX2NsaWVudFx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX3NtYWxsX3NwZWVkbWFzdGVyXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfdGltZWx5X2FjdGlvbnNcdTAwM2R0cnVlXHUwMDI2d2ViX2ZpeF9maW5lX3NjcnViYmluZ19mYWxzZV9wbGF5XHUwMDNkdHJ1ZVx1MDAyNndlYl9mb3JlZ3JvdW5kX2hlYXJ0YmVhdF9pbnRlcnZhbF9tc1x1MDAzZDI4MDAwXHUwMDI2d2ViX2Z1bGxzY3JlZW5fc2hvcnRzXHUwMDNkdHJ1ZVx1MDAyNndlYl9mdWxsc2NyZWVuX3Nob3J0c19tZW51X2l0ZW1cdTAwM2R0cnVlXHUwMDI2d2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNndlYl9nZWxfZGVib3VuY2VfbXNcdTAwM2QxMDAwMFx1MDAyNndlYl9nZWxfdGltZW91dF9jYXBcdTAwM2R0cnVlXHUwMDI2d2ViX2hpZGVfbmV4dF9idXR0b25cdTAwM2R0cnVlXHUwMDI2d2ViX2hpZGVfd2F0Y2hfaW5mb19lbXB0eVx1MDAzZHRydWVcdTAwMjZ3ZWJfaGlkZV95b3VyX2RhdGFfb25fYXV0b21vdGl2ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfbG9hZF9wcmVkaWN0aW9uX3RocmVzaG9sZFx1MDAzZDAuM1x1MDAyNndlYl9sb2dnaW5nX21heF9iYXRjaFx1MDAzZDEwMFx1MDAyNndlYl9tYXhfdHJhY2luZ19ldmVudHNcdTAwM2Q1MFx1MDAyNndlYl9tb25vbWVyX3dlYl9jb21wb25lbnRfd3JhcHBlcl9oYW5kbGVfZXJyb3JzXHUwMDNkdHJ1ZVx1MDAyNndlYl9uYXZpZ2F0aW9uX3ByZWRpY3Rpb25fdGhyZXNob2xkXHUwMDNkMC4xXHUwMDI2d2ViX25vbl9uYXZpZ2F0aW5nX2F0YWdcdTAwM2R0cnVlXHUwMDI2d2ViX29wX3NpZ25hbF90eXBlX2Jhbmxpc3RcdTAwM2RbXVx1MDAyNndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfYXBpX2xvZ2dpbmdfZnJhY3Rpb25cdTAwM2QwLjAxXHUwMDI2d2ViX3BsYXllcl9iaWdfbW9kZV9zY3JlZW5fd2lkdGhfY3V0b2ZmXHUwMDNkNDAwMVx1MDAyNndlYl9wbGF5ZXJfZGVmYXVsdF9wZWVraW5nX3B4XHUwMDNkMzZcdTAwMjZ3ZWJfcGxheWVyX2Rpc2FibGVfZ3JpZF9vbl9vZmZsaW5lX3NsYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfZW5hYmxlX2ZlYXR1cmVkX3Byb2R1Y3RfYmFubmVyX2V4Y2x1c2l2ZXNfb25fZGVza3RvcFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2VuYWJsZV9mZWF0dXJlZF9wcm9kdWN0X2Jhbm5lcl9wcm9tb3Rpb25fdGV4dF9vbl9kZXNrdG9wXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfZnJvc3RlZF9nbGFzc19ibHVyX3JhZGl1c1x1MDAzZDE2XHUwMDI2d2ViX3BsYXllcl9mcm9zdGVkX2dsYXNzX2JsdXJfcmFkaXVzX2Zsb2F0XHUwMDNkMTYuMFx1MDAyNndlYl9wbGF5ZXJfaW5uZXJ0dWJlX3BsYXlsaXN0X3VwZGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2ludmlzaWJsZV9mdWxsc2NyZWVuX2J1dHRvblx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2lwcF9jYW5hcnlfdHlwZV9mb3JfbG9nZ2luZ1x1MDAzZFx1MDAyNndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbWluaXBsYXllcl9pbl9jb250ZXh0X21lbnVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9tb3VzZV9pZGxlX3dhaXRfdGltZV9tc1x1MDAzZDMwMDBcdTAwMjZ3ZWJfcGxheWVyX211c2ljX3Zpc3VhbGl6ZXJfdHJlYXRtZW50XHUwMDNkZmFrZVx1MDAyNndlYl9wbGF5ZXJfb2ZmbGluZV9wbGF5bGlzdF9hdXRvX3JlZnJlc2hcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9wbGF5YWJsZV9zZXF1ZW5jZXNfcmVmYWN0b3JcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9xdWlja19oaWRlX3RpbWVvdXRfbXNcdTAwM2QyNTBcdTAwMjZ3ZWJfcGxheWVyX3NlZWtfY2hhcHRlcnNfYnlfc2hvcnRjdXRcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9zZWVrX292ZXJsYXlfYWRkaXRpb25hbF9hcnJvd190aHJlc2hvbGRcdTAwM2QyMDBcdTAwMjZ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9kdXJhdGlvbl9idW1wX3NjYWxlXHUwMDNkMC45XHUwMDI2d2ViX3BsYXllcl9zZWVrX292ZXJsYXlfbGluZ2VyX2R1cmF0aW9uXHUwMDNkMTAwMFx1MDAyNndlYl9wbGF5ZXJfc2VudGluZWxfaXNfdW5pcGxheWVyXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfc2hvd19tdXNpY19pbl90aGlzX3ZpZGVvX2dyYXBoaWNcdTAwM2R2aWRlb190aHVtYm5haWxcdTAwMjZ3ZWJfcGxheWVyX3NzX2RhaV9hZF9mZXRjaGluZ190aW1lb3V0X21zXHUwMDNkMTUwMDBcdTAwMjZ3ZWJfcGxheWVyX3RvdWNoX2lkbGVfd2FpdF90aW1lX21zXHUwMDNkNDAwMFx1MDAyNndlYl9wbGF5ZXJfdHJhbnNmZXJfdGltZW91dF90aHJlc2hvbGRfbXNcdTAwM2QxMDgwMDAwMFx1MDAyNndlYl9wbGF5ZXJfdXBkYXRlZF9lbnRyeXBvaW50XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdXNlX2NpbmVtYXRpY19sYWJlbF8yXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdXNlX25ld19hcGlfZm9yX3F1YWxpdHlfcHVsbGJhY2tcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl91c2Vfc2NyZWVuX3dpZHRoX2Zvcl9iaWdfbW9kZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcHJlZmV0Y2hfcHJlbG9hZF92aWRlb1x1MDAzZHRydWVcdTAwMjZ3ZWJfcHJvZ3Jlc3NfYmFyX2RyYWdnYWJsZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcHJvcGFnYXRlX3Zpc2liaWxpdHlfdG9fYXBwbGljYXRpb25fc3RhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX3JlbWl4X2FsbG93X3VwX3RvXzN4X3BsYXliYWNrX3JhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX3JlbW92ZV9icm9rZW5fc3Vic2NyaWJlX2VuZHNjcmVlblx1MDAzZHRydWVcdTAwMjZ3ZWJfc2Vzc2lvbl9yZXBsYXlfbW91c2Vtb3ZlX2ludGVydmFsXHUwMDNkMFx1MDAyNndlYl9zZXNzaW9uX3JlcGxheV9zY3JvbGxfaW50ZXJ2YWxcdTAwM2QwXHUwMDI2d2ViX3Nlc3Npb25fcmVwbGF5X3NlbmRfYWZ0ZXJfdGltZW91dFx1MDAzZDBcdTAwMjZ3ZWJfc2V0dGluZ3NfbWVudV9zdXJmYWNlX2N1c3RvbV9wbGF5YmFja1x1MDAzZHRydWVcdTAwMjZ3ZWJfc2V0dGluZ3NfdXNlX2lucHV0X3NsaWRlclx1MDAzZHRydWVcdTAwMjZ3ZWJfc2hvcnRzX2F1ZGlvX3RyYWNrX3BpY2tlclx1MDAzZHRydWVcdTAwMjZ3ZWJfdHJhY2luZ19lbmFibGVkX3NwYW5zXHUwMDNkW2V2ZW50LCBjb21tYW5kXVx1MDAyNndlYl90cmFjaW5nX3Nlc3Npb25fcmVwbGF5XHUwMDNkMFx1MDAyNndlYl91bmlmaWVkX2ZldGNoXHUwMDNkdHJ1ZVx1MDAyNndlYl93YXRjaF9kaXNhYmxlX2FjY291bnRfbGV2ZWxfY2FwdGlvbnNfc2V0dGluZ3NcdTAwM2R0cnVlXHUwMDI2d2VicG9fZXhpdF9vbl9uZXRfZXJyXHUwMDNkdHJ1ZVx1MDAyNndpbF9pY29uX21heF9jb25jdXJyZW50X2ZldGNoZXNcdTAwM2Q5OTk5XHUwMDI2d2l6X2RpZmZfb3ZlcndyaXRhYmxlXHUwMDNkdHJ1ZVx1MDAyNndpel93cmFwcGVyX2NhbGxiYWNrX3Byb3BzX2ZpeFx1MDAzZHRydWVcdTAwMjZ3b2ZmbGVfZW5hYmxlX2Rvd25sb2FkX3N0YXR1c1x1MDAzZHRydWVcdTAwMjZ3cml0ZV9yZWxvYWRfcGxheWVyX3Jlc3BvbnNlX3Rva2VuX3RvX3VzdHJlYW1lcl9jb25maWdfZm9yX3ZvZFx1MDAzZHRydWVcdTAwMjZ3c19hdjFfbWF4X2hlaWdodF9mbG9vclx1MDAzZDBcdTAwMjZ3c19hdjFfbWF4X3dpZHRoX2Zsb29yXHUwMDNkMFx1MDAyNndzX3VzZV9jZW50cmFsaXplZF9ocWFfZmlsdGVyXHUwMDNkdHJ1ZVx1MDAyNnd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdFx1MDAzZHRydWVcdTAwMjZ5dGNzaV9kZWJ1Z19tYXhfc2l6ZVx1MDAzZDEwMFx1MDAyNnl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzXHUwMDNkMVx1MDAyNnl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzXHUwMDNkMFx1MDAyNnl0aWRiX3RyYW5zYWN0aW9uX2VuZGVkX2V2ZW50X3JhdGVfbGltaXRcdTAwM2QwLjAyIiwic3RhcnRNdXRlZCI6ZmFsc2UsIm1vYmlsZUlwaG9uZVN1cHBvcnRzSW5saW5lUGxheWJhY2siOnRydWUsImlzTW9iaWxlRGV2aWNlIjpmYWxzZSwiY3NwTm9uY2UiOiJSTkpicENzX2pXZjk2T3FwaWs2NkF3IiwiY2FuYXJ5U3RhdGUiOiJub25lIiwiZW5hYmxlQ3NpTG9nZ2luZyI6dHJ1ZSwibG9hZGVyVXJsIjoiaHR0cHM6Ly9kaWdpdGFsdHJhZGVpbnZlc3Qub3JnLyIsImRpc2FibGVBdXRvbmF2IjpmYWxzZSwiaXNFbWJlZCI6dHJ1ZSwiZGlzYWJsZUNhc3RBcGkiOmZhbHNlLCJzZXJpYWxpemVkRW1iZWRDb25maWciOiJ7fSIsImRpc2FibGVNZHhDYXN0IjpmYWxzZSwiZGF0YXN5bmNJZCI6IlY2YWEyOTcxNHx8Iiwic3RvcmVVc2VyVm9sdW1lIjp0cnVlLCJkaXNhYmxlUGFpZENvbnRlbnRPdmVybGF5Ijp0cnVlLCJlbmNyeXB0ZWRIb3N0RmxhZ3MiOiJBQ21ibEJXajlyXzVFclR1TjlYYXhiSm12WkppdHVOZjhkZzJEajVZOExnV1RaNnQwbFpmS2RGVTF0bmdwc21PYTg3QWxxcXRNZGFJdUoxWFgwc0Q4UWwyQ0NpQ1F2Y01fcTVQQkxwQkFWaUp4SjdoenJScTd1cDZmQWdXWEh3VWZVTlBHUGsiLCJjYW5hcnlTdGFnZSI6IiIsInRydXN0ZWRKc1VybCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvcGxheWVyX2VtYmVkX2VzNi52ZmxzZXQvZW5fVVMvYmFzZS5qcyJ9LCJ0cnVzdGVkQ3NzVXJsIjp7InByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSI6Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyJ9LCJob3VzZUJyYW5kVXNlclN0YXR1cyI6Im5vdF9wcmVzZW50IiwiZW1iZWRzRW5hYmxlRW1jM2RzIjp0cnVlLCJkaXNhYmxlT3JnYW5pY1VpIjp0cnVlLCJlbmFibGVTYWJyT25FbWJlZCI6ZmFsc2UsInNlcmlhbGl6ZWRDbGllbnRFeHBlcmltZW50RmxhZ3MiOiI0NTcxODE3NVx1MDAzZDAuMFx1MDAyNjQ1NzE4MTc2XHUwMDNkMC4wMVx1MDAyNjQ1NzI1NTM4XHUwMDNkMC4wXHUwMDI2NDU3MjU1MzlcdTAwM2QwLjBcdTAwMjY0NTcyNTU0MFx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQxXHUwMDNkMC4wXHUwMDI2NDU3MjU1NDJcdTAwM2QwLjBcdTAwMjY0NTcyNTU0M1x1MDAzZDAuMFx1MDAyNjQ1NzI4NTUzXHUwMDNkdHJ1ZVx1MDAyNjQ1NzI4NTcyXHUwMDNkdHJ1ZVx1MDAyNjQ1NzI5MjE1XHUwMDNkdHJ1ZVx1MDAyNjQ1NzMyNzA0XHUwMDNkdHJ1ZVx1MDAyNjQ1NzMyNzkxXHUwMDNkdHJ1ZVx1MDAyNjQ1NzM1NDI4XHUwMDNkNDAwMC4wXHUwMDI2NDU3Mzc0ODhcdTAwM2QwLjBcdTAwMjY0NTczNzQ4OVx1MDAzZDAuMFx1MDAyNjQ1NzM5MDIzXHUwMDNkMC4wXHUwMDI2NDU3NDEzMzlcdTAwM2QwLjBcdTAwMjY0NTc0MTc3M1x1MDAzZDAuMFx1MDAyNjQ1NzQzMjI4XHUwMDNkMC4wXHUwMDI2NDU3NDU2MTBcdTAwM2R0cnVlXHUwMDI2NDU3NDY5NjZcdTAwM2QwLjBcdTAwMjY0NTc0Njk2N1x1MDAzZDAuMFx1MDAyNjQ1NzQ3MDUzXHUwMDNkMC4wXHUwMDI2NDU3NTA5NDdcdTAwM2QxMDI0MFx1MDAyNjQ1NzU2MjAxXHUwMDNkdHJ1ZVx1MDAyNjQ1NzU2ODcyXHUwMDNkMC4wXHUwMDI2NDU3NTc0MjZcdTAwM2QwLjBcdTAwMjY0NTc1NzQyN1x1MDAzZDAuMFx1MDAyNjQ1NzU3NzUwXHUwMDNkMC4wXHUwMDI2NDU3NTc5NTdcdTAwM2QwLjBcdTAwMjY0NTc1ODQ2N1x1MDAzZDAuMFx1MDAyNjQ1NzYwMDE4XHUwMDNkdHJ1ZVx1MDAyNjQ1NzYxNzYwXHUwMDNkMjAwXHUwMDI2NDU3NjI4MzhcdTAwM2QwXHUwMDI2NDU3NjQyMTdcdTAwM2QwLjBcdTAwMjY0NTc2NDI1Mlx1MDAzZDAuMFx1MDAyNjQ1NzY0NTIzXHUwMDNkMC4wXHUwMDI2NDU3NjQ1MjRcdTAwM2QwLjBcdTAwMjY0NTc2NDU5M1x1MDAzZDAuMFx1MDAyNjQ1NzY1MDc3XHUwMDNkdHJ1ZVx1MDAyNjQ1NzY1NTY4XHUwMDNkMC4wXHUwMDI2NDU3NjU2MDJcdTAwM2QwLjBcdTAwMjY0NTc2NTY4MFx1MDAzZHRydWVcdTAwMjY0NTc2NjUxMVx1MDAzZHRydWVcdTAwMjY0NTc2Nzc2M1x1MDAzZDAuMFx1MDAyNjQ1NzY3OTQzXHUwMDNkMC4wXHUwMDI2NDU3NjgzNDBcdTAwM2QwLjBcdTAwMjY0NTc2ODQzMFx1MDAzZDAuMFx1MDAyNjQ1NzY5MTE5XHUwMDNkdHJ1ZVx1MDAyNjQ1NzY5MjE0XHUwMDNkMC4wXHUwMDI2NDU3NzAwMDFcdTAwM2QwLjBcdTAwMjY0NTc3MDAwMlx1MDAzZDAuMFx1MDAyNjQ1NzcwMTM1XHUwMDNkdHJ1ZVx1MDAyNjQ1NzcxMjg4XHUwMDNkdHJ1ZVx1MDAyNjQ1NzcxODkwXHUwMDNkMC4wXHUwMDI2NDU3NzM2MDNcdTAwM2QwLjBcdTAwMjY0NTc3MzYwNFx1MDAzZDAuMFx1MDAyNjQ1Nzc1NzU3XHUwMDNkdHJ1ZVx1MDAyNjQ1Nzc1NzkxXHUwMDNkMC4wXHUwMDI2NDU3NzU3OTJcdTAwM2QwLjBcdTAwMjY0NTc3NjE5MFx1MDAzZDAuMFx1MDAyNjQ1Nzc4NjYzXHUwMDNkMC4wXHUwMDI2NDU3Nzg2NzFcdTAwM2QwLjBcdTAwMjY0NTc4Mzg3NVx1MDAzZHRydWVcdTAwMjY0NTc4NDQzOVx1MDAzZDBcdTAwMjY0NTc4NjQ0M1x1MDAzZDAuMFx1MDAyNjQ1Nzg3OTQ4XHUwMDNkdHJ1ZVx1MDAyNjQ1Nzg5NDc0XHUwMDNkdHJ1ZVx1MDAyNjQ1NzkxMTE3XHUwMDNkMC4wXHUwMDI2NDU3OTExMThcdTAwM2QwLjBcdTAwMjY0NTc5MTExOVx1MDAzZDAuMFx1MDAyNjQ1NzkzNzEwXHUwMDNkMC4wXHUwMDI2NDU3OTQ0NDFcdTAwM2QwLjBcdTAwMjY0NTc5NDg2OFx1MDAzZHRydWVcdTAwMjY0NTc5NzcyMVx1MDAzZHRydWVcdTAwMjY0NTc5Nzk2M1x1MDAzZDAuMFx1MDAyNjQ1ODAyMTIzXHUwMDNkMC4wXHUwMDI2NDU4MDM3NTRcdTAwM2QwLjBcdTAwMjY0NTgwNDc3MVx1MDAzZDAuMFx1MDAyNjQ1ODA1Njk1XHUwMDNkMC4wXHUwMDI2NDU4MDY1NTVcdTAwM2QyXHUwMDI2NDU4MDc0MzJcdTAwM2QwLjBcdTAwMjY0NTgwNzQ4NFx1MDAzZFx1MDAyNjQ1ODA3NzcxXHUwMDNkMC4wXHUwMDI2NDU4MDc3NzJcdTAwM2QwLjBcdTAwMjY0NTgwNzc3M1x1MDAzZDAuMFx1MDAyNjQ1ODA4NzYyXHUwMDNkMFx1MDAyNjQ1ODE0NDgwXHUwMDNkdHJ1ZVx1MDAyNjQ1ODE1MDExXHUwMDNkMC4wXHUwMDI2NDU4MTU2MzBcdTAwM2QwXHUwMDI2NDU4MTY4ODhcdTAwM2QwLjBcdTAwMjY0NTgxODEyOFx1MDAzZDAuMCJ9fSwiWFNSRl9GSUVMRF9OQU1FIjoic2Vzc2lvbl90b2tlbiIsIlhTUkZfVE9LRU4iOiJRVU00Wm05clVYcGpiMk5DU1dVM1JHaElkVVl0VVMwM1FtNW5YM3hCUjNKaVMyRnRkREZYUTIwd05HTXdOVk50YmpWck1XMHROVkJsWVV3d2JYWjZPVGhCYlU4NWFsWm9hMWRqVVZkM2RGUkJjSFpSWTJVek1WQjVXQzFTUkRWRVFrMUNhMjlETFY5R2IwUllSbDlQT0hsQ1dFZFRaM1Z0V0Y5V2NrRnlabk1cdTAwM2QiLCJTRVJWRVJfVkVSU0lPTiI6InByb2QiLCJEQVRBU1lOQ19JRCI6IlY2YWEyOTcxNHx8IiwiU0VSSUFMSVpFRF9DTElFTlRfQ09ORklHX0RBVEEiOiJDTjNYbTlNR0VMYjRnQk1RanBEUkhCQ1pqYkVGRUw2RTBSd1E0TGZSSEJESy00QVRFUGIzMFJ3UXVPVE9IQkNIck00Y0VMMjJyZ1VRcnRiUEhCQ0o1TkVjRUx5azBCd1FpNGU0SWhBQUVONjh6aHdRNmZqUkhCQ0J6YzRjRU16ZnJnVVE4TjdSSEJEQmo5QWNFT0RxMFJ3UWlKRFJIQkMtaXJBRkVQYXJzQVVRLU1TQUV4RHh0TkFjRUoyR3VDSVF5ZmFBRXhDTDk4OGNFSl9QZ0JNUXE1SFJIQkNrcWRFY0VQeXl6aHdRbmRDd0JSQ1c3OUVjRU5yM3pod1Eyb1hRSEJDRzRZQVRFUG55MFJ3UWc0ZTRJaENKc000Y0VMancwUndRc0liUEhCQzltYkFGRVBUcDBSd1FvX3pSSEJDTGg5SWNLbXhEUVUxVFZGSldUeTFhY1MxRVRXVlZSWEJWUTI1Qk56VkdXRXRxUW5WRlYzRk9WVkI1UVUxTmRrRmlYMFJsVVVjd1RHNXdRM3BMWjNKQlVVUnJTelJFTFhsaE1qVkJZbXRvVW1aUmVrRmlSV3RuV0V4UVkxVnVNbVJWUmpORGVtMVNkRmQxTjNnM1lrSm9NRWd3QUElM0QlM0QiLCJST09UX1ZFX1RZUEUiOjE2NjIzLCJDTElFTlRfUFJPVE9DT0wiOiJoMiIsIkNMSUVOVF9UUkFOU1BPUlQiOiJ0Y3AiLCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iOiIxLjIwMjYwNzIxLjA4LjAwIiwiVElNRV9DUkVBVEVEX01TIjoxNzg1MTI5OTQ5MzI2LCJWQUxJRF9TRVNTSU9OX1RFTVBEQVRBX0RPTUFJTlMiOlsieW91dHUuYmUiLCJ5b3V0dWJlLmNvbSIsInd3dy55b3V0dWJlLmNvbSIsIndlYi1ncmVlbi1xYS55b3V0dWJlLmNvbSIsIndlYi1yZWxlYXNlLXFhLnlvdXR1YmUuY29tIiwid2ViLWludGVncmF0aW9uLXFhLnlvdXR1YmUuY29tIiwibS55b3V0dWJlLmNvbSIsIm13ZWItZ3JlZW4tcWEueW91dHViZS5jb20iLCJtd2ViLXJlbGVhc2UtcWEueW91dHViZS5jb20iLCJtd2ViLWludGVncmF0aW9uLXFhLnlvdXR1YmUuY29tIiwic3R1ZGlvLnlvdXR1YmUuY29tIiwic3R1ZGlvLWdyZWVuLXFhLnlvdXR1YmUuY29tIiwic3R1ZGlvLWludGVncmF0aW9uLXFhLnlvdXR1YmUuY29tIl0sIkxPVFRJRV9VUkwiOnsicHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlIjoiL3MvZW1iZWRzLzMyZDJhYzgzL2xvdHRpZS1saWdodC52ZmxzZXQvbG90dGllLWxpZ2h0LmpzIn0sIklERU5USVRZX01FTUVOVE8iOnsidmlzaXRvcl9kYXRhIjoiQ2d0d01IbzFaR05LVFdWdVp5amQxNXZUQmpJb0NnSk9UeElpRWg0U0hBc01EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY2dFbUxmQWdyY0FqSXdMbGxVUFZOU2EwSlRVa2xpYm1kWU1WVnpOSFpGU0dabmRUZFZla1ZHTWtsSmJuaDVURU5wVFhKelRVZHpPVEZ0UTNGTVYwOWxlRGsxWkY4MkxYTTFjMVIzVmxSa2RFbG5VVzlHUTJaTlNtTnVPREl4V1dzelZUSlRjRUZGTkY5S2RGZEJVVVZCVUhWamVWWlNUazFyWW13MFdUTnRZVkJzUlVoNFRteDVYMkY1YjBsTU4yNVNkR0ZFTkdaaVFYcFFVRlJUWjBScmNXRnlXRGhSV2pScVdGQmFjalZDTFZsSllWVk1PRXhDTlc5aVREZFVVMU5uUVhsdWJHNXJWVlJ5WkZkaWVIUTBiRlIxYUc1RGJraGtOVXRvU1V0V01XTkNXVUpwUW1aaU9VdHliamR0TVU5VVdHMXBUbTlWZUZsT2MwdzFUM05EYTJaTU4yaGtRMmw1ZFU5dmNuSTRWSFpoTUVRNVUwWnZZVnBIZDJsQlZHVndUWHBVTVdWNVpqUmpabEZvZUc5eVdXc3dXV1JUWTFoTllYRkRVMDl2UjAwM01IUXpXSGh5Y1VzeFRYSlRTME0yU0hCZk4wVjNVMnR1V0VndGNqQnlZMnRFWnclM0QlM0QifSwiTVdFQl9TVVBQT1JUU19ET1VCTEVfVEFQX1RPX1NFRUsiOnRydWUsIlBMQVlFUl9WQVJTIjp7ImVtYmVkZGVkX3BsYXllcl9yZXNwb25zZSI6IntcInJlc3BvbnNlQ29udGV4dFwiOntcInNlcnZpY2VUcmFja2luZ1BhcmFtc1wiOlt7XCJzZXJ2aWNlXCI6XCJDU0lcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNcIixcInZhbHVlXCI6XCJXRUJfRU1CRURERURfUExBWUVSXCJ9LHtcImtleVwiOlwiY3ZlclwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjQuMDEuMDBcIn0se1wia2V5XCI6XCJ5dF9saVwiLFwidmFsdWVcIjpcIjBcIn0se1wia2V5XCI6XCJHZXRFbWJlZGRlZFBsYXllcl9yaWRcIixcInZhbHVlXCI6XCIweDQwYzliMmUxOWUzMzFkOGRcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHRkVFREJBQ0tcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHVUlERURfSEVMUFwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkVDQVRDSEVSXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjbGllbnQudmVyc2lvblwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjRcIn0se1wia2V5XCI6XCJjbGllbnQubmFtZVwiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn1dfV0sXCJyZXNwb25zZUlkXCI6XCJJaE1JNGRTSHBJX3lsUU1WS1o3MEJ4MFdMaGVTXCIsXCJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXCI6e1wiaGFzRGVjb3JhdGVkXCI6dHJ1ZX19LFwiZW1iZWRQcmV2aWV3XCI6e1widGh1bWJuYWlsUHJldmlld1JlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIkhvdyB0byB1c2UgQ29pbmJhc2UgdG8gQnV5IGFuZCBTZWxsIENyeXB0b2N1cnJlbmN5XCJ9XX0sXCJkZWZhdWx0VGh1bWJuYWlsXCI6e1widGh1bWJuYWlsc1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC9IN09pWk9fOWFoRS9kZWZhdWx0LndlYnBcIixcIndpZHRoXCI6MTIwLFwiaGVpZ2h0XCI6OTB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9IN09pWk9fOWFoRS9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0VlQ0tnQkVGNUlWZktyaXFrREVRZ0JGUUFBaUVJWUFYQUJ3QUVHdUFJWW92T1hfd01LQ09LSDFJSUdHT0NvQVFcdTAwM2RcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xDZDlOU0pyVXp3bnQtUDhHY05LNzhFUkUtSUpBXFx1MDAyNnVzcXBcdTAwM2RDQmdcIixcIndpZHRoXCI6MTY4LFwiaGVpZ2h0XCI6OTR9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9IN09pWk9fOWFoRS9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0VlQ01RQkVHNUlWZktyaXFrREVRZ0JGUUFBaUVJWUFYQUJ3QUVHdUFJWW92T1hfd01LQ09LSDFJSUdHT0NvQVFcdTAwM2RcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xERS1mN2piZXFqc0RKaFhUR3lFY2hRSFlQV0tRXFx1MDAyNnVzcXBcdTAwM2RDQmdcIixcIndpZHRoXCI6MTk2LFwiaGVpZ2h0XCI6MTEwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvSDdPaVpPXzlhaEUvaHFkZWZhdWx0LmpwZz9zcXBcdTAwM2Qtb2F5bXdFZkNQWUJFSW9CU0ZYeXE0cXBBeEVJQVJVQUFJaENHQUZ3QWNBQkJyZ0NHS0x6bF84RENnamloOVNDQmhqZ3FBRVx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTER6Y2VQMU5EWkhycHlGbk5ISl80MTE2eWNKSFFcXHUwMDI2dXNxcFx1MDAzZENCZ1wiLFwid2lkdGhcIjoyNDYsXCJoZWlnaHRcIjoxMzh9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aV93ZWJwL0g3T2laT185YWhFL21xZGVmYXVsdC53ZWJwXCIsXCJ3aWR0aFwiOjMyMCxcImhlaWdodFwiOjE4MH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL0g3T2laT185YWhFL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWZDTkFDRUx3QlNGWHlxNHFwQXhFSUFSVUFBSWhDR0FGd0FjQUJCcmdDR0tMemxfOERDZ2ppaDlTQ0JoamdxQUVcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xCWTJlT0FRdDN6a3lYaGVoYWlWOWFFRm45S2tBXFx1MDAyNnVzcXBcdTAwM2RDQmdcIixcIndpZHRoXCI6MzM2LFwiaGVpZ2h0XCI6MTg4fSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmlfd2VicC9IN09pWk9fOWFoRS9ocWRlZmF1bHQud2VicFwiLFwid2lkdGhcIjo0ODAsXCJoZWlnaHRcIjozNjB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aV93ZWJwL0g3T2laT185YWhFL3NkZGVmYXVsdC53ZWJwXCIsXCJ3aWR0aFwiOjY0MCxcImhlaWdodFwiOjQ4MH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpX3dlYnAvSDdPaVpPXzlhaEUvbWF4cmVzZGVmYXVsdC53ZWJwXCIsXCJ3aWR0aFwiOjE5MjAsXCJoZWlnaHRcIjoxMDgwfV19LFwicGxheUJ1dHRvblwiOntcImJ1dHRvblJlbmRlcmVyXCI6e1wic3R5bGVcIjpcIlNUWUxFX0RFRkFVTFRcIixcInNpemVcIjpcIlNJWkVfREVGQVVMVFwiLFwiaXNEaXNhYmxlZFwiOmZhbHNlLFwibmF2aWdhdGlvbkVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FvUThGc2lFd2poMUlla2pfS1ZBeFVwbnZRSEhSWXVGNUxLQVFTeThZQ05cIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiL3dhdGNoP3ZcdTAwM2RIN09pWk9fOWFoRVwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfV0FUQ0hcIixcInJvb3RWZVwiOjM4MzJ9fSxcIndhdGNoRW5kcG9pbnRcIjp7XCJ2aWRlb0lkXCI6XCJIN09pWk9fOWFoRVwifX0sXCJhY2Nlc3NpYmlsaXR5XCI6e1wibGFiZWxcIjpcIlBsYXkgSG93IHRvIHVzZSBDb2luYmFzZSB0byBCdXkgYW5kIFNlbGwgQ3J5cHRvY3VycmVuY3lcIn0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FvUThGc2lFd2poMUlla2pfS1ZBeFVwbnZRSEhSWXVGNUlcdTAwM2RcIn19LFwidmlkZW9EZXRhaWxzXCI6e1wiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXJcIjp7XCJjaGFubmVsVGh1bWJuYWlsXCI6e1widGh1bWJuYWlsc1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8veXQzLmdncGh0LmNvbS9kallaVnh0eXdORXdQU0dTbW5hMXRnWWkwZENCbXc0Y1pTT0tTTkYzdXNDVWpXLTNfSjQxU0NJWUg4a045VGlDNEtiZXZrRy1cdTAwM2RzNjgtYy1rLWMweDAwZmZmZmZmLW5vLXJqXCIsXCJ3aWR0aFwiOjY4LFwiaGVpZ2h0XCI6Njh9XX0sXCJjb2xsYXBzZWRSZW5kZXJlclwiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0NvbGxhcHNlZFJlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIkhvdyB0byB1c2UgQ29pbmJhc2UgdG8gQnV5IGFuZCBTZWxsIENyeXB0b2N1cnJlbmN5XCIsXCJuYXZpZ2F0aW9uRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQWtRNDZJQ0loTUk0ZFNIcElfeWxRTVZLWjcwQngwV0xoZVN5Z0VFc3ZHQWpRXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2RIN09pWk9fOWFoRVwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkSDdPaVpPXzlhaEVcIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fV19LFwic3VidGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIjQ0N0sgdmlld3Mg4oCiIDFLIGNvbW1lbnRzXCJ9XX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FrUTQ2SUNJaE1JNGRTSHBJX3lsUU1WS1o3MEJ4MFdMaGVTXCJ9fSxcImV4cGFuZGVkUmVuZGVyZXJcIjp7XCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNFeHBhbmRlZFJlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIlNraWxsIExlYXAgQUlcIn1dfSxcInN1YnRpdGxlXCI6e1wicnVuc1wiOlt7XCJ0ZXh0XCI6XCIzMzVLIHN1YnNjcmliZXJzXCJ9XX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FnUTVLSUNJaE1JNGRTSHBJX3lsUU1WS1o3MEJ4MFdMaGVTXCJ9fSxcImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSTRkU0hwSV95bFFNVktaNzBCeDBXTGhlU3lnRUVzdkdBalFcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiL2NoYW5uZWwvVUN3U296bDg5amwyelVEelE0akdKRDNnXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcIi9jaGFubmVsL1VDd1Nvemw4OWpsMnpVRHpRNGpHSkQzZ1wiLFwidGFyZ2V0XCI6XCJUQVJHRVRfTkVXX1dJTkRPV1wifX19fSxcInZpZGVvRHVyYXRpb25TZWNvbmRzXCI6XCI0MTdcIixcIndlYlBsYXllckFjdGlvbnNQb3J0aW5nXCI6e1wiZ2V0U2hhcmVQYW5lbENvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUk0ZFNIcElfeWxRTVZLWjcwQngwV0xoZVN5Z0VFc3ZHQWpRXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9zaGFyZS9nZXRfd2ViX3BsYXllcl9zaGFyZV9wYW5lbFwifX0sXCJ3ZWJQbGF5ZXJTaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludFwiOntcInNlcmlhbGl6ZWRTaGFyZUVudGl0eVwiOlwiQ2d0SU4wOXBXazlmT1dGb1JRJTNEJTNEXCJ9fSxcInN1YnNjcmliZUNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUk0ZFNIcElfeWxRTVZLWjcwQngwV0xoZVN5Z0VFc3ZHQWpRXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJzZW5kUG9zdFwiOnRydWUsXCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9zdWJzY3JpcHRpb24vc3Vic2NyaWJlXCJ9fSxcInN1YnNjcmliZUVuZHBvaW50XCI6e1wiY2hhbm5lbElkc1wiOltcIlVDd1Nvemw4OWpsMnpVRHpRNGpHSkQzZ1wiXSxcInBhcmFtc1wiOlwiRWdJSUJ4Z0FcIn19LFwidW5zdWJzY3JpYmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1JNGRTSHBJX3lsUU1WS1o3MEJ4MFdMaGVTeWdFRXN2R0FqUVx1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wic2VuZFBvc3RcIjp0cnVlLFwiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvc3Vic2NyaXB0aW9uL3Vuc3Vic2NyaWJlXCJ9fSxcInVuc3Vic2NyaWJlRW5kcG9pbnRcIjp7XCJjaGFubmVsSWRzXCI6W1wiVUN3U296bDg5amwyelVEelE0akdKRDNnXCJdLFwicGFyYW1zXCI6XCJDZ0lJQnhnQVwifX0sXCJhZGRUb1dhdGNoTGF0ZXJDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1JNGRTSHBJX3lsUU1WS1o3MEJ4MFdMaGVTeWdFRXN2R0FqUVx1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvYnJvd3NlL2VkaXRfcGxheWxpc3RcIn19LFwicGxheWxpc3RFZGl0RW5kcG9pbnRcIjp7XCJwbGF5bGlzdElkXCI6XCJXTFwiLFwiYWN0aW9uc1wiOlt7XCJhZGRlZFZpZGVvSWRcIjpcIkg3T2laT185YWhFXCIsXCJhY3Rpb25cIjpcIkFDVElPTl9BRERfVklERU9cIn1dfX0sXCJyZW1vdmVGcm9tV2F0Y2hMYXRlckNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUk0ZFNIcElfeWxRTVZLWjcwQngwV0xoZVN5Z0VFc3ZHQWpRXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9icm93c2UvZWRpdF9wbGF5bGlzdFwifX0sXCJwbGF5bGlzdEVkaXRFbmRwb2ludFwiOntcInBsYXlsaXN0SWRcIjpcIldMXCIsXCJhY3Rpb25zXCI6W3tcImFjdGlvblwiOlwiQUNUSU9OX1JFTU9WRV9WSURFT19CWV9WSURFT19JRFwiLFwicmVtb3ZlZFZpZGVvSWRcIjpcIkg3T2laT185YWhFXCJ9XX19fSxcImluZm9QYW5lbFwiOntcImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyXCI6e1wiaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWxcIjp7XCJoZWFkZXJJY29uXCI6e1wiaWNvblR5cGVcIjpcIk9QRU5fSU5fTkVXXCJ9LFwiZm9yd2FyZEFjdGlvbkljb25cIjp7XCJpY29uVHlwZVwiOlwiQ0hFVlJPTl9SSUdIVFwifSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQWNRLU04SkloTUk0ZFNIcElfeWxRTVZLWjcwQngwV0xoZVNcIixcImRpc21pc3NTdGF0ZUVudGl0eUtleVwiOlwiRWdwaGFWOWtkV0ppYVc1bklKd0VLQUUlM0RcIixcImxvZ2dpbmdEaXJlY3RpdmVzXCI6e1widHJhY2tpbmdQYXJhbXNcIjpcIkNBY1EtTThKSWhNSTRkU0hwSV95bFFNVktaNzBCeDBXTGhlU1wiLFwiYXR0ZW50aW9uTG9nZ2luZ1wiOlwiQVRURU5USU9OX0xPR0dJTkdfQkFTSUNcIn19LFwiaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbFwiOntcImN0YUJ1dHRvbnNcIjpbe1wiY2FsbFRvQWN0aW9uQnV0dG9uVmlld01vZGVsXCI6e1wiaWNvblwiOntcImljb25UeXBlXCI6XCJIRUxQX09VVExJTkVcIn0sXCJib2R5VGV4dFwiOntcImNvbnRlbnRcIjpcIldoeSBhbSBJIHNlZWluZyB0aGlzP1wifSxcIm9uVGFwXCI6e1wiaW5uZXJ0dWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBWVE5czhKR0FBaUV3amgxSWVral9LVkF4VXBudlFISFJZdUY1TEtBUVN5OFlDTlwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCIvL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlL2Fuc3dlci85MDA0NDc0P2hsXHUwMDNkZW5cIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiLy9zdXBwb3J0Lmdvb2dsZS5jb20veW91dHViZS9hbnN3ZXIvOTAwNDQ3ND9obFx1MDAzZGVuXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FZUTlzOEpHQUFpRXdqaDFJZWtqX0tWQXhVcG52UUhIUll1RjVJXHUwMDNkXCIsXCJsb2dnaW5nRGlyZWN0aXZlc1wiOntcInRyYWNraW5nUGFyYW1zXCI6XCJDQVlROXM4SkdBQWlFd2poMUlla2pfS1ZBeFVwbnZRSEhSWXVGNUlcdTAwM2RcIixcImdlc3R1cmVzXCI6e1widHlwZXNcIjpcIjJcIn19fX1dLFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBVVE5ODhKSWhNSTRkU0hwSV95bFFNVktaNzBCeDBXTGhlU1wiLFwibG9nZ2luZ0RpcmVjdGl2ZXNcIjp7XCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FVUTk4OEpJaE1JNGRTSHBJX3lsUU1WS1o3MEJ4MFdMaGVTXCJ9fSxcImR1cmF0aW9uTXNcIjpcIjEwMDAwXCJ9fSxcImFjdGlvbkJhckJ1dHRvbnNcIjpbe1wiYnV0dG9uUmVuZGVyZXJcIjp7XCJzdHlsZVwiOlwiU1RZTEVfT1BBQ0lUWVwiLFwic2l6ZVwiOlwiU0laRV9ERUZBVUxUXCIsXCJpc0Rpc2FibGVkXCI6ZmFsc2UsXCJpY29uXCI6e1wiaWNvblR5cGVcIjpcIlNIQVJFX0FSUk9XXCJ9LFwibmF2aWdhdGlvbkVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FRUS1OOEJHQUFpRXdqaDFJZWtqX0tWQXhVcG52UUhIUll1RjVMS0FRU3k4WUNOXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJpZ25vcmVOYXZpZ2F0aW9uXCI6dHJ1ZX19LFwic2hhcmVFbnRpdHlFbmRwb2ludFwiOntcInNlcmlhbGl6ZWRTaGFyZUVudGl0eVwiOlwiQ2d0SU4wOXBXazlmT1dGb1JRJTNEJTNEXCIsXCJzaGFyZVBhbmVsVHlwZVwiOlwiU0hBUkVfUEFORUxfVFlQRV9VTklGSUVEX1NIQVJFX1BBTkVMXCJ9fSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQVFRLU44QkdBQWlFd2poMUlla2pfS1ZBeFVwbnZRSEhSWXVGNUlcdTAwM2RcIixcImFjY2Vzc2liaWxpdHlEYXRhXCI6e1wiYWNjZXNzaWJpbGl0eURhdGFcIjp7XCJsYWJlbFwiOlwiU2hhcmVcIn19fX0se1wiYnV0dG9uUmVuZGVyZXJcIjp7XCJzdHlsZVwiOlwiU1RZTEVfT1BBQ0lUWVwiLFwic2l6ZVwiOlwiU0laRV9ERUZBVUxUXCIsXCJpc0Rpc2FibGVkXCI6ZmFsc2UsXCJzZXJ2aWNlRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQU1RLWQ4QkdBRWlFd2poMUlla2pfS1ZBeFVwbnZRSEhSWXVGNUxLQVFTeThZQ05cIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL2Jyb3dzZS9lZGl0X3BsYXlsaXN0XCJ9fSxcInBsYXlsaXN0RWRpdEVuZHBvaW50XCI6e1wicGxheWxpc3RJZFwiOlwiV0xcIixcImFjdGlvbnNcIjpbe1wiYWRkZWRWaWRlb0lkXCI6XCJIN09pWk9fOWFoRVwiLFwiYWN0aW9uXCI6XCJBQ1RJT05fQUREX1ZJREVPXCJ9XX19LFwiaWNvblwiOntcImljb25UeXBlXCI6XCJBRERfVE9fV0FUQ0hfTEFURVJcIn0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FNUS1kOEJHQUVpRXdqaDFJZWtqX0tWQXhVcG52UUhIUll1RjVJXHUwMDNkXCIsXCJhY2Nlc3NpYmlsaXR5RGF0YVwiOntcImFjY2Vzc2liaWxpdHlEYXRhXCI6e1wibGFiZWxcIjpcIldhdGNoIGxhdGVyXCJ9fSxcImNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQU1RLWQ4QkdBRWlFd2poMUlla2pfS1ZBeFVwbnZRSEhSWXVGNUxLQVFTeThZQ05cIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL1NlcnZpY2VMb2dpbj9zZXJ2aWNlXHUwMDNkeW91dHViZVxcdTAwMjZ1aWxlbFx1MDAzZDNcXHUwMDI2cGFzc2l2ZVx1MDAzZHRydWVcXHUwMDI2Y29udGludWVcdTAwM2RodHRwcyUzQSUyRiUyRnd3dy55b3V0dWJlLmNvbSUyRnNpZ25pbiUzRmFjdGlvbl9oYW5kbGVfc2lnbmluJTNEdHJ1ZSUyNmhsJTNEZW4lMjZuZXh0JTNEJTI1MkZwb3N0X2xvZ2luXFx1MDAyNmhsXHUwMDNkZW5cIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJzaWduSW5FbmRwb2ludFwiOntcIm5leHRFbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBTVEtZDhCR0FFaUV3amgxSWVral9LVkF4VXBudlFISFJZdUY1TEtBUVN5OFlDTlwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCIvcG9zdF9sb2dpblwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCIvcG9zdF9sb2dpblwifX19fX19XSxcInF1aWNrQWN0aW9uc0JhclwiOntcInF1aWNrQWN0aW9uc1ZpZXdNb2RlbFwiOntcIndhdGNoT25Zb3V0dWJlQnV0dG9uXCI6e1wid2F0Y2hPbllvdXR1YmVCdXR0b25WaWV3TW9kZWxcIjp7XCJ3YXRjaE9uWXRMYWJlbEJ1dHRvblwiOntcImJ1dHRvblZpZXdNb2RlbFwiOntcIm9uVGFwXCI6e1wiaW5uZXJ0dWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBSVF5dk1GSWhNSTRkU0hwSV95bFFNVktaNzBCeDBXTGhlU3lnRUVzdkdBalFcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZEg3T2laT185YWhFXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2RIN09pWk9fOWFoRVwiLFwidGFyZ2V0XCI6XCJUQVJHRVRfTkVXX1dJTkRPV1wifX19LFwiYWNjZXNzaWJpbGl0eVRleHRcIjpcIldhdGNoIG9uIFlvdVR1YmVcIixcInN0eWxlXCI6XCJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9PVkVSTEFZX0RBUktcIixcInRyYWNraW5nUGFyYW1zXCI6XCJDQUlReXZNRkloTUk0ZFNIcElfeWxRTVZLWjcwQngwV0xoZVNcIixcInR5cGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVFwiLFwiYnV0dG9uU2l6ZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9MQVJHRVwiLFwidGl0bGVGb3JtYXR0ZWRcIjp7XCJjb250ZW50XCI6XCJXYXRjaCBvblwiLFwic3R5bGVSdW5zXCI6W3tcIndlaWdodExhYmVsXCI6XCJGT05UX1dFSUdIVF9USElOXCJ9XSxcImF0dGFjaG1lbnRSdW5zXCI6W3tcInN0YXJ0SW5kZXhcIjo4LFwibGVuZ3RoXCI6MCxcImVsZW1lbnRcIjp7XCJ0eXBlXCI6e1wiaW1hZ2VUeXBlXCI6e1wiaW1hZ2VcIjp7XCJzb3VyY2VzXCI6W3tcImNsaWVudFJlc291cmNlXCI6e1wiaW1hZ2VOYW1lXCI6XCJ3YXRlcm1hcmtcIn19XX19fSxcInByb3BlcnRpZXNcIjp7XCJsYXlvdXRQcm9wZXJ0aWVzXCI6e1wiaGVpZ2h0XCI6e1widmFsdWVcIjoyMCxcInVuaXRcIjpcIkRJTUVOU0lPTl9VTklUX1BPSU5UXCJ9LFwid2lkdGhcIjp7XCJ2YWx1ZVwiOjkwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJtYXJnaW5cIjp7XCJsZWZ0XCI6e1widmFsdWVcIjo1fX19fX0sXCJhbGlnbm1lbnRcIjpcIkFMSUdOTUVOVF9WRVJUSUNBTF9DRU5URVJcIn1dfX19LFwieXRMb2dvT25seUJ1dHRvblwiOntcImJ1dHRvblZpZXdNb2RlbFwiOntcIm9uVGFwXCI6e1wiaW5uZXJ0dWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBRVExdGNFSWhNSTRkU0hwSV95bFFNVktaNzBCeDBXTGhlU3lnRUVzdkdBalFcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZEg3T2laT185YWhFXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2RIN09pWk9fOWFoRVwiLFwidGFyZ2V0XCI6XCJUQVJHRVRfTkVXX1dJTkRPV1wifX19LFwiYWNjZXNzaWJpbGl0eVRleHRcIjpcIldhdGNoIG9uIFlvdVR1YmVcIixcInN0eWxlXCI6XCJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9NT05PXCIsXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FFUTF0Y0VJaE1JNGRTSHBJX3lsUU1WS1o3MEJ4MFdMaGVTXCIsXCJ0eXBlXCI6XCJCVVRUT05fVklFV19NT0RFTF9UWVBFX1RFWFRcIixcImJ1dHRvblNpemVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfQ09NUEFDVFwiLFwidGl0bGVGb3JtYXR0ZWRcIjp7XCJjb250ZW50XCI6XCIgXCIsXCJhdHRhY2htZW50UnVuc1wiOlt7XCJzdGFydEluZGV4XCI6MCxcImxlbmd0aFwiOjAsXCJlbGVtZW50XCI6e1widHlwZVwiOntcImltYWdlVHlwZVwiOntcImltYWdlXCI6e1wic291cmNlc1wiOlt7XCJjbGllbnRSZXNvdXJjZVwiOntcImltYWdlTmFtZVwiOlwid2F0ZXJtYXJrXCJ9fV19fX0sXCJwcm9wZXJ0aWVzXCI6e1wibGF5b3V0UHJvcGVydGllc1wiOntcImhlaWdodFwiOntcInZhbHVlXCI6MjAsXCJ1bml0XCI6XCJESU1FTlNJT05fVU5JVF9QT0lOVFwifSxcIndpZHRoXCI6e1widmFsdWVcIjo5MCxcInVuaXRcIjpcIkRJTUVOU0lPTl9VTklUX1BPSU5UXCJ9LFwibWFyZ2luXCI6e1wibGVmdFwiOntcInZhbHVlXCI6NX19fX19LFwiYWxpZ25tZW50XCI6XCJBTElHTk1FTlRfVkVSVElDQUxfQ0VOVEVSXCJ9XX19fX19fX19fSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUk0ZFNIcElfeWxRTVZLWjcwQngwV0xoZVN5Z0VFc3ZHQWpRXHUwMDNkXHUwMDNkXCIsXCJwZXJtaXNzaW9uc1wiOntcImFsbG93SW1hTW9uZXRpemF0aW9uXCI6ZmFsc2UsXCJhbGxvd1BmcFVuYnJhbmRlZFwiOmZhbHNlfSxcInZpZGVvRmxhZ3NcIjp7XCJwbGF5YWJsZUluRW1iZWRcIjp0cnVlLFwiaXNDcmF3bGFibGVcIjp0cnVlfSxcInByZXZpZXdQbGF5YWJpbGl0eVN0YXR1c1wiOntcInN0YXR1c1wiOlwiT0tcIixcInBsYXlhYmxlSW5FbWJlZFwiOnRydWUsXCJjb250ZXh0UGFyYW1zXCI6XCJRMEZGVTBGblowRVx1MDAzZFwifSxcImVtYmVkZGVkUGxheWVyTW9kZVwiOlwiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVFwiLFwiZW1iZWRkZWRQbGF5ZXJDb25maWdcIjp7XCJlbWJlZGRlZFBsYXllck1vZGVcIjpcIkVNQkVEREVEX1BMQVlFUl9NT0RFX0RFRkFVTFRcIixcImVtYmVkZGVkUGxheWVyRmxhZ3NcIjp7fX0sXCJlbWJlZGRlZFBsYXllckNvbnRleHRcIjp7XCJlbWJlZGRlZFBsYXllckVuY3J5cHRlZENvbnRleHRcIjpcIkFDbWJsQlhiSHJoMTFEeWJkYkhrd09oNU1OOXZzYUJPV1F0SEZtZEI0dGhzYnJjTFA1cnZqRktURlhjX20wTU12YWtoTUhXOF9IOS1hMlkwU1VlYmNXUUNtc0szakJ0eFItcTFjZFd0clU1OFNKT2tacGxqNGdDbGxHS2dOOU9falk1S2xHSkpxYXFKXCIsXCJhbmNlc3Rvck9yaWdpbnNTdXBwb3J0ZWRcIjpmYWxzZX19IiwidmlkZW9faWQiOiJIN09pWk9fOWFoRSIsInJlc29sdmVfdXJsX3Jlc3BvbnNlIjoie1wicmVzcG9uc2VDb250ZXh0XCI6e1wic2VydmljZVRyYWNraW5nUGFyYW1zXCI6W3tcInNlcnZpY2VcIjpcIkNTSVwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwiY1wiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn0se1wia2V5XCI6XCJjdmVyXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNC4wMS4wMFwifSx7XCJrZXlcIjpcInl0X2xpXCIsXCJ2YWx1ZVwiOlwiMFwifSx7XCJrZXlcIjpcIlJlc29sdmVVcmxfcmlkXCIsXCJ2YWx1ZVwiOlwiMHg0MGM5YjJlMTllMzMxZDhkXCJ9XX0se1wic2VydmljZVwiOlwiR0ZFRURCQUNLXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJsb2dnZWRfaW5cIixcInZhbHVlXCI6XCIwXCJ9XX0se1wic2VydmljZVwiOlwiR1VJREVEX0hFTFBcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJFQ0FUQ0hFUlwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwiY2xpZW50LnZlcnNpb25cIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0XCJ9LHtcImtleVwiOlwiY2xpZW50Lm5hbWVcIixcInZhbHVlXCI6XCJXRUJfRU1CRURERURfUExBWUVSXCJ9XX1dLFwicmVzcG9uc2VJZFwiOlwiSWhNSTFxeUhwSV95bFFNVjVwZjBCeDNqRVM1a1wiLFwid2ViUmVzcG9uc2VDb250ZXh0RXh0ZW5zaW9uRGF0YVwiOntcImhhc0RlY29yYXRlZFwiOnRydWV9fSxcImVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiSWhNSTFxeUhwSV95bFFNVjVwZjBCeDNqRVM1a01naGxlSFJsY201aGJNb0JCTEx4Z0kwXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7fX19In0sIlBPU1RfTUVTU0FHRV9PUklHSU4iOiIqIiwiVklERU9fSUQiOiJIN09pWk9fOWFoRSIsIkRPTUFJTl9BRE1JTl9TVEFURSI6IiJ9KTt3aW5kb3cueXRjZmcub2JmdXNjYXRlZERhdGFfID0gW107PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iUk5KYnBDc19qV2Y5Nk9xcGlrNjZBdyI+d2luZG93Lnl0QXRQID0gbmV3IFByb21pc2UocmVzID0+IHdpbmRvdy55dEF0TiA9IHJlcyk7IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4ge3dpbmRvdy55dEF0TigpOyBkZWxldGUgd2luZG93Lnl0QXROO30pOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IlJOSmJwQ3NfaldmOTZPcXBpazY2QXciPndpbmRvdy55dGVycj13aW5kb3cueXRlcnJ8fHRydWU7d2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXM9e307CndpbmRvdy5vbmVycm9yPWZ1bmN0aW9uKG1zZyx1cmwsbGluZSxvcHRfY29sdW1uTnVtYmVyLG9wdF9lcnJvcil7dmFyIGVycjtpZihvcHRfZXJyb3IpZXJyPW9wdF9lcnJvcjtlbHNle2Vycj1uZXcgRXJyb3I7ZXJyLm1lc3NhZ2U9bXNnO2Vyci5maWxlTmFtZT11cmw7ZXJyLmxpbmVOdW1iZXI9bGluZTtpZighaXNOYU4ob3B0X2NvbHVtbk51bWJlcikpZXJyWyJjb2x1bW5OdW1iZXIiXT1vcHRfY29sdW1uTnVtYmVyfXZhciBtZXNzYWdlPVN0cmluZyhlcnIubWVzc2FnZSk7aWYoIWVyci5tZXNzYWdlfHxtZXNzYWdlIGluIHdpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzKXJldHVybjt3aW5kb3cudW5oYW5kbGVkRXJyb3JNZXNzYWdlc1ttZXNzYWdlXT10cnVlO3ZhciBpbWc9bmV3IEltYWdlO3dpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nPWltZztpbWcub25sb2FkPWltZy5vbmVycm9yPWZ1bmN0aW9uKCl7ZGVsZXRlIHdpbmRvdy5lbWVyZ2VuY3lUaW1lb3V0SW1nfTt2YXIgdmFsdWVzPQp7ImNsaWVudC5uYW1lIjp5dGNmZy5nZXQoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiksImNsaWVudC52ZXJzaW9uIjp5dGNmZy5nZXQoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiksIm1zZyI6bWVzc2FnZSwidHlwZSI6IlVuaGFuZGxlZFdpbmRvdyIrZXJyLm5hbWUsImZpbGUiOmVyci5maWxlTmFtZSwibGluZSI6ZXJyLmxpbmVOdW1iZXIsInN0YWNrIjooZXJyLnN0YWNrfHwiIikuc3Vic3RyKDAsNTAwKX07dmFyIHBhcnRzPVt5dGNmZy5nZXQoIkVNRVJHRU5DWV9CQVNFX1VSTCIsIi9lcnJvcl8yMDQ/dD1qc2Vycm9yJmxldmVsPUVSUk9SIildO3ZhciBrZXk7Zm9yKGtleSBpbiB2YWx1ZXMpe3ZhciB2YWx1ZT12YWx1ZXNba2V5XTtpZih2YWx1ZSlwYXJ0cy5wdXNoKGtleSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKSl9aW1nLnNyYz1wYXJ0cy5qb2luKCImIil9Owo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJSTkpicENzX2pXZjk2T3FwaWs2NkF3Ij52YXIgeXRlcnIgPSB5dGVyciB8fCB0cnVlOzwvc2NyaXB0PjxzY3JpcHQgZGF0YS1pZD0iX2dkIiBub25jZT0iUk5KYnBDc19qV2Y5Nk9xcGlrNjZBdyI+d2luZG93LldJWl9nbG9iYWxfZGF0YSA9IHsiQWZZOEhmIjpmYWxzZSwiRkwxYW4iOmZhbHNlLCJIaVBzYmIiOjAsIk1VRTZOZSI6InlvdXR1YmVfd2ViIiwiTXVKV2pkIjpmYWxzZSwiVVVGYVdjIjoiJS5ALm51bGwsMTAwMCwyXSIsImNmYjJoIjoieW91dHViZS53ZWItZnJvbnQtZW5kLWNyaXRpY2FsXzIwMjYwNzIyLjAxX3AwIiwiZlBEeHdkIjpbXSwiaHNGTFQiOiIlLkAubnVsbCwxMCwzXSIsImlDemhGYyI6ZmFsc2UsIm5ReUFFIjp7fSwib3hOM25iIjp7IjEiOmZhbHNlLCIwIjpmYWxzZSwiNjEwNDAxMzAxIjpmYWxzZSwiODk5NTg4NDM3IjpmYWxzZSwiNzcyNjU3NzY4Ijp0cnVlLCI1MTM2NTk1MjMiOmZhbHNlLCI1NjgzMzM5NDUiOnRydWUsIjEzMzE3NjE0MDMiOnRydWUsIjY1MTE3NTgyOCI6ZmFsc2UsIjcyMjc2NDU0MiI6ZmFsc2UsIjc0ODQwMjE0NSI6ZmFsc2UsIjc0ODQwMjE0NiI6ZmFsc2UsIjc0ODQwMjE0NyI6dHJ1ZSwiMTYwMjYxMzE4NSI6ZmFsc2UsIjg2MTM3NzcyMyI6ZmFsc2UsIjg2MTM3NzcyNCI6ZmFsc2UsIjg2OTMzNjkwMyI6ZmFsc2UsIjg4MjY3NDUwNyI6ZmFsc2UsIjg2OTMzNjkwNCI6ZmFsc2UsIjg2OTMzNjkwNSI6ZmFsc2UsIjI4Mzk1MzE1NSI6ZmFsc2UsIjkxOTQ0NDgyNCI6ZmFsc2UsIjkzMTQ2ODA0NyI6ZmFsc2UsIjkyODg3NTM5OCI6ZmFsc2UsIjY4Mzc0OTIwMSI6ZmFsc2V9LCJ1NGc3ciI6IiUuQC5udWxsLDEsM10iLCJ4bkk5UCI6ZmFsc2UsInh3QWZFIjp0cnVlLCJ5Rm54cmYiOjI0ODZ9Ozwvc2NyaXB0Pjx0aXRsZT5Zb3VUdWJlPC90aXRsZT48bGluayByZWw9ImNhbm9uaWNhbCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1IN09pWk9fOWFoRSI+PC9oZWFkPjxib2R5IGNsYXNzPSJkYXRlLTIwMjYwNzI2IGVuX1VTIGx0ciAgc2l0ZS1jZW50ZXItYWxpZ25lZCBzaXRlLWFzLWdpYW50LWNhcmQgZ2Vja28gZ2Vja28tMTM0IiBkaXI9Imx0ciI+PGRpdiBpZD0icGxheWVyIj48L2Rpdj48c2NyaXB0IG5vbmNlPSJSTkpicENzX2pXZjk2T3FwaWs2NkF3Ij52YXIgc2V0TWVzc2FnZT1mdW5jdGlvbihtc2cpe2lmKHdpbmRvdy55dCYmeXQuc2V0TXNnKXl0LnNldE1zZyhtc2cpO2Vsc2V7d2luZG93Lnl0Y2ZnPXdpbmRvdy55dGNmZ3x8e307eXRjZmcubXNncz1tc2d9fTsKc2V0TWVzc2FnZSh7IkFDQ09VTlRfTEFCRUwiOiJBY2NvdW50IiwiQUNUX09OX1RISVNfQ09NTUVOVCI6IkFjdCBvbiB0aGlzIGNvbW1lbnQiLCJBRERfVE9fRFJPUERPV05fTEFCRUwiOiJBZGQgdG8gcGxheWxpc3QiLCJBRF9CQURHRV9ISU5UIjoiQWR2ZXJ0aXNlbWVudCIsIkFEX0JBREdFX1RFWFQiOiJBRCIsIkFMTF9DSEFOTkVMU19MQUJFTCI6IkFsbCBjaGFubmVscyIsIkFNQklFTlRfTU9ERSI6IkFtYmllbnQgbW9kZSIsIkFNQklFTlRfTU9ERV9PRkYiOiJBbWJpZW50IG1vZGUgb2ZmIiwiQU1CSUVOVF9NT0RFX09OIjoiQW1iaWVudCBtb2RlIG9uIiwiQU5EUk9JRF9ERVBSRUNBVElPTl9NRVNTQUdFX0JPRFkiOiJQbGVhc2UgdXBkYXRlIHlvdXIgZGV2aWNlIHRvIEFuZHJvaWQgNC4wIGJlZm9yZSBPY3QgMjIsIDIwMjAgdG8ga2VlcCB1c2luZyBZb3VUdWJlIHdpdGhvdXQgaW50ZXJydXB0aW9ucy4iLCJBTkRST0lEX0RFUFJFQ0FUSU9OX01FU1NBR0VfSEVBREVSIjoiWW91VHViZSB3aWxsIG5vIGxvbmdlciBiZSBzdXBwb3J0ZWQgb24geW91ciBkZXZpY2UgYWZ0ZXIgMjAyMC0xMC0yMiIsIkFQUF9VUFNFTExfU1VCVElUTEUiOiJVcGxvYWQsIHNhdmUsIGFuZCBjb21tZW50IG9uIHZpZGVvcyB3aXRoIHRoZSBZb3VUdWJlIGFwcCIsIkFQUF9VUFNFTExfVElUTEUiOiJTd2l0Y2ggdG8gdGhlIGFwcCBmb3IgYSBiZXR0ZXIgdmlld2luZyBleHBlcmllbmNlIiwiQVVESU9fVFJBQ0siOiJBdWRpbyBUcmFjayIsIkFVVE9OQVZfVE9HR0xFIjoiQXV0b3BsYXkiLCJBVVRPUExBWV9JTl9URU5fU0VDT05EUyI6Ik5leHQgdmlkZW8gd2lsbCBiZSBwbGF5ZWQgaW4gdGVuIHNlY29uZHMiLCJBVVRPUExBWV9QQVVTRUQiOiJBdXRvcGxheSBpcyBwYXVzZWQiLCJBVVRPUExBWV9QTEFZX05PVyI6IlBsYXkgbm93IiwiQVVUT1BMQVlfVVBfTkVYVF9JTiI6IlVwIG5leHQgaW4gc2Vjb25kc19wbGFjZWhvbGRlciIsIkFVVE9fVFJBTlNMQVRFIjoiQXV0by10cmFuc2xhdGUiLCJBVVRPX1pPT00iOiJBdXRvIHpvb20iLCJCQUNLIjoiQmFjayIsIkJSQU5ERURfU0lHTl9JTl9ESUFMT0dfREVTQ1JJUFRJT04iOiJBY2Nlc3MgYWxsIGZlYXR1cmVzIGFuZCBnZXQgYSBzZWFtbGVzcyBleHBlcmllbmNlIiwiQ0FOQ0VMIjoiQ2FuY2VsIiwiQ0hBTk5FTF9TV0lUQ0hFUl9MQUJFTCI6IlN3aXRjaCBhY2NvdW50IiwiQ0hBUkFDVEVSX0xJTUlUIjoiVXNlIGZld2VyIHRoYW4gJG51bWJlciBjaGFyYWN0ZXJzIiwiQ0xPU0UiOiJDbG9zZSIsIkNMT1NFRF9DQVBUSU9OU19ESVNBQkxFRCI6Ik5vIGNhcHRpb25zIGFyZSBhdmFpbGFibGUgZm9yIHRoaXMgdmlkZW8iLCJDTE9TRURfQ0FQVElPTlNfT0ZGIjoiU3VidGl0bGVzL0NDIHR1cm5lZCBvZmYiLCJDTE9TRURfQ0FQVElPTlNfT04iOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9uIiwiQ0xPU0VEX0NBUFRJT05TX09OX0xBTkdVQUdFIjoiU3VidGl0bGVzL0NDIHR1cm5lZCBvbiAobGFuZ3VhZ2VfcGxhY2Vob2xkZXIpIiwiQ0xPU0VfU0VBUkNIX0xBQkVMIjoiQ2xvc2Ugc2VhcmNoIiwiQ0xPU0VfU0VUVElOR1NfTEFCRUwiOiJDbG9zZSBTZXR0aW5ncyIsIkNPTU1FTlRCT1hfUE9TVCI6IlBvc3QiLCJDT01NRU5UX01PREFMX0NPTlRFTlQiOiJQbGVhc2Ugc2lnbiBpbiB0byBhY3Qgb24gdGhpcyBjb21tZW50LiIsIkNPTkZJUk1fT0siOiJPSyIsIkNPTk5FQ1RfVE9fVEhFX0lOVEVSTkVUIjoiQ29ubmVjdCB0byB0aGUgaW50ZXJuZXQiLCJDT1BJRURfVE9fQ0xJUEJPQVJEIjoiQ29waWVkIHRvIGNsaXBib2FyZCIsIkNPUFkiOiJDb3B5IiwiQ09QWV9ERUJVR19JTkZPIjoiQ29weSBEZWJ1ZyBJbmZvIiwiQ09QWV9FTUJFRF9DT0RFIjoiQ29weSBlbWJlZCBjb2RlIiwiQ09QWV9MSU5LX0xBQkVMIjoiQ29weSBsaW5rIiwiQ09QWV9WSURFT19VUkwiOiJDb3B5IHZpZGVvIFVSTCIsIkNPUFlfVklERU9fVVJMX0FUX0NVUlJFTlRfVElNRSI6IkNvcHkgdmlkZW8gVVJMIGF0IGN1cnJlbnQgdGltZSIsIkNSRUFURV9DSEFOTkVMX1RJVExFIjoiQ3JlYXRlIGNoYW5uZWwiLCJERUxFVEVfRlJPTV9ET1dOTE9BRFMiOiJEZWxldGUgZnJvbSBkb3dubG9hZHMiLCJESUFMT0ciOiJEaWFsb2ciLCJETUFfQ09OU0VOVF9DT05GSVJNQVRJT04iOiJZb3VyIGNob2ljZSB3aWxsIHRha2UgZWZmZWN0IG9uIE1hcmNoIDYsIDIwMjQuIFlvdSBjYW4gY2hhbmdlIHlvdXIgY2hvaWNlcyBhbnl0aW1lIGluIHlvdXIgR29vZ2xlIEFjY291bnQuIiwiRE1BX0NPTlNFTlRfQ09ORklSTUFUSU9OMiI6IllvdXIgY2hvaWNlcyBoYXZlIGJlZW4gc2F2ZWQuIFlvdSBjYW4gY2hhbmdlIHlvdXIgY2hvaWNlcyBhbnl0aW1lIGluIHlvdXIgR29vZ2xlIEFjY291bnQuIiwiRE1BX0NPTlNFTlRfR0VORVJBTF9FUlJPUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nIHdoaWxlIGxvYWRpbmciLCJETUFfQ09OU0VOVF9SRUNPUkRfRVJST1IiOiJTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgeW91ciBjaG9pY2VzIHdlcmUgbm90IHNhdmVkIiwiRE9ORSI6IkRvbmUiLCJET1dOTE9BRCI6IkRvd25sb2FkIiwiRkFJTEVEX0NPUFlfRVJST1JfTUVTU0FHRSI6IkNvcHkgaXMgbm90IHN1cHBvcnRlZCBvbiB0aGUgZGV2aWNlLCBmYWlsZWQgdG8gY29weS4iLCJGTEFHX0NPTkZJUk0iOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZmxhZyB0aGlzIHZpZGVvPyIsIkZMQUdfQ09OVEVOVCI6IlNpZ24gaW4gdG8gZmxhZyBpdC4iLCJGTEFHX0xBQkVMIjoiRmxhZyBhcyBpbmFwcHJvcHJpYXRlIiwiRkxBR19USVRMRSI6IkluYXBwcm9wcmlhdGUgdmlkZW8/IiwiRlVMTFNDUkVFTl9HRU5FUklDX0VSUk9SIjoiRnVsbCBzY3JlZW4gaXMgdW5hdmFpbGFibGUuIiwiR09PR0xFX0NPTVBBTlkiOiJZb3VUdWJlLCBhIEdvb2dsZSBjb21wYW55IiwiSElERV9BTEVSVCI6IkhpZGUgdGhpcyBhbGVydCIsIkhJREVfUExBWUVSX0NPTlRST0xTIjoiSGlkZSBwbGF5ZXIgY29udHJvbHMiLCJISURFX1BMQVlMSVNUX1ZJREVPUyI6IkhpZGUgcGxheWxpc3QgdmlkZW9zIiwiSElERV9TRUFSQ0hfRklMVEVSU19MQUJFTCI6IkhpZGUgc2VhcmNoIGZpbHRlcnMiLCJIT01FIjoiSG9tZSIsIklOVkFMSURfUkVTUE9OU0VfUkVDRUlWRUQiOiJJbnZhbGlkIHJlc3BvbnNlIHJlY2VpdmVkLiIsIkxFQVZFX0FfQ09NTUVOVF9USVRMRSI6IkxlYXZlIGEgY29tbWVudD8iLCJMSUJSQVJZIjoiTGlicmFyeSIsIkxJS0VfQ09VTlRfVEVYVCI6eyJjYXNlMCI6Ik5vIGxpa2VzIiwiY2FzZTEiOiIxIGxpa2UiLCJvdGhlciI6IiMgbGlrZXMifSwiTElLRV9DT1VOVF9URVhUX0xBQkVMIjoie1wiY2FzZTBcIjogXCJObyBwZW9wbGUgaGF2ZSBsaWtlZCB0aGlzIHZpZGVvLlwiLCBcImNhc2UxXCI6IFwiMSBwZXJzb24gaGFzIGxpa2VkIHRoaXMgdmlkZW8uXCIsIFwib3RoZXJcIjogXCIjIHBlb3BsZSBoYXZlIGxpa2VkIHRoaXMgdmlkZW8uXCJ9IiwiTElTVEVOSU5HIjoiTGlzdGVuaW5nLi4uIiwiTE9BRElORyI6IkxvYWRpbmcuLi4iLCJMT05HX1BSRVNTX01JQ19UT19TUEVBSyI6IkxvbmcgcHJlc3MgbWljX2ljb25fcGxhY2Vob2xkZXIgdG8gc3BlYWsiLCJMT09QIjoiTG9vcCIsIk1FTlVfREVTS1RPUCI6IkRlc2t0b3AiLCJNRU5VX0VYSVQiOiJFeGl0IiwiTUVOVV9GRUVEQkFDSyI6IkZlZWRiYWNrIiwiTUVOVV9IRUxQIjoiSGVscCIsIk1FTlVfSU1QUkVTU1VNIjoiSW1wcmludCIsIk1FTlVfUExBWUVSX1NFVFRJTkdTIjoiUGxheWJhY2sgU2V0dGluZ3MiLCJNRU5VX1JFUE9SVF9BX1BST0JMRU0iOiJSZXBvcnQgYSBwcm9ibGVtIHdpdGggWW91VHViZSIsIk1FTlVfU0VORF9GRUVEQkFDSyI6IlNlbmQgZmVlZGJhY2siLCJNRU5VX1NFVFRJTkdTIjoiU2V0dGluZ3MiLCJNRU5VX1NJR05fSU4iOiJTaWduIEluIiwiTUVOVV9URVJNUyI6IlByaXZhY3kgXHUwMDI2IFRlcm1zIiwiTUVOVV9USVRMRSI6Ik1lbnUiLCJNRU5VX1lPVVJfREFUQSI6IllvdXIgZGF0YSBpbiBZb3VUdWJlIiwiTUVUQURBVEFfU1VCVElUTEVfQ0hBTk5FTF9OQU1FX0xBQkVMIjoiVXBsb2FkZWQgYnkgJHtjaGFubmVsX25hbWVfcGxhY2Vob2xkZXJ9LiIsIk1NR19DT05GSVJNQVRJT04iOiJZb3VyIGNob2ljZSBoYXMgYmVlbiBzYXZlZC4gWW91IGNhbiBjaGFuZ2UgdGhpcyBzZXR0aW5nIGFueXRpbWUgaW4gTXkgQWQgQ2VudGVyLiIsIk1NR19DT05TRU5UX1JFQ09SRF9FUlJPUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB5b3VyIGNob2ljZSB3YXMgbm90IHNhdmVkIiwiTU9SRSI6Ik1vcmUiLCJNT1JFX0lORk8iOiJNb3JlIGluZm8iLCJNT1JFX0xPV0VSQ0FTRSI6Im1vcmUiLCJNT1JFX09QVElPTlMiOiJNb3JlIG9wdGlvbnMiLCJNT1JFX1ZJREVPUyI6Ik1vcmUgdmlkZW9zIiwiTU9SRV9WSURFT1NfQ0xPU0VfQlVUVE9OX0FSSUFfTEFCRUwiOiJIaWRlIG1vcmUgdmlkZW9zIiwiTU9SRV9WSURFT1NfRlJPTV9DSEFOTkVMIjoiTW9yZSB2aWRlb3MgZnJvbSAkY2hhbm5lbF9uYW1lX3BsYWNlaG9sZGVyIiwiTU9SRV9WSURFT1NfTkVYVF9CVVRUT05fQVJJQV9MQUJFTCI6Ik5leHQgdmlkZW9zIiwiTU9SRV9WSURFT1NfUFJFVklPVVNfQlVUVE9OX0FSSUFfTEFCRUwiOiJQcmV2aW91cyB2aWRlb3MiLCJNVVRFX1ZPTFVNRSI6Ik11dGUiLCJORVdfUExBWUxJU1QiOiJOZXcgcGxheWxpc3QiLCJORVhUX1ZJREVPIjoiTmV4dCB2aWRlbyIsIk5PVElGSUNBVElPTl9FUlJPUl9NRVNTQUdFIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcsIHBsZWFzZSB0cnkgYWdhaW4uIiwiTk9UX0ZPVU5EX0NUQSI6IkJyb3dzZSBWaWRlb3MiLCJOT1RfRk9VTkRfTUVTU0FHRSI6IlBsZWFzZSBzZWFyY2ggZm9yIHNvbWV0aGluZyBlbHNlLCBvciBicm93c2UgeW91ciBIb21lIGZlZWQuIiwiTk9UX0ZPVU5EX1RJVExFIjoiVGhpcyBwYWdlIGlzblx1MDAyN3QgYXZhaWxhYmxlIiwiTk9fRE9XTkxPQURTIjoiTm8gZG93bmxvYWRzIiwiTk9fTUlDX0lOUFVUIjoiRGlkblx1MDAyN3QgaGVhciB0aGF0LiBUcnkgc3BlYWtpbmcgYWdhaW4uIiwiT0ZGTElORV9DSEVDS19DT05ORUNUSU9OIjoiWW91XHUwMDI3cmUgb2ZmbGluZS4gQ2hlY2sgeW91ciBjb25uZWN0aW9uLiIsIk9PUFNfTUVTU0FHRSI6Ik9vcHMhIFNvbWV0aGluZyB3ZW50IHdyb25nLiIsIk9QRU5fQVBQIjoiT3BlbiBBcHAiLCJPUEVOX1lPVVRVQkUiOiJPcGVuIHRoZSBhcHAiLCJPUEVOX1lPVVRVQkVfQVBQIjoiT3BlbiBZb3VUdWJlIGFwcCIsIlBBVVNFIjoiUGF1c2UiLCJQTEFZIjoiUGxheSIsIlBMQVlCQUNLX1NQRUVEX1giOiIke3NwZWVkX3JhdGVfcGxhY2Vob2xkZXJ9eCIsIlBMQVlFUl9DQVBUSU9OIjoiQ2FwdGlvbnMiLCJQTEFZRVJfQ0FQVElPTl9PRkYiOiJPZmYiLCJQTEFZRVJfQ0FQVElPTl9PTiI6Ik9uIiwiUExBWUVSX0RPVUJMRV9TUEVFRF9VU0VSX0VEVSI6IjJ4IiwiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0VFSyI6IkRvdWJsZSB0YXAgbGVmdCBvciByaWdodCB0byBza2lwIDEwIHNlY29uZHMiLCJQTEFZRVJfRE9VQkxFX1RBUF9UT19TSE9XX09SX0hJREVfUExBWUVSX0NPTlRST0xTIjoiRG91YmxlIHRhcCB0byBzaG93IG9yIGhpZGUgcGxheWVyIGNvbnRyb2xzIiwiUExBWUVSX0VYSVRfRlVMTFNDUkVFTiI6IkV4aXQgZnVsbCBzY3JlZW4iLCJQTEFZRVJfRkFTVEZPUldBUkRfU0VDT05EUyI6IkZhc3QgZm9yd2FyZCAkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX0ZVTExTQ1JFRU4iOiJFbnRlciBmdWxsIHNjcmVlbiIsIlBMQVlFUl9MSVZFX0xBQkVMIjoiTGl2ZSIsIlBMQVlFUl9MSVZFX05PVyI6IkxpdmUgbm93IiwiUExBWUVSX01JTklNSVpFIjoiTWluaW1pemUiLCJQTEFZRVJfTkVYVCI6Ik5leHQgdmlkZW8iLCJQTEFZRVJfUEFVU0UiOiJQYXVzZSB2aWRlbyIsIlBMQVlFUl9QTEFZIjoiUGxheSB2aWRlbyIsIlBMQVlFUl9QUkVNSUVSRV9MQUJFTCI6IlByZW1pZXJlIiwiUExBWUVSX1BSRVZJT1VTIjoiUHJldmlvdXMgdmlkZW8iLCJQTEFZRVJfUFJPR1JFU1NfQkFSIjoiU2VlayBzbGlkZXIiLCJQTEFZRVJfUVVBTElUWSI6IlF1YWxpdHkiLCJQTEFZRVJfUVVBTElUWV9BVVRPIjoiQXV0byIsIlBMQVlFUl9SRVBMQVkiOiJSZXBsYXkgVmlkZW8iLCJQTEFZRVJfUkVXSU5EX1NFQ09ORFMiOiJSZXdpbmQgJHNlY29uZHNfcGxhY2Vob2xkZXIgc2Vjb25kcyIsIlBMQVlFUl9TRUNPTkRTIjoiJHNlY29uZHNfcGxhY2Vob2xkZXIgc2Vjb25kcyIsIlBMQVlFUl9TUEVFRCI6IlNwZWVkIiwiUExBWUVSX1NQRUVEVVBfVVNFUl9FRFUiOiJQbGF5aW5nIGF0IHNwZWVkX3JhdGVfcGxhY2Vob2xkZXJ4IHNwZWVkIiwiUExBWUVSX1NQRUVEX0RFQ1JFQVNFIjoiRGVjcmVhc2UgcGxheWJhY2sgc3BlZWQiLCJQTEFZRVJfU1BFRURfSU5DUkVBU0UiOiJJbmNyZWFzZSBwbGF5YmFjayBzcGVlZCIsIlBMQVlFUl9TUEVFRF9OT1JNQUwiOiJOb3JtYWwiLCJQTEFZRVJfU1BFRURfUkVDRU5UIjoiUmVjZW50IiwiUExBWUVSX1RJTUVfRFVSQVRJT04iOiJUaW1lIGR1cmF0aW9uIiwiUExBWUVSX1RJTUVfRUxBUFNFRCI6IlRpbWUgZWxhcHNlZCIsIlBMQVlFUl9USU1FX0ZPUk1BVFRFRCI6eyJjYXNlMCI6IiR7bWludXRlc30gbWludXRlcyBhbmQgJHtzZWNvbmRzfSBzZWNvbmRzIiwiY2FzZTEiOiIxIGhvdXIsICR7bWludXRlc30gbWludXRlcyBhbmQgJHtzZWNvbmRzfSBzZWNvbmRzIiwib3RoZXIiOiIjIGhvdXJzLCAke21pbnV0ZXN9IG1pbnV0ZXMgYW5kICR7c2Vjb25kc30gc2Vjb25kcyJ9LCJQTEFZTElTVF9DVVJSRU5UX1ZJREVPX0lOREVYIjoiJHtjdXJyZW50X3ZpZGVvX2luZGV4fSBvZiAke2xhc3RfaW5kZXh9LiIsIlBMQVlMSVNUX0RFU0NSSVBUSU9OX0lOVkFMSURfQ0hBUkFDVEVSUyI6IlBsYXlsaXN0IGRlc2NyaXB0aW9uIGNhblx1MDAyN3QgdXNlIFx1MDAzYyBvciBcdTAwM2UiLCJQTEFZTElTVF9NSVhfREVUQUlMRURfTE9OR19CWUxJTkUiOiJNaXhlcyBhcmUgcGxheWxpc3RzIFlvdVR1YmUgbWFrZXMgZm9yIHlvdSIsIlBMQVlMSVNUX05BTUVfSU5WQUxJRF9DSEFSQUNURVJTIjoiUGxheWxpc3QgdGl0bGUgY2FuXHUwMDI3dCB1c2UgXHUwMDNjIG9yIFx1MDAzZSIsIlBMQVlMSVNUX05BTUVfTUlTU0lORyI6IlBsYXlsaXN0IHRpdGxlIHJlcXVpcmVkLiIsIlBMQVlMSVNUX05BTUVfVE9PX0xPTkciOiJQbGF5bGlzdCB0aXRsZSBpcyB0b28gbG9uZy4iLCJQTEFZTElTVF9QQU5FTF9FTkRfT0ZfUExBWUxJU1QiOiJFbmQgb2YgUGxheWxpc3QiLCJQTEFZTElTVF9QQU5FTF9ORVhUIjoiTmV4dDoiLCJQTEFZTElTVF9QQU5FTF9VTkxJU1RFRF9QTEFZTElTVCI6IlVubGlzdGVkIFBsYXlsaXN0IiwiUExBWUxJU1RfVEVYVF9JTlBVVF9DSEFSX0NPVU5UIjoiY3VycmVudF9jb3VudF9wbGFjZWhvbGRlciBvZiBtYXhfY291bnRfcGxhY2Vob2xkZXIgY2hhcmFjdGVycyB1c2VkIiwiUExBWV9BTEwiOiJQbGF5IGFsbCIsIlBMRUFTRV9GSVhfRVJST1JTIjoiUGxlYXNlIGZpeCBlcnJvcnMgYW5kIHRyeSBhZ2Fpbi4iLCJQUkVNSVVNX0JBREdFX0xBQkVMIjoiUHJlbWl1bSIsIlBSRVZJT1VTX1ZJREVPIjoiUHJldmlvdXMgdmlkZW8iLCJQUklWQUNZX1BPTElDWSI6IlByaXZhY3kgUG9saWN5IiwiUkVMT0FEIjoiUmVsb2FkIiwiUkVQTElFU19TSE9XX01PUkUiOiJTaG93IG1vcmUgcmVwbGllcyIsIlJFUVVJUkVEX0xBQkVMIjoiUmVxdWlyZWQiLCJTQVZFX1BMQVlMSVNUIjoiU2F2ZSIsIlNDUlVCX1NMSURFX1VTRVJfRURVIjoiU2xpZGUgbGVmdCBvciByaWdodCB0byBzZWVrIiwiU0VBUkNIIjoiU2VhcmNoIiwiU0VBUkNIX0FQUEVORF9MQUJFTCI6IkFwcGVuZCBzdWdnZXN0aW9uIHRvIHNlYXJjaCBmaWVsZCIsIlNFQVJDSF9DSEFOTkVMIjoiU2VhcmNoIGNoYW5uZWwiLCJTRUFSQ0hfQ0xFQVJfTEFCRUwiOiJDbGVhciBjdXJyZW50IHNlYXJjaCB0ZXh0IiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX0FMQlVNIjoiQWxidW0gYnkgJHthcnRpc3R9IiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX0FMQlVNX05PX0FSVElTVCI6IkFsYnVtIiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX01PVklFIjoiTW92aWUiLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fU09ORyI6IlNvbmcgYnkgJHthcnRpc3R9IiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1NPTkdfTk9fQVJUSVNUIjoiU29uZyIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9UVl9TSE9XIjoiVFYgc2hvdyIsIlNFQVJDSF9GSUxURVJTX0xBQkVMIjoiU2VhcmNoIGZpbHRlcnMiLCJTRUFSQ0hfTEFCRUwiOiJTZWFyY2ggWW91VHViZSIsIlNFQVJDSF9QUFBfUExBQ0VIT0xERVJfVEVYVCI6IlNlYXJjaCBwYWlkIHByb2R1Y3QgcGxhY2VtZW50IHZpZGVvcyIsIlNFRUtfU0xJREVSIjoiU2VlayBzbGlkZXIiLCJTRVRUSU5HU19MQUJFTCI6IlNldHRpbmdzIiwiU0VUVElOR1NfTUlDX1BFUk1JU1NJT04iOiJQbGVhc2UgYWxsb3cgbWljcm9waG9uZSBwZXJtaXNzaW9uIGluIGRldmljZSBzZXR0aW5ncy4iLCJTRVRfUExBWUJBQ0tfU1BFRURfWCI6IiR7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcn14IHNwZWVkIiwiU0hPUlRTX1RBQl9MQUJFTCI6IlNob3J0cyIsIlNIT1dfTEVTUyI6IlNob3cgbGVzcyIsIlNIT1dfTU9SRSI6IlNob3cgbW9yZSIsIlNIT1dfUExBWUVSX0NPTlRST0xTIjoiU2hvdyBwbGF5ZXIgY29udHJvbHMiLCJTSE9XX1BMQVlMSVNUX1ZJREVPUyI6IlNob3cgcGxheWxpc3QgdmlkZW9zIiwiU0hPV19TRUFSQ0hfRklMVEVSU19MQUJFTCI6IlNob3cgc2VhcmNoIGZpbHRlcnMiLCJTSUdOX0lOX0xBQkVMIjoiU2lnbiBpbiIsIlNJR05fSU5fT05fV0VCIjoiU2lnbiBpbiBvbiB3ZWIiLCJTVEFCTEVfVk9MVU1FIjoiU3RhYmxlIHZvbHVtZSIsIlNUQUJMRV9WT0xVTUVfT0ZGIjoiU3RhYmxlIHZvbHVtZSBvZmYiLCJTVEFCTEVfVk9MVU1FX09OIjoiU3RhYmxlIHZvbHVtZSBvbiIsIlNUQVRTX0ZPUl9ORVJEUyI6IlN0YXRzIEZvciBOZXJkcyIsIlNVR0dFU1RJT05fRElTTUlTU0VEX0xBQkVMIjoiU3VnZ2VzdGlvbiBSZW1vdmVkIiwiU1VHR0VTVElPTl9ESVNNSVNTX0lOX1NFVFRJTkdTX0xBQkVMIjoiUmVtb3ZlIGluIHNldHRpbmdzIiwiU1VHR0VTVElPTl9ESVNNSVNTX0xBQkVMIjoiUmVtb3ZlIiwiU1VHR0VTVElPTl9ORVdfVklERU9TX1RFWFQiOiJOZXcgdmlkZW9zIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX0JVVFRPTl9MQUJFTCI6IlZpc2l0IHNvdXJjZSIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0FUVFJJQlVUSU9OX0RJQUxPR19ERVNDUklQVElPTiI6IlZpc2l0IGltYWdlIHNvdXJjZSB3ZWJzaXRlPyIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0FUVFJJQlVUSU9OX0RJQUxPR19USVRMRSI6IkltYWdlIHNvdXJjZSIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0FUVFJJQlVUSU9OX0xBQkVMIjoiVmlldyBpbWFnZSBzb3VyY2UiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9MQUJFTCI6IkltYWdlIGZvciBzdWdnZXN0aW9uIiwiVEVSTVNfT0ZfU0VSVklDRSI6IlRlcm1zIG9mIFNlcnZpY2UiLCJUSU1FU1RBTVBfTUlOVVRFUyI6InRpbWVzdGFtcCBtaW51dGVzIHJlcXVpcmVkIiwiVElNRVNUQU1QX1NFQ09ORFMiOiJ0aW1lc3RhbXAgc2Vjb25kcyByZXF1aXJlZCIsIlRPR0dMRV9PRkYiOiJPZmYiLCJUT0dHTEVfT04iOiJPbiIsIlRSRU5ESU5HIjoiVHJlbmRpbmciLCJUUk9VQkxFU0hPT1RfUExBWUJBQ0tfSVNTVUUiOiJUcm91Ymxlc2hvb3QgcGxheWJhY2sgaXNzdWUiLCJUUllfQUdBSU5fTEFURVIiOiJTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4iLCJUUllfQUdBSU5fTUlDX1BFUk1JU1NJT04iOiJQbGVhc2UgdHJ5IGFnYWluIGFuZCBhbGxvdyBtaWNyb3Bob25lIHBlcm1pc3Npb24uIiwiVFVSTl9PRkZfQVVUT1BMQVlfQ09ORklSTV9CVVRUT05fVElUTEUiOiJUdXJuIG9mZiIsIlRVUk5fT0ZGX0FVVE9QTEFZX0RJQUxPR19ERVNDUklQVElPTiI6IldoZW4gYXV0b3BsYXkgaXMgb2ZmLCBhIHN1Z2dlc3RlZCB2aWRlbyB3aWxsIG5vdCBhdXRvbWF0aWNhbGx5IHBsYXkgbmV4dCIsIlRVUk5fT0ZGX0FVVE9QTEFZX0RJQUxPR19USVRMRSI6IlR1cm4gb2ZmIGF1dG9wbGF5PyIsIlVOTVVURV9WT0xVTUUiOiJVbm11dGUiLCJWSURFT1MiOiJ7dmlkZW9zLHBsdXJhbCwgXHUwMDNkMHswIHZpZGVvc31cdTAwM2QxezEgdmlkZW99b3RoZXJ7IyB2aWRlb3N9fSIsIlZJREVPX0xJTktfTEFCRUwiOiJWaWRlbyBsaW5rIiwiV0FUQ0hFRCI6IldhdGNoZWQiLCJfX2xhbmdfXyI6ImVuIn0pOzwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvcy9fL3l0ZW1iZWRzL18vanMvaz15dGVtYmVkcy5iYXNlLmVuX1VTLl84OFR3eXlIS0hzLjIwMjEuTy9hbT1BQUFBZ0EvZD0xL2JyPTEvcnM9QUdLTXl3RXUyVFFVemRTRjBBY3NGQk1VckZxeXVyS2x1dy9tPXJvb3QsYmFzZSIgbmFtZT0iZW1iZWRfY2xpZW50IiBpZD0iYmFzZS1qcyIgbm9uY2U9IlJOSmJwQ3NfaldmOTZPcXBpazY2QXciPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvcy9wbGF5ZXIvN2E3OTY5YzIvcGxheWVyX2VtYmVkX2VzNi52ZmxzZXQvZW5fVVMvYmFzZS5qcyIgbmFtZT0icGxheWVyL2Jhc2UiIG5vbmNlPSJSTkpicENzX2pXZjk2T3FwaWs2NkF3Ij48L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJSTkpicENzX2pXZjk2T3FwaWs2NkF3Ij53cml0ZUVtYmVkKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iUk5KYnBDc19qV2Y5Nk9xcGlrNjZBdyI+KGZ1bmN0aW9uKCkge2lmICh3aW5kb3cueXRBdE4pIHt3aW5kb3cueXRBdE4oeydSJzogJ1x4N2JceDIycmVzcG9uc2VDb250ZXh0XHgyMjpceDdiXHgyMnNlcnZpY2VUcmFja2luZ1BhcmFtc1x4MjI6XHg1Ylx4N2JceDIyc2VydmljZVx4MjI6XHgyMkNTSVx4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIyY1x4MjIsXHgyMnZhbHVlXHgyMjpceDIyV0VCX0VNQkVEREVEX1BMQVlFUlx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyY3Zlclx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMi4yMDI2MDcyNC4wMS4wMFx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyeXRfbGlceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjBceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMkdldEF0dGVzdGF0aW9uQ2hhbGxlbmdlX3JpZFx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMHg0MGM5YjJlMTllMzMxZDhkXHgyMlx4N2RceDVkXHg3ZCxceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJHRkVFREJBQ0tceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmxvZ2dlZF9pblx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMFx4MjJceDdkXHg1ZFx4N2QsXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyR1VJREVEX0hFTFBceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmxvZ2dlZF9pblx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMFx4MjJceDdkXHg1ZFx4N2QsXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyRUNBVENIRVJceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmNsaWVudC52ZXJzaW9uXHgyMixceDIydmFsdWVceDIyOlx4MjIyLjIwMjYwNzI0XHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJjbGllbnQubmFtZVx4MjIsXHgyMnZhbHVlXHgyMjpceDIyV0VCX0VNQkVEREVEX1BMQVlFUlx4MjJceDdkXHg1ZFx4N2RceDVkLFx4MjJyZXNwb25zZUlkXHgyMjpceDIySWhNSTR2ZUhwSV95bFFNVnJzcFBDQjJXdXhSOFx4MjIsXHgyMndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGFceDIyOlx4N2JceDIyaGFzRGVjb3JhdGVkXHgyMjp0cnVlXHg3ZFx4N2QsXHgyMmNoYWxsZW5nZVx4MjI6XHgyMmFceDNkNlxcdTAwMjZhMlx4M2QxMFxcdTAwMjZjXHgzZDE3ODUxMjk5NDlcXHUwMDI2ZFx4M2Q1NlxcdTAwMjZ0XHgzZDIxNjAwXFx1MDAyNmMxYVx4M2QxXFx1MDAyNmM2YVx4M2QxXFx1MDAyNmM2Ylx4M2QxXFx1MDAyNmhoXHgzZHR0OVZsYVZaRXYtRnBybEVTVVdyRnE1Z0RCV3RMcFFoOTJDMEVKRXFpWUFceDIyLFx4MjJiZ0NoYWxsZW5nZVx4MjI6XHg3Ylx4MjJpbnRlcnByZXRlclVybFx4MjI6XHg3Ylx4MjJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWVceDIyOlx4MjJcL1wvd3d3Lmdvb2dsZS5jb21cL2pzXC90aFwvYjhxWHJGQXU5UEhWckdxTVppMm5xS205VFVOUHJyekVoNDBQQWwtNm9Wby5qc1x4MjJceDdkLFx4MjJpbnRlcnByZXRlckhhc2hceDIyOlx4MjJiOHFYckZBdTlQSFZyR3FNWmkybnFLbTlUVU5QcnJ6RWg0MFBBbC02b1ZvXHgyMixceDIycHJvZ3JhbVx4MjI6XHgyMlJydmlob2JDVnBtbVVJZlJabEhRSE5hQ2hlb3JMMFVsT1FaTGlGNW5YVUVtRXhVMkVwWVwvcHRsRkR2bjd4N280dm5OK2lxU3RweHpEbDFhSUR0RzNIZ1ZkR1Rwc21nQjB0bmk4ajhPdHVPUlBia1J2TSszS2lrZ0JmN2cyTWVzUWczM3QxXC9BTTVPVDJibmJWZFlNQ2NiR0lRRlwvOXg5WTY1YW5TaTBVVnRLUlV2QWdsUkVlTWtjcGRcL3Y5Zm9IM2swanBsem5sVE1JOGN1TVE3dXdMTmpJKzROSWpGRVlVRkFjSTdkc2d2ZWJFczJXMjJpMEN6cENxczFJNUhJem8xQlJ5TVppcVwvUmg5b21ZR1Z0ZG1JbWNJeEV0a3AyTWZqQlVoWWd6eGV5OXZ6cCtLeG9QeDNGVFZWZGZwWXEzaG14ME9VMFF5Mk8zVTBWaWs0dFlObXZyUzhBVU1QQndEWDdMQVpyQThseFlDcTFHMWxXOEs2VUdYUkRrK3pzOElHRFlSbFM3b1FjZnNTWTNuMnVLS2EzVnNsbGtrRXNrdDhnOGZWZWE5NEtrb2xMWE9IZEh0bmNwWE1tV3N1bGc1bEdvb0o5cG1cL0J6WmRsaDRjaGtveEExQW5JaStqOFdSZ3VJZHJ3a2VYY3h5VkNMR3p6cHI2MUp3aE1BanNTMlUxQStIbHlTTUlOT1wvRHdkeE0rYXByVTRaMnJJRGdKNUN6U1NvWkZkYXF3eXoyUmRBZ2ViaHNjWGxvTjJlbVBSMFkwRWNFdWdCRnd2MDA5SWlZVkNkUTFkbmgxanZSeHdUNUNpcmhxeXMwbkR2NWJDMmluaU1BY0lzenhKVXNCd09uUDAwOWcybTFDYWRCcGJXS2p5M2Uxa3N2c3pKdmhMNHh3blIyVFk3YkdmWVBWMFNOXC9WWGViSXZUTm5kc3V5MXl0Vk5ERm1kU1V5WGFWRFMyb1BVdFdSZ2FDV083RUJyY0ZUK3Z5Q2dDcnRyMnJjbUxqNzFZTjcxc2E4dmJ3T2pSMmJBcTU2eEJLUzZGR1A0Y3BPVXlaenVZZENWRExhcXFCMThpSGNTUENYRWEzMlEyMDVYRVJudlhQb2c0bGRWdG9jN3R1Vk5KSSt4a29MTlpRMVJrS2RiSFhyT3Q0Wm9jR0pxazBPaU45YU1VVUJoYUZHc3BEUXVsQ1BXVTV1VEN3RWpjWDZDRExKXC9rcW9tamgrSEU5TE9aOXB6QlwvazVWU05kbGhRbkF4UDNmMTZkak8xWEFpT1NVek5kUVorM2FtUGtDUm5wa29YNm5PQkdtNjBsalwvTFVnZGlNc2xlbWFSNlAwUkIxbG5DNHVqSThreXlONjh1YnhDcDEyVG9tOHU2b0E2RDFtOGt5YUlwemtaZllkZFRFZm5GTVZtWUNZYjNuZGJ4UThcL0FWSWdFRTFYTnBiM3I5Y296RXVCM0FhNWdxZkQrbnRmME51U1lUM05OVTNnQncydm9YSEttWGVIc01BZmJ1YklaRFJrOExiWkxBNzBZZWE5Z2RPWjdteHVrSlJxOWc0NVF2TDlNUnp4UEEzNUF3c0k1UFppQ3BGRmo2ZXhQODJUaFNTSzlhM2t4dFZKYlN4dzhqRFpLU0VCNXAyR0wya2ZDUk9YSkdoOXI3XC9QSmdOandXRWlEampjOFI3ajdBNVNWaFRmUkV6MzhDYUpLNXNHZncrMFpuR1JFVExyRWNSUXN1T2N5OWtqMElZS3NQdUhYQlREdEVYa1YrYlpWbWhrWWFUbWE0eXcybzdjRVhoSXBCdnNUc0drR1dcL3M2ZTErSFh3THRzcURqVGpEbVhoa29WNkYzT003WHdKWEF3XC9pTGpIT3g2dlR6bjArUzJwSVRTVHlOR0hvbXBQWE8zUkZJSXVrK01uazI5ejd0NkE1QThwcVlHUmhaXC82ZlNRSFlKRWc0NWFiRGZaXC9QcTRnaHp3a3g5WHBCUUxFUFJrZ29DSTlBcUUrMTdWeGlJajVJMEkwZ0xGblNuRVFpQndDQU1naDh6Z3BpSUJVUitzUUE2ajFZRVJSRUU4QzNYbFZFZGRoOUF0YzM1WUJuZ09GNEFvQjlwMVZHSk5zQU9DZ0k5aXEwdVdJS0tjN1AwcGI2czFkOWg5V2RaYTl2U29rTldmNWZ3c0RSUXArUng1ak9Yc3NaXC9uK1piT3ZMd1Y2UjBEb1BnWTdcL1c3aUZlbUFVM3VkbzFYR25ZWDZ0R1pndStEVmdvT3dlRzcwdWVnVFFnVGtTUzhQdit2K0V6RXdEY09JTytUZkltZjIxK0xuaisydFdJNmNBSHJ1NjE0d0o3UUtVMFN5YzRXcSs4b3NoMDFybThIalZzSmVyc2lUNDBONGVjOExHM0xWdE80VUdzOTJVVWlhSWhPa3d3TW1LeVZGMFZuRVRKUCt3bVoyU0hmMmtmUjM0cXdHMTVVcXlEMjVQTVF2dFlneEJvSml5QTBhRnZMU2hhUkZQeWt6VTJNcDZkQnRTdEpQQ0p0OXpMWjRPOEFrOFl6bUprS2V4XC9kSys0NXpUaUgxMFwvWXMzUjBiVmphVXBZc3VWb2ZSYmVvU2I2ZE5rV3VZYVRQTzdUQk94bzE5ZWJvZ0pGaWg3ZzZWN05JcW1XYTFmYVk4MERCRnN6T1V0dHk3bW0wVkFjYU5yT3NwSDhQY1wvUm5Kd2p6TzVyVkZCRjNuY0ZzWGJUeTc5M3FDRnpSOEtsNkY0VXpkMUVldGpKN2I2NnRacDVWcVhhb2c2cW5XblVEcGozalhDS2Q3TUVcL0N3dFRTZ2VNMTVRQnVMaEJpbmVoUU9MdFwvMFwvTHdoOXQxeUo1OUdoMGVTWUszYVIzT0hyeVNtbHFhY3haSUU3UE9NR3BnbFlFMHpcL1dDMUNZeGwzUTZjd1FXSWhBZ1wvVU9HOVQ5dVBWNlNtYWNuNDlmbWx6ekE1VitwUTliWUcrRFZNTUxjZStTS1dsdjUzcFE5MGYrWkl6bkk2T0c3UHA1MFZiMStrY3Q3ZndSbTlWQ1FuK0tCblNIYk1XdHhCNFRrNkE0b2hTV3FrQnNnTGE4OG9wRGkwMm9ITUZSUjNYSlY4VFJTQ1BWUStLUjAzZjg4NUdIR2dSMlBwdlJsMjJDeXM5cnBpV3hSazhDb3RDUzBYejhLaHplcytYV3R0bUxQYUU5M3NETUVcL3hJTE5jQ2lmZHJcL0QxNENkZDFWZGZUbFZSNm1NOHNmYVlNQTNpTCtkOGpSMWhvWEZZdGRvTUVNcEx1QzFPUzBWcW0rYTZaRlNWQmtVcDIxdlFBTUFTbEFkNDlaN3packU1MHBtUzFycGRCeDVuYTRMU1dZbncxeUZ6SVwvclhid05FOHRCQ3JvdjU5eVBhb0dOVUY0SkNObzR4RHlqTU9mV0FoT3hYQ2xrT2FPRE9DaGMrXC9LcFZpZFFKMlwvaDJ6NUlhOTU0Rk11ZEVOeFVNd0U2STVMV29Ua3J2ZHo5eEU3YVlBMkdwZ1I0RFwvc205aDhnZjR0WWo4MmU1MHluenZjNkpLeklRNThXaW42QXgxZWwwZE5KcW5YK01xSXdXUXQ2QWRRQW84ZTJJQ3Uyd1d1bjh3YnI1dlRuVWVZd2x1UHJMVzF3YTBKRzFxXC9XaVFzMlFwODE5Rkh0MVpuM0pcL1l5ckYyY3dlb1ZXMEY5S3JGQnFzcmRnWXg4MUFTWlpVXC9TVWFEUEYwR1g4MmhRTEpPVThNZkQwWFV0bTNyS0pJS0xIU1dpVm1jRTJLaFEwTnZBbTdhYk1GUDZjVkNMdWtiRkxRV1l5MkEzakRnWHJhUzRtWjhoVGo5OWtvR3VMU2xYWSsxd2FYaEFSYVRvb214WGNNOEdpZ2EwZmdSdTVyVTA3RE96a3ZseVI4SFQrVVhLbmg2WnVDbmtLODRtaFZqZng1TkJEeWdPblNQanM2OGdLY3ZGWjZ0TjJVb1wvVEhnV3RBTEU0bVwvSmdIdG00aDd5MDkxMnlscDg5cFBPZXlUc09EcHVPdlpXa1NnV2J3eVBQZVwvOHF6TDR1TWVYOW9NTTFabGdCdkl6ZXQ3aW15RktsdEFpVEJCaldFdENXVWRZZXJtQzJPbnNBVzIwZkpleHR2dWszVTNsdVZJdm1oeVpUWUtNN3pPN1M3MHhLV1U0Q1NUS1N4c2RSam9sUXJRdTEyM2RicnRudncwUE13YUxieXpUUWNzWWgwS0JVbjZzdU81aXRUZ2JkUHBjVHlsNEpncFRSaldqRVdGUDNyS1Q5bG1Ma1dPa05TdUs2NzJET201SFBMb2ZqbEFNcjNUam0waVN0Y0hLUmlwaXNkTGFQTW1oRGlOMzhOUFNwV21WRUJCV3piejRRbFRZVXZaU0dzR3RUNTQycTIreEdEWVhuYjhycmgydFJcL3FJcVJVZ1ZcL0tJZVdtU3o5aXZZMUp5VFlTUTNrXC9TbmFOUmZObkRpS2F1QzE5MnB1alwveTFnOGJlaEI4bENXc2Erck9MOW1XdUVVSFdYXC8xNWJxMnV2T2VLQzFVZ2lUOHQ2RDZPT0hxUGNnVFJuQ3J0VlNwT1ErM1dxTXJ2dkYyQ0JEUmFnU2d1WjRWM0FiXC9OMVpSRm5uRmEwNGJaVzY2WTdYSmpmWExCa1NTTUhKeW40NG15c09ydXBWeHdndkdGbWY5YXRPT0NudHhsZ21sWFUwcHFEaXFkdFJZaFwvckQ2U09ZVjJHb1F2cTNcL1hDS3hIVTRXR3dSTUlpQXpRcklmUUZhVnlEeEdTN1p4YWhDaitcL1BWdTlUNCtob1VGbEFpQWdlNEdIbUNNK3BDZzUzelJ1S0sxWVJ1SEkreE01Y25HRGlQNXV2U09uVWsyMjdNMWFnQklGZ2c3dGR5UllqMGphbUY4U1JOVkIxd1NKNHh3M3NyOVNYXC9WRk5yMjI1MUZlMEtGdlM4RXJWVFNiT29rRnhESHBZOGpMWlhcL0NYMVFiZ0c0UWhSazQ1SXh3VDdqMWFcL3MxSFloZnNSQ1N2cWhqZ29OelBJaG1CdTkyU1VTQmM4N0xneXRpMVlZSVorU1B2dVVaenZHZE1TYWptc0NEVWJpWm1weGI3NkV6eEZ3Y1I3SHR4TmJVNDVta0RLT29QRjI5SmtEZWNST09LTVhuYWV4M3F4enRwVU1HZVJNWmhUdThNelpNeHV3U1wvbHFCUExVcGE2ZUlmQVIwU2ZuZDRGS2RWUXFBTnFrWlFPeUZaVWlQcGF3U2pOdVBnZDVUYmJOdXFUa2VNRklxWnlSYllRTWZrVlMzUDAzVlNCUUJZRmQ3OG8ydUg4VjRGK0liWHo2ZHhsRmlhOVR1ZW9uVDJRME9CdlZQbFZoc0tXZjNRYWdtUXdwc2Y2R0JmelBSR1dVSjdIZ2NNZGRtYXd4V2tKXC85STYyQ1BFbDRxUk1XZEFcL2hWY0N5WHBvemxIWDY5MkpGazE3Mk9iaWR1RVRxVXBpaUxhXC9KRmlscWRYZ0N3cXAzXC9QcUUybmUzSWhKK1ZPb25zcW1hazRXZ2lxYTdVR1ZPWThkcTkzR1ZwN2RhUGdaMUgzRkRwWkFGWXJqc2V6SXBQUzZRVjBKMXVtMURNRVR1ZzhCU1dzMDNDYzV0a0VcLzd5SnVJTjZCUVB3YlRZek40WUo4NkVyT0wyQ0dSYzNzcGVnaWFMZ2hYXC9kSG1YOEV3aUJmU1FJeU9QZzU4N05ZMHlnOXhpTWt6UzB4dmxpKzROVkhyUHhUNjhqOWtXdFFNU2VQQkZIVDQzQ0d6YlhDa0pwQ0oyakpSSU1BMTlnbW9KVkJURVwvSlJyRlY4ZnhYVnBWTlFCSzd6SUNlSlBGUkRscmpBYWJhcVVPN3A4ZzJkN1pSRmV4aTdNcFFBT3EyMXo4cndKM3JzQzYwVXJCWkdCZnduVmpmUWR2eFR6K3loZG1TRW5uRzQ1Qis5elIwT1Z3SU9SZ1lQbUdSaE5uRldDb1dZMVdYZzBaTzc5RVwvMFBQXC9MamlUZzFSbmdUd3E4VE9kVmJYcXVTMUpybGs2VWRuemlnZTU1dllSRnVORmpkWlk0dHVEZjhwVitWK0g0S3Z5c1NjNTNCM1VsSkwxeEkrVWNcL1R2NENZVFVZYUlEb2FibXJINDZDZlJISm55d0JzZzR1eGhrRUpVa1VyZEtUZWZpQUFuOVB3WE9Ob090dVI5cENTOWlmQzB4UkJpaWhVZE5nOTlIdVJlRVdQVjVDZHkrVmZ5MHlsXC9BRFwvbnJHdjQyekZKMEZWR0hJa3JidFNIMmxib0NcL0laWWdFNWJkQldsSXg3SkZkdVgwelBNTkZybURYRU1NZzJaclhZWERLUzdHZlh4VWVCWTlIVStJaTdLRVZWVzZUWEF0R0lJV1ZrXC94TGhRc2M2K09YYUpBZ0luOThQcjd3MGxyeXdcLzhrNVBjQzY2WjNcL2VGSHh5ZUZnRlQxNE9UT3Rxamg4MGtpaVZER3JwXC9yNW1PSXlBU1QyVkw4ZnVwekNuOXpad1RIV0lNZkMwQ2hVanFvMytrV21pN2ZaV1B6Mnc0NFpsUlRtcG9sdnY2dEh1bWhrbnR3S25kRGJOdElyODE4Mm1rS2NTZCtEUlNIdWw3cmR2cFdKamZRTDEwTDlkeUI1bzY1MGU1S1piV0pOdWVPSmxiV0thRERjY3FLdExmTmVhRnRkXC9vd2taaEJnZXVQcnZGamNBZzJaXC8waVZGUXJXaVp4Vk1NWlNid2ZkVVY4R3dNSnJzdzR3dEV0T0ZjditTczJPSUZZanNYZCs3U2M5dlpuQ3hSZGNkREorZE1iRDJUQmZPOWNuQk5rOXN3RjNSTzVqelE2aGRBSTVnNVlRcTVibDhkTXFjeExnNWV5N2ZZUHVRdzUyNjJxdHI1R05QQUlpeThxVzV0em5Ebm5PZE9EZ25lMFY4bHZSMDl3MXRBajlBYzVSNko4VUJwbWkzc210XC81em9cL3B3V01tb3BYSEVQZ24zZWVIS0RUNmpKOFJ1eE9yT3lmMUxZS2xuRFwvdlJtb1JvZHlvT0tvU3Bpc2JibGJxeG84UThjYktpSVZkSFpuOHRpRkMrQVYxZ0x6c1pQY1FHdlR2eFwvem1pdG8xN2ptc1pJZ3BpN0FobmYzVUJXVitQaXdYQ0FEOWhcL3l2M2V4NlwvTjNSa2dKZnhIRmp1ajJJOFNqNmw3WDE3ZTU4QkV4d2RpRWMzTUV4NkNQa3gyS1RTQkVPbjlQZU5ZUEdwUktKZXJvSnJseTg4VDRvM1FaU3gwQ1ZTRWN4QkpHUHJHMWd3ck8wc2JBSURaWG5IMjFIRUErejd4NFQrNkh3b0JSdm9hUklZbVpLSG9Ba2dBZndFVHkzMURoZFVYV29GR3FmMXdUZjFDb3YxbUV1elNxXC9LbTVSeHRVd2VSeHZmNnFFWkNlRlR0cVdVQW5zRU9Bd0c1dnpiYWFGTnpHeGJaVEpHeDRwTVM5enQzb1Rxdk5janZUUjZBYk13U3hhQm5OWXlWU2lSN0lTQmQrYjdUZWg2ZXMxZlwvSmFYbGZjQ0tzR0tuMXVQbFdBUEJxTXF0elwvTmdlWlZMeTFCc25cL0lNWUFhRHV4dFwveVNsUmlLeGN1K1REQVI4OUZIdUlqa1o2dTN2c3FLTERYTVwvMkxGMkFzandvVzZrQUw4S1ozdFdiMHAyMWMrOWt2ZHowdjJQcWtYSHh6VkRFN2ZRKzZZOUgzQWJVY2tObXp0OUtoMDY2ZFp4eHVaaTJQd0RjcU5obU5QYkZPRFpYUzF1dFlQek14R0VybStiVCthWVB3dDhsejB3YkhsOW5FUUdaOGdjMHVkSzRidFhpM0tDRjBmTldtaDBXUlYrYW9lOTgyXC9VeDFLaEw4Uk9MVTZkZ2tCOW1tbkNjZFc4Qk1iVlc4dzdnZ2FOK3VsTzhLOTZIbWdaWFYzNFFwc0xKZjFiT2JpclFcL0IyQVRBXC9LS01jWGtOUVwvbWY3cHVpZXloQnptTFAxR2ZENWtPa0VtQmdyVEpQek9Md09DVDRsaXhFTjdrWTJnQnlSTjk0S2RDdWpWVnVZSG9LT1h6cGIwZlFmQWFVZXdudVwvR1VHRmo2bTNLc3M4d3JOcW95YndzSURNU1puMnRmNXEzalFsVDlrQStYN1JHNkpMNVRLcldja2FlamNmWU9TMGRnVkdrZnFPbUo1a25pNmZYdkJTc3dFNmhSbWppdDhTTGljTnFcL1BCclpFVjdYTmF4clB3NlJjV2FxUnpYK2hBYmFCY2Y0alwvdmJvWUh4R0xDUk8wV2toV2xVMVkxQ2hicm1EK2xqNVlrbXBGSkxoUldmdUlNdkhiSU1WQVAycG50RmR3SHFFR2RVc1RidXhob2kyV2RER3BkdGFsSlBIcHRXeTlraW8yMXBZWnJLaG9vYjRnZGJ0UnVuR1BBZHg2dUtJYkZ6QVJ1NnpIaUh3NElPZ0FLRHMrWUFTKzV5bk8zekljS0xcLzliTzVSYWRIRjNqK0FiUks3cXRVQmhcL05ZdmdXVzBIdHZlc2FGU3IyZ1MyT3RvNEpmd1NNZGxON3oyeldTbHNRc1J0T0N2Y3o2VCtnNmtaQTREcGFMeXJFTVcxK1wvZmhZWGxKZkxOR01JK3VwNTNZb2xIT0hOU1hUZnhcL1FJT1wvdk96MUZubXJDM3hBWEZMU1wvVFlmc2wzVEptMU5kUTVPMUp3OG9ydUoyWTlsYXJBQStzVFQzTEZZSE9Xanl6V2czZ25YT0tVSldXUTFVZG1RY0o2M1BjQVlDU3dvNUt0ZUtNa0lMTkk5SXRsYzVKTzJlY0p5eWtabnNuNm8rcCtIRTNyMzhBaVBOOHRjVHcyNUFcL3VXZWtBNHRLdngrWHJERE1CMUJ5SUFsXC9vbmR1TThlaDBhUlRHTXdtSTNpUlZWRktwYjZmYitMUzhQU2dKYTlxb3hXT1wvdXRXUEEyTjJcL3JYRUdtdUczSnphR0JWT2x2UlwvclwvNHBuZ2NIdlhIdStOSDdlM2liMUFiK3BxVVwvalZLSVZTd1Rpc0JYMHljSldwTVFvTjlZSjlZRUo4dytlMEprbFNYcWgweFdvS3VTdFhGbjlNOUhORjBPVXlmVitVT1FzRDdZWjNSYXNnVDdPVTZ0MUNqXC9qQUtFUng3U2JJU3R1ZURQZXhJZGgyQytIaWJVS3pDRXNUdlVSZWdtQzVcL2FCWkh1czhwejJERUhhbW9xTSt1RXZqSnVQZ1wvYVwvXC9OaVwvT0pvMjRKYUlKWFJuYUpYa2NOeXhUbWltXC84aHZVNzhOTzlpV0JCdzBBQWg0TzZ3dkwzTzlLYXRabEJKNlQydWsrSEJzcEE3Y2M3RmJiSU1tbXB2NDVzTXhXVGNTZUltVEg1NVwvdWRxWExvVlJNWG9rTlZqWUJKSmUzaUVHV1wvRk5oYVhnSU1oV1Q4WEpnU3ZIb3pDaTVESnNObFwvM3pnS0V6VHl3dVhUYzVDclFncmtxcWs0NDlLQkxUR3JLVnFWRERcLzZna1paQ0JrdFJKQVZTWEtFb3M5WnhHMWpOWXAxdXR6bzB1S24xUVZRRVJPQWJpdnNJa0dvUlVzaHRlTG9JNGRWOWZjb0JBaDduK1BwN3IrdFpBUzdWSnVBTDZLRG40S091d2orbWNxdkV3Z09KN1RQejJxQXd3SUJsQVE0RksrOHEyQmFvd3FlTDZmVjhyclRXaFY0VExcLzNhZkRmeXFaVVViQ1pSMHd3bFFncEpmb3FSUWxsQnIzMWRkZGtcL1hPcEU4bXpDRU9BbWoxQW9ZRlE3RktFNGoybzZPblJNUTlZak9neXZQMnJ0Q3Jid2g4Q2tCQ05xMDd4RFcyQWloSGQxR0JhXC9lbVBUQzNmbUlnazFsMFNZM2lKXC9IRFo1WUFVTnExZitpektxdVwvRGx2Z0tnbU5GRTNST1h6a2FHZm9vY0t0a3Q2bURpVUtcL2RXc3JQYVlxYU9paUgwNHF4Uzc0dEZIZ2pXUjFYU090VG5OcHFGdjdKSGdqdVU1Y0htd0ZpcWwrWWx1Q3JKTmRoNkNxQVNWOXZ0Z2hWMHlUdTN6RUN4ZmJwR01Xc3JaYVVVekFwdlRBSWRlUE9maExBcmZQRWtJYXdWS0RVT2RaNlJnamhZbFNST1JSa2J1ZERST1wvUGxWWlRLV0xScVNIbUU0ek13VjNPZFJTM28zcEJGY29DWTJNa2ZqdmVLN010cFJFOVNTMVwvUlFqTDFTNjQwRjVSVk9uVTAxelhzeHJJSkpEZ2FzM1ZJcVVVSmEweXIrRjBTY0hQK09DT1o2alwvN0VTTVwvWEJUcTczek9rNXRZOWZzcGQ4QlFNWjRFYnVEanhONTFVNUl4VElDUm05RVdlTFpqQk82ditPUk5zTitEQVh3QUF1dkRYTUpLXC9VNWQ2dFhvNVpHem5XSXk5WE9mQnhkckErZm5OQjJoK25zZURpeWt2cWN5Z3dOaVNoTEhVaDJjN3Y2cTBLMUtrREFxTkg3UG9xSmk4OENMV1h6OGhjVmpqY0tVV2dnSU9xQ3VoN3hRWjhNSlRCTlpodVVJbjR3TVZ0RjBWOHlZblR4MUFINUxhYlwvTmR0cWxrQVVscXd5NG02OGh5Y3lwUVl1MjJDaURWZ2czVzJLdXRzbjlBM2QrUVVMTG9vTGlJSGZuYWo0SFNyT1ViQ0c2Q0ZVd1lVWjJJZjlneCtrQ1ZHRWJZaHZIS2dVM044RTd0dVBcLzRtN3VIYVhcL0dRNnBNcVNMdXBqZkFYUGV5ZFo0cnZZS3gyeE9pQ0M3elN2cmZwZENcL0dlM3ZnUnlcL29qN3R4UDk2dkhJMVQ4NElVOHNKYnVQQUx2R1Q3dUFvelwvVmt3ZGpXWmtYS21idU5HWTV1YmdlZWJTYzdQZXNnWGZPYVUrQ1o2XC85clZiMzhLTkFmbW1IWWw3OW9jV2FaVnEybmx1UzUyWFdhNmc2M1BTVWkwYnZac0FWc2ZOeFFTVTFcLzJqSVdmNGlHMFo1M0R6MG02RzIrWlBkOGQ4eFZhYzZsSVdaam9BVnd0N1ZFd1laalZ6OHphSENheWZKUG9obGJ2WlpVTCswWFBXZkNxM3VrWXdnSTh2WTdKQkZSK0Q4WXpUdGppcVNLQzQ5WVZWblVmUng1VUJWTWxMNElpY01JS1JhMTZRNjdZVEVcL0k2aWlXZ2Z6NSt0UmxSUHByeDhMTmU4a0ppZHd0UExnU0ozSzl3UTJsQ1pIV05xbjlRbzZabTNrM2k0WVArazFuWVwvSXRQK29SN0xQWVBNdGtwRnkybnN5MG9NQjBiclwvRlhyaGxcL2ZNSDNUaTJxK0VTNVRRN1N5VW1BNVdqMTZlMmU0djNMXC90QWtnREM0cmZ6bjd3VGhlUDc4eTR5anhERG9jMWx6bW1nZjJSeG5FYUtTSE45Ykl3SUFnN21abDdCcXFwY1RrajdURXRQalBKUnlBR2Z5dGc3ekJsM2lCSlRoODVqWWNQSlBBZ2RKY2tpYUZ1XC9zcTZnTHAyNldcLzAxRG1ka0orU21TT0lIWVVOK1FRaHRGMytla25GZkljbmhuTkFZS0pjY2YxZUg2ME1CNmhRWk5wRXJwQTd3Z0FPNHhZcUhpRFRESks2bEJ6YXg2T3dhbDdQXC9ZcDVySGxRNmVDMnhzN1BxMEZmK2l6SFNnWGRNYXJ5OVNoMithNmpac2ZmeUJqd3BNWFhhZHkreFdSUHVFa0FUZTRiSUMxQUpzSzhKOUVFOVRWWUVEdzdpSkkwWnY5ajFtMk1VcWQyZXpDTXFYVjNVVlNJZWc0OFk3RERSWHR0UFpcL2taRFBCVGJBWDZIRUZvSnp6R0pNZ3ZqYWVsRnJ3clJzbXVVWm5FV1ZFdlhcL2l0Z1ZKTSt2dGFOMmpDeEttd1ZRWFwvQlpuWjZCdGtYUythWWlUNExDZWZMTTZ1dDBhZk56OHN6Rk9VZ2RsVVFWVE1sbkVIMWVMTlNmS0N3UGRqUVNBVWlucFBNVDgwQ3k5RWpocmQ2NE1UUWptR01jdTRwUE5ra2tVNEluMWZkS0FyVHRrc3pHNnBEUUxPRTNEVE1KWTBJbDF2dUM0NmhhU01lVG8ycVwvcnFNMUptUnlyZmRUNExielMrYkd6M0lLNjEwTHZsanZMVnBsTURZcUdLOG85bjhiNDVYNGtoOEVMMU9CN0RoNU5vUUN0ejJPU0Nkb1EyZ2VHZEc4MXUya2h4QVZ5WWh4NGVhUXlrUTZZOVlLWnZIT01WUng3cDZWUHFKQXJvbmNvRkF3UENHejZ6dTRNYjM5MGUxK2VvdnBhcDRRdnRwclg2Y0dWT3ZPeHdnRTBsUjIwdUkzMURscE02Y1laUVM2NHpyUG5LeTBMNnFcLzRDRERuRGhMV2dWcTQ4MmZmUXkzQzlSTGw3K215czg1SCtQMUU2ejVpZGhFVFVmNmhmTW5jOFJieGRrQkx3NmNSRmZtd1doM3JxODhKNzM0aTNaeTRkWWlmc2xsVlJrbEZtc0JWWTNkUm5XbkxJVlZVRXkzazFPcTJmanZTSlltQkZZT1wvc1duUit2U0JkM2IwNURlNnE1dXZtOUthejB0a0tiWEhIQmdDbTdQMERONlV6dFlBQlJaWXJ3MUMydXV4dWVYNkdyS1FleEpXZ01DVXkrZDY2eDZnMGh6cE5ITEJyeFwvMDJuZDYxeXFsdlowUFFnYzZjR2J5dzVab0ZwRFdSa3BYbnJockdjZ3lJczA4K1Zld3lPa1JiS2R2VzV5UUNKRVoyTm4rWWNXc0wyb3FzSnBNRnN1cmE0SDhmS1Y5YnJHd2NmM3dlNFdrSUVURU5yZEZcL2sydHhiQkxUM2xGMUFQNjFFM2haekZnTW1FTDZnMjM4cjltUXVUbDZzVGtPaXMzMk9QWGtQNFwvWjFmdkI4SjFwNFArNjZcL2Q3T1VxR3ZTSEVWeGFPSEMzdGNjNVwvMVBOeUpTQlk5RDVFS25CS0hTUU5uUSswUm81YTJubTV6bm1zVG03XC9iamRMTnFYc1V6Q1FJcFV2Z1lFNE1uWFQ1NkozbTZUdDRYWURmQVBUaTBJdkp4SDlnemhKTENJYVJ2K0d4cW9yYWlOMkFJRWFjOXp2YzFHN1pDczNxXC93Zm9oU1Y1eit4ZEd0ZllRVWV0SFBod2hYNnhxXC9MNVY1MXdXVmRLXC9vWFVaaWVsaWJJdElnMlwveFBPUUo3ZXRzeFFQZlhCWEo2WUQxcTNVOEtcLzZtM0FkY21KZFhSdjFKbG9LRkNLcVwvXC91UTNPeHJ2enZacDhGQjhGOUdCcUZaQjlnYWszSHEraU9JY1YxcGloWWxHclQxUDB4XC82VDdlSko2NXo2SUFibVhGcVZcL2U3V1hwVTV4MEFnc3pPVU5iakl4dFBJMFMrTzF4TGEybHVxVSs5dWRCd01YNytFdzZtQjUyTHVHN2V5YlV4YjNSakhOZTdRSFJFSGd3OFBxTGpJR1h4enZQZzdKckJGRlwvNU1FbnYwcUJvUCsyMTl1bm41SDBuVmdLdnE4eVdDYmlvTlVmaTBmTDNXUXc2c0Q5blZ4NDZ4eUdsQzJ1b2hsXC9oNzB1Wm04eHhYRXp4MU1ldnNuUDNcL2lsOXJcL1lXdjZuNExPWHFCQ2ZRRFZMT1lqSWNwb1M2a2Q4TTlSdWx0dzhYcmgyVThxU0d2ckVtRWk0eEJWZWl4dkhDazVZWFZWUklsdkRnQ0dGbU54aE10b2NUZkZkT0Q5N2hwYVhLaERMelwvTHZXUFB0SzhFdUpoa0Npd3lFNHRQc2Z1S2xnRlZ4TkVpQjRCazdab29cL2RIZ0xseHNaamxLeDJGaFJKWXJuT0NiTmlsWkNlTytYKzJKeVVHcHpGTzNwbUNjaEtpODhXcTNsZmJyOVJqTnpiaG9sRkFtRzZSY1dqV3NOZFVPMmFQc08xd1o1YnA0ZXBvZG5GN1pSNXZVa3VaVmlVZlRHdCtXM0tLVVRwZFwvUE9LRDh5TGpnS1JQSDBjZWwxSlFaVTVKQ25nSHRqR1g4cTR2YXFZM2ZIVUtPNnhqbEExSGJQMW1MaGR1clV4c0FINzV6ZEpaV1o4a0R0eU5uamhDY04zRkx4aEFxa1RMRHFMYTdUdUR6cm11Z0pLVHRoeWhWRVhJclhNZkdFQVc2TWtydU84dUpjNGVqeXdPZFlZTmk4NUJwS0tqVndmVGVqcVNwUlNYb3FhMHRFUnVrZlpiOWJlZjVxc1ZoRnJsSW4yNHh6QzNPZXVxeUtBZEs1alwvTU1rU1NIRUtkQnZUZEpiMUdxcUpqN21vbkpDdzl0ZVwvamlIKzM1RTF5TE5TZzNpdlRZcGkycE1oN0J3NE16UVdpZ01MSXpGXC9pMytqcDZGMjN3eSt3Y1JQcGd5a2tQWVhob3RWaytobVwvYzI1MzI4RFBZMEY0Zzd4RnJlQXZZSVhCNjJieW9cLzltTFBvXC9TMThpcXlZZ3BzNU1VS1FHMHBOUzVlS3BldHNrdVwvazhhdzZcLzRtYVJncnhsQUpKTWFicWFGb1Q1T2VqMjFGZkN1RzJlTmVDVDR5WkZXdnBkZjRKdlRLRXNiK0V6dnEzVUhSaWFVWUFOZ1wvZnBXVnpIUGFPcEJPVkcyUTNNa0pKemU2eTUyazk3YTVabzlCbkZDUXBwSFpaSDRhNEZXSWFSYVU3cnVkSkx2SlE5Tm9IdG1rcld0T2dic0hTZU5PQk5FelV3a0JodzAxVGltNFh2V012U1dPZVhDYktVNkhZYk9tNGtveXMyQWNFdFwvZlVYY3NyQmt5OHJGamVJOCs2bjl6elQ5MTFMcnZabGdQaWJvUzVKQk9YZ2ZqZGtyOHN5TUUyUVdaVzRlXC9EWXdwRXJuM2NFYVByZXN3S09OSmZ2Q241RmpEaXdNYTJicmVZclwvaUpCRkMyMXBJbUE0RjhkMitpc0ZnVWpHaERQWWtmR1l4cXpZWmRIWUNLSnhFK1UrS2Z4VFg5UExIejk4eVQ5WVcwYTYzVm1FcmI4RkwzT2xxa3RLNjFlaU95TUtYd3lUa2VaTmZSQ3orMU5ZYVwvbFdTY0dIWTV4Y1lETGJFOWl0b1NEK2s2aGR0QlJMb1JIc0ZOdVpPQVRnUitWUlhoZ2c4OEI4cGFZVzVOc2F6VktyQ2h4SEpMb1ZkYTdjWFloc1BPYlRSXC9qRFF4cUg5RjQzaGZyOTNiMFpcL3V1M1ErRXhoUUowRHJvamRxTVd5STZxaVNXODQ4bTZVXC9VYlJcLysxVUIwWm05R0RUQUhqeThmXC9FOHo2WjdiNnltc2NcL29pam1mRlJHN3VcL1U3V3IyMWhYUWx0NGd5Y3F1ejR6eWdUdVNOdmdPRzVDZXZ6YTJUc1FKVXBOTHlWZFl0R3pPdXQwcjNNZnBcLzRsMzltb3hId0JnZ1dzZWJwaUdwakx0NHFoUHFtVXp1Y1hpWkpcL0VcL1hPdnNxNXhqZ05RNmE0S1VudXlZYWw4T1RtVzYyaFh3VmpkUWNINGU3Zk9IbExcL3ZaMlNWYWR6d2tEKzNKeUowTkNIaUtpanFUNzlxXC9KVklsMVR1dWwrSkZIdUZZeG9GM3N4MTdwNEUrXC9jTnFoeXFmMGdlVmlFSGQyZEFCTFFkdEd2ZVRoRjZFVTArRXd1ajFpVDlQQXRuZ1wvTGJ2bHhMUzJiUW9EVjdCQXJERm5pRlwvXC9ENHk0VDFKamJhQW43S2k1MUJNOTlMMURxeGl3YzVLbEhYdkk5cTRERFlyNVd0Sm5CRmwyakRySWljYlQyZkJna3hTeURFcjlOeU9acnNJVGgrQk9CaktOT1VycGpBblArbTV3czRWMEd2V3NvNHJsWUQyaWVGUVlnQjhnKzhSclRzOGwxWWpYNEJcL1JMbFVKeVVjZzRHUlZDcFwvcUV3cHE2VjV6cWVLKzNidFNEN1BxQUozQVRvOEZDcUdWaGR6eVhUZ3I3VUpFend5aTdRWUFoY0RXQTFuVGZhZlBJZThlODAxSlptR3pQdzhXVEE5eFBhOFYxOUJ4aDNCYThkT2xPdUZBckFDbE9INU4yXC81S2I1UUd6YTJ1T0wwMmw4MllpUkppdTk0c3AwQ05ZTk9SbTMwV1ZFd2ZSMFFGbU1TQTA5c2l4S1FxOVhtY2lxTFwvXC9Yc0tRN21raHpadWRtZ1BOWUdNbnQ0N0VZVTdFRXd3OGpIbUxQaDRET1M1XC9kQ2hUejY3QVVFeCtWUk95USt5N09iWnN5VUtZTFNNTlBBSkVXTFE4djRDR3JjK0pCeWxCZUFxQnpJQmdRTWJDeGxoZXdKODdLSHZXV3NiSDJmaHBtTG90ZXV0dHpaRjAxcjVjZFFQU3ZFWVlsc21LT081SjVVQmJsSmVyblVkUDFQXC91NkpmUGtEMDRNQlwvcEZsSUZwRFJ2Umx4Z1BHQzlzUEVzNWFNVkxZeDVsTUVEQlwvbGhveU9HS2FURWJJU2oxSzVkaUw3S084dGNPNWZqNTlTbUVIdFNxRU9IVzBoSnZGUFEwYllITFNvVW9IRGJDT0RTZkp5aDZDekpwcXdxUCt0MnNGK25FZXlwdHByNG0yS1Y0MzczUEZDQTZXdjJSRVJKYkJrdGpRN21PZjVWQ05EN2hwUXdpSXQwaXRKM0IwMlp6T01KRk1IUHhsWVQ2R1Jhb2JuWnkzbFFEZlJBNGJEdUw1VzMzRmYyRmFpQXhGMUJ4b2EzaGMrczJHQ2tLYlVqVCtLYndXXC9GWUxRVW80UnZGU0NqRGJZTU42U1FRdGdDNVErZldhVUpiUTZYWUFtQ1Nza1loZTlFZzdEU1pKNTU1TUwwMXZYbXBWUlZNRFBZaW1lRFg1NW9yenR4c1NQdnp1WDJ1NWhUdjRDeStUQkNaRkRiNlljcExxNWlvNzA4NDMwQ0NEdnRtRHE2RzhqbGc2S0ZYUXRSOTExNDc4aFJ0cWNscGtuM2U0VW41SjBxM0lCeUoxdFZtaXZhWncyRUhTOW1FXC80OXhUXC9CalBEVTFxUnI1TXZZRnV4bEVmalNxYnQycnNzeGVhdFV5SEdxcE9ZUE05eXNzTGUzK25WQzFWZ21BQVNJWGVcLyswWXpUXC9cL2FtQnhwa2llXC82ZkNXZXNvUXh4UkNzMTlaN0NZRGlSNUdHYXBncThDZUh2TXhhV1lLNEtJUG5HcnRqaFoydU12eHoxaTRtSkNJKzBMbWVrdzZreHVWM25GYnVsczNGKzdlaEQyZklDanVVMFdMaDFrTkpWUG5Td0paVTB4UlNCYTBuV3JldHF2bG1rblwvdGlFODB3aWRXU1FlcjlhY21EcFJKTDdvSEhmUkoyYW00T3ZZU2hOT1Z3NXduWUtnUjVYc0VIQTRDM2kyRjNQUkR3VGxSQ05QeEhFWGxLY1BQVUJSbHNabTJLM3kwSldycDl2Y0JaQ0RxMFNnOEFJZ3k5XC9vN3BUaXd4SGtCVXY5c0pyWXlyQTRVcVwvZllEbFhXRnFGaFk2UlRPWHdOTWFqQzdmRXdMS3V6eUJHdzdnT3VZQlhlWjZld080TXlzSFBBOWZRTUplbGtadnFjd0o4RVJ4bGJIb1lvRWxNckR5ZXEzMWdIWjRrOGpNQmdVQUN5RmNqNHBTSUg1T2JSTmRKUU11NTdHbndTS2hrZEFxS0pkelwveU9iRXZhZiswM0VRMm5SWGZqaTg5Y2VndEZrRDlZNUIyNXdjRzRiem5PN3EwWjRxalY1MzVPd3BrOHIyV0ZINGlPdjQ0OU93djFRaUtWc0wxc01sTXBxdzB6VEJSUHBJdEMxaW90TTR2WEZNd2JSN0pYQk1aOE5mSmliMnVldUZMWStDbTk5NHlyazJFUXpPSFE5VEJzaWV1aGZJWk9IVEtKVXZXNzZheUtFMHJVWTZJclwvZk41TDA4azZ3S1V1Zk5wUUFxWDh6R3daRkVyVG44b1FZNmQ0eDlPeVwvNFMzYnNiYU1nNTBrZFBWcUpwRDhyQTVqakZKMmdhdkE5QXlXYzgyQUNnZU11YUxVOTE1c2hCUktmVFlucmErZmNIZGhhZGplOEZcL1FjeGpwc0hhT3hPZTJqNDNOTEtreGJGRDdLTzh6YmppR1wvWWJMbTFcL1NKNm1tQVFQQXU5M1g1c1QzTThPY3ZhK0thQW5sMWVqa1YyWXBVU3lncDlJWlpUREQ0cGY0c25cL2ZGZXRuUEVyOUxTamk1Mk9KTEo3dlwvWnhKcFRBc2JPeFFJcFc5WnNIUDByeHNNNnNPclFvUjc0SnJtUUdFRnppXC9ubWhialN3SmpGeWlGXC8yNWY5R0ltNlhzODNvY3BOVW9jZTY4dWRXdEEzd3p0bmhOak9RUEoreFlpNXo1UGd3UVd5dldvb3BPenNtNEN5cnhnUG5OYVB3MGN0SlpXQUVLS1ZrMTNKZ2ZHa2ZBT0Q1cE1QVWRHNHlDUWZ5TTVic25ybW5BTEF2Qmh5dTU0Nmk1U3lMd0J4R1R1YXhCUXNCbkVrSnRxd1ZMM21hdFV1d3h0OVk0QTVlR2tOZXJyeElKaldTNG03Z25rOE5Kc25ESVhhUUVKWUk3WkQweVZEQkFRV242WkNDdDJvbVZjZzNKTHZvNzhqcTc4MVNSRThteW5XVU5uQWk5ZzNRM1Ywb0t3Uk1zbTMzNUZEbThQSWdxMlNpN0c5dGRhaDV4TGJIVUNJUGZQU2duRllLYUp4VGNQT3FxVkdRcklFbTZSdHZYYlVFYUtzRGZnZXZaQlFYRCtRXC9uMGhsZUxac0IxTjhNM2ExXC9ndUNOSCs4TFwvakhWNlwvbENDRjRiNytBMmxMczAxTWx1RmYrZ0lMVXBSMUtEeWUrN0M0NnBMRXBQVkRVS0M3dThUajNDSm9yQW1Ed1R3ZEJ4Q1pNZmExeGg3K3g2NUpnRVB4XC80T0Q1OFJOVzRyM2RwZ0djbE9LRWRrT2NIV1pRZ0hnY3BrQlp0bFhTbUFEanlxcU1NalVpRmoyUnhJSldWVzZUd0xMT0JyZWlOSU12enRybnNIR2pOOEZuZktCSzlLVFZTZGlQRG5cL0lMUTh4UElPTGd0a3draTBHdVFcL1RWVFBtVlZwd2Zjb2RWRlV5NEVSUE1iYklzWlhkS0w5VTQ3U1ljQTJtUHd0SGZ4em9tbm5BSTZQOHFOcHkzWENsTFUrOFhCSEE2OWREVlwvZE5mbjRvaXhkVERkcDBTakZFclQxUlFNWjVHMW91T1JyNitER0Y5Wlwva0xBektvOWs2T2hyVHQ5a1JjYVoxK0lUOGtvaGdGdXFsT1FkOFJnaTBDRU9IVlZxcHhEc0FSc3FzeVh5dUhIMEg3YjU4U0R0MWVOZW83WjFmZjlkYUNXMTlcLzZRWHllSTJaMk9YdlM3NGJ3azNSYzgzclVXRUd5bnBhQTVsdlgxSitDSExhMTBnbDRFZ1RsdDZrczIwXC91MzAwVWZqTVBMWHJiMk1TZVVwRkZrRW9ib25JOHN6RVdEUjJLZkNodlJDOUtySVJhSzl0cm1RNGNxR25vaFFGTk9vNmtkd1Jwbk56VTlZMXdlXC9RYkk3WTlxYTA0VHVmTzlrWlFLSVp6dVVYZk9UTE9XRGhYXC9uSWU0VkxMbUcxTE8wUWlnaXJ4MlwvQW00V2JQYXJoemtLNGlYS1FHVVltem1CRDVJQjNXdkVNTHlLY1FSMzN4cFlXY2hkOFc2cFhiMitNNHM0K2FKNDlEa2ZrWjhsWmJGdlFlV0I1M0o5XC9vRG1tcVkxbCt6NjRmWDR5VWliMVlzeEJGaVwvbFlHMzZIUVRRRkp5U09BMmtwODd3TGxkaTlLSWNKRDNZZnZkRG90OTJyWGxKT2hOR1lDTzBDV2RuUkhLRWtQVm5YbFwvRXpGYWFIaURTaEpDRUZZVlFzbDFjUVN4bnVUcnAxUFprTENzbkVWbzJWOFl4T1BmZjBEYkhNTVNBQWZaYmtSbHlcLzJNR29PWVBUekFwK2UrMEdjY1ZTdTRQbXE1SXJlMlFSZVBNeXdpT0RJUk1ZNkdYb3JkdzNRZTFMbUU4Q2lENHdFWGJvVFJWa2tEd1hsVXNjM3NyQzJYMW1UcmFqbGlPalphd2tkYkc1eTdQTTFUZWFZU0hHVmVheUp5emdRK2lWM1hwY1NMZmJBU0k1b1QremxOalpqekhWUTMwNGlsV0x3XC92d2JGTFBodzlCdWtrbVB2Mm9xdkZ4VTJ5dkZDZzYzOTFoUTNXZzJCalkxR3dpalRnWFJmUjh3OHpjQ01QUVVuVThqUmhcL094UkVYa1BpZGd2V2dOZ2dMMFQ3ZmEwa2dJUGxiVlwvYjB1Smd5NUluemhBUE1jMFdYdFFxSlZCbWdoTWZyUzBVVmRsUEdUdXRnWGRNcGt5b2Z0eENZYTNySHA1RUVMWVZxZnpNWmFiNzNORkNwY3RiWkFvalVleXBcL0RCQ2hqVFdVOEdnTWk4NCtNbE1yMEFxWWhmeFhDRllSVitZS3RaUlFmREN4bHp6b21jdVBWVGFodDNRVG1qbUpOdm9hV2FMZnBqUWpHQkpEMVoxckFkc013dVgxRnhKcDhQcE5OdWhUWnVFSDh2NXFvUFdWNVVodlVNRGx5aTFjWkNEdW1ZN05VcmFzNTFYclZwMlNNSjdjM1VFUVgrMXV4eDhSRmVSNEIySTRabzZnd0lyZkk3dkRScWE3RmtrUUhFQjNWeWJETW1nc0dsOVMzRGo4RFJZOEYwMzgxZ0Q2aDVXelo4ZFVmK0t3alExZU90UGMzT1oydVpid3RjR2tlUlc3QU1LV1hPbzBkOThJb3lyRjZkaU5jSllUT0dBSmd3M3hcLzdSWkhQK1ZsdjQrd1ZkQXU4TWF4NHp6Z2JKWmZxZWdVVytUT2xSUVwvd1JlcDYyR0d4emk4WUZhK3g4S0NSdHRzN3ROZTJ4bGZ2S2VSNUY0UzR4aUVaODNteTRnM3psM2NTV2kzcXZMNFIzUzRZTXNzZmFGalVCeVJYVFFmZ1JYU044Q2pYUW16MGt2MVladEp4WnU3TmRoSk5LQVZBTXg5b2V4QXp1clE3cnAwMENIWnVIVzZlb2Roek9sSHhIaEJcL2RIaGlISkNDYkRIdnRDT0ExUE5MXC9VN1wvSkdyMXNaK0h6U0R3Qk91VDI4M0lhZGpqNExSaEdiaDZ0K1pxWVNmU3JxZm5KM2Z0bDlBRG9vbloxdlFEc2pITGJDOFFQMUYwTkdcL0tGNXYrb2R2SzlzNHVveVwvdVJcL001NWRESDhiOUZyTnBzaE01SUgxekdHcGxXMVRzQkJjb2REZFVVZ3RJcExDQUpJdVBUM1o5dE9WSGdycDcwaGlwS1wvbWM4NUZCdFBBQlJlSWtDMnozckZZN2paamROVEtHSFwveDMxYkJ1NitcL1I4UFJENUQwZWUxb1YxUzhISFdNMTRnbGFTTG5tRDNaVDh5WGJ4aGppbVQ1RGRneDV1V2J5eWVyUm83cWZHMFRWdDdPR2Vpd3RRQjFUU0VQN1pYaU95QzJvVFwvZlVGbkFIUFgwMG5LeFNZMmRsOFZPUmpFRndZUkd5aXNCZGpEMjN1TmxzeGJpKzZ4bm1yUHV1cUo3d0NTdXE1VEV2cCtkY1wvQ1wvdm5MNFVVandNYlhldm1vVG5qZXQxN1VJSUtoUXd0QlBlaXhKMWI5ZSt1UHl0enVvVVZSbXZwU0dCeEhGbFVMcE9JTXQ3VFZCMkVLbHlnS1VwdGlZS0ZRY1RJNStNcUhweThBWW9SRGJwWE1mYUJES2lwMFRLSkNJYm5FUmM3UGRPam1wUWptYXRHbFRneU1ZS1VBbEM4OTVuTm5YZ0pxZzZ2M1BkQTR6Tyt3akN2QnlhSUFMTDFNd0QrbmNLM2FKQlBhM2dGVzE4c1VtbWxPTitUM085QzRuMjUyQitGT1A1UVZIZkpySk14R3B1WXliVWZKcExObmQ4ZU1LZm5iZDVaQ0d6YXozdE9WclJtYnpUVUxRaUNzMzBkOVdqMEpBVGJ3cXdzWkkzUlFqTFNHRUhZSFZYd21KbzdWN25UUXF3M1d0aWpZdGtzRVZDNjJYem43Zm52T0pPeExpZVR2cHFEUk9WdDhzT0ZBem9CU0dHSnFiY1BjSkgxVk5Da2tKc1VjSlFlMVdETlwvRFhRQmlRUVhYbXNIaFVtem5vXC9IMUxkWjZBN3hOdWxwVDBEa1wvdjJ1S0k4YlkycUc5dW5HYko3KzJqNmh6azNHVENSQThha05BXC9Ja3c1UERyMjJtSDJMWnV6VHR3SnJrckJJQUE1Y2FBR1wvckhvTVo1ZytzWmppbUdcLzJRS0IyaVlLdXlnSWZvOTZnUzE4SzFFZ012OU13MDdmUTg4aVVcLzRuVXp3MUVWNFJmNDl4M2RBT0lnZk1wdmN3OUZyRFwveDM5U3NyRkNMMlVGK2pwNnlrZVVianRtWEg4bkNtXC8yVVdHNVpaa0NKQUU5a0tYbnR6XC9za2tydFRhMXhPWDNJbXYyeVRLSkVxZGp2WDhtOFJuN2NGQmRmenoxT2s1aW1QaGZyM0JiZHZHOGp4M3U2WW1CU1FMaW1qZysrbThrMnJWV1c4MmI3Wmd5R0FpckYrRjQ3VTV5TVJyVldKejdGbXppV2FoTFB3RG1KdG9rQnZxZEZaVmJnbUh5dDJKSmhMaUV2ckVrQSs5cGRsWEIxYjFaeE1cL1Q1Mm5ZS1RiYjZQWG5EREZhaklJZDNRbjd5bCtPSHJ1ZHlidldrZnYxcDJzdG9wVVZ0OXVRQnJWQjMzejVpVDdMcE5nVVFtUytCakdhc2FuaDlJM3pHRTdcL2xRUXBVYmNpMnUrZW5aWmFVMURUOHBlXC9qc2pXV2lncEZNQ1ZFdzBrZ3R5akhvSUkwWE1nNVR6bUZKRUY4V1ZNQjByWmw1WDNpa0NOQWxveUw5V1M4M1FnN29SdklPa1FhUDBGcWM5VURhWWhaa2lEK2M3bTFUQW5MRjErWWVyWk9uY044VHNxdmJXZ3BZYk5XRFVnRXl6U2NrY0IwbWNRN2N3OTJzUlFnUUh3SFcwMlwvUXpVNEZSTWpUUGpFU3JDSHpzak15QkRsV3EydHBvbjEzWkswUmYwN1wvcnZXaE9nRklXUmwxRDBRTVwvd2V1VGMrK2xCMkRHXC93UiswWkNycnVibW9lUTZ3S2lcL21hZnczV3p6eDNSekhjTkMxc0RiZndrc1ZuRkJmcHJ2UkJLeUJsTGkrQ1d2Z1g0OXM5c2lFN29DYUNqWG9sQUpENGxlTTZWZEVoNERrejNYUUI3WmpiaVdQaWtyckpXZDFVRkxTbDRlSDdjOFkrb3JQbXdwMmlEU0FKSXVBdk5ZVW82ejFEM3VNSDZ0K2hIaUl0ZDJkNlhuTDVYVlNvQ1Y1RnVqSGpcL3JFSmFYSmNNTWFuUmkrSXVSZTZIejJocDM1ZHN2QlA2TElhMnZcL2JxZHBMQTBjak5nYVlcL3FqcDlUOW1salRZUzNkbXFHZDVUbUh4cURsUlwvOGY0ek1FK0hEYzJwcmY5amk2VXJDeWxMaHQ5a0RybllPUHNEUXBJcXlBOStlMVJFcTN0Ym43RUltVzFDTTFRdkM2cEtYZ0R5MGxkNUJTRUhcL2FzODhaNnNSR3RpODV3MnFjTnBhb3NWbFwvdHZuU3hJZ1VidVFFQjN0Ujk4a0VONGJydTcwN2dYU3FoNFRSdzh5QWF0OUFkU082STdUVTBvY1lkcmJoK1wvVUdsT0lHcHdWbVFueWpONTN3VWZFemF4VFc5RjBCSnJyN2dUd0V4MnRPb2t0TnZybmc4YVwvV1Fzd3p4R1FBb2NxbWx3M2NKdTNDd29mT2hBMkIrcHFFV2FvNVpZWmVuM0hFWHpIdEdPS2Qwd05ZOFZKM01JTWNuVVNOWHlENUVLa2pXcXBKcHVhMTVKWGt3SXVSK3ZqdkdzMnhWWTRpcW1qMENOTkgrN3VBOFdUMUQ2OWR0Z1VRWGpxVEIyOCtnTzBMMm5jaU5MYWwyVDlPQ3doVjZ6QVhCd2FaTTNnS25CRUhLczhGQXJiRWZcL2J1eDRoVGQ0b1wvT3ZIaUVWakVyMnIxTlE1NzJ0K2ZvTkFiYmVjc2lORHlcL0dhcnlibWdmekQ0OW9lSG1CV1ByRVdrdldqUE9TSUU1dlduM3BSc3BGMTJSNmxKbzRaUEtkRDBkSHVDVDJXQnZJRnhQWG5iODhNd2Nkd0JZNUluQU5EV29TcGRrZkV6alVLWjFyOTFwTWVkdHo4ZFFtNlNcL2RlVGJNZFhiRTVzXC91UVlDSHJsc3pcL3NaWHRBQnhrRXh1NWlUVU0zM1laOUxkM2ttZ0hTZzJTSkd0c1JhaGFIVVQzelR1SUtVaFVncnkyNzdYYnM3Q3RSekZsclR3WklrVWZlTTVIdmVVYThDVHNpdW96enhxOEprYXI4S05obU1ZKzdHOHJ3c3crWTQ0cmxcL2hUbXRjUEREV2psN1VXNTVseHRFY3l5dFJrZmVwNm9FTzYraUdQVEJib2FhbGlWdGVmeExrd0NCV0tCUGF4amE3ZlBSXC94OFdOSjdVZVhxNExyaW1pNFV5bkNhU25xNFNKYWlBZHI0OEE3RFZReVJaTzdaYW04VU14dTVZb2lHR1FpZURqa1NqNUlwaEZ1QmdNVWpURWxWejBoSWhydkFFVjBTNVE3MEFsZzJkQTNzV1wva25na2R1aXdWUHlYVkdBaEl1XC95cjBtVUNNWjBBK3dRSDhySTJMM2RVYVdncEhHNmY2dkwxUFEzbTdFeVg3aXVuZVwvc3Z4cDh2OHY1NldLcGh6aW40QmRKSldEZVdFOXdwa2JPeHpwcjhHaW9NMHZTaGRLTlwvdVJ6UmtSQnBvVTBLekNqUHVsM2R3SHJIZldcLzdMXC93czlMa1kxeG1welhRWUlxbGdjMGVVMjhlWHl5OTFobVwvZkdESGZ4XC80c1I5WVwvbHhmdGNOQUJXa0dIMlJnR2lYRmMxME81RHZudElYYTRLNDZOVFNcL2lSVGZkcng2V1pvUVFwQXF1aE80WlNJbkUyYlljNWl0NHV0SXJka2ZGQ3AzNUc0NHBWZkZlSlwvTUhNWjJlTTN1WXcraVJrdUhrOFVjRHJrTjZUYmtIaGNKQ0tjTjFUb21teFc2K05VTU1zYzBFTVZVWDhRMFwvKzRFa2pCSmRmSkgya2pvWmtHZERSZSs0WnNQR1VLcXo1K0JURUxmWHY2Y1Bxc0V1ejBSbWg4VjcyRFozYVdhanoxRkZreHBYU3Q3enRRaWdCNStlR0FkdVwvNkxOa1R5djZpUVl3MHpHclEyRmVTSmMwZFZ3d3kyZ2xDYlVBKzM4UnJvWE8yMXVESmVsVkJYR3plMVVNd3RZaWFSQUFuNVpXazd6TTdQY0wxcm92bmFZZWFBd21UR1N0Nk9OYkl6TDNSUFV3Y3A4R2VrMjdmdzM5SlRaS2NONWtQUkVYdjNqQVRYV2lYRHFENjRCQm9OU2ZrNU1ad2Ezb0xsdFV5cEIrU1hOd2lCRmV5Tm1veElxK2I1TVozZ0lDamdJdENWU0EzMXVkcGtjNnRFMVNaZjBtSFdCTzdkaFczZlBCYjBaQ0RZdnhjeGYwMWNqUVZkWm9paVBlcGpXcGJ0S3gyYVUyXC9YT0RzSG1ZYXkwTHZmbnRoNytpMlZuOHlPTUJodmNVUHRaZE8ycnFTRkJIaWtSTmdcL3d4MHg5ZjR3aHRUdkd6aCthM05cL0d1T0d1UlAxV2NQNlwvMjlWQlE3elRTb2NyTnU5RlwvT1crMHNVVkxoRDl6dldHWWYzWGg0aHdiR0lST0h2SUd3XC94UTRXcEl3bWVuS0xlTzVmd05DQm13UmFEXC91NlYwcWhURzhrcWk3eVBKWlIrcSt3bzVEN1A4WDhVaHJaZkY3XC94Z09tWG9ndG1rZnlxZFwvdGVFZ1VPQ2xSRXk0eDJLMTZ1UjFBeUpIR2VEM1ViQ055STBTK3U0Vko3aGhLUzNtUmYrXC9QZ0wrS3lOVkFCOURjR0RFek0wTkxCcEtzWUJBS2s2QWRteVRKblY4MVJ5OGdZSHViM1pQV0p4cVV5NzRZeTlLTlFSQmNiVDdjXC9kSkZpMEZldHNxYmFaNHV6RWlmQmxcL0hOTFRPTHNSOGN6THcyaEczc0xaakxZbzlPMjdybGlVdkRNVXdIWUJoR2paNG9MSUZJclBDaURMNkJVVFZTSUczZVBUaTNlcmQrVkNVMzB3ZDZpUlFTVGtDdktJZ3FOSHRUVTFGdFRyWlpsaG1weUtsSEFaNDBBNjZJRmtcL0J6MWtUMzVnRlM1TnptbG5WYzVva0Jvb2dlRHBGTitueDNDSVVNbytqNTFnT05lVWxsZ3NpN0s4MHBKek9TZHFialZUc2QzMWdVWlNKUllBc3ErbTE4UVczRzM3a0l5OTNWN3RiMmVpSjMzd2hPbUV6OHdhVXo3TURNTU1ZY3Job1k1d01Cd1V3UjlFQ3JpT05uYjJ5aVBQcUpGcWNHNHZWeHdMVVJKY2pCQnlVOGJ6Z2pDKzJONms0VDBKZnA1UXZ2YzlCMncrcmdSbTVFMmF2bEduVHl5MlI0WFZVdlpabUt3bzR5Q2s4eWdZKzRwNk9IZXZ3M3Z2MkZCV2taaHJUbEluVzVranZnRHB4N1FWNlwvWnFJSWowa0dhZlAxVlhhejY5ZWp6YVQzUEtMNTJiMTUrMjJKc2tORURuYk5rOHk0dWJWUWNzRFNUekY4Q0poMnZvbXo2Tm9HZVo1K2VNNVJIRzk5aXFYXC9obTRCcTl5YW00MXdvbndpaldoWXM5anM1NzJsUU1uZmV6cENCVzJEVTYyaitwZ1VOR1wvdGE0Tlp3SDZ4MlViRWpBSG9UeUdiZ2RnXC81eFZLM2xkbCtJZDBsS2J5RW5uODJ2TENhSVhlNDBpanRoM1g1M1wvRGxDdUNFK2NNN0t0eHh2VWNyWFwvTjJ1MHlBZnlXb2NpR2JHcnpFS2VsUGU2bEFEV3F0VnJGQmNPbGhreFcxSXRmbDBCRkRlNG5DR05WdEU4ditRZFwvNFl3dHdjQ3NJdHh5cDJCaGFybW9vaEc4NjdyZmZ4NjFrSkFwWXB5endjZDFlUHpCRHF6VkFtd0JlNGR0Z2VMb1wvazNqS1VSQ2dxRExrUlg1NXNoY1E4bndxcmUwVjRMSnQ1dVFvZnhwaTlwNEl6WWRiSk0rcml0amJFXC8zMmE4WVNJQWtOVXFFaWhMMHlLN2Q0ZnVRQ0tDN0x1d2lNU1wveXR4VEZheThRUlJtSWhvanpKeHdSNGNRZVpha2RheXk0MzFzZ2c5YlBsVG9ldmtHcXo0WDNpd1k4WHEydEZ5Smdpb1pEUzJtZFJ6dUZNc0xsaWh2RktFQmFvQnBRd3N0VHZQT2JtYUlGTUk3cTJnT3RBeE9uUFRpSDh6UzBSb25CSVFFcWY1YTZNdDgyRHo4RnB1M3pHSk5yaWZxUXZXWlwvUHAxdG1cLzNCZ2FNSUJWTUx6QjNockdwRWNYOUhUS2tycldJMXZCMW51bUdvT2xEbldLZFllZkxyN1R0REpyNXZHbGRKbG5jQWlJRE1iek95XC8rUWVaTEY4SG9ocTBicVg1ZU8wTGg2cElUV2FvbWZtWnJ1NzdOV1VzSmdVY0JlWGt3a0g1NUVabGlwazZaOXhLSFBNZ3VtWWRxakJ5U2xhU0hXUlkyWkUyN1l2Y2JuSHRRdFh4XC80aHdjU2hMYzZZOCtcLzBhSzUzOTczeGFSb1hpUHoybFU3eTNDMkpQSmI3VGZiTE92QnJyU3B0cHcrTU1qcmVCSEdlOTE1UXJFd3VFTVBncUMwVk9cL3BraWxUM1BNdWlaaVQweSt0YlBiN1NlZzllczBoTmV0RkJMdFZNN3NVY1lQbmlYaDJQZ2duVytnRmlmb1c4akFSOEVUTWVFbXFCVzl4aTBPS2oySXJNbDBuT1RCd0w0MEpFd05FN2pNY0lnTFRINFdPR0R3UE0rZytDb3Q0QUhSZ3BSTGQrdkRvZDFoUlNRMk84NGRFREpMV1wvK1RVMHI2MFA5b01GamF4YnBURldvcTV0SEhkbWFCbXZDMG9tenNUTVpCbTZBeE1yRnNqZk81MUd3cldxMFdpazU1QVRldlJ0K2wyK1g4OTlHTVNiS3QxOU5XSERlbThNcSt0UzBIejNKUUJuY3VyTHY2a2hTXC9GcG9JNTRmWVpUdVpaRWJtazh0MmJFRTUzbk5CaGJJcTBveFhNQmN3Y29cL05OVTR2NmZvRUhaV05CXC8wSXRQTCsxdkZhXC9mZTJJQTh5Z1wvbEdsaHpZZ05na0RIMTVrODZCWFBCRkZuSlpzcjVEZHBHNG1hRFREcXYyMGg3czZDRkdTREtTd1ZnektQZkxrZW9RMW5Ca2xOU0VPTE9Cbm0ycFNoUWhiYm5WSWoyTEFLNENRVHBWejVJb1UrMElGZmZ3RnFtWm5sOVpub3pKRXlZSGpabm1FSUNvRm1sbDBcL08rU29CQUhkektTZ3ZZOWV3T2Q5c1pISWtrRWdVd3Y2N0NVem9Xd2dzQ1NoR2t5Tk8xSW9uTUNib3JzOGdHV2gzQktaU0d6OGQ5MVwvT1lhRklcL01wcXpoSmhNa3hXWVZXaXJ1TXJTTGhCZVwvc1IrTFBoOVUzcXYzUkU1Tld5UU52T2tQNmxIUnloQ2dlNjdyQ0I3N2dGV2FZOURxXC9Oa0xrck9VdjRVMk1UOCs4YzJkXC9wdFJoVEZzazVMUGtZZGlIRmRhYVZBd3NxcWxjaXdLaGJaVEhudXc1dk9IYjdCZFBMVnZReFQyXC9CTGxDOEFSWVZBT0dFeDB6MkRkUUdBZWswNWNJaFVHUmFJdTJ6WEFielZFRkw3VXdwYzhCaG1QbUp6ZXlWUTNLZ3JxRVRNcm12dGJoS0dLQW1uUm1ZUTlOeGJNYTRNa1QrTytFNWFIZlI2OFVrbVwvWUxBYnhYXC9CUTlMS24rZTNDVlUydEc2SkdENFhvdU03T3JSQzM4VWtvQnRJbVB4M1ViWktvNFZkUlJ6RUlIdnpDZllMaG51alQ1cEFpRkpDNlRlYXpjZFk0TG5DbnBpdGd1ZUQ5NVRieEVBY1kycXRwVGFkY1c5RWluT2lpUHJXVDNcL21SXC9NdUNmWDYzZnVnZDdiUFVoNVFjbGpiUDI0Z2tJSDZJUThiZXVaXC9RQ3FkTFNWNkRPQXZ6ZTlpSmh2VVVnVzQ0c21SRGpyYmJDcFlrMDBHeU9FMzFxTGVzbVFPaXdjYU9Rdk5yeWNZYTBQREdQM0tcLzlQZVhFM1ZwUUxtV0pNdGtYaUlOZEpJQmhBOWx3Z0t3UDFkaVlJZUFIN01kREhNdGlxbFFWSlVVXC82bW55UkNWWGxPdkpIQWNBYkJxU3BqRlwvcnBaVjVHU2E1enE1dUR5UkQ2b0JOaGhkZWNLc1pjc3hvQ294XC9HaWlJM211ZGRoRkwyUHdXbUh2eXJYMGdmTzRYaFRPQ2VyT1dVOERcLzZBZ2Qzdjk2S3JQQnpCVXZqVGhNbVU4OWpNd2RQcWorNEtYOGFlK2d5WlBYSGxmaW9XTDRVNVk3cGJ6NlNRQW94czZvWE1uXC9rcUlDQ1wvK2FXa0t3R05xTzJwaWpTXC9wVDI1Z1ZcL1MzTDdmRGhNWnFYRDdzNVVpXC8zMGd0MHJoOXJIbitkWkNnYzcxVVg3ZnBleWR6M2JTS05mXC91N1NmMG43cmZ5cUpFQWxuNGRIQW1zZHZhVUYycnBuWW5ieFdHNFlEWEJ5TkJJRUJUd1VSM3NqazNTeE95YWtoWUtnVU0xaVJZdlJLMEFQR24rVFhrRVhKQWZxRzd4aFwvejF2VUM5UnVIZk5RdHQ2MThpK21hMGg1b09LblJTNXR6NWlxSXB2S3VsUnRwZWM3enVPN3U0bUQ4dFFWbDJTSVVHRms1SklqMlwvUFlVWlBwb1BcL0pWMVZIVG5FczNVQWNvYXZXQTVVSFNEdlwvdEFjM3VROW9ucmt5K1BKSUQ2eHdDTnhVTFNTemVLWmhlR1JEVjQrTWViMjVvUGo1cWZBXC81TTlaRnhMUEFwUGphQ1dXMzJoazJpclVQUTJVS1RJZlA5dEQrN0Y3enl2YU12bW9qZ3BxY2VOeUk0ZzJQZDVsUCtEQlJpS3cwNUd1MzZZQ0hHSmY0cU9aU2FnSGZpeEs2OW9BWCt1N1RNRjJpYlhxbTV3MlBmcDNRVWFMMmFDSDFOS2dWVElXeFVza2JqcWI2NkR5YmpFTEw5UjJzbWhCaVB1Y05iQzRnRGZvM2cxbjdGdGNXYUhxVnd1TXlMOEVSTTV1TzhyTDNGZ3QyaTlSOEtQUUVNMkVBZEFYVGxMSno3am10MVptN2tlXC9aYk0yV2NINk9LbEg5bkZyWms0QlJ4a0ZOc2lSN2JBejF6KzhpblpzY0ZXcHR0Sld6aDRQdTVXYzNYQzlwYkpwNnlhKzJDOXpkYzJFYnZkUXhmNGJ5N2drdjNuZ29hb25idEVZRjZMNzZpeU43OVRtaW43bzl6ODdrTXlNRUdLc244ZDE1VjFpUTY1YnRMeVQzakRzcTVRUVlMb0gwS0RXajNvWWU2OGJYMGVcL1lKbkhJQ083bDBwcm5INzVLOFVoelNuQVpjNkNSVFZkSEJoVXZUNlg0cGtoYWZ6V0NVNUZmcTNKOGpGR2lpSExIQ2ZSZ0tSazBiRWtFdnkxM3RxYjJtRDI2Vm0zMDJ2TzJYMkZ6UU9rczJDcERudHMwOWlnZEozXC81WnE3RzJLUFFVSlwvZFBpZXA1WFZrUHNjTXAyaHUyU2lQMWk0cWJETEx0Q3A0XC9mcVlJaWhtVWFub3B0YmtWcnRteCtHYm9wY0RBUUVjZmExOWp5NXdZYitlZWJMUmNGblVuK2RhT294OFBkNzNXMkJ2S0tYZzZvM3MxbmViT2VBR1pEajR1ZW5UQll0eVwvTnlmSDYrSkVpVU1SeFNKMzRzWFpTNnlheHRwSTZTOGFmZjVLcFM5XC9DRlgza3laXC9WRlQzY04xR2Zrb0hCNU5zZEVQNnVsUTBzK2VLV29wb1p3U0lybXFKeXh3Z2NRS3dRTXBFZGdINXNoSWtzVjBNVXdRbFhob3BcLzZ3TUdwSmVtMEFTZm9vaFpOaG16bzNwVkJjMnowbFlVc0RSekpyaEl2YXBtUmg1Q2RnQTlwRWZEdCtKZHV4aURGNENxT2hHWmtzZlZkUThrVUI4QXFQRzh6Z0Vjek1vWklQTDU3bis4QUY3R2gxekNoMnpOMEFWV3ZRWkZnWk5PWlZjdmN5QVwvcWRTSG9RVDVqY1BJd0pSWFNjdDVraitWdW5UU0t3Qk42RU1BMENSSlIrZTZHYkNWT09NVEk4N2dGazFlaVd4UzZvWVREUWZ5YzhCYzBiblZFTDByekp0d3pnNmpyRURPbkdUSHRsNldyWXcwXC9kWVVPWkxZRXNqSUpyOUViOTdIOVc2Q3BkZVpsOE1WUG5OTHk5aTE3eTBYaGRjMURKN2ZSRUxwZzF4aEVzRXZDNjdEdWhOUVJyT3RFUnJWUnpVUUtSbnNyTHVhVzBKQzVNaFFhK3ZzTFNKQk1JcCs4c2Q4QWJHSHlCcGl3UzlOUEUxbFVrYUx0dlphN3NoOUdkYU1mRTBLSmxkZ09kMDNTTGhIcTFwdko2ajE1TitLMkx4elQ0dXVQcWRvT3BGa2JyV016N1pRdVRIeGJacE0xNklHdGpJUFE3Sm9oQlU3VkFkYm9aXC9vSWREUUJWQjFWUERkSFhyNGdiSGZ0ZzR3b1BwYjlJamQ5a2RVTW4wMnlPQ0NQWU5VQ2VHNWY4WnJMdkFsTEZNejkxZzl2OUZiaU9rTFROM1VySnY3M1lieGpQRlpUXC9lbmszSDRUdnFLWmd3TmNic2hOQklRZlV4VTlGWnI2dVJJdCtQMzJFVlRyeDNNbk9SVEFoMDd0bVwvSjkwYkJWdjhSUGdcL2t1N0VGVW9pWm5Wd252SGdtOE9jWk41Wks2T3VPemM0eFAxdXdOXC9Cb2hXM3RmYkNvTkdQYTRBSjNHM1o3UE9BaVh0ZEhaWkhLNGFSVnlrUGJiV3FTYzFrSG43ZVZXTUUxejVRdWJZU0N2V0k5eDZCTzZYQU0rSk5JZkwrZHU3Y0VEREdiT21kMzhTTFh0Y1AyMjZzTStBVWJCZ1lVdVNHNXlucEJSUVJKM0NZaUxcL0VyNktEOTYxXC9uc2lpTllFZGtOSWErZ3lMblFVb3VUMjYxYTVmbCtVOVo2YnJaMmdUY0RWMDFVZ2lHTTNuQ3cyNDkxeVRWK1NOd2RJWFwvcUt1STc0elFQNGVlRGVzU2cyTUd2eHNldlRBMFRJXC9SUnpoQW1jTlNMTFcxS2VSM1NkdFhhRnJjcWgxeDJMT0hjcU5mYzExY2lZN0hFTGpBaXFFZWdFNjlSc2pNWVdHTUFcL1hwaFBoU2RrMGEweTZXYWx4N3FlS1FNRW1ZRU03MGRjK09CWUdLb0JiSXJ6VHRLSkgrQ3pnOU9DZHc5RkYycURpM01qZldPZHFuMVN6c0ZMcGhISDZZbHVlOXVycXpHajdXeWJGcTMyNGhxME9lVW40Y2UzdHZIRlNKaWxHWG9zczN6QmpwSG5DdTZZMndCUDBZd2pHWnVndFg3U2h2MFAxWHk4akt5eFpPVkV6TTlSdVEwM2wzblpBUmdyYm5vVWhXS3ZnbE9NOHdcL1lwaDhTKytGNDh2aWNaUFZGSjNmTmZLNWFEMlZmNWtrYUZKY2xRcHZDV0hnNnhlUGlsTG1nQVZOWGNpZHhreHdla0lQUDFFRGJmam1LMEhoSW84bUhZTklzdVQyMnpqemg2bWV2UnRWSUlNckg2SWtPTzVXSG9pSG9ndlJSbm5yVWdjVGNqU1VxVktpVHoyVlZKclNIMEppT09QZE5CRzR6U3p2QTQ4RVB2bWJWUUcyaUJjZUE5VlV1eWx1dk1sVmFZNDlXY3h3NXR1YnFcL2VGN29NN1Jadm9HUEcxcTdIajU5XC92SFNuczROeUwycjNJQm50bk9TM0RhaFwvU3R1eW91bWdUbnY1UW1ZTERFOHBvQXplcFNGb2pBZTJlTldQQXA2dVRsaGg2c2ZnRmZuU0hpTUxWbFh0M2RkZ0RJTWVxdWJ0NURUMytKcGZpOVIrbGZrZTk0XC9YYnViajBrOEs5V2NoVjhjVVB0b3dpY04yeXVrUEY0U0toeDRPaU1yOUJjUWs3QzNOT1hEYjVEOWVcL1drV3FrRzJiWE81b0tkaFk5Vlp3VUhJd1wvaCtrclQ1MitCUnc0cWIzbitMTGFjYnpJR2t0eVhBZWJkeGpQRElqTjREWXdMbDdIK1oxMW85YWlXYUdrb01VMXVXaUNCMHNyZUduNVBkaEp0dEF0Rk1SV0ZJcGIyTk1MOFwvSUhSRXBHM2UrXC9Jcm5TOGVZTityUG9iK1pmaFYwVlJQUXZyVk9PZnNBMVlXMEFkeEgyY0o0TTUzSkU3cTNmY2xmTXY5OFJWbFRUUEtIR3BIY0JsbE5hK2dnMTBqQVwvRnNIT2FtRFVKZTkrTjJOXC81Y2VrQlFqV0YxdVhRTDhKQ0xzN09uc0YxUEJ4czh5RktZOG5EXC9sNmhLZ0gzVkI3RlRrU0t0NDdZWVYxR1BMTXh6SzRnREFGZUNYbStidGdkN3NnSkNZOElPeDdwcVdyOHVPMXRHK2ZiZ1o0R2ZZU01cL2tqUGZxWlNMSzBWTWRHVlo1NmtUNXFXNEF3U3lOekFHOFRJeXBCRXBhZ2tSMTVkK2w5YXVUaDNyNDdqUVMzQ2VRSllDMUJuTUVqMG1WazV4ajE1cVUwY0RtZUdiNjNkdWlidTEwc0hGb2o3MStvMlpobmdzWnVuSndFeHlOZ3NVM2Y2RkRFR3RNdG91VEJqRTFYc2FJMHBjZ2pjSjNhK3FyeDJwVmVSSTNsWGJ0eG96YzJLRE1WTVczUFNDZ2RiQ0plYmx3dk1MNVwvWDljZTg0U29XZFBmcFJtdVBqTVYrUDZndjhYSGVualFHVXhjNEhEUFlzVTVUNFdFM3BsNjdXR3VMbzRpMlRGVEs4dkRcL2xTVFB4SG42aGd0NWF2bEJwRHFlMXZPcEJyUDk1RFwvZ1wvU3lwK1JxN1NRMU5ya1dLZ05sbnF1dTdubDJHeGpLcklqV0lZdnJ0aUt6QVVWb1Q4cWFVbllLeGFwYXdIbFhuMkc5XC9lek9EbFFiZVRsZzBBSHhKek44RU11XC9pcGVsYW5BU3Bwd0Z0SlBSVmdveTBkZVwvSDBRUkJFeHhxNnlGYlhcL0FCamZPYTNGbEthOHd3MmJyUnRMaWo3aVgzbWdza3FocG15YzJHdUgzcGE5ZzN5K21ta1N6TnJsQzZlaTFzc0pkUWo5ZW40Sk00WENpNVBOOUp5ZEhuREdqS0tVQzU1dDdYYWdEUUE3WWczY1RtYlVWVjFEK1hoaGttdDYweUpYejdvWUlxMmF4MGJpWWx6QXJQSytFNmdxVGlpbW5jYkEwWmlVS01UMjY1bFp1bmIrUUE3UCtpQmVCZWJ1cUJBS3lwNnpaWk1NeEJITUt4SmpTZHNMMmRGM0dDZzJXWnBGZUw5Q21hMkpvdHZIMnFDWUR5Z0dYWDk0ZE5HZlRZbjRnbWtrTGhcL1dteUZONG9jYVFISStQQnNYcXhjSHRPcjVDXC9CVFR2MFdvaG1cLzUzTnVYWFZqVGlpZmtSeDBQYU5WMTk4a0RvSFhjYWo0QmFVc25sTDJrZ1JSUzN5UU5nZXdxV24wS3BsQ1QxZDltakc2UjVjTlpqVkQ4T3AxXC9kNlNsdFFZSDgzeU5NV3F6bnpkdTBvMlJBaU13VTdjaVJvUE5uRFllVTQ5bHhyeTdRdlY2Z3pZMTcwVytoRHNJU0F5THpRdzRpbStMSnBjc3YrSVwvQW1BZmJ5ZjBRdFBycDF2MnpBdzRPUUR3bitzOG03Q2RUNmN1RWhyNXQ1SUFZb3p0Q2RCOUxzVmVrcGN1N0xJM3VBR2h3Y1d4VmVnd0dZS250ckc2VzNsOFpydnN6bXdZbnZDbHFQaDhtaytCeUkzSUZUUnZnSDlZUzIxSHd5UlZiSXdHSjZFbitiS2Riclk3aGJmUlpDUmhuXC9vMURmU2lNKzFhbWpVcktpalZyejJFaFwvODRCOGJWQm9qaFVwZ056NVwvWkVcLzFQcytldnlOenZRbzRySUNiaUV2UXdicG5lMHE1VnJSWm82SFV6aU5vTmFZXC9GRlI3b1NOYWZ4YzMrQzhGa0RWRlorXC95OEhKelpGSEorcUFCdWZcL01pOE9Ucmh2QkJWUGIzQnlUU2dHUXBaeUdVaVAzNmtSZUl4UldweTdSeGN5bEdSdVkxUFhBbTJOUWhNWUlSVGwxVGRlSUpHSnFWRndweEdKT1ZxY3N0RENYWFArdE05TVwvVk1FWCtlMzdCMytjVHhjTG1mc3l2Y1o4TmhUdjNKQlVuSXF4cEZXZzNQYmN5bFdaUGQ2cWtmRmpqVzJ5NHNaWDBFOCtrRzRpVTNTTHRITjJOTnFRalZ1b3RFQUlraWpxWFBuRlwvbG9WXC9xTFkyVHpXMWFpWWJmb0hsNkJKRWMwQzlvTkVqK2poZjRzK0U5THRDOTBhT2JtSXpCT1ZDbE9ENmMrbXM0RldQN1dxamxOdDgrcWhzcXdpZGl6OGZNQUZrV2k5Z2VOeEFTT3J1NDM2ZDlnTnRHbXh5TEt4UTRrZml4QjZQK3hIYXlrcHBaU0tTMXlnd0RINnRjWHQ2d2NZUWUwaFloaFNIZ3A3bFNYb0NTUGd3MmZodkxNM1NIWkEydDJOTWErVzhnTXpCNHkxY3duU2ppR2IrMjJ2a1Nlbm9BaDNBc0hDa1FFdzJWMGRcL2hieXN1enZcLzJSSGNSZEpBMXRjeUFBanpNV3puMTNrR0l1VWowWDcwRWdpK2Q0Rks2eFBsOExwMUNxRE9MOEdlQjQ4YXJHakxFYWNcL0VHMTdZQjFNSDNpOHM4VTJUbmxpZlAyaDJCT0MrSXFGek1ScGZpQWlYNG5lWWw3Q0pHWjBFNDV1ek9hWGVnaE5xMlRreUtuTWZvT29jWmVuVXZmZm1TMkVLZTArYk5Yd2ZMbFBCa21wMXRxUjBnY0ZoYTZnZ3M4Nk1xemJ2SEJpb3FTZm9sYTNlNnB2Y0Q5Zzd5aVRTU1RVVFlWS0FkaW1GSmZUTmdjbzVsclwvRDVmRlwvK3J0R0xtdm5KT2d2XC9Bd2c4dlZMaTdQb2c4WlpRaERpem0xdHRtQUFBd2NmSDlQY3NuZkhaK1BsQzlWdDg0Qzh5aVBUSFFwTE5pbEZ3ZzdrbnJ4Y3hDSUxmekZpYkc0RFAyMkRTcVdoOTlseWtJVHZyZGZmTXFUS2FBTkdCcXpYWk9UUFoyd1IrSllZWkViaEk4Mzd3eWZza1ZFWXlkQ085aVNmd3o5dnZMZEw2aW9cL3RLZkF6NEc2UTcyOHFVMHdTaFlsQzFLMjdZZTZ6b3VyU3V3SDNkbzNpMnJHZGVuQW5XUWFpNUZob1NEWmYyc0RvVjFGR0pmUzFFbTd1dWZPdHRyWDJ4em5JZlNJUDdoNEdYclJiS0JDZUx3bUNEV2hLbzdHTm55alRUVjB2TFllNFNZR1NFK1lsNERXTXNPWDZiN2JSSUhwZDYxYm1XaWw2d3lESmd2ZXcrZzNHdmV4UjNTbFRrRGlXUFZKbHR2SXlwWGl6TnZTTnhZc01EbGt6ZWtLdWQ3bWhTYnVpUEgrR05CaXpWdDAxYlJZRlRnK2FxVEZaRU9HVEpKWFMycmxTaUJJQ2hHXC96Z1JmWEpKV29Ic1JxbmtQSjQraVYwWVpJTm9XXC9NeWoyeXV5QlNnMlJUUGt4VXM4VmtrQjJVajV6a1Rsb0U3bzYrRU1zWU5PWWVNZ2VrdWNnM1pxZ2ZQajVERVkrNFU4ZEhLOXVmWlwvZHo4UnJZeUhUclZFWVBZRGM2V1NGNUxZMnFUM0NCZHBOdnA1cTZualluN1g5Z21HdGJOMm5PTUo0amVuU25WdXplUDlsTXFoSjIwTDA5NWV5dzNSbTk5UnNIRnJ1bExDN1NoSUFZVzFZVXIzQkJrMlYzOUlVRWF1U0tGVjBMdGFDcStBY2l2V3FWUzhMQmU5RlI2WFBPeGdlVjFVK1M1WUR6a0xYODgrUWJ0c1NXTzFmR05UZXZIQkwraXg4NEx1eFJlRktkalB6YVdidjBTbGt5dVpFRm5cL25KSUloenNBS3BSZ2FOSkRsVlN3Tm9sRHgzWTJEaG5aaTk1bEFIM1hoRElSVGVwakJzQnF3bGwzRUE4RG5PcGdyTkY2cHpiRFhueHdGQ2tKdE1zQkZYQk4rbFd2cWVpU1RhTjZUU2hJU012OFp6R2lXdlA3MkFhOG5Qc3NLUm9tQ1wvQUtlQlMrZWRnMXNGbDNaZU1EMlQ2b2tzUVZQdnU2cytIWXZ6UjFsd29IVWgweVhkUUdGY0U4cDcrYWg3eEZRTnprVjIyTEFXTnZKZk1ySGhGa3BHVkMxMW5FajdVMmFXWVdvVzFOcmJBYlBOdzJUSnExYTZ1SjFSR0prR1d1V1NScHJjcFc1TDZmQWZwT1hwS09QcFlKT0xcL0tpV1RMVnltMFwvRXNIZVwvWWp2UlFoTWNmRCs5V0pUNFRhZENwa09nRnJCbE1iR2IrZXhFNW55UUdGZk1IWVo2ZU5pU3QrTXNuZjYxZnZBOTJYVWJ0K2JMZ0lOVnFtTWp0bmJYZ1J1QjhxTTIySkt4SjA3SkFHajRORFZFcXNMVUh2SElxWHNIZ0dVV3JiU2k4bnA0SFo5aHR3WG9WeTdrVEJNUk44SFJxbnBraVwvWGdMVmJUNGJQa1pDRHJ5R0RBUDladkhcLzNQdGt5RCt3Z0VYd0N1QU1NSnNib2o1ajhrRG5oTEp2SHIzUGZGcDdvMEhTM2lyZ0M3dkVPTmxaNU92emt6MFhpZjhFZ3E2T3VzdnVET2I1aVBqSW5qbGhJMkFrSVhWY0VLWm1DT1N6bFJ1MTRubGVWTkFMXC84YW9YY1FBK2JzT1VBOWhXVTNaTFwvQXYzbU1XUkxjOTN5YXU4R2RkOTVRVE9iK0E3Z2lLZVZrQzNCbEo2QkpEY2RmMGM4a29Nb2Jpa0p2WHNVRzljb3Axc1BaaThJck5WKzBjK0d0dDBJNk1rWHNrV0M2OGNrNlNMZUdpQkZ3MU5wUzNlVmJhdlBPTDgxVmR4dk8rUlJTQVNOWjc0eFZ4YmdBRVltb3JUVXhCN0ZvUm9iRnJpb01oY0RiZHMrMVROeWZCaXQrQTJPZUFxNmpyNTNjemVUTGpCRTNtRG1adWJTV1hHR0RcL2ErXC9XaGQ3akpwbkg3dVZ3TnFYNkFsbnRkNlFJbHI2VnQweHhDTGIyQk5ROU5tS0xBUkF4RWxzY1Nrc3pLV0NmYlhlWDhhRG0wYnBVY09mVFR0OVRyZ2NMdG9VaDRkR0p6TlRtUEt1a21Tc1lHOEkzSGd4TW44VmIrYVFqYnNManJRdm9uWmcydmNuSFBBdHVJeXZZRG5JMStKajREZStuXC9vUUc5cHBtMWZ3c1QxVFBpS2VxTkFBeXArYWFVTzRGb1hNNDBMc1ZDNFBvRHA1cHc3ODE2SjdSUGlFdUtGUThXejg0RWRKMDE4S0YzbXRsTEk2NHpKUFhBaUhZVitaZytCQjhzNUd6MXVORUZQMWpyaW9EOHJ0SHJReHpRNHkxQytDSFwvTmpxcFFFXC9cL3FSNjgyVDVhbXByVUI4a1NxWGw2bUZzVjVDdHdHYUxNZFhTYVdQN1JBSzdRVkxLQzhNN2N3bGVCak9EUjZ3dm1OWUVmUFk5ajJlSDVMQXY2ZVZYZjl2Q2NoM3haRmRKMm5zNjZOcTN2aHBzU1VcL0owaFdtcW9FakY0UUFmNzk2ZXRsQ3lHVHZzbVhcL2J5VUF0TXJtY3h3U2VsQ282UXZkdTFqQTNmdE80UjVRYUJmTlpYaHVldWZRaW42Vzc0QndNeUtuUkpGakVncVR5aDZTVzFkbnB3MmdRNkErTXJ4OGFqaU5LblJuY2NcLzBwKzZPYmxBWmNCeTNoK1d3SHVYNXBWb3BXY0tMZ0gxOWpxM2RtVDdGemlaajE2UTlGK3VJK01lRlAyUzMrNlMxOTJra0RtUTdTZnptek8rM3BJcGFVYTVrcUxQc1pwa1VEXC9rSExjNUYrTU1kMVM2WkRyejQzbm5nWXQ0SURzOXlHOWkyMkNXT21SZE9Eb3RXdXAwTVQ1ZWlFekFpUStyWjBPVWZxRFVXdEZTSmRCZEdockRJaXcybmx4RnY3ajhvYVFMNzZ6U0MyUXFvTGI4aElEOHlVRGQzWEc2Q09DUmJHakJWQkN3WG5FZlpzb3Nxd00waXNkWFloYStDSHorTGN3d3VkYng5aE1BSHduaWZ1d0YyU1BTZGNhTFlJK1dTVGFCbml5aWtUN0hxK1pvV2xmRHJURnJnNkJBVnFGTUpHdkx6OExNQ0pCY1JcL1EwM2JSdXdwYTVsZmJMblBhMGJxQTUrZnNVNkFycWdvTDdWYU5OeUJ6aUdSRmhPZzNHS3ZDOG1aY29CVHdcL1FVNzRWY2xkQ1pxQ3hFZ2dFMVwvb2VCUGx4ekVUeDBxVTZmSlwvUW45UXBMUGp1WWtkZWh4WmFUWWlhN0lOZnBMU3NCWGV5NzZ4cWVXMmUzWHRZRTlaUTZnVlV6S1RJZ1VhRW4rK0ZiYkljK2s4RzE2RnpuSWR3QUNcL3RWK0pZY1VoQTBkS29pVE5EOGtjN0RZXC9tcTF0aTVWY2FoSTJUYU5tQUxRUFRSRm5XSmJxNTlXNjZXaGNmTXptdTZIYzVEbjVKNHY2cVEreGJJMkplMEtUZjJLWWlSdzhBeXhaU2NmY2hHaHpnYzhJM3pBTlRJZnp6dVlGUHBjbFhBNm85dzk0UERvOEo5cFBkSm8xSjhGYlhoZ1Q3dUVoeXZEMVwvZXdjdHUwZm1xdUM5Y0JJUlZ0ZkIwRlBaTVNKb3lwWWQyVE9XbnBaUW80a2hyMmdhT0dMRlhOZjFGR0x0T1pTcTU1aEIzSnQ1XC9zQUh5VE1NMW9SeGI3TlZGeVhxQUNHZ01lUDFqanptUHNKMHFFbWZ4NVFaMUtwTWtPQ3NhVFdDTGdoK1FZRWJkSUlqZWNXYzA4SE52dzRObWtFeGd0bTh5XC81dGR1bnh3SzNub0VlTFJYWVlxOXFZampHbGozb0ZpU1RxOGNPMmNnWmtLbVhUQmlqc0tUNEpUSlMzU3JleERabGF1QThcL1paQmNhQlU1RmVqZ25yUDFteHArVnZDSTVqUE93TkZLTmFBWkpCT0J4Q1hRZVBiTDJ0aDZFKzd2Vmd6S2IxVnFjTEJ6SnlJR3dmeHhPUUpRdFhYRVBWRGt4d0ZMV2hBRWZMOTVVTEFac011dFRlZlp1OU5MVFVHUllOWjJKZzBPRWsxSCtBNm9hQ2YrMzlNcmp6bDFibEdPeFRNVTRsbEErSFh6VlMwWG9ocklONng0cW1YMmdrK3dPeWRKMHpONFN2V3REWU5yOFNsdCtDOWp1eWk4bm10TnVyVkg5XC9yZlA4WFZ0ZXBPQ2Zhck8yUUp0eXd1V0xwYWRNZE5cL29GZTJlbXJPM3E1dkorRk1RSG1FWnJMQTk2aUN0XC9rWWt5UCs2MnRJaVpOZjF2MFlXcWxaUmhCSStwdVJ0Z1NROXNYaVlJem5xUXlSWjRkbjBQNmNsaUE2WDZ0RVFaS3hxcDJVQkxHM1dhS1dxcHhtVWkzbEIwTVNEcm5kRDhGM0FCemg5VUd6UWd3R3hkXC9NUFZ6V0RmV3lVT2hjcW5jNkxsNXliaWlndU16d1dBUFYxeXNnNmtOM3RKbFU5NVF0MWtEc280dGQyQlFOSXRaK1VCc09wZDI2eFY0NnJ2elJVUERHRTltY21LT0NXcThyWjh3VGZIZFNcL3BHbjZYUVhSSG9BQWR4WnlDNFBrOHE0M1wvT1JzaDcyR0dIMlZsbkRtZ3lBSCtOQk9WRzhyTXY5TjBuQ3JlbEJ0cVV1WWNBbFhVNG8zWWhreThYcXErdmxWMDFXSDNJMGxpWmY0VnAzR21WS1k4dnBoR1Q5TE1pNzhcL0ozWW16TTd6RmFYdWRBcWVYMzVYT0pJOTN3cEw0VlYzblgxOVwvS0FoaWpuNFFCR0Y0aHh0WnlSZ0thTk1CbmpRbHdqRXJCZ29FWGpnSng2OW83UUFSb3RJTFlUZVBmT0xWd0JkbFRmZFJRSUZrMEdDcHpqV1ZFRk90NmZcLzZmV0RabEhNUjNOZ1pwXC82Yk9UVnd5aW82WnlZNjlsc0VxdkdVc2pkNmxpU2NZQmRJS0VFQkNNQ09YN09VcnVPc0lDMU9xT3Q1XC8zOTBCektoY3Z1c2Z4MkJRdnM0VHY1c2p2dFR3NDFySFwvU1paMHVRMFJwdGU4TlZ1eUpZcjB6RlJRQXRpN2ZvZVhZMHh3WUprRjdWenFnSDZBVkQzR2JvWTFyTDg0XC9kWmZzMmd4VVZIRTRBQndFTGtwUjl4Sm5IN0FKXC96SFBHMkY0NjU2MmxaWVFOZXNcL3FhV0lpOG5iT2w4UzNDMDM5eGhOSUlac21XMzErN1pwbUVqbGxnajZtUWxVTFJHZ0pKNGdWd2lNY2h3XC82cnZWTm93RUJhSjh3SHkwYWlTTm9lU2hkb2ZYRjg0aHFNUTY4OWZLOGdjZ2lPNGpQRGdvZGtOcmdiTUxLczBZRndIXC9kWGFRWnVcL3lIQmpSTnRodEhQNUJNYzU4a21qRXZ5K1FkS2k2WEl1OWh5cjVkUVlSbUVhVEYxSXM3SkEzSHdONmNkdFQ2aVc0NVRcL1lkYkE1dkh5XC9jNEFKclB6K3lIZjNKUUlJMnVyeklBUmd1VG54QmNXdXpVSlpJY2FKUk81eG5jVEFsWElUS0VWYWdST3pHT0RQZ0NXUXQ4Mm83XC9pRllyWWRUdUp3MFU2eWQ4elNZM3cyWndYXC80dk9ZQ2lHSHpQK2tSU3pVdjE4NzJLckxDODNTWmxwVDZhOSs3QlwvUnlrVzJyZkVrZjJCOEZRakJ6Z1NtaWVlY1lmOXdEUzhRSGpXNUsxU2tQMHBtZ0lLa2RUSkZQeEJKTkNcL0ZKRkVtdmkwWjMzOXdEcFNYazErSVVTRklOYkNGbTVRVmNYOFpsOVFPUEtlTHVhbWgrejRkOXlsWDZPT3VhVVg2OWFlMDlmcUZaWXc5T2tVTmh2d0tRXC9cL3d1OUxcL0NPMjNTbksrWFNKNVkydGdzczlnU01WRWUzK1hhS3hiR2JjR2J5QndCZHR5SVhzdkFrYWRsVytQanAxVzlmUDBweklFUEd3XC93M1NtYnBzXC82cjVLdm1rOXd2RlwvajVNd1YyTjg0RDE3dXNJM0pJRjA3RjEzRnJYN0FGZTlXbXpXaXFEdE1yMTEybTRcL3hhSCtNSnJ1bXdGS29ScGpGbVpUMHo1cloyU1licmt6dmZYWHduWTJ0UEYzMUxLVWl3YTdwU1pESzlFREt6MVpEUis3c1wvenlGZG1GaUxKZDRqXC84eWFnNm5PcjhJekx2dzVBdmcxbUp5S0h5R3Z1UkszbnZtUTFTdHVlc0ZrMGdcL2hsc0xFbTVFYk45dlYzaDlMYlEwaDZPQUlGNHJTU21Dek92Y0VxUUdkcCtWSG84MGl2XC9tdTRNbmZvUlozcDNBRzFZanFlMzRxenFCSm1lbTRwb3hjekxLQlowV0FpVGxraUZWWXBFXC9Hc25nVzQwQjJzdzNSMVwveWN6c01PZHYySDJxajIzZVdpYmNmVm5BSDROaHp6ZGlTOTNOb0VrSGlheVFhK2FjREpwZ2ZiK2hhM3g4VmMyZE0wa3J2WmJteXlBUGRRRXRObHN0cjU0WGQycEFBVUY0YkJKVlpvRVhxVHU3cldnMjh2UndYWWJqMCtNZDl2TlVnTmJCMmdaaUVyMkRaRms1bUpabnF2SGVKcXdnang3aWprYjFFV2xUNXlqRUNoa0FqRlFMYjNWaTE0ZnhrWTBIMmRwV1UrV2ZxUFZDTkxOZnBKbUpFRmxzYWhGNzBESXZlTUtkdlRsZzlCVWpcL05Kc2NUTnhhXC83UlwvMEpGVFFibzNtXC9Bclwvdlg4NGN6bFN1cHRvRitCTTJrSWREbFFTdmRsRFVOTHVBSVA3ZXZyY0Z0ek5lN1RXTXpLRHQxVDhDNHNyMEpRanJEZjNsTWZHcnhHdzJkZWVPczJcLzFsWjlyXC9uVUNKb2xWblJibTZGeG4ydmU2ZHRYRVBjVWNLK0FpazFUbHdvRjIwZ2RzRUxzOGJnNTlwTUN0T25STk1FNGVcL21EcTQ3ZldTQ245SDV2UlY5MGtkMTB3VDZSS1Y0dTg1NXdtYW42eVljTlRta1BadVhDY1ZQeXRcLzVvU3c4M1ZUWDRRSHVlV1RTck16aFBSM0NMdCszNUxwTm1GcTBHelZQWjRENmRBOVFWWTlEQ3RWOWg2TG9uSGJlcGVmVlZiTnE5MDNLdllKZjEyZ2p4OEhIVksyOENPVThaRFlPNk5YRXhrbXBlUTFPanhZdVwvWlBrTmt4RTdoaG5xbno4ZUdmZkhDdDhBN04xTkhBK3NRUER3N2dRNUlyekxFWVN0bzJDN3lMcnlPNHJta1AxNlhXQnF4Z3VDSWJpRGgxYk1ONWZWYUphc1hSOStSRUhoQ04rYll6bWJGRjJTUWZBYVBnMHYrRmNrTEV4WnVnc0t4R3VHYkcxZ2NSaTkxYklqSlVpWk43Wk03ejVsQnltZklnMTFBcndcL1ljSnNsVlRTbWw0Z1lxTXBZNURXWEhJRExpS0FaNXg4OUMrTjJzVlJvRFRrWldUZXRcL29PNis3Qk1CVEZ4UXJKSWFwR3BqTVQxckFjaURWVWZBXC9BbDEzMU1nbXFCTkJ6a2VcL0pMWVBRSVBqbTI1eld6N0ZFbGpmamEreFczRlJ1M0ZOZVJYY3pjb0dNa1pNOEdLdkQ0dkpMR0s2TGJidXczbm1neTUweEQwdW1ZM1lkWmg2a3ZMeUF2ZWlcL1wvNks3QmVSVVVGdUZERlExd1JLdkZnZEkwSjNNTmlDaGRPcWxERmJXSGRoYXlFZGpoXC9YMUJQa2hcLzhkUFUxQzJnMkFNQnh0RFVTYmpjWERscEZrODNNRWhEa3hxeGJPVVo4NXltYmVsalk4aE90ejdXTDFHK0Jua0dpRkpCWGpUcXJER1BQMkZTWHBQTjJ2QmVIeWZoQVBzdG9jcWkrdE9xRzh1Q2lNQ1c1XC92R3hRR0tEcXFrNEFXRkFhN0xZM3RUd0xtbkxFYUh5VW1XK3RNTHhrSWJRSGNWVzNLTDdkN09zaVo3d09MTGx0R0EzNkYxQ1JOcXI0STRrcXRSbVVwK2REdlcwV3Y4R3kwT0NmNUpaTENyR0VcL2FCakltcUVhbERYa0xSbWkzV3RmbWVwTENza2dVVHkyT2tSTmpVWVE4d094Uzh5SWF2WlwvRWh4VzkxY1VDUVhzVVlnMGZMbWFEYUxZZEVuaUpIbkMwd2hINDFldEgxUFE2YXFvUythXC9tSmJVWjFyUVlKQ0hwNU1TTDI3WnRHdTI2NWVaSzRmM3VXUE1oRzlZcVJJeUs2dFF2WTJlV1I0ZkNtSUlhdEtPT2wxY0hSQXcrYUJTYUFiS29XTnloQjcrMFZEcWJibTkwc2pUNEFUbGtETGdPTXpSMVhaM0ZFdjVTbVQ5cHlrTTBnQWNCXC9JaUtEXC9FTjVHaXdsZWEyenUxeTFsbWQySnJqMG5NZGt0eDZpeGZHYjdiMndnWnVqSExITWFVb0NCTzlveWhyUGZVK1dkekVLcnBOSStzNmo5MmZTNEl1QVhJZ2tvdjBOSDdzdFY3TUM0Z05HUGxxODdpdVhGTW56SmJTNXVyM2tqVTBWYStcLzJJZmtWaTJcL2xTd1ZGblF1Q3lsdERyY2JIVWVocGpGc0o3YmpzN3JHb1lOemo3enBQS2hWVGZ4eHA4SDFucnEwTUVWK2YzTHYycnBiRnJcL0hSaUVvdFdZbzRjXC9kd1JwM29Rd2lhOURJYVdtYzJjZ25pVUs3RmlRRjJZa2ppSkFaZlNmQ3dmSFFcL3g5MWR1a0trZ3RtY1I2OEdxb0tEeXVFamIybzBuYWdCcXFQWms4cUQ5VzN0TDB3RmVTbHdzNGljcmxxMWQwZElWcjF5a2hXcktCNkxOTHdmZ2IrYjk1aEVsRmxaNGRSRENORnBob3R5bXl0TkR1OWQzZWE0V0duN1MzQmdTNVRkbjBhUHJKMDBnbGFLMktaekFXNWhsMkdPeWFEa0VLWUpmTmNCbHlZblRzb1lYUnpZV1BLdlEzWEdEZFB1WVB0elo1cEpXdW1zaCtaZ214cUlCM2loME4ybEhqYzJmZ0NLU3hvbUdIYWVIU0x3U3Jlem1pXC9kRzdKWXV4TGUzbzMyTmdpV2trSVBwS2dQdFBIRzE4bjdEV3UxZEdBZjBXSjlaRnFZOGhEOXplQittMUt2WUZcLzlCUG5TTHNpXC85NzVEbldcL0cyWkJ1Z21xdXJRUXVpeEdqVmxUNUJCMmJKK1liVXVhN1BVYXpFSDZ2T05KVmI1ajFubk1TNEpQMlwva1JDZTBLSHNQS0tJRm82cUlpYkZJM0RnN080aXprYXJXb1I2QTlzS0J4R1NMZ09qbHEyQjE5QUhna0pzaXpVVE9vU1ZJck1Zb1B0OWQxQytoZzZKWWFnbmhmVnN6OTBWbWNyK1dzbUI3am8zM2tka21vWGpkajJqRW1TVW5ld3ZzV3huSHJ2TVwvdzBIXC9saHJYcmxleW44SU5tQ3hRSlR3NGN4MEhkc2tLbWg2dm1hcVduWUd3Q29rMnNPYWY2YklkcmJKSEU1SGs0dDVISnExYVBIZVJzeHdrXC9TaUFIWVBjTTFRRnlCMjlhQ3JVTHloVXc1enJRR0k3djFYbm1aU1JzUTRXSHBWb01LQVFYZks3Unl1SDRiQzJzZmpaVzZIeGhCSGcwQ2J1dFAyQ0V0YWRLajBnK1BlZmV2WnBnek1WZEMzVWNId2xIajVqOUlVQ1BWTHg2bmhNNldCWDVTbXFzNnc4a29YcFc3YUhiSUlpVUxTdURSSm0yY0h0WlJDUTluYnluWWdidnlIdjZIZ213UExScHhsYU9nXHgzZFx4MjIsXHgyMmdsb2JhbE5hbWVceDIyOlx4MjJ0cmF5cmlkZVx4MjIsXHgyMmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iXHgyMjpceDIyXHg1Ym51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXHg1Ylx4NWQsXHg1Ylx4NWRceDVkXHgyMlx4N2RceDdkJywnVCc6ICdBU0FGQVVKRktvM2lBQXhEYXJYVjFzb0k1VGRra0phT20wcGpMbWl4M2xvSl9lRkdZMF96M2tsc3ktNE5ITjlfRFVLQ2xVb1dlX2xja2JRTUpxVFBUYjJfMFlJXHgzZCcsfSk7fX0pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iUk5KYnBDc19qV2Y5Nk9xcGlrNjZBdyI+aWYgKHdpbmRvdy55dGNzaSkge3l0Y3NpLmluZm9HZWwoe3NlcnZlclRpbWVNczogIDM5LjAgfSwgJycpO308L3NjcmlwdD48bm9zY3JpcHQ+PGRpdiBjbGFzcz0icGxheWVyLXVuYXZhaWxhYmxlIj48aDEgY2xhc3M9Im1lc3NhZ2UiPkFuIGVycm9yIG9jY3VycmVkLjwvaDE+PGRpdiBjbGFzcz0ic3VibWVzc2FnZSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1IN09pWk9fOWFoRSIgdGFyZ2V0PSJfYmxhbmsiPlRyeSB3YXRjaGluZyB0aGlzIHZpZGVvIG9uIHd3dy55b3V0dWJlLmNvbTwvYT4sIG9yIGVuYWJsZSBKYXZhU2NyaXB0IGlmIGl0IGlzIGRpc2FibGVkIGluIHlvdXIgYnJvd3Nlci48L2Rpdj48L2Rpdj48L25vc2NyaXB0PjwvYm9keT48L2h0bWw+"}},"time_used":107,"timings":{"blocked":-1,"dns":2,"connect":8,"send":0,"wait":69,"receive":0,"ssl":28},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/81a298ddc7471070.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.528Z","timestamp":1785129949528,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/81a298ddc7471070.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 3817466\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"81a298ddc7471070.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"19fc6352b3bef54383c8770d74131cfa\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/81a298ddc7471070.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::wcw4z-1781312483461-776bf6c194f6\r\nx-xss-protection: 1; mode=block\r\npriority: u=4,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=S5xvpf3gmm4VpLLbvqclAOM480oDaCroxw%2FYxdWuanKui51cDr%2BJOYKmn3x8FmMFVecSn3R29oGU4NFFDE2A8UWWErAPq5ivxdqeSCfLwrYSF2NHuW3Rc8A7WJbQ\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c88d2da0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":8114,"size_decoded":4388,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (8114), with no line terminators","md5":"19fc6352b3bef54383c8770d74131cfa","sha1":"c67ec295996975fd662c06e0b614bd3b9f97d7bd","sha256":"9f43d8db2c14631ecaeb7f7ea5d8823bbfe41eeee26f6893c816d0aa348e9605","sha512":"64eba4d08add14b4c9728e2e5026234cf522dd62e2da45df50d967e4d337e6b38cbeaf471dbfba3420a5d3c992bb47c628f60618fca6d84114f7250b7407c5cd","ssdeep":"96:76gC8v2YWBRNY6v28COSXTnv2IDESf3vZ8kM2Lv2kyIWwzysv2hv2zthN1Vm5w7b:cjYWG8COJIDEiikyBwuzkx/T+AP","tlshash":"e4f1536636d4f9d1168b44d5c83b5006f22e0d3a216d70a8b7e5cefa369044ef472fea","first_seen":"2026-02-06T09:43:19.169507Z","last_seen":"2026-08-15T07:58:28.197267Z","times_seen":1921,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDk0OTQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sODk3OTEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoOTQ5NCl9LDcxMjM0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIYW5kbGVJU1JFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IG49InUiPHR5cGVvZiB3aW5kb3c/ZS5yKDg5NzkxKS53b3JrQXN5bmNTdG9yYWdlOnZvaWQgMDtmdW5jdGlvbiBvKHtlcnJvcjplfSl7aWYobil7bGV0IHQ9bi5nZXRTdG9yZSgpO2lmKHQ/LmlzU3RhdGljR2VuZXJhdGlvbil0aHJvdyBlJiZjb25zb2xlLmVycm9yKGUpLGV9cmV0dXJuIG51bGx9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzQwODQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZVVudHJhY2tlZFBhdGhuYW1lIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1lLnIoNzUyMDEpLG89ZS5yKDMxODk5KTtmdW5jdGlvbiB1KCl7cmV0dXJuIWZ1bmN0aW9uKCl7aWYoInUiPHR5cGVvZiB3aW5kb3cpe2xldHt3b3JrVW5pdEFzeW5jU3RvcmFnZTp0fT1lLnIoMTI5NjUpLHI9dC5nZXRTdG9yZSgpO2lmKCFyKXJldHVybiExO3N3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO3JldHVybiEhbiYmbi5zaXplPjB9fXJldHVybiExfSgpPygwLG4udXNlQ29udGV4dCkoby5QYXRobmFtZUNvbnRleHQpOm51bGx9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODMzOTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2hhbmRsZUhhcmROYXZFcnJvcjpmdW5jdGlvbigpe3JldHVybiBsfSx1c2VOYXZGYWlsdXJlSGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2Uucig3NTIwMSk7bGV0IHU9ZS5yKDg1NTk0KTtmdW5jdGlvbiBsKGUpe3JldHVybiEhKGUmJiJ1Ij50eXBlb2Ygd2luZG93KSYmISF3aW5kb3cubmV4dC5fX3BlbmRpbmdVcmwmJigwLHUuY3JlYXRlSHJlZkZyb21VcmwpKG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpKSE9PSgwLHUuY3JlYXRlSHJlZkZyb21VcmwpKHdpbmRvdy5uZXh0Ll9fcGVuZGluZ1VybCkmJihjb25zb2xlLmVycm9yKCJFcnJvciBvY2N1cnJlZCBkdXJpbmcgbmF2aWdhdGlvbiwgZmFsbGluZyBiYWNrIHRvIGhhcmQgbmF2aWdhdGlvbiIsZSksd2luZG93LmxvY2F0aW9uLmhyZWY9d2luZG93Lm5leHQuX19wZW5kaW5nVXJsLnRvU3RyaW5nKCksITApfWZ1bmN0aW9uIGkoKXt9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzQ4NDcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0Vycm9yQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gX30sRXJyb3JCb3VuZGFyeUhhbmRsZXI6ZnVuY3Rpb24oKXtyZXR1cm4gcH19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoODEyNTgpLGw9ZS5yKDk4MTM0KSxpPXUuXyhlLnIoNzUyMDEpKSxhPWUucig3NDA4NCkscz1lLnIoNDk4NDMpO2Uucig4MzM5OCk7bGV0IGQ9ZS5yKDcxMjM0KSxjPWUucigzNDY1KSxmPSJ1Ij50eXBlb2Ygd2luZG93JiYoMCxjLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7Y2xhc3MgcCBleHRlbmRzIGkuZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5yZXNldD0oKT0+e3RoaXMuc2V0U3RhdGUoe2Vycm9yOm51bGx9KX0sdGhpcy5zdGF0ZT17ZXJyb3I6bnVsbCxwcmV2aW91c1BhdGhuYW1lOnRoaXMucHJvcHMucGF0aG5hbWV9fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc05leHRSb3V0ZXJFcnJvcikoZSkpdGhyb3cgZTtyZXR1cm57ZXJyb3I6ZX19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhlLHQpe2xldHtlcnJvcjpyfT10O3JldHVybiBlLnBhdGhuYW1lIT09dC5wcmV2aW91c1BhdGhuYW1lJiZ0LmVycm9yP3tlcnJvcjpudWxsLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e2Vycm9yOnQuZXJyb3IscHJldmlvdXNQYXRobmFtZTplLnBhdGhuYW1lfX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5zdGF0ZS5lcnJvciYmIWY/KDAsbC5qc3hzKShsLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsbC5qc3gpKGQuSGFuZGxlSVNSRXJyb3Ise2Vycm9yOnRoaXMuc3RhdGUuZXJyb3J9KSx0aGlzLnByb3BzLmVycm9yU3R5bGVzLHRoaXMucHJvcHMuZXJyb3JTY3JpcHRzLCgwLGwuanN4KSh0aGlzLnByb3BzLmVycm9yQ29tcG9uZW50LHtlcnJvcjp0aGlzLnN0YXRlLmVycm9yLHJlc2V0OnRoaXMucmVzZXR9KV19KTp0aGlzLnByb3BzLmNoaWxkcmVufX1mdW5jdGlvbiBfKHtlcnJvckNvbXBvbmVudDplLGVycm9yU3R5bGVzOnQsZXJyb3JTY3JpcHRzOnIsY2hpbGRyZW46bn0pe2xldCBvPSgwLGEudXNlVW50cmFja2VkUGF0aG5hbWUpKCk7cmV0dXJuIGU/KDAsbC5qc3gpKHAse3BhdGhuYW1lOm8sZXJyb3JDb21wb25lbnQ6ZSxlcnJvclN0eWxlczp0LGVycm9yU2NyaXB0czpyLGNoaWxkcmVuOm59KTooMCxsLmpzeCkobC5GcmFnbWVudCx7Y2hpbGRyZW46bn0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDU3MjQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWRpcmVjdEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LFJlZGlyZWN0RXJyb3JCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2xldCB1PWUucig0NDA2NiksbD1lLnIoOTgxMzQpLGk9dS5fKGUucig3NTIwMSkpLGE9ZS5yKDI4OTk1KSxzPWUucig0MTcyMSksZD1lLnIoOTA4NjIpO2Z1bmN0aW9uIGMoe3JlZGlyZWN0OmUscmVzZXQ6dCxyZWRpcmVjdFR5cGU6cn0pe2xldCBuPSgwLGEudXNlUm91dGVyKSgpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKT0+e2kuZGVmYXVsdC5zdGFydFRyYW5zaXRpb24oKCk9PntyPT09ZC5SZWRpcmVjdFR5cGUucHVzaD9uLnB1c2goZSx7fSk6bi5yZXBsYWNlKGUse30pLHQoKX0pfSxbZSxyLHQsbl0pLG51bGx9Y2xhc3MgZiBleHRlbmRzIGkuZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17cmVkaXJlY3Q6bnVsbCxyZWRpcmVjdFR5cGU6bnVsbH19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlKXtpZigoMCxkLmlzUmVkaXJlY3RFcnJvcikoZSkpe2xldCB0PSgwLHMuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKGUpLHI9KDAscy5nZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IpKGUpO3JldHVybiJoYW5kbGVkImluIGU/e3JlZGlyZWN0Om51bGwscmVkaXJlY3RUeXBlOm51bGx9OntyZWRpcmVjdDp0LHJlZGlyZWN0VHlwZTpyfX10aHJvdyBlfXJlbmRlcigpe2xldHtyZWRpcmVjdDplLHJlZGlyZWN0VHlwZTp0fT10aGlzLnN0YXRlO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/KDAsbC5qc3gpKGMse3JlZGlyZWN0OmUscmVkaXJlY3RUeXBlOnQscmVzZXQ6KCk9PnRoaXMuc2V0U3RhdGUoe3JlZGlyZWN0Om51bGx9KX0pOnRoaXMucHJvcHMuY2hpbGRyZW59fWZ1bmN0aW9uIHAoe2NoaWxkcmVuOmV9KXtsZXQgdD0oMCxhLnVzZVJvdXRlcikoKTtyZXR1cm4oMCxsLmpzeCkoZix7cm91dGVyOnQsY2hpbGRyZW46ZX0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDUwMDk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnJlc29sdmVkVGhlbmFibGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPXt0aGVuOigpPT57fX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzYzNDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e01ldGFkYXRhQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sT3V0bGV0Qm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gc30sUm9vdExheW91dEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFZpZXdwb3J0Qm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoNTM0NTkpLGw9e1t1Lk1FVEFEQVRBX0JPVU5EQVJZX05BTUVdOmZ1bmN0aW9uKHtjaGlsZHJlbjplfSl7cmV0dXJuIGV9LFt1LlZJRVdQT1JUX0JPVU5EQVJZX05BTUVdOmZ1bmN0aW9uKHtjaGlsZHJlbjplfSl7cmV0dXJuIGV9LFt1Lk9VVExFVF9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfSxbdS5ST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfX0saT1sW3UuTUVUQURBVEFfQk9VTkRBUllfTkFNRS5zbGljZSgwKV0sYT1sW3UuVklFV1BPUlRfQk9VTkRBUllfTkFNRS5zbGljZSgwKV0scz1sW3UuT1VUTEVUX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldLGQ9bFt1LlJPT1RfTEFZT1VUX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldfSw0NDkzNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiSGVhZE1hbmFnZXJDb250ZXh0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoODEyNTgpLl8oZS5yKDc1MjAxKSkuZGVmYXVsdC5jcmVhdGVDb250ZXh0KHt9KX0sMTYxNTMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPWUucig5ODEzNCksbz1lLnIoNzEyMzQpLHU9e2ZvbnRGYW1pbHk6J3N5c3RlbS11aSwiU2Vnb2UgVUkiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSInLGhlaWdodDoiMTAwdmgiLHRleHRBbGlnbjoiY2VudGVyIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciJ9LGw9e2ZvbnRTaXplOiIxNHB4Iixmb250V2VpZ2h0OjQwMCxsaW5lSGVpZ2h0OiIyOHB4IixtYXJnaW46IjAgOHB4In0saT1mdW5jdGlvbih7ZXJyb3I6ZX0pe2xldCB0PWU/LmRpZ2VzdDtyZXR1cm4oMCxuLmpzeHMpKCJodG1sIix7aWQ6Il9fbmV4dF9lcnJvcl9fIixjaGlsZHJlbjpbKDAsbi5qc3gpKCJoZWFkIix7fSksKDAsbi5qc3hzKSgiYm9keSIse2NoaWxkcmVuOlsoMCxuLmpzeCkoby5IYW5kbGVJU1JFcnJvcix7ZXJyb3I6ZX0pLCgwLG4uanN4KSgiZGl2Iix7c3R5bGU6dSxjaGlsZHJlbjooMCxuLmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsbi5qc3hzKSgiaDIiLHtzdHlsZTpsLGNoaWxkcmVuOlsiQXBwbGljYXRpb24gZXJyb3I6IGEgIix0PyJzZXJ2ZXIiOiJjbGllbnQiLCItc2lkZSBleGNlcHRpb24gaGFzIG9jY3VycmVkIHdoaWxlIGxvYWRpbmcgIix3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIiAoc2VlIHRoZSIsIiAiLHQ/InNlcnZlciBsb2dzIjoiYnJvd3NlciBjb25zb2xlIiwiIGZvciBtb3JlIGluZm9ybWF0aW9uKS4iXX0pLHQ/KDAsbi5qc3gpKCJwIix7c3R5bGU6bCxjaGlsZHJlbjpgRGlnZXN0OiAke3R9YH0pOm51bGxdfSl9KV19KV19KX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX1dKTs="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/29470.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.206Z","timestamp":1785129950206,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/29470.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2829\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 04 Jun 2024 14:26:01 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 05:35:52 GMT\r\ncache-control: public, max-age=86400\r\netag: \"0debab46acf186ff5769f4ba0018f87f\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 85800\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 9t6ufgPCw588ONiYZiTxK7iZWgtEr0t5uHb1CgRGcE46Q0V19Z2LkQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":2829,"size_decoded":3401,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"0debab46acf186ff5769f4ba0018f87f","sha1":"5e2f5bcdf7a875354086424179727eb69747338c","sha256":"da62693f7f99079375e11208b7853bc6113175cbd7aabb612ac938893f57cdd4","sha512":"9e27dd815bc7279386d266c7716a75c88ffa62757325cd0e5e226201cf5f128b4a4e1b44095254b4115a0b7709cf45449f2ba50e5ed03c4074e5c1cce13da1fc","ssdeep":"","tlshash":"99514b6f90ab341de21882f3a757be278a0dc1858b1e6651cce471ba14b7eb8530256a","first_seen":"2024-11-30T20:42:41.09234Z","last_seen":"2026-08-15T04:03:51.106894Z","times_seen":1556,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/5994.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.215Z","timestamp":1785129950215,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/5994.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 3014\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 01:23:06 GMT\r\nlast-modified: Tue, 19 Oct 2021 05:35:35 GMT\r\netag: \"570db8310832b88c50ab986a819a0764\"\r\ncache-control: max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 14565\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: WgEoo5rQB-DObMT1TV7Y_TmS4C45eBUuCv7dTRBBWhWGzqGU-VSfSA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":3014,"size_decoded":3523,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"570db8310832b88c50ab986a819a0764","sha1":"d4abd6f12354fb40df26c3aa51a1de62998d2e12","sha256":"a8f6ffea983f46e8f2b83abe8561938c10de36484ca79ca5432683f4c2634ea6","sha512":"a772dd550924c8ed53c12286a3a7572694110c47645a13904184e5591ac35dd0442a239f7d6a4d918fc1717e7a7f90f4e704b5cce2a7cfc461b6eb882067ef43","ssdeep":"","tlshash":"52516b4366536127d84a8b1e0cf0684aa0a78c8b3573d1067c1d7cec87fc251de2828d","first_seen":"2023-05-08T12:03:54Z","last_seen":"2026-08-15T05:52:08.404232Z","times_seen":1778,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURUxpcdceB70dCcIeCccfCdIgCv8FAFwECv8cAAAAAP7//xIUG84dB5kDACASEcEdCjQPDeMiCQAWKYsaDEYUD4MWCQUSF58bC5kaC7oZBm0RCkgVEH4VCsYbBrMdCrAUBHgVCU8AAJcPBmUaEYJPQIEMB44XCdkkDHwMB+P09IQkGakbCq8cCswUA6MUA7seCqwZB1kaEcgcB7GJQ+/8+8PPzmIQCsAfCnpZVpQfEvX28/////SkKegxGe+KFOwsEvOmL+cuFfHy7/OiKPOnM+o5Iuk1HPOqOfOlLOs/KPOuROoqEPT08vkjCN4fB+xELfX08PTVo/GgJswhC/X39/XPlvIiCPO3XfOrPe5JM+xNOe2HEvSwSv+vLv+qJ/XKieUsFAAAAPUiB+0hB+c3H+ggB/SzT/OgIvW9ZvOdG/Q4H/PEfeUoD/GjK/T9//ExF/TIhObn4/ilKfupKumBE/OnN/TDdvr69/Pbt/79+8kiD90lDvrpzPS1VPc/JvT5+5JbN/biwvS/buigOKp+PZM3KggHCKMlFqUSBf8lCPVTPvStP7yOPY9ANPfw4bYQAPyjIhsWD/Pr246Pjv736I1pXO2ECr3FwbYcCeYXAe+RHdwyIKovJP62RfLkzeuLG6COiUZGRJ9vOaSko7u2sP7w1v/pw9jc2f7DZgECBgAABPbbssUQAa0iFtbj4bRDOvXNj+03HfWtMvnYp/xKMaAsIYllNtSdNu6bI7Suo7aIO1dXV7y8uZiYl83Rz3RcNlI6GPybG+l+DIQRB4l/fPcsEJYpG/1ZQftYQZxFOfW4a5NRSj4+Pf+8UtMXA//NdkUxFPTy6O66c5VuaeqOLLSdmKJ4cv+xOcREO5d0Pv9XPrQqHd6sWmtsazEoHe3Eh5h7Vf7PfvCuT+ErFptmFtyVKI1fGr1+IceGIf7WmZmDX3xCLN7cxolORcSROqyzs14vKGUXEIphXJ5xRu3nzddIPMcyJdNHPL84Lr2aWsCBImVGFeWyYqx0HP/XiczCnItVZDwAAADHdFJOUwD+/v7+/gICAQH+EvwEJ/wy/QurPXYb0MLPe0uM7OzGaJD1b/44l/5c/v7Z5fyl84Fe9f3+/f3c/en//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////v////////////////////////////////////////////////////////////4MkkDGAAAHkUlEQVRYw+2Xd1hT9xrHT0IGGYcAsmXVvVq7731yEkJOUCIZDUlIvIwYEiIz7A2ylxRkC1hAKyigyHWhuK2r7t1pp21v29vW3vbufd9zGIIg5fo89/7V75PnyXNy8n5+7/otBPlZ/1uxmKRYT2TMRBkPHxjof0lhoeQXx87eycnejkM+oMzZD06Mbef7jLsXl6JUUrhe7s842xN+MGc9uouzD1en0FmUFDqdorToFKbr7s52gJhFIDCKyyIvnUlJ41FtaBpQrg2Vx1WaTM8vsiNfzywUQZ29FGYu1YaeIJOJRpSQR7ehcs2K5z0dEfSn7O19dGYalZ4gEgnFYiFIDN9ikSxBQ9XoTMudEMZM9gxkCXcjvY0uExHGq8dEYMSiBE0bRUH3nSkRKOJcV1enEcnAHOxWkYqCDwEhEQNPV3k+nkDYn+tpuaBMEo5YrxnVKpJhTEqo/Gb7Cxc8H5cHFJnffmFwx85/L+DFRRHWr4yJZETF8b6p2W+IKLruMT2BiThp2r+7lb17d3DLngLS/FejIhkFew4FGtTDhjJe3tzpCEwGZ4Wi7sfmu3dvh3z926GDhHXoqAjGwaH3IiTDW9Pra+Zt9HaxZU5TgDkKTd2d/M2bz5TG/wsIoaHV1RcvXnzzzYvV1aGhBzvei1BvSU9Pf+PBWaViztRiQgB0B6ryTn6Yn9+Zu7c//aTj/erQP777a9C7fw6tfv8vhwj7ML+wN47uoVkoc6e0JANxU1Dz2n/M9wOd2aq/8Un5paLfl71QU3O0bHvRpUsL9kdvBXsAQA54ClcmY6oDShuR5UrjljCCkK6P+esHGzo733knArS/tKY0lbT3C6vfnptEdZjiApEBXp5YVJuSsRn+ll4ao7+2PihobWBGgL+/1ZpqSLUOh5GA1KI8EZ32aBZYCMfbQpUZk4Z6LxMAfWaMfsP68KBXAwMBIJVarVKBQL2FCK+0XGRMoJpXukxyAUXmKrkamTFuz/GvAXA5uWQEQHgQIPX3l0gEAolEsgVS8GAoySijURyem9QLKOJpggiEcbnbdm7dfHlvZuYEgD8MDwCQGlJQdi9OLFpMUyyaBIAa6Hgyo3DVZy2bSu8HJ8ePA4gQIAYBfMCF6LC0otf2CSEGkytiOzEFjissPJl4dVRc7bchwSHr4kv0G8YARBIEktjYaIIQW1obFyUUy6hmbw7CmlBEl5VKmsgojCq4d2QnAcg8cCAmfCwEqVUiXbc3EAhqQ01HQZTQKONZeHYTsshE7GgUjUi8etWa11qKAZCZj2E7xnMglUYfgGdwQA0RrIlaLRbRlBr7yQANRSMbByQn52AYlrx2LAeScHjE1kdL1YbtfwIPAECh20/nQVRBBxlCZn7zjuKYoKBX15IAQcCB/E35GdESSf3h8gLwQDbFAxeeMpcIYd93f9gNgE9v9OnDw0caiQhBEqu2GgwCtUQdAVUgATYTcwBV8Hagicg+2EEATp36oE9/P5z0IIDsxIi0f57+Kk2tNhztiIMq2FhWTqwClNTVDGUUxg215gPg44bIhkP3r42HAHPhy5v9uz43DEtSD5cnEX2gW86cCIC5pOMlGIUwmYqzwYPTkf27GsqujXgQ4J/2xemK/v6KL9Mghv1FnwmNMKEnzyYU8bXQFov25d1pJgG3TzX0R0Ye6gzwzwiQRKd+0bCrv+Lm38BeYo2A6Syjc3XzJ7UyUQbopCTathFA/I1/lJ26eTooPrurK/vjzs8/+vtvvkozgL3Eajh6L0lmo8y1n7wgEJOBmpDU1tNcvJts5Zi+vs6+RjZRfwxPro+ISJOoBVJopfoHlefzqLAk2T6yJzxn0dDPV7Y2d2UH700GgP5+PM4+/jqom50YMmxVCyTRsbHWgNTDF87ncs3zH1nZWbaOK8xt5ytfysHxTV3BmSUl+hIVjh2LBH2UpUqMj/WPjg1aV9zY2PhtubnN5M2xZU3Zlsy0vLZWDOdrC7WNe/X6rkIc+7C/oqLiag6uvbU2NiNYnlhYqGUPVkIKp25OLAbqauINbMNwOUirDUkulOPsHsKDJgxXJSYHbUqUq1RyHDtSRTMtd5y6wcK6zHWwKV/Kl5MEeaNWLsdzmhoqPiR+0TbeKlSRbwoX1Mmm2RbIIDzMi6vOjbhAIOR8Nh87eRzTZgFCS4L5ONZ91kE3/f7MgnY00c9+P0aQa1NOpuDd5/CUFPmYcOzkDxSFGzr9CYHFcHRT0H9ofUi4euzEsddPHLuaNW4/+LunN7pybJmPO6Bx3BSUl7/HVPjI34839Tad6z3RPYrEsV7C3uXxRzUm4jhHZ3m5KTGLtODzU/gpvfwUORk/rsJal7Wb3DgzHfXglQd3Y9UvBzH+SDnlWVlEOsEcx15smqegeDJnPipCJp18FO3LTiwFBP4weaocduuCAYX7XMT2pw6rDAT1/YVuoLZ7KTtHhZNSZbETX2qpavdydpzNYRc8dPR1v15Xvu3ki2xSiYNHrlQNuDtzZnHSHT/r2z/rM+9s7dtv9fS89faVZfN8nl0IQ6OsWV8XiMnOWbjE4ymQx5KF5I0BZT3xhQVWXfQJLj4sJjqqJ7w1/az/m/4Dvg7lpGWpzr0AAAAASUVORK5CYII="}},"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":"i.ytimg.com/vi_webp/H7OiZO_9ahE/sddefault.webp","fqdn":"i.ytimg.com","domain":"ytimg.com","tld":"com"},"ip":{"addr":"142.250.178.118","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:50.645Z","timestamp":1785129950645,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"edgestatic.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:24 GMT","end":"Mon, 21 Sep 2026 08:37:23 GMT"},"fingerprint":{"sha1":"99:EB:44:FC:A9:EB:62:72:A5:7C:E5:77:BF:06:63:47:1B:54:C7:D7","sha256":"CD:4A:F6:7A:9F:60:AA:84:9F:37:94:1B:BE:E7:AB:41:46:38:9E:68:4A:4F:36:B3:D0:84:EC:FA:44:D7:A9:DD"}}},"request":{"raw":"GET /vi_webp/H7OiZO_9ahE/sddefault.webp HTTP/1.1\r\nHost: i.ytimg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 17696\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 27 Jul 2026 04:13:42 GMT\r\nexpires: Mon, 27 Jul 2026 06:13:42 GMT\r\ncache-control: public, max-age=7200\r\netag: \"1616184290\"\r\ncontent-type: image/webp\r\nvary: Origin\r\nage: 4328\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":17696,"size_decoded":18327,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image, VP8 encoding, 640x480, Scaling: [none]x[none], YUV color, decoders should clamp","md5":"4e40b3e9792fdc26fcfcd7a86636b7d2","sha1":"95288bbd3a66a0134a8f5ed836407d1e9eb38344","sha256":"8b6cc66560708f011f678f548657c56255a2266f97e6b96ec8b292fc407208e9","sha512":"768da9491388b7ed88b9da68b1648b6573b3500189cee5bb6980436a498c0c4beb6c893c3a7558fe855e79fbb0f277430cbc441212bb09e2a5cc7c920679e2a4","ssdeep":"384:RDqcuGbsKGJpwhUlaQ94cRKcwWyyokRgEHKPVHVOxRe335:RDNbvqpOQKcRkWZbR7HKN12e3","tlshash":"7082df6589e599cedf5ae9b820539ddbc2f18c5f5d602b0f013379b0866362b4bc3a81","first_seen":"2026-07-27T04:14:44.500587Z","last_seen":"2026-08-04T06:09:43.954228Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":80,"timings":{"blocked":0,"dns":4,"connect":18,"send":0,"wait":19,"receive":5,"ssl":34},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translate.yandex.net/website-widget/v1/widget.js?widgetId=ytWidget\u0026pageLang=en\u0026widgetTheme=light\u0026autoMode=false","fqdn":"translate.yandex.net","domain":"yandex.net","tld":"net"},"ip":{"addr":"213.180.204.194","port":443,"asn":13238,"as":"YANDEX LLC","country":"Russia","country_code":"RU"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.038Z","timestamp":1785129949038,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /website-widget/v1/widget.js?widgetId=ytWidget\u0026pageLang=en\u0026widgetTheme=light\u0026autoMode=false HTTP/1.1\r\nHost: translate.yandex.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://digitaltradeinvest.org/\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 429 \r\nset-cookie: _yasc=+fCRT2r07NvdSBYLLPPDI0v52CTpRXZcmw1kxKF5AcvQ9aqHmKQGIQWXcu4vFoKISoyO; domain=.yandex.net; path=/; expires=Thu, 24 Jul 2036 05:25:49 GMT; SameSite=None; Secure\nbh=YN3Xm9MGahfcyuH/CJLYobEDn8/14QzlyPCOA5S2Ag==; Expires=Tue, 31 Aug 2027 05:25:49 GMT; SameSite=None; Secure\r\naccept-ch: Sec-CH-UA-Full-Version-List, Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Model, Sec-CH-UA-Bitness\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"429","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"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-15T16:46:18.775881Z","times_seen":17905015,"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":"coinlib.io/_next/static/chunks/d71b99267b066b9b.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.548Z","timestamp":1785129949548,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/d71b99267b066b9b.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 2258565\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"d71b99267b066b9b.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"8ab91e90961bd7e4d7c2d7514a37ecf6\"\r\nlast-modified: Mon, 25 May 2026 18:12:21 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/d71b99267b066b9b.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::z8pn9-1779843301298-e28dad7012c9\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=ugkt9EZeHRbAeYgz7oWH1pK%2FOBmCpVRrqD0E9hTFJ8vcyg6%2BE%2FroXZz66UVZb%2BgR3mO1nAs0yd%2BBHw8fYDcT39xiVjJZBObR0h4VjoybIrz8lur44zbhNVieRBvN\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c8ad37a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":27443,"size_decoded":11051,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (27443), with no line terminators","md5":"8ab91e90961bd7e4d7c2d7514a37ecf6","sha1":"d2e2405837d8cd1436dae22a0c5d7f4e15168995","sha256":"6e16504cbe3f76082798a523cf9cdce3bc9321fefc36485d02c9289e5a5f6b38","sha512":"da24ae4884840b4b996fdd087c41065e590b5cf33046f6aec00157142b53b9da067a83af2cc7744429b64c02bbfb1aef428787389939a1736cb4ad1f0458ee69","ssdeep":"384:AqniNMH/fZ8oNS1VFWHcE+Ff8IiUG6AUNmXVOmitisz8Xdjz8/K4QIwATf:YO58o0fG65mXVOOKKNInf","tlshash":"bec2c725b90705be2aee83e7e06cabd5d9385a02d5098b4ce3978f319704bf56187b0d","first_seen":"2026-04-30T18:36:20.827898Z","last_seen":"2026-08-15T07:58:28.174254Z","times_seen":2176,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc1MTU3LDcyODQsZT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7Zm9yKHZhciBlLHIsbz0wLHQ9IiIsbD1hcmd1bWVudHMubGVuZ3RoO288bDtvKyspKGU9YXJndW1lbnRzW29dKSYmKHI9ZnVuY3Rpb24gZShyKXt2YXIgbyx0LGw9IiI7aWYoInN0cmluZyI9PXR5cGVvZiByfHwibnVtYmVyIj09dHlwZW9mIHIpbCs9cjtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgcilpZihBcnJheS5pc0FycmF5KHIpKXt2YXIgbj1yLmxlbmd0aDtmb3Iobz0wO288bjtvKyspcltvXSYmKHQ9ZShyW29dKSkmJihsJiYobCs9IiAiKSxsKz10KX1lbHNlIGZvcih0IGluIHIpclt0XSYmKGwmJihsKz0iICIpLGwrPXQpO3JldHVybiBsfShlKSkmJih0JiYodCs9IiAiKSx0Kz1yKTtyZXR1cm4gdH1lLnMoWyJjbHN4IiwoKT0+cl0sNzI4NCk7bGV0IG89KGU9bmV3IE1hcCxyPW51bGwsbyk9Pih7bmV4dFBhcnQ6ZSx2YWxpZGF0b3JzOnIsY2xhc3NHcm91cElkOm99KSx0PVtdLGw9KGUscixvKT0+e2lmKDA9PWUubGVuZ3RoLXIpcmV0dXJuIG8uY2xhc3NHcm91cElkO2xldCB0PWVbcl0sbj1vLm5leHRQYXJ0LmdldCh0KTtpZihuKXtsZXQgbz1sKGUscisxLG4pO2lmKG8pcmV0dXJuIG99bGV0IGE9by52YWxpZGF0b3JzO2lmKG51bGw9PT1hKXJldHVybjtsZXQgcz0wPT09cj9lLmpvaW4oIi0iKTplLnNsaWNlKHIpLmpvaW4oIi0iKSxpPWEubGVuZ3RoO2ZvcihsZXQgZT0wO2U8aTtlKyspe2xldCByPWFbZV07aWYoci52YWxpZGF0b3IocykpcmV0dXJuIHIuY2xhc3NHcm91cElkfX0sbj0oZSxyKT0+e2xldCB0PW8oKTtmb3IobGV0IG8gaW4gZSlhKGVbb10sdCxvLHIpO3JldHVybiB0fSxhPShlLHIsbyx0KT0+e2xldCBsPWUubGVuZ3RoO2ZvcihsZXQgbj0wO248bDtuKyspcyhlW25dLHIsbyx0KX0scz0oZSxyLG8sdCk9Pnsic3RyaW5nIj09dHlwZW9mIGU/aShlLHIsbyk6ImZ1bmN0aW9uIj09dHlwZW9mIGU/YyhlLHIsbyx0KTpkKGUscixvLHQpfSxpPShlLHIsbyk9PnsoIiI9PT1lP3I6bShyLGUpKS5jbGFzc0dyb3VwSWQ9b30sYz0oZSxyLG8sdCk9PntwKGUpP2EoZSh0KSxyLG8sdCk6KG51bGw9PT1yLnZhbGlkYXRvcnMmJihyLnZhbGlkYXRvcnM9W10pLHIudmFsaWRhdG9ycy5wdXNoKHtjbGFzc0dyb3VwSWQ6byx2YWxpZGF0b3I6ZX0pKX0sZD0oZSxyLG8sdCk9PntsZXQgbD1PYmplY3QuZW50cmllcyhlKSxuPWwubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspe2xldFtuLHNdPWxbZV07YShzLG0ocixuKSxvLHQpfX0sbT0oZSxyKT0+e2xldCB0PWUsbD1yLnNwbGl0KCItIiksbj1sLmxlbmd0aDtmb3IobGV0IGU9MDtlPG47ZSsrKXtsZXQgcj1sW2VdLG49dC5uZXh0UGFydC5nZXQocik7bnx8KG49bygpLHQubmV4dFBhcnQuc2V0KHIsbikpLHQ9bn1yZXR1cm4gdH0scD1lPT4iaXNUaGVtZUdldHRlciJpbiBlJiYhMD09PWUuaXNUaGVtZUdldHRlcixiPVtdLHU9KGUscixvLHQsbCk9Pih7bW9kaWZpZXJzOmUsaGFzSW1wb3J0YW50TW9kaWZpZXI6cixiYXNlQ2xhc3NOYW1lOm8sbWF5YmVQb3N0Zml4TW9kaWZpZXJQb3NpdGlvbjp0LGlzRXh0ZXJuYWw6bH0pLGY9L1xzKy8sZz1lPT57bGV0IHI7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2xldCBvPSIiO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0mJihyPWcoZVt0XSkpJiYobyYmKG8rPSIgIiksbys9cik7cmV0dXJuIG99LGg9W10saz1lPT57bGV0IHI9cj0+cltlXXx8aDtyZXR1cm4gci5pc1RoZW1lR2V0dGVyPSEwLHJ9LHc9L15cWyg/Oihcd1tcdy1dKik6KT8oLispXF0kL2kseD0vXlwoKD86KFx3W1x3LV0qKTopPyguKylcKSQvaSx5PS9eXGQrKD86XC5cZCspP1wvXGQrKD86XC5cZCspPyQvLHY9L14oXGQrKFwuXGQrKT8pPyh4c3xzbXxtZHxsZ3x4bCkkLyx6PS9cZCsoJXxweHxyP2VtfFtzZGxdP3YoW2h3aWJdfG1pbnxtYXgpfHB0fHBjfGlufGNtfG1tfGNhcHxjaHxleHxyP2xofGNxKHd8aHxpfGJ8bWlufG1heCkpfFxiKGNhbGN8bWlufG1heHxjbGFtcClcKC4rXCl8XjAkLyxqPS9eKHJnYmE/fGhzbGE/fGh3Ynwob2spPyhsYWJ8bGNoKXxjb2xvci1taXgpXCguK1wpJC8sQz0vXihpbnNldF8pPy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApXy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApLyxHPS9eKHVybHxpbWFnZXxpbWFnZS1zZXR8Y3Jvc3MtZmFkZXxlbGVtZW50fChyZXBlYXRpbmctKT8obGluZWFyfHJhZGlhbHxjb25pYyktZ3JhZGllbnQpXCguK1wpJC8sTj1lPT55LnRlc3QoZSksST1lPT4hIWUmJiFOdW1iZXIuaXNOYU4oTnVtYmVyKGUpKSxVPWU9PiEhZSYmTnVtYmVyLmlzSW50ZWdlcihOdW1iZXIoZSkpLCQ9ZT0+ZS5lbmRzV2l0aCgiJSIpJiZJKGUuc2xpY2UoMCwtMSkpLE89ZT0+di50ZXN0KGUpLFM9KCk9PiEwLFc9ZT0+ei50ZXN0KGUpJiYhai50ZXN0KGUpLEY9KCk9PiExLFA9ZT0+Qy50ZXN0KGUpLFQ9ZT0+Ry50ZXN0KGUpLE09ZT0+IVIoZSkmJiFIKGUpLEE9ZT0+ZXIoZSxlbixGKSxSPWU9PncudGVzdChlKSxEPWU9PmVyKGUsZWEsVykscT1lPT5lcihlLGVzLEkpLEI9ZT0+ZXIoZSxlYyxTKSxFPWU9PmVyKGUsZWksRiksSz1lPT5lcihlLGV0LEYpLF89ZT0+ZXIoZSxlbCxUKSxMPWU9PmVyKGUsZWQsUCksSD1lPT54LnRlc3QoZSksSj1lPT5lbyhlLGVhKSxRPWU9PmVvKGUsZWkpLFY9ZT0+ZW8oZSxldCksWD1lPT5lbyhlLGVuKSxZPWU9PmVvKGUsZWwpLFo9ZT0+ZW8oZSxlZCwhMCksZWU9ZT0+ZW8oZSxlYywhMCksZXI9KGUscixvKT0+e2xldCB0PXcuZXhlYyhlKTtyZXR1cm4hIXQmJih0WzFdP3IodFsxXSk6byh0WzJdKSl9LGVvPShlLHIsbz0hMSk9PntsZXQgdD14LmV4ZWMoZSk7cmV0dXJuISF0JiYodFsxXT9yKHRbMV0pOm8pfSxldD1lPT4icG9zaXRpb24iPT09ZXx8InBlcmNlbnRhZ2UiPT09ZSxlbD1lPT4iaW1hZ2UiPT09ZXx8InVybCI9PT1lLGVuPWU9PiJsZW5ndGgiPT09ZXx8InNpemUiPT09ZXx8ImJnLXNpemUiPT09ZSxlYT1lPT4ibGVuZ3RoIj09PWUsZXM9ZT0+Im51bWJlciI9PT1lLGVpPWU9PiJmYW1pbHktbmFtZSI9PT1lLGVjPWU9PiJudW1iZXIiPT09ZXx8IndlaWdodCI9PT1lLGVkPWU9PiJzaGFkb3ciPT09ZSxlbT0oKGUsLi4ucik9PntsZXQgbyxhLHMsaSxjPWU9PntsZXQgcj1hKGUpO2lmKHIpcmV0dXJuIHI7bGV0IHQ9KChlLHIpPT57bGV0e3BhcnNlQ2xhc3NOYW1lOm8sZ2V0Q2xhc3NHcm91cElkOnQsZ2V0Q29uZmxpY3RpbmdDbGFzc0dyb3VwSWRzOmwsc29ydE1vZGlmaWVyczpufT1yLGE9W10scz1lLnRyaW0oKS5zcGxpdChmKSxpPSIiO2ZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7ZS09MSl7bGV0IHI9c1tlXSx7aXNFeHRlcm5hbDpjLG1vZGlmaWVyczpkLGhhc0ltcG9ydGFudE1vZGlmaWVyOm0sYmFzZUNsYXNzTmFtZTpwLG1heWJlUG9zdGZpeE1vZGlmaWVyUG9zaXRpb246Yn09byhyKTtpZihjKXtpPXIrKGkubGVuZ3RoPjA/IiAiK2k6aSk7Y29udGludWV9bGV0IHU9ISFiLGY9dCh1P3Auc3Vic3RyaW5nKDAsYik6cCk7aWYoIWYpe2lmKCF1fHwhKGY9dChwKSkpe2k9cisoaS5sZW5ndGg+MD8iICIraTppKTtjb250aW51ZX11PSExfWxldCBnPTA9PT1kLmxlbmd0aD8iIjoxPT09ZC5sZW5ndGg/ZFswXTpuKGQpLmpvaW4oIjoiKSxoPW0/ZysiISI6ZyxrPWgrZjtpZihhLmluZGV4T2Yoayk+LTEpY29udGludWU7YS5wdXNoKGspO2xldCB3PWwoZix1KTtmb3IobGV0IGU9MDtlPHcubGVuZ3RoOysrZSl7bGV0IHI9d1tlXTthLnB1c2goaCtyKX1pPXIrKGkubGVuZ3RoPjA/IiAiK2k6aSl9cmV0dXJuIGl9KShlLG8pO3JldHVybiBzKGUsdCksdH07cmV0dXJuIGk9ZD0+e3ZhciBtO2xldCBwO3JldHVybiBhPShvPXtjYWNoZTooZT0+e2lmKGU8MSlyZXR1cm57Z2V0OigpPT52b2lkIDAsc2V0OigpPT57fX07bGV0IHI9MCxvPU9iamVjdC5jcmVhdGUobnVsbCksdD1PYmplY3QuY3JlYXRlKG51bGwpLGw9KGwsbik9PntvW2xdPW4sKytyPmUmJihyPTAsdD1vLG89T2JqZWN0LmNyZWF0ZShudWxsKSl9O3JldHVybntnZXQoZSl7bGV0IHI9b1tlXTtyZXR1cm4gdm9pZCAwIT09cj9yOnZvaWQgMCE9PShyPXRbZV0pPyhsKGUscikscik6dm9pZCAwfSxzZXQoZSxyKXtlIGluIG8/b1tlXT1yOmwoZSxyKX19fSkoKG09ci5yZWR1Y2UoKGUscik9PnIoZSksZSgpKSkuY2FjaGVTaXplKSxwYXJzZUNsYXNzTmFtZTooZT0+e2xldHtwcmVmaXg6cixleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZTpvfT1lLHQ9ZT0+e2xldCByLG89W10sdD0wLGw9MCxuPTAsYT1lLmxlbmd0aDtmb3IobGV0IHM9MDtzPGE7cysrKXtsZXQgYT1lW3NdO2lmKDA9PT10JiYwPT09bCl7aWYoIjoiPT09YSl7by5wdXNoKGUuc2xpY2UobixzKSksbj1zKzE7Y29udGludWV9aWYoIi8iPT09YSl7cj1zO2NvbnRpbnVlfX0iWyI9PT1hP3QrKzoiXSI9PT1hP3QtLToiKCI9PT1hP2wrKzoiKSI9PT1hJiZsLS19bGV0IHM9MD09PW8ubGVuZ3RoP2U6ZS5zbGljZShuKSxpPXMsYz0hMTtyZXR1cm4gcy5lbmRzV2l0aCgiISIpPyhpPXMuc2xpY2UoMCwtMSksYz0hMCk6cy5zdGFydHNXaXRoKCIhIikmJihpPXMuc2xpY2UoMSksYz0hMCksdShvLGMsaSxyJiZyPm4/ci1uOnZvaWQgMCl9O2lmKHIpe2xldCBlPXIrIjoiLG89dDt0PXI9PnIuc3RhcnRzV2l0aChlKT9vKHIuc2xpY2UoZS5sZW5ndGgpKTp1KGIsITEscix2b2lkIDAsITApfWlmKG8pe2xldCBlPXQ7dD1yPT5vKHtjbGFzc05hbWU6cixwYXJzZUNsYXNzTmFtZTplfSl9cmV0dXJuIHR9KShtKSxzb3J0TW9kaWZpZXJzOihwPW5ldyBNYXAsbS5vcmRlclNlbnNpdGl2ZU1vZGlmaWVycy5mb3JFYWNoKChlLHIpPT57cC5zZXQoZSwxZTYrcil9KSxlPT57bGV0IHI9W10sbz1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl7bGV0IGw9ZVt0XSxuPSJbIj09PWxbMF0sYT1wLmhhcyhsKTtufHxhPyhvLmxlbmd0aD4wJiYoby5zb3J0KCksci5wdXNoKC4uLm8pLG89W10pLHIucHVzaChsKSk6by5wdXNoKGwpfXJldHVybiBvLmxlbmd0aD4wJiYoby5zb3J0KCksci5wdXNoKC4uLm8pKSxyfSksLi4uKGU9PntsZXQgcj0oZT0+e2xldHt0aGVtZTpyLGNsYXNzR3JvdXBzOm99PWU7cmV0dXJuIG4obyxyKX0pKGUpLHtjb25mbGljdGluZ0NsYXNzR3JvdXBzOm8sY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOmF9PWU7cmV0dXJue2dldENsYXNzR3JvdXBJZDplPT57aWYoZS5zdGFydHNXaXRoKCJbIikmJmUuZW5kc1dpdGgoIl0iKSl7dmFyIG87bGV0IHIsdCxsO3JldHVybiAtMT09PShvPWUpLnNsaWNlKDEsLTEpLmluZGV4T2YoIjoiKT92b2lkIDA6KHQ9KHI9by5zbGljZSgxLC0xKSkuaW5kZXhPZigiOiIpLChsPXIuc2xpY2UoMCx0KSk/ImFyYml0cmFyeS4uIitsOnZvaWQgMCl9bGV0IHQ9ZS5zcGxpdCgiLSIpLG49KygiIj09PXRbMF0mJnQubGVuZ3RoPjEpO3JldHVybiBsKHQsbixyKX0sZ2V0Q29uZmxpY3RpbmdDbGFzc0dyb3VwSWRzOihlLHIpPT57aWYocil7bGV0IHI9YVtlXSxsPW9bZV07aWYocil7aWYobCl7bGV0IGU9QXJyYXkobC5sZW5ndGgrci5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8bC5sZW5ndGg7cisrKWVbcl09bFtyXTtmb3IobGV0IG89MDtvPHIubGVuZ3RoO28rKyllW2wubGVuZ3RoK29dPXJbb107cmV0dXJuIGV9cmV0dXJuIHJ9cmV0dXJuIGx8fHR9cmV0dXJuIG9bZV18fHR9fX0pKG0pfSkuY2FjaGUuZ2V0LHM9by5jYWNoZS5zZXQsaT1jLGMoZCl9LCguLi5lKT0+aSgoKC4uLmUpPT57bGV0IHIsbyx0PTAsbD0iIjtmb3IoO3Q8ZS5sZW5ndGg7KShyPWVbdCsrXSkmJihvPWcocikpJiYobCYmKGwrPSIgIiksbCs9byk7cmV0dXJuIGx9KSguLi5lKSl9KSgoKT0+e2xldCBlPWsoImNvbG9yIikscj1rKCJmb250Iiksbz1rKCJ0ZXh0IiksdD1rKCJmb250LXdlaWdodCIpLGw9aygidHJhY2tpbmciKSxuPWsoImxlYWRpbmciKSxhPWsoImJyZWFrcG9pbnQiKSxzPWsoImNvbnRhaW5lciIpLGk9aygic3BhY2luZyIpLGM9aygicmFkaXVzIiksZD1rKCJzaGFkb3ciKSxtPWsoImluc2V0LXNoYWRvdyIpLHA9aygidGV4dC1zaGFkb3ciKSxiPWsoImRyb3Atc2hhZG93IiksdT1rKCJibHVyIiksZj1rKCJwZXJzcGVjdGl2ZSIpLGc9aygiYXNwZWN0IiksaD1rKCJlYXNlIiksdz1rKCJhbmltYXRlIikseD0oKT0+WyJhdXRvIiwiYXZvaWQiLCJhbGwiLCJhdm9pZC1wYWdlIiwicGFnZSIsImxlZnQiLCJyaWdodCIsImNvbHVtbiJdLHk9KCk9PlsiY2VudGVyIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwidG9wLWxlZnQiLCJsZWZ0LXRvcCIsInRvcC1yaWdodCIsInJpZ2h0LXRvcCIsImJvdHRvbS1yaWdodCIsInJpZ2h0LWJvdHRvbSIsImJvdHRvbS1sZWZ0IiwibGVmdC1ib3R0b20iXSx2PSgpPT5bLi4ueSgpLEgsUl0sej0oKT0+WyJhdXRvIiwiaGlkZGVuIiwiY2xpcCIsInZpc2libGUiLCJzY3JvbGwiXSxqPSgpPT5bImF1dG8iLCJjb250YWluIiwibm9uZSJdLEM9KCk9PltILFIsaV0sRz0oKT0+W04sImZ1bGwiLCJhdXRvIiwuLi5DKCldLFc9KCk9PltVLCJub25lIiwic3ViZ3JpZCIsSCxSXSxGPSgpPT5bImF1dG8iLHtzcGFuOlsiZnVsbCIsVSxILFJdfSxVLEgsUl0sUD0oKT0+W1UsImF1dG8iLEgsUl0sVD0oKT0+WyJhdXRvIiwibWluIiwibWF4IiwiZnIiLEgsUl0sZXI9KCk9Plsic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJiZXR3ZWVuIiwiYXJvdW5kIiwiZXZlbmx5Iiwic3RyZXRjaCIsImJhc2VsaW5lIiwiY2VudGVyLXNhZmUiLCJlbmQtc2FmZSJdLGVvPSgpPT5bInN0YXJ0IiwiZW5kIiwiY2VudGVyIiwic3RyZXRjaCIsImNlbnRlci1zYWZlIiwiZW5kLXNhZmUiXSxldD0oKT0+WyJhdXRvIiwuLi5DKCldLGVsPSgpPT5bTiwiYXV0byIsImZ1bGwiLCJkdnciLCJkdmgiLCJsdnciLCJsdmgiLCJzdnciLCJzdmgiLCJtaW4iLCJtYXgiLCJmaXQiLC4uLkMoKV0sZW49KCk9PltOLCJzY3JlZW4iLCJmdWxsIiwiZHZ3IiwibHZ3Iiwic3Z3IiwibWluIiwibWF4IiwiZml0IiwuLi5DKCldLGVhPSgpPT5bTiwic2NyZWVuIiwiZnVsbCIsImxoIiwiZHZoIiwibHZoIiwic3ZoIiwibWluIiwibWF4IiwiZml0IiwuLi5DKCldLGVzPSgpPT5bZSxILFJdLGVpPSgpPT5bLi4ueSgpLFYsSyx7cG9zaXRpb246W0gsUl19XSxlYz0oKT0+WyJuby1yZXBlYXQiLHtyZXBlYXQ6WyIiLCJ4IiwieSIsInNwYWNlIiwicm91bmQiXX1dLGVkPSgpPT5bImF1dG8iLCJjb3ZlciIsImNvbnRhaW4iLFgsQSx7c2l6ZTpbSCxSXX1dLGVtPSgpPT5bJCxKLERdLGVwPSgpPT5bIiIsIm5vbmUiLCJmdWxsIixjLEgsUl0sZWI9KCk9PlsiIixJLEosRF0sZXU9KCk9Plsic29saWQiLCJkYXNoZWQiLCJkb3R0ZWQiLCJkb3VibGUiXSxlZj0oKT0+WyJub3JtYWwiLCJtdWx0aXBseSIsInNjcmVlbiIsIm92ZXJsYXkiLCJkYXJrZW4iLCJsaWdodGVuIiwiY29sb3ItZG9kZ2UiLCJjb2xvci1idXJuIiwiaGFyZC1saWdodCIsInNvZnQtbGlnaHQiLCJkaWZmZXJlbmNlIiwiZXhjbHVzaW9uIiwiaHVlIiwic2F0dXJhdGlvbiIsImNvbG9yIiwibHVtaW5vc2l0eSJdLGVnPSgpPT5bSSwkLFYsS10sZWg9KCk9PlsiIiwibm9uZSIsdSxILFJdLGVrPSgpPT5bIm5vbmUiLEksSCxSXSxldz0oKT0+WyJub25lIixJLEgsUl0sZXg9KCk9PltJLEgsUl0sZXk9KCk9PltOLCJmdWxsIiwuLi5DKCldO3JldHVybntjYWNoZVNpemU6NTAwLHRoZW1lOnthbmltYXRlOlsic3BpbiIsInBpbmciLCJwdWxzZSIsImJvdW5jZSJdLGFzcGVjdDpbInZpZGVvIl0sYmx1cjpbT10sYnJlYWtwb2ludDpbT10sY29sb3I6W1NdLGNvbnRhaW5lcjpbT10sImRyb3Atc2hhZG93IjpbT10sZWFzZTpbImluIiwib3V0IiwiaW4tb3V0Il0sZm9udDpbTV0sImZvbnQtd2VpZ2h0IjpbInRoaW4iLCJleHRyYWxpZ2h0IiwibGlnaHQiLCJub3JtYWwiLCJtZWRpdW0iLCJzZW1pYm9sZCIsImJvbGQiLCJleHRyYWJvbGQiLCJibGFjayJdLCJpbnNldC1zaGFkb3ciOltPXSxsZWFkaW5nOlsibm9uZSIsInRpZ2h0Iiwic251ZyIsIm5vcm1hbCIsInJlbGF4ZWQiLCJsb29zZSJdLHBlcnNwZWN0aXZlOlsiZHJhbWF0aWMiLCJuZWFyIiwibm9ybWFsIiwibWlkcmFuZ2UiLCJkaXN0YW50Iiwibm9uZSJdLHJhZGl1czpbT10sc2hhZG93OltPXSxzcGFjaW5nOlsicHgiLEldLHRleHQ6W09dLCJ0ZXh0LXNoYWRvdyI6W09dLHRyYWNraW5nOlsidGlnaHRlciIsInRpZ2h0Iiwibm9ybWFsIiwid2lkZSIsIndpZGVyIiwid2lkZXN0Il19LGNsYXNzR3JvdXBzOnthc3BlY3Q6W3thc3BlY3Q6WyJhdXRvIiwic3F1YXJlIixOLFIsSCxnXX1dLGNvbnRhaW5lcjpbImNvbnRhaW5lciJdLGNvbHVtbnM6W3tjb2x1bW5zOltJLFIsSCxzXX1dLCJicmVhay1hZnRlciI6W3siYnJlYWstYWZ0ZXIiOngoKX1dLCJicmVhay1iZWZvcmUiOlt7ImJyZWFrLWJlZm9yZSI6eCgpfV0sImJyZWFrLWluc2lkZSI6W3siYnJlYWstaW5zaWRlIjpbImF1dG8iLCJhdm9pZCIsImF2b2lkLXBhZ2UiLCJhdm9pZC1jb2x1bW4iXX1dLCJib3gtZGVjb3JhdGlvbiI6W3siYm94LWRlY29yYXRpb24iOlsic2xpY2UiLCJjbG9uZSJdfV0sYm94Olt7Ym94OlsiYm9yZGVyIiwiY29udGVudCJdfV0sZGlzcGxheTpbImJsb2NrIiwiaW5saW5lLWJsb2NrIiwiaW5saW5lIiwiZmxleCIsImlubGluZS1mbGV4IiwidGFibGUiLCJpbmxpbmUtdGFibGUiLCJ0YWJsZS1jYXB0aW9uIiwidGFibGUtY2VsbCIsInRhYmxlLWNvbHVtbiIsInRhYmxlLWNvbHVtbi1ncm91cCIsInRhYmxlLWZvb3Rlci1ncm91cCIsInRhYmxlLWhlYWRlci1ncm91cCIsInRhYmxlLXJvdy1ncm91cCIsInRhYmxlLXJvdyIsImZsb3ctcm9vdCIsImdyaWQiLCJpbmxpbmUtZ3JpZCIsImNvbnRlbnRzIiwibGlzdC1pdGVtIiwiaGlkZGVuIl0sc3I6WyJzci1vbmx5Iiwibm90LXNyLW9ubHkiXSxmbG9hdDpbe2Zsb2F0OlsicmlnaHQiLCJsZWZ0Iiwibm9uZSIsInN0YXJ0IiwiZW5kIl19XSxjbGVhcjpbe2NsZWFyOlsibGVmdCIsInJpZ2h0IiwiYm90aCIsIm5vbmUiLCJzdGFydCIsImVuZCJdfV0saXNvbGF0aW9uOlsiaXNvbGF0ZSIsImlzb2xhdGlvbi1hdXRvIl0sIm9iamVjdC1maXQiOlt7b2JqZWN0OlsiY29udGFpbiIsImNvdmVyIiwiZmlsbCIsIm5vbmUiLCJzY2FsZS1kb3duIl19XSwib2JqZWN0LXBvc2l0aW9uIjpbe29iamVjdDp2KCl9XSxvdmVyZmxvdzpbe292ZXJmbG93OnooKX1dLCJvdmVyZmxvdy14IjpbeyJvdmVyZmxvdy14Ijp6KCl9XSwib3ZlcmZsb3cteSI6W3sib3ZlcmZsb3cteSI6eigpfV0sb3ZlcnNjcm9sbDpbe292ZXJzY3JvbGw6aigpfV0sIm92ZXJzY3JvbGwteCI6W3sib3ZlcnNjcm9sbC14IjpqKCl9XSwib3ZlcnNjcm9sbC15IjpbeyJvdmVyc2Nyb2xsLXkiOmooKX1dLHBvc2l0aW9uOlsic3RhdGljIiwiZml4ZWQiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwic3RpY2t5Il0saW5zZXQ6W3tpbnNldDpHKCl9XSwiaW5zZXQteCI6W3siaW5zZXQteCI6RygpfV0sImluc2V0LXkiOlt7Imluc2V0LXkiOkcoKX1dLHN0YXJ0Olt7Imluc2V0LXMiOkcoKSxzdGFydDpHKCl9XSxlbmQ6W3siaW5zZXQtZSI6RygpLGVuZDpHKCl9XSwiaW5zZXQtYnMiOlt7Imluc2V0LWJzIjpHKCl9XSwiaW5zZXQtYmUiOlt7Imluc2V0LWJlIjpHKCl9XSx0b3A6W3t0b3A6RygpfV0scmlnaHQ6W3tyaWdodDpHKCl9XSxib3R0b206W3tib3R0b206RygpfV0sbGVmdDpbe2xlZnQ6RygpfV0sdmlzaWJpbGl0eTpbInZpc2libGUiLCJpbnZpc2libGUiLCJjb2xsYXBzZSJdLHo6W3t6OltVLCJhdXRvIixILFJdfV0sYmFzaXM6W3tiYXNpczpbTiwiZnVsbCIsImF1dG8iLHMsLi4uQygpXX1dLCJmbGV4LWRpcmVjdGlvbiI6W3tmbGV4Olsicm93Iiwicm93LXJldmVyc2UiLCJjb2wiLCJjb2wtcmV2ZXJzZSJdfV0sImZsZXgtd3JhcCI6W3tmbGV4Olsibm93cmFwIiwid3JhcCIsIndyYXAtcmV2ZXJzZSJdfV0sZmxleDpbe2ZsZXg6W0ksTiwiYXV0byIsImluaXRpYWwiLCJub25lIixSXX1dLGdyb3c6W3tncm93OlsiIixJLEgsUl19XSxzaHJpbms6W3tzaHJpbms6WyIiLEksSCxSXX1dLG9yZGVyOlt7b3JkZXI6W1UsImZpcnN0IiwibGFzdCIsIm5vbmUiLEgsUl19XSwiZ3JpZC1jb2xzIjpbeyJncmlkLWNvbHMiOlcoKX1dLCJjb2wtc3RhcnQtZW5kIjpbe2NvbDpGKCl9XSwiY29sLXN0YXJ0IjpbeyJjb2wtc3RhcnQiOlAoKX1dLCJjb2wtZW5kIjpbeyJjb2wtZW5kIjpQKCl9XSwiZ3JpZC1yb3dzIjpbeyJncmlkLXJvd3MiOlcoKX1dLCJyb3ctc3RhcnQtZW5kIjpbe3JvdzpGKCl9XSwicm93LXN0YXJ0IjpbeyJyb3ctc3RhcnQiOlAoKX1dLCJyb3ctZW5kIjpbeyJyb3ctZW5kIjpQKCl9XSwiZ3JpZC1mbG93IjpbeyJncmlkLWZsb3ciOlsicm93IiwiY29sIiwiZGVuc2UiLCJyb3ctZGVuc2UiLCJjb2wtZGVuc2UiXX1dLCJhdXRvLWNvbHMiOlt7ImF1dG8tY29scyI6VCgpfV0sImF1dG8tcm93cyI6W3siYXV0by1yb3dzIjpUKCl9XSxnYXA6W3tnYXA6QygpfV0sImdhcC14IjpbeyJnYXAteCI6QygpfV0sImdhcC15IjpbeyJnYXAteSI6QygpfV0sImp1c3RpZnktY29udGVudCI6W3tqdXN0aWZ5OlsuLi5lcigpLCJub3JtYWwiXX1dLCJqdXN0aWZ5LWl0ZW1zIjpbeyJqdXN0aWZ5LWl0ZW1zIjpbLi4uZW8oKSwibm9ybWFsIl19XSwianVzdGlmeS1zZWxmIjpbeyJqdXN0aWZ5LXNlbGYiOlsiYXV0byIsLi4uZW8oKV19XSwiYWxpZ24tY29udGVudCI6W3tjb250ZW50Olsibm9ybWFsIiwuLi5lcigpXX1dLCJhbGlnbi1pdGVtcyI6W3tpdGVtczpbLi4uZW8oKSx7YmFzZWxpbmU6WyIiLCJsYXN0Il19XX1dLCJhbGlnbi1zZWxmIjpbe3NlbGY6WyJhdXRvIiwuLi5lbygpLHtiYXNlbGluZTpbIiIsImxhc3QiXX1dfV0sInBsYWNlLWNvbnRlbnQiOlt7InBsYWNlLWNvbnRlbnQiOmVyKCl9XSwicGxhY2UtaXRlbXMiOlt7InBsYWNlLWl0ZW1zIjpbLi4uZW8oKSwiYmFzZWxpbmUiXX1dLCJwbGFjZS1zZWxmIjpbeyJwbGFjZS1zZWxmIjpbImF1dG8iLC4uLmVvKCldfV0scDpbe3A6QygpfV0scHg6W3tweDpDKCl9XSxweTpbe3B5OkMoKX1dLHBzOlt7cHM6QygpfV0scGU6W3twZTpDKCl9XSxwYnM6W3twYnM6QygpfV0scGJlOlt7cGJlOkMoKX1dLHB0Olt7cHQ6QygpfV0scHI6W3twcjpDKCl9XSxwYjpbe3BiOkMoKX1dLHBsOlt7cGw6QygpfV0sbTpbe206ZXQoKX1dLG14Olt7bXg6ZXQoKX1dLG15Olt7bXk6ZXQoKX1dLG1zOlt7bXM6ZXQoKX1dLG1lOlt7bWU6ZXQoKX1dLG1iczpbe21iczpldCgpfV0sbWJlOlt7bWJlOmV0KCl9XSxtdDpbe210OmV0KCl9XSxtcjpbe21yOmV0KCl9XSxtYjpbe21iOmV0KCl9XSxtbDpbe21sOmV0KCl9XSwic3BhY2UteCI6W3sic3BhY2UteCI6QygpfV0sInNwYWNlLXgtcmV2ZXJzZSI6WyJzcGFjZS14LXJldmVyc2UiXSwic3BhY2UteSI6W3sic3BhY2UteSI6QygpfV0sInNwYWNlLXktcmV2ZXJzZSI6WyJzcGFjZS15LXJldmVyc2UiXSxzaXplOlt7c2l6ZTplbCgpfV0sImlubGluZS1zaXplIjpbe2lubGluZTpbImF1dG8iLC4uLmVuKCldfV0sIm1pbi1pbmxpbmUtc2l6ZSI6W3sibWluLWlubGluZSI6WyJhdXRvIiwuLi5lbigpXX1dLCJtYXgtaW5saW5lLXNpemUiOlt7Im1heC1pbmxpbmUiOlsibm9uZSIsLi4uZW4oKV19XSwiYmxvY2stc2l6ZSI6W3tibG9jazpbImF1dG8iLC4uLmVhKCldfV0sIm1pbi1ibG9jay1zaXplIjpbeyJtaW4tYmxvY2siOlsiYXV0byIsLi4uZWEoKV19XSwibWF4LWJsb2NrLXNpemUiOlt7Im1heC1ibG9jayI6WyJub25lIiwuLi5lYSgpXX1dLHc6W3t3OltzLCJzY3JlZW4iLC4uLmVsKCldfV0sIm1pbi13IjpbeyJtaW4tdyI6W3MsInNjcmVlbiIsIm5vbmUiLC4uLmVsKCldfV0sIm1heC13IjpbeyJtYXgtdyI6W3MsInNjcmVlbiIsIm5vbmUiLCJwcm9zZSIse3NjcmVlbjpbYV19LC4uLmVsKCldfV0saDpbe2g6WyJzY3JlZW4iLCJsaCIsLi4uZWwoKV19XSwibWluLWgiOlt7Im1pbi1oIjpbInNjcmVlbiIsImxoIiwibm9uZSIsLi4uZWwoKV19XSwibWF4LWgiOlt7Im1heC1oIjpbInNjcmVlbiIsImxoIiwuLi5lbCgpXX1dLCJmb250LXNpemUiOlt7dGV4dDpbImJhc2UiLG8sSixEXX1dLCJmb250LXNtb290aGluZyI6WyJhbnRpYWxpYXNlZCIsInN1YnBpeGVsLWFudGlhbGlhc2VkIl0sImZvbnQtc3R5bGUiOlsiaXRhbGljIiwibm90LWl0YWxpYyJdLCJmb250LXdlaWdodCI6W3tmb250Olt0LGVlLEJdfV0sImZvbnQtc3RyZXRjaCI6W3siZm9udC1zdHJldGNoIjpbInVsdHJhLWNvbmRlbnNlZCIsImV4dHJhLWNvbmRlbnNlZCIsImNvbmRlbnNlZCIsInNlbWktY29uZGVuc2VkIiwibm9ybWFsIiwic2VtaS1leHBhbmRlZCIsImV4cGFuZGVkIiwiZXh0cmEtZXhwYW5kZWQiLCJ1bHRyYS1leHBhbmRlZCIsJCxSXX1dLCJmb250LWZhbWlseSI6W3tmb250OltRLEUscl19XSwiZm9udC1mZWF0dXJlcyI6W3siZm9udC1mZWF0dXJlcyI6W1JdfV0sImZ2bi1ub3JtYWwiOlsibm9ybWFsLW51bXMiXSwiZnZuLW9yZGluYWwiOlsib3JkaW5hbCJdLCJmdm4tc2xhc2hlZC16ZXJvIjpbInNsYXNoZWQtemVybyJdLCJmdm4tZmlndXJlIjpbImxpbmluZy1udW1zIiwib2xkc3R5bGUtbnVtcyJdLCJmdm4tc3BhY2luZyI6WyJwcm9wb3J0aW9uYWwtbnVtcyIsInRhYnVsYXItbnVtcyJdLCJmdm4tZnJhY3Rpb24iOlsiZGlhZ29uYWwtZnJhY3Rpb25zIiwic3RhY2tlZC1mcmFjdGlvbnMiXSx0cmFja2luZzpbe3RyYWNraW5nOltsLEgsUl19XSwibGluZS1jbGFtcCI6W3sibGluZS1jbGFtcCI6W0ksIm5vbmUiLEgscV19XSxsZWFkaW5nOlt7bGVhZGluZzpbbiwuLi5DKCldfV0sImxpc3QtaW1hZ2UiOlt7Imxpc3QtaW1hZ2UiOlsibm9uZSIsSCxSXX1dLCJsaXN0LXN0eWxlLXBvc2l0aW9uIjpbe2xpc3Q6WyJpbnNpZGUiLCJvdXRzaWRlIl19XSwibGlzdC1zdHlsZS10eXBlIjpbe2xpc3Q6WyJkaXNjIiwiZGVjaW1hbCIsIm5vbmUiLEgsUl19XSwidGV4dC1hbGlnbm1lbnQiOlt7dGV4dDpbImxlZnQiLCJjZW50ZXIiLCJyaWdodCIsImp1c3RpZnkiLCJzdGFydCIsImVuZCJdfV0sInBsYWNlaG9sZGVyLWNvbG9yIjpbe3BsYWNlaG9sZGVyOmVzKCl9XSwidGV4dC1jb2xvciI6W3t0ZXh0OmVzKCl9XSwidGV4dC1kZWNvcmF0aW9uIjpbInVuZGVybGluZSIsIm92ZXJsaW5lIiwibGluZS10aHJvdWdoIiwibm8tdW5kZXJsaW5lIl0sInRleHQtZGVjb3JhdGlvbi1zdHlsZSI6W3tkZWNvcmF0aW9uOlsuLi5ldSgpLCJ3YXZ5Il19XSwidGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyI6W3tkZWNvcmF0aW9uOltJLCJmcm9tLWZvbnQiLCJhdXRvIixILERdfV0sInRleHQtZGVjb3JhdGlvbi1jb2xvciI6W3tkZWNvcmF0aW9uOmVzKCl9XSwidW5kZXJsaW5lLW9mZnNldCI6W3sidW5kZXJsaW5lLW9mZnNldCI6W0ksImF1dG8iLEgsUl19XSwidGV4dC10cmFuc2Zvcm0iOlsidXBwZXJjYXNlIiwibG93ZXJjYXNlIiwiY2FwaXRhbGl6ZSIsIm5vcm1hbC1jYXNlIl0sInRleHQtb3ZlcmZsb3ciOlsidHJ1bmNhdGUiLCJ0ZXh0LWVsbGlwc2lzIiwidGV4dC1jbGlwIl0sInRleHQtd3JhcCI6W3t0ZXh0Olsid3JhcCIsIm5vd3JhcCIsImJhbGFuY2UiLCJwcmV0dHkiXX1dLGluZGVudDpbe2luZGVudDpDKCl9XSwidmVydGljYWwtYWxpZ24iOlt7YWxpZ246WyJiYXNlbGluZSIsInRvcCIsIm1pZGRsZSIsImJvdHRvbSIsInRleHQtdG9wIiwidGV4dC1ib3R0b20iLCJzdWIiLCJzdXBlciIsSCxSXX1dLHdoaXRlc3BhY2U6W3t3aGl0ZXNwYWNlOlsibm9ybWFsIiwibm93cmFwIiwicHJlIiwicHJlLWxpbmUiLCJwcmUtd3JhcCIsImJyZWFrLXNwYWNlcyJdfV0sYnJlYWs6W3ticmVhazpbIm5vcm1hbCIsIndvcmRzIiwiYWxsIiwia2VlcCJdfV0sd3JhcDpbe3dyYXA6WyJicmVhay13b3JkIiwiYW55d2hlcmUiLCJub3JtYWwiXX1dLGh5cGhlbnM6W3toeXBoZW5zOlsibm9uZSIsIm1hbnVhbCIsImF1dG8iXX1dLGNvbnRlbnQ6W3tjb250ZW50Olsibm9uZSIsSCxSXX1dLCJiZy1hdHRhY2htZW50Ijpbe2JnOlsiZml4ZWQiLCJsb2NhbCIsInNjcm9sbCJdfV0sImJnLWNsaXAiOlt7ImJnLWNsaXAiOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiLCJ0ZXh0Il19XSwiYmctb3JpZ2luIjpbeyJiZy1vcmlnaW4iOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiXX1dLCJiZy1wb3NpdGlvbiI6W3tiZzplaSgpfV0sImJnLXJlcGVhdCI6W3tiZzplYygpfV0sImJnLXNpemUiOlt7Ymc6ZWQoKX1dLCJiZy1pbWFnZSI6W3tiZzpbIm5vbmUiLHtsaW5lYXI6W3t0bzpbInQiLCJ0ciIsInIiLCJiciIsImIiLCJibCIsImwiLCJ0bCJdfSxVLEgsUl0scmFkaWFsOlsiIixILFJdLGNvbmljOltVLEgsUl19LFksX119XSwiYmctY29sb3IiOlt7Ymc6ZXMoKX1dLCJncmFkaWVudC1mcm9tLXBvcyI6W3tmcm9tOmVtKCl9XSwiZ3JhZGllbnQtdmlhLXBvcyI6W3t2aWE6ZW0oKX1dLCJncmFkaWVudC10by1wb3MiOlt7dG86ZW0oKX1dLCJncmFkaWVudC1mcm9tIjpbe2Zyb206ZXMoKX1dLCJncmFkaWVudC12aWEiOlt7dmlhOmVzKCl9XSwiZ3JhZGllbnQtdG8iOlt7dG86ZXMoKX1dLHJvdW5kZWQ6W3tyb3VuZGVkOmVwKCl9XSwicm91bmRlZC1zIjpbeyJyb3VuZGVkLXMiOmVwKCl9XSwicm91bmRlZC1lIjpbeyJyb3VuZGVkLWUiOmVwKCl9XSwicm91bmRlZC10IjpbeyJyb3VuZGVkLXQiOmVwKCl9XSwicm91bmRlZC1yIjpbeyJyb3VuZGVkLXIiOmVwKCl9XSwicm91bmRlZC1iIjpbeyJyb3VuZGVkLWIiOmVwKCl9XSwicm91bmRlZC1sIjpbeyJyb3VuZGVkLWwiOmVwKCl9XSwicm91bmRlZC1zcyI6W3sicm91bmRlZC1zcyI6ZXAoKX1dLCJyb3VuZGVkLXNlIjpbeyJyb3VuZGVkLXNlIjplcCgpfV0sInJvdW5kZWQtZWUiOlt7InJvdW5kZWQtZWUiOmVwKCl9XSwicm91bmRlZC1lcyI6W3sicm91bmRlZC1lcyI6ZXAoKX1dLCJyb3VuZGVkLXRsIjpbeyJyb3VuZGVkLXRsIjplcCgpfV0sInJvdW5kZWQtdHIiOlt7InJvdW5kZWQtdHIiOmVwKCl9XSwicm91bmRlZC1iciI6W3sicm91bmRlZC1iciI6ZXAoKX1dLCJyb3VuZGVkLWJsIjpbeyJyb3VuZGVkLWJsIjplcCgpfV0sImJvcmRlci13Ijpbe2JvcmRlcjplYigpfV0sImJvcmRlci13LXgiOlt7ImJvcmRlci14IjplYigpfV0sImJvcmRlci13LXkiOlt7ImJvcmRlci15IjplYigpfV0sImJvcmRlci13LXMiOlt7ImJvcmRlci1zIjplYigpfV0sImJvcmRlci13LWUiOlt7ImJvcmRlci1lIjplYigpfV0sImJvcmRlci13LWJzIjpbeyJib3JkZXItYnMiOmViKCl9XSwiYm9yZGVyLXctYmUiOlt7ImJvcmRlci1iZSI6ZWIoKX1dLCJib3JkZXItdy10IjpbeyJib3JkZXItdCI6ZWIoKX1dLCJib3JkZXItdy1yIjpbeyJib3JkZXItciI6ZWIoKX1dLCJib3JkZXItdy1iIjpbeyJib3JkZXItYiI6ZWIoKX1dLCJib3JkZXItdy1sIjpbeyJib3JkZXItbCI6ZWIoKX1dLCJkaXZpZGUteCI6W3siZGl2aWRlLXgiOmViKCl9XSwiZGl2aWRlLXgtcmV2ZXJzZSI6WyJkaXZpZGUteC1yZXZlcnNlIl0sImRpdmlkZS15IjpbeyJkaXZpZGUteSI6ZWIoKX1dLCJkaXZpZGUteS1yZXZlcnNlIjpbImRpdmlkZS15LXJldmVyc2UiXSwiYm9yZGVyLXN0eWxlIjpbe2JvcmRlcjpbLi4uZXUoKSwiaGlkZGVuIiwibm9uZSJdfV0sImRpdmlkZS1zdHlsZSI6W3tkaXZpZGU6Wy4uLmV1KCksImhpZGRlbiIsIm5vbmUiXX1dLCJib3JkZXItY29sb3IiOlt7Ym9yZGVyOmVzKCl9XSwiYm9yZGVyLWNvbG9yLXgiOlt7ImJvcmRlci14IjplcygpfV0sImJvcmRlci1jb2xvci15IjpbeyJib3JkZXIteSI6ZXMoKX1dLCJib3JkZXItY29sb3ItcyI6W3siYm9yZGVyLXMiOmVzKCl9XSwiYm9yZGVyLWNvbG9yLWUiOlt7ImJvcmRlci1lIjplcygpfV0sImJvcmRlci1jb2xvci1icyI6W3siYm9yZGVyLWJzIjplcygpfV0sImJvcmRlci1jb2xvci1iZSI6W3siYm9yZGVyLWJlIjplcygpfV0sImJvcmRlci1jb2xvci10IjpbeyJib3JkZXItdCI6ZXMoKX1dLCJib3JkZXItY29sb3ItciI6W3siYm9yZGVyLXIiOmVzKCl9XSwiYm9yZGVyLWNvbG9yLWIiOlt7ImJvcmRlci1iIjplcygpfV0sImJvcmRlci1jb2xvci1sIjpbeyJib3JkZXItbCI6ZXMoKX1dLCJkaXZpZGUtY29sb3IiOlt7ZGl2aWRlOmVzKCl9XSwib3V0bGluZS1zdHlsZSI6W3tvdXRsaW5lOlsuLi5ldSgpLCJub25lIiwiaGlkZGVuIl19XSwib3V0bGluZS1vZmZzZXQiOlt7Im91dGxpbmUtb2Zmc2V0IjpbSSxILFJdfV0sIm91dGxpbmUtdyI6W3tvdXRsaW5lOlsiIixJLEosRF19XSwib3V0bGluZS1jb2xvciI6W3tvdXRsaW5lOmVzKCl9XSxzaGFkb3c6W3tzaGFkb3c6WyIiLCJub25lIixkLFosTF19XSwic2hhZG93LWNvbG9yIjpbe3NoYWRvdzplcygpfV0sImluc2V0LXNoYWRvdyI6W3siaW5zZXQtc2hhZG93IjpbIm5vbmUiLG0sWixMXX1dLCJpbnNldC1zaGFkb3ctY29sb3IiOlt7Imluc2V0LXNoYWRvdyI6ZXMoKX1dLCJyaW5nLXciOlt7cmluZzplYigpfV0sInJpbmctdy1pbnNldCI6WyJyaW5nLWluc2V0Il0sInJpbmctY29sb3IiOlt7cmluZzplcygpfV0sInJpbmctb2Zmc2V0LXciOlt7InJpbmctb2Zmc2V0IjpbSSxEXX1dLCJyaW5nLW9mZnNldC1jb2xvciI6W3sicmluZy1vZmZzZXQiOmVzKCl9XSwiaW5zZXQtcmluZy13IjpbeyJpbnNldC1yaW5nIjplYigpfV0sImluc2V0LXJpbmctY29sb3IiOlt7Imluc2V0LXJpbmciOmVzKCl9XSwidGV4dC1zaGFkb3ciOlt7InRleHQtc2hhZG93IjpbIm5vbmUiLHAsWixMXX1dLCJ0ZXh0LXNoYWRvdy1jb2xvciI6W3sidGV4dC1zaGFkb3ciOmVzKCl9XSxvcGFjaXR5Olt7b3BhY2l0eTpbSSxILFJdfV0sIm1peC1ibGVuZCI6W3sibWl4LWJsZW5kIjpbLi4uZWYoKSwicGx1cy1kYXJrZXIiLCJwbHVzLWxpZ2h0ZXIiXX1dLCJiZy1ibGVuZCI6W3siYmctYmxlbmQiOmVmKCl9XSwibWFzay1jbGlwIjpbeyJtYXNrLWNsaXAiOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiLCJmaWxsIiwic3Ryb2tlIiwidmlldyJdfSwibWFzay1uby1jbGlwIl0sIm1hc2stY29tcG9zaXRlIjpbe21hc2s6WyJhZGQiLCJzdWJ0cmFjdCIsImludGVyc2VjdCIsImV4Y2x1ZGUiXX1dLCJtYXNrLWltYWdlLWxpbmVhci1wb3MiOlt7Im1hc2stbGluZWFyIjpbSV19XSwibWFzay1pbWFnZS1saW5lYXItZnJvbS1wb3MiOlt7Im1hc2stbGluZWFyLWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS1saW5lYXItdG8tcG9zIjpbeyJtYXNrLWxpbmVhci10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWxpbmVhci1mcm9tLWNvbG9yIjpbeyJtYXNrLWxpbmVhci1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UtbGluZWFyLXRvLWNvbG9yIjpbeyJtYXNrLWxpbmVhci10byI6ZXMoKX1dLCJtYXNrLWltYWdlLXQtZnJvbS1wb3MiOlt7Im1hc2stdC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtdC10by1wb3MiOlt7Im1hc2stdC10byI6ZWcoKX1dLCJtYXNrLWltYWdlLXQtZnJvbS1jb2xvciI6W3sibWFzay10LWZyb20iOmVzKCl9XSwibWFzay1pbWFnZS10LXRvLWNvbG9yIjpbeyJtYXNrLXQtdG8iOmVzKCl9XSwibWFzay1pbWFnZS1yLWZyb20tcG9zIjpbeyJtYXNrLXItZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXItdG8tcG9zIjpbeyJtYXNrLXItdG8iOmVnKCl9XSwibWFzay1pbWFnZS1yLWZyb20tY29sb3IiOlt7Im1hc2stci1mcm9tIjplcygpfV0sIm1hc2staW1hZ2Utci10by1jb2xvciI6W3sibWFzay1yLXRvIjplcygpfV0sIm1hc2staW1hZ2UtYi1mcm9tLXBvcyI6W3sibWFzay1iLWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS1iLXRvLXBvcyI6W3sibWFzay1iLXRvIjplZygpfV0sIm1hc2staW1hZ2UtYi1mcm9tLWNvbG9yIjpbeyJtYXNrLWItZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLWItdG8tY29sb3IiOlt7Im1hc2stYi10byI6ZXMoKX1dLCJtYXNrLWltYWdlLWwtZnJvbS1wb3MiOlt7Im1hc2stbC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtbC10by1wb3MiOlt7Im1hc2stbC10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWwtZnJvbS1jb2xvciI6W3sibWFzay1sLWZyb20iOmVzKCl9XSwibWFzay1pbWFnZS1sLXRvLWNvbG9yIjpbeyJtYXNrLWwtdG8iOmVzKCl9XSwibWFzay1pbWFnZS14LWZyb20tcG9zIjpbeyJtYXNrLXgtZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXgtdG8tcG9zIjpbeyJtYXNrLXgtdG8iOmVnKCl9XSwibWFzay1pbWFnZS14LWZyb20tY29sb3IiOlt7Im1hc2steC1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UteC10by1jb2xvciI6W3sibWFzay14LXRvIjplcygpfV0sIm1hc2staW1hZ2UteS1mcm9tLXBvcyI6W3sibWFzay15LWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS15LXRvLXBvcyI6W3sibWFzay15LXRvIjplZygpfV0sIm1hc2staW1hZ2UteS1mcm9tLWNvbG9yIjpbeyJtYXNrLXktZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLXktdG8tY29sb3IiOlt7Im1hc2steS10byI6ZXMoKX1dLCJtYXNrLWltYWdlLXJhZGlhbCI6W3sibWFzay1yYWRpYWwiOltILFJdfV0sIm1hc2staW1hZ2UtcmFkaWFsLWZyb20tcG9zIjpbeyJtYXNrLXJhZGlhbC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtcmFkaWFsLXRvLXBvcyI6W3sibWFzay1yYWRpYWwtdG8iOmVnKCl9XSwibWFzay1pbWFnZS1yYWRpYWwtZnJvbS1jb2xvciI6W3sibWFzay1yYWRpYWwtZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLXJhZGlhbC10by1jb2xvciI6W3sibWFzay1yYWRpYWwtdG8iOmVzKCl9XSwibWFzay1pbWFnZS1yYWRpYWwtc2hhcGUiOlt7Im1hc2stcmFkaWFsIjpbImNpcmNsZSIsImVsbGlwc2UiXX1dLCJtYXNrLWltYWdlLXJhZGlhbC1zaXplIjpbeyJtYXNrLXJhZGlhbCI6W3tjbG9zZXN0Olsic2lkZSIsImNvcm5lciJdLGZhcnRoZXN0Olsic2lkZSIsImNvcm5lciJdfV19XSwibWFzay1pbWFnZS1yYWRpYWwtcG9zIjpbeyJtYXNrLXJhZGlhbC1hdCI6eSgpfV0sIm1hc2staW1hZ2UtY29uaWMtcG9zIjpbeyJtYXNrLWNvbmljIjpbSV19XSwibWFzay1pbWFnZS1jb25pYy1mcm9tLXBvcyI6W3sibWFzay1jb25pYy1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtY29uaWMtdG8tcG9zIjpbeyJtYXNrLWNvbmljLXRvIjplZygpfV0sIm1hc2staW1hZ2UtY29uaWMtZnJvbS1jb2xvciI6W3sibWFzay1jb25pYy1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UtY29uaWMtdG8tY29sb3IiOlt7Im1hc2stY29uaWMtdG8iOmVzKCl9XSwibWFzay1tb2RlIjpbe21hc2s6WyJhbHBoYSIsImx1bWluYW5jZSIsIm1hdGNoIl19XSwibWFzay1vcmlnaW4iOlt7Im1hc2stb3JpZ2luIjpbImJvcmRlciIsInBhZGRpbmciLCJjb250ZW50IiwiZmlsbCIsInN0cm9rZSIsInZpZXciXX1dLCJtYXNrLXBvc2l0aW9uIjpbe21hc2s6ZWkoKX1dLCJtYXNrLXJlcGVhdCI6W3ttYXNrOmVjKCl9XSwibWFzay1zaXplIjpbe21hc2s6ZWQoKX1dLCJtYXNrLXR5cGUiOlt7Im1hc2stdHlwZSI6WyJhbHBoYSIsImx1bWluYW5jZSJdfV0sIm1hc2staW1hZ2UiOlt7bWFzazpbIm5vbmUiLEgsUl19XSxmaWx0ZXI6W3tmaWx0ZXI6WyIiLCJub25lIixILFJdfV0sYmx1cjpbe2JsdXI6ZWgoKX1dLGJyaWdodG5lc3M6W3ticmlnaHRuZXNzOltJLEgsUl19XSxjb250cmFzdDpbe2NvbnRyYXN0OltJLEgsUl19XSwiZHJvcC1zaGFkb3ciOlt7ImRyb3Atc2hhZG93IjpbIiIsIm5vbmUiLGIsWixMXX1dLCJkcm9wLXNoYWRvdy1jb2xvciI6W3siZHJvcC1zaGFkb3ciOmVzKCl9XSxncmF5c2NhbGU6W3tncmF5c2NhbGU6WyIiLEksSCxSXX1dLCJodWUtcm90YXRlIjpbeyJodWUtcm90YXRlIjpbSSxILFJdfV0saW52ZXJ0Olt7aW52ZXJ0OlsiIixJLEgsUl19XSxzYXR1cmF0ZTpbe3NhdHVyYXRlOltJLEgsUl19XSxzZXBpYTpbe3NlcGlhOlsiIixJLEgsUl19XSwiYmFja2Ryb3AtZmlsdGVyIjpbeyJiYWNrZHJvcC1maWx0ZXIiOlsiIiwibm9uZSIsSCxSXX1dLCJiYWNrZHJvcC1ibHVyIjpbeyJiYWNrZHJvcC1ibHVyIjplaCgpfV0sImJhY2tkcm9wLWJyaWdodG5lc3MiOlt7ImJhY2tkcm9wLWJyaWdodG5lc3MiOltJLEgsUl19XSwiYmFja2Ryb3AtY29udHJhc3QiOlt7ImJhY2tkcm9wLWNvbnRyYXN0IjpbSSxILFJdfV0sImJhY2tkcm9wLWdyYXlzY2FsZSI6W3siYmFja2Ryb3AtZ3JheXNjYWxlIjpbIiIsSSxILFJdfV0sImJhY2tkcm9wLWh1ZS1yb3RhdGUiOlt7ImJhY2tkcm9wLWh1ZS1yb3RhdGUiOltJLEgsUl19XSwiYmFja2Ryb3AtaW52ZXJ0IjpbeyJiYWNrZHJvcC1pbnZlcnQiOlsiIixJLEgsUl19XSwiYmFja2Ryb3Atb3BhY2l0eSI6W3siYmFja2Ryb3Atb3BhY2l0eSI6W0ksSCxSXX1dLCJiYWNrZHJvcC1zYXR1cmF0ZSI6W3siYmFja2Ryb3Atc2F0dXJhdGUiOltJLEgsUl19XSwiYmFja2Ryb3Atc2VwaWEiOlt7ImJhY2tkcm9wLXNlcGlhIjpbIiIsSSxILFJdfV0sImJvcmRlci1jb2xsYXBzZSI6W3tib3JkZXI6WyJjb2xsYXBzZSIsInNlcGFyYXRlIl19XSwiYm9yZGVyLXNwYWNpbmciOlt7ImJvcmRlci1zcGFjaW5nIjpDKCl9XSwiYm9yZGVyLXNwYWNpbmcteCI6W3siYm9yZGVyLXNwYWNpbmcteCI6QygpfV0sImJvcmRlci1zcGFjaW5nLXkiOlt7ImJvcmRlci1zcGFjaW5nLXkiOkMoKX1dLCJ0YWJsZS1sYXlvdXQiOlt7dGFibGU6WyJhdXRvIiwiZml4ZWQiXX1dLGNhcHRpb246W3tjYXB0aW9uOlsidG9wIiwiYm90dG9tIl19XSx0cmFuc2l0aW9uOlt7dHJhbnNpdGlvbjpbIiIsImFsbCIsImNvbG9ycyIsIm9wYWNpdHkiLCJzaGFkb3ciLCJ0cmFuc2Zvcm0iLCJub25lIixILFJdfV0sInRyYW5zaXRpb24tYmVoYXZpb3IiOlt7dHJhbnNpdGlvbjpbIm5vcm1hbCIsImRpc2NyZXRlIl19XSxkdXJhdGlvbjpbe2R1cmF0aW9uOltJLCJpbml0aWFsIixILFJdfV0sZWFzZTpbe2Vhc2U6WyJsaW5lYXIiLCJpbml0aWFsIixoLEgsUl19XSxkZWxheTpbe2RlbGF5OltJLEgsUl19XSxhbmltYXRlOlt7YW5pbWF0ZTpbIm5vbmUiLHcsSCxSXX1dLGJhY2tmYWNlOlt7YmFja2ZhY2U6WyJoaWRkZW4iLCJ2aXNpYmxlIl19XSxwZXJzcGVjdGl2ZTpbe3BlcnNwZWN0aXZlOltmLEgsUl19XSwicGVyc3BlY3RpdmUtb3JpZ2luIjpbeyJwZXJzcGVjdGl2ZS1vcmlnaW4iOnYoKX1dLHJvdGF0ZTpbe3JvdGF0ZTplaygpfV0sInJvdGF0ZS14IjpbeyJyb3RhdGUteCI6ZWsoKX1dLCJyb3RhdGUteSI6W3sicm90YXRlLXkiOmVrKCl9XSwicm90YXRlLXoiOlt7InJvdGF0ZS16IjplaygpfV0sc2NhbGU6W3tzY2FsZTpldygpfV0sInNjYWxlLXgiOlt7InNjYWxlLXgiOmV3KCl9XSwic2NhbGUteSI6W3sic2NhbGUteSI6ZXcoKX1dLCJzY2FsZS16IjpbeyJzY2FsZS16IjpldygpfV0sInNjYWxlLTNkIjpbInNjYWxlLTNkIl0sc2tldzpbe3NrZXc6ZXgoKX1dLCJza2V3LXgiOlt7InNrZXcteCI6ZXgoKX1dLCJza2V3LXkiOlt7InNrZXcteSI6ZXgoKX1dLHRyYW5zZm9ybTpbe3RyYW5zZm9ybTpbSCxSLCIiLCJub25lIiwiZ3B1IiwiY3B1Il19XSwidHJhbnNmb3JtLW9yaWdpbiI6W3tvcmlnaW46digpfV0sInRyYW5zZm9ybS1zdHlsZSI6W3t0cmFuc2Zvcm06WyIzZCIsImZsYXQiXX1dLHRyYW5zbGF0ZTpbe3RyYW5zbGF0ZTpleSgpfV0sInRyYW5zbGF0ZS14IjpbeyJ0cmFuc2xhdGUteCI6ZXkoKX1dLCJ0cmFuc2xhdGUteSI6W3sidHJhbnNsYXRlLXkiOmV5KCl9XSwidHJhbnNsYXRlLXoiOlt7InRyYW5zbGF0ZS16IjpleSgpfV0sInRyYW5zbGF0ZS1ub25lIjpbInRyYW5zbGF0ZS1ub25lIl0sYWNjZW50Olt7YWNjZW50OmVzKCl9XSxhcHBlYXJhbmNlOlt7YXBwZWFyYW5jZTpbIm5vbmUiLCJhdXRvIl19XSwiY2FyZXQtY29sb3IiOlt7Y2FyZXQ6ZXMoKX1dLCJjb2xvci1zY2hlbWUiOlt7c2NoZW1lOlsibm9ybWFsIiwiZGFyayIsImxpZ2h0IiwibGlnaHQtZGFyayIsIm9ubHktZGFyayIsIm9ubHktbGlnaHQiXX1dLGN1cnNvcjpbe2N1cnNvcjpbImF1dG8iLCJkZWZhdWx0IiwicG9pbnRlciIsIndhaXQiLCJ0ZXh0IiwibW92ZSIsImhlbHAiLCJub3QtYWxsb3dlZCIsIm5vbmUiLCJjb250ZXh0LW1lbnUiLCJwcm9ncmVzcyIsImNlbGwiLCJjcm9zc2hhaXIiLCJ2ZXJ0aWNhbC10ZXh0IiwiYWxpYXMiLCJjb3B5Iiwibm8tZHJvcCIsImdyYWIiLCJncmFiYmluZyIsImFsbC1zY3JvbGwiLCJjb2wtcmVzaXplIiwicm93LXJlc2l6ZSIsIm4tcmVzaXplIiwiZS1yZXNpemUiLCJzLXJlc2l6ZSIsInctcmVzaXplIiwibmUtcmVzaXplIiwibnctcmVzaXplIiwic2UtcmVzaXplIiwic3ctcmVzaXplIiwiZXctcmVzaXplIiwibnMtcmVzaXplIiwibmVzdy1yZXNpemUiLCJud3NlLXJlc2l6ZSIsInpvb20taW4iLCJ6b29tLW91dCIsSCxSXX1dLCJmaWVsZC1zaXppbmciOlt7ImZpZWxkLXNpemluZyI6WyJmaXhlZCIsImNvbnRlbnQiXX1dLCJwb2ludGVyLWV2ZW50cyI6W3sicG9pbnRlci1ldmVudHMiOlsiYXV0byIsIm5vbmUiXX1dLHJlc2l6ZTpbe3Jlc2l6ZTpbIm5vbmUiLCIiLCJ5IiwieCJdfV0sInNjcm9sbC1iZWhhdmlvciI6W3tzY3JvbGw6WyJhdXRvIiwic21vb3RoIl19XSwic2Nyb2xsLW0iOlt7InNjcm9sbC1tIjpDKCl9XSwic2Nyb2xsLW14IjpbeyJzY3JvbGwtbXgiOkMoKX1dLCJzY3JvbGwtbXkiOlt7InNjcm9sbC1teSI6QygpfV0sInNjcm9sbC1tcyI6W3sic2Nyb2xsLW1zIjpDKCl9XSwic2Nyb2xsLW1lIjpbeyJzY3JvbGwtbWUiOkMoKX1dLCJzY3JvbGwtbWJzIjpbeyJzY3JvbGwtbWJzIjpDKCl9XSwic2Nyb2xsLW1iZSI6W3sic2Nyb2xsLW1iZSI6QygpfV0sInNjcm9sbC1tdCI6W3sic2Nyb2xsLW10IjpDKCl9XSwic2Nyb2xsLW1yIjpbeyJzY3JvbGwtbXIiOkMoKX1dLCJzY3JvbGwtbWIiOlt7InNjcm9sbC1tYiI6QygpfV0sInNjcm9sbC1tbCI6W3sic2Nyb2xsLW1sIjpDKCl9XSwic2Nyb2xsLXAiOlt7InNjcm9sbC1wIjpDKCl9XSwic2Nyb2xsLXB4IjpbeyJzY3JvbGwtcHgiOkMoKX1dLCJzY3JvbGwtcHkiOlt7InNjcm9sbC1weSI6QygpfV0sInNjcm9sbC1wcyI6W3sic2Nyb2xsLXBzIjpDKCl9XSwic2Nyb2xsLXBlIjpbeyJzY3JvbGwtcGUiOkMoKX1dLCJzY3JvbGwtcGJzIjpbeyJzY3JvbGwtcGJzIjpDKCl9XSwic2Nyb2xsLXBiZSI6W3sic2Nyb2xsLXBiZSI6QygpfV0sInNjcm9sbC1wdCI6W3sic2Nyb2xsLXB0IjpDKCl9XSwic2Nyb2xsLXByIjpbeyJzY3JvbGwtcHIiOkMoKX1dLCJzY3JvbGwtcGIiOlt7InNjcm9sbC1wYiI6QygpfV0sInNjcm9sbC1wbCI6W3sic2Nyb2xsLXBsIjpDKCl9XSwic25hcC1hbGlnbiI6W3tzbmFwOlsic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJhbGlnbi1ub25lIl19XSwic25hcC1zdG9wIjpbe3NuYXA6WyJub3JtYWwiLCJhbHdheXMiXX1dLCJzbmFwLXR5cGUiOlt7c25hcDpbIm5vbmUiLCJ4IiwieSIsImJvdGgiXX1dLCJzbmFwLXN0cmljdG5lc3MiOlt7c25hcDpbIm1hbmRhdG9yeSIsInByb3hpbWl0eSJdfV0sdG91Y2g6W3t0b3VjaDpbImF1dG8iLCJub25lIiwibWFuaXB1bGF0aW9uIl19XSwidG91Y2gteCI6W3sidG91Y2gtcGFuIjpbIngiLCJsZWZ0IiwicmlnaHQiXX1dLCJ0b3VjaC15IjpbeyJ0b3VjaC1wYW4iOlsieSIsInVwIiwiZG93biJdfV0sInRvdWNoLXB6IjpbInRvdWNoLXBpbmNoLXpvb20iXSxzZWxlY3Q6W3tzZWxlY3Q6WyJub25lIiwidGV4dCIsImFsbCIsImF1dG8iXX1dLCJ3aWxsLWNoYW5nZSI6W3sid2lsbC1jaGFuZ2UiOlsiYXV0byIsInNjcm9sbCIsImNvbnRlbnRzIiwidHJhbnNmb3JtIixILFJdfV0sZmlsbDpbe2ZpbGw6WyJub25lIiwuLi5lcygpXX1dLCJzdHJva2UtdyI6W3tzdHJva2U6W0ksSixELHFdfV0sc3Ryb2tlOlt7c3Ryb2tlOlsibm9uZSIsLi4uZXMoKV19XSwiZm9yY2VkLWNvbG9yLWFkanVzdCI6W3siZm9yY2VkLWNvbG9yLWFkanVzdCI6WyJhdXRvIiwibm9uZSJdfV19LGNvbmZsaWN0aW5nQ2xhc3NHcm91cHM6e292ZXJmbG93Olsib3ZlcmZsb3cteCIsIm92ZXJmbG93LXkiXSxvdmVyc2Nyb2xsOlsib3ZlcnNjcm9sbC14Iiwib3ZlcnNjcm9sbC15Il0saW5zZXQ6WyJpbnNldC14IiwiaW5zZXQteSIsImluc2V0LWJzIiwiaW5zZXQtYmUiLCJzdGFydCIsImVuZCIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwibGVmdCJdLCJpbnNldC14IjpbInJpZ2h0IiwibGVmdCJdLCJpbnNldC15IjpbInRvcCIsImJvdHRvbSJdLGZsZXg6WyJiYXNpcyIsImdyb3ciLCJzaHJpbmsiXSxnYXA6WyJnYXAteCIsImdhcC15Il0scDpbInB4IiwicHkiLCJwcyIsInBlIiwicGJzIiwicGJlIiwicHQiLCJwciIsInBiIiwicGwiXSxweDpbInByIiwicGwiXSxweTpbInB0IiwicGIiXSxtOlsibXgiLCJteSIsIm1zIiwibWUiLCJtYnMiLCJtYmUiLCJtdCIsIm1yIiwibWIiLCJtbCJdLG14OlsibXIiLCJtbCJdLG15OlsibXQiLCJtYiJdLHNpemU6WyJ3IiwiaCJdLCJmb250LXNpemUiOlsibGVhZGluZyJdLCJmdm4tbm9ybWFsIjpbImZ2bi1vcmRpbmFsIiwiZnZuLXNsYXNoZWQtemVybyIsImZ2bi1maWd1cmUiLCJmdm4tc3BhY2luZyIsImZ2bi1mcmFjdGlvbiJdLCJmdm4tb3JkaW5hbCI6WyJmdm4tbm9ybWFsIl0sImZ2bi1zbGFzaGVkLXplcm8iOlsiZnZuLW5vcm1hbCJdLCJmdm4tZmlndXJlIjpbImZ2bi1ub3JtYWwiXSwiZnZuLXNwYWNpbmciOlsiZnZuLW5vcm1hbCJdLCJmdm4tZnJhY3Rpb24iOlsiZnZuLW5vcm1hbCJdLCJsaW5lLWNsYW1wIjpbImRpc3BsYXkiLCJvdmVyZmxvdyJdLHJvdW5kZWQ6WyJyb3VuZGVkLXMiLCJyb3VuZGVkLWUiLCJyb3VuZGVkLXQiLCJyb3VuZGVkLXIiLCJyb3VuZGVkLWIiLCJyb3VuZGVkLWwiLCJyb3VuZGVkLXNzIiwicm91bmRlZC1zZSIsInJvdW5kZWQtZWUiLCJyb3VuZGVkLWVzIiwicm91bmRlZC10bCIsInJvdW5kZWQtdHIiLCJyb3VuZGVkLWJyIiwicm91bmRlZC1ibCJdLCJyb3VuZGVkLXMiOlsicm91bmRlZC1zcyIsInJvdW5kZWQtZXMiXSwicm91bmRlZC1lIjpbInJvdW5kZWQtc2UiLCJyb3VuZGVkLWVlIl0sInJvdW5kZWQtdCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC10ciJdLCJyb3VuZGVkLXIiOlsicm91bmRlZC10ciIsInJvdW5kZWQtYnIiXSwicm91bmRlZC1iIjpbInJvdW5kZWQtYnIiLCJyb3VuZGVkLWJsIl0sInJvdW5kZWQtbCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC1ibCJdLCJib3JkZXItc3BhY2luZyI6WyJib3JkZXItc3BhY2luZy14IiwiYm9yZGVyLXNwYWNpbmcteSJdLCJib3JkZXItdyI6WyJib3JkZXItdy14IiwiYm9yZGVyLXcteSIsImJvcmRlci13LXMiLCJib3JkZXItdy1lIiwiYm9yZGVyLXctYnMiLCJib3JkZXItdy1iZSIsImJvcmRlci13LXQiLCJib3JkZXItdy1yIiwiYm9yZGVyLXctYiIsImJvcmRlci13LWwiXSwiYm9yZGVyLXcteCI6WyJib3JkZXItdy1yIiwiYm9yZGVyLXctbCJdLCJib3JkZXItdy15IjpbImJvcmRlci13LXQiLCJib3JkZXItdy1iIl0sImJvcmRlci1jb2xvciI6WyJib3JkZXItY29sb3IteCIsImJvcmRlci1jb2xvci15IiwiYm9yZGVyLWNvbG9yLXMiLCJib3JkZXItY29sb3ItZSIsImJvcmRlci1jb2xvci1icyIsImJvcmRlci1jb2xvci1iZSIsImJvcmRlci1jb2xvci10IiwiYm9yZGVyLWNvbG9yLXIiLCJib3JkZXItY29sb3ItYiIsImJvcmRlci1jb2xvci1sIl0sImJvcmRlci1jb2xvci14IjpbImJvcmRlci1jb2xvci1yIiwiYm9yZGVyLWNvbG9yLWwiXSwiYm9yZGVyLWNvbG9yLXkiOlsiYm9yZGVyLWNvbG9yLXQiLCJib3JkZXItY29sb3ItYiJdLHRyYW5zbGF0ZTpbInRyYW5zbGF0ZS14IiwidHJhbnNsYXRlLXkiLCJ0cmFuc2xhdGUtbm9uZSJdLCJ0cmFuc2xhdGUtbm9uZSI6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGUteCIsInRyYW5zbGF0ZS15IiwidHJhbnNsYXRlLXoiXSwic2Nyb2xsLW0iOlsic2Nyb2xsLW14Iiwic2Nyb2xsLW15Iiwic2Nyb2xsLW1zIiwic2Nyb2xsLW1lIiwic2Nyb2xsLW1icyIsInNjcm9sbC1tYmUiLCJzY3JvbGwtbXQiLCJzY3JvbGwtbXIiLCJzY3JvbGwtbWIiLCJzY3JvbGwtbWwiXSwic2Nyb2xsLW14IjpbInNjcm9sbC1tciIsInNjcm9sbC1tbCJdLCJzY3JvbGwtbXkiOlsic2Nyb2xsLW10Iiwic2Nyb2xsLW1iIl0sInNjcm9sbC1wIjpbInNjcm9sbC1weCIsInNjcm9sbC1weSIsInNjcm9sbC1wcyIsInNjcm9sbC1wZSIsInNjcm9sbC1wYnMiLCJzY3JvbGwtcGJlIiwic2Nyb2xsLXB0Iiwic2Nyb2xsLXByIiwic2Nyb2xsLXBiIiwic2Nyb2xsLXBsIl0sInNjcm9sbC1weCI6WyJzY3JvbGwtcHIiLCJzY3JvbGwtcGwiXSwic2Nyb2xsLXB5IjpbInNjcm9sbC1wdCIsInNjcm9sbC1wYiJdLHRvdWNoOlsidG91Y2gteCIsInRvdWNoLXkiLCJ0b3VjaC1weiJdLCJ0b3VjaC14IjpbInRvdWNoIl0sInRvdWNoLXkiOlsidG91Y2giXSwidG91Y2gtcHoiOlsidG91Y2giXX0sY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOnsiZm9udC1zaXplIjpbImxlYWRpbmciXX0sb3JkZXJTZW5zaXRpdmVNb2RpZmllcnM6WyIqIiwiKioiLCJhZnRlciIsImJhY2tkcm9wIiwiYmVmb3JlIiwiZGV0YWlscy1jb250ZW50IiwiZmlsZSIsImZpcnN0LWxldHRlciIsImZpcnN0LWxpbmUiLCJtYXJrZXIiLCJwbGFjZWhvbGRlciIsInNlbGVjdGlvbiJdfX0pO2Z1bmN0aW9uIGVwKC4uLmUpe3JldHVybiBlbShyKGUpKX1mdW5jdGlvbiBlYihlLHIpe3JldHVybmAvY29pbi8ke2UudG9VcHBlckNhc2UoKX0vJHtlbmNvZGVVUklDb21wb25lbnQoci50cmltKCkucmVwbGFjZSgvXHMrL2csIi0iKSl9YH1sZXQgZXU9bmV3IFNldChbImNvaW5saWIuaW8iLCJ3d3cuY29pbmxpYi5pbyIsImNvaW5saWIudmVyY2VsLmFwcCJdKTtmdW5jdGlvbiBlZihlKXtpZighZXx8ZS5zdGFydHNXaXRoKCIvIil8fGUuc3RhcnRzV2l0aCgiIyIpKXJldHVybiExO2lmKC9eKG1haWx0b3x0ZWwpOi9pLnRlc3QoZSkpcmV0dXJuITA7dHJ5e2xldCByPW5ldyBVUkwoZSk7cmV0dXJuIWV1LmhhcyhyLmhvc3RuYW1lKX1jYXRjaHtyZXR1cm4hMX19bGV0IGVnPW5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHtub3RhdGlvbjoiY29tcGFjdCIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTtmdW5jdGlvbiBlaChlKXtyZXR1cm4gZWcuZm9ybWF0KGUpfWZ1bmN0aW9uIGVrKGUscj0idXNkIil7cmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHtzdHlsZToiY3VycmVuY3kiLGN1cnJlbmN5OnIudG9VcHBlckNhc2UoKSxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6MixtYXhpbXVtRnJhY3Rpb25EaWdpdHM6ZTwxPzY6ZTwxMDA/NDoyfSkuZm9ybWF0KGUpfWZ1bmN0aW9uIGV3KGUpe3JldHVybmAke2U+PTA/IisiOiIifSR7ZS50b0ZpeGVkKDIpfSVgfWZ1bmN0aW9uIGV4KGUpe3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoImVuLVVTIikuZm9ybWF0KGUpfWUucyhbImNuIiwoKT0+ZXAsImNvaW5VcmwiLCgpPT5lYiwiZm9ybWF0Q29tcGFjdCIsKCk9PmVoLCJmb3JtYXROdW1iZXIiLCgpPT5leCwiZm9ybWF0UGVyY2VudGFnZSIsKCk9PmV3LCJmb3JtYXRQcmljZSIsKCk9PmVrLCJpc0V4dGVybmFsVXJsIiwoKT0+ZWZdLDc1MTU3KX1dKTs="}},"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":"fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.607Z","timestamp":1785129949607,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://digitaltradeinvest.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 7748\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 03:05:43 GMT\r\nexpires: Fri, 23 Jul 2027 03:05:43 GMT\r\ncache-control: public, max-age=31536000\r\nage: 354006\r\nlast-modified: Mon, 15 Sep 2025 16:36:26 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":7748,"size_decoded":8560,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7748, version 1.0","md5":"a09f2fccfee35b7247b08a1a266f0328","sha1":"0da2d17e738f46d2a09e6fb7969da451719a9820","sha256":"cd36de204aca2d5fa263a731f7c20009b5e3d754ba1f1e03c33e93a48f3e7446","sha512":"5e3f9a298003b84250ec6801e08ad2a4ff8845d4c3e13ea61bec37da24d26ede13b436257882124cc0c27e9a323ba92e7d23c6ad3f48a7b75535f5ed98813a0e","ssdeep":"96:0g6vAF/FXh6MmoI56TEwosGU/DbVF/QBT1gaHEYT6u/w3hXLbJPAS772+6haAftj:zp6x6TYpoDYBJg8TRkbJPAS/2+CzQa7","tlshash":"f3f19de65d1e5e8980f0102f6f6efce767950d88141dadf9a9e72f884c6ba1b04c90cd","first_seen":"2023-04-05T13:48:05Z","last_seen":"2026-08-15T16:47:18.193541Z","times_seen":277146,"resource_available":true,"data":"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"}},"time_used":46,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":46,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:49.681Z","timestamp":1785129949681,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/nJ4pVzGWVH0\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 150031\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 12:56:42 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:42 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 232147\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":442344,"size_decoded":150945,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (534)","md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uX0ZfdG9nZ2xlc19pbml0aWFsaXplPWZ1bmN0aW9uKGEpeyh0eXBlb2YgZ2xvYmFsVGhpcyE9PSJ1bmRlZmluZWQiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGYhPT0idW5kZWZpbmVkIj9zZWxmOnRoaXMpLl9GX3RvZ2dsZXNfZGVmYXVsdF9iYXNlPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4MCwgMHgyLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwp2YXIgZWEsZmEsZGEsbmEscWEsdWEsdmEsQmEsSWEsSmEsS2EsUGEsUmEsVmEsJGEsaGIsbWIsd2IsemIsQWIsRWIsQ2IsRmIsR2IsTmIsVGIsZmMsaGMsaWMsamMsa2MsbWMsbmMsb2MsdGMscWMsR2MsSWMsTGMsTmMsVWMsUWMsV2MsY2QsZmQsaGQsamQsa2QsbWQsb2Qsc2QsQWQsQmQsRWQsdWQsR2QsSGQsSmQsSWQsS2QsTGQsTWQsT2QsU2QsWWQsYmUsY2UsZWUsZmUsZ2UsaGUsaWUsamUsa2UscWUsbGUscmUsb2UscGUsdmUsdGUsc2UsdWUsd2UseGUseWUsemUsQ2UsRGUsRWUsRmUsSGUsS2UsTWUsTmUsT2UsUGUsUWUsVmUsWWUsUmUsWmUsYWYsV2UsVGUsaGYsbGYsbWYsbmYsb2YscmYsdGYseGYsemYsQ2YsS2YsTGYsUWYsRmYsU2YsT2YsTWYsTmYsVGYsUmYsV2YsVmYsWGYsWWYsWmYsYmcsZGcsZWcsZmcsY2csa2csbGcsaGcsZ2csaWcsamcscmcsc2csdGcsdmcseGcsemcsQWcsdWcsRWcsd2csRmcsRGcsSGcsSWcsSmcsT2csUmcsTmcsVGcsU2csVWcsWWcsWGcsYmgsJGcsClpnLGFoLFBnLGNoLGZoLGloLGpoLGtoLGxoLGdoLGhoLG5oLHVoLHZoLHdoLHhoLHloLEFoLEJoLENoLERoLEVoLEZoLEloLEpoLEtoLExoLE1oLE5oLE9oLFBoLFFoLFJoLFNoLFRoLFVoLFZoLGNpLGRpLGVpLGZpLGdpLGhpLGppLGtpLGxpLHBpLHFpLHJpLHNpLHZpLHdpLHhpLHlpLHppLEFpLEJpLERpLEVpLE1pLFRpLFlpLGFqLGRqLGNqLFhpLG9qLHhqLHdqLEFqLEJqLENqLEVqLEpqLEZqLEhqLElqLHZqLFFqLFpqLGJrLGNrLGFrLGVrLGhrLGlrLGZrLGtrLG1rLGxrLG9rLHBrLHFrLHNrLHJrLHZrLHlrLHhrLHprLEFrLEVrLEprLEtrLExrLFJrLFNrLFRrLFVrLFhrLFlrLFdrLFprLCRrLGJsLGNsLGRsLGhsLG5sLHFsLHNsLHRsLGdsLHVsLHZsLHBsLHJsLHlsLHpsLEJsLEVsLEhsLExsLE5sLE9sLFFsLFJsLFNsLFRsLFVsLFZsLFdsLFhsLFpsLGJtLGNtLGRtLGVtLGZtLGdtLGhtLGttLGxtLG1tLG9tLHRtLEFtLEJtLERtLENtLEdtLEhtLEVtLEZtLEltLEptLExtLE1tLApPbSxQbSxRbSxSbSxTbSxUbSxVbSxObSxXbSxYbSxZbSxabSxmbixnbixqbixsbixtbixvbixxbixybix2bix4bixBbix3bix6bixFbixLbixKbixNbixRbixSbixTbixUbixWbixabixXbixYbixZbiwkbixjbyxhbyxxbyx2byx3byxEbyxIbyxGbyxHbyxLbyxKbyxJbyxMbyxPbyxRbywkbyxZbyxXbyxTbyxpcCxlcCxmcCx0cCxycCxxcCxSbyx1cCxkcCxocCxzcCxhcCxUbyxWbyxabyxwcCxGcCxKcCxScCxTcCxVcCxZcCxUcCxhcSxjcSxkcSxlcSxmcSxocSxqcSxxcSxrYSxqYSxpYSxjYTtlYT1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPTA7YzxjYS5sZW5ndGg7YysrKWRhKGNhW2NdKyJBcnJheS5wcm90b3R5cGUuIithLGIpfTtmYT1mdW5jdGlvbihhLGIpe2ImJmRhKGEsYil9OwpkYT1mdW5jdGlvbihhLGIpe3ZhciBjPWlhO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmamEoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTtuYT1mdW5jdGlvbihhLGIpe2EucHJvdG90eXBlPWthKGIucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2xhKGEsYik7YS56Yj1iLnByb3RvdHlwZX07cWE9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpfHwwO2E8MCYmKGErPXRoaXMubGVuZ3RoKTtpZighKGE8MHx8YT49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW2FdfTsKXy5yYT1mdW5jdGlvbihhLGIsYyl7YT1hLnNwbGl0KCIuIik7Yz1jfHxfLnU7Zm9yKHZhciBkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnNhKCJXSVpfZ2xvYmFsX2RhdGEub3hOM25iIik7YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07dmE9ZnVuY3Rpb24oKXt9O18uc2E9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy53YT1mdW5jdGlvbihhKXthLlNsPXZvaWQgMDthLmpjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuU2w/YS5TbDphLlNsPW5ldyBhfX07Cl8ueGE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGIhPSJvYmplY3QiP2I6YT9BcnJheS5pc0FycmF5KGEpPyJhcnJheSI6YjoibnVsbCJ9O18ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54YShhKTtyZXR1cm4gYj09ImFycmF5Inx8Yj09Im9iamVjdCImJnR5cGVvZiBhLmxlbmd0aD09Im51bWJlciJ9O18uQWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTtCYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07Xy5DYT1mdW5jdGlvbihhLGIsYyl7Xy5DYT1CYTtyZXR1cm4gXy5DYS5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpfLkRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLkVhPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9O18uRmE9ZnVuY3Rpb24oYSxiKXtfLnJhKGEsYil9O18uR2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uSGE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuemI9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLmJhc2U9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGs9MjtrPGFyZ3VtZW50cy5sZW5ndGg7aysrKWhbay0yXT1hcmd1bWVudHNba107cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsaCl9fTsKSWE9ZnVuY3Rpb24oYSwuLi5iKXtiPWIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighYilyZXR1cm4gYTt2YXIgYz1hLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIGM/YS5zbGljZSgwLGMuaW5kZXgrMSkrYisiJiIrYS5zbGljZShjLmluZGV4KzEpOmErKGEuaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrYn07SmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj8iJiIrYSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIifTsKS2E9ZnVuY3Rpb24oYSl7YT1hLkI7aWYoIWEpcmV0dXJuIiI7dmFyIGI9SmEoInVhcCIsYS5wbGF0Zm9ybSkrSmEoInVhcHYiLGEucGxhdGZvcm1WZXJzaW9uKStKYSgidWFmdiIsYS51YUZ1bGxWZXJzaW9uKStKYSgidWFhIixhLmFyY2hpdGVjdHVyZSkrSmEoInVhbSIsYS5tb2RlbCkrSmEoInVhYiIsYS5iaXRuZXNzKTthLmZ1bGxWZXJzaW9uTGlzdCYmKGIrPSImdWFmdmw9IitlbmNvZGVVUklDb21wb25lbnQoYS5mdWxsVmVyc2lvbkxpc3QubWFwKGM9PmVuY29kZVVSSUNvbXBvbmVudChjLmJyYW5kKSsiOyIrZW5jb2RlVVJJQ29tcG9uZW50KGMudmVyc2lvbikpLmpvaW4oInwiKSkpO2Eud293NjQhPW51bGwmJihiKz0iJnVhdz0iK051bWJlcihhLndvdzY0KSk7cmV0dXJuIGIuc2xpY2UoMSl9OwpfLkxhPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLkxhKTtlbHNle2xldCBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO2IhPT12b2lkIDAmJih0aGlzLmNhdXNlPWIpfTtfLk1hPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgtYi5sZW5ndGg7cmV0dXJuIGM+PTAmJmEuaW5kZXhPZihiLGMpPT1jfTtQYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIU5hKXJldHVybiBhO3RyeXtsZXQgYj1jPT5jO2E9TmEuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOmIsY3JlYXRlU2NyaXB0OmIsY3JlYXRlU2NyaXB0VVJMOmJ9KX1jYXRjaChiKXt9cmV0dXJuIGF9O1JhPWZ1bmN0aW9uKCl7UWE9PT12b2lkIDAmJihRYT1QYSgpKTtyZXR1cm4gUWF9OwpfLlRhPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLlNhKGEpfTtfLlVhPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLlNhKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O1ZhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnRvU3RyaW5nKCkuaW5kZXhPZigiYCIpPT09LTF9O18uWGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLldhfTtfLllhPWZ1bmN0aW9uKGEpe2lmKF8uWGEoYSkpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307JGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBaYShiPT5iLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6Iil9O18uYmI9ZnVuY3Rpb24oYSxiPV8uYWIpe2lmKF8uWGEoYSkpcmV0dXJuIGE7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2Mpe2xldCBkPWJbY107aWYoZCBpbnN0YW5jZW9mIFphJiZkLmZiKGEpKXJldHVybiBuZXcgXy5XYShhKX19OwpfLmRiPWZ1bmN0aW9uKGEpe2EgaW5zdGFuY2VvZiBfLldhP2E9Xy5ZYShhKTphPWNiLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGF9O18uZWI9ZnVuY3Rpb24oYSxiPWB1bmV4cGVjdGVkIHZhbHVlICR7YX0hYCl7dGhyb3cgRXJyb3IoYik7fTtfLmdiPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlSFRNTChhKTphO3JldHVybiBuZXcgXy5mYihhKX07Xy5pYj1mdW5jdGlvbihhKXtyZXR1cm4gaGIoInNjcmlwdCIsYSl9O2hiPWZ1bmN0aW9uKGEsYj1kb2N1bWVudCl7YT1iLnF1ZXJ5U2VsZWN0b3I/LihgJHthfVtub25jZV1gKTtyZXR1cm4gYT09bnVsbD8iIjphLm5vbmNlfHxhLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18ua2I9ZnVuY3Rpb24oYSl7dmFyIGI9UmEoKTthPWI/Yi5jcmVhdGVTY3JpcHQoYSk6YTtyZXR1cm4gbmV3IF8uamIoYSl9OwpfLmxiPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmpiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O21iPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaWIoYS5vd25lckRvY3VtZW50KTtiJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpfTtfLm5iPWZ1bmN0aW9uKGEsYil7YS50ZXh0Q29udGVudD1fLmxiKGIpO21iKGEpfTtfLm9iPWZ1bmN0aW9uKGEsYil7YS5zcmM9Xy5VYShiKTttYihhKX07Xy5xYj1mdW5jdGlvbihhLGIsYyl7aWYoYiBpbnN0YW5jZW9mIF8uU2EpYS5ocmVmPV8uVWEoYikudG9TdHJpbmcoKSxhLnJlbD1jO2Vsc2V7aWYocGIuaW5kZXhPZihjKT09PS0xKXRocm93IEVycm9yKCJqYCIrYyk7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9YixhLnJlbD1jKX19O18uc2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX07Cl8udGI9ZnVuY3Rpb24oYSxiKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYix2b2lkIDApfTtfLnViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYSxiLHZvaWQgMCl9O18udmI9ZnVuY3Rpb24oYSxiKXthOntsZXQgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKGUgaW4gZCYmYi5jYWxsKHZvaWQgMCxkW2VdLGUsYSkpe2I9ZTticmVhayBhfWI9LTF9cmV0dXJuIGI8MD9udWxsOnR5cGVvZiBhPT09InN0cmluZyI/YS5jaGFyQXQoYik6YVtiXX07d2I9ZnVuY3Rpb24oYSxiKXtfLnNiKGEsYik+PTB8fGEucHVzaChiKX07Xy54Yj1mdW5jdGlvbihhLGIpe2I9Xy5zYihhLGIpO3ZhciBjOyhjPWI+PTApJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYSxiLDEpO3JldHVybiBjfTsKXy55Yj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihiPjApe2xldCBjPUFycmF5KGIpO2ZvcihsZXQgZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt6Yj1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe2xldCBkPWFyZ3VtZW50c1tjXTtpZihfLnlhKGQpKXtsZXQgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IobGV0IGg9MDtoPGY7aCsrKWFbZStoXT1kW2hdfWVsc2UgYS5wdXNoKGQpfX07QWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz0wLGQ9bmV3IFNldDtjPGEubGVuZ3RoOyl7bGV0IGU9YVtjKytdO2QuaGFzKGUpfHwoZC5hZGQoZSksYVtiKytdPWUpfWEubGVuZ3RoPWJ9OwpfLkJiPWZ1bmN0aW9uKGEsYil7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9Yn07CkViPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2EoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7YT09bnVsbCYmKGE9J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTphLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOmIsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgYz0hMTt0cnl7dmFyIGQ9YS5saW5lTnVtYmVyfHxhLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChmKXtkPSJOb3QgYXZhaWxhYmxlIixjPSEwfXRyeXt2YXIgZT1hLmZpbGVOYW1lfHxhLmZpbGVuYW1lfHxhLnNvdXJjZVVSTHx8Xy51LiRnb29nRGVidWdGbmFtZXx8Yn1jYXRjaChmKXtlPSJOb3QgYXZhaWxhYmxlIixjPSEwfWI9Q2IoYSk7aWYoISghYyYmYS5saW5lTnVtYmVyJiZhLmZpbGVOYW1lJiZhLnN0YWNrJiZhLm1lc3NhZ2UmJmEubmFtZSkpe2M9YS5tZXNzYWdlOwppZihjPT1udWxsKXtpZihhLmNvbnN0cnVjdG9yJiZhLmNvbnN0cnVjdG9yIGluc3RhbmNlb2YgRnVuY3Rpb24pe2lmKGEuY29uc3RydWN0b3IubmFtZSljPWEuY29uc3RydWN0b3IubmFtZTtlbHNlIGlmKGM9YS5jb25zdHJ1Y3RvcixEYltjXSljPURiW2NdO2Vsc2V7Yz1TdHJpbmcoYyk7aWYoIURiW2NdKXtsZXQgZj0vZnVuY3Rpb25ccysoW15cKF0rKS9tLmV4ZWMoYyk7RGJbY109Zj9mWzFdOiJbQW5vbnltb3VzXSJ9Yz1EYltjXX1jPSdVbmtub3duIEVycm9yIG9mIHR5cGUgIicrYysnIid9ZWxzZSBjPSJVbmtub3duIEVycm9yIG9mIHVua25vd24gdHlwZSI7dHlwZW9mIGEudG9TdHJpbmc9PT0iZnVuY3Rpb24iJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIT09YS50b1N0cmluZyYmKGMrPSI6ICIrYS50b1N0cmluZygpKX1yZXR1cm57bWVzc2FnZTpjLG5hbWU6YS5uYW1lfHwiVW5rbm93bkVycm9yIixsaW5lTnVtYmVyOmQsZmlsZU5hbWU6ZSxzdGFjazpifHwiTm90IGF2YWlsYWJsZSJ9fXJldHVybnttZXNzYWdlOmEubWVzc2FnZSwKbmFtZTphLm5hbWUsbGluZU51bWJlcjphLmxpbmVOdW1iZXIsZmlsZU5hbWU6YS5maWxlTmFtZSxzdGFjazpifX07CkNiPWZ1bmN0aW9uKGEsYil7Ynx8KGI9e30pO2JbRmIoYSldPSEwO3ZhciBjPWEuc3RhY2t8fCIiLGQ9YS5jYXVzZTtkJiYhYltGYihkKV0mJihjKz0iXG5DYXVzZWQgYnk6ICIsZC5zdGFjayYmZC5zdGFjay5pbmRleE9mKGQudG9TdHJpbmcoKSk9PTB8fChjKz10eXBlb2YgZD09PSJzdHJpbmciP2Q6ZC5tZXNzYWdlKyJcbiIpLGMrPUNiKGQsYikpO2E9YS5lcnJvcnM7aWYoQXJyYXkuaXNBcnJheShhKSl7ZD0xO2xldCBlO2ZvcihlPTA7ZTxhLmxlbmd0aCYmIShkPjQpO2UrKyliW0ZiKGFbZV0pXXx8KGMrPSJcbklubmVyIGVycm9yICIrZCsrICsiOiAiLGFbZV0uc3RhY2smJmFbZV0uc3RhY2suaW5kZXhPZihhW2VdLnRvU3RyaW5nKCkpPT0wfHwoYys9dHlwZW9mIGFbZV09PT0ic3RyaW5nIj9hW2VdOmFbZV0ubWVzc2FnZSsiXG4iKSxjKz1DYihhW2VdLGIpKTtlPGEubGVuZ3RoJiYoYys9IlxuLi4uICIrKGEubGVuZ3RoLWUpKyIgbW9yZSBpbm5lciBlcnJvcnMiKX1yZXR1cm4gY307CkZiPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO3R5cGVvZiBhLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmKGI9IiIrYSk7cmV0dXJuIGIrYS5zdGFja307R2I9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoYSl9O18uSGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhLnJlcGxhY2UoL1wrL2csIiAiKSl9O18uSWI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9IiI7YSYmKGsrPWErIjoiKTtjJiYoays9Ii8vIixiJiYoays9YisiQCIpLGsrPWMsZCYmKGsrPSI6IitkKSk7ZSYmKGsrPWUpO2YmJihrKz0iPyIrZik7aCYmKGsrPSIjIitoKTtyZXR1cm4ga307Xy5NYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXRjaChLYil9O05iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5PYj1mdW5jdGlvbihhKXthPV8uTWIoYSlbMV18fG51bGw7IWEmJl8udS5zZWxmJiZfLnUuc2VsZi5sb2NhdGlvbiYmKGE9Xy51LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpO3JldHVybiBhP2EudG9Mb3dlckNhc2UoKToiIn07Xy5QYj1mdW5jdGlvbihhKXtyZXR1cm4gTmIoXy5NYihhKVszXXx8bnVsbCl9O18uUWI9ZnVuY3Rpb24oYSl7cmV0dXJuIE5iKF8uTWIoYSlbNV18fG51bGwpfTtfLlJiPWZ1bmN0aW9uKGEsYil7aWYoYSl7YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspe2xldCBkPWFbY10uaW5kZXhPZigiPSIpLGUsZj1udWxsO2Q+PTA/KGU9YVtjXS5zdWJzdHJpbmcoMCxkKSxmPWFbY10uc3Vic3RyaW5nKGQrMSkpOmU9YVtjXTtiKGUsZj9fLkhiKGYpOiIiKX19fTsKXy5TYj1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBhO3ZhciBjPWEuaW5kZXhPZigiIyIpO2M8MCYmKGM9YS5sZW5ndGgpO3ZhciBkPWEuaW5kZXhPZigiPyIpO2lmKGQ8MHx8ZD5jKXtkPWM7dmFyIGU9IiJ9ZWxzZSBlPWEuc3Vic3RyaW5nKGQrMSxjKTthPVthLnNsaWNlKDAsZCksZSxhLnNsaWNlKGMpXTtjPWFbMV07YVsxXT1iP2M/YysiJiIrYjpiOmM7cmV0dXJuIGFbMF0rKGFbMV0/Ij8iK2FbMV06IiIpK2FbMl19O1RiPWZ1bmN0aW9uKGEsYixjKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKVRiKGEsU3RyaW5nKGJbZF0pLGMpO2Vsc2UgYiE9bnVsbCYmYy5wdXNoKGErKGI9PT0iIj8iIjoiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSkpKX07Xy5VYj1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IGMgaW4gYSlUYihjLGFbY10sYik7cmV0dXJuIGIuam9pbigiJiIpfTsKXy5XYj1mdW5jdGlvbihhLGIpe2I9Xy5VYihiKTtyZXR1cm4gXy5TYihhLGIpfTtfLlhiPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1jLmxlbmd0aDsoYj1hLmluZGV4T2YoYyxiKSk+PTAmJmI8ZDspe3ZhciBmPWEuY2hhckNvZGVBdChiLTEpO2lmKGY9PTM4fHxmPT02MylpZihmPWEuY2hhckNvZGVBdChiK2UpLCFmfHxmPT02MXx8Zj09Mzh8fGY9PTM1KXJldHVybiBiO2IrPWUrMX1yZXR1cm4tMX07Xy5aYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc2VhcmNoKF8uWWIpLGQ9Xy5YYihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gXy5IYihhLnNsaWNlKGQsZSE9PS0xP2U6MCkpfTtfLiRiPWZ1bmN0aW9uKGEpe18udS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgYTt9LDApfTsKXy5hYz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT01NTI5NiYmZCsxPGEubGVuZ3RoJiYoYS5jaGFyQ29kZUF0KGQrMSkmNjQ1MTIpPT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gYn07Xy5iYz1mdW5jdGlvbigpe3ZhciBhPV8udS5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTsKZmM9ZnVuY3Rpb24oYSl7aWYoIWRjfHwhZWMpcmV0dXJuITE7Zm9yKGxldCBiPTA7YjxlYy5icmFuZHMubGVuZ3RoO2IrKyl7bGV0IHticmFuZDpjfT1lYy5icmFuZHNbYl07aWYoYyYmYy5pbmRleE9mKGEpIT0tMSlyZXR1cm4hMH1yZXR1cm4hMX07aGM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uYmMoKS5pbmRleE9mKGEpIT0tMX07aWM9ZnVuY3Rpb24oKXtyZXR1cm4gZGM/ISFlYyYmZWMuYnJhbmRzLmxlbmd0aD4wOiExfTtqYz1mdW5jdGlvbigpe3JldHVybiBpYygpPyExOmhjKCJPcGVyYSIpfTtrYz1mdW5jdGlvbigpe3JldHVybiBoYygiRmlyZWZveCIpfHxoYygiRnhpT1MiKX07bWM9ZnVuY3Rpb24oKXtyZXR1cm4gaWMoKT9mYygiQ2hyb21pdW0iKTooaGMoIkNocm9tZSIpfHxoYygiQ3JpT1MiKSkmJiEoaWMoKT8wOmhjKCJFZGdlIikpfHxoYygiU2lsayIpfTtuYz1mdW5jdGlvbigpe3JldHVybiBkYz8hIWVjJiYhIWVjLnBsYXRmb3JtOiExfTsKb2M9ZnVuY3Rpb24oKXtyZXR1cm4gaGMoImlQaG9uZSIpJiYhaGMoImlQb2QiKSYmIWhjKCJpUGFkIil9O18ucGM9ZnVuY3Rpb24oYSl7Xy5wY1siICJdKGEpO3JldHVybiBhfTtfLnNjPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMCYmKGI9MCk7cWMoKTtiPXJjW2JdO2Zvcih2YXIgYz1BcnJheShNYXRoLmZsb29yKGEubGVuZ3RoLzMpKSxkPWJbNjRdfHwiIixlPTAsZj0wO2U8YS5sZW5ndGgtMjtlKz0zKXt2YXIgaD1hW2VdLGs9YVtlKzFdLGw9YVtlKzJdLG09YltoPj4yXTtoPWJbKGgmMyk8PDR8az4+NF07az1iWyhrJjE1KTw8MnxsPj42XTtsPWJbbCY2M107Y1tmKytdPW0raCtrK2x9bT0wO2w9ZDtzd2l0Y2goYS5sZW5ndGgtZSl7Y2FzZSAyOm09YVtlKzFdLGw9YlsobSYxNSk8PDJdfHxkO2Nhc2UgMTphPWFbZV0sY1tmXT1iW2E+PjJdK2JbKGEmMyk8PDR8bT4+NF0rbCtkfXJldHVybiBjLmpvaW4oIiIpfTsKXy51Yz1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aCxjPWIqMy80O2MlMz9jPU1hdGguZmxvb3IoYyk6Ij0uIi5pbmRleE9mKGFbYi0xXSkhPS0xJiYoYz0iPS4iLmluZGV4T2YoYVtiLTJdKSE9LTE/Yy0yOmMtMSk7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoYyksZT0wO3RjKGEsZnVuY3Rpb24oZil7ZFtlKytdPWZ9KTtyZXR1cm4gZSE9PWM/ZC5zdWJhcnJheSgwLGUpOmR9O3RjPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhlKXtmb3IoO2Q8YS5sZW5ndGg7KXtsZXQgZj1hLmNoYXJBdChkKyspLGg9dmNbZl07aWYoaCE9bnVsbClyZXR1cm4gaDtpZighL15bXHNceGEwXSokLy50ZXN0KGYpKXRocm93IEVycm9yKCJtYCIrZik7fXJldHVybiBlfXFjKCk7Zm9yKHZhciBkPTA7Oyl7bGV0IGU9YygtMSksZj1jKDApLGg9Yyg2NCksaz1jKDY0KTtpZihrPT09NjQmJmU9PT0tMSlicmVhaztiKGU8PDJ8Zj4+NCk7aCE9NjQmJihiKGY8PDQmMjQwfGg+PjIpLGshPTY0JiZiKGg8PDYmMTkyfGspKX19OwpxYz1mdW5jdGlvbigpe2lmKCF2Yyl7dmM9e307dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksYj1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXTtmb3IobGV0IGM9MDtjPDU7YysrKXtsZXQgZD1hLmNvbmNhdChiW2NdLnNwbGl0KCIiKSk7cmNbY109ZDtmb3IobGV0IGU9MDtlPGQubGVuZ3RoO2UrKyl7bGV0IGY9ZFtlXTt2Y1tmXT09PXZvaWQgMCYmKHZjW2ZdPWUpfX19fTtfLnhjPWZ1bmN0aW9uKGEsYil7aWYoYSE9bnVsbCl7dmFyIGM9d2M/Pyh3Yz17fSk7dmFyIGQ9Y1thXXx8MDtkPj1ifHwoY1thXT1kKzEsYT1FcnJvcigpLF8uQmIoYSwiaW5jaWRlbnQiKSxfLiRiKGEpKX19O18ueWM9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYiYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpfTsKXy5CYz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuaiE9PV8uemMmJiEhKDImKGEuRGFbXy5BY118MCkpOiEhKDImYikmJmEuaiE9PV8uemN9O18uQ2M9ZnVuY3Rpb24oYSl7YS51Sj0hMDtyZXR1cm4gYX07Xy5GYz1mdW5jdGlvbihhKXtpZihEYyhhKSl7aWYoIS9eXHMqKD86LT9bMS05XVxkKnwwKT9ccyokLy50ZXN0KGEpKXRocm93IEVycm9yKFN0cmluZyhhKSk7fWVsc2UgaWYoRWMoYSkmJiFOdW1iZXIuaXNTYWZlSW50ZWdlcihhKSl0aHJvdyBFcnJvcihTdHJpbmcoYSkpO3JldHVybiBCaWdJbnQoYSl9O0djPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtJYz1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLnhjKEhjLDEpfTsKTGM9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLkdhKF8uSmMpLGg7IWUmJmYmJihoPWFbZl0pJiZoLmN3KEljKTtmPVtdO3ZhciBrPWEubGVuZ3RoO2g9NDI5NDk2NzI5NTt2YXIgbD0hMSxtPSEhKGImNjQpLG49bT9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBwPWsmJmFbay0xXTtwIT1udWxsJiZ0eXBlb2YgcD09PSJvYmplY3QiJiZwLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhrLS0saD1rKTpwPXZvaWQgMDshbXx8YiYxMjh8fGV8fChsPSEwLGg9KEtjPz9HYykoaC1uLG4sYSxwLHZvaWQgMCkrbil9Yj12b2lkIDA7Zm9yKGU9MDtlPGs7ZSsrKXtsZXQgcj1hW2VdO2lmKHIhPW51bGwmJihyPWMocixkKSkhPW51bGwpaWYobSYmZT49aCl7bGV0IHQ9ZS1uOyhiPz8oYj17fSkpW3RdPXJ9ZWxzZSBmW2VdPXJ9aWYocClmb3IobGV0IHIgaW4gcCl7YT1wW3JdO2lmKGE9PW51bGx8fChhPWMoYSxkKSk9PW51bGwpY29udGludWU7az0rcjsKbGV0IHQ7bSYmIU51bWJlci5pc05hTihrKSYmKHQ9aytuKTxoP2ZbdF09YTooYj8/KGI9e30pKVtyXT1hfWImJihsP2YucHVzaChiKTpmW2hdPWIpO3JldHVybiBmfTtOYz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLk1jKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXtsZXQgYj1hW18uQWNdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYiYxP3ZvaWQgMDpMYyhhLGIsTmMpfWlmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBRYyhhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy5SYyYmYSBpbnN0YW5jZW9mIF8uUmMpcmV0dXJuIGEubygpO3JldHVybn1yZXR1cm4gYX07ClVjPWZ1bmN0aW9uKGEsYil7aWYoYil7S2M9Yj09bnVsbHx8Yj09PUdjfHxiW1NjXSE9PVRjP0djOmI7dHJ5e3JldHVybiBRYyhhKX1maW5hbGx5e0tjPXZvaWQgMH19cmV0dXJuIFFjKGEpfTtRYz1mdW5jdGlvbihhKXthPWEuRGE7cmV0dXJuIExjKGEsYVtfLkFjXXwwLE5jKX07Cl8uWGM9ZnVuY3Rpb24oYSxiLGMsZD0wKXtpZihhPT1udWxsKXt2YXIgZT0zMjtjPyhhPVtjXSxlfD0xMjgpOmE9W107YiYmKGU9ZSYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJzIik7ZT1hW18uQWNdfDA7aWYoVmMmJjEmZSl0aHJvdyBFcnJvcigidCIpOzIwNDgmZSYmISgyJmUpJiZXYygpO2lmKGUmMjU2KXRocm93IEVycm9yKCJ1Iik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJihhW18uQWNdPWV8ZCksYTtpZihjJiYoZXw9MTI4LGMhPT1hWzBdKSl0aHJvdyBFcnJvcigidiIpO2E6e2M9YTtlfD02NDt2YXIgZj1jLmxlbmd0aDtpZihmKXt2YXIgaD1mLTE7bGV0IGw9Y1toXTtpZihsIT1udWxsJiZ0eXBlb2YgbD09PSJvYmplY3QiJiZsLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtiPWUmMTI4PzA6LTE7aC09YjtpZihoPj0xMDI0KXRocm93IEVycm9yKCJ4Iik7Zm9yKHZhciBrIGluIGwpaWYoZj0rayxmPGgpY1tmKwpiXT1sW2tdLGRlbGV0ZSBsW2tdO2Vsc2UgYnJlYWs7ZT1lJi0xNjc2MDgzM3woaCYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoInkiKTtlPWUmLTE2NzYwODMzfChrJjEwMjMpPDwxNH19fWFbXy5BY109ZXw2NHxkO3JldHVybiBhfTtXYz1mdW5jdGlvbigpe2lmKFZjKXRocm93IEVycm9yKCJ3Iik7Xy54YyhZYyw1KX07CmNkPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4gYTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYz1hW18uQWNdfDA7YS5sZW5ndGg9PT0wJiZjJjE/YT12b2lkIDA6YyYyfHwoIWJ8fDQwOTYmY3x8MTYmYz9hPV8uWmMoYSxjLCExLGImJiEoYyYxNikpOihhW18uQWNdfD0zNCxjJjQmJk9iamVjdC5mcmVlemUoYSkpKTtyZXR1cm4gYX1pZihhIT1udWxsJiZhW18uT2NdPT09Xy5QYylyZXR1cm4gYj1hLkRhLGM9YltfLkFjXXwwLF8uQmMoYSxjKT9hOl8uJGMoYSxiLGMpP18uYmQoYSxiKTpfLlpjKGIsYyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIF8uUmMmJmEgaW5zdGFuY2VvZiBfLlJjKXJldHVybiBhfTtfLmJkPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmo9Xy56Yyk7YS5vPV8uemM7cmV0dXJuIGF9OwpfLlpjPWZ1bmN0aW9uKGEsYixjLGQpe2Q/PyhkPSEhKDM0JmIpKTthPUxjKGEsYixjZCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDthW18uQWNdPWI7cmV0dXJuIGF9O18uJGM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjJjI/ITA6YyYzMiYmIShjJjQwOTYpPyhiW18uQWNdPWN8MixhLmo9Xy56YywhMCk6ITF9O18uZWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uZGQoYS5EYSxiLGMsZSk7aWYoYiE9PW51bGx8fGQmJmEubyE9PV8uemMpcmV0dXJuIGJ9OwpfLmRkPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGI9PT0tMSlyZXR1cm4gbnVsbDt2YXIgZT1iKyhjPzA6LTEpLGY9YS5sZW5ndGgtMTtpZighKGY8MSsoYz8wOi0xKSkpe2lmKGU+PWYpe3ZhciBoPWFbZl07aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yz1oW2JdO3ZhciBrPSEwfWVsc2UgaWYoZT09PWYpYz1oO2Vsc2UgcmV0dXJufWVsc2UgYz1hW2VdO2lmKGQmJmMhPW51bGwpe2Q9ZChjKTtpZihkPT1udWxsKXJldHVybiBkO2lmKCFPYmplY3QuaXMoZCxjKSlyZXR1cm4gaz9oW2JdPWQ6YVtlXT1kLGR9cmV0dXJuIGN9fTtmZD1mdW5jdGlvbigpe3ZhciBhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhyb3cgRXJyb3IoKTt9fTtPYmplY3Quc2V0UHJvdG90eXBlT2YoYSxhLnByb3RvdHlwZSk7cmV0dXJuIGF9O18uZ2Q9ZnVuY3Rpb24oKXt9OwpoZD1mdW5jdGlvbihhKXt2YXIgYj0hMSxjO3JldHVybiBmdW5jdGlvbigpe2J8fChjPWEoKSxiPSEwKTtyZXR1cm4gY319O2pkPWZ1bmN0aW9uKGEpe3ZhciBiPWlkO2lmKGIpZm9yKGxldCBjIGluIGIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsYykmJmEoYltjXSxjLGIpfTtrZD1mdW5jdGlvbigpe3ZhciBhPVtdO2pkKGI9PnthLnB1c2goYil9KTtyZXR1cm4gYX07bWQ9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSxiPXt9O18udGIobGQoKSxjPT57YS5zYW5kYm94JiZhLnNhbmRib3guc3VwcG9ydHMmJmEuc2FuZGJveC5zdXBwb3J0cyhjKSYmKGJbY109ITApfSk7cmV0dXJuIGJ9O18ubmQ9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07b2Q9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgaW4gYSliLmNhbGwodm9pZCAwLGFbY10sYyxhKX07Cl8ucGQ9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9OwpfLnFkPWZ1bmN0aW9uKGEpe2lmKCFhfHx0eXBlb2YgYSE9PSJvYmplY3QiKXJldHVybiBhO2lmKHR5cGVvZiBhLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChhKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQoYSk7aWYoYSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKGEuZ2V0VGltZSgpKTt2YXIgYj1BcnJheS5pc0FycmF5KGEpP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KGEpfHxhIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IGEuY29uc3RydWN0b3IoYS5sZW5ndGgpO2ZvcihsZXQgYyBpbiBhKWJbY109Xy5xZChhW2NdKTtyZXR1cm4gYn07CnNkPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIGM9YXJndW1lbnRzW2VdO2ZvcihkIGluIGMpYVtkXT1jW2RdO2ZvcihsZXQgZj0wO2Y8cmQubGVuZ3RoO2YrKyl7dmFyIGQ9cmRbZl07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZCkmJihhW2RdPWNbZF0pfX19O18ueGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bmV3IHVkKF8udmQoYSkpOndkfHwod2Q9bmV3IHVkKX07Xy55ZD1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLm5kKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLnpkPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKQWQ9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoZSl7ZSYmYi5hcHBlbmRDaGlsZCh0eXBlb2YgZT09PSJzdHJpbmciP2EuY3JlYXRlVGV4dE5vZGUoZSk6ZSl9Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV07IV8ueWEoZil8fF8uQWEoZikmJmYubm9kZVR5cGU+MD9kKGYpOl8udGIoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIj9fLnliKGYpOmYsZCl9fTtfLkNkPWZ1bmN0aW9uKGEpe3JldHVybiBCZChkb2N1bWVudCxhKX07QmQ9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy5EZD1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5wYXJlbnROb2RlP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTpudWxsfTsKXy52ZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Xy5GZD1mdW5jdGlvbihhKXtyZXR1cm4gYS50YWdOYW1lPT0iQSImJmEuaGFzQXR0cmlidXRlKCJocmVmIil8fGEudGFnTmFtZT09IklOUFVUInx8YS50YWdOYW1lPT0iVEVYVEFSRUEifHxhLnRhZ05hbWU9PSJTRUxFQ1QifHxhLnRhZ05hbWU9PSJCVVRUT04iPyFhLmRpc2FibGVkJiYoIWEuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHxFZChhKSk6YS5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJkVkKGEpfTtFZD1mdW5jdGlvbihhKXthPWEudGFiSW5kZXg7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciImJmE+PTAmJmE8MzI3Njh9O3VkPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfHxfLnUuZG9jdW1lbnR8fGRvY3VtZW50fTsKR2Q9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigiQmAiK2EpO2lmKGMhPT0iaHR0cCImJmMhPT0iaHR0cHMiJiZjIT09ImNocm9tZS1leHRlbnNpb24iJiZjIT09Im1vei1leHRlbnNpb24iJiYKYyE9PSJmaWxlIiYmYyE9PSJhbmRyb2lkLWFwcCImJmMhPT0iY2hyb21lLXNlYXJjaCImJmMhPT0iY2hyb21lLXVudHJ1c3RlZCImJmMhPT0iY2hyb21lIiYmYyE9PSJhcHAiJiZjIT09ImRldnRvb2xzIil0aHJvdyBFcnJvcigiQ2AiK2MpO2E9IiI7dmFyIGQ9Yi5pbmRleE9mKCI6Iik7aWYoZCE9LTEpe3ZhciBlPWIuc3Vic3RyaW5nKGQrMSk7Yj1iLnN1YnN0cmluZygwLGQpO2lmKGM9PT0iaHR0cCImJmUhPT0iODAifHxjPT09Imh0dHBzIiYmZSE9PSI0NDMiKWE9IjoiK2V9cmV0dXJuIGMrIjovLyIrYithfTsKSGQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7ZVswXT0xNzMyNTg0MTkzO2VbMV09NDAyMzIzMzQxNztlWzJdPTI1NjIzODMxMDI7ZVszXT0yNzE3MzM4Nzg7ZVs0XT0zMjg1Mzc3NTIwO249bT0wfWZ1bmN0aW9uIGIocCl7Zm9yKHZhciByPWgsdD0wO3Q8NjQ7dCs9NClyW3QvNF09cFt0XTw8MjR8cFt0KzFdPDwxNnxwW3QrMl08PDh8cFt0KzNdO2Zvcih0PTE2O3Q8ODA7dCsrKXA9clt0LTNdXnJbdC04XV5yW3QtMTRdXnJbdC0xNl0sclt0XT0ocDw8MXxwPj4+MzEpJjQyOTQ5NjcyOTU7cD1lWzBdO3ZhciB2PWVbMV0sej1lWzJdLEU9ZVszXSxBPWVbNF07Zm9yKHQ9MDt0PDgwO3QrKyl7aWYodDw0MClpZih0PDIwKXt2YXIgRj1FXnYmKHpeRSk7dmFyIEM9MTUxODUwMDI0OX1lbHNlIEY9dl56XkUsQz0xODU5Nzc1MzkzO2Vsc2UgdDw2MD8oRj12Jnp8RSYodnx6KSxDPTI0MDA5NTk3MDgpOihGPXZeel5FLEM9MzM5NTQ2OTc4Mik7Rj0oKHA8PDV8cD4+PjI3KSY0Mjk0OTY3Mjk1KStGKwpBK0Mrclt0XSY0Mjk0OTY3Mjk1O0E9RTtFPXo7ej0odjw8MzB8dj4+PjIpJjQyOTQ5NjcyOTU7dj1wO3A9Rn1lWzBdPWVbMF0rcCY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt2JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK3omNDI5NDk2NzI5NTtlWzNdPWVbM10rRSY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStBJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhwLHIpe2lmKHR5cGVvZiBwPT09InN0cmluZyIpe3A9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHApKTtmb3IodmFyIHQ9W10sdj0wLHo9cC5sZW5ndGg7djx6Oysrdil0LnB1c2gocC5jaGFyQ29kZUF0KHYpKTtwPXR9cnx8KHI9cC5sZW5ndGgpO3Q9MDtpZihtPT0wKWZvcig7dCs2NDxyOyliKHAuc2xpY2UodCx0KzY0KSksdCs9NjQsbis9NjQ7Zm9yKDt0PHI7KWlmKGZbbSsrXT1wW3QrK10sbisrLG09PTY0KWZvcihtPTAsYihmKTt0KzY0PHI7KWIocC5zbGljZSh0LHQrNjQpKSx0Kz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHA9W10scj0Kbio4O208NTY/YyhrLDU2LW0pOmMoayw2NC0obS01NikpO2Zvcih2YXIgdD02Mzt0Pj01Njt0LS0pZlt0XT1yJjI1NSxyPj4+PTg7YihmKTtmb3IodD1yPTA7dDw1O3QrKylmb3IodmFyIHY9MjQ7dj49MDt2LT04KXBbcisrXT1lW3RdPj52JjI1NTtyZXR1cm4gcH1mb3IodmFyIGU9W10sZj1bXSxoPVtdLGs9WzEyOF0sbD0xO2w8NjQ7KytsKWtbbF09MDt2YXIgbSxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxrdjpmdW5jdGlvbigpe2Zvcih2YXIgcD1kKCkscj0iIix0PTA7dDxwLmxlbmd0aDt0Kyspcis9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHBbdF0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHBbdF0lMTYpO3JldHVybiByfX19O0pkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1TdHJpbmcoXy51LmxvY2F0aW9uLmhyZWYpO3JldHVybiBkJiZhJiZiP1tiLElkKEdkKGQpLGEsY3x8bnVsbCldLmpvaW4oIiAiKTpudWxsfTsKSWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnRiKGQsZnVuY3Rpb24oayl7ZS5wdXNoKGspfSksS2QoZS5qb2luKCIgIikpO3ZhciBmPVtdLGg9W107Xy50YihjLGZ1bmN0aW9uKGspe2gucHVzaChrLmtleSk7Zi5wdXNoKGsudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy50YihkLGZ1bmN0aW9uKGspe2UucHVzaChrKX0pO2E9S2QoZS5qb2luKCIgIikpO2E9W2MsYV07aC5sZW5ndGg9PTB8fGEucHVzaChoLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9O0tkPWZ1bmN0aW9uKGEpe3ZhciBiPUhkKCk7Yi51cGRhdGUoYSk7cmV0dXJuIGIua3YoKS50b0xvd2VyQ2FzZSgpfTtMZD1mdW5jdGlvbihhKXt0aGlzLmo9YXx8e2Nvb2tpZToiIn19OwpNZD1mdW5jdGlvbihhKXthPShhLmouY29va2llfHwiIikuc3BsaXQoIjsiKTt2YXIgYj1bXSxjPVtdO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZD1hW2ZdLnRyaW0oKTt2YXIgZT1kLmluZGV4T2YoIj0iKTtlPT0tMT8oYi5wdXNoKCIiKSxjLnB1c2goZCkpOihiLnB1c2goZC5zdWJzdHJpbmcoMCxlKSksYy5wdXNoKGQuc3Vic3RyaW5nKGUrMSkpKX1yZXR1cm57a2V5czpiLHZhbHVlczpjfX07Xy5OZD1mdW5jdGlvbigpe3ZhciBhPV8udS5fX1NBUElTSUR8fF8udS5fX0FQSVNJRHx8Xy51Ll9fM1BTQVBJU0lEfHxfLnUuX18xUFNBUElTSUR8fF8udS5fX09WRVJSSURFX1NJRDtpZihhKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoYT1uZXcgTGQoZG9jdW1lbnQpLGE9YS5nZXQoIlNBUElTSUQiKXx8YS5nZXQoIkFQSVNJRCIpfHxhLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8YS5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhYX07Ck9kPWZ1bmN0aW9uKGEsYixjLGQpeyhhPV8udVthXSl8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoYT0obmV3IExkKGRvY3VtZW50KSkuZ2V0KGIpKTtyZXR1cm4gYT9KZChhLGMsZCk6bnVsbH07Cl8uUGQ9ZnVuY3Rpb24oYSl7dmFyIGI9R2QoXy51Py5sb2NhdGlvbi5ocmVmKSxjPVtdO2lmKF8uTmQoKSl7Yj1iLmluZGV4T2YoImh0dHBzOiIpPT0wfHxiLmluZGV4T2YoImNocm9tZS1leHRlbnNpb246Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLXVudHJ1c3RlZDovL25ldy10YWItcGFnZSIpPT0wfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTA7dmFyIGQsZT0oZD1iKT9fLnUuX19TQVBJU0lEOl8udS5fX0FQSVNJRDtlfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KGU9bmV3IExkKGRvY3VtZW50KSxlPWUuZ2V0KGQ/IlNBUElTSUQiOiJBUElTSUQiKXx8ZS5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhkPWU/SmQoZSxkPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLGEpOm51bGwpJiZjLnB1c2goZCk7YiYmKChiPU9kKCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsYSkpJiZjLnB1c2goYiksKGE9T2QoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpfXJldHVybiBjLmxlbmd0aD09MD9udWxsOmMuam9pbigiICIpfTtTZD1mdW5jdGlvbihhKXtfLlFkP2EoXy5RZCk6KFJkPz8oUmQ9W10pKS5wdXNoKGEpfTtfLlZkPWZ1bmN0aW9uKCl7IV8uUWQmJl8uVGQmJl8uVWQoXy5UZCgpKTtyZXR1cm4gXy5RZH07Xy5VZD1mdW5jdGlvbihhKXtfLlFkPWE7UmQ/LmZvckVhY2goU2QpO1JkPXZvaWQgMH07Xy5XZD1mdW5jdGlvbihhKXtfLlFkJiZfLlFkLlJvKGEpfTtfLlhkPWZ1bmN0aW9uKCl7Xy5RZCYmXy5RZC55ZSgpfTsKWWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxfLnhkKCk7Yj1jLmo7dmFyIGQ9Yy5jcmVhdGVFbGVtZW50KCJTVFlMRSIpLGU9aGIoInN0eWxlIixiKTtlJiZkLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpO2QudHlwZT0idGV4dC9jc3MiO2M9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdO2Quc3R5bGVTaGVldD9kLnN0eWxlU2hlZXQuY3NzVGV4dD1hOmQuYXBwZW5kQ2hpbGQoYi5jcmVhdGVUZXh0Tm9kZShhKSk7Yy5hcHBlbmRDaGlsZChkKTtyZXR1cm4gZH07Xy5aZD1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07Xy4kZD1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWFyZ3VtZW50cy5sZW5ndGg7YjxjOysrYil7bGV0IGQ9YXJndW1lbnRzW2JdO18ueWEoZCk/Xy4kZC5hcHBseShudWxsLGQpOl8uWmQoZCl9fTtfLmFlPWZ1bmN0aW9uKCl7dGhpcy5ZPXRoaXMuWTt0aGlzLks9dGhpcy5LfTtiZT1mdW5jdGlvbigpe18uYWUuY2FsbCh0aGlzKX07CmNlPWZ1bmN0aW9uKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9O2VlPWZ1bmN0aW9uKGEsYil7Xy5hZS5jYWxsKHRoaXMpO3RoaXMuaj1hO3RoaXMuRD1iO3RoaXMuQj1kZT9udWxsOltdO3RoaXMudj1kZT9udWxsOltdO3RoaXMubz1kZT9udWxsOltdO3RoaXMuST0hMX07ZmU9ZnVuY3Rpb24oYSxiKXthLm98fChhLm89W10pO2Euby5wdXNoKG5ldyB2YS53ayhiLHZvaWQgMCkpfTtnZT1mdW5jdGlvbihhLGIsYyl7YS5CfHwoYS5CPVtdKTthLkIucHVzaChuZXcgdmEud2soYixjKSl9O2hlPWZ1bmN0aW9uKGEsYil7YS52fHwoYS52PVtdKTthLnYucHVzaChuZXcgdmEud2soYix2b2lkIDApKX07aWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrKyl0cnl7YVtkXS5leGVjdXRlKGIpfWNhdGNoKGUpe18uJGIoZSksYy5wdXNoKGUpfWEubGVuZ3RoPTA7cmV0dXJuIGMubGVuZ3RoP2M6bnVsbH07amU9ZnVuY3Rpb24oKXt0aGlzLlk9bnVsbH07CmtlPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LGM9Yi5zdHlsZVNoZWV0cy5sZW5ndGgsZD1ZZChhLG5ldyB1ZChiKSk7ZC5zZXRBdHRyaWJ1dGUoImRhdGEtbGF0ZS1jc3MiLCIiKTtiLnN0eWxlU2hlZXRzLmxlbmd0aD09YysxJiZfLnZiKGIuc3R5bGVTaGVldHMsZT0+KGUub3duZXJOb2RlfHxlLm93bmluZ0VsZW1lbnQpPT1kKX07cWU9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz1sZShhKSxkPW5ldyBtZSxlPV8uTWIoYylbNV07b2QobmUsZnVuY3Rpb24oaCl7dmFyIGs9ZS5tYXRjaCgiLyIraCsiPShbXi9dKykiKTtrJiZvZShkLGgsa1sxXSl9KTt2YXIgZj0iIjtmPWEuaW5kZXhPZigiXy9zcy8iKSE9LTE/Il8vc3MvIjoiXy9qcy8iO3BlKGQsYS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpKTtpZighYilyZXR1cm4gZDsoYT1fLk1iKGMpWzZdfHxudWxsKSYmXy5SYihhLChoLGspPT57ZC52W2hdPWt9KTtyZXR1cm4gZH07CmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN0YXJ0c1dpdGgoImh0dHBzOi8vdWJlcnByb3h5LXBlbi1yZWRpcmVjdC5jb3JwLmdvb2dsZS5jb20vdWJlcnByb3h5L3Blbj91cmw9Iik/YS5zdWJzdHIoNjUpOmF9O3JlPWZ1bmN0aW9uKGEpe2E9Xy5RYihsZShhKSk7cmV0dXJuIGE9PT1udWxsPyExOlJlZ0V4cCgiKC9fL2pzLyl8KC9fL3NzLykiLCJnIikudGVzdChhKT8vXC9rPS8udGVzdChhKTohMX07b2U9ZnVuY3Rpb24oYSxiLGMpe2M/YS5qW2JdPWM6ZGVsZXRlIGEualtiXX07cGU9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnZlPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9ZD0+e2EualtkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EualtkXSl9O3NlKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5qfHxvZShhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuai5leGNtfHxhLmouZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksdGUoYSwiYnIiKSE9IjEiJiZ0ZShhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLHRlKGEsInJiIik9PSIxIiYmYygicmIiKSx0ZShhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLHVlKGEpIT09IiImJmMoInd0IiksYygiZ3NzbW9kdWxlc2V0cHJvdG8iKSxjKCJ1amciKSxjKCJzcCIpLGMoImljaGMiKSwKYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9O3RlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEualtiXT9hLmpbYl06bnVsbH07c2U9ZnVuY3Rpb24oYSl7YT10ZShhLCJtZCIpO3JldHVybiEhYSYmYSE9PSIwIn07dWU9ZnVuY3Rpb24oYSl7c3dpdGNoKHRlKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fTt3ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4bSIsYi5qb2luKCIsIikpKTpvZShhLCJleG0iLG51bGwpfTt4ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4Y20iLGIuam9pbigiLCIpKSk6b2UoYSwiZXhjbSIsbnVsbCl9Owp5ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10ZShhLCJtIikpP2Euc3BsaXQoIiwiKTpbXX07emU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iIGluc3RhbmNlb2YgTWFwP0FycmF5LmZyb20oYi5lbnRyaWVzKCkpLmZpbHRlcigoWyxkXSk9PmQmJmQuc2l6ZT4wKS5tYXAoKFtkLGVdKT0+e2U9QXJyYXkuZnJvbShlKTtlLmxlbmd0aD4xJiZlLnNvcnQoKTtyZXR1cm4gZCsiOiIrZS5qb2luKCIsIil9KTpPYmplY3Qua2V5cyhiKS5maWx0ZXIoZD0+ISFPYmplY3Qua2V5cyhiW2RdKS5sZW5ndGgpLm1hcChkPT57dmFyIGU9T2JqZWN0LmtleXMoYltkXSk7ZS5sZW5ndGg+MSYmZS5zb3J0KCk7cmV0dXJuIGQrIjoiK2Uuam9pbigiLCIpfSk7Yy5zb3J0KCk7b2UoYSwiZWUiLGMuam9pbigiOyIpKX07CkNlPWZ1bmN0aW9uKGEpe2E9dGUoYSwiZWUiKTtpZihBZSl7aWYoIWEpcmV0dXJuIG5ldyBNYXA7dmFyIGI9bmV3IE1hcCxjPWEuc3BsaXQoIjsiKTtmb3IodmFyIGQgb2YgYyl7bGV0IFtmLGhdPWQuc3BsaXQoIjoiKTtjPW5ldyBTZXQ7Yi5zZXQoZixjKTtmb3IodmFyIGUgb2YgaC5zcGxpdCgiLCIpKWMuYWRkKGUpfXJldHVybiBifWlmKCFhKXJldHVybnt9O2Q9e307ZT1hLnNwbGl0KCI7Iik7Zm9yKGIgb2YgZSl7bGV0IFtmLGhdPWIuc3BsaXQoIjoiKTtkW2ZdPXt9O2ZvcihjIG9mIGguc3BsaXQoIiwiKSlkW2ZdW2NdPSEwfXJldHVybiBkfTtEZT1mdW5jdGlvbihhKXtkZWxldGUgYS5qLm07ZGVsZXRlIGEuai5leG07ZGVsZXRlIGEuai5lZH07CkVlPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiZkb2N1bWVudCYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQmJihhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKSl7bGV0IGI9YS50YWdOYW1lLnRvVXBwZXJDYXNlKCk7aWYoYj09IlNDUklQVCJ8fGI9PSJMSU5LIilyZXR1cm4gYX1yZXR1cm4gbnVsbH07RmU9ZnVuY3Rpb24oYT0iIixiKXtpZihhJiZiKXRocm93IEVycm9yKCJMIik7dmFyIGM9IiI7dmFyIGQ9Xy51Ll9GX2pzVXJsOyhhPWJ8fEVlKGEpKSYmKGM9YS5zcmM/YS5zcmM6YS5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYoZCYmYyl7aWYoZCE9Yyl0aHJvdyBFcnJvcigiTWAiK2QrImAiK2MpO2M9ZH1lbHNlIGM9ZHx8YztpZighcmUoYykpdGhyb3cgRXJyb3IoIk4iKTtyZXR1cm4gY307CkhlPWZ1bmN0aW9uKCl7aWYoIUdlKXtHZT0hMDt0cnl7dmFyIGE9RmUoXy51Ll9GX2pzVXJsPyIiOiJiYXNlLWpzIil9Y2F0Y2goYyl7cmV0dXJufXZhciBiPUNlKHFlKGEpKTtpZihiIGluc3RhbmNlb2YgTWFwKWIuc2l6ZSE9PTAmJlNkKGM9Pntmb3IobGV0IFtkLGVdb2YgYi5lbnRyaWVzKCkpe2xldCBmPWQsaD1lO2ZvcihsZXQgayBvZiBoKWMubmkoZixrKX19KTtlbHNle2xldCBjPU9iamVjdC5rZXlzKGIpO2MubGVuZ3RoIT09MCYmU2QoZD0+e2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1iW2VdO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhmKSlkLm5pKGUsaCl9fSl9fX07Xy5KZT1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT0iZnVuY3Rpb24iPT10eXBlb2YgXy5JZSYmYSBpbnN0YW5jZW9mIF8uSWU/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMubz0hMX07CktlPWZ1bmN0aW9uKGEsYil7Xy5KZS5jYWxsKHRoaXMsYT9hLnR5cGU6IiIpO3RoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLmo9bnVsbDthJiZ0aGlzLmluaXQoYSxiKX07Ck1lPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5saXN0ZW5lcj1hO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1iO3RoaXMudHlwZT1jO3RoaXMuY2FwdHVyZT0hIWQ7dGhpcy5oYW5kbGVyPWU7dGhpcy5rZXk9KytMZTt0aGlzLk5oPXRoaXMuemk9ITF9O05lPWZ1bmN0aW9uKGEpe2EuTmg9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuaGFuZGxlcj1udWxsfTtPZT1mdW5jdGlvbihhKXt0aGlzLnNyYz1hO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuaj0wfTtQZT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudHlwZTtjIGluIGEubGlzdGVuZXJzJiZfLnhiKGEubGlzdGVuZXJzW2NdLGIpJiYoTmUoYiksYS5saXN0ZW5lcnNbY10ubGVuZ3RoPT0wJiYoZGVsZXRlIGEubGlzdGVuZXJzW2NdLGEuai0tKSl9OwpRZT1mdW5jdGlvbihhLGIsYyxkKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoOysrZSl7bGV0IGY9YVtlXTtpZighZi5OaCYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuaGFuZGxlcj09ZClyZXR1cm4gZX1yZXR1cm4tMX07Xy5TZT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQmJmQub25jZSlyZXR1cm4gUmUoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylfLlNlKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz1UZShjKTtyZXR1cm4gYSYmYVtVZV0/YS5saXN0ZW4oYixjLF8uQWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlZlKGEsYixjLCExLGQsZSl9OwpWZT1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoIk8iKTt2YXIgaD1fLkFhKGUpPyEhZS5jYXB0dXJlOiEhZSxrPVdlKGEpO2t8fChhW1hlXT1rPW5ldyBPZShhKSk7Yz1rLmFkZChiLGMsZCxoLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1ZZSgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpZT09PXZvaWQgMCYmKGU9ITEpLGEuYWRkRXZlbnRMaXN0ZW5lcihiLnRvU3RyaW5nKCksZCxlKTtlbHNlIGlmKGEuYXR0YWNoRXZlbnQpYS5hdHRhY2hFdmVudChaZShiLnRvU3RyaW5nKCkpLGQpO2Vsc2UgaWYoYS5hZGRMaXN0ZW5lciYmYS5yZW1vdmVMaXN0ZW5lcilhLmFkZExpc3RlbmVyKGQpO2Vsc2UgdGhyb3cgRXJyb3IoIlAiKTskZSsrO3JldHVybiBjfTtZZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYyl7cmV0dXJuIGIuY2FsbChhLnNyYyxhLmxpc3RlbmVyLGMpfXZhciBiPWFmO3JldHVybiBhfTsKUmU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylSZShhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9VGUoYyk7cmV0dXJuIGEmJmFbVWVdP18uYmYoYSxiLGMsXy5BYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6VmUoYSxiLGMsITAsZCxlKX07Xy5jZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspXy5jZihhLGJbZl0sYyxkLGUpO2Vsc2UoZD1fLkFhKGQpPyEhZC5jYXB0dXJlOiEhZCxjPVRlKGMpLGEmJmFbVWVdKT9hLm8ucmVtb3ZlKFN0cmluZyhiKSxjLGQsZSk6YSYmKGE9V2UoYSkpJiYoYj1hLmxpc3RlbmVyc1tiLnRvU3RyaW5nKCldLGE9LTEsYiYmKGE9UWUoYixjLGQsZSkpLChjPWE+LTE/YlthXTpudWxsKSYmXy5kZihjKSl9OwpfLmRmPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLk5oKXt2YXIgYj1hLnNyYztpZihiJiZiW1VlXSlQZShiLm8sYSk7ZWxzZXt2YXIgYz1hLnR5cGUsZD1hLnByb3h5O2IucmVtb3ZlRXZlbnRMaXN0ZW5lcj9iLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyxkLGEuY2FwdHVyZSk6Yi5kZXRhY2hFdmVudD9iLmRldGFjaEV2ZW50KFplKGMpLGQpOmIuYWRkTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXIoZCk7JGUtLTsoYz1XZShiKSk/KFBlKGMsYSksYy5qPT0wJiYoYy5zcmM9bnVsbCxiW1hlXT1udWxsKSk6TmUoYSl9fX07WmU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW4gZWY/ZWZbYV06ZWZbYV09Im9uIithfTthZj1mdW5jdGlvbihhLGIpe2lmKGEuTmgpYT0hMDtlbHNle2I9bmV3IEtlKGIsdGhpcyk7bGV0IGM9YS5saXN0ZW5lcixkPWEuaGFuZGxlcnx8YS5zcmM7YS56aSYmXy5kZihhKTthPWMuY2FsbChkLGIpfXJldHVybiBhfTsKV2U9ZnVuY3Rpb24oYSl7YT1hW1hlXTtyZXR1cm4gYSBpbnN0YW5jZW9mIE9lP2E6bnVsbH07VGU9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbZmZdfHwoYVtmZl09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtmZl19O18uZ2Y9ZnVuY3Rpb24oKXtfLmFlLmNhbGwodGhpcyk7dGhpcy5vPW5ldyBPZSh0aGlzKTt0aGlzLkZhPXRoaXM7dGhpcy5NPW51bGx9O18uYmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYS5vLmFkZChTdHJpbmcoYiksYywhMCxkLGUpfTsKaGY9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1hLm8ubGlzdGVuZXJzW1N0cmluZyhiKV07aWYoIWIpcmV0dXJuITA7Yj1iLmNvbmNhdCgpO3ZhciBlPSEwO2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7KytmKXtsZXQgaD1iW2ZdO2lmKGgmJiFoLk5oJiZoLmNhcHR1cmU9PWMpe2xldCBrPWgubGlzdGVuZXIsbD1oLmhhbmRsZXJ8fGguc3JjO2guemkmJlBlKGEubyxoKTtlPWsuY2FsbChsLGQpIT09ITEmJmV9fXJldHVybiBlJiYhZC5kZWZhdWx0UHJldmVudGVkfTtsZj1mdW5jdGlvbigpe3ZhciBhPV8uamY7a2YuaW5zdGFuY2V8fChrZi5pbnN0YW5jZT1uZXcga2YoYSkpO3JldHVybiBrZi5pbnN0YW5jZX07Cm1mPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQj9hLkI6YS5CPW5ldyBQcm9taXNlKGFzeW5jIGM9Pnt2YXIgZD13aW5kb3cuQWJvcnRDb250cm9sbGVyP25ldyB3aW5kb3cuQWJvcnRDb250cm9sbGVyOnZvaWQgMCxlPWQ/LnNpZ25hbCxmPSExO3RyeXtkJiYoYS5qPWEuRGMucGIoKCk9PntkLmFib3J0KCl9LGJ8fDJFNCkpLGF3YWl0IGZldGNoKCIvZ2VuZXJhdGVfMjA0Iix7bWV0aG9kOiJIRUFEIixzaWduYWw6ZX0pLGY9ITB9Y2F0Y2h7Zj0hMX1maW5hbGx5e2EuQj12b2lkIDAsYS5qJiYoYS5EYy5BYShhLmopLGEuaj0wKSxmIT09YS5pc09ubGluZSYmKGEuaXNPbmxpbmU9ZixhLmlzT25saW5lP2EuZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTphLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxjKGYpfX0pfTsKbmY9ZnVuY3Rpb24oYSl7YS5EPWEuRGMucGIoYXN5bmMoKT0+e2EuaXNPbmxpbmU/d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHxhd2FpdCBtZihhKTphd2FpdCBtZihhKTtuZihhKX0sM0U0KX07b2Y9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKChjLGQpPT57YT1jO2I9ZH0pLHJlc29sdmU6YSxyZWplY3Q6Yn19O3JmPWZ1bmN0aW9uKGEpe3ZhciB7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH09b2YoKTtwZi5zZXQoYSx7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH0pO3FmfHwocWY9W10scXVldWVNaWNyb3Rhc2soKCk9Pnt2YXIgZT1bLi4ucWZdO3FmPW51bGw7dmFyIGY9Xy5WZCgpLmFmKGUpO2ZvcihsZXQgaCBvZiBlKWZbaF0udGhlbihwZi5nZXQoaCkucmVzb2x2ZSxwZi5nZXQoaCkucmVqZWN0KX0pKTtxZi5wdXNoKGEpO3JldHVybiBifTsKXy5zZj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTt0Zj1mdW5jdGlvbihhLGIpe2EuQihiKTthLm88MTAwJiYoYS5vKyssYi5uZXh0PWEuaixhLmo9Yil9O3hmPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9dWYucmVtb3ZlKCk7KXt0cnl7YS5mbi5jYWxsKGEuc2NvcGUpfWNhdGNoKGIpe18uJGIoYil9dGYodmYsYSl9d2Y9ITF9O18ueWY9ZnVuY3Rpb24oYSl7YS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITB9O3pmPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3RyeXtyZXR1cm4hIWEuJGdvb2dfVGhlbmFibGV9Y2F0Y2goYil7cmV0dXJuITF9fTsKXy5CZj1mdW5jdGlvbihhLGIpe3RoaXMuaj0wO3RoaXMuST12b2lkIDA7dGhpcy5CPXRoaXMubz10aGlzLnY9bnVsbDt0aGlzLkQ9dGhpcy5LPSExO2lmKGEhPV8uZ2QpdHJ5e2xldCBjPXRoaXM7YS5jYWxsKGIsZnVuY3Rpb24oZCl7Xy5BZihjLDIsZCl9LGZ1bmN0aW9uKGQpe18uQWYoYywzLGQpfSl9Y2F0Y2goYyl7Xy5BZih0aGlzLDMsYyl9fTtDZj1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmNvbnRleHQ9dGhpcy5qPXRoaXMubz10aGlzLmNoaWxkPW51bGw7dGhpcy52PSExfTtfLkVmPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1EZi5nZXQoKTtkLm89YTtkLmo9YjtkLmNvbnRleHQ9YztyZXR1cm4gZH07Xy5IZj1mdW5jdGlvbihhLGIsYyl7RmYoYSxiLGMsbnVsbCl8fEdmKF8uRGEoYixhKSl9OwpfLklmPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe3ZhciBkPWEubGVuZ3RoLGU9W107aWYoZCl7dmFyIGY9ZnVuY3Rpb24obCxtKXtkLS07ZVtsXT1tO2Q9PTAmJmIoZSl9LGg9ZnVuY3Rpb24obCl7YyhsKX07Zm9yKGxldCBsPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBrPWFbbF07Xy5IZihrLF8uRGEoZixsKSxoKX19ZWxzZSBiKGUpfSl9O0tmPWZ1bmN0aW9uKGEsYixjLGQpe18uSmYoYSxfLkVmKGJ8fF8uZ2QsY3x8bnVsbCxkKSl9OwpMZj1mdW5jdGlvbihhLGIpe2lmKGEuaj09MClpZihhLnYpe3ZhciBjPWEudjtpZihjLm8pe3ZhciBkPTAsZT1udWxsLGY9bnVsbDtmb3IobGV0IGg9Yy5vO2gmJihoLnZ8fChkKyssaC5jaGlsZD09YSYmKGU9aCksIShlJiZkPjEpKSk7aD1oLm5leHQpZXx8KGY9aCk7ZSYmKGMuaj09MCYmZD09MT9MZihjLGIpOihmPyhkPWYsZC5uZXh0PT1jLkImJihjLkI9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTpNZihjKSxOZihjLGUsMyxiKSkpfWEudj1udWxsfWVsc2UgXy5BZihhLDMsYil9O18uSmY9ZnVuY3Rpb24oYSxiKXthLm98fGEuaiE9MiYmYS5qIT0zfHxPZihhKTthLkI/YS5CLm5leHQ9YjphLm89YjthLkI9Yn07ClFmPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPV8uRWYobnVsbCxudWxsLG51bGwpO2UuY2hpbGQ9bmV3IF8uQmYoZnVuY3Rpb24oZixoKXtlLm89Yj9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yi5jYWxsKGQsayk7ZihsKX1jYXRjaChsKXtoKGwpfX06ZjtlLmo9Yz9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yy5jYWxsKGQsayk7bD09PXZvaWQgMCYmayBpbnN0YW5jZW9mIF8uUGY/aChrKTpmKGwpfWNhdGNoKGwpe2gobCl9fTpofSk7ZS5jaGlsZC52PWE7Xy5KZihhLGUpO3JldHVybiBlLmNoaWxkfTtfLkFmPWZ1bmN0aW9uKGEsYixjKXthLmo9PTAmJihhPT09YyYmKGI9MyxjPW5ldyBUeXBlRXJyb3IoIlEiKSksYS5qPTEsRmYoYyxhLm5CLGEub0IsYSl8fChhLkk9YyxhLmo9YixhLnY9bnVsbCxPZihhKSxiIT0zfHxjIGluc3RhbmNlb2YgXy5QZnx8UmYoYSxjKSkpfTsKRmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSBpbnN0YW5jZW9mIF8uQmYpcmV0dXJuIEtmKGEsYixjLGQpLCEwO2lmKHpmKGEpKXJldHVybiBhLnRoZW4oYixjLGQpLCEwO2lmKF8uQWEoYSkpdHJ5e2xldCBlPWEudGhlbjtpZih0eXBlb2YgZT09PSJmdW5jdGlvbiIpcmV0dXJuIFNmKGEsZSxiLGMsZCksITB9Y2F0Y2goZSl7cmV0dXJuIGMuY2FsbChkLGUpLCEwfXJldHVybiExfTtTZj1mdW5jdGlvbihhLGIsYyxkLGUpe2Z1bmN0aW9uIGYobCl7a3x8KGs9ITAsZC5jYWxsKGUsbCkpfWZ1bmN0aW9uIGgobCl7a3x8KGs9ITAsYy5jYWxsKGUsbCkpfXZhciBrPSExO3RyeXtiLmNhbGwoYSxoLGYpfWNhdGNoKGwpe2YobCl9fTtPZj1mdW5jdGlvbihhKXthLkt8fChhLks9ITAsR2YoYS50dCxhKSl9O01mPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5vJiYoYj1hLm8sYS5vPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5vfHwoYS5CPW51bGwpO3JldHVybiBifTsKTmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09MyYmYi5qJiYhYi52KWZvcig7YSYmYS5EO2E9YS52KWEuRD0hMTtpZihiLmNoaWxkKWIuY2hpbGQudj1udWxsLFRmKGIsYyxkKTtlbHNlIHRyeXtiLnY/Yi5vLmNhbGwoYi5jb250ZXh0KTpUZihiLGMsZCl9Y2F0Y2goZSl7Xy5VZi5jYWxsKG51bGwsZSl9dGYoRGYsYil9O1RmPWZ1bmN0aW9uKGEsYixjKXtiPT0yP2Euby5jYWxsKGEuY29udGV4dCxjKTphLmomJmEuai5jYWxsKGEuY29udGV4dCxjKX07UmY9ZnVuY3Rpb24oYSxiKXthLkQ9ITA7R2YoZnVuY3Rpb24oKXthLkQmJl8uVWYuY2FsbChudWxsLGIpfSl9O18uUGY9ZnVuY3Rpb24oYSl7Xy5MYS5jYWxsKHRoaXMsYSl9O1dmPWZ1bmN0aW9uKGEpe3JldHVybiBWZihhKS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBKU09OLnBhcnNlKGIucmVzcG9uc2VUZXh0KX0pfTsKVmY9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuKG5ldyBfLkJmKGZ1bmN0aW9uKGQsZSl7dmFyIGY7dHJ5e2Mub3BlbigiR0VUIixhLCEwKX1jYXRjaChoKXtlKG5ldyBYZigiRXJyb3Igb3BlbmluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfWMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoYy5yZWFkeVN0YXRlPT00KXtfLnUuY2xlYXJUaW1lb3V0KGYpO3ZhciBoOyEoaD1fLnNmKGMuc3RhdHVzKSkmJihoPWMuc3RhdHVzPT09MCkmJihoPV8uT2IoYSksaD0hKGg9PSJodHRwInx8aD09Imh0dHBzInx8aD09IiIpKTtoP2QoYyk6ZShuZXcgWWYoYy5zdGF0dXMsYSxjKSl9fTtjLm9uZXJyb3I9ZnVuY3Rpb24oKXtlKG5ldyBYZigiTmV0d29yayBlcnJvciIsYSxjKSl9O2lmKGIuaGVhZGVycylmb3IobGV0IGggaW4gYi5oZWFkZXJzKXtsZXQgaz1iLmhlYWRlcnNbaF07ayE9bnVsbCYmYy5zZXRSZXF1ZXN0SGVhZGVyKGgsayl9Yi53aXRoQ3JlZGVudGlhbHMmJgooYy53aXRoQ3JlZGVudGlhbHM9Yi53aXRoQ3JlZGVudGlhbHMpO2IucmVzcG9uc2VUeXBlJiYoYy5yZXNwb25zZVR5cGU9Yi5yZXNwb25zZVR5cGUpO2IubWltZVR5cGUmJmMub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKTtiLnRpbWVvdXRNcz4wJiYoZj1fLnUuc2V0VGltZW91dChmdW5jdGlvbigpe2Mub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57fTtjLmFib3J0KCk7ZShuZXcgWmYoYSxjKSl9LGIudGltZW91dE1zKSk7dHJ5e2Muc2VuZChudWxsKX1jYXRjaChoKXtjLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e30sXy51LmNsZWFyVGltZW91dChmKSxlKG5ldyBYZigiRXJyb3Igc2VuZGluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfX0pKS5LZyhmdW5jdGlvbihkKXtkIGluc3RhbmNlb2YgXy5QZiYmYy5hYm9ydCgpO3Rocm93IGQ7fSl9O1hmPWZ1bmN0aW9uKGEsYil7Xy5MYS5jYWxsKHRoaXMsYSsiLCB1cmw9IitiKTt0aGlzLnVybD1ifTsKWWY9ZnVuY3Rpb24oYSxiLGMpe1hmLmNhbGwodGhpcywiUmVxdWVzdCBGYWlsZWQsIHN0YXR1cz0iK2EsYixjKTt0aGlzLnN0YXR1cz1hfTtaZj1mdW5jdGlvbihhLGIpe1hmLmNhbGwodGhpcywiUmVxdWVzdCB0aW1lZCBvdXQiLGEsYil9O18uJGY9ZnVuY3Rpb24oYSxiLGMsZCxlPWIpe3ZhciBmPWIubGVuZ3RoLGg9KCk9PntmPTA7YS5vbmxvYWQ9bnVsbDthLm9uZXJyb3I9bnVsbDtrPSgpPT57fX0saz0oKT0+e2goKTt2YXIgbT1lLmZpbHRlcihuPT4hXy5WZCgpLkxhKG4pLmlzTG9hZGVkKCkpO20ubGVuZ3RoIT09MD9kKG0sYFJlc3BvbnNlIHdhcyBzdWNjZXNzZnVsIGJ1dCB3YXMgbWlzc2luZyBtb2R1bGUocykgJHttfS5gKTpjKCl9LGw9KCk9PntmLS07Zj09MCYmaygpfTtiLmZvckVhY2gobT0+e209Xy5WZCgpLkxhKG0pO20uaXNMb2FkZWQoKT9sKCk6KGZlKG0sbCksaGUobSxsKSl9KTthLm9ubG9hZD0oKT0+aygpO2Eub25lcnJvcj0oKT0+e2goKTtkKGIpfX07Cl8uYWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMSxkPVtdO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7KytlKXtsZXQgZj1iW2VdO2EuQltmXXx8KGEuQltmXT0hMCxhLloucHVzaChmKSxjPSEwLGQucHVzaChmKSl9YyYmKGEub2E9ITEpfTtiZz1mdW5jdGlvbihhLGIpe2lmKGIuaHJlZnx8Yi5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKWlmKGI9Yi5ocmVmfHxiLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIikscmUoYikmJiFxZShiKS5vLmVuZHNXaXRoKCJfL2pzLyIpKXtiPXllKHFlKGIpKTtmb3IobGV0IGMgb2YgYilhLmhhLmluY2x1ZGVzKGMpfHxhLmhhLnB1c2goYyl9fTtkZz1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPSgpPT57fSxmPSExKXtjZyhhLGIsKGgsayxsPWspPT57YS5NYSYmZj9hLlFhKGgsayxkLGUsbCk6YS5sb2FkKGgsayxkLGUsbCxjKX0sYyl8fGQoLTEpfTtlZz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmZpbHRlcihjPT4hYS5CW2NdKX07CmZnPWZ1bmN0aW9uKGEsYixjLHtZZDpkLG9uRXJyb3I6ZSxvblN1Y2Nlc3M6Zixmb3JjZVJlbG9hZDpofT17fSl7YS5NPWM7aWYoIWIpdGhyb3cgRXJyb3IoIlMiKTtpZihhLlZkKXtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIikpYmcoYSxrKTtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSliZyhhLGspfWRnKGEsZWcoYSxiKSxkLGUsZixoKX07CmNnPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEudilyZXR1cm4gYS52LnRoZW4oKCk9PntjZyhhLGIsYyxkKX0pLCEwO2lmKCFhLkQpe2xldCBmPVtdO3ZhciBlPU9iamVjdC5hc3NpZ24oe30sYS5CKTtnZyhhLGIsaD0+e2YucHVzaChoLmdldElkKCkpfSxkLGg9PiFoLmlzTG9hZGVkKCksZSk7Yj1mfWZvcihlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWIubGVuZ3RoLWUsaD1lPT0wP2I6Yi5zbGljZShlLGIubGVuZ3RoKSxrPWhnKGEsaCxkKSxsPV8uVWEoaykudG9TdHJpbmcoKTtmb3IoO2wubGVuZ3RoPmEuZGk7KWlmKGY+MSlmLT1NYXRoLmNlaWwoKGwubGVuZ3RoLWEuZGkpLzYpLGY9TWF0aC5tYXgoZiwxKSxoPWIuc2xpY2UoZSxlK2YpLGs9aGcoYSxoLGQpLGw9Xy5VYShrKS50b1N0cmluZygpO2Vsc2UgcmV0dXJuIGEuRD8oYS5EPSExLGEudj1pZyhhKS50aGVuKG09PntqZyhhLG0sZCl9KSxjZyhhLGIuc2xpY2UoZSksYyxkKSk6ITE7ZSs9ZjthLkQ/YyhrLGgpOmMoayxoLGU9PT1iLmxlbmd0aD8KYjpbXSl9cmV0dXJuITB9O2tnPWZ1bmN0aW9uKGEpe2Eub2F8fChhLm9hPSEwLGEuWi5zb3J0KCkpO3JldHVybiBhLlp9O2xnPWZ1bmN0aW9uKGEpe2E9YS5oYTthLnNvcnQoKTtyZXR1cm4gYX07aGc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLkQ/bWcoYS5ZLGIse2Nzc1Jvd0tleTphLkZhLEtlOmEueWEsWWQ6YyxtbjprZyhhKSxsbjpsZyhhKX0pOm5nKGEuWSxiLHtjc3NSb3dLZXk6YS5GYSxLZTphLnlhLG1uOmtnKGEpLGxuOmxnKGEpfSl9O18ub2c9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoOysrZCl7bGV0IGU9YltkXTthLkJbZV0mJihkZWxldGUgYS5CW2VdLF8ueGIoYS5aLGUpLGMucHVzaChlKSl9fTsKXy5wZz1mdW5jdGlvbihhLGIsYyxkLGUsZixoPWQpe2EuST1jO2EuZ2EuaW5zZXJ0QmVmb3JlKGMsYS5nYS5maXJzdENoaWxkKTtfLiRmKGMsZCwoKT0+e2MucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChjKTthLkk9PWMmJihhLkk9bnVsbCk7ZigpfSxrPT57Yy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGMpO2EuST09YyYmKGEuST1udWxsKTtfLm9nKGEsayk7YS52P2Eudi50aGVuKCgpPT57ZSgtMSxiKX0pOmUoLTEsYil9LGgpfTtnZz1mdW5jdGlvbihhLGIsYyxkLGUsZj17fSl7dmFyIGg9Xy5WZCgpO2ZvcihsZXQgayBvZiBiKXtiPWguTGEoayk7aWYoZltrXXx8ZSYmIWUoYikpY29udGludWU7ZltrXT0hMDtsZXQgbD1iLmp8fFtdO2lmKGQpe2xldCBtPVtdO2lmKGQgaW5zdGFuY2VvZiBNYXApe2xldCBuPWQuZ2V0KGspO24mJihtPUFycmF5LmZyb20obikpfWVsc2UgZFtrXSYmKG09T2JqZWN0LmtleXMoZFtrXSkpO2w9bC5jb25jYXQobSl9Z2coYSxsLGMsZCxlLGYpO2MoYil9fTsKaWc9ZnVuY3Rpb24oYSl7YT1hLlkuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwibWQiLCIxIik7cmV0dXJuIFdmKGEudG9TdHJpbmcoKSl9O2pnPWZ1bmN0aW9uKGEsYixjKXtfLlZkKCkuVGgoKGJ8fHt9KS5tb2R1bGVHcmFwaCk7Z2coYSxrZyhhKSxkPT57Xy5hZyhhLFtkLmdldElkKCldKX0sYyk7YS52PW51bGx9O3JnPWZ1bmN0aW9uKGEpe2E9YS5idWYuY2hhckNvZGVBdChhLnBvcysrKTtyZXR1cm4gcWdbYV19O3NnPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz0wO2Rve3ZhciBkPXJnKGEpO2J8PShkJjMxKTw8YztjKz01fXdoaWxlKGQmMzIpO3JldHVybiBiPDA/Yis0Mjk0OTY3Mjk2OmJ9O3RnPWZ1bmN0aW9uKGEsYil7dGhpcy5EPVtdO3RoaXMuWj1hO3RoaXMuVT1ifHxudWxsO3RoaXMuQj10aGlzLmo9ITE7dGhpcy52PXZvaWQgMDt0aGlzLk09dGhpcy5nYT10aGlzLkk9ITE7dGhpcy5LPTA7dGhpcy5vPW51bGw7dGhpcy5ZPTB9Owp2Zz1mdW5jdGlvbihhLGIsYyl7YS5qPSEwO2Eudj1jO2EuQj0hYjt1ZyhhKX07eGc9ZnVuY3Rpb24oYSl7aWYoYS5qKXtpZighYS5NKXRocm93IG5ldyB3ZyhhKTthLk09ITF9fTt6Zz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmo7ZXx8KGI9PT1jP2I9Yz0oMCxfLnlnKShiKTooYj0oMCxfLnlnKShiKSxjPSgwLF8ueWcpKGMpKSk7YS5ELnB1c2goW2IsYyxkXSk7ZSYmdWcoYSl9O0FnPWZ1bmN0aW9uKGEpe3JldHVybiBfLnViKGEuRCxmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9Owp1Zz1mdW5jdGlvbihhKXtpZihhLksmJmEuaiYmQWcoYSkpe3ZhciBiPWEuSyxjPUJnW2JdO2MmJihfLnUuY2xlYXJUaW1lb3V0KGMuaiksZGVsZXRlIEJnW2JdKTthLks9MH1hLm8mJihhLm8uWS0tLGRlbGV0ZSBhLm8pO2I9YS52O2Zvcih2YXIgZD1jPSExO2EuRC5sZW5ndGgmJiFhLkk7KXt2YXIgZT1hLkQuc2hpZnQoKSxmPWVbMF07bGV0IGs9ZVsxXTtlPWVbMl07aWYoZj1hLkI/azpmKXRyeXt2YXIgaD1mLmNhbGwoZXx8YS5VLGIpO2g9PT1DZyYmKGg9dm9pZCAwKTtoIT09dm9pZCAwJiYoYS5CPWEuQiYmKGg9PWJ8fGEuaXNFcnJvcihoKSksYS52PWI9aCk7aWYoemYoYil8fHR5cGVvZiBfLnUuUHJvbWlzZT09PSJmdW5jdGlvbiImJmIgaW5zdGFuY2VvZiBfLnUuUHJvbWlzZSlkPSEwLGEuST0hMH1jYXRjaChsKXtiPWwsYS5CPSEwLEFnKGEpfHwoYz0hMCl9fWEudj1iO2QmJihoPSgwLF8uQ2EpKGEuc3AsYSwhMCksZD0oMCxfLkNhKShhLnNwLGEsITEpLGIgaW5zdGFuY2VvZiB0Zz8KKHpnKGIsaCxkKSxiLmdhPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IERnKGIpLEJnW2Iual09YixhLks9Yi5qKX07RWc9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRnO2EudGhlbihmdW5jdGlvbihjKXtiLmNhbGxiYWNrKGMpfSxmdW5jdGlvbihjKXt4ZyhiKTt2ZyhiLCExLGMpfSk7cmV0dXJuIGJ9O3dnPWZ1bmN0aW9uKCl7Xy5MYS5jYWxsKHRoaXMpfTtGZz1mdW5jdGlvbigpe18uTGEuY2FsbCh0aGlzKX07RGc9ZnVuY3Rpb24oYSl7dGhpcy5qPV8udS5zZXRUaW1lb3V0KCgwLF8uQ2EpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLm89YX07CkhnPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnR5cGUpe2Nhc2UgR2cuVHlwZS5wbzpyZXR1cm4iVW5hdXRob3JpemVkIjtjYXNlIEdnLlR5cGUucGs6cmV0dXJuIkNvbnNlY3V0aXZlIGxvYWQgZmFpbHVyZXMiO2Nhc2UgR2cuVHlwZS5USU1FT1VUOnJldHVybiJUaW1lZCBvdXQiO2Nhc2UgR2cuVHlwZS5obzpyZXR1cm4iT3V0IG9mIGRhdGUgbW9kdWxlIGlkIjtjYXNlIEdnLlR5cGUudWs6cmV0dXJuIkluaXQgZXJyb3IiO2RlZmF1bHQ6cmV0dXJuYFVua25vd24gZmFpbHVyZSB0eXBlICR7YS50eXBlfWB9fTsKSWc9ZnVuY3Rpb24oKXt0aGlzLmhhPXRoaXMuWT1udWxsO3RoaXMuRD1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMuSz1bXTt0aGlzLlU9bmV3IFNldDt0aGlzLnY9W107dGhpcy5JPW5ldyBTZXQ7dGhpcy5qPUFlP25ldyBNYXA6e307dGhpcy5NPW5ldyBNYXA7dGhpcy5vPXRoaXMuWj1uZXcgdmEuT2coW10sIiIpO3RoaXMueWE9bnVsbDt0aGlzLmdhPW5ldyB0Zzt0aGlzLkZhPXRoaXMuUWE9dGhpcy5NYT10aGlzLm9hPSExfTtKZz1mdW5jdGlvbihhLGIpe18uTGEuY2FsbCh0aGlzLGBFcnJvciBsb2FkaW5nICR7YX06ICR7Yn1gKX07Ck9nPWZ1bmN0aW9uKGEsYil7aWYoIUtnKXtmb3IodmFyIGM9MDtjPDY0O2MrKylxZ1siQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckNvZGVBdChjKV09YztLZz0hMH1iPXtidWY6Yixwb3M6Mn07c2coYik7Yz1zZyhiKTt2YXIgZD1zZyhiKSsxLGU9QXJyYXkoYyksZj1BcnJheShjKSxoPUFycmF5KGMpO2Q9QXJyYXkoZCk7dmFyIGs9MCxsPTAsbT1iLmJ1ZixuPWIucG9zLHA9Yi5idWYuaW5kZXhPZigifCIsYi5wb3MpO2IucG9zPXArMTtmb3IocD0wO3A8YztwKyspe3ZhciByPXNnKGIpLHQ9ciYyLHY9ciYxO3I+Pj49Mjt2PyhrKz1yPj4+MV4tKHImMSkscj0ic3kiK2sudG9TdHJpbmcoMzYpKToodj1uLG4rPXIscj1tLnN1YnN0cmluZyh2LG4pKTtlW3BdPXI7dCYmKGRbbCsrXT1yKX1kW2xdPSIiO2IucG9zKys7bD1jJi0yO2s9YyYxO2ZvcihtPTA7bTxsO20rPTIpbj1yZyhiKSxoW21dPW4mNyxoW20rMV09Cm4+Pj4zJjc7ayYmKGs9cmcoYiksaFtsXT1rJjcpO2IucG9zKys7Zm9yKGw9MDtsPGM7bCsrKWhbbF09PT03JiYoaFtsXT1zZyhiKSk7Yi5wb3MrKztsPTA7Zm9yKGs9MDtrPGM7aysrKXttPWhba107bj1tPT09MD9MZzpBcnJheShtKTtmW2tdPW47cD1sO2Zvcih0PTA7dDxtO3QrKylwLT1zZyhiKSxuW3RdPWRbcF07ZFtsXT09PWVba10mJmwrK312YXIge2lkczp6LGRlcGVuZGVuY2llczpFfT17aWRzOmUsZGVwZW5kZW5jaWVzOmZ9O2ZvcihiPTA7Yjx6Lmxlbmd0aDtiKyspTmcoYSx6W2JdLEVbYl0pO2EuaGE9en07Umc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NYSxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoUGcoYSxjP1FnLk1zOlFnLklETEUpLGEuTWE9Yyk7Yj1hLkZxKCk7YiE9YS5RYSYmKFBnKGEsYj9RZy5odTpRZy5pdSksYS5RYT1iKX07Tmc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuRC5nZXQoYik7ZD9kLmo9YzphLkQuc2V0KGIsbmV3IHZhLk9nKGMsYikpfTsKVGc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoYik7Yj1bXTt2YXIgZT17fTtmb3IobGV0IGYgb2YgZCl7ZD1hLkxhKGYpO2lmKCFkKXRocm93IEVycm9yKCJVYCIrZik7bGV0IGg9bmV3IHRnO2VbZl09aDtkLmlzTG9hZGVkKCk/aC5jYWxsYmFjayhudWxsKTooU2coYSxmLGQsISFjLGgpLGEudWgoZil8fGIucHVzaChmKSl9Yi5sZW5ndGg+MCYmKGEuQi5zaXplPT09MD9hLnNqKGIpOihhLnYucHVzaChiKSxSZyhhKSkpO3JldHVybiBlfTtTZz1mdW5jdGlvbihhLGIsYyxkLGUpe2dlKGMsZS5jYWxsYmFjayxlKTtoZShjLGZ1bmN0aW9uKGYpe2Y9bmV3IEpnKGIsZik7eGcoZSk7dmcoZSwhMSxmKX0pO2EudWgoYik/ZCYmKGEuSS5hZGQoYiksUmcoYSkpOmQmJmEuSS5hZGQoYil9OwpVZz1mdW5jdGlvbihhLGIpe2lmKCFhLm8uaGFzKGIpJiYoYS5vLmFkZChiKSwhYS5qLlUuaGFzKGIpKSl7dmFyIGM9YS5qLkxhKGIpO2lmKGMmJiFjLmlzTG9hZGVkKCkpe2M9Yy5qO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKVVnKGEsY1tkXSk7YS5yZXN1bHQucHVzaChiKX19fTtZZz1mdW5jdGlvbihhLGIpe2I9Yi5maWx0ZXIoZT0+YS5ELmdldChlKS5pc0xvYWRlZCgpPyhfLnUuc2V0VGltZW91dCgoKT0+RXJyb3IoIlhgIitlKSwwKSwhMSk6ITApO2lmKFZnKXt2YXIgYz1uZXcgV2coYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspVWcoYyxiW2RdKTtjPWMucmVzdWx0fWVsc2V7Yz1bXTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKWM9Yy5jb25jYXQoWGcoYSxiW2RdKSk7QWIoYyl9cmV0dXJuIWEub2EmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEudj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS52KSxbYl0pOmN9OwpYZz1mdW5jdGlvbihhLGIpe2lmKFZnKXJldHVybiBhPW5ldyBXZyhhKSxVZyhhLGIpLGEucmVzdWx0O3ZhciBjPVtdO2EuVS5oYXMoYil8fGMucHVzaChiKTtiPVtiXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YS5MYShiW2RdKS5qO2ZvcihsZXQgZj1lLmxlbmd0aC0xO2Y+PTA7Zi0tKXtsZXQgaD1lW2ZdO2EuTGEoaCkuaXNMb2FkZWQoKXx8YS5VLmhhcyhoKXx8KGMucHVzaChoKSxiLnB1c2goaCkpfX1jLnJldmVyc2UoKTtBYihjKTtyZXR1cm4gY307CmJoPWZ1bmN0aW9uKGEsYixjLGQsZSxmPTAsaD0hMSl7dmFyIGs9aD8wOmYrMTtmPV8ueWIoYyk7YS5LPWI7Zm9yKGxldCBsIG9mIGMpYS5VLmRlbGV0ZShsKTtpZihkPT00MDEpWmcoYSxuZXcgdmEub2IodmEub2IuVHlwZS5wbyxkKSksYS52Lmxlbmd0aD0wO2Vsc2UgaWYoZD09NDEwKSRnKGEsbmV3IHZhLm9iKHZhLm9iLlR5cGUuaG8sZCkpLGFoKGEpO2Vsc2UgaWYoaz49MylbLi4uYS5CXSwkZyhhLG5ldyB2YS5vYih2YS5vYi5UeXBlLnBrLGQsZixlKSksYWgoYSk7ZWxzZXtbLi4uYS5CXTtsZXQgbD1kPT04MDAxfHwhMTsoYz1NYXRoLnBvdyhrLDIpKjVFMyk/Xy51LnNldFRpbWVvdXQoKCk9PnthLnNqKGIsayxsKX0sYyk6YS5zaihiLGssbCl9fTskZz1mdW5jdGlvbihhLGIpe2EuSy5sZW5ndGg+MT9hLnY9YS5LLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS52KTpaZyhhLGIpfTsKWmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLks7YS5CLmNsZWFyKCk7dmFyIGQ9W107Zm9yKHZhciBlPTA7ZTxhLnYubGVuZ3RoO2UrKyl7dmFyIGY9YS52W2VdLmZpbHRlcihmdW5jdGlvbihoKXt2YXIgaz1YZyh0aGlzLGgpO3JldHVybiBfLnViKGMsZnVuY3Rpb24obCl7cmV0dXJuIF8uc2IoayxsKT49MH0pfSxhKTt6YihkLGYpfWZvcihlPTA7ZTxjLmxlbmd0aDtlKyspd2IoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS52Lmxlbmd0aDtmKyspXy54YihhLnZbZl0sZFtlXSk7YS5JLmRlbGV0ZShkW2VdKX1pZihlPWEuTS5nZXQoUWcuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspe2xldCBoPWVbZl07Zm9yKGxldCBrPTA7azxkLmxlbmd0aDtrKyspaChRZy5FUlJPUixkW2tdLGIpfWZvcihkPTA7ZDxjLmxlbmd0aDtkKyspaWYoZT1hLkQuZ2V0KGNbZF0pKWUub25FcnJvcihiKTthLksubGVuZ3RoPTA7UmcoYSl9OwphaD1mdW5jdGlvbihhKXtmb3IoO2Eudi5sZW5ndGg7KXtsZXQgYj1hLnYuc2hpZnQoKS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIXRoaXMuTGEoYykuaXNMb2FkZWQoKX0sYSk7aWYoYi5sZW5ndGg+MCl7YS5zaihiKTtyZXR1cm59fVJnKGEpfTtQZz1mdW5jdGlvbihhLGIpe2E9YS5NLmdldChiKTtmb3IobGV0IGM9MDthJiZjPGEubGVuZ3RoO2MrKylhW2NdKGIpfTtjaD1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgZiBvZiBiKWI9YS5MYShmKSwhZS5oYXMoZikmJmQoYikmJihlLmFkZChmKSxjaChhLGIuanx8W10sYyxkLGUpLGMoYikpfTsKZmg9ZnVuY3Rpb24oKXt2YXIgYT17RXU6IkJBVENIIn0sYj1hLmNzc1Jvd0tleXx8IiIsYz1hLktlfHwiIjshYS54SSYmIWImJndpbmRvdyYmd2luZG93Ll9GX2Nzc1Jvd0tleSYmKGI9d2luZG93Ll9GX2Nzc1Jvd0tleSwhYyYmd2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlJiYoYz13aW5kb3cuX0ZfY29tYmluZWRTaWduYXR1cmUpKTtpZighYS5jc3NSb3dLZXkmJmImJnR5cGVvZiB3aW5kb3cuX0ZfaW5zdGFsbENzcyE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIloiKTt2YXIgZD1hLk5KfHxfLmRoLGU9RWUoImJhc2UtanMiKTtiPW5ldyBkKEdiKEZlKCIiLGUpKSxiLGMsITAsITEpO2M9YS5wTHx8ZSYmZS5oYXNBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik7ZT1hLmxJfHxlJiZlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKTtjJiYoYi5maT1jKTtlJiYoYi5XZz1lKTthLmRpJiYoYi5kaT1hLmRpKTthLmZldGNoUHJpb3JpdHkmJihiLmZldGNoUHJpb3JpdHk9YS5mZXRjaFByaW9yaXR5KTsKdmFyIGY9Xy5WZCgpO2YuWT1iO2YuUnIoITApO18uZWg9YS5FdT09PSJCQVRDSCI/cmY6aD0+UHJvbWlzZS5yZXNvbHZlKGYubG9hZChoKSl9O2loPWZ1bmN0aW9uKGEsYil7Yj1iLmZpbHRlcihjPT4hYS51aChjKSYmIWEuTGEoYykuaXNMb2FkZWQoKSk7Yi5sZW5ndGg+MCYmKGdoKGEsLi4uYiksYS5LLnB1c2goYiksaGgoYSkpfTtqaD1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5CZigoYyxkKT0+e3ZhciBlPWEuTGEoYik7ZS5pc0xvYWRlZCgpP2MobnVsbCk6KGdlKGUsKCk9PntjKG51bGwpfSksaGUoZSxmPT57dmFyIGg9YEVycm9yIGxvYWRpbmcgJHtifTogJHtmfWA7ZiBpbnN0YW5jZW9mIHZhLm9iJiZmLnVybCYmKGg9YCR7aH0sIHJlcXVlc3RlZCB1cmw6ICR7Zi51cmwudG9TdHJpbmcoKX1gKTtkKEVycm9yKGgpKX0pKX0pfTsKa2g9ZnVuY3Rpb24oYSxiLGMsZD0oKT0+ITAsZT17fSl7Zm9yKGxldCBmIG9mIGIpYj1hLkxhKGYpLCFlW2ZdJiZkKGIpJiYoZVtmXT0hMCxraChhLGIuanx8W10sYyxkLGUpLGMoYikpfTtsaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57ZGVsZXRlIGEuRFtjXX0pfTtnaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57YS5EW2NdPSEwfSl9OwpoaD1mdW5jdGlvbihhKXtmb3IoO2EuQjxJbmZpbml0eSYmYS5LLmxlbmd0aD4wOyl7bGV0IGI9YS5LLnNoaWZ0KCkuZmlsdGVyKGM9PiFhLkxhKGMpLmlzTG9hZGVkKCkpO2lmKGIubGVuZ3RoPjApe2EuQisrO2xldCBjPSgpPT57YS5CLS07aGgoYSk7Yz0oKT0+e319O18uSWYoYi5tYXAoZj0+amgoYSxmKSkpLnRoZW4oKCk9PntjKCl9KTtsZXQgZD0wLGU9KCk9PntpZigoYS5qIGluc3RhbmNlb2YgTWFwP2Euai5zaXplPjA6T2JqZWN0LmtleXMoYS5qKS5sZW5ndGg+MCkmJiFhLlkuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLlksYixhLnYse1lkOmEuaixvbkVycm9yOihmLGgpPT57dmFyIGs9bWhbZCsrXTtrIT09dm9pZCAwP3NldFRpbWVvdXQoKCk9PntlKCl9LGspOihsaChhLC4uLmIpLGMoKSxiLmZvckVhY2gobD0+e2w9YS5MYShsKTtpZighbC5pc0xvYWRlZCgpKWwub25FcnJvcihuZXcgdmEub2IodmEub2IuVHlwZS5wayxmLGIsaCkpfSkpfX0pfTtlKCl9fX07Cm5oPWZ1bmN0aW9uKGEpe2Euaj09PS0xJiYoYS5qPWEuZGF0YS5yZWR1Y2UoKGIsYyxkKT0+YisoYz8yKipkOjApLDApKTtyZXR1cm4gYS5qfTtfLm9oPWZ1bmN0aW9uKCl7fTtfLnNoPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBwaHx8YSBpbnN0YW5jZW9mIHFofHxhIGluc3RhbmNlb2YgcmgpcmV0dXJuIGE7aWYodHlwZW9mIGEubmV4dD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hKTtpZih0eXBlb2YgYVtTeW1ib2wuaXRlcmF0b3JdPT0iZnVuY3Rpb24iKXJldHVybiBuZXcgcGgoKCk9PmFbU3ltYm9sLml0ZXJhdG9yXSgpKTtpZih0eXBlb2YgYS5iZD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hLmJkKCkpO3Rocm93IEVycm9yKCIkIik7fTtfLnRoPWZ1bmN0aW9uKGEpe18uYWUuY2FsbCh0aGlzKTt0aGlzLkQ9MTt0aGlzLnY9W107dGhpcy5CPTA7dGhpcy5qPVtdO3RoaXMubz17fTt0aGlzLkk9ISFhfTsKdWg9ZnVuY3Rpb24oYSxiLGMpe0dmKGZ1bmN0aW9uKCl7YS5hcHBseShiLGMpfSl9O3ZoPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTt3aD1mdW5jdGlvbihhKXt0aGlzLmo9YX07eGg9ZnVuY3Rpb24oYSl7dGhpcy5kYXRhPWF9O3loPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09dm9pZCAwfHxhIGluc3RhbmNlb2YgeGg/YTpuZXcgeGgoYSl9O18uemg9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O0FoPWZ1bmN0aW9uKCl7fTtCaD1mdW5jdGlvbigpe307Q2g9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5vPW51bGx9O0RoPWZ1bmN0aW9uKGEpe2lmKGEuaj09bnVsbCl0aHJvdyBFcnJvcigiYWEiKTthLmlzQXZhaWxhYmxlKCl8fF8uJGIoRXJyb3IoImFhIikpfTtFaD1mdW5jdGlvbigpe3ZhciBhPW51bGw7dHJ5e2E9Xy51LmxvY2FsU3RvcmFnZXx8bnVsbH1jYXRjaChiKXt9Q2guY2FsbCh0aGlzLGEpfTtGaD1mdW5jdGlvbihhLGIpe3RoaXMubz1hO3RoaXMuaj1iKyI6OiJ9OwpfLkdoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBFaDtyZXR1cm4gYi5pc0F2YWlsYWJsZSgpP2E/bmV3IEZoKGIsYSk6YjpudWxsfTsKSWg9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWEubGVuZ3RoLGU9MDtmb3IoYj0wO2I8ZDtiKyspe3ZhciBmPWEuY2hhckNvZGVBdChiKTtpZigoZiY2NDUxMik9PT01NTI5NiYmYisxPGQpe3ZhciBoPWEuY2hhckNvZGVBdChiKzEpOyhoJjY0NTEyKT09PTU2MzIwJiYoZj02NTUzNisoZi01NTI5Njw8MTApKyhoLTU2MzIwKSxiKyspfWUrPWY8MTI4PzE6ZjwyMDQ4PzI6Zjw2NTUzNj8zOjR9dmFyIGs9bmV3IEhoLnRmKGUpO2ZvcihiPWM9MDtjPGU7YisrKWY9YS5jaGFyQ29kZUF0KGIpLChmJjY0NTEyKT09PTU1Mjk2JiZiKzE8ZCYmKGg9YS5jaGFyQ29kZUF0KGIrMSksKGgmNjQ1MTIpPT09NTYzMjAmJihmPTY1NTM2KyhmLTU1Mjk2PDwxMCkrKGgtNTYzMjApLGIrKykpLGY8MTI4P2tbYysrXT1mOihmPDIwNDg/a1tjKytdPTE5MnxmPj4+NjooZjw2NTUzNj9rW2MrK109MjI0fGY+Pj4xMjooa1tjKytdPTI0MHxmPj4+MTgsa1tjKytdPTEyOHxmPj4+MTImNjMpLGtbYysrXT0xMjh8Zj4+Pgo2JjYzKSxrW2MrK109MTI4fGYmNjMpO3JldHVybiBrfTtKaD1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGg7LS1iPj0wOylhW2JdPTB9O0toPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5Zcj1hO3RoaXMuVXY9Yjt0aGlzLlR2PWM7dGhpcy54dj1kO3RoaXMuRnk9ZTt0aGlzLmVxPWEmJmEubGVuZ3RofTtMaD1mdW5jdGlvbihhLGIpe3RoaXMuRXA9YTt0aGlzLmxnPTA7dGhpcy56ZT1ifTtNaD1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWImMjU1O2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NX07Tmg9ZnVuY3Rpb24oYSxiLGMpe2EuaGI+MTYtYz8oYS5GYnw9Yjw8YS5oYiY2NTUzNSxNaChhLGEuRmIpLGEuRmI9Yj4+MTYtYS5oYixhLmhiKz1jLTE2KTooYS5GYnw9Yjw8YS5oYiY2NTUzNSxhLmhiKz1jKX07T2g9ZnVuY3Rpb24oYSxiLGMpe05oKGEsY1tiKjJdLGNbYioyKzFdKX07ClBoPWZ1bmN0aW9uKGEsYil7dmFyIGM9MDtkbyBjfD1hJjEsYT4+Pj0xLGM8PD0xO3doaWxlKC0tYj4wKTtyZXR1cm4gYz4+PjF9O1FoPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1BcnJheSgxNiksZT0wLGY7Zm9yKGY9MTtmPD0xNTtmKyspZFtmXT1lPWUrY1tmLTFdPDwxO2ZvcihjPTA7Yzw9YjtjKyspZT1hW2MqMisxXSxlIT09MCYmKGFbYyoyXT1QaChkW2VdKyssZSkpfTtSaD1mdW5jdGlvbihhKXt2YXIgYjtmb3IoYj0wO2I8Mjg2O2IrKylhLlFiW2IqMl09MDtmb3IoYj0wO2I8MzA7YisrKWEuUGVbYioyXT0wO2ZvcihiPTA7YjwxOTtiKyspYS5xYltiKjJdPTA7YS5RYls1MTJdPTE7YS5DZD1hLkhnPTA7YS5rYz1hLm1hdGNoZXM9MH07U2g9ZnVuY3Rpb24oYSl7YS5oYj44P01oKGEsYS5GYik6YS5oYj4wJiYoYS5PYVthLnBlbmRpbmcrK109YS5GYik7YS5GYj0wO2EuaGI9MH07ClRoPWZ1bmN0aW9uKGEsYixjKXtTaChhKTtNaChhLGMpO01oKGEsfmMpO0hoLndmKGEuT2EsYS53aW5kb3csYixjLGEucGVuZGluZyk7YS5wZW5kaW5nKz1jfTtVaD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iKjIsZj1jKjI7cmV0dXJuIGFbZV08YVtmXXx8YVtlXT09PWFbZl0mJmRbYl08PWRbY119O1ZoPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YS5oZWFwW2NdLGU9Yzw8MTtlPD1hLnhkOyl7ZTxhLnhkJiZVaChiLGEuaGVhcFtlKzFdLGEuaGVhcFtlXSxhLmRlcHRoKSYmZSsrO2lmKFVoKGIsZCxhLmhlYXBbZV0sYS5kZXB0aCkpYnJlYWs7YS5oZWFwW2NdPWEuaGVhcFtlXTtjPWU7ZTw8PTF9YS5oZWFwW2NdPWR9OwpjaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MDtpZihhLmtjIT09MCl7ZG97dmFyIGU9YS5PYVthLllnK2QqMl08PDh8YS5PYVthLllnK2QqMisxXTt2YXIgZj1hLk9hW2Eua20rZF07ZCsrO2lmKGU9PT0wKU9oKGEsZixiKTtlbHNle3ZhciBoPVdoW2ZdO09oKGEsaCsyNTYrMSxiKTt2YXIgaz1YaFtoXTtrIT09MCYmKGYtPVloW2hdLE5oKGEsZixrKSk7ZS0tO2g9ZTwyNTY/WmhbZV06WmhbMjU2KyhlPj4+NyldO09oKGEsaCxjKTtrPSRoW2hdO2shPT0wJiYoZS09YmlbaF0sTmgoYSxlLGspKX19d2hpbGUoZDxhLmtjKX1PaChhLDI1NixiKX07CmRpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5FcCxkPWIuemUuWXIsZT1iLnplLmVxLGY9Yi56ZS54dixoLGs9LTE7YS54ZD0wO2EuWGY9NTczO2ZvcihoPTA7aDxmO2grKyljW2gqMl0hPT0wPyhhLmhlYXBbKythLnhkXT1rPWgsYS5kZXB0aFtoXT0wKTpjW2gqMisxXT0wO2Zvcig7YS54ZDwyOyl7dmFyIGw9YS5oZWFwWysrYS54ZF09azwyPysrazowO2NbbCoyXT0xO2EuZGVwdGhbbF09MDthLkNkLS07ZSYmKGEuSGctPWRbbCoyKzFdKX1iLmxnPWs7Zm9yKGg9YS54ZD4+MTtoPj0xO2gtLSlWaChhLGMsaCk7bD1mO2RvIGg9YS5oZWFwWzFdLGEuaGVhcFsxXT1hLmhlYXBbYS54ZC0tXSxWaChhLGMsMSksZD1hLmhlYXBbMV0sYS5oZWFwWy0tYS5YZl09aCxhLmhlYXBbLS1hLlhmXT1kLGNbbCoyXT1jW2gqMl0rY1tkKjJdLGEuZGVwdGhbbF09KGEuZGVwdGhbaF0+PWEuZGVwdGhbZF0/YS5kZXB0aFtoXTphLmRlcHRoW2RdKSsxLGNbaCoyKzFdPWNbZCoyKzFdPWwsYS5oZWFwWzFdPWwrKywKVmgoYSxjLDEpO3doaWxlKGEueGQ+PTIpO2EuaGVhcFstLWEuWGZdPWEuaGVhcFsxXTtoPWIuRXA7bD1iLmxnO2Q9Yi56ZS5ZcjtlPWIuemUuZXE7Zj1iLnplLlV2O3ZhciBtPWIuemUuVHYsbj1iLnplLkZ5LHAscj0wO2ZvcihwPTA7cDw9MTU7cCsrKWEua2RbcF09MDtoW2EuaGVhcFthLlhmXSoyKzFdPTA7Zm9yKGI9YS5YZisxO2I8NTczO2IrKyl7dmFyIHQ9YS5oZWFwW2JdO3A9aFtoW3QqMisxXSoyKzFdKzE7cD5uJiYocD1uLHIrKyk7aFt0KjIrMV09cDtpZighKHQ+bCkpe2Eua2RbcF0rKzt2YXIgdj0wO3Q+PW0mJih2PWZbdC1tXSk7dmFyIHo9aFt0KjJdO2EuQ2QrPXoqKHArdik7ZSYmKGEuSGcrPXoqKGRbdCoyKzFdK3YpKX19aWYociE9PTApe2Rve2ZvcihwPW4tMTthLmtkW3BdPT09MDspcC0tO2Eua2RbcF0tLTthLmtkW3ArMV0rPTI7YS5rZFtuXS0tO3ItPTJ9d2hpbGUocj4wKTtmb3IocD1uO3AhPT0wO3AtLSlmb3IodD1hLmtkW3BdO3QhPT0wOylkPWEuaGVhcFstLWJdLApkPmx8fChoW2QqMisxXSE9PXAmJihhLkNkKz0ocC1oW2QqMisxXSkqaFtkKjJdLGhbZCoyKzFdPXApLHQtLSl9UWgoYyxrLGEua2QpfTtlaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2JbKGMrMSkqMisxXT02NTUzNTtmb3IoZD0wO2Q8PWM7ZCsrKXt2YXIgbT1mO2Y9YlsoZCsxKSoyKzFdOysraDxrJiZtPT09Znx8KGg8bD9hLnFiW20qMl0rPWg6bSE9PTA/KG0hPT1lJiZhLnFiW20qMl0rKyxhLnFiWzMyXSsrKTpoPD0xMD9hLnFiWzM0XSsrOmEucWJbMzZdKyssaD0wLGU9bSxmPT09MD8oaz0xMzgsbD0zKTptPT09Zj8oaz02LGw9Myk6KGs9NyxsPTQpKX19OwpmaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2ZvcihkPTA7ZDw9YztkKyspe3ZhciBtPWY7Zj1iWyhkKzEpKjIrMV07aWYoISgrK2g8ayYmbT09PWYpKXtpZihoPGwpe2RvIE9oKGEsbSxhLnFiKTt3aGlsZSgtLWghPT0wKX1lbHNlIG0hPT0wPyhtIT09ZSYmKE9oKGEsbSxhLnFiKSxoLS0pLE9oKGEsMTYsYS5xYiksTmgoYSxoLTMsMikpOmg8PTEwPyhPaChhLDE3LGEucWIpLE5oKGEsaC0zLDMpKTooT2goYSwxOCxhLnFiKSxOaChhLGgtMTEsNykpO2g9MDtlPW07Zj09PTA/KGs9MTM4LGw9Myk6bT09PWY/KGs9NixsPTMpOihrPTcsbD00KX19fTsKZ2k9ZnVuY3Rpb24oYSl7dmFyIGI9NDA5MzYyNDQ0NyxjO2ZvcihjPTA7Yzw9MzE7YysrLGI+Pj49MSlpZihiJjEmJmEuUWJbYyoyXSE9PTApcmV0dXJuIDA7aWYoYS5RYlsxOF0hPT0wfHxhLlFiWzIwXSE9PTB8fGEuUWJbMjZdIT09MClyZXR1cm4gMTtmb3IoYz0zMjtjPDI1NjtjKyspaWYoYS5RYltjKjJdIT09MClyZXR1cm4gMTtyZXR1cm4gMH07aGk9ZnVuY3Rpb24oYSxiLGMpe2EuT2FbYS5ZZythLmtjKjJdPWI+Pj44JjI1NTthLk9hW2EuWWcrYS5rYyoyKzFdPWImMjU1O2EuT2FbYS5rbSthLmtjXT1jJjI1NTthLmtjKys7Yj09PTA/YS5RYltjKjJdKys6KGEubWF0Y2hlcysrLGItLSxhLlFiWyhXaFtjXSsyNTYrMSkqMl0rKyxhLlBlWyhiPDI1Nj9aaFtiXTpaaFsyNTYrKGI+Pj43KV0pKjJdKyspO3JldHVybiBhLmtjPT09YS5BaC0xfTtqaT1mdW5jdGlvbihhLGIpe2EubXNnPWlpW2JdO3JldHVybiBifTsKa2k9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEubGVuZ3RoOy0tYj49MDspYVtiXT0wfTtsaT1mdW5jdGlvbihhKXt2YXIgYj1hLnN0YXRlLGM9Yi5wZW5kaW5nO2M+YS56YSYmKGM9YS56YSk7YyE9PTAmJihIaC53ZihhLm91dHB1dCxiLk9hLGIuSmgsYyxhLnFnKSxhLnFnKz1jLGIuSmgrPWMsYS5Fbis9YyxhLnphLT1jLGIucGVuZGluZy09YyxiLnBlbmRpbmc9PT0wJiYoYi5KaD0wKSl9OwpwaT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWI+PTA/YS5VYjotMSxkPWEuVi1hLlViLGU9MDtpZihhLmxldmVsPjApe2Eud2EuaWw9PT0yJiYoYS53YS5pbD1naShhKSk7ZGkoYSxhLnBqKTtkaShhLGEuSWkpO2VpKGEsYS5RYixhLnBqLmxnKTtlaShhLGEuUGUsYS5JaS5sZyk7ZGkoYSxhLlRvKTtmb3IoZT0xODtlPj0zJiZhLnFiW21pW2VdKjIrMV09PT0wO2UtLSk7YS5DZCs9MyooZSsxKSs1KzUrNDt2YXIgZj1hLkNkKzMrNz4+PjM7dmFyIGg9YS5IZyszKzc+Pj4zO2g8PWYmJihmPWgpfWVsc2UgZj1oPWQrNTtpZihkKzQ8PWYmJmMhPT0tMSlOaChhLGI/MTowLDMpLFRoKGEsYyxkKTtlbHNlIGlmKGEuc3RyYXRlZ3k9PT00fHxoPT09ZilOaChhLDIrKGI/MTowKSwzKSxjaShhLG5pLG9pKTtlbHNle05oKGEsNCsoYj8xOjApLDMpO2M9YS5wai5sZysxO2Q9YS5JaS5sZysxO2UrPTE7TmgoYSxjLTI1Nyw1KTtOaChhLGQtMSw1KTtOaChhLGUtNCw0KTtmb3IoZj0wO2Y8ZTtmKyspTmgoYSwKYS5xYlttaVtmXSoyKzFdLDMpO2ZpKGEsYS5RYixjLTEpO2ZpKGEsYS5QZSxkLTEpO2NpKGEsYS5RYixhLlBlKX1SaChhKTtiJiZTaChhKTthLlViPWEuVjtsaShhLndhKX07cWk9ZnVuY3Rpb24oYSxiKXthLk9hW2EucGVuZGluZysrXT1ifTtyaT1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NTthLk9hW2EucGVuZGluZysrXT1iJjI1NX07CnNpPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5OcSxkPWEuVixlPWEuWWIsZj1hLlNxLGg9YS5WPmEuQmItMjYyP2EuVi0oYS5CYi0yNjIpOjAsaz1hLndpbmRvdyxsPWEuQmUsbT1hLlVhLG49YS5WKzI1OCxwPWtbZCtlLTFdLHI9a1tkK2VdO2EuWWI+PWEuWXAmJihjPj49Mik7Zj5hLmRhJiYoZj1hLmRhKTtkb3t2YXIgdD1iO2lmKGtbdCtlXT09PXImJmtbdCtlLTFdPT09cCYma1t0XT09PWtbZF0mJmtbKyt0XT09PWtbZCsxXSl7ZCs9Mjtmb3IodCsrO2tbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZkPG47KTt0PTI1OC0obi1kKTtkPW4tMjU4O2lmKHQ+ZSl7YS5rZz1iO2U9dDtpZih0Pj1mKWJyZWFrO3A9a1tkK2UtMV07cj1rW2QrZV19fX13aGlsZSgoYj1tW2ImbF0pPmgmJi0tYyE9PTApOwpyZXR1cm4gZTw9YS5kYT9lOmEuZGF9Owp2aT1mdW5jdGlvbihhKXt2YXIgYj1hLkJiLGM7ZG97dmFyIGQ9YS5Lcy1hLmRhLWEuVjtpZihhLlY+PWIrKGItMjYyKSl7SGgud2YoYS53aW5kb3csYS53aW5kb3csYixiLDApO2Eua2ctPWI7YS5WLT1iO2EuVWItPWI7dmFyIGU9Yz1hLmFqO2Rve3ZhciBmPWEuaGVhZFstLWVdO2EuaGVhZFtlXT1mPj1iP2YtYjowfXdoaWxlKC0tYyk7ZT1jPWI7ZG8gZj1hLlVhWy0tZV0sYS5VYVtlXT1mPj1iP2YtYjowO3doaWxlKC0tYyk7ZCs9Yn1pZihhLndhLkRiPT09MClicmVhaztlPWEud2E7Yz1hLndpbmRvdztmPWEuVithLmRhO3ZhciBoPWUuRGI7aD5kJiYoaD1kKTtoPT09MD9jPTA6KGUuRGItPWgsSGgud2YoYyxlLmlucHV0LGUuZmYsaCxmKSxlLnN0YXRlLndyYXA9PT0xP2Uuc2E9dGkoZS5zYSxjLGgsZik6ZS5zdGF0ZS53cmFwPT09MiYmKGUuc2E9dWkoZS5zYSxjLGgsZikpLGUuZmYrPWgsZS5xZis9aCxjPWgpO2EuZGErPWM7aWYoYS5kYSthLnJiPj0zKWZvcihkPWEuVi1hLnJiLGEueGE9CmEud2luZG93W2RdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCsxXSkmYS52ZDthLnJiJiYhKGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCszLTFdKSZhLnZkLGEuVWFbZCZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWQsZCsrLGEucmItLSxhLmRhK2EucmI8Myk7KTt9d2hpbGUoYS5kYTwyNjImJmEud2EuRGIhPT0wKX07CndpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjOzspe2lmKGEuZGE8MjYyKXt2aShhKTtpZihhLmRhPDI2MiYmYj09PTApcmV0dXJuIDE7aWYoYS5kYT09PTApYnJlYWt9Yz0wO2EuZGE+PTMmJihhLnhhPShhLnhhPDxhLndkXmEud2luZG93W2EuViszLTFdKSZhLnZkLGM9YS5VYVthLlYmYS5CZV09YS5oZWFkW2EueGFdLGEuaGVhZFthLnhhXT1hLlYpO2MhPT0wJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYykpO2lmKGEuQmE+PTMpaWYoYz1oaShhLGEuVi1hLmtnLGEuQmEtMyksYS5kYS09YS5CYSxhLkJhPD1hLm9tJiZhLmRhPj0zKXthLkJhLS07ZG8gYS5WKyssYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWEuVjt3aGlsZSgtLWEuQmEhPT0wKTthLlYrK31lbHNlIGEuVis9YS5CYSxhLkJhPTAsYS54YT1hLndpbmRvd1thLlZdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbYS5WKwoxXSkmYS52ZDtlbHNlIGM9aGkoYSwwLGEud2luZG93W2EuVl0pLGEuZGEtLSxhLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9YS5WPDI/YS5WOjI7cmV0dXJuIGI9PT00PyhwaShhLCEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTsKeGk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZDs7KXtpZihhLmRhPDI2Mil7dmkoYSk7aWYoYS5kYTwyNjImJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWM9MDthLmRhPj0zJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxjPWEuVWFbYS5WJmEuQmVdPWEuaGVhZFthLnhhXSxhLmhlYWRbYS54YV09YS5WKTthLlliPWEuQmE7YS5Bcj1hLmtnO2EuQmE9MjtjIT09MCYmYS5ZYjxhLm9tJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYyksYS5CYTw9NSYmKGEuc3RyYXRlZ3k9PT0xfHxhLkJhPT09MyYmYS5WLWEua2c+NDA5NikmJihhLkJhPTIpKTtpZihhLlliPj0zJiZhLkJhPD1hLlliKXtkPWEuVithLmRhLTM7Yz1oaShhLGEuVi0xLWEuQXIsYS5ZYi0zKTthLmRhLT1hLlliLTE7YS5ZYi09MjtkbysrYS5WPD1kJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sCmEuaGVhZFthLnhhXT1hLlYpO3doaWxlKC0tYS5ZYiE9PTApO2EuY2Y9MDthLkJhPTI7YS5WKys7aWYoYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1lbHNlIGlmKGEuY2Ype2lmKChjPWhpKGEsMCxhLndpbmRvd1thLlYtMV0pKSYmcGkoYSwhMSksYS5WKyssYS5kYS0tLGEud2EuemE9PT0wKXJldHVybiAxfWVsc2UgYS5jZj0xLGEuVisrLGEuZGEtLX1hLmNmJiYoaGkoYSwwLGEud2luZG93W2EuVi0xXSksYS5jZj0wKTthLnJiPWEuVjwyP2EuVjoyO3JldHVybiBiPT09ND8ocGkoYSwhMCksYS53YS56YT09PTA/Mzo0KTphLmtjJiYocGkoYSwhMSksYS53YS56YT09PTApPzE6Mn07CnlpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQsZSxmPWEud2luZG93Ozspe2lmKGEuZGE8PTI1OCl7dmkoYSk7aWYoYS5kYTw9MjU4JiZiPT09MClyZXR1cm4gMTtpZihhLmRhPT09MClicmVha31hLkJhPTA7aWYoYS5kYT49MyYmYS5WPjAmJihkPWEuVi0xLGM9ZltkXSxjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdKSl7Zm9yKGU9YS5WKzI1ODtjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZkPGU7KTthLkJhPTI1OC0oZS1kKTthLkJhPmEuZGEmJihhLkJhPWEuZGEpfWEuQmE+PTM/KGM9aGkoYSwxLGEuQmEtMyksYS5kYS09YS5CYSxhLlYrPWEuQmEsYS5CYT0wKTooYz1oaShhLDAsYS53aW5kb3dbYS5WXSksYS5kYS0tLGEuVisrKTtpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsCiEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTt6aT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYzs7KXtpZihhLmRhPT09MCYmKHZpKGEpLGEuZGE9PT0wKSl7aWYoYj09PTApcmV0dXJuIDE7YnJlYWt9YS5CYT0wO2M9aGkoYSwwLGEud2luZG93W2EuVl0pO2EuZGEtLTthLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsITApLGEud2EuemE9PT0wPzM6NCk6YS5rYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKT8xOjJ9O0FpPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy50dz1hO3RoaXMuRXk9Yjt0aGlzLld5PWM7dGhpcy5EeT1kO3RoaXMua3c9ZX07CkJpPWZ1bmN0aW9uKCl7dGhpcy53YT1udWxsO3RoaXMuc3RhdHVzPTA7dGhpcy5PYT1udWxsO3RoaXMud3JhcD10aGlzLnBlbmRpbmc9dGhpcy5KaD10aGlzLm5jPTA7dGhpcy5xYT1udWxsO3RoaXMuemM9MDt0aGlzLm1ldGhvZD04O3RoaXMuaWc9LTE7dGhpcy5CZT10aGlzLk5uPXRoaXMuQmI9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuS3M9MDt0aGlzLmhlYWQ9dGhpcy5VYT1udWxsO3RoaXMuU3E9dGhpcy5ZcD10aGlzLnN0cmF0ZWd5PXRoaXMubGV2ZWw9dGhpcy5vbT10aGlzLk5xPXRoaXMuWWI9dGhpcy5kYT10aGlzLmtnPXRoaXMuVj10aGlzLmNmPXRoaXMuQXI9dGhpcy5CYT10aGlzLlViPXRoaXMud2Q9dGhpcy52ZD10aGlzLkxsPXRoaXMuYWo9dGhpcy54YT0wO3RoaXMuUWI9bmV3IEhoLlljKDExNDYpO3RoaXMuUGU9bmV3IEhoLlljKDEyMik7dGhpcy5xYj1uZXcgSGguWWMoNzgpO2tpKHRoaXMuUWIpO2tpKHRoaXMuUGUpO2tpKHRoaXMucWIpO3RoaXMuVG89dGhpcy5JaT0KdGhpcy5waj1udWxsO3RoaXMua2Q9bmV3IEhoLlljKDE2KTt0aGlzLmhlYXA9bmV3IEhoLlljKDU3Myk7a2kodGhpcy5oZWFwKTt0aGlzLlhmPXRoaXMueGQ9MDt0aGlzLmRlcHRoPW5ldyBIaC5ZYyg1NzMpO2tpKHRoaXMuZGVwdGgpO3RoaXMuaGI9dGhpcy5GYj10aGlzLnJiPXRoaXMubWF0Y2hlcz10aGlzLkhnPXRoaXMuQ2Q9dGhpcy5ZZz10aGlzLmtjPXRoaXMuQWg9dGhpcy5rbT0wfTsKRGk9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWEuc3RhdGV8fGI+NXx8YjwwKXJldHVybiBhP2ppKGEsLTIpOi0yO3ZhciBjPWEuc3RhdGU7aWYoIWEub3V0cHV0fHwhYS5pbnB1dCYmYS5EYiE9PTB8fGMuc3RhdHVzPT09NjY2JiZiIT09NClyZXR1cm4gamkoYSxhLnphPT09MD8tNTotMik7Yy53YT1hO3ZhciBkPWMuaWc7Yy5pZz1iO2lmKGMuc3RhdHVzPT09NDIpaWYoYy53cmFwPT09MilhLnNhPTAscWkoYywzMSkscWkoYywxMzkpLHFpKGMsOCksYy5xYT8ocWkoYywoYy5xYS50ZXh0PzE6MCkrKGMucWEuYmU/MjowKSsoYy5xYS5leHRyYT80OjApKyhjLnFhLm5hbWU/ODowKSsoYy5xYS5jb21tZW50PzE2OjApKSxxaShjLGMucWEudGltZSYyNTUpLHFpKGMsYy5xYS50aW1lPj44JjI1NSkscWkoYyxjLnFhLnRpbWU+PjE2JjI1NSkscWkoYyxjLnFhLnRpbWU+PjI0JjI1NSkscWkoYyxjLmxldmVsPT09OT8yOmMuc3RyYXRlZ3k+PTJ8fGMubGV2ZWw8Mj80OjApLHFpKGMsYy5xYS5vcyYyNTUpLApjLnFhLmV4dHJhJiZjLnFhLmV4dHJhLmxlbmd0aCYmKHFpKGMsYy5xYS5leHRyYS5sZW5ndGgmMjU1KSxxaShjLGMucWEuZXh0cmEubGVuZ3RoPj44JjI1NSkpLGMucWEuYmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmcsMCkpLGMuemM9MCxjLnN0YXR1cz02OSk6KHFpKGMsMCkscWkoYywwKSxxaShjLDApLHFpKGMsMCkscWkoYywwKSxxaShjLGMubGV2ZWw9PT05PzI6Yy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzQ6MCkscWkoYywzKSxjLnN0YXR1cz0xMTMpO2Vsc2V7dmFyIGU9OCsoYy5Obi04PDw0KTw8ODtlfD0oYy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzA6Yy5sZXZlbDw2PzE6Yy5sZXZlbD09PTY/MjozKTw8NjtjLlYhPT0wJiYoZXw9MzIpO2Muc3RhdHVzPTExMztyaShjLGUrKDMxLWUlMzEpKTtjLlYhPT0wJiYocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2Euc2E9MX1pZihjLnN0YXR1cz09PTY5KWlmKGMucWEuZXh0cmEpe2ZvcihlPWMucGVuZGluZztjLnpjPAooYy5xYS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoYy5wZW5kaW5nIT09Yy5uY3x8KGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZyE9PWMubmMpKTspcWkoYyxjLnFhLmV4dHJhW2MuemNdJjI1NSksYy56YysrO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2MuemM9PT1jLnFhLmV4dHJhLmxlbmd0aCYmKGMuemM9MCxjLnN0YXR1cz03Myl9ZWxzZSBjLnN0YXR1cz03MztpZihjLnN0YXR1cz09PTczKWlmKGMucWEubmFtZSl7ZT1jLnBlbmRpbmc7ZG97aWYoYy5wZW5kaW5nPT09Yy5uYyYmKGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZz09PWMubmMpKXt2YXIgZj0xO2JyZWFrfWY9Yy56YzxjLnFhLm5hbWUubGVuZ3RoP2MucWEubmFtZS5jaGFyQ29kZUF0KGMuemMrKykmCjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy56Yz0wLGMuc3RhdHVzPTkxKX1lbHNlIGMuc3RhdHVzPTkxO2lmKGMuc3RhdHVzPT09OTEpaWYoYy5xYS5jb21tZW50KXtlPWMucGVuZGluZztkb3tpZihjLnBlbmRpbmc9PT1jLm5jJiYoYy5xYS5iZSYmYy5wZW5kaW5nPmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmctZSxlKSksbGkoYSksZT1jLnBlbmRpbmcsYy5wZW5kaW5nPT09Yy5uYykpe2Y9MTticmVha31mPWMuemM8Yy5xYS5jb21tZW50Lmxlbmd0aD9jLnFhLmNvbW1lbnQuY2hhckNvZGVBdChjLnpjKyspJjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy5zdGF0dXM9MTAzKX1lbHNlIGMuc3RhdHVzPTEwMztjLnN0YXR1cz09PTEwMyYmCihjLnFhLmJlPyhjLnBlbmRpbmcrMj5jLm5jJiZsaShhKSxjLnBlbmRpbmcrMjw9Yy5uYyYmKHFpKGMsYS5zYSYyNTUpLHFpKGMsYS5zYT4+OCYyNTUpLGEuc2E9MCxjLnN0YXR1cz0xMTMpKTpjLnN0YXR1cz0xMTMpO2lmKGMucGVuZGluZyE9PTApe2lmKGxpKGEpLGEuemE9PT0wKXJldHVybiBjLmlnPS0xLDB9ZWxzZSBpZihhLkRiPT09MCYmKGI8PDEpLShiPjQ/OTowKTw9KGQ8PDEpLShkPjQ/OTowKSYmYiE9PTQpcmV0dXJuIGppKGEsLTUpO2lmKGMuc3RhdHVzPT09NjY2JiZhLkRiIT09MClyZXR1cm4gamkoYSwtNSk7aWYoYS5EYiE9PTB8fGMuZGEhPT0wfHxiIT09MCYmYy5zdGF0dXMhPT02NjYpe2Q9Yy5zdHJhdGVneT09PTI/emkoYyxiKTpjLnN0cmF0ZWd5PT09Mz95aShjLGIpOkNpW2MubGV2ZWxdLmt3KGMsYik7aWYoZD09PTN8fGQ9PT00KWMuc3RhdHVzPTY2NjtpZihkPT09MXx8ZD09PTMpcmV0dXJuIGEuemE9PT0wJiYoYy5pZz0tMSksMDtpZihkPT09MiYmKGI9PT0xPwooTmgoYywyLDMpLE9oKGMsMjU2LG5pKSxjLmhiPT09MTY/KE1oKGMsYy5GYiksYy5GYj0wLGMuaGI9MCk6Yy5oYj49OCYmKGMuT2FbYy5wZW5kaW5nKytdPWMuRmImMjU1LGMuRmI+Pj04LGMuaGItPTgpKTpiIT09NSYmKE5oKGMsMCwzKSxUaChjLDAsMCksYj09PTMmJihraShjLmhlYWQpLGMuZGE9PT0wJiYoYy5WPTAsYy5VYj0wLGMucmI9MCkpKSxsaShhKSxhLnphPT09MCkpcmV0dXJuIGMuaWc9LTEsMH1pZihiIT09NClyZXR1cm4gMDtpZihjLndyYXA8PTApcmV0dXJuIDE7Yy53cmFwPT09Mj8ocWkoYyxhLnNhJjI1NSkscWkoYyxhLnNhPj44JjI1NSkscWkoYyxhLnNhPj4xNiYyNTUpLHFpKGMsYS5zYT4+MjQmMjU1KSxxaShjLGEucWYmMjU1KSxxaShjLGEucWY+PjgmMjU1KSxxaShjLGEucWY+PjE2JjI1NSkscWkoYyxhLnFmPj4yNCYyNTUpKToocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2xpKGEpO2Mud3JhcD4wJiYoYy53cmFwPS1jLndyYXApO3JldHVybiBjLnBlbmRpbmchPT0KMD8wOjF9OwpFaT1mdW5jdGlvbihhKXtpZighKHRoaXMgaW5zdGFuY2VvZiBFaSkpcmV0dXJuIG5ldyBFaShhKTthPXRoaXMub3B0aW9ucz1IaC5hc3NpZ24oe2xldmVsOi0xLG1ldGhvZDo4LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6MCx0bzoiIn0sYXx8e30pO2EucmF3JiZhLndpbmRvd0JpdHM+MD9hLndpbmRvd0JpdHM9LWEud2luZG93Qml0czphLmd6aXAmJmEud2luZG93Qml0cz4wJiZhLndpbmRvd0JpdHM8MTYmJihhLndpbmRvd0JpdHMrPTE2KTt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ITE7dGhpcy5jaHVua3M9W107dGhpcy53YT1uZXcgRmk7dGhpcy53YS56YT0wO3ZhciBiPXRoaXMud2E7dmFyIGM9YS5sZXZlbCxkPWEubWV0aG9kLGU9YS53aW5kb3dCaXRzLGY9YS5tZW1MZXZlbCxoPWEuc3RyYXRlZ3k7aWYoYil7dmFyIGs9MTtjPT09LTEmJihjPTYpO2U8MD8oaz0wLGU9LWUpOmU+MTUmJihrPTIsZS09MTYpO2lmKGY8CjF8fGY+OXx8ZCE9PTh8fGU8OHx8ZT4xNXx8YzwwfHxjPjl8fGg8MHx8aD40KWI9amkoYiwtMik7ZWxzZXtlPT09OCYmKGU9OSk7dmFyIGw9bmV3IEJpO2Iuc3RhdGU9bDtsLndhPWI7bC53cmFwPWs7bC5xYT1udWxsO2wuTm49ZTtsLkJiPTE8PGwuTm47bC5CZT1sLkJiLTE7bC5MbD1mKzc7bC5haj0xPDxsLkxsO2wudmQ9bC5hai0xO2wud2Q9fn4oKGwuTGwrMy0xKS8zKTtsLndpbmRvdz1uZXcgSGgudGYobC5CYioyKTtsLmhlYWQ9bmV3IEhoLlljKGwuYWopO2wuVWE9bmV3IEhoLlljKGwuQmIpO2wuQWg9MTw8Zis2O2wubmM9bC5BaCo0O2wuT2E9bmV3IEhoLnRmKGwubmMpO2wuWWc9bC5BaDtsLmttPTMqbC5BaDtsLmxldmVsPWM7bC5zdHJhdGVneT1oO2wubWV0aG9kPWQ7aWYoYiYmYi5zdGF0ZSl7Yi5xZj1iLkVuPTA7Yi5pbD0yO2M9Yi5zdGF0ZTtjLnBlbmRpbmc9MDtjLkpoPTA7Yy53cmFwPDAmJihjLndyYXA9LWMud3JhcCk7Yy5zdGF0dXM9Yy53cmFwPzQyOjExMztiLnNhPQpjLndyYXA9PT0yPzA6MTtjLmlnPTA7aWYoIUdpKXtkPUFycmF5KDE2KTtmb3IoZj1oPTA7ZjwyODtmKyspZm9yKFloW2ZdPWgsZT0wO2U8MTw8WGhbZl07ZSsrKVdoW2grK109ZjtXaFtoLTFdPWY7Zm9yKGY9aD0wO2Y8MTY7ZisrKWZvcihiaVtmXT1oLGU9MDtlPDE8PCRoW2ZdO2UrKylaaFtoKytdPWY7Zm9yKGg+Pj03O2Y8MzA7ZisrKWZvcihiaVtmXT1oPDw3LGU9MDtlPDE8PCRoW2ZdLTc7ZSsrKVpoWzI1NitoKytdPWY7Zm9yKGU9MDtlPD0xNTtlKyspZFtlXT0wO2ZvcihlPTA7ZTw9MTQzOyluaVtlKjIrMV09OCxlKyssZFs4XSsrO2Zvcig7ZTw9MjU1OyluaVtlKjIrMV09OSxlKyssZFs5XSsrO2Zvcig7ZTw9Mjc5OyluaVtlKjIrMV09NyxlKyssZFs3XSsrO2Zvcig7ZTw9Mjg3OyluaVtlKjIrMV09OCxlKyssZFs4XSsrO1FoKG5pLDI4NyxkKTtmb3IoZT0wO2U8MzA7ZSsrKW9pW2UqMisxXT01LG9pW2UqMl09UGgoZSw1KTtIaT1uZXcgS2gobmksWGgsMjU3LDI4NiwxNSk7SWk9Cm5ldyBLaChvaSwkaCwwLDMwLDE1KTtKaT1uZXcgS2goW10sS2ksMCwxOSw3KTtHaT0hMH1jLnBqPW5ldyBMaChjLlFiLEhpKTtjLklpPW5ldyBMaChjLlBlLElpKTtjLlRvPW5ldyBMaChjLnFiLEppKTtjLkZiPTA7Yy5oYj0wO1JoKGMpO2M9MH1lbHNlIGM9amkoYiwtMik7Yz09PTAmJihiPWIuc3RhdGUsYi5Lcz0yKmIuQmIsa2koYi5oZWFkKSxiLm9tPUNpW2IubGV2ZWxdLkV5LGIuWXA9Q2lbYi5sZXZlbF0udHcsYi5TcT1DaVtiLmxldmVsXS5XeSxiLk5xPUNpW2IubGV2ZWxdLkR5LGIuVj0wLGIuVWI9MCxiLmRhPTAsYi5yYj0wLGIuQmE9Yi5ZYj0yLGIuY2Y9MCxiLnhhPTApO2I9Y319ZWxzZSBiPS0yO2lmKGIhPT0wKXRocm93IEVycm9yKGlpW2JdKTthLmhlYWRlciYmKGI9dGhpcy53YSkmJmIuc3RhdGUmJmIuc3RhdGUud3JhcD09PTImJihiLnN0YXRlLnFhPWEuaGVhZGVyKTtpZihhLmRpY3Rpb25hcnkpe3ZhciBtO3R5cGVvZiBhLmRpY3Rpb25hcnk9PT0ic3RyaW5nIj9tPQpJaChhLmRpY3Rpb25hcnkpOkxpLmNhbGwoYS5kaWN0aW9uYXJ5KT09PSJbb2JqZWN0IEFycmF5QnVmZmVyXSI/bT1uZXcgVWludDhBcnJheShhLmRpY3Rpb25hcnkpOm09YS5kaWN0aW9uYXJ5O2E9dGhpcy53YTtmPW07aD1mLmxlbmd0aDtpZihhJiZhLnN0YXRlKWlmKG09YS5zdGF0ZSxiPW0ud3JhcCxiPT09Mnx8Yj09PTEmJm0uc3RhdHVzIT09NDJ8fG0uZGEpYj0tMjtlbHNle2I9PT0xJiYoYS5zYT10aShhLnNhLGYsaCwwKSk7bS53cmFwPTA7aD49bS5CYiYmKGI9PT0wJiYoa2kobS5oZWFkKSxtLlY9MCxtLlViPTAsbS5yYj0wKSxjPW5ldyBIaC50ZihtLkJiKSxIaC53ZihjLGYsaC1tLkJiLG0uQmIsMCksZj1jLGg9bS5CYik7Yz1hLkRiO2Q9YS5mZjtlPWEuaW5wdXQ7YS5EYj1oO2EuZmY9MDthLmlucHV0PWY7Zm9yKHZpKG0pO20uZGE+PTM7KXtmPW0uVjtoPW0uZGEtMjtkbyBtLnhhPShtLnhhPDxtLndkXm0ud2luZG93W2YrMy0xXSkmbS52ZCxtLlVhW2YmbS5CZV09bS5oZWFkW20ueGFdLAptLmhlYWRbbS54YV09ZixmKys7d2hpbGUoLS1oKTttLlY9ZjttLmRhPTI7dmkobSl9bS5WKz1tLmRhO20uVWI9bS5WO20ucmI9bS5kYTttLmRhPTA7bS5CYT1tLlliPTI7bS5jZj0wO2EuZmY9ZDthLmlucHV0PWU7YS5EYj1jO20ud3JhcD1iO2I9MH1lbHNlIGI9LTI7aWYoYiE9PTApdGhyb3cgRXJyb3IoaWlbYl0pO3RoaXMuTUg9ITB9fTtNaT1mdW5jdGlvbihhLGIpe2I9PT0wJiYoYS5yZXN1bHQ9YS5vcHRpb25zLnRvPT09InN0cmluZyI/YS5jaHVua3Muam9pbigiIik6SGguTXAoYS5jaHVua3MpKTthLmNodW5rcz1bXTthLmVycj1iO2EubXNnPWEud2EubXNnfTtfLk5pPWZ1bmN0aW9uKGEpe3ZhciBiPWJ8fHt9O2IuZ3ppcD0hMDtiPW5ldyBFaShiKTtiLnB1c2goYSwhMCk7aWYoYi5lcnIpdGhyb3cgYi5tc2d8fGlpW2IuZXJyXTtyZXR1cm4gYi5yZXN1bHR9OwpfLk9pPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGg+MT9hW2JbMF1dPWJbMV06Yi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKGEsYlswXSl9O18uUWk9ZnVuY3Rpb24oLi4uYSl7Xy5PaShfLlBpLGFyZ3VtZW50cyl9O18udz1mdW5jdGlvbihhLGIpe3JldHVybiBhIGluIF8uUGk/Xy5QaVthXTpifTtfLlJpPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUGkuRVhQRVJJTUVOVF9GTEFHUztyZXR1cm4gYj9iW2FdOnZvaWQgMH07VGk9ZnVuY3Rpb24oYSl7U2kuZm9yRWFjaChiPT5iKGEpKX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmd2luZG93Lnl0ZXJyP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChiKXtfLlVpKGIpfX06YX07Cl8uVWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7Yj9iKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwKTooYj1fLncoIkVSUk9SUyIsW10pLGIucHVzaChbYSwiRVJST1IiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDBdKSxfLlFpKCJFUlJPUlMiLGIpKTtUaShhKX07Xy5XaT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPV8uc2EoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO2Y/ZihhLCJXQVJOSU5HIixiLGMsZCx2b2lkIDAsZSk6KGY9Xy53KCJFUlJPUlMiLFtdKSxmLnB1c2goW2EsIldBUk5JTkciLGIsYyxkLHZvaWQgMCxlXSksXy5RaSgiRVJST1JTIixmKSl9OwpZaT1mdW5jdGlvbihhLGIpe2I9YS5zcGxpdChiKTt2YXIgYz17fTtmb3IobGV0IGY9MCxoPWIubGVuZ3RoO2Y8aDtmKyspe2xldCBrPWJbZl0uc3BsaXQoIj0iKTtpZihrLmxlbmd0aD09PTEmJmtbMF18fGsubGVuZ3RoPT09Mil0cnl7bGV0IGw9WGkoa1swXXx8IiIpLG09WGkoa1sxXXx8IiIpO2lmKGwgaW4gYyl7bGV0IG49Y1tsXTtBcnJheS5pc0FycmF5KG4pP3piKG4sbSk6Y1tsXT1bbixtXX1lbHNlIGNbbF09bX1jYXRjaChsKXt2YXIgZD1sLGU9a1swXTtsZXQgbT1TdHJpbmcoWWkpO2QuYXJncz1be2tleTplLHZhbHVlOmtbMV0scXVlcnk6YSxtZXRob2Q6Wmk9PT1tPyJ1bmNoYW5nZWQiOm19XTskaS5oYXNPd25Qcm9wZXJ0eShlKXx8Xy5XaShkKX19cmV0dXJuIGN9Owphaj1mdW5jdGlvbihhKXt2YXIgYj1bXTtvZChhLChjLGQpPT57dmFyIGU9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSk7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO18udGIoYyxmPT57Zj09IiI/Yi5wdXNoKGUpOmIucHVzaChgJHtlfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZikpfWApfSl9KTtyZXR1cm4gYi5qb2luKCImIil9O18uYmo9ZnVuY3Rpb24oYSl7YS5jaGFyQXQoMCk9PT0iPyImJihhPWEuc3Vic3RyaW5nKDEpKTtyZXR1cm4gWWkoYSwiJiIpfTtkaj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCEwKX07Xy5laj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCExKX07CmNqPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnNwbGl0KCIjIiwyKTthPWRbMF07ZD1kLmxlbmd0aD4xPyIjIitkWzFdOiIiO3ZhciBlPWEuc3BsaXQoIj8iLDIpO2E9ZVswXTtlPV8uYmooZVsxXXx8IiIpO2ZvcihsZXQgZiBpbiBiKSFjJiZlIT09bnVsbCYmZiBpbiBlfHwoZVtmXT1iW2ZdKTtyZXR1cm4gXy5XYihhLGUpK2R9O18uZmo9ZnVuY3Rpb24oYSl7aWYoIWIpdmFyIGI9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIGM9Xy5NYihhKVsxXXx8bnVsbCxkPV8uUGIoYSk7YyYmZD8oYT1fLk1iKGEpLGI9Xy5NYihiKSxhPWFbM109PWJbM10mJmFbMV09PWJbMV0mJmFbNF09PWJbNF0pOmE9ZD9fLlBiKGIpPT09ZCYmKE51bWJlcihfLk1iKGIpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKF8uTWIoYSlbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gYX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEubWF0Y2goZ2opP2E6Xy5IYihhKX07Cl8ubGo9ZnVuY3Rpb24oYT1fLnNhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIil7dmFyIGI9aGosYz1PYmplY3QsZD1jLmFzc2lnbjthOnt0cnl7dmFyIGU9Yi5qLnRvcC5sb2NhdGlvbi5ocmVmfWNhdGNoKEEpe2U9MjticmVhayBhfWU9ZT9lPT09Yi5vLmxvY2F0aW9uLmhyZWY/MDoxOjJ9ZT17ZHQ6aWosZmxhc2g6IjAiLGZybTplfTt0cnl7ZS51X3R6PS0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCk7dHJ5e3ZhciBmPWpqLmhpc3RvcnkubGVuZ3RofWNhdGNoKEEpe2Y9MH1lLnVfaGlzPWY7ZS51X2g9amouc2NyZWVuPy5oZWlnaHQ7ZS51X3c9amouc2NyZWVuPy53aWR0aDtlLnVfYWg9amouc2NyZWVuPy5hdmFpbEhlaWdodDtlLnVfYXc9amouc2NyZWVuPy5hdmFpbFdpZHRoO2UudV9jZD1qai5zY3JlZW4/LmNvbG9yRGVwdGh9Y2F0Y2goQSl7fWY9Yi5qO3RyeXt2YXIgaD1mLnNjcmVlblg7dmFyIGs9Zi5zY3JlZW5ZfWNhdGNoKEEpe310cnl7dmFyIGw9Zi5vdXRlcldpZHRoOwp2YXIgbT1mLm91dGVySGVpZ2h0fWNhdGNoKEEpe310cnl7dmFyIG49Zi5pbm5lcldpZHRoO3ZhciBwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgcj1mLnNjcmVlbkxlZnQ7dmFyIHQ9Zi5zY3JlZW5Ub3B9Y2F0Y2goQSl7fXRyeXtuPWYuaW5uZXJXaWR0aCxwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgdj1mLnNjcmVlbi5hdmFpbFdpZHRoO3ZhciB6PWYuc2NyZWVuLmF2YWlsVG9wfWNhdGNoKEEpe31oPVtyLHQsaCxrLHYseixsLG0sbixwXTt0cnl7dmFyIEU9Xy55ZChiLmoudG9wfHx3aW5kb3cpLnJvdW5kKCl9Y2F0Y2goQSl7RT1uZXcgXy5uZCgtMTIyNDU5MzMsLTEyMjQ1OTMzKX1sPUU7RT1uZXcga2o7IlNWR0VsZW1lbnQiaW4gXy51JiYiY3JlYXRlRWxlbWVudE5TImluIF8udS5kb2N1bWVudCYmRS5zZXQoMCk7az1tZCgpO2tbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZFLnNldCgxKTtrWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmCkUuc2V0KDIpO18udS5jcnlwdG8mJl8udS5jcnlwdG8uc3VidGxlJiZFLnNldCgzKTsiVGV4dERlY29kZXIiaW4gXy51JiYiVGV4dEVuY29kZXIiaW4gXy51JiZFLnNldCg0KTtFPW5oKEUpO2s9bC5oZWlnaHQ7bD1sLndpZHRoO2g9aC5qb2luKCk7Yj1iLm87Yz1kLmNhbGwoYyxlLHtiYzpFLGJpaDprLGJpdzpsLGJyZGltOmgsdmlzOmIucHJlcmVuZGVyaW5nPzM6e3Zpc2libGU6MSxoaWRkZW46MixwcmVyZW5kZXI6MyxwcmV2aWV3OjQsdW5sb2FkZWQ6NSwiIjowfVtiLnZpc2liaWxpdHlTdGF0ZXx8Yi53ZWJraXRWaXNpYmlsaXR5U3RhdGV8fGIubW96VmlzaWJpbGl0eVN0YXRlfHwiIl0/PzAsd2dsOiEhamouV2ViR0xSZW5kZXJpbmdDb250ZXh0fSk7Yy5jYV90eXBlPSJpbWFnZSI7YSYmKGMuYmlkPWEpO3JldHVybiBjfTtfLm1qPWZ1bmN0aW9uKGEsYil7dHlwZW9mIGE9PT0iZnVuY3Rpb24iJiYoYT1fLlZpKGEpKTtyZXR1cm4gd2luZG93LnNldFRpbWVvdXQoYSxiKX07Cm9qPWZ1bmN0aW9uKCl7aWYoIW5qKXJldHVybiBudWxsO3ZhciBhPW5qKCk7cmV0dXJuIm9wZW4iaW4gYT9hOm51bGx9O18ucWo9ZnVuY3Rpb24oYSl7c3dpdGNoKF8ucGooYSkpe2Nhc2UgMjAwOmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjAzOmNhc2UgMjA0OmNhc2UgMjA1OmNhc2UgMjA2OmNhc2UgMzA0OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtfLnBqPWZ1bmN0aW9uKGEpe3JldHVybiBhJiYic3RhdHVzImluIGE/YS5zdGF0dXM6LTF9O18ueD1mdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmciJiZhPT09ImZhbHNlIj8hMTohIWF9O18uc2o9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTnVtYmVyKF8ucmooYSxiKXx8MCl9O18udGo9ZnVuY3Rpb24oYSl7YT1fLnJqKGEpO3JldHVybiBhIT09dm9pZCAwP1N0cmluZyhhKToiIn07Cl8ucmo9ZnVuY3Rpb24oYSxiKXthPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pW2FdO3JldHVybiBhIT09dm9pZCAwP2E6Yn07Xy51aj1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Xy53KCJFWFBFUklNRU5UU19GT1JDRURfRkxBR1MiLHt9KTtmb3IodmFyIGMgb2YgT2JqZWN0LmtleXMoYikpYS5wdXNoKHtrZXk6Yyx2YWx1ZTpTdHJpbmcoYltjXSl9KTtjPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhjKSlkLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZiW2RdPT09dm9pZCAwJiZhLnB1c2goe2tleTpkLHZhbHVlOlN0cmluZyhjW2RdKX0pO3JldHVybiBhfTsKeGo9ZnVuY3Rpb24oYSxiLGM9IkdFVCIsZD0iIixlLGYsaCxrPSExLGwpe3ZhciBtPW9qKCk7aWYoIW0pcmV0dXJuIG51bGw7dmFyIG49KCk9PnsobSYmInJlYWR5U3RhdGUiaW4gbT9tLnJlYWR5U3RhdGU6MCk9PT00JiZiJiZfLlZpKGIpKG0pfTsib25sb2FkZW5kImluIG0/bS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixuLCExKTptLm9ucmVhZHlzdGF0ZWNoYW5nZT1uO18ueCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYoYT12aihhKSk7bS5vcGVuKGMsYSwhMCk7ZiYmKG0ucmVzcG9uc2VUeXBlPWYpO2gmJihtLndpdGhDcmVkZW50aWFscz0hMCk7Yz1jPT09IlBPU1QiJiYod2luZG93LkZvcm1EYXRhPT09dm9pZCAwfHwhKGQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpO2lmKGU9d2ooYSxlKSlmb3IobGV0IHAgaW4gZSltLnNldFJlcXVlc3RIZWFkZXIocCxlW3BdKSwiY29udGVudC10eXBlIj09PXAudG9Mb3dlckNhc2UoKSYmKGM9ITEpO2MmJm0uc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwKImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpO2wmJiJvbnByb2dyZXNzImluIG0mJihtLm9ucHJvZ3Jlc3M9KCk9PntsKG0ucmVzcG9uc2VUZXh0KX0pO2lmKGsmJiJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUpe2E9e2V2ZW50U291cmNlRWxpZ2libGU6ITAsdHJpZ2dlckVsaWdpYmxlOiExfTt0cnl7bS5zZXRBdHRyaWJ1dGlvblJlcG9ydGluZyhhKX1jYXRjaChwKXtfLldpKHApfX1tLnNlbmQoZCk7cmV0dXJuIG19Owp3aj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPV8uZmooYSksZD1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpLGU9Xy54KCJ3ZWJfYWpheF9pZ25vcmVfZ2xvYmFsX2hlYWRlcnNfaWZfc2V0Iik7Zm9yKGxldCBrIGluIHlqKXtsZXQgbD1fLncoeWpba10pLG09az09PSJYLUdvb2ctQXV0aFVzZXIifHxrPT09IlgtR29vZy1QYWdlSWQiO2shPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxsfHwobD1fLncoIlZJU0lUT1JfREFUQSIpKTt2YXIgZjtpZighKGY9IWwpKXtpZighKGY9Y3x8KF8uUGIoYSk/ITE6ITApKSl7Zj1hO3ZhciBoO2lmKGg9Xy54KCJhZGRfYXV0aF9oZWFkZXJzX3RvX3JlbWFya2V0aW5nX2dvb2dsZV9kb3RfY29tX3BpbmciKSYmaz09PSJBdXRob3JpemF0aW9uIiYmKGQ9PT0iVFZIVE1MNSJ8fGQ9PT0iVFZIVE1MNV9VTlBMVUdHRUQifHxkPT09IlRWSFRNTDVfU0lNUExZIikpaD1fLlBiKGYpLGg9aCE9PW51bGw/aC5zcGxpdCgiLiIpLnJldmVyc2UoKTpudWxsLGg9aD09PQpudWxsPyExOmhbMV09PT0iZ29vZ2xlIj8hMDpoWzJdPT09Imdvb2dsZSI/aFswXT09PSJhdSImJmhbMV09PT0iY29tIj8hMDpoWzBdPT09InVrIiYmaFsxXT09PSJjbyI/ITA6ITE6ITE7aCYmKGY9Xy5RYihmKXx8IiIsZj1mLnNwbGl0KCIvIiksZj0iLyIrKGYubGVuZ3RoPjE/ZlsxXToiIiksaD1mPT09Ii9wYWdlYWQiKTtmPWg/ITA6ITF9Zj0hZn1mfHxlJiZiW2tdIT09dm9pZCAwfHxkPT09IlRWSFRNTDVfVU5QTFVHR0VEIiYmbXx8KGJba109bCl9IlgtR29vZy1FT00tVmlzaXRvci1JZCJpbiBiJiYiWC1Hb29nLVZpc2l0b3ItSWQiaW4gYiYmZGVsZXRlIGJbIlgtR29vZy1WaXNpdG9yLUlkIl07aWYoY3x8IV8uUGIoYSkpYlsiWC1Zb3VUdWJlLVV0Yy1PZmZzZXQiXT1TdHJpbmcoLShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSk7aWYoY3x8IV8uUGIoYSkpe2xldCBrO3RyeXtrPShuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmV9Y2F0Y2h7fWsmJgooYlsiWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPWspfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhYyYmXy5QYihhKXx8KGJbIlgtWW91VHViZS1BZC1TaWduYWxzIl09YWooXy5saigpKSk7cmV0dXJuIGJ9O0FqPWZ1bmN0aW9uKGEsYil7Yi5tZXRob2Q9IlBPU1QiO2IucG9zdFBhcmFtc3x8KGIucG9zdFBhcmFtcz17fSk7cmV0dXJuIF8uemooYSxiKX07Cl8uemo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmZvcm1hdHx8IkpTT04iO2E9QmooYSxiKTt2YXIgZD1DaihhLGIpLGU9ITEsZj1EaihhLGs9PntpZighZSl7ZT0hMDtoJiZ3aW5kb3cuY2xlYXJUaW1lb3V0KGgpO3ZhciBsPV8ucWooayksbT1udWxsLG49NDAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NTAwLHA9NTAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NjAwO2lmKGx8fG58fHApbT1FaihhLGMsayxiLmNvbnZlcnRUb1NhZmVIdG1sKTtsJiYobD1GaihjLGssbSkpO209bXx8e307bj1iLmNvbnRleHR8fF8udTtsP2Iub25TdWNjZXNzJiZiLm9uU3VjY2Vzcy5jYWxsKG4sayxtKTpiLm9uRXJyb3ImJmIub25FcnJvci5jYWxsKG4sayxtKTtiLm9uRmluaXNoJiZiLm9uRmluaXNoLmNhbGwobixrLG0pfX0sYi5tZXRob2QsZCxiLmhlYWRlcnMsYi5yZXNwb25zZVR5cGUsYi53aXRoQ3JlZGVudGlhbHMsITEsYi5vblByb2dyZXNzKTtkPWIudGltZW91dHx8MDtpZihiLm9uVGltZW91dCYmZD4wKXtsZXQgaz0KYi5vblRpbWVvdXQ7dmFyIGg9Xy5taigoKT0+e2V8fChlPSEwLGYuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLGsuY2FsbChiLmNvbnRleHR8fF8udSxmKSl9LGQpfXJldHVybiBmfTtCaj1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZURvbWFpbiYmKGE9ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrIi8vIitkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSsoZG9jdW1lbnQubG9jYXRpb24ucG9ydD8iOiIrZG9jdW1lbnQubG9jYXRpb24ucG9ydDoiIikrYSk7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKTtpZihiPWIudXJsUGFyYW1zKWJbY10mJmRlbGV0ZSBiW2NdLGE9ZGooYSxiKTtyZXR1cm4gYX07CkNqPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKSxkPV8udygiWFNSRl9UT0tFTiIpLGU9Yi5wb3N0Qm9keXx8IiIsZj1iLnBvc3RQYXJhbXMsaD1fLncoIlhTUkZfRklFTERfTkFNRSIpLGs7Yi5oZWFkZXJzJiYoaz1iLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdKTtiLmV4Y2x1ZGVYc3JmfHxfLlBiKGEpJiYhYi53aXRoQ3JlZGVudGlhbHMmJl8uUGIoYSkhPT1kb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZXx8Yi5tZXRob2QhPT0iUE9TVCJ8fGsmJmshPT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkInx8Yi5wb3N0UGFyYW1zJiZiLnBvc3RQYXJhbXNbaF18fChmfHwoZj17fSksZltjXT1kKTtmJiZ0eXBlb2YgZT09PSJzdHJpbmciJiYoZT1fLmJqKGUpLHNkKGUsZiksZT1iLnBvc3RCb2R5Rm9ybWF0JiZiLnBvc3RCb2R5Rm9ybWF0PT09IkpTT04iP0pTT04uc3RyaW5naWZ5KGUpOl8uVWIoZSkpO2Y9ZXx8ZiYmIV8ucGQoZik7IUdqJiZmJiYKYi5tZXRob2QhPT0iUE9TVCImJihHaj0hMCxfLlVpKEVycm9yKCJjYSIpKSk7cmV0dXJuIGV9O0VqPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW51bGw7c3dpdGNoKGIpe2Nhc2UgIkpTT04iOmxldCBmO3RyeXtmPWMucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGQ9RXJyb3IoImRhIiksZC5wYXJhbXM9YSxfLldpKGQpLGg7fWE9Yy5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIil8fCIiO2lmKGYmJmEuaW5kZXhPZigianNvbiIpPj0wKXtmLnN1YnN0cmluZygwLDUpPT09IildfSdcbiImJihmPWYuc3Vic3RyaW5nKDUpKTt0cnl7ZT1KU09OLnBhcnNlKGYpfWNhdGNoKGgpe319YnJlYWs7Y2FzZSAiWE1MIjppZihhPShhPWMucmVzcG9uc2VYTUwpP0hqKGEpOm51bGwpZT17fSxfLnRiKGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxoPT57ZVtoLnRhZ05hbWVdPUlqKGgpfSl9ZCYmSmooZSk7cmV0dXJuIGV9OwpKaj1mdW5jdGlvbihhKXtpZihfLkFhKGEpKWZvcihsZXQgYiBpbiBhKWI9PT0iaHRtbF9jb250ZW50Inx8Xy5NYShiLCJfaHRtbCIpP2FbYl09Xy5nYihhW2JdKTpKaihhW2JdKX07Rmo9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmIuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChhKXtjYXNlICJKU09OIjpyZXR1cm4hIWM7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKGMmJmMucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFjfX07SGo9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/KGE9KCJyZXNwb25zZVhNTCJpbiBhP2EucmVzcG9uc2VYTUw6YSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInJvb3QiKSkmJmEubGVuZ3RoPjA/YVswXTpudWxsOm51bGx9O0lqPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO18udGIoYS5jaGlsZE5vZGVzLGM9PntiKz1jLm5vZGVWYWx1ZX0pO3JldHVybiBifTsKdmo9ZnVuY3Rpb24oYSl7dmFyIGI9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxjPV8uUGIoYSk7Xy54KCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IWMmJl8uZmooYSkmJihjPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgZD1fLlFiKGEpO2Q9KGM9YyYmKGMuZW5kc1dpdGgoInlvdXR1YmUuY29tIil8fGMuZW5kc1dpdGgoInlvdXR1YmUtbm9jb29raWUuY29tIikpKSYmZCYmZC5zdGFydHNXaXRoKCIvYXBpLyIpO2lmKCFjfHxkKXJldHVybiBhO3ZhciBlPV8uYmooYiksZj17fTtfLnRiKEtqLGg9PntlW2hdJiYoZltoXT1lW2hdKX0pO3JldHVybiBfLmVqKGEsZil9O18uTWo9ZnVuY3Rpb24oYSxiLGMsZD0ieW91dHViZS5jb20iLGU9ITEpe18uTGouc2V0KGEsYix7dmo6YyxwYXRoOiIvIixkb21haW46ZCxzZWN1cmU6ZX0pfTsKXy5Oaj1mdW5jdGlvbihhLGI9Ii8iLGM9InlvdXR1YmUuY29tIil7Xy5Mai5yZW1vdmUoYSxiLGMpfTtfLk9qPWZ1bmN0aW9uKCl7aWYoIV8udS5tYXRjaE1lZGlhKXJldHVybiJXRUJfRElTUExBWV9NT0RFX1VOS05PV04iO3RyeXtyZXR1cm4gXy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpfLnUubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogbWluaW1hbC11aSkiKS5tYXRjaGVzPyJXRUJfRElTUExBWV9NT0RFX01JTklNQUxfVUkiOl8udS5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSIpLm1hdGNoZXM/IldFQl9ESVNQTEFZX01PREVfRlVMTFNDUkVFTiI6Xy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChhKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwpfLlBqPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9W107IlVTRVJfU0VTU0lPTl9JRCJpbiBfLlBpJiZjLnB1c2goe2tleToidSIsdmFsdWU6Xy53KCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKGM9Xy5QZChjKSliLkF1dGhvcml6YXRpb249YyxjPWE9YT8uc2Vzc2lvbkluZGV4LGM9PT12b2lkIDAmJihjPU51bWJlcihfLncoIlNFU1NJT05fSU5ERVgiLDApKSxjPWlzTmFOKGMpPzA6YyksXy54KCJ2b2ljZV9zZWFyY2hfYXV0aF9oZWFkZXJfcmVtb3ZhbCIpfHwoYlsiWC1Hb29nLUF1dGhVc2VyIl09Yy50b1N0cmluZygpKSwiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiaW4gXy5QaXx8KGJbIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIF8uUGkmJihiWyJYLUdvb2ctUGFnZUlkIl09Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpKTtyZXR1cm4gYn07ClFqPWZ1bmN0aW9uKCl7dmFyIGE9Xy51Lm5hdmlnYXRvcjtyZXR1cm4gYT9hLmNvbm5lY3Rpb246dm9pZCAwfTtfLlNqPWZ1bmN0aW9uKCl7dmFyIGE9UWooKTtpZihhKXt2YXIgYj1SalthLnR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO2E9UmpbYS5lZmZlY3RpdmVUeXBlfHwidW5rbm93biJdfHwiQ09OTl9VTktOT1dOIjtiPT09IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiImJmEhPT0iQ09OTl9VTktOT1dOIiYmKGI9YSk7aWYoYiE9PSJDT05OX1VOS05PV04iKXJldHVybiBiO2lmKGEhPT0iQ09OTl9VTktOT1dOIilyZXR1cm4gYX19O18uVWo9ZnVuY3Rpb24oKXt2YXIgYT1RaigpO2lmKGE/LmVmZmVjdGl2ZVR5cGUpcmV0dXJuIFRqLmhhc093blByb3BlcnR5KGEuZWZmZWN0aXZlVHlwZSk/VGpbYS5lZmZlY3RpdmVUeXBlXToiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9VTktOT1dOIn07Xy5Xaj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gXy5WaigpLCEwfWNhdGNoKGEpe3JldHVybiExfX07Cl8uVmo9ZnVuY3Rpb24oYT0idW5rbm93biIpe2lmKF8udygiREFUQVNZTkNfSUQiKSE9PXZvaWQgMClyZXR1cm4gXy53KCJEQVRBU1lOQ19JRCIpO3Rocm93IG5ldyBfLlhqKCJEYXRhc3luYyBJRCBub3Qgc2V0IixhKTt9O18uWWo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDAsYil9O1pqPWZ1bmN0aW9uKGEsYil7dHJ5e2IoKX1jYXRjaChjKXthLkpiKGMpfX07Yms9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54KCJlbmFibGVfc2NoZWR1bGVyX3NpbXVsYXRlX3JhZiIpO2lmKGEub1s4XS5sZW5ndGgpe2lmKGEuaGEpcmV0dXJuIDQ7aWYoYil7aWYoIWEuaXNIaWRkZW4oKSlyZXR1cm4gYS5aPzM6NX1lbHNlIGlmKGFrKGEpKXJldHVybiAzfWZvcihsZXQgYz01O2M+PWEuQjtjLS0paWYoYS5vW2NdLmxlbmd0aD4wKXJldHVybiBjPjA/Yj9hLmlzSGlkZGVuKCk/MjphLlo/Mzo1OmFrKGEpPzM6MjoxO3JldHVybiAwfTsKY2s9ZnVuY3Rpb24oYSl7YS5nYS5sZW5ndGg9MDtmb3IobGV0IGI9NTtiPj0wO2ItLSlhLm9bYl0ubGVuZ3RoPTA7YS5vWzhdLmxlbmd0aD0wO2Eudj17fTthLnN0b3AoKX07YWs9ZnVuY3Rpb24oYSl7cmV0dXJuIWEuaXNIaWRkZW4oKSYmYS5afTtlaz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgZGspaWYoYS5vW2JdLmxlbmd0aClyZXR1cm4hMDtyZXR1cm4hMX07CmhrPWZ1bmN0aW9uKGEsYixjKXthLmhhJiZhLkk9PT00JiZhLmp8fGEuc3RvcCgpO2EuRD0hMDtiPV8uRWEoKSsoYnx8YS5NKTtmb3IodmFyIGQ9YS5vWzVdO2QubGVuZ3RoOyl7dmFyIGU9ZC5zaGlmdCgpLGY9YS52W2VdO2RlbGV0ZSBhLnZbZV07aWYoZil7ZT1hO3RyeXtmKGMpfWNhdGNoKGgpe2UuSmIoaCl9fX1mb3IoZD1hLm9bNF07ZC5sZW5ndGg7KWM9ZC5zaGlmdCgpLGY9YS52W2NdLGRlbGV0ZSBhLnZbY10sZiYmWmooYSxmKTtkPWEueWE/MDoxO2Q9YS5CPmQ/YS5COmQ7aWYoIShfLkVhKCk+PWIpKXtkb3thOntjPWE7Zj1kO2ZvcihlPTM7ZT49ZjtlLS0pe2xldCBoPWMub1tlXTtmb3IoO2gubGVuZ3RoOyl7bGV0IGs9aC5zaGlmdCgpLGw9Yy52W2tdO2RlbGV0ZSBjLnZba107aWYobCl7Yz1sO2JyZWFrIGF9fX1jPW51bGx9YyYmWmooYSxjKX13aGlsZShjJiZfLkVhKCk8Yil9YS5EPSExO2ZrKGEpO2EuTT1naztlayhhKSYmYS5zdGFydCgpfTsKaWs9ZnVuY3Rpb24oYSl7YS5zdG9wKCk7YS5EPSEwO2Zvcih2YXIgYj1fLkVhKCksYz1hLm9bOF07Yy5sZW5ndGg7KXtsZXQgZD1jLnNoaWZ0KCksZT1hLnZbZF07ZGVsZXRlIGEudltkXTtlJiZaaihhLGUpfWZrKGEpO2EuRD0hMTtlayhhKSYmYS5zdGFydCgpO2I9Xy5FYSgpLWI7YS5NLT1ifTtmaz1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWEuZ2EubGVuZ3RoO2I8YztiKyspe2xldCBkPWEuZ2FbYl07YS5vW2QucHJpb3JpdHldLnB1c2goZC5pZCl9YS5nYS5sZW5ndGg9MH07a2s9ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2lmKCFhfHxhLmlhKCkpYT1uZXcgamsoXy53KCJzY2hlZHVsZXIiKXx8e30pLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixhKTtyZXR1cm4gYX07Cm1rPWZ1bmN0aW9uKCl7bGsoKTt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2EmJihfLlpkKGEpLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixudWxsKSl9O2xrPWZ1bmN0aW9uKCl7Y2soa2soKSk7Zm9yKGxldCBhIGluIG5rKW5rLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgbmtbTnVtYmVyKGEpXX07b2s9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjKXJldHVybiBjPWM9PT12b2lkIDAsLWtrKCkuR2EoYSxiLGMpO3ZhciBkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dmFyIGU9a2soKS5HYShhLGIpO25rW2RdPWV9LGMpO3JldHVybiBkfTtwaz1mdW5jdGlvbihhKXtraygpLlUoYSl9O3FrPWZ1bmN0aW9uKGEpe3ZhciBiPWtrKCk7aWYoYTwwKWIuQWEoLWEpO2Vsc2V7dmFyIGM9bmtbYV07Yz8oYi5BYShjKSxkZWxldGUgbmtbYV0pOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9fTtzaz1mdW5jdGlvbigpe3JrKCl9Owpyaz1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGspO2trKCkuc3RhcnQoKX07dms9ZnVuY3Rpb24oKXtraygpLnBhdXNlKCk7d2luZG93LmNsZWFyVGltZW91dCh0ayk7dGs9d2luZG93LnNldFRpbWVvdXQoc2ssdWspfTt5az1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQod2spO3drPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57eGsoMCl9LHVrKX07eGs9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj1hO2Iuc3RhcnQoKX07ems9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj5hJiYoYi5CPWEsYi5zdGFydCgpKX07QWs9ZnVuY3Rpb24oKXt3aW5kb3cuY2xlYXJUaW1lb3V0KHdrKTt2YXIgYT1raygpO2EuQj0wO2Euc3RhcnQoKX07Xy5Daz1mdW5jdGlvbigpe0JrLmluc3RhbmNlfHwoQmsuaW5zdGFuY2U9bmV3IEJrKTtyZXR1cm4gQmsuaW5zdGFuY2V9OwpFaz1mdW5jdGlvbigpe3JldHVybiBEaygpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTtfLklrPWZ1bmN0aW9uKGEpe0ZrfHwoXy5Haz9fLkdrLkpiKGEpOihfLkhrLnB1c2goe3R5cGU6IkVSUk9SIixwYXlsb2FkOmF9KSxfLkhrLmxlbmd0aD4xMCYmXy5Iay5zaGlmdCgpKSl9O0prPWZ1bmN0aW9uKGEsYil7Rmt8fChfLkdrP18uR2subG0oYSxiKTooXy5Iay5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOmEscGF5bG9hZDpifSksXy5Iay5sZW5ndGg+MTAmJl8uSGsuc2hpZnQoKSkpfTtLaz1mdW5jdGlvbihhKXtpZihhLmluZGV4T2YoIjoiKT49MCl0aHJvdyBFcnJvcigiaGEiKTt9O0xrPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN1YnN0cigwLGEuaW5kZXhPZigiOiIpKXx8YX07Xy5Naz1mdW5jdGlvbihhKXt2YXIgYj1fLmJjKCk7cmV0dXJuIGI/Yi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoYSk+PTA6ITF9OwpSaz1mdW5jdGlvbihhLGIsYyxkKXtiPUxrKGIpO3ZhciBlPWEgaW5zdGFuY2VvZiBFcnJvcj9hOkVycm9yKCJpYWAiK2EpO2lmKGUgaW5zdGFuY2VvZiBOaylyZXR1cm4gZTthPXtvYmplY3RTdG9yZU5hbWVzOmMsZGJOYW1lOmIsZGJWZXJzaW9uOmR9O2lmKGUubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IiKXJldHVybiBuZXcgTmsoIlFVT1RBX0VYQ0VFREVEIixhKTtpZihfLk9rJiZlLm5hbWU9PT0iVW5rbm93bkVycm9yIilyZXR1cm4gbmV3IE5rKCJRVU9UQV9NQVlCRV9FWENFRURFRCIsYSk7aWYoZSBpbnN0YW5jZW9mIFBrKXJldHVybiBuZXcgTmsoIk1JU1NJTkdfSU5ERVgiLHsuLi5hLG9iamVjdFN0b3JlOmUub2JqZWN0U3RvcmUsaW5kZXg6ZS5pbmRleH0pO2lmKGUubmFtZT09PSJJbnZhbGlkU3RhdGVFcnJvciImJlFrLnNvbWUoZj0+ZS5tZXNzYWdlLmluY2x1ZGVzKGYpKSlyZXR1cm4gbmV3IE5rKCJFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQiIsYSk7aWYoZS5uYW1lPT09CiJBYm9ydEVycm9yIilyZXR1cm4gbmV3IE5rKCJVTktOT1dOX0FCT1JUIixhLGUubWVzc2FnZSk7ZS5hcmdzPVt7Li4uYSxuYW1lOiJJZGJFcnJvciIsTW06ZS5uYW1lfV07ZS5sZXZlbD0iV0FSTklORyI7cmV0dXJuIGV9O1NrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1FaygpO3JldHVybiBuZXcgTmsoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOmEscHVibGljTmFtZTpiLHZlcnNpb246YyxoYXNTdWNjZWVkZWRPbmNlOmQ/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9O1RrPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCk7dGhyb3cgYTt9O1VrPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtYaz1mdW5jdGlvbihhLGIsYyxkLGUpe3RyeXtpZihhLnN0YXRlLnN0YXR1cyE9PSJGVUxGSUxMRUQiKXRocm93IEVycm9yKCJqYSIpO2xldCBmPWMoYS5zdGF0ZS52YWx1ZSk7ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfWNhdGNoKGYpe2UoZil9fTsKWWs9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0cnl7aWYoYS5zdGF0ZS5zdGF0dXMhPT0iUkVKRUNURUQiKXRocm93IEVycm9yKCJrYSIpO2xldCBmPWMoYS5zdGF0ZS5yZWFzb24pO2YgaW5zdGFuY2VvZiBfLlZrP1drKGEsYixmLGQsZSk6ZChmKX1jYXRjaChmKXtlKGYpfX07V2s9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPT09Yz9lKG5ldyBUeXBlRXJyb3IoImxhIikpOmMudGhlbihmPT57ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfSxmPT57ZShmKX0pfTtaaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9KCk9Pnt0cnl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJzdWNjZXNzIixlKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixmKX1jYXRjaHt9fSxlPSgpPT57YihhLnJlc3VsdCk7ZCgpfSxmPSgpPT57YyhhLmVycm9yKTtkKCl9O2EuYWRkRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsZSk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZil9Owokaz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoKGIsYyk9PntaayhhLGIsYyl9KX07Ymw9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlZrKG5ldyBhbCgoYixjKT0+e1prKGEsYixjKX0pKX07Y2w9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChjLGQpPT57dmFyIGU9KCk9Pnt2YXIgZj1hP2IoYSk6bnVsbDtmP2YudGhlbihoPT57YT1oO2UoKX0sZCk6YygpfTtlKCl9KSl9O2RsPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiaWRiX2ltbWVkaWF0ZV9jb21taXQiKX07Cl8uaWw9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e21vZGU6InJlYWRvbmx5IixrYjohMSx0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiJ9O3R5cGVvZiBjPT09InN0cmluZyI/ZS5tb2RlPWM6T2JqZWN0LmFzc2lnbihlLGMpO2EudHJhbnNhY3Rpb25Db3VudCsrO2M9ZS5rYj8zOjE7Zm9yKHZhciBmPTAsaDshaDspe2YrKztsZXQgbj1NYXRoLnJvdW5kKCgwLF8uZWwpKCkpO3RyeXt2YXIgaz1hLmoudHJhbnNhY3Rpb24oYixlLm1vZGUpLGw9ZCxtPSEhZS5jb21taXQ7bGV0IHA9bmV3IGZsKGspLHI9YXdhaXQgZ2wocCxsLG0pLHQ9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKTtobChhLG4sdCxmLHZvaWQgMCxiLmpvaW4oKSxlKTtyZXR1cm4gcn1jYXRjaChwKXtsPU1hdGgucm91bmQoKDAsXy5lbCkoKSk7bGV0IHI9UmsocCxhLmoubmFtZSxiLmpvaW4oKSxhLmoudmVyc2lvbik7aWYociBpbnN0YW5jZW9mIE5rJiYhci5qfHxmPj1jKWhsKGEsbixsLGYscixiLmpvaW4oKSwKZSksaD1yfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9O18ua2w9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLmNyZWF0ZU9iamVjdFN0b3JlKGIsYyk7cmV0dXJuIG5ldyBqbChhKX07Xy5tbD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uaWwoYSxbYl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9Pl8ubGwoZC5vYmplY3RTdG9yZShiKSxjKSl9OwpobD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtiPWMtYjtlPyhlIGluc3RhbmNlb2YgTmsmJihlLnR5cGU9PT0iUVVPVEFfRVhDRUVERUQifHxlLnR5cGU9PT0iUVVPVEFfTUFZQkVfRVhDRUVERUQiKSYmSmsoIlFVT1RBX0VYQ0VFREVEIix7ZGJOYW1lOkxrKGEuai5uYW1lKSxvYmplY3RTdG9yZU5hbWVzOmYsdHJhbnNhY3Rpb25Db3VudDphLnRyYW5zYWN0aW9uQ291bnQsdHJhbnNhY3Rpb25Nb2RlOmgubW9kZX0pLGUgaW5zdGFuY2VvZiBOayYmZS50eXBlPT09IlVOS05PV05fQUJPUlQiJiYoYy09YS52LGM8MCYmYz49MjE0NzQ4MzY0OCYmKGM9MCksSmsoIlRSQU5TQUNUSU9OX1VORVhQRUNURURMWV9BQk9SVEVEIix7b2JqZWN0U3RvcmVOYW1lczpmLHRyYW5zYWN0aW9uRHVyYXRpb246Yix0cmFuc2FjdGlvbkNvdW50OmEudHJhbnNhY3Rpb25Db3VudCxkYkR1cmF0aW9uOmN9KSxhLm89ITApLG5sKGEsITEsZCxmLGIsaC50YWcpLF8uSWsoZSkpOm5sKGEsITAsZCxmLGIsaC50YWcpfTsKbmw9ZnVuY3Rpb24oYSxiLGMsZCxlLGY9IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiIpe0prKCJUUkFOU0FDVElPTl9FTkRFRCIse29iamVjdFN0b3JlTmFtZXM6ZCxjb25uZWN0aW9uSGFzVW5rbm93bkFib3J0ZWRUcmFuc2FjdGlvbjphLm8sZHVyYXRpb246ZSxpc1N1Y2Nlc3NmdWw6Yix0cnlDb3VudDpjLHRhZzpmfSl9O18ubGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYmwoYS5qLnB1dChiLHZvaWQgMCkpfTtfLm9sPWZ1bmN0aW9uKGEsYixjKXthLmouY3JlYXRlSW5kZXgoYixjLHt1bmlxdWU6ITF9KX07cWw9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLm9wZW5DdXJzb3IoYi5xdWVyeSxiLmRpcmVjdGlvbik7cmV0dXJuIHBsKGEpLnRoZW4oZD0+Y2woZCxjKSl9O3NsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGM9PmMuZGVsZXRlKCkudGhlbigoKT0+cmwoYykpKS50aGVuKCgpPT57fSl9Owp0bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtnbD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IFByb21pc2UoKGUsZik9Pnt0cnl7bGV0IGg9YihhKTtjJiZhLmNvbW1pdCgpO2gudGhlbihrPT57ZShrKX0pLmNhdGNoKGYpfWNhdGNoKGgpe2YoaCksYS5hYm9ydCgpfX0pO3JldHVybiBQcm9taXNlLmFsbChbZCxhLmRvbmVdKS50aGVuKChbZV0pPT5lKX07dWw9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7cXVlcnk6ZD1udWxsLGRpcmVjdGlvbjplPSJuZXh0In09YjthPWEuai5vcGVuQ3Vyc29yKGQsZSk7cmV0dXJuIHBsKGEpLnRoZW4oZj0+Y2woZixjKSl9Owp2bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHVsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtwbD1mdW5jdGlvbihhKXtyZXR1cm4gYmwoYSkudGhlbihiPT5iP25ldyB3bChhLGIpOm51bGwpfTtybD1mdW5jdGlvbihhKXthLmN1cnNvci5jb250aW51ZSh2b2lkIDApO3JldHVybiBwbChhLnJlcXVlc3QpfTsKeWw9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgUHJvbWlzZSgoZCxlKT0+e3ZhciBmPWIhPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihhLGIpOnNlbGYuaW5kZXhlZERCLm9wZW4oYSk7dmFyIGg9Yy5ibG9ja2VkLGs9Yy5ibG9ja2luZyxsPWMuVEEsbT1jLnVwZ3JhZGUsbj1jLmNsb3NlZCxwLHI9KCk9PntwfHwocD1uZXcgeGwoZi5yZXN1bHQse2Nsb3NlZDpufSkpO3JldHVybiBwfTtmLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLHQ9Pnt0cnl7aWYodC5uZXdWZXJzaW9uPT09bnVsbCl0aHJvdyBFcnJvcigibmEiKTtpZihmLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigib2EiKTt0LmRhdGFMb3NzJiZ0LmRhdGFMb3NzIT09Im5vbmUiJiZKaygiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOnQuZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpMayhhKX0pO2xldCB2PXIoKSx6PW5ldyBmbChmLnRyYW5zYWN0aW9uKTttJiYKbSh2LEU9PnQub2xkVmVyc2lvbjxFJiZ0Lm5ld1ZlcnNpb24+PUUseik7ei5kb25lLmNhdGNoKEU9PntlKEUpfSl9Y2F0Y2godil7ZSh2KX19KTtmLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLCgpPT57dmFyIHQ9Zi5yZXN1bHQ7ayYmdC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIiwoKT0+e2socigpKX0pO3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT57SmsoIklEQl9VTkVYUEVDVEVETFlfQ0xPU0VEIix7ZGJOYW1lOkxrKGEpLGRiVmVyc2lvbjp0LnZlcnNpb259KTtsJiZsKCl9KTtkKHIoKSl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2UoZi5lcnJvcil9KTtoJiZmLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrZWQiLCgpPT57aCgpfSl9KX07emw9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiB5bChhLGIsYyl9OwpfLkFsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dHJ5e2xldCBjPXNlbGYuaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGEpLGQ9Yi5ibG9ja2VkO2QmJmMuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntkKCl9KTthd2FpdCAkayhjKX1jYXRjaChjKXt0aHJvdyBSayhjLGEsIiIsLTEpO319O0JsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBOaygiSU5DT01QQVRJQkxFX0RCX1ZFUlNJT04iLHtkYk5hbWU6YS5uYW1lLG9sZFZlcnNpb246YS5vcHRpb25zLnZlcnNpb24sbmV3VmVyc2lvbjpifSl9O18uQ2w9ZnVuY3Rpb24oYSxiKXtpZighYil0aHJvdyBTaygib3BlbldpdGhUb2tlbiIsTGsoYS5uYW1lKSk7cmV0dXJuIGEub3BlbigpfTsKRWw9YXN5bmMgZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5pbChhd2FpdCBfLkNsKERsLGIpLFsiZGF0YWJhc2VzIl0se2tiOiEwLG1vZGU6InJlYWR3cml0ZSJ9LGM9Pnt2YXIgZD1jLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKTtyZXR1cm4gZC5nZXQoYS5hY3R1YWxOYW1lKS50aGVuKGU9PntpZihlP2EuYWN0dWFsTmFtZSE9PWUuYWN0dWFsTmFtZXx8YS5wdWJsaWNOYW1lIT09ZS5wdWJsaWNOYW1lfHxhLnVzZXJJZGVudGlmaWVyIT09ZS51c2VySWRlbnRpZmllcjoxKXJldHVybiBfLmxsKGQsYSkudGhlbigoKT0+e30pfSl9KX07Xy5GbD1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBhPyhhd2FpdCBfLkNsKERsLGIpKS5kZWxldGUoImRhdGFiYXNlcyIsYSk6dm9pZCAwfTsKXy5HbD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I9YXdhaXQgXy5DbChEbCxiKTthd2FpdCBfLmlsKGIsWyJkYXRhYmFzZXMiXSx7a2I6ITAsbW9kZToicmVhZG9ubHkifSxkPT57Yy5sZW5ndGg9MDtyZXR1cm4gcWwoZC5vYmplY3RTdG9yZSgiZGF0YWJhc2VzIikse30sZT0+e2EoZS5jdXJzb3IudmFsdWUpJiZjLnB1c2goZS5jdXJzb3IudmFsdWUpO3JldHVybiBybChlKX0pfSk7cmV0dXJuIGN9O0hsPWZ1bmN0aW9uKGEpe3JldHVybiBfLkdsKGI9PmIucHVibGljTmFtZT09PSJMb2dzRGF0YWJhc2VWMiImJmIudXNlcklkZW50aWZpZXIhPT12b2lkIDAsYSl9OwpMbD1hc3luYyBmdW5jdGlvbigpe2lmKEVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIGE7aWYoYT1fLklsKWE9L1dlYktpdFwvKFswLTldKykvLmV4ZWMoXy5iYygpKSxhPSEhKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDApO2EmJihhPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKF8uYmMoKSksYT0hKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDIpKTtpZighKGE9YXx8Xy5KbCkpe3RyeXthPXNlbGY7dmFyIGI9ISEoYS5pbmRleGVkREImJmEuSURCSW5kZXgmJmEuSURCS2V5UmFuZ2UmJmEuSURCT2JqZWN0U3RvcmUpfWNhdGNoKGMpe2I9ITF9YT0hYn1pZihhfHwhKCJJREJUcmFuc2FjdGlvbiJpbiBzZWxmJiYib2JqZWN0U3RvcmVOYW1lcyJpbiBJREJUcmFuc2FjdGlvbi5wcm90b3R5cGUpKXJldHVybiExO3RyeXtyZXR1cm4gYXdhaXQgRWwoe2FjdHVhbE5hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLHB1YmxpY05hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLAp1c2VySWRlbnRpZmllcjp2b2lkIDB9LEtsKSxhd2FpdCBfLkZsKCJ5dC1pZGItdGVzdC1kby1ub3QtdXNlIixLbCksITB9Y2F0Y2goYyl7cmV0dXJuITF9fTtObD1mdW5jdGlvbigpe2lmKE1sIT09dm9pZCAwKXJldHVybiBNbDtGaz0hMDtyZXR1cm4gTWw9TGwoKS50aGVuKGE9PntGaz0hMTtpZihEaygpPy5vKCkpe3ZhciBiPXtoYXNTdWNjZWVkZWRPbmNlOkVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2V8fGF9O0RrKCk/LnNldCgiTEFTVF9SRVNVTFRfRU5UUllfS0VZIixiLDI1OTJFMywhMCl9cmV0dXJuIGF9KX07T2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zYSgieXRnbG9iYWwuaWRiVG9rZW5fIil8fHZvaWQgMH07Xy5QbD1mdW5jdGlvbigpe3ZhciBhPU9sKCk7cmV0dXJuIGE/UHJvbWlzZS5yZXNvbHZlKGEpOk5sKCkudGhlbihiPT57Yj8oXy5yYSgieXRnbG9iYWwuaWRiVG9rZW5fIixLbCksYj1LbCk6Yj12b2lkIDA7cmV0dXJuIGJ9KX07ClFsPWZ1bmN0aW9uKGEpe2lmKCFfLldqKCkpdGhyb3cgYT1uZXcgTmsoIkFVVEhfSU5WQUxJRCIse2RiTmFtZTphfSksXy5JayhhKSxhO3ZhciBiPV8uVmooKTtyZXR1cm57YWN0dWFsTmFtZTpgJHthfToke2J9YCxwdWJsaWNOYW1lOmEsdXNlcklkZW50aWZpZXI6Yn19OwpSbD1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1FcnJvcigpLnN0YWNrPz8iIixmPWF3YWl0IF8uUGwoKTtpZighZil0aHJvdyBiPVNrKCJvcGVuRGJJbXBsIixhLGIpLF8ueCgieXRpZGJfYXN5bmNfc3RhY2tfa2lsbHN3aXRjaCIpfHwoYi5zdGFjaz1gJHtiLnN0YWNrfVxuJHtlLnN1YnN0cmluZyhlLmluZGV4T2YoIlxuIikrMSl9YCksXy5JayhiKSxiO0trKGEpO2U9Yz97YWN0dWFsTmFtZTphLHB1YmxpY05hbWU6YSx1c2VySWRlbnRpZmllcjp2b2lkIDB9OlFsKGEpO3RyeXtyZXR1cm4gYXdhaXQgRWwoZSxmKSxhd2FpdCB6bChlLmFjdHVhbE5hbWUsYixkKX1jYXRjaChoKXt0cnl7YXdhaXQgXy5GbChlLmFjdHVhbE5hbWUsZil9Y2F0Y2h7fXRocm93IGg7fX07U2w9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiBSbChhLGIsITEsYyl9O1RsPWZ1bmN0aW9uKGEsYixjPXt9KXtyZXR1cm4gUmwoYSxiLCEwLGMpfTsKVWw9YXN5bmMgZnVuY3Rpb24oYSxiPXt9KXt2YXIgYz1hd2FpdCBfLlBsKCk7YyYmKEtrKGEpLGE9UWwoYSksYXdhaXQgXy5BbChhLmFjdHVhbE5hbWUsYiksYXdhaXQgXy5GbChhLmFjdHVhbE5hbWUsYykpfTtWbD1mdW5jdGlvbihhLGIsYyl7YT1hLm1hcChhc3luYyBkPT57YXdhaXQgXy5BbChkLmFjdHVhbE5hbWUsYik7YXdhaXQgXy5GbChkLmFjdHVhbE5hbWUsYyl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoYSkudGhlbigoKT0+e30pfTtXbD1hc3luYyBmdW5jdGlvbigpe3ZhciBhPXt9LGI9YXdhaXQgXy5QbCgpO2lmKGIpe0trKCJMb2dzRGF0YWJhc2VWMiIpO3ZhciBjPWF3YWl0IEhsKGIpO2F3YWl0IFZsKGMsYSxiKX19O1hsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9YXdhaXQgXy5QbCgpO2MmJihLayhhKSxhd2FpdCBfLkFsKGEsYiksYXdhaXQgXy5GbChhLGMpKX07Wmw9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4oKT0+e2N8fChjPW5ldyBZbChhLGIpKTtyZXR1cm4gY319OwpfLiRsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFpsKGEsYil9O2JtPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKGFtKCksYSl9O2NtPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLHRpbWVzdGFtcDooMCxfLmVsKSgpfTtjPWF3YWl0IGJtKGMpO2F3YWl0IGMuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IF8ubWwoYywiaG90Q29uZmlnU3RvcmUiLGEpfTtkbT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLGNvbmZpZ0RhdGE6Yyx0aW1lc3RhbXA6KDAsXy5lbCkoKX07ZD1hd2FpdCBibShkKTthd2FpdCBkLmNsZWFyKCJjb2xkQ29uZmlnU3RvcmUiKTtyZXR1cm4gYXdhaXQgXy5tbChkLCJjb2xkQ29uZmlnU3RvcmUiLGEpfTsKZW09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBibShhKTt2YXIgYj12b2lkIDA7YXdhaXQgXy5pbChhLFsiY29sZENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImNvbGRDb25maWdTdG9yZSIpLmluZGV4KCJjb2xkVGltZXN0YW1wSW5kZXgiKSx7ZGlyZWN0aW9uOiJwcmV2In0sZD0+e2I9ZC5jdXJzb3IudmFsdWV9KSk7cmV0dXJuIGJ9O2ZtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgYm0oYSk7dmFyIGI9dm9pZCAwO2F3YWl0IF8uaWwoYSxbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGQ9PntiPWQuY3Vyc29yLnZhbHVlfSkpO3JldHVybiBifTsKZ209YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2lmKF8ueCgic3RhcnRfY2xpZW50X2djZiIpKXtjJiYoYS52PWMsXy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIsYS52fHxudWxsKSk7YS5CKGIpO2xldCBkPU9sKCk7ZCYmKGN8fChjPShhd2FpdCBmbShkKSk/LmNvbmZpZyksYXdhaXQgY20oYyxiLGQpKTtpZihjKXthPWEubztmb3IobGV0IGUgb2YgYS5qKWUoYyl9fX07aG09YXN5bmMgZnVuY3Rpb24oYSxiLGMpe18ueCgic3RhcnRfY2xpZW50X2djZiIpJiYoYS5jb2xkSGFzaERhdGE9YixfLnJhKCJ5dC5nY2YuY29uZmlnLmNvbGRIYXNoRGF0YSIsYS5jb2xkSGFzaERhdGF8fG51bGwpLGE9T2woKSkmJihjfHwoYz0oYXdhaXQgZW0oYSkpPy5jb25maWcpLGMmJmF3YWl0IGRtKGMsYixjLmNvbmZpZ0RhdGEsYSkpfTsKXy5qbT1mdW5jdGlvbigpe2lmKCFpbS5pbnN0YW5jZSl7dmFyIGE9bmV3IGltO2ltLmluc3RhbmNlPWF9YT1pbS5pbnN0YW5jZTt2YXIgYj0oMCxfLmVsKSgpLWEuajtpZighKGEuaiE9PTAmJmI8Xy5zaigic2VuZF9jb25maWdfaGFzaF90aW1lciIpKSl7Yj1fLnNhKCJ5dC5nY2YuY29uZmlnLmNvbGRDb25maWdEYXRhIik7dmFyIGM9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIpLGQ9Xy5zYSgieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiKTtiJiZjJiZkJiYoYS5qPSgwLF8uZWwpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpiLGhvdEhhc2hEYXRhOmMsY29sZEhhc2hEYXRhOmR9fX07a209ZnVuY3Rpb24oKXtyZXR1cm4iSU5ORVJUVUJFX0FQSV9LRVkiaW4gXy5QaSYmIklOTkVSVFVCRV9BUElfVkVSU0lPTiJpbiBfLlBpfTsKbG09ZnVuY3Rpb24oKXtyZXR1cm57aW5uZXJ0dWJlQXBpS2V5Ol8udygiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOl8udygiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIiksd3g6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfQ09ORklHX0lORk8iKSxtcTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIikscUo6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSksaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb246Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpLHl4Ol8udygiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSx4eDpfLncoIklOTkVSVFVCRV9DT05URVhUX0dMIikseng6Xy53KCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSIpfHwiIixBeDohIV8udygiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSkscko6ISFfLncoIklOTkVSVFVCRV9PTUlUX0FQSV9LRVlfV0hFTl9BVVRIX0hFQURFUl9JU19QUkVTRU5UIiwKITEpLGFwcEluc3RhbGxEYXRhOl8udygiU0VSSUFMSVpFRF9DTElFTlRfQ09ORklHX0RBVEEiKX19OwptbT1mdW5jdGlvbihhKXt2YXIgYj17Y2xpZW50OntobDphLnl4LGdsOmEueHgsY2xpZW50TmFtZTphLm1xLGNsaWVudFZlcnNpb246YS5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbixjb25maWdJbmZvOmEud3h9fTtuYXZpZ2F0b3IudXNlckFnZW50JiYoYi5jbGllbnQudXNlckFnZW50PVN0cmluZyhuYXZpZ2F0b3IudXNlckFnZW50KSk7dmFyIGM9Xy51LmRldmljZVBpeGVsUmF0aW87YyYmYyE9MSYmKGIuY2xpZW50LnNjcmVlbkRlbnNpdHlGbG9hdD1TdHJpbmcoYykpO2M9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpO2MhPT0iIiYmKGIuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49Yyk7Yz1fLnVqKCk7Yy5sZW5ndGg+MCYmKGIucmVxdWVzdD17aW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6Y30pO2M9YS5tcTtjIT09IldFQiImJmMhPT0iTVdFQiImJmMhPT0xJiZjIT09Mnx8IWJ8fChiLmNsaWVudC5tYWluQXBwV2ViSW5mbz1iLmNsaWVudC5tYWluQXBwV2ViSW5mbz8/e30sCmIuY2xpZW50Lm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSk7KGM9Xy5zYSgieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpKSYmYiYmKGIudGhpcmRQYXJ0eT17ZW1iZWRVcmw6Y30pO18ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGM9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5LGImJihiLmNsaWVudC5tZW1vcnlUb3RhbEtieXRlcz1gJHtjKjFFNn1gKSk7YS5hcHBJbnN0YWxsRGF0YSYmYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYi5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1hLmFwcEluc3RhbGxEYXRhKTsoYT1fLlNqKCkpJiZiJiYoYi5jbGllbnQuY29ubmVjdGlvblR5cGU9YSk7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGE9Xy5VaigpKSYmYiYmKGIuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPQphKTtpZihfLngoInN0YXJ0X2NsaWVudF9nY2YiKSl7dmFyIGQ9Xy5qbSgpO2QmJihhPWQuY29sZENvbmZpZ0RhdGEsYz1kLmNvbGRIYXNoRGF0YSxkPWQuaG90SGFzaERhdGEsYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYSYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YSksYyYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPWMpLGQmJihiLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWQpKSl9Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpJiYhXy54KCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoYi51c2VyPXtvbkJlaGFsZk9mVXNlcjpfLncoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIil9KTshXy54KCJmaWxsX2RlbGVnYXRlX2NvbnRleHRfaW5fZ2VsX2tpbGxzd2l0Y2giKSYmKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9TRVJJQUxJWkVEX0RFTEVHQVRJT05fQ09OVEVYVCIpKSYmKGIudXNlcj0Key4uLmIudXNlcixzZXJpYWxpemVkRGVsZWdhdGlvbkNvbnRleHQ6YX0pO2E9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO18ueCgiZW5hYmxlX3BlcnNpc3RlbnRfZGV2aWNlX3Rva2VuIikmJmE/LmNsaWVudD8ucm9sbG91dFRva2VuJiYoYi5jbGllbnQucm9sbG91dFRva2VuPWE/LmNsaWVudD8ucm9sbG91dFRva2VuKTthPU9iamVjdDtjPWEuYXNzaWduO2Q9Yi5jbGllbnQ7dmFyIGU9Xy53KCJERVZJQ0UiLCIiKSxmPXt9O2ZvcihsZXQgW2gsa11vZiBPYmplY3QuZW50cmllcyhfLmJqKGUpKSllPWgsZT09PSJjYnJhbmQiP2YuZGV2aWNlTWFrZT1rOmU9PT0iY21vZGVsIj9mLmRldmljZU1vZGVsPWs6ZT09PSJjYnIiP2YuYnJvd3Nlck5hbWU9azplPT09ImNicnZlciI/Zi5icm93c2VyVmVyc2lvbj1rOmU9PT0iY29zIj9mLm9zTmFtZT1rOmU9PT0iY29zdmVyIj9mLm9zVmVyc2lvbj1rOmU9PT0iY3BsYXRmb3JtIiYmKGYucGxhdGZvcm09ayk7Yi5jbGllbnQ9Yy5jYWxsKGEsZCxmKTsKXy54KCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoYi5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsYi5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIGJ9OwpvbT1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9e307Xy53KCJFT01fVklTSVRPUl9EQVRBIik/ZD17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Xy53KCJFT01fVklTSVRPUl9EQVRBIil9OmQ9eyJYLUdvb2ctVmlzaXRvci1JZCI6Yy52aXNpdG9yRGF0YXx8Xy53KCJWSVNJVE9SX0RBVEEiLCIiKX07aWYoYiYmYi5pbmNsdWRlcygid3d3LnlvdXR1YmUtbm9jb29raWUuY29tIikpcmV0dXJuIGQ7Yj1jLmF1dGhvcml6YXRpb258fF8udygiQVVUSE9SSVpBVElPTiIpO2J8fChhP2I9YEJlYXJlciAke18uc2EoImdhcGkuYXV0aC5nZXRUb2tlbiIpKCkuT0h9YDooXy5ubS5pbnN0YW5jZXx8KF8ubm0uaW5zdGFuY2U9bmV3IF8ubm0pLGE9Xy5QaigpLF8ueCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIGFbIlgtR29vZy1QYWdlSWQiXSxkPXsuLi5kLC4uLmF9KSk7YiYmKGQuQXV0aG9yaXphdGlvbj1iKTtyZXR1cm4gZH07Cl8ucG09ZnVuY3Rpb24oYSl7dGhpcy52ZXJzaW9uPTE7dGhpcy5hcmdzPWF9O18ucW09ZnVuY3Rpb24oYSxiKXt0aGlzLnRvcGljPWE7dGhpcy5qPWJ9O18uc209ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnJtKCk7YyYmYy5wdWJsaXNoLmNhbGwoYyxhLnRvU3RyaW5nKCksYSxiKX07Xy5ybT1mdW5jdGlvbigpe3JldHVybiBfLnNhKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKX07dG09ZnVuY3Rpb24oYSxiLGM9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixjLnNhbXBsZVJhdGUvMTAwKSYmXy5zbSgibWV0YV9sb2dnaW5nX2NzaV9ldmVudCIse3RpbWVyTmFtZTphLHRpbWVsaW5lRGF0YTpifSl9OwpBbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17c3RhcnRUaW1lOigwLF8uZWwpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD1fLnVtKGIpO2lmKGg9PW51bGx8fCEoaD5fLndtfHxoPF8ueG0pKXt2YXIgZj1fLk5pKCgwLF8ueW0pKGIpKTtsZXQgaz0oMCxfLmVsKSgpO2UudGlja3MuZ2VsYz1rO3ptKys7Xy54KCJnZWxfY29tcHJlc3Npb25fY3NpX2tpbGxzd2l0Y2giKXx8IV8ueCgibG9nX2dlbF9jb21wcmVzc2lvbl9sYXRlbmN5IikmJiFfLngoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeV9sciIpfHx0bSgiZ2VsX2NvbXByZXNzaW9uIixlLHtzYW1wbGVSYXRlOi4xfSk7Yy5oZWFkZXJzfHwoYy5oZWFkZXJzPXt9KTtjLmhlYWRlcnNbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7Yy5wb3N0Qm9keT1mO2MucG9zdFBhcmFtcz12b2lkIDB9ZChhLGMpfWNhdGNoKGgpe18uV2koaCksZChhLGMpfX07Cl8udW09ZnVuY3Rpb24oYSl7dHJ5e3JldHVybihuZXcgQmxvYihhLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksbnVsbH19O0JtPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5KYXx8YS54aX07RG09ZnVuY3Rpb24oYSl7Qm0oYSkmJiFhLmFoJiYoYS5PYz0hMCxhLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLmNiLk91KGEuSmEpLENtKGEpLGEuU2EuU2IoKSYmYS5vKCksYS5TYS5saXN0ZW4oYS5LbSxhLm8uYmluZChhKSksYS5TYS5saXN0ZW4oYS5GbSxhLnYuYmluZChhKSkpfTtDbT1mdW5jdGlvbihhKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInhhIik7YS5jYi5XcCgiUVVFVUVEIixhLkphKS50aGVuKGI9PntiJiYhRW0oYSxiLGEuQ3IpP2EuRGMucGIoYXN5bmMoKT0+e2IuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphKTtDbShhKX0pOmEuU2EuU2IoKSYmYS5vKCl9KX07CkdtPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoIUJtKGEpKXRocm93IEVycm9yKCJzYSIpO2IuaWQhPT12b2lkIDAmJihhd2FpdCBhLmNiLkF5KGIuaWQsYS5KYSl8fGEuVGYoRXJyb3IoInRhIikpKTtFbShhLGIsYS5Lcik/KGIuc2tpcFJldHJ5fHwoYj1GbShhLGIpKSxiJiYoYi5za2lwUmV0cnkmJmIuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSxhLkdkKGIudXJsLGIub3B0aW9ucywhIWIuc2tpcFJldHJ5KSkpOihhLlRmKEVycm9yKCJ1YSIpKSxiLmlkIT09dm9pZCAwJiZhd2FpdCBhLmNiLkZmKGIuaWQsYS5KYSkpfTtIbT1mdW5jdGlvbihhLGIpe2EuTHMmJiFhLlNhLlNiKCk/YS5McyhiKTphLmhhbmRsZUVycm9yKGIpfTtFbT1mdW5jdGlvbihhLGIsYyl7Yj1iLnRpbWVzdGFtcDtyZXR1cm4gYS5ub3coKS1iPj1jPyExOiEwfTsKRm09ZnVuY3Rpb24oYSxiKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInZhIik7dmFyIGM9Yi5vcHRpb25zLm9uRXJyb3I/Yi5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9O2Iub3B0aW9ucy5vbkVycm9yPWFzeW5jKGUsZik9Pnt2YXIgaD1JbShmKSxrPUptKGYpO2smJmEuS2EmJmEuS2EoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJmEuaGFuZGxlRXJyb3IoRXJyb3IoIndhIiksYi51cmwsZik7aWYoYS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmaHx8YS5LYSYmIWEuS2EoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmEucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPD1hLktqKWlmKGEuU2EuUWomJmF3YWl0IGEuU2EuUWooKSwhYS5TYS5TYigpKXtjKGUsZik7YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmYj8uaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCExKTtyZXR1cm59YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmCiFoJiZhLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5hLktqfHwoYS5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKyxiPy5pZCE9PXZvaWQgMCYmKGIuc2VuZENvdW50PGEuTXI/KGF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCEwLGs/ITE6dm9pZCAwKSxhLkRjLnBiKCgpPT57YS5TYS5TYigpJiZhLm8oKX0sYS5McikpOmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSksYyhlLGYpKX07dmFyIGQ9Yi5vcHRpb25zLm9uU3VjY2Vzcz9iLm9wdGlvbnMub25TdWNjZXNzOigpPT57fTtiLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKGUsZik9PntiPy5pZCE9PXZvaWQgMCYmYXdhaXQgYS5jYi5GZihiLmlkLGEuSmEpO2EuU2EuZWYmJmEuS2EmJmEuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmYS5TYS5lZighMCk7ZChlLGYpfTtyZXR1cm4gYn07SW09ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YT8uZXJyb3I/LmNvZGUpJiZhPj00MDAmJmE8PTU5OT8hMTohMH07CkptPWZ1bmN0aW9uKGEpe2E9YT8uZXJyb3I/LmNvZGU7cmV0dXJuIShhIT09NDAwJiZhIT09NDE1KX07CkxtPWZ1bmN0aW9uKCl7aWYoS20pcmV0dXJuIEttKCk7S209Xy4kbCgiTG9nc0RhdGFiYXNlVjIiLHtzZTp7TG9nc1JlcXVlc3RzU3RvcmU6e1BkOjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShhLGIsYyl7YigyKSYmXy5rbChhLCJMb2dzUmVxdWVzdHNTdG9yZSIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSk7YigzKTtiKDUpJiYoYz1jLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLGMuai5pbmRleE5hbWVzLmNvbnRhaW5zKCJuZXdSZXF1ZXN0IikmJmMuai5kZWxldGVJbmRleCgibmV3UmVxdWVzdCIpLF8ub2woYywibmV3UmVxdWVzdFYyIixbInN0YXR1cyIsImludGVyZmFjZSIsInRpbWVzdGFtcCJdKSk7Yig3KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInNhcGlzaWQiKSYmYS5qLmRlbGV0ZU9iamVjdFN0b3JlKCJzYXBpc2lkIik7Yig5KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoIlNXSGVhbHRoTG9nIikmJmEuai5kZWxldGVPYmplY3RTdG9yZSgiU1dIZWFsdGhMb2ciKX0sCnZlcnNpb246OX0pO3JldHVybiBLbSgpfTtNbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChMbSgpLGEpfTtPbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtiPWF3YWl0IE1tKGIpO2E9ey4uLmEsb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEub3B0aW9ucykpLGludGVyZmFjZTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwwKX07YT1hd2FpdCBfLm1sKGIsIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGF9OwpQbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9SRUFEIn0sdGlja3M6e319O2I9YXdhaXQgTW0oYik7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksZT1bYSxkLDBdO2Q9W2EsZCwoMCxfLmVsKSgpXTt2YXIgZj1JREJLZXlSYW5nZS5ib3VuZChlLGQpLGg9InByZXYiO18ueCgidXNlX2ZpZm9fZm9yX25ldHdvcmtsZXNzIikmJihoPSJuZXh0Iik7dmFyIGs9dm9pZCAwO2U9YT09PSJORVciPyJyZWFkd3JpdGUiOiJyZWFkb25seSI7Xy54KCJ1c2VfcmVhZG9ubHlfZm9yX2dldF9tb3N0X3JlY2VudF9ieV9zdGF0dXNfa2lsbHN3aXRjaCIpJiYoZT0icmVhZHdyaXRlIik7YXdhaXQgXy5pbChiLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTplLGtiOiEwfSxsPT51bChsLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmYsZGlyZWN0aW9uOmh9LG09PnttLmN1cnNvci52YWx1ZSYmKGs9bS5jdXJzb3IudmFsdWUsYT09PSJORVciJiYoay5zdGF0dXM9IlFVRVVFRCIsbS51cGRhdGUoaykpKX0pKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGt9O1FtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaWwoYXdhaXQgTW0oYiksWyJMb2dzUmVxdWVzdHNTdG9yZSJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT57dmFyIGQ9Yy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKTtyZXR1cm4gZC5nZXQoYSkudGhlbihlPT57aWYoZSlyZXR1cm4gZS5zdGF0dXM9IlFVRVVFRCIsXy5sbChkLGUpLnRoZW4oKCk9PmUpfSl9KX07ClJtPWFzeW5jIGZ1bmN0aW9uKGEsYixjPSEwLGQpe3JldHVybiBfLmlsKGF3YWl0IE1tKGIpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sZT0+e3ZhciBmPWUub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGYuZ2V0KGEpLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsYyYmKGguc2VuZENvdW50Kz0xKSxkIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWQpLF8ubGwoZixoKS50aGVuKCgpPT5oKSk6Xy5Way5yZXNvbHZlKHZvaWQgMCkpfSl9O1NtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuKGF3YWl0IE1tKGIpKS5kZWxldGUoIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKX07ClRtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgTW0oYSk7dmFyIGI9KDAsXy5lbCkoKS0yNTkyRTY7YXdhaXQgXy5pbChhLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sYz0+cWwoYy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxkPT57aWYoZC5jdXJzb3IudmFsdWUudGltZXN0YW1wPD1iKXJldHVybiBkLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGQpKX0pKX07VW09YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBXbCgpfTtObT1mdW5jdGlvbihhKXtfLngoIm53bF9jc2lfa2lsbHN3aXRjaCIpfHx0bSgibmV0d29ya2xlc3NfcGVyZm9ybWFuY2UiLGEse3NhbXBsZVJhdGU6MX0pfTtXbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChWbSgpLGEpfTsKWG09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBXbShhKTt2YXIgYj0oMCxfLmVsKSgpLTI1OTJFNjthd2FpdCBfLmlsKGEsWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT5xbChjLm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGQ9PntpZihkLmN1cnNvci52YWx1ZS50aW1lc3RhbXA8PWIpcmV0dXJuIGQuZGVsZXRlKCkudGhlbigoKT0+cmwoZCkpfSkpfTtZbT1hc3luYyBmdW5jdGlvbihhKXthd2FpdCAoYXdhaXQgV20oYSkpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKXy5hbj1mdW5jdGlvbihhLGIsYyxkLGU9IiIsZj0hMSxoPSExKXtpZihhKWlmKGMmJiFfLk1rKCJjb2JhbHQiKSlfLldpKG5ldyBfLlhqKCJMZWdhY3kgcmVmZXJyZXItc2NydWJiZWQgcGluZyBkZXRlY3RlZCIpKSxhJiZabShhLHZvaWQgMCx7c2NydWJSZWZlcnJlcjohMH0pO2Vsc2UgaWYoZSl4aihhLGIsIlBPU1QiLGUsZCk7ZWxzZSBpZihfLncoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8ZHx8aCl4aihhLGIsIkdFVCIsIiIsZCx2b2lkIDAsZixoKTtlbHNle2I6e3RyeXtjOnt2YXIgaz1uZXcgJG0oe3VybDphfSk7aWYoay5qLmRzaD09PSIxIil2YXIgbD1udWxsO2Vsc2V7dmFyIG09ay5qLmFlO2lmKG09PT0iMSIpe2xldCByPWsuai5hZHVybDtpZihyKXRyeXtsPXt2ZXJzaW9uOjMsbXY6ZGVjb2RlVVJJQ29tcG9uZW50KHIpLHp1OklhKGsubywiYWN0PTEiLCJyaT0xIixLYShrKSl9O2JyZWFrIGN9Y2F0Y2godCl7fX1sPW09PT0iMiI/e3ZlcnNpb246NCwKbXY6SWEoay5vLCJkY3Q9MSIsInN1aWQ9IitrLnYsInJpPTEiKSx6dTpJYShrLm8sImFjdD0xIiwicmk9MSIsInN1aWQ9IitrLnYpfTpudWxsfX1pZihsKXtsZXQgcj1fLlFiKGEpO3ZhciBuPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxfLlpiKGEsInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31uPSExfWlmKG4pe2I6e3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihhLCIiKSl7dmFyIHA9ITA7YnJlYWsgYn19Y2F0Y2gocil7fXA9ITF9cD8oYiYmYigpLGM9ITApOmM9ITF9ZWxzZSBjPSExO2N8fFptKGEsYil9fTsKWm09ZnVuY3Rpb24oYSxiLGM9e30pe3ZhciBkPW5ldyBJbWFnZSxlPSIiK2JuKys7Y25bZV09ZDtkLm9ubG9hZD1kLm9uZXJyb3I9KCk9PntiJiZjbltlXSYmYigpO2RlbGV0ZSBjbltlXX07Yy5zY3J1YlJlZmVycmVyJiYoZC5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtkLnNyYz1hfTtmbj1mdW5jdGlvbigpe2RufHwoZG49bmV3IF8uZW4oInl0Lm9mZmxpbmUiKSk7cmV0dXJuIGRufTtnbj1mdW5jdGlvbihhKXtpZihfLngoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIGI9Zm4oKS5nZXQoImVycm9ycyIsITApfHx7fTtiW2EubWVzc2FnZV09e25hbWU6YS5uYW1lLHN0YWNrOmEuc3RhY2t9O2EubGV2ZWwmJihiW2EubWVzc2FnZV0ubGV2ZWw9YS5sZXZlbCk7Zm4oKS5zZXQoImVycm9ycyIsYiwyNTkyRTMsITApfX07CmpuPWZ1bmN0aW9uKCl7aWYoIWhuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrUmVxdWVzdE1vbml0b3IuaW5zdGFuY2UiKXx8bmV3IGhuO18ucmEoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIsYSk7aG4uaW5zdGFuY2U9YX1yZXR1cm4gaG4uaW5zdGFuY2V9O2xuPWZ1bmN0aW9uKCl7aWYoIWtuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcga247Xy5yYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLGEpO2tuLmluc3RhbmNlPWF9cmV0dXJuIGtuLmluc3RhbmNlfTsKbW49ZnVuY3Rpb24oYSxiKXthLnJhdGVMaW1pdD9hLmo/KF8uamYuQWEoYS5EKSxhLkQ9Xy5qZi5wYigoKT0+e2EuQiE9PWImJihhLmRpc3BhdGNoRXZlbnQoYiksYS5CPWIsYS5qPSgwLF8uZWwpKCkpfSxhLnJhdGVMaW1pdC0oKDAsXy5lbCkoKS1hLmopKSk6KGEuZGlzcGF0Y2hFdmVudChiKSxhLkI9YixhLmo9KDAsXy5lbCkoKSk6YS5kaXNwYXRjaEV2ZW50KGIpfTsKXy5wbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Lm5ldHdvcmtsZXNzUmVxdWVzdENvbnRyb2xsZXIuaW5zdGFuY2UiKTthfHwoYT1uZXcgbm4sXy5yYSgieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsYSksXy54KCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJl8uUGwoKS50aGVuKGI9PnthLkphPWI7RG0oYSk7YS5CLnJlc29sdmUoKTthLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLkphJiZYbShhLkphKTtfLngoIm5ldHdvcmtsZXNzX2ltbWVkaWF0ZWx5X2Ryb3Bfc3dfaGVhbHRoX3N0b3JlIikmJm9uKGEpfSkpO3JldHVybiBhfTtvbj1hc3luYyBmdW5jdGlvbihhKXtpZighYS5KYSl0aHJvdyBTaygiY2xlYXJTV0hlYWx0aExvZ3NEYiIpO1ltKGEuSmEpLmNhdGNoKGI9PnthLmhhbmRsZUVycm9yKGIpfSl9Owpxbj1mdW5jdGlvbihhLGIsYyl7Yj1fLngoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sYik6YjtfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Yi5oZWFkZXJzJiZfLmZqKGEpJiYoYi5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxfLmVsKSgpKSkpOmIucG9zdFBhcmFtcz8ucmVxdWVzdFRpbWVNcyYmKGIucG9zdFBhcmFtcy5yZXF1ZXN0VGltZU1zPU1hdGgucm91bmQoKDAsXy5lbCkoKSkpO2MmJk9iamVjdC5rZXlzKGIpLmxlbmd0aD09PTA/Xy5hbihhKTpiLmNvbXByZXNzP2IucG9zdEJvZHk/KHR5cGVvZiBiLnBvc3RCb2R5IT09InN0cmluZyImJihiLnBvc3RCb2R5PUpTT04uc3RyaW5naWZ5KGIucG9zdEJvZHkpKSxBbShhLGIucG9zdEJvZHksYixfLnpqKSk6QW0oYSxKU09OLnN0cmluZ2lmeShiLnBvc3RQYXJhbXMpLGIsQWopOl8uemooYSxiKX07CnJuPWZ1bmN0aW9uKGEsYil7Xy54KCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiKSYmXy5maihhKSYmKGIuaGVhZGVyc3x8KGIuaGVhZGVycz17fSksYi5oZWFkZXJzWyJYLUdvb2ctRXZlbnQtVGltZSJdPUpTT04uc3RyaW5naWZ5KE1hdGgucm91bmQoKDAsXy5lbCkoKSkpKTtyZXR1cm4gYn07Xy5zbj1mdW5jdGlvbigpe3JldHVybiBfLlBiKGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCkpIT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSJ9Owp2bj1mdW5jdGlvbihhLGIsYyxkKXshXy53KCJWSVNJVE9SX0RBVEEiKSYmYiE9PSJ2aXNpdG9yX2lkIiYmTWF0aC5yYW5kb20oKTwuMDEmJl8uV2kobmV3IF8uWGooIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLGIsYyxkKSk7aWYoIWEuaXNSZWFkeSgpKXRocm93IGE9bmV3IF8uWGooImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixiLGMsZCksXy5VaShhKSxhO3ZhciBlPXtoZWFkZXJzOmQuaGVhZGVyc3x8e30sbWV0aG9kOiJQT1NUIixwb3N0UGFyYW1zOmMscG9zdEJvZHk6ZC5wb3N0Qm9keSxwb3N0Qm9keUZvcm1hdDpkLnBvc3RCb2R5Rm9ybWF0fHwiSlNPTiIsb25UaW1lb3V0OigpPT57ZC5vblRpbWVvdXQoKX0sb25GZXRjaFRpbWVvdXQ6ZC5vblRpbWVvdXQsb25TdWNjZXNzOihtLG4pPT57aWYoZC5vblN1Y2Nlc3MpZC5vblN1Y2Nlc3Mobil9LG9uRmV0Y2hTdWNjZXNzOm09PntpZihkLm9uU3VjY2VzcylkLm9uU3VjY2VzcyhtKX0sCm9uUHJvZ3Jlc3M6bT0+e2lmKGQub25Qcm9ncmVzcylkLm9uUHJvZ3Jlc3MobSl9LG9uRXJyb3I6KG0sbik9PntpZihkLm9uRXJyb3IpZC5vbkVycm9yKG4pfSxvbkZldGNoRXJyb3I6bT0+e2lmKGQub25FcnJvcilkLm9uRXJyb3IobSl9LHRpbWVvdXQ6ZC50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpkLmNvbXByZXNzfTtlLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwoZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO2M9IiI7dmFyIGY9YS5jb25maWdfLnp4O2YmJihjPWYpO2Y9YS5jb25maWdfLkF4fHwhMTt2YXIgaD1vbShmLGMsZCk7T2JqZWN0LmFzc2lnbihlLmhlYWRlcnMsaCk7ZS5oZWFkZXJzLkF1dGhvcml6YXRpb24mJiFjJiZmJiYoZS5oZWFkZXJzWyJ4LW9yaWdpbiJdPXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO3ZhciBrPWRqKGAke2N9JHtgL3lvdXR1YmVpLyR7YS5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7Yn1gfWAsCnthbHQ6Impzb24ifSksbD0obT0hMSk9Pnt0cnl7aWYobSYmZC5yZXRyeSYmIWQubmV0d29ya2xlc3NPcHRpb25zLmJ5cGFzc05ldHdvcmtsZXNzKWUubWV0aG9kPSJQT1NUIixkLm5ldHdvcmtsZXNzT3B0aW9ucy53cml0ZVRoZW5TZW5kP18ucG4oKS53cml0ZVRoZW5TZW5kKGssZSk6Xy5wbigpLnNlbmRBbmRXcml0ZShrLGUpO2Vsc2UgaWYoZC5jb21wcmVzcylpZihlLnBvc3RCb2R5KXtsZXQgbj1lLnBvc3RCb2R5O3R5cGVvZiBuIT09InN0cmluZyImJihuPUpTT04uc3RyaW5naWZ5KGUucG9zdEJvZHkpKTtBbShrLG4sZSxfLnpqKX1lbHNlIEFtKGssSlNPTi5zdHJpbmdpZnkoZS5wb3N0UGFyYW1zKSxlLEFqKTtlbHNlIEFqKGssZSl9Y2F0Y2gobil7aWYobi5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpXy5XaShFcnJvcigieWEiKSk7ZWxzZSB0aHJvdyBuO319OyhfLnNhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIpP18udG4uaXNOd2xJbml0aWFsaXplZDoKXy51bik/TmwoKS50aGVuKG09PntsKG0pfSk6bCghMSl9O18ueW49ZnVuY3Rpb24oYSwuLi5iKXtpZighd24oYSl8fGIuc29tZShjPT4hd24oYykpKXRocm93IEVycm9yKCJ6YSIpO2ZvcihsZXQgYyBvZiBiKXhuKGEsYyl9O3huPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIGluIGIpaWYod24oYltjXSkpe2lmKGMgaW4gYSYmIXduKGFbY10pKXRocm93IEVycm9yKCJBYSIpO2MgaW4gYXx8KGFbY109e30pO3huKGFbY10sYltjXSl9ZWxzZSBpZih6bihiW2NdKSl7aWYoYyBpbiBhJiYhem4oYVtjXSkpdGhyb3cgRXJyb3IoIkJhIik7YyBpbiBhfHwoYVtjXT1bXSk7QW4oYVtjXSxiW2NdKX1lbHNlIGFbY109YltjXTtyZXR1cm4gYX07QW49ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYil3bihjKT9hLnB1c2goeG4oe30sYykpOnpuKGMpP2EucHVzaChBbihbXSxjKSk6YS5wdXNoKGMpO3JldHVybiBhfTt3bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSl9Owp6bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmQXJyYXkuaXNBcnJheShhKX07Xy5Cbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoIl9sYWN0Iix3aW5kb3cpO3JldHVybiBhPT1udWxsPy0xOk1hdGgubWF4KERhdGUubm93KCktYSwwKX07Cl8uRG49ZnVuY3Rpb24oKXtpZih3aW5kb3cuY3J5cHRvJiZ3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGE9QXJyYXkoMTYpLGI9bmV3IFVpbnQ4QXJyYXkoMTYpO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY109YltjXTtyZXR1cm4gYX1jYXRjaChkKXt9YT1BcnJheSgxNik7Zm9yKGI9MDtiPDE2O2IrKyl7Yz1EYXRlLm5vdygpO2ZvcihsZXQgZD0wO2Q8YyUyMztkKyspYVtiXT1NYXRoLnJhbmRvbSgpO2FbYl09TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjI1Nil9aWYoQ24pZm9yKGI9MSxjPTA7YzxDbi5sZW5ndGg7YysrKWFbYiUxNl1ePWFbKGItMSklMTZdLzReQ24uY2hhckNvZGVBdChjKSxiKys7cmV0dXJuIGF9OwpFbj1mdW5jdGlvbigpe3ZhciBhPV8uRG4oKSxiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KGFbY10mNjMpKTtyZXR1cm4gYi5qb2luKCIiKX07Xy5Gbj1mdW5jdGlvbigpe3ZhciBhPV8udS55dExvZ2dpbmdEb2NEb2N1bWVudE5vbmNlXzthfHwoYT1FbigpLF8ucmEoInl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfIixhKSk7cmV0dXJuIGF9O18uR249ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliPWIqMzErYS5jaGFyQ29kZUF0KGMpLGM8YS5sZW5ndGgtMSYmKGIlPTB4ODAwMDAwMDAwMDAwKTtyZXR1cm4gYiUxRTV9O18uSW49ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBIbihhKX07CktuPWZ1bmN0aW9uKGEsYil7Yj1iLmp2O2lmKGEuai5oYXMoYikpcmV0dXJuIGEuai5nZXQoYikucHJvbWlzZTt2YXIgYz1KbihhLGIsW10sITApO2lmKGMhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShjKTt2YXIgZD17fTtkLnByb21pc2U9bmV3IFByb21pc2UoKGUsZik9PntkLlFoPWU7ZC5Rej1mfSk7YS5qLnNldChiLGQpO3JldHVybiBkLnByb21pc2V9OwpKbj1mdW5jdGlvbihhLGIsYyxkPSExKXtpZihjLmluZGV4T2YoYik+LTEpdGhyb3cgRXJyb3IoIkRhYCIrYik7aWYoYS5vLmhhcyhiKSlyZXR1cm4gYS5vLmdldChiKTtpZighYS52LmhhcyhiKSl7aWYoZClyZXR1cm47dGhyb3cgRXJyb3IoIkVhYCIrYik7fWQ9YS52LmdldChiKTtjLnB1c2goYik7aWYoZC5NYiE9PXZvaWQgMCl2YXIgZT1kLk1iO2Vsc2UgaWYoZC5XYyllPWRbXy5Mbl0/TW4oYSxkW18uTG5dLGMpOltdLGU9ZC5XYyguLi5lKTtlbHNlIGlmKGQuUGEpe2U9ZC5QYTtsZXQgZj1lW18uTG5dP01uKGEsZVtfLkxuXSxjKTpbXTtlPW5ldyBlKC4uLmYpfWVsc2UgdGhyb3cgRXJyb3IoIkZhYCIrYik7Yy5wb3AoKTtkLmdifHxhLm8uc2V0KGIsZSk7cmV0dXJuIGV9O01uPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj9iLm1hcChkPT5kIGluc3RhbmNlb2YgSG4/Sm4oYSxkLmtleSxjLCEwKTpKbihhLGQsYykpOltdfTtfLnk9ZnVuY3Rpb24oKXtObnx8KE5uPW5ldyBPbik7cmV0dXJuIE5ufTsKUW49ZnVuY3Rpb24oKXtyZXR1cm4iaDV2Y2MiaW4gUG4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlQmVnaW4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlRW5kPzE6InBlcmZvcm1hbmNlImluIFBuJiZQbi5wZXJmb3JtYW5jZS5tYXJrJiZQbi5wZXJmb3JtYW5jZS5tZWFzdXJlPzI6MH07Um49ZnVuY3Rpb24oYSl7dmFyIGI9UW4oKTtzd2l0Y2goYil7Y2FzZSAxOlBuLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsYSk7YnJlYWs7Y2FzZSAyOlBuLnBlcmZvcm1hbmNlLm1hcmsoYCR7YX0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpfLmViKGIsInVua25vd24gdHJhY2UgdHlwZSIpfX07ClNuPWZ1bmN0aW9uKGEpe3ZhciBiPVFuKCk7c3dpdGNoKGIpe2Nhc2UgMTpQbi5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixhKTticmVhaztjYXNlIDI6Yj1gJHthfS1zdGFydGA7bGV0IGM9YCR7YX0tZW5kYDtQbi5wZXJmb3JtYW5jZS5tYXJrKGMpO1BuLnBlcmZvcm1hbmNlLm1lYXN1cmUoYSxiLGMpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0Ol8uZWIoYiwidW5rbm93biB0cmFjZSB0eXBlIil9fTtUbj1mdW5jdGlvbihhKXt2YXIgYj1BcnJheS5mcm9tKGEuai5rZXlzKCkpLnNvcnQoKGMsZCk9PmEuZ2V0UHJpb3JpdHkoYS5qW2RdKS1hLmdldFByaW9yaXR5KGEualtjXSkpO2ZvcihsZXQgYyBvZiBiKWI9YS5qW2NdLGIuam9iSWQ9PT12b2lkIDB8fGIuTmp8fChhLnNjaGVkdWxlci5BYShiLmpvYklkKSxhLnNjaGVkdWxlci5HYShiLnhoLDEwKSl9OwpWbj1mdW5jdGlvbihhLGIsYyl7VW4mJmNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQmJmNvbnNvbGUuZ3JvdXBFbmQmJihjb25zb2xlLmdyb3VwQ29sbGFwc2VkKGBbJHthLmNvbnN0cnVjdG9yLm5hbWV9XSAnJHthLnN0YXRlfScgdG8gJyR7Yn0nYCksY29uc29sZS5sb2coIndpdGggbWVzc2FnZTogIixjKSxjb25zb2xlLmdyb3VwRW5kKCkpfTtabj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmlsdGVyKGU9PihhLnY/P2UucHJpb3JpdHk/PzApPT09MTApLGQ9Yi5maWx0ZXIoZT0+KGEudj8/ZS5wcmlvcml0eT8/MCkhPT0xMCk7cmV0dXJuIGEuQi5GZz9hc3luYyguLi5lKT0+e2F3YWl0IFduKGMsLi4uZSk7WG4oYSxkLC4uLmUpfTooLi4uZSk9PntZbihjLC4uLmUpO1huKGEsZCwuLi5lKX19OwpXbj1hc3luYyBmdW5jdGlvbihhLC4uLmIpe3ZhciBjPV8uQ2soKTtmb3IobGV0IGQgb2YgYSl7bGV0IGU7Yy5VKCgpPT57JG4oZC5uYW1lKTt2YXIgZj1hbygoKT0+ZC5jYWxsYmFjayguLi5iKSk7KDAsXy5ibykoZik/ZT1fLngoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpP2YudGhlbigoKT0+e2NvKGQubmFtZSl9KTpmLnRoZW4oKCk9PntjbyhkLm5hbWUpfSxoPT57d2luZG93Lm9uZXJyb3I/LihoLm1lc3NhZ2UsIiIsMCwwLGgpO2NvKGQubmFtZSl9KTpjbyhkLm5hbWUpfSk7ZSYmYXdhaXQgZX19O1huPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPWIubWFwKGQ9Pih7eGg6KCk9PnskbihkLm5hbWUpO2FvKCgpPT5kLmNhbGxiYWNrKC4uLmMpKTtjbyhkLm5hbWUpfSxwcmlvcml0eTphLnY/P2QucHJpb3JpdHk/PzB9KSk7Yi5sZW5ndGgmJihhLmo9bmV3IGVvKGIpKX07ClluPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9Xy5DaygpO2ZvcihsZXQgZCBvZiBhKWMuVSgoKT0+eyRuKGQubmFtZSk7YW8oKCk9PmQuY2FsbGJhY2soLi4uYikpO2NvKGQubmFtZSl9KX07JG49ZnVuY3Rpb24oYSl7Zm8mJmEmJlJuKGEpfTtjbz1mdW5jdGlvbihhKXtmbyYmYSYmU24oYSl9O2FvPWZ1bmN0aW9uKGEpe2lmKF8ueCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIikpcmV0dXJuIGEoKTt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXt3aW5kb3cub25lcnJvcj8uKGIubWVzc2FnZSwiIiwwLDAsYil9fTtfLmlvPWZ1bmN0aW9uKCl7Z298fChnbz1uZXcgaG8pO3JldHVybiBnb307Xy5rbz1mdW5jdGlvbihhKXtyZXR1cm4gXy5zYSgieXRjc2kuIisoYXx8IiIpKyJkYXRhXyIpfHxfLmpvKGEpfTtfLmxvPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLm1ldGFkYXRhfHwoYS5tZXRhZGF0YT17fSk7cmV0dXJuIGEubWV0YWRhdGF9OwpfLm1vPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLnRpY2t8fChhLnRpY2s9e30pO3JldHVybiBhLnRpY2t9O18ubm89ZnVuY3Rpb24oYSl7YT1fLmtvKGEpO2lmKGEuZ2VsKXtsZXQgYj1hLmdlbDtiLmdlbEluZm9zfHwoYi5nZWxJbmZvcz17fSk7Yi5nZWxUaWNrc3x8KGIuZ2VsVGlja3M9e30pfWVsc2UgYS5nZWw9e2dlbFRpY2tzOnt9LGdlbEluZm9zOnt9fTtyZXR1cm4gYS5nZWx9O18ub289ZnVuY3Rpb24oYSl7YT1fLm5vKGEpO2EuZ2VsSW5mb3N8fChhLmdlbEluZm9zPXt9KTtyZXR1cm4gYS5nZWxJbmZvc307Xy5wbz1mdW5jdGlvbihhKXt2YXIgYj1fLmtvKGEpLm5vbmNlO2J8fChiPUVuKCksXy5rbyhhKS5ub25jZT1iKTtyZXR1cm4gYn07Xy5qbz1mdW5jdGlvbihhKXt2YXIgYj17dGljazp7fSxpbmZvOnt9fTtfLnJhKCJ5dGNzaS4iKyhhfHwiIikrImRhdGFfIixiKTtyZXR1cm4gYn07CnFvPWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXRjc2kuZGVidWciKTthfHwoYT1bXSxfLnJhKCJ5dGNzaS5kZWJ1ZyIsYSksXy5yYSgieXRjc2kucmVmZXJlbmNlIix7fSkpO3JldHVybiBhfTtfLnNvPWZ1bmN0aW9uKGEpe3ZhciBiPXFvKCk7Yi5wdXNoKGEpO18ueCgibGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZSIpJiZiLmxlbmd0aD5ybyYmYi5zcGxpY2UoMCxiLmxlbmd0aC1ybyl9O18udW89ZnVuY3Rpb24oYSl7YT1hfHwiIjt2YXIgYj1fLnRvKCk7aWYoYlthXSlyZXR1cm4gYlthXTt2YXIgYz17dGltZXJOYW1lOmEsaW5mbzp7fSx0aWNrOnt9LHNwYW46e30sanNwYkluZm86W119O18uc28oYyk7cmV0dXJuIGJbYV09Y307Xy50bz1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Y3NpLnJlZmVyZW5jZSIpO2lmKGEpcmV0dXJuIGE7cW8oKTtyZXR1cm4gXy5zYSgieXRjc2kucmVmZXJlbmNlIil9Owp2bz1mdW5jdGlvbihhKXtpZihhLm5hbWU9PT0iSmF2YUV4Y2VwdGlvbiIpcmV0dXJuITA7YT1hLnN0YWNrO3JldHVybiBhLmluY2x1ZGVzKCJjaHJvbWU6Ly8iKXx8YS5pbmNsdWRlcygiLWV4dGVuc2lvbjovLyIpfHxhLmluY2x1ZGVzKCJ3ZWJraXQtbWFza2VkLXVybDovLyIpfTt3bz1mdW5jdGlvbihhKXtpZighYS5zdGFjaylyZXR1cm4hMDt2YXIgYj0hYS5zdGFjay5pbmNsdWRlcygiXG4iKTtyZXR1cm4gYiYmYS5zdGFjay5pbmNsdWRlcygiRXJyb3JUeXBlOiAiKXx8YiYmYS5zdGFjay5pbmNsdWRlcygiQW5vbnltb3VzIGZ1bmN0aW9uIChVbmtub3duIHNjcmlwdCIpfHxhLnN0YWNrLnRvTG93ZXJDYXNlKCk9PT0ibm90IGF2YWlsYWJsZSJ8fGEuZmlsZU5hbWU9PT0idXNlci1zY3JpcHQifHxhLmZpbGVOYW1lLnN0YXJ0c1dpdGgoInVzZXItc2NyaXB0OiIpPyEwOiExfTsKXy5Cbz1mdW5jdGlvbigpe2lmKCF4byl7dmFyIGE9eG89bmV3IHlvO2EubGUubGVuZ3RoPTA7YS5TZC5sZW5ndGg9MDtfLnpvKGEsQW8pfXJldHVybiB4b307Xy56bz1mdW5jdGlvbihhLGIpe2IubGUmJmEubGUudW5zaGlmdC5hcHBseShhLmxlLGIubGUpO2IuU2QmJmEuU2QudW5zaGlmdC5hcHBseShhLlNkLGIuU2QpfTtfLkNvPWZ1bmN0aW9uKGEpe3JldHVybiBhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpfTsKXy5Fbz1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MCxlPSgpPT5hLmNoYXJDb2RlQXQoZCsrKTtkb3t2YXIgZj1EbyhlKTtpZihmPT09SW5maW5pdHkpYnJlYWs7bGV0IGg9Zj4+Mztzd2l0Y2goZiY3KXtjYXNlIDA6Zj1EbyhlKTtpZihoPT09YilyZXR1cm4gZjticmVhaztjYXNlIDE6aWYoaD09PWIpcmV0dXJuO2QrPTg7YnJlYWs7Y2FzZSAyOmY9RG8oZSk7aWYoaD09PWIpcmV0dXJuIGEuc3Vic3RyKGQsZik7ZCs9ZjticmVhaztjYXNlIDU6aWYoaD09PWIpcmV0dXJuO2QrPTQ7YnJlYWs7ZGVmYXVsdDpyZXR1cm59fXdoaWxlKGQ8Yyl9O0RvPWZ1bmN0aW9uKGEpe3ZhciBiPWEoKSxjPWImMTI3O2lmKGI8MTI4KXJldHVybiBjO2I9YSgpO2N8PShiJjEyNyk8PDc7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7Y3w9KGImMTI3KTw8MTQ7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7cmV0dXJuIGI8MTI4P2N8KGImMTI3KTw8MjE6SW5maW5pdHl9OwpIbz1mdW5jdGlvbihhLGIsYyxkKXtpZihhKWlmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBlPWQ7Zm9yKGQ9MDtkPGEubGVuZ3RoJiYhKGFbZF0mJihlKz1GbyhkLGFbZF0sYixjKSxlPjUwMCkpO2QrKyk7ZD1lfWVsc2UgaWYodHlwZW9mIGE9PT0ib2JqZWN0Iilmb3IoZSBpbiBhKXtpZihhW2VdKXthOnt2YXIgZj1lO3ZhciBoPWFbZV0saz1iLGw9YztpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxmIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZmIT09InRyYWNraW5nUGFyYW1zIil7Zj0wO2JyZWFrIGF9Zj0oaD1fLkVvKF8uQ28oaCksMikpP0ZvKGAke2Z9LnZlYCxoLGssbCk6MH1kKz1mO2QrPUZvKGUsYVtlXSxiLGMpO2lmKGQ+NTAwKWJyZWFrfX1lbHNlIGNbYl09R28oYSksZCs9Y1tiXS5sZW5ndGg7ZWxzZSBjW2JdPUdvKGEpLGQrPWNbYl0ubGVuZ3RoO3JldHVybiBkfTsKRm89ZnVuY3Rpb24oYSxiLGMsZCl7Yys9YC4ke2F9YDthPUdvKGIpO2RbY109YTtyZXR1cm4gYy5sZW5ndGgrYS5sZW5ndGh9O0dvPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4odHlwZW9mIGE9PT0ic3RyaW5nIj9hOlN0cmluZyhKU09OLnN0cmluZ2lmeShhKSkpLnN1YnN0cigwLDUwMCl9Y2F0Y2goYil7cmV0dXJuYHVuYWJsZSB0byBzZXJpYWxpemUgJHt0eXBlb2YgYX0gKCR7Yi5tZXNzYWdlfSlgfX07CktvPWZ1bmN0aW9uKGEsYil7dmFyIGM9SW8oYik7aWYoYS5qW2NdKXJldHVybiBhLmpbY107dmFyIGQ9T2JqZWN0LmtleXMoYS5zdG9yZSl8fFtdO2lmKGQubGVuZ3RoPD0xJiZJbyhiKT09PWRbMF0pcmV0dXJuIGQ7dmFyIGU9W107Zm9yKGxldCBoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWRbaF0uc3BsaXQoIi8iKTtpZihKbyhiLmF1dGgsa1swXSkpe3ZhciBmPWIuaXNKc3BiO0pvKGY9PT12b2lkIDA/InVuZGVmaW5lZCI6Zj8idHJ1ZSI6ImZhbHNlIixrWzFdKSYmSm8oYi5jdHRBdXRoSW5mbyxrWzJdKSYmKGY9Yi50aWVyLGY9Zj09PXZvaWQgMD8idW5kZWZpbmVkIjpKU09OLnN0cmluZ2lmeShmKSxKbyhmLGtbM10pJiZlLnB1c2goZFtoXSkpfX1yZXR1cm4gYS5qW2NdPWV9O0pvPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT12b2lkIDB8fGE9PT0idW5kZWZpbmVkIj8hMDphPT09Yn07CklvPWZ1bmN0aW9uKGEpe3JldHVyblthLmF1dGg9PT12b2lkIDA/InVuZGVmaW5lZCI6YS5hdXRoLGEuaXNKc3BiPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEuaXNKc3BiLGEuY3R0QXV0aEluZm89PT12b2lkIDA/InVuZGVmaW5lZCI6YS5jdHRBdXRoSW5mbyxhLnRpZXI9PT12b2lkIDA/InVuZGVmaW5lZCI6YS50aWVyXS5qb2luKCIvIil9O18uQj1mdW5jdGlvbihhLGIpe2lmKGEpcmV0dXJuIGFbYi5uYW1lXX07TG89ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJodG1sNV9zZW5kX3FvZV9vbl9nZWwiKXx8Xy54KCJ3ZWJfc2VuZF92c3MzX2lzb2xhdGVkX3BheWxvYWQiKX07T289ZnVuY3Rpb24oYSl7TW89YTtMbygpJiYoXy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1hKTtObz1uZXcgYX07UW89ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dC5sb2dnaW5nLmltcyIpO2F8fChhPW5ldyBQbyxfLnJhKCJ5dC5sb2dnaW5nLmltcyIsYSkpO3JldHVybiBhfTsKJG89ZnVuY3Rpb24oYSxiKXtpZihhLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe1JvKGEpO3ZhciBjPVNvKGEpLGQ9VG8oYS5wYXlsb2FkKXx8IiI7YTp7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7dmFyIGU9VW9bZHx8IiJdO3ZhciBmPV8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5ldmVudExvZ2dpbmdDb25maWc/LnBheWxvYWRQb2xpY2llcztpZihmKWZvcihsZXQgaD0wO2g8Zi5sZW5ndGg7aCsrKWlmKGZbaF0ucGF5bG9hZE51bWJlcj09PWUpe2U9ZltoXTticmVhayBhfX1lPXZvaWQgMH1mPTIwMDtpZihlKXtpZihlLmVuYWJsZWQ9PT0hMSYmIV8ueCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47Zj1WbyhlLnRpZXIpO2lmKGY9PT00MDApe1dvKGEsYik7cmV0dXJufX1Yb1tjXT0hMDtjPXtjdHRBdXRoSW5mbzpjLGlzSnNwYjohMSx0aWVyOmZ9O1FvKCkuc3RvcmVQYXlsb2FkKGMsCmEucGF5bG9hZCk7WW8oYixjLFpvKGQpKX19O1lvPWZ1bmN0aW9uKGEsYixjPSExKXthJiZPbyhhKTthPV8uc2ooInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8Xy5zaigidHZodG1sNV9sb2dnaW5nX21heF9iYXRjaCIpfHxfLnNqKCJ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2giKXx8MTAwO3ZhciBkPSgwLF8uZWwpKCksZT1hcCghMSxiLnRpZXIpLGY9ZS5CO2MmJihlLmo9ITApO2M9MDtiJiYoYz1RbygpLmdldFNlcXVlbmNlQ291bnQoYikpO3ZhciBoPSgpPT57Xy5icCh7d3JpdGVUaGVuU2VuZDohMH0sdm9pZCAwLCExLGIudGllcil9O2M+PTFFMz9oKCk6Yz49YT9jcHx8KGNwPWRwKCgpPT57aCgpO2NwPXZvaWQgMH0sMCkpOmQtZj49MTAmJihlcCghMSxiLnRpZXIpLGUuQj1kKX07CldvPWZ1bmN0aW9uKGEsYil7aWYoYS5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtfLngoIm1vcmVfYWNjdXJhdGVfZ2VsX3BhcnNlciIpJiZRbygpLnN0b3JlUGF5bG9hZCh7aXNKc3BiOiExfSxhLnBheWxvYWQpO1JvKGEpO3ZhciBjPVNvKGEpLGQ9bmV3IE1hcDtkLnNldChjLFthLnBheWxvYWRdKTt2YXIgZT1UbyhhLnBheWxvYWQpfHwiIjsoYT1iP2I6TG8oKT9Nb3x8Xy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yX3x8bnVsbDpudWxsKSYmT28oYSk7cmV0dXJuIG5ldyBfLkJmKChmLGgpPT57Tm8mJk5vLmlzUmVhZHkoKT9mcChkLE5vLGYsaCx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFpvKGUpKTpmKCl9KX19OwpTbz1mdW5jdGlvbihhKXt2YXIgYj0iIjtpZihhLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24pYj0idmlzaXRvck9ubHlBcHByb3ZlZEtleSI7ZWxzZSBpZihhLmN0dEF1dGhJbmZvKXtiPWEuY3R0QXV0aEluZm87bGV0IGM9e307Yi52aWRlb0lkP2MudmlkZW9JZD1iLnZpZGVvSWQ6Yi5wbGF5bGlzdElkJiYoYy5wbGF5bGlzdElkPWIucGxheWxpc3RJZCk7Z3BbYS5jdHRBdXRoSW5mby50b2tlbl09YztiPWEuY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIGJ9OwpfLmJwPWZ1bmN0aW9uKGE9e30sYixjPSExLGQpe25ldyBfLkJmKChlLGYpPT57dmFyIGg9YXAoYyxkKSxrPWguajtoLmo9ITE7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSYmXy54KCJ3ZWJfdnNzX3JvdXRpbmdfY2hlY2tfYWxsX3RpZXJfcG9saWNpZXMiKSl7bGV0IGw9YXAoYywzMDApLG09YXAoYywyMDApO2s9a3x8bC5qfHxtLmo7bC5qPSExO20uaj0hMX1ocChoLnYpO2hwKGgubyk7aC5vPTA7Tm8mJk5vLmlzUmVhZHkoKT9kPT09dm9pZCAwJiZfLngoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2lwKGUsZixhLGIsYywzMDAsayk6aXAoZSxmLGEsYixjLGQsayk6KGVwKGMsZCksZSgpKX0pfTsKaXA9ZnVuY3Rpb24oYSxiLGM9e30sZCxlPSExLGY9MjAwLGg9ITEpe3ZhciBrPU5vLGw9bmV3IE1hcCxtPXtpc0pzcGI6ZSxjdHRBdXRoSW5mbzpkLHRpZXI6Zn07ZT17aXNKc3BiOmUsY3R0QXV0aEluZm86ZH07aWYoZCE9PXZvaWQgMClmPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W20sZV0sc2l6ZUxpbWl0OjFFM30pOlFvKCkuZXh0cmFjdE1hdGNoaW5nRW50cmllcyhlKSxsLnNldChkLGYpO2Vsc2UgZm9yKGxldCBuIG9mIE9iamVjdC5rZXlzKFhvKSlkPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W3tpc0pzcGI6ITEsY3R0QXV0aEluZm86bix0aWVyOmZ9LHtpc0pzcGI6ITEsY3R0QXV0aEluZm86bn1dLHNpemVMaW1pdDoxRTN9KTpRbygpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMSxjdHRBdXRoSW5mbzpufSksCmQubGVuZ3RoPjAmJmwuc2V0KG4sZCksKF8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJmMud3JpdGVUaGVuU2VuZHx8IV8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgWG9bbl07ZnAobCxrLGEsYixjLCExLGgpfTsKZXA9ZnVuY3Rpb24oYT0hMSxiPTIwMCl7dmFyIGM9KCk9PntfLmJwKHt3cml0ZVRoZW5TZW5kOiEwfSx2b2lkIDAsYSxiKX0sZD1hcChhLGIpLGU9ZD09PWpwfHxkPT09a3A/NUUzOmxwO18ueCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhZC5vJiYoZT1kcCgoKT0+e2MoKX0sZSksZC5vPWUpO2hwKGQudik7ZT1fLncoIkxPR0dJTkdfQkFUQ0hfVElNRU9VVCIsXy5zaigid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Xy54KCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmbXAmJihlPW5wKTtlPWRwKCgpPT57Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIik+MD9RbygpLmdldFNlcXVlbmNlQ291bnQoe2N0dEF1dGhJbmZvOnZvaWQgMCxpc0pzcGI6YSx0aWVyOmJ9KT49b3AmJmMoKTpjKCl9LGUpO2Qudj1lfTsKZnA9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9LGYsaCl7dmFyIGs9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKSxsPWEuc2l6ZSxtPXBwKGgpO2ZvcihsZXQgW24scF1vZiBhKXthPW47aD1wO2xldCByPV8ucWQoe2NvbnRleHQ6bW0oYi5jb25maWdffHxsbSgpKX0pO2lmKCFfLnlhKGgpJiYhXy54KCJ0aHJvd19lcnJfd2hlbl9sb2dldmVudF9tYWxmb3JtZWRfa2lsbHN3aXRjaCIpKXtkKCk7YnJlYWt9ci5ldmVudHM9aDsoaD1ncFthXSkmJnFwKHIsYSxoKTtkZWxldGUgZ3BbYV07bGV0IHQ9YT09PSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtycChyLGssdCk7Xy54KCJhbHdheXNfc2VuZF9hbmRfd3JpdGUiKSYmKGUud3JpdGVUaGVuU2VuZD0hMSk7bGV0IHY9QT0+e18ueCgic3RhcnRfY2xpZW50X2djZiIpJiZfLmpmLnBiKGFzeW5jKCk9Pnthd2FpdCBzcChBKX0pO2wtLTtsfHxjKCl9LHo9MCxFPSgpPT57eisrO2lmKGUuYnlwYXNzTmV0d29ya2xlc3MmJno9PT0xKXRyeXt2bihiLG0scix0cCh7d3JpdGVUaGVuU2VuZDohMH0sCnQsdixFLGYpKSxtcD0hMX1jYXRjaChBKXtfLlVpKEEpLGQoKX1sLS07bHx8YygpfTt0cnl7dm4oYixtLHIsdHAoZSx0LHYsRSxmKSksbXA9ITF9Y2F0Y2goQSl7Xy5VaShBKSxkKCl9fX07dHA9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPXtyZXRyeTohMCxvblN1Y2Nlc3M6YyxvbkVycm9yOmQsbmV0d29ya2xlc3NPcHRpb25zOmEsZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpiLGJJOiEhZSxoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOl8ueCgiY29tcHJlc3NfZ2VsIil8fF8ueCgiY29tcHJlc3NfZ2VsX2xyIil9O3VwKCkmJihhLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLF8uZWwpKCkpKSk7cmV0dXJuIGF9OwpycD1mdW5jdGlvbihhLGIsYyl7dXAoKXx8KGEucmVxdWVzdFRpbWVNcz1TdHJpbmcoYikpO18ueCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYoYS51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFjJiYoYj1fLncoIkVWRU5UX0lEIikpJiYoKGM9Xy53KCJCQVRDSF9DTElFTlRfQ09VTlRFUiIpfHwwKXx8KGM9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKSxjKyssYz42NTUzNSYmKGM9MSksXy5RaSgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLGMpLGEuc2VyaWFsaXplZENsaWVudEV2ZW50SWQ9e3NlcmlhbGl6ZWRFdmVudElkOmIsY2xpZW50Q291bnRlcjpTdHJpbmcoYyl9KX07CnFwPWZ1bmN0aW9uKGEsYixjKXtpZihjLnZpZGVvSWQpdmFyIGQ9IlZJREVPIjtlbHNlIGlmKGMucGxheWxpc3RJZClkPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47YS5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPWM7YS5jb250ZXh0PWEuY29udGV4dHx8e307YS5jb250ZXh0LnVzZXI9YS5jb250ZXh0LnVzZXJ8fHt9O2EuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOmIsc2NvcGU6ZH1dfTsKUm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy50aigiaWxfcGF5bG9hZF9zY3JhcGluZyIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighXy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZW5hYmxlU2NyYXBpbmdGb3JUZXN0IikpaWYoYil2cD1bXSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiLCEwKSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIix2cCksXy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiwidmlzdWFsRWxlbWVudFNob3duIHZpc3VhbEVsZW1lbnRIaWRkZW4gdmlzdWFsRWxlbWVudEF0dGFjaGVkIHNjcmVlbkNyZWF0ZWQgdmlzdWFsRWxlbWVudEdlc3R1cmVkIHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLnNwbGl0KCIgIikpLF8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRQYXlsb2FkRnJvbUNsaWVudEV2ZW50c0Z1bmN0aW9uIiksCl8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZUNsaWVudEV2ZW50IiwhMCk7ZWxzZSByZXR1cm47Yj1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIik7dmFyIGM9Xy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiksZD1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGMmJmMubGVuZ3RoPj0xKWZvcihsZXQgZT0wO2U8Yy5sZW5ndGg7ZSsrKWEmJmEucGF5bG9hZFtjW2VdXSYmKGQ/Yi5wdXNoKGEucGF5bG9hZCk6Yi5wdXNoKChhPy5wYXlsb2FkKVtjW2VdXSkpO18ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLGIpfTt1cD1mdW5jdGlvbigpe3JldHVybiBfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil8fF8ueCgibHJfdXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiKX07CmRwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT09PSExP18ubWooYSxiKTpfLngoImxvZ2dpbmdfYXZvaWRfYmxvY2tpbmdfZHVyaW5nX25hdmlnYXRpb24iKXx8Xy54KCJscl9sb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIik/Xy5ZaigoKT0+e18uaW8oKS5jdXJyZW50U3RhdGU9PT0ibm9uZSI/YSgpOl8uaW8oKS5pbnN0YWxsKHtub25lOntjYWxsYmFjazphfX0pfSxiKTpfLllqKGEsYil9O2hwPWZ1bmN0aW9uKGEpe18ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT9fLmpmLkFhKGEpOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9OwpzcD1hc3luYyBmdW5jdGlvbihhKXthPWE/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIGI9Xy5CKGEsd3ApLGM9YT8uaG90SGFzaERhdGEsZD1fLkIoYSx4cCksZT1hPy5jb2xkSGFzaERhdGEsZj1fLnkoKS5yZXNvbHZlKF8uSW4oaW0pKTtmJiYoYyYmKGI/YXdhaXQgZ20oZixjLGIpOmF3YWl0IGdtKGYsYykpLGUmJihkP2F3YWl0IGhtKGYsZSxkKTphd2FpdCBobShmLGUpKSk7Yj1hPy5yYXdGaW5jaFN0YXRpY0NvbmZpZ0dyb3VwOyhhPWE/LmZpbmNoU3RhdGljSGFzaERhdGEpPyhjPV8ueSgpLnJlc29sdmUoXy5Jbih5cCkpKT9hd2FpdCBjLndLKHtjb25maWc6Ynx8e30saUk6YXx8IiJ9KTooYnx8YSkmJl8uV2kobmV3IF8uWGooIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UgaXMgbm90IHByZXNlbnQsIGJ1dCBGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LiIpKTpiJiZfLldpKG5ldyBfLlhqKCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFwPWZ1bmN0aW9uKGEsYj0yMDApe3JldHVybiBhP2I9PT0zMDA/anA6enA6Yj09PTMwMD9rcDpBcH07VG89ZnVuY3Rpb24oYSl7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGIgb2YgYSlpZihVb1tiXSlyZXR1cm4gYn07Vm89ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07Wm89ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0iZ2VsRGVidWdnaW5nRXZlbnQifHxhPT09IndhdGNoVGltZVNlZ21lbnQifTsKcHA9ZnVuY3Rpb24oYT0hMSl7cmV0dXJuIGEmJl8ueCgidnNzX3Rocm91Z2hfZ2VsX3ZpZGVvX3N0YXRzIik/InZpZGVvX3N0YXRzIjoibG9nX2V2ZW50In07Cl8uQ3A9ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9e30sZj1NYXRoLnJvdW5kKGQudGltZXN0YW1wfHwoMCxfLmVsKSgpKTtlLmV2ZW50VGltZU1zPWY8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/ZjowO2VbYV09YjthPV8uQm4oKTtlLmNvbnRleHQ9e2xhc3RBY3Rpdml0eU1zOlN0cmluZyhkLnRpbWVzdGFtcHx8IWlzRmluaXRlKGEpPy0xOmEpfTtkLnNlcXVlbmNlR3JvdXAmJiFfLngoIndlYl9nZWxfc2VxdWVuY2VfaW5mb19raWxsc3dpdGNoIikmJihhPWUuY29udGV4dCxiPWQuc2VxdWVuY2VHcm91cCxCcFtiXT1iIGluIEJwP0JwW2JdKzE6MCxhLnNlcXVlbmNlPXtpbmRleDpCcFtiXSxncm91cEtleTpifSxkLmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBCcFtkLnNlcXVlbmNlR3JvdXBdKTtfLngoIndlYl90YWdfYXV0b21hdGVkX2xvZ19ldmVudHMiKSYmKGUuY29udGV4dC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZT1kLmF1dG9tYXRlZExvZ0V2ZW50U291cmNlKTsoZC5zZW5kSXNvbGF0ZWRQYXlsb2FkPwpXbzokbykoe2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6ZSxjdHRBdXRoSW5mbzpkLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246ZC5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxjKX07Xy5FcD1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9RHA7Xy53KCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmRHA9PT1EcCYmKGQ9bnVsbCk7Xy5DcChhLGIsZCxjKX07CkZwPWZ1bmN0aW9uKGEsYj17fSl7aWYoYT1hLk5kKXtsZXQgYz1hLmZoLGQ9YS5BbDthPVtbImNvbXBvbmVudFN0YWNrIixhLmNvbXBvbmVudFN0YWNrXSxbIndpelRhZ05hbWUiLGEudGFnTmFtZV0sWyJ3aXpPd25lclRyYWNlIixhLnByPy5qb2luKCIgPiAiKV0sWyJlcnJvclNldmVyaXR5IixjPy50b1N0cmluZygpXSxbIndpekZlYXR1cmVGbGFncyIsZD9PYmplY3QuZW50cmllcyhkKS5qb2luKCJcbiIpOnZvaWQgMF1dO2ZvcihsZXQgW2UsZl1vZiBhKWE9ZixhIT09dm9pZCAwJiYoYltlXT1hKX1yZXR1cm4gYn07Xy5IcD1mdW5jdGlvbihhKXtfLkdwKGEpfTtfLklwPWZ1bmN0aW9uKGEpe18uR3AoYSwiV0FSTklORyIpfTsKXy5HcD1mdW5jdGlvbihhLGI9IkVSUk9SIixjLGQsZSxmPXt9LGg9ITEsayl7Zi5uYW1lPWN8fF8udygiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpO2YudmVyc2lvbj1kfHxfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7SnAoYSxmLGIsaCxrKX07CkpwPWZ1bmN0aW9uKGEsYixjPSJFUlJPUiIsZD0hMSxlKXtpZihhKXthLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZhLmxldmVsJiYoYz1hLmxldmVsKTtpZihfLngoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBmPWI7aWYoIWY/LmNvbXBvbmVudFN0YWNrKXt2YXIgaD1hLk5kPy5jb21wb25lbnRTdGFjaztoJiYoZnx8KGY9e30pLGYuY29tcG9uZW50U3RhY2s9aCl9Yj1mfHxifWVsc2UgYj1GcChhLGIpLGY9YS5OZD8uZmgsZiE9PXZvaWQgMCYmYyE9PSJJR05PUkVEIiYmKGM9Zj49Mz8iRVJST1IiOiJXQVJOSU5HIik7aWYoXy54KCJjb25zb2xlX2xvZ19qc19leGNlcHRpb25zIil8fFsidGVzdCIsImRldiIsImF1dG9wdXNoIiwic3RhZ2luZyJdLmluY2x1ZGVzKF8udygiU0VSVkVSX1ZFUlNJT04iKSkpZj1bXSxmLnB1c2goYE5hbWU6ICR7YS5uYW1lfWApLGYucHVzaChgTWVzc2FnZTogJHthLm1lc3NhZ2V9YCksYS5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJgpmLnB1c2goYEVycm9yIFBhcmFtczogJHtKU09OLnN0cmluZ2lmeShhLnBhcmFtcyl9YCksYS5oYXNPd25Qcm9wZXJ0eSgiYXJncyIpJiZmLnB1c2goYEVycm9yIGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYS5hcmdzKX1gKSxmLnB1c2goYEZpbGUgbmFtZTogJHthLmZpbGVOYW1lfWApLGYucHVzaChgU3RhY2t0cmFjZTogJHthLnN0YWNrfWApLGY9Zi5qb2luKCJcbiIpLHdpbmRvdy5jb25zb2xlLmxvZyhmLGEpO2lmKCEoS3A+PTUpKXtmPVtdO2ZvcihrIG9mIExwKXRyeXtrKCkmJmYucHVzaChrKCkpfWNhdGNoKEUpe312YXIgaz1mO2s9Wy4uLk1wLC4uLmtdO3ZhciBsPUViKGEpO2Y9bC5tZXNzYWdlfHwiVW5rbm93biBFcnJvciI7aD1sLm5hbWV8fCJVbmtub3duRXJyb3IiO3ZhciBtPWwuc3RhY2t8fGEuWEt8fCJOb3QgYXZhaWxhYmxlIjtpZihtLnN0YXJ0c1dpdGgoYCR7aH06ICR7Zn1gKSl7dmFyIG49bS5zcGxpdCgiXG4iKTtuLnNoaWZ0KCk7bT1uLmpvaW4oIlxuIil9bj1sLmxpbmVOdW1iZXJ8fAoiTm90IGF2YWlsYWJsZSI7bD1sLmZpbGVOYW1lfHwiTm90IGF2YWlsYWJsZSI7bGV0IHo9MDtpZihhLmhhc093blByb3BlcnR5KCJhcmdzIikmJmEuYXJncyYmYS5hcmdzLmxlbmd0aClmb3IodmFyIHA9MDtwPGEuYXJncy5sZW5ndGgmJiEoej1IbyhhLmFyZ3NbcF0sYHBhcmFtcy4ke3B9YCxiLHopLHo+PTUwMCk7cCsrKTtlbHNlIGlmKGEuaGFzT3duUHJvcGVydHkoInBhcmFtcyIpJiZhLnBhcmFtcyl7bGV0IEU9YS5wYXJhbXM7aWYodHlwZW9mIGEucGFyYW1zPT09Im9iamVjdCIpZm9yKHAgaW4gRSl7aWYoIUVbcF0pY29udGludWU7bGV0IEE9YHBhcmFtcy4ke3B9YCxGPUdvKEVbcF0pO2JbQV09Rjt6Kz1BLmxlbmd0aCtGLmxlbmd0aDtpZih6PjUwMClicmVha31lbHNlIGIucGFyYW1zPUdvKEUpfWlmKGsubGVuZ3RoKWZvcihwPTA7cDxrLmxlbmd0aCYmISh6PUhvKGtbcF0sYHBhcmFtcy5jb250ZXh0LiR7cH1gLGIseiksej49NTAwKTtwKyspO25hdmlnYXRvci52ZW5kb3ImJiFiLmhhc093blByb3BlcnR5KCJ2ZW5kb3IiKSYmCihiWyJkZXZpY2UudmVuZG9yIl09bmF2aWdhdG9yLnZlbmRvcik7cD17bWVzc2FnZTpmLG5hbWU6aCxsaW5lTnVtYmVyOm4sZmlsZU5hbWU6bCxzdGFjazptLHBhcmFtczpiLHNhbXBsZVdlaWdodDoxfTtiPU51bWJlcihhLmNvbHVtbk51bWJlcik7aXNOYU4oYil8fChwLmxpbmVOdW1iZXI9YCR7cC5saW5lTnVtYmVyfToke2J9YCk7aWYoYS5sZXZlbD09PSJJR05PUkVEIil2YXIgcj0wO2Vsc2UgYTp7YT1fLkJvKCk7Zm9yKHIgb2YgYS5sZSlpZihwLm1lc3NhZ2UmJnAubWVzc2FnZS5tYXRjaChyLldKKSl7cj1yLndlaWdodDticmVhayBhfWZvcih2YXIgdCBvZiBhLlNkKWlmKHQuY2FsbGJhY2socCkpe3I9dC53ZWlnaHQ7YnJlYWsgYX1yPTF9cC5zYW1wbGVXZWlnaHQ9cjtyPXA7Zm9yKHZhciB2IG9mIE5wKXtpZighdi5KaltyLm5hbWVdKWNvbnRpbnVlO3Q9di5KaltyLm5hbWVdO2ZvcihsZXQgRSBvZiB0KXt0PXIubWVzc2FnZS5tYXRjaChFLnJlZ2V4cCk7aWYoIXQpY29udGludWU7CnIucGFyYW1zWyJwYXJhbXMuZXJyb3Iub3JpZ2luYWwiXT10WzBdO2E9RS5ncm91cHM7cD17fTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKXBbYVtiXV09dFtiKzFdLHIucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHthW2JdfWBdPXRbYisxXTtyLm1lc3NhZ2U9di5wbShwKTticmVha319ci5wYXJhbXN8fChyLnBhcmFtcz17fSk7dj1fLkJvKCk7ci5wYXJhbXNbInBhcmFtcy5lcnJvclNlcnZpY2VTaWduYXR1cmUiXT1gbXNnPSR7di5sZS5sZW5ndGh9JmNiPSR7di5TZC5sZW5ndGh9YDtyLnBhcmFtc1sicGFyYW1zLnNlcnZpY2VXb3JrZXIiXT0iZmFsc2UiO18udS5kb2N1bWVudCYmXy51LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihyLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3IE9wKFBwLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT1PcCYmKHIucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09CiJ0cnVlIik7d2luZG93Lnl0ZXJyJiZ0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKHIpO3Iuc2FtcGxlV2VpZ2h0PT09MHx8UXAuaGFzKHIubWVzc2FnZSl8fChkP1JwKHIsYyk6U3AocixjLGUpKX19fTtScD1mdW5jdGlvbihhLGI9IkVSUk9SIil7VHAoYixhKTtVcChhKX07ClNwPWZ1bmN0aW9uKGEsYj0iRVJST1IiLGMpe2lmKGI9PT0iRVJST1IiKXtfLlZwLnB1Ymxpc2goImhhbmRsZUVycm9yIixhKTtpZihfLngoInJlY29yZF9hcHBfY3Jhc2hlZF93ZWIiKSYmV3A9PT0wJiZhLnNhbXBsZVdlaWdodD09PTEpe1dwKys7bGV0IGQ9e2FwcENyYXNoVHlwZToiQVBQX0NSQVNIX1RZUEVfQlJFQUtQQUQifTtfLngoInJlcG9ydF9jbGllbnRfZXJyb3Jfd2l0aF9hcHBfY3Jhc2hfa3MiKXx8KGQuc3lzdGVtSGVhbHRoPXtjcmFzaERhdGE6e2NsaWVudEVycm9yOntsb2dNZXNzYWdlOnttZXNzYWdlOmEubWVzc2FnZX19fX0pO18uRXAoImFwcENyYXNoZWQiLGQpfVhwKyt9ZWxzZSBiPT09IldBUk5JTkciJiZfLlZwLnB1Ymxpc2goImhhbmRsZVdhcm5pbmciLGEpO18ueCgia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIikmJihjPVlwKGIsYSxjKSkmJihfLkVwKCJjbGllbnRFcnJvciIsYyksKGI9PT0iRVJST1IifHxfLngoImVycm9yc19mbHVzaF9nZWxfYWx3YXlzX2tpbGxzd2l0Y2giKSkmJgpfLmJwKHZvaWQgMCx2b2lkIDAsITEpKTtfLngoInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIil8fFRwKGIsYSk7VXAoYSl9O1VwPWZ1bmN0aW9uKGEpe3RyeXtRcC5hZGQoYS5tZXNzYWdlKX1jYXRjaChiKXt9S3ArK307CllwPWZ1bmN0aW9uKGEsYixjPXt9KXthOntmb3IoZCBvZiBacClpZihfLk1rKGQudG9Mb3dlckNhc2UoKSkpe3ZhciBkPSEwO2JyZWFrIGF9ZD0hMX1pZighZCl7dmFyIGU9e3N0YWNrVHJhY2U6Yi5zdGFja307Yi5maWxlTmFtZSYmKGUuZmlsZW5hbWU9Yi5maWxlTmFtZSk7ZD1iLmxpbmVOdW1iZXImJmIubGluZU51bWJlci5zcGxpdD9iLmxpbmVOdW1iZXIuc3BsaXQoIjoiKTpbXTtkLmxlbmd0aCE9PTAmJihkLmxlbmd0aCE9PTF8fGlzTmFOKE51bWJlcihkWzBdKSk/ZC5sZW5ndGghPT0yfHxpc05hTihOdW1iZXIoZFswXSkpfHxpc05hTihOdW1iZXIoZFsxXSkpfHwoZS5saW5lTnVtYmVyPU51bWJlcihkWzBdKSxlLmNvbHVtbk51bWJlcj1OdW1iZXIoZFsxXSkpOmUubGluZU51bWJlcj1OdW1iZXIoZFswXSkpO2Q9e2xldmVsOiJFUlJPUl9MRVZFTF9VTktOT1dOIixtZXNzYWdlOmIubWVzc2FnZSxlcnJvckNsYXNzTmFtZTpiLm5hbWUsc2FtcGxlV2VpZ2h0OmIuc2FtcGxlV2VpZ2h0fTsKYT09PSJFUlJPUiI/ZC5sZXZlbD0iRVJST1JfTEVWRUxfRVJST1IiOmE9PT0iV0FSTklORyImJihkLmxldmVsPSJFUlJPUl9MRVZFTF9XQVJOTklORyIpO2E9e2lzT2JmdXNjYXRlZDohMCxicm93c2VyU3RhY2tJbmZvOmV9O2MucGFnZVVybD13aW5kb3cubG9jYXRpb24uaHJlZjtjLmt2UGFpcnM9W107Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikmJihjLmV4cGVyaW1lbnRJZHM9Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikpO2U9Xy53KCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighXy5SaSgid2ViX2Rpc2FibGVfZ2VsX3N0cF9lY2F0Y2hlcl9raWxsc3dpdGNoIikmJmUpZm9yKHZhciBmIG9mIE9iamVjdC5rZXlzKGUpKWMua3ZQYWlycy5wdXNoKHtrZXk6Zix2YWx1ZTpTdHJpbmcoZVtmXSl9KTtpZihmPWIucGFyYW1zKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhmKSljLmt2UGFpcnMucHVzaCh7a2V5OmBjbGllbnQuJHtofWAsdmFsdWU6U3RyaW5nKGZbaF0pfSk7CmlmKGI9Yi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZCljLnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoYik7Yj1fLncoIlNFUlZFUl9OQU1FIik7aD1fLncoIlNFUlZFUl9WRVJTSU9OIik7YiYmaCYmKGMua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTpifSksYy5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJmMua3ZQYWlycy5wdXNoKHtrZXk6ImNsaWVudC5wbGF5ZXIudmVyc2lvbiIsdmFsdWU6Yn0pO3JldHVybntlcnJvck1ldGFkYXRhOmMsc3RhY2tUcmFjZTphLGxvZ01lc3NhZ2U6ZH19fTsKVHA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBhcmFtc3x8e307YT17dXJsUGFyYW1zOnthOiJsb2dlcnJvciIsdDoianNlcnJvciIsdHlwZTpiLm5hbWUsbXNnOmIubWVzc2FnZS5zdWJzdHIoMCwyNTApLGxpbmU6Yi5saW5lTnVtYmVyLGxldmVsOmEsImNsaWVudC5uYW1lIjpjLm5hbWV9LHBvc3RQYXJhbXM6e3VybDpfLncoIlBBR0VfTkFNRSIsd2luZG93LmxvY2F0aW9uLmhyZWYpLGZpbGU6Yi5maWxlTmFtZX0sbWV0aG9kOiJQT1NUIn07Yy52ZXJzaW9uJiYoYVsiY2xpZW50LnZlcnNpb24iXT1jLnZlcnNpb24pO2lmKGEucG9zdFBhcmFtcyl7Yi5zdGFjayYmKGEucG9zdFBhcmFtcy5zdGFjaz1iLnN0YWNrKTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYykpYS5wb3N0UGFyYW1zW2BjbGllbnQuJHtlfWBdPWNbZV07aWYoYj1fLncoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgZCBvZiBPYmplY3Qua2V5cyhiKSlhLnBvc3RQYXJhbXNbZF09CmJbZF07KGQ9Xy53KCJMQVZBX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImxhdmEudmVyc2lvbiJdPWQpO2Q9Xy53KCJTRVJWRVJfTkFNRSIpO2I9Xy53KCJTRVJWRVJfVkVSU0lPTiIpO2QmJmImJihhLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09ZCxhLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09Yik7KGQ9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImNsaWVudC5wbGF5ZXIudmVyc2lvbiJdPWQpfV8uemooYCR7Xy53KCJFQ0FUQ0hFUl9SRVBPUlRfSE9TVCIsIiIpfS9lcnJvcl8yMDRgLGEpfTthcT1mdW5jdGlvbigpeyRwLmluc3RhbmNlfHwoJHAuaW5zdGFuY2U9bmV3ICRwKTtyZXR1cm4gJHAuaW5zdGFuY2V9OwpjcT1mdW5jdGlvbihhLGIpe2JxW2JdPWJxW2JdfHx7Y291bnQ6MH07dmFyIGM9YnFbYl07Yy5jb3VudCsrO2MudGltZT0oMCxfLmVsKSgpO2Euanx8KGEuaj1fLllqKCgpPT57dmFyIGQ9KDAsXy5lbCkoKTtmb3IobGV0IGUgaW4gYnEpYnFbZV0mJmQtYnFbZV0udGltZT42RTQmJmRlbGV0ZSBicVtlXTthJiYoYS5qPTApfSw1RTMpKTtyZXR1cm4gYy5jb3VudD41PyhjLmNvdW50PT09NiYmTWF0aC5yYW5kb20oKSoxRTU8MSYmKGM9bmV3IF8uWGooIkNTSSBkYXRhIGV4Y2VlZGVkIGxvZ2dpbmcgbGltaXQgd2l0aCBrZXkiLGIuc3BsaXQoIl8iKSksYi5pbmRleE9mKCJwbGV2Iik+PTB8fF8uSXAoYykpLCEwKTohMX07ZHE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gXy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSlbYV19OwplcT1mdW5jdGlvbihhLGI9MCl7dmFyIGM9Xy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7Y3x8KGM9e30sXy5RaSgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsYykpO2NbYl09YX07ZnE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gYT09PTA/IlJPT1RfVkVfVFlQRSI6YFJPT1RfVkVfVFlQRS4ke2F9YH07Xy5ncT1mdW5jdGlvbihhPTApe3JldHVybiBfLncoZnEoYSkpfTtocT1mdW5jdGlvbigpe3ZhciBhPV8udygiY3NuLXRvLWN0dC1hdXRoLWluZm8iKTthfHwoYT17fSxfLlFpKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIsYSkpO3JldHVybiBhfTtfLmlxPWZ1bmN0aW9uKGE9MCl7YT1kcShhKTtpZighYSYmIV8udygiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO2F8fChhPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIGE/YTpudWxsfTtqcT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aHEoKTsoYz1fLmlxKGMpKSYmZGVsZXRlIGRbY107YiYmKGRbYV09Yil9OwpfLmtxPWZ1bmN0aW9uKGEpe3JldHVybiBocSgpW2FdfTtfLm1xPWZ1bmN0aW9uKGEsYixjPTAsZCl7aWYoYSE9PWRxKGMpfHxiIT09Xy53KGZxKGMpKSlpZihqcShhLGQsYyksZXEoYSxjKSxfLlFpKGZxKGMpLGIpLGI9KCk9PntzZXRUaW1lb3V0KCgpPT57YSYmXy5FcCgiZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQiLHtjbGllbnREb2N1bWVudE5vbmNlOmxxLGNsaWVudFNjcmVlbk5vbmNlOmF9KX0sMCl9LCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiaW4gd2luZG93KXRyeXt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGIpfWNhdGNoKGUpe2IoKX1lbHNlIGIoKX07Xy5vcT1mdW5jdGlvbihhLGIpe18ubnEoIl9zdGFydCIsYSxiKX07Cl8ucHE9ZnVuY3Rpb24oYSxiKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGIpLmFjdGlvbkRpc2FibGVkKXt2YXIgYz1fLnVvKGJ8fCIiKTtfLnluKGMuaW5mbyxhKTthLmxvYWRUeXBlJiYoYz1hLmxvYWRUeXBlLF8ubG8oYikubG9hZFR5cGU9Yyk7Xy55bihfLm9vKGIpLGEpO2M9Xy5wbyhiKTtiPV8ua28oYikuY3R0QXV0aEluZm87YXEoKS5pbmZvKGEsYyxiKX19O3FxPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnVGlja3M/P1tdKS5tYXAoYT0+T2JqZWN0LnZhbHVlcyhhKVswXSl9OwpfLm5xPWZ1bmN0aW9uKGEsYixjKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGMpLmFjdGlvbkRpc2FibGVkKXt2YXIgZD1fLnBvKGMpLGU7aWYoZT1fLngoIndlYl9jc2lfZGVidWdfc2FtcGxlX2VuYWJsZWQiKSYmZCl7Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCkmJiFycSYmKHJxPSEwLF8ubnEoImdjZmwiLCgwLF8uZWwpKCksYykpO2U9Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCk/LmxvZ2dpbmdIb3RDb25maWc/LmNzaUNvbmZpZz8uZGVidWdTYW1wbGVXZWlnaHR8fDA7dmFyIGY7aWYoZj1lIT09MCliOntmPXFxKCk7aWYoZi5sZW5ndGg+MClmb3IodmFyIGg9MDtoPGYubGVuZ3RoO2grKylpZihhPT09ZltoXSl7Zj0hMDticmVhayBifWY9ITF9Zj8oZT1fLkduKGQpJWUhPT0wLF8ua28oYykuZGVidWdUaWNrc0V4Y2x1ZGVkTG9nZ2VkfHwoZj17fSxmLmRlYnVnVGlja3NFeGNsdWRlZD1lLF8ucHEoZixjKSksXy5rbyhjKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTplPSExfWlmKCFlKXtpZihhWzBdIT09Il8iJiYoZT1hLF8uc3EubWFyaykpe2Uuc3RhcnRzV2l0aCgibWFya18iKXx8KGU9Im1hcmtfIitlKTtjJiYoZSs9YCAoJHtjfSlgKTtmPWU7aD17fTtpZihiIT09dm9pZCAwJiYhXy54KCJ3ZWJfY3NpX2Rpc2FibGVfYWx0X3RpbWVfcGVyZm9ybWFuY2VfbWFyayIpKXtsZXQgbD1iO2w9Xy54KCJjc2lfdXNlX3BlcmZvcm1hbmNlX25hdmlnYXRpb25fdGltaW5nIik/bC1fLnNxLnRpbWVPcmlnaW46bC0oXy5zcS50aW1lT3JpZ2lufHxfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQpO2guc3RhcnRUaW1lPWx9Xy54KCJjc2lfZW5hYmxlX2Nocm9tZV9kZXZ0b29sc19wZXJmb3JtYW5jZV90aW1lbGluZV9pbnRlZ3JhdGlvbiIpJiYoaC5kZXRhaWw9e3ZJOntkYXRhVHlwZToibWFya2VyIixjb2xvcjoicHJpbWFyeSIsdG9vbHRpcFRleHQ6Zn19KTtmPU9iamVjdC5rZXlzKGgpLmxlbmd0aD4wP2g6dm9pZCAwO3RyeXtfLnNxLm1hcmsoZSxmKX1jYXRjaChsKXtfLnNxLm1hcmsoZSl9fWU9Cl8udW8oY3x8IiIpO2UudGlja1thXT1ifHwoMCxfLmVsKSgpO2lmKGUuY2FsbGJhY2smJmUuY2FsbGJhY2tbYV0pZm9yKHZhciBrIG9mIGUuY2FsbGJhY2tbYV0paygpO2s9Xy5ubyhjKTtrLmdlbFRpY2tzJiYoay5nZWxUaWNrc1thXT0hMCk7ZT1fLm1vKGMpO2s9Ynx8KDAsXy5lbCkoKTtlW2FdPWs7ZT1fLmtvKGMpLmN0dEF1dGhJbmZvO2E9PT0iX3N0YXJ0Ij8oYT1hcSgpLGNxKGEsYGJhc2VsaW5lXyR7ZH1gKXx8Xy5FcCgibGF0ZW5jeUFjdGlvbkJhc2VsaW5lZCIse2NsaWVudEFjdGlvbk5vbmNlOmR9LHt0aW1lc3RhbXA6YixjdHRBdXRoSW5mbzplfSkpOmFxKCkudGljayhhLGQsYixlKTtfLnRxKGMpO3JldHVybiBrfX19OwpfLnZxPWZ1bmN0aW9uKGEpe3ZhciBiPV8udXEoImFmdCIsYSk7aWYoYilyZXR1cm4gYjtiPV8udygoYXx8IiIpKyJUSU1JTkdfQUZUX0tFWVMiLFsib2wiXSk7dmFyIGM9Yi5sZW5ndGg7Zm9yKGxldCBkPTA7ZDxjO2QrKyl7bGV0IGU9Xy51cShiW2RdLGEpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIE5hTn07Xy51cT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5tbyhiKVthXSlyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIj9hOmFbYS5sZW5ndGgtMV19O18udHE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51cSgiX3N0YXJ0IixhKSxjPV8udnEoYSksZD0hd3E7YiYmYyYmZCYmKF8uc20oeHEsbmV3IHlxKE1hdGgucm91bmQoYy1iKSxhKSksd3E9ITApfTtfLnpxPWZ1bmN0aW9uKGEsYixjPSExKXtfLlZpKF8ucHEpKGEsYixjKX07Xy5BcT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uVmkoXy5ucSkoYSxiLGMpfTsKXy5CcT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlZpKCgpPT57dmFyIGM9Xy5tbyhiKTtyZXR1cm4gYSBpbiBjfSkoKX07a2E9T2JqZWN0LmNyZWF0ZTtqYT1PYmplY3QuZGVmaW5lUHJvcGVydHk7aWE9Z2xvYmFsVGhpcztjYT0iSW50OCBVaW50OCBVaW50OENsYW1wZWQgSW50MTYgVWludDE2IEludDMyIFVpbnQzMiBGbG9hdDMyIEZsb2F0NjQiLnNwbGl0KCIgIik7aWEuQmlnSW50NjRBcnJheSYmKGNhLnB1c2goIkJpZ0ludDY0IiksY2EucHVzaCgiQmlnVWludDY0IikpO3ZhciBsYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZmEoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiYSIpfSk7CmZhKCJTdXBwcmVzc2VkRXJyb3IiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyxkLGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGIpKXJldHVybiBuZXcgYihjLGQsZSk7ZT1FcnJvcihlKTsic3RhY2siaW4gZSYmKHRoaXMuc3RhY2s9ZS5zdGFjayk7dGhpcy5tZXNzYWdlPWUubWVzc2FnZTt0aGlzLmVycm9yPWM7dGhpcy5zdXBwcmVzc2VkPWR9aWYoYSlyZXR1cm4gYTtuYShiLEVycm9yKTtiLnByb3RvdHlwZS5uYW1lPSJTdXBwcmVzc2VkRXJyb3IiO3JldHVybiBifSk7CmZhKCJTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtpZihiIGluc3RhbmNlb2YgUmVnRXhwJiYhYi5nbG9iYWwpdGhyb3cgbmV3IFR5cGVFcnJvcigiYiIpO3JldHVybiBiIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShiLGMpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhiKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxjKX19KTtmYSgiUHJvbWlzZS53aXRoUmVzb2x2ZXJzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7dmFyIGIsYztyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2I9ZDtjPWV9KSxyZXNvbHZlOmIscmVqZWN0OmN9fX0pOwpmYSgiT2JqZWN0Lmhhc093biIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixjKX19KTtmYSgiQXJyYXkucHJvdG90eXBlLmF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZWEoImF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZmEoIlN0cmluZy5wcm90b3R5cGUuYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6cWF9KTtfLl9EdW1wRXhjZXB0aW9uPXdpbmRvdy5fRHVtcEV4Y2VwdGlvbnx8ZnVuY3Rpb24oYSl7dGhyb3cgYTt9O3dpbmRvdy5fRHVtcEV4Y2VwdGlvbj1fLl9EdW1wRXhjZXB0aW9uO3dpbmRvdy55dGNzaSYmd2luZG93Lnl0Y3NpLnRpY2smJndpbmRvdy55dGNzaS50aWNrKCJyc2VzX2RwaiIpO18uQ3E9Xy5DcXx8e307Xy51PXRoaXN8fHNlbGY7Xy5EcT1fLnUuX0ZfdG9nZ2xlc19kZWZhdWx0X2Jhc2V8fFtdO3ZhLmdldD1mdW5jdGlvbigpe3JldHVybiBudWxsfTtfLmVoPW51bGw7Xy5FcT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTt2YXIgJG09Y2xhc3N7Y29uc3RydWN0b3Ioe3VybDphLGtMOmJ9KXt0aGlzLm89YTt0aGlzLkI9Yjt0aGlzLnY9KG5ldyBEYXRlKS5nZXRUaW1lKCktMTcwNDA2NzJFNTt0aGlzLmo9e307Zm9yKHZhciBjPS9bPyZdKFteJj1dKyk9KFteJl0qKS9nO2I9Yy5leGVjKGEpOyl0aGlzLmpbYlsxXV09YlsyXX19O18uSGEoXy5MYSxFcnJvcik7Xy5MYS5wcm90b3R5cGUubmFtZT0iQ3VzdG9tRXJyb3IiO3ZhciB3ZDt2YXIgTmE9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsUWE7Xy5TYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTtWYShhPT5hYGApfHxWYShhPT5hYFwwYCl8fFZhKGE9PmFgXG5gKXx8VmEoYT0+YWBcdTAwMDBgKTtfLldhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O18uRnE9bmV3IF8uV2EoImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7dmFyIFphLGNiO1phPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuZmI9YX19O18uR3E9bmV3IFphKGE9Pi9eW146XSooWy8/I118JCkvLnRlc3QoYSkpO18uSHE9JGEoInRlbCIpO18uSXE9JGEoImRhdGEiKTtfLkpxPSRhKCJodHRwIik7Xy5LcT0kYSgiaHR0cHMiKTtfLkxxPSRhKCJmdHAiKTtfLk1xPSRhKCJtYWlsdG8iKTtfLk5xPSRhKCJpbnRlbnQiKTtfLk9xPSRhKCJzbXMiKTtfLlBxPSRhKCJ2bmQueW91dHViZSIpO18uYWI9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxXTtjYj0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO18uZmI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qKyIifX07Xy5qYj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTt2YXIgcGI9ImFsdGVybmF0ZSBhdXRob3IgYm9va21hcmsgY2Fub25pY2FsIGNpdGUgaGVscCBpY29uIGxpY2Vuc2UgbW9kdWxlcHJlbG9hZCBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpO3ZhciBEYj17fTt2YXIgS2I7S2I9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtfLlliPS8jfCQvO3ZhciBRcT0hIShfLkRxWzBdPj4yNSYxKSxScT0hIShfLkRxWzBdPj4yMCYxKSxTcT0hIShfLkRxWzBdPj4yNyYxKSxUcT0hIShfLkRxWzBdJjgpLFVxPSEhKF8uRHFbMF0mODE5MiksVnE9ISEoXy5EcVswXT4+MTkmMSksV3E9ISEoXy5EcVswXT4+MTcmMSksWHE9ISEoXy5EcVswXT4+MTgmMSk7dmFyIGRjLFZjLGRlLEFlLFZnO2RjPVFxP1NxOnVhKDYxMDQwMTMwMSwhMSk7Xy5ZcT1RcT9UcTp1YSg1MTM2NTk1MjMsITEpO1ZjPVFxP1JxfHwhVXE6dWEoNzQ4NDAyMTQ3LCEwKTtkZT1RcT9WcTp1YSg5MTk0NDQ4MjQsITEpO0FlPVFxP1dxOnVhKDkyODg3NTM5OCwhMSk7Vmc9UXE/WHE6dWEoNjgzNzQ5MjAxLCExKTt2YXIgZWMsWnE9Xy51Lm5hdmlnYXRvcjtlYz1acT9acS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7Xy5wY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgJHEsYXIsYnI7JHE9amMoKTthcj1pYygpPyExOmhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIik7Xy5KbD1oYygiRWRnZSIpO2JyPWhjKCJHZWNrbyIpJiYhKF8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIikpJiYhKGhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIikpJiYhaGMoIkVkZ2UiKTtfLmNyPV8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIik7Xy5kcj1fLmNyJiZoYygiTW9iaWxlIik7bmMoKXx8aGMoIk1hY2ludG9zaCIpO25jKCl8fGhjKCJXaW5kb3dzIik7KG5jKCk/ZWMucGxhdGZvcm09PT0iTGludXgiOmhjKCJMaW51eCIpKXx8bmMoKXx8aGMoIkNyT1MiKTtfLmVyPW5jKCk/ZWMucGxhdGZvcm09PT0iQW5kcm9pZCI6aGMoIkFuZHJvaWQiKTtvYygpO2hjKCJpUGFkIik7aGMoImlQb2QiKTtfLmZyPW9jKCl8fGhjKCJpUGFkIil8fGhjKCJpUG9kIik7Cl8uZ3I9Xy5iYygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigia2Fpb3MiKSE9LTE7a2MoKTtfLmhyPW9jKCl8fGhjKCJpUG9kIik7Xy5pcj1oYygiaVBhZCIpOyFoYygiQW5kcm9pZCIpfHxtYygpfHxrYygpfHxqYygpfHxoYygiU2lsayIpO21jKCk7Xy5Paz1oYygiU2FmYXJpIikmJiEobWMoKXx8KGljKCk/MDpoYygiQ29hc3QiKSl8fGpjKCl8fChpYygpPzA6aGMoIkVkZ2UiKSl8fChpYygpP2ZjKCJNaWNyb3NvZnQgRWRnZSIpOmhjKCJFZGcvIikpfHwoaWMoKT9mYygiT3BlcmEiKTpoYygiT1BSIikpfHxrYygpfHxoYygiU2lsayIpfHxoYygiQW5kcm9pZCIpKSYmIShvYygpfHxoYygiaVBhZCIpfHxoYygiaVBvZCIpKTt2YXIgcmM9e30sdmM9bnVsbDt2YXIgd2M9dm9pZCAwO3ZhciBIYyxZYyxTYztfLkpjPV8ueWMoKTtfLmpyPV8ueWMoKTtIYz1fLnljKCk7Xy5rcj1fLnljKCk7WWM9Xy55YygpO18uT2M9Xy55YygibV9tIiwhMCk7U2M9Xy55YygpO18ubHI9Xy55YygpO3ZhciBucjtfLkFjPV8ueWMoImphcyIsITApO25yPVtdO25yW18uQWNdPTc7Xy5tcj1PYmplY3QuZnJlZXplKG5yKTtfLlBjPXt9O18uemM9e307Xy5vcj1PYmplY3QuZnJlZXplKHt9KTtfLnByPV8uQ2MoYT0+YSE9PW51bGwmJmEhPT12b2lkIDApO3ZhciBFYyxEYztFYz1fLkNjKGE9PnR5cGVvZiBhPT09Im51bWJlciIpO0RjPV8uQ2MoYT0+dHlwZW9mIGE9PT0ic3RyaW5nIik7Xy5ibz1fLkNjKGE9PmEhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCImJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iKTtfLnFyPV8uQ2MoYT0+ISFhJiYodHlwZW9mIGE9PT0ib2JqZWN0Inx8dHlwZW9mIGE9PT0iZnVuY3Rpb24iKSk7dmFyIHJyLHNyO18uTWM9Xy5DYyhhPT5hPj1yciYmYTw9c3IpO3JyPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUik7c3I9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtfLnRyPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwO18udXI9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzVWludE46dm9pZCAwO18udnI9TnVtYmVyLmlzU2FmZUludGVnZXI7Xy53cj1OdW1iZXIuaXNGaW5pdGU7Xy54cj1NYXRoLnRydW5jO3ZhciBUYz17fTt2YXIgS2M7Xy55cj1fLkZjKDApO18uenI9ZmQoKTtfLkFyPWZkKCk7Xy5Ccj1mZCgpO18uQ3I9ZmQoKTtfLkRyPWZkKCk7Xy5Fcj1mZCgpO18uRnI9ZmQoKTtfLkdyPWZkKCk7Xy5Icj1mZCgpO18uSXI9ZmQoKTtfLkpyPWZkKCk7Xy5Lcj1mZCgpO18uTHI9ZmQoKTtfLk1yPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLkRhPV8uWGMoYSxiLGMsMjA0OCl9dG9KU09OKCl7cmV0dXJuIFVjKHRoaXMpfXNlcmlhbGl6ZShhKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoVWModGhpcyxhKSl9Y2xvbmUoKXt2YXIgYT10aGlzLkRhLGI9YVtfLkFjXXwwO3JldHVybiBfLiRjKHRoaXMsYSxiKT9fLmJkKHRoaXMsYSwhMCk6bmV3IHRoaXMuY29uc3RydWN0b3IoXy5aYyhhLGIsITEpKX19O18uTXIucHJvdG90eXBlW18uT2NdPV8uUGM7dmFyIGpqPXdpbmRvdzsiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsCiJJTlBVVCJdKTt2YXIgaWQ9e1FCOiJhbGxvdy1mb3JtcyIsU0I6ImFsbG93LW1vZGFscyIsVEI6ImFsbG93LW9yaWVudGF0aW9uLWxvY2siLFVCOiJhbGxvdy1wb2ludGVyLWxvY2siLFZCOiJhbGxvdy1wb3B1cHMiLFdCOiJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giLFhCOiJhbGxvdy1wcmVzZW50YXRpb24iLFlCOiJhbGxvdy1zYW1lLW9yaWdpbiIsWkI6ImFsbG93LXNjcmlwdHMiLGFDOiJhbGxvdy10b3AtbmF2aWdhdGlvbiIsYkM6ImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJ9LGxkPWhkKCgpPT5rZCgpKTtfLmc9Xy5uZC5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLm5kKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTtfLmcuYXJlYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoKnRoaXMuaGVpZ2h0fTtfLmcuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5hcmVhKCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcuc2NhbGU9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoKj1hO3RoaXMuaGVpZ2h0Kj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTtyZXR1cm4gdGhpc307dmFyIHJkPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIik7dmFyIE9wPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE9PT1QcCYmYnx8IiJ9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qfX0sUHA9e307bmV3IE9wKFBwLCIiKTtfLmc9dWQucHJvdG90eXBlO18uZy5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihhLGIpe3JldHVybihifHx0aGlzLmopLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhhKSl9O18uZy5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiBCZCh0aGlzLmosYSl9O18uZy5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qLmNyZWF0ZVRleHROb2RlKFN0cmluZyhhKSl9O18uZy5hcHBlbmRDaGlsZD1mdW5jdGlvbihhLGIpe2EuYXBwZW5kQ2hpbGQoYil9O18uZy5hcHBlbmQ9ZnVuY3Rpb24oYSxiKXtBZChfLnZkKGEpLGEsYXJndW1lbnRzKX07Xy5nLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8uZy5yZW1vdmVOb2RlPV8uRGQ7Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEmJmI/YT09Ynx8YS5jb250YWlucyhiKTohMX07Xy5nLmlzRm9jdXNhYmxlPV8uRmQ7dmFyIGlqPShuZXcgRGF0ZSkuZ2V0VGltZSgpO18uZz1MZC5wcm90b3R5cGU7Xy5nLmlzRW5hYmxlZD1mdW5jdGlvbigpe2lmKCFfLnUubmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpcmV0dXJuITE7aWYoIXRoaXMuaXNFbXB0eSgpKXJldHVybiEwO3RoaXMuc2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiLCIxIix7dmo6NjB9KTtpZih0aGlzLmdldCgiVEVTVENPT0tJRVNFTkFCTEVEIikhPT0iMSIpcmV0dXJuITE7dGhpcy5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKXy5nLnNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7aWYodHlwZW9mIGM9PT0ib2JqZWN0Iil7dmFyIGU9Yy5zYW1lU2l0ZTtkPWMuc2VjdXJlfHwhMTt2YXIgZj1jLmRvbWFpbnx8dm9pZCAwO3ZhciBoPWMucGF0aHx8dm9pZCAwO3ZhciBrPWMudmp9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcigiRGAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJFYCIrYik7az09PXZvaWQgMCYmKGs9LTEpO2M9Zj8iO2RvbWFpbj0iK2Y6IiI7aD1oPyI7cGF0aD0iK2g6IiI7ZD1kPyI7c2VjdXJlIjoiIjtrPWs8MD8iIjprPT0wPyI7ZXhwaXJlcz0iKyhuZXcgRGF0ZSgxOTcwLDEsMSkpLnRvVVRDU3RyaW5nKCk6IjtleHBpcmVzPSIrKG5ldyBEYXRlKERhdGUubm93KCkrayoxRTMpKS50b1VUQ1N0cmluZygpO3RoaXMuai5jb29raWU9YSsiPSIrYitjK2graytkKyhlIT1udWxsPyI7c2FtZXNpdGU9IitlOiIiKX07Cl8uZy5nZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hKyI9IixkPSh0aGlzLmouY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IobGV0IGU9MCxmO2U8ZC5sZW5ndGg7ZSsrKXtmPWRbZV0udHJpbSgpO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5nLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7dmo6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5nLnJkPWZ1bmN0aW9uKCl7cmV0dXJuIE1kKHRoaXMpLmtleXN9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiBNZCh0aGlzKS52YWx1ZXN9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuai5jb29raWV9O18uZy5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPU1kKHRoaXMpLmtleXM7Zm9yKGxldCBiPWEubGVuZ3RoLTE7Yj49MDtiLS0pdGhpcy5yZW1vdmUoYVtiXSl9OwpfLkxqPW5ldyBMZCh0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBSZDtfLk5yPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dmFyIGM9Y3x8W107dGhpcy52PWE7dGhpcy5vPWJ8fG51bGw7dGhpcy5qPVtdO3RoaXMuaj10aGlzLmouY29uY2F0KGMpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudn19O18uT3I9bmV3IF8uTnIoIm43M3F3ZiIsIm43M3F3ZiIpO18uYWUucHJvdG90eXBlLlk9ITE7Xy5hZS5wcm90b3R5cGUuaWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ZfTtfLmFlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5ZfHwodGhpcy5ZPSEwLHRoaXMubGEoKSl9O18uYWUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLmFlLnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuWT9iIT09dm9pZCAwP2EuY2FsbChiKTphKCk6KHRoaXMuS3x8KHRoaXMuSz1bXSksYiYmKGE9YS5iaW5kKGIpKSx0aGlzLksucHVzaChhKSl9O18uYWUucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7aWYodGhpcy5LKWZvcig7dGhpcy5LLmxlbmd0aDspdGhpcy5LLnNoaWZ0KCkoKX07dmE9dmF8fHt9O18uSGEoYmUsXy5hZSk7YmUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt9O2NlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGEpe3RoaXMuaiYmKHRoaXMuai5jYWxsKHRoaXMub3x8bnVsbCxhKSx0aGlzLmo9dGhpcy5vPW51bGwpfTtjZS5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPW51bGx9O3ZhLndrPWNlO18uSGEoZWUsXy5hZSk7Xy5nPWVlLnByb3RvdHlwZTtfLmcuUGo9bnVsbDtfLmcuT3k9YmU7Xy5nLkFqPW51bGw7Xy5nLnN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5nLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRH07Xy5nLmlzTG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLkFqfTtfLmcueWU9ZnVuY3Rpb24oKXt0aGlzLkFqPW5ldyBiZX07Xy5nLm9uTG9hZD1mdW5jdGlvbihhKXt2YXIgYj1uZXcgdGhpcy5PeTtiLmluaXRpYWxpemUoYSgpKTt0aGlzLkFqPWI7aWYodGhpcy5vJiYoYj1pZSh0aGlzLm8sYSgpKSkpcmV0dXJuIGI7aWYodGhpcy5CJiYoYT1pZSh0aGlzLkIsYSgpKSkpcmV0dXJuIGE7dGhpcy52JiYodGhpcy52Lmxlbmd0aD0wKTtyZXR1cm4gbnVsbH07Cl8uZy5vbkVycm9yPWZ1bmN0aW9uKGEpe3RoaXMudiYmKGE9aWUodGhpcy52LGEpKSYmXy4kYihFcnJvcigiR2AiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuQiYmKHRoaXMuQi5sZW5ndGg9MCl9O18uZy5sYT1mdW5jdGlvbigpe2VlLnpiLmxhLmNhbGwodGhpcyk7Xy5aZCh0aGlzLkFqKTt0aGlzLlBqPW51bGx9O3ZhLk9nPWVlO3ZhciBRZz17RVJST1I6ImVycm9yIixJRExFOiJpZGxlIixNczoiYWN0aXZlIixpdToidXNlcklkbGUiLGh1OiJ1c2VyQWN0aXZlIn07Xy5nPWplLnByb3RvdHlwZTtfLmcuUnI9ZnVuY3Rpb24oKXt9O18uZy5UaD1mdW5jdGlvbigpe307Xy5nLm5pPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIkgiKTt9O18uZy5BZz1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJJIik7fTtfLmcuVnA9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiExfTtfLmcuZW49ZnVuY3Rpb24oKXt9O18uZy5abj1mdW5jdGlvbigpe307dmFyIFByPWNsYXNze2luaXQoKXtfLkZhKCJfRl9pbnN0YWxsQ3NzIixhPT57YSYma2UoYSl9KX19O3ZhciBtZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLm89IiI7dGhpcy52PXt9fXRvU3RyaW5nKCl7dmFyIGE9dGhpcy5vK3ZlKHRoaXMpLGI9Xy5VYih0aGlzLnYpLGM9IiI7YiE9IiImJihjPSI/IitiKTtyZXR1cm4gYStjfWNsb25lKCl7dmFyIGE9bmV3IG1lO2Euaj17Li4udGhpcy5qfTthLm89dGhpcy5vO2Eudj17Li4udGhpcy52fTtyZXR1cm4gYX19LG5lPXt2RzoiayIsRUM6ImNrIix6RjoibSIsWUM6ImV4bSIsV0M6ImV4Y20iLExCOiJhbSIsUkI6ImFtYyIsbUY6Im1tIix0RzoicnQiLGJGOiJkIixYQzoiZWQiLGlIOiJzdiIsSkM6ImRlb2IiLHNDOiJjYiIsd0M6ImNjYiIsdEM6ImNiaSIsWUc6InJzIixCRzoic2RjaCIsY0Y6ImltIixLQzoiZGciLFVDOiJiciIsVEM6ImJyLWQiLFZDOiJyYiIsSUg6InpzIixFSDoid3QiLFpDOiJlZSIsaEg6InNtIix4RjoibWQiLFhFOiJnc3Ntb2R1bGVzZXRwcm90byIsQ0g6InVqZyIsQkg6InNwIixhRjoiaWNoYyIsWEc6InNsayIsCk1DOiJkdGkiLExDOiJkYndoIixlRjoiaWMifSxRcj1SZWdFeHAoIl4oZ2FwaVxcLik/bG9hZGVkKF9nfF9oKT8oX1swLTlhLXpdKykrJCIpLFJyPVJlZ0V4cCgiXlthLXpBLVowLTktXypdKyQiKTt2YXIgR2U9ITE7Xy55Zz10eXBlb2YgQXN5bmNDb250ZXh0IT09InVuZGVmaW5lZCImJnR5cGVvZiBBc3luY0NvbnRleHQuU25hcHNob3Q9PT0iZnVuY3Rpb24iP2E9PmEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpOmE9PmE7Xy5KZS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcy5vPSEwfTtfLkplLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Xy5IYShLZSxfLkplKTsKS2UucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnR5cGU9YS50eXBlLGQ9YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTpudWxsO3RoaXMudGFyZ2V0PWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7dGhpcy5jdXJyZW50VGFyZ2V0PWI7Yj1hLnJlbGF0ZWRUYXJnZXQ7Ynx8KGM9PSJtb3VzZW92ZXIiP2I9YS5mcm9tRWxlbWVudDpjPT0ibW91c2VvdXQiJiYoYj1hLnRvRWxlbWVudCkpO3RoaXMucmVsYXRlZFRhcmdldD1iO2Q/KHRoaXMuY2xpZW50WD1kLmNsaWVudFghPT12b2lkIDA/ZC5jbGllbnRYOmQucGFnZVgsdGhpcy5jbGllbnRZPWQuY2xpZW50WSE9PXZvaWQgMD9kLmNsaWVudFk6ZC5wYWdlWSx0aGlzLnNjcmVlblg9ZC5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1kLnNjcmVlbll8fDApOih0aGlzLm9mZnNldFg9Xy5jcnx8YS5vZmZzZXRYIT09dm9pZCAwP2Eub2Zmc2V0WDphLmxheWVyWCx0aGlzLm9mZnNldFk9Cl8uY3J8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8IiI7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwoYz09ImtleXByZXNzIj9hLmtleUNvZGU6MCk7dGhpcy5jdHJsS2V5PWEuY3RybEtleTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLnNoaWZ0S2V5PWEuc2hpZnRLZXk7dGhpcy5tZXRhS2V5PWEubWV0YUtleTt0aGlzLnBvaW50ZXJJZD1hLnBvaW50ZXJJZHx8MDt0aGlzLnBvaW50ZXJUeXBlPWEucG9pbnRlclR5cGU7dGhpcy5zdGF0ZT1hLnN0YXRlO3RoaXMudGltZVN0YW1wPQphLnRpbWVTdGFtcDt0aGlzLmo9YTthLmRlZmF1bHRQcmV2ZW50ZWQmJktlLnpiLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9O0tlLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtLZS56Yi5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKTt0aGlzLmouc3RvcFByb3BhZ2F0aW9uP3RoaXMuai5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLmouY2FuY2VsQnViYmxlPSEwfTtLZS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtLZS56Yi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuajthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgVWU9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTt2YXIgTGU9MDtPZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5saXN0ZW5lcnNbZl07YXx8KGE9dGhpcy5saXN0ZW5lcnNbZl09W10sdGhpcy5qKyspO3ZhciBoPVFlKGEsYixkLGUpO2g+LTE/KGI9YVtoXSxjfHwoYi56aT0hMSkpOihiPW5ldyBNZShiLHRoaXMuc3JjLGYsISFkLGUpLGIuemk9YyxhLnB1c2goYikpO3JldHVybiBifTtPZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS50b1N0cmluZygpO2lmKCEoYSBpbiB0aGlzLmxpc3RlbmVycykpcmV0dXJuITE7dmFyIGU9dGhpcy5saXN0ZW5lcnNbYV07Yj1RZShlLGIsYyxkKTtyZXR1cm4gYj4tMT8oTmUoZVtiXSksQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGUsYiwxKSxlLmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1thXSx0aGlzLmotLSksITApOiExfTt2YXIgWGU9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksZWY9e30sJGU9MCxmZj0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO18uSGEoXy5nZixfLmFlKTtfLmdmLnByb3RvdHlwZVtVZV09ITA7Xy5nPV8uZ2YucHJvdG90eXBlO18uZy5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18uU2UodGhpcyxhLGIsYyxkKX07Xy5nLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5jZih0aGlzLGEsYixjLGQpfTsKXy5nLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLk07aWYoYylmb3IoYj1bXTtjO2M9Yy5NKWIucHVzaChjKTtjPXRoaXMuRmE7dmFyIGQ9YS50eXBlfHxhO2lmKHR5cGVvZiBhPT09InN0cmluZyIpYT1uZXcgXy5KZShhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uSmUpYS50YXJnZXQ9YS50YXJnZXR8fGM7ZWxzZXt2YXIgZT1hO2E9bmV3IF8uSmUoZCxjKTtzZChhLGUpfWU9ITA7dmFyIGY7aWYoYilmb3IoZj1iLmxlbmd0aC0xOyFhLm8mJmY+PTA7Zi0tKXt2YXIgaD1hLmN1cnJlbnRUYXJnZXQ9YltmXTtlPWhmKGgsZCwhMCxhKSYmZX1hLm98fChoPWEuY3VycmVudFRhcmdldD1jLGU9aGYoaCxkLCEwLGEpJiZlLGEub3x8KGU9aGYoaCxkLCExLGEpJiZlKSk7aWYoYilmb3IoZj0wOyFhLm8mJmY8Yi5sZW5ndGg7ZisrKWg9YS5jdXJyZW50VGFyZ2V0PWJbZl0sZT1oZihoLGQsITEsYSkmJmU7cmV0dXJuIGV9OwpfLmcubGE9ZnVuY3Rpb24oKXtfLmdmLnpiLmxhLmNhbGwodGhpcyk7dGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTt0aGlzLk09bnVsbH07Xy5nLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLmcucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGEpe2lmKHRoaXMubyl7dmFyIGI9dGhpcy5vO2E9YSYmYS50b1N0cmluZygpO2xldCBjPTA7Zm9yKGxldCBkIGluIGIubGlzdGVuZXJzKWlmKCFhfHxkPT1hKXtsZXQgZT1iLmxpc3RlbmVyc1tkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKykrK2MsTmUoZVtmXSk7ZGVsZXRlIGIubGlzdGVuZXJzW2RdO2Iuai0tfWI9Y31lbHNlIGI9MDtyZXR1cm4gYn07dmFyIGtmPWNsYXNzIGV4dGVuZHMgXy5nZntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuRD10aGlzLmo9MDt0aGlzLkRjPWE/P3twYjooYixjKT0+c2V0VGltZW91dChiLGMpLEFhOmI9PntjbGVhclRpbWVvdXQoYil9fTt0aGlzLmlzT25saW5lPXdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZT8/ITA7dGhpcy52PWFzeW5jKCk9Pnthd2FpdCBtZih0aGlzKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMudik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy52KTt0aGlzLkR8fG5mKHRoaXMpfWRpc3Bvc2UoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsdGhpcy52KTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIix0aGlzLnYpO3RoaXMuRGMuQWEodGhpcy5EKTtkZWxldGUga2YuaW5zdGFuY2V9U2IoKXtyZXR1cm4gdGhpcy5pc09ubGluZX19O3ZhciBxZj1udWxsLHBmPW5ldyBNYXA7dmFyIFNyPWE9PnthPWEuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwiZCIsIjAiKTt3ZShhLG51bGwpO3hlKGEsbnVsbCk7cmV0dXJuIGF9LFRyPSEwLFVyPShhLGIse2Nzc1Jvd0tleTpjLEtlOmQsWWQ6ZSxjYWxsYmFjazpmfT17fSk9PntpZihiKWZvcihsZXQgaCBvZiBiKWlmKCFSci50ZXN0KGgpKXRocm93IEVycm9yKCJKYCIraCk7b2UoYSwibSIsYi5qb2luKCIsIikpO2UmJnplKGEsZSk7YyYmKG9lKGEsImNrIixjKSxkP29lKGEsInJzIixkKTpUciYmKFRyPSExKSk7aWYoZil7aWYoZiE9bnVsbCYmIVFyLnRlc3QoZikpdGhyb3cgRXJyb3IoIktgIitmKTtvZShhLCJjYiIsZil9YT1hLnRvU3RyaW5nKCk7YS5sYXN0SW5kZXhPZigiLyIsMCk9PTAmJihiPV8uTWIoZG9jdW1lbnQubG9jYXRpb24uaHJlZiksYT1fLkliKGJbMV0sYlsyXSxiWzNdLGJbNF0pK2EpO3JldHVybiBfLlRhKGEpfSxuZz0oYSxiLHtsbjpjPVtdLGNzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofT0Ke30pPT57YT1TcihhKTt4ZShhLGMpO3JldHVybiBVcihhLGIse2Nzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofSl9LG1nPShhLGIse21uOmM9W10sbG46ZD1bXSxjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a309e30pPT57YT1TcihhKTtvZShhLCJkIiwiMSIpO3dlKGEsYyk7eGUoYSxkKTtyZXR1cm4gVXIoYSxiLHtjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a30pfTt2YXIgVnI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnY9YTt0aGlzLkI9Yjt0aGlzLm89MDt0aGlzLmo9bnVsbH1nZXQoKXtpZih0aGlzLm8+MCl7dGhpcy5vLS07dmFyIGE9dGhpcy5qO3RoaXMuaj1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMudigpO3JldHVybiBhfX07dmFyIFdyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPXRoaXMuaj1udWxsfWFkZChhLGIpe3ZhciBjPXZmLmdldCgpO2Muc2V0KGEsYik7dGhpcy5vP3RoaXMuby5uZXh0PWM6dGhpcy5qPWM7dGhpcy5vPWN9cmVtb3ZlKCl7dmFyIGE9bnVsbDt0aGlzLmomJihhPXRoaXMuaix0aGlzLmo9dGhpcy5qLm5leHQsdGhpcy5qfHwodGhpcy5vPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX19LHZmPW5ldyBWcigoKT0+bmV3IFhyLGE9PmEucmVzZXQoKSksWHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLmZuPW51bGx9c2V0KGEsYil7dGhpcy5mbj1hO3RoaXMuc2NvcGU9Yjt0aGlzLm5leHQ9bnVsbH1yZXNldCgpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZm49bnVsbH19O3ZhciBZcix3Zj0hMSx1Zj1uZXcgV3IsR2Y9KGEsYik9PntZcnx8WnIoKTt3Znx8KFlyKCksd2Y9ITApO3VmLmFkZChhLGIpfSxacj0oKT0+e3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO1lyPSgpPT57YS50aGVuKHhmKX19O0NmLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuY29udGV4dD10aGlzLmo9dGhpcy5vPXRoaXMuY2hpbGQ9bnVsbDt0aGlzLnY9ITF9O3ZhciBEZj1uZXcgVnIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IENmfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KTtfLkJmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gUWYodGhpcywoMCxfLnlnKSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSwoMCxfLnlnKSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy55ZihfLkJmKTtfLmc9Xy5CZi5wcm90b3R5cGU7Xy5nLmZpbmFsbHk9ZnVuY3Rpb24oYSl7YT0oMCxfLnlnKShhKTtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntLZih0aGlzLGQ9PnthKCk7YihkKX0sZD0+e2EoKTtjKGQpfSl9KX07Xy5nLktnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFFmKHRoaXMsbnVsbCwoMCxfLnlnKShhKSxiKX07Xy5nLmNhdGNoPV8uQmYucHJvdG90eXBlLktnOwpfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaj09MCl7bGV0IGI9bmV3IF8uUGYoYSk7R2YoZnVuY3Rpb24oKXtMZih0aGlzLGIpfSx0aGlzKX19O18uZy5uQj1mdW5jdGlvbihhKXt0aGlzLmo9MDtfLkFmKHRoaXMsMixhKX07Xy5nLm9CPWZ1bmN0aW9uKGEpe3RoaXMuaj0wO18uQWYodGhpcywzLGEpfTtfLmcudHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1NZih0aGlzKTspTmYodGhpcyxhLHRoaXMuaix0aGlzLkkpO3RoaXMuSz0hMX07Xy5VZj1fLiRiO18uSGEoXy5QZixfLkxhKTtfLlBmLnByb3RvdHlwZS5uYW1lPSJjYW5jZWwiO18uSGEoWGYsXy5MYSk7WGYucHJvdG90eXBlLm5hbWU9IlhockVycm9yIjtfLkhhKFlmLFhmKTtZZi5wcm90b3R5cGUubmFtZT0iWGhySHR0cEVycm9yIjtfLkhhKFpmLFhmKTtaZi5wcm90b3R5cGUubmFtZT0iWGhyVGltZW91dEVycm9yIjtfLmRoPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQ9ITEsZT0hMSl7dGhpcy5ZPXFlKF8uVWEoYSkudG9TdHJpbmcoKSwhMCk7dGhpcy5GYT1iO3RoaXMueWE9Yzt0aGlzLkQ9ZDt0aGlzLkI9e307dGhpcy5NPW5ldyBNYXA7dGhpcy5aPVtdO3RoaXMub2E9ITA7dGhpcy5oYT0oYT10ZSh0aGlzLlksImV4Y20iKSk/YS5zcGxpdCgiLCIpOltdO3RoaXMuVmQ9ZTt0aGlzLmZpPSExO3RoaXMuV2c9ImFub255bW91cyI7dGhpcy5kaT00MDQzO3RoaXMuZ2E9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMudj10aGlzLkk9bnVsbDt0aGlzLkViPSEwO0hlKCk7dGhpcy5YPW51bGw7Xy5hZyh0aGlzLHllKHRoaXMuWSkpO3RoaXMuZmV0Y2hQcmlvcml0eT12b2lkIDA7dGhpcy5NYT0hMTt0aGlzLlUoKX1hc3luYyBRYSgpe3Rocm93IEVycm9yKCJUIik7fVUoKXt9bG9hZChhLGIsYyxkLGU9Yil7Xy5VYShhKTt2YXIgZj10aGlzLmZpLGg9dGhpcy5XZyxrPXRoaXMuZmV0Y2hQcmlvcml0eSwKbD1fLkNkKCJTQ1JJUFQiKTtfLm9iKGwsYSk7ZiYmKGwuY3Jvc3NPcmlnaW49aCk7bC5hc3luYz0hMTtrJiZsLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsayk7Xy5hZyh0aGlzLGIpO18ucGcodGhpcyxhLGwsYixjLGQsZSl9fTt2YXIgcWc9bmV3IFVpbnQ4QXJyYXkoMTIzKSxLZz0hMTt2YXIgTGc9W107Xy5nPXRnLnByb3RvdHlwZTtfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuail0aGlzLnYgaW5zdGFuY2VvZiB0ZyYmdGhpcy52LmNhbmNlbCgpO2Vsc2V7aWYodGhpcy5vKXtsZXQgYj10aGlzLm87ZGVsZXRlIHRoaXMubzthP2IuY2FuY2VsKGEpOihiLlktLSxiLlk8PTAmJmIuY2FuY2VsKCkpfXRoaXMuWj90aGlzLlouY2FsbCh0aGlzLlUsdGhpcyk6dGhpcy5NPSEwO3RoaXMuanx8KGE9bmV3IEZnKHRoaXMpLHhnKHRoaXMpLHZnKHRoaXMsITEsYSkpfX07Xy5nLnNwPWZ1bmN0aW9uKGEsYil7dGhpcy5JPSExO3ZnKHRoaXMsYSxiKX07Xy5nLmNhbGxiYWNrPWZ1bmN0aW9uKGEpe3hnKHRoaXMpO3ZnKHRoaXMsITAsYSl9O18uZy5maW5hbGx5PWZ1bmN0aW9uKGEpe3JldHVybiBFZyhuZXcgUHJvbWlzZSgoYixjKT0+e3pnKHRoaXMsZD0+e2EoKTtiKGQpfSxkPT57YSgpO2MoZCl9KX0pKX07Cl8uZy50aGVuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9bmV3IF8uQmYoZnVuY3Rpb24oaCxrKXtlPWg7ZD1rfSk7emcodGhpcyxlLGZ1bmN0aW9uKGgpe2ggaW5zdGFuY2VvZiBGZz9mLmNhbmNlbCgpOmQoaCk7cmV0dXJuIENnfSx0aGlzKTtyZXR1cm4gZi50aGVuKGEsYixjKX07Xy55Zih0Zyk7dGcucHJvdG90eXBlLmlzRXJyb3I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcn07dmFyIENnPXt9O18uSGEod2csXy5MYSk7d2cucHJvdG90eXBlLm1lc3NhZ2U9IkRlZmVycmVkIGhhcyBhbHJlYWR5IGZpcmVkIjt3Zy5wcm90b3R5cGUubmFtZT0iQWxyZWFkeUNhbGxlZEVycm9yIjtfLkhhKEZnLF8uTGEpO0ZnLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCB3YXMgY2FuY2VsZWQiO0ZnLnByb3RvdHlwZS5uYW1lPSJDYW5jZWxlZEVycm9yIjsKRGcucHJvdG90eXBlLnRocm93RXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgQmdbdGhpcy5qXTt0aHJvdyB0aGlzLm87fTt2YXIgQmc9e307dmFyIEdnPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXtzdXBlcigpO3RoaXMubmFtZT0iTW9kdWxlTG9hZEZhaWx1cmUiO3RoaXMudHlwZT1hO3RoaXMuc3RhdHVzPWI7dGhpcy5tbj1jO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9dG9TdHJpbmcoKXtyZXR1cm5gJHtIZyh0aGlzKX0gKCR7dGhpcy5zdGF0dXMhPXZvaWQgMD90aGlzLnN0YXR1czoiPyJ9KWB9fTt2YS5vYj1HZzt2YS5vYi5UeXBlPXtwbzowLHBrOjEsVElNRU9VVDoyLGhvOjMsdWs6NH07Xy5IYShJZyxqZSk7Xy5IYShKZyxfLkxhKTtfLmc9SWcucHJvdG90eXBlO18uZy5Scj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9OwpfLmcuVGg9ZnVuY3Rpb24oYSxiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBJZykpdGhpcy5UaChhLGIpO2Vsc2UgaWYodHlwZW9mIGE9PT0ic3RyaW5nIil7aWYoYS5zdGFydHNXaXRoKCJkJCIpKXthPWEuc3Vic3RyaW5nKDIpO2Zvcih2YXIgYz1bXSxkPTAsZT1hLmluZGV4T2YoIi8iKSxmPTAsaD0hMSxrPTA7Oyl7dmFyIGw9aD9hLnN1YnN0cmluZyhmKTphLnN1YnN0cmluZyhmLGUpO2lmKGwubGVuZ3RoPT09MClkKyssZj0ic3kiK2QudG9TdHJpbmcoMzYpLGw9W107ZWxzZXt2YXIgbT1sLmluZGV4T2YoIjoiKTtpZihtPDApZj1sLGw9W107ZWxzZSBpZihtPT09bC5sZW5ndGgtMSlmPWwuc3Vic3RyaW5nKDAsbSksbD1BcnJheShjW2stMV0pO2Vsc2V7Zj1sLnN1YnN0cmluZygwLG0pO2w9bC5zdWJzdHJpbmcobSsxKS5zcGxpdCgiLCIpO209aztmb3IobGV0IG49MDtuPGwubGVuZ3RoO24rKyltLT1sW25dLmxlbmd0aD09PTA/MTpOdW1iZXIobFtuXSksbFtuXT1jW21dfW09MDtpZihmLmxlbmd0aD09PQowKW09MTtlbHNlIGlmKGYuY2hhckF0KDApPT09IisifHxmLmNoYXJBdCgwKT09PSItIiltPU51bWJlcihmKTttIT09MCYmKGQrPW0sZj0ic3kiK2QudG9TdHJpbmcoMzYpKX1jLnB1c2goZik7TmcodGhpcyxmLGwpO2lmKGgpYnJlYWs7Zj1lKzE7ZT1hLmluZGV4T2YoIi8iLGYpO2U9PT0tMSYmKGg9ITApO2srK310aGlzLmhhPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpT2codGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7az1hW2RdLnNwbGl0KCI6Iik7ZT1rWzBdO2g9W107aWYoa1sxXSlmb3IoaD1rWzFdLnNwbGl0KCIsIiksaz0wO2s8aC5sZW5ndGg7aysrKWhba109Y1twYXJzZUludChoW2tdLDM2KV07Yy5wdXNoKGUpO05nKHRoaXMsZSxoKX10aGlzLmhhPWN9aWYoYiYmYi5sZW5ndGgpe2ZvcihsZXQgbiBvZiBiKXRoaXMuQi5hZGQobik7dGhpcy55YT1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCk7Ck9iamVjdC5mcmVlemUodGhpcy5oYSk7dGhpcy5vPT10aGlzLlomJih0aGlzLm89bnVsbCwoYj10aGlzLloub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLFJnKHRoaXMpKX19O18uZy5MYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ELmdldChhKX07Xy5nLm5pPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5MYShhKTtjJiZjLmlzTG9hZGVkKCk/dGhpcy5sb2FkKGIpOnRoaXMuaiBpbnN0YW5jZW9mIE1hcD8oYz10aGlzLmouZ2V0KGEpLGN8fChjPW5ldyBTZXQsdGhpcy5qLnNldChhLGMpKSxjLmFkZChiKSk6KHRoaXMualthXXx8KHRoaXMualthXT17fSksdGhpcy5qW2FdW2JdPSEwKX07Cl8uZy5BZz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuaiBpbnN0YW5jZW9mIE1hcCl7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5kZWxldGUoYiksYy5zaXplPT09MCYmdGhpcy5qLmRlbGV0ZShhKSl9ZWxzZSBpZih0aGlzLmpbYV0pe2RlbGV0ZSB0aGlzLmpbYV1bYl07Zm9yKGMgaW4gdGhpcy5qW2FdKXJldHVybjtkZWxldGUgdGhpcy5qW2FdfX07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQi5zaXplPjB9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkkuc2l6ZT4wfTsKXy5nLnNqPWZ1bmN0aW9uKGEsYj0wLGMpe3ZhciBkPVlnKHRoaXMsYSk7dGhpcy5CPW5ldyBTZXQoZCk7dGhpcy5LPXRoaXMub2E/YTpfLnliKGQpO1JnKHRoaXMpO2lmKGQubGVuZ3RoIT09MCl7Zm9yKGxldCBlIG9mIGQpdGhpcy5VLmFkZChlKTthPXRoaXMuWTtpZighYSl0aHJvdyBFcnJvcigiViIpO2lmKCh0aGlzLmogaW5zdGFuY2VvZiBNYXA/dGhpcy5qLnNpemU+MDpPYmplY3Qua2V5cyh0aGlzLmopLmxlbmd0aD4wKSYmIWEuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLF8ueWIoZCksdGhpcy5ELHtZZDp0aGlzLmosb25FcnJvcjooZSxmLGgpPT5iaCh0aGlzLHRoaXMuSyxkLGUhPW51bGw/ZTp2b2lkIDAsZixiLCEhaCksb25UaW1lb3V0OigwLF8uQ2EpKHRoaXMud3csdGhpcyksZm9yY2VSZWxvYWQ6ISFjfSl9fTt2YXIgV2c9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5vPW5ldyBTZXQ7dGhpcy5yZXN1bHQ9W119fTtfLmc9SWcucHJvdG90eXBlOwpfLmcueWU9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPXRoaXMuby5nZXRJZCgpLGI9W107aWYodGhpcy5qIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmouZ2V0KGEpO2lmKGMpe2Zvcih2YXIgZCBvZiBBcnJheS5mcm9tKGMpKShjPXRoaXMuTGEoZCkpJiYhYy5pc0xvYWRlZCgpJiYodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpKGQ9dGhpcy5MYShjKSkmJiFkLmlzTG9hZGVkKCkmJih0aGlzLkFnKGEsYyksYi5wdXNoKGMpKTt0aGlzLmFmKGIpfXRoaXMuaWEoKXx8KChiPXRoaXMuRC5nZXQoYSkub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLHRoaXMuSS5kZWxldGUoYSksdGhpcy5CLmRlbGV0ZShhKSx0aGlzLkIuc2l6ZSE9PTB8fAphaCh0aGlzKSx0aGlzLnlhJiZhPT10aGlzLnlhJiYodGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCkpLFJnKHRoaXMpLHRoaXMubz1udWxsKX19O18uZy51aD1mdW5jdGlvbihhKXtpZih0aGlzLkIuaGFzKGEpKXJldHVybiEwO2ZvcihsZXQgYj0wO2I8dGhpcy52Lmxlbmd0aDtiKyspaWYoXy5zYih0aGlzLnZbYl0sYSk+PTApcmV0dXJuITA7cmV0dXJuITF9O18uZy5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRnKHRoaXMsW2FdLGIpW2FdfTtfLmcuYWY9ZnVuY3Rpb24oYSl7cmV0dXJuIFRnKHRoaXMsYSl9OwpfLmcuUm89ZnVuY3Rpb24oYSl7dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIj8odGhpcy55ZSgpLHRoaXMuRC5kZWxldGUoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiKSk6dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKTt2YXIgYj10aGlzLkQuZ2V0KGEpO2ImJmNoKHRoaXMsYi5qfHxbXSxjPT57Yy55ZSgpO3RoaXMuQi5kZWxldGUoYy5nZXRJZCgpKX0sYz0+IWMuaXNMb2FkZWQoKSxuZXcgU2V0KTtpZih0aGlzLm89dGhpcy5MYShhKSl0aGlzLm8uST0hMH07Xy5nLmVuPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLm8pe2xldCBiPW5ldyB2YS5PZyhbXSwic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIpO3RoaXMuRC5zZXQoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiLGIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX07Xy5nLnd3PWZ1bmN0aW9uKCl7Wy4uLnRoaXMuQl07JGcodGhpcyxuZXcgdmEub2IodmEub2IuVHlwZS5USU1FT1VUKSk7YWgodGhpcyl9OwpfLmcuWm49ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpfHwoYT1bYV0pO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgYz1hW2VdLGQ9YjtsZXQgZj10aGlzLk0uZ2V0KGMpO2Y/Zi5wdXNoKGQpOnRoaXMuTS5zZXQoYyxbZF0pfX07Xy5nLmRpc3Bvc2U9ZnVuY3Rpb24oKXtfLiRkKEFycmF5LmZyb20odGhpcy5ELnZhbHVlcygpKSx0aGlzLlopO3RoaXMuRC5jbGVhcigpO3RoaXMuQi5jbGVhcigpO3RoaXMuSz1bXTt0aGlzLkkuY2xlYXIoKTt0aGlzLnY9W107dGhpcy5NLmNsZWFyKCk7dGhpcy5GYT0hMH07Xy5nLmlhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRmF9O18uVGQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IElnfTt2YXIgbWg9WzVFMywyRTRdLCRyPWNsYXNzIGV4dGVuZHMgamV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj1uZXcgTWFwO3RoaXMuRD1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuQj0wO3RoaXMuSz1bXTt0aGlzLmo9QWU/bmV3IE1hcDpPYmplY3QuY3JlYXRlKG51bGwpO3RoaXMubz10aGlzLkxhKCJ7YmFzZX0iKX1UaCgpe3RoaXMubyYmdGhpcy5vLmdldElkKCk9PSJ7YmFzZX0iJiZ0aGlzLnllKCl9TGEoYSl7dmFyIGI9dGhpcy52LmdldChhKTtifHwoYj1uZXcgdmEuT2coW10sYSksdGhpcy52LnNldChhLGIpKTtyZXR1cm4gYn1uaShhLGIpe2lmKHRoaXMuTGEoYSkuaXNMb2FkZWQoKSl0aGlzLmxvYWQoYik7ZWxzZSBpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe2xldCBjPXRoaXMuai5nZXQoYSk7Y3x8KGM9bmV3IFNldCx0aGlzLmouc2V0KGEsYykpO2MuYWRkKGIpfWVsc2UgdGhpcy5qW2FdfHwodGhpcy5qW2FdPXt9KSx0aGlzLmpbYV1bYl09ITB9QWcoYSxiKXtpZih0aGlzLmogaW5zdGFuY2VvZgpNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMuZGVsZXRlKGIpLGMuc2l6ZT09PTAmJnRoaXMuai5kZWxldGUoYSkpfWVsc2UgaWYodGhpcy5qW2FdKXtkZWxldGUgdGhpcy5qW2FdW2JdO2ZvcihjIGluIHRoaXMualthXSlyZXR1cm47ZGVsZXRlIHRoaXMualthXX19dWgoYSl7cmV0dXJuISF0aGlzLkRbYV19bG9hZChhKXtpaCh0aGlzLFthXSk7cmV0dXJuIGpoKHRoaXMsYSl9YWYoYSl7dmFyIGI9T2JqZWN0LmNyZWF0ZShudWxsKSxjPVtdO2EuZm9yRWFjaChkPT57YltkXXx8KGJbZF09amgodGhpcyxkKSxjLnB1c2goZCkpfSk7aWgodGhpcyxjKTtyZXR1cm4gYn1SbyhhKXt0aGlzLm8/LmdldElkKCk9PT0ic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCImJnRoaXMueWUoKTt2YXIgYj10aGlzLnYuZ2V0KGEpO2toKHRoaXMsYj8uc3QoKT8/W10sYz0+Yy55ZSgpLGM9PiFjLmlzTG9hZGVkKCkpO3RoaXMubz10aGlzLkxhKGEpfXllKCl7aWYodGhpcy5vKXt2YXIgYT10aGlzLm8uZ2V0SWQoKSwKYj1bXTtpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7aWYoYyl7Zm9yKGxldCBkIG9mIEFycmF5LmZyb20oYykpdGhpcy5MYShkKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpdGhpcy5MYShjKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGMpLGIucHVzaChjKSk7dGhpcy5hZihiKX10aGlzLm8ub25Mb2FkKCgpPT5udWxsKTt0aGlzLm89bnVsbDsoIXRoaXMudWgoYSkmJi9ec3lbMC05YS16XXswLDR9JC8udGVzdChhKXx8YT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikmJnRoaXMudi5kZWxldGUoYSk7bGgodGhpcyxhKX19ZW4oYSl7aWYoIXRoaXMubyl7bGV0IGI9bmV3IHZhLk9nKFtdLCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIik7dGhpcy52LnNldCgic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIsCmIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX19O3ZhciBraj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLmo9LTF9c2V0KGEsYj0hMCl7MDw9YSYmYTw1MiYmTnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5kYXRhW2FdIT09YiYmKHRoaXMuZGF0YVthXT1iLHRoaXMuaj0tMSl9Z2V0KGEpe3JldHVybiEhdGhpcy5kYXRhW2FdfX07Xy5vaC5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBfLmFzfTtfLmFzPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07Xy5vaC5wcm90b3R5cGUuYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIHBoPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hfWJkKCl7cmV0dXJuIG5ldyBxaCh0aGlzLm8oKSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubygpKX1qKCl7cmV0dXJuIG5ldyByaCh0aGlzLm8oKSl9fSxxaD1jbGFzcyBleHRlbmRzIF8ub2h7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm89YX1uZXh0KCl7cmV0dXJuIHRoaXMuby5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubyl9aigpe3JldHVybiBuZXcgcmgodGhpcy5vKX19LHJoPWNsYXNzIGV4dGVuZHMgcGh7Y29uc3RydWN0b3IoYSl7c3VwZXIoKCk9PmEpO3RoaXMudj1hfW5leHQoKXtyZXR1cm4gdGhpcy52Lm5leHQoKX19O3ZhciBicz1fLnUuSlNPTi5zdHJpbmdpZnk7Xy5jcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoYSxiKT0+e3RoaXMucmVzb2x2ZT1hO3RoaXMucmVqZWN0PWJ9KX19O18uSGEoXy50aCxfLmFlKTtfLmc9Xy50aC5wcm90b3R5cGU7Xy5nLnN1YnNjcmliZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5vW2FdO2R8fChkPXRoaXMub1thXT1bXSk7dmFyIGU9dGhpcy5EO3RoaXMualtlXT1hO3RoaXMualtlKzFdPWI7dGhpcy5qW2UrMl09Yzt0aGlzLkQ9ZSszO2QucHVzaChlKTtyZXR1cm4gZX07Xy5nLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYixjKXtpZihhPXRoaXMub1thXSl7bGV0IGQ9dGhpcy5qO2lmKGE9YS5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBkW2UrMV09PWImJmRbZSsyXT09Y30pKXJldHVybiB0aGlzLmNpKGEpfXJldHVybiExfTtfLmcuY2k9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5qW2FdO2lmKGIpe2xldCBjPXRoaXMub1tiXTt0aGlzLkIhPTA/KHRoaXMudi5wdXNoKGEpLHRoaXMualthKzFdPSgpPT57fSk6KGMmJl8ueGIoYyxhKSxkZWxldGUgdGhpcy5qW2FdLGRlbGV0ZSB0aGlzLmpbYSsxXSxkZWxldGUgdGhpcy5qW2ErMl0pfXJldHVybiEhYn07Cl8uZy5wdWJsaXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5vW2FdO2lmKGMpe2xldCBlPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7dmFyIGQ9YXJndW1lbnRzLmxlbmd0aDtsZXQgZjtmb3IoZj0xO2Y8ZDtmKyspZVtmLTFdPWFyZ3VtZW50c1tmXTtpZih0aGlzLkkpZm9yKGY9MDtmPGMubGVuZ3RoO2YrKylkPWNbZl0sdWgodGhpcy5qW2QrMV0sdGhpcy5qW2QrMl0sZSk7ZWxzZXt0aGlzLkIrKzt0cnl7Zm9yKGY9MCxkPWMubGVuZ3RoO2Y8ZCYmIXRoaXMuaWEoKTtmKyspe2xldCBoPWNbZl07dGhpcy5qW2grMV0uYXBwbHkodGhpcy5qW2grMl0sZSl9fWZpbmFsbHl7aWYodGhpcy5CLS0sdGhpcy52Lmxlbmd0aD4wJiZ0aGlzLkI9PTApZm9yKDtjPXRoaXMudi5wb3AoKTspdGhpcy5jaShjKX19cmV0dXJuIGYhPTB9cmV0dXJuITF9OwpfLmcuY2xlYXI9ZnVuY3Rpb24oYSl7aWYoYSl7bGV0IGI9dGhpcy5vW2FdO2ImJihiLmZvckVhY2godGhpcy5jaSx0aGlzKSxkZWxldGUgdGhpcy5vW2FdKX1lbHNlIHRoaXMuai5sZW5ndGg9MCx0aGlzLm89e319O18uZy5sYT1mdW5jdGlvbigpe18udGguemIubGEuY2FsbCh0aGlzKTt0aGlzLmNsZWFyKCk7dGhpcy52Lmxlbmd0aD0wfTt2aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMD90aGlzLmoucmVtb3ZlKGEpOnRoaXMuai5zZXQoYSxicyhiKSl9O3ZoLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7dHJ5e3ZhciBiPXRoaXMuai5nZXQoYSl9Y2F0Y2goYyl7cmV0dXJufWlmKGIhPT1udWxsKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShiKX1jYXRjaChjKXt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fX07dmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLmoucmVtb3ZlKGEpfTtfLkhhKHdoLHZoKTt3aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7d2guemIuc2V0LmNhbGwodGhpcyxhLHloKGIpKX07d2gucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7YT13aC56Yi5nZXQuY2FsbCh0aGlzLGEpO2lmKGE9PT12b2lkIDB8fGEgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIGE7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO307d2gucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtpZihhPXRoaXMubyhhKSl7aWYoYT1hLmRhdGEsYT09PXZvaWQgMCl0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fWVsc2UgYT12b2lkIDA7cmV0dXJuIGF9O18uSGEoXy56aCx3aCk7Xy56aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjKXtpZihiPXloKGIpKXtpZihjKXtpZihjPF8uRWEoKSl7Xy56aC5wcm90b3R5cGUucmVtb3ZlLmNhbGwodGhpcyxhKTtyZXR1cm59Yi5leHBpcmF0aW9uPWN9Yi5jcmVhdGlvbj1fLkVhKCl9Xy56aC56Yi5zZXQuY2FsbCh0aGlzLGEsYil9O18uemgucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy56aC56Yi5vLmNhbGwodGhpcyxhKTtpZihiKXtsZXQgYz1iLmNyZWF0aW9uLGQ9Yi5leHBpcmF0aW9uO2lmKGQmJmQ8Xy5FYSgpfHxjJiZjPl8uRWEoKSlfLnpoLnByb3RvdHlwZS5yZW1vdmUuY2FsbCh0aGlzLGEpO2Vsc2UgcmV0dXJuIGJ9fTtfLkhhKEJoLEFoKTtCaC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITApKS5qKCl9O0JoLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBiIG9mIGEpdGhpcy5yZW1vdmUoYil9O18uSGEoQ2gsQmgpO18uZz1DaC5wcm90b3R5cGU7Xy5nLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5vPT09bnVsbCl7dmFyIGE9dGhpcy5qO2lmKGEpdHJ5e2Euc2V0SXRlbSgiX19zYWsiLCIxIik7YS5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBiPSEwfWNhdGNoKGMpe2I9YyBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKGMubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxjLmNvZGU9PT0yMnx8Yy5jb2RlPT09MTAxNHx8Yy5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJmEmJmEubGVuZ3RoIT09MH1lbHNlIGI9ITE7dGhpcy5vPWJ9cmV0dXJuIHRoaXMub307Cl8uZy5zZXQ9ZnVuY3Rpb24oYSxiKXtEaCh0aGlzKTt0cnl7dGhpcy5qLnNldEl0ZW0oYSxiKX1jYXRjaChjKXtpZih0aGlzLmoubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319O18uZy5nZXQ9ZnVuY3Rpb24oYSl7RGgodGhpcyk7YT10aGlzLmouZ2V0SXRlbShhKTtpZih0eXBlb2YgYSE9PSJzdHJpbmciJiZhIT09bnVsbCl0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybiBhfTtfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3RoaXMuai5yZW1vdmVJdGVtKGEpfTsKXy5nLmJkPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3ZhciBiPTAsYz10aGlzLmosZD1uZXcgXy5vaDtkLm5leHQ9ZnVuY3Rpb24oKXtpZihiPj1jLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZT1jLmtleShiKyspO2lmKGEpcmV0dXJue3ZhbHVlOmUsZG9uZTohMX07ZT1jLmdldEl0ZW0oZSk7aWYodHlwZW9mIGUhPT0ic3RyaW5nIil0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybnt2YWx1ZTplLGRvbmU6ITF9fTtyZXR1cm4gZH07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7RGgodGhpcyk7dGhpcy5qLmNsZWFyKCl9O18uZy5rZXk9ZnVuY3Rpb24oYSl7RGgodGhpcyk7cmV0dXJuIHRoaXMuai5rZXkoYSl9O18uSGEoRWgsQ2gpO18uSGEoRmgsQmgpO0ZoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm8uc2V0KHRoaXMuaithLGIpfTtGaC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm8uZ2V0KHRoaXMuaithKX07RmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLm8ucmVtb3ZlKHRoaXMuaithKX07RmgucHJvdG90eXBlLmJkPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub1tTeW1ib2wuaXRlcmF0b3JdKCksYz10aGlzLGQ9bmV3IF8ub2g7ZC5uZXh0PWZ1bmN0aW9uKCl7dmFyIGU9Yi5uZXh0KCk7aWYoZS5kb25lKXJldHVybiBlO2ZvcihlPWUudmFsdWU7ZS5zbGljZSgwLGMuai5sZW5ndGgpIT1jLmo7KXtlPWIubmV4dCgpO2lmKGUuZG9uZSlyZXR1cm4gZTtlPWUudmFsdWV9cmV0dXJue3ZhbHVlOmE/ZS5zbGljZShjLmoubGVuZ3RoKTpjLm8uZ2V0KGUpLGRvbmU6ITF9fTtyZXR1cm4gZH07dmFyIEhoPXt9LGRzPXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MTZBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgSW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO0hoLmFzc2lnbj1mdW5jdGlvbihhKXtmb3IodmFyIGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO2IubGVuZ3RoOyl7dmFyIGM9Yi5zaGlmdCgpO2lmKGMpe2lmKHR5cGVvZiBjIT09Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiYmFgIitjKTtmb3IodmFyIGQgaW4gYylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYyxkKSYmKGFbZF09Y1tkXSl9fXJldHVybiBhfTtIaC53bj1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09YilyZXR1cm4gYTtpZihhLnN1YmFycmF5KXJldHVybiBhLnN1YmFycmF5KDAsYik7YS5sZW5ndGg9YjtyZXR1cm4gYX07CnZhciBlcz17d2Y6ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihiLnN1YmFycmF5JiZhLnN1YmFycmF5KWEuc2V0KGIuc3ViYXJyYXkoYyxjK2QpLGUpO2Vsc2UgZm9yKHZhciBmPTA7ZjxkO2YrKylhW2UrZl09YltjK2ZdfSxNcDpmdW5jdGlvbihhKXt2YXIgYixjO3ZhciBkPWM9MDtmb3IoYj1hLmxlbmd0aDtkPGI7ZCsrKWMrPWFbZF0ubGVuZ3RoO3ZhciBlPW5ldyBVaW50OEFycmF5KGMpO2Q9Yz0wO2ZvcihiPWEubGVuZ3RoO2Q8YjtkKyspe3ZhciBmPWFbZF07ZS5zZXQoZixjKTtjKz1mLmxlbmd0aH1yZXR1cm4gZX19LGdzPXt3ZjpmdW5jdGlvbihhLGIsYyxkLGUpe2Zvcih2YXIgZj0wO2Y8ZDtmKyspYVtlK2ZdPWJbYytmXX0sTXA6ZnVuY3Rpb24oYSl7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLGEpfX07CkhoLmpBPWZ1bmN0aW9uKCl7ZHM/KEhoLnRmPVVpbnQ4QXJyYXksSGguWWM9VWludDE2QXJyYXksSGguUXM9SW50MzJBcnJheSxIaC5hc3NpZ24oSGgsZXMpKTooSGgudGY9QXJyYXksSGguWWM9QXJyYXksSGguUXM9QXJyYXksSGguYXNzaWduKEhoLGdzKSl9O0hoLmpBKCk7dmFyIGhzPSEwO3RyeXtuZXcgVWludDhBcnJheSgxKX1jYXRjaChhKXtocz0hMX07dmFyIHRpPXt9O3RpPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEmNjU1MzV8MDthPWE+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgZjtjIT09MDspe2Y9Yz4yRTM/MkUzOmM7Yy09ZjtkbyBlPWUrYltkKytdfDAsYT1hK2V8MDt3aGlsZSgtLWYpO2UlPTY1NTIxO2ElPTY1NTIxfXJldHVybiBlfGE8PDE2fDB9O2Zvcih2YXIgdWk9e30saXMsanM9W10sa3M9MDtrczwyNTY7a3MrKyl7aXM9a3M7Zm9yKHZhciBscz0wO2xzPDg7bHMrKylpcz1pcyYxPzM5ODgyOTIzODReaXM+Pj4xOmlzPj4+MTtqc1trc109aXN9dWk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kK2M7Zm9yKGFePS0xO2Q8YztkKyspYT1hPj4+OF5qc1soYV5iW2RdKSYyNTVdO3JldHVybiBhXi0xfTt2YXIgaWk9e307aWk9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgWGg9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sJGg9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLEtpPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMyw3XSxtaT1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0sbmk9QXJyYXkoNTc2KTtKaChuaSk7dmFyIG9pPUFycmF5KDYwKTtKaChvaSk7dmFyIFpoPUFycmF5KDUxMik7SmgoWmgpO3ZhciBXaD1BcnJheSgyNTYpO0poKFdoKTt2YXIgWWg9QXJyYXkoMjkpO0poKFloKTt2YXIgYmk9QXJyYXkoMzApO0poKGJpKTt2YXIgSGksSWksSmksR2k9ITE7dmFyIENpOwpDaT1bbmV3IEFpKDAsMCwwLDAsZnVuY3Rpb24oYSxiKXt2YXIgYz02NTUzNTtmb3IoYz5hLm5jLTUmJihjPWEubmMtNSk7Oyl7aWYoYS5kYTw9MSl7dmkoYSk7aWYoYS5kYT09PTAmJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWEuVis9YS5kYTthLmRhPTA7dmFyIGQ9YS5VYitjO2lmKGEuVj09PTB8fGEuVj49ZClpZihhLmRhPWEuVi1kLGEuVj1kLHBpKGEsITEpLGEud2EuemE9PT0wKXJldHVybiAxO2lmKGEuVi1hLlViPj1hLkJiLTI2MiYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1hLnJiPTA7aWYoYj09PTQpcmV0dXJuIHBpKGEsITApLGEud2EuemE9PT0wPzM6NDthLlY+YS5VYiYmcGkoYSwhMSk7cmV0dXJuIDF9KSxuZXcgQWkoNCw0LDgsNCx3aSksbmV3IEFpKDQsNSwxNiw4LHdpKSxuZXcgQWkoNCw2LDMyLDMyLHdpKSxuZXcgQWkoNCw0LDE2LDE2LHhpKSxuZXcgQWkoOCwxNiwzMiwzMix4aSksbmV3IEFpKDgsMTYsMTI4LDEyOCx4aSksbmV3IEFpKDgsCjMyLDEyOCwyNTYseGkpLG5ldyBBaSgzMiwxMjgsMjU4LDEwMjQseGkpLG5ldyBBaSgzMiwyNTgsMjU4LDQwOTYseGkpXTt2YXIgRmk9e307Rmk9ZnVuY3Rpb24oKXt0aGlzLmlucHV0PW51bGw7dGhpcy5xZj10aGlzLkRiPXRoaXMuZmY9MDt0aGlzLm91dHB1dD1udWxsO3RoaXMuRW49dGhpcy56YT10aGlzLnFnPTA7dGhpcy5tc2c9IiI7dGhpcy5zdGF0ZT1udWxsO3RoaXMuaWw9Mjt0aGlzLnNhPTB9O3ZhciBMaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwpFaS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMud2EsZD10aGlzLm9wdGlvbnMuY2h1bmtTaXplO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7dmFyIGU9Yj09PX5+Yj9iOmI9PT0hMD80OjA7dHlwZW9mIGE9PT0ic3RyaW5nIj9jLmlucHV0PUloKGEpOkxpLmNhbGwoYSk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2MuaW5wdXQ9bmV3IFVpbnQ4QXJyYXkoYSk6Yy5pbnB1dD1hO2MuZmY9MDtjLkRiPWMuaW5wdXQubGVuZ3RoO2Rve2MuemE9PT0wJiYoYy5vdXRwdXQ9bmV3IEhoLnRmKGQpLGMucWc9MCxjLnphPWQpO2E9RGkoYyxlKTtpZihhIT09MSYmYSE9PTApcmV0dXJuIE1pKHRoaXMsYSksdGhpcy5lbmRlZD0hMCwhMTtpZihjLnphPT09MHx8Yy5EYj09PTAmJihlPT09NHx8ZT09PTIpKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXt2YXIgZj1IaC53bihjLm91dHB1dCxjLnFnKTtiPWY7Zj1mLmxlbmd0aDtpZihmPDY1NTM3JiYoYi5zdWJhcnJheSYmCmhzfHwhYi5zdWJhcnJheSkpYj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsSGgud24oYixmKSk7ZWxzZXtmb3IodmFyIGg9IiIsaz0wO2s8ZjtrKyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShiW2tdKTtiPWh9dGhpcy5jaHVua3MucHVzaChiKX1lbHNlIGI9SGgud24oYy5vdXRwdXQsYy5xZyksdGhpcy5jaHVua3MucHVzaChiKX13aGlsZSgoYy5EYj4wfHxjLnphPT09MCkmJmEhPT0xKTtpZihlPT09NClyZXR1cm4oYz10aGlzLndhKSYmYy5zdGF0ZT8oZD1jLnN0YXRlLnN0YXR1cyxkIT09NDImJmQhPT02OSYmZCE9PTczJiZkIT09OTEmJmQhPT0xMDMmJmQhPT0xMTMmJmQhPT02NjY/YT1qaShjLC0yKTooYy5zdGF0ZT1udWxsLGE9ZD09PTExMz9qaShjLC0zKTowKSk6YT0tMixNaSh0aGlzLGEpLHRoaXMuZW5kZWQ9ITAsYT09PTA7ZT09PTImJihNaSh0aGlzLDApLGMuemE9MCk7cmV0dXJuITB9O18uST1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX19O3ZhciB4cD1uZXcgXy5JKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgd3A9bmV3IF8uSSgicmF3SG90Q29uZmlnR3JvdXAiKTt2YXIgbXM7bXM9Xy51LndpbmRvdztfLlBpPW1zPy55dD8uY29uZmlnX3x8bXM/Lnl0Y2ZnPy5kYXRhX3x8e307Xy5yYSgieXQuY29uZmlnXyIsXy5QaSk7dmFyIFNpPVtdO3ZhciBnaj0vXltcdy5dKiQvLCRpPXtxOiEwLHNlYXJjaF9xdWVyeTohMH0sWmk9U3RyaW5nKFlpKTt2YXIgaGo9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtfLnJhKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24oYSl7cmV0dXJuIGFqKF8ubGooYSkpfSk7Xy5FYSgpO25hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiIChDcktleSAiKTt2YXIgcXM7cXM9MDtfLnJzPV8uY3I/IndlYmtpdCI6YnI/Im1veiI6YXI/Im1zIjokcT8ibyI6IiI7Xy5yYSgieXREb21Eb21HZXROZXh0SWQiLF8uc2EoInl0RG9tRG9tR2V0TmV4dElkIil8fCgoKT0+KytxcykpO18uc3M9Xy51Lnl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzfHx7fTtfLnJhKCJ5dEV2ZW50c0V2ZW50c0xpc3RlbmVycyIsXy5zcyk7Xy50cz1fLnUueXRFdmVudHNFdmVudHNDb3VudGVyfHx7Y291bnQ6MH07Xy5yYSgieXRFdmVudHNFdmVudHNDb3VudGVyIixfLnRzKTtfLnVzPWhkKGZ1bmN0aW9uKCl7dmFyIGE9ITE7dHJ5e2xldCBiPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiY2FwdHVyZSIse2dldDpmdW5jdGlvbigpe2E9ITB9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsYil9Y2F0Y2goYil7fXJldHVybiBhfSk7dmFyIHZzO3ZzPXdpbmRvdztfLmVsPXZzLnl0Y3NpJiZ2cy55dGNzaS5ub3c/dnMueXRjc2kubm93OnZzLnBlcmZvcm1hbmNlJiZ2cy5wZXJmb3JtYW5jZS50aW1pbmcmJnZzLnBlcmZvcm1hbmNlLm5vdyYmdnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD8oKT0+dnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCt2cy5wZXJmb3JtYW5jZS5ub3coKTooKT0+KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIG5qPSJYTUxIdHRwUmVxdWVzdCJpbiBfLnU/KCk9Pm5ldyBYTUxIdHRwUmVxdWVzdDpudWxsO3ZhciB3cz0iYWJzb2x1dGVfZXhwZXJpbWVudHMgY2xpZW50X2Rldl9kb21haW4gY2xpZW50X2Rldl9leHBmbGFnIGNsaWVudF9kZXZfcmVnZXhfbWFwIGNsaWVudF9kZXZfcm9vdF91cmwgY2xpZW50X3JvbGxvdXRfb3ZlcnJpZGUgZXhwZmxhZyBmb3JjZWRDYXBhYmlsaXR5IGpzZmVhdCBqc21vZGUgbW9kcyB0aGVtZSIuc3BsaXQoIiAiKTtbLi4ud3NdO3ZhciB5aj17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxLaj1bImFwcCIsImRlYnVnY3NzIiwiZGVidWdqcyIsImV4cGZsYWciLCJmb3JjZV9hZF9wYXJhbXMiLCJmb3JjZV9hZF9lbmNyeXB0ZWQiLCJmb3JjZV92aXJhbF9hZF9yZXNwb25zZV9wYXJhbXMiLCJmb3JjZWRfZXhwZXJpbWVudHMiLCJpbm5lcnR1YmVfc25hcHNob3RzIiwiaW5uZXJ0dWJlX2dvbGRlbnMiLCJpbnRlcm5hbGNvdW50cnljb2RlIiwiaW50ZXJuYWxpcG92ZXJyaWRlIiwiYWJzb2x1dGVfZXhwZXJpbWVudHMiLCJjb25kaXRpb25hbF9leHBlcmltZW50cyIsInNiYiIsInNyX2Juc19hZGRyZXNzIiwuLi53c10sR2o9ITEsRGo9eGo7Xy5ubT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuem49ITB9fTtfLnhzPV8uc2EoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIil8fHt9O18ucmEoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIixfLnhzKTt2YXIgUmo9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LFRqPXsic2xvdy0yZyI6IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfU0xPV18yRyIsIjJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8yRyIsIjNnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRyIsIjRnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV80RyJ9O18uWGo9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEpO3RoaXMuYXJncz1bLi4uYl07T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfX07dmFyIHlzPWNsYXNze3BiKGEsYil7cmV0dXJuIHRoaXMuR2EoYSwxLGIpfVUoYSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEltbWVkaWF0ZUpvYiIpO2I/YihhKTphKCl9fTt2YXIgenM9MUUzLzYwLEFzPV8uc2ooIndlYl9lbXVsYXRlZF9pZGxlX2NhbGxiYWNrX2RlbGF5IiwzMDApLGdrPXpzLTMsZGs9WzgsNSw0LDMsMiwxLDBdLGprPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLnY9e307dGhpcy5vYT10aGlzLmo9MDt0aGlzLnBhdXNlZD10aGlzLkQ9ITE7dGhpcy5nYT1bXTt0aGlzLmhhPXRoaXMueWE9ITE7Zm9yKGxldCBiIG9mIGRrKXRoaXMub1tiXT1bXTt0aGlzLkI9MDt0aGlzLmV5PWEudGltZW91dHx8MTt0aGlzLk09Z2s7dGhpcy5JPTA7dGhpcy5NYT10aGlzLml5LmJpbmQodGhpcyk7dGhpcy5neD10aGlzLnp5LmJpbmQodGhpcyk7dGhpcy5mYz10aGlzLkViLmJpbmQodGhpcyk7dGhpcy5WZD10aGlzLmh5LmJpbmQodGhpcyk7dGhpcy5GbD10aGlzLlFhLmJpbmQodGhpcyk7dGhpcy51dz0oKT0+e3RoaXMuUWEocGVyZm9ybWFuY2Uubm93KCkpfTt0aGlzLkZhPSEhd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2smJgohIXdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2smJiFfLngoImRpc2FibGVfc2NoZWR1bGVyX3JlcXVlc3RJZGxlQ2FsbGJhY2siKTsoKHRoaXMuWj1hLnVzZVJhZiE9PSExJiYhIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKX1VKGEpe3ZhciBiPV8uRWEoKTtaaih0aGlzLGEpO2E9Xy5FYSgpLWI7dGhpcy5EfHwodGhpcy5NLT1hKX1HYShhLGIsYyl7Kyt0aGlzLm9hO2lmKGI9PT0xMClyZXR1cm4gdGhpcy5VKGEpLHRoaXMub2E7dmFyIGQ9dGhpcy5vYTt0aGlzLnZbZF09YTt0aGlzLkQmJiFjP3RoaXMuZ2EucHVzaCh7aWQ6ZCxwcmlvcml0eTpifSk6KHRoaXMub1tiXS5wdXNoKGQpLHRoaXMucGF1c2VkfHx0aGlzLkR8fCh0aGlzLmohPT0wJiZiayh0aGlzKSE9PXRoaXMuSSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSk7CnJldHVybiBkfUFhKGEpe2RlbGV0ZSB0aGlzLnZbYV19aXNIaWRkZW4oKXtyZXR1cm4hIWRvY3VtZW50LmhpZGRlbnx8ITF9SmIoYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhKX1oeShhKXt2YXIgYj12b2lkIDA7YSYmKGI9YS50aW1lUmVtYWluaW5nKCkpO3RoaXMueWE9ITA7aGsodGhpcyxiKTt0aGlzLnlhPSExfXp5KCl7aGsodGhpcyl9RWIoKXtpayh0aGlzKX1RYShhKXt0aGlzLmhhPSEwO3ZhciBiPWJrKHRoaXMpO2I9PT00JiZiIT09dGhpcy5JJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTtoayh0aGlzLHZvaWQgMCxhKTt0aGlzLmhhPSExfWl5KCl7dGhpcy5pc0hpZGRlbigpfHxpayh0aGlzKTt0aGlzLmomJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpfXJlcXVlc3RJZGxlQ2FsbGJhY2soYSl7cmV0dXJuIHRoaXMuRmE/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soYSx7dGltZW91dDozRTN9KTp3aW5kb3cuc2V0VGltZW91dChhLApBcyl9Y2FuY2VsSWRsZUNhbGxiYWNrKGEpe3RoaXMuRmE/d2luZG93LmNhbmNlbElkbGVDYWxsYmFjayhhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfXN0YXJ0KCl7dGhpcy5wYXVzZWQ9ITE7aWYodGhpcy5qPT09MClzd2l0Y2godGhpcy5JPWJrKHRoaXMpLHRoaXMuSSl7Y2FzZSAxOnRoaXMuaj10aGlzLnJlcXVlc3RJZGxlQ2FsbGJhY2sodGhpcy5WZCk7YnJlYWs7Y2FzZSAyOnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLmd4LHRoaXMuZXkpO2JyZWFrO2Nhc2UgMzp0aGlzLmo9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLkZsKTticmVhaztjYXNlIDQ6dGhpcy5qPXdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuZmMsMCk7YnJlYWs7Y2FzZSA1OnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLnV3LHpzKX19cGF1c2UoKXt0aGlzLnN0b3AoKTt0aGlzLnBhdXNlZD0hMH1zdG9wKCl7aWYodGhpcy5qKXtzd2l0Y2godGhpcy5JKXtjYXNlIDE6dGhpcy5jYW5jZWxJZGxlQ2FsbGJhY2sodGhpcy5qKTsKYnJlYWs7Y2FzZSA1OmNhc2UgMjpjYXNlIDQ6d2luZG93LmNsZWFyVGltZW91dCh0aGlzLmopO2JyZWFrO2Nhc2UgMzp3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5qKX10aGlzLmo9MH19bGEoKXtjayh0aGlzKTt0aGlzLnN0b3AoKTsodGhpcy5afHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKTtzdXBlci5sYSgpfX07dmFyIG5rPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS50aW1lcklkTWFwXyIpfHx7fSx1az1fLnNqKCJrZXZsYXJfdHVuZXJfc2NoZWR1bGVyX3NvZnRfc3RhdGVfdGltZXJfbXMiLDgwMCksdGs9MCx3az0wO3ZhciBCaztCaz1jbGFzcyBleHRlbmRzIHlze0dhKGEsYixjKXtjIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGMpKSYmKGM9dm9pZCAwKTt2YXIgZD1fLnNhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIik7cmV0dXJuIGQ/ZChhLGIsYyk6Yz09PXZvaWQgMD8oYSgpLE5hTik6Xy5taihhLGN8fDApfUFhKGEpe2lmKGE9PT12b2lkIDB8fCFOdW1iZXIuaXNOYU4oTnVtYmVyKGEpKSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEpvYiIpO2I/YihhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfX1zdGFydCgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zdGFydCIpO2EmJmEoKX1wYXVzZSgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5wYXVzZSIpO2EmJmEoKX19O18uamY9Xy5DaygpOwpfLnNhKCJ5dC5zY2hlZHVsZXIuaW5pdGlhbGl6ZWQiKXx8KF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5kaXNwb3NlIixtayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEpvYiIsb2spLF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5hZGRJbW1lZGlhdGVKb2IiLHBrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIixxayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEFsbEpvYnMiLGxrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc3RhcnQiLHJrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UucGF1c2UiLHZrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc2V0UHJpb3JpdHlUaHJlc2hvbGQiLHhrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuZW5hYmxlUHJpb3JpdHlUaHJlc2hvbGQiLHprKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2xlYXJQcmlvcml0eVRocmVzaG9sZCIsQWspLF8ucmEoInl0LnNjaGVkdWxlci5pbml0aWFsaXplZCIsCiEwKSk7Xy5lbj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9KGE9Xy5HaChhKSk/bmV3IF8uemgoYSk6bnVsbDt0aGlzLnY9ZG9jdW1lbnQuZG9tYWlufHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9bygpe3JldHVybiEhdGhpcy5qfXNldChhLGIsYyxkKXtjPWN8fDMxMTA0RTM7dGhpcy5yZW1vdmUoYSk7aWYodGhpcy5vKCkpdHJ5e3RoaXMuai5zZXQoYSxiLERhdGUubm93KCkrYyoxRTMpO3JldHVybn1jYXRjaChmKXt9dmFyIGU9IiI7aWYoZCl0cnl7ZT1lc2NhcGUoYnMoYikpfWNhdGNoKGYpe3JldHVybn1lbHNlIGU9ZXNjYXBlKGIpO18uTWooYSxlLGMsdGhpcy52KX1nZXQoYSxiKXt2YXIgYz12b2lkIDAsZD0hdGhpcy5vKCk7aWYoIWQpdHJ5e2M9dGhpcy5qLmdldChhKX1jYXRjaChlKXtkPSEwfWlmKGQmJihjPV8uTGouZ2V0KGEsdm9pZCAwKSkmJihjPXVuZXNjYXBlKGMpLGIpKXRyeXtjPUpTT04ucGFyc2UoYyl9Y2F0Y2goZSl7dGhpcy5yZW1vdmUoYSksYz12b2lkIDB9cmV0dXJuIGN9cmVtb3ZlKGEpe3RoaXMubygpJiYKdGhpcy5qLnJlbW92ZShhKTtfLk5qKGEsIi8iLHRoaXMudil9fTt2YXIgRGs9KCgpPT57dmFyIGE7cmV0dXJuKCk9PnthfHwoYT1uZXcgXy5lbigieXRpZGIiKSk7cmV0dXJuIGF9fSkoKTt2YXIgRms7Xy5Iaz1bXTtGaz0hMTtfLklsPV8uaHJ8fF8uaXI7dmFyIEJzPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LENzPXtBVVRIX0lOVkFMSUQ6IkVSUk9SIixFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQjoiV0FSTklORyIsRVhQTElDSVRfQUJPUlQ6IklHTk9SRUQiLElEQl9OT1RfU1VQUE9SVEVEOiJFUlJPUiIsTUlTU0lOR19JTkRFWDoiV0FSTklORyIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJFUlJPUiIsCkRCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IldBUk5JTkciLFFVT1RBX0VYQ0VFREVEOiJXQVJOSU5HIixRVU9UQV9NQVlCRV9FWENFRURFRDoiV0FSTklORyIsVU5LTk9XTl9BQk9SVDoiV0FSTklORyIsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046IldBUk5JTkcifSxEcz17QVVUSF9JTlZBTElEOiExLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiExLEVYUExJQ0lUX0FCT1JUOiExLElEQl9OT1RfU1VQUE9SVEVEOiExLE1JU1NJTkdfSU5ERVg6ITEsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX1JFT1BFTkVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzohMSxRVU9UQV9FWENFRURFRDohMSxRVU9UQV9NQVlCRV9FWENFRURFRDohMCxVTktOT1dOX0FCT1JUOiEwLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiExfSwKTms9Y2xhc3MgZXh0ZW5kcyBfLlhqe2NvbnN0cnVjdG9yKGEsYj17fSxjPUJzW2FdLGQ9Q3NbYV0sZT1Ec1thXSl7c3VwZXIoYyx7bmFtZToiWXRJZGJLbm93bkVycm9yIixpc1N3OnNlbGYuZG9jdW1lbnQ9PT12b2lkIDAsaXNJZnJhbWU6c2VsZiE9PXNlbGYudG9wLHR5cGU6YSwuLi5ifSk7dGhpcy50eXBlPWE7dGhpcy5tZXNzYWdlPWM7dGhpcy5sZXZlbD1kO3RoaXMuaj1lO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLE5rLnByb3RvdHlwZSl9fSxFcz1jbGFzcyBleHRlbmRzIE5re2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOmIsZm91bmRPYmplY3RTdG9yZXM6YX0sQnMuTUlTU0lOR19PQkpFQ1RfU1RPUkVTKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxFcy5wcm90b3R5cGUpfX0sUGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5pbmRleD1hO3RoaXMub2JqZWN0U3RvcmU9CmI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUGsucHJvdG90eXBlKX19LFFrPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBhbDthbD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwpfLlZrPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuaj1bXTt0aGlzLm89W107YT1hLmo7dmFyIGI9ZD0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6ZH07Zm9yKGxldCBlIG9mIHRoaXMuaillKCl9fSxjPWQ9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIscmVhc29uOmR9O2ZvcihsZXQgZSBvZiB0aGlzLm8pZSgpfX07dHJ5e2EoYixjKX1jYXRjaChkKXtjKGQpfX1zdGF0aWMgYWxsKGEpe3JldHVybiBuZXcgXy5WayhuZXcgYWwoKGIsYyk9Pnt2YXIgZD1bXSxlPWEubGVuZ3RoO2U9PT0wJiZiKGQpO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7KytmKV8uVmsucmVzb2x2ZShhW2ZdKS50aGVuKGg9PntkW2ZdPWg7ZS0tO2U9PT0wJiZiKGQpfSkuY2F0Y2goaD0+e2MoaCl9KX0pKX1zdGF0aWMgcmVzb2x2ZShhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLApjKT0+e2EgaW5zdGFuY2VvZiBfLlZrP2EudGhlbihiLGMpOmIoYSl9KSl9c3RhdGljIHJlamVjdChhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLGMpPT57YyhhKX0pKX10aGVuKGEsYil7dmFyIGM9YT8/VWssZD1iPz9UaztyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChlLGYpPT57dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUEVORElORyI/KHRoaXMuai5wdXNoKCgpPT57WGsodGhpcyx0aGlzLGMsZSxmKX0pLHRoaXMuby5wdXNoKCgpPT57WWsodGhpcyx0aGlzLGQsZSxmKX0pKTp0aGlzLnN0YXRlLnN0YXR1cz09PSJGVUxGSUxMRUQiP1hrKHRoaXMsdGhpcyxjLGUsZik6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUkVKRUNURUQiJiZZayh0aGlzLHRoaXMsZCxlLGYpfSkpfWNhdGNoKGEpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGEpfX07dmFyIHhsPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vcHRpb25zPWI7dGhpcy50cmFuc2FjdGlvbkNvdW50PTA7dGhpcy52PU1hdGgucm91bmQoKDAsXy5lbCkoKSk7dGhpcy5vPSExfWFkZChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9PmQub2JqZWN0U3RvcmUoYSkuYWRkKGIsYykpfWNsZWFyKGEpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxiPT5iLm9iamVjdFN0b3JlKGEpLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5qLmNsb3NlKCk7dGhpcy5vcHRpb25zPy5jbG9zZWQmJnRoaXMub3B0aW9ucy5jbG9zZWQoKX1jb3VudChhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkb25seSIsa2I6ITAsY29tbWl0OmRsKCl9LGM9PmMub2JqZWN0U3RvcmUoYSkuY291bnQoYikpfWRlbGV0ZShhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLAprYjohMCxjb21taXQ6ZGwoKSYmIShiIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxjPT5jLm9iamVjdFN0b3JlKGEpLmRlbGV0ZShiKSl9Z2V0KGEsYil7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMCxjb21taXQ6ZGwoKX0sYz0+Yy5vYmplY3RTdG9yZShhKS5nZXQoYikpfWdldEFsbChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMH0sZD0+ZC5vYmplY3RTdG9yZShhKS5nZXRBbGwoYixjKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuai5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuai5uYW1lfX0samw9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YWRkKGEsYil7cmV0dXJuIGJsKHRoaXMuai5hZGQoYSxiKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLmouYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBibCh0aGlzLmouY2xlYXIoKSkudGhlbigoKT0+Cnt9KX1jb3VudChhKXtyZXR1cm4gYmwodGhpcy5qLmNvdW50KGEpKX1kZWxldGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBJREJLZXlSYW5nZT9zbCh0aGlzLGEpOmJsKHRoaXMuai5kZWxldGUoYSkpfWdldChhKXtyZXR1cm4gYmwodGhpcy5qLmdldChhKSl9Z2V0QWxsKGEsYil7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/YmwodGhpcy5qLmdldEFsbChhLGIpKTp0bCh0aGlzLGEsYil9aW5kZXgoYSl7dHJ5e3JldHVybiBuZXcgRnModGhpcy5qLmluZGV4KGEpKX1jYXRjaChiKXtpZihiIGluc3RhbmNlb2YgRXJyb3ImJmIubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgUGsoYSx0aGlzLmoubmFtZSk7dGhyb3cgYjt9fWdldE5hbWUoKXtyZXR1cm4gdGhpcy5qLm5hbWV9a2V5UGF0aCgpe3JldHVybiB0aGlzLmoua2V5UGF0aH19LGZsPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubz1uZXcgTWFwO3RoaXMuYWJvcnRlZD0hMTsKdGhpcy5kb25lPW5ldyBQcm9taXNlKChiLGMpPT57dGhpcy5qLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e2IoKX0pO3RoaXMuai5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZD0+e2QuY3VycmVudFRhcmdldD09PWQudGFyZ2V0JiZjKHRoaXMuai5lcnJvcil9KTt0aGlzLmouYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGQ9dGhpcy5qLmVycm9yO2lmKGQpYyhkKTtlbHNlIGlmKCF0aGlzLmFib3J0ZWQpe2Q9Tms7dmFyIGU9dGhpcy5qLm9iamVjdFN0b3JlTmFtZXM7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDtoKyspe2xldCBrPWUuaXRlbShoKTtpZihrPT09bnVsbCl0aHJvdyBFcnJvcigibWEiKTtmLnB1c2goayl9ZD1uZXcgZCgiVU5LTk9XTl9BQk9SVCIse29iamVjdFN0b3JlTmFtZXM6Zi5qb2luKCksZGJOYW1lOnRoaXMuai5kYi5uYW1lLG1vZGU6dGhpcy5qLm1vZGV9KTtjKGQpfX0pfSl9YWJvcnQoKXt0aGlzLmouYWJvcnQoKTt0aGlzLmFib3J0ZWQ9CiEwO3Rocm93IG5ldyBOaygiRVhQTElDSVRfQUJPUlQiKTt9Y29tbWl0KCl7dGhpcy5hYm9ydGVkfHx0aGlzLmouY29tbWl0Py4oKX1vYmplY3RTdG9yZShhKXthPXRoaXMuai5vYmplY3RTdG9yZShhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2J8fChiPW5ldyBqbChhKSx0aGlzLm8uc2V0KGEsYikpO3JldHVybiBifX0sRnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Y291bnQoYSl7cmV0dXJuIGJsKHRoaXMuai5jb3VudChhKSl9ZGVsZXRlKGEpe3JldHVybiB1bCh0aGlzLHtxdWVyeTphfSxiPT5iLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGIpKSl9Z2V0KGEpe3JldHVybiBibCh0aGlzLmouZ2V0KGEpKX1nZXRBbGwoYSxiKXtyZXR1cm4iZ2V0QWxsImluIElEQkluZGV4LnByb3RvdHlwZT9ibCh0aGlzLmouZ2V0QWxsKGEsYikpOnZsKHRoaXMsYSxiKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuai5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLmoudW5pcXVlfX0sd2w9Y2xhc3N7Y29uc3RydWN0b3IoYSwKYil7dGhpcy5yZXF1ZXN0PWE7dGhpcy5jdXJzb3I9Yn1kZWxldGUoKXtyZXR1cm4gYmwodGhpcy5jdXJzb3IuZGVsZXRlKCkpLnRoZW4oKCk9Pnt9KX11cGRhdGUoYSl7cmV0dXJuIGJsKHRoaXMuY3Vyc29yLnVwZGF0ZShhKSl9fTt2YXIgR3M9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm5hbWU9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLnY9ITA7dGhpcy5EPXRoaXMuQj0wfW8oYSxiLGM9e30pe3JldHVybiB6bChhLGIsYyl9ZGVsZXRlKGE9e30pe3JldHVybiBfLkFsKHRoaXMubmFtZSxhKX1vcGVuKCl7aWYoIXRoaXMudil0aHJvdyBCbCh0aGlzKTtpZih0aGlzLmopcmV0dXJuIHRoaXMuajt2YXIgYSxiPSgpPT57dGhpcy5qPT09YSYmKHRoaXMuaj12b2lkIDApfSxjPXtibG9ja2luZzplPT57ZS5jbG9zZSgpfSxjbG9zZWQ6YixUQTpiLHVwZ3JhZGU6dGhpcy5vcHRpb25zLnVwZ3JhZGV9LGQ9YXN5bmMoKT0+e3ZhciBlPUVycm9yKCkuc3RhY2s/PyIiO3RyeXtsZXQgaz1hd2FpdCB0aGlzLm8odGhpcy5uYW1lLHRoaXMub3B0aW9ucy52ZXJzaW9uLGMpO3ZhciBmPWssaD10aGlzLm9wdGlvbnM7bGV0IGw9W107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGguc2UpKXtsZXQge1BkOm4seks6cD1OdW1iZXIuTUFYX1ZBTFVFfT0KaC5zZVttXTshKGYuai52ZXJzaW9uPj1uKXx8Zi5qLnZlcnNpb24+PXB8fGYuai5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKG0pfHxsLnB1c2gobSl9aWYobC5sZW5ndGghPT0wKXtsZXQgbT1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMuc2UpLG49ay5vYmplY3RTdG9yZU5hbWVzKCk7aWYodGhpcy5EPF8uc2ooInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIiwwKSlyZXR1cm4gdGhpcy5EKyssay5jbG9zZSgpLF8uSWsobmV3IE5rKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sZm91bmRPYmplY3RTdG9yZXM6bn0pKSxkKCk7aWYodGhpcy5CPF8uc2ooInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIiwxKSlyZXR1cm4gdGhpcy5CKyssYXdhaXQgdGhpcy5kZWxldGUoKSxfLklrKG5ldyBOaygiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sCmZvdW5kT2JqZWN0U3RvcmVzOm59KSksZCgpO3Rocm93IG5ldyBFcyhuLG0pO31yZXR1cm4ga31jYXRjaChrKXtpZihrIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP2submFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZrIGluc3RhbmNlb2YgRE9NRXJyb3I/ay5uYW1lPT09IlZlcnNpb25FcnJvciI6ayBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4gayYmay5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe2U9YXdhaXQgdGhpcy5vKHRoaXMubmFtZSx2b2lkIDAsey4uLmMsdXBncmFkZTp2b2lkIDB9KTtmPWUuai52ZXJzaW9uO2lmKHRoaXMub3B0aW9ucy52ZXJzaW9uIT09dm9pZCAwJiZmPnRoaXMub3B0aW9ucy52ZXJzaW9uKzEpdGhyb3cgZS5jbG9zZSgpLHRoaXMudj0hMSxCbCh0aGlzLGYpO3JldHVybiBlfWIoKTtrIGluc3RhbmNlb2YKRXJyb3ImJiFfLngoInl0aWRiX2FzeW5jX3N0YWNrX2tpbGxzd2l0Y2giKSYmKGsuc3RhY2s9YCR7ay5zdGFja31cbiR7ZS5zdWJzdHJpbmcoZS5pbmRleE9mKCJcbiIpKzEpfWApO3Rocm93IFJrKGssdGhpcy5uYW1lLCIiLHRoaXMub3B0aW9ucy52ZXJzaW9uPz8tMSk7fX07cmV0dXJuIHRoaXMuaj1hPWQoKX19O3ZhciBEbD1uZXcgR3MoIll0SWRiTWV0YSIse3NlOntkYXRhYmFzZXM6e1BkOjF9fSx1cGdyYWRlKGEsYil7YigxKSYmXy5rbChhLCJkYXRhYmFzZXMiLHtrZXlQYXRoOiJhY3R1YWxOYW1lIn0pfX0pO3ZhciBNbCxLbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fShuZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fSk7bmV3IF8uY3M7dmFyIFlsPWNsYXNzIGV4dGVuZHMgR3N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLGIpO3RoaXMub3B0aW9ucz1iO0trKGEpfW8oYSxiLGM9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP1RsOlNsKShhLGIsey4uLmN9KX1kZWxldGUoYT17fSl7cmV0dXJuKHRoaXMub3B0aW9ucy5zaGFyZWQ/WGw6VWwpKHRoaXMubmFtZSxhKX19O3ZhciBhbT1fLiRsKCJ5dEdjZkNvbmZpZyIse3NlOntjb2xkQ29uZmlnU3RvcmU6e1BkOjF9LGhvdENvbmZpZ1N0b3JlOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiYoXy5vbChfLmtsKGEsImhvdENvbmZpZ1N0b3JlIix7a2V5UGF0aDoia2V5IixhdXRvSW5jcmVtZW50OiEwfSksImhvdFRpbWVzdGFtcEluZGV4IiwidGltZXN0YW1wIiksXy5vbChfLmtsKGEsImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBIcz1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLmo9W107dmFyIGE9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RVcGRhdGVDYWxsYmFja3MiKTthPyh0aGlzLm89Wy4uLmFdLHRoaXMuaj1hKToodGhpcy5qPVtdLF8ucmEoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIix0aGlzLmopKX1sYSgpe2ZvcihsZXQgYiBvZiB0aGlzLm8pe3ZhciBhPXRoaXMuajtsZXQgYz1hLmluZGV4T2YoYik7Yz49MCYmYS5zcGxpY2UoYywxKX10aGlzLm8ubGVuZ3RoPTA7c3VwZXIubGEoKX19O3ZhciBpbT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj0wO3RoaXMubz1uZXcgSHN9d2ooKXtyZXR1cm4gXy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpPz9fLncoIlJBV19IT1RfQ09ORklHX0dST1VQIil9QihhKXt0aGlzLmhvdEhhc2hEYXRhPWE7Xy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIsdGhpcy5ob3RIYXNoRGF0YXx8bnVsbCl9fTt2YXIgSXM7SXM9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOm51bGw7Xy55bT1Jcz9hPT5Jcy5lbmNvZGUoYSk6YT0+e2E9Xy5hYyhhKTt2YXIgYj1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDtjKyspYltjXT1hW2NdO3JldHVybiBifTtfLnBtLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtfLnFtLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvcGljfTt2YXIgSnM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIil8fG5ldyBfLnRoO18udGgucHJvdG90eXBlLnN1YnNjcmliZT1fLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU7Xy50aC5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1fLnRoLnByb3RvdHlwZS5jaTtfLnRoLnByb3RvdHlwZS5wdWJsaXNoPV8udGgucHJvdG90eXBlLnB1Ymxpc2g7Xy50aC5wcm90b3R5cGUuY2xlYXI9Xy50aC5wcm90b3R5cGUuY2xlYXI7Xy5yYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixKcyk7Xy5Lcz1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Xy5yYSgieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixfLktzKTtfLkxzPV8uc2EoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLF8uTHMpO18uTXM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307Cl8ucmEoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixfLk1zKTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIsbnVsbCk7dmFyIHptO18ud209Xy5zaigibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KTtfLnhtPV8uc2ooIm1pbl9ib2R5X3NpemVfdG9fY29tcHJlc3MiLDUwMCk7em09MDt2YXIgTnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy54aT10aGlzLk9jPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuaj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9O3RoaXMuVGY9KCk9Pnt9O3RoaXMubm93PURhdGUubm93O3RoaXMuYWg9ITE7dGhpcy5ncz1hLmdzPz8xMDA7dGhpcy5Ncj1hLk1yPz8xO3RoaXMuS3I9YS5Lcj8/MjU5MkU2O3RoaXMuQ3I9YS5Dcj8/MTJFNDt0aGlzLkxyPWEuTHI/PzVFMzt0aGlzLkphPWEuSmE/P3ZvaWQgMDt0aGlzLk9pPSEhYS5PaTt0aGlzLkRpPWEuRGk/Py4xO3RoaXMuS2o9YS5Laj8/MTA7YS5oYW5kbGVFcnJvciYmKHRoaXMuaGFuZGxlRXJyb3I9YS5oYW5kbGVFcnJvcik7YS5UZiYmKHRoaXMuVGY9YS5UZik7YS5haCYmKHRoaXMuYWg9YS5haCk7YS54aSYmKHRoaXMueGk9YS54aSk7dGhpcy5LYT1hLkthO3RoaXMuRGM9YS5EYzt0aGlzLmNiPWEuY2I7dGhpcy5TYT1hLlNhO3RoaXMuR2Q9YS5HZDt0aGlzLkttPWEuS207CnRoaXMuRm09YS5GbTtCbSh0aGlzKSYmKCF0aGlzLkthfHx0aGlzLkthKCJuZXR3b3JrbGVzc19sb2dnaW5nIikpJiZEbSh0aGlzKX13cml0ZVRoZW5TZW5kKGEsYj17fSl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBjPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLmNiLnNldChjLHRoaXMuSmEpLnRoZW4oZD0+e2MuaWQ9ZDt0aGlzLlNhLlNiKCkmJkdtKHRoaXMsYyl9KS5jYXRjaChkPT57R20odGhpcyxjKTtIbSh0aGlzLGQpfSl9ZWxzZSB0aGlzLkdkKGEsYil9c2VuZFRoZW5Xcml0ZShhLGI9e30sYyl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBkPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiYoZC5za2lwUmV0cnk9Yyk7aWYodGhpcy5TYS5TYigpfHx0aGlzLkthJiYKdGhpcy5LYSgibndsX2FnZ3Jlc3NpdmVfc2VuZF90aGVuX3dyaXRlIikmJiFkLnNraXBSZXRyeSl7aWYoIWQuc2tpcFJldHJ5KXtsZXQgZT1iLm9uRXJyb3I/Yi5vbkVycm9yOigpPT57fTtiLm9uRXJyb3I9YXN5bmMoZixoKT0+e2F3YWl0IHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goaz0+e0htKHRoaXMsayl9KTtlKGYsaCl9fXRoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KX1lbHNlIHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goZT0+e3RoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KTtIbSh0aGlzLGUpfSl9ZWxzZSB0aGlzLkdkKGEsYix0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiZjKX1zZW5kQW5kV3JpdGUoYSxiPXt9KXtpZihCbSh0aGlzKSYmdGhpcy5PYyl7bGV0IGM9e3VybDphLG9wdGlvbnM6Yix0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9LGQ9ITEsZT1iLm9uU3VjY2Vzcz9iLm9uU3VjY2VzczooKT0+e307Yy5vcHRpb25zLm9uU3VjY2Vzcz0KKGYsaCk9PntjLmlkIT09dm9pZCAwP3RoaXMuY2IuRmYoYy5pZCx0aGlzLkphKTpkPSEwO3RoaXMuU2EuZWYmJnRoaXMuS2EmJnRoaXMuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmdGhpcy5TYS5lZighMCk7ZShmLGgpfTt0aGlzLkdkKGMudXJsLGMub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuY2Iuc2V0KGMsdGhpcy5KYSkudGhlbihmPT57Yy5pZD1mO2QmJnRoaXMuY2IuRmYoYy5pZCx0aGlzLkphKX0pLmNhdGNoKGY9PntIbSh0aGlzLGYpfSl9ZWxzZSB0aGlzLkdkKGEsYix2b2lkIDAsITApfW8oKXtpZighQm0odGhpcykpdGhyb3cgRXJyb3IoInJhIik7dGhpcy5qfHwodGhpcy5qPXRoaXMuRGMucGIoYXN5bmMoKT0+e3ZhciBhPWF3YWl0IHRoaXMuY2IuV3AoIk5FVyIsdGhpcy5KYSk7YT8oYXdhaXQgR20odGhpcyxhKSx0aGlzLmomJih0aGlzLmo9MCx0aGlzLm8oKSkpOnRoaXMudigpfSx0aGlzLmdzKSl9digpe3RoaXMuRGMuQWEodGhpcy5qKTt0aGlzLmo9MH19O3ZhciBLbTt2YXIgVW89e2FjY291bnRTdGF0ZUNoYW5nZVNpZ25lZEluOjIzLGFjY291bnRTdGF0ZUNoYW5nZVNpZ25lZE91dDoyNCxkZWxheWVkRXZlbnRNZXRyaWNDYXB0dXJlZDoxMSxsYXRlbmN5QWN0aW9uQmFzZWxpbmVkOjYsbGF0ZW5jeUFjdGlvbkluZm86NyxsYXRlbmN5QWN0aW9uVGlja2VkOjUsb2ZmbGluZVRyYW5zZmVyU3RhdHVzQ2hhbmdlZDoyLG9mZmxpbmVJbWFnZURvd25sb2FkOjMzNSxwbGF5YmFja1N0YXJ0U3RhdGVDaGFuZ2VkOjksc3lzdGVtSGVhbHRoQ2FwdHVyZWQ6MyxtYW5nb09uYm9hcmRpbmdDb21wbGV0ZWQ6MTAsbWFuZ29QdXNoTm90aWZpY2F0aW9uUmVjZWl2ZWQ6MjMwLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25FcnJvcjoxMjEsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN1bW1hcnk6MTIyLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QcmV1bmZvcmtEYlZlcnNpb25OdW1iZXI6MTMzLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QaG9uZU1ldGFkYXRhOjEzNCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVTdG9yYWdlOjEzNSwKbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN0ZXA6MTQyLG1hbmdvQXN5bmNBcGlNaWdyYXRpb25FdmVudDoyMjMsbWFuZ29Eb3dubG9hZFZpZGVvUmVzdWx0OjIyNCxtYW5nb0hvbWVwYWdlVmlkZW9Db3VudDoyNzksbWFuZ29Ib21lVjNTdGF0ZToyOTUsbWFuZ29JbWFnZUNsaWVudENhY2hlSGl0RXZlbnQ6MjczLHNkQ2FyZFN0YXR1c0NoYW5nZWQ6OTgsZnJhbWVzRHJvcHBlZDoxMix0aHVtYm5haWxIb3ZlcmVkOjEzLGRldmljZVJldGVudGlvbkluZm9DYXB0dXJlZDoxNCx0aHVtYm5haWxMb2FkZWQ6MTUsYmFja1RvQXBwRXZlbnQ6MzE4LHN0cmVhbWluZ1N0YXRzQ2FwdHVyZWQ6MTcsb2ZmbGluZVZpZGVvU2hhcmVkOjE5LGFwcENyYXNoZWQ6MjAseW91VGhlcmU6MjEsb2ZmbGluZVN0YXRlU25hcHNob3Q6MjIsbWR4U2Vzc2lvblN0YXJ0ZWQ6MjUsbWR4U2Vzc2lvbkNvbm5lY3RlZDoyNixtZHhTZXNzaW9uRGlzY29ubmVjdGVkOjI3LGJlZHJvY2tSZXNvdXJjZUNvbnN1bXB0aW9uU25hcHNob3Q6MjgsCm5leHRHZW5XYXRjaFdhdGNoU3dpcGVkOjI5LGtpZHNBY2NvdW50c1NuYXBzaG90OjMwLHplcm9TdGVwQ2hhbm5lbENyZWF0ZWQ6MzEsdHZodG1sNVNlYXJjaENvbXBsZXRlZDozMixvZmZsaW5lU2hhcmVQYWlyaW5nOjM0LG9mZmxpbmVTaGFyZVVubG9jazozNSxtZHhSb3V0ZURpc3RyaWJ1dGlvblNuYXBzaG90OjM2LGJlZHJvY2tSZXBldGl0aXZlQWN0aW9uVGltZWQ6MzcsdW5wbHVnZ2VkRGVncmFkYXRpb25JbmZvOjIyOSx1cGxvYWRNcDRIZWFkZXJNb3ZlZDozOCx1cGxvYWRWaWRlb1RyYW5zY29kZWQ6MzksdXBsb2FkUHJvY2Vzc29yU3RhcnRlZDo0Nix1cGxvYWRQcm9jZXNzb3JFbmRlZDo0Nyx1cGxvYWRQcm9jZXNzb3JSZWFkeTo5NCx1cGxvYWRQcm9jZXNzb3JSZXF1aXJlbWVudFBlbmRpbmc6OTUsdXBsb2FkUHJvY2Vzc29ySW50ZXJydXB0ZWQ6OTYsdXBsb2FkRnJvbnRlbmRFdmVudDoyNDEsYXNzZXRQYWNrRG93bmxvYWRTdGFydGVkOjQxLGFzc2V0UGFja0Rvd25sb2FkZWQ6NDIsCmFzc2V0UGFja0FwcGxpZWQ6NDMsYXNzZXRQYWNrRGVsZXRlZDo0NCxhcHBJbnN0YWxsQXR0cmlidXRpb25FdmVudDo0NTkscGxheWJhY2tTZXNzaW9uU3RvcHBlZDo0NSxhZEJsb2NrZXJNZXNzYWdpbmdTaG93bjo0OCxkaXN0cmlidXRpb25DaGFubmVsQ2FwdHVyZWQ6NDksZGF0YVBsYW5DcGlkUmVxdWVzdGVkOjUxLGRldGFpbGVkTmV0d29ya1R5cGVDYXB0dXJlZDo1MixzZW5kU3RhdGVVcGRhdGVkOjUzLHJlY2VpdmVTdGF0ZVVwZGF0ZWQ6NTQsc2VuZERlYnVnU3RhdGVVcGRhdGVkOjU1LHJlY2VpdmVEZWJ1Z1N0YXRlVXBkYXRlZDo1NixraWRzRXJyb3JlZDo1NyxtZHhNc25TZXNzaW9uU3RhdHNGaW5pc2hlZDo1OCxhcHBTZXR0aW5nc0NhcHR1cmVkOjU5LG1keFdlYlNvY2tldFNlcnZlckh0dHBFcnJvcjo2MCxtZHhXZWJTb2NrZXRTZXJ2ZXI6NjEsc3RhcnR1cENyYXNoZXNEZXRlY3RlZDo2Mixjb2xkU3RhcnRJbmZvOjQzNSxvZmZsaW5lUGxheWJhY2tTdGFydGVkOjYzLGxpdmVDaGF0TWVzc2FnZVNlbnQ6MjI1LApsaXZlQ2hhdFVzZXJQcmVzZW50OjQzNCxsaXZlQ2hhdEJlaW5nTW9kZXJhdGVkOjQ1NyxsaXZlQ2hhdEdpZnRCdXR0b25JbXByZXNzZWQ6NTU4LGxpdmVDcmVhdGlvbkNhbWVyYVVwZGF0ZWQ6NjQsbGl2ZUNyZWF0aW9uRW5jb2RpbmdDYXB0dXJlZDo2NSxsaXZlQ3JlYXRpb25FcnJvcjo2NixsaXZlQ3JlYXRpb25IZWFsdGhVcGRhdGVkOjY3LGxpdmVDcmVhdGlvblZpZGVvRWZmZWN0c0NhcHR1cmVkOjY4LGxpdmVDcmVhdGlvblN0YWdlT2NjdXJlZDo3NSxvZmZsaW5lU3lzdGVtRmFpbHVyZTo1NDYsbGl2ZUNyZWF0aW9uQnJvYWRjYXN0U2NoZWR1bGVkOjEyMyxsaXZlQ3JlYXRpb25BcmNoaXZlUmVwbGFjZW1lbnQ6MTQ5LGxpdmVDcmVhdGlvbkNvc3RyZWFtaW5nQ29ubmVjdGlvbjo0MjEsbGl2ZUNyZWF0aW9uUGxheWFibGVzTWV0cmljczo1MzMsbGl2ZUNyZWF0aW9uU3RyZWFtV2VicnRjU3RhdHM6Mjg4LGxpdmVDcmVhdGlvbldlYnJ0Y0Vycm9yOjUyNixtZHhTZXNzaW9uUmVjb3ZlcnlTdGFydGVkOjY5LAptZHhTZXNzaW9uUmVjb3ZlcnlDb21wbGV0ZWQ6NzAsbWR4U2Vzc2lvblJlY292ZXJ5U3RvcHBlZDo3MSx2aXN1YWxFbGVtZW50U2hvd246NzIsdmlzdWFsRWxlbWVudEhpZGRlbjo3Myx2aXN1YWxFbGVtZW50R2VzdHVyZWQ6NzgsdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZDoyMDgsc2NyZWVuQ3JlYXRlZDoxNTYscGxheWJhY2tBc3NvY2lhdGVkOjIwMix2aXN1YWxFbGVtZW50QXR0YWNoZWQ6MjE1LHBsYXliYWNrQ29udGV4dEV2ZW50OjIxNCxjbG91ZENhc3RpbmdQbGF5YmFja1N0YXJ0ZWQ6NzQsd2ViUGxheWVyQXBpQ2FsbGVkOjc2LHR2aHRtbDVBY2NvdW50RGlhbG9nT3BlbmVkOjc5LGZvcmVncm91bmRIZWFydGJlYXQ6ODAsZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQ6MTExLGtpZHNPZmZsaW5lU25hcHNob3Q6ODEsbWR4RW5jcnlwdGlvblNlc3Npb25TdGF0c0ZpbmlzaGVkOjgyLHBsYXllclJlcXVlc3RDb21wbGV0ZWQ6ODMsbGl0ZVNjaGVkdWxlclN0YXRpc3RpY3M6ODQsCm1keFNpZ25Jbjo4NSxzcGFjZWNhc3RNZXRhZGF0YUxvb2t1cFJlcXVlc3RlZDo4NixzcGFjZWNhc3RCYXRjaExvb2t1cFJlcXVlc3RlZDo4NyxzcGFjZWNhc3RTdW1tYXJ5UmVxdWVzdGVkOjg4LHNwYWNlY2FzdFBsYXliYWNrOjg5LHNwYWNlY2FzdERpc2NvdmVyeTo5MCx0dmh0bWw1TGF1bmNoVXJsQ29tcG9uZW50Q2hhbmdlZDo5MSxtZHhCYWNrZ3JvdW5kUGxheWJhY2tSZXF1ZXN0Q29tcGxldGVkOjkyLG1keEJyb2tlbkFkZGl0aW9uYWxEYXRhRGV2aWNlRGV0ZWN0ZWQ6OTMsdHZodG1sNUxvY2FsU3RvcmFnZTo5Nyx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXR1czoxNDcsYXV0b0NhcHRpb25zQXZhaWxhYmxlOjk5LHBsYXliYWNrU2NydWJiaW5nRXZlbnQ6MzM5LGZsZXh5U3RhdGU6MTAwLGludGVyZmFjZU9yaWVudGF0aW9uQ2FwdHVyZWQ6MTAxLG1haW5BcHBCcm93c2VGcmFnbWVudENhY2hlOjEwMixvZmZsaW5lQ2FjaGVWZXJpZmljYXRpb25GYWlsdXJlOjEwMyxvZmZsaW5lUGxheWJhY2tFeGNlcHRpb25EaWdlc3Q6MjE3LAp2ckNvcHJlc2VuY2VTdGF0czoxMDQsdnJDb3ByZXNlbmNlU3luY1N0YXRzOjEzMCx2ckNvcHJlc2VuY2VDb21tc1N0YXRzOjEzNyx2ckNvcHJlc2VuY2VQYXJ0eVN0YXRzOjE1Myx2ckNvcHJlc2VuY2VFbW9qaVN0YXRzOjIxMyx2ckNvcHJlc2VuY2VFdmVudDoxNDEsdnJDb3ByZXNlbmNlRmxvd1RyYW5zaXRFdmVudDoxNjAsdnJDb3dhdGNoUGFydHlFdmVudDo0OTIsdnJDb3dhdGNoVXNlclN0YXJ0T3JKb2luRXZlbnQ6NTA0LHZyUGxheWJhY2tFdmVudDozNDUsa2lkc0FnZUdhdGVUcmFja2luZzoxMDUsb2ZmbGluZURlbGF5QWxsb3dlZFRyYWNraW5nOjEwNixtYWluQXBwQXV0b09mZmxpbmVTdGF0ZToxMDcsdmlkZW9Bc1RodW1ibmFpbERvd25sb2FkOjEwOCx2aWRlb0FzVGh1bWJuYWlsUGxheWJhY2s6MTA5LGxpdGVTaG93TW9yZToxMTAscmVuZGVyaW5nRXJyb3I6MTE4LGtpZHNQcm9maWxlUGluR2F0ZVRyYWNraW5nOjExOSxhYnJUcmFqZWN0b3J5OjEyNCxzY3JvbGxFdmVudDoxMjUsCnN0cmVhbXpJbmNyZW1lbnRlZDoxMjYsa2lkc1Byb2ZpbGVTd2l0Y2hlclRyYWNraW5nOjEyNyxraWRzUHJvZmlsZUNyZWF0aW9uVHJhY2tpbmc6MTI5LGJ1eUZsb3dTdGFydGVkOjEzNixpbnRlZ3JhdGlvbkF0dHJpYnV0aW9uRXZlbnQ6NTU2LG1ic0Nvbm5lY3Rpb25Jbml0aWF0ZWQ6MTM4LG1ic1BsYXliYWNrSW5pdGlhdGVkOjEzOSxtYnNMb2FkQ2hpbGRyZW46MTQwLGxpdGVQcm9maWxlRmV0Y2hlcjoxNDQsbWR4UmVtb3RlVHJhbnNhY3Rpb246MTQ2LHJlZWxQbGF5YmFja0Vycm9yOjE0OCxyZWFjaGFiaWxpdHlEZXRlY3Rpb25FdmVudDoxNTAsbW9iaWxlUGxheWJhY2tFdmVudDoxNTEsY291cnRzaWRlUGxheWVyU3RhdGVDaGFuZ2VkOjE1MixtdXNpY1BlcnNpc3RlbnRDYWNoZUNoZWNrZWQ6MTU0LG11c2ljUGVyc2lzdGVudENhY2hlQ2xlYXJlZDoxNTUscGxheWJhY2tJbnRlcnJ1cHRlZDoxNTcscGxheWJhY2tJbnRlcnJ1cHRpb25SZXNvbHZlZDoxNTgsZml4Rm9wRmxvdzoxNTksCmFuckRldGVjdGlvbjoxNjEsYmFja3N0YWdlUG9zdENyZWF0aW9uRmxvd0VuZGVkOjE2MixjbGllbnRFcnJvcjoxNjMsZ2FtaW5nQWNjb3VudExpbmtTdGF0dXNDaGFuZ2VkOjE2NCxsaXRlSG91c2V3YXJtaW5nOjE2NSxidXlGbG93RXZlbnQ6MTY3LGtpZHNQYXJlbnRhbEdhdGVUcmFja2luZzoxNjgsa2lkc1NpZ25lZE91dFNldHRpbmdzU3RhdHVzOjQzNyxraWRzU2lnbmVkT3V0UGF1c2VIaXN0b3J5Rml4U3RhdHVzOjQzOCx0dmh0bWw1V2F0Y2hkb2dWaW9sYXRpb246NDQ0LHlwY1VwZ3JhZGVGbG93OjE2OSx5b25nbGVTdHVkeToxNzAseXBjVXBkYXRlRmxvd1N0YXJ0ZWQ6MTcxLHlwY1VwZGF0ZUZsb3dDYW5jZWxsZWQ6MTcyLHlwY1VwZGF0ZUZsb3dTdWNjZWVkZWQ6MTczLHlwY1VwZGF0ZUZsb3dGYWlsZWQ6MTc0LGxpdGVHcm93dGhraXRQcm9tbzoxNzUscGF5bWVudEZsb3dTdGFydGVkOjM0MSx0cmFuc2FjdGlvbkZsb3dTaG93UGF5bWVudERpYWxvZzo0MDUsdHJhbnNhY3Rpb25GbG93U3RhcnRlZDoxNzYsCnRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVN0YXJ0ZWQ6MjIyLHRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVNpZ25lZE91dFN0YXJ0ZWQ6MzgzLHRyYW5zYWN0aW9uRmxvd0NhbmNlbGxlZDoxNzcsdHJhbnNhY3Rpb25GbG93UGF5bWVudENhbGxCYWNrUmVjZWl2ZWQ6Mzg3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWJtaXR0ZWQ6NDYwLHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWNjZWVkZWQ6MzI5LHRyYW5zYWN0aW9uRmxvd1N1Y2NlZWRlZDoxNzgsdHJhbnNhY3Rpb25GbG93RmFpbGVkOjE3OSx0cmFuc2FjdGlvbkZsb3dQbGF5QmlsbGluZ0Nvbm5lY3Rpb25TdGFydEV2ZW50OjQyOCx0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdWNjZXNzOjQ1OCx0cmFuc2FjdGlvbkZsb3dFcnJvckV2ZW50OjQxMSxsaXRlVmlkZW9RdWFsaXR5Q2hhbmdlZDoxODAsd2F0Y2hCcmVha0VuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MTgxLHdhdGNoQnJlYWtGcmVxdWVuY3lTZXR0aW5nRXZlbnQ6MTgyLAp2aWRlb0VmZmVjdHNDYW1lcmFQZXJmb3JtYW5jZU1ldHJpY3M6MTgzLGFkTm90aWZ5OjE4NCxzdGFydHVwVGVsZW1ldHJ5OjE4NSxwbGF5YmFja09mZmxpbmVGYWxsYmFja1VzZWQ6MTg2LG91dE9mTWVtb3J5OjE4Nyx5cGNQYXVzZUZsb3dTdGFydGVkOjE4OCx5cGNQYXVzZUZsb3dDYW5jZWxsZWQ6MTg5LHlwY1BhdXNlRmxvd1N1Y2NlZWRlZDoxOTAseXBjUGF1c2VGbG93RmFpbGVkOjE5MSx1cGxvYWRGaWxlU2VsZWN0ZWQ6MTkyLHlwY1Jlc3VtZUZsb3dTdGFydGVkOjE5Myx5cGNSZXN1bWVGbG93Q2FuY2VsbGVkOjE5NCx5cGNSZXN1bWVGbG93U3VjY2VlZGVkOjE5NSx5cGNSZXN1bWVGbG93RmFpbGVkOjE5NixhZHNDbGllbnRTdGF0ZUNoYW5nZToxOTcseXBjQ2FuY2VsRmxvd1N0YXJ0ZWQ6MTk4LHlwY0NhbmNlbEZsb3dDYW5jZWxsZWQ6MTk5LHlwY0NhbmNlbEZsb3dTdWNjZWVkZWQ6MjAwLHlwY0NhbmNlbEZsb3dGYWlsZWQ6MjAxLHlwY0NhbmNlbEZsb3dHb1RvUGF5bWVudFByb2Nlc3Nvcjo0MDIsCnlwY0RlYWN0aXZhdGVGbG93U3RhcnRlZDozMjAseXBjUmVkZWVtRmxvd1N0YXJ0ZWQ6MjAzLHlwY1JlZGVlbUZsb3dDYW5jZWxsZWQ6MjA0LHlwY1JlZGVlbUZsb3dTdWNjZWVkZWQ6MjA1LHlwY1JlZGVlbUZsb3dGYWlsZWQ6MjA2LHlwY0ZhbWlseUNyZWF0ZUZsb3dTdGFydGVkOjI1OCx5cGNGYW1pbHlDcmVhdGVGbG93Q2FuY2VsbGVkOjI1OSx5cGNGYW1pbHlDcmVhdGVGbG93U3VjY2VlZGVkOjI2MCx5cGNGYW1pbHlDcmVhdGVGbG93RmFpbGVkOjI2MSx5cGNGYW1pbHlNYW5hZ2VGbG93U3RhcnRlZDoyNjIseXBjRmFtaWx5TWFuYWdlRmxvd0NhbmNlbGxlZDoyNjMseXBjRmFtaWx5TWFuYWdlRmxvd1N1Y2NlZWRlZDoyNjQseXBjRmFtaWx5TWFuYWdlRmxvd0ZhaWxlZDoyNjUscmVzdG9yZUNvbnRleHRFdmVudDoyMDcsZW1iZWRzQWRFdmVudDozMjcsYXV0b3BsYXlUcmlnZ2VyZWQ6MjA5LGNsaWVudERhdGFFcnJvckV2ZW50OjIxMCxleHBlcmltZW50YWxWc3NWYWxpZGF0aW9uOjIxMSwKdHZodG1sNVRyaWdnZXJlZEV2ZW50OjIxMix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxSZXN1bHQ6MjE2LHR2aHRtbDVGcmFtZXdvcmtzRmllbGRUcmlhbFN0YXJ0OjIyMCxtdXNpY09mZmxpbmVQcmVmZXJlbmNlczoyMTgsd2F0Y2hUaW1lU2VnbWVudDoyMTksYXBwV2lkdGhMYXlvdXRFcnJvcjoyMjEsYWNjb3VudFJlZ2lzdHJ5Q2hhbmdlOjIyNix1c2VyTWVudGlvbkF1dG9Db21wbGV0ZUJveEV2ZW50OjIyNyxkb3dubG9hZFJlY29tbWVuZGF0aW9uRW5hYmxlbWVudFNldHRpbmdFdmVudDoyMjgsbXVzaWNQbGF5YmFja0NvbnRlbnRNb2RlQ2hhbmdlRXZlbnQ6MjMxLG9mZmxpbmVEYk9wZW5Db21wbGV0ZWQ6MjMyLGtpZHNGbG93RXZlbnQ6MjMzLGtpZHNGbG93Q29ycHVzU2VsZWN0ZWRFdmVudDoyMzQsdmlkZW9FZmZlY3RzRXZlbnQ6MjM1LHVucGx1Z2dlZE9wc0VvZ0FuYWx5dGljc0V2ZW50OjIzNixwbGF5YmFja0F1ZGlvUm91dGVFdmVudDoyMzcsaW50ZXJhY3Rpb25Mb2dnaW5nRGVidWdNb2RlRXJyb3I6MjM4LApvZmZsaW5lWXRiUmVmcmVzaGVkOjIzOSxraWRzRmxvd0Vycm9yOjI0MCxtdXNpY0F1dG9wbGF5T25MYXVuY2hBdHRlbXB0ZWQ6MjQyLGRldmljZUNvbnRleHRBY3Rpdml0eUV2ZW50OjI0MyxkZXZpY2VDb250ZXh0RXZlbnQ6MjQ0LHRlbXBsYXRlUmVzb2x1dGlvbkV4Y2VwdGlvbjoyNDUsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RTZXJ2aWNlQ2FsbGVkOjI0NixlbWJlZHNTdG9yYWdlQWNjZXNzTm90Q2hlY2tlZDoyNDcsZW1iZWRzSGFzU3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNDgsZW1iZWRzSXRwUGxheWVkT25SZWxvYWQ6MjQ5LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzUmVzdWx0OjI1MCxlbWJlZHNTaG91bGRSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTEsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NTdGF0ZToyNTYsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NGYWlsZWRTdGF0ZToyNTcsZW1iZWRzSXRwV2F0Y2hMYXRlclJlc3VsdDoyNjYsc2VhcmNoU3VnZ2VzdERlY29kaW5nUGF5bG9hZEZhaWx1cmU6MjUyLApzaXJpU2hvcnRjdXRBY3RpdmF0ZWQ6MjUzLHR2aHRtbDVLZXlib2FyZFBlcmZvcm1hbmNlOjI1NCxsYXRlbmN5QWN0aW9uU3BhbjoyNTUsZWxlbWVudHNMb2c6MjY3LHl0YkZpbGVPcGVuZWQ6MjY4LHRmbGl0ZU1vZGVsRXJyb3I6MjY5LGFwaVRlc3Q6MjcwLHlvbmdsZVVzYlNldHVwOjI3MSx0b3VTdHJpa2VJbnRlcnN0aXRpYWxFdmVudDoyNzIsbGl0ZVN0cmVhbVRvU2F2ZToyNzQsYXBwQnVuZGxlQ2xpZW50RXZlbnQ6Mjc1LHl0YkZpbGVDcmVhdGlvbkZhaWxlZDoyNzYsYWROb3RpZnlGYWlsdXJlOjI3OCx5dGJUcmFuc2ZlckZhaWxlZDoyODAsYmxvY2tpbmdSZXF1ZXN0RmFpbGVkOjI4MSxsaXRlQWNjb3VudFNlbGVjdG9yOjI4MixsaXRlQWNjb3VudFVpQ2FsbGJhY2tzOjI4MyxkdW1teVBheWxvYWQ6Mjg0LGJyb3dzZVJlc3BvbnNlVmFsaWRhdGlvbkV2ZW50OjI4NSxlbnRpdGllc0Vycm9yOjI4NixtdXNpY0lvc0JhY2tncm91bmRGZXRjaDoyODcsbWR4Tm90aWZpY2F0aW9uRXZlbnQ6Mjg5LApsYXllcnNWYWxpZGF0aW9uRXJyb3I6MjkwLG11c2ljUHdhSW5zdGFsbGVkOjI5MSxsaXRlQWNjb3VudENsZWFudXA6MjkyLGh0bWw1UGxheWVySGVhbHRoRXZlbnQ6MjkzLHdhdGNoUmVzdG9yZUF0dGVtcHQ6Mjk0LGxpdGVBY2NvdW50U2lnbkluOjI5Nixub3RhaXJlRXZlbnQ6Mjk4LGtpZHNWb2ljZVNlYXJjaEV2ZW50OjI5OSxhZE5vdGlmeUZpbGxlZDozMDAsZGVsYXllZEV2ZW50RHJvcHBlZDozMDEsYW5hbHl0aWNzU2VhcmNoRXZlbnQ6MzAyLHN5c3RlbURhcmtUaGVtZU9wdE91dEV2ZW50OjMwMyxmbG93RXZlbnQ6MzA0LG5ldHdvcmtDb25uZWN0aXZpdHlCYXNlbGluZUV2ZW50OjMwNSx5dGJGaWxlSW1wb3J0ZWQ6MzA2LGRvd25sb2FkU3RyZWFtVXJsRXhwaXJlZDozMDcsZGlyZWN0U2lnbkluRXZlbnQ6MzA4LGx5cmljSW1wcmVzc2lvbkV2ZW50OjMwOSxhY2Nlc3NpYmlsaXR5U3RhdGVFdmVudDozMTAsdG9rZW5SZWZyZXNoRXZlbnQ6MzExLGdlbmVyaWNBdHRlc3RhdGlvbkV4ZWN1dGlvbjozMTIsCnR2aHRtbDVWaWRlb1NlZWs6MzEzLHVucGx1Z2dlZEF1dG9QYXVzZTozMTQsc2NydWJiaW5nRXZlbnQ6MzE1LGJlZHRpbWVSZW1pbmRlckV2ZW50OjMxNyx0dmh0bWw1VW5leHBlY3RlZFJlc3RhcnQ6MzE5LHR2aHRtbDVEZXZpY2VTdG9yYWdlU3RhdHM6NTM1LHR2aHRtbDVTdGFiaWxpdHlUcmFjZUV2ZW50OjQ3OCx0dmh0bWw1T3BlcmF0aW9uSGVhbHRoOjQ2Nyx0dmh0bWw1V2F0Y2hLZXlFdmVudDozMjEsdm9pY2VMYW5ndWFnZUNoYW5nZWQ6MzIyLHR2aHRtbDVMaXZlQ2hhdFN0YXR1czozMjMscGFyZW50VG9vbHNDb3JwdXNTZWxlY3RlZEV2ZW50OjMyNCxvZmZlckFkc0Vucm9sbG1lbnRJbml0aWF0ZWQ6MzI1LG5ldHdvcmtRdWFsaXR5SW50ZXJ2YWxFdmVudDozMjYsZGV2aWNlU3RhcnR1cE1ldHJpY3M6MzI4LGhlYXJ0YmVhdEFjdGlvblBsYXllclRyYW5zaXRpb25lZDozMzAsdHZodG1sNUxpZmVjeWNsZTozMzEsaGVhcnRiZWF0QWN0aW9uUGxheWVySGFsdGVkOjMzMixhZGFwdGl2ZUlubGluZU11dGVkU2V0dGluZ0V2ZW50OjMzMywKbWFpbkFwcExpYnJhcnlMb2FkaW5nU3RhdGU6MzM0LHRoaXJkUGFydHlMb2dNb25pdG9yaW5nRXZlbnQ6MzM2LGFwcFNoZWxsQXNzZXRMb2FkUmVwb3J0OjMzNyx0dmh0bWw1QW5kcm9pZEF0dGVzdGF0aW9uOjMzOCx0dmh0bWw1U3RhcnR1cFNvdW5kRXZlbnQ6MzQwLGlvc0JhY2tncm91bmRSZWZyZXNoVGFzazozNDIsaW9zQmFja2dyb3VuZFByb2Nlc3NpbmdUYXNrOjM0MyxzbGlFdmVudEJhdGNoOjM0NCxwb3N0SW1wcmVzc2lvbkV2ZW50OjM0NixtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdEV4cG9ydDozNDcsaWRiVW5leHBlY3RlZGx5Q2xvc2VkOjM0OCx2b2ljZVNlYXJjaEV2ZW50OjM0OSxtZHhTZXNzaW9uQ2FzdEV2ZW50OjM1MCxpZGJRdW90YUV4Y2VlZGVkOjM1MSxpZGJUcmFuc2FjdGlvbkVuZGVkOjM1MixpZGJUcmFuc2FjdGlvbkFib3J0ZWQ6MzUzLHR2aHRtbDVLZXlib2FyZExvZ2dpbmc6MzU0LGlkYklzU3VwcG9ydGVkQ29tcGxldGVkOjM1NSxjcmVhdG9yU3R1ZGlvTW9iaWxlRXZlbnQ6MzU2LAppZGJEYXRhQ29ycnVwdGVkOjM1NyxwYXJlbnRUb29sc0FwcENob3NlbkV2ZW50OjM1OCx3ZWJWaWV3Qm90dG9tU2hlZXRSZXNpemVkOjM1OSxhY3RpdmVTdGF0ZUNvbnRyb2xsZXJTY3JvbGxQZXJmb3JtYW5jZVN1bW1hcnk6MzYwLG5hdmlnYXRvclZhbGlkYXRpb246MzYxLG1keFNlc3Npb25IZWFydGJlYXQ6MzYyLGNsaWVudEhpbnRzUG9seWZpbGxEaWFnbm9zdGljczozNjMsY2xpZW50SGludHNQb2x5ZmlsbEV2ZW50OjM2NCxwcm9vZk9mT3JpZ2luVG9rZW5FcnJvcjozNjUsa2lkc0FkZGVkQWNjb3VudFN1bW1hcnk6MzY2LG11c2ljV2VhcmFibGVEZXZpY2U6MzY3LHlwY1JlZnVuZEZsb3dFdmVudDozNjgsdHZodG1sNVBsYXliYWNrTWVhc3VyZW1lbnRFdmVudDozNjksdHZodG1sNVdhdGVybWFya01lYXN1cmVtZW50RXZlbnQ6MzcwLGNsaWVudEV4cEdjZlByb3BhZ2F0aW9uRXZlbnQ6MzcxLG1haW5BcHBSZWZlcnJlckludGVudDozNzIsbGVhZGVyTG9ja0VuZGVkOjM3MyxsZWFkZXJMb2NrQWNxdWlyZWQ6Mzc0LApnb29nbGVIYXRzRXZlbnQ6Mzc1LHBlcnNpc3RlbnRMZW5zTGF1bmNoRXZlbnQ6Mzc2LHBhcmVudFRvb2xzQ2hpbGRXZWxjb21lQ2hvc2VuRXZlbnQ6Mzc4LGJyb3dzZVRodW1ibmFpbFByZWxvYWRFdmVudDozNzksZmluYWxQYXlsb2FkOjM4MCxtZHhEaWFsQWRkaXRpb25hbERhdGFVcGRhdGVFdmVudDozODEsd2ViT3JjaGVzdHJhdGlvblRhc2tMaWZlY3ljbGVSZWNvcmQ6MzgyLHN0YXJ0dXBTaWduYWxFdmVudDozODQsYWNjb3VudEVycm9yOjM4NSxnbXNEZXZpY2VDaGVja0V2ZW50OjM4NixhY2NvdW50U2VsZWN0b3JFdmVudDozODgsYWNjb3VudFVpQ2FsbGJhY2tzOjM4OSxtZHhEaWFsQWRkaXRpb25hbERhdGFQcm9iZUV2ZW50OjM5MCxkb3dubG9hZHNTZWFyY2hJY2luZ0FwaVN0YXRzOjM5MSxkb3dubG9hZHNTZWFyY2hJbmRleFVwZGF0ZWRFdmVudDozOTcsZG93bmxvYWRzU2VhcmNoSW5kZXhTbmFwc2hvdDozOTgsZGF0YVB1c2hDbGllbnRFdmVudDozOTIsa2lkc0NhdGVnb3J5U2VsZWN0ZWRFdmVudDozOTMsCm1keERldmljZU1hbmFnZW1lbnRTbmFwc2hvdEV2ZW50OjM5NCxwcmVmZXRjaFJlcXVlc3RlZDozOTUscHJlZmV0Y2hhYmxlQ29tbWFuZEV4ZWN1dGVkOjM5NixnZWxEZWJ1Z2dpbmdFdmVudDozOTksd2ViTGlua1R0c1BsYXlFbmQ6NDAwLGNsaXBWaWV3SW52YWxpZDo0MDEscGVyc2lzdGVudFN0b3JhZ2VTdGF0ZUNoZWNrZWQ6NDAzLGNhY2hlV2lwZW91dEV2ZW50OjQwNCxwbGF5ZXJFdmVudDo0MTAsc2Z2RWZmZWN0UGlwZWxpbmVTdGFydGVkRXZlbnQ6NDEyLHNmdkVmZmVjdFBpcGVsaW5lUGF1c2VkRXZlbnQ6NDI5LHNmdkVmZmVjdFBpcGVsaW5lRW5kZWRFdmVudDo0MTMsc2Z2RWZmZWN0Q2hvc2VuRXZlbnQ6NDE0LHNmdkVmZmVjdExvYWRlZEV2ZW50OjQxNSxzZnZFZmZlY3RVc2VySW50ZXJhY3Rpb25FdmVudDo0NjUsc2Z2RWZmZWN0Rmlyc3RGcmFtZVByb2Nlc3NlZExhdGVuY3lFdmVudDo0MTYsc2Z2RWZmZWN0QWdncmVnYXRlZEZyYW1lc1Byb2Nlc3NlZExhdGVuY3lFdmVudDo0MTcsCnNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNEcm9wcGVkRXZlbnQ6NDE4LHNmdkVmZmVjdFBpcGVsaW5lRXJyb3JFdmVudDo0MzAsc2Z2RWZmZWN0R3JhcGhGcm96ZW5FdmVudDo0MTksc2Z2RWZmZWN0R2xUaHJlYWRCbG9ja2VkRXZlbnQ6NDIwLG1kZVFvc0V2ZW50OjUxMCxtZGVWaWRlb0NoYW5nZWRFdmVudDo0NDIsbWRlUGxheWVyUGVyZm9ybWFuY2VNZXRyaWNzOjQ3MixtZGVFeHBvcnRlckV2ZW50OjQ5NyxnZW5lcmljQ2xpZW50RXhwZXJpbWVudEV2ZW50OjQyMyxob21lUHJlbG9hZFRhc2tTY2hlZHVsZWQ6NDI0LGhvbWVQcmVsb2FkVGFza0V4ZWN1dGVkOjQyNSxob21lUHJlbG9hZENhY2hlSGl0OjQyNixwb2x5bWVyUHJvcGVydHlDaGFuZ2VkSW5PYnNlcnZlcjo0MjcsYXBwbGljYXRpb25TdGFydGVkOjQzMSxuZXR3b3JrQ3JvbmV0UnR0QmF0Y2g6NDMyLG5ldHdvcmtDcm9uZXRSdHRTdW1tYXJ5OjQzMyxyZXBlYXRDaGFwdGVyTG9vcEV2ZW50OjQzNixzZWVrQ2FuY2VsbGF0aW9uRXZlbnQ6NDYyLApsb2NrTW9kZVRpbWVvdXRFdmVudDo0ODMsZXh0ZXJuYWxWaWRlb1NoYXJlVG9Zb3V0dWJlQXR0ZW1wdDo1MDEscGFyZW50Q29kZUV2ZW50OjUwMixvZmZsaW5lVHJhbnNmZXJTdGFydGVkOjQsbXVzaWNPZmZsaW5lTWl4dGFwZVByZWZlcmVuY2VzQ2hhbmdlZDoxNixtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uQXR0ZW1wdDo0MCxtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uRXJyb3I6NzcsZHR3c1BsYXliYWNrU3RhcnRlZDoxMTIsZHR3c1RpbGVGZXRjaFN0YXJ0ZWQ6MTEzLGR0d3NUaWxlRmV0Y2hDb21wbGV0ZWQ6MTE0LGR0d3NUaWxlRmV0Y2hTdGF0dXNDaGFuZ2VkOjE0NSxkdHdzS2V5ZnJhbWVEZWNvZGVyQnVmZmVyU2VudDoxMTUsZHR3c1RpbGVVbmRlcmZsb3dlZE9uTm9ua2V5ZnJhbWU6MTE2LGR0d3NCYWNrZmlsbEZldGNoU3RhdHVzQ2hhbmdlZDoxNDMsZHR3c0JhY2tmaWxsVW5kZXJmbG93ZWQ6MTE3LGR0d3NBZGFwdGl2ZUxldmVsQ2hhbmdlZDoxMjgsCmJsb2NraW5nVmlzaXRvcklkVGltZW91dDoyNzcsbGl0ZVNvY2lhbDoxOCxtb2JpbGVKc0ludm9jYXRpb246Mjk3LGJpc2NvdHRpQmFzZWREZXRlY3Rpb246NDM5LGNvV2F0Y2hTdGF0ZUNoYW5nZTo0NDAsZW1iZWRzVmlkZW9EYXRhRGlkQ2hhbmdlOjQ0MSxzaG9ydHNGaXJzdDo0NDMsY3J1aXNlQ29udHJvbEV2ZW50OjQ0NSxxb2VDbGllbnRMb2dnaW5nQ29udGV4dDo0NDYsYXR2UmVjb21tZW5kYXRpb25Kb2JFeGVjdXRlZDo0NDcsdHZodG1sNVVzZXJGZWVkYmFjazo0NDgscHJvZHVjZXJQcm9qZWN0Q3JlYXRlZDo0NDkscHJvZHVjZXJQcm9qZWN0T3BlbmVkOjQ1MCxwcm9kdWNlclByb2plY3REZWxldGVkOjQ1MSxwcm9kdWNlclByb2plY3RFbGVtZW50QWRkZWQ6NDUzLHByb2R1Y2VyUHJvamVjdEVsZW1lbnRSZW1vdmVkOjQ1NCxwcm9kdWNlckFwcFN0YXRlQ2hhbmdlOjUwOSxwcm9kdWNlclByb2plY3REaXNrSW5zdWZmaWNpZW50RXhwb3J0RmFpbHVyZTo1MTYscHJvZHVjZXJNZWRpYVNlcnZpY2VzUmVzZXREZXRhaWxzOjUyMiwKdHZodG1sNVNob3dDbG9ja0V2ZW50OjQ1NSxkZXZpY2VDYXBhYmlsaXR5Q2hlY2tNZXRyaWNzOjQ1Nix5b3V0dWJlQ2xlYXJjdXRFdmVudDo0NjEsb2ZmbGluZUJyb3dzZUZhbGxiYWNrRXZlbnQ6NDYzLGdldEN0dlRva2VuRXZlbnQ6NDY0LHN0YXJ0dXBEcm9wcGVkRnJhbWVzU3VtbWFyeTo0NjYsc2NyZWVuc2hvdEV2ZW50OjQ2OCxtaW5pQXBwUGxheUV2ZW50OjQ2OSxlbGVtZW50c0RlYnVnQ291bnRlcnM6NDcwLGZvbnRMb2FkRXZlbnQ6NDcxLHdlYktpbGxzd2l0Y2hSZWNlaXZlZDo0NzMsd2ViS2lsbHN3aXRjaEV4ZWN1dGVkOjQ3NCxjYW1lcmFPcGVuRXZlbnQ6NDc1LG1hbnVhbFNtb290aG5lc3NNZWFzdXJlbWVudDo0NzYsdHZodG1sNUFwcFF1YWxpdHlFdmVudDo0NzcscG9seW1lclByb3BlcnR5QWNjZXNzRXZlbnQ6NDc5LG1pbmlBcHBTZGtVc2FnZTo0ODAsY29iYWx0VGVsZW1ldHJ5RXZlbnQ6NDgxLGNyb3NzRGV2aWNlUGxheWJhY2s6NDgyLGNoYW5uZWxDcmVhdGVkV2l0aE9iYWtlSW1hZ2U6NDg0LApjaGFubmVsRWRpdGVkV2l0aE9iYWtlSW1hZ2U6NDg1LG9mZmxpbmVEZWxldGVFdmVudDo0ODYsY3Jvc3NEZXZpY2VOb3RpZmljYXRpb25UcmFuc2Zlcjo0ODcsYW5kcm9pZEludGVudEV2ZW50OjQ4OCx1bnBsdWdnZWRBbWJpZW50SW50ZXJsdWRlc0NvdW50ZXJmYWN0dWFsRXZlbnQ6NDg5LGtleVBsYXlzUGxheWJhY2s6NDkwLHNob3J0c0NyZWF0aW9uRmFsbGJhY2tFdmVudDo0OTMsdnNzRGF0YTo0OTEsY2FzdE1hdGNoOjQ5NCxtaW5pQXBwUGVyZm9ybWFuY2VNZXRyaWNzOjQ5NSx1c2VyRmVlZGJhY2tFdmVudDo0OTYsa2lkc0d1ZXN0U2Vzc2lvbk1pc21hdGNoOjQ5OCxtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdE1pZ3JhdGlvbkV2ZW50OjQ5OSxzbGVlcFRpbWVyU2Vzc2lvbkZpbmlzaEV2ZW50OjUwMCx3YXRjaEVwUHJvbW9Db25mbGljdDo1MDMsaW5uZXJ0dWJlUmVzcG9uc2VDYWNoZU1ldHJpY3M6NTA1LG1pbmlBcHBBZEV2ZW50OjUwNixkYXRhUGxhblVwc2VsbEV2ZW50OjUwNywKcHJvZHVjZXJQcm9qZWN0UmVuYW1lZDo1MDgscHJvZHVjZXJNZWRpYVNlbGVjdGlvbkV2ZW50OjUxMSxlbWJlZHNBdXRvcGxheVN0YXR1c0NoYW5nZWQ6NTEyLHJlbW90ZUNvbm5lY3RFdmVudDo1MTMsY29ubmVjdGVkU2Vzc2lvbk1pc2F0dHJpYnV0aW9uRXZlbnQ6NTE0LHByb2R1Y2VyUHJvamVjdEVsZW1lbnRNb2RpZmllZDo1MTUsYWRzU2VlbkNsaWVudExvZ2dpbmc6NTE3LHByb2R1Y2VyRXZlbnQ6NTE4LHR2aHRtbDVDbGVhblN0YXJ0OjUxOSxkZXZpY2VBY2NvdW50TWV0cmljc0V2ZW50OjUyMCxkZXJwTG9nRXZlbnQ6NTIxLHBsYXlhYmxlc1BvcnRhbEV2ZW50OjUyMyxpcFZhbGlkYXRpb25TdGFydGVkOjUyNCxpcFZhbGlkYXRpb25SZWNlaXZlZDo1MjUscmVlbHNTZXF1ZW5jZU11dGF0aW9uRXZlbnQ6NTI3LHdhdGNoWm9vbVN0YXRlQ2hhbmdlOjUyOCxtZXRhZGF0YUVkaXRvckV2ZW50OjUyOSxraWRzUHJpc21hRGVlcGxpbmtzRXZlbnQ6NTMwLGNyZWF0aW9uT3JjaGVzdHJhdGlvbkV2ZW50OjUzMSwKY29vcmRpbmF0ZWRTYW1wbGluZ1RyaWdnZXJlZDo1MzIscmVjYXBTY3JlZW5zaG90RXZlbnQ6NTM0LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXF1ZXN0RXZlbnQ6NTM2LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXNwb25zZUV2ZW50OjUzNyxzZXNzaW9uUmVwbGF5RXZlbnQ6NTM4LHNlc3Npb25SZXBsYXlTdGF0dXNFdmVudDo1MzksbG9nZ2luZ1JlbGlhYmlsaXR5UHJvYmU6NTQwLGtleVZhbHVlU3RvcmVTdGF0c0V2ZW50OjU0MSxkZXZpY2VMb2NhdGlvblBlcm1pc3Npb25FdmVudDo1NDIscmVtb3RlQ29udHJvbFN0YXJ0ZWQ6NTQzLHJlbW90ZUNvbnRyb2xDb21wbGV0ZWQ6NTQ0LHJlZWxzQWRzRXZlbnRzOjU0NSx5dGxyTG9hZGVyVGVzdEhhcm5lc3NFdmVudDo1NDcsYmlvbWV0cmljQXV0aGVudGljYXRpb25FdmVudDo1NDgsbWFpbkFwcExpZmVjeWNsZUV2ZW50OjU0OSxtdXNpY0Rvd25sb2FkQmFja2dyb3VuZENvbnRpbnVlZFByb2Nlc3NpbmdUYXNrOjU1MCxtdXNpY01ldGFkYXRhTWlzbWF0Y2hFdmVudDo1NTEsCnNjcm9sbFRvQ29tcG9uZW50Q29tcGxldGVkOjU1MixlbnRpdHlTdG9yZVRlbGVtZXRyeTo1NTMsc3RyZWFtaW5nRGFya0xhdW5jaEV2ZW50OjU1NCxjaGlsZEFjY291bnRzRGlzcGxheUV2ZW50OjU1NSx0dmZhc1BsYXliYWNrQ29udGV4dDo1NTcsbWRlQzJQYUV2ZW50OjU1OX07dmFyIFZtPV8uJGwoIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtzZTp7U1dIZWFsdGhMb2c6e1BkOjF9fSxzaGFyZWQ6ITAsdXBncmFkZTooYSxiKT0+e2IoMSkmJl8ub2woXy5rbChhLCJTV0hlYWx0aExvZyIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSksInN3SGVhbHRoTmV3UmVxdWVzdCIsWyJpbnRlcmZhY2UiLCJ0aW1lc3RhbXAiXSl9LHZlcnNpb246MX0pO3ZhciBjbj17fSxibj0wO3ZhciBkbjt2YXIgaG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9bmV3IE1hcDt0aGlzLm89ITF9cmVxdWVzdENvbXBsZXRlKGEsYil7YiYmKHRoaXMubz0hMCk7YT10aGlzLnJlbW92ZVBhcmFtcyhhKTt0aGlzLmouZ2V0KGEpfHx0aGlzLmouc2V0KGEsYil9aXNFbmRwb2ludENGUihhKXthPXRoaXMucmVtb3ZlUGFyYW1zKGEpO3JldHVybihhPXRoaXMuai5nZXQoYSkpPyExOmE9PT0hMSYmdGhpcy5vPyEwOm51bGx9cmVtb3ZlUGFyYW1zKGEpe3JldHVybiBhLnNwbGl0KCI/IilbMF19fTtobi5wcm90b3R5cGUucmVtb3ZlUGFyYW1zPWhuLnByb3RvdHlwZS5yZW1vdmVQYXJhbXM7aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI9aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI7aG4ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZT1obi5wcm90b3R5cGUucmVxdWVzdENvbXBsZXRlO2huLmdldEluc3RhbmNlPWpuO3ZhciBrbj1jbGFzcyBleHRlbmRzIF8uZ2Z7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj0hMTt0aGlzLmo9bGYoKTt0aGlzLmoubGlzdGVuKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PntpZih0aGlzLnYmJl8ueCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgYT1mbigpLmdldCgiZXJyb3JzIiwhMCk7aWYoYSl7Zm9yKGxldCBiIGluIGEpaWYoYVtiXSl7bGV0IGM9bmV3IF8uWGooYiwic2VudCB2aWEgb2ZmbGluZV9lcnJvcnMiKTtjLm5hbWU9YVtiXS5uYW1lO2Muc3RhY2s9YVtiXS5zdGFjaztjLmxldmVsPWFbYl0ubGV2ZWw7Xy5VaShjKX1mbigpLnNldCgiZXJyb3JzIix7fSwyNTkyRTMsITApfX19KX1TYigpe3JldHVybiB0aGlzLmouU2IoKX1lZihhKXt0aGlzLmouaXNPbmxpbmU9YX1xdygpe3ZhciBhPXdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO3JldHVybiBhPT09dm9pZCAwPyEwOmF9Q3YoKXt0aGlzLnY9ITB9bGlzdGVuKGEsYil7cmV0dXJuIHRoaXMuai5saXN0ZW4oYSwKYil9UWooYSl7cmV0dXJuIG1mKHRoaXMuaixhKX19O2tuLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1rbi5wcm90b3R5cGUuUWo7a24ucHJvdG90eXBlLmxpc3Rlbj1rbi5wcm90b3R5cGUubGlzdGVuO2tuLnByb3RvdHlwZS5lbmFibGVFcnJvckZsdXNoaW5nPWtuLnByb3RvdHlwZS5Ddjtrbi5wcm90b3R5cGUuZ2V0V2luZG93U3RhdHVzPWtuLnByb3RvdHlwZS5xdztrbi5wcm90b3R5cGUubmV0d29ya1N0YXR1c0hpbnQ9a24ucHJvdG90eXBlLmVmO2tuLnByb3RvdHlwZS5pc05ldHdvcmtBdmFpbGFibGU9a24ucHJvdG90eXBlLlNiO2tuLmdldEluc3RhbmNlPWxuO18uT3M9Y2xhc3MgZXh0ZW5kcyBfLmdme2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKCk7dGhpcy5qPXRoaXMuRD0wO3RoaXMudj1sbigpO3ZhciBiPV8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy52KTtiJiYoYS5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PWEucmF0ZUxpbWl0LGIoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e21uKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnttbih0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihiKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVNiKCl7dmFyIGE9Cl8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpO3JldHVybiBhP2EuYmluZCh0aGlzLnYpKCk6ITB9ZWYoYSl7dmFyIGI9Xy5zYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UubmV0d29ya1N0YXR1c0hpbnQiKS5iaW5kKHRoaXMudik7YiYmYihhKX1hc3luYyBRaihhKXt2YXIgYj1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdCIpLmJpbmQodGhpcy52KTtyZXR1cm4gXy54KCJza2lwX25ldHdvcmtfY2hlY2tfaWZfY2ZyIikmJmpuKCkuaXNFbmRwb2ludENGUigiZ2VuZXJhdGVfMjA0Iik/bmV3IFByb21pc2UoYz0+e3RoaXMuZWYod2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHwhMCk7Yyh0aGlzLlNiKCkpfSk6Yj9iKGEpOiEwfX07dmFyIFBzLG5uPWNsYXNzIGV4dGVuZHMgTnN7Y29uc3RydWN0b3IoKXtQc3x8KFBzPW5ldyBfLk9zKHtTSjohMCxKSTohMH0pKTtzdXBlcih7Y2I6e091OlRtLEZmOlNtLFdwOlBtLEF5OlFtLG5uOlJtLHNldDpPbX0sU2E6UHMsaGFuZGxlRXJyb3I6KGEsYixjKT0+e3ZhciBkPWM/LmVycm9yPy5jb2RlO2Q9PT00MDB8fGQ9PT00MTU/KGE9bmV3IF8uWGooYS5tZXNzYWdlLGIsYz8uZXJyb3I/LmNvZGUpLF8uV2koYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOl8uVWkoYSl9LFRmOl8uV2ksR2Q6cW4sbm93Ol8uZWwsTHM6Z24sRGM6Xy5DaygpLEttOiJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixGbToicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9mZmxpbmUiLE9pOiEwLERpOi4xLEtqOl8uc2ooInBvdGVudGlhbF9lc2ZfZXJyb3JfbGltaXQiLDEwKSxLYTpfLngsYWg6IShfLldqKCkmJl8uc24oKSl9KTt0aGlzLkI9bmV3IF8uY3M7Xy54KCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiYKVW0oKTtYbCgiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKGEsYil7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKGEsYil9c2VuZFRoZW5Xcml0ZShhLGIsYyl7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKGEsYixjKX1zZW5kQW5kV3JpdGUoYSxiKXtifHwoYj17fSk7Yj1ybihhLGIpO18uV2ooKXx8KHRoaXMuT2M9ITEpO3N1cGVyLnNlbmRBbmRXcml0ZShhLGIpfWF3YWl0SW5pdGlhbGl6YXRpb24oKXtyZXR1cm4gdGhpcy5CLnByb21pc2V9fTtfLnVuPSExO18udG49Xy51Lnl0TmV0d29ya2xlc3NMb2dnaW5nSW5pdGlhbGl6YXRpb25PcHRpb25zfHx7aXNOd2xJbml0aWFsaXplZDpfLnVufTtfLnJhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsXy50bik7dmFyIERwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY29uZmlnXz1udWxsO2E/dGhpcy5jb25maWdfPWE6a20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKX1pc1JlYWR5KCl7IXRoaXMuY29uZmlnXyYma20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciBRcztRcz1fLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZXx8bmV3IF8udGg7Xy5Scz1fLnUueXRQdWJzdWJQdWJzdWJTdWJzY3JpYmVkS2V5c3x8e307Xy5Tcz1fLnUueXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5c3x8e307Xy5Ucz1fLnUueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtfLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU9Xy50aC5wcm90b3R5cGUuc3Vic2NyaWJlO18udGgucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9Xy50aC5wcm90b3R5cGUuY2k7Xy50aC5wcm90b3R5cGUucHVibGlzaD1fLnRoLnByb3RvdHlwZS5wdWJsaXNoO18udGgucHJvdG90eXBlLmNsZWFyPV8udGgucHJvdG90eXBlLmNsZWFyO18ucmEoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLFFzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YlRvcGljVG9LZXlzIixfLlNzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YklzU3luY2hyb25vdXMiLF8uVHMpOwpfLnJhKCJ5dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzIixfLlJzKTt2YXIgQ249RGF0ZS5ub3coKS50b1N0cmluZygpO0RhdGUubm93KCk7Xy5Mbj1TeW1ib2woIkNhIik7dmFyIEhuPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMua2V5PWF9fTt2YXIgT249Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IE1hcDt0aGlzLm89bmV3IE1hcH1yZXNvbHZlKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLlVzJiZhIGluc3RhbmNlb2YgXy5Vcz9Lbih0aGlzLGEpOmEgaW5zdGFuY2VvZiBIbj9Kbih0aGlzLGEua2V5LFtdLCEwKTpKbih0aGlzLGEsW10pfX07Xy5Wcz1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX10b1N0cmluZygpe3JldHVybmBJbmplY3Rpb25Ub2tlbigke3RoaXMubmFtZX0pYH19O3ZhciBObjt2YXIgUG49d2luZG93O3ZhciBmbz1fLngoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKSYmUW4oKSE9PTAsVW49Xy54KCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIik7dmFyIGVvPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc2NoZWR1bGVyPV8uQ2soKTt0aGlzLm89bmV3IF8uY3M7dGhpcy5qPWE7Zm9yKGxldCBjPTA7Yzx0aGlzLmoubGVuZ3RoO2MrKyl7bGV0IGQ9dGhpcy5qW2NdO2E9KCk9PntkLnhoKCk7dGhpcy5qW2NdLk5qPSEwO3RoaXMuai5ldmVyeShlPT5lLk5qPT09ITApJiZ0aGlzLm8ucmVzb2x2ZSgpfTt2YXIgYj10aGlzLmdldFByaW9yaXR5KGQpO2I9dGhpcy5zY2hlZHVsZXIuR2EoYSxiKTt0aGlzLmpbY109ey4uLmQseGg6YSxqb2JJZDpifX19Y2FuY2VsKCl7Zm9yKGxldCBhIG9mIHRoaXMuailhLmpvYklkPT09dm9pZCAwfHxhLk5qfHx0aGlzLnNjaGVkdWxlci5BYShhLmpvYklkKSxhLk5qPSEwO3RoaXMuby5yZXNvbHZlKCl9Z2V0UHJpb3JpdHkoYSl7cmV0dXJuIGEucHJpb3JpdHk/PzB9fTtfLldzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9YTt0aGlzLnBsdWdpbnM9W107dGhpcy52PXZvaWQgMDt0aGlzLkI9e307Zm8mJlJuKHRoaXMuc3RhdGUpfWdldCBjdXJyZW50U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pbnN0YWxsKGEpe3RoaXMucGx1Z2lucy5wdXNoKGEpO3JldHVybiB0aGlzfXVuaW5zdGFsbCguLi5hKXthLmZvckVhY2goYj0+e2I9dGhpcy5wbHVnaW5zLmluZGV4T2YoYik7Yj4tMSYmdGhpcy5wbHVnaW5zLnNwbGljZShiLDEpfSl9dHJhbnNpdGlvbihhLGIpe2ZvJiZTbih0aGlzLnN0YXRlKTt2YXIgYz10aGlzLnRyYW5zaXRpb25zLmZpbmQoZD0+QXJyYXkuaXNBcnJheShkLmZyb20pP2QuZnJvbS5maW5kKGU9PmU9PT10aGlzLnN0YXRlJiZkLnRvPT09YSk6ZC5mcm9tPT09dGhpcy5zdGF0ZSYmZC50bz09PWEpO2lmKGMpe3RoaXMuaiYmKFRuKHRoaXMuaiksdGhpcy5qPXZvaWQgMCk7Vm4odGhpcyxhLGIpO3RoaXMuc3RhdGU9YTtmbyYmUm4odGhpcy5zdGF0ZSk7CmM9Yy5hY3Rpb24uYmluZCh0aGlzKTtsZXQgZD10aGlzLnBsdWdpbnMuZmlsdGVyKGU9PmVbYV0pLm1hcChlPT5lW2FdKTtjKFpuKHRoaXMsZCksYil9ZWxzZSB0aHJvdyBFcnJvcigiR2FgIit0aGlzLnN0YXRlKyJgIithKTt9fTt2YXIgaG89Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoIm5vbmUiKTt0aGlzLm89bnVsbDt0aGlzLnY9MTA7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206Im5vbmUiLHRvOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86Im5vbmUiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOigpPT57fX0se2Zyb206Im5vbmUiLHRvOiJub25lIixhY3Rpb246KCk9Pnt9fV19RChhLGIpe3RoaXMubz1fLllqKCgpPT57dGhpcy5jdXJyZW50U3RhdGU9PT0iYXBwbGljYXRpb25fbmF2aWdhdGluZyImJnRoaXMudHJhbnNpdGlvbigibm9uZSIpfSw1RTMpO2EoYj8uZXZlbnQpfUsoYSxiKXt0aGlzLm8mJihfLmpmLkFhKHRoaXMubyksdGhpcy5vPW51bGwpO2EoYj8uZXZlbnQpfX0sZ287dmFyIHJvPV8uc2ooInl0Y3NpX2RlYnVnX21heF9zaXplIiwxMDApO3ZhciBYcz0wO3ZhciB5cT1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhcmd1bWVudHMpO3RoaXMuaj1hO3RoaXMudGltZXI9Yn19LHhxPW5ldyBfLnFtKCJhZnQtcmVjb3JkZWQiLHlxKTt2YXIgTnA9W3twbTphPT5gQ2Fubm90IHJlYWQgcHJvcGVydHkgJyR7YS5rZXl9J2AsSmo6e0Vycm9yOlt7cmVnZXhwOi8oUGVybWlzc2lvbiBkZW5pZWQpIHRvIGFjY2VzcyBwcm9wZXJ0eSAiKFteJ10rKSIvLGdyb3VwczpbInJlYXNvbiIsImtleSJdfV0sVHlwZUVycm9yOlt7cmVnZXhwOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovXHU2NWUwXHU2Y2Q1XHU4M2I3XHU1M2Q2XHU2NzJhXHU1YjlhXHU0ZTQ5XHU2MjE2IChudWxsfHVuZGVmaW5lZCkgXHU1ZjE1XHU3NTI4XHU3Njg0XHU1YzVlXHU2MDI3XHUyMDFjKFteXHUyMDFkXSspXHUyMDFkLyxncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7cmVnZXhwOi9cdWM4MTVcdWM3NThcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzRjIFx1YjYxMFx1YjI5NCAobnVsbHx1bmRlZmluZWQpIFx1Y2MzOFx1Yzg3MFx1Yzc3OCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YzYyYyBcdWMyMTggXHVjNWM2XHVjMmI1XHViMmM4XHViMmU0Li8sCmdyb3VwczpbInZhbHVlIiwia2V5Il19LHtyZWdleHA6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHtyZWdleHA6L1VuYWJsZSB0byBnZXQgcHJvcGVydHkgJyhbXiddKyknIG9mICh1bmRlZmluZWQgb3IgbnVsbCkgcmVmZXJlbmNlLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7cmVnZXhwOi8obnVsbCkgaXMgbm90IGFuIG9iamVjdCBcKGV2YWx1YXRpbmcgJyg/OihbXi5dKylcLik/KFteJ10rKSdcKS8sZ3JvdXBzOlsidmFsdWUiLCJiYXNlIiwia2V5Il19XX19LHtwbTphPT5gQ2Fubm90IGNhbGwgJyR7YS5rZXl9J2AsSmo6e1R5cGVFcnJvcjpbe3JlZ2V4cDovKD86KFteIF0rKT9cLik/KFteIF0rKSBpcyBub3QgYSBmdW5jdGlvbi8sZ3JvdXBzOlsiYmFzZSIsImtleSJdfSx7cmVnZXhwOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLywKZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovT2JqZWN0ICguKikgaGFzIG5vIG1ldGhvZCAnKFteIF0rKScvLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3JlZ2V4cDovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovXHUzMGFhXHUzMGQ2XHUzMGI4XHUzMGE3XHUzMGFmXHUzMGM4XHUzMDZmICcoW14nXSspJyBcdTMwZDdcdTMwZWRcdTMwZDFcdTMwYzZcdTMwYTNcdTMwN2VcdTMwNWZcdTMwNmZcdTMwZTFcdTMwYmRcdTMwYzNcdTMwYzlcdTMwOTJcdTMwYjVcdTMwZGRcdTMwZmNcdTMwYzhcdTMwNTdcdTMwNjZcdTMwNDRcdTMwN2VcdTMwNWJcdTMwOTMvLGdyb3VwczpbImtleSJdfSx7cmVnZXhwOi9cdWFjMWNcdWNjYjRcdWFjMDAgJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc3NFx1YjA5OCBcdWJhNTRcdWMxMWNcdWI0ZGNcdWI5N2MgXHVjOWMwXHVjNmQwXHVkNTU4XHVjOWMwIFx1YzU0YVx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJrZXkiXX1dfX0se3BtOmE9PmAke2Eua2V5fSBpcyBub3QgZGVmaW5lZGAsSmo6e1JlZmVyZW5jZUVycm9yOlt7cmVnZXhwOi8oLiopIGlzIG5vdCBkZWZpbmVkLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgQW89e2xlOltdLFNkOlt7Y2FsbGJhY2s6dm8sd2VpZ2h0OjUwMH0se2NhbGxiYWNrOndvLHdlaWdodDo1MDB9XX07dmFyIHlvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5TZD1bXTt0aGlzLmxlPVtdfX0seG87Xy5WcD1uZXcgXy50aDt2YXIgdnA9W107Xy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZEdlbFBheWxvYWRzIixmdW5jdGlvbigpe3JldHVybiB2cH0pO3ZhciBQbz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RvcmU9e307dGhpcy5qPXt9fXN0b3JlUGF5bG9hZChhLGIpe2E9SW8oYSk7dGhpcy5zdG9yZVthXT90aGlzLnN0b3JlW2FdLnB1c2goYik6KHRoaXMuaj17fSx0aGlzLnN0b3JlW2FdPVtiXSk7Xy54KCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmKGI9bmV3IEN1c3RvbUV2ZW50KCJUUkFOU1BPUlRJTkdfTkVXX0VWRU5UIiksd2luZG93LmRpc3BhdGNoRXZlbnQoYikpO3JldHVybiBhfXNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXtpZighYS5rZXlzLmxlbmd0aClyZXR1cm5bXTt2YXIgYj1Lbyh0aGlzLGEua2V5cy5zcGxpY2UoMCwxKVswXSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl0aGlzLnN0b3JlW2JbZF1dJiZhLnNpemVMaW1pdCYmKHRoaXMuc3RvcmVbYltkXV0ubGVuZ3RoPD1hLnNpemVMaW1pdD8oYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0pLGRlbGV0ZSB0aGlzLnN0b3JlW2JbZF1dKToKYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0uc3BsaWNlKDAsYS5zaXplTGltaXQpKSk7YT8uc2l6ZUxpbWl0JiZjLmxlbmd0aDxhPy5zaXplTGltaXQmJihhLnNpemVMaW1pdC09Yy5sZW5ndGgsYy5wdXNoKC4uLnRoaXMuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKGEpKSk7cmV0dXJuIGN9ZXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXthPUtvKHRoaXMsYSk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspdGhpcy5zdG9yZVthW2NdXSYmKGIucHVzaCguLi50aGlzLnN0b3JlW2FbY11dKSxkZWxldGUgdGhpcy5zdG9yZVthW2NdXSk7cmV0dXJuIGJ9Z2V0U2VxdWVuY2VDb3VudChhKXthPUtvKHRoaXMsYSk7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliKz10aGlzLnN0b3JlW2FbY11dPy5sZW5ndGh8fDA7cmV0dXJuIGJ9fTtQby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudD1Qby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudDsKUG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM9UG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM7UG8ucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcz1Qby5wcm90b3R5cGUuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzO1BvLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ9UG8ucHJvdG90eXBlLnN0b3JlUGF5bG9hZDt2YXIgeXA9bmV3IF8uVnMoIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UiKTt2YXIgbnA9Xy5zaigiaW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCIsMkUzKSxscD1fLnNqKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCksb3A9Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIiw1KSxObz12b2lkIDAsTW89bnVsbCxZcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj10aGlzLm89dGhpcy52PTA7dGhpcy5qPSExfX0sQXA9bmV3IFlzLHpwPW5ldyBZcyxrcD1uZXcgWXMsanA9bmV3IFlzLGNwLG1wPSEwLGdwPV8udS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O18ucmEoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZ3ApO3ZhciBYbz17fTt2YXIgQnA9Xy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsQnApO3ZhciBRcD1uZXcgU2V0LEtwPTAsWHA9MCxXcD0wLE1wPVtdLExwPVtdLFpwPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO3ZhciBacz17YV9iaWRfZjo0ODIsYV9iaWRfczo0ODEsYWE6MixhYWNpOjQzMyxhYWNyOjQzNCxhYl9yOjExLGFiX3M6MTAsYWJjOjU3OSxhYzoxOTMsYWNjOjUxMSxhY2k6NTEyLGFkXzBfZToxMyxhZF8wX3M6MTIsYWRfYmw6MTQsYWRfaToxNSxhZF9tYnM6MTYsYWRfcHI6NTYyLGFkX3ZpOjE3LGFkX3ZpcjoxOCxhZGE6MTk0LGFkYmNfZjo1NzYsYWRjOjE5NSxhZGZsX2Y6MTksYWRmbF9zOjIwLGFkbDoxOTYsYWRuczoxOTcsYWRzX2U6MjIsYWRzX3M6MjEsYWZiOjUxMyxhZmM6MTk4LGFmbDoxOTksYWZ0OjEsYWhiOjUxNCxhaToyMDAsYWlzX2E6NTAzLGFpc19yOjUwMixhaXNmOjIzLGFpc2k6MjQsYWlzcjoyNSxhaXNzOjI2LGFtbDoyMDEsYXBhX2E6MjAzLGFwYV9iOjIwMixhcGJzOjIwNCxhcHBfbDozLGFwcF9zaTo2MTIsYXBwX3NpZTo2NjEsYXBwZGVsX2k6MjcsYXBwaV9lOjYxNixhcHBpX3M6NjE1LGFwcjoyMDUsYXByZXM6NDM2LGFwc3VzOjQzNSxhcjoyMDYsYXI0MGs6MjgsCmFyYl9mOjUwNCxhcmM6MjA3LGFyZXE6MjA4LGFyZmI6MjksYXJpOjQsYXJyOjIwOSxhcnJoOjMwLGFzY2U6Nzg4LGFzY2Y6Nzg5LGFzY3M6Nzg3LGFzaXNmYjozMSxhc2lzcjozMixhc2lzcmg6MzMsYXNpc3M6MzQsYXNyOjIxMCxhc3luY19vcmNoX3RfYWN0OjcxMixhc3luY19vcmNoX3Rfbm90aWZ5OjcxMSxhdHJyOjUxNSxhdHJzOjUxNixhdHRfZToyMTEsYXR0X2Y6MjEyLGF0dF9mYzo3OTcsYXR0X2Zycjo3OTYsYXR0X2ZzOjc5MyxhdHRfZnNyOjc5NSxhdHRfcG5hOjc5NCxhdHRfczoyMTMsYXR0X3diOjIxNCxhd2ZsX2Y6NTU3LGF3Zmxfczo1NTgsYmFzZV9qc19yOjQ0MSxiY3A6MjE1LGJmOjIxNixiZ19lOjIxNyxiZ19pOjIxOCxiZ19sOjIyMCxiZ19zOjIyMSxiZ192OjIxOSxicGRfYzo0ODQsYnBkX3M6NDgzLGJwdDoyMjMsYnJfZTozNyxicl9sZDozOCxicl9scnByOjM5LGJyX2xycjo0MCxicl9sd206NTc3LGJyX3I6NDEsYnJfczo0MixicmVyOjM1LGJyZXM6MzYsYnJucjo0MywKYnJuczo0NCxicnBlOjQ1LGJycHM6NDYsYnJyX2U6NDcsYnJyX2k6NDgsYnJyX2l1czo0OSxiczoyMjIsY19jOjUwLGNfY3M6NTEsY19jc2ZzOjUyLGNfZDo1MyxjX2xhZjo1OSxjX2xhczo1OCxjX3JuZjo0MzgsY19ybnM6NDM3LGNjOjQ2NyxjY19jOjU0LGNjX2NmOjU2LGNjX2NzYWxhOjU1LGNjX2xhOjU3LGNmZzoyMjQsY2hsczoyMjUsY2hwczoyMjYsY2w6NDgwLGNtYzoyMjcsY21kX2g6NjI5LGNtaGw6MjI5LGNtaToyMjgsY21sOjIzMCxjbXA6Nzc5LGNtdjoyMzEsY3B0OjIzMixjcjozNjQsY3JfZXJyOjY2OSxjcl9yOjY3MCxjcl9zOjY2OCxjc2w6MjMzLGNzcl90OjYzMSxjdDo1LGN0X2xpOjYwLGRfbDo2MSxkX2xhZjo2MixkX2xhcjo2MyxkX2xhczo2NCxkX2xmOjY1LGRfbHM6NjYsZF9sdzo2NyxkX2x3Zjo2OCxkX2x3czo2OSxkYXNfYzozNjYsZGFzX3M6MzY1LGRjcDoyMzQsZGdfcGJfYzoyMzYsZGdfcGJfcjoyMzcsZGdfcGJfczoyMzUsZGhpYzoyMzgsZGw6MjM5LGRuc186MjQwLApkcm1fZ2tfZjozODgsZHJtX2drX3M6Mzg3LGRybV9rcl9yOjM5Mixkcm1fa3JfczozOTEsZHJtX25ldF9yOjM5MCxkcm1fbmV0X3M6Mzg5LGRybV9wYl9mOjM4Nixkcm1fcGJfczozODUsZHNfYWM6NzM2LGRzX2FzOjczNSxkc19jbGM6NzQwLGRzX2NzOjczNyxkc19kYzo3MzksZHNfZHM6NzM4LGVtcGE6NDMyLGVtcHU6NDMxLGVucF9lcnI6Njg1LGVucF9maTo2ODQsZW5wX3N0OjY4Myxlb3ByX3I6NjczLGVwX2FfcHJfcjo1MzIsZXBfYV9wcl9zOjUzMSxlcF9oYXZfZW5kOjUyNixlcF9oYXZfc3RhcnQ6NTI1LGVwX2luaXRfYXI6Njk5LGVwX2luaXRfY3VlOjYzNSxlcF9pbml0X2N1czo2MzQsZXBfaW5pdF9lcGU6NjM3LGVwX2luaXRfZXBzOjYzNixlcF9pbml0X2lqZTo2MzksZXBfaW5pdF9panM6NjM4LGVwX2luaXRfcHI6NTI3LGVwX2luaXRfcmU6NjQxLGVwX2luaXRfcnM6NjQwLGVwX2luaXRfd2VlOjY0MyxlcF9pbml0X3dlczo2NDIsZXBfbWFfcmVwcjo1NDMsZXBfbWFfcnI6NTMzLAplcF9tYV9zZXByOjU0MixlcF9tYV9zcHI6NTM0LGVwX3BfbDo1MzAsZXBfcHJfcjo1MjksZXBfcHJfczo1MjgsZXBfcl9wcmVfcjo1NDEsZXBfcl9ycjo1MzUsZXBfcl9zbWFyOjUzNixlcF9yZWNfZW5kOjUzOCxlcF9yZWNfc3RhcnQ6NTM3LGVwX3JlcHNfZW5kOjU0MCxlcF9yZXBzX3N0YXJ0OjUzOSxlcGU6NjE4LGVwczo2MTcsZXJfY2w6NjUzLGVyX25zOjY1Mixlcl9wZTo2NTAsZXJfcHM6NjQ5LGVyX3M6NjQ4LGVyX3NfbnI6NzkwLGVyX3NfbnM6Nzg0LGVyX3Q6NjUxLGZhYl9yOjI0NixmY2Jfcjo1MDYsZmlyZTo3MCxmaXJzOjcxLGZtdGg6MjQxLGZvb3RfanM6MjQyLGZwdDoyNDMsZnJfczo1NjEsZnM6MjQ0LGZzYzoyNDUsZnNzYjBfYTo3NSxmc3NiMF9mcjo3NCxmc3NiMF9ucjo3Myxmc3NiMF9uczo3MixmdF86NDM5LGZ0bDo3LGZ0cjo0NzUsZnZiX3I6MjQ3LGZ2ZjoyNDgsZnlkX2dmOjc2NyxmeWRfZ3M6NzY2LGdjYzoyNDksZ2NmbDoyNTAsZ2Nzcjo3NixnZXBfZXJyOjgwMCwKZ2VwX3JlcTo3OTgsZ2VwX3Jlczo3OTksZ2dzcjo3NyxnaXdhX2E6NjI3LGdpd2FfZDo2MjgsZ2xjOjU5MyxnbGU6MjUxLGdsczoyNTIsZ3BlOjI1MyxncmM6MjU0LGdyaXdfbnI6Nzg2LGdyaXdfbnM6Nzg1LGdzX3I6NzM0LGdzX3M6NzMzLGdzbWQ6NTg2LGd1X3I6NjIwLGd2OjQ4NSxnd19haWVyOjc3MSxnd19hcmY6NzcyLGd3X2FybmFmOjc3NSxnd19hcm5uYWY6Nzc2LGd3X2FybnM6Nzc3LGd3X2FybnN1Ojc3OCxnd19hcnM6Nzc0LGd3X2Fyc3U6NzczLGd3X21hYWY6NjMzLGd3X21hYXM6NjMyLGhiZmc6Njc3LGhnY3I6MjU1LGhyOjI1NixocmU6MzYzLGhyczozNjIsaHM6MzczLGh0bWxfZmJfcjo3NTUsaHRtbF9mZTo3NDgsaHRtbF9mczo3NDcsaHRtbF9md2U6NzUyLGh0bWxfZndzOjc1MSxodG1sX2pjZTo3NTQsaHRtbF9qY3M6NzUzLGh0bWxfbGJfcjo3NTYsaHRtbF9zZTo3NTAsaHRtbF9zczo3NDksaV9ycDo0NzcsaV9ycTo0NzYsaXBfczo2NDYsaXBjOjI1NyxpcHM6MjU4LAppc21wX2E6ODM2LGlzbXBfYzo4MzgsaXNtcF9kOjgzOSxpc21wX2k6ODM1LGlzbXBfcDo4NDAsaXNtcF9yYzo4MzcsaXRfZ3A6NzgsaXZfczo1MDUsanNwOjI1OSxqc3I6MjYwLGtZVExhdGVuY3lNREVQcm9kdWN0U3RpY2tlckVkaXRvckNhbmNlbGxlZDo4MDEsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yRmluaXNoZWQ6ODAyLGwyczoyNjEsbGNfZnJyOjY2MCxsY19zX3M6NjU5LGxjX3NfdTo2NTgsbGNwOjI2MixsZF9zOjQ0MCxsaW06MjYzLGxwY2Y6MjY0LGxwY3M6MjY1LGxwczoyNjYsbHNfYzozNjgsbHNfczozNjcsbHNzOjI2NyxsdjoyNjgsbWFfY2w6NTUxLG1hX2Zmcjo1NTIsbWFfZnVhOjU1NCxtYV9ncjo1NTMsbWFfaWw6NTczLG1haW46NzksbWFpbl9qc19yOjQ0MixtYWluX2pzX3JxOjQ0MyxtYl9zOjUwNyxtYmFwX2M6Mzg0LG1iY19hbGM6NzMyLG1iY19hc2w6NzMxLG1iY19jOjM3NSxtYmNfczozNzQsbWJnY2hpZF9ycjo3NDQsbWJnY2hpZF9yczo3NDYsCm1iZ3JfcmY6NjU3LG1iZ3JfcnI6Mzc5LG1iZ3JfcnM6Mzc4LG1ibGNfYzozNzcsbWJsY19zOjM3NixtYmxjaGlkX2M6NzQ1LG1ibGNoaWRfczo3NDMsbWJsY3JpZF9jOjc0MixtYmxjcmlkX3M6NzQxLG1ic19jOjM4MSxtYnNfcnI6MzgzLG1ic19yczozODIsbWJzX3M6MzgwLG1keF9jY3A6ODAsbWR4X2Njczo4MSxtZHhfY2NzdDo4MixtZHhfY3I6ODMsbWR4X2NzOjg0LG1keF9sczo4NSxtZHhfb2ZmOjg2LG1keF9zYzo4NyxtZV9iOjU1NSxtZV9jOjY4NyxtZV9mOjU1NixtZV9mYTo2ODgsbWVzdl9zOjUwOSxtbV9pZTo3MjAsbW1faXM6NzE5LG1yYzoyNjksbXJzOjI3MCxtc2E6MjcxLG1zdGk6ODgsbXN0cjo4OSxuX2N0OjcwMixuX3NyOjY5NyxuX3N3OjY5OCwibmNbMC05XSI6MjcyLG5jbDoyNzMsbmN0OjI3NCxuZDoyNzUsbmRuc2U6Mjc2LG5kbnNzOjI3NywibnBbMC05XSI6Mjc4LG5yOjI3OSxucmU6MjgwLG5yZXFzOjI4MSxucmVzZToyODIsbnJlc3M6MjgzLG5ycnBzOjkwLApucnM6Mjg0LG5zdGNwczoyODUsbnRjcGU6Mjg2LG50Y3BzOjI4Nyxud3A6Mjg4LG9hZDJzOjQyNSxvYWZzX3I6NDA3LG9hZnNfcnA6NDA5LG9haXNyOjQwNSxvYXIyczo0MTIsb2FycDJzOjQyNyxvY3NpX3o6OTEsb2N0azo2MjEsb2N0cDo2MjIsb2ZhcnA6NDIzLG9mZG86NDAwLG9mZG9zOjM5OCxvZnI6NDE3LG9mdnJwOjQyNCxvZ3NmX2M6Mzk1LG9nc2ZfczozOTQsb2hyX3I6NzY1LG9ocl9zOjc2NCxvbDo2LG9sX2k6OCxvbG9jX2U6ODMwLG9sb2Nfc2E6ODI5LG9sb2Nfc3M6ODI4LG9tZF9jOjQyMixvbWRfczo0MjEsb21wX2M6NDE5LG9tcF9yOjQxOCxvcGZjOjY4MCxvcHJfcjo0MTQsb3ByZF9zOjQxNSxvcHJnejJfZTo4NDIsb3ByZ3oyX2Y6ODQzLG9wcmd6Ml9zOjg0MSxvcHJnel9zOjY4OSxvcHJyOjQxNixvcjEwMGs6NDExLG9yX2ZlOjQyOSxvcl9mczo0MzAsb3JfaTozOTMsb3JfcDozOTcsb3JjaF9yX2Q6Njk0LG9yY2hfcl9zOjY5NSxvcmNoX3RfcG1kOjc3MCxvcmNoX3RfcG1zOjc2OSwKb3JjaF90X3RjZWQ6NzA4LG9yY2hfdF90Y2VzOjcwNSxvcmNoX3RfdGQ6NjkyLG9yY2hfdF90bWQ6ODA0LG9yY2hfdF90bXM6ODAzLG9yY2hfdF91ZDo2OTMsb3JjaF90X3VzOjY5NixvcmZiOjQwNCxvcmhfcjo0MDMsb3Jtazo0MjAsb3JxcGJfYTo4MzEsb3JxcGJfZTo4MzQsb3JxcGJfczo4MzIsb3JxcGJfdzo4MzMsb3Nkbzo0MDEsb3Nkb2Y6NDAyLG9zZG9zOjM5OSxvc29yOjM5NixvdmQyczo0MjYsb3Zmc19yOjQwOCxvdmZzX3JwOjQxMCxvdmlzcjo0MDYsb3ZyMnM6NDEzLG92cnAyczo0MjgscGFjOjI4OSxwYXJpOjUxNyxwYXQ6MjkwLHBiMF9zOjYxMSxwYl9ycV9hdXRoejo0NDYscGJfcnFfY3R0X2NmbTo0NDcscGJjX2U6NjYzLHBiY19zOjY2MixwYmZfYzo5MixwYnA6NDg2LHBicmVzdW1lOjI5MixwYnM6NDg3LHBidToyOTMscGM6NDg4LHBjYzo1NDYscGNlOjU0NyxwY3E6NTQ0LHBjcjo1NDUscGN1X2FwOjgwOSxwY3VfY2U6NTgxLHBjdV9jczo1ODAscGN1X3JlOjgwOCxwY3VfcnM6ODA3LApwY3Vfczo4MDUscGN1X3NlOjgwNixwZGE6Mjk0LHBkYzoyOTUscGRyOjI5NixwZToyOTcscGVtX3I6NDQ0LHBlbV9ycTo0NDUscGZqZTozMDkscGZycjozMDUscGZyczozMDYscGZzOjMwNyxwZnQ6MzA4LHBmdF9pOjkzLHBsX2M6MjkxLHBsX2k6NDg5LHBsX2ludDo0OTAscGxfcjo0OTEscGxfcmM6NzAzLHBsX3M6NDkyLHBsX3NzOjQ5MyxwbGV2OjMxMCxwbGpzX3I6NDQ4LHBsanNfcnE6NDQ5LHBsdnM6NzIzLHBvdF9hZjo5Nyxwb3RfYXM6OTYscG90X2NtZTo1NjkscG90X2NtZjoyOTkscG90X2NtczoyOTgscG90X2NzbWU6NTcwLHBvdF9jc21mOjMwMSxwb3RfY3NtczozMDAscG90X2lmOjMwNCxwb3RfaW5pdGY6OTUscG90X2lzYzozMDIscG90X2lzdDozMDMscG90X3NlOjU2NSxwb3Rfc2Y6NTY0LHBvdF9zczo1NjMscG90X3hlOjU2OCxwb3RfeGY6NTY3LHBvdF94czo1NjYscG90cGU6OTQscHB1Ojk4LHByb2Nfazo2MTMscHJvY19rX2w6NjE0LHBzOjMxMSxwc19iczo2NDcscHNfYzo0OTQsCnBzX2VzOjk5LHBzX3BhOjY4MSxwc19waWhmOjU5Nyxwc19waWhzOjU5Nixwc19yOjM2MCxwc19zOjM2MSxwc19zZ2Y6NTk1LHBzX3Nnczo1OTQscHNucjo0OTUscHNuczo0OTYscHNwZToxMDAscHNwczoxMDEscHRfbWU6ODE1LHB0X21mOjgxNCxwdF9tczo4MTMscHRfcGllOjgxMixwdF9waWY6ODExLHB0X3Bpczo4MTAscHRfcGlzaDo2MDYscHZyaTo1MTgscHdjOjMxMixxb2VzOjMxMyxyX2Nfc2xkOjQ1MCxyX2Nfc3JxOjQ1MSxyX2Nvbm5lY3RfYmFja2VuZDo0NTIscl9jb25uZWN0X2JhY2tlbmRfc3VjY2Vzczo0NTMscl9jb25uZWN0ZWQ6NDU0LHJfY29uc3RydWN0aW9uOjQ1NSxyX2Rpc2Nvbm5lY3RlZDo0NTYscl9lYmk6NjY0LHJfZW9kOjU4NSxyX2Y6NDU3LHJfb3I6NzEzLHJfcGw6MTA1LHJfcHM6MTA2LHJfcnFfcGx5OjQ1OCxyX3NfcGx5bHN0OjQ1OSxyX3NfdmlkOjQ2MCxyX3N0YXR1c191cGRhdGU6NDYxLHJfdHI6MTA3LHJfdnRjOjEwNCxyX3dpcGJjOjU4NCxyX3ducjo3OTIsCnJfd25zOjc5MSxyX3dycjoxMDMscl93cnM6MTAyLHJfd3NycDo2MDkscl93c3JyOjYwOCxyX3dzcnM6NjA3LHJjdl86MzE0LHJlbW92ZV9zcGxhc2g6NDYyLHJlcV86MzE1LHJmZzozMTYscmdyX25yZjo2MDAscmdyX3M6NTk5LHJwZTo4MTYscnBseV9ycWQ6NDYzLHJwczo4MTcscnNfczo1MDgscnNhZV9wYzozMzIscnNhZV9wZWo6MzM0LHJzYWVfcGo6MzMzLHJzYmVfcGM6MzIzLHJzYmVfcGVqOjMyNSxyc2JlX3BqOjMyNCxyc2VfcGM6MzIwLHJzZV9wZWo6MzIyLHJzZV9wajozMjEscnNlZl9wYzozMjkscnNlZl9wZWo6MzMxLHJzZWZfcGo6MzMwLHJzZXNfcGM6MzI2LHJzZXNfcGVqOjMyOCxyc2VzX3BqOjMyNyxyc2ZfcGM6MzE3LHJzZl9wZWo6MzE5LHJzZl9wajozMTgscnRpbWVfOjMzNSxydXJsX2U6MTA4LHJ1cmxfcjoxMDkscnVybF9zOjExMCxydXJscGU6MTExLHJ1cmxwczoxMTIsczN0X3I6NDcyLHNhX2Y6NjI0LHNhX2ZvOjYyNSxzYV9zOjYyMyxzYWZfZnA6NjY1LHNhZl9yOjY2NiwKc2FmX3JlOjY2NyxzYXNfaTo2MjYsc2NnYXRfZmZzOjU2MCxzY2dhdF9mczo1NTksc2RhX2Y6NjA1LHNkYV9pOjYwNCxzZGFfcmVjcDo2MDEsc2RhX3JzcHA6NjAzLHNkYV9yc3ByOjYwMixzZGxfZTo2NTUsc2RsX3M6NjU0LHNkbF90OjY1NixzZl9pOjExMyxzZ3NjX3I6NzgxLHNnc2Nfczo3ODAsc2hvd19jYWxsX3RvX2Nhc3Q6NDY0LHNocmJfYzoxNjUsc2hyb19jOjE3MCxzaHJvX3I6MTY3LHNocnBfYzoxNjksc2hycF9sZDoxNjYsc2hycF9wOjE2OCxzb19yOjExOSxzb19yZToxMTgsc29fcnE6MTIwLHNwYToxMTQsc3BkOjExNSxzcGY6MTE2LHNwbnJfaDo2NzIsc3Bucl9zOjY3MSxzcHI6Njc4LHNyX2U6MTE3LHNyX3A6MTIxLHNyX3BhOjEyMixzcl9yOjEyMyxzcl9yZToxMjQsc3JfczoxMjUsc3JfdWk6MTI2LHNydDozMzYsc3Nfcjo0Njksc3Nfczo0Njgsc3Nfc2Zfczo3MjQsc3Nfc2Zfdzo3MjUsc3NucjoxMjcsc3NuczoxMjgsc3RjcF86MzM3LHN0ZV9hbGY6NTg5LHN0ZV9jOjU5MiwKc3RlX2VsZjo1OTAsc3RlX2Y6NTkxLHN0ZV9mdGw6NTg4LHN0ZV9sOjU4NyxzdHRzX2I6NTgyLHN0dHNfZjo1ODMsc3R2c19mOjY5MSxzdHZzX3M6NjkwLHN2ZTo0NjYsc3ZzOjQ2NSxzd19mYjo1MTAsc3dfaTo3ODMsc3dfcjo0OTcsc3dfczo0OTgsc3dzbnI6ODE5LHN3c25zOjgxOCxzd3NwZTo4MjEsc3dzcHM6ODIwLHRjcF86MzM4LHRlbnhfbDo0NzEsdGVueF9yOjQ3MCx0aDBfaDo2MTAsdGgwX25jOjY3NSx0aDBfbmU6Njc2LHRoMF9ucjoxMjksdGgwX25zOjY3NCx0aF9jXzE6NzA5LHRoX2RfMTo3MTAsdGhfbF8xOjEzMCx0aF9zXzE6NTc4LHRoc2IwX2ZyOjEzNCx0aHNiMF9uZToxMzEsdGhzYjBfbnI6MTMyLHRoc2IwX25zOjEzMyx0dGM6MzM5LHR0Y3I6MzQwLHVpX2w6MTM1LHVpYmZfYzoxNDEsdWliZl9yOjE0Myx1aWJmX3M6MTQyLHVpc2ZfcjoxNDQsdWl3d2FfYmM6NjE5LHVpd3dhX2M6MTM2LHVpd3dhX2U6MTQwLHVpd3dhX3ByOjEzOSx1aXd3YV9yOjEzOCx1aXd3YV9zOjEzNywKdWxyc19jOjM3MCx1bHJzX3M6MzY5LHVua25vd246MCx1cjozNDEsdmM6NjgyLHZjYzo1MTksdmNpOjUyMCx2ZGE6MzQyLHZkZXVjOjM0Myx2ZGV1cjozNDQsdmRldXM6MzQ1LHZkbnM6MzQ2LHZmYjo1MjEsdmZwOjM0Nyx2aGI6NTIyLHZpcjozNDgsdmlyYzozNDksdmlzX2E6NTAwLHZpc19yOjQ5OSx2aXNmOjE0NSx2aXNpOjE0Nix2aXNyOjE0Nyx2aXNzOjE0OCx2b3pfY3g6MTc5LHZvel9lb3U6MTg3LHZvel9lcnI6MTg0LHZvel9lcnJfbXM6MTgwLHZvel9lcnJfbm1wOjE4MSx2b3pfZXJyX29mZjoxODMsdm96X2Vycl91YXI6MTgyLHZvel9mdHI6MTg4LHZvel9mdmM6MTg5LHZvel9scl9sc286MTg1LHZvel9scl9tZDoxODYsdm96X21mOjE3Mix2b3pfbXM6MTcxLHZvel9ycWY6MTc0LHZvel9ycXM6MTczLHZvel9zZjoxNzgsdm96X3NzOjE3Nyx2b3pfdnA6MTc1LHZvel92dDoxNzYsdnBsOjM1MCx2cjozNTEsdnIxMDBrOjE0OSx2cmJfZjo1MDEsdnJjOjM1Mix2cmVxOjM1Myx2cmZiOjE1MCwKdnJpOjksdnJyOjM1NCx2cnJfcjo0NzQsdnJyX3M6NDczLHZycmg6MTUxLHZzaXNmYjoxNTIsdnNpc3I6MTUzLHZzaXNyaDoxNTQsdnNpc3M6MTU1LHZ0YTozNTUsdnRycjo1MjMsdnRyczo1MjQsd19zdDoxNTYsd2FzbV9mYTo4MjYsd2FzbV9mZXJyOjgyNyx3YXNtX2Z3OjgyNSx3YXNtX3M6ODI0LHdjOjM3Mix3Y3I6MzU2LHdlYmZlX2U6NzI4LHdlYmZlX2dibV9yOjc1OCx3ZWJmZV9nYm1fczo3NTcsd2ViZmVfZ2xfcjo3NjIsd2ViZmVfZ2xfczo3NjEsd2ViZmVfZ3Nfcjo3NjAsd2ViZmVfZ3Nfczo3NTksd2ViZmVfZ3VzX3I6NzMwLHdlYmZlX2d1c19zOjcyOSx3ZWJmZV9ndm1fczo3NjMsd2ViZmVfczo3Mjcsd2ZmZTozNTcsd2ZmczozNTgsd2ZnOjM1OSx3bl9lOjE2Mix3bl9sOjM3MSx3bl9yOjE1OSx3bl9ycDo0Nzgsd25fczoxNjAsd25fc2w6MTYxLHdubDoxNTgsd25sX2Q6ODIzLHdubF9tcDo1NzEsd25sX3BkOjgyMix3bmxyOjU3Mix3bmxzOjE1Nyx3bnBlOjE2Myx3bnBzOjE2NCwKd3A6NDc5LHdzX2NlOjE5MCx3c19zczoxOTEsd3Nfc3NyOjE5Mix5Y2VjOjU0OSx5Y2VmOjU0OCx5Y2Z0cjo2NDUseWNpZjo1NTAseWNtc2Y6NjQ0LHljcmM6NzE4LHljcmY6NzE3LHljcnM6NzE0LHljcnNjOjcxNSx5Y3J1ZWE6NzE2fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsXy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fSk7dmFyIGJxPV8udS55dExvZ2dpbmdMYXRlbmN5VXNhZ2VTdGF0c198fHt9O18ucmEoInl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzXyIsYnEpOwp2YXIgJHA9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9MH10aWNrKGEsYixjLGQpe2NxKHRoaXMsYHRpY2tfJHthfV8ke2J9YCl8fChjPXt0aW1lc3RhbXA6YyxjdHRBdXRoSW5mbzpkfSxiPXt0aWNrTmFtZTphLGNsaWVudEFjdGlvbk5vbmNlOmJ9LF8ueCgieW91dHViZV93ZWJfY3NpX3RpY2tzX21pZ3JhdGlvbiIpJiYoYT1ac1thXSxhIT09dm9pZCAwJiYoYi50aWNrPWEsZGVsZXRlIGIudGlja05hbWUpKSxfLkVwKCJsYXRlbmN5QWN0aW9uVGlja2VkIixiLGMpKX1pbmZvKGEsYixjKXt2YXIgZD1PYmplY3Qua2V5cyhhKS5qb2luKCIiKTtjcSh0aGlzLGBpbmZvXyR7ZH1fJHtifWApfHwoYT1PYmplY3QuYXNzaWduKHt9LGEpLGEuY2xpZW50QWN0aW9uTm9uY2U9YixfLkVwKCJsYXRlbmN5QWN0aW9uSW5mbyIsYSx7Y3R0QXV0aEluZm86Y30pKX1qc3BiSW5mbygpe31zcGFuKGEsYixjLGQpe3ZhciBlPU9iamVjdC5rZXlzKGEpLmpvaW4oIiIpO2lmKGR8fCFjcSh0aGlzLGBzcGFuXyR7ZX1fJHtifWApKWEuY2xpZW50QWN0aW9uTm9uY2U9CmIsXy5FcCgibGF0ZW5jeUFjdGlvblNwYW4iLGEse2N0dEF1dGhJbmZvOmN9KX19O3ZhciAkcyxhdDskcz13aW5kb3c7YXQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnRpbWluZz17fTt0aGlzLmNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1zQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9O3RoaXMub0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fX19O18uc3E9JHMucGVyZm9ybWFuY2V8fCRzLm1velBlcmZvcm1hbmNlfHwkcy5tc1BlcmZvcm1hbmNlfHwkcy53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IGF0O3ZhciBscT1fLkZuKCk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Um9vdFZlVHlwZSIsXy5ncSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3VycmVudENzbiIsXy5pcSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3R0QXV0aEluZm8iLF8ua3EpO18ucmEoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLF8ubXEpO3ZhciB3cSxycTt3cT0hMTtycT0hMTtfLmJ0PSgwLF8uQ2EpKF8uc3EuY2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3Eud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubW96Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubXNDbGVhclJlc291cmNlVGltaW5nc3x8Xy5zcS5vQ2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uZ2QsXy5zcSk7dmFyIGR0OwpfLmN0PV8uVmkoZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7aWYoIV8ueCgid2ViX2NzaV9hY3Rpb25fc2FtcGxpbmdfZW5hYmxlZCIpfHwhXy5rbyhmKS5hY3Rpb25EaXNhYmxlZCl7dmFyIGs9aD8uc3BhblN0YXR1cyxsPWg/LnJvb3RTcGFuTm9uY2U7bGV0IG09Xy5ubyhmKTttLmdlbFNwYW5zP20uZ2VsU3BhbnNbYV09ITA6bS5nZWxTcGFucz17W2FdOiEwfTtYcysrO2E9e3NwYW5OYW1lOmEsc3Bhbkxlbmd0aFVzZWM6U3RyaW5nKE1hdGgucm91bmQoYioxRTMpKSxzcGFuTm9uY2U6WHMscm9vdFNwYW5Ob25jZTpsfHxYc307ayYmKGEuc3BhblN0YXR1cz1rKTtkJiYoYS5zcGFuSW5mbz1kKTtlJiYoYS5wYXJlbnRTcGFuTm9uY2U9ZSk7YyYmKGEuc3BhblN0YXJ0VGltZVVzZWM9U3RyaW5nKE1hdGgucm91bmQoYyoxRTMpKSk7Yz1hO18udW8oZnx8IiIpLnNwYW5bU3RyaW5nKGMuc3Bhbk5hbWUpXT1jO2Q9Xy5ubyhmKTtkLmdlbFNwYW5zfHwoZC5nZWxTcGFucz17fSk7Xy55bihkLmdlbFNwYW5zLGMpOwpkPV8ucG8oZik7Zj1fLmtvKGYpLmN0dEF1dGhJbmZvO2FxKCkuc3BhbihjLGQsZixoPy5xdSk7cmV0dXJuIGMuc3Bhbk5vbmNlfX0pO2R0PXdpbmRvdztkdC55dGNzaSYmKGR0Lnl0Y3NpLmluZm9HZWw9Xy56cSxkdC55dGNzaS50aWNrPV8uQXEpO3ZhciBldDtldD1uZXcgXy5jcztfLmZ0PWV0LnByb21pc2U7KGZ1bmN0aW9uKGEpe18uQXEoIm1tX2lzIik7dmFyIGI9bmV3ICRyO18uVWQoYik7Xy54KCJ3ZWJfZW5hYmxlX2xhenlfY3NzIikmJihuZXcgUHIpLmluaXQoKTtiLmVuKCgpPT57ZmgoKTtfLkFxKCJtbV9pZSIpO2E/LigpfSk7Yi5abihRZy5FUlJPUiwoYyxkLGUpPT57Xy5VaShFcnJvcigiSGFgIitkKyJgIitlKSl9KX0pKCgpPT57ZXQucmVzb2x2ZSgpfSk7Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZT1mdW5jdGlvbihhLGIpe2lmKCFfLlFkKXtpZighXy5UZClyZXR1cm47Xy5VZChfLlRkKCkpfV8uUWQuVGgoYSxiKX07Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZSgncm9vdC9zeTAvbjczcXdmOjEvc3kxL3N5MjozL2l1VDVPYzo0L3N5My9VVUpxVmU6MSw2L3N5NS9zeTQ6OC9NcEp3WmM6MSw2LDkvc3k2L3N5Nzo4L3N5ODpjL3N5Yy9zeWc6YixlL3N5aDpmL3N5YS9zeTFmL3N5M2M6aS9zeTNxOmkvc3k1YS9zeTU2L3N5NTgvc3k1YjpqLGssbCxtLG4vc3k1OTpqLG0sbi9zeTNkL3N5OTozLGMsZyxoL3N5ay9zeTU3L3N5YjpzL3N5ZDo4LGUvc3k1YzpqLGwsbSxuL3N5NWU6ayxxLHcvc3llL3N5Zi9zeWkvc3lqL3N5bC9zeW0vc3kxaC9zeTFlL3N5MWw6MTUvc3kzODoxNCwxNi9zeXA6MSw5LGMvc3l1OmMvc3lzOmQsMTgsMTkvc3kxaS9zeTJkL3N5Mms6MWEvc3kyajoxZC9zeTJ3OjFhL3N5MTkvc3kxcC9zeTIxL3N5Mm0vc3kybjoxai9zeTFiL3N5MXovc3kydS9zeTFrOmMsdiwxaCwxaSwxaywxbCwxbSwxbi9zeTJsL3N5MXU6MWcsMW4vc3kzMS9zeXY6Yy9zeTEwOjE4L3N5ejoxdC9zeXk6MWEvc3kzNjpjL3N5M2Y6Yy9zeTFtOmIsMWYsMXEsMXIsMXMsMXUsMXYsMXcsMXgvc3kyci9zeTNlL3N5M2E6aC9zeTEyOjFhL3N5M2c6MXUvc3kzaDoxOS9zeTFxOmcsaixxLDFvLDFwLDF5LDF6LDIwLDIxLDIyLDIzLDI0L3N5M2k6MXovc3kzbToxZS9zeTQzOjFlL3N5NDQ6MWUvc3k0ZjoxZS9zeTQ3OjFlL3N5NGc6MWUvc3k0aC9zeTRpOjE5L3N5eDoxYS9zeXQ6MWEvc3lyOjJnL3N5MTg6MWQsMXMsMmYsMmgvc3kyby9zeTMyL3N5M2I6MTksMW8sMXUvc3l3OjE4L3N5MTc6MjEsMm0vc3kzay9zeTFuOjFvLDFzLDJoLDJuLDJvL3N5M2o6MXcsMmssMmwsMnAvc3kxdi9zeTF5L3N5MnM6MTYvc3kyei9zeTFkL3N5M3Q6MTkvc3k0ajpqLGsscSwxZiwxdSwxdywxeCwyaywydi9zeTRkOmMsMWIvc3k0azoxOCwxcy9zeTQxOmMvc3k0MjoxOSwzMC9zeTJjOjExLDI1LDI2LDI3LDI4LDI5LDJhLDJiLDJjLDJkLDJlLDJpLDJqLDJxLDJyLDJzLDJ0LDJ1LDJ3LDJ4LDJ5LDJ6LDMxL3N5MWo6MTYvc3kyNDozMy9zeTRsOjE5LDMwL3N5MjM6MW8vc3kyNS9zeTJpOjE5LDM3L3N5NDYvc3k0cTozMiwzNiwzOCwzOS9zeW46MTcsMWMsMzQsMzUsM2Evc3kzMy9zeTJ2OjE4L3N5MWE6ayxtLHQsdSwyNSwyZiwybCwzYywzZC9zeTRuL3N5NG86M2Yvc3kzeC9zeTN6L3N5NHA6aixrLDFhLDFzLDF1LDF3LDF4LDNnLDNoLDNpL3N5Mjkvc3kzbDoxZS9zeTFvOjFtL3N5Mmg6M20vc3kxNDoxdCwyMi9zeTJmOmosayxxLDFzLDF3LDF4LDIzLDNvL3N5Mmcvc3kzcy9zeTQwOjFvL3N5M3Ivc3kzdS9zeTN2L3N5MWcvc3kzcC9zeTN3OmIsaiwxYSwxcywxdywxeCwyMywzaCwzdi9zeTN5OjFlL3N5M286MjUsMmksMmwsMncsM2ksM3AsM3IsM3QsM3UsM3csM3gsM3ksM3ovc3kxcjoyaywycywydCwzMSwzbiwzcSwzcyw0MC9zeTRzL3N5MnEvc3kyeS9zeTJ0OjFuLDNkL3N5NHUvc3k0dDoxZS9zeTI3OjFiLDF2LDF3LDNxLDQ2LDQ3L3N5MnA6MWUvc3kzbjoxZS9zeTQ1OjFlL3N5MjYvc3k0ODoxZS9zeTQ5OjFlL3N5NGEvc3k0Yjo0Zi9zeTRjOjNvLDRnL3N5Mjg6MjUsMjYsMjcsMmIsMmksMnAsMncsMnksNGMsNGQsNGUsNGgvc3k0ZToxZS9zeTJhOmssMjgsMnYsMzgsMzksNGEsNGIsNGksNGovc3kxdC9zeTRtOjE2L3N5MmI6MzIsMzUsMzgsMzksM28sNGwsNG0vc3kyZTozayw0MS9zeTIyL3N5MzAvc3k1MjoxOSwxcywyMy9zeTU0OjFhL3N5Mzcvc3kyMDoxaS9zeTM1OjFzLDF1LDF3LDJnL3N5MzQ6aywxbiwxeiwydCwzYyw0dCw0dSw0di9zeTE1OjF1L3N5cTp3LDEwLDNiLDNlLDNqLDNsLDQyLDQzLDQ0LDQ1LDQ4LDQ5LDRrLDRuLDRvLDRwLDRxLDRyLDRzLDR3LDR4L3N5NHcvc3lvOm8scCxyLDR5LDR6L3N5MTE6ZCwxOC9zeTEzOjF1LDIyLDUxL3N5MTY6Mm0vc3kxdy9zeTUxOjFmLDNwLDQ2LDRyLDR2L3N5Mngvc3kxeDo0eSw1NCw1NSw1Ni9zeTR2OmosayxxLDFhLDF3LDIzLDNyLDQ1LDR6L3N5Mzkvc3kxczo0cS9zeTR6OjFlL3N5NWQ6MWUvc3k1MDpqLHEsMXksMjgsMmEsMmIsMmksMmwsM28sNWEsNWIsNWMvc3k0cjoxZS9zeTR4OmssMW4sMXosNHYvc3k0eTpzLDJ1LDNjL3N5NTMvc3k1NToxOCwxcy9zeTFjOjQseCx5LDUwLDUyLDUzLDU3LDU4LDU5LDVkLDVlLDVmLDVnLDVoLDVpL3N5NWYvc3k1Zy9zeTVpL3N5NWsvc3k1bC9zeTVtL3N5NW4vc3k1bzoxOC9zeTVqL3N5NWg6NCx6LDUwLDU4LDVhLDVoLDVtLDVuLDVvLDVwLDVxLDVyLDVzL3N5NXA6NWosNXQvYmFzZTpkLHIsdSx2LHkseiwxMCwxMSwxMiwxMy9zeTVxL3N5NXIvc3k1czpjLGgvc3k1dDoybSwzbiwzbyw0eC9zeTdkL3N5NXU6MWwsMm8sNXIsNjAvc3k3cS9zeTZ0L3N5ODU6MTYvc3k4NDpqLDFyLDF3LDIzLDI4LDJpLDM1LDN0LDUzLDVpLDYzLDY0L3N5NXY6MTMsNTEsNjIsNjUvc3k2Yy9zeTZzOjQxL3N5ODY6MzUsNjQsNjgvc3k3bDpqLGsscSwxZSwxZiwxdSwxdywzbywzdSwzdi9zeTY3L3N5NXc6MzIsMzgsNDUsNXosNjYsNjcsNjksNmEsNmIvc3k1eC9zeTdlOjNkLDNtLDYwL3N5OHM6NmUvc3k5czoxZS9zeTV5OmYsaiwxaywxdywyMiwyMyw1YSw1biw2Ziw2Zy9zeTdyOjE0LDR0L3N5NmI6MnQsMzMvc3k1ejozNSwzZiwzayw0MSw0cCw2aSw2ai9zeTd6OjFlL3N5NjI6aC9zeThuOjFvLDFzL3N5NjA6MWIsMmQsMm4sNDEsNDYsNDcsNmwsNm0sNm4vc3k4bTpqLHEsMWcsMXcsMXgsMjMsNm4vc3k4bzoxNi9zeTc3L3N5Nnc6aiwxciwxdywyOCwyYSwyYywyaSwzayw1Yiw2ci9zeTdpL3N5OGwvc3k2MTp6LDEyLDJwLDJyLDM1LDNkLDQxLDR1LDU5LDVpLDV5LDV6LDYxLDZtLDZwLDZxLDZzLDZ0LDZ1L3N5NjM6MjUsMmksNGUvc3k2NDprLDI1LDI3LDJkLDJpLDJxLDRnL3N5NmQvc3k2OToxbiw0Ziw2Mi9zeTY4OjFlLDZ6L3N5N3Avc3k4YS9zeThjOjFlL3N5NjU6MWIsMjksMnAsM2csNmssNnUsNnksNzAsNzEsNzIsNzMvc3k2ei9zeTY2OjFjLDJrLDJyLDM1LDNzLDQwLDR3LDVmLDVnLDVuLDVvLDV6LDZmLDZqLDc1L3N5N286aixrLDFhLDFxLDF3LDF4LDF6LDNnL3N5Nmsvc3k2YTo1Nyw2eiw3MSw3Nyw3OC9zeThrOjFlL3N5OGY6MWUvc3k2ZToxNSwxdywyaSwzMCwzbyw0OSw0YSw0aiw0eiw3YSw3Yi9zeTZmOjFvLDFzLDF3LDI4LDJhLDJ1LDM1LDNrLDNyLDV6LDZlLDZxLDZyL3N5N2o6YywxaCwxaiwzNy9zeTdrOjFvLDM4LDM5LDZhL3N5Nmc6MWMsM2EsNDQsNGwsNW8sNXAsNjEsNjcsNzgsN2UsN2Yvc3k2aDozZSw0Miw0cSw2Myw2OC9zeTZpOmoscSwxNiwxOCwxdywzNS9zeTZyL3N5Nmo6MjUsMjcsMmksM28sN2UsN2ovc3k2bDoxNywyMywyOCwyaywydCwzMSwzayw1cS9zeThiOjJkL3N5ODA6MmQsN2ovc3k2eToxYiwyNSwyNywyaSwycCw0Yyw2MSw3Myw3bSw3bi9zeTZ4OjJiLDJlLDJ3LDRoLDVoLDcyLDdvL3N5Nm06MmEsNDEsN3Avc3k3eDoxZS9zeTd5OjJpLDdyL3N5OHI6MWIsMWcsMXUsMXcsMnAsM3MsNGMsNmwsN24sN3Mvc3k2bjoyYyw0MSw0dSw1OSw3NSw3byw3dC9zeThoOjFlL3N5Nm86MmksN2UsN3Yvc3k2cDoxaywxeiwzNSwzbyw0bSw0diw1bS9zeTZxOmssMjUsMjgsMmkvc3k2dS9zeTZ2OmosMTgsMXcvc3k3My9zeTcwOjFxLDFzLDF3LDJzLDJ0LDMxLDQ2LDQ3LDVnLDgxL3N5NzEvc3k4OToxZS9zeTcyOmosaywxeSwyaSwzMSwzZywzbyw1Niw1aSw2aSw3ciw4NC9zeTc0OjF3LDI4LDJpLDNyL3N5NzU6aixrLHEsMWEsMXcsM2csM3Qvc3k3NjoyNSwyaSw3My9zeTc4OmoscSwxNiwxbywxdSwxdywyYSwyaSwzNSwzbyw2ci9zeTc5OjJpLDdlLDdmL3N5ODI6MWUvc3k4MzoxZS9zeTdhOjFwLDF4LDIwLDJiLDJqLDJ3LDN4LDRhLDRiLDRkLDVoLDV3LDV5LDY2LDZ0LDcwLDcyLDdhLDd2LDhiLDhjL3N5N2I6NmYsN28sN3osOGMvc3k3YzpxLDFrLDF3LDF4LDJmLDMxLDZkLDZnLDZqL3N5N2Y6NDEsN2wvc3k3Zzo0MS9zeTdoOmosMXksMXovc3k3bToyNSwyNiwyaS9zeTduOmoscSwxOCwxdywxei9zeTdzL3N5N3U6MjAvc3k3dDoyNSwzbyw1aCw4bCw4bS9zeTd2OjFiLDFlLDI1LDJwLDhsL3N5N3c6MW8sNmwsN24sN3Mvc3k4MToyNSwyaSw0aCw4Yiw4Yy9zeTg3OmosMXksMXosMjAsNWgvc3k4ODo3Nyw4NS9zeThkOjExLDJyLDM0LDM1LDQxL3N5OGU6MmksMzgsN2IsN2Uvc3k4ZzoxZSwyNSwydy9zeThpOjFjLDMyLDNvLDdlL3N5OGo6MzgsNDEsN2Uvc3k4cToyNSwyYiwyaSwycCw4Yy9zeThwOjQxLDZ1LDZ6LDdwLDd0LDh5L3N5OHQ6NG8sN2Uvc3k4dToxYiwyNSwyNiw0Mi9zeTh2OjF5L3N5OHg6MWUvc3k4dzpqLHEsMXcsMmksM2csOTMvc3k4eTprLDFiLDI1LDJwLDYxLDgzL3N5OHo6aiwxdywyYSwyaSwzdCw4My9zeTkwOjF3LDJpLDNnLDgxLDkzL3N5OTE6aixxLDFiLDF5LDJlL3N5OTI6aywxYiwxeSwyMywyNiwycCw3ciw3eiw4NCw4Ni9zeTkzOjExLDJvLDJ0LDQwLDhkL3N5OTQ6aixrLHEsMWYsMXYsMXcsMXgsMjMsMnosNjEvc3k5NToyNSw0Miw4bS9zeTk2OmosayxxLDFlLDFvLDF5LDMxLDR1LDU5LDYxL3N5OTc6aixrLDF6LDNvLDR2LDVnL3N5OTg6MXcsMmEsMzUsNG0sNTQsNnIvc3k5OToxdywyNCwyYSwydywzNSwzdywzeCw0bSw1NCw2ci9zeTlhOmosaywxdSwxdywzNi9zeTliOmosayxxLDF5LDIzLDJ6LDN0LDQzLDZ5LDdtL3N5OWM6MjUsMjYsMjcsMmIsN3Qvc3k5ZDo3by9zeTllOjFvLDFzLDF3LDIzLDRzLDZiL3N5OWY6aywyNSw3dC9zeTlnOmssMjUsMzEsM2wsM3IsNHUsNTksNWQvc3k5aDoyNSwyNywyaS9zeTlpOmssMTEsMjUsMjgsMmksM3IsNGYsNXkvc3k5ajpqLGsscSwxeSwybCwyciwzMSw0dSw1OS9zeTlrOjI3LDQxL3N5OWw6MXcsMjgsMmksMzEsM3IsNHUsNTkvc3k5bTprLDI1LDJsLDMxLDR1LDU5L3N5OW46MjUvc3k5bzprLDI1LDJ0LDMxLDM1LDNpLDNvLDN6LDR1LDU5L3N5OXA6MjUsMm8sMzEsNHUsNTkvc3k5cToyNSwyNyw3dCw4Yy9zeTlyOmssMjUsMmYsMmwsM2wsNXMsNmcvc3k5dDoyaSw1Yy9zeTl1OnMsMXMsMXcsMjMsMnUsM2MsNTIsNmQvc3k5djozNSwzayw0MSw2ai9zeTl3OjQwL3N5OXg6aixxLDE4LDF3LDM1LDRtLDU0L2Jhc2Vfc3luY19tb2RfY2h1bms6NXYvcjlLTWpiOjhqL1ZjR1M4OjhrL3pDa0tCYzoyeC9pNlhvbWU6OHYvbk81ZFRkOjd4L090S1NKZTozai9udlg0VmI6M3kvRGx2RjFkOjQxLGFiL2Y5MHRDYjo3bC9WYlhyVWU6OGcsYWMsYWQvcEVTbERiOjhpL0ttQmZjYzo5NS9TVTN1aTo5aS9SYXE0Y2I6OHAvakJpc2FmOjU1L1B6VWRaYjo0OC9xVExkUTo4bi9XcWxjVmI6OG8vUUhBdGVmOjh0LGFjL1VBOEdTZTo4eCxhYy9MVmlNTTo3NixhYi9wZXZ0dmM6OWYvaXpqbVA6OWcvamd4OG1lOmExLGFjL3VobExHYjo2cy9GcUhjR2U6OWIvY3lDVmxkOjRpL29QcDVMZTo4Mi9BNG9BVmU6OTcvT3NtNDljOjg2L1BEdjZNZTo5OSxheS9vc1R0eGU6OHEvcVZEZ0JkOjhyL0hEbVUxZTo3dC9MSFA3SmQ6N28vVHUzTUI6N3AsYjMvRnNvWHpjOjdxLGFjLGI0L2lhaTJpYzo5Mi90UGdZemQ6ODcvYTY2TGZlOjk0L0lXcFVyZjo4OC9kSGNvSWY6OTYvb1hCV0hmOjk4L0lUdUNVYjo2cC9OcjBrZmU6ODUvYWNGdVZjOjhzLGJkL21tMk4wYzo5aC9oYjBXbWY6N2QvaE5lbHZkOmEzL3I1Q09IZjo3aS9aUUt4MToycS9wZTJvamI6MzIsYTcsYmovaGFvdU9lOjg5L2pKZkNvZDphMixhYi93U240YWM6NnYsYWMsYXQsYmMvaGExSWk6OHkvT003eG9iOjh6LGFjLGIyLGI0LGJvL0ZpTkdPYzo2ayxhYy9Xc2lNaWM6Nm8sYWMvVUFNNW06NzQsYnEvRDlXTWQ6NncveTlub09iOjZ4LGJqL1cwZ1NLYjo2OSxhYy9Id2xPaGQ6NjUvaGpyTm46ODAvdkRjazFkOjRuLGJrL0h4amxiYjozYixiay9uMERIZzo3eS9uQnZCeWQ6OWosYjIvZURVRG9jOjlrLGIzL1ZPVVA5ZDo4ZCxidy9iemowamQ6OWEsYWIsYzMvdVJJYUM6OW0sYjIvY2dTRW9iOjljL1hlUlhCZDo5ZC9zNjQ5ajo5cS91U3hkbmI6OXMvV2ZmNkJkOjd1LGFjLGIyLGIzL1UzbXpzZDo5dC95UDBKQmQ6OXUvUnFhSnNkOjl2L0UzSGViYzo5dy9wMXZFU2Q6YTAvQVQ4TFRlOjl5L3NET1RHZTo5bi9lY3VQQWM6NmgvTlFjMUlkOjhmL0ZRZElKZTo5ei9ibFpaWGU6OGgsYWMvZ0FPWXg6NmEvSU5jMUVmOjdnLGJrLGNtL2xQV2prYjo0byxhYy9vakdUNmQ6OHUvZDJMVHhiOjRrLGF2L0haNDFPZDo4dyxiay9lM1V0Vzo4ZSxiMy9hVTFHVGI6OTAsY28vSWJ4eE9lOjkxL3ZpVVdWOjU4L0R2WkM5OjlsL2ZBemRUOjZjLGJrLGJ2LGJ3LGNtL2ZnbEpOYjo4YSxjbS9pbFFTQWY6OW8vVWtadVdiOjlyLGFjL2w4YUtEYjo3ay9jbnE1UWI6OXgsYjIvbjlESkJmOjd3L2ZLRThxZDo3Yy9uN2VvMjo5cC9SWmVrSjo5ZS9RbWtNRTo3aCxhYy9OdWlsdWU6NzksYWEsYWosYWssYnksYnosY28sY3EvbWVIOUViOjUsNXQsYWEsYWssYnksYnosY28sY3EsY3YveUVmTkZiOjVqLGFqLGQ5L3I3OERyYjo1dSxhaixkOScsWydzeTEnLCdzeTUnLCdzeTYnLCdzeTcnLCdzeTgnLCdzeWMnLCdzeWcnLCdzeWgnLCdzeWEnLCdzeTknLCdzeWsnLCdzeWInLCdzeWQnLCdzeWUnLCdzeWYnLCdzeWknLCdzeWonLCdzeWwnLCdzeW0nLCdiYXNlJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUHQsUXQsVnQ7Xy5NdD1mdW5jdGlvbihhKXt2YXIgYj1fLmpmO2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyliLkFhKGFbY10pfTtfLk50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uamYuR2EoYSw0LGIpfTtfLk90PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe2MoYSl9KX07UHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn07UXQ9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsYil9OwpfLlJ0PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/Yj1hLmNsYXNzTGlzdC5jb250YWlucyhiKTooYT1hLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpQdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiPV8uc2IoYSxiKT49MCk7cmV0dXJuIGJ9O18uU3Q9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighXy5SdChhLGIpKXtsZXQgYz1QdChhKTtRdChhLGMrKGMubGVuZ3RoPjA/IiAiK2I6YikpfX07Xy5UdD1mdW5jdGlvbihhLGIpe2EuY2xhc3NMaXN0P2EuY2xhc3NMaXN0LnJlbW92ZShiKTpfLlJ0KGEsYikmJlF0KGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0OlB0KGEpLm1hdGNoKC9cUysvZyl8fFtdLGZ1bmN0aW9uKGMpe3JldHVybiBjIT1ifSkuam9pbigiICIpKX07Cl8uVXQ9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLkNhKShhLmhhbmRsZUV2ZW50LGEpO2Vsc2UgdGhyb3cgRXJyb3IoIk9hIik7cmV0dXJuIE51bWJlcihiKT4yMTQ3NDgzNjQ3Py0xOl8udS5zZXRUaW1lb3V0KGEsYnx8MCl9O1Z0PWZ1bmN0aW9uKGEpe2Euaj1fLlV0KCgpPT57YS5qPW51bGw7YS5vJiYhYS5CJiYoYS5vPSExLFZ0KGEpKX0sYS5JKTt2YXIgYj1hLkQ7YS5EPW51bGw7YS5NLmFwcGx5KG51bGwsYil9O18uV3Q9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO3RoaXMuTT1jIT1udWxsP2EuYmluZChjKTphO3RoaXMuST1iO3RoaXMuRD1udWxsO3RoaXMubz0hMTt0aGlzLkI9MDt0aGlzLmo9bnVsbH12KGEpe3RoaXMuRD1hcmd1bWVudHM7dGhpcy5qfHx0aGlzLkI/dGhpcy5vPSEwOlZ0KHRoaXMpfXN0b3AoKXt0aGlzLmomJihfLnUuY2xlYXJUaW1lb3V0KHRoaXMuaiksdGhpcy5qPW51bGwsdGhpcy5vPSExLHRoaXMuRD1udWxsKX1wYXVzZSgpe3RoaXMuQisrfXJlc3VtZSgpe3RoaXMuQi0tO3RoaXMuQnx8IXRoaXMub3x8dGhpcy5qfHwodGhpcy5vPSExLFZ0KHRoaXMpKX1sYSgpe3N1cGVyLmxhKCk7dGhpcy5zdG9wKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZQoqLwp2YXIgc3UscXUsb3UsdXUsbnUsenUsQXUsRHUsR3UsSHUsSXUsTnUsVHUsVnUsJHUsaXYsbXYscXYscnY7Xy5YdD1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0ic3RyaW5nIj9hOnZvaWQgMH07Xy5ZdD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLGQ9Yy5yZXNvbHZlKF8uSW4oYSkpO2Q/KGIoZCksUHJvbWlzZS5yZXNvbHZlKGQpKTpjLnJlc29sdmUobmV3IF8uVXMoYSkpLnRoZW4oZT0+e2IoZSk7cmV0dXJuIGV9KX07Xy4kdD1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O18uWnQ9YTtyZXR1cm4gYn07Xy5idT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PV8uYXV8fGE/Lm5hbWU9PT0iXHUwMjc1Tm90Rm91bmQifTtfLmN1PWZ1bmN0aW9uKGEsYil7aWYoYT8uaWEpdGhyb3cgRXJyb3IoIlNhYCIrU3RyaW5nKGEuZGVidWdOYW1lKSk7Zm9yKDthIT09dm9pZCAwOyl7bGV0IGM9YTtpZihjLlJoKXJldHVybiBjLlJoKGIse29wdGlvbmFsOiEwfSk7YT1hLnBhcmVudH1yZXR1cm4gXy5hdX07Cl8uZHU9ZnVuY3Rpb24oYSl7cmV0dXJue2Rlc2NyaXB0aW9uOmEsQ2I6e016OiJyb290Iix0b2tlbjpTeW1ib2woYSksS3A6dm9pZCAwLHZhbHVlOnZvaWQgMH19fTtfLmV1PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYSYmYj9gJHthfV9fJHtifWA6YT8/Yj8/Y307Xy5ndT1mdW5jdGlvbihhLGIpe3JldHVybnsuLi5fLmR1KGI/PyIiKSxbXy5mdV06ITAsZGVidWdOYW1lOmI/PyJbY29udGV4dF0iLGRlZmF1bHRWYWx1ZTphPy5kZWZhdWx0VmFsdWUscmVxdWlyZWQ6IWF8fCFPYmplY3QuaGFzT3duKGEsImRlZmF1bHRWYWx1ZSIpLGlkOmIsT0s6dm9pZCAwfX07Xy5odT1mdW5jdGlvbihhLGIpe2I9Xy5jdShiLGEpO2lmKF8uYnUoYikpe2lmKGEucmVxdWlyZWQpdGhyb3cgRXJyb3IoImpiYCIrYS5kZWJ1Z05hbWUpO3JldHVybiBhLmRlZmF1bHRWYWx1ZX1yZXR1cm4gYn07Xy5pdT1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QuaXMoYSxiKX07Cl8ua3U9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5qdTtfLmp1PWE7cmV0dXJuIGJ9O18ucHU9ZnVuY3Rpb24oYSl7aWYobHUpdGhyb3cgRXJyb3IoImgiKTtpZihfLmp1IT09bnVsbCl7Xy5qdS5pcChhKTt2YXIgYj1fLmp1LmtmO2lmKGI9PT12b2lkIDB8fGIuTWghPT1hKXt2YXIgYz12b2lkIDAsZD1fLmp1LmNuO2lmKGQmJihjPWIhPT12b2lkIDA/Yi5yZTpfLmp1LnByb2R1Y2VycyxjIT09dm9pZCAwJiZjLk1oPT09YSkpe18uanUua2Y9YztjLkhxPWEudmVyc2lvbjtjLm9qPV8ubXU7cmV0dXJufXZhciBlPWEuVWc7aWYoZT09PXZvaWQgMHx8ZS5EZiE9PV8uanV8fGQmJmUub2ohPT1fLm11KWQ9bnUoXy5qdSksYz17TWg6YSxEZjpfLmp1LHJlOmMsTWo6dm9pZCAwLG9qOl8ubXUsSHE6YS52ZXJzaW9uLHFlOnZvaWQgMH0sXy5qdS5rZj1jLGIhPT12b2lkIDA/Yi5yZT1jOl8uanUucHJvZHVjZXJzPWMsZCYmb3UoYSxjKX19fTsKXy5ydT1mdW5jdGlvbihhKXtpZighbnUoYSl8fGEuUGIpaWYoYS5QYnx8YS5yaiE9PV8ubXUpKGEuWG0oYSl8fHF1KGEpKSYmYS5ZbShhKSxhLlBiPSExLGEucmo9Xy5tdX07c3U9ZnVuY3Rpb24oYSl7aWYoYS5jb25zdW1lcnMhPT12b2lkIDApe3ZhciBiPWx1O2x1PSEwO3RyeXtmb3IobGV0IGM9YS5jb25zdW1lcnM7YyE9PXZvaWQgMDtjPWMucWUpe2xldCBkPWMuRGY7ZC5QYnx8KGQuUGI9ITAsc3UoZCksZC5ocD8uKGQpKX19ZmluYWxseXtsdT1ifX19O18udHU9ZnVuY3Rpb24oYSl7aWYoYSl7aWYoYS5rZj8ub2o9PT1fLm11KXtsZXQgYj1hLnByb2R1Y2Vycztmb3IoO2IhPT12b2lkIDA7KWIub2o9bnVsbCxiPWIucmV9YS5rZj12b2lkIDA7YS5jbj0hMH1yZXR1cm4gXy5rdShhKX07Cl8udnU9ZnVuY3Rpb24oYSl7YS5jbj0hMTt2YXIgYj1hLmtmLGM9YiE9PXZvaWQgMD9iLnJlOmEucHJvZHVjZXJzO2lmKGMhPT12b2lkIDApe2lmKG51KGEpKXtkbyBjPXV1KGMpO3doaWxlKGMhPT12b2lkIDApfWIhPT12b2lkIDA/Yi5yZT12b2lkIDA6YS5wcm9kdWNlcnM9dm9pZCAwfX07cXU9ZnVuY3Rpb24oYSl7Zm9yKGE9YS5wcm9kdWNlcnM7YSE9PXZvaWQgMDthPWEucmUpe2xldCBiPWEuTWgsYz1hLkhxO2lmKGMhPT1iLnZlcnNpb24pcmV0dXJuITA7Xy5ydShiKTtpZihjIT09Yi52ZXJzaW9uKXJldHVybiEwfXJldHVybiExfTtvdT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWcsZD1udShhKTtjIT09dm9pZCAwPyhiLnFlPWMucWUsYy5xZT1iKTooYi5xZT12b2lkIDAsYS5jb25zdW1lcnM9Yik7Yi5Naj1jO2EuVWc9YjtpZighZClmb3IoYT1hLnByb2R1Y2VyczthIT09dm9pZCAwO2E9YS5yZSlvdShhLk1oLGEpfTsKdXU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NaCxjPWEucmUsZD1hLnFlLGU9YS5NajthLnFlPXZvaWQgMDthLk1qPXZvaWQgMDtkIT09dm9pZCAwP2QuTWo9ZTpiLlVnPWU7aWYoZSE9PXZvaWQgMCllLnFlPWQ7ZWxzZSBpZihiLmNvbnN1bWVycz1kLCFudShiKSlmb3IoYT1iLnByb2R1Y2VyczthIT09dm9pZCAwOylhPXV1KGEpO3JldHVybiBjfTtudT1mdW5jdGlvbihhKXtyZXR1cm4gYS5ncHx8YS5jb25zdW1lcnMhPT12b2lkIDB9O18ud3U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpO307Xy55dT1mdW5jdGlvbihhLGIpe18uanU/LkxlIT09ITF8fF8ud3UoYSk7YS5lcXVhbChhLnZhbHVlLGIpfHwoYS52YWx1ZT1iLGEudmVyc2lvbisrLF8ubXUrKyxzdShhKSx4dT8uKGEpKX07enU9ZnVuY3Rpb24oYSxiKXtiLnptPXZvaWQgMDthLlpqP2EuWmouem09YjphLlVrPWI7YS5aaj1ifTtBdT1mdW5jdGlvbihhLGIpe3p1KGEse1tTeW1ib2wuZGlzcG9zZV06Yn0pfTsKXy5CdT1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O2ImJiFiLmlhJiYoenUoYixhKSxhLnBhcmVudD1iKX07RHU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEuVWs7Yjspe2xldCBjPWIuem07Xy5DdShiKTtiPWN9YS5Vaz12b2lkIDA7YS5aaj12b2lkIDB9O18uQ3U9ZnVuY3Rpb24oYSl7YS5pYXx8KGEuaWE9ITAsYVtTeW1ib2wuZGlzcG9zZV0/LigpLGEucGFyZW50PXZvaWQgMCxEdShhKSl9O18uRnU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy5xcikoYSkmJl8uRXUgaW4gYX07R3U9ZnVuY3Rpb24oYT1fLlp0KXtmb3IoO2E7KXtpZihfLkZ1KGEpKXJldHVybiBhO2E9YS5wYXJlbnQ/P251bGx9cmV0dXJuIG51bGx9O0h1PWZ1bmN0aW9uKGE9Xy5adCl7Zm9yKHZhciBiPVtdO2E7KV8uRnUoYSkmJmIucHVzaChhLmRlYnVnTmFtZSksYT1hLnBhcmVudD8/bnVsbDtyZXR1cm4gYn07Ckl1PWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiZhLm5hbWUhPT12b2lkIDAmJmEubGohPT12b2lkIDAmJmEucGFyZW50IT09dm9pZCAwfTtfLkx1PWZ1bmN0aW9uKCl7dmFyIGE9ey4uLkp1fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhKdSkuZm9yRWFjaChiPT57Xy5LdVtiXSE9PXZvaWQgMCYmKGFbYl09Xy5LdVtiXSl9KTtyZXR1cm4gYX07Xy5SdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5NdTtiJiYoXy5NdT1iKTt0cnl7cmV0dXJuIGM9PW51bGw/YSgpOmEuY2FsbChjKX1jYXRjaChlKXtOdShlLF8uTXUpO2lmKGUhPT1PdSl7Xy5QdT1fLk11O2E9W107Zm9yKGI9Xy5adDtiOylhLnB1c2goYi5kZWJ1Z05hbWU/PyJbY29udGV4dF0iKSxiPWIucGFyZW50Pz9udWxsO18uUXU9YS5yZXZlcnNlKCl9T3U9ZTt0aHJvdyBlO31maW5hbGx5e18uTXU9ZH19OwpOdT1mdW5jdGlvbihhLGIpe3RyeXtsZXQgYz1fLlN1KGIpO2lmKGMmJiFhLk5kPy5jb21wb25lbnRTdGFjayYmKGEuTmQ/YS5OZC5jb21wb25lbnRTdGFja3x8KGEuTmQuY29tcG9uZW50U3RhY2s9Yyk6YS5OZD17Y29tcG9uZW50U3RhY2s6Y30sXy5LdS5Cdikpe2xldCBkPWAke2EubWVzc2FnZX1cblxuQ29tcG9uZW50IHN0YWNrOiAke2N9YDthLnN0YWNrJiYoYS5zdGFjaz1hLnN0YWNrLnJlcGxhY2UoYS5tZXNzYWdlLGQpKTthLm1lc3NhZ2U9ZH19Y2F0Y2h7fX07VHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgNDpjYXNlIDM6cmV0dXJuInNldmVyZSI7Y2FzZSAyOnJldHVybiJ3YXJuaW5nIjtjYXNlIDE6Y2FzZSAwOnJldHVybiJpbmZvIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpfLlV1PWZ1bmN0aW9uKGEsYixjKXtpZihhLk5kKXJldHVybiBhO3RyeXtsZXQgZD0oYT09PU91P18uUHU6bnVsbCk/P18uTXU7TnUoYSxkKTthLk5kPXtjb21wb25lbnRTdGFjazpfLlN1KGQpLGZoOmIsQWw6Xy5MdSgpLHRhZ05hbWU6YyxwcjpfLlF1Py5zbGljZSgpPz9bXX07YS5yZXBvcnRTZXZlcml0eT1UdShiKX1jYXRjaHt9cmV0dXJuIGF9O1Z1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9IiI7YjwyMCYmYTspYys9YCR7YCQkWElEOiR7YS5uYW1lfSQkYH0gPiBgLGE9YS5wYXJlbnQsYisrO3JldHVybiBjLnNsaWNlKDAsLTMpfTtfLlN1PWZ1bmN0aW9uKGEpe3JldHVybiBJdShhKXx8YT09PW51bGw/VnUoYSk6Xy5LdS5GcD8oYT1HdShhKSxIdShhKS5zbGljZSgwLDIwKS5tYXAoYj0+YCQkWElEOiR7Yn0kJGApLmpvaW4oIiA+ICIpKToiIn07Cl8uWXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5adDtpZihiKXt2YXIgYz1fLk11O0F1KGIsKCk9Pnt2YXIgZD1fLmt1KF8uV3U/PyhfLld1PU9iamVjdC5jcmVhdGUoey4uLl8uWHUsTGU6ITB9KSkpO3RyeXtfLlJ1KCgpPT52b2lkIGEoKSxjKX1jYXRjaChlKXt0aHJvdyBfLlV1KGUsNCksZTt9ZmluYWxseXtfLmt1KGQpfX0pfWVsc2UgXy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlhhIiksMik7fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIiRhIiksMik7fSl9OyR1PWZ1bmN0aW9uKGEpe3ZhciBiPSgpPT57Xy5wdShhKTtyZXR1cm4gYS52YWx1ZX07YltfLlp1XT1hO3JldHVybltiLGM9PntfLnl1KGEsYyl9LGM9PntfLmp1Py5MZSE9PSExfHxfLnd1KGEpO18ueXUoYSxjKGEudmFsdWUpKX1dfTsKXy5KPWZ1bmN0aW9uKGEsYixjPSIiKXt2YXIgZD1PYmplY3QuY3JlYXRlKGF2KTtkLnZhbHVlPWE7Yj8uZXF1YWxzIT09dm9pZCAwJiYoZC5lcXVhbD1iLmVxdWFscyk7ZC5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW3NpZ25hbF0iKTtyZXR1cm4gJHUoZCl9O18uZnY9ZnVuY3Rpb24oYSl7aWYoIWEuaWEpc3dpdGNoKGEuZWZmZWN0VHlwZSl7Y2FzZSBidjpfLmN2LnNjaGVkdWxlKGEpO2JyZWFrO2Nhc2UgXy5kdjpldi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5lZmZlY3RUeXBlLHZvaWQgMCl9fTtfLmp2PWZ1bmN0aW9uKCl7aWYoXy5ndj4wKV8uS3UuUmkmJl8uY3YuZmx1c2goKTtlbHNle2ZvcihsZXQgYSBvZiBodilhLmZsdXNoKCk7aXYoKX19O2l2PWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7Zm9yKGxldCBhIG9mIGt2KWEuZmx1c2goKX07Cm12PWZ1bmN0aW9uKGEpe3ZhciBiPWEuaXNGbHVzaGluZzthLmlzRmx1c2hpbmc9ITA7dHJ5e2xldCBjPTA7Zm9yKDtjPGEuWmI7KXtsZXQgZD1hLkRkW2NdO2EuRGRbY109dm9pZCAwO2MrKztpZighZHx8IWQuUGIpY29udGludWU7bGV0IGU9W2RdLGY9ZDtmb3IoO2YucGFyZW50IT09dm9pZCAwOylmPWYucGFyZW50LCgwLF8ubHYpKGYpJiZmLlBiJiZlLnB1c2goZik7Zm9yKDtlLmxlbmd0aD4wOyllLnBvcCgpLnJ1bigpfWEuWmI9MH1maW5hbGx5e2EuaXNGbHVzaGluZz1ifX07Xy5vdj1mdW5jdGlvbihhLGI9Xy5adCl7aWYoYiYmIWIuaWEmJihiPV8uaHUobnYsYiksYj8ucmVwb3J0RXJyb3IpKXtiLnJlcG9ydEVycm9yKGEpO3JldHVybn10aHJvdyBhO307Cl8ucHY9ZnVuY3Rpb24oYSxiLGMpe2E9T2JqZWN0LmNyZWF0ZShhKTtiJiYoYS5mbj1iKTtjJiYoYS5kZWJ1Z05hbWU9Yyk7Xy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlRhIiksMik7fSk6Xy5adD09PW51bGw/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoImNiIiksMik7fSk6Xy5CdShhKTthLmNvbXBvbmVudFN0YWNrPV8uTXU7cmV0dXJuIGF9O3F2PWZ1bmN0aW9uKGEpe2lmKCFhLmlhKXtpZihsdSl0aHJvdyBfLlV1KEVycm9yKCJ4YiIpLDQpO3ZhciBiPV8uJHQoYSk7dHJ5e18uUnUoKCk9PnthLlBiPSExO2lmKCEoYS52ZXJzaW9uPjApfHxxdShhKSl7YS52ZXJzaW9uKys7dmFyIGM9Xy50dShhKTt0cnl7YS5WaygpLGEuZm4oKX1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX19fSxhLmNvbXBvbmVudFN0YWNrLGEpfWNhdGNoKGMpe18uVXUoYyw0KSxfLm92KGMpfWZpbmFsbHl7Xy4kdChiKX19fTsKcnY9ZnVuY3Rpb24oYSl7dmFyIGI9RXJyb3IoIlphYCIrYS5kZWJ1Z05hbWUpO18uVXUoYiw0KTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgYjt9KX07Xy50dj1mdW5jdGlvbihhLGIpe2E9Xy5wdihzdixhLGIpO18uZnYoYSl9O18udXY9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz17cGFyZW50OnZvaWQgMCxpYTohMSxVazp2b2lkIDAsWmo6dm9pZCAwLHptOnZvaWQgMH07YiYmXy5CdShjKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18udnY9ZnVuY3Rpb24oKXt9O18ud3Y9ZnVuY3Rpb24oKXt9O18ueHY9ZnVuY3Rpb24oKXt9O18uQnY9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8ueXZ8fF8uanU9PT1fLnp2KXRocm93IF8uVXUoRXJyb3IoIllhIiksNCk7cmV0dXJuIHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9hKCk6YT8uW0F2XT9hLmdldCgpOmF9O18uQ3Y9ZnVuY3Rpb24oKXt9O18uRHY9e307Cl8uVXM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qdj1hfX07Xy5Fdj1fLnUuSlNPTi5wYXJzZTtuZXcgY2xhc3MgZXh0ZW5kcyBfLmFle2luaXQoKXt9fTtfLkVhKCk7Xy5adD12b2lkIDA7Xy5hdT1TeW1ib2woImRiIik7dmFyIEZ2LGJ2O0Z2PVN5bWJvbCgiZWIiKTtidj1TeW1ib2woImZiIik7Xy5kdj1TeW1ib2woImdiIik7Xy5sdj1fLkNjKGE9PigwLF8ucXIpKGEpJiZGdiBpbiBhKTtfLmZ1PVN5bWJvbCgiaGIiKTt2YXIgbHU7Xy5qdT1udWxsO2x1PSExO18ubXU9MTtfLlp1PVN5bWJvbCgia2IiKTtfLlh1PXt2ZXJzaW9uOjAscmo6MCxQYjohMSxwcm9kdWNlcnM6dm9pZCAwLGtmOnZvaWQgMCxjb25zdW1lcnM6dm9pZCAwLFVnOnZvaWQgMCxjbjohMSxMZTohMSxncDohMSxraW5kOiJ1bmtub3duIixYbTooKT0+ITEsWW06KCk9Pnt9LGhwOigpPT57fSxpcDooKT0+e319O18uR3Y9U3ltYm9sKCJsYiIpO18uSHY9U3ltYm9sKCJtYiIpO18uSXY9U3ltYm9sKCJuYiIpO3ZhciBKdj17Li4uXy5YdSxncDohMCxMZTohMCxQYjohMCxraW5kOiJlZmZlY3QifTt2YXIgeHU9bnVsbCxhdj17Li4uXy5YdSxlcXVhbDpfLml1LHZhbHVlOnZvaWQgMCxraW5kOiJzaWduYWwifTtfLkt2PVN5bWJvbCgib2IiKTtfLkx2PVN5bWJvbCgicGIiKTtfLk12PVN5bWJvbCgicWIiKTtfLkV1PVN5bWJvbCgicmIiKTt2YXIgSnU9e3l2OiEwLEJ2OiExLEZwOl8uWXEsR3A6Xy5ZcSxHdjohMSxyaTohMSxISTohMCxSaTohMSxKcTohMX07Xy5LdT17YXR0cmlidXRlczp7fSxoYW5kbGVFcnJvcihhKXt0aHJvdyBhO30sLi4uSnV9O3ZhciBPdTtfLk11PW51bGw7Xy5QdT1udWxsO18uTnY9bmV3IFNldDtfLk92PW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe319O3ZhciBQdixTdixUdixWdixXdixYdixldixodixrdixadjtfLmd2PTA7UHY9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmlzRmx1c2hpbmc9ITE7dGhpcy5EZD1bXTt0aGlzLlpiPTB9c2NoZWR1bGUoYSl7dGhpcy5EZFt0aGlzLlpiKytdPWF9Y2xlYXIoKXtmb3IobGV0IGE9MDthPHRoaXMuWmI7YSsrKXRoaXMuRGRbYV09dm9pZCAwO3RoaXMuWmI9MH19O18uUXY9U3ltYm9sKCJ3YiIpO1N2PWNsYXNzIGV4dGVuZHMgUHZ7Zmx1c2goKXtpZih0aGlzLlpiIT09MCl7Zm9yKHZhciBhPTA7YTx0aGlzLlpiOyl7bGV0IGI9dGhpcy5EZFthXTt0aGlzLkRkW2FdPXZvaWQgMDthKys7aWYoYil0cnl7Yi5ydW4oKX1jYXRjaChjKXtSdihjKX19dGhpcy5aYj0wfX19O1R2PWNsYXNzIGV4dGVuZHMgU3Z7fTtfLlV2PW5ldyBUdjtWdj1jbGFzcyBleHRlbmRzIFB2e2ZsdXNoKCl7dGhpcy5aYj09PTB8fHRoaXMuaXNGbHVzaGluZ3x8bXYodGhpcyl9fTsKV3Y9Y2xhc3MgZXh0ZW5kcyBWdntzY2hlZHVsZShhKXthLnZlcnNpb249PT0wP2EucnVuKCk6c3VwZXIuc2NoZWR1bGUoYSl9Zmx1c2goKXtpZih0aGlzLlpiIT09MClpZihfLkt1LlJpKXtsZXQgYT17RGQ6dGhpcy5EZCxaYjp0aGlzLlpiLGlzRmx1c2hpbmc6ITF9O3RoaXMuRGQ9W107dGhpcy5aYj0wO212KGEpfWVsc2UgdGhpcy5pc0ZsdXNoaW5nfHxtdih0aGlzKX19O18uY3Y9bmV3IFd2O1h2PWNsYXNzIGV4dGVuZHMgVnZ7fTtldj1uZXcgWHY7aHY9W18uY3ZdO2t2PVtfLlV2LGV2XTtfLll2PVsuLi5odiwuLi5rdl07WnY9W107eHU9KCk9PntfLmp2KCk7Zm9yKGxldCBhIG9mIFp2KWEoKX07dmFyIFJ2PV8uJGI7dmFyIG52PV8uZ3Uoe2RlZmF1bHRWYWx1ZTpudWxsfSwiaW0xTWtmIik7Xy4kdj17Li4uSnYsW0Z2XTohMCxlZmZlY3RUeXBlOmJ2LEVKOiEwLGhwOl8uZnYscnVuKCl7cXYodGhpcyl9LFZrKCl7RHUodGhpcyl9LGNvbXBvbmVudFN0YWNrOnZvaWQgMCxkZWJ1Z05hbWU6IltlZmZlY3RdIixkZXN0cm95KCl7aWYobnUodGhpcykpe2xldCBhPXRoaXMucHJvZHVjZXJzO2Zvcig7YSE9PXZvaWQgMDspYT11dShhKX10aGlzLlVnPXRoaXMuY29uc3VtZXJzPXRoaXMua2Y9dGhpcy5wcm9kdWNlcnM9dm9pZCAwO18uQ3UodGhpcyk7dGhpcy5QYj0hMX0sW1N5bWJvbC5kaXNwb3NlXSgpe3RoaXMuZGVzdHJveSgpfX07dmFyIGF3O2F3PXtpcDpydn07Xy55dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7Xy56dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7dmFyIHN2PXsuLi5fLiR2LGVmZmVjdFR5cGU6YnZ9O18uYnc9e1BIKCl7fSxlSygpe30sWUgoKXt9LFNvKCl7fSxRSCgpe30sSmkoKXt9LEdmKCl7fSxIZigpe30sS2koKXt9fTt2YXIgQXY9U3ltYm9sKCJLYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZXc7Xy5jdz1mdW5jdGlvbihhLC4uLmIpe2EuYXJnc3x8KGEuYXJncz1bXSk7QXJyYXkuaXNBcnJheShhLmFyZ3MpJiZhLmFyZ3MucHVzaCguLi5iKX07Xy5kdz1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSl7bGV0IGM9Xy5id1tiXSxkPWFbYl07Xy5id1tiXT0oLi4uZSk9PntjKC4uLmUpO2QoLi4uZSl9fX07Xy5mdz1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsXy5FcSkmJmFbXy5FcV18fChhW18uRXFdPSsrZXcpfTtfLmd3PWZ1bmN0aW9uKGEsYixjKXthJiYhYyYmKGE9YS5wYXJlbnROb2RlKTtmb3IoYz0wO2E7KXtpZihiKGEpKXJldHVybiBhO2E9YS5wYXJlbnROb2RlO2MrK31yZXR1cm4gbnVsbH07Xy5odz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSk/Xy5UYShhKTpudWxsOm51bGx9OwpfLml3PWZ1bmN0aW9uKGEpe2lmKF8uWnQpdGhyb3cgXy5VdShFcnJvcigiYWIiKSw0KTtyZXR1cm4gXy51dihiPT57Xy5ZdSgoKT0+e30pO2EoYil9LCExKX07ZXc9MDt2YXIganc7anc9e25hbWU6IjxSb290PiIscHJvcHM6e30sS3o6e30sZWZmZWN0czpbXSxkSTpbXSxnSTooKT0+e30sW1N5bWJvbCgiSmIiKV06ITB9OyhuZXcgV2Vha01hcCkuc2V0KGp3Lkt6LHtuYW1lOmp3Lm5hbWUscHJvcHM6ancucHJvcHN9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHN3LHl3LHR3LHJ3O18ua3c9ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBhO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPWFbXy5BY118MDtjPWR8YyYzMnxjJjI7YyE9PWQmJihhW18uQWNdPWMpO3JldHVybiBuZXcgYihhKX19O18ubHc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5EYSxjPWJbXy5BY118MDtyZXR1cm4gXy5CYyhhLGMpP18uJGMoYSxiLGMpP18uYmQoYSxiLCEwKTpuZXcgYS5jb25zdHJ1Y3RvcihfLlpjKGIsYywhMSkpOmF9O18ubXc9ZnVuY3Rpb24oYSl7aWYoYS5qIT09Xy56YylyZXR1cm4hMTt2YXIgYj1hLkRhO2I9Xy5aYyhiLGJbXy5BY118MCk7YltfLkFjXXw9MjA0ODthLkRhPWI7YS5qPXZvaWQgMDthLm89dm9pZCAwO3JldHVybiEwfTtfLm53PWZ1bmN0aW9uKGEpe2lmKCFfLm13KGEpJiZfLkJjKGEsYS5EYVtfLkFjXXwwKSl0aHJvdyBFcnJvcigpO307Cl8ub3c9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uQWNdfDApO2ImMzImJiEoYiY0MDk2KSYmKGFbXy5BY109Ynw0MDk2KX07Xy5wdz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWMrKGU/MDotMSksaD1hLmxlbmd0aC0xO2lmKGg+PTErKGU/MDotMSkmJmY+PWgpe2xldCBrPWFbaF07aWYoayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4ga1tjXT1kLGJ9aWYoZjw9aClyZXR1cm4gYVtmXT1kLGI7ZCE9PXZvaWQgMCYmKGg9KGI/PyhiPWFbXy5BY118MCkpPj4xNCYxMDIzfHw1MzY4NzA5MTIsYz49aD9kIT1udWxsJiYoYVtoKyhlPzA6LTEpXT17W2NdOmR9KTphW2ZdPWQpO3JldHVybiBifTtfLnF3PWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7dmFyIGU9YS5EYTtfLnB3KGUsZVtfLkFjXXwwLGIsYyxkKTtyZXR1cm4gYX07c3c9ZnVuY3Rpb24oYSl7cmV0dXJuIHJ3W2FdfHwiIn07Cl8udXc9ZnVuY3Rpb24oYSl7YT10dy50ZXN0KGEpP2EucmVwbGFjZSh0dyxzdyk6YTthPWF0b2IoYSk7dmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWJbY109YS5jaGFyQ29kZUF0KGMpO3JldHVybiBifTtfLnd3PWZ1bmN0aW9uKGEpe2lmKF8udnchPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dmFyIGI9YS5qO2I9PW51bGx8fGIhPW51bGwmJmIgaW5zdGFuY2VvZiBVaW50OEFycmF5fHwodHlwZW9mIGI9PT0ic3RyaW5nIj9iPV8udXcoYik6KF8ueGEoYiksYj1udWxsKSk7cmV0dXJuIGI9PW51bGw/YjphLmo9Yn07Xy54dz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJib29sZWFuIil0aHJvdyBFcnJvcigicmAiK18ueGEoYSkrImAiK2EpO3JldHVybiBhfTsKeXc9ZnVuY3Rpb24oKXt2YXIgYT1fLkRuKCk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIi5jaGFyQXQoYVtjXSY2MykpO3JldHVybiBiLmpvaW4oIiIpfTt0dz0vWy1fLl0vZztydz17Ii0iOiIrIixfOiIvIiwiLiI6Ij0ifTtfLnZ3PXt9O18uenc9bmV3IF8uSSgid2ViQ29tbWFuZE1ldGFkYXRhIik7Xy5Bdz1uZXcgXy5JKCJ3YXRjaEVuZHBvaW50Iik7Xy5Cdz1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1hfX07Xy5Ddz1uZXcgXy5xbSgic2NyZWVuLWNyZWF0ZWQiLF8uQncpO18uRHc9eXc7Xy5Fdz1uZXcgTWFwO18uRnc9bmV3IE1hcDtfLkd3PW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBRdyxSdyxhYWEsYmFhLFh3LFN3LGF4LEx3LGNhYSxZdyxadztfLkh3PWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhLGIsdm9pZCAwKX07Xy5Jdz1mdW5jdGlvbihhKXthPUVycm9yKGEpO18uQmIoYSwid2FybmluZyIpO3JldHVybiBhfTtfLkp3PWZ1bmN0aW9uKGEpe2E9PW51bGwmJihhPXZvaWQgMCk7cmV0dXJuIGF9O18uS3c9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1fLkp3KGMpO18ucXcoYSxiLGMsZCk7YyYmIV8uQmMoYykmJl8ub3coYS5EYSk7cmV0dXJuIGF9O18uTXc9ZnVuY3Rpb24oKXtyZXR1cm4gTHd8fChMdz1uZXcgXy5SYyhudWxsLF8udncpKX07Cl8uTnc9ZnVuY3Rpb24oYSxiKXtpZihhIT1udWxsKWlmKHR5cGVvZiBhPT09InN0cmluZyIpYT1hP25ldyBfLlJjKGEsXy52dyk6Xy5NdygpO2Vsc2UgaWYoYS5jb25zdHJ1Y3RvciE9PV8uUmMpaWYoYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpYT1hLmxlbmd0aD9uZXcgXy5SYyhuZXcgVWludDhBcnJheShhKSxfLnZ3KTpfLk13KCk7ZWxzZXtpZighYil0aHJvdyBFcnJvcigpO2E9dm9pZCAwfXJldHVybiBhfTtfLk93PWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciIpdGhyb3cgXy5JdygiaW50MzIiKTtpZighKDAsXy53cikoYSkpdGhyb3cgXy5JdygiaW50MzIiKTtyZXR1cm4gYXwwfTtfLlB3PWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6Xy5PdyhhKX07ClF3PWZ1bmN0aW9uKGEpe3ZhciBiPV8ucm0oKTtpZighYilyZXR1cm4gMDt2YXIgYz1iLnN1YnNjcmliZShfLkN3LnRvU3RyaW5nKCksKGQsZSk9Pnt2YXIgZj1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIpO2YmJmY9PWN8fChmPSgpPT57aWYoXy5Lc1tjXSl0cnl7aWYoZSYmXy5DdyBpbnN0YW5jZW9mIF8ucW0mJl8uQ3chPWQpdHJ5e3t2YXIgaD1fLkN3Lmosaz1lO2lmKCFrLmFyZ3N8fCFrLnZlcnNpb24pdGhyb3cgRXJyb3IoInBhIik7bGV0IGw7dHJ5e2lmKCFoLkFlKXtsZXQgbT1uZXcgaDtoLkFlPW0udmVyc2lvbn1sPWguQWV9Y2F0Y2gobSl7fWlmKCFsfHxrLnZlcnNpb24hPWwpdGhyb3cgRXJyb3IoInFhIik7dHJ5e2U9UmVmbGVjdC5jb25zdHJ1Y3QoaCxfLnliKGsuYXJncykpfWNhdGNoKG0pe3Rocm93IG0ubWVzc2FnZT0ieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6ICIrbS5tZXNzYWdlLG07fX19Y2F0Y2gobCl7dGhyb3cgbC5tZXNzYWdlPSJ5dC5wdWJzdWIyLnB1YnN1YjIgY3Jvc3MtYmluYXJ5IGNvbnZlcnNpb24gZXJyb3IgZm9yICIrCl8uQ3cudG9TdHJpbmcoKSsiOiAiK2wubWVzc2FnZSxsO31hLmNhbGwod2luZG93LGUpfWNhdGNoKGwpe18uVWkobCl9fSxfLk1zW18uQ3cudG9TdHJpbmcoKV0/Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/Xy5qZi5wYihmKTpfLm1qKGYsMCk6ZigpKX0pO18uS3NbY109ITA7Xy5Mc1tfLkN3LnRvU3RyaW5nKCldfHwoXy5Mc1tfLkN3LnRvU3RyaW5nKCldPVtdKTtfLkxzW18uQ3cudG9TdHJpbmcoKV0ucHVzaChjKTtyZXR1cm4gY307Unc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ybSgpO2ImJih0eXBlb2YgYT09PSJudW1iZXIiJiYoYT1bYV0pLF8udGIoYSxjPT57Yi51bnN1YnNjcmliZUJ5S2V5KGMpO2RlbGV0ZSBfLktzW2NdfSkpfTthYWE9ZnVuY3Rpb24oKXt2YXIgYT1TdyxiPVF3KGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7UncoYil9KTtyZXR1cm4gYn07Xy5Vdz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uVHcoe3RyYWNraW5nUGFyYW1zOmF9KX07Cl8uVnc9ZnVuY3Rpb24oYT0wKXtyZXR1cm4oYT1fLmdxKGEpKT9uZXcgXy5Udyh7dmVUeXBlOmEseW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTtiYWE9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhfLncoImNsaWVudC1zY3JlZW4tbm9uY2Utc3RvcmUiLHt9KSkuZmlsdGVyKGE9PmEhPT12b2lkIDApfTtfLld3PWZ1bmN0aW9uKGEsYil7Xy54KCJsb2dfc2VxdWVuY2VfaW5mb19vbl9nZWxfd2ViIikmJihhLnNlcXVlbmNlR3JvdXA9Yik7cmV0dXJuIGF9O1h3PWZ1bmN0aW9uKGEsYil7cmV0dXJuYCR7YS5nZXRBc0pzb24oKS52ZVR5cGV9JHthLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke2J9YH07U3c9ZnVuY3Rpb24oYSl7aWYoWXcpe2ZvcihsZXQgYiBvZiBZdyliLnBheWxvYWQmJihiLnBheWxvYWQuY3NuPWEuY3NuLF8uRXAoYi5wYXlsb2FkTmFtZSxiLnBheWxvYWQsYi5vcHRpb25zKSk7WXcubGVuZ3RoPTB9Wnc9MH07Cl8uJHc9ZnVuY3Rpb24oYSxiLGMpe1l3LnB1c2goe3BheWxvYWROYW1lOmEscGF5bG9hZDpjLEpKOnZvaWQgMCxvcHRpb25zOmJ9KTtad3x8KFp3PWFhYSgpKX07Xy5ieD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7YXgoYSxiLGMsW2RdLGUsZil9OwpheD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7T2JqZWN0LmFzc2lnbihmLF8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMH0sYikpO2ZvcihsZXQgayBvZiBkKXt2YXIgaD1rLmdldEFzSnNvbigpOyhfLnBkKGgpfHwhaC50cmFja2luZ1BhcmFtcyYmIWgudmVUeXBlKSYmXy5JcChFcnJvcigiTGIiKSk7aWYoXy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXtsZXQgbD1YdyhrLGIpO2lmKGgudmVUeXBlJiYhXy5Gdy5oYXMobCkmJiFfLkd3LmhhcyhsKSYmIWUpe2lmKCFfLngoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxfLkV3LnNpemU8MUUzKXtfLkV3LnNldChsLFthLGIsYyxrXSk7cmV0dXJufV8ueCgiaWxfYXR0YWNoX2NhY2hlX2xpbWl0IikmJl8uRXcuc2l6ZT4xRTMmJl8uSXAobmV3IF8uWGooIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPVh3KGMsYik7Xy5Fdy5oYXMoaCk/Xy5jeChjLGIpOl8uR3cuc2V0KGgsITApfX1kPQpkLmZpbHRlcihrPT57ay5jc24hPT1iPyhrLmNzbj1iLGs9ITApOms9ITE7cmV0dXJuIGt9KTtjPXtjc246YixwYXJlbnRWZTpjLmdldEFzSnNvbigpLGNoaWxkVmVzOl8uSHcoZCxrPT5rLmdldEFzSnNvbigpKX07Yj09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGYsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsYSxmKTpfLkVwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsZil9O18uY3g9ZnVuY3Rpb24oYSxiKXthPVh3KGEsYik7Xy5Fdy5oYXMoYSkmJihiPV8uRXcuZ2V0KGEpfHxbXSxfLmJ4KGJbMF0sYlsxXSxiWzJdLGJbM10sITApLF8uRXcuZGVsZXRlKGEpKX07Xy5keD1mdW5jdGlvbihhLGIpe2lmKF8ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7dmFyIGM9WHcoYSxiKTtfLkZ3LnNldChjLCEwKTtfLmN4KGEsYil9fTsKXy5leD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLmR4KGMsYik7ZD1kfHwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyI7Zj1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6aH0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxnZXN0dXJlVHlwZTpkfTtlJiYoYy5jbGllbnREYXRhPWUpO2I9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudEdlc3R1cmVkIixmLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGEsZik6Xy5FcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGYpfTtfLmZ4PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtfLmV4KGEsYixjLHZvaWQgMCxkLGUsZil9O18uaHg9ZnVuY3Rpb24oKXtneC5pbnN0YW5jZXx8KGd4Lmluc3RhbmNlPW5ldyBneCk7cmV0dXJuIGd4Lmluc3RhbmNlfTsKXy5qeD1mdW5jdGlvbihhLGIsYyxkPTAsZSl7YS5vLmhhcyhlKXx8YS5vLnNldChlLG5ldyBTZXQpO3ZhciBmPWN8fF8uVncoZCk7Zj1gJHtiLnRvU3RyaW5nKCl9fCR7Zj9mLnRvU3RyaW5nKCk6IiJ9YDthLm8uZ2V0KGUpLmhhcyhmKXx8KF8uaXgoYSxiLGMsZCksYS5vLmdldChlKS5hZGQoZikpfTtfLml4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9PntpZihhLmouaGFzKGQpKXJldHVybiBhLlkucHVzaChbYixjXSksITA7dmFyIGU9Xy5pcShkKSxmPWN8fF8uVncoZCk7aWYoZSYmZil7aWYoXy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpKXtsZXQgaD1hLnYuZ2V0KGYudG9TdHJpbmcoKSk7aD9oLnB1c2goYik6KGEuSS5zZXQoZi50b1N0cmluZygpLGYpLGEudi5zZXQoZi50b1N0cmluZygpLFtiXSkpO2EuWnx8KGEuWj1fLllqKCgpPT57Xy5reChhLGUpfSwxMjAwKSl9ZWxzZSBfLmJ4KGEuY2xpZW50LGUsZixiKTtyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpfLmx4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9Pnt2YXIgZT1fLlV3KGIpLGY9Xy5pcShkKTtmJiYhYS5qLmhhcyhkKT9fLmp4KGEsZSxjLGQsZik6Xy5peChhLGUsYyxkKTtyZXR1cm4gZX0pKCl9O18ua3g9ZnVuY3Rpb24oYSxiKXtpZihiPT09dm9pZCAwKXtsZXQgYz1iYWEoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdIT09dm9pZCAwJiZfLmt4KGEsY1tkXSl9ZWxzZSBhLnYuZm9yRWFjaCgoYyxkKT0+eyhkPWEuSS5nZXQoZCkpJiZheChhLmNsaWVudCxiLGQsYyl9KSxhLnYuY2xlYXIoKSxhLkkuY2xlYXIoKSxhLlo9dm9pZCAwfTsKXy5teD1mdW5jdGlvbihhLGIsYyxkPTApe3ZhciBlPV8uaXEoZCk7Yj1ifHxfLlZ3KGQpO2UmJmImJihhPWEuY2xpZW50LGQ9Xy5Xdyh7Y3R0QXV0aEluZm86Xy5rcShlKXx8dm9pZCAwfSxlKSxjPXtjc246ZSx2ZTpiLmdldEFzSnNvbigpLGNsaWVudERhdGE6Y30sZT09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixkLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIsYyxhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLGMsZCkpfTsKXy5SYz1jbGFzc3tvKCl7dmFyIGE9dGhpcy5qO2lmKGE9PW51bGwpYT0iIjtlbHNlIGlmKHR5cGVvZiBhIT09InN0cmluZyIpe2xldCBiPSIiLGM9MCxkPWEubGVuZ3RoLTEwMjQwO2Zvcig7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPXRoaXMuaj1idG9hKGIpfXJldHVybiBhfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5qPT1udWxsfXNpemVCeXRlcygpe3ZhciBhPV8ud3codGhpcyk7cmV0dXJuIGE/YS5sZW5ndGg6MH1jb25zdHJ1Y3RvcihhLGIpe2lmKGIhPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dGhpcy5qPWE7aWYoYSE9bnVsbCYmYS5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJuIik7fX07CmNhYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9c2V0VHJhY2tpbmdQYXJhbXMoYSl7cmV0dXJuIF8ucXcodGhpcywxLF8uTncoYSwhMSkpfX07Cl8uVHc9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Z2V0QXNKc29uKCl7dmFyIGE9e307dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09dm9pZCAwP2EudHJhY2tpbmdQYXJhbXM9dGhpcy5qLnRyYWNraW5nUGFyYW1zOihhLnZlVHlwZT10aGlzLmoudmVUeXBlLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJihhLnZlQ291bnRlcj10aGlzLmoudmVDb3VudGVyKSx0aGlzLmouZWxlbWVudEluZGV4IT09dm9pZCAwJiYoYS5lbGVtZW50SW5kZXg9dGhpcy5qLmVsZW1lbnRJbmRleCkpO3RoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCYmKGEuZGF0YUVsZW1lbnQ9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNvbigpKTt0aGlzLmoueW91dHViZURhdGEhPT12b2lkIDAmJihhLnlvdXR1YmVEYXRhPXRoaXMuai55b3V0dWJlRGF0YSk7dGhpcy5qLmlzQ291bnRlcmZhY3R1YWwmJihhLmlzQ291bnRlcmZhY3R1YWw9ITApO3JldHVybiBhfWdldEFzSnNwYigpe3ZhciBhPW5ldyBjYWE7dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09CnZvaWQgMD9hLnNldFRyYWNraW5nUGFyYW1zKHRoaXMuai50cmFja2luZ1BhcmFtcyk6KHRoaXMuai52ZVR5cGUhPT12b2lkIDAmJl8ucXcoYSwyLF8uUHcodGhpcy5qLnZlVHlwZSkpLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJl8ucXcoYSw2LF8uUHcodGhpcy5qLnZlQ291bnRlcikpLHRoaXMuai5lbGVtZW50SW5kZXghPT12b2lkIDAmJl8ucXcoYSwzLF8uUHcodGhpcy5qLmVsZW1lbnRJbmRleCkpLHRoaXMuai5pc0NvdW50ZXJmYWN0dWFsJiZfLnF3KGEsNSxfLnh3KCEwKSkpO2lmKHRoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIGI9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNwYigpO18uS3coYSw3LGIpfXRoaXMuai55b3V0dWJlRGF0YSE9PXZvaWQgMCYmXy5LdyhhLDgsdGhpcy5qLmpzcGJZb3V0dWJlRGF0YSk7cmV0dXJuIGF9dG9TdHJpbmcoKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRBc0pzb24oKSl9aXNDbGllbnRWZSgpe3JldHVybiF0aGlzLmoudHJhY2tpbmdQYXJhbXMmJgohIXRoaXMuai52ZVR5cGV9Z2V0TG9nZ2luZ0RpcmVjdGl2ZXMoKXtyZXR1cm4gdGhpcy5qLmxvZ2dpbmdEaXJlY3RpdmVzfX07WXc9W107Wnc9MDtfLm54PW5ldyBfLkkoImludGVyYWN0aW9uTG9nZ2luZ0NvbW1hbmRNZXRhZGF0YSIpO18uZGFhPW5ldyBfLkkoIndhdGNoUGxheWxpc3RFbmRwb2ludCIpO18uZWFhPW5ldyBfLkkoInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTtfLm94PVN5bWJvbCgiTWIiKTtfLnB4PW5ldyBXZWFrTWFwO3ZhciBneD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuWT1bXTt0aGlzLk09W107dGhpcy5LPW5ldyBNYXA7dGhpcy5nYT1uZXcgTWFwO3RoaXMuRD1bXTt0aGlzLlU9W107dGhpcy52PW5ldyBNYXA7dGhpcy5JPW5ldyBNYXA7dGhpcy5vPW5ldyBNYXA7dGhpcy5qPW5ldyBTZXQ7dGhpcy5oYT1uZXcgTWFwfUNmKGEsYixjPTApe2lmKCFhKXJldHVybiExO2M9Xy5pcShjKTtpZighYylyZXR1cm4hMTtfLmZ4KHRoaXMuY2xpZW50LGMsXy5VdyhhKSxiKTtyZXR1cm4hMH1jbGlja0NvbW1hbmQoYSxiLGM9MCl7cmV0dXJuIHRoaXMuQ2YoYS5jbGlja1RyYWNraW5nUGFyYW1zLGIsYyl9c3RhdGVDaGFuZ2VkKGEsYixjPTApe3RoaXMudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChfLlV3KGEpLGIsYyl9dmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChhLGIsYz0wKXtjPT09MCYmdGhpcy5qLmhhcyhjKT90aGlzLk0ucHVzaChbYSxiXSk6Xy5teCh0aGlzLGEsYixjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeXgsengsZ2FhLEh4LEl4LGZhYSxBeCxDeDtfLnF4PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5HYShiLDMsYyl9O18ucng9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDIsYil9O18uc3g9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hfDA6dm9pZCAwfTtfLnR4PWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLnN4KF8uZWQoYSxiKSk/P2N9O18udXg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBoPWZhYSsrO3JldHVybiBuZXcgXy5Udyh7dmVUeXBlOmEsdmVDb3VudGVyOmgsZWxlbWVudEluZGV4OmMsZGF0YUVsZW1lbnQ6Yix5b3V0dWJlRGF0YTpkLGpzcGJZb3V0dWJlRGF0YTplLGxvZ2dpbmdEaXJlY3RpdmVzOmZ9KX07Cl8udng9ZnVuY3Rpb24oYSxiLGMsZD0hMSxlLGYpe3ZhciBoPWQ/MTY6ODtkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmQsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6Zn0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6aH07ZSYmKGMuY2xpZW50RGF0YT1lKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGQsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixjLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYyxkKX07Cl8ud3g9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLmR4KGMsYik7ZT1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6ZX0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6MX07ZCYmKGMuY2xpZW50RGF0YT1kKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRTaG93biIsZSxjKTphP18uQ3AoInZpc3VhbEVsZW1lbnRTaG93biIsYyxhLGUpOl8uRXAoInZpc3VhbEVsZW1lbnRTaG93biIsYyxlKX07Xy54eD1mdW5jdGlvbihhKXtpZihhPT09d2luZG93KXJldHVybiBudWxsO3ZhciBiPWEucGFyZW50RWxlbWVudDtyZXR1cm4gYj9iOnR5cGVvZiBTaGFkb3dSb290IT09InVuZGVmaW5lZCImJmEuZ2V0Um9vdE5vZGUhPW51bGwmJihhPWEuZ2V0Um9vdE5vZGUoKSxhIGluc3RhbmNlb2YgU2hhZG93Um9vdCk/YS5ob3N0OndpbmRvd307Cnl4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLmlxKGMpO3JldHVybiBhLmNzbj09PW51bGx8fGQ9PT1hLmNzbnx8Yz9kOihhPW5ldyBfLlhqKCJWaXNpYmlsaXR5TG9nZ2VyIGNhbGxlZCBiZWZvcmUgbmV3U2NyZWVuIix7Y2FsbGVyOmIudGFnTmFtZSxwcmV2aW91c19jc246YS5jc24sY3VycmVudF9jc246ZH0pLF8uSXAoYSksbnVsbCl9O3p4PWZ1bmN0aW9uKGEsYil7YT1hLmdldERhdGEoYik7cmV0dXJuIE1hdGguZmxvb3IoTnVtYmVyKGEmJmEubG9nZ2luZ0RpcmVjdGl2ZXMmJmEubG9nZ2luZ0RpcmVjdGl2ZXMudmlzaWJpbGl0eSYmYS5sb2dnaW5nRGlyZWN0aXZlcy52aXNpYmlsaXR5LnR5cGVzfHwiIikpfHwxfTtfLkJ4PWZ1bmN0aW9uKCl7QXguaW5zdGFuY2V8fChBeC5pbnN0YW5jZT1uZXcgQXgpO3JldHVybiBBeC5pbnN0YW5jZX07Xy5EeD1mdW5jdGlvbigpe0N4Lmluc3RhbmNlfHwoQ3guaW5zdGFuY2U9bmV3IEN4KX07Cl8uRXg9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uVmkoKCk9PntpZighYi52ZVR5cGUpcmV0dXJuIF8uSHAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihiLnZpc2liaWxpdHlUeXBlcyl7dmFyIGU9Yi52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChmLGgpPT5mfGgpO2U9e3Zpc2liaWxpdHk6e3R5cGVzOlN0cmluZyhlKX19fWU9Xy51eChiLnZlVHlwZSxiLnZpc3VhbEVsZW1lbnQsYi5lbGVtZW50SW5kZXgsYi5jbGllbnRZb3VUdWJlRGF0YSx2b2lkIDAsZSk7cmV0dXJuIF8uaXgoYSxlLGMsZCk/ZTpudWxsfSkoKX07Xy5GeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9OwpfLkd4PWZ1bmN0aW9uKGEsYil7YT1hLmpmPz9hO2ZvcihsZXQgYyBvZiBhLnZpc2liaWxpdHlNb25pdG9yS2V5c3x8W10pYi5yZihjKTthLnZpc2liaWxpdHlNb25pdG9yS2V5cz12b2lkIDB9O18uSng9ZnVuY3Rpb24oYSxiKXtpZihfLmlxKCkpe2lmKF8ueCgia2V2bGFyX3ZpbWlvX3VzZV9zaGFyZWRfbW9uaXRvciIpKUh4KGEsYi5kYXRhKTtlbHNlIGlmKCFIeChhLGIuZGF0YSkpcmV0dXJuO3ZhciBjPWIuZGF0YSxkPUl4KGMpO2lmKF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSlfLkd4KGEsYi5vYnNlcnZlcik7ZWxzZXt2YXIgZT1hLmpmPz9hO2UudHJhY2tlZFBhcmFtcyYmZS50cmFja2VkUGFyYW1zIT09ZCYmXy5HeChhLGIub2JzZXJ2ZXIpfWU9YS5qZj8/YTshY3x8ZS5kYXRhJiZlLmRhdGE9PT1jfHwoZS5kYXRhPWMpO2dhYShhLGIpO2UudHJhY2tlZFBhcmFtcz1kfX07CmdhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIub2JzZXJ2ZXI7aWYoIWMmJl8ueCgid2ViX3NraXBfbWlzc2luZ192aW1pb19vYnNlcnZlciIpKV8uSXAobmV3IF8uWGooIlZpc2liaWxpdHlPYnNlcnZlciBpcyBub3QgZGVmaW5lZC4iLGEudGFnTmFtZSxhLnRyYWNrZWRQYXJhbXMsYi5kYXRhPy50cmFja2luZ1BhcmFtcyxiLmRhdGE/LmxvZ2dpbmdEaXJlY3RpdmVzKSk7ZWxzZXt2YXIgZD1iLmxheWVyLGU9Yi5OYnx8KCgpPT57fSksZj1iLkxqLGg9YS5qZj8/YSxrPVtdO2IuZWImJmsucHVzaChjLm9ic2VydmUoYSwoKT0+e2IueEEmJmIueEEoKXx8KF8uRHgoKSxfLlZpKF8uQngoKS5ZKS5iaW5kKF8uQngoKSkoaCx2b2lkIDAsZCw3KSk7ZSghMCl9LGIuZWIpKTtiLk5jJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9PntfLkR4KCk7Xy5WaShfLkJ4KCkuSSkuYmluZChfLkJ4KCkpKGgsdm9pZCAwLGQsNyk7ZSghMSl9LGIuTmMpKTtiLkxoJiZmJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9Pgp7ZigpfSxiLkxoKSk7aC52aXNpYmlsaXR5TW9uaXRvcktleXM9a319OwpIeD1mdW5jdGlvbihhLGIpe2E9YS5qZj8/YTtpZihhLnZpc3VhbEVsZW1lbnQmJiFiKXJldHVybiEwO2lmKCFiKXJldHVybiExO3ZhciBjPSExO18ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmKGM9ISFiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSk7dmFyIGQ9SXgoYik7aWYoIWQmJiFjKXJldHVybiExO18ueCgibXdlYl9jb21wb25lbnRfdmlzaWJpbGl0eV9sb2dnaW5nIikmJihhLnZlQ29udGFpbmVyfHwoYS52ZUNvbnRhaW5lcj17fSksYS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtcz1kKTtpZihhLnRyYWNrZWRQYXJhbXMmJmEudHJhY2tlZFBhcmFtcz09PWR8fF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmYS52aXN1YWxFbGVtZW50Py5pc0NsaWVudFZlKCkmJihjPWEudmlzdWFsRWxlbWVudD8uZ2V0QXNKc3BiKCksXy50eChjLDIpPT09Yi5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGUmJgpfLnR4KGMsMywtMSk9PT1iLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LmVsZW1lbnRJbmRleCkpcmV0dXJuITE7Xy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWNfbG9nZ2luZyIpJiYhYS52aXN1YWxFbGVtZW50JiZiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSYmKGM9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlLGQ9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuZWxlbWVudEluZGV4LGI9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuY2xpZW50WW91dHViZURhdGEsYS52aXN1YWxFbGVtZW50PV8uRXgoXy5oeCgpLHt2ZVR5cGU6YyxlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTpifSkpO3JldHVybiEwfTsKSXg9ZnVuY3Rpb24oYSl7aWYoYT8ucmVuZGVyZXJDb250ZXh0KXtsZXQgYj1fLkIoYS5yZW5kZXJlckNvbnRleHQsXy5LeCk7aWYoYj8ubG9nZ2luZ0RpcmVjdGl2ZXMpcmV0dXJuIGIubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXN9cmV0dXJuIGE/LmxvZ2dpbmdEaXJlY3RpdmVzP2EubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXM6YT8udHJhY2tpbmdQYXJhbXN9O2ZhYT0xOwpBeD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgU2V0O3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMuY2xpZW50PXZvaWQgMDt0aGlzLmNzbj1udWxsfUsoKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Xy5pcSgpfWNsZWFyKCl7dGhpcy5ELmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5jc249bnVsbH1ZKGEsYixjLGQpe3ZhciBlPXRoaXMuaihhKSxmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuRC5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkQuYWRkKGYpO3RoaXMuby5zZXQoZiwhMCk7YS5pbXByZXNzaW9uTG9nJiYhYiYmYS5pbXByZXNzaW9uTG9nKCk7aWYoZXx8YS52aXN1YWxFbGVtZW50KWlmKGM9eXgodGhpcyxhLGMpKXt2YXIgaz0hIXRoaXMuZ2V0RGF0YShhKT8ubG9nZ2luZ0RpcmVjdGl2ZXM7aWYoengodGhpcyxhKXx8aylmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Cl8uVXcoZSksYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhfHwoYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhPXt9KSxlPWEuaW50ZXJhY3Rpb25Mb2dnaW5nQ2xpZW50RGF0YSxrfHxiP3p4KHRoaXMsYSkmND9ofHwoYT10aGlzLmNsaWVudCxfLmR4KGYsYyksZD1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGMpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxjKSxiPXtjc246Yyx2ZTpmLmdldEFzSnNvbigpLGV2ZW50VHlwZTo0fSxlJiYoYi5jbGllbnREYXRhPWUpLGM9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudFNob3duIixkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFNob3duIixiLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudFNob3duIixiLGQpKTp6eCh0aGlzLGEpJjEmJiFiJiZfLnd4KHRoaXMuY2xpZW50LGMsZixlLGQpOl8ud3godGhpcy5jbGllbnQsYyxmLGUsZCl9fUkoYSxiLGMsZCl7dmFyIGU9dGhpcy5qKGEpLApmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuQi5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkIuYWRkKGYpO3RoaXMuby5zZXQoZiwhMSk7aWYoaD09PSExKXJldHVybiEwO2lmKCFlJiYhYS52aXN1YWxFbGVtZW50KXJldHVybiExO2M9eXgodGhpcyxhLGMpO2lmKCFjfHwhengodGhpcyxhKSYmdGhpcy5nZXREYXRhKGEpPy5sb2dnaW5nRGlyZWN0aXZlcylyZXR1cm4hMTtlPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Xy5VdyhlKTt6eCh0aGlzLGEpJjg/Xy52eCh0aGlzLmNsaWVudCxjLGUsdm9pZCAwLHZvaWQgMCxkKTp6eCh0aGlzLGEpJjImJiFiJiYoYT10aGlzLmNsaWVudCxkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpkfSxjKSxiPXtjc246Yyx2ZTplLmdldEFzSnNvbigpLGV2ZW50VHlwZToyfSxjPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLApkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYixhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGIsZCkpO3JldHVybiEwfWooYSl7dmFyIGI9dGhpcy5nZXREYXRhKGEpO3JldHVybiBfLngoImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCIpJiZiPy5jb250ZXh0Py5sb2dnaW5nQ29udGV4dD8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5jb250ZXh0LmxvZ2dpbmdDb250ZXh0LmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zfHwiIjpiPy5yZW5kZXJlckNvbnRleHQ/LmxvZ2dpbmdDb250ZXh0Py5sb2dnaW5nRGlyZWN0aXZlcz9iLnJlbmRlcmVyQ29udGV4dC5sb2dnaW5nQ29udGV4dC5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6YS52ZUNvbnRhaW5lcj8udHJhY2tpbmdQYXJhbXM/YS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtczoKYj8udHJhY2tpbmdQYXJhbXN8fCIifXYoYSl7aWYoXy54KCJ3aXpfbmV4dF9jbGllbnRfdmVfcGFyZW50X2ZpeCIpKXt2YXIgYj10aGlzLmooYSk7cmV0dXJuIGEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Yj9fLlV3KGIpOihhPV8ueHgoYSkpP3RoaXMudihhKTpudWxsfWI9dGhpcy5qKGEpO3JldHVybiBhLnZpc3VhbEVsZW1lbnQ/YS52aXN1YWxFbGVtZW50OmI/Xy5VdyhiKTphLnBhcmVudEVsZW1lbnQ/dGhpcy52KGEucGFyZW50RWxlbWVudCk6bnVsbH1nZXREYXRhKGEpe3ZhciBiPWEuZGF0YXx8YS5wcm9wcz8uZGF0YTtpZighYnx8YS5pc1dlYkNvbXBvbmVudFdyYXBwZXIpYj1fLnB4LmdldChhKT8uW18ub3hdO3JldHVybiBifX07Q3g9Y2xhc3N7Y2xlYXIoKXtfLlZpKF8uQngoKS5jbGVhcikuYmluZChfLkJ4KCkpKCl9fTtfLkt4PW5ldyBfLkkoImxvZ2dpbmdDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTHg9bmV3IF8uVnMoIlZJU0lCSUxJVFlfT0JTRVJWRVIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE94LFB4LFF4LFN4LFR4LFZ4LGhhYSxpYWEsamFhLCR4LGF5LGN5LGJ5LGthYSxkeSxsYWEsZXksZ3ksaHksaXksb3kscHkscXkscnksdHksdnksb2FhLHBhYSxreTtfLk14PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ITE7ZD1fLmRkKGEsZCxlLGg9Pnt2YXIgaz1fLmt3KGgsYyxiKTtmPWshPT1oJiZrIT1udWxsO3JldHVybiBrfSk7aWYoZCE9bnVsbClyZXR1cm4gZiYmIV8uQmMoZCkmJl8ub3coYSxiKSxkfTtfLk54PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuRGEsZj1lW18uQWNdfDA7Yj1fLk14KGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5BY118MDtpZighXy5CYyhhLGYpKXtsZXQgaD1fLmx3KGIpO2ghPT1iJiYoXy5tdyhhKSYmKGU9YS5EYSxmPWVbXy5BY118MCksYj1oLGY9Xy5wdyhlLGYsYyxiLGQpLF8ub3coZSxmKSl9cmV0dXJuIGJ9OwpPeD1mdW5jdGlvbihhKXthLlp8fChhLlo9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9O1B4PWZ1bmN0aW9uKGEsYil7aWYoYS5yYSl7YS5EJiYoY2xlYXJUaW1lb3V0KGEuRCksYS5EPW51bGwpO2xldCBjPWEucmE7YS5yYT1udWxsO2J8fGEuZGlzcGF0Y2hFdmVudCgicmVhZHkiKTt0cnl7Yy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbH1jYXRjaChkKXt9fX07UXg9ZnVuY3Rpb24oYSxiKXthLmo9ITE7YS5yYSYmKGEudj0hMCxhLnJhLmFib3J0KCksYS52PSExKTthLkI9YjtPeChhKTtQeChhKX07Xy5SeD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEucmE/YS5yYS5yZWFkeVN0YXRlOjApPjI/YS5yYS5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTsKU3g9ZnVuY3Rpb24oYSl7aWYoYS5qJiZ0eXBlb2YgXy5DcSE9InVuZGVmaW5lZCIpaWYoYS5JJiYoYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk9PTQpc2V0VGltZW91dChhLmdyLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSxhLmlzQ29tcGxldGUoKSl7YS5qPSExO3RyeXtpZihhLmlzU3VjY2VzcygpKWEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle3RyeXt2YXIgYj0oYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk+Mj9hLnJhLnN0YXR1c1RleHQ6IiJ9Y2F0Y2goYyl7Yj0iIn1hLkI9YisiIFsiK18uUngoYSkrIl0iO094KGEpfX1maW5hbGx5e1B4KGEpfX19OwpUeD1mdW5jdGlvbigpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLmo9ITE7dGhpcy5yYT1udWxsO3RoaXMuQj10aGlzLmhhPSIiO3RoaXMudj10aGlzLmdhPXRoaXMuST10aGlzLlo9ITE7dGhpcy5VPTA7dGhpcy5EPW51bGw7dGhpcy55YT0iIjt0aGlzLm9hPSExfTtfLlV4PWZ1bmN0aW9uKGEpe18uRHgoKTtyZXR1cm4gXy5WaShfLkJ4KCkudikuYmluZChfLkJ4KCkpKGEpfTtWeD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiKSYmYi5jbGllbnRWZVNwZWM/KGI9Xy51eChiLmNsaWVudFZlU3BlYy51aVR5cGUsdm9pZCAwLGIuY2xpZW50VmVTcGVjLmVsZW1lbnRJbmRleCxiLmNsaWVudFZlU3BlYy5jbGllbnRZb3V0dWJlRGF0YSx2b2lkIDAsYiksXy5peChhLGIsYyxkKT9iOm51bGwpOmIudHJhY2tpbmdQYXJhbXM/Xy5seChhLGIudHJhY2tpbmdQYXJhbXMsYyxkKTpudWxsfTsKXy5XeD1mdW5jdGlvbihhLGIsYyxkLGUpe18ubncoYSk7dmFyIGY9YS5EYTtfLnB3KGYsZltfLkFjXXwwLGIsKGQ9PT0iMCI/TnVtYmVyKGMpPT09MDpjPT09ZCk/dm9pZCAwOmMsZSk7cmV0dXJuIGF9O18uWHg9ZnVuY3Rpb24oYSxiKXtpZihiPT1udWxsfHxiPT0iIilyZXR1cm4gbmV3IGE7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJ6Iik7YltfLkFjXXw9MzI7cmV0dXJuIG5ldyBhKGIpfTtfLll4PWZ1bmN0aW9uKGEsLi4uYil7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLlRhKGFbMF0pO3ZhciBjPWFbMF07Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspYys9ZW5jb2RlVVJJQ29tcG9uZW50KGJbZF0pK2FbZCsxXTtyZXR1cm4gXy5UYShjKX07Xy5aeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9OwpoYWE9ZnVuY3Rpb24oYSl7aWYoYS5NYyYmdHlwZW9mIGEuTWM9PSJmdW5jdGlvbiIpcmV0dXJuIGEuTWMoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFNldClyZXR1cm4gQXJyYXkuZnJvbShhLnZhbHVlcygpKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhLnNwbGl0KCIiKTtpZihfLnlhKGEpKXtsZXQgYj1bXSxjPWEubGVuZ3RoO2ZvcihsZXQgZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBfLlp4KGEpfTsKaWFhPWZ1bmN0aW9uKGEpe2lmKGEucmQmJnR5cGVvZiBhLnJkPT0iZnVuY3Rpb24iKXJldHVybiBhLnJkKCk7aWYoIWEuTWN8fHR5cGVvZiBhLk1jIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy55YShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7bGV0IGI9W107YT1hLmxlbmd0aDtmb3IobGV0IGM9MDtjPGE7YysrKWIucHVzaChjKTtyZXR1cm4gYn1yZXR1cm4gXy5GeChhKX19fTsKamFhPWZ1bmN0aW9uKGEsYixjKXtpZihhLmZvckVhY2gmJnR5cGVvZiBhLmZvckVhY2g9PSJmdW5jdGlvbiIpYS5mb3JFYWNoKGIsYyk7ZWxzZSBpZihfLnlhKGEpfHx0eXBlb2YgYT09PSJzdHJpbmciKUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpO2Vsc2V7bGV0IGQ9aWFhKGEpLGU9aGFhKGEpLGY9ZS5sZW5ndGg7Zm9yKGxldCBoPTA7aDxmO2grKyliLmNhbGwoYyxlW2hdLGQmJmRbaF0sYSl9fTskeD1mdW5jdGlvbihhLGIpe3RoaXMubz10aGlzLmo9bnVsbDt0aGlzLnY9YXx8bnVsbDt0aGlzLkI9ISFifTtheT1mdW5jdGlvbihhKXthLmp8fChhLmo9bmV3IE1hcCxhLm89MCxhLnYmJl8uUmIoYS52LGZ1bmN0aW9uKGIsYyl7YS5hZGQoXy5IYihiKSxjKX0pKX07Y3k9ZnVuY3Rpb24oYSxiKXtheShhKTtiPWJ5KGEsYik7cmV0dXJuIGEuai5oYXMoYil9O2J5PWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcoYik7YS5CJiYoYj1iLnRvTG93ZXJDYXNlKCkpO3JldHVybiBifTsKa2FhPWZ1bmN0aW9uKGEsYil7YiYmIWEuQiYmKGF5KGEpLGEudj1udWxsLGEuai5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSx0aGlzLnJlbW92ZShlKSxjLmxlbmd0aD4wJiYodGhpcy52PW51bGwsdGhpcy5qLnNldChieSh0aGlzLGUpLF8ueWIoYykpLHRoaXMubys9Yy5sZW5ndGgpKX0sYSkpO2EuQj1ifTtkeT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn07bGFhPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9OwpleT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/KGE9ZW5jb2RlVVJJKGEpLnJlcGxhY2UoYixsYWEpLGMmJihhPWEucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYSk6bnVsbH07Cl8uZnk9ZnVuY3Rpb24oYSl7dGhpcy5vPXRoaXMuST10aGlzLkI9IiI7dGhpcy5ZPW51bGw7dGhpcy52PXRoaXMuaj0iIjt0aGlzLkQ9ITE7dmFyIGI7YSBpbnN0YW5jZW9mIF8uZnk/KHRoaXMuRD1hLkQsZ3kodGhpcyxhLkIpLHRoaXMuST1hLkksdGhpcy5vPWEubyxoeSh0aGlzLGEuWSksdGhpcy5qPWEuaixpeSh0aGlzLGEuSy5jbG9uZSgpKSx0aGlzLnY9YS52KTphJiYoYj1fLk1iKFN0cmluZyhhKSkpPyh0aGlzLkQ9ITEsZ3kodGhpcyxiWzFdfHwiIiwhMCksdGhpcy5JPWR5KGJbMl18fCIiKSx0aGlzLm89ZHkoYlszXXx8IiIsITApLGh5KHRoaXMsYls0XSksdGhpcy5qPWR5KGJbNV18fCIiLCEwKSxpeSh0aGlzLGJbNl18fCIiLCEwKSx0aGlzLnY9ZHkoYls3XXx8IiIpKToodGhpcy5EPSExLHRoaXMuSz1uZXcgJHgobnVsbCx0aGlzLkQpKX07Z3k9ZnVuY3Rpb24oYSxiLGMpe2EuQj1jP2R5KGIsITApOmI7YS5CJiYoYS5CPWEuQi5yZXBsYWNlKC86JC8sIiIpKX07Cmh5PWZ1bmN0aW9uKGEsYil7aWYoYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI8MCl0aHJvdyBFcnJvcigiS2FgIitiKTthLlk9Yn1lbHNlIGEuWT1udWxsfTtpeT1mdW5jdGlvbihhLGIsYyl7YiBpbnN0YW5jZW9mICR4PyhhLks9YixrYWEoYS5LLGEuRCkpOihjfHwoYj1leShiLG1hYSkpLGEuSz1uZXcgJHgoYixhLkQpKX07Xy5qeT1mdW5jdGlvbihhLGIpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLnY9YXx8MTt0aGlzLmo9Ynx8Xy51O3RoaXMuQj0oMCxfLkNhKSh0aGlzLmFCLHRoaXMpO3RoaXMuRD1fLkVhKCl9O18ubHk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9bmV3IFR4O2t5LnB1c2goayk7YiYmay5saXN0ZW4oImNvbXBsZXRlIixiKTtfLmJmKGssInJlYWR5IixrLlB1KTtmJiYoay5VPU1hdGgubWF4KDAsZikpO2gmJihrLm9hPWgpO2suc2VuZChhLGMsZCxlKX07Xy5teT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYS5yZWdpc3Rlci52YWx1ZXMoKSliLnpnKCJBQk9SVEVEIil9OwpfLm55PWZ1bmN0aW9uKGEsYixjKXtzd2l0Y2goYi50eXBlKXtjYXNlICJtYXBwaW5nIjpyZXR1cm4gYi52YWx1ZTtjYXNlICJmYWN0b3J5IjpyZXR1cm4gYj1iLnZhbHVlKCksYS5tYXBwaW5ncy5zZXQoYy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSksYjtkZWZhdWx0OnJldHVybiBfLmViKGIsdm9pZCAwKX19OwpveT1mdW5jdGlvbihhLGIsYyl7aWYoXy54KCJkZWJ1Z193ZWJfdmVfZGF0YSIpKXt2YXIgZD1fLkIoYz8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlczshZCYmYyYmKGQ9Yy5sb2dnaW5nRGlyZWN0aXZlcyk7YTp7aWYoZD1jPy50cmFja2luZ1BhcmFtcz8/ZD8udHJhY2tpbmdQYXJhbXMpdHJ5e3ZhciBlPV8uQ28oZCk7aWYoZSl7bGV0IGg9Xy5FbyhlLDEpLGs9Xy5FbyhlLDIpO2U9e307aCE9PXZvaWQgMCYmKGUuR3M9TnVtYmVyKGgpKTtrIT09dm9pZCAwJiYoZS52ZVR5cGU9TnVtYmVyKGspKTt2YXIgZj1lO2JyZWFrIGF9fWNhdGNoKGgpe31mPXZvaWQgMH1mPy52ZVR5cGUhPT12b2lkIDAmJihhLmRhdGFzZXQudmU9U3RyaW5nKGYudmVUeXBlKSk7Zj8uR3MhPT12b2lkIDAmJihhLmRhdGFzZXQudmVJbmRleD1TdHJpbmcoZi5HcykpOyhjPWM/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSl8fChjPWIudmVUeXBlfHxiLmxvZ2dpbmdDb25maWc/LnZlVHlwZSk7CmMmJihhLmRhdGFzZXQudmU9U3RyaW5nKGMpKX19O3B5PWZ1bmN0aW9uKGEpe3JldHVybiBhLmxheWVyIT09dm9pZCAwP2EubGF5ZXI6YS5wYXJlbnQ/cHkoYS5wYXJlbnQpOmEubGF5ZXI9MH07cXk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnB4LmdldChhKXx8e1plOmJ9O2MuWmU9YjtfLnB4LnNldChhLGMpO2EuZ2V0U2NyZWVuTGF5ZXI9KCk9PnB5KGMuWmUpfTtyeT1mdW5jdGlvbihhKXtmb3IoYT1hLnBhcmVudE5vZGU7YSYmIV8ucHguZ2V0KGEpPy5XeCYmIShhLmpmPz9hKS5ESjspYT1hLnBhcmVudE5vZGV8fGEuaG9zdDtpZihhKXJldHVybiBfLnB4LmdldChhKX07Xy5zeT1mdW5jdGlvbihhKXtpZihhKXtfLnB4LmRlbGV0ZShhKTtsZXQgYj1fLnkoKS5yZXNvbHZlKF8uTHgpO18uR3goYSxiKX19OwpfLnV5PWZ1bmN0aW9uKGEsYixjPSExKXtpZihjKXtpZihjPWEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpLGIuZGF0YSYmIWIuQkl8fGMpXy50digoKT0+e3ZhciBkPV8uQnYoYi5kYXRhKTt0eShhLGQpO295KGEsYixkKX0sImEiKSxfLll1KCgpPT52b2lkIF8uc3koYSkpfWVsc2UgdHlwZW9mIGIuZGF0YSE9PSJmdW5jdGlvbiImJihjPWIuZGF0YSx0eShhLGMpLG95KGEsYixjKSl9Owp0eT1mdW5jdGlvbihhLGIpe25hYSsrO3Z5KGEsYikmJl8uQ2soKS5HYSgoKT0+e18ucXgoXy5DaygpLCgpPT57aWYodnkoYSxiKSYmYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudD09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYSl7dmFyIGM7aWYoYS5nZXRBdHRyaWJ1dGUoImxheWVyIikpe3ZhciBkPWM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJsYXllciIpKSxlPV8ucHguZ2V0KGEpO2U/ZS5aZS5sYXllcj1kOnF5KGEsbmV3IHd5KGQpKTsoZD1yeShhKSkmJl8ucHguZ2V0KGEpPy5aZS5zZXRQYXJlbnQoZC5aZSl9ZWxzZShjPV8ucHguZ2V0KGEpKT9jPXB5KGMuWmUpOihjPXB5LGQ9bmV3IHd5LChlPXJ5KGEpKSYmZC5zZXRQYXJlbnQoZS5aZSkscXkoYSxkKSxjPWMoZCkpO2M/PyhjPTApO2Q9YS5nZXRBdHRyaWJ1dGUoImNsaWVudC12ZS10eXBlIik7ZT1OdW1iZXIoZCk7dmFyIGY9ITE7ZD0hMTt2YXIgaD1fLnB4LmdldChhKTtoJiYoaFtfLm94XSE9PWJ8fGUmJl8ucHguZ2V0KGEpPy5VZD09PQp2b2lkIDApJiYoaFtfLm94XT1iLGY9ZD1oLld4PSEwKTtfLnB4LmhhcyhhKSYmKF8ucHguZ2V0KGEpLlVkPWUpO2EudmlzdWFsRWxlbWVudCYmKGQ9ITApO3ZhciBrO18ueCgid2l6X25leHRfbGRfZml4X2NsaWVudF92ZV9zcGVjIik/az1fLkIoYj8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM6az1iPy5sb2dnaW5nRGlyZWN0aXZlcztfLngoIndpel9uZXh0X2NsaWVudF92ZV9wYXJlbnRfZml4Iik/ayYmKGsuY2xpZW50VmVTcGVjfHxrLnRyYWNraW5nUGFyYW1zKSYmKGg9KGg9Xy54eChhKSk/Xy5VeChoKTpudWxsLGs9VngoXy5oeCgpLGssaHx8dm9pZCAwLGMpKSYmKGEudmlzdWFsRWxlbWVudD1rKTprJiZrLmNsaWVudFZlU3BlYyYmKGg9Xy5VeChhKSxrPVZ4KF8uaHgoKSxrLGh8fHZvaWQgMCxjKSkmJihhLnZpc3VhbEVsZW1lbnQ9ayk7IWEudmlzdWFsRWxlbWVudCYmZSYmZiYmKGEudmVUeXBlPWUsaz12b2lkIDAsCl8ueCgid2l6X25leHRfY2xpZW50X3ZlX3BhcmVudF9maXgiKSYmKGU9Xy54eChhKSkmJihrPV8uVXgoZSkpLGs9Xy5FeChfLmh4KCksYSxrLGMpLGEudmlzdWFsRWxlbWVudD1rKTtkJiYoaz1fLnkoKS5yZXNvbHZlKF8uTHgpLF8uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmssbGF5ZXI6YyxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifSxOYzp7VmI6ITEsc3RhdGU6ImhpZGRlbiJ9fSkpfX0sMCl9LDgpfTt2eT1mdW5jdGlvbihhLGIpe3JldHVybiBiPy50cmFja2luZ1BhcmFtc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXN8fF8uQihiPy5yZW5kZXJlckNvbnRleHQsXy5LeCl8fGEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpPyEwOiExfTtvYWE9L15odHRwcz8kL2k7cGFhPVsiUE9TVCIsIlBVVCJdO2t5PVtdO18uSGEoVHgsXy5nZik7Xy5nPVR4LnByb3RvdHlwZTtfLmcuUHU9ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKTtfLnhiKGt5LHRoaXMpfTsKXy5nLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5yYSl0aHJvdyBFcnJvcigiUGFgIit0aGlzLmhhKyJgIithKTtiPWI/Yi50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuaGE9YTt0aGlzLkI9IiI7dGhpcy5aPSExO3RoaXMuaj0hMDt0aGlzLnJhPW5ldyBYTUxIdHRwUmVxdWVzdDt0aGlzLnJhLm9ucmVhZHlzdGF0ZWNoYW5nZT0oMCxfLnlnKSgoMCxfLkNhKSh0aGlzLmdyLHRoaXMpKTt0cnl7dGhpcy5nYT0hMCx0aGlzLnJhLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuZ2E9ITF9Y2F0Y2goZil7UXgodGhpcyxmKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKWZvcihsZXQgZiBvZiBkLmtleXMoKSljLnNldChmLApkLmdldChmKSk7ZWxzZSB0aHJvdyBFcnJvcigiUWFgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmPT4iY29udGVudC10eXBlIj09Zi50b0xvd2VyQ2FzZSgpKTtlPV8udS5Gb3JtRGF0YSYmYSBpbnN0YW5jZW9mIF8udS5Gb3JtRGF0YTshKF8uc2IocGFhLGIpPj0wKXx8ZHx8ZXx8Yy5zZXQoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Iik7Zm9yKGxldCBbZixoXW9mIGMpdGhpcy5yYS5zZXRSZXF1ZXN0SGVhZGVyKGYsaCk7dGhpcy55YSYmKHRoaXMucmEucmVzcG9uc2VUeXBlPXRoaXMueWEpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5yYSYmdGhpcy5yYS53aXRoQ3JlZGVudGlhbHMhPT10aGlzLm9hJiYodGhpcy5yYS53aXRoQ3JlZGVudGlhbHM9dGhpcy5vYSk7dHJ5e3RoaXMuRCYmKGNsZWFyVGltZW91dCh0aGlzLkQpLHRoaXMuRD1udWxsKSx0aGlzLlU+MCYmKHRoaXMuRD1zZXRUaW1lb3V0KHRoaXMuZEIuYmluZCh0aGlzKSwKdGhpcy5VKSksdGhpcy5JPSEwLHRoaXMucmEuc2VuZChhKSx0aGlzLkk9ITF9Y2F0Y2goZil7UXgodGhpcyxmKX19O18uZy5kQj1mdW5jdGlvbigpe3R5cGVvZiBfLkNxIT0idW5kZWZpbmVkIiYmdGhpcy5yYSYmKHRoaXMuQj0iVGltZWQgb3V0IGFmdGVyICIrdGhpcy5VKyJtcywgYWJvcnRpbmciLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTtfLmcuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJhJiZ0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxQeCh0aGlzKSl9O18uZy5sYT1mdW5jdGlvbigpe3RoaXMucmEmJih0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEpLFB4KHRoaXMsITApKTtUeC56Yi5sYS5jYWxsKHRoaXMpfTsKXy5nLmdyPWZ1bmN0aW9uKCl7dGhpcy5pYSgpfHwodGhpcy5nYXx8dGhpcy5JfHx0aGlzLnY/U3godGhpcyk6dGhpcy5seigpKX07Xy5nLmx6PWZ1bmN0aW9uKCl7U3godGhpcyl9O18uZy5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5yYX07Xy5nLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yYT90aGlzLnJhLnJlYWR5U3RhdGU6MCk9PTR9O18uZy5pc1N1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgYT1fLlJ4KHRoaXMpLGI7aWYoIShiPV8uc2YoYSkpKXtpZihhPWE9PT0wKWE9Xy5PYihTdHJpbmcodGhpcy5oYSkpLGE9IW9hYS50ZXN0KGEpO2I9YX1yZXR1cm4gYn07Xy5nLmdldExhc3RFcnJvcj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgdGhpcy5CPT09InN0cmluZyI/dGhpcy5COlN0cmluZyh0aGlzLkIpfTtfLmc9JHgucHJvdG90eXBlOwpfLmcuYWRkPWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO3ZhciBjPXRoaXMuai5nZXQoYSk7Y3x8dGhpcy5qLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7YXkodGhpcyk7YT1ieSh0aGlzLGEpO3JldHVybiB0aGlzLmouaGFzKGEpPyh0aGlzLnY9bnVsbCx0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoLHRoaXMuai5kZWxldGUoYSkpOiExfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy52PW51bGw7dGhpcy5vPTB9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7YXkodGhpcyk7cmV0dXJuIHRoaXMubz09MH07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtheSh0aGlzKTt0aGlzLmouZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Cl8uZy5yZD1mdW5jdGlvbigpe2F5KHRoaXMpO3ZhciBhPUFycmF5LmZyb20odGhpcy5qLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5qLmtleXMoKSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YVtkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyljLnB1c2goYltkXSl9cmV0dXJuIGN9O18uZy5NYz1mdW5jdGlvbihhKXtheSh0aGlzKTt2YXIgYj1bXTtpZih0eXBlb2YgYT09PSJzdHJpbmciKWN5KHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMuai5nZXQoYnkodGhpcyxhKSkpKTtlbHNle2E9QXJyYXkuZnJvbSh0aGlzLmoudmFsdWVzKCkpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9OwpfLmcuc2V0PWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO2N5KHRoaXMsYSkmJih0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoKTt0aGlzLmouc2V0KGEsW2JdKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gYjthPXRoaXMuTWMoYSk7cmV0dXJuIGEubGVuZ3RoPjA/U3RyaW5nKGFbMF0pOmJ9OwpfLmcudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLnYpcmV0dXJuIHRoaXMudjtpZighdGhpcy5qKXJldHVybiIiO3ZhciBhPVtdLGI9QXJyYXkuZnJvbSh0aGlzLmoua2V5cygpKTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGM9YltkXTtsZXQgZT1lbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKTtjPXRoaXMuTWMoYyk7Zm9yKGxldCBmPTA7ZjxjLmxlbmd0aDtmKyspe2xldCBoPWU7Y1tmXSE9PSIiJiYoaCs9Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoY1tmXSkpKTthLnB1c2goaCl9fXJldHVybiB0aGlzLnY9YS5qb2luKCImIil9O18uZy5jbG9uZT1mdW5jdGlvbigpe3ZhciBhPW5ldyAkeDthLnY9dGhpcy52O3RoaXMuaiYmKGEuaj1uZXcgTWFwKHRoaXMuaiksYS5vPXRoaXMubyk7cmV0dXJuIGF9OwpfLmcuZXh0ZW5kPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YXJndW1lbnRzLmxlbmd0aDtiKyspamFhKGFyZ3VtZW50c1tiXSxmdW5jdGlvbihjLGQpe3RoaXMuYWRkKGQsYyl9LHRoaXMpfTt2YXIgeHk9L1sjXC9cP0BdL2cscWFhPS9bI1w/XS9nLHJhYT0vWyNcPzpdL2csc2FhPS8jL2csbWFhPS9bI1w/QF0vZzsKXy5meS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMuQjtiJiZhLnB1c2goZXkoYix4eSwhMCksIjoiKTt2YXIgYz10aGlzLm87aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkkpJiZhLnB1c2goZXkoYix4eSwhMCksIkAiKSxhLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSkucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYz10aGlzLlksYyE9bnVsbCYmYS5wdXNoKCI6IixTdHJpbmcoYykpO2lmKGM9dGhpcy5qKXRoaXMubyYmYy5jaGFyQXQoMCkhPSIvIiYmYS5wdXNoKCIvIiksYS5wdXNoKGV5KGMsYy5jaGFyQXQoMCk9PSIvIj9xYWE6cmFhLCEwKSk7KGM9dGhpcy5LLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMudikmJmEucHVzaCgiIyIsZXkoYyxzYWEpKTtyZXR1cm4gYS5qb2luKCIiKX07Cl8uZnkucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jbG9uZSgpLGM9ISFhLkI7Yz9neShiLGEuQik6Yz0hIWEuSTtjP2IuST1hLkk6Yz0hIWEubztjP2Iubz1hLm86Yz1hLlkhPW51bGw7dmFyIGQ9YS5qO2lmKGMpaHkoYixhLlkpO2Vsc2UgaWYoYz0hIWEuail7aWYoZC5jaGFyQXQoMCkhPSIvIilpZih0aGlzLm8mJiF0aGlzLmopZD0iLyIrZDtlbHNle3ZhciBlPWIuai5sYXN0SW5kZXhPZigiLyIpO2UhPS0xJiYoZD1iLmouc2xpY2UoMCxlKzEpK2QpfWU9ZDtpZihlPT0iLi4ifHxlPT0iLiIpZD0iIjtlbHNlIGlmKGUuaW5kZXhPZigiLi8iKSE9LTF8fGUuaW5kZXhPZigiLy4iKSE9LTEpe2Q9ZS5sYXN0SW5kZXhPZigiLyIsMCk9PTA7ZT1lLnNwbGl0KCIvIik7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDspe2xldCBrPWVbaCsrXTtrPT0iLiI/ZCYmaD09ZS5sZW5ndGgmJmYucHVzaCgiIik6az09Ii4uIj8oKGYubGVuZ3RoPjF8fGYubGVuZ3RoPT0KMSYmZlswXSE9IiIpJiZmLnBvcCgpLGQmJmg9PWUubGVuZ3RoJiZmLnB1c2goIiIpKTooZi5wdXNoKGspLGQ9ITApfWQ9Zi5qb2luKCIvIil9ZWxzZSBkPWV9Yz9iLmo9ZDpjPWEuSy50b1N0cmluZygpIT09IiI7Yz9peShiLGEuSy5jbG9uZSgpKTpjPSEhYS52O2MmJihiLnY9YS52KTtyZXR1cm4gYn07Xy5meS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uZnkodGhpcyl9O18uZnkucHJvdG90eXBlLmFtPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uSGEoXy5qeSxfLmdmKTtfLmc9Xy5qeS5wcm90b3R5cGU7Xy5nLmVuYWJsZWQ9ITE7Xy5nLnNjPW51bGw7Xy5nLnNldEludGVydmFsPWZ1bmN0aW9uKGEpe3RoaXMudj1hO3RoaXMuc2MmJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnNjJiZ0aGlzLnN0b3AoKX07Cl8uZy5hQj1mdW5jdGlvbigpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9Xy5FYSgpLXRoaXMuRDthPjAmJmE8dGhpcy52Ki44P3RoaXMuc2M9dGhpcy5qLnNldFRpbWVvdXQodGhpcy5CLHRoaXMudi1hKToodGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKSx0aGlzLmRpc3BhdGNoRXZlbnQoInRpY2siKSx0aGlzLmVuYWJsZWQmJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpKX19O18uZy5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnNjfHwodGhpcy5zYz10aGlzLmouc2V0VGltZW91dCh0aGlzLkIsdGhpcy52KSx0aGlzLkQ9Xy5FYSgpKX07Xy5nLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKX07Xy5nLmxhPWZ1bmN0aW9uKCl7Xy5qeS56Yi5sYS5jYWxsKHRoaXMpO3RoaXMuc3RvcCgpO2RlbGV0ZSB0aGlzLmp9O18uQXk9bmV3IF8uSSgiY29udGludWF0aW9uQ29tbWFuZCIpO18uQnk9bmV3IF8uSSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO18uQ3k9bmV3IF8uSSgidW5kb0ZlZWRiYWNrRW5kcG9pbnQiKTtfLkR5PW5ldyBfLkkoInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgdGFhO3RhYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmVnaXN0ZXI9bmV3IE1hcH1jbGVhcigpe18ubXkodGhpcyk7dGhpcy5yZWdpc3Rlci5jbGVhcigpfX07Xy5FeT1uZXcgdGFhO3ZhciB1YWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e319Y29udGFpbnMoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmosYSl9Z2V0KGEpe2lmKHRoaXMuY29udGFpbnMoYSkpcmV0dXJuIHRoaXMualthXX1zZXQoYSxiKXt0aGlzLmpbYV09Yn1yZCgpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmopfXJlbW92ZShhKXtkZWxldGUgdGhpcy5qW2FdfX07Xy5HeT1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcHBpbmdzPW5ldyB1YWE7dGhpcy5qPW5ldyBTZXR9Z2V0KGEpe3ZhciBiPXRoaXMubWFwcGluZ3MuZ2V0KGEudG9TdHJpbmcoKSk7cmV0dXJuIF8ubnkodGhpcyxiLGEpfW9uTG9hZEVycm9yKGEpe3RoaXMuai5hZGQoYSk7cmV0dXJuKCk9Pnt0aGlzLmouZGVsZXRlKGEpfX19O18uSHk9bmV3IF8uVnMoIkFTWU5DX0lOTkVSVFVCRV9UUkFOU1BPUlRfVE9LRU4iKTtfLkl5PW5ldyBfLlZzKCJJTk5FUlRVQkVfVFJBTlNQT1JUX1RPS0VOIik7Xy5KeT1uZXcgXy5WcygiUkVTUE9OU0VfUFJPQ0VTU09SX01BUF9UT0tFTiIpO3ZhciB3eT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmxheWVyPWF9c2V0UGFyZW50KGEpe3RoaXMucGFyZW50PWF9fTt2YXIgbmFhPTA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udmFhPSJwbGF5ZXJfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB4YWEseWFhLHphYSxWeSwkeSxheixieixjeixBYWEsaHosQmFhLENhYSxpeixreixFYWEsdHosd2FhLFJ5LFN5LEhhYSxJYWEsRGFhLEZhYSxkeixqeixleixmejtfLkt5PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkJmKXJldHVybiBhO3ZhciBiPW5ldyBfLkJmKF8uZ2QpO18uQWYoYiwyLGEpO3JldHVybiBifTtfLkx5PWZ1bmN0aW9uKGEsYil7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18uTXk9ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYyliPTMxKmIrYS5jaGFyQ29kZUF0KGMpPj4+MDtyZXR1cm4gYn07Xy5OeT1mdW5jdGlvbihhKXthPV8uTWIoYSk7cmV0dXJuIF8uSWIobnVsbCxudWxsLG51bGwsbnVsbCxhWzVdLGFbNl0sYVs3XSl9O18uT3k9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCIjIik7cmV0dXJuIGI8MD9hOmEuc2xpY2UoMCxiKX07Cl8uUHk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5zZWFyY2goXy5ZYiksZD0wLGUsZj1bXTsoZT1fLlhiKGEsZCxiLGMpKT49MDspZi5wdXNoKGEuc3Vic3RyaW5nKGQsZSkpLGQ9TWF0aC5taW4oYS5pbmRleE9mKCImIixlKSsxfHxjLGMpO2YucHVzaChhLnNsaWNlKGQpKTtyZXR1cm4gZi5qb2luKCIiKS5yZXBsYWNlKHdhYSwiJDEiKX07eGFhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iJjEyOD8wOi0xLGU9YS5sZW5ndGgsZjtpZihmPSEhZSlmPWFbZS0xXSxmPWYhPW51bGwmJnR5cGVvZiBmPT09Im9iamVjdCImJmYuY29uc3RydWN0b3I9PT1PYmplY3Q7dmFyIGg9ZSsoZj8tMTowKTtmb3IoYj1iJjEyOD8xOjA7YjxoO2IrKyljKGItZCxhW2JdKTtpZihmKXthPWFbZS0xXTtmb3IobGV0IGsgaW4gYSkhaXNOYU4oaykmJmMoK2ssYVtrXSl9fTtfLlF5PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09ImJvb2xlYW4iKXJldHVybiBhO2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuISFhfTsKeWFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uR2EoXy5KYyk7cmV0dXJuIGI/YVtiXTp2b2lkIDB9O3phYT1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOnJldHVybiBSeXx8KFJ5PVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/U3l8fChTeT1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLGFdO2Nhc2UgIm9iamVjdCI6cmV0dXJuIGF9fTtfLlR5PWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDI1NiZhKX07Xy5VeT1mdW5jdGlvbihhLGIpe3JldHVybiBhPSgyJmI/YXwyOmEmLTMpJi0yNzN9O1Z5PWZ1bmN0aW9uKGEsYil7MiZiJiYoYXw9Mik7cmV0dXJuIGF8MX07Cl8uV3k9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCxrKXt2YXIgbD1fLkJjKGEsYyk7Zj1sPzE6ZjtoPSEhaHx8Zj09PTM7bD1rJiYhbDsoZj09PTJ8fGwpJiZfLm13KGEpJiYoYj1hLkRhLGM9YltfLkFjXXwwKTthPV8uZGQoYixlKTtrPUFycmF5LmlzQXJyYXkoYSk/YTpfLm1yO3ZhciBtPWs9PT1fLm1yPzc6a1tfLkFjXXwwLG49VnkobSxjKTtpZihhPSEoNCZuKSl7dmFyIHA9ayxyPWM7bGV0IHQ9ISEoMiZuKTt0JiYocnw9Mik7bGV0IHY9IXQsej0hMCxFPTAsQT0wO2Zvcig7RTxwLmxlbmd0aDtFKyspe2xldCBGPV8ua3cocFtFXSxkLHIpO2lmKEYgaW5zdGFuY2VvZiBkKXtpZighdCl7bGV0IEM9Xy5CYyhGKTt2JiYodj0hQyk7eiYmKHo9Qyl9cFtBKytdPUZ9fUE8RSYmKHAubGVuZ3RoPUEpO258PTQ7bj16P24mLTQwOTc6bnw0MDk2O249dj9ufDg6biYtOX1uIT09bSYmKGtbXy5BY109biwyJm4mJk9iamVjdC5mcmVlemUoaykpO2lmKGwmJiEoOCZufHwhay5sZW5ndGgmJihmPT09MXx8CihmIT09ND8wOjImbnx8ISgxNiZuKSYmMzImYykpKSl7Xy5UeShuKSYmKGs9Wy4uLmtdLG49Xy5VeShuLGMpLGM9Xy5wdyhiLGMsZSxrKSk7ZD1rO2w9bjtmb3IobT0wO208ZC5sZW5ndGg7bSsrKXA9ZFttXSxuPV8ubHcocCkscCE9PW4mJihkW21dPW4pO2x8PTg7bj1sPWQubGVuZ3RoP2x8NDA5NjpsJi00MDk3O2tbXy5BY109bn1kPWs7bD1rPW47Zj09PTF8fChmIT09ND8wOjIma3x8ISgxNiZrKSYmMzImYyk/Xy5UeShrKXx8KGt8PSFkLmxlbmd0aHx8YSYmISg0MDk2JmspfHwzMiZjJiYhKDQwOTYma3x8MTYmayk/MjoyNTYsayE9PWwmJihkW18uQWNdPWspLE9iamVjdC5mcmVlemUoZCkpOihmPT09MiYmXy5UeShrKSYmKGQ9Wy4uLmRdLGw9MCxrPV8uVXkoayxjKSxjPV8ucHcoYixjLGUsZCkpLF8uVHkoayl8fChofHwoa3w9MTYpLGshPT1sJiYoZFtfLkFjXT1rKSkpOzIma3x8ISg0MDk2Jmt8fDE2JmspfHxfLm93KGIsYyk7cmV0dXJuIGR9OwpfLlh5PWZ1bmN0aW9uKGEsYil7Zm9yKDtiPjEyNzspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj4+PTc7YS5qLnB1c2goYil9O18uWXk9ZnVuY3Rpb24oYSxiKXtiLmxlbmd0aCE9PTAmJihhLnYucHVzaChiKSxhLm8rPWIubGVuZ3RoKX07Xy5aeT1mdW5jdGlvbihhLGIsYyl7Xy5YeShhLmosYio4K2MpfTskeT1mdW5jdGlvbihhLGIpe18uWnkoYSxiLDIpO2I9YS5qLmVuZCgpO18uWXkoYSxiKTtiLnB1c2goYS5vKTtyZXR1cm4gYn07YXo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBvcCgpO2ZvcihjPWEubythLmoubGVuZ3RoKCktYztjPjEyNzspYi5wdXNoKGMmMTI3fDEyOCksYz4+Pj03LGEubysrO2IucHVzaChjKTthLm8rK307Yno9ZnVuY3Rpb24oYSxiKXtpZihhIGluc3RhbmNlb2YgXy5NcilyZXR1cm4gYS5EYTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBfLlhjKGEsYlswXSxiWzFdKX07CmN6PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtBYWE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSkmJiEhYS5sZW5ndGgmJnR5cGVvZiBhWzBdPT09Im51bWJlciImJmFbMF0+MH07Cmh6PWZ1bmN0aW9uKGEpe3ZhciBiPUJhYSxjPUNhYSxkPWFbZHpdO2lmKGQpcmV0dXJuIGQ7ZD17fTtkLlpIPWE7ZC5PcT16YWEoYVswXSk7dmFyIGU9YVsxXSxmPTE7ZSYmZS5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQuZXh0ZW5zaW9ucz1lLGU9YVsrK2ZdLHR5cGVvZiBlPT09ImZ1bmN0aW9uIiYmKGQuU3g9ITAsZXo/Pyhlej1lKSxmej8/KGZ6PWFbZisxXSksZT1hW2YrPTJdKSk7Zm9yKHZhciBoPXt9O2UmJkFhYShlKTspe2Zvcih2YXIgaz0wO2s8ZS5sZW5ndGg7aysrKWhbZVtrXV09ZTtlPWFbKytmXX1mb3Ioaz0xO2UhPT12b2lkIDA7KXt0eXBlb2YgZT09PSJudW1iZXIiJiYoays9ZSxlPWFbKytmXSk7bGV0IG47dmFyIGw9dm9pZCAwO2UgaW5zdGFuY2VvZiBfLmd6P249ZToobj1EYWEsZi0tKTtpZihuPy5vKXtlPWFbKytmXTtsPWE7dmFyIG09Zjt0eXBlb2YgZT09PSJmdW5jdGlvbiImJihlPWUoKSxsW21dPWUpO2w9ZX1lPWFbKytmXTttPWsrMTt0eXBlb2YgZT09PSJudW1iZXIiJiYKZTwwJiYobS09ZSxlPWFbKytmXSk7Zm9yKDtrPG07aysrKXtsZXQgcD1oW2tdO2w/YyhkLGssbixsLHApOmIoZCxrLG4scCl9fXJldHVybiBhW2R6XT1kfTtCYWE9ZnVuY3Rpb24oYSxiLGMpe2FbYl09Yy5qfTtDYWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixoPWMuajthW2JdPShrLGwsbSk9PmgoayxsLG0sZnx8KGY9aHooZCkuT3EpLGV8fChlPWl6KGQpKSl9O2l6PWZ1bmN0aW9uKGEpe3ZhciBiPWFbanpdO2lmKCFiKXtsZXQgYz1oeihhKTtiPShkLGUpPT5reihkLGUsYyk7YVtqel09Yn1yZXR1cm4gYn07a3o9ZnVuY3Rpb24oYSxiLGMpe3hhYShhLGFbXy5BY118MCwoZCxlKT0+e2lmKGUhPW51bGwpe3ZhciBmPUVhYShjLGQpO2Y/ZihiLGUsZCk6ZDw1MDB8fF8ueGMoXy5rciwzKX19KTsoYT15YWEoYSkpJiZhLmN3KChkLGUsZik9PntfLll5KGIsYi5qLmVuZCgpKTtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCsrKV8uWXkoYixfLnd3KGZbZF0pfHxuZXcgVWludDhBcnJheSgwKSl9KX07CkVhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWFbYl07aWYoYylyZXR1cm4gYztpZihjPWEuZXh0ZW5zaW9ucylpZihjPWNbYl0pe2M9QXJyYXkuaXNBcnJheShjKT9jWzBdaW5zdGFuY2VvZiBfLmd6P2M6W0ZhYSxjXTpbYyx2b2lkIDBdO3ZhciBkPWNbMF0uajtpZihjPWNbMV0pe2xldCBlPWl6KGMpLGY9aHooYykuT3E7Yz1hLlN4P2Z6KGYsZSk6KGgsayxsKT0+ZChoLGssbCxmLGUpfWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTtfLmx6PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9O18ubXo9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5ReShiKTtiIT1udWxsJiYoXy5aeShhLGMsMCksYS5qLmoucHVzaChiPzE6MCkpfTtfLm56PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtfLnB6PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBfLm96KHRoaXMsYSl9fTsKXy5xej1mdW5jdGlvbigpe2lmKCFfLkxqLmlzRW5hYmxlZCgpKXJldHVybiExO2lmKCFfLkxqLmlzRW1wdHkoKSlyZXR1cm4hMDtfLkxqLnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse3ZqOjYwfSk7aWYoXy5Mai5nZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIpIT09IjEiKXJldHVybiExO18uTGoucmVtb3ZlKCJURVNUQ09PS0lFU0VOQUJMRUQiKTtyZXR1cm4hMH07Xy5yej1mdW5jdGlvbigpe3JldHVybihfLmhyfHxfLmlyKSYmXy5NaygiYXBwbGV3ZWJraXQiKSYmIV8uTWsoInZlcnNpb24iKSYmKCFfLk1rKCJzYWZhcmkiKXx8Xy5NaygiZ3NhLyIpKX07Xy5zej1mdW5jdGlvbigpe3JldHVybiBfLk5kKCl8fF8ucnooKXx8Xy5lciYmXy5NaygidmVyc2lvbi8iKT8hMDpfLncoIkVPTV9WSVNJVE9SX0RBVEEiKT8hMTohMH07Cl8udXo9ZnVuY3Rpb24oYSxiLGMsZD0hMCl7dmFyIGU9Xy53KCJWQUxJRF9TRVNTSU9OX1RFTVBEQVRBX0RPTUFJTlMiLFtdKSxmPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2YmJmUucHVzaChmKTtmPV8uUGIoYSk7aWYoXy5zYihlLGYpPj0wfHwhZiYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTApaWYoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksXy5MeShlLGEpLGE9ZS5ocmVmKWlmKGE9Xy5OeShhKSxhPV8uT3koYSkpZCYmIWIuY3NuJiYoYi5pdGN0fHxiLnZlZCkmJihiPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl9LGIpKSxjPyhjPXBhcnNlSW50KGMsMTApLGlzRmluaXRlKGMpJiZjPjAmJnR6KGEsYixjKSk6dHooYSxiKX07dHo9ZnVuY3Rpb24oYSxiLGMpe2E9Xy52eihhKTtiPWI/Xy5VYihiKToiIjtjPWN8fDU7Xy5zeigpJiZfLk1qKGEsYixjKX07Xy52ej1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgR2FhKWE9Xy5QeShhLGIpO3JldHVybiJTVC0iK18uTXkoYSkudG9TdHJpbmcoMzYpfTsKXy53ej17fTt3YWE9L1s/Jl0oJHwjKS87SGFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLmoubGVuZ3RofWVuZCgpe3ZhciBhPXRoaXMuajt0aGlzLmo9W107cmV0dXJuIGF9d3JpdGVVaW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfXdyaXRlSW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfX07SWFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy52PVtdO3RoaXMubz0wO3RoaXMuaj1uZXcgSGFhfX07Xy5nej1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO2E9Xy5HYShfLnpyKTt0aGlzLm89ISFhJiZiPT09YXx8ITF9fTtEYWE9bmV3IF8uZ3ooY3osXy56cik7RmFhPW5ldyBfLmd6KGN6LF8uenIpO2R6PVN5bWJvbCgpO2p6PVN5bWJvbCgpOwpfLm96PShhLGIpPT57dmFyIGM9bmV3IElhYTtreihhLkRhLGMsaHooYikpO18uWXkoYyxjLmouZW5kKCkpO2E9bmV3IFVpbnQ4QXJyYXkoYy5vKTtiPWMudjt2YXIgZD1iLmxlbmd0aCxlPTA7Zm9yKGxldCBmPTA7ZjxkO2YrKyl7bGV0IGg9YltmXTthLnNldChoLGUpO2UrPWgubGVuZ3RofWMudj1bYV07cmV0dXJuIGF9O18ueHo9Xy5seihfLm16LF8uQXIpOwpfLnl6PWZ1bmN0aW9uKGEsYixjPV8uenIpe3JldHVybiBuZXcgXy5neihiLGMpfShmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaigpIT09MilyZXR1cm4hMTt2YXIgZj1hLm87ZD1fLlhjKHZvaWQgMCxkWzBdLGRbMV0pO3ZhciBoPWJbXy5BY118MDtpZihoJjIpdGhyb3cgRXJyb3IoKTt2YXIgaz1oJjEyOD9fLnd6OnZvaWQgMCxsPV8uZGQoYixjLGspO2w9QXJyYXkuaXNBcnJheShsKT9sOl8ubXI7dmFyIG09bD09PV8ubXI/NzpsW18uQWNdfDAsbj1WeShtLGgpO2lmKDImbnx8Xy5UeShuKXx8MTYmbiluPT09bXx8Xy5UeShuKXx8KGxbXy5BY109biksbD1bLi4ubF0sbT0wLG49Xy5VeShuLGgpLF8ucHcoYixoLGMsbCxrKTtuJj0tMTM7biE9PW0mJihsW18uQWNdPW4pO2wucHVzaChkKTtmLmNhbGwoYSxkLGUpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpe2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8ubnooYSxiW2ZdLGMsZCxlKTsKYT1iW18uQWNdfDA7YSYxfHwoYltfLkFjXT1hfDEpfX0pO18ueno9bmV3IF8uSSgic2lnbmFsU2VydmljZUVuZHBvaW50Iik7Xy5Bej1uZXcgXy5JKCJwbGF5bGlzdEVkaXRFbmRwb2ludCIpO3ZhciBHYWE9ImFic29sdXRlX2V4cGVyaW1lbnRzIGFwcCBjb25kaXRpb25hbF9leHBlcmltZW50cyBkZWJ1Z2NzcyBkZWJ1Z2pzIGV4cGZsYWcgZm9yY2VkX2V4cGVyaW1lbnRzIHBiaiBwYmpyZWxvYWQgc2JiIHNwZiBzcGZyZWxvYWQgc3JfYm5zX2FkZHJlc3Mgc3R0aWNrIi5zcGxpdCgiICIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRXosRnosQnosR3osSmFhO18uQ3o9ZnVuY3Rpb24oYSl7cmV0dXJuISEoKEJ6KGBmJHtNYXRoLmZsb29yKGEvMzEpKzF9YCl8fDApJjE8PGElMzEpfTtfLkR6PWZ1bmN0aW9uKGEsYil7dmFyIGM9YGYke01hdGguZmxvb3IoYS8zMSkrMX1gO2E9MTw8YSUzMTt2YXIgZD1CeihjKXx8MDtkPWI/ZHxhOmQmfmE7ZD09PTA/ZGVsZXRlIF8ueHNbY106Xy54c1tjXT1kLnRvU3RyaW5nKDE2KS50b1N0cmluZygpfTtFej1mdW5jdGlvbihhKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChhKSl0aHJvdyBFcnJvcigiZmFgIithKTt9O0Z6PWZ1bmN0aW9uKGEpe2lmKCEvXlx3KyQvLnRlc3QoYSkpdGhyb3cgRXJyb3IoImdhYCIrYSk7fTtCej1mdW5jdGlvbihhKXthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChhKT9wYXJzZUludChhLDE2KTpudWxsfTsKXy5Iej1mdW5jdGlvbigpe0d6fHwoR3o9bmV3IEphYSk7cmV0dXJuIEd6fTtfLkl6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT57aWYoXy5CcShhKSlyZXR1cm4hMTtfLkFxKGEsdm9pZCAwLHZvaWQgMCk7cmV0dXJuITB9KSgpfTsKSmFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPV8udygiQUxUX1BSRUZfQ09PS0lFX05BTUUiLCJQUkVGIik7dGhpcy5vPV8udygiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIGE9Xy5Mai5nZXQodGhpcy5qLHZvaWQgMCk7YSYmdGhpcy5wYXJzZShhKX1nZXQoYSxiKXtGeihhKTtFeihhKTthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGw/YTpiP2I6IiJ9c2V0KGEsYil7RnooYSk7RXooYSk7aWYoYj09bnVsbCl0aHJvdyBFcnJvcigiZWEiKTtfLnhzW2FdPWIudG9TdHJpbmcoKX1yZW1vdmUoYSl7RnooYSk7RXooYSk7ZGVsZXRlIF8ueHNbYV19c2F2ZSgpe18uTWoodGhpcy5qLHRoaXMuZHVtcCgpLDYzMDcyRTMsdGhpcy5vLCEwKX1jbGVhcigpe2ZvcihsZXQgYSBpbiBfLnhzKWRlbGV0ZSBfLnhzW2FdfWR1bXAoKXt2YXIgYT1bXTtmb3IobGV0IGIgaW4gXy54cylfLnhzLmhhc093blByb3BlcnR5KGIpJiYKYS5wdXNoKGAke2J9PWArZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhfLnhzW2JdKSkpO3JldHVybiBhLmpvaW4oIiYiKX1wYXJzZShhKXthPWRlY29kZVVSSUNvbXBvbmVudChhKS5zcGxpdCgiJiIpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgYj1hW2NdLnNwbGl0KCI9Iik7bGV0IGQ9YlswXTsoYj1iWzFdKSYmKF8ueHNbZF09Yi50b1N0cmluZygpKX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExhYSxLYWE7Xy5Kej1mdW5jdGlvbihhLGIpe2Eudi5zZXQoYi5qYSxiKTt2YXIgYz1hLmouZ2V0KGIuamEpO2lmKGMpdHJ5e2MuUWgoYS5yZXNvbHZlKGIuamEpKX1jYXRjaChkKXtjLlF6KGQpfX07Xy5Lej1mdW5jdGlvbihhLGI9Xy5hYil7cmV0dXJuIF8uYmIoYSxiKXx8Xy5GcX07Xy5Mej1mdW5jdGlvbigpe3JldHVybiBfLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07Xy5Nej1mdW5jdGlvbihhLGIpe3ZhciBjPV8uTHooKTtpZihjJiZiKXtsZXQgZD1jLnN1YnNjcmliZShhLGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLGY9KCk9PntfLlJzW2RdJiZiLmFwcGx5JiZ0eXBlb2YgYi5hcHBseT09ImZ1bmN0aW9uIiYmYi5hcHBseSh3aW5kb3csZSl9O3RyeXtfLlRzW2FdP2YoKTpfLm1qKGYsMCl9Y2F0Y2goaCl7Xy5VaShoKX19LHZvaWQgMCk7Xy5Sc1tkXT0hMDtfLlNzW2FdfHwoXy5Tc1thXT1bXSk7Xy5Tc1thXS5wdXNoKGQpO3JldHVybiBkfXJldHVybiAwfTsKXy5Oej1mdW5jdGlvbihhKXt2YXIgYj1fLkx6KCk7YiYmKHR5cGVvZiBhPT09Im51bWJlciI/YT1bYV06dHlwZW9mIGE9PT0ic3RyaW5nIiYmKGE9W3BhcnNlSW50KGEsMTApXSksXy50YihhLGM9PntiLnVuc3Vic2NyaWJlQnlLZXkoYyk7ZGVsZXRlIF8uUnNbY119KSl9O18uT3o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkx6KCk7cmV0dXJuIGM/Yy5wdWJsaXNoLmFwcGx5KGMsYXJndW1lbnRzKTohMX07Xy5Qej1mdW5jdGlvbihhKXtyZXR1cm4gS2FhW2FdfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9O0xhYT1mdW5jdGlvbigpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZT8uKCJtYXJrIik7YSYmYS5mb3JFYWNoKGI9PntiLm5hbWUuc3RhcnRzV2l0aCgibWFya18iKSYmXy5zcS5jbGVhck1hcmtzPy4oYi5uYW1lKX0pfTtfLlF6PWZ1bmN0aW9uKGEpe18ucmEoInl0Z2xvYmFsLnRpbWluZyIrKGF8fCIiKSsicmVhZHlfIiwhMCl9OwpfLlJ6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT5fLkJxKCJfc3RhcnQiLGEpKSgpfTtfLlN6PWZ1bmN0aW9uKGEpe18uVmkoKCk9PntfLlJ6KGEpJiZfLkFxKCJhYSIsdm9pZCAwLGEpO3ZhciBiPWF8fCIiLGM9Xy50bygpO2NbYl0mJmRlbGV0ZSBjW2JdO3ZhciBkPXt0aW1lck5hbWU6YixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07Xy5zbyhkKTtjW2JdPWQ7Xy5qbyhhKTsoMCxfLmJ0KSgpO0xhYSgpO2F8fChfLncoIlRJTUlOR19BQ1RJT04iKSYmXy5RaSgiUFJFVklPVVNfQUNUSU9OIixfLncoIlRJTUlOR19BQ1RJT04iKSksXy5RaSgiVElNSU5HX0FDVElPTiIsIiIpKX0pKCl9OwpfLlR6PWZ1bmN0aW9uKGEsYj17fSxjLGQpe18uVmkoKCk9Pnt2YXIgZT1jP2M6YTtfLlN6KGUpO3ZhciBmPWIuc2FtcGxlUmF0ZTtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fGY9PT12b2lkIDB8fGY8PTEpZj0hMTtlbHNle3ZhciBoPV8ucG8oZSk7Zj1fLkduKGgpJWYhPT0wfWYmJihfLmtvKGUpLmFjdGlvbkRpc2FibGVkPSEwKTtfLnVvKGV8fCIiKS5pbmZvLmFjdGlvblR5cGU9YTtiLmN0dEF1dGhJbmZvJiYoXy5rbyhlKS5jdHRBdXRoSW5mbz1iLmN0dEF1dGhJbmZvKTtfLlFpKGUrIlRJTUlOR19BQ1RJT04iLGEpO18uVmkoXy5vcSkoYi5zdGFydFRpbWUsZSk7Zj17YWN0aW9uVHlwZTpkfHxfLlB6KGEpfTtiLlRKJiYoZi5wcmV2aW91c0FjdGlvbj1fLlB6KF8udygiVElNSU5HX0FDVElPTiIpKSk7KGg9Xy5pcSgpKSYmaCE9PSJVTkRFRklORURfQ1NOIiYmKGYuY2xpZW50U2NyZWVuTm9uY2U9aCk7Xy56cShmLGUpO18uUXooZSl9KSgpfTsKS2FhPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9O18uVXo9bmV3IF8uSSgiZmVlZGJhY2tFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZ6PWZ1bmN0aW9uKGEsYil7aWYoYiE9PW51bGwmJmIhPT12b2lkIDApe2lmKHR5cGVvZiBiIT09Im9iamVjdCImJnR5cGVvZiBiIT09ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJkIik7aWYoYz09PXZvaWQgMCl7aWYoIVN5bWJvbC5kaXNwb3NlKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTt2YXIgYz1iW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgYyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZyIpO2Euc3RhY2sucHVzaCh7dmFsdWU6YixkaXNwb3NlOmMsYXN5bmM6ITF9KX1yZXR1cm4gYn07Cl8uV3o9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihmKXthLmVycm9yPWEuaGFzRXJyb3I/bmV3IFN1cHByZXNzZWRFcnJvcihmLGEuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTpmO2EuaGFzRXJyb3I9ITB9ZnVuY3Rpb24gYygpe2Zvcig7ZD1hLnN0YWNrLnBvcCgpOyl0cnl7aWYoIWQuYXN5bmMmJmU9PT0xKXJldHVybiBlPTAsYS5zdGFjay5wdXNoKGQpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYyk7aWYoZC5kaXNwb3NlKXt2YXIgZj1kLmRpc3Bvc2UuY2FsbChkLnZhbHVlKTtpZihkLmFzeW5jKXJldHVybiBlfD0yLFByb21pc2UucmVzb2x2ZShmKS50aGVuKGMsZnVuY3Rpb24oaCl7YihoKTtyZXR1cm4gYygpfSl9ZWxzZSBlfD0xfWNhdGNoKGgpe2IoaCl9aWYoZT09PTEpcmV0dXJuIGEuaGFzRXJyb3I/UHJvbWlzZS5yZWplY3QoYS5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKCk7aWYoYS5oYXNFcnJvcil0aHJvdyBhLmVycm9yO312YXIgZCwKZT0wO2MoKX07Xy5Yej1mdW5jdGlvbigpe3RyeXtyZXR1cm4hIXNlbGYubG9jYWxTdG9yYWdlfWNhdGNoe3JldHVybiExfX07Xy5Zej1uZXcgXy5JKCJzaGFyZUVuZHBvaW50Iik7Xy5aej1uZXcgXy5JKCJzaGFyZUVudGl0eUVuZHBvaW50Iik7Xy5NYWE9bmV3IF8uSSgic2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtfLk5hYT1uZXcgXy5JKCJ3ZWJQbGF5ZXJTaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFBPWZ1bmN0aW9uKGEsYj17fSxjKXthPShhPWEgaW4gXy4kej9fLiR6W2FdOmMpfHwiIjtmb3IobGV0IGQgaW4gYiljPSgpPT5TdHJpbmcoYltkXSksYT1hLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFwkXFx7IitkKyJcXH0iLCJnaSIpLGMpLGE9YS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrZCwiZ2kiKSxjKTtyZXR1cm4gYX07Xy4kej13aW5kb3cueXQmJndpbmRvdy55dC5tc2dzX3x8d2luZG93Lnl0Y2ZnJiZ3aW5kb3cueXRjZmcubXNnc3x8e307Xy5yYSgieXQubXNnc18iLF8uJHopOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY0E7Xy5iQT1mdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoIjoiKTtyZXR1cm4gYj09PS0xP3tNbTphfTp7TW06YS5zdWJzdHJpbmcoMCxiKSxkYXRhc3luY0lkOmEuc3Vic3RyaW5nKGIrMSl9fTtfLmVBPWFzeW5jIGZ1bmN0aW9uKCl7cmV0dXJuIGNBIT09dm9pZCAwP2NBOmNBPW5ldyBQcm9taXNlKGFzeW5jIGE9Pnt0cnl7YXdhaXQgXy5kQS5vcGVuKCJ0ZXN0LW9ubHkiKSxhd2FpdCBfLmRBLmRlbGV0ZSgidGVzdC1vbmx5Iil9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIEVycm9yJiZiLm5hbWU9PT0iU2VjdXJpdHlFcnJvciIpe2EoITEpO3JldHVybn19YSgiY2FjaGVzImluIHdpbmRvdyl9KX07Xy5kQT1fLnUuY2FjaGVzOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdBPW5ldyBXZWFrTWFwO18uaEE9bmV3IFNldDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiYmFzZSIpOwp2YXIgQVosQlosQ1osY3JhLERaLGVyYSxFWixGWixIWixLWixMWixNWixmcmEsUFosUVosU1osZ3JhLFZaLGNfLGRfLGVfLGZfLGdfLGhfLGlfLGpfLGtfLGlyYSxqcmEsa3JhLGxyYSxucmEsbV8sbl8sb18scF8scV8scl8sc18sdF8sdV8sdl8sd18seF8scHJhLHlfLHpfLHFyYSxBXyxycmEsc3JhLHRyYSxCXyxDXyxEXyxGXyxHXyxIXyxJXyxKXyxLXyxMXyxNXyxPXyxQXyxRXyxSXyxTXyxocmEsdXJhLHZyYSxUXyxVXyxWXyxXXyxYXyxZXyx3cmEsJF8sYTAsYjAseHJhLGQwLHlyYSxlMCx6cmEsQnJhLENyYSxEcmEsZzAsRXJhLEZyYSxHcmEsaDAsaTAsbDAsSHJhLGswLGowLG4wLElyYSxKcmEsbzAsS3JhLHAwLHEwLHIwLExyYSxNcmEsTnJhLE9yYSxQcmEsUXJhLHQwLHYwLHcwLHgwLFNyYSxUcmEseTAsQTAsQjAsQzAsRDAsRTAsRzAsVXJhLFZyYSxIMCxXcmEsWHJhLFlyYSxJMCxKMCxTMCxUMCxQMCxVMCxMMCxRMCxLMCxPMCxNMCxOMCxacmEsUjAsJHJhLFYwLGFzYSxjc2EsClgwLFkwLFowLCQwLGExLGRzYSxiMSxjMSxlc2EsZnNhLGdzYSxkMSxmMSxoc2EsZzEsanNhLGtzYSxqMSxsc2EsazEsbDEsbTEsbXNhLHIxLHNzYSx1c2EsdjEseTEsdzEsdnNhLHhzYSxCMSxDMSxEMSx5c2EsRTEsRjEsQXNhLEJzYSx6c2EsQ3NhLEVzYSxGc2EsR3NhLHFzYSxvMSxuc2EsSTEsSHNhLEcxLElzYSxKc2EsSzEsTTEsTjEsS3NhLE8xLFAxLExzYSxSMSxPc2EsUHNhLFJzYSxRMSxVMSxXMSxUc2EsJDEsWDEsVXNhLFZzYSxXc2EsWHNhLGF0YSxidGEsZjIsJHNhLFpzYSxhMixlMixiMixjdGEsZzIsaDIsaTIsazIsbDIsZXRhLGZ0YSxndGEsbjIscDIsbzIsdDIsanRhLHIyLGl0YSx3Mix2MixtdGEsbnRhLG90YSxwdGEseDIseTIsejIsQTIsQzIsdXRhLHZ0YSxFMixGMix3dGEsRzIseXRhLFpfLEkyLEoyLEwyLHp0YSxOMixPMixQMixCdGEsUTIsRHRhLFMyLFQyLFUyLEV0YSxWMixXMixGdGEsR3RhLGEzLGIzLEl0YSxlMyxKdGEsZDMsZjMsS3RhLEx0YSxNdGEsYzMsSHRhLApoMyxOdGEsazMsT3RhLFB0YSxRdGEsbTMsbjMsbDMsUnRhLG8zLHAzLFN0YSxxMyxUdGEscjMsczMsdzMsVXRhLHgzLHkzLFZ0YSxZdGEsWnRhLEMzLEQzLEUzLCR0YSxidWEsY3VhLEczLGR1YSxldWEsWHRhLEgzLEkzLGZ1YSxndWEsYzQsZDQsZTQsaHVhLGY0LGl1YSxqdWEsWXNhLGh0YSxrdWEsbnVhLGc0LGk0LHB1YSxoNCxrNCxzdWEsdHVhLGw0LG00LHZ1YSx3dWEsbzQseHVhLHl1YSxxNCx6dWEsQXVhLEJ1YSxEdWEsR3VhLHY0LEp1YSx3NCxJdWEsSHVhLEt1YSx4NCx5NCx6NCxBNCxENCxDNCxCNCxFNCxNdWEsRjQsT3VhLFB1YSxRdWEsUnVhLFN1YSxUdWEsVXVhLEk0LEs0LFp1YSwkdWEsUTQsTTQsVnVhLFI0LFM0LGF2YSxidmEsY3ZhLGR2YSxkcmEsQTMsR1osSVosSlosTl8sTlosT1osUlosVFosVVosJFosYV8sYl8sWlosWVosV1osWFosbF8sRV8sb3JhLFY0LGV2YSxXNCxYNCxmdmEsWTQsWjQsZ3ZhLGh2YSxpdmEsanZhLGt2YSwkNCxsdmEsbXZhLGE1LG52YSxiNSwKYzUsb3ZhLHB2YTtBWj1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O0JaPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5xdyhhLGIsQVooYykpfTtDWj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCl7aWYoISgwLF8ud3IpKGMpKXRocm93IF8uSXcoImVudW0iKTtjfD0wfXJldHVybiBfLnF3KGEsYixjKX07Y3JhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaChhLmNoYXJDb2RlQXQoYykpO3JldHVybiBifTtEWj1mdW5jdGlvbihhLGIpe3JldHVybiBhW2JdKyhhW2IrMV08PDgpKyhhW2IrMl08PDE2KSsoYVtiKzNdPDwyNCl9OwplcmE9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2MtPWQ7Yy09ZTtjXj1lPj4+MTM7ZC09ZTtkLT1jO2RePWM8PDg7ZS09YztlLT1kO2VePWQ+Pj4xMztjLT1kO2MtPWU7Y149ZT4+PjEyO2QtPWU7ZC09YztkXj1jPDwxNjtlLT1jO2UtPWQ7ZV49ZD4+PjU7Yy09ZDtjLT1lO2NePWU+Pj4zO2QtPWU7ZC09YztkXj1jPDwxMDtlLT1jO2UtPWQ7ZV49ZD4+PjE1fWE9Y3JhKGEpO2Zvcih2YXIgYz0yNjU0NDM1NzY5LGQ9MjY1NDQzNTc2OSxlPTMxNDE1OTI2NSxmPWEubGVuZ3RoLGg9ZixrPTA7aD49MTI7aC09MTIsays9MTIpYys9RFooYSxrKSxkKz1EWihhLGsrNCksZSs9RFooYSxrKzgpLGIoKTtlKz1mO3N3aXRjaChoKXtjYXNlIDExOmUrPWFbaysxMF08PDI0O2Nhc2UgMTA6ZSs9YVtrKzldPDwxNjtjYXNlIDk6ZSs9YVtrKzhdPDw4O2Nhc2UgODpkKz1hW2srN108PDI0O2Nhc2UgNzpkKz1hW2srNl08PDE2O2Nhc2UgNjpkKz1hW2srNV08PDg7Y2FzZSA1OmQrPWFbays0XTtjYXNlIDQ6Yys9CmFbayszXTw8MjQ7Y2FzZSAzOmMrPWFbaysyXTw8MTY7Y2FzZSAyOmMrPWFbaysxXTw8ODtjYXNlIDE6Yys9YVtrXX1iKCk7cmV0dXJuIGRyYS50b1N0cmluZyhlKX07RVo9ZnVuY3Rpb24oYSxiKXthLmFkZE9uRGlzcG9zZUNhbGxiYWNrKF8uRGEoXy5aZCxiKSl9O0ZaPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVWludDhBcnJheShfLnd3KGEpfHwwKX07SFo9ZnVuY3Rpb24oYSl7cmV0dXJuKEdafHwoR1o9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKGEpfTtLWj1mdW5jdGlvbihhKXt2YXIgYj1hPj4+MDtJWj1iO0paPShhLWIpLzQyOTQ5NjcyOTY+Pj4wfTtMWj1mdW5jdGlvbihhKXtpZihhPDApe0taKC1hKTthPUlaO3ZhciBiPUpaO2I9fmI7YT9hPX5hKzE6Yis9MTtsZXQgW2MsZF09W2EsYl07SVo9Yz4+PjA7Slo9ZD4+PjB9ZWxzZSBLWihhKX07Ck1aPWZ1bmN0aW9uKGEpe2EubGVuZ3RoPDE2P0xaKE51bWJlcihhKSk6KGE9QmlnSW50KGEpLElaPU51bWJlcihhJkJpZ0ludCg0Mjk0OTY3Mjk1KSk+Pj4wLEpaPU51bWJlcihhPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSkpfTsKZnJhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIG5ldyBOWihfLnV3KGEpLCEwKTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBuZXcgTloobmV3IFVpbnQ4QXJyYXkoYSksITApO2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybiBuZXcgTlooYSwhMSk7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKXJldHVybiBhPW5ldyBVaW50OEFycmF5KGEpLG5ldyBOWihhLCExKTtpZihhLmNvbnN0cnVjdG9yPT09Xy5SYyl7bGV0IGI9Xy53dyhhKXx8bmV3IFVpbnQ4QXJyYXkoMCk7cmV0dXJuIG5ldyBOWihiLCEwLGEpfWlmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBhPWEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5P2E6bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCksbmV3IE5aKGEsITEpO3Rocm93IEVycm9yKCk7fTsKUFo9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubz09PTA/bmV3IE9aKDAsMSt+YS5qKTpuZXcgT1oofmEubysxLH5hLmopfTtRWj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IE9aKGEmNDI5NDk2NzI5NSxNYXRoLmZsb29yKGEvNDI5NDk2NzI5NikpfTtTWj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gUlp8fChSWj1uZXcgT1ooMCwwKSk7aWYoIS9eXGQrJC8udGVzdChhKSlyZXR1cm4gbnVsbDtNWihhKTtyZXR1cm4gbmV3IE9aKElaLEpaKX07Z3JhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVFooYSY0Mjk0OTY3Mjk1LE1hdGguZmxvb3IoYS80Mjk0OTY3Mjk2KSl9O1ZaPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBVWnx8KFVaPW5ldyBUWigwLDApKTtpZighL14tP1xkKyQvLnRlc3QoYSkpcmV0dXJuIG51bGw7TVooYSk7cmV0dXJuIG5ldyBUWihJWixKWil9OwpjXz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIEJpZ0ludDY0QXJyYXkhPT0idW5kZWZpbmVkIilyZXR1cm4gV1p8fChXWj1uZXcgQmlnSW50NjRBcnJheSgxKSxYWj1uZXcgVWludDMyQXJyYXkoV1ouYnVmZmVyKSxXWlswXT1CaWdJbnQoMSksWVo9WFpbMF09PT0xKSxXWlswXT1hLGE9WVo/MDoxLG5ldyBiKFhaW2FdLFhaWzEtYV0pO1pafHwoJFo9QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSxhXz1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLGJfPUJpZ0ludCg0Mjk0OTY3Mjk1KSxaWj1CaWdJbnQoMzIpKTtpZihhPj0kWiYmYTw9YV8pcmV0dXJuIGMoTnVtYmVyKGEpKTthPUJpZ0ludC5hc1VpbnROKDY0LGEpO3JldHVybiBuZXcgYihOdW1iZXIoYSZiXyksTnVtYmVyKGE+PlpaKSl9O2RfPWZ1bmN0aW9uKGEsYixjKXtmb3IoO2M+MHx8Yj4xMjc7KWEuai5wdXNoKGImMTI3fDEyOCksYj0oYj4+Pjd8Yzw8MjUpPj4+MCxjPj4+PTc7YS5qLnB1c2goYil9OwplXz1mdW5jdGlvbihhLGIpe2Euai5wdXNoKGI+Pj4wJjI1NSk7YS5qLnB1c2goYj4+PjgmMjU1KTthLmoucHVzaChiPj4+MTYmMjU1KTthLmoucHVzaChiPj4+MjQmMjU1KX07Zl89ZnVuY3Rpb24oYSxiKXtpZihiPj0wKV8uWHkoYSxiKTtlbHNle2ZvcihsZXQgYz0wO2M8OTtjKyspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj49NzthLmoucHVzaCgxKX19O2dfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjpTWihhKX19O2hfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjphLmxlbmd0aCYmYVswXT09PSItIj9TWihhLnN1YnN0cmluZygxKSk6U1ooYSl9fTsKaV89ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpc3dpdGNoKGdfKGMpLF8uWnkoYSxiLDEpLHR5cGVvZiBjKXtjYXNlICJudW1iZXIiOmE9YS5qO0taKGMpO2VfKGEsSVopO2VfKGEsSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhjLE9aLFFaKTthPWEuajtiPWMuajtlXyhhLGMubyk7ZV8oYSxiKTticmVhaztkZWZhdWx0OmM9U1ooYyksYT1hLmosYj1jLmosZV8oYSxjLm8pLGVfKGEsYil9fTtqXz1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKGM9cGFyc2VJbnQoYywxMCksXy5aeShhLGIsMCksZl8oYS5qLGMpKX07a189ZnVuY3Rpb24oYSxiLGMpe18uWnkoYSxiLDIpO18uWHkoYS5qLGMubGVuZ3RoKTtfLll5KGEsYS5qLmVuZCgpKTtfLll5KGEsYyl9OwppcmE9ZnVuY3Rpb24oYSl7dmFyIGI9InRydWUiLnRvU3RyaW5nKCksYz1baHJhYGRhdGEtYF07aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJoIik7aWYoYy5tYXAoZD0+e2lmKGQgaW5zdGFuY2VvZiBsXylkPWQuajtlbHNlIHRocm93IEVycm9yKCJoIik7cmV0dXJuIGR9KS5ldmVyeShkPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoZCkhPT0wKSl0aHJvdyBFcnJvcigiaWBkYXRhLWxvYWRlZCIpO2Euc2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIsYil9O2pyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYSxiLHZvaWQgMCl9O2tyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYSxiLHtkdXJhdGlvbjowfSl9O2xyYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPmI/MTphPGI/LTE6MH07Cm5yYT1mdW5jdGlvbigpe3ZhciBhPW1yYTtyZXR1cm4gXy5DYyhiPT57Zm9yKGxldCBjIGluIGEpaWYoYj09PWFbY10mJiEvXlswLTldKyQvLnRlc3QoYykpcmV0dXJuITA7cmV0dXJuITF9KX07bV89ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO3ZhciBjO2I8PTIwOTcxNTE/Yz0iIisoNDI5NDk2NzI5NipiK2EpOmM9IiIrKEJpZ0ludChiKTw8QmlnSW50KDMyKXxCaWdJbnQoYSkpO3JldHVybiBjfTtuXz1mdW5jdGlvbihhLGIpe3ZhciBjPWIqNDI5NDk2NzI5NisoYT4+PjApO3JldHVybiBOdW1iZXIuaXNTYWZlSW50ZWdlcihjKT9jOm1fKGEsYil9O29fPWZ1bmN0aW9uKCl7dmFyIGE9SVosYj1KWixjO2ImMjE0NzQ4MzY0OD9jPSIiKyhCaWdJbnQoYnwwKTw8QmlnSW50KDMyKXxCaWdJbnQoYT4+PjApKTpjPW1fKGEsYik7cmV0dXJuIGN9OwpwXz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IEVycm9yKCJxYCIrdHlwZW9mIGErImAiK2EpO3JldHVybiBhfTtxXz1mdW5jdGlvbihhKXtpZihhPT1udWxsfHx0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiBhO2lmKGE9PT0iTmFOInx8YT09PSJJbmZpbml0eSJ8fGE9PT0iLUluZmluaXR5IilyZXR1cm4gTnVtYmVyKGEpfTtyXz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4oMCxfLndyKShhKTtjYXNlICJzdHJpbmciOnJldHVybiBvcmEudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07c189ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hPj4+MDp2b2lkIDB9Owp0Xz1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLnhyKShOdW1iZXIoYSkpO2lmKCgwLF8udnIpKGIpKXJldHVybiBfLkZjKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxCaWdJbnQoYSkpKX07dV89ZnVuY3Rpb24oYSl7dmFyIGI9KDAsXy54cikoTnVtYmVyKGEpKTtpZigoMCxfLnZyKShiKSlyZXR1cm4gU3RyaW5nKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtiPWEubGVuZ3RoOyhhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3Iil8fChNWihhKSxhPW9fKCkpO3JldHVybiBhfTsKdl89ZnVuY3Rpb24oYSl7YT0oMCxfLnhyKShhKTtpZighKDAsXy52cikoYSkpe0xaKGEpO3ZhciBiPUlaLGM9Slo7aWYoYT1jJjIxNDc0ODM2NDgpYj1+YisxPj4+MCxjPX5jPj4+MCxiPT0wJiYoYz1jKzE+Pj4wKTtiPW5fKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O3dfPWZ1bmN0aW9uKGEpe2E9KDAsXy54cikoYSk7KDAsXy52cikoYSk/YT1TdHJpbmcoYSk6KExaKGEpLGE9b18oKSk7cmV0dXJuIGF9O3hfPWZ1bmN0aW9uKGEpe3JldHVybigwLF8udnIpKGEpP18uRmModl8oYSkpOl8uRmMod18oYSkpfTsKcHJhPWZ1bmN0aW9uKGEpe3ZhciBiPXZvaWQgMDtiPTEwMjQ7aWYoIXJfKGEpKXRocm93IF8uSXcoImludDY0Iik7dmFyIGM9dHlwZW9mIGE7c3dpdGNoKGIpe2Nhc2UgNTEyOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIHdfKGEpfWNhc2UgMTAyNDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gdF8oYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4geF8oYSl9Y2FzZSAwOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBfLkZjKCgwLF8udHIpKDY0LGEpKTtkZWZhdWx0OnJldHVybiB2XyhhKX1kZWZhdWx0OnJldHVybiBfLmViKGIsIlVua25vd24gZm9ybWF0IHJlcXVlc3RlZCB0eXBlIGZvciBpbnQ2NCIpfX07CnlfPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6cHJhKGEpfTt6Xz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtpZihhPT1udWxsKXJldHVybiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7aWYocl8oYSkpcmV0dXJuIGI9PT0ic3RyaW5nIj90XyhhKTp4XyhhKX07cXJhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7dmFyIGI9dHlwZW9mIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2lmKHJfKGEpKXtpZihiPT09InN0cmluZyIpcmV0dXJuIHVfKGEpO2lmKGI9PT0ibnVtYmVyIilyZXR1cm4gdl8oYSl9fTsKQV89ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTt2YXIgYj10eXBlb2YgYTtpZihiPT09ImJpZ2ludCIpcmV0dXJuIFN0cmluZygoMCxfLnVyKSg2NCxhKSk7aWYocl8oYSkpe2lmKGI9PT0ic3RyaW5nIilyZXR1cm4gYj0oMCxfLnhyKShOdW1iZXIoYSkpLCgwLF8udnIpKGIpJiZiPj0wP2E9U3RyaW5nKGIpOihiPWEuaW5kZXhPZigiLiIpLGIhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSksYVswXT09PSItIj9iPSExOihiPWEubGVuZ3RoLGI9YjwyMD8hMDpiPT09MjAmJmE8PSIxODQ0Njc0NDA3MzcwOTU1MTYxNSIpLGJ8fChNWihhKSxhPW1fKElaLEpaKSkpLGE7aWYoYj09PSJudW1iZXIiKXJldHVybiBhPSgwLF8ueHIpKGEpLGE+PTAmJigwLF8udnIpKGEpfHwoTFooYSksYT1uXyhJWixKWikpLGF9fTtycmE9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJzdHJpbmcifHxhIGluc3RhbmNlb2YgXy5SYylyZXR1cm4gYX07CnNyYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O3RyYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5OdyhhLCEwKX07Ql89ZnVuY3Rpb24oYSl7YT1fLmVkKGEsMSx2b2lkIDAsdm9pZCAwLHRyYSk7cmV0dXJuIGE9PW51bGw/Xy5NdygpOmF9OwpDXz1mdW5jdGlvbihhLGIsYyl7Xy5udyhhKTt2YXIgZD1hLkRhLGU9ZFtfLkFjXXwwO2lmKGI9PW51bGwpcmV0dXJuIF8ucHcoZCxlLDMpLGE7dmFyIGY9Yj09PV8ubXI/NzpiW18uQWNdfDAsaD1mLGs9Xy5UeShmKSxsPWt8fE9iamVjdC5pc0Zyb3plbihiKTtrfHwoZj0wKTtsfHwoYj1bLi4uYl0saD0wLGY9Xy5VeShmLGUpLGw9ITEpO2Z8PTU7az0oNCZmPzUxMiZmPzUxMjoxMDI0JmY/MTAyNDowOnZvaWQgMCk/PzEwMjQ7Znw9aztmb3IobGV0IG09MDttPGIubGVuZ3RoO20rKyl7bGV0IG49YlttXSxwPWMobixrKTtPYmplY3QuaXMobixwKXx8KGwmJihiPVsuLi5iXSxoPTAsZj1fLlV5KGYsZSksbD0hMSksYlttXT1wKX1mIT09aCYmKGwmJihiPVsuLi5iXSxmPV8uVXkoZixlKSksYltfLkFjXT1mKTtfLnB3KGQsZSwzLGIpO3JldHVybiBhfTsKRF89ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5nZXQoZCk7aWYoZSE9bnVsbClyZXR1cm4gZTtlPTA7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspe2xldCBoPWRbZl07Xy5kZChiLGgpIT1udWxsJiYoZSE9PTAmJihjPV8ucHcoYixjLGUpKSxlPWgpfWEuc2V0KGQsZSk7cmV0dXJuIGV9O0ZfPWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7YT1hLkRhO3ZhciBlPWFbXy5BY118MDtpZihkPT1udWxsKXt2YXIgZj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2lmKERfKGYsYSxlLGMpPT09YilmLnNldChjLDApO2Vsc2UgcmV0dXJufWVsc2V7Zj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2xldCBoPURfKGYsYSxlLGMpO2ghPT1iJiYoaCYmKGU9Xy5wdyhhLGUsaCkpLGYuc2V0KGMsYikpfV8ucHcoYSxlLGIsZCl9O0dfPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkRhO3JldHVybiBfLld5KGEsZCxkW18uQWNdfDAsYixjLHZvaWQgMD09PV8ub3I/Mjo0LCExLCEwKX07CkhfPWZ1bmN0aW9uKGEsYixjKXtfLm53KGEpO3ZhciBkPWEuRGEsZT1kW18uQWNdfDA7aWYoYz09bnVsbClyZXR1cm4gXy5wdyhkLGUsYiksYTt2YXIgZj1jPT09Xy5tcj83OmNbXy5BY118MCxoPWYsaz1fLlR5KGYpLGw9a3x8T2JqZWN0LmlzRnJvemVuKGMpLG09ITAsbj0hMDtmb3IobGV0IHI9MDtyPGMubGVuZ3RoO3IrKyl7dmFyIHA9Y1tyXTtrfHwocD1fLkJjKHApLG0mJihtPSFwKSxuJiYobj1wKSl9a3x8KGY9bT8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7bCYmZj09PWh8fChjPVsuLi5jXSxoPTAsZj1fLlV5KGYsZSkpO2YhPT1oJiYoY1tfLkFjXT1mKTtlPV8ucHcoZCxlLGIsYyk7MiZmfHwhKDQwOTYmZnx8MTYmZil8fF8ub3coZCxlKTtyZXR1cm4gYX07SV89ZnVuY3Rpb24oYSxiLGM9Xy55cil7cmV0dXJuIF8uZWQoYSxiLHZvaWQgMCx2b2lkIDAsel8pPz9jfTtKXz1mdW5jdGlvbihhLGIsYz0iIixkKXtyZXR1cm4gXy5YdChfLmVkKGEsYixkKSk/P2N9OwpLXz1mdW5jdGlvbihhKXthPV8uZWQoYSwxKTtyZXR1cm4oYT09bnVsbD9hOigwLF8ud3IpKGEpP2F8MDp2b2lkIDApPz8wfTtMXz1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSl7dmFyIGQ9YltfLkFjXXwwO2lmKGQmNClyZXR1cm4gYjtmb3IodmFyIGU9MCxmPTA7ZTxiLmxlbmd0aDtlKyspe2xldCBoPWEoYltlXSk7aCE9bnVsbCYmKGJbZisrXT1oKX1mPGUmJihiLmxlbmd0aD1mKTthPWR8MTtjJiYoYT0oYXw0KSYtMTUzNyk7YSE9PWQmJihiW18uQWNdPWEpO2MmJmEmMiYmT2JqZWN0LmZyZWV6ZShiKTtyZXR1cm4gYn19O01fPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9OwpPXz1mdW5jdGlvbihhLGIsYyl7Yj1xXyhiKTtiIT1udWxsJiYoXy5aeShhLGMsMSksYT1hLmosYz1OX3x8KE5fPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxjLnNldEZsb2F0NjQoMCwrYiwhMCksSVo9Yy5nZXRVaW50MzIoMCwhMCksSlo9Yy5nZXRVaW50MzIoNCwhMCksZV8oYSxJWiksZV8oYSxKWikpfTtQXz1mdW5jdGlvbihhLGIsYyl7Yj1xcmEoYik7aWYoYiE9bnVsbCl7c3dpdGNoKHR5cGVvZiBiKXtjYXNlICJzdHJpbmciOlZaKGIpfWlmKGIhPW51bGwpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLFRaLGdyYSk7ZF8oYS5qLGMubyxjLmopO2JyZWFrO2RlZmF1bHQ6Yz1WWihiKSxkXyhhLmosYy5vLGMuail9fX07UV89ZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksZl8oYS5qLGIpKX07ClJfPWZ1bmN0aW9uKGEsYixjKXtiPV8uWHQoYik7YiE9bnVsbCYma18oYSxjLEhaKGIpKX07U189ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pl8uWHgoYSxiKX07aHJhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgbF8oYVswXS50b0xvd2VyQ2FzZSgpKX07Xy5lVj1mdW5jdGlvbihhLGIpe3RoaXMueD1hIT09dm9pZCAwP2E6MDt0aGlzLnk9YiE9PXZvaWQgMD9iOjB9O3VyYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gXy5zcylpZihhLmNhbGwodm9pZCAwLF8uc3NbYl0sYixfLnNzKSlyZXR1cm4gYn07dnJhPWZ1bmN0aW9uKGEsYil7aWYoYSE9PW51bGwmJmIgaW4gYSl0aHJvdyBFcnJvcigiQWAiK2IpO2FbYl09ITB9O1RfPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09bnVsbCYmInByaXZlbWJlZCJpbiBhP2EucHJpdmVtYmVkOiExfTtVXz1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9OwpWXz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudDtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj9iLmdldEVsZW1lbnRCeUlkKGEpOmF9O1dfPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChiKX07WF89ZnVuY3Rpb24oYSl7dHlwZW9mIGE9PSJudW1iZXIiJiYoYT1NYXRoLnJvdW5kKGEpKyJweCIpO3JldHVybiBhfTtZXz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVNhZmVTY3JpcHRXcmFwcGVkVmFsdWUpP18ua2IoYSk6bnVsbDpudWxsfTt3cmE9ZnVuY3Rpb24oKXt2YXIgYT1aXztfLnNhKCJ5dC5hZHMuYmlzY290dGkuZ2V0SWRfIil8fF8ucmEoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iLGEpfTskXz1mdW5jdGlvbihhKXtfLnJhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIsYSl9OwphMD1mdW5jdGlvbihhKXtyZXR1cm4gYS5pbmRleE9mKCI/IikhPT0tMT8oYT0oYXx8IiIpLnNwbGl0KCIjIilbMF0sYT1hLnNwbGl0KCI/IiwyKSxfLmJqKGEubGVuZ3RoPjE/YVsxXTphWzBdKSk6e319O2IwPWZ1bmN0aW9uKGEpe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IGI9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDthLmo9YS5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO2Eubz1hLmNsaWVudFkrYn19Owp4cmE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5hZGRFdmVudExpc3RlbmVyJiYoYiE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P2IhPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9iPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoYj0iTW96TW91c2VQaXhlbFNjcm9sbCIpOmI9Im1vdXNlb3V0IjpiPSJtb3VzZW92ZXIiKTtyZXR1cm4gdXJhKGU9Pnt2YXIgZj10eXBlb2YgZVs0XT09PSJib29sZWFuIiYmZVs0XT09ISFkLGg7aWYoaD1fLkFhKGVbNF0pJiZfLkFhKGQpKWE6e2g9ZVs0XTtmb3IobGV0IGsgaW4gaClpZighKGsgaW4gZCl8fGhba10hPT1kW2tdKXtoPSExO2JyZWFrIGF9Zm9yKGxldCBrIGluIGQpaWYoIShrIGluIGgpKXtoPSExO2JyZWFrIGF9aD0hMH1yZXR1cm4hIWUubGVuZ3RoJiZlWzBdPT1hJiZlWzFdPT1iJiZlWzJdPT1jJiYoZnx8aCl9KX07CmQwPWZ1bmN0aW9uKGEsYixjLGQ9e30pe2lmKCFhfHwhYS5hZGRFdmVudExpc3RlbmVyJiYhYS5hdHRhY2hFdmVudClyZXR1cm4iIjt2YXIgZT14cmEoYSxiLGMsZCk7aWYoZSlyZXR1cm4gZTtlPSsrXy50cy5jb3VudCsiIjt2YXIgZj0hKGIhPSJtb3VzZWVudGVyIiYmYiE9Im1vdXNlbGVhdmUifHwhYS5hZGRFdmVudExpc3RlbmVyfHwib25tb3VzZWVudGVyImluIGRvY3VtZW50KTt2YXIgaD1mP2s9PntrPW5ldyBjMChrKTtpZighXy5ndyhrLnJlbGF0ZWRUYXJnZXQsbD0+bD09YSwhMCkpcmV0dXJuIGsuY3VycmVudFRhcmdldD1hLGsudHlwZT1iLGMuY2FsbChhLGspfTprPT57az1uZXcgYzAoayk7ay5jdXJyZW50VGFyZ2V0PWE7cmV0dXJuIGMuY2FsbChhLGspfTtoPV8uVmkoaCk7YS5hZGRFdmVudExpc3RlbmVyPyhiPT0ibW91c2VlbnRlciImJmY/Yj0ibW91c2VvdmVyIjpiPT0ibW91c2VsZWF2ZSImJmY/Yj0ibW91c2VvdXQiOmI9PSJtb3VzZXdoZWVsIiYmIk1vekJveFNpemluZyJpbgpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJihiPSJNb3pNb3VzZVBpeGVsU2Nyb2xsIiksKDAsXy51cykoKXx8dHlwZW9mIGQ9PT0iYm9vbGVhbiI/YS5hZGRFdmVudExpc3RlbmVyKGIsaCxkKTphLmFkZEV2ZW50TGlzdGVuZXIoYixoLCEhZC5jYXB0dXJlKSk6YS5hdHRhY2hFdmVudChgb24ke2J9YCxoKTtfLnNzW2VdPVthLGIsYyxoLGRdO3JldHVybiBlfTt5cmE9ZnVuY3Rpb24oYSl7YSYmKHR5cGVvZiBhPT0ic3RyaW5nIiYmKGE9W2FdKSxfLnRiKGEsYj0+e2lmKGIgaW4gXy5zcyl7dmFyIGM9Xy5zc1tiXTtsZXQgZD1jWzBdLGU9Y1sxXSxmPWNbM107Yz1jWzRdO2QucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oMCxfLnVzKSgpfHx0eXBlb2YgYz09PSJib29sZWFuIj9kLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxmLGMpOmQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGYsISFjLmNhcHR1cmUpOmQuZGV0YWNoRXZlbnQmJmQuZGV0YWNoRXZlbnQoYG9uJHtlfWAsZik7ZGVsZXRlIF8uc3NbYl19fSkpfTsKZTA9ZnVuY3Rpb24oYSl7dGhpcy5NPWE7dGhpcy5qPW51bGw7dGhpcy5CPTA7dGhpcy5JPW51bGw7dGhpcy5EPTA7dGhpcy5vPVtdO2ZvcihhPTA7YTw0O2ErKyl0aGlzLm8ucHVzaCgwKTt0aGlzLnY9MDt0aGlzLlo9ZDAod2luZG93LCJtb3VzZW1vdmUiLCgwLF8uQ2EpKHRoaXMuZ2EsdGhpcykpO2E9KDAsXy5DYSkodGhpcy5VLHRoaXMpO3R5cGVvZiBhPT09ImZ1bmN0aW9uIiYmKGE9Xy5WaShhKSk7dGhpcy5oYT13aW5kb3cuc2V0SW50ZXJ2YWwoYSwyNSl9O3pyYT1mdW5jdGlvbigpe3ZhciBhPV8ucmooImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxiPT5OdW1iZXIoYnx8MCkpOltOdW1iZXIoYXx8MCldfTsKQnJhPWZ1bmN0aW9uKCl7KHtoYW5kbGVFcnJvcjphPV8uSHAsbG06Yj1fLkVwfT17fSk7dmFyIGE7Zm9yKF8uR2s9bmV3IEFyYShhLGIpO18uSGsubGVuZ3RoPjA7KXt2YXIgYj1fLkhrLnNoaWZ0KCk7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRVJST1IiOl8uR2suSmIoYi5wYXlsb2FkKTticmVhaztjYXNlICJFVkVOVCI6Xy5Hay5sbShiLmV2ZW50VHlwZSxiLnBheWxvYWQpfX19O0NyYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2woZD0+Yz9kLnVzZXJJZGVudGlmaWVyIT09dm9pZCAwJiYhYS5pbmNsdWRlcyhkLnVzZXJJZGVudGlmaWVyKSYmYy5pbmNsdWRlcyhkLnB1YmxpY05hbWUpOmQudXNlcklkZW50aWZpZXIhPT12b2lkIDAmJiFhLmluY2x1ZGVzKGQudXNlcklkZW50aWZpZXIpLGIpfTsKRHJhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVmooIll0SWRiTWV0YSBoYXNBbnlNZXRhIG90aGVyIik7cmV0dXJuKGF3YWl0IF8uR2woYz0+Yy51c2VySWRlbnRpZmllciE9PXZvaWQgMCYmYy51c2VySWRlbnRpZmllciE9PWIsYSkpLmxlbmd0aD4wfTtnMD1mdW5jdGlvbihhLGIpe2YwfHwoZjA9Xy5qZi5wYihhc3luYygpPT57dmFyIGM9YXdhaXQgXy5QbCgpO2lmKGMpe3ZhciBkPSEwO3RyeXtsZXQgZT1hd2FpdCBDcmEoYSxjLGIpO2lmKGUubGVuZ3RoKXtsZXQgZj1lWzBdO2F3YWl0IF8uQWwoZi5hY3R1YWxOYW1lKTthd2FpdCBfLkZsKGYuYWN0dWFsTmFtZSxjKX1lbHNlIGQ9ITF9Y2F0Y2goZSl7Xy5JayhlKSxkPSExfV8uamYuQWEoZjApO2YwPTA7ZCYmZzAoYSxiKX19KSl9O0VyYT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPWF3YWl0IF8uUGwoKTtyZXR1cm4gYT9EcmEoYSk6ITF9OwpGcmE9ZnVuY3Rpb24oYSl7KDAsXy5lbCkoKTtpZighYS5ib2R5KXJldHVybiBhO3RyeXtsZXQgYj10eXBlb2YgYS5ib2R5PT09InN0cmluZyI/YS5ib2R5OkpTT04uc3RyaW5naWZ5KGEuYm9keSksYz1iO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe2xldCBkPV8udW0oYik7aWYoZCE9bnVsbCYmKGQ+Xy53bXx8ZDxfLnhtKSlyZXR1cm4gYTtjPV8uTmkoKDAsXy55bSkoYikpOygwLF8uZWwpKCl9YS5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihhLmhlYWRlcnN8fHt9KX07YS5ib2R5PWM7cmV0dXJuIGF9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksYX19O0dyYT1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8uUGwoKSYmKF8uV2ooKXx8Xy54KCJud2xfaW5pdF9yZXF1aXJlX2RhdGFzeW5jX2lkX2tpbGxzd2l0Y2giKSkmJl8uc24oKSYmKF8udW49ITAsXy50bi5pc053bEluaXRpYWxpemVkPV8udW4sYXdhaXQgXy5wbigpLmF3YWl0SW5pdGlhbGl6YXRpb24oKSl9OwpoMD1mdW5jdGlvbihhKXtfLlNzW2FdJiYoYT1fLlNzW2FdLF8udGIoYSxiPT57Xy5Sc1tiXSYmZGVsZXRlIF8uUnNbYl19KSxhLmxlbmd0aD0wKX07aTA9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5MeigpO2lmKGIpaWYoYi5jbGVhcihhKSxhKWgwKGEpO2Vsc2UgZm9yKGxldCBjIGluIF8uU3MpaDAoYyl9O2wwPWZ1bmN0aW9uKHt1SzphPSExLE1JOmI9ITB9PXt9KXtpZihfLnNhKCJfbGFjdCIsd2luZG93KT09bnVsbCl7dmFyIGM9cGFyc2VJbnQoXy53KCJMQUNUIiksMTApO2M9aXNGaW5pdGUoYyk/RGF0ZS5ub3coKS1NYXRoLm1heChjLDApOi0xO18ucmEoIl9sYWN0IixjLHdpbmRvdyk7Xy5yYSgiX2ZhY3QiLGMsd2luZG93KTtjPT0tMSYmajAoKTtIcmEoYSxiKTtuZXcgZTAoKCk9PntrMCgibW91c2UiLDEwMCl9KX19OwpIcmE9ZnVuY3Rpb24oYT0hMSxiPSEwKXt2YXIgYz13aW5kb3c7ZDAoYy5kb2N1bWVudCwia2V5ZG93biIsajApO2QwKGMuZG9jdW1lbnQsImtleXVwIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2Vkb3duIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2V1cCIsajApO2E/ZDAoYywidG91Y2htb3ZlIiwoKT0+e2swKCJ0b3VjaG1vdmUiLDIwMCl9LHtwYXNzaXZlOiEwfSk6KGQwKGMsInJlc2l6ZSIsKCk9PntrMCgicmVzaXplIiwyMDApfSksYiYmZDAoYywic2Nyb2xsIiwoKT0+e2swKCJzY3JvbGwiLDIwMCl9KSk7ZDAoYy5kb2N1bWVudCwidG91Y2hzdGFydCIsajAse3Bhc3NpdmU6ITB9KTtkMChjLmRvY3VtZW50LCJ0b3VjaGVuZCIsajAse3Bhc3NpdmU6ITB9KX07azA9ZnVuY3Rpb24oYSxiKXttMFthXXx8KG0wW2FdPSEwLF8uamYucGIoKCk9PntqMCgpO20wW2FdPSExfSxiKSl9OwpqMD1mdW5jdGlvbigpe18uc2EoIl9sYWN0Iix3aW5kb3cpPT1udWxsJiZsMCgpO3ZhciBhPURhdGUubm93KCk7Xy5yYSgiX2xhY3QiLGEsd2luZG93KTtfLnNhKCJfZmFjdCIsd2luZG93KT09LTEmJl8ucmEoIl9mYWN0IixhLHdpbmRvdyk7KGE9Xy5zYSgieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJmEoKX07bjA9ZnVuY3Rpb24oKXt2YXIgYT1fLmtvKCk7YS5pbmZvfHwoYS5pbmZvPXt9KTtyZXR1cm4gYS5pbmZvfTtJcmE9ZnVuY3Rpb24oKXt2YXIgYT1fLm5vKCk7YS5wcmVMb2dnZWRHZWxJbmZvc3x8KGEucHJlTG9nZ2VkR2VsSW5mb3M9W10pO3JldHVybiBhLnByZUxvZ2dlZEdlbEluZm9zfTsKSnJhPWZ1bmN0aW9uKGEsYj0iVW5rbm93biBmaWxlIixjPTAsZCxlLGYpe3ZhciBoPSExLGs9Xy5SaSgibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIik7aWYoayYmTWF0aC5yYW5kb20oKTxrKWg9ITA7ZWxzZXtrPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtmb3IobGV0IGw9MCxtPWsubGVuZ3RoO2w8bTtsKyspaWYoa1tsXS5zcmMuaW5kZXhPZigiL2RlYnVnLSIpPjApe2g9ITA7YnJlYWt9fWgmJihoPSExLGU/aD0hMDoodHlwZW9mIGE9PT0ic3RyaW5nIj9rPWE6RXJyb3JFdmVudCYmYSBpbnN0YW5jZW9mIEVycm9yRXZlbnQ/KGg9ITAsaz1hLm1lc3NhZ2UsYj1hLmZpbGVuYW1lLGM9YS5saW5lbm8sZD1hLmNvbG5vKTooaz0iVW5rbm93biBlcnJvciIsYj0iVW5rbm93biBmaWxlIixjPTApLGU9bmV3IF8uWGooayksZS5uYW1lPSJVbmhhbmRsZWRXaW5kb3dFcnJvciIsZS5tZXNzYWdlPWssZS5maWxlTmFtZT1iLGUubGluZU51bWJlcj1jLGlzTmFOKGQpPwpkZWxldGUgZS5jb2x1bW5OdW1iZXI6ZS5jb2x1bW5OdW1iZXI9ZCksZiYmXy5jdyhlLGYpLGg/Xy5HcChlKTpfLklwKGUpKX07bzA9ZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIEVycm9yP18uR3AoYSk6KGE9Xy5BYShhKT9KU09OLnN0cmluZ2lmeShhKTpTdHJpbmcoYSksYT1uZXcgXy5YaihhKSxhLm5hbWU9IlJlamVjdGVkUHJvbWlzZUVycm9yIixfLklwKGEpKX07S3JhPWZ1bmN0aW9uKCl7Xy50YihfLncoIkVSUk9SUyIpfHxbXSxhPT57Xy5HcC5hcHBseShudWxsLGEpfSk7Xy5RaSgiRVJST1JTIixbXSl9O3AwPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueCgiY3NpX3VzZV90aW1lX29yaWdpbiIpfHxfLngoImNzaV91c2VfdGltZV9vcmlnaW5fdHZodG1sNSIpKSYmXy5zcS50aW1lT3JpZ2luP01hdGguZmxvb3IoXy5zcS50aW1lT3JpZ2luKTpfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9O3EwPWZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnJvdW5kKHAwKCkrYSl9OwpyMD1mdW5jdGlvbigpe3ZhciBhO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpPyhhPV8uc3E/LmdldEVudHJpZXNCeVR5cGU/LigibmF2aWdhdGlvbiIpPy5bMF0/LnRvSlNPTj8uKCkpPyhhLnJlcXVlc3RTdGFydD1xMChhLnJlcXVlc3RTdGFydCksYS5yZXNwb25zZUVuZD1xMChhLnJlc3BvbnNlRW5kKSxhLnJlZGlyZWN0U3RhcnQ9cTAoYS5yZWRpcmVjdFN0YXJ0KSxhLnJlZGlyZWN0RW5kPXEwKGEucmVkaXJlY3RFbmQpLGEuZG9tYWluTG9va3VwRW5kPXEwKGEuZG9tYWluTG9va3VwRW5kKSxhLmNvbm5lY3RTdGFydD1xMChhLmNvbm5lY3RTdGFydCksYS5jb25uZWN0RW5kPXEwKGEuY29ubmVjdEVuZCksYS5yZXNwb25zZVN0YXJ0PXEwKGEucmVzcG9uc2VTdGFydCksYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQ9cTAoYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQpLGEuZG9tYWluTG9va3VwU3RhcnQ9cTAoYS5kb21haW5Mb29rdXBTdGFydCksYS5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZz0KITApOmE9Xy5zcS50aW1pbmc6YT1fLngoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfLnNxLnRpbWluZykpOl8uc3EudGltaW5nO3JldHVybiBhfTtMcmE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtpZigidmlzaWJpbGl0eVN0YXRlImluIGEpYT1hLnZpc2liaWxpdHlTdGF0ZTtlbHNle3ZhciBiPV8ucnMrIlZpc2liaWxpdHlTdGF0ZSI7YT1iIGluIGE/YVtiXTp2b2lkIDB9c3dpdGNoKGEpe2Nhc2UgImhpZGRlbiI6cmV0dXJuIDA7Y2FzZSAidmlzaWJsZSI6cmV0dXJuIDE7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4gMjtjYXNlICJ1bmxvYWRlZCI6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4tMX19OwpNcmE9ZnVuY3Rpb24oKXtpZihfLnNxLmdldEVudHJpZXNCeVR5cGUpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKTtpZihhPV8udmIoYSxjPT5jLm5hbWU9PT0iZmlyc3QtcGFpbnQiKSlyZXR1cm4gcTAoYS5zdGFydFRpbWUpfXZhciBiO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP2I9Xy5zcS5nZXRFbnRyaWVzQnlUeXBlKCJmaXJzdC1wYWludCIpWzBdLnN0YXJ0VGltZTpiPV8uc3EudGltaW5nLmFLO3JldHVybiBiP01hdGgubWF4KDAsYik6MH07Ck5yYT1mdW5jdGlvbigpe3ZhciBhPV8udygiVElNSU5HX0lORk8iLHt9KSxiPXt9LGM9KGQsZSxmKT0+e2U9ZS5tYXRjaCgiX3JpZCIpP2Uuc3BsaXQoIl9yaWQiKVswXTplO3R5cGVvZiBmPT09Im51bWJlciImJihmPUpTT04uc3RyaW5naWZ5KGYpKTtkLnJlcXVlc3RJZHM/ZC5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OmUsaWQ6Zn0pOmQucmVxdWVzdElkcz1be2VuZHBvaW50OmUsaWQ6Zn1dfTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2E9ZDtsZXQgZj1lO3N3aXRjaChhKXtjYXNlICJHZXRCcm93c2VfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRHdWlkZV9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldEhvbWVfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRQbGF5ZXJfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZWFyY2hfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZXR0aW5nc19yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldFRyZW5kaW5nX3JpZCI6YyhiLAphLGYpO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgInl0X3JlZCI6Yi5pc1JlZFN1YnNjcmliZXI9ISFmO2JyZWFrO2Nhc2UgInl0X2FkIjpiLmlzTW9uZXRpemVkPSEhZn19cmV0dXJuIGJ9O09yYT1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxiPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTtiPWpyYShiLGM9PmMubmFtZS5pbmRleE9mKGAke2F9Ly9mb250cy5nc3RhdGljLmNvbS9zL2ApPT09MCk7KGI9a3JhKGIsKGMsZCk9PmQuZHVyYXRpb24+Yy5kdXJhdGlvbj9kOmMpKSYmYi5zdGFydFRpbWU+MCYmYi5yZXNwb25zZUVuZD4wJiYoXy5ucSgid2ZmcyIscTAoYi5zdGFydFRpbWUpKSxfLm5xKCJ3ZmZlIixxMChiLnJlc3BvbnNlRW5kKSkpfTsKUHJhPWZ1bmN0aW9uKGEsYil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCFhKXJldHVybiExO3ZhciBjPSIiLGQ9YS5ub2RlTmFtZTtkPT09IlNDUklQVCI/KGM9YS5zcmMsY3x8KGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGltaW5nLWhyZWYiKSkmJihjPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCtjKSk6ZD09PSJMSU5LIiYmKGM9YS5ocmVmKTtfLmliKGRvY3VtZW50KSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixfLmliKGRvY3VtZW50KSk7cmV0dXJuIGM/KGE9Xy5zcS5nZXRFbnRyaWVzQnlOYW1lKGMpKSYmYVswXSYmKGE9YVswXSxjPXAwKCksXy5ucSgicnNmXyIrYixjK01hdGgucm91bmQoYS5mZXRjaFN0YXJ0KSksXy5ucSgicnNlXyIrYixjK01hdGgucm91bmQoYS5yZXNwb25zZUVuZCkpLGEudHJhbnNmZXJTaXplIT09dm9pZCAwJiZhLnRyYW5zZmVyU2l6ZT09PTApPyEwOiExOiExfTsKUXJhPWZ1bmN0aW9uKCl7dmFyIGE9SXJhKCksYj1fLm9vKCksYz12b2lkIDA7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBrPWFbZF07aWYoay5sb2FkVHlwZSl7Yz1rLmxvYWRUeXBlO2JyZWFrfX1pZihfLmxvKCkubG9hZFR5cGU9PT0iY29sZCImJihiLmxvYWRUeXBlPT09ImNvbGQifHxjPT09ImNvbGQiKSl7Yz1fLm1vKCk7ZD1fLm5vKCk7ZD1kLmdlbFRpY2tzP2QuZ2VsVGlja3M6ZC5nZWxUaWNrcz17fTtmb3IodmFyIGUgaW4gYyllIGluIGR8fHR5cGVvZiBjW2VdPT09Im51bWJlciImJl8ubnEoZSxfLnVxKGUpKTt2YXIgZj17fSxoPSExO2U9az0+e18ueW4oYixrKTtfLnluKGYsayk7aD0hMH07Zm9yKGxldCBrIG9mIGEpZShrKTtoJiZfLnBxKGYpfX07CnQwPWZ1bmN0aW9uKGEsYil7Xy5WaSgoKT0+e18udW8oIiIpLmluZm8uYWN0aW9uVHlwZT1hO2ImJl8uUWkoIlRJTUlOR19BRlRfS0VZUyIsYik7Xy5RaSgiVElNSU5HX0FDVElPTiIsYSk7dmFyIGM9TnJhKCk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJl8ucHEoYyk7Yz17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6Xy5QeihfLncoIlRJTUlOR19BQ1RJT04iKSl9O3ZhciBkPV8udygiUFJFVklPVVNfQUNUSU9OIik7ZCYmKGMucHJldmlvdXNBY3Rpb249Xy5QeihkKSk7aWYoZD1fLncoIkNMSUVOVF9QUk9UT0NPTCIpKWMuaHR0cFByb3RvY29sPWQ7aWYoZD1fLncoIkNMSUVOVF9UUkFOU1BPUlQiKSljLnRyYW5zcG9ydFByb3RvY29sPWQ7KGQ9Xy5pcSgpKSYmZCE9PSJVTkRFRklORURfQ1NOIiYmKGMuY2xpZW50U2NyZWVuTm9uY2U9ZCk7ZD1McmEoKTtpZihkPT09MXx8ZD09PS0xKWMuaXNWaXNpYmxlPSEwO18ubG8oKTtuMCgpO2MubG9hZFR5cGU9ImNvbGQiO2Q9bjAoKTt2YXIgZT0KcjAoKSxmPXAwKCksaD1fLncoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtoPjAmJiFfLngoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJihmPWgpO2YmJihfLm5xKCJzcnQiLGUucmVzcG9uc2VTdGFydCksZC5wcmVyZW5kZXIhPT0xJiZfLm9xKGYpKTtkPU1yYSgpO2Q+MCYmXy5ucSgiZnB0IixkKTtkPXIwKCk7ZC5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmXy5wcSh7cGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOiEwfSx2b2lkIDApO18ubnEoIm5yZXFzIixkLnJlcXVlc3RTdGFydCx2b2lkIDApO18ubnEoIm5yZXNzIixkLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTtfLm5xKCJucmVzZSIsZC5yZXNwb25zZUVuZCx2b2lkIDApO2QucmVkaXJlY3RFbmQtZC5yZWRpcmVjdFN0YXJ0PjAmJihfLm5xKCJucnMiLGQucmVkaXJlY3RTdGFydCx2b2lkIDApLF8ubnEoIm5yZSIsZC5yZWRpcmVjdEVuZCx2b2lkIDApKTtkLmRvbWFpbkxvb2t1cEVuZC0KZC5kb21haW5Mb29rdXBTdGFydD4wJiYoXy5ucSgibmRuc3MiLGQuZG9tYWluTG9va3VwU3RhcnQsdm9pZCAwKSxfLm5xKCJuZG5zZSIsZC5kb21haW5Mb29rdXBFbmQsdm9pZCAwKSk7ZC5jb25uZWN0RW5kLWQuY29ubmVjdFN0YXJ0PjAmJihfLm5xKCJudGNwcyIsZC5jb25uZWN0U3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO2Quc2VjdXJlQ29ubmVjdGlvblN0YXJ0Pj1wMCgpJiZkLmNvbm5lY3RFbmQtZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQ+MCYmKF8ubnEoIm5zdGNwcyIsZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO18uc3EmJiJnZXRFbnRyaWVzQnlUeXBlImluIF8uc3EmJk9yYSgpO2Q9W107aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmXy5zcSYmXy5zcS5nZXRFbnRyaWVzQnlOYW1lKWZvcih2YXIgayBpbiBzMClzMC5oYXNPd25Qcm9wZXJ0eShrKSYmKGU9CnMwW2tdLFByYShrLGUpJiZkLnB1c2goZSkpO2lmKGQubGVuZ3RoPjApe2MucmVzb3VyY2VJbmZvPVtdO2ZvcihsZXQgbCBvZiBkKWMucmVzb3VyY2VJbmZvLnB1c2goe3Jlc291cmNlQ2FjaGU6bH0pfV8ucHEoYyk7UXJhKCk7Xy5ReigpO2s9Xy53KCJUSU1JTkdfQUNUSU9OIik7Xy5zYSgieXRnbG9iYWwudGltaW5ncmVhZHlfIikmJmsmJl8uUnooKSYmXy52cSgpJiZfLnRxKCl9KSgpfTt2MD1mdW5jdGlvbihhKXtpZighXy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4iIjthPV8uUWIoYSl8fCIiO3ZhciBiPU9iamVjdC5rZXlzKHUwKTtmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKyl7bGV0IGQ9YltjXTtpZihhLmluY2x1ZGVzKGQpKXJldHVybiBkfXJldHVybiIifTsKdzA9ZnVuY3Rpb24oYSl7aWYoIV8ueCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXUwW2FdO3JldHVybiBiPyhfLkl6KGIpLCgpPT57dmFyIGM9Xy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oYz1ScmFbYV0pP18uSXooYyk6ITE6ITE7cmV0dXJuIGN9KTooKT0+e319O3gwPWZ1bmN0aW9uKGEpe18uVmkoKCk9PntpZighXy5SeigiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIil8fF8uQnEoYSwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIikpcmV0dXJuITE7Xy5BcShhLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7cmV0dXJuITB9KSgpfTtTcmE9ZnVuY3Rpb24oKXtfLlZpKCgpPT57dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthPT09Xy5wbygpJiZfLkFxKCJvbCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9KSgpfTsKVHJhPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsNCx2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uVGEoYSl9O3kwPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRhKGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEpfTtBMD1mdW5jdGlvbigpe3JldHVybiB6MC5sb2FkZWR8fCh6MC5sb2FkZWQ9ImxvYWRlZCIucmVwbGFjZSgvXC0oW2Etel0pL2csKGEsYik9PmIudG9VcHBlckNhc2UoKSkpfTtCMD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldOmEuZ2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIpOm51bGx9O0MwPWZ1bmN0aW9uKGEpe2EmJihhLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldPSJ0cnVlIjppcmEoYSkpfTsKRDA9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO18uTHkoYixhKTtyZXR1cm5ganMtJHtfLk15KGIuaHJlZi5yZXBsYWNlKC9eW2EtekEtWl0rOlwvXC8vLCIvLyIpKX1gfTtFMD1mdW5jdGlvbihhKXthPUQwKGEpO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpO2ImJihpMChhKSxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYikpfTtHMD1mdW5jdGlvbihhLGIpe2EmJmImJihhPWAke18uZncoYil9YCwoYT1GMFthXSkmJl8uTnooYSkpfTsKVXJhPWZ1bmN0aW9uKGEsYixjLGQ9bnVsbCl7dmFyIGU9Xy5DZCgiU0NSSVBUIik7ZS5pZD1iO2Uub25sb2FkPSgpPT57YyYmc2V0VGltZW91dChjLDApfTtlLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e3N3aXRjaChlLnJlYWR5U3RhdGUpe2Nhc2UgImxvYWRlZCI6Y2FzZSAiY29tcGxldGUiOmUub25sb2FkKCl9fTtkJiZlLnNldEF0dHJpYnV0ZSgibm9uY2UiLGQpO18ub2IoZSx0eXBlb2YgYT09PSJzdHJpbmciP3kwKGEpOmEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShlLGEuZmlyc3RDaGlsZCk7cmV0dXJuIGV9OwpWcmE9ZnVuY3Rpb24oYSxiLGM9bnVsbCl7dmFyIGQ9RDAodHlwZW9mIGE9PT0ic3RyaW5nIj9hOmEudG9TdHJpbmcoKSksZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKSxmPWUmJkIwKGUpLGg9ZSYmIWY7Zj9iJiZiKCk6KGImJihmPV8uTXooZCxiKSxiPWAke18uZncoYil9YCxGMFtiXT1mKSxofHwoZT1VcmEoYSxkLCgpPT57QjAoZSl8fChDMChlKSxfLk96KGQpLF8ubWooKCk9PntpMChkKX0sMCkpfSxjKSkpfTtIMD1mdW5jdGlvbihhLGIsYz1udWxsKXtWcmEoYSxiLGMpfTtXcmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DZCgiQSIpO18uTHkoYixuZXcgXy5XYShhKSk7cmV0dXJuYGNzcy0ke18uTXkoYi5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIikpfWB9OwpYcmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtkLmlkPWI7ZC5vbmxvYWQ9KCk9PntjJiZzZXRUaW1lb3V0KGMsMCl9O2E9eTAoYSk7Xy5xYihkLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuIGR9O1lyYT1mdW5jdGlvbihhKXt2YXIgYj1XcmEoYSksYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxkPWMmJkIwKGMpO2R8fGMmJiFkfHwoYz1YcmEoYSxiLCgpPT57aWYoIUIwKGMpKXtDMChjKTtfLk96KGIpO2xldCBlPV8uRGEoaTAsYik7Xy5taihlLDApfX0pKX07CkkwPWZ1bmN0aW9uKGEpe2EuRmE9ITE7aWYoYS5oYSlmb3IodmFyIGIgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShiKSYmYS5oYShiLGEualtiXSk7Zm9yKGxldCBjIGluIGEuSSlhLkkuaGFzT3duUHJvcGVydHkoYykmJmNsZWFyVGltZW91dChOdW1iZXIoYykpO2EuST17fTthLkI9bnVsbDthLmhhPW51bGw7Yj1hLmFwaTtmb3IobGV0IGMgaW4gYiliLmhhc093blByb3BlcnR5KGMpJiYoYltjXT1udWxsKTtiLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PnthLmFkZEV2ZW50TGlzdGVuZXIoYyxkKX07Yi5yZW1vdmVFdmVudExpc3RlbmVyPShjLGQpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCl9O2IuZGVzdHJveT0oKT0+e2EuZGlzcG9zZSgpfTtiLmdldExhc3RFcnJvcj0oKT0+YS5nZXRMYXN0RXJyb3IoKTtiLmdldFBsYXllclR5cGU9KCk9PmEuZ2V0UGxheWVyVHlwZSgpO2IuZ2V0Q3VycmVudFZpZGVvQ29uZmlnPSgpPT5hLk1hO2IubG9hZE5ld1ZpZGVvQ29uZmlnPWM9Pgp7YS5sb2FkTmV3VmlkZW9Db25maWcoYyl9O2IuaXNSZWFkeT0oKT0+YS5pc1JlYWR5KCl9O0owPWZ1bmN0aW9uKGEpe3ZhciBiO2Eud2ViUGxheWVyQ29udGV4dENvbmZpZz9iPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkOmI9YS5jb25maWcuYXR0cnMuaWQ7YS5lbGVtZW50SWQ9Ynx8YS5lbGVtZW50SWQ7YS5lbGVtZW50SWQ9PT0idmlkZW8tcGxheWVyIiYmKGEuZWxlbWVudElkPWEucGxheWVySWQsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEucGxheWVySWQ6YS5jb25maWcuYXR0cnMuaWQ9YS5wbGF5ZXJJZCk7YS5vPy5pZD09PWEuZWxlbWVudElkJiYoYS5lbGVtZW50SWQ9YCR7YS5lbGVtZW50SWR9LXBsYXllcmAsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEuZWxlbWVudElkOmEuY29uZmlnLmF0dHJzLmlkPWEuZWxlbWVudElkKX07ClMwPWZ1bmN0aW9uKGEpe2lmKCFhLmlhKCkmJiFhLlUpe3ZhciBiPUswKGEpO2lmKGImJihMMChhKT8iaHRtbDUiOm51bGwpPT09Imh0bWw1IilhLlo9Imh0bWw1IixhLmlzUmVhZHkoKXx8TTAoYSk7ZWxzZSBpZihOMChhKSxhLlo9Imh0bWw1IixiJiZhLnYmJmEudGFyZ2V0RWxlbWVudClhLnRhcmdldEVsZW1lbnQuYXBwZW5kQ2hpbGQoYS52KSxNMChhKTtlbHNle2EuY29uZmlnJiYoYS5jb25maWcubG9hZGVkPSEwKTtsZXQgYz0hMTthLkQ9KCk9PntjPSEwO3ZhciBkPU8wKGEsInBsYXllcl9ib290c3RyYXBfbWV0aG9kIik/Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZUFsdGVybmF0ZSIpfHxfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIik6Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3ZhciBlPWEuY29uZmlnP1AwKGEuY29uZmlnKTp2b2lkIDA7ZCYmZChhLnRhcmdldEVsZW1lbnQsZSxhLndlYlBsYXllckNvbnRleHRDb25maWcsCmEuRWIpO00wKGEpfTthLlU9ITA7Yj9hLkQoKTooSDAoUTAoYSksYS5EKSwoYj1acmEoYSkpJiZZcmEoYnx8IiIpLFIwKGEpJiYhYyYmXy5yYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIsbnVsbCkpfX19O1QwPWZ1bmN0aW9uKGEpe2EuY29uZmlnJiZhLmNvbmZpZy5sb2FkZWQhPT0hMCYmKGEuY29uZmlnLmxvYWRlZD0hMCwhYS5jb25maWcuYXJnc3x8YS5jb25maWcuYXJncy5hdXRvcGxheSE9PSIwIiYmYS5jb25maWcuYXJncy5hdXRvcGxheSE9PTAmJmEuY29uZmlnLmFyZ3MuYXV0b3BsYXkhPT0hMT9hLmFwaS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncz8/bnVsbCk6YS5hcGkuY3VlVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncykpfTtQMD1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpe2xldCBkPWFbY107YltjXT10eXBlb2YgZD09PSJvYmplY3QiP1VfKGQpOmR9cmV0dXJuIGJ9OwpVMD1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYodHlwZW9mIGI9PT0ic3RyaW5nIil7aWYoYS55YVtiXSlyZXR1cm4gYS55YVtiXTtjPSguLi5kKT0+e3ZhciBlPV8uc2EoYik7aWYoZSl0cnl7ZS5hcHBseShfLnUsZCl9Y2F0Y2goZil7dGhyb3cgZD1uZXcgXy5YaigiUGxheWVyUHJveHkgZXJyb3Igd2hlbiBleGVjdXRpbmcgY2FsbGJhY2siLHtlcnJvcjpmfSksZC5sZXZlbD0iRVJST1IiLGQ7fX07YS55YVtiXT1jfXJldHVybiBjP2M6bnVsbH07TDA9ZnVuY3Rpb24oYSl7dmFyIGI9Vl8oYS5lbGVtZW50SWQpOyFiJiZhLm8mJmEuby5xdWVyeVNlbGVjdG9yJiYoYj1hLm8ucXVlcnlTZWxlY3RvcihgIyR7YS5lbGVtZW50SWR9YCkpO3JldHVybiBifTtRMD1mdW5jdGlvbihhKXtyZXR1cm4gYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5qc1VybDooYT1hLmNvbmZpZy5hc3NldHMpP2EuanM6IiJ9OwpLMD1mdW5jdGlvbihhKXt2YXIgYj0hMCxjPUwwKGEpO2MmJmEuY29uZmlnJiYoYj1jLmRhdGFzZXQudmVyc2lvbj09PVEwKGEpKTtyZXR1cm4gYiYmISFfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIil9O08wPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnKXZhciBjPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5zZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzO2Vsc2UgYS5jb25maWc/LmFyZ3MmJihjPWEuY29uZmlnLmFyZ3MuZmZsYWdzKTtyZXR1cm4oY3x8IiIpLnNwbGl0KCImIikuaW5jbHVkZXMoYCR7Yn09dHJ1ZWApfTsKTTA9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7bGV0IGI9TDAoYSksYz0hMTtiJiZiLmdldEFwaUludGVyZmFjZSYmYi5nZXRBcGlJbnRlcmZhY2UoKSYmKGM9ITApO2M/KGEuVT0hMSwhTzAoYSwiaHRtbDVfcmVtb3ZlX25vdF9zZXJ2YWJsZV9jaGVja19raWxsc3dpdGNoIikmJmI/LmlzTm90U2VydmFibGUmJmEuY29uZmlnJiZiPy5pc05vdFNlcnZhYmxlKGEuY29uZmlnLmFyZ3M/LnZpZGVvX2lkKXx8JHJhKGEpKTphLlFhPXNldFRpbWVvdXQoKCk9PntNMChhKX0sNTApfX07TjA9ZnVuY3Rpb24oYSl7YS5jYW5jZWwoKTtJMChhKTthLlo9bnVsbDthLmNvbmZpZyYmKGEuY29uZmlnLmxvYWRlZD0hMSk7dmFyIGI9TDAoYSk7YiYmKEswKGEpfHwhUjAoYSk/YS52PWI6KGImJmIuZGVzdHJveSYmYi5kZXN0cm95KCksYS52PW51bGwpKTthLnRhcmdldEVsZW1lbnQmJldfKGEudGFyZ2V0RWxlbWVudCl9OwpacmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEud2ViUGxheWVyQ29udGV4dENvbmZpZz9hLndlYlBsYXllckNvbnRleHRDb25maWcuY3NzVXJsOihhPWEuY29uZmlnLmFzc2V0cyk/YS5jc3M6IiJ9O1IwPWZ1bmN0aW9uKGEpe2E9YS5jb25maWc/LmFyZ3M/LmZmbGFncztyZXR1cm4hIWEmJmEuaW5kZXhPZigicGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb249dHJ1ZSIpIT09LTF9OwokcmE9ZnVuY3Rpb24oYSl7STAoYSk7YS5GYT0hMDt2YXIgYj1MMChhKTtpZihiKXthLkI9VjAoYSxiLCJhZGRFdmVudExpc3RlbmVyIik7YS5oYT1WMChhLGIsInJlbW92ZUV2ZW50TGlzdGVuZXIiKTtsZXQgYz1iLmdldEFwaUludGVyZmFjZSgpO2M9Yy5jb25jYXQoYi5nZXRJbnRlcm5hbEFwaUludGVyZmFjZSgpKTtsZXQgZD1hLmFwaTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXTtkW2ZdfHwoZFtmXT1WMChhLGIsZikpfX1mb3IobGV0IGMgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShjKSYmYS5CJiZhLkIoYyxhLmpbY10pO1QwKGEpO2Eub2EmJmEub2EoYS5hcGkpO2EuTS5wdWJsaXNoKCJvblJlYWR5IixhLmFwaSl9OwpWMD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YltjXTtyZXR1cm4oLi4uZSk9Pnt0cnl7cmV0dXJuIGEubGFzdEVycm9yPW51bGwsZC5hcHBseShiLGUpfWNhdGNoKGYpe2lmKGMhPT0ic2VuZEFiYW5kb25tZW50UGluZyIpdGhyb3cgZi5wYXJhbXM9YyxhLmxhc3RFcnJvcj1mLGU9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIGluIG1ldGhvZCBjYWxsIix7ZXJyb3I6ZixtZXRob2Q6YyxwbGF5ZXJJZDphLnBsYXllcklkfSksZS5sZXZlbD0iV0FSTklORyIsZTt9fX07CmFzYT1mdW5jdGlvbihhLGIpe3ZhciBjPWQ9Pnt2YXIgZT0oKT0+e2EuaWEoKTtpZighYS5pYSgpKXRyeXthLk0ucHVibGlzaChiLGQ/P3ZvaWQgMCl9Y2F0Y2goaCl7dmFyIGY9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIHdoZW4gY3JlYXRpbmcgZ2xvYmFsIGNhbGxiYWNrIix7ZXJyb3I6aC5tZXNzYWdlLGV2ZW50OmIscGxheWVySWQ6YS5wbGF5ZXJJZCxkYXRhOmQsb3JpZ2luYWxTdGFjazpoLnN0YWNrLGNvbXBvbmVudFN0YWNrOmguY29tcG9uZW50U3RhY2t9KTtmLmxldmVsPSJXQVJOSU5HIjt0aHJvdyBmO319O2lmKE8wKGEsIndlYl9wbGF5ZXJfcHVibGlzaF9ldmVudHNfaW1tZWRpYXRlbHkiKSllKCk7ZWxzZXtsZXQgZj1zZXRUaW1lb3V0KCgpPT57ZSgpO3ZhciBoPWEuSSxrPVN0cmluZyhmKTtrIGluIGgmJmRlbGV0ZSBoW2tdfSwwKTt2cmEoYS5JLFN0cmluZyhmKSl9fTtyZXR1cm4gYS5qW2JdPWN9Owpjc2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz0icGxheWVyIjtjPXR5cGVvZiBjPT09InN0cmluZyI/Vl8oYyk6Yzt2YXIgZD1gJHtfLnZhYX1fJHtfLmZ3KGMpfWAsZT1XMFtkXTtlPW5ldyBic2EoYyxkLGEsYik7VzBbZF09ZTtlLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57ZGVsZXRlIFcwW2UuZ2V0SWQoKV19KTtyZXR1cm4gZS5hcGl9O1gwPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O18ueCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKGIucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIGE9Xy5laihhLGIpfTtZMD1mdW5jdGlvbihhKXt2YXIgYj1fLncoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIik7YiYmKGE9U3RyaW5nKGIpK1N0cmluZyhfLk55KGEpKSk7cmV0dXJuIGF9OwpaMD1mdW5jdGlvbihhLGI9IlBPU1QiKXthPXttZXRob2Q6Yixtb2RlOl8uZmooYSk/InNhbWUtb3JpZ2luIjoiY29ycyIsY3JlZGVudGlhbHM6Xy5maihhKT8ic2FtZS1vcmlnaW4iOiJpbmNsdWRlIn07Yj17fTt2YXIgYz17fTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYikpYltkXSYmKGNbZF09YltkXSk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJihhLmhlYWRlcnM9Yyk7cmV0dXJuIGF9OyQwPWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19O2ExPWZ1bmN0aW9uKGEpe2lmKF8uWHooKSl7dmFyIGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpYj0kMChjKSxiPT09dm9pZCAwfHxhLmluY2x1ZGVzKGIpfHxzZWxmLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07CmRzYT1mdW5jdGlvbigpe2lmKCFfLlh6KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpaWYoYj0kMChjKSxiIT09dm9pZCAwJiZiIT09YSlyZXR1cm4hMDtyZXR1cm4hMX07YjE9ZnVuY3Rpb24oYSl7Xy5PaShfLiR6LGFyZ3VtZW50cyl9O2MxPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGF3YWl0IF8uZUEoKSl7dmFyIGI9W10sYz1hd2FpdCBfLmRBLmtleXMoKTtmb3IobGV0IGQgb2YgYykoe2RhdGFzeW5jSWQ6Y309Xy5iQShkKSksIWN8fGEuaW5jbHVkZXMoYyl8fGIucHVzaChfLmRBLmRlbGV0ZShkKSk7UHJvbWlzZS5hbGwoYikudGhlbihkPT5kLnNvbWUoZT0+ZSkpfX07CmVzYT1hc3luYyBmdW5jdGlvbigpe2lmKCFhd2FpdCBfLmVBKCkpcmV0dXJuITE7dmFyIGE9Xy5WaigiY2FjaGUgY29udGFpbnMgb3RoZXIiKSxiPWF3YWl0IF8uZEEua2V5cygpO2ZvcihsZXQgYyBvZiBiKWlmKHtkYXRhc3luY0lkOmJ9PV8uYkEoYyksYiYmYiE9PWEpcmV0dXJuITA7cmV0dXJuITF9O2ZzYT1mdW5jdGlvbihhKXtpZihfLmhBLmhhcyhhKSYmXy5mQSYmKF8uZkE/LnRhZ05hbWUudG9Mb3dlckNhc2UoKT8/IiIpPT09YSl7bGV0IGI7KGI9Xy5mQSkubWk/PyhiLm1pPTApO18uZkEubWkrKztpZihfLmZBLm1pPjEpdGhyb3cgRXJyb3IoIlBiIik7cmV0dXJuIF8uZkF9fTtnc2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpPz8iIjtfLmZBIT09YSYmYi5pbmNsdWRlcygiLSIpJiZfLmdBLnNldChhLCEwKX07ZDE9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2goYSl7cmV0dXJuITB9fTsKZjE9ZnVuY3Rpb24oYT0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3ZhciBjPXdpbmRvdz09PXdpbmRvdy50b3A/d2luZG93OmQxKCk/d2luZG93OndpbmRvdy50b3AsZD1jW2FdO2Q/LmJldmFzcnM/YihuZXcgZTEoZC5iZXZhc3JzKSk6KGR8fChkPXtucWZiZWw6W119LGNbYV09ZCksZC5ucWZiZWwucHVzaChlPT57YihuZXcgZTEoZSkpfSkpfSl9O2hzYT1mdW5jdGlvbihhKXthLmohPT12b2lkIDAmJihhLm8uZm9yRWFjaChiPT57YS5qPy5yZW1vdmVFdmVudExpc3RlbmVyKGIsYS52KX0pLGEuaj12b2lkIDApfTtnMT1mdW5jdGlvbihhKXt2YXIgYj17S2M6YS5jLHNsOmEuZSxMeTphLm1jPz8hMSxNeTphLm1lPz8hMX07YS5jbyYmKGIueWk9e1hvOmEuY28uYyxBdTphLmNvLmEsSkE6YS5jby5zfSk7cmV0dXJuIGJ9Owpqc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGFzeW5jKCk9Pnt2YXIgYj1hd2FpdCBhKCk7cmV0dXJue2Y6KCk9PmIueWcucHJvbWlzZSxjOmM9PntpZihjPjE1MCl2YXIgZD0hMTtlbHNlIHRyeXtiLmNhY2hlPW5ldyBpc2EoYyxiLlgpLGQ9ITB9Y2F0Y2goZSl7Yi5yZXBvcnRFcnJvcihuZXcgaDEoMjIsIkdCSjppbml0IixlKSksZD0hMX1yZXR1cm4gZH0sbTpjPT5iLm9lKGcxKGMpKSxtd3M6Yz0+Yi56aihnMShjKSl9fX07CmtzYT1mdW5jdGlvbihhLGIsYz0iYmV2YXNyc2ciKXtiPXtzOmY9PmEuc25hcHNob3Qoey4uLihmLmMmJntLYzpmLmN9KSwuLi4oZi5zJiZ7WWo6Zi5zfSksVUs6Zi5wPz8hMH0pLGU6Zj0+dm9pZCBhLkloPy4oZiksYzooZixoKT0+YS5CaShmLGgpLHA6YS5DZyxsOigpPT5hLlZoKCksd3BjOmI/anNhKGIpOnZvaWQgMH07dmFyIGQ9d2luZG93PT09d2luZG93LnRvcD93aW5kb3c6ZDEoKT93aW5kb3c6d2luZG93LnRvcCxlPWRbY107aWYoZSl7ZS5iZXZhc3JzPWI7aWYoZS5ucWZiZWwhPT12b2lkIDApZm9yKGxldCBmIG9mIGUubnFmYmVsKWYoYik7ZS5ucWZiZWw9dm9pZCAwfWVsc2UgZT17YmV2YXNyczpiLG5xZmJlbDp2b2lkIDB9LGRbY109ZX07ajE9ZnVuY3Rpb24oYSl7dmFyIGI9W107R18oYSxpMSw2KS5mb3JFYWNoKGM9PntfLnR4KGMsMik8PTUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTsKbHNhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO0dfKGEsaTEsNikuZm9yRWFjaChjPT57Xy50eChjLDIpPjUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTtrMT1mdW5jdGlvbihhKXthLnRoZW4oKCk9Pnt9LCgpPT57fSl9O2wxPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6YX19O20xPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MyxmaWVsZE5hbWU6YX19O21zYT1mdW5jdGlvbihhLGIpe3JldHVybiBDXyhhLGIsXy5Pdyl9OwpyMT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgbjE7Yj1CWihiLDEsYS5vKTt2YXIgYz1uc2EoYSk7Yj1DXyhiLGMsc3JhKTtjPVtdO3ZhciBkPVtdO2Zvcih2YXIgZSBvZiBhLmoua2V5cygpKWQucHVzaChlLnNwbGl0KCIsIikpO2ZvcihlPTA7ZTxkLmxlbmd0aDtlKyspe2xldCBwPWRbZV07dmFyIGY9YS52LGg9bzEoYSwuLi5wKXx8W107bGV0IHI9W107Zm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sJiZsLmo7bD1uZXcgb3NhO3N3aXRjaChmKXtjYXNlIDM6bT1OdW1iZXIobSk7TnVtYmVyLmlzRmluaXRlKG0pJiZGXyhsLDEscDEseV8obSkpO2JyZWFrO2Nhc2UgMjpGXyhsLDIscDEscF8oTnVtYmVyKG0pKSl9ci5wdXNoKGwpfWZvcihmPTA7ZjxyLmxlbmd0aDtmKyspe2s9cltmXTtoPW5ldyBwc2E7aD1fLkt3KGgsMixrKTtrPVtdO2w9cXNhKGEpO2ZvcihtPTA7bTxsLmxlbmd0aDttKyspe3ZhciBuPWxbbV07bGV0IHQ9cFttXSx2PW5ldyByc2E7c3dpdGNoKG4pe2Nhc2UgMzpGXyh2LAoxLHExLEFaKFN0cmluZyh0KSkpO2JyZWFrO2Nhc2UgMjpuPU51bWJlcih0KTtOdW1iZXIuaXNGaW5pdGUobikmJkZfKHYsMixxMSxfLlB3KG4pKTticmVhaztjYXNlIDE6Rl8odiwzLHExLF8ueHcodD09PSJ0cnVlIikpfWsucHVzaCh2KX1IXyhoLDEsayk7Yy5wdXNoKGgpfX1IXyhiLDQsYyk7cmV0dXJuIGJ9O3NzYT1mdW5jdGlvbihhKXtIXyhzMSwxLGEpfTsKdXNhPWZ1bmN0aW9uKGEsYj10MSl7aWYoIXUxKXthPWEubmF2aWdhdG9yPy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoImtlIikpO3NzYSgoYS5icmFuZHN8fFtdKS5tYXAoZD0+e3ZhciBlPW5ldyB0c2E7ZT1CWihlLDEsZC5icmFuZCk7cmV0dXJuIEJaKGUsMixkLnZlcnNpb24pfSkpO3R5cGVvZiBhLm1vYmlsZT09PSJib29sZWFuIiYmXy5xdyhzMSwyLF8ueHcoYS5tb2JpbGUpKTt1MT1hLmdldEhpZ2hFbnRyb3B5VmFsdWVzKGIpfXZhciBjPW5ldyBTZXQoYik7cmV0dXJuIHUxLnRoZW4oZD0+e3ZhciBlPXMxLmNsb25lKCk7Yy5oYXMoInBsYXRmb3JtIikmJkJaKGUsMyxkLnBsYXRmb3JtKTtjLmhhcygicGxhdGZvcm1WZXJzaW9uIikmJkJaKGUsNCxkLnBsYXRmb3JtVmVyc2lvbik7CmMuaGFzKCJhcmNoaXRlY3R1cmUiKSYmQlooZSw1LGQuYXJjaGl0ZWN0dXJlKTtjLmhhcygibW9kZWwiKSYmQlooZSw2LGQubW9kZWwpO2MuaGFzKCJ1YUZ1bGxWZXJzaW9uIikmJkJaKGUsNyxkLnVhRnVsbFZlcnNpb24pO3JldHVybiBlLnNlcmlhbGl6ZSgpfSkuY2F0Y2goKCk9PnMxLnNlcmlhbGl6ZSgpKX07djE9ZnVuY3Rpb24oYSl7cmV0dXJuIENaKGEsMSwxKX07eTE9ZnVuY3Rpb24oYSxiKXtfLkt3KGEuaiwxLGIpO0tfKGIpfHx2MShiKTthLnlkfHwoYj13MShhKSxKXyhiLDUpfHxCWihiLDUsYS5sb2NhbGUpKTthLnYmJihiPXcxKGEpLF8uTngoYix4MSw5KXx8Xy5LdyhiLDksYS52KSl9O3cxPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTngoYS5qLHoxLDEpO2J8fChiPW5ldyB6MSx5MShhLGIpKTthPWI7Yj1fLk54KGEsQTEsMTEpO2J8fChiPW5ldyBBMSxfLkt3KGEsMTEsYikpO3JldHVybiBifTt2c2E9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnhzYT1mdW5jdGlvbihhKXt2YXIgYj1hLnlkP3ZvaWQgMDpfLnpkKCk7Yj91c2EoYix0MSkudGhlbihjPT57YS52PXdzYShjPz8iW10iKTtjPXcxKGEpO18uS3coYyw5LGEudik7cmV0dXJuITB9KS5jYXRjaCgoKT0+ITEpOlByb21pc2UucmVzb2x2ZSghMSl9O0IxPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuQj1hO3RoaXMuRD1iO3RoaXMubz10aGlzLmo9YTt0aGlzLks9Y3x8MDt0aGlzLkk9ZHx8Mn07QzE9ZnVuY3Rpb24oYSl7YS5vPU1hdGgubWluKGEuRCxhLm8qYS5JKTthLmo9TWF0aC5taW4oYS5ELGEubysoYS5LP01hdGgucm91bmQoYS5LKihNYXRoLnJhbmRvbSgpLS41KSoyKmEubyk6MCkpO2EudisrfTtEMT1mdW5jdGlvbigpe3JldHVybiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIn07CnlzYT1mdW5jdGlvbihhLGIpe2lmKCFhLk1hKXJldHVybigpPT57fTt2YXIgYz0oKT0+e2EuZmx1c2goKX07cmV0dXJuIGI/KCk9PntiKCkudGhlbihjKX06Y307RTE9ZnVuY3Rpb24oYSl7YS52LmlzRmluYWw9ITA7YS5mbHVzaCgpO2Eudi5pc0ZpbmFsPSExfTtGMT1mdW5jdGlvbihhKXthLlV8fChhLlU9RDEoKSk7dHJ5e3JldHVybihuZXcgVVJMKGEuVSkpLnRvU3RyaW5nKCl9Y2F0Y2goYil7cmV0dXJuKG5ldyBVUkwoYS5VLF8uemQoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07QXNhPWZ1bmN0aW9uKGEpe3pzYShhLChiLGMpPT57Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwianNvbiIpO3ZhciBkPSExO3RyeXtkPV8uemQoKS5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihiLnRvU3RyaW5nKCksYy5zZXJpYWxpemUoKSl9Y2F0Y2h7fWR8fChhLlo9ITEpO3JldHVybiBkfSl9OwpCc2E9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPWEud2l0aENyZWRlbnRpYWxzKXt2YXIgZT17fSxmPW5ldyBVUkwoRjEoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5zZXNzaW9uSW5kZXgmJihlWyJYLUdvb2ctQXV0aFVzZXIiXT1hLnNlc3Npb25JbmRleCxmLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixhLnNlc3Npb25JbmRleCkpO2EucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTphLnBhZ2VJZH0pLGYuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixhLnBhZ2VJZCkpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixHdToxLE9qOmUscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHRpbWVvdXRNaWxsaXM6YS50aW1lb3V0TWlsbGlzfX07CnpzYT1mdW5jdGlvbihhLGIpe2lmKGEuai5sZW5ndGghPT0wKXt2YXIgYz1uZXcgVVJMKEYxKGEpKTtjLnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBkPWEuU2YoKTtkJiZjLnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGQpO2Muc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEuc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihkPTA7ZDwxMCYmYS5qLmxlbmd0aDsrK2Qpe2xldCBlPWEuai5zbGljZSgwLDMyKSxmPWEudi5idWlsZChlLGEuQixhLkksYS5sZixhLmhhLGEuZ2EpO2lmKCFiKGMudG9TdHJpbmcoKSxmKSl7KythLkk7YnJlYWt9YS5CPTA7YS5JPTA7YS5oYT0wO2EuZ2E9MDthLmo9YS5qLnNsaWNlKGUubGVuZ3RoKX1hLm8uZW5hYmxlZCYmYS5vLnN0b3AoKX19O0NzYT1mdW5jdGlvbihhLGIpe2EuYnVpbGRMYWJlbD1iO3JldHVybiBhfTtFc2E9ZnVuY3Rpb24oYSl7YS5uZXR3b3JrPW5ldyBEc2E7cmV0dXJuIGF9O0ZzYT1mdW5jdGlvbihhLGIpe2Euaj1ifTsKR3NhPWZ1bmN0aW9uKGEpe2Eubz0hMDtyZXR1cm4gYX07cXNhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZpZWxkcy5tYXAoYj0+Yi5maWVsZFR5cGUpfTtvMT1mdW5jdGlvbihhLC4uLmIpe2I9RzEoLi4uYik7cmV0dXJuIGEuai5oYXMoYik/YS5qLmdldChiKTp2b2lkIDB9O25zYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5maWVsZHMubWFwKGI9PmIuZmllbGROYW1lKX07STE9ZnVuY3Rpb24oYSxiLC4uLmMpe2M9RzEoLi4uYyk7YS5qLnNldChjLFtuZXcgSDEoYildKX07SHNhPWZ1bmN0aW9uKGEsYiwuLi5jKXt2YXIgZD1vMShhLC4uLmMpO2Q/ZC5wdXNoKG5ldyBIMShiKSk6STEoYSxiLC4uLmMpfTtHMT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYT9hLmpvaW4oIiwiKToia2V5In07SXNhPWZ1bmN0aW9uKGEsLi4uYil7cmV0dXJuKGE9bzEoYSwuLi5iKSkmJmEubGVuZ3RoP2FbMF06dm9pZCAwfTsKSnNhPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9MCxkPUlzYShhLC4uLmIpO2QmJihjPWQuaik7STEoYSxjKzEsLi4uYil9O0sxPWZ1bmN0aW9uKGEsYiwuLi5jKXthLnYuaGFzKGIpfHxhLnYuc2V0KGIsbmV3IEoxKGIsYykpfTtNMT1mdW5jdGlvbihhLGIsLi4uYyl7YS52LmhhcyhiKXx8YS52LnNldChiLG5ldyBMMShiLGMpKX07TjE9ZnVuY3Rpb24oYSl7YS5vLmVuYWJsZWR8fGEuby5zdGFydCgpO2EuSSsrO2EuST49YS5CJiZhLkQoKX07S3NhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl0uY2xlYXIoKX07TzE9ZnVuY3Rpb24oYSxiLC4uLmMpeyhiPWEuaihiKSkmJmIgaW5zdGFuY2VvZiBMMSYmKEpzYShiLC4uLmMpLE4xKGEpKX07ClAxPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19OwpMc2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTtSMT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9UTEoKTtiPWIoKTthLnYoYyxRMSgpLWQpO3JldHVybiBifTtPc2E9ZnVuY3Rpb24oYSxiLGMsZCl7YT1Hc2EoRXNhKENzYShuZXcgUzEsYSkpKS5ubCgpO2IubGVuZ3RoJiZGc2EoYSxtc2EobmV3IE1zYSxiKSk7ZCE9PXZvaWQgMCYmKGEuTmU9ZCk7dmFyIGU9bmV3IE5zYShhLmJ1aWxkKCkpO0VaKGUsYSk7dmFyIGY9bmV3IFQxKHtmbHVzaChoKXt0cnl7ZS5mbHVzaChoKX1jYXRjaChrKXtjKGspfX19KTtmLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtmLkQoKX1maW5hbGx5e2UuZGlzcG9zZSgpfX0pfSk7Zi5CPTFFNTtmLmZsdXNoSW50ZXJ2YWw9M0U0O2Yuby5zZXRJbnRlcnZhbCgzRTQpO3JldHVybiBmfTsKUHNhPWZ1bmN0aW9uKGEpe2lmKGEudGltZXI9PT12b2lkIDApe2xldCBiPU1hdGgubWF4KDAsYS5qK2Euby1RMSgpKTthLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0cnl7YS5jYWxsYmFjaygpfWZpbmFsbHl7YS5qPVExKCksYS50aW1lcj12b2lkIDB9fSxiKX19O1JzYT1mdW5jdGlvbihhLGI9W10pe3JldHVybiBuZXcgUXNhKGEsYil9O1ExPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9O1UxPWZ1bmN0aW9uKGEsYil7aWYoYS5kaXNhYmxlKXJldHVybiBuZXcgU3NhO2I9Yj9qMShiKTpbXTtyZXR1cm4gUnNhKHttYjphLm1iLHpsOmEuU3Ysbm06YS5LeSxOZTphLk5lLEZqOmEuRmosSWc6YS5JZ30sYil9O1cxPWZ1bmN0aW9uKCl7VjEuaW5zdGFuY2V8fChWMS5pbnN0YW5jZT1uZXcgVjEpO3JldHVybiBWMS5pbnN0YW5jZX07ClRzYT1mdW5jdGlvbihhLGIsYyxkKXtpZighYiYmIWMpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFkKXJldHVybiBYMShiLGMpO3ZhciBlOyhlPWEucHJvbWlzZXMpW2RdfHwoZVtkXT1uZXcgUHJvbWlzZSgoZixoKT0+e1gxKGIsYykudGhlbigoKT0+e2Euaj1kO2YoKX0saz0+e2RlbGV0ZSBhLnByb21pc2VzW2RdO2goayl9KX0pKTtyZXR1cm4gYS5wcm9taXNlc1tkXX07JDE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVHNhKGEsXy5OeChiLFkxLDEsXy53eiksXy5OeChiLFoxLDIsXy53eiksSl8oYiwzLHZvaWQgMCxfLnd6KSl9O1gxPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/VXNhKGIpOmE/VnNhKGEpOlByb21pc2UucmVzb2x2ZSgpfTsKVXNhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e3ZhciBkPV8uQ2QoIlNDUklQVCIpLGU9VHJhKGEpO18ub2IoZCxlKTtkLm9ubG9hZD0oKT0+e18uRGQoZCk7YigpfTtkLm9uZXJyb3I9KCk9PntfLkRkKGQpO2MoRXJyb3IoInFlIikpfTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChkKX0pfTtWc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBQcm9taXNlKGI9Pnt2YXIgYz1fLkNkKCJTQ1JJUFQiKTtpZihhKXt2YXIgZD1fLlh0KF8uZWQoYSw2LHZvaWQgMCxfLkR2KSk7ZD1kPT09bnVsbHx8ZD09PXZvaWQgMD9udWxsOl8ua2IoZCl9ZWxzZSBkPW51bGw7Xy5uYihjLGQpOyhkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKGMpO18uRGQoYyk7YigpfSl9OwpXc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDEsQVooYiksIiIpfTtYc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDIsQVooYiksIiIpfTsKYXRhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQ9VzEoKSxlPVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGYpe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCBrPW51bGw7aWYoaCl7YTIoYSw3KTt0cnl7az1hd2FpdCBiMihoLnNuYXBzaG90KHt9KSxmLmF2LCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKG4pe2s9IkU6VUNFIn19bGV0IGwsbT1uZXcgQjEoaD9mLkp2OmYuS3YsZi5MdixmLk12LGYuSXYpO2ZvcihsZXQgbj0xO248PWYubWF4QXR0ZW1wdHM7bisrKXtpZihuIT09MSl7YTIoYSwwKTthLmo9bmV3IGMyKG0uaixmLmVrLGYubHMpO2xldCBwPWF3YWl0IGEuai5wcm9taXNlO2Euaj12b2lkIDA7cD09PTE/KG49MSxtLnJlc2V0KCkpOkMxKG0pfXRyeXtsZXQgcDtjP3A9YzooYTIoYSw1KSxwPWF3YWl0IGIyKFlzYShiLGQuaixrKSxmLlZ2LCgpPT5Qcm9taXNlLnJlamVjdChFcnJvcigic2UiKSkpKTthMihhLDMpO2F3YWl0IGIyKCQxKGQscCksZi5xeSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInRlIikpKTsKYTIoYSw4KTthd2FpdCBlO2xldCByPW5ldyBkMih7Y2hhbGxlbmdlOnAsbmc6YS5vcHRpb25zLm5nLEZzOmEub3B0aW9ucy5Gc30pO2F3YWl0IGIyKHIuQ2csZi5tQSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInVlIikpKTtsPXI7YnJlYWt9Y2F0Y2gocCl7YS5oYW5kbGVFcnJvcihwKSxlMihhKX19aWYoYS5pYSgpKWJyZWFrO2wmJihjPXZvaWQgMCxac2EoYSxoKSxoPWwsJHNhKGEsbCksZTIoYSkpO2EyKGEsMik7YS5qPW5ldyBjMihmLkZyLGYuZWssZi5scyk7YS5pc1BhdXNlZCYmYS5qLnBhdXNlKCk7YXdhaXQgYS5qLnByb21pc2U7YS5qPXZvaWQgMDtpZihhLmlhKCkpYnJlYWt9aD8uZGlzcG9zZSgpfTsKYnRhPWZ1bmN0aW9uKGEpe2EuTT1FcnJvcigicmUiKTthLkQucmVzb2x2ZSgpO2sxKGEuSS5wcm9taXNlKTthLkkucmVqZWN0KEVycm9yKCJyZSIpKTthLlguZGlzcG9zZSgpO1Byb21pc2UuYWxsKGEuQikudGhlbihhc3luYygpPT57YS5vPy5kaXNwb3NlKCk7YS5vPXZvaWQgMH0pO2EuQj1bXTthLmo/Lm8oKTtrMShhLnYucHJvbWlzZSk7YS52LnJlamVjdChFcnJvcigicmUiKSl9O2YyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5HajthLkdqPSgpPT57YygpO2IoKX19OyRzYT1mdW5jdGlvbihhLGIpe2EuaWEoKXx8KGEubz1iLGEuWC51cGRhdGUoYi5WaCgpKSxhLkQucmVzb2x2ZSgpLGEuSS5yZXNvbHZlKHZvaWQgMCksYS5HaigpKX07WnNhPWZ1bmN0aW9uKGEsYil7YiYmKFByb21pc2UuYWxsKGEuQikudGhlbigoKT0+dm9pZCBiLmRpc3Bvc2UoKSksYS5CPVtdKX07YTI9ZnVuY3Rpb24oYSxiKXthLlo9YjthLm9wdGlvbnMuaks/LihiKX07CmUyPWZ1bmN0aW9uKGEpe2EuaWEoKXx8KGEudi5yZXNvbHZlKCksYS52PW5ldyBfLmNzKX07YjI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2M9KG5ldyBQcm9taXNlKGU9PntkPXNldFRpbWVvdXQoZSxiKX0pKS50aGVuKGMpO2sxKGMpO3JldHVybiBQcm9taXNlLnJhY2UoW2EuZmluYWxseSgoKT0+dm9pZCBjbGVhclRpbWVvdXQoZCkpLGNdKX07Y3RhPWZ1bmN0aW9uKGEsYil7YS5lbmRUaW1lTXM9RGF0ZS5ub3coKStiO2EudGljaygpfTtnMj1mdW5jdGlvbihhKXthLmomJihjbGVhclRpbWVvdXQoYS5qKSxhLmo9bnVsbCl9O2gyPWZ1bmN0aW9uKGEsYil7dHJ5e3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oYSxiKSwhMH1jYXRjaChjKXtyZXR1cm4hMX19OwppMj1mdW5jdGlvbihhLGI9MCxjPWEubGVuZ3RoLGQpe3ZhciBlPTA7Zm9yKGQmJihlPWkyKGQpKTtiPGM7YisrKWU9ZHRhKDMxLGUpKyh0eXBlb2YgYT09PSJzdHJpbmciP2EuY2hhckNvZGVBdChiKTphW2JdKXwwO3JldHVybiBlfTtrMj1mdW5jdGlvbihhKXt2YXIgW2IsY109W2kyKGEsMCxhLmxlbmd0aD4+MSxqMiksaTIoYSxhLmxlbmd0aD4+MSldO3JldHVybiBiLnRvU3RyaW5nKDE2KStjLnRvU3RyaW5nKDE2KX07CmwyPWZ1bmN0aW9uKGEsYil7dmFyIGM9W2kyKGIsMCxiLmxlbmd0aD4+MSx2b2lkIDApLGkyKGIsYi5sZW5ndGg+PjEpXTthPW5ldyBVaW50MzJBcnJheShhLmJ1ZmZlcik7Yj1hWzBdO3ZhciBbZCxlXT1jO2ZvcihjPTE7YzxhLmxlbmd0aDtjKz0yKXt2YXIgZj1iLGg9YyxrPWQsbD1lO2ZvcihsZXQgbT0wO208MjI7bSsrKWg9aD4+Pjh8aDw8MjQsaCs9ZnwwLGhePWsrMzgyOTMsZj1mPDwzfGY+Pj4yOSxmXj1oLGw9bD4+Pjh8bDw8MjQsbCs9a3wwLGxePW0rMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1sO2Y9W2YsaF07YVtjXV49ZlswXTtjKzE8YS5sZW5ndGgmJihhW2MrMV1ePWZbMV0pfX07CmV0YT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSg0LShqMi5sZW5ndGgrYy5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2YrajIubGVuZ3RoKzQrYy5sZW5ndGgpLGs9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxsPTA7ay5zZXRVaW50MzIobCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO2w9bCs0K2Y7aC5zZXQoajIsbCk7bCs9ajIubGVuZ3RoO2suc2V0VWludDMyKGwsZSk7aC5zZXQoYyxsKzQpO2wyKGgsZCk7cmV0dXJuIGEucmIoYixtPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShtKSk/aDIoYixfLnNjKGgpKT8icyI6InQiOiJpIn07CmZ0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShhKTtpZighYylyZXR1cm5bIm0iXTt0cnl7dmFyIGQ9Xy51YyhjKTtsMihkLGIpfWNhdGNoKGUpe3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJjIl19Zm9yKGI9NDtiPDcmJmRbYl09PT0wOyliKys7Zm9yKGM9MDtjPGoyLmxlbmd0aDtjKyspaWYoZFtiKytdIT09ajJbY10pcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShhKSxbImQiXTtjPShuZXcgRGF0YVZpZXcoZC5idWZmZXIpKS5nZXRVaW50MzIoYik7cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpPj1jPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJlIl0pOlsiYSIsbmV3IFVpbnQ4QXJyYXkoZC5idWZmZXIsYis0KV19OwpndGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJpVTVxLSFPOUAkIik7aWYoIWIpcmV0dXJuIG5ldyBtMihhKTt2YXIgYz1iLnNwbGl0KCIsIik7aWYoYy5sZW5ndGg8MilyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IG0yKGEpO2I9Yy5zbGljZSgxKTtiLmxlbmd0aD09PTEmJmJbMF09PT0iIiYmKGI9W10pO2M9TnVtYmVyKGNbMF0pO3JldHVybiBpc05hTihjKXx8YzwwfHxjPmIubGVuZ3RoPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oImlVNXEtIU85QCQiKSxuZXcgbTIoYSkpOm5ldyBtMihhLGMsYil9O24yPWZ1bmN0aW9uKGEsYil7dmFyIGM9c2V0VGltZW91dCgoKT0+e2Eudi5yZXNvbHZlKCl9LGIpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGMpKX07CnAyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YCR7YihhLmVycm9yLm1lc3NhZ2UpfToke2IoYS5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtiPWMubGVuZ3RoKzE7Yz1vMihjKTt2YXIgZD1uZXcgVWludDhBcnJheSg0K2MubGVuZ3RoKTtkLnNldChbNDIsYiYxMjd8MTI4LGI+PjcsYS5lcnJvci5jb2RlXSk7ZC5zZXQoYyw0KTtyZXR1cm4gZH07bzI9ZnVuY3Rpb24oYSl7cmV0dXJuIGdsb2JhbFRoaXMuVGV4dEVuY29kZXI/KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpOl8uYWMoYSl9Owp0Mj1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YS52Kys7dmFyIGM9bmV3IF8uY3M7YS52bSBpbnN0YW5jZW9mIHEyJiZhLnZtLkIucHVzaChjLnByb21pc2UpO2lmKGEuUW4pe2xldCBmPW5ldyBfLmNzO3NldFRpbWVvdXQoKCk9PnZvaWQgZi5yZXNvbHZlKCkpO2F3YWl0IGYucHJvbWlzZX12YXIgZD1hLlguc2hhcmUoKTt0cnl7YS5zdGF0ZT01O2xldCBmPVtdLGg9YXdhaXQgYjIoYS52bS5zbmFwc2hvdCh7S2M6e30sSXM6Zn0pLGEuTGcuQkEsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxNSwiTURBOlRpbWVvdXQiKSkpO3IyKGEsIk1EQTpEaXNwb3NlZCIpO2xldCBrPWZbMF07YS5zdGF0ZT02O2xldCBsPWF3YWl0IGIyKGh0YShhLm9kLGgpLGEuTGcuV3YsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxMCwiQldCOlRpbWVvdXQiKSkpO3IyKGEsIkJXQjpEaXNwb3NlZCIpO2Euc3RhdGU9NztiPVIxKGQsKCk9Pnt2YXIgbT1pdGEoYSxsLGMsayk7bS52LnByb21pc2UudGhlbigoKT0+CnZvaWQgYS5CKCkpO3JldHVybiBtfSwiaSIpfWNhdGNoKGYpe2I/LmRpc3Bvc2UoKTtpZighYS5vKXtsZXQgaD1qdGEoYSxmKTtjLnJlc29sdmUoKTt2YXIgZTtpZihlPWEudm0gaW5zdGFuY2VvZiBxMiYmYS52PDIpYTppZihmIGluc3RhbmNlb2YgaDEpZT1mLmNvZGUhPT0zMiYmZi5jb2RlIT09MjAmJmYuY29kZSE9PTEwO2Vsc2V7aWYoZiBpbnN0YW5jZW9mIHMyKXN3aXRjaChmLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6ZT0hMTticmVhayBhfWU9ITB9aWYoZSl7bGV0IGs9c2V0VGltZW91dCgoKT0+dm9pZCBhLkIoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKGEuaj82RTQ6MUUzKSk7YS5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQoaykpO3JldHVybn1hLm89aH1kLkpiKGEuaj8xMzoxNCk7YS55Zy5yZWplY3QoYS5vKTtyZXR1cm59ZmluYWxseXtkLmRpc3Bvc2UoKX1hLnN0YXRlPTg7YS52PTA7YS5qPy5kaXNwb3NlKCk7CmEuaj1iO2EueWcucmVzb2x2ZSgpfTtqdGE9ZnVuY3Rpb24oYSxiKXtpZighKGIgaW5zdGFuY2VvZiBoMSkpaWYoYiBpbnN0YW5jZW9mIHMyKXtsZXQgYz1FcnJvcihiLnRvU3RyaW5nKCkpO2Muc3RhY2s9Yi5zdGFjaztiPW5ldyBoMSgxMSwiRUJIOkVycm9yIixjKX1lbHNlIGI9bmV3IGgxKDEyLCJCU086VW5rbm93biIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O3IyPWZ1bmN0aW9uKGEsYil7aWYoYS5pYSgpKXRocm93IG5ldyBoMShhLmo/MjA6MzIsYik7fTsKaXRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPShzXyhfLmVkKGIsMikpPz8wKSoxRTM7aWYoZTw9MCl0aHJvdyBuZXcgaDEoMzEsIlRUTTpJbnZhbGlkIik7aWYoSl8oYiw0KSlyZXR1cm4gbmV3IGt0YShhLlgsSl8oYiw0KSxlKTtpZighKHNfKF8uZWQoYiwzKSk/PzApKXJldHVybiBuZXcgbHRhKGEuWCxGWihCXyhiKSksZSk7aWYoIWQpdGhyb3cgbmV3IGgxKDQsIlBNRDpVbmRlZmluZWQiKTtkPWQoRlooQl8oYikpKTtpZih0eXBlb2YgZCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IGgxKDE2LCJBUEY6RmFpbGVkIik7YS5EPU1hdGguZmxvb3IoKERhdGUubm93KCkrZSkvMUUzKTthPW5ldyB1MihhLlgsZCxzXyhfLmVkKGIsMykpPz8wLGUpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgYy5yZXNvbHZlKCkpO3JldHVybiBhfTsKdzI9ZnVuY3Rpb24oYSxiLGMpe3RyeXtpZihhLmlhKCkpdGhyb3cgbmV3IGgxKDIxLCJCTlQ6ZGlzcG9zZWQiKTtpZighYS5qJiZhLm8pdGhyb3cgYS5vO3JldHVybiBtdGEoYSxiLGMpPz9udGEoYSxiLGMpPz9vdGEoYSxiLGMpfWNhdGNoKGQpe2lmKCFiLk15KXRocm93IHYyKGEsZCk7cmV0dXJuIHB0YShhLGMsZCl9fTt2Mj1mdW5jdGlvbihhLGIpe2I9YiBpbnN0YW5jZW9mIGgxP2I6bmV3IGgxKDUsIlRWRDplcnJvciIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O210YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuaj8uc20oKCk9PngyKGEsYiksYyxkPT57aWYoYS5qIGluc3RhbmNlb2YgdTImJmIueWk/LkpBKXRyeXthLmNhY2hlPy5qKHgyKGEsYiksZCxiLnlpLlhvLGEuRC0xMjApfWNhdGNoKGUpe2EucmVwb3J0RXJyb3IobmV3IGgxKDI0LCJFTFg6d3JpdGUiLGUpKX19KX07Cm50YT1mdW5jdGlvbihhLGIsYyl7aWYoYi55aT8uQXUpdHJ5e2xldCBkPWEuY2FjaGU/Lm8oeDIoYSxiKSxiLnlpLlhvKTtyZXR1cm4gZD9jP1IxKGEuWCwoKT0+Xy5zYyhkLDIpLCJhIik6ZDp2b2lkIDB9Y2F0Y2goZCl7YS5yZXBvcnRFcnJvcihuZXcgaDEoMjMsIlJYTzpyZWFkIixkKSl9fTtvdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZighYi5MeSl0aHJvdyBuZXcgaDEoMjksIlNERjpub3RyZWFkeSIpO3JldHVybiBfLlZ6KGQsbmV3IHF0YShhLlgsYS5zdGF0ZSkpLnNtKCgpPT54MihhLGIpLGMpfWNhdGNoKGUpe2QuZXJyb3I9ZSxkLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihkKX19OwpwdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZT12MihhLGMpO3JldHVybiBfLlZ6KGQsbmV3IHJ0YShhLlgsZSkpLnNtKCgpPT5bXSxiKX1jYXRjaChlKXtkLmVycm9yPWUsZC5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooZCl9fTt4Mj1mdW5jdGlvbihhLGIpe3JldHVybiBiLnNsP2Iuc2w6Yi5LYz9SMShhLlgsKCk9PmIuc2w9bzIoYi5LYyksImMiKTpbXX07eTI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PSJcciJ8fGE9PSJcbiJ8fGE9PSIgInx8YT09Ilx0In07ejI9ZnVuY3Rpb24oKXt0aGlzLk09bnVsbDt0aGlzLlk9W107dGhpcy5JPSIiO3RoaXMuVT1bXTt0aGlzLnY9dGhpcy5vPTA7dGhpcy5EPSExO3RoaXMuSz0wO3RoaXMuWj0vW1xcIl0vZzt0aGlzLmo9dGhpcy5CPTB9OwpBMj1mdW5jdGlvbihhLGIsYyl7YS5CPTM7YS5NPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIithLnYrIi8iK2MrIi4gV2l0aCBpbnB1dDpcbiIrYjt0aHJvdyBFcnJvcihhLk0pO307QzI9ZnVuY3Rpb24oKXt2YXIgYT1VXyhzdGEpLGI7cmV0dXJuKG5ldyBfLkJmKChjLGQpPT57YS5vblN1Y2Nlc3M9ZT0+e18ucWooZSk/YyhuZXcgdHRhKGUpKTpkKG5ldyBCMihgUmVxdWVzdCBmYWlsZWQsIHN0YXR1cz0ke18ucGooZSl9YCwibmV0LmJhZHN0YXR1cyIpKX07YS5vbkVycm9yPSgpPT57ZChuZXcgQjIoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIikpfTthLm9uVGltZW91dD0oKT0+e2QobmV3IEIyKCJSZXF1ZXN0IHRpbWVkIG91dCIsIm5ldC50aW1lb3V0IikpfTtiPV8uemooIi8vZ29vZ2xlYWRzLmcuZG91YmxlY2xpY2submV0L3BhZ2VhZC9pZCIsYSl9KSkuS2coYz0+e2MgaW5zdGFuY2VvZiBfLlBmJiZiPy5hYm9ydCgpO3JldHVybiBfLk90KGMpfSl9Owp1dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0yO2Eubz1ifTt2dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0xO2Eubz1ifTtFMj1mdW5jdGlvbihhPW51bGwpe3ZhciBiPW5ldyBEMjt1dGEoYixhKTtyZXR1cm4gYn07RjI9ZnVuY3Rpb24oYT1udWxsKXt2YXIgYj1uZXcgRDI7dnRhKGIsYSk7cmV0dXJuIGJ9O3d0YT1mdW5jdGlvbihhKXt2YXIgYj1hLmRvY2lkfHxhLnZpZGVvX2lkfHxhLnZpZGVvSWR8fGEuaWQ7aWYoYilyZXR1cm4gYjtiPWEucmF3X3BsYXllcl9yZXNwb25zZTtifHwoYT1hLnBsYXllcl9yZXNwb25zZSkmJihiPUpTT04ucGFyc2UoYSkpO3JldHVybiBiJiZiLnZpZGVvRGV0YWlscyYmYi52aWRlb0RldGFpbHMudmlkZW9JZHx8bnVsbH07CkcyPWZ1bmN0aW9uKGEpe3ZhciBiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIjt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuaW5jbHVkZXMoInlvdXR1YmVlZHVjYXRpb24uY29tIikmJihiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKTt2YXIgYz1hLnJhd19lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7aWYoIWMmJihhPWEuZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlKSl0cnl7Yz1KU09OLnBhcnNlKGEpfWNhdGNoKGQpe3JldHVybiBifWlmKGMpYTp7YT14dGE7Zm9yKGxldCBkIGluIGEpaWYoYVtkXT09Yy5lbWJlZGRlZFBsYXllck1vZGUpe2I9YVtkXTticmVhayBhfX1yZXR1cm4gYn07Cnl0YT1mdW5jdGlvbigpe2lmKF8ueCgiZGlzYWJsZV9iaXNjb3R0aV9mZXRjaF9lbnRpcmVseV9mb3JfYWxsX3dlYl9jbGllbnRzIikpcmV0dXJuIEVycm9yKCJ2ZSIpO2lmKCFfLnN6KCkpcmV0dXJuIEVycm9yKCJ3ZSIpO3ZhciBhPV8udygiUExBWUVSX1ZBUlMiLHt9KTtpZihUXyhhKT09IjEiKXJldHVybiBFcnJvcigieGUiKTtpZihHMihhKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKXJldHVybiBFcnJvcigieWUiKX07Wl89ZnVuY3Rpb24oKXt2YXIgYT15dGEoKTtpZihhIT09dm9pZCAwKXJldHVybiBfLk90KGEpO0gyfHwoSDI9QzIoKS50aGVuKEkyKS5LZyhiPT5KMigyLGIpKSk7cmV0dXJuIEgyfTsKSTI9ZnVuY3Rpb24oYSl7YT1hLmoucmVzcG9uc2VUZXh0O2lmKGEubGFzdEluZGV4T2YoIildfSciLDApIT0wKXRocm93IG5ldyBLMjthPUpTT04ucGFyc2UoYS5zdWJzdHIoNCkpO2lmKChhLnR5cGV8fDEpPjEpdGhyb3cgbmV3IEsyO2E9YS5pZDskXyhhKTtIMj1GMihhKTtMMigxOEU1LDIpO3JldHVybiBhfTtKMj1mdW5jdGlvbihhLGIpe2I9bmV3IE0yKGIpOyRfKCIiKTtIMj1FMihiKTthPjAmJkwyKDEyRTQsYS0xKTt0aHJvdyBiO307TDI9ZnVuY3Rpb24oYSxiKXtfLm1qKGZ1bmN0aW9uKCl7QzIoKS50aGVuKEkyLGM9PkoyKGIsYykpLktnKF8uZ2QpfSxhKX07enRhPWZ1bmN0aW9uKCl7dHJ5e2xldCBhPV8uc2EoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iKTtyZXR1cm4gYT9hKCk6Wl8oKX1jYXRjaChhKXtyZXR1cm4gXy5PdChhKX19OwpOMj1mdW5jdGlvbigpe3ZhciBhPSExO3RyeXthPSEhd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInNlc3Npb25fbG9naW5pbmZvIil9Y2F0Y2h7YT0hMH1yZXR1cm4oXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIikmJmF9OwpPMj1mdW5jdGlvbigpe3RyeXt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic3RpY2tpbmVzc19yZWxvYWQiKTt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKTtfLlFpKCJMT0dJTl9JTkZPIiwiIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oImZyb21fc3dpdGNoX2FjY291bnQiLCIxIik7dmFyIGE7bGV0IGM9QXRhO2N8fChjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwZXJzaXN0X2lkZW50aXR5IikpO2lmKGE9Yyl7dmFyIGI9YS5zcmM/KG5ldyBVUkwoYS5zcmMpKS5vcmlnaW46IioiO2EuY29udGVudFdpbmRvdz8ucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiY2xlYXIifSxiKX19Y2F0Y2h7fX07ClAyPWZ1bmN0aW9uKGEpe2lmKGEpaWYoYS5zdGFydHNXaXRoKCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vQWRkU2Vzc2lvbiIpKU8yKCk7ZWxzZSBpZihhLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKSlPMigpO2Vsc2V7dmFyIGI7aWYoYj1hLnN0YXJ0c1dpdGgoImh0dHBzOi8vbXlhY2NvdW50Lmdvb2dsZS5jb20iKSliPShhIGluc3RhbmNlb2YgXy5meT9hLmNsb25lKCk6bmV3IF8uZnkoYSkpLmouZW5kc1dpdGgoIi95b3V0dWJlb3B0aW9ucyIpO2ImJk8yKCl9aWYoXy53KCJMT0dHRURfSU4iLCEwKSYmTjIoKSl7Yj1fLncoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBjPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2MmJmIucHVzaChjKTtjPV8uUGIoYSk7Xy5zYihiLGMpPj0wfHwhYyYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTA/KGI9Xy5OeShhKSwoYj1fLk95KGIpKT8oYj1fLnZ6KGIpLApiPShiPV8uTGouZ2V0KGIsdm9pZCAwKXx8bnVsbCk/Xy5iaihiKTp7fSk6Yj1udWxsKTpiPW51bGw7Yj09bnVsbCYmKGI9e30pO2M9Yjt2YXIgZD12b2lkIDA7TjIoKT8oZHx8KGQ9Xy53KCJMT0dJTl9JTkZPIikpLGQ/KGMuc2Vzc2lvbl9sb2dpbmluZm89ZCxjPSEwKTpjPSExKTpjPSExO2MmJl8udXooYSxiKX19O0J0YT1mdW5jdGlvbihhLGI9e30sYz0hMSl7dmFyIGQ9Xy53KCJFVkVOVF9JRCIpO2QmJihiLmVpfHwoYi5laT1kKSk7YiYmXy51eihhLGIpO2lmKGMpcmV0dXJuITE7UDIoYSk7Yj13aW5kb3c7YT1fLldiKGEse30pO1AyKGEpO2E9Xy5LeihhKTtiPWIubG9jYXRpb247YT1fLmRiKGEpO2EhPT12b2lkIDAmJihiLmhyZWY9YSk7cmV0dXJuITB9O1EyPWZ1bmN0aW9uKGEpe2lmKFRfKF8udygiUExBWUVSX1ZBUlMiLHt9KSkhPSIxIil7YSYmd3JhKCk7dHJ5e3p0YSgpLnRoZW4oKCk9Pnt9LCgpPT57fSksXy5taihRMiwxOEU1KX1jYXRjaChiKXtfLlVpKGIpfX19OwpEdGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cubG9jYXRpb24uaHJlZjtpZihfLngoImtldmxhcl9kaXNhYmxlX3RoZW1lX3BhcmFtIikpcmV0dXJuIG51bGw7Xy5RYihhKTt0cnl7bGV0IGI9YTAoYSkudGhlbWU7cmV0dXJuIEN0YS5nZXQoYil8fG51bGx9Y2F0Y2goYil7fXJldHVybiBudWxsfTsKUzI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFIyO2lmKGEuaW50ZXJwcmV0ZXJKYXZhc2NyaXB0KXt2YXIgYz1ZXyhhLmludGVycHJldGVySmF2YXNjcmlwdCk7Yz1fLmxiKGMpLnRvU3RyaW5nKCk7dmFyIGQ9bmV3IFkxO0JaKGQsNixjKTtfLkt3KGIsMSxkLF8ud3opfWVsc2UgYS5pbnRlcnByZXRlclVybCYmKGM9Xy5odyhhLmludGVycHJldGVyVXJsKSxjPV8uVWEoYykudG9TdHJpbmcoKSxkPW5ldyBaMSxCWihkLDQsYyksXy5LdyhiLDIsZCxfLnd6KSk7YS5pbnRlcnByZXRlckhhc2gmJl8uV3goYiwzLEFaKGEuaW50ZXJwcmV0ZXJIYXNoKSwiIixfLnd6KTthLnByb2dyYW0mJl8uV3goYiw0LEFaKGEucHJvZ3JhbSksIiIsXy53eik7YS5nbG9iYWxOYW1lJiZfLld4KGIsNSxBWihhLmdsb2JhbE5hbWUpLCIiLF8ud3opO2EuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2ImJl8uV3goYiw3LEFaKGEuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2IpLCIiLF8ud3opO3JldHVybiBifTsKVDI9ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjIG9mIGEpYT1jLnNwbGl0KCI9IiksYS5sZW5ndGg9PT0yJiYoYlthWzBdXT1hWzFdKTtyZXR1cm4gYn07VTI9ZnVuY3Rpb24oYSl7cmV0dXJuIE51bWJlcihhLnQpfHw3MjAwfTtFdGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT13aW5kb3c7YXdhaXQgZjEoVjIoKSk7dmFyIGI9YS5iZ2V2bWM7aWYoIWIpdGhyb3cgRXJyb3IoInplIik7cmV0dXJue3BhdXNlOigpPT57Yi5wKCl9LHJlc3VtZTooKT0+e2IucigpfSxjaGVja0ZvclJlZnJlc2g6KCk9PmIuY3IoKX19O1YyPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiYmdfc3RfaHIiKT8iaGF2dW9rbWhocy0wIjpgaGF2dW9rbWhocy0ke01hdGguZmxvb3IoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZT8udGltZU9yaWdpbnx8MCl9YH07VzI9ZnVuY3Rpb24oYSl7d2luZG93LmJnZW5zPWF9OwpGdGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPXdpbmRvdztiLm50cGV2YXNycyE9PXZvaWQgMD9hKG5ldyBYMihiLm50cGV2YXNycykpOihiLm50cHFmYmVsPT09dm9pZCAwJiYoYi5udHBxZmJlbD1bXSksYi5udHBxZmJlbC5wdXNoKGM9PnthKG5ldyBYMihjKSl9KSl9KX07Ckd0YT1mdW5jdGlvbigpe2lmKF8uc3ooKSl7dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIse30pO2lmKFRfKGEpIT0iMSImJkcyKGEpIT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCIpe3ZhciBiPSgpPT57WTI9ITA7Imdvb2dsZV9hZF9zdGF0dXMiaW4gd2luZG93P18uUWkoIkRDTEtTVEFUIiwxKTpfLlFpKCJEQ0xLU1RBVCIsMil9O3RyeXtsZXQgYz1fLmliKGRvY3VtZW50KTtIMChaMixiLGMpfWNhdGNoKGMpe30kMi5wdXNoKF8uamYucGIoKCk9PntpZighKFkyfHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7RzAoWjIudG9TdHJpbmcoKSxiKX1jYXRjaChjKXt9WTI9ITA7Xy5RaSgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07YTM9ZnVuY3Rpb24oKXt2YXIgYT1OdW1iZXIoXy53KCJEQ0xLU1RBVCIsMCkpO3JldHVybiBpc05hTihhKT8wOmF9O2IzPWZ1bmN0aW9uKGEsYil7YS5qPWJ9OwpJdGE9YXN5bmMgZnVuY3Rpb24oYSl7aWYoXy51Lnl0QXRQJiYhXy54KCJ5dGF0cF9rcyIpKXt2YXIgYj1hd2FpdCBfLnUueXRBdFA7ZGVsZXRlIF8udS55dEF0UDt2YXIgYz1iPy5SO3ZhciBkPWI/LlQ7Yj1IdGEoYyk7bGV0IGY9ISFkO2Euby5vKGM/Yj9mPzc6MTA6Zj8xOjg6Zj8yOjksYS52KyspO2lmKCFjfHxiKWM9YXdhaXQgYS5SZihjMyhkLG51bGwpKSxjPUpTT04uc3RyaW5naWZ5KGMpO18udS55dEF0UkM/Xy51Lnl0QXRSQyhjKTpfLklwKEVycm9yKCJBZSIpKX1lbHNlIF8udS55dEF0UkM/Xy5yeChhc3luYygpPT57ZD1fLnUueXRBdFQ7ZGVsZXRlIF8udS55dEF0VDtpZihfLnUueXRBdFJDKXthLm8ubygyLGEudisrKTt2YXIgZj1hd2FpdCBhLlJmKGMzKGQsbnVsbCkpO18udS55dEF0UkMmJl8udS55dEF0UkMoSlNPTi5zdHJpbmdpZnkoZikpfWVsc2UgYS5vLm8oNixhLnYrKyl9LF8uc2ooImF0dF9pbml0X2RlbGF5IiwwKSk6KGQ9Xy51Lnl0QXRULGRlbGV0ZSBfLnUueXRBdFQsCmEuby5vKDEsYS52KyspKTtjPWF3YWl0IEZ0YSgpO2MuYmluZElubmVydHViZUNoYWxsZW5nZUZldGNoZXIoZj0+e2Euby5vKDMsYS52KyspO3JldHVybiBhLlJmKGMzKGQsZikpfSk7Yy5yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhmPT57Zj1mLmNoYWxsZW5nZTtpZighZil0aHJvdyBFcnJvcigiQmUiKTtmPXtjaGFsbGVuZ2U6ZixCZjpUMihmKSx2bTplLGJnQ2hhbGxlbmdlOm5ldyBSMn07Zj1Qcm9taXNlLnJlc29sdmUoZik7YS5qPWZ9KTt2YXIgZT1hd2FpdCBmMShWMigpKTtjPWMuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKS5jaGFsbGVuZ2U7aWYoIWMpdGhyb3cgRXJyb3IoIkNlIik7cmV0dXJue2NoYWxsZW5nZTpjLEJmOlQyKGMpLHZtOmUsYmdDaGFsbGVuZ2U6bmV3IFIyfX07CmUzPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPWMzKHZvaWQgMCxXMSgpLmopO3RyeXt2YXIgYz1hd2FpdCBKdGEoYSxiKX1jYXRjaChmKXtyZXR1cm4gXy5JcChFcnJvcigiRGUiKSksZDMoYSw4NjRFNSkse2NoYWxsZW5nZToiIixCZjp7fSx2bTp2b2lkIDAsYmdDaGFsbGVuZ2U6dm9pZCAwfX1iPWMueXo7dmFyIGQ9Yy56ejtkMyhhLFUyKGQpKjFFMyk7YT12b2lkIDA7aWYoImMxYSJpbiBkJiZjLmJnQ2hhbGxlbmdlKXt2YXIgZT1TMihjLmJnQ2hhbGxlbmdlKTt0cnl7YXdhaXQgJDEoVzEoKSxlKX1jYXRjaChmKXtyZXR1cm4gXy5JcChmKSx7Y2hhbGxlbmdlOmIsQmY6ZCx2bTphLGJnQ2hhbGxlbmdlOmV9fXRyeXthPW5ldyBkMih7Y2hhbGxlbmdlOmUsbmc6e21iOiJhR0lmIn19KSxhd2FpdCBhLkNnfWNhdGNoKGYpe18uSXAoZiksYT12b2lkIDB9fXJldHVybntjaGFsbGVuZ2U6YixCZjpkLHZtOmEsYmdDaGFsbGVuZ2U6ZX19OwpKdGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dm9pZCAwLGQ9MDtkPDU7KXtpZihkPjApe2xldCBlPTFFMypNYXRoLnBvdygyLGQtMSkrTWF0aC5yYW5kb20oKSoxRTM7YXdhaXQgbmV3IFByb21pc2UoZj0+e18uWWooKCk9PntmKHZvaWQgMCl9LGUpfSl9dHJ5e2Euby5vKDQsYS52KyspO2xldCBlPWF3YWl0IGEuUmYoYik7cmV0dXJuIEt0YShlKX1jYXRjaChlKXtjPWUsZSBpbnN0YW5jZW9mIEVycm9yJiZfLklwKGUpfWQrK310aHJvdyBjO307ZDM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1EYXRlLm5vdygpK2IsZD1hc3luYygpPT57dmFyIGU9Yy1EYXRlLm5vdygpO2U8MUUzP2F3YWl0IEx0YShhKTpfLllqKGQsTWF0aC5taW4oZSw2RTQpKX07ZCgpfTtmMz1hc3luYyBmdW5jdGlvbihhLGIpe1cyKDIpO3RyeXtsZXQgYz1hd2FpdCBhLm5ldHdvcmsuUmYoYik7Yz9jLmNoYWxsZW5nZSYmIWMuYmdDaGFsbGVuZ2U/VzIoMSk6VzIoNCk6VzIoMyk7cmV0dXJuIGN9Y2F0Y2goYyl7VzIoMyl9fTsKS3RhPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCJFZSIpO2lmKCFhLmNoYWxsZW5nZSl0aHJvdyBFcnJvcigiRmUiKTt2YXIgYj1hLmNoYWxsZW5nZSxjPVQyKGIpO2lmKCJjMWEiaW4gYyYmKCFhLmJnQ2hhbGxlbmdlfHwhYS5iZ0NoYWxsZW5nZS5wcm9ncmFtKSl0aHJvdyBFcnJvcigiR2UiKTtyZXR1cm57Li4uYSx5ejpiLHp6OmN9fTtMdGE9YXN5bmMgZnVuY3Rpb24oYSl7dmFyIGI9YXdhaXQgUHJvbWlzZS5yYWNlKFthLmosbnVsbF0pLGM9ZTMoYSk7YS5qPWM7Yj8udm0/LmRpc3Bvc2UoKX07TXRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLllqKCgpPT57YyhiKCkpfSxhKX0pfTtjMz1mdW5jdGlvbihhLGIpe3ZhciBjPXtlbmdhZ2VtZW50VHlwZToiRU5HQUdFTUVOVF9UWVBFX1VOQk9VTkQifTthJiYoYy5lYWNyVG9rZW49YSk7YiYmKGMuaW50ZXJwcmV0ZXJIYXNoPWIpO3JldHVybiBjfTsKSHRhPWZ1bmN0aW9uKGEpe2lmKCFhfHwhXy54KCJyb3NjYXMiKSlyZXR1cm4hMTt0cnl7dmFyIGI9SlNPTi5wYXJzZShhKX1jYXRjaChjKXtyZXR1cm4hMX1hPWIuY2hhbGxlbmdlO2lmKCFhKXJldHVybiExO2I9VDIoYSk7YT1OdW1iZXIoYi5jKXx8dm9pZCAwO2I9VTIoYik7cmV0dXJuISFhJiZEYXRlLm5vdygpPihhK2IpKjFFM307aDM9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPWczLlVOS05PV05fSU5URVJGQUNFO2lmKGIpe2I9bmV3IFJlZ0V4cChiKTtmb3IodmFyIGMgb2YgYSlpZihiLmV4ZWMoYykpcmV0dXJuIGN9dmFyIGQ9W107T2JqZWN0LmVudHJpZXMoZzMpLmZvckVhY2goKFtlLGZdKT0+eyJVTktOT1dOX0lOVEVSRkFDRSIhPT1lJiZkLnB1c2goZil9KTtjPW5ldyBSZWdFeHAoZC5qb2luKCJ8IikpO2Euc29ydCgoZSxmKT0+ZS5sZW5ndGgtZi5sZW5ndGgpO2ZvcihsZXQgZSBvZiBhKWlmKCFjLmV4ZWMoZSkpcmV0dXJuIGU7cmV0dXJuIGFbMF19OwpOdGE9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntFbDpuZXcgaTMoKGMsZCk9PnthPWM7Yj1kfSkscmVzb2x2ZTphLHJlamVjdDpifX07azM9ZnVuY3Rpb24oYSl7cmV0dXJuIGozKGEpP2E6KDAsXy5ibykoYSk/bmV3IGkzKChiLGMpPT57YS50aGVuKGIsYyl9KTpuZXcgaTMoYj0+e2IoYSl9KX07T3RhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgaTMoKGIsYyk9PntjKGEpfSl9O1B0YT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGszKGEoKSl9Y2F0Y2goYil7cmV0dXJuIE90YShiKX19O1F0YT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntsMyhhLGIsYyl9KX07bTM9ZnVuY3Rpb24oYSl7cmV0dXJuIFF0YShhKX07bjM9ZnVuY3Rpb24oYSl7aWYoYS5qPT09ImZ1bGZpbGxlZCIpe3ZhciBiPWEubzthLm89W107YS52PVtdO2Zvcih2YXIgYyBvZiBiKWMoYS5yZXN1bHQpfWVsc2UgaWYoYS5qPT09InJlamVjdGVkIil7Yz1hLnY7YS5vPVtdO2Eudj1bXTtmb3IoYiBvZiBjKWIoYS5lcnJvcil9fTsKbDM9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7RWw6ZCxyZXNvbHZlOmUscmVqZWN0OmZ9PU50YSgpO2Euby5wdXNoKGg9PntpZihiKXRyeXtsZXQgaz1iKGgpO2Uoayl9Y2F0Y2goayl7ZihrKX1lbHNlIGUoaCl9KTthLnYucHVzaChoPT57aWYoYyl0cnl7bGV0IGs9YyhoKTtlKGspfWNhdGNoKGspe2Yoayl9ZWxzZSBmKGgpfSk7bjMoYSk7cmV0dXJuIGR9O1J0YT1mdW5jdGlvbihhLGIpe3JldHVybiBsMyhhLHZvaWQgMCxiKX07bzM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gU3RhKGIuY2FsbChhKSl9O3AzPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbiooKXtyZXR1cm4geWllbGR7RWw6azMoYSl9fSgpfTtTdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIFB0YSgoKT0+cTMoYSxhLm5leHQoKSkpfTtxMz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmRvbmU/azMoYi52YWx1ZSk6UnRhKGwzKGIudmFsdWUuRWwsYz0+cTMoYSxhLm5leHQoYykpKSxjPT5xMyhhLGEudGhyb3coYykpKX07ClR0YT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPV8ueSgpLnJlc29sdmUoXy5JeSk7aWYoYSl7aWYoYT1hd2FpdCBhLlFpKHtzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiR0VUX0RBVEFTWU5DX0lEUyJ9fSkpe2lmKGEuZXJyb3JNZXRhZGF0YSl7Xy5JcChFcnJvcigiSGVgIithLmVycm9yTWV0YWRhdGEuc3RhdHVzKyJgIithLmVycm9yKSk7cmV0dXJufXJldHVybiBhLnRJfV8uSXAoRXJyb3IoIkllIikpfWVsc2UgXy5JcChFcnJvcigiSmUiKSl9OwpyMz1mdW5jdGlvbihhLGIpe2lmKGIuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPWIsdHlwZW9mIGIuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBjPU51bWJlcihiLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxjKjFFMyk7YS5vJiZfLk1qKCJDT05TSVNURU5DWSIsYi5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzLGMsdm9pZCAwLCEwKX19O3MzPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgXy5lbigieXQtY2xpZW50LWxvY2F0aW9uIik6YS5sb2NhbFN0b3JhZ2V9Owp3Mz1mdW5jdGlvbihhLGI9ITEsYz0hMSl7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO2lmKCFkKXJldHVybiBfLkdwKEVycm9yKCJNZSIpKSx7fTtkPV8ucWQoZCk7Xy54KCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGQuY2xpY2tUcmFja2luZztkLmNsaWVudHx8KGQuY2xpZW50PXt9KTt2YXIgZT1kLmNsaWVudDtlLmNsaWVudE5hbWU9PT0iTVdFQiImJmUuY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGUuY2xpZW50Rm9ybUZhY3Rvcj1fLncoIklTX1RBQkxFVCIpPyJMQVJHRV9GT1JNX0ZBQ1RPUiI6IlNNQUxMX0ZPUk1fRkFDVE9SIik7ZS5zY3JlZW5XaWR0aFBvaW50cz13aW5kb3cuaW5uZXJXaWR0aDtlLnNjcmVlbkhlaWdodFBvaW50cz13aW5kb3cuaW5uZXJIZWlnaHQ7ZS5zY3JlZW5QaXhlbERlbnNpdHk9TWF0aC5yb3VuZCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk7ZS5zY3JlZW5EZW5zaXR5RmxvYXQ9CndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO2UudXRjT2Zmc2V0TWludXRlcz0tTWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO18uSHooKTt2YXIgZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO18uQ3ooMTY1KT9mPSJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjpfLkN6KDE3NCk/Zj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiOiFfLngoImtldmxhcl9sZWdhY3lfYnJvd3NlcnMiKSYmd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWUpIikubWF0Y2hlcyYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzJiYoZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyIpO2Y9RHRhKCl8fGY7ZS51c2VySW50ZXJmYWNlVGhlbWU9ZjtfLngoIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSIpJiZfLnUuZG9jdW1lbnQmJgooZS5hcHBsaWNhdGlvblN0YXRlPV8udS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFiKXtpZihmPV8uU2ooKSllLmNvbm5lY3Rpb25UeXBlPWY7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGY9Xy5VaigpKSYmKGQuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPWYpfV8ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGQuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke18udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSoxRTZ9YCk7aWYoXy54KCJ3ZWJfZ2NmX2hhc2hlc19pbm5lcnR1YmUiKSl7dmFyIGg9Xy5qbSgpO2lmKGgpe2Y9aC5jb2xkQ29uZmlnRGF0YTtsZXQgbj1oLmNvbGRIYXNoRGF0YTtoPWguaG90SGFzaERhdGE7ZC5jbGllbnQuY29uZmlnSW5mbz1kLmNsaWVudC5jb25maWdJbmZvfHx7fTtmJiYKKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9Zik7biYmKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPW4pO2gmJihkLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWgpfX1mPWEwKF8udS5sb2NhdGlvbi5ocmVmKTshXy54KCJ3ZWJfcG9wdWxhdGVfaW50ZXJuYWxfZ2VvX2tpbGxzd2l0Y2giKSYmZi5pbnRlcm5hbGNvdW50cnljb2RlJiYoZS5pbnRlcm5hbEdlbz1mLmludGVybmFsY291bnRyeWNvZGUpO2UuY2xpZW50TmFtZT09PSJNV0VCInx8ZS5jbGllbnROYW1lPT09IldFQiI/KGUubWFpbkFwcFdlYkluZm98fChlLm1haW5BcHBXZWJJbmZvPXt9KSxlLm1haW5BcHBXZWJJbmZvLmdyYWZ0VXJsPV8udS5sb2NhdGlvbi5ocmVmLF8ueCgia2V2bGFyX3dvZmZsZSIpJiZ0My5pbnN0YW5jZSYmKGY9dDMuaW5zdGFuY2UsZS5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hZi5qJiZmLm8/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6CiJQV0FfSU5TVEFMTEFCSUxJVFlfU1RBVFVTX1VOS05PV04iKSxlLm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSxlLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmUuY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFfLngoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJihmPV8udygiTElWSU5HX1JPT01fQVBQX1FVQUxJVFkiKSkmJihlLnR2QXBwSW5mbz1PYmplY3QuYXNzaWduKGUudHZBcHBJbmZvfHx7fSx7YXBwUXVhbGl0eTpmfSkpLGY9Xy53KCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoZS50dkFwcEluZm89T2JqZWN0LmFzc2lnbihlLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpmfSkpO2lmKCFfLngoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIGs9CihuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7YnJlYWsgYX1jYXRjaHt9az12b2lkIDB9ayYmKGUudGltZVpvbmU9ayl9KGs9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpKT9lLmV4cGVyaW1lbnRzVG9rZW49azpkZWxldGUgZS5leHBlcmltZW50c1Rva2VuO2U9Xy51aigpO3UzLmluc3RhbmNlfHwodTMuaW5zdGFuY2U9bmV3IHUzKTtrPV8uWngodTMuaW5zdGFuY2Uuaik7ZC5yZXF1ZXN0PXsuLi5kLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6ZSxjb25zaXN0ZW5jeVRva2VuSmFyczprfTshXy54KCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihlPV8udygiSU5ORVJUVUJFX0NPTlRFWFRfUFJFUVVFU1RfQ09OVEVYVCIpKSYmKGQucmVxdWVzdC5leHRlcm5hbFByZXF1ZXN0Q29udGV4dD1lKTtrPV8uSHooKTtlPV8uQ3ooNTgpO2s9ay5nZXQoImdzbWwiLCIiKTtkLnVzZXI9ey4uLmQudXNlcn07ZSYmKGQudXNlci5lbmFibGVTYWZldHlNb2RlPQplKTtrJiYoZC51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO18ueCgid2FybV9vcF9jc25fY2xlYW51cCIpP2MmJihiPV8uaXEoKSkmJihkLmNsaWVudFNjcmVlbk5vbmNlPWIpOiFiJiYoYj1fLmlxKCkpJiYoZC5jbGllbnRTY3JlZW5Ob25jZT1iKTthJiYoZC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmF9KTtpZihhPV8uc2EoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWQucmVtb3RlQ2xpZW50PWE7djMuamMoKS5zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChkKTt0cnl7dmFyIGw9Xy5saigpLG09bC5iaWQ7ZGVsZXRlIGwuYmlkO2QuYWRTaWduYWxzSW5mbz17cGFyYW1zOltdLGJpZDptfTtmb3IobGV0IFtuLHBdb2YgT2JqZWN0LmVudHJpZXMobCkpbD1uLG09cCxkLmFkU2lnbmFsc0luZm8ucGFyYW1zPy5wdXNoKHtrZXk6bCx2YWx1ZTpgJHttfWB9KTtpZihkLmNsaWVudD8uY2xpZW50TmFtZT09PSJUVkhUTUw1Inx8ZC5jbGllbnQ/LmNsaWVudE5hbWU9PT0KIlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IG49Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO24uYWRTaWduYWxzSW5mbyYmKGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkPW4uYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkLGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkU2lnbmFsVHlwZT0iREVWSUNFX0lEX1RZUEVfQ09OTkVDVEVEX1RWX0lGQSIsZC5hZFNpZ25hbHNJbmZvLmxpbWl0QWRUcmFja2luZz1uLmFkU2lnbmFsc0luZm8ubGltaXRBZFRyYWNraW5nLG4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMhPT12b2lkIDAmJihkLmFkU2lnbmFsc0luZm8uYXRUcmFja2luZ01hbmFnZXJBdXRob3JpemF0aW9uU3RhdHVzPW4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMpKX19Y2F0Y2gobil7Xy5HcChuKX1yZXR1cm4gZH07ClV0YT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO3ZhciBjPV8uQihhLF8uenopPy5zaWduYWw7aWYoYyYmYi5IZClyZXR1cm4hIWIuSGRbY107aWYoKGM9Xy5CKGEsXy5BeSk/LnJlcXVlc3QpJiZiLlZnKXJldHVybiEhYi5WZ1tjXTtmb3IobGV0IGQgaW4gYSlpZihiLkZpW2RdKXJldHVybiEwO3JldHVybiExfTsKeDM9ZnVuY3Rpb24oYSl7dmFyIGI9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Xy53KCJFT01fVklTSVRPUl9EQVRBIik/YlsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09Xy53KCJFT01fVklTSVRPUl9EQVRBIik6Xy53KCJWSVNJVE9SX0RBVEEiKSYmKGJbIlgtR29vZy1WaXNpdG9yLUlkIl09Xy53KCJWSVNJVE9SX0RBVEEiKSk7YlsiWC1Zb3V0dWJlLUJvb3RzdHJhcC1Mb2dnZWQtSW4iXT1fLncoIkxPR0dFRF9JTiIsITEpO18udygiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKGJbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1fLncoIkRFQlVHX1NFVFRJTkdTX01FVEFEQVRBIikpO2EhPT0iY29ycyImJigoYT1fLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpJiYoYlsiWC1Zb3V0dWJlLUNsaWVudC1OYW1lIl09YSksKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKGJbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQphKSwoYT1fLncoIkNIUk9NRV9DT05ORUNURURfSEVBREVSIikpJiYoYlsiWC1Zb3V0dWJlLUNocm9tZS1Db25uZWN0ZWQiXT1hKSwoYT1fLncoIkRPTUFJTl9BRE1JTl9TVEFURSIpKSYmKGJbIlgtWW91dHViZS1Eb21haW4tQWRtaW4tU3RhdGUiXT1hKSwoYT12My5qYygpLmdldFhHZW9IZWFkZXI/LigpKSYmKGJbIlgtR2VvIl09YSkpOyhhPV8udygiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoYlsiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1hKTtyZXR1cm4gYn07eTM9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pm5ldyBhfTsKVnRhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKHozLmluc3RhbmNlIT09dm9pZCAwKXtpZihkPXozLmluc3RhbmNlLGE9W2EhPT1kLnYsYiE9PWQuU2EsYyE9PWQubywhMSwhMSwhMSwhMV0sYS5zb21lKGU9PmUpKXRocm93IG5ldyBfLlhqKCJJbm5lclR1YmVUcmFuc3BvcnRTZXJ2aWNlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQiLGEpO31lbHNlIHozLmluc3RhbmNlPW5ldyB6MyhhLGIsYyxkKX07Cll0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWAveW91dHViZWkvdjEvJHtoMyhXdGEpfWAsZD17UmQ6e2lkZW50aXR5OkEzfX07aWYoXy54KCJtYXdfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0Iil8fF8ueCgiYWxsX3dlYl9uZXR3b3JrX21hY2hpbmVfcmF3X3JlcXVlc3QiKSl7bGV0IGY9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGYpcmV0dXJuIG0zKFh0YShmLHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6dm9pZCAwLGNvbmZpZzpkLGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbihoPT5oLCgpPT57fSl9dmFyIGU9KCk9Pnt9O2U9dzAodjAoYykpO2IuY29udGV4dHx8KGIuY29udGV4dD13Myh2b2lkIDAsITApKTtyZXR1cm4gbmV3IF8uQmYoYXN5bmMgZj0+e3ZhciBoPVkwKGMpO2g9Xy5maihoKT8ic2FtZS1vcmlnaW4iOiJjb3JzIjtoPWEuby56bj9DMyhkLGgpOmF3YWl0IEQzKGQsaCk7dmFyIGs9WDAoWTAoYykpOwprPXtpbnB1dDprLHdiOlowKGspLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6ZH07ZihFMyhhLGssaCxlKSl9KX07WnRhPWZ1bmN0aW9uKGEsYil7YTp7YT1hLnY7dmFyIGM9Xy5CKGIsXy56eik/LnNpZ25hbDtpZihjJiZhLkhkJiYoYz1hLkhkW2NdKSl7dmFyIGQ9YygpO2JyZWFrIGF9aWYoKGM9Xy5CKGIsXy5BeSk/LnJlcXVlc3QpJiZhLlZnJiYoYz1hLlZnW2NdKSl7ZD1jKCk7YnJlYWsgYX1mb3IoZCBpbiBiKWlmKGEuRmlbZF0mJihiPWEuRmlbZF0pKXtkPWIoKTticmVhayBhfWQ9dm9pZCAwfWlmKGQhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShkKX07QzM9ZnVuY3Rpb24oYSxiKXthPV8uUGooe3Nlc3Npb25JbmRleDphPy5SZD8uc2Vzc2lvbkluZGV4fSk7cmV0dXJuey4uLngzKGIpLC4uLmF9fTsKRDM9YXN5bmMgZnVuY3Rpb24oYSxiKXthPWF3YWl0IF8uS3koXy5Qaih7c2Vzc2lvbkluZGV4OmE/LlJkPy5zZXNzaW9uSW5kZXh9KSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Li4ueDMoYiksLi4uYX0pfTsKRTM9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD0oKT0+e30pe2F3YWl0ICR0YShiKTt2YXIgZT1iLmNvbmZpZz8ucmVxdWVzdEtleTtpZihlJiZhLmouaGFzKGUpKXZhciBmPWEuai5nZXQoZSk7ZWxzZSBmPUpTT04uc3RyaW5naWZ5KGIuaW5uZXJUdWJlUmVxdWVzdCksYi53Yj17Li4uYi53YixoZWFkZXJzOnsuLi4oYi53Yj8uaGVhZGVycz8/e30pLC4uLmN9fSxjPXsuLi5iLndifSxiLndiLm1ldGhvZD09PSJQT1NUIiYmKGM9ey4uLmMsYm9keTpmfSksYi5jb25maWc/LmtuJiZfLkFxKGIuY29uZmlnLmtuKSxmPWEuU2EuZmV0Y2goYi5pbnB1dCxjLGIuY29uZmlnKSxlJiZhLmouc2V0KGUsZik7aWYoKGY9YXdhaXQgZikmJiJlcnJvciJpbiBmJiZmPy5lcnJvcj8uZGV0YWlscyl7Yz1mLmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGMpKGM9aFsiQHR5cGUiXSkmJmF1YS5pbmRleE9mKGMpPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sZj1oKX1lJiZhLmouaGFzKGUpJiZhLmouZGVsZXRlKGUpOwpiLmNvbmZpZz8ucG4mJl8uQXEoYi5jb25maWcucG4pO2J1YShhLGYsYik7Yi5jb25maWc/Lkl6JiZfLkFxKGIuY29uZmlnLkl6KTtkKCk7cmV0dXJuIGZ8fHZvaWQgMH07JHRhPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGE/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe2E9YS5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBiIG9mW10pYXdhaXQgYi5CcihhKX19O2J1YT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmIWI/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZhLkIpZm9yKGxldCBkIG9mIEYzKWEuQltkXSYmYS5CW2RdLmhhbmRsZVJlc3BvbnNlKGIsYyl9O2N1YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG8zKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Xy5LeShfLlBqKHtzZXNzaW9uSW5kZXg6Yj8uUmQ/LnNlc3Npb25JbmRleH0pKTtkPXlpZWxkKnAzKGszKGQpKTtyZXR1cm57Li4ueDMoYyksLi4uZH19KCl9KX07CkczPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09MXx8YT09PTJ9O2R1YT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQsZT1fLkIoYixfLkF5KT8ucmVxdWVzdDtlJiZhLmouVmcmJihkPWEuai5WZ1tlXSk7ZHx8Y3x8KGU9Xy5CKGIsXy56eik/LnNpZ25hbCkmJmEuai5IZCYmKGQ9YS5qLkhkW2VdKTtpZighZCYmKGE9Yz9hLmouYUw6YS5qLkZpKSlmb3IobGV0IGYgaW4gYilpZihhW2ZdKXtkPWFbZl07YnJlYWt9aWYoIWQpe2lmKGMpdGhyb3cgRXJyb3IoIlFlIik7dGhyb3cgRXJyb3IoIlJlIik7fWI9ZCgpO3JldHVybiBrMyhiKX07ZXVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJDT01NQU5EX0lOSVQiLGIpfTtYdGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ydW4oIlJFUVVFU1RfSU5JVCIsYil9O0gzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJQUk9DRVNTX1JFU1BPTlNFIixiLCJSZXNwb25zZU1hY2hpbmUgKENhY2hlKSIpfTsKSTM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnJ1bigiSU5JVCIsYixjIT09dm9pZCAwP2BSZXNwb25zZU1hY2hpbmUgKENodW5rICR7Y30pYDoiUmVzcG9uc2VNYWNoaW5lIil9OwpmdWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKTtfLkp6KGEse2phOkozLFdjOigpPT5uZXcgTWFwfSk7Xy5KeihhLHtqYTpLMyxQYTpLMyxnYjohMH0pO18uSnooYSx7amE6TDMsUGE6TDMsZ2I6ITB9KTtfLkp6KGEse2phOk0zLFBhOk0zLGdiOiEwfSk7Xy5KeihhLHtqYTpOMyxQYTpOMyxnYjohMH0pO18uSnooYSx7amE6TzMsUGE6TzMsZ2I6ITB9KTtfLkp6KGEse2phOlAzLFBhOlAzLGdiOiEwfSk7Xy5KeihhLHtqYTpRMyxQYTpRMyxnYjohMH0pO18uSnooYSx7amE6UjMsUGE6UjMsZ2I6ITB9KTtfLkp6KGEse2phOlMzLFBhOlMzLGdiOiEwfSk7Xy5KeihhLHtqYTpUMyxQYTpUMyxnYjohMH0pO18uSnooYSx7amE6VTMsV2M6KGIsYyxkLGUsZixoLGssbCxtLG4pPT4oe0NPTU1BTkRfSU5JVDpsLFJFUVVFU1RfSU5JVDptLENBQ0hFOmMsTE9DQUxfUk9VVEVSOmssQ09OVEVYVDpkLEFVVEg6YixERURVUEU6ZSxGRVRDSDpoLFJFVFJZOm4sRkFMTEJBQ0s6Zn0pLFtfLkxuXTpbSzMsTDMsCk0zLE4zLE8zLFAzLFEzLFIzLFMzLFQzXSxnYjohMH0pO18uSnooYSx7amE6QjMsV2M6Yj0+KCk9Pm5ldyBWMyhiKSxbXy5Mbl06W1UzXSxnYjohMH0pO18uSnooYSx7amE6VzMsUGE6VzMsZ2I6ITB9KTtfLkp6KGEse2phOlgzLFBhOlgzLGdiOiEwfSk7Xy5KeihhLHtqYTpZMyxQYTpZMyxnYjohMH0pO18uSnooYSx7amE6WjMsUGE6WjMsZ2I6ITB9KTtfLkp6KGEse2phOiQzLFdjOihiLGMsZCxlKT0+KHtJTklUOmUsRVJST1JfVU5QQUNLRVI6YyxQUk9DRVNTX1JFU1BPTlNFOmQsQ0FMTEJBQ0tfRElTUEFUQ0hFUjpifSksW18uTG5dOltXMyxYMyxZMyxaM10sZ2I6ITB9KTtfLkp6KGEse2phOmE0LFdjOmI9PigpPT5uZXcgYjQoYiksW18uTG5dOlskM10sZ2I6ITB9KX07Cmd1YT1mdW5jdGlvbigpe18ucmEoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIsXy5HcCk7S3JhKCk7Xy56byhfLkJvKCkse30pO3dpbmRvdy5vbmVycm9yPUpyYTtfLlVmPW8wO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGE9PntpZihhLnJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKXtsZXQgYj1hLnJlYXNvbjtfLmN3KGIse3NvdXJjZToidW5oYW5kbGVkcmVqZWN0aW9uIn0pO2IubmFtZT09PSJBYm9ydEVycm9yIiYmKGIubGV2ZWw9IldBUk5JTkciKX1vMChhLnJlYXNvbik7YS5wcmV2ZW50RGVmYXVsdCgpfSl9O2M0PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiEhc2VsZi5zZXNzaW9uU3RvcmFnZX1jYXRjaHtyZXR1cm4hMX19O2Q0PWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19OwplND1mdW5jdGlvbihhKXtpZihjNCgpKXt2YXIgYj1PYmplY3Qua2V5cyh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpO2ZvcihsZXQgYyBvZiBiKWI9ZDQoYyksYj09PXZvaWQgMHx8YS5pbmNsdWRlcyhiKXx8c2VsZi5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07aHVhPWZ1bmN0aW9uKCl7aWYoIWM0KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LnNlc3Npb25TdG9yYWdlKTtmb3IobGV0IGMgb2YgYilpZihiPWQ0KGMpLGIhPT12b2lkIDAmJmIhPT1hKXJldHVybiEwO3JldHVybiExfTtmND1mdW5jdGlvbigpe1R0YSgpLnRoZW4oYT0+e2EmJihnMChhKSxjMShhKSxhMShhKSxlNChhKSl9KX07Cml1YT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLk9zO18uamYucGIoYXN5bmMoKT0+e2lmKCFfLngoInl0aWRiX2NsZWFyX29wdGltaXphdGlvbnNfa2lsbHN3aXRjaCIpKXt2YXIgYj1fLlZqKCJjbGVhciIpO2lmKGIuc3RhcnRzV2l0aCgiViIpJiZiLmVuZHNXaXRoKCJ8fCIpKXtiPVtiXTtnMChiKTtjMShiKTthMShiKTtlNChiKTtyZXR1cm59Yj1kc2EoKTtsZXQgYz1odWEoKSxkPWF3YWl0IGVzYSgpLGU9YXdhaXQgRXJhKCk7aWYoIShifHxjfHxkfHxlKSlyZXR1cm59YS5TYigpP2Y0KCk6Xy5iZihhLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixmNCl9KX07anVhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57d2luZG93LnNldFRpbWVvdXQoYixhKX0pfTsKWXNhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXtfLlR6KCJhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2giKTtfLkFxKCJhdHRfZnMiLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7aWYoIWEuail0aHJvdyBuZXcgczIoOSwiTWlzc2luZyBmZXRjaGVyIik7dmFyIGQ9YXdhaXQgYS5qKGIsYyk7Yj1kPy5iZ0NoYWxsZW5nZTtpZighYil0aHJvdyBuZXcgczIoMTUsIk1pc3NpbmcgZmllbGQiKTthLm89ZDthLnYuZm9yRWFjaChlPT57ZShkKX0pO2E9UzIoYik7Xy5BcSgiYXR0X2ZjIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO18uU3ooImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBhfTsKaHRhPWFzeW5jIGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW5ldyBCMSgxMDAsM0U1LC4yNSwyKSxkPXZvaWQgMDtjLnY8MTA7KXRyeXtyZXR1cm4gYy52PjAmJmF3YWl0IGp1YShjLmopLGF3YWl0IGt1YShhLGIpfWNhdGNoKGUpe2Q9ZSBpbnN0YW5jZW9mIHMyP2U6bmV3IHMyKDksZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToiVW5rbm93biIpLEMxKGMpfWlmKGQpdGhyb3cgZDt0aHJvdyBuZXcgczIoOSwiVW5rbm93biBlcnJvciIpO307Cmt1YT1mdW5jdGlvbihhLGIpe2I9V3NhKFhzYShuZXcgbHVhLGIpLGEucmVxdWVzdEtleSk7dmFyIGM9bmV3IF8uY3MsZD1hLkQoKTtkLm9wZW4oIlBPU1QiLGEuQik7ZC5zZXRSZXF1ZXN0SGVhZGVyKCJYLUdvb2ctQXBpLUtleSIsIkFJemFTeUR5VDVXMEpoNDlGMzBQcXF0eWZkZjdwRExGS0xKb0FudyIpO2Quc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiIpO2Qub25sb2FkPSgpPT57aWYoXy5xaihkKSl7bGV0IGU9bXVhKGQucmVzcG9uc2VUZXh0KTtjLnJlc29sdmUoZSl9ZWxzZSBjLnJlamVjdChuZXcgczIoUDEoXy5waihkKSksZC5zdGF0dXNUZXh0KSl9O2Qub25lcnJvcj0oKT0+e2MucmVqZWN0KG5ldyBzMihQMShfLnBqKGQpKSxkLnN0YXR1c1RleHQpKX07ZC5zZW5kKGIuc2VyaWFsaXplKCkpO3JldHVybiBjLnByb21pc2V9OwpudWE9ZnVuY3Rpb24oYSl7dmFyIGI9e2JpY2Y6ZD0+e2Euaj1kfSxibGM6KCk9PmEuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKSxiY3I6ZD0+e2Eudi5wdXNoKGQpfX0sYz13aW5kb3c7Yy5udHBldmFzcnM9YjtpZihjLm50cHFmYmVsIT09dm9pZCAwKWZvcihsZXQgZCBvZiBjLm50cHFmYmVsKWQoYik7Yy5udHBxZmJlbD12b2lkIDB9O2c0PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBFcnJvcil7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhLCJXQVJOSU5HIil9fTtpND1mdW5jdGlvbihhLGIpe2E9bmV3IG91YShhLGIpO3B1YShhKTtiPy5DSXx8aDQoYSl9OwpwdWE9ZnVuY3Rpb24oYSl7aWYoIWEudm0pe3ZhciBiPXttYXhBdHRlbXB0czo1LEZyOmEudHRsU2Vjb25kcyoxRTN9O2EuWGcueXRjc2k/LnRpY2s/LigicG90X2lzdCIpO2Eudm09YS5Icyh7b2Q6YS5vZCxuZzp7ZGlzYWJsZTpfLngoImh0bWw1X3dlYl9wb19kaXNhYmxlX3JlbW90ZV9sb2dnaW5nIiksbWI6ImFHSWYiLFN2OnpyYSgpLEt5Ol8ueCgid3BvX2Rpc19sZmRtcyIpPzA6MUUzLElnOmQ9Pnt2YXIgZT1qNC5nZXQoZCk7ZXx8KGU9bmV3IHF1YShkKSxlPW5ldyBUMShlKSxqNC5zZXQoZCxlKSk7cmV0dXJuIGV9fSxMZzpiLHN4OmEuYmdDaGFsbGVuZ2UsRWo6ZzR9KTthLmo9RGF0ZS5ub3coKTtmMihhLnZtLCgpPT57YS5qPURhdGUubm93KCl9KTthLlhnLmJnZXZtYz17cDooKT0+e2Eudm0/LnBhdXNlKCl9LHI6KCk9PnthLnZtPy5yZXN1bWUoKX0sY3I6KCk9PmEudm0/LmNoZWNrRm9yUmVmcmVzaCgpPz9Qcm9taXNlLnJlc29sdmUoKX07a3NhKGEudm0sYXN5bmMoKT0+aDQoYSksClYyKCkpO3ZhciBjPWEudi5iaW5kKGEpO2EueW0mJmEudHRsU2Vjb25kcz4wJiZhLnltLnRoZW4oZD0+e2QubGlzdGVuKCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixjKX0pO2EuR3IoYyl9fTtoND1mdW5jdGlvbihhKXtpZihhLm8pcmV0dXJuIGEubztpZighYS52bSl0aHJvdyBFcnJvcigiVGUiKTthLm89bmV3IHJ1YSh7dm06YS52bSxvZDphLm9kLFFuOiEwLG9uRXJyb3I6ZzQsTGc6YS5Kc30pO3JldHVybiBhLm99O2s0PWZ1bmN0aW9uKGEpe3RyeXtsZXQgYj1KU09OLnBhcnNlKGEpO2lmKGIuYmdDaGFsbGVuZ2UpcmV0dXJuIGJ9Y2F0Y2goYil7fX07CnN1YT1mdW5jdGlvbihhPXdpbmRvdyl7dmFyIGI9e30sYz1hLnl0QXRSO2I/LmtxPy5EcigpO2lmKGMpe2lmKGM9azQoYykpYj8ua3E/LnpnKCJTVUNDRVNTIiksaTQoYyxiKTthLnl0QXRSPXZvaWQgMH1lbHNlIGEueXRBdFJDPWQ9PntpZihkPWs0KGQpKWI/LmtxPy56ZygiU1VDQ0VTUyIpLGk0KGQsYiksYS55dEF0UkM9dm9pZCAwfX07CnR1YT1mdW5jdGlvbihhLGIsYyxkLGUsZil7Yz8oYS5TKDIpLEgwKHkwKGMpLCgpPT57d2luZG93LnRyYXlyaWRlP2w0KGEsZCxlKTooYS5TKDMpLEUwKGMpLF8uSXAobmV3IF8uWGooIkJMOlVMQiIsYCR7Y31gKSkpfSxmKSk6Yj8oZj1fLkNkKCJTQ1JJUFQiKSxiIGluc3RhbmNlb2YgXy5qYj9fLm5iKGYsYik6Zi50ZXh0Q29udGVudD1iLGYubm9uY2U9Xy5pYihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChmKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGYpLHdpbmRvdy50cmF5cmlkZT9sNChhLGQsZSk6KGEuUyg0KSxfLklwKG5ldyBfLlhqKCJCTDpVTEJKIikpKSk6Xy5JcChuZXcgXy5YaigiQkw6VUxWIikpfTsKbDQ9ZnVuY3Rpb24oYSxiLGMpe2EuUyg1KTt2YXIgZD0hIWEuaiYmdXVhLmluY2x1ZGVzKF8uUGIoYS5qKXx8IiIpO3RyeXtsZXQgZT1uZXcgZDIoe3Byb2dyYW06YixnbG9iYWxOYW1lOiJ0cmF5cmlkZSIsbmc6e2Rpc2FibGU6IV8ueCgiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyIpfHwhXy54KCJhdHRfc2tpcF9tZXRyaWNzX2Zvcl9jb29raWVsZXNzX2RvbWFpbnNfa3MiKSYmZCxtYjoiYUdJZiJ9fSk7ZS5DZy50aGVuKCgpPT57YS5TKDYpO2MmJmMoYil9KTthLm8oZSl9Y2F0Y2goZSl7YS5TKDcpLGUgaW5zdGFuY2VvZiBFcnJvciYmXy5JcChlKX19O200PWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXQuYWJ1c2UucGxheWVyQXR0TG9hZGVyIik7cmV0dXJuIGEmJlsiYmd2bWEiLCJiZ3ZtYiIsImJndm1jIl0uZXZlcnkoYj0+YiBpbiBhKT9hOm51bGx9Owp2dWE9ZnVuY3Rpb24oKXt2YXIgYT1fLncoIkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UUyIpO2lmKGEpe3ZhciBiPW5yYSgpO2ZvcihsZXQgYyBvZiBhKWIoYykmJl8uRXAoImdlbmVyaWNDbGllbnRFeHBlcmltZW50RXZlbnQiLHtldmVudFR5cGU6Y30pO2RlbGV0ZSBfLlBpLkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UU319O3d1YT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qKXtsZXQgZD1fLlFiKF8uUHkoYiwia2V5IikpfHwiL1VOS05PV05fUEFUSCI7YS5qLnN0YXJ0KGQpfWE9YztfLngoInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCIpJiYoYT1GcmEoYykpO3JldHVybiBuZXcgd2luZG93LlJlcXVlc3QoYixhKX07Cm80PWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihmPy5hYm9ydGVkKXJldHVybiBiLmNhbmNlbCgpLGQ7dmFyIHt2YWx1ZTpoLGRvbmU6a309YXdhaXQgYi5yZWFkKCk7aWYoaylyZXR1cm4gYS5qPy5zdWNjZXNzKCksZDt0cnl7dmFyIGw9Yy5wYXJzZShoKX1jYXRjaChtKXt0aHJvdyBuZXcgbjQoIkZhaWxlZCB0byBwYXJzZSBzdHJlYW1pbmcgcmVzcG9uc2UiLGgpO31pZihsIT1udWxsKWZvcihsZXQgbSBvZiBsKWQucHVzaChtKSxlPy4obSk7cmV0dXJuIG80KGEsYixjLGQsZSxmKX07eHVhPWZ1bmN0aW9uKCl7dmFyIGE9bmF2aWdhdG9yO3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZT8ucXVlcnlVc2FnZUFuZFF1b3RhP2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZS5xdWVyeVVzYWdlQW5kUXVvdGEoKGQsZSk9PntiKHt1c2FnZTpkLHF1b3RhOmV9KX0sZD0+e2MoZCl9KTpjKEVycm9yKCJWZSIpKX0pfTsKeXVhPWZ1bmN0aW9uKGEsYil7cDQuamMoKS5lc3RpbWF0ZSgpLnRoZW4oYz0+e2EuaigiaWRiUXVvdGFFeGNlZWRlZCIsey4uLmIsaXNTdzpzZWxmLmRvY3VtZW50PT09dm9pZCAwLGlzSWZyYW1lOnNlbGYhPT1zZWxmLnRvcCxkZXZpY2VTdG9yYWdlVXNhZ2VNYnl0ZXM6cTQoYz8udXNhZ2UpLGRldmljZVN0b3JhZ2VRdW90YU1ieXRlczpxNChjPy5xdW90YSl9KX0pfTtxND1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0idW5kZWZpbmVkIj8iLTEiOlN0cmluZyhNYXRoLmNlaWwoYS8xMDQ4NTc2KSl9Owp6dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17ZXJyb3JTZXZlcml0eTpiLmZoLnRvU3RyaW5nKCksd2l6RmVhdHVyZUZsYWdzOk9iamVjdC5lbnRyaWVzKGIuQWwpLmpvaW4oIlxuIil9O2I9Yi5maDtiPT09Mz9fLkdwKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTpiPT09MiYmXy5HcChhLCJXQVJOSU5HIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTtfLngoImNvd19pZl9lcnJvcnNfaW5fcG9wdXAiKSYmYj09PTMmJmEubWVzc2FnZS5pbmRleE9mKCI8SWY+IikhPT0tMSYmd2luZG93LmFsZXJ0KGEubWVzc2FnZSl9OwpBdWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW51bGw7YyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P2Q9YzohXy54KCJsb2dnaW5nX25lc3RlZF9jb21wb25lbnRfa3MiKSYmQXJyYXkuaXNBcnJheShjKSYmYy5sZW5ndGg9PT0xJiZBcnJheS5pc0FycmF5KGNbMF0pJiZjWzBdLmxlbmd0aD09PTEmJmNbMF1bMF1pbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoZD1jWzBdWzBdKTthLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZkJiZiJiYhXy54KCJjb3dfbG9nZ2luZ19pbl9jb21wb25lbnRfd3JhcHBlciIpJiZfLnV5KGQsYiwhMCl9O0J1YT1mdW5jdGlvbigpe18ueCgiY293X2xvZ2dpbmdfaW5fY29tcG9uZW50X3dyYXBwZXIiKT8oXy5Ddj0oYSxiKT0+e2IgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmXy51eShiLGEsITApfSxfLnZ2PSgpPT57fSk6KF8uQ3Y9KCk9Pnt9LF8udnY9QXVhKX07CkR1YT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpO18uSnooYSx7amE6cjQsUGE6czR9KTtfLkp6KGEse2phOnQ0LFBhOl8ubm19KTt2YXIgYj12My5qYygpLGM9YS5yZXNvbHZlKHQ0KSxkPWEucmVzb2x2ZShyNCksZT17fTtiJiYoZS5jbGllbnRfbG9jYXRpb249Yik7Xy5KeihhLHtqYTp1NCxNYjpDdWF9KTtfLkp6KGEse2phOl8uSnksTWI6ZX0pO18ueCgibWF3X2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmZnVhKCk7VnRhKGEucmVzb2x2ZSh1NCksZCxjLGEucmVzb2x2ZShfLkp5KSk7Xy5KeihhLHtqYTpfLkl5LE1iOnozLmluc3RhbmNlfSl9O0d1YT1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPW51bGwpe2I9bmV3IEV1YShhLGIsYyxkLGUpO0Z1YS5zZXQoYSxiKX07CnY0PWZ1bmN0aW9uKGEpe2lmKCFhLm9uUmVhZHlQYXRjaEFwcGxpZWQpe3ZhciBiPWEuYWRkRXZlbnRMaXN0ZW5lcjthLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PntjPT09Im9uUmVhZHkiP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntkKGEpfSk6Yi5jYWxsKGEsYyxkKX07YS5vblJlYWR5UGF0Y2hBcHBsaWVkPSEwfX07SnVhPWZ1bmN0aW9uKGEpe2lmKF8uc2EoInl0LnBsYXllci5BcHBsaWNhdGlvbi5jcmVhdGUiKSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dzQoYSl9KTtlbHNle0h1YShfLmh3KGEud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmwpLCgpPT57dzQoYSl9LCgpPT57YS5pYSgpfHxhLkVqKCl9KTtsZXQgYj1hLndlYlBsYXllckNvbnRleHRDb25maWcudHJ1c3RlZENzc1VybDtiJiZJdWEoXy5odyhiKSl9fTsKdzQ9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7dmFyIGI9Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3RyeXthLmFwaT1iKGEuY29udGFpbmVyLHthcmdzOmEucGxheWVyVmFyc30sYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnLHZvaWQgMCkuZ2V0SW50ZXJuYWxBcGkoKSx2NChhLmFwaSksYS5hcGkuaXNSZWFkeT0oKT0+ITAsYS5qKGEuYXBpKX1jYXRjaChjKXt0aHJvdyBhLkVqKCksYzt9fX07SXVhPWZ1bmN0aW9uKGEpe3ZhciBiPWB5dHAtJHthLnRvU3RyaW5nKCl9YDtpZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYikpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmlkPWI7Xy5xYihjLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYyl9fTsKSHVhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1geXRwLSR7YS50b1N0cmluZygpfWAsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKTtpZihlKWUuZGF0YXNldC5mYWlsZWQ/YygpOmUuZGF0YXNldC5sb2FkZWQ/YigpOihlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2MoKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9PntiKCl9KSk7ZWxzZXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtmLmlkPWQ7Zi5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntmLmRhdGFzZXQuZmFpbGVkPSJ0cnVlIjtjKCl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Zi5kYXRhc2V0LmxvYWRlZD0idHJ1ZSI7YigpfSk7Xy5vYihmLGEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShmLGEuZmlyc3RDaGlsZCl9fTsKS3VhPWZ1bmN0aW9uKGEpe18udygiRU5BQkxFX1dFQlZJRVdfQVBJIikmJndpbmRvdy55dHdlYnZpZXdwbGF5ZXImJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+e3RyeXtsZXQgZD1KU09OLnBhcnNlKGIuZGF0YSksZT1kLm1ldGhvZE5hbWUsZj1kLmFyZ3N8fFtdO2E6e2ZvcihsZXQgaCBvZiBmKWlmKFN0cmluZyhoKS5pbmNsdWRlcygiamF2YXNjcmlwdDoiKSl7dmFyIGM9ITA7YnJlYWsgYX1jPSExfWlmKGMpdGhyb3cgRXJyb3IoIldlYCIrZSsiYCIrZik7aWYoZSYmdHlwZW9mIGFbZV09PT0iZnVuY3Rpb24iKWFbZV0oLi4uZik7ZWxzZSB0aHJvdyBFcnJvcigiWGVgIitlKTt9Y2F0Y2goZCl7Xy5HcChkKX19KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25QbGF5ZXJSZWFkeSJ9KSl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApiPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25TdGF0ZUNoYW5nZSIsc3RhdGU6Yn0pKX0pLGEuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYj0+e3dpbmRvdy55dHdlYnZpZXdwbGF5ZXIucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6Im9uRXJyb3IiLGVycm9yQ29kZTpifSkpfSkpfTt4ND1mdW5jdGlvbihhKXtyZXR1cm4oYS5zZWFyY2goImN1ZSIpPT09MHx8YS5zZWFyY2goImxvYWQiKT09PTApJiZhIT09ImxvYWRNb2R1bGUifTsKeTQ9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJue3ZpZGVvSWQ6YSxzdGFydFNlY29uZHM6YixzdWdnZXN0ZWRRdWFsaXR5OmN9O2I9e307Zm9yKGxldCBlIG9mIEx1YSlhW2VdJiYoYltlXT1hW2VdKTtpZihhPWEuZW1iZWRDb25maWd8fGEuZW1iZWRfY29uZmlnKXthOmlmKHR5cGVvZiBhPT09InN0cmluZyIpdmFyIGQ9YTtlbHNle2lmKF8uQWEoYSkpdHJ5e2Q9SlNPTi5zdHJpbmdpZnkoYSk7YnJlYWsgYX1jYXRjaChlKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLGUpfWQ9dm9pZCAwfWIuZW1iZWRfY29uZmlnPWR9cmV0dXJuIGJ9Owp6ND1mdW5jdGlvbihhLGIsYyxkKXtpZihfLkFhKGEpJiYhQXJyYXkuaXNBcnJheShhKSl7Yj0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtjPXt9O2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspe2xldCBlPWJbZF07YVtlXSYmKGNbZV09YVtlXSl9cmV0dXJuIGN9Yj17aW5kZXg6YixzdGFydFNlY29uZHM6YyxzdWdnZXN0ZWRRdWFsaXR5OmR9O3R5cGVvZiBhPT09InN0cmluZyImJmEubGVuZ3RoPT09MTY/Yi5saXN0PSJQTCIrYTpiLnBsYXlsaXN0PWE7cmV0dXJuIGJ9O0E0PWZ1bmN0aW9uKGEsYixjKXthLkIucHVzaCh7ZXZlbnRUeXBlOmIsbGlzdGVuZXI6Y30pO2EuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixjKX07CkQ0PWZ1bmN0aW9uKGEpe2lmKGEuailpZihhLnYpYS5zZW5kTWVzc2FnZSgiYWxyZWFkeUluaXRpYWxpemVkIik7ZWxzZSBpZihhLk0pe2Eudj0hMDthLk09ITE7YS5zZW5kTWVzc2FnZSgiaW5pdGlhbERlbGl2ZXJ5IixCNChhKSk7YS5zZW5kTWVzc2FnZSgib25SZWFkeSIpO18uQXEoImVwX2luaXRfYXIiKTtmb3IobGV0IGIgb2YgYS5VKUM0KGEsYik7YS5VPVtdfX07QzQ9ZnVuY3Rpb24oYSxiLGM9YS5qKXtpZihjKXtiLmNoYW5uZWw9IndpZGdldCI7YS5zZXNzaW9uSWQmJihiLmlkPWEuc2Vzc2lvbklkKTt0cnl7bGV0IGQ9SlNPTi5zdHJpbmdpZnkoYik7Yy5wb3N0TWVzc2FnZShkLGEudGFyZ2V0T3JpZ2luKX1jYXRjaChkKXtfLklwKGQpfX19OwpCND1mdW5jdGlvbihhKXtpZighYS5hcGkpcmV0dXJuIG51bGw7dmFyIGI9YS5hcGkuZ2V0QXBpSW50ZXJmYWNlKCk7Xy54YihiLCJnZXRWaWRlb0RhdGEiKTt2YXIgYz17YXBpSW50ZXJmYWNlOmJ9O2ZvcihsZXQgZT0wLGY9Yi5sZW5ndGg7ZTxmO2UrKyl7bGV0IGg9YltlXTtpZihoLnNlYXJjaCgiZ2V0Iik9PT0wfHxoLnNlYXJjaCgiaXMiKT09PTApe3ZhciBkPTA7aC5zZWFyY2goImdldCIpPT09MD9kPTM6aC5zZWFyY2goImlzIik9PT0wJiYoZD0yKTtkPWguY2hhckF0KGQpLnRvTG93ZXJDYXNlKCkraC5zdWJzdHJpbmcoZCsxKTt0cnl7bGV0IGs9YS5hcGlbaF0oKTtjW2RdPWt9Y2F0Y2goayl7fX19Yy52aWRlb0RhdGE9YS5hcGkuZ2V0VmlkZW9EYXRhKCk7Yy5jdXJyZW50VGltZUxhc3RVcGRhdGVkXz1EYXRlLm5vdygpLzFFMztyZXR1cm4gY307RTQ9ZnVuY3Rpb24oYSxiKXthLnNlbmRNZXNzYWdlKCJpbmZvRGVsaXZlcnkiLGIpfTsKTXVhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2I9PT0ib25FcnJvciI/YS5hcGkubG9nQXBpQ2FsbChgJHtifSBpbnZvY2F0aW9uYCxjLGQpOmEuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk7YS5zZW5kTWVzc2FnZShiLGQpfX07RjQ9ZnVuY3Rpb24oYSxiLGMpe2EuaWEoKXx8KGI9e2lkOmEuaWQsY29tbWFuZDpifSxjJiYoYi5kYXRhPWMpLE51YS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShiKSxhLm9yaWdpbikpfTtPdWE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZSAib25SZWFkeSI6cmV0dXJuO2Nhc2UgIm9uU3RhdGVDaGFuZ2UiOnJldHVybntwbGF5ZXJTdGF0ZTpifTtjYXNlICJvblBsYXliYWNrUXVhbGl0eUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUXVhbGl0eTpifTtjYXNlICJvblBsYXliYWNrUmF0ZUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJvbkVycm9yIjpyZXR1cm57ZXJyb3JDb2RlOmJ9fWlmKGIhPW51bGwpcmV0dXJue3ZhbHVlOmJ9fTsKUHVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgImxvYWRWaWRlb0J5SWQiOnJldHVyblt5NChiKV07Y2FzZSAiY3VlVmlkZW9CeUlkIjpyZXR1cm5beTQoYildO2Nhc2UgImxvYWRWaWRlb0J5UGxheWVyVmFycyI6cmV0dXJuW2JdO2Nhc2UgImN1ZVZpZGVvQnlQbGF5ZXJWYXJzIjpyZXR1cm5bYl07Y2FzZSAibG9hZFBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgImN1ZVBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgInNlZWtUbyI6cmV0dXJuW2Iuc2Vjb25kcyxiLmFsbG93U2Vla0FoZWFkXTtjYXNlICJwbGF5VmlkZW9BdCI6cmV0dXJuW2IuaW5kZXhdO2Nhc2UgInNldFZvbHVtZSI6cmV0dXJuW2Iudm9sdW1lXTtjYXNlICJzZXRQbGF5YmFja1F1YWxpdHkiOnJldHVybltiLnN1Z2dlc3RlZFF1YWxpdHldO2Nhc2UgInNldFBsYXliYWNrUmF0ZSI6cmV0dXJuW2Iuc3VnZ2VzdGVkUmF0ZV07Y2FzZSAic2V0TG9vcCI6cmV0dXJuW2IubG9vcFBsYXlsaXN0c107Y2FzZSAic2V0U2h1ZmZsZSI6cmV0dXJuW2Iuc2h1ZmZsZVBsYXlsaXN0XTsKY2FzZSAiZ2V0T3B0aW9ucyI6cmV0dXJuW2IubW9kdWxlXTtjYXNlICJnZXRPcHRpb24iOnJldHVybltiLm1vZHVsZSxiLm9wdGlvbl07Y2FzZSAic2V0T3B0aW9uIjpyZXR1cm5bYi5tb2R1bGUsYi5vcHRpb24sYi52YWx1ZV07Y2FzZSAiaGFuZGxlR2xvYmFsS2V5RG93biI6cmV0dXJuW2Iua2V5Q29kZSxiLnNoaWZ0S2V5LGIuY3RybEtleSxiLmFsdEtleSxiLm1ldGFLZXksYi5rZXksYi5jb2RlXX1yZXR1cm5bXX07ClF1YT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJpc011dGVkIjpyZXR1cm57bXV0ZWQ6Yn07Y2FzZSAiZ2V0Vm9sdW1lIjpyZXR1cm57dm9sdW1lOmJ9O2Nhc2UgImdldFBsYXliYWNrUmF0ZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJnZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzIjpyZXR1cm57YXZhaWxhYmxlUGxheWJhY2tSYXRlczpifTtjYXNlICJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIjpyZXR1cm57dmlkZW9Mb2FkZWRGcmFjdGlvbjpifTtjYXNlICJnZXRQbGF5ZXJTdGF0ZSI6cmV0dXJue3BsYXllclN0YXRlOmJ9O2Nhc2UgImdldEN1cnJlbnRUaW1lIjpyZXR1cm57Y3VycmVudFRpbWU6Yn07Y2FzZSAiZ2V0UGxheWJhY2tRdWFsaXR5IjpyZXR1cm57cGxheWJhY2tRdWFsaXR5OmJ9O2Nhc2UgImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiOnJldHVybnthdmFpbGFibGVRdWFsaXR5TGV2ZWxzOmJ9O2Nhc2UgImdldER1cmF0aW9uIjpyZXR1cm57ZHVyYXRpb246Yn07CmNhc2UgImdldFZpZGVvVXJsIjpyZXR1cm57dmlkZW9Vcmw6Yn07Y2FzZSAiZ2V0VmlkZW9FbWJlZENvZGUiOnJldHVybnt2aWRlb0VtYmVkQ29kZTpifTtjYXNlICJnZXRQbGF5bGlzdCI6cmV0dXJue3BsYXlsaXN0OmJ9O2Nhc2UgImdldFBsYXlsaXN0SW5kZXgiOnJldHVybntwbGF5bGlzdEluZGV4OmJ9O2Nhc2UgImdldE9wdGlvbnMiOnJldHVybntvcHRpb25zOmJ9O2Nhc2UgImdldE9wdGlvbiI6cmV0dXJue29wdGlvbjpifX19O1J1YT1mdW5jdGlvbigpe3JldHVybiBHNC5pc0luaXRpYWxpemVkKCl9O1N1YT1mdW5jdGlvbihhPXt9KXtyZXR1cm4gRzQuaW52b2tlKGEpfTtUdWE9ZnVuY3Rpb24oKXtpZihfLncoIkVOQUJMRV9KU19BUEkiKSl7dmFyIGE9Yj0+e0g0PWI7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGEpfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYSl9fTsKVXVhPWZ1bmN0aW9uKCl7Xy5BcSgiZXBfaW5pdF93ZXMiKTt2YXIgYT1fLncoIlBMQVlFUl9DT05GSUciKTtpZighYSl7dmFyIGI9Xy53KCJQTEFZRVJfVkFSUyIpO2ImJihhPXthcmdzOmJ9KX1RMighMCk7YS5hcmdzLnBzPT09Imd2biImJihkb2N1bWVudC5ib2R5LnN0eWxlLmJhY2tncm91bmRDb2xvcj0idHJhbnNwYXJlbnQiKTthLmF0dHJzfHwoYS5hdHRycz17d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsaWQ6InZpZGVvLXBsYXllciJ9KTtiPWRvY3VtZW50LnJlZmVycmVyO3dpbmRvdyE9PXdpbmRvdy50b3AmJmImJmIhPT1kb2N1bWVudC5VUkwmJihhLmFyZ3MubG9hZGVyVXJsPWIpO2I9Xy53KCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyIpPy5XRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUjtpZighYi5zZXJpYWxpemVkRm9yY2VkRXhwZXJpbWVudElkcyl7bGV0IGM9YTAod2luZG93LmxvY2F0aW9uLmhyZWYpO2MuZm9yY2VkX2V4cGVyaW1lbnRzJiYKKGIuc2VyaWFsaXplZEZvcmNlZEV4cGVyaW1lbnRJZHM9Yy5mb3JjZWRfZXhwZXJpbWVudHMpfWEuYXJncz8uYXV0b3BsYXk/dDAoIndhdGNoIixbInBicyIsInBidSIsInBicCJdKTphLmFyZ3MmJnd0YShhLmFyZ3MpP3QwKCJ2aWRlb19wcmV2aWV3IixbIm9sIl0pOnQwKCJlbWJlZF9ub192aWRlbyIsWyJlcF9pbml0X2FyIl0pO18ueCgiZW1iZWRzX3VzZV9wbGF5ZXJfaW5zdGFuY2VzX2xpYnJhcnkiKXx8Xy53KCJFTkFCTEVfV0VCVklFV19BUEkiKT8oR3VhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKSxiLGM9PntfLncoIkVOQUJMRV9XRUJWSUVXX0FQSSIpPyhjPWMuZ2V0VHJ1c3RlZEFwaSgpLHY0KGMpLEt1YShjKSk6KEk0KGMpLEo0KGMpKX0sKCk9Pnt0aHJvdyBFcnJvcigiWWUiKTt9LGEuYXJncyksXy53KCJFTkFCTEVfV0VCVklFV19BUEkiKXx8SzQoKSxfLkFxKCJlcF9pbml0X3dlZSIpKTooYT1jc2EoYSxiKSxJNChhKSxLNCgpLF8uQXEoImVwX2luaXRfd2VlIiksCko0KGEpKX07STQ9ZnVuY3Rpb24oYSl7TDQ9YTtMNC5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpO0w0LmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLFZ1YSk7YT1fLncoIlBPU1RfTUVTU0FHRV9JRCIsInBsYXllciIpO3ZhciBiPV8udygiUE9TVF9NRVNTQUdFX09SSUdJTiIpO18udygiRU5BQkxFX0pTX0FQSSIpP040PW5ldyBXdWE6Xy53KCJFTkFCTEVfUE9TVF9BUEkiKSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmdHlwZW9mIGI9PT0ic3RyaW5nIiYmKE40PW5ldyBYdWEoYSxiKSk7SDQ9dm9pZCAwfTsKSzQ9ZnVuY3Rpb24oKXtHdGEoKTtfLngoInl0aWRiX2NyZWF0ZV9sb2dnZXJfZW1iZWRfa2lsbHN3aXRjaCIpfHxCcmEoKTtPNC5qfHwoTzQuaj1uZXcgTzQpO080LmouaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6KCk9PntfLmJwKCl9fX0pO18uSWx8fEdyYSgpO0R1YSgpO18uamYucGIoKCk9PntfLnkoKS5yZXNvbHZlKF8uSXkpO2l1YSgpfSk7c2V0VGltZW91dCgoKT0+e18ueCgiYXR0bXVzaSIpJiZzdWEod2luZG93KTt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5JeSkpO2lmKGEpe2E9bmV3IFl1YShhKTt2YXIgYj17cHJlbG9hZDohXy54KCJlbmFibGVfcnRhX25waSIpLHpzOl8ueCgiYXR0bXVzaSIpfTtiPU9iamVjdC5hc3NpZ24oe3ByZWxvYWQ6ITB9LGIpO2xldCBkPWIuQUk/dm9pZCAwOm5ldyBfLk9zO1A0Lmluc3RhbmNlPW5ldyBQNChhLGIsZCk7YT1QNC5pbnN0YW5jZTtpZigoXy54KCJhdHRtdXNpIil8fF8ueCgiYXR0bXVzaXciKSkmJl8ueCgiYXR0bXVzaV91ZSIpKXthPQp7czphLkIuYmluZChhKSxpcjphLkQuYmluZChhKX07Yj13aW5kb3c7Yi5hdHRtcD1hO2lmKGIuYXR0bXEhPT12b2lkIDApZm9yKHZhciBjIG9mIGIuYXR0bXEpYyhhKTtiLmF0dG1xPXZvaWQgMH1lbHNlIGM9YS5CLmJpbmQoYSksXy5yYSgieXQuYWJhLmF0dCIsYyksYz1hLkQuYmluZChhKSxfLnJhKCJ5dC5hYmEuYXR0MiIsYyl9fSxfLnNqKCJhdHRfaW5pdF9kZWxheSIsMjAwKSk7Xy5ZaigoKT0+e2lmKF8ueCgiZW5hYmxlX3p3X3BpbmciKSl7dmFyIGE9Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiLCJVTktOT1dOX0lOVEVSRkFDRSIpLGI9Ii9lc3RhYmxpc2hfenciO2lmKGE9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiIpYj0iL2VtYmVkL2VzdGFibGlzaF96dyI7ZWxzZSBpZihhPT09IlRWSFRNTDUifHxhPT09IlRWSFRNTDVfU0lNUExZIiliPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS90di9lc3RhYmxpc2hfenciO18udygiQ09PS0lFTEVTUyIsITEpJiZhPT09IldFQl9FTUJFRERFRF9QTEFZRVIiPwooYT1uZXcgSGVhZGVycyxhLnNldCgiWC1Hb29nLVZpc2l0b3ItSWQiLF8udygiVklTSVRPUl9EQVRBIikpLGZldGNoKGIse21ldGhvZDoiR0VUIixtb2RlOiJuby1jb3JzIixoZWFkZXJzOmF9KSk6ZmV0Y2goYix7bWV0aG9kOiJHRVQiLG1vZGU6Im5vLWNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfX0pfTtadWE9ZnVuY3Rpb24oKXtRNCgpfTskdWE9ZnVuY3Rpb24oYSl7YS5wZXJzaXN0ZWR8fFE0KCl9OwpRND1mdW5jdGlvbigpe1NyYSgpO3ZhciBhPV8uSHooKSxiPV8uQ3ooMTE5KSxjPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPjE7ZG9jdW1lbnQuYm9keSYmXy5SdChkb2N1bWVudC5ib2R5LCJleHAtaW52ZXJ0LWxvZ28iKSYmKGMmJiFfLlJ0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKT9fLlN0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKTohYyYmXy5SdChkb2N1bWVudC5ib2R5LCJpbnZlcnRlZC1oZHBpIikmJl8uVHQoZG9jdW1lbnQuYm9keSwiaW52ZXJ0ZWQtaGRwaSIpKTtiIT1jJiYoXy5EeigxMTksYyksYS5zYXZlKCkpfTtNND1mdW5jdGlvbigpe1I0KCl9O1Z1YT1mdW5jdGlvbigpe18uQXEoImVwX2luaXRfcHIiKTtSNCgpfTtSND1mdW5jdGlvbigpe3ZhciBhPUw0LmdldFZpZGVvRGF0YSgxKTthPWEudGl0bGU/YS50aXRsZSsiIC0gWW91VHViZSI6IllvdVR1YmUiO2RvY3VtZW50LnRpdGxlIT09YSYmKGRvY3VtZW50LnRpdGxlPWEpfTsKUzQ9ZnVuY3Rpb24oKXtMNCYmTDQuc2VuZEFiYW5kb25tZW50UGluZyYmTDQuc2VuZEFiYW5kb25tZW50UGluZygpO18udygiUExfQVRUIikmJkc0LmRpc3Bvc2UoKTtfLk10KCQyKTskMi5sZW5ndGg9MDtFMChaMi50b1N0cmluZygpKTtZMj0hMTtfLlFpKCJEQ0xLU1RBVCIsMCk7Xy4kZChONCk7TDQmJihMNC5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpLEw0LmRlc3Ryb3koKSxMND1udWxsKX07YXZhPWZ1bmN0aW9uKGEpe18ueCgiZW1iZWRzX3dlYl9lbmFibGVfZGlzcG9zZV9wbGF5ZXJfaWZfcGFnZV9ub3RfY2FjaGVkX2tpbGxzd2l0Y2giKT9TNCgpOmEucGVyc2lzdGVkfHxTNCgpfTsKYnZhPWZ1bmN0aW9uKCl7VDR8fChfLmR3KHtKaShhKXthLnByb3BzLmRhdGEmJihhLmVsLmRhdGE9YS5wcm9wcy5kYXRhKX0sS2koYSxiLGMpe2EuZWw/Yi5kYXRhIT09Yy5kYXRhJiYoYS5lbC5kYXRhPWMuZGF0YSk6Xy5JcChuZXcgXy5YaigiSURPTSBjb21wb25lbnQgZWwgaXMgbnVsbCIsYS5qPy5aYykpfX0pLFQ0PSEwKX07Y3ZhPXtFSzohMH07ZHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPVU0O3RoaXMuaj0xNzUyMzczNzU7dGhpcy5jdG9yPWE7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5vPV8uTng7dGhpcy5kZWZhdWx0VmFsdWU9dm9pZCAwO3RoaXMudj1iLm1lc3NhZ2VJZCE9bnVsbD9fLnd6OnZvaWQgMH1yZWdpc3Rlcigpe18ucGModGhpcyl9fTsKZHJhPXt0b1N0cmluZzpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7YS09LTIxNDc0ODM2NDg7YltjKytdPSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIi5jaGFyQXQoYSU1Mik7Zm9yKGE9TWF0aC5mbG9vcihhLzUyKTthPjA7KWJbYysrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkiLmNoYXJBdChhJTYyKSxhPU1hdGguZmxvb3IoYS82Mik7cmV0dXJuIGIuam9pbigiIil9fTtBMz17aWRlbnRpdHlUeXBlOiJVTkFVVEhFTlRJQ0FURURfSURFTlRJVFlfVFlQRV9VTktOT1dOIn07SVo9MDtKWj0wO05aPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmJ1ZmZlcj1hO2lmKGMmJiFiKXRocm93IEVycm9yKCk7fX07T1o9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YT4+PjA7dGhpcy5qPWI+Pj4wfX07ClRaPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPWE+Pj4wO3RoaXMuaj1iPj4+MH19O2xfPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O0VfPV8ueWMoKTtvcmE9L14tPyhbMS05XVswLTldKnwwKShcLlswLTldKyk/JC87VjQ9Xy5seihPXyxfLkpyKTtldmE9Xy5seihPXyxfLkpyKTtXND1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPXFfKGIpO2IhPW51bGwmJihfLlp5KGEsYyw1KSxhPWEuaixjPU5ffHwoTl89bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLGMuc2V0RmxvYXQzMigwLCtiLCEwKSxKWj0wLElaPWMuZ2V0VWludDMyKDAsITApLGVfKGEsSVopKX0sXy5Jcik7WDQ9Xy5seihQXyxfLkZyKTtmdmE9Xy5seihQXyxfLkZyKTsKWTQ9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1BXyhiKTtpZihiIT1udWxsJiYoZ18oYiksYiE9bnVsbCkpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLE9aLFFaKTtkXyhhLmosYy5vLGMuaik7YnJlYWs7ZGVmYXVsdDpjPVNaKGIpLGRfKGEuaixjLm8sYy5qKX19LF8uR3IpO1o0PV8ubHooUV8sXy5Dcik7Z3ZhPV8ubHooUV8sXy5Dcik7Cmh2YT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPUFfKGIpO2lmKGIhPW51bGwpc3dpdGNoKGhfKGIpLF8uWnkoYSxjLDEpLGE9YS5qLGhfKGIpLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmI8MD8oYj1QWihRWigtYikpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpKTooS1ooYiksZV8oYSxJWiksZV8oYSxKWikpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yj1iPEJpZ0ludCgwKT9QWihjXygtYixPWixRWikpOmNfKGIsT1osUVopO2M9Yi5qO2VfKGEsYi5vKTtlXyhhLGMpO2JyZWFrO2RlZmF1bHQ6Yj1iLmxlbmd0aCYmYlswXT09PSItIj9QWihTWihiLnN1YnN0cmluZygxKSkpOlNaKGIpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpfX0sXy5Icik7aXZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2lfKGEsYyxBXyhiKSl9LF8uSHIpO2p2YT1NXyhmdW5jdGlvbihhLGIsYyl7Yj1MXyhBXyxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWlfKGEsYyxiW2RdKX0sXy5Icik7Cmt2YT1fLmx6KF8ubXosXy5Bcik7JDQ9Xy5seihSXyxfLkJyKTtsdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5YdCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLEhaKGYpKX19LF8uQnIpO212YT1fLmx6KFJfLF8uQnIpO2E1PW5ldyBfLmd6KF8ubnosXy56cik7bnZhPU1fKGZ1bmN0aW9uKGEsYixjKXtiPUxfKHJyYSxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLGZyYShmKS5idWZmZXIpfX0sXy5Lcik7YjU9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1zXyhiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksXy5YeShhLmosYikpfSxfLkRyKTtjNT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtqXyhhLGMsXy5zeChiKSl9LF8uTHIpOwpvdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5zeCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWpfKGEsYyxiW2RdKX0sXy5Mcik7cHZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiYoXy5aeShhLGMsNSksYT1hLmosYS5qLnB1c2goYj4+PjAmMjU1KSxhLmoucHVzaChiPj4+OCYyNTUpLGEuai5wdXNoKGI+Pj4xNiYyNTUpLGEuai5wdXNoKGI+Pj4yNCYyNTUpKX0sXy5Fcik7Xy5nPV8uZVYucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5lVih0aGlzLngsdGhpcy55KX07Xy5nLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uZVYmJih0aGlzPT1hPyEwOnRoaXMmJmE/dGhpcy54PT1hLngmJnRoaXMueT09YS55OiExKX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9O18uZy50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgXy5lVj8odGhpcy54Kz1hLngsdGhpcy55Kz1hLnkpOih0aGlzLngrPU51bWJlcihhKSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy55Kz1iKSk7cmV0dXJuIHRoaXN9O18uZy5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMueCo9YTt0aGlzLnkqPXR5cGVvZiBiPT09Im51bWJlciI/YjphO3JldHVybiB0aGlzfTsKdmFyIHF2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxydmE9e3N0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjoxLHN0b3BQcm9wYWdhdGlvbjoxLHByZXZlbnRNb3VzZUV2ZW50OjEscHJldmVudE1hbmlwdWxhdGlvbjoxLHByZXZlbnREZWZhdWx0OjEsbGF5ZXJYOjEsbGF5ZXJZOjEsc2NyZWVuWDoxLHNjcmVlblk6MSxzY2FsZToxLHJvdGF0aW9uOjEsd2Via2l0TW92ZW1lbnRYOjEsd2Via2l0TW92ZW1lbnRZOjF9LGMwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudHlwZT0iIjt0aGlzLnN0YXRlPXRoaXMuc291cmNlPXRoaXMuZGF0YT10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmN0cmxLZXk9dGhpcy5hbHRLZXk9ITE7dGhpcy5yb3RhdGlvbj10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPQowO3RoaXMuc2NhbGU9MTt0aGlzLmNoYW5nZWRUb3VjaGVzPXRoaXMudG91Y2hlcz1udWxsO3RyeXtpZihhPWF8fHdpbmRvdy5ldmVudCl7dGhpcy5ldmVudD1hO2ZvcihsZXQgZCBpbiBhKWQgaW4gcnZhfHwodGhpc1tkXT1hW2RdKTt0aGlzLnNjYWxlPWEuc2NhbGU7dGhpcy5yb3RhdGlvbj1hLnJvdGF0aW9uO3ZhciBiPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7YiYmYi5ub2RlVHlwZT09MyYmKGI9Yi5wYXJlbnROb2RlKTt0aGlzLnRhcmdldD1iO3ZhciBjPWEucmVsYXRlZFRhcmdldDtpZihjKXRyeXtjPWMubm9kZU5hbWU/YzpudWxsfWNhdGNoKGQpe2M9bnVsbH1lbHNlIHRoaXMudHlwZT09Im1vdXNlb3ZlciI/Yz1hLmZyb21FbGVtZW50OnRoaXMudHlwZT09Im1vdXNlb3V0IiYmKGM9YS50b0VsZW1lbnQpO3RoaXMucmVsYXRlZFRhcmdldD1jO3RoaXMuY2xpZW50WD1hLmNsaWVudFghPXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWDt0aGlzLmNsaWVudFk9YS5jbGllbnRZIT12b2lkIDA/CmEuY2xpZW50WTphLnBhZ2VZO3RoaXMua2V5Q29kZT1hLmtleUNvZGU/YS5rZXlDb2RlOmEud2hpY2g7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwodGhpcy50eXBlPT0ia2V5cHJlc3MiP3RoaXMua2V5Q29kZTowKTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMuaj1hLnBhZ2VYO3RoaXMubz1hLnBhZ2VZfX1jYXRjaChkKXt9fXByZXZlbnREZWZhdWx0KCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQucmV0dXJuVmFsdWU9ITEsdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCYmdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCgpKX1zdG9wUHJvcGFnYXRpb24oKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkpfXN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJgoodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX07Xy5IYShlMCxfLmFlKTtlMC5wcm90b3R5cGUuZ2E9ZnVuY3Rpb24oYSl7YS5qPT09dm9pZCAwJiZiMChhKTt2YXIgYj1hLmo7YS5vPT09dm9pZCAwJiZiMChhKTt0aGlzLmo9bmV3IF8uZVYoYixhLm8pfTsKZTAucHJvdG90eXBlLlU9ZnVuY3Rpb24oKXtpZih0aGlzLmope3ZhciBhPSgwLF8uZWwpKCk7aWYodGhpcy5CIT0wKXt2YXIgYj10aGlzLkksYz10aGlzLmosZD1iLngtYy54O2I9Yi55LWMueTtkPU1hdGguc3FydChkKmQrYipiKS8oYS10aGlzLkIpO3RoaXMub1t0aGlzLnZdPU1hdGguYWJzKChkLXRoaXMuRCkvdGhpcy5EKT4uNT8xOjA7Yj0wO2ZvcihjPTA7Yzw0O2MrKyliKz10aGlzLm9bY118fDA7Yj49MyYmdGhpcy5NKCk7dGhpcy5EPWR9dGhpcy5CPWE7dGhpcy5JPXRoaXMuajt0aGlzLnY9KHRoaXMudisxKSU0fX07ZTAucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7d2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5oYSk7eXJhKHRoaXMuWil9Owp2YXIgdDM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPXZvaWQgMDt0aGlzLmo9ITE7YS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixiPT57Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1ifSk7YS5hZGRFdmVudExpc3RlbmVyKCJhcHBpbnN0YWxsZWQiLCgpPT57dGhpcy5qPSEwfSx7b25jZTohMH0pfX0sZjA9MCx1MD17bmV4dDoid25fcyIsYnJvd3NlOiJicl9zIixzZWFyY2g6InNyX3MiLHJlZWw6InJfd3JzIixwbGF5ZXI6InBzX3MifSxScmE9e25leHQ6InduX3IiLGJyb3dzZToiYnJfciIsc2VhcmNoOiJzcl9yIixyZWVsOiJyX3dyciIscGxheWVyOiJwc19yIn0sbTA9e30sczA9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLAonbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJwbGF5ZXIvd3d3LXBsYXllciJdJzoicGMiLCdzY3JpcHRbbmFtZT0iZGVza3RvcF9wb2x5bWVyL2Rlc2t0b3BfcG9seW1lciJdJzoiZHBqIiwnbGlua1tyZWw9ImltcG9ydCJdW25hbWU9ImRlc2t0b3BfcG9seW1lciJdJzoiZHBoIiwnc2NyaXB0W25hbWU9Im1vYmlsZS1jMyJdJzoibWNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGUtYzMiXSc6Im1jYyIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy1waG9uZS9iYXNlIl0nOiJtY3BwaiIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy10YWJsZXQvYmFzZSJdJzoibWNwdGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwKJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0ibW9iaWxlX2JsYXplcl9jc3MiXSc6Im1iYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9pbl91c2Vyc19tb2QiXSc6Im1ibGl1aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9vdXRfdXNlcnNfbW9kIl0nOiJtYmxvdWoiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl9ub25jb3JlX21vZCJdJzoibWJuaiIsIiNwbGF5ZXJfY3NzIjoibWJwYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2Rlc2t0b3BwbGF5ZXJfbW9kIl0nOiJtYnBqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX3RhYmxldF9jc3MiXSc6Im1idGMiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSwKWTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sWjE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sejA9e30sZDU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YT1hfHx7fTt2YXIgYj17fSxjPXt9O3RoaXMudXJsPWEudXJsfHwiIjt0aGlzLmFyZ3M9YS5hcmdzfHxVXyhiKTt0aGlzLmFzc2V0cz1hLmFzc2V0c3x8e307dGhpcy5hdHRycz1hLmF0dHJzfHxVXyhjKTt0aGlzLmZhbGxiYWNrPWEuZmFsbGJhY2t8fG51bGw7dGhpcy5mYWxsYmFja01lc3NhZ2U9YS5mYWxsYmFja01lc3NhZ2V8fG51bGw7dGhpcy5odG1sNT0hIWEuaHRtbDU7dGhpcy5kaXNhYmxlPWEuZGlzYWJsZXx8e307dGhpcy5sb2FkZWQ9ISFhLmxvYWRlZDt0aGlzLm1lc3NhZ2VzPWEubWVzc2FnZXN8fHt9fWNsb25lKCl7dmFyIGE9bmV3IGQ1O2ZvcihsZXQgYiBpbiB0aGlzKWlmKHRoaXMuaGFzT3duUHJvcGVydHkoYikpe2xldCBjPXRoaXNbYl07Xy54YShjKT09CiJvYmplY3QiP2FbYl09VV8oYyk6YVtiXT1jfXJldHVybiBhfX0sRjA9e30sYnNhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMucGxheWVySWQ9Yjt0aGlzLndlYlBsYXllckNvbnRleHRDb25maWc9ZDt0aGlzLkViPXZvaWQgMDt0aGlzLkZhPSExO3RoaXMuYXBpPXt9O3RoaXMuaGE9dGhpcy5CPW51bGw7dGhpcy5NPW5ldyBfLnRoO3RoaXMuaj17fTt0aGlzLlo9dGhpcy5vYT10aGlzLmVsZW1lbnRJZD10aGlzLk1hPXRoaXMuY29uZmlnPW51bGw7dGhpcy5VPSExO3RoaXMudj10aGlzLkQ9bnVsbDt0aGlzLnlhPXt9O3RoaXMuZmM9WyJvblJlYWR5Il07dGhpcy5sYXN0RXJyb3I9bnVsbDt0aGlzLlFhPU5hTjt0aGlzLkk9e307dGhpcy5nYT0wO3RoaXMubz10aGlzLnRhcmdldEVsZW1lbnQ9YTtFWih0aGlzLHRoaXMuTSk7STAodGhpcyk7Yz90aGlzLmdhPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmxvYWROZXdWaWRlb0NvbmZpZyhjKX0sMCk6CmQmJihKMCh0aGlzKSxTMCh0aGlzKSl9Z2V0SWQoKXtyZXR1cm4gdGhpcy5wbGF5ZXJJZH1sb2FkTmV3VmlkZW9Db25maWcoYSl7aWYoIXRoaXMuaWEoKSl7dGhpcy5nYSYmKGNsZWFyVGltZW91dCh0aGlzLmdhKSx0aGlzLmdhPTApO3ZhciBiPWF8fHt9O2IgaW5zdGFuY2VvZiBkNXx8KGI9bmV3IGQ1KGIpKTt0aGlzLmNvbmZpZz1iO3RoaXMuc2V0Q29uZmlnKGEpO1MwKHRoaXMpO3RoaXMuaXNSZWFkeSgpJiZUMCh0aGlzKX19c2V0Q29uZmlnKGEpe3RoaXMuTWE9YTt0aGlzLmNvbmZpZz1QMChhKTtKMCh0aGlzKTt0aGlzLm9hfHwodGhpcy5vYT1VMCh0aGlzLHRoaXMuY29uZmlnLmFyZ3M/LmpzYXBpY2FsbGJhY2t8fCJvbllvdVR1YmVQbGF5ZXJSZWFkeSIpKTt0aGlzLmNvbmZpZy5hcmdzP3RoaXMuY29uZmlnLmFyZ3MuanNhcGljYWxsYmFjaz1udWxsOnRoaXMuY29uZmlnLmFyZ3M9e2pzYXBpY2FsbGJhY2s6bnVsbH07aWYodGhpcy5jb25maWc/LmF0dHJzKXthPXRoaXMuY29uZmlnLmF0dHJzOwpsZXQgYj1hLndpZHRoO2ImJnRoaXMubyYmKHRoaXMuby5zdHlsZS53aWR0aD1YXyhOdW1iZXIoYil8fGIpKTsoYT1hLmhlaWdodCkmJnRoaXMubyYmKHRoaXMuby5zdHlsZS5oZWlnaHQ9WF8oTnVtYmVyKGEpfHxhKSl9fWlzUmVhZHkoKXtyZXR1cm4gdGhpcy5GYX1hZGRFdmVudExpc3RlbmVyKGEsYil7dGhpcy5pYSgpO3ZhciBjPVUwKHRoaXMsYik7YyYmKF8uc2IodGhpcy5mYyxhKT49MHx8dGhpcy5qW2FdfHwoYj1hc2EodGhpcyxhKSx0aGlzLkImJnRoaXMuQihhLGIpKSx0aGlzLk0uc3Vic2NyaWJlKGEsYyksYT09PSJvblJlYWR5IiYmdGhpcy5pc1JlYWR5KCkmJnNldFRpbWVvdXQoKCk9PntjKHRoaXMuYXBpKX0sMCkpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKXt0aGlzLmlhKCl8fChiPVUwKHRoaXMsYikpJiZ0aGlzLk0udW5zdWJzY3JpYmUoYSxiKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIHRoaXMuWnx8KEwwKHRoaXMpPyJodG1sNSI6bnVsbCl9Z2V0TGFzdEVycm9yKCl7cmV0dXJuIHRoaXMubGFzdEVycm9yfWNhbmNlbCgpe3RoaXMuRCYmCkcwKFEwKHRoaXMpLHRoaXMuRCk7Y2xlYXJUaW1lb3V0KHRoaXMuUWEpO3RoaXMuVT0hMX1sYSgpe04wKHRoaXMpO2lmKHRoaXMudiYmdGhpcy5jb25maWcmJnRoaXMudi5kZXN0cm95KXRyeXt0aGlzLnYuZGVzdHJveSgpfWNhdGNoKGIpe3ZhciBhPW5ldyBfLlhqKCJQbGF5ZXJQcm94eSBlcnJvciBkdXJpbmcgZGlzcG9zYWwiLHtlcnJvcjpifSk7YS5sZXZlbD0iRVJST1IiO3Rocm93IGE7fXRoaXMueWE9bnVsbDtmb3IoYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgdGhpcy5qW2FdO3RoaXMuTWE9dGhpcy5jb25maWc9dGhpcy5hcGk9bnVsbDtkZWxldGUgdGhpcy50YXJnZXRFbGVtZW50O2RlbGV0ZSB0aGlzLm87c3VwZXIubGEoKX19LFcwPXt9LHh0YT17U0M6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1VOS05PV04iLFBDOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIixSQzoiRU1CRURERURfUExBWUVSX01PREVfUEZQIixRQzoiRU1CRURERURfUExBWUVSX01PREVfUEZMIn07dmFyIGgxPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGM9RXJyb3IoKSl7c3VwZXIoKTt0aGlzLmNvZGU9YTtiKz0iOiI7YyBpbnN0YW5jZW9mIEVycm9yPyh0aGlzLm1lc3NhZ2U9YitjLm1lc3NhZ2UsdGhpcy5zdGFjaz1jLnN0YWNrfHwiIik6KHRoaXMubWVzc2FnZT1iK1N0cmluZyhjKSx0aGlzLnN0YWNrPSIiKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgZTE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy52bT1hO3RoaXMubz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTt0aGlzLmo9dm9pZCAwO3RoaXMuQ2c9dGhpcy52bS5wO3RoaXMudj10aGlzLkloLmJpbmQodGhpcyk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBoc2EodGhpcykpfXNuYXBzaG90KGEpe3JldHVybiB0aGlzLnZtLnMoey4uLihhLktjJiZ7YzphLktjfSksCi4uLihhLllqJiZ7czphLllqfSksLi4uKGEueG4hPT12b2lkIDAmJntwOmEueG59KX0pfUloKGEpe3RoaXMudm0uZShhKX1CaShhLGIpe3JldHVybiB0aGlzLnZtLmMoYSxiLCExKX1WaCgpe3JldHVybiB0aGlzLnZtLmwoKX19O3ZhciBzdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLmhhPTF9c2hhcmUoKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoImplIik7dGhpcy5oYSsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuaGF8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciB0dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWE7SzEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsbTEoIm1rIikpfXJlY29yZChhLGIpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIpfX0sdXZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLG0xKCJtbiIpLGwxKCJhYyIpLGwxKCJzYyIpLG0xKCJyayIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMsZCxlLGYpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLGEsYixjLGQsZSxmKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIil9fSx2dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52PWE7TTEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2VjIixtMSgiZW4iKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwKIi9jbGllbnRfc3RyZWFtei9iZy9lYyIsYSxiKX1qKCl7cmV0dXJuIHRoaXMudi5qKCIvY2xpZW50X3N0cmVhbXovYmcvZWMiKX19LHd2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvZWwiLG0xKCJlbiIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYSxiLGMpfWooKXtyZXR1cm4gdGhpcy5vLmooIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0seHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLGwxKCJlYyIpLG0xKCJtayIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LHl2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIiwKbDEoImNzIiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0senZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixtMSgiYXYiKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LEF2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsbTEoInN1IiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxCdmE9CmNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixtMSgibWsiKSl9cmVjb3JkKGEsYil7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiKX19LEN2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbTEoImV0IiksbTEoIm1rIikpfXJlY29yZChhLGIsYyl7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGEsYixjKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIpfX07dmFyIE1zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgcnNhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHExPVsxLDIsM107dmFyIG9zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxwMT1bMSwyLDNdO3ZhciBwc2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIER2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgRXZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGU1PVsxLDIsM107dmFyIG4xPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O24xLnByb3RvdHlwZS52PV8ucHooWzAsJDQsWzAsZTUsYTUsWzAsJDQsLTEsXy54el0sYTUsWzAsJDQsLTEsWjQsXy54el0sYTUsWzAsJDRdXSxsdmEsXy55eixbMCxfLnl6LFswLHExLG12YSxndmEsa3ZhXSxbMCxwMSxmdmEsZXZhLGE1LFswLF8ueXosWzAsVjQsWDRdXV1dLGl2YSxqdmFdKTt2YXIgRnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBHdmE9Y2xhc3N7YXN5bmMgY29tcHJlc3MoYSl7dmFyIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO2I9Yi53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBiLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKSk7YXdhaXQgYi5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBjKX1pc1N1cHBvcnRlZChhKXtyZXR1cm4gYTwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIGY1PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy5jYWxsYmFjaz1iO3RoaXMuZW5hYmxlZD0hMTt0aGlzLmo9KCk9Pl8uRWEoKTt0aGlzLm89dGhpcy5qKCl9c2V0SW50ZXJ2YWwoYSl7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy50aW1lciYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMudGltZXImJnRoaXMuc3RvcCgpfXN0YXJ0KCl7dGhpcy5lbmFibGVkPSEwO3RoaXMudGltZXJ8fCh0aGlzLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zKSx0aGlzLm89dGhpcy5qKCkpfXN0b3AoKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9dGljaygpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9TWF0aC5tYXgodGhpcy5qKCktdGhpcy5vLDApO2E8dGhpcy5pbnRlcnZhbE1zKi44P3RoaXMudGltZXI9CnNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zLWEpOih0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKSx0aGlzLmNhbGxiYWNrKCksdGhpcy5lbmFibGVkJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH19O3ZhciBIdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIEl2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgSnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1XaSgpe3JldHVybiBLXyh0aGlzKX19O3ZhciB0c2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHgxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHdzYT1TXyh4MSk7dmFyIEExPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciB0MT1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sczE9bmV3IHgxLHUxPW51bGw7dmFyIHoxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBLdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsNCl9fTt2YXIgZzU9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMzcpfX07dmFyIEx2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxOSl9VWgoYSl7cmV0dXJuIENaKHRoaXMsMixhKX19O3ZhciBNdmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPSExKXt0aGlzLnlkPWI7dGhpcy52PXRoaXMubG9jYWxlPW51bGw7dGhpcy5vPTA7dGhpcy5pc0ZpbmFsPSExO3RoaXMuaj1uZXcgTHZhO051bWJlci5pc0ludGVnZXIoYSkmJnRoaXMuai5VaChhKTtifHwodGhpcy5sb2NhbGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgibGFuZyIpKTt5MSh0aGlzLG5ldyB6MSl9VWgoYSl7dGhpcy5qLlVoKGEpO3JldHVybiB0aGlzfWJ1aWxkKGEsYj0wLGM9MCxkPW51bGwsZT0wLGY9MCl7aWYoIXRoaXMueWQpe3ZhciBoPXcxKHRoaXMpO3ZhciBrPW5ldyBKdmE7az1DWihrLDEsdGhpcy5vKTtrPV8ucXcoaywyLF8ueHcodGhpcy5pc0ZpbmFsKSk7Yz1fLnF3KGssMyxfLlB3KGM+MD9jOnZvaWQgMCkpO2U9Xy5xdyhjLDQsXy5QdyhlPjA/ZTp2b2lkIDApKTtmPV8ucXcoZSw1LF8uUHcoZj4wP2Y6dm9pZCAwKSk7ZT1mLkRhO2M9ZVtfLkFjXXwwO2Y9Xy5CYyhmLGMpP2Y6Xy4kYyhmLAplLGMpP18uYmQoZixlKTpuZXcgZi5jb25zdHJ1Y3RvcihfLlpjKGUsYywhMCkpO18uS3coaCwxMCxmKX1oPXRoaXMuai5jbG9uZSgpO2Y9RGF0ZS5ub3coKS50b1N0cmluZygpO2g9Xy5xdyhoLDQseV8oZikpO2E9YS5zbGljZSgpO2E9SF8oaCwzLGEpO2QmJihoPW5ldyBIdmEsZD1fLnF3KGgsMTMsXy5QdyhkKSksaD1uZXcgSXZhLGQ9Xy5LdyhoLDIsZCksaD1uZXcgS3ZhLGQ9Xy5LdyhoLDEsZCksZD1DWihkLDIsOSksXy5LdyhhLDE4LGQpKTtiJiZfLnF3KGEsMTQseV8oYikpO3JldHVybiBhfX07QjEucHJvdG90eXBlLnY9MDtCMS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPXRoaXMuQjt0aGlzLnY9MH07dmFyIFU0PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDgpfX0sTnZhPVNfKFU0KTt2YXIgaDU7aDU9bmV3IGR2YShjbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIE92YT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmNvbXBvbmVudElkPSIiO3RoaXMuaj1bXTt0aGlzLlFhPSIiO3RoaXMucGFnZUlkPW51bGw7dGhpcy5FYj10aGlzLm9hPS0xO3RoaXMuTT10aGlzLmV4cGVyaW1lbnRJZHM9bnVsbDt0aGlzLmdhPXRoaXMuaGE9dGhpcy5JPXRoaXMuQj0wO3RoaXMuZmM9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLnlhPSExO3RoaXMubG9nU291cmNlPWEubG9nU291cmNlO3RoaXMuU2Y9YS5TZnx8KCgpPT57fSk7dGhpcy52PW5ldyBNdmEoYS5sb2dTb3VyY2UsYS55ZCk7dGhpcy5uZXR3b3JrPWEubmV0d29ya3x8bnVsbDt0aGlzLmxmPWEubGZ8fG51bGw7dGhpcy5idWZmZXJTaXplPTFFMzt0aGlzLlU9YS50Qnx8bnVsbDt0aGlzLnNlc3Npb25JbmRleD1hLnNlc3Npb25JbmRleHx8bnVsbDt0aGlzLlpnPWEuWmd8fCExO3RoaXMuWD1udWxsO3RoaXMud2l0aENyZWRlbnRpYWxzPSFhLm5sO3RoaXMueWQ9CmEueWR8fCExO3RoaXMuWj0hdGhpcy55ZCYmISFfLnpkKCkmJiEhXy56ZCgpLm5hdmlnYXRvciYmXy56ZCgpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuTWE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKEQxKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoRDEoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGI9djEobmV3IHoxKTt5MSh0aGlzLnYsYik7dGhpcy5EPW5ldyBCMSgxRTQsM0U1LC4xKTthPXlzYSh0aGlzLGEuTm8pO3RoaXMubz1uZXcgZjUodGhpcy5ELmosYSk7dGhpcy5GYT1uZXcgZjUoNkU1LGEpO3RoaXMuWmd8fHRoaXMuRmEuc3RhcnQoKTt0aGlzLnlkfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pntkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIiYmRTEodGhpcyl9KSxfLnpkKCk/LmFkZEV2ZW50TGlzdGVuZXI/LigicGFnZWhpZGUiLCgpPT4Ke0UxKHRoaXMpfSkpfWxhKCl7RTEodGhpcyk7dGhpcy5vLnN0b3AoKTt0aGlzLkZhLnN0b3AoKTtzdXBlci5sYSgpfWRpc3BhdGNoKGEpe2lmKGEgaW5zdGFuY2VvZiBnNSl0aGlzLmxvZyhhKTtlbHNlIHRyeXt2YXIgYj1uZXcgZzUsYz1hLnNlcmlhbGl6ZSgpO3ZhciBkPUJaKGIsOCxjKTt0aGlzLmxvZyhkKX1jYXRjaHt9fWxvZyhhKXtpZih0aGlzLk1hKXthPWEuY2xvbmUoKTt2YXIgYj10aGlzLmZjKys7YT1fLnF3KGEsMjEseV8oYikpO3RoaXMuY29tcG9uZW50SWQmJkJaKGEsMjYsdGhpcy5jb21wb25lbnRJZCk7Yj1hO3t2YXIgYz1fLmVkKGIsMSk7bGV0IGQ9dHlwZW9mIGM7Yz1jPT1udWxsP2M6ZD09PSJiaWdpbnQiP1N0cmluZygoMCxfLnRyKSg2NCxjKSk6cl8oYyk/ZD09PSJzdHJpbmciP3VfKGMpOnZfKGMpOnZvaWQgMH1jPT1udWxsJiYoYz1EYXRlLm5vdygpLGM9TnVtYmVyLmlzRmluaXRlKGMpP2MudG9TdHJpbmcoKToiMCIsXy5xdyhiLDEseV8oYykpKTtjPV8uZWQoYiwKMTUsdm9pZCAwLHZvaWQgMCx6Xyk7YyE9bnVsbCYmKHR5cGVvZiBjPT09ImJpZ2ludCI/KDAsXy5NYykoYyk/Yz1OdW1iZXIoYyk6KGM9KDAsXy50cikoNjQsYyksYz0oMCxfLk1jKShjKT9OdW1iZXIoYyk6U3RyaW5nKGMpKTpjPXJfKGMpP3R5cGVvZiBjPT09Im51bWJlciI/dl8oYyk6dV8oYyk6dm9pZCAwKTtjPT1udWxsJiZfLnF3KGIsMTUseV8oKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKjYwKSk7dGhpcy5leHBlcmltZW50SWRzJiYoYz10aGlzLmV4cGVyaW1lbnRJZHMuY2xvbmUoKSxfLkt3KGIsMTYsYykpO2I9dGhpcy5qLmxlbmd0aC10aGlzLmJ1ZmZlclNpemUrMTtiPjAmJih0aGlzLmouc3BsaWNlKDAsYiksdGhpcy5CKz1iKTt0aGlzLmoucHVzaChhKTt0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCl9fWZsdXNoKGEsYil7aWYodGhpcy5qLmxlbmd0aD09PTApYSYmYSgpO2Vsc2UgaWYodGhpcy55YSYmdGhpcy5aKXRoaXMudi5vPTMsQXNhKHRoaXMpOwplbHNle3ZhciBjPURhdGUubm93KCk7aWYodGhpcy5FYj5jJiZ0aGlzLm9hPGMpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLm5ldHdvcmsmJih0eXBlb2YgdGhpcy5uZXR3b3JrLldpPT09ImZ1bmN0aW9uIj92c2EodGhpcy52LHRoaXMubmV0d29yay5XaSgpKTp0aGlzLnYubz0wKTt2YXIgZD10aGlzLnYuYnVpbGQodGhpcy5qLHRoaXMuQix0aGlzLkksdGhpcy5sZix0aGlzLmhhLHRoaXMuZ2EpLGU9dGhpcy5TZigpO2lmKGUmJnRoaXMuUWE9PT1lKWImJmIoInN0YWxlLWF1dGgtdG9rZW4iKTtlbHNle3RoaXMuaj1bXTt0aGlzLm8uZW5hYmxlZCYmdGhpcy5vLnN0b3AoKTt0aGlzLkI9MDtjPWQuc2VyaWFsaXplKCk7bGV0IGY7dGhpcy5NJiZ0aGlzLk0uaXNTdXBwb3J0ZWQoYy5sZW5ndGgpJiYoZj10aGlzLk0uY29tcHJlc3MoYykpO2xldCBoPUJzYSh0aGlzLGMsZSksaz1uPT57dGhpcy5ELnJlc2V0KCk7dGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKTtpZihuKXt2YXIgcD0KbnVsbDt0cnl7dmFyIHI9SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShuLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cD1OdmEocil9Y2F0Y2godil7fWlmKHApe249TnVtYmVyKElfKHAsMSxfLkZjKCItMSIpKSk7bj4wJiYodGhpcy5vYT1EYXRlLm5vdygpLHRoaXMuRWI9dGhpcy5vYStuKTtuPWg1Lmo7KHI9Xy5HYShfLkpjKSkmJnAuRGFbcl0/LltuXSE9bnVsbCYmXy54YyhfLmpyLDMpO249aDUuajtpZihfLkdhKF8ubHIpJiZfLkdhKF8uSmMpJiZ2b2lkIDA9PT1fLmxyKXtyPXAuRGE7dmFyIHQ9cltfLkpjXTtpZih0JiYodD10LkZLKSl0cnl7dChyLG4sY3ZhKX1jYXRjaCh2KXtfLiRiKHYpfX1wPWg1LmN0b3I/aDUubyhwLGg1LmN0b3IsaDUuaixoNS52KTpoNS5vKHAsaDUuaixudWxsLGg1LnYpO2lmKHA9cD09PW51bGw/dm9pZCAwOnApcD1fLnR4KHAsMSwtMSkscCE9PS0xJiYodGhpcy5EPW5ldyBCMShwPDE/MTpwLDNFNSwuMSksdGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKSl9fWEmJgphKCk7dGhpcy5JPTB9LGw9KG4scCk9Pnt2YXIgcj1HXyhkLGc1LDMpO3ZhciB0PU51bWJlcihJXyhkLDE0KSk7QzEodGhpcy5EKTt0aGlzLm8uc2V0SW50ZXJ2YWwodGhpcy5ELmopO249PT00MDEmJmUmJih0aGlzLlFhPWUpO3QmJih0aGlzLkIrPXQpO3A9PT12b2lkIDAmJihwPXRoaXMuaXNSZXRyeWFibGUobikpO3AmJih0aGlzLmo9ci5jb25jYXQodGhpcy5qKSx0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCkpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIsbik7Kyt0aGlzLkl9LG09KCk9Pnt0aGlzLm5ldHdvcmsmJnRoaXMubmV0d29yay5zZW5kKGgsayxsKX07Zj9mLnRoZW4obj0+e2guT2pbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5PalsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PW47aC5HdT0yO20oKX0sKCk9PnttKCl9KTptKCl9fX19aXNSZXRyeWFibGUoYSl7cmV0dXJuIDUwMDw9YSYmYTw2MDB8fGE9PT00MDF8fAphPT09MH19O3ZhciBQdmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnB1PXR5cGVvZiBBYm9ydENvbnRyb2xsZXIhPT0idW5kZWZpbmVkIn1hc3luYyBzZW5kKGEsYixjKXt2YXIgZD10aGlzLnB1P25ldyBBYm9ydENvbnRyb2xsZXI6dm9pZCAwLGU9ZCYmYS50aW1lb3V0TWlsbGlzPjA/c2V0VGltZW91dCgoKT0+e2QuYWJvcnQoKX0sYS50aW1lb3V0TWlsbGlzKTp2b2lkIDA7dHJ5e2xldCBmPWF3YWl0IGZldGNoKGEudXJsLHttZXRob2Q6YS5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5hLk9qfSwuLi4oYS5ib2R5JiZ7Ym9keTphLmJvZHl9KSwuLi4oYS53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6YS50aW1lb3V0TWlsbGlzJiZkP2Quc2lnbmFsOm51bGx9KTtmLnN0YXR1cz09PTIwMD9iPy4oYXdhaXQgZi50ZXh0KCkpOmM/LihmLnN0YXR1cyl9Y2F0Y2goZil7c3dpdGNoKGY/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOmM/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6Yz8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGUpfX1XaSgpe3JldHVybiA0fX07dmFyIFMxPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5OZT0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5qPXRoaXMubGY9bnVsbDt0aGlzLm89ITE7dGhpcy5wYWdlSWQ9bnVsbDt0aGlzLmJ1ZmZlclNpemU9dm9pZCAwO3RoaXMuWD1udWxsfW5sKCl7dGhpcy52PSEwO3JldHVybiB0aGlzfWJ1aWxkKCl7dGhpcy5uZXR3b3JrfHwodGhpcy5uZXR3b3JrPW5ldyBQdmEpO3ZhciBhPW5ldyBPdmEoe2xvZ1NvdXJjZTp0aGlzLmxvZ1NvdXJjZSxTZjp0aGlzLlNmP3RoaXMuU2Y6Xy5QZCxzZXNzaW9uSW5kZXg6dGhpcy5zZXNzaW9uSW5kZXgsdEI6dGhpcy5OZSx5ZDohMSxaZzohMSxubDp0aGlzLnYsTm86dGhpcy5ObyxuZXR3b3JrOnRoaXMubmV0d29ya30pOwpFWih0aGlzLGEpO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIGI9dGhpcy5idWlsZExhYmVsLGM9dzEoYS52KTtCWihjLDcsYil9YS5NPW5ldyBHdmE7dGhpcy5jb21wb25lbnRJZCYmKGEuY29tcG9uZW50SWQ9dGhpcy5jb21wb25lbnRJZCk7dGhpcy5sZiYmKGEubGY9dGhpcy5sZik7dGhpcy5wYWdlSWQmJihhLnBhZ2VJZD10aGlzLnBhZ2VJZCk7dGhpcy5qJiYoKGM9dGhpcy5qKT8oYS5leHBlcmltZW50SWRzfHwoYS5leHBlcmltZW50SWRzPW5ldyBxdmEpLGI9YS5leHBlcmltZW50SWRzLGM9Yy5zZXJpYWxpemUoKSxCWihiLDQsYykpOmEuZXhwZXJpbWVudElkcyYmXy5xdyhhLmV4cGVyaW1lbnRJZHMsNCkpO3RoaXMubyYmKGEueWE9YS5aKTt4c2EoYS52KTt0aGlzLmJ1ZmZlclNpemUmJihhLmJ1ZmZlclNpemU9dGhpcy5idWZmZXJTaXplKTt0aGlzLm5ldHdvcmsuVWgmJnRoaXMubmV0d29yay5VaCh0aGlzLmxvZ1NvdXJjZSk7dGhpcy5uZXR3b3JrLmlBJiZ0aGlzLm5ldHdvcmsuaUEoYSk7CnJldHVybiBhfX07dmFyIE5zYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7YXx8KGE9bmV3IFMxLGEuY29tcG9uZW50SWQ9IiIsRVoodGhpcyxhKSxhPWEuYnVpbGQoKSk7dGhpcy5qPWF9Zmx1c2goYSl7YT1hfHxbXTtpZihhLmxlbmd0aCl7bGV0IGI9bmV3IEZ2YSxjPVtdO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hW2RdLGY9cjEoZSk7Yy5wdXNoKGYpO2UuY2xlYXIoKX1IXyhiLDEsYyk7dGhpcy5qLmRpc3BhdGNoKGIpO3RoaXMuai5mbHVzaCgpfX19O3ZhciBIMT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBpNT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5vPWE7dGhpcy52PWI7dGhpcy5maWVsZHM9Y3x8W107dGhpcy5qPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmouY2xlYXIoKX19O3ZhciBMMT1jbGFzcyBleHRlbmRzIGk1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSwzLGIpfX07dmFyIEoxPWNsYXNzIGV4dGVuZHMgaTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLDIsYil9cmVjb3JkKGEsLi4uYil7SHNhKHRoaXMsYSwuLi5iKX19O3ZhciBUMT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlo9YTt0aGlzLkk9MDt0aGlzLkI9MTAwO3RoaXMuTT0hMTt0aGlzLnY9bmV3IE1hcDt0aGlzLlU9bmV3IFNldDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMubz1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuby5saXN0ZW4oInRpY2siLHRoaXMuRCwhMSx0aGlzKTtFWih0aGlzLHRoaXMubyl9c2VuZElzb2xhdGVkUGF5bG9hZChhKXt0aGlzLk09YTt0aGlzLkI9MX1EKCl7dmFyIGE9Wy4uLnRoaXMudi52YWx1ZXMoKV0uZmlsdGVyKGI9PmIuai5zaXplKTthLmxlbmd0aCYmdGhpcy5aLmZsdXNoKGEsdGhpcy5NKTtLc2EoYSk7dGhpcy5JPTA7dGhpcy5vLmVuYWJsZWQmJnRoaXMuby5zdG9wKCl9aihhKXtyZXR1cm4gdGhpcy5VLmhhcyhhKT92b2lkIDA6dGhpcy52LmdldChhKX1yZWNvcmQoYSxiLC4uLmMpeyhhPXRoaXMuaihhKSkmJmEgaW5zdGFuY2VvZiBKMSYmKGEucmVjb3JkKGIsCi4uLmMpLE4xKHRoaXMpKX19O3ZhciBzMj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYik7dGhpcy5jb2RlPWE7dGhpcy5tZXRhZGF0YT17fTt0aGlzLm5hbWU9IlJwY0Vycm9yIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9dG9TdHJpbmcoKXt2YXIgYT1gUnBjRXJyb3IoJHtMc2EodGhpcy5jb2RlKXx8U3RyaW5nKHRoaXMuY29kZSl9KWA7dGhpcy5tZXNzYWdlJiYoYSs9IjogIit0aGlzLm1lc3NhZ2UpO3JldHVybiBhfX07dmFyIERzYT1jbGFzc3tzZW5kKGEsYj0oKT0+e30sYz0oKT0+e30pe18ubHkoYS51cmwsZD0+e2Q9ZC50YXJnZXQ7aWYoZC5pc1N1Y2Nlc3MoKSl7dHJ5e3ZhciBlPWQucmE/ZC5yYS5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goZil7ZT0iIn1iKGUpfWVsc2UgYyhfLlJ4KGQpKX0sYS5yZXF1ZXN0VHlwZSxhLmJvZHksYS5PaixhLnRpbWVvdXRNaWxsaXMsYS53aXRoQ3JlZGVudGlhbHMpfVdpKCl7cmV0dXJuIDF9fTt2YXIgajU9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9YTt0aGlzLmV2ZW50PWI7dGhpcy5zdGFydFRpbWU9UTEoKX1kb25lKCl7dGhpcy5YLnYodGhpcy5ldmVudCxRMSgpLXRoaXMuc3RhcnRUaW1lKX19LGs1PWNsYXNzIGV4dGVuZHMgc3Zhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKX19LFNzYT1jbGFzcyBleHRlbmRzIGs1e0IoKXt9aigpe312KCl7fUpiKCl7fU0oKXt9SSgpe31vKCl7fVooKXt9RCgpe31VKCl7fX0sUXZhPWNsYXNzIGV4dGVuZHMgazV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHRoaXMuWC5kaXNwb3NlKCkpfXVwZGF0ZShhKXt0aGlzLlguZGlzcG9zZSgpO3RoaXMuWD1hfWooYSl7dGhpcy5YLmooYSl9dihhLGIpe3RoaXMuWC52KGEsYil9SmIoYSl7dGhpcy5YLkpiKGEpfU0oYSl7dGhpcy5YLk0oYSl9SShhLGIpe3RoaXMuWC5JKGEsYil9bygpe3RoaXMuWC5vKCl9WihhKXt0aGlzLlguWihhKX1EKGEpe3RoaXMuWC5EKGEpfVUoYSl7dGhpcy5YLlUoYSl9QihhKXt0aGlzLlguQihhKX19LApSdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLmNhbGxiYWNrPWE7dGhpcy5vPWI7dGhpcy5qPS1iO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpKX19LFN2YT1jbGFzcyBleHRlbmRzIGs1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLm1ldHJpY3M9YTt0aGlzLm1iPWJ9QihhKXt0aGlzLm1ldHJpY3MuQUEucmVjb3JkKGEsdGhpcy5tYil9aihhKXt0aGlzLm1ldHJpY3MuZXZlbnRDb3VudC5vKGEsdGhpcy5tYil9dihhLGIpe3RoaXMubWV0cmljcy5Odi5yZWNvcmQoYixhLHRoaXMubWIpfUpiKGEpe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lm8oYSx0aGlzLm1iKX1aKGEpe3RoaXMubWV0cmljcy5KQi5vKGEsdGhpcy5tYil9RChhKXt0aGlzLm1ldHJpY3MuSnUubyhhLHRoaXMubWIpfVUoYSl7dGhpcy5tZXRyaWNzLklCLm8oYSx0aGlzLm1iKX1NKGEpe3RoaXMubWV0cmljcy5wYXlsb2FkU2l6ZS5yZWNvcmQoYSwKdGhpcy5tYil9SShhLGIpe3RoaXMubWV0cmljcy5YeS5yZWNvcmQoYixhLHRoaXMubWIpfX0sUXNhPWNsYXNzIGV4dGVuZHMgU3Zhe2NvbnN0cnVjdG9yKGEsYj1bXSl7dmFyIGM9e21iOmEubWJ8fCJfIix6bDphLnpsfHxbXSxubTphLm5tfDAsTmU6YS5OZSxGajphLkZqfHwoKCk9Pnt9KSxJZzphLklnfHwoKGUsZik9Pk9zYShlLGYsYy5GaixjLk5lKSl9LGQ9Yy5JZygiNTMiLGMuemwuY29uY2F0KGIpKTtzdXBlcih7QUE6bmV3IHR2YShkKSxlcnJvckNvdW50Om5ldyB4dmEoZCksZXZlbnRDb3VudDpuZXcgdnZhKGQpLE52Om5ldyB3dmEoZCkseUw6bmV3IHV2YShkKSxKQjpuZXcgeXZhKGQpLEp1Om5ldyB6dmEoZCksSUI6bmV3IEF2YShkKSxwYXlsb2FkU2l6ZTpuZXcgQnZhKGQpLFh5Om5ldyBDdmEoZCl9LGMubWIpO3RoaXMub3B0aW9ucz1jO3RoaXMuc2VydmljZT1kO3RoaXMub2E9IWEuSWc7dGhpcy5nYT1uZXcgUnZhKCgpPT52b2lkIHRoaXMuc2VydmljZS5EKCksYy5ubSk7CnRoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9Pnt0aGlzLmdhLmRpc3Bvc2UoKTt0aGlzLm9hJiZ0aGlzLnNlcnZpY2UuZGlzcG9zZSgpfSk7Yi5zbGljZSgpLnNvcnQobHJhKX1vKCl7UHNhKHRoaXMuZ2EpfX07dmFyIFIyPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDAsUjIubWVzc2FnZUlkKX19LFR2YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSYmIV8uQmMoYikpfShSMik7UjIubWVzc2FnZUlkPSJiZmtqIjt2YXIgaTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGw1PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFV2YT1TXyhsNSk7dmFyIGQyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMudj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKTt0aGlzLmo9bmV3IGw1O2lmKCJjaGFsbGVuZ2UiaW4gYSYmVHZhKGEuY2hhbGxlbmdlKSl7dmFyIGI9Sl8oYS5jaGFsbGVuZ2UsNCx2b2lkIDAsXy53eik7dmFyIGM9Sl8oYS5jaGFsbGVuZ2UsNSx2b2lkIDAsXy53eik7Sl8oYS5jaGFsbGVuZ2UsNyx2b2lkIDAsXy53eikmJih0aGlzLmo9VXZhKEpfKGEuY2hhbGxlbmdlLDcsdm9pZCAwLF8ud3opKSl9ZWxzZSh7cHJvZ3JhbTpiLGdsb2JhbE5hbWU6Y309YSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjayhhc3luYygpPT57dmFyIHt1QTpufT1hd2FpdCB0aGlzLm87bj8uKCl9KTt0aGlzLlg9VTEoYS5uZ3x8e30sdGhpcy5qKTtFWih0aGlzLHRoaXMuWCk7dmFyIGQ9bmV3IF8uY3M7dGhpcy5vPWQucHJvbWlzZTt0aGlzLlguaigidCIpO3ZhciBlPXRoaXMuWC5zaGFyZSgpLGY9bmV3IGo1KGUsCiJ0IiksaD0obixwLHIsdCk9PntpZighdGhpcy5YLmlhKCkpe3ZhciB2PSJrIjtwP3Y9ImgiOnImJih2PSJ1Iik7diE9PSJrIj90IT09MCYmKHRoaXMuWC5qKHYpLHRoaXMuWC52KHYsbikpOnRoaXMudjw9MD8odGhpcy5YLmoodiksdGhpcy5YLnYodixuKSx0aGlzLnY9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjIwMCkpOnRoaXMudi0tfX0saz0obixwLHIsdCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57Zi5kb25lKCk7ZS5vKCk7ZS5kaXNwb3NlKCk7ZC5yZXNvbHZlKHt5dTpuLHVBOnAsQXo6cixOdTp0fSl9KX0sbD1bKG4scCk9Pnt0aGlzLlgudihuLHApfSxuPT57dGhpcy5YLkpiKG4pfSxuPT57dGhpcy5YLk0obil9LChuLHApPT57dGhpcy5YLkkobixwKX1dO2lmKCFfLnVbY10pdGhyb3cgdGhpcy5YLkpiKDI1KSxFcnJvcigibmUiKTtpZighXy51W2NdLmEpdGhyb3cgdGhpcy5YLkpiKDI2KSxFcnJvcigib2UiKTt0cnl7bGV0IG49Xy51W2NdLmE7Yz1bXTtsZXQgcD0KW107dmFyIG09ajEodGhpcy5qKTtmb3IobGV0IHY9MDt2PG0ubGVuZ3RoO3YrKyljLnB1c2gobVt2XSkscC5wdXNoKDEpO2xldCByPWxzYSh0aGlzLmopO2ZvcihtPTA7bTxyLmxlbmd0aDttKyspYy5wdXNoKHJbbV0pLHAucHVzaCgyKTtsZXQgW3RdPW4oYixrLCEwLGEuRnMsaCxbYyxwXSxKXyh0aGlzLmosNSksITEsbCk7dGhpcy5CPXQ7dGhpcy5DZz1kLnByb21pc2UudGhlbigoKT0+e30pfWNhdGNoKG4pe3Rocm93IHRoaXMuWC5KYigyOCksbjt9fXNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLlguaigibiIpO3ZhciBiPXRoaXMuWC5zaGFyZSgpO3JldHVybiB0aGlzLm8udGhlbigoe3l1OmN9KT0+bmV3IFByb21pc2UoZD0+e3ZhciBlPW5ldyBqNShiLCJuIik7YyhmPT57ZS5kb25lKCk7Yi5CKGYubGVuZ3RoKTtiLm8oKTtiLmRpc3Bvc2UoKTtkKGYpfSxbYS5LYyxhLllqLGEuSXMsYS54bl0pfSkpfVhyKGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTsKdGhpcy5YLmooIm4iKTt2YXIgYj1SMSh0aGlzLlgsKCk9PnRoaXMuQihbYS5LYyxhLllqLGEuSXMsYS54bl0pLCJuIik7dGhpcy5YLkIoYi5sZW5ndGgpO3RoaXMuWC5vKCk7cmV0dXJuIGJ9SWgoYSl7dGhpcy5vLnRoZW4oKHtBejpifSk9PntiPy4oYSl9KX1CaShhLGIpe3JldHVybiB0aGlzLm8udGhlbigoe051OmN9KT0+Yz8uKGEsYiwhMSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX07dmFyIFYxPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5wcm9taXNlcz17fTt0aGlzLmo9bnVsbH19O3ZhciBsdWE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHEyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMub3B0aW9ucz1hO3RoaXMuST1uZXcgXy5jczt0aGlzLkNnPXRoaXMuSS5wcm9taXNlO3RoaXMuRD1uZXcgXy5jczt0aGlzLlo9MTt0aGlzLnY9bmV3IF8uY3M7dGhpcy5CPVtdO3RoaXMuaXNQYXVzZWQ9ITE7dGhpcy5Haj1hLkdqfHwoKCk9Pnt9KTt0aGlzLlg9bmV3IFF2YShVMShhLm5nfHx7fSkpO2F0YSh0aGlzLGEub2QsYS5zeCxhLkhLLGEuTkssey4uLlZ2YSwuLi4oYS5MZ3x8e30pfSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBidGEodGhpcykpfWFzeW5jIHNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLm98fHRoaXMuTXx8YXdhaXQgdGhpcy5ELnByb21pc2U7aWYodGhpcy5vKXJldHVybiBhd2FpdCB0aGlzLm8uc25hcHNob3QoYSk7dGhyb3cgdGhpcy5NO31wYXVzZSgpe3RoaXMuaWEoKXx8dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9CiEwLHRoaXMuaiYmdGhpcy5qLnBhdXNlKCkpfXJlc3VtZSgpeyF0aGlzLmlhKCkmJnRoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMuaiYmdGhpcy5qLnJlc3VtZSgpKX1hc3luYyBjaGVja0ZvclJlZnJlc2goKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoInBlIik7aWYodGhpcy5qKXt2YXIgYT10aGlzLmo7YS5pc0V4cGlyZWQoKT8oZzIoYSksYS5RaCgwKSxhPSEwKTphPSExO2EmJmF3YWl0IHRoaXMudi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy52LnByb21pc2V9YXN5bmMgVSgpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLmo/Lm8oKTthd2FpdCB0aGlzLnYucHJvbWlzZX1JaChhKXt0aGlzLm8/LkloPy4oYSl9QmkoYSxiKXtyZXR1cm4gdGhpcy5vPy5CaT8uKGEsYik/P1Byb21pc2UucmVzb2x2ZSgpfWhhbmRsZUVycm9yKGEpe3RoaXMuaWEoKXx8KHRoaXMuTT1hLHRoaXMuRC5yZXNvbHZlKCksdGhpcy5vcHRpb25zLkVqPy4oYSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX0sClZ2YT17RnI6NDMyRTUsZWs6M0U1LGxzOjEwLGF2OjFFNCxWdjozRTQscXk6M0U0LG1BOjZFNCxLdjoxRTMsSnY6NkU0LEx2OjZFNSxNdjouMjUsSXY6MixtYXhBdHRlbXB0czoxMH0sYzI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuZW5kVGltZU1zPTA7dGhpcy5qPW51bGw7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnRpY2s9KCk9PntpZighdGhpcy5pc1BhdXNlZCl7dmFyIGQ9dGhpcy5lbmRUaW1lTXMtRGF0ZS5ub3coKTtkPD10aGlzLnY/KHRoaXMuaj1udWxsLHRoaXMuUWgoMCkpOnRoaXMuaj1zZXRUaW1lb3V0KHRoaXMudGljayxNYXRoLm1pbihkLHRoaXMuZWspKX19O3RoaXMuZWs9Yjt0aGlzLnY9Yzt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZD0+e3RoaXMuUWg9ZH0pO2N0YSh0aGlzLGEpfXBhdXNlKCl7dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9ITAsZzIodGhpcykpfXJlc3VtZSgpe3RoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMudGljaygpKX1vKCl7ZzIodGhpcyk7CnRoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlFoKDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIGR0YT1NYXRoLmltdWw/PygoYSxiKT0+YSpifDApLGoyPVsxOTYsMjAwLDIyNCwxOF0sbTI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPTAsYz1bXSl7dGhpcy5tYXhJdGVtcz1hO3RoaXMuaj1iO3RoaXMubz1jfXNlcmlhbGl6ZSgpe3JldHVybiBTdHJpbmcodGhpcy5qKSsiLCIrdGhpcy5vLmpvaW4oKX1yYihhLGIpe3ZhciBjPXZvaWQgMDtpZih0aGlzLm9bdGhpcy5qXSE9PWEpe2xldCBkPXRoaXMuby5pbmRleE9mKGEpO2QhPT0tMT8odGhpcy5vLnNwbGljZShkLDEpLGQ8dGhpcy5qJiZ0aGlzLmotLSx0aGlzLm8uc3BsaWNlKHRoaXMuaiwwLGEpKTooYz10aGlzLm9bdGhpcy5qXSx0aGlzLm9bdGhpcy5qXT1hKX10aGlzLmo9KHRoaXMuaisxKSV0aGlzLm1heEl0ZW1zO2E9aDIoImlVNXEtIU85QCQiLHRoaXMuc2VyaWFsaXplKCkpO2MmJmEmJmIoYyk7cmV0dXJuIGF9fSxpc2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9Yjt0cnl7dmFyIGM9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmISFnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW19Y2F0Y2goZCl7Yz0hMX1jJiYodGhpcy5pbmRleD1ndGEoYSkpfWooYSxiLGMsZCl7dmFyIGU9dGhpcy5pbmRleD9SMSh0aGlzLlgsKCk9PmV0YSh0aGlzLmluZGV4LGsyKGEpLGIsYyxkKSwiVyIpOiJ1Ijt0aGlzLlguVShlKX1vKGEsYil7dmFyIFtjLGRdPXRoaXMuaW5kZXg/UjEodGhpcy5YLCgpPT5mdGEoazIoYSksYiksIlIiKTpbInUiXTt0aGlzLlguRChjKTtyZXR1cm4gZH19O3ZhciBtNT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLnY9bmV3IF8uY3N9emooYSxiKXt2YXIgYz10aGlzLm9lKGEpO2I/LihjKTtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnNjKGMsMiksdGhpcy5vKX1zbShhLGIsYyl7cmV0dXJuIFIxKHRoaXMuWCwoKT0+Yj90aGlzLnpqKGEsYyk6dGhpcy5vZShhLGMpLHRoaXMuail9fSx1Mj1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjLGQpe3N1cGVyKGEpO3RoaXMuQj1iO3RoaXMuST1jO3RoaXMuaj0ibSI7dGhpcy5vPSJ4Ijt0aGlzLkQ9MDtuMih0aGlzLGQpfW9lKGEsYil7dGhpcy5YLmoodGhpcy5qKTsrK3RoaXMuRD49dGhpcy5JJiZ0aGlzLnYucmVzb2x2ZSgpO3ZhciBjPWEoKTthPVIxKHRoaXMuWCwoKT0+dGhpcy5CKGMpLCJDIik7aWYoYT09PXZvaWQgMCl0aHJvdyBuZXcgaDEoMTcsIllOSjpVbmRlZmluZWQiKTtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaDEoMTgsCiJPRE06SW52YWxpZCIpO2I/LihhKTtyZXR1cm4gYX19LGx0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhKTt0aGlzLkI9Yjt0aGlzLmo9ImYiO3RoaXMubz0ieiI7bjIodGhpcyxjKX1vZSgpe3JldHVybiB0aGlzLkJ9fSxrdGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYSk7dGhpcy5CPWI7dGhpcy5qPSJ3Ijt0aGlzLm89InoiO24yKHRoaXMsYyl9b2UoKXtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnVjKHRoaXMuQiksImQiKX16aigpe3JldHVybiB0aGlzLkJ9fSxydGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGEpO3RoaXMuZXJyb3I9Yjt0aGlzLmo9ImUiO3RoaXMubz0ieSJ9b2UoKXtpZih0aGlzLkIpcmV0dXJuIHRoaXMuQjt0aGlzLkI9cDIodGhpcyxhPT4iXyIrZXJhKGEpKTtyZXR1cm4gcDIodGhpcyxhPT5hKX19LHF0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7CnRoaXMuY2xpZW50U3RhdGU9Yjt0aGlzLmo9IlMiO3RoaXMubz0icSJ9b2UoKXt2YXIgYT1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxiPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sYz1iLmNvbmNhdChbMCx0aGlzLmNsaWVudFN0YXRlXSxbYT4+MjQmMjU1LGE+PjE2JjI1NSxhPj44JjI1NSxhJjI1NV0pO2E9bmV3IFVpbnQ4QXJyYXkoMitjLmxlbmd0aCk7YVswXT0zNDthWzFdPWMubGVuZ3RoO2Euc2V0KGMsMik7Yz1hLnN1YmFycmF5KDIpO2I9Yi5sZW5ndGg7Zm9yKGxldCBkPWI7ZDxjLmxlbmd0aDsrK2QpY1tkXV49Y1tkJWJdO3RoaXMuWC5aKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBhfX07dmFyIFd2YT17V3Y6M0U0LEJBOjJFNH0scnVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMueWc9bmV3IF8uY3M7dGhpcy52PTA7dGhpcy5vPXZvaWQgMDt0aGlzLnN0YXRlPTI7dGhpcy52bT1hLnZtO3RoaXMub2Q9YS5vZDt0aGlzLkxnPXsuLi5XdmEsLi4uKGEuTGd8fHt9KX07dGhpcy5YPWEudm0uVmgoKTt0aGlzLm9uRXJyb3I9YS5vbkVycm9yPz8oKCk9Pnt9KTt0aGlzLlFuPWEuUW58fCExO2lmKFh2YShhKSl7bGV0IGQ9dGhpcy52bTt0aGlzLkI9KCk9PmQuVSgpLmNhdGNoKGU9Pnt0aGlzLm89ZT10aGlzLnJlcG9ydEVycm9yKG5ldyBoMSh0aGlzLmo/MjA6MzIsIlRSRzpEaXNwb3NlZCIsZSkpO3RoaXMuaj8uZGlzcG9zZSgpO3RoaXMuaj12b2lkIDA7dGhpcy55Zy5yZWplY3QoZSl9KTtmMihkLCgpPT52b2lkIHQyKHRoaXMpKTtkLlo9PT0yJiZ0Mih0aGlzKX1lbHNlIHRoaXMuQj1hLmlLLHQyKHRoaXMpO3ZhciBiPXRoaXMuWC5zaGFyZSgpOwpiLmooIm8iKTt2YXIgYz1uZXcgajUoYiwibyIpO3RoaXMueWcucHJvbWlzZS50aGVuKCgpPT57Yy5kb25lKCk7Yi5vKCk7Yi5kaXNwb3NlKCl9LCgpPT52b2lkIGIuZGlzcG9zZSgpKTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5qPyh0aGlzLmouZGlzcG9zZSgpLHRoaXMuaj12b2lkIDApOnRoaXMubz90aGlzLlgubygpOih0aGlzLm89dGhpcy5yZXBvcnRFcnJvcihuZXcgaDEoMzIsIlROUDpEaXNwb3NlZCIpKSx0aGlzLlgubygpLHRoaXMueWcucmVqZWN0KHRoaXMubykpfSk7RVoodGhpcyx0aGlzLlgpfW9lKGEpe3JldHVybiB3Mih0aGlzLHsuLi5hfSwhMSl9emooYSl7cmV0dXJuIHcyKHRoaXMsey4uLmF9LCEwKX1yZXBvcnRFcnJvcihhKXt0aGlzLlguSmIoYS5jb2RlKTt0aGlzLm9uRXJyb3IoYSk7cmV0dXJuIGF9fSxYdmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+e2lmKCEoMCxfLnFyKShiKSlyZXR1cm4hMTtmb3IobGV0IFtjLGRdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2xldCBlPQpjLGY9ZDtpZighKGUgaW4gYikpe2lmKGYuQko9PT0hMCljb250aW51ZTtyZXR1cm4hMX1pZighZihiW2VdKSlyZXR1cm4hMX1yZXR1cm4hMH0pfSh7dm06ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfShxMil9LCIiKTt2YXIgWnZhPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoIW41KXtuNT1uZXcgVDEobmV3IFl2YSk7dmFyIGE9Xy5zaigiY2xpZW50X3N0cmVhbXpfd2ViX2ZsdXNoX2NvdW50IiwtMSk7YSE9PS0xJiYobjUuQj1hKX10aGlzLnY9YT1uNTtNMShhLCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixsMSgidHlwZSIpLGwxKCJzZXF1ZW5jZSIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiKX19O3ZhciBtdWE9U18oY2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0pO3ZhciAkdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIG81PVswLHB2YSwtMV07dmFyIHA1PVswLGh2YSwtMV07dmFyIGF3YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgYndhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1oYXNBdHRyaWJ1dGVzKCl7dmFyIGE9dGhpcy5EYTtyZXR1cm4gXy5NeChhLGFbXy5BY118MCxhd2EsMTkpIT09dm9pZCAwfX07dmFyIGN3YT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+Xy5veihiLGEpfShbMCxjNSwtMSxYNCwkNCxvNSwtMSxXNCxaNCxjNSxwNSwkNCxjNSwtMSxbMCxvNSwtMV0sWjQsWTQscDUsVzQsWzAsMSxaNCwtNCxWNCxbMCxXNCwtMSxaNF0sJDQsVzQsXy55eixbMCxjNSxaNF0sWjQsLTEsYzUsLTIsVzQsLTEsYzUsVzQsYzUsWjQsWzAsMyxaNCwtMSw0LG52YV0sVjQsYjUsWzAsYzUsLTEsJDRdLF8ueHpdLCQ0LG92YSxfLnl6LFswLHA1LF8ueXosWzAsJDQsYzVdLFc0LGM1LC0xXSwxLF8ueXosWzAsWTQsLTEsYjVdLGM1LHA1XSk7ejIucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIhPTN9O3oyLnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj09PTJ9Owp6Mi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2Zvcig7cDxhLmxlbmd0aDspaWYoeTIoYVtwXSkpcCsrLGYudisrO2Vsc2UgYnJlYWs7cmV0dXJuIHA8bH1mdW5jdGlvbiBjKCl7Zm9yKHZhciB0Ozspe3Q9YVtwKytdO2lmKCF0KWJyZWFrO2YudisrO3N3aXRjaChmLmope2Nhc2UgMDp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6eTIodCl8fEEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDc6Y2FzZSAyOmlmKHkyKHQpKWNvbnRpbnVlO2lmKGYuaj09PTcpaC5wdXNoKDgpO2Vsc2UgaWYodD09PSJ9Iil7ZSgie30iKTtmLmo9ZCgpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDMpO3Q9PT0nIic/Zi5qPTY6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgODpjYXNlIDM6aWYoeTIodCkpY29udGludWU7dD09PSI6Ij8oZi5qPT09MyYmKGgucHVzaCgzKSxmLm8rKyksZi5qPTEpOnQ9PT0ifSI/KGYuby0tLGUoKSxmLmo9ZCgpKTp0PT09IiwiPyhmLmo9PT0zJiZoLnB1c2goMyksCmYuaj03KTpBMihmLGEscCk7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZih5Mih0KSljb250aW51ZTtpZihmLmo9PT00KWlmKGYubysrLGYuaj0xLHQ9PT0iXSIpe2Yuby0tO2lmKGYubz09PTApe2Yuaj01O3JldHVybn1lKCJbXSIpO2Yuaj1kKCk7Y29udGludWV9ZWxzZSBoLnB1c2goNSk7dD09PSciJz9mLmo9Njp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6dD09PSJ0Ij9mLmo9OTp0PT09ImYiP2Yuaj0xMjp0PT09Im4iP2Yuaj0xNjp0IT09Ii0iJiYoIjAxMjM0NTY3ODkiLmluZGV4T2YodCkhPT0tMT9mLmo9MjA6QTIoZixhLHApKTtjb250aW51ZTtjYXNlIDU6aWYodD09PSIsIiloLnB1c2goNSksZi5qPTEsZi5vPT09MSYmKG49cCk7ZWxzZSBpZih0PT09Il0iKXtmLm8tLTtpZihmLm89PT0wKXJldHVybjtlKCk7Zi5qPWQoKX1lbHNlIGlmKHkyKHQpKWNvbnRpbnVlO2Vsc2UgQTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgNjpsZXQgdj1wO2E6Zm9yKDs7KXtmb3IoO2YuSz4wOylpZih0PQphW3ArK10sZi5LPT09ND9mLks9MDpmLksrKywhdClicmVhayBhO2lmKHQ9PT0nIicmJiFmLkQpe2Yuaj1kKCk7YnJlYWt9aWYodD09PSJcXCImJiFmLkQmJihmLkQ9ITAsdD1hW3ArK10sIXQpKWJyZWFrO2lmKGYuRClpZihmLkQ9ITEsdD09PSJ1IiYmKGYuSz0xKSx0PWFbcCsrXSljb250aW51ZTtlbHNlIGJyZWFrO2subGFzdEluZGV4PXA7dD1rLmV4ZWMoYSk7aWYoIXQpe3A9YS5sZW5ndGgrMTticmVha31wPXQuaW5kZXgrMTt0PWFbdC5pbmRleF07aWYoIXQpYnJlYWt9Zi52Kz1wLXY7Y29udGludWU7Y2FzZSA5OmlmKCF0KWNvbnRpbnVlO3Q9PT0iciI/Zi5qPTEwOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDEwOmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTExOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDExOmlmKCF0KWNvbnRpbnVlO3Q9PT0iZSI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxMjppZighdCljb250aW51ZTt0PT09ImEiP2Yuaj0xMzpBMihmLGEsCnApO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIXQpY29udGludWU7dD09PSJsIj9mLmo9MTQ6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIXQpY29udGludWU7dD09PSJzIj9mLmo9MTU6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTU6aWYoIXQpY29udGludWU7dD09PSJlIj9mLmo9ZCgpOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE2OmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTE3OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE3OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPTE4OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE4OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxOTp0PT09Ii4iP2Yuaj0yMDpBMihmLGEscCk7Y29udGludWU7Y2FzZSAyMDppZigiMDEyMzQ1Njc4OS5lRSstIi5pbmRleE9mKHQpIT09LTEpY29udGludWU7ZWxzZSBwLS0sZi52LS0sZi5qPWQoKTtjb250aW51ZTtkZWZhdWx0OkEyKGYsYSxwKX19fQpmdW5jdGlvbiBkKCl7dmFyIHQ9aC5wb3AoKTtyZXR1cm4gdCE9bnVsbD90OjF9ZnVuY3Rpb24gZSh0KXtmLm8+MXx8KHR8fCh0PW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSxwKTphLnN1YnN0cmluZyhuLHApKSxmLlkucHVzaChKU09OLnBhcnNlKHQpKSxuPXApfWZvcih2YXIgZj10aGlzLGg9Zi5VLGs9Zi5aLGw9YS5sZW5ndGgsbT0wLG49LTEscD0wO3A8bDspc3dpdGNoKGYuQil7Y2FzZSAzOnJldHVybiBBMihmLGEscCksbnVsbDtjYXNlIDI6cmV0dXJuIGIoKSYmQTIoZixhLHApLG51bGw7Y2FzZSAwOmlmKGIoKSl7dmFyIHI9YVtwKytdO2YudisrO2lmKHI9PT0iWyIpe2YuQj0xO209cDtmLmo9NDtjb250aW51ZX1lbHNlIEEyKGYsYSxwKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIGMoKSxmLm89PT0wJiZmLmo9PTU/KGYuQj0yLGYuST1hLnN1YnN0cmluZyhwKSk6Zi5JPW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSk6YS5zdWJzdHJpbmcobiksZi5ZLmxlbmd0aD4wPyhyPWYuWSwKZi5ZPVtdLHIpOm51bGx9cmV0dXJuIG51bGx9O3ZhciBtcmE9e0dFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfVU5LTk9XTiIsQUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9GT1JfVEVTVElORyIsa0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fSE9NRV9UVEwiLHdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU1RBUlRfVE9fU0hPUlRTX0FOQUxZU0lTX1NMSUNFIixvRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RFVklDRV9MQVlFUl9TTElDRSIsRkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VTklGSUVEX0xBWUVSX1NMSUNFIixKRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1ZJU0lUT1JfTEFZRVJfU0xJQ0UiLHVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0hPV19TSEVFVF9DT01NQU5EX0hBTkRMRVJfQkxPQ0siLApNRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dJWl9ORVhUX01JR1JBVEVEX0NPTVBPTkVOVCIsTEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XSVpfTkVYVF9DSEFOTkVMX05BTUVfVE9PTFRJUCIscEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVElPTl9MT0NLX1NVUFBPUlRFRCIsekU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9USEVBVEVSX01PREVfRU5BQkxFRCIsU0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9TSE9XX1BJTl9TVUdHRVNUSU9OIixSRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfTE9OR19QUkVTU19FRFVfVE9BU1QiLFFFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfU0hPV19BTUJJRU5UIixBRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RJTUVfV0FUQ0hFRF9QQU5FTCIsCnJFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0VBUkNIX0ZST01fU0VBUkNIX0JBUl9PVkVSTEFZIixURToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfVk9JQ0VfU0VBUkNIX0VEVV9UT0FTVCIseUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVUdHRVNURURfTEFOR1VBR0VfU0VMRUNURUQiLFVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfVFJJR0dFUl9TSE9SVFNfUElQIixKRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lOX1pQX1ZPSUNFX0NSQVNIWV9TRVQiLGdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX1NVUFBSRVNTRUQiLGZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX0FMTE9XRUQiLGlFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9QVUxMX1RPX1JFRlJFU0hfQVRURU1QVCIsCk5FOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfQkxPQ0tfS0FCVUtJIixqRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1JFRUxfVEFMTF9TQ1JFRU4iLGhFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9OT1JNQUxfU0NSRUVOIixoRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9FTkFCTEVEIixnRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9ESVNBQkxFRCIsaUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9BVVRPUExBWV9FTkFCTEVEIixqRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0NBU1RfTUFUQ0hfT0NDVVJSRUQiLHREOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRU1DM0RTX0VMSUdJQkxFIix3RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VORFNDUkVFTl9UUklHR0VSRUQiLApkRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BPU1RQTEFZX1RSSUdHRVJFRCIsY0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9QT1NUUExBWV9MQUNUX1RIUkVTSE9MRF9FWENFRURFRCIsQ0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1NUQVRFX01BVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT04iLEVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hBQkxFX09OX1JFTU9URV9DT05ORUNUSU9OIixERDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfTUlTQVRUUklCVVRFRF9PTl9SRU1PVEVfQ09OTkVDVElPTiIsSEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1RWX0lTX1NJR05FRF9JTl9PTl9SRU1PVEVfQ09OTkVDVElPTiIsREU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9UVl9TVEFSVF9UWVBFX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLApFRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWX1NUQVJUX1RZUEVfTk9OX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLFlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfT05fUkVNT1RFX0NPTk5FQ1RJT04iLG5EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9WQUxJRCIsbEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9DT0JBTFRfUEVSU0lTVEVOVF9TRVRUSU5HU19URVNUX0lOVkFMSUQiLG1EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9VTkRFRklORUQiLGtEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9ERUZJTkVEIixNRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xBQ1RfVEhSRVNIT0xEX0VYQ0VFREVEIiwKcUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1VORF9UUklQX0hBTkRMSU5HX09OX1JFTU9URV9DT05ORUNUSU9OIixHRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfU1dJVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT05fQkVGT1JFX0FQUF9SRUxPQUQiLEZEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hFRF9PTl9SRU1PVEVfQ09OTkVDVElPTl9BRlRFUl9BUFBfUkVMT0FEIix1RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19JTkVMSUdJQkxFIixCRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfTUlEX1JPTExfVEhSRVNIT0xEX1JFQUNIRUQiLHlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfUEVORElORyIsCnhEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfQUNUSVZBVEVEIix2RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19NMl9FTElHSUJMRSIsbkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX0xBTkRTQ0FQRSIsb0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX1BPUlRSQUlUIixzRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQkVEU19GQUNFT0ZGX1VJX0VWRU5UIix6RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VYUF9DT0JBTFRfSFRUUDNfQ09ORklHX1JFQ0VJVkVEIixyRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VMSUdJQkxFX1RPX1NVUFBSRVNTX1RSQU5TUE9SVF9DT05UUk9MU19CVVRUT05TIiwKSEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VU0VSX0hBU19USEVBVEVSX01PREVfQ09PS0lFX0VOQUJMRUQiLHFEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRE9DVU1FTlRfUElDVFVSRV9JTl9QSUNUVVJFX1NVUFBPUlRFRCIsdEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSE9SVFNfTk9OX0RFRkFVTFRfQVNQRUNUX1JBVElPIixiRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BMQVlFUl9JTl9TUVVFRVpFQkFDSyIsTkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9MSVZFX0NSRUFUT1JfQVJfR0lGVF9SRUNFSVZFRCIsbUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVRVUk5FRF9UT19WSURFT19BRlRFUl9GQUlMRURfQVRURU1QVF9UT19CQUNLR1JPVU5EIixPRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX0VOVEVSX0FVVE9fWk9PTSIsClpEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUEFTU0lWRV9JTl9DT05UUk9MIixhRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BBU1NJVkVfSU5fVFJFQVRNRU5UIixwRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RJU0FCTEVfUExBWUVSX09QRU5fT05fRlVMTFNDUkVFTiIsVEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfUkVDT05ORUNUX1dJVEhfUkVUUlkiLHZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0lOR0xFX0NPTFVNTl9HUklEX1RSSUdHRVJFRCIsUEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfQ09OTkVDVElPTl9USU1FT1VUIixPRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xJVkVfR0hPU1RfTE9BRElOR19FTElHSUJMRSIseEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVFJFQU1FRF9HRVRfV0FUQ0hfU1VQUE9SVEVEIiwKS0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XRUJWSUVXX0NPTlRBSU5FUiIsUEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9FTlRFUl9QSVAiLGVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTF9FTElHSUJMRSIsVkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX0JST0FEIixYRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX09GRkxJTkVfUkVDT1ZFUllfVU5QTEFZQUJMRSIsV0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX1NUUklDVCIsS0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JT1NfU0hPUlRfT1JJRU5UQVRJT05fQ0hBTkdFIixDRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfUExBWUVSX0VSUk9SX09WRVJMQVlfVFJJR0dFUkVEIiwKc0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSEFERVJfTElHSFRfRU5BQkxFRCIsSUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUWV9NSVNNQVRDSF9ERVRFQ1RFRCIsbEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fU0hPUlRTX1RSSUdHRVJFRCIsQkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9HUldTX0NVU1RPTV9SRVRSWV9DQUxMRUQiLFNEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfVE9LRU5fTUlTTUFUQ0giLFJEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfUEFZTE9BRF9UT0tFTl9NSVNTSU5HIixRRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX01EWF9NT0JJTEVfVU5MT0NLX0dBVEVfVE9LRU5fTUlTU0lORyIsClVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTVVTSUNfT0ZGTElORV9IT01FX1NNQVJUX0RPV05MT0FEU19QUk9NT19DSEVDSyIsTEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JUEFEX0RFU0tUT1BfTUFUQ0gifTt2YXIgZHdhPW5ldyBfLkkoInN1YnNjcmliZUVuZHBvaW50Iik7dmFyIEIyPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGAke2F9LCBlcnJvckNvZGU9JHtifWApO3RoaXMuZXJyb3JDb2RlPWI7dGhpcy5uYW1lPSJQcm9taXNlQWpheEVycm9yIn19LHR0YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBEMj1jbGFzc3tjb25zdHJ1Y3RvcihhPW51bGwpe3RoaXMudj1hO3RoaXMuaj0wO3RoaXMubz1udWxsfXRoZW4oYSxiLGMpe3JldHVybiB0aGlzLnY/dGhpcy52LnRoZW4oYSxiLGMpOnRoaXMuaj09PTEmJmE/KGE9YS5jYWxsKGMsdGhpcy5vKSkmJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iP2E6RjIoYSk6dGhpcy5qPT09MiYmYj8oYT1iLmNhbGwoYyx0aGlzLm8pKSYmdHlwZW9mIGEudGhlbj09PSJmdW5jdGlvbiI/YTpFMihhKTp0aGlzfWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT0yfX07Xy55ZihEMik7dmFyIE0yPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLm1lc3NhZ2V8fGEuZGVzY3JpcHRpb258fGEubmFtZSk7dGhpcy5pc01pc3Npbmc9YSBpbnN0YW5jZW9mIEsyO3RoaXMuaXNUaW1lb3V0PWEgaW5zdGFuY2VvZiBCMiYmYS5lcnJvckNvZGU9PSJuZXQudGltZW91dCI7dGhpcy5pc0NhbmNlbGVkPWEgaW5zdGFuY2VvZiBfLlBmfX07TTIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpRXJyb3IiO3ZhciBLMj1jbGFzcyBleHRlbmRzIF8uTGF7Y29uc3RydWN0b3IoKXtzdXBlcigiQmlzY290dGkgSUQgaXMgbWlzc2luZyBmcm9tIHNlcnZlciIpfX07SzIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpTWlzc2luZ0Vycm9yIjt2YXIgc3RhPXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHRpbWVvdXQ6NUUzLHdpdGhDcmVkZW50aWFsczohMH0sSDI9bnVsbDt2YXIgV3RhPVsiYXR0L2dldCJdLGV3YT1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLGZ3YT1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0scTU9WyJmZWVkYmFjayJdLGd3YT1bIm5vdGlmaWNhdGlvbi9tb2RpZnlfY2hhbm5lbF9wcmVmZXJlbmNlIl0saHdhPVsiYnJvd3NlL2VkaXRfcGxheWxpc3QiXSxpd2E9WyJzdWJzY3JpcHRpb24vc3Vic2NyaWJlIl0sandhPVsic3Vic2NyaXB0aW9uL3Vuc3Vic2NyaWJlIl07dmFyIHI1PWNsYXNze2ZsdXNoKGE9W10sYj0hMSl7aWYoXy54KCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBjIG9mIGEpYT1yMShjKSx0aGlzLmomJl8uS3coYSwyLHRoaXMuaiksYT17c2VyaWFsaXplZEluY3JlbWVudEJhdGNoOl8uc2MoYS52KCkpfSxfLkVwKCJzdHJlYW16SW5jcmVtZW50ZWQiLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6Yn0pfX0sWXZhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0scXVhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt2YXIgYj1uZXcgRXZhO3ZhciBjPW5ldyBEdmE7Yz1CWihjLDEsImJvdGd1YXJkIik7YT1CWihjLDIsYSk7YT1fLkp3KGEpO0ZfKGIsMSxlNSxhKTthJiYhXy5CYyhhKSYmXy5vdyhiLkRhKTt0aGlzLmo9Yn19O3ZhciBuNSxqND1uZXcgTWFwO3ZhciBBdGE9bnVsbDt2YXIgQ3RhPW5ldyBNYXAoW1siZGFyayIsIlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiXSxbImxpZ2h0IiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiXV0pO3ZhciBYMj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihhKXt0aGlzLmouYmljZihhKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhhKXt0aGlzLmouYmNyKGEpfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuai5ibGMoKX19O3ZhciAkMj1bXSxaMj0oMCxfLll4KWBodHRwczovL3N0YXRpYy5kb3VibGVjbGljay5uZXQvaW5zdHJlYW0vYWRfc3RhdHVzLmpzYCxZMj0hMTt2YXIgczU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9fTtbbmV3IHM1KCJiLmZfIiksbmV3IHM1KCJqLnNfIiksbmV3IHM1KCJyLnNfIiksbmV3IHM1KCJlLmhfIiksbmV3IHM1KCJpLnNfIiksbmV3IHM1KCJzLnRfIiksbmV3IHM1KCJwLmhfIiksbmV3IHM1KCJzLmlfIiksbmV3IHM1KCJmLmlfIiksbmV3IHM1KCJhLmJfIiksbmV3IHM1KCJhLm9fIiksbmV3IHM1KCJnLm9fIiksbmV3IHM1KCJwLmlfIiksbmV3IHM1KCJwLm1fIiksbmV3IHM1KCJuLmtfIiksbmV3IHM1KCJpLmZfIiksbmV3IHM1KCJhLnNfIiksbmV3IHM1KCJtLmNfIiksbmV3IHM1KCJuLmhfIiksbmV3IHM1KCJvLnBfIiksbmV3IHM1KCJtLnBfIiksbmV3IHM1KCJvLmFfIiksbmV3IHM1KCJkLnBfIiksbmV3IHM1KCJlLmlfIildLnJlZHVjZSgoYSxiKT0+e2FbYi5qXT1iO3JldHVybiBhfSx7fSk7dmFyIFA0PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm5ldHdvcms9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLks9Yzt0aGlzLnY9MDt0aGlzLmo9bnVsbDt0aGlzLm89bmV3IFp2YTtiLnpzP2IzKHRoaXMsSXRhKHRoaXMpKTpiLnByZWxvYWQmJmIzKHRoaXMsbmV3IFByb21pc2UoZD0+e18uWWooKCk9PntkKGUzKHRoaXMpKX0sMCl9KSl9YXN5bmMgRCgpe3JldHVybiEhYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmosbnVsbF0pfWFzeW5jIEIoYSxiLGMpe3RoaXMuaj09PW51bGwmJmIzKHRoaXMsZTModGhpcykpO3ZhciBkPSExLGU9e307cmV0dXJuIFByb21pc2UucmFjZShbKGFzeW5jKCk9Pnt0aGlzLm9wdGlvbnMuUUkmJnRoaXMub3B0aW9ucy56cyYmYXdhaXQgKGF3YWl0IEV0YSgpKT8uY2hlY2tGb3JSZWZyZXNoKCk7dmFyIGY9YXdhaXQgdGhpcy5qO2UuY2hhbGxlbmdlPWYuY2hhbGxlbmdlO2lmKGYudm0pe3ZhciBoPXtjOmYuY2hhbGxlbmdlLGU6YSwuLi5ifTt0cnl7ZD0KITA7bGV0IGs7KGs9YXdhaXQgZi52bS5zbmFwc2hvdCh7S2M6aH0pKT9lLndlYlJlc3BvbnNlPWs6ZS5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe2UuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gZi5CZiYmKGUuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO2E9PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmKGY9Zi5CZixoPXt9LGYuYzZhJiYoaC5yZXBvcnRpbmdTdGF0dXM9U3RyaW5nKE51bWJlcihmLmMpXmEzKCkpKSxmLmM2YiYmKGguYnJvYWRTcGVjdHJ1bURldGVjdGlvblJlc3VsdD1TdHJpbmcoTnVtYmVyKGYuYyleTnVtYmVyKF8udygiQ0FUU1RBVCIsMCkpKSksZS5hZGJsb2NrUmVwb3J0aW5nPWgpO3JldHVybiBlfSkoKSxNdGEoYywoKT0+e3ZhciBmPU9iamVjdC5hc3NpZ24oe30sZSk7ZCYmKGYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTsKcmV0dXJuIGZ9KV0pfWFzeW5jIFJmKGEpe3ZhciBiPXRoaXMuSztpZighYnx8Yi5TYigpKXJldHVybiBmMyh0aGlzLGEpO3gwKCJhdHRfcG5hIik7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLmJmKGIsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57ZjModGhpcyxhKS50aGVuKGMpfSl9KX19O3ZhciBnMz17V0VCX1VOUExVR0dFRDoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT05CT0FSRElORzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT1BTOiJedW5wbHVnZ2VkLyIsV0VCX1VOUExVR0dFRF9QVUJMSUM6Il51bnBsdWdnZWQvIixXRUJfQ1JFQVRPUjoiXmNyZWF0b3IvIixXRUJfS0lEUzoiXmtpZHMvIixXRUJfRVhQRVJJTUVOVFM6Il5leHBlcmltZW50cy8iLFdFQl9NVVNJQzoiXm11c2ljLyIsV0VCX1JFTUlYOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebWFpbl9hcHAvfF5zZnYvIn07dmFyIFl1YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1hc3luYyBSZihhKXt4MCgiYXR0X2ZzciIpO2E9YXdhaXQgWXRhKHRoaXMuaixhKTt4MCgiYXR0X2ZyciIpO3JldHVybiBhfX07dmFyIGkzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj0icGVuZGluZyI7dGhpcy5vPVtdO3RoaXMudj1bXTt0cnl7YSh0aGlzLkIuYmluZCh0aGlzKSx0aGlzLnJlamVjdC5iaW5kKHRoaXMpKX1jYXRjaChiKXt0aGlzLnJlamVjdChiKX19c3RhdGUoKXtyZXR1cm4gdGhpcy5pc0Z1bGZpbGxlZCgpP3tzdGF0ZToiZnVsZmlsbGVkIix2YWx1ZTp0aGlzLnJlc3VsdH06dGhpcy5pc1JlamVjdGVkKCk/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fWlzRnVsZmlsbGVkKCl7cmV0dXJuIHRoaXMuaj09PSJmdWxmaWxsZWQifWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT09InJlamVjdGVkIn1pc1BlbmRpbmcoKXtyZXR1cm4gdGhpcy5qPT09InBlbmRpbmcifUIoYSl7KDAsXy5ibykoYSl8fGozKGEpP2wzKGszKGEpLHRoaXMuQi5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLmo9ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9CmEsbjModGhpcykpfXJlamVjdChhKXt0aGlzLmo9InJlamVjdGVkIjt0aGlzLmVycm9yPWE7bjModGhpcyl9fSxqMz1fLkNjKGE9PigwLF8ucXIpKGEpP2EgaW5zdGFuY2VvZiBpMzohMSk7dmFyIHQ1PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXJ1bihhLGIpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7dmFyIGM9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBkPWEsZT1iLGY9W107Oyl7Zi5wdXNoKFN0cmluZyhkKSk7ZT15aWVsZCpwMyhjLmpbZF0uZXhlY3V0ZShlKSk7aWYoZS5uZXh0U3RhdGU9PT0iRE9ORSIpcmV0dXJuIGYucHVzaCgiRE9ORSIpLGUudmFsdWU7aWYoZS5uZXh0U3RhdGU9PT0iRkFJTEVEIil0aHJvdyBmLnB1c2goYEZBSUxFRCgke2UuZXJyb3IubWVzc2FnZXx8ImVycm9yIn0pYCksZS5lcnJvcjtkPWUubmV4dFN0YXRlO2U9ZS5wYXJhbXN9fSgpfSl9fTt2YXIgdTU9Y2xhc3N7fTt2YXIgdTM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e307aWYodGhpcy5vPV8ucXooKSl7bGV0IGE9Xy5Mai5nZXQoIkNPTlNJU1RFTkNZIix2b2lkIDApO2EmJnIzKHRoaXMse2VuY3J5cHRlZFRva2VuSmFyQ29udGVudHM6YX0pfX1oYW5kbGVSZXNwb25zZShhLGIpe2lmKCFiKXRocm93IEVycm9yKCJLZSIpO2I9Yi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ/LnJlcXVlc3Q/LmNvbnNpc3RlbmN5VG9rZW5KYXJzfHxbXTsoYT1hLnJlc3BvbnNlQ29udGV4dD8uY29uc2lzdGVuY3lUb2tlbkphcikmJnRoaXMucmVwbGFjZShiLGEpfXJlcGxhY2UoYSxiKXtmb3IobGV0IGMgb2YgYSlkZWxldGUgdGhpcy5qW2MuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50c107cjModGhpcyxiKX19O3ZhciBrd2E9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLmpvaW4oIi4iKSx2Mz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMudj0tMTt2YXIgYT1fLncoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1IiYmKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmKGE9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIpKTthJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49YSx0aGlzLm89dGhpcy5qPXZvaWQgMCl9c3RhdGljIGpjKCl7djU9Xy5zYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIik7djV8fCh2NT1uZXcgdjMsXy5yYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIix2NSkpO3JldHVybiB2NX1zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChhKXthLmNsaWVudHx8KGEuY2xpZW50PQp7fSk7aWYodGhpcy5qKWEuY2xpZW50LmxvY2F0aW9uSW5mb3x8KGEuY2xpZW50LmxvY2F0aW9uSW5mbz17fSksYS5jbGllbnQubG9jYXRpb25JbmZvLmxhdGl0dWRlRTc9TWF0aC5mbG9vcih0aGlzLmouY29vcmRzLmxhdGl0dWRlKjFFNyksYS5jbGllbnQubG9jYXRpb25JbmZvLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5qLmNvb3Jkcy5sb25naXR1ZGUqMUU3KSxhLmNsaWVudC5sb2NhdGlvbkluZm8uaG9yaXpvbnRhbEFjY3VyYWN5TWV0ZXJzPU1hdGgucm91bmQodGhpcy5qLmNvb3Jkcy5hY2N1cmFjeSksYS5jbGllbnQubG9jYXRpb25JbmZvLmZvcmNlTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuUmVmcmVzaD0hMDtlbHNlIGlmKHRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4pYS5jbGllbnQubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPXRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW59Z2V0WEdlb0hlYWRlcigpe2lmKHRoaXMubyl7dmFyIGE9CnRoaXMubzt2YXIgYj1NYXRoLmZsb29yKGEuY29vcmRzLmxvbmdpdHVkZSoxRTcpO3ZhciBjPU1hdGguZmxvb3IoYS5jb29yZHMubGF0aXR1ZGUqMUU3KTt2YXIgZD1uZXcgJHZhO2M9Xy5xdyhkLDEsXy5QdyhjKSk7Yj1fLnF3KGMsMixfLlB3KGIpKTtjPW5ldyBid2E7Yz1DWihjLDEsMSk7Yz1DWihjLDIsMTIpO2M9Q1ooYyw5LDgpO2M9Xy5xdyhjLDMseV8oYS50aW1lc3RhbXAqMUUzKSk7YT1fLnF3KGMsNyxwXyhhLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTthPUNaKGEsMjUsMik7YT1fLkt3KGEsNSxiKTthPWB3ICR7Xy5zYyhjd2EoYSksNCl9YH1lbHNlIGE9bnVsbDtyZXR1cm4gYX1oYW5kbGVSZXNwb25zZShhKXthPWEucmVzcG9uc2VDb250ZXh0Py5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW47YSE9PXZvaWQgMCYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPWEsdGhpcy5vPXRoaXMuaj12b2lkIDAsXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8KKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsYSwxNTU1MkUzKTpfLk1qKCJZVF9DTCIsSlNPTi5zdHJpbmdpZnkoe2xvY3RvazphfSksMTU1NTJFMyxrd2EsITApKX1jbGVhckxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbihhKXthPT09IlRWSFRNTDUiPyh0aGlzLmxvY2FsU3RvcmFnZT1zMyh0aGlzKSkmJnRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZSgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKTpfLk5qKCJZVF9DTCIpO3RoaXMuQj12b2lkIDA7dGhpcy52IT09LTEmJihjbGVhclRpbWVvdXQodGhpcy52KSx0aGlzLnY9LTEpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7dGhpcy5vPXRoaXMuaj12b2lkIDB9Z2V0Q3VycmVudFBvc2l0aW9uRnJvbUdlb2xvY2F0aW9uKGEpe2lmKCEobmF2aWdhdG9yJiZuYXZpZ2F0b3IuZ2VvbG9jYXRpb24mJm5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24pKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiTGUiKSk7CnZhciBiPSExLGM9MUU0O18udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihiPSEwLGM9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChkLGUpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmPT57dGhpcy5vPWE/LmFkZFRvSGVhZGVycz9mOnZvaWQgMDt0aGlzLmo9ZjtkKGYpfSxmPT57ZShmKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpiLG1heGltdW1BZ2U6MCx0aW1lb3V0OmN9KX0pfWNyZWF0ZVVucGx1Z2dlZExvY2F0aW9uSW5mbyhhKXt2YXIgYj17fTthPWEuY29vcmRzO2E/LmxhdGl0dWRlJiYoYi5sYXRpdHVkZUU3PU1hdGguZmxvb3IoYS5sYXRpdHVkZSoxRTcpKTthPy5sb25naXR1ZGUmJihiLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IoYS5sb25naXR1ZGUqMUU3KSk7YT8uYWNjdXJhY3kmJihiLmxvY2F0aW9uUmFkaXVzTWV0ZXJzPU1hdGgucm91bmQoYS5hY2N1cmFjeSkpO3JldHVybiBifWNyZWF0ZUxvY2F0aW9uSW5mbyhhKXt2YXIgYj0Ke307YT1hLmNvb3JkczthPy5sYXRpdHVkZSYmKGIubGF0aXR1ZGVFNz1NYXRoLmZsb29yKGEubGF0aXR1ZGUqMUU3KSk7YT8ubG9uZ2l0dWRlJiYoYi5sb25naXR1ZGVFNz1NYXRoLmZsb29yKGEubG9uZ2l0dWRlKjFFNykpO3JldHVybiBifX0sdjU7dmFyIEYzPSJ0b2tlbnMgY29uc2lzdGVuY3kgc2VydmljZV9wYXJhbXMgbXNzIGNsaWVudF9sb2NhdGlvbiBlbnRpdGllcyBhZGJsb2NrX2RldGVjdGlvbiByZXNwb25zZV9yZWNlaXZlZF9jb21tYW5kcyBzdG9yZSBtYW5pZmVzdCBwbGF5ZXJfcHJlbG9hZCBzaG9ydHNfcHJlZmV0Y2ggcmVzb2x2ZV91cmxfcHJlZmV0Y2giLnNwbGl0KCIgIik7dmFyIGx3YT1jbGFzc3tEKGEsYj17fSxjPUEzKXt2YXIgZD17Y29udGV4dDp3MyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMsITEsdGhpcy5CKX07dmFyIGU9dGhpcy5vKGEpO2lmKGUpe3RoaXMuaihkLGUsYik7ZT1gL3lvdXR1YmVpL3YxLyR7aDModGhpcy52KCkpfWA7dmFyIGY9Xy5CKGEuY29tbWFuZE1ldGFkYXRhLF8uencpPy5hcGlVcmw7ZiYmKGU9Zik7ZT1YMChZMChlKSk7Zj17Y29tbWFuZDphLC4uLih2b2lkIDApfTtkPXtpbnB1dDplLHdiOlowKGUpLGlubmVyVHViZVJlcXVlc3Q6ZCxjb25maWc6Zn07ZC5jb25maWcuUmQ/ZC5jb25maWcuUmQuaWRlbnRpdHk9YzpkLmNvbmZpZy5SZD17aWRlbnRpdHk6Y307KGE9dGhpcy5LKGEpKSYmIWQuY29uZmlnLnJlcXVlc3RLZXkmJihkLmNvbmZpZy5yZXF1ZXN0S2V5PWEpO2IuYWJvcnRTaWduYWwmJihkLndiLnNpZ25hbD1iLmFib3J0U2lnbmFsKTtyZXR1cm4gZH1iPW5ldyBfLlhqKCJFcnJvcjogRmFpbGVkIHRvIGNyZWF0ZSBSZXF1ZXN0IGZyb20gQ29tbWFuZC4iLAphKTtfLkdwKGIpfWdldCBCKCl7cmV0dXJuITF9Sygpe319LHc1PWNsYXNzIGV4dGVuZHMgbHdhe0soYSl7cmV0dXJuIF8uQihhLmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucmVxdWVzdEtleT8/dm9pZCAwfX07dmFyIG13YT17R0VUX0RBVEFTWU5DX0lEUzp5MyhjbGFzcyBleHRlbmRzIHc1e0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50Iix3YjpaMCgiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX12KCl7cmV0dXJuW119bygpe31qKCl7fX0pfTt2YXIgVTM9bmV3IF8uVnMoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLEIzPW5ldyBfLlZzKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLEozPW5ldyBfLlZzKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBhdWE9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLHozPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMudj1hO3RoaXMuU2E9Yjt0aGlzLm89Yzt0aGlzLkI9ZDt0aGlzLmo9bmV3IE1hcDthLkhkfHwoYS5IZD17fSk7YS5IZD17Li4ubXdhLC4uLmEuSGR9fVFpKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGMpcmV0dXJuIG0zKGV1YShjLHtjb21tYW5kOmEsZm9ybTpiLGlkZW50aXR5OkEzfSkpLnRoZW4oZT0+ZSwoKT0+e30pO3ZhciBkPVp0YSh0aGlzLAphKTtyZXR1cm4gZD9uZXcgXy5CZihhc3luYyhlLGYpPT57dmFyIGg9KGF3YWl0IGQpLkQoYSxiLEEzKTtoPyhQMihoLmlucHV0KSxmPWgud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMCxmPXRoaXMuby56bj9DMyhoLmNvbmZpZyxmKTphd2FpdCBEMyhoLmNvbmZpZyxmKSxlKEUzKHRoaXMsaCxmKSkpOmYobmV3IF8uWGooIkVycm9yOiBGYWlsZWQgdG8gYnVpbGQgcmVxdWVzdCBmb3IgY29tbWFuZCIsYSkpfSk6Xy5PdChuZXcgXy5YaigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZCIsYSkpfUp3KGEpe3JldHVybiBVdGEoYSx0aGlzLnYpfX07dmFyIHg1PW5ldyBfLlZzKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIHU0PW5ldyBfLlZzKCJFTkRQT0lOVF9NQVAiKTt2YXIgdDQ9bmV3IF8uVnMoIkFVVEhfU0VSVklDRV9UT0tFTiIpO3ZhciBLMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWEueXRSZXF1ZXN0O1AyKGMuaW5wdXQpO3ZhciBkPWMud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMDtpZihiLmouem4pe2xldCBlPV8uUGooe3Nlc3Npb25JbmRleDpjLmNvbmZpZz8uUmQ/LnNlc3Npb25JbmRleH0pO2Q9ey4uLngzKGQpLC4uLmV9fWVsc2UgZD15aWVsZCpwMyhjdWEoYixjLmNvbmZpZyxkKSk7Yy53Yj17Li4uYy53YixoZWFkZXJzOnsuLi4oYy53Yj8uaGVhZGVycz8/e30pLC4uLmR9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczphfX0oKX0pfX07SzNbXy5Mbl09W3Q0XTt2YXIgJDM9bmV3IF8uVnMoIlJFU1BPTlNFX01BQ0hJTkVfUkVHSVNUUllfVE9LRU4iKSxhND1uZXcgXy5WcygiUkVTUE9OU0VfTUFDSElORV9GQUNUT1JZX1RPS0VOIik7dmFyIEwzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuaj1hO3RoaXMubz1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWEueXRSZXF1ZXN0LGU9ZC5jb25maWc/LktBPy5aSztpZihlJiZiJiZiLmhhcyhlKSYmIWQuY29uZmlnPy5LQT8uZGlzYWJsZUNhY2hlKXt2YXIgZj15aWVsZCpwMyhrMyhiLmdldChlKSkpO2lmKGYmJiFmLmlzRXhwaXJlZCgpKXJldHVybiBkPWYuaigpLF8ueCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFmLmlzUHJvY2Vzc2VkKCk/KGY9YygpLGQ9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOmQseXRSZXF1ZXN0OmEueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6YS5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmR9KSksCnlpZWxkKnAzKGszKGIuaihlKSkpLHtuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmR9KTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpkfX1yZXR1cm57bmV4dFN0YXRlOiJMT0NBTF9ST1VURVIiLHBhcmFtczphfX0oKX0pfX07TDNbXy5Mbl09W2E0LF8uSW4obmV3IF8uVnMoIkVQSEVNRVJBTF9TVE9SRV9UT0tFTiIpKV07dmFyIE0zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qLGQ9YS55dFJlcXVlc3QsZT1kPy5pbm5lclR1YmVSZXF1ZXN0Py5jb250ZXh0O2lmKCFlKXJldHVybiBrMyh7bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6YX0pO3ZhciBmPVtdO2lmKGMmJmMubGVuZ3RoPjApZm9yKGxldCBoIG9mIGMpYz1oLkJyKGQpLGMudiYmZi5wdXNoKGMudik7Zm9yKGxldCBoIG9mIGJ8fFtdKWguQnIoZSk7cmV0dXJuIGYubGVuZ3RoPjA/bzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt5aWVsZCpwMyhrMyhQcm9taXNlLmFsbChmKSkpO3JldHVybntuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfX0oKX0pOmszKHtuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfSl9fTtNM1tfLkxuXT1bXy5JbihuZXcgXy5WcygiQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpLF8uSW4obmV3IF8uVnMoIkFTWU5DX0NPTlRFWFRfUFJPQ0VTU09SX01BUCIpKV07dmFyIE4zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLnl0UmVxdWVzdC5jb25maWc/LnJlcXVlc3RLZXk7cmV0dXJuIGMmJmIuaGFzKGMpJiYoYz1iLmdldChjKSxjPXlpZWxkKnAzKGszKGMpKSk/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Y306e25leHRTdGF0ZToiRkVUQ0giLHBhcmFtczphfX0oKX0pfX07TjNbXy5Mbl09W0ozXTt2YXIgTzM9Y2xhc3MgZXh0ZW5kcyB1NXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5vPWE7dGhpcy5qPWJ9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLmosYz10aGlzLm87cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9YS55dFJlcXVlc3QsZT1hLmNodW5rQ2FsbGJhY2ssZj17dHlwZToiUEFHRV9DT05UUkFDVCJ9O2lmKGI/LmNJKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KSl7bGV0IGs9eWllbGQqcDMoazMoYi5PSihkLmlucHV0LGQuaW5uZXJUdWJlUmVxdWVzdCkpKTtpZihrKXtsZXQgbD0hMTt2YXIgaD1mdW5jdGlvbihtLG4pe3JldHVybiBmdW5jdGlvbiooKXt2YXIgcD1jKCk7eWllbGQqcDMoSDMocCx7d2lyZVJlc3BvbnNlOm4seXRSZXF1ZXN0OmQsY2h1bmtDYWxsYmFjazplLHJlc3BvbnNlUGF5bG9hZDpmfSkpO2w9ITB9KCl9O2sucGxheWVyUmVzcG9uc2UmJih5aWVsZCpoKGsucGxheWVyUmVzcG9uc2Use3BsYXllclJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2V9KSk7Cmsud2F0Y2hOZXh0UmVzcG9uc2UmJih5aWVsZCpoKGsud2F0Y2hOZXh0UmVzcG9uc2Use3dhdGNoTmV4dFJlc3BvbnNlOmsud2F0Y2hOZXh0UmVzcG9uc2V9KSk7bHx8KGg9YygpLHlpZWxkKnAzKEgzKGgse3dpcmVSZXNwb25zZTprLHl0UmVxdWVzdDpkLGNodW5rQ2FsbGJhY2s6ZSxyZXNwb25zZVBheWxvYWQ6Zn0pKSk7aWYoZSlyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTpmfTtoPWYuY29udGVudHx8Zi5wbGF5ZXJ8fGYuZG47cmV0dXJuIGYudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmaD97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpofTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTprfX19cmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiTmUiKX19KCl9KX19O08zW18uTG5dPVthNCxfLkluKHg1KV07dmFyIHk1PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYix7c3RhdHVzOmMsLi4uW119KTt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1jO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciByND1uZXcgXy5WcygiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFAzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLlNhPWE7dGhpcy5qPWI7dGhpcy52PWM7dGhpcy5vPWR9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLlNhLGM9dGhpcy5qLGQ9dGhpcy52LGU9dGhpcy5vO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBmPWEueXRSZXF1ZXN0LGg9YS5jaHVua0NhbGxiYWNrLGs9Zi5jb25maWc/LnJlcXVlc3RLZXksbD1KU09OLnN0cmluZ2lmeShmLmlubmVyVHViZVJlcXVlc3QpLG09ey4uLmYud2IsYm9keTpmLndiLm1ldGhvZD09PSJQT1NUIj9sOnZvaWQgMH07Zi5jb25maWc/LmtuJiZfLkFxKGYuY29uZmlnLmtuKTt2YXIgbj17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHA9MCxyPXo9PntJMyhkKCkse3dpcmVSZXNwb25zZTp6LHl0UmVxdWVzdDpmLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6bn0scCsrKX07bD0oKT0+aD9iLmZldGNoKGYuaW5wdXQsCm0sZi5jb25maWcscik6Yi5mZXRjaChmLmlucHV0LG0sZi5jb25maWcpO3RyeXt2YXIgdD1lP2UuSksoZixsKTpsKCl9Y2F0Y2goeil7dD1Qcm9taXNlLnJlamVjdCh6KX1rJiZjJiZjLnNldChrLHQpO3RyeXt2YXIgdj15aWVsZCpwMyhrMyh0KSl9Y2F0Y2goeil7cmV0dXJuIF8ueCgid2ViX2VuYWJsZV9yZXRyaWVzIikmJih2PXogaW5zdGFuY2VvZiBUeXBlRXJyb3ImJnoubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giPzE6MCxHMyh2KSk/e25leHRTdGF0ZToiUkVUUlkiLHBhcmFtczp7Li4uYSxlcnJvcjpuZXcgeTUodix6Lm1lc3NhZ2UpLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fX1rJiZjJiZjLmRlbGV0ZShrKTt3MCh2MChmLmlucHV0KSkoKTtmLmNvbmZpZz8ucG4mJl8uQXEoZi5jb25maWcucG4pO2lmKCF2KXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fTtpZih2JiZ0eXBlb2Ygdj09PQoib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodikmJihrPXYsay5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJihrPWsuZXJyb3JNZXRhZGF0YS5zdGF0dXMsdD1rPT09NTAzfHxrPT09NTA0fHxrPT09NDI5PzI6az49NDAwJiZrPDUwMHx8az49NTAwPzM6MCxHMyh0KSYmXy54KCJ3ZWJfZW5hYmxlX3JldHJpZXMiKSkpKXJldHVybntuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLmEsZXJyb3I6bmV3IHk1KHQsYEhUVFAgU3RhdHVzICR7a31gLGspLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OyFoJiZ2JiYoaz1kKCksaz15aWVsZCpwMyhJMyhrLHt3aXJlUmVzcG9uc2U6dix5dFJlcXVlc3Q6ZixyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifX0pKSx0PWsuY29udGVudHx8ay5wbGF5ZXJ8fGsuZG4say50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZ0JiYodj10KSk7az12O2lmKEFycmF5LmlzQXJyYXkodikpaWYodj12LmZpbHRlcih6PT4hKHoucGxheWVyUmVzcG9uc2V8fAp6LndhdGNoTmV4dFJlc3BvbnNlfHx6KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLHYubGVuZ3RoPT09MSlrPXZbMF07ZWxzZSBpZih2Lmxlbmd0aD4xKWs9di5maW5kKHo9Pnoud2F0Y2hOZXh0UmVzcG9uc2UpfHx2WzBdO2Vsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiT2UiKX07cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aCYmIV8ueCgid2ViX25tX2ZldGNoX2NodW5rX2NhbGxiYWNrX2tzIik/bjprfX0oKX0pfX07UDNbXy5Mbl09W3I0LEozLGE0LF8uSW4obmV3IF8uVnMoIlJFUVVFU1RfU0VRVUVOQ0lORyIpKV07dmFyIFEzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5qLGM9dGhpcy5vLGQ9YS55dFJlcXVlc3Q7cmV0dXJuIGI/LlBLKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KT9vMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBlPXlpZWxkKnAzKGszKGIuUEooZC5pbnB1dCxkLmlubmVyVHViZVJlcXVlc3QpKSksZj1jKCk7aWYoZS5wbGF5ZXJSZXNwb25zZSYmZS53YXRjaE5leHRSZXNwb25zZSl7dmFyIGg9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTplLnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZS5wbGF5ZXJSZXNwb25zZX0pKTtoPXlpZWxkKnAzKEgzKGYsCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOmUud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDphLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTplLndhdGNoTmV4dFJlc3BvbnNlfSkpfWVsc2UgaD15aWVsZCpwMyhIMyhmLHt3aXJlUmVzcG9uc2U6ZSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZX0pKTtmPWguY29udGVudHx8aC5wbGF5ZXJ8fGguZG47aC50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZmJiYoZT1mKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTplfX0oKX0pOmszKHtuZXh0U3RhdGU6IkNPTlRFWFQiLHBhcmFtczphfSl9fTtRM1tfLkxuXT1bYTQsXy5Jbih4NSldO3ZhciBSMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3RyeXt2YXIgYz15aWVsZCpwMyhkdWEoYixhLmNvbW1hbmQsISFhLmNodW5rQ2FsbGJhY2spKX1jYXRjaChkKXtyZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOmR9fXJldHVybihjPWMuRChhLmNvbW1hbmQsYS5mb3JtLGEuaWRlbnRpdHkpKT97bmV4dFN0YXRlOiJDQUNIRSIscGFyYW1zOnt5dFJlcXVlc3Q6YyxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFja319OntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIlBlIil9fSgpfSl9fTtSM1tfLkxuXT1bdTRdO3ZhciBTMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6ZCxjb25maWc6ZT17UmQ6e2lkZW50aXR5OkEzfX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTpmPSEwLGNodW5rQ2FsbGJhY2s6aH09YTtiLmNvbnRleHR8fChiLmNvbnRleHQ9dzMoZCxmKSk7dmFyIGs9WDAoWTAoYykpO3JldHVybntuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDp7aW5wdXQ6ayx3YjpaMChrKSxpbm5lclR1YmVSZXF1ZXN0OmIsY29uZmlnOmV9LGNodW5rQ2FsbGJhY2s6aH19fSgpfSl9fTt2YXIgVjM9Y2xhc3MgZXh0ZW5kcyB0NXt9O1YzW18uTG5dPVtVM107dmFyIFQzPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLnl0UmVxdWVzdCxjPWEuZXJyb3IsZD1hLmF0dGVtcHQsZT1hLmNodW5rQ2FsbGJhY2ssZj1iLmNvbmZpZz8uREs7aWYoIShmJiZjIGluc3RhbmNlb2YgeTUmJkczKGMudHlwZSkpfHxkPihmLm1heFJldHJpZXM/PzApKXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZX19O3ZhciBoPShjPWYuWEgpP2MuY0ooZCk6LTE7aD09PS0xJiYoaD0xRTMpO2YuQ3khPT12b2lkIDAmJihoPU1hdGgubWluKGgsZi5DeSkpO3lpZWxkKnAzKGszKG5ldyBQcm9taXNlKGs9PntfLk50KGssaCl9KSkpO3JldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZSxhdHRlbXB0OmR9fX0oKX0pfX07dmFyIFczPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLmNodW5rQ2FsbGJhY2ssYz1hLnJlc3BvbnNlUGF5bG9hZCxkPWEud2lyZVJlc3BvbnNlO2ImJihiKGMpLCJwbGF5ZXJSZXNwb25zZSJpbiBkJiZkLnBsYXllclJlc3BvbnNlJiYoXy5DaygpLChiPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpKSYmYig0KSkpO3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmN9fSgpfSl9fTt2YXIgbndhPVsidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5Ccm93c2VSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGxheWVyUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBhbmVsUmVzcG9uc2UiXSxYMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGI9YS5vbmVQbGF0Zm9ybUVycm9yO2lmKGImJiJkZXRhaWxzImluIGImJmIuZGV0YWlscyl7Yj1iLmRldGFpbHM7Zm9yKGxldCBjIG9mIGIpaWYoKGI9Y1siQHR5cGUiXSkmJm53YS5pbmRleE9mKGIpPi0xKXJldHVybiBkZWxldGUgY1siQHR5cGUiXSx7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIiwKcGFyYW1zOnsuLi5hLGV4dHJhY3RlZFJlc3BvbnNlOmN9fX1yZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOkVycm9yKCJTZSIpfX0oKX0pfX07dmFyIFkzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLmV4dHJhY3RlZFJlc3BvbnNlLGQ9YS55dFJlcXVlc3QsZT1hLnJlc3BvbnNlUGF5bG9hZCxmPWEud2lyZVJlc3BvbnNlO2lmKGMmJiEoImNvZGUiaW4gY3x8ImVycm9yImluIGMpJiYhYy5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2YgRjMpYltoXSYmYltoXS5oYW5kbGVSZXNwb25zZShjLGQpO2Yud2F0Y2hOZXh0UmVzcG9uc2V8fGYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2Yud2F0Y2hOZXh0UmVzcG9uc2U/ZS5jb250ZW50PWYud2F0Y2hOZXh0UmVzcG9uc2U6ZS5jb250ZW50PWYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmYucGxheWVyUmVzcG9uc2U/ZS5wbGF5ZXI9Zi5wbGF5ZXJSZXNwb25zZTpmLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CmUuZG49Zi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmUuY29udGVudD1mO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczphfX0oKX0pfX07WTNbXy5Mbl09W18uSnldO3ZhciBiND1jbGFzcyBleHRlbmRzIHQ1e307YjRbXy5Mbl09WyQzXTt2YXIgWjM9Y2xhc3MgZXh0ZW5kcyB1NXtleGVjdXRlKGEpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPWEud2lyZVJlc3BvbnNlLGM7QXJyYXkuaXNBcnJheShiKT9jPWJbMF06dHlwZW9mIGI9PT0ib2JqZWN0IiYmYiE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gYnx8IndhdGNoTmV4dFJlc3BvbnNlImluIGJ8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gYnx8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gYik/Yz1iLnBsYXllclJlc3BvbnNlfHxiLndhdGNoTmV4dFJlc3BvbnNlfHxiLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Yi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmM9YjtyZXR1cm4gYyYmImVycm9yImluIGM/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4uYSxvbmVQbGF0Zm9ybUVycm9yOmMuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLmEsZXh0cmFjdGVkUmVzcG9uc2U6Y319fSgpfSl9fTt2YXIgb3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBpd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxkd2EpfHx2b2lkIDB9aihhLGIsYz17fSl7Yi5jaGFubmVsSWRzJiYoYS5jaGFubmVsSWRzPWIuY2hhbm5lbElkcyk7Yi5zaWxvTmFtZSYmKGEuc2lsb05hbWU9Yi5zaWxvTmFtZSk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yy5ib3RndWFyZFJlc3BvbnNlJiYoYS5ib3RndWFyZFJlc3BvbnNlPWMuYm90Z3VhcmRSZXNwb25zZSk7Yy5mZWF0dXJlJiYoYS5jbGllbnRGZWF0dXJlPWMuZmVhdHVyZSl9fTt2YXIgcHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBqd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLkR5KXx8dm9pZCAwfWooYSxiKXtiLmNoYW5uZWxJZHMmJihhLmNoYW5uZWxJZHM9Yi5jaGFubmVsSWRzKTtiLnNpbG9OYW1lJiYoYS5zaWxvTmFtZT1iLnNpbG9OYW1lKTtiLnBhcmFtcyYmKGEucGFyYW1zPWIucGFyYW1zKX19O3ZhciB6NT1jbGFzcyBleHRlbmRzIHc1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5JPWF9digpe3JldHVybiBld2F9byhhKXtyZXR1cm4gXy5CKGEsXy5aeil8fF8uQihhLF8uTWFhKXx8Xy5CKGEsXy5Zeil9aihhLGIpe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtiLmNsaWVudFBhcmFtSWRlbnRpZmllciYmdGhpcy5JPy5qKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKGEuY2xpZW50UGFyYW1zPXRoaXMuSS5vKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSl9fTt6NVtfLkxuXT1bbmV3IF8uVnMoIlNIQVJFX0NMSUVOVF9QQVJBTVNfUFJPVklERVJfVE9LRU4iKV07dmFyIHF3YT1jbGFzcyBleHRlbmRzIHc1e3YoKXtyZXR1cm4gcTV9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLlV6KXx8dm9pZCAwfWooYSxiLGMpe2EuZmVlZGJhY2tUb2tlbnM9W107Yi5mZWVkYmFja1Rva2VuJiZhLmZlZWRiYWNrVG9rZW5zLnB1c2goYi5mZWVkYmFja1Rva2VuKTtpZihiPWIuY3BufHxjLmNwbilhLmZlZWRiYWNrQ29udGV4dD17Y3BuOmJ9O2EuaXNGZWVkYmFja1Rva2VuVW5lbmNyeXB0ZWQ9ISFjLmlzX2ZlZWRiYWNrX3Rva2VuX3VuZW5jcnlwdGVkO2Euc2hvdWxkTWVyZ2U9ITE7Yy5leHRyYV9mZWVkYmFja190b2tlbnMmJihhLnNob3VsZE1lcmdlPSEwLGEuZmVlZGJhY2tUb2tlbnM9YS5mZWVkYmFja1Rva2Vucy5jb25jYXQoYy5leHRyYV9mZWVkYmFja190b2tlbnMpKX19O3ZhciByd2E9Y2xhc3MgZXh0ZW5kcyB3NXt2KCl7cmV0dXJuIHE1fW8oYSl7cmV0dXJuIF8uQihhLF8uQ3kpfWdldCBCKCl7cmV0dXJuITB9aihhLGIpe2IudW5kb1Rva2VuJiYoYS5mZWVkYmFja1Rva2Vucz1bYi51bmRvVG9rZW5dKTtiLmlzVW5kb1Rva2VuVW5lbmNyeXB0ZWQmJihhLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPWIuaXNVbmRvVG9rZW5VbmVuY3J5cHRlZCl9fTt2YXIgc3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBnd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5CeSl8fHZvaWQgMH1qKGEsYil7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5zZWNvbmRhcnlQYXJhbXMmJihhLnNlY29uZGFyeVBhcmFtcz1iLnNlY29uZGFyeVBhcmFtcyl9fTt2YXIgdHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBod2F9byhhKXtyZXR1cm4gXy5CKGEsXy5Beil8fHZvaWQgMH1qKGEsYil7Yi5hY3Rpb25zJiYoYS5hY3Rpb25zPWIuYWN0aW9ucyk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5wbGF5bGlzdElkJiYoYS5wbGF5bGlzdElkPWIucGxheWxpc3RJZCl9fTt2YXIgdXdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBmd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5OYWEpfWooYSxiLGM9e30pe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtjLmluY2x1ZGVMaXN0SWQmJihhLmluY2x1ZGVMaXN0SWQ9ITApfX07dmFyIHZ3YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5yZXF1ZXN0S2V5PWE7dGhpcy5CPWI7dGhpcy5vPWM7dGhpcy5EPSgpPT5uZXcgWE1MSHR0cFJlcXVlc3Q7dGhpcy5qPXZvaWQgMDt0aGlzLnY9W119Z2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKXtyZXR1cm4gdGhpcy5vfX07dmFyIG91YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj0wO3RoaXMuWGc9Yj8uWGc/P3dpbmRvdzt0aGlzLnltPWI/LnltO3RoaXMucmVxdWVzdEtleT1iPy5yZXF1ZXN0S2V5Pz8oXy50aigicGFyX2Jpcl9rZXkiKXx8Ik80M3owZHBqaGdYMjBTQ3g0S0FvIik7dGhpcy5Icz1iPy5Icz8/KGQ9Pm5ldyBxMihkKSk7dmFyIGM9Yj8uVkk/PygoZCxlLGYpPT5uZXcgdndhKGQsZSxmKSk7dGhpcy5iZ0NoYWxsZW5nZT1TMihhLmJnQ2hhbGxlbmdlKTt0aGlzLnR0bFNlY29uZHM9VTIoVDIoYS5jaGFsbGVuZ2V8fCIiKSk7dGhpcy5vZD1jKHRoaXMucmVxdWVzdEtleSxfLngoInBhcl9hdF9lcCIpP1sid3d3LnlvdXR1YmUuY29tIiwibS55b3V0dWJlLmNvbSJdLmluY2x1ZGVzKF8udS5sb2NhdGlvbi5ob3N0bmFtZSk/Ii9hcGkvam5uL3YxL0dlbmVyYXRlSVQiOiJodHRwczovL2pubi1wYS5nb29nbGVhcGlzLmNvbS8kcnBjL2dvb2dsZS5pbnRlcm5hbC53YWEudjEuV2FhL0dlbmVyYXRlSVQiOgoiaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20vJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixhKTt0aGlzLkpzPWI/LkpzO251YSh0aGlzLm9kKTt0aGlzLkdyPWI/LkdyPz8oZD0+e18uU2UodGhpcy5YZy5kb2N1bWVudCwidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pnt0aGlzLlhnLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIiYmZCgpfSl9KX12KCl7RGF0ZS5ub3coKT50aGlzLmordGhpcy50dGxTZWNvbmRzKjFFMyYmdGhpcy52bT8uVSgpfX07dmFyIHV1YT1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSx3d2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy52bT1udWxsO3RoaXMuaj12b2lkIDB9aW5pdGlhbGl6ZShhLGIsYyxkKXt0aGlzLmo9ZDtpZihhLnByb2dyYW0pe3ZhciBlO2Q9YS5pbnRlcnByZXRlclVybD8/bnVsbDthLmludGVycHJldGVyU2FmZVNjcmlwdD9lPVlfKGEuaW50ZXJwcmV0ZXJTYWZlU2NyaXB0KTplPWEuaW50ZXJwcmV0ZXJTY3JpcHQ/P251bGw7YS5pbnRlcnByZXRlclNhZmVVcmwmJihkPV8uaHcoYS5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO3R1YSh0aGlzLGUsZCxhLnByb2dyYW0sYixjKX1lbHNlIF8uSXAoRXJyb3IoIlVlIikpfWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy52KCl9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PQoyfWludm9rZShhPXt9KXtyZXR1cm4gdGhpcy52KCk/dGhpcy5CKHtLYzphfSk6bnVsbH1kaXNwb3NlKCl7dGhpcy5vKG51bGwpO3RoaXMuUyg4KX12KCl7cmV0dXJuISF0aGlzLnZtfUIoYSl7cmV0dXJuIHRoaXMudm0uWHIoYSl9byhhKXtfLlpkKHRoaXMudm0pO3RoaXMudm09YX1TKGEpe3RoaXMuc3RhdGU9YX19O3ZhciB4d2E9Y2xhc3MgZXh0ZW5kcyB3d2F7byhhKXttNCgpPy5iZ3ZtYSgpO2lmKGEpe2xldCBiPXtiZ3ZtYTphLmRpc3Bvc2UuYmluZChhKSxiZ3ZtYjphLnNuYXBzaG90LmJpbmQoYSksYmd2bWM6YS5Yci5iaW5kKGEpfTtfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLGIpO18uRmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsYz0+YS5zbmFwc2hvdChjKSl9ZWxzZSBfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLF8ucmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9digpe3JldHVybiEhbTQoKX1CKGEpe3JldHVybiBtNCgpLmJndm1jKGEpfX07dmFyIHl3YT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoKXtzdXBlcigiZG9jdW1lbnRfYWN0aXZlIik7dGhpcy52PTEwO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF9hY3RpdmUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIsYWN0aW9uOnRoaXMuWX0se2Zyb206ImRvY3VtZW50X2FjdGl2ZSIsdG86ImRvY3VtZW50X2Rpc3Bvc2VkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZmx1c2hfbG9ncyIsYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJmbHVzaF9sb2dzIiwKYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOigpPT57fX0se2Zyb206ImZsdXNoX2xvZ3MiLHRvOiJkb2N1bWVudF9hY3RpdmUiLGFjdGlvbjp0aGlzLkR9XTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLGE9Pnt0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIix7ZXZlbnQ6YX0pO2EucGVyc2lzdGVkPT09ITEmJih0aGlzLm89bmV3IE1hcCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIse2V2ZW50OmF9KX0pfVkoYSxiKXtpZighdGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiKSYmKGEoYj8uZXZlbnQpLGI/LmV2ZW50Py5kZWZhdWx0UHJldmVudGVkfHwKYj8uZXZlbnQ/LnJldHVyblZhbHVlKSl7Yi5ldmVudC5yZXR1cm5WYWx1ZXx8KGIuZXZlbnQucmV0dXJuVmFsdWU9ITApO2IuZXZlbnQuZGVmYXVsdFByZXZlbnRlZHx8Yi5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIik7cmV0dXJufXRoaXMuby5zZXQoImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIiwhMCk7dGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWQiKT90aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKTp0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIil9SyhhLGIpe3RoaXMuby5nZXQoImRvY3VtZW50X2Rpc3Bvc2VkIik/dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9hY3RpdmUiKTooYShiPy5ldmVudCksdGhpcy5vLnNldCgiZG9jdW1lbnRfZGlzcG9zZWQiLCEwKSx0aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKSl9SShhLGIpe2EoYj8uZXZlbnQpO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIil9RCgpe3RoaXMubz0KbmV3IE1hcH19O3ZhciB6d2E9Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoImRvY3VtZW50X3Zpc2liaWxpdHlfdW5rbm93biIpO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF92aXNpYmlsaXR5X3Vua25vd24iLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfYmFja2dyb3VuZGVkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X3Zpc2libGUiLHRvOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLAphY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X3Zpc2libGUiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfaGlkZGVuIix0bzoiZG9jdW1lbnRfdmlzaWJsZSIsYWN0aW9uOnRoaXMuRH0se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2JhY2tncm91bmRlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X2JhY2tncm91bmRlZCIsdG86ImRvY3VtZW50X2hpZGRlbiIsCmFjdGlvbjp0aGlzLm99LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfV07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsYT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIj90aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X3Zpc2libGUiLHtldmVudDphfSk6dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9oaWRkZW4iLHtldmVudDphfSl9KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHtldmVudDphfSl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLAphPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHtldmVudDphfSl9KSl9RChhLGIpe2EoYj8uZXZlbnQpO18ueCgidmlzaWJpbGl0eV9saWZlY3ljbGVzX2R5bmFtaWNfYmFja2dyb3VuZGluZyIpJiZ0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2ZvcmVncm91bmRlZCIpfW8oYSxiKXthKGI/LmV2ZW50KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmdGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiKX1LKGEsYil7YShiPy5ldmVudCl9SShhLGIpe2EoYj8uZXZlbnQpfX07dmFyIEF3YT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj1uZXcgeXdhO3RoaXMuRD1uZXcgendhfWluc3RhbGwoLi4uYSl7YS5mb3JFYWNoKGI9Pnt0aGlzLkIuaW5zdGFsbChiKX0pO2EuZm9yRWFjaChiPT57dGhpcy5ELmluc3RhbGwoYil9KX19O3ZhciBPND1jbGFzcyBleHRlbmRzIEF3YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5qfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmdGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5vfX0pO3RoaXMuaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6dGhpcy52fX0pO18ueCgid2ViX2xvZ19jZmdfY2VlX2tzIil8fF8uWWoodnVhKX12KCl7Xy5FcCgiZmluYWxQYXlsb2FkIix7Y3NuOl8uaXEoKX0pfWooKXtfLm15KF8uRXkpO18uRnkhPW51bGwmJl8uRnkuZmx1c2goKX1vKCl7Xy5reChfLmh4KCkpfX07dmFyIG40PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEsYik7dGhpcy5lcnJvclR5cGU9MTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgczQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YXN5bmMgZmV0Y2goYSxiLGMsZCl7YT13dWEodGhpcyxhLGIpO3RyeXtsZXQgZT1hd2FpdCBmZXRjaChhKTtpZihkJiZlLm9rJiZlLmJvZHkmJnR5cGVvZiBlLmJvZHkuZ2V0UmVhZGVyPT09ImZ1bmN0aW9uIil7bGV0IGY9ZS5jbG9uZSgpLmJvZHkuZ2V0UmVhZGVyKCkse3ZhbHVlOmh9PWF3YWl0IGYucmVhZCgpO2YuY2FuY2VsKCkuY2F0Y2goKCk9Pnt9KTtpZihoJiZoWzBdPT09OTEpe2xldCBrPWUuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBvNCh0aGlzLGssbmV3IHoyLFtdLGQpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZShlLGMpfWNhdGNoKGUpe2lmKF8uSXAoZSksYz8uUHYmJmUgaW5zdGFuY2VvZiBuNCYmZS5lcnJvclR5cGU9PT0xKXRocm93IGU7fX1oYW5kbGVSZXNwb25zZShhLGIpe3ZhciBjPWEudGV4dCgpLnRoZW4oZD0+e2lmKGI/Lmd5JiYKYS5vaylyZXR1cm4gXy5YeChiLmd5LGQpO2Q9ZC5yZXBsYWNlKCIpXX0nIiwiIik7aWYoYj8uUHYmJmQpdHJ5e3ZhciBlPUpTT04ucGFyc2UoZCl9Y2F0Y2goZil7dGhyb3cgbmV3IG40KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiBlPz9KU09OLnBhcnNlKGQpfSk7YS5yZWRpcmVjdGVkfHxhLm9rP3RoaXMuaiYmdGhpcy5qLnN1Y2Nlc3MoKToodGhpcy5qJiZ0aGlzLmouU0koKSxjPWMudGhlbihkPT57Xy5JcChuZXcgXy5YaigiRXJyb3I6IEFQSSBmZXRjaCBmYWlsZWQiLGEuc3RhdHVzLGEudXJsLGQpKTtyZXR1cm57Li4uZCxlcnJvck1ldGFkYXRhOntzdGF0dXM6YS5zdGF0dXN9fX0pKTtyZXR1cm4gY319O3M0W18uTG5dPVtfLkluKG5ldyBfLlZzKCJORVRXT1JLX1NMSV9UT0tFTiIpKV07dmFyIHA0PWNsYXNze3N0YXRpYyBqYygpe3ZhciBhPV8uc2EoInl0Z2xvYmFsLnN0b3JhZ2VfIik7YXx8KGE9bmV3IHA0LF8ucmEoInl0Z2xvYmFsLnN0b3JhZ2VfIixhKSk7cmV0dXJuIGF9YXN5bmMgZXN0aW1hdGUoKXt2YXIgYT1uYXZpZ2F0b3I7aWYoYS5zdG9yYWdlPy5lc3RpbWF0ZSlyZXR1cm4gYS5zdG9yYWdlLmVzdGltYXRlKCk7aWYoYS53ZWJraXRUZW1wb3JhcnlTdG9yYWdlPy5xdWVyeVVzYWdlQW5kUXVvdGEpcmV0dXJuIHh1YSgpfWFzeW5jIHBlcnNpc3QoKXt2YXIgYT1uYXZpZ2F0b3I7cmV0dXJuIGEuc3RvcmFnZT8ucGVyc2lzdD9hd2FpdCBhLnN0b3JhZ2U/LnBlcnNpc3QoKT8iUEVSU0lTVEVEX1NUQVRFX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX1NVUFBPUlRFRCJ9fTtfLnJhKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixwNCk7dmFyIEFyYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaGFuZGxlRXJyb3I9YTt0aGlzLmo9Yjt0aGlzLm89ITE7c2VsZi5kb2N1bWVudD09PXZvaWQgMHx8c2VsZi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgpPT57dGhpcy5vPSEwfSk7dGhpcy52PU1hdGgucmFuZG9tKCk8PS4yfUpiKGEpe3RoaXMuaGFuZGxlRXJyb3IoYSl9bG0oYSxiKXtzd2l0Y2goYSl7Y2FzZSAiSURCX0RBVEFfQ09SUlVQVEVEIjpfLngoImlkYl9kYXRhX2NvcnJ1cHRlZF9raWxsc3dpdGNoIil8fHRoaXMuaigiaWRiRGF0YUNvcnJ1cHRlZCIsYik7YnJlYWs7Y2FzZSAiSURCX1VORVhQRUNURURMWV9DTE9TRUQiOnRoaXMuaigiaWRiVW5leHBlY3RlZGx5Q2xvc2VkIixiKTticmVhaztjYXNlICJJU19TVVBQT1JURURfQ09NUExFVEVEIjpfLngoImlkYl9pc19zdXBwb3J0ZWRfY29tcGxldGVkX2tpbGxzd2l0Y2giKXx8dGhpcy5qKCJpZGJJc1N1cHBvcnRlZENvbXBsZXRlZCIsYik7YnJlYWs7CmNhc2UgIlFVT1RBX0VYQ0VFREVEIjp5dWEodGhpcyxiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9FTkRFRCI6dGhpcy52JiZNYXRoLnJhbmRvbSgpPD0uMSYmdGhpcy5qKCJpZGJUcmFuc2FjdGlvbkVuZGVkIixiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCI6dGhpcy5qKCJpZGJUcmFuc2FjdGlvbkFib3J0ZWQiLHsuLi5iLGhhc1dpbmRvd1VubG9hZGVkOnRoaXMub30pfX19O3ZhciBBNT0hMTt2YXIgQ3VhPXtGaTp7ZmVlZGJhY2tFbmRwb2ludDp5Myhxd2EpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6eTMoc3dhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDp5Myh0d2EpLHNoYXJlRW50aXR5RW5kcG9pbnQ6eTMoejUpLHN1YnNjcmliZUVuZHBvaW50OnkzKG93YSksdW5kb0ZlZWRiYWNrRW5kcG9pbnQ6eTMocndhKSx1bnN1YnNjcmliZUVuZHBvaW50OnkzKHB3YSksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6eTModXdhKX19O3ZhciBGdWE9bmV3IE1hcCxFdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjLGQsZSl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMud2ViUGxheWVyQ29udGV4dENvbmZpZz1iO3RoaXMuaj1jO3RoaXMuRWo9ZDt0aGlzLnBsYXllclZhcnM9ZTtKdWEodGhpcyl9bGEoKXt0aGlzLmFwaSYmdGhpcy5hcGkuZGVzdHJveSgpO1dfKHRoaXMuY29udGFpbmVyKTtzdXBlci5sYSgpfX07dmFyIEJ3YT17WyJhcGkuaW52YWxpZHBhcmFtIl06MixhdXRoOjE1MCxbImRybS5hdXRoIl06MTUwLFsiaGVhcnRiZWF0Lm5ldCJdOjE1MCxbImhlYXJ0YmVhdC5zZXJ2ZXJlcnJvciJdOjE1MCxbImhlYXJ0YmVhdC5zdG9wIl06MTUwLFsiaHRtbDUudW5zdXBwb3J0ZWRhZHMiXTo1LFsiZm10Lm5vbmVhdmFpbGFibGUiXTo1LFsiZm10LmRlY29kZSJdOjUsWyJmbXQudW5wbGF5YWJsZSJdOjUsWyJodG1sNS5taXNzaW5nYXBpIl06NSxbImh0bWw1LnVuc3VwcG9ydGVkbGl2ZSJdOjUsWyJkcm0udW5hdmFpbGFibGUiXTo1LFsibXJtLmJsb2NrZWQiXToxNTEsWyJlbWJlZGRlci5pZGVudGl0eS5kZW5pZWQiXToxNTIsWyJlbWJlZGRlci5pZGVudGl0eS5taXNzaW5nLnJlZmVycmVyIl06MTUzfTt2YXIgTHVhPW5ldyBTZXQoImVuZFNlY29uZHMgc3RhcnRTZWNvbmRzIG1lZGlhQ29udGVudFVybCBzdWdnZXN0ZWRRdWFsaXR5IHZpZGVvSWQgcmN0IHJjdG4gcGxheW11dGVkIG11dGVkX2F1dG9wbGF5X2R1cmF0aW9uX21vZGUiLnNwbGl0KCIgIikpO3ZhciBXdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7dmFyIGE9TDQsYj1INDtzdXBlcigpO3RoaXMuYXBpPWE7dGhpcy52PXRoaXMuTT0hMTt0aGlzLlU9W107dGhpcy5aPXt9O3RoaXMuQj1bXTt0aGlzLm89W107dGhpcy5oYT0hMTt0aGlzLnNlc3Npb25JZD10aGlzLmo9bnVsbDt0aGlzLnRhcmdldE9yaWdpbj0iKiI7dGhpcy5nYT1fLngoIndlYl9wbGF5ZXJfc3BsaXRfZXZlbnRfYnVzX2lmcmFtZSIpO3RoaXMuST1fLncoIlBPU1RfTUVTU0FHRV9PUklHSU4iKXx8YCR7ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2x9Ly8ke2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfWA7dGhpcy5EPWM9Pnt0aGlzLm9uTWVzc2FnZShjKX07QjUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5EKTtpZihhPV8udygiV0lER0VUX0lEIikpdGhpcy5zZXNzaW9uSWQ9YTtiJiZ0aGlzLkQoYik7QTQodGhpcywib25SZWFkeSIsKCk9Pnt0aGlzLk09ITA7dmFyIGM9dGhpcy5hcGkuZ2V0VmlkZW9EYXRhKCk7CmMuaXNQbGF5YWJsZXx8KHRoaXMuaGE9ITAsdGhpcy5lcnJvckNvZGU9KGM9Yy5lcnJvckNvZGUpP0J3YVtjXXx8NTo1LHRoaXMuc2VuZE1lc3NhZ2UoIm9uRXJyb3IiLE51bWJlcih0aGlzLmVycm9yQ29kZSkpKTtENCh0aGlzKTt0aGlzLmp8fHRoaXMudnx8d2luZG93LnBhcmVudD09PXdpbmRvd3x8IXRoaXMuc2Vzc2lvbklkfHxDNCh0aGlzLHtldmVudDoicmVhZHlUb0xpc3RlbiJ9LHdpbmRvdy5wYXJlbnQpfSk7QTQodGhpcywib25WaWRlb1Byb2dyZXNzIix0aGlzLmZjLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uVm9sdW1lQ2hhbmdlIix0aGlzLlZkLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uQXBpQ2hhbmdlIix0aGlzLm9hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tRdWFsaXR5Q2hhbmdlIix0aGlzLk1hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tSYXRlQ2hhbmdlIix0aGlzLlFhLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uU3RhdGVDaGFuZ2UiLHRoaXMuRWIuYmluZCh0aGlzKSk7CkE0KHRoaXMsIm9uV2ViZ2xTZXR0aW5nc0NoYW5nZWQiLHRoaXMuRmwuYmluZCh0aGlzKSk7QTQodGhpcywib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLHRoaXMueWEuYmluZCh0aGlzKSk7QTQodGhpcywiY2FwdGlvbnNzZXR0aW5nc2NoYW5nZWQiLHRoaXMuRmEuYmluZCh0aGlzKSl9c2VuZE1lc3NhZ2UoYSxiKXthPXtldmVudDphLGluZm86Yj09PXZvaWQgMD9udWxsOmJ9O3RoaXMudj9DNCh0aGlzLGEpOnRoaXMuVS5wdXNoKGEpfUViKGEpe2E9e3BsYXllclN0YXRlOmEsY3VycmVudFRpbWU6dGhpcy5hcGkuZ2V0Q3VycmVudFRpbWUoKSxkdXJhdGlvbjp0aGlzLmFwaS5nZXREdXJhdGlvbigpLHZpZGVvRGF0YTp0aGlzLmFwaS5nZXRWaWRlb0RhdGEoKSx2aWRlb1N0YXJ0Qnl0ZXM6MCx2aWRlb0J5dGVzVG90YWw6dGhpcy5hcGkuZ2V0VmlkZW9CeXRlc1RvdGFsKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCkscGxheWJhY2tRdWFsaXR5OnRoaXMuYXBpLmdldFBsYXliYWNrUXVhbGl0eSgpLAphdmFpbGFibGVRdWFsaXR5TGV2ZWxzOnRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSxjdXJyZW50VGltZUxhc3RVcGRhdGVkXzpEYXRlLm5vdygpLzFFMyxwbGF5YmFja1JhdGU6dGhpcy5hcGkuZ2V0UGxheWJhY2tSYXRlKCksbWVkaWFSZWZlcmVuY2VUaW1lOnRoaXMuYXBpLmdldE1lZGlhUmVmZXJlbmNlVGltZSgpfTt0aGlzLmFwaS5nZXRWaWRlb1VybCYmKGEudmlkZW9Vcmw9dGhpcy5hcGkuZ2V0VmlkZW9VcmwoKSk7dGhpcy5hcGkuZ2V0VmlkZW9Db250ZW50UmVjdCYmKGEudmlkZW9Db250ZW50UmVjdD10aGlzLmFwaS5nZXRWaWRlb0NvbnRlbnRSZWN0KCkpO3RoaXMuYXBpLmdldFByb2dyZXNzU3RhdGUmJihhLnByb2dyZXNzU3RhdGU9dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSgpKTt0aGlzLmFwaS5nZXRQbGF5bGlzdCYmKGEucGxheWxpc3Q9dGhpcy5hcGkuZ2V0UGxheWxpc3QoKSk7dGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCYmKGEucGxheWxpc3RJbmRleD0KdGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCgpKTtFNCh0aGlzLGEpfU1hKGEpe2E9e3BsYXliYWNrUXVhbGl0eTphfTt0aGlzLmFwaS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzJiYoYS5hdmFpbGFibGVRdWFsaXR5TGV2ZWxzPXRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSk7dGhpcy5hcGkuZ2V0UHJlZmVycmVkUXVhbGl0eSYmKGEucHJlZmVycmVkUXVhbGl0eT10aGlzLmFwaS5nZXRQcmVmZXJyZWRRdWFsaXR5KCkpO0U0KHRoaXMsYSl9UWEoYSl7RTQodGhpcyx7cGxheWJhY2tSYXRlOmF9KX1vYSgpe3ZhciBhPXRoaXMuYXBpLmdldE9wdGlvbnMoKSxiPXtuYW1lc3BhY2VzOmF9O2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyl7bGV0IGU9YVtjXSxmPXRoaXMuYXBpLmdldE9wdGlvbnMoZSk7YltlXT17b3B0aW9uczpmfTtmb3IobGV0IGg9MCxrPWYubGVuZ3RoO2g8aztoKyspe2xldCBsPWZbaF0sbT10aGlzLmFwaS5nZXRPcHRpb24oZSxsKTtiW2VdW2xdPQptfX10aGlzLnNlbmRNZXNzYWdlKCJhcGlJbmZvRGVsaXZlcnkiLGIpfVZkKCl7RTQodGhpcyx7bXV0ZWQ6dGhpcy5hcGkuaXNNdXRlZCgpLHZvbHVtZTp0aGlzLmFwaS5nZXRWb2x1bWUoKX0pfWZjKGEpe2E9e2N1cnJlbnRUaW1lOmEsdmlkZW9CeXRlc0xvYWRlZDp0aGlzLmFwaS5nZXRWaWRlb0J5dGVzTG9hZGVkKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCksY3VycmVudFRpbWVMYXN0VXBkYXRlZF86RGF0ZS5ub3coKS8xRTMscGxheWJhY2tSYXRlOnRoaXMuYXBpLmdldFBsYXliYWNrUmF0ZSgpLG1lZGlhUmVmZXJlbmNlVGltZTp0aGlzLmFwaS5nZXRNZWRpYVJlZmVyZW5jZVRpbWUoKX07dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSYmKGEucHJvZ3Jlc3NTdGF0ZT10aGlzLmFwaS5nZXRQcm9ncmVzc1N0YXRlKCkpO0U0KHRoaXMsYSl9RmwoKXtFNCh0aGlzLHtzcGhlcmljYWxQcm9wZXJ0aWVzOnRoaXMuYXBpLmdldFNwaGVyaWNhbFByb3BlcnRpZXMoKX0pfXlhKCl7aWYodGhpcy5hcGkuZ2V0Q2FwdGlvblRyYWNrcyl7bGV0IGE9CntjYXB0aW9uVHJhY2tzOnRoaXMuYXBpLmdldENhcHRpb25UcmFja3MoKX07RTQodGhpcyxhKX19RmEoKXtpZih0aGlzLmFwaS5nZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3Mpe2xldCBhPXtzdWJ0aXRsZXNVc2VyU2V0dGluZ3M6dGhpcy5hcGkuZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKCl9O0U0KHRoaXMsYSl9fW9uTWVzc2FnZShhKXtpZighKHRoaXMuSSE9PSIqIiYmYS5vcmlnaW4hPT10aGlzLkl8fHRoaXMuaiYmYS5zb3VyY2UhPT10aGlzLmp8fHR5cGVvZiBhLmRhdGEhPT0ic3RyaW5nIikpe3RyeXt2YXIgYj1KU09OLnBhcnNlKGEuZGF0YSl9Y2F0Y2goZil7cmV0dXJufWlmKGIpc3dpdGNoKGIuZXZlbnQpe2Nhc2UgImxpc3RlbmluZyI6dmFyIGM9YS5zb3VyY2U7YT1hLm9yaWdpbjtiPWIuaWQ7YSE9PSJudWxsIiYmKHRoaXMuST10aGlzLnRhcmdldE9yaWdpbj1hKTt0aGlzLmo9Yzt0aGlzLnNlc3Npb25JZD1iO0Q0KHRoaXMpO2JyZWFrO2Nhc2UgImNvbW1hbmQiOmM9Yi5mdW5jOwp2YXIgZD1iLmFyZ3M7aWYoYz09PSJhZGRFdmVudExpc3RlbmVyIiYmZCliPWRbMF0sYz1hLm9yaWdpbixiPT09Im9uUmVhZHkiP3RoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk6Yj09PSJvbkVycm9yIiYmdGhpcy5oYSYmKHRoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyx0aGlzLmVycm9yQ29kZSksdGhpcy5lcnJvckNvZGU9dm9pZCAwKSx0aGlzLmFwaS5sb2dBcGlDYWxsKGAke2J9IHJlZ2lzdHJhdGlvbmAsYyksdGhpcy5aW2JdfHxiPT09Im9uUmVhZHkifHwoYT1NdWEodGhpcyxiLGMpLHRoaXMuby5wdXNoKHtldmVudFR5cGU6YixsaXN0ZW5lcjphLG9yaWdpbjpjfSksdGhpcy5nYT90aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoImFkZEV2ZW50TGlzdGVuZXIiLFtiLGFdLGMpOnRoaXMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixhKSx0aGlzLlpbYl09ITApO2Vsc2UgaWYoYj1jLGM9ZCxhPWEub3JpZ2luLHRoaXMuYXBpLmlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUoYiwKYSkpe2M9Y3x8W107aWYoYy5sZW5ndGg+MCYmeDQoYikpe3ZhciBlPWM7aWYoXy5BYShlWzBdKSYmIUFycmF5LmlzQXJyYXkoZVswXSkpZD1lWzBdO2Vsc2Ugc3dpdGNoKGQ9e30sYil7Y2FzZSAibG9hZFZpZGVvQnlJZCI6Y2FzZSAiY3VlVmlkZW9CeUlkIjpkPXk0KGVbMF0sZVsxXSE9PXZvaWQgMD9OdW1iZXIoZVsxXSk6dm9pZCAwLGVbMl0pO2JyZWFrO2Nhc2UgImxvYWRWaWRlb0J5VXJsIjpjYXNlICJjdWVWaWRlb0J5VXJsIjpkPWVbMF07dHlwZW9mIGQ9PT0ic3RyaW5nIiYmKGQ9e21lZGlhQ29udGVudFVybDpkLHN0YXJ0U2Vjb25kczplWzFdIT09dm9pZCAwP051bWJlcihlWzFdKTp2b2lkIDAsc3VnZ2VzdGVkUXVhbGl0eTplWzJdfSk7Yjp7aWYoKGU9ZC5tZWRpYUNvbnRlbnRVcmwpJiYoZT0vXC8oW3ZlXXxlbWJlZClcLyhbXiM/XSspLy5leGVjKGUpKSYmZVsyXSl7ZT1lWzJdO2JyZWFrIGJ9ZT1udWxsfWQudmlkZW9JZD1lO2Q9eTQoZCk7YnJlYWs7Y2FzZSAibG9hZFBsYXlsaXN0IjpjYXNlICJjdWVQbGF5bGlzdCI6ZD0KejQoZVswXSxlWzFdLGVbMl0sZVszXSl9Yy5sZW5ndGg9MTtjWzBdPWR9dGhpcy5hcGkuaGFuZGxlRXh0ZXJuYWxDYWxsKGIsYyxhKTt4NChiKSYmRTQodGhpcyxCNCh0aGlzKSl9fX19bGEoKXtzdXBlci5sYSgpO0I1LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuRCk7Zm9yKHZhciBhPTA7YTx0aGlzLkIubGVuZ3RoO2ErKyl7dmFyIGI9dGhpcy5CW2FdO3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYi5ldmVudFR5cGUsYi5saXN0ZW5lcil9dGhpcy5CPVtdO2ZvcihhPTA7YTx0aGlzLm8ubGVuZ3RoO2ErKyliPXRoaXMub1thXSx0aGlzLmdhP3RoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgicmVtb3ZlRXZlbnRMaXN0ZW5lciIsW2IuZXZlbnRUeXBlLGIubGlzdGVuZXJdLGIub3JpZ2luKTp0aGlzLmFwaS5yZW1vdmVFdmVudExpc3RlbmVyKGIuZXZlbnRUeXBlLGIubGlzdGVuZXIpO3RoaXMubz1bXX19LEI1PXdpbmRvdzt2YXIgWHVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3ZhciBjPUw0O3N1cGVyKCk7dGhpcy5hcGk9Yzt0aGlzLmlkPWE7dGhpcy5vcmlnaW49Yjt0aGlzLmo9e307dGhpcy52PV8ueCgid2ViX3BsYXllcl9zcGxpdF9ldmVudF9idXNfaWZyYW1lIik7dGhpcy5vPWQ9Pnt0aGlzLm9uTWVzc2FnZShkKX07QzUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5vKTtGNCh0aGlzLCJSRUNFSVZJTkciKX1hZGRMaXN0ZW5lcihhLGIpe2lmKCEoYSBpbiB0aGlzLmopKXt2YXIgYz10aGlzLkIuYmluZCh0aGlzLGEpO3RoaXMualthXT1jO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihhLGMsYil9fUIoYSxiKXt0aGlzLmlhKCl8fEY0KHRoaXMsYSxPdWEoYSxiKSl9cmVtb3ZlTGlzdGVuZXIoYSxiKXthIGluIHRoaXMuaiYmKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLHRoaXMualthXSxiKSxkZWxldGUgdGhpcy5qW2FdKX1hZGRFdmVudExpc3RlbmVyKGEsYixjKXt0aGlzLnY/CmE9PT0ib25SZWFkeSI/dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpOnRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgiYWRkRXZlbnRMaXN0ZW5lciIsW2EsYl0sY3x8bnVsbCk6dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpe3RoaXMudj9hPT09Im9uUmVhZHkiP3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKTp0aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoInJlbW92ZUV2ZW50TGlzdGVuZXIiLFthLGJdLGN8fG51bGwpOnRoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKX1vbk1lc3NhZ2UoYSl7aWYoYS5vcmlnaW49PT10aGlzLm9yaWdpbil7dmFyIGI9YS5kYXRhO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe3RyeXtiPUpTT04ucGFyc2UoYil9Y2F0Y2goZSl7cmV0dXJufWlmKGIuY29tbWFuZCl7dmFyIGM9Yi5jb21tYW5kO2I9Yi5kYXRhO2E9YS5vcmlnaW47aWYoIXRoaXMuaWEoKSl7dmFyIGQ9CmJ8fHt9O3N3aXRjaChjKXtjYXNlICJhZGRFdmVudExpc3RlbmVyIjp0eXBlb2YgZC5ldmVudD09PSJzdHJpbmciJiZ0aGlzLmFkZExpc3RlbmVyKGQuZXZlbnQsYSk7YnJlYWs7Y2FzZSAicmVtb3ZlRXZlbnRMaXN0ZW5lciI6dHlwZW9mIGQuZXZlbnQ9PT0ic3RyaW5nIiYmdGhpcy5yZW1vdmVMaXN0ZW5lcihkLmV2ZW50LGEpO2JyZWFrO2RlZmF1bHQ6dGhpcy5hcGkuaXNSZWFkeSgpJiZ0aGlzLmFwaS5pc0V4dGVybmFsTWV0aG9kQXZhaWxhYmxlKGMsYXx8bnVsbCkmJihiPVB1YShjLGJ8fHt9KSxiPXRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbChjLGIsYXx8bnVsbCksKGI9UXVhKGMsYikpJiZGNCh0aGlzLGMsYikpfX19fX19bGEoKXtDNS5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLm8pO2ZvcihsZXQgYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGEpO3N1cGVyLmxhKCl9fSxDNT13aW5kb3csTnVhPQp3aW5kb3cucGFyZW50O3ZhciBHND1uZXcgeHdhO3ZhciBMND1udWxsLE40PW51bGwsSjQ9KCk9Pnt9LEg0O3ZhciBUND0hMTtfLmZ0LnRoZW4oKCk9PntfLkFxKCJlcF9pbml0X2N1cyIpO2lmKCFBNSl7QTU9ITA7dmFyIGE9Xy54KCJlbmFibGVfd2l6X2NvbnRleHRfcGVyX2NvbXBvbmVudCIpfHwhMTtPYmplY3QuYXNzaWduKF8uS3Use1JpOiEwLEdwOmEsRnA6YSxHdjpfLngoIndlYl9pbmNsdWRlX2Nvd190cmFjaW5nIiksaGFuZGxlRXJyb3I6enVhfSk7QnVhKCk7Xy53dj1mc2E7Xy54dj1nc2F9YnZhKCk7Xy5BcSgiZXBfaW5pdF9lcHMiKTtfLnJhKCJ5dC5zZXRDb25maWciLF8uUWkpO18ucmEoInl0LmNvbmZpZy5zZXQiLF8uUWkpO18ucmEoInl0LnNldE1zZyIsYjEpO18ucmEoInl0Lm1zZ3Muc2V0IixiMSk7Xy5yYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIixfLkdwKTtfLnJhKCJ3cml0ZUVtYmVkIixVdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5ib3RndWFyZEluaXRpYWxpemVkIixfLnNhKCJ5dC5hYnVzZS5wbGF5ZXIuYm90Z3VhcmRJbml0aWFsaXplZCIpfHxSdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIsCl8uc2EoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIpfHxTdWEpO18ucmEoInl0LmFidXNlLmRjbGtzdGF0dXMuY2hlY2tEY2xrU3RhdHVzIixfLnNhKCJ5dC5hYnVzZS5kY2xrc3RhdHVzLmNoZWNrRGNsa1N0YXR1cyIpfHxhMyk7Xy5yYSgieXQucGxheWVyLmV4cG9ydHMubmF2aWdhdGUiLF8uc2EoInl0LnBsYXllci5leHBvcnRzLm5hdmlnYXRlIil8fEJ0YSk7Xy5yYSgieXQudXRpbC5hY3Rpdml0eS5pbml0IixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmluaXQiKXx8bDApO18ucmEoInl0LnV0aWwuYWN0aXZpdHkuZ2V0VGltZVNpbmNlQWN0aXZlIixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmdldFRpbWVTaW5jZUFjdGl2ZSIpfHxfLkJuKTtfLnJhKCJ5dC51dGlsLmFjdGl2aXR5LnNldFRpbWVzdGFtcCIsXy5zYSgieXQudXRpbC5hY3Rpdml0eS5zZXRUaW1lc3RhbXAiKXx8ajApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixfLlZpKFp1YSkpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsCl8uVmkoJHVhKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixfLlZpKGF2YSkpO2d1YSgpO1R1YSgpO18uQXEoImVwX2luaXRfZXBlIik7SjQ9Xy5ENTtfLkFxKCJlcF9pbml0X2N1ZSIpfSk7Xy5ENT0oKT0+e307Cl8uRDU9ZnVuY3Rpb24oYSl7KDAsXy5laCkoInI3OERyYiIpLnRoZW4oKCk9PnsoMCxfLnp5KShhKX0pfTsKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/2.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.208Z","timestamp":1785129950208,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/2.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2456\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:33:54 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:37:49 GMT\r\ncache-control: max-age=86400\r\netag: \"bdaeb947a2eb31bae0a170559df9013c\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 2882\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: _QAzvd5jXGyq27ial2UBfuEKZpRt77n-zlNkvZQJJKaTT-FU2-S0rA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":2456,"size_decoded":2981,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"bdaeb947a2eb31bae0a170559df9013c","sha1":"7fc8496c9bf51eea98dc9060262f87a792a24a43","sha256":"3225172adc122cc7f8f09fbcc94757061330651a485f17091f41726767f7ea3f","sha512":"710a1ac11f6fdb3915479bf6b9eccf34f4dedd8f30e6bed5275f52d1ec634a754b252e385eb9cd388a5a69c64aaf5818c13cb783090ae68a8696af067cb67341","ssdeep":"","tlshash":"9e512b90d3f3d98a7d930935f8b27a34cfda87da97098523ea834854e279442cd24943","first_seen":"2023-05-02T21:54:45Z","last_seen":"2026-08-15T04:03:51.1271Z","times_seen":19827,"resource_available":false,"data":"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"}},"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.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/exm=base,root/ed=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:50.306Z","timestamp":1785129950306,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/exm=base,root/ed=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=r78Drb HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/nJ4pVzGWVH0\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 205847\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 12:56:23 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:23 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 232167\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":698252,"size_decoded":206761,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2659)","md5":"b0ad8a0af02b0646525f5764557f74f7","sha1":"3b5ecd18dc5225ff5e062f1f355636ee87daa374","sha256":"41ca2ce29b6abecad6de552d13e73fb3b7628a958b5fbffeb8cc0f8b4495f4f9","sha512":"066d24883fd73c8304fc558fbfc404650cdba71f6f3973bf37273ddb405e563c181cd6767cb575ae3d20139bc047514916e3d227d9a4e17fdcd377a478b0556c","ssdeep":"12288:H0PeofempMe8l0tGc70LCSn4AqUlvdDJdGhxnYUjpjYtsxDT:Hjofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"f0e47de07392f4b586426966e57f8003b17e5943f2044478e1fa9edc15fce48a2bbf29","first_seen":"2026-07-24T13:29:06.300454Z","last_seen":"2026-07-27T16:56:48.623387Z","times_seen":646,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uQ3Q9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnNlcnZpY2VJZD1uZXcgXy5OcihhLGIpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuc2VydmljZUlkLnRvU3RyaW5nKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiaXVUNU9jIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB3dDtfLnZ0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLndpZHRoPT1iLndpZHRoJiZhLmhlaWdodD09Yi5oZWlnaHQ6ITF9O18ueHQ9ZnVuY3Rpb24oYSxiKXtiLmhhc093blByb3BlcnR5KCJkaXNwbGF5TmFtZSIpfHwoYi5kaXNwbGF5TmFtZT1hLnRvU3RyaW5nKCkpO2Jbd3RdPWF9O3d0PVN5bWJvbCgiSWEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5JZT1mdW5jdGlvbigpe3RoaXMuaWQ9ImIifTtfLkllLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlkfTtfLkZ0PW5ldyBfLk5yKCJNcEp3WmMiLCJNcEp3WmMiKTt2YXIgR3Q7R3Q9bmV3IF8uSWU7Xy5IdD1jbGFzcyBleHRlbmRzIF8uSmV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihHdCxhKTt0aGlzLm5vZGU9YTt0aGlzLmtpbmQ9Yn19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewovKgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiovCnZhciBBQSxCQSxEQSxXYWEsWGFhLE9BLFBBLCRhYSxhYmEsU0EsVEEsZGJhLGViYSxmYmEsZEIsZ2JhLGpiYSxrYmEsaEIsa0IsbEIsckIsc0IsdEIsdUIsdkIsd0IsbmJhLHBiYSxvYmEsRUIsc2JhLERCLEZCLEhCLHRiYSx1YmEsdmJhLFFCLFNCLFRCLHdiYSxhQyxZQixjQyxVQixlQyxoQyxpQyxrQyx5YmEsemJhLEFiYSxzQyx2QyxEYmEsekMsQ0MsRmJhLEdiYSxFYmEsVmFhLEtBLG9DO18ueUE9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uZmIpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307Xy56QT1mdW5jdGlvbihhLGIpe2lmKGEubm9kZVR5cGU9PT0xJiYvXihzY3JpcHR8c3R5bGUpJC9pLnRlc3QoYS50YWdOYW1lKSl0aHJvdyBFcnJvcigiaCIpO2EuaW5uZXJIVE1MPV8ueUEoYil9O0FBPWZ1bmN0aW9uKGEsYil7dmFyIGM9e307Zm9yKGxldCBkIGluIGEpY1tkXT1iLmNhbGwodm9pZCAwLGFbZF0sZCxhKTtyZXR1cm4gY307Cl8uSXQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiTWEiKTt9O0JBPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsMix2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uZ2IoYSl9O18uQ0E9ZnVuY3Rpb24oYT0zKXt2YXIgYj1fLlp0O2lmKCFiKXtzd2l0Y2goYSl7Y2FzZSAwOmE9RXJyb3IoIlJhIik7YnJlYWs7Y2FzZSAxOmE9RXJyb3IoIlVhIik7YnJlYWs7Y2FzZSAyOmE9RXJyb3IoIlZhIik7YnJlYWs7ZGVmYXVsdDphPUVycm9yKCJXYSIpfXRocm93IGE7fXJldHVybiBifTtEQT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9T2JqZWN0LmNyZWF0ZShWYWEpO2Quc291cmNlPWE7ZC5UZz1iO2MhPXZvaWQgMCYmKGQuZXF1YWw9Yyk7YT0oKT0+e18ucnUoZCk7Xy5wdShkKTtpZihkLnZhbHVlPT09Xy5Jdil0aHJvdyBkLmVycm9yO3JldHVybiBkLnZhbHVlfTthW18uWnVdPWQ7cmV0dXJuIGF9OwpfLkVBPWZ1bmN0aW9uKGEpe3ZhciBiPV8ua3UobnVsbCk7dHJ5e3JldHVybiBhKCl9ZmluYWxseXtfLmt1KGIpfX07V2FhPWZ1bmN0aW9uKGEpe2E9e1tfLkV1XTohMCxkZWJ1Z05hbWU6YX07IV8uWnR8fF8uQnUoYSk7cmV0dXJuIGF9O18uRkE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGVidWdOYW1lfHxhLm5hbWV8fCJbY29tcG9uZW50XSJ9O18uR0E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uRkEoYSk7Xy5NdT17bmFtZTpjP2Ake2R9ICgke2N9KWA6ZCxsajphLmNvbXBvbmVudFR5cGUhPT1fLkt2LHBhcmVudDpfLk11fTthPWIoKTtfLk11PV8uTXUucGFyZW50O3JldHVybiBhfTtfLkhBPWZ1bmN0aW9uKCl7dmFyIGE9Xy5NdTtyZXR1cm4gYT9hLmxqOiExfTtfLklBPWZ1bmN0aW9uKGEpe18uZ3YtLTtpZihhKWZvcihsZXQgYiBvZiBfLll2KWIuY2xlYXIoKTtlbHNlIF8uZ3Y+MHx8Xy5jdi5pc0ZsdXNoaW5nJiYhXy5LdS5SaXx8Xy5qdigpfTsKXy5KQT1mdW5jdGlvbihhLGIpe2I9e2NvbXBvbmVudFN0YWNrOl8uU3UoXy5QdSkscHI6Xy5RdT8uc2xpY2UoKT8/W10sZmg6MyxBbDpfLkx1KCksdGFnTmFtZTpifTtyZXR1cm5bYSxiXX07Xy5MQT1mdW5jdGlvbigpe2lmKHR5cGVvZiBLQT09PSJmdW5jdGlvbiIpdmFyIGE9S0E7ZWxzZSBpZih0eXBlb2YgS0E9PT0ib2JqZWN0IilhPUtBLmNvbnN0cnVjdG9yO2Vsc2UgdGhyb3cgRXJyb3Iodm9pZCAwKTtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSl9O1hhYT1mdW5jdGlvbigpe2lmKCFfLnU/LlN5bWJvbD8uZm9yKXJldHVybiBuZXcgV2Vha01hcDt2YXIgYT1TeW1ib2wuZm9yKCJnb29nbGUuZ29lbSIpLGI9Xy51W2FdO2lmKGIpcmV0dXJuIGI7Yj1uZXcgV2Vha01hcDtyZXR1cm4gXy51W2FdPWJ9OwpPQT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudGFnTmFtZSxkPWEudGFnTmFtZTthPU1BLmhhcyhkKSYmIVlhYS5oYXMoZCk7KChiPU1BLmhhcyhjKSl8fGEpJiZhJiYhYiYmTkEuaGFzKGMudG9Mb3dlckNhc2UoKSkmJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJJYmAiK2MrImAiK2QpLDIsYyk7fSl9O1BBPWZ1bmN0aW9uKCl7fTtfLlFBPWZ1bmN0aW9uKGEsYixjKXtpZihjPT1udWxsKWEucmVtb3ZlQXR0cmlidXRlKGIpO2Vsc2V7dmFyIGQ7KGQ9Yi5sYXN0SW5kZXhPZigieG1sOiIsMCk9PT0wPyJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiOmIubGFzdEluZGV4T2YoInhsaW5rOiIsMCk9PT0wPyJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIjpudWxsKT9hLnNldEF0dHJpYnV0ZU5TKGQsYixjKTphLnNldEF0dHJpYnV0ZShiLGMpfX07CiRhYT1mdW5jdGlvbihhLGIsYyl7YT1hLnN0eWxlO2lmKHR5cGVvZiBjPT09InN0cmluZyIpYS5jc3NUZXh0PWM7ZWxzZXthLmNzc1RleHQ9IiI7Zm9yKGxldCBmIGluIGMpaWYoWmFhLmNhbGwoYyxmKSl7Yj1hO3ZhciBkPWYsZT1jW2ZdO2QuaW5kZXhPZigiLSIpPj0wP2Iuc2V0UHJvcGVydHkoZCxlKTpiW2RdPWV9fX07YWJhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10eXBlb2YgYztkPT09Im9iamVjdCJ8fGQ9PT0iZnVuY3Rpb24iP2FbYl09YzpfLlFBKGEsYixjKX07U0E9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgUEE7YVtfLlJBLmRlZmF1bHRdPWFiYTthLnN0eWxlPSRhYTtyZXR1cm4gYX07VEE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYj09YyYmZD09ZX07Xy5YQT1mdW5jdGlvbigpe2Zvcih2YXIgYT1fLlVBLGI9Xy5WQSgpO2IhPT1udWxsOyl7bGV0IGM9Yi5uZXh0U2libGluZzthLnJlbW92ZUNoaWxkKGIpO18uV0EuZGVsZXRlZC5wdXNoKGIpO2I9Y319OwpfLlZBPWZ1bmN0aW9uKCl7cmV0dXJuIF8uWUE/Xy5ZQS5uZXh0U2libGluZzpfLlVBLmZpcnN0Q2hpbGR9OwpkYmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uV0EsZT1fLlpBLGY9Xy4kQSxoPV8uYUIsaz1fLllBLGw9Xy5VQSxtPV8uYkI7Xy5aQT1hLm93bmVyRG9jdW1lbnQ7Xy5XQT1uZXcgYmJhKGEpO18uYkI9YjtfLmFCPVtdO18uWUE9bnVsbDtiPV8uVUE9YS5wYXJlbnROb2RlO3ZhciBuPWNiYS5jYWxsKGEpO2lmKChuPW4ubm9kZVR5cGU9PT0xMXx8bi5ub2RlVHlwZT09PTk/bi5hY3RpdmVFbGVtZW50Om51bGwpJiZhLmNvbnRhaW5zKG4pKXtmb3IoYT1bXTtuIT09YjspYS5wdXNoKG4pLG49bi5wYXJlbnROb2RlfHwoYj9uLmhvc3Q6bnVsbCk7Yj1hfWVsc2UgYj1bXTtfLiRBPWI7dHJ5e3JldHVybiBjKCl9ZmluYWxseXtjPV8uV0EsXy5jQiYmYy5kZWxldGVkLmxlbmd0aD4wJiYoMCxfLmNCKShjLmRlbGV0ZWQpLF8uWkE9ZSxfLldBPWQsXy5iQj1tLF8uYUI9aCxfLllBPWssXy5VQT1sLF8uJEE9Zn19OwplYmE9ZnVuY3Rpb24oYSxiPXt9KXt2YXIge21hdGNoZXM6Yz1UQX09YjtyZXR1cm4oZCxlLGYpPT5kYmEoZCxjLCgpPT5hKGQsZSxmKSl9O2ZiYT1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtmb3IodmFyIGI9KGQsZSxmKT0+e3ZhciBoPU1hdGgubWluKGUubGVuZ3RoLWYsZC5sZW5ndGgpO2ZvcihsZXQgbD0wO2w8aDtsKyspe3ZhciBrPWVbZitsXTtpZihkW2xdIT09KCJBIjw9ayYmazw9IloiP2sudG9Mb3dlckNhc2UoKTprKSlyZXR1cm4hMX1yZXR1cm4hMH0sYz0wOyhjPWEuaW5kZXhPZigiPCIsYykpIT0tMTspe2lmKGIoIlx4M2Mvc2NyaXB0IixhLGMpfHxiKCJceDNjIS0tIixhLGMpKXJldHVybiJ6U295eiI7Yys9MX1yZXR1cm4gYX07CmRCPWZ1bmN0aW9uKGEpe2lmKGEuaXNDb25uZWN0ZWQhPT12b2lkIDApcmV0dXJuIGEuaXNDb25uZWN0ZWQ7dmFyIGI9YS5vd25lckRvY3VtZW50O2lmKCFiKXJldHVybiBhPT09ZG9jdW1lbnQ7aWYodHlwZW9mIGIuY29udGFpbnM9PT0iZnVuY3Rpb24iKXJldHVybiBiLmNvbnRhaW5zKGEpO2Zvcig7YTspe2lmKGE9PT1iKXJldHVybiEwO2E9YS5wYXJlbnROb2RlfXJldHVybiExfTtnYmE9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYz1fLkNBKCksZD1fLk11O3JldHVybiBlPT57dmFyIGY9ITEsaD1lLmN1cnJlbnRUYXJnZXQ7aCYmKGY9IWRCKGgpfHxiJiZoW2VCXT09PSEwKTt2YXIgaz1jPy5pYSxsPWImJmgmJmhbZUJdPT09ITA7aWYoZnx8ayl7aWYoaCYmZEIoaCkmJihrfHxsKSl0aHJvdyBfLlV1KEVycm9yKCJrYyIpLDQpO31lbHNle3ZhciBtPSgpPT5hKGUpO3RyeXtfLlJ1KCgpPT5fLkVBKG0pLGQpfWNhdGNoKG4pe18ub3YobixjKX19fX07Cl8uZ0I9ZnVuY3Rpb24oYSxiLGMpe2lmKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGZCLGEpJiYoYT1mQlthXSxPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpJiYoYT1hW2JdLGEgaW5zdGFuY2VvZiBBcnJheSkpKXtsZXQgZT1udWxsLGY9ITE7Zm9yKGxldCBoPTAsaz1hLmxlbmd0aDtoPGs7KytoKXtsZXQgbD1hW2hdO3ZhciBkPWwuaWI7aWYoIWQpcmV0dXJuIGwua2E7ZT09PW51bGwmJihlPXt9KTtkPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsZCk/ZVtkXTplW2RdPWMoZCk7aWYoZD09PWwubmIpcmV0dXJuIGwua2E7ZD09bnVsbCYmKGY9ITApfWlmKGYpcmV0dXJuIG51bGx9Yj1oYmFbYl07cmV0dXJuIHR5cGVvZiBiPT09Im51bWJlciI/YjpudWxsfTsKamJhPWZ1bmN0aW9uKGEsYil7Yj1fLmdCKGEudG9Mb3dlckNhc2UoKSxiLCgpPT57dGhyb3cgXy5VdShFcnJvcigibWMiKSw0LGEudG9Mb3dlckNhc2UoKSk7fSk7cmV0dXJuIGI9PT1udWxsP251bGw6aWJhW2JdPz9udWxsfTtrYmE9ZnVuY3Rpb24oYSxiLGMpe2lmKGM9PT1udWxsfHxjPT09dm9pZCAwKXJldHVybiBjO2I9Yi50b0xvd2VyQ2FzZSgpO2E9amJhKGEsYik7cmV0dXJuIGE9PT1udWxsP2M6YShiLGMpfTtoQj1mdW5jdGlvbihhLGIpe3ZhciBjPVdhYShiKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18uaUI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQWEoYSk/Im5vZGVUeXBlImluIGE6ITF9O18uakI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uaUIoYSkmJmEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERX07a0I9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpfTsKbEI9ZnVuY3Rpb24oYSl7YT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSkpO2EuX2lzU2lnbmFsVGV4dE5vZGU9ITA7cmV0dXJuIGF9O18ub0I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJmEuR2k9PT1fLm1CfHxhIGluc3RhbmNlb2YgXy5mYnx8bkIoYSl9O18ucEI9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobkIoYSkmJkJBKGEpKV8uekEoYixCQShhKSk7ZWxzZSBpZihhIGluc3RhbmNlb2YgXy5mYilfLnpBKGIsYSk7ZWxzZSBpZihhIT1udWxsJiZhLkdpPT09Xy5tQil7aWYoYS5HaSE9PV8ubUIpdGhyb3cgRXJyb3IoIk5hIik7YT1fLmdiKGEudG9TdHJpbmcoKSk7Xy56QShiLGEpfWZvcihsZXQgYyBvZiBiLmNoaWxkTm9kZXMpYy5faXNTYWZlT3JTYW5pdGl6ZWRIdG1sTm9kZT0hMDtyZXR1cm4gYn07Cl8ucUI9ZnVuY3Rpb24oYSl7YT10eXBlb2YgYTtyZXR1cm4gYT09PSJzdHJpbmcifHxhPT09Im51bWJlciJ8fGE9PT0iYm9vbGVhbiJ9O3JCPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5TYXx8Xy5YYShhKXx8ITF9O3NCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5wYXJlbnRFbGVtZW50O2lmKCFjKXJldHVybiBiO18uakIoYikmJk9BKGMsYik7Yy5yZXBsYWNlQ2hpbGQoYixhKTtyZXR1cm4gYn07dEI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hWzBdLnBhcmVudEVsZW1lbnQ7aWYoYylpZihhWzBdLnByZXZpb3VzU2libGluZ3x8YVthLmxlbmd0aC0xXS5uZXh0U2libGluZyl7Yy5pbnNlcnRCZWZvcmUoYixhWzBdKTtmb3IobGV0IGQ9YS5sZW5ndGgtMTtkPj0wO2QtLSljLnJlbW92ZUNoaWxkKGFbZF0pfWVsc2UgYy50ZXh0Q29udGVudD0iIixjLmFwcGVuZENoaWxkKGIpO3JldHVybiBifTsKdUI9ZnVuY3Rpb24oYSxiKXtpZihhWzBdLnBhcmVudEVsZW1lbnQpe3ZhciBjPWFbMF0ucGFyZW50RWxlbWVudDtsZXQgZj1iLmxlbmd0aCxoPWEubGVuZ3RoLGs9ZixsPTAsbT0wLG49YVtoLTFdLm5leHRTaWJsaW5nLHA9bnVsbDtmb3IoO2w8aHx8bTxrOylpZihhW2xdPT09YlttXSlsKyssbSsrO2Vsc2V7Zm9yKDthW2gtMV09PT1iW2stMV07KWgtLSxrLS07aWYoaD09PWwpZm9yKHZhciBkPWs8Zj9tP2JbbS0xXS5uZXh0U2libGluZzpiW2stbV06bjttPGs7KXt2YXIgZT1iW20rK107Xy5qQihlKSYmT0EoYyxlKTtjLmluc2VydEJlZm9yZShlLGQpfWVsc2UgaWYoaz09PW0pZm9yKDtsPGg7KWQ9YVtsXSxwJiZwLmhhcyhkKXx8Yy5yZW1vdmVDaGlsZChkKSxsKys7ZWxzZSBpZihhW2xdPT09YltrLTFdJiZiW21dPT09YVtoLTFdKWQ9YVstLWhdLm5leHRTaWJsaW5nLGMuaW5zZXJ0QmVmb3JlKGJbbSsrXSxhW2wrK10ubmV4dFNpYmxpbmcpLGMuaW5zZXJ0QmVmb3JlKGJbLS1rXSxkKSwKYVtoXT1iW2tdO2Vsc2V7aWYoIXApZm9yKHA9bmV3IE1hcCxkPW07ZDxrOylwLnNldChiW2RdLGQrKyk7ZD1wLmdldChhW2xdKTtpZihkPT1udWxsKWMucmVtb3ZlQ2hpbGQoYVtsXSksbCsrO2Vsc2UgaWYobTxkJiZkPGspe2U9bDtsZXQgcj0xLHQ7Zm9yKDsrK2U8aCYmZTxrOyl7dD1wLmdldChhW2VdKTtpZih0PT1udWxsfHx0IT09ZCtyKWJyZWFrO3IrK31pZihyPmQtbSlmb3IoZT1hW2xdO208ZDspYy5pbnNlcnRCZWZvcmUoYlttKytdLGUpO2Vsc2UgYy5yZXBsYWNlQ2hpbGQoYlttKytdLGFbbCsrXSl9ZWxzZSBsKyt9fX1yZXR1cm4gYn07dkI9ZnVuY3Rpb24oYSl7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGE/LnBhcmVudEVsZW1lbnQ7Zm9yKGxldCBiIG9mIGEpaWYoYT12QihiKSlyZXR1cm4gYTtyZXR1cm4gbnVsbH07d0I9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLl9kaXNwb3NlRWZmZWN0czthLl9kaXNwb3NlRWZmZWN0cz1jPygpPT57YygpO2IoKX06Yn07Cl8uekI9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBjPT09ImJvb2xlYW4iJiZsYmEuaGFzKGIpKV8uUUEoYSxiLFN0cmluZyhjKSk7ZWxzZSBpZihjPT09ITEmJm1iYS5oYXMoYikpXy5RQShhLGIsbnVsbCk7ZWxzZSBpZihiIT09Imlkb21LZXkiJiZiIT09InNraXAiJiZiIT09InNraXBjaGlsZHJlbiImJmIhPT0iY2hpbGRyZW4iJiZiIT09ImVsIilpZihiLnN0YXJ0c1dpdGgoIm9uIikpe2lmKGJbMl0hPT0iOiIpdGhyb3cgXy5VdShFcnJvcigibGNgIitiKSw0LGEudGFnTmFtZSk7bGV0IGY9Yi5zbGljZSgzKTt2YXIgZD1fLkhBKCk7aWYoYz09PXZvaWQgMClkfHxmPT09ImpzYWN0aW9uInx8eEIuaW5jbHVkZXMoZil8fChhW2BvbiR7Zn1gXT1udWxsKTtlbHNlIGlmKGY9PT0ianNhY3Rpb24iKXtjPUFycmF5LmlzQXJyYXkoYyk/YzpbY107Zm9yKGxldCBoIG9mIGMpe2lmKHR5cGVvZiBoIT09Im9iamVjdCJ8fGg9PT1udWxsfHx0eXBlb2YgaC5xbiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoInNjYCIrCmIpO2gucW4oMCxhLGQ/Xy5ZdTooKT0+e30pfX1lbHNle2lmKHR5cGVvZiBjPT09ImZ1bmN0aW9uIil7ZHx8YVtlQl0hPT12b2lkIDB8fChhW2VCXT0hMSx3QihhLCgpPT57YVtlQl09ITB9KSk7dmFyIGU9Z2JhKGMsIWQpfWVsc2V7bmJhKGIsYyk7aWYoYy5xbil7Yy5xbigwLGEsZixkP18uWXU6KCk9Pnt9KTtyZXR1cm59ZT1jLlVwKDApfWlmKGQmJmFbYG9uJHtmfWBdPT09dm9pZCAwKWEuYWRkRXZlbnRMaXN0ZW5lcihmLGUpLF8uWXUoKCk9PnZvaWQgYS5yZW1vdmVFdmVudExpc3RlbmVyKGYsZSkpO2Vsc2UgaWYoZHx8IXhCLmluY2x1ZGVzKGYpKWFbYG9uJHtmfWBdPWV9fWVsc2V7aWYoYi5zdGFydHNXaXRoKCJkYXRhLSIpJiZ0eXBlb2YgYz09PSJzdHJpbmciKXRyeXtjPWZiYShjKX1jYXRjaChmKXtjPSJ6U295eiJ9dHlwZW9mIGMhPT0iZnVuY3Rpb24ifHxhLl9kaXNwb3NlRWZmZWN0cyE9bnVsbD8oKGQ9Yi5zdGFydHNXaXRoKCJwcm9wOiIpKSYmKGI9Yi5zbGljZSg1KSksYj09PQoic3R5bGUiP18uSEEoKT90eXBlb2YgYz09PSJvYmplY3QiJiZjIT09bnVsbD9vYmEoYSxjKTp5QihhLGIsYyk6eUIoYSxiLGMpOihfLkt1Lnl2JiYoZCYmcGJhKGEudGFnTmFtZSl8fChjPWtiYShhLnRhZ05hbWUsYixjKSkpLGQ/YVtiXT1jOnFiYShhLGIsYykpKTooYS5fc2lnbmFsUHJvcHN8fChhLl9zaWduYWxQcm9wcz1bXSksYS5fc2lnbmFsVmFsdWVzfHwoYS5fc2lnbmFsVmFsdWVzPVtdKSxhLl9zaWduYWxQcm9wcy5wdXNoKGIpKX19O18uQUI9ZnVuY3Rpb24oYSxiLHtsajpjfT17fSl7aWYoYj8uZWwpe2xldCBkPWIuZWw7ZC5tej8uKGEpO2EuX2Rpc3Bvc2VSZWZ8fChhLl9kaXNwb3NlUmVmPSgpPT57ZC51ej8uKCk7ZGVsZXRlIGEuX2Rpc3Bvc2VSZWZ9LGMmJl8uWXUoKCk9PnthLl9kaXNwb3NlUmVmPy4oKX0pKX19OwpuYmE9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYiE9PSJvYmplY3QifHxiPT09bnVsbCl0aHJvdyBfLlV1KEVycm9yKCJxY2AiK2ErImAiK3R5cGVvZiBiKSw0KTtpZih0eXBlb2YgYi5VcCE9PSJmdW5jdGlvbiIpdGhyb3cgXy5VdShFcnJvcigicmNgIithKyJgIitPYmplY3Qua2V5cyhiKSksNCk7fTtwYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoPjAmJmEuaW5jbHVkZXMoIi0iKSYmIXJiYS5pbmNsdWRlcyhhLnRvTG93ZXJDYXNlKCkpfTsKb2JhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5adCxkPWFbQkJdLGU9YVtDQl07aWYoZSlmb3IodmFyIGYgb2Ygc2JhKGUsYikpREIoZCxmKSxFQihhLnN0eWxlLGYsbnVsbCk7ZT1uZXcgU2V0O2ZvcihsZXQgaCBpbiBiKXtpZighYi5oYXNPd25Qcm9wZXJ0eShoKSljb250aW51ZTtlLmFkZChoKTtsZXQgaz1iW2hdO2lmKHR5cGVvZiBrPT09ImZ1bmN0aW9uIiYmYyl7aWYoIWQpe2Q9bmV3IE1hcDtsZXQgbD1hW0JCXT1kO3dCKGEsKCk9Pntmb3IobGV0IG0gb2YgbC52YWx1ZXMoKSltKCk7bC5jbGVhcigpfSl9REIoZCxoKTtmPV8udXYoKCk9PntfLnR2KCgpPT57dmFyIGw9aygpO0VCKGEuc3R5bGUsaCxsKX0sIlFEekhKZSIpfSk7ZC5zZXQoaCxmKX1lbHNlIERCKGQsaCksRUIoYS5zdHlsZSxoLGspfWFbQ0JdPWV9OwpFQj1mdW5jdGlvbihhLGIsYyl7Yz09bnVsbHx8Yz09PSExP2Iuc3RhcnRzV2l0aCgiLS0iKXx8Yi5pbmNsdWRlcygiLSIpP2EucmVtb3ZlUHJvcGVydHkoYik6YVtiXT0iIjpiLnN0YXJ0c1dpdGgoIi0tIil8fGIuaW5jbHVkZXMoIi0iKT9hLnNldFByb3BlcnR5KGIsU3RyaW5nKGMpKTphW2JdPWN9O3NiYT1mdW5jdGlvbihhLGIpe3JldHVybiBmdW5jdGlvbiooKXtmb3IobGV0IGMgb2YgYSljIGluIGJ8fCh5aWVsZCBjKX0oKX07REI9ZnVuY3Rpb24oYSxiKXtpZihhKXt2YXIgYz1hLmdldChiKTtjJiYoYygpLGEuZGVsZXRlKGIpKX19O0ZCPWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiYiX193aXpfUnFNWU0iaW4gYX07Xy5HQj1mdW5jdGlvbihhKXtyZXR1cm4gRkIoYSk/YS5fX3dpel9ScU1ZTS5RZTphfTtIQj1mdW5jdGlvbihhLGIsLi4uYyl7Yj1iPz97fTtyZXR1cm57dHlwZTphLHByb3BzOmIsY2hpbGRyZW46YyxbXy5Mdl06ITB9fTtfLklCPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNoaWxkcmVufTsKXy5MQj1mdW5jdGlvbihhKXt2YXIgYj1KQiE9PUhCO0pCPWE/Xy5LQjpIQjtyZXR1cm4gYn07dGJhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5DQSgxKSxiPV8uY3UoYSxfLk1CKTtpZighXy5idShiKSlyZXR1cm4gYjthPV8uY3UoYSxfLk5CKTtpZighXy5idShhKSlyZXR1cm4gYS5udygpfTtfLlBCPWZ1bmN0aW9uKGEsYil7Yj09bnVsbCYmKGI9KF8uT0Iuc3Y/P2RvY3VtZW50KS5fX3dpemRpc3BhdGNoZXIuYUooKSk7Yi5nZXQoXy5GdCkuby5kaXNwYXRjaEV2ZW50KG5ldyBfLkh0KGEsXy5tQikpfTsKdWJhPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2lmKGEubGVuZ3RoPjEpdGhyb3cgXy5VdShFcnJvcigidmNgIithLmxlbmd0aCsiYCIrYS5tYXAoUUIpLmpvaW4oIiwgIikpLDQsIlNDUklQVCIpO2E9YVswXX1pZihhPT1udWxsKXJldHVybiBudWxsO2lmKCEoYSBpbnN0YW5jZW9mIF8uamIpKXtpZih3aW5kb3c/LnRydXN0ZWRUeXBlcz8uaXNTY3JpcHQoYSkpdGhyb3cgRXJyb3IoInVjIik7aWYoU3RyaW5nKGEpLnRyaW0oKS5sZW5ndGg9PT0wKXJldHVybiBudWxsO3Rocm93IEVycm9yKCJ3Y2AiK1FCKGEpKTt9cmV0dXJuIGF9O3ZiYT1mdW5jdGlvbihhLGIpe2I9dWJhKGIpO2IhPT1udWxsJiZfLm5iKGEsYil9OwpfLlJCPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2lmKGEubGVuZ3RoPjEpdGhyb3cgXy5VdShFcnJvcigieGNgIithLmxlbmd0aCsiYCIrYS5tYXAoUUIpLmpvaW4oIiwgIikpLDQsIlNUWUxFIik7YT1hWzBdfWlmKGE9PW51bGx8fFN0cmluZyhhKS50cmltKCkubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt0aHJvdyBFcnJvcigieWNgIitRQihhKSk7fTtRQj1mdW5jdGlvbihhKXtyZXR1cm5gKCR7dHlwZW9mIGF9KSAke2EhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCI/YS5jb25zdHJ1Y3Rvci5uYW1lOnR5cGVvZiBhfSAke2F9YH07U0I9ZnVuY3Rpb24oKXt9O1RCPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9OwpfLlhCPWZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9VUIoKSxkPSEwLGUsZj0hIV8uS3UuSnE7ZiYmKGU9dGJhKCkpO18udHYoKCk9Pnt2YXIgaD0hZCYmYi5XZSYmZixrPWg/dkIoY1swXSk6dm9pZCAwO2Q9ITE7Yi5XZSYmXy5ndisrO3ZhciBsPWNbMF0sbT1jLl9fd2l6X1JxTVlNLlFlLG49Xy5MQighMCk7dHJ5e2xldCB2O3RyeXt2PWEoKX1jYXRjaChGKXtfLm92KEYpLHY9a0IoKX1sZXQgej13YmEobCx2LGMpLEU9Xy5WQi52eSh6KT8/ejtBcnJheS5pc0FycmF5KEUpfHwoYy5fX3dpel9ScU1ZTS5RZT1bRV0pO2xldCBBPWMuX193aXpfUnFNWU0uUWU7aWYobSYmKCFBcnJheS5pc0FycmF5KG0pfHxtLmxlbmd0aCE9PTApKXt2YXIgcD1BcnJheS5pc0FycmF5KG0pP21bMF06bSxyPXBbXy5XQl0sdD1wLl9kaXNwb3NlRWZmZWN0cztwLl9kaXNwb3NlRWZmZWN0cz12b2lkIDA7cD1BcnJheS5pc0FycmF5KEEpP0FbMF06QTtwW18uV0JdPXI7cFtfLldCXSYmKHBbXy5XQl0uVXE9cD09PUE/CjE6QS5sZW5ndGgpO3AuX2Rpc3Bvc2VFZmZlY3RzPXR9Y1swXT1FO2IuV2UmJl8uSUEoITEpfWNhdGNoKHYpe3Rocm93IGIuV2UmJl8uSUEoITApLF8uVXUodiw0KTt9ZmluYWxseXtfLkxCKG4pfWgmJl8uUEIoayxlKX0sYi5kZWJ1Z05hbWUpO3JldHVybiBjfTsKd2JhPWZ1bmN0aW9uKGEsYixjKXtmb3IoO3R5cGVvZiBiPT09ImZ1bmN0aW9uIjspYj1iKCk7aWYoYj8uW18uTHZdKXRocm93IF8uVXUoRXJyb3IoInpjYCIrYi50eXBlPy5aYyksNCxiLnR5cGU/LlpjKTtpZihhPT1udWxsKXJldHVybiBiPT1udWxsP2tCKCk6Xy5xQihiKT9sQihiKTpyQihiKT9sQihiLnRvU3RyaW5nKCkpOl8uaUIoYik/YjpiLmxlbmd0aD09PTA/a0IoKTpZQihiLGMpO2lmKF8uaUIoYSkpe2lmKGI9PW51bGwpcmV0dXJuIHNCKGEsa0IoKSk7aWYoXy5xQihiKSlyZXR1cm4gYUMoYSxiKTtpZihyQihiKSlyZXR1cm4gYUMoYSxiLnRvU3RyaW5nKCkpO2lmKF8uaUIoYikpcmV0dXJuIHNCKGEsYik7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBzQihhLGtCKCkpO2I9WUIoYixjKTt1QihbYV0sYy5fX3dpel9ScU1ZTS5RZSk7cmV0dXJuIGJ9YT1fLmJDKGEpO2lmKGI9PW51bGwpcmV0dXJuIHRCKGEsa0IoKSk7aWYoXy5xQihiKSlyZXR1cm4gdEIoYSxsQihiKSk7aWYockIoYikpcmV0dXJuIHRCKGEsCmxCKGIudG9TdHJpbmcoKSkpO2lmKF8uaUIoYikpcmV0dXJuIHVCKGEsW2JdKVswXTtpZihiLmxlbmd0aD09PTApcmV0dXJuIHRCKGEsa0IoKSk7Yj1ZQihiLGMpO3VCKGEsYy5fX3dpel9ScU1ZTS5RZSk7cmV0dXJuIGJ9O2FDPWZ1bmN0aW9uKGEsYil7YS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFP2EudGV4dENvbnRlbnQhPT1TdHJpbmcoYikmJihhLnRleHRDb250ZW50PVN0cmluZyhiKSk6YT1zQihhLGxCKGIpKTtyZXR1cm4gYX07Xy5iQz1mdW5jdGlvbihhLGIsYz0hMSl7cmV0dXJuIGNDKGEsYj8/W10sYyl9O1lCPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5iQyhhLHZvaWQgMCwhMCk7aWYoYy5sZW5ndGg9PT0wKXJldHVybiBrQigpO2IuX193aXpfUnFNWU0uUWU9YztyZXR1cm4gYX07CmNDPWZ1bmN0aW9uKGEsYj1bXSxjPSExLGQsZT0tMSl7aWYoYT09bnVsbClyZXR1cm4gYjtpZighQXJyYXkuaXNBcnJheShiKSYmXy5qQihiKSlzd2l0Y2goXy5qQihhKSYmT0EoYixhKSxiLnRhZ05hbWUpe2Nhc2UgIlNDUklQVCI6dmJhKGIsYSk7cmV0dXJuO2Nhc2UgIlNUWUxFIjppZihfLlJCKGEpIT09bnVsbCl0aHJvdyBFcnJvcigiaCIpO3JldHVybn1pZihBcnJheS5pc0FycmF5KGEpKXtmb3IodmFyIGY9MDtmPGEubGVuZ3RoO2YrKyljQyhhW2ZdLGIsYyxhLGYpO3JldHVybiBifWlmKGEgaW5zdGFuY2VvZiBfLmRDKXJldHVybiBmPWEub2MoKSxjQyhmLGIsYyxkLGUpO2lmKF8ucUIoYSkpcmV0dXJuIGE9bEIoYSksZCYmYyYmKGRbZV09YSksZUMoYixhKTtpZihfLm9CKGEpKXtjPV8ucEIoYSk7Zm9yKGM9Yy5maXJzdENoaWxkO2M7KWY9Yy5uZXh0U2libGluZyxlQyhiLGMpLGM9ZjtyZXR1cm4gYn1pZihyQihhKSlyZXR1cm4gYT1sQihhLnRvU3RyaW5nKCkpLGQmJmMmJihkW2VdPQphKSxlQyhiLGEpO2lmKF8uaUIoYSkpcmV0dXJuIGVDKGIsYSk7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXtmPV8uWEIoKCk9Pnt2YXIgaz1hKCk7aWYoaz09bnVsbHx8Xy5xQihrKSlyZXR1cm4gaztpZihfLm9CKGspKXJldHVybiBrPV8ucEIoayksQXJyYXkuZnJvbShrLmNoaWxkTm9kZXMpO3Rocm93IF8uVXUoRXJyb3IoIkFiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikrImAiK3R5cGVvZiBrKSw0KTt9LHtkZWJ1Z05hbWU6InFtRjJuZSIsenA6YX0pWzBdO2lmKEFycmF5LmlzQXJyYXkoZikpe2Zvcih2YXIgaCBvZiBmKWVDKGIsaCk7cmV0dXJuIGJ9ZCYmYyYmKGRbZV09Zik7cmV0dXJuIGVDKGIsZil9aWYoYT8uW18uTHZdKXtkPWE7ZT1fLkxCKCEwKTtoPUpCO3RyeXtmPWgoZC50eXBlLGQucHJvcHMsLi4uZC5jaGlsZHJlbil9ZmluYWxseXtfLkxCKGUpfXJldHVybiBjQyhmLGIsYyl9dGhyb3cgXy5VdShFcnJvcigiQWMiKSw0KTt9OwpVQj1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3QuYXNzaWduKFtdLHtfX3dpel9ScU1ZTTp7UWU6W119fSk7aWYoIWEpcmV0dXJuIGI7YlswXT1ZQihhLGIpO3JldHVybiBifTtlQz1mdW5jdGlvbihhLGIpe0FycmF5LmlzQXJyYXkoYSk/YS5wdXNoKGIpOmEuYXBwZW5kQ2hpbGQoYik7cmV0dXJuIGF9O18uZkM9ZnVuY3Rpb24oYSl7aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKGxldCBiPTA7YjxhLmxlbmd0aDtiKyspYVtiXT1fLmZDKGFbYl0pO3JldHVybiBhfXJldHVybiBhIGluc3RhbmNlb2YgXy5kQz8oYT1hLm9jKCksXy5mQyhhKSk6YX07Cl8uZ0M9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9Xy5GQShhKSxmPWw9PntkPWw7dmFyIG09Xy5MQighMCksbj1fLmt1KF8uenYpO3RyeXtjPV8uZkMoYShiKSl9ZmluYWxseXtfLmt1KG4pLF8uTEIobSl9IUFycmF5LmlzQXJyYXkoYykmJl8uRnUobCl9O2U9Xy5LdS5HcD9oQihmLGUpOl8udXYoZixfLkt1LnJpfHwhIV8uWnQpO2lmKCFiLmpuKXtmPV8uJHQoZCk7dHJ5e3JldHVybigwLF8udnYpKGEsYixjKSxjfWZpbmFsbHl7Xy4kdChmKX19IUZCKGMpJiZBcnJheS5pc0FycmF5KGMpJiYoYz1VQihjKSk7dmFyIGg9Xy5HQihjKTtmPUFycmF5LmlzQXJyYXkoaCk/aFswXTpoO3ZhciBrPSExO2lmKGYpe2xldCBsPWI/Lmlkb21LZXk/P2EsbT1oIT09ZjtmLl9kaXNwb3NlRWZmZWN0cz1lO2xldCBuPWZbXy5XQl18fHt9LHA9RkIoYyk/YzpuLnluO09iamVjdC5hc3NpZ24obix7a2V5OmwsVXE6bT9oLmxlbmd0aDoxLG93bmVyOmQsbEo6ISFmW18uV0JdLHluOnB9KTtmW18uV0JdPW59ZWxzZSBrPQohMDsoKCk9Pnt2YXIgbD1fLiR0KGQpO3RyeXsoMCxfLnZ2KShhLGIsaCl9ZmluYWxseXtfLiR0KGwpfX0pKCk7ayYmZSgpO3JldHVybiBjfTtoQz1mdW5jdGlvbihhLGIpe2lmKCFhLnYmJmIpe2Eudj0hMDt0cnl7YS5IZigpfWNhdGNoKGMpe18uS3UuaGFuZGxlRXJyb3I/LiguLi5fLkpBKGMsYS5qPy5aYykpfV8uYncuSGYoYSk7YS5lbD1udWxsO2IuX19pbnN0YW5jZSYmZGVsZXRlIGIuX19pbnN0YW5jZX19O18uakM9ZnVuY3Rpb24oYSxiLGM9ITEpe2EuX3NpZ25hbFByb3BzIT1udWxsJiZhLl9kaXNwb3NlRWZmZWN0cz09bnVsbCYmKGM/YS5fZGlzcG9zZUVmZmVjdHM9Xy51digoKT0+dm9pZCBpQyhhLGIpLF8uS3Uucml8fCEhXy5adCk6aUMoYSxiKSl9OwppQz1mdW5jdGlvbihhLGIpe18udHYoKCk9Pnt2YXIgYz1hLl9zaWduYWxQcm9wcyxkPWEuX3NpZ25hbFZhbHVlcztmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXSxoPWJbZl0oKTtkW2VdIT09aCYmKGRbZV09aCxfLnpCKGEsZixoKSl9fSwiZTNZVmJiIil9O18ubEM9ZnVuY3Rpb24oYSxiLC4uLmMpe2I/PyhiPXt9KTtyZXR1cm4gXy5IQSgpfHxfLk11PT1udWxsP25ldyB4YmEoYSxiLGMpOmtDKGEsYixjKX07CmtDPWZ1bmN0aW9uKGEsYixjKXtpZihhPT09Xy5JQilyZXR1cm4gYztpZih0eXBlb2YgYT09PSJmdW5jdGlvbiIpcmV0dXJuIF8uTXUmJiFfLkhBKCkmJihiLmpuPSEwKSxfLkdBKGEsKCk9PntjLmxlbmd0aD4wJiYoYi5jaGlsZHJlbj1jLmxlbmd0aD09PTE/Y1swXTpjKTtpZihhLmNvbXBvbmVudFR5cGU9PT1fLkt2KXtsZXQgZTtoQigoKT0+e3ZhciBmPWI7aWYoYS5jb21wb25lbnRUeXBlIT09Xy5LdillPSExO2Vsc2V7Znx8KGY9e30pO3ZhciBoPW5ldyBfLm1DKGYsYSksaz1fLmt1KF8uenYpO3RyeXt2YXIgbD1oLm9jKGYpfWZpbmFsbHl7Xy5rdShrKX1sIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/KGwuX19pbnN0YW5jZT1oLGguZWw9bCxoLmo9YSxhLlpjPWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpLF8uYncuR2YoaCksZT1sKTplPWx9fSxhLm5hbWUpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIF8uZ0MoYSxiKX0sYi5kZWJ1Z0luc3RhbmNlKTt2YXIgZD15YmEoYSxiKTtmb3IobGV0IGUgaW4gYilfLnpCKGQsCmUsYltlXSk7Xy5qQyhkLGIpO18uYkMoYyxkKTtfLkFCKGQsYix7bGo6ITB9KTsoMCxfLnh2KShkLGIpO3JldHVybiBkfTt5YmE9ZnVuY3Rpb24oYSxiKXthPShOQS5oYXMoYS50b0xvd2VyQ2FzZSgpKT8wOk1BLmhhcyhhLnN0YXJ0c1dpdGgoInN2ZzoiKT9hLnJlcGxhY2UoInN2ZzoiLCIiKTphKSk/ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsYS5zdGFydHNXaXRoKCJzdmc6Iik/YS5yZXBsYWNlKCJzdmc6IiwiIik6YSk6KDAsXy53dikoYSxiKXx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhKTthW18ubkNdPSEwO3JldHVybiBhfTsKXy5wQz1mdW5jdGlvbihhKXtpZihhKXthLl9kaXNwb3NlUmVmPy4oKTthLl9kaXNwb3NlRWZmZWN0cz8uKCk7aWYoYS5fX2luc3RhbmNlJiZhLl9faW5zdGFuY2UgaW5zdGFuY2VvZiBvQyl7dmFyIGI9YS5fX2luc3RhbmNlO2hDKGIsYSk7YiBpbnN0YW5jZW9mIF8ubUMmJmIuRCgpfWZvcihiPTA7YjxhLmNoaWxkTm9kZXMubGVuZ3RoO2IrKylfLnBDKGEuY2hpbGROb2Rlc1tiXSl9fTt6YmE9ZnVuY3Rpb24oYSl7cUMucHVzaChhKT09PTEmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9Pnt2YXIgYj1bLi4ucUNdO3FDPVtdO2ZvcihsZXQgYyBvZiBiKXRyeXtmb3IoYj0wO2I8Yy5sZW5ndGg7YisrKV8ucEMoY1tiXSl9Y2F0Y2goZCl7Xy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoZCkpfX0pfSl9O18uSz1mdW5jdGlvbihhLGIsLi4uYyl7cmV0dXJuIEpCKGEsYiwuLi5jKX07Xy5yQz1mdW5jdGlvbihhKXt2YXIgYj1fLmt1KF8ueXYpO3RyeXthKCl9ZmluYWxseXtfLmt1KGIpfX07CkFiYT1mdW5jdGlvbihhKXtyZXR1cm4gYX07c0M9ZnVuY3Rpb24oYSxiLGM9IiIpe2Z1bmN0aW9uIGQoKXtyZXR1cm4gZSgpfXZhciBlPXR5cGVvZiBhPT09ImZ1bmN0aW9uIj9EQShhLEFiYSxiPy5lcXVhbHMpOkRBKGEuc291cmNlLGEuVGcsYj8uZXF1YWxzKTt2YXIgZj1lW18uWnVdO2YuZGVidWdOYW1lPV8uZXUoYj8uZGVidWdOYW1lLGMsIltsaW5rZWRTaWduYWxdIik7ZFtfLlp1XT1mO3JldHVybltkLGg9PntfLnJ1KGYpO18ueXUoZixoKTtmLlBiPSExO2Yucmo9Xy5tdX0saD0+e18ucnUoZik7aWYoZi52YWx1ZT09PV8uSXYpdGhyb3cgZi5lcnJvcjtfLmp1Py5MZSE9PSExfHxfLnd1KGYpO18ueXUoZixoKGYudmFsdWUpKTtmLlBiPSExO2Yucmo9Xy5tdX1dfTtfLnVDPWZ1bmN0aW9uKCl7dEN8fCh0Qz17T2M6ITEsVXk6MCxzdGFjazpbXSxzZXNzaW9uSWQ6IiIsZGg6dm9pZCAwLHByb2Nlc3NvcnM6W10sV2g6KCk9PiEwfSk7cmV0dXJuIHRDfTsKdkM9ZnVuY3Rpb24oKXt2YXIgYT1fLnVDKCk7cmV0dXJuIGEuc3RhY2tbYS5zdGFjay5sZW5ndGgtMV19O18ud0M9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51QygpO3JldHVybiBiLk9jP2IuZGg/Yi5kaFthXTohMDohMX07RGJhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy53QyhhKSYmXy51QygpLldoKGEsYixCYmEpP25ldyBDYmEoYSxiLGMpOnhDfTsKXy55Qz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGM9PT0iZnVuY3Rpb24iKXt2YXIgZD1jO2M9dm9pZCAwfXZhciBlPURiYShhLGIsYyk7aWYoYz8uZW5kVGltZSE9bnVsbClyZXR1cm4gZCYmXy5JcChFcnJvcigiRWMiKSksZTtlIT09eEMmJmM/LmFjdGl2ZSE9PSExJiZfLnVDKCkuc3RhY2sucHVzaChlKTtpZighZClyZXR1cm4gZTtpZihlPT09eEMpcmV0dXJuIGQoZSk7dHJ5e2xldCBmPWQoZSk7aWYoZiBpbnN0YW5jZW9mIFByb21pc2UpcmV0dXJuIGYudGhlbihoPT57ZS5lbmQoKTtyZXR1cm4gaH0saD0+e2UuZW5kKCJTUEFOX1NUQVRVU19FUlJPUiIpO3Rocm93IGg7fSk7ZS5lbmQoKTtyZXR1cm4gZn1jYXRjaChmKXt0aHJvdyBlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKSxmO319Owp6Qz1mdW5jdGlvbihhLGIsYyxkKXthIGluc3RhbmNlb2YgRWxlbWVudCYmKGMuZGVidWdOYW1lfHwoYy5kZWJ1Z05hbWU9YDwke2EudGFnTmFtZS50b0xvd2VyQ2FzZSgpfWArKGEudGFnTmFtZS5pbmNsdWRlcygiLSIpPyI+IjpgLiR7YS5jbGFzc05hbWV9PmApKSxfLngoInl0d2l6X2VuYWJsZV9kZWJ1Z19jb21wb25lbnRfcHJvcHMiKSYmKGEuZGVidWdQcm9wc3x8KGEuZGVidWdQcm9wcz1BQShiLGU9PigpPT5lKCkpKSxiLmRhdGE9PT12b2lkIDB8fCJkYXRhImluIGEmJiFhLmlzV2ViQ29tcG9uZW50V3JhcHBlcnx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGEuZGVidWdQcm9wcywiZGF0YSIse2dldDooKT0+Xy5CdihiLmRhdGEpLHNldDplPT57ZD8uZGF0YT8uKGUpfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pKSl9OwpfLkFDPWZ1bmN0aW9uKGEsYil7aWYoYS5sZW5ndGg9PT0wJiYhYj8uaW5pdGlhbClyZXR1cm4gc0MoYSx7ZGVidWdOYW1lOmI/LmRlYnVnTmFtZX0sImgiKTt2YXIgW2MsZCxlXT1zQyh7c291cmNlOigpPT5hKCksVGc6KGYsaCk9Pmg/LnZhbHVlP2EoaC52YWx1ZSk6Yj8uaW5pdGlhbD9hKGIuaW5pdGlhbCk6Zn0se2RlYnVnTmFtZTpiPy5kZWJ1Z05hbWV9LCJpIik7cmV0dXJuW2MsZCxlXX07Cl8uTD1mdW5jdGlvbihhLGI9IiIpe3ZhciBjPWQ9Pl8ueUMoInl0Q29tcG9uZW50Iix7fSxlPT57dmFyIGY9QkM9e307aWYoYz8uaWRvbUNvbXBhdCYmZC5qbil7bGV0IFtrLGxdPUViYShkLHR5cGVvZiBjLmlkb21Db21wYXQ9PT0ib2JqZWN0Ij9jPy5pZG9tQ29tcGF0LmNhbGxiYWNrczp7fSk7dmFyIGg9Q0MoYSxkKTtmLkd6PWg7QkM9dm9pZCAwO3pDKGgsZCxjLGspO2UuRGUoe2RlYnVnTmFtZTpjLmRlYnVnTmFtZX0pO2U9Xy5HQihoKTtlPUFycmF5LmlzQXJyYXkoZSk/ZVswXTplO2VbXy5XQl18fChlW18uV0JdPXt9KTtlW18uV0JdLnFCPWw7Xy5DdihkLGgpO3JldHVybiBofWQ9QUEoZCxGYmEpO2g9Q0MoYSxkKTt6QyhoLGQsYyk7Zi5Hej1oO0JDPXZvaWQgMDtlLkRlKHtkZWJ1Z05hbWU6Yy5kZWJ1Z05hbWV9KTtfLkN2KGQsaCk7cmV0dXJuIGh9KTtjLmRlYnVnTmFtZT1iO3JldHVybiBjfTtDQz1mdW5jdGlvbihhLGIpe2E9YShiKTtyZXR1cm4gXy5mQyhhKX07CkZiYT1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09ImNoaWxkcmVuInx8Yj09PSJyZWYifHx0eXBlb2YgYT09PSJmdW5jdGlvbiJ8fGE9PT12b2lkIDA/YTooKT0+YX07R2JhPWZ1bmN0aW9uKGEsYil7cmV0dXJuKCk9Pl8uQnYoYSk/P2J9O18uREM9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYX07Zm9yKGxldCBkIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShkKSYmKGNbZF09R2JhKGFbZF0sYltkXSkpO3JldHVybiBjfTsKRWJhPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZD17fTtmb3IobGV0IGUgaW4gYSl7bGV0IGY9YVtlXTtpZihlIT09ImNoaWxkcmVuIiYmZSE9PSJyZWYiKWlmKHR5cGVvZiBmPT09ImZ1bmN0aW9uIilpZihlIGluIGJ8fGYubGVuZ3RoPjApZFtlXT1mLGFbZV09KC4uLmgpPT5kW2VdKC4uLmgpO2Vsc2V7aWYoZT09PSJkYXRhIil7bGV0IFtoLGtdPV8uQUMoZix7ZGVidWdOYW1lOmAke2V9OmN3aXNgfSk7YVtlXT1oO2NbZV09a319ZWxzZSBpZighKGFbZV09PT12b2lkIDAmJmUgaW4gYikpe2xldCBbaCxrXT1fLkooYVtlXSx7ZGVidWdOYW1lOmAke2V9OmN3aXNgfSwiVmJjZ0NkIik7YVtlXT1oO2NbZV09a319cmV0dXJuW2MsZnVuY3Rpb24oZSl7Zm9yKGxldCBmIGluIGUpe2xldCBoPWVbZl07ZiE9PSJjaGlsZHJlbiImJmYhPT0icmVmIiYmKHR5cGVvZiBoPT09ImZ1bmN0aW9uIj9mIGluIGI/ZFtmXT1oOmgubGVuZ3RoPjAmJihkW2ZdPWgsXy5JcChuZXcgXy5YaihIYmEsZikpKTpmIGluCmImJmg9PT12b2lkIDB8fChjW2ZdfHxfLkhwKG5ldyBfLlhqKEliYSxmKSksXy5yQygoKT0+e2NbZl0oaCl9KSkpfX1dfTsKVmFhPXsuLi5fLlh1LHZhbHVlOl8uR3YsUGI6ITAsZXJyb3I6bnVsbCxlcXVhbDpfLml1LGtpbmQ6ImxpbmtlZFNpZ25hbCIsWG0oYSl7cmV0dXJuIGEudmFsdWU9PT1fLkd2fHxhLnZhbHVlPT09Xy5Idn0sWW0oYSl7aWYoYS52YWx1ZT09PV8uSHYpdGhyb3cgRXJyb3IoImgiKTt2YXIgYj1hLnZhbHVlO2EudmFsdWU9Xy5Idjt2YXIgYz1fLnR1KGEpLGQ9ITE7dHJ5e2xldCBmPWEuc291cmNlKCksaD1iIT09Xy5HdiYmYiE9PV8uSXY7dmFyIGU9YS5UZyhmLGg/e3NvdXJjZTphLnNvdXJjZVZhbHVlLHZhbHVlOmJ9OnZvaWQgMCk7YS5zb3VyY2VWYWx1ZT1mO18ua3UobnVsbCk7ZD1oJiZlIT09Xy5JdiYmYS5lcXVhbChiLGUpfWNhdGNoKGYpe2U9Xy5JdixhLmVycm9yPWZ9ZmluYWxseXtfLmt1KGMpLGEmJl8udnUoYSl9ZD9hLnZhbHVlPWI6KGEudmFsdWU9ZSxhLnZlcnNpb24rKyl9fTtfLm1CPXt9O18uSXQucHJvdG90eXBlLmo9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50fTsKXy5JdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50fTtLQT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLmRDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5Dbz1udWxsfX07b0M9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5wcm9wcz1hO3RoaXMudj0hMX1HZigpe31KaSgpe31IZigpe31LaSgpe319O3RyeXtsZXQgYT13aW5kb3c/LnRvcD8/Xy51O2EuVTNiSEhmPz8oYS5VM2JISGY9MCk7YS5VM2JISGYrK31jYXRjaChhKXtfLnUuVTNiSEhmPz8oXy51LlUzYkhIZj0wKSxfLnUuVTNiSEhmKyt9O18uRkM9bmV3IFdlYWtNYXA7Xy5HQz1YYWEoKTt2YXIgbWJhPW5ldyBTZXQoImFsbG93ZnVsbHNjcmVlbiBhbGxvd3RyYW5zcGFyZW5jeSBhc3luYyBhdXRvZm9jdXMgYXV0b3BsYXkgY2hlY2tlZCBjb250cm9scyBkZWZhdWx0IGRlZmVyIGRpc2FibGVkIGRpc2FibGVyZW1vdGVwbGF5YmFjayBmb3Jtbm92YWxpZGF0ZSBoaWRkZW4gaW5lcnQgaXNtYXAgaXRlbXNjb3BlIGpzc2hhZG93IGpzc2xvdCBsb29wIG11bHRpcGxlIG11dGVkIG5vbW9kdWxlIG5vdmFsaWRhdGUgb3BlbiBwbGF5c2lubGluZSByZWFkb25seSByZXF1aXJlZCByZXZlcnNlZCBzY29wZWQgc2VhbWxlc3Mgc2VsZWN0ZWQgc29ydGFibGUgdHlwZW11c3RtYXRjaCIuc3BsaXQoIiAiKSksbGJhPW5ldyBTZXQoWyJjb250ZW50ZWRpdGFibGUiLCJkcmFnZ2FibGUiLCJzcGVsbGNoZWNrIl0pO3ZhciBNQT1uZXcgU2V0KCJhIGFsdEdseXBoIGFsdEdseXBoRGVmIGFsdEdseXBoSXRlbSBhbmltYXRlIGFuaW1hdGVDb2xvciBhbmltYXRlTW90aW9uIGFuaW1hdGVUcmFuc2Zvcm0gY2lyY2xlIGNsaXBQYXRoIGNvbG9yLXByb2ZpbGUgY3Vyc29yIGRlZnMgZGVzYyBlbGxpcHNlIGZlQmxlbmQgZmVDb2xvck1hdHJpeCBmZUNvbXBvbmVudFRyYW5zZmVyIGZlQ29tcG9zaXRlIGZlQ29udm9sdmVNYXRyaXggZmVEaWZmdXNlTGlnaHRpbmcgZmVEaXNwbGFjZW1lbnRNYXAgZmVEaXN0YW50TGlnaHQgZmVEcm9wU2hhZG93IGZlRmxvb2QgZmVGdW5jQSBmZUZ1bmNCIGZlRnVuY0cgZmVGdW5jUiBmZUdhdXNzaWFuQmx1ciBmZUltYWdlIGZlTWVyZ2UgZmVNZXJnZU5vZGUgZmVNb3JwaG9sb2d5IGZlT2Zmc2V0IGZlUG9pbnRMaWdodCBmZVNwZWN1bGFyTGlnaHRpbmcgZmVTcG90TGlnaHQgZmVUaWxlIGZlVHVyYnVsZW5jZSBmaWx0ZXIgZm9udCBmb250LWZhY2UgZm9udC1mYWNlLWZvcm1hdCBmb250LWZhY2UtbmFtZSBmb250LWZhY2Utc3JjIGZvbnQtZmFjZS11cmkgZm9yZWlnbk9iamVjdCBnIGdseXBoIGdseXBoUmVmIGhrZXJuIGltYWdlIGxpbmUgbGluZWFyR3JhZGllbnQgbWFya2VyIG1hc2sgbWV0YWRhdGEgbWlzc2luZy1nbHlwaCBtcGF0aCBwYXRoIHBhdHRlcm4gcG9seWdvbiBwb2x5bGluZSByYWRpYWxHcmFkaWVudCByZWN0IHNjcmlwdCBzZXQgc3RvcCBzdHlsZSBzdmcgc3dpdGNoIHN5bWJvbCB0ZXh0IHRleHRQYXRoIHRpdGxlIHRyZWYgdHNwYW4gdXNlIHZpZXcgdmtlcm4iLnNwbGl0KCIgIikpLApOQT1uZXcgU2V0KFsiYSIsImZvbnQiLCJzY3JpcHQiLCJzdHlsZSIsInRpdGxlIl0pLFlhYT1uZXcgU2V0KFsiZGVzYyIsImZvcmVpZ25PYmplY3QiLCJ0aXRsZSJdKTtfLlJBPXtkZWZhdWx0OiJfX2RlZmF1bHQifTt2YXIgWmFhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7UEEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCk7Xy5IQz1TQSgpO18uY0I9bnVsbDt2YXIgYmJhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY3JlYXRlZD1bXTt0aGlzLmRlbGV0ZWQ9W107dGhpcy5ub2RlPWF9fTt2YXIgY2JhPXR5cGVvZiBOb2RlIT09InVuZGVmaW5lZCImJk5vZGUucHJvdG90eXBlLmdldFJvb3ROb2RlfHxmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLGI9YTthOyliPWEsYT1hLnBhcmVudE5vZGU7cmV0dXJuIGJ9O18uV0E9bnVsbDtfLllBPW51bGw7Xy5VQT1udWxsO18uWkE9bnVsbDtfLiRBPVtdO18uYkI9VEE7Xy5hQj1bXTtfLklDPWZ1bmN0aW9uKGEpe3JldHVybiBlYmEoKGIsYyxkKT0+e18uVUE9Xy5ZQT1iO18uWUE9bnVsbDtjKGQpO18uWEEoKTtfLllBPV8uVUE7Xy5VQT1fLlVBLnBhcmVudE5vZGU7cmV0dXJuIGJ9LGEpfSgpO18uSkM9bmV3IFBBO1JlZ0V4cC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInN0aWNreSIpO3ZhciBlQj1TeW1ib2woImpjIik7dmFyIGhiYT17YWxpZ246MSxhbHQ6MSwiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjoxMCwiYXJpYS1hdG9taWMiOjEsImFyaWEtYXV0b2NvbXBsZXRlIjoxLCJhcmlhLWJ1c3kiOjEsImFyaWEtY2hlY2tlZCI6MSwiYXJpYS1jb250cm9scyI6MTAsImFyaWEtY3VycmVudCI6MSwiYXJpYS1kZXNjcmliZWRieSI6MTAsImFyaWEtZGlzYWJsZWQiOjEsImFyaWEtZHJvcGVmZmVjdCI6MSwiYXJpYS1leHBhbmRlZCI6MSwiYXJpYS1oYXNwb3B1cCI6MSwiYXJpYS1oaWRkZW4iOjEsImFyaWEtaW52YWxpZCI6MSwiYXJpYS1sYWJlbCI6MSwiYXJpYS1sYWJlbGxlZGJ5IjoxMCwiYXJpYS1sZXZlbCI6MSwiYXJpYS1saXZlIjoxLCJhcmlhLW11bHRpbGluZSI6MSwiYXJpYS1tdWx0aXNlbGVjdGFibGUiOjEsImFyaWEtb3JpZW50YXRpb24iOjEsImFyaWEtb3ducyI6MTAsImFyaWEtcG9zaW5zZXQiOjEsImFyaWEtcHJlc3NlZCI6MSwiYXJpYS1yZWFkb25seSI6MSwiYXJpYS1yZWxldmFudCI6MSwiYXJpYS1yZXF1aXJlZCI6MSwKImFyaWEtc2VsZWN0ZWQiOjEsImFyaWEtc2V0c2l6ZSI6MSwiYXJpYS1zb3J0IjoxLCJhcmlhLXZhbHVlbWF4IjoxLCJhcmlhLXZhbHVlbWluIjoxLCJhcmlhLXZhbHVlbm93IjoxLCJhcmlhLXZhbHVldGV4dCI6MSxhc3luYzo4LGF1dG9jYXBpdGFsaXplOjEsYXV0b2NvbXBsZXRlOjEsYXV0b2NvcnJlY3Q6MSxhdXRvZm9jdXM6MSxhdXRvcGxheToxLGJnY29sb3I6MSxib3JkZXI6MSxjZWxscGFkZGluZzoxLGNlbGxzcGFjaW5nOjEsY2hlY2tlZDoxLGNpdGU6MSwiY2xhc3MiOjEsY29sb3I6MSxjb2xzOjEsY29sc3BhbjoxLGNvbnRlbnRlZGl0YWJsZToxLGNvbnRyb2xzOjEsY29udHJvbHNsaXN0OjEsY29vcmRzOjEsY3Jvc3NvcmlnaW46MSxkYXRldGltZToxLGRpcjo4LGRpc2FibGVkOjEsZG93bmxvYWQ6MSxkcmFnZ2FibGU6MSxlbmN0eXBlOjEsZmFjZToxLCJmb3IiOjEwLGZvcm1lbmN0eXBlOjEsZnJhbWVib3JkZXI6MSxoZWlnaHQ6MSxoaWRkZW46MSxocmVmOjQsaHJlZmxhbmc6MSwKaWQ6MTAsaW5lcnQ6MSxpc21hcDoxLGl0ZW1pZDoxLGl0ZW1wcm9wOjEsaXRlbXJlZjoxLGl0ZW1zY29wZToxLGl0ZW10eXBlOjEsbGFiZWw6MSxsYW5nOjEsbGlzdDoxMCxsb2FkaW5nOjgsbG9vcDoxLG1heDoxLG1heGxlbmd0aDoxLG1lZGlhOjEsbWluOjEsbWlubGVuZ3RoOjEsbXVsdGlwbGU6MSxtdXRlZDoxLG5hbWU6MTAsbm9uY2U6MSxvcGVuOjEscGxhY2Vob2xkZXI6MSxwbGF5c2lubGluZToxLHBvc3RlcjoxLHByZWxvYWQ6MSxyZWw6MSxyZXF1aXJlZDoxLHJldmVyc2VkOjEscm9sZToxLHJvd3M6MSxyb3dzcGFuOjEsc2VsZWN0ZWQ6MSxzaGFwZToxLHNpemU6MSxzaXplczoxLHNsb3Q6MSxzcGFuOjEsc3BlbGxjaGVjazoxLHNyYzo0LHNyY3NldDoxMixzdGFydDoxLHN0ZXA6MSxzdHlsZTo1LHN1bW1hcnk6MSx0YWJpbmRleDoxLHRhcmdldDo4LHRpdGxlOjEsdHJhbnNsYXRlOjEsdHlwZToxLHVzZW1hcDoxLHZhbGlnbjoxLHZhbHVlOjEsd2lkdGg6MSx3cmFwOjF9LGZCPQp7YTp7aHJlZjpbe2thOjN9XX0sYXJlYTp7aHJlZjpbe2thOjN9XX0sYXVkaW86e3NyYzpbe2thOjN9XX0sYnV0dG9uOntmb3JtYWN0aW9uOlt7a2E6M31dLGZvcm1tZXRob2Q6W3trYToxfV19LGZvcm06e2FjdGlvbjpbe2thOjN9XSxtZXRob2Q6W3trYToxfV19LGlmcmFtZTp7c3JjZG9jOlt7a2E6Mn1dfSxpbWc6e3NyYzpbe2thOjN9XSxzcmNzZXQ6W3trYToxMX1dfSxpbnB1dDp7YWNjZXB0Olt7a2E6MX1dLGZvcm1hY3Rpb246W3trYTozfV0sZm9ybW1ldGhvZDpbe2thOjF9XSxwYXR0ZXJuOlt7a2E6MX1dLHJlYWRvbmx5Olt7a2E6MX1dLHNyYzpbe2thOjN9XX0sbGluazp7aHJlZjpbe2thOjMsaWI6InJlbCIsbmI6ImFsdGVybmF0ZSJ9LHtrYTozLGliOiJyZWwiLG5iOiJhdXRob3IifSx7a2E6MyxpYjoicmVsIixuYjoiYm9va21hcmsifSx7a2E6MyxpYjoicmVsIixuYjoiY2Fub25pY2FsIn0se2thOjMsaWI6InJlbCIsbmI6ImNpdGUifSx7a2E6MyxpYjoicmVsIixuYjoiaGVscCJ9LAp7a2E6MyxpYjoicmVsIixuYjoiaWNvbiJ9LHtrYTozLGliOiJyZWwiLG5iOiJsaWNlbnNlIn0se2thOjMsaWI6InJlbCIsbmI6Im5leHQifSx7a2E6MyxpYjoicmVsIixuYjoicHJlZmV0Y2gifSx7a2E6MyxpYjoicmVsIixuYjoiZG5zLXByZWZldGNoIn0se2thOjMsaWI6InJlbCIsbmI6InByZXJlbmRlciJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVjb25uZWN0In0se2thOjMsaWI6InJlbCIsbmI6InByZWxvYWQifSx7a2E6MyxpYjoicmVsIixuYjoicHJldiJ9LHtrYTozLGliOiJyZWwiLG5iOiJzZWFyY2gifSx7a2E6MyxpYjoicmVsIixuYjoic3VicmVzb3VyY2UifV19LHNjcmlwdDp7ZGVmZXI6W3trYToxfV19LHNvdXJjZTp7c3JjOlt7a2E6M31dLHNyY3NldDpbe2thOjExfV19LHRleHRhcmVhOntyZWFkb25seTpbe2thOjF9XX0sdmlkZW86e3NyYzpbe2thOjN9XX19O3ZhciBKYmE9L14oPyFqYXZhc2NyaXB0OikoPzpbYS16MC05Ky4tXSs6fFteJjpcLz8jXSooPzpbXC8/I118JCkpL2ksaWJhPXtbMV06bnVsbCxbMl06KGEsYik9PmIgaW5zdGFuY2VvZiBfLmZiP18ueUEoYik6Xy5GcS50b1N0cmluZygpLFszXTooYSxiKT0+Xy5YYShiKT9fLllhKGIpOkpiYS50ZXN0KFN0cmluZyhiKSk/U3RyaW5nKGIpOl8uRnEudG9TdHJpbmcoKSxbNF06KGEsYik9PmIgaW5zdGFuY2VvZiBfLlNhP18uVWEoYik6Xy5GcS50b1N0cmluZygpLFs1XTooYSxiKT0+U3RyaW5nKGIpLFs3XTpudWxsLFs4XTpudWxsLFsxMF06bnVsbH07Xy5LYmE9U3ltYm9sKCJuYyIpO3ZhciBuQj1fLkxBKCk7dmFyIEtDPVNBKCkscWJhPUtDW18uUkEuZGVmYXVsdF0seUI9S0Muc3R5bGUseEI9WyJmb2N1c2luIiwiZm9jdXNvdXQiXSxCQj1TeW1ib2woIm9jIiksQ0I9U3ltYm9sKCJwYyIpLHJiYT0iYW5ub3RhdGlvbi14bWwgY29sb3ItcHJvZmlsZSBmb250LWZhY2UgZm9udC1mYWNlLXNyYyBmb250LWZhY2UtdXJpIGZvbnQtZmFjZS1mb3JtYXQgZm9udC1mYWNlLW5hbWUgbWlzc2luZy1nbHlwaCIuc3BsaXQoIiAiKTt2YXIgSkI7SkI9SEI7Xy5XQj1TeW1ib2woInRjIik7Xy5MYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9Nb2RlbFJvb3RFbGVtZW50Iik7Xy5NYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9SZW5kZXJlckRhdGEiKTtfLk5iYT1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0luamVjdGluZ0NvbnN0cnVjdG9yIik7Xy5NQj1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0FwcENvbnRleHQiKTtfLk5CPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfRGlzcGF0Y2hlciIpO18uTEM9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9Sb290RWxlbWVudCIpO18uT2JhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfQXN5bmNEZXBzIik7Xy5QYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9PYmplY3RDcmVhdGlvblRyYWNrZXIiKTtfLk9CPXt9O18uVkI9e01LOlNCLGNMOlNCLGxvZzpTQixSSjpUQix2eTpUQixmSjooYSxiKT0+e2IoKX19O18uTUM9bnVsbDtfLm1DPWNsYXNzIGV4dGVuZHMgb0N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhKTt0aGlzLm89Yjt0aGlzLlpmPVtdO3RoaXMuQj0wO3RoaXMuRD1fLnV2KGM9Pnt0aGlzLnFsPWM7Xy5ZdSgoKT0+e2hDKHRoaXMsdGhpcy5lbCl9KX0sXy5LdS5yaXx8ISFfLlp0KX1vYyhhKXt2YXIgYj1fLk1DO18uTUM9dGhpczt0aGlzLkI9MDt2YXIgYz1fLmt1KF8uenYpLGQ9Xy4kdCh0aGlzLnFsKTt0cnl7cmV0dXJuIHRoaXMubyhhKX1maW5hbGx5e18uJHQoZCksXy5rdShjKSxfLk1DPWJ9fWdldCBjb21wb25lbnROYW1lKCl7cmV0dXJuIF8uRkEodGhpcy5vKX19O3ZhciB4YmE7Xy5uQz1TeW1ib2woIkNjIik7eGJhPWNsYXNzIGV4dGVuZHMgXy5kQ3tjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoKTt0aGlzLmtpbmQ9YTt0aGlzLnByb3BzPWI7dGhpcy5jaGlsZHJlbj1jfW9jKCl7dmFyIGE9a0ModGhpcy5raW5kLHRoaXMucHJvcHMsdGhpcy5jaGlsZHJlbik7aWYodGhpcy5DbyE9bnVsbClmb3IobGV0IGIgb2YgdGhpcy5DbylhPWIoYSk7cmV0dXJuIGF9fTt2YXIgcUM9W107Xy53dT1hPT57dGhyb3cgXy5VdShFcnJvcigiYmJgIithLmRlYnVnTmFtZSksNCk7fTsoZnVuY3Rpb24oKXt2YXIgYT1fLmNCO18uY0I9Yj0+e2E/LihiKTt6YmEoYil9fSkoKTt2YXIgQ2JhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPXt9KXt2YXIgZD1fLnVDKCk7dGhpcy5uYW1lPWE7dGhpcy5pZD1kLlV5Kys7dGhpcy5zZXNzaW9uSWQ9ZC5zZXNzaW9uSWQ7dGhpcy5hdHRyaWJ1dGVzPWI7dGhpcy5zdGF0dXM9IlNQQU5fU1RBVFVTX1VOU0VUIjt0aGlzLnN0YXJ0VGltZT1jLnN0YXJ0VGltZT8/KDAsXy5lbCkoKTt0aGlzLmo9Yy5hY3RpdmU7aWYoYT12QygpKXRoaXMucGFyZW50SWQ9YS5pZCxhLmNoaWxkcmVufHwoYS5jaGlsZHJlbj1bXSksYS5jaGlsZHJlbi5wdXNoKHRoaXMpO2ZvcihsZXQgZSBvZiBkLnByb2Nlc3NvcnMpdHJ5e2UuR20/Lih0aGlzKX1jYXRjaChmKXtfLklwKGYpfWMuZW5kVGltZSE9bnVsbCYmKHRoaXMuaj0hMSx0aGlzLmVuZCgiU1BBTl9TVEFUVVNfT0siLGMuZW5kVGltZSkpfWVuZChhPSJTUEFOX1NUQVRVU19PSyIsYj0oMCxfLmVsKSgpKXt2YXIgYz1fLnVDKCk7dGhpcy5lbmRUaW1lPWI7dGhpcy5kdXJhdGlvbj10aGlzLmVuZFRpbWUtCnRoaXMuc3RhcnRUaW1lO3RoaXMuc3RhdHVzPWE7dGhpcy5qIT09ITEmJih2QygpPT09dGhpcz9jLnN0YWNrLnBvcCgpOl8uSXAoRXJyb3IoIkRjYCIrU3RyaW5nKHRoaXMubmFtZSkpKSk7Zm9yKGxldCBkIG9mIGMucHJvY2Vzc29ycyl0cnl7ZC5scj8uKHRoaXMpfWNhdGNoKGUpe18uSXAoZSl9fURlKGEpe09iamVjdC5hc3NpZ24odGhpcy5hdHRyaWJ1dGVzLGEpfX0seEM9e2VuZCgpe30sRGUoKXt9fSx0QyxCYmE9e1d6KCl7cmV0dXJuIF8udUMoKS5zdGFja1swXX19O3ZhciBCQz12b2lkIDA7dmFyIEliYT0iSURPTSBpbnRlcm9wIHNldHRlciB1bmRlZmluZWQuIEtleToiLEhiYT0iQ2FsbGJhY2sgZGV0ZWN0ZWQgdGhhdCB3YXMgbm90IHNldCBpbiB0aGUgaWRvbUNvbXBhdCBjYWxsYmFja3MgbWFwLiBLZXk6IjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFJiYSxRYmE7UmJhPWZ1bmN0aW9uKGEpe3ZhciBiPU9iamVjdC5jcmVhdGUoUWJhKTtiLlRnPWE7YT0oKT0+e18ucnUoYik7Xy5wdShiKTtpZihiLnZhbHVlPT09Xy5Jdil0aHJvdyBiLmVycm9yO3JldHVybiBiLnZhbHVlfTthW18uWnVdPWI7cmV0dXJuIGF9O18uTj1mdW5jdGlvbihhLGIsYz0iIil7dmFyIGQ9UmJhKGEpO2E9ZFtfLlp1XTthLmRlYnVnTmFtZT1fLmV1KGI/LmRlYnVnTmFtZSxjLCJbY29tcHV0ZWRdIik7Yj8uZXF1YWxzIT1udWxsJiYoYS5lcXVhbD1iLmVxdWFscyk7cmV0dXJuIGR9OwpRYmE9ey4uLl8uWHUsdmFsdWU6Xy5HdixQYjohMCxlcnJvcjpudWxsLGVxdWFsOl8uaXUsa2luZDoiY29tcHV0ZWQiLFhtKGEpe3JldHVybiBhLnZhbHVlPT09Xy5Hdnx8YS52YWx1ZT09PV8uSHZ9LFltKGEpe2lmKGEudmFsdWU9PT1fLkh2KXRocm93IEVycm9yKCJoIik7dmFyIGI9YS52YWx1ZTthLnZhbHVlPV8uSHY7dmFyIGM9Xy50dShhKSxkPSExO3RyeXt2YXIgZT1hLlRnKCk7Xy5rdShudWxsKTtkPWIhPT1fLkd2JiZiIT09Xy5JdiYmZSE9PV8uSXYmJmEuZXF1YWwoYixlKX1jYXRjaChmKXtlPV8uSXYsYS5lcnJvcj1mfWZpbmFsbHl7Xy5rdShjKSxhJiZfLnZ1KGEpfWQ/YS52YWx1ZT1iOihhLnZhbHVlPWUsYS52ZXJzaW9uKyspfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBTYmE7Xy5OQz1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9YSgpO2lmKCFjKXtsZXQgZD1FcnJvcigiT2NgIitiKTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShkLDIsYik7fSl9cmV0dXJuIGN9fTtfLk89ZnVuY3Rpb24oYSl7cmV0dXJuIFNiYShhKX07ClNiYT1mdW5jdGlvbihhKXtpZihhLkE9PT12b2lkIDApcmV0dXJuIGEuVz8uKCk7aWYodHlwZW9mIGEuQSE9PSJmdW5jdGlvbiIpe2xldCBlPWEudGhlbixmPWEuVyxoPWEuQTtyZXR1cm4gaD9lKGgpOmY/LigpfXZhciBiPWEuQSxjPV8uTigoKT0+ISFiKCksdm9pZCAwLCJCalFSUSIpLGQ9Xy5OQyhiLCJJZiIpO3JldHVybiBfLlhCKCgpPT57dmFyIGU9YygpLGY7Xy51digoKT0+e3ZhciBoPV8ua3UoXy56dik7dHJ5e2Y9Xy5mQyhlP2EudGhlbihkKTphLlc/LigpKX1maW5hbGx5e18ua3UoaCl9fSwhMCk7cmV0dXJuIGZ9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8iUmxEdWRkIix6cDphLnRoZW4sV2U6ITB9KX07Xy5XQz1uZXcgTWFwO18uWEM9U3ltYm9sKCJOYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtHPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ0EoMSk7aWYoKDAsXy5sdikoYikpdGhyb3cgRXJyb3IoImliIik7cmV0dXJuIF8uaHUoYSxiKX07Xy5tRz1mdW5jdGlvbigpe3JldHVybiBfLlp0P18ua0coXy5sRyk6dm9pZCAwfTtfLmZkYT1TeW1ib2woIiRjIik7Xy5nZGE9U3ltYm9sKCJhZCIpO18ubEc9Xy5ndSh7ZGVmYXVsdFZhbHVlOnZvaWQgMH0sInlEcDVPYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgaGNhO18ubkU9ZnVuY3Rpb24oYSxiKXthPV8ucHYoaGNhLGEsYik7Xy5mdihhKX07aGNhPXsuLi5fLiR2LGVmZmVjdFR5cGU6Xy5kdn07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0g9ZnVuY3Rpb24oYSxiKXthPV8uJHQoYSk7dHJ5e18uRUEoYil9ZmluYWxseXtfLiR0KGEpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0U9ZnVuY3Rpb24oKXtpZihfLkhBKCkpdGhyb3cgRXJyb3IoIkJjIik7cmV0dXJuIF8uTUN9O18ucEU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5vRSgpO2lmKGI9PW51bGwpdGhyb3cgRXJyb3IoIlRjIik7dmFyIGM9Yi5CKys7Yi5aZnx8KGIuWmY9W10pO3ZhciBkPWIuWmY7ZFtjXXx8KGRbY109e2tleTphLGhvc3Q6Yn0pO2lmKGEhPT1kW2NdLmtleSl0aHJvdyBFcnJvcigiU2NgIisoYi5qP2Iuaj8ubmFtZTpiIGluc3RhbmNlb2YgXy5tQz9fLkZBKGIubyk6YDwke2IuZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpfT5gKSk7cmV0dXJuIGRbY119O18ucUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hYXx8YS5sZW5ndGghPT1iPy5sZW5ndGh8fGEuc29tZSgoYyxkKT0+YyE9PWJbZF0pfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGljYSx0RSxqY2Esd0U7aWNhPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwsYyxkPXtDazpudWxsLGdldCB2YWx1ZSgpe2Qudkw/LigpO3JldHVybiBkLkNrfSx2bzohMSxrdTohMSxzZXQgdmFsdWUoZSl7ZC53TD8uKGUpO2QuQ2s9ZTtkLnZvPSEwfSxteihlKXtjJiZlIT09YyYmKGMuX2Rpc3Bvc2VSZWY9dm9pZCAwLGI/LigpKTtjPWU7Yj1hKGUpfHxudWxsfSx1eigpe2I/LigpO2I9ZC52YWx1ZT1udWxsfSxbXy5Ndl06ITB9O3JldHVybiBkfTtfLnNFPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2lmKF8uSEEoKSlyZXR1cm4gYSgpO3ZhciBjPV8ucEUoInVzZU1lbW9JbnRlcm5hbCIpO18ucUUoYy5tbCxiKSYmKGMubWw9YixjLnZhbHVlPWEoKSk7cmV0dXJuIGMudmFsdWV9O18udUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdEUoYSwhMSxiKX07Xy52RT1mdW5jdGlvbihhLGIpe3JldHVybiB0RShhLCEwLGIpfTsKdEU9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLkhBKCk/d0UoYSxiLGMpOmpjYShhLGIsYyl9O2pjYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uc0UoKCk9PndFKGEsYixjKSl9O3dFPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLlp0LGU9aWNhKGY9PntlLnZhbHVlPWY7dmFyIGg9KCgpPT57dmFyIGs9Xy5rdShudWxsKTt0cnl7cmV0dXJuIGM/LihmKX1jYXRjaChsKXtfLm92KGwsZCl9ZmluYWxseXtfLmt1KGspfX0pKCk7cmV0dXJuKCk9PntoPy4oKX19KTtlLmp1PWE7ZS5sdT1iO2Uudko9IV8uSEEoKTtyZXR1cm4gZX07Xy5CRT1TeW1ib2woIldjIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubUY9e1ZiOiExLHN0YXRlOiJ2aXNpYmxlIn07Xy5uRj17VmI6ITEsc3RhdGU6ImhpZGRlbiJ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnBIPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ0EoKTtyZXR1cm4gYz0+e3ZhciBkPWEub2JzZXJ2ZXI/P18ueSgpLnJlc29sdmUoXy5MeCksZT1jLmpmPz9jLGY9W107YS5lYiYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5OYighMCxjKX0pfSxhLmViKSk7YS5OYyYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5OYighMSxjKX0pfSxhLk5jKSk7YS5MaCYmYS5MaiYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5MaigpfSl9LGEuTGgpKTtlLnZpc2liaWxpdHlNb25pdG9yS2V5cz0oZS52aXNpYmlsaXR5TW9uaXRvcktleXM/P1tdKS5jb25jYXQoZil9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFBEO18uUkQ9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5CKGEsXy5PRCk7aWYoYilyZXR1cm4gYjtpZigoYj1fLkIoYSxXYmEpKSYmYi5jb21tYW5kcylyZXR1cm4gUEQoYi5jb21tYW5kcyk7aWYoKGI9Xy5CKGEsWGJhKSkmJmIuY29tbWFuZHMpcmV0dXJuIFBEKGIuY29tbWFuZHMpO2lmKChhPV8uQihhLFliYSkpJiZhLmlkZW50aWZpZXImJmEuY29tbWFuZCYmKFFEfHwoUUQ9W10pLCFRRC5pbmNsdWRlcyhhLmlkZW50aWZpZXIpKSlyZXR1cm4gUUQucHVzaChhLmlkZW50aWZpZXIpLF8uQihhLmNvbW1hbmQsXy5PRCl9O1BEPWZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoIT09MCl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpKGE9Xy5SRChjKSkmJmIucHVzaChhKTtyZXR1cm57Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6Yn19fX07Xy5TRD1uZXcgXy5JKCJjb21tYW5kRXhlY3V0b3JDb21tYW5kIik7Xy5PRD1uZXcgXy5JKCJpbm5lcnR1YmVDb21tYW5kIik7dmFyIFdiYT1uZXcgXy5JKCJwYXJhbGxlbENvbW1hbmQiKTt2YXIgWWJhPW5ldyBfLkkoInBlcmZvcm1PbmNlQ29tbWFuZCIpO3ZhciBYYmE9bmV3IF8uSSgic2VyaWFsQ29tbWFuZCIpO3ZhciBRRD12b2lkIDA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEQ9bmV3IF8uSSgicmVlbFdhdGNoRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5VRD1uZXcgXy5WcygiQ09NTUFORF9IQU5ETEVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkQ9bmV3IF8uSSgidXJsRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFpiYSxkY2EsJGJhLGVjYTtfLldEPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYSgpfWNhdGNoKGIpe18uSXAoYil9fTtfLllEPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm57Zm9ybTp7Y3VycmVudERhdGE6Xy5YRD8ucmVzcG9uc2U/P3t9LHNvdXJjZURhdGE6YSxldmVudDpiPy5ldmVudCxjbGlja2VkVmlzdWFsRWxlbWVudDpiPy5jbGlja2VkVmlzdWFsRWxlbWVudCxpbXBsaWNpdEdlc3R1cmVUeXBlOmI/LmltcGxpY2l0R2VzdHVyZVR5cGUsYXV0b25hdjpiPy5hdXRvbmF2LEJkOmI/LkJkfSxtZDpjfX07Cl8uYkU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5odixjPWEudXgsZD1hLmJoLGU9YS5JZCxmPWEucWQsaD1hLkFvLGs9YS5pbm5lcnR1YmVDb21tYW5kfHxfLlJEKGQpO2lmKGspe2E9e307dmFyIHtScTpsLGhyZWY6bX09Xy5aRChrKTtsJiZtPyhhLmhyZWY9bSxaYmEoYSxsLG0sYiksJGJhKGEsbCksZiYmKGEucWQ9ITApKTooYS5yb2xlPSJidXR0b24iLGEudGFiaW5kZXg9IjAiKTtfLkIoayxhY2EpJiYoYS5hcmlhSGFzUG9wdXA9ITApO2V8fChhLm9uY2xpY2s9bj0+e2wmJm18fG4ucHJldmVudERlZmF1bHQoKTtfLiREKGspO3ZhciBwPXsuLi5fLllEKGsse2V2ZW50Om59KSwuLi5ofTtuLnByZXZlbnREZWZhdWx0KCk7Xy5hRShrLHApO24uc3RvcFByb3BhZ2F0aW9uKCl9LGwmJm18fChhLm9ua2V5ZG93bj1uPT57aWYobi5rZXk9PT0iRW50ZXIifHxuLmtleT09PSIgIiluLnN0b3BQcm9wYWdhdGlvbigpLG4ucHJldmVudERlZmF1bHQoKSxuLmN1cnJlbnRUYXJnZXQuY2xpY2soKX0pKTsKcmV0dXJuey4uLmMsLi4uYX19fTtfLlpEPWZ1bmN0aW9uKGEpe2E9Xy5CKGEsXy5TRCk/LmNvbW1hbmRzfHxbYV07Zm9yKGxldCBiIG9mIGEpaWYoYT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwsXy54KCJ3ZWJfcmVtb3ZlX3dlYl9uYXZpZ2F0aW9uX2VuZHBvaW50X2RhdGEiKXx8KGE9YXx8Xy5CKGIsYmNhKT8udXJsKSxhJiZhIT09Ii9zZXJ2aWNlX2FqYXgiKXtsZXQgYz1fLmJiKGEsY2NhKTtpZihjKXJldHVybiBhPV8uWWEoYykse1JxOmIsaHJlZjphfTtfLklwKG5ldyBfLlhqKCJBdHRyaWJ1dGVkU3RyaW5nIFVSTCBjb3VsZCBub3QgYmUgc2FuaXRpemVkIixhKSl9cmV0dXJue319OwpaYmE9ZnVuY3Rpb24oYSxiLGMsZCl7Yz0hXy5maihjKTtpZihfLkIoYixfLmNFKT8ubm9mb2xsb3d8fF8uQihiLF8uQXcpPy5ub2ZvbGxvd3x8Xy5CKGIsXy5WRCk/Lm5vZm9sbG93fHxfLkIoYixfLlREKT8ubm9mb2xsb3d8fGMpYS5yZWw9Im5vZm9sbG93IjthLnRhcmdldD1kY2EoYixkKX07ZGNhPWZ1bmN0aW9uKGEsYj0iIil7cmV0dXJuIF8uQihhLF8uVkQpPy50YXJnZXQ9PT0iVEFSR0VUX05FV19XSU5ET1ciPyJfYmxhbmsiOmJ9OyRiYT1mdW5jdGlvbihhLGIpe2IuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGEucGFyYW1zPXtpdGN0OmIuY2xpY2tUcmFja2luZ1BhcmFtc30pO2Eub25wb2ludGVyZG93bj1jPT57ZWNhKGMsYil9O2EubnU9Yn07Cl8uJEQ9ZnVuY3Rpb24oYSl7KGEubG9nZ2luZ1VybHN8fFtdKS5mb3JFYWNoKGI9Pnt2YXIgYz1iLmJhc2VVcmw7Yi5hdHRyaWJ1dGlvblNyY01vZGU9PT0iQVRUUklCVVRJT05fU1JDX01PREVfWEhSX09QVElPTiI/KGM9ZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP2MrIiZuaXM9NiI6YysiJm5pcz01IixfLmFuKGMsdm9pZCAwLHZvaWQgMCx2b2lkIDAsIiIsITAsITApKTpfLmFuKGMpfSl9O2VjYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuY3VycmVudFRhcmdldDthPV8uV0QoKCk9PmMuaHJlZik7Yj1iLmNsaWNrVHJhY2tpbmdQYXJhbXM/e2l0Y3Q6Yi5jbGlja1RyYWNraW5nUGFyYW1zfTp7fTthJiZfLnV6KGEsYiw4LCEwKX07Xy5kRT1mdW5jdGlvbihhLGIpeyhhPV8uUkQoYSkpJiZfLmFFKGEsYil9OwpfLmFFPWZ1bmN0aW9uKGEsYil7Xy5ZdChfLlVELGM9PntiP2MucmVzb2x2ZUNvbW1hbmQoYSxiKTpjLnJlc29sdmVDb21tYW5kKGEpfSl9O18uY0U9bmV3IF8uSSgiYnJvd3NlRW5kcG9pbnQiKTt2YXIgYmNhPW5ldyBfLkkoIndlYk5hdmlnYXRpb25FbmRwb2ludERhdGEiKTt2YXIgYWNhPW5ldyBfLkkoIm1vZGFsRW5kcG9pbnQiKTtfLmZjYT1uZXcgXy5JKCJ1c2VyRmVlZGJhY2tFbmRwb2ludCIpO18uZUU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmRhdGE9W107dGhpcy5EZj1udWxsfXB1c2goYSl7dGhpcy5EZj90aGlzLkRmKGEpOnRoaXMuZGF0YS5wdXNoKGEpfX07Xy5YRD17fTtfLmZFPV8uSihfLlhELHZvaWQgMCwiVEhST08iKVswXTtfLkoobnVsbCx2b2lkIDAsImN4NFRJZCIpO18uSihudWxsLHZvaWQgMCwiUVhhT3VkIik7Xy5KKCIiLHZvaWQgMCwiRFJXTzljIik7Xy5KKF8ucXooKT8hMTohMCx2b2lkIDAsInZ5enlpZCIpO18uZ0U9bmV3IF8uZUU7dmFyIGNjYT1bXy5JcSxfLkpxLF8uS3EsXy5NcSxfLkxxLF8uR3EsXy5OcSxfLlBxXTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5xSD1mdW5jdGlvbihhKXtpZihhLmNvbXBvc2VkUGF0aClyZXR1cm4gYS5jb21wb3NlZFBhdGgoKTtpZighYS51byl7bGV0IGI9W10sYz1hLnRhcmdldDtmb3IoO2M7KWIucHVzaChjKSxjPWMucGFyZW50Tm9kZTtiLnB1c2god2luZG93KTthLnVvPWJ9cmV0dXJuIGEudW99O18uckg9ZnVuY3Rpb24oYSxiLGMpe2ZvcihsZXQgZCBvZiBhKXtpZihkPT09YilicmVhaztmb3IobGV0IGUgb2YgYylpZihkLnRhZ05hbWU9PT1lfHxkLnJvbGU9PT0iYnV0dG9uIiYmZT09PSJCVVRUT04iKXJldHVybiEwfXJldHVybiExfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJkYSxDZGEsRGRhLHZILHdILEVkYTtCZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLm9ic2VydmVyPz9fLnkoKS5yZXNvbHZlKF8uTHgpO2lmKGEpe3ZhciBkPWEuamY/P2EsZT1bXTtiLmViJiZlLnB1c2goYy5vYnNlcnZlKGEsKCk9PntiLk5iKCEwLGEpfSxiLmViKSk7Yi5OYyYmZS5wdXNoKGMub2JzZXJ2ZShhLCgpPT57Yi5OYighMSxhKX0sYi5OYykpO2IuTGgmJmIuTGomJmUucHVzaChjLm9ic2VydmUoYSwoKT0+e2IuTGooKX0sYi5MaCkpO2QudmlzaWJpbGl0eU1vbml0b3JLZXlzPShkLnZpc2liaWxpdHlNb25pdG9yS2V5cz8/W10pLmNvbmNhdChlKX19O18udEg9ZnVuY3Rpb24oYSl7cmV0dXJuISFfLnNIKGEpfTtfLnVIPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGY9Pnt2YXIgaD1fLm1HKCk7Xy5uRSgoKT0+e2lmKGYpe0NkYShmLGEoKSxlKTt2YXIgaz1EZGEoZixhKCksYixjLGQsaCk7Xy5ZdShrKX19LCJhalFZNiIpfX07CkNkYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dkgoYiksZT13SChiKSxmPWQmJl8ubUYsaD1lJiZfLm5GOyhkfHxlKSYmQmRhKGEse05iOms9Pnt2YXIgbD1fLnkoKS5yZXNvbHZlKF8uVUQpO2smJmQ/KGwucmVzb2x2ZUNvbW1hbmQoZCx7Zm9ybTp7ZWxlbWVudDpjP2E6dm9pZCAwfSxtZDohMH0pLGQ9dkgoYikpOiFrJiZlJiYobC5yZXNvbHZlQ29tbWFuZChlLHtmb3JtOntlbGVtZW50OmM/YTp2b2lkIDB9LG1kOiEwfSksZT13SChiKSl9LGViOmYsTmM6aH0pfTsKRGRhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgaD1uZXcgTWFwO2lmKGI9Xy5zSChiKSlhPWQ/Lm9uVGFwPy52YWx1ZXx8YSxjPUVkYShiLGEsYz8ub25UYXAsZSxmKSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixjKSxoLnNldCgiY2xpY2siLGMpLF8ueCgid2ViX2VuYWJsZV9hZGRpdGlvbmFsX2V2ZW50X2xpc3RlbmVyX2Zvcl90YXBfY29tbWFuZCIpJiYoYz1rPT57dmFyIGw9YS50YWdOYW1lO2w9PT0iQlVUVE9OInx8bD09PSJBInx8bD09PSJJTlBVVCJ8fGsua2V5IT09IkVudGVyIiYmay5rZXkhPT0iICJ8fGUmJl8uckgoXy5xSChrKSxhLGUpfHwoay5wcmV2ZW50RGVmYXVsdCgpLGEuY2xpY2soKSl9LGEuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYyksaC5zZXQoImtleWRvd24iLGMpKTtyZXR1cm4oKT0+e2ZvcihsZXQgW2ssbF1vZiBoKWEucmVtb3ZlRXZlbnRMaXN0ZW5lcihrLGwpfX07Cl8uc0g9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9Xy5CKGEsXy54SCk/Lm9uVGFwKSYmXy5SRChhKX07dkg9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9Xy5CKGEsXy54SCk/Lm9uVmlzaWJsZSkmJl8uUkQoYSl9O3dIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vbkhpZGRlbikmJl8uUkQoYSl9O18ueUg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUkQoXy5CKGEsXy54SCk/Lm9uSG92ZXJTdGFydCl9O18uekg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUkQoXy5CKGEsXy54SCk/Lm9uSG92ZXJFbmQpfTtFZGE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1rPT57Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChhLGspfSxoPWs9PntkJiZfLnJIKF8ucUgoayksYixkKXx8ZihrLnRhcmdldD97Zm9ybTp7ZWxlbWVudDprLnRhcmdldCxzb3VyY2VEYXRhOmEsbXV0YXRpb25Db250ZXh0OmV9fTp2b2lkIDApfTtjJiYoaD1rPT57YyhrLGYpfSk7cmV0dXJuIGh9O18ueEg9bmV3IF8uSSgiY29tbWFuZENvbnRleHQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5qSD1uZXcgXy5WcygiS0VZX01BTkFHRVJfVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5QPWZ1bmN0aW9uKC4uLmEpe3ZhciBiPSEwO2ZvcihsZXQgYyBvZiBhKWlmKHR5cGVvZiBjIT09InN0cmluZyIpe2I9ITE7YnJlYWt9cmV0dXJuIGI/YS5qb2luKCIgIikudHJpbSgpfHx2b2lkIDA6KCk9Pnt2YXIgYz0iIjtmb3IobGV0IGQgb2YgYSlpZih0eXBlb2YgZD09PSJmdW5jdGlvbiImJihkPWQoKSksZClpZih0eXBlb2YgZD09PSJzdHJpbmciKWMrPSIgIitkO2Vsc2UgZm9yKGxldCBlIGluIGQpe2lmKCFkLmhhc093blByb3BlcnR5KGUpKWNvbnRpbnVlO2xldCBmPWRbZV07dHlwZW9mIGY9PT0iZnVuY3Rpb24iJiYoZj1mKCkpO2YmJihjKz0iICIrZSl9Yz1jLnRyaW0oKXx8dm9pZCAwO3JldHVybiBfLkJ2KGMpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrSDtrSD1mdW5jdGlvbihhKXtyZXR1cm4oKT0+YSgpP2EoKTp2b2lkIDB9OwpfLm5IPV8uTChhPT57dmFyIGI9Xy51RSgiYSIsYS5yZWYpLGM9YS51Yz9hLnVjOl8uTigoKT0+Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpfLlJEKGEuY29tbWFuZD8uKCkpPz9hLmNvbW1hbmQ/LigpLElkOmEuSWQ/LigpLGh2OmEudGFyZ2V0Py4oKX0pfHx7fSx2b2lkIDAsIlRBdnowIik7cmV0dXJuIF8uSygiYSIse2VsOmIsaHJlZjooKT0+YygpLmhyZWYscmVsOigpPT5jKCkucmVsLGNsYXNzOigpPT5jKCkuY2xhc3NOYW1lPz9hLmNsYXNzTmFtZT8uKCksc3R5bGU6KCk9PntpZihhLnN0eWxlPy4oKSlyZXR1cm4gYS5zdHlsZSgpO2lmKGEuZGlzYWJsZWQ/LigpKXJldHVybiJwb2ludGVyLWV2ZW50czpub25lIn0sImFyaWEtaGFzcG9wdXAiOigpPT4hIWMoKS5hcmlhSGFzUG9wdXAsImZvcmNlLW5ldy1zdGF0ZSI6a0goKCk9PmMoKS5xZCksdGl0bGU6a0goKCk9PmMoKS50aXRsZT8/YS50aXRsZT8uKCkpLHJvbGU6a0goKCk9PmEucm9sZT8uKCl8fGMoKS5yb2xlKSx0YXJnZXQ6a0goKCk9PgpjKCkudGFyZ2V0KSxkaXI6a0goKCk9PmEuZGlyPy4oKXx8YygpLmRpciksdGFiaW5kZXg6KCk9PmMoKS50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYygpLnRhYmluZGV4KTphLnRhYkluZGV4Py4oKSwiYXJpYS1oaWRkZW4iOigpPT5jKCkuYXJpYUhpZGRlbj8/YS5hcmlhSGlkZGVuPy4oKSwiYXJpYS1sYWJlbCI6KCk9PmMoKS5hcmlhTGFiZWw/P2EuYXJpYUxhYmVsPy4oKSwiYXJpYS1jdXJyZW50IjphLmFyaWFDdXJyZW50LCJhcmlhLWRpc2FibGVkIjphLmRpc2FibGVkLCJhcmlhLWV4cGFuZGVkIjphLmFyaWFFeHBhbmRlZCwiYXJpYS1sYWJlbGxlZGJ5IjphLkhvLCJhcmlhLWRlc2NyaWJlZGJ5IjphLkhlLCJhcmlhLXNlbGVjdGVkIjphLmFyaWFTZWxlY3RlZCwidGFiLWlkZW50aWZpZXIiOmEudGFiSWRlbnRpZmllciwib246cG9pbnRlcmRvd24iOmZ1bmN0aW9uKGQpe2MoKS5vbnBvaW50ZXJkb3duPy4oZCl9LCJvbjpjbGljayI6ZnVuY3Rpb24oZCl7YygpLm9uY2xpY2s/LihkKTsKYS5vbkNsaWNrPy4oZCl9LCJvbjpmb2N1c2luIjphLmR6LCJvbjpmb2N1c291dCI6YS5leiwib246bW91c2VlbnRlciI6ZnVuY3Rpb24oZCl7YS5vbkhvdmVyPy4oZCk7YS5pej8uKGQpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oZCl7YS5qej8uKGQpfSwib246a2V5ZG93biI6ZnVuY3Rpb24oZCl7YygpLm9ua2V5ZG93bj8uKGQpfX0sYS5jaGlsZHJlbil9LCJ0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkM9Xy5MKCh7Y29tbWFuZDphLHJlbmRlcmVyQ29udGV4dDpiLGNoaWxkcmVuOmMsY2xhc3NOYW1lOmQsWnY6ZSxzdHlsZTpmLG9uQ2xpY2s6aCxhcmlhQ3VycmVudDprLEhlOmwsYXJpYUhpZGRlbjptLGFyaWFMYWJlbDpuLEhvOnAsYXJpYVNlbGVjdGVkOnIsZGlzYWJsZWQ6dCxkaXI6dix0YWJJbmRleDp6LHRhcmdldDpFLHRpdGxlOkEsdG9nZ2xlYWJsZTpGLHRvZ2dsZWQ6Q30pPT57ZnVuY3Rpb24gRyhtYSl7dmFyIHRhPV8uc0goYj8uKCkpPz9hPy4oKTtpZih0YSl7bGV0IFQ9bWEudGFyZ2V0P3tmb3JtOntlbGVtZW50Om1hLnRhcmdldCxzb3VyY2VEYXRhOnRhLG11dGF0aW9uQ29udGV4dDpVfX06dm9pZCAwO18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQodGEsVCl9aD8uKG1hKX1mdW5jdGlvbiBEKCl7b2EoUz8uWGUoKT8/ITEpfWZ1bmN0aW9uIEgoKXtvYSghMSl9ZnVuY3Rpb24gUigpe3ZhciBtYT1fLnlIKGI/LigpKTttYSYmXy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChtYSl9CmZ1bmN0aW9uIE0oKXt2YXIgbWE9Xy56SChiPy4oKSk7bWEmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQobWEpfXZhciBTPV8ueSgpLnJlc29sdmUoXy5JbihfLmpIKSksW1kscGFdPV8uSighMSx2b2lkIDAsIlROTEpFYyIpLG9hPXBhLFU9Xy5tRygpLGhhPSgpPT5GPy4oKT9DPy4oKTp2b2lkIDA7cmV0dXJuIF8uSyhfLk8se0E6ZnVuY3Rpb24oKXt2YXIgbWE9Xy5zSChiPy4oKSk/P2E/LigpLHRhO2lmKHRhPW1hKXtsZXQge1JxOlQsaHJlZjpiYX09Xy5aRChtYSk7dGE9ISghVHx8IWJhKX1yZXR1cm4gdGF9LHRoZW46KCk9Pl8uSyhfLm5ILHtjb21tYW5kOmEsc3R5bGU6ZixIZTpsLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6bixIbzpwLGFyaWFTZWxlY3RlZDpyLGRpc2FibGVkOnQsZGlyOnYsdGFiSW5kZXg6eix0YXJnZXQ6RSx0aXRsZTpBLG9uQ2xpY2s6aCxjbGFzc05hbWU6Xy5QKCJ5dEJ1dHRvbk9yQW5jaG9ySG9zdCIsInl0QnV0dG9uT3JBbmNob3JBbmNob3IiLApkLCgpPT5ZKCk/ZT8uKCk6IiIpLGR6OkQsZXo6SCxpejpSLGp6Ok0sYXJpYUN1cnJlbnQ6KCk9Pms/LigpPz9oYSgpfSxjKSxXOigpPT5fLksoImJ1dHRvbiIseyJvbjpjbGljayI6Rywib246Zm9jdXNpbiI6RCwib246Zm9jdXNvdXQiOkgsIm9uOm1vdXNlZW50ZXIiOlIsIm9uOm1vdXNlbGVhdmUiOk0sY2xhc3M6Xy5QKCJ5dEJ1dHRvbk9yQW5jaG9ySG9zdCIsInl0QnV0dG9uT3JBbmNob3JCdXR0b24iLGQsKCk9PlkoKT9lPy4oKToiIiksc3R5bGU6ZiwiYXJpYS1kZXNjcmliZWRieSI6bCwiYXJpYS1oaWRkZW4iOm0sImFyaWEtbGFiZWwiOm4sImFyaWEtbGFiZWxsZWRieSI6cCwiYXJpYS1wcmVzc2VkIjpoYSxkaXI6dixkaXNhYmxlZDp0LHRhYmluZGV4OigpPT56Py4oKT8/KChfLk9rfHxfLnJ6KCkpJiZfLngoIndlYl9lbmFibGVfc2FmYXJpX2J1dHRvbl90YWJpbmRleF9maXgiKT8wOnZvaWQgMCksdGl0bGU6QX0sYyl9KX0sInYiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiWlFLeDEiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5JRT1mdW5jdGlvbiguLi5hKXtyZXR1cm4oKT0+e3ZhciBiPSIiO2ZvcihsZXQgYyBvZiBhKXtsZXQgZD10eXBlb2YgYz09PSJmdW5jdGlvbiI/YygpOmM7aWYoZClmb3IobGV0IGUgaW4gZCl7bGV0IGY9ZFtlXTtmb3IoO3R5cGVvZiBmPT09ImZ1bmN0aW9uIjspZj1mKCk7ZiE9PXZvaWQgMCYmZiE9PW51bGwmJihiKz1gOyAke2V9OiAke2Z9YCl9fXJldHVybiBiLmxlbmd0aD4wP18uQnYoYi5zbGljZSgyKSk6Xy5CdigpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uckY9ZnVuY3Rpb24oLi4uYSl7cmV0dXJuIF8udkUoXy5CRSxiPT57dmFyIGM9YS5tYXAoZD0+ZD8uKGIpKTtyZXR1cm4oKT0+dm9pZCBjLmZvckVhY2goZD0+dm9pZCBkPy4oKSl9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaEs9ZnVuY3Rpb24oKXtnS3x8KGdLPW5ldyBMZWEpO3JldHVybiBnS307dmFyIE1lYT1fLkwoYT0+e2Z1bmN0aW9uIGIoaGEpe2lmKGhhKXt2YXIgbWE9TS5nZXQoaGEpO21hJiYobWEuY2FuY2VsKCksTS5kZWxldGUoaGEpKTtmb3IobGV0IHRhIG9mIGhhLmdldEFuaW1hdGlvbnMoKSl0YS5jYW5jZWwoKX19ZnVuY3Rpb24gYyhoYSxtYSx0YSl7bWE9Xy5qZi5HYShtYSwzLHRhKTtTLnNldChoYSxtYSl9ZnVuY3Rpb24gZCgpe20oITEpO2lmKFIpe3ZhciBoYT1SO1I9bnVsbDt2YXIgbWE9RGF0ZS5ub3coKS1HO2MoaGEsKCk9PntTLmRlbGV0ZShoYSk7dmFyIHt3aWR0aDp0YSxoZWlnaHQ6VCxvcGFjaXR5OmJhfT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShoYSksYWE9TnVtYmVyLnBhcnNlRmxvYXQodGEpfHwwLE9hPU51bWJlci5wYXJzZUZsb2F0KFQpfHwwLEpiPU51bWJlci5wYXJzZUZsb2F0KGJhKXx8LjU7aGEuc3R5bGUud2lkdGg9YCR7YWF9cHhgO2hhLnN0eWxlLmhlaWdodD1gJHtPYX1weGA7aGEuc3R5bGUub3BhY2l0eT1gJHtKYn1gO2IoaGEpO2FhPQpVPzA6MkUzO2hhLnN0eWxlLnRyYW5zaXRpb249YG9wYWNpdHkgJHthYX1tcyBjdWJpYy1iZXppZXIoMC4yNSwgMSwgMC41LCAxKWA7aGEuc3R5bGUub3BhY2l0eT1oYS5vZmZzZXRXaWR0aD09PS0xPyIxIjoiMCI7YyhoYSwoKT0+e1MuZGVsZXRlKGhhKTtoYS5zdHlsZS5jc3NUZXh0PSIifSxhYSsxMDApfSxNYXRoLm1heCgwLDMwMC1tYSkpfX1mdW5jdGlvbiBlKCl7ZCgpO0M9bnVsbH12YXIge2NsYXNzTmFtZTpmLHN0eWxlOmh9PV8uREMoYSx7Y2xhc3NOYW1lOiIiLHN0eWxlOiJkZWZhdWx0In0pLFtrLGxdPV8uSighMSx2b2lkIDAsIktiVVRqZiIpLG09bCxbbixwXT1fLkoodm9pZCAwLHZvaWQgMCwiR2VGdkVmIiksW3IsdF09Xy5KKHZvaWQgMCx2b2lkIDAsImkzZmRWZSIpLFt2LHpdPV8uSih2b2lkIDAsdm9pZCAwLCJMZWRWNGIiKSxFPV8uckYoKSxBPV8uckYoKSxGPV8uckYoKSxDPW51bGwsRz0wLEQ9MCxIPSEwLFI9bnVsbCxNPW5ldyBNYXAsUz1uZXcgTWFwLFk9MCxwYT0KMCxvYT1udWxsLFU9d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlcztfLll1KCgpPT57Zm9yKGxldCBoYSBvZiBTLnZhbHVlcygpKV8uamYuQWEoaGEpO1MuY2xlYXIoKTtiKEEudmFsdWUpO2IoRi52YWx1ZSk7b2EhPT1udWxsJiZfLmpmLkFhKG9hKX0pO3JldHVybiBfLksoInl0LWxpZ2h0LXRvdWNoLWZlZWRiYWNrLXNoYXBlIix7ZWw6RSxjbGFzczpfLlAoInl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0IixmLHt5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZDprLHl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OigpPT5oKCk9PT0iZGVmYXVsdCIseXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2U6KCk9PmgoKT09PSJpbnZlcnNlIn0pLCJvbjpwb2ludGVyZW50ZXIiOmZ1bmN0aW9uKCl7dmFyIGhhPUM/PyhDPUUudmFsdWU/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPz8KbnVsbCk7aGEmJnooYCR7KGhhLmhlaWdodHx8MCkqMi41fXB4YCl9LCJvbjpwb2ludGVyZG93biI6ZnVuY3Rpb24oaGEpe3ZhciBtYT1EYXRlLm5vdygpO2lmKCEobWEtRDwxMDApKXtEPW1hO20oITApO3ZhciB0YT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbCk7aWYodGEpe3ZhciBUPWhhLmNsaWVudFgtdGEubGVmdDtoYT1oYS5jbGllbnRZLXRhLnRvcDt2YXIgYmE9TWF0aC5tYXgoKHRhLndpZHRofHwwKSoyLCh0YS5oZWlnaHR8fDApKjguNSksYWE9YmEvNDA4KjE0MDA7dGE9SD9BLnZhbHVlOkYudmFsdWU7SD0hSDtpZihSPXRhKXt0YS5zdHlsZS5jc3NUZXh0PSIiO2IodGEpO2xldCBPYT1TLmdldCh0YSk7T2EhPT12b2lkIDAmJihfLmpmLkFhKE9hKSxTLmRlbGV0ZSh0YSkpO3RhLnN0eWxlLmxlZnQ9YCR7VH1weGA7dGEuc3R5bGUudG9wPWAke2hhfXB4YDtVfHwoVD1uZXcgS2V5ZnJhbWVFZmZlY3QodGEsW3t3aWR0aDoiMHB4IixoZWlnaHQ6IjBweCIsCm9wYWNpdHk6IjAuMzA2In0se3dpZHRoOmAke2JhKi4yNX1weGAsaGVpZ2h0OmAke2JhKi4yNX1weGAsb3BhY2l0eToiMC43NzQiLG9mZnNldDouMjV9LHt3aWR0aDpgJHtiYSouNn1weGAsaGVpZ2h0OmAke2JhKi42fXB4YCxvcGFjaXR5OiIwLjgyOCIsb2Zmc2V0Oi42fSx7d2lkdGg6YCR7YmF9cHhgLGhlaWdodDpgJHtiYX1weGAsb3BhY2l0eToiMC45In1dLHtkdXJhdGlvbjphYSxmaWxsOiJmb3J3YXJkcyIsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4xNywgMC4xNywgMC4xLCAxKSJ9KSxUPW5ldyBBbmltYXRpb24oVCxkb2N1bWVudC50aW1lbGluZSksTS5zZXQodGEsVCksVC5wbGF5KCkpfUc9bWF9fX0sIm9uOnBvaW50ZXJ1cCI6ZCwib246cG9pbnRlcmxlYXZlIjplLCJvbjpwb2ludGVyY2FuY2VsIjplLCJvbjpwb2ludGVybW92ZSI6ZnVuY3Rpb24oaGEpe3ZhciBtYT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbCk7bWEmJihZPWhhLmNsaWVudFgtCm1hLmxlZnQscGE9aGEuY2xpZW50WS1tYS50b3AsaygpJiYoaGEuY2xpZW50WDxtYS5sZWZ0fHxoYS5jbGllbnRYPm1hLnJpZ2h0fHxoYS5jbGllbnRZPG1hLnRvcHx8aGEuY2xpZW50WT5tYS5ib3R0b20pP2QoKTpvYT09PW51bGwmJihvYT1fLmpmLkdhKCgpPT57b2E9bnVsbDtwKGAke1l9cHhgKTt0KGAke3BhfXB4YCl9LDMpKSl9LCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoImRpdiIse2NsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5In0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0IixzdHlsZTpfLklFKHtsZWZ0Om4sdG9wOnIsd2lkdGg6dixoZWlnaHQ6dn0pfSksXy5LKCJkaXYiLHtlbDpBLGNsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodCJ9KSxfLksoImRpdiIse2VsOkYsY2xhc3M6Inl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaExpZ2h0In0pKX0sImFhIik7dmFyIExlYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMuaj1uZXcgTWFwO3ZhciBbYSxiXT1fLkooW10sdm9pZCAwLCJJS2ZaQmQiKTt0aGlzLnY9Yjt0aGlzLm89Xy5OKCgpPT57dmFyIGM9YSgpO2ZvcihsZXQgZCBvZiBjKWQuUHk/LigpO3JldHVybiBjLm1hcChkPT5kLmVsZW1lbnQpfSx2b2lkIDAsIlpNUnR3ZCIpfWxhKCl7Z0s9bnVsbDtzdXBlci5sYSgpfX0sZ0s9bnVsbDtfLnlFPV8uTChhPT57dmFyIGI9Xy52RShfLkJFKSxbYyxkXT1fLkooe3g6MCx5OjAsb3BhY2l0eTowLHNpemU6MH0sdm9pZCAwLCJHd1hjRGQiKSxlPSgpPT57aWYoYS5jb25maWcoKT8uamspe3ZhciBoPWIudmFsdWU7aWYoaCl7dmFyIGs9Xy5oSygpLm87dmFyIGw9aygpO2lmKGwubGVuZ3RoKXtsZXQgdD1oLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2s9dC5sZWZ0K3Qud2lkdGgvMjt2YXIgbT10LnRvcCt0LmhlaWdodC8yO2xldCB2PUluZmluaXR5O3ZhciBuPTAscD0wO2xldCB6PTk2O2ZvcihsZXQgRSBvZiBsKXtpZihFPT09aHx8IUUuaXNDb25uZWN0ZWR8fEUub2Zmc2V0UGFyZW50PT09bnVsbCljb250aW51ZTtsPUUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYobC53aWR0aD09PTAmJmwuaGVpZ2h0PT09MCljb250aW51ZTtsZXQgQT1NYXRoLm1heChsLmxlZnQsTWF0aC5taW4oayxsLnJpZ2h0KSksRj1NYXRoLm1heChsLnRvcCxNYXRoLm1pbihtLGwuYm90dG9tKSk7dmFyIHI9CkEtTWF0aC5tYXgodC5sZWZ0LE1hdGgubWluKEEsdC5yaWdodCkpO2xldCBDPUYtTWF0aC5tYXgodC50b3AsTWF0aC5taW4oRix0LmJvdHRvbSkpO3I9cipyK0MqQztyPHYmJih2PXIsbj1BLHA9Rix6PU1hdGgubWF4KGwud2lkdGgsbC5oZWlnaHQpKX1oPU1hdGguc3FydCh2KTtkKGg8MTAwP3t4Om4tayx5OnAtbSxvcGFjaXR5OjEtaC8zMDAsc2l6ZTpNYXRoLm1heCg5Nix6KjIuNSl9Ont4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9KX1lbHNlIGQoe3g6MCx5OjAsb3BhY2l0eTowLHNpemU6MH0pfX19O18ubkUoKCk9PntpZihhLmNvbmZpZygpPy5qayl7dmFyIGg9bmV3IF8uV3QoZSwxMDApLGs9KCk9PntoLnYoKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsayk7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixrKTtoLmRpc3Bvc2UoKX19fSwiclBZQzFkIik7Xy5uRSgoKT0+e2EuY29uZmlnKCk/LmprJiZlKCl9LCJRcDZQUmQiKTsKdmFyIGY9KCk9PmEuY29uZmlnKCk/LlZhIT09NSYmYS5jb25maWcoKT8uVmEhPT05JiZhLmNvbmZpZygpPy5WYSE9PTY7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LlZhIT09MCYmIV8uZ3IsdGhlbjooKT0+Xy5LKCJ5dC1saWdodC1zaGFwZSIse2VsOmIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3M6Xy5QKCJjb250cmliWXRMaWdodFNoYXBlSG9zdCIsYS5jbGFzc05hbWUse2NvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodDooKT0+ITAsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09MSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT0zLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT0yLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFRvbmFsSW52ZXJzZTooKT0+CmEuY29uZmlnKCk/LlZhPT09NCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09OCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09Nyxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5lOigpPT5hLmNvbmZpZygpPy5WYT09PTUsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheU91dGxpbmU6KCk9PmEuY29uZmlnKCk/LlZhPT09OSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5lSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT02fSksc3R5bGU6Xy5JRSh7Ii0teXQtbGlnaHQtcmltLWNvbG9yIjooKT0+YS5jb25maWcoKT8uZHYsIi0teXQtbGlnaHQtd2FzaC1vcGFjaXR5IjooKT0+YygpLm9wYWNpdHksIi0teXQtbGlnaHQtd2FzaC14IjooKT0+YCR7YygpLnh9cHhgLCItLXl0LWxpZ2h0LXdhc2gteSI6KCk9PgpgJHtjKCkueX1weGAsIi0teXQtbGlnaHQtd2FzaC1zaXplIjooKT0+YCR7YygpLnNpemV9cHhgfSl9LF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LmprLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImNvbnRyaWJZdExpZ2h0U2hhcGVEeW5hbWljV2FzaExpZ2h0In0pfSksXy5LKF8uTyx7QTooKT0+YS5jb25maWcoKT8uQ0IsdGhlbjooKT0+Xy5LKE1lYSx7c3R5bGU6KCk9Pnt2YXIgaDthOntpZihoPWEuY29uZmlnKCk/LlZhKXN3aXRjaChoKXtjYXNlIDE6Y2FzZSA0Omg9ImRlZmF1bHQiO2JyZWFrIGE7Y2FzZSAyOmNhc2UgMzpjYXNlIDU6aD0iaW52ZXJzZSI7YnJlYWsgYX1oPXZvaWQgMH1yZXR1cm4gaH19KX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgiY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodCIse2NvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTYWZhcmk6KCk9Pl8uT2t8fF8uSWwsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFNvbGlkOigpPT4KYS5jb25maWcoKT8uVmE9PT0xLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT0zLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZEludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Mixjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWxJbnZlcnNlOigpPT5hLmNvbmZpZygpPy5WYT09PTQsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodE92ZXJsYXlUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT04LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09N30pLHN0eWxlOl8uSUUoe2JhY2tncm91bmQ6KCk9PmByYWRpYWwtZ3JhZGllbnQoJHthLmNvbmZpZygpPy5ldn0sIHRyYW5zcGFyZW50KWB9KX0pfSkpfSl9LCJkYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJudlg0VmIiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhHLGRkYSxjZGEsaUcsakc7Xy5mRz1mdW5jdGlvbihhLGIpe3JldHVybihBcnJheS5pc0FycmF5KGEpP2E6QXJyYXkuZnJvbShhKSkubWFwKGIpfTtfLmdHPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5wYSE9PSJmdW5jdGlvbiI/Xy5mRyhhLnBhLGEuY2hpbGRyZW4pOmEudGI9PT0iSU5ERVgiP2NkYShhKTpkZGEoYSl9O2hHPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiBhKWI/LigpfTsKZGRhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGI9PT12b2lkIDB8fGEudGI9PT0iUkVGRVJFTkNFIixjPWI/bj0+bjphLnRiLGQ9W10sZT1bXSxmPVtdLGg9W10saz1bXSxsPVtdLG09ITA7Xy5ZdSgoKT0+e2hHKGgpfSk7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgbj1pRyhhKSxwPW4ubGVuZ3RoO2lmKHA9PT0wKXtpZihkLmxlbmd0aD09PTAmJiFtKXJldHVybiBmO2hHKGgpO2Q9bjtlPVtdO2ZvcihuPTA7bjxkLmxlbmd0aDtuKyspZS5wdXNoKGMoZFtuXSkpO2Y9W107aD1bXTtrPVtdO2w9W107YS5mYWxsYmFjayYmKGhbMF09akcoKCk9PntmWzBdPV8uZkMoYS5mYWxsYmFjaygpKX0pKTttPSExO3JldHVybiBmfXZhciByPW5ldyBlZGE7Zm9yKHZhciB0PWQubGVuZ3RoLTE7dD49MDt0LS0pci5wdXNoKGVbdF0sdCk7dD1BcnJheShwKTt2YXIgdj1BcnJheShwKSx6PUFycmF5KHApLEU9QXJyYXkocCksQT1BcnJheShiPzA6cCk7Zm9yKGxldCBGPTA7RjxwO0YrKyl7bGV0IEM9bltGXSxHPWMoQyksCkQ9ci5wb3AoRyk7RCE9bnVsbD8oeltGXT1mW0RdLHZbRl09ZVtEXSx0W0ZdPWhbRF0sRVtGXT1rW0RdLGJ8fChBW0ZdPWxbRF0pLF8uckMoKCk9PntFW0ZdKEYpO2lmKCFiKUFbRl0oQyl9KSxkZWxldGUgaFtEXSk6dFtGXT1qRygoKT0+e3ZhciBIPV8uSihGLHZvaWQgMCwiUExUMXMiKSxSPUhbMF07RVtGXT1IWzFdO3ZbRl09RztpZihiKXpbRl09Xy5mQyhhLmNoaWxkcmVuKEMsUikpO2Vsc2V7bGV0IE09Xy5KKEMsdm9pZCAwLCJiazhSSmQiKSxTPU1bMF07QVtGXT1NWzFdO3pbRl09Xy5mQyhhLmNoaWxkcmVuKFMsUikpfX0pfWhHKGgpO2Q9bjtlPXY7Zj16O2g9dDtrPUU7bD1BO209ITE7cmV0dXJuIHp9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8ibnNUR0hkIix6cDphLnBhLFdlOiEwfSl9OwpjZGE9ZnVuY3Rpb24oYSl7dmFyIGI9W10sYz1bXSxkPVtdLGU9W10sZj0hMTtfLll1KCgpPT57aEcoZSl9KTtyZXR1cm4gXy5YQigoKT0+e3ZhciBoPWlHKGEpO2YmJmgubGVuZ3RoPjAmJihlLnBvcCgpKCksYi5wb3AoKSxmPSExKTt2YXIgaz1BcnJheShoLmxlbmd0aCk7Zm9yKGxldCBtPTA7bTxoLmxlbmd0aDttKyspe2lmKG08Yi5sZW5ndGgpe2JbbV0hPT1oW21dJiYoXy5yQygoKT0+dm9pZCBjW21dKGhbbV0pKSxiW21dPWhbbV0pO2tbbV09ZFttXTtjb250aW51ZX12YXIgbD1qRygoKT0+e2JbbV09aFttXTt2YXIgbj1fLkooaFttXSx2b2lkIDAsInVpQzBjYiIpLHA9blswXTtjW21dPW5bMV07a1ttXT1fLmZDKGEuY2hpbGRyZW4ocCxtKSl9KTtlW21dPWx9Zm9yKDtiLmxlbmd0aD5oLmxlbmd0aDspYi5wb3AoKSxlLnBvcCgpKCksYy5wb3AoKTtoLmxlbmd0aD09PTAmJiFmJiZhLmZhbGxiYWNrJiYobD1qRygoKT0+e2tbMF09Xy5mQyhhLmZhbGxiYWNrKCkpfSksZVswXT1sLGY9CiEwKTtyZXR1cm4gZD1rfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/Im5zVEdIZCIsV2U6ITB9KX07aUc9ZnVuY3Rpb24oYSl7YT1hLnBhKCk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpBcnJheS5mcm9tKGEpfTtqRz1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKCk7cmV0dXJuIF8udXYoYz0+e3ZhciBkPV8ua3UoXy56dik7dHJ5e2MucGFyZW50PWIsYShjKX1maW5hbGx5e18ua3UoZCl9fSwhMSl9O3ZhciBlZGE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcD1uZXcgTWFwfXB1c2goYSxiKXt2YXIgYz10aGlzLm1hcDtpZihjLmhhcyhhKSl7dGhpcy5qfHwodGhpcy5qPW5ldyBNYXApO2lmKHRoaXMuaj8uaGFzKGIpKXRocm93IF8uVXUoRXJyb3IoIlpjYCIrYiksNCk7dGhpcy5qLnNldChiLGMuZ2V0KGEpKX1jLnNldChhLGIpfXBvcChhKXt2YXIgYj10aGlzLm1hcCxjPWIuZ2V0KGEpO2MhPT12b2lkIDAmJnRoaXMuaj8uaGFzKGMpPyhiLnNldChhLHRoaXMuai5nZXQoYykpLHRoaXMuai5kZWxldGUoYykpOmIuZGVsZXRlKGEpO3JldHVybiBjfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrY2EsbGNhLEZFLEdFO18uQ0U9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uREU9ZnVuY3Rpb24oYSl7cmV0dXJue2lzRGVmYXVsdDohMCxjaGlsZHJlbjphLmNoaWxkcmVufX07Xy5FRT1mdW5jdGlvbihhKXtyZXR1cm4ga2NhKGEpfTsKa2NhPWZ1bmN0aW9uKGEpe3ZhciBiPWxjYShhKSxjPV8uTigoKT0+e2E6e3ZhciBkPS0xO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7ZSsrKXtsZXQgZj1iW2VdO2Y/LltfLkx2XSYmKGY9RkUoZikpO2YgaW5zdGFuY2VvZiBfLmRDJiYoZj1HRShmKSk7aWYoZi5pc0RlZmF1bHQpZD09PS0xJiYoZD1lKTtlbHNlIGlmKF8uQnYoZi53aGVuKSl7ZD1lO2JyZWFrIGF9fX1yZXR1cm4gZH0sdm9pZCAwLCJNU1R4V2IiKTtyZXR1cm4gXy5YQigoKT0+e3ZhciBkPWMoKSxlO18udXYoKCk9Pnt2YXIgZj1fLmt1KF8uenYpO3RyeXtpZihkPT09LTEpZT1udWxsO2Vsc2V7dmFyIGg9YltkXTt2YXIgaz1oPy5bXy5Mdl0/RkUoaCk6aCBpbnN0YW5jZW9mIF8uZEM/R0UoaCk6aDt2YXIgbD1rPT09bnVsbD9udWxsOmsuaXNEZWZhdWx0P2suY2hpbGRyZW4oKTp0eXBlb2Ygay53aGVuPT09ImZ1bmN0aW9uIj9rLmNoaWxkcmVuKF8uTkMoay53aGVuLCJDYXNlIikpOmsuY2hpbGRyZW4oay53aGVuKTtlPV8uZkMobCl9fWZpbmFsbHl7Xy5rdShmKX19KTsKcmV0dXJuIGV9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8idkkxcnRmIixXZTohMH0pfTtsY2E9ZnVuY3Rpb24oYSl7YT1hLmNoaWxkcmVuO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6W2FdfTtGRT1mdW5jdGlvbihhKXtyZXR1cm4gYS50eXBlPT09Xy5ERT97aXNEZWZhdWx0OiEwLGNoaWxkcmVuOmEuY2hpbGRyZW5bMF19Ont3aGVuOmEucHJvcHMud2hlbixjaGlsZHJlbjphLmNoaWxkcmVuWzBdfX07R0U9ZnVuY3Rpb24oYSl7dmFyIGI9YS5wcm9wczthPWEuY2hpbGRyZW5bMF07cmV0dXJuIGIud2hlbj97d2hlbjpiLndoZW4sY2hpbGRyZW46YX06e2lzRGVmYXVsdDohMCxjaGlsZHJlbjphfX07Xy5DRS5kZWJ1Z05hbWU9InRiaE1jZiI7Xy5ERS5kZWJ1Z05hbWU9Inp5TUZ6YiI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBEY2E7RGNhPWZ1bmN0aW9uKGEpe3N3aXRjaChhLlpxKXtjYXNlIF8uUXY6Xy5Vdi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5acSx2b2lkIDApfX07Xy5vRj1mdW5jdGlvbihhKXtpZihfLmp1PT09Xy5XdSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigieWIiKSwyKTt9KTtlbHNle2lmKCgwLF8ubHYpKF8uanUpKXRocm93IF8uVXUoRXJyb3IoInpiIiksNCk7dmFyIGI9Xy5adCxjPV8uTXU7RGNhKHtacTpfLlF2LHJ1bjooKT0+e2lmKGImJiFiLmlhKXt2YXIgZD1fLiR0KGIpO3RyeXtfLlJ1KCgpPT57dmFyIGU9YSgpO3R5cGVvZiBlPT09ImZ1bmN0aW9uIiYmXy5ZdShlKX0sYyl9Y2F0Y2goZSl7Xy5VdShlLDQpLF8ub3YoZSl9ZmluYWxseXtfLiR0KGQpfX19fSl9fTtfLktCPV8ubEM7Xy5xRj1TeW1ib2woIlhjIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBXSixWSjtfLlRKPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5wRSgib25DaGFuZ2UiKSxkPV8ub0UoKTtfLnFFKGMubWwsYikmJihjLm1sPWIsYy5zcj1hLGQudWZ8fChkLnVmPVtdKSxkLnVmLnB1c2goYykpfTtfLlVKPWZ1bmN0aW9uKGEpe18uSEEoKT9fLm9GKCgpPT5fLkVBKGEpKTpfLlRKKCgpPT5fLkVBKGEpLFtdKX07V0o9ZnVuY3Rpb24oYSl7dmFyIGI9Wy4uLmFdO2EubGVuZ3RoPTA7Zm9yKGxldCBjIG9mIGIpaWYoVkooYyksYT1jLnNyLGMuc3I9bnVsbCxhPWE/LigpKWMucnI9YX07Vko9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ycjthLnJyPW51bGw7Yj8uKCl9O18uZHcoe1NvKGEpe3ZhciBiPV8uJHQoYS5xbCk7dHJ5e2EudWY/Lmxlbmd0aCYmV0ooYS51Zil9ZmluYWxseXtfLiR0KGIpfX0sR2YoYSl7dmFyIGI9Xy4kdChhLnFsKTt0cnl7YS51Zj8ubGVuZ3RoJiZXSihhLnVmKX1maW5hbGx5e18uJHQoYil9fSxIZihhKXthLlpmPy5sZW5ndGgmJmEuWmYuZm9yRWFjaChWSil9fSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYUQ9bnVsbDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhkYSxpZGEsa2RhLG1kYSxxRyxuZGEsc0csckcsdUcsd0csdkcseEcsdEcsb2RhLHBkYSxzZGEsQkcsdGRhLEFHLHJkYSxxZGEsamRhLGxkYTtoZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmFELGQ9MDtfLmFEPXtzdTooKT0+e2QrKztfLnJDKCgpPT57YSghMSl9KX0sSHI6KCk9PnstLWQ9PT0wJiZfLnJDKCgpPT57YSghMCl9KX19O3RyeXtyZXR1cm4gYigpfWZpbmFsbHl7Xy5hRD1jfX07aWRhPWZ1bmN0aW9uKGEpe3ZhciBbYixjXT1fLkooITAsdm9pZCAwLCJiS3RPNmQiKTtyZXR1cm4gaGRhKGMsKCk9Pnt2YXIgZD1fLmZDKGEuY2hpbGRyZW4oKSk7cmV0dXJuIF8uSyhfLk8se0E6Yix0aGVuOigpPT5kLFc6YS5mYWxsYmFja30pfSl9OwpfLm5HPWZ1bmN0aW9uKHtjaGlsZHJlbjphLEVmOmIsY2FsbGJhY2tzOmN9KXt2YXIgZD1uZXcgTWFwO2I9Yj8/W107Zm9yKGxldCBlIG9mIGIpZC5zZXQoZS5pZC5DYi50b2tlbixlKTtjPWM/P1tdO2ZvcihsZXQgZSBvZiBjKWQuc2V0KGUuaWQuQ2IudG9rZW4sZSk7ZD1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoamRhKSx7ZGVidWdOYW1lOiJbY29udGV4dE93bmVyXSIsZW50cmllczpkfSk7Xy5CdShkKTtkPV8uJHQoZCk7dHJ5e2xldCBlPV8uZkMoYSk7cmV0dXJuIF8uSyhfLklCLG51bGwsZSl9ZmluYWxseXtfLiR0KGQpfX07Xy5vRz1mdW5jdGlvbihhLGIpe3JldHVybntbXy5nZGFdOiEwLGlkOmEsdmFsdWU6Yn19O2tkYT1mdW5jdGlvbih7U2c6YX0pe3JldHVybiBfLksoXy5JQixudWxsLGEoKSl9O18ucEc9ZnVuY3Rpb24oYSxiKXthPXsuLi5hLHBhcmVudDpfLm1HKCl9O3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coXy5sRyxhKV19LF8uSyhrZGEse1NnOmJ9KSl9OwptZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IGxkYShhLGIpfTtxRz1mdW5jdGlvbihhLGIpe3RoaXMubz17fTt0aGlzLmo9W107dGhpcy5BZT10aGlzLnNpemU9MDt2YXIgYz1hcmd1bWVudHMubGVuZ3RoO2lmKGM+MSl7aWYoYyUyKXRocm93IEVycm9yKCJiZCIpO2Zvcih2YXIgZD0wO2Q8YztkKz0yKXRoaXMuc2V0KGFyZ3VtZW50c1tkXSxhcmd1bWVudHNbZCsxXSl9ZWxzZSBpZihhKWlmKGEgaW5zdGFuY2VvZiBxRylmb3IoYz1hLnJkKCksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXRoaXMuc2V0KGNbZF0sYS5nZXQoY1tkXSkpO2Vsc2UgZm9yKGQgaW4gYSl0aGlzLnNldChkLGFbZF0pfTtuZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ9OwpzRz1mdW5jdGlvbihhKXtpZihhLnNpemUhPWEuai5sZW5ndGgpe2Zvcih2YXIgYj0wLGM9MDtiPGEuai5sZW5ndGg7KXt2YXIgZD1hLmpbYl07ckcoYS5vLGQpJiYoYS5qW2MrK109ZCk7YisrfWEuai5sZW5ndGg9Y31pZihhLnNpemUhPWEuai5sZW5ndGgpe2I9e307Zm9yKGQ9Yz0wO2M8YS5qLmxlbmd0aDspe2xldCBlPWEualtjXTtyRyhiLGUpfHwoYS5qW2QrK109ZSxiW2VdPTEpO2MrK31hLmoubGVuZ3RoPWR9fTtyRz1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKX07dUc9ZnVuY3Rpb24oKXt0aGlzLm89bmV3IHFHO3RoaXMuaj1uZXcgdEcoIiIpO3RoaXMuai5uZXh0PXRoaXMuai5VYT10aGlzLmp9O3dHPWZ1bmN0aW9uKGEsYil7aWYoYj1hLm8uZ2V0KGIpKWIucmVtb3ZlKCksdkcoYSxiKTtyZXR1cm4gYn07CnZHPWZ1bmN0aW9uKGEsYil7Yi5uZXh0PWEuai5uZXh0O2IuVWE9YS5qO2Euai5uZXh0PWI7Zm9yKGIubmV4dC5VYT1iO2Euby5zaXplPjEwMDspYS5yZW1vdmVOb2RlKGEuai5VYSl9O3hHPWZ1bmN0aW9uKGEsYil7YS5qIT1iJiZhLnJlbW92ZU5vZGUoYik7cmV0dXJuIGIudmFsdWV9O3RHPWZ1bmN0aW9uKGEsYil7dGhpcy5rZXk9YTt0aGlzLnZhbHVlPWJ9O29kYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT15RztpZihhPT1udWxsfHwhYy5FZylyZXR1cm4gYjtlLmouZ2V0KGEpPT09dm9pZCAwJiZlLmouc2V0KGEsW2IsZD8/W10sITFdKTtjPWUuai5nZXQoYSk7aWYoIWMpcmV0dXJuIGI7dmFyIFtmLGgsa109YztpZihoPy5sZW5ndGgmJmQ/Lmxlbmd0aCYmZC5zb21lKChsLG0pPT5sIT09aFttXSkpcmV0dXJuIGUuai5yZW1vdmUoYSksYjtkPy5sZW5ndGgmJmUuai5zZXQoYSxbZixkLGtdKTtyZXR1cm4gaz9mOmJ9OwpfLnpHPWZ1bmN0aW9uKGEsYj17RWc6ITB9KXtyZXR1cm57TWc6ZnVuY3Rpb24oYyxkKXt2YXIgZT1fLk4oKCk9PmEoYygpKSx2b2lkIDAsIkdtcmJsYiIpLFtmLGhdPV8uQUMoKCk9Pnt2YXIgaz1jKCksbD1lKCksbT1kPy5tYXAobj0+bigpKT8/W107cmV0dXJuIG9kYShsLGssYixtKX0pO18ubkUoKCk9Pnt2YXIgaz1lKCk7ayE9bnVsbCYmKGs9eUcucmVnaXN0ZXIoayxbZixoXSwoKT0+ZD8ubWFwKGw9PmwoKSk/P1tdKSxfLll1KGspKX0sIlVtYWM2YyIpO3JldHVybltmLGZ1bmN0aW9uKGspe2goayk7dmFyIGw9ZSgpO2whPW51bGwmJnlHLnVwZGF0ZShsLCgpPT5rLGIpfV19LGdldERhdGE6ZnVuY3Rpb24oYyl7Yz1hKGMpO3JldHVybiB5Ry5nZXQoYyxiKX0sZ2s6ZnVuY3Rpb24oYyxkKXtjPWEoYyk7cmV0dXJuIHlHLnVwZGF0ZShjLGQsYil9fX07Cl8uVz1mdW5jdGlvbihhKXt2YXIge2RhdGE6YixtYXBwaW5nOmMsd3JhcHBlcjpkLHJLOmV9PXBkYShhKTtxZGEoYixjKTt2YXIgZj0oKT0+QUcoXy5CdihiKSksaD0oKT0+e3ZhciBrPUFHKF8uQnYoYikpLGw9W107Zm9yKGxldCBtIG9mIGspKGs9QkcobSkpJiZsLnB1c2goayk7cmV0dXJuIGx9O3JldHVybiBhLmRhdGE/Xy5LKGlkYSx7ZmFsbGJhY2s6ZX0sKCk9Pl8uSyhfLmdHLHtwYTpofSwoayxsKT0+e3ZhciBtPWQ/cD0+ZCgoKT0+Y1trXShwLGwpLG4sbCk6cD0+Y1trXShwLGwpO20uZGVidWdOYW1lfHwobS5kZWJ1Z05hbWU9U3RyaW5nKGspKTtpZighY1tTdHJpbmcoayldKXJldHVybiBkb2N1bWVudC5jcmVhdGVDb21tZW50KCIiKTttLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZyZGEoU3RyaW5nKGspKTt2YXIgbj1zZGEoZixrLGwpO3JldHVybiBfLksobSx7ZGF0YTpufSl9KSk6Xy5LKF8uSUIsbnVsbCl9OwpwZGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXRJZHx8dGRhKGEuY2hpbGRyZW4pO2lmKCFhLmRhdGF8fCFiKXJldHVybnsuLi5hLG1hcHBpbmc6YS5jaGlsZHJlbn07dmFyIGM9YHN0YW1wZXItJHt1ZGErK31gLGQ9KCk9Pih0eXBlb2YgYS50YXJnZXRJZD09PSJmdW5jdGlvbiI/YS50YXJnZXRJZChjKTphLnRhcmdldElkKT8/YztbYl09dmRhKCgpPT57dmFyIGY9Wy4uLkFHKGEuZGF0YSgpKV07Zi50YXJnZXRJZD1kO3JldHVybiBmfSk7dmFyIGU9ey4uLihfLnkoKS5yZXNvbHZlKF8uSW4od2RhKSl8fHt9KS5BSywuLi5hLmNoaWxkcmVufTtpZihhLkpyKXtsZXQgZj1lLm5vdGlmaWNhdGlvblRleHRSZW5kZXJlcixoPWUubm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlcjtmJiYoZS5ub3RpZmljYXRpb25UZXh0UmVuZGVyZXI9KHtkYXRhOmt9LGwpPT5hLkpyKGYoe2RhdGE6a30sbCkpKTtoJiYoZS5ub3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyPSh7ZGF0YTprfSwKbCk9PmEuSnIoaCh7ZGF0YTprfSxsKSkpfXJldHVybnsuLi5hLGRhdGE6YixtYXBwaW5nOmUsd3JhcHBlcjooZixoLGspPT5fLnBHKHt0YXJnZXRJZDpkLFlLOmt9LGEud3JhcHBlcj8oKT0+YS53cmFwcGVyKGYsaCxrKTpmKX19O3NkYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIF8uTigoKT0+e3ZhciBlPWEoKVtjKCldO2lmKGUpZD1lW2JdO2Vsc2UgcmV0dXJuIF8uSXAobmV3IF8uWGooYFN0YW1wZXIgZmFpbGVkIHRvIGZpbmQgJHtTdHJpbmcoYil9IGF0IGluZGV4ICR7YygpfSBvZiBkYXRhIGFycmF5IG9mIGxlbmd0aCAke2EoKS5sZW5ndGh9IChiLzM2NTY0MzM1OSkuIERpZCB5b3UgYWNjZXNzIGEgc2lnbmFsIGFmdGVyIGEgY29tcG9uZW50IGhhcyBiZWVuIGNsZWFuZWQgdXA/YCkpLGQ7cmV0dXJuIGVbYl19LHZvaWQgMCwic0VydGpkIil9OwpCRz1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7Zm9yKGxldCBjIGluIGEpaWYoISghYSkuaGFzT3duUHJvcGVydHkoYykpe2I9YzticmVha31yZXR1cm4gYn07dGRhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhhKSlpZih4ZGEuaW5jbHVkZXMoYil8fHlkYS5pbmNsdWRlcyhiKXx8emRhLmluY2x1ZGVzKGIpKXJldHVybiEwO3JldHVybiExfTtBRz1mdW5jdGlvbihhKXtyZXR1cm4gYT9BcnJheS5pc0FycmF5KGEpJiZhIGluc3RhbmNlb2YgQXJyYXk/YTpbYV06W119O3JkYT1mdW5jdGlvbihhKXtfLngoIndlYl9lbmFibGVfcmVuZGVyZXJfbG9nZ2VyIikmJl8ueSgpLnJlc29sdmUoXy5JbihfLkNHKSk/Lnd5KGEpfTsKcWRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEFkYSkpO2MmJl8ubkUoKCk9Pnt2YXIgZD1BRyhfLkJ2KGEpKSxlPTAsZj0hMTtmb3IodmFyIGggb2YgZCl7ZD1CRyhoKTtpZighZHx8IWJbU3RyaW5nKGQpXSl7Zj0hMDticmVha31lKyt9aD1jLlZLO2Q9Yy5XSztlPjAmJiFmP2gubyhkKCkpOmguaihkKCkpfSwiRGhPVXhlIil9O2pkYT17UmgoYSl7aWYoXy5mdSBpbiBhfHxfLmZkYSBpbiBhKXtsZXQgYj10aGlzLmVudHJpZXMuZ2V0KGEuQ2IudG9rZW4pO2lmKGIhPT12b2lkIDApcmV0dXJuIGIudmFsdWV9cmV0dXJuIHRoaXMucGFyZW50P18uY3UodGhpcy5wYXJlbnQsYSk6Xy5hdX19OwpsZGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9YVtfLnUuU3ltYm9sLml0ZXJhdG9yXSgpO3RoaXMubz1ifVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXN9bmV4dCgpe3ZhciBhPXRoaXMuai5uZXh0KCk7cmV0dXJue3ZhbHVlOmEuZG9uZT92b2lkIDA6dGhpcy5vLmNhbGwodm9pZCAwLGEudmFsdWUpLGRvbmU6YS5kb25lfX19O18uZz1xRy5wcm90b3R5cGU7Xy5nLk1jPWZ1bmN0aW9uKCl7c0codGhpcyk7dmFyIGE9W107Zm9yKGxldCBiPTA7Yjx0aGlzLmoubGVuZ3RoO2IrKylhLnB1c2godGhpcy5vW3RoaXMualtiXV0pO3JldHVybiBhfTtfLmcucmQ9ZnVuY3Rpb24oKXtzRyh0aGlzKTtyZXR1cm4gdGhpcy5qLmNvbmNhdCgpfTtfLmcuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiByRyh0aGlzLm8sYSl9O18uZy5lcXVhbHM9ZnVuY3Rpb24oYSxiKXtpZih0aGlzPT09YSlyZXR1cm4hMDtpZih0aGlzLnNpemUhPWEuc2l6ZSlyZXR1cm4hMTtiPWJ8fG5kYTtzRyh0aGlzKTt2YXIgYztmb3IobGV0IGQ9MDtjPXRoaXMualtkXTtkKyspaWYoIWIodGhpcy5nZXQoYyksYS5nZXQoYykpKXJldHVybiExO3JldHVybiEwfTtfLmcuaXNFbXB0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNpemU9PTB9O18uZy5jbGVhcj1mdW5jdGlvbigpe3RoaXMubz17fTt0aGlzLkFlPXRoaXMuc2l6ZT10aGlzLmoubGVuZ3RoPTB9OwpfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRlbGV0ZShhKX07Xy5nLmRlbGV0ZT1mdW5jdGlvbihhKXtyZXR1cm4gckcodGhpcy5vLGEpPyhkZWxldGUgdGhpcy5vW2FdLC0tdGhpcy5zaXplLHRoaXMuQWUrKyx0aGlzLmoubGVuZ3RoPjIqdGhpcy5zaXplJiZzRyh0aGlzKSwhMCk6ITF9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gckcodGhpcy5vLGEpP3RoaXMub1thXTpifTtfLmcuc2V0PWZ1bmN0aW9uKGEsYil7ckcodGhpcy5vLGEpfHwodGhpcy5zaXplKz0xLHRoaXMuai5wdXNoKGEpLHRoaXMuQWUrKyk7dGhpcy5vW2FdPWJ9O18uZy5mb3JFYWNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5yZCgpO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXtsZXQgZT1jW2RdLGY9dGhpcy5nZXQoZSk7YS5jYWxsKGIsZixlLHRoaXMpfX07Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBxRyh0aGlzKX07Xy5nLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zaCh0aGlzLmJkKCEwKSkuaigpfTsKXy5nLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITEpKS5qKCl9O18uZy5lbnRyaWVzPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztyZXR1cm4gbWRhKHRoaXMua2V5cygpLGZ1bmN0aW9uKGIpe3JldHVybltiLGEuZ2V0KGIpXX0pfTtfLmcuYmQ9ZnVuY3Rpb24oYSl7c0codGhpcyk7dmFyIGI9MCxjPXRoaXMuQWUsZD10aGlzLGU9bmV3IF8ub2g7ZS5uZXh0PWZ1bmN0aW9uKCl7aWYoYyE9ZC5BZSl0aHJvdyBFcnJvcigiY2QiKTtpZihiPj1kLmoubGVuZ3RoKXJldHVybiBfLmFzO3ZhciBmPWQualtiKytdO3JldHVybnt2YWx1ZTphP2Y6ZC5vW2ZdLGRvbmU6ITF9fTtyZXR1cm4gZX07Xy5nPXVHLnByb3RvdHlwZTtfLmcuZ2V0PWZ1bmN0aW9uKGEsYil7cmV0dXJuKGE9d0codGhpcyxhKSk/YS52YWx1ZTpifTtfLmcuc2V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9d0codGhpcyxhKTtjP2MudmFsdWU9YjooYz1uZXcgdEcoYSxiKSx0aGlzLm8uc2V0KGEsYyksdkcodGhpcyxjKSl9O18uZy51ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmoubmV4dC52YWx1ZX07Xy5nLnNoaWZ0PWZ1bmN0aW9uKCl7cmV0dXJuIHhHKHRoaXMsdGhpcy5qLm5leHQpfTtfLmcucG9wPWZ1bmN0aW9uKCl7cmV0dXJuIHhHKHRoaXMsdGhpcy5qLlVhKX07Xy5nLnJlbW92ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10aGlzLm8uZ2V0KGEpKT8odGhpcy5yZW1vdmVOb2RlKGEpLCEwKTohMX07Xy5nLnJlbW92ZU5vZGU9ZnVuY3Rpb24oYSl7YS5yZW1vdmUoKTt0aGlzLm8ucmVtb3ZlKGEua2V5KX07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vLmlzRW1wdHkoKX07Cl8uZy5yZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihhLGIpe3JldHVybiBifSl9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYX0pfTtfLmcuY29udGFpbnM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gYj09YX0pfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuby5zaXplPjA7KXRoaXMucmVtb3ZlTm9kZSh0aGlzLmouVWEpfTtfLmcuZm9yRWFjaD1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz10aGlzLmoubmV4dDtjIT10aGlzLmo7Yz1jLm5leHQpYS5jYWxsKGIsYy52YWx1ZSxjLmtleSx0aGlzKX07Xy5nLm1hcD1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2ZvcihsZXQgZD10aGlzLmoubmV4dDtkIT10aGlzLmo7ZD1kLm5leHQpYy5wdXNoKGEuY2FsbChiLGQudmFsdWUsZC5rZXksdGhpcykpO3JldHVybiBjfTsKXy5nLnNvbWU9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWlmKGEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcykpcmV0dXJuITA7cmV0dXJuITF9O18uZy5ldmVyeT1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz10aGlzLmoubmV4dDtjIT10aGlzLmo7Yz1jLm5leHQpaWYoIWEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcykpcmV0dXJuITE7cmV0dXJuITB9O3RHLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt0aGlzLlVhLm5leHQ9dGhpcy5uZXh0O3RoaXMubmV4dC5VYT10aGlzLlVhO2RlbGV0ZSB0aGlzLlVhO2RlbGV0ZSB0aGlzLm5leHR9O3ZhciB5Rz1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm89bmV3IE1hcDt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IHVHfWdldChhLGIpe3ZhciBjPXRoaXMuby5nZXQoYSk7aWYoYylyZXR1cm4gY1swXSgpO2lmKGIuRWcmJmEhPW51bGwpcmV0dXJuIHRoaXMuai5nZXQoYSk/LlswXX11cGRhdGUoYSxiLGMpe3ZhciBkPXRoaXMuby5nZXQoYSk7aWYoZCl7bGV0IFtlLGZdPWQ7Yj1iKGUoKSk7ZihiKTtjLkVnJiZhIT1udWxsJiYoYz10aGlzLnYuZ2V0KGEpLHRoaXMuai5zZXQoYSxbYixjPy4oKT8/W10sITBdKSk7cmV0dXJuITB9aWYoYy5FZyYmYSE9bnVsbCYmKGM9dGhpcy5qLmdldChhKSkpe2xldCBbZSxmXT1jO2I9YihlKTt0aGlzLmouc2V0KGEsW2IsZiwhMF0pO3JldHVybiEwfXJldHVybiExfXJlZ2lzdGVyKGEsYixjKXtpZihhPT1udWxsKXJldHVybigpPT57fTt0aGlzLm8uc2V0KGEsYik7YyYmdGhpcy52LnNldChhLGMpO3JldHVybigpPT57dGhpcy5vLmdldChhKT09PQpiJiYodGhpcy5vLmRlbGV0ZShhKSx0aGlzLnYuZGVsZXRlKGEpKX19fTtfLkNHPW5ldyBfLlZzKCJSRU5ERVJFUl9MT0dHRVJfVE9LRU4iKTt2YXIgd2RhPW5ldyBfLlZzKCJSRU5ERVJFUl9TVEFNUEVSX09QVElPTlNfVE9LRU4iKTt2YXIgQWRhPW5ldyBfLlZzKCJSRU5ERVJFUl9TVEFNUEVSX1NVQ0NFU1NfU0xJX1RPS0VOIik7dmFyIHhkYT0iY29tcGFjdFJhZGlvUmVuZGVyZXIgY29tcGFjdFBsYXlsaXN0UmVuZGVyZXIgcGxheWxpc3RWaWRlb1JlbmRlcmVyIGNvbXBhY3RWaWRlb1JlbmRlcmVyIGZlZWROdWRnZVJlbmRlcmVyIGdyaWRWaWRlb1JlbmRlcmVyIHByaW1ldGltZVByb21vUmVuZGVyZXIgcmFkaW9SZW5kZXJlciBwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHJlZWxJdGVtUmVuZGVyZXIgcmVlbFNoZWxmUmVuZGVyZXIgcmljaFNoZWxmUmVuZGVyZXIgc2VhcmNoSGlzdG9yeVF1ZXJ5UmVuZGVyZXIgc2hlbGZSZW5kZXJlciB2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIgdmlkZW9DYXJkUmVuZGVyZXIgc3RhdGVtZW50QmFubmVyUmVuZGVyZXIgbWluaUdhbWVDYXJkVmlld01vZGVsIHNob3J0c0xvY2t1cFZpZXdNb2RlbCBsb2NrdXBWaWV3TW9kZWwgZ3JpZFNoZWxmVmlld01vZGVsIi5zcGxpdCgiICIpLHpkYT1bIm5vdGlmaWNhdGlvblRleHRSZW5kZXJlciIsIm5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXIiXSwKeWRhPSJwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHN0YXRlbWVudEJhbm5lclJlbmRlcmVyIGJyYW5kVmlkZW9TaGVsZlJlbmRlcmVyIGJyYW5kVmlkZW9TaW5nbGV0b25SZW5kZXJlciBmZWVkTnVkZ2VSZW5kZXJlciBwbGF5bGlzdFZpZGVvUmVuZGVyZXIiLnNwbGl0KCIgIikse01nOnZkYX09Xy56RyhhPT5fLkJ2KGE/LnRhcmdldElkKSk7dmFyIHVkYT0wO18uVy5kZWJ1Z05hbWU9IkVqSmJDZSI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBWYmE7VmJhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGEsYix2b2lkIDApfTtfLk5EPWZ1bmN0aW9uKGEpe2E9WyhhJjE2NzExNjgwKT4+PjE2LChhJjY1MjgwKT4+PjgsYSYyNTUsKGEmNDI3ODE5MDA4MCk+Pj4yNF07aWYoIVZiYShhLGI9PmI9PT0oYiYyNTUpKSl0aHJvdyBFcnJvcigiUmNgIithLmpvaW4oIiwiKSk7cmV0dXJuYHJnYmEoJHthWzBdfSwke2FbMV19LCR7YVsyXX0sJHsoYVszXS8yNTUpLnRvRml4ZWQoMyl9KWB9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtBPWZ1bmN0aW9uKHt0eXBlOmEscGF5bG9hZDpifSl7YT17dHlwZTphfTtiIT09dm9pZCAwJiYoYS5wYXlsb2FkPWIpO3JldHVybiBhfTsvKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KXy5sQT0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIik7Xy5tQT1gQEByZWR1eC9JTklUJHtfLmxBKCl9YDtfLlJhYT1gQEByZWR1eC9SRVBMQUNFJHtfLmxBKCl9YDtfLm5BPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmtBKHt0eXBlOiJSRVBMQUNFX0VOVElUWSIscGF5bG9hZDp7eGw6YyxlbnRpdHlUeXBlOmEsa2V5OmJ9fSl9O18ucEE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmtBKHt0eXBlOiJVUERBVEVfRU5USVRZIixwYXlsb2FkOnt4bDpjLGVudGl0eVR5cGU6YSxrZXk6YixJeTp2b2lkIDB9fSl9O18ucUE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhW2JdP2FbYl1bY118fG51bGw6bnVsbH07KCgpPT57dmFyIGE9ZD0+bmV3IFVpbnQ4QXJyYXkoZCksYj1kPT57dmFyIGU9bmV3IFVpbnQ4QXJyYXkoZC5sZW5ndGgpO2ZvcihsZXQgZj0wO2Y8ZC5sZW5ndGg7ZisrKWVbZl09ZFtmXTtyZXR1cm4gZX0sYz1uZXcgVWludDhBcnJheShbMV0pO3JldHVybiBjLmxlbmd0aD09PTEmJmNbMF09PT0xP2E6Yn0pKCk7Xy5yQT1BcnJheSgxMDI0KTtfLnNBPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7Xy50QT10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6dm9pZCAwO18udUE9e2FuaW1hdGlvbkVudGl0eTozMDIsYWNjb3VudExpbmtTdGF0dXNFbnRpdHk6MTIyLGFza1N0dWRpb0dlbmVyYXRlZERhdGFFbnRpdHk6NjMwLGJvb2xlYW5FbnRpdHk6MzA3LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6NjM3LGJ1dHRvbkVudGl0eTozNTgsY2FwdGlvblRyYWNrOjIyNSxjaGFubmVsSGFuZGxlOjI3NSxjaGlwRW50aXR5OjQ5OCxjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eToyNzYsY29tbWVyY2VDYXJ0TGlzdEVudGl0eToyMzYsY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHk6NTMyLGNvbXBvc2l0ZVNvdXJjZUVudGl0eTo1OTQsY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZDo0ODMsY29udGV4dE5vdGVVc2VyUmF0aW5nRW50aXR5UGF5bG9hZDo1NzYsY29udGludWF0aW9uVG9rZW5FbnRpdHk6NDA2LGRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eToyMDIsZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eToyOTksCmRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eToyNjQsZG93bmxvYWRTdGF0dXNFbnRpdHk6MTQxLGRpc21pc3NTdGF0ZTo1NDAsc2Z2QXVkaW9JdGVtQ3VycmVudGx5UGxheWluZ0VudGl0eToxODYsZW1vamlGb3VudGFpbkRhdGFFbnRpdHk6MzkzLGVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eTo0OTYsZmFrZUNoYW5uZWw6MixmYWtlUGxheWxpc3Q6Mjc5LGZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbjoyODAsZmFrZVZpZGVvOjE4MixmYWtlVmlkZW9EZXNjcmlwdGlvbjoyNzgsZmVhdHVyZWRQcm9kdWN0c0VudGl0eTozOTIsc2F2ZWRQcm9kdWN0c1N0YXRlRW50aXR5OjU5OCxmbG93U3RhdGVFbnRpdHk6MjUyLGljb25CYWRnZUVudGl0eToyMjksaW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eTo0NDMsbGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eTo1NjcsbGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHk6MjE3LGxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHk6NTYzLApsaXZlVmlld2VyTGVhZGVyYm9hcmRQb2ludHNFbnRpdHk6NTY0LGxpdmVSZWFjdGlvbnNEYXRhRW50aXR5OjUwMyxsb2dvRW50aXR5OjI0NSxtYWNyb01hcmtlckVudGl0eTozMjksbWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHk6MTU4LG1haW5Eb3dubG9hZHNMaXN0RW50aXR5OjE2NCxtYWluUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5OjM3MyxtYWluUGxheWxpc3RFbnRpdHk6MzA2LG1haW5QbGF5bGlzdFZpZGVvRW50aXR5OjM2OCxtYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5OjI2MixtYWluVmlkZW9FbnRpdHk6MjYxLG1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5OjE5NixtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5OjMxMixtdXNpY0FsYnVtUmVsZWFzZURldGFpbDoxOCxtdXNpY0FsYnVtUmVsZWFzZURvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjU5LG11c2ljQWxidW1SZWxlYXNlOjE3LG11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbDoxOSxtdXNpY0FydGlzdERldGFpbDoyMSwKbXVzaWNBcnRpc3Q6MjAsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOjIyLG11c2ljRG93bmxvYWRzTGlicmFyeUVudGl0eToyNTcsbXVzaWNMaWJyYXJ5RWRpdDoxMjEsbXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5OjMxOCxtdXNpY1BsYXlsaXN0OjI0LG11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5OjI0OCxtdXNpY1NoYXJlOjEwMCxtdXNpY1RyYWNrRGV0YWlsOjI5LG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5OjIzNCxtdXNpY1RyYWNrOjI4LG11c2ljVHJhY2tVc2VyRGV0YWlsOjMwLG9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eToxNjksb2ZmbGluZVZpZGVvUG9saWN5OjEzMCxvZmZsaW5lVmlkZW9TdHJlYW1zOjE5OCxvZmZsaW5lYWJpbGl0eUVudGl0eToyNDYsb3JjaGVzdHJhdGlvbldlYlNhbXBsaW5nRW50aXR5OjI0MixwYWdlSGVhZGVyRW50aXR5OjQ5NSxwYXJ0eUdhbWVQYW5lbEVudGl0eTo2MTgsc2xpZGVyR2FtZVBhbmVsRW50aXR5OjYzMywKcGRwU3RhdGVFbnRpdHk6NTI0LHBpbm5lZFByb2R1Y3RFbnRpdHk6MjczLHBsYXliYWNrRGF0YToxMTkscGxheWVyU3RhdGVFbnRpdHk6MzIzLHBsYXlsaXN0VGh1bWJuYWlsRWRpdHNFbnRpdHk6NTM5LHF1YW50aXR5SW5jcmVtZW50ZXJFbnRpdHk6MzU2LHJlZnJlc2g6MTQ4LHNhdmVUb1BsYXlsaXN0TGlzdEVudGl0eToyMzEsc2VsZWN0ZWRDaGlwSW5kZXhFbnRpdHlQYXlsb2FkOjQ3OSxzZWxlY3Rpb25WYWx1ZUxpc3RFbnRpdHk6NjM0LHNldHRpbmdFbnRpdHk6Mjk3LHN0cmluZ0VudGl0eTozODIsc3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHk6NDg1LHRyYW5zZmVyOjEyMCx0cmVuZGluZ09mZmVyRW50aXR5OjQ2OSx1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eTo2MzUsdmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHk6NDYxLHZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6NTQ1LHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTo3Nix2b3RpbmdFbnRpdHk6NTYxLAp5dE1haW5DaGFubmVsRW50aXR5OjE1Mix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OjU1Myx5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6MTU1LHl0TWFpblZpZGVvRW50aXR5OjE1MX07Xy52QT17fTtmb3IobGV0IFthLGJdb2YgT2JqZWN0LmVudHJpZXMoXy51QSkpe2xldCBjPWEsZD1iO2QmJihfLnZBW2RdPWMpfTsoKCk9Pnt2YXIgYT1kPT5uZXcgVWludDhBcnJheShkKSxiPWQ9Pnt2YXIgZT1uZXcgVWludDhBcnJheShkLmxlbmd0aCk7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspZVtmXT1kW2ZdO3JldHVybiBlfSxjPW5ldyBVaW50OEFycmF5KFsxXSk7cmV0dXJuIGMubGVuZ3RoPT09MSYmY1swXT09PTE/YTpifSkoKTtfLlNhYT1fLiRsKCJ5dC1pZGItcHJlZi1zdG9yYWdlIix7c2U6e3ByZWZzOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiZfLm9sKF8ua2woYSwicHJlZnMiLHtrZXlQYXRoOiJrZXkifSksImJ5RXhwaXJhdGlvbiIsImV4cGlyYXRpb25UaW1lc3RhbXBNcyIpfSx2ZXJzaW9uOjF9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGpFO18uaUU9ZnVuY3Rpb24oYSxiKXthPVsoYSYxNjcxMTY4MCk+Pj4xNiwoYSY2NTI4MCk+Pj44LGEmMjU1XTtyZXR1cm5gcmdiYSgke2FbMF19LCAke2FbMV19LCAke2FbMl19LCAke2J9KWB9O18ua0U9ZnVuY3Rpb24oYSl7aWYoYS5zb3VyY2VzKWZvcihsZXQgYiBvZiBhLnNvdXJjZXMpaWYoYi5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lfHxiLmN1c3RvbUltYWdlU291cmNlJiZfLkIoYi5jdXN0b21JbWFnZVNvdXJjZSxqRSk/LmNsaWVudFJlc291cmNlPy5pY29uKXJldHVybiBifTsKXy5sRT1mdW5jdGlvbihhKXtpZihhPy5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lKXtsZXQgYj1hLmNsaWVudFJlc291cmNlPy5pbWFnZU5hbWU7YTp7c3dpdGNoKGIpe2Nhc2UgInl0X3ByZW1pdW1fd29yZG1hcmtfaGVhZGVyX2xpZ2h0IjpjYXNlICJ5dF9wcmVtaXVtX3dvcmRtYXJrX2hlYWRlcl9kYXJrIjphPSJZT1VUVUJFX1BSRU1JVU1fTE9HT19TSE9SVCI7YnJlYWsgYTtjYXNlICJ5dF93b3JkbWFya19oZWFkZXJfbGlnaHQiOmNhc2UgInl0X3dvcmRtYXJrX2hlYWRlcl9kYXJrIjphPSJMT0dPX1dJVEhfVEVYVCI7YnJlYWsgYX1hPXZvaWQgMH1yZXR1cm4gYXx8Z2NhLmdldChiKXx8Yn1pZihhPy5jdXN0b21JbWFnZVNvdXJjZSYmKGE9Xy5CKGEuY3VzdG9tSW1hZ2VTb3VyY2UsakUpPy5jbGllbnRSZXNvdXJjZT8uaWNvbikpcmV0dXJuIGF9O2pFPW5ldyBfLkkoInlvdXR1YmVJY29uU291cmNlIik7Xy5tRT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTt2YXIgZ2NhPW5ldyBNYXAoW1sieXRfb3V0bGluZV9iYWdfYmxhY2tfMjQiLCJiYWciXV0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLktEPWZ1bmN0aW9uKGEpe2lmKGE9YS5tYXRjaChVYmEpKXJldHVybntpY29uTmFtZTphWzJdLGh4OmFbMV0udG9VcHBlckNhc2UoKT09PSJGSUxMIixpY29uU2l6ZTpOdW1iZXIoYVszXSl9fTtfLkxEPW5ldyBfLlZzKCJJQ09OX1dJWl9DT01QT05FTlRfVE9LRU4iKTt2YXIgVWJhO1ViYT0vXllUSUNPTl8oZmlsbHxvdXRsaW5lKV8oW2EtekEtWjAtOV9dKylfcyhbMC05XSspJC9pOwpfLk1EPV8uTCgoe2ljb246YSxhY3RpdmU6YixjbGFzc05hbWU6YyxzdHlsZTpkLHlwOmUsaGM6Zixyb2xlOmgsR2U6ayxIYzpsLGFyaWFIaWRkZW46bSxhcmlhRXhwYW5kZWQ6bixhcmlhTGFiZWw6cCx0YWJpbmRleDpyLGlkOnQsc2l6ZTp2LGFnOnosWnA6RSxlcjpBLHRpdGxlOkZ9KT0+e3ZhciBDPV8uTigoKT0+e3ZhciBSPWE/LigpO2lmKFIpcmV0dXJuIF8uS0QoUil9LHZvaWQgMCwiTTBpNXZmIiksRz0oKT0+QygpPy5pY29uTmFtZT8/YT8uKCksRD0oKT0+dj8uKCk/P0MoKT8uaWNvblNpemUsSD0oKT0+Yj8uKCk/P0MoKT8uaHg7cmV0dXJuIF8uSyhfLk8se0E6YSx0aGVuOigpPT57dmFyIFI9Xy55KCkucmVzb2x2ZShfLkxEKTtyZXR1cm4gXy5LKFIse2ljb246Ryx5cDplLGhjOmYsR2U6ayxIYzpsLGFyaWFFeHBhbmRlZDpuLHRhYmluZGV4OnIsaWQ6dCxhY3RpdmU6SCxzaXplOkQscm9sZTpoLGNsYXNzTmFtZTpjLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6cCxzdHlsZTooKT0+CntpZighRCgpKXJldHVybiBkPy4oKTt2YXIgTT1gd2lkdGg6ICR7RCgpfXB4OyBoZWlnaHQ6ICR7RCgpfXB4O2A7cmV0dXJuIGQ/LigpP2Ake019ICR7ZCgpfWA6TX0sdGl0bGU6RixhZzp6LFpwOkUsZXI6QX0pfX0pfSwiaiIpO18uTUQuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntlcjohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS0UsTEUsbWNhLG5jYSxORSxwY2EscWNhLHJjYSx1Y2Esd2NhLHZjYSxYRSx4Y2EseWNhLEFjYSx6Y2E7Xy5KRT1mdW5jdGlvbihhKXthJj0xNjc3NzIxNTt2YXIgYj1bKGEmMTY3MTE2ODApPj4xNiwoYSY2NTI4MCk+PjgsYSYyNTVdO2E9YlswXTt2YXIgYz1iWzFdO2I9YlsyXTthPU51bWJlcihhKTtjPU51bWJlcihjKTtiPU51bWJlcihiKTtpZihhIT0oYSYyNTUpfHxjIT0oYyYyNTUpfHxiIT0oYiYyNTUpKXRocm93IEVycm9yKCJRY2AiK2ErImAiK2MrImAiK2IpO2M9YTw8MTZ8Yzw8OHxiO3JldHVybiBhPDE2PyIjIisoMTY3NzcyMTZ8YykudG9TdHJpbmcoMTYpLnNsaWNlKDEpOiIjIitjLnRvU3RyaW5nKDE2KX07S0U9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc291cmNlcyE9PXZvaWQgMHx8YS5wcm9jZXNzb3IhPT12b2lkIDB9OwpMRT1mdW5jdGlvbihhKXt2YXIgYj1hLnRodW1ibmFpbHM7aWYoYil7YT17c291cmNlczpbXX07Zm9yKGxldCBjIG9mIGIpYj17fSxiLnVybD1jLnVybCxiLndpZHRoPWMud2lkdGgsYi5oZWlnaHQ9Yy5oZWlnaHQsYS5zb3VyY2VzLnB1c2goYik7cmV0dXJuIGF9fTttY2E9ZnVuY3Rpb24oYSxiLGMpe2M9Yz9bY106W107YS5vcGFjaXR5JiZjLnB1c2goYG9wYWNpdHk6ICR7YS5vcGFjaXR5fTtgKTtiJiZhLnBsYWNlaG9sZGVyQ29sb3I/KGE9Xy5ORChhLnBsYWNlaG9sZGVyQ29sb3IpLGMucHVzaChgYmFja2dyb3VuZC1jb2xvcjogJHthfTtgKSk6Yy5wdXNoKCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiKTtyZXR1cm4gYy5qb2luKCIgIil9OwpuY2E9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1bInl0Q29yZUltYWdlSG9zdCJdO2ImJmYucHVzaChiKTtjfHxmLnB1c2goInl0Q29yZUltYWdlRmlsbFBhcmVudEhlaWdodCIpO2R8fGYucHVzaCgieXRDb3JlSW1hZ2VGaWxsUGFyZW50V2lkdGgiKTtzd2l0Y2goYS5jb250ZW50TW9kZSl7Y2FzZSAiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSVQiOmYucHVzaCgieXRDb3JlSW1hZ2VDb250ZW50TW9kZVNjYWxlQXNwZWN0Rml0Iik7YnJlYWs7Y2FzZSAiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSUxMIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpbGwiKTticmVhaztjYXNlICJDT05URU5UX01PREVfQ0VOVEVSIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVDZW50ZXIiKTticmVhaztkZWZhdWx0OmYucHVzaCgieXRDb3JlSW1hZ2VDb250ZW50TW9kZVNjYWxlVG9GaWxsIil9YS5mbGlwRm9yUnRsTGF5b3V0JiZmLnB1c2goInl0Q29yZUltYWdlRmxpcFJ0bCIpOwpzd2l0Y2goZSl7Y2FzZSAiVE9QX1NUQVJUIjpmLnB1c2goZG9jdW1lbnQuYm9keT8uZ2V0QXR0cmlidXRlKCJkaXIiKT09PSJydGwiPyJ5dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wUmlnaHQiOiJ5dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wTGVmdCIpfXJldHVybiBmLmpvaW4oIiAiKX07Xy5NRT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cubWF0Y2hNZWRpYSYmd2luZG93Lm1hdGNoTWVkaWEoIihvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIpLm1hdGNoZXN9O05FPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O2E9Xy5CKGEucHJvY2Vzc29yLG9jYSk7dmFyIGM9KGM9YT8uaW1hZ2VUaW50Py5jb2xvcik/Xy5ORChjKTp2b2lkIDA7YyYmKGIuY29sb3I9Yyk7aWYoYz1wY2EoYSkpYi5ueT1jO2lmKGE9cWNhKGEpKWIuTno9YTtyZXR1cm4gYn07CnBjYT1mdW5jdGlvbihhKXt2YXIgYj1hPy5saW5lYXJHcmFkaWVudDtpZihiJiZiPy5jb2xvcnMmJmI/LmNvbG9ycz8ubGVuZ3RoIT09MCl7dmFyIGM9Yi5jb2xvcnMubWFwKGU9Pl8uTkQoZSkpO2E9Yi5hbmdsZSE9PXZvaWQgMD9gJHtiLmFuZ2xlfWRlZywgYDoiIjt2YXIgZD1iLnBvc2l0aW9ucztpZighZHx8ZC5sZW5ndGghPT1jLmxlbmd0aClyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7YX0ke2Muam9pbigiLCAiKX0pYDtiPWMubWFwKChlLGYpPT5gJHtlfSAke2RbZl0qMTAwfSVgKTtyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7YX0ke2Iuam9pbigiLCAiKX0pYH19OwpxY2E9ZnVuY3Rpb24oYSl7aWYoKGE9YT8ucmFkaWFsR3JhZGllbnQpJiZhPy5jb2xvcnMmJmE/LmNvbG9ycz8ubGVuZ3RoIT09MCl7dmFyIGI9YS5jb2xvcnMubWFwKGs9Pl8uTkQoaykpLGM9YS5jZW50ZXJVbml0Pz8iRElNRU5TSU9OX1VOSVRfRlJBQ1RJT04iLGQ9Yz09PSJESU1FTlNJT05fVU5JVF9QT0lOVCI/InB4IjoiJSIsZT1jPT09IkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIj8xMDA6MTtjPWAkeyhhLmNlbnRlclg/Py41KSplfSR7ZH1gO2Q9YCR7KGEuY2VudGVyWT8/LjUpKmV9JHtkfWA7dmFyIGY9YS5yYWRpdXM7ZT0iIjtlPWYhPT12b2lkIDA/YGNpcmNsZSAke2Z9cHhgOiJlbGxpcHNlIjt2YXIgaD1hLnBvc2l0aW9ucztpZighaHx8aC5sZW5ndGghPT1iLmxlbmd0aClyZXR1cm5gcmFkaWFsLWdyYWRpZW50KCR7ZX0gYXQgJHtjfSAke2R9LCAke2Iuam9pbigiLCAiKX0pYDthPWIubWFwKChrLGwpPT5gJHtrfSAke2hbbF0qMTAwfSVgKTtyZXR1cm5gcmFkaWFsLWdyYWRpZW50KCR7ZX0gYXQgJHtjfSAke2R9LCAke2Euam9pbigiLCAiKX0pYH19OwpfLk9FPWZ1bmN0aW9uKGEpe18uamYuR2EoKCk9Pnt0cnl7YSgpfWNhdGNoKGIpe18uT3QoYil9fSw4KX07cmNhPWZ1bmN0aW9uKGEpe3ZhciBiPSgxK2EubWFyZ2luKSooZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodHx8d2luZG93LmlubmVySGVpZ2h0KTthLmo9YS5qLmZpbHRlcihjPT57dmFyIGQ9Yy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsoZD1iPmQudG9wJiYhIWQuaGVpZ2h0KSYmYS5CKGMpO3JldHVybiFkJiZjLnBhcmVudE5vZGV9KTthLnY9ITF9O18uUEU9ZnVuY3Rpb24oYSl7aWYoIm1hdGNoTWVkaWEiaW4gd2luZG93KXJldHVybiB3aW5kb3cubWF0Y2hNZWRpYShhLmxhbmRzY2FwZSsiLCIrYS5wb3J0cmFpdCkubWF0Y2hlc307Xy5URT1mdW5jdGlvbigpe2lmKFFFPT09dm9pZCAwKXtsZXQgYT1fLlBFKHNjYSk7UUU9YSE9PXZvaWQgMD9hOl8uUkU+PTkzMCYmU0U+PTU1MHx8Xy5SRT49NTUwJiZTRT49OTMwfXJldHVybiBRRX07CnVjYT1mdW5jdGlvbihhLGIpe2EuSm09Yjt0Y2Eub2JzZXJ2ZShhKX07CndjYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoayl7dmFyIGw9TWF0aC5yb3VuZCgoMCxfLmVsKSgpLWQpO1VFPU1hdGgubWF4KDAsVUUtMSk7bD17ZHVyYXRpb25Mb2FkaW5nTXM6bCx3aWR0aFB4OmEubmF0dXJhbFdpZHRoLGhlaWdodFB4OmEubmF0dXJhbEhlaWdodCx2aWV3V2lkdGhQeDphLmNsaWVudFdpZHRoLHZpZXdIZWlnaHRQeDphLmNsaWVudEhlaWdodCxmaW5pc2hlZExvYWRpbmc6ITAsaXNMb2FkRXJyb3I6ayxsb2FkTnVtYmVyOmUsY29uY3VycmVudExvYWRzOlVFfTtiJiZiLmltYWdlQ2xhc3NpZmljYXRpb25UeXBlIT1udWxsJiYobC5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZT1iLmltYWdlQ2xhc3NpZmljYXRpb25UeXBlKTtpZighayl0cnl7bGV0IG09cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShhLnNyYyk7aWYobSYmbS5sZW5ndGg+MCl7bGV0IG49bVttLmxlbmd0aC0xXTtuLnRyYW5zZmVyU2l6ZSYmKGwuZG93bmxvYWRlZEJ5dGVzPW4udHJhbnNmZXJTaXplKX19Y2F0Y2gobSl7fV8uRXAoInRodW1ibmFpbExvYWRlZCIsCmwpO2lmKGs9VkUuZ2V0KGEpKWEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsay5vbkxvYWQpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGsub25FcnJvcik7VkUuZGVsZXRlKGEpfWlmKF8ueCgid2ViX2ltYWdlX2xvYWRfdGVsZW1ldHJ5Iikpe3ZjYShhKTtVRSsrO1dFKys7dmFyIGQ9KDAsXy5lbCkoKSxlPVdFLGY9KCk9PntjKCExKX0saD0oKT0+e2MoITApfTthLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGYpO2EuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGgpO1ZFLnNldChhLHtvbkxvYWQ6ZixvbkVycm9yOmh9KX19O3ZjYT1mdW5jdGlvbihhKXt2YXIgYj1WRS5nZXQoYSk7YiYmKGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsYi5vbkxvYWQpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGIub25FcnJvciksVUU9TWF0aC5tYXgoMCxVRS0xKSxWRS5kZWxldGUoYSkpfTsKWEU9ZnVuY3Rpb24oYSxiLGMpe2ImJl8uVHQoYSxiKTtjJiZhLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbWFnZS11bmxvYWRlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9O3hjYT1mdW5jdGlvbihhLGIsYyxkLGU9ITApe2Z1bmN0aW9uIGYoKXt2YXIgaD1jKGIsYSk7aCYmYS5nZXRBdHRyaWJ1dGUoInNyYyIpIT09aCYmKGghPT1hLnNyYyYmKGEuc3JjPWgpLHdjYShhLGQpLGQmJlhFKGEsZC50aixkLkJtKSl9YS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpO2QmJlhFKGEsZC50aixkLkJtKTtiJiYoZT91Y2EoYSxmKTpmKCkpfTt5Y2E9ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiExO2I9YyhiLGEpO2M9YS5nZXRBdHRyaWJ1dGUoInNyYyIpO3JldHVybiBiJiZiPT09YyYmYS5jb21wbGV0ZX07CkFjYT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQ9S0UoYSk/ey4uLmF9OkxFKGEpO2lmKGQpe2QuY29udGVudE1vZGU9ZC5jb250ZW50TW9kZT8/Yi5jb250ZW50TW9kZTt2YXIgZT1iLm9uTG9hZDtiLm9uTG9hZD1sPT57dmFyIG09bC50YXJnZXQ7YyYmbS5uYXR1cmFsV2lkdGg9PT0xMjB8fF8uU3QobSwieXRDb3JlSW1hZ2VMb2FkZWQiKTtiLnNnJiZtLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbWFnZS1sb2FkZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpO2U/LihsKX07Yi5BYiYmYi5UYSYmKGIud2lkdGg9Yi5BYik7Yi5kYyYmYi5ZYSYmKGIuaGVpZ2h0PWIuZGMpO3ZhciBmPV8ua0UoZCksaD1mJiZfLmxFKGYpLGs9TkUoZCk7aWYoaCl7YT1mLmNsaWVudFJlc291cmNlPy5pbWFnZUNvbG9yP18uTkQoZi5jbGllbnRSZXNvdXJjZS5pbWFnZUNvbG9yKTp2b2lkIDA7aWYoaz1hfHxrLmNvbG9yKWIuc3R5bGU9Yi5zdHlsZT9iLnN0eWxlLmVuZHNXaXRoKCI7Iik/Yi5zdHlsZSsKYCBjb2xvcjogJHtrfTtgOmIuc3R5bGUrYDsgY29sb3I6ICR7a307YDpgY29sb3I6ICR7a307YDtyZXR1cm57dHlwZToiaWNvbiIsaWNvbk5hbWU6aCxjb25maWc6ey4uLmIsLi4uKGIuYWx0P3t9OnthcmlhSGlkZGVuOiJ0cnVlIn0pLGFyaWFMYWJlbDpiLmFsdCxyb2xlOiJpbWcifX19S0UoYSl8fChiLmFsdD1hLmFjY2Vzc2liaWxpdHkmJmEuYWNjZXNzaWJpbGl0eS5hY2Nlc3NpYmlsaXR5RGF0YSYmYS5hY2Nlc3NpYmlsaXR5LmFjY2Vzc2liaWxpdHlEYXRhLmxhYmVsfHxiLmFsdCxiLnN0eWxlPW1jYShhLGIuV3IsYi5zdHlsZSksYi5pc1ByZWxvYWRlZD0hIV8uQihhLHpjYSk/LmlzUHJlbG9hZGVkKTtiLmNsYXNzTmFtZT1uY2EoZCxiLmNsYXNzTmFtZSxiLllhLGIuVGEsYi5vYmplY3RQb3NpdGlvbik7Yi50aj0ieXRDb3JlSW1hZ2VMb2FkZWQiO3JldHVybnt0eXBlOiJpbWFnZSIsaW1hZ2U6ZCxjb25maWc6Yn19fTt6Y2E9bmV3IF8uSSgid2ViVGh1bWJuYWlsRGV0YWlsc0V4dGVuc2lvbkRhdGEiKTt2YXIgb2NhPW5ldyBfLkkoImJvcmRlckltYWdlUHJvY2Vzc29yIik7dmFyIENjYTtbXy5CY2EsQ2NhXT1fLkooXy5NRSgpLHZvaWQgMCwiTzNYMndkIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKCk9PntDY2EoXy5NRSgpKX0pO18uZkY9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm1hcmdpbj1hO3RoaXMuQj1iO3RoaXMuaj1bXTt0aGlzLnY9ITE7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsKCk9Pnt0aGlzLm8oKX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsKCk9Pnt0aGlzLm8oKX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGV1aSIsKCk9Pnt0aGlzLm8oKX0pO3ZhciBjPW5ldyBfLld0KCgwLF8uQ2EpKHRoaXMubyx0aGlzKSwxMDApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCgpPT57Yy52KCl9LCEwKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwoMCxfLkNhKSh0aGlzLm8sdGhpcykpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IiwoKT0+e3RoaXMuaj1bXX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZWVuZCIsKDAsXy5DYSkodGhpcy5vLHRoaXMpKX1vYnNlcnZlKGEpe3RoaXMuai5pbmNsdWRlcyhhKXx8CnRoaXMuai5wdXNoKGEpfXVub2JzZXJ2ZShhKXt0aGlzLmo9dGhpcy5qLmZpbHRlcihiPT5iIT09YSl9bygpe3RoaXMudnx8KF8uT0UoKCk9PntyY2EodGhpcyl9KSx0aGlzLnY9ITApfWRpc2Nvbm5lY3QoKXt0aGlzLmo9W119fTt2YXIgc2NhLFFFLFNFO3NjYT17bGFuZHNjYXBlOiIobWluLXdpZHRoOiA5MzFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIscG9ydHJhaXQ6IihtaW4td2lkdGg6IDU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkifTtRRT12b2lkIDA7Xy5nRj12b2lkIDA7Xy5SRT13aW5kb3cuaW5uZXJXaWR0aDtTRT13aW5kb3cuaW5uZXJIZWlnaHQ7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKCk9PntfLmdGPVFFPXZvaWQgMH0pO3ZhciB0Y2E9IkludGVyc2VjdGlvbk9ic2VydmVyImluIHdpbmRvdz9uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGEsYik9PnthLmZpbHRlcihjPT5jLmludGVyc2VjdGlvblJlY3QuaGVpZ2h0PjApLmZvckVhY2goKHt0YXJnZXQ6Y30pPT57Yy5KbT8uKCk7Yi51bm9ic2VydmUoYyl9KX0se3Jvb3RNYXJnaW46IjEwJSIsdGhyZXNob2xkOi4wMX0pOl8uVEUoKT97b2JzZXJ2ZShhKXtfLmpmLkdhKCgpPT57dHJ5e2EuSm0/LigpfWNhdGNoKGIpe18uT3QoYil9fSw4KX0sdW5vYnNlcnZlKCl7fX06bmV3IF8uZkYoLjEsYT0+e18uamYuR2EoKCk9Pnt0cnl7YS5KbT8uKCl9Y2F0Y2goYil7Xy5PdChiKX19LDgpfSk7dmFyIFZFPW5ldyBXZWFrTWFwLFdFPTAsVUU9MDtfLmhGPV8uTChhPT57dmFyIGI9ITEsYz1fLnVFKCJpbWciLGQ9PntfLll1KCgpPT57Yj0hMDtkLm9ubG9hZD1udWxsfSl9KTtfLm5FKCgpPT57dmFyIGQ9YS5kYXRhPy4oKSxlPWEuR2w/LigpLlNnLGY9YS5jb25maWcoKSxoPWMudmFsdWU7aWYoaCl7dmFyIGs9KGwsbSk9PntpZighYilyZXR1cm4gZT9lKGwsbSk6bH07Xy54KCJ3ZWJfaW1hZ2VfZG9udF9yZWxvYWRfc2FtZV9zcmMiKSYmeWNhKGgsZCxrKT9fLngoIndlYl9pbWFnZV9kb250X3JlbG9hZF9zYW1lX3NyY19zaW11bGF0ZV9sb2FkIikmJmguZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvYWQiLHtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOnttZXNzYWdlOiJTaW11bGF0aW5nIGxvYWQgZXZlbnQgZm9yIGFscmVhZHkgbG9hZGVkIGltYWdlIn19KSk6eGNhKGgsZHx8bnVsbCxrLGYsYS5sYXp5Py4oKSl9fSwiUmZFZ0JjIik7cmV0dXJuIF8uSygiaW1nIix7ZWw6YyxjbGFzczooKT0+YS5jb25maWcoKS5jbGFzc05hbWUsCmFsdDooKT0+YS5jb25maWcoKS5hbHQsImFyaWEtaGlkZGVuIjooKT0+YS5jb25maWcoKS5hcmlhSGlkZGVuLCJkYXRhLWRpc2FibGVkIjooKT0+YS5jb25maWcoKS5oYyxzdHlsZTooKT0+YS5jb25maWcoKS5zdHlsZSx3aWR0aDooKT0+YS5jb25maWcoKS53aWR0aCxoZWlnaHQ6KCk9PmEuY29uZmlnKCkuaGVpZ2h0LGRyYWdnYWJsZTooKT0+YS5jb25maWcoKS5kcmFnZ2FibGUsIm9uOmVycm9yIjpkPT5hLmNvbmZpZygpLm9uRXJyb3I/LihkKSwib246bG9hZCI6ZD0+YS5jb25maWcoKS5vbkxvYWQ/LihkKX0pfSwibCIpO18uaEYuaWRvbUNvbXBhdD0hMDt2YXIgaUY7Xy5qRj1fLkwoYT0+e3ZhciBbYixjXT1fLkooITEsdm9pZCAwLCJURmFFS2QiKSxkPSgpPT57dmFyIGY9YS5kYXRhKCk7cmV0dXJuIEtFKGYpP3suLi5mfTpMRShmKT8/e319LGU9KCk9PiFkKCkuc291cmNlcz8ubGVuZ3RofHxiKCk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PntpZighXy54KCJ3ZWJfbGluZWFyX2dyYWRpZW50X2tpbGxzd2l0Y2giKSlyZXR1cm4gTkUoZCgpKS5ueXx8TkUoZCgpKS5Oen0sdGhlbjpmPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRDb3JlSW1hZ2VIb3N0IiwieXRDb3JlSW1hZ2VHcmFkaWVudENvbnRhaW5lciIse3l0Q29yZUltYWdlTG9hZGVkOmV9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRDb3JlSW1hZ2VHcmFkaWVudCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsc3R5bGU6Xy5JRSh7YmFja2dyb3VuZDpmfSl9KSxfLksoaUYsey4uLmEsb25Mb2FkOmg9PntjKCEwKTthLm9uTG9hZD8uKGgpfX0pKSxXOigpPT5fLksoaUYsey4uLmF9KX0pfSwibSIpOwppRj1fLkwoYT0+e3ZhciBiPSgpPT5BY2EoYS5kYXRhKCkse2NvbnRlbnRNb2RlOmEuY29udGVudE1vZGU/LigpLHRqOmEudGo/LigpLGlzUHJlbG9hZGVkOmEuaXNQcmVsb2FkZWQ/LigpLHNnOmEuc2c/LigpLEJtOmEuQm0/LigpLHlyOmEueXI/LigpLFlhOmEuWWE/LigpLFRhOmEuVGE/LigpLG9iamVjdFBvc2l0aW9uOmEub2JqZWN0UG9zaXRpb24/LigpLEFiOmEuQWI/LigpLGRjOmEuZGM/LigpLFdyOmEuV3I/LigpLE5nOmEuTmc/LigpLGlzVG9nZ2xlZDphLmlzVG9nZ2xlZD8uKCksYWx0OmEuYWx0Py4oKSxjbGFzc05hbWU6YS5jbGFzc05hbWU/LigpLG9uRXJyb3I6YS5vbkVycm9yLG9uTG9hZDphLm9uTG9hZCxzdHlsZTphLnN0eWxlPy4oKSxjb2xvcjphLmNvbG9yPy4oKSx3aWR0aDphLndpZHRoPy4oKSxoZWlnaHQ6YS5oZWlnaHQ/LigpLGFyaWFIaWRkZW46YS5hcmlhSGlkZGVuPy4oKSxkcmFnZ2FibGU6YS5kcmFnZ2FibGU/LigpLGhjOmEuaGM/LigpLHNpemU6YS5zaXplPy4oKSwKaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU6YS5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZT8uKCl9LGEuVXc/LigpKTtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+YigpPy50eXBlPT09ImltYWdlIn0sKCk9Pl8uSyhfLmhGLHtkYXRhOigpPT5iKCkuaW1hZ2UsR2w6e1NnOihjLGQpPT57dmFyIGU9YigpLmltYWdlLnNvdXJjZXM7dmFyIGY9YigpLmNvbmZpZy5pc1ByZWxvYWRlZCxoPWIoKS5jb25maWcuTmcsaz1iKCkuY29uZmlnLkFiLGw9YigpLmNvbmZpZy5kYyxtPWIoKS5jb25maWcueXI7aWYoIWV8fGUubGVuZ3RoPT09MHx8ZVswXS5jbGllbnRSZXNvdXJjZSllPW51bGw7ZWxzZSBpZihmJiZlWzBdLnVybCllPWVbMF0udXJsO2Vsc2V7aD09PXZvaWQgMCYmKGg9ITApO2Q9aD9fLm1FKihrfHxkPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8ud2lkdGh8fDApOl8ubUUqKGx8fGQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPy5oZWlnaHR8fDApO2I6aWYoZCl7aWYobSlmb3IobGV0IG4gb2YgZSlpZihmPQpuLnVybD8uaW5kZXhPZihtKSxmIT09dm9pZCAwJiZmPj0wKXtlPW47YnJlYWsgYn1mb3IobGV0IG4gb2YgZSlpZihuLndpZHRoJiZuLmhlaWdodCYmKGgmJm4ud2lkdGg+PWR8fCFoJiZuLmhlaWdodD49ZCkpe2U9bjticmVhayBifWZvcihtPWUubGVuZ3RoLTE7bT49MDttLS0paWYoaCYmZVttXS53aWR0aHx8IWgmJmVbbV0uaGVpZ2h0KXtlPWVbbV07YnJlYWsgYn1lPWVbMF19ZWxzZSBlPWUubGVuZ3RoPj0xP2VbZS5sZW5ndGgtMV06bnVsbDtlPWU/LnVybD9lLnVybDplPy5pbWFnZURhdGE/ZS5pbWFnZURhdGE6bnVsbH1yZXR1cm4gZXx8IiJ9fSxjb25maWc6KCk9Pnt2YXIgYz1iKCkuY29uZmlnO2ZvcihsZXQgZCBpbiBjKWNbZF09PT12b2lkIDAmJmRlbGV0ZSBjW2RdO3JldHVybiBjfSxsYXp5OmEuVGJ9KSksXy5LKF8uQ0Use3doZW46KCk9PmIoKT8udHlwZT09PSJpY29uIn0sKCk9Pl8uSyhfLk1ELHtpY29uOigpPT5iKCkuaWNvbk5hbWUscm9sZTooKT0+YigpLmNvbmZpZy5yb2xlLApjbGFzc05hbWU6KCk9PmIoKS5jb25maWcuY2xhc3NOYW1lLHN0eWxlOigpPT5iKCkuY29uZmlnLnN0eWxlLGFyaWFMYWJlbDooKT0+YigpLmNvbmZpZy5hcmlhTGFiZWwsYXJpYUhpZGRlbjooKT0+YigpLmNvbmZpZy5hcmlhSGlkZGVuLGhjOigpPT5iKCkuY29uZmlnLmhjLGFjdGl2ZTooKT0+YigpLmNvbmZpZy5pc1RvZ2dsZWQsc2l6ZTooKT0+YigpLmNvbmZpZy5zaXplfSkpKX0sIm4iKTtfLmpGLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Y2FsbGJhY2s6ITAsb25FcnJvcjohMCxvbkxvYWQ6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5OSj1uZXcgXy5JKCJzaWduYWxBY3Rpb24iKTtfLk9KPWNsYXNze2NvbnN0cnVjdG9yKGEsYj0hMSxjPW51bGwpe3RoaXMuYWN0aW9uTmFtZT1hO3RoaXMuaj1iO3RoaXMuYXJncz1jO3RoaXMucmV0dXJuVmFsdWU9W119fTtfLlBKPW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaEU9bmV3IF8uSSgibGF5b3V0UHJvcGVydGllcyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtGPW5ldyBfLlZzKCJEQVJLX1RIRU1FX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubEY9bmV3IF8uVnMoIkFQUF9ESVJFQ1RJT05fVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy51Rj1mdW5jdGlvbihhLGIpe3ZhciBjPWI/LmluaXRpYWw7cmV0dXJuIF8uTigoKT0+e18uQnYoITApO3JldHVybiBjPWEoYyl9LHtlcXVhbHM6Yj8uaXNFcXVhbH0sInJTbEtzYyIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEVjYSxGY2EsdkYsR2NhLHlGLEJGLENGLEpjYSxMY2EsREYsRUYsTmNhLEhGLE9jYSxRY2EsSUYsUmNhLEpGLFNjYSxLRixMRixUY2EsTUYsVWNhLE5GLFZjYSxXY2EsSWNhLEhjYTsKRWNhPWZ1bmN0aW9uKGEpe3ZhciBiPXtzdGF0ZToiTk9ORSJ9LGM9e1JoOmQ9Pntzd2l0Y2goZC5DYi50b2tlbil7Y2FzZSBfLlBiYS5DYi50b2tlbjp2YXIgZT1iO2JyZWFrO2Nhc2UgXy5PYmEuQ2IudG9rZW46ZT1hLldIO2JyZWFrO2Nhc2UgXy5MQy5DYi50b2tlbjplPWEucm9vdEVsZW1lbnQ7YnJlYWs7Y2FzZSBfLkxiYS5DYi50b2tlbjplPWEuWUo7YnJlYWs7Y2FzZSBfLk1CLkNiLnRva2VuOmU9YS5GbzticmVhaztjYXNlIF8uTWJhLkNiLnRva2VuOmU9YS5yZW5kZXJlckRhdGE7YnJlYWs7Y2FzZSBfLk5iYS5DYi50b2tlbjplPWEub0o7YnJlYWs7Y2FzZSBfLk5CLkNiLnRva2VuOmU9YS5ydn1pZihlKWQ9ZTtlbHNlIGE6e2ZvcihlPWMucGFyZW50O2U7KXt2YXIgZj1lO2lmKGYuUmgpe2Q9Zi5SaChkKTticmVhayBhfWU9ZS5wYXJlbnR9ZT1kLkNiLnRva2VuO2Y9Xy5XQy5nZXQoZSk7ZiE9PXZvaWQgMD9kPWY6KGY9ZC5DYi5NeixkLkNiLktwPyhkPWQuQ2IuS3AoKSxlJiZmPT09CiJyb290IiYmXy5XQy5zZXQoZSxkKSk6ZD1fLmF1KX1yZXR1cm4gZH19O18uQnUoYyk7cmV0dXJuIGN9O0ZjYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09Yn07dkY9ZnVuY3Rpb24oYSxiKXtpZihhPT09YilhPSEwO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSYmQXJyYXkuaXNBcnJheShiKSlhOmlmKF8ueWEoYSkmJl8ueWEoYikmJmEubGVuZ3RoPT1iLmxlbmd0aCl7dmFyIGM9YS5sZW5ndGgsZD12Rnx8RmNhO2ZvcihsZXQgZT0wO2U8YztlKyspaWYoIWQoYVtlXSxiW2VdKSl7YT0hMTticmVhayBhfWE9ITB9ZWxzZSBhPSExO2Vsc2UgaWYoXy5BYShhKSYmXy5BYShiKSlhOmlmKF8uRngoYSkubGVuZ3RoIT1fLkZ4KGIpLmxlbmd0aClhPSExO2Vsc2V7Zm9yKGMgaW4gYSlpZighdkYoYVtjXSxiW2NdKSl7YT0hMTticmVhayBhfWE9ITB9ZWxzZSBhPSExO3JldHVybiBhfTtfLndGPWZ1bmN0aW9uKGEsYixjKXtjPT09dm9pZCAwP2RlbGV0ZSBhW2IubmFtZV06YVtiLm5hbWVdPWN9OwpHY2E9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ITE7YVtfLnFGXT9Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiSGIiKSwyLGEudGFnTmFtZSk7fSk6Xy5adCYmZCE9PV8uWEM/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkViIiksMixhLnRhZ05hbWUpO30pOihhLnRleHRDb250ZW50IT09IiImJmEudGV4dENvbnRlbnQhPT1udWxsfHxhLmNoaWxkRWxlbWVudENvdW50PjApJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiRmIiKSwyLGEudGFnTmFtZSk7fSk7dmFyIGY9Xy5SdSgoKT0+e3ZhciBoPV8ua3UoXy56diksaz0oKT0+e3ZhciBsPShfLk9CLnN2Pz9fLnZkKGEpKS5fX3dpemRpc3BhdGNoZXI7bD1FY2Eoe3Jvb3RFbGVtZW50Ont2YWx1ZTphfSxGbzpjfHxsPy5udz8uKCkscnY6bH0pO2w9Xy4kdChsKTt2YXIgbT1fLkxCKCEwKTtfLmd2Kys7dHJ5e18uYkMoYigpLGEpLApfLklBKCExKX1jYXRjaChuKXt0aHJvdyBfLklBKCEwKSxuO31maW5hbGx5e18uTEIobSksXy4kdChsKX19O3RyeXtyZXR1cm4gZD09PV8uWEM/Xy51dihrLCExKTpfLml3KGspfWNhdGNoKGwpe3Rocm93IF8uVXUobCw0KSxsO31maW5hbGx5e18ua3UoaCl9fSk7YVtfLnFGXT0hMDtyZXR1cm4oKT0+e2U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkdiIiksMixhLnRhZ05hbWUpO30pOihhLnRleHRDb250ZW50PSIiLGYoKSxlPSEwLGFbXy5xRl09ITEpfX07Xy54Rj1mdW5jdGlvbihhLGIsYyl7Yz8/KGM9e30pO3ZhciBkPWMuRm8sZT0hIV8uS3UuSnE7Yj1HY2EoYSxiLGQsYy5Jayk7ZSYmXy5QQihhLGQpO18uVkIubG9nKGEpO3JldHVybiBifTsKXy5BRj1mdW5jdGlvbihhKXt2YXIgYj17YW5kcm9pZEluY2x1ZGVGb250UGFkZGluZzohMX0sYz0wLGQ9W10sZT1bXSxmPVtdO2lmKGEuc2ltcGxlVGV4dClyZXR1cm4gYi5jb250ZW50PWEuc2ltcGxlVGV4dCxiO2lmKGEucnVucz09PXZvaWQgMClyZXR1cm4gYi5jb250ZW50PSIiLGI7Zm9yKGxldCBtIG9mIGEucnVucyl7dmFyIGg9bS50ZXh0O2E9aD8ubGVuZ3RoO2lmKGgmJmEpe2QucHVzaChoKTtpZihtLmJvbGR8fG0uaXRhbGljc3x8bS5zdHJpa2V0aHJvdWdofHxtLnVuZGVybGluZXx8bS50ZXh0Q29sb3IhPW51bGwmJm0udGV4dENvbG9yIT09MHx8bS5kZWVtcGhhc2l6ZSl7aD1lO3ZhciBrPWgucHVzaCxsPXtzdGFydEluZGV4OmMsbGVuZ3RoOmF9O20uYm9sZCYmKGwud2VpZ2h0TGFiZWw9IkZPTlRfV0VJR0hUX01FRElVTSIpO20uaXRhbGljcyYmKGwuaXRhbGljPSEwKTttLnN0cmlrZXRocm91Z2gmJihsLnN0cmlrZXRocm91Z2g9IkxJTkVfU1RZTEVfU0lOR0xFIik7bS51bmRlcmxpbmUmJgoobC51bmRlcmxpbmU9IkxJTkVfU1RZTEVfU0lOR0xFIik7bS50ZXh0Q29sb3IhPW51bGwmJm0udGV4dENvbG9yIT09MD9sLmZvbnRDb2xvcj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCJkYXJrIik/bS5kYXJrTW9kZVRleHRDb2xvcnx8bS50ZXh0Q29sb3I6bS50ZXh0Q29sb3I6bS5kZWVtcGhhc2l6ZSYmKGwuZm9udENvbG9yPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5oYXNBdHRyaWJ1dGUoImRhcmsiKT95RigiI2FhYSIpOnlGKCIjNjA2MDYwIikpO2suY2FsbChoLGwpfW0ubmF2aWdhdGlvbkVuZHBvaW50JiYoaD1mLGs9aC5wdXNoLGw9e3N0YXJ0SW5kZXg6YyxsZW5ndGg6YSxvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDptLm5hdmlnYXRpb25FbmRwb2ludH19LG0ubG9nZ2luZ0RpcmVjdGl2ZXMmJl8ud0YobCx6RixtLmxvZ2dpbmdEaXJlY3RpdmVzKSxrLmNhbGwoaCxsKSk7Yys9YX19Yi5jb250ZW50PWQuam9pbigiIik7Yi5zdHlsZVJ1bnM9ZS5sZW5ndGg/CmU6dm9pZCAwO2IuY29tbWFuZFJ1bnM9Zi5sZW5ndGg/Zjp2b2lkIDA7cmV0dXJuIGJ9O3lGPWZ1bmN0aW9uKGEpe3ZhciBiPXBhcnNlSW50O2lmKCFIY2EudGVzdChhKSl0aHJvdyBFcnJvcigiUGNgIithKTthLmxlbmd0aD09NCYmKGE9YS5yZXBsYWNlKEljYSwiIyQxJDEkMiQyJDMkMyIpKTtyZXR1cm4gYigiZmYiK2EudG9Mb3dlckNhc2UoKS5zdWJzdHJpbmcoMSksMTYpfTtCRj1mdW5jdGlvbihhKXtpZihhKXJldHVybiBPYmplY3QuZW50cmllcyhhKS5maWx0ZXIoKFssYl0pPT5iIT09dm9pZCAwJiZiIT09bnVsbCYmYiE9PSIiKS5tYXAoKFtiLGNdKT0+YCR7Yi5yZXBsYWNlKC8oW2EtekEtWl0pKD89W0EtWl0pL2csIiQxLSIpLnRvTG93ZXJDYXNlKCl9OiAke2N9O2ApLmpvaW4oIiIpfHx2b2lkIDB9OwpDRj1mdW5jdGlvbihhKXtpZighYT8udmFsdWV8fCFhPy51bml0KXJldHVybiIiO3N3aXRjaChhLnVuaXQpe2Nhc2UgIkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIjp2YXIgYj0iJSI7YnJlYWs7ZGVmYXVsdDpiPSJweCJ9YT1hLnZhbHVlO2I9PT0iJSImJihhKj0xMDApO3JldHVybmAke2F9JHtifWB9O0pjYT1mdW5jdGlvbihhLGIpe3ZhciBjPXsuLi5ifTtmb3IobGV0IFtkLGVdb2YgbmV3IE1hcChbWyJvbnRvdWNoc3RhcnQiLGEub250b3VjaHN0YXJ0XSxbIm9udG91Y2hlbmQiLGEub250b3VjaGVuZF0sWyJvbnRvdWNobW92ZSIsYS5vbnRvdWNobW92ZV1dKSl7bGV0IGY9ZCxoPWU7YltmXT1rPT57Y1tmXT8uKGspO2goayl9fX07CkxjYT1mdW5jdGlvbihhLGIpe3ZhciBjPVsieXRBdHRyaWJ1dGVkU3RyaW5nTGluayJdO2I/LnVifHwoYj8uaXNPdmVybGF5P2MucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua092ZXJsYXlDYWxsVG9BY3Rpb25Db2xvciIpOmMucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9yIiksYj8uWGEmJmMucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpKTtjPXtjbGFzc05hbWU6Yy5qb2luKCIgIiksdGFiaW5kZXg6IjAifTt2YXIgZD1hLm9uVGFwfHxhLm9uTG9uZ1ByZXNzO2lmKCFkKXJldHVybiBjO3ZhciBlPWEub25UYXBPcHRpb25zPy5hY2Nlc3NpYmlsaXR5SW5mbz8uYWNjZXNzaWJpbGl0eUxhYmVsO2UmJihjLmFyaWFMYWJlbD1lKTtiPV8uYkUoe2JoOmQsdXg6YyxJZDohIWI/LklkLHFkOiEwfSk7YS5vbkxvbmdQcmVzcyYmKGQ9bmV3IEtjYSgoKT0+e3ZhciBmPV8uUkQoYS5vbkxvbmdQcmVzcyk7ZiYmXy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChmKX0pLApiJiZKY2EoZCxiKSk7cmV0dXJuIGJ8fGN9O0RGPWZ1bmN0aW9uKGEpe3ZhciBiPWE7YTw9MTY3NzcyMTUmJihiKz1wYXJzZUludCgiZmYwMDAwMDAiLDE2KSk7cmV0dXJuIF8uTkQoYil9O0VGPWZ1bmN0aW9uKHtpc0RhcmtUaGVtZTphLGV4dGVuc2lvbjpiLE9yOmN9KXt2YXIgZD12b2lkIDA7aWYoYj1iPy5jb2xvck1hcCl7YT1hPyJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjoiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO2ZvcihsZXQgZSBvZiBiKWlmKGE9PT1lLmtleSl7ZD1lLnZhbHVlO2JyZWFrfX1kPT1udWxsJiZjJiYoZD1jKTtpZihkKXJldHVybiBERihkKX07Ck5jYT1mdW5jdGlvbihhLGI9ITEpe3ZhciBjPXt9O2lmKGEudGV4dERlY29yYXRvcil7dmFyIGQ9YS50ZXh0RGVjb3JhdG9yO3ZhciBlPXt9O3ZhciBmPV8uQihkLF8uRkYpLGg9Xy5CKGQsR0YpO2lmKGYpe2Q9T2JqZWN0O2g9ZC5hc3NpZ247bGV0IGs9e307KGI9RUYoe2V4dGVuc2lvbjpfLkIoZi5oaWdobGlnaHRUZXh0RGVjb3JhdG9yRXh0ZW5zaW9ucyxNY2EpLGlzRGFya1RoZW1lOmIsT3I6Zi5iYWNrZ3JvdW5kQ29sb3J9KSkmJihrWyJiYWNrZ3JvdW5kLWNvbG9yIl09Yik7Zi5iYWNrZ3JvdW5kQ29ybmVyUmFkaXVzIT09dm9pZCAwJiYoa1siYm9yZGVyLXJhZGl1cyJdPWAke2YuYmFja2dyb3VuZENvcm5lclJhZGl1c31weGApO2YubGVmdFBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLWxlZnQiXT1gJHtmLmxlZnRQYWRkaW5nfXB4YCk7Zi5yaWdodFBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLXJpZ2h0Il09YCR7Zi5yaWdodFBhZGRpbmd9cHhgKTtmLnRvcFBhZGRpbmchPT0Kdm9pZCAwJiYoa1sicGFkZGluZy10b3AiXT1gJHtmLnRvcFBhZGRpbmd9cHhgKTtmLmJvdHRvbVBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLWJvdHRvbSJdPWAke2YuYm90dG9tUGFkZGluZ31weGApO2guY2FsbChkLGUsayl9ZWxzZSBoJiYoZj1PYmplY3QsZD1mLmFzc2lnbixiPWI/IiMyYmE2NDAiOiIjMTA3NTE2IixiPWguY29sb3I/REYoaC5jb2xvcik6YixkLmNhbGwoZixlLHtwYWRkaW5nOiIycHgiLCJib3JkZXItdG9wIjpgc29saWQgJHtifSAycHhgLCJib3JkZXItYm90dG9tIjpgc29saWQgJHtifSAycHhgLGJhY2tncm91bmQ6YGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICR7Yn0gM3B4LCByZ2JhKDAsIDAsIDAsIDApIDNweCksIGxpbmVhci1ncmFkaWVudCgzMTVkZWcsICR7Yn0gM3B4LCByZ2JhKDAsIDAsIDAsIDApIDNweClgfSkpO2U9T2JqZWN0LmtleXMoZSkubGVuZ3RoIT09MD9lOnZvaWQgMDtjLnN0eWxlPWU7YT1hLnRleHREZWNvcmF0b3I7ZT1bXTtiPV8uQihhLApHRik7Xy5CKGEsXy5GRik/ZS5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdIaWdobGlnaHRUZXh0RGVjb3JhdG9yIik6YiYmZS5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdCcmFja2V0VGV4dERlY29yYXRvciIpO2E9ZS5qb2luKCIgIik7Yy5jbGFzc05hbWU9YTtjLmRpcj0iYXV0byJ9cmV0dXJuIGN9O0hGPWZ1bmN0aW9uKHtjb25maWc6YSxpbWFnZTpiLGdqOmMsT2w6ZCxydW46ZSx0YWc6Zix0ZXh0TGVuZ3RoOmgsc3RhcnRJbmRleDprPTAsbGVuZ3RoOmx9KXtrPT09dm9pZCAwJiYoaz0wKTtlPXtydW46ZSxzdGFydEluZGV4Omssd2w6bCE9PXZvaWQgMD9rK2w6aCx0YWc6Zn07YiYmKGUuaW1hZ2U9Yik7YyYmKGUuZ2o9Yyk7ZCYmKGUuT2w9ZCk7YSYmKGUuY29uZmlnPWEpO3JldHVybiBlfTsKT2NhPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWlnaHQpcmV0dXJuIGEud2VpZ2h0O3N3aXRjaChhLndlaWdodExhYmVsKXtjYXNlICJGT05UX1dFSUdIVF9USElOIjpyZXR1cm4gMTAwO2Nhc2UgIkZPTlRfV0VJR0hUX0VYVFJBX0xJR0hUIjpyZXR1cm4gMjAwO2Nhc2UgIkZPTlRfV0VJR0hUX0xJR0hUIjpyZXR1cm4gMzAwO2Nhc2UgIkZPTlRfV0VJR0hUX01FRElVTSI6cmV0dXJuIDUwMDtjYXNlICJGT05UX1dFSUdIVF9TRU1JX0JPTEQiOnJldHVybiA2MDA7Y2FzZSAiRk9OVF9XRUlHSFRfQk9MRCI6cmV0dXJuIGI/OTAwOjcwMDtjYXNlICJGT05UX1dFSUdIVF9FWFRSQV9CT0xEIjpyZXR1cm4gODAwO2Nhc2UgIkZPTlRfV0VJR0hUX0JMQUNLIjpyZXR1cm4gOTAwO2RlZmF1bHQ6cmV0dXJuIDQwMH19OwpRY2E9ZnVuY3Rpb24oYSxiPSExLGMpe2I9RUYoe2V4dGVuc2lvbjpfLkIoYS5zdHlsZVJ1bkV4dGVuc2lvbnMsUGNhKSxpc0RhcmtUaGVtZTpiLE9yOmEuZm9udENvbG9yfSk7dmFyIGQ9W107YiYmZC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5rSW5oZXJpdENvbG9yIik7YS5pdGFsaWMmJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSXRhbGljaXplZCIpO2EudW5kZXJsaW5lJiZhLnN0cmlrZXRocm91Z2g/ZC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdVbmRlcmxpbmVTdHJpa2V0aHJvdWdoIixJRihhLnVuZGVybGluZSkpOmEudW5kZXJsaW5lP2QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lZCIsSUYoYS51bmRlcmxpbmUpKTphLnN0cmlrZXRocm91Z2gmJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nU3RyaWtldGhyb3VnaCIsSUYoYS5zdHJpa2V0aHJvdWdoKSk7aWYoYS5iYXNlbGluZU9mZnNldCl7YTpzd2l0Y2goYS5iYXNlbGluZU9mZnNldCl7Y2FzZSAiQkFTRUxJTkVfT0ZGU0VUX1NVQlNDUklQVCI6dmFyIGU9CiJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1YnNjcmlwdCI7YnJlYWsgYTtjYXNlICJCQVNFTElORV9PRkZTRVRfU1VQRVJTQ1JJUFQiOmU9Inl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3VwZXJzY3JpcHQiO2JyZWFrIGE7ZGVmYXVsdDplPSJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFVua25vd24ifWQucHVzaChlKX1kPWQuam9pbigiICIpO2U9e307aWYoYS53ZWlnaHR8fGEud2VpZ2h0TGFiZWwpZS5mb250V2VpZ2h0PU9jYShhLGM/LnFoKS50b1N0cmluZygpO2ImJihlLmNvbG9yPWIpO3JldHVybntjbGFzc05hbWU6ZCxzdHlsZTplfX07SUY9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkxJTkVfU1RZTEVfRE9UIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlRG90IjtjYXNlICJMSU5FX1NUWUxFX05PTkUiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVOb25lIjtkZWZhdWx0OnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVTaW5nbGUifX07ClJjYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiVEVYVF9BTElHTk1FTlRfTEVGVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRMZWZ0IjtjYXNlICJURVhUX0FMSUdOTUVOVF9SSUdIVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRSaWdodCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfQ0VOVEVSIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudENlbnRlciI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfSlVTVElGSUVEIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudEp1c3RpZmllZCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfTEFZT1VUX1NUQVJUIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExheW91dFN0YXJ0IjtkZWZhdWx0OnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50VW5rbm93biJ9fTsKSkY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hIWJ8fCEoYS5jb21tYW5kUnVucyYmYS5jb21tYW5kUnVucy5sZW5ndGghPT0wfHxhLnBhcmFncmFwaFN0eWxlUnVucyYmYS5wYXJhZ3JhcGhTdHlsZVJ1bnMubGVuZ3RoIT09MCl9O1NjYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEucnVuOyhjLm9uVGFwIT09dm9pZCAwfHxjLm9uTG9uZ1ByZXNzIT09dm9pZCAwKSYmXy5CKGMsekYpJiZfLkp4KGIse2RhdGE6e2xvZ2dpbmdEaXJlY3RpdmVzOl8uQihjLHpGKX0sb2JzZXJ2ZXI6Xy55KCkucmVzb2x2ZShfLkx4KSxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6Yi5sYXllcn0pfX07S0Y9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKGxldCBlIG9mIGEubGMpe2lmKHR5cGVvZiBlPT09InN0cmluZyIpdGhyb3cgRXJyb3IoIlljIik7aWYoZS5zdGFydDw9YiYmYzw9ZS5lbmQpe0tGKGUsYixjLGQpO3JldHVybn19YS5sYy5wdXNoKHtkYXRhOmQsbGM6W10sc3RhcnQ6YixlbmQ6Y30pfTsKTEY9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGQ9Yi5sYy5sZW5ndGg7ZD49MDtkLS0pe2xldCBlPWIubGNbZF07dmFyIGM9Yi5sY1tkLTFdO2xldCBmPWQ9PT1iLmxjLmxlbmd0aD9iLmVuZDplLnN0YXJ0O2M9ZD09PTA/Yi5zdGFydDpjLmVuZDtmIT09YyYmYi5sYy5zcGxpY2UoZCwwLGEuc2xpY2UoYyxmKSk7ZSYmTEYoYSxlKX19O1RjYT1mdW5jdGlvbihhKXthLnNvcnQoKGIsYyk9PntpZihiLnN0YXJ0SW5kZXg8Yy5zdGFydEluZGV4KXJldHVybi0xO2lmKGMuc3RhcnRJbmRleDxiLnN0YXJ0SW5kZXgpcmV0dXJuIDE7Yj1iLndsLWIuc3RhcnRJbmRleDtjPWMud2wtYy5zdGFydEluZGV4O3JldHVybiBiPmM/LTE6Yz5iPzE6MH0pfTsKTUY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWI/ITA6YT09PXZvaWQgMHx8Yj09PXZvaWQgMD8hMTpfLngoIndlYl9hdHRyaWJ1dGVkX3N0cmluZ19kZWVwX2VxdWFsX2J1Z2ZpeCIpP3ZGKGEsYik6YS5jb250ZW50PT09Yi5jb250ZW50JiZhLnN0eWxlUnVucz8ubGVuZ3RoPT09Yi5zdHlsZVJ1bnM/Lmxlbmd0aCYmYS5jb21tYW5kUnVucz8ubGVuZ3RoPT09Yi5jb21tYW5kUnVucz8ubGVuZ3RoJiZhLmF0dGFjaG1lbnRSdW5zPy5sZW5ndGg9PT1iLmF0dGFjaG1lbnRSdW5zPy5sZW5ndGgmJmEuZGVjb3JhdGlvblJ1bnM/Lmxlbmd0aD09PWIuZGVjb3JhdGlvblJ1bnM/Lmxlbmd0aH07VWNhPWZ1bmN0aW9uKHtsYzphfSl7cmV0dXJuIGEubWFwKE5GKX07Ck5GPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIGE7dmFyIGI9YS5kYXRhO2IuaW1hZ2UhPT12b2lkIDAmJmIuZ2ohPT12b2lkIDA/KGI9YS5kYXRhLk9sLGE9Xy5LKCJzcGFuIix7Y2xhc3M6Yj8uY2xhc3NOYW1lLHN0eWxlOkJGKGI/LnN0eWxlKSxkaXI6Yj8uZGlyLHJvbGU6Yj8ucm9sZSx0YWJpbmRleDpiPy50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYi50YWJpbmRleCk6dm9pZCAwLCJmb3JjZS1uZXctc3RhdGUiOmI/LnFkLCJvbjpjbGljayI6Yj8ub25jbGljaywib246dG91Y2hlbmQiOmI/Lm9udG91Y2hlbmQsIm9uOnRvdWNobW92ZSI6Yj8ub250b3VjaG1vdmUsIm9uOnRvdWNoc3RhcnQiOmI/Lm9udG91Y2hzdGFydH0sXy5LKF8uakYse2RhdGE6YS5kYXRhLmltYWdlLC4uLmEuZGF0YS5nan0pKSk6KGI9YS5kYXRhLmNvbmZpZyxhPV8uSyhhLmRhdGEudGFnLHtlbDpfLnJGKFNjYShhLmRhdGEpKSwicHJvcDpfZGF0YSI6Yj8ubnUsInByb3A6cGFyYW1zIjpiPy5wYXJhbXMsCmNsYXNzOmI/LmNsYXNzTmFtZSxzdHlsZTpCRihiPy5zdHlsZSksZGlyOmI/LmRpcixocmVmOmI/LmhyZWYscmVsOmI/LnJlbCxyb2xlOmI/LnJvbGUsdGFyZ2V0OmI/LnRhcmdldCx0aXRsZTpiPy50aXRsZSx0YWJpbmRleDpiPy50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYi50YWJpbmRleCk6dm9pZCAwLCJhcmlhLWhhc3BvcHVwIjpiPy5hcmlhSGFzUG9wdXAsImZvcmNlLW5ldy1zdGF0ZSI6Yj8ucWQsImFyaWEtaGlkZGVuIjpiPy5hcmlhSGlkZGVuLCJhcmlhLWV4cGFuZGVkIjpiPy5hcmlhRXhwYW5kZWQsImFyaWEtbGFiZWwiOmI/LmFyaWFMYWJlbCwib246Y2xpY2siOmI/Lm9uY2xpY2ssIm9uOnRvdWNoZW5kIjpiPy5vbnRvdWNoZW5kLCJvbjp0b3VjaG1vdmUiOmI/Lm9udG91Y2htb3ZlLCJvbjp0b3VjaHN0YXJ0IjpiPy5vbnRvdWNoc3RhcnQsIm9uOnBvaW50ZXJkb3duIjpiPy5vbnBvaW50ZXJkb3duLCJvbjprZXlkb3duIjpiPy5vbmtleWRvd259LGEubGMubWFwKE5GKSkpOwpyZXR1cm4gXy5mQyhhKX07VmNhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE9PT12b2lkIDB8fGI9PT12b2lkIDA/ITE6YS5Daj09PWIuQ2omJmEudWI9PT1iLnViJiZhLm1hPT09Yi5tYSYmYS5oZWFkZXJSdW5zPT09Yi5oZWFkZXJSdW5zJiZhLmlzT3ZlcmxheT09PWIuaXNPdmVybGF5JiZhLlhhPT09Yi5YYSYmYS51c2VySW5wdXQ9PT1iLnVzZXJJbnB1dCYmYS5xaD09PWIucWh9O1djYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+KHthcmlhTGFiZWw6YS5hcmlhTGFiZWw/LigpLGNsYXNzTmFtZTphLmNsYXNzTmFtZT8uKCkseWM6YS55Yz8uKCksaXNPdmVybGF5OmEuaXNPdmVybGF5Py4oKSxYYTphLlhhPy4oKSxtYTphLm1hPy4oKSxDajphLkNqPy4oKSx1YjphLnViPy4oKSxyZzphLnJnPy4oKSxub1dyYXA6YS5ub1dyYXA/LigpLElkOmEuSWQ/LigpLHVzZXJJbnB1dDphLnVzZXJJbnB1dD8uKCksaGVhZGVyUnVuczphLmhlYWRlclJ1bnM/LigpLHFoOmEucWg/LigpfSl9OwpJY2E9LyMoLikoLikoLikvO0hjYT0vXiMoPzpbMC05YS1mXXszfSl7MSwyfSQvaTtfLlhjYT1uZXcgXy5JKCJlbW9qaSIpO3ZhciB6Rj1uZXcgXy5JKCJsb2dnaW5nRGlyZWN0aXZlcyIpO18uWWNhPW5ldyBfLkkoInVucGx1Z2dlZFN0cmluZ1J1bkltYWdlIik7dmFyIE1jYT1uZXcgXy5JKCJoaWdobGlnaHRUZXh0RGVjb3JhdG9yQ29sb3JNYXBFeHRlbnNpb24iKTt2YXIgUGNhPW5ldyBfLkkoInN0eWxlUnVuQ29sb3JNYXBFeHRlbnNpb24iKTt2YXIgWmNhPW5ldyBfLkkoImFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzIik7dmFyIEdGPW5ldyBfLkkoImJyYWNrZXRUZXh0RGVjb3JhdG9yIik7Xy5GRj1uZXcgXy5JKCJoaWdobGlnaHRUZXh0RGVjb3JhdG9yIik7dmFyICRjYT1uZXcgXy5JKCJpbWFnZVR5cGUiKTt2YXIgYWRhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5EPTUwMDt0aGlzLmo9TmFOO3RoaXMudj10aGlzLm89ITE7dGhpcy5CPWE9Pnt2YXIgYj1uZXcgQ3VzdG9tRXZlbnQoIkxPTkdfUFJFU1MiKTthLmNoYW5nZWRUb3VjaGVzWzBdLnRhcmdldD8uZGlzcGF0Y2hFdmVudChiKX07dGhpcy5vbnRvdWNoc3RhcnQ9YT0+e3RoaXMuaj1fLnF4KF8uamYsKCk9Pnt0aGlzLkIoYSk7dGhpcy5vPSEwfSx0aGlzLkQpfTt0aGlzLm9udG91Y2htb3ZlPSgpPT57Xy5qZi5BYSh0aGlzLmopO3RoaXMuaj1OYU47dGhpcy5vPSExO3RoaXMudj0hMH07dGhpcy5vbnRvdWNoZW5kPWE9Pnt0aGlzLmomJiF0aGlzLm8mJiF0aGlzLnYmJmEuY2hhbmdlZFRvdWNoZXNbMF0udGFyZ2V0Py5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2xpY2siKSk7Xy5qZi5BYSh0aGlzLmopO3RoaXMuaj1OYU47dGhpcy52PXRoaXMubz0hMX19fTt2YXIgS2NhPWNsYXNzIGV4dGVuZHMgYWRhe2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5jYWxsYmFjaz1hO3RoaXMuQj1iPT57dGhpcy5jYWxsYmFjaz8uKGIpfX19O3ZhciBiZGE7YmRhPV8ueCgiYWxsb3dfbmVzdGVkX3JlbmRlcl9rcyIpP3ZvaWQgMDp7SWs6Xy5YQ307Cl8uVj1fLkwoYT0+e3ZhciBiPVdjYShhKSxjPWU9Pnt2YXIgZixoLGs9Xy5yRihwPT57Zj1lKCk7aD1fLnV2KCgpPT57Zm9yKHZhciByIG9mIG0oKSl7bGV0IHQ9TkYocik7dD10eXBlb2YgdD09PSJzdHJpbmciP2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQpOnQ7aWYoISh0IGluc3RhbmNlb2YgTm9kZSkpe3I9bmV3IF8uWGooIlBhcnQgaXMgbm90IGEgbm9kZSIsdCx0eXBlb2YgdCk7Xy5HcChyKTticmVha31wLmFwcGVuZENoaWxkKHQpfX0pfSksbD1fLnVGKGIse2lzRXF1YWw6VmNhfSksbT0oKT0+e3ZhciBwPWUoKSxyPWwoKSx0PVtdLHY9cC5jb250ZW50Lmxlbmd0aCx6PV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO2lmKHAucGFyYWdyYXBoU3R5bGVSdW5zKWZvcihsZXQgTSBvZiBwLnBhcmFncmFwaFN0eWxlUnVucyl7dmFyIEU9dCxBPUUucHVzaDthOntpZighTS5saXN0R3JvdXA/Lmxpc3RJdGVtcyl7dmFyIEY9W107YnJlYWsgYX1GPVtdO2I6c3dpdGNoKE0ubGlzdEdyb3VwLmxpc3RUeXBlKXtjYXNlICJMSVNUX1RZUEVfQlVMTEVUIjp2YXIgQz0KInVsIjticmVhayBiO2RlZmF1bHQ6Qz0ic3BhbiJ9Ri5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOkMsY29uZmlnOntjbGFzc05hbWU6Inl0QXR0cmlidXRlZFN0cmluZ0xpc3RHcm91cCJ9LHN0YXJ0SW5kZXg6TS5zdGFydEluZGV4LGxlbmd0aDpNLmxlbmd0aH0pKTtmb3IobGV0IFMgb2YgTS5saXN0R3JvdXAubGlzdEl0ZW1zKXtiOnN3aXRjaChNLmxpc3RHcm91cC5saXN0VHlwZSl7Y2FzZSAiTElTVF9UWVBFX0JVTExFVCI6Qz0ibGkiO2JyZWFrIGI7ZGVmYXVsdDpDPSJzcGFuIn1GLnB1c2goSEYoe3J1bjpNLHRleHRMZW5ndGg6dix0YWc6QyxzdGFydEluZGV4OlMuc3RhcnRJbmRleCxsZW5ndGg6Uy5sZW5ndGh9KSl9fUEuY2FsbChFLC4uLkYpfWlmKHAuc3R5bGVSdW5zJiYhcj8uQ2opZm9yKHZhciBHIG9mIHAuc3R5bGVSdW5zKUU9UWNhKEcseixyKSx0LnB1c2goSEYoe3J1bjpHLHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpFLHN0YXJ0SW5kZXg6Ry5zdGFydEluZGV4LApsZW5ndGg6Ry5sZW5ndGh9KSk7aWYocC5kZWNvcmF0aW9uUnVucylmb3IodmFyIEQgb2YgcC5kZWNvcmF0aW9uUnVucylHPU5jYShELHopLEU9Xy5CKEQudGV4dERlY29yYXRvcixHRiksQT1fLkIoRC50ZXh0RGVjb3JhdG9yLEdGKSx0LnB1c2goSEYoe3J1bjpELHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpHLHN0YXJ0SW5kZXg6Xy5CKEQudGV4dERlY29yYXRvcixfLkZGKT8uc3RhcnRJbmRleHx8RT8uc3RhcnRJbmRleHx8MCxsZW5ndGg6Xy5CKEQudGV4dERlY29yYXRvcixfLkZGKT8ubGVuZ3RofHxBPy5sZW5ndGh8fDB9KSk7aWYocC5jb21tYW5kUnVucyYmIXI/Lm1hKWZvcih2YXIgSCBvZiBwLmNvbW1hbmRSdW5zKXo9TGNhKEgsciksdC5wdXNoKEhGKHtydW46SCx0ZXh0TGVuZ3RoOnYsdGFnOiJhIixjb25maWc6eixzdGFydEluZGV4Okguc3RhcnRJbmRleCxsZW5ndGg6SC5sZW5ndGh9KSk7aWYocC5hdHRhY2htZW50UnVucylmb3IobGV0IE0gb2YgcC5hdHRhY2htZW50UnVucyl7cD0Ke2NsYXNzTmFtZToieXRBdHRyaWJ1dGVkU3RyaW5nSW5saW5lQmxvY2tNb2QifTtNLmVsZW1lbnQ/LnByb3BlcnRpZXMmJihIPXt9LHo9Xy5CKE0uZWxlbWVudD8ucHJvcGVydGllcyxfLmhFKSx6Py5tYXJnaW4mJih6PXoubWFyZ2luLEQ9KEc9Xy53KCJIVE1MX0RJUiIpPT09InJ0bCJ8fGRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJkaXIiKT09PSJydGwiKT96LmVuZHx8ei5yaWdodDp6LnN0YXJ0fHx6LmxlZnQsRz1HP3ouc3RhcnR8fHoubGVmdDp6LmVuZHx8ei5yaWdodCxEJiYoSFsibWFyZ2luLWxlZnQiXT1DRihEKSksRyYmKEhbIm1hcmdpbi1yaWdodCJdPUNGKEcpKSx6LnRvcCYmKEhbIm1hcmdpbi10b3AiXT1DRih6LnRvcCkpLHouYm90dG9tJiYoSFsibWFyZ2luLWJvdHRvbSJdPUNGKHouYm90dG9tKSkpLEg9T2JqZWN0LmtleXMoSCkubGVuZ3RoIT09MD9IOnZvaWQgMCxwLnN0eWxlPUgpO0g9e2FsdDoiIixZYTohMCxUYTohMH07ej1bInl0QXR0cmlidXRlZFN0cmluZ0ltYWdlRWxlbWVudCJdOwppZihNLmFsaWdubWVudCl7YTpzd2l0Y2goTS5hbGlnbm1lbnQpe2Nhc2UgIkFMSUdOTUVOVF9CQVNFTElORSI6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCYXNlbGluZSI7YnJlYWsgYTtjYXNlICJBTElHTk1FTlRfVkVSVElDQUxfQ0VOVEVSIjpEPSJ5dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUFsaWdubWVudFZlcnRpY2FsQ2VudGVyIjticmVhayBhO2RlZmF1bHQ6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCb3R0b20ifXoucHVzaChEKX1NLmVsZW1lbnQ/LnByb3BlcnRpZXMmJihEPXt9LEc9Xy5CKE0uZWxlbWVudC5wcm9wZXJ0aWVzLF8uaEUpLEc/LmhlaWdodCYmKEQuaGVpZ2h0PUNGKEcuaGVpZ2h0KSksRz8ud2lkdGgmJihELndpZHRoPUNGKEcud2lkdGgpKSxEPU9iamVjdC5rZXlzKEQpLmxlbmd0aCE9PTA/RDp2b2lkIDAsSC5zdHlsZT1CRihEKSxILmFsdD1fLkIoTS5lbGVtZW50LnByb3BlcnRpZXMsWmNhKT8ubGFiZWx8fCIiKTtILmNsYXNzTmFtZT0Kei5qb2luKCIgIik7ej1NLmVsZW1lbnQ/LnR5cGU/Xy5CKE0uZWxlbWVudC50eXBlLCRjYSk/LmltYWdlOnZvaWQgMDt0LnB1c2goSEYoe3J1bjpNLHRleHRMZW5ndGg6dix0YWc6ImltZyIsaW1hZ2U6eixnajpILE9sOnAsc3RhcnRJbmRleDpNLnN0YXJ0SW5kZXgsbGVuZ3RoOk0ubGVuZ3RoPz8wfSkpfWlmKHI/LmhlYWRlclJ1bnMpZm9yKHZhciBSIG9mIHIuaGVhZGVyUnVucylpZihSLmhlYWRlck1hcHBpbmcmJlsiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18xIiwiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18yIiwiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18zIl0uaW5jbHVkZXMoUi5oZWFkZXJNYXBwaW5nKSl7YTp7c3dpdGNoKFIuaGVhZGVyTWFwcGluZyl7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18xIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMSI7CmJyZWFrIGE7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18yIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMiI7YnJlYWsgYTtjYXNlICJBVFRSSUJVVEVEX1NUUklOR19IRUFERVJfTUFQUElOR19IRUFESU5HXzMiOnI9Inl0QXR0cmlidXRlZFN0cmluZ0hlYWRpbmczIjticmVhayBhfXI9dm9pZCAwfXQucHVzaChIRih7cnVuOlIsdGV4dExlbmd0aDp2LHRhZzoic3BhbiIsY29uZmlnOnI/e2NsYXNzTmFtZTpyfTp2b2lkIDAsc3RhcnRJbmRleDpSLnN0YXJ0SW5kZXgsbGVuZ3RoOlIubGVuZ3RofSkpfWlmKGwoKT8udXNlcklucHV0KWZvcihsZXQgTSBvZiB0KXtpZihNLnRhZz09PSJhInx8TS50YWc9PT0ibGkiKWNvbnRpbnVlO2xldCBTOyhTPU0pLmNvbmZpZ3x8KFMuY29uZmlnPXt9KTtNLnRhZz09PSJ1bCI/TS5jb25maWcuZGlyPV8ueSgpLnJlc29sdmUoXy5sRik6TS5jb25maWcuZGlyPSJhdXRvIn1pZihlKCkuY29udGVudCl7dj1lKCkuY29udGVudDsKVGNhKHQpO1I9e2RhdGE6bnVsbCxzdGFydDowLGVuZDp2Lmxlbmd0aCxsYzpbXX07Zm9yKGxldCBNIG9mIHQpS0YoUixNLnN0YXJ0SW5kZXgsTS53bCxNKTtMRih2LFIpO3Q9Ui5sY31lbHNlIHQ9W107cmV0dXJuIHR9LG49ITA7Xy5uRSgoKT0+e2UoKTtsKCk7aWYobiYmKG49ITEsTUYoZSgpLGYpKSlyZXR1cm47dmFyIHA9bSgpO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt2YXIgcj1rLnZhbHVlO3ImJihyLmlubmVyVGV4dD0iIixoPy4oKSxoPV8ueEYociwoKT0+Xy5LKFVjYSx7bGM6cH0pLGJkYSkpfSl9LCJ2Mlowb2UiKTtyZXR1cm4gXy5LKCJzcGFuIix7ZWw6ayxjbGFzczooKT0+e3ZhciBwO2lmKHA9ZSgpKXtwPWUoKTt2YXIgcj1iKCk7bGV0IHQ9W107dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdIb3N0Iik7cj8uY2xhc3NOYW1lJiZ0LnB1c2gocj8uY2xhc3NOYW1lKTtyPy55Yz90LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0VsbGlwc2lzVHJ1bmNhdGUiKTpyPy5ub1dyYXA/CnQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZU5vV3JhcCIpOnI/LnJnfHx0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VQcmVXcmFwIik7cj8uWGEmJnQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpO3AuYWxpZ25tZW50JiZ0LnB1c2goUmNhKHAuYWxpZ25tZW50KSk7cC5saW5lQnJlYWtNb2RlJiZ0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1dvcmRXcmFwcGluZyIpO3A9dC5qb2luKCIgIil9cmV0dXJuIHB9LHN0eWxlOmEuc3R5bGUsZGlyOigpPT5iKCkudXNlcklucHV0PyJhdXRvIjp2b2lkIDAsImFyaWEtbGFiZWwiOigpPT5KRihlKCksYigpLmFyaWFMYWJlbCk/YigpLmFyaWFMYWJlbDp2b2lkIDAscm9sZTooKT0+SkYoZSgpLGIoKS5hcmlhTGFiZWwpPyJ0ZXh0Ijp2b2lkIDB9KX0sZD1fLnVGKCgpPT57dmFyIGU9YS50ZXh0Py4oKTtpZihlKXJldHVybiBlPWU/LmNvbnRlbnQhPT12b2lkIDA/ZTpfLkFGKGUpLAplPy5jb250ZW50P2U6dm9pZCAwfSx7aXNFcXVhbDpNRn0pO3JldHVybiBhLll1P2MoZCk6Xy5LKF8uTyx7QTpkLHRoZW46Y30pfSwicSIpO18uVi5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUUo7UUo9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gbnVsbDthPU9iamVjdC5rZXlzKGEpO2ZvcihsZXQgYyBvZiBhKWlmKGE9Yy50b0xvd2VyQ2FzZSgpLGEuaW5kZXhPZihiLGEubGVuZ3RoLWIubGVuZ3RoKT4tMSlyZXR1cm4gYztyZXR1cm4gbnVsbH07Xy5SSj1mdW5jdGlvbihhKXt2YXIgYj1RSihhLCJhY3Rpb24iKXx8UUooYSwiY29tbWFuZCIpfHxRSihhLCJlbmRwb2ludCIpO2lmKCFiKXJldHVybiBudWxsO3t2YXIgYz0ieXQiK2I7bGV0IGQ9Xy5QSi5nZXQoYyk7ZD9jPWQ6KGI9YHl0LSR7Yi5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCl9YCxfLlBKLnNldChjLGIpLGM9Yil9Xy5CKGEsXy5OSikmJihjKz0iLSIrXy5CKGEsXy5OSikuc2lnbmFsLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXy9nLCItIikpO3JldHVybiBjfTtfLlNKPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPW5ldyBNYXB9fTtfLndhKF8uU0opOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRmRhLEdkYSxDSCxIZGEsREgsRUgsRkgsSWRhO0ZkYT1mdW5jdGlvbihhLGI9MCxjPS0xKXtpZighYS50b3RhbExlbmd0aHx8IWMpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO2M8MCYmKGM9YS50b3RhbExlbmd0aC1iKTthLmZvY3VzKGIpO2lmKCEoYi1hLnYrYzw9YS5qW2Eub10ubGVuZ3RoKSl7dmFyIGQ9YS5vLGU9YS52O2EuZm9jdXMoYitjLTEpO2U9bmV3IFVpbnQ4QXJyYXkoYS52K2EualthLm9dLmxlbmd0aC1lKTtsZXQgZj0wO2ZvcihsZXQgaD1kO2g8PWEubztoKyspZS5zZXQoYS5qW2hdLGYpLGYrPWEualtoXS5sZW5ndGg7YS5qLnNwbGljZShkLGEuby1kKzEsZSk7YS5vPTA7YS52PTA7YS5mb2N1cyhiKX1kPWEualthLm9dO3JldHVybiBuZXcgRGF0YVZpZXcoZC5idWZmZXIsZC5ieXRlT2Zmc2V0K2ItYS52LGMpfTsKR2RhPWZ1bmN0aW9uKGEsYj0wLGM9LTEpe2E9RmRhKGEsYixjKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCl9O0NIPWZ1bmN0aW9uKGEsYil7YS5mb2N1cyhiKTtyZXR1cm4gYS5qW2Eub11bYi1hLnZdfTsKSGRhPWZ1bmN0aW9uKGEpe2lmKCFhLmxlbmd0aClyZXR1cm4iIjt0cnl7aWYoXy5zQSlyZXR1cm4gXy5zQS5kZWNvZGUoYSk7aWYodHlwZW9mIEZldGNoSW50ZXJuYWwhPT0idW5kZWZpbmVkIilyZXR1cm4gRmV0Y2hJbnRlcm5hbC5kZWNvZGVGcm9tVVRGOChhKX1jYXRjaHt9Zm9yKHZhciBiPTAsYz1bXSxkPWEubGVuZ3RoO2I8ZDspe2xldCBmPTA7Zm9yKDtmPDEwMjQmJmI8ZDspe3ZhciBlPWFbYisrXTtpZihlPDEyOCl7Xy5yQVtmKytdPWU7Y29udGludWV9aWYoZTwyMjQpZT0oZSYzMSk8PDZ8YVtiKytdJjYzO2Vsc2UgaWYoZTwyNDApZT0oZSYxNSk8PDEyfChhW2IrK10mNjMpPDw2fGFbYisrXSY2MztlbHNle2lmKGYrMT09PTEwMjQpey0tYjticmVha31lPShlJjcpPDwxOHwoYVtiKytdJjYzKTw8MTJ8KGFbYisrXSY2Myk8PDZ8YVtiKytdJjYzO2UtPTY1NTM2O18uckFbZisrXT01NTI5NnxlPj4xMDtlPTU2MzIwfGUmMTAyM31fLnJBW2YrK109ZX1lPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLApfLnJBKTtmPDEwMjQmJihlPWUuc3Vic3RyaW5nKDAsZikpO2MucHVzaChlKX1yZXR1cm4gYy5qb2luKCIiKX07REg9ZnVuY3Rpb24oYSl7dmFyIGI9Q0goYS5qLGEucG9zKTsrK2EucG9zO2lmKGI8MTI4KXJldHVybiBiO2Zvcih2YXIgYz1iJjEyNyxkPTE7Yj49MTI4OyliPUNIKGEuaixhLnBvcyksKythLnBvcyxkKj0xMjgsYys9KGImMTI3KSpkO3JldHVybiBjfTtFSD1mdW5jdGlvbihhLGIpe3ZhciBjPWEubztmb3IoYS5vPS0xO2EucG9zKzE8PWEuai50b3RhbExlbmd0aDspe2M8MCYmKGM9REgoYSkpO3ZhciBkPWM+PjM7bGV0IGU9YyY3O2lmKGQ9PT1iKXJldHVybiEwO2lmKGQ+Yil7YS5vPWM7YnJlYWt9Yz0tMTtzd2l0Y2goZSl7Y2FzZSAwOkRIKGEpO2JyZWFrO2Nhc2UgMTphLnBvcys9ODticmVhaztjYXNlIDI6ZD1ESChhKTthLnBvcys9ZDticmVhaztjYXNlIDU6YS5wb3MrPTR9fXJldHVybiExfTsKXy5HSD1mdW5jdGlvbihhKXthPW5ldyBJZGEobmV3IEZIKFtfLnVjKGRlY29kZVVSSUNvbXBvbmVudChhKSldKSk7aWYoRUgoYSwyKSl7dmFyIGI9REgoYSk7dmFyIGM9R2RhKGEuaixhLnBvcyxiKTthLnBvcys9YjtiPWN9ZWxzZSBiPXZvaWQgMDtiPWI/SGRhKGIpOnZvaWQgMDthPUVIKGEsNCk/REgoYSk6dm9pZCAwO2M9Xy52QVthXTtpZih0eXBlb2YgYz09PSJ1bmRlZmluZWQiKXRocm93IGE9bmV3IF8uWGooIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLFdJOmF9KSxfLkdwKGEpLGE7cmV0dXJue1JJOmEsZW50aXR5VHlwZTpjLGVudGl0eUlkOmJ9fTtfLkhIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywicGxheWVyU3RhdGVFbnRpdHkiLGIpfTtfLklIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywiYm9vbGVhbkVudGl0eSIsYil9OwpGSD1jbGFzc3tjb25zdHJ1Y3RvcihhPVtdKXt0aGlzLmo9W107dGhpcy50b3RhbExlbmd0aD10aGlzLnY9dGhpcy5vPTA7YS5mb3JFYWNoKGI9Pnt0aGlzLmFwcGVuZChiKX0pfWFwcGVuZChhKXt2YXIgYj10aGlzLmoubGVuZ3RoPT09MD8hMTooYj10aGlzLmpbdGhpcy5qLmxlbmd0aC0xXSkmJmIuYnVmZmVyPT09YS5idWZmZXImJmIuYnl0ZU9mZnNldCtiLmxlbmd0aD09PWEuYnl0ZU9mZnNldDtiPyhiPXRoaXMualt0aGlzLmoubGVuZ3RoLTFdLHRoaXMualt0aGlzLmoubGVuZ3RoLTFdPW5ldyBVaW50OEFycmF5KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCxiLmxlbmd0aCthLmxlbmd0aCksdGhpcy52PXRoaXMubz0wKTp0aGlzLmoucHVzaChhKTt0aGlzLnRvdGFsTGVuZ3RoKz1hLmxlbmd0aH1zcGxpdChhKXt2YXIgYj1uZXcgRkgsYz1uZXcgRkg7Zm9yKGxldCBkIG9mIHRoaXMuailhPj1kLmxlbmd0aD8oYi5hcHBlbmQoZCksYS09ZC5sZW5ndGgpOmE/KGIuYXBwZW5kKG5ldyBVaW50OEFycmF5KGQuYnVmZmVyLApkLmJ5dGVPZmZzZXQsYSkpLGMuYXBwZW5kKG5ldyBVaW50OEFycmF5KGQuYnVmZmVyLGQuYnl0ZU9mZnNldCthLGQubGVuZ3RoLWEpKSxhPTApOmMuYXBwZW5kKGQpO3JldHVybntqSjpiLGJMOmN9fWlzRm9jdXNlZChhKXtyZXR1cm4gYT49dGhpcy52JiZhPHRoaXMudit0aGlzLmpbdGhpcy5vXS5sZW5ndGh9Zm9jdXMoYSl7aWYoIXRoaXMuaXNGb2N1c2VkKGEpKWZvcihhPHRoaXMudiYmKHRoaXMudj10aGlzLm89MCk7dGhpcy52K3RoaXMualt0aGlzLm9dLmxlbmd0aDw9YSYmdGhpcy5vPHRoaXMuai5sZW5ndGg7KXRoaXMudis9dGhpcy5qW3RoaXMub10ubGVuZ3RoLHRoaXMubys9MX19O0lkYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YTt0aGlzLnBvcz0wO3RoaXMubz0tMX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSmVhLGFLO0plYT1mdW5jdGlvbihhLGIpe3ZhciBjPVpKLGQ9Xy5qZi5HYSgoKT0+e2MuUyh7dGV4dDpiLnRleHQsbG9jYXRpb246JEosYW5jaG9yOmEsb2Zmc2V0OmIub2Zmc2V0LHN0eWxlOmIuc3R5bGUsaG90a2V5OmIuaG90a2V5fSk7Yy5vKCEwKX0sNCxiLmRlbGF5KTtjLmooZCl9O2FLPWZ1bmN0aW9uKCl7dmFyIGE9WkosYj1hLnYoKTtiJiYoXy5qZi5BYShiKSxhLmoodm9pZCAwKSk7YS5vKCExKX07Cl8uYks9ZnVuY3Rpb24oYSxiKXt2YXIgW2MsZF09Xy5BQygoKT0+YSgpPz9iPy4oKT8udGV4dCk7cmV0dXJuW2U9Pnt2YXIgZj1fLk4oKCk9Pih7bG9jYXRpb246ImJvdHRvbSIsb2Zmc2V0OjE2LGRlbGF5OjEsLi4uYj8uKCksdGV4dDpjKCk/PyIifSksdm9pZCAwLCJJSlUzOGQiKTtfLm5FKCgpPT57dmFyIGw9ZigpO18uRUEoKCk9PntfLmpmLkdhKCgpPT57Wkoubm90aWZ5KGUsbCl9LDQpfSl9LCJXbHNnWmMiKTt2YXIgaD0oKT0+e0plYShlLGYoKSl9LGs9KCk9PnthSygpfTtlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGgpO2UuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpO2UuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsayk7ZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIixrKTtlLmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsayk7Xy5ZdSgoKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsaCk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwKayk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsaCk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixrKTtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRhcCIsayk7YUsoKX0pfSxkXX07dmFyICRKPXtsZWZ0OiIwcHgiLHJpZ2h0OiJhdXRvIix0b3A6Ii0xMDBweCIsYm90dG9tOiJhdXRvIn07dmFyIFpKPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe1t0aGlzLnN0YXRlLHRoaXMuU109Xy5KKHZvaWQgMCx2b2lkIDAsIkxma3hvZiIpO1t0aGlzLnNob3csdGhpcy5vXT1fLkooITEsdm9pZCAwLCJrMUZrb2UiKTtbdGhpcy52LHRoaXMual09Xy5KKHZvaWQgMCx2b2lkIDAsIlVsOE1JYyIpfW5vdGlmeShhLGIpe3RoaXMuc3RhdGUoKT8uYW5jaG9yPT09YSYmdGhpcy5TKHt0ZXh0OmIudGV4dCxsb2NhdGlvbjokSixhbmNob3I6YSxvZmZzZXQ6Yi5vZmZzZXQsc3R5bGU6Yi5zdHlsZSxob3RrZXk6Yi5ob3RrZXl9KX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmNLPW5ldyBfLkkoInRvb2x0aXBWaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5kSz1mdW5jdGlvbihhLGIpe18uYUUoYSx7Li4uYixQcDohMH0pfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFRiYTtUYmE9ZnVuY3Rpb24oYSxiKXt2YXIgW2MsZF09Xy5KKCExLHZvaWQgMCwibU55d3pjIiksZT0hMSxmLGg9az0+e2lmKGYpcmV0dXJuIF8uSyhmLHsuLi5rfSk7aWYoIWUpe2xldCBsPWEoKTtlPSEwO2lmKGwgaW5zdGFuY2VvZiBQcm9taXNlKXtsZXQgbT1fLmFEO20/LnN1KCk7bC50aGVuKG49PntmPW47ZCghMCk7bT8uSHIoKX0pLmNhdGNoKG49PnttPy5IcigpO2lmKGI/LmRlYnVnTmFtZSl7dmFyIHA9bmV3IF8uWGooImZhaWxlZCB0byBsb2FkIGNodW5rIixiLmRlYnVnTmFtZSxuPy50b1N0cmluZz8uKCkpO18uR3AocCl9ZWxzZSBfLkdwKG4pO3Rocm93IG47fSl9ZWxzZSByZXR1cm4gZj1sLF8uSyhmLHsuLi5rfSl9cmV0dXJuIF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoZix7Li4ua30pfSl9O18uYkQuc2V0KGgsYSk7cmV0dXJuIGh9O18uY0Q9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVGJhKGEsYj97ZGVidWdOYW1lOmJ9OnZvaWQgMCl9O18uSkQ9bmV3IF8uVnMoIkNIVU5LX1JFR0lTVFJZX1RPS0VOIik7Xy5iRD1uZXcgV2Vha01hcDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5lSz1uZXcgXy5WcygiTElHSFRfRUZGRUNUX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLZWE7Xy5mSz1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj0iIjtmb3IobGV0IGMgb2YgS2VhKWlmKGEuZW5kc1dpdGgoYykpe2I9YS5zbGljZSgwLC1jLmxlbmd0aCk7YnJlYWt9aWYoYiYmKGE9TnVtYmVyKGIpLCFpc05hTihhKSkpcmV0dXJuIGF9fTtLZWE9WyJyZW0iLCJweCIsIm1zIiwiJSIsInMiXTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEtkYSxSSDtfLlFIPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUEgoKTtyZXR1cm4gS2RhKGEsYil9O18uUEg9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oUkgpKSxbYixjXT1fLkooYSx2b2lkIDAsInpMSVlSYyIpO2F8fF8uWXQoUkgsYyk7cmV0dXJuIGJ9O0tkYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLk4oKCk9Pnt2YXIgYz1hKCk7cmV0dXJuIGM/YigpPy4oYyk6dm9pZCAwfSx2b2lkIDAsImVReGhtYiIpfTtSSD1uZXcgXy5WcygiU0VNQU5USUNfTEFZT1VUX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaUs9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJPdEtTSmUiKTtyZXR1cm4gXy5VQ307Xy5qSz1fLmNEKCgpPT5fLmlLKCksInRvdWNoRmVlZGJhY2tTaGFwZSIpO18uWXQoXy5KRCxhPT57YS5KKCJ0b3VjaEZlZWRiYWNrU2hhcGUiLCJPdEtTSmUiLF8uaUspfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrSyxOZWEsbEssUGVhLG1LLFFlYSxSZWEsbksscEssVmVhLFdlYSxYZWEsWWVhO2tLPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgW2MsZF1vZiBhLmouZW50cmllcygpKWIucHVzaCh7ZWxlbWVudDpjLFB5OmR9KTthLnYoYil9O05lYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXtkPTB9dmFyIGQ9MDtyZXR1cm4gZnVuY3Rpb24oZSl7ZHx8KGQ9Xy51LnNldFRpbWVvdXQoYyxiKSxhLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19O2xLPWZ1bmN0aW9uKGEpe3JldHVybiFpc05hTihOdW1iZXIoYSkpJiYhL15bXHNceGEwXSokLy50ZXN0KGEpfTsKUGVhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe2M9bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYSxbe3RyYW5zZm9ybToidHJhbnNsYXRlWSgwcHgpIn0se3RyYW5zZm9ybTpgdHJhbnNsYXRlWSgkeyhmP21LKGIsYyxkLGUpOmQ/LTE6MSkqaH1weClgfV0sT2VhKSxkb2N1bWVudC50aW1lbGluZSk7Yj8oYS5zdHlsZS5kaXNwbGF5PSIiLGMub25maW5pc2g9bnVsbCk6Yy5vbmZpbmlzaD0oKT0+e2Euc3R5bGUuZGlzcGxheT0ibm9uZSJ9O2MucGxheSgpO3JldHVybiBjfTttSz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1OdW1iZXIoYSkrMTA7Yj9hPyhhPU51bWJlcihhKSxiPU51bWJlcihiKSxjPWM/YjxhP2U6ZSsxMDpiPGE/ZS0xMDplKTpjPWM/MzA6MDpjPWE9PT0iMCI/ZTpjP2UtMTA6ZSsxMDtyZXR1cm4gZC1jfTsKUWVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgIm1vbm8iOnN3aXRjaChiKXtjYXNlICJmaWxsZWQiOnJldHVybiAxO2Nhc2UgInRvbmFsIjpyZXR1cm4gMztjYXNlICJvdXRsaW5lIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfWNhc2UgIm1vbm8taW52ZXJzZSI6c3dpdGNoKGIpe2Nhc2UgImZpbGxlZCI6cmV0dXJuIDI7Y2FzZSAidG9uYWwiOnJldHVybiA0O2Nhc2UgIm91dGxpbmUiOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9ZGVmYXVsdDpyZXR1cm4gMH19OwpSZWE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIHtkaXNhYmxlZDprLGljb25Qb3NpdGlvbjpsLHN0eWxlOm0sZm9jdXNlZDpuLHVzZU91dGxpbmVkSWNvbjpwLEFjOnJ9PW5LKGEpLHQ9KCk9PiEhQSgpJiZsKCk9PT0iaWNvbi1vbmx5Iix2PSgpPT4hIUEoKSYmbCgpPT09Imljb24tb25seS00MCIsej0oKT0+ISFBKCkmJmwoKT09PSJpY29uLXdpdGgtbGFiZWwiLEU9KCk9PihrKCk/ImRpc2FibGVkIjphKCkuc3RhdGUpPT09ImRpc2FibGVkInx8aygpLEE9KCk9PiEhYnx8ISFkPy4oKXx8ISFyPy4oKSxGPSgpPT5fLngoImFuaW1hdGVfaWNvbl9kaXNhYmxlZF9raWxsc3dpdGNoIik/aD8uKCk6aD8uKCkmJiFFKCksQz1fLlBIKCksRz0oKT0+Xy5vSyhhKCksITAsQyxhKCkuaWdub3JlSWNvblNpemVPdmVycmlkZSk7cmV0dXJue3R5cGU6KCk9Pm0oKT09PSJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlIj8idGV4dCI6bSgpPT09Im92ZXJsYXktZGFyayImJmEoKS50eXBlIT09ImZpbGxlZCImJgphKCkudHlwZSE9PSJ0b25hbCI/InRvbmFsIjphKCkudHlwZSx0bjooKT0+KG4oKXx8Zj8uKCkpJiYhaygpLElsOigpPT4hIUEoKSYmbCgpPT09ImxlYWRpbmciLEtsOigpPT4hIUEoKSYmbCgpPT09InRyYWlsaW5nIixKbDooKT0+ISFBKCkmJiEoIWMmJiFlPy4oKSkmJmwoKT09PSJsZWFkaW5nLXRyYWlsaW5nIixFdzp0LEZ3OnYsR3c6eixpY29uQnV0dG9uOigpPT50KCl8fHYoKXx8eigpLGppOkUsdno6KCk9PiFhKCkuaWdub3JlSWNvblNpemVPdmVycmlkZSYmcEsoYSgpLEEoKSksbXg6Yj9iOigpPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOnJ9LCgpPT5fLksoImRpdiIse3N0eWxlOl8uSUUoe3dpZHRoOigpPT5gJHtHKCl9cHhgLGhlaWdodDooKT0+YCR7RygpfXB4YH0pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5XLHtkYXRhOnJ9LHthbmltYXRlZEFzc2V0Vmlld01vZGVsOih7ZGF0YTpEfSk9Pl8uSyhfLnFLLHtkYXRhOkQsc246ITB9KX0pKSksXy5LKF8uREUsCm51bGwsKCk9Pl8uSyhfLk1ELHtpY29uOmQsWnA6KCk9PmEoKS5jdXN0b21Db2xvcnM/Lm1KLHNpemU6RyxhY3RpdmU6KCk9PmEoKS50b2dnbGVkJiYhcD8uKCksYWc6KCk9PnthKCl9LEdlOkZ9KSkpLGFBOmM/YzooKT0+Xy5LKF8uTUQse2ljb246ZSxzaXplOkcsYWN0aXZlOigpPT5hKCkudG9nZ2xlZCYmIXA/LigpLGFnOigpPT57YSgpfX0pfX07Cm5LPWZ1bmN0aW9uKGEpe3JldHVybntzaXplOigpPT5hKCkuc2l6ZSxzdHlsZTooKT0+YSgpLnN0eWxlLGZvY3VzZWQ6KCk9PmEoKS5mb2N1c2VkLGRpc2FibGVkOigpPT5hKCkuZGlzYWJsZWQsb25UYXA6Yj0+YSgpLm9uVGFwPy4oYiksb2k6KCk9PmEoKS5vaSx1YzooKT0+YSgpLnVjLGN1c3RvbUNvbG9yczooKT0+YSgpLmN1c3RvbUNvbG9ycyxzZWdtZW50ZWRQb3NpdGlvbjooKT0+YSgpLnNlZ21lbnRlZFBvc2l0aW9uLHRvZ2dsZWQ6KCk9PmEoKS50b2dnbGVkLHRvZ2dsZWFibGU6KCk9PmEoKS50b2dnbGVhYmxlLGFjY2Vzc2liaWxpdHlMYWJlbDooKT0+YSgpLmFjY2Vzc2liaWxpdHlMYWJlbCxIZTooKT0+YSgpLkhlLG9uVG9nZ2xlOmI9PmEoKS5vblRvZ2dsZT8uKGIpLGljb25Qb3NpdGlvbjooKT0+YSgpLmljb25Qb3NpdGlvbixvbmVPZmZDdXN0b21UZXh0V3JhcDooKT0+YSgpLm9uZU9mZkN1c3RvbVRleHRXcmFwLElmOigpPT5hKCkuSWYsQXA6KCk9PmEoKS5BcCx0b29sdGlwVGV4dDooKT0+CmEoKS50b29sdGlwVGV4dCxEbjooKT0+YSgpLkRuLGFyaWFIaWRkZW46KCk9PmEoKS5hcmlhSGlkZGVuLGFyaWFFeHBhbmRlZDooKT0+YSgpLmFyaWFFeHBhbmRlZCx0YWJJbmRleDooKT0+YSgpLnRhYkluZGV4LGJ1dHRvblRleHQ6KCk9PmEoKS5idXR0b25UZXh0LFdhOigpPT5hKCkuV2EsYWI6KCk9PmEoKS5hYixvbkNsaWNrUmF0ZUxpbWl0TXM6KCk9PmEoKS5vbkNsaWNrUmF0ZUxpbWl0TXMsb25Ib3ZlcjpiPT5hKCkub25Ib3Zlcj8uKGIpLG1pZGRsZWdyb3VuZEFzc2V0OigpPT5hKCkubWlkZGxlZ3JvdW5kQXNzZXQsQWM6KCk9PmEoKS5BYyxkaXNhYmxlTGlnaHRTaGFwZTooKT0+YSgpLmRpc2FibGVMaWdodFNoYXBlLHVzZU91dGxpbmVkSWNvbjooKT0+YSgpLnVzZU91dGxpbmVkSWNvbn19OwpwSz1mdW5jdGlvbihhLGIpe2I9KGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seSJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seS00MCJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24td2l0aC1sYWJlbCIpJiZiO3JldHVybiFhLnNlZ21lbnRlZFBvc2l0aW9uJiZiJiZhLnNpemU9PT0iUyJ9OwpfLm9LPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWMoKTtpZihfLngoIndlYl9idXR0b25faWNvbl9zaXplX2V4cGVyaW1lbnQiKSl7YTp7Yz1fLmZLKGU/LihTZWEpKT8/MTI7dmFyIGY9Xy5mSyhlPy4oVGVhKSk/PzE4O2U9Xy5mSyhlPy4ockspKT8/MjQ7bGV0IGg9YS5pY29uUG9zaXRpb249PT0iaWNvbi1vbmx5IiYmIWEuc2VnbWVudGVkUG9zaXRpb258fGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seS00MCJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24td2l0aC1sYWJlbCI7c3dpdGNoKGEuc2l6ZSl7Y2FzZSAiWFMiOmE9YzticmVhayBhO2Nhc2UgIlMiOmE9IWQmJnBLKGEsYik/ZTpmO2JyZWFrIGE7Y2FzZSAiTSI6YT1oP2U6ZjticmVhayBhO2RlZmF1bHQ6YT1lfX1yZXR1cm4gYX1jPV8uZksoZT8uKFVlYSkpPz8xNjtmPV8uZksoZT8uKHJLKSk/PzI0O3N3aXRjaChhLnNpemUpe2Nhc2UgIlhTIjpyZXR1cm4gYztjYXNlICJTIjpyZXR1cm4hZCYmcEsoYSxiKT9mOmM7ZGVmYXVsdDpyZXR1cm4gZn19OwpWZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImZpbGxlZCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZCI7Y2FzZSAib3V0bGluZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmUiO2Nhc2UgInRvbmFsIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQifX07CldlYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiY2FsbC10by1hY3Rpb24iOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24iO2Nhc2UgImNhbGwtdG8tYWN0aW9uLW92ZXJsYXkiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5IjtjYXNlICJtb25vIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ubyI7Y2FzZSAib3ZlcmxheSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkiO2Nhc2UgIm92ZXJsYXktZGFyayI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrIjtjYXNlICJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uSW52ZXJzZSI7Y2FzZSAibW9uby1pbnZlcnNlIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UiO2Nhc2UgImJyYW5kLWdyYWRpZW50IjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudCI7CmNhc2UgImdlbi1haS1ncmFkaWVudCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQiO2Nhc2UgInJhaXNlZCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZCI7ZGVmYXVsdDpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ubyJ9fTtYZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlhTIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzIjtjYXNlICJTIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMiO2Nhc2UgIkwiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTCI7Y2FzZSAiWEwiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIn19OwpZZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1fLmhLKCk7Xy5uRSgoKT0+e2ImJihhKCk/Yy5qLnNldChiLHZvaWQgMCk6Yy5qLmRlbGV0ZShiKSxrSyhjKSl9LCJvR1FjaWMiKTtfLll1KCgpPT57Yy5qLmRlbGV0ZShiKTtrSyhjKX0pfX07Xy50Sz1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm5PNWRUZCIpO3JldHVybiBfLllKfTtfLnFLPV8uY0QoKCk9Pl8udEsoKSwiYW5pbWF0ZWRBc3NldFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhbmltYXRlZEFzc2V0Vmlld01vZGVsIiwibk81ZFRkIixfLnRLKX0pO3ZhciBPZWE9e2R1cmF0aW9uOjFFMyxlYXNpbmc6ImVhc2UiLGZpbGw6ImZvcndhcmRzIn0sdUs9Xy5MKGE9Pnt2YXIgYj1fLnVFKCJhbmltYXRlZC1yb2xsaW5nLWNoYXJhY3RlciIpLGM9dm9pZCAwLGQ9Xy5OKCgpPT5sSyhhLkpjPy4oKSl8fGxLKGEueGU/LigpKSx2b2lkIDAsInFTREQ5ZCIpLFtlLGZdPV8uSigwLHZvaWQgMCwiU0lnS0RkIik7Xy5vRigoKT0+e2lmKHdpbmRvdy5SZXNpemVPYnNlcnZlciYmXy54KCJ3ZWJfZml4X3JvbGxpbmdfbnVtYmVyc196b29tX3NhZmFyaSIpKXtsZXQgaD1uZXcgXy5XdCgoKT0+e3ZhciBsPU1hdGgucm91bmQoKGIudmFsdWUucXVlcnlTZWxlY3RvcigiZGl2Iik/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodD8/MCkqMTAwKS8xMDA7bCYmZihsKX0sNTAwKSxrPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e2gudigpfSk7ay5vYnNlcnZlKGIudmFsdWUpO18uWXUoKCk9PntrLmRpc2Nvbm5lY3QoKTtoLmRpc3Bvc2UoKX0pfX0pO18ubkUoKCk9Pgp7dmFyIGg9Xy54KCJ3ZWJfZml4X3JvbGxpbmdfbnVtYmVyc196b29tX3NhZmFyaSIpP2U6YS5CaDtpZihoKCkpe2M/LmNhbmNlbCgpO2lmKGQoKSl7dmFyIGs9YS54ZT8uKCk/TnVtYmVyKGEueGUoKSkrMTA6YS5FZCgpPzA6MzA7YS54Yj8uKCl8fChrLT1tSyhhLkpjPy4oKSxhLnhlPy4oKSxhLkVkKCksaykpfWVsc2UgaWYoaz1hLkVkKCk/MDoyLCFhLnhiPy4oKSl7dmFyIGw9YS5FZCgpPy0xOjE7ay09bH1iLnZhbHVlLnN0eWxlLm1hcmdpblRvcD1gLSR7aypoKCl9cHhgO2EueGI/LigpP2M9UGVhKGIudmFsdWUsYS5KYz8uKCksYS54ZT8uKCksYS5FZCgpLGssZCgpLGgoKSk6Yi52YWx1ZS5zdHlsZS5kaXNwbGF5PWEuSmM/LigpPyIiOiJub25lIn19LCJOSjRnQSIpO3JldHVybiBfLksoImFuaW1hdGVkLXJvbGxpbmctY2hhcmFjdGVyIix7ZWw6YixjbGFzczoiYW5pbWF0ZWRSb2xsaW5nQ2hhcmFjdGVySG9zdCJ9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoWmVhLG51bGwpLFc6KCk9PgpfLksoJGVhLHtKYzphLkpjfSl9KSl9LCJnYSIpO3VLLmlkb21Db21wYXQ9ITA7dmFyIFplYT1fLkwoKCk9Pnt2YXIgYT1bXTtmb3IobGV0IGI9MTtiPDMwO2IrKylhLnB1c2goXy5LKCJkaXYiLG51bGwsYiUxMCkpO3JldHVybiBfLksoXy5JQixudWxsLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSxhLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSl9LCJoYSIpLCRlYT1fLkwoKHtKYzphfSk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpLF8uSyhfLk8se0E6KCk9PiFhPy4oKXx8L15bXHNceGEwXSokLy50ZXN0KGE/LigpKSx0aGVuOigpPT5fLksoImRpdiIsbnVsbCwiXHUwMGEwIiksVzooKT0+Xy5LKCJkaXYiLG51bGwsYSl9KSxfLksoImRpdiIsbnVsbCwiXHUwMGEwIikpLCJpYSIpO3ZhciB2Sz1fLkwoYT0+e3ZhciBiPXZvaWQgMCxjPXZvaWQgMDtfLm5FKCgpPT57Yj1hLlhiKCk7Yz1hLm51bWJlclZhbHVlPy4oKX0sInI3dHFRZCIpO3ZhciBkPV8uTigoKT0+e2lmKCFhLlhiKCkpcmV0dXJuW107dmFyIGU9YS5RcD8uKCl8fCFjfHwhYS5udW1iZXJWYWx1ZT8uKCl8fGM8YS5udW1iZXJWYWx1ZSgpLGY9YS5YYigpLGg9YS5naD8uKCk/YS5oZWlnaHRQeCgpKmEuZ2goKTphLmhlaWdodFB4KCksaz0hIWEueGI/LigpLGw9W10sbT0wLG49MCxwPShiP2IucmVwbGFjZSgvXEQvZywiIikubGVuZ3RoOjApLShmP2YucmVwbGFjZSgvXEQvZywiIikubGVuZ3RoOjApLHI9Yj9iLnNwbGl0KC8oXGQpLykuZmlsdGVyKEJvb2xlYW4pOltdO2ZvcihmPWYuc3BsaXQoLyhcZCkvKS5maWx0ZXIoQm9vbGVhbik7cDwwOyl7dmFyIHQ9ZltuXTtsLnB1c2goe0pjOnQsRWQ6ZSxCaDpoLHhiOmt9KTtuKys7bEsodCkmJnArK31mb3IoO208cDspdD1yW21dLGwucHVzaCh7eGU6dCxFZDplLApCaDpoLHhiOmt9KSxtKyssbEsodCl8fHArKztmb3IoO248Zi5sZW5ndGg7KXA9ZltuXSx0PXJbbV0sbEsocCk9PT1sSyh0KT8obisrLG0rKyk6bEsocCk/KG0rKyxwPXZvaWQgMCk6bEsodCkmJihuKyssdD12b2lkIDApLGwucHVzaCh7SmM6cCx4ZTp0LEVkOmUsQmg6aCx4YjprfSk7cmV0dXJuIGx9LHZvaWQgMCwid21uSFIiKTtyZXR1cm4gXy5LKCJ5dC1hbmltYXRlZC1yb2xsaW5nLW51bWJlciIse2NsYXNzOiJhbmltYXRlZFJvbGxpbmdOdW1iZXJIb3N0IixzdHlsZTooKT0+YS5YYigpP1tgaGVpZ2h0OiAke2EuZ2g/LigpP2EuaGVpZ2h0UHgoKSphLmdoKCk6YS5oZWlnaHRQeCgpfXB4O2AsYGxpbmUtaGVpZ2h0OiAke2EuaGVpZ2h0UHgoKX1weDtgXS5qb2luKCIgIik6IiIsZGlyOiJsdHIiLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5nRyx7cGE6ZCx0YjoiSU5ERVgifSxlPT5fLksodUsse0pjOigpPT5lKCkuSmMseGU6KCk9PmUoKS54ZSxCaDooKT0+ZSgpLkJoLEVkOigpPT4KZSgpLkVkLHhiOigpPT5lKCkueGJ9KSkpfSwia2EiKTt2Sy5pZG9tQ29tcGF0PSEwO3ZhciBhZmE9WyJtb25vIiwibW9uby1pbnZlcnNlIiwib3ZlcmxheSJdLGJmYT1bImZpbGxlZCJdO3ZhciB3Sz17Y3VwY2FrZToxLjUsZG9udXQ6MS42LGVjbGFpcjoyLGZyb3lvOjIuMixnaW5nZXJicmVhZDoyLjMsaG9uZXljb21iOjMsImljZSBjcmVhbSBzYW5kd2ljaCI6NCxqZWxseWJlYW46NC4xLGtpdGthdDo0LjQsbG9sbGlwb3A6NS4xLG1hcnNobWFsbG93OjYsbm91Z2F0OjcuMX0seEs7YTp7dmFyIHlLPV8uYmMoKTt5Sz15Sy50b0xvd2VyQ2FzZSgpO2lmKHlLLmluZGV4T2YoImFuZHJvaWQiKSE9LTEpe3ZhciB6Sz15Sy5tYXRjaCgvYW5kcm9pZFxzKihcZCsoXC5cZCspPylbXjt8KV0qWzspXS8pO2lmKHpLKXtsZXQgYT1wYXJzZUZsb2F0KHpLWzFdKTtpZihhPDEwMCl7eEs9YTticmVhayBhfX12YXIgQUs9eUsubWF0Y2goIigiK09iamVjdC5rZXlzKHdLKS5qb2luKCJ8IikrIikiKTt4Sz1BSz93S1tBS1swXV06MH1lbHNlIHhLPXZvaWQgMH1fLkJLPXhLPj0wO3ZhciBDSyxGSzt7dmFyIERLPV8uYmMoKTtsZXQgYT1ESy5tYXRjaCgvXCgoaVBhZHxpUGhvbmV8aVBvZCkoIFNpbXVsYXRvcik/Oy8pO2lmKCFhfHxhLmxlbmd0aDwyKUNLPXZvaWQgMDtlbHNle3ZhciBFSz1ESy5tYXRjaCgvXCgoaVBhZHxpUGhvbmV8aVBvZCkoIFNpbXVsYXRvcik/OyAoVTsgKT9DUFUgKGlQaG9uZSApP09TIChcZCtfXGQpW18gXS8pO0NLPUVLJiZFSy5sZW5ndGg9PT02P051bWJlcihFS1s1XS5yZXBsYWNlKCJfIiwiLiIpKTowfX1GSz1DSztfLkdLPUZLPj0wO3ZhciBVZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX0NPTkRFTlNFRCJ9LHJLPXt5dFN5c01lYXN1cmVtZW50UmVmZXJlbmNlOiJZVF9TWVNfTUVBU1VSRU1FTlRfUkVGRVJFTkNFX0lDT05fU0laRV9DT01GT1JUQUJMRSJ9LFNlYT17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfTUlOSSJ9LFRlYT17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfQ09NUEFDVCJ9LGNmYT1fLkwoYT0+Xy5LKF8uTyx7QTphLnVjLHRoZW46Yj0+Xy5LKF8ubkgse3VjOmIsZGlzYWJsZWQ6YS5kaXNhYmxlZCxjbGFzc05hbWU6YS5jbGFzc05hbWUsc3R5bGU6YS5zdHlsZSx0aXRsZTphLnRpdGxlLGFyaWFMYWJlbDphLmFyaWFMYWJlbCxIZTphLkhlLGFyaWFDdXJyZW50OigpPT5hLnRvZ2dsZWFibGU/LigpJiYKYS50b2dnbGVkPy4oKSxhcmlhRXhwYW5kZWQ6YS5hcmlhRXhwYW5kZWQscmVmOmEucmVmLG9uSG92ZXI6YS5vbkhvdmVyfSxhLmNoaWxkcmVuKSxXOigpPT5fLksoImJ1dHRvbiIse2VsOl8uckYoYS5yZWYpLCJvbjpjbGljayI6YS5vbkNsaWNrLCJvbjptb3VzZWVudGVyIjphLm9uSG92ZXIsY2xhc3M6YS5jbGFzc05hbWUsdGl0bGU6YS50aXRsZSxzdHlsZTphLnN0eWxlLGRpc2FibGVkOmEuZGlzYWJsZWQsImFyaWEtcHJlc3NlZCI6KCk9PmEudG9nZ2xlYWJsZT8uKCk/ISFhLnRvZ2dsZWQ/LigpOnZvaWQgMCwiYXJpYS1sYWJlbCI6YS5hcmlhTGFiZWwsImFyaWEtZGVzY3JpYmVkYnkiOmEuSGUsImFyaWEtZGlzYWJsZWQiOmEuamksImFyaWEtaGlkZGVuIjphLmFyaWFIaWRkZW4sImFyaWEtZXhwYW5kZWQiOmEuYXJpYUV4cGFuZGVkLHRhYmluZGV4OigpPT5hLnRhYkluZGV4Py4oKT8/KChfLk9rfHxfLnJ6KCkpJiZfLngoIndlYl9lbmFibGVfc2FmYXJpX2J1dHRvbl90YWJpbmRleF9maXgiKT8KMDp2b2lkIDApfSxhLmNoaWxkcmVuKX0pLCJsYSIpLGRmYT1fLkwoKHtkYXRhOmEsSWw6YixKbDpjLEtsOmQsaWNvbkJ1dHRvbjplLGl4OmYsWno6aCxpY29uOmssc2Vjb25kYXJ5SWNvbjpsLFVBOm0sSnk6bixqaTpwLGRpc2FibGVMaWdodFNoYXBlOnJ9KT0+e3ZhciB0PV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSksdj1fLklFKHtjb2xvcjooKT0+YSgpLmN1c3RvbUNvbG9ycz8uaWNvbkNvbG9yfSk7cmV0dXJuIF8uSyhISyx7Y2xhc3NOYW1lOiIiLHN0eWxlOiJkaXNwbGF5OiBpbmhlcml0OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciJ9LF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IlY0ejFVYyIsQTooKT0+ayYmKGIoKXx8YygpfHxlPy4oKSksdGhlbjooKT0+Xy5LKEhLLG51bGwsXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOnYsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LGs/LigpKSl9KSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJvazNidGIiLEE6KCk9PihhKCkuYnV0dG9uVGV4dHx8CmEoKS5hYnx8YSgpLldhKSYmIWU/LigpLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSyhJSyx7Y2xhc3NOYW1lOm0saWNvblBvc2l0aW9uOigpPT5hKCkuaWNvblBvc2l0aW9uLHRleHQ6KCk9PmEoKS5idXR0b25UZXh0LG9uZU9mZkN1c3RvbVRleHRXcmFwOigpPT5hKCkub25lT2ZmQ3VzdG9tVGV4dFdyYXAsV2E6KCk9PmEoKS5XYSxhYjooKT0+YSgpLmFifSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToiRE81UnoiLEE6ZCx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoImRpdiIse2NsYXNzOmYsc3R5bGU6dn0saz8uKCkpKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6ImJub2pTYyIsQTpjLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSygiZGl2Iix7Y2xhc3M6aCxzdHlsZTp2fSxsPy4oKSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToiSE4za2FkIixBOigpPT4hYSgpLmRpc2FibGVkJiYhKHQ/LldvJiYhcD8uKCkpLHRoZW46KCk9Pl8uSyhfLmpLLHttb2RlbDooKT0+e3ZhciB6PQphKCk7cmV0dXJue2NvbG9yOnouc3R5bGU9PT0ib3ZlcmxheS1kYXJrIj80Onouc3R5bGU9PT0ib3ZlcmxheSI/ei50eXBlPT09ImZpbGxlZCI/NDozOnoudHlwZT09PSJmaWxsZWQifHx6LnN0eWxlPT09ImNhbGwtdG8tYWN0aW9uLWludmVyc2UifHx6LnN0eWxlPT09Im1vbm8taW52ZXJzZSI/MjoxfX19KX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5taWRkbGVncm91bmRBc3NldH0se2FuaW1hdGVkQXNzZXRWaWV3TW9kZWw6KHtkYXRhOnp9KT0+Xy5LKF8ucUsse2RhdGE6eixjbGFzc05hbWU6bixzbjohMH0pfSksXy5LKF8uTyx7QTooKT0+dD8uSXUmJiFwPy4oKSYmIXI/LigpLHRoZW46KCk9Pl8uSyhfLnlFLHtjb25maWc6KCk9Pnt2YXIgej1hKCksRT16LnN0eWxlLEE9ei50eXBlLEY9Xy55KCkucmVzb2x2ZShfLkluKF8uZUspKTtyZXR1cm57VmE6UWVhKEUsQSksams6Rj8uVm8mJkE9PT0idG9uYWwiLGV2OnouY3VzdG9tQ29sb3JzPy5iYWNrZ3JvdW5kQ29sb3IsZHY6ei5jdXN0b21Db2xvcnM/LmJvcmRlckNvbG9yLApDQjpGPy5Xb319fSl9KSl9LCJtYSIpLElLPV8uTChhPT57dmFyIGI9KCk9PmEuaWNvblBvc2l0aW9uPy4oKT09PSJpY29uLXdpdGgtbGFiZWwifHxhLm9uZU9mZkN1c3RvbVRleHRXcmFwPy4oKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczphLmNsYXNzTmFtZSwiYXJpYS1oaWRkZW4iOigpPT5hLmFyaWFIaWRkZW4/LigpJiYoISFhLmFiPy4oKXx8ISFhLldhPy4oKSl9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEuYWI/LigpfSwoKT0+Xy5LKHZLLHtYYjooKT0+YS5hYigpLlhiLG51bWJlclZhbHVlOigpPT5hLmFiKCkubnVtYmVyVmFsdWUsaGVpZ2h0UHg6KCk9PmEuYWIoKS5oZWlnaHRQeCxnaDooKT0+YS5hYigpLmdoLHhiOigpPT5hLmFiKCkueGIsUXA6KCk9PmEuYWIoKS5RcH0pKSxfLksoXy5DRSx7d2hlbjooKT0+YS5XYT8uKCl9LCgpPT5fLksoXy5WLHt0ZXh0OigpPT4oey4uLmEuV2EoKSxsaW5lQnJlYWtNb2RlOmIoKT8iTElORV9CUkVBS19NT0RFX0JZX1dPUkRfV1JBUFBJTkciOgphLldhKCkubGluZUJyZWFrTW9kZSxhbGlnbm1lbnQ6YigpPyJURVhUX0FMSUdOTUVOVF9DRU5URVIiOmEuV2EoKS5hbGlnbm1lbnR9KSx1YjohMCxub1dyYXA6KCk9PiFiKCl9KSksXy5LKF8uQ0Use3doZW46KCk9PmEuaWNvblBvc2l0aW9uPy4oKT09PSJpY29uLXdpdGgtbGFiZWwiJiZhLnRleHQ/LigpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+KHtjb250ZW50OmEudGV4dCgpLGxpbmVCcmVha01vZGU6IkxJTkVfQlJFQUtfTU9ERV9CWV9XT1JEX1dSQVBQSU5HIixhbGlnbm1lbnQ6IlRFWFRfQUxJR05NRU5UX0NFTlRFUiJ9KSx1YjohMCxub1dyYXA6ITF9KSksXy5LKF8uREUsbnVsbCwoKT0+YS50ZXh0KSkpfSwibmEiKSxlZmE9Xy5MKGE9Pl8uSyhfLk8se2RlYnVnSW5zdGFuY2U6ImtNN1NnYyIsQTphLmhhc0xhYmVsLHRoZW46KCk9Pl8uSygibGFiZWwiLHtjbGFzczphLmNsYXNzTmFtZX0sYS5jaGlsZHJlbixhLnRleHRDb250ZW50Py4oKSksVzooKT0+YS5jaGlsZHJlbn0pLCJvYSIpLApISz1fLkwoYT0+YS5jaGlsZHJlbiwicGEiKTtfLkpLPV8uTCgoe2RhdGE6YSxpY29uOmIsaWNvbk5hbWU6YyxHZTpkLHNlY29uZGFyeUljb246ZSxRcjpmLFhJOmgsYXA6a30pPT57Xy5tRygpO3ZhciB7c2l6ZTpsLHN0eWxlOm0sZGlzYWJsZWQ6bixvblRhcDpwLG9pOnIsdWM6dCxjdXN0b21Db2xvcnM6dixzZWdtZW50ZWRQb3NpdGlvbjp6LHRvZ2dsZWQ6RSx0b2dnbGVhYmxlOkEsYWNjZXNzaWJpbGl0eUxhYmVsOkYsb25Ub2dnbGU6QyxpY29uUG9zaXRpb246RyxvbmVPZmZDdXN0b21UZXh0V3JhcDpELElmOkgsQXA6Uix0b29sdGlwVGV4dDpNLERuOlMsYXJpYUhpZGRlbjpZLGFyaWFFeHBhbmRlZDpwYSx0YWJJbmRleDpvYSxidXR0b25UZXh0OlUsV2E6aGEsYWI6bWEsb25DbGlja1JhdGVMaW1pdE1zOnRhLG9uSG92ZXI6VCxtaWRkbGVncm91bmRBc3NldDpiYSxkaXNhYmxlTGlnaHRTaGFwZTphYX09bksoYSkse3R5cGU6T2EsdG46SmIsSWw6emEsS2w6TGIsSmw6Y2MsRXc6bGMsRnc6VmIsR3c6dGQsaWNvbkJ1dHRvbjpCZSwKamk6YWQsdno6bnMsbXg6TWcsYUE6WkJ9PVJlYShhLGIsZSxjLGYsaCxkKSxbZmZhXT1fLmJLKE0sUyksTFQ9cmI9PntwPy4ocmIpO0EoKSYmQz8uKHJiKX0sTVQ9Xy5OKCgpPT50YT8uKCksdm9pZCAwLCJzaUt5d2IiKSxnZmE9Xy5OKCgpPT5NVCgpP05lYShMVCxNVCgpKTpMVCx2b2lkIDAsIndEVGNOIiksJEI9Xy55KCkucmVzb2x2ZShfLkluKF8uZUspKTtiPV8uTigoKT0+YmEoKXx8JEI/Lkl1LHZvaWQgMCwielVRUk9lIik7dmFyIGhmYT1ZZWEoKCk9Pnt2YXIgcmI9bSgpLGFpPU9hKCk7cmV0dXJuISFfLnkoKS5yZXNvbHZlKF8uSW4oXy5lSykpPy5WbyYmYWZhLmluY2x1ZGVzKHJiKSYmYmZhLmluY2x1ZGVzKGFpKX0pO3JldHVybiBfLksoZWZhLHtjbGFzc05hbWU6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbEhvc3QiLHt5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbElzT3ZlcmxheTooKT0+bSgpPT09Im92ZXJsYXkifHxtKCk9PT0ib3ZlcmxheS1kYXJrIn0pLGhhc0xhYmVsOnRkLAp0ZXh0Q29udGVudDooKT0+Xy5LKElLLHt0ZXh0OlUsY2xhc3NOYW1lOiJ5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVsIixhcmlhSGlkZGVuOiEwLG9uZU9mZkN1c3RvbVRleHRXcmFwOkQsaWNvblBvc2l0aW9uOkcsV2E6aGEsYWI6bWF9KX0sXy5LKGNmYSx7dWM6dCxjbGFzc05hbWU6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0IiwoKT0+VmVhKE9hKCkpLCgpPT5hZCgpP3ZvaWQgMDpXZWEobSgpKSwoKT0+WGVhKGwoKSkse3l0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkOmFkLHl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6SmIseXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nOkxiLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nOnphLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmc6Y2MseXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dDooKT0+Y2MoKSYmIShVKCl8fGhhKCkpLAp5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uOigpPT5sYygpfHx0ZCgpLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdDpWYix5dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dDpyLHl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OigpPT56KCk9PT0ic3RhcnQiLHl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZDooKT0+eigpPT09ImVuZCIseXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcnJpZGVTbWFsbFNpemVJY29uOm5zLHl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyOkQseXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZVRleHRFbGxpcHNpczpILHl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUJhY2tkcm9wRmlsdGVyRXhwZXJpbWVudDooKT0+e3ZhciByYjtpZihyYj0hUigpKSEocmI9Xy5HSyYmRks+PTE0KSYmKHJiPV8uQkspJiYocmI9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5Pj0KOCkscmI9cmI/IV8ueCgid2ViX2Rpc2FibGVfYmFja2Ryb3BfZmlsdGVyIik6ITE7cmV0dXJuIHJifSx5dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2U6KCk9PiEhJEI/LldvJiYhYWQoKSx5dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZTooKT0+Xy54KCJ3ZWJfYnV0dG9uX2ljb25fc2l6ZV9leHBlcmltZW50IikseXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZzooKT0+Xy54KCJ3ZWJfYnV0dG9uX21haW5zdGFnZV9wYWRkaW5nIil9KSxzdHlsZTooKT0+e3ZhciByYj12KCk7aWYocmIpe3ZhciBhaT1yYi5jb2xvcjt2YXIgTlQ9cmIuYmFja2dyb3VuZENvbG9yO3JiPXJiLmJvcmRlckNvbG9yO3ZhciBwcz0iIjthaSYmKHBzKz1gY29sb3I6ICR7YWl9O2ApO05UJiYocHMrPWBiYWNrZ3JvdW5kLWNvbG9yOiAke05UfTtgKTtyYiYmKHBzKz1gYm9yZGVyLWNvbG9yOiAke3JifTtgKTthaT17c3R5bGU6cHN9fWVsc2UgYWk9Cnt9O3JldHVybiBhaS5zdHlsZX0sb25DbGljazpyYj0+e2dmYSgpKHJiKX0sb25Ib3ZlcjpyYj0+e1Q/LihyYil9LGRpc2FibGVkOm4sYXJpYUxhYmVsOkYsdG9nZ2xlYWJsZTpBLHRvZ2dsZWQ6RSx0aXRsZTooKT0+IWs/LigpJiZNKCk/TSgpOiIiLGppOmFkLGFyaWFIaWRkZW46WSxhcmlhRXhwYW5kZWQ6cGEsdGFiSW5kZXg6b2EscmVmOnJiPT57JEI/LlZvJiZoZmEocmIpO2s/LigpJiZmZmEocmIpfX0sXy5LKGRmYSx7ZGF0YTphLElsOnphLEpsOmNjLEtsOkxiLGljb25CdXR0b246QmUsaWNvbjpNZyxVQTpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50Iix7eXRTcGVjQnV0dG9uU2hhcGVOZXh0RWxldmF0ZWRDb250ZW50OmJ9KSxpeDpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dEljb24iLHt5dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnQ6Yn0pLFp6Ol8uUCgieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbiIse3l0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudDpifSksCnNlY29uZGFyeUljb246WkIsSnk6Inl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0IixqaTphZCxkaXNhYmxlTGlnaHRTaGFwZTphYX0pKSl9LCJyYSIpO18uSksuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntpY29uOiEwLHNlY29uZGFyeUljb246ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExkYSxNZGEsTmRhLE9kYTtMZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlZILlRlKCkuZ2V0U3RhdGUoKTtyZXR1cm4gYj9hKGMsLi4uYik6YShjKX07Xy5YSD1mdW5jdGlvbigpe2lmKFdIKXJldHVybiBXSDt2YXIgW2EsLGJdPV8uSigwLHZvaWQgMCwiTUIxSGIiKTtfLlZILlRlKCkuc3Vic2NyaWJlKCgpPT57TWRhKGIpfSk7cmV0dXJuIFdIPWF9O01kYT1mdW5jdGlvbihhKXtZSHx8KFlIPSEwLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnthKGI9PmIrMSk7WUg9ITF9KSl9O18uWkg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5WSC5wdygpKGEsYil9O18uYkk9bmV3IF8uVnMoIlNUQVRFX1NUT1JFX1RPS0VOIik7TmRhPW5ldyBfLlZzKCJTRUxFQ1RfVE9LRU4iKTtPZGE9bmV3IF8uVnMoIkRJU1BBVENIX1RPS0VOIik7dmFyIFdILFlIO18uVkg9e3B3OigpPT5fLnkoKS5yZXNvbHZlKF8uSW4oTmRhKSk/P0xkYSxtdzooKT0+Xy55KCkucmVzb2x2ZShfLkluKE9kYSkpPz9fLlZILlRlKCkuZGlzcGF0Y2guYmluZChfLlZILlRlKCkpLFRlOigpPT5fLnkoKS5yZXNvbHZlKF8uYkkpfTtZSD0hMTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5jST1mdW5jdGlvbihhKXtyZXR1cm4gXy5OKCgpPT57Xy5YSCgpKCk7cmV0dXJuIF8uWkgoYSl9LHtkZWJ1Z05hbWU6ImQ4QjYyYyJ9LCJERVhraGQiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBpZmEsamZhLE9LLE5LLG5mYSxSSyxvZmEscGZhLFRLLHFmYSxyZmEsU0ssc2ZhLHRmYSx1ZmEsdmZhO2lmYT1mdW5jdGlvbihhLGIpe2IuZm9yRWFjaChjPT57dmFyIGQ9bnVsbDtjP2Q9Yy5hcHBseShudWxsLGEuYXJncyk6KGM9RXJyb3IoInJkIiksYy5wYXJhbXM9YS5hY3Rpb25OYW1lLF8uVWkoYykpO2EucmV0dXJuVmFsdWUucHVzaChkKX0pfTtqZmE9ZnVuY3Rpb24oYSxiLGMpe2IuZm9yRWFjaChkPT57dmFyIGU9Xy5SSihkKTtlJiYoZD1uZXcgXy5PSihlLCEwLFtkLGMsdm9pZCAwXSksKGU9YS5qLmdldChkLmFjdGlvbk5hbWUpKSYmaWZhKGQsZSksZC5qfHxkLnJldHVyblZhbHVlLmxlbmd0aCE9PTB8fChkPW5ldyBfLlhqKCJVbmhhbmRsZWQgYWN0aW9uIixkLmFjdGlvbk5hbWUpLF8uV2koZCkpKX0pfTtfLktLPWZ1bmN0aW9uKGEpe3JldHVybihhJjQyNzgxOTAwODApPj4+MjQ9PT0wP18uaUUoYSwiMSIpOl8uTkQoYSl9OwpfLk1LPWZ1bmN0aW9uKCl7TEt8fChMSz1uZXcga2ZhKTtyZXR1cm4gTEt9O09LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLmFjdGlvbixlPWMuZWxlbWVudDtlJiZkJiYobGZhLmluY2x1ZGVzKGIpfHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9SRU1JWCJ8fGEuRCYmYS5ELkFKKGUpP05LKGEsYixjKTphLnYmJihhLm98fChhLm89bmV3IFdlYWtNYXApLGQ9YS52Lm9ic2VydmUoZSwoKT0+e05LKGEsYixjKTthLm8uZGVsZXRlKGUpfSx7VmI6ITAsc3RhdGU6InZpc2libGUifSksYS5vLnNldChlLGQpKSl9O18uUEs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLkIuZ2V0KGIpO2lmKGMpe3ZhciBkPWEuai5nZXQoYyk7ZCYmKGRlbGV0ZSBkLmVsZW1lbnQsYS5qLnNldChjLGQpKTthLkIuZGVsZXRlKGIpO2EudiYmYS5vJiYoYz1hLm8uZ2V0KGIpKSYmKGEudi5yZihjKSxhLm8uZGVsZXRlKGIpKX19OwpfLlFLPWZ1bmN0aW9uKGEsYixjKXtfLlBLKGEsYyk7dmFyIGQ9YS5qLmdldChiKTtkfHwoZD17fSxhLmouc2V0KGIsZCkpO2QuZWxlbWVudD1jO2EuQi5zZXQoYyxiKTtPSyhhLGIsZCl9O05LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLmFjdGlvbjsoYz1jLmVsZW1lbnQpJiZkJiYoamZhKGEuSyxbZF0sYyksYS5qLmRlbGV0ZShiKSxhLkIuZGVsZXRlKGMpLGEuWS5hZGQoYikpfTsKbmZhPWZ1bmN0aW9uKGEsYixjKXtpZihjJiZiKXN3aXRjaChjKXtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfUkVNT1ZFX0FEU19BRF9TVEFURSI6cmV0dXJuKGE9Xy5ISChhLGIpKT97aXNIaWRkZW46YS5hZHNTdGF0ZT09PSJBRFNfU1RBVEVfTk9ORSJ8fGEuYWRzU3RhdGU9PT0iQURTX1NUQVRFX1VOS05PV04ifTp7aXNIaWRkZW46ITB9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DSEFUQk9UX1BFTkRJTkdfUkVTUE9OU0UiOnJldHVybntpc0hpZGRlbjohMSxpc0Rpc2FibGVkOiEhXy5xQShhLmVudGl0aWVzLCJ5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5IixiKT8uaXNQZW5kaW5nUmVzcG9uc2V9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9CT09MRUFOX0RJU0FCTEVEIjpyZXR1cm57aXNIaWRkZW46ITEsaXNEaXNhYmxlZDohIV8uSUgoYSxiKT8udmFsdWV9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9BU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZIjpyZXR1cm4gYT0KXy5xQShhLmVudGl0aWVzLCJhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5IixiKT8uc3RhdGUsYT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX1BFTkRJTkciP3tpc0hpZGRlbjohMSxhcmlhRGlzYWJsZWQ6ITAsYXJpYUJ1c3k6ITAsYWNjZXNzaWJpbGl0eUxhYmVsOiJHZW5lcmF0aW5nIHN1bW1hcnkuLi4iLGljb25OYW1lOnZvaWQgMCxBYzptZmF9OmE9PT0iQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWV9TVEFURV9VTlJFQUQifHxhPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfRkFJTEVEIj8oYT1hPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfVU5SRUFEIix7aXNIaWRkZW46ITEsYXJpYURpc2FibGVkOiEwLGFjY2Vzc2liaWxpdHlMYWJlbDphPyJVbnJlYWQgc3VtbWFyeSI6IkZhaWxlZCB0byBnZW5lcmF0ZSBzdW1tYXJ5IixpY29uTmFtZToiWVRJQ09OX0ZJTExfRE9UX1MyNCIsCkFjOnZvaWQgMCwuLi4oYSYme2N1c3RvbUNvbG9yczp7Y29sb3I6InZhcigtLXl0LXNwZWMtY2FsbC10by1hY3Rpb24pIixpY29uQ29sb3I6InZhcigtLXl0LXNwZWMtY2FsbC10by1hY3Rpb24pIn19KX0pOntpc0hpZGRlbjohMH07Y2FzZSAiQlVUVE9OX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0NPTU1FUkNFX1RPS0VOX0JBTEFOQ0UiOnJldHVybiBhPV8ucUEoYS5lbnRpdGllcywiY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHkiLGIpLGE/LnNlcnZlclRva2VuQmFsYW5jZSE9bnVsbD8oYT1OdW1iZXIoYS5zZXJ2ZXJUb2tlbkJhbGFuY2UpLGE9aXNOYU4oYSk/dm9pZCAwOlN0cmluZyhhLzFFNikse2lzSGlkZGVuOiExLFdhOmE/e2NvbnRlbnQ6YX06dm9pZCAwfSk6e2lzSGlkZGVuOiExfTtkZWZhdWx0OnJldHVybntpc0hpZGRlbjohMX19fTsKUks9ZnVuY3Rpb24oYSl7cmV0dXJue3RleHQ6YS50b29sdGlwVGV4dD8/IiIsbG9jYXRpb246b2ZhKGEucGxhY2VtZW50KSxzdHlsZTphLnN0eWxlLGhvdGtleTphLmhvdGtleX19O29mYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9CT1RUT00iOnJldHVybiJib3R0b20iO2Nhc2UgIlRPT0xUSVBfVklFV19NT0RFTF9QTEFDRU1FTlRfVE9QIjpyZXR1cm4idG9wIjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX0xFRlQiOnJldHVybiJsZWZ0IjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX1JJR0hUIjpyZXR1cm4icmlnaHQiO2RlZmF1bHQ6cmV0dXJuImJvdHRvbSJ9fTsKcGZhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5SRChhPy5vblRhcCksZD17fTtjJiYoZC5iSj0oKT0+U0soYSxjLGI/LnZhbHVlPy52aXN1YWxFbGVtZW50KSk7ZD1fLmJFKHtiaDphLm9uVGFwLHFkOiEwLEFvOmR9KTtyZXR1cm4gZD8uaHJlZj9kOnZvaWQgMH07VEs9ZnVuY3Rpb24oYSxiLGMsZCxlKXtjPXtyQzpjfTtfLmRLKGEse2Zvcm06e2N1cnJlbnREYXRhOmMsc291cmNlRGF0YTpjLGVsZW1lbnQ6YixldmVudDpkfSwuLi5lfSl9OwpxZmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj12b2lkIDA7cmV0dXJuIGg9Pnt2YXIgaz1fLlJEKGM/YT8ub25EaXNhYmxlZFRhcDphPy5vblRhcCk7aWYoaylpZihmPWY/P2I/LnZhbHVlLF8ueCgid2ViX2J1dHRvbl92bV9jbGlja19jbGllbnRfdmVfa2lsbHN3aXRjaCIpKVRLKGssZixhLGgpO2Vsc2V7bGV0IGw9U0soYSxrLGY/LnZpc3VhbEVsZW1lbnQpO2lmKGUpe1RLKGssZSxhLGgse2NsaWNrZWRWaXN1YWxFbGVtZW50OmwsZm9ybTp7ZWxlbWVudDplfX0pO3JldHVybn1USyhrLGYsYSxoLHtjbGlja2VkVmlzdWFsRWxlbWVudDpsfSl9ZCYmZChoKX19O3JmYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dm9pZCAwO3JldHVybiBlPT57dmFyIGY9Xy5SRChhPy5vbkhvdmVyKTtmJiYoZD1kPz9iPy52YWx1ZSxjP1RLKGYsYyxhLGUse2Zvcm06e2VsZW1lbnQ6Y319KTpUSyhmLGQsYSxlKSl9fTsKU0s9ZnVuY3Rpb24oYSxiLGMpe2I9Yj8uY2xpY2tUcmFja2luZ1BhcmFtczthPWE/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZTtpZihjJiZhJiYhYilyZXR1cm4gY307CnNmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQ1RBIjpyZXR1cm4iY2FsbC10by1hY3Rpb24iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk8iOmNhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EIjpyZXR1cm4ibW9ubyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfT1ZFUkxBWSI6cmV0dXJuIm92ZXJsYXkiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVlfREFSSyI6cmV0dXJuIm92ZXJsYXktZGFyayI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQlJBTkRfR1JBRElFTlQiOnJldHVybiJicmFuZC1ncmFkaWVudCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQlJBTkRfQUkiOnJldHVybiJnZW4tYWktZ3JhZGllbnQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX1JBSVNFRCI6cmV0dXJuInJhaXNlZCI7ZGVmYXVsdDpyZXR1cm4ibW9ubyJ9fTsKdGZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCVVRUT05fVklFV19NT0RFTF9UWVBFX0ZJTExFRCI6cmV0dXJuImZpbGxlZCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9PVVRMSU5FIjpyZXR1cm4ib3V0bGluZSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9URVhUIjpyZXR1cm4idGV4dCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9UT05BTCI6cmV0dXJuInRvbmFsIjtkZWZhdWx0OnJldHVybiJ0ZXh0In19O3VmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfQUNUSVZFIjpyZXR1cm4iYWN0aXZlIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVEFURV9JTkFDVElWRSI6cmV0dXJuImRpc2FibGVkIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVEFURV9ESVNBQkxFRCI6cmV0dXJuImRpc2FibGVkIjtkZWZhdWx0OnJldHVybiJhY3RpdmUifX07CnZmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9YU01BTEwiOnJldHVybiJYUyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9DT01QQUNUIjpyZXR1cm4iUyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9ERUZBVUxUIjpyZXR1cm4iTSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9MQVJHRSI6cmV0dXJuIkwiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfWExBUkdFIjpyZXR1cm4iWEwiO2RlZmF1bHQ6cmV0dXJuIk0ifX07dmFyIGxmYT1bImJyb3dzZS12aWRlby1tZW51LWJ1dHRvbiIsInVuaWZpZWQtdmVyaWZpZWQtYmFkZ2UiLCJ0b3BiYXItZ3VpZGUtbWVudSJdLGtmYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuSz1fLlNKLmpjKCk7dGhpcy5qPW5ldyBNYXA7dGhpcy5CPW5ldyBXZWFrTWFwO3RoaXMuWT1uZXcgU2V0fWRpc3Bvc2UoKXt0aGlzLkQmJl8uY2YodGhpcy5ELCJ5dC12aXNpYmlsaXR5LW1vbml0b3ItcmVmcmVzaGVkIix0aGlzLkksITEsdGhpcyk7dGhpcy52JiZ0aGlzLnYuZGlzcG9zZSgpfUkoKXtmb3IobGV0IFthLGJdb2YgdGhpcy5qLmVudHJpZXMoKSlPSyh0aGlzLGEsYil9fSxMSzt2YXIgbWZhPXthbmltYXRlZEFzc2V0Vmlld01vZGVsOntnZW5lcmljQmVoYXZpb3I6e2F1dG9wbGF5OiEwLGxvb3A6ITB9LGxvdHRpZUFzc2V0Ont0aGVtZWRVcmw6e2xpZ2h0OiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUveW91Y2hhdF9hbmltYXRpb25zL3Byb2dyZXNzX2luZGljYXRvcl9zb2xvX3YxLmpzb24iLGRhcms6Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS95b3VjaGF0X2FuaW1hdGlvbnMvcHJvZ3Jlc3NfaW5kaWNhdG9yX3NvbG9fdjEuanNvbiJ9fX19O3ZhciB3ZmE9WyJ5b3UtY2hhdC1lbnRyeXBvaW50LWJ1dHRvbiJdOwpfLkhEPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixzdHlsZTpjLGJ1dHRvbk92ZXJyaWRlczpkLGFiOmUsb25DbGljazpmLHRhcmdldDpofSk9Pnt2YXIgaz1fLnVFKCJidXR0b24tdmlldy1tb2RlbCIsRD0+e0QuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInl0LXJlbmRlcmlkb20tZmluaXNoZWQiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITEsY29tcG9zZWQ6ITB9KSk7dmFyIEg9YSgpLnRhcmdldElkO0gmJl8uUUsoXy5NSygpLEgsRCk7cmV0dXJuKCk9PntfLlBLKF8uTUsoKSxEKX19KSxsPV8uY0koRD0+bmZhKEQsYSgpPy5lbnRpdHlLZXksYSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGUpKSxtPSgpPT5hKCk/LmVudGl0eUtleSYmYSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGU/bCgpOnZvaWQgMCxuPSgpPT5fLngoIldlYkZFQWxsU3R1ZGlvQnlDaGFubmVsX193ZWJfYnV0dG9uX3ZpZXdfbW9kZWxfZW50aXR5X292ZXJyaWRlcyIpP20oKTp2b2lkIDAscD0KKCk9Pnt2YXIgRD1uKCk7aWYoRD8uaWNvbk5hbWUhPT12b2lkIDApcmV0dXJuIEQuaWNvbk5hbWU7aWYoRD8uQWM9PT12b2lkIDApcmV0dXJuIGEoKT8uaWNvbk5hbWV8fGEoKT8ueXRJY29ufSxyPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpLHQ9KCk9Pnt2YXIgRD1kPy4oKSxIPW0oKSxSPW4oKSxNPUQ7YSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGUmJihNPXsuLi5ELGRpc2FibGVkOiEhSD8uaXNEaXNhYmxlZHx8ISFEPy5kaXNhYmxlZH0pO0Q9YSgpO3ZhciBTPU0sWT1lPy4oKSxwYT1SPy5hcmlhRGlzYWJsZWR8fEg/LmlzRGlzYWJsZWR8fFI/LmFyaWFCdXN5fHxNPy5kaXNhYmxlZD92b2lkIDA6ZjtNPWg/LigpO2lmKEQpe3ZhciBvYT10ZmEoRC50eXBlKTt2YXIgVT0hIUQudGl0bGV8fCEhRC50aXRsZUZvcm1hdHRlZDt2YXIgaGE9ISEoRC5pY29uTmFtZXx8RC5pY29uSW1hZ2V8fEQueXRJY29ufHxELmxlYWRpbmdBc3NldCk7VT1oYSYmIVU/Imljb24tb25seSI6CmhhP0QuaWNvblBvc2l0aW9uPT09IkJVVFRPTl9WSUVXX01PREVMX0lDT05fUE9TSVRJT05fQUJPVkUiPyJpY29uLXdpdGgtbGFiZWwiOkQuaWNvblRyYWlsaW5nfHxELmljb25Qb3NpdGlvbj09PSJCVVRUT05fVklFV19NT0RFTF9JQ09OX1BPU0lUSU9OX1RSQUlMSU5HIj8idHJhaWxpbmciOiJsZWFkaW5nIjp2b2lkIDA7VT09PSJpY29uLW9ubHktNDAiJiYob2E9InRleHQiKTtoYT1TPy5zdGF0ZT8/dWZhKEQuc3RhdGUpO3ZhciBtYT1TPy5kaXNhYmxlZD8/KEQuc3RhdGU9PT0iQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfRElTQUJMRUQifHxELnN0YXRlPT09IkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0lOQUNUSVZFIik7Xy54KCJ3ZWJfYnV0dG9uX3ZtX3JlZmFjdG9yX2Rpc2FibGVkIikmJihtYT1TPy5kaXNhYmxlZD8/aGE9PT0iZGlzYWJsZWQiKTtZPVkmJlkuWGImJiFpc05hTihOdW1iZXIoWS5udW1iZXJWYWx1ZSkpP1k6dm9pZCAwO3ZhciB0YT1ELnRpdGxlLFQ9RC50aXRsZUZvcm1hdHRlZCwKYmE9RC5hY2Nlc3NpYmlsaXR5VGV4dCxhYT1zZmEoRC5zdHlsZSksT2E9dmZhKEQuYnV0dG9uU2l6ZSk7cGE9cWZhKEQsayxtYSxwYSxNKTt2YXIgSmI9bWEmJiFELm9uRGlzYWJsZWRUYXAsemE9cGZhKEQsayksTGI9RC5jdXN0b21Gb250Q29sb3IsY2M9RC5jdXN0b21CYWNrZ3JvdW5kQ29sb3I7dmFyIGxjPUQuY3VzdG9tQm9yZGVyQ29sb3I7bGV0IHRkPUQuY3VzdG9tRGFya1RoZW1lRm9udENvbG9yLEJlPUQuY3VzdG9tRGFya1RoZW1lQmFja2dyb3VuZENvbG9yO3ZhciBWYj1ELmN1c3RvbURhcmtUaGVtZUJvcmRlckNvbG9yO0xiPXImJnRkP3RkOkxiO2NjPXImJkJlP0JlOmNjO2xjPXImJlZiP1ZiOmxjO2xjPXtjb2xvcjpMYj9fLk5EKExiKTp2b2lkIDAsYmFja2dyb3VuZENvbG9yOmNjP18uTkQoY2MpOnZvaWQgMCxib3JkZXJDb2xvcjpsYz9fLk5EKGxjKTp2b2lkIDB9O1ZiPV8uQihELnRvb2x0aXBEYXRhLF8uY0spO2NjPV8uQihELmRpc2FibGVkVG9vbHRpcERhdGEsXy5jSyk7CkQ9e2J1dHRvblRleHQ6dGEsV2E6VCxhYjpZLGFjY2Vzc2liaWxpdHlMYWJlbDpiYSxzdHlsZTphYSx0eXBlOm9hLHN0YXRlOmhhLHNpemU6T2EsaWNvblBvc2l0aW9uOlUsb25UYXA6cGEsZGlzYWJsZWQ6SmIsdWM6emEsY3VzdG9tQ29sb3JzOmxjLHRvb2x0aXBUZXh0OkQudG9vbHRpcCxEbjptYSYmY2M/UksoY2MpOlZiP1JLKFZiKTp2b2lkIDAsb25Ib3ZlcjpyZmEoRCxrLE0pLG1pZGRsZWdyb3VuZEFzc2V0OkQubWlkZGxlZ3JvdW5kQXNzZXQsQWM6RC5sZWFkaW5nQXNzZXQsLi4uU319ZWxzZSBEPXtzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9O0QuZm9jdXNlZD1GKCk7Uj8uYWNjZXNzaWJpbGl0eUxhYmVsIT09dm9pZCAwJiYoRC5hY2Nlc3NpYmlsaXR5TGFiZWw9Ui5hY2Nlc3NpYmlsaXR5TGFiZWwpO1I/LmN1c3RvbUNvbG9ycyE9PXZvaWQgMCYmKEQuY3VzdG9tQ29sb3JzPVIuY3VzdG9tQ29sb3JzKTtSPy5BYyE9PXZvaWQgMD8oRC5BYz0KUi5BYyxELmljb25Qb3NpdGlvbj0iaWNvbi1vbmx5Iik6Uj8uaWNvbk5hbWUhPT12b2lkIDAmJihELkFjPXZvaWQgMCxELmljb25Qb3NpdGlvbj0iaWNvbi1vbmx5Iik7SD8uV2EmJihELldhPUguV2EpO3JldHVybiBEfSx2PV8uUEgoKSx6PSgpPT57dmFyIEQ9dCgpO3JldHVybiBfLm9LKEQsISFwKCl8fCEhRC5BYyx2KX0sW0UsQV09Xy5KKCExLHZvaWQgMCwiUHBuTkEiKSxGPUU7Xy5uRSgoKT0+e3ZhciBEPV8uQihhKCk/Lm9uVmlzaWJsZSxfLk9EKTtEJiZfLmFFKEQse21kOiEwfSl9LCJlZmV1eSIpO3ZhciBDPSgpPT57dmFyIEQ9YSgpPy5pY29uSW1hZ2U7cmV0dXJuIEQ/e3NvdXJjZXM6W0RdfTp2b2lkIDB9LEc9SFRNTEVsZW1lbnQucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJwb3BvdmVyIik7cmV0dXJuIF8uSygiYnV0dG9uLXZpZXctbW9kZWwiLHtlbDprLGNsYXNzOl8uUCgieXRTcGVjQnV0dG9uVmlld01vZGVsSG9zdCIsYiwoKT0+e3ZhciBEPWEoKT8udGFyZ2V0SWQ7CmlmKEQpcmV0dXJuIHdmYS5pbmNsdWRlcyhEKT9EOnZvaWQgMH0pLCJvbjpmb2N1c2luIjpmdW5jdGlvbigpe3ZhciBEPV8ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk7RCYmQShELlhlKCkpfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKCl7QSghMSl9LCJhcmlhLWRpc2FibGVkIjooKT0+bigpPy5hcmlhRGlzYWJsZWQ/InRydWUiOnZvaWQgMCwiYXJpYS1idXN5IjooKT0+bigpPy5hcmlhQnVzeT8idHJ1ZSI6dm9pZCAwfSxfLksoXy5PLHtBOigpPT4hKG0oKT8uaXNIaWRkZW4/PyExKSx0aGVuOigpPT5fLksoXy5PLHtBOkMsdGhlbjpEPT5fLksoXy5KSyx7ZGF0YTp0LGljb246KCk9Pl8uSyhfLmpGLHtkYXRhOkQsYWx0OiIiLEFiOnosZGM6eixUYTohMCxZYTohMH0pLGFwOkd9KSxXOigpPT5fLksoXy5KSyx7ZGF0YTp0LGljb25OYW1lOnAsR2U6KCk9PiEhYz8uKCk/LmFuaW1hdGVJY29uLGFwOkd9KX0pfSkpfSwidGEiKTtfLkhELmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DbGljazohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJEbHZGMWQiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5ZQz1uZXcgXy5JKCJhY2Nlc3NpYmlsaXR5Q29udGV4dCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNMPW5ldyBfLkkoImF2YXRhclZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFGPWZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpLGM9YS5kYXJrVGhlbWVJbWFnZT8/YS5pbWFnZTtyZXR1cm4gYj9jOmEuaW1hZ2V9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5SRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlJhcTRjYiIpO3JldHVybiBfLklEfTtfLlNGPV8uY0QoKCk9Pl8uUkYoKSwiYXZhdGFyVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImF2YXRhclZpZXdNb2RlbCIsIlJhcTRjYiIsXy5SRil9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy4kRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlB6VWRaYiIpO3JldHVybiBfLkVEfTtfLmFHPV8uY0QoKCk9Pl8uJEYoKSwiYmFkZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFkZ2VWaWV3TW9kZWwiLCJQelVkWmIiLF8uJEYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJXcWxjVmIiKTtyZXR1cm4gXy54RH07Xy52TD1fLmNEKCgpPT5fLnVMKCksImRlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWwiLCJXcWxjVmIiLF8udUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ud0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ1aGxMR2IiKTtyZXR1cm4gXy53RH07Xy54TD1fLmNEKCgpPT5fLndMKCksImZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJmbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWwiLCJ1aGxMR2IiLF8ud0wpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ueUw9ZnVuY3Rpb24oKXtpZighKCJtYXRjaE1lZGlhImluIHdpbmRvdykpcmV0dXJuIF8uV2koRXJyb3IoInRkIikpLCgpPT4wO3ZhciBhPXdpbmRvdy5tYXRjaE1lZGlhKCIobWF4LXdpZHRoOiA1MjcuOXB4KSIpLGI9d2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDUyOHB4KSBhbmQgKG1heC13aWR0aDogODM5LjlweCkiKSxjPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSIpLGQ9d2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDEwMjRweCkiKSxbZSxmXT1fLkooYS5tYXRjaGVzLHZvaWQgMCwiVG1JS2NiIiksW2gsa109Xy5KKGIubWF0Y2hlcyx2b2lkIDAsIlowZlRLZCIpLFtsLG1dPV8uSihjLm1hdGNoZXMsdm9pZCAwLCJ3NHh5N2IiKSxbbixwXT1fLkooZC5tYXRjaGVzLHZvaWQgMCwiRHJiTkMiKSxyPUU9PntmKEUubWF0Y2hlcyl9LHQ9RT0+e2soRS5tYXRjaGVzKX0sdj1FPT57bShFLm1hdGNoZXMpfSwKej1FPT57cChFLm1hdGNoZXMpfTtfLlVKKCgpPT57YS5hZGRFdmVudExpc3RlbmVyPyhhLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksYi5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHQpLGMuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix2KSxkLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIseikpOmEuYWRkTGlzdGVuZXImJihhLmFkZExpc3RlbmVyKHIpLGIuYWRkTGlzdGVuZXIodCksYy5hZGRMaXN0ZW5lcih2KSxkLmFkZExpc3RlbmVyKHopKTtfLll1KCgpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyPyhhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksYi5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHQpLGMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix2KSxkLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIseikpOmEucmVtb3ZlTGlzdGVuZXImJihhLnJlbW92ZUxpc3RlbmVyKHIpLGIucmVtb3ZlTGlzdGVuZXIodCksYy5yZW1vdmVMaXN0ZW5lcih2KSwKZC5yZW1vdmVMaXN0ZW5lcih6KSl9KX0pO3JldHVybigpPT5lKCk/MTpoKCk/MjpsKCk/MzpuKCk/NDowfTtfLkFMPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLnkoKS5yZXNvbHZlKF8uSW4oekwpKSxbZSxmXT1fLkooZCx2b2lkIDAsInhHc1JRIik7ZHx8Xy5ZdCh6TCxmKTtyZXR1cm4gXy5OKCgpPT57dmFyIGg9YSgpO3JldHVybiBoJiZiKCk/ZSgpPy4oaCxiLGMpOnZvaWQgMH0sdm9pZCAwLCJic29zZGQiKX07dmFyIHpMPW5ldyBfLlZzKCJTRU1BTlRJQ19UWVBPR1JBUEhZX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEg9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pl8uQihhKCksXy5ZQyl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgQkw9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gXy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/YS5kYXJrVGhlbWU6YS5saWdodFRoZW1lfSxDTD1uZXcgXy5JKCJiYWRnZVZpZXdNb2RlbCIpO3ZhciBDZmE9bmV3IF8uVnMoIkNPTU1PTl9NQVJLX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgRGZhO18uREw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGcUhjR2UiKTtyZXR1cm4gXy50Rn07RGZhPV8uY0QoKCk9Pl8uREwoKSwic2VjdGlvbkhlYWRlckxheW91dCIpO18uWXQoXy5KRCxhPT57YS5KKCJzZWN0aW9uSGVhZGVyTGF5b3V0IiwiRnFIY0dlIixfLkRMKX0pO18udkQ9Xy5MKCh7Y2xhc3NOYW1lOmEsZGF0YTpiLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpjLGRpc2FibGVWZXJ0aWNhbFBhZGRpbmc6ZCxUaTplLEtuOmYsaXNPdmVybGF5OmgsRXM6ayxnTDpsLGlKOm19KT0+e3ZhciBuPV8uVEgoKCk9PmIoKS5yZW5kZXJlckNvbnRleHQpLHA9Xy55TCgpLHI9Xy5BTCgoKT0+YigpLmhlYWRsaW5lVHlwb2dyYXBoeVRva2VuLHAse21heExpbmVzOjJ9KTtwPV8uQUwoKCk9PmIoKS5zdWJ0aXRsZVR5cG9ncmFwaHlUb2tlbixwKTt2YXIgdD1fLlFIKCgpPT5iKCkuaG9yaXpvbnRhbFBhZGRpbmcpLHY9Xy5RSCgoKT0+YigpLnRvcFBhZGRpbmcpLHo9Xy5RSCgoKT0+YigpLmJvdHRvbVBhZGRpbmcpO3JldHVybiBfLksoInl0LXNlY3Rpb24taGVhZGVyLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEhvc3QiLGEpLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjooKT0+QkwoYigpLmJhY2tncm91bmRDb2xvcik/Cl8uTkQoQkwoYigpLmJhY2tncm91bmRDb2xvcikpOnZvaWQgMH0pfSxfLksoRGZhLHthcmlhTGFiZWw6KCk9Pm4oKT8ubGFiZWwsQXc6ITEsdGl0bGU6KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmIoKS5oZWFkbGluZSxYYTohMH0pLGtoOiEwLHN1YmxhYmVsOigpPT5fLksoRWZhLHtkYXRhOmJ9KSxMdzooKT0+ISFiKCkuc3VibGFiZWx8fCEhYigpLmJvdHRvbUJhZGdlfHwhIWIoKS5ib3R0b21CYWRnZXMsc3VwZXJsYWJlbDooKT0+Xy5LKEZmYSx7ZGF0YTpifSksTXc6KCk9PiEhYigpLnN1cGVybGFiZWx8fCEhYigpLnRvcEJhZGdlLGxlYWRpbmdJbWFnZTooKT0+Xy5LKEdmYSx7bGVhZGluZ0FjY2Vzc29yeTooKT0+YigpLmxlYWRpbmdBY2Nlc3Nvcnl9KSxIdzooKT0+ISFiKCkubGVhZGluZ0FjY2Vzc29yeSx0cmFpbGluZ0FjdGlvbnM6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PgpiKCkudHJhaWxpbmdBY3Rpb25zfSx7ZmxleGlibGVBY3Rpb25zVmlld01vZGVsOl8ueEx9KSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbnNDb250YWluZXIifSxfLksoXy5nRyx7cGE6KCk9Pmw/LigpfHxbXX0sRT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbiJ9LEUpKSl9KSksTnc6KCk9Pm0/LigpfHwhIWIoKS50cmFpbGluZ0FjdGlvbnMsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOigpPT5jPy4oKXx8YigpLmRpc2FibGVIb3Jpem9udGFsUGFkZGluZyxkaXNhYmxlVmVydGljYWxQYWRkaW5nOigpPT5kPy4oKXx8YigpLmRpc2FibGVWZXJ0aWNhbFBhZGRpbmcsVGk6ZSxLbjpmLGlzT3ZlcmxheTpoLHJoOigpPT4hIV8uc0goYigpLnJlbmRlcmVyQ29udGV4dCksaG92ZXJFZmZlY3RFbmFibGVkOigpPT5iKCkuaG92ZXJFZmZlY3RFbmFibGVkLG9uQ2xpY2s6RT0+Cnt2YXIgQT1fLnNIKGIoKS5yZW5kZXJlckNvbnRleHQpO0EmJl8uYUUoQSx7Zm9ybTp7ZWxlbWVudDpFLnRhcmdldCxldmVudDpFfX0pfSxib3R0b21BY2Nlc3Nvcnk6KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmIoKS5ib3R0b21BY2Nlc3Nvcnl9LHtkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKF8udkwse2RhdGE6RSxYYzohMH0pLGNvbW1vbk1hcmtWaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKF8uSUIsbnVsbCxfLnkoKS5yZXNvbHZlKF8uSW4oQ2ZhKSk/Lih7ZGF0YTpFfSkpfSksenc6KCk9PiEhYigpLmJvdHRvbUFjY2Vzc29yeSxFczprLGhlYWRsaW5lVHlwb2dyYXBoeVRva2VuOnIsc3VidGl0bGVUeXBvZ3JhcGh5VG9rZW46cCxqcTp0LGZCOnYsSHU6en0pKX0sIndhIik7CnZhciBHZmE9Xy5MKCh7bGVhZGluZ0FjY2Vzc29yeTphfSk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmltYWdlPz9fLlFGKGEoKS50aGVtZWRJbWFnZSksdGhlbjpiPT5fLksoXy5qRix7ZGF0YTpiLGFsdDoiIixUYTohMCxZYTohMH0pfSksXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS5hdmF0YXIsXy5zTCksdGhlbjpiPT5fLksoXy5TRix7ZGF0YTpifSl9KSksInhhIiksRWZhPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5JQixudWxsLF8uSygic3BhbiIse2NsYXNzOl8uUCh7eXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VXaXRoTGFiZWw6KCk9PighIWEoKS5ib3R0b21CYWRnZXN8fCEhYSgpLmJvdHRvbUJhZGdlKSYmISFhKCkuc3VibGFiZWx9KX0sXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS5ib3R0b21CYWRnZSxDTCksdGhlbjpiPT5fLksoXy5hRyx7ZGF0YTpifSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYm90dG9tQmFkZ2VzfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Cl8uSyhfLmFHLHtkYXRhOmIsY2xhc3M6Xy5QKCJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZXMiKX0pfSkpLF8uSyhfLk8se0E6KCk9PmEoKS5zdWJsYWJlbCx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6Yn0pfSkpLCJ5YSIpLEZmYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT5fLkIoYSgpLnRvcEJhZGdlLENMKSx0aGVuOmI9Pl8uSyhfLmFHLHtkYXRhOmIsY2xhc3M6Xy5QKHt5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZVdpdGhMYWJlbDooKT0+ISFiKCkmJiEhYSgpLnN1cGVybGFiZWx9KX0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnN1cGVybGFiZWwsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSwiemEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiY3lDVmxkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBOSDtOSD1mdW5jdGlvbigpe307Xy5PSD1mdW5jdGlvbigpe3JldHVybiI6IisoSmRhLmorKykudG9TdHJpbmcoMzYpfTtfLndhKE5IKTtOSC5wcm90b3R5cGUuaj0wO3ZhciBKZGE9TkguamMoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5GST1uZXcgXy5WcygiU1VCTUlUX0FQSV9TRVJWSUNFX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ua0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJvc1R0eGUiKTtyZXR1cm4gXy5BRH07Xy5sTD1fLmNEKCgpPT5fLmtMKCksImJhc2ljQ29udGVudFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJiYXNpY0NvbnRlbnRWaWV3TW9kZWwiLCJvc1R0eGUiLF8ua0wpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJEbHZGMWQiKTtyZXR1cm4gXy5IRH07Xy5VRj1fLmNEKCgpPT5fLlRGKCksImJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJidXR0b25WaWV3TW9kZWwiLCJEbHZGMWQiLF8uVEYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGc29YemMiKTtyZXR1cm4gXy56RH07Xy5uTD1fLmNEKCgpPT5fLm1MKCksImNvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWwiLCJGc29YemMiLF8ubUwpfSk7Xy5vTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBlMm9qYiIpO3JldHVybiBfLkNEfTtfLnBMPV8uY0QoKCk9Pl8ub0woKSwibGlzdEl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1WaWV3TW9kZWwiLCJwZTJvamIiLF8ub0wpfSk7Xy5xTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlVBTTVtIik7cmV0dXJuIF8ueUR9O18uckw9Xy5jRCgoKT0+Xy5xTCgpLCJsb2NrdXBWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibG9ja3VwVmlld01vZGVsIiwiVUFNNW0iLF8ucUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWT1VQOWQiKTtyZXR1cm4gXy51RH07Xy5HTD1fLmNEKCgpPT5fLkZMKCksImxpbmVhckxheW91dFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaW5lYXJMYXlvdXRWaWV3TW9kZWwiLCJWT1VQOWQiLF8uRkwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLSSxhZWEsJEksYUosYmVhO18uR0k9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWI/ITA6YT8uZm9ybUlkPT09Yj8uZm9ybUlkJiZhPy5maWVsZElkPT09Yj8uZmllbGRJZH07Xy5IST1mdW5jdGlvbihhKXtyZXR1cm4gRXJyb3IoIm5kYCIrYS5yZXBsYWNlKC9cblxzKi9nLCIgIikpfTtfLklJPWZ1bmN0aW9uKGEpe3JldHVybiBFcnJvcigib2RgIithLnJlcGxhY2UoL1xuXHMqL2csIiAiKSl9O18uSkk9ZnVuY3Rpb24oKXtyZXR1cm57bmo6ITEsZmI6ITAsemQ6ITEsaXNTdWJtaXR0aW5nOiExLGNzOjB9fTtLST1mdW5jdGlvbihhLGIpe3ZhciBjPSEwO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhhKSl7aWYoZD09PSJmb3JtSWQiKWNvbnRpbnVlO2xldCBlPWFbZF07ZS5raW5kPT09MSYmKEtJKGUudmFsdWUsYil8fChjPSExKSl9YihhLmZvcm1JZCl8fChjPSExKTtyZXR1cm4gY307Cl8uTUk9ZnVuY3Rpb24oYSl7dmFyIGI9TEkuZ2V0KGEpO2lmKGIpcmV0dXJuIGI7Yj1hLnJlcGxhY2UoL18oW2EtekEtWjAtOV0pL2csKGMsZCk9PmQudG9VcHBlckNhc2UoKSk7TEkuc2V0KGEsYik7cmV0dXJuIGJ9O18uT0k9ZnVuY3Rpb24oKXtOST8uKGE9PmErMSl9O18uUkk9ZnVuY3Rpb24oYSl7UEk/UEkoKTooW1BJLCxOSV09Xy5KKDAsdm9pZCAwLCJWeFkwZmIiKSxQSSgpKTtyZXR1cm4gXy5RSS5nZXQoYSl9O18uU0k9ZnVuY3Rpb24oYSxiKXtpZihhKXt2YXIgYz1fLlJJKGEpO2lmKGMpe2lmKGImJmIhPT1jLlVpKXRocm93IF8uSUkoYEZvcm0gdHlwZSBtaXNtYXRjaCBmb3IgZm9ybUlkICR7YX06IHByb3ZpZGVkIGZvcm1UeXBlICIke2J9IiBkb2VzIG5vdCBtYXRjaCBzdG9yZWQgZm9ybVR5cGUgIiR7Yy5VaX0iLmApO3JldHVybiBjLmZvcm19fX07Cl8uVkk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5SSShhKTtpZighYil0aHJvdyBfLlRJKGEpO2lmKGIuU3A9PT0wKXJldHVybiBiLmZvcm07Yj1iLnBnO2lmKCFiKXRocm93IF8uVUkoYSk7YT1fLlNJKGIuVnopO2lmKCFhKXRocm93IF8uSEkoYEZvcm1JZCAke2IuVnp9IG5vdCBmb3VuZC5gKTtyZXR1cm4gYX07YWVhPWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj1fLlZJKGEpfWNhdGNoKGMpe3JldHVybiExfShhPUtJKGIsYz0+Xy5RSS5kZWxldGUoYykpKSYmXy5PSSgpO3JldHVybiBhfTtfLldJPWZ1bmN0aW9uKGEsYil7aWYoYj09PSJmb3JtSWQiKXRocm93IF8uSUkoIkZpZWxkIGlkIGNhbm5vdCBiZSBmb3JtSWQuIik7aWYoYT1fLlNJKGEpKXJldHVybiBiPV8uTUkoYiksYVtiXX07Xy5YST1mdW5jdGlvbihhKXtpZihhPV8uUkkoYSkpcmV0dXJuIGEuRGx9OwpfLlpJPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTigoKT0+Xy5CdihhKT8/e30se2VxdWFsczpfLkdJfSwiTEROTGJkIiksYz1fLk4oKCk9Pnt2YXIge2Zvcm1JZDpkLGZpZWxkSWQ6ZX09YigpO2lmKGQmJmUpe3ZhciBmO2lmKGY9Xy5XSShkLGUpKXtpZighKCJmdW5jdGlvbiI9PXR5cGVvZiBfLllJJiZmIGluc3RhbmNlb2YgXy5ZSSkpdGhyb3cgXy5JSShgRmllbGQgJHtlfSBpbiBmb3JtICR7ZH0gaXMgbm90IGEgU2NhbGFyRmllbGQuYCk7fWVsc2UgZj12b2lkIDA7cmV0dXJuIGZ9fSx2b2lkIDAsIm84bzAwZCIpO3JldHVybigpPT5jKCl9OyRJPWZ1bmN0aW9uKGEsYil7dmFyIGM9KGM9Xy5SSShhKSk/Yy5Dbjp2b2lkIDA7aWYoIWMpdGhyb3cgXy5ISShgTWlzc2luZyB0b0Zvcm1EYXRhIGZ1bmN0aW9uIGZvciBGb3JtSWQgJHthfS5gKTtyZXR1cm4gYyhiKX07CmFKPWZ1bmN0aW9uKGEsYil7dmFyIGM9KGM9Xy5SSShhKSk/Yy5DbDp2b2lkIDA7aWYoIWMpdGhyb3cgXy5ISShgTWlzc2luZyBmb3JtRGF0YUV4dGVuc2lvbkZpZWxkIGZvciBGb3JtSWQgJHthfS5gKTtyZXR1cm57W2NdOmJ9fTsKYmVhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVkkoYSksYz1fLlhJKGEpO3ZhciBkPShkPV8uUkkoYSkpP2Quc3VibWl0Q29uZmlnOnZvaWQgMDt2YXIgZT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5GSSkpLGY9Xy5SSShhKTtmJiYoZi5aZD17Li4uZi5aZCxpc1N1Ym1pdHRpbmc6ITB9LF8uT0koKSk7dHJ5e2lmKGQmJmUpe2xldCBrPSRJKGEsYik7dmFyIGg9YUooYSxrKTtsZXQgbD1hd2FpdCBlLmJpKGQuc3VibWl0SWQsaCx7c3VibWl0QWN0aW9uOiJTVUJNSVRfQUNUSU9OX1NVQk1JU1NJT04iLGFsbEZpZWxkczohMH0sZC5wYXJhbXMsZC5jbGlja1RyYWNraW5nUGFyYW1zKTtpZihsLnN1Ym1pdEVycm9yKXRocm93IGJKKGwuc3VibWl0RXJyb3IpO2F3YWl0IGM/LkhtPy4obCl9ZWxzZSBhd2FpdCBjPy5vblN1Ym1pdD8uKGIpfWNhdGNoKGspe3JldHVybiBrIGluc3RhbmNlb2YgRXJyb3I/UHJvbWlzZS5yZWplY3Qoayk6UHJvbWlzZS5yZWplY3QoYkooaykpfWZpbmFsbHl7aWYoYT0KXy5SSShhKSlhLlpkPXsuLi5hLlpkLGlzU3VibWl0dGluZzohMSxjczphLlpkLmNzKzF9LF8uT0koKX19O18uY0o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLk4oKCk9Pl8uQnYoYSk/PyIiLHZvaWQgMCwiR1JtcHIiKSxkPV8uTigoKT0+Xy5TSShjKCksYiksdm9pZCAwLCJwYlRlQmIiKSxlPV8uTigoKT0+e3ZhciBoPWMoKTtyZXR1cm4oaD1fLlJJKGgpKT9oLlpkOl8uSkkoKX0sdm9pZCAwLCJ1Y3Y2TGIiKSxmPV8uTigoKT0+e3ZhciBoPWQoKTtpZighaClyZXR1cm57Zm9ybURhdGE6dm9pZCAwLGV3OnZvaWQgMH07aD0kSShjKCksaCk7cmV0dXJue2Zvcm1EYXRhOmgsZXc6YUooYygpLGgpfX0sdm9pZCAwLCJoSDYxcWMiKTtyZXR1cm57Zm9ybTooKT0+ZCgpLGRhdGE6KCk9PmYoKSxzdGF0ZTooKT0+ZSgpLHN1Ym1pdDphc3luYygpPT57YXdhaXQgYmVhKGMoKSl9LGRpc3Bvc2U6KCk9PmFlYShjKCkpfX07Xy5kSj1TeW1ib2woImRkIik7dmFyIGJKO18uVEk9YT0+Xy5ISShgRm9ybSBzZXNzaW9uIGZvciBGb3JtSWQgJHthfSBub3QgZm91bmQuYCk7Xy5VST1hPT5fLkhJKGBOZXN0ZWQgZm9ybSBhY2Nlc3NvciBmb3IgRm9ybUlkICR7YX0gbm90IGZvdW5kLmApO2JKPWE9Pl8uSUkoYFVua25vd24gZXJyb3IgZHVyaW5nIGZvcm0gc3VibWlzc2lvbjogJHtKU09OLnN0cmluZ2lmeShhKX1gKTt2YXIgTEk9bmV3IE1hcDt2YXIgUEksTkk7Xy5RST1uZXcgTWFwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSGZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJDQVJEX1NUWUxFX09VVExJTkUiOnJldHVybiJ5dENhcmRWaWV3TW9kZWxPdXRsaW5lIjtjYXNlICJDQVJEX1NUWUxFX1RPTkFMIjpyZXR1cm4ieXRDYXJkVmlld01vZGVsVG9uYWwiO2Nhc2UgIkNBUkRfU1RZTEVfSU5WRVJTRSI6cmV0dXJuInl0Q2FyZFZpZXdNb2RlbEludmVydGVkIjtkZWZhdWx0OnJldHVybiJ5dENhcmRWaWV3TW9kZWxSYWlzZWQifX07dmFyIEhMPW5ldyBfLkkoInNlY3Rpb25IZWFkZXJWaWV3TW9kZWwiKTt2YXIgSWZhO18uSUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWYlhyVWUiKTtyZXR1cm4gXy5oSH07SWZhPV8uY0QoKCk9Pl8uSUwoKSwiY29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb252ZXJzYXRpb25WaWRlb0lkZWFDYXJkVmlld01vZGVsIiwiVmJYclVlIixfLklMKX0pO3ZhciBKZmE7Xy5KTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBFU2xEYiIpO3JldHVybiBfLmVGfTtKZmE9Xy5jRCgoKT0+Xy5KTCgpLCJ0aGVtZWRJbWFnZVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ0aGVtZWRJbWFnZVZpZXdNb2RlbCIsInBFU2xEYiIsXy5KTCl9KTt2YXIgS2ZhPW5ldyBfLlZzKCJBU0tfU1RVRElPX0NBUkRfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBMZmE9bmV3IF8uVnMoIkFTS19TVFVESU9fVklERU9fRURJVF9QUkVWSUVXX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgTWZhPW5ldyBfLlZzKCJBVURJRU5DRV9PTkxJTkVfSEVBVE1BUF9WSUVXX01PREVMX1RPS0VOIik7dmFyIE5mYT1uZXcgXy5WcygiQ09NTUVOVFNfRElHRVNUX0NPTlRFTlRfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBPZmE9bmV3IF8uVnMoIlBSSU1FVElNRV9PRkZFUklOR19JTl9SRVZJRVdfQ0FSRF9DT05URU5UX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgUGZhPW5ldyBfLlZzKCJZVENQX0ZVTk5FTF9WSUVXX01PREVMX1RPS0VOIik7dmFyIFFmYTtfLktMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicVZEZ0JkIik7cmV0dXJuIF8uZEZ9O1FmYT1fLmNEKCgpPT5fLktMKCksImNpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWwiLCJxVkRnQmQiLF8uS0wpfSk7dmFyIFJmYTtfLkxMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiaTZYb21lIik7cmV0dXJuIF8uUEZ9O1JmYT1fLmNEKCgpPT5fLkxMKCksInJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWwiLCJpNlhvbWUiLF8uTEwpfSk7dmFyIFNmYTtfLk1MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiYnpqMGpkIik7cmV0dXJuIF8udEx9O1NmYT1fLmNEKCgpPT5fLk1MKCksImlubGluZUV4cGFuZGVyVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImlubGluZUV4cGFuZGVyVmlld01vZGVsIiwiYnpqMGpkIixfLk1MKX0pO3ZhciBUZmE7Xy5OTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIkZpTkdPYyIpO3JldHVybiBfLmdIfTtUZmE9Xy5jRCgoKT0+Xy5OTCgpLCJkaXNtaXNzaWJsZUl0ZW0iKTtfLll0KF8uSkQsYT0+e2EuSigiZGlzbWlzc2libGVJdGVtIiwiRmlOR09jIixfLk5MKX0pO3ZhciBVZmE9bmV3IF8uVnMoIkNPTlRFTlRfU0VDVElPTl9WSUVXX01PREVMX1RPS0VOIik7dmFyIFZmYTtfLk9MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgidVJJYUMiKTtyZXR1cm4gXy5CSH07VmZhPV8uY0QoKCk9Pl8uT0woKSwiY2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbCIsInVSSWFDIixfLk9MKX0pO3ZhciBQTD1fLkwoYT0+e3ZhciBiPV8uUUgoKCk9PmEuZGF0YSgpLnRvcENvbnRlbnRQYWRkaW5nVG9rZW4pLGM9Xy5RSCgoKT0+YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVmFsdWVzPy50b3BQYWRkaW5nVG9rZW58fGEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1Rva2VuKSxkPV8uUUgoKCk9PmEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1ZhbHVlcz8uYm90dG9tUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZT1fLlFIKCgpPT5hLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdWYWx1ZXM/Lmhvcml6b250YWxQYWRkaW5nVG9rZW58fGEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1Rva2VuKSxmPSgpPT5hLmRhdGEoKS5iYWNrZ3JvdW5kLGg9KCk9PmEuZGF0YSgpLnRyYWlsaW5nQWN0aW9uTGF5b3V0PT09IkNBUkRfVFJBSUxJTkdfQUNUSU9OX0xBWU9VVF9PVkVSTEFZIixrPSgpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbkxheW91dD09PQoiQ0FSRF9UUkFJTElOR19BQ1RJT05fTEFZT1VUX0lOTElORV9DRU5URVIiLGw9Xy55KCkucmVzb2x2ZShfLkluKFVmYSkpLG09Xy55KCkucmVzb2x2ZShfLkluKEtmYSkpLG49Xy55KCkucmVzb2x2ZShfLkluKExmYSkpLHA9Xy55KCkucmVzb2x2ZShfLkluKE5mYSkpLHI9Xy55KCkucmVzb2x2ZShfLkluKE1mYSkpLHQ9Xy55KCkucmVzb2x2ZShfLkluKFBmYSkpLHY9Xy55KCkucmVzb2x2ZShfLkluKE9mYSkpLHo9KCk9PmEuZGF0YSgpLmNhcmRTdGF0ZT8uZW5hYmxlbWVudFN0YXRlPT09IkNBUkRfRU5BQkxFTUVOVF9TVEFURV9ESVNBQkxFRCIsRT0oKT0+IXooKSYmXy50SChhLmRhdGEoKS5yZW5kZXJlckNvbnRleHQpLEE9KCk9PntpZihhLmlzRXhwYW5kZWQ/LigpIT09dm9pZCAwKXJldHVybiBhLmlzRXhwYW5kZWQ/LigpO3N3aXRjaChhLmRhdGEoKS5jYXJkU3RhdGU/LmV4cGFuc2lvblN0YXRlKXtjYXNlICJDQVJEX0VYUEFOU0lPTl9TVEFURV9FWFBBTkRFRCI6cmV0dXJuITA7CmNhc2UgIkNBUkRfRVhQQU5TSU9OX1NUQVRFX0NPTExBUFNFRCI6cmV0dXJuITE7ZGVmYXVsdDpyZXR1cm4gYS5pc1NlbGVjdGVkPy4oKX19O3JldHVybiBfLksoInl0LWNhcmQtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsSG9zdCIsYS5jbGFzc05hbWUpfSxfLksoVGZhLHtjb250ZW50SWQ6KCk9PmEuZGF0YSgpLmNvbnRlbnRJZH0sKCk9Pl8uSygiZGl2Iix7ZWw6Xy5yRihfLnVIKCgpPT5FKCk/YS5kYXRhKCkucmVuZGVyZXJDb250ZXh0OnZvaWQgMCx2b2lkIDAsdm9pZCAwLFsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpLC4uLihfLngoIldlYkZFQWxsU3R1ZGlvQnlDaGFubmVsX19lbmFibGVfYW5hbHl0aWNzX2h1Yl93ZWIiKT9bIllULUxJU1QtSVRFTS1WSUVXLU1PREVMIl06W10pXSkpLGNsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsQ2FyZFZpZXdNb2RlbElubmVyIix7eXRDYXJkVmlld01vZGVsQ2xpY2thYmxlOkV9LCgpPT5IZmEoYS5kYXRhKCkuY2FyZFN0eWxlKSwKe3l0Q2FyZFZpZXdNb2RlbENhcmRTZWxlY3RlZDooKT0+ISFhLmlzU2VsZWN0ZWQ/LigpfSwoKT0+e2lmKGEuaXNTZWxlY3RlZD8uKCk9PT12b2lkIDApe2E6e3N3aXRjaChhLmRhdGEoKS5jYXJkU3RhdGU/LnNlbGVjdGlvblN0YXRlKXtjYXNlICJDQVJEX1NFTEVDVElPTl9TVEFURV9TRUxFQ1RFRCI6dmFyIEY9Inl0Q2FyZFZpZXdNb2RlbFNlbGVjdGVkIjticmVhayBhfUY9dm9pZCAwfXJldHVybiBGfX0pLHJvbGU6KCk9PkUoKSYmIV8uQihhLmRhdGEoKS50b3BDb250ZW50LEhMKT8iYnV0dG9uIjp2b2lkIDAsImFyaWEtZGlzYWJsZWQiOnosdGFiaW5kZXg6KCk9PnooKT8tMTpFKCkmJiFfLkIoYS5kYXRhKCkudG9wQ29udGVudCxITCk/MDp2b2lkIDB9LF8uSyhfLlcse2RhdGE6Zix3cmFwcGVyOkY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbEJhY2tncm91bmRXcmFwcGVyIn0sRigpKX0se2NpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbDpRZmEsdGhlbWVkSW1hZ2VWaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Cl8uSyhKZmEse2RhdGE6RixjbGFzc05hbWU6Inl0Q2FyZFZpZXdNb2RlbEJhY2tncm91bmQifSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxDb250ZW50V3JhcHBlciJ9LF8uSyhfLk8se0E6KCk9PiFoKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsVG9wQ29udGVudENvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dENhcmRWaWV3TW9kZWxUb3BDb250ZW50Iix7eXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmc6KCk9PiFhLmRhdGEoKS5kaXNhYmxlVG9wQ29udGVudFBhZGRpbmcmJmEuZGF0YSgpLnRvcENvbnRlbnR9KSxzdHlsZTpfLklFKHtwYWRkaW5nOmJ9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YS5kYXRhKCkudG9wQ29udGVudH0se2NvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbDpfLm5MLGJhc2ljQ29udGVudFZpZXdNb2RlbDpfLmxMLGxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLGxpc3RJdGVtVmlld01vZGVsOl8ucEwsCnNlY3Rpb25IZWFkZXJWaWV3TW9kZWw6Xy52RH0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsSW5saW5lVHJhaWxpbmdBY3Rpb24iLHt5dENhcmRWaWV3TW9kZWxJbmxpbmVDZW50ZXJUcmFpbGluZ0FjdGlvbjprLHl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2luOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0pfSxfLksoXy5XLHtkYXRhOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0se2J1dHRvblZpZXdNb2RlbDpfLlVGfSkpKX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZzooKT0+IWEuZGF0YSgpLmRpc2FibGVCb2R5Q29udGVudFBhZGRpbmcmJmEuZGF0YSgpLmJvZHlDb250ZW50fSksc3R5bGU6Xy5JRSh7InBhZGRpbmctdG9wIjpjLCJwYWRkaW5nLWJvdHRvbSI6ZCwicGFkZGluZy1sZWZ0IjplLCJwYWRkaW5nLXJpZ2h0IjplfSl9LF8uSyhfLlcse2RhdGE6KCk9PgphLmRhdGEoKS5ib2R5Q29udGVudH0se2Jhc2ljQ29udGVudFZpZXdNb2RlbDpfLmxMLGNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbDpWZmEsY29udGVudEluc3BpcmF0aW9uQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbDpJZmEsY29udGVudExpc3RJdGVtVmlld01vZGVsOl8ubkwsZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsOl8udkwsaW5saW5lRXhwYW5kZXJWaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Xy5LKFNmYSx7ZGF0YTpGLGlzU2VsZWN0ZWQ6QX0pLGxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLGxpc3RJdGVtVmlld01vZGVsOl8ucEwsbG9ja3VwVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhfLnJMLHtkYXRhOkYsd3E6ITB9KSwuLi4obSYme2Fza1N0dWRpb0NhcmRWaWV3TW9kZWw6bX0pLC4uLihuJiZ7YXNrU3R1ZGlvVmlkZW9FZGl0UHJldmlld1ZpZXdNb2RlbDpufSksLi4uKHImJnthdWRpZW5jZU9ubGluZUhlYXRtYXBWaWV3TW9kZWw6cn0pLC4uLihwJiYKe2NvbW1lbnRzRGlnZXN0Q29udGVudFZpZXdNb2RlbDpwfSksLi4uKGwmJntjb250ZW50U2VjdGlvblZpZXdNb2RlbDpsfSksLi4uKHYmJntwcmltZXRpbWVPZmZlcmluZ0luUmV2aWV3Q2FyZENvbnRlbnRWaWV3TW9kZWw6dn0pLC4uLih0JiZ7ZnVubmVsVmlld01vZGVsOnR9KX0pKSksXy5LKF8uTyx7QTooKT0+aCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbiJ9LF8uSyhfLlcse2RhdGE6KCk9PmEuZGF0YSgpLnRyYWlsaW5nQWN0aW9ufSx7YnV0dG9uVmlld01vZGVsOl8uVUZ9KSl9KSxfLksoXy5PLHtBOnosdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsRGlzYWJsZWRPdmVybGF5IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pfSkpKSl9LCJBYSIpO3ZhciBXZmE9WyJBIi50b1N0cmluZygpLCJCVVRUT04iLnRvU3RyaW5nKCldLFhmYT1fLkwoYT0+e2Z1bmN0aW9uIGIoSCl7ZSgpLmlzRGlzYWJsZWR8fChmP2YoSC50YXJnZXQsZSgpLGs/LigpKTpBKCFFKCkpKX1mdW5jdGlvbiBjKEgpe0gua2V5PT09IiAiJiYoSC5wcmV2ZW50RGVmYXVsdCgpLEgudGFyZ2V0LmNsaWNrKCkpfXZhciBkPV8ueCgiZW5hYmxlX25hdGl2ZV9pbnB1dF9zZWxlY3RhYmxlX2l0ZW0iKSxlPWEuZGF0YSxmPWEub25TZWxlY3RlZCxoPWEuU2gsaz1hLmdyb3VwTmFtZSxsPWEuY2xhc3NOYW1lLG09YS5yb2xlLG49InJhZGlvIitfLk9IKCkscD1fLlFIKCgpPT5lKCkudmVydGljYWxQYWRkaW5nVG9rZW4pLHI9Xy5RSCgoKT0+ZSgpLmhvcml6b250YWxQYWRkaW5nVG9rZW4pLHQ9KCk9PmUoKS5jb250ZW50LFt2LHpdPV8uSighMSx2b2lkIDAsIlVtN0ZnYyIpLEU9dixBPXosRj0oKT0+ISFlKCkuaXNEaXNhYmxlZCxDPSgpPT57aWYoaCE9PXZvaWQgMCl7bGV0IEg9CmgoKTtyZXR1cm4hKCFIfHxlKCkua2V5IT09SCl9cmV0dXJuIEUoKX0sRz0oKT0+aCE9PXZvaWQgMCYmZSgpLmJlaGF2aW9yPT09IlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9FWFBBTkRFRF9OT1RfU0VMRUNURUQiPyExOkMoKSxEPSgpPT57aWYoaCE9PXZvaWQgMCYmQygpKXN3aXRjaChlKCkuYmVoYXZpb3Ipe2Nhc2UgIlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9TRUxFQ1RFRF9OT1RfRVhQQU5ERUQiOnJldHVybiExO2Nhc2UgIlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9FWFBBTkRFRF9OT1RfU0VMRUNURUQiOnJldHVybiEwfX07cmV0dXJuIGQ/Xy5LKCJ5dC1zZWxlY3RhYmxlLWl0ZW0tdmlldy1tb2RlbCIse3N0eWxlOl8uSUUoeyJwYWRkaW5nLXRvcCI6cCwicGFkZGluZy1ib3R0b20iOnAsInBhZGRpbmctbGVmdCI6ciwicGFkZGluZy1yaWdodCI6cn0pLGNsYXNzOl8uUCgieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3QiLGwsInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxDb250YWluZXIiLAoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZUNvbnRhaW5lciIse3l0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxEaXNhYmxlZDpGfSksInByb3A6Y2hlY2tlZCI6R30sXy5LKCJpbnB1dCIse2lkOm4sdHlwZToicmFkaW8iLG5hbWU6YS5ncm91cE5hbWUsInByb3A6Y2hlY2tlZCI6RyxkaXNhYmxlZDpGLCJvbjpjbGljayI6Yiwib246a2V5ZG93biI6YyxjbGFzczoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZVJhZGlvQnV0dG9uIn0pLF8uSygibGFiZWwiLHtmb3I6bixjbGFzczoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZUxhYmVsIiwib246a2V5ZG93biI6Y30sXy5LKF8uVyx7ZGF0YTp0fSx7Y2FyZFZpZXdNb2RlbDooe2RhdGE6SH0pPT5fLksoUEwse2RhdGE6SCxpc1NlbGVjdGVkOkcsaXNFeHBhbmRlZDpEfSl9KSkpOl8uSygieXQtc2VsZWN0YWJsZS1pdGVtLXZpZXctbW9kZWwiLHtzdHlsZTpfLklFKHsicGFkZGluZy10b3AiOnAsInBhZGRpbmctYm90dG9tIjpwLAoicGFkZGluZy1sZWZ0IjpyLCJwYWRkaW5nLXJpZ2h0IjpyfSksImFyaWEtY2hlY2tlZCI6RyxjbGFzczpfLlAoInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxIb3N0IixsLCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsQ29udGFpbmVyIix7eXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVkOkZ9KSwib246Y2xpY2siOmZ1bmN0aW9uKEgpe2lmKCFlKCkuaXNEaXNhYmxlZCl7dmFyIFI9SC5jdXJyZW50VGFyZ2V0O2lmKF8ueCgid2ViX3NlbGVjdGFibGVfaXRlbV9jaGlsZF90YXBfa2lsbF9zd2l0Y2giKSlSPSExO2Vsc2V7dmFyIE09Xy5xSChIKTtSPV8uckgoTSxSLFdmYSl9Unx8KGY/ZihILmN1cnJlbnRUYXJnZXQsZSgpLGs/LigpKTpBKCFFKCkpKX19LCJwcm9wOmNoZWNrZWQiOkcscm9sZTptLCJhcmlhLWRpc2FibGVkIjpGLHRhYmluZGV4OjB9LF8uSyhfLlcse2RhdGE6dH0se2NhcmRWaWV3TW9kZWw6KHtkYXRhOkh9KT0+Xy5LKFBMLHtkYXRhOkgsaXNTZWxlY3RlZDpHLAppc0V4cGFuZGVkOkR9KX0pKX0sIkJhIik7Xy5FTD1fLkwoYT0+e2Z1bmN0aW9uIGIoeixFLEEpe3ZhciBGPWMoKS5mb3JtRmllbGRNZXRhZGF0YSYmbSgpIT09dm9pZCAwPzM6ZCgpPzI6MTtGPT09MSYmRS5rZXkhPW51bGwmJnQoRS5rZXkpO0Y9PT0zJiZFLmtleSE9bnVsbCYmbSgpPy51cGRhdGVWYWx1ZShFLmtleSk7ZT8uKHosRSxBKX12YXIge2RhdGE6YyxXYjpkLG9uU2VsZWN0ZWQ6ZSxTaDpmLGdyb3VwTmFtZTpoLGNsYXNzTmFtZTprLG5hOmx9PV8uREMoYSx7V2I6ITB9KSxtPV8uWkkoKCk9PmMoKS5mb3JtRmllbGRNZXRhZGF0YSksbj0oKT0+aD8uKCl8fGMoKS5rZXksW3Ascl09Xy5BQygoKT0+YygpLmRlZmF1bHRTZWxlY3RlZEtleSksdD1yLHY9KCk9PihjKCkuZm9ybUZpZWxkTWV0YWRhdGEmJm0oKSE9PXZvaWQgMD8zOmQoKT8yOjEpPT09Mz9tKCk/LnZhbHVlOmQoKT9mPy4oKTpwKCk7cmV0dXJuIF8uSygieXQtcmFkaW8tYnV0dG9uLWdyb3VwLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEhvc3QiLAprKX0sXy5LKCJmaWVsZHNldCIse2NsYXNzOiJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxGaWVsZHNldCIscm9sZToicmFkaW9ncm91cCIsImFyaWEtaW52YWxpZCI6KCk9PiEhbSgpPy5lcnJvcnM/LlswXSwiYXJpYS1kZXNjcmliZWRieSI6KCk9Pm0oKT8uZXJyb3JzPy5bMF0/YGVycm9yLSR7YygpLmtleX1gOnZvaWQgMH0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnJhZGlvQnV0dG9uc30se3JhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbDooe2RhdGE6en0pPT5fLksoUmZhLHtkYXRhOnosb25TZWxlY3RlZDpiLFNoOnYsZ3JvdXBOYW1lOm4sbmE6bH0pLHNlbGVjdGFibGVJdGVtVmlld01vZGVsOih7ZGF0YTp6fSk9Pl8uSyhYZmEse2RhdGE6eixvblNlbGVjdGVkOmIsU2g6dixncm91cE5hbWU6bixyb2xlOiJyYWRpbyJ9KX0pKSxfLksoXy5PLHtBOigpPT5tKCk/LmVycm9ycz8uWzBdLHRoZW46ej0+Xy5LKCJkaXYiLHtpZDooKT0+YGVycm9yLSR7YygpLmtleX1gLGNsYXNzOiJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxFcnJvciJ9LAooKT0+eigpLm1lc3NhZ2UpfSkpfSwiQ2EiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiZDJMVHhiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQUU9Xy5MKCh7bmFtZTphLG9uQ2hhbmdlOmIsb25DbGljazpjLGNoZWNrZWQ6ZCxZZTplLGhrOmYsWWk6aCxxajprLG5hOmwsVmM6bSxhcmlhTGFiZWw6bixjbGFzc05hbWU6cCxkaXNhYmxlZDpyLGhvcml6b250YWxQYWRkaW5nOnQsdmVydGljYWxQYWRkaW5nOnZ9KT0+e3ZhciB6PSJyYWRpbyIrXy5PSCgpLEU9Xy51RSgiaW5wdXQiKSxBPV8ueCgiZW5hYmxlX2lvc193ZWJ2aWV3X3JhZGlvX2J1dHRvbl9yZXNwb25zaXZlbmVzcyIpLFtGLENdPV8uSighMSx2b2lkIDAsImZMclg2ZCIpO3JldHVybiBfLksoInJhZGlvLXNoYXBlIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVIb3N0IixwKX0sXy5LKCJpbnB1dCIse2VsOkUsY2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVJbnB1dCIse3l0UmFkaW9TaGFwZVRhcHBhYmxlOigpPT4oISFifHwhIWMpJiYhcj8uKCl9KSxpZDp6LCJwcm9wOmNoZWNrZWQiOmQsbmFtZTphLHR5cGU6InJhZGlvIixkaXNhYmxlZDpyLCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKEcpe0UudmFsdWUuY2hlY2tlZD0KISFkPy4oKTtiPy4oRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmNsaWNrIjpmdW5jdGlvbihHKXtjPy4oRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sImFyaWEtbGFiZWwiOm4sIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLkluKF8uakgpKT8uWGUoKSYmQyghMCl9LCJvbjpmb2N1c291dCI6ZnVuY3Rpb24oKXtDKCExKX19KSxfLksoImxhYmVsIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVMYWJlbENvbnRhaW5lciIsayx7eXRSYWRpb1NoYXBlQ29tcGFjdDpsLHl0UmFkaW9TaGFwZUtleWJvYXJkRm9jdXNlZDpGLHl0UmFkaW9TaGFwZVRhcHBhYmxlOigpPT4oISFifHwhIWMpJiYhcj8uKCkseXRSYWRpb1NoYXBlRGlzYWJsZWQ6cn0pLGZvcjp6fSxfLksoXy5PLHtBOigpPT4haD8uKCksdGhlbjooKT0+Xy5LKFNILHtjaGVja2VkOmQsaGs6ZixnZzohMCxWYzptLERzOkF9KX0pLF8uSyhfLk8se0E6KCk9PiEhZSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlTGFiZWwiLAp7eXRSYWRpb1NoYXBlRXZlbnRQYXNzdGhyb3VnaDpBfSksImFyaWEtaGlkZGVuIjooKT0+ISFuPy4oKSxzdHlsZTpfLklFKHsicGFkZGluZy1sZWZ0Ijp0LCJwYWRkaW5nLXJpZ2h0Ijp0LCJwYWRkaW5nLXRvcCI6diwicGFkZGluZy1ib3R0b20iOnZ9KX0sZT8uKCkpfSksXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhTSCx7Y2hlY2tlZDpkLGhrOmYsZ2c6ITEsVmM6bSxEczpBfSl9KSkpfSwidyIpO18uQUUuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNoYW5nZTohMCxvbkNsaWNrOiEwLFllOiEwfX07CnZhciBTSD1fLkwoKHtoazphLFZjOmIsRHM6Y30pPT57dmFyIGQ9Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/IkNJUkNMRV9GVUxMIjoiQ0lSQ0xFIjtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UmFkaW9TaGFwZVJhZGlvIixiLHt5dFJhZGlvU2hhcGVDaGVja0ljb246YSx5dFJhZGlvU2hhcGVSYWRpb0RlZmF1bHRTdHlsZTooKT0+IWI/LigpLHl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2g6Y30pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5NRCx7aWNvbjooKT0+YT8uKCk/IkNIRUNLIjoiQ0lSQ0xFIn0pLF8uSyhfLk1ELHtpY29uOigpPT5hPy4oKT8iQ0hFQ0siOmQsYWN0aXZlOigpPT4hYT8uKCl9KSl9LCJ4Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInpDa0tCYyIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiYWNGdVZjIik7cmV0dXJuIF8uR0R9O18uV0Y9Xy5jRCgoKT0+Xy5WRigpLCJjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImNvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWwiLCJhY0Z1VmMiLF8uVkYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWUY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJmOTB0Q2IiKTtyZXR1cm4gXy5GRH07Xy5aRj1fLmNEKCgpPT5fLllGKCksInRvZ2dsZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ0b2dnbGVCdXR0b25WaWV3TW9kZWwiLCJmOTB0Q2IiLF8uWUYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYkc9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJMVmlNTSIpO3JldHVybiBfLkREfTtfLmNHPV8uY0QoKCk9Pl8uYkcoKSwic3Vic2NyaWJlQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbCIsIkxWaU1NIixfLmJHKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZEc7Xy5lRz1mdW5jdGlvbihhKXt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oZEcpKSxbYyxkXT1fLkooYix2b2lkIDAsIkhmRGRLIik7Ynx8Xy5ZdChkRyxkKTtyZXR1cm4gXy5OKCgpPT57dmFyIGU9YSgpO3JldHVybiBlP2MoKT8uKGUpOnZvaWQgMH0sdm9pZCAwLCJ2NzBFN2IiKX07ZEc9bmV3IF8uVnMoIlNFTUFOVElDX0NPTE9SX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaUg9bmV3IF8uVnMoIkhPUklaT05UQUxfQkFSX1ZJRVdfTU9ERUxfVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5MSD1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8ueSgpLnJlc29sdmUoXy5KSCk7cmV0dXJuIF8ueSgpLnJlc29sdmUoXy5LSCkoKX07Xy5NSD1mdW5jdGlvbigpe3JldHVybiBfLnkoKS5yZXNvbHZlKF8uS0gpKCl9O25ldyBfLmNzO18uSkg9bmV3IF8uVnMoIldBVENIX1BMQVlFUl9QUk9NSVNFX1RPS0VOIik7bmV3IF8uY3M7Xy5LSD1uZXcgXy5WcygiR0VUX1NIT1JUU19QTEFZRVJfRlVOQ1RJT05fVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5VSD1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9T2JqZWN0LmtleXMoYik7Xy5uRSgoKT0+e2lmKGE/LigpKXtmb3IobGV0IGUgb2YgZCljLmFkZEV2ZW50TGlzdGVuZXIoZSxiW2VdKTtfLll1KCgpPT57Zm9yKGxldCBlIG9mIGQpYy5yZW1vdmVFdmVudExpc3RlbmVyKGUsYltlXSl9KX19LCJiWFpHZmUiKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZEksUGRhLGZJLFFkYSxpSSxTZGE7ZEk9ZnVuY3Rpb24oYSl7aWYoYSlzd2l0Y2goYSl7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfWFNNQUxMIjpyZXR1cm4gMTY7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfU01BTEwiOnJldHVybiAxODtjYXNlICJMSVNUX0lURU1fSUNPTl9BQ0NFU1NPUllfU0laRV9TVEFOREFSRCI6cmV0dXJuIDI0O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX0xBUkdFIjpyZXR1cm4gMzY7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfWExBUkdFIjpyZXR1cm4gNDg7ZGVmYXVsdDpyZXR1cm4gMjR9fTsKUGRhPWZ1bmN0aW9uKGEsYil7aWYoIWE/LmVudGl0eVNlbGVjdG9yVHlwZXx8IWE/LmVudGl0eUtleSlyZXR1cm57fTtzd2l0Y2goYS5lbnRpdHlTZWxlY3RvclR5cGUpe2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0NBUFRJT05fTEFOR1VBR0VfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPV8uTUgoKT8uZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrIiksYj10eXBlb2YgYT8udHJhbnNsYXRpb25MYW5ndWFnZT09PSJvYmplY3QiJiZhLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8YT8uZGlzcGxheU5hbWV8fCIiLHtkYXRhOnsuLi4oISFiJiZ7c2VsZWN0aW9uVGV4dDp7Y29udGVudDpifX0pLC4uLighIWImJntsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRCJ9fV19fSksaXNEaXNhYmxlZDp0eXBlb2YgYT09PSJ1bmRlZmluZWQifX07Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfQVVESU9fVFJBQ0tfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPQpfLk1IKCk/LmdldEF1ZGlvVHJhY2soKXx8dm9pZCAwLGI9YT8uZ2V0TGFuZ3VhZ2VJbmZvKCk/LmdldE5hbWUoKSx7ZGF0YTp7c2VsZWN0aW9uVGV4dDp7Y29udGVudDpifSwuLi4oYiYmIWE/LmdldExhbmd1YWdlSW5mbygpPy5nZXRJc0RlZmF1bHQoKSYme2xlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6IlBFUlNPTl9SQURBUl9GSUxMRUQifX1dfX0pfX07Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfUExBWUJBQ0tfU1BFRURfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPV8ueCgid2ViX3Nob3J0c19wbGF5YmFja19yYXRlX3BpY2tlciIpLF8uZUlbImNvdW50ZXJmYWN0dWFscy53ZWJfc2hvcnRzX3BsYXliYWNrX3JhdGVfcGlja2VyIl09U3RyaW5nKGEpLGE/KGE9Xy5NSCgpPy5nZXRQbGF5YmFja1JhdGUoKSxiPV8uTUgoKT8uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcygpLGE9e2RhdGE6e3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6YT09PQoxP18uYUEoIlBMQVlFUl9TUEVFRF9OT1JNQUwiLHZvaWQgMCwiTm9ybWFsIik6Xy5hQSgiUExBWUJBQ0tfU1BFRURfWCIse3NwZWVkX3JhdGVfcGxhY2Vob2xkZXI6YCR7YT8udG9GaXhlZCgyKX1gfSl9LGlzRGlzYWJsZWQ6IWI/Lmxlbmd0aH19KTphPXt9LGE7Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfUkVNT1ZFX0FEU19BRF9TVEFURSI6cmV0dXJuIGE9YT8uZW50aXR5S2V5PyhhPV8uSEgoYixhLmVudGl0eUtleSkpP3tpc0hpZGRlbjphPy5hZHNTdGF0ZSE9PSJBRFNfU1RBVEVfUExBWUlORyJ9Ontpc0hpZGRlbjohMH06e30sYTtkZWZhdWx0OnJldHVybnt9fX07Zkk9ZnVuY3Rpb24oYSl7aWYoYSYmKGE9YS5zcGxpdCgiOiIpLGEubGVuZ3RoPjEpKXJldHVybiBhWzBdLmxlbmd0aD4wP2FbMF06dm9pZCAwfTtRZGE9ZnVuY3Rpb24oYSl7aWYoYSYmIWdJLmhhcyhhKSl7dmFyIGI9ZkkoYSk7YiYmZ0kuc2V0KGEsYil9fTsKaUk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXsuLi5oSSgpfTtpZihiJiZjPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iKXtsZXQgZT1mSShhKTtlJiZnSS5mb3JFYWNoKChmLGgpPT57Zj09PWUmJmghPT1hJiYoZFtoXT0hMSl9KX1kW2FdPWI7UmRhKGQpfTtTZGE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57aWYoIWM/LigpKXt2YXIgZT1mPT57Xy5ySChfLnFIKGYpLGQsYil8fGEoZil9O2QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGUpO3JldHVybigpPT57ZC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsZSl9fX19O18uZUk9e307Xy5qST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm1tMk4wYyIpO3JldHVybiBfLnpFfTtfLmtJPV8uY0QoKCk9Pl8uakkoKSwic3dpdGNoQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIsIm1tMk4wYyIsXy5qSSl9KTt2YXIgbUk7Xy5sST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImhiMFdtZiIpO3JldHVybiBfLlhGfTttST1fLmNEKCgpPT5fLmxJKCksImFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsIiwiaGIwV21mIixfLmxJKX0pO3ZhciBUZGE7Xy5uST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImhOZWx2ZCIpO3JldHVybiBfLmFJfTtUZGE9Xy5jRCgoKT0+Xy5uSSgpLCJsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbCIsImhOZWx2ZCIsXy5uSSl9KTt2YXIgVWRhO18ub0k9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJyNUNPSGYiKTtyZXR1cm4gXy4kSH07VWRhPV8uY0QoKCk9Pl8ub0koKSwibGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWwiLCJyNUNPSGYiLF8ub0kpfSk7dmFyIHBJPV8uTCgoe2RhdGE6YSxnZzpiLGNlOmMsaXNUb2dnbGVkOmQsRGc6ZSxuYTpmfSk9Pnt2YXIgaD0oKT0+YigpP2EoKS5sZWFkaW5nSW1hZ2U6YSgpLnRyYWlsaW5nSW1hZ2U/P18uUUYoYSgpLnRoZW1lZFRyYWlsaW5nSW1hZ2UpLGs9KCk9PnthOnt2YXIgcj1hKCkubGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0O2lmKCFjPy4oKSlzd2l0Y2gocil7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUZURVJfU0VMRUNUSU9OX1RFWFRfRVhQQU5EX01PUkUiOnI9ImV4cGFuZF9tb3JlIjticmVhayBhO2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX05PTkUiOmJyZWFrO2RlZmF1bHQ6cj0iY2hldnJvbl9yaWdodCI7YnJlYWsgYX1yPXZvaWQgMH1yZXR1cm4gcn0sbD1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lciIse3l0TGlzdEl0ZW1WaWV3TW9kZWxMZWFkaW5nOmIseXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOigpPT4hYigpfSksCm09Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5IiwieXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlIiksbj1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxBY2Nlc3NvcnkiLHt5dExpc3RJdGVtVmlld01vZGVsTGVhZGluZzpiLHl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzooKT0+IWIoKX0pLHA9Xy5lRygoKT0+YigpP2EoKS5sZWFkaW5nSWNvbkNvbG9yVG9rZW46YSgpLnRyYWlsaW5nSWNvbkNvbG9yVG9rZW4pO3JldHVybiBfLksoXy5PLHtBOigpPT57dmFyIHI9YSgpLHQ9YigpO3JldHVybiEhKHQmJihyLmxlYWRpbmdJbWFnZXx8ci5sZWFkaW5nQWNjZXNzb3J5KXx8IXQmJihyLnRyYWlsaW5nSW1hZ2V8fHIudHJhaWxpbmdCdXR0b258fHIudHJhaWxpbmdCdXR0b25zfHxyLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0fHxyLnNlbGVjdGlvblRleHR8fHIudGhlbWVkVHJhaWxpbmdJbWFnZXx8ci50cmFpbGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfTkVXX0NPTlRFTlRfSU5ESUNBVE9SInx8CnIudHJhaWxpbmdMYWJlbCkpfSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6aCx0aGVuOnI9Pl8uSygiZGl2Iix7Y2xhc3M6bCwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uakYse2RhdGE6cixhbHQ6IiIsVGE6ITAsWWE6ITAsQWI6KCk9Pnt2YXIgdD0oYigpP2EoKS5sZWFkaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9JQ09OIjphKCkudHJhaWxpbmdJbWFnZUFjY2Vzc29yeVR5cGU9PT0iTElTVF9JVEVNX0lNQUdFX0FDQ0VTU09SWV9UWVBFX0lDT04iKT9iKCk/ZEkoYSgpLmxlYWRpbmdJY29uQWNjZXNzb3J5U2l6ZSk6ZEkoYSgpLnRyYWlsaW5nSWNvbkFjY2Vzc29yeVNpemUpOnZvaWQgMDtyZXR1cm4gdH0sY2xhc3NOYW1lOm0saXNUb2dnbGVkOigpPT4hZT8uKCkmJmQ/LigpLHN0eWxlOl8uSUUoe2NvbG9yOnB9KX0pKX0pLF8uSyhfLk8se0E6KCk9PmIoKSYmYSgpLmxlYWRpbmdBY2Nlc3NvcnksdGhlbjooKT0+Cl8uSygiZGl2Iix7Y2xhc3M6bH0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmxlYWRpbmdBY2Nlc3Nvcnl9LHthdmF0YXJWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uU0Yse2RhdGE6cixnZDptLE1rOigpPT5mPy4oKT97c2l6ZToiZXh0cmEtc21hbGwifTp7c2l6ZToibWVkaXVtIn19KSxjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLldGLHtkYXRhOnIsbWF4SGVpZ2h0OjM2LHdpZHRoOjU2LGNnOiEwfSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdCdXR0b24sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50cmFpbGluZ0J1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5VRix7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdCdXR0b25zPy5idXR0b25zLAp0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRyYWlsaW5nQnV0dG9ucz8uYnV0dG9uc30se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5VRix7ZGF0YTpyLGNsYXNzTmFtZTpufSksYWNjb3VudExpbmtCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKG1JLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzd2l0Y2hCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ua0kse2RhdGE6cixjbGFzc05hbWU6bn0pLHN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5jRyx7ZGF0YTpyLGlzT3ZlcmxheTohMSxRZDohMSxjbGFzc05hbWU6bn0pLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5aRix7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdBY2Nlc3Nvcmllc0xpc3Q/LnRyYWlsaW5nQWNjZXNzb3JpZXMsCnRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5hKCkudHJhaWxpbmdBY2Nlc3Nvcmllc0xpc3Q/LnRyYWlsaW5nQWNjZXNzb3JpZXN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pLGFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhtSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmtJLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uY0cse2RhdGE6cixpc092ZXJsYXk6ITEsUWQ6ITEsY2xhc3NOYW1lOm59KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uWkYse2RhdGE6cixjbGFzc05hbWU6bn0pLGJhZGdlVmlld01vZGVsOih7ZGF0YTpyfSk9PgpfLksoXy5hRyx7ZGF0YTpyLGNsYXNzOm59KSxsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoVGRhLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxsaXN0SXRlbVZpZXdDb3VudFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoVWRhLHtkYXRhOnIsY2xhc3NOYW1lOm59KX0pKX0pLF8uSyhfLk8se0E6KCk9PiFiKCkmJiEhYSgpLnNlbGVjdGlvblRleHQsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5WLHt0ZXh0OigpPT5hKCkuc2VsZWN0aW9uVGV4dCxjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsU2VsZWN0aW9uVGV4dCIsInl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHQiKX0pLF8uSyhfLk8se0E6ayx0aGVuOnI9Pl8uSyhfLk1ELHtpY29uOnIsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb24iLGFyaWFIaWRkZW46ITAsc3R5bGU6Xy5JRSh7Y29sb3I6cH0pfSl9KSl9KSxfLksoXy5PLHtBOigpPT4KIWIoKSYmYSgpLnRyYWlsaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9ORVdfQ09OVEVOVF9JTkRJQ0FUT1IiLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6bH0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3IifSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nTGFiZWwsdGhlbjooKT0+Xy5LKF8uVix7dGV4dDooKT0+YSgpLnRyYWlsaW5nTGFiZWwsY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWwiLCJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmciKX0pfSkpfSl9LCJ6Iik7dmFyIFZkYT1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLmlIKSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3NvcnkifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYm90dG9tQWNjZXNzb3J5fSx7Li4uKGImJntob3Jpem9udGFsQmFyVmlld01vZGVsOmJ9KX0pKX0sIkEiKTt2YXIgcUk9Xy5MKGE9Pnt2YXIgYj1hLmRhdGEsYz1hLmNsYXNzTmFtZSxkPV8uZUcoKCk9PmIoKS5pc0Rpc2FibGVkJiZiKCkubGFiZWxEaXNhYmxlZENvbG9yVG9rZW4/YigpLmxhYmVsRGlzYWJsZWRDb2xvclRva2VuOmIoKS5sYWJlbFRleHRDb2xvclRva2VuKSxlPV8uZUcoKCk9PmIoKS5zdXBlckxhYmVsQ29sb3JUb2tlbik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmIoKS5zdXBlcmxhYmVsfHxiKCkudGl0bGV8fGIoKS5zdWJ0aXRsZXx8YigpLnN1YnRpdGxlQmFkZ2UsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpjfSxfLksoXy5PLHtBOigpPT5iKCkuc3VwZXJsYWJlbCx0aGVuOmY9Pl8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVsIixzdHlsZTpfLklFKHtjb2xvcjplfSl9KX0pLF8uSyhfLk8se0E6KCk9PmIoKS50aXRsZSx0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXIifSwKXy5LKF8uVix7dGV4dDpmLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZSIse3l0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGU6KCk9PmIoKS50aXRsZU1heExpbmVzPT09MX0pLHN0eWxlOl8uSUUoe2NvbG9yOmR9KX0pKX0pLF8uSyhfLk8se0E6KCk9PmIoKS5zdWJ0aXRsZUJhZGdlfHxiKCkuc3VidGl0bGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YigpLnN1YnRpdGxlQmFkZ2V9LHtiYWRnZVZpZXdNb2RlbDooe2RhdGE6Zn0pPT5fLksoXy5hRyx7ZGF0YTpmfSl9KSksXy5LKFdkYSx7ZGF0YTpiLHl3OigpPT4hIWIoKS5zdWJ0aXRsZUJhZGdlfSkpfSkpfSl9LCJCIiksV2RhPV8uTChhPT57dmFyIGI9Xy5lRygoKT0+YS5kYXRhKCkuc3ViTGFiZWxDb2xvclRva2VuKTsKcmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLnN1YnRpdGxlLHRoZW46Yz0+Xy5LKF8uVix7dGV4dDpjLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZSIse3l0TGlzdEl0ZW1WaWV3TW9kZWxXaXRoQmFkZ2U6YS55d30pLHN0eWxlOl8uSUUoe2NvbG9yOmJ9KX0pfSl9LCJDIik7dmFyIFhkYT1fLkwoKHtkYXRhOmEsY2U6YixmdTpjLGlzVG9nZ2xlZDpkLGRpc2FibGVkOmUsWHg6ZixuYTpoLEJjOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmwsaG9yaXpvbnRhbFBhZGRpbmc6bSxZeDpuLHVCOnAsb25UYXA6cixhcmlhTGFiZWw6dCxEZzp2fSk9Pnt2YXIgej0oKT0+ISFhKCkuaXNEaXNhYmxlZHx8ISFlPy4oKSxFPV8uZUcoKCk9PmEoKS50cmFpbGluZ0ljb25Db2xvclRva2VuKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxMYXlvdXRXcmFwcGVyIix7eXRMaXN0SXRlbVZpZXdNb2RlbENvbnRhaW5lcjooKT0+IWY/LigpLHl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZDp6LHl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZTooKT0+ISFhKCkuc3VidGl0bGUseXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3Q6aCx5dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6bix5dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeTpfLngoIndlYl9lbmFibGVfbGlzdF9pdGVtX2FjdGlvbl90eXBvZ3JhcGh5IiksCnl0TGlzdEl0ZW1WaWV3TW9kZWxJblBvcHVwOmsseXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+bD8uKCkmJiFmPy4oKSx5dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQ6KCk9PiFhKCkuc2VsZWN0aW9uVGV4dCYmIWEoKS50cmFpbGluZ0xhYmVsfSwoKT0+e2E6e3N3aXRjaChhKCkubGF5b3V0UHJpb3JpdHkpe2Nhc2UgIkxJU1RfSVRFTV9MQVlPVVRfUFJJT1JJVFlfVFJBSUxJTkciOnZhciBBPSJ5dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIjticmVhayBhfUE9dm9pZCAwfXJldHVybiBBfSksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6bSwicGFkZGluZy1yaWdodCI6bX0pfSxfLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsTWFpbkNvbnRhaW5lciJ9LF8uSyhwSSx7ZGF0YTphLGdnOiEwLGNlOmIsaXNUb2dnbGVkOmQsRGc6dixuYTpofSksXy5LKF8uTyx7QTpwLHRoZW46KCk9Pl8uSyhfLlZDLAp7Y29tbWFuZDooKT0+Xy5zSChhKCkucmVuZGVyZXJDb250ZXh0KSxvbkNsaWNrOnIsZGlzYWJsZWQ6eixjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IiLCJ5dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXIiKSx0b2dnbGVhYmxlOmQhPT12b2lkIDAsdG9nZ2xlZDpkLGFyaWFMYWJlbDp0fSxfLksocUkse2RhdGE6YX0pKSxXOigpPT5fLksocUkse2RhdGE6YSxjbGFzc05hbWU6Inl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlciJ9KX0pLF8uSyhfLk8se0E6KCk9PiEhYyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmciLHN0eWxlOl8uSUUoe2NvbG9yOkV9KX0sYyYmXy5LKGMsbnVsbCkpLFc6KCk9Pl8uSyhwSSx7ZGF0YTphLGdnOiExLGNlOmIsaXNUb2dnbGVkOmQsRGc6dixuYTpofSl9KSksXy5LKF8uTyx7QTooKT0+YSgpLmJvdHRvbUFjY2Vzc29yeSx0aGVuOigpPT5fLksoVmRhLHtkYXRhOmF9KX0pKX0sCiJEIik7dmFyIFtoSSxSZGFdPV8uSih7fSx2b2lkIDAsInBkcmFGIiksZ0k9bmV3IE1hcDt2YXIgc0k9Xy5MKGE9Pnt2YXIge25hbWU6YixvbkNoYW5nZTpjLG9uQ2xpY2s6ZCxjaGVja2VkOmUsWWU6ZixZaTpoLHFqOmssbmE6bCxWYzptLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpuLGhvcml6b250YWxQYWRkaW5nOnAsZGlzYWJsZWQ6cixhcmlhTGFiZWw6dH09Xy5EQyhhLHtjaGVja2VkOiExLGRpc2FibGVkOiExfSk7YT0iY2hlY2tib3giK18uT0goKTtyZXR1cm4gXy5LKCJjaGVja2JveC1zaGFwZSIsbnVsbCxfLksoImxhYmVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94U2hhcGVIb3N0IixrLHt5dENoZWNrYm94U2hhcGVIb3N0Q29tcGFjdDpsLHl0Q2hlY2tib3hTaGFwZURpc2FibGVIb3Jpem9udGFsUGFkZGluZzpufSksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6cCwicGFkZGluZy1yaWdodCI6cH0pfSxfLksoImlucHV0Iix7Y2xhc3M6Inl0Q2hlY2tib3hTaGFwZUlucHV0IixpZDphLGNoZWNrZWQ6ZSxuYW1lOmIsdHlwZToiY2hlY2tib3giLGRpc2FibGVkOnIsCiJhcmlhLWxhYmVsIjp0LCJwcm9wOmNoZWNrZWQiOmUsIm9uOmNoYW5nZSI6ZnVuY3Rpb24odil7Yz8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjbGljayI6ZnVuY3Rpb24odil7ZD8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9fSksXy5LKF8uTyx7QTooKT0+IWg/LigpLHRoZW46KCk9Pl8uSyhySSx7Z2c6ITAsVmM6bX0pfSksXy5LKF8uTyx7QTooKT0+ISFmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hlY2tib3hTaGFwZUxhYmVsIn0sZj8uKCkpfSksXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhySSx7Z2c6ITEsVmM6bX0pfSkpKX0sIkUiKTtzSS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQ2hhbmdlOiEwLG9uQ2xpY2s6ITAsWWU6ITB9fTsKdmFyIHJJPV8uTCgoe1ZjOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q2hlY2tib3hTaGFwZUNoZWNrYm94IixhLHt5dENoZWNrYm94U2hhcGVDaGVja2JveERlZmF1bHRTdHlsZTooKT0+IWE/LigpfSksImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLk1ELHtpY29uOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJzcXVhcmUiOiJCT1hfRU1QVFkifSksXy5LKF8uTUQse2ljb246Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/ImNoZWNrX3NxdWFyZSI6IkJPWF9DSEVDSyIsYWN0aXZlOiEwfSkpLCJGIik7dmFyIHRJPV8uTCgoe2RhdGE6YSxJYTpiLG5hOmMsb25UYXA6ZCx4czplLGNlOmYsZGlzYWJsZWQ6aCxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpsLGlzT3ZlcmxheTptLGlzVG9nZ2xlZDpuLGFyaWFMYWJlbDpwLGFyaWFQcmVzc2VkOnIsRGc6dCxicDp2fSk9PntmdW5jdGlvbiB6KGJhKXtiYS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYWE9YSgpLmVudGl0eUtleSxPYT1HKCkuaXNTZWxlY3RlZDtpZihhYSYmTSgpKXtpZihHKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyImJk9hKXJldHVybjtpSShhYSwhT2EsRygpLnNlbGVjdGlvblN0eWxlKX1kP2QoYmEpOihhYT1fLnNIKEcoKS5yZW5kZXJlckNvbnRleHQpLE9hPV8ueSgpLnJlc29sdmUoXy5VRCksYWEmJk9hJiZPYS5yZXNvbHZlQ29tbWFuZChhYSxiYS50YXJnZXQ/e2Zvcm06e2VsZW1lbnQ6YmEudGFyZ2V0LHNvdXJjZURhdGE6YWF9fTp2b2lkIDApKX12YXIgRT0hXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfZm9yX3NlbGVjdGFibGVfbGlzdF9pdGVtX29uX3RhcF9maXgiKSwKQT0hXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfZm9yX3NraXBfY2hpbGRfdGFncyIpLEY9Xy5RSCgoKT0+YSgpLmhvcml6b250YWxQYWRkaW5nVG9rZW4pLEM9KCk9Pmw/LigpfHxhKCkuZGlzYWJsZUhvcml6b250YWxQYWRkaW5nLEc9Xy5OKCgpPT57dmFyIGJhPWEoKSxhYT12KCksT2E9YSgpPy5lbnRpdHlTZWxlY3RvclR5cGU/ey4uLmJhLC4uLmFhLmRhdGF9OmJhO09hLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iJiZRZGEoT2EuZW50aXR5S2V5KTt2YXIgSmI9T2EuZW50aXR5S2V5O2JhPUpiP2hJKClbSmJdOnZvaWQgMDthYT0hIU9hLmlzU2VsZWN0ZWQ7dmFyIHphPWJhIT09dm9pZCAwP2JhOmFhO0piJiZPYS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIiYmYWEmJmJhPT09dm9pZCAwJiZxdWV1ZU1pY3JvdGFzaygoKT0+e2lJKEpiLCEwLE9hLnNlbGVjdGlvblN0eWxlKX0pO3JldHVybnsuLi5PYSwKaXNTZWxlY3RlZDp6YX19LHZvaWQgMCwidlJrbnkiKSxEPSgpPT4hIUcoKS5pc0Rpc2FibGVkfHwhIWg/LigpLEg9Xy5USCgoKT0+RygpLnJlbmRlcmVyQ29udGV4dCksUj0oKT0+cD8uKCl8fEgoKT8ubGFiZWwsTT0oKT0+ISghRygpLnNlbGVjdGlvblN0eWxlfHxHKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9VTlNQRUNJRklFRCIpLFM9KCk9PihfLnRIKEcoKS5yZW5kZXJlckNvbnRleHQpfHxkKSYmIU0oKSxZPSgpPT5fLnRIKEcoKS5yZW5kZXJlckNvbnRleHQpfHwhIWR8fE0oKSxwYT1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXIiLHt5dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6WSx5dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeTpfLngoIndlYl9lbmFibGVfbGlzdF9pdGVtX2FjdGlvbl90eXBvZ3JhcGh5IikseXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3Q6Yyx5dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cDprLAp5dExpc3RJdGVtVmlld01vZGVsRGlzYWJsZUhvcml6b250YWxQYWRkaW5nOigpPT5DPy4oKSYmTSgpfSksb2E9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSW1hZ2VDb250YWluZXIiLCgpPT5HKCkubGVhZGluZ0ltYWdlfHxHKCkubGVhZGluZ0FjY2Vzc29yeT8ieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIjoieXRMaXN0SXRlbVZpZXdNb2RlbExlYWRpbmciKSxbVSxoYV09Xy5KKCExLHZvaWQgMCwiY3VZNG1mIiksbWE9KCk9Pnt2YXIgYmE7aWYoYmE9Xy54KCJ3ZWJfYnV0dG9uX29yX2FuY2hvcl9saXN0X2l0ZW0iKSYmUz8uKCkpYmE9YSgpLGJhPSEoYmEudHJhaWxpbmdMYWJlbHx8YmEuc2VsZWN0aW9uVGV4dCk7cmV0dXJuIGJhfSx0YT0oKT0+Xy5LKFhkYSx7ZGF0YTpHLGNlOmYsZnU6ZSxpc1RvZ2dsZWQ6bixkaXNhYmxlZDpoLFh4Ok0sbmE6YyxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpDLGhvcml6b250YWxQYWRkaW5nOkYsWXg6Uyx1QjptYSxvblRhcDpkLGFyaWFMYWJlbDpSLApEZzp0fSksVD0oKT0+e2lmKGI/LigpKXtsZXQgYmE9RygpLnNlbGVjdGlvblN0eWxlO3JldHVybiBiYT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0NIRUNLQk9YIj8ibWVudWl0ZW1jaGVja2JveCI6YmE9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyJ8fGJhPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCI/Im1lbnVpdGVtcmFkaW8iOiJtZW51aXRlbSJ9cmV0dXJuImxpc3RpdGVtIn07cmV0dXJuIF8uSygieXQtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtlbDpfLnJGKF8udUgoKCk9PkQoKT92b2lkIDA6RygpLnJlbmRlcmVyQ29udGV4dCx2b2lkIDAsdm9pZCAwLF8ueCgid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIik/WyJBIi50b1N0cmluZygpLCJCVVRUT04iLnRvU3RyaW5nKCldOltdKSxTZGEoZnVuY3Rpb24oYmEpe0QoKXx8RSYmTSgpfHwoTSgpP3ooYmEpOmQ/LihiYSkpfSxBP1siQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXToKW10sKCk9PiFZKCkpLF8uVUgoKCk9PlM/LigpLHtmb2N1c2luOmZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLkluKF8uakgpKT8uWGUoKSYmaGEoITApfSxmb2N1c291dDpmdW5jdGlvbigpe2hhKCExKX19KSksY2xhc3M6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSG9zdCIse3l0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXk6bSx5dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOlUseXRMaXN0SXRlbVZpZXdNb2RlbEhpZGRlbjooKT0+YSgpPy5lbnRpdHlTZWxlY3RvclR5cGU/digpLmlzSGlkZGVuOiExfSksImRhdGEtdGFyZ2V0LWlkIjooKT0+RygpLnRhcmdldElkLHJvbGU6VCx0YWJpbmRleDooKT0+e3ZhciBiYT1TKCk7WSgpO3ZhciBhYT1tYSgpLE9hPUQoKTtiYT0hYWEmJihfLngoIndlYl9lbmFibGVfa2lsbHN3aXRjaF90YWJpbmRleF9maXgiKT9kfHxiYTpiYSk/T2E/LTE6MDp2b2lkIDA7cmV0dXJuIGJhfSwib246a2V5ZG93biI6ZnVuY3Rpb24oYmEpe2lmKCFBfHwKIVsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXS5pbmNsdWRlcyhiYS50YXJnZXQudGFnTmFtZSkpaWYoYmEua2V5PT09IkVudGVyInx8TSgpJiZiYS5rZXk9PT0iICIpYmEucHJldmVudERlZmF1bHQoKSxEKCl8fChFJiZNKCk/eihiYSk6YmEuY3VycmVudFRhcmdldC5jbGljaygpKX0sImFyaWEtbGFiZWwiOlIsImFyaWEtY2hlY2tlZCI6KCk9Pnt2YXIgYmE9VCgpO3JldHVybiBiYT09PSJtZW51aXRlbWNoZWNrYm94Inx8YmE9PT0ibWVudWl0ZW1yYWRpbyI/RygpLmlzU2VsZWN0ZWQ6dm9pZCAwfSwiYXJpYS1wcmVzc2VkIjooKT0+Yj8uKCl8fE0oKT92b2lkIDA6cj8uKCl9LF8uSyhfLk8se0E6TSx0aGVuOigpPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5HKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCJ9LCgpPT5fLksoc0kse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+ISFHKCkuaXNTZWxlY3RlZCwKWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2EsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOkMsaG9yaXpvbnRhbFBhZGRpbmc6RixvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8ifSwoKT0+Xy5LKF8uQUUse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+ISFHKCkuaXNTZWxlY3RlZCxZaTooKT0+ISghRygpLmxlYWRpbmdJbWFnZSYmIUcoKS5sZWFkaW5nQWNjZXNzb3J5KSxxajpwYSxWYzpvYSxvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCJ9LCgpPT5fLksoXy5BRSx7WWU6dGEsbmE6YyxjaGVja2VkOigpPT4KISFHKCkuaXNTZWxlY3RlZCxZaTooKT0+ISghRygpLmxlYWRpbmdJbWFnZSYmIUcoKS5sZWFkaW5nQWNjZXNzb3J5KSxxajpwYSxWYzpvYSxoazohMCxvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5ERSxudWxsLHRhKSksVzp0YX0pKX0sIkciKSxZZGE9Xy5MKGE9Pnt2YXIgYj1fLmNJKGM9PlBkYShhLmRhdGEoKSxjKSk7cmV0dXJuIF8uSyh0SSx7Li4uYSxicDpifSl9LCJIIik7Xy5DRD1fLkwoYT0+Xy5LKF8uTyx7QTooKT0+ISFhLmRhdGEoKT8uZW50aXR5U2VsZWN0b3JUeXBlLHRoZW46KCk9Pl8uSyhZZGEsey4uLmF9KSxXOigpPT5fLksodEksey4uLmEsYnA6KCk9Pih7fSl9KX0pLCJJIik7Xy5DRC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uVGFwOiEwLHhzOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInBlMm9qYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFMPWZ1bmN0aW9uKGEsYil7aWYoYSYmYilzd2l0Y2goYil7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfQk9PTCI6cmV0dXJuIGEuYm9vbFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX0lOVCI6cmV0dXJuIGEuaW50VmFsdWU7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfU1RSSU5HIjpyZXR1cm4gYS5zdHJpbmdWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9QUklWQUNZX1NUQVRVUyI6cmV0dXJuIGEucHJpdmFjeVN0YXR1c1ZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX1RJTUVfUElDS0VSX0ZPUk1BVCI6cmV0dXJuIGEudGltZVBpY2tlckZvcm1hdFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX0VOR0FHRU1FTlRfUEVSTUlTU0lPTiI6cmV0dXJuIGEuZW5nYWdlbWVudFBlcm1pc3Npb25WYWx1ZX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkNJPWZ1bmN0aW9uKGEpe18uVkgubXcoKShhKX07Xy5EST1mdW5jdGlvbihhLGIpe3ZhciBjPV8uWEgoKTtyZXR1cm4gXy5OKCgpPT57YygpO3JldHVybiBfLlpIKGEsW18uQnYoYil8fCIiXSl9LHtkZWJ1Z05hbWU6IkxVWnNsZiJ9LCJaMTA1dCIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5STD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxpa2VTdGF0dXNFbnRpdHkiLGIpfTtfLlNMPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywibGlrZUNvdW50RW50aXR5IixiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBZZmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5OKCgpPT5fLkJ2KGEpPz97fSx7ZXF1YWxzOl8uR0l9LCJ6VFVaUWMiKSxjPV8uTigoKT0+e3ZhciB7Zm9ybUlkOmQsZmllbGRJZDplfT1iKCk7aWYoZCYmZSl7YTp7bGV0IGg9Xy5TSShkKTtpZihoKXt2YXIgZj1fLk1JKGUpO2lmKGY9aFtmXSl7aWYoISgiZnVuY3Rpb24iPT10eXBlb2YgXy5UTCYmZiBpbnN0YW5jZW9mIF8uVEwpKXRocm93IF8uSUkoYEZpZWxkICR7ZX0gaW4gZm9ybSAke2R9IGlzIG5vdCBhIFNjYWxhckxpc3RGaWVsZC5gKTticmVhayBhfX1mPXZvaWQgMH1yZXR1cm4gZn19LHZvaWQgMCwiRTBLU0ZkIik7cmV0dXJuKCk9PmMoKX0sWmZhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywic2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5IixiKX0sJGZhPWZ1bmN0aW9uKGEsYil7Yi5pbmNsdWRlcyhhKT9iPWIuZmlsdGVyKGM9PmMhPT1hKTpiLnB1c2goYSk7cmV0dXJuWy4uLmJdfSxVTD1uZXcgXy5JKCJjaGVja2JveEl0ZW1WaWV3TW9kZWwiKTt2YXIgYWdhPV8uTChhPT57dmFyIHtkYXRhOmIsV2I6YyxzZWxlY3RlZDpkLG9uVGFwOmUsZ3JvdXBOYW1lOmYsY2xhc3NOYW1lOmgsbmE6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bCxMaTptfT1fLkRDKGEse1diOiExLHNlbGVjdGVkOiExLG5hOiExLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzohMSxMaTohMX0pLG49KCk9PmMoKT8yOmIoKS5mb3JtRmllbGRNZXRhZGF0YSYmIW0oKT8zOjE7Xy5VSigoKT0+e24oKT09PTImJmIoKS5kZWZhdWx0U2VsZWN0ZWQ/Xy5HcChFcnJvcigidWQiKSk6bigpPT09MSYmZCgpP18uR3AoRXJyb3IoInZkIikpOm4oKT09PTMmJmQoKSYmXy5HcChFcnJvcigid2QiKSl9KTt2YXIgcD1fLlpJKCgpPT5iKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFtyLHRdPV8uQUMoKCk9PntpZihuKCk9PT0xKXJldHVybiBiKCkuZGVmYXVsdFNlbGVjdGVkfSk7cmV0dXJuIF8uSygieXQtY2hlY2tib3gtaXRlbS12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94SXRlbVZpZXdNb2RlbEhvc3QiLApoKX0sXy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgdj1iKCksej1uKCk9PT0zP3AoKT8udmFsdWV8fCExOm4oKT09PTE/cigpOmQoKTtyZXR1cm57dGl0bGU6di50ZXh0LHN1YnRpdGxlOnYuc3VidGV4dCxzdXBlcmxhYmVsOnYuc3VwZXJsYWJlbCxpc1NlbGVjdGVkOiEheixpc0Rpc2FibGVkOnYuaXNEaXNhYmxlZCxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCJ9fSxvblRhcDooKT0+e3ZhciB2PSEobigpPT09Mz9wKCk/LnZhbHVlOm4oKT09PTE/cigpOmQoKSk7bigpPT09Mz9wKCk/LnVwZGF0ZVZhbHVlKHYpOm4oKT09PTEmJnQodik7ZT8uKHYsYigpLGY/LigpKX0sbmE6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bH0pKX0sIkRhIik7Xy50RD1fLkwoKHtkYXRhOmEsV2I6YixkQTpjLGd6OmQsZ3JvdXBOYW1lOmUsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmYsbmE6aH0pPT57dmFyIGs9Xy5ESShaZmEsKCk9PmEoKS5oaWRlSXRlbXNFbnRpdHlLZXkpLGw9KCk9PmI/LigpPzI6YSgpLmZvcm1GaWVsZE1ldGFkYXRhPzM6MSxtPSgpPT5lPy4oKXx8YSgpLmtleTtfLlVKKCgpPT57bCgpPT09MiYmYSgpLmRlZmF1bHRTZWxlY3RlZEtleXM/Xy5HcChFcnJvcigieGQiKSk6bCgpPT09MSYmYz8uKCk/Xy5HcChFcnJvcigieWQiKSk6bCgpPT09MyYmKGM/LigpIT09dm9pZCAwJiZfLkdwKEVycm9yKCJ6ZCIpKSxhKCkuZGVmYXVsdFNlbGVjdGVkS2V5cyYmXy5HcChFcnJvcigiQWQiKSkpfSk7dmFyIG49WWZhKCgpPT5hKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFtwLHJdPV8uQUMoKCk9PntpZihsKCk9PT0xKXJldHVybiBhKCkuZGVmYXVsdFNlbGVjdGVkS2V5c30pLHQ9Xy5aSSgoKT0+KHtmb3JtSWQ6YSgpLnNlYXJjaFF1ZXJ5RmllbGRNZXRhZGF0YT8uZm9ybUlkfHwKIiIsZmllbGRJZDphKCkuc2VhcmNoUXVlcnlGaWVsZE1ldGFkYXRhPy5maWVsZElkfHwiIn0pKSx2PV8uTigoKT0+e3ZhciBFPWEoKS5jaGVja2JveGVzfHxbXSxBPWsoKTtpZihBPy52YWx1ZXMmJkEudmFsdWVzLmxlbmd0aD4wKXtsZXQgQz1BLnR5cGUsRz1uZXcgU2V0KEEudmFsdWVzLm1hcChEPT5fLlFMKEQsQykpLmZpbHRlcihEPT5EIT09dm9pZCAwKSk7RT1FLmZpbHRlcihEPT57RD1fLkIoRCxVTCk7aWYoIUQ/LnZhbHVlKXJldHVybiEwO0Q9Xy5RTChELnZhbHVlLEMpO3JldHVybiBEPT09dm9pZCAwfHwhRy5oYXMoRCl9KX12YXIgRj0odCgpPy52YWx1ZXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIEY/RS5maWx0ZXIoQz0+e0M9Xy5CKEMsVUwpO3JldHVybiBDPy50ZXh0Py5jb250ZW50P0MudGV4dC5jb250ZW50LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoRik6ITF9KTpFfSx2b2lkIDAsIlg2WTVNYyIpLHo9YXN5bmMoRSxBLEYpPT57RT1bXTtsKCk9PT0xJiZBLmtleT8oRT0KJGZhKEEua2V5LHAoKXx8W10pLHIoRSkpOmwoKT09PTMmJkEua2V5JiYoRT1uKCk/LnZhbHVlfHxbXSxFLmluY2x1ZGVzKEEua2V5KT8oRT1FLmluZGV4T2YoQS5rZXkpLEUhPT0tMSYmYXdhaXQgbigpPy5yZW1vdmUoRSkpOmF3YWl0IG4oKT8uYWRkKEEua2V5KSxFPW4oKT8udmFsdWV8fFtdKTtkPy4oQSxFLEYpfTtyZXR1cm4gXy5LKCJ5dC1jaGVja2JveC1ncm91cC12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94R3JvdXBWaWV3TW9kZWxIb3N0Iil9LF8uSygiZmllbGRzZXQiLHtjbGFzczpfLlAoInl0Q2hlY2tib3hHcm91cFZpZXdNb2RlbEZpZWxkc2V0Iil9LF8uSygiZGl2Iix7cm9sZToibGlzdCJ9LF8uSyhfLlcse2RhdGE6dn0se2NoZWNrYm94SXRlbVZpZXdNb2RlbDooe2RhdGE6RX0pPT5fLksoYWdhLHtkYXRhOkUsV2I6ITAsc2VsZWN0ZWQ6KCk9Pnt2YXIgQT1sKCk9PT0yP2M/LigpfHxbXTpsKCk9PT0zP24oKT8udmFsdWV8fFtdOnAoKXx8W10sRj1FKCkua2V5OwpyZXR1cm4gRj9BLmluY2x1ZGVzKEYpOiExfSxvblRhcDp6LGdyb3VwTmFtZTptLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmLG5hOmh9KX0pKSkpfSwiRWEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgidkRjazFkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSko9ZnVuY3Rpb24oYSxiKXtpZighYSYmIWIpcmV0dXJuIm1lZGl1bSI7YT1NYXRoLm1heChhfHwwLGJ8fDApO3JldHVybiBhPj0yNTY/ImxhcmdlIjphPj05Nj8ibWVkaXVtIjoic21hbGwifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEdlYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSI7Y2FzZSAzOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSI7Y2FzZSA0OnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRvdWNoUmVzcG9uc2UifX0sSGVhPWZ1bmN0aW9uKGEsYil7aWYoYilyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIjtpZihhKXN3aXRjaChhKXtjYXNlICJsYXJnZSI6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSI7Y2FzZSAibWVkaXVtIjpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZU1lZGl1bSI7ZGVmYXVsdDpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIn19LApJZWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYSxbe29mZnNldDowLG9wYWNpdHk6LjEsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4wNSwgMC4wMCwgMC4wMCwgMS4wMCkifSx7b2Zmc2V0OjEsb3BhY2l0eTowfV0se2R1cmF0aW9uOjQwMH0pLGRvY3VtZW50LnRpbWVsaW5lKTt0aGlzLm89bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYixbe29mZnNldDowLG9wYWNpdHk6LjIsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkifSx7b2Zmc2V0OjEsb3BhY2l0eTowfV0se2R1cmF0aW9uOjQwMH0pLGRvY3VtZW50LnRpbWVsaW5lKX1wbGF5KCl7dGhpcy5qLnBsYXk/LigpO3RoaXMuby5wbGF5Py4oKX1jYW5jZWwoKXt0aGlzLmouY2FuY2VsPy4oKTt0aGlzLm8uY2FuY2VsPy4oKX19O18uVUM9Xy5MKCh7bW9kZWw6YSxUbTpiLFZtOmMsVW06ZCxSYjplfSk9PntmdW5jdGlvbiBmKCl7digpO3IoITEpfWZ1bmN0aW9uIGgoKXt0Py5jYW5jZWwoKTtyKCEwKX12YXIgaz1fLnVFKCJ5dC10b3VjaC1mZWVkYmFjay1zaGFwZSIpLGw9Xy51RSgiZGl2IiksbT1fLnVFKCJkaXYiKSxbbixwXT1fLkFDKCgpPT5jPy4oKXx8ZD8uKCk/ITE6ISFiPy4oKXx8ITEpLHI9cCx0PXZvaWQgMCx2PSgpPT57IXQmJm0udmFsdWUmJmwudmFsdWUmJnR5cGVvZiBBbmltYXRpb249PT0iZnVuY3Rpb24iJiZ0eXBlb2YgS2V5ZnJhbWVFZmZlY3Q9PT0iZnVuY3Rpb24iJiYodD1uZXcgSWVhKG0udmFsdWUsbC52YWx1ZSkpO3Q/LnBsYXkoKX07Xy5uRSgoKT0+e2M/LigpJiZ2KCl9LCJDWTJTIik7Xy5uRSgoKT0+e2I/LigpJiZ0Py5jYW5jZWwoKX0sInZlcWY2YiIpO18ubkUoKCk9PntkPy4oKSYmdD8uY2FuY2VsKCl9LCJUVnJmQ2MiKTtfLll1KCgpPT57dCYmKHQ/LmNhbmNlbCgpLHQ9dm9pZCAwKX0pOwpyZXR1cm4gXy5LKCJ5dC10b3VjaC1mZWVkYmFjay1zaGFwZSIse2VsOmssY2xhc3M6Xy5QKCJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3N0IiwoKT0+R2VhKGEoKS5jb2xvciksKCk9PkhlYShhKCkudGh1bWJuYWlsU2l6ZSwhIWEoKS5pc0V4dGVuZGVkKSx7eXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZDooKT0+ISFhKCkuZm9jdXNlZCYmIWEoKS5kaXNhYmxlZCx5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhcjooKT0+ISFhKCkuY2lyY3VsYXIseXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93bjpuLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRyaWdnZXJFdmVudHM6KCk9PiEhYSgpLm1CLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyZWQ6KCk9PmU/LigpfSksc3R5bGU6Xy5JRSh7bWFyZ2luOigpPT5hKCkubWFyZ2luP2AtJHthKCkubWFyZ2lufXB4YDp2b2lkIDAsIm1hcmdpbi10b3AiOigpPT5hKCkueHA/YC0ke2EoKS54cH1weGA6dm9pZCAwfSksIm9uOm1vdXNlZG93biI6aCwKIm9uOm1vdXNldXAiOmYsIm9uOnBvaW50ZXJsZWF2ZSI6ZnVuY3Rpb24oKXt0Py5jYW5jZWwoKTtyKCExKX0sIm9uOnRvdWNoc3RhcnQiOmgsIm9uOnRvdWNoZW5kIjpmLCJhcmlhLWhpZGRlbiI6ITB9LF8uSyhfLk8se0E6KCk9PiEhYSgpLk5sLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0IixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsYmFja2dyb3VuZDooKT0+e3tsZXQgRT1hKCkuTmw7aWYoRSl7dmFyIHo9W107Zm9yKGxldCBBIG9mIEU/LmxpZ2h0aW5nVGVjaG5pcXVlc3x8W10pc3dpdGNoKEEpe2Nhc2UgMjp6LnB1c2goYGxpbmVhci1ncmFkaWVudCgxODBkZWcsICR7RT8ucGFsZXR0ZT8ua2V5TGlnaHR9LCAke0U/LnBhbGV0dGU/LmJhY2tncm91bmR9KWApfXoucHVzaChhKCkuTmw/LnBhbGV0dGU/LmJhY2tncm91bmQpO3o9ei5qb2luKCIsICIpfWVsc2Ugej12b2lkIDB9cmV0dXJuIHp9fSl9KX0pLApfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2UiLHN0eWxlOl8uSUUoeyJib3JkZXItcmFkaXVzIjooKT0+YSgpLmJvcmRlclJhZGl1cywiYm9yZGVyLWNvbG9yIjooKT0+YSgpLnRzPy5wYWxldHRlPy5iYWNrZ3JvdW5kfSksZWw6bH0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwiLHN0eWxlOl8uSUUoeyJib3JkZXItcmFkaXVzIjooKT0+YSgpLmJvcmRlclJhZGl1cywiYmFja2dyb3VuZC1jb2xvciI6KCk9PmEoKS50cz8ucGFsZXR0ZT8uYmFja2dyb3VuZH0pLGVsOm19KSl9LCJUIik7Xy5VQy5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJPdEtTSmUiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE9hYSxQYWEsUWFhO09hYT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ9T2JqZWN0LmtleXMoYSk7Zm9yKGxldCBlIG9mIGQpY1tlXT1iKGUsYVtlXSk7cmV0dXJuIGN9O1BhYT1mdW5jdGlvbihhLGIpe3JldHVybiB0eXBlb2YgYSE9PSJvYmplY3QifHxhPT09bnVsbD8hMTpPYmplY3Qua2V5cyhiKS5ldmVyeShjPT5jIGluIGEpfTtfLmlBPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmtleXMoYSkubWFwKGI9PltiLGJdKSl9O1FhYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIE9hYShjLChkLGUpPT4oZiwuLi5oKT0+UGFhKGYsYSk/ZShmW2JdLC4uLmgpOmUoZiwuLi5oKSl9O18uakE9ZnVuY3Rpb24oYSl7cmV0dXJuKGIsYyk9PlFhYShhLGIsYyl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgVGFhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYSwicGxheWxpc3RMb29wU3RhdGVFbnRpdHkiLGIpPz92b2lkIDB9LFVhYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEsInRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eSIsYik/P3ZvaWQgMH0sd0E9Xy5pQSh7ZW50aXRpZXM6e319KTtfLnhBPV8uakEod0EpKHdBLmVudGl0aWVzLHtiQTpmdW5jdGlvbihhLGIpe3JldHVybihfLnFBKGEsInNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHkiLGIpPz92b2lkIDApPy5zZnZBdWRpb0l0ZW1QbGF5YmFja1N0YXRlPz92b2lkIDB9LHRLOlRhYSxlQjpVYWF9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5aQz1uZXcgXy5JKCJsaXN0SXRlbVZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgdkk7Xy51ST1mdW5jdGlvbihhLGIpe2lmKF8udEE/LmVuY29kZUludG8pe2xldCB7cmVhZDpkLHdyaXR0ZW46ZX09Xy50QS5lbmNvZGVJbnRvKGEsYik7cmV0dXJuIGQ8YS5sZW5ndGg/YS5sZW5ndGgqNDplfXZhciBjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT09NTUyOTYmJmQrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChkKzEpJjY0NTEyKT09PTU2MzIwPyhlPTY1NTM2KygoZSYxMDIzKTw8MTApKyhhLmNoYXJDb2RlQXQoKytkKSYxMDIzKSxiW2MrK109ZT4+MTh8MjQwLGJbYysrXT1lPj4xMiY2M3wxMjgpOmJbYysrXT1lPj4xMnwyMjQsYltjKytdPWU+PjYmNjN8MTI4KSxiW2MrK109ZSY2M3wxMjgpfXJldHVybiBjfTsKdkk9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmMmJmMuYnVmZmVyPT09Yi5leHBvcnRzLm1lbW9yeS5idWZmZXIpe2xldCBkPWIubWVtb3J5LnJlYWxsb2MoYy5ieXRlT2Zmc2V0LGEpO2lmKGQpcmV0dXJuIG5ldyBVaW50OEFycmF5KGIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyLGQsYSl9YT1iP25ldyBVaW50OEFycmF5KGIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyLGIubWVtb3J5Lm1hbGxvYyhhKSxhKTpuZXcgVWludDhBcnJheShhKTtjJiZhLnNldChjKTtyZXR1cm4gYX07Xy53ST1mdW5jdGlvbihhLGIpe2I9YS5wb3MrYjtpZighKGEuYnVmLmxlbmd0aD49Yikpe2Zvcih2YXIgYz1hLmJ1Zi5sZW5ndGgqMjtjPGI7KWMqPTI7YS5idWY9dkkoYyxhLndhc20sYS5idWYuc3ViYXJyYXkoMCxhLnBvcykpO2Eudmlldz1uZXcgRGF0YVZpZXcoYS5idWYuYnVmZmVyLGEuYnVmLmJ5dGVPZmZzZXQsYS5idWYuYnl0ZUxlbmd0aCl9fTsKXy54ST1mdW5jdGlvbihhLGIpe2lmKGI+MjY4NDM1NDU1KXtfLndJKGEsNCk7bGV0IGM9YiYxMDczNzQxODIzO2ZvcihsZXQgZD0wO2Q8NDtkKyspYS52aWV3LnNldFVpbnQ4KGEucG9zLGMmMTI3fDEyOCksYz4+Pj03LGEucG9zKz0xO2I9TWF0aC5mbG9vcihiLzI2ODQzNTQ1Nil9Zm9yKF8ud0koYSw0KTtiPjEyNzspYS52aWV3LnNldFVpbnQ4KGEucG9zLGImMTI3fDEyOCksYj4+Pj03LGEucG9zKz0xO2Eudmlldy5zZXRVaW50OChhLnBvcyxiKTthLnBvcys9MX07Cl8uekk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgXy55STtpZihfLnRBKWE9Xy50QS5lbmNvZGUoYSk7ZWxzZXt2YXIgZD1uZXcgVWludDhBcnJheShNYXRoLmNlaWwoYS5sZW5ndGgqMS4yKSksZT1fLnVJKGEsZCk7ZC5sZW5ndGg8ZSYmKGQ9bmV3IFVpbnQ4QXJyYXkoZSksZT1fLnVJKGEsZCkpO2QubGVuZ3RoPmUmJihkPWQuc3ViYXJyYXkoMCxlKSk7YT1kfWEhPT12b2lkIDAmJihfLnhJKGMsMTgpLGQ9YS5sZW5ndGgsXy54SShjLGQpLF8ud0koYyxkKSxjLmJ1Zi5zZXQoYSxjLnBvcyksYy5wb3MrPWQpO2E9Xy51QVtiXTtpZih0eXBlb2YgYT09PSJ1bmRlZmluZWQiKXRocm93IGI9bmV3IF8uWGooIkZhaWxlZCB0byByZWNvZ25pemUgZW50aXR5IHR5cGUiLHtuYW1lOiJFbnRpdHlLZXlIZWxwZXJFcnJvciIsZW50aXR5VHlwZTpifSksXy5HcChiKSxiO2EhPT12b2lkIDAmJihfLnhJKGMsMzIpLF8ueEkoYyxhKSk7Xy54SShjLDQwKTtfLnhJKGMsMSk7Yj1uZXcgVWludDhBcnJheShjLmJ1Zi5idWZmZXIsCmMuYnVmLmJ5dGVPZmZzZXQsYy5wb3MpO3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoXy5zYyhiLDApKX07Xy55ST1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMud2FzbT12b2lkIDA7dGhpcy5wb3M9MDt0aGlzLmo9W107dGhpcy5idWY9dkkoNDA5Nik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLmJ1Zi5idWZmZXIsdGhpcy5idWYuYnl0ZU9mZnNldCx0aGlzLmJ1Zi5ieXRlTGVuZ3RoKX19O18uekkoIiIsImRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eSIpO18uekkoIkRPV05MT0FEU19MSVNUX0VOVElUWV9JRF9NQU5VQUxfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwicmVmcmVzaCIpO18uekkoIlNNQVJUX0RPV05MT0FEU19FTkFCTEVEIiwic2V0dGluZ0VudGl0eSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFJPW5ldyBfLkkoIm9mZmxpbmVQbGF5bGlzdEVuZHBvaW50Iik7Xy5CST1uZXcgXy5JKCJvZmZsaW5lVmlkZW9FbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWmRhO18uRUk9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPWI/YS5zd2l0Y2hPZmZDb21tYW5kOmEuc3dpdGNoT25Db21tYW5kO2lmKGQmJmUpWmRhKGEsYyxlKTtlbHNlIF8uYkUoe2JoOmF9KT8ub25jbGljaz8uKGMpfTtaZGE9ZnVuY3Rpb24oYSxiLGMpe2E9Xy5iRSh7Ymg6YSxBbzp7RWk6e29uU3VjY2VzczooKT0+e2MoITEpfSxuejooKT0+e2MoITEpfX19fSk7YT8ub25jbGljayYmKGEub25jbGljayhiKSxjKCEwKSl9O18uJGRhPW5ldyBfLkkoInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZUo9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gXy5CKGEsXy4kZGEpfTtfLmZKPV8uTCgoe2RhdGE6YSxvblRhcDpiLGtLOmMsbUs6ZCxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZSxMaTpmLG5hOmh9KT0+e2Z1bmN0aW9uIGsoRil7aWYoIUYub3Upe0Yub3U9ITA7dmFyIEM9ZUooQSgpKTshQ3x8Qy5pc0Rpc2FibGVkfHxhKCkuaWdub3JlVGFwVW50aWxDb21tYW5kQ29tcGxldGVzJiZ2KCl8fChiPy4oRiksXy5FSShDLEUoKSxGLGEoKS5pZ25vcmVUYXBVbnRpbENvbW1hbmRDb21wbGV0ZXMseiksKGEoKS5mb3JtRmllbGRNZXRhZGF0YSYmIWY/LigpPzM6MSk9PT0zP2woKT8udXBkYXRlVmFsdWUoIUUoKSk6cCghRSgpKSxjPy4oRSgpKSl9fXZhciBsPV8uWkkoKCk9PmEoKS5mb3JtRmllbGRNZXRhZGF0YSksW20sbl09Xy5BQygoKT0+ZUooQSgpKT8uc3dpdGNoZWRPbkJ5RGVmYXVsdHx8ITEpLHA9bixbcix0XT1fLkooITEsdm9pZCAwLCJPdmt1bGUiKSx2PXIsej10LEU9KCk9PihhKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFmPy4oKT8zOjEpPT09Mz9sKCk/LnZhbHVlfHwKITE6bSgpLEE9KCk9Pnt2YXIgRjtpZighKEY9YSgpLnN3aXRjaEJ1dHRvbikpe3ZhciBDPWEoKTtGPWQ/LigpO0M9e3N3aXRjaE9uQ29tbWFuZDpDLnN3aXRjaE9uQ29tbWFuZCxzd2l0Y2hPZmZDb21tYW5kOkMuc3dpdGNoT2ZmQ29tbWFuZCxzd2l0Y2hlZE9uQnlEZWZhdWx0OkMuc3dpdGNoZWRPbkJ5RGVmYXVsdCxpc0Rpc2FibGVkOkMuaXNEaXNhYmxlZCxhMTF5TGFiZWxTd2l0Y2hlZE9uOkMuYTExeUxhYmVsU3dpdGNoZWRPbixhMTF5TGFiZWxTd2l0Y2hlZE9mZjpDLmExMXlMYWJlbFN3aXRjaGVkT2ZmfTtGIT09dm9pZCAwJiYoQy5pc0Rpc2FibGVkPUYpO0Y9e3N3aXRjaEJ1dHRvblZpZXdNb2RlbDpDfX1DPWVKKEYpO2lmKCFDKXJldHVybiBGO3ZhciBHPWEoKS50aXRsZT8uY29udGVudDtyZXR1cm4gRz97c3dpdGNoQnV0dG9uVmlld01vZGVsOnsuLi5DLGExMXlMYWJlbFN3aXRjaGVkT246RyxhMTF5TGFiZWxTd2l0Y2hlZE9mZjpHfX06Rn07cmV0dXJuIF8uSygic3dpdGNoLWxpc3QtaXRlbS12aWV3LW1vZGVsIiwKe2NsYXNzOiJ5dFN3aXRjaExpc3RJdGVtVmlld01vZGVsSG9zdCIsIm9uOmNsaWNrIjprfSxfLksoXy5DRCx7ZGF0YTooKT0+KHt0aXRsZTphKCkudGl0bGUsc3VidGl0bGU6YSgpLmF0dHJpYnV0ZWRTdWJ0aXRsZSxsZWFkaW5nSW1hZ2U6YSgpLmxlYWRpbmdJbWFnZSxsZWFkaW5nQWNjZXNzb3J5OmEoKS5sZWFkaW5nQWNjZXNzb3J5LGlzRGlzYWJsZWQ6YSgpLmlzRGlzYWJsZWR9KSxpc1RvZ2dsZWQ6RSxEZzohMCxuYTpoLHhzOigpPT5fLksoXy5XLHtkYXRhOkF9LHtzd2l0Y2hCdXR0b25WaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Xy5LKF8ua0kse2RhdGE6RixxcjpFLG9uVGFwOmt9KX0pLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzplfSkpfSwiSiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY2VhLGdKLGRlYSxoSixpSixlZWEsZmVhLGdlYSxoZWEsamVhLGtlYSxsZWEsbWVhLGpKLGtKLG1KLG5lYSxvZWEscGVhLHRlYSx1ZWEscUosckosc0osd2VhLHRKLGllYSx1SjtjZWE9ZnVuY3Rpb24oYSxiPTIpe18ueEkoYSwxMCk7YS5qLnB1c2goYS5wb3MpO2Euai5wdXNoKGIpO2EucG9zKz1ifTsKZ0o9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8ueUk7aWYoYSE9PXZvaWQgMCl7Y2VhKGIsTWF0aC5jZWlsKE1hdGgubG9nMihhLmxlbmd0aCo0KzIpLzcpKTtfLndJKGIsYS5sZW5ndGgqMS4yKTt2YXIgYz1fLnVJKGEsYi5idWYuc3ViYXJyYXkoYi5wb3MpKTtiLnBvcytjPmIuYnVmLmxlbmd0aCYmKF8ud0koYixjKSxjPV8udUkoYSxiLmJ1Zi5zdWJhcnJheShiLnBvcykpKTtiLnBvcys9YzthPWIuai5wb3AoKTtjPWIuai5wb3AoKTtsZXQgZD1iLnBvcy1jLWE7Zm9yKDthLS07KXtsZXQgZT1hPzEyODowO2Iudmlldy5zZXRVaW50OChjKyssZCYxMjd8ZSk7ZD4+PTd9fWI9bmV3IFVpbnQ4QXJyYXkoYi5idWYuYnVmZmVyLGIuYnVmLmJ5dGVPZmZzZXQsYi5wb3MpO3JldHVybihuZXcgVGV4dERlY29kZXIoInV0Zi04IikpLmRlY29kZShiKX07CmRlYT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybltdO2I9Xy56SShiLCJtYWluUGxheWxpc3RFbnRpdHkiKTt2YXIgYz1hLm1haW5QbGF5bGlzdEVudGl0eT8uW2JdO2I9W107aWYoIWM/LnZpZGVvcylyZXR1cm4gYjtmb3IobGV0IGQgb2YgYy52aWRlb3Mpe2M9YT8ubWFpblBsYXlsaXN0VmlkZW9FbnRpdHk/LltkXT8udmlkZW87aWYoIWMpY29udGludWU7KHtlbnRpdHlJZDpjfT1fLkdIKGMpKTtjJiZiLnB1c2goYyl9cmV0dXJuIGJ9O2hKPWZ1bmN0aW9uKGEpe3JldHVybiJkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzImluIGF9OwppSj1mdW5jdGlvbihhKXt2YXIgYj1hLm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5LGM9W107aWYoIWIpcmV0dXJuIGM7Zm9yKGxldCBoIG9mIE9iamVjdC5rZXlzKGIpKXthOnt2YXIgZD1hLGU9Xy5HSChoKS5lbnRpdHlJZDtpZihlKXt2YXIgZj1fLnFBKGQsIm11c2ljUGxheWxpc3QiLF8uekkoZSwibXVzaWNQbGF5bGlzdCIpKTtkPV8ucUEoZCwibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkiLF8uekkoZSwibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkiKSk7aWYoZiYmZCl7Zj17bXVzaWNQbGF5bGlzdEVudGl0eTpmLG11c2ljUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5OmR9O2JyZWFrIGF9fWY9dm9pZCAwfWQ9TnVtYmVyKGJbaF0/LmFkZGVkVGltZXN0YW1wTWlsbGlzKTtkPWlzTmFOKGQpPygwLF8uZWwpKCk6ZDtmIT09dm9pZCAwJiZjLnB1c2goe2Rvd25sb2FkZWRNdXNpY1BsYXlsaXN0RW50aXRpZXM6ZixhZGRlZFRpbWVzdGFtcE1pbGxpczpkfSl9cmV0dXJuIGN9OwplZWE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFNldDtmb3IobGV0IGMgb2YgYSlpZigibXVzaWNQbGF5bGlzdEVudGl0eSJpbiBjJiYibXVzaWNQbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHkiaW4gYylmb3IobGV0IGQgb2YgYy5tdXNpY1BsYXlsaXN0RW50aXR5LnRyYWNrcyliLmFkZChkKTtyZXR1cm4gYn07CmZlYT1mdW5jdGlvbihhKXt2YXIgYj1hLm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5LGM9W107aWYoIWIpcmV0dXJuW107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGIpKXthOnt2YXIgZD1hLGU9Xy5HSChtKS5lbnRpdHlJZDtpZihlKXtiPV8ucUEoZCwibXVzaWNUcmFjayIsXy56SShlLCJtdXNpY1RyYWNrIikpO3ZhciBmPV8ucUEoZCwibXVzaWNBcnRpc3QiLF8uekkoZSwibXVzaWNBcnRpc3QiKSl8fHt9O2I6e3ZhciBoPWU7aWYoaCl7ZT1fLnFBKGQsInBsYXliYWNrRGF0YSIsXy56SShoLCJwbGF5YmFja0RhdGEiKSk/P251bGw7dmFyIGs9Xy5xQShkLCJ0cmFuc2ZlciIsXy56SShoLCJ0cmFuc2ZlciIpKT8/bnVsbCxsPV8ucUEoZCwib2ZmbGluZVZpZGVvU3RyZWFtcyIsXy56SShoLCJvZmZsaW5lVmlkZW9TdHJlYW1zIikpPz9udWxsO2Q9Xy5xQShkLCJvZmZsaW5lVmlkZW9Qb2xpY3kiLF8uekkoaCwib2ZmbGluZVZpZGVvUG9saWN5IikpPz9udWxsO2lmKGV8fAprfHxsfHxkKXtkPXtwbGF5YmFja0RhdGFFbnRpdHk6ZSx0cmFuc2ZlckVudGl0eTprLHN0cmVhbUVudGl0eTpsLHBvbGljeUVudGl0eTpkfTticmVhayBifX1kPXZvaWQgMH1pZihkJiZiJiZmKXtiPXttdXNpY1RyYWNrRW50aXR5OmIsbXVzaWNBcnRpc3RFbnRpdHk6ZiwuLi5kfTticmVhayBhfX1iPXZvaWQgMH1mPU51bWJlcihfLnFBKGEsIm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5IixtKT8uYWRkZWRUaW1lc3RhbXBNaWxsaXMpO2Y9aXNOYU4oZik/KDAsXy5lbCkoKTpmO2IhPT12b2lkIDAmJmMucHVzaCh7ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6YixhZGRlZFRpbWVzdGFtcE1pbGxpczpmfSl9cmV0dXJuIGN9OwpnZWE9ZnVuY3Rpb24oYSl7dmFyIGI9ZmVhKGEpLnNvcnQoKGMsZCk9PmQuYWRkZWRUaW1lc3RhbXBNaWxsaXMtYy5hZGRlZFRpbWVzdGFtcE1pbGxpcykubWFwKGM9PiJkb3dubG9hZGVkTXVzaWNFbnRpdGllcyJpbiBjP2MuZG93bmxvYWRlZE11c2ljRW50aXRpZXM6aEooYyk/Yy5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOnt9KTthPWlKKGEpLnNvcnQoKGMsZCk9PmQuYWRkZWRUaW1lc3RhbXBNaWxsaXMtYy5hZGRlZFRpbWVzdGFtcE1pbGxpcykubWFwKGM9PiJkb3dubG9hZGVkTXVzaWNFbnRpdGllcyJpbiBjP2MuZG93bmxvYWRlZE11c2ljRW50aXRpZXM6aEooYyk/Yy5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOnt9KTtyZXR1cm57ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6Yixkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOmF9fTsKaGVhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IFNldCxkPWlKKGEpLm1hcChlPT5lLmRvd25sb2FkZWRNdXNpY1BsYXlsaXN0RW50aXRpZXMpO2Q9ZWVhKGQpO2ZvcihsZXQgZSBvZiBkKSh7ZW50aXR5SWQ6ZH09Xy5HSChlKSksZCYmYy5hZGQoZCk7KHtkb3dubG9hZGVkTXVzaWNFbnRpdGllczphfT1nZWEoYSkpO3JldHVybiBhLmZpbHRlcihlPT57aWYoZS5tdXNpY1RyYWNrRW50aXR5Py52aWRlb0lkKXtlPWUubXVzaWNUcmFja0VudGl0eTt2YXIgZjtpZihmPWI9PT0iUFBPTSI/ITA6IWMuaGFzKGUudmlkZW9JZCkpYjpzd2l0Y2goZT1lLm11c2ljVmlkZW9UeXBlLGIpe2Nhc2UgIlBQU0UiOmY9ZT09PSJNVVNJQ19WSURFT19UWVBFX1BPRENBU1RfRVBJU09ERSI7YnJlYWsgYjtkZWZhdWx0OmY9ZSE9PSJNVVNJQ19WSURFT19UWVBFX1BPRENBU1RfRVBJU09ERSJ9ZT1mfWVsc2UgZT0hMTtyZXR1cm4gZX0pLm1hcChlPT5lLm11c2ljVHJhY2tFbnRpdHk/LnZpZGVvSWQpfTsKamVhPWZ1bmN0aW9uKGEsYil7aWYoIWIpcmV0dXJuW107aWYoT2JqZWN0LnZhbHVlcyhpZWEpLmluY2x1ZGVzKGIpKXJldHVybiBoZWEoYSxiKTtiPV8uekkoYiwibXVzaWNQbGF5bGlzdCIpO2I9YS5tdXNpY1BsYXlsaXN0Py5bYl07YT1bXTtpZighYj8udHJhY2tzKXJldHVybiBhO2ZvcihsZXQgYyBvZiBiLnRyYWNrcykoe2VudGl0eUlkOmJ9PV8uR0goYykpLGImJmEucHVzaChiKTtyZXR1cm4gYX07CmtlYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgU2V0KGEpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9GQUlMRUQiKSYmYi5zaXplPT09MSlyZXR1cm4iVFJBTlNGRVJfU1RBVEVfRkFJTEVEIjtiLmRlbGV0ZSgiVFJBTlNGRVJfU1RBVEVfRkFJTEVEIik7aWYoYi5oYXMoIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKSYmYi5zaXplPT09MSlyZXR1cm4iVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjtiLmRlbGV0ZSgiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9QUkVfVFJBTlNGRVIiKSYmYi5zaXplPT09MXx8Yi5zaXplPT09MClyZXR1cm4iVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjthPWIuaGFzKCJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciKTtiPWIuaGFzKCJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUl9JTl9RVUVVRSIpO3JldHVybiBhfHxiPyJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciOiJUUkFOU0ZFUl9TVEFURV9DT01QTEVURSJ9OwpsZWE9ZnVuY3Rpb24oYSxiKXtiPV8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iV0VCX1JFTUlYIj9qZWEoYSxiKTpkZWEoYSxiKTtpZighYi5sZW5ndGgpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO2I9Yi5tYXAoYz0+e2M9Yz8oYz1fLnFBKGEsInRyYW5zZmVyIixfLnpJKGMsInRyYW5zZmVyIikpKT9jLnRyYW5zZmVyU3RhdGU/PyJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjoiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO3JldHVybiBjfSk7cmV0dXJuIGtlYShiKX07bWVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywiZG93bmxvYWRTdGF0dXNFbnRpdHkiLF8uekkoYiwiZG93bmxvYWRTdGF0dXNFbnRpdHkiKSk/LmRvd25sb2FkU3RhdGU9PT0iRE9XTkxPQURfU1RBVEVfVVNFUl9ERUxFVEVEIj8hMDohMX07ako9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIENTUyE9PSJ1bmRlZmluZWQiJiZDU1Muc3VwcG9ydHM/Ligic2VsZWN0b3IoOmhhcygqKSkiKX07CmtKPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpc2liaWxpdHkhPT0iaGlkZGVuIiYmYS5kaXNwbGF5IT09Im5vbmUifTttSj1mdW5jdGlvbihhKXtpZihqSigpfHxhLnRhZ05hbWUhPT0iREVUQUlMUyI/IWEubWF0Y2hlcyhsSik6YS5xdWVyeVNlbGVjdG9yKCJzdW1tYXJ5IikhPT1udWxsKXJldHVybi0xO2E9YS5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iil8fCIwIjtyZXR1cm4gTnVtYmVyKGEpfTtuZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc29tZShiPT5tSihiKT4wKX07b2VhPWZ1bmN0aW9uKGEpe2lmKGEudGV4dENvbnRlbnR8fGEuYXJpYUxhYmVsKXJldHVybiEwO2lmKGEgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KXtpZighYS5sYWJlbHMpcmV0dXJuITE7Zm9yKGxldCBiIG9mIGEubGFiZWxzKWlmKGIudGV4dENvbnRlbnQpcmV0dXJuITB9cmV0dXJuITF9O3BlYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5zb3J0KChiLGMpPT5tSihjKS1tSihiKSl9OwpfLm5KPWZ1bmN0aW9uKGEpe2E9QXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwobEopKS5maWx0ZXIoYj0+KGtKKGIuc3R5bGUpP2tKKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGIpKTohMSkmJm9lYShiKSk7cmV0dXJuIG5lYShhKT9wZWEoYSk6YX07CnRlYT1mdW5jdGlvbihhLGIsYyl7aWYoYilyZXR1cm5bb0pdO3N3aXRjaChhKXtjYXNlICJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUl9JTl9RVUVVRSI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfQ09NUExFVEUiOnJldHVybltwSl07Y2FzZSAiVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjpjYXNlICJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciOnJldHVybiBjP1twSl06W3FlYSxwSl07Y2FzZSAiVFJBTlNGRVJfU1RBVEVfUEFVU0VEX0JZX1VTRVIiOnJldHVybltyZWEscEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfV0FJVElOR19GT1JfUExBWUVSX1JFU1BPTlNFX1JFRlJFU0giOnJldHVybltzZWEscEpdO2RlZmF1bHQ6cmV0dXJuW29KXX19Owp1ZWE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRlYShhLGIsZCkubWFwKGU9Pnt2YXIgZj1lLnRleHQsaD1lLmljb25UeXBlLGs9ZS5paTtlPWUuS2g7Zj1mP3tjb250ZW50OmZ9OnZvaWQgMDtoPWgmJntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTpofX1dfTt2YXIgbD1fLnFkKGMpO2lmKGwpe2xldCBtPV8uQihsLF8uQkkpLG49Xy5CKGwsXy5BSSk7bSYmaz9tLmFjdGlvbj1rOm4mJmUmJihuLmFjdGlvbj1lKX1yZXR1cm57dGl0bGU6ZixsZWFkaW5nSW1hZ2U6aCxyZW5kZXJlckNvbnRleHQ6bCYme2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDpsfX19fX0pfTtxSj1mdW5jdGlvbihhKXthPV8uc0goYS5yZW5kZXJlckNvbnRleHQpO3JldHVybiBfLkIoYSxfLkJJKT8udmlkZW9JZH07cko9ZnVuY3Rpb24oYSl7YT1fLnNIKGEucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5CKGEsXy5BSSk/LnBsYXlsaXN0SWR9OwpzSj1mdW5jdGlvbihhKXthPV8uQihhLF8uWkMpO3JldHVybiEhYSYmXy50SChhLnJlbmRlcmVyQ29udGV4dCl9O3dlYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5saXN0SXRlbXM/LnNvbWUoYj0+e2lmKHNKKGIpKXJldHVybiEwO2I9Xy5CKGIsdmVhKTtyZXR1cm4hIWImJihfLnRIKGIucmVuZGVyZXJDb250ZXh0KXx8c0ooYi5kZWZhdWx0TGlzdEl0ZW0pfHxzSihiLnRvZ2dsZWRMaXN0SXRlbSkpfSl9O3RKPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGg7YVtiPT09LTE/Yy0xOihiLTErYyklY10/LmZvY3VzKCl9O2llYT17ZEM6IlBQQUQiLE9DOiJQUERQIixMRjoiUFBPTSIscUc6IlBQUkMiLHdHOiJQUFNFIix4RzoiUFBTViJ9O3VKPSJhW2hyZWZdIGFbdGFiaW5kZXhdIGFyZWFbaHJlZl0gaWZyYW1lIFt0YWJpbmRleF0gW2NvbnRlbnRFZGl0YWJsZV0gc3VtbWFyeSBpbnB1dDpub3QoW2Rpc2FibGVkXSkgc2VsZWN0Om5vdChbZGlzYWJsZWRdKSB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSkgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSBvYmplY3Q6bm90KFtkaXNhYmxlZF0pIi5zcGxpdCgiICIpOwpqSigpJiZ1Si5wdXNoKCJkZXRhaWxzOm5vdCg6aGFzKHN1bW1hcnkpKSIpO3ZhciBsSj11Si5qb2luKCIsIik7dmFyIHZlYT1uZXcgXy5JKCJ0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWwiKTt2YXIgeGVhPV8uTChhPT57dmFyIHtkYXRhOmIsY2xhc3NOYW1lOmMsbmE6ZCxJYTplLEJjOmZ9PV8uREMoYSx7bmE6ITEsSWE6ITEsQmM6ITF9KSxoPV8uY0kobj0+e2E6e3ZhciBwPWIoKS5lbnRpdHlLZXkscj1iKCkuZW50aXR5U2VsZWN0b3JUeXBlO2lmKHIpc3dpdGNoKHIpe2Nhc2UgIlRPR0dMRUFCTEVfTElTVF9JVEVNX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1RPR0dMRV9NRU5VX1NFUlZJQ0VfSVRFTV9FTlRJVFkiOmlmKCFwKWJyZWFrO249KG49Xy54QS5lQihuLHApKSYmbi5pc1RvZ2dsZWQhPT12b2lkIDA/e2lzVG9nZ2xlZDpuLmlzVG9nZ2xlZH06dm9pZCAwO2JyZWFrIGE7ZGVmYXVsdDpfLklwKG5ldyBfLlhqKCJFcnJvcjogZW50aXR5U2VsZWN0b3JUeXBlIGRlZmluZWQgYnV0IG5vdCBtYXRjaGVkIGluIHNlbGVjdG9yLiIsbixyKSl9bj12b2lkIDB9cmV0dXJuIG59KSxbayxsXT1fLkFDKCgpPT5oKCk/LmlzVG9nZ2xlZCE9PXZvaWQgMD9oKCk/LmlzVG9nZ2xlZDpiKCkuaW5pdGlhbFN0YXRlPy5pc1RvZ2dsZWQ/PwpiKCkuaW5pdGlhbElzVG9nZ2xlZD8/ITEpLG09KCk9Pnt2YXIgbj1rKCk/YigpLnRvZ2dsZWRMaXN0SXRlbTpiKCkuZGVmYXVsdExpc3RJdGVtO3JldHVybiBfLkIoXy5CKG4sXy5aQyk/LnJlbmRlcmVyQ29udGV4dCxfLllDKT8ubGFiZWx9O3JldHVybiBfLksoInRvZ2dsZWFibGUtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtlbDpfLnJGKF8udUgoKCk9PmIoKS5yZW5kZXJlckNvbnRleHQse29uVGFwOihuLHApPT57cCgpO2goKT8uaXNUb2dnbGVkIT09dm9pZCAwfHxsKCFrKCkpfX0pKSxjbGFzczpfLlAoInRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLGMpfSxfLksoXy5PLHtBOigpPT57aWYoaygpKXt2YXIgbj1iKCkudG9nZ2xlZExpc3RJdGVtO249Xy5CKG4sXy5aQyl9ZWxzZSBuPWIoKS5kZWZhdWx0TGlzdEl0ZW0sbj1fLkIobixfLlpDKTtyZXR1cm4gbn0sdGhlbjpuPT5fLksoXy5DRCx7ZGF0YTpuLGlzVG9nZ2xlZDprLG5hOmQsSWE6ZSxCYzpmLGFyaWFMYWJlbDptLAphcmlhUHJlc3NlZDprfSl9KSl9LCJLIik7dmFyIHllYT1fLmFBKCJET1dOTE9BRCIse30sIkRvd25sb2FkIiksemVhPV8uYUEoIkRFTEVURV9GUk9NX0RPV05MT0FEUyIse30sIkRlbGV0ZSBmcm9tIGRvd25sb2FkcyIpLEFlYT1fLmFBKCJSRVRSWSIse30sIlJldHJ5IiksQmVhPV8uYUEoIlBBVVNFX0RPV05MT0FESU5HIix7fSwiUGF1c2UgZG93bmxvYWRpbmciKSxDZWE9Xy5hQSgiUkVTVU1FX0RPV05MT0FEIix7fSwiUmVzdW1lIGRvd25sb2FkIiksb0o9e3RleHQ6eWVhLGljb25UeXBlOiJPRkZMSU5FX0RPV05MT0FEIixpaToiQUNUSU9OX0FERCIsS2g6IkFDVElPTl9BREQifSxwSj17dGV4dDp6ZWEsaWNvblR5cGU6IkRFTEVURSIsaWk6IkFDVElPTl9SRU1PVkUiLEtoOiJBQ1RJT05fUkVNT1ZFIn0sc2VhPXt0ZXh0OkFlYSxpY29uVHlwZToiT0ZGTElORV9ET1dOTE9BRCIsaWk6IkFDVElPTl9SRVRSWSIsS2g6IkFDVElPTl9SRU1PVkUifSxxZWE9e3RleHQ6QmVhLGljb25UeXBlOiJPRkZMSU5FX1BBVVNFIixpaToiQUNUSU9OX1BBVVNFIiwKS2g6IkFDVElPTl9QQVVTRSJ9LHJlYT17dGV4dDpDZWEsaWNvblR5cGU6Ik9GRkxJTkVfRE9XTkxPQUQiLGlpOiJBQ1RJT05fUkVTVU1FIixLaDoiQUNUSU9OX1JFU1VNRSJ9O18uTChhPT57dmFyIGI9Xy5jSShoPT57dmFyIGs9cUooYS5kYXRhKCkpLGw9ckooYS5kYXRhKCkpO2s/KGg9aC5lbnRpdGllcyxrPyhsPV8ucUEoaCwidHJhbnNmZXIiLF8uekkoaywidHJhbnNmZXIiKSkpP2s9bC50cmFuc2ZlclN0YXRlPz8iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6KGw9Xy5xQShoLCJvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHkiLF8uekkoaywib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5IikpLGs9Xy5xQShoLCJtYWluVmlkZW9FbnRpdHkiLF8uekkoaywibWFpblZpZGVvRW50aXR5IikpLGs9bHx8az8iVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiOiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIik6az0iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpOms9bD9sZWEoaC5lbnRpdGllcyxsKToiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI7cmV0dXJuIGt9KSxjPV8uREkobWVhLCgpPT5xSihhLmRhdGEoKSkpLApkPV8uY0koaD0+e3ZhciBrPXFKKGEuZGF0YSgpKSxsPXJKKGEuZGF0YSgpKTshayYmbD8oaz1oLmVudGl0aWVzLGw/KGw9Z0oobCksaz1fLnFBKGssIm9mZmxpbmVhYmlsaXR5RW50aXR5IixfLnpJKGwsIm9mZmxpbmVhYmlsaXR5RW50aXR5IikpPy5hZGRUb09mZmxpbmVCdXR0b25TdGF0ZT8/IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9FTkFCTEVEIik6az0iQUREX1RPX09GRkxJTkVfQlVUVE9OX1NUQVRFX0RJU0FCTEVEIik6KGw9aC5lbnRpdGllcyxrPyhrPWdKKGspLGs9Xy5xQShsLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIsXy56SShrLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIpKT8uYWRkVG9PZmZsaW5lQnV0dG9uU3RhdGU/PyJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCIpOms9IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9ESVNBQkxFRCIpO3JldHVybiBrfSksZT0oKT0+dWVhKGIoKSxjKCksXy5zSChhLmRhdGEoKS5yZW5kZXJlckNvbnRleHQpLAohIXJKKGEuZGF0YSgpKSksZj0oKT0+ZCgpIT09IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9FTkFCTEVEIjtyZXR1cm4gXy5LKCJ5dC1kb3dubG9hZC1saXN0LWl0ZW0tdmlldy1tb2RlbCIse2NsYXNzOiJ5dERvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWxIb3N0IixoaWRkZW46Zn0sXy5LKF8uTyx7QTooKT0+IWYoKSx0aGVuOigpPT5fLksoXy5PLHtBOmUsdGhlbjpoPT5fLksoXy5nRyx7cGE6aH0saz0+Xy5LKF8uQ0Qse2RhdGE6ayxuYTphLm5hLElhOmEuSWEsQmM6YS5CYyxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6YS5kaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd9KSl9KX0pKX0sIkwiKS5pZG9tQ29tcGF0PSEwO18uQkQ9Xy5MKCh7ZGF0YTphLG5hOmIsY2U6YyxCYzpkLGlzT3ZlcmxheTplLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmfSk9Pnt2YXIgaD0oKT0+d2VhKGEoKSkmJmQ/LigpO3JldHVybiBfLksoInl0LWxpc3Qtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRMaXN0Vmlld01vZGVsSG9zdCIse3l0TGlzdFZpZXdNb2RlbEhvc3RLYWlvc1NwYXROYXY6Xy5nciYmZG9jdW1lbnQuYm9keS5oYXNBdHRyaWJ1dGUoInNwYXRpYWwtbmF2aWdhdGlvbi1lbmFibGVkIikmJmRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJzcGF0aWFsLW5hdmlnYXRpb24tZW5hYmxlZCIpPT09InRydWUifSkscm9sZTooKT0+aCgpPyJtZW51IjoibGlzdCIsc3R5bGU6Xy5JRSh7Im1heC1oZWlnaHQiOigpPT57dmFyIGs9YSgpPy52aXNpYmxlRWxlbWVudENvdW50O2lmKGspcmV0dXJuYCR7KGsrLjUpKjQwfXB4YH19KSwib246a2V5ZG93biI6ZnVuY3Rpb24oayl7aWYoZD8uKCkmJl8ueCgid2ViX2VuYWJsZV9hcnJvd19rZXlfbmF2aWdhdGlvbl9pbl9kcm9wZG93biIpKXt2YXIgbD0KXy5uSihrLmN1cnJlbnRUYXJnZXQpO2lmKGwubGVuZ3RoIT09MCl7dmFyIG09QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChsLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO3N3aXRjaChrLmtleSl7Y2FzZSAiQXJyb3dEb3duIjprLnByZXZlbnREZWZhdWx0KCk7bFsobSsxKSVsLmxlbmd0aF0/LmZvY3VzKCk7YnJlYWs7Y2FzZSAiQXJyb3dVcCI6ay5wcmV2ZW50RGVmYXVsdCgpO3RKKGwsbSk7YnJlYWs7Y2FzZSAiVGFiIjprLnByZXZlbnREZWZhdWx0KCksay5zaGlmdEtleT90SihsLG0pOmxbKG0rMSklbC5sZW5ndGhdPy5mb2N1cygpfX19fX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmxpc3RJdGVtc30se2xpc3RJdGVtVmlld01vZGVsOih7ZGF0YTprfSk9Pl8uSyhfLkNELHtkYXRhOmssSWE6aCxuYTpiLGNlOmMsQmM6ZCxpc092ZXJsYXk6ZSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Zn0pLHRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6a30pPT5fLksoeGVhLAp7ZGF0YTprLElhOmgsbmE6YixCYzpkfSksZG93bmxvYWRMaXN0SXRlbVZpZXdNb2RlbDooKT0+Xy5LKF8uSUIsbnVsbCksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KCk9Pl8uSyhfLklCLG51bGwpfSkpfSwiTSIpO18uQkQuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiSHhqbGJiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uS0o9bmV3IF8uSSgiYnV0dG9uVmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uc0Q9Xy5MKGE9PntmdW5jdGlvbiBiKG4pe3ZhciBwPWMoKTt2YXIgcj1kKCk7ciE9PXZvaWQgMD9wPXI6KHI9Xy5CKHAuc2Vjb25kYXJ5QnV0dG9uLF8uS0opLHA9Xy5CKHAucHJpbWFyeUJ1dHRvbixfLktKKT8uaXNGdWxsV2lkdGghPT0hMXx8ciYmcj8uaXNGdWxsV2lkdGghPT0hMT8xOjMpO3JldHVybiBuPT09cH12YXIge2RhdGE6Yyx0eXBlOmQsZGlzYWJsZVBhZGRpbmc6ZSxOaTpmLFhxOmh9PV8uREMoYSx7dHlwZTp2b2lkIDAsZGlzYWJsZVBhZGRpbmc6ITEsTmk6ITF9KSxrPSgpPT5jKCkuc3RhY2tpbmc9PT0iUEFORUxfRk9PVEVSX1NUQUNLSU5HX1ZFUlRJQ0FMIixsPSgpPT4oe2Rpc2FibGVkOmYoKSxzdGF0ZTpmKCk/ImRpc2FibGVkIjoiYWN0aXZlIn0pLG09KCk9PmMoKS5sZWFkaW5nTGFiZWx8fGMoKS50cmFpbGluZ0xhYmVsO3JldHVybiBfLksoInl0LXBhbmVsLWZvb3Rlci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdCIsCnt5dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXI6KCk9PmMoKS5zaG91bGRIaWRlRGl2aWRlcix5dFBhbmVsRm9vdGVyVmlld01vZGVsRGlzYWJsZVBhZGRpbmc6ZX0pfSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UGFuZWxGb290ZXJWaWV3TW9kZWxUZXh0Um93Iix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmc6KCk9Pnt2YXIgbj1jKCk7cmV0dXJuISghbi5sZWFkaW5nTGFiZWwmJiFuLnRyYWlsaW5nTGFiZWx8fCFuLnByaW1hcnlCdXR0b24mJiFuLnNlY29uZGFyeUJ1dHRvbil9fSl9LF8uSyhfLlYse3RleHQ6KCk9PmMoKS5sZWFkaW5nTGFiZWwsY2xhc3NOYW1lOl8uUCh7eXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5nOm19KX0pLF8uSyhfLlYse3RleHQ6KCk9PmMoKS50cmFpbGluZ0xhYmVsfSkpfSksXy5LKF8uTyx7QTprLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFjayJ9LApfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbFByaW1hcnlCdXR0b24iLHt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2tUb3BCdXR0b246KCk9PmMoKS5zZWNvbmRhcnlCdXR0b259KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnByaW1hcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOm59KT0+Xy5LKF8uSEQse2RhdGE6bixidXR0b25PdmVycmlkZXM6bCxvbkNsaWNrOmh9KX0pKSxfLksoXy5XLHtkYXRhOigpPT5jKCkuc2Vjb25kYXJ5QnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOl8uSER9KSl9KSxfLksoXy5PLHtBOigpPT4haygpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93Iix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd1RyYWlsaW5nOigpPT5iKDMpfSl9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93TGVmdEJ1dHRvbiIsCnt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RnVsbFdpZHRoOigpPT5iKDEpLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dIaWRkZW46KCk9PiFjKCkuc2Vjb25kYXJ5QnV0dG9ufHxiKDApLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dTaHJpbms6KCk9PmIoMil9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnNlY29uZGFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDpfLkhEfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsUHJpbWFyeUJ1dHRvbiIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dGdWxsV2lkdGg6KCk9PmIoMCl8fGIoMSkseXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0V4cGFuZDooKT0+YigyKX0pfSxfLksoXy5XLHtkYXRhOigpPT5jKCkucHJpbWFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6bn0pPT5fLksoXy5IRCx7ZGF0YTpuLGJ1dHRvbk92ZXJyaWRlczpsLApvbkNsaWNrOmh9KX0pKSl9KSl9LCJGYSIpO18uc0QuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibFBXamtiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJqQmlzYWYiKTtyZXR1cm4gXy5UQ307Xy5mTD1fLmNEKCgpPT5fLmVMKCksImJhZGdlU2hhcGUiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFkZ2VTaGFwZSIsImpCaXNhZiIsXy5lTCl9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHlmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ0dyZWVuQ2lyY2xlIjtjYXNlIDE6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nWWVsbG93Q2lyY2xlIjtjYXNlIDI6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nUmVkU3F1YXJlIjtjYXNlIDM6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxHcmVlblNxdWFyZSI7Y2FzZSA0OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsQmx1ZVNxdWFyZSI7Y2FzZSA1OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmx1ZVNxdWFyZSI7Y2FzZSA2OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsWWVsbG93U3F1YXJlIjsKY2FzZSA3OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlWWVsbG93U3F1YXJlIjtjYXNlIDg6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxPcmFuZ2VTcXVhcmUiO2Nhc2UgOTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZU9yYW5nZVNxdWFyZSI7Y2FzZSAxMDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFJlZFNxdWFyZSI7Y2FzZSAxMTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVJlZFNxdWFyZSI7Y2FzZSAxMjpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsYWNrU3F1YXJlIjtjYXNlIDEzOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmxhY2tTcXVhcmUifX0semZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCQURHRV9DT01NRVJDRSI6Y2FzZSAiQkFER0VfTUVNQkVSU19PTkxZIjpyZXR1cm4gMTA7CmNhc2UgIkJBREdFX0RJU0NPVU5UIjpyZXR1cm4gODtjYXNlICJCQURHRV9TVEFUVVNfTkVXIjpyZXR1cm4gMTM7Y2FzZSAiQkFER0VfUFJFTUlVTSI6cmV0dXJuIDc7Y2FzZSAiQkFER0VfUFJPTU9URUQiOnJldHVybiA0O2Nhc2UgIkJBREdFX1BST01PVEVEX0lOVkVSVEVEIjpyZXR1cm4gNTtjYXNlICJCQURHRV9NRURJQSI6cmV0dXJuIDE7Y2FzZSAiQkFER0VfVElNRUxZIjpyZXR1cm4gNjtjYXNlICJCQURHRV9MSVZFX05PVyI6cmV0dXJuIDE5O2Nhc2UgIkJBREdFX1NUQVRVU19DT01QTEVURSI6cmV0dXJuIDE0O2Nhc2UgIkJBREdFX1NUQVRVU19XQVJOSU5HIjpyZXR1cm4gMTU7Y2FzZSAiQkFER0VfU1RBVFVTX0VSUk9SIjpyZXR1cm4gMTY7Y2FzZSAiQkFER0VfU1RBVFVTX0RFRkFVTFQiOnJldHVybiAxNztkZWZhdWx0OnJldHVybiAwfX0sQWZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCQURHRV9OWl9SQVRJTkdfR1JFRU5fQ0lSQ0xFIjpyZXR1cm4gMDtjYXNlICJCQURHRV9OWl9SQVRJTkdfWUVMTE9XX0NJUkNMRSI6cmV0dXJuIDE7CmNhc2UgIkJBREdFX05aX1JBVElOR19SRURfU1FVQVJFIjpyZXR1cm4gMjtjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfR1JFRU5fU1FVQVJFIjpyZXR1cm4gMztjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfQkxVRV9TUVVBUkUiOnJldHVybiA0O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9CTFVFX1NRVUFSRSI6cmV0dXJuIDU7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX1lFTExPV19TUVVBUkUiOnJldHVybiA2O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9ZRUxMT1dfU1FVQVJFIjpyZXR1cm4gNztjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfT1JBTkdFX1NRVUFSRSI6cmV0dXJuIDg7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX0xBUkdFX09SQU5HRV9TUVVBUkUiOnJldHVybiA5O2Nhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9SRURfU1FVQVJFIjpyZXR1cm4gMTA7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX0xBUkdFX1JFRF9TUVVBUkUiOnJldHVybiAxMTsKY2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0JMQUNLX1NRVUFSRSI6cmV0dXJuIDEyO2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9CTEFDS19TUVVBUkUiOnJldHVybiAxM319O3ZhciBCZmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiYnItbnotYmFkZ2Utc2hhcGUiLHtjbGFzczpfLlAoKCk9PnlmYShhKCkudWkpKSxyb2xlOigpPT5hKCkuYWNjZXNzaWJpbGl0eVRleHQ/ImltZyI6dm9pZCAwLCJhcmlhLWxhYmVsIjooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0fSwoKT0+YSgpPy50ZXh0KSwidWEiKTtfLkVEPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYz1hLmRhdGEoKTtpZihjKXt2YXIgZD0hIWEuekw/LigpLGU9YS5vZz8uKCksZj1hLkRqPy4oKSxoPWEuZXA/LigpLGs9YS5xeD8uKCk7YTpzd2l0Y2goYy5iYWRnZVN0eWxlKXtjYXNlICJCQURHRV9PVkVSTEFZIjp2YXIgbD0hMDticmVhayBhO2RlZmF1bHQ6bD0hMX1jPXt0eXBlOmQ/MTg6emZhKGMuYmFkZ2VTdHlsZSksdWk6QWZhKGMuYmFkZ2VTdHlsZSksdGV4dDpjLmJhZGdlVGV4dCxpY29uOmMuaWNvbk5hbWUsaXNPdmVybGF5Omwsb2c6ZXx8Xy54KCJ3ZWJfbW9kZXJuX2JhZGdlX3ZpZXdfbW9kZWwiKSxhY2Nlc3NpYmlsaXR5VGV4dDpjLmFjY2Vzc2liaWxpdHlMYWJlbHx8Xy5CKGMucmVuZGVyZXJDb250ZXh0LF8uWUMpPy5sYWJlbCxEajpmLGVwOmgsb0E6ayxuczpfLkIoYy50b29sdGlwT25Ib3ZlcixfLmNLKT8udG9vbHRpcFRleHR9fWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9O3JldHVybiBfLksoInl0LWJhZGdlLXZpZXctbW9kZWwiLAp7Y2xhc3M6Xy5QKCJ5dEJhZGdlVmlld01vZGVsSG9zdCIsYS5jbGFzcyl9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PiEhYigpPy51aX0sKCk9Pl8uSyhCZmEse2RhdGE6KCk9PmIoKX0pKSxfLksoXy5DRSx7d2hlbjooKT0+ISFiKCkmJiFiKCkudWl9LCgpPT5fLksoXy5mTCx7ZGF0YTooKT0+YigpfSkpKSl9LCJ2YSIpO18uRUQuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiUHpVZFpiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udko9ZnVuY3Rpb24oYSxiLGMsZCl7ZHx8KGQ9e2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMSxjb21wb3NlZDohMH0pO2MhPT1udWxsJiZjIT09dm9pZCAwJiYoZC5kZXRhaWw9Yyk7dmFyIGU9bmV3IEN1c3RvbUV2ZW50KGIsZCk7Xy5FQSgoKT0+dm9pZCBhLmRpc3BhdGNoRXZlbnQoZSkpO3JldHVybiBlfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5kTD1mdW5jdGlvbigpe307Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uckU9Xy5MKGE9Pnt2YXIge0ZJOmIsZkY6YyxwQzpkLGFzc2V0VHlwZTplLFFnOmYsa2g6aCx2azprLHprOmwsUHc6bSxxazpuLFVvOnAsYnV0dG9uU3R5bGU6cixFejp0LFByOnYsY29udGVudEFsaWdubWVudDp6LGlzRnVsbHNjcmVlbjpFLGtwOkEsd2lkdGg6RixtYXhIZWlnaHQ6Qyx1cTpHLG50OkQsc3E6SCxsdDpSfT1fLkRDKGEse1B3OjAsVW86MCxidXR0b25TdHlsZTowLGNvbnRlbnRBbGlnbm1lbnQ6MCxtYXhIZWlnaHQ6MCxpc0Z1bGxzY3JlZW46ITEsa3A6ITEsa2g6ITAsdXE6ITEsc3E6ITF9KTthPXQ/KCk9PnQoe2J1dHRvbk92ZXJyaWRlczooKT0+KHtzdHlsZTpyPy4oKT09PTE/ImNhbGwtdG8tYWN0aW9uIjoibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIixzaXplOiJNIn0pLGNsYXNzTmFtZTpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkOigpPT5wPy4oKT09PQowfHxwPy4oKT09PTJ9KX0pOnZvaWQgMDt2YXIgTT12PygpPT52KHtidXR0b25PdmVycmlkZXM6e3N0eWxlOiJtb25vIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIixzaXplOiJNIn0sY2xhc3NOYW1lOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0QnV0dG9uOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNJbmxpbmVTdHJldGNoZWQ6KCk9PnA/LigpPT09MHx8cD8uKCk9PT0yfSl9KTp2b2lkIDAsUz0oKT0+KCEhZiYmaCgpfHwhIWt8fCEhbCkmJm0oKT09PTA7cmV0dXJuIF8uSygiZGlhbG9nLWxheW91dCIse2VsOl8uckYoYixfLmRMKSxjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEhvc3Q6ITAseXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbjpFLHl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmU6KCk9PiFFKCkmJiFBKCkseXRTcGVjRGlhbG9nTGF5b3V0RXh0ZW5kZWRNYXhIZWlnaHQ6KCk9PkMoKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldDooKT0+CmU/LigpPT09MX0pLHN0eWxlOigpPT5GPy4oKSE9PXZvaWQgMD9gd2lkdGg6ICR7RigpfXB4O2A6IiJ9LGM/Xy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEljb246ITAseXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWE6KCk9PiEhZCYmbSgpPT09MSx5dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ246KCk9PnooKT09PTF9KX0sXy5LKGMsbnVsbCkpOm51bGwsXy5LKF8uTyx7QTpHLHRoZW46KCk9PkQ/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyQ29udGFpbmVyIn0sXy5LKEQsbnVsbCkpOm51bGwsVzooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOlMsdGhlbjooKT0+Xy5LKFlQLHtjb250ZW50QWxpZ25tZW50Onosdms6ayx6azpsLFFnOmYsa2g6aCxUbDohIWR9KX0pLGQ/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0QXNzZXQifSxfLksoZCx7Y2xhc3NOYW1lOiJ5dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW0ifSkpOgpudWxsKX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRDb250YWluZXI6KCk9PiFBKCkseXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ246KCk9Pno/LigpPT09MSx5dFNwZWNEaWFsb2dMYXlvdXRUb3BQYWRkaW5nOigpPT4hUygpJiYhQSgpJiYhRygpJiYhKGYmJmgoKSYmIUQmJm0/LigpPT09MSl8fCEhZCYmbT8uKCk9PT0wfSl9LF8uSyhfLk8se0E6KCk9PmYmJmgoKSYmIUQmJm0/LigpPT09MSx0aGVuOigpPT5fLksoWVAse2NvbnRlbnRBbGlnbm1lbnQ6eix2azprLHprOmwsUWc6ZixraDpoLFRsOiExfSl9KSxuP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnQifSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudElubmVyOigpPT4hQSgpfSl9LF8uSyhuLG51bGwpKSk6bnVsbCxfLksoXy5PLHtBOkgsdGhlbjooKT0+Uj9fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRGb290ZXJDb250YWluZXIifSwKXy5LKFIsbnVsbCkpOm51bGx9KSxhfHxNP18uSyhSaWEse2F3Ol8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dEZvb3RlcjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zU3RhY2tlZDooKT0+cD8uKCk9PT0yLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNJbmxpbmVFbmQ6KCk9PnA/LigpPT09MX0pLFl0OmEsY3U6TX0pOm51bGwpKX0sIlBiIik7CnZhciBZUD1fLkwoYT0+e3ZhciB7Y29udGVudEFsaWdubWVudDpiLHZrOmMsUWc6ZCxraDplLHprOmYsVGw6aCxFdjprfT1fLkRDKGEse1RsOiExLEV2OiEwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dIZWFkZXJDb250YWluZXI6ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXQ6aCx5dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbjooKT0+Yj8uKCk9PT0xJiZrKCl9KX0sXy5LKF8uTyx7QTooKT0+aygpLHRoZW46KCk9PmM/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0TGVhZGluZ0FjdGlvbkhlYWRlciJ9LF8uSyhjLG51bGwpKTpudWxsfSksZD9fLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKCJoMiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRUaXRsZSJ9LF8uSyhkLG51bGwpKX0pOm51bGwsZj9fLksoImRpdiIsbnVsbCwKXy5LKGYsbnVsbCkpOm51bGwpfSwiUWIiKSxSaWE9Xy5MKCh7YXc6YSxZdDpiLGN1OmN9KT0+Xy5LKCJkaXYiLHtjbGFzczphfSxjP18uSyhjLG51bGwpOm51bGwsYj9fLksoYixudWxsKTpudWxsKSwiUmIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgidmlVV1YiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5iTT1uZXcgXy5WcygiTE9UVElFX0xPQURFUl9UT0tFTiIpO18uY009Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLGFuaW1hdGlvbk5hbWU6YyxhbmltYXRpb25SZWY6ZCxHSTplfSk9Pnt2YXIgZj1fLnZFKCJsb3R0aWUtY29tcG9uZW50IiksaDtfLll1KCgpPT52b2lkIGg/LmRlc3Ryb3koKSk7dmFyIGs7Xy5uRSgoKT0+e3ZhciBsPV8uQnYoYyk7aWYobCE9PWspe2s9bDt2YXIgbT17YW5pbWF0aW9uTmFtZTpsLGFuaW1hdGlvblJlZjpfLkJ2KGQpLC4uLl8uQnYoYSl9O3RyeXtfLnkoKS5yZXNvbHZlKF8uYk0pKCkudGhlbihuPT57aD8uZGVzdHJveSgpO3ZhciBwPWU/LigpPy52YWx1ZT8/Zi52YWx1ZSxyPW0uYW5pbWF0aW9uUmVmLHQ9bS5saXN0ZW5lcnM7bj1uLmxvYWRBbmltYXRpb24oe2NvbnRhaW5lcjpwLHJlbmRlcmVyU2V0dGluZ3M6bS5yZW5kZXJlclNldHRpbmdzLC4uLm0uYW5pbWF0aW9uQ29uZmlnfSk7ciYmKHIubG90dGllRWw9bik7aWYodClmb3IobGV0IFt2LHpdb2YgT2JqZWN0LmVudHJpZXModCkpcj12LCh0PXopJiZuLmFkZEV2ZW50TGlzdGVuZXIociwKdCk7aD1ufSl9Y2F0Y2gobil7bD0iTG90dGllQ29tcG9uZW50IGVycm9yLiIsbi5tZXNzYWdlJiYobCs9YCBPcmlnaW5hbCBkZXNjcmlwdGlvbjogJHtuLm1lc3NhZ2V9YCksXy5jdyhuLGwpLF8uSXAobiksbS5saXN0ZW5lcnM/LmVycm9yJiZtLmxpc3RlbmVycy5lcnJvcihuKX19fSwieE9DazUiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+IWU/LigpLHRoZW46KCk9Pl8uSygibG90dGllLWNvbXBvbmVudCIse2NsYXNzOl8uUCgieXRMb3R0aWVDb21wb25lbnRIb3N0IixiKSxlbDpmfSl9KX0sIkthIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBiZ2E7YmdhPWZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoaCxrKXtpZihiLnZhbHVlPT09ayYmIWIuY2FuY2VsbGVkKXtmb3IoO2EuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2EuY2xhc3NMaXN0LmFkZCgieXRTcGVjSWNvblNoYXBlSG9zdCIpO2goYSxkKX19dmFyIGY9Xy55KCkucmVzb2x2ZShfLlhMKS5weShjKTt0eXBlb2YgZj09PSJmdW5jdGlvbiI/KGIudmFsdWU9bnVsbCxlKGYsbnVsbCkpOihiLnZhbHVlPWYsZi50aGVuKGg9PntlKGgsZil9KSl9O18uWEw9bmV3IF8uVnMoIklDT05fTUFOQUdFUl9UT0tFTiIpO18uWUw9Xy5MKGE9Pnt2YXIgYj17dmFsdWU6bnVsbCxjYW5jZWxsZWQ6ITF9O18uWXUoKCk9PntiLmNhbmNlbGxlZD0hMH0pO3ZhciBjPV8uTihhLmRhdGEse2VxdWFsczooZCxlKT0+ZC5pY29uTmFtZT09PWUuaWNvbk5hbWUmJmQuaWNvblN0eWxlPT09ZS5pY29uU3R5bGUmJmQuaWNvblNpemU9PT1lLmljb25TaXplJiZkLmx4PT09ZS5seCYmZC5reD09PWUua3h9LCJjazI0amIiKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0LWljb24tc2hhcGUiLGVsOl8uckYoZD0+e18ubkUoKCk9Pnt2YXIgZT1hLm9wdGlvbnM/LigpLGY9YygpO2JnYShkLGIsZixlKX0sInY4NzhKZSIpfSl9KX0sIkhhIik7Xy5ZTC5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRVA9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMTg6Y2FzZSAxOTpjYXNlIDIwOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fSxHaWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMzpyZXR1cm4ieXRCYWRnZVNoYXBlQWQiO2Nhc2UgMTpyZXR1cm4ieXRCYWRnZVNoYXBlTWVkaWEiO2Nhc2UgMjpyZXR1cm4ieXRCYWRnZVNoYXBlTWVkaWFPdmVybGF5IjtjYXNlIDQ6cmV0dXJuInl0QmFkZ2VTaGFwZVByb21vdGVkIjtjYXNlIDU6cmV0dXJuInl0QmFkZ2VTaGFwZVByb21vdGVkSW52ZXJ0ZWQiO2Nhc2UgNjpyZXR1cm4ieXRCYWRnZVNoYXBlVGltZWx5IjtjYXNlIDc6cmV0dXJuInl0QmFkZ2VTaGFwZVByZW1pdW0iO2Nhc2UgODpyZXR1cm4ieXRCYWRnZVNoYXBlU2FsZSI7Y2FzZSA5OnJldHVybiJ5dEJhZGdlU2hhcGVNZW1iZXJzaGlwIjtjYXNlIDEwOnJldHVybiJ5dEJhZGdlU2hhcGVDb21tZXJjZSI7Y2FzZSAxMjpyZXR1cm4ieXRCYWRnZVNoYXBlTGl2ZSI7Y2FzZSAxMzpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzTmV3IjsKY2FzZSAxNDpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzQ29tcGxldGUiO2Nhc2UgMTU6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmciO2Nhc2UgMTY6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yIjtjYXNlIDE3OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNEZWZhdWx0IjtjYXNlIDE4OnJldHVybiBfLngoImVuYWJsZV9sb2NrdXBfcmVkZXNpZ24iKT8ieXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdFJlZGVzaWduIjoieXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdCI7Y2FzZSAxOTpyZXR1cm4ieXRCYWRnZVNoYXBlVGh1bWJuYWlsTGl2ZSI7Y2FzZSAyMDpyZXR1cm4ieXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbCI7ZGVmYXVsdDpyZXR1cm4ieXRCYWRnZVNoYXBlRGVmYXVsdCJ9fTt2YXIgSGlhPW5ldyBTZXQoWyJPVVRMSU5FX0JBRyJdKTsKXy5UQz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPSgpPT57dmFyIGQ9YSgpLmljb247aWYoZClhOntkPV8uS0QoZCk/Lmljb25OYW1lPz9kO2xldCBoPSJ5b3V0dWJlX2ZpbGwiO0hpYS5oYXMoZC50b1VwcGVyQ2FzZSgpKSYmKGg9InlvdXR1YmVfb3V0bGluZSIpO2xldCBrPWg9PT0ieW91dHViZV9maWxsIj8ieW91dHViZV9vdXRsaW5lIjoieW91dHViZV9maWxsIixsPV8ueSgpLnJlc29sdmUoXy5YTCk7dmFyIGU9WzEyLDI0XTtmb3IoZiBvZiBlKXtlPXtpY29uTmFtZTpkLGljb25TdHlsZTpoLGljb25TaXplOmZ9O2xldCBtPXtpY29uTmFtZTpkLGljb25TdHlsZTprLGljb25TaXplOmZ9O2lmKGwuaihlKSl7dmFyIGY9ZTticmVhayBhfWlmKGwuaihtKSl7Zj1tO2JyZWFrIGF9fWY9dm9pZCAwfWVsc2UgZj12b2lkIDA7cmV0dXJuIGZ9LFtjXT1fLmJLKCgpPT5hKCkubnMpO3JldHVybiBfLksoImJhZGdlLXNoYXBlIix7ZWw6Xy5yRihkPT57YyhkKX0pLGNsYXNzOl8uUCgieXRCYWRnZVNoYXBlSG9zdCIsCigpPT5HaWEoYSgpLnR5cGUpLHt5dEJhZGdlU2hhcGVPdmVybGF5OigpPT5hKCkuaXNPdmVybGF5LHl0QmFkZ2VTaGFwZUFkc0luY2x1ZGVEb3Q6KCk9PmEoKS5Cbyx5dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZTooKT0+RVAoYSgpLnR5cGUpLHl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlUmVkZXNpZ246KCk9Pl8ueCgiZW5hYmxlX2xvY2t1cF9yZWRlc2lnbiIpJiZFUChhKCkudHlwZSkseXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2U6KCk9PnthOnN3aXRjaChhKCkudHlwZSl7Y2FzZSAxMzpjYXNlIDE0OmNhc2UgMTU6Y2FzZSAxNjpjYXNlIDE3OnZhciBkPSEwO2JyZWFrIGE7ZGVmYXVsdDpkPSExfXJldHVybiBkfSx5dEJhZGdlU2hhcGVOb1RleHQ6KCk9PiFhKCkudGV4dCx5dEJhZGdlU2hhcGVJc0VtcHR5OigpPT4hYSgpLnRleHQmJiFhKCkuaWNvbiYmIWEoKS5hbmltYXRpb24seXRCYWRnZVNoYXBlTW9kZXJuOigpPT5hKCkub2d8fF8ueCgid2ViX21vZGVybl9iYWRnZV9zaGFwZSIpLAp5dEJhZGdlU2hhcGVUeXBvZ3JhcGh5OigpPT57YTp7dmFyIGQ9YSgpO2lmKGQub0Epc3dpdGNoKGQudHlwZSl7Y2FzZSAwOmNhc2UgMTpjYXNlIDEwOmQ9ITA7YnJlYWsgYTtkZWZhdWx0OmQ9ITF9ZWxzZSBkPSExfXJldHVybiFkfSx5dEJhZGdlU2hhcGVNZWRpdW1Gb250QWRCYWRnZTooKT0+YSgpLkd5LHl0QmFkZ2VTaGFwZUxhcmdlRm9udEFkQmFkZ2U6KCk9PmEoKS5qeX0pLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjooKT0+YSgpLmN1c3RvbUNvbG9ycz8uYmFja2dyb3VuZENvbG9yfSkscm9sZTooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0PyJpbWciOnZvaWQgMCwiYXJpYS1sYWJlbCI6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dH0sXy5LKF8uTyx7QTooKT0+YSgpLmFuaW1hdGlvbix0aGVuOmQ9Pl8uSyhfLmNNLHtjbGFzc05hbWU6Inl0QmFkZ2VTaGFwZUljb24iLGRhdGE6ZCxhbmltYXRpb25OYW1lOigpPT5kKCkuYW5pbWF0aW9uQ29uZmlnLm5hbWV8fCIifSl9KSwKXy5LKF8uTyx7QTooKT0+YigpJiYhYSgpPy5hbmltYXRpb24sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRCYWRnZVNoYXBlSWNvbiJ9LF8uSyhfLllMLHtkYXRhOigpPT5iKCl9KSl9KSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRCYWRnZVNoYXBlVGV4dCIse3l0QmFkZ2VTaGFwZVRleHRDbGlwVGV4dE92ZXJmbG93OigpPT5hKCkuZXAseXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3c6KCk9PihhKCkuRGp8fDApPjF9KX0sKCk9PmEoKT8udGV4dCkpfSwieWIiKTtfLlRDLmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImpCaXNhZiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgQko7Xy53Sj1mdW5jdGlvbihhLGIsYyxkPTApeyhkPV8uaXEoZCkpJiZfLmZ4KGEuY2xpZW50LGQsYixjKX07Xy54Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZ2V0U2NyZWVuTGF5ZXImJmIuZ2V0U2NyZWVuTGF5ZXIoKTtiLnZpc3VhbEVsZW1lbnQ/Xy53SihhLGIudmlzdWFsRWxlbWVudCx2b2lkIDAsYyk6KF8uRHgoKSxiPV8uVmkoXy5CeCgpLmopLmJpbmQoXy5CeCgpKShiKSxhLkNmKGIsdm9pZCAwLGMpKX07Xy55Sj1mdW5jdGlvbihhLGIsYyl7Xy5WaShfLmZ4KSh2b2lkIDAsYSxiLGMsdm9pZCAwKX07Xy56Sj1mdW5jdGlvbihhLGI9MCl7KGI9Xy5pcShiKSkmJmEmJl8ueUooYixfLlV3KGEpKX07Xy5BSj1mdW5jdGlvbihhLGIsYyxkKXtfLmdFLnB1c2goe2NvbW1hbmQ6YSxzb3VyY2VEYXRhOmIsY29tbWFuZENvbnRleHQ6ZH0pO2MmJmEuY2xpY2tUcmFja2luZ1BhcmFtcyYmXy56SihhLmNsaWNrVHJhY2tpbmdQYXJhbXMpfTsKQko9ZnVuY3Rpb24oYSl7aWYoIWE/LnJ1bnMpcmV0dXJuITA7Zm9yKGxldCBiIG9mIGEucnVucylpZihiLmJyYWNrZXR8fGIuZXJyb3JVbmRlcmxpbmV8fGIuZGVlbXBoYXNpemV8fF8uQihiLF8uWGNhKXx8Xy5CKGIsXy5ZY2EpKXJldHVybiExO3JldHVybiEwfTtfLkNKPWZ1bmN0aW9uKGEpe3JldHVybiBhP2Euc2ltcGxlVGV4dD9hLnNpbXBsZVRleHQ6YS5ydW5zP2EucnVucy5tYXAoYj0+Yi50ZXh0KS5qb2luKCIiKToiIjoiIn07Xy5ESj1mdW5jdGlvbihhKXtpZihhKXJldHVybiBhLmxhYmVsP2EubGFiZWw6Xy5ESihhLmFjY2Vzc2liaWxpdHlEYXRhKX07Xy5EZWE9bmV3IF8uSSgieXBjT2ZmZXJzRW5kcG9pbnQiKTtfLkVlYT1uZXcgXy5JKCJ5cGNHZXRPZmZlcnNFbmRwb2ludCIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aGVtZS1tZXRhIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpO18uRmVhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKTtfLkVKPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udGFpbmVyLWlkIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXllci1jb250cm9sLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItZW5kc2NyZWVuLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItc2hvcnRzLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY2luZW1hdGljcy1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnVsbC1zY3JlZW4tY29udGVudC1pZCIpO18uRko9Xy5LeSgiaW5pdCIpO3ZhciBHSjsKR0o9Xy5MKCh7cnVuOmEsbWE6Yn0pPT57dmFyIGM9KCk9PmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQ7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEoKS5ib2xkfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksYm9sZDp2b2lkIDB9KSx2b2lkIDAsIlNsWmw2Iik7cmV0dXJuIF8uSygic3Ryb25nIix7Y2xhc3M6ImZvcm1hdHRlZC1zdHJpbmctYm9sZCJ9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuZGVlbXBoYXNpemV9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxkZWVtcGhhc2l6ZTp2b2lkIDB9KSx2b2lkIDAsInlJeHdkZCIpO3JldHVybiBfLksoInNwYW4iLHtjbGFzczoiZm9ybWF0dGVkLXN0cmluZy1kZWVtcGhhc2l6ZSJ9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuaXRhbGljc30sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLGl0YWxpY3M6dm9pZCAwfSksdm9pZCAwLAoiUU5YSEhiIik7cmV0dXJuIF8uSygiZW0iLG51bGwsXy5LKEdKLHtydW46ZCxtYTpifSkpfSksXy5LKF8uQ0Use3doZW46KCk9PmEoKS50ZXh0Q29sb3J9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSx0ZXh0Q29sb3I6dm9pZCAwfSksdm9pZCAwLCJ4SmVHM2IiKTtyZXR1cm4gXy5LKCJzcGFuIix7c3R5bGU6KCk9PmBjb2xvcjogJHtfLkpFKGEoKS50ZXh0Q29sb3IpfWB9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuc3RyaWtldGhyb3VnaH0sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLHN0cmlrZXRocm91Z2g6dm9pZCAwfSksdm9pZCAwLCJYQ1I2aGQiKTtyZXR1cm4gXy5LKCJzIixudWxsLF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT4hYSgpLm5hdmlnYXRpb25FbmRwb2ludHx8YigpfSwoKT0+Xy5LKF8uSUIsbnVsbCwoKT0+YSgpLnRleHQpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy5uSCx7Y29tbWFuZDpjLAp0YWJJbmRleDowfSxfLksoXy5JQixudWxsLCgpPT5hKCkudGV4dCkpKSl9LCJOIik7Cl8uSUo9Xy5MKCh7ZGF0YTphLC4uLmJ9KT0+e3ZhciBjPSgpPT5iLm1hPy4oKSxkPSgpPT5iLnViPy4oKSxlPSgpPT5iLklkPy4oKSxmPSgpPT5iLnVzZXJJbnB1dD8uKCksaD0oKT0+Yi5YYT8uKCksaz0oKT0+Yi5yZz8uKCk/PyEwO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4hKGE/LigpJiZPYmplY3Qua2V5cyhhKCkpLmxlbmd0aCl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBsO2lmKGw9QkooYSgpKSlsPWEoKSxsPSEhKGw/LmNvbnRlbnQhPT12b2lkIDA/bDpfLkFGKGwpKS5jb250ZW50O3JldHVybiBsfX0sKCk9Pl8uSyhfLlYse3RleHQ6YSxhcmlhTGFiZWw6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhKSxYYTpoLG1hOmMsdWI6ZCxyZzprLElkOmUsdXNlcklucHV0OmYsWXU6ITB9KSksXy5LKF8uQ0Use3doZW46KCk9PkJKKGEoKSl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBsOwppZigobD1hPy4oKSYmT2JqZWN0LmtleXMoYSgpKS5sZW5ndGgpJiYhKGw9YSgpLmFjY2Vzc2liaWxpdHkpKWE6e2w9YSgpO2lmKGwucnVucylmb3IobGV0IG0gb2YgbC5ydW5zKWlmKG0ubmF2aWdhdGlvbkVuZHBvaW50KXtsPSExO2JyZWFrIGF9bD0hMH1yZXR1cm4gbCYmYSgpLnJ1bnMmJmEoKS5ydW5zLmxlbmd0aD4xfX0sKCk9Pl8uSygic3BhbiIseyJhcmlhLWxhYmVsIjooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eT8uYWNjZXNzaWJpbGl0eURhdGEpLGNsYXNzOiJmb3JtYXR0ZWQtc3RyaW5nLXRleHQiLHJvbGU6InRleHQifSxfLksoSEose3NpbXBsZVRleHQ6KCk9PmEoKS5zaW1wbGVUZXh0LHJ1bnM6KCk9PmEoKS5ydW5zLG1hOmN9KSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSyhISix7c2ltcGxlVGV4dDooKT0+YSgpLnNpbXBsZVRleHQscnVuczooKT0+YSgpLnJ1bnMsbWE6Y30pKSl9LCJPIik7Xy5JSi5pZG9tQ29tcGF0PSEwOwp2YXIgSEo9Xy5MKCh7c2ltcGxlVGV4dDphLHJ1bnM6YixtYTpjfSk9Pl8uSyhfLk8se0E6KCk9PmEmJmEoKSx0aGVuOmQ9PmQsVzooKT0+Xy5LKF8uTyx7QTooKT0+YiYmYigpLHRoZW46ZD0+Xy5LKF8uZ0cse3BhOmQsdGI6IklOREVYIn0sZT0+Xy5LKEdKLHtydW46ZSxtYTooKT0+ISFjPy4oKX0pKX0pfSksIlAiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5MSj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlpRS3gxIik7cmV0dXJuIF8uVkN9O18uTUo9Xy5jRCgoKT0+Xy5MSigpLCJidXR0b25PckFuY2hvciIpO18uWXQoXy5KRCxhPT57YS5KKCJidXR0b25PckFuY2hvciIsIlpRS3gxIixfLkxKKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWUs7WUs9YT0+Yj0+KCk9PmI/LigpIT09dm9pZCAwP1N0cmluZyhiKCkpK2E6dm9pZCAwO18uWks9WUsoInB4Iik7Xy54ZmE9WUsoIiUiKTtfLiRLPVlLKCJzIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYUw9ZnVuY3Rpb24oLi4uYSl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpaWYoYylpZih0eXBlb2YgYz09PSJzdHJpbmciKWIucHVzaChjKTtlbHNlIGZvcihsZXQgW2QsZV1vZiBPYmplY3QuZW50cmllcyhjKSlhPWQsZSYmYi5wdXNoKGEpO3JldHVybiBiLmpvaW4oIiAiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYkw9bmV3IF8uVnMoIlBBTkVMX0NPTlRST0xMRVJfVE9LRU4iKTtfLmNMPW5ldyBfLlZzKCJTSEVFVF9DT05UUk9MTEVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZ0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJyOUtNamIiKTtyZXR1cm4gXy4kQ307Xy5oTD1fLmNEKCgpPT5fLmdMKCksInVwc2VsbFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ1cHNlbGxWaWV3TW9kZWwiLCJyOUtNamIiLF8uZ0wpfSk7Xy5pTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlZjR1M4Iik7cmV0dXJuIF8uRUN9O18uakw9Xy5jRCgoKT0+Xy5pTCgpLCJtaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsIiwiVmNHUzgiLF8uaUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkw9bmV3IF8uSSgiYnV0dG9uUmVuZGVyZXIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XTD1mdW5jdGlvbihhKXtyZXR1cm57cnVuczpbe3RleHQ6YX1dfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWkw9Xy5MKGE9Pnsoe3dyYXBwZXI6YX09Xy5EQyhhLHt3cmFwcGVyOiExfSkpO3JldHVybiBfLksoXy5PLHtBOmEsdGhlbjooKT0+Xy5LKCJ5dC1zcGlubmVyLXNoYXBlIix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlV3JhcHBlciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlU3Bpbm5lciJ9KSksVzooKT0+Xy5LKCJ5dC1zcGlubmVyLXNoYXBlIix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlU3Bpbm5lciJ9KX0pfSwiSWEiKTtfLlpMLmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uJEw9e0VvOiExLGxxOiExLHZwOiIiLHVwOiIiLHdyOiExLENxOiExfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5hTT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PTB8fGE9PT0xfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGVNLGNnYSxkZ2EsZk0sZ00saU0sak0sZWdhLGdnYSxpZ2Esa2dhLG1nYSxvZ2EscE0scGdhLHFnYSxuTTtfLmRNPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBpbiBhKXJldHVybiBifTtlTT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYS5sZW5ndGg9PT0wP2I9PmI6YS5sZW5ndGg9PT0xP2FbMF06YS5yZWR1Y2UoKGIsYyk9PiguLi5kKT0+YihjKC4uLmQpKSl9O2NnYT1mdW5jdGlvbigpe3ZhciBhPVtdO3JldHVybiBiPT4oYyxkKT0+e2M9YihjLGQpO3ZhciBlPSgpPT57dGhyb3cgRXJyb3IoIlFiIik7fSxmPXtnZXRTdGF0ZTpjLmdldFN0YXRlLGRpc3BhdGNoOihoLC4uLmspPT5lKGgsLi4uayl9O2Q9YS5tYXAoaD0+aChmKSk7ZT1lTSguLi5kKShjLmRpc3BhdGNoKTtyZXR1cm57Li4uYyxkaXNwYXRjaDplfX19OwpkZ2E9ZnVuY3Rpb24oYSl7T2JqZWN0LmtleXMoYSkuZm9yRWFjaChiPT57dmFyIGM9YVtiXTtpZih0eXBlb2YgYyh2b2lkIDAse3R5cGU6Xy5tQX0pPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlJiYCIrYik7aWYodHlwZW9mIGModm9pZCAwLHt0eXBlOmBAQHJlZHV4L1BST0JFX1VOS05PV05fQUNUSU9OJHtfLmxBKCl9YH0pPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlNiYCIrYisiYCIrXy5tQSk7fSl9OwpmTT1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3Qua2V5cyhhKSxjPXt9O2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKXtsZXQgaD1iW2ZdO3R5cGVvZiBhW2hdPT09ImZ1bmN0aW9uIiYmKGNbaF09YVtoXSl9dmFyIGQ9T2JqZWN0LmtleXMoYyk7dHJ5e2RnYShjKX1jYXRjaChmKXt2YXIgZT1mfXJldHVybiBmdW5jdGlvbihmPXt9LGgpe2lmKGUpdGhyb3cgZTt2YXIgaz0hMSxsPXt9O2ZvcihsZXQgbT0wO208ZC5sZW5ndGg7bSsrKXtsZXQgbj1kW21dLHA9ZltuXSxyPSgwLGNbbl0pKHAsaCk7aWYodHlwZW9mIHI9PT0idW5kZWZpbmVkIil0aHJvdyBmPWgmJmgudHlwZSxFcnJvcigiVGJgIisoZj9gIiR7U3RyaW5nKGYpfSJgOiIodW5rbm93biB0eXBlKSIpKyJgIituKTtsW25dPXI7az1rfHxyIT09cH1yZXR1cm4oaz1rfHxkLmxlbmd0aCE9PU9iamVjdC5rZXlzKGYpLmxlbmd0aCk/bDpmfX07CmdNPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKCl7aWYobil0aHJvdyBFcnJvcigiVWIiKTtyZXR1cm4ga31mdW5jdGlvbiBlKHIpe2lmKHR5cGVvZiByIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiVmJgIit0eXBlb2Ygcik7aWYobil0aHJvdyBFcnJvcigiV2IiKTt2YXIgdD0hMDttPT09bCYmKG09bC5zbGljZSgpKTttLnB1c2gocik7cmV0dXJuIGZ1bmN0aW9uKCl7aWYodCl7aWYobil0aHJvdyBFcnJvcigiWGIiKTt0PSExO209PT1sJiYobT1sLnNsaWNlKCkpO3ZhciB2PW0uaW5kZXhPZihyKTttLnNwbGljZSh2LDEpO2w9bnVsbH19fWZ1bmN0aW9uIGYocil7aWYodHlwZW9mIHIhPT0ib2JqZWN0Inx8cj09PW51bGwpdmFyIHQ9ITE7ZWxzZXtmb3IodD1yO09iamVjdC5nZXRQcm90b3R5cGVPZih0KSE9PW51bGw7KXQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO3Q9T2JqZWN0LmdldFByb3RvdHlwZU9mKHIpPT09dH1pZighdCl0aHJvdyBFcnJvcigiWWJgIit0eXBlb2Ygcik7CmlmKHR5cGVvZiByLnR5cGU9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiWmIiKTtpZihuKXRocm93IEVycm9yKCIkYiIpO3RyeXtuPSEwLGs9aChrLHIpfWZpbmFsbHl7bj0hMX10PWw9bTtmb3IobGV0IHY9MDt2PHQubGVuZ3RoO3YrKykoMCx0W3ZdKSgpO3JldHVybiByfWlmKHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmdHlwZW9mIGM9PT0iZnVuY3Rpb24ifHx0eXBlb2YgYz09PSJmdW5jdGlvbiImJnR5cGVvZiBhcmd1bWVudHNbM109PT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJhYyIpO3R5cGVvZiBiPT09ImZ1bmN0aW9uIiYmdHlwZW9mIGM9PT0idW5kZWZpbmVkIiYmKGM9YixiPXZvaWQgMCk7aWYodHlwZW9mIGMhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIGMhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJiY2AiK3R5cGVvZiBjKTtyZXR1cm4gYyhnTSkoYSxiKX1pZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoImNjYCIrdHlwZW9mIGEpO3ZhciBoPWEsaz0KYixsPVtdLG09bCxuPSExO2Yoe3R5cGU6Xy5tQX0pO3ZhciBwPXtkaXNwYXRjaDpmLHN1YnNjcmliZTplLGdldFN0YXRlOmQscmVwbGFjZVJlZHVjZXI6ZnVuY3Rpb24ocil7aWYodHlwZW9mIHIhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJkY2AiK3R5cGVvZiByKTtoPXI7Zih7dHlwZTpfLlJhYX0pO3JldHVybiBwfSxbXy5uQV06ZnVuY3Rpb24oKXtyZXR1cm57c3Vic2NyaWJlKHIpe2Z1bmN0aW9uIHQoKXtyLm5leHQmJnIubmV4dChkKCkpfWlmKHR5cGVvZiByIT09Im9iamVjdCJ8fHI9PT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoImVjYCIrdHlwZW9mIHIpO3QoKTtyZXR1cm57dW5zdWJzY3JpYmU6ZSh0KX19LFtfLm5BXSgpe3JldHVybiB0aGlzfX19fTtyZXR1cm4gcH07Cl8uaE09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXsuLi5hfTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYikpe2xldCBmPWFbZV0saD1iW2VdO2lmKGg9PT12b2lkIDApZGVsZXRlIGRbZV07ZWxzZSBpZihmPT09dm9pZCAwKWRbZV09aDtlbHNlIGlmKEFycmF5LmlzQXJyYXkoaCkmJkFycmF5LmlzQXJyYXkoZikpZFtlXT1jP1suLi5mLC4uLmhdOmg7ZWxzZSBpZighQXJyYXkuaXNBcnJheShoKSYmXy5BYShoKSYmIUFycmF5LmlzQXJyYXkoZikmJl8uQWEoZikpZFtlXT1fLmhNKGYsaCxjKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGYpZFtlXT1oO2Vsc2UgcmV0dXJuIGI9bmV3IF8uWGooIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6ZSxIajpmLHVwZGF0ZVZhbHVlOmh9KSxfLkdwKGIpLGF9cmV0dXJuIGR9OwppTT1mdW5jdGlvbihhLGIsYyxkKXtpZihkPT09dm9pZCAwKXtsZXQge1tjXTplLC4uLmZ9PWFbYl18fHt9O3JldHVybnsuLi5hLFtiXTpmfX1yZXR1cm57Li4uYSxbYl06ey4uLmFbYl0sW2NdOmR9fX07ak09ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hW2JdfHx7fSxoPWZbY107aWYoIWgmJiFfLngoIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiKSlyZXR1cm4gYTtkPV8uaE0oaHx8e30sZCxlPT09IlJFUEVBVEVEX0ZJRUxEU19NRVJHRV9PUFRJT05fQVBQRU5EIik7cmV0dXJuey4uLmEsW2JdOnsuLi5mLFtjXTpkfX19OwplZ2E9ZnVuY3Rpb24oYT17fSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJFTlRJVFlfTE9BREVEIjpyZXR1cm4gYi5wYXlsb2FkLnJlZHVjZSgoYyxkKT0+e3ZhciBlPWQub3B0aW9ucz8ucGVyc2lzdGVuY2VPcHRpb247aWYoZSYmZSE9PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX1VOS05PV04iJiZlIT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fSU5NRU1PUllfQU5EX1BFUlNJU1QiKXJldHVybiBjO2lmKCFkLmVudGl0eUtleSlyZXR1cm4gXy5HcChFcnJvcigiZ2MiKSksYztpZihkLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFkLnBheWxvYWQpcmV0dXJuIGQ9bmV3IF8uWGooIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmQuZW50aXR5S2V5fSksXy5HcChkKSxjO3ZhciBmPV8uZE0oZC5wYXlsb2FkKTtyZXR1cm4gaU0oYyxmLGQuZW50aXR5S2V5LGQucGF5bG9hZFtmXSl9aWYoZC50eXBlPT09CiJFTlRJVFlfTVVUQVRJT05fVFlQRV9ERUxFVEUiKXthOntkPWQuZW50aXR5S2V5O3RyeXtsZXQgaD1fLkdIKGQpLmVudGl0eVR5cGU7Zj1pTShjLGgsZCk7YnJlYWsgYX1jYXRjaChoKXtpZihoIGluc3RhbmNlb2YgRXJyb3Ipe2Q9bmV3IF8uWGooIkZhaWxlZCB0byBkZXNlcmlhbGl6ZSBlbnRpdHkga2V5Iix7ZW50aXR5S2V5OmQsb3JpZ2luYWxNZXNzYWdlOmgubWVzc2FnZX0pO18uR3AoZCk7Zj1jO2JyZWFrIGF9dGhyb3cgaDt9Zj12b2lkIDB9cmV0dXJuIGZ9aWYoZC50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1VQREFURSIpe2lmKCFkLnBheWxvYWQpcmV0dXJuIGQ9bmV3IF8uWGooIlVQREFURSBlbnRpdHkgbXV0YXRpb24gaXMgbWlzc2luZyBhIHBheWxvYWQiLHtlbnRpdHlLZXk6ZC5lbnRpdHlLZXl9KSxfLkdwKGQpLGM7Zj1fLmRNKGQucGF5bG9hZCk7cmV0dXJuIGpNKGMsZixkLmVudGl0eUtleSxkLnBheWxvYWRbZl0sZC5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIGN9LAphKTtjYXNlICJSRVBMQUNFX0VOVElUWSI6cmV0dXJuIGlNKGEsYi5wYXlsb2FkLmVudGl0eVR5cGUsYi5wYXlsb2FkLmtleSxiLnBheWxvYWQueGwpO2Nhc2UgIlJFUExBQ0VfRU5USVRJRVMiOnJldHVybiBPYmplY3Qua2V5cyhiLnBheWxvYWQpLnJlZHVjZSgoYyxkKT0+e3ZhciBlPWIucGF5bG9hZFtkXTtyZXR1cm4gT2JqZWN0LmtleXMoZSkucmVkdWNlKChmLGgpPT5pTShmLGQsaCxlW2hdKSxjKX0sYSk7Y2FzZSAiVVBEQVRFX0VOVElUWSI6cmV0dXJuIGpNKGEsYi5wYXlsb2FkLmVudGl0eVR5cGUsYi5wYXlsb2FkLmtleSxiLnBheWxvYWQueGwsYi5wYXlsb2FkLkl5KTtkZWZhdWx0OnJldHVybiBhfX07Cl8ubE09ZnVuY3Rpb24oKXtpZihfLmtNKXJldHVybiBfLmtNO2lmKHdpbmRvdy5sb3R0aWUpcmV0dXJuIF8ua009UHJvbWlzZS5yZXNvbHZlKHdpbmRvdy5sb3R0aWUpO3ZhciBhPV8uaHcoXy53KCJMT1RUSUVfVVJMIikpO3JldHVybiBhP18ua009bmV3IFByb21pc2UoKGIsYyk9Pnt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtkLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Yihsb3R0aWUpfSk7ZC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZT0+e3ZhciBmPSJMb3R0aWUgbGlicmFyeSBmYWlsZWQgdG8gbG9hZC4iO2U/ZS5tZXNzYWdlJiYoZis9YCBPcmlnaW5hbCBkZXNjcmlwdGlvbjogJHtlLm1lc3NhZ2V9YCxfLmN3KGUsZikpOmU9RXJyb3IoZik7Xy5JcChlKTtjKGUpfSk7ZC5zZXRBdHRyaWJ1dGUoImFzeW5jIiwiIik7Xy5vYihkLGEpO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZCl9KTpQcm9taXNlLnJlamVjdChFcnJvcigiQmQiKSl9OwpnZ2E9ZnVuY3Rpb24oYT1mZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0JPVFRPTV9TSEVFVF9PUEVOX1NUQVRFIjpyZXR1cm57Li4uYSxqajpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTtpZ2E9ZnVuY3Rpb24oYT1oZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0NJTkVNQVRJQ19TRVRUSU5HX1NUQVRFIjpyZXR1cm57Li4uYSxpc0FsbG93ZWQ6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07CmtnYT1mdW5jdGlvbihhPWpnYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfRVJST1JfTUVTU0FHRV9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLGVycm9yTWVzc2FnZTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9USVRMRV9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLHRpdGxlOmIucGF5bG9hZH07Y2FzZSAiU0VUX1BSSVZBQ1lfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSxwcml2YWN5OmIucGF5bG9hZH07Y2FzZSAiU0VUX0lTX0RJU0FCTEVEX0NSRUFURV9QTEFZTElTVF9TVEFURSI6cmV0dXJuey4uLmEsaXNEaXNhYmxlZDpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTttZ2E9ZnVuY3Rpb24oYT1sZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0RSQVdFUl9MQVlPVVRfT1BFTl9TVEFURSI6cmV0dXJuey4uLmEsamo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07Cm9nYT1mdW5jdGlvbihhPW5nYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfRlVMTFNDUkVFTl9TVEFURSI6cmV0dXJuey4uLmEsaXNGdWxsc2NyZWVuOmIucGF5bG9hZH07Y2FzZSAiU0VUX05BVklHQVRJT05fQlVUVE9OIjp2YXIgYz17Li4uYS5uYXZpZ2F0aW9uQnV0dG9uc307Y1tiLnBheWxvYWQudGFyZ2V0SWRdPWIucGF5bG9hZC5idXR0b247cmV0dXJuey4uLmEsbmF2aWdhdGlvbkJ1dHRvbnM6Y307Y2FzZSAiU0VUX1RPUF9QQU5FTF9JRF9TVEFURSI6cmV0dXJuey4uLmEscXM6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0VDT05EQVJZX0hFQURFUiI6cmV0dXJuIGM9ey4uLmEuc2Vjb25kYXJ5SGVhZGVyfSxjW2IucGF5bG9hZC5wYW5lbElkXT1iLnBheWxvYWQuc2Vjb25kYXJ5SGVhZGVyLHsuLi5hLHNlY29uZGFyeUhlYWRlcjpjfTtkZWZhdWx0OnJldHVybiBhfX07Xy5vTT1mdW5jdGlvbigpe21NfHwobU09bmV3IG5NKTtyZXR1cm4gbU19OwpwTT1mdW5jdGlvbihhLGIpe2I9Yj8uQXN8fF8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO3N3aXRjaChhKXtjYXNlICJMSUtFIjphPV8ub00oKS5nZXRTdGF0ZSgpO2E9KGE9Xy5xQShhLmVudGl0aWVzLCJsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5IiwiRWh4c2FXdGxYMkoxZEhSdmJsOWhibWx0WVhScGIyNWZaVzUwYVhSNUlMY0VLQUUlM0QiKSkmJmEuYW5pbWF0aW9uTGlnaHRVcmwmJmEuYW5pbWF0aW9uRGFya1VybD97RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiPyJjdXN0b21fYW5pbWF0ZWRfbGlrZV9pY29uX2RhcmsiOiJjdXN0b21fYW5pbWF0ZWRfbGlrZV9pY29uIixwYXRoOmI/YS5hbmltYXRpb25EYXJrVXJsOmEuYW5pbWF0aW9uTGlnaHRVcmwsbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImN1c3RvbS1hbmltYXRlZC1saWtlLWljb24ifX19LHRvdGFsRnJhbWVzOjEyMCx6aDohMH06dm9pZCAwOwppZihhKXJldHVybiBhO2I9YGFuaW1hdGVkX2xpa2VfaWNvbl8ke2I/ImRhcmsiOiJsaWdodCJ9X3Y1YDtyZXR1cm57RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9hbmltYXRlZF9saWtlX2ljb24vJHtifS5qc29uYCxsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e3ZpZXdCb3hPbmx5OiEwLGNsYXNzTmFtZToiYW5pbWF0ZWQtbGlrZS1pY29uIn19fSx0b3RhbEZyYW1lczoxMjAsemg6ITB9O2Nhc2UgIk5PVElGSUNBVElPTl9CRUxMIjpyZXR1cm57RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiPyJub3RpZmljYXRpb25fYmVsbF9kYXJrIjoibm90aWZpY2F0aW9uX2JlbGxfbGlnaHQiLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9zdWJzY3JpYmVfYWN0aW9uL3N1YnNjcmliZV9hY3Rpb25fYmVsbF9pY29uXyR7Yj8iZGFyayI6ImxpZ2h0In1fdjQuanNvbmAsCmxvb3A6ITEsYXV0b3BsYXk6ITEscmVuZGVyZXJTZXR0aW5nczp7Y2xhc3NOYW1lOiJhbmltYXRlZC1zdWJzY3JpYmUtaWNvbiJ9fX0sdG90YWxGcmFtZXM6MTIwLHpoOiExfX19O3BnYT1mdW5jdGlvbihhLGIpe18uamYucGIoYXN5bmMoKT0+e3RyeXthd2FpdCBfLmxNKCk7bGV0IGM9YXdhaXQgKGF3YWl0IGZldGNoKGEpKS5qc29uKCk7cU0uc2V0KGEsYyk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YihjKX0pfWNhdGNoKGMpe18uSXAoYyl9fSl9O3FnYT1mdW5jdGlvbihhKXt2YXIgYj17YW5pbWF0aW9uQ29uZmlnOnt9LGxpc3RlbmVyczp7fX0sYz0oKT0+e2EoITApfTtiLmxpc3RlbmVycy5yST1jO2IubGlzdGVuZXJzLmVycm9yPWM7Yi5saXN0ZW5lcnMuc0k9KCk9PnthKCExKX07cmV0dXJuIGJ9OwpuTT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPWZNKHtlbmdhZ2VtZW50UGFuZWw6b2dhLHRpOmdnYSxlSTppZ2EsRHA6bWdhLG1JOmtnYSxRSjpyZ2EsQks6c2dhLENLOnRnYSwuLi51Z2EsLi4udmdhfSksYj1lTShjZ2EoKSk7dGhpcy5zdG9yZT1nTShhLHZvaWQgMCxiKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2goYSl7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2goYSl9c3Vic2NyaWJlKGEpe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShhKX1yZXBsYWNlUmVkdWNlcihhKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihhKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgcU09bmV3IE1hcDt2YXIgd2dhPXtKcDpudWxsfTt2YXIgdWdhPXtUcjpmdW5jdGlvbihhPV8uJEwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1NIQVJFRF9BTklNQVRFRF9USFVNQk5BSUxfRU5BQkxFRCI6cmV0dXJuey4uLmEsRW86Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0lOTElORV9QUkVWSUVXX0VOQUJMRUQiOnJldHVybnsuLi5hLGxxOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9DVVJSRU5UX1BBR0VfVFlQRSI6cmV0dXJuey4uLmEsdnA6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0NVUlJFTlRfUEFHRV9TVUJfVFlQRSI6cmV0dXJuey4uLmEsdXA6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX1BFUlNJU1RFTlRfUEFORUxfVklTSUJMRSI6cmV0dXJuey4uLmEsd3I6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0lTX1NFQVJDSEJPWF9ISURERU4iOnJldHVybnsuLi5hLENxOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19LGExMXk6Zk0oe0pwOmZ1bmN0aW9uKGE9d2dhLkpwLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9FUEhFTUVSQUxfQUNUSU9OIjpyZXR1cm4gYi5wYXlsb2FkOwpkZWZhdWx0OnJldHVybiBhfX19KSxlbnRpdGllczpmdW5jdGlvbihhPXt9LGIpe3JldHVybiBlZ2EoYSxiKX19O3ZhciByTT17WGw6ITEsZm06ITEsam06ITEscGxheWVyU3RhdGU6LTEsaXNGdWxsc2NyZWVuOiExLG1qOiExLFpsOiExLGdtOiExLFRqOjIseGo6MH07dmFyIHhnYT1mTSh7WGw6ZnVuY3Rpb24oYT1yTS5YbCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfREVTS1RPUF9TTUFMTF9XSURUSCI6cmV0dXJuIGIucGF5bG9hZC5YbDtkZWZhdWx0OnJldHVybiBhfX0sZm06ZnVuY3Rpb24oYT1yTS5mbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU0hPUlRTX0FDVElWRSI6cmV0dXJuIGIucGF5bG9hZC5mbTtkZWZhdWx0OnJldHVybiBhfX0sam06ZnVuY3Rpb24oYT1yTS5qbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfV0FUQ0hfV0hJTEVfTU9ERSI6cmV0dXJuIGIucGF5bG9hZC5qbTtkZWZhdWx0OnJldHVybiBhfX0scGxheWVyU3RhdGU6ZnVuY3Rpb24oYT1yTS5wbGF5ZXJTdGF0ZSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfUExBWUVSX1NUQVRFIjpyZXR1cm4gYi5wYXlsb2FkLnBsYXllclN0YXRlO2RlZmF1bHQ6cmV0dXJuIGF9fSxpc0Z1bGxzY3JlZW46ZnVuY3Rpb24oYT1yTS5pc0Z1bGxzY3JlZW4sCmIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19GVUxMU0NSRUVOIjpyZXR1cm4gYi5wYXlsb2FkLmlzRnVsbHNjcmVlbjtkZWZhdWx0OnJldHVybiBhfX0sbWo6ZnVuY3Rpb24oYT1yTS5taixiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU01BTExfU0NSRUVOX1NRVUVFWkVCQUNLIjpyZXR1cm4gYi5wYXlsb2FkLm1qO2RlZmF1bHQ6cmV0dXJuIGF9fSxnbTpmdW5jdGlvbihhPXJNLmdtLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19TSE9SVFNfUElQX0FDVElWRSI6cmV0dXJuIGIucGF5bG9hZC5nbTtkZWZhdWx0OnJldHVybiBhfX0sWmw6ZnVuY3Rpb24oYT1yTS5abCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfUExBWUJBQ0tfU1RBUlRFRCI6cmV0dXJuIGIucGF5bG9hZC5abDtkZWZhdWx0OnJldHVybiBhfX0sVGo6ZnVuY3Rpb24oYT1yTS5UaixiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfU0hPUlRTX0xBWU9VVCI6cmV0dXJuIGIucGF5bG9hZC5UajsKZGVmYXVsdDpyZXR1cm4gYX19LHhqOmZ1bmN0aW9uKGE9ck0ueGosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX01FVEFQQU5FTF9TVFlMRSI6cmV0dXJuIGIucGF5bG9hZC54ajtkZWZhdWx0OnJldHVybiBhfX19KTt2YXIgZmdhPXtqajohMX07dmFyIGhnYT17aXNBbGxvd2VkOiExfTt2YXIgamdhPXtlcnJvck1lc3NhZ2U6IiIsdGl0bGU6IiIscHJpdmFjeToiIixpc0Rpc2FibGVkOiEwfTt2YXIgbGdhPXtqajohMX07dmFyIG5nYT17aXNGdWxsc2NyZWVuOiExLHFzOnZvaWQgMCxuYXZpZ2F0aW9uQnV0dG9uczp7fSxzZWNvbmRhcnlIZWFkZXI6e319O3ZhciB5Z2E9e3Jlc3BvbnNlOnZvaWQgMH07dmFyIHJnYT0oYT15Z2EsYik9Pntzd2l0Y2goYi50eXBlKXtjYXNlICJMT0NBVElPTl9DT0xMRUNUSU9OX1JFU1BPTlNFX0NIQU5HRSI6cmV0dXJuey4uLmEscmVzcG9uc2U6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07dmFyIHpnYT17bmV4dENvbW1hbmQ6dm9pZCAwLFR5OiExLGJ3OnZvaWQgMCxQeDohMX07dmFyIHNnYT0oYT16Z2EsYik9Pntzd2l0Y2goYi50eXBlKXtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0RJU0FCTEVEX0NIQU5HRSI6cmV0dXJuey4uLmEsVHk6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0NPTU1BTkRfQ0hBTkdFIjpyZXR1cm57Li4uYSxuZXh0Q29tbWFuZDpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9DSEFOTkVMX01PREFMX0ZPT1RFUl9SRU5ERVJFUl9TVUJNSVNTSU9OX0RBVEFfQ0hBTkdFIjpyZXR1cm57Li4uYSxidzpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9DSEFOTkVMX05FWFRfSU1QRVJTT05BVElPTl9WQUxJRElUWV9DSEFOR0UiOnJldHVybnsuLi5hLFB4OmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciBBZ2E9e1V6OnZvaWQgMCxUejp2b2lkIDB9O3ZhciB0Z2E9KGE9QWdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiUkVQT1JUX0ZPUk1fTU9EQUxfUkVOREVSRVJfREFUQV9DSEFOR0UiOnJldHVybnsuLi5hLFV6OmIucGF5bG9hZH07Y2FzZSAiUkVQT1JUX0RFVEFJTFNfRk9STV9SRU5ERVJFUl9EQVRBX0NIQU5HRSI6cmV0dXJuey4uLmEsVHo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07dmFyIEJnYT17fTt2YXIgc009e3NoOiExLHdoOl8ueCgid2ViX3BsYXlsaXN0X3BhbmVsX2RlZmF1bHRfY29sbGFwc2VkIiksdmc6W10sWmk6ITF9O3ZhciBDZ2E9Zk0oe3NoOmZ1bmN0aW9uKGE9c00uc2gsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0lTX0xJVkVfQ0hBVF9DT0xMQVBTRUQiOnJldHVybiBiLnBheWxvYWQ/Yi5wYXlsb2FkLnNoOmE7ZGVmYXVsdDpyZXR1cm4gYX19LHdoOmZ1bmN0aW9uKGE9c00ud2gsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0lTX1BMQVlMSVNUX1BBTkVMX0NPTExBUFNFRCI6cmV0dXJuIGIucGF5bG9hZC53aDtkZWZhdWx0OnJldHVybiBhfX0sdmc6ZnVuY3Rpb24oYT1zTS52ZyxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJNQUlOX0FQUF9BRERfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIjpyZXR1cm5bLi4uYSxiLnBheWxvYWQueHpdO2Nhc2UgIk1BSU5fQVBQX1JFTU9WRV9PUEVOX0VOR0FHRU1FTlRfUEFORUwiOnJldHVybiBhLmxlbmd0aD09PTA/YTphLmZpbHRlcihjPT5jIT09Yi5wYXlsb2FkLm9LKTtkZWZhdWx0OnJldHVybiBhfX0sWmk6ZnVuY3Rpb24oYT0Kc00uWmksYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0hBU19QTEFZTElTVCI6cmV0dXJuIGIucGF5bG9hZC5aaTtkZWZhdWx0OnJldHVybiBhfX19KTt2YXIgdmdhPXt4TDpmdW5jdGlvbihhPUJnYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfVFJBTlNDUklQVElPTl9TVEFURSI6cmV0dXJuey4uLmEsakw6Yi5wYXlsb2FkfTtjYXNlICJTRVRfT1ZFUkxBWV9TVEFURSI6cmV0dXJuey4uLmEsb3ZlcmxheTpiLnBheWxvYWR9O2Nhc2UgIlJFU0VUX1ZPSUNFX1NFQVJDSF9TVEFURSI6cmV0dXJue307ZGVmYXVsdDpyZXR1cm4gYX19LHNob3J0czp4Z2EsQWQ6Q2dhfTt2YXIgbU09dm9pZCAwO21NPW5ldyBuTTtfLnRNPV8uTChhPT57dmFyIHthbmltYXRlZEljb25UeXBlOmIsYWN0aXZlOmMsSGM6ZCxhbmltYXRpb25SZWY6ZSxIQTpmLHNpemU6aH09Xy5EQyhhLHtIYzp2b2lkIDAsYW5pbWF0aW9uUmVmOnt9LHNpemU6MjR9KSxbayxsXT1fLkoodm9pZCAwLHZvaWQgMCwiVHZnbUNlIiksbT0oKT0+cE0oYigpLGQ/LigpKT8uRWMuYW5pbWF0aW9uQ29uZmlnLm5hbWU/PyIiLG49KCk9PntpZihwTShiKCksZD8uKCkpKXt2YXIge3BhdGg6QX09cE0oYigpLGQ/LigpKS5FYy5hbmltYXRpb25Db25maWc7cmV0dXJuIHFNLmdldChBKXx8aygpfX0sW3Ascl09Xy5KKCExLHZvaWQgMCwiamYyRHliIiksdD1xZ2Eociksdj0oKT0+cE0oYigpLGQ/LigpKT8uRWMuYW5pbWF0aW9uQ29uZmlnPy5yZW5kZXJlclNldHRpbmdzPy5jbGFzc05hbWU/PyIiLHo9dm9pZCAwLEU9dm9pZCAwO18ubkUoKCk9Pnt2YXIgQT1wTShiKCksZD8uKCkpLEY9bSgpLEM9bigpLEc9cCgpLEQ9YygpO2lmKEEmJihFIT09RiYmKEU9CkYsej1ELEY9ZSgpLHQuYW5pbWF0aW9uQ29uZmlnPUEuRWMuYW5pbWF0aW9uQ29uZmlnLHQuYW5pbWF0aW9uUmVmPUYsQyYmKHQuYW5pbWF0aW9uQ29uZmlnLmFuaW1hdGlvbkRhdGE9Qyx0LmFuaW1hdGlvbkNvbmZpZy5wYXRoPXZvaWQgMCksRj1BLkVjLmFuaW1hdGlvbkNvbmZpZy5wYXRoLCFxTS5nZXQoRikmJkEuemgmJkYmJnBnYShGLGwpKSwhKEd8fEEuemgmJiFDKSkpe2lmKEM9IWUoKS5sb3R0aWVFbClEPyhHPUEudG90YWxGcmFtZXMsdC5hbmltYXRpb25Db25maWcuaW5pdGlhbFNlZ21lbnQ9W0ctMSxHXSk6dC5hbmltYXRpb25Db25maWcuaW5pdGlhbFNlZ21lbnQ9dm9pZCAwO3o9PT1EfHxDfHwoQz1lKCksRD9DLmxvdHRpZUVsPy5wbGF5U2VnbWVudHMoWzAsQS50b3RhbEZyYW1lc10sITApOkMubG90dGllRWw/LnBsYXlTZWdtZW50cyhbMCwxXSwhMCkpO3o9RH19LCJYQjFHU2IiKTtyZXR1cm4gXy5LKCJhbmltYXRlZC1pY29uIix7Y2xhc3M6Inl0QW5pbWF0ZWRJY29uSG9zdCIsCiJkYXRhLXNpemUiOigpPT5oKCl9LF8uSyhfLk8se0E6KCk9PiEoIXBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZy5wYXRofHxwTShiKCksZD8uKCkpPy56aCYmIW4oKXx8cCgpKSx0aGVuOigpPT5fLksoXy5jTSx7ZGF0YTp0LGFuaW1hdGlvbk5hbWU6bSxjbGFzc05hbWU6dixhbmltYXRpb25SZWY6ZX0pLFc6Zn0pKX0sIk1hIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udU09ZnVuY3Rpb24oYSl7cmV0dXJuIF8uc0UoKCk9Pih7dmFsdWU6YX0pKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5TSx6TSxEZ2EsQU0sQk0sQ00sRE0sRU0sR00sRmdhLElNLEdnYSxMTSxIZ2EsTU0sUk0sU00sVE0sYk4sS2dhLGNOLGVOLExnYSxPZ2EsTmdhLE1nYSxoTixQZ2EsUmdhLGlOLGpOLGtOLFNnYSxUZ2EsbE4sVWdhLG1OLG5OLHBOLFZnYSxXZ2EsWGdhLHFOLGFoYSwkZ2Esck4sWmdhLFlnYSxkaGEsY2hhLHNOLGJoYSxmaGEsdk4sWCxBTixDTixnaGEsaWhhLGhoYSxqaGEsTU4sbGhhLG1oYSxRTixuaGEsb2hhLFROLHFoYSxhTyxyaGEsc2hhLHRoYSx1aGEsdmhhLHdoYSx4aGEsRWdhLEZNLEhNLGJPLHloYSxPTSxRTSxJZ2EsSmdhLHpoYSxBaGE7Xy52TT1mdW5jdGlvbihhKXt2YXIgYj1fLiR0KGEpO3JldHVybntbU3ltYm9sLmRpc3Bvc2VdKCl7Xy4kdChiKX19fTtfLnhNPWZ1bmN0aW9uKCl7aWYoXy5YeigpKXt2YXIgYT1fLkdoKGAke18uVmooKX06Onl0LW1hdy1wbGF5ZXJgKTtpZihhKXJldHVybiBuZXcgXy53TShhKX19Owp5TT1mdW5jdGlvbihhLGIpe2Zvcig7YS5sZW5ndGg+YjspYS5wb3AoKX07ek09ZnVuY3Rpb24oYSl7YT1BcnJheShhKTt5TShhLDApO3JldHVybiBhfTtEZ2E9ZnVuY3Rpb24oYSxiLGMsZCl7KGRbYl18fGRbXy5SQS5kZWZhdWx0XSkoYSxiLGMpfTtBTT1mdW5jdGlvbihhLGIsYyl7Yj1uZXcgRWdhKGIsYyk7cmV0dXJuIGEuX19pbmNyZW1lbnRhbERPTURhdGE9Yn07CkJNPWZ1bmN0aW9uKGEsYil7aWYoYS5fX2luY3JlbWVudGFsRE9NRGF0YSlyZXR1cm4gYS5fX2luY3JlbWVudGFsRE9NRGF0YTt2YXIgYz1hLm5vZGVUeXBlPT09MT9hLmxvY2FsTmFtZTphLm5vZGVOYW1lLGQ9YS5ub2RlVHlwZT09PTE/YS5nZXRBdHRyaWJ1dGUoImtleSIpOm51bGw7Yj1BTShhLGMsYS5ub2RlVHlwZT09PTE/ZHx8YjpudWxsKTtpZihhLm5vZGVUeXBlPT09MSYmKGM9YS5hdHRyaWJ1dGVzLGQ9Yy5sZW5ndGgpKXthPWIuanx8KGIuaj16TShkKjIpKTtmb3IobGV0IGU9MCxmPTA7ZTxkO2UrPTEsZis9Mil7bGV0IGg9Y1tlXSxrPWgudmFsdWU7YVtmXT1oLm5hbWU7YVtmKzFdPWt9fXJldHVybiBifTtDTT1mdW5jdGlvbigpe18uWUE9Xy5WQSgpfTsKRE09ZnVuY3Rpb24oYSxiKXtDTSgpO3ZhciBjO2E6e2lmKGM9Xy5ZQSl7ZG97aWYoYz09PW51bGwpYnJlYWs7dmFyIGQ9YyxlPWEsZj1iO2xldCBoPUJNKGQsZik7aWYoKDAsXy5iQikoZCxlLGgubyxmLGgua2V5KSlicmVhayBhfXdoaWxlKGImJihjPWMubmV4dFNpYmxpbmcpKX1jPW51bGx9Y3x8KGE9PT0iI3RleHQiPyhhPV8uWkEuY3JlYXRlVGV4dE5vZGUoIiIpLEFNKGEsIiN0ZXh0IixudWxsKSk6KGM9Xy5aQSxkPV8uVUEsdHlwZW9mIGE9PT0iZnVuY3Rpb24iP2M9bmV3IGE6Yz0oZD1hPT09InN2ZyI/Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjphPT09Im1hdGgiPyJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpkPT1udWxsfHxCTShkKS5vPT09ImZvcmVpZ25PYmplY3QiP251bGw6ZC5uYW1lc3BhY2VVUkkpP2MuY3JlYXRlRWxlbWVudE5TKGQsYSk6Yy5jcmVhdGVFbGVtZW50KGEpLEFNKGMsYSxiKSxhPWMpLF8uV0EuY3JlYXRlZC5wdXNoKGEpLGM9CmEpO2E9YztpZihhIT09Xy5ZQSl7aWYoXy4kQS5pbmRleE9mKGEpPj0wKWZvcihiPV8uVUEsYz1hLm5leHRTaWJsaW5nLGQ9Xy5ZQTtkIT09bnVsbCYmZCE9PWE7KWU9ZC5uZXh0U2libGluZyxiLmluc2VydEJlZm9yZShkLGMpLGQ9ZTtlbHNlIF8uVUEuaW5zZXJ0QmVmb3JlKGEsXy5ZQSk7Xy5ZQT1hfX07RU09ZnVuY3Rpb24oYSxiKXtETShhLGIpO18uVUE9Xy5ZQTtfLllBPW51bGw7cmV0dXJuIF8uVUF9O0dNPWZ1bmN0aW9uKGEsYixjLGQpe0ZNLnB1c2goRGdhKTtGTS5wdXNoKGEpO0ZNLnB1c2goYik7Rk0ucHVzaChjKTtGTS5wdXNoKGQpfTsKRmdhPWZ1bmN0aW9uKGE9Xy5IQyl7dmFyIGI9Xy5VQSxjPUJNKGIpLGQ9Xy5hQjtjPWMuanx8KGMuaj16TShkLmxlbmd0aCkpO2Zvcih2YXIgZT0hYy5sZW5ndGh8fCExLGY9MDtmPGQubGVuZ3RoO2YrPTIpe3ZhciBoPWRbZl07aWYoZSljW2ZdPWg7ZWxzZSBpZihjW2ZdIT09aClicmVhaztsZXQgbD1kW2YrMV07aWYoZXx8Y1tmKzFdIT09bCljW2YrMV09bCxHTShiLGgsbCxhKX1pZihmPGQubGVuZ3RofHxmPGMubGVuZ3RoKXtmb3IoZj1lPWY7ZjxjLmxlbmd0aDtmKz0yKV8uSkNbY1tmXV09Y1tmKzFdO2ZvcihmPWU7ZjxkLmxlbmd0aDtmKz0yKWU9ZFtmXSxoPWRbZisxXSxfLkpDW2VdIT09aCYmR00oYixlLGgsYSksY1tmXT1lLGNbZisxXT1oLGRlbGV0ZSBfLkpDW2VdO3lNKGMsZC5sZW5ndGgpO2Zvcih2YXIgayBpbiBfLkpDKUdNKGIsayx2b2lkIDAsYSksZGVsZXRlIF8uSkNba119YT1ITTtITT1iPUZNLmxlbmd0aDtmb3Ioaz1hO2s8YjtrKz01KSgwLEZNW2tdKShGTVtrKzFdLApGTVtrKzJdLEZNW2srM10sRk1bays0XSk7SE09YTt5TShGTSxhKTt5TShkLDApfTtJTT1mdW5jdGlvbihhLC4uLmIpe0RNKCIjdGV4dCIsbnVsbCk7Yj1fLllBO3ZhciBjPUJNKGIpO2lmKGMudGV4dCE9PWEpe2M9Yy50ZXh0PWE7Zm9yKGxldCBkPTE7ZDxhcmd1bWVudHMubGVuZ3RoO2QrPTEpYz0oMCxhcmd1bWVudHNbZF0pKGMpO2IuZGF0YSE9PWMmJihiLmRhdGE9Yyl9fTsKR2dhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPVtdO2EuX2Rpc3Bvc2VFZmZlY3RzPV8udXYoKCk9PntfLnR2KCgpPT57dmFyIGY9YygpO2lmKGY9PT1udWxsfHxmPT09dm9pZCAwKWY9IiI7aWYoXy5xQihmKXx8Zj09PW51bGwpZD8/KGQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpKSxkLnBhcmVudE5vZGUhPT1hJiYoZC5faXNTaWduYWxUZXh0Tm9kZT0hMCxhLmluc2VydEJlZm9yZShkLGIpKSxkLnRleHRDb250ZW50PVN0cmluZyhmKTtlbHNlIGlmKF8ub0IoZikpe2xldCBoPWUubGVuZ3RoPjA/ZVtlLmxlbmd0aC0xXS5uZXh0U2libGluZzpiO2ZvcihsZXQgayBvZiBlKWEucmVtb3ZlQ2hpbGQoayk7Zj1fLnBCKGYpO2U9QXJyYXkuZnJvbShmLmNoaWxkTm9kZXMpO2ZvcihsZXQgayBvZiBlKWEuaW5zZXJ0QmVmb3JlKGssaCl9ZWxzZSB0aHJvdyBFcnJvcigiQWJgIisoXy5NdT8ubmFtZT8/InVua25vd24iKSsiYCIrdHlwZW9mIGYpO30sIlZ2RGdDIil9LF8uS3Uucml8fCEhXy5adCl9OwpfLktNPWZ1bmN0aW9uKGEpe2lmKCFfLkpNKXJldHVybiExO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhfLkpNKSlpZihhLmhhc093blByb3BlcnR5KGIpKXJldHVybiEwO3JldHVybiExfTtMTT1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPXt9O18ud0YoYixfLlNELHtjb21tYW5kczphfSk7cmV0dXJuIGJ9fTtIZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9QXJyYXkuaXNBcnJheShhLml0ZW1zKT9hLml0ZW1zOkFycmF5LmZyb20oYS5pdGVtcyk7cmV0dXJuIF8uZkcoYixhLmNoaWxkcmVuKX07TU09ZnVuY3Rpb24oYSl7YT1fLm5KKGEpO2EubGVuZ3RoPjAmJmFbMF0uZm9jdXMoKX07Xy5OTT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGQpO3JldHVybiBjLmNhbGwoYSxlKX07YS5hZGRFdmVudExpc3RlbmVyKGIsZCx2b2lkIDApfTsKXy5QTT1mdW5jdGlvbihhKXtPTXx8KE9NPV8uQ2QoIkEiKSk7T00uaHJlZiE9PWEmJl8uTHkoT00sYSk7cmV0dXJuIE9NfTtSTT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4iIjtpZihRTVthXSlyZXR1cm4gUU1bYV07dmFyIGI9Xy5QTShhKS5wYXRobmFtZTtRTVthXT1iLnN0YXJ0c1dpdGgoIi8iKT9iOiIvIitiO3JldHVybiBRTVthXX07ClNNPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09Ii8iPyJob21lIjphLnN0YXJ0c1dpdGgoIi9yZXN1bHRzIik/InNlYXJjaCI6YS5zdGFydHNXaXRoKCIvd2F0Y2giKT8id2F0Y2giOmEuc3RhcnRzV2l0aCgiL3Nob3J0cyIpPyJzaG9ydHMiOmEuc3RhcnRzV2l0aCgiL2hhc2h0YWciKT8iaGFzaHRhZyI6YS5zdGFydHNXaXRoKCIvY3JlYXRlX2NoYW5uZWwiKT8iY3JlYXRlX2NoYW5uZWwiOmEuc3RhcnRzV2l0aCgiL3Bvc3QvIik/InBvc3QiOmEuc3RhcnRzV2l0aCgiL0AiKXx8YS5zdGFydHNXaXRoKCIvdXNlci8iKXx8YS5zdGFydHNXaXRoKCIvY2hhbm5lbC8iKT8iY2hhbm5lbCI6YS5zdGFydHNXaXRoKCIvZXhwZXJpbWVudHMiKT8iZXhwZXJpbWVudHMiOmEuc3RhcnRzV2l0aCgiL3Nwb25zb3JfY2hhbm5lbCIpPyJzcG9uc29yc2hpcCI6YS5zdGFydHNXaXRoKCIvc2VsZWN0X3NpdGUiKT8ic2V0dGluZ3MiOmEuc3RhcnRzV2l0aCgiL2xvY2F0ZSIpPyJsb2NhdGUiOmEuc3RhcnRzV2l0aCgiL3JlZGVlbSIpPwoicmVkZWVtIjphLnN0YXJ0c1dpdGgoIi9tdXNpY3ByZW1pdW0iKXx8YS5zdGFydHNXaXRoKCIvcHJlbWl1bSIpfHxhLnN0YXJ0c1dpdGgoIi9yZWQiKT8icHJlbWl1bSI6YS5zdGFydHNXaXRoKCIvcGFpZF9tZW1iZXJzaGlwcyIpPyJwYWlkX21lbWJlcnNoaXBzIjphLnN0YXJ0c1dpdGgoIi9vb3BzIik/Im9vcHMiOmEuc3RhcnRzV2l0aCgiL2NsaXAiKT8iY2xpcCI6Xy5YRD8ucmVzcG9uc2U/LnBhZ2U9PT0iNDA0Ij8iNDA0IjphLnN0YXJ0c1dpdGgoIi9mZWVkL2hpc3RvcnkiKT8iaGlzdG9yeSI6YS5zdGFydHNXaXRoKCIvZmVlZC9saWJyYXJ5Iik/ImxpYnJhcnkiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvc3Vic2NyaXB0aW9ucyIpPyJzdWJzY3JpcHRpb25zIjphLnN0YXJ0c1dpdGgoIi9mZWVkL3RyZW5kaW5nIik/InRyZW5kaW5nIjphLnN0YXJ0c1dpdGgoIi9mZWVkL25ld3NfZGVzdGluYXRpb24iKT8ibmV3cyI6YS5zdGFydHNXaXRoKCIvcGxheWxpc3QiKT8icGxheWxpc3QiOmEuc3RhcnRzV2l0aCgiL21pbm9yX21vbWVudCIpPwoibWlub3JfbW9tZW50IjphLnN0YXJ0c1dpdGgoIi9wbGF5YWJsZS8iKXx8YS5tYXRjaCgiXi9wbGF5YWJsZXMvKD8hc2F2ZWQpLiIpPyJtaW5pX2FwcCI6YS5zdGFydHNXaXRoKCIvcGxheWFibGVzIik/InBsYXlhYmxlcyI6YS5zdGFydHNXaXRoKCIvY3JlYXRlL2xpdmUvam9pbiIpPyJvcGVuX2luX2FwcCI6YS5zdGFydHNXaXRoKCIvZmVlZC9leHBsb3JlIik/ImV4cGxvcmUiOiJicm93c2UifTsKVE09ZnVuY3Rpb24oKXt2YXIgYT1fLlhEPy5yZXNwb25zZSxiPWE/LmVuZHBvaW50O2lmKCFiKXJldHVybiBhPy5wYWdlPT09IndhdGNoIj8id2F0Y2giOlNNKFJNKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSk7YT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy53ZWJQYWdlVHlwZTt2YXIgYz0hMTtpZihhJiYhSWdhLmluY2x1ZGVzKGEpKXN3aXRjaChhKXtjYXNlICJXRUJfUEFHRV9UWVBFX1NFQVJDSCI6cmV0dXJuInNlYXJjaCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9TSE9SVFMiOnJldHVybiJzaG9ydHMiO2Nhc2UgIldFQl9QQUdFX1RZUEVfQ0hBTk5FTCI6cmV0dXJuImNoYW5uZWwiO2Nhc2UgIldFQl9QQUdFX1RZUEVfU0VUVElOR1MiOnJldHVybiJzZXR0aW5ncyI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9QTEFZTElTVCI6cmV0dXJuInBsYXlsaXN0IjtjYXNlICJXRUJfUEFHRV9UWVBFX09QRU5fSU5fQVBQIjpyZXR1cm4ib3Blbl9pbl9hcHAiO2Nhc2UgIldFQl9QQUdFX1RZUEVfTUlOSV9BUFAiOnJldHVybiJtaW5pX2FwcCI7CmNhc2UgIldFQl9QQUdFX1RZUEVfV0FUQ0giOnJldHVybiBfLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwmJlJNKF8uQihiLmNvbW1hbmRNZXRhZGF0YSxfLnp3KS51cmwpLnN0YXJ0c1dpdGgoIi9jbGlwIik/ImNsaXAiOiJ3YXRjaCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9CUk9XU0UiOnJldHVybihiPV8uQihiLF8uY0UpPy5icm93c2VJZCk/SmdhW2JdfHwiYnJvd3NlIjoiYnJvd3NlIjtkZWZhdWx0OmM9ITB9aWYoXy5CKGIsXy5FZWEpfHxfLkIoYixfLkRlYSkpcmV0dXJuInNwb25zb3JzaGlwIjt2YXIgZD1STSh3aW5kb3cubG9jYXRpb24uaHJlZik7aWYoZC5zdGFydHNXaXRoKCIvZXhwZXJpbWVudHMiKSlyZXR1cm4iZXhwZXJpbWVudHMiO2lmKGQuc3RhcnRzV2l0aCgiL2NyZWF0ZV9jaGFubmVsIikpcmV0dXJuImNyZWF0ZV9jaGFubmVsIjtpZihfLkIoYixfLlZEKSYmZC5zdGFydHNXaXRoKCIvc2hvcnRzIikpcmV0dXJuInNob3J0cyI7aWYoXy5CKGIsXy5WRCkmJgpkLnN0YXJ0c1dpdGgoIi93YXRjaCIpKXJldHVybiJ3YXRjaCI7YyYmKGI9bmV3IF8uWGooIlVuc3VwcG9ydGVkIG1XZWIgcGFnZSB0eXBlIix7cGF0aG5hbWU6ZCx3ZWJQYWdlVHlwZTphfSksXy5HcChiKSk7cmV0dXJuImJyb3dzZSJ9O18uVU09ZnVuY3Rpb24oYSl7YT8uaHJlZj9hPShhPWEuaHJlZik/U00oUk0oYT9hOndpbmRvdy5sb2NhdGlvbi5ocmVmKSk6VE0oKTphPWE/LnBhZ2VUeXBlO3JldHVybiBhfHxUTSgpfTtfLlZNPWZ1bmN0aW9uKGEpe3JldHVybiBfLlVNKGEpPT09IndhdGNoIn07Xy5XTT1mdW5jdGlvbigpe3JldHVybiBfLlVNKCk9PT0ic2hvcnRzIn07Xy5YTT1mdW5jdGlvbihhLGIpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChhLHtkZXRhaWw6Yn0pKX07Cl8uWk09ZnVuY3Rpb24oKXtfLllNJiZfLkhwKG5ldyBfLlhqKGBVbmV4cGVjdGVkIGNhbGwgdG8gcmVxdWVzdEJhY2tOYXZpZ2F0aW9uLCBmcmFnbWVudDogJHt3aW5kb3cubG9jYXRpb24uaGFzaH1gKSk7Xy5GSj1uZXcgXy5CZihhPT57ZnVuY3Rpb24gYigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsYik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpO2EoKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKX0pO18uTk0od2luZG93LCJwb3BzdGF0ZSIsKCk9PntzZXRUaW1lb3V0KCgpPT57fSl9KTtoaXN0b3J5LmJhY2soKTtyZXR1cm4gXy5GSn07Cl8uJE09ZnVuY3Rpb24oYSxiPSExKXtpZihfLllNKXt2YXIgYz13aW5kb3cubG9jYXRpb247YT1fLmRiKGAjJHthfWApO2EhPT12b2lkIDAmJmMucmVwbGFjZShhKX1lbHNlIHdpbmRvdy5sb2NhdGlvbi5oYXNoPWE7Ynx8Xy54KCJtd2ViX2VuYWJsZV9rZXRvX2NvbnRlbnQiKXx8Xy5YTSgidXBkYXRldWkiKX07Xy5hTj1mdW5jdGlvbihhKXtpZihhJiZhLnNpbXBsZVRleHQpcmV0dXJuIGEuc2ltcGxlVGV4dDt2YXIgYj0iIjtpZihhJiZhLnJ1bnMpZm9yKGxldCBjPTA7YzxhLnJ1bnMubGVuZ3RoO2MrKylhLnJ1bnNbY10udGV4dCYmKGIrPWEucnVuc1tjXS50ZXh0KTtyZXR1cm4gYn07Yk49ZnVuY3Rpb24oYSl7cmV0dXJuIF8ua0Eoe3R5cGU6IlNFVF9JU19CT1RUT01fU0hFRVRfT1BFTl9TVEFURSIscGF5bG9hZDphfSl9OwpLZ2E9ZnVuY3Rpb24oYSl7aWYoYSYmYS5mb2N1cylpZihhIT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudClhLmZvY3VzKCk7ZWxzZSByZXR1cm4gY04oYXN5bmMoKT0+e2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpO3JldHVybiBjTigoKT0+e2EuZm9jdXMoKX0pfSl9O18uZE49ZnVuY3Rpb24oYSl7dmFyIGI9NTtzZXRUaW1lb3V0KGFzeW5jKCk9Pntmb3IodmFyIGM9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWN8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1kb2N1bWVudC5ib2R5KSYmYj49MCYmYTspe2F3YWl0IEtnYShhKTtpZihkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YSlicmVhazthPWEucGFyZW50RWxlbWVudDstLWJ9fSwxNSl9O2NOPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YihhKCkpfSl9KX07CmVOPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhLmNoaWxkcmVuPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jaGlsZHJlbigpLG51bGw7Zm9yKGxldCBiIG9mIGEuY2hpbGRyZW4pYigpO3JldHVybiBudWxsfTtfLmZOPWZ1bmN0aW9uKGEsYil7Xy5SdSgoKT0+TGdhKGEsYikpfTtMZ2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1udWxsO18uZ3YrKzt0cnl7Yz0oMCxfLklDKShhLCgpPT57Xy5nTihiKX0pLF8uSUEoITEpfWNhdGNoKGQpe3Rocm93IF8uSUEoITApLGQ7fXJldHVybiBjPT09bnVsbD9hOmN9OwpfLmdOPWZ1bmN0aW9uKGEpe2lmKGEhPT12b2lkIDAmJmEhPT1udWxsKWlmKGEgaW5zdGFuY2VvZiBfLmRDKWZvcih2YXIgYj1fLlVBO18uVkEoKSE9bnVsbCYmXy5uQyBpbiBfLlZBKCkmJmIuY29udGFpbnMoXy5WQSgpKTspQ00oKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYSkpZm9yKHZhciBjIG9mIGEpXy5nTihjKTtlbHNlIGlmKGEgaW5zdGFuY2VvZiBfLlNhKUlNKGEudG9TdHJpbmcoKSk7ZWxzZSBpZihfLmlCKGEpKXtpZihfLlZBKCkhPT1hKXRocm93IEVycm9yKCJEYmAiK2EudGFnTmFtZSsiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikpO0NNKCl9ZWxzZSBpZihjPWEsYyE9bnVsbCYmYy5HaT09PV8ubUJ8fGMgaW5zdGFuY2VvZiBfLmZifHxfLkxBKCkoYykpe2I9Xy5wQihhKTtiPUFycmF5LmZyb20oYi5jaGlsZE5vZGVzKTtmb3IodmFyIGQgb2YgYilfLlVBLmFwcGVuZENoaWxkKGQpLENNKCl9ZWxzZSBpZihfLlhhKGEpJiYoYT1hLnRvU3RyaW5nKCkpLGQ9dHlwZW9mIGEsCmQ9PT0iYm9vbGVhbiJ8fGQ9PT0ibnVtYmVyInx8ZD09PSJzdHJpbmciKUlNKGEpO2Vsc2UgaWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKWI9Xy5VQSwoZD1fLlZBKCkpJiYoZC5faXNTaWduYWxUZXh0Tm9kZXx8ZC5faXNTYWZlT3JTYW5pdGl6ZWRIdG1sTm9kZSl8fEdnYShiLGQsYSksQ00oKTtlbHNlIGlmKGEudHlwZT09PUhnYSlfLmdOKGEudHlwZShPYmplY3QuYXNzaWduKHt9LGEucHJvcHMse2NoaWxkcmVuOmEuY2hpbGRyZW5bMF19KSkpO2Vsc2V7aWYodHlwZW9mIGEudHlwZT09PSJzdHJpbmciKXthOnthLmNkfHxFTShhLnR5cGUsYS5wcm9wcy5pZG9tS2V5KTtjPV8uVUE7Zm9yKGIgaW4gYS5wcm9wcylpZihhLnByb3BzW2JdIT09Xy5LYmEpe2Q9YS5wcm9wc1tiXTtsZXQgZT1fLmFCO2UucHVzaChiKTtlLnB1c2goZCl9RmdhKF8uS3UuYXR0cmlidXRlcyk7Xy5qQyhjLGEucHJvcHMsITApO2lmKChhLnByb3BzLnNraXB8fGEucHJvcHMuc2tpcGNoaWxkcmVuKSYmXy5VQS5oYXNDaGlsZE5vZGVzKCkpXy5ZQT0KXy5VQS5sYXN0Q2hpbGQ7ZWxzZXtpZihhLnR5cGU9PT0ic3R5bGUiJiZfLlJCKGEuY2hpbGRyZW4pPT09bnVsbCl7Xy5ZQT1fLlVBLmxhc3RDaGlsZDtiPXZvaWQgMDticmVhayBhfV8uZ04oYS5jaGlsZHJlbil9Xy5YQSgpO18uWUE9Xy5VQTtfLlVBPV8uVUEucGFyZW50Tm9kZTthLmNkJiYoYS5jZD0hMSk7Xy5BQihjLGEucHJvcHMpO2I9Y31yZXR1cm4gYn1pZihhLnR5cGU9PT1fLklCKV8uZ04oYS5jaGlsZHJlbik7ZWxzZSBpZighTWdhKGEpKXtiPWE7dHJ5e05nYShiKX1jYXRjaChlKXtfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShlLGIudHlwZT8uWmMpKX1iLmNkJiYoXy5YQSgpLF8uWUE9Xy5VQSxfLlVBPV8uVUEucGFyZW50Tm9kZSxiLmNkPSExKX19fTtPZ2E9ZnVuY3Rpb24oYSxiKXt2YXIgYzthLnByb3RvdHlwZT8ub2M9PT12b2lkIDA/Yz1uZXcgXy5tQyhiLGEpOmM9bmV3IGEoYik7Yy5qPWE7Yy53bz17bmV4dFN0YXRlOmMuc3RhdGUsTXg6ITF9O3JldHVybiBjfTsKTmdhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudHlwZSxjPWIuWmM7aWYoYj09PWVOKWEucHJvcHMuY2hpbGRyZW49YS5jaGlsZHJlbixiKGEucHJvcHMpO2Vsc2V7YS5jaGlsZHJlbi5sZW5ndGg+MCYmKGEucHJvcHMuY2hpbGRyZW49YS5jaGlsZHJlbik7dmFyIGQ7KGQ9YS5wcm9wcykuaWRvbUtleXx8KGQuaWRvbUtleT1iKTt2YXIgZT0hMTtpZihjKXt2YXIgZj1FTShjLGEucHJvcHMuaWRvbUtleSk7YS5jZD0hMDt2YXIgaD1mLl9faW5zdGFuY2V9aHx8KGU9ITAsaD1PZ2EoYixhLnByb3BzKSxoLnByb3BzPW51bGwsZiYmKGYuX19pbnN0YW5jZT1oLGguZWw9ZikpOyh7bmV4dFN0YXRlOmN9PWgud28/P3tuZXh0U3RhdGU6aC5zdGF0ZSxNeDohMX0pO2gud289dm9pZCAwO2IubHcmJihjPWIubHcoYS5wcm9wcyxjKSk7dmFyIGs9aC5wcm9wcyxsPWguc3RhdGU7aC5wcm9wcz1hLnByb3BzO2guc3RhdGU9YztjPSgpPT57dmFyIG09aDtfLmJ3LlNvKG0pO3ZhciBuPW0ub2MobS5wcm9wcyk7Cm4/KG0ucHJvcHMuaWRvbUtleSYmKG4ucHJvcHMuaWRvbUtleT1tLnByb3BzLmlkb21LZXkpLG09bik6bT12b2lkIDA7aWYobj1tKW4uY2Q9YS5jZCxtPV8uZ04obiksYS5jZD1uLmNkLGIuWmN8fChtPyhiLlpjPW0udGFnTmFtZS50b0xvd2VyQ2FzZSgpLG0uX19pbnN0YW5jZT1oLGguZWw9bSk6aC5aZj8ubGVuZ3RoJiZfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShFcnJvcigiQ2QiKSkpKTtlPyhoLkppKCksXy5idy5KaShoKSk6KGguS2koayxsKSxfLmJ3LktpKGgsayxhLnByb3BzKSk7aC5HZigpO18uYncuR2YoaCl9OyhkPWgubyk/Xy5HQShkLGMsaC5wcm9wcy5kZWJ1Z0luc3RhbmNlKTpjKCl9fTsKTWdhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudHlwZTtpZihiLnByb3RvdHlwZT8ub2MhPT12b2lkIDB8fGI9PT1lTnx8Yi5jb21wb25lbnRUeXBlPT09Xy5LdilyZXR1cm4hMTthLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4ubGVuZ3RoPjE/YS5jaGlsZHJlbjphLmNoaWxkcmVuWzBdO3ZhciBjPWEucHJvcHMuaWRvbUtleT8/YS50eXBlO2lmKF8uVkEoKSYmXy5WQSgpW18uV0JdPy5rZXk9PT1jKXtiPV8uVkEoKTtjPWJbXy5XQl07aWYoIWMpdGhyb3cgRXJyb3IoIkNiYCIrYi50YWdOYW1lKTtjLnFCPy4oYS5wcm9wcyk7UGdhKGMpO3JldHVybiEwfWlmKFFnYS5oYXMoYi5uYW1lKSl0aHJvdyBFcnJvcigiQmJgIitiLm5hbWUrImAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKTthLnByb3BzLmpuPSEwOyhiPV8uR0EoYS50eXBlLCgpPT5fLmdDKGEudHlwZSxhLnByb3BzKSxhLnByb3BzLmRlYnVnSW5zdGFuY2UpKSYmUmdhKGIpO3JldHVybiEwfTsKaE49ZnVuY3Rpb24oYSl7Zm9yKGxldCBiPTA7YjxfLmJDKGEpLmxlbmd0aDtiKyspQ00oKX07UGdhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVkEoKVtfLldCXT8ueW47aWYoYiloTihiKTtlbHNlIGZvcihsZXQgYz0wO2M8YS5VcTtjKyspKGI9Xy5WQSgpW18uV0JdPy55bik/aE4oYik6Q00oKX07UmdhPWZ1bmN0aW9uKGEpe2E9Xy5HQihhKTthPUFycmF5LmlzQXJyYXkoYSk/YTpbYV07Zm9yKGxldCBiIG9mIGEpXy5VQS5pbnNlcnRCZWZvcmUoYixfLlZBKCkpLENNKCl9O2lOPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9PnthJiZfLmRFKGEpO2ImJmIoYyl9fTtqTj1mdW5jdGlvbihhKXt2YXIgYj0yMTtpZighYSlyZXR1cm4gYjtiKz1hLmhlYWRlclRpdGxlPzI3OjA7Yis9YS5oZWFkZXJUaXRsZSYmYS5paD80OjA7cmV0dXJuIGIrPWEuaGVhZGVyVGl0bGUmJmEuaGVhZGVyU3VidGl0bGU/MTY6MH07CmtOPWZ1bmN0aW9uKGEpe3ZhciBiPTA7aWYoIWEpcmV0dXJuIGI7Yis9YS5VZnx8YS5WZj80ODowO2IrPWEuUGZ8fGEuTWY/MzA6MDtyZXR1cm4gYis9YS5VZnx8YS5WZnx8IWEuUGYmJiFhLk1mPzA6MTJ9OwpTZ2E9ZnVuY3Rpb24oYSx7a2V5OmIscGF5bG9hZDpjfSl7aWYoYj09PSJEcmFnIFN0YXJ0IilyZXR1cm57Li4uYSxDYzohMSxWZTpjLmNsaWVudFl9O2lmKGI9PT0iRHJhZyBNb3ZlIil7Yj1NYXRoLm1pbihjLlRwLGMuaHFbYy5IaV0rKGMuZnE/P2pOKGMuaGVhZGVyKSktKGMuTnA/P2tOKGMuZm9vdGVyKSkpO2xldCBkPU1hdGgubWF4KGMubXA/LTEqKGEuVmUtMjQpOjAsYy5jbGllbnRZLWEuVmUpO3JldHVybnsuLi5hLE9iOmQsRmM6TWF0aC5taW4oYixNYXRoLm1heCgwLChhLlBjP2I6Yy5xcCktZCkpfX1yZXR1cm4gYj09PSJTbmFwIFRvIEZ1bGwgU2NyZWVuIj97Li4uYSxDYzohMSxPYjowLFBjOiEwLEZjOmMubWF4SGVpZ2h0fTpiPT09IlNuYXAgVG8gTmV1dHJhbCBQb3NpdGlvbiI/ey4uLmEsQ2M6ITEsT2I6MCxQYzohMSxGYzpjLm1heEhlaWdodH06Yj09PSJDbG9zZSBTaGVldCI/ey4uLmEsQ2M6ITAsT2I6Yy5jbGllbnRIZWlnaHQsUGM6ITEsRmM6Yy5tYXhIZWlnaHR9OmF9OwpUZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8udGgsYz1hO3JldHVybntzdWJzY3JpYmUoZCl7Yi5zdWJzY3JpYmUoImNoYW5nZWQiLGQpfSxkaXNwYXRjaChkLGUpe2M9U2dhKGMse2tleTpkLHBheWxvYWQ6ZX0pO2IucHVibGlzaCgiY2hhbmdlZCIsYyl9fX07bE49ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PntiLnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBhPy4oYil9fTtVZ2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uRGVmYXVsdCI7Y2FzZSAxOnJldHVybiJ5dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25UcmFpbGluZ1BhaXIiO2Nhc2UgMjpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyIjtjYXNlIDM6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvblByaW1hcnlTcGxpdFBhaXIifX07bU49ZnVuY3Rpb24oKXtfLnkoKS5yZXNvbHZlKF8uY0wpLkplKCl9OwpuTj1mdW5jdGlvbihhKXtyZXR1cm57aGVhZGVyVGl0bGU6YS5oZWFkZXJUaXRsZT8uKCksaGVhZGVyU3VidGl0bGU6YS5oZWFkZXJTdWJ0aXRsZT8uKCksV2Y6YS5XZixOZjphLk5mLE9mOmEuT2YsUmU6YS5SZT8uKCksTWY6YS5NZj8uKCksUGY6YS5QZj8uKCksSGE6YS5IYT8uKCkscGY6YS5wZj8uKCksR2s6YS5Haz8uKCksR2g6YS5HaCxmb2N1c09uQ2xvc2U6YS5mb2N1c09uQ2xvc2U/LigpLGlzRGlzYWJsZWQ6YS5pc0Rpc2FibGVkPy4oKSxkaXNhYmxlZENvbW1hbmQ6YS5kaXNhYmxlZENvbW1hbmQ/LigpLFVlOmEuVWUsR2I6YS5HYixTZTphLlNlLGpoOmEuamgoKSxYaTphLlhpKCksaGg6YS5oaCgpLFVmOmEuVWYoKSxWZjphLlZmKCksaWg6YS5paCgpfX07cE49ZnVuY3Rpb24oYSl7b058fChvTj1fLnhNKCkpO29OPy5zZXQoInJlY2VudC1jdXN0b20tc3BlZWQiLFN0cmluZyhhKjEwMCkpfTtWZ2E9ZnVuY3Rpb24oYSl7YT1hLnRhcmdldC52YWx1ZUFzTnVtYmVyO18uTUgoKT8uc2V0UGxheWJhY2tSYXRlKGEpfTsKV2dhPWZ1bmN0aW9uKGEpe3BOKGEudGFyZ2V0LnZhbHVlQXNOdW1iZXIpfTtYZ2E9ZnVuY3Rpb24oYSl7Xy5NSCgpPy5zZXRQbGF5YmFja1JhdGUoYSk7cE4oYSl9O3FOPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybnt9O3ZhciBiPWEuZm9yZWdyb3VuZFRpdGxlQ29sb3IsYz1hLmJhY2tncm91bmRDb2xvcjthPWEuYm9yZGVyQ29sb3I7dmFyIGQ9InRleHQiO2E/ZD0ib3V0bGluZSI6YyYmKGQ9ImZpbGxlZCIpO3JldHVybnt0eXBlOmQsY3VzdG9tQ29sb3JzOntjb2xvcjpiP18uTkQoYik6dm9pZCAwLGJhY2tncm91bmRDb2xvcjpjP18uTkQoYyk6dm9pZCAwLGJvcmRlckNvbG9yOmE/Xy5ORChhKTp2b2lkIDB9fX07CmFoYT1mdW5jdGlvbih7cmVuZGVyZXI6YSxJbTpiLHdBOmMsU2M6ZCxkdzplLFFmOmYsQmw6aCxpc1N1YnNjcmliZTprPSExLENKOmw9ITEsb0w6bT0hMX0pe3ZhciBuPVlnYShhKTtrJiYobi5zdHlsZT0ibW9ubyIsbi50eXBlPSJmaWxsZWQiKTtlPSFhLmljb258fCFlJiZhLnRleHQ/YS5pY29uP2EuaWNvblBvc2l0aW9uPT09IkJVVFRPTl9JQ09OX1BPU0lUSU9OX1RZUEVfUklHSFRfT0ZfVEVYVCI/InRyYWlsaW5nIjoibGVhZGluZyI6dm9pZCAwOmY/Imljb24tb25seSI6Imljb24tb25seS00MCI7ZT09PSJpY29uLW9ubHktNDAiJiYobi50eXBlPSJ0ZXh0Iik7bT17Li4uWmdhKGEsbSl9O2w9ISFhLmlzU2VsZWN0ZWR8fCFfLngoIndlYl9wcm9wYWdhdGVfaXNfcHJlc3NlZF9raWxsc3dpdGNoIikmJiEhbDtmPWEuaXNTZWxlY3RlZCE9PXZvaWQgMDtoPWg9PT12b2lkIDA/YS5pc0Rpc2FibGVkOmg7az1hLnRleHQ/Xy5BRihhLnRleHQpOnZvaWQgMDt2YXIgcD0ocD1hLmFjY2Vzc2liaWxpdHlEYXRhPy5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWx8fAphLmFjY2Vzc2liaWxpdHk/LmxhYmVsKT9wOl8uYU4oYS50ZXh0KTtiPSRnYShhLGIsYyk7Yz1yTihhKTtjPy5sZW5ndGg/KGM9Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpMTShjKSxxZDohMH0pLGM9Yz8uaHJlZj9jOnZvaWQgMCk6Yz12b2lkIDA7cmV0dXJuey4uLm4sLi4ubSxpY29uUG9zaXRpb246ZSwuLi5kLGZvY3VzZWQ6ITEsdG9nZ2xlZDpsLHRvZ2dsZWFibGU6ZixkaXNhYmxlZDpoLFdhOmssYWNjZXNzaWJpbGl0eUxhYmVsOnAsb25UYXA6Yix1YzpjLC4uLnFOKGEuY29sb3JEYXRhPy5iYXNpY0NvbG9yUGFsZXR0ZURhdGEpLG9uZU9mZkN1c3RvbVRleHRXcmFwOmEub25lT2ZmQ3VzdG9tVGV4dFdyYXB9fTskZ2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9ck4oYSk7YihlLGQpO2lmKCFjKWZvcihsZXQgZiBvZiBlKV8uZEsoZil9fTsKck49ZnVuY3Rpb24oYSl7dmFyIGI9W107YS5jb21tYW5kJiZiLnB1c2goYS5jb21tYW5kKTthLnNlcnZpY2VFbmRwb2ludCYmYi5wdXNoKGEuc2VydmljZUVuZHBvaW50KTthLm5hdmlnYXRpb25FbmRwb2ludCYmYi5wdXNoKGEubmF2aWdhdGlvbkVuZHBvaW50KTtyZXR1cm4gYn07WmdhPWZ1bmN0aW9uKGEsYil7aWYoYilzd2l0Y2goYS5zaXplKXtjYXNlICJTSVpFX1NNQUxMIjpyZXR1cm57c2l6ZToiUyJ9O2Nhc2UgIlNJWkVfTEFSR0UiOnJldHVybntzaXplOiJMIn07Y2FzZSAiU0laRV9YTEFSR0UiOnJldHVybntzaXplOiJYTCJ9O2Nhc2UgIlNJWkVfWFNNQUxMIjpyZXR1cm57c2l6ZToiWFMifTtkZWZhdWx0OnJldHVybntzaXplOiJNIn19c3dpdGNoKGEuc3R5bGUpe2Nhc2UgIlNUWUxFX0NPTVBBQ1RfR1JBWSI6cmV0dXJue3NpemU6IlMifTtkZWZhdWx0OnJldHVybntzaXplOiJNIn19fTsKWWdhPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnN0eWxlKXtjYXNlICJTVFlMRV9WSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiZGlzYWJsZWQifTtjYXNlICJTVFlMRV9QUklNQVJZIjpjYXNlICJTVFlMRV9QQVlNRU5UIjpjYXNlICJTVFlMRV9DQUxMX1RPX0FDVElPTl9GSUxMRUQiOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0NBTExfVE9fQUNUSU9OX1RPTkFMIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX09VVExJTkUiOmNhc2UgIlNUWUxFX1NVR0dFU1RJVkUiOmNhc2UgIlNUWUxFX1NVR0dFU1RFRF9BQ1RJT04iOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CTFVFX1RFWFQiOmNhc2UgIlNUWUxFX0FMRVJUX0lORk8iOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLAp0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9XSElURV9XSVRIX0JPUkRFUiI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTElHSFRfVEVYVCI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTU9OT19GSUxMRURfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX1RPTkFMX09WRVJMQVkiOmNhc2UgIlNUWUxFX0RBUktfT05fQkxBQ0siOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVkVSTEFZX1BST1RFQ1RFRCI6cmV0dXJue3N0eWxlOiJvdmVybGF5LWRhcmsiLAp0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fRklMTEVEIjpjYXNlICJTVFlMRV9ERVNUUlVDVElWRSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9ERUZBVUxUIjpjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOmNhc2UgIlNUWUxFX01PTk9fVE9OQUwiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9JTkFDVElWRV9PVVRMSU5FIjpjYXNlICJTVFlMRV9NT05PX09VVExJTkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JMVUVfVEVYVF9XSVRIX0lOVkVSU0VfVEhFTUUiOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24taW52ZXJzZSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JSQU5EX0dSQURJRU5UIjpyZXR1cm57c3R5bGU6ImJyYW5kLWdyYWRpZW50IiwKdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfR0VORVJBVElWRV9HUkFESUVOVCI6cmV0dXJue3N0eWxlOiJnZW4tYWktZ3JhZGllbnQiLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2RlZmF1bHQ6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn19fTsKZGhhPWZ1bmN0aW9uKHtyZW5kZXJlcjphLGVsZW1lbnQ6Yix0b2dnbGVkOmMsSW06ZCxSdTplLFNjOmYsZHc6aCxRZjprLEJsOmwsbkw6bSxhYjpufSl7dmFyIHA9YmhhKGEsYyk7aD0hYS5kZWZhdWx0SWNvbnx8IWgmJmEuZGVmYXVsdFRleHQ/YS5kZWZhdWx0SWNvbj8ibGVhZGluZyI6dm9pZCAwOms/Imljb24tb25seSI6Imljb24tb25seS00MCI7aD09PSJpY29uLW9ubHktNDAiJiYocC50eXBlPSJ0ZXh0Iik7YTpzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOms9e3NpemU6IlMifTticmVhayBhO2RlZmF1bHQ6az17c2l6ZToiTSJ9fWs9ey4uLmt9O3ZhciByPShyPWMmJmEudG9nZ2xlZFRleHR8fGEuZGVmYXVsdFRleHQpP18uQUYocik6dm9pZCAwO20/KG09Xy5hTihjJiZhLnRvZ2dsZWRUZXh0fHxhLmRlZmF1bHRUZXh0KSkmJm4mJiFpc05hTihOdW1iZXIobi5udW1iZXJWYWx1ZSkpPyhuLlhiPW0sYyYmKG4ubnVtYmVyVmFsdWUrPQoxKSk6bj12b2lkIDA6bj12b2lkIDA7bT0obT0oYz9hLnRvZ2dsZWRBY2Nlc3NpYmlsaXR5RGF0YXx8YS50b2dnbGVkVGV4dD8uYWNjZXNzaWJpbGl0eTphLmFjY2Vzc2liaWxpdHlEYXRhfHxhLmRlZmF1bHRUZXh0Py5hY2Nlc3NpYmlsaXR5KT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHxhLmFjY2Vzc2liaWxpdHk/LmxhYmVsKT9tOl8uYU4oYyYmYS50b2dnbGVkVGV4dHx8YS5kZWZhdWx0VGV4dCk7bD1sPT09dm9pZCAwP2EuaXNEaXNhYmxlZDpsO2I9Y2hhKGEsYyxkLGIsZSk7ZD1zTihhLGMpO2Q/Lmxlbmd0aD8oZD1fLmJFKHtpbm5lcnR1YmVDb21tYW5kOkxNKGQpLHFkOiEwfSksZD1kPy5ocmVmP2Q6dm9pZCAwKTpkPXZvaWQgMDtyZXR1cm57Li4ucCwuLi5rLGljb25Qb3NpdGlvbjpoLC4uLmYsZm9jdXNlZDohMSx0b2dnbGVkOiEhYyx0b2dnbGVhYmxlOiEwLFdhOnIsYWI6bixhY2Nlc3NpYmlsaXR5TGFiZWw6bSxkaXNhYmxlZDpsLG9uVGFwOmIsdWM6ZCwuLi5xTihhLmNvbG9yRGF0YT8uYmFzaWNDb2xvclBhbGV0dGVEYXRhKX19OwpjaGE9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9KXtyZXR1cm4gZj0+e3ZhciBoPWEubG9nZ2luZ0RpcmVjdGl2ZXM/LmNsaWVudFZlU3BlYz8udWlUeXBlP18udXgoYS5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlKTp2b2lkIDA7ZS5jbGlja2VkVmlzdWFsRWxlbWVudHx8KGUuY2xpY2tlZFZpc3VhbEVsZW1lbnQ9aCk7aD1zTihhLGIpO2MoaCxmKTtmb3IobGV0IG4gb2YgaCl7aD1uO3ZhciBrPWQsbD1mLG09ZTttLmZvcm0/bS5mb3JtLmV2ZW50PWw6bS5mb3JtPXtlbGVtZW50OmssZXZlbnQ6bH07Xy5kSyhoLG0pfX19OwpzTj1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I/KGEudG9nZ2xlZENvbW1hbmQmJmMucHVzaChhLnRvZ2dsZWRDb21tYW5kKSxhLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQmJmMucHVzaChhLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQpKTooYS5kZWZhdWx0Q29tbWFuZCYmYy5wdXNoKGEuZGVmYXVsdENvbW1hbmQpLGEuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCYmYy5wdXNoKGEuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCksYS5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50JiZjLnB1c2goYS5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50KSk7cmV0dXJuIGN9OwpiaGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnRvZ2dsZWRTdHlsZXx8YS5zdHlsZTtzd2l0Y2goKGI/YzphLnN0eWxlKT8uc3R5bGVUeXBlKXtjYXNlICJTVFlMRV9WSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiZGlzYWJsZWQifTtjYXNlICJTVFlMRV9QUklNQVJZIjpjYXNlICJTVFlMRV9QQVlNRU5UIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9TVUdHRVNUSVZFIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfQkxVRV9URVhUIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfREVTVFJVQ1RJVkUiOmNhc2UgIlNUWUxFX01PTk9fRklMTEVEIjpyZXR1cm57c3R5bGU6Im1vbm8iLAp0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVkVSTEFZIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0xJR0hUX1RFWFQiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fVE9OQUxfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0RFRkFVTFQiOmNhc2UgIlNUWUxFX0NPTVBBQ1RfR1JBWSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0lOQUNUSVZFX09VVExJTkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2RlZmF1bHQ6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn19fTsKXy50Tj1mdW5jdGlvbihhKXtyZXR1cm4gXy5LKF8uZ0cse3BhOigpPT5bYS5jb21wb25lbnQoKV19LGI9PmI/LigpKX07ZmhhPWZ1bmN0aW9uKGEsYixjKXtpZihjPT09bnVsbHx8Yz09PXZvaWQgMClyZXR1cm4gYzt2YXIgZD1fLmdCKGEudGFnTmFtZS50b0xvd2VyQ2FzZSgpLGIsKCk9Pnt0aHJvdyBFcnJvcigibWMiKTt9KTtpZihkPT09bnVsbClyZXR1cm4gYztkPWVoYVtkXTtpZihkLmhlPy4oYykpe2lmKGQuS2QpcmV0dXJuIGQuS2QoYyk7dGhyb3cgRXJyb3IoIkRkIik7fXJldHVybiBkLnBkP2QucGQoYS50YWdOYW1lLGIsU3RyaW5nKGMpKTpjfTtfLnVOPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZvcmVncm91bmRUaXRsZUNvbG9yPT09IlRIRU1FX0FUVFJJQlVURV9URVhUX0RJU0FCTEVEInx8YS5mb3JlZ3JvdW5kSWNvbkNvbG9yPT09IlRIRU1FX0FUVFJJQlVURV9JQ09OX0RJU0FCTEVEIn07dk49ZnVuY3Rpb24oYSl7aWYoYSYmXy5LTShhKSlyZXR1cm4gYX07Clg9ZnVuY3Rpb24oYSxiKXsoYj1fLmFBKGEse30sYikpfHxfLldpKEVycm9yKCJFZGAiK2EpKTtyZXR1cm4gYn07Xy53Tj1mdW5jdGlvbihhKXtyZXR1cm57dXJsRW5kcG9pbnQ6e3VybDphfSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOmF9fX19O18ueE49ZnVuY3Rpb24oKXtyZXR1cm4gXy5vTSgpLmdldFN0YXRlKCkudGk/LmpqfTtfLnlOPWZ1bmN0aW9uKGEpe18ueSgpLnJlc29sdmUoXy5jTCkud2coe1FrOmF9KX07Xy56Tj1mdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5jTCkuSmUoKX07Xy5CTj1mdW5jdGlvbihhLGIpe3ZhciBjPWE/LnBhcmVudEVsZW1lbnQ/LmNoaWxkcmVuO2lmKGMpZm9yKGxldCBkPTA7ZDxjLmxlbmd0aDtkKyspe2xldCBlPWNbZF07Y1tkXSE9PWEmJihiP2Uuc2V0QXR0cmlidXRlKCJpbmVydCIsInRydWUiKTplLnJlbW92ZUF0dHJpYnV0ZSgiaW5lcnQiKSxBTihlLGIpKX19OwpBTj1mdW5jdGlvbihhLGIpe2I/KGEuaGFzQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpJiZhLnNldEF0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iLGEuZ2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpKSxhLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIikpOihhLmhhc0F0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iKSYmKGEuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsYS5nZXRBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIikpLGEucmVtb3ZlQXR0cmlidXRlKCJkYXRhLW9sZC1hcmlhLWhpZGRlbiIpKSxhLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSl9O0NOPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwbGF5ZXItY29udGFpbmVyLWlkIik7YiYmQU4oYixhKX07CmdoYT1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50O3JldHVybihhPWEuc2Nyb2xsaW5nRWxlbWVudD9hLnNjcm9sbGluZ0VsZW1lbnQ6Xy5jcnx8YS5jb21wYXRNb2RlIT0iQ1NTMUNvbXBhdCI/YS5ib2R5fHxhLmRvY3VtZW50RWxlbWVudDphLmRvY3VtZW50RWxlbWVudCkmJnR5cGVvZiBhLnNjcm9sbFRvcD09PSJudW1iZXIiP2Euc2Nyb2xsVG9wOnR5cGVvZiB3aW5kb3cucGFnZVlPZmZzZXQ9PT0ibnVtYmVyIj93aW5kb3cucGFnZVlPZmZzZXQ6MH07Cl8uSk49ZnVuY3Rpb24oYSxiPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsYz0hMSl7YSE9PV8uRE5bXy5ETi5sZW5ndGgtMV0mJl8uRE4ucHVzaChhKTtiIT09ZG9jdW1lbnQuYm9keT9FTi5zZXQoYSxiKTpFTi5oYXMoYSl8fEVOLnNldChhLG51bGwpO2M/Xy5PRSgoKT0+e2hoYShhLGEucXVlcnlTZWxlY3RvcigiZGlhbG9nIikpfSk6Xy5PRSgoKT0+e2E/LnF1ZXJ5U2VsZWN0b3IoImRpYWxvZyIpPy5mb2N1cygpfSk7Xy5ETi5sZW5ndGg+MXx8KEZOPWdoYSgpLF8uQk4oYSwhMCksR04mJkhOJiZjYW5jZWxBbmltYXRpb25GcmFtZShHTiksSU49cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Xy54TigpfHwoZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoIm1vZGFsLW9wZW4tYm9keSIsIiIpLGRvY3VtZW50LmJvZHkuc3R5bGUudG9wPWAtJHtGTn1weGAsd2luZG93LnNjcm9sbFRvKDAsLUZOKSxJTj1udWxsKX0pKX07CmloYT1mdW5jdGlvbihhKXtyZXR1cm4gQXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwoJ2EsaW5wdXQ6bm90KFtkaXNhYmxlZF0pLHNlbGVjdDpub3QoW2Rpc2FibGVkXSksYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpub3QoLm1vZGFsLWhpZGRlbi1idXR0b24pLFt0YWJpbmRleD0iMCJdJykpLmZpbHRlcihiPT57aWYoYi50ZXh0Q29udGVudClyZXR1cm4hMDtpZihiIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCl7aWYoIWIubGFiZWxzKXJldHVybiExO2ZvcihsZXQgYyBvZiBiLmxhYmVscylpZihjLnRleHRDb250ZW50KXJldHVybiEwfXJldHVybiExfSl9OwpoaGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1paGEoYSksZD1jWzBdO2lmKCFkJiZiKWIuZm9jdXMoKTtlbHNle3ZhciBlPWNbYy5sZW5ndGgtMV07aWYoZCl7ZC5mb2N1cygpO2xldCBmPWg9PntoLmtleUNvZGU9PT0yNyYmKGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZiksXy5LTihhKSk7aC5rZXlDb2RlIT09MzgmJmgua2V5Q29kZSE9PTQwJiZoLmtleUNvZGUhPT05fHxqaGEoZCxlKX07YS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmKX19fTtqaGE9ZnVuY3Rpb24oYSxiKXtpZighTE4pe0xOPSEwO3ZhciBjPU1OKCk7YS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLGEpO2MuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsKCk9PntiLmZvY3VzKCl9KTtjPU1OKCk7Yi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLGIubmV4dFNpYmxpbmcpO2MuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsKCk9PnthLmZvY3VzKCl9KX19OwpNTj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTthLmNsYXNzTmFtZT0ibW9kYWwtaGlkZGVuLWJ1dHRvbiI7YS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKTthLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIik7cmV0dXJuIGF9OwpfLktOPWZ1bmN0aW9uKGEpe3ZhciBiPUVOLmdldChhKTtFTi5kZWxldGUoYSk7aWYoa2hhKXtpZihfLkJOKGEsITEpLF8uV00oKSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigieXRtLWVuZ2FnZW1lbnQtcGFuZWwiKSYmQ04oITApLF8ueGIoXy5ETixhKSxfLkROLmxlbmd0aCE9PTApe2ImJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18uZE4oYil9KTtyZXR1cm59fWVsc2V7Xy54YihfLkROLGEpO2lmKF8uRE4ubGVuZ3RoIT09MCl7YiYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Xy5kTihiKX0pO3JldHVybn1fLkJOKGEsITEpO18uV00oKSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigieXRtLWVuZ2FnZW1lbnQtcGFuZWwiKSYmQ04oITApfUlOJiZITiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoSU4pO0dOPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2RvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJtb2RhbC1vcGVuLWJvZHkiKTtkb2N1bWVudC5ib2R5LnN0eWxlLnRvcD0KIiI7YiYmXy5kTihiKTtfLmZyP18uT0UoKCk9Pnt3aW5kb3cuc2Nyb2xsVG8oMCxGTil9KTp3aW5kb3cuc2Nyb2xsVG8oMCxGTik7R049bnVsbH0pfTtsaGE9ZnVuY3Rpb24oYSxiLGM9Xy5OTil7aWYoYSl7dmFyIGQ9Xy55KCkucmVzb2x2ZShfLkx4KTtkP18uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmQsTmI6YyxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6YS5sYXllcn0pOl8uSXAobmV3IF8uWGooIldhcm5pbmc6IG1vbml0b3JWaXNpYmlsaXR5IGNhbGxlZCB3aXRoIG51bGwgb2JzZXJ2ZXIiLGEudGFnTmFtZSxiPy5sb2dnaW5nRGlyZWN0aXZlcyxiPy50cmFja2luZ1BhcmFtcykpfWVsc2UgXy5JcChuZXcgXy5YaigiV2FybmluZzogbW9uaXRvclZpc2liaWxpdHkgY2FsbGVkIHdpdGggbnVsbCBlbGVtZW50IixiPy5sb2dnaW5nRGlyZWN0aXZlcyxiPy50cmFja2luZ1BhcmFtcyxiPy5yZW5kZXJlckNvbnRleHQpKX07Cm1oYT1mdW5jdGlvbihhLGIpe2EmJl8uT0UoKCk9PntsaGEoYSxiLF8uTk4pfSl9O1FOPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09IlNIT1JUU19MSUtFIiYmXy54KCJlbmFibGVfc2hvcnRzX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKT8ic2hvcnRzX3RodW1ic191cCI6Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJmEmJk9OW2FdP09OW2FdOmEmJlBOW2FdP1BOW2FdOmF9O25oYT1mdW5jdGlvbigpe2lmKFJOKXt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oU04pKTtSTj0hMTthPy52KCl9fTtvaGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWJbYi5sZW5ndGgtMV0hPT0iJCI7Yz1maGEoYSxiLGMpO2Q/YVtiXT1jOihkPWM9PW51bGw/bnVsbDpTdHJpbmcoYyksXy5RQShhLGIuc2xpY2UoMCwtMSksZCkpfTsKVE49ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9YS5jb21wb25lbnQ7YiYmKGI/LmV2ZW50cz8ucHVibGlzaCgiRElTQ09OTkVDVEVEIiksYj8uZEs/LigpKTthLkxIPy5IZj8uKCk7Zm9yKGI9MDtiPGEuY2hpbGROb2Rlcy5sZW5ndGg7YisrKVROKGEuY2hpbGROb2Rlc1tiXSl9fTtfLlVOPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRkoudGhlbigoKT0+e3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNtZW51IiYmKF8uWU0/Xy4kTSgiIik6Xy5aTSgpKTtyZXR1cm4gXy5GSn0pfTsKcWhhPWZ1bmN0aW9uKGEpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZihhLmlzRGlzYWJsZWQmJmEuZGlzYWJsZWRDb21tYW5kKV8uQUooYS5kaXNhYmxlZENvbW1hbmQsYSwhMSk7ZWxzZXtWTj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVudSIpO1ZOfHwoVk49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksVk4uaWQ9Im1lbnUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoVk4pKTt3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjbWVudSImJl8uJE0oIm1lbnUiKTtWTi5jbGFzc05hbWU9YS5pc0Z1bGxXaWR0aD8ibWVudS1jb250YWluZXIgbWVudS1mdWxsLXdpZHRoIjoibWVudS1jb250YWluZXIiO2EuY2xhc3NOYW1lJiYoVk4uY2xhc3NOYW1lKz0iICIrYS5jbGFzc05hbWUpOyJzY3JvbGxUbyJpbiBWTiYmVk4uc2Nyb2xsVG8oMCwwKTt2YXIgYz1hLkZBfHxfLm1HKCk7Xy5WeihiLF8udk0oYS5vd25lciYmIWEub3duZXIuaWE/CmEub3duZXI6bnVsbCkpO18ueCgibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIik/KHBoYShhKSxXTnx8KFdOPV8ueEYoVk4sKCk9Pl8uSyhfLklCLG51bGwsXy5LKFhOLHtEaDooKT0+WU4oKX0sXy5LKF8udE4se2NvbXBvbmVudDooKT0+e3ZhciBkPVlOKCk7aWYoZClyZXR1cm4oKT0+Xy5wRyhjfHx7fSwoKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+ZC5jb250ZW50fSkpfX0pKSxfLksoXy5aTix7bGFiZWw6Xy4kTi5DTE9TRSxvbmNsaWNrOl8uVU59KSkse0lrOl8uWEN9KSkpOihfLmZOKFZOLG51bGwpLF8uZk4oVk4sXy5LKF8uSUIsbnVsbCxfLksoWE4se0RoOmF9LGEuY29udGVudCgpKSxfLksoXy5aTix7bGFiZWw6Xy4kTi5DTE9TRSxvbmNsaWNrOl8uVU59KSkpKTthLnJuPT09dm9pZCAwJiYoYS5ybj0hMCk7Xy5KTihWTixhLmZvY3VzT25DbG9zZSxhLnJuKX19Y2F0Y2goZCl7Yi5lcnJvcj1kLGIuaGFzRXJyb3I9ITB9ZmluYWxseXtfLld6KGIpfX07CmFPPWZ1bmN0aW9uKCl7Vk4mJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNtZW51IiYmKF8uS04oVk4pLF8ueCgibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIik/KFdOPy4oKSxXTj12b2lkIDApOlROKFZOKSxWTi5pc0Nvbm5lY3RlZCYmZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChWTiksVk49bnVsbCl9O3JoYT0vJi9nO3NoYT0vPC9nO3RoYT0vPi9nO3VoYT0vIi9nO3ZoYT0vJy9nO3doYT0vXHgwMC9nO3hoYT0vW1x4MDAmPD4iJ10vO18ud009Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPW5ldyBfLnpoKGEpfXNldChhLGIsYyl7Yz1jIT09dm9pZCAwP0RhdGUubm93KCkrYzp2b2lkIDA7dGhpcy5qLnNldChhLGIsYyl9Z2V0KGEpe3JldHVybiB0aGlzLmouZ2V0KGEpfXJlbW92ZShhKXt0aGlzLmoucmVtb3ZlKGEpfX07RWdhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPW51bGw7dGhpcy5vPWE7dGhpcy5rZXk9Yjt0aGlzLnRleHQ9dm9pZCAwfX07Rk09W107CkhNPTA7Yk89eyIqIjp7YXN5bmM6MSxkaXI6MCxsb2FkaW5nOjIsdGFyZ2V0OjN9fTt5aGE9W3thdXRvOiEwLGx0cjohMCxydGw6ITB9LHthc3luYzohMH0se2VhZ2VyOiEwLGxhenk6ITB9LHtfc2VsZjohMCxfYmxhbms6ITB9XTtPTT1udWxsO1FNPXt9O0lnYT0iV0VCX1BBR0VfVFlQRV9BQ0NPVU5UUyBXRUJfUEFHRV9UWVBFX1dFTENPTUUgV0VCX1BBR0VfVFlQRV9BQ0NPVU5UX1NFTEVDVE9SIFdFQl9QQUdFX1RZUEVfU0lHTl9JTl9JREVOVElGSUVSX0VOVFJZIFdFQl9QQUdFX1RZUEVfU0lHTl9JTl9QQVNTV09SRF9FTlRSWSBXRUJfUEFHRV9UWVBFX1NJR05fSU5fREVWSUNFX1BST01QVF9DSEFMTEVOR0UgV0VCX1BBR0VfVFlQRV9QUkVNSVVNX0xJVEVfVVBTRUxMIFdFQl9QQUdFX1RZUEVfVU5LTk9XTiIuc3BsaXQoIiAiKTsKSmdhPXtGRXdoYXRfdG9fd2F0Y2g6ImhvbWUiLEZFaGFzaHRhZzoiaGFzaHRhZyIsRkV0cmVuZGluZzoidHJlbmRpbmciLEZFaGlzdG9yeToiaGlzdG9yeSIsU1B1bmxpbWl0ZWQ6InByZW1pdW0iLEZFbWVtYmVyc2hpcHNfYW5kX3B1cmNoYXNlczoicGFpZF9tZW1iZXJzaGlwcyIsU1ByZWRlZW1fY29kZToicmVkZWVtIixTUHZlcmlmeV9sb2NhdGlvbjoibG9jYXRlIixTUG1pbm9yX21vbWVudDoibWlub3JfbW9tZW50IixGRW1pbmlfYXBwX2NvbnRhaW5lcjoibWluaV9hcHAiLEZFbmV3c19kZXN0aW5hdGlvbjoibmV3cyIsU1BvcGVuX2luX2FwcDoib3Blbl9pbl9hcHAiLEZFZXhwbG9yZToiZXhwbG9yZSIsRkVzdWJzY3JpcHRpb25zOiJzdWJzY3JpcHRpb25zIixGRXNmdl9hdWRpb19waXZvdDoic2Z2X2F1ZGlvX3Bpdm90IixGRXBsYXlsaXN0X2FnZ3JlZ2F0aW9uOiJwbGF5bGlzdF9hZ2dyZWdhdGlvbiJ9O18uWU09ITE7emhhPXthRDoieW91dHViZV9maWxsIixSRjoieW91dHViZV9vdXRsaW5lIn07CkFoYT17akY6IkxJS0UiLEVGOiJOT1RJRklDQVRJT05fQkVMTCJ9O18uS0I9Xy5sQzt2YXIgUWdhPW5ldyBTZXQoWyJGb3IiLCJJZiIsIk1hdGNoIiwiV2F0Y2giXSksY089e1tfLlJBLmRlZmF1bHRdOigpPT5fLnpCLHN0eWxlOigpPT5fLnpCfTtmb3IobGV0IGEgaW4gY08pXy5LdS5hdHRyaWJ1dGVzW2FdPWNPW2FdKF8uS3UuYXR0cmlidXRlc1thXSk7Xy5CaGE9bmV3IF8uSSgic2lnbkluRW5kcG9pbnQiKTtfLmRPPW5ldyBfLkkoImxpa2VFbmRwb2ludCIpO3ZhciBDaGE9bmV3IF8uSSgiaG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbCIpO3ZhciBEaGE9bmV3IF8uVnMoIlZJREVPX05PVElDRVNfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBFaGE9Xy5MKGE9PntmdW5jdGlvbiBiKGspe3ZhciBsPWgoKS1hLnN0ZXBTaXplKCk7ZC52YWx1ZS52YWx1ZUFzTnVtYmVyPWw7ZC52YWx1ZS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW5wdXQiKSk7ZC52YWx1ZS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2hhbmdlIikpO2suc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhrKXt2YXIgbD1oKCkrYS5zdGVwU2l6ZSgpO2QudmFsdWUudmFsdWVBc051bWJlcj1sO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IikpO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNoYW5nZSIpKTtrLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPV8udUUoImlucHV0IiksW2UsZl09Xy5BQygoKT0+YS52YWx1ZSgpPz8wKSxoPWU7Xy5uRSgoKT0+e3ZhciBrPWQudmFsdWU7ay52YWx1ZUFzTnVtYmVyPWgoKTt2YXIgbD1oKCksbT1hLm1pblZhbHVlKCksbj1hLlJsKCk7ay5zdHlsZS5zZXRQcm9wZXJ0eSgiLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCIsCmAkeyhsLW0pL24qMTAwfSVgKX0sImpUNUNDZiIpO3JldHVybiBfLksoInNsaWRlci1zaGFwZSIse2NsYXNzOl8uUCgieXRTbGlkZXJTaGFwZUhvc3QiLHt5dFNsaWRlclNoYXBlVmVydGljYWw6KCk9PmEuaXNWZXJ0aWNhbCgpfSl9LF8uSyhfLk8se0E6YS5Vaix0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbiIsImFyaWEtbGFiZWwiOmEuamwsZGlzYWJsZWQ6KCk9PmgoKT09PWEubWluVmFsdWUoKSwib246Y2xpY2siOmJ9LF8uSyhfLlVDLHttb2RlbDp7Y2lyY3VsYXI6ITB9fSksXy5LKCJkaXYiLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlciJ9LF8uSyhfLk1ELHtpY29uOiJCQVJfSE9SSVpPTlRBTCIsY2xhc3NOYW1lOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbkljb24ifSkpKX0pLF8uSygiaW5wdXQiLHtjbGFzczooKT0+YS5pc1ZlcnRpY2FsKCk/Inl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlciI6CiJ5dFNsaWRlclNoYXBlSG9zdFNsaWRlciIsdHlwZToicmFuZ2UiLGlkOiJzbGlkZXIiLGVsOmQsbWluOmEubWluVmFsdWUsbWF4OmEubWF4VmFsdWUsImFyaWEtbGFiZWwiOmEuYXJpYUxhYmVsLCJhcmlhLXZhbHVlbWluIjphLm1pblZhbHVlLCJhcmlhLXZhbHVlbWF4IjphLm1heFZhbHVlLCJhcmlhLXZhbHVlbm93IjpoLCJhcmlhLXZhbHVldGV4dCI6KCk9PlN0cmluZyhoKCkpLHZhbHVlOmgsc3RlcDphLnN0ZXBTaXplLCJvbjppbnB1dCI6ZnVuY3Rpb24oayl7YS5SYz8uKGspO2YoTnVtYmVyKGQudmFsdWU/LnZhbHVlPz8wKSk7ay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmNoYW5nZSI6ZnVuY3Rpb24oayl7YS5vbkNoYW5nZT8uKGspO2suc3RvcFByb3BhZ2F0aW9uKCl9fSksXy5LKF8uTyx7QTphLlVqLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uIiwiYXJpYS1sYWJlbCI6YS5QbCxkaXNhYmxlZDooKT0+aCgpPT09CmEubWF4VmFsdWUoKSwib246Y2xpY2siOmN9LF8uSyhfLlVDLHttb2RlbDp7Y2lyY3VsYXI6ITB9fSksXy5LKCJkaXYiLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlciJ9LF8uSyhfLk1ELHtpY29uOiJBREQiLGNsYXNzTmFtZToieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uIn0pKSl9KSl9LCJPYSIpO3ZhciBGaGE9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBjO2lmKChjPWEuZGF0YSgpKSYmYy5tYXhWYWx1ZSYmYy5taW5WYWx1ZSYmYy5zdGVwQ291bnQpe3ZhciBkPWMudmFsdWVEZW5vbWluYXRvcj8/MSxlPShjLm1heFZhbHVlLWMubWluVmFsdWUpL2Q7Yz17dmFsdWU6KGMuaW5pdGlhbFZhbHVlPz9jLm1pblZhbHVlKS9kLGFyaWFMYWJlbDpfLkIoYy5yZW5kZXJlckNvbnRleHQsXy5ZQyk/LmxhYmVsPz8iIixtaW5WYWx1ZTpjLm1pblZhbHVlL2QsbWF4VmFsdWU6Yy5tYXhWYWx1ZS9kLFJsOmUsc3RlcFNpemU6ZS9jLnN0ZXBDb3VudCxvbkNoYW5nZTppTihjLm9uU2xpZGVyVmFsdWVTZXRDb21tYW5kLGEuWXkpLFJjOmlOKGMub25TbGlkZXJUb3VjaENvbW1hbmQsYS5meiksUGw6Xy5CKGMuaW5jcmVhc2VCdXR0b24sXy5LSik/LmFjY2Vzc2liaWxpdHlUZXh0Pz8iIixqbDpfLkIoYy5kZWNyZWFzZUJ1dHRvbixfLktKKT8uYWNjZXNzaWJpbGl0eVRleHQ/PyIiLGlzVmVydGljYWw6ITEsClVqOiEhXy5CKGMuaW5jcmVhc2VCdXR0b24sXy5LSikmJiEhXy5CKGMuZGVjcmVhc2VCdXR0b24sXy5LSil9fWVsc2UgYz17fTtyZXR1cm4gY307cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0SG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbEhvc3QifSxfLksoRWhhLHt2YWx1ZTooKT0+YigpLnZhbHVlLGFyaWFMYWJlbDooKT0+YigpLmFyaWFMYWJlbCxtaW5WYWx1ZTooKT0+YigpLm1pblZhbHVlLG1heFZhbHVlOigpPT5iKCkubWF4VmFsdWUsc3RlcFNpemU6KCk9PmIoKS5zdGVwU2l6ZSxSbDooKT0+YigpLlJsLFBsOigpPT5iKCkuUGwsamw6KCk9PmIoKS5qbCxpc1ZlcnRpY2FsOigpPT5iKCkuaXNWZXJ0aWNhbCxvbkNoYW5nZTpjPT57YigpLm9uQ2hhbmdlKGMpfSxSYzpjPT57YigpLlJjKGMpfSxVajooKT0+YigpLlVqfSkpfSwiUGEiKTt2YXIgZU89Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZVdyYXBwZXIifSxfLksoXy5PLHtBOigpPT5hKCkudGl0bGUsdGhlbjpiPT5fLksoImgyIix7Y2xhc3M6Xy5QKCJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXIiLHt5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXJOb25JbnRlcmFjdGl2ZTohXy54KCJ3ZWJfcGFuZWxfaGVhZGVyX3RpdGxlX25vbl9pbnRlcmFjdGl2ZV9raWxsc3dpdGNoIil9KX0sXy5LKF8uVix7dGV4dDpiLGNsYXNzTmFtZToieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlIn0pKX0pLF8uSyhfLk8se0E6KCk9PmEoKS5zdWJ0aXRsZSx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6YixjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZSJ9KX0pKSwiUWEiKSxmTz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8uVEgoKCk9PmEoKS5yZW5kZXJlckNvbnRleHQpO3JldHVybiBfLksoInl0LXBhbmVsLWhlYWRlci12aWV3LW1vZGVsIiwKe2NsYXNzOl8uUCgieXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3QiLHt5dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdEhpZGVEaXZpZGVyOigpPT4hIWEoKS5zaG91bGRIaWRlRGl2aWRlcix5dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdENvbXBhY3Q6KCk9PiEhYSgpLnN1YnRpdGxlfSksImFyaWEtbGFiZWwiOigpPT5iKCk/LmxhYmVsfSxfLksoXy5PLHtBOigpPT5fLnRIKGEoKS5yZW5kZXJlckNvbnRleHQpLHRoZW46KCk9Pl8uSyhfLk1KLHtjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvciIsY29tbWFuZDooKT0+Xy5zSChhKCkucmVuZGVyZXJDb250ZXh0KSxadjoieXRQYW5lbEhlYWRlclZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yRm9jdXNlZCJ9LF8uSyhlTyx7ZGF0YTphfSkpLFc6KCk9Pl8uSyhlTyx7ZGF0YTphfSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVHJhaWxpbmdCdXR0b25zIn0sXy5LKF8uVyx7ZGF0YTooKT0+CmEoKS50cmFpbGluZ0J1dHRvbnN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOmN9KT0+Xy5LKF8uSEQse2RhdGE6YyxjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b24ifSl9KSkpfSwiUmEiKTtmTy5pZG9tQ29tcGF0PSEwO3ZhciBnTz1fLkwoYT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SG9zdCIsInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Q29udGFpbmVyIiwieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4iKSxzdHlsZTooKT0+YS5DYygpP2B0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHthLk9iKCl9cHgpO3RyYW5zaXRpb246IDAuMnNgOiIifSxhLmhlYWRlcj8uKCksXy5LKCJkaXYiLHtpZDphLkhpLGNsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dENvbnRlbnRXcmFwcGVyIixzdHlsZTpfLklFKHsibWF4LWhlaWdodCI6KDAsXy5aSykoYS5GYyl9KSwib246c2Nyb2xsIjpsTihhLmpyKSwib246dG91Y2htb3ZlIjpsTigpfSxfLksoImRpdiIse2VsOl8uckYoYS5ucCksY2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Qm90dG9tU2hlZXRDb250ZW50Iiwib246Y2xpY2siOmZ1bmN0aW9uKGIpe2EucGY/LigpP2Iuc3RvcFByb3BhZ2F0aW9uKCk6YS5ZcShiKX19LAphLmJvZHk/LigpKSksYS5mb290ZXI/LigpKSwiU2EiKTtnTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2pyOiEwLG5wOiEwLFlxOiEwfX07dmFyIGhPPV8uTChhPT57dmFyIHtsZWFkaW5nTGFiZWw6Yix0cmFpbGluZ0xhYmVsOmMsUmU6ZCxwcmltYXJ5QnV0dG9uOmUsSXc6ZixzZWNvbmRhcnlCdXR0b246aCxLdzprLE9wOmwsQ3c6bX09Xy5EQyhhLHtsZWFkaW5nTGFiZWw6dm9pZCAwLHRyYWlsaW5nTGFiZWw6dm9pZCAwLFJlOnZvaWQgMH0pLG49KCk9PmIoKXx8YygpfHxmKCl8fGsoKTtyZXR1cm4gXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsbD8uKCkpLFc6KCk9Pl8uSyhfLk8se0E6bix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlcldyYXBwZXIifSxfLksoXy5PLHtBOigpPT5iKCl8fGMoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckxhYmVsV3JhcHBlcldpdGhvdXRCdXR0b25zOigpPT4hZigpfSl9LF8uSyhfLk8sCntBOmIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRMZWFkaW5nTGFiZWwifSxiKX0pLF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFRyYWlsaW5nTGFiZWwifSxjKX0pKX0pLF8uSyhfLk8se0E6KCk9PmYoKXx8aygpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVyOl8uQmNhfSl9LF8uSyhfLk8se0E6KCk9PmsoKSYmZCgpIT09MCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b24iLHt5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcjooKT0+ZCgpPT09MSYmaygpLAp5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblNwbGl0UGFpcjooKT0+ZCgpPT09MiYmaygpLHl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpcjooKT0+ZCgpPT09MyYmZigpfSl9LGg/LigpKX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uIiwoKT0+VWdhKGQoKSkpfSxlPy4oKSl9KSl9KSl9KX0pfSwiVGEiKTtoTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e3ByaW1hcnlCdXR0b246ITAsc2Vjb25kYXJ5QnV0dG9uOiEwLE9wOiEwfX07dmFyIGlPPV8uTChhPT57dmFyIHt0aXRsZTpiLHN1YnRpdGxlOmMsZ3E6ZCxEdzplLHhvOmYseHc6aCx3czprLHZzOmwsdXM6bSxRcTpuLE93OnAsaXNEcmFnZ2luZzpyfT1fLkRDKGEse3RpdGxlOnZvaWQgMCxzdWJ0aXRsZTp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlciIse3l0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcklzRHJhZ2dpbmc6cn0pLGlkOnAsIm9uOnRvdWNoc3RhcnQiOmxOKGspLCJvbjp0b3VjaG1vdmUiOmxOKGwpLCJvbjp0b3VjaGVuZCI6bE4obSksIm9uOm1vdXNlZG93biI6bE4obil9LF8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0RHJhZ0xpbmUifSksXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsZD8uKCkpLFc6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcjohMCwKeXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXaXRoVGl0bGU6Yn0pfSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxlV3JhcHBlciJ9LF8uSyhfLk8se0E6Yix0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSygiaDIiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZSJ9LGIpLF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoImgzIix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGUifSxjKX0pKX0pKSxfLksoXy5PLHtBOigpPT5iKCkmJmgoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlciJ9LGY/LigpKX0pKX0pKX0sIlVhIik7aU8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOnt3czohMCx2czohMCx1czohMCxRcTohMCx4bzohMCxncTohMCxpc0RyYWdnaW5nOiEwfX07dmFyIGpPPV8uTChhPT57ZnVuY3Rpb24gYihhYSl7aWYoIVkmJnR5cGVvZiBNdXRhdGlvbk9ic2VydmVyIT09InVuZGVmaW5lZCIpe3ZhciBPYT17Y2hpbGRMaXN0OiEwfTsiTXV0YXRpb25PYnNlcnZlciJpbiB3aW5kb3cmJihZPW5ldyBNdXRhdGlvbk9ic2VydmVyKGMuYmluZCh2b2lkIDAsYWEpKSxZLm9ic2VydmUoYWEsT2EpKX19ZnVuY3Rpb24gYyhhYSl7dHlwZW9mIFkhPT0idW5kZWZpbmVkIiYmKHBhWyJjb250ZW50LXdyYXBwZXIiXT09PXZvaWQgMCYmKHBhWyJjb250ZW50LXdyYXBwZXIiXT1hYS5jaGlsZHJlblswXS5jbGllbnRIZWlnaHQpLEcocGFbImNvbnRlbnQtd3JhcHBlciJdKSwhKEMoKT5SKCkpJiZDKCk+MCYmTShDKCkpKX1mdW5jdGlvbiBkKCl7RSh3aW5kb3cuaW5uZXJIZWlnaHQpOyEoQygpPlIoKSkmJkMoKT4wJiZNKEMoKSk7b2EuUGNbMF0oKSYmQygpPlIoKT9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLAp7bWF4SGVpZ2h0OlIoKX0pfWZ1bmN0aW9uIGUoYWEpe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSJub25lIjthYS5wcmV2ZW50RGVmYXVsdCgpO1UoKS5kaXNwYXRjaCgiRHJhZyBTdGFydCIse2NsaWVudFk6YWEudG91Y2hlc1swXS5jbGllbnRZfSl9ZnVuY3Rpb24gZihhYSl7YWEucHJldmVudERlZmF1bHQoKTtVKCkuZGlzcGF0Y2goIkRyYWcgTW92ZSIse2NsaWVudFk6YWEudG91Y2hlc1swXS5jbGllbnRZLG1wOkMoKT5SKCksVHA6UygpLHFwOlIoKSxocTpwYSxIaToiY29udGVudC13cmFwcGVyIixoZWFkZXI6bk4oYSksZm9vdGVyOm5OKGEpLGZxOnBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl0sTnA6cGFbImJvdHRvbS1zaGVldC1mb290ZXIiXX0pfWZ1bmN0aW9uIGgoYWEpe2FhLmJ1dHRvbj09PTAmJihhYS5wcmV2ZW50RGVmYXVsdCgpLHRhKCEwKSxVKCkuZGlzcGF0Y2goIkRyYWcgU3RhcnQiLHtjbGllbnRZOmFhLmNsaWVudFl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwKVCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLGspKX1mdW5jdGlvbiBrKCl7dGEoITEpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLFQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKTttKCl9ZnVuY3Rpb24gbCgpe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiO20oKX1mdW5jdGlvbiBtKCl7b2EuUGNbMF0oKT9vYS5PYlswXSgpPj02MD9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gTmV1dHJhbCBQb3NpdGlvbiIse21heEhlaWdodDpSKCl9KTpVKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6b2EuT2JbMF0oKT49NjA/bigpOm9hLk9iWzBdKCk8PS02MCYmQygpPlIoKT9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLHttYXhIZWlnaHQ6UigpfSl9CmZ1bmN0aW9uIG4oKXtVKCkuZGlzcGF0Y2goIkNsb3NlIFNoZWV0Iix7Y2xpZW50SGVpZ2h0OnooKSxtYXhIZWlnaHQ6MH0pO3NldFRpbWVvdXQoKCk9PnttTigpfSwyNTApfXZhciBwPV8udUUoImRpdiIpLHI9Xy51RSgiZGl2IiksW3Qsdl09Xy5KKHdpbmRvdy5pbm5lckhlaWdodCx2b2lkIDAsIkNtT3NVIiksej10LEU9dixbQSxGXT1fLkooMCx2b2lkIDAsInAwRmxoYiIpLEM9QSxHPUYsW0QsSF09Xy5BQygoKT0+e3ZhciBhYT1uTihhKTtyZXR1cm4uNip6KCktak4oYWEpLWtOKGFhKX0pLFI9RCxNPUgsUz0oKT0+e3ZhciBhYT1uTihhKSxPYT16KCksSmI9cGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXSx6YT1wYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdO3JldHVybiBPYS0oYWEuamgmJkpiIT09dm9pZCAwP0piOmpOKGFhKSktKGFhLmhoJiZ6YSE9PXZvaWQgMD96YTprTihhYSkpLTI0LTI0fSxZPW51bGwscGE9e30sb2E9e1ZlOl8uSigwLHZvaWQgMCwic3hkRVNkIiksT2I6Xy5KKDAsCnZvaWQgMCwiR1p6cWViIiksQ2M6Xy5KKCExLHZvaWQgMCwidkpCdXBjIiksUGM6Xy5KKCExLHZvaWQgMCwiWHlSRHAiKSxGYzpfLkFDKFIpfSxVPSgoKT0+e3ZhciBhYT1udWxsO3JldHVybigpPT57aWYoIWFhKXtsZXQgT2E9e1ZlOm9hLlZlWzBdKCksT2I6b2EuT2JbMF0oKSxDYzpvYS5DY1swXSgpLFBjOm9hLlBjWzBdKCksRmM6b2EuRmNbMF0oKX07YWE9VGdhKE9hKX1yZXR1cm4gYWF9fSkoKTtfLlVKKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZCk7VSgpLnN1YnNjcmliZShhYT0+e29hLlZlWzFdKGFhLlZlKTtvYS5PYlsxXShhYS5PYik7b2EuQ2NbMV0oYWEuQ2MpO29hLlBjWzFdKGFhLlBjKTtvYS5GY1sxXShhYS5GYyl9KTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntwLnZhbHVlJiYocGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXT1wLnZhbHVlLmNsaWVudEhlaWdodCk7ci52YWx1ZSYmKHBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl09ci52YWx1ZS5jbGllbnRIZWlnaHQpfSl9KTsKXy5ZdSgoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLFQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKTtZJiYoWS5kaXNjb25uZWN0KCksWT1udWxsKX0pO3ZhciBbaGEsbWFdPV8uSighMSx2b2lkIDAsIktzaVRZZSIpLHRhPW1hLFQ9YWE9PntVKCkuZGlzcGF0Y2goIkRyYWcgTW92ZSIse2NsaWVudFk6YWEuY2xpZW50WSxtcDpDKCk+UigpLFRwOlMoKSxxcDpSKCksaHE6cGEsSGk6ImNvbnRlbnQtd3JhcHBlciIsaGVhZGVyOm5OKGEpLGZvb3RlcjpuTihhKSxmcTpwYVsiYm90dG9tLXNoZWV0LWhlYWRlciJdLE5wOnBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl19KX0sYmE9Xy5QKHsiYm90dG9tLXNoZWV0LWNvbnRlbnQtd2l0aG91dC1pY29uIjooKT0+IWEuSGE/LigpfSk7cmV0dXJuIF8uSygiYm90dG9tLXNoZWV0LWxheW91dCIsbnVsbCxfLksoZ08se0hpOiJjb250ZW50LXdyYXBwZXIiLApDYzooKT0+b2EuQ2NbMF0oKSxPYjooKT0+b2EuT2JbMF0oKSxGYzooKT0+b2EuRmNbMF0oKSxIYTphLkhhLHBmOmEucGYsanI6KCk9Pnt2YXIgYWE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvdHRvbS1zaGVldC1oZWFkZXIiKSxPYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGVudC13cmFwcGVyIik7aWYoYWEmJk9hKXt2YXIgSmI9e3l0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcjohMCx5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJCb3R0b21Cb3JkZXI6ITB9O2FhLmNsYXNzTmFtZT1PYS5zY3JvbGxUb3A+MT9fLmFMKEpiKToieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVyIn19LFlxOm1OLG5wOmFhPT57YihhYSk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YyhhYSl9KX0saGVhZGVyOigpPT5fLksoImRpdiIse2VsOnB9LF8uSyhpTyx7aXNEcmFnZ2luZzpoYSx3czplLHZzOmYsdXM6bCxRcTpoLHRpdGxlOmEuaGVhZGVyVGl0bGUsCnN1YnRpdGxlOmEuaGVhZGVyU3VidGl0bGUsT3c6ImJvdHRvbS1zaGVldC1oZWFkZXIiLGdxOmEuVWUsRHc6YS5qaCx4bzphLldmLHh3OmEuaWh9KSksZm9vdGVyOigpPT5fLksoImRpdiIse2VsOnJ9LF8uSyhoTyx7UmU6YS5SZSxsZWFkaW5nTGFiZWw6YS5NZix0cmFpbGluZ0xhYmVsOmEuUGYscHJpbWFyeUJ1dHRvbjphLk5mLEl3OmEuVWYsc2Vjb25kYXJ5QnV0dG9uOmEuT2YsS3c6YS5WZixPcDphLlNlLEN3OmEuaGh9KSksYm9keTooKT0+Xy5LKF8uTyx7QTphLlhpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6YmF9LGEuR2I/LigpKX0pfSkpfSwiVmEiKTtqTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e1dmOiEwLFVlOiEwLEdiOiEwLFNlOiEwLE5mOiEwLE9mOiEwfX07Xy5MKGE9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uY0wpO3JldHVybiBfLksoInl0LWNvbnRleHR1YWwtc2hlZXQtbGF5b3V0Iix7Y2xhc3M6Xy5QKCJ5dENvbnRleHR1YWxTaGVldExheW91dEhvc3QiLHt5dENvbnRleHR1YWxTaGVldExheW91dEFkZFBhZGRpbmc6YS5ydSx5dENvbnRleHR1YWxTaGVldExheW91dEhvc3RPbGRNaW5XaWR0aDooKT0+ISFhLmhhc0hlYWRlcj8uKCl8fCEhYS5Cdz8uKCl8fF8ueCgiZW5hYmxlX2NvbnRleHR1YWxfc2hlZXRfb2xkX21pbl93aWR0aF9raWxsc3dpdGNoIil9KSxlbDpfLnJGKF8uZEwpLCJvbjpjbGljayI6KCk9PnthPy52Sz8uKCl8fGIuSmUoKX19LF8uSyhfLk8se0E6KCk9PiEhYS5oZWFkZXIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIZWFkZXJDb250YWluZXIifSxhLmhlYWRlcigpKX0pLF8uSyhfLk8se0E6KCk9PiEhYS5jb250ZW50LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lciJ9LAphLmNvbnRlbnQoKSl9KSxfLksoXy5PLHtBOigpPT4hIWEuZm9vdGVyLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Rm9vdGVyQ29udGFpbmVyIn0sYS5mb290ZXIoKSl9KSl9LCJXYSIpLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aGVhZGVyOiEwLGNvbnRlbnQ6ITAsZm9vdGVyOiEwLGhhc0hlYWRlcjohMCxnSjohMCxCdzohMCxydTohMH19O3ZhciBHaGE9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLG9uQ2xpY2s6Y30pPT5fLksoInl0dy12YXJpYWJsZS1zcGVlZC1jb250cm9sbGVyLXNwZWVkLWJ1dHRvbi12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsSG9zdCIsYil9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5wbGF5YmFja1NwZWVkQnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLkhELHtkYXRhOmQsb25DbGljazpjfSl9KSxfLksoXy5WLHtjbGFzc05hbWU6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVsIix0ZXh0OigpPT5hKCkuYnV0dG9uTGFiZWx9KSksIlhhIik7dmFyIG9OOwpfLmtPPV8uTCgoe2RhdGE6YSxwejpiPVZnYSxvejpjPVdnYSxxejpkPVhnYX0pPT57dmFyIFtlLGZdPV8uSigxMDAsdm9pZCAwLCJkME5LeWIiKSxbaCxrXT1fLkooITEsdm9pZCAwLCJYWHZna2IiKSxsPW09PntmKG0udGFyZ2V0LnZhbHVlQXNOdW1iZXIpO2I/LihtKX07Xy5uRSgoKT0+e2lmKGEoKS5zbGlkZXIpe3ZhciBtPV8uQihhKCkuc2xpZGVyLENoYSk7bSYmKG0uaW5pdGlhbFZhbHVlJiZtLnZhbHVlRGVub21pbmF0b3I/ZihtLmluaXRpYWxWYWx1ZS9tLnZhbHVlRGVub21pbmF0b3IpOmYoMCkpfX0sIlJ2SERyZiIpO3JldHVybiBfLksoInZhcmlhYmxlLXNwZWVkLWNvbnRyb2xsZXItdmlldy1tb2RlbCIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFNwZWVkSW5kaWNhdG9yQ29udGFpbmVyIn0sXy5LKF8uTyx7QTooKT0+ZSgpPjIsdGhlbjooKT0+Cl8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdlIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJhZGdlfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKF8uRUQse2RhdGE6bX0pfSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkRGlzcGxheSIsImFyaWEtbGl2ZSI6InBvbGl0ZSIsImFyaWEtYXRvbWljIjoidHJ1ZSIsImFyaWEtYnVzeSI6aH0sKCk9Pl8uYUEoIlBMQVlCQUNLX1NQRUVEX1giLHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyOmAke2UoKS50b0ZpeGVkKDIpfWB9KSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsU2xpZGVyQ29udGFpbmVyIiwib246Zm9jdXNpbiI6ZnVuY3Rpb24obSl7bS50YXJnZXQudGFnTmFtZT09PSJJTlBVVCImJmsoITApfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKG0pe20udGFyZ2V0LnRhZ05hbWU9PT0KIklOUFVUIiYmayghMSl9fSxfLksoXy5XLHtkYXRhOigpPT5hKCkuc2xpZGVyfSx7aG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoRmhhLHtkYXRhOigpPT4oey4uLm0oKSxpbml0aWFsVmFsdWU6ZSgpKjEwMH0pLGZ6OmwsWXk6Y30pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnBsYXliYWNrU3BlZWRCdXR0b25zfSx7dmFyaWFibGVTcGVlZENvbnRyb2xsZXJTcGVlZEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoR2hhLHtkYXRhOm0sY2xhc3NOYW1lOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b24iLG9uQ2xpY2s6KCk9Pnt2YXIgbj1tKCk/LnBsYXliYWNrU3BlZWRCdXR0b25DZW50aVZhbHVlO24mJihmKG4vMTAwKSxkPy4obi8xMDApKX19KX0pKSl9LCJaYSIpO3ZhciBIaGE9bmV3IF8uVnMoIkNPTlRFTlRfRkVFREJBQ0tfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBsTz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5VRCksYz1fLnBIKHtOYjooZixoKT0+e18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpfHwhZnx8Xy56SChhPy4oKT8ucmVuZGVyZXJDb250ZXh0KXx8TU0oaCl9LGViOntWYjohMSxzdGF0ZToidmlzaWJsZSJ9fSksZD1fLnkoKS5yZXNvbHZlKF8uSW4oSGhhKSksZT1fLnkoKS5yZXNvbHZlKF8uSW4oRGhhKSk7cmV0dXJuIF8uSygieXQtc2hlZXQtdmlldy1tb2RlbCIseyJvbjptb3VzZWRvd24iOmZ1bmN0aW9uKGYpe18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpJiZmLmN1cnJlbnRUYXJnZXQhPT1mLnRhcmdldCYmZi5wcmV2ZW50RGVmYXVsdCgpfSwib246Zm9jdXMiOmZ1bmN0aW9uKGYpe18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpJiZNTShmLmN1cnJlbnRUYXJnZXQpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oKXt2YXIgZj1fLnpIKGE/LigpPy5yZW5kZXJlckNvbnRleHQpOwpmJiZiLnJlc29sdmVDb21tYW5kKGYpfSxjbGFzczpfLlAoInl0U2hlZXRWaWV3TW9kZWxIb3N0Iix7eXRTaGVldFZpZXdNb2RlbENvbnRleHR1YWw6ITEseXRTaGVldFZpZXdNb2RlbERpc2FibGVCYWNrZHJvcEZpbHRlcjohMX0pLGVsOl8uckYoYyksdGFiaW5kZXg6LTF9LF8uSyhfLk8se0E6YSx0aGVuOmY9Pl8uSyhqTyx7VWU6KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmYoKS5oZWFkZXJ9LHtwYW5lbEhlYWRlclZpZXdNb2RlbDpmT30pLGpoOiEwLGloOiExLEdiOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuY29udGVudH0se2NoZWNrYm94R3JvdXBWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8udEQse2RhdGE6aCxXYjohMX0pLHJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8uRUwse2RhdGE6aCxXYjohMX0pLGxpc3RWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8uQkQse2RhdGE6aCxCYzohMH0pLHZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsOl8ua08sCmxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLHVwc2VsbFZpZXdNb2RlbDpfLmhMLG1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbDpfLmpMLC4uLihlJiZ7dmlkZW9Ob3RpY2VzVmlld01vZGVsOmV9KSwuLi4oZCYme2NvbnRlbnRGZWVkYmFja1ZpZXdNb2RlbDooe2RhdGE6aH0pPT5fLksoZCx7ZGF0YTpoLGNsYXNzTmFtZToieXRTaGVldFZpZXdNb2RlbFBhZGRlZENvbnRlbnQifSl9KX0pLFhpOiEwLFNlOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuZm9vdGVyfSx7cGFuZWxGb290ZXJWaWV3TW9kZWw6Xy5zRH0pLGhoOiEwLFVmOiExLFZmOiExLEhhOiEwfSl9KSl9LCIkYSIpO2xPLmlkb21Db21wYXQ9ITA7Xy5tTz1uZXcgXy5WcygiSUNPTl9TRVRfVE9LRU4iKTtfLm5PPW5ldyBfLlZzKCJJQ09OX1VSTF9QUk9WSURFUl9UT0tFTiIpO18ub089bmV3IF8uVnMoIklDT05fTUFQX0ZOX1RPS0VOIik7dmFyIFNOPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9digpe3ZhciBhPShfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT9JaGE6SmhhKT8/dGhpcy5vO2lmKGE/Lmxlbmd0aCl7bGV0IGI9W107YT0obmV3IFNldChhKSkudmFsdWVzKCk7Zm9yKGxldCBjIG9mIGEpZm9yKGxldCBkIG9mIE9iamVjdC52YWx1ZXMoemhhKSliLnB1c2goe2ljb25OYW1lOmMsaWNvblN0eWxlOmR9KTt0aGlzLmoueWEoYil9ZWxzZSBQcm9taXNlLnJlc29sdmUoKX19O1NOW18uTG5dPVtfLlhMLF8uSW4obmV3IF8uVnMoIlBSRUZFVENIX0lDT05TX1RPS0VOIikpXTt2YXIgS2hhPS9eKD8hamF2YXNjcmlwdDopKD86W2EtejAtOSsuLV0rOnxbXiY6XC8/I10qKD86W1wvPyNdfCQpKS9pLGVoYT17WzFdOntwZDpudWxsLGhlOm51bGwsS2Q6bnVsbH0sWzJdOntwZDpmdW5jdGlvbihhLGIsYyl7YT1jO3hoYS50ZXN0KGEpJiYoYS5pbmRleE9mKCImIikhPS0xJiYoYT1hLnJlcGxhY2UocmhhLCImYW1wOyIpKSxhLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShzaGEsIiZsdDsiKSksYS5pbmRleE9mKCI+IikhPS0xJiYoYT1hLnJlcGxhY2UodGhhLCImZ3Q7IikpLGEuaW5kZXhPZignIicpIT0tMSYmKGE9YS5yZXBsYWNlKHVoYSwiJnF1b3Q7IikpLGEuaW5kZXhPZigiJyIpIT0tMSYmKGE9YS5yZXBsYWNlKHZoYSwiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2Uod2hhLCImIzA7IikpKTtyZXR1cm4gYX0saGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmZifSxLZDphPT5fLnlBKGEpfSxbM106e3BkOmZ1bmN0aW9uKGEsCmIsYyl7cmV0dXJuIEtoYS50ZXN0KGMpP2M6Xy5GcS50b1N0cmluZygpfSxoZShhKXtyZXR1cm4gXy5YYShhKX0sS2Q6YT0+Xy5ZYShhKX0sWzRdOntwZDpmdW5jdGlvbigpe3JldHVybiBfLkZxLnRvU3RyaW5nKCl9LGhlKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5TYX0sS2Q6YT0+Xy5VYShhKS50b1N0cmluZygpfSxbNV06e3BkOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gY30saGUoYSl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyJ9LEtkOmE9PmEudG9TdHJpbmcoKX0sWzddOntwZDpmdW5jdGlvbigpe3JldHVybiIgLyp6Q2xvc3VyZXoqLyAifSxoZShhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uamJ9LEtkOmE9Pl8ubGIoYSl9LFs4XTp7cGQoYSxiLGMpe2M9U3RyaW5nKGMpLnRvTG93ZXJDYXNlKCk7YTp7bGV0IGQ9bnVsbDsoYT1iT1thXSkmJihkPWFbYl0pO2lmKHR5cGVvZiBkIT09Im51bWJlciImJigoYT1iT1siKiJdKSYmKGQ9YVtiXSksdHlwZW9mIGQhPT0ibnVtYmVyIikpe2I9CiExO2JyZWFrIGF9Yj0hMD09PXloYVtkXVtTdHJpbmcoYykudG9Mb3dlckNhc2UoKV19cmV0dXJuIGI/YzoiekNsb3N1cmV6In0saGU6bnVsbCxLZDpudWxsfSxbMTBdOntwZDpudWxsLGhlOm51bGwsS2Q6bnVsbH19O18ucE89Xy5MKCh7ZGF0YTphLHRnOmIsSGE6YyxpY29uOmQscHJvY2Vzc0FsbEVuZHBvaW50czplLHByZXZlbnREZWZhdWx0OmYsc3RvcFByb3BhZ2F0aW9uOmgsd0k6ayxjbGFzc05hbWU6bCxidXR0b25PdmVycmlkZXM6bSxRZjpuLGlzU3Vic2NyaWJlOnAsb2k6cixCbDp0fSk9Pnt2YXIgdj1fLm1HKCksej0oRixDKT0+e2Y/LigpJiZDLnByZXZlbnREZWZhdWx0KCk7aD8uKCkmJkMuc3RvcFByb3BhZ2F0aW9uKCk7aWYoIWs/LigpKXtGPWEoKTt2YXIgRz0hIWU/LigpO2lmKCFGLl9pc0J1c3kpe2ImJmIoKTt2YXIgRD0hRi5uYXZpZ2F0aW9uRW5kcG9pbnR8fCEhXy5CKEYubmF2aWdhdGlvbkVuZHBvaW50LF8uWXopfHwhIV8uQihGLm5hdmlnYXRpb25FbmRwb2ludCxfLlp6KTtHPyhGLnRyYWNraW5nUGFyYW1zJiZEJiZfLnpKKEYudHJhY2tpbmdQYXJhbXMpLEYuc2VydmljZUVuZHBvaW50JiZfLkFKKEYuc2VydmljZUVuZHBvaW50LEYsITEse2V2ZW50OkMsQmQ6dn0pLEYubmF2aWdhdGlvbkVuZHBvaW50JiYKXy5BSihGLm5hdmlnYXRpb25FbmRwb2ludCxGLCExLHtldmVudDpDLEJkOnZ9KSxGLmNvbW1hbmQmJl8uQUooRi5jb21tYW5kLEYsITEse2V2ZW50OkMsQmQ6dn0pKTooRz12TihGLnNlcnZpY2VFbmRwb2ludCl8fHZOKEYubmF2aWdhdGlvbkVuZHBvaW50KXx8dk4oRi5jb21tYW5kKSkmJl8uQUooRyxGLEQse2V2ZW50OkMsQmQ6dn0pfX19LEU9KCk9PntpZihjPy4oKSE9PSExKXJldHVybiBkPy4oKXx8YSgpLmljb24/Lmljb25UeXBlfSxBPV8uTigoKT0+KHsuLi5haGEoe3JlbmRlcmVyOmEoKSxJbTp6LHdBOiEwLFNjOm0/LigpLFZ5OiEwLFFmOm4/LigpLGlzU3Vic2NyaWJlOnA/LigpfHwhMSxCbDp0Py4oKX0pLG9pOnI/LigpfSksdm9pZCAwLCJQYzR0M2IiKTtyZXR1cm4gXy5LKCJ5dG0tYnV0dG9uLXJlbmRlcmVyIix7aGlkZGVuOigpPT4hYSgpLnRleHQmJiFfLkRKKGEoKS5hY2Nlc3NpYmlsaXR5RGF0YXx8YSgpLmFjY2Vzc2liaWxpdHkpLGNsYXNzOl8uUChsLCgpPT5FPy4oKT8KYGljb24tJHtFKCkudG9Mb3dlckNhc2UoKX1gOnZvaWQgMCx7ZGlzYWJsZWQ6KCk9PmEoKS50aGVtZWRCYXNpY0NvbG9yUGFsZXR0ZSYmXy51TihhKCkudGhlbWVkQmFzaWNDb2xvclBhbGV0dGUpfSl9LF8uSyhfLkpLLHtkYXRhOkEsaWNvbk5hbWU6RX0pKX0sImFiIik7Xy5wTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQnV0dG9uQ2xpY2tDYWxsYmFjazohMH19O18ucU89Xy5MKCh7ZGF0YTphLFFmOmIsc3R5bGU6YyxidXR0b25PdmVycmlkZXM6ZCxjbGFzc05hbWU6ZSxzdG9wUHJvcGFnYXRpb246ZixSazpoLEhjOmssc3o6bH0pPT57dmFyIFttLG5dPV8uQUMoYSkscD0oKT0+e3ZhciB0PW0oKTt2YXIgdj1jPy4oKT8uYW5pbWF0ZUljb249PT0idHJ1ZSIsej10LnRvZ2dsZWRJY29uJiZ0LnRvZ2dsZWRJY29uLmljb25UeXBlLEU9dC5kZWZhdWx0SWNvbiYmdC5kZWZhdWx0SWNvbi5pY29uVHlwZTt0PXY/RXx8bnVsbDp0LmlzVG9nZ2xlZCYmenx8RXx8bnVsbDt2PW0oKTtyZXR1cm4oYz8uKCk/LmFuaW1hdGVJY29uPT09InRydWUiP3Q6dD09PSJMSUtFIiYmdi5pc1RvZ2dsZWQ/IkxJS0VfRklMTEVEIjp0PT09IkRJU0xJS0UiJiZ2LmlzVG9nZ2xlZD8iRElTTElLRV9GSUxMRUQiOnQpPz92b2lkIDB9LHI9KHQsdik9PntoP2godCx2KTooZj8uKCkmJnYuc3RvcFByb3BhZ2F0aW9uKCksdD0hbSgpLmlzVG9nZ2xlZCxuKHsuLi5tKCksaXNUb2dnbGVkOnR9KSwKbD8uKHQpKX07cmV0dXJuIF8uSygieXRtLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczplfSxfLksoXy5KSyx7ZGF0YTooKT0+e3ZhciB0PW0oKSx2PW0oKSx6PSEodi5pc1RvZ2dsZWQ/IXYudG9nZ2xlZFNlcnZpY2VFbmRwb2ludDohdi5kZWZhdWx0U2VydmljZUVuZHBvaW50KSxFPXY7di5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50JiYoRT17fSk7cmV0dXJuIGRoYSh7cmVuZGVyZXI6dCxJbTpyLFJ1Ol8uWUQoRSx7fSx6KSxTYzpkPy4oKSxWeTohMCx0b2dnbGVkOiEhbSgpLmlzVG9nZ2xlZCxRZjpiPy4oKX0pfSxpY29uOigpPT5fLksoXy5NRCx7aWNvbjpwLEdlOigpPT4hIWM/LigpPy5hbmltYXRlSWNvbixhY3RpdmU6KCk9Pm0oKS5pc1RvZ2dsZWQsSGM6a30pfSkpfSwiYmIiKTtfLnFPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Ums6ITAsc3o6ITB9fTtfLiROPXtLQjpYKCJBQ0NPVU5UX0xBQkVMIiksTUI6WCgiQUNUX09OX1RISVNfQ09NTUVOVCIpLE5COlgoIkFERF9UT19EUk9QRE9XTl9MQUJFTCIpLE9COlgoIkFEX0JBREdFX0hJTlQiKSxQQjpYKCJBRF9CQURHRV9URVhUIiksY0M6WCgiQUxMX0NIQU5ORUxTX0xBQkVMIiksZUM6WCgiQU1CSUVOVF9NT0RFIiksZkM6WCgiQU1CSUVOVF9NT0RFX09GRiIpLGdDOlgoIkFNQklFTlRfTU9ERV9PTiIpLGhDOlgoIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9CT0RZIiksaUM6WCgiQU5EUk9JRF9ERVBSRUNBVElPTl9NRVNTQUdFX0hFQURFUiIpLGtDOlgoIkFQUF9VUFNFTExfU1VCVElUTEUiKSxsQzpYKCJBUFBfVVBTRUxMX1RJVExFIiksTnM6WCgiQVVESU9fVFJBQ0siLCJBdWRpbyBUcmFjayIpLG5rOlgoIkFVVE9OQVZfVE9HR0xFIiksbUM6WCgiQVVUT1BMQVlfSU5fVEVOX1NFQ09ORFMiKSxuQzpYKCJBVVRPUExBWV9QQVVTRUQiKSxvQzpYKCJBVVRPUExBWV9QTEFZX05PVyIpLApPczpYKCJBVVRPUExBWV9VUF9ORVhUX0lOIiksUHM6WCgiQVVUT19aT09NIiwiQXV0byB6b29tIiksQkFDSzpYKCJCQUNLIikscUM6WCgiQlJBTkRFRF9TSUdOX0lOX0RJQUxPR19ERVNDUklQVElPTiIsIkFjY2VzcyBhbGwgZmVhdHVyZXMgYW5kIGdldCBhIHNlYW1sZXNzIGV4cGVyaWVuY2UiKSxDQU5DRUw6WCgiQ0FOQ0VMIiksdUM6WCgiQ0hBTk5FTF9TV0lUQ0hFUl9MQUJFTCIpLENMT1NFOlgoIkNMT1NFIiwiY2xvc2UiKSxSczpYKCJDTE9TRURfQ0FQVElPTlNfRElTQUJMRUQiKSxTczpYKCJDTE9TRURfQ0FQVElPTlNfT0ZGIiksVHM6WCgiQ0xPU0VEX0NBUFRJT05TX09OIiksVXM6WCgiQ0xPU0VEX0NBUFRJT05TX09OX0xBTkdVQUdFIikseEM6WCgiQ0xPU0VfU0VBUkNIX0xBQkVMIikseUM6WCgiQ0xPU0VfU0VUVElOR1NfTEFCRUwiKSx6QzpYKCJDT01NRU5UX01PREFMX0NPTlRFTlQiKSxXczpYKCJDT05GSVJNX09LIiksQUM6WCgiQ09OTkVDVF9UT19USEVfSU5URVJORVQiKSwKWHM6WCgiQ09QSUVEX1RPX0NMSVBCT0FSRCIpLFlzOlgoIkNPUFkiKSxUbjpYKCJDT1BZX0RFQlVHX0lORk8iKSxaczpYKCJDT1BZX0VNQkVEX0NPREUiKSxDQzpYKCJDT1BZX0xJTktfTEFCRUwiKSxidDpYKCJDT1BZX1ZJREVPX1VSTCIpLGZ0OlgoIkNPUFlfVklERU9fVVJMX0FUX0NVUlJFTlRfVElNRSIpLERDOlgoIkNSRUFURV9DSEFOTkVMX1RJVExFIiksSUM6WCgiREVMRVRFX0ZST01fRE9XTkxPQURTIiksWG46WCgiRElBTE9HIiksRE9ORTpYKCJET05FIiksTkM6WCgiRE9XTkxPQUQiKSxrdDpYKCJGQUlMRURfQ09QWV9FUlJPUl9NRVNTQUdFIiksYkQ6WCgiRkxBR19DT05GSVJNIiksY0Q6WCgiRkxBR19DT05URU5UIiksZEQ6WCgiRkxBR19MQUJFTCIpLGVEOlgoIkZMQUdfVElUTEUiKSxmRDpYKCJGVUxMU0NSRUVOX0dFTkVSSUNfRVJST1IiKSxWRTpYKCJHSUZUUyIsIkdpZnRzIiksV0U6WCgiR09PR0xFX0NPTVBBTlkiKSxtdDpYKCJISURFX1BMQVlFUl9DT05UUk9MUyIsCiJIaWRlIHBsYXllciBjb250cm9scyIpLFlFOlgoIkhJREVfUExBWUxJU1RfVklERU9TIiksWkU6WCgiSElERV9TRUFSQ0hfRklMVEVSU19MQUJFTCIpLEhPTUU6WCgiSE9NRSIsIkhvbWUiKSxkRjpYKCJJTlZBTElEX1JFU1BPTlNFX1JFQ0VJVkVEIiksZ0Y6WCgiTEVBVkVfQV9DT01NRU5UX1RJVExFIiwiTGVhdmUgYSBjb21tZW50PyIpLGhGOlgoIkxJQlJBUlkiLCJMaWJyYXJ5Iiksa0Y6WCgiTElTVEVOSU5HIiksTE9BRElORzpYKCJMT0FESU5HIiksbEY6WCgiTE9OR19QUkVTU19NSUNfVE9fU1BFQUsiLCJMb25nIHByZXNzIG1pY19pY29uX3BsYWNlaG9sZGVyIHRvIHNwZWFrIiksdXQ6WCgiTE9PUCIpLG9GOlgoIk1FTlVfREVTS1RPUCIpLHBGOlgoIk1FTlVfRVhJVCIpLHFGOlgoIk1FTlVfRkVFREJBQ0siKSxyRjpYKCJNRU5VX0hFTFAiKSxzRjpYKCJNRU5VX0lNUFJFU1NVTSIpLHZ0OlgoIk1FTlVfUExBWUVSX1NFVFRJTkdTIiksdEY6WCgiTUVOVV9TRVRUSU5HUyIpLHVGOlgoIk1FTlVfU0lHTl9JTiIpLAp2RjpYKCJNRU5VX1RJVExFIiksd0Y6WCgiTUVOVV9ZT1VSX0RBVEEiKSxBRjpYKCJNT1JFX0lORk8iKSx3dDpYKCJNT1JFX09QVElPTlMiKSxibzpYKCJNT1JFX1ZJREVPUyIsIk1vcmUgdmlkZW9zIikseHQ6WCgiTU9SRV9WSURFT1NfQ0xPU0VfQlVUVE9OX0FSSUFfTEFCRUwiLCJIaWRlIG1vcmUgdmlkZW9zIiksenQ6WCgiTU9SRV9WSURFT1NfRlJPTV9DSEFOTkVMIiwiTW9yZSB2aWRlb3MgZnJvbSAkY2hhbm5lbF9uYW1lX3BsYWNlaG9sZGVyIiksZW86WCgiTU9SRV9WSURFT1NfTkVYVF9CVVRUT05fQVJJQV9MQUJFTCIsIk5leHQgdmlkZW9zIiksZm86WCgiTU9SRV9WSURFT1NfUFJFVklPVVNfQlVUVE9OX0FSSUFfTEFCRUwiLCJQcmV2aW91cyB2aWRlb3MiKSxBdDpYKCJNVVRFX1ZPTFVNRSIpLENGOlgoIk5FV19QTEFZTElTVCIpLERGOlgoIk5FWFRfVklERU8iKSxDdDpYKCJOT1RJRklDQVRJT05fRVJST1JfTUVTU0FHRSIpLEZGOlgoIk5PVF9GT1VORF9DVEEiKSxHRjpYKCJOT1RfRk9VTkRfTUVTU0FHRSIpLApIRjpYKCJOT1RfRk9VTkRfVElUTEUiKSxJRjpYKCJOT19ET1dOTE9BRFMiKSxKRjpYKCJOT19NSUNfSU5QVVQiKSxLRjpYKCJPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04iKSxEdDpYKCJPT1BTX01FU1NBR0UiKSxNRjpYKCJPUEVOX0FQUCIpLE5GOlgoIk9QRU5fWU9VVFVCRSIpLE9GOlgoIk9QRU5fWU9VVFVCRV9BUFAiLCJPcGVuIFlvdVR1YmUgYXBwIiksUEFVU0U6WCgiUEFVU0UiKSxVRjpYKCJQTEFZIiksRXQ6WCgiUExBWUVSX0NBUFRJT04iKSxGdDpYKCJQTEFZRVJfQ0FQVElPTl9PRkYiKSxWRjpYKCJQTEFZRVJfQ0FQVElPTl9PTiIpLEd0OlgoIlBMQVlFUl9ET1VCTEVfU1BFRURfVVNFUl9FRFUiKSxXRjpYKCJQTEFZRVJfRE9VQkxFX1RBUF9UT19TRUVLIiksWEY6WCgiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0hPV19PUl9ISURFX1BMQVlFUl9DT05UUk9MUyIpLEh0OlgoIlBMQVlFUl9FWElUX0ZVTExTQ1JFRU4iKSxJdDpYKCJQTEFZRVJfRkFTVEZPUldBUkRfU0VDT05EUyIpLApKdDpYKCJQTEFZRVJfRlVMTFNDUkVFTiIpLGxvOlgoIlBMQVlFUl9MSVZFX0xBQkVMIiksWUY6WCgiUExBWUVSX0xJVkVfTk9XIiksWkY6WCgiUExBWUVSX01JTklNSVpFIiksS3Q6WCgiUExBWUVSX05FWFQiKSxMdDpYKCJQTEFZRVJfUEFVU0UiKSxQZzpYKCJQTEFZRVJfUExBWSIpLE10OlgoIlBMQVlFUl9QUkVWSU9VUyIpLGFHOlgoIlBMQVlFUl9QUk9HUkVTU19CQVIiKSxOdDpYKCJQTEFZRVJfUVVBTElUWSIpLE90OlgoIlBMQVlFUl9RVUFMSVRZX0FVVE8iKSxQdDpYKCJQTEFZRVJfUkVQTEFZIiksUXQ6WCgiUExBWUVSX1JFV0lORF9TRUNPTkRTIiksbW86WCgiUExBWUVSX1NQRUVEIiksYkc6WCgiUExBWUVSX1NQRUVEVVBfVVNFUl9FRFUiKSxSdDpYKCJQTEFZRVJfU1BFRURfREVDUkVBU0UiKSxTdDpYKCJQTEFZRVJfU1BFRURfSU5DUkVBU0UiKSxubzpYKCJQTEFZRVJfU1BFRURfTk9STUFMIiksVHQ6WCgiUExBWUVSX1NQRUVEX1JFQ0VOVCIpLFV0OlgoIlBMQVlFUl9USU1FX0RVUkFUSU9OIiksClZ0OlgoIlBMQVlFUl9USU1FX0VMQVBTRUQiKSxjRzpYKCJQTEFZTElTVF9ERVNDUklQVElPTl9JTlZBTElEX0NIQVJBQ1RFUlMiKSxkRzpYKCJQTEFZTElTVF9NSVhfREVUQUlMRURfTE9OR19CWUxJTkUiKSxlRzpYKCJQTEFZTElTVF9OQU1FX0lOVkFMSURfQ0hBUkFDVEVSUyIpLGZHOlgoIlBMQVlMSVNUX05BTUVfTUlTU0lORyIpLGdHOlgoIlBMQVlMSVNUX05BTUVfVE9PX0xPTkciKSxoRzpYKCJQTEFZTElTVF9QQU5FTF9FTkRfT0ZfUExBWUxJU1QiKSxpRzpYKCJQTEFZTElTVF9QQU5FTF9ORVhUIiksakc6WCgiUExBWUxJU1RfUEFORUxfVU5MSVNURURfUExBWUxJU1QiKSxrRzpYKCJQTEFZTElTVF9URVhUX0lOUFVUX0NIQVJfQ09VTlQiKSxsRzpYKCJQTEFZX0FMTCIpLG1HOlgoIlBMRUFTRV9GSVhfRVJST1JTIiksWHQ6WCgiUFJFTUlVTV9CQURHRV9MQUJFTCIsIlByZW1pdW0iKSxuRzpYKCJQUkVWSU9VU19WSURFTyIpLG9HOlgoIlBSSVZBQ1lfUE9MSUNZIiksckc6WCgiUkVMT0FEIiksCnNHOlgoIlJFUVVJUkVEX0xBQkVMIikseUc6WCgiU0FWRV9QTEFZTElTVCIpLEFHOlgoIlNDUlVCX1NMSURFX1VTRVJfRURVIiksQ0c6WCgiU0VBUkNIIiwiU2VhcmNoIiksREc6WCgiU0VBUkNIX0FQUEVORF9MQUJFTCIpLEVHOlgoIlNFQVJDSF9DSEFOTkVMIiksRkc6WCgiU0VBUkNIX0NMRUFSX0xBQkVMIiksR0c6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX0FMQlVNX05PX0FSVElTVCIsIkFsYnVtIiksSEc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX01PVklFIiwiTW92aWUiKSxJRzpYKCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fU09OR19OT19BUlRJU1QiLCJTb25nIiksSkc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1RWX1NIT1ciLCJUViBTaG93IiksS0c6WCgiU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxMRzpYKCJTRUFSQ0hfTEFCRUwiKSxNRzpYKCJTRUFSQ0hfUFBQX1BMQUNFSE9MREVSX1RFWFQiKSxORzpYKCJTRUVLX1NMSURFUiIpLE9HOlgoIlNFVFRJTkdTX0xBQkVMIiksClBHOlgoIlNFVFRJTkdTX01JQ19QRVJNSVNTSU9OIiksU0c6WCgiU0hPUlRTX1RBQl9MQUJFTCIsIlNob3J0cyIpLFRHOlgoIlNIT1dfTEVTUyIpLFVHOlgoIlNIT1dfTU9SRSIpLFp0OlgoIlNIT1dfUExBWUVSX0NPTlRST0xTIiwiU2hvdyBwbGF5ZXIgY29udHJvbHMiKSxWRzpYKCJTSE9XX1BMQVlMSVNUX1ZJREVPUyIpLFdHOlgoIlNIT1dfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxhdTpYKCJTSUdOX0lOX0xBQkVMIiksWkc6WCgiU0lHTl9JTl9PTl9XRUIiKSx5azpYKCJTVEFCTEVfVk9MVU1FIiksakg6WCgiU1RBQkxFX1ZPTFVNRV9PRkYiKSxrSDpYKCJTVEFCTEVfVk9MVU1FX09OIiksYnU6WCgiU1RBVFNfRk9SX05FUkRTIiksbEg6WCgiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiKSxtSDpYKCJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiKSxuSDpYKCJTVUdHRVNUSU9OX05FV19WSURFT1NfVEVYVCIpLG9IOlgoIlNVR0dFU1RJT05fVEhVTUJOQUlMX0FUVFJJQlVUSU9OX0xBQkVMIiwKIlZpZXcgaW1hZ2Ugc291cmNlIikscEg6WCgiU1VHR0VTVElPTl9USFVNQk5BSUxfTEFCRUwiKSxxSDpYKCJURVJNU19PRl9TRVJWSUNFIiksckg6WCgiVElNRVNUQU1QX01JTlVURVMiKSxzSDpYKCJUSU1FU1RBTVBfU0VDT05EUyIpLHRIOlgoIlRPR0dMRV9PRkYiKSx1SDpYKCJUT0dHTEVfT04iKSx2SDpYKCJUUkVORElORyIpLGR1OlgoIlRST1VCTEVTSE9PVF9QTEFZQkFDS19JU1NVRSIpLGV1OlgoIlRSWV9BR0FJTl9MQVRFUiIpLHdIOlgoIlRSWV9BR0FJTl9NSUNfUEVSTUlTU0lPTiIpLHhIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0NPTkZJUk1fQlVUVE9OX1RJVExFIikseUg6WCgiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX0RFU0NSSVBUSU9OIiksekg6WCgiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX1RJVExFIiksZ3U6WCgiVU5NVVRFX1ZPTFVNRSIpLHNvOlgoIlZJREVPX0xJTktfTEFCRUwiKX07Xy5MaGE9T2JqZWN0LmZyZWV6ZT9PYmplY3QuZnJlZXplKE9iamVjdC5jcmVhdGUobnVsbCkpOnt9O18uTk49KCk9Pnt9O3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrPy5iaW5kKHdpbmRvdyk7Xy5aTj1fLkwoYT0+e3ZhciB7bGFiZWw6YixvbmNsaWNrOmMsc2hvd1NwaW5uZXI6ZCx0aTplLGVuZ2FnZW1lbnRQYW5lbDpmLEt4OmgsRHA6ayxyZWxhdGl2ZTpsLG9wYWNpdHk6bX09Xy5EQyhhLHtzaG93U3Bpbm5lcjohMSxSSzohMSx0aTohMSxlbmdhZ2VtZW50UGFuZWw6ITEsRHA6ITEscmVsYXRpdmU6ITEsS3g6ITEsb3BhY2l0eTp2b2lkIDB9KTtyZXR1cm4gXy5LKCJ5dHctc2NyaW0iLHtjbGFzczpfLlAoInl0V2ViU2NyaW1Ib3N0IiwieXRXZWJTY3JpbUhvc3RNb2Rlcm5PdmVybGF5Iix7eXRXZWJTY3JpbUhvc3RCb3R0b21TaGVldDplLHl0V2ViU2NyaW1Ib3N0RW5nYWdlbWVudFBhbmVsOigpPT4hZSgpJiZmKCkseXRXZWJTY3JpbUhvc3REcmFnZ2FibGVFbmdhZ2VtZW50UGFuZWw6KCk9PiFlKCkmJmYoKSYmaCgpLHl0V2ViU2NyaW1Ib3N0RHJhd2VyTGF5b3V0OigpPT4hZSgpJiYhZigpJiZrKCkseXRXZWJTY3JpbUhvc3RSZWxhdGl2ZTpsfSksIm9uOmNsaWNrIjpjLCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKG4pe24ucHJldmVudERlZmF1bHQoKTsKbi5zdG9wUHJvcGFnYXRpb24oKX0sc3R5bGU6KCk9Pm0oKSE9PXZvaWQgMD9gYmFja2dyb3VuZDpyZ2JhKDAsIDAsIDAsICR7bSgpfSk7YDoiIn0sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0V2ViU2NyaW1EaWFsb2dDb250YWluZXIifSxfLksoXy5aTCxudWxsKSl9KSxfLksoImJ1dHRvbiIse2NsYXNzOiJ5dFdlYlNjcmltSGlkZGVuQnV0dG9uIiwiYXJpYS1sYWJlbCI6Yn0pKX0sImNiIik7dmFyIEZOLEVOLElOLEdOLExOLEhOLGtoYTtGTj0wO0VOPW5ldyBNYXA7SU49bnVsbDtHTj1udWxsO0xOPSExO18uRE49W107SE49IV8ueCgiY2FuY2VsX21vZGFsX3BlbmRpbmdfYW5pbWF0aW9uc19raWxsc3dpdGNoIik7a2hhPSFfLngoInJlc2hvd19uZXN0ZWRfbW9kYWxfc2libGluZ3Nfa2lsbHN3aXRjaCIpO3ZhciByTzsKXy5zTz1fLkwoKHt0cTphfSk9PntmdW5jdGlvbiBiKEcpe2lmKChhKCkmJmRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50fHwhYSgpJiYhZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpJiZHKXt2YXIgRD1HLlFrLEg9Ry52aWV3TW9kZWw7ay52YWx1ZT9GKEcpOkQ/LmlzRGlzYWJsZWQmJkQ/LmRpc2FibGVkQ29tbWFuZD8oQ04oITApLF8uQUooRC5kaXNhYmxlZENvbW1hbmQsaC52YWx1ZSwhMSkpOih3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjYm90dG9tLXNoZWV0IiYmXy4kTSgiYm90dG9tLXNoZWV0IiwhMCksay52YWx1ZT0hMCxkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgiYm90dG9tLXNoZWV0LW9wZW4iLCIiKSxfLm9NKCkuZGlzcGF0Y2goYk4oITApKSxyTz1fLm1HKCkscChEKSx2KEgpLENOKCEwKSxoLnZhbHVlfHxfLklwKEVycm9yKCJGZCIpKSxfLkpOKGgudmFsdWUsRD8uZm9jdXNPbkNsb3NlLCEwKSl9fWZ1bmN0aW9uIGMoKXtrLnZhbHVlJiYoay52YWx1ZT0hMSxkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgiYm90dG9tLXNoZWV0LW9wZW4iKSwKbigpPy5HaD8uKCksck89dm9pZCAwLHAodm9pZCAwKSx2KHZvaWQgMCksQ04oITEpLF8uS04oaC52YWx1ZSksXy5vTSgpLmRpc3BhdGNoKGJOKCExKSkpfWZ1bmN0aW9uIGQoKXtrLnZhbHVlJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjYm90dG9tLXNoZWV0IiYmYygpfWFzeW5jIGZ1bmN0aW9uIGUoKXthd2FpdCBfLkZKO3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNib3R0b20tc2hlZXQiJiYoZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnR8fF8uWU0/Xy4kTSgiIiwhMCk6YXdhaXQgXy5aTSgpLGQoKSk7QSgpJiYoYihBKCkpLEYodm9pZCAwKSl9ZnVuY3Rpb24gZihHKXtfLnpOKCk7Ry5zdG9wUHJvcGFnYXRpb24oKX12YXIgaD1fLnVFKCJib3R0b20tc2hlZXQtY29udGFpbmVyIiksaz1fLnVNKCExKSxbbCxtXT1fLkoodm9pZCAwLHZvaWQgMCwidld1WGtiIiksbj1sLHA9bSxbcix0XT1fLkoodm9pZCAwLHZvaWQgMCwiQmZSQUxiIiksdj10LFt6LEVdPV8uSih2b2lkIDAsdm9pZCAwLAoieTd0TmxjIiksQT16LEY9RSxDPSgpPT4hKCFuKCkmJiFyKCkpO18uVUooKCk9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlc3RhcnQiLGMpO18ueSgpLnJlc29sdmUoXy5jTCkuUHooe3dnOkc9PntHJiZiKHt2aWV3TW9kZWw6Ry52aWV3TW9kZWwsUWs6Ry5Ra30pfSxKZTphc3luYygpPT57YXdhaXQgZSgpfSxkbTphc3luYygpPT4hIV8ueE4oKSxYcDooKT0+aC52YWx1ZSxvdzpHPT5HfSxhKCkpO18uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZCk7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlc3RhcnQiLGMpfSl9KTtyZXR1cm4gXy5LKCJib3R0b20tc2hlZXQtY29udGFpbmVyIix7ZWw6aCxyb2xlOiJkaWFsb2ciLGhpZGRlbjooKT0+IUMoKSwiYXJpYS1tb2RhbCI6ITAsImFyaWEtbGFiZWwiOigpPT5uKCk/LmhlYWRlclRpdGxlPwpuKCkuaGVhZGVyVGl0bGU6Xy4kTi5Ybn0sXy5LKF8uTyx7QTpDLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLnpOLHRpOiEwfSksXy5LKF8uTyx7QTpyLHRoZW46Rz0+Xy5LKGxPLHtkYXRhOkd9KSxXOigpPT5fLksoXy5PLHtBOm4sdGhlbjpHPT5fLnBHKHJPfHx7fSwoKT0+Xy5LKGpPLHtIYTooKT0+RygpLkhhLHBmOigpPT5HKCkucGYsR2s6KCk9PkcoKS5HayxHaDooKT0+RygpLkdoLGZvY3VzT25DbG9zZTooKT0+RygpLmZvY3VzT25DbG9zZSxpc0Rpc2FibGVkOigpPT5HKCkuaXNEaXNhYmxlZCxkaXNhYmxlZENvbW1hbmQ6KCk9PkcoKS5kaXNhYmxlZENvbW1hbmQsVWU6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5VZX0pLGpoOigpPT4hIUcoKS5VZSxHYjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLkdifSksWGk6KCk9PiEhRygpLkdiLFNlOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT4KRygpLlNlfSksaGg6KCk9PiEhRygpLlNlLGhlYWRlclRpdGxlOigpPT5HKCkuaGVhZGVyVGl0bGUsaGVhZGVyU3VidGl0bGU6KCk9PkcoKS5oZWFkZXJTdWJ0aXRsZSxXZjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLldmfSksaWg6KCk9PiEhRygpLldmLE5mOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuTmZ9KSxVZjooKT0+ISFHKCkuTmYsT2Y6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5PZn0pLFZmOigpPT4hIUcoKS5PZixSZTooKT0+RygpLlJlLE1mOigpPT5HKCkuTWYsUGY6KCk9PkcoKS5QZn0pKX0pfSksXy5LKCJidXR0b24iLHtjbGFzczoiY2xvc2UtYnV0dG9uIiwiYXJpYS1sYWJlbCI6Xy4kTi5DTE9TRSwib246Y2xpY2siOmZ9KSl9KSl9LCJkYiIpO18uc08uaWRvbUNvbXBhdD0hMDtfLnRPPV8uTCgoe2FyaWFMYWJlbDphLFVIOmIsYXJpYVByZXNzZWQ6YyxhcmlhRXhwYW5kZWQ6ZCxhcmlhRGlzYWJsZWQ6ZSxjbGFzc05hbWU6Zixjb250ZW50OmgsYnE6ayxpZDpsLG5hbWU6bSxvbmNsaWNrOm4sb250b3VjaHN0YXJ0OnAsb250b3VjaG1vdmU6cixvbnRvdWNoZW5kOnQsYng6dn0pPT57dj1fLnVFKCJidXR0b24iLHYpO3JldHVybiBfLksoImJ1dHRvbiIse2lkOmwsY2xhc3M6Xy5QKCJpY29uLWJ1dHRvbiIsZiksZWw6diwiYXJpYS1sYWJlbCI6YSwiYXJpYS1sYWJlbGxlZGJ5IjpiLCJhcmlhLXByZXNzZWQiOmMsImFyaWEtZXhwYW5kZWQiOmQsImFyaWEtaGFzcG9wdXAiOmssImFyaWEtZGlzYWJsZWQiOmUsIm9uOmNsaWNrIjpuLCJvbjp0b3VjaHN0YXJ0IjpsTihwKSwib246dG91Y2htb3ZlIjpsTihyKSwib246dG91Y2hlbmQiOmxOKHQpfSxfLksoXy5PLHtBOigpPT4hIWgsdGhlbjooKT0+aD8uKCksVzooKT0+Xy5LKF8uTUQse2ljb246bX0pfSkpfSwiZWIiKTsKXy50Ty5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2NvbnRlbnQ6ITAsb25jbGljazohMCxvbnRvdWNoc3RhcnQ6ITAsb250b3VjaG1vdmU6ITAsb250b3VjaGVuZDohMCxieDohMH19O3ZhciBSTixQTixPTjtSTj0hMDsKUE49e0FWQVRBUl9DSVJDTEVfQkxVRToiQVZBVEFSX0xPR0dFRF9PVVQiLEJBQ0s6IkFSUk9XX0JBQ0siLEJMT0NLX1VTRVI6IkJMT0NLIixCUk9BRENBU1Q6InBvZGNhc3QiLENBUFRJT05TOiJDTE9TRURfQ0FQVElPTiIsQ0hFQ0tfQkxVRToiQ0hFQ0siLENIRUNLX0NJUkNMRV9GSUxMRUQ6IkNIRUNLX0NJUkNMRV9GSUxMRUQiLENIRUNLX0NJUkNMRV9USElDSzoiQ0hFQ0tfQ0lSQ0xFX09VVExJTkUiLENPVVJTRToibGlnaHRidWxiIixESVNMSUtFX0NPTU1FTlQ6IkRJU0xJS0UiLERJU0xJS0VfQ09NTUVOVF9GSUxMRUQ6IkRJU0xJS0VfRklMTEVEIixESVNMSUtFX1NFTEVDVEVEOiJESVNMSUtFX0ZJTExFRCIsRElTTUlTU0FMX0JMQUNLOiJESVNNSVNTQUwiLEVYUEFORF9NT1JFOiJFWFBBTkQiLEZBU0hJT05fTE9HTzoiZmFzaGlvbiIsR0FNSU5HOiJnYW1pbmciLEdBTUlOR19MT0dPOiJnYW1pbmciLEdFQVI6IlNFVFRJTkdTIixIRUxQOiJIRUxQX09VVExJTkUiLExJS0VfQ09NTUVOVDoiTElLRSIsCkxJS0VfQ09NTUVOVF9GSUxMRUQ6IkxJS0VfRklMTEVEIixMSUtFX1NFTEVDVEVEOiJMSUtFX0ZJTExFRCIsTElWRToiUkFEQVJfTElWRSIsTE9HTzoiWU9VVFVCRSIsTU9SRV9DSEVWUk9OOiJFWFBBTkQiLE1PUkVfVkVSVF9XSElURToiTU9SRV9WRVJUIixNVVNJQzoiYXVkaW8iLE1VU0lDX0ZJTExFRDoiYXVkaW9fZmlsbGVkIixORVdTOiJuZXdzIixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixQTEFZQUJMRVNfTE9HTzoidGljX3RhY190b2UiLFBMQVlFUl9ORVhUOiJTS0lQX05FWFRfRklMTEVEIixQTEFZRVJfUEFVU0U6IlBBVVNFX0ZJTExFRCIsUExBWUVSX1BMQVk6IlBMQVlfQVJST1dfRklMTEVEIixQTEFZRVJfUFJFVklPVVM6IlNLSVBfUFJFVklPVVNfRklMTEVEIixQTEFZRVJfUkVQTEFZOiJSRVBMQVkiLFBMQVlfQUxMOiJQTEFZX0FSUk9XX0ZJTExFRCIsUkVNT1ZFOiJESVNNSVNTQUwiLFNIT1JUU19ESVNMSUtFOiJzaG9ydHNfdGh1bWJzX2Rvd24iLFNIT1JUU19MSUtFOiJzaG9ydHNfdGh1bWJzX3VwIiwKU1BPTlNPUlNISVBfU1RBUjoiU1BPTlNPUlNISVBfU1RBUl9GSUxMRUQiLFRBQl9BQ0NPVU5UOiJBVkFUQVJfTE9HR0VEX09VVCIsVEFCX1RSRU5ESU5HOiJmaXJlIixUQUJfVFJFTkRJTkdfRklMTEVEOiJmaXJlX2ZpbGxlZCIsVFJFTkRJTkc6ImZpcmUiLFRST1BIWToidHJvcGh5IixWT0xVTUVfRE9XTl9PVVRMSU5FOiJWT0xVTUVfRE9XTiIsVk9MVU1FX1VQOiJWT0xVTUVfVVBfRklMTEVEIixWT0xVTUVfVVBfT1VUTElORToiVk9MVU1FX1VQIixZT1VUVUJFX0xPR086IkxPR09fV0lUSF9URVhUIixZT1VUVUJFX1BSRU1JVU1fTE9HTzoiWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfUkVEXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZV9maWxsZWQiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfV0hJVEVfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlX2ZpbGxlZCJ9OwpPTj17TE9HTzoiTE9HTyIsUExBWUFCTEVTX0xPR086InBsYXlhYmxlcyIsU0hPUlRTX0RJU0xJS0U6InRodW1iX2Rvd24iLFNIT1JUU19MSUtFOiJ0aHVtYl91cCIsVEFCX1RSRU5ESU5HOiJ0cmVuZGluZyIsVEFCX1RSRU5ESU5HX0ZJTExFRDoidHJlbmRpbmdfZmlsbGVkIixUUkVORElORzoidHJlbmRpbmcifTsKXy51Tz1fLkwoKHtpY29uOmEsYWN0aXZlOmIsY2xhc3NOYW1lOmMsc3R5bGU6ZCx5cDplLGhjOmYscm9sZTpoLEdlOmssSGM6bCxhcmlhSGlkZGVuOm0sYXJpYUV4cGFuZGVkOm4sYXJpYUxhYmVsOnAsaWQ6cixhZzp0LHNpemU6dn0pPT57bmhhKCk7dmFyIHo9KCk9PlFOKGE/LigpKSxFPV8uTigoKT0+e2E6e3ZhciBGPVFOKGE/LigpKSxDPWI/LigpO3ZhciBHPXY/LigpO2lmKEYpe3ZhciBEPV8ueSgpLnJlc29sdmUoXy5YTCksSD1GLnRvTG93ZXJDYXNlKCk7Rj17aWNvbk5hbWU6SCxpY29uU3R5bGU6SC5lbmRzV2l0aCgiX2ZpbGxlZCIpfHxGLmVuZHNXaXRoKCJfb24iKXx8Qz8ieW91dHViZV9maWxsIjp2b2lkIDAsaWNvblNpemU6R307Qz1ELmooRik7IUMmJkcmJihGLmljb25TaXplPXZvaWQgMCxDPUQuaihGKSk7IUMmJkguZW5kc1dpdGgoIl9maWxsZWQiKSYmKEYuaWNvbk5hbWU9SC5zdWJzdHJpbmcoMCxILmxlbmd0aC03KSxDPUQuaihGKSk7Q3x8KEYuaWNvblN0eWxlPXZvaWQgMCwKQz1ELmooRikpO2lmKEMpe0c9RjticmVhayBhfV8uSXAobmV3IF8uWGooIkljb24gbm90IHN1cHBvcnRlZCIse2ljb25OYW1lOkYuaWNvbk5hbWV9KSl9Rz12b2lkIDB9cmV0dXJuIEd9LHZvaWQgMCwiTTZYa0diIiksQT0oKT0+KHtpY29uV2lkdGg6IjEwMCUiLGljb25IZWlnaHQ6IjEwMCUiLGFnOnQ/LigpfSk7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PlFOKGE/LigpKSYmaz8uKCkmJmI/LigpIT09dm9pZCAwJiZPYmplY3QudmFsdWVzKEFoYSkuaW5jbHVkZXMoUU4oYT8uKCkpfHwiIil9LCgpPT5fLksoXy50TSx7YW5pbWF0ZWRJY29uVHlwZTp6LGFjdGl2ZTooKT0+ISFiPy4oKSxIYzpsLHNpemU6dixIQTooKT0+Xy5LKF8udU8se2ljb246YSxhY3RpdmU6YixHZTohMX0pfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5RTihhPy4oKSkmJkUoKX0sKCk9Pl8uSygiYzMtaWNvbiIse2NsYXNzOmMsc3R5bGU6ZCxyb2xlOmgsImRhdGEtc2VsZWN0ZWQiOmUsImRhdGEtZGlzYWJsZWQiOmYsCiJmaWxsLWljb24iOigpPT5iPy4oKT09PSEwLGlkOnIsImljb24tc3RhdGUtb3V0bGluZSI6KCk9PmI/LigpPT09ITE/IiI6dm9pZCAwLCJpY29uLXN0YXRlLWZpbGxlZCI6KCk9PmI/LigpPT09ITA/IiI6dm9pZCAwLCJhcmlhLWhpZGRlbiI6bSwiYXJpYS1leHBhbmRlZCI6biwiYXJpYS1sYWJlbCI6cH0sXy5LKF8uWUwse2RhdGE6KCk9PkUoKSxvcHRpb25zOkF9KSkpKX0sImZiIik7Xy51Ty5pZG9tQ29tcGF0PSEwO18uTCgoe25hbWU6YSxsYWJlbDpiLG9uY2xpY2s6YyxicTpkLHJvbGU6ZX0pPT5fLksoImRpdiIse2NsYXNzOiJpY29uLWJ1dHRvbiIscm9sZTplLCJhcmlhLWxhYmVsIjpiLCJhcmlhLWhhc3BvcHVwIjpkLCJvbjpjbGljayI6Y30sXy5LKF8udU8se2ljb246YX0pKSwiZ2IiKS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uY2xpY2s6ITB9fTsKdmFyIEpoYT0iYWxpZ25fbGVmdCBhcnJvd19sZWZ0IGZsYWcgaG9tZSBsb2dvX3dpdGhfdGV4dCBtZXNzYWdlX2J1YmJsZV9hbGVydCBtaWMgb3Blbl9uZXcgb3ZlcmZsb3dfaG9yaXpvbnRhbCBvdmVyZmxvd192ZXJ0aWNhbCBwbGF5X2NpcmNsZV9zaG9ydHMgc2VhcmNoIHNob3J0c19jb21tZW50IHNob3J0c19zaGFyZSBzaG9ydHNfdGh1bWJzX2Rvd24gc2hvcnRzX3RodW1ic191cCB3YXZlZm9ybSB4X21hcmsgeW91dHViZV9zaG9ydHMgeW91dHViZV9zaG9ydHNfYnJhbmRfMjQiLnNwbGl0KCIgIiksSWhhPSJhbGVydF9idWJibGUgYXJyb3dfbGVmdCBhcnJvd191cF9yaWdodCBmbGFnIGhvbWUgbG9nb193aXRoX3RleHQgbWljIG92ZXJmbG93X2hvcml6b250YWwgb3ZlcmZsb3dfdmVydGljYWwgcGxheV9jaXJjbGVfc2hvcnRzIHNlYXJjaCBzaGFyZSBzaG9ydHMgdGV4dF9hbGlnbl9sZWZ0IHRleHRfYnViYmxlIHRodW1iX2Rvd24gdGh1bWJfdXAgd2F2ZWZvcm0geCB5b3V0dWJlX3Nob3J0c19icmFuZF8yNCIuc3BsaXQoIiAiKTtfLnZPPV8uTChhPT57dmFyIHtpY29uVHlwZTpiLGxhYmVsOmMsYXJpYUxhYmVsOmQsYXJpYVByZXNzZWQ6ZSxkaXNhYmxlZDpmLG9uY2xpY2s6aCxzdHlsZTprLFZsOmwsTG06bSxPeDpuLGJhc2ljQ29sb3JQYWxldHRlRGF0YTpwLGRhdGE6cixhcmlhSGlkZGVuOnR9PV8uREMoYSx7aWNvblR5cGU6IiIsVmw6ITEsTG06IiIsT3g6ITEsYXJpYUhpZGRlbjohMX0pO18udUUoImRpdiIsdj0+e3I/LigpJiZtaGEodixyPy4oKSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoImJ1dHRvbi13aXRoLWljb24gYnV0dG9uLXJlbmRlcmVyIGNvbXBhY3QiLG0pLHN0eWxlOigpPT57dmFyIHY7aWYodj1wPy4oKSl7dmFyIHo9IiIsRTtmb3IoRSBpbiB2KXtpZighdi5oYXNPd25Qcm9wZXJ0eShFKSljb250aW51ZTtsZXQgQT12W0VdLEY9RS5pbmNsdWRlcygiZm9yZWdyb3VuZCIpPyJjb2xvciI6U3RyaW5nKEUpLnJlcGxhY2UoLyhbQS1aXSkvZywiLSQxIikudG9Mb3dlckNhc2UoKTtBJiYKKHorPWAke0Z9OiR7Xy5ORChBKX07YCl9dj16fWVsc2Ugdj12b2lkIDA7cmV0dXJuIHY/LnRvU3RyaW5nKCl9LCJkYXRhLXN0eWxlIjooKT0+dHlwZW9mIGs/LigpPT09InN0cmluZyI/aygpOms/LigpPy5zdHlsZVR5cGUsImRhdGEtaWNvbi1vbmx5IjooKT0+IWM/LigpLCJpcy1idXN5IjpsLCJhcmlhLWJ1c3kiOmwsImFyaWEtaGlkZGVuIjp0fSxfLksoImJ1dHRvbiIse2NsYXNzOiJidXR0b24td2l0aC1pY29uLWJ1dHRvbiIsIm9uOmNsaWNrIjpmdW5jdGlvbih2KXtoPy4odik7di5zdG9wUHJvcGFnYXRpb24oKX0sZGlzYWJsZWQ6ZiwiYXJpYS1sYWJlbCI6KCk9PmQ/LigpfHwiIiwiYXJpYS1wcmVzc2VkIjooKT0+ZT8uKCk/P3ZvaWQgMH0sXy5LKCJkaXYiLHtjbGFzczoiYnV0dG9uLXdpdGgtaWNvbi1pbm5lciJ9LF8uSyhfLk8se0E6KCk9PiFuPy4oKSYmYigpLHRoZW46KCk9Pl8uSyhfLnVPLHtpY29uOmIsY2xhc3NOYW1lOiJidXR0b24tcmVuZGVyZXItaWNvbiJ9KX0pLF8uSygiZGl2IiwKe2NsYXNzOiJidXR0b24tcmVuZGVyZXItdGV4dCJ9LF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoXy5JSix7ZGF0YTpjfSl9KSksXy5LKF8uTyx7QTooKT0+bigpJiZiKCksdGhlbjooKT0+Xy5LKF8udU8se2ljb246YixjbGFzc05hbWU6ImJ1dHRvbi1yZW5kZXJlci1pY29uIn0pfSksXy5LKF8uTyx7QTpsLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJ1dHRvbi13aXRoLWljb24tc3Bpbm5lciBzcGlubmVyIn0pfSkpKSl9LCJpYiIpO18uSENbXy5SQVsiZGVmYXVsdCJdXT1vaGE7KGZ1bmN0aW9uKCl7dmFyIGE9Xy5jQjtfLmNCPWI9PnthPy4oYik7Xy5PRSgoKT0+e2ZvcihsZXQgYz0wO2M8Yi5sZW5ndGg7YysrKVROKGJbY10pfSl9fSkoKTtfLndPPV8uTCgoe2NoaWxkcmVuOmEsb25jbGljazpiLHJvbGU6YyxIeTpkfSk9Pnt2YXIgZT1fLnVFKCJidXR0b24iKTtfLlVKKCgpPT57ZD8uKGUudmFsdWUpfSk7cmV0dXJuIF8uSygieXRtLW1lbnUtaXRlbSIsbnVsbCxfLksoImJ1dHRvbiIse2NsYXNzOiJtZW51LWl0ZW0tYnV0dG9uIixlbDplLCJvbjpjbGljayI6Yixyb2xlOmN9LGEpKX0sImpiIik7Xy53Ty5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uY2xpY2s6ITAsSHk6ITB9fTtfLkwoKHt1cmw6YSxsSzpiLGNoaWxkcmVuOmN9KT0+Xy5LKCJ5dG0tbWVudS1pdGVtIixudWxsLF8uSygiYSIse2hyZWY6YSxjbGFzczoibWVudS1pdGVtLWJ1dHRvbiIsdGFyZ2V0OigpPT5iPy4oKT8iX2JsYW5rIjp2b2lkIDB9LGMpKSwia2IiKS5pZG9tQ29tcGF0PSEwOwpfLkwoKHtjb21tYW5kOmEsY2hpbGRyZW46Yn0pPT5fLksoInl0bS1tZW51LWl0ZW0iLG51bGwsXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEoKT8/dm9pZCAwLGNsYXNzTmFtZToibWVudS1pdGVtLWJ1dHRvbiJ9LGIpKSwibGIiKS5pZG9tQ29tcGF0PSEwO3ZhciBWTixXTixbWU4scGhhXT1fLkoobnVsbCx2b2lkIDAsIkdDS2c4ZSIpLHhPPV8uTCgoe0RoOmF9KT0+Xy5LKF8ud08sbnVsbCxfLksoImRpdiIse2NsYXNzOiJtZW51LWNhbmNlbC1idXR0b24ifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLlRkLGNsYXNzTmFtZToibWVudS1jYW5jZWwtaWNvbiJ9KSwoKT0+YSgpLmNhbmNlbEJ1dHRvbkxhYmVsKSksIm1iIiksWE49Xy5MKCh7RGg6YSxjaGlsZHJlbjpifSk9Pnt2YXIgYz1fLnVFKCJkaXYiLCgpPT57fSk7cmV0dXJuIF8uSygiZGl2Iix7ZWw6YyxjbGFzczpfLlAoIm1lbnUtY29udGVudCIseyJtZW51LWJvdHRvbSI6KCk9PmEoKS5ucSwibWVudS1zaG93LWljb25zIjooKT0+YSgpLkhhfHxhKCkubnF8fGEoKS5pc0Z1bGxXaWR0aCwicm91bmRlZC1jb250YWluZXIiOigpPT4hYSgpLmlzRnVsbFdpZHRofSksIm9uOmNsaWNrIjpmdW5jdGlvbigpe2EoKS5Td3x8YSgpLkVJfHxfLlVOKCl9LHJvbGU6KCk9PmEoKS5pc0Z1bGxXaWR0aD8Kdm9pZCAwOiJkaWFsb2ciLCJhcmlhLW1vZGFsIjooKT0+IWEoKS5pc0Z1bGxXaWR0aCwiYXJpYS1sYWJlbGxlZGJ5IjooKT0+YSgpLlZIfSxiLF8uSyhfLk8se0E6KCk9PiFhKCkuU3csdGhlbjooKT0+Xy5LKF8uTyx7QTooKT0+ISFhKCkubnEsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiYm90dG9tLW1lbnUtY2FuY2VsIn0sXy5LKHhPLHtEaDphfSkpLFc6KCk9Pl8uSyh4Tyx7RGg6YX0pfSl9KSl9LCJuYiIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1jaGFuZ2UiLGFPKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsYU8pO3ZhciB5Tzt5Tz1fLkwoYT0+e3ZhciBiPWEuY2hpbGRyZW4sYz1fLlp0fHx2b2lkIDAsZD1fLm1HKCk7cmV0dXJuIF8uSygieXRtLW1lbnUiLG51bGwsYih7b25DbGljazplPT57YS5zdG9wUHJvcGFnYXRpb24/LigpJiZlLnN0b3BQcm9wYWdhdGlvbigpO2EucHJldmVudERlZmF1bHQ/LigpJiZlLnByZXZlbnREZWZhdWx0KCk7cWhhKHtjb250ZW50OmEuY29udGVudCxjYW5jZWxCdXR0b25MYWJlbDphLmNhbmNlbEJ1dHRvbkxhYmVsPy4oKSxUZDphLlRkPy4oKSxjbGFzc05hbWU6YS5kZj8uKCksZm9jdXNPbkNsb3NlOmUuY3VycmVudFRhcmdldCxIYTphLkhhPy4oKSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZD8uKCksZGlzYWJsZWRDb21tYW5kOmEuZGlzYWJsZWRDb21tYW5kPy4oKSxvd25lcjpjLEZBOmR9KX19KSl9LCJwYiIpOwpfLnpPPV8uTChhPT5fLksoeU8sey4uLmEsY29udGVudDphLmNoaWxkcmVufSwoe29uQ2xpY2s6Yn0pPT5fLksoXy5PLHtBOigpPT5hLmJ1dHRvbk92ZXJyaWRlcz8uKCksdGhlbjpjPT5fLksoXy5KSyx7ZGF0YTooKT0+KHtvblRhcDpiLGljb25Qb3NpdGlvbjoiaWNvbi1vbmx5IixzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc2l6ZToiTSIsc3RhdGU6ImFjdGl2ZSIsYWNjZXNzaWJpbGl0eUxhYmVsOmEubGFiZWw/LigpLC4uLmMoKX0pLGljb25OYW1lOmEuaWNvblR5cGV9KSxXOigpPT5fLksoXy50Tyx7bmFtZTphLmljb25UeXBlLGFyaWFMYWJlbDphLmxhYmVsLGNsYXNzTmFtZTpfLlAoYS5GaCx7c21hbGw6YS5sYn0pLG9uY2xpY2s6YixicTohMH0pfSkpLCJxYiIpO18uek8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntjaGlsZHJlbjohMH19OwpfLk1oYT1fLkwoYT0+Xy5LKHlPLHsuLi5hLGNvbnRlbnQ6YS5jaGlsZHJlbn0sKHtvbkNsaWNrOmJ9KT0+Xy5LKF8uTyx7QTooKT0+YS5idXR0b25PdmVycmlkZXM/LigpLHRoZW46Yz0+Xy5LKF8uSksse2RhdGE6KCk9Pih7b25UYXA6YixpY29uUG9zaXRpb246Imljb24td2l0aC1sYWJlbCIsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHNpemU6Ik0iLHN0YXRlOiJhY3RpdmUiLGFjY2Vzc2liaWxpdHlMYWJlbDphLmFyaWFMYWJlbD8uKCksV2E6YS5sYWJlbD8uKCk/Xy5BRihhLmxhYmVsKCkpOnZvaWQgMCwuLi5jKCl9KSxpY29uTmFtZTphLmljb25UeXBlfSksVzooKT0+Xy5LKF8udk8se2ljb25UeXBlOmEuaWNvblR5cGUsbGFiZWw6YS5sYWJlbCxhcmlhTGFiZWw6YS5hcmlhTGFiZWwsYXJpYVByZXNzZWQ6ITEsb25jbGljazpiLHN0eWxlOmEuc3R5bGUsVmw6YS5WbCxMbTphLmFJfSl9KSksInJiIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBPaGEsUGhhLEJPLFFoYSxSaGEsQ08sU2hhLEdPLEhPLFZoYSxVaGEsV2hhLFhoYSxZaGEsWmhhLGFpYSxQTyxiaWEsY2lhLGRpYSxlaWEsZmlhLGhpYSxnaWEsV08saWlhLFhPLGppYSxraWEsZVAsaFAsbFAsbWlhLG5pYSxrUCxqUCxOaGEsVGhhO09oYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgT2JqZWN0LnZhbHVlcyhOaGEpKWlmKF8uaXEoYik9PT1hKXJldHVybiEwO3JldHVybiExfTsKUGhhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgsayxsKXt2YXIgbT0oMCxfLkR3KSgpO2Y9bmV3IF8uVHcoe3ZlVHlwZTpiLHlvdXR1YmVEYXRhOmYsanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO2w9Xy5Xdyh7YXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6bH0sbSk7ZSYmKGwuY3R0QXV0aEluZm89ZSk7ZT17Y3NuOm0scGFnZVZlOmYuZ2V0QXNKc29uKCl9O18ueCgiZXhwZWN0YXRpb25fbG9nZ2luZyIpJiZrJiZrLnNjcmVlbkNyZWF0ZWRMb2dnaW5nRXhwZWN0YXRpb25zJiYoZS5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucz1rLnNjcmVlbkNyZWF0ZWRMb2dnaW5nRXhwZWN0YXRpb25zKTtjJiZjLnZpc3VhbEVsZW1lbnQ/KGUuaW1wbGljaXRHZXN0dXJlPXtwYXJlbnRDc246Yy5jbGllbnRTY3JlZW5Ob25jZSxnZXN0dXJlZFZlOmMudmlzdWFsRWxlbWVudC5nZXRBc0pzb24oKX0saCYmKGUuaW1wbGljaXRHZXN0dXJlLmdlc3R1cmVUeXBlPWgpKTpjJiZfLklwKG5ldyBfLlhqKCJuZXdTY3JlZW4oKSBwYXJlbnQgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGEgVkUgLSByb290VmUiLApiKSk7ZCYmKGUuY2xvbmVDc249ZCk7YT9fLkNwKCJzY3JlZW5DcmVhdGVkIixlLGEsbCk6Xy5FcCgic2NyZWVuQ3JlYXRlZCIsZSxsKTtfLnNtKF8uQ3csbmV3IF8uQncobSkpO18uRXcuY2xlYXIoKTtfLkZ3LmNsZWFyKCk7Xy5Hdy5jbGVhcigpO3JldHVybiBtfTtfLkFPPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe18ud3goYSxiLGMsZSxoKX07Qk89ZnVuY3Rpb24oYSxiKXthLksuaGFzKGIpfHxhLksuc2V0KGIsW10pO3JldHVybiBhLksuZ2V0KGIpfTsKUWhhPWZ1bmN0aW9uKGEsYixjPTApe18uVmkoKCk9PntiLnRoZW4oZD0+e2Euai5oYXMoYykmJmEuQiYmYS5CKCk7dmFyIGU9Xy5pcShjKSxmPV8uVncoYyk7aWYoZSYmZil7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2Q/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmXy5ieChhLmNsaWVudCxlLGYsXy5VdyhkLnJlc3BvbnNlLnRyYWNraW5nUGFyYW1zKSwhMSxoKTtkPy5wbGF5ZXJSZXNwb25zZT8udHJhY2tpbmdQYXJhbXMmJl8uYngoYS5jbGllbnQsZSxmLF8uVXcoZC5wbGF5ZXJSZXNwb25zZS50cmFja2luZ1BhcmFtcyksITEsaCl9fSl9KSgpfTtSaGE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLkQubGVuZ3RoO2IrKyl7dmFyIGM9YS5EW2JdO3RyeXtjKCl9Y2F0Y2goZCl7Xy5HcChkKX19YS5ELmxlbmd0aD0wO2ZvcihiPTA7YjxhLlUubGVuZ3RoO2IrKyl7Yz1hLlVbYl07dHJ5e2MoKX1jYXRjaChkKXtfLkdwKGQpfX19OwpDTz1mdW5jdGlvbihhLGIsYyxkPXt9KXt2YXIgZT12b2lkIDA7ZC5sYXllcnx8KGQubGF5ZXI9MCk7ZT1kLnBhcmVudExheWVyIT09dm9pZCAwP2QucGFyZW50TGF5ZXI6ZC5sYXllcjt2YXIgZj1fLmlxKGUpO2U9Xy5WdyhlKTt2YXIgaD1jfHxlLGs7aCYmKGQucGFyZW50Q3NuIT09dm9pZCAwP2s9e2NsaWVudFNjcmVlbk5vbmNlOmQucGFyZW50Q3NuLHZpc3VhbEVsZW1lbnQ6aH06ZiYmZiE9PSJVTkRFRklORURfQ1NOIiYmKGs9e2NsaWVudFNjcmVlbk5vbmNlOmYsdmlzdWFsRWxlbWVudDpofSkpO3ZhciBsLG09Xy53KCJFVkVOVF9JRCIpO2Y9PT0iVU5ERUZJTkVEX0NTTiImJm0mJihsPXtzZXJ2bGV0RGF0YTp7c2VyaWFsaXplZFNlcnZsZXRFdmVudElkOm19fSk7Xy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpJiZmJiZfLmt4KGEsZik7Xy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZmJiZfLmN4KGgsZik7dHJ5e3ZhciBuPVBoYShhLmNsaWVudCxiLGssCmQudHAsZC5jdHRBdXRoSW5mbyxsLGQuaW1wbGljaXRHZXN0dXJlVHlwZSxkLmxvZ2dpbmdFeHBlY3RhdGlvbnMsZC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZSl9Y2F0Y2gocil7Xy5jdyhyLHtHSzpiLHJvb3RWZTplLHFLOmMsbkk6ZixwSzprLHRwOmQudHB9KTtfLkdwKHIpO3JldHVybn1fLm1xKG4sYixkLmxheWVyLGQuY3R0QXV0aEluZm8pO2YmJmYhPT0iVU5ERUZJTkVEX0NTTiImJmUmJiFPaGEoZikmJihfLnZ4KGEuY2xpZW50LGYsZSwhMCksYS5vLmRlbGV0ZShmKSk7Yj1CTyhhLGQubGF5ZXJ8fDApO2IubGVuZ3RoPjAmJiFiW2IubGVuZ3RoLTFdLmNzbiYmKGJbYi5sZW5ndGgtMV0uY3NuPW58fCIiKTtfLnpxKHtjbGllbnRTY3JlZW5Ob25jZTpufSk7Xy5EeCgpO18uVmkoXy5CeCgpLkspLmJpbmQoXy5CeCgpKSgpO3ZhciBwPV8uVncoZC5sYXllcik7ZiYmZiE9PSJVTkRFRklORURfQ1NOIiYmcCYmXy54KCJtdXNpY193ZWJfbWFya19yb290X3Zpc2libGUiKSYmXy5WaShfLkFPKSh2b2lkIDAsCm4scCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk7YS5qLmRlbGV0ZShkLmxheWVyfHwwKTthLkI9dm9pZCAwO2EuaGEuZ2V0KGQubGF5ZXIpPy5mb3JFYWNoKChyLHQpPT57cj9fLml4KGEsdCxyLGQubGF5ZXIpOnAmJl8uaXgoYSx0LHAsZC5sYXllcil9KTtSaGEoYSl9O1NoYT1mdW5jdGlvbihhLGIsYyxkPXt9KXthLmouYWRkKGQubGF5ZXJ8fDApO2EuQj0oKT0+e0NPKGEsYixjLGQpO3ZhciBlPV8uVncoZC5sYXllcik7aWYoZSl7bGV0IGY9Xy5pcShkLmxheWVyKTtmb3IobGV0IGggb2YgYS5ZKXtsZXQgaz1oWzBdLGw9aFsxXXx8ZTtmP18uangoYSxrLGwsZC5sYXllcixmKTpfLml4KGEsayxsLGQubGF5ZXIpfWZvcihsZXQgaCBvZiBhLk0pXy5teChhLGhbMF0saFsxXSl9fTtjfHxfLmlxKGQubGF5ZXIpfHxhLkIoKTtpZihkLmZsKWZvcihsZXQgZSBvZiBkLmZsKVFoYShhLGUsZC5sYXllcik7ZWxzZSBfLkdwKEVycm9yKCJOYiIpKX07Cl8uRE89ZnVuY3Rpb24oYSxiLGMsZD17fSl7Xy5WaSgoKT0+e1RoYS5pbmNsdWRlcyhiKXx8KF8uSXAobmV3IF8uWGooImNyZWF0ZUNsaWVudFNjcmVlbigpIGNhbGxlZCB3aXRoIGEgbm9uLXBhZ2UgVkUiLGIpKSxiPTgzNzY5KTtpZighZC5pc0hpc3RvcnlOYXZpZ2F0aW9uKXtsZXQgZT1kLmxheWVyfHwwO2EuZ2Euc2V0KGUsW10pO0JPKGEsZSkucHVzaCh7cm9vdFZlOmIsa2V5OmQua2V5fHwiIn0pfWEuWT1bXTthLk09W107ZC5mbD9TaGEoYSxiLGMsZCk6Q08oYSxiLGMsZCl9KSgpfTtfLkVPPWZ1bmN0aW9uKGEsYixjLGQpe2I9Xy5kYihiKTtyZXR1cm4gYiE9PXZvaWQgMD9hLm9wZW4oYixjLGQpOm51bGx9O18uRk89ZnVuY3Rpb24oYSxiLGMpe2M9YyE9bnVsbD8iPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSk6IiI7cmV0dXJuIF8uU2IoYSxiK2MpfTtHTz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlF5KF8uZWQoYSxiKSk/PyExfTsKSE89ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLld4KGEsYixfLnh3KGMpLCExKX07Xy5JTz1mdW5jdGlvbihhLGIpe3ZhciBjO18udWIoYSxkPT57Yz1iW2RdO3JldHVybiEhY30pO3JldHVybiBjfTtfLkpPPWZ1bmN0aW9uKGEsYixjPTApeyhjPV8uaXEoYykpJiZhJiZfLlZpKF8uQU8pKHZvaWQgMCxjLGEsdm9pZCAwLGIsdm9pZCAwKX07Xy5LTz1mdW5jdGlvbigpe3JldHVybiEhXy53KCJNV0VCX0ZJUkVGT1hfWVRfTEFVTkNIRVIiKX07Xy5MTz1mdW5jdGlvbigpe3JldHVybiBfLmtNP18ua006Xy5sTSgpfTtfLk1PPWZ1bmN0aW9uKGEsYj01LGMpe2lmKGIhPT0wKXt2YXIgZD10eXBlb2YgYT09PSJmdW5jdGlvbiI/YSgpOmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYSk7ZD9jPy5ybD9fLmROKGQpOmQuZm9jdXMoKTpzZXRUaW1lb3V0KCgpPT57Xy5NTyhhLGItMSxjKX0sNTAwKX19O1ZoYT1mdW5jdGlvbigpe3ZhciBhPVVoYSgpO3JldHVybiBITyhhLDcsITApfTsKVWhhPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IE5PO2E9SE8oYSw1LCEwKTthPUhPKGEsMiwhMCk7YT1ITyhhLDQsITEpO2E9SE8oYSw4LCEwKTtyZXR1cm4gSE8oYSw5LCEwKX07V2hhPWZ1bmN0aW9uKCl7dmFyIGE9VmhhKCk7cmV0dXJuIEhPKGEsMTAsITApfTtYaGE9ZnVuY3Rpb24oKXt2YXIgYT1XaGEoKTtyZXR1cm4gSE8oYSwxMiwhMCl9O1loYT1mdW5jdGlvbigpe3ZhciBhPVhoYSgpO3JldHVybiBITyhhLDEzLCExKX07WmhhPWZ1bmN0aW9uKCl7dmFyIGE9WWhhKCk7cmV0dXJuIEhPKGEsMTQsITApfTthaWE9ZnVuY3Rpb24oYSl7cmV0dXJuICRoYS5zb21lKGI9PmIudGVzdChhKSl9OwpQTz1mdW5jdGlvbihhLGIpe3t2YXIgYz1hLmZvcm1Db250ZW50Py5sb2NhbGU7bGV0IGQ9Yz8uc3BsaXQoIi0iKVswXTtjPWMmJk9PLmluY2x1ZGVzKGMpP2M6ZCYmT08uaW5jbHVkZXMoZCk/ZDp2b2lkIDB9Yz0oYz8/ImVuIikucmVwbGFjZUFsbCgiLSIsIl8iKS50b0xvd2VyQ2FzZSgpO2E9YS5pbml0aWFsaXphdGlvbkRhdGE/LnVzZU5pZ2h0bHlSZWxlYXNlPyJuaWdodGx5IjoibGl2ZSI7cmV0dXJuIGI/LmdldEVuYWJsZUFsb2hhQmluYXJ5U3BsaXQ/LigpPygwLF8uWXgpYGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3VzZXJ2b2ljZS9mZWVkYmFjay9jbGllbnQvd2ViLyR7YX0vbWFpbl9saWdodF9iaW5hcnkuanNgOigwLF8uWXgpYGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3VzZXJ2b2ljZS9mZWVkYmFjay9jbGllbnQvd2ViLyR7YX0vbWFpbl9iaW5hcnlfXyR7Y30uanNgfTsKYmlhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKFFPJiZSTz09PWIpcmV0dXJuIFFPO1JPPWI7dmFyIGU9UE8oYSxkKTtyZXR1cm4gUU89Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P1Byb21pc2UucmVzb2x2ZShiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOm5ldyBQcm9taXNlKChmLGgpPT57dmFyIGs9Xy5DZCgiU0NSSVBUIik7Xy5vYihrLGUpO2sub25sb2FkPSgpPT57Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P2YoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpoKEVycm9yKCJHZCIpKX07ay5vbmVycm9yPSgpPT57aChFcnJvcigiSGRgIitlLnRvU3RyaW5nKCkpKX07Yy5ib2R5LmFwcGVuZENoaWxkKGspfSl9OwpjaWE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoU08mJlRPPT09YilyZXR1cm4gU087VE89Yjt2YXIgZT1QTyhhLGQpO3JldHVybiBTTz1iLmZlZWRiYWNrVjJHbG9iYWxPYmplY3Q/UHJvbWlzZS5yZXNvbHZlKGIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdCk6bmV3IFByb21pc2UoKGYsaCk9Pnt2YXIgaz1fLkNkKCJTQ1JJUFQiKTtfLm9iKGssZSk7ay5vbmxvYWQ9KCk9PntiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3Q/ZihiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOmgoRXJyb3IoIkdkIikpfTtrLm9uZXJyb3I9KCk9PntoKEVycm9yKCJIZGAiK2UudG9TdHJpbmcoKSkpfTtjLmJvZHkuYXBwZW5kQ2hpbGQoayl9KX07ZGlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPURhdGUubm93KCk7YT1hd2FpdCAoYXdhaXQgYmlhKGEsYyxkLGIpKS5pbml0aWFsaXplRmVlZGJhY2tDbGllbnRBc3luYyhhLGUsYik7YS5pbml0aWF0ZUFsb2hhKCk7cmV0dXJuIGF9OwplaWE9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9RGF0ZS5ub3coKTthPWF3YWl0IChhd2FpdCBjaWEoYSxjLGQuZG9jdW1lbnQsYikpLmluaXRpYWxpemVGZWVkYmFja0NsaWVudEFzeW5jKGEsZSxiLGQpO2EuaW5pdGlhdGVBbG9oYSgpO3JldHVybiBhfTsKZmlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jfHxfLnU7aWYoYj8uZ2V0RW5hYmxlQWxvaGFCaW5hcnlTcGxpdD8uKCkpe2lmKGQuaXNGb3JtT3BlbmVkKXRocm93IG5ldyBVTztkLmlzRm9ybU9wZW5lZD0hMDthLmNhbGxiYWNrcz1hLmNhbGxiYWNrc3x8e307bGV0IGU9YS5jYWxsYmFja3Mub25DbG9zZXx8KCgpPT57fSk7YS5jYWxsYmFja3Mub25DbG9zZT1mPT57ZC5pc0Zvcm1PcGVuZWQ9ITE7ZShmKX07dHJ5e3JldHVybiBlaWEoYSxiLGQsZCl9Y2F0Y2goZil7dGhyb3cgZC5pc0Zvcm1PcGVuZWQ9ITEsZjt9fWVsc2V7aWYoZC5pc0Zvcm1PcGVuZWQpdGhyb3cgbmV3IFVPO2QuaXNGb3JtT3BlbmVkPSEwO2EuY2FsbGJhY2tzPWEuY2FsbGJhY2tzfHx7fTtsZXQgZT1hLmNhbGxiYWNrcy5vbkNsb3NlfHwoKCk9Pnt9KTthLmNhbGxiYWNrcy5vbkNsb3NlPWY9PntkLmlzRm9ybU9wZW5lZD0hMTtlKGYpfTt0cnl7cmV0dXJuIGRpYShhLGIsZCxkLmRvY3VtZW50KX1jYXRjaChmKXt0aHJvdyBkLmlzRm9ybU9wZW5lZD0KITEsZjt9fX07aGlhPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKChjLGQpPT57TnVtYmVyLmlzSW50ZWdlcihOdW1iZXIoYSkpJiZOdW1iZXIoYSk+MD8oZD1naWEoYj8/IiIpKyIvYWxvaGFfZm9ybV9wcm9wZXJ0aWVzP3Byb2R1Y3RJZD0iK2EsXy5seShkLGU9PntlPWUudGFyZ2V0O3ZhciBmPW51bGw7dHJ5e3ZhciBoPUpTT04saz1oLnN0cmluZ2lmeTtpZihlLnJhKXt2YXIgbD1lLnJhLnJlc3BvbnNlVGV4dDtsLmluZGV4T2YoIildfSdcbiIpPT0wJiYobD1sLnN1YnN0cmluZyg1KSk7dmFyIG09Xy5FdihsKX1lbHNlIG09dm9pZCAwO2Y9Xy5YeChWTyxrLmNhbGwoaCxtKSl9Y2F0Y2gobil7az1uZXcgVk8sbT1aaGEoKSxtPUhPKG0sMTUsITApLG09SE8obSwyMCwhMSksbT1ITyhtLDI1LCExKSxtPUhPKG0sMjYsITEpLGY9Xy5LdyhrLDEsbSl9YyhmKX0sIkdFVCIsIiIse30sMkUzLCEwKSk6ZChFcnJvcigiSWRgIithKSl9KX07CmdpYT1mdW5jdGlvbihhKXtyZXR1cm4gYWlhKGEpP2E6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdG9vbHMvZmVlZGJhY2sifTsKV089ZnVuY3Rpb24oYSxiLGMsZCl7YS50aW1lT2ZTdGFydENhbGw9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIGU9Y3x8Xy51LGY9ZS5kb2N1bWVudCxoPWEubm9uY2V8fF8uaWIoZS5kb2N1bWVudCk7aCYmIWEubm9uY2UmJihhLm5vbmNlPWgpO2lmKGEuZmxvdz09ImhlbHAiKXt2YXIgaz1fLnNhKCJkb2N1bWVudC5sb2NhdGlvbi5ocmVmIixlKTshYS5oZWxwQ2VudGVyQ29udGV4dCYmayYmKGEuaGVscENlbnRlckNvbnRleHQ9ay5zdWJzdHJpbmcoMCwxMjAwKSk7az0hMDtpZihiJiZKU09OJiZKU09OLnN0cmluZ2lmeSl7bGV0IGw9SlNPTi5zdHJpbmdpZnkoYik7KGs9bC5sZW5ndGg8PTEyMDApJiYoYS5wc2RKc29uPWwpfWt8fChiPXtpbnZhbGlkUHNkOiEwfSl9Yj1bYSxiLGMsZF07ZS5HT09HTEVfRkVFREJBQ0tfU1RBUlRfQVJHVU1FTlRTPWI7Yz1hLmZlZWRiYWNrU2VydmVyVXJpfHwiLy93d3cuZ29vZ2xlLmNvbS90b29scy9mZWVkYmFjayI7aWYoZD1lLkdPT0dMRV9GRUVEQkFDS19TVEFSVClkLmFwcGx5KGUsCmIpO2Vsc2V7ZT1jKyIvbG9hZC5qcz8iO2ZvcihsZXQgbCBpbiBhKWI9YVtsXSxiPT1udWxsfHxfLkFhKGIpfHwoZSs9ZW5jb2RlVVJJQ29tcG9uZW50KGwpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYikrIiYiKTthPV8ueGQoZikuY3JlYXRlRWxlbWVudCgiU0NSSVBUIik7aCYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixoKTtfLm9iKGEsXy5UYShlKSk7Zi5ib2R5LmFwcGVuZENoaWxkKGEpfX07CmlpYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmZsb3c9PT0ic3VibWl0IixmPSEhXy5kcixoPXR5cGVvZiB3aW5kb3chPT0idW5kZWZpbmVkIiYmISEod2luZG93Ll9fa2FybWFfX3x8d2luZG93Lmphc21pbmV8fHdpbmRvdy5tb2NoYXx8d2luZG93Lmplc3QpO2lmKGUmJmgpV08oYSxiLGMsZCk7ZWxzZXtoPShhd2FpdCBoaWEoYS5wcm9kdWN0SWQsYS5mZWVkYmFja1NlcnZlclVyaSkpPy52KCk7Zj0hZnx8aD8uZ2V0RW5hYmxlTXdlYigpO3ZhciBrPSFhLnRpbnlOb1BvaW50ZXJ8fGg/LmdldEVuYWJsZVRpbnlOb1BvaW50ZXIoKTtmPSFlJiYoIWh8fGguZ2V0QWxvaGFBdXRvR2FSb2xsb3V0KCkmJmYmJmspO2U9ZSYmaD8uZ2V0RW5hYmxlQWxvaGFIZWFkbGVzcygpJiZhLnJlcG9ydDtmfHxlP2F3YWl0IFhPKGEsYixjLGgsZCk6V08oYSxiLGMsZCl9fTsKWE89YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1jfHxfLnUsaD1hLnNlcnZlckVudmlyb25tZW50PT09IkRFViI7Yz1jfHxfLnU7Yz1hLm5vbmNlfHxfLmliKGMuZG9jdW1lbnQpO2g9e2ludGVncmF0aW9uS2V5czp7cHJvZHVjdElkOmEucHJvZHVjdElkLGZlZWRiYWNrQnVja2V0OmEuYnVja2V0LHRyaWdnZXJJZDphLnRyaWdnZXJJZCxtaWNyb2ZlZWRiYWNrU2NvcmU6YS5taWNyb2ZlZWRiYWNrU2NvcmV9LGNhbGxiYWNrczp7b25DbG9zZTphLmNhbGxiYWNrLG9uTG9hZDphLm9uTG9hZENhbGxiYWNrfSxmb3JtQ29udGVudDp7bG9jYWxlOmEubG9jYWxlLGRpc2FibGVTY3JlZW5zaG90OmEuZGlzYWJsZVNjcmVlbnNob3R0aW5nLHByb2R1Y3REaXNwbGF5TmFtZTp2b2lkIDAsYW5ub3VuY2VtZW50OnZvaWQgMCxpc3N1ZUNhdGVnb3JpZXM6dm9pZCAwLGluY2x1ZGVTZXZlcml0eVNlbGVjdGlvbjp2b2lkIDAsY3VzdG9tSW1hZ2VTcmM6dm9pZCAwLHRoYW5rWW91TWVzc2FnZTp2b2lkIDAsCnVzZXJFbWFpbDp2b2lkIDAsZGVmYXVsdEZvcm1JbnB1dFZhbHVlczp2b2lkIDAsZGVmYXVsdEZvcm1JbnB1dFZhbHVlc1N0cmluZzp2b2lkIDAsYWJ1c2VMaW5rOmEuYWJ1c2VMaW5rLGFkZGl0aW9uYWxEYXRhQ29uc2VudDphLmFkZGl0aW9uYWxEYXRhQ29uc2VudH0saW5pdGlhbGl6YXRpb25EYXRhOntpc0xvY2FsU2VydmVyOmgsbm9uY2U6Yyx1c2VOaWdodGx5UmVsZWFzZTpoLGZlZWRiYWNrSnNVcmw6dm9pZCAwLGZlZWRiYWNrQ3NzVXJsOnZvaWQgMCxmZWVkYmFja0pzVXJsU2VyaWFsaXplZDp2b2lkIDAsZmVlZGJhY2tDc3NVcmxTZXJpYWxpemVkOnZvaWQgMCxzdWJtaXNzaW9uU2VydmVyVXJpOmEuZmVlZGJhY2tTZXJ2ZXJVcmksY29sb3JTY2hlbWU6YS5jb2xvclNjaGVtZX0sZXh0cmFEYXRhOntwcm9kdWN0VmVyc2lvbjphLnByb2R1Y3RWZXJzaW9uLGF1dGhVc2VyOmEuYXV0aHVzZXIsY29uZmlndXJhdG9ySWQ6YS5jb25maWd1cmF0b3JJZCxjdXN0b21aSW5kZXg6YS5jdXN0b21aSW5kZXgsCnRpbnlOb1BvaW50ZXI6YS50aW55Tm9Qb2ludGVyLGFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjazphLmFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjayxlbmFibGVBbm9ueW1vdXNGZWVkYmFjazphLmVuYWJsZUFub255bW91c0ZlZWRiYWNrfX07YS5yZXBvcnQmJihoLmhlYWRsZXNzUmVwb3J0PWEucmVwb3J0KTtiJiYoYT1uZXcgTWFwKE9iamVjdC5lbnRyaWVzKGIpKSxoLmV4dHJhRGF0YS5wcm9kdWN0U3BlY2lmaWNEYXRhPWEpO2UmJihlPW5ldyBNYXAoT2JqZWN0LmVudHJpZXMoZSkpLGguZXh0cmFEYXRhLnByb2R1Y3RTcGVjaWZpY0JpbmFyeURhdGE9ZSk7YXdhaXQgZmlhKGgsZCxmKX07Cl8uWU89ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e2lmKGEuZmxvdz09PSJoZWxwIil7bGV0IGU9YS5oZWxwQ2VudGVyUGF0aC5yZXBsYWNlKC9eXC8vLCIiKTtfLkVPKGN8fHdpbmRvdyxgaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vJHtlfWApfWVsc2UgaWlhKGEsYixjLGQpLmNhdGNoKGU9PnshZXx8ZSBpbnN0YW5jZW9mIFVPfHxXTyhhLGIsYyxkKX0pfWNhdGNoKGUpe1hPKGEsYixjLG51bGwsZCkuY2F0Y2goZj0+eyFmfHxmIGluc3RhbmNlb2YgVU98fFdPKGEsYixjLGQpfSl9fTtfLlpPPWZ1bmN0aW9uKCl7dmFyIGE9Xy5JTyhbImZ1bGxzY3JlZW5FbGVtZW50Iiwid2Via2l0RnVsbHNjcmVlbkVsZW1lbnQiLCJtb3pGdWxsU2NyZWVuRWxlbWVudCIsIm1zRnVsbHNjcmVlbkVsZW1lbnQiXSxkb2N1bWVudCk7cmV0dXJuIGE/YTpudWxsfTsKXy4kTz1mdW5jdGlvbihhKXt2YXIgYj1hLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFja2xpc3QiLHtpbmNsdWRlQXNyOiEwfSk/P1tdO3JldHVybiBiPWppYShiLGEpfTtfLmFQPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFuc2xhdGlvbkxhbmd1YWdlcyIse2luY2x1ZGVBc3I6ITB9KXx8W119O2ppYT1mdW5jdGlvbihhLGIpe2I9Xy5hUChiKTtpZighYj8ubGVuZ3RoKXJldHVybiBhO3ZhciBjPWIuZmlsdGVyKGQ9PmQpO2I9YS5maWx0ZXIoZD0+ZC5sYW5ndWFnZUNvZGU/LnN0YXJ0c1dpdGgoImVuIikpO2ZvcihsZXQgZCBvZiBjKWlmKGIubGVuZ3RoKXtjPWJbMF07bGV0IGU9ey4uLmN9O2MubGFuZ3VhZ2VDb2RlIT09ZC5sYW5ndWFnZUNvZGUmJihlLmRpc3BsYXlOYW1lPWAke2MubGFuZ3VhZ2VOYW1lfSA+PiAke2QubGFuZ3VhZ2VOYW1lfWAsZS50cmFuc2xhdGlvbkxhbmd1YWdlPWQsYS5wdXNoKGUpKX1yZXR1cm4gYX07CmtpYT1mdW5jdGlvbigpe18uTU8oJ1thcmlhLWxhYmVsPSJZb3VUdWJlIl0nLDUse3JsOiEwfSl9O2VQPWZ1bmN0aW9uKGEpe3ZhciBiPWJQO2ImJihhP2NQPV8ueEYoYiwoKT0+Xy5LKGRQLG51bGwsXy5LKF8udE4se2NvbXBvbmVudDpsaWF9KSkse0lrOl8uWEN9KTooY1A/LigpLGNQPW51bGwpKX07aFA9ZnVuY3Rpb24oKXtjUCYmKGNQKCksY1A9bnVsbCk7ZlAodm9pZCAwKTtnUCgib3V0Iik7YlAmJihiUC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGJQKSxiUD1udWxsKX07bFA9ZnVuY3Rpb24oKXtpUC5sZW5ndGgmJihnUCgib3V0Iiksc2V0VGltZW91dCgoKT0+e2lQLnNoaWZ0KCk7aVAubGVuZ3RoPjA/KGhQKCksalAoKSxrUCgpKTooZVAoKSxoUCgpKX0sMTk1KSl9O21pYT1mdW5jdGlvbigpe18uTk0od2luZG93LCJzdGF0ZS1uYXZpZ2F0ZWVuZCIsKCk9PntzZXRUaW1lb3V0KGtpYSwxRTMpfSl9OwpuaWE9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYzMtdG9hc3QiKTtpZihiKXtsZXQgYz1iLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpO2MmJl8uTk0oYywiZm9jdXMiLCgpPT57Y2xlYXJUaW1lb3V0KG1QKTttUD1zZXRUaW1lb3V0KGxQLGEpO18uTk0oYywiYmx1ciIsKCk9PntfLk9FKF8ublApfSl9KX19O2tQPWZ1bmN0aW9uKCl7Z1AoImluIik7dmFyIHtjb250ZW50OmEsZHVyYXRpb25NczpifT1pUC5sZW5ndGg/aVBbMF06e307ZlAoYSk7Y1B8fGVQKGEpO21QPXNldFRpbWVvdXQoKCk9PntsUCgpfSwyMjUrKGJ8fDApKTtfLlVNKCk9PT0ibGlicmFyeSI/bWlhKCk6YiE9PXZvaWQgMCYmbmlhKGIpfTtqUD1mdW5jdGlvbigpe2JQfHwoYlA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksYlAuaWQ9InRvYXN0cyIsKF8uWk8oKXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYlApLGVQKCkpfTsKXy5wUD1mdW5jdGlvbihhLGI9b1AsYz0hMSl7alAoKTtiPWJ8fG9QO2MmJmlQLmxlbmd0aD4wPyhjbGVhclRpbWVvdXQobVApLF8uT0UoKCk9PntpUFswXT17Y29udGVudDphLGR1cmF0aW9uTXM6Yn07a1AoKX0pKTooaVAucHVzaCh7Y29udGVudDphLGR1cmF0aW9uTXM6Yn0pLGlQLmxlbmd0aD09PTEmJl8uT0Uoa1ApKX07Xy5uUD1mdW5jdGlvbigpe2lQLmxlbmd0aD4wJiYoY2xlYXJUaW1lb3V0KG1QKSxsUCgpKX07Xy5xUD1mdW5jdGlvbihhKXtfLlhNKCJuYXZpZ2F0ZSIsYSl9O18uclA9ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJtd2ViX25ld19mdWxsc2NyZWVuIik/ISFfLlpPKCk6ISFfLlpPKCl8fHdpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNmYXV4ZnVsbHNjcmVlbiJ9OwpfLnNQPWZ1bmN0aW9uKGEpe2E9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYS50b1N0cmluZygpKTthLmZvY3VzKCk7YS5zZXRTZWxlY3Rpb25SYW5nZSgwLGEudmFsdWUubGVuZ3RoKTthPSExO3RyeXthPWRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5Iil9Y2F0Y2goYil7fV8ucFAoYT8oKT0+b2lhOigpPT5waWEpfTtfLnRQPWZ1bmN0aW9uKCl7cmV0dXJuISFfLncoIklEX1RPS0VOIil9O05oYT17SEM6MCx2QzoxLEJDOjIseUY6MyxYbjo0LERIOjUsQkY6NixRRzo3LHBHOjgsdUc6OSxURjoxMCxuRjoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07ClRoYT1bMzYxMSwyNzY4NiwyMjEwNTgsODUwMTMsMjM0NjIsMjQxMTg3LDE1NzU1Nyw0MjAxNiwyNjkyNiw1MTIzNiw3OTE0OCw1MDE2MCw3NzUwNCwzMTAyODEsMTUzNTg3LDg3OTA3LDE4NjMwLDE3NzAxOCwxNzcwMjMsNTQ0NDUsMzIxNjY2LDMyNjM1MywzMjYzNTQsODA5MzUsMTUyMTcyLDE4NDU1MywxMDU2NzUsMTUwNzIzLDM3NTIxLDE0NzI4NSw0Nzc4NiwyMzEyNTUsMjMxMjU0LDIzMTI1OCwyMzEyNTksOTgzNDksMjM3Mjk5LDE2ODI3MSwxNjg5NTQsMTY4Mjc3LDE2ODI3MywxNjgyNzAsMTIzNjk1LDI3MjAxOCwzMzg0OTcsMjI2OTg3LDIyNjk5MCwyMjY5ODgsNjgyNywyOTQzNCwyNTUwMTAsMTcxMzg4LDI0NDE4OSwyMzYyMDgsNzI4MiwxMjQ0NDgsMjk5OTAzLDI5OTg5NywyOTk5MDQsMjk5OTAxLDI5OTg5OSwyOTk5MDIsMjk5OTAwLDI5OTg5OCwxOTYwODgsMjUwODk3LDE5ODEwNCwzMjI3NiwxOTUxMTUsMTk1MTE0LDc2Mjc4LDIwMDYzNSwyMzA1OTQsMTQ3ODY4LDE0Nzg2OSwKMjc2MjQzLDkzOTExLDI3NDE4OCwyNzY2NTEsMzEzNjgwLDEwNjUzMSwyNTcyMzQsMjUyNTk4LDI1MjU5NywyNTI2MDAsMjUyNTk5LDI1MjU5NiwyMjUwMzEsMTc3ODQzLDI3MjU5LDI3MjYyLDI3MjYzLDIxNzU5LDI4MzY3MCwxNjA4NjYsMjA0MjQ5LDIyMjkwMCwyMDQyNTAsMTgwNjI2LDE3Nzk1OSwxNzc5NTcsMTgwNjI4LDIwNTcxNiwxOTc4NzgsMjczNzY2LDE3MTI0MywxNjA3ODksMTcxMjQ0LDE3MTI0MSwxNzEyNDUsMTcxMjQyLDIyNTU2MCwxODA2MjcsMTc3OTYwLDIzMTU4OSwxNzc5NTgsMTgwNjI5LDIwNTcxNywxOTc4NzksMTc3NTY1LDIxMjU3MywyMTA3MDksOTk0NDEyLDIzMDY4NCwyMjk4MDEsMjMwNjg1LDMzNDMxMCwzMzQzMTEsMzM0MzEyLDE5NzMzNywyMDkwMTAsMTk3MzM2LDE5NzMzOCwxOTg2MTgsMzAwODg0LDE3NTQ5MiwxOTgwNTIsMTk4MDUxLDE5Nzg1MiwxOTc5NzYsMzE3Mzc3LDE3NTQ5MywxNzU0OTQsMTc1NDk1LDE4OTI1NCwxNzU0OTYsMTc1NDk3LDM4NDA4LAoxNzU0OTgsMTc1NTAzLDE3NTUwNCwxNzU1MDUsMTc1NTA2LDE3NTUwNywxNzU1MDgsODA2MzcsNjg3MjcsMjA2OTMzLDIwNzk0NCwyMDY5MzQsMzAzMTIzLDIwNjkyOSwyMjE1NzUsNjg3MjgsMjIxNTc2LDgwMzUzLDgwMzU2LDMwODAzMywyNDkxMDcsMTgwNjM1LDc0NjEwLDQ1NzA3LDgzOTYyLDgzOTcwLDQ2NzEzLDE2NjU5MSw4OTcxMSw3NDYxMiwyMTM4MDksMTc5NjA3LDI0NTAwNiwxNTU3OTIsOTMyNjUsNzQ2MTEsMTMxMzgwLDEyODk3OSwxMzkzMTEsMTI4OTc4LDEzMTM5MSwxMDUzNTAsMTM5MzEyLDMzMzYzNywxMzQ4MDAsMTMxMzkyLDExMzUzMywyMjkyOTgsOTMyNTIsOTkzNTcsOTQ1MjEsMTE0MjUyLDExMzUzMiw5NDUyMiw5NDU4MywyMDIzNzEsODhFMywxMzk1ODAsOTMyNTMsOTMyNTQsOTQzODcsOTQzODgsOTMyNTUsOTc0MjQsNzI1MDIsMjE5ODY4LDIxMjk5MSwxMTAxMTEsNzYwMTksMTE3MDkyLDExNzA5Myw4OTQzMSwxOTE4MzEsMTEwNDY2LDIzMTM0Niw3NzI0MCwKNjA1MDgsMTg2MDkxLDE0ODEyMywxNDgxMjQsMTM3NDAxLDEzNzQwMiwxMzcwNDYsNzMzOTMsMjQ2Nzc2LDExMzUzNCwyNzYyMDAsOTIwOTgsMTMxMzgxLDg0NTE3LDgzNzU5LDMwOTU4MCwyMzA2NzYsMjQ5MTgzLDIzMDY3OSwyMzA2NzgsMjMwNjc3LDIzMDY4MSwyMzA2ODAsMTYyNzExLDIzNTIzNCwxNjI3MTIsODAzNTcsOTk0NDExLDI0MzMxNSwzMTM1MDYsMzIxOTY0LDg2MTEzLDcyNTk4LDE2ODQxMyw3MjczMywxMDczNDksMTI0Mjc1LDExODIwMywyMDA0MTAsMTMzMjc1LDE2MDE1NywxNTI1NjksMTU2NjUxLDEzMzI3NCwxNjAxNTksMTYwMTU4LDEzMzI3MiwxMzMyNzMsMTMzMjc2LDE0NDUwNywxNDMyNDcsMTc1OTk0LDE1NjY1MiwxNDMyNDgsMTQzMjQ5LDE0MzI1MCwxNDMyNTEsMTg5ODkyLDE4OTg5NCwxODk4OTMsMTU2NjUzLDIxNDIzNiwxNDQ0MDEsMTE3NDMxLDEzMzc5NywyMjUxMzcsMjczOTA1LDIyMjYxMiwyMjI2MTMsMTUzOTY0LDIwMTEzMywyMDExMzQsMjAxMTM1LAoyMDExMzYsMjAxMTM3LDEyODU3MiwyMDA0MTEsMjAwNDEyLDE5MDMzNywxMzM0MDUsMTE3NDI5LDExNzQzMCwxNzc5NTAsMTc0NzM0LDE3Nzk1MSwyMDExMzgsMjAxMTM5LDIwMTE0MCwyMDExNDEsMjAxMTQyLDExNzQzMiwxNzM5OTYsMTczOTk1LDE3NDk1MywxNzM5OTQsMTczOTk3LDEyMDA4MCwxMTcyNTksMTc4NTQ2LDI5Nzc1MiwxOTc4OTEsMTU2NjU1LDE1NjY1NCwxMjE2OTIsMjExNDE0LDIxMTQxMSwyMTE0MTIsMjExNDEzLDIxMTQwMywxODQ4NDYsMTg1OTkzLDMzNTA0OCwxNDU2NTYsMTU2NjU2LDE0NTY1NSwxNDU2NTMsMTQ1NjU0LDE0NTY1NywxMzI5NzIsMTMzMDUxLDEzMzY1OCwxMzI5NzEsMzM2NzI4LDk3NjE1LDE4MTI2MiwxOTA3NjIsMjUwMzQ0LDI1NDAyNywxNDMzNTksMTQzMzU2LDE0MzM2MSwxNDMzNTgsMTQzMzYwLDE0MzM1NywxNDIzMDMsMTQzMzUzLDI4MjE1OSwxNzI4NTksMTQzMzU0LDE0NDQ3OSwxNDMzNTUsMzE0MDIsMTgxNTkwLDEzMzYyNCwxNDY0NzcsCjEzMzYyMywxMzM2MjIsMTMzNjIxLDE5MjQxOCw4NDc3NCwzMDQ3NzYsMTk3OTkzLDI0MTQ2MCwxNjA4MDEsMTk3OTk1LDk1MTE3LDE3MjcyMSwxNTA0OTcsOTg5MzAsOTg5MzEsOTg5MzIsMzM4NTcwLDMzODQ3NCwzMzg0NzgsMzM4NDczLDE1MzMyMCwxNTMzMjEsNDMzNDcsMzA1MjY4LDI0OTI5NSwyMTAwMTYsMjEwMDE3LDI2MjY4NiwyMTE4NTEsMjExODUyLDMwNzIxOSwyMTE4NTMsMzI3ODEwLDEyOTg4OSwxOTc4ODgsMTk3ODg5LDE0OTEyMywyMjE5NTksMjIxNjI3LDIyMTk1OCw0NTQ3NCwxMDAzNTIsOTg0NDMsMTE3OTg1LDMzMzcwOCw3NDYxMywxNTU5MTEsNzQ2MTQsNjQ1MDIsMTM2MDMyLDc0NjE1LDc0NjE2LDEyMjIyNCw3NDYxNyw3NzgyMCw3NDYxOCwyNjI5ODgsMjYyOTg5LDIyNjk4MSw5MzI3OCw5MzI3NCw5MzI3NSw5MzI3NiwyMDA2ODgsMjAwNjg2LDIwMDY4NywxOTk4NDEsMjIxMTAsMjk0MzMsMTMzNzk4LDEzMjI5NSwyODEzMzIsMTIwNTQxLDIyMjExMiw4MjA0NywKMTEzNTUwLDc1ODM2LDc1ODM3LDMwMzg4MiwxOTI0MDksMjAzMjIxLDQyMzUyLDg0NTEyLDc2MDY1LDc1OTg5LDIwNTkxMSwyMDU5MTIsMjUyNjQ5LDIwNTkxMywyNTI2NTAsMjUyNjUxLDUxODc5LDE2NjIzLDMyNTk0LDI3MjQwLDMzODEwOSwyOTMzMjQsMzI2MzMsNzQ4NTgsMzA0MTUwLDI5NzA0NSwyNzUxOTgsMjcxODg0LDIyMjkzMiwyNzkxMTksMzEyNTgxLDI3MTg4NiwyMTM5MTUsMjc1MTk5LDMxMDc0OCwyMjUyMTYsMjUxMjQ0LDI1ODI1MSwyMTg2NzQsMjUxMjY2LDI1ODI1MCwyNTEyNjUsMzAxNjYyLDI1MTI0NSwyNzE4ODUsMzE1ODE4LDE1Njk5OSwzOTQ1LDE2OTg5LDQ1NTIwLDI1NDg4LDI1NDkyLDI1NDk0LDIzMjExMyw1NTc2MCwxNDA1NywxODQ1MSw1NzIwNCw1NzIwMywxNzg5NywxODE5OCwxNzg5OCwxNzkwOSw0Mzk4MCwyMjEwNTMsMTk1NTI5LDE4OTY2MCwzMDgwODgsMzA2NDQ4LDMwNjQ0NywzMDgwODcsMzA4MDg2LDQ2MjIwLDExNzIxLDE0Nzk5NCw0OTk1NCw5NjM2OSwKMzg1NCwyMTc2NDAsMTUxNjMzLDU2MjUxLDIwNTE5MiwyMTY3OTcsMTU5MTA4LDE4MTU2OCwyMzQ3ODksMjU2MjQsMTUyMDM2LDE2OTA2LDk5OTk5LDY4MTcyLDQ3OTczLDcyNzczLDI2OTcwLDI2OTcxLDk2ODA1LDE3NzUyLDI4MjE4MSwyNzg5MjYsNzMyMzMsMjA1OTIzLDEwOTUxMiwyMjI1NiwxNDExNSwyMjY5NiwyMzQ0MDksMjM0NDA4LDg5Mjc4LDg5Mjc3LDE5NTc0NSwxMDk1MTMsNDMyNzgsNDM0NTksNDM0NjQsODkyNzksNDM3MTcsNTU3NjQsMjIyNTUsMTQ3OTEyLDg5MjgxLDQwOTYzLDQzMjc3LDQzNDQyLDkxODI0LDI4Mzg5OCwxMjAxMzcsMTg2MzUwLDE4NjM1MSwyNTY2OTAsMjY0MzQ5LDI2NDM1MSwyNjQzNTAsMjY0MzUyLDIxMTAyNiwyNTA4OTYsOTYzNjcsMzY4NTAsNzI2OTQsMzc0MTQsMzY4NTEsMTI0ODYzLDEyMTM0Myw3MzQ5MSw1NDQ3MywxNjY4NjEsNDMzNzUsNDY2NzQsMzAyNjMxLDMzMTQ3MywyNDI1MjgsMTQzODE1LDEzOTA5NSwxNDQ0MDIsMTQ5OTY4LDE0OTk2OSwKMzI0NzMsNzI5MDEsNzI5MDYsNTA2MTIsNTA2MTMsNTA5NDIsODQ5MzgsODQ5NDMsODQ5MzksODQ5NDEsODQ5NDQsODQ5NDAsODQ5NDIsMzU1ODUsNTE5MjYsNzk5ODMsMTg5MjEsNTc4OTMsNDExODIsMTM1NzMyLDMzNDI0LDIyMjA3LDM2MjI5LDIyMjA2LDIyMjA1LDQ0NzYzLDMzNDI3LDY3NzkzLDIyMTgyLDM3MDkxLDM0NjUwLDUwNjE3LDIyMjg3LDI1MTQ0LDk3OTE3LDIyMDEyMiw2MjM5NywxNTA4NzEsMTUwODc0LDEyNTU5OCwxMzc5MzUsMzY5NjEsMTA4MDM1LDMyMzQ5MywyNzQyNiwyNzg1NywyNzg0NiwyNzg1NCw2OTY5Miw2MTQxMSwzOTI5OSwzODY5Niw2MjUyMCwzNjM4MiwxMDg3MDEsMTkyNjgyLDI3OTUzMSw1MDY2MywzNjM4NywxNDkwOCwzNzUzMywxMDU0NDMsNjE2MzUsNjIyNzQsMTYxNjcwLDEzMzgxOCwxODIxMTksNjU3MDIsNjU3MDMsNjU3MDEsMzIwNDY0LDc2MjU2LDI5ODE1NywyNjM4NDMsMzE1MjM0LDE5NjA3NSwxOTQ3NjgsMjUyMjAxLDE5NDc2OSwxOTE4ODUsCjI4MTQ4MCwyMzM2MzQsMjY1ODEwLDE5NDc3MCwyOTY5MzMsMTk1MzUwLDMyNzM4NSwzMjQ1ODYsMzAxNjA3LDE5NTM0OSwxOTQ3NzEsMjkzMDQxLDMwMTEyMSwyOTMwNDIsMjkzMDQzLDMwMTExNiwxNjYzODIsMzc2NzEsNDk5NTMsMjIwNjY5LDYwMDAwMSw2MDAwMDIsNkU1LDMzNTEzNCwyNDkyMjksMjEzNzc0LDIwNDU3MiwxOTEzODksMjcyMjU0LDI3MjI1MywyNTM4MzAsMjUzODMxLDI1MzgzMiwyNzIyNTIsMjUzODMzLDI1MzgzNCwyMDQ1NzQsMTkxMzkwLDE3OTU1NiwyMzg1OTYsMjEyNjYxLDE5MTM5MiwxOTc4MjYsMTkxMzkzLDIwNDU3MywzNjIxNiwyODIzNywyNDEyMTIsMjcyMDQ5LDE3MzcxOCwzOTU1MywxOTI1NDcsMjkyMjIsMzA0ODQ1LDI2MTA3LDI0MTIxMSwzODA1MCwyNjEwOCwyNzU4MTAsMTIwNzQ1LDI2MTA5LDI2MTEwLDY2ODgxLDI4MjM2LDE0NTg2LDI5NzY3MiwxNjA1OTgsNTc5MjksMjI2NzM2LDc0NzIzLDQ0MDk4LDE3MzY4OSw0NDA5OSwyMzUyOCw2MTY5OSwKMTM0MTA0LDEzNDEwMywxOTgzMTMsNTkxNDksMTgxMDEzLDI3ODMwNiwyODI0NzIsMjc3ODQ4LDE3MzE5MSwxNzMxOTIsMTczMTkzLDEwMTk1MSwxNzE1MDIsMTk2MDQzLDE5ODMwNSw5NzM0NiwxMTgwNTEsOTUxMDIsNjQ4ODIsMTE5NTA1LDYzNTk1LDI5NDExOSwyNTcyNjgsNjMzNDksMjgxMTI3LDI0MDU1Myw5NTEwMSw3NTI0MCwyNzAzOSw2ODgyMywyMTUzNyw4MzQ2NCw3NTcwNywyNTI5MDQsMTcwMjE1LDIyMzAzMyw4MzExMywxMDE5NTIsMTAxOTUzLDc5NjEwLDEyNTc1NSwyNDQwMiwyNDQwMCwzMjkyNSwxOTM0MDYsNTcxNzMsMTgzMzUxLDE1NjQyMSwxMjI1MDIsMTQ1MjY4LDEzODQ4MCw2NDQyMyw2NDQyNCwzMzk4NiwxMDA4MjgsMTI5MDg5LDI5OTU0MSwyMTQwOSwyODIyMTgsMjk5NTA2LDMzMzk1NiwyOTk1NDAsMjk5NTA3LDI5OTUwOSwyOTk1MzksMjk5NTA4LDI5OTUxMCwxODU2MTIsMjIyODI1LDMyMzMzMSwyNDUzNjYsMTM1MTU1LDEzNTE1NiwxMzUxNTcsMTM1MTU4LAoxNTgyMjUsMTM1MTU5LDEzNTE2MCwxNjc2NTEsMTM1MTYxLDEzNTE2MiwxMzUxNjMsMTU4MjI2LDE1ODIyNywxMzUxNjQsMTM1MTY1LDEzNTE2NiwxMTA3MCwxMTA3NCwxNzg4MCwyNzA1NjAsMzA3MDksMzA3MDcsMzA3MTEsMzA3MTAsMzA3MDgsMTg1MjEzLDE4NTI3MywxNDYxNDMsNjM2NDgsNjM2NDksMjIxMDU2LDI2NDQ5MCwyMTExODksMTExMDU5LDIxMTE4OCw1NzU0LDI2NDQ5MSwyMDQ0NSwyMzM0NzEsMTUxMzA4LDMxMzc1MCwxNTExNTIsMjI4MDY3LDEzMDk3NSwxMzA5NzYsMjQ3MjQ0LDI3MTYyMiwyNzE4MTMsMjYxMjEwLDIxMDgxNSwyOTUwNjksMjQ2MTI3LDMxNjg1OCwyNDUyNTYsMjQ0OTUwLDE5MTkyNSwxNjc2MzcsMjM0NTQ1LDE5NzE5NiwzMDI3MzUsMjE0Mjk1LDExMDM4NiwyMjEwNTQsMjczOTYwLDI4MjExMSwzMTIyOTAsMTEzNzQ2LDMyNTU5MywyNjg4ODYsNjY1NTcsMTgzMjE1LDE3MzEwLDI4NjMxLDIwMTkzNSwyMTU4OSwyNDIwMzYsMjM4MzUxLDE2NDgxNywKMTY4MDExLDE1NDk0Niw2ODAxMiwxNjI2MTcsNjA0ODAsMTg0NDMxLDEzODY2NCwyOTQwODksMjQ5ODI3LDE5NEUzLDE0MTEyMSwxNjQ1MDIsMzE1NzEsMTk1MDAyLDIwNjc5MywxNDE5NzgsMjMzOTg1LDI1MDg5NSwyNTQwNTIsMjU0MDUzLDI1NDA1NCwyNTQwNTEsMjU0MDUwLDI1NDA1NSwxNTAxMDUsMzA0MTY5LDE1MDEwNiwxNTAxMDcsMTUwMTA4LDc2OTgwLDQxNTc3LDQ1NDY5LDM4NjY5LDEzNzY4LDEzNzc3LDE0MTg0Miw2Mjk4NSwyMTMxOTAsNDcyNCwyMjMwNTIsNTkzNjksNDM5MjcsNDM5MjgsMTI5MjQsMTk3ODUzLDEwMDM1NSw1NjIxOSwyNzY2OSwyMDk5MjgsMTAzMzcsMjAzNjQ4LDIwMzY0OSw0Nzg5NiwzMjY5MzcsMTIyNjI5LDE4NjIwNCwyMjI4MjQsMjc1ODY5LDMxMjI5NSwyNzE2NzMsMjc0NjM3LDMxNzQ2MiwxMzk3MjMsMTM5NzIyLDEyMTI1OCwyNTM3ODksMjUzNzg3LDI1Mzc4NiwyNTM3ODgsMjUzNzkwLDEwNzU5OCwxMjc5OTEsOTY2MzksMTA3NTM2LDEzMDE2OSwKMjE2NTIyLDI5NjMxNiw5NjY2MSwxNDUxODgsMzIwNDI4LDIxMzkwNCwyNjkzNDIsOTY2NTgsMTE2NjQ2LDE1OTQyOCwxNjg2MTEsMTY4NjEyLDEyMTEyMiwyMTk4NjIsOTY2NjAsMjgyMjA4LDEyNzczOCwxMjcwODMsMTU1MjgxLDE2Mjk1OSwyMjA4ODYsMjI3MzU2LDI0ODAwNywxNjM1NjYsMzA3NjQ2LDE4NjY0MSwxNDc4NDIsMjczNjQ2LDI3MzY0NywyMTc5MzIsMTA0NDQzLDk2NjU5LDE0NzU5NSwxMDY0NDIsMjQ3MTYyLDIzMTQ5MywyMTM0MjcsMjk2ODEzLDI0NjU3NSwxODI0MjMsMTYyNzc2LDIyODkwOCwxMzQ4NDAsNjM2NjcsNjM2NjgsNjM2NjksMTMwNjg2LDMzNzE3MiwyNDgzODEsMTQ3MDM2LDIzOTA5NCwyNjI3NDMsMTg5ODEwLDIzOTA5NSw3ODMxNCwxNDc3OTksMzA1OTE5LDMwNTkyNCwyMzcxNDYsMTc0MDQ5LDE0ODY0OSw1NTc2MSwxMjcwOTgsMTM0ODQxLDk2MzY4LDY3Mzc0LDQ4OTkyLDE0NjE3NiwxNzYxMDUsMzIzMzIxLDMyMzMyMiwyMzMwMzUsNDk5NTYsMjY3NjQ1LAoyNzU3ODIsMTkwMTkwLDIyNTczOSwzMTk2MSwyNjM4OCwyMzgxMSw1RTQsMTI2MjUwLDk2MzcwLDIxMDU0OSwzMjk0OTAsNDczNTUsNDczNTYsMzc5MzUsNDU1MjEsMzMxNTM2LDMzMTUzNCwzMzE1MzUsMzMxNTMzLDIxNzYwLDgzNzY5LDQ5OTc3LDQ5OTc0LDkzNDk3LDkzNDk4LDM0MzI1LDE0MDc1OSwxMTU4MDMsMTIzNzA3LDEwMDA4MSwzNTMwOSwyMzc3MDYsNjgzMTQsMjU2MDIsMTAwMzM5LDE3MDg3MywxNDM1MTYsMjk5MjQ3LDE3ODkyMSwyNjg1NzQsMjU0ODg0LDI1ODIzMiw1OTAxOCwxODI0OCw1MDYyNSw5NzI5LDM3MTY4LDM3MTY5LDIxNjY3LDE2NzQ5LDE4NjM1LDM5MzA1LDE4MDQ2LDIyMTA1NywzMDE4OTcsMzAxOTAwLDI2OTk5MCw1Mzk2OSw4MjEzLDkzOTI2LDIyMTA1NSwyMTA1NDIsMjEyNTUyLDEwMjg1MiwxMTAwOTksMjI2NzgsNjkwNzYsMTM3NTc1LDEzOTIyNCwxMDA4NTYsMjM1NzcwLDE1NDQzMCwyMzU4NjEsMjA5NzU3LDE3NzM2LDM4MzIsMTQ3MTExLDU1NzU5LAo2NDAzMSwyMzQ3NDYsOTMwNDQsOTMwNDUsMjgxMzAyLDE3MDcwMSwxNzA3MDIsMTk0Nzk2LDM0Mzg4LDE2Nzg0MSwxNzA0MTksMTc2NTcsMTc2NTUsMzk1NzksMzk1NzgsMTcwNDEyLDc3NDQ4LDgxOTYsMTEzNTcsNjk4NzcsODE5NywxNjg1MDEsMTU2NTEyLDE2MTYxMywxNTY1MDksMjA4Mjc0LDE2MTYxMiwxNjE2MTQsMjY3NjkyLDI2Nzg1MSwyNjc1NzcsMjc5NzU1LDI2NzY5MywyNjc2OTQsMjY3NTc4LDI2MjgwMSwzMzQ0OTYsMzM1ODQ0LDI3MTIxOCwyNjYxMzEsMjY2MTMyLDI2Nzk3NywyNjc1NzksMjYyODAwLDI2Mjc5OSwyNjI4MDIsMjY3NTgwLDI2Mjc5OCwyNjc2OTUsMjY3NTgxLDI3MzIzMiw4MjAzOV07dmFyIE5PPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRFbmFibGVTc0VuZ2luZSgpe3JldHVybiBHTyh0aGlzLDIpfWdldEVuYWJsZUF3cigpe3JldHVybiBHTyh0aGlzLDMpfWdldEFsb2hhQXV0b0dhUm9sbG91dCgpe3JldHVybiBHTyh0aGlzLDUpfWdldEVuYWJsZUNvbmZpZ3VyYXRvcigpe3JldHVybiBHTyh0aGlzLDYpfWdldEVuYWJsZU13ZWIoKXtyZXR1cm4gR08odGhpcyw3KX1nZXRFbmFibGVDdGxDb25zZW50Q2hlY2tib3goKXtyZXR1cm4gR08odGhpcyw4KX1nZXRFbmFibGVJZnJhbWUoKXtyZXR1cm4gR08odGhpcyw5KX1nZXRFbmFibGVTY3JlZW5zaG90TnVkZ2UoKXtyZXR1cm4gR08odGhpcywxMCl9Z2V0RW5hYmxlV2ViU3RhcnR1cENvbmZpZ0VuZHBvaW50KCl7cmV0dXJuIEdPKHRoaXMsMTEpfWdldEVuYWJsZUp1bmtOdWRnZSgpe3JldHVybiBHTyh0aGlzLDEyKX1nZXRFbmFibGVDb25maWd1cmF0b3JMb2NhbGUoKXtyZXR1cm4gR08odGhpcywKMTMpfWdldEVuYWJsZVRpbnlOb1BvaW50ZXIoKXtyZXR1cm4gR08odGhpcywxNCl9Z2V0RW5hYmxlU3VwcG9ydFNlc3Npb25Mb2dnaW5nKCl7cmV0dXJuIEdPKHRoaXMsMTUpfWdldEVuYWJsZUZpbGVVcGxvYWRGb3JTY3JlZW5zaG90KCl7cmV0dXJuIEdPKHRoaXMsMTYpfWdldEVuYWJsZURpcmVjdERlZmxlY3Rpb25Gb3JTaW5nbGVDYXRlZ29yeSgpe3JldHVybiBHTyh0aGlzLDE3KX1nZXRFbmFibGVJbWFnZVNhbml0aXphdGlvbigpe3JldHVybiBHTyh0aGlzLDE4KX1nZXRFbmFibGVBbG9oYUJpbmFyeVNwbGl0KCl7cmV0dXJuIEdPKHRoaXMsMTkpfWdldEVuYWJsZURiRmVlZGJhY2tJbnRlbnRzKCl7cmV0dXJuIEdPKHRoaXMsMjApfWdldEVuYWJsZU1hcmtNYW5kYXRvcnlGaWVsZHNXaXRoUmVxdWlyZWQoKXtyZXR1cm4gR08odGhpcywyMSl9Z2V0RW5hYmxlRmVlZGJhY2tDYXRlZ29yeUN1c3RvbVVpKCl7cmV0dXJuIEdPKHRoaXMsMjIpfWdldEVuYWJsZVJlYWx0aW1lQ3RsKCl7cmV0dXJuIEdPKHRoaXMsCjIzKX1nZXRFbmFibGVBbG9oYUhlYWRsZXNzKCl7cmV0dXJuIEdPKHRoaXMsMjQpfWdldFVwZGF0ZUZlZWRiYWNrQ29uZmlybWF0aW9uQ2xhcml0eSgpe3JldHVybiBHTyh0aGlzLDI1KX1nZXRFbmFibGVWaWV3RmVlZGJhY2tSZXBvcnRzTGluaygpe3JldHVybiBHTyh0aGlzLDI2KX19O3ZhciBWTz1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9digpe3JldHVybiBfLk54KHRoaXMsTk8sMSl9fTt2YXIgJGhhPVsvaHR0cHM6XC9cL3NhbmRib3hcLmdvb2dsZVwuY29tXC90b29sc1wvZmVlZGJhY2svLC9odHRwczpcL1wvZmVlZGJhY2stZnJvbnRlbmQtcXVhbFthLXowLTkuXSpcLmdvb2dsZVwuY29tXC9pbmFwcC8sL2h0dHBzOlwvXC9mZWVkYmFjay1mcm9udGVuZC1xdWFsW2EtejAtOS5dKlwuZ29vZ2xlXC5jb21cL3Rvb2xzXC9mZWVkYmFjay8sL2h0dHBzOlwvXC8uKlwuZ29vZ2xldXNlcmNvbnRlbnRcLmNvbVwvaW5hcHAvXTt2YXIgT089ImFmIGFtIGFyLUVHIGFyLUpPIGFyLU1BIGFyLVNBIGFyLVhCIGFyIGF6IGJlIGJnIGJuIGJzIGNhIGNzIGN5IGRhIGRlLUFUIGRlLUNIIGRlIGVsIGVuIGVuLUdCIGVuLUFVIGVuLUNBIGVuLUlFIGVuLUlOIGVuLU5aIGVuLVNHIGVuLVhBIGVuLVhDIGVuLVpBIGVzIGVzLTQxOSBlcy1BUiBlcy1CTyBlcy1DTCBlcy1DTyBlcy1DUiBlcy1ETyBlcy1FQyBlcy1HVCBlcy1ITiBlcy1NWCBlcy1OSSBlcy1QQSBlcy1QRSBlcy1QUiBlcy1QWSBlcy1TViBlcy1VUyBlcy1VWSBlcy1WRSBldCBldSBmYSBmaSBmaWwgZnItQ0EgZnItQ0ggZnIgZ2wgZ3N3IGd1IGhlIGhpIGhyIGh1IGh5IGlkIGluIGlzIGl0IGl3IGphIGthIGtrIGttIGtuIGtvIGt5IGxuIGxvIGx0IGx2IG1rIG1sIG1uIG1vIG1yIG1zIG15IG5iIG5lIG5sIG5vIHBhIHBsIHB0IHB0LUJSIHB0LVBUIHJvIHJ1IHNpIHNrIHNsIHNxIHNyLUxhdG4gc3Igc3Ygc3cgdGEgdGUgdGggdGwgdHIgdWsgdXIgdXogdmkgemggemgtQ04gemgtSEsgemgtVFcgenUiLnNwbGl0KCIgIik7dmFyIFVPPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcigiRm9ybSBpcyBlaXRoZXIgbG9hZGluZyBvciBhbHJlYWR5IG9wZW5lZCIpO3RoaXMubmFtZT0iRHVwbGljYXRlRm9ybUVycm9yIn19LFFPLFNPLFJPLFRPO18ucmEoInVzZXJmZWVkYmFjay5Db2xvclNjaGVtZXMiLHtpRjoxLEdDOjJ9KTtfLnJhKCJ1c2VyZmVlZGJhY2suYXBpLnN0YXJ0RmVlZGJhY2siLF8uWU8pO18ucWlhPW5ldyBfLkkoIm5hdGl2ZUFwcERlZXBsaW5rRW5kcG9pbnQiKTtfLnJpYT1NYXRoLnJhbmRvbSgpO3ZhciBzaWE9bmV3IF8uVnMoIlNUQVRJQ19BUFBfUFJPUFNfVE9LRU4iKTtfLnZQPW5ldyBfLlZzKCJUT0FTVF9PUFRJT05TIik7dmFyIG9QPV8uc2ooIm13ZWJfYzNfdG9hc3RfZHVyYXRpb25fbXMiLDVFMyksYlAsY1A9bnVsbCxbd1AsZ1BdPV8uSigib3V0Iix2b2lkIDAsIldjWmNlZSIpLFtsaWEsZlBdPV8uSih2b2lkIDAsdm9pZCAwLCJYVnl4eGYiKSxpUD1bXSxtUCxkUD1fLkwoYT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLnZQKSk7cmV0dXJuIF8uSygiYzMtdG9hc3QiLHtkaXI6d1Ascm9sZTooKT0+d1AoKT09PSJpbiI/ImFsZXJ0IjoiIixjbGFzczpfLlAoeyJodWctdG9hc3QiOiEhYj8uVnUsImludmVyc2UtdGhlbWUiOiEhYj8uQ3h9KX0sYS5jaGlsZHJlbil9LCJzYiIpO2RQLmlkb21Db21wYXQ9ITA7Xy50aWE9Xy51eCgzMDc5NTMpOyh7TWc6Xy51aWEsZ2s6Xy54UH09Xy56RyhhPT5hLmNoYW5uZWxJZCkpOyh7TWc6Xy52aWEsZ2s6Xy53aWF9PV8uekcoYT0+Xy5CKGEubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbj8udG9nZ2xlQnV0dG9uUmVuZGVyZXI/LmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQsXy5CeSk/LnBhcmFtcykpO18ueVA9bmV3IF8uVnMoIkxBWUVSX1RPS0VOIik7Xy56UD1fLkwoKHtVbzphLHN0YXlPcGVuT25DbGljazpiLGlzUGVyc2lzdGVudDpjLGNoaWxkcmVuOmR9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoeyJkaWFsb2ctZmxleC1idXR0b24iOigpPT5hPy4oKSE9PTF9KSwib246Y2xpY2siOmZ1bmN0aW9uKCl7Yj8uKCl8fGM/LigpfHxfLnkoKS5yZXNvbHZlKF8ueVApLmxkKCl9LHRhYmluZGV4OigpPT4oYj8uKCl8fGM/LigpLHZvaWQgMCl9LGQpLCJ1YiIpO18uelAuaWRvbUNvbXBhdD0hMDtfLkFQPV8uTCgoe2NoaWxkcmVuOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihzaWEpKT8uVUk7cmV0dXJuIF8uSygiZGl2Iix7ImFyaWEtbGl2ZSI6InBvbGl0ZSIsdGFiaW5kZXg6Yj8wOnZvaWQgMH0sYSl9LCJ2YiIpO18uQVAuaWRvbUNvbXBhdD0hMDtfLnhpYT1fLnNqKCJtd2ViX2lvc19mdWxsc2NyZWVuX3BsYXliYWNrX3RyYW5zaXRpb25fZGVsYXlfbXMiKXx8NTAwO18ueWlhPV8uc2ooIm13ZWJfaW9zX2Z1bGxzY3JlZW5fc3lzdGVtX3BhdXNlX2VwaWxzb25fbXMiKXx8MzUwO3ZhciBvaWE9Xy4kTi5YcyxwaWE9Xy4kTi5rdDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5hUT1mdW5jdGlvbihhLGIpe3JldHVybntvcGVuUG9wdXBBY3Rpb246e3BvcHVwVHlwZToiVE9BU1QiLHBvcHVwOntub3RpZmljYXRpb25BY3Rpb25SZW5kZXJlcjp7cmVzcG9uc2VUZXh0OmF9fSwuLi4oYiE9PXZvaWQgMD97ZHVyYXRpb25IaW50TXM6Yn06e30pfX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnduYT1uZXcgXy5JKCJlbnRpdHlVcGRhdGVDb21tYW5kIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTlc9bmV3IF8uSSgic2hvd1NoZWV0Q29tbWFuZCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnhuYT1uZXcgXy5JKCJsaXN0Vmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uT1c9bmV3IF8uVnMoIlNDUkVFTl9NQU5BR0VSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5bmE7Xy5QVz1mdW5jdGlvbihhKXtyZXR1cm4geW5hW2FdPz8iRVZFTlRfU1BBTl9UWVBFX1VOS05PV04ifTsKeW5hPXtjbGljazoiRVZFTlRfU1BBTl9UWVBFX0NMSUNLIixkYmxjbGljazoiRVZFTlRfU1BBTl9UWVBFX0RCTENMSUNLIixtb3VzZWRvd246IkVWRU5UX1NQQU5fVFlQRV9NT1VTRURPV04iLG1vdXNldXA6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRVVQIixtb3VzZW92ZXI6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRU9WRVIiLG1vdXNlb3V0OiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VPVVQiLG1vdXNlZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRUVOVEVSIixtb3VzZWxlYXZlOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VMRUFWRSIsbW91c2Vtb3ZlOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VNT1ZFIixjb250ZXh0bWVudToiRVZFTlRfU1BBTl9UWVBFX0NPTlRFWFRNRU5VIixrZXlkb3duOiJFVkVOVF9TUEFOX1RZUEVfS0VZRE9XTiIsa2V5dXA6IkVWRU5UX1NQQU5fVFlQRV9LRVlVUCIsa2V5cHJlc3M6IkVWRU5UX1NQQU5fVFlQRV9LRVlQUkVTUyIsdG91Y2hzdGFydDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIU1RBUlQiLAp0b3VjaGVuZDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIRU5EIix0b3VjaG1vdmU6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSE1PVkUiLHRvdWNoY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfVE9VQ0hDQU5DRUwiLHBvaW50ZXJkb3duOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkRPV04iLHBvaW50ZXJ1cDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJVUCIscG9pbnRlcm1vdmU6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSTU9WRSIscG9pbnRlcm92ZXI6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVST1ZFUiIscG9pbnRlcm91dDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJPVVQiLHBvaW50ZXJlbnRlcjoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJFTlRFUiIscG9pbnRlcmxlYXZlOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkxFQVZFIixwb2ludGVyY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkNBTkNFTCIsZ290cG9pbnRlcmNhcHR1cmU6IkVWRU5UX1NQQU5fVFlQRV9HT1RQT0lOVEVSQ0FQVFVSRSIsCmxvc3Rwb2ludGVyY2FwdHVyZToiRVZFTlRfU1BBTl9UWVBFX0xPU1RQT0lOVEVSQ0FQVFVSRSIsc3VibWl0OiJFVkVOVF9TUEFOX1RZUEVfU1VCTUlUIixjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9DSEFOR0UiLGlucHV0OiJFVkVOVF9TUEFOX1RZUEVfSU5QVVQiLGZvY3VzOiJFVkVOVF9TUEFOX1RZUEVfRk9DVVMiLGJsdXI6IkVWRU5UX1NQQU5fVFlQRV9CTFVSIixyZXNldDoiRVZFTlRfU1BBTl9UWVBFX1JFU0VUIixzZWxlY3Q6IkVWRU5UX1NQQU5fVFlQRV9TRUxFQ1QiLGludmFsaWQ6IkVWRU5UX1NQQU5fVFlQRV9JTlZBTElEIixsb2FkOiJFVkVOVF9TUEFOX1RZUEVfTE9BRCIsdW5sb2FkOiJFVkVOVF9TUEFOX1RZUEVfVU5MT0FEIixiZWZvcmV1bmxvYWQ6IkVWRU5UX1NQQU5fVFlQRV9CRUZPUkVVTkxPQUQiLGRvbWNvbnRlbnRsb2FkZWQ6IkVWRU5UX1NQQU5fVFlQRV9ET01DT05URU5UTE9BREVEIixyZXNpemU6IkVWRU5UX1NQQU5fVFlQRV9SRVNJWkUiLHNjcm9sbDoiRVZFTlRfU1BBTl9UWVBFX1NDUk9MTCIsCnBhZ2VzaG93OiJFVkVOVF9TUEFOX1RZUEVfUEFHRVNIT1ciLHBhZ2VoaWRlOiJFVkVOVF9TUEFOX1RZUEVfUEFHRUhJREUiLHBsYXk6IkVWRU5UX1NQQU5fVFlQRV9QTEFZIixwYXVzZToiRVZFTlRfU1BBTl9UWVBFX1BBVVNFIixwbGF5aW5nOiJFVkVOVF9TUEFOX1RZUEVfUExBWUlORyIsd2FpdGluZzoiRVZFTlRfU1BBTl9UWVBFX1dBSVRJTkciLHNlZWtpbmc6IkVWRU5UX1NQQU5fVFlQRV9TRUVLSU5HIixzZWVrZWQ6IkVWRU5UX1NQQU5fVFlQRV9TRUVLRUQiLGVuZGVkOiJFVkVOVF9TUEFOX1RZUEVfRU5ERUQiLHZvbHVtZWNoYW5nZToiRVZFTlRfU1BBTl9UWVBFX1ZPTFVNRUNIQU5HRSIsdGltZXVwZGF0ZToiRVZFTlRfU1BBTl9UWVBFX1RJTUVVUERBVEUiLHJhdGVjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9SQVRFQ0hBTkdFIixkcmFnc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9EUkFHU1RBUlQiLGRyYWc6IkVWRU5UX1NQQU5fVFlQRV9EUkFHIixkcmFnZW5kOiJFVkVOVF9TUEFOX1RZUEVfRFJBR0VORCIsCmRyYWdlbnRlcjoiRVZFTlRfU1BBTl9UWVBFX0RSQUdFTlRFUiIsZHJhZ2xlYXZlOiJFVkVOVF9TUEFOX1RZUEVfRFJBR0xFQVZFIixkcmFnb3ZlcjoiRVZFTlRfU1BBTl9UWVBFX0RSQUdPVkVSIixkcm9wOiJFVkVOVF9TUEFOX1RZUEVfRFJPUCIsYW5pbWF0aW9uc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9BTklNQVRJT05TVEFSVCIsYW5pbWF0aW9uZW5kOiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9ORU5EIixhbmltYXRpb25pdGVyYXRpb246IkVWRU5UX1NQQU5fVFlQRV9BTklNQVRJT05JVEVSQVRJT04iLHRyYW5zaXRpb25ydW46IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9OUlVOIix0cmFuc2l0aW9uc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9OU1RBUlQiLHRyYW5zaXRpb25lbmQ6IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9ORU5EIix0cmFuc2l0aW9uY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTkNBTkNFTCJ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFXPW5ldyBfLkkoInNob3dFbmdhZ2VtZW50UGFuZWxFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewovKgoKTWF0aC51dWlkLmpzICh2MS40KQpodHRwOi8vd3d3LmJyb29mYS5jb20KbWFpbHRvOnJvYmVydEBicm9vZmEuY29tCkNvcHlyaWdodCAoYykgMjAxMCBSb2JlcnQgS2llZmZlcgpEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4KKi8KdmFyIHpuYSxSVyxBbmEsQm5hLENuYSxEbmEsRW5hLFRXLEZuYSxVVyxHbmEsSG5hLFZXLEluYSxKbmEsWFcsWVcsWlcsJFcsTG5hLE1uYSxiWCxoWCxObmEsT25hLFBuYSxqWCxrWCxSbmEsbVgsU25hLG9YLHBYLFVuYSxWbmEsblgsV25hLFRuYSxsWCxxWCxZbmEsYW9hLGJvYSxjb2EsZG9hLGVvYSxzWCxmb2EsZ29hLHRYLGhvYSx1WCx2WCxpb2Esa29hLHhYLGxvYSx5WCxub2Esb29hLHBvYSxxb2EsQlgscm9hLHNvYSxDWCx0b2EsdW9hLHZvYSx3b2EseG9hLHlvYSx6b2EsQW9hLEJvYSxDb2EsSFgsSVgsRm9hLG1vYSxLWCxIb2EsSlgsSW9hLEpvYSxLb2EsTVgsTG9hLE5YLE1vYSxOb2EsT29hLFBvYSxRb2EsUm9hLFNvYSxPWCxUb2EsUFgsUVgsVm9hLFVvYSxXb2EsWG9hLFlvYSxab2EsJG9hLFZYLFVYLFdYLCRYLFhYLFlYLFpYLGFZLGFwYSxicGEsY3BhLGJZLGVZLGRZLGRwYSxmWSxlcGEsZnBhLGdwYSxocGEsZ1ksanBhLGlwYSxscGEscHBhLGpZLHFwYSxrWSxsWSxuWSxtWSwKaVkscnBhLHNwYSx1cGEscFksd3BhLG9ZLHJZLHNZLHRZLHVZLHpwYSxBcGEsd1kseFkseVksQVksQ3BhLEJZLERwYSxEWSxFcGEsRlksSFksRnBhLElZLEpZLEhwYSxLWSxNWSxJcGEsSnBhLExwYSxNcGEsTnBhLFBwYSxScGEsVHBhLFVwYSxOWSxXcGEsVnBhLFBZLFNZLE9ZLFJZLFpwYSxZcGEsYnFhLGRxYSxlcWEsZnFhLGdxYSxXWSxocWEsaXFhLGpxYSxrcWEsbHFhLG1xYSxjcWEsVlksdHFhLG5xYSx6WCx1cWEsV1csRG9hLGNaLEtuYSx4cWEsZFosZVoseXFhLHpxYSxBcWEsQnFhLENxYSxEcWEsYVgsZlosZ1gsY1gsZFgsZVgsZlgsRXFhLGdaLGhaLEZxYSxpWixHcWEsSHFhLGlYLGpaLElxYSxRbmEsWG5hLEpxYSxabmEsJG5hLHJYLExxYSxqb2EsWFksa1osTXFhLHFZLEFYO3puYT1mdW5jdGlvbihhLGIpe2I9KDAsXy55ZykoYik7Yj1fLkVmKGIsYik7Yi52PSEwO18uSmYoYSxiKTtyZXR1cm4gYX07ClJXPWZ1bmN0aW9uKGEsYil7YT1hLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7KytjKWlmKGFbY10uc2NvcGU9PT1iKXJldHVybiBhW2NdLnRva2VufHx2b2lkIDB9OwpBbmE9ZnVuY3Rpb24oYSxiLGM9e30pe18uVmkoKCk9Pnt2YXIgZD1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5yb290VmV8fF8uQihiPy5jb21tYW5kTWV0YWRhdGEsXy5ueCk/LnNjcmVlblZpc3VhbEVsZW1lbnQ/LnVpVHlwZTtpZihkKXt2YXIgZT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uZWFhKTtpZihlPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIGY9Xy5VdyhlLnBhcmVudFRyYWNraW5nUGFyYW1zKTtpZihlLnBhcmVudENzbil2YXIgaD1lLnBhcmVudENzbn1lbHNlIGMuY2xpY2tlZFZpc3VhbEVsZW1lbnQ/Zj1jLmNsaWNrZWRWaXN1YWxFbGVtZW50OmIuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGY9Xy5VdyhiLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntlPV8uQihiLF8uQXcpO3ZhciBrPV8uQihiLF8uZGFhKTtpZihlKXtpZihrPVJXKGUsIlZJREVPIikpe2U9e3Rva2VuOmssdmlkZW9JZDplLnZpZGVvSWR9O2JyZWFrIGF9fWVsc2UgaWYoayYmKGU9UlcoaywKIlBMQVlMSVNUIikpKXtlPXt0b2tlbjplLHBsYXlsaXN0SWQ6ay5wbGF5bGlzdElkfTticmVhayBhfWU9dm9pZCAwfWM9e2N0dEF1dGhJbmZvOmUscGFyZW50Q3NuOmgsLi4uY307Xy54KCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihjLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLm54KT8ubG9nZ2luZ0V4cGVjdGF0aW9uc3x8dm9pZCAwKTtfLkRPKGEsZCxmLGMpfWVsc2UgXy5JcChuZXcgXy5YaigiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixiKSl9KSgpfTtCbmE9ZnVuY3Rpb24oYSxiKXthPWBTTElfTkFNRV9ZT1VUVUJFX0VNQkVEU19XRUJfRlVMTFNDUkVFTl9SRVFVRVNUX1NMSV8ke2F9YDtfLkV5LnJlZ2lzdGVyLmhhcyhhKT9iPV8uRXkucmVnaXN0ZXIuZ2V0KGEpOihiPWIoKSxfLkV5LnJlZ2lzdGVyLnNldChhLGIpKTtyZXR1cm4gYn07Q25hPWZ1bmN0aW9uKHtzZXJ2aWNlSWQ6YX0pe3JldHVybiBhLm99OwpEbmE9ZnVuY3Rpb24oKXt2YXIgYT1fLkd5LGI9W1NXXSxjPWIubWFwKGw9PkNuYShsKSksZD1iLm1hcChsPT5hLm1hcHBpbmdzLmdldChsLnRvU3RyaW5nKCkpKS5maWx0ZXIobD0+bCk7aWYoZC5sZW5ndGg9PT1iLmxlbmd0aClyZXR1cm4gXy5LeShkLm1hcCgobCxtKT0+Xy5ueShhLGwsYlttXSkpKTt2YXIgZT1fLlZkKCkuYWYoYyk7ZD1fLklmKGMubWFwKGw9PmVbbF0pKTt2YXIgZj1kb2N1bWVudC5oaWRkZW4saD0tMSxrPV8uc2ooImdldF9hc3luY190aW1lb3V0X21zIiwtMSk7az4tMSYmKGg9c2V0VGltZW91dCgoKT0+e18uSXAobmV3IF8uWGooIk1vZHVsZSB0aW1lb3V0LiIsYyxmLGRvY3VtZW50LmhpZGRlbikpfSxrKSk7cmV0dXJuIHpuYShkLnRoZW4oKCk9PmIubWFwKGw9Pl8ubnkoYSxhLm1hcHBpbmdzLmdldChsLnRvU3RyaW5nKCkpLGwpKSkuS2cobD0+e2ZvcihsZXQgbSBvZiBhLmopbShsKTt0aHJvdyBsO30pLCgpPT57Y2xlYXJUaW1lb3V0KGgpfSl9OwpFbmE9ZnVuY3Rpb24oKXtyZXR1cm4gRG5hKCkudGhlbihhPT5hWzBdKX07VFc9ZnVuY3Rpb24oYSxiKXthLkRmPWI7Zm9yKGxldCBjIG9mIGEuZGF0YSliKGMpO2EuZGF0YT1bXX07Rm5hPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDw9Mj9BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLGIpOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEsYixjKX07VVc9ZnVuY3Rpb24oYSl7dmFyIGI9W107Zm9yKGxldCBkPTA7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKyl7bGV0IGU9YXJndW1lbnRzW2RdO2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCBmPTA7ZjxlLmxlbmd0aDtmKz04MTkyKXt2YXIgYz1GbmEoZSxmLGYrODE5Mik7Yz1VVy5hcHBseShudWxsLGMpO2ZvcihsZXQgaD0wO2g8Yy5sZW5ndGg7aCsrKWIucHVzaChjW2hdKX1lbHNlIGIucHVzaChlKX1yZXR1cm4gYn07CkduYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoZnVuY3Rpb24oYil7dmFyIGM9YS5sZW5ndGgsZD1bXTtpZihjKXt2YXIgZT1mdW5jdGlvbihoLGssbCl7Yy0tO2RbaF09az97ZnVsZmlsbGVkOiEwLHZhbHVlOmx9OntmdWxmaWxsZWQ6ITEscmVhc29uOmx9O2M9PTAmJmIoZCl9O2ZvcihsZXQgaD0wO2g8YS5sZW5ndGg7aCsrKXt2YXIgZj1hW2hdO18uSGYoZixfLkRhKGUsaCwhMCksXy5EYShlLGgsITEpKX19ZWxzZSBiKGQpfSl9O0huYT1mdW5jdGlvbihhKXt2YXIgYj1fLk16KCJMT0dHRURfSU4iLGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7Xy5OeihiKX0pfTtWVz1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9Xy55KCk7Yy5yZXNvbHZlKF8uSW4oYSkpfHxfLkp6KGMse2phOmEsUGE6YSxbXy5Mbl06Yn0pO3JldHVybiBjLnJlc29sdmUoYSl9fTsKSW5hPWZ1bmN0aW9uKGEpe2lmKFdXPT09dm9pZCAwKXRocm93IEVycm9yKCJzYiIpO2lmKFdXKWZvcihsZXQgW2IsY11vZiBXVylhKGIsYyk7Xy5Odi5hZGQoYSk7V1c9dm9pZCAwfTtKbmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImNhbmFyeSI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfQ0FOQVJZIjtjYXNlICJjb250cm9sIjpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9DT05UUk9MIjtjYXNlICJub25lIjpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9OT05FIjtkZWZhdWx0OnJldHVybiJDTElFTlRfQ0FOQVJZX1NUQVRFX1VOS05PV04ifX07WFc9ZnVuY3Rpb24oYSxiPSIiKXt2YXIgYz1bXTtmb3IobGV0IGQgaW4gYSl7aWYoIWEuaGFzT3duUHJvcGVydHkoZCkpY29udGludWU7bGV0IGU9YiE9PSIiP2IrIi4iK2Q6ZDt0eXBlb2YgYVtkXT09PSJvYmplY3QiP2MucHVzaCguLi5YVyhhW2RdLGUpKTpjLnB1c2goW2UsYVtkXV0pfWMuc29ydCgpO3JldHVybiBjfTsKWVc9ZnVuY3Rpb24oYSl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEuZXZlbnRzLnZhbHVlcygpKWIucHVzaChjKTtyZXR1cm4gYn07Wlc9ZnVuY3Rpb24oYSl7Xy5GeT09bnVsbCYmKF8uRnk9bmV3IEtuYSk7dmFyIGI9Xy5GeTt2YXIgYz1iLnY7YS5kaW1lbnNpb25zPWEuZGltZW5zaW9uc3x8e307YS5kaW1lbnNpb25zLmNzbj1fLmlxKCl8fCIiO3ZhciBkPVhXKGEuZGltZW5zaW9ucykuam9pbigiOyIpO2EucmVjb3JkcyE9bnVsbCYmKGMuZXZlbnRzLmhhcyhkKT9jLmV2ZW50cy5nZXQoZCkucmVjb3Jkcz8ucHVzaCguLi5hLnJlY29yZHMpOmMuZXZlbnRzLnNldChkLGEpKTtiLmouZW5hYmxlZHx8Yi5qLnN0YXJ0KCk7Yi5vKys7Yi5vPj0xMDAmJmIuZmx1c2goKX07JFc9ZnVuY3Rpb24oYSl7YT1hLmtleXx8YS5pZDtpZighYSl0aHJvdyBFcnJvcigiZmMiKTtyZXR1cm4gYX07CkxuYT1mdW5jdGlvbigpe2lmKGFYKXJldHVybiBhWCgpO2FYPV8uJGwoIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7c2U6e0VudGl0eVN0b3JlOntQZDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOntQZDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiZfLm9sKF8ua2woYSwiRW50aXR5U3RvcmUiLHtrZXlQYXRoOiJrZXkifSksImVudGl0eVR5cGUiLCJlbnRpdHlUeXBlIik7YigyKSYmKGE9Xy5rbChhLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxfLm9sKGEsImJ5UGFyZW50RW50aXR5S2V5IiwicGFyZW50RW50aXR5S2V5IiksXy5vbChhLCJieUNoaWxkRW50aXR5S2V5IiwiY2hpbGRFbnRpdHlLZXkiKSl9LHZlcnNpb246M30pO3JldHVybiBhWCgpfTtNbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2woTG5hKCksYSl9OwpiWD1mdW5jdGlvbihhKXtyZXR1cm4gd2luZG93LkludDMyQXJyYXk/bmV3IEludDMyQXJyYXkoYSk6QXJyYXkoYSl9OwpoWD1mdW5jdGlvbihhKXt2YXIgYj1hLmtleSxjPWEuY291bnRlclswXV5iWzBdLGQ9YS5jb3VudGVyWzFdXmJbMV0sZT1hLmNvdW50ZXJbMl1eYlsyXSxmPWEuY291bnRlclszXV5iWzNdO2Zvcih2YXIgaD0zO2g+PTAmJiEoYS5jb3VudGVyW2hdPS1+YS5jb3VudGVyW2hdKTtoLS0pO2Zvcih2YXIgayxsLG09NDttPDQwOyloPWNYW2M+Pj4yNF1eZFhbZD4+MTYmMjU1XV5lWFtlPj44JjI1NV1eZlhbZiYyNTVdXmJbbSsrXSxrPWNYW2Q+Pj4yNF1eZFhbZT4+MTYmMjU1XV5lWFtmPj44JjI1NV1eZlhbYyYyNTVdXmJbbSsrXSxsPWNYW2U+Pj4yNF1eZFhbZj4+MTYmMjU1XV5lWFtjPj44JjI1NV1eZlhbZCYyNTVdXmJbbSsrXSxmPWNYW2Y+Pj4yNF1eZFhbYz4+MTYmMjU1XV5lWFtkPj44JjI1NV1eZlhbZSYyNTVdXmJbbSsrXSxjPWgsZD1rLGU9bDthPWEubztoPWJbNDBdO2FbMF09Z1hbYz4+PjI0XV5oPj4+MjQ7YVsxXT1nWFtkPj4xNiYyNTVdXmg+PjE2JjI1NTthWzJdPWdYW2U+PjgmCjI1NV1eaD4+OCYyNTU7YVszXT1nWFtmJjI1NV1eaCYyNTU7aD1iWzQxXTthWzRdPWdYW2Q+Pj4yNF1eaD4+PjI0O2FbNV09Z1hbZT4+MTYmMjU1XV5oPj4xNiYyNTU7YVs2XT1nWFtmPj44JjI1NV1eaD4+OCYyNTU7YVs3XT1nWFtjJjI1NV1eaCYyNTU7aD1iWzQyXTthWzhdPWdYW2U+Pj4yNF1eaD4+PjI0O2FbOV09Z1hbZj4+MTYmMjU1XV5oPj4xNiYyNTU7YVsxMF09Z1hbYz4+OCYyNTVdXmg+PjgmMjU1O2FbMTFdPWdYW2QmMjU1XV5oJjI1NTtoPWJbNDNdO2FbMTJdPWdYW2Y+Pj4yNF1eaD4+PjI0O2FbMTNdPWdYW2M+PjE2JjI1NV1eaD4+MTYmMjU1O2FbMTRdPWdYW2Q+PjgmMjU1XV5oPj44JjI1NTthWzE1XT1nWFtlJjI1NV1eaCYyNTV9OwpObmE9YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2Euanx8KGEuaj1hd2FpdCBhLm8uaW1wb3J0S2V5KCJyYXciLGEudix7bmFtZToiQUVTLUNUUiJ9LCExLFsiZW5jcnlwdCJdKSk7YT1hd2FpdCBhLm8uZW5jcnlwdCh7bmFtZToiQUVTLUNUUiIsY291bnRlcjpjLGxlbmd0aDoxMjh9LGEuaixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYSl9O09uYT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEVycm9yP25ldyBpWCgiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6YS5tZXNzYWdlfSk6bmV3IGlYKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTtQbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIlVOS05PV05fREVDT0RFX0VSUk9SIix7b3JpZ2luYWxNZXNzYWdlOmEubWVzc2FnZX0pOm5ldyBpWCgiVU5LTk9XTl9ERUNPREVfRVJST1IiKX07CmpYPWZ1bmN0aW9uKGEsYil7YT1hIGluc3RhbmNlb2YgaVg/YTpiKGEpO18uR3AoYSk7dGhyb3cgYTt9O2tYPWZ1bmN0aW9uKGEpe2E9KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpLnN1YmFycmF5KDAsMTYpO3ZhciBiPW5ldyBVaW50OEFycmF5KDE2KTtiLnNldChhKTtyZXR1cm4gYn07Um5hPWZ1bmN0aW9uKGEpe3ZhciBiPVFuYVthXTtpZihiKXJldHVybiBiO18uSXAobmV3IF8uWGooIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZTphfSkpfTttWD1mdW5jdGlvbihhLGIpe3JldHVybiBsWChhLm8sYi52ZXJzaW9uKS5kZWNvZGUoYi5kYXRhLGIua2V5KX07U25hPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmdldChiKS50aGVuKGQ9PntpZihkKXtpZihjJiZkLmVudGl0eVR5cGUhPT1jKXRocm93IEVycm9yKCJoYyIpO3JldHVybiBtWChhLGQpfX0pfTsKb1g9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRXKGIpO3JldHVybiBuWChhLGQpLnRoZW4oKCk9PlRuYShhLGIsYykpfTtwWD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS52W2NdO2R8fChkPW5ldyBTZXQsYS52W2NdPWQpO2QuYWRkKGIpfTsKVW5hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0kVyhiKSxlPWxYKGEubywxKSxmPXsuLi5ifTtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmdldChkKS50aGVuKGg9PntpZihoKXtpZihoLmVudGl0eVR5cGUhPT1jKXRocm93IEVycm9yKCJoYyIpO2YuZW50aXR5TWV0YWRhdGF8fChoPW1YKGEsaCksZi5lbnRpdHlNZXRhZGF0YT1oLmVudGl0eU1ldGFkYXRhKX19KS50aGVuKCgpPT57dmFyIGg9e2tleTpkLGVudGl0eVR5cGU6YyxkYXRhOmUuZW5jb2RlKGYsZCksdmVyc2lvbjoxfTtyZXR1cm4gXy5Way5hbGwoW18ubGwoYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLGgpLG9YKGEsZixjKV0pfSkudGhlbigoKT0+e3BYKGEsZCxjKTtyZXR1cm4gZH0pfTsKVm5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5HSChiKS5lbnRpdHlUeXBlO3JldHVybiBfLlZrLmFsbChbYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmRlbGV0ZShiKSxuWChhLGIpXSkudGhlbigoKT0+e3BYKGEsYixjKX0pfTtuWD1mdW5jdGlvbihhLGIpe3JldHVybiBhLmoub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShiKSl9OwpXbmE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bFgoYS5vLDEpO3JldHVybiBTbmEoYSxiLGQpLnRoZW4oZj0+e2lmKGZ8fF8ueCgid2ViX2VuYWJsZV9lbnRpdHlfdXBzZXJ0X29uX3VwZGF0ZSIpKXtmPV8uaE0oZnx8e30sYyk7dmFyIGg9e2tleTpiLGVudGl0eVR5cGU6ZCxkYXRhOmUuZW5jb2RlKGYsYiksdmVyc2lvbjoxfTtyZXR1cm4gXy5Way5hbGwoW18ubGwoYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLGgpLG9YKGEsZixkKV0pfX0pLnRoZW4oKCk9PntwWChhLGIsZCk7cmV0dXJuIGJ9KX07ClRuYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9JFcoYik7Yz1SbmEoYyk7aWYoIWMpcmV0dXJuIF8uVmsucmVzb2x2ZShbXSk7Yj1uZXcgYyhiKTthPWEuai5vYmplY3RTdG9yZSgiRW50aXR5QXNzb2NpYXRpb25TdG9yZSIpO2M9W107Zm9yKGxldCBlIG9mIGIubygpKWMucHVzaChfLmxsKGEse3BhcmVudEVudGl0eUtleTpkLGNoaWxkRW50aXR5S2V5OmV9KSk7cmV0dXJuIF8uVmsuYWxsKGMpLnRoZW4oZT0+ZS5tYXAoZj0+ZlsxXSkpfTtsWD1mdW5jdGlvbihhLGI9MCl7YT1hLmpbYl07aWYoIWEpdGhyb3cgYj1uZXcgaVgoIklOVkFMSURfRU5DT0RFUl9WRVJTSU9OIix7SXA6Yn0pLF8uR3AoYiksYjtyZXR1cm4gYX07cVg9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYS5vYnNlcnZlcnMpYyhiKX07ClluYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWF3YWl0IE1uYShhLnRva2VuKSxkO2M9YXdhaXQgXy5pbChjLFsiRW50aXR5U3RvcmUiLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIl0sInJlYWR3cml0ZSIsZT0+e2Q9bmV3IFhuYShlLGEuaik7cmV0dXJuIGIoZCl9KTtpZihkKXtsZXQgZT1kLnY7T2JqZWN0LmtleXMoZSkubGVuZ3RoPjAmJihhLmNoYW5uZWwucG9zdE1lc3NhZ2UoZSkscVgoYSxlKSl9cmV0dXJuIGN9O2FvYT1hc3luYyBmdW5jdGlvbigpe3RyeXtsZXQgYj1hd2FpdCBfLlBsKCk7aWYoYiYmXy5XaigpJiZ0eXBlb2YgXy51LkJyb2FkY2FzdENoYW5uZWwhPT0idW5kZWZpbmVkIil7dmFyIGE9bmV3IFpuYTtyZXR1cm4gbmV3ICRuYShiLGEpfX1jYXRjaChiKXtiIGluc3RhbmNlb2YgRXJyb3ImJl8uR3AoYil9fTsKYm9hPWZ1bmN0aW9uKGEpe2E9YS5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtyZXR1cm4gYT09PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX1BFUlNJU1QifHxhPT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fSU5NRU1PUllfQU5EX1BFUlNJU1QifTsKY29hPWFzeW5jIGZ1bmN0aW9uKGEpe3JYfHwoclg9YW9hKCkpO3ZhciBiPWF3YWl0IHJYO2ImJmF3YWl0IFluYShiLGM9Pnt2YXIgZD17fTtmb3IobGV0IGUgb2YgYSl7aWYoIWUuZW50aXR5S2V5fHwhYm9hKGUpKWNvbnRpbnVlO2xldCBmPV8uZE0oZS5wYXlsb2FkKSxoPXZvaWQgMDtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSImJihoPSgpPT5VbmEoYyxlLnBheWxvYWRbZl0sZikpO2UudHlwZT09PSJFTlRJVFlfTVVUQVRJT05fVFlQRV9ERUxFVEUiJiYoaD0oKT0+Vm5hKGMsZS5lbnRpdHlLZXkpKTtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIiYmKGg9KCk9PlduYShjLGUuZW50aXR5S2V5LGUucGF5bG9hZFtmXSxmKSk7aCYmKGRbZS5lbnRpdHlLZXldPWRbZS5lbnRpdHlLZXldP2RbZS5lbnRpdHlLZXldLnRoZW4oaCk6aCgpKX1yZXR1cm4gXy5Way5hbGwoT2JqZWN0LnZhbHVlcyhkKSl9KX07CmRvYT1hc3luYyBmdW5jdGlvbihhLGIpeyEoYT1hLm11dGF0aW9ucyl8fGEubGVuZ3RoPD0wfHwoYiYmYi5kaXNwYXRjaChfLmtBKHt0eXBlOiJFTlRJVFlfTE9BREVEIixwYXlsb2FkOmF9KSksYXdhaXQgY29hKGEpLGEubGVuZ3RoPTApfTtlb2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51QygpO2IuT2M9ITA7Yi5zZXNzaW9uSWQ9YS5zZXNzaW9uSWR8fCIiO2IuZGg9YS5kaDthLldoIT1udWxsJiYoYi5XaD1hLldoKX07c1g9ZnVuY3Rpb24oYSl7Xy51QygpLnByb2Nlc3NvcnMucHVzaChhKX07Zm9hPWZ1bmN0aW9uKCl7Xy5WcC5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixhPT57dHJ5e2ZvcihsZXQgYiBpbiBfLmVJKXRyeXtsZXQgYz1fLmVJW2JdO3R5cGVvZiBfLmVJW2JdPT09ImZ1bmN0aW9uIiYmKGM9YygpKTthLnBhcmFtc1tiXT10eXBlb2YgXy5lSVtiXT09PSJvYmplY3QiP0pTT04uc3RyaW5naWZ5KGMpOlN0cmluZyhjKX1jYXRjaChjKXtfLklwKGMpfX1jYXRjaChiKXtfLklwKGIpfX0pfTsKZ29hPWZ1bmN0aW9uKCl7fTt0WD1mdW5jdGlvbihhLGIsYz0wKXsoYz1fLmlxKGMpKSYmYSYmXy55SihjLGEsYil9O2hvYT1mdW5jdGlvbihhKXtyZXR1cm4gVVcoT2JqZWN0LmtleXMoYSkubWFwKGI9PmI9PT0icGxheWxpc3RFZGl0RW5kcG9pbnQiP18uQihhLF8uQXopLmNsaWVudEFjdGlvbnN8fFtdOmFbYl0uYWN0aW9uc3x8YVtiXS5jbGllbnRBY3Rpb25zfHxbXSkpfTt1WD1mdW5jdGlvbihhKXthPV8uQihhPy5jb21tYW5kTWV0YWRhdGEsXy56dyk7cmV0dXJuIGE/LnVybD9hLnVybDpudWxsfTt2WD1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYyBvZiBhKV8uQUooYyxiLCEwKX07CmlvYT1mdW5jdGlvbigpe18uSk09d1g7VFcoXy5nRSwoe2NvbW1hbmQ6YSxzb3VyY2VEYXRhOmIsY29tbWFuZENvbnRleHQ6Y30pPT57Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChhLF8uWUQoYixjKSl8fChhPW5ldyBfLlhqKCJDb21tYW5kIG5vdCBoYW5kbGVkIGJ5IENvbW1hbmRIYW5kbGVyIixPYmplY3Qua2V5cyhhKSxjKSxfLkdwKGEpKX0pfTtrb2E9ZnVuY3Rpb24oKXt2YXIgYT1fLlBFKGpvYSk7cmV0dXJuIGEhPT12b2lkIDA/YTpfLlJFPD0yOTl9O3hYPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQ7cmV0dXJuIF8udmIoWyJmdWxsc2NyZWVuY2hhbmdlIiwid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsIm1vemZ1bGxzY3JlZW5jaGFuZ2UiLCJNU0Z1bGxzY3JlZW5DaGFuZ2UiXSxiPT5gb24ke2IudG9Mb3dlckNhc2UoKX1gaW4gYSl9Owpsb2E9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtyZXR1cm4gXy52YihbImZ1bGxzY3JlZW5lcnJvciIsIndlYmtpdGZ1bGxzY3JlZW5lcnJvciIsIm1vemZ1bGxzY3JlZW5lcnJvciIsIk1TRnVsbHNjcmVlbkVycm9yIl0sYj0+YG9uJHtiLnRvTG93ZXJDYXNlKCl9YGluIGEpfTt5WD1mdW5jdGlvbihhLGIsYyl7Xy5yaWE8Xy5zaigid2ViX3NsaV9sb2dfd2FybmluZ19zYW1wbGVfc2l6ZV9yYXRlIiwuMDAxKSYmXy5JcChuZXcgXy5YaihgW1NMSV0gIiR7YX0iIGVycm9yYCx7c2xpTmFtZTphLGRpbWVuc2lvbnM6YixkZXRhaWxzOmN9KSl9Owpub2E9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7Y3x8Xy5JcChuZXcgXy5YaigiRnVsbHNjcmVlbiBjaGFuZ2Ugc2xpIGNhbGxlZCBiZWZvcmUgc3RhcnQuIikpfXZhciBiPXpYLGM9ITEsZD17anc6bW9hfS5qdygiZnVsbHNjcmVlbl9yZXF1ZXN0IiksZT1sb2EoKXx8ImZ1bGxzY3JlZW5lcnJvciI7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZSxmPT57YSgpO2QuemcoIkZBSUxVUkUiKTt5WCgiZnVsbHNjcmVlbiByZXF1ZXN0IixiKCkse2V2ZW50OmZ9KTtjPSExfSk7ZT14WCgpfHwiZnVsbHNjcmVlbmNoYW5nZSI7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZSwoKT0+e2EoKTtkLnpnKCJTVUNDRVNTIik7Yz0hMX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVucmVxdWVzdCIsKCk9PntjPSEwO2QuRHIoYigpKX0pfTsKb29hPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZmFsbGJhY2tFbmRwb2ludCxjPWEudGltZW91dE1zO2lmKCFfLngoIm13ZWJfYzNfbml0cmF0ZV9jbGllbnRfb3Blbl9hcHBfZmFsbGJhY2tfa3MiKSYmYS51cmwpe3ZhciBkPV8uWmIoYS51cmwsImZlYXR1cmUiKXx8IiI7ZD1kLnN0YXJ0c1dpdGgoImUxNW1fIil8fGQuc3RhcnRzV2l0aCgiZTFkXyIpfHxkLnN0YXJ0c1dpdGgoImUzZF8iKTtfLmZyJiZkJiYhYiYmKGE9YS51cmwsYS5zdGFydHNXaXRoKCJ2bmQueW91dHViZTovLyIpP2E9YS5yZXBsYWNlKCJ2bmQueW91dHViZTovLyIsImh0dHBzOi8vIik6YS5zdGFydHNXaXRoKCJ5b3V0dWJlOi8vIikmJihhPWEucmVwbGFjZSgieW91dHViZTovLyIsImh0dHBzOi8vIikpLF8uWGIoYSwwLCJyZWRpcmVjdF9hcHBfc3RvcmVfaW9zIixhLnNlYXJjaChfLlliKSk+PTB8fChhPV8uRk8oYSwicmVkaXJlY3RfYXBwX3N0b3JlX2lvcyIsIjEiKSksYj1fLndOKGEpLCFjfHxjPD0wKSYmKGM9Xy5zaigibXdlYl9kZWVwX2xpbmtfZmFsbGJhY2tfdGltZW91dF9tcyIsCjNFMykpfXJldHVybntmYWxsYmFja0VuZHBvaW50OmIsdGltZW91dE1zOmN9fTtwb2E9ZnVuY3Rpb24oYSxiKXtfLngoIm13ZWJfYXBwX2J1dHRvbl9sb2dfa3MiKXx8dFgoXy50aWEpO2IuZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO2E9Xy5CKGEsXy5xaWEpO2E/LnVybCYmKHdpbmRvdy5sb2NhdGlvbj1hLnVybCk7dmFyIHtmYWxsYmFja0VuZHBvaW50OmMsdGltZW91dE1zOmR9PWE/b29hKGEpOntmYWxsYmFja0VuZHBvaW50OnZvaWQgMCx0aW1lb3V0TXM6dm9pZCAwfTtBWD09PXZvaWQgMCYmZCYmZD4wJiYoQVg9c2V0VGltZW91dCgoKT0+e0FYPXZvaWQgMDtjJiZfLkFKKGMsYi5zb3VyY2VEYXRhLCEwKX0sZCksXy5OTSh3aW5kb3csInZpc2liaWxpdHljaGFuZ2UiLCgpPT57QVgmJih3aW5kb3cuY2xlYXJUaW1lb3V0KEFYKSxBWD12b2lkIDApfSkpfTsKcW9hPWZ1bmN0aW9uKGEpe3ZhciBiPXhYKCk7YiYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYiwoKT0+e3ZhciBjPSEhXy5aTygpO2N8fF8uTU8oIi55dHdQbGF5ZXJCb3R0b21Db250cm9sc0Z1bGxzY3JlZW5CdXR0b25XcmFwcGVyIC5mdWxsc2NyZWVuLWljb24gLmJ1dHRvbiIpO2Euc2V0RmF1eEZ1bGxzY3JlZW4oYyl9KX07Qlg9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2dvb2dsZS1mZWVkYmFjayIpO2ImJihfLkJOKGIsYSksYSYmXy5NTygoKT0+Yi5xdWVyeVNlbGVjdG9yKCJpZnJhbWUiKT8uY29udGVudERvY3VtZW50Py5xdWVyeVNlbGVjdG9yKCIudXZGZWVkYmFja0Zvcm1mb3JtLWluaXRpYWwtZm9jdXMtZWxlbWVudCwgLnV2RmVlZGJhY2tSc2FkaWFsb2dkaWFsb2cgLnNjU2hhcmVkTWF0ZXJpYWxidXR0b25yb290IiksNSx7cmw6ITB9KSl9Owpyb2E9ZnVuY3Rpb24oKXt2YXIgYT1fLlhELnJlc3BvbnNlPy5yZXNwb25zZT8ucmVzcG9uc2VDb250ZXh0Py5zZXJ2aWNlVHJhY2tpbmdQYXJhbXM/LmZpbHRlcihjPT5jLnNlcnZpY2U9PT0iR0ZFRURCQUNLIilbMF0ucGFyYW1zPy5maWx0ZXIoYz0+Yy5rZXk9PT0iZSIpWzBdLGI9bmV3IFNldChfLncoIkZFWFBfRVhQRVJJTUVOVFMiLFtdKSk7KGE/LnZhbHVlPy5zcGxpdCgiLCIpfHxbXSkuZm9yRWFjaChjPT57Yi5hZGQoTnVtYmVyKGMpKX0pO3JldHVybiBBcnJheS5mcm9tKGIpLmpvaW4oIiwiKX07CnNvYT1mdW5jdGlvbigpe3JldHVybiBfLldEKCgpPT57dmFyIGE9Xy5YRC5yZXNwb25zZT8ucmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09InByZW1pdW1fbWVtYmVyc2hpcCIpWzBdLGI9Xy5YRC5yZXNwb25zZT8ucGxheWVyUmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09InByZW1pdW1fbWVtYmVyc2hpcCIpWzBdO3JldHVybiBhP2EudmFsdWU6Yj9iLnZhbHVlOm51bGx9KX07CkNYPWZ1bmN0aW9uKGEpeyhuZXcgXy5meShhLm9sZFVSTCkpLnY9PT0iI2ZlZWRiYWNrIiYmd2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2ZlZWRiYWNrIiYmKEJYKCExKSwoYT13aW5kb3cuR09PR0xFX0ZFRURCQUNLX0RFU1RST1lfRlVOQ1RJT04pJiZhKCkpfTt0b2E9ZnVuY3Rpb24oKXtfLkZKLnRoZW4oKCk9Pnt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZmVlZGJhY2siJiYoXy5ZTT9fLiRNKCIiKTpfLlpNKCkpO3JldHVybiBfLkZKfSl9O3VvYT1mdW5jdGlvbigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixDWCk7dG9hKCk7QlgoITEpO18uRXAoInVzZXJGZWVkYmFja0V2ZW50Iix7fSl9O3ZvYT1mdW5jdGlvbigpe3JldHVybntwcm9kdWN0SWQ6Ijc3NTIyIixsb2NhbGU6Xy53KCJIVE1MX0xBTkciLCJlbiIpLGFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjazohMCxidWNrZXQ6IkMzIixjYWxsYmFjazp1b2Esb25Mb2FkQ2FsbGJhY2s6KCk9PntCWCghMCl9fX07CndvYT1mdW5jdGlvbihhKXt2YXIgYj12b2EoKSxjPXtjbGllbnRBcHBWZXJzaW9uOl8udygiQ0xJRU5UX0FQUF9WRVJTSU9OIiwiIiksZXhwZXJpbWVudHM6cm9hKCksbG9nZ2VkX2luOl8udFAoKSxEZXZpY2U6Xy5iYygpLHByZW1pdW1fbWVtYmVyc2hpcDpzb2EoKX07Xy5WTSgpfHxfLldNKCk7YSYmYS5mb3JFYWNoKGQ9PnsoZD1kLnVzZXJGZWVkYmFja0VuZHBvaW50UHJvZHVjdFNwZWNpZmljVmFsdWVEYXRhKSYmZC5rZXkmJihjW2Qua2V5XT1kLnZhbHVlKX0pO18uVU4oKS50aGVuKCgpPT57Xy4kTSgiZmVlZGJhY2siKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsQ1gpO18uWU8oYixjKX0pfTt4b2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO2IuYWJvcnQoYSk7cmV0dXJuIGIuc2lnbmFsfTsKeW9hPWZ1bmN0aW9uKCl7aWYodGhpcy5hYm9ydGVkKXRocm93IHRoaXMucmVhc29uPz9uZXcgRE9NRXhjZXB0aW9uKCJzaWduYWwgaXMgYWJvcnRlZCB3aXRob3V0IHJlYXNvbiIsIkFib3J0RXJyb3IiKTt9O3pvYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRFg7Zm9yKGxldCBjIG9mIGEpaWYoYy5hYm9ydGVkKXtiLmFib3J0KGMucmVhc29uKTticmVha31lbHNlIEVYLnNldChiLnNpZ25hbCxiKSxGWC5hZGQoYyxiLnNpZ25hbCk7cmV0dXJuIGIuc2lnbmFsfTtBb2E9ZnVuY3Rpb24oKXtmb3IobGV0IGEgb2YgRlguZ2V0KHRoaXMpKUVYLmdldChhKS5hYm9ydCh0aGlzLnJlYXNvbil9O0JvYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRFg7c2V0VGltZW91dCgoKT0+e2IuYWJvcnQobmV3IERPTUV4Y2VwdGlvbigic2lnbmFsIHRpbWVkIG91dCIsIlRpbWVvdXRFcnJvciIpKX0sYSk7cmV0dXJuIGIuc2lnbmFsfTsKQ29hPWZ1bmN0aW9uKCl7dmFyIGE9W10sYjt2YXIgYz1jfHxHWC5sZW5ndGg7Zm9yKGI9MDtiPDg7YisrKWFbYl09R1hbMHxNYXRoLnJhbmRvbSgpKmNdO3JldHVybiBhLmpvaW4oIiIpfTtIWD1mdW5jdGlvbihhKXtmb3IobGV0IFssYl1vZiBPYmplY3QuZW50cmllcyhEb2EpKXtsZXQgYz1iO2lmKGM9PT0iU0xJX1NUQVRVU18iK2EpcmV0dXJuIGN9cmV0dXJuIlNMSV9TVEFUVVNfVU5LTk9XTiJ9O0lYPWZ1bmN0aW9uKGEsYixjKXtiPUhYKGIpO1pXKHtkaW1lbnNpb25zOmMscmVjb3Jkczpbe25hbWU6YSxzdGF0ZToiU0xJX1NUQVRFX0VORCIsc3RhdHVzOmJ9XX0pfTtGb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIEJuYShhLCgpPT5uZXcgRW9hKGEpKX07bW9hPWZ1bmN0aW9uKGEpe3JldHVybiBGb2EoYSl9O0tYPWZ1bmN0aW9uKGEsYil7SlgoYSxgJHtifSB3YXMgY2FsbGVkIGJ1dCBub3Qgc2V0YCl9O0hvYT1mdW5jdGlvbihhKXtyZXR1cm4gR29hLmluZGV4T2YoYSk+LTF9OwpKWD1mdW5jdGlvbihhLGIsYyl7Yz1jIT09dm9pZCAwP09iamVjdC5rZXlzKGEpLmZpbHRlcihjKTpPYmplY3Qua2V5cyhhKTthPW5ldyBfLlhqKGBbQ29tbWFuZCBIYW5kbGVyXSAke2J9YCx7ZmlsdGVyZWRDb21tYW5kTmFtZXM6YyxvcmlnaW5hbENvbW1hbmQ6YX0pO18uR3AoYSl9O0lvYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uQihhLF8uTkopO2lmKGMmJihjPWJbYy5zaWduYWxdKSlyZXR1cm4gYygpO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhhKSlpZihiW2RdJiYoYT1iW2RdKSlyZXR1cm4gYSgpfTtKb2E9ZnVuY3Rpb24oYSxiLGM9ITEsZD0hMSxlPVtdKXtMWC5pbnN0YW5jZT1uZXcgTFgoYSxiLGMsZCxlKX07CktvYT1mdW5jdGlvbihhKXtpZighYS5EJiZfLndDKCJjb21tYW5kIikpe2xldCBiPWEucmVzb2x2ZUNvbW1hbmQ7YS5yZXNvbHZlQ29tbWFuZD1mdW5jdGlvbihjLGQpe2E6e2ZvcihlIGluIGMpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZSkpe3ZhciBlPXtjb21tYW5kVHlwZTplfTticmVhayBhfWU9e319cmV0dXJuIF8ueUMoImNvbW1hbmQiLGUsYi5iaW5kKHRoaXMsYyxkKSl9O2EuRD0hMH19OwpNWD1mdW5jdGlvbihhLGIsYyl7IWM/Lm1kJiZhLmomJihiLmNsaWNrVHJhY2tpbmdQYXJhbXM/KGM9Yz8uZm9ybT8uZWxlbWVudCxhLmouY2xpY2tDb21tYW5kKGIsbnVsbCxjJiZjLmdldFNjcmVlbkxheWVyJiZjLmdldFNjcmVlbkxheWVyKCkpKTpiLmNsaWNrVHJhY2tpbmdQYXJhbXM/YS5qLmNsaWNrQ29tbWFuZChiKTohXy54KCJkaXNhYmxlX2NsaWNrZWRfdmlzdWFsX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyIikmJmM/LmNsaWNrZWRWaXN1YWxFbGVtZW50JiZfLndKKGEuaixjLmNsaWNrZWRWaXN1YWxFbGVtZW50KSl9OwpMb2E9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLkIpcmV0dXJue2hhbmRsZWQ6ITF9O3ZhciBkPUlvYShiLGEuQik7cmV0dXJuIGQ/KChhLksuc29tZShlPT4hIV8uQihiLGUpKXx8Yz8uUHB8fCFhLkkpJiZNWChhLGIsYykse2hhbmRsZWQ6ITAsWms6KGFzeW5jKCk9Pnthd2FpdCAoZCBpbnN0YW5jZW9mIFByb21pc2U/YXdhaXQgZDpkKS5yZXNvbHZlKGIsYyl9KSgpfSk6e2hhbmRsZWQ6ITF9fTsKTlg9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPU1vYShiKTtpZighYz8uVEspe2xldCBmPUxvYShhLGIsYyk7aWYoZi5oYW5kbGVkKXJldHVybiBmfWlmKGQpcmV0dXJuIE5vYShhLGIsYyk7aWYoIWEudilyZXR1cm4gSlgoYiwiVW5oYW5kbGVkIGNvbW1hbmQgYnkgYnVpbGRDb21tYW5kUGF5bG9hZCIpLHtoYW5kbGVkOiExfTt2YXIgZT1hLnYoYixjKTtjPy5FaSYmKGUuRWk9Yy5FaSk7aWYoZS50eXBlPT09MCl7aWYoIWEubmF2aWdhdGUpcmV0dXJuIEtYKGIsIm5hdmlnYXRlIikse2hhbmRsZWQ6ITF9O2lmKCFfLkIoZS5jb21tYW5kPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybClyZXR1cm4gSlgoYiwiUGFnZSByZXF1ZXN0cyBuZWVkIHRvIHNwZWNpZnkgYSB1cmwiKSx7aGFuZGxlZDohMX07aWYoT29hKGEsZS5jb21tYW5kKSlyZXR1cm57aGFuZGxlZDohMX07Xy54KCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIikmJl8uaW8oKS50cmFuc2l0aW9uKCJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIik7CmI9YS5uYXZpZ2F0ZShlKXx8W107ZD1Qcm9taXNlLnJlc29sdmUoR25hKGIpLnRoZW4oKCk9PnthLm8uZGVsZXRlKGUuY29tbWFuZCl9KSk7YS5qJiYhYS5ZJiZBbmEoYS5qLGUuY29tbWFuZCx7Y2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yz8uY2xpY2tlZFZpc3VhbEVsZW1lbnQsZmw6YixsYXllcjplLmxheWVyLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOjR9KTtyZXR1cm57aGFuZGxlZDohMCxaazpkfX1pZihlLnR5cGU9PT0xKXJldHVybiBLWChiLCJoYW5kbGVTZXJ2aWNlUmVxdWVzdCIpLHtoYW5kbGVkOiExfTtlLnR5cGU9PT0yJiZLWChiLCJzZW5kQWN0aW9uIik7cmV0dXJue2hhbmRsZWQ6ITF9fTtNb2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5CKGEsXy56eik/LnNpZ25hbD09PSJDTElFTlRfU0lHTkFMIjtyZXR1cm4hIV8uQihhLF8uU0QpfHxifTsKTm9hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPV8uQihiLF8uU0QpO2U/ZD1lPy5jb21tYW5kc3x8W106Xy5CKGIsXy56eik/LnNpZ25hbD09PSJDTElFTlRfU0lHTkFMIiYmKGQ9Xy5CKGIsXy56eik/LmFjdGlvbnN8fFtdKTtpZihkKXsoZT1Qb2EoYSxkKSkmJk1YKGEsYixjKTtiPVtdO2ZvcihsZXQgZiBvZiBkKXRyeXtkPXsuLi5jfTtlJiYoZC5tZD0hMCk7bGV0IGg9TlgoYSxmLGQpO2guaGFuZGxlZCYmYi5wdXNoKGguWmspfWNhdGNoKGgpe2ggaW5zdGFuY2VvZiBFcnJvciYmXy5HcChoKX1yZXR1cm57aGFuZGxlZDohMCxaazpQcm9taXNlLmFsbFNldHRsZWQoYikudGhlbigoKT0+e30pfX1KWChiLCJDb3VsZCBub3QgaGFuZGxlIHRoZSBtZXRhIGNvbW1hbmQiKTtyZXR1cm57aGFuZGxlZDohMX19O09vYT1mdW5jdGlvbihhLGIpe2lmKGEuby5oYXMoYikpcmV0dXJuITA7YS5vLmFkZChiKTtyZXR1cm4hMX07ClBvYT1mdW5jdGlvbihhLGIpe3JldHVybiBiLmV2ZXJ5KGM9PmEuTS5zb21lKGQ9PiEhXy5CKGMsZCkpKX07UW9hPWZ1bmN0aW9uKGEsYil7YT1hLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7aWYoYS5sZW5ndGgpcmV0dXJuIGE/LmZpbmQoYz0+Yz8uZ2V0TGFuZ3VhZ2VJbmZvKCk/LmdldElkKCk9PT1iKX07Um9hPWZ1bmN0aW9uKGEsYixjKXthPV8uJE8oYSk7aWYoYS5sZW5ndGgpcmV0dXJuIGM/YS5maW5kKGQ9PmQudHJhbnNsYXRpb25MYW5ndWFnZT9kLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VDb2RlPT09YjohMSk6YT8uZmluZChkPT5kLmxhbmd1YWdlQ29kZT09PWIpfTsKU29hPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKTtpZihiPy5sZW5ndGgpe3ZhciBjPWEuZ2V0QXVkaW9UcmFjaygpO2E9e2xpc3RJdGVtczpbLi4uYi5tYXAoZD0+KHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6ZC5nZXRMYW5ndWFnZUluZm8oKS5nZXROYW1lKCl9LGlzU2VsZWN0ZWQ6ZC5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Yz8uZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3thdWRpb1RyYWNrU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKX19XX19fX19fX0pKV0sCnZpc2libGVFbGVtZW50Q291bnQ6NX07cmV0dXJue3Nob3dTaGVldENvbW1hbmQ6e3BhbmVsTG9hZGluZ1N0cmF0ZWd5OntpbmxpbmVDb250ZW50OntzaGVldFZpZXdNb2RlbDp7aGVhZGVyOntwYW5lbEhlYWRlclZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiQVVESU9fVFJBQ0siLHZvaWQgMCwiQXVkaW8gVHJhY2siKX19fSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19fTtPWD1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2tsaXN0Iix7aW5jbHVkZUFzcjohMH0pfTtUb2E9ZnVuY3Rpb24oYSl7dmFyIGI9T1goYSk7aWYoYj8ubGVuZ3RoKXJldHVybiBiO2EubG9hZE1vZHVsZSgiY2FwdGlvbnMiKTtyZXR1cm4gT1goYSl9OwpQWD1mdW5jdGlvbihhKXt2YXIgYj1hLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpO2lmKGIpcmV0dXJuIGI7YS5sb2FkTW9kdWxlKCJjYXB0aW9ucyIpO3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpfTtRWD1mdW5jdGlvbihhLGIpe3JldHVybntwYW5lbEhlYWRlclZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQShhLHZvaWQgMCxiKX19fX07ClZvYT1mdW5jdGlvbihhKXt2YXIgYj1Ub2EoYSk7aWYoYj8ubGVuZ3RoKXt2YXIgYz1QWChhKTthPXtsaXN0SXRlbXM6W3tsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiUExBWUVSX0NBUFRJT05fT0ZGIix2b2lkIDAsIk9mZiIpfSxpc1NlbGVjdGVkOiFjPy5sYW5ndWFnZUNvZGUsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7Y2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOiIifX0se2hpZGVTaGVldENvbW1hbmQ6e319XX19fX19fX0sLi4uYi5tYXAoZD0+KHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6ZC5kaXNwbGF5TmFtZX0saXNTZWxlY3RlZDpkLmRpc3BsYXlOYW1lPT09CmM/LmRpc3BsYXlOYW1lLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbe2NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZTpkLmxhbmd1YWdlQ29kZX19LHtoaWRlU2hlZXRDb21tYW5kOnt9fV19fX19fX19KSkse2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpfLmFBKCJBVVRPX1RSQU5TTEFURSIsdm9pZCAwLCJBdXRvLXRyYW5zbGF0ZSIpfSxpc1NlbGVjdGVkOiEhYy50cmFuc2xhdGlvbkxhbmd1YWdlLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLC4uLighIWMudHJhbnNsYXRpb25MYW5ndWFnZSYme3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yz8udHJhbnNsYXRpb25MYW5ndWFnZT8ubGFuZ3VhZ2VOYW1lfHwKIiJ9fSkscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOltVb2EoYSldfX19fX19fV0sdmlzaWJsZUVsZW1lbnRDb3VudDo1fTtyZXR1cm57c2hvd1NoZWV0Q29tbWFuZDp7cGFuZWxMb2FkaW5nU3RyYXRlZ3k6e2lubGluZUNvbnRlbnQ6e3NoZWV0Vmlld01vZGVsOntoZWFkZXI6UVgoIlBMQVlFUl9DQVBUSU9OIiwiQ2FwdGlvbnMiKSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19fTsKVW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uYVAoYSk7aWYoIWI/Lmxlbmd0aCl0aHJvdyBFcnJvcigiYmUiKTt2YXIgYz1QWChhKTthPXtsaXN0SXRlbXM6Wy4uLmIuZmlsdGVyKGQ9PiFkLmxhbmd1YWdlQ29kZT8uc3RhcnRzV2l0aCgiZW4iKSkubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQubGFuZ3VhZ2VOYW1lfHwiIn0saXNTZWxlY3RlZDpkLmxhbmd1YWdlTmFtZT09PWM/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3tjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kOntsYW5ndWFnZUNvZGU6ZC5sYW5ndWFnZUNvZGUsaXNBdXRvVHJhbnNsYXRlZDohMH19LAp7aGlkZVNoZWV0Q29tbWFuZDp7fX1dfX19fX19fSkpXSx2aXNpYmxlRWxlbWVudENvdW50OjV9O3JldHVybntzaG93U2hlZXRDb21tYW5kOntwYW5lbExvYWRpbmdTdHJhdGVneTp7aW5saW5lQ29udGVudDp7c2hlZXRWaWV3TW9kZWw6e2hlYWRlcjpRWCgiQVVUT19UUkFOU0xBVEUiLCJBdXRvLXRyYW5zbGF0ZSIpLGNvbnRlbnQ6e2xpc3RWaWV3TW9kZWw6YX19fX19fX07V29hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVncoKTtpZihiKXt2YXIgYz17d2ViQ2xpZW50Q29tcG9uZW50c0RhdGE6e2NvbXBvbmVudHM6QXJyYXkuZnJvbShhLmlkcyxkPT4oe2lkOmR9KSl9fTthLmlkcy5jbGVhcigpO18uaHgoKS52aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKGIsYyl9fTsKWG9hPWZ1bmN0aW9uKGEpe3ZhciBiPXpYO2EuYWRkRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsYz0+e2lmKGEpe3ZhciBkPWEuZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQ7ZCE9PVJYJiZjPT09MSYmKFJYPWQsU1gubyhiKCkpLFRYLm8oYigpKSl9fSk7YS5hZGRFdmVudExpc3RlbmVyKCJvbkVycm9yIixjPT57U1guaihiKCkpO3lYKCJwbGF5ZXIgZXJyb3IiLGIoKSx7ZXJyb3JDb2RlOmN9KX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwbGF5YmFjay11bnBsYXlhYmxlIixjPT57VFguaihiKCkpO3lYKCJwbGF5ZXIgdW5wbGF5YWJsZSIsYigpLHtyZWFzb246Yy5kZXRhaWw/LnJlYXNvbn0pfSl9O1lvYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWEuai5nZXQoYik7aWYoYylyZXR1cm4gYy5wcm9taXNlO2M9bmV3IF8uY3M7YS5qLnNldChiLGMpO3JldHVybiBjLnByb21pc2V9Owpab2E9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hLk9tLmdldChiKTtyZXR1cm4gYz9jOllvYShhLGIpfTskb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihhLnBhbmVsTG9hZGluZ1N0cmF0ZWd5Py5yZXF1ZXN0VGVtcGxhdGUpdHJ5e2xldCBjPWF3YWl0IGEuby5RaShiKTtpZihjKXJldHVybiBjLmNvbnRlbnQ7Xy5HcChFcnJvcigiY2UiKSl9Y2F0Y2goYyl7Xy5HcChjKX19O1ZYPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFVYKGEpPy5vdyhiKT8/Yn07VVg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWk8oKSYmYS5NP2EuTTphLmNvbnRhaW5lcn07V1g9ZnVuY3Rpb24oYSl7YS5ZJiYoY2xlYXJUaW1lb3V0KGEuWSksYS5ZPXZvaWQgMCk7YS5CJiYoY2xlYXJUaW1lb3V0KGEuQiksYS5CPXZvaWQgMCl9OwokWD1hc3luYyBmdW5jdGlvbihhLGIsYyxkPWMpe3ZhciBlPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZj1fLlp0LGg9YXdhaXQgYS5kbSgpO18uVnooZSxfLnZNKGYpKTtpZihoKWlmKGEubyl7aWYoYS5jdXJyZW50VGFyZ2V0PT09YylyZXR1cm47WFgoYSk7WVgoYSk7YXdhaXQgVVgoYSk/LkplKCl9ZWxzZSBpZighXy54KCJkZWxheV9zaGVldF9vcGVuX2tpbGxzd2l0Y2giKSl7aWYoXy54KCJ3ZWJfY2xvc2Vfc2hlZXRfaWZfc2FtZV90YXJnZXRfa2lsbHN3aXRjaCIpJiZjJiZhLmN1cnJlbnRUYXJnZXQ9PT1jKXtVWChhKT8uSmUoKTtyZXR1cm59YS52PXtkYXRhOmIsdGFyZ2V0OlZYKGEsYyl9O3JldHVybn1iLnZpZXdNb2RlbCYmKGI9e3ZpZXdNb2RlbDpiLnZpZXdNb2RlbCxVcjpiLlVyLGV4cGFuZFRvRnVsbFdpZHRoOmIuZXhwYW5kVG9GdWxsV2lkdGgsb3BlblRvU2lkZTpiLm9wZW5Ub1NpZGV9KTtVWChhKT8ud2coYixjLGQpO2EuY3VycmVudFRhcmdldD0KYzthLm8/KGEuSSgpLGEuY3VycmVudFRhcmdldD8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5JKSxhLmN1cnJlbnRUYXJnZXQ/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGEuWiksWlgoYSkpOmEuRCYmWlgoYSl9Y2F0Y2goZil7ZS5lcnJvcj1mLGUuaGFzRXJyb3I9ITB9ZmluYWxseXtfLld6KGUpfX07WFg9ZnVuY3Rpb24oYSl7YS5jdXJyZW50VGFyZ2V0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixhLkkpO2EuY3VycmVudFRhcmdldD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5aKX07WVg9ZnVuY3Rpb24oYSl7dmFyIGI9VVgoYSk/LlhwKCk7Yj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5VKTtiPy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLkspfTsKWlg9ZnVuY3Rpb24oYSl7dmFyIGI9VVgoYSk/LlhwKCk7Yj8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5VKTtiPy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLkspfTthWT1hc3luYyBmdW5jdGlvbihhKXtpZihhLm8pe2lmKGEuailyZXR1cm47WFgoYSk7WVgoYSl9ZWxzZSBhLkQmJihZWChhKSxhLksoKSk7YXdhaXQgVVgoYSk/LkplKCk7YS5jdXJyZW50VGFyZ2V0PXZvaWQgMDthLmo9ITE7YS5vPSExO2EuaGlkZURlbGF5TXM9MDthLnNob3dEZWxheU1zPTA7YS5EPSExO2EudiYmIV8ueCgiZGVsYXlfc2hlZXRfb3Blbl9raWxsc3dpdGNoIikmJihhd2FpdCBhLndnKGEudi5kYXRhLGEudi50YXJnZXQpLGEudj12b2lkIDApfTsKYXBhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9MDtyZXR1cm57Y2xlYXI6ZnVuY3Rpb24oKXtjPWIubGVuZ3RoPTB9LHB1c2g6ZnVuY3Rpb24oZCl7YltjXT1kO2M9KGMrMSklYX0sWng6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Yi5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxkO2UrKyl5aWVsZCBiWyhjK2UpJWRdfSgpfX19O2JwYT1mdW5jdGlvbihhKXthLnlsfHwoYS55bD1bXSk7dmFyIGI9YS55bC5tYXAoXy5QVyksYz1uZXcgU2V0KGIpLGQ9YXBhKGEuYnVmZmVyU2l6ZSk7cmV0dXJue2ZsdXNoOmZ1bmN0aW9uKCl7dmFyIGU9QXJyYXkuZnJvbShkLlp4KCkpO2QuY2xlYXIoKTtlPWUubWFwKGY9Pih7bmFtZTpmLm5hbWUsdGltZXN0YW1wOmYuc3RhcnRUaW1lLGF0dHJpYnV0ZXM6Zi5hdHRyaWJ1dGVzfSkpO3JldHVybiBKU09OLnN0cmluZ2lmeShlKX0sR20oZSl7ZS5uYW1lPT09ImV2ZW50IiYmYy5oYXMoZS5hdHRyaWJ1dGVzLnR5cGUpfHxkLnB1c2goZSl9fX07CmNwYT1mdW5jdGlvbihhKXt2YXIge2ZsdXNoOmIsR206Y309YnBhKGEpO3NYKHtHbTpjfSk7Xy5WcC5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixkPT57dHJ5e2QucGFyYW1zLmJyZWFkY3J1bWJzPWIoKX1jYXRjaChlKXtfLkdwKGUsIldBUk5JTkciKX19KX07Ylk9ZnVuY3Rpb24oKXtfLlN6KCJ3ZWJfdHJhY2luZ19hY3Rpb24iKTtfLlR6KCJ3ZWJfdHJhY2luZ19hY3Rpb24iLHt9LHZvaWQgMCwiTEFURU5DWV9BQ1RJT05fV0VCX1RSQUNJTkciKX07ZVk9ZnVuY3Rpb24oKXtpZihjWSlyZXR1cm4id2ViX3RyYWNpbmdfYWN0aW9uIjtkWSgpO3NldEludGVydmFsKGRZLDZFNSk7Y1k9ITA7cmV0dXJuIndlYl90cmFjaW5nX2FjdGlvbiJ9O2RZPWZ1bmN0aW9uKCl7Xy5Teigid2ViX3RyYWNpbmdfYWN0aW9uIik7Xy5Ueigid2ViX3RyYWNpbmdfYWN0aW9uIix7fSx2b2lkIDAsIkxBVEVOQ1lfQUNUSU9OX1dFQl9UUkFDSU5HIil9OwpkcGE9ZnVuY3Rpb24oYSxiPWVZKCksYyl7cmV0dXJuKDAsXy5jdCkoYS5uYW1lLChhLmVuZFRpbWU/P2Euc3RhcnRUaW1lKS1hLnN0YXJ0VGltZSxhLnN0YXJ0VGltZSx7d2ViVHJhY2luZzp7W2EubmFtZV06YS5hdHRyaWJ1dGVzfX0sYyxiLHtzcGFuU3RhdHVzOmEuc3RhdHVzLHJvb3RTcGFuTm9uY2U6dm9pZCAwLHF1OnZvaWQgMH0pfTtmWT1mdW5jdGlvbihhLGIsYyxkKXtjPWRwYShhLGIsYyk7aWYoYS5jaGlsZHJlbilmb3IobGV0IGUgb2YgYS5jaGlsZHJlbilmWShlLGIsYyxkfHxjKX07CmVwYT1mdW5jdGlvbihhKXt2YXIgYj1nb2EuYmluZChudWxsLCJ5dC50ZWxlbWV0cnlfZXh0ZW5zaW9uIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGM9PntjLmRhdGEmJnR5cGVvZiBjLmRhdGE9PT0ib2JqZWN0IiYmKGM9Yy5kYXRhLGMuZnJvbT09PSJleHRlbnNpb24iJiZjLmFwcD09PSJ5dC50ZWxlbWV0cnkiJiYoYigiUmVjZWl2ZWQgbWVzc2FnZSBmcm9tIGV4dGVuc2lvbiIsYyksYS5vbk1lc3NhZ2UoYykpKX0pO3JldHVybiBmdW5jdGlvbihjLGQpe2M9e2FwcDoieXQudGVsZW1ldHJ5Iixmcm9tOiJhcHAiLGtleTpjLHBheWxvYWQ6ZH07YigiU2VuZGluZyBtZXNzYWdlIHRvIGV4dGVuc2lvbiIsYyk7d2luZG93LnBvc3RNZXNzYWdlKGMsIioiKX19OwpmcGE9ZnVuY3Rpb24oKXt2YXIgYT1lcGEoe29uTWVzc2FnZSgpe319KSxiPVtdO3JldHVybntscihjKXtjLnBhcmVudElkPT1udWxsJiZiLnB1c2goYyk9PT0xJiZzZXRUaW1lb3V0KCgpPT57dmFyIGQ9Wy4uLmJdO2IubGVuZ3RoPTA7YSgic3BhbnNSZXBvcnRlZCIse3NwYW5zOmR9KX0sM0UzKX19fTtncGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuZmV0Y2g7d2luZG93LmZldGNoPSguLi5iKT0+e3ZhciBbYyxkPXt9XT1iLGU9Xy55QygiaHR0cEV2ZW50Iix7bWV0aG9kOmQubWV0aG9kfHwiR0VUIixwYXRoOmdZKGMpLHR5cGU6ImZldGNoIn0se2FjdGl2ZTohMX0pO3JldHVybiBhKC4uLmIpLnRoZW4oZj0+e2UuRGUoe3N0YXR1c0NvZGU6Zi5zdGF0dXMsc3RhdHVzVGV4dDpmLnN0YXR1c1RleHR9KTtlLmVuZCgpO3JldHVybiBmfSkuY2F0Y2goZj0+e2UuZW5kKCJTUEFOX1NUQVRVU19FUlJPUiIpO3Rocm93IGY7fSl9fTsKaHBhPWZ1bmN0aW9uKCl7dmFyIGE9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW4sYj1YTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUuc2VuZDtYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUub3Blbj1mdW5jdGlvbihjLGQsZT0hMCxmLGgpe3RoaXMudj17bWV0aG9kOmMsdXJsOmQudG9TdHJpbmcoKX07dGhpcy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cyxyZXNwb25zZUNvbnRlbnRMZW5ndGg6dGhpcy5yZXNwb25zZVRleHQubGVuZ3RofSk7az8uZW5kKCl9KTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cyxzdGF0dXNUZXh0OnRoaXMuc3RhdHVzVGV4dH0pO2s/LmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKX0pO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGs9dGhpcy5qO2s/LkRlKHtzdGF0dXNDb2RlOnRoaXMuc3RhdHVzLAphYm9ydGVkOiEwfSk7az8uZW5kKCl9KTthLmFwcGx5KHRoaXMsW2MsZCxlLGYsaF0pfTtYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihjKXt2YXIge21ldGhvZDpkLHVybDplfT10aGlzLnZ8fHttZXRob2Q6Ik4vQSIsdXJsOiJOL0EifTt0aGlzLmo9Xy55QygiaHR0cEV2ZW50Iix7bWV0aG9kOmQscGF0aDpnWShlKSx0eXBlOiJ4aHIifSx7YWN0aXZlOiExfSk7Yi5hcHBseSh0aGlzLFtjXSl9fTtnWT1mdW5jdGlvbihhKXt0cnl7aWYoYSBpbnN0YW5jZW9mIFVSTClyZXR1cm4gYS5wYXRobmFtZTthIGluc3RhbmNlb2YgUmVxdWVzdCYmKGE9YS51cmwpO3JldHVybihuZXcgVVJMKGEsImh0dHBzOi8veW91dHViZS5jb20iKSkucGF0aG5hbWV9Y2F0Y2goYil7cmV0dXJuIjx1bmFibGUgdG8gcGFyc2UgcGF0aD4ifX07CmpwYT1mdW5jdGlvbigpe3dpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3RyeXtsZXQgYT13aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpO2lmKGEubGVuZ3RoPjApe2xldCBiPWFbMF0sYz13aW5kb3cucGVyZm9ybWFuY2UudGltZU9yaWdpbjtfLnlDKCJwYWdlTG9hZCIse25hdmlnYXRpb25UeXBlOmlwYShiLnR5cGUpLHVubG9hZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLnVubG9hZEV2ZW50U3RhcnQpLHVubG9hZEV2ZW50RW5kOk1hdGgucm91bmQoYi51bmxvYWRFdmVudEVuZCksZG9tSW50ZXJhY3RpdmU6TWF0aC5yb3VuZChiLmRvbUludGVyYWN0aXZlKSxkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydDpNYXRoLnJvdW5kKGIuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQpLGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZDpNYXRoLnJvdW5kKGIuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kKSwKZG9tQ29tcGxldGU6TWF0aC5yb3VuZChiLmRvbUNvbXBsZXRlKSxsb2FkRXZlbnRTdGFydDpNYXRoLnJvdW5kKGIubG9hZEV2ZW50U3RhcnQpLGxvYWRFdmVudEVuZDpNYXRoLnJvdW5kKGIubG9hZEV2ZW50RW5kKSxyZWRpcmVjdENvdW50OmIucmVkaXJlY3RDb3VudH0se2FjdGl2ZTohMSxzdGFydFRpbWU6YytiLnN0YXJ0VGltZSxlbmRUaW1lOmMrYi5sb2FkRXZlbnRFbmR9KX19Y2F0Y2goYSl7fX0pfTsKaXBhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJuYXZpZ2F0ZSI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfTkFWSUdBVEUiO2Nhc2UgInJlbG9hZCI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfUkVMT0FEIjtjYXNlICJiYWNrX2ZvcndhcmQiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX0JBQ0tfRk9SV0FSRCI7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4iUEVSRk9STUFOQ0VfTkFWSUdBVElPTl9USU1JTkdfVFlQRV9QUkVSRU5ERVIiO2RlZmF1bHQ6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfVU5LTk9XTiJ9fTsKbHBhPWZ1bmN0aW9uKCl7SW5hKChhLGIpPT57dmFyIGM9bmV3IE1hcCxkLGU9ZVkoKTtmb3IobGV0IGggb2YgYS5zcGFucyl7aWYoaC5tYXJrZXIpY29udGludWU7dmFyIGY9Yi5nZXQoaC5pZCk/LmdldChfLk92KTtsZXQgaz1mP2twYVtmLnR5cGVdOnZvaWQgMDtpZighZnx8aC5kdXJhdGlvbk1zPT09dm9pZCAwfHxrPT09dm9pZCAwKXtoLnBhcmVudElkIT09dm9pZCAwJiYoZj1jLmdldChoLnBhcmVudElkKSxmIT09dm9pZCAwJiZjLnNldChoLmlkLGYpKTtjb250aW51ZX1sZXQgbD1hLm5LK2gueUssbT1oLnBhcmVudElkIT09dm9pZCAwP2MuZ2V0KGgucGFyZW50SWQpOnZvaWQgMCxuLHA7c3dpdGNoKGYudHlwZSl7Y2FzZSAiUmVuZGVyIjpjYXNlICJFZmZlY3QiOmNhc2UgIk9uSW5pdCI6Y2FzZSAiUmVuZGVyRWZmZWN0IjpwPWYubG9jYXRpb247YnJlYWs7Y2FzZSAiQ3JlYXRlUmVhY3RpdmVDb21wb25lbnQiOm49Zi5jb21wb25lbnROYW1lO2JyZWFrO2Nhc2UgIkNvbXB1dGVkIjpuPQpmLmhJO3A9Zi5sb2NhdGlvbjticmVhaztjYXNlICJTaWduYWxVcGRhdGUiOm49Zi5TS31pZihmPSgwLF8uY3QpKCJjb3dfc3BhbiIsaC5kdXJhdGlvbk1zLGwse3dlYlRyYWNpbmc6e2Nvd1NwYW46e3R5cGU6ayxuYW1lOm4sY29kZUxvY2F0aW9uOnB9fX0sbSxlLHtyb290U3Bhbk5vbmNlOmR9KSljLnNldChoLmlkLGYpLGQ9PT12b2lkIDAmJihkPWYpfX0pfTsKcHBhPWZ1bmN0aW9uKCl7dmFyIGE9aFkudmFsdWUsYj17fTtmb3IobGV0IGMgb2YgYS5IdiliW2NdPSEwO2VvYSh7c2Vzc2lvbklkOl8uRm4oKSxkaDpiLFdoKGMsZCxlKXtyZXR1cm4gbXBhP2M9PT0ic2hvcnRUb1Nob3J0Inx8ZT8uV3ooKT8ubmFtZT09PSJzaG9ydFRvU2hvcnQiOiEwfX0pO2ZvYSgpO18ud0MoInBhZ2VMb2FkIikmJmpwYSgpO18ud0MoImNvd1NwYW4iKSYmbHBhKCk7Xy53QygiaHR0cEV2ZW50IikmJihncGEoKSxocGEoKSk7YS5RdiYmc1gobnBhKTthLlJ2JiZzWChmcGEoKSk7YS5NcT4wJiZjcGEoe3lsOm9wYSxidWZmZXJTaXplOmEuTXF9KX07CmpZPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMHx8YS5nZXRBdHRyaWJ1dGUoInZpZXdCb3giKXx8YS5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLGAwIDAgJHtifSAke2J9YCk7YS5zZXRBdHRyaWJ1dGUoImZvY3VzYWJsZSIsImZhbHNlIik7YS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO2I9Xy54KCJraWxsc3dpdGNoX3JlbW92ZV9pY29uX2ZpbGxfY29sb3IiKTthLmdldEF0dHJpYnV0ZSgiZmlsbCIpIT09ImN1cnJlbnRjb2xvciImJmEuZ2V0QXR0cmlidXRlKCJmaWxsIikhPT0iY3VycmVudENvbG9yInx8Ynx8YS5yZW1vdmVBdHRyaWJ1dGUoImZpbGwiKTt0cnl7YS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixhLnN0eWxlLmRpc3BsYXk9ImluaGVyaXQiLGEuc3R5bGUud2lkdGg9IjEwMCUiLGEuc3R5bGUuaGVpZ2h0PSIxMDAlIn1jYXRjaChjKXtpWSh7ZXJyb3I6Yz8udG9TdHJpbmc/Yy50b1N0cmluZygpOiIifSk7dHJ5e2Euc3R5bGUuY3NzVGV4dD0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGluaGVyaXQ7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7In1jYXRjaChkKXtpWSh7ZXJyb3I6ZD8udG9TdHJpbmc/CmQudG9TdHJpbmcoKToiIn0pfX1yZXR1cm4gYX07CnFwYT1mdW5jdGlvbihhKXtpZihfLngoIndpbF9pY29uc19jYWNoZV9wdXJnZV9raWxsc3dpdGNoIikpcmV0dXJuITE7dHJ5e3ZhciBiPV8udS5sb2NhbFN0b3JhZ2V9Y2F0Y2goZSl7cmV0dXJuITF9aWYoIWJ8fCFhLkIpcmV0dXJuITE7dmFyIGM9ZT0+e3RyeXtiPy5zZXRJdGVtKCJ5dC1pY29ucy1sYXN0LXB1cmdlZCIsZS50b1N0cmluZygpKX1jYXRjaChmKXtpWSh7ZXJyb3I6Zj8udG9TdHJpbmc/Zi50b1N0cmluZygpOiIifSl9fSxkPU51bWJlcihiLmdldEl0ZW0oInl0LWljb25zLWxhc3QtcHVyZ2VkIikpO2lmKCFkKXJldHVybiBkPW5ldyBEYXRlLGQ9ZC5zZXREYXRlKGQuZ2V0RGF0ZSgpLU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo5MCsxKSksYyhkKSwhMTtpZihmdW5jdGlvbihlLGYpe2U9bmV3IERhdGUoZSk7Zj1uZXcgRGF0ZShmKTtyZXR1cm4gZi5nZXRNb250aCgpLWUuZ2V0TW9udGgoKSsxMiooZi5nZXRGdWxsWWVhcigpLWUuZ2V0RnVsbFllYXIoKSl9KGQsRGF0ZS5ub3coKSk8CjMpcmV0dXJuITE7dHJ5e3JldHVybiBfLnUuY2FjaGVzLmRlbGV0ZSgieXQtaWNvbnMiKS50aGVuKGU9PntlJiZjKERhdGUubm93KCkpO3JldHVybiBlfSkuY2F0Y2goKCk9PiExKS5maW5hbGx5KCgpPT57YS5LPSExfSl9Y2F0Y2goZSl7cmV0dXJuIGlZKHtlcnJvcjplPy50b1N0cmluZz9lLnRvU3RyaW5nKCk6IiJ9KSwhMX19OwprWT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWIudXJsO2lmKCFycGEoYykpdGhyb3cgRXJyb3IoImRlIik7cmV0dXJuIHNwYShhLGMpLnRoZW4oZD0+ZC5jbG9uZSgpLnRleHQoKSkudGhlbihkPT57dmFyIGU9Xy5nYihkKTtkPWIuc2l6ZTt2YXIgZj1fLkNkKCJESVYiKTtfLnpBKGYsZSk7aWYoZi5maXJzdEVsZW1lbnRDaGlsZCE9PXZvaWQgMCllPWYuZmlyc3RFbGVtZW50Q2hpbGQ7ZWxzZSBmb3IoZT1mLmZpcnN0Q2hpbGQ7ZSYmZS5ub2RlVHlwZSE9MTspZT1lLm5leHRTaWJsaW5nO2U9Xy5EZChlKTtkPWpZKGUsZCk7YS5EW2NdPWQuY2xvbmVOb2RlKCEwKTtkZWxldGUgYS5ZW2NdO3JldHVybiBkfSkuY2F0Y2goKCk9Pnt9KX07CmxZPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybihlLGYpPT57dmFyIGg9Xy5DZCgiRElWIiksaz17aWNvbldpZHRoOmAke2Iuc2l6ZX1weGAsaWNvbkhlaWdodDpgJHtiLnNpemV9cHhgLGp4OiJibG9jayIsLi4uZixpY29uQ29sb3I6Zj8uaWNvbkNvbG9yPz8iY3VycmVudGNvbG9yIn07Zj1rLmljb25Db2xvcjt2YXIgbD1rLmFnO2s9YHdpZHRoOiAke2suaWNvbldpZHRofTsgaGVpZ2h0OiAke2suaWNvbkhlaWdodH07IGRpc3BsYXk6ICR7ay5qeH07YDtsJiYoays9YCBmaWx0ZXI6ICR7bH07YCk7Yz09PTAmJihrKz1gIGZpbGw6ICR7Zn07YCk7Yz09PTEmJihsPWIudXJsLGsrPWAgLXdlYmtpdC1tYXNrOiB1cmwoJHtsfSkgbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyOyBtYXNrOiB1cmwoJHtsfSkgbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyOyBiYWNrZ3JvdW5kLWNvbG9yOiAke2Z9YCk7Yi52dSYmYS5Laz09PSJydGwiJiYoays9IiB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsiKTsKaC5zZXRBdHRyaWJ1dGUoInN0eWxlIixrKTtjPT09MCYmZCYmaC5hcHBlbmRDaGlsZChkKTtlLmFwcGVuZENoaWxkKGgpfX07Cm5ZPWZ1bmN0aW9uKGEsYil7aWYoYil7YS5jb3VudGVyKz0xO2E9YF95dCR7YS5jb3VudGVyfWA7Yj1bYiwuLi5iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIildO2ZvcihsZXQgYyBvZiBiKWlmKGMudGFnTmFtZT09PSJzdHlsZSImJmMudGV4dENvbnRlbnQpYy50ZXh0Q29udGVudD1tWShjLnRleHRDb250ZW50LGEsITApO2Vsc2UgZm9yKGxldCBkIG9mIGMuYXR0cmlidXRlcyl7ZC5uYW1lPT09ImlkIiYmKGQudmFsdWUrPWEpO1sibWFzayIsImZpbGwiLCJjbGlwLXBhdGgiXS5pbmNsdWRlcyhkLm5hbWUpJiYoZC52YWx1ZT1tWShkLnZhbHVlLGEpKTtpZihkLm5hbWU9PT0ic3R5bGUiKXtiPWMuc3R5bGU7dHJ5e2IuY3NzVGV4dD1tWShiLmNzc1RleHQsYSwhMCl9Y2F0Y2goZSl7aVkoe2Vycm9yOmU/LnRvU3RyaW5nPy4oKXx8IiIsZWw6Yy5vdXRlckhUTUwsc3R5bGU6ISFiLGNzc1RleHQ6Yj8uY3NzVGV4dH0pfX1kLm5hbWU9PT0ieGxpbms6aHJlZiImJihkLnZhbHVlPWQudmFsdWUucmVwbGFjZSgvIyguKikvLApgIyQxJHthfWApKX19fTttWT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQ9L3VybFwoWyInXT8jKC4qPylbIiddP1wpLztjJiYoZD0vdXJsXChbIiddPyMoLio/KVsiJ10/XCkvZyk7cmV0dXJuIGEucmVwbGFjZShkLGB1cmwoIyQxJHtifSlgKX07aVk9ZnVuY3Rpb24oYSl7Xy5JcChuZXcgXy5YaigiRXJyb3IgaW4gSWNvbk1hbmFnZXIiLGEpKX07cnBhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiB0cGEpaWYoYS5zdGFydHNXaXRoKGIpJiZhLmVuZHNXaXRoKCIuc3ZnIikpcmV0dXJuITA7cmV0dXJuITF9OwpzcGE9YXN5bmMgZnVuY3Rpb24oYSxiKXthLlFhJiZhd2FpdCB1cGEoYSk7dmFyIGM9YS5ZW2JdO2lmKCFjKXtsZXQgZD1hc3luYygpPT57dmFyIGU9YS5CP2EuWnx8YXdhaXQgYS5VOnZvaWQgMDtyZXR1cm4gYS5vYT9hLmdhKGIsZSkuY2F0Y2goYS5oYS5iaW5kKGEsYixlKSk6YS5oYShiLGUpLmNhdGNoKGEuZ2EuYmluZChhLGIsZSkpfTtjPWEuTWE/bmV3IFByb21pc2UoKGUsZik9PntfLllqKCgpPT57ZCgpLnRoZW4oZSkuY2F0Y2goZil9LDEwKX0pOmQoKTthLllbYl09Y31yZXR1cm4gYy5jYXRjaChkPT57ZGVsZXRlIGEuWVtiXTtpWSh7ZXJyb3I6ZD8udG9TdHJpbmc/ZC50b1N0cmluZygpOiIiLHVybDpifSk7dGhyb3cgZDt9KX07dXBhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudj8ucHJvbWlzZTtifHwoYS52PW5ldyBfLmNzLGI9YS52LnByb21pc2UsXy51LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2Eudj8ucmVzb2x2ZSgpO2Eudj1udWxsfSkpO3JldHVybiBifTsKcFk9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihhLkk8dnBhKXJldHVybiBhLkkrPTEsb1koYSxiKS5maW5hbGx5KCgpPT57LS1hLkk7aWYoT2JqZWN0LmtleXMoYS5vKS5sZW5ndGgpe2xldCBkPU9iamVjdC5rZXlzKGEubylbMF0sZT1hLm9bZF07ZGVsZXRlIGEub1tkXTtlLnJlc29sdmUocFkoYSxkKSl9fSk7dmFyIGM9bmV3IF8uY3M7YS5vW2JdPWM7cmV0dXJuIGMucHJvbWlzZX07d3BhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe2QmJm5ldyBQcm9taXNlKGU9PntfLllqKGFzeW5jKCk9PnthLm9hJiZhd2FpdCBkLm1hdGNoKGIpLmNhdGNoKCgpPT57fSl8fGF3YWl0IGQucHV0KGIsYy5jbG9uZSgpKS5jYXRjaChmPT57aVkoe2Vycm9yOmY/LnRvU3RyaW5nP2YudG9TdHJpbmcoKToiIix1cmw6Yn0pfSk7ZSgpfSw1MCl9KX07Cm9ZPWFzeW5jIGZ1bmN0aW9uKGEsYixjPTIpe3JldHVybiBfLnUuZmV0Y2goYix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixwcmlvcml0eToibG93In0pLnRoZW4oZD0+ZC5vaz9kOlByb21pc2UucmVqZWN0KEVycm9yKCJlZWAiK2Quc3RhdHVzKyJgIitkLnN0YXR1c1RleHQpKSkuY2F0Y2goZD0+e2lmKGM+MClyZXR1cm4gb1koYSxiLGMtMSk7dGhyb3cgZDt9KX07CnJZPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWFbYi5pY29uTmFtZV18fFtdO2E9dm9pZCAwO2ZvcihsZXQgaCBvZiBlKXthOnt2YXIgZj1iLmljb25TaXplO2U9Yi5pY29uU3R5bGU7Zj0hZnx8Zj09PWhbMl07bGV0IGs9cVlbaFswXV07aWYoZCYmZCE9PWhbMV18fCFmfHxlJiZlIT09ayl7ZT0hMTticmVhayBhfWlmKCFhKXtlPSEwO2JyZWFrIGF9ZT1xWVtoWzBdXTtlPSEhYi5pY29uU3R5bGV8fGU9PT0ieW91dHViZV9vdXRsaW5lIjtmPWEudmVyc2lvbjw9aFsxXTtlPSghIWIuaWNvblNpemV8fGhbMl09PT0yNCkmJmUmJmZ9ZSYmKGE9e25hbWU6Yi5pY29uTmFtZSxzdHlsZTpxWVtoWzBdXSxzaXplOmhbMl0sdmVyc2lvbjpoWzFdLHZ1OiEhaFszXSx1cmw6YyhiLmljb25OYW1lLGgpfSl9cmV0dXJuIGF9O3NZPWZ1bmN0aW9uKGEsYixjLGQ9ITEpe3JldHVybmAke2F9JHtxWVtjWzBdXX0ke2Q/Il9leHBlcmltZW50YWwiOiIifS8ke2J9L3Yke2NbMV19LyR7Y1syXX1weC5zdmdgfTsKdFk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIikhPT0iV0VCX1JFTUlYIiYmXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKSE9PSJXRUJfQ1JFQVRPUiI/ImJvb2ttYXJrIjphfTt1WT1mdW5jdGlvbihhLGIpe3JldHVybiBfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKXx8Yj94cGFbYS50b1VwcGVyQ2FzZSgpXTp5cGFbYS50b1VwcGVyQ2FzZSgpXX07enBhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHNZKCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS8iLGEsYil9O0FwYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvIixhLGIsITApfTt3WT1mdW5jdGlvbigpe3ZZLmluc3RhbmNlfHwodlkuaW5zdGFuY2U9bmV3IHZZKTtyZXR1cm4gdlkuaW5zdGFuY2V9Owp4WT1mdW5jdGlvbihhLGIpe3JldHVybiBCcGEuaGFzKGIpfHxfLncoIklTX0hPTUVQQUdFX0NPTEQiKXx8Xy53KCJJU19SRVNVTFRTX1BBR0VfQ09MRCIpfHxfLncoIklTX1dBVENIX1BBR0VfQ09MRCIpP2Euc2lnbmFscy5pbmRleE9mKGIpPj0wOiEwfTt5WT1mdW5jdGlvbihhKXt2YXIgYj0hMTtyZXR1cm4oKT0+e2J8fChiPSEwLGEoKSl9fTtBWT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKHpZLmhhcyhkKSlfLkNrKCkuR2EoYixjLGUpO2Vsc2V7bGV0IGY9YS5qLmdldChkKTtmJiZfLkNrKCkuR2EoKCk9Pnt4WShhLGQpfHwoZi5oZz9fLkNrKCkuR2EoYixjKTpmLkJuLnB1c2goKCk9PntfLkNrKCkuR2EoYixjKX0pKX0sYyxlKX19O0NwYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT0oKT0+e2EuV20oYil9O2ZvcihsZXQgZiBvZiBkKWEuYWRkTGlzdGVuZXIoZixlKTthLmouc2V0KGIse3NpZ25hbHM6YyxWeDohMCxpc0luaXRpYWxpemVkOiExLGhnOiExLEJuOltdfSk7QlkoYSxiKX07CkJZPWZ1bmN0aW9uKGEsYil7aWYoIXhZKGEsYikpe3ZhciBjPWEuai5nZXQoYik7aWYoYyYmIWMuaGcpe3ZhciBkPSExLGU9MCxmPTA7Zm9yKGxldCBoIG9mIGMuc2lnbmFscyl7bGV0IGs9IXhZKGEsaCk7aWYoelkuaGFzKGgpKWQ9ITA7ZWxzZXtsZXQgbD1hLmouZ2V0KGgpO2w/ayYmIWwuaGcmJihmKyssYy5pc0luaXRpYWxpemVkfHxsLkJuLnB1c2goKCk9PntCWShhLGIpfSkpOmsmJmUrK319Yy5pc0luaXRpYWxpemVkPSEwO2MuVng/ZCYmKGMuaGc9ITApOmU9PT0wJiZmPT09MCYmKGMuaGc9ITApO2lmKGMuaGcpZm9yKGxldCBoIG9mIGMuQm4paCgpfX19OwpEcGE9ZnVuY3Rpb24oYSl7YT1hLm9wZW5Qb3B1cEFjdGlvbnx8YTt2YXIgYj1hLnBvcHVwVHlwZSxjPWEucG9wdXA7c3dpdGNoKGIpe2Nhc2UgIlRPQVNUIjpmb3IobGV0IGQgaW4gYyljLmhhc093blByb3BlcnR5KGQpJiZfLnBQKCgpPT5fLksoXy5XLHtkYXRhOigpPT5jfSx7bm90aWZpY2F0aW9uQWN0aW9uUmVuZGVyZXI6Q1l9KSxhLmR1cmF0aW9uSGludE1zLGEucmV1c2VQb3B1cCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZmVgIitiKTt9fTsKRFk9ZnVuY3Rpb24oYSxiKXt2YXIgYz11WChhKTtpZihjKXt2YXIgZD12b2lkIDAsZT1fLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpO2UmJmUucm9vdFZlJiYoZD1lLnJvb3RWZSk7Xy5xUCh7aHJlZjpjLHBhcmFtczp7aXRjdDphLmNsaWNrVHJhY2tpbmdQYXJhbXMsYXV0b25hdjpiPy5hdXRvbmF2fSx0YXJnZXQ6Xy5LTygpJiZfLkIoYSxfLkJoYSk/Il9ibGFuayI6dm9pZCAwLGFrOmQsY2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yi5jbGlja2VkVmlzdWFsRWxlbWVudCxpbXBsaWNpdEdlc3R1cmVUeXBlOmIuaW1wbGljaXRHZXN0dXJlVHlwZSxlbGVtZW50OmIuZXZlbnQ/LnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQ/Yi5ldmVudC50YXJnZXQ6dm9pZCAwLGVuZHBvaW50OmEscGFyZW50TGF5ZXI6Yi5wYXJlbnRMYXllcn0pfX07CkVwYT1mdW5jdGlvbihhLGIpe2lmKF8ueCgiZW1iZWRzX2VuYWJsZV9lbWMzZHNfcGZwIikpaWYoRVkpe3ZhciBjPV8uQihhLF8uQXcpLGQ9Yz8udmlkZW9JZCxlPWM/LnBsYXlsaXN0SWQ7ZHx8ZT8oYT17dmlkZW9faWQ6ZH0sYyYmKGEucGxheWVyX3BhcmFtcz1jLnBsYXllclBhcmFtcyksZT8oYS5saXN0PWUsRVkubG9hZFBsYXlsaXN0KGEpKTpFWS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYSkpOihjPW5ldyBfLlhqKCJFbWMzZHMgV2F0Y2hFbmRwb2ludCBtYWxmb3JtZWQiLHtjb21tYW5kOkpTT04uc3RyaW5naWZ5KGEpfSksXy5HcChjKSxEWShhLGIpKX1lbHNlIGM9bmV3IF8uWGooIkVtYzNkcyBXYXRjaEVuZHBvaW50IHJlc29sdmVkIHdpdGhvdXQgcGxheWVyQXBpIix7Y29tbWFuZDpKU09OLnN0cmluZ2lmeShhKX0pLF8uR3AoYyksRFkoYSxiKTtlbHNlIERZKGEsYil9O0ZZPWZ1bmN0aW9uKGEpe3JldHVybntyZXNvbHZlOihiLGM9e30pPT57YShiLGMuZm9ybXx8e30pO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX19fTsKSFk9ZnVuY3Rpb24oYSxiKXtHWS5wdXNoKHthY3Rpb246YSxjb250ZXh0OmJ9KX07RnBhPWZ1bmN0aW9uKCl7VFcoR1ksKHthY3Rpb246YSxjb250ZXh0OmJ9KT0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSx7Zm9ybTpifSl8fEpYKGEsIkFjdGlvbiBub3QgaGFuZGxlZCBieSBDb21tYW5kSGFuZGxlciIsSG9hKX0pfTsKSVk9ZnVuY3Rpb24oYSxiLGMpe2ZvcihsZXQgZiBvZiBob2EoYSkpSFkoZixjKTthPWIuZGF0YT8uYWN0aW9ucz8/W107Zm9yKHZhciBkIG9mIGEpSFkoZCxjKTtkPWIuZGF0YT8uY29tbWFuZHM/P1tdO2Zvcih2YXIgZSBvZiBkKUhZKGUsYyk7KGU9Yi5kYXRhPy5jb21tYW5kKSYmSFkoZSxjKTt2WChiLmRhdGE/Lm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnM/P1tdLGMuc291cmNlRGF0YSk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRDb21tYW5kcz8/W10sYy5zb3VyY2VEYXRhKTt2WChiLmRhdGE/Lm9uUmVzcG9uc2VSZWNlaXZlZEVuZHBvaW50cz8/W10sYy5zb3VyY2VEYXRhKTsoYj1iLmRhdGE/LnVwZGF0ZUZsb3dDb21tYW5kKSYmSFkoYixjKX07CkpZPWFzeW5jIGZ1bmN0aW9uKGEsYj1fLkxoYSl7dmFyIGM9YjtfLkIoYSxfLkF5KXx8KGM9T2JqZWN0LmFzc2lnbih7Y3NuOl8uaXEoKXx8IiJ9LGIpKTtiPWF3YWl0IF8ueSgpLnJlc29sdmUoXy5IeSkoKTtpZihiLkp3KGEpKXJldHVybiBiLlFpKGEsYykudGhlbihkPT5kPy5kYXRhP2QuZGF0YTpkKS50aGVuKGQ9Pnt2YXIgZTsoZT1kPy5kYXRhPy50cmFja2luZ1BhcmFtcykmJl8ubHgoXy5oeCgpLGUpO3JldHVybntjb2RlOmQmJmQuZXJyb3I/IkVSUk9SIjoiU1VDQ0VTUyIsZGF0YTpkfX0pO3Rocm93IG5ldyBfLlhqKCJubyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQiLGEpO307SHBhPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qua2V5cyhhKS5zb21lKGI9PmIgaW4gR3BhKX07CktZPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZGF0YT8uY29udGVudHM/LlswXTtpZighYnx8IUhwYShiKSlyZXR1cm4gYTtiPXtvcGVuUG9wdXBBY3Rpb246e3BvcHVwVHlwZToiRElBTE9HIixwb3B1cDpifX07YS5kYXRhLmFjdGlvbnN8fChhLmRhdGEuYWN0aW9ucz1bXSk7YS5kYXRhLmFjdGlvbnMucHVzaChiKTtyZXR1cm4gYX07Ck1ZPWZ1bmN0aW9uKGEsYixjKXtfLkIoYSxfLkF5KSYmYS5jbGlja1RyYWNraW5nUGFyYW1zJiYoTFk9Xy5VdyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTtyZXR1cm4gSlkoYSxjKS50aGVuKGQ9PntpZihfLkIoYSxfLkF5KT8ucmVxdWVzdD09PSJDT05USU5VQVRJT05fUkVRVUVTVF9UWVBFX1JFRUxfV0FUQ0hfU0VRVUVOQ0UiKXt2YXIgZT1kLmRhdGE7ZSYmIWUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucyYmKGUuZW50cmllc3x8ZS5wcmV2RW50cmllcykmJihlLmVudHJpZXM/KGUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucz1bXSxlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMucHVzaCh7YXBwZW5kUmVlbFdhdGNoU2VxdWVuY2VDb250aW51YXRpb25FbnRyaWVzQWN0aW9uOntlbnRyaWVzOmUuZW50cmllcyxjb250aW51YXRpb25FbmRwb2ludDplLmNvbnRpbnVhdGlvbkVuZHBvaW50fX0pKTplLnByZXZFbnRyaWVzJiYoZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zPVtdLAplLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMucHVzaCh7YXBwZW5kUmVlbFdhdGNoU2VxdWVuY2VDb250aW51YXRpb25FbnRyaWVzQWN0aW9uOntwcmV2RW50cmllczplLnByZXZFbnRyaWVzLHByZXZDb250aW51YXRpb25FbmRwb2ludDplLnByZXZDb250aW51YXRpb25FbmRwb2ludH19KSkpfWlmKF8uQihhLF8uVXopfHxfLkIoYSxfLmRPKSliLmN1cnJlbnREYXRhfHwoYi5jdXJyZW50RGF0YT1fLlhEPy5yZXNwb25zZT8/e30pLGIuc291cmNlRGF0YXx8KGIuc291cmNlRGF0YT1hKTtJWShhLEtZKGQpLGIpO18uQihhLF8uQXkpJiZkPy5kYXRhPy50cmFja2luZ1BhcmFtcyYmXy5seChfLmh4KCksZC5kYXRhLnRyYWNraW5nUGFyYW1zLExZKTtyZXR1cm4gZH0sZD0+e3ZhciBlPU9iamVjdC5rZXlzKGEpLmZpbHRlcihmPT5fLk1hKGYsIkVuZHBvaW50IikpWzBdO2UmJihlPWFbZV0sKGU9ZT8ub25GYWlsdXJlQWN0aW9uPz9lPy5vbkZhaWx1cmVDb21tYW5kKSYmSFkoZSxiKSk7dGhyb3cgZDsKfSl9O0lwYT1mdW5jdGlvbihhLGIpe18uQihhLF8uY0UpPy5uYXZpZ2F0aW9uVHlwZT09PSJCUk9XU0VfTkFWSUdBVElPTl9UWVBFX1NUQVlfT05fUEFHRSI/TVkoYSxiKTpEWShhLGIpfTtKcGE9ZnVuY3Rpb24oYSxiKXtpZihhPShfLkIoYSxfLlNEKXx8YSkuY29tbWFuZHMpZm9yKGxldCBjIG9mIGEpXy5LTShjKT9fLkFKKGMsYi5zb3VyY2VEYXRhLCEwLGIpOkhZKGMsYil9OwpMcGE9YXN5bmMgZnVuY3Rpb24oYSl7YT1fLkIoYSxLcGEpO2lmKGE/LnRleHQmJm5hdmlnYXRvci5jbGlwYm9hcmQpdHJ5e2lmKGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGEudGV4dCksYS5zdWNjZXNzQWN0aW9ucyYmYS5zdWNjZXNzQWN0aW9ucy5sZW5ndGghPT0wKWZvcihsZXQgYiBvZiBhLnN1Y2Nlc3NBY3Rpb25zKV8uQUooYix7fSwhMSl9Y2F0Y2goYil7aWYoYS5mYWlsdXJlQWN0aW9ucyYmYS5mYWlsdXJlQWN0aW9ucy5sZW5ndGghPT0wKWZvcihsZXQgYyBvZiBhLmZhaWx1cmVBY3Rpb25zKV8uQUooYyx7fSwhMSl9fTtNcGE9ZnVuY3Rpb24oYSl7KDAsXy53aWEpKHtub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uOnt0b2dnbGVCdXR0b25SZW5kZXJlcjphLnNvdXJjZURhdGF9fSxiPT4oey4uLmIsbm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbjp7dG9nZ2xlQnV0dG9uUmVuZGVyZXI6YS5zb3VyY2VEYXRhfX0pKX07Ck5wYT1mdW5jdGlvbihhLGIpe01ZKGEsYikudGhlbigoKT0+e01wYShiKX0pfTtQcGE9ZnVuY3Rpb24oYSl7Xy5xUCh7aHJlZjpfLkt6KGB0ZWw6JHtfLkIoYSxPcGEpLnBob25lTnVtYmVyfWAsW18uSHFdKS50b1N0cmluZygpLGVuZHBvaW50OmF9KX07UnBhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gSlkoYSxjKS50aGVuKGQ9PntJWShhLEtZKGQpLGIpO3ZhciBlPV8uV0QoKCk9PmQuZGF0YS5yZWRpcmVjdEVuZHBvaW50KTtlJiZfLkFKKGUsZC5kYXRhLCExKX0sZD0+e18ucFAoKCk9PlFwYSk7dGhyb3cgZDt9KX07VHBhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLFNwYSksYz1gc21zOiR7Yi5waG9uZU51bWJlcnMmJmIucGhvbmVOdW1iZXJzWzBdfWA7Yi5tZXNzYWdlVGV4dCYmKGMrPWA/JmJvZHk9JHtlbmNvZGVVUkkoYi5tZXNzYWdlVGV4dCl9YCk7Xy5xUCh7aHJlZjpfLkt6KGMsW18uT3FdKS50b1N0cmluZygpLGVuZHBvaW50OmF9KX07ClVwYT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZGlhbG9nIn07Tlk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBfLkZKO3JldHVybiBuZXcgUHJvbWlzZShhPT57dmFyIGI9Xy55KCkucmVzb2x2ZShfLkluKF8ueVApKTtiPy5ycSgpJiZiLmxkKCk7d2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2RpYWxvZyI/Xy5ZTT9zZXRUaW1lb3V0KCgpPT57Xy4kTSgiIik7YSgpfSwxMDApOl8uWk0oKS50aGVuKCgpPT57YSgpfSk6YSgpfSl9OwpXcGE9ZnVuY3Rpb24oYSxiLGMsZCl7VnBhKGMpO2M9T1koYSk7dmFyIGU9bmF2aWdhdG9yLGY9Xy5mciYmXy53KCJNV0VCX0lPU19OQVRJVkVfU0hBUkUiKSxoPXt1cmw6Y307aWYoKCFfLmZyfHxmKSYmZS5zaGFyZSYmYyYmZS5jYW5TaGFyZSYmZS5jYW5TaGFyZShoKSl7bGV0IGs9Xy5FeChfLmh4KCkse3ZlVHlwZTo5NzcwfSksbD17b3V0Ym91bmRBcHBEYXRhOntvdXRib3VuZEFwcDoiRElSRUNUX1NZU1RFTV9BQ1RJVklUWV9ESUFMT0cifSxzaGFyaW5nRGF0YTp7c2VyaWFsaXplZFNoYXJlRW50aXR5OmR9fTtfLkpPKGssbCw3KTtlLnNoYXJlKGgpLnRoZW4oKCk9Pnt0WChrLGwsNyl9KS5jYXRjaChtPT57bS5uYW1lIT09IkFib3J0RXJyb3IiJiYoXy5JcChuZXcgXy5YaigiU3lzdGVtIFNoYXJlIFBhbmVsIGZhaWxlZCB0byBvcGVuLiIpKSxQWShhLGIpKX0pfWVsc2UgUFkoYSxiKX07ClZwYT1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1fLmh4KCk7Xy5ETyhiLDIxNzYwLHZvaWQgMCx7bGF5ZXI6NyxwYXJlbnRMYXllcjowfSk7Xy5seChiLGEsdm9pZCAwLDcpfX07UFk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1PWShhKTtfLmdyfHxfLlRFKCl8fF8uclAoKT9fLnkoKS5yZXNvbHZlKF8ueVApLm9wZW5EaWFsb2coe1VuOigpPT5fLksoWHBhLHtkYXRhOmF9KX0pOl8ueU4oe2hlYWRlclRpdGxlOiJTaGFyZSIsR2I6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1zaGVldC1zaGFyZS1pdGVtIn0sXy5LKF8uTyx7QTooKT0+Yyx0aGVuOmQ9Pl8uSyhRWSx7c2hvcnRVcmw6ZCx0cmFja2luZ1BhcmFtczpSWShhKX0pfSksU1koYSk/Lm1hcChkPT5kPy5zaGFyZVRhcmdldFJlbmRlcmVyP18uSyhUWSx7ZGF0YTpkLnNoYXJlVGFyZ2V0UmVuZGVyZXJ9KTpudWxsKSksSGE6ITEsZm9jdXNPbkNsb3NlOmI/LmV2ZW50Py50YXJnZXR9KX07ClNZPWZ1bmN0aW9uKGEpe2lmKGEuY29udGVudHMmJmEuY29udGVudHNbMF0pcmV0dXJuKGE9YS5jb250ZW50c1swXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LnNoYXJlVGFyZ2V0Q29udGFpbmVyPy50aGlyZFBhcnR5U2hhcmVUYXJnZXRTZWN0aW9uUmVuZGVyZXI/LnNoYXJlVGFyZ2V0cykmJmEubGVuZ3RoPjU/YS5zbGljZSgwLDUpOmF9O09ZPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbnRlbnRzJiZhLmNvbnRlbnRzWzBdP18uQihhLmNvbnRlbnRzWzBdLnRoaXJkUGFydHlOZXR3b3JrU2VjdGlvbj8uY29weUxpbmtDb250YWluZXIsVVkpPy5zaG9ydFVybDoiIn07Ulk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihfLkIoYT8uY29udGVudHM/LlswXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LmNvcHlMaW5rQ29udGFpbmVyLFVZKT8uY29weUJ1dHRvbixfLlZMKT8udHJhY2tpbmdQYXJhbXN9OwpacGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLlp6KT8uc2hhcmVQYW5lbFR5cGUsZD1fLkIoYSxfLlp6KT8uc2VyaWFsaXplZFNoYXJlRW50aXR5O01ZKGEsYikudGhlbihlPT57WXBhKGUsYixjLGQpfSl9O1lwYT1mdW5jdGlvbihhLGIsYyxkKXtpZihhLmNvZGU9PT0iU1VDQ0VTUyImJmEuZGF0YSlhPWEuZGF0YSxhLmNvbnRlbnRzJiZhLmNvbnRlbnRzLnVuaWZpZWRTaGFyZVBhbmVsUmVuZGVyZXImJmM9PT0iU0hBUkVfUEFORUxfVFlQRV9VTklGSUVEX1NIQVJFX1BBTkVMIiYmV3BhKGEuY29udGVudHMudW5pZmllZFNoYXJlUGFuZWxSZW5kZXJlcix7ZXZlbnQ6Yj8uZXZlbnR9LGEudHJhY2tpbmdQYXJhbXMsZCk7ZWxzZXtfLmdGPT09dm9pZCAwJiYoXy5nRj1rb2EoKSk7bGV0IGU9Xy5nRj8kcGE6YXFhO18ucFAoKCk9PmUpfX07YnFhPWZ1bmN0aW9uKGEpe2E9YS5wYW5lbElkZW50aWZpZXJ8fGEuaWRlbnRpZmllcj8udGFnO2lmKCFhKXRocm93IEVycm9yKCJnZSIpO3JldHVybiBhfTsKZHFhPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5RVyk7aWYoYyl7dmFyIGQ9Xy5XRCgoKT0+Yj8uZXZlbnQ/LmN1cnJlbnRUYXJnZXR8fGI/LmVsZW1lbnQpLGU9YnFhKGMpO3ZhciBmPWM/Yy5nbG9iYWxDb25maWd1cmF0aW9uPy5pbml0aWFsU3RhdGV8fGMuZW5nYWdlbWVudFBhbmVsOnZvaWQgMDtpZihlKXtsZXQgaD1fLnkoKS5yZXNvbHZlKF8uYkwpLGs9YXdhaXQgXy55KCkucmVzb2x2ZShfLkh5KSgpO2F3YWl0IGNxYShoLHtpZGVudGlmaWVyOmUsSWo6Zix0YXJnZXQ6ZH0pO2MuZ2xvYmFsQ29uZmlndXJhdGlvbiYmKGE9YXdhaXQgay5RaShhKSxhd2FpdCBWWShoLHtpZGVudGlmaWVyOmUsSWo6YT8uY29udGVudCx0bjohMX0pKX19fTsKZXFhPWZ1bmN0aW9uKGEsYil7aWYoYT1fLkVPKHdpbmRvdyxhLCJsb2dpblBvcHVwIiwid2lkdGg9ODAwLGhlaWdodD02MDAscmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyIpKUhuYSgoKT0+e2IoKX0pLGEubW92ZVRvKChzY3JlZW4ud2lkdGgtODAwKS8yLChzY3JlZW4uaGVpZ2h0LTYwMCkvMil9O2ZxYT1mdW5jdGlvbihhLGIpe18uS08oKT8oKGI9dVgoYSkpJiZfLkVPKHdpbmRvdyxiKSxhLmNsaWNrVHJhY2tpbmdQYXJhbXMmJl8uekooYS5jbGlja1RyYWNraW5nUGFyYW1zKSk6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfRU1CRURERURfUExBWUVSIj8oYT11WChhKSkmJmVxYShhLCgpPT57d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfSk6RFkoYSxiKX07CmdxYT1mdW5jdGlvbihhKXtpZihhLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI/LmNoYW5uZWxJZCkoMCxfLnhQKSh7Y2hhbm5lbElkOmEuc291cmNlRGF0YS5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5jaGFubmVsSWR9LGM9Pih7Li4uYyxzdWJzY3JpYmVkOiFhLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIuc3Vic2NyaWJlZH0pKTtlbHNle3ZhciBiPV8uQihhLnNvdXJjZURhdGEuc2VydmljZUVuZHBvaW50LF8uRHkpO2ImJigwLF8ueFApKHtjaGFubmVsSWQ6Yi5jaGFubmVsSWRzPy5bMF19LGM9Pih7Li4uYyxzdWJzY3JpYmVkOiExfSkpfX07V1k9ZnVuY3Rpb24oYSxiLGMpe01ZKGEsYixjKS50aGVuKCgpPT57Z3FhKGIpfSl9OwpocWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLlZEKSxkPWMudXJsO2M9Yy50YXJnZXQ9PT0iVEFSR0VUX05FV19XSU5ET1ciPyJfYmxhbmsiOiIiO3ZhciBlO2EuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGU9e2l0Y3Q6YS5jbGlja1RyYWNraW5nUGFyYW1zfSk7dmFyIGY9Yj8uc291cmNlRGF0YT8ucGFyYW1zPy50aW1lc3RhbXA7ZiYmKGU9ey4uLmUsdGltZXN0YW1wOmZ9KTtfLnFQKHtocmVmOmQscGFyYW1zOmUsdGFyZ2V0OmMsZW5kcG9pbnQ6YSxhazpfLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5yb290VmUsZWxlbWVudDpiLmV2ZW50Py50YXJnZXR9KX07aXFhPWZ1bmN0aW9uKGEpe3dvYShfLkIoYSxfLmZjYSk/LmFkZGl0aW9uYWxEYXRhcyl9OwpqcWE9ZnVuY3Rpb24oYSl7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlIixiPT57dmFyIGM9Yi5kZXRhaWw7Yy5wYXJhbXN8fChjLnBhcmFtcz17fSk7Yj1jLnBhcmFtczt2YXIgZD1iLml0Y3Q7ZCYmKF8uaHgoKS5DZihkKSxkZWxldGUgYi5pdGN0KTtiPWMuaHJlZjtpZighWFlbYl0pe2Q9ITE7aWYoYi5zdGFydHNXaXRoKCJodHRwIil8fGIuc3RhcnRzV2l0aCgiLy8iKSl7dmFyIGU9Yj9fLlBNKGIpLmhvc3RuYW1lfHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU6IiIsZj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7aWYoZD1lIT09ZillPWUuc3BsaXQoIi4iKS5zbGljZSgtMiksZj1mLnNwbGl0KCIuIikuc2xpY2UoLTIpLGUubGVuZ3RoJiZmLmxlbmd0aCYmKGQ9ZS5qb2luKCIuIikhPT1mLmpvaW4oIi4iKSl9WFlbYl09ZH1kPVhZW2JdO2lmKGQpXy5FTyh3aW5kb3csYik7ZWxzZXtkPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2E6e2lmKCFhLmdldFZpZGVvRGF0YSgpLmlzTGl2ZSl7aWYoKGY9CmMucGFyYW1zKSYmZi50aW1lc3RhbXApe2Y9Zi50aW1lc3RhbXA7YnJlYWsgYX1pZighXy54KCJlbWJlZHNfZW1jM2RzX2Fsd2F5c19jdXJ0aW1lX2tzIikmJihmPS9eaHR0cHM/OlwvXC93d3cueW91dHViZS5jb21cL3dhdGNoXD92PShbQS1aYS16MC05Xy1dezExfSkvLmV4ZWMoYy5ocmVmKT8uWzFdKSYmZj09PWEuZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQmJihmPWEuZ2V0Q3VycmVudFRpbWUoKSxmPjApKXtmPU1hdGguZmxvb3IoZikudG9TdHJpbmcoKTticmVhayBhfX1mPXZvaWQgMH1lPShlPWMuZWxlbWVudCk/Xy5VeChlKT8/dm9pZCAwOnZvaWQgMDthOntpZihlKXt2YXIgaD1lLmdldEFzSnNvbigpO2U9aC52ZVR5cGU7aD1oLnRyYWNraW5nUGFyYW1zO2lmKGUpe2U9U3RyaW5nKGUpO2JyZWFrIGF9aWYoaCYmKGU9Xy5FbyhfLkNvKGgpLDIpKSl7ZT1lLnRvU3RyaW5nKCk7YnJlYWsgYX19ZT12b2lkIDB9ZXx8KE1hdGgucmFuZG9tKCk8Xy5zaigiZW1iZWRzX2xvZ193YXJuaW5nX3NhbXBsZV9zaXplX3JhdGUiLAouMDAxKSYmXy5JcChuZXcgXy5YaigiVXNpbmcgZmFsbGJhY2sgVkUgZm9yIGVsZW1lbnQ6ICIse3RhZ05hbWU6Yy5lbGVtZW50Py50YWdOYW1lLGNsYXNzTGlzdDpjLmVsZW1lbnQ/LmNsYXNzTGlzdC50b1N0cmluZygpLGRldGFpbDpjfSkpLGU9KDIxNDI4MykudG9TdHJpbmcoKSk7Yz17fTtkLndpZGdldFJlZmVycmVyJiYoYy5lbWJlZHNfd2lkZ2V0X3JlZmVycmVyPWQud2lkZ2V0UmVmZXJyZXIpO2QubG9hZGVyVXJsJiYoYy5lbWJlZHNfcmVmZXJyaW5nX2V1cmk9ZC5sb2FkZXJVcmwuc3Vic3RyaW5nKDAsMTI4KSk7ZC5pc0VtYmVkJiZkLmVtYmVkc0lmcmFtZU9yaWdpblBhcmFtJiYoYy5lbWJlZHNfcmVmZXJyaW5nX29yaWdpbj1kLmVtYmVkc0lmcmFtZU9yaWdpblBhcmFtKTtkLmlzRW1iZWQmJmQuZW1iZWRzRmVhdHVyZSYmKGMuZmVhdHVyZT1kLmVtYmVkc0ZlYXR1cmUpO2Q9ZTtiPShuZXcgVVJMKGIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIikpLnRvU3RyaW5nKCk7ZiYmCihiPV8uZWooYix7dGltZV9jb250aW51ZTpmfSkpO2lmKGQpe2lmKCFfLk1rKCJjb2JhbHQiKSl7Zj1bXTtlPTA7Zm9yKGg9MDtoPGQubGVuZ3RoO2grKyl7bGV0IGs9ZC5jaGFyQ29kZUF0KGgpO2s+MjU1JiYoZltlKytdPWsmMjU1LGs+Pj04KTtmW2UrK109a31kPV8uc2MoZiw0KX1iPV8uZWooYix7c291cmNlX3ZlX3BhdGg6ZH0pfWMmJihiPV8uZWooYixjKSk7Xy5FTyh3aW5kb3csYil9fSl9OwprcWE9ZnVuY3Rpb24oKXt2YXIgYT17fTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvY2xvc2VkX2NhcHRpb24vdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTMuMDEgM0MzIDMgMyAzIDMuMDEgM0wzIDIxaDE4VjNIMy4wMXpNMTEgMTFIOS41di0uNWgtMnYzaDJWMTNIMTF2MWMwIC41NS0uNDUgMS0xIDFIN2MtLjU1IDAtMS0uNDUtMS0xdi00YzAtLjU1LjQ1LTEgMS0xaDNjLjU1IDAgMSAuNDUgMSAxdjF6bTcgMGgtMS41di0uNWgtMnYzaDJWMTNIMTh2MWMwIC41NS0uNDUgMS0xIDFoLTNjLS41NSAwLTEtLjQ1LTEtMXYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9jbG9zZWRfY2FwdGlvbnMvdjMvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEgM0gzYTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxOGEyIDIgMCAwMDItMlY1YTIgMiAwIDAwLTItMlpNOS4wMzggOC4wODljLjY5Ny4xNzggMS4yOTQuNjA2IDEuNzM3IDEuMTc2YTEgMSAwIDAxLTEuNTc4IDEuMjI4Yy0uMjEtLjI3LS40NDQtLjQxMy0uNjU0LS40NjdhLjg2Ljg2IDAgMDAtLjYzMi4wODVjLS4yMjIuMTE5LS40NTMuMzQyLS42MzEuNjg0QTIuNjQgMi42NCAwIDAwNyAxMmEyLjY0IDIuNjQgMCAwMC4yODEgMS4yMDVjLjE3Ny4zNDIuNDA4LjU2NS42My42ODRhLjg2Ljg2IDAgMDAuNjMyLjA4NWMuMjA5LS4wNTQuNDQ0LS4xOTcuNjU0LS40NjdhMSAxIDAgMDExLjU3OCAxLjIyOGMtLjQ0My41Ny0xLjA0Ljk5OC0xLjczNyAxLjE3NmEyLjg2IDIuODYgMCAwMS0yLjA2Ni0uMjU3Yy0uNjMxLS4zMzYtMS4xMzEtLjg4MS0xLjQ2Ni0xLjUyNkE0LjYgNC42IDAgMDE1IDEyYy0uMDA0LS43NC4xNy0xLjQ3LjUwNi0yLjEyOC4zMzYtLjY0NS44MzUtMS4xOSAxLjQ2Ni0xLjUyNmEyLjg2IDIuODYgMCAwMTIuMDY2LS4yNTdabTggMGMuNjk3LjE3OCAxLjI5NC42MDYgMS43MzcgMS4xNzZhMSAxIDAgMDEtMS41NzggMS4yMjhjLS4yMS0uMjctLjQ0NC0uNDEzLS42NTQtLjQ2N2EuODYuODYgMCAwMC0uNjMyLjA4NWMtLjIyMi4xMTktLjQ1My4zNDItLjYzMS42ODRBMi42NCAyLjY0IDAgMDAxNSAxMmEyLjY0IDIuNjQgMCAwMC4yODEgMS4yMDVjLjE3Ny4zNDIuNDA4LjU2NS42My42ODRhLjg2Ljg2IDAgMDAuNjMyLjA4NWMuMjA5LS4wNTQuNDQ0LS4xOTcuNjU0LS40NjdhMSAxIDAgMDExLjU3OCAxLjIyOGMtLjQ0My41Ny0xLjA0Ljk5OC0xLjczNyAxLjE3NmEyLjg2IDIuODYgMCAwMS0yLjA2Ni0uMjU3Yy0uNjMxLS4zMzYtMS4xMzEtLjg4MS0xLjQ2Ni0xLjUyNkE0LjYgNC42IDAgMDExMyAxMmMtLjAwNC0uNzQuMTctMS40Ny41MDYtMi4xMjguMzM2LS42NDUuODM1LTEuMTkgMS40NjYtMS41MjZhMi44NiAyLjg2IDAgMDEyLjA2Ni0uMjU3WiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbC9wYXVzZS92OS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik05IDE5SDdWNWgyWm04LTE0aC0ydjE0aDJaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3BhdXNlL3Y5LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNi41IDNBMS41IDEuNSAwIDAwNSA0LjV2MTVBMS41IDEuNSAwIDAwNi41IDIxaDJhMS41IDEuNSAwIDAwMS41LTEuNXYtMTVBMS41IDEuNSAwIDAwOC41IDNoLTJabTkgMEExLjUgMS41IDAgMDAxNCA0LjV2MTVhMS41IDEuNSAwIDAwMS41IDEuNWgyYTEuNSAxLjUgMCAwMDEuNS0xLjV2LTE1QTEuNSAxLjUgMCAwMDE3LjUgM2gtMloifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvcGxheV9hcnJvdy92Ny8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im03IDQgMTIgOC0xMiA4VjR6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3BsYXkvdjQvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik01IDQuNjIzVjE5LjM4YTEuNSAxLjUgMCAwMDIuMjYgMS4yOUwyMiAxMiA3LjI2IDMuMzNBMS41IDEuNSAwIDAwNSA0LjYyM1oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbC95b3V0dWJlX2xvZ29faWNvbi92Ni8yNHB4LnN2ZyJdPQpfLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEuNTggNy4xOWEyLjUxIDIuNTEgMCAwMC0xLjc3LTEuNzdDMTguMjUgNSAxMiA1IDEyIDVzLTYuMjUgMC03LjgxLjQyYTIuNTEgMi41MSAwIDAwLTEuNzcgMS43N0EyNS44NyAyNS44NyAwIDAwMiAxMmEyNS44NyAyNS44NyAwIDAwLjQyIDQuODEgMi41MSAyLjUxIDAgMDAxLjc3IDEuNzdDNS43NSAxOSAxMiAxOSAxMiAxOXM2LjI1IDAgNy44MS0uNDJhMi41MSAyLjUxIDAgMDAxLjc3LTEuNzdBMjUuODcgMjUuODcgMCAwMDIyIDEyYTI1Ljg3IDI1Ljg3IDAgMDAtLjQyLTQuODF6TTEwIDE0LjY1di01LjNMMTUgMTJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3lvdXR1YmUvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsCmZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIgNXMtNi4yNDkgMC03LjgxLjQyYy0uODYuMjMtMS41NC45MS0xLjc3IDEuNzdDMiA4Ljc1IDIgMTIgMiAxMnMwIDMuMjUuNDIgNC44MWMuMjMuODYuOTEgMS41NCAxLjc3IDEuNzdDNS43NTEgMTkgMTIgMTkgMTIgMTlzNi4yNDkgMCA3LjgxLS40MmMuODYtLjIzIDEuNTQtLjkxIDEuNzctMS43N0MyMiAxNS4yNSAyMiAxMiAyMiAxMnMwLTMuMjUtLjQyLTQuODFjLS4yMy0uODYtLjkxLTEuNTQtMS43Ny0xLjc3QzE4LjI0OSA1IDEyIDUgMTIgNVptLTIgMTBWOWw1IDMtNSAzWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Fycm93X2NpcmNsZS92Ni8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IiwKaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjIgMTJjMCA1LjUxLTQuNDkgMTAtMTAgMTBTMiAxNy41MSAyIDEyaDFjMCA0Ljk2IDQuMDQgOSA5IDlzOS00LjA0IDktOS00LjA0LTktOS05QzguODEgMyA1LjkyIDQuNjQgNC4yOCA3LjM4Yy0uMTEuMTgtLjIyLjM3LS4zMS41NkwzLjk0IDhIOHYxSDEuOTZWM2gxdjQuNzRjLjA0LS4wOS4wNy0uMTcuMTEtLjI1LjExLS4yMi4yMy0uNDIuMzUtLjYzQzUuMjIgMy44NiA4LjUxIDIgMTIgMmM1LjUxIDAgMTAgNC40OSAxMCAxMHoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvYXJyb3dfY291bnRlcmNsb2Nrd2lzZS92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsCndpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0zIDJhMSAxIDAgMDAtMSAxdjZoNmExIDEgMCAwMDAtMkg1Ljc1N2E4IDggMCAxMS0xLjQ4NSA3LjA3IDEgMSAwIDEwLTEuOTMxLjUxNyAxMC4wMDIgMTAuMDAyIDAgMDAxOC4wOTMgMi43ODJBOS45OTkgOS45OTkgMCAwMDQgNlYzYTEgMSAwIDAwLTEtMVoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9iZWxsL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCAyMGg0YzAgMS4xLS45IDItMiAycy0yLS45LTItMnptMTAtMi42NVYxOUg0di0xLjY1bDItMS44OHYtNS4xNUM2IDcuNCA3LjU2IDUuMSAxMCA0LjM0di0uMzhjMC0xLjQyIDEuNDktMi41IDIuOTktMS43Ni42NS4zMiAxLjAxIDEuMDMgMS4wMSAxLjc2di4zOWMyLjQ0Ljc1IDQgMy4wNiA0IDUuOTh2NS4xNWwyIDEuODd6bS0xIC40Mi0yLTEuODh2LTUuNDdjMC0yLjQ3LTEuMTktNC4zNi0zLjEzLTUuMS0xLjI2LS41My0yLjY0LS41LTMuODQuMDNDOC4xNSA2LjExIDcgNy45OSA3IDEwLjQydjUuNDdsLTIgMS44OFYxOGgxNHYtLjIzeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvYmVsbC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNiAxOWE0IDQgMCAxMS04IDBINC43NjVDMy4yMSAxOSAyLjI1IDE3LjMwNCAzLjA1IDE1Ljk3bDEuODA2LTMuMDFBMSAxIDAgMDA1IDEyLjQ0NlY4YTcgNyAwIDAxMTQgMHY0LjQ0NmMwIC4xODEuMDUuMzYuMTQyLjUxNWwxLjgwNyAzLjAxYy44IDEuMzMzLS4xNjEgMy4wMjktMS43MTYgMy4wMjlIMTZaTTEyIDNhNSA1IDAgMDAtNSA1djQuNDQ2YTMgMyAwIDAxLS40MjggMS41NDNMNC43NjUgMTdoMTQuNDY4bC0xLjgwNS0zLjAxQTMgMyAwIDAxMTcgMTIuNDQ1VjhhNSA1IDAgMDAtNS01Wm0tMiAxNmEyIDIgMCAxMDQgMGgtNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvY2xvY2svdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE0Ljk3IDE2Ljk1IDEwIDEzLjg3VjdoMnY1Ljc2bDQuMDMgMi40OS0xLjA2IDEuN3pNMTIgM2MtNC45NiAwLTkgNC4wNC05IDlzNC4wNCA5IDkgOSA5LTQuMDQgOS05LTQuMDQtOS05LTltMC0xYzUuNTIgMCAxMCA0LjQ4IDEwIDEwcy00LjQ4IDEwLTEwIDEwUzIgMTcuNTIgMiAxMiA2LjQ4IDIgMTIgMnoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvY2xvY2svdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDFDNS45MjUgMSAxIDUuOTI1IDEgMTJzNC45MjUgMTEgMTEgMTEgMTEtNC45MjUgMTEtMTFTMTguMDc1IDEgMTIgMVptMCAyYTkgOSAwIDExMCAxOC4wMDFBOSA5IDAgMDExMiAzWm0wIDNhMSAxIDAgMDAtMSAxdjUuNTY1bC40ODUuMjkyIDMuMzMgMmExIDEgMCAwMDEuMDMtMS43MTRMMTMgMTEuNDM1VjdhMSAxIDAgMDAtMS0xWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Nsb3NlZF9jYXB0aW9uL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik02IDE0di00YzAtLjU1LjQ1LTEgMS0xaDNjLjU1IDAgMSAuNDUgMSAxdjFIOS41di0uNWgtMnYzaDJWMTNIMTF2MWMwIC41NS0uNDUgMS0xIDFIN2MtLjU1IDAtMS0uNDUtMS0xem04IDFoM2MuNTUgMCAxLS40NSAxLTF2LTFoLTEuNXYuNWgtMnYtM2gydi41SDE4di0xYzAtLjU1LS40NS0xLTEtMWgtM2MtLjU1IDAtMSAuNDUtMSAxdjRjMCAuNTUuNDUgMSAxIDF6bTYtMTFINHYxNmgxNlY0bTEtMXYxOEgzVjMuMDFDMyAzIDMgMyAzLjAxIDNIMjF6In0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9jbG9zZWRfY2FwdGlvbnMvdjMvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0yMSAzSDNhMiAyIDAgMDAtMiAydjE0YTIgMiAwIDAwMiAyaDE4YTIgMiAwIDAwMi0yVjVhMiAyIDAgMDAtMi0yWk0zIDE5VjVoMTh2MTRIM1pNNi45NzIgOC4zNDZjLS42MzEuMzM2LTEuMTMxLjg4MS0xLjQ2NiAxLjUyNkE0LjYgNC42IDAgMDA1IDEyYy0uMDA0Ljc0LjE3IDEuNDcuNTA2IDIuMTI4LjMzNi42NDUuODM1IDEuMTkxIDEuNDY2IDEuNTI2YTIuODYgMi44NiAwIDAwMi4wNjYuMjU3Yy42OTctLjE3OCAxLjI5NC0uNjA2IDEuNzM3LTEuMTc2YTEgMSAwIDAwLTEuNTc4LTEuMjI4Yy0uMjEuMjctLjQ0NC40MTMtLjY1NC40NjdhLjg2Ljg2IDAgMDEtLjYzMi0uMDg1Yy0uMjIyLS4xMTktLjQ1My0uMzQyLS42MzEtLjY4NEEyLjY0IDIuNjQgMCAwMTcgMTJhMi42IDIuNiAwIDAxLjI4MS0xLjIwNWMuMTc3LS4zNDIuNDA4LS41NjUuNjMtLjY4NGEuODYuODYgMCAwMS42MzItLjA4NWMuMjA5LjA1NC40NDQuMTk3LjY1NC40NjdhMSAxIDAgMDAxLjU3OC0xLjIyOGMtLjQ0My0uNTctMS4wNC0uOTk4LTEuNzM3LTEuMTc2YTIuODYgMi44NiAwIDAwLTIuMDY2LjI1N1ptOCAwYy0uNjMxLjMzNi0xLjEzMS44ODEtMS40NjYgMS41MjZBNC42IDQuNiAwIDAwMTMgMTJjLS4wMDQuNzQuMTcgMS40Ny41MDYgMi4xMjguMzM2LjY0NS44MzUgMS4xOTEgMS40NjYgMS41MjZhMi44NiAyLjg2IDAgMDAyLjA2Ni4yNTdjLjY5Ny0uMTc4IDEuMjk0LS42MDYgMS43MzctMS4xNzZhMSAxIDAgMDAtMS41NzgtMS4yMjhjLS4yMS4yNy0uNDQ0LjQxMy0uNjU0LjQ2N2EuODYuODYgMCAwMS0uNjMyLS4wODVjLS4yMjItLjExOS0uNDUzLS4zNDItLjYzMS0uNjg0QTIuNjQgMi42NCAwIDAxMTUgMTJhMi42IDIuNiAwIDAxLjI4MS0xLjIwNWMuMTc3LS4zNDIuNDA4LS41NjUuNjMtLjY4NGEuODYuODYgMCAwMS42MzItLjA4NWMuMjA5LjA1NC40NDQuMTk3LjY1NC40NjdhMSAxIDAgMDAxLjU3OC0xLjIyOGMtLjQ0My0uNTctMS4wNC0uOTk4LTEuNzM3LTEuMTc2YTIuODYgMi44NiAwIDAwLTIuMDY2LjI1N1oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvZ2Vhci92MTAvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIgOS41YzEuMzggMCAyLjUgMS4xMiAyLjUgMi41cy0xLjEyIDIuNS0yLjUgMi41LTIuNS0xLjEyLTIuNS0yLjUgMS4xMi0yLjUgMi41LTIuNW0wLTFjLTEuOTMgMC0zLjUgMS41Ny0zLjUgMy41czEuNTcgMy41IDMuNSAzLjUgMy41LTEuNTcgMy41LTMuNS0xLjU3LTMuNS0zLjUtMy41ek0xMy4yMiAzbC41NSAyLjIuMTMuNTEuNS4xOGMuNjEuMjMgMS4xOS41NiAxLjcyLjk4bC40LjMyLjUtLjE0IDIuMTctLjYyIDEuMjIgMi4xMS0xLjYzIDEuNTktLjM3LjM2LjA4LjUxYy4wNS4zMi4wOC42NC4wOC45OHMtLjAzLjY2LS4wOC45OGwtLjA4LjUxLjM3LjM2IDEuNjMgMS41OS0xLjIyIDIuMTEtMi4xNy0uNjItLjUtLjE0LS40LjMyYy0uNTMuNDMtMS4xMS43Ni0xLjcyLjk4bC0uNS4xOC0uMTMuNTEtLjU1IDIuMjRoLTIuNDRsLS41NS0yLjItLjEzLS41MS0uNS0uMThjLS42LS4yMy0xLjE4LS41Ni0xLjcyLS45OWwtLjQtLjMyLS41LjE0LTIuMTcuNjItMS4yMS0yLjEyIDEuNjMtMS41OS4zNy0uMzYtLjA4LS41MWMtLjA1LS4zMi0uMDgtLjY1LS4wOC0uOThzLjAzLS42Ni4wOC0uOThsLjA4LS41MS0uMzctLjM2TDMuNiA4LjU2bDEuMjItMi4xMSAyLjE3LjYyLjUuMTQuNC0uMzJjLjUzLS40NCAxLjExLS43NyAxLjcyLS45OWwuNS0uMTguMTMtLjUxLjU0LTIuMjFoMi40NE0xNCAyaC00bC0uNzQgMi45NmMtLjczLjI3LTEuNC42Ni0yIDEuMTRsLTIuOTItLjgzLTIgMy40NiAyLjE5IDIuMTNjLS4wNi4zNy0uMDkuNzUtLjA5IDEuMTRzLjAzLjc3LjA5IDEuMTRsLTIuMTkgMi4xMyAyIDMuNDYgMi45Mi0uODNjLjYuNDggMS4yNy44NyAyIDEuMTRMMTAgMjJoNGwuNzQtMi45NmMuNzMtLjI3IDEuNC0uNjYgMi0xLjE0bDIuOTIuODMgMi0zLjQ2LTIuMTktMi4xM2MuMDYtLjM3LjA5LS43NS4wOS0xLjE0cy0uMDMtLjc3LS4wOS0xLjE0bDIuMTktMi4xMy0yLTMuNDYtMi45Mi44M2MtLjYtLjQ4LTEuMjctLjg3LTItMS4xNEwxNCAyeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvZ2Vhci92MTAvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMi44NDQgMWgtMS42ODdhMiAyIDAgMDAtMS45NjIgMS42MTYgMyAzIDAgMDEtMy45MiAyLjI2MyAyIDIgMCAwMC0yLjM4Ljg5MWwtLjg0MiAxLjQ2YTIgMiAwIDAwLjQxNyAyLjUwNyAzIDMgMCAwMTAgNC41MjUgMiAyIDAgMDAtLjQxNyAyLjUwN2wuODQzIDEuNDZhMiAyIDAgMDAyLjM4Ljg5MiAzLjAwMSAzLjAwMSAwIDAxMy45MTggMi4yNjNBMiAyIDAgMDAxMS4xNTcgMjNoMS42ODZhMiAyIDAgMDAxLjk2My0xLjYxNSAzLjAwMiAzLjAwMiAwIDAxMy45Mi0yLjI2MyAyIDIgMCAwMDIuMzgtLjg5MmwuODQyLTEuNDZhMiAyIDAgMDAtLjQxOC0yLjUwNyAzIDMgMCAwMTAtNC41MjYgMiAyIDAgMDAuNDE4LTIuNTA4bC0uODQzLTEuNDZhMiAyIDAgMDAtMi4zOC0uODkxIDMgMyAwIDAxLTMuOTE5LTIuMjYzQTIgMiAwIDAwMTIuODQ0IDFabS0xLjc2NyAyLjM0N2E2IDYgMCAwMC4wOC0uMzQ3aDEuNjg3YTQuOTggNC45OCAwIDAwMi40MDcgMy4zNyA0Ljk4IDQuOTggMCAwMDQuMTIyLjRsLjg0MyAxLjQ2QTQuOTggNC45OCAwIDAwMTguNSAxMmE0Ljk4IDQuOTggMCAwMDEuNzE2IDMuNzdsLS44NDMgMS40NmE0Ljk4IDQuOTggMCAwMC00LjEyMy40QTQuOTc5IDQuOTc5IDAgMDAxMi44NDMgMjFoLTEuNjg2YTQuOTggNC45OCAwIDAwLTIuNDA4LTMuMzcxIDQuOTk5IDQuOTk5IDAgMDAtNC4xMi0uMzk5bC0uODQ0LTEuNDZBNC45NzkgNC45NzkgMCAwMDUuNSAxMmE0Ljk4IDQuOTggMCAwMC0xLjcxNS0zLjc3bC44NDItMS40NTlhNC45OCA0Ljk4IDAgMDA0LjEyMy0uMzk5IDQuOTgxIDQuOTgxIDAgMDAyLjMyNy0zLjAyNVpNMTYgMTJhNCA0IDAgMTEtNy45OTkgMCA0IDQgMCAwMTggMFptLTQgMmEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvbGluay92OC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNy43OCAxNmMyLjM1IDAgNC4yNi0yLjAyIDQuMjYtNC41UzIwLjEzIDcgMTcuNzggN0gxM3YxaDQuNzhjMS44IDAgMy4yNiAxLjU3IDMuMjYgMy41UzE5LjU4IDE1IDE3Ljc4IDE1SDEzdjFoNC43OHpNMTEgMTVINi4xOWMtMS44IDAtMy4yNi0xLjU3LTMuMjYtMy41UzQuMzkgOCA2LjE5IDhIMTFWN0g2LjE5Yy0yLjM1IDAtNC4yNiAyLjAyLTQuMjYgNC41UzMuODQgMTYgNi4xOSAxNkgxMXYtMXptNS00SDh2MWg4di0xeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9saW5rL3Y4LzI0cHguc3ZnIl09Xy5LKCJzdmciLAp7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTkgMThjLjIyNiAwIC40NDgtLjAxMi42NjctLjAzN0E4LjAwMSA4LjAwMSAwIDAxOC4wNyAxNkg3YTQgNCAwIDExMC04aDJhNCA0IDAgMDE0IDQgMiAyIDAgMDAxLjY2OCAxLjk3M0E1Ljk5OSA1Ljk5OSAwIDAwOSA2SDdhNiA2IDAgMTAwIDEyaDJabTggMGE2IDYgMCAxMDAtMTJoLTJjLS4yMjUgMC0uNDQ4LjAxMi0uNjY3LjAzNkE4IDggMCAwMTE1LjkzIDhIMTdhNCA0IDAgMTEwIDhoLTJhNCA0IDAgMDEtNC00IDIgMiAwIDAwLTEuNjY4LTEuOTczQTYgNiAwIDAwMTUgMThoMloifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9zaGFyZS92MTIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE1IDUuNjMgMjAuNjYgMTIgMTUgMTguMzdWMTRoLTFjLTMuOTYgMC03LjE0IDEtOS43NSAzLjA5IDEuODQtNC4wNyA1LjExLTYuNCA5Ljg5LTcuMWwuODYtLjEzVjUuNjNNMTQgM3Y2QzYuMjIgMTAuMTMgMy4xMSAxNS4zMyAyIDIxYzIuNzgtMy45NyA2LjQ0LTYgMTItNnY2bDgtOS04LTl6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3NoYXJlL3YxMi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEwIDMuMTU4VjcuNTFjLTUuNDI4LjIyMy04LjI3IDMuNzUtOC44NzUgMTEuMTk5LS4wNC40ODctLjA3Ljk3NS0uMDkgMS40NjRsLS4wMTQuMzk1Yy0uMDE0LjQ3My41NzguNjg0Ljg4LjMyLjMwMi0uMzY4LjYxLS43My45MjUtMS4wODZsLjI0NC0uMjczYzEuNzktMS45NjcgMy0yLjY3NyA0LjkzLTIuOTE3YTE4LjAxMSAxOC4wMTEgMCAwMTItLjExMnY0LjM0NmExIDEgMCAwMDEuNjQ2Ljc2M2w5LjgwNS04LjI5NyAxLjU1LTEuMzEtMS41NS0xLjMxLTkuODA1LTguMjk3QTEgMSAwIDAwMTAgMy4xNThabTIgNi4yN3YuMDAyLTQuMTE2bDcuOTA0IDYuNjg4TDEyIDE4LjY4OXYtNC4yMTJsLTIuMDIzLjAyNGMtMS45MzUuMDIyLTMuNTg3LjE3LTUuMTk3IDEuMDI0YTkgOSAwIDAwLTEuMzQ4Ljg5M2MuMzU1LTEuOTQ3LjkxNi0zLjM5IDEuNjMtNC40MjUgMS4wNjItMS41NDEgMi42MDctMi4zODUgNS4wMi0yLjQ4NUwxMiA5LjQyOFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvdm9sdW1lX29mZi92NC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im0zLjE1IDMuODUgNC4xNyA0LjE3TDYuMTYgOUgzdjZoMy4xNkwxMiAxOS45M3YtNy4yMmwyLjQ1IDIuNDVjLS4xNS4wNy0uMy4xMy0uNDUuMTh2MS4wNGMuNDMtLjEuODMtLjI3IDEuMi0uNDhsMS44MSAxLjgxYy0uODguNjItMS45IDEuMDQtMy4wMSAxLjJ2MS4wMWMxLjM5LS4xNyAyLjY2LS43MSAzLjczLTEuNDlsMi40MiAyLjQyLjcxLS43MS0xNy0xNy0uNzEuNzF6TTExIDExLjcxdjYuMDdMNi41MiAxNEg0di00aDIuNTJsMS41LTEuMjdMMTEgMTEuNzF6bS0uNjctNC45Mi0uNzEtLjcxTDEyIDQuMDd2NC4zOWwtMS0xVjYuMjJsLS42Ny41N3pNMTQgOC42NlY3LjYyYzIgLjQ2IDMuNSAyLjI0IDMuNSA0LjM4IDAgLjU4LS4xMyAxLjEzLS4zMyAxLjY0bC0uNzktLjc5Yy4wNy0uMjcuMTItLjU1LjEyLS44NSAwLTEuNTgtMS4wNi0yLjktMi41LTMuMzR6bTAtMy41OFY0LjA3YzMuOTUuNDkgNyAzLjg1IDcgNy45MyAwIDEuNTYtLjQ2IDMuMDEtMS4yMyA0LjI0bC0uNzMtLjczYy42MS0xLjAzLjk2LTIuMjMuOTYtMy41MSAwLTMuNTItMi42MS02LjQzLTYtNi45MnoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3ZvbHVtZV9tdXRlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTEuNDg1IDIuMTQzIDMuOTEzIDYuNjg3QTYgNiAwIDAwMSAxMS44MzJ2LjMzOGE2IDYgMCAwMDIuOTEzIDUuMTQ0bDcuNTcyIDQuNTQzQTEgMSAwIDAwMTMgMjFWM2ExLjAwMSAxLjAwMSAwIDAwLTEuNTE1LS44NTdaTTQuOTQyIDguNCAxMSA0Ljc2N3YxNC40NjZsLTYuMDU4LTMuNjM0QTQgNCAwIDAxMyAxMi4xNjl2LS4zMzhBNCA0IDAgMDE0Ljk0MiA4LjRabTE2LjM1MS0uMTA4TDE5IDEwLjU4NmwtMi4yOTMtMi4yOTNhMSAxIDAgMTAtMS40MTQgMS40MTRMMTcuNTg2IDEybC0yLjI5MyAyLjI5M2ExIDEgMCAxMDEuNDE0IDEuNDE0TDE5IDEzLjQxNGwyLjI5MyAyLjI5M2ExIDEgMCAxMDEuNDE0LTEuNDE0TDIwLjQxNCAxMmwyLjI5My0yLjI5NGExIDEgMCAxMC0xLjQxNC0xLjQxNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvdm9sdW1lX29uL3YzLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE3LjUgMTJjMCAyLjE0LTEuNSAzLjkyLTMuNSA0LjM4di0xLjA0YzEuNDQtLjQzIDIuNS0xLjc2IDIuNS0zLjM0IDAtMS41OC0xLjA2LTIuOS0yLjUtMy4zNFY3LjYyYzIgLjQ2IDMuNSAyLjI0IDMuNSA0LjM4ek0xMiA0LjA3djE1Ljg2TDYuMTYgMTVIM1Y5aDMuMTZMMTIgNC4wN3ptLTEgMi4xNUw2LjUyIDEwSDR2NGgyLjUyTDExIDE3Ljc4VjYuMjJ6TTIxIDEyYzAgNC4wOC0zLjA1IDcuNDQtNyA3Ljkzdi0xLjAxYzMuMzktLjQ5IDYtMy40IDYtNi45MnMtMi42MS02LjQzLTYtNi45MlY0LjA3YzMuOTUuNDkgNyAzLjg1IDcgNy45M3oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvdm9sdW1lX21heC92Mi8yNHB4LnN2ZyJdPQpfLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMS40ODUgMi4xNDMgMy45MTMgNi42ODdBNiA2IDAgMDAxIDExLjgzMnYuMzM4YTYgNiAwIDAwMi45MTMgNS4xNDRsNy41NzIgNC41NDNBMSAxIDAgMDAxMyAyMVYzYTEuMDAxIDEuMDAxIDAgMDAtMS41MTUtLjg1N1ptNi44OCAyLjA3OWExIDEgMCAwMC0uMDAxIDEuNDE0IDkgOSAwIDAxMCAxMi43MjggMSAxIDAgMDAxLjQxNCAxLjQxNCAxMSAxMSAwIDAwMC0xNS41NTYgMSAxIDAgMDAtMS40MTMgMFpNNC45NDEgOC40MDJsLjAwMS0uMDAyTDExIDQuNzY3djE0LjQ2NmwtNi4wNTgtMy42MzVBNCA0IDAgMDEzIDEyLjE2OHYtLjMzN2E0IDQgMCAwMTEuOTQxLTMuNDI5Wk0xNS41MzUgNy4wNWExIDEgMCAwMDAgMS40MTUgNSA1IDAgMDEwIDcuMDcgMSAxIDAgMDAxLjQxNSAxLjQxNSA2Ljk5OSA2Ljk5OSAwIDAwMC05LjkgMSAxIDAgMDAtMS40MTUgMFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUveF9tYXJrL3Y0LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoibTEyLjcxIDEyIDguMTUgOC4xNS0uNzEuNzFMMTIgMTIuNzFsLTguMTUgOC4xNS0uNzEtLjcxTDExLjI5IDEyIDMuMTUgMy44NWwuNzEtLjcxTDEyIDExLjI5bDguMTUtOC4xNS43MS43MUwxMi43MSAxMnoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwveC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLAp3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTcuMjkzIDUuMjkzIDEyIDEwLjU4NiA2LjcwNyA1LjI5M2ExIDEgMCAxMC0xLjQxNCAxLjQxNEwxMC41ODYgMTJsLTUuMjkzIDUuMjkzYTEgMSAwIDAwMS40MTQgMS40MTRMMTIgMTMuNDE0bDUuMjkzIDUuMjkzYTEgMSAwIDAwMS40MTQtMS40MTRMMTMuNDE0IDEybDUuMjkzLTUuMjkzYTEgMSAwIDEwLTEuNDE0LTEuNDE0WiJ9KSk7YVsiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi95b3V0dWJlX2ZpbGwvZXF1YWxpemVyL3YxLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix2aWV3Qm94OiItNCAtNCAyNCAyNCIsdmVyc2lvbjoiMS4xIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJ4bWxuczp4bGluayI6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bWxuczp5dCI6Imh0dHA6Ly93d3cueW91dHViZS5jb20ifSxfLksoImciLAp7aWQ6Inl0bS1lcXVhbGl6ZXItaWNvbiIsZmlsbDoiI2ZmZiJ9LF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1sZWZ0Iix4OiIxIix5OiI3Iix3aWR0aDoiNCIsaGVpZ2h0OiI5In0pLF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1taWRkbGUiLHg6IjYiLHk6IjIiLHdpZHRoOiI0IixoZWlnaHQ6IjE0In0pLF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1yaWdodCIseDoiMTEiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjEyIn0pKSk7YVsiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi95b3V0dWJlX2ZpbGwvc2hvcnRzX3RleHRfbG9nby92Mi83MnB4LnN2ZyJdPV8uSygic3ZnIix7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDcyIDI0IixmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJ4bWxuczp4bGluayI6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsifSwKXy5LKCJnIix7dHJhbnNmb3JtOiJ0cmFuc2xhdGUoMjQsIDIpIn0sXy5LKCJwYXRoIix7ZDoibS43MzIxNyAxMy43ODg2IDIuNTc3MzItLjA1MTVjLS4wNTE1NSAyLjMxOTUuMzYwODIgMy4wNDEyIDEuMzQwMjEgMy4wNDEyLjk1MzYxIDAgMS4zNDAyLS42MTg2IDEuMzQwMi0xLjg4MTQgMC0xLjg4MTUtLjk3OTM4LTIuODM1MS0yLjM3MTEzLTQuMDQ2NEMxLjQ3OTU5IDguOTk0NzkuNTUxNzU4IDcuOTYzODYuNTUxNzU4IDUuMjMxOWMwLTIuNjAzMDkgMS4xNTk3OTItNC4xNDk0OCA0LjE3NTI2Mi00LjE0OTQ4IDIuOTEyMzcgMCA0LjEyMzcxIDEuNzAxMDMgMy43MTEzMyA1LjIwNjE5bC0yLjU3NzMyLjE1NDYzYy4wNTE1NS0yLjM5NjktLjIwNjE4LTMuMjIxNjQtMS4yNjI4OC0zLjIyMTY0LS45NzkzOCAwLTEuMzE0NDQuNjQ0MzMtMS4zMTQ0NCAxLjgyOTg5IDAgMS43NzgzNS43NDc0MyAyLjMxOTU5IDIuMzQ1MzcgMy44NDAyMSAxLjk4NDUzIDEuODgxNCAzLjA5Mjc4IDIuOTg5NyAzLjA5Mjc4IDUuNTQxMiAwIDMuMjQ3NS0xLjI2Mjg5IDQuNDg0Ni00LjIwMTAzIDQuNDg0Ni0zLjA2NzAxLjAyNTctNC4zMDQxMjUtMS42MjM3LTMuNzg4NjYtNS4xMjg5Wk05LjY3NTU0Ljc0NzQwNWgyLjgzNTA2VjQuNTg3NjFjMCAxLjE1OTc5LS4wNTE2IDEuOTU4NzYtLjE1NDcgMi45MzgxNGguMDUxNmMuNTQxMi0xLjE1OTc5IDEuNDQzMy0xLjc1MjU3IDIuNjAzMS0xLjc1MjU3IDEuNzUyNiAwIDIuNSAxLjIzNzExIDIuNSAzLjM1MDUxdjkuNTM2MTFoLTIuODM1MVY5LjMyOTg4YzAtMS4wMzA5My0uMjU3Ny0xLjU0NjM5LS45MDItMS41NDYzOS0uNDg5NyAwLS45Mjc5LjI4MzUtMS4yMzcxLjc5ODk3VjE4LjY1OThIOS43MDEzMVYuNzQ3NDA1aC0uMDI1NzdaTTE4LjY3MDMgMTMuMjczMnYtMS44Mjk5YzAtNC4wNzIxNiAxLjE4NTYtNS42NDQzMyAzLjk5NDgtNS42NDQzMyAyLjgwOTMgMCAzLjg2NiAxLjYyMzcxIDMuODY2IDUuNjQ0MzN2MS44Mjk5YzAgMy45NjkxLTEuMDA1MiA1LjU5MjgtMy45NDMzIDUuNTkyOC0yLjk4OTcgMC0zLjkxNzUtMS42NzUzLTMuOTE3NS01LjU5MjhabTUgMS4wMzA5di0zLjk0MzNjMC0xLjcyNjc4LS4yNTc4LTIuNjAzMDctMS4wODI1LTIuNjAzMDctLjc5OSAwLTEuMDU2Ny44NzYyOS0xLjA1NjcgMi42MDMwN3YzLjk0MzNjMCAxLjgwNDEuMjU3NyAyLjYyODkgMS4wNTY3IDIuNjI4OS44MjQ3IDAgMS4wODI1LS44MjQ4IDEuMDgyNS0yLjYyODlaTTI3LjY2NTIgNi4wMzA4OWgyLjE5MDdsLjI1NzggMi43MzE5NmguMTAzYy4yODM2LTIuMDEwMzEgMS4yMTE0LTMuMDE1NDYgMi4zOTY5LTMuMDE1NDYuMTU0NyAwIC4zMDkzLjAyNTc3LjUxNTUuMDUxNTRsLS4xNTQ2IDMuMjczMmMtMS4xODU2LS4yNTc3My0yLjEzOTItLjA1MTU1LTIuNTc3My43MjE2NVYxOC42MzRoLTIuNzMyVjYuMDMwODlaTTM0LjgwNDQgMTUuNjcwMVY4LjI3MzJoLTEuMDMwOVY2LjA1NjdoMS4xNTk4bC4zNjA4LTMuNzM3MTFoMi4xMTM0VjYuMDU2N2gxLjkzM3YyLjIxNjVoLTEuODA0MXY2Ljk4NDVjMCAxLjE4NTYuMTU0NiAxLjQ0MzMuNjE4NSAxLjQ0MzMuNDEyNCAwIC43NzMyLS4wNTE1IDEuMTA4My0uMTgwNGwuMzYwOCAxLjgwNDFjLS44NTA1LjQxMjQtMS45MzMuNTQxMy0yLjYwMzEuNTQxMy0xLjgyOTktLjAyNTgtMi4yMTY1LS45Nzk0LTIuMjE2NS0zLjE5NTlaTTQwLjI2ODIgMTQuODE5NmwyLjM5NjktLjA1MTVjLS4xMjg5IDEuMzkxNy4zNjA4IDIuMTkwNyAxLjIxMTMgMi4xOTA3LjcyMTcgMCAxLjEzNDEtLjQ2MzkgMS4xMzQxLTEuMTA4MyAwLS44NzYzLS43OTktMS40NjktMi4xNjUtMi41LTEuNjIzNy0xLjIzNzEtMi42MDMxLTIuMTY0OS0yLjYwMzEtNC4yMDEgMC0yLjI0MjI3IDEuMTg1Ni0zLjMyNDc0IDMuNjM0LTMuMzI0NzQgMi42MDMxIDAgMy42MzQxIDEuMjg4NjYgMy40Mjc5IDQuMzU1NjRsLTIuMzk2OS4xMDMxYy0uMDI1OC0xLjkwNzE5LS4yODM1LTIuNDQ4NDMtMS4wODI1LTIuNDQ4NDMtLjc3MzIgMC0xLjEwODMuMzg2Ni0xLjEwODMgMS4wODI0NyAwIC45NzkzOC41NjcxIDEuNDQzMjYgMS40OTQ5IDIuMTEzMzYgMi4yMTY1IDEuNjQ5NSAzLjI0NzQgMi40NzQzIDMuMjQ3NCA0LjUzNjEgMCAyLjI2ODEtMS4yODg3IDMuNDAyMS0zLjczNzEgMy40MDIxLTIuNzgzNS0uMDI1OC0zLjgxNDQtMS41NDY0LTMuNDUzNi00LjE0OTVaIiwKZmlsbDoiI2ZmZiJ9KSksXy5LKCJnIix7dHJhbnNmb3JtOiJ0cmFuc2xhdGUoMCwgMCkifSxfLksoInBhdGgiLHtkOiJNMTguNDUgOC44NTFjMS45MDQtMS4wNjYgMi41NDEtMy40IDEuNDIyLTUuMjE0LTEuMTE5LTEuODE0LTMuNTctMi40Mi01LjQ3NS0xLjM1NUw1LjU1IDcuMjQ3Yy0xLjI5LjcyMi0yLjA0OSAyLjA2OS0xLjk2OCAzLjQ5MS4wODEgMS40MjMuOTg5IDIuNjgzIDIuMzUzIDMuMjY4bC45NDIuNDA0LTEuMzI3Ljc0MmMtMS45MDQgMS4wNjYtMi41NDEgMy40LTEuNDIyIDUuMjE0IDEuMTE5IDEuODE0IDMuNTcgMi40MjEgNS40NzUgMS4zNTVsOC44NDctNC45NjVjMS4yOS0uNzIyIDIuMDQ5LTIuMDY4IDEuOTY4LTMuNDktLjA4MS0xLjQyMy0uOTg5LTIuNjg0LTIuMzUzLTMuMjY5bC0uOTQyLS40MDMgMS4zMjctLjc0M1pNMTAgMTQuNTY3YS4yNS4yNSAwIDAwLjM3NC4yMTdsNC40NS0yLjU2N2EuMjUuMjUgMCAwMDAtLjQzM2wtNC40NS0yLjU2N2EuMjUuMjUgMCAwMC0uMzc0LjIxNnY1LjEzNFoiLAoiZmlsbC1ydWxlIjoiZXZlbm9kZCIsZmlsbDoiI2ZmZiJ9KSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3dhdGVybWFyay92Mi8xMTBweC5zdmciXT1fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHZlcnNpb246IjEuMSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieG1sbnM6eXQiOiJodHRwOi8vd3d3LnlvdXR1YmUuY29tIn0sXy5LKCJwYXRoIix7aWQ6Inl0cC1zdmctd2F0ZXJtYXJrIixkOiJNIDE2LjY4NzAwNiwwLjk5OTk4NTI0IEMgMTMuNTUxMDY5LDEuMDMyNzk3MiA3LjAyNDUxMTQsMS4xNjI0ODUyIDQuOTk5NTEyNiwxLjY4NzQ4NTIgYyAtMS40OTk5OTkxLDAuNCAtMi41OTk5OTg0LDEuNiAtMi45OTk5OTgyLDMgLTAuNjk5OTk5NSwyLjcgLTAuNjg3NDk5NSw4LjMxMjQ5OTggLTAuNjg3NDk5NSw4LjMxMjQ5OTggMCwwIC0wLjAxMjUsNS42MTI1IDAuNjg3NDk5NSw4LjMxMjUgMC4zOTk5OTk4LDEuNSAxLjU5OTk5OTEsMi42IDIuOTk5OTk4MiwzIDIuNjk5OTk4NCwwLjcgMTMuNDA2MjQyNCwwLjY4NzUgMTMuNDA2MjQyNCwwLjY4NzUgMCwwIDEwLjcwNjI0MywwLjAxMjUgMTMuNDA2MjQxLC0wLjY4NzUgMS41LC0wLjQgMi41OTk5OTksLTEuNiAyLjk5OTk5OSwtMyAwLjY5OTk5OSwtMi43IDAuNjg3NDk5LC04LjMxMjUgMC42ODc0OTksLTguMzEyNSAwLDAgMC4xMTI1LC01LjYxMjQ5OTggLTAuNjg3NDk5LC04LjMxMjQ5OTggLTAuNCwtMS41IC0xLjU5OTk5OSwtMi42IC0yLjk5OTk5OSwtMyBDIDI5LjExMTk5OCwwLjk4NzQ4NTI0IDE4LjQwNTc1NSwwLjk5OTk4NTI0IDE4LjQwNTc1NSwwLjk5OTk4NTI0IGMgMCwwIC0wLjY3MzQzNywtMC4wMTA5MzggLTEuNzE4NzQ5LDAgeiBtIDcyLjIxODcwNiwwLjkwNjI0OTk2IDAsMjEuMjgxMjQ5OCAyLjc4MTI0OCwwIDAuMzEyNSwtMS4zNzUgMC4wOTM3NSwwIGMgMC4zLDAuNSAwLjcxODc1LDAuODg3NSAxLjIxODc0OSwxLjE4NzUgMC41LDAuMyAxLjA4NzUsMC40MDYyNSAxLjY4NzQ5OSwwLjQwNjI1IDEuMSwwIDEuOTk5OTk5LC0wLjQ5Mzc1IDIuNDk5OTk5LC0xLjU5Mzc1IDAuNSwtMS4xIDAuODEyNDk5LC0yLjcwNjI1IDAuODEyNDk5LC00LjkwNjI1IGwgMCwtMi40MDYyNSBjIDAsLTEuNiAtMC4xMTI1LC0yLjkwNjI1IC0wLjMxMjQ5OSwtMy45MDYyNSAtMC4yLC0wLjg5OTk5OTkgLTAuNSwtMS41OTM3NDk5IC0xLC0yLjA5Mzc0OTkgLTAuNSwtMC40IC0xLjEwNjI0OSwtMC41OTM3NDk5IC0xLjkwNjI0OSwtMC41OTM3NDk5IC0wLjU5OTk5OSwwIC0xLjE4NzQ5OSwwLjE5OTk5OTkgLTEuNjg3NDk5LDAuNDk5OTk5OSAtMC40OTk5OTksMC4zIC0xLjAxODc0OSwwLjgwNjI1IC0xLjIxODc0OSwxLjQwNjI1IGwgMCwtNy45MDYyNDk5IC0zLjI4MTI0OCwwIHogbSAtNDkuOTk5OTcsMC43ODEyNSAzLjkwNjI0OCwxMy45MDYyNDk4IDAuMTg3NSw2LjcxODc1IDMuMzEyNDk4LDAgMCwtNi43MTg3NSAzLjg3NDk5NywtMTMuOTA2MjQ5OCAtMy4zNzQ5OTgsMCAtMS40MDYyNDksNi4zMTI0OTk5IGMgLTAuNCwxLjg5OTk5OTkgLTAuNzEyNDk5LDMuMTk5OTk5OSAtMC44MTI0OTksMy45OTk5OTk5IGwgLTAuMDkzNzUsMCBjIC0wLjIsLTEuMSAtMC41MTI1LC0yLjQgLTAuODEyNSwtMy45OTk5OTk5IGwgLTEuMzc0OTk5LC02LjMxMjQ5OTkgLTMuNDA2MjQ4LDAgeiBtIDI5LjU5MzczMiwwIDAsMi43MTg3NSAzLjQwNjI0OCwwIDAsMTcuOTA2MjQ5OCAzLjI4MTI0OCwwIDAsLTE3LjkwNjI0OTggMy40MDYyNDgsMCBjIDAsMCAwLjAwNjIsLTIuNzE4NzUgLTAuMDkzNzUsLTIuNzE4NzUgbCAtOS45OTk5OTQsMCB6IG0gLTUzLjQ5OTk2Nyw1LjEyNSA4LjkwNjI0NCw1LjE4NzQ5OTggLTguOTA2MjQ0LDUuMDkzNzUgMCwtMTAuMjgxMjQ5OCB6IG0gODkuNDA2MTkzLDAuMDkzNzUgYyAtMS43LDAgLTIuODkzNzUsMC41OTM3NDk5IC0zLjU5Mzc1LDEuNTkzNzQ5OSAtMC42OTk5OSwwLjk5OTk5OTkgLTAuOTk5OTk1LDIuNjA2MjQ5OSAtMC45OTk5OTUsNC45MDYyNDk5IGwgMCwyLjU5Mzc1IGMgMCwyLjIgMC4zMDAwMDUsMy45MDYyNSAwLjk5OTk5NSw0LjkwNjI1IDAuNywxLjEgMS44LDEuNTkzNzUgMy41LDEuNTkzNzUgMS40LDAgMi4zODc1LC0wLjMgMy4xODc1LC0xIDAuNywtMC43IDEuMDkzNzUsLTEuNjkzNzUgMS4wOTM3NSwtMy4wOTM3NSBsIDAsLTAuNSAtMi45MDYyNSwtMC4yMTg3NSBjIDAsMSAtMC4wODEyLDEuNiAtMC4yODEyNSwyIC0wLjEsMC40IC0wLjUsMC42MjUgLTEsMC42MjUgLTAuMywwIC0wLjYxMjUsLTAuMTEyNSAtMC44MTI1LC0wLjMxMjUgLTAuMiwtMC4zIC0wLjMwNjI1LC0wLjU5Mzc1IC0wLjQwNjI1LC0xLjA5Mzc1IC0wLjEsLTAuNSAtMC4wOTM3LC0xLjIxODc1IC0wLjA5MzcsLTIuMjE4NzUgbCAwLC0wLjc4MTI1IDUuNzE4NzUsLTAuMDkzNzUgMCwtMi42MjUgYyAwLC0xLjYgLTAuMTA2MjUsLTIuNzg3NSAtMC40MDYyNSwtMy42ODc1IC0wLjIsLTAuODk5OTk5OSAtMC43MTI1LC0xLjU5OTk5OTkgLTEuMzEyNSwtMS45OTk5OTk5IC0wLjcsLTAuNCAtMS40ODc1LC0wLjU5Mzc0OTkgLTIuNjg3NSwtMC41OTM3NDk5IHogbSAtNTAuNDk5OTY3LDAuMDkzNzUgYyAtMS4wOTk5OTksMCAtMi4wMTg3NDksMC4xODc0OTk5IC0yLjcxODc0OCwwLjY4NzQ5OTkgLTAuNywwLjQgLTEuMiwxLjEyNSAtMS40OTk5OTksMi4xMjQ5OTk5IC0wLjMsMSAtMC41LDIuMjc1IC0wLjUsMy44NzUgbCAwLDIuMjE4NzUgYyAwLDEuNSAwLjEwNjI1LDIuNzgxMjUgMC40MDYyNSwzLjc4MTI1IDAuMiwwLjkgMC43MDYyNDksMS42MjUgMS40MDYyNDksMi4xMjUgMC42OTk5OTksMC41IDEuNzEyNDk5LDAuNjgxMjUgMi44MTI0OTgsMC43ODEyNSAxLjE5OTk5OSwwIDIuMDgxMjQ5LC0wLjI4NzUgMi43ODEyNDksLTAuNjg3NSAwLjY5OTk5OSwtMC40IDEuMDk5OTk5LC0xLjA5Mzc1IDEuNDk5OTk5LC0yLjA5Mzc1IDAuMzk5OTk5LC0xIDAuNDk5OTk5LC0yLjMwNjI1IDAuNDk5OTk5LC0zLjkwNjI1IGwgMCwtMi4yMTg3NSBjIDAsLTEuNiAtMC4yLC0yLjg3NSAtMC40OTk5OTksLTMuODc1IC0wLjMsLTAuODk5OTk5OSAtMC44LC0xLjYyNDk5OTkgLTEuNDk5OTk5LC0yLjEyNDk5OTkgLTAuNywtMC41IC0xLjU4NzUsLTAuNjg3NDk5OSAtMi42ODc0OTksLTAuNjg3NDk5OSB6IG0gMTIuMTg3NDkzLDAuMDkzNzUgMCwxMS45MDYyNDk4IGMgLTAuMSwwLjMgLTAuMjkzNzUsMC40ODc1IC0wLjU5Mzc1LDAuNjg3NSAtMC4yLDAuMiAtMC41MTI1LDAuMzEyNSAtMC44MTI0OTksMC4zMTI1IC0wLjMsMCAtMC41ODc1LC0wLjEwNjI1IC0wLjY4NzUsLTAuNDA2MjUgLTAuMSwtMC4zIC0wLjE4NzUsLTAuNzA2MjUgLTAuMTg3NSwtMS40MDYyNSBsIDAsLTEwLjk5OTk5OTggLTMuNDA2MjQ4LDAgMCwxMS4yMTg3NDk4IGMgMCwxLjQgMC4xODc1LDIuMzkzNzUgMC42ODc1LDMuMDkzNzUgMC40OTk5OTksMC43IDEuMjE4NzQ5LDEgMi4yMTg3NDgsMSAxLjQsMCAyLjQ4NzQ5OSwtMC42OTM3NSAzLjE4NzQ5OSwtMi4wOTM3NSBsIDAuMDkzNzUsMCAwLjMxMjUsMS43ODEyNSAyLjU5Mzc0OSwwIDAsLTE0Ljk5OTk5OTggYyAwLDAgLTMuNDA2MjQ4LDAuMDA2MiAtMy40MDYyNDgsLTAuMDkzNzUgeiBtIDE3LjMxMjQ4OSwwIDAsMTEuOTA2MjQ5OCBjIC0wLjEsMC4zIC0wLjI5Mzc0OSwwLjQ4NzUgLTAuNTkzNzQ5LDAuNjg3NSAtMC4yLDAuMiAtMC41MTI1LDAuMzEyNSAtMC44MTI1LDAuMzEyNSAtMC4zLDAgLTAuNTg3NDk5LC0wLjEwNjI1IC0wLjY4NzQ5OSwtMC40MDYyNSAtMC4xLC0wLjMgLTAuMjE4NzUsLTAuNzA2MjUgLTAuMjE4NzUsLTEuNDA2MjUgbCAwLC0xMC45OTk5OTk4IC0zLjQwNjI0OCwwIDAsMTEuMjE4NzQ5OCBjIDAsMS40IDAuMjE4NzUsMi4zOTM3NSAwLjcxODc0OSwzLjA5Mzc1IDAuNSwwLjcgMS4xODc1LDEgMi4xODc0OTksMSAxLjM5OTk5OSwwIDIuNTE4NzQ5LC0wLjY5Mzc1IDMuMjE4NzQ4LC0yLjA5Mzc1IGwgMC4wOTM3NSwwIDAuMjgxMjUsMS43ODEyNSAyLjYyNDk5OCwwIDAsLTE0Ljk5OTk5OTggYyAwLDAgLTMuNDA2MjQ4LDAuMDA2MiAtMy40MDYyNDgsLTAuMDkzNzUgeiBtIDIwLjkwNjIzNSwyLjA5Mzc0OTggYyAwLjQsMCAwLjU4MTI1LDAuMTEyNSAwLjc4MTI1LDAuMzEyNSAwLjIsMC4zIDAuMzA2MjUsMC41OTM3NSAwLjQwNjI1LDEuMDkzNzUgMC4xLDAuNSAwLjA5MzcsMS4yMTg3NSAwLjA5MzcsMi4yMTg3NSBsIDAsMS4wOTM3NSAtMi41LDAgMCwtMS4wOTM3NSBjIDAsLTEgLTAuMDA2LC0xLjcxODc1IDAuMDkzNywtMi4yMTg3NSAwLC0wLjQgMC4xMTI1LC0wLjggMC4zMTI1LC0xIDAuMiwtMC4zIDAuNTEyNSwtMC40MDYyNSAwLjgxMjUsLTAuNDA2MjUgeiBtIC01MC40OTk5NjcsMC4xMjUgYyAwLjUsMCAwLjgsMC4xODc1IDEsMC42ODc1IDAuMTk5OTk5LDAuNSAwLjI4MTI0OSwxLjMwNjI1IDAuMjgxMjQ5LDIuNDA2MjUgbCAwLDQuNjg3NSBjIDAsMS4xIC0wLjA4MTI1LDEuOTA2MjUgLTAuMjgxMjQ5LDIuNDA2MjUgLTAuMiwwLjUgLTAuNSwwLjY4NzUgLTEsMC42ODc1IC0wLjUsMCAtMC43OTk5OTksLTAuMTg3NSAtMC45OTk5OTksLTAuNjg3NSAtMC4yLC0wLjUgLTAuMzEyNSwtMS4zMDYyNSAtMC4zMTI1LC0yLjQwNjI1IGwgMCwtNC42ODc1IGMgMCwtMS4xIDAuMTEyNSwtMS45MDYyNSAwLjMxMjUsLTIuNDA2MjUgMC4yLC0wLjUgMC40OTk5OTksLTAuNjg3NSAwLjk5OTk5OSwtMC42ODc1IHogbSAzOS42ODc0NzYsMC4wOTM3NSBjIDAuMywwIDAuNjEyNSwwLjEwNjI1IDAuODEyNSwwLjQwNjI1IDAuMiwwLjMgMC4yNzUsMC42NzUgMC4zNzUsMS4zNzUgMC4xLDAuNiAwLjEyNDk5OSwxLjUxODc1IDAuMTI0OTk5LDIuNzE4NzUgbCAwLjA5Mzc1LDEuOTA2MjUgYyAwLDEuMSAwLjAwNjIsMS45OTM3NSAtMC4wOTM3NSwyLjU5Mzc1IC0wLjEsMC42IC0wLjE5OTk5OSwxLjA4MTI1IC0wLjQ5OTk5OSwxLjI4MTI1IC0wLjIsMC4zIC0wLjUwNjI1LDAuNDA2MjUgLTAuOTA2MjUsMC40MDYyNSAtMC4zLDAgLTAuNTEyNDk5LC0wLjA4NzUgLTAuODEyNDk5LC0wLjE4NzUgLTAuMiwtMC4xIC0wLjM5Mzc1LC0wLjI5Mzc1IC0wLjU5Mzc1LC0wLjU5Mzc1IGwgMCwtOC41IGMgMC4xLC0wLjQgMC4yOTM3NSwtMC43IDAuNTkzNzUsLTEgMC4zLC0wLjMgMC42MDYyNDksLTAuNDA2MjUgMC45MDYyNDksLTAuNDA2MjUgeiIsCmNsYXNzOiJ5dHAtc3ZnLWZpbGwiLGZpbGw6IiNmZmYifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3lvdXR1YmVfc2hvcnRzX2JyYW5kXzI0L3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOiIyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0In0sXy5LKCJwYXRoIix7ZDoibTE5LjQ1LDMuODhjMS4xMiwxLjgyLjQ4LDQuMTUtMS40Miw1LjIybC0xLjMyLjc0Ljk0LjQxYzEuMzYuNTgsMi4yNywxLjg1LDIuMzUsMy4yNy4wOCwxLjQzLS42OCwyLjc3LTEuOTcsMy40OWwtOCw0LjQ3Yy0xLjkxLDEuMDYtNC4zNS40Ni01LjQ4LTEuMzUtMS4xMi0xLjgyLS40OC00LjE1LDEuNDItNS4yMmwxLjMzLS43NC0uOTQtLjQxYy0xLjM2LS41OC0yLjI3LTEuODUtMi4zNS0zLjI3LS4wOC0xLjQzLjY4LTIuNzcsMS45Ny0zLjQ5bDgtNC40N2MxLjkxLTEuMDYsNC4zNS0uNDYsNS40OCwxLjM1WiIsCmZpbGw6IiNmMDMifSksXy5LKCJwYXRoIix7ZDoibTEwLDE1bDUtMy01LTN2NloiLGZpbGw6IiNmZmYifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3lvdXR1YmUvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDY3IDYwIixmaWxsOiIifSxfLksoInBhdGgiLHtkOiJNNjMgMTQuODdhNy44ODUgNy44ODUgMCAwMC01LjU2LTUuNTZDNTIuNTQgOCAzMi44OCA4IDMyLjg4IDhTMTMuMjMgOCA4LjMyIDkuMzFjLTIuNy43Mi00LjgzIDIuODUtNS41NiA1LjU2QzEuNDUgMTkuNzcgMS40NSAzMCAxLjQ1IDMwczAgMTAuMjMgMS4zMSAxNS4xM2MuNzIgMi43IDIuODUgNC44MyA1LjU2IDUuNTZDMTMuMjMgNTIgMzIuODggNTIgMzIuODggNTJzMTkuNjYgMCAyNC41Ni0xLjMxYzIuNy0uNzIgNC44My0yLjg1IDUuNTYtNS41NkM2NC4zMSA0MC4yMyA2NC4zMSAzMCA2NC4zMSAzMHMwLTEwLjIzLTEuMzEtMTUuMTN6In0pLApfLksoInBhdGgiLHtmaWxsOiIjRkZGIixjbGFzczoibG9nby1hcnJvdyIsZDoiTTI2LjYgMzkuNDNMNDIuOTMgMzAgMjYuNiAyMC41N3oifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9vdXRsaW5lL2Z1bGxzY3JlZW5fZXhpdC92MS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCwxMEg2VjloM1Y2aDFWMTB6IE0xOCw5aC0zVjZoLTF2NGg0Vjl6IE0xNSwxNWgzdi0xaC00djRoMVYxNXogTTEwLDE0SDZ2MWgzdjNoMVYxNHoifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9vdXRsaW5lL2Z1bGxzY3JlZW4vdjEvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTcsMTFINlY2aDV2MUg3VjExeiBNMTgsNmgtNXYxaDR2NGgxVjZ6IE0xOCwxM2gtMXY0aC00djFoNVYxM3ogTTExLDE3SDd2LTRINnY1aDVWMTd6In0pKTtyZXR1cm4gYX07bHFhPWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShFbmEoKSl9O21xYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi8iLGEsYil9OwpjcWE9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmlkZW50aWZpZXIsZD1iLklqLGU9Yi5leHRyYXMsZj1iLnRhcmdldCxoPWIuUG07Yj1iLm5BO2QmJmF3YWl0IFZZKGEse2lkZW50aWZpZXI6YyxJajpkLHRuOiExLGV4dHJhczplLFBtOmh9KTthd2FpdCBhLmlzVmlzaWJsZShjKXx8KGE9YXdhaXQgWm9hKGEsYyksXy5YTSgiZW5nYWdlbWVudC1wYW5lbC1wdXNoIix7aWRlbnRpZmllcjpjLHd6OmEsTEo6ZixuQTpifSksYyYmXy5vTSgpLmRpc3BhdGNoKF8ua0Eoe3R5cGU6Ik1BSU5fQVBQX0FERF9PUEVOX0VOR0FHRU1FTlRfUEFORUwiLHBheWxvYWQ6e3h6OmN9fSkpKX07Vlk9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmlkZW50aWZpZXIsZD1iLklqO2I9Yi5QbTtjJiYoZCYmYS5PbS5zZXQoYyxkKSxfLlhNKCJlbmdhZ2VtZW50LXBhbmVsLXVwZGF0ZSIse2lkZW50aWZpZXI6Yyx3ejpkLFBtOmJ9KSl9Owp0cWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy55KCk7bnFhKCk7Xy5KeihiLHtqYTpfLkx4LE1iOm9xYX0pO18uSnooYix7amE6Xy5sRixNYjpfLncoIkhUTUxfRElSIik9PT0icnRsIj8icnRsIjoibHRyIn0pO18uSnooYix7amE6Xy5rRixNYjooKT0+ITB9KTtfLkp6KGIse2phOl8ubU8sUGE6WVl9KTtfLkp6KGIse2phOl8uWEwsUGE6Wll9KTtfLkp6KGIse2phOl8ub08sTWI6a3FhfSk7Xy5KeihiLHtqYTpfLkxELE1iOl8udU99KTtfLkp6KGIse2phOl8uY0wsUGE6cHFhfSk7Xy5KeihiLHtqYTpfLmJJLFdjOl8ub019KTtfLkp6KGIse2phOl8ueVAsTWI6bmV3IHFxYX0pO18uSnooYix7amE6Xy52UCxNYjp7VnU6ITAsQ3g6ITB9fSk7Xy5KeihiLHtqYTpfLkpILFdjOigpPT5Qcm9taXNlLnJlc29sdmUoYSl9KTtfLkp6KGIse2phOl8uS0gsV2M6KCk9PigpPT5hfSk7Xy5KeihiLHtqYTokWSxQYTphWn0pO18uSnooYix7amE6Xy5iTCxQYTpycWF9KTtfLkp6KGIse2phOl8uT1csV2M6Xy5oeH0pOwpfLkp6KGIse2phOl8uYk0sTWI6Xy5MT30pO2lmKF8ueCgid2ViX2VuYWJsZV9yZW5kZXJlcl9sb2dnZXIiKSl7bGV0IGM9bmV3IERYO18uTk0od2luZG93LCJuYXZpZ2F0ZSIsKCk9PntjLmFib3J0KCl9KTtfLkp6KGIse2phOl8uQ0csTWI6bmV3IHNxYShjLnNpZ25hbCl9KX19O25xYT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpLGI9YS5yZXNvbHZlKF8uSXkpO18uR3kubWFwcGluZ3Muc2V0KFNXLnRvU3RyaW5nKCkse3R5cGU6Im1hcHBpbmciLHZhbHVlOmJ9KTtfLkp6KGEse2phOl8uSHksTWI6bHFhfSl9O3pYPWZ1bmN0aW9uKCl7dmFyIGE9e30sYj1fLlZ3KCk7YiYmKGEuZGVzdGluYXRpb25TY3JlZW49Yi5nZXRBc0pzb24oKS52ZVR5cGV8fHZvaWQgMCk7YS5uYXZUeXBlPSJTTElfTkFWX1RZUEVfQ09MRCI7YS5hY3Rpb25UeXBlPSJMQVRFTkNZX0FDVElPTl9FTUJFRCI7cmV0dXJue25hdmlnYXRpb246YX19Owp1cWE9ZnVuY3Rpb24oYSxiPXt9KXtyZXR1cm57dHlwZToyLGNvbW1hbmQ6YSxmb3JtOmIuZm9ybX19OwpfLmJaPWZ1bmN0aW9uKGEpe18uQXEoImVwX2luaXRfaWpzIik7dHFhKGEpO3ZhciBiPWRvY3VtZW50LmJvZHk7aWYoIWIpdGhyb3cgRXJyb3IoImllIik7Yj1uZXcgdnFhKHtyb290OmIscEo6Xy55KCl9KTtiLmluc3RhbGwod3FhKTtiLnRyYW5zaXRpb24oImluaXRpYWxpemVkIik7Xy5BcSgiZXBfaW5pdF9pamUiKTtfLngoImVtYmVkc190cmFjaW5nX2tzIil8fHBwYSgpO18uWU09ITA7KF8uTWsoImllbW9iaWxlIil8fF8uTWsoIndpbmRvd3MgcGhvbmUiKSYmXy5NaygiZWRnZSIpKSYmXy5NaygiOyB2aXJ0dWFsIil8fChYb2EoYSksbm9hKCkpO3FvYShhKTtFWT1hO2pxYShhKTthPSFfLngoIm13ZWJfY29tbWFuZF9oYW5kbGVyX3NjcmVlbl9tYW5hZ2VyX2tpbGxzd2l0Y2giKTtiPVtfLlFXLF8uVXosXy5DeV07Sm9hKF8ueCgibXdlYl9jb21tYW5kX2hhbmRsZXJfZGlzYWJsZV9idWlsZF9jb21tYW5kX3BheWxvYWRfc3R1YiIpP3VxYTp2b2lkIDAsYT9fLmh4KCk6dm9pZCAwLGEsCmEsYik7Xy5KeihfLnkoKSx7amE6Xy5VRCxNYjpMWC5pbnN0YW5jZX0pO2lvYSgpO0ZwYSgpfTtXVz1bXTtEb2E9e2dIOiJTTElfU1RBVFVTX1VOS05PV04iLGVIOiJTTElfU1RBVFVTX1NVQ0NFU1MiLGNIOiJTTElfU1RBVFVTX0ZBSUxVUkUiLGZIOiJTTElfU1RBVFVTX1RJTUVPVVQiLGFIOiJTTElfU1RBVFVTX0FCT1JURUQiLGJIOiJTTElfU1RBVFVTX0NBTkNFTExFRCIsZEg6IlNMSV9TVEFUVVNfUkVKRUNURUQifTtjWj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZXZlbnRzPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmV2ZW50cy5jbGVhcigpfX07CktuYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgeHFhO3RoaXMudj1uZXcgY1o7dGhpcy5CPW5ldyBjWjt0aGlzLm89MDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMuaj1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuai5saXN0ZW4oInRpY2siLHRoaXMuZmx1c2gsITEsdGhpcyl9Zmx1c2goKXtpZih0aGlzLm8pe3ZhciBhPXtsb2dnZWRFdmVudHM6WVcodGhpcy52KSx1bmxvZ2dlZEV2ZW50czpZVyh0aGlzLkIpfTtpZihfLngoImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyIpKXt2YXIgYjsoYj1fLncoIlBMQVlFUl9DTElFTlRfVkVSU0lPTiIpKT8oYj1iLnNwbGl0KCItIilbMF0ucmVwbGFjZSgvXC4vZywiIiksYj1pc05hTihOdW1iZXIoYikpPyIwIjpiKTpiPSIiO3ZhciBjPV8udygiUExBWUVSX0NMSUVOVF9WRVJTSU9OIik7aWYoYyl7Yz1jLnNwbGl0KCItIik7bGV0IGQ9IiI7Yy5sZW5ndGg+MSYmKGQ9Y1tjLmxlbmd0aC0xXSk7Yz0KSm5hKGQuc3RhcnRzV2l0aCgiY2FuYXJ5X2V4cGVyaW1lbnQiKT8iY2FuYXJ5IjpkLnN0YXJ0c1dpdGgoImNhbmFyeV9jb250cm9sIik/ImNvbnRyb2wiOiJub25lIil9ZWxzZSBjPSJDTElFTlRfQ0FOQVJZX1NUQVRFX1VOS05PV04iO2EuZGltZW5zaW9ucz17cGxheWVyQ2xpZW50VmVyc2lvbjpiLHBsYXllckNhbmFyeVN0YXRlOmN9fXRoaXMuRC5mbHVzaChhKTt0aGlzLnYuY2xlYXIoKTt0aGlzLkIuY2xlYXIoKTt0aGlzLm89MDt0aGlzLmouZW5hYmxlZCYmdGhpcy5qLnN0b3AoKX19fTt4cWE9Y2xhc3N7Zmx1c2goYSxiKXtfLngoImVuYWJsZV9jbGllbnRfc2xpX2xvZ2dpbmciKSYmXy5FcCgic2xpRXZlbnRCYXRjaCIsYSx7c2VuZElzb2xhdGVkUGF5bG9hZDohIWJ9KX19O2RaPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfX07CmVaPWNsYXNzIGV4dGVuZHMgZFp7Z2V0IGVudGl0eU1ldGFkYXRhKCl7cmV0dXJuIHRoaXMuai5lbnRpdHlNZXRhZGF0YX1zZXQgZW50aXR5TWV0YWRhdGEoYSl7dGhpcy5qLmVudGl0eU1ldGFkYXRhPWF9fTt5cWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O3pxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmoudmlkZW8mJmEucHVzaCh0aGlzLmoudmlkZW8pO3RoaXMuai5wbGF5bGlzdCYmYS5wdXNoKHRoaXMuai5wbGF5bGlzdCk7dGhpcy5qLnZpZGVvSXRlbSYmYS5wdXNoKHRoaXMuai52aWRlb0l0ZW0pO3RoaXMuai5wbGF5bGlzdEl0ZW0mJmEucHVzaCh0aGlzLmoucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19OwpBcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTtCcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnJlY29tbWVuZGVkVmlkZW9NZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgQXFhKHRoaXMuai5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfX07Q3FhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja1Bvc2l0aW9uJiZhLnB1c2godGhpcy5qLnBsYXliYWNrUG9zaXRpb24pO3JldHVyblsuLi4obmV3IFNldChhKSldfX07CkRxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmouY3JlYXRvckVudGl0eSYmYS5wdXNoKHRoaXMuai5jcmVhdG9yRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O2ZaPSExOwpFcWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5jb3VudGVyPVswLDAsMCwwXTt0aGlzLm89bmV3IFVpbnQ4QXJyYXkoMTYpO3RoaXMuaj0xNjtpZighZlope3ZhciBiLGM9bmV3IFVpbnQ4QXJyYXkoMjU2KSxkPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIGU9MTtmb3IoYj0wO2I8MjU2O2IrKyljW2VdPWIsZFtiXT1lLGVePWU8PDFeKGU+PjcmJjI4Myk7Z1g9bmV3IFVpbnQ4QXJyYXkoMjU2KTtjWD1iWCgyNTYpO2RYPWJYKDI1Nik7ZVg9YlgoMjU2KTtmWD1iWCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7ZT1oP2RbMjU1XmNbaF1dOjA7ZV49ZTw8MV5lPDwyXmU8PDNeZTw8NDtlPWUmMjU1XmU+Pj44Xjk5O2dYW2hdPWU7Yj1lPDwxXihlPj43JiYyODMpO3ZhciBmPWJeZTtjWFtoXT1iPDwyNHxlPDwxNnxlPDw4fGY7ZFhbaF09Zjw8MjR8Y1hbaF0+Pj44O2VYW2hdPWU8PDI0fGRYW2hdPj4+ODtmWFtoXT1lPDwyNHxlWFtoXT4+Pjh9Zlo9CiEwfWU9YlgoNDQpO2ZvcihjPTA7Yzw0O2MrKyllW2NdPWFbNCpjXTw8MjR8YVs0KmMrMV08PDE2fGFbNCpjKzJdPDw4fGFbNCpjKzNdO2ZvcihkPTE7Yzw0NDtjKyspYT1lW2MtMV0sYyU0fHwoYT0oZ1hbYT4+MTYmMjU1XV5kKTw8MjR8Z1hbYT4+OCYyNTVdPDwxNnxnWFthJjI1NV08PDh8Z1hbYT4+PjI0XSxkPWQ8PDFeKGQ+PjcmJjI4MykpLGVbY109ZVtjLTRdXmE7dGhpcy5rZXk9ZX1lbmNyeXB0KGEpe3ZhciBiPWEubGVuZ3RoO2E9bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIuc2xpY2UoYS5ieXRlT2Zmc2V0LGEuYnl0ZU9mZnNldCtiKSk7Zm9yKHZhciBjPXRoaXMubyxkPTA7ZDxiJiZ0aGlzLmo8MTY7KWFbZCsrXV49Y1t0aGlzLmorK107Zm9yKHZhciBlPWItKGItZCklMTY7ZDxlOyloWCh0aGlzKSxhW2QrK11ePWNbMF0sYVtkKytdXj1jWzFdLGFbZCsrXV49Y1syXSxhW2QrK11ePWNbM10sYVtkKytdXj1jWzRdLGFbZCsrXV49Y1s1XSxhW2QrK11ePWNbNl0sYVtkKytdXj1jWzddLAphW2QrK11ePWNbOF0sYVtkKytdXj1jWzldLGFbZCsrXV49Y1sxMF0sYVtkKytdXj1jWzExXSxhW2QrK11ePWNbMTJdLGFbZCsrXV49Y1sxM10sYVtkKytdXj1jWzE0XSxhW2QrK11ePWNbMTVdO2lmKGQ8Yilmb3IoaFgodGhpcyksdGhpcy5qPTA7ZDxiOylhW2QrK11ePWNbdGhpcy5qKytdO3JldHVybiBhfX07Z1o9ITE7RnFhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy52PWE7dGhpcy5vPWJ9YXN5bmMgZW5jcnlwdChhLGIpe3RyeXtyZXR1cm4gYXdhaXQgTm5hKHRoaXMsYSxiKX1jYXRjaChjKXt0aHJvdyBfLklwKGMpLGdaPSEwLGM7fX19OwppWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YX1lbmNyeXB0KGEsYil7dGhpcy5qfHwodGhpcy5qPW5ldyBFcWEodGhpcy5vKSk7dmFyIGM9dGhpcy5qO2ZvcihsZXQgZD0wO2Q8NDtkKyspYy5jb3VudGVyW2RdPWJbZCo0XTw8MjR8YltkKjQrMV08PDE2fGJbZCo0KzJdPDw4fGJbZCo0KzNdO2Muaj0xNjtyZXR1cm4gdGhpcy5qLmVuY3J5cHQoYSl9ZGVjcnlwdChhLGIpe3JldHVybiB0aGlzLmVuY3J5cHQoYSxiKX19OwpHcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YTp7aWYoIWdaJiYhXy5KbCl7aWYoaFope3ZhciBiPWhaO2JyZWFrIGF9aFo9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKGhaPy5pbXBvcnRLZXkmJmhaPy5zaWduJiZoWj8uZW5jcnlwdCl7Yj1oWjticmVhayBhfWhaPXZvaWQgMH1iPXZvaWQgMH1iJiYodGhpcy5qPW5ldyBGcWEoYSxiKSk7dGhpcy5vPW5ldyBpWihhKX1hc3luYyBlbmNyeXB0KGEsYil7aWYodGhpcy5qKXRyeXtyZXR1cm4gYXdhaXQgdGhpcy5qLmVuY3J5cHQoYSxiKX1jYXRjaChjKXtfLklwKGMpLGdaPSEwLHRoaXMuaj12b2lkIDB9cmV0dXJuIHRoaXMuby5lbmNyeXB0KGEsYil9ZGVjcnlwdChhLGIpe3JldHVybiB0aGlzLmVuY3J5cHQoYSxiKX19OwpIcWE9e0lOVkFMSURfRU5DT0RFUl9WRVJTSU9OOiJJbnZhbGlkIGVuY29kZXIgdmVyc2lvbiIsS0VZX0NSRUFUSU9OX0ZBSUxFRDoiRmFpbGVkIHRvIGNyZWF0ZSBlbmNvZGVyIGtleSIsVU5LTk9XTl9ERUNPREVfRVJST1I6IkZhaWxlZCB0byBkZWNvZGUgUEVTIGRhdGEiLFVOS05PV05fRU5DT0RFX0VSUk9SOiJGYWlsZWQgdG8gZW5jb2RlIFBFUyBkYXRhIixXUk9OR19EQVRBX1RZUEU6IkVuY29kZXIgY2Fubm90IHByb2Nlc3MgdGhlIGRhdGEgdHlwZSJ9O2lYPWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGI9e30pe3N1cGVyKEhxYVthXSx7bmFtZToiUEVTRW5jb2RlckVycm9yIix0eXBlOmEsLi4uYn0pO3RoaXMudHlwZT1hO3RoaXMubGV2ZWw9IldBUk5JTkciO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLGlYLnByb3RvdHlwZSl9fTsKalo9Y2xhc3N7ZW5jb2RlKGEsYil7dHJ5e3JldHVybiB0aGlzLnYoYSxiKX1jYXRjaChjKXtqWChjLE9uYSl9fWRlY29kZShhLGIpe3RyeXtyZXR1cm4gdGhpcy5vKGEsYil9Y2F0Y2goYyl7algoYyxQbmEpfX19O0lxYT1jbGFzcyBleHRlbmRzIGpae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9dihhLGIpe2I9a1goYik7YT0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoYSkpO3JldHVybiB0aGlzLmouZW5jcnlwdChhLGIpfW8oYSxiKXtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaVgoIldST05HX0RBVEFfVFlQRSIse0lwOjF9KTt2YXIgYz1uZXcgVGV4dERlY29kZXI7Yj1rWChiKTthPXRoaXMuai5kZWNyeXB0KGEsYik7cmV0dXJuIEpTT04ucGFyc2UoYy5kZWNvZGUoYSkpfX07ClFuYT17YW5pbWF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFuaW1hdGlvbkVudGl0eSJ9fSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhY2NvdW50TGlua1N0YXR1c0VudGl0eSJ9fSxhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFza1N0dWRpb0dlbmVyYXRlZERhdGFFbnRpdHkifX0sYm9vbGVhbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJib29sZWFuRW50aXR5In19LGJ1dHRvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJidXR0b25FbnRpdHkifX0sY2FwdGlvblRyYWNrOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNhcHRpb25UcmFjayJ9fSwKY2hhbm5lbEhhbmRsZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjaGFubmVsSGFuZGxlIn19LGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hhdExvYWRpbmdTdGF0ZUVudGl0eSJ9fSxhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHkifX0sY2hpcEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjaGlwRW50aXR5In19LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5In19LApjb21tZXJjZUNhcnRMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlQ2FydExpc3RFbnRpdHkifX0sY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHkifX0sY29tcG9zaXRlU291cmNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbXBvc2l0ZVNvdXJjZUVudGl0eSJ9fSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jb21wb3NpdGVTb3VyY2VLZXlzJiZhLnB1c2goLi4udGhpcy5qLmNvbXBvc2l0ZVNvdXJjZUtleXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11bHRpdmlld1N0YWdpbmdFbnRpdHkifX0sY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkIn19LApjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbnRleHROb3RlVXNlclJhdGluZ0VudGl0eVBheWxvYWQifX0sY29udGludWF0aW9uVG9rZW5FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29udGludWF0aW9uVG9rZW5FbnRpdHkifX0sZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eSJ9fSxkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2Fkc1BhZ2VSZWZyZXNoVG9rZW5FbnRpdHkifX0sZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eSJ9fSwKZG93bmxvYWRTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZG93bmxvYWRTdGF0dXNFbnRpdHkifX0sZGlzbWlzc1N0YXRlOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRpc21pc3NTdGF0ZSJ9fSxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHkifX0sZW1vamlGb3VudGFpbkRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZW1vamlGb3VudGFpbkRhdGFFbnRpdHkifX0sZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eSJ9fSwKZmFrZUNoYW5uZWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsdGVybmF0ZUNoYW5uZWwmJmEucHVzaCh0aGlzLmouYWx0ZXJuYXRlQ2hhbm5lbCk7dGhpcy5qLmFsdGVybmF0ZUNoYW5uZWxMaXN0JiZhLnB1c2goLi4udGhpcy5qLmFsdGVybmF0ZUNoYW5uZWxMaXN0KTt0aGlzLmoub25lb2ZDaGFubmVsRW50aXR5JiZhLnB1c2godGhpcy5qLm9uZW9mQ2hhbm5lbEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZUNoYW5uZWwifX0sZmFrZVBsYXlsaXN0OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5lbnRyeUNvbGxlY3Rpb24mJmEucHVzaCh0aGlzLmouZW50cnlDb2xsZWN0aW9uKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmYWtlUGxheWxpc3QifX0sZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmoucGFyZW50UGxheWxpc3QmJmEucHVzaCh0aGlzLmoucGFyZW50UGxheWxpc3QpO2lmKHRoaXMuai5lbnRyaWVzKWZvcihsZXQgYiBvZiB0aGlzLmouZW50cmllcylhLnB1c2goLi4uKG5ldyB5cWEoYikpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uIn19LGZha2VWaWRlbzpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouZGVzY3JpcHRpb25FbnRpdHkmJmEucHVzaCh0aGlzLmouZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuai5jcmVhdG9ycyYmYS5wdXNoKC4uLnRoaXMuai5jcmVhdG9ycyk7dGhpcy5qLnRoZUJpZ2dlc3RGYW4mJmEucHVzaCh0aGlzLmoudGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVZpZGVvIn19LGZha2VWaWRlb0Rlc2NyaXB0aW9uOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VWaWRlb0Rlc2NyaXB0aW9uIn19LApmZWF0dXJlZFByb2R1Y3RzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZlYXR1cmVkUHJvZHVjdHNFbnRpdHkifX0sc2F2ZWRQcm9kdWN0c1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eSJ9fSxmbG93U3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmxvd1N0YXRlRW50aXR5In19LGljb25CYWRnZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJpY29uQmFkZ2VFbnRpdHkifX0saW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5In19LGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eSJ9fSwKbGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHkifX0sZGF0YUZyZXNobmVzc0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkYXRhRnJlc2huZXNzRW50aXR5In19LGxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eSJ9fSxsaXZlVmlld2VyTGVhZGVyYm9hcmRQb2ludHNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5In19LGxpdmVSZWFjdGlvbnNEYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVSZWFjdGlvbnNEYXRhRW50aXR5In19LApsb2dvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxvZ29FbnRpdHkifX0sbWFjcm9NYXJrZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFjcm9NYXJrZXJFbnRpdHkifX0sbWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmouZG93bmxvYWRzTGlzdCk7dGhpcy5qLnNtYXJ0RG93bmxvYWRzTGlzdCYmYS5wdXNoKHRoaXMuai5zbWFydERvd25sb2Fkc0xpc3QpO3RoaXMuai5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmoucmVjb21tZW5kZWREb3dubG9hZHNMaXN0KTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eSJ9fSwKbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7aWYodGhpcy5qLmRvd25sb2Fkcylmb3IobGV0IGIgb2YgdGhpcy5qLmRvd25sb2FkcylhLnB1c2goLi4uKG5ldyB6cWEoYikpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkifX0sbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eSJ9fSxtYWluUGxheWxpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmNoYW5uZWxPd25lciYmCmEucHVzaCh0aGlzLmouY2hhbm5lbE93bmVyKTt0aGlzLmoudmlkZW9zJiZhLnB1c2goLi4udGhpcy5qLnZpZGVvcyk7dGhpcy5qLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZhLnB1c2goLi4udGhpcy5qLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLmouZG93bmxvYWRTdGF0ZSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZFN0YXRlKTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluUGxheWxpc3RFbnRpdHkifX0sbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmouY2hhbm5lbENvbnRyaWJ1dG9yJiZhLnB1c2godGhpcy5qLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0VmlkZW9FbnRpdHkifX0sCm1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBsYXliYWNrRGF0YSYmYS5wdXNoKHRoaXMuai5wbGF5YmFja0RhdGEpO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHkifX0sbWFpblZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5vd25lciYmYS5wdXNoKHRoaXMuai5vd25lcik7dGhpcy5qLmRvd25sb2FkU3RhdGUmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0ZSk7dGhpcy5qLnVzZXJTdGF0ZSYmYS5wdXNoKC4uLihuZXcgQ3FhKHRoaXMuai51c2VyU3RhdGUpKS5vKCkpOwp0aGlzLmouYWRkaXRpb25hbE1ldGFkYXRhJiZhLnB1c2goLi4uKG5ldyBCcWEodGhpcy5qLmFkZGl0aW9uYWxNZXRhZGF0YSkpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblZpZGVvRW50aXR5In19LG1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5In19LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eSJ9fSxtdXNpY0FsYnVtUmVsZWFzZURldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouYWxidW1SZWxlYXNlJiZhLnB1c2godGhpcy5qLmFsYnVtUmVsZWFzZSk7dGhpcy5qLnRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai50cmFja3MpOwpyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FsYnVtUmVsZWFzZURldGFpbCJ9fSxtdXNpY0FsYnVtUmVsZWFzZURvd25sb2FkTWV0YWRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMmJmEucHVzaCguLi50aGlzLmoudHJhY2tEb3dubG9hZE1ldGFkYXRhcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljQWxidW1SZWxlYXNlOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJmEucHVzaCh0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLmoucHJpbWFyeUFydGlzdHMmJmEucHVzaCguLi50aGlzLmoucHJpbWFyeUFydGlzdHMpO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpOwp0aGlzLmoudXNlckRldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai50cmFja3MmJmEucHVzaCguLi50aGlzLmoudHJhY2tzKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5kb3dubG9hZE1ldGFkYXRhJiZhLnB1c2godGhpcy5qLmRvd25sb2FkTWV0YWRhdGEpO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlIn19LG11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouYWxidW1SZWxlYXNlJiZhLnB1c2godGhpcy5qLmFsYnVtUmVsZWFzZSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsIn19LG11c2ljQXJ0aXN0RGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmoucGFyZW50QXJ0aXN0JiZhLnB1c2godGhpcy5qLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBcnRpc3REZXRhaWwifX0sbXVzaWNBcnRpc3Q6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FydGlzdCJ9fSxtdXNpY0FydGlzdFVzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudEFydGlzdCYmYS5wdXNoKHRoaXMuai5wYXJlbnRBcnRpc3QpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQXJ0aXN0VXNlckRldGFpbCJ9fSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai5kb3dubG9hZGVkVHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRUcmFja3MpO3RoaXMuai5zbWFydERvd25sb2FkZWRUcmFja3MmJmEucHVzaCguLi50aGlzLmouc21hcnREb3dubG9hZGVkVHJhY2tzKTt0aGlzLmouZG93bmxvYWRlZEVwaXNvZGVzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRFcGlzb2Rlcyk7dGhpcy5qLmRvd25sb2FkZWRBbGJ1bVJlbGVhc2VzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRBbGJ1bVJlbGVhc2VzKTt0aGlzLmouc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmYS5wdXNoKC4uLnRoaXMuai5zbWFydERvd25sb2FkZWRBbGJ1bVJlbGVhc2VzKTt0aGlzLmouZG93bmxvYWRlZFBsYXlsaXN0cyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkUGxheWxpc3RzKTt0aGlzLmouc21hcnREb3dubG9hZGVkUGxheWxpc3RzJiZhLnB1c2goLi4udGhpcy5qLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5qLm1ldGFkYXRhT25seVRyYWNrcyYmCmEucHVzaCguLi50aGlzLmoubWV0YWRhdGFPbmx5VHJhY2tzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHkifX0sbXVzaWNMaWJyYXJ5RWRpdDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0xpYnJhcnlFZGl0In19LG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkifX0sbXVzaWNQbGF5bGlzdDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrcyk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7dGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmYS5wdXNoKHRoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpOwp0aGlzLmouZGV0YWlscyYmYS5wdXNoKHRoaXMuai5kZXRhaWxzKTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmouc2lkZWxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLmoudXNlckRldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai5lbnRyeUNvbGxlY3Rpb24mJmEucHVzaCh0aGlzLmouZW50cnlDb2xsZWN0aW9uKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgRHFhKHRoaXMuai5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSkpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNQbGF5bGlzdCJ9fSxtdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMmJmEucHVzaCguLi50aGlzLmoudHJhY2tEb3dubG9hZE1ldGFkYXRhcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkifX0sbXVzaWNTaGFyZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1NoYXJlIn19LG11c2ljVHJhY2tEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudFRyYWNrJiZhLnB1c2godGhpcy5qLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1RyYWNrRGV0YWlsIn19LG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja0RhdGEmJmEucHVzaCh0aGlzLmoucGxheWJhY2tEYXRhKTsKdGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHkifX0sbXVzaWNUcmFjazpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5JiZhLnB1c2godGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSk7dGhpcy5qLmFydGlzdHMmJmEucHVzaCguLi50aGlzLmouYXJ0aXN0cyk7dGhpcy5qLmF1ZGlvTW9kZVZlcnNpb24mJmEucHVzaCh0aGlzLmouYXVkaW9Nb2RlVmVyc2lvbik7dGhpcy5qLnZpZGVvTW9kZVZlcnNpb24mJmEucHVzaCh0aGlzLmoudmlkZW9Nb2RlVmVyc2lvbik7dGhpcy5qLnVzZXJEZXRhaWxzJiYKYS5wdXNoKHRoaXMuai51c2VyRGV0YWlscyk7dGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3RoaXMuai5zaGFyZSYmYS5wdXNoKHRoaXMuai5zaGFyZSk7dGhpcy5qLmxpYnJhcnlFZGl0JiZhLnB1c2godGhpcy5qLmxpYnJhcnlFZGl0KTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTt0aGlzLmoubHlyaWNzJiZhLnB1c2godGhpcy5qLmx5cmljcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFjayJ9fSxtdXNpY1RyYWNrVXNlckRldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoucGFyZW50VHJhY2smJmEucHVzaCh0aGlzLmoucGFyZW50VHJhY2spOwpyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1RyYWNrVXNlckRldGFpbCJ9fSxvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5In19LG9mZmxpbmVWaWRlb1BvbGljeTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lVmlkZW9Qb2xpY3kifX0sb2ZmbGluZVZpZGVvU3RyZWFtczpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lVmlkZW9TdHJlYW1zIn19LG9mZmxpbmVhYmlsaXR5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9mZmxpbmVhYmlsaXR5RW50aXR5In19LG9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLmZha2VDaGlsZHJlbiYmYS5wdXNoKC4uLnRoaXMuai5mYWtlQ2hpbGRyZW4pO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eSJ9fSxwYWdlSGVhZGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBhZ2VIZWFkZXJFbnRpdHkifX0scGFydHlHYW1lUGFuZWxFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGFydHlHYW1lUGFuZWxFbnRpdHkifX0sc2xpZGVyR2FtZVBhbmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNsaWRlckdhbWVQYW5lbEVudGl0eSJ9fSxwZHBTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwZHBTdGF0ZUVudGl0eSJ9fSxwaW5uZWRQcm9kdWN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBpbm5lZFByb2R1Y3RFbnRpdHkifX0sCnBsYXliYWNrRGF0YTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudHJhbnNmZXImJmEucHVzaCh0aGlzLmoudHJhbnNmZXIpO3RoaXMuai5hZHNQbGF5YmFja0RhdGEmJmEucHVzaCguLi50aGlzLmouYWRzUGxheWJhY2tEYXRhKTt0aGlzLmouZHJtTGljZW5zZSYmYS5wdXNoKHRoaXMuai5kcm1MaWNlbnNlKTt0aGlzLmoub2ZmbGluZVZpZGVvUG9saWN5JiZhLnB1c2godGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZhLnB1c2godGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwbGF5YmFja0RhdGEifX0scGxheWVyU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWVyU3RhdGVFbnRpdHkifX0scGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwbGF5bGlzdFRodW1ibmFpbEVkaXRzRW50aXR5In19LApxdWFudGl0eUluY3JlbWVudGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInF1YW50aXR5SW5jcmVtZW50ZXJFbnRpdHkifX0scmVmcmVzaDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJyZWZyZXNoIn19LHNhdmVUb1BsYXlsaXN0TGlzdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHkifX0sc2VsZWN0ZWRDaGlwSW5kZXhFbnRpdHlQYXlsb2FkOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZCJ9fSxzZWxlY3Rpb25WYWx1ZUxpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5In19LHNldHRpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2V0dGluZ0VudGl0eSJ9fSwKc3RyaW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInN0cmluZ0VudGl0eSJ9fSxzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eSJ9fSx0cmFuc2ZlcjpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoub2ZmbGluZVZpZGVvU3RyZWFtcyYmYS5wdXNoKC4uLnRoaXMuai5vZmZsaW5lVmlkZW9TdHJlYW1zKTt0aGlzLmouY2FwdGlvblRyYWNrJiZhLnB1c2goLi4udGhpcy5qLmNhcHRpb25UcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4idHJhbnNmZXIifX0sdHJlbmRpbmdPZmZlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ0cmVuZGluZ09mZmVyRW50aXR5In19LAp1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eSJ9fSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSJ9fSx2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHkifX0sdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSJ9fSx2b3RpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idm90aW5nRW50aXR5In19LAp5dE1haW5DaGFubmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai51c2VyQ2hhbm5lbERldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckNoYW5uZWxEZXRhaWxzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5DaGFubmVsRW50aXR5In19LHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ieW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eSJ9fSx5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmoucGxheWJhY2tEYXRhJiZhLnB1c2godGhpcy5qLnBsYXliYWNrRGF0YSk7dGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSYmYS5wdXNoKHRoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eSJ9fSwKeXRNYWluVmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmNoYW5uZWxPd25lciYmYS5wdXNoKHRoaXMuai5jaGFubmVsT3duZXIpO3RoaXMuai5wbGF5YmFja1Bvc2l0aW9uJiZhLnB1c2godGhpcy5qLnBsYXliYWNrUG9zaXRpb24pO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmouZG93bmxvYWRTdGF0dXMmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0dXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInl0TWFpblZpZGVvRW50aXR5In19fTtYbmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9YTt0aGlzLm89Yjt0aGlzLnY9e319fTsKSnFhPWNsYXNzIGV4dGVuZHMgalp7dihhKXtyZXR1cm4gYX1vKGEpe2lmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBpWCgiV1JPTkdfREFUQV9UWVBFIix7SXA6MH0pO3JldHVybiBhfX07Wm5hPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPXt9O3RoaXMualswXT1uZXcgSnFhO2lmKCFfLngoImFlc19wZXNfZW5jb2Rlcl9raWxsc3dpdGNoIikpe3ZhciBhPXRoaXMuajt0cnl7bGV0IGQ9Xy5WaigpO3ZhciBiPWtYKGQpO3ZhciBjPW5ldyBJcWEobmV3IGlaKGIpLG5ldyBHcWEoYikpfWNhdGNoKGQpe3Rocm93IGE9ZCBpbnN0YW5jZW9mIEVycm9yP25ldyBpWCgiS0VZX0NSRUFUSU9OX0ZBSUxFRCIse29yaWdpbmFsTWVzc2FnZTpkLm1lc3NhZ2V9KTpuZXcgaVgoIktFWV9DUkVBVElPTl9GQUlMRUQiKSxfLkdwKGEpLGE7fWFbMV09Y319fTsKJG5hPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy50b2tlbj1hO3RoaXMuaj1iO3RoaXMub2JzZXJ2ZXJzPVtdO2E9bmV3IF8udS5Ccm9hZGNhc3RDaGFubmVsKGBQRVJTSVNURU5UX0VOVElUWV9TVE9SRV9TWU5DOiR7Xy5WaigpfWApO2Eub25tZXNzYWdlPXRoaXMuby5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1hfW9ic2VydmUoYSl7dGhpcy5vYnNlcnZlcnMucHVzaChhKTtyZXR1cm4oKT0+e3ZhciBiPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2YoYSk7Yj49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKGIsMSl9fW8oYSl7cVgodGhpcyxhLmRhdGEpfWxhKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fTsKTHFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dmFyIGE9S3FhO3RoaXMub2JzZXJ2ZXJzPVtdO3RoaXMudmFsdWU9YX1zdWJzY3JpYmUoYSl7aWYoYS5laiE9bnVsbCl0aHJvdyBFcnJvcigiRmMiKTthLmVqPXRoaXMub2JzZXJ2ZXJzLmxlbmd0aDt0aGlzLm9ic2VydmVycy5wdXNoKGEpO3RyeXthKHRoaXMudmFsdWUpfWNhdGNoKGIpe31yZXR1cm4oKT0+e3ZhciBiPXRoaXMub2JzZXJ2ZXJzW3RoaXMub2JzZXJ2ZXJzLmxlbmd0aC0xXTt0aGlzLm9ic2VydmVyc1thLmVqXT1iO2IuZWo9YS5lajt0aGlzLm9ic2VydmVycy5wb3AoKX19dXBkYXRlKGEpe3RoaXMudmFsdWU9YSh0aGlzLnZhbHVlKTt0aGlzLm5vdGlmeSgpfXNldChhKXt0aGlzLnZhbHVlPWE7dGhpcy5ub3RpZnkoKX1ub3RpZnkoKXtmb3IobGV0IGEgb2YgdGhpcy5vYnNlcnZlcnMpdHJ5e2EodGhpcy52YWx1ZSl9Y2F0Y2goYil7fX19Owpqb2E9e2xhbmRzY2FwZToiKG1heC13aWR0aDogMjk5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLHBvcnRyYWl0OiIobWF4LXdpZHRoOiAyOTlweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIn07WFk9e307a1o9Y2xhc3N7Y29uc3RydWN0b3IoKXtpZih0aGlzLmNvbnN0cnVjdG9yPT09a1opdGhyb3cgbmV3IFR5cGVFcnJvcigic2QiKTt9ZGlzcG9zZSgpe31kaXNjb25uZWN0KCl7fW9ic2VydmUoYSxiLGMpe3JldHVybntlbGVtZW50OmEsb3B0aW9uOmN9fXJmKCl7fX07Ck1xYT1jbGFzcyBleHRlbmRzIGtae2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLmlzQ29ubmVjdGVkPSEwO3RoaXMudj0hMTt0aGlzLm9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcih0aGlzLkIuYmluZCh0aGlzKSx7cm9vdE1hcmdpbjoiLTAuMXB4In0pO3RoaXMubz1uZXcgTWFwO3RoaXMuaj1uZXcgTWFwfWRpc3Bvc2UoKXt0aGlzLmRpc2Nvbm5lY3QoKTt0aGlzLmouY2xlYXIoKX1kaXNjb25uZWN0KGE9ITEpe3RoaXMuaXNDb25uZWN0ZWQ9ITE7dGhpcy52PWE7dGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7Zm9yKGxldCBiIG9mIHRoaXMuby52YWx1ZXMoKSliLmRpc2Nvbm5lY3QoKX1CKGEpe2ZvcihsZXQgYyBvZiBhKXt2YXIgYj10aGlzLmouZ2V0KGMudGFyZ2V0KTtpZighYiljb250aW51ZTthPWMuaXNJbnRlcnNlY3Rpbmc7Zm9yKGxldCBbZCxlXW9mIGIpe2I9ZDtsZXQgZj1lO2ImJihiLnN0YXRlPT09InZpc2libGUiJiZhfHxiLnN0YXRlPT09ImhpZGRlbiImJgohYSkmJihmKGMudGFyZ2V0LGIuc3RhdGUpLGIuVmImJnRoaXMucmYoe2VsZW1lbnQ6Yy50YXJnZXQsb3B0aW9uOmJ9KSl9fX1EKGEpe2ZvcihsZXQgYiBvZiBhKWlmKChhPXRoaXMuai5nZXQoYi50YXJnZXQpKSYmYi5pc0ludGVyc2VjdGluZylmb3IobGV0IFtjLGRdb2YgYSl7YT1jO2xldCBlPWQ7YSYmYS5zdGF0ZT09PSJwcmVzY2FuIiYmKGUoYi50YXJnZXQsYS5zdGF0ZSksYS5WYiYmdGhpcy5yZih7ZWxlbWVudDpiLnRhcmdldCxvcHRpb246YX0pKX19b2JzZXJ2ZShhLGIsYyl7dmFyIGQ9KGQ9dGhpcy5qLmdldChhKSkmJmQuaGFzKGMpP3tlbGVtZW50OmEsb3B0aW9uOmN9OnZvaWQgMDtpZihkKXJldHVybiBkO2Q9e2VsZW1lbnQ6YSxvcHRpb246Y307dGhpcy5qLmhhcyhhKXx8dGhpcy5qLnNldChhLG5ldyBNYXApO3ZhciBlPXRoaXMuai5nZXQoYSk7ZSYmIWUuaGFzKGMpJiZlLnNldChjLGIpO3RoaXMudnx8KGMuc3RhdGU9PT0icHJlc2NhbiImJihiPTAsYS5oYXNBdHRyaWJ1dGUoInByZXNjYW4taGVpZ2h0IikmJgooYz1OdW1iZXIoYS5nZXRBdHRyaWJ1dGUoInByZXNjYW4taGVpZ2h0IikpLGlzTmFOKGMpfHwoYj1jKSksdGhpcy5vLmhhcyhiKT9iPXRoaXMuby5nZXQoYik6KGM9YC0wLjFweCAtMC4xcHggJHtifXB4IC0wLjFweGAsYz1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIodGhpcy5ELmJpbmQodGhpcykse3Jvb3RNYXJnaW46Y30pLHRoaXMuby5zZXQoYixjKSxiPWMpLGIub2JzZXJ2ZShhKSksdGhpcy5vYnNlcnZlci5vYnNlcnZlKGEpKTtyZXR1cm4gZH1yZihhKXt2YXIgYj10aGlzLmouZ2V0KGEuZWxlbWVudCk7aWYoYiYmYi5oYXMoYS5vcHRpb24pKXtiLmRlbGV0ZShhLm9wdGlvbik7aWYoYSYmYS5vcHRpb24uc3RhdGU9PT0icHJlc2NhbiIpZm9yKGxldCBjIG9mIHRoaXMuby52YWx1ZXMoKSljLnVub2JzZXJ2ZShhLmVsZW1lbnQpO2Iuc2l6ZT09PTAmJih0aGlzLmouZGVsZXRlKGEuZWxlbWVudCksdGhpcy5vYnNlcnZlci51bm9ic2VydmUoYS5lbGVtZW50KSl9fX07CnFZPVsieW91dHViZV9maWxsIiwieW91dHViZV9vdXRsaW5lIl07QVg9dm9pZCAwO3ZhciBOcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52YWx1ZT1hfWRlcmVmKCl7cmV0dXJuIHRoaXMudmFsdWV9fSxPcWE9dHlwZW9mIFdlYWtSZWY9PT0iZnVuY3Rpb24iP1dlYWtSZWY6TnFhO3ZhciBGWD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5tYXA9bmV3IFdlYWtNYXB9YWRkKGEsYil7dGhpcy5tYXAuaGFzKGEpfHwodGhpcy5qKGEpLHRoaXMubWFwLnNldChhLFtdKSk7dGhpcy5tYXAuZ2V0KGEpLnB1c2gobmV3IE9xYShiKSl9Z2V0KGEpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWIubWFwLmdldChhKTtpZihjKXt2YXIgZD0wO2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1lLmRlcmVmKCk7ZiYmKGQrKyx5aWVsZCBmKX1pZigyKmQ8Yy5sZW5ndGgpe2Q9MDtmb3IobGV0IGUgb2YgYyllLmRlcmVmKCkmJihjW2QrK109ZSk7Yy5sZW5ndGg9ZH19fSgpfX0oYT0+e2EuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLEFvYSx7b25jZTohMH0pfSksRVg9bmV3IFdlYWtNYXAsRFg9QWJvcnRDb250cm9sbGVyLGxaPUFib3J0U2lnbmFsO3R5cGVvZiBsWi5hYm9ydCE9PSJmdW5jdGlvbiImJihsWi5hYm9ydD14b2EpOwp0eXBlb2YgbFoucHJvdG90eXBlLnRocm93SWZBYm9ydGVkIT09ImZ1bmN0aW9uIiYmKGxaLnByb3RvdHlwZS50aHJvd0lmQWJvcnRlZD15b2EpO3R5cGVvZiBsWi5hbnkhPT0iZnVuY3Rpb24iJiYobFouYW55PXpvYSk7dHlwZW9mIGxaLnRpbWVvdXQhPT0iZnVuY3Rpb24iJiYobFoudGltZW91dD1Cb2EpO3ZhciBHWD0iMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLnNwbGl0KCIiKTt2YXIgVVk9bmV3IF8uSSgiY29weUxpbmtSZW5kZXJlciIpO3ZhciBQcWE9bmV3IF8uSSgiYXVkaW9UcmFja1NlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgUXFhPW5ldyBfLkkoImNhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgUnFhPW5ldyBfLkkoInNob3dBdWRpb1RyYWNrUGlja2VyQWN0aW9uQ29tbWFuZCIpO3ZhciBTcWE9bmV3IF8uSSgic2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgT3BhPW5ldyBfLkkoInBob25lRGlhbGVyRW5kcG9pbnQiKTt2YXIgU3BhPW5ldyBfLkkoInNlbmRTbXNFbmRwb2ludCIpO3ZhciBLcGE9bmV3IF8uSSgiY29weVRleHRFbmRwb2ludCIpO3ZhciBtWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX1vKGE9e30pe0lYKHRoaXMubmFtZSwiU1VDQ0VTUyIsYSl9aihhPXt9KXtJWCh0aGlzLm5hbWUsIkZBSUxVUkUiLGEpfX0sRW9hPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubmFtZT0iU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX0ZVTExTQ1JFRU5fUkVRVUVTVF9TTEkiO3RoaXMuc2xpSWQ9YTt0aGlzLnRpbWVvdXRNcz0zRTQ7dGhpcy5vPSIiO3RoaXMudj0tMTt0aGlzLmo9ITE7dGhpcy5kaW1lbnNpb25zPXt9fWdldElkKCl7cmV0dXJuIHRoaXMuc2xpSWR9RHIoYT17fSl7dGhpcy5qfHwodGhpcy5qPSEwLHRoaXMuZGltZW5zaW9ucz1hLHRoaXMubz1Db2EoKSxaVyh7ZGltZW5zaW9uczp0aGlzLmRpbWVuc2lvbnMscmVjb3Jkczpbe25hbWU6dGhpcy5uYW1lLHN0YXRlOiJTTElfU1RBVEVfU1RBUlQiLHNsaUlkOnRoaXMub31dfSksdGhpcy50aW1lb3V0TXM+MCYmKHRoaXMudj1zZXRUaW1lb3V0KCgpPT4Ke3RoaXMuemcoIlRJTUVPVVQiKX0sdGhpcy50aW1lb3V0TXMpKSl9emcoYSl7dGhpcy5qJiYodGhpcy50aW1lb3V0TXM+MCYmY2xlYXJUaW1lb3V0KHRoaXMudiksdGhpcy5qPSExLGE9e2RpbWVuc2lvbnM6dGhpcy5kaW1lbnNpb25zLHJlY29yZHM6W3tuYW1lOnRoaXMubmFtZSxzdGF0dXM6SFgoYSksc3RhdGU6IlNMSV9TVEFURV9FTkQiLHNsaUlkOnRoaXMub31dfSxfLkV5LnJlZ2lzdGVyLmRlbGV0ZShgJHt0aGlzLm5hbWV9XyR7dGhpcy5zbGlJZH1gKSxaVyhhKSl9fTt2YXIgU1g9bmV3IG1aKCJTTElfTkFNRV9ZT1VUVUJFX0VNQkVEU19XRUJfUExBWUVSX0VSUk9SX1NMSSIpLFRYPW5ldyBtWigiU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX1BMQVlFUl9VTlBMQVlBQkxFX1NMSSIpO3ZhciBHb2E9WyJjbGlja1RyYWNraW5nUGFyYW1zIiwiY29tbWFuZE1ldGFkYXRhIiwibG9nZ2luZ1VybHMiLCJidWlsZENvbW1hbmRQYXlsb2FkIl07dmFyIExYPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPSExLGQ9ITEsZT1bXSl7dmFyIGY9d1g7dGhpcy52PWE7dGhpcy5uYXZpZ2F0ZT12b2lkIDA7dGhpcy5qPWI7dGhpcy5ZPWM7dGhpcy5JPWQ7dGhpcy5CPWY7dGhpcy5LPWU7dGhpcy5NPVtdO3RoaXMubz1uZXcgU2V0O3RoaXMuRD0hMTtLb2EodGhpcyl9cmVzb2x2ZUNvbW1hbmQoYSxiKXtyZXR1cm4gTlgodGhpcyxhLGIpLmhhbmRsZWR9fTt2YXIgblo9bmV3IF8uVnMoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBvWj1jbGFzc3thc3luYyByZXNvbHZlKGEsYil7YXdhaXQgdGhpcy5yZXNvbHZlQ29tbWFuZChhLGIpfX07dmFyIHBaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnN0b3JlPWF9YXN5bmMgcmVzb2x2ZUNvbW1hbmQoYSl7aWYoYT1fLkIoYSxfLnduYSk/LmVudGl0eUJhdGNoVXBkYXRlKWE9ey4uLmEsbXV0YXRpb25zOlsuLi4oYS5tdXRhdGlvbnN8fFtdKV19LGF3YWl0IGRvYShhLHRoaXMuc3RvcmUpfX07cFpbXy5Mbl09W25aXTt2YXIgJFk9bmV3IF8uVnMoIlBBTkVMX0xPQURJTkdfU1RSQVRFR1lfVE9LRU4iKTt2YXIgcVo9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5jb250cm9sbGVyPWE7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT1ifWFzeW5jIHJlc29sdmVDb21tYW5kKGEsYil7dmFyIGM9Xy5CKGEsXy5OVyk7aWYoYz8ucGFuZWxMb2FkaW5nU3RyYXRlZ3kpe3ZhciBkPVZYKHRoaXMuY29udHJvbGxlcixiPy5mb3JtPy5lbGVtZW50KSxlPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5wb3NpdGlvbixmPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5ob3ZlckNvbmZpZyxoPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5leHBhbmRUb0Z1bGxXaWR0aCxrPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5vcGVuVG9TaWRlO2F3YWl0IHRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3kuZXhlY3V0ZSh7Y29tbWFuZDphLGRhdGE6Yy5wYW5lbExvYWRpbmdTdHJhdGVneSxnbjphc3luYyBsPT4Ke2lmKGwuc2hlZXRWaWV3TW9kZWwpe2lmKGYpe3ZhciBtPXRoaXMuY29udHJvbGxlcjttLm89ISFmLnByZXZlbnRDbG9zZVdoaWxlSG92ZXJlZDttLmhpZGVEZWxheU1zPWYuaGlkZURlbGF5TXM/PzA7bS5zaG93RGVsYXlNcz1mLnNob3dEZWxheU1zPz8wfWF3YWl0IHRoaXMuY29udHJvbGxlci53Zyh7dmlld01vZGVsOmwuc2hlZXRWaWV3TW9kZWwsVXI6ZSxleHBhbmRUb0Z1bGxXaWR0aDpoLG9wZW5Ub1NpZGU6a30sZCxiPy5mb3JtPy5lbGVtZW50KX19LGJ2OntsYXllcjowfX0pfX19O3FaW18uTG5dPVtfLmNMLCRZXTt2YXIgVHFhPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoKXtzdXBlcigpfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe3ZhciBiPV8uQihhLFBxYSk7YiYmKGE9YXdhaXQgXy5MSCgpKSYmYT8uaXNSZWFkeT8uKCkmJihiPVFvYShhLGI/Lmxhbmd1YWdlQ29kZSkpJiZhLnNldEF1ZGlvVHJhY2soYil9fTt2YXIgclo9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe3ZhciBiPV8uQihhLFFxYSk7aWYoYiYmKGE9YXdhaXQgXy5MSCgpKSl7dmFyIGM9Yj8ubGFuZ3VhZ2VDb2RlO2I9Yj8uaXNBdXRvVHJhbnNsYXRlZDthLmdldFZpZGVvRGF0YSYmXy4kTyhhKS5sZW5ndGgmJigoYz1Sb2EoYSxjLGIpKT9hLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIsYyk6KGEuc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt9KSxhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIse30pKSk7YT1hLmlzU3VidGl0bGVzT24oKT9fLmFBKCJDQVBUSU9OX09OX1RPQVNUIix2b2lkIDAsIlN1YnRpdGxlcy9DQyB0dXJuZWQgb24iKTpfLmFBKCJDQVBUSU9OX09GRl9UT0FTVCIsdm9pZCAwLCJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9mZiIpO3RoaXMuai5yZXNvbHZlQ29tbWFuZChfLmFRKF8uV0woYSksNUUzKSl9fX07CnJaW18uTG5dPVtfLlVEXTt2YXIgc1o9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEsYil7Xy5CKGEsUnFhKSYmKGE9YXdhaXQgXy5MSCgpKSYmKGE9U29hKGEpKSYmdGhpcy5qLnJlc29sdmVDb21tYW5kKGEsYil9fTtzWltfLkxuXT1bXy5VRF07dmFyIHRaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe18uQihhLFNxYSkmJihhPWF3YWl0IF8uTEgoKSkmJigoYT1Wb2EoYSkpP3RoaXMuai5yZXNvbHZlQ29tbWFuZChhLGIpOihiPV8uYUEoIkNMT1NFRF9DQVBUSU9OU19ESVNBQkxFRCIsdm9pZCAwLCJObyBjYXB0aW9ucyBhcmUgYXZhaWxhYmxlIGZvciB0aGlzIHZpZGVvIiksdGhpcy5qLnJlc29sdmVDb21tYW5kKF8uYVEoXy5XTChiKSkpKSl9fTt0WltfLkxuXT1bXy5VRF07dmFyIHNxYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnNpZ25hbD1hO3RoaXMuaj10aGlzLm8uYmluZCh0aGlzKTt0aGlzLmxvZ2dpbmdFbmFibGVkPSEwO3RoaXMuaWRzPW5ldyBTZXQ7YS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsdGhpcy5qKTt0aGlzLmpvYklkPV8uWWoodGhpcy5qLDFFNCl9d3koYSl7dGhpcy5sb2dnaW5nRW5hYmxlZCYmIXRoaXMuaWRzLmhhcyhhKSYmdGhpcy5pZHMuYWRkKGEpfW8oKXt0aGlzLmxvZ2dpbmdFbmFibGVkJiYodGhpcy5sb2dnaW5nRW5hYmxlZD0hMSxfLmpmLkFhKHRoaXMuam9iSWQpLHRoaXMuc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0Iix0aGlzLmopLFdvYSh0aGlzKSl9fTt2YXIgUlg7dmFyIFVxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuT209bmV3IE1hcDt0aGlzLmo9bmV3IE1hcH1PeihhLGIpe2lmKGEpe3RoaXMuT20uc2V0KGEsYik7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5yZXNvbHZlKGIpLHRoaXMuai5kZWxldGUoYSkpfX19O3ZhciBhWj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMubz1hO3RoaXMudj1ifWooKXtpZih0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5JiZ0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmlubGluZUNvbnRlbnQpcmV0dXJuIHRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3kuaW5saW5lQ29udGVudH1hc3luYyBleGVjdXRlKGEpe3ZhciBiPWEuVEksYz1hLnBhcmVudFZlLGQ9YS5idixlPWEuZ24sZj1hLmNvbW1hbmQ7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT1hLmRhdGE7KGE9dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8uc2NyZWVuVmU/dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8uc2NyZWVuVmU6YikmJl8uRE8odGhpcy52LGEsYyxkKTsoYz10aGlzLmooKSkmJmF3YWl0IGUoYyk7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8ucmVxdWVzdFRlbXBsYXRlJiYoZj1hd2FpdCAkb2EodGhpcyxmKSkmJmF3YWl0IGUoZil9fTthWltfLkxuXT1bXy5JeSxfLk9XXTt2YXIgcHFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPXRoaXMubz0hMTt0aGlzLnNob3dEZWxheU1zPXRoaXMuaGlkZURlbGF5TXM9MDt0aGlzLkQ9ITE7dGhpcy5JPSgpPT57dGhpcy5qPSEwfTt0aGlzLlo9KCk9Pnt0aGlzLmo9ITF9O3RoaXMuVT0oKT0+e3RoaXMuaj0hMH07dGhpcy5LPSgpPT57dGhpcy5qPSExfX1QeihhLGI9ITEpe2I/dGhpcy5NPWE6dGhpcy5jb250YWluZXI9YX1hc3luYyB3ZyhhLGIsYz1iKXtXWCh0aGlzKTt0aGlzLnNob3dEZWxheU1zP3RoaXMuWT1zZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCAkWCh0aGlzLGEsYixjKX0sdGhpcy5zaG93RGVsYXlNcyk6YXdhaXQgJFgodGhpcyxhLGIsYyl9YXN5bmMgSmUoKXtXWCh0aGlzKTt0aGlzLmhpZGVEZWxheU1zP3RoaXMuQj1zZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCBhWSh0aGlzKX0sdGhpcy5oaWRlRGVsYXlNcyk6YXdhaXQgYVkodGhpcyl9YXN5bmMgZG0oKXtyZXR1cm4gVVgodGhpcyk/LmRtKCk/PwohMX19O3ZhciBvcGE9WyJ0b3VjaG1vdmUiLCJzY3JvbGwiXTt2YXIgdVo9ITE7dmFyIGNZPSExO3ZhciBucGE9e2xyKGEpe2EucGFyZW50SWQ9PW51bGwmJih1Wnx8KGJZKCksc2V0SW50ZXJ2YWwoYlksNkU1KSx1Wj0hMCksZlkoYSwid2ViX3RyYWNpbmdfYWN0aW9uIikpfX07dmFyIGhZLEtxYT17aUw6Xy54KCJ3ZWJfdHJhY2luZ19hbGxfY29tcG9uZW50cyIpLFF2Ol8ueCgid2ViX3RyYWNpbmdfZXhwb3J0X3RvX2NzaSIpLEh2OmZ1bmN0aW9uKGEsYil7YT1fLnJqKGEsYik7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/Xy5IdyhhLGM9PlN0cmluZyhjfHwiIikpOltTdHJpbmcoYXx8IiIpXX0oIndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnMiKSxSdjpfLngoIndlYl90cmFjaW5nX2V4cG9ydF90b19kZXZ0b29scyIpLE1xOl8uc2ooInRlbF9tYXhfYnJlYWRjcnVtYnMiLDApfTtoWT1uZXcgTHFhO3ZhciBrcGE9e1JlbmRlcjoiQ09XX1NQQU5fVFlQRV9SRU5ERVIiLE9uSW5pdDoiQ09XX1NQQU5fVFlQRV9PTl9JTklUIixFZmZlY3Q6IkNPV19TUEFOX1RZUEVfRUZGRUNUIixDb21wdXRlZDoiQ09XX1NQQU5fVFlQRV9DT01QVVRFRCIsU2lnbmFsVXBkYXRlOiJDT1dfU1BBTl9UWVBFX1NJR05BTF9VUERBVEUiLFJlbmRlckVmZmVjdDoiQ09XX1NQQU5fVFlQRV9SRU5ERVJfRUZGRUNUIixDcmVhdGVSZWFjdGl2ZUNvbXBvbmVudDoiQ09XX1NQQU5fVFlQRV9DT01QT05FTlRfUkVOREVSIn07dmFyIG1wYT1fLngoIndlYl9zaG9ydHNfZW5hYmxlX3RyYWNpbmciKTt2YXIgdHBhPVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIsImh0dHBzOi8vdHYueW91dHViZS5jb20iLCJodHRwczovL3d3dy5nc3RhdGljLmNvbSIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIl0sdnBhPV8uc2ooIndpbF9pY29uX21heF9jb25jdXJyZW50X2ZldGNoZXMiLEluZmluaXR5KSxaWT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5GYT1hO3RoaXMuS2s9Yjt0aGlzLlk9e307dGhpcy5EPXt9O3RoaXMubz17fTt0aGlzLkk9dGhpcy5jb3VudGVyPTA7dGhpcy5CPSEhXy51LmNhY2hlczt0aGlzLlU9UHJvbWlzZS5yZXNvbHZlKHZvaWQgMCk7dGhpcy5aPXZvaWQgMDt0aGlzLnY9bnVsbDt0aGlzLk09Xy54KCJ3aWxfaWNvbl91c2VfbWFza19yZW5kZXJpbmciKT8xOjA7dGhpcy5vYT1fLngoIndpbF9pY29uX25ldHdvcmtfZmlyc3QiKTt0aGlzLk1hPV8ueCgid2lsX2ljb25fcmVuZGVyX3doZW5faWRsZSIpO3RoaXMuUWE9IV8ueCgid2lsX2ljb25fbG9hZF9pbW1lZGlhdGVseSIpOwp0aGlzLks9ITE7YT0oKT0+e3RoaXMuQiYmKHRoaXMuVT1fLnUuY2FjaGVzLm9wZW4oInl0LWljb25zIikudGhlbihkPT50aGlzLlo9ZCkuY2F0Y2goKCk9Pnt0aGlzLkI9ITF9KSl9O2M9Yz8uKCl8fHt9O2ZvcihsZXQgW2QsZV1vZiBPYmplY3QuZW50cmllcyhjKSljPWQsYj1fLmZDKGUpLGpZKGIpLHRoaXMuRFtjXT1iLmNsb25lTm9kZSghMCk7dGhpcy5LPXFwYSh0aGlzKTt0aGlzLksgaW5zdGFuY2VvZiBQcm9taXNlP3RoaXMuSy50aGVuKGEpOmEoKX1qKGEpe3JldHVybiEhdGhpcy5tZihhKX1hc3luYyB5YShhKXtpZihhLmxlbmd0aCl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpKGE9dGhpcy5tZihjKSkmJiF0aGlzLkRbYS51cmxdJiZiLnB1c2goa1kodGhpcyxhKS50aGVuKCgpPT57fSkuY2F0Y2goKCk9Pnt9KSk7UHJvbWlzZS5hbGwoYil9fXB5KGEpe3ZhciBiPXRoaXMubWYoYSk7cmV0dXJuIGI/dGhpcy5NPT09MT9sWSh0aGlzLGIsdGhpcy5NKTooYT10aGlzLkRbYi51cmxdKT8KKGE9YS5jbG9uZU5vZGUoITApLG5ZKHRoaXMsYSksbFkodGhpcyxiLHRoaXMuTSxhKSk6a1kodGhpcyxiKS50aGVuKGM9Pnt2YXIgZD1jPzA6MTtuWSh0aGlzLGMpO3JldHVybiBsWSh0aGlzLGIsZCxjKX0pOihfLkhwKG5ldyBfLlhqKCJJY29uIG5vdCBmb3VuZCIse2ljb25TaGFwZTphfSkpLCgpPT57fSl9YXN5bmMgZ2EoYSxiKXtyZXR1cm4gcFkodGhpcyxhKS50aGVuKGM9Pnt3cGEodGhpcyxhLGMsYik7cmV0dXJuIGN9KX1hc3luYyBoYShhLGIpe3JldHVybiBiP2IubWF0Y2goYSkudGhlbihjPT5jJiZjLm9rP2M6UHJvbWlzZS5yZWplY3QoKSk6UHJvbWlzZS5yZWplY3QoKX1tZihhKXtyZXR1cm4gdGhpcy5GYS5tZihhKX19O1pZW18uTG5dPVtfLm1PLF8ubEYsXy5JbihfLm9PKV07dmFyIHlwYT17QUNDRVNTX1RJTUU6ImNsb2NrIixBQ0NPVU5UX0JPWDpfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIj8icGVyc29uX2JveCI6InBlcnNvbl9hY2NvdW50IixBQ0NPVU5UX0JPWF9DQUlSTzoicGVyc29uX2FjY291bnRfY2Fpcm8iLEFDQ09VTlRfQ0lSQ0xFOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0NJUkNMRV9DQUlSTzoicGVyc29uX2NpcmNsZV9jYWlybyIsQUNDT1VOVF9MSU5LRUQ6ImFjY291bnRfbGlua19zdWNjZXNzIixBQ0NPVU5UX1VOTElOS0VEOiJhY2NvdW50X2xpbmsiLEFERF9GUklFTkQ6InBlb3BsZSIsQUREX01PREVSQVRPUjoic2hpZWxkX2FkZCIsQUREX1RPX0xJQlJBUlk6ImJvb2ttYXJrIixBRERfVE9fUExBWUxJU1Q6ImFkZCIsQUREX1RPX1FVRVVFX1RBSUw6Imxpc3RfcXVldWUiLEFERF9UT19SRU1PVEVfUVVFVUU6Imxpc3RfbXVzaWMiLEFERF9UT19XQVRDSF9MQVRFUjoiY2xvY2siLEFERF9WSURFT19MSU5LOiJmaWxtX3N0cmlwX2FkZCIsCkFMRVJUX1dBUk5fUkVEOiJhbGVydF90cmlhbmdsZSIsQVJST1dfQkFDSzoiYXJyb3dfbGVmdCIsQVJST1dfRElBR09OQUxfVVBfUklHSFRfRklMTEVEOiJhcnJvd19kaWFnb25hbF91cF9yaWdodCIsQVJST1dfRFJPUF9ET1dOOiJjaGV2cm9uX2Rvd24iLEFSUk9XX0RST1BfVVA6ImNoZXZyb25fdXAiLEFSUk9XX0ZPUldBUkQ6ImFycm93X3JpZ2h0IixBUlRJU1Q6InBlcnNvbl9tdXNpYyIsQVVESU9UUkFDSzoiYXVkaW8iLEFVVE9fQVdFU09NRToic3BhcmtsZSIsQVZBVEFSX0FOT05ZTU9VUzoicGVyc29uX2NpcmNsZSIsQVZBVEFSX0xPR0dFRF9PVVQ6InBlcnNvbl9jaXJjbGUiLEJBQ0s6ImFycm93X2xlZnQiLEJBUl9DSEFSVDoiYmFyX2dyYXBoIixCTE9DSzoic2xhc2hfY2lyY2xlX2xlZnQiLEJMT0NLX1VTRVI6InNsYXNoX2NpcmNsZV9sZWZ0IixCT09LTUFSS19CT1JERVI6ImJvb2ttYXJrIixCUkVBS0lOR19ORVdTX0FMVF8xOiJhcnRpY2xlX2FsZXJ0IixCUk9BRENBU1RfQ0FJUk86InBvZGNhc3RfY2Fpcm8iLApCVUdfUkVQT1JUOiJidWciLENBTUVSQV9BTFQ6ImNhbWVyYSIsQ0FNUEFJR046Im1lZ2FwaG9uZSIsQ0FOQ0VMOiJ4X2NpcmNsZSIsQ0FQVElPTlM6ImNsb3NlZF9jYXB0aW9uIixDQVNUX09VVExJTkU6ImNocm9tZWNhc3QiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT0ZGOiJiZWxsIixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09OOiJiZWxsX29uIixDSEFUOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixDSEFUX0JVQkJMRToibWVzc2FnZV9idWJibGVfZW1wdHkiLENIQVRfU1BBUks6InNwYXJrX21lc3NhZ2VfYnViYmxlX2xlZnQiLENIRUNLX0JPWF9PVVRMSU5FX0JMQU5LOiJib3hfZW1wdHkiLENIRUNLX0NJUkNMRV9PVVRMSU5FOiJjaGVja19jaXJjbGUiLENIRUNLX0NJUkNMRV9USElDSzoiY2hlY2tfY2lyY2xlIixDTEFSSUZZOiJhcnRpY2xlX2NsYXJpZnkiLENMT1NFRF9DQVBUSU9OX1NFTEVDVEVEOiJjbG9zZWRfY2FwdGlvbiIsQ0xPU0U6InhfbWFyayIsCkNMT1VEX1VQTE9BRDoiY2xvdWRfYXJyb3dfdXAiLENPTExBUFNFOiJjaGV2cm9uX3VwIixDT0xMQVBTRV9DQUlSTzoiY2hldnJvbl91cF9jYWlybyIsQ09MTEVDVElPTjoibGF5ZXJzIixDT0xPUl9MRU5TOiJwYWxldHRlIixDT01NRU5UOiJtZXNzYWdlX2J1YmJsZV9yaWdodCIsQ09OU0VOVF9TSElFTEQ6InBlcnNvbl9zaGllbGQiLENPTlRFTlRfQ1VUOiJzY2lzc29ycyIsQ09OVEVOVF9DVVRfQ0FJUk86InNjaXNzb3JzX2NhaXJvIixDT1VSU0U6Xy54KCJ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZSIpPyJjcmVhdG9yX2FjYWRlbXkiOiJsaWdodGJ1bGIiLENPVVJTRV9DQUlSTzpfLngoIndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlIik/ImNyZWF0b3JfYWNhZGVteV9jYWlybyI6ImxpZ2h0YnVsYl9jYWlybyIsQ1JFQVRJT05fTElWRToicmFkYXJfbGl2ZSIsQ1JFQVRJT05fUE9TVDoiYm94X3BlbmNpbCIsQ1JFQVRJT05fVVBMT0FEOiJteV92aWRlb3MiLENSRUFUSU9OX1VQTE9BRF9SRUQ6InVwbG9hZCIsCkNSRUFUT1JfTUVUQURBVEFfTU9ORVRJWkFUSU9OOiJkb2xsYXJfc2lnbiIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT05fT0ZGOiJkb2xsYXJfc2lnbl9vZmYiLENSRUFUT1JfU1RVRElPOiJ5b3V0dWJlX3N0dWRpbyIsREFTSEJPQVJEOiJncmlkX2FzeW1tZXRyaWNhbCIsREVMRVRFOiJ0cmFzaF9jYW4iLERFTEVURV9TV0VFUDoidHJhc2hfY2FuIixERVNLVE9QOiJsYXB0b3AiLERJU0xJS0U6InRodW1iX2Rvd24iLERJU0xJS0VfU0VMRUNURUQ6InRodW1iX2Rvd24iLERJU01JU1NBTDoieF9tYXJrIixESVNNSVNTX1FVRVVFOiJsaXN0X3JlbW92ZSIsRE9ORV9BTEw6ImNoZWNrX2RvdWJsZSIsRE9XTl9BUlJPVzoiYXJyb3dfZG93biIsRE9fTk9UX0RJU1RVUkI6InNsYXNoX2NpcmNsZV9sZWZ0IixEUkFGVDoicGFwZXJfY29ybmVyX2ZvbGRlZCIsRFJBR19IQU5ETEU6ImJhcnNfMiIsRURJVDoicGVuY2lsIixFTU9KSToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9GTEFHUzoiZmxhZyIsCkVNT0pJX09CSkVDVFM6ImxpZ2h0YnVsYiIsRU1PSklfUEVPUExFOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX1JFQ0VOVDoiY2xvY2siLEVNUFRZX0hFQVJUOiJoZWFydCIsRU1QVFlfTElLRToidGh1bWJfdXAiLEVSUk9SX0JMQUNLOiJhbGVydF9jaXJjbGUiLEVSUk9SX09VVExJTkU6ImFsZXJ0X2NpcmNsZSIsRVhJVF9BUFA6ImFycm93X2luIixFWElUX1RPX0FQUDoiYXJyb3dfaW4iLEVYUEFORDoiY2hldnJvbl9kb3duIixFWFBBTkRfQUxMOiJjaGV2cm9uX2V4cGFuZCIsRVhQQU5EX0NBSVJPOiJjaGV2cm9uX2Rvd25fY2Fpcm8iLEVYUEFORF9MRVNTOiJjaGV2cm9uX3VwIixFWFBBTkRfTU9SRToiY2hldnJvbl9kb3duIixFWFBMT1JFOiJjb21wYXNzIixFWFBMT1JFX0RFU1RJTkFUSU9OOiJjb21wYXNzIixFWFRFUk5BTF9MSU5LOiJvcGVuX25ldyIsRkFCX1VQTE9BRDoidXBsb2FkIixGQUNFX0hBUFBZX09VVExJTkU6ImZhY2VfaGFwcHkiLEZBQ1RfQ0hFQ0s6ImFydGljbGVfY2hlY2siLApGQVNISU9OX0xPR086ImZhc2hpb24iLEZBU0hJT05fTE9HT19DQUlSTzoiZmFzaGlvbl9jYWlybyIsRkFWT1JJVEU6ImhlYXJ0IixGRUVEQkFDSzoibWVzc2FnZV9idWJibGVfYWxlcnQiLEZFRURCQUNLX0NBSVJPOiJtZXNzYWdlX2J1YmJsZV9hbGVydF9jYWlybyIsRklMTF9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixGSUxMX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsRklMTF9ET0xMQVJfU0lHTl9IRUFSVF8xMjoiZG9sbGFyX3NpZ25faGVhcnQiLEZJTFRFUjoibWVudV9maWx0ZXIiLEZJUlNUX1BBR0U6ImNoZXZyb25fZmlyc3QiLEZMQUc6ImZsYWciLEZVTExfSEVBUlQ6ImhlYXJ0IixHQU1FX0NPTlNPTEVfRFBBRDoiZ2FtZV9jb25zb2xlX2RwYWQiLEdBTUVfQ09OU09MRV9GQUNFX0JVVFRPTlM6ImdhbWVfY29uc29sZV9mYWNlX2J1dHRvbnMiLEdBTUlOR19MT0dPOiJnYW1pbmciLEdBTUlOR19MT0dPX0NBSVJPOiJnYW1pbmdfY2Fpcm8iLApHT19UT19QQUdFOiJhcnJvd19yaWdodCIsR1JPVVBTOiJwZW9wbGVfZ3JvdXAiLEhBUFBZOiJmYWNlX2hhcHB5IixIRUFMVEhfQU5EX1NBRkVUWToic2hpZWxkX3BsdXMiLEhFTFA6InF1ZXN0aW9uX2NpcmNsZSIsSEVMUF9DQUlSTzoicXVlc3Rpb25fY2lyY2xlX2NhaXJvIixIRUxQX09VVExJTkU6InF1ZXN0aW9uX2NpcmNsZSIsSElERToic2xhc2hfY2lyY2xlX2xlZnQiLElNQUdFOiJpbWFnZSIsSU5GSU5JVFlfSUNPTjoiaW5maW5pdHkiLElORk86ImluZm9fY2lyY2xlIixJTkZPX09VVExJTkU6ImluZm9fY2lyY2xlIixJTlNFUlRfQ0hBUlQ6ImJhcl9ncmFwaF9ib3hfdmVydGljYWwiLElOU0VSVF9DSEFSVF9PVVRMSU5FRDoiYmFyX2dyYXBoX2JveF92ZXJ0aWNhbCIsSU5TRVJUX1BIT1RPOiJpbWFnZSIsS0VFUDoicGluIixLRUVQX09GRjoicGluX29mZiIsS0VZQk9BUkQ6ImtleWJvYXJkIixLRVlCT0FSRF9BUlJPV19ET1dOOiJjaGV2cm9uX2Rvd24iLEtFWUJPQVJEX0FSUk9XX1VQOiJjaGV2cm9uX3VwIiwKS0lEU19CTE9DSzoic2xhc2hfY2lyY2xlX2xlZnQiLExBTkdVQUdFOiJnbG9iZSIsTEFTVF9QQUdFOiJjaGV2cm9uX2xhc3QiLExBVU5DSDoib3Blbl9uZXciLExFQVJOSU5HOiJsaWdodGJ1bGIiLExFQVJOSU5HX0NBSVJPOiJsaWdodGJ1bGJfY2Fpcm8iLExJQlJBUllfQUREOnRZKCJsaWJyYXJ5X2FkZCIpLExJQlJBUllfT1VUTElORToibGlicmFyeSIsTElCUkFSWV9SRU1PVkU6dFkoKSxMSUdIVEJVTEJfU1BBUktfT1VUTElORToibGlnaHRidWxiX3NwYXJrIixMSUtFU19QTEFZTElTVDoidGh1bWJfdXAiLExJS0VTX1BMQVlMSVNUX0NBSVJPOiJ0aHVtYl91cF9jYWlybyIsTElLRToidGh1bWJfdXAiLExJS0VfU0VMRUNURUQ6InRodW1iX3VwIixMSVZFOiJyYWRhcl9saXZlIixMSVZFX0NBSVJPOiJyYWRhcl9saXZlX2NhaXJvIixMSVZFX1VOTElTVEVEOiJsaW5rIixMT0NBVElPTl9PTjoibG9jYXRpb25fcG9pbnQiLExPQ0FUSU9OX1BJTjoibG9jYXRpb25fcG9pbnQiLExPT1A6ImFycm93X3JlcGVhdCIsCkxPT1BfQUNUSVZFOiJhcnJvd19yZXBlYXQiLExPT1BfT05FOiJhcnJvd19yZXBlYXRfMSIsTE9PUF9PTkVfQUNUSVZFOiJhcnJvd19yZXBlYXRfMSIsTUVIOiJmYWNlX21laCIsTUVNQkVSU19PTkxZX01PREVfT0ZGOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixNRU5VOiJiYXJzXzMiLE1FU1NBR0U6Im1lc3NhZ2VfYnViYmxlX2xlZnQiLE1JQ1JPUEhPTkVfT046Im1pYyIsTUlYOiJ5b3V0dWJlX21peCIsTU9ORVRJWkFUSU9OX09OOiJkb2xsYXJfc2lnbl9jaXJjbGUiLE1PTkVZX0ZJTEw6ImRvbGxhcl9zaWduX2NvbnRhaW5lciIsTU9ORVlfRklMTF9KUFk6Inllbl9zaWduX2NvbnRhaW5lciIsTU9ORVlfSEVBUlQ6ImRvbGxhcl9zaWduX2hlYXJ0IixNT1JFX0hPUklaOiJvdmVyZmxvd19ob3Jpem9udGFsIixNT1JFX1ZFUlQ6Im92ZXJmbG93X3ZlcnRpY2FsIixNVVNJQzoiYXVkaW8iLE1VU0lDX0NBSVJPOiJhdWRpb19jYWlybyIsTVVTSUNfTk9URV9TWU1CT0w6Im11c2ljIixNVVNJQ19TSFVGRkxFOiJhcnJvd19zaHVmZmxlIiwKTVlfQ0hBTk5FTDoicGVyc29uX2NpcmNsZSIsTVlfTE9DQVRJT046ImxvY2F0aW9uX3BvaW50IixORVdTX1NUT1JZOiJuZXdzIixORVhUOiJjaGV2cm9uX3JpZ2h0IixOT1RJRklDQVRJT05TOiJiZWxsIixOT1RJRklDQVRJT05TX0FDVElWRToiYmVsbF9vbiIsTk9USUZJQ0FUSU9OU19DQUlSTzoiYmVsbF9jYWlybyIsTk9USUZJQ0FUSU9OU19ET05FX0NIRUNLTUFSSzoiY2hlY2siLE5PVElGSUNBVElPTlNfSU5CT1g6ImJlbGwiLE5PVElGSUNBVElPTlNfTk9ORToiYmVsbCIsTk9USUZJQ0FUSU9OU19PRkY6ImJlbGxfb2ZmIixOT1RfSU5URVJFU1RFRDoic2xhc2hfY2lyY2xlX2xlZnQiLE9GRklDSUFMX0FSVElTVF9CQURHRToiYXVkaW8iLE9GRkxJTkVfQ0xPVUQ6ImNsb3VkX29mZiIsT0ZGTElORV9ET1dOTE9BRDoiZG93bmxvYWQiLE9GRkxJTkVfRE9XTkxPQURfQ0FJUk86ImRvd25sb2FkX2NhaXJvIixPRkZMSU5FX1BBVVNFOiJwYXVzZSIsT1BFTl9JTl9ORVc6Im9wZW5fbmV3IiwKT1VUTElORV9BREpVU1Q6ImFkanVzdCIsT1VUTElORV9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9CQUc6ImJhZyIsT1VUTElORV9DTE9DS19IQUxGX0NJUkNMRToiY2xvY2tfaGFsZl9jaXJjbGUiLE9VVExJTkVfTU9CSUxFX0RPV05MT0FEOiJtb2JpbGVfZG93bmxvYWQiLE9VVExJTkVfT1ZFUkZMT1dfSE9SSVpPTlRBTF8zMjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsT1VUTElORV9PVkVSRkxPV19WRVJUSUNBTDoib3ZlcmZsb3dfdmVydGljYWwiLE9VVExJTkVfWU9VVFVCRV9JTVBST1ZFX1RWOiJ5b3V0dWJlX2ltcHJvdmVfdHYiLFBBSUQ6ImRvbGxhcl9zaWduIixQQVVTRV9PVVRMSU5FRDoicGF1c2UiLFBBWU1FTlQ6ImNyZWRpdF9jYXJkIixQRVJTT05fUkFEQVJfRklMTEVEOiJwZXJzb25fcmFkYXIiLFBIT05FX0RPV05MT0FEOiJtb2JpbGVfZG93bmxvYWQiLFBMQVlBQkxFU19MT0dPOiJ0aWNfdGFjX3RvZSIsClBMQVlBQkxFU19MT0dPX0NBSVJPOiJ0aWNfdGFjX3RvZV9jYWlybyIsUExBWUxJU1RTOiJsaXN0X3BsYXlfYXJyb3ciLFBMQVlMSVNUU19DQUlSTzoibGlzdF9wbGF5X2Fycm93X2NhaXJvIixQTEFZTElTVF9BREQ6dFkoImxpc3RfYWRkIiksUExBWUxJU1RfQUREX0NIRUNLOnRZKCJsaXN0X2NoZWNrIiksUExBWUxJU1RfUExBWToibGlzdF9wbGF5X2Fycm93IixQTEFZX0FMTDoicGxheV9hcnJvdyIsUExBWV9DSVJDTEU6InBsYXlfYXJyb3dfY2lyY2xlIixQTEFZX09VVExJTkVEOiJwbGF5X2Fycm93X2NpcmNsZSIsUFJJVkFDWV9JTkZPOiJzaGllbGQiLFBSSVZBQ1lfUFJJVkFURToibG9jayIsUFJJVkFDWV9QVUJMSUM6ImVhcnRoIixQUklWQUNZX1VOTElTVEVEOiJsaW5rIixQUk9NT1RFOiJtZWdhcGhvbmUiLFBVUkNIQVNFUzoicHJpY2VfdGFnIixQVVJDSEFTRV9TVVBFUl9DSEFUOiJzdXBlcl9jaGF0IixQVVJDSEFTRV9TVVBFUl9TVElDS0VSOiJzdXBlcl9zdGlja2VyIixRVUVTVElPTl9BTlNXRVI6Im1lc3NhZ2VfYnViYmxlX3F1ZXN0aW9uIiwKUVVFVUVfUExBWV9MQVNUOiJsaXN0X3F1ZXVlX2xhc3QiLFFVRVVFX1BMQVlfTkVYVDoibGlzdF9wbGF5X2Fycm93IixSRU1JWF9GSUxMRUQ6InlvdXR1YmVfc2hvcnRzX3JlbWl4IixSRU1PVkU6ImJhcl9jaXJjbGUiLFJFTU9WRV9DSVJDTEU6ImJhcl9jaXJjbGUiLFJFTU9WRV9DSVJDTEVfT1VUTElORToiYmFyX2NpcmNsZSIsUkVNT1ZFX0RPTkU6ImNoZWNrX2RvdWJsZV9vZmYiLFJFTU9WRV9GUk9NX0hJU1RPUlk6ImJhcl9jaXJjbGUiLFJFTU9WRV9GUk9NX1BMQVlMSVNUOiJiYXJfY2lyY2xlIixSRU1PVkVfTU9ERVJBVE9SOiJzaGllbGRfb2ZmIixSRVBMQVk6ImFycm93X2NpcmNsZSIsUkVQTEFZXzEwOiJza2lwX2JhY2tfMTAiLFJFUE9SVF9QUk9CTEVNOiJhbGVydF90cmlhbmdsZSIsU0FEOiJmYWNlX3NhZCIsU0FWRV9QTEFZTElTVDoiYm9va21hcmsiLFNDSEVEVUxFOiJjbG9jayIsU0NIT09MOiJjcmVhdG9yX2FjYWRlbXkiLFNDUkVFTl9GVUxMU0NSRUVOOiJzY3JlZW5fZnVsbCIsClNFQVJDSF9ISVNUT1JZOiJhcnJvd190aW1lIixTRUxMOiJwcmljZV90YWciLFNFVFRJTkdTOiJnZWFyIixTRVRUSU5HU19DQUlSTzoiZ2Vhcl9jYWlybyIsU0VUVElOR1NfTElHSFQ6ImdlYXIiLFNFVFRJTkdTX01BVEVSSUFMOiJnZWFyIixTSEFSRV9BUlJPVzoic2hhcmUiLFNISUVMRF9XSVRIX0FWQVRBUjoicGVyc29uX3NoaWVsZCIsU0hPUFBJTkdfQkFHOiJiYWciLFNIT1BQSU5HX0JBR19DQUlSTzoiYmFnX2NhaXJvIixTSE9QUElOR19DQVJUOiJjYXJ0IixTSE9SVFNfQ09NTUVOVDoieW91dHViZV9zaG9ydHNfbWVzc2FnZV9idWJibGVfcmlnaHQiLFNIT1JUU19ESVNMSUtFOiJ5b3V0dWJlX3Nob3J0c190aHVtYl9kb3duIixTSE9SVFNfTElLRToieW91dHViZV9zaG9ydHNfdGh1bWJfdXAiLFNIT1JUU19TSEFSRToieW91dHViZV9zaG9ydHNfc2hhcmUiLFNIVUZGTEU6ImFycm93X3NodWZmbGUiLFNMT1dfTU9ERV9PRkY6Im1lc3NhZ2VfYnViYmxlX2xlZnQiLFNPQ0lBTDoicGVvcGxlIiwKU09SVDoibWVudV9zb3J0IixTUEFSS19MSUdIVEJVTEJfT1VUTElORToic3BhcmtfbGlnaHRidWxiIixTUEVFRF8xWDoiMXgiLFNQRUVEXzFfUE9JTlRfMlg6IjFfcG9pbnRfMngiLFNQRUVEXzFfUE9JTlRfNVg6IjFfcG9pbnRfNXgiLFNQRUVEXzFfUE9JTlRfOFg6IjFfcG9pbnRfOHgiLFNQRUVEXzJYOiIyeCIsU1BFRURfUE9JTlRfMlg6InBvaW50XzJ4IixTUEVFRF9QT0lOVF84WDoicG9pbnRfOHgiLFNQT05TT1JTSElQX1NUQVI6InN0YXJfY2lyY2xlIixTVEFGRl9QSUNLOiJzcG90bGlnaHQiLFNUQVJUX0RWUjoiYWRkIixTVEFSX0JPUkRFUjoic3RhciIsU1RBUl9DSVJDTEVfUklCQk9OX09VVExJTkU6InN0YXJfY2lyY2xlX3JpYmJvbiIsU1RJQ0tFUl9FTU9USUNPTjoiZmFjZV9oYXBweSIsU1RPUF9EVlI6InN0b3AiLFNVQlNDUklCRToieW91dHViZV9sb2dvX2ljb24iLFNVQlNDUklCRV9QTFVTOiJhZGRfY2Fpcm8iLFNVQlNDUklQVElPTl9NQU5BR0VSOiJnZWFyIixTVVBFUlZJU09SX0FDQ09VTlQ6InBlb3BsZSIsClNVUEVSX0NIQVRfRk9SX0dPT0Q6ImhhbmRzX2hlYXJ0IixTV0FQX0hPUklaOiJhcnJvd19zd2FwX2hvcml6b250YWwiLFNXSVRDSF9BQ0NPVU5UUzoicGVyc29uX2FjY291bnQiLFRBQl9BQ0NPVU5UOiJwZXJzb24iLFRBQl9BQ1RJVklUWToiYmVsbCIsVEFCX0JPT0tNQVJLOiJib29rbWFyayIsVEFCX0VYUExPUkU6ImNvbXBhc3MiLFRBQl9IT01FOiJob21lIixUQUJfSE9NRV9DQUlSTzoiaG9tZV9jYWlybyIsVEFCX0lOQk9YOiJtYWlsIixUQUJfTElLRUQ6InRodW1iX3VwIixUQUJfTVVTSUNfUFJFTUlVTToieW91dHViZV9tdXNpYyIsVEFCX1NIT1JUUzoieW91dHViZV9zaG9ydHMiLFRBQl9TSE9SVFNfQ0FJUk86InlvdXR1YmVfc2hvcnRzX2NhaXJvIixUQUJfU1VCU0NSSVBUSU9OUzoic3Vic2NyaXB0aW9ucyIsVEFCX1NVQlNDUklQVElPTlNfQ0FJUk86InN1YnNjcmlwdGlvbnNfY2Fpcm8iLFRBQl9UUkVORElORzoiZmlyZSIsVElNRVI6InN0b3B3YXRjaCIsVFJBSUxFUjoieW91dHViZV9vcmlnaW5hbHMiLApUUkVORElORzoiZmlyZSIsVFJFTkRJTkdfQ0FJUk86ImZpcmVfY2Fpcm8iLFRSRU5ESU5HX0RPV046InJhdGluZ19kb3duIixUUkVORElOR19VUDoicmF0aW5nX3VwIixUUk9QSFk6InRyb3BoeSIsVFJPUEhZX0NFTEVCUkFUSU9OUzoiZmlyZXdvcmtzIixUVU5FOiJhZGp1c3QiLFVOQkxPQ0tfVVNFUjoiYmFyX2NpcmNsZSIsVU5MSU1JVEVEOiJ5b3V0dWJlX2xvZ29faWNvbiIsVU5QTFVHR0VEX0xJVkVfR1VJREU6InJhZGFyX2xpdmUiLFVOUExVR0dFRF9TUE9SVFM6ImV5ZV9vZmYiLFVQTE9BRFM6ImxpYnJhcnkiLFVQX0FSUk9XOiJhcnJvd191cCIsVkVSVElDQUxfQUxJR05fQk9UVE9NOiJkb3dubG9hZCIsVkVSWV9IQVBQWToiZmFjZV92ZXJ5X2hhcHB5IixWRVJZX1NBRDoiZmFjZV92ZXJ5X3NhZCIsVklERU9HQU1FX0FTU0VUOiJnYW1pbmciLFZJREVPUzoicGxheV9hcnJvd19jaXJjbGUiLFZJREVPX0NBTEw6InZpZGVvX2NhbWVyYV9hZGQiLFZJREVPX0xJQlJBUllfV0hJVEU6ImxpYnJhcnkiLApWSURFT19ZT1VUVUJFOiJ5b3V0dWJlX2xvZ29faWNvbiIsVklFV19MSVNUOiJsaXN0X3ZpZXciLFZJRVdfTElTVF9DQUlSTzoibGlzdF92aWV3X2NhaXJvIixWSVNJQklMSVRZOiJleWUiLFZJU0lCSUxJVFlfT0ZGOiJleWVfb2ZmIixWT0xVTUVfTVVURToidm9sdW1lX29mZiIsVk9MVU1FX1VQOiJ2b2x1bWVfb24iLFdBTExQQVBFUjoiaW1hZ2UiLFdBUk5JTkc6ImFsZXJ0X3RyaWFuZ2xlIixXQVRDSF9ISVNUT1JZOiJhcnJvd190aW1lIixXQVRDSF9ISVNUT1JZX0NBSVJPOiJhcnJvd190aW1lX2NhaXJvIixXQVRDSF9MQVRFUjoiY2xvY2siLFdBVENIX0xBVEVSX0NBSVJPOiJjbG9ja19jYWlybyIsV0FUQ0hfUkVMQVRFRF9NSVg6InlvdXR1YmVfbWl4IixXSEFUX1RPX1dBVENIOiJob21lIixZT1VUVUJFX0NSRUFURV9SRURfTE9HTzoieW91dHViZV9jcmVhdGVfbG9nbyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FOiJ5b3V0dWJlX211c2ljIixZT1VUVUJFX01VU0lDX01PTk9DSFJPTUVfQ0FJUk86InlvdXR1YmVfbXVzaWNfY2Fpcm8iLApZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoieW91dHViZV9zaG9ydHNfbm9fdHJpYW5nbGUiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfV0hJVEVfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlIixZT1VUVUJFX1NIT1JUU19PVVRMSU5FXzI0OiJ5b3V0dWJlX3Nob3J0cyIsWVRfT1VUTElORV9NVVNJQ18yNDoibXVzaWMifTt2YXIgeHBhPXtBQ0NFU1NfVElNRToiY2xvY2siLEFDQ09VTlRfQk9YOiJwZXJzb25fc3F1YXJlIixBQ0NPVU5UX0JPWF9DQUlSTzoicGVyc29uX3NxdWFyZSIsQUNDT1VOVF9DSVJDTEU6InBlcnNvbl9jaXJjbGUiLEFDQ09VTlRfQ0lSQ0xFX0NBSVJPOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0xJTktFRDoiYWNjb3VudF9saW5rIixBQ0NPVU5UX1VOTElOS0VEOiJhY2NvdW50X2xpbmsiLEFERF9DSVJDTEU6ImFkZF9jaXJjbGUiLEFERF9DSVJDTEVfT1VUTElORToiYWRkX2NpcmNsZSIsQUREX0ZSSUVORDoicGVyc29uX2NoaWxkIixBRERfTU9ERVJBVE9SOiJzaGllbGRfYWRkIixBRERfVE9fTElCUkFSWToiYm9va21hcmsiLEFERF9UT19QTEFZTElTVDoiYWRkIixBRERfVE9fUVVFVUVfVEFJTDoicXVldWUiLEFERF9UT19SRU1PVEVfUVVFVUU6InBsYXlsaXN0X2F1ZGlvIixBRERfVE9fV0FUQ0hfTEFURVI6ImNsb2NrIixBRERfVklERU9fTElOSzoiZmlsbV9zdHJpcF9hZGQiLEFETUlOX1BBTkVMX1NFVFRJTkdTOiJwZXJzb25fZ2VhciIsCkFMRVJUX1dBUk5fUkVEOiJhbGVydF90cmlhbmdsZSIsQUxJR05fTEVGVDoidGV4dF9hbGlnbl9sZWZ0IixBUlJPV1NfQUxFUlQ6ImFycm93X3NwbGl0X2FsZXJ0IixBUlJPV19CQUNLOiJhcnJvd19sZWZ0IixBUlJPV19DSVJDTEU6ImFycm93X2NvdW50ZXJjbG9ja3dpc2UiLEFSUk9XX0NJUkNMRV9QTEFZOiJyZXBsYXkiLEFSUk9XX0NJUkNMRV9SSUdIVDoiYXJyb3dfY2xvY2t3aXNlIixBUlJPV19ESUFHT05BTDoiYXJyb3dfdXBfbGVmdCIsQVJST1dfRElBR09OQUxfVVBfUklHSFQ6ImFycm93X3VwX3JpZ2h0IixBUlJPV19EUk9QX0RPV046InRyaWFuZ2xlX2Rvd24iLEFSUk9XX0RST1BfVVA6InRyaWFuZ2xlX3VwIixBUlJPV19GT1JXQVJEOiJhcnJvd19yaWdodCIsQVJST1dfUEFVU0U6InBhdXNlX2hpc3RvcnkiLEFSUk9XX1VORE86InVuZG8iLEFSVElDTEU6InRleHRfcGFnZSIsQVJUSUNMRV9BTEVSVDoidGV4dF9wYWdlX2FsZXJ0IixBUlRJQ0xFX0NIRUNLOiJ0ZXh0X3BhZ2VfY2hlY2siLApBUlRJQ0xFX0NMQVJJRlk6InRleHRfcGFnZV9pbmZvIixBUlRJU1Q6InBlcnNvbl9hdWRpbyIsQVVESU9UUkFDSzoiYXVkaW8iLEFVRElPX0JBREdFOiJhdWRpb19iYWRnZSIsQVVESU9fU1VSUk9VTkQ6InN1cnJvdW5kX3NvdW5kIixBVVRPX0FXRVNPTUU6InNwYXJrbGVzIixBVkFUQVJfQU5PTllNT1VTOiJwZXJzb25fY2lyY2xlIixBVkFUQVJfTE9HR0VEX09VVDoicGVyc29uX2NpcmNsZSIsQkFDSzoiYXJyb3dfbGVmdCIsQkFSX0NIQVJUOiJjaGFydF9iYXIiLEJBUl9DSVJDTEU6Im1pbnVzX2NpcmNsZSIsQkFSX0hPUklaT05UQUw6Im1pbnVzIixCTE9DSzoiY2lyY2xlX3NsYXNoIixCTE9DS19VU0VSOiJjaXJjbGVfc2xhc2giLEJPT0tNQVJLX0JPUkRFUjoiYm9va21hcmsiLEJPWF9PUEVOX0NIRUNLOiJxdWl6IixCT1hfUEVOQ0lMOiJzcXVhcmVfcGVuY2lsIixCT1hfU1RBQ0tfMzoic3F1YXJlM19zdGFjayIsQlJFQUtJTkdfTkVXU19BTFRfMToidGV4dF9wYWdlX2FsZXJ0IiwKQlJPQURDQVNUOiJwb2RjYXN0IixCUk9BRENBU1RfQ0FJUk86InBvZGNhc3QiLEJVR19SRVBPUlQ6ImJ1ZyIsQ0FNRVJBX0FMVDoiY2FtZXJhIixDQU1QQUlHTjoibWVnYXBob25lIixDQU5DRUw6InhfY2lyY2xlIixDQVBUSU9OUzoiY2xvc2VkX2NhcHRpb25zIixDQVNUX0lDT046ImNocm9tZWNhc3QiLENBU1RfT1VUTElORToiY2hyb21lY2FzdCIsQ0hBTk5FTF9OT1RJRklDQVRJT05fUFJFRkVSRU5DRV9PRkY6ImJlbGwiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT046ImJlbGxfd2F2ZXMiLENIQVQ6InRleHRfYnViYmxlIixDSEFUX0JVQkJMRToiYnViYmxlIixDSEVDS19CT1g6ImNoZWNrX3NxdWFyZSIsQ0hFQ0tfQk9YX09VVExJTkVfQkxBTks6InNxdWFyZSIsQ0hFQ0tfQ0lSQ0xFX0ZJTExFRDoiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfT1VUTElORToiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfVEhJQ0s6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfRE9VQkxFOiJjaGVja19kb25lIiwKQ0hFQ0tfRE9VQkxFX09GRjoiY2hlY2tfZG9uZV9zbGFzaCIsQ0hFVlJPTl9MRUZUOiJjaGV2cm9uX2xlZnQiLENIRVZST05fUklHSFQ6ImNoZXZyb25fcmlnaHQiLENIRVZST05fUklHSFRfQ0FJUk86ImNoZXZyb25fcmlnaHQiLENJUkNMRVNfT1ZFUkxBUDoiYWNjb3VudF9saW5rIixDTEFQUEVSQk9BUkRfQ0FJUk86ImNsYXBwZXJib2FyZCIsQ0xBUklGWToidGV4dF9wYWdlX2luZm8iLENMT0NLX0FSUk9XUzoiY2xvY2tfc3BsaXQiLENMT0NLX0FSUk9XU19BTEVSVDoiY2xvY2tfc3BsaXRfYWxlcnQiLENMT1NFRF9DQVBUSU9OOiJjbG9zZWRfY2FwdGlvbnMiLENMT1NFRF9DQVBUSU9OX1NFTEVDVEVEOiJjbG9zZWRfY2FwdGlvbnMiLENMT1NFOiJ4IixDTE9VRF9VUExPQUQ6ImNsb3VkX2Fycm93X3VwIixDT0xMQVBTRToiY2hldnJvbl91cCIsQ09MTEFQU0VfQ0FJUk86ImNoZXZyb25fdXAiLENPTExFQ1RJT046InNxdWFyZTNkX3N0YWNrIixDT0xPUl9MRU5TOiJwYWludF9wYWxldHRlIiwKQ09NTUVOVDoidGV4dF9idWJibGUiLENPTlNFTlRfU0hJRUxEOiJwZXJzb25fc2hpZWxkIixDT05URU5UX0NVVDoic2Npc3NvcnMiLENPTlRFTlRfQ1VUX0NBSVJPOiJzY2lzc29ycyIsQ09VUlNFOiJncmFkdWF0aW9uX2NhcCIsQ09VUlNFX0NBSVJPOiJncmFkdWF0aW9uX2NhcCIsQ1JFQVRJT05fTElWRToibGl2ZSIsQ1JFQVRJT05fUE9TVDoic3F1YXJlX3BlbmNpbCIsQ1JFQVRJT05fVVBMT0FEOiJ2aWRlbyIsQ1JFQVRJT05fVVBMT0FEX1JFRDoidXBsb2FkIixDUkVBVE9SX0FDQURFTVk6ImdyYWR1YXRpb25fY2FwIixDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTl9PRkY6ImRvbGxhcl9zaWduX2NpcmNsZV9zbGFzaCIsQ1JFQVRPUl9TVFVESU86InlvdXR1YmVfc3R1ZGlvIixEQVJLX1RIRU1FOiJ0aGVtZSIsREVMRVRFOiJ0cmFzaF9jYW4iLERFTEVURV9TV0VFUDoidHJhc2hfY2FuIiwKREVTS1RPUDoibGFwdG9wIixESVNMSUtFOiJ0aHVtYl9kb3duIixESVNMSUtFX1NFTEVDVEVEOiJ0aHVtYl9kb3duIixESVNNSVNTQUw6IngiLERJU01JU1NfUVVFVUU6InBsYXlsaXN0X3giLERPR0ZPT0Q6InBhd3ByaW50IixET0xMQVJfU0lHTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixET0xMQVJfU0lHTl9DSVJDTEU6ImRvbGxhcl9zaWduX2NpcmNsZSIsRE9MTEFSX1NJR05fQ09OVEFJTkVSOiJkb2xsYXJfc2lnbl9yZWN0YW5nbGUiLERPV05fQVJST1c6ImFycm93X2Rvd24iLERPX05PVF9ESVNUVVJCOiJjaXJjbGVfc2xhc2giLERSQUZUOiJkb2N1bWVudCIsRFJBR19IQU5ETEU6ImVxdWFsIixFQVJUSDoiZ2xvYmUiLEVESVQ6InBlbmNpbCIsRU1PSkk6ImZhY2VfdmVyeV9oYXBweSIsRU1PSklfRkxBR1M6ImZsYWciLEVNT0pJX09CSkVDVFM6ImxpZ2h0YnVsYiIsRU1PSklfUEVPUExFOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX1JFQ0VOVDoiY2xvY2siLEVNUFRZX0hFQVJUOiJoZWFydCIsCkVNUFRZX0xJS0U6InRodW1iX3VwIixFUlJPUl9CTEFDSzoiYWxlcnRfY2lyY2xlIixFUlJPUl9PVVRMSU5FOiJhbGVydF9jaXJjbGUiLEVSUk9SX1dISVRFOiJhbGVydF9jaXJjbGUiLEVYSVRfQVBQOiJhcnJvd19pbiIsRVhJVF9UT19BUFA6ImFycm93X2luIixFWFBBTkQ6ImNoZXZyb25fZG93biIsRVhQQU5EX0FMTDoiY2hldnJvbl9leHBhbmQiLEVYUEFORF9DQUlSTzoiY2hldnJvbl9kb3duIixFWFBBTkRfTEVTUzoiY2hldnJvbl91cCIsRVhQQU5EX01PUkU6ImNoZXZyb25fZG93biIsRVhQTE9SRToiY29tcGFzcyIsRVhQTE9SRV9ERVNUSU5BVElPTjoiY29tcGFzcyIsRVhURVJOQUxfTElOSzoiYXJyb3dfdXBfcmlnaHQiLEVZRV9PRkY6ImV5ZV9zbGFzaCIsRkFCX1VQTE9BRDoidXBsb2FkIixGQUNFX0hBUFBZX09VVExJTkU6ImZhY2VfaGFwcHkiLEZBQ0VfTUVIOiJmYWNlX25ldXRyYWwiLEZBQ1RfQ0hFQ0s6InRleHRfcGFnZV9jaGVjayIsRkFTSElPTl9MT0dPOiJmYXNoaW9uIiwKRkFTSElPTl9MT0dPX0NBSVJPOiJmYXNoaW9uIixGQVZPUklURToidGh1bWJfdXAiLEZFRURCQUNLOiJhbGVydF9idWJibGUiLEZFRURCQUNLX0NBSVJPOiJhbGVydF9idWJibGUiLEZJTExfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsRklMTF9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLEZJTExfRE9MTEFSX1NJR05fSEVBUlRfMTI6ImRvbGxhcl9zaWduX2hlYXJ0IixGSVJTVF9QQUdFOiJjaGV2cm9uX2xlZnRfZW5kIixGTEFHX0NBSVJPOiJmbGFnIixGTEFTSF9PRkY6ImZsYXNoX3NsYXNoIixGTEFTSF9PTjoiZmxhc2giLEZVTExfSEVBUlQ6ImhlYXJ0IixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHQU1JTkdfTE9HT19DQUlSTzoiZ2FtaW5nIixHT19UT19QQUdFOiJhcnJvd19yaWdodCIsR1JJRF9BU1lNTUVUUklDQUw6ImRhc2hib2FyZCIsR1JPVVBTOiJwZXJzb24zIixIQU5EX1NXSVBFX0xFRlQ6Imdlc3R1cmVfc3dpcGVfbGVmdCIsSEFORF9TV0lQRV9SSUdIVDoiZ2VzdHVyZV9zd2lwZV9yaWdodCIsCkhBUFBZOiJmYWNlX2hhcHB5IixIRUFMVEhfQU5EX1NBRkVUWToic2hpZWxkX2hlYWx0aCIsSEVBUlRfQk9YOiJoZWFydF9jdWJlIixIRUxQOiJoZWxwX2NpcmNsZSIsSEVMUF9DQUlSTzoiaGVscF9jaXJjbGUiLEhFTFBfT1VUTElORToiaGVscF9jaXJjbGUiLEhJREU6ImNpcmNsZV9zbGFzaCIsSU5DT0dOSVRPX0NBSVJPOiJpbmNvZ25pdG8iLElORklOSVRZX0lDT046ImluZmluaXR5IixJTkZPOiJpbmZvX2NpcmNsZSIsSU5GT19PVVRMSU5FOiJpbmZvX2NpcmNsZSIsSU5TRVJUX0NIQVJUOiJjaGFydF9iYXJfc3F1YXJlIixJTlNFUlRfQ0hBUlRfT1VUTElORUQ6ImNoYXJ0X2Jhcl9zcXVhcmUiLElOU0VSVF9QSE9UTzoiaW1hZ2UiLEtFRVA6InBpbiIsS0VFUF9PRkY6InBpbl9zbGFzaCIsS0VZQk9BUkQ6ImtleWJvYXJkIixLRVlCT0FSRF9BUlJPV19ET1dOOiJjaGV2cm9uX2Rvd24iLEtFWUJPQVJEX0FSUk9XX1VQOiJjaGV2cm9uX3VwIixLSURTX0JMT0NLOiJjaXJjbGVfc2xhc2giLApMQU5HVUFHRToiZ2xvYmUiLExBU1RfUEFHRToiY2hldnJvbl9yaWdodF9lbmQiLExBVU5DSDoiYXJyb3dfdXBfcmlnaHQiLExFQVJOSU5HOiJsaWdodGJ1bGIiLExFQVJOSU5HX0NBSVJPOiJsaWdodGJ1bGIiLExJQlJBUllfQUREOiJib29rbWFyayIsTElCUkFSWV9JTUFHRToiaW1hZ2Vfc3RhY2siLExJQlJBUllfTVVTSUM6ImF1ZGlvX3NxdWFyZV9zdGFjayIsTElCUkFSWV9PVVRMSU5FOiJwbGF5X3NxdWFyZV9zdGFjayIsTElCUkFSWV9SRU1PVkU6ImJvb2ttYXJrIixMSUJSQVJZX1NBVkVEOiJjaGVja19zcXVhcmVfc3RhY2siLExJS0VTX1BMQVlMSVNUOiJ0aHVtYl91cCIsTElLRVNfUExBWUxJU1RfQ0FJUk86InRodW1iX3VwIixMSUtFOiJ0aHVtYl91cCIsTElLRV9TRUxFQ1RFRDoidGh1bWJfdXAiLExJU1RfUVVFVUU6InF1ZXVlIixMSVZFX0NBSVJPOiJsaXZlIixMSVZFX1VOTElTVEVEOiJsaW5rIixMT0NBVElPTl9PTjoibG9jYXRpb25fcGluIixMT0NBVElPTl9QSU46ImxvY2F0aW9uX3BpbiIsCkxPQ0FUSU9OX1BPSU5UOiJsb2NhdGlvbl9waW4iLExPT1A6InJlcGVhdCIsTE9PUF9BQ1RJVkU6InJlcGVhdCIsTE9PUF9PTkU6InJlcGVhdDEiLExPT1BfT05FX0FDVElWRToicmVwZWF0MSIsTUVFVDoiZ29vZ2xlX21lZXQiLE1FSDoiZmFjZV9uZXV0cmFsIixNRU1CRVJTSElQUzoibWVtYmVyc2hpcHMiLE1FTUJFUlNfT05MWV9NT0RFX09GRjoidGV4dF9idWJibGUiLE1FTlVfRklMVEVSOiJmaWx0ZXIiLE1FU1NBR0U6InRleHRfYnViYmxlIixNRVNTQUdFX0JVQkJMRV9HRUFSOiJidWJibGVfZ2VhciIsTUVTU0FHRV9CVUJCTEVfTEVGVDoidGV4dF9idWJibGUiLE1FU1NBR0VfQlVCQkxFX0xFRlRfQk9PU1Q6ImJ1YmJsZV9zcGFya2xlcyIsTUVTU0FHRV9CVUJCTEVfT1ZFUkxBUDoiYnViYmxlX3N0YWNrIixNRVNTQUdFX0JVQkJMRV9RVUVTVElPTjoiaGVscF9idWJibGUiLE1JQ1JPUEhPTkVfT046Im1pYyIsTU9ORVRJWkFUSU9OX09OOiJkb2xsYXJfc2lnbl9jaXJjbGUiLE1PTkVZX0ZJTEw6ImRvbGxhcl9zaWduX3JlY3RhbmdsZSIsCk1PTkVZX0ZJTExfSlBZOiJ5ZW5fc2lnbl9yZWN0YW5nbGUiLE1PTkVZX0hBTkQ6ImRvbGxhcl9zaWduX2NpcmNsZV9oYW5kIixNT05FWV9IRUFSVDoiZG9sbGFyX3NpZ25faGVhcnQiLE1PT05fWjoic2xlZXBfdGltZXIiLE1PUkVfSE9SSVo6Im92ZXJmbG93X2hvcml6b250YWwiLE1PUkVfVkVSVDoib3ZlcmZsb3dfdmVydGljYWwiLE1VU0lDOiJhdWRpbyIsTVVTSUNfQ0FJUk86ImF1ZGlvIixNVVNJQ19FWFBMSUNJVF9CQURHRToiZXhwbGljaXQiLE1VU0lDX05FV19SRUxFQVNFOiJhdWRpb19iYWRnZSIsTVVTSUNfTk9URV9TWU1CT0w6ImF1ZGlvIixNVVNJQ19TQ0lTU09SUzoiYXVkaW9fc2Npc3NvcnMiLE1VU0lDX1NIVUZGTEU6InNodWZmbGUiLE1ZX0NIQU5ORUw6InBlcnNvbl9jaXJjbGUiLE1ZX0xPQ0FUSU9OOiJsb2NhdGlvbl9waW4iLE1ZX1ZJREVPUzoidmlkZW8iLE1ZX1ZJREVPU19DQUlSTzoidmlkZW8iLE5FV1NfQ0FJUk86Im5ld3MiLE5FV1NfU1RPUlk6Im5ld3MiLApORVhUOiJjaGV2cm9uX3JpZ2h0IixOT1RFX0FERDoiYnViYmxlX3BlbmNpbCIsTk9USUZJQ0FUSU9OUzoiYmVsbCIsTk9USUZJQ0FUSU9OU19BQ1RJVkU6ImJlbGxfd2F2ZXMiLE5PVElGSUNBVElPTlNfQ0FJUk86ImJlbGwiLE5PVElGSUNBVElPTlNfRE9ORV9DSEVDS01BUks6ImNoZWNrIixOT1RJRklDQVRJT05TX0lOQk9YOiJiZWxsIixOT1RJRklDQVRJT05TX05PTkU6ImJlbGwiLE5PVElGSUNBVElPTlNfT0ZGOiJiZWxsX3NsYXNoIixOT1RfSU5URVJFU1RFRDoiY2lyY2xlX3NsYXNoIixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixPRkZMSU5FX0NMT1VEOiJjbG91ZF9zbGFzaCIsT0ZGTElORV9ET1dOTE9BRDoiZG93bmxvYWQiLE9GRkxJTkVfRE9XTkxPQURfQ0FJUk86ImRvd25sb2FkIixPRkZMSU5FX1BBVVNFOiJwYXVzZSIsT1BFTl9JTl9ORVc6ImFycm93X3VwX3JpZ2h0IixPVVRMSU5FX0FESlVTVDoiYWRqdXN0IixPVVRMSU5FX0FSUk9XX1NPTElEX0RPV046ImFycm93X3NvbGlkX2Rvd24iLApPVVRMSU5FX0FSUk9XX1NPTElEX0RPV05fMTY6ImFycm93X3NvbGlkX2Rvd24iLE9VVExJTkVfQVJST1dfU09MSURfVVA6ImFycm93X3NvbGlkX3VwIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9CQUc6ImJhZyIsT1VUTElORV9DTE9DS19IQUxGX0NJUkNMRToiY2xvY2tfaGFsZl9kYXNoZWQiLE9VVExJTkVfTU9CSUxFX0RPV05MT0FEOiJtb2JpbGVfYXJyb3dfZG93biIsT1VUTElORV9PVkVSRkxPV19IT1JJWk9OVEFMXzMyOiJvdmVyZmxvd19ob3Jpem9udGFsIixPVVRMSU5FX09WRVJGTE9XX1ZFUlRJQ0FMOiJvdmVyZmxvd192ZXJ0aWNhbCIsT1VUTElORV9ZT1VUVUJFX0lNUFJPVkVfVFY6InN0YXJfdHYiLE9VVExJTkVfWU9VVFVCRV9TSE9SVFNfUExVUzoic2hvcnRzX2FkZCIsUEFJRDoiZG9sbGFyX3NpZ25fY2lyY2xlIixQQVVTRV9PVVRMSU5FRDoicGF1c2UiLFBBWU1FTlQ6ImNyZWRpdF9jYXJkIixQRU9QTEU6InBlcnNvbl9jaGlsZCIsClBFT1BMRV8yOiJwZXJzb24yX3JlY3RhbmdsZSIsUEVPUExFX0FMVDoicGVyc29uMiIsUEVPUExFX0dST1VQOiJwZXJzb24zIixQRU9QTEVfTk9URToiYnViYmxlX2FzdGVyaXNrIixQRVJTT05fMjoicGVyc29uMiIsUEVSU09OX0FDQ09VTlQ6InBlcnNvbl9zcXVhcmVfc3RhY2siLFBFUlNPTl9NSU5VUzoicGVyc29uX3giLFBFUlNPTl9NVVNJQzoicGVyc29uX2F1ZGlvIixQRVJTT05fUkFEQVI6InBlcnNvbl93YXZlcyIsUEVSU09OX1JBREFSX0ZJTExFRDoicGVyc29uX3dhdmVzIixQRVJTT05fU0VUVElORzoicGVyc29uX2dlYXIiLFBIT05FTElOSzoicXJfY29kZSIsUEhPTkU6InBob25lIixQSE9ORV9ET1dOTE9BRDoibW9iaWxlX2Fycm93X2Rvd24iLFBJQ1RVUkVfSU5fUElDVFVSRToicGljdHVyZV9pbl9waWN0dXJlIixQTEFZQUJMRVNfTE9HTzoicGxheWFibGVzIixQTEFZQUJMRVNfTE9HT19DQUlSTzoicGxheWFibGVzIixQTEFZTElTVFM6InBsYXlsaXN0IixQTEFZTElTVFNfQ0FJUk86InBsYXlsaXN0IiwKUExBWUxJU1RfQUREX0NIRUNLOiJib29rbWFyayIsUExBWV9BTEw6InBsYXkiLFBMQVlfQVJST1c6InBsYXkiLFBMQVlfQVJST1dfQ0lSQ0xFOiJwbGF5X2NpcmNsZSIsUExBWV9BUlJPV19IQUxGX0NJUkNMRToicGxheV9jaXJjbGVfaGFsZl9kYXNoZWQiLFBMQVlfQVJST1dfT1VUTElORUQ6InBsYXkiLFBMQVlfQ0lSQ0xFOiJwbGF5X2NpcmNsZSIsUExBWV9PVVRMSU5FRDoicGxheV9jaXJjbGUiLFBPRENBU1RfQUREOiJwb2RjYXN0X2FkZCIsUE9EQ0FTVF9DSEVDSzoicG9kY2FzdF9jaGVjayIsUFJJVkFDWV9JTkZPOiJzaGllbGRfeCIsUFJJVkFDWV9QUklWQVRFOiJsb2NrIixQUklWQUNZX1BVQkxJQzoiZ2xvYmUiLFBSSVZBQ1lfVU5MSVNURUQ6ImxpbmsiLFBST01PVEU6Im1lZ2FwaG9uZSIsUFVSQ0hBU0VTOiJwcmljZV90YWciLFBVUkNIQVNFX1NVUEVSX0NIQVQ6InN1cGVyX2NoYXQiLFBVUkNIQVNFX1NVUEVSX1NUSUNLRVI6InN1cGVyX3N0aWNrZXIiLFFVRVNUSU9OX0FOU1dFUjoiaGVscF9idWJibGUiLApRVUVTVElPTl9DSVJDTEU6ImhlbHBfY2lyY2xlIixRVUVVRV9QTEFZX0xBU1Q6InF1ZXVlX2xhc3QiLFFVRVVFX1BMQVlfTkVYVDoicXVldWVfbmV4dCIsUVVPVEFUSU9OX01BUks6InF1b3RlIixSQURBUl9MSVZFOiJsaXZlIixSRU1PVkU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0NJUkNMRToibWludXNfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFX09VVExJTkU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0ZST01fSElTVE9SWToibWludXNfY2lyY2xlIixSRU1PVkVfRlJPTV9QTEFZTElTVDoibWludXNfY2lyY2xlIixSRU1PVkVfTU9ERVJBVE9SOiJzaGllbGRfc2xhc2giLFJFUExBWToiYXJyb3dfY291bnRlcmNsb2Nrd2lzZSIsUkVQTEFZXzEwOiJza2lwMTBfYmFjayIsUkVQTEFZX0FSUk9XOiJyZXBsYXkiLFJFUE9SVF9QUk9CTEVNOiJhbGVydF90cmlhbmdsZSIsUlNTX09GRjoicnNzX3NsYXNoIixTQUQ6ImZhY2Vfc2FkIixTQVZFX1BMQVlMSVNUOiJib29rbWFyayIsU0NIRURVTEU6ImNsb2NrIiwKU0NIT09MOiJncmFkdWF0aW9uX2NhcCIsU0NSRUVOX0RFRkFVTFQ6InBsYXllcl9kZWZhdWx0IixTQ1JFRU5fRlVMTFNDUkVFTjoicGxheWVyX2Z1bGxfZW50ZXIiLFNDUkVFTl9MSUdIVDoiYW1iaWVudF9tb2RlIixTQ1JFRU5fUk9UQVRJT046InJvdGF0ZV9wb3J0cmFpdCIsU0NSRUVOX1NXSVRDSDoicGxheWVyX3N3aXRjaCIsU0NSRUVOX1RIRUFUUkU6InBsYXllcl90aGVhdGVyIixTRUFSQ0hfQ0FJUk86InNlYXJjaCIsU0VBUkNIX0hJU1RPUlk6Imhpc3RvcnkiLFNFTEw6InByaWNlX3RhZyIsU0VUVElOR1M6ImdlYXIiLFNFVFRJTkdTX0NBSVJPOiJnZWFyIixTRVRUSU5HU19MSUdIVDoiZ2VhciIsU0VUVElOR1NfTUFURVJJQUw6ImdlYXIiLFNFVFRJTkdTX1JFTU9URToicmVtb3RlX3dhdmVzIixTSEFSRToic2hhcmUiLFNIQVJFX0FSUk9XOiJzaGFyZSIsU0hBUkVfQ0FJUk86InNoYXJlIixTSElFTEQ6InNoaWVsZF94IixTSElFTERfRU1QVFk6InNoaWVsZCIsU0hJRUxEX09GRjoic2hpZWxkX3NsYXNoIiwKU0hJRUxEX1dJVEhfQVZBVEFSOiJwZXJzb25fc2hpZWxkIixTSE9QUElOR19CQUc6ImJhZyIsU0hPUFBJTkdfQkFHX0NBSVJPOiJiYWciLFNIT1BQSU5HX0NBUlQ6ImNhcnQiLFNIT1JUU19DT01NRU5UOiJ0ZXh0X2J1YmJsZSIsU0hPUlRTX0RJU0xJS0U6InRodW1iX2Rvd24iLFNIT1JUU19MSUtFOiJ0aHVtYl91cCIsU0hPUlRTX1NIQVJFOiJzaGFyZSIsU0tJUF9GT1JXQVJEXzMwOiJza2lwMzBfZm9yd2FyZCIsU0xBU0hfQ0lSQ0xFX0xFRlQ6ImNpcmNsZV9zbGFzaCIsU0xBU0hfQ0lSQ0xFX1JJR0hUOiJjaXJjbGVfc2xhc2giLFNMT1dfTU9ERToiYnViYmxlX3Nsb3ciLFNMT1dfTU9ERV9PRkY6InRleHRfYnViYmxlIixTTE9XX01PVElPTl9WSURFTzoicGxheV9jaXJjbGVfaGFsZl9kYXNoZWQiLFNPQ0lBTDoicGVyc29uX2NoaWxkIixTUEFSS0xFOiJzcGFya2xlcyIsU1BBUktfSU1BR0U6ImltYWdlX3NwYXJrIixTUEFSS19MSUdIVEJVTEJfT1VUTElORToic3BhcmtfbGlnaHRidWxiIiwKU1BBUktfUEVOQ0lMOiJwZW5jaWxfc3BhcmsiLFNQQVJLX1JBREFSOiJzcGFya193YXZlcyIsU1BBUktfVklERU86InZpZGVvX3NwYXJrIixTUEVBS0VSX0dST1VQOiJzcGVha2VyX3N0YWNrIixTUEVBS0VSX09GRjoic3BlYWtlcl9zbGFzaCIsU1BFRURfMVg6Im4xeCIsU1BFRURfMV9QT0lOVF8yWDoibjFwb2ludDJ4IixTUEVFRF8xX1BPSU5UXzVYOiJuMXBvaW50NXgiLFNQRUVEXzFfUE9JTlRfOFg6Im4xcG9pbnQ4eCIsU1BFRURfMlg6Im4yeCIsU1BPTlNPUlNISVBfU1RBUjoic3Rhcl9jaXJjbGUiLFNQT1JUUzoiYmFza2V0YmFsbCIsU1BPVExJR0hUOiJzcG90bGlnaHQiLFNUQUZGX1BJQ0s6InNwb3RsaWdodCIsU1RBUlRfRFZSOiJhZGQiLFNUQVJfQk9SREVSOiJzdGFyIixTVEFSX0NJUkNMRV9SSUJCT046Im1lbWJlcnNoaXBzX2dpZnQiLFNUQVJfSEFMRjoic3Rhcl9mdWxsX2hhbGYiLFNUQVJfU0hPT1RJTkc6Imh5cGUiLFNUSUNLRVI6InN0aWNrZXIiLFNUSUNLRVJfRU1PVElDT046ImZhY2VfaGFwcHkiLApTVE9QX0RWUjoic3RvcCIsU1VCU0NSSUJFOiJ5b3V0dWJlIixTVUJTQ1JJQkVfUExVUzoiYWRkIixTVUJTQ1JJUFRJT05fTUFOQUdFUjoiZ2VhciIsU1VQRVJTVEFSOiJzdXBlcl9zdGFyIixTVVBFUlZJU09SX0FDQ09VTlQ6InBlcnNvbl9jaGlsZCIsU1VQRVJfQ0hBVF9GT1JfR09PRDoiaGFuZHNfaGVhcnQiLFNXQVBfSE9SSVo6ImFycm93X3N3YXBfaG9yaXpvbnRhbCIsU1dJVENIX0FDQ09VTlRTOiJwZXJzb25fc3F1YXJlX3N0YWNrIixUQUJfQUNDT1VOVDoicGVyc29uIixUQUJfQUNUSVZJVFk6ImJlbGwiLFRBQl9CT09LTUFSSzoiYm9va21hcmsiLFRBQl9FWFBMT1JFOiJjb21wYXNzIixUQUJfSE9NRToiaG9tZSIsVEFCX0hPTUVfQ0FJUk86ImhvbWUiLFRBQl9JTkJPWDoibWFpbCIsVEFCX0xJS0VEOiJ0aHVtYl91cCIsVEFCX01VU0lDX1BSRU1JVU06InlvdXR1YmVfbXVzaWMiLFRBQl9TSE9SVFM6InNob3J0cyIsVEFCX1NIT1JUU19DQUlSTzoic2hvcnRzIixUQUJfU1VCU0NSSVBUSU9OUzoic3Vic2NyaXB0aW9ucyIsClRBQl9TVUJTQ1JJUFRJT05TX0NBSVJPOiJzdWJzY3JpcHRpb25zIixUQUJfVFJFTkRJTkc6InRyZW5kaW5nIixUQVJHRVQ6InRhcmdldCIsVEFSR0VUX0FERDoidGFyZ2V0X2FkZCIsVEVNUExBVEVfQUREOiJ0ZW1wbGF0ZV9hZGQiLFRFWFQ6ImZvbnQiLFRJQ0tFVF9TVEFSOiJzdGFyX3RpY2tldCIsVElNRVI6InN0b3B3YXRjaCIsVFJFTkRJTkdfQ0FJUk86InRyZW5kaW5nIixUUkVORElOR19ET1dOOiJhcnJvd190cmVuZF9kb3duIixUUkVORElOR19VUDoiYXJyb3dfdHJlbmRfdXAiLFRST1BIWV9DQUlSTzoidHJvcGh5IixUUk9QSFlfQ0VMRUJSQVRJT05TOiJmaXJld29ya3MiLFRST1BIWV9TVEFSOiJzdGFyX3Ryb3BoeSIsVFVORToiYWRqdXN0IixUVl9PRkY6InR2X3NsYXNoIixVTkJMT0NLX1VTRVI6Im1pbnVzX2NpcmNsZSIsVU5GQVZPUklURToidGh1bWJfZG93biIsVU5MSU1JVEVEOiJ5b3V0dWJlIixVTlBMVUdHRURfTElWRV9HVUlERToibGl2ZSIsVU5QTFVHR0VEX1NQT1JUUzoiZXllX3NsYXNoIiwKVVBMT0FEUzoicGxheV9zcXVhcmVfc3RhY2siLFVQX0FSUk9XOiJhcnJvd191cCIsVkVSVElDQUxfQUxJR05fQk9UVE9NOiJjaGV2cm9uX2Rvd25fZW5kIixWRVJUSUNBTF9BTElHTl9UT1A6ImNoZXZyb25fdXBfZW5kIixWRVJZX0hBUFBZOiJmYWNlX3ZlcnlfaGFwcHkiLFZFUllfU0FEOiJmYWNlX3Zlcnlfc2FkIixWSURFT1M6InBsYXlfY2lyY2xlIixWSURFT19DQUxMOiJ2aWRlb19jYW1lcmFfYWRkIixWSURFT19MSUJSQVJZX1dISVRFOiJwbGF5X3NxdWFyZV9zdGFjayIsVklERU9fUVVBTElUWV80SzoibjRrIixWSURFT19RVUFMSVRZXzhLOiJuOGsiLFZJREVPX1lPVVRVQkU6InlvdXR1YmUiLFZJRVdfTElTVF9DQUlSTzoidmlld19saXN0IixWSUVXX01PRFVMRToidmlld19jb2x1bW4zX3JvdzIiLFZJU0lCSUxJVFk6ImV5ZSIsVklTSUJJTElUWV9PRkY6ImV5ZV9zbGFzaCIsVk9MVU1FX0RPV046InZvbHVtZV9taW4iLFZPTFVNRV9NVVRFOiJ2b2x1bWVfbXV0ZSIsVk9MVU1FX09GRjoidm9sdW1lX211dGUiLApWT0xVTUVfU1RBQkxFOiJzdGFibGVfdm9sdW1lIixWT0xVTUVfVVA6InZvbHVtZV9tYXgiLFdBTExQQVBFUjoiaW1hZ2UiLFdBUk5JTkc6ImFsZXJ0X3RyaWFuZ2xlIixXQVRDSF9ISVNUT1JZOiJoaXN0b3J5IixXQVRDSF9ISVNUT1JZX0NBSVJPOiJoaXN0b3J5IixXQVRDSF9MQVRFUjoiY2xvY2siLFdBVENIX0xBVEVSX0NBSVJPOiJjbG9jayIsV0FUQ0hfUkVMQVRFRF9NSVg6Im1peCIsV0hBVF9UT19XQVRDSDoiaG9tZSIsWU9VVFVCRV9DUkVBVEVfUkVEX0xPR086InlvdXR1YmVfY3JlYXRlX2xvZ28iLFlPVVRVQkVfTElOS0VEX1RWOiJ0dl9tb2JpbGUiLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRToieW91dHViZV9tdXNpYyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FX0NBSVJPOiJ5b3V0dWJlX211c2ljIixZT1VUVUJFX1NIT1JUU19BUlJPV19ET1dOOiJhcnJvd19kb3duIixZT1VUVUJFX1NIT1JUU19BUlJPV19VUDoiYXJyb3dfdXAiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfUkVEXzE2OiJzaG9ydHNfZW1wdHkiLApZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJzaG9ydHNfZW1wdHkiLFlPVVRVQkVfU0hPUlRTX09VVExJTkVfMjQ6InNob3J0cyIsWU9VVFVCRV9TSE9SVFNfT1VUTElORV9XSVRIX1RFWFRfMjQ6InNob3J0c190ZXh0X2xvZ28iLFlUX09VVExJTkVfTVVTSUNfMjQ6ImF1ZGlvIn07dmFyIFZxYT17MTU6W1sxLDMsMjRdXSwiMV9wb2ludF8yeCI6W1sxLDEsMjRdXSwiMV9wb2ludF81eCI6W1sxLDEsMjRdXSwiMV9wb2ludF84eCI6W1sxLDEsMjRdXSwiMXgiOltbMSwxLDI0XV0sIjJfcG9pbnRfNXgiOltbMSwxLDI0XV0sIjJkIjpbWzEsMSwyNF1dLCIyeCI6W1sxLDMsMjRdXSwiM2QiOltbMSwxLDI0XV0sIjN4IjpbWzEsMywyNF1dLCI0ZCI6W1sxLDEsMjRdXSwiNGsiOltbMCwzLDI0XSxbMSwzLDI0XV0sNjA6W1sxLDMsMjRdXSwiOGsiOltbMCwyLDI0XSxbMSwyLDI0XV0sYWNjZXNzaWJpbGl0eTpbWzEsNCwyNF1dLGFjY291bnRfbGluazpbWzEsOCwyNF1dLGFjY291bnRfbGlua19lcnJvcjpbWzEsNiwyNF1dLGFjY291bnRfbGlua19zb21lOltbMCw1LDI0XV0sYWNjb3VudF9saW5rX3N1Y2Nlc3M6W1swLDUsMjRdXSxhZGQ6W1sxLDksMTZdLFsxLDksMjRdXSxhZGRfY2Fpcm86W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMjRdXSxhZGRfY2lyY2xlOltbMSw2LDI0XSwKWzEsNiwzNl1dLGFkZF9oYWxmX2NpcmNsZTpbWzEsMiwyNF1dLGFkanVzdDpbWzAsOSwyNF0sWzEsOSwxOF0sWzEsOSwyNF1dLGFpcnBsYW5lOltbMCw1LDI0XSxbMSw1LDIwXSxbMSw1LDI0XV0sYWlycGxheTpbWzEsNiwxNl0sWzEsNiwyNF1dLGFpcnBsYXlfb2ZmOltbMSwxLDI0XV0sYWxidW06W1swLDgsMjRdLFsxLDgsMjRdXSxhbGVydF9jaXJjbGU6W1swLDExLDI0XSxbMSwxMSwxNl0sWzEsMTEsMjRdXSxhbGVydF90cmlhbmdsZTpbWzAsMTAsMTJdLFswLDEwLDI0XSxbMSwxMCwyNF1dLGFsaWduX2NlbnRlcjpbWzAsNiwyNF0sWzEsNiwyNF1dLGFsaWduX2xlZnQ6W1swLDYsMjRdLFsxLDYsMjRdXSxhbGlnbl9yaWdodDpbWzAsNiwyNF0sWzEsNiwyNF1dLGFycm93X2NhcHM6W1swLDIsMjRdLFsxLDIsMjRdXSxhcnJvd19jaXJjbGU6W1sxLDYsMjRdLFsxLDYsNDhdXSxhcnJvd19jaXJjbGVfZGFzaDpbWzEsMSwyNF1dLGFycm93X2NpcmNsZV9wbGF5OltbMSwxLDI0XSxbMSwxLAozNl0sWzEsMSw0OF1dLGFycm93X2NpcmNsZV9yaWdodDpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywxNl0sWzEsMywxOF0sWzEsMywyNF1dLGFycm93X2RpYWdvbmFsOltbMSw1LDI0XV0sYXJyb3dfZGlhZ29uYWxfZG93bl9yaWdodDpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLGFycm93X2RpYWdvbmFsX3VwX3JpZ2h0OltbMCwxLDEyXSxbMCwxLDE2XSxbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDEyXSxbMSwxLDE2XSxbMSwxLDE4XSxbMSwxLDI0XV0sYXJyb3dfZG93bjpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X2Rvd25fY2lyY2xlOltbMCw0LDEyXSxbMCw0LDE2XSxbMCw0LDE4XSxbMCw0LDI0XV0sYXJyb3dfZmxpcDpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLGFycm93X2ZsaXBfZG9sbGFyX3NpZ246W1sxLDIsMjRdXSxhcnJvd19pbjpbWzAsOCwyNF0sWzEsOCwyNF1dLGFycm93X2xlZnQ6W1sxLAo4LDI0LCEwXV0sYXJyb3dfbGVmdF9jYWlybzpbWzEsMiwyNCwhMF1dLGFycm93X21lcmdlOltbMSwyLDI0XV0sYXJyb3dfb3V0OltbMCwyLDI0XV0sYXJyb3dfcGF1c2U6W1sxLDEsMjRdXSxhcnJvd19yZWRvOltbMSwxLDI0XV0sYXJyb3dfcmVtaXg6W1sxLDEsMjRdXSxhcnJvd19yZXBlYXQ6W1swLDUsMjRdLFsxLDUsMjRdXSxhcnJvd19yZXBlYXRfMTpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3JpZ2h0OltbMSwzLDI0LCEwXV0sYXJyb3dfc2h1ZmZsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGFycm93X3NraXBfZm9yd2FyZDpbWzAsMSwyNF0sWzEsMSwyNF1dLGFycm93X3NvbGlkX2Rvd246W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxhcnJvd19zb2xpZF91cDpbWzAsNCwxNl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLGFycm93X3NwbGl0OltbMCwzLDI0XSxbMSwzLDI0XV0sYXJyb3dfc3dhcF9ob3Jpem9udGFsOltbMCw1LDI0XSxbMSw1LDE4XSwKWzEsNSwyNF1dLGFycm93X3RpbWU6W1swLDgsMjRdLFsxLDgsMjRdXSxhcnJvd190aW1lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfdGltZV9mb3J3YXJkOltbMSwxLDI0XV0sYXJyb3dfdW5kbzpbWzEsMSwyNF1dLGFycm93X3VwOltbMCwzLDI0XSxbMSwzLDI0XV0sYXJyb3dfdXBfY2lyY2xlOltbMCw0LDEyXSxbMCw0LDE2XSxbMCw0LDE4XSxbMCw0LDI0XV0sYXJyb3dzX2FsZXJ0OltbMSwxLDI0XV0sYXJ0aWNsZTpbWzEsMiwyNF1dLGFydGljbGVfYWxlcnQ6W1sxLDIsMjRdXSxhcnRpY2xlX2NoZWNrOltbMSwyLDI0XV0sYXJ0aWNsZV9jbGFyaWZ5OltbMSwyLDI0XV0sYXVkaW86W1swLDE0LDEyXSxbMCwxNCwxNl0sWzAsMTQsMThdLFswLDE0LDI0XSxbMSwxNCwxOF0sWzEsMTQsMjRdXSxhdWRpb19iYWRnZTpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF1dLGF1ZGlvX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYXVkaW9fb2ZmOltbMSwyLDI0XV0sYXVkaW9fc3Vycm91bmQ6W1swLAoxLDI0XSxbMSwxLDI0XV0sYmFja2dyb3VuZDpbWzEsMSwyNF1dLGJhY2tzcGFjZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGJhZzpbWzAsNywxMl0sWzAsNywxOF0sWzAsNywyNF0sWzEsNywxOF0sWzEsNywyNF1dLGJhZ19ib29rbWFyazpbWzEsMiwyNF1dLGJhZ19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGJhcl9jaXJjbGU6W1sxLDQsMjRdXSxiYXJfZ3JhcGg6W1swLDIsMjRdLFsxLDIsMjRdXSxiYXJfZ3JhcGhfYm94X3ZlcnRpY2FsOltbMCw2LDI0XSxbMSw2LDI0XV0sYmFyX2hvcml6b250YWw6W1sxLDIsMTZdLFsxLDIsMjRdXSxiYXJzXzI6W1sxLDksMTZdLFsxLDksMjRdXSxiYXJzXzM6W1swLDIsMjRdLFsxLDIsMjRdXSxiZWFrZXI6W1sxLDIsMjRdXSxiZWxsOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxiZWxsX2NhaXJvOltbMCwzLDI0XSxbMSwzLDI0XV0sYmVsbF9vZmY6W1sxLDUsMjRdXSxiZWxsX29mZl9jYWlybzpbWzEsMiwyNF1dLGJlbGxfb246W1swLDcsMjRdXSxiZWxsX29uX2NhaXJvOltbMCwKMiwyNF1dLGJsdXI6W1sxLDIsMjRdXSxib29rOltbMSwzLDI0XV0sYm9va21hcms6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGJvb2ttYXJrX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYm94XzNkOltbMCwxLDI0XSxbMSwxLDI0XV0sYm94X2JhcjpbWzAsMywyNF1dLGJveF9jaGVjazpbWzAsNiwxOF0sWzAsNiwyNF0sWzAsNiwzNl0sWzEsNiwyNF1dLGJveF9jaGV2cm9uX3JpZ2h0OltbMSwzLDI0XV0sYm94X2Rhc2hlZF90cmlhbmdsZTpbWzEsMywyNF1dLGJveF9lbXB0eTpbWzEsNSwyNF1dLGJveF9vcGVuX2NoZWNrOltbMCw0LDI0XSxbMSw0LDE2XSxbMSw0LDI0XV0sYm94X3BlbmNpbDpbWzEsMywxNl0sWzEsMywyNF1dLGJveF9wbGFjZWhvbGRlcl9sZWZ0OltbMSwxLDI0XV0sYm94X3NlYXJjaDpbWzEsMSwyNF1dLGJveF9zdGFja18zOltbMCwxLDI0XSxbMSwxLDI0XV0sYm94ZXNfMjpbWzEsMywyNF1dLGJyaWVmY2FzZTpbWzEsMiwyNF1dLGJyaWVmY2FzZV9zbGFzaDpbWzAsCjMsMjRdXSxicmlnaHRuZXNzOltbMCwzLDI0XSxbMSwzLDI0XV0sYnJvYWRjYXN0OltbMCwzLDI0XSxbMSwzLDEyXSxbMSwzLDE2XSxbMSwzLDE4XSxbMSwzLDI0XSxbMSwzLDQ4XV0sYnVnOltbMCw0LDI0XSxbMSw0LDI0XV0sYnVzaW5lc3M6W1sxLDQsMjRdXSxjYWJsZTpbWzEsMiwyNF1dLGNhbGN1bGF0b3I6W1swLDMsMjRdLFsxLDMsMjRdXSxjYWxlbmRhcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhbWVyYTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2FtZXJhX2F1ZGlvOltbMSw1LDI0XV0sY2FtZXJhX2VmZmVjdHM6W1sxLDQsMjRdXSxjYW1lcmFfZmxpcDpbWzEsNCwyNF1dLGNhbWVyYV9oYXNodGFnOltbMSw1LDI0XV0sY2FtZXJhX3N3aXRjaDpbWzAsMywyNF0sWzEsMywyNF1dLGNhcmQ6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxjYXJ0OltbMCw0LDI0XSxbMSw0LDI0XV0sY2FydF9zcGFyazpbWzEsMSwyNF1dLGNhdDpbWzAsMywyNF0sWzEsMywyNF1dLGNlbGVicmF0aW9uOltbMSwKMiwyNF1dLGNoZWNrOltbMCwxMywxMl0sWzAsMTMsMTZdLFswLDEzLDI0XSxbMSwxMywxNl0sWzEsMTMsMjRdXSxjaGVja19jaXJjbGU6W1swLDEwLDE4XSxbMCwxMCwyNF0sWzEsMTAsMjRdXSxjaGVja19kb3VibGU6W1sxLDEsMjRdXSxjaGVja19kb3VibGVfb2ZmOltbMSwxLDI0XV0sY2hldnJvbl9jb2xsYXBzZTpbWzEsMywyNF1dLGNoZXZyb25fZG93bjpbWzEsOSwxOF0sWzEsOSwyNF1dLGNoZXZyb25fZG93bl9jYWlybzpbWzEsMiwyNF1dLGNoZXZyb25fZG93bl9jaXJjbGU6W1swLDMsMjRdXSxjaGV2cm9uX2V4cGFuZDpbWzEsNSwyNF1dLGNoZXZyb25fZmlyc3Q6W1sxLDEsMjRdXSxjaGV2cm9uX2xhc3Q6W1sxLDEsMjRdXSxjaGV2cm9uX2xlZnQ6W1sxLDksMTYsITBdLFsxLDksMTgsITBdLFsxLDksMjQsITBdXSxjaGV2cm9uX2xlZnRfY2lyY2xlOltbMCwzLDI0XV0sY2hldnJvbl9sZWZ0X2lvczpbWzEsMywyNF1dLGNoZXZyb25fbGVmdF9pb3NfY2Fpcm86W1sxLDIsMjRdXSwKY2hldnJvbl9yaWdodDpbWzAsNywxNiwhMF0sWzAsNywxOCwhMF0sWzAsNywyNCwhMF0sWzEsNywxNiwhMF0sWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLGNoZXZyb25fcmlnaHRfY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX3JpZ2h0X2NpcmNsZTpbWzAsMywyNF1dLGNoZXZyb25fcmlnaHRfaW9zOltbMSwxLDI0XV0sY2hldnJvbl91cDpbWzEsOSwxNl0sWzEsOSwxOF0sWzEsOSwyNF1dLGNoZXZyb25fdXBfY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX3VwX2NpcmNsZTpbWzAsMywyNF1dLGNocm9tZWNhc3Q6W1swLDExLDI0XSxbMSwxMSwyNF1dLGNocm9tZWNhc3RfYW5pbWF0ZV9mcmFtZV8xOltbMSw1LDI0XV0sY2hyb21lY2FzdF9hbmltYXRlX2ZyYW1lXzI6W1sxLDUsMjRdXSxjaHJvbWVjYXN0X2FuaW1hdGVfZnJhbWVfMzpbWzEsNSwyNF1dLGNocm9tZWNhc3RfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjaHJvbWVjYXN0X21vYmlsZTpbWzEsNCwyNF0sWzEsNCwzNl1dLGNocm9tZWNhc3Rfd2F2ZWZvcm06W1sxLAoyLDI0XV0sY2lyY2xlOltbMCw5LDI0XSxbMSw5LDI0XV0sY2lyY2xlX2Z1bGw6W1swLDMsMjRdXSxjaXJjbGVfaGFsZl9mdWxsOltbMSwxLDI0XV0sY2lyY2xlc182OltbMCwxLDI0XV0sY2lyY2xlc19vdmVybGFwOltbMCwxLDI0XSxbMSwxLDI0XV0sY2lyY2xlc19vdmVybGFwX2NoZWNrOltbMCwxLDE2XSxbMCwxLDI0XV0sY2xhcHBlcmJvYXJkOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xhcHBlcmJvYXJkX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2s6W1swLDEwLDI0XSxbMSwxMCwxNl0sWzEsMTAsMjRdXSxjbG9ja19hcnJvd3M6W1sxLDEsMjRdXSxjbG9ja19hcnJvd3NfYWxlcnQ6W1sxLDEsMjRdXSxjbG9ja19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrX2hhbGZfY2lyY2xlOltbMCwxLDI0XSxbMSwxLDI0XV0sY2xvc2VkX2NhcHRpb246W1swLDExLDI0XSxbMSwxMSwyNF1dLGNsb3VkOltbMSwyLDI0XV0sY2xvdWRfYXJyb3dfZG93bjpbWzEsMywyNF1dLGNsb3VkX2Fycm93X3VwOltbMCwKNiwyNF0sWzEsNiwyNF1dLGNsb3VkX2NoZWNrOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfZWxsaXBzaXM6W1swLDMsMjRdLFsxLDMsMjRdXSxjbG91ZF9vZmY6W1sxLDIsMjRdXSxjb2RlOltbMSwyLDI0XV0sY29tcGFzczpbWzAsOSwyNF0sWzEsOSwyNF1dLGNvbXBhc3NfY2Fpcm86W1swLDEsMjRdLFsxLDEsMjRdXSxjb250cm9sbGVyOltbMCwyLDI0XSxbMSwyLDI0XV0sY29weTpbWzEsMywyNF1dLGNvcHlyaWdodDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNyZWF0b3JfYWNhZGVteTpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF0sWzEsMywyNF1dLGNyZWF0b3JfYWNhZGVteV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNyZWRpdF9jYXJkOltbMSw0LDI0XV0sY3JvcDpbWzEsNCwxNl0sWzEsNCwyNF1dLGNyb3Bfcm90YXRlOltbMSwyLDI0XV0sY3Jvd246W1swLDUsMTZdLFswLDUsMjRdLFsxLDUsMTJdLFsxLDUsMTZdLFsxLDUsMjRdXSxjdWJlX3NwYXJrOltbMSwxLDI0XV0sCmN1cnZlX3M6W1swLDEsMjRdXSxkYXNoYm9hcmRfcGx1czpbWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyMF0sWzEsMSwyNF1dLGRpZV8zOltbMCw1LDI0XSxbMSw1LDI0XV0sZGlyZWN0aW9uczpbWzEsMywyNF1dLGRvZ2Zvb2Q6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbjpbWzAsNywyNF0sWzEsNywyNF1dLGRvbGxhcl9zaWduX2NpcmNsZTpbWzAsMTIsMTZdLFswLDEyLDI0XSxbMSwxMiwxNl0sWzEsMTIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGF1c2U6W1sxLDIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGx1czpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NvbnRhaW5lcjpbWzEsNywyNF1dLGRvbGxhcl9zaWduX2hlYXJ0OltbMCwyNCwxMl0sWzAsMjQsMjRdLFsxLDI0LDE2XSxbMSwyNCwyNF1dLGRvbGxhcl9zaWduX29mZjpbWzEsMywyNF1dLGRvdDpbWzAsMiwxMl0sWzAsMiwyNF1dLGRvd25sb2FkOltbMCwxMSwyNF0sWzEsMTEsMTZdLFsxLDExLDI0XV0sZG93bmxvYWRfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0sZG93bmxvYWRlZDpbWzAsOCwyNF1dLGRvd25sb2FkaW5nOltbMSw1LDI0XV0sZG93bmxvYWRpbmdfMDpbWzEsNSwyNF1dLGRvd25sb2FkaW5nXzE6W1sxLDYsMjRdXSxkb3dubG9hZGluZ18yOltbMSw2LDI0XV0sZG93bmxvYWRpbmdfMzpbWzEsNiwyNF1dLGRvd25sb2FkaW5nXzQ6W1sxLDYsMjRdXSxkb3dubG9hZGluZ181OltbMSw3LDI0XV0sZG93bmxvYWRpbmdfNjpbWzEsNiwyNF1dLGRyaXZlX2FkZDpbWzEsMiwyNF1dLGVhcnRoOltbMCwxMiwyNF0sWzEsMTIsMTZdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLGV4cGxpY2l0OltbMCw3LDE4XSxbMCw3LDI0XSxbMSw3LDI0XV0sZXllOltbMCw2LDI0XSxbMSw2LDI0XV0sZXllX29mZjpbWzEsNCwyNF1dLGV5ZWRyb3BwZXI6W1sxLDIsMjRdXSxmYWNlX2FkZDpbWzEsMSwyNF1dLGZhY2VfYXJyb3dzX2RpYWdvbmFsOltbMSwxLDI0XV0sZmFjZV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sClsxLDEyLDM2XV0sZmFjZV9pbWFnZTpbWzEsMiwyNF1dLGZhY2VfbWVoOltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfbWVoXzI6W1swLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdLFsxLDYsMzZdXSxmYWNlX3BhaW50YnJ1c2g6W1sxLDIsMjRdXSxmYWNlX3NhZDpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX3VuaGFwcHk6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV91cHNldDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYWNlX3ZlcnlfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV92ZXJ5X3NhZDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYXNoaW9uOltbMCw0LDI0XSxbMSw0LDI0XV0sZmFzaGlvbl9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGZhc3RfYmFjazpbWzAsCjMsMjRdLFsxLDMsMjRdXSxmYXN0X2ZvcndhcmQ6W1swLDUsMjRdXSxmaWxtX3N0cmlwOltbMCw3LDI0XSxbMSw3LDI0XV0sZmlsbV9zdHJpcF9hZGQ6W1sxLDIsMjRdXSxmaWx0ZXJfZmFjZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGZpbHRlcl9waG90bzpbWzAsOCwyNF0sWzEsOCwyNF1dLGZpcmU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzEsMTAsMTZdLFsxLDEwLDI0XV0sZmlyZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGZpcmV3b3JrczpbWzEsMywyNF1dLGZsYWc6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZsYWdfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmbGFzaF9hdXRvOltbMCwzLDI0XSxbMSwzLDI0XV0sZmxhc2hfY2lyY2xlOltbMCw1LDE4XSxbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfb2ZmOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfb246W1swLDUsMjRdLFsxLDUsMjRdXSxmbGlwX2hvcml6b250YWw6W1sxLDQsMjRdXSxmbGlwX2hvcml6b250YWxfZGFzaDpbWzEsCjEsMjRdXSxmbGlwX3ZlcnRpY2FsX2Rhc2g6W1sxLDEsMjRdXSxmb2xkZXI6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMjRdXSxmb250X3NxdWFyZV9zcGFyazpbWzEsMSwxNl0sWzEsMSwyNF1dLGZvb3RiYWxsOltbMCw0LDI0XSxbMSw0LDI0XV0sZ2FtaW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sZ2FtaW5nX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2VhcjpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZ2Vhcl9jYWlybzpbWzAsMywyNF0sWzEsMywyNF1dLGdob3N0OltbMCw1LDI0XSxbMSw1LDI0XV0sZ2lmOltbMSwzLDI0XV0sZ2lmdDpbWzAsMywyNF0sWzEsMywyNF1dLGdsb2JlOltbMCw0LDI0XSxbMCw0LDM2XSxbMSw0LDI0XSxbMSw0LDM2XV0sZ2xvYmVfaW1hZ2U6W1swLDMsMjRdLFswLDMsMzZdLFsxLDMsMjRdLFsxLDMsMzZdXSxnbG93OltbMSwyLDI0XV0sZ29vZ2xlX2xlbnM6W1sxLDQsMjRdXSxncmVhdGVyX3RoYW5fMjA6W1sxLDIsMjRdXSxncmlkXzJ4MjpbWzEsMSwyNF1dLApncmlkXzNfYnlfMzpbWzAsMSwyNF0sWzEsMSwyNF1dLGdyaWRfYXN5bW1ldHJpY2FsOltbMCwxLDI0XSxbMSwxLDI0XV0saGFuZDpbWzEsMiwyNF1dLGhhbmRfbG9uZ19wcmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGhhbmRfcGluY2hfaW46W1sxLDIsMjRdXSxoYW5kX3N3aXBlX2xlZnQ6W1sxLDEsMjRdXSxoYW5kX3N3aXBlX3JpZ2h0OltbMSwyLDI0XV0saGFuZF90YXA6W1swLDIsMjRdLFsxLDIsMjRdXSxoYW5kX3dhdmU6W1sxLDIsMjRdXSxoYW5kc19oZWFydDpbWzAsMywyNF0sWzEsMywyNF1dLGhhc2h0YWc6W1sxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjBdLFsxLDIsMjRdXSxoZDpbWzAsOCwyNF0sWzEsOCwyNF1dLGhlYWRzZXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFydDpbWzAsMTksMTNdLFswLDE5LDI0XSxbMSwxOSwxNl0sWzEsMTksMjRdXSxoZWFydF9ib3g6W1sxLDEsMjRdXSxoZWFydF9jaXJjbGU6W1sxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjBdLFsxLDIsMjRdXSwKaGVhcnRfb2ZmOltbMSwyLDI0XV0saGllcmFyY2h5OltbMCw0LDI0XSxbMSw0LDI0XV0saGlnaGxpZ2h0czpbWzEsMiwyNF1dLGhvbWU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGhvbWVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxob3VyZ2xhc3M6W1sxLDMsMTZdLFsxLDMsMjRdXSxpbWFnZTpbWzAsOCwyNF0sWzEsOCwyNF1dLGltYWdlX2FkZDpbWzEsNCwyNF1dLGltYWdlX3dhbGxwYXBlcjpbWzEsMSwyNF1dLGluY29nbml0bzpbWzAsOSwyNF0sWzEsOSwyNF1dLGluY29nbml0b19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGluZmluaXRlOltbMCwyLDI0XV0saW5maW5pdHk6W1sxLDIsMjRdXSxpbmZvX2NpcmNsZTpbWzEsMTEsMTZdLFsxLDExLDE4XSxbMSwxMSwyMF0sWzEsMTEsMjRdXSxpbmZvX2NpcmNsZV9zcGFyazpbWzEsMiwyNF1dLGpvdXJuZXk6W1sxLDIsMjRdXSxrZXk6W1sxLDUsMjRdXSxrZXlib2FyZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGxhYmVsOltbMCw0LDI0XSwKWzEsNCwyNF1dLGxhcHRvcDpbWzEsMywyNF1dLGxhcHRvcF9tb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxsYXllcnM6W1swLDEsMjRdLFsxLDEsMjRdXSxsZWFmOltbMSwyLDI0XV0sbGVuczpbWzEsMSwyNF1dLGxlc3NfdGhhbl80OltbMSwyLDI0XV0sbGlicmFyeTpbWzAsNywyNF0sWzEsNywyNF1dLGxpYnJhcnlfYWRkOltbMSw3LDE2XSxbMSw3LDI0XV0sbGlicmFyeV9pbWFnZTpbWzEsMSwyNF1dLGxpYnJhcnlfbXVzaWM6W1swLDMsMjRdLFsxLDMsMjRdXSxsaWJyYXJ5X3NhdmVkOltbMCw3LDI0XV0sbGlnaHRidWxiOltbMCw0LDEyXSxbMCw0LDI0XSxbMSw0LDI0XV0sbGlnaHRidWxiX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sbGlnaHRidWxiX3NwYXJrOltbMSwyLDI0XV0sbGluazpbWzEsOCwxOF0sWzEsOCwyNF1dLGxpbmtfb2ZmOltbMSwxLDI0XV0sbGlzdF9hZGQ6W1sxLDUsMjRdXSxsaXN0X2NoZWNrOltbMCwyLDI0XV0sbGlzdF9tdXNpYzpbWzEsMywyNF1dLGxpc3RfcGVuY2lsOltbMSwKNSwyNF1dLGxpc3RfcGxheV9hcnJvdzpbWzAsOCwyNF0sWzEsOCwxMl0sWzEsOCwyNF1dLGxpc3RfcGxheV9hcnJvd19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpc3RfcXVldWU6W1sxLDEsMjRdXSxsaXN0X3F1ZXVlX2xhc3Q6W1swLDMsMjRdLFsxLDMsMjRdXSxsaXN0X3F1ZXVlX25leHQ6W1sxLDEsMjRdXSxsaXN0X3JlbW92ZTpbWzEsMSwyNF1dLGxpc3RfdmlldzpbWzEsMiwyNF1dLGxpc3Rfdmlld19jYWlybzpbWzEsMiwyNF1dLGxpdmVfbW9iaWxlX2xhbmRzY2FwZV9vcmllbnRhdGlvbjpbWzEsMSwyNF1dLGxpdmVfcGhvdG86W1sxLDIsMjRdXSxsaXZlX3dhdmVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbG9jYXRpb25fcG9pbnQ6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMjRdXSxsb2NhdGlvbl9wb2ludF9vZmY6W1sxLDEsMjRdXSxsb2NrOltbMCwxMywxMl0sWzAsMTMsMjRdLFsxLDEzLDEyXSxbMSwxMywxNl0sWzEsMTMsMThdLFsxLDEzLDI0XV0sbG9ja19vcGVuOltbMSwKNCwyNF1dLG1hZ2ljX3dhbmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxtYWlsOltbMCw5LDI0XSxbMSw5LDI0XV0sbWFwOltbMSwzLDI0XV0sbWF0aF9hZGQ6W1swLDMsMjRdXSxtYXRoX2FuZDpbWzAsMywyNF1dLG1hdGhfZGl2aWRlOltbMCwzLDI0XV0sbWF0aF9lcXVhbHM6W1swLDMsMjRdXSxtYXRoX2VxdWFsc19zbGFzaDpbWzEsMywyNF1dLG1hdGhfZ3JlYXRlcl90aGFuOltbMCwzLDI0XV0sbWF0aF9ncmVhdGVyX3RoYW5fb3JfZXF1YWw6W1sxLDEsMjRdXSxtYXRoX2xlc3NfdGhhbjpbWzAsMywyNF1dLG1hdGhfbGVzc190aGFuX29yX2VxdWFsOltbMSw0LDI0XV0sbWF0aF9tdWx0aXBseTpbWzAsMywyNF1dLG1hdGhfb3I6W1swLDMsMjRdXSxtYXRoX3BlcmNlbnQ6W1swLDMsMjRdXSxtYXRoX3N1YnRyYWN0OltbMCwzLDI0XV0sbWF4aW1pemVfY2Fpcm86W1sxLDEsMjRdXSxtZWRhbDpbWzEsMiwyNF1dLG1lZGFsX3N0YXI6W1sxLDIsMjRdXSxtZWV0OltbMSwxLDI0XV0sbWVnYXBob25lOltbMCwKNSwyNF0sWzEsNSwyNF1dLG1lbWJlcnNoaXBzOltbMCw5LDEyXSxbMCw5LDE2XSxbMCw5LDE4XSxbMCw5LDI0XSxbMSw5LDI0XV0sbWVudGlvbjpbWzEsNSwxNl0sWzEsNSwyNF1dLG1lbnVfZmlsdGVyOltbMCwxLDI0XSxbMSwxLDI0XV0sbWVudV9zb3J0OltbMSw0LDI0XV0sbWVzc2FnZV9idWJibGVfYWxlcnQ6W1swLDYsMjRdLFsxLDYsMjRdXSxtZXNzYWdlX2J1YmJsZV9hbGVydF9jYWlybzpbWzEsMiwyNF1dLG1lc3NhZ2VfYnViYmxlX2VtcHR5OltbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfZ2VhcjpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2xlZnQ6W1swLDEsMjRdLFsxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9sZWZ0X2Jvb3N0OltbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfbGVmdF9vZmY6W1sxLDEsMTZdLFsxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9vdmVybGFwOltbMCw4LDI0XSxbMSw4LDI0XV0sbWVzc2FnZV9idWJibGVfcXVlc3Rpb246W1swLDIsMTZdLFswLDIsCjI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sbWVzc2FnZV9idWJibGVfcmlnaHQ6W1swLDE0LDI0XSxbMCwxNCwzMl0sWzEsMTQsMTZdLFsxLDE0LDI0XV0sbWVzc2FnZV9idWJibGVfcmlnaHRfY2FwdGlvbjpbWzEsMSwyNF1dLG1pYzpbWzAsMTQsMjRdLFsxLDE0LDI0XV0sbWljX29mZjpbWzEsMiwyNF1dLG1pbmlwbGF5ZXJfZXhpdDpbWzEsMSwyNF1dLG1vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLG1vYmlsZV9jaGVjazpbWzEsMiwyNF1dLG1vYmlsZV9kb3dubG9hZDpbWzEsMywyNF1dLG1vYmlsZV9sYW5kc2NhcGU6W1sxLDMsMjRdXSxtb2JpbGVfc2NyZWVuX2hvcml6b250YWw6W1sxLDEsMjRdXSxtb2JpbGVfc2NyZWVuX3ZlcnRpY2FsOltbMSwxLDI0XV0sbW9uZXlfaGFuZDpbWzEsMiwyNF1dLG1vbml0b3JfZGlzcGxheTpbWzAsNCwxNl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLG1vbml0b3JfZGlzcGxheV9vZmY6W1sxLDEsMjRdXSxtb29uX3o6W1swLDEsMjRdLFsxLAoxLDI0XV0sbW90aW9uOltbMSwyLDI0XV0sbW92ZTpbWzEsNCwyNF1dLG11c2ljOltbMCw2LDI0XSxbMSw2LDE2XSxbMSw2LDE4XSxbMSw2LDI0XV0sbXVzaWNfb2ZmOltbMSwzLDI0XV0sbXVzaWNfc2Npc3NvcnM6W1sxLDMsMjRdXSxtdXNpY19zaGFwZTpbWzEsMywyNF1dLG11c2ljX3ZpZGVvOltbMSw0LDI0XV0sbXVzaWNfdmlkZW9fb2ZmOltbMSwxLDI0XV0sbXlfdmlkZW9zOltbMSw2LDI0XV0sbXlfdmlkZW9zX2NhaXJvOltbMSwyLDI0XV0sbmV3czpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywyNF1dLG5ld3NfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxub2RlX2xlZnQ6W1sxLDIsMjRdXSxub2RlX3JpZ2h0OltbMSwyLDI0XV0sbm90ZTpbWzAsMSwxNl0sWzAsMSwyNF0sWzEsMSwxNl0sWzEsMSwyNF1dLG5vdGVfYWRkOltbMSwxLDE2XSxbMSwxLDI0XV0sbm90ZV9zcGFyazpbWzAsMiwxNl0sWzAsMiwyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLG9kb21ldGVyOltbMCw0LDI0XSwKWzEsNCwyNF1dLG9wZW5fbmV3OltbMCw3LDI0XSxbMSw3LDEyXSxbMSw3LDI0XV0sb3ZlcmZsb3dfaG9yaXpvbnRhbDpbWzEsNiwyNF0sWzEsNiwzMl1dLG92ZXJmbG93X3ZlcnRpY2FsOltbMSwxMywyNF1dLG92ZXJmbG93X3ZlcnRpY2FsX2NhaXJvOltbMSwxLDI0XV0scGFpbnRfYnVja2V0OltbMSwzLDI0XV0scGFsZXR0ZTpbWzEsMSwyNF1dLHBhbmVsczpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhcGVyX2Nvcm5lcl9mb2xkZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXBlcl9vcGVuX2luX25ldzpbWzAsMSwyNF0sWzEsMSwyNF1dLHBhdXNlOltbMCw5LDI0XV0scGF1c2VfY2lyY2xlOltbMCwyLDEyXSxbMCwyLDE2XSxbMCwyLDI0XV0scGRmOltbMSwyLDI0XV0scGVuY2lsOltbMSwxMCwxNl0sWzEsMTAsMThdLFsxLDEwLDI0XV0scGVvcGxlOltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDI0XV0scGVvcGxlXzI6W1swLDEsMjRdLFsxLDEsMjRdXSxwZW9wbGVfZ3JvdXA6W1swLDQsMjRdLApbMSw0LDE2XSxbMSw0LDI0XV0scGVvcGxlX25vdGU6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMjRdXSxwZXJzb246W1swLDcsMTJdLFswLDcsMTNdLFswLDcsMTZdLFswLDcsMjRdLFswLDcsNDhdLFsxLDcsMTNdLFsxLDcsMTZdLFsxLDcsMjRdXSxwZXJzb25fMjpbWzEsMSwyNF1dLHBlcnNvbl9hY2NvdW50OltbMSw2LDI0XV0scGVyc29uX2FjY291bnRfY2Fpcm86W1sxLDEsMjRdXSxwZXJzb25fYWRkOltbMSw3LDI0XV0scGVyc29uX2JveDpbWzEsNSwyNF1dLHBlcnNvbl9jaXJjbGU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLHBlcnNvbl9jaXJjbGVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxwZXJzb25fY2lyY2xlX3NsYXNoOltbMSwyLDI0XV0scGVyc29uX21pbnVzOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX211c2ljOltbMCw0LDI0XSxbMSw0LDI0XV0scGVyc29uX3JhZGFyOltbMCw3LDEyXSxbMCw3LDI0XSxbMSw3LDE2XSxbMSw3LDE4XSxbMSw3LDI0XV0scGVyc29uX3NldHRpbmc6W1sxLAo2LDI0XV0scGVyc29uX3NoaWVsZDpbWzEsOCwyNF1dLHBlcnNvbl9zcXVhcmVfc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fd2F2ZWZvcm06W1sxLDIsMjRdXSxwaG9uZTpbWzAsMywyNF0sWzEsMywyNF1dLHBpY3R1cmVfaW5fcGljdHVyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBpY3R1cmVfaW5fcGljdHVyZV9jb21iaW5lOltbMSwxLDI0XV0scGluOltbMCw3LDEyXSxbMCw3LDI0XSxbMSw3LDE2XSxbMSw3LDI0XV0scGluX29mZjpbWzEsMSwyNF1dLHBsYXlfYXJyb3c6W1swLDcsMjRdLFsxLDcsMjRdXSxwbGF5X2Fycm93X2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBsYXlfYXJyb3dfZGlzYWJsZWQ6W1swLDEsMTJdLFswLDEsMjRdXSxwbGF5X2Fycm93X2hhbGZfY2lyY2xlOltbMCw1LDI0XSxbMSw1LDI0XV0scG9kY2FzdDpbWzAsNiwyNF0sWzEsNiwxMl0sWzEsNiwxNl0sWzEsNiwxOF0sWzEsNiwyNF1dLHBvZGNhc3RfYWRkOltbMCwyLDI0XSxbMSwyLDI0XV0sCnBvZGNhc3RfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxwb2RjYXN0X2NoZWNrOltbMCwyLDI0XV0scG9pbnRfMng6W1sxLDEsMjRdXSxwb2ludF8zeDpbWzEsMywyNF1dLHBvaW50XzV4OltbMSwzLDI0XV0scG9pbnRfOHg6W1sxLDEsMjRdXSxwb2xsOltbMSwxMCwxNl0sWzEsMTAsMjRdLFsxLDEwLDQwXV0scG91bmQ6W1sxLDMsMjRdXSxwcmVzZW50YXRpb246W1sxLDMsMjRdXSxwcmVzZW50YXRpb25fcmVtb3ZlOltbMSwxLDI0XV0scHJpY2VfdGFnOltbMCw4LDEyXSxbMCw4LDI0XSxbMSw4LDI0XV0scHJpY2VfdGFnX2hlYXJ0OltbMSwyLDI0XV0scXJfY29kZTpbWzEsMywyNF1dLHF1ZXN0aW9uX2NpcmNsZTpbWzEsNSwyNF1dLHF1ZXN0aW9uX2NpcmNsZV9jYWlybzpbWzEsMiwyNF1dLHF1ZXN0aW9uX2hlYWQ6W1sxLDIsMjRdXSxxdW90YXRpb25fbWFyazpbWzAsMSwyNF0sWzEsMSwyNF1dLHF1b3RhdGlvbl9tYXJrX29mZjpbWzEsMSwyNF1dLHJhZGFyX2xpdmU6W1swLDcsMjRdLApbMSw3LDEyXSxbMSw3LDE2XSxbMSw3LDI0XV0scmFkYXJfbGl2ZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHJhdGluZ19kb3duOltbMSwxLDI0XV0scmF0aW5nX3VwOltbMSw3LDEyXSxbMSw3LDE2XSxbMSw3LDI0XV0scmVjb3JkOltbMCwyLDI0XV0scmVtaXg6W1sxLDIsMTZdLFsxLDIsMjRdXSxyZXBsYXlfYXJyb3c6W1sxLDEsMjRdXSxyb3RhdGVfOTA6W1sxLDEsMjRdXSxyb3RhdGVfOTBfY2xvY2t3aXNlOltbMSwyLDI0XV0scnNzOltbMSwyLDE2XSxbMSwyLDI0XV0scnNzX29mZjpbWzEsMSwxNl0sWzEsMSwyNF1dLHJ1Ynk6W1sxLDIsMTJdLFsxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjRdXSxzYW1wbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc2F0dXJhdGlvbjpbWzEsMiwyNF1dLHNjYWxlOltbMSw0LDI0XV0sc2Npc3NvcnM6W1swLDgsMTJdLFswLDgsMjRdLFsxLDgsMjRdXSxzY2lzc29yc19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHNjaXNzb3JzX2N1dDpbWzEsNCwKMTZdLFsxLDQsMThdLFsxLDQsMjRdXSxzY3JlZW5fZGVmYXVsdDpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9mdWxsOltbMSw3LDI0XV0sc2NyZWVuX2Z1bGxfY2Fpcm86W1sxLDEsMjRdXSxzY3JlZW5fZnVsbF9leGl0OltbMSw2LDI0XV0sc2NyZWVuX2Z1bGxfZXhpdF9jYWlybzpbWzEsMSwyNF1dLHNjcmVlbl9mdWxsc2NyZWVuOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX2xpZ2h0OltbMSwxLDI0XV0sc2NyZWVuX21pbmlfcGxheWVyOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX211bHRpX3ZpZXc6W1swLDMsMjRdLFsxLDMsMjRdXSxzY3JlZW5fcm90YXRpb246W1sxLDIsMThdLFsxLDIsMjRdXSxzY3JlZW5fc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0sc2NyZWVuX3RoZWF0cmU6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxzY3JlZW5fdmVydGljYWw6W1sxLAoxLDI0XV0sc2NyZWVuX3g6W1sxLDIsMjRdXSxzZDpbWzAsMywyNF0sWzEsMywyNF1dLHNlYXJjaDpbWzAsMTUsMjRdLFsxLDE1LDI0XV0sc2VhcmNoX2NhaXJvOltbMSwyLDI0XV0sc2VhcmNoX3N1cGVyc2NyaXB0OltbMSwxLDI0XV0sc2VuZDpbWzAsNywxOCwhMF0sWzAsNywyNCwhMF0sWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLHNldHRpbmdzX3JlbW90ZTpbWzEsMSwyNF1dLHNoYWRvd19oYXJkOltbMCwzLDI0XV0sc2hhZG93X3NvZnQ6W1swLDMsMjRdXSxzaGFwZXM6W1swLDMsMjRdLFsxLDMsMjRdXSxzaGFyZTpbWzAsMTIsMjQsITBdLFswLDEyLDMyLCEwXSxbMSwxMiwxNiwhMF0sWzEsMTIsMjQsITBdXSxzaGFyZV9jYWlybzpbWzEsMiwyNF1dLHNoYXJlX2lvczpbWzEsMiwyNF1dLHNoYXJlX2xpbms6W1swLDEsMjRdLFsxLDEsMjRdXSxzaGllbGQ6W1sxLDYsMjRdXSxzaGllbGRfYWRkOltbMSwyLDI0XV0sc2hpZWxkX2NoZWNrOltbMSwxLDI0XV0sc2hpZWxkX2VtcHR5OltbMCwKMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLHNoaWVsZF9vZmY6W1sxLDEsMjRdXSxzaGllbGRfb3ZlcmZsb3c6W1sxLDIsMjRdXSxzaGllbGRfcGx1czpbWzEsMSwyNF1dLHNoaWVsZF9zZWFyY2g6W1sxLDIsMjRdXSxzaG9ydHNfbGF5b3V0X2JvdHRvbTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfY2VudGVyZWRfc3F1YXJlOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9mb3JlZ3JvdW5kOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sYW5kc2NhcGVfYm90dG9tOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sYW5kc2NhcGVfdG9wOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sZWZ0OltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9waXA6W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X3JpZ2h0OltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9zaW5nbGU6W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X3RvcDpbWzEsMSwyNF1dLHNraXBfYmFja18xMDpbWzAsCjEsMjRdXSxza2lwX2JhY2tfMTU6W1swLDEsMjRdXSxza2lwX2JhY2tfMjA6W1swLDEsMjRdXSxza2lwX2JhY2tfMzA6W1swLDEsMjRdXSxza2lwX2JhY2tfNTpbWzAsMSwyNF1dLHNraXBfYmFja182MDpbWzAsMSwyNF1dLHNraXBfZG93bjpbWzAsNiwyNF1dLHNraXBfZm9yd2FyZF8xMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8xNTpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8yMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8zMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF81OltbMCwxLDI0XV0sc2tpcF9mb3J3YXJkXzYwOltbMCwxLDI0XV0sc2tpcF9uZXh0OltbMCw3LDI0XV0sc2tpcF9wcmV2aW91czpbWzAsNiwyNF1dLHNraXBfdXA6W1swLDYsMjRdXSxzbGFzaF9jaXJjbGVfbGVmdDpbWzEsNywyNF1dLHNsYXNoX2NpcmNsZV9yaWdodDpbWzEsMiwyNF1dLHNvY2Nlcl9iYWxsOltbMSwzLDI0XV0sc29jY2VyX2NhcmQ6W1swLDIsMTJdLFswLDIsMTZdLFswLDIsMjRdXSxzcGFjZWJhcjpbWzEsCjIsMjRdXSxzcGFyazpbWzAsMTEsMTJdLFswLDExLDE2XSxbMCwxMSwyNF0sWzEsMTEsMjRdXSxzcGFya19jaGF0OltbMSwxLDE2XSxbMSwxLDI0XV0sc3BhcmtfaW1hZ2U6W1sxLDIsMjRdXSxzcGFya19saWdodGJ1bGI6W1swLDMsMjRdLFsxLDMsMjRdXSxzcGFya19tZXNzYWdlX2J1YmJsZTpbWzEsNCwxNl0sWzEsNCwyNF1dLHNwYXJrX21lc3NhZ2VfYnViYmxlX2xlZnQ6W1sxLDEsMjRdXSxzcGFya19tdXNpYzpbWzEsMiwyNF1dLHNwYXJrX3BlbmNpbDpbWzEsMiwyNF1dLHNwYXJrX3JhZGFyOltbMCwxLDEyXSxbMCwxLDE2XSxbMCwxLDI0XSxbMSwxLDEyXSxbMSwxLDE2XSxbMSwxLDI0XV0sc3BhcmtfdGV4dDpbWzEsMSwyNF1dLHNwYXJrX3ZpZGVvOltbMSwyLDI0XV0sc3BhcmtsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLHNwZWFrZXI6W1sxLDIsMjRdXSxzcGVha2VyX2dyb3VwOltbMSwxLDI0XV0sc3BlYWtlcl9ncm91cF9vZmY6W1sxLDEsMjRdXSxzcGVha2VyX2hlYWRzZXQ6W1sxLAoyLDI0XV0sc3BlYWtlcl9vZmY6W1sxLDEsMjRdXSxzcGxpdDpbWzEsNCwyNF1dLHNwb3J0czpbWzAsMSwyNF1dLHNwb3RsaWdodDpbWzAsMywyNF0sWzEsMywyNF1dLHN0YXI6W1swLDYsMTJdLFswLDYsMTZdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMTZdLFsxLDYsMjRdXSxzdGFyX2NpcmNsZTpbWzAsNiwxMl0sWzAsNiwxNl0sWzAsNiwxOF0sWzAsNiwyNF1dLHN0YXJfY2lyY2xlX3JpYmJvbjpbWzAsMSwxNl0sWzAsMSwyMF0sWzAsMSwyNF0sWzAsMSwzNl0sWzEsMSwxNl0sWzEsMSwyMF0sWzEsMSwyNF0sWzEsMSwzNl1dLHN0YXJfaGFsZjpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF1dLHN0YXJfc2hvb3Rpbmc6W1swLDMsMjRdLFsxLDMsMjRdXSxzdGF0aXN0aWNzX2dyYXBoOltbMSwyLDI0XV0sc3RpY2tlcjpbWzEsMywyNF1dLHN0b3A6W1swLDYsMjRdLFswLDYsMzZdXSxzdG9wd2F0Y2g6W1swLDUsMTZdLFswLDUsMjRdLFsxLDUsMTZdLFsxLDUsMjRdXSxzdG9wd2F0Y2hfMTA6W1swLAoxLDI0XV0sc3RvcHdhdGNoXzM6W1swLDEsMjRdXSxzdWJzY3JpcHRpb25zOltbMCwxMiwyNF0sWzEsMTIsMThdLFsxLDEyLDI0XV0sc3Vic2NyaXB0aW9uc19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHN1YnRpdGxlczpbWzAsNSwxMl0sWzAsNSwyNF0sWzEsNSwyNF1dLHN1cGVyX2NoYXQ6W1sxLDgsMThdLFsxLDgsMjRdXSxzdXBlcl9zdGlja2VyOltbMCw4LDE2XSxbMCw4LDI0XSxbMSw4LDE2XSxbMSw4LDI0XV0sc3VwZXJfc3RvcmU6W1sxLDMsMjRdXSxzdXBlcnN0YXI6W1sxLDEsMjRdXSx0YWJsZXQ6W1sxLDEsMjRdXSx0YXJnZXQ6W1swLDIsMjRdLFsxLDIsMTZdLFsxLDIsMjRdXSx0YXJnZXRfYWRkOltbMCwyLDI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sdGVtcGxhdGVfYWRkOltbMSwzLDE2XSxbMSwzLDI0XV0sdGVtcGxhdGVfcGxheTpbWzAsMywyNF0sWzEsMywyNF1dLHRleHQ6W1swLDksMjRdLFsxLDksMTZdLFsxLDksMThdLFsxLDksMjRdXSx0ZXh0X2JlbGxfY2Fpcm86W1sxLAoxLDEyXSxbMSwxLDE2XSxbMSwxLDE4XSxbMSwxLDI0XV0sdGV4dF9ib2xkOltbMSwxLDI0XV0sdGV4dF9ib3g6W1sxLDUsMjRdXSx0ZXh0X2l0YWxpYzpbWzEsMSwyNF1dLHRleHRfb3V0bGluZTpbWzEsMiwyNF1dLHRleHRfcHJlc2V0OltbMSwxLDI0XV0sdGV4dF9zZXJpZjpbWzEsMSwyNF1dLHRleHRfc2hhZG93OltbMSwyLDI0XV0sdGV4dF9zdHJpa2V0aHJvdWdoOltbMSwxLDI0XV0sdGV4dF91bmRlcmxpbmU6W1sxLDEsMjRdXSx0aGVtZV9zd2l0Y2g6W1swLDEsMjRdLFsxLDEsMjRdXSx0aGVybW9tZXRlcjpbWzEsMiwyNF1dLHRodW1iX2Rvd246W1swLDI1LDE2XSxbMCwyNSwyNF0sWzAsMjUsMzZdLFsxLDI1LDE2XSxbMSwyNSwyNF0sWzEsMjUsMzZdXSx0aHVtYl91cDpbWzAsMjQsMTZdLFswLDI0LDI0XSxbMCwyNCwzNl0sWzEsMjQsMTZdLFsxLDI0LDI0XSxbMSwyNCwzNl1dLHRodW1iX3VwX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sdGh1bWJfdXBfZG93bjpbWzAsNCwKMjRdLFsxLDQsMjRdXSx0aWNfdGFjX3RvZTpbWzAsNCwxMl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLHRpY190YWNfdG9lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sdGlja2V0X3N0YXI6W1sxLDEsMjRdXSx0aWx0OltbMSw0LDI0XV0sdGltZV9zdGFtcF9wbHVzOltbMSwxLDI0XV0sdGltZWxpbmU6W1sxLDMsMjRdXSx0b29sYm94OltbMSw0LDI0XV0sdHJhbnNjcmlwdDpbWzEsMiwxNl0sWzEsMiwyNF1dLHRyYW5zY3JpcHRfc2VhcmNoOltbMSwxLDE2XSxbMSwxLDI0XV0sdHJhbnNpdGlvbjpbWzAsNSwyNF0sWzEsNSwyNF1dLHRyYW5zbGF0ZTpbWzEsNCwxNl0sWzEsNCwyNF1dLHRyYXNoX2NhbjpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHRyaWFuZ2xlX2Rvd246W1sxLDgsMjRdXSx0cmlhbmdsZV90aHJlZV9sZWZ0OltbMCwxLDI0XV0sdHJpYW5nbGVfdGhyZWVfcmlnaHQ6W1swLDEsMjRdXSx0cm9waHk6W1swLDMsMjRdLFsxLDMsMjRdXSx0cm9waHlfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0sdHJvcGh5X3N0YXI6W1sxLDEsMjRdXSx0cnVjazpbWzAsNSwyNF0sWzEsNSwyNF1dLHR2OltbMCw4LDEyXSxbMCw4LDE2XSxbMCw4LDI0XSxbMSw4LDE2XSxbMSw4LDI0XV0sdHZfYXJyb3dfbGVmdDpbWzEsMiwyNF1dLHR2X2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLHR2X2RvbGxhcl9zaWduOltbMCwxLDI0XSxbMSwxLDI0XV0sdHZfb2ZmOltbMSwyLDI0XV0sdHZfcXVldWU6W1sxLDQsMjRdXSx0dl9xdWV1ZV9jaGV2cm9uOltbMSwyLDI0XV0sdXBsb2FkOltbMSw1LDI0XV0sdXBsb2FkaW5nOltbMSwxLDI0XV0sdmFyaWFibGU6W1sxLDQsMjRdXSx2ZXJpZmllZF9jaXJjbGU6W1sxLDQsMjRdXSx2aWRlb19jYW1lcmE6W1swLDksMjRdLFsxLDksMjRdXSx2aWRlb19jYW1lcmFfYWRkOltbMSwyLDI0XV0sdmlkZW9fY2FtZXJhX29mZjpbWzEsMSwyNF1dLHZpZGVvX2xpbms6W1sxLDUsMTZdLFsxLDUsMjRdXSx2aWRlb19yZXZlcnNlOltbMSwxLDI0XV0sCnZpZGVvX3NwYXJrOltbMSwyLDI0XV0sdmlkZW9fc3RpdGNoOltbMSwyLDI0XV0sdmlkZW9fd2F2ZWZvcm06W1sxLDEsMjRdXSx2b2x1bWVfZG93bjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9mYWRlOltbMSwyLDI0XV0sdm9sdW1lX29mZjpbWzAsNCwyNF0sWzEsNCwyNF1dLHZvbHVtZV9vbjpbWzAsMywyNF0sWzEsMywyNF1dLHZvbHVtZV9zdGFibGU6W1swLDEsMjRdLFsxLDEsMjRdXSx2cjpbWzAsNywyNF0sWzEsNywyNF1dLHdhdmVmb3JtOltbMSwzLDI0XV0sd2F2ZWZvcm1fbXVzaWM6W1swLDIsMThdLFswLDIsMjRdLFswLDIsNDhdXSx3YXZlZm9ybV9zcGFyazpbWzEsMiwyNF1dLHdyZW5jaDpbWzAsMywyNF0sWzEsMywyNF1dLHg6W1sxLDExLDE4XSxbMSwxMSwyNF1dLHhfY2Fpcm86W1sxLDEsMjRdXSx4X2NpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLHhfbWFyazpbWzEsNCwyMF0sWzEsNCwyNF1dLHhfb2N0YWdvbjpbWzEsMywyNF1dLHllbl9zaWduX2NvbnRhaW5lcjpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX2ltcHJvdmVfdHY6W1sxLDEsMjRdXSx5b3V0dWJlX2tpZHM6W1swLDUsMjRdLFsxLDUsMjRdXSx5b3V0dWJlX2xhYnM6W1swLDEsMjRdXSx5b3V0dWJlX2xpbmtlZF90djpbWzEsNCwyNF1dLHlvdXR1YmVfbG9nb19pY29uOltbMCw2LDI0XSxbMSw2LDI0XV0seW91dHViZV9taXg6W1sxLDUsMTJdLFsxLDUsMTZdLFsxLDUsMjRdXSx5b3V0dWJlX211c2ljOltbMCw3LDI0XSxbMSw3LDI0XV0seW91dHViZV9tdXNpY19jYWlybzpbWzEsMiwyNF1dLHlvdXR1YmVfb3JpZ2luYWxzOltbMCw2LDI0XSxbMSw2LDI0XV0seW91dHViZV9zaG9ydHM6W1swLDExLDEyXSxbMCwxMSwyMF0sWzAsMTEsMjRdLFsxLDExLDIwXSxbMSwxMSwyNF1dLHlvdXR1YmVfc2hvcnRzX2Fycm93X2Rvd246W1sxLDEsMjRdXSx5b3V0dWJlX3Nob3J0c19hcnJvd19sZWZ0OltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfYXJyb3dfdXA6W1sxLDEsMjRdXSx5b3V0dWJlX3Nob3J0c19jYWlybzpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19jYW1lcmE6W1sxLDMsMjRdXSx5b3V0dWJlX3Nob3J0c19jaGV2cm9uX2xlZnRfaW9zOltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfZ3JlZW5fc2NyZWVuOltbMCwxLDI0XSxbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfaGVhcnQ6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19tZXNzYWdlX2J1YmJsZV9yaWdodDpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlOltbMCw0LDE2XSxbMCw0LDI0XSxbMCw0LDMyXSxbMSw0LDE2XSxbMSw0LDI0XSxbMSw0LDMyXV0seW91dHViZV9zaG9ydHNfb3ZlcmZsb3dfdmVydGljYWw6W1sxLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19wbHVzOltbMSw1LDE2XSxbMSw1LDI0XV0seW91dHViZV9zaG9ydHNfcmVtaXg6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19zZWFyY2g6W1sxLDMsMjRdXSx5b3V0dWJlX3Nob3J0c19zaGFyZTpbWzAsCjIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19zdGlja2VyOltbMSwxLDE4XSxbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfdGh1bWJfZG93bjpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX3RodW1iX3VwOltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfd2F2ZWZvcm06W1sxLDIsMThdLFsxLDIsMjRdXSx5b3V0dWJlX3N0dWRpbzpbWzAsOCwyNF0sWzEsOCwyNF1dLHlvdXR1YmVfdHY6W1swLDgsMjRdLFsxLDgsMjRdXSx6b29tX2F1dG86W1swLDIsMjRdLFsxLDIsMjRdXX07dmFyIFdxYT17YWNjZXNzaWJpbGl0eTpbWzAsNCwyNF0sWzEsNCwyNF1dLGFjY291bnRfbGluazpbWzAsOCwyNF0sWzEsOCwyNF1dLGFjY291bnRfbGlua19lcnJvcjpbWzEsNiwyNF1dLGFkZDpbWzEsOSwxOF0sWzEsOSwyNF1dLGFkZF9jaXJjbGU6W1swLDYsMThdLFswLDYsMjRdLFsxLDYsMjRdLFsxLDYsMzZdXSxhZGRfc3F1YXJlX3N0YWNrOltbMSwxLDI0XV0sYWRkX3R2OltbMSwxLDI0XV0sYWRkX3R2X2NoZXZyb25fcmlnaHQ6W1sxLDEsMjRdXSxhZGp1c3Q6W1swLDksMjRdLFsxLDksMjRdXSxhaXJwbGFuZTpbWzAsNSwyNF0sWzAsNSw0OF0sWzEsNSwyNF1dLGFpcnBsYXk6W1sxLDYsMjRdXSxhaXJwbGF5X3NsYXNoOltbMSwxLDI0XV0sYWxidW06W1swLDgsMjRdLFsxLDgsMThdLFsxLDgsMjRdLFsxLDgsNDhdXSxhbGVydF9idWJibGU6W1sxLDIsMThdLFsxLDIsMjRdXSxhbGVydF9jaXJjbGU6W1swLDExLDI0XSxbMSwxMSwxMl0sWzEsMTEsMjRdLFsxLDExLDQ4XV0sYWxlcnRfb2N0YWdvbjpbWzAsCjIsMjRdLFsxLDIsMjRdXSxhbGVydF90cmlhbmdsZTpbWzAsMTAsMTJdLFswLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMjRdXSxhbWJpZW50X21vZGU6W1sxLDEsMjRdXSxhbXBlcnNhbmQ6W1sxLDEsMjRdXSxhcGk6W1swLDIsMjRdLFsxLDIsMjRdXSxhcmNoaXZlOltbMSwxLDI0XV0sYXJyb3dfYXJjX2ZvcndhcmQ6W1sxLDEsMjRdXSxhcnJvd19jbG9ja3dpc2U6W1sxLDEsMjRdXSxhcnJvd19jb3VudGVyY2xvY2t3aXNlOltbMSwyLDI0XSxbMSwyLDQ4XV0sYXJyb3dfY291bnRlcmNsb2Nrd2lzZV9kYXNoZWQ6W1sxLDEsMjRdXSxhcnJvd19kb3duOltbMSwzLDI0XV0sYXJyb3dfZG93bl9jaXJjbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxhcnJvd19kb3duX2NpcmNsZV9zbGFzaDpbWzAsMSwyNF0sWzEsMSwyNF1dLGFycm93X2Rvd25fcmlnaHQ6W1sxLDEsMjRdXSxhcnJvd19mbGlwOltbMSwxMCwyNF1dLGFycm93X2luOltbMSw4LDE4XSxbMSw4LDI0XV0sYXJyb3dfbGVmdDpbWzEsOCwKMjQsITBdLFsxLDgsMzYsITBdXSxhcnJvd19tZXJnZTpbWzEsMiwyNF1dLGFycm93X291dDpbWzEsMiwyNF1dLGFycm93X3JpZ2h0OltbMSwzLDI0LCEwXV0sYXJyb3dfcmlnaHRfcmVjdGFuZ2xlOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfc29saWRfZG93bjpbWzAsNCwxOF0sWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLGFycm93X3NvbGlkX3VwOltbMCw0LDE4XSxbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sYXJyb3dfc3BsaXQ6W1sxLDMsMjRdXSxhcnJvd19zcGxpdF9hbGVydDpbWzEsMSwyNF1dLGFycm93X3N3YXBfaG9yaXpvbnRhbDpbWzEsNSwyNF1dLGFycm93X3RyZW5kX2Rvd246W1sxLDEsMjRdXSxhcnJvd190cmVuZF91cDpbWzEsMiwxMl0sWzEsMiwyNF1dLGFycm93X3R1cm5fZG93bl9yaWdodDpbWzEsMiwxOF0sWzEsMiwyNF1dLGFycm93X3VwOltbMSwzLDI0XV0sYXJyb3dfdXBfY2lyY2xlOltbMCw0LDI0XSxbMSw0LDI0XV0sYXJyb3dfdXBfbGVmdDpbWzEsCjEsMjRdXSxhcnJvd191cF9yZWN0YW5nbGVfcG9ydHJhaXQ6W1sxLDEsMjRdXSxhcnJvd191cF9yaWdodDpbWzEsMiwxOF0sWzEsMiwyNF0sWzEsMiwzNl1dLGFzcGVjdF9yYXRpb193MTZfaDk6W1sxLDEsMjRdXSxhc3BlY3RfcmF0aW9fdzlfaDE2OltbMSwxLDI0XV0sYXVkaW86W1swLDE0LDEyXSxbMCwxNCwxOF0sWzAsMTQsMjRdLFsxLDE0LDEyXSxbMSwxNCwxOF0sWzEsMTQsMjRdLFsxLDE0LDQ4XV0sYXVkaW9fYXJyb3dfZmxpcDpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX2JhZGdlOltbMCwzLDI0XSxbMSwzLDI0XV0sYXVkaW9fc2Npc3NvcnM6W1sxLDEsMjRdXSxhdWRpb19zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX3NwYXJrOltbMSwxLDI0XV0sYXVkaW9fc3F1YXJlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0sYXVkaW9fc3RhZmY6W1swLDIsMjRdLFsxLDIsMjRdXSxiYWNrc3BhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxiYWc6W1swLDcsMjRdLFsxLDcsMjRdXSwKYmFnX2Jvb2ttYXJrOltbMSwyLDI0XV0sYmFza2V0YmFsbDpbWzAsMiwyNF0sWzEsMiwyNF1dLGJlYWtlcjpbWzEsMiwyNF1dLGJlZDpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLGJlbGw6W1swLDExLDI0XSxbMSwxMSwyNF1dLGJlbGxfc2xhc2g6W1sxLDEsMjRdXSxiZWxsX3dhdmVzOltbMCwyLDI0XSxbMSwyLDI0XV0sYmx1cjpbWzEsMiwyNF1dLGJvb2s6W1swLDMsMjRdLFsxLDMsMjRdXSxib29rX2F1ZGlvOltbMSwxLDI0XV0sYm9va21hcms6W1swLDEwLDE4XSxbMCwxMCwyNF0sWzEsMTAsMThdLFsxLDEwLDI0XV0sYnJpZWZjYXNlOltbMSwyLDI0XV0sYnJpZWZjYXNlX3NsYXNoOltbMCwzLDI0XSxbMSwzLDI0XV0sYnJpZ2h0bmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGJyb3dzZXI6W1swLDIsMjRdLFsxLDIsMjRdXSxicm93c2VyX3NsYXNoOltbMSwxLDI0XV0sYnViYmxlOltbMSwxLDI0XV0sYnViYmxlX2FzdGVyaXNrOltbMCwyLDI0XSxbMSwyLDI0XV0sCmJ1YmJsZV9lbGxpcHNpczpbWzEsMSwyNF1dLGJ1YmJsZV9nZWFyOltbMSwxLDI0XV0sYnViYmxlX2xpc3Q6W1sxLDEsMjRdXSxidWJibGVfcGVuY2lsOltbMSwxLDI0XV0sYnViYmxlX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sYnViYmxlX3Nsb3c6W1swLDIsMjRdLFswLDIsNDhdLFsxLDIsMjRdLFsxLDIsNDhdXSxidWJibGVfc3Bhcms6W1sxLDEsMjRdXSxidWJibGVfc3BhcmtsZXM6W1sxLDEsMjRdXSxidWJibGVfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxidWc6W1swLDQsMThdLFswLDQsMjRdLFsxLDQsMjRdXSxidXNpbmVzczpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhYmxlOltbMSwyLDI0XV0sY2FsY3VsYXRvcjpbWzAsMywyNF0sWzEsMywyNF1dLGNhbGVuZGFyOltbMCw0LDI0XSxbMSw0LDI0XV0sY2FsZW5kYXJfZXZlbnQ6W1swLDIsMjRdLFsxLDIsMjRdXSxjYWxlbmRhcl90b2RheTpbWzEsMSwyNF1dLGNhbWVyYTpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLApjYW1lcmFfYXVkaW86W1sxLDUsMjRdXSxjYW1lcmFfZmxpcDpbWzEsNCwyNF1dLGNhbWVyYV9oYXNodGFnOltbMSw1LDI0XV0sY2FtZXJhX3NwYXJrbGVzOltbMSwxLDI0XV0sY2FtZXJhX3N3aXRjaDpbWzAsMywyNF0sWzEsMywyNF1dLGNhcmQ6W1swLDMsMjRdXSxjYXJ0OltbMCw0LDI0XSxbMSw0LDI0XV0sY2FydF9hZGQ6W1sxLDEsMjRdXSxjYXJ0X3NwYXJrOltbMSwxLDI0XV0sY2F0OltbMCwzLDI0XSxbMSwzLDI0XV0sY2VsZWJyYXRpb246W1sxLDIsMjRdXSxjaGFydF9iYXI6W1sxLDIsMTJdLFsxLDIsMjRdXSxjaGFydF9iYXJfc2VhcmNoOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hhcnRfYmFyX3NxdWFyZTpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLGNoYXJ0X2xpbmU6W1sxLDEsMjRdXSxjaGFydF9waWU6W1swLDIsMjRdLFsxLDIsMjRdXSxjaGFydF9zY2F0dGVyX3Bsb3Q6W1sxLDEsMjRdXSxjaGVjazpbWzEsMTMsMTJdLFsxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsCjM2XV0sY2hlY2tfY2lyY2xlOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxjaGVja19kb25lOltbMSwxLDI0XV0sY2hlY2tfZG9uZV9zbGFzaDpbWzEsMSwyNF1dLGNoZWNrX3NoaWVsZDpbWzEsMSwyNF1dLGNoZWNrX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGNoZWNrX3NxdWFyZV9zdGFjazpbWzAsMSwyNF1dLGNoZXZyb25fY29sbGFwc2U6W1sxLDMsMjRdXSxjaGV2cm9uX2Rvd246W1sxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX2Rvd25fY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sY2hldnJvbl9kb3duX2VuZDpbWzEsMSwyNF1dLGNoZXZyb25fZXhwYW5kOltbMSw1LDI0XV0sY2hldnJvbl9sZWZ0OltbMSw5LDI0LCEwXV0sY2hldnJvbl9sZWZ0X2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLGNoZXZyb25fbGVmdF9lbmQ6W1sxLDEsMjRdXSxjaGV2cm9uX2xlZnRfaW9zOltbMSwzLDI0XV0sY2hldnJvbl9yaWdodDpbWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLGNoZXZyb25fcmlnaHRfY2lyY2xlOltbMCwKMywyNF0sWzEsMywyNF1dLGNoZXZyb25fcmlnaHRfZW5kOltbMSwxLDI0XV0sY2hldnJvbl9yaWdodF9zcXVhcmU6W1sxLDEsMjRdXSxjaGV2cm9uX3VwOltbMSw5LDEyXSxbMSw5LDI0XV0sY2hldnJvbl91cF9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX3VwX2VuZDpbWzEsMSwyNF1dLGNocm9tZWNhc3Q6W1swLDExLDI0XSxbMSwxMSwxOF0sWzEsMTEsMjRdLFsxLDExLDM2XV0sY2hyb21lY2FzdF9tb2JpbGU6W1sxLDQsMjRdLFsxLDQsMzZdXSxjaHJvbWVjYXN0X3dhdmVmb3JtOltbMSwyLDI0XV0sY2lyY2xlOltbMCw5LDI0XSxbMSw5LDI0XV0sY2lyY2xlX2Z1bGw6W1swLDMsMjRdXSxjaXJjbGVfZnVsbF9oYWxmOltbMCwxLDI0XV0sY2lyY2xlX2hhbGZfZmlsbGVkOltbMSwxLDI0XV0sY2lyY2xlX3NsYXNoOltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XSxbMSw0LDQ4XV0sY2lyY2xlczY6W1sxLDEsMjRdXSxjbGFwcGVyYm9hcmQ6W1swLDMsMjRdLFsxLDMsCjI0XV0sY2xhcHBlcmJvYXJkX3NsYXNoOltbMSwxLDI0XV0sY2xhcHBlcmJvYXJkX3NwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2s6W1swLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMjRdXSxjbG9ja19hcnJvd19jbG9ja3dpc2U6W1sxLDEsMjRdXSxjbG9ja19oYWxmX2Rhc2hlZDpbWzEsMSwyNF1dLGNsb2NrX3NwbGl0OltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2tfc3BsaXRfYWxlcnQ6W1swLDIsMjRdLFsxLDIsMjRdXSxjbG9zZWRfY2FwdGlvbnM6W1swLDMsMjRdLFswLDMsNDhdLFsxLDMsMjRdLFsxLDMsNDhdXSxjbG91ZDpbWzEsMiwyNF1dLGNsb3VkX2Fycm93X2Rvd246W1sxLDMsMjRdXSxjbG91ZF9hcnJvd191cDpbWzAsNiwyNF0sWzEsNiwxOF0sWzEsNiwyNF1dLGNsb3VkX2NoZWNrOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfZWxsaXBzaXM6W1swLDMsMjRdLFsxLDMsMjRdXSxjbG91ZF9zbGFzaDpbWzEsMiwyNF0sWzEsMiw0OF1dLGNtc19hbGxvd2xpc3Q6W1swLAoyLDI0XSxbMSwyLDI0XV0sY29kZTpbWzEsMiwyNF1dLGNvbXBhcmU6W1sxLDIsMjRdXSxjb21wYXNzOltbMCw5LDI0XSxbMSw5LDI0XV0sY29weTpbWzEsMywyNF1dLGNvcHlfdG9fYWxsOltbMSwxLDI0XV0sY29weXJpZ2h0OltbMCw0LDI0XSxbMSw0LDI0XV0sY29weXJpZ2h0X3NlYXJjaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNvdmVyX2NsYWltOltbMSwxLDI0XV0sY3JlYXRpdmVfY29tbW9uczpbWzAsMiwyNF0sWzEsMiwyNF1dLGNyZWRpdF9jYXJkOltbMCw0LDI0XSxbMSw0LDI0XV0sY3JvcDpbWzEsNCwxOF0sWzEsNCwyNF1dLGNyb3Bfcm90YXRlOltbMSwyLDI0XV0sY3Jvc3NoYWlyOltbMSwxLDE4XSxbMSwxLDI0XV0sY3Jvd246W1swLDUsMThdLFswLDUsMjRdLFsxLDUsMjRdXSxjc3Y6W1swLDIsMjRdLFsxLDIsMjRdXSxjdWJlOltbMCwyLDI0XSxbMSwyLDI0XV0sY3ViZV9zcGFyazpbWzEsMSwyNF1dLGN1cnNvcl9jbGljazpbWzAsMiwyNF0sWzEsMiwyNF1dLGN1cnZlOltbMSwKMSwyNF1dLGN2cDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRhbmNlX3NwYXJrOltbMCwxLDI0XV0sZGFzaGJvYXJkOltbMCwyLDI0XSxbMSwyLDI0XV0sZGFzaGJvYXJkX2FkZDpbWzEsMSwyNF1dLGRpZV9mYWNlMzpbWzAsMiwyNF0sWzEsMiwyNF1dLGRpcmVjdGlvbnM6W1sxLDMsMjRdXSxkaXNwbGF5OltbMCwyLDI0XSxbMSwyLDI0XV0sZGlzcGxheV9zbGFzaDpbWzEsMSwyNF1dLGRpdmlkZTpbWzEsMSwyNF1dLGRvY3VtZW50OltbMCwyLDI0XSxbMSwyLDI0XV0sZG9jdW1lbnRfYXJyb3dfdXBfcmlnaHQ6W1swLDIsMjRdLFsxLDIsMjRdXSxkb2xsYXJfc2lnbl9hcnJvd19mbGlwOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlOltbMCwxMiwyNF0sWzEsMTIsMTJdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZV9hZGQ6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfaGFuZDpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZV9wYXVzZTpbWzEsMiwyNF1dLApkb2xsYXJfc2lnbl9jaXJjbGVfc2xhc2g6W1sxLDIsMTJdLFsxLDIsMjRdXSxkb2xsYXJfc2lnbl9oZWFydDpbWzAsMjQsMTJdLFswLDI0LDI0XSxbMSwyNCwxMl0sWzEsMjQsMjRdXSxkb2xsYXJfc2lnbl9yZWN0YW5nbGU6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl90djpbWzAsMiwyNF0sWzEsMiwyNF1dLGRvdDpbWzAsMiwxMl0sWzAsMiwyNF1dLGRvd25sb2FkOltbMSwxMSwxOF0sWzEsMTEsMjRdXSxkcGFkOltbMCwyLDI0XSxbMSwyLDI0XV0sZW1iZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSxlcXVhbDpbWzEsMiwxOF0sWzEsMiwyNF1dLGVxdWFsX3NsYXNoOltbMSwxLDI0XV0sZXhwbGljaXQ6W1swLDcsMjRdLFsxLDcsMjRdXSxleWU6W1swLDYsMjRdLFsxLDYsMjRdXSxleWVfc2xhc2g6W1sxLDEsMjRdXSxleWVkcm9wcGVyOltbMSwyLDI0XV0sZXllZ2xhc3NlczpbWzEsMSwyNF1dLGZhY2VfYWRkOltbMSwxLDI0XV0sZmFjZV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMCwKMTIsNDhdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfaW1hZ2U6W1sxLDIsMjRdXSxmYWNlX21laDpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZmFjZV9uZXV0cmFsOltbMCw0LDI0XSxbMCw0LDM2XSxbMSw0LDI0XSxbMSw0LDM2XV0sZmFjZV9wYWludGJydXNoOltbMSwyLDI0XV0sZmFjZV9zYWQ6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV9zY2FsZTpbWzEsMSwyNF1dLGZhY2Vfc3BhcmtsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxmYWNlX3VuaGFwcHk6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV91cHNldDpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZmFjZV92ZXJ5X2hhcHB5OltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfdmVyeV9zYWQ6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhc2hpb246W1swLDQsMjRdLFsxLDQsMjRdXSxmYXN0X2ZvcndhcmQ6W1swLDUsMjRdLFsxLAo1LDI0XV0sZmFzdF9yZXdpbmQ6W1swLDIsMjRdLFsxLDIsMjRdXSxmaWxtX3N0cmlwOltbMCw3LDI0XSxbMCw3LDQ4XSxbMSw3LDI0XV0sZmlsbV9zdHJpcF9hZGQ6W1sxLDIsMjRdXSxmaWxtX3N0cmlwX2F1ZGlvOltbMSwxLDI0XV0sZmlsdGVyOltbMSwxLDI0XV0sZmlsdGVyX2F1ZGlvOltbMSwxLDI0XV0sZmlsdGVyX3Bob3RvOltbMCw4LDI0XSxbMSw4LDI0XV0sZmlyZXdvcmtzOltbMSwzLDI0XV0sZmxhZzpbWzAsMTAsMjRdLFswLDEwLDQ4XSxbMSwxMCwxOF0sWzEsMTAsMjRdLFsxLDEwLDQ4XV0sZmxhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxmbGFzaF9hdXRvOltbMCwzLDI0XSxbMSwzLDI0XV0sZmxhc2hfY2lyY2xlOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfc2xhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxmbGlwX2hvcml6b250YWw6W1sxLDQsMjRdXSxmbGlwX2hvcml6b250YWxfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxmbGlwX3ZlcnRpY2FsX2hhbGZfZGFzaGVkOltbMSwKMSwyNF1dLGZvbGRlcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGZvbnQ6W1sxLDEsMjRdXSxmb250X2JvbGQ6W1sxLDEsMjRdXSxmb250X2l0YWxpYzpbWzEsMSwyNF1dLGZvbnRfb3V0bGluZTpbWzEsMSwyNF1dLGZvbnRfcHJlc2VudDpbWzEsMSwyNF1dLGZvbnRfc2VyaWY6W1sxLDEsMjRdXSxmb250X3NoYWRvdzpbWzEsMSwyNF1dLGZvbnRfc3Bhcms6W1sxLDEsMjRdXSxmb250X3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGZvbnRfc3F1YXJlX3NwYXJrOltbMSwxLDE4XSxbMSwxLDI0XV0sZm9udF9zdHJpa2V0aHJvdWdoOltbMSwxLDI0XV0sZm9udF9zdHlsZTpbWzEsMiwxOF0sWzEsMiwyNF1dLGZvbnRfdW5kZXJsaW5lOltbMSwxLDI0XV0sZm9vdGJhbGw6W1swLDQsMjRdLFsxLDQsMjRdLFsxLDQsMzZdXSxnYW1lX2NvbnRyb2xsZXI6W1sxLDEsMjRdXSxnYW1pbmc6W1swLDMsMjRdLFsxLDMsMjRdXSxnZWFyOltbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDE4XSxbMSwxMCwyNF0sClsxLDEwLDQ4XV0sZ2VzdHVyZV9sb25nX3ByZXNzOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2VzdHVyZV9waW5jaF9pbjpbWzEsMSwyNF1dLGdlc3R1cmVfc3dpcGVfbGVmdDpbWzEsMSwyNF1dLGdlc3R1cmVfc3dpcGVfcmlnaHQ6W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX3VwOltbMSwxLDI0XV0sZ2VzdHVyZV90YXA6W1swLDIsMjRdLFsxLDIsMjRdXSxnaG9zdDpbWzAsNSwyNF0sWzEsNSwyNF1dLGdpZjpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLGdpZnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxnbG9iZTpbWzEsNCwyNF1dLGdsb2JlX2ltYWdlOltbMSwzLDI0XV0sZ2xvdzpbWzEsMiwyNF1dLGdvb2dsZTpbWzAsMSwyNF1dLGdvb2dsZV9ibG9nZ2VyOltbMCwxLDI0XV0sZ29vZ2xlX2RyaXZlX2FkZDpbWzEsMSwyNF1dLGdvb2dsZV9sZW5zOltbMSw0LDI0XV0sZ29vZ2xlX21lZXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxnb29nbGVfcXVpY2tfc2hhcmU6W1sxLDEsMjRdXSwKZ3JhZHVhdGlvbl9jYXA6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMjRdXSxncmVhdGVyX3RoYW46W1sxLDEsMjRdXSxncmVhdGVyX3RoYW5fbjIwOltbMSwxLDI0XV0sZ3JlYXRlcl90aGFuX29yX2VxdWFsX3RvOltbMSwxLDI0XV0saGFuZDpbWzEsMiwyNF1dLGhhbmRfd2F2ZTpbWzEsMiwyNF1dLGhhbmRzX2NsYXA6W1sxLDEsMjRdXSxoYW5kc19oZWFydDpbWzAsMywyNF0sWzEsMywyNF1dLGhhc2h0YWc6W1sxLDIsMjRdXSxoZDpbWzAsOCwyNF0sWzEsOCwyNF1dLGhlYWRzZXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFyaW5nOltbMCwyLDI0XSxbMSwyLDI0XV0saGVhcnQ6W1swLDE5LDI0XSxbMSwxOSwxOF0sWzEsMTksMjRdXSxoZWFydF9jaXJjbGU6W1sxLDIsMjRdXSxoZWFydF9jdWJlOltbMSwxLDI0XV0saGVhcnRfc2xhc2g6W1sxLDEsMjRdXSxoZWxwX2J1YmJsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGhlbHBfY2lyY2xlOltbMSwyLDE4XSxbMSwyLDI0XV0saGllcmFyY2h5OltbMCwKNCwyNF0sWzEsNCwyNF1dLGhpZ2hsaWdodHM6W1sxLDIsMjRdXSxoaXN0b3J5OltbMSwxLDI0XV0saG9tZTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0saG91cmdsYXNzOltbMSwzLDE4XSxbMSwzLDI0XV0saHlwZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGltYWdlOltbMCw4LDI0XSxbMSw4LDI0XV0saW1hZ2VfYWRkOltbMCw0LDI0XSxbMSw0LDI0XV0saW1hZ2VfZnJhbWU6W1sxLDEsMjRdXSxpbWFnZV9saXN0OltbMCwyLDI0XSxbMSwyLDI0XV0saW1hZ2VfbGlzdF9zbGFzaDpbWzEsMSwyNF1dLGltYWdlX3NwYXJrOltbMSwxLDI0XV0saW1hZ2Vfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxpbWFnZV92aWV3ZmluZGVyOltbMSwxLDI0XV0saW5jb2duaXRvOltbMCw5LDI0XSxbMSw5LDI0XV0saW5maW5pdHk6W1sxLDIsMjRdXSxpbmZvX2NpcmNsZTpbWzEsMTAsMThdLFsxLDEwLDI0XV0saW5mb19jaXJjbGVfc3Bhcms6W1sxLDEsMjRdXSxqZXdlbDpbWzEsMSwyNF1dLGpvdXJuZXk6W1sxLAoyLDI0XV0sa2V5OltbMSw1LDI0XV0sa2V5Ym9hcmQ6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbDpbWzAsNCwyNF0sWzEsNCwyNF1dLGxhYmVsX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sbGFwdG9wOltbMSwzLDI0XV0sbGFwdG9wX21vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLGxheW91dF9ib3R0b206W1sxLDEsMjRdXSxsYXlvdXRfZm9yZWdyb3VuZDpbWzEsMSwyNF1dLGxheW91dF9mdWxsOltbMSwxLDI0XV0sbGF5b3V0X2xlZnQ6W1sxLDEsMjRdXSxsYXlvdXRfbWlkZGxlOltbMSwxLDI0XV0sbGF5b3V0X3BpY3R1cmVfaW5fcGljdHVyZTpbWzEsMSwyNF1dLGxheW91dF9yaWdodDpbWzEsMSwyNF1dLGxheW91dF90b3A6W1sxLDEsMjRdXSxsZWFmOltbMSwyLDI0XV0sbGVzc190aGFuOltbMSwxLDI0XV0sbGVzc190aGFuX240OltbMSwxLDI0XV0sbGVzc190aGFuX29yX2VxdWFsX3RvOltbMSwxLDI0XV0sbGljZW5zZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpY2Vuc2VfYWxlcnQ6W1sxLAoxLDI0XV0sbGljZW5zZV9zZWFyY2g6W1sxLDEsMjRdXSxsaWNlbnNlX3NsYXNoOltbMSwxLDI0XV0sbGlnaHRidWxiOltbMCw0LDI0XSxbMSw0LDI0XV0sbGluazpbWzEsOCwxOF0sWzEsOCwyNF1dLGxpbmtfc2xhc2g6W1sxLDEsMjRdXSxsaXZlOltbMSwzLDEyXSxbMSwzLDI0XV0sbGl2ZV9waG90bzpbWzEsMiwyNF1dLGxpdmVfd2F2ZXM6W1sxLDIsMThdLFsxLDIsMjRdXSxsb2NhdGlvbl9waW46W1swLDIsMjRdLFsxLDIsMjRdXSxsb2NhdGlvbl9waW5fc2xhc2g6W1sxLDEsMjRdXSxsb2NrOltbMCwxMywxMl0sWzAsMTMsMjRdLFsxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsNDhdXSxsb2NrX2Nsb2NrOltbMSwxLDI0XV0sbG9ja19uMjpbWzEsMSwyNF1dLGxvY2tfb3BlbjpbWzAsNCwyNF0sWzEsNCwyNF1dLG1hZ2ljX3dhbmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxtYWlsOltbMCw5LDI0XSxbMSw5LDI0XV0sbWFwOltbMSwzLDI0XV0sbWVkYWw6W1sxLDIsMjRdXSxtZWRhbF9zdGFyOltbMSwKMiwyNF1dLG1lZ2FwaG9uZTpbWzAsNSwyNF0sWzEsNSwxMl0sWzEsNSwyNF1dLG1lbWJlcnNoaXBzOltbMCw5LDI0XSxbMCw5LDM2XSxbMSw5LDI0XV0sbWVtYmVyc2hpcHNfZ2lmdDpbWzEsMSwyNF1dLG1lbnRpb246W1sxLDUsMjRdXSxtZW51OltbMSwxLDI0XV0sbWljOltbMCwxNCwxOF0sWzAsMTQsMjRdLFswLDE0LDM2XSxbMCwxNCw0OF0sWzEsMTQsMThdLFsxLDE0LDI0XSxbMSwxNCw0OF1dLG1pY19zbGFzaDpbWzEsMiwyNF1dLG1pY19zcGFyazpbWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxOF0sWzEsMSwyNF1dLG1pbnVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbWludXNfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sbWludXNfc3F1YXJlOltbMCwyLDI0XSxbMSwyLDI0XV0sbWl4OltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sbW9iaWxlOltbMCw0LDI0XSxbMSw0LDI0XV0sbW9iaWxlX2Fycm93X2Rvd246W1sxLDEsMjRdXSxtb2JpbGVfYXJyb3dfaW46W1sxLAoxLDI0XV0sbW9iaWxlX2Fycm93X291dDpbWzEsMSwyNF1dLG1vYmlsZV9jaGVjazpbWzEsMiwyNF1dLG1vYmlsZV9sYW5kc2NhcGU6W1swLDMsMjRdLFsxLDMsMjRdXSxtb3Rpb246W1sxLDIsMjRdXSxtb3ZlOltbMSw0LDE4XSxbMSw0LDI0XV0sbXVzaWNfdmlkZW86W1swLDQsMjRdLFsxLDQsMjRdXSxtdXNpY192aWRlb19zbGFzaDpbWzEsMSwyNF1dLG4xNTpbWzEsMSwyNF1dLG4xcG9pbnQyeDpbWzEsMSwyNF1dLG4xcG9pbnQ1eDpbWzEsMSwyNF1dLG4xcG9pbnQ4eDpbWzEsMSwyNF1dLG4xeDpbWzEsMSwyNF1dLG4yZDpbWzEsMSwyNF1dLG4ycG9pbnQ1eDpbWzEsMSwyNF1dLG4yeDpbWzEsMSwyNF1dLG4zZDpbWzEsMSwyNF1dLG4zeDpbWzEsMSwyNF1dLG40ZDpbWzEsMSwyNF1dLG40azpbWzAsMSwyNF0sWzEsMSwyNF1dLG42MDpbWzEsMSwyNF1dLG44azpbWzAsMSwyNF0sWzEsMSwyNF1dLG5ld19yZWxlYXNlOltbMSwxLDI0XV0sbmV3czpbWzAsMywyNF0sWzEsMywyNF1dLG5ld3NfYWxlcnQ6W1swLAoxLDI0XV0sbm9kZV9sZWZ0OltbMSwyLDI0XV0sbm9kZV9yaWdodDpbWzEsMiwyNF1dLG5vdGU6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMThdLFsxLDEsMjRdXSxub3RlX3NwYXJrOltbMCwyLDE4XSxbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0sb3Blbl9pbl9wYW5lbDpbWzEsMiwyNF1dLG9yaWdpbmFsczpbWzAsMSwyNF0sWzEsMSwyNF1dLG92ZXJmbG93X2hvcml6b250YWw6W1sxLDYsMjRdLFsxLDYsMzZdXSxvdmVyZmxvd192ZXJ0aWNhbDpbWzEsMTMsMThdLFsxLDEzLDI0XSxbMSwxMywzNl1dLHBhZ2Vfc2VhcmNoOltbMSwxLDI0XV0scGFpbnRfYnVja2V0OltbMSwzLDI0XV0scGFpbnRfcGFsZXR0ZTpbWzEsMSwyNF1dLHBhbmVsczpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhdXNlOltbMCw5LDI0XSxbMCw5LDM2XSxbMCw5LDQ4XSxbMSw5LDI0XV0scGF1c2VfY2lyY2xlOltbMCwyLDI0XSxbMSwyLDI0XV0scGF1c2VfaGlzdG9yeTpbWzEsMSwyNF1dLHBhd3ByaW50OltbMCwKMiwyNF0sWzEsMiwyNF1dLHBkZjpbWzEsMiwyNF1dLHBlbmNpbDpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHBlbmNpbF9zcGFyazpbWzEsMSwyNF1dLHBlcmNlbnQ6W1sxLDEsMjRdXSxwZXJzb246W1swLDcsMjRdLFsxLDcsMTJdLFsxLDcsMjRdXSxwZXJzb24yOltbMSwxLDI0XV0scGVyc29uMl9yZWN0YW5nbGU6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb24zOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGVyc29uX2FkZDpbWzAsNywyNF0sWzEsNywxOF0sWzEsNywyNF1dLHBlcnNvbl9hdWRpbzpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF0sWzEsMyw0OF1dLHBlcnNvbl9iYWNrZ3JvdW5kX3NwYXJrOltbMSwxLDI0XV0scGVyc29uX2NoZWNrOltbMSwxLDI0XV0scGVyc29uX2NoaWxkOltbMCwyLDEyXSxbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX2NpcmNsZTpbWzAsMTAsMjRdLFsxLDEwLDI0XSxbMSwxMCw0OF1dLHBlcnNvbl9jaXJjbGVfc2xhc2g6W1sxLAoyLDI0XV0scGVyc29uX2dlYXI6W1swLDIsMjRdLFsxLDIsMjRdXSxwZXJzb25fc2hpZWxkOltbMSw3LDI0XV0scGVyc29uX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl9zcXVhcmVfc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fc3F1YXJlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGVyc29uX3ZpZXdmaW5kZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fd2F2ZWZvcm06W1sxLDIsMjRdXSxwZXJzb25fd2F2ZXM6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25feDpbWzEsMSwyNF1dLHBob25lOltbMCwzLDI0XSxbMSwzLDEyXSxbMSwzLDI0XV0scGlhbm86W1sxLDEsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmU6W1swLDIsMjRdLFsxLDIsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmVfc3RhY2s6W1sxLDEsMjRdXSxwaW46W1swLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxwaW5fc2xhc2g6W1swLDIsMjRdLFsxLDIsMThdLApbMSwyLDI0XV0scGxheTpbWzAsNCwxOF0sWzAsNCwyNF0sWzAsNCwzNl0sWzAsNCw0OF0sWzEsNCwyNF1dLHBsYXlfY2lyY2xlOltbMCwyLDI0XSxbMCwyLDQ4XSxbMSwyLDI0XV0scGxheV9jaXJjbGVfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxwbGF5X3BhdXNlOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheV9zbGFzaDpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlfc3F1YXJlX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0scGxheV9zcXVhcmVfc3RhY2s6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5YWJsZXM6W1swLDIsMjRdLFsxLDIsMThdLFsxLDIsMjRdXSxwbGF5ZXJfZGVmYXVsdDpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyOltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZW50ZXJfYWx0OltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZW50ZXJfcG9ydHJhaXQ6W1sxLDIsMjRdXSxwbGF5ZXJfZnVsbF9leGl0OltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZXhpdF9hbHQ6W1sxLDEsCjI0XV0scGxheWVyX21pbmlfZW50ZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfbWluaV9leGl0OltbMSwxLDI0XV0scGxheWVyX211bHRpdmlldzpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXllcl9zd2l0Y2g6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfdGhlYXRlcjpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlsaXN0OltbMSw1LDEyXSxbMSw1LDE4XSxbMSw1LDI0XSxbMSw1LDQ4XV0scGxheWxpc3RfYWRkOltbMSwzLDE4XSxbMSwzLDI0XV0scGxheWxpc3RfYXVkaW86W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdLFsxLDMsNDhdXSxwbGF5bGlzdF9hdWRpb19zbGFzaDpbWzEsMSwyNF1dLHBsYXlsaXN0X2NoZWNrOltbMSwxLDI0XV0scGxheWxpc3RfcGVuY2lsOltbMSwyLDI0XSxbMSwyLDQ4XV0scGxheWxpc3RfeDpbWzEsMywxOF0sWzEsMywyNF1dLHBvZGNhc3Q6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMThdLFsxLDYsMjRdLFsxLDYsNDhdXSxwb2RjYXN0X2FkZDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxwb2RjYXN0X2NoZWNrOltbMCwyLDI0XV0scG9pbnQyeDpbWzEsMSwyNF1dLHBvaW50M3g6W1sxLDEsMjRdXSxwb2ludDV4OltbMSwxLDI0XV0scG9pbnQ4eDpbWzEsMSwyNF1dLHBvbGw6W1sxLDEwLDE4XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxwb3N0OltbMCwyLDEyXSxbMCwyLDE4XSxbMCwyLDI0XSxbMSwyLDEyXSxbMSwyLDE4XSxbMSwyLDI0XV0scHJlbWl1bTpbWzAsMSwyNF0sWzEsMSwyNF1dLHByZXNlbnRhdGlvbjpbWzEsMywyNF1dLHByaWNlX3RhZzpbWzAsOCwyNF0sWzAsOCw0OF0sWzEsOCwyNF1dLHByaWNlX3RhZ19oZWFydDpbWzEsMiwyNF1dLHByaWNlX3RhZ19yZWN0YW5nbGU6W1sxLDEsMjRdXSxxcl9jb2RlOltbMSwzLDI0XV0scXJfY29kZV92aWV3ZmluZGVyOltbMSwxLDI0XV0scXVlc3Rpb25faGVhZDpbWzEsMiwyNF1dLHF1ZXVlOltbMSwxLDI0XV0scXVldWVfbGFzdDpbWzEsMSwyNF1dLHF1ZXVlX25leHQ6W1sxLDEsMjRdXSxxdWl6OltbMCwKMSwyNF0sWzEsMSwyNF1dLHF1b3RlOltbMCwxLDI0XSxbMSwxLDI0XV0scXVvdGVfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxyZWNvcmQ6W1swLDIsMjRdXSxyZWRvOltbMSwyLDE4XSxbMSwyLDI0XV0scmVtaXg6W1sxLDIsMjRdXSxyZW1peF9zcGFya2xlczpbWzEsMSwyNF1dLHJlbW90ZV93YXZlczpbWzEsMSwyNF1dLHJlcGVhdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHJlcGVhdDE6W1swLDEsMjRdLFsxLDEsMjRdXSxyZXBsYXk6W1sxLDIsMjRdLFsxLDIsMzZdXSxyb3RhdGVfY2xvY2t3aXNlOltbMSwxLDI0XV0scm90YXRlX2NvdW50ZXJjbG9ja3dpc2U6W1sxLDEsMjRdXSxyb3RhdGVfbGFuZHNjYXBlOltbMSwyLDE4XSxbMSwyLDI0XV0scm90YXRlX3BvcnRyYWl0OltbMSwxLDI0XV0scnNzOltbMSwyLDI0XV0scnNzX3NsYXNoOltbMSwxLDI0XV0scnVieTpbWzEsMiwyNF1dLHNhbXBsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxzYXR1cmF0aW9uOltbMSwyLDI0XV0sc2NhbGU6W1sxLAo0LDI0XV0sc2Npc3NvcnM6W1swLDgsMjRdLFsxLDgsMThdLFsxLDgsMjRdXSxzY2lzc29yc19jdXQ6W1sxLDQsMjRdXSxzY3JpYmJsZTpbWzEsMSwyNF1dLHNkOltbMCwzLDI0XSxbMSwzLDI0XV0sc2VhcmNoOltbMCwxNSwyNF0sWzEsMTUsMThdLFsxLDE1LDI0XSxbMSwxNSw0OF1dLHNlYXJjaF9zaGllbGQ6W1swLDEsMjRdLFsxLDEsMjRdXSxzZWFyY2hfc3Bhcms6W1sxLDMsMThdLFsxLDMsMjRdXSxzZWVrX2ZvcndhcmQ6W1swLDEsMjRdXSxzZWVrX3Jld2luZDpbWzAsMSwyNF1dLHNlbmQ6W1swLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxzaGFkb3c6W1sxLDEsMjRdXSxzaGFkb3dfaGFyZDpbWzAsMywyNF0sWzEsMywyNF1dLHNoYWRvd19zb2Z0OltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcGVzOltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcmU6W1swLDEyLDI0LCEwXSxbMSwxMiwxOCwhMF0sWzEsMTIsMjQsITBdXSxzaGFyZV9hbmRyb2lkOltbMCwKMiwyNF0sWzEsMiwyNF1dLHNoYXJlX2lvczpbWzEsMiwyNF1dLHNoYXJwZW46W1sxLDEsMjRdXSxzaGllbGQ6W1swLDYsMjRdLFsxLDYsMjRdXSxzaGllbGRfYWRkOltbMSwyLDI0XV0sc2hpZWxkX2hlYWx0aDpbWzEsMSwyNF1dLHNoaWVsZF9vdmVyZmxvdzpbWzEsMiwyNF1dLHNoaWVsZF9zbGFzaDpbWzEsMSwyNF1dLHNoaWVsZF94OltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sc2hvcnRzOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sc2hvcnRzX2FkZDpbWzEsMSwxOF0sWzEsMSwyNF1dLHNob3J0c19lbXB0eTpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHNodWZmbGU6W1swLDQsMjRdLFsxLDQsMThdLFsxLDQsMjRdXSxza2lwMTBfYmFjazpbWzEsMiwyNF0sWzEsMiwzNl1dLHNraXAxMF9mb3J3YXJkOltbMSwxLDI0XV0sc2tpcDE1X2JhY2s6W1sxLDEsMjRdXSxza2lwMTVfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXAyMF9iYWNrOltbMSwxLDI0XV0sc2tpcDIwX2ZvcndhcmQ6W1sxLAoxLDI0XV0sc2tpcDMwX2JhY2s6W1sxLDEsMjRdXSxza2lwMzBfZm9yd2FyZDpbWzEsMiwyNF0sWzEsMiwzNl1dLHNraXA1X2JhY2s6W1sxLDEsMjRdXSxza2lwNV9mb3J3YXJkOltbMSwxLDI0XV0sc2tpcDYwX2JhY2s6W1sxLDEsMjRdXSxza2lwNjBfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXBfZG93bjpbWzAsNiwyNF0sWzEsNiwyNF1dLHNraXBfbmV4dDpbWzAsNywxMl0sWzAsNywyNF0sWzAsNywzNl0sWzEsNywyNF1dLHNraXBfcHJldmlvdXM6W1swLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdXSxza2lwX3VwOltbMCw2LDI0XSxbMSw2LDI0XV0sc2xhc2hfZm9yd2FyZDpbWzEsMSwyNF1dLHNsZWVwX3RpbWVyOltbMCwyLDI0XSxbMSwyLDI0XV0sc2xpcDpbWzEsMSwxOF0sWzEsMSwyNF1dLHNub3dmbGFrZTpbWzEsMSwyNF1dLHNvY2Nlcl9iYWxsOltbMSwzLDI0XV0sc29uYXI6W1sxLDEsMjRdXSxzb3J0OltbMSwzLDEyXSxbMSwzLDE4XSxbMSwzLDI0XV0sc3BhY2ViYXI6W1sxLDIsCjI0XV0sc3Bhcms6W1swLDExLDEyXSxbMCwxMSwyNF0sWzEsMTEsMjRdXSxzcGFya19idWJibGVfY2hhdDpbWzEsMSwyNF1dLHNwYXJrX2xpZ2h0YnVsYjpbWzAsMywyNF0sWzEsMywyNF1dLHNwYXJrX3NlYXJjaDpbWzEsMSwyNF1dLHNwYXJrX3dhdmVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BhcmtsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxzcGVha2VyOltbMSwyLDI0XV0sc3BlYWtlcl9oZWFkc2V0OltbMSwyLDI0XV0sc3BlYWtlcl9zbGFzaDpbWzEsMSwyNF1dLHNwZWFrZXJfc3RhY2s6W1sxLDEsMjRdXSxzcGVha2VyX3N0YWNrX3NsYXNoOltbMSwxLDI0XV0sc3BlZWRvbWV0ZXI6W1swLDIsMjRdLFsxLDIsMjRdXSxzcGxpY2U6W1sxLDEsMjRdXSxzcGxpdDpbWzEsNCwyNF1dLHNwb3RsaWdodDpbWzAsMywyNF0sWzEsMywyNF1dLHNwcmVhZHNoZWV0OltbMSwxLDI0XV0sc3F1YXJlOltbMCwyLDI0XSxbMSwyLDI0XV0sc3F1YXJlM19zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLApzcXVhcmUzZF9zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLHNxdWFyZV9ncmlkMngyOltbMSwxLDI0XV0sc3F1YXJlX2dyaWQzeDM6W1swLDIsMjRdLFsxLDIsMjRdXSxzcXVhcmVfcGFpbnRicnVzaDpbWzEsMSwyNF1dLHNxdWFyZV9wZW5jaWw6W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxzdGFibGVfdm9sdW1lOltbMCwyLDI0XSxbMSwyLDI0XV0sc3RhcjpbWzAsNiwxMl0sWzAsNiwyNF0sWzEsNiwxMl0sWzEsNiwyNF1dLHN0YXJfY2lyY2xlOltbMCw2LDEyXSxbMCw2LDE4XSxbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XV0sc3Rhcl9mdWxsX2hhbGY6W1swLDEsMTJdLFswLDEsMjRdXSxzdGFyX2hhbGZfZmlsbGVkOltbMSwyLDEyXSxbMSwyLDI0XV0sc3Rhcl90aWNrZXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxzdGFyX3Ryb3BoeTpbWzEsMSwyNF1dLHN0YXJfdHY6W1sxLDEsMjRdXSxzdGlja2VyOltbMSwzLDE4XSxbMSwzLDI0XV0sc3RvcDpbWzAsNiwyNF0sWzAsNiwzNl0sClsxLDYsMjRdXSxzdG9wX2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHN0b3B3YXRjaDpbWzAsNSwyNF0sWzEsNSwyNF1dLHN0b3B3YXRjaDEwOltbMCwxLDI0XV0sc3RvcHdhdGNoMzpbWzAsMSwyNF1dLHN0b3JhZ2U6W1swLDIsMjRdLFsxLDIsMjRdXSxzdWJzY3JpcHRpb25zOltbMCwxMiwyNF0sWzEsMTIsMjRdLFsxLDEyLDQ4XV0sc3VidGl0bGVzOltbMCw1LDI0XSxbMCw1LDQ4XSxbMSw1LDI0XV0sc3VidGl0bGVzX2J1YmJsZTpbWzEsMSwyNF1dLHN1bTpbWzEsMSwyNF1dLHN1cGVyX2NoYXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxzdXBlcl9zdGFyOltbMSwxLDI0XV0sc3VwZXJfc3RpY2tlcjpbWzAsOCwyNF0sWzEsOCwyNF1dLHN1cGVyX3N0b3JlOltbMCwzLDI0XSxbMSwzLDI0XV0sc3VwcG9ydF9hZ2VudDpbWzEsMSwyNF1dLHN1cnJvdW5kX3NvdW5kOltbMCwyLDI0XSxbMSwyLDI0XV0sdGFibGV0X2xhbmRzY2FwZTpbWzEsMSwyNF1dLHRhcmdldDpbWzEsMiwyNF1dLHRhcmdldF9hZGQ6W1sxLAoyLDI0XV0sdGVtcGxhdGVfYWRkOltbMSwzLDI0XV0sdGVtcGxhdGVfcGxheTpbWzAsMywyNF0sWzEsMywyNF1dLHRlbXBsYXRlX3BsYXlfc3Bhcms6W1sxLDEsMjRdXSx0ZXh0X2FsaWduX2NlbnRlcjpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfYWxpZ25fbGVmdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfYWxpZ25fcmlnaHQ6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2J1YmJsZTpbWzAsNCwyNF0sWzEsNCwxMl0sWzEsNCwxOF0sWzEsNCwyNF1dLHRleHRfcGFnZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfcGFnZV9hbGVydDpbWzEsMSwyNF1dLHRleHRfcGFnZV9jaGVjazpbWzEsMSwyNF1dLHRleHRfcGFnZV9pbmZvOltbMSwxLDI0XV0sdGV4dF9zcGFyazpbWzEsMSwyNF1dLHRleHR1cmU6W1sxLDEsMjRdXSx0aGVhdGVyOltbMSwxLDI0XV0sdGhlbWU6W1swLDIsMjRdLFsxLDIsMjRdXSx0aGVybW9tZXRlcjpbWzEsMiwyNF1dLHRodW1iX2Rvd246W1swLDI1LDE4XSxbMCwKMjUsMjRdLFswLDI1LDM2XSxbMCwyNSw0OF0sWzEsMjUsMThdLFsxLDI1LDI0XSxbMSwyNSwzNl0sWzEsMjUsNDhdXSx0aHVtYl91cDpbWzAsMjQsMTJdLFswLDI0LDE4XSxbMCwyNCwyNF0sWzAsMjQsMzZdLFswLDI0LDQ4XSxbMSwyNCwxMl0sWzEsMjQsMThdLFsxLDI0LDI0XSxbMSwyNCwzNl0sWzEsMjQsNDhdXSx0aHVtYl91cF9kb3duOltbMCw0LDI0XSxbMSw0LDI0XV0sdGlsdDpbWzEsNCwyNF1dLHRpbWVsaW5lOltbMSwzLDI0XV0sdGltZWxpbmVfc3Bhcms6W1sxLDEsMjRdXSx0aW1lc3RhbXBfYWRkOltbMSwxLDI0XV0sdG9vbGJveDpbWzAsNCwyNF0sWzEsNCwyNF1dLHRyYW5zY3JpcHQ6W1sxLDIsMjRdXSx0cmFuc2l0aW9uOltbMCw1LDI0XSxbMSw1LDI0XV0sdHJhbnNsYXRlOltbMSw0LDE4XSxbMSw0LDI0XV0sdHJhc2hfY2FuOltbMCwxMCwyNF0sWzEsMTAsMThdLFsxLDEwLDI0XV0sdHJlbmRpbmc6W1swLDIsMjRdLFsxLDIsMjRdXSx0cmlhbmdsZV9kb3duOltbMCw4LAoxOF0sWzAsOCwyNF0sWzEsOCwyNF1dLHRyaWFuZ2xlX3VwOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sdHJvcGh5OltbMCwzLDI0XSxbMSwzLDI0XV0sdHJ1Y2s6W1swLDUsMjRdLFsxLDUsMjRdXSx0djpbWzAsOCwyNF0sWzEsOCwyNF0sWzEsOCw0OF1dLHR2X2Fycm93X2xlZnQ6W1sxLDIsMjRdXSx0dl9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSx0dl9tb2JpbGU6W1sxLDIsMjRdLFsxLDIsMzZdXSx0dl9zbGFzaDpbWzEsMSwyNF1dLHVuYXJjaGl2ZTpbWzEsMSwyNF1dLHVuZG86W1sxLDIsMThdLFsxLDIsMjRdXSx1cGxvYWQ6W1sxLDUsMjRdXSx2YXJpYWJsZTpbWzEsNCwyNF1dLHZpZGVvOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sdmlkZW9fY2FtZXJhOltbMCw5LDI0XSxbMCw5LDQ4XSxbMSw5LDI0XSxbMSw5LDQ4XV0sdmlkZW9fY2FtZXJhX2FkZDpbWzEsMiwyNF1dLHZpZGVvX2NhbWVyYV9zbGFzaDpbWzEsMSwyNF1dLHZpZGVvX2xpbms6W1sxLDUsMThdLApbMSw1LDI0XV0sdmlkZW9fcG9ydHJhaXRfc3Bhcms6W1sxLDEsMjRdXSx2aWRlb19yZXZlcnNlOltbMSwxLDI0XV0sdmlkZW9fc2xhc2g6W1sxLDEsMTJdLFsxLDEsMThdLFsxLDEsMjRdLFsxLDEsMzZdLFsxLDEsNDhdXSx2aWRlb19zcGFyazpbWzEsMiwyNF1dLHZpZGVvX3N0YWNrX3NwYXJrOltbMSwxLDE4XSxbMSwxLDI0XV0sdmlkZW9fc3RpdGNoOltbMSwyLDI0XV0sdmlkZW9fd2F2ZWZvcm06W1sxLDEsMjRdXSx2aWV3X2NvbHVtbjI6W1sxLDEsMjRdXSx2aWV3X2NvbHVtbjM6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2NvbHVtbjNfcm93MjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfY29tcGFjdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfZmVlZDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfbGlzdDpbWzEsMSwyNF1dLHZpZXdfcm93MjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfdGltZWxpbmU6W1sxLDEsMjRdXSx2aWV3ZmluZGVyOltbMSwxLDEyXSxbMSwxLDE4XSwKWzEsMSwyNF1dLHZpZ25ldHRlOltbMSwxLDI0XV0sdm9sdW1lX2ZhZGU6W1sxLDIsMjRdXSx2b2x1bWVfbWF4OltbMCwyLDI0XSxbMSwyLDI0XV0sdm9sdW1lX21pbjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9tdXRlOltbMCwyLDI0XSxbMSwyLDI0XV0sdnI6W1swLDcsMjRdLFsxLDcsMjRdXSx3YXRjaDpbWzEsMSwyNF1dLHdhdGVyOltbMSwxLDI0XV0sd2F2ZWZvcm06W1sxLDMsMjRdLFsxLDMsNDhdXSx3YXZlZm9ybV9zcGFyazpbWzEsMiwyNF1dLHdpZmlfdGV0aGVyaW5nOltbMSwxLDI0XV0sd3JlbmNoOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0seDpbWzEsMTEsMThdLFsxLDExLDI0XSxbMSwxMSwzNl1dLHhfY2lyY2xlOltbMCw5LDI0XSxbMSw5LDE4XSxbMSw5LDI0XV0seF9vY3RhZ29uOltbMSwzLDEyXSxbMSwzLDI0XV0seF9yZWN0YW5nbGU6W1sxLDEsMjRdXSx5ZW5fc2lnbl9yZWN0YW5nbGU6W1swLDIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlOltbMCwKMiwyNF0sWzEsMiwyNF1dLHlvdXR1YmVfa2lkczpbWzAsNSwyNF0sWzEsNSwyNF1dLHlvdXR1YmVfbGFiczpbWzAsMSwyNF1dLHlvdXR1YmVfbXVzaWM6W1swLDcsMjRdLFsxLDcsMjRdXSx5b3V0dWJlX3Nob3J0czpbWzAsMTEsMjRdLFsxLDExLDI0XV0seW91dHViZV9zdHVkaW86W1swLDgsMjRdLFsxLDgsMjRdXSx5b3V0dWJlX3R2OltbMCw4LDI0XSxbMSw4LDI0XV0sem9vbV9hdXRvOltbMSwyLDI0XV0sem9vbV9pbjpbWzAsMiwyNF0sWzEsMiwyNF1dLHpvb21fb3V0OltbMCwyLDI0XSxbMSwyLDI0XV19O3ZhciBYcWE9e1ZPTFVNRV9VUF9ERUxISV9QTEFZRVJfRklMTEVEOiJWT0xVTUVfTUFYIixWT0xVTUVfT0ZGX0RFTEhJX1BMQVlFUjoiVk9MVU1FX01VVEUiLFZPTFVNRV9ET1dOX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlZPTFVNRV9NSU4iLENMT1NFRF9DQVBUSU9OX0RFTEhJX1BMQVlFUjoiQ0FQVElPTlMiLENMT1NFRF9DQVBUSU9OX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IkNBUFRJT05TIixTVUJUSVRMRVNfREVMSElfUExBWUVSOiJTVUJUSVRMRVMiLFNVQlRJVExFU19ERUxISV9QTEFZRVJfRklMTEVEOiJTVUJUSVRMRVMiLFBMQVlFUl9GVUxMX0VOVEVSX0FMVDoiUExBWUVSX0ZVTExfRU5URVJfQUxUIixQTEFZRVJfRlVMTF9FWElUX0FMVDoiUExBWUVSX0ZVTExfRVhJVF9BTFQiLFBBVVNFX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlBBVVNFIixQTEFZX0FSUk9XX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlBMQVlfQVJST1cifSx2Wj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1tZihhLApiKXt2YXIgYz1YcWFbYS5pY29uTmFtZS50b1VwcGVyQ2FzZSgpXTtjJiYoYS5pY29uTmFtZT1jKTt2YXIgZD1hLmljb25OYW1lO2Q9ZC5yZXBsYWNlKC8tL2csIl8iKTthPXsuLi5hLGljb25OYW1lOnVZKGQsISFjKXx8ZC50b0xvd2VyQ2FzZSgpfTtyZXR1cm4gXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIil8fGM/clkoV3FhLGEsdGhpcy5qPy5yd3x8QXBhLGIpOnJZKFZxYSxhLHRoaXMuaj8ucnd8fHpwYSxiKX19O3ZaW18uTG5dPVtfLkluKF8ubk8pXTt2YXIgQnBhPW5ldyBTZXQoWyJjaSIsImNyIiwiY2FybWwiXSksdlk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnNpZ25hbHM9W107dGhpcy5qPW5ldyBNYXA7dGhpcy5CPW5ldyBTZXQ7dGhpcy5vPW5ldyBNYXA7dGhpcy52PW5ldyBNYXB9VnEoYSl7aWYoYS5sZW5ndGg+MSl7dmFyIGI9W107bGV0IGY9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IodmFyIGMgb2YgYSlmW2NdfHwoYi5wdXNoKGMpLGZbY109ITApO2E9Yn1pZihhLmxlbmd0aD09PTEpdmFyIGQ9YVswXTtlbHNle2M9YTtiPSIiO2Muc29ydCgpO2ZvcihlIG9mIGMpYis9ZSsifCI7dmFyIGU9YjtpZighdGhpcy5qLmdldChlKSl7Yz0wO2I9W107Zm9yKGQgb2YgYSljKysseFkodGhpcyxkKXx8Yi5wdXNoKGQpO2M+Yi5sZW5ndGg/dGhpcy5zaWduYWxzLnB1c2goZSk6Q3BhKHRoaXMsZSxhLGIpfWQ9ZX1yZXR1cm4gZH1IaChhLGIsYyxkLGUpe3hZKHRoaXMsYyk/Xy5DaygpLkdhKGEsYixkKTooZSYmKGE9eVkoYSksQVkodGhpcywKYSxiLGMsZSkpLGU9dGhpcy5vLmdldChjKSxlfHwodGhpcy5vLnNldChjLFtdKSxlPXRoaXMuby5nZXQoYykpLGUucHVzaCh7eGg6YSxwcmlvcml0eTpiLGRlbGF5OmR9KSl9YWRkTGlzdGVuZXIoYSxiLGMpe2MmJihiPXlZKGIpLEFZKHRoaXMsYiwwLGEsYykpO2M9dGhpcy52LmdldChhKTtjfHwodGhpcy52LnNldChhLFtdKSxjPXRoaXMudi5nZXQoYSkpO2MucHVzaChiKX1XbShhKXtpZigheFkodGhpcyxhKSl7dGhpcy5CLmFkZChhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2lmKGIpe2ZvcihsZXQgYyBvZiBiKV8uQ2soKS5HYShjLnhoLGMucHJpb3JpdHksYy5kZWxheSk7dGhpcy5vLmRlbGV0ZShhKX1pZihiPXRoaXMudi5nZXQoYSkpe2ZvcihsZXQgYyBvZiBiKWMoKTt0aGlzLnYuZGVsZXRlKGEpfXRoaXMuc2lnbmFscy5wdXNoKGEpO3RoaXMuQi5kZWxldGUoYSl9fX07dlkucHJvdG90eXBlLnByb2Nlc3NTaWduYWw9dlkucHJvdG90eXBlLldtOwp2WS5wcm90b3R5cGUucGFya09yU2NoZWR1bGVKb2I9dlkucHJvdG90eXBlLkhoO3ZZLnByb3RvdHlwZS5vbkFueT12WS5wcm90b3R5cGUuVnE7Xy5yYSgieXRzaWduYWxzLmdldEluc3RhbmNlIix3WSk7dlkucHJvdG90eXBlLm9uQW55PXZZLnByb3RvdHlwZS5WcTt2WS5wcm90b3R5cGUucGFya09yU2NoZWR1bGVKb2I9dlkucHJvdG90eXBlLkhoO3ZZLnByb3RvdHlwZS5wcm9jZXNzU2lnbmFsPXZZLnByb3RvdHlwZS5XbTt2YXIgelk9bmV3IFNldChbImVvcCIsImVvY3MiLCJkbCIsInBjbCJdKTt2YXIgdnFhPWNsYXNzIGV4dGVuZHMgXy5Xc3tjb25zdHJ1Y3RvcihhKXt2YXIgYj17fTtzdXBlcigidW5pbml0aWFsaXplZCIpO3RoaXMuZW52PWE7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206InVuaW5pdGlhbGl6ZWQiLHRvOiJpbml0aWFsaXplZCIsYWN0aW9uOnRoaXMuaW5pdH0se2Zyb206ImluaXRpYWxpemVkIix0bzoicmVuZGVyaW5nIixhY3Rpb246dGhpcy5LfSx7ZnJvbToicmVuZGVyaW5nIix0bzoicmVuZGVyZWQiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJyZW5kZXJlZCIsdG86ImFmdGVyLXJlbmRlci1kZWZlcnJlZCIsYWN0aW9uOnRoaXMub31dO2IuRmchPT12b2lkIDAmJih0aGlzLkIuRmc9Yi5GZyl9YXN5bmMgaW5pdChhKXt0aGlzLkIuRmc/YXdhaXQgYSh0aGlzLmVudik6YSh0aGlzLmVudik7dGhpcy5qJiZhd2FpdCB0aGlzLmouby5wcm9taXNlO3dZKCkuSGgoKCk9Pnt0aGlzLnRyYW5zaXRpb24oInJlbmRlcmluZyIpfSwxMCwiY2kiKX1hc3luYyBLKGEpe3RoaXMuQi5GZz8KYXdhaXQgYSh0aGlzLmVudik6YSh0aGlzLmVudik7dGhpcy5qJiZhd2FpdCB0aGlzLmouby5wcm9taXNlO3dZKCkuSGgoKCk9Pnt0aGlzLnRyYW5zaXRpb24oInJlbmRlcmVkIil9LDEwLCJjciIpfWFzeW5jIEQoYSl7dGhpcy5CLkZnP2F3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJhZnRlci1yZW5kZXItZGVmZXJyZWQiKX0sMTAsImNhcm1sIil9YXN5bmMgbyhhKXthKHRoaXMuZW52KX19O3ZhciB3Wj0hMSx3cWE9e2luaXRpYWxpemVkOntwcmlvcml0eToxMCxjYWxsYmFjazpmdW5jdGlvbigpe3dafHwoXy5kdyh7R2Y6YT0+e2EuZWwmJl8udXkoYS5lbCxhLnByb3BzKX0sSGY6YT0+e18uc3koYS5lbCl9fSksd1o9ITApfX19O3ZhciBDWT1fLkwoKHtkYXRhOmF9KT0+e2Z1bmN0aW9uIGIoZil7Xy5uUCgpO2Yuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGM9Xy52RSgiZGl2IiksZD1fLngoIndlYl9yZW1vdmVfc25hY2tiYXJfYWN0aW9ucyIpO18uVUooKCk9Pnt9KTt2YXIgZT17YnV0dG9uT3ZlcnJpZGVzOntzdHlsZToiY2FsbC10by1hY3Rpb24taW52ZXJzZSJ9fTtyZXR1cm4gXy5LKCJ5dG0tbm90aWZpY2F0aW9uLWFjdGlvbi1yZW5kZXJlciIsbnVsbCxfLksoImRpdiIseyJhcmlhLWxpdmUiOl8uZnI/Im9mZiI6InBvbGl0ZSIsY2xhc3M6Im5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dCJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkucmVzcG9uc2VUZXh0fSkpLF8uSyhfLk8se0E6KCk9PmEoKS5hY3Rpb25CdXR0b24mJiFkLHRoZW46KCk9Pl8uSygiZGl2Iix7ZWw6YyxjbGFzczoibm90aWZpY2F0aW9uLWFjdGlvbi1idXR0b24iLCJvbjpjbGljayI6Yn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmFjdGlvbkJ1dHRvbn0sCntidXR0b25SZW5kZXJlcjooe2RhdGE6Zn0pPT5fLksoXy5wTyx7ZGF0YTpmLC4uLmV9KSx0b2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6Zn0pPT5fLksoXy5xTyx7ZGF0YTpmLC4uLmV9KX0pKX0pKX0sImJmIik7Q1kuaWRvbUNvbXBhdD0hMDt2YXIgRVk7dmFyIEdZPW5ldyBfLmVFO3ZhciBHcGE9e2FkZFRvUGxheWxpc3RSZW5kZXJlcjohMH07dmFyIExZO3ZhciBRcGE9Xy4kTi5DdDt2YXIgVFk9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnVFKCJ5dG0tc2hhcmUtdGFyZ2V0LXJlbmRlcmVyIik7Xy5VSigoKT0+e2IudmFsdWUubGF5ZXI9N30pO3ZhciBjPSgpPT5fLkIoYSgpLm5hdmlnYXRpb25FbmRwb2ludCxfLlZEKT8udXJsLGQ9KCk9PnthKCk7cmV0dXJuITF9O3JldHVybiBfLksoInl0bS1zaGFyZS10YXJnZXQtcmVuZGVyZXIiLHtlbDpiLCJvbjpjbGljayI6ZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKTtpZihkKCkpe3ZhciBmPWMoKSxoPWEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQ/LmNsaWNrVHJhY2tpbmdQYXJhbXM7Xy56SihoLDcpO25ldyBNb3pBY3Rpdml0eSh7bmFtZToibmV3IixkYXRhOnt0eXBlOiJ3ZWJzbXMvc21zIixib2R5OmZ9fSk7TlkoKTtlLnByZXZlbnREZWZhdWx0KCk7ZS5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIE5ZKCl9fSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKCJhIix7aHJlZjpjLGNsYXNzOiJzaGFyZS10YXJnZXQtbGluayJ9LApfLksoXy5JSix7ZGF0YTooKT0+YSgpLnRpdGxlfSkpLFc6KCk9Pl8uSyhfLm5ILHtjbGFzc05hbWU6InNoYXJlLXRhcmdldC1saW5rIixjb21tYW5kOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50LHRhcmdldDoiX2JsYW5rIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKX0pKX0sImNmIik7VFkuaWRvbUNvbXBhdD0hMDt2YXIgWXFhPV8uJE4uQ0FOQ0VMLFhwYT1fLkwoKHtkYXRhOmF9KT0+e2Z1bmN0aW9uIGIoZil7dmFyIGg9Xy55KCkucmVzb2x2ZShfLnlQKSxrPVJZKGEoKSk7Zi5wcmV2ZW50RGVmYXVsdCgpO2smJl8uekooayw3KTtfLnNQKGUpO2g/LmxkKCk7Xy56TigpO2Yuc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhmKXtfLnkoKS5yZXNvbHZlKF8ueVApPy5sZCgpO18uek4oKTtmLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPSgpPT5PWShhKCkpLGU9InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IitfLk9IKCk7cmV0dXJuIF8uSyhfLnJFLHtRZzooKT0+Xy5LKF8uQVAsbnVsbCxfLksoXy5JSix7ZGF0YTooKT0+e3ZhciBmPWEoKS5oZWFkZXI/LnNoYXJlUGFuZWxIZWFkZXJSZW5kZXJlcj8udGl0bGU/LnNoYXJlUGFuZWxUaXRsZVYxNVJlbmRlcmVyPy50aXRsZTtyZXR1cm4gZj9mOntzaW1wbGVUZXh0OiJTaGFyZSJ9fX0pKSxxazooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT4KITAsdGhlbjooKT0+Xy5LKCJpbnB1dCIse3ZhbHVlOmQsInNlbGVjdGlvbi1lbmQiOjAsY2xhc3M6InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IixpZDplLCJvbjpjbGljayI6YiwiYXJpYS1sYWJlbCI6KCk9PmAke18uJE4uc299ICR7T1koYSgpKX1gLHJlYWRvbmx5OiEwfSl9KSxfLksoXy5nRyx7cGE6KCk9PlNZKGEoKSl8fFtdfSxmPT5fLksoXy5PLHtBOigpPT5mLnNoYXJlVGFyZ2V0UmVuZGVyZXIsdGhlbjpoPT5fLksoVFkse2RhdGE6aH0pfSkpKSxQcjooKT0+Xy5LKF8uelAsbnVsbCxfLksoImJ1dHRvbiIse2NsYXNzOiJjb21wYWN0Iiwib246Y2xpY2siOmN9LFlxYSkpfSl9LCJkZiIpLFFZPV8uTCgoe3Nob3J0VXJsOmEsdHJhY2tpbmdQYXJhbXM6Yn0pPT57ZnVuY3Rpb24gYyhlKXt2YXIgZj1kLGg9Yj8uKCk7ZS5wcmV2ZW50RGVmYXVsdCgpO2gmJl8uekooaCw3KTtfLnNQKGYpO05ZKCk7Xy56TigpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGQ9InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IisKXy5PSCgpO3JldHVybiBfLksoXy5PLHtBOigpPT4hMCx0aGVuOigpPT5fLksoImlucHV0Iix7Y2xhc3M6InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IixpZDpkLHZhbHVlOmEscmVhZG9ubHk6ITAsImFyaWEtbGFiZWwiOigpPT5gJHtfLiROLnNvfSAke2EoKX1gLCJvbjpjbGljayI6Yywic2VsZWN0aW9uLWVuZCI6MH0pfSl9LCJlZiIpO1FZLmlkb21Db21wYXQ9ITA7dmFyICRwYT1fLiROLkR0LGFxYT1fLiROLmV1O18ucmEoInl0LnB1YnN1Yi5wdWJsaXNoIixfLk96KTt2YXIgd1g9e2F1ZGlvVHJhY2tTZWxlY3RBY3Rpb25Db21tYW5kOlZXKFRxYSksYnJvd3NlRW5kcG9pbnQ6KCk9PkZZKElwYSksY2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyhyWiksY29tbWFuZEV4ZWN1dG9yQ29tbWFuZDooKT0+RlkoSnBhKSxjb3B5VGV4dEVuZHBvaW50OigpPT5GWShMcGEpLGVudGl0eVVwZGF0ZUNvbW1hbmQ6VlcocFosW25aXSksZmVlZGJhY2tFbmRwb2ludDooKT0+RlkoTVkpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6KCk9PkZZKE5wYSksbmF0aXZlQXBwRGVlcGxpbmtFbmRwb2ludDooKT0+RlkocG9hKSxvcGVuUG9wdXBBY3Rpb246KCk9PkZZKERwYSkscGhvbmVEaWFsZXJFbmRwb2ludDooKT0+RlkoUHBhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDooKT0+RlkoUnBhKSxzZW5kU21zRW5kcG9pbnQ6KCk9PkZZKFRwYSksc2hhcmVFbnRpdHlFbmRwb2ludDooKT0+RlkoWnBhKSxzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQ6Vlcoc1opLApzaG93Q2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyh0Wiksc2hvd0VuZ2FnZW1lbnRQYW5lbEVuZHBvaW50OigpPT5GWShkcWEpLHNob3dTaGVldENvbW1hbmQ6VlcocVosW18uY0wsJFldKSxzaWduSW5FbmRwb2ludDooKT0+RlkoZnFhKSxzdWJzY3JpYmVFbmRwb2ludDooKT0+RlkoV1kpLHVuZG9GZWVkYmFja0VuZHBvaW50OigpPT5GWShNWSksdW5zdWJzY3JpYmVFbmRwb2ludDooKT0+RlkoV1kpLHVybEVuZHBvaW50OigpPT5GWShocWEpLHVzZXJGZWVkYmFja0VuZHBvaW50OigpPT5GWShpcWEpLHdhdGNoRW5kcG9pbnQ6KCk9PkZZKEVwYSl9O3ZhciB4Wj1fLkwoKHtjaGlsZHJlbjphLEJxOmIsaXNGdWxsc2NyZWVuOmMsc3R5bGU6ZCxhcmlhTGFiZWw6ZX0pPT57dmFyIGY9Xy51RSgiZGlhbG9nIik7Xy5VSigoKT0+e3ZhciBoPSgpPT57fSxrPWYudmFsdWU7ay5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsaCwhMCk7Xy5ZdSgoKT0+e2sucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgsITApfSl9KTtyZXR1cm4gXy5LKCJkaWFsb2ciLHtlbDpmLGNsYXNzOl8uUCgiZGlhbG9nIiwibW9kZXJuLWRpYWxvZy1sYXlvdXQiLCJtb2Rlcm4tZGlhbG9nIix7c2Nyb2xsYWJsZTpiLCJkaWFsb2ctZnVsbHNjcmVlbiI6Yywicm91bmRlZC1jb250YWluZXIiOigpPT4hYz8uKCl9KSxyb2xlOiJkaWFsb2ciLCJhcmlhLW1vZGFsIjohMCxzdHlsZTpkLCJhcmlhLWxhYmVsIjplfSxhKX0sImZmIik7eFouaWRvbUNvbXBhdD0hMDt2YXIgWnFhPWNsYXNze307dmFyIHFxYT1jbGFzcyBleHRlbmRzIFpxYXtjb25zdHJ1Y3Rvcigpe3ZhciBhPXtZbDpVcGEsV2s6Tll9O3N1cGVyKCk7dGhpcy5vPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuby5pZD0iZ2xvYmFsLWxvYWRlciI7ZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUodGhpcy5vLGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7dGhpcy5ZbD1hPy5ZbDt0aGlzLldrPWE/LldrfXJxKCl7cmV0dXJuISF0aGlzLmp9YXN5bmMgb3BlbkRpYWxvZyhhKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7bGV0IGM9Xy5adHx8e307dGhpcy5ZbD8uKCkmJmF3YWl0IHRoaXMuV2s/LigpO3RoaXMucnEoKSYmdGhpcy5sZCgpO18uVnooYixfLnZNKGMpKTtsZXQgZD1hLlVuLGU9YS5CcSxmPWEuaXNGdWxsc2NyZWVuLGg9YS5uSixrPWEuaXNQZXJzaXN0ZW50LGw9YS5mb2N1c09uQ2xvc2UsbT1hLnJuLG49YS5mSyxwPWEuc3R5bGUscj1hLmFyaWFMYWJlbDsKdGhpcy5CPWE7dGhpcy52PXRoaXMubGQuYmluZCh0aGlzKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIix0aGlzLnYpO3RoaXMuaj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmouaWQ9ImRpYWxvZy1jb250YWluZXIiO3RoaXMuai5jbGFzc05hbWU9Xy5hTCgiZGlhbG9nLWNvbnRhaW5lciIse1siZGlhbG9nLWZ1bGxzY3JlZW4iXTpmfSk7KF8uWk8oKXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQodGhpcy5qKTtfLmZOKHRoaXMuaixfLksoXy5JQixudWxsLF8uSyh4Wix7QnE6ZSxpc0Z1bGxzY3JlZW46ZixzdHlsZTpwLGFyaWFMYWJlbDpyfSxfLksoZCxudWxsKSksXy5LKF8uWk4se2xhYmVsOiJkaWFsb2ciLG9uY2xpY2s6KCk9PntofHxrfHx0aGlzLmxkKCl9fSkpKTtfLkpOKHRoaXMuaixsLG0pO24/LigpfWNhdGNoKGMpe2IuZXJyb3I9YyxiLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihiKX19bGQoKXt0aGlzLmomJih0aGlzLkIuR2g/LigpLAp0aGlzLkI9dm9pZCAwLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdGF0ZS1jaGFuZ2UiLHRoaXMudiksdGhpcy52PXZvaWQgMCxfLktOKHRoaXMuaiksXy5wQyh0aGlzLmopLHRoaXMuai5yZW1vdmUoKSx0aGlzLmo9dm9pZCAwKX1RdSgpe3RoaXMuby5maXJzdENoaWxkJiZ0aGlzLm8ucmVtb3ZlQ2hpbGQodGhpcy5vLmZpcnN0Q2hpbGQpfX07dmFyIFNXPW5ldyBfLkN0KCJJbm5lclR1YmVUcmFuc3BvcnQiLCJSdjNlM2QiKTtuZXcgXy5DdCgiUGFnZVJlcXVlc3QiLCJSdjNlM2QiKTt2YXIgJHFhPXthdXRvbmF2X29mZl90b2dnbGVfc3Bhbm5lcjpbWzAsMSwzNl1dLGF1dG9uYXZfb25fdG9nZ2xlX3NwYW5uZXI6W1swLDEsMzZdXSxhdXRvbmF2X3BsYXlfY2lyY2xlOltbMCwxLDIwXV0sYXV0b3BsYXk6W1swLDIsMjRdXSxjcmVhdG9yX3N0dWRpb19yZWRfbG9nbzpbWzAsMiwyNF1dLGVxdWFsaXplcjpbWzAsMSwyNF1dLGZ1bGxzY3JlZW46W1sxLDEsMjRdXSxmdWxsc2NyZWVuX2V4aXQ6W1sxLDEsMjRdXSxmdWxsc2NyZWVuX2ZwOltbMSwyLDI0XV0sZ29vZ2xlOltbMCwxLDI0XV0sZ29vZ2xlX2xvZ286W1swLDIsMjRdXSxpbmNvZ25pdG9fY2lyY2xlOltbMCwxLDI0XV0sa2lkc19yZWRfbG9nbzpbWzAsMiwyNF1dLGxvZ286W1swLDIsNjddXSxsb2dvX3dpdGhfdGV4dDpbWzAsMywyMF1dLGxvZ29fd2l0aF90ZXh0X21vbm9jaHJvbWU6W1swLDEsMjBdXSxtdXNpY19yZWRfbG9nbzpbWzAsMiwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMSwyNF1dLHBhdXNlX291dGxpbmVkOltbMCwKMSwyNF1dLHBpdm90X2xpYnJhcnk6W1swLDEsMjRdXSxwbGF5X2NpcmNsZV9zaG9ydHM6W1swLDIsMjRdXSxwbGF5ZXJfYXV0b3BsYXlfbmV4dDpbWzAsMiwyNF1dLHByZW1pdW06W1swLDIsMjRdXSxwcmVtaXVtX3N0YW5kYWxvbmU6W1swLDIsMjRdXSxwcmVtaXVtX3N0YW5kYWxvbmVfY2Fpcm86W1swLDEsMjRdXSxyaW5nb19sb2dvOltbMCwyLDI0XV0sc2NyZWVuX2xpZ2h0OltbMSwxLDI0XV0sInNob3J0cy1oZWFydCI6W1swLDEsMjRdLFsxLDEsMjRdXSwic2hvcnRzLWhlYXJ0LWdyYWRpZW50IjpbWzAsMSwyNF0sWzEsMSwyNF1dLHNob3J0c19jb21tZW50OltbMCwxLDMyXV0sc2hvcnRzX3NoYXJlOltbMCwxLDMyXV0sc2hvcnRzX3RleHRfbG9nbzpbWzAsMiw3Ml1dLHNob3J0c190aHVtYnNfZG93bjpbWzAsMSwzMl1dLHNob3J0c190aHVtYnNfdXA6W1swLDEsMzJdXSxzcGFyazpbWzAsMSwyNF0sWzEsMSwyNF1dLHNwYXJrX3NlYXJjaDpbWzAsMSwyNF1dLHN1YmRpcmVjdG9yeV9hcnJvd19yaWdodDpbWzEsCjEsMjRdXSx1bnBsdWdnZWRfcmVkX2xvZ286W1swLDIsMjRdXSx2aWRlb195b3V0dWJlOltbMCwxLDI0XV0sd2F0ZXJtYXJrOltbMCwyLDExMF1dLHlvdXR1YmU6W1swLDIsMjRdXSx5b3V0dWJlX2NyZWF0ZV9sb2dvOltbMCwxLDI0XV0seW91dHViZV9wcmVtaXVtX2xvZ29fc2hvcnQ6W1swLDIsMjBdXSx5b3V0dWJlX3ByZW1pdW1fbG9nb19zaG9ydF9tb25vY2hyb21lOltbMCwxLDIwXV0seW91dHViZV9zaG9ydHNfYnJhbmRfMjQ6W1swLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19maWxsX25vX3RyaWFuZ2xlX3JlZF8xNjpbWzAsMSwxNl1dfTt2YXIgeVo9bmV3IE1hcChbWyJwbGF5X2NpcmNsZV9maWxsZWQiLCJhdXRvbmF2X3BsYXlfY2lyY2xlIl0sWyJzZWFyY2giLCJzZWFyY2hfY2Fpcm8iXSxbInRhYl9ob21lIiwiaG9tZV9jYWlybyJdLFsidGFiX3Nob3J0cyIsInlvdXR1YmVfc2hvcnRzX2NhaXJvIl0sWyJhY2NvdW50X2NpcmNsZSIsInBlcnNvbl9jaXJjbGVfY2Fpcm8iXSxbInByZW1pdW1fc3RhbmRhbG9uZSIsInByZW1pdW1fc3RhbmRhbG9uZV9jYWlybyJdXSksYXJhPW5ldyBTZXQoWyJhdWRpb19iYWRnZSIsInBhdXNlIiwicGxheV9hcnJvdyJdKSxZWT1jbGFzcyBleHRlbmRzIHZae2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpO3RoaXMubz1hfW1mKGEsYil7dmFyIGM9ey4uLmF9O2EuaWNvbk5hbWUudG9Mb3dlckNhc2UoKT09PSJzaG9ydHNfdGh1bWJzX3VwIiYmXy54KCJlbmFibGVfc2hvcnRzX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKSYmKGMuaWNvbk5hbWU9Xy54KCJ1c2Vfd2hpdGVfZmlsbGVkX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKT8KInNob3J0cy1oZWFydCI6InNob3J0cy1oZWFydC1ncmFkaWVudCIpO2FyYS5oYXMoYS5pY29uTmFtZSkmJihjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7eVouaGFzKGEuaWNvbk5hbWUpJiYhXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJihhLmljb25OYW1lPXlaLmdldChhLmljb25OYW1lKSk7YS5pY29uTmFtZT09PSJhY2NvdW50X2xpbmtlZCImJihjLmljb25OYW1lPSJjaXJjbGVzX292ZXJsYXBfY2hlY2siLGMuaWNvblN0eWxlPSJ5b3V0dWJlX2ZpbGwiKTthLmljb25OYW1lPT09ImFjY291bnRfdW5saW5rZWQiJiYoYy5pY29uTmFtZT0iY2lyY2xlc19vdmVybGFwIixjLmljb25TdHlsZT0ieW91dHViZV9vdXRsaW5lIik7Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJihhLmljb25OYW1lPT09InBsYXlsaXN0X2FkZCImJihjLmljb25OYW1lPSJib29rbWFyayIpLGEuaWNvbk5hbWU9PT0iY2lyY2xlc19vdmVybGFwX2NoZWNrInx8Yy5pY29uTmFtZT09PSJjaXJjbGVzX292ZXJsYXBfY2hlY2siKSYmCihjLmljb25OYW1lPSJhY2NvdW50X2xpbmsiLGMuaWNvblN0eWxlPSJ5b3V0dWJlX2ZpbGwiKTthPShhPXVZKGMuaWNvbk5hbWUpKT97Li4uYyxpY29uTmFtZTphfTpjO2E9Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJmEuaWNvbk5hbWU9PT0ieW91dHViZSI/dm9pZCAwOnJZKCRxYSxhLHRoaXMubz8uZUp8fG1xYSxiKTtyZXR1cm4gYT9hOnN1cGVyLm1mKGMsYil9fTtZWVtfLkxuXT1bXy5JbihfLm5PKV07dmFyIHJxYT1jbGFzcyBleHRlbmRzIFVxYXtpc1Zpc2libGUoYSl7dmFyIGI9UHJvbWlzZSxjPWIucmVzb2x2ZTt2YXIgZD1fLm9NKCkuZ2V0U3RhdGUoKS5lbmdhZ2VtZW50UGFuZWw/LnFzO3JldHVybiBjLmNhbGwoYixhPT09ZCl9fTt2YXIgYnJhPWNsYXNzIGV4dGVuZHMga1p7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMub2JzZXJ2ZXI9bmV3IF8uZkYoMCxhPT57dGhpcy5sb2dWaXNpYmlsaXR5KGEpfSl9b2JzZXJ2ZShhLGIsYyl7Yy5WYnx8Yy5zdGF0ZSE9PSJ2aXNpYmxlInx8KGMuVmI9ITApO3ZhciBkPXtlbGVtZW50OmEsb3B0aW9uOmN9O2lmKCFjLlZifHxjLnN0YXRlIT09InZpc2libGUiKXJldHVybiBkO2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIilyZXR1cm4gXy5XaShFcnJvcigiaGVgIit0eXBlb2YgYikpLGQ7YS5fX3Zpc2liaWxpdHlDYWxsYmFjaz1iO3RoaXMub2JzZXJ2ZXIub2JzZXJ2ZShhKTtyZXR1cm4gZH1sb2dWaXNpYmlsaXR5KGEpe2EuX192aXNpYmlsaXR5Q2FsbGJhY2smJnR5cGVvZiBhLl9fdmlzaWJpbGl0eUNhbGxiYWNrPT09ImZ1bmN0aW9uIiYmYS5fX3Zpc2liaWxpdHlDYWxsYmFjayhhLCJ2aXNpYmxlIil9cmYoYSl7ZGVsZXRlIGEuZWxlbWVudC5fX3Zpc2liaWxpdHlDYWxsYmFjazsKdGhpcy5vYnNlcnZlci51bm9ic2VydmUoYS5lbGVtZW50KX1kaXNwb3NlKCl7dGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCl9fTt2YXIgb3FhPSJJbnRlcnNlY3Rpb25PYnNlcnZlciJpbiB3aW5kb3c/bmV3IE1xYTpuZXcgYnJhO18udVA9Xy5iWjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibWVIOUViIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQlA9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYyxkPSgpPT57dmFyIGU9Xy5MQighMCk7Xy5ndisrO3RyeXtjPV8uYkMoYSgpKSxfLklBKCExKX1jYXRjaChmKXt0aHJvdyBfLklBKCEwKSxfLlV1KGYsNCk7fWZpbmFsbHl7Xy5MQihlKX19O2I9Ynx8Xy5adD9fLnV2KGQsYik6Xy5pdyhkKTtyZXR1cm5bYyxiXX07Xy5LQj1fLmxDOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgemlhLEFpYSxCaWEsRWlhLENpYSxEaWEsRmlhO3ppYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5BYShhKSYmYS5ub2RlVHlwZT09MT9hLmdldEF0dHJpYnV0ZSgianNuYW1lIik9PT0iY29GU3hlIjohMX07QWlhPWZ1bmN0aW9uKGEsYil7Yi5pZHx8KGIuaWQ9Im93IitfLmZ3KGIpKTthLnNldEF0dHJpYnV0ZSgianNvd25lciIsYi5pZCk7YS5fX293bmVyPWI7dmFyIGM9Xy5ndyhiLHppYSk7YyYmKF8uR0MuaGFzKGMpfHxfLkdDLnNldChjLFtdKSxfLkdDLmdldChjKS5wdXNoKGEpKTsoYz1fLkZDLmdldChiKSl8fF8uRkMuc2V0KGIsYz1bXSk7Yy5pbmNsdWRlcyhhKXx8Yy5wdXNoKGEpO2Iuc2V0QXR0cmlidXRlKCJfX0lTX09XTkVSIiwhMCl9O0JpYT1mdW5jdGlvbigpe3ZhciBhPV8uQ0EoMSk7YT1fLmN1KGEsXy5MQyk7aWYoIShfLmJ1KGEpfHxhW18uTXZdJiYhYS52bykpcmV0dXJuIGEudmFsdWV9OwpFaWE9ZnVuY3Rpb24oKXt2YXIgYT1fLkNBKDIpLGI9bmV3IFNldCxjPSgpPT57Yi5mb3JFYWNoKGQ9PnZvaWQgZCgpKTtiLmNsZWFyKCl9O18uWXUoYyk7cmV0dXJuWyhkLGUpPT57dmFyIGY9Xy4kdChhKTt0cnl7bGV0IGg9Q2lhKERpYShkKSxlKTtiLmFkZChoKTtyZXR1cm4oKT0+e2goKTtiLmRlbGV0ZShoKX19ZmluYWxseXtfLiR0KGYpfX0sY119O18uQ1A9ZnVuY3Rpb24oe2NoaWxkcmVuOmEscm9vdDpifSl7Xy5vRigoKT0+e3ZhciBbY109RWlhKCk7Yz1jKGIsYSk7Xy5ZdShjKX0pO3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIil9O0NpYT1mdW5jdGlvbihhLGIpe3ZhciBjPUZpYShhKTsoYT1CaWEoKSkmJkFpYShjLGEpO3ZhciBbZCxlXT1fLkJQKGIsITApO2ZvcihsZXQgZiBvZiBkKWMuYXBwZW5kQ2hpbGQoZik7Xy5WQi5sb2coYyk7cmV0dXJuKCk9PntlKCk7Yy5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChjKX19OwpEaWE9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0ic3RyaW5nIil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCEoMCxfLnByKShhKSl0aHJvdyBFcnJvcigicGBgIitTdHJpbmcoYSkpO3JldHVybiBhfWlmKF8uakIoYSkpcmV0dXJuIGE7aWYoIWEuQ2smJiFhLmx1KXt2YXIgYj1hLmp1O2I9RXJyb3IoIlVjYCIrKHR5cGVvZiBiPT09InN5bWJvbCI/Yi5kZXNjcmlwdGlvbjpiKSk7YS5rdT0hMDt0aHJvdyBiO31yZXR1cm4gYS52YWx1ZX07RmlhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhhLm5hbWVzcGFjZVVSSSxhLm5hbWVzcGFjZVVSST09PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI/ImciOiJkaXYiKTtyZXR1cm4gYS5hcHBlbmRDaGlsZChiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRFA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkNBKCksZD1lPT57Xy5vSChjLCgpPT57YihlKX0pfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihhLGQsdm9pZCAwKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxkLHZvaWQgMCl9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBJaWEsSFAsRlAsR1AsS2lhLE1pYSxMaWEsTFA7SWlhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywic3RyaW5nRW50aXR5IixiKX07CkhQPWZ1bmN0aW9uKGEsYixjKXtpZihhKXt2YXIgZD1hLmxpa2VTdGF0dXM7cmV0dXJuIGI/e3N0eWxlOntzdHlsZVR5cGU6IlNUWUxFX1RFWFQifSx0b2dnbGVkU3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfREVGQVVMVF9BQ1RJVkUifSxpc1RvZ2dsZWQ6ZD09PSJMSUtFIixpc0Rpc2FibGVkOiFhLmxpa2VzQWxsb3dlZCxkZWZhdWx0SWNvbjp7aWNvblR5cGU6Y30sZGVmYXVsdFRleHQ6ZD09PSJMSUtFIj9hLmxpa2VDb3VudFdpdGhVbmxpa2VUZXh0OmEubGlrZUNvdW50VGV4dCx0b2dnbGVkVGV4dDpkPT09IkxJS0UiP2EubGlrZUNvdW50VGV4dDphLmxpa2VDb3VudFdpdGhMaWtlVGV4dCxkZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50OkZQKGEsIkxJS0UiKSxkZWZhdWx0U2VydmljZUVuZHBvaW50OkdQKGEsIkxJS0UiKSx0b2dnbGVkU2VydmljZUVuZHBvaW50OkdQKGEsIklORElGRkVSRU5UIiksZGVmYXVsdFRvb2x0aXA6Xy5hTihhLmxpa2VDb3VudFRvb2x0aXBUZXh0KSx0b2dnbGVkVG9vbHRpcDpfLmFOKGEubGlrZUNvdW50VG9vbHRpcFRleHQpLAp0YXJnZXRJZDphLnRhcmdldElkfTp7c3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfVEVYVCJ9LHRvZ2dsZWRTdHlsZTp7c3R5bGVUeXBlOiJTVFlMRV9ERUZBVUxUX0FDVElWRSJ9LGlzVG9nZ2xlZDpkPT09IkRJU0xJS0UiLGlzRGlzYWJsZWQ6IWEubGlrZXNBbGxvd2VkLGRlZmF1bHRJY29uOntpY29uVHlwZTpjfSxkZWZhdWx0VGV4dDpkPT09IkRJU0xJS0UiP2EuZGlzbGlrZUNvdW50V2l0aFVuZGlzbGlrZVRleHQ6YS5kaXNsaWtlQ291bnRUZXh0LHRvZ2dsZWRUZXh0OmQ9PT0iRElTTElLRSI/YS5kaXNsaWtlQ291bnRUZXh0OmEuZGlzbGlrZUNvdW50V2l0aERpc2xpa2VUZXh0LGRlZmF1bHROYXZpZ2F0aW9uRW5kcG9pbnQ6RlAoYSwiRElTTElLRSIpLGRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQ6R1AoYSwiRElTTElLRSIpLHRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQ6R1AoYSwiSU5ESUZGRVJFTlQiKSxkZWZhdWx0VG9vbHRpcDpfLmFOKGEuZGlzbGlrZUNvdW50VG9vbHRpcFRleHQpLHRvZ2dsZWRUb29sdGlwOl8uYU4oYS5kaXNsaWtlQ291bnRUb29sdGlwVGV4dCl9fX07CkZQPWZ1bmN0aW9uKGEsYil7aWYoYj09PSJMSUtFIilyZXR1cm4gYS5saWtlQ29tbWFuZDtpZihiPT09IkRJU0xJS0UiKXJldHVybiBhLmRpc2xpa2VOYXZpZ2F0aW9uRW5kcG9pbnR9O0dQPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc2VydmljZUVuZHBvaW50cz8uZmluZChjPT5fLkIoYyxfLmRPKT8uc3RhdHVzPT09Yil9O18uSVA9ZnVuY3Rpb24oYSl7cmV0dXJue2NvbnRlbnQ6YX19OwpfLkpQPWZ1bmN0aW9uKGEsYixjKXtiPWN8fChiPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aD8/MCkqSmlhO2E9YS50aHVtYm5haWxzO2lmKCFhKXJldHVybiIiO2M9MDt2YXIgZD1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUixlPTAsZj0tTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7Zm9yKGxldCBrPTA7azxhLmxlbmd0aDtrKyspe2xldCBsPWFba10ud2lkdGgtYjtsPj0wJiZsPD1kPyhjPWssZD1sKTpsPDAmJmw+ZiYmKGU9ayxmPWwpfXZhciBoPVtdO2EuZm9yRWFjaChrPT57aC5wdXNoKGsudXJsKX0pO3JldHVybiBkPDEwMHx8ZDwtZj9hW2NdLnVybDphW2VdLnVybH07S2lhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihiPT57Xy5PRSgoKT0+e2IoYSl9KX0pfTtNaWE9ZnVuY3Rpb24oYSl7YT1hLm1hcChMaWEpO3JldHVybiBfLklmKGEpLnRoZW4oS2lhKX07CkxpYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb21wbGV0ZT9fLkt5KCJsb2FkIik6bmV3IF8uQmYoYj0+e2Z1bmN0aW9uIGMoZCl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixjKTthLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixjKTtiKGQudHlwZSl9YS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixjKTthLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixjKX0pfTtMUD1mdW5jdGlvbihhKXtLUHx8TWlhKFthXSkudGhlbigoKT0+e2lmKCFLUCl7dmFyIGI9KDAsXy5lbCkoKTtfLkFxKCJmdGwiLGIsdm9pZCAwKTtLUD0hMH19KX07Xy5NUD1uZXcgXy5JKCJzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbCIpO18uTlA9Xy5MKCgpPT57dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIpLGI9YS51c2VyX2Rpc3BsYXlfbmFtZSxjPWEudXNlcl9kaXNwbGF5X2ltYWdlLGQ9YS51c2VyX2Rpc3BsYXlfY2hhbm5lbF9oYW5kbGUsZT1kJiZfLklQKGQpLGY9KCk9Pl8uQih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOl8uSVAoYiksbGVhZGluZ0FjY2Vzc29yeTp7YXZhdGFyVmlld01vZGVsOntpbWFnZTp7c291cmNlczpbe3VybDpjfV19fX0sc3VidGl0bGU6ZX19LF8uWkMpO3JldHVybiBfLksoImFjY291bnQtaW5mby1tZW51LWl0ZW0iLHtjbGFzczoiYWNjb3VudEluZm9Ib3N0In0sXy5LKF8uQ0Qse2RhdGE6ZixJYTohMCxvblRhcDooKT0+e2QmJl8uQUooXy53TihgQCR7ZH1gKSxmKCksITEpfX0pKX0sInpiIik7Xy5OUC5pZG9tQ29tcGF0PSEwO3ZhciB7TWc6TmlhfT1fLnpHKGE9PmEudGFyZ2V0Py52aWRlb0lkKTt2YXIgT1A9Xy5MKGE9Pnt2YXIge2RhdGE6YixidXR0b25PdmVycmlkZXM6Y309Xy5EQyhhLHtidXR0b25PdmVycmlkZXM6e319KSxbZCxlXT1OaWEoYiksZj0oKT0+SFAoZCgpLCEwLCJTSE9SVFNfTElLRSIpLGg9KCk9PkhQKGQoKSwhMSwiU0hPUlRTX0RJU0xJS0UiKSxrPShsLG0pPT57bS5zdG9wUHJvcGFnYXRpb24oKTtmb3IobGV0IG4gb2YgbCkobD1fLkIobixfLmRPKSkmJmQmJmUoey4uLmQoKSxsaWtlU3RhdHVzOmwuc3RhdHVzfSl9O3JldHVybiBfLksoInl0bS1saWtlLWJ1dHRvbi1yZW5kZXJlciIsbnVsbCxfLksoXy5PLHtBOigpPT5kKCkubGlrZVN0YXR1cyYmISFmKCkmJiEhaCgpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8ucU8se2RhdGE6ZixidXR0b25PdmVycmlkZXM6KCk9Pih7dHlwZTpkKCkubGlrZVN0YXR1cz09PSJMSUtFIj8iZmlsbGVkIjoidG9uYWwiLC4uLmMoKX0pLFJrOmt9KSxfLksoXy5PLHtBOigpPT4hZCgpLmhpZGVEaXNsaWtlQnV0dG9uLHRoZW46KCk9PgpfLksoXy5xTyx7ZGF0YTpoLGJ1dHRvbk92ZXJyaWRlczooKT0+KHt0eXBlOmQoKS5saWtlU3RhdHVzPT09IkRJU0xJS0UiPyJmaWxsZWQiOiJ0b25hbCIsLi4uYygpfSksUms6a30pfSkpfSkpfSwiQWIiKTtPUC5pZG9tQ29tcGF0PSEwO3ZhciBQUD1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dG0tbWVudS1uYXZpZ2F0aW9uLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6Yj0+e3ZhciBjPWEoKTtfLnhOKCkmJl8uek4oKTtfLkFKKGMubmF2aWdhdGlvbkVuZHBvaW50LGMsITEpO18uQihjLm5hdmlnYXRpb25FbmRwb2ludD8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5pZ25vcmVOYXZpZ2F0aW9ufHxiLnN0b3BQcm9wYWdhdGlvbigpfSxyb2xlOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50JiZfLkIoYSgpLm5hdmlnYXRpb25FbmRwb2ludCxfLlZEKT8ibGluayI6dm9pZCAwfSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24/Lmljb25UeXBlfSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50ZXh0fSkpKSwiQmIiKTtQUC5pZG9tQ29tcGF0PSEwO3ZhciBRUD1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ubUcoKTtyZXR1cm4gXy5LKCJ5dG0tbWVudS1zZXJ2aWNlLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6KCk9Pnt2YXIgYz1hKCksZD1jLnNlcnZpY2VFbmRwb2ludCxlPWMuY29tbWFuZDtkJiZfLkFKKGQsYywhMCx7QmQ6Yn0pO2UmJl8uQUooZSxjLCEwLHtCZDpifSl9fSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsdGhlbjooKT0+Xy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pfSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50ZXh0LG1hOiEwfSkpKX0sIkNiIik7UVAuaWRvbUNvbXBhdD0hMDt2YXIgUlA9Xy5MKCh7ZGF0YTphLEJkOmJ9KT0+e3ZhciBjPV8uREkoSWlhLCgpPT5hKCk/LnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleXx8IiIpLGQ9KCk9PmEoKT8udG9nZ2xlTWVudVNlcnZpY2VJdGVtRW50aXR5S2V5PyEhYygpPy52YWx1ZTphKCk/LmlzVG9nZ2xlZCxlPSgpPT5jKCk/e3J1bnM6W3t0ZXh0OmMoKT8udmFsdWV8fCIifV19OmEoKT8udG9nZ2xlZFNlY29uZGFyeVRleHQ7cmV0dXJuIF8uSygieXRtLXRvZ2dsZS1tZW51LXNlcnZpY2UtaXRlbS1yZW5kZXJlciIsbnVsbCxfLksoXy53Tyx7b25jbGljazooKT0+e3ZhciBmPWEoKSxoPWI/LigpLGs9Zi5pc1RvZ2dsZWQ/Zi50b2dnbGVkU2VydmljZUVuZHBvaW50OmYuZGVmYXVsdFNlcnZpY2VFbmRwb2ludDtrJiYoXy5BSihrLGYsITAse0JkOmh9KSxmLnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleXx8KGYuaXNUb2dnbGVkPSFmLmlzVG9nZ2xlZCkpfX0sXy5LKF8uTUQse2ljb246KCk9PmQoKT9hKCkudG9nZ2xlZEljb24/Lmljb25UeXBlPy50b1N0cmluZygpOgphKCkuZGVmYXVsdEljb24/Lmljb25UeXBlPy50b1N0cmluZygpLGFjdGl2ZTpkfSksXy5LKF8uSUose2RhdGE6KCk9PmQoKT9hKCkudG9nZ2xlZFRleHQ6YSgpLmRlZmF1bHRUZXh0fSksXy5LKF8uTyx7QTooKT0+YSgpLmRlZmF1bHRTZWNvbmRhcnlUZXh0fHxlKCksdGhlbjooKT0+Xy5LKF8uSUose2RhdGE6KCk9PmQoKT9lKCk6YSgpLmRlZmF1bHRTZWNvbmRhcnlUZXh0fSl9KSkpfSwiRGIiKTtSUC5pZG9tQ29tcGF0PSEwO3ZhciBPaWE7Cl8uU1A9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLFRkOmMsRWg6ZCxGaDplLGRmOmYsSGE6aCx1bjprLHN0b3BQcm9wYWdhdGlvbjpsLHByZXZlbnREZWZhdWx0Om0sbGI6bixidXR0b25PdmVycmlkZXM6cH0pPT5fLksoInl0bS1tZW51LXJlbmRlcmVyIix7Y2xhc3M6Yn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRvcExldmVsQnV0dG9uc30se2J1dHRvblJlbmRlcmVyOl8ucE8sbWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UVAsdG9nZ2xlQnV0dG9uUmVuZGVyZXI6Xy5xTyx0b2dnbGVNZW51U2VydmljZUl0ZW1SZW5kZXJlcjpSUCxsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5wTCx7ZGF0YTpyLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uZkose2RhdGE6cn0pLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLGxpa2VCdXR0b25SZW5kZXJlcjpPUH0pLF8uSyhPaWEse2RhdGE6YSxUZDpjLEVoOmQsRmg6ZSxkZjpmLApIYTpoLHVuOmssc3RvcFByb3BhZ2F0aW9uOmwscHJldmVudERlZmF1bHQ6bSxsYjpuLGJ1dHRvbk92ZXJyaWRlczpwfSx7bWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UVAsbWVudU5hdmlnYXRpb25JdGVtUmVuZGVyZXI6UFAsdG9nZ2xlTWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UlAsbGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ucEwse2RhdGE6cixJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmZKLHtkYXRhOnJ9KSxsaWtlQnV0dG9uUmVuZGVyZXI6T1AsYnV0dG9uUmVuZGVyZXI6Xy5wTyxhY2NvdW50SW5mb01lbnVJdGVtOl8uTlB9KSksIkViIik7Xy5TUC5pZG9tQ29tcGF0PSEwOwpPaWE9Xy5MKCh7ZGF0YTphLGNoaWxkcmVuOmIsLi4uY30pPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4oIWEoKS5pdGVtc3x8IWEoKS5pdGVtcy5sZW5ndGgpJiYhKGEoKS5pc0Rpc2FibGVkJiZhKCkuZGlzYWJsZWRDb21tYW5kKX0sKCk9Pm51bGwpLF8uSyhfLkNFLHt3aGVuOigpPT5jLnVuPy4oKX0sKCk9Pl8uSyhfLk1oYSx7aWNvblR5cGU6KCk9PmMuRWg/LigpPz8iTU9SRV9WRVJUIixsYWJlbDooKT0+Xy5XTChfLkRKKGEoKS5hY2Nlc3NpYmlsaXR5KT8/IiIpLGFyaWFMYWJlbDooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eSl8fCIiLGNhbmNlbEJ1dHRvbkxhYmVsOl8uJE4uQ0FOQ0VMLFRkOigpPT5jLlRkPy4oKSxkZjooKT0+Yy5kZj8uKCksSGE6KCk9PmMuSGE/LigpLHN0b3BQcm9wYWdhdGlvbjooKT0+Yy5zdG9wUHJvcGFnYXRpb24/LigpLHByZXZlbnREZWZhdWx0OigpPT5jLnByZXZlbnREZWZhdWx0Py4oKSxidXR0b25PdmVycmlkZXM6KCk9PmMuYnV0dG9uT3ZlcnJpZGVzPy4oKSwKaXNEaXNhYmxlZDooKT0+YSgpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5hKCkuZGlzYWJsZWRDb21tYW5kfSwoKT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLml0ZW1zfSxiKSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSyhfLnpPLHtpY29uVHlwZTooKT0+Yy5FaD8uKCk/PyJNT1JFX1ZFUlQiLGxhYmVsOigpPT5fLkRKKGEoKS5hY2Nlc3NpYmlsaXR5KXx8IiIsY2FuY2VsQnV0dG9uTGFiZWw6Xy4kTi5DQU5DRUwsVGQ6KCk9PmMuVGQ/LigpLEZoOigpPT5jLkZoPy4oKSxkZjooKT0+Yy5kZj8uKCksSGE6KCk9PmMuSGE/LigpLHN0b3BQcm9wYWdhdGlvbjooKT0+Yy5zdG9wUHJvcGFnYXRpb24/LigpLHByZXZlbnREZWZhdWx0OigpPT5jLnByZXZlbnREZWZhdWx0Py4oKSxsYjooKT0+Yy5sYj8uKCksYnV0dG9uT3ZlcnJpZGVzOigpPT5jLmJ1dHRvbk92ZXJyaWRlcz8uKCksaXNEaXNhYmxlZDooKT0+YSgpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5hKCkuZGlzYWJsZWRDb21tYW5kfSwKKCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5pdGVtc30sYikpKSksIkZiIik7Xy5UUD1fLkwoYT0+Xy5LKF8uTyx7QTooKT0+YS5kYXRhKCkuaXRlbXM/Lmxlbmd0aHx8YS5kYXRhKCkuaXNEaXNhYmxlZCYmYS5kYXRhKCkuZGlzYWJsZWRDb21tYW5kLHRoZW46KCk9Pl8uSyhQaWEsey4uLmF9KX0pLCJHYiIpO18uVFAuaWRvbUNvbXBhdD0hMDsKdmFyIFBpYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLGNsYXNzTmFtZTpjLEVoOmQsc2hvd0ljb246ZSxidXR0b25TaXplOmYsYnV0dG9uT3ZlcnJpZGVzOmh9PV8uREMoYSx7c2hvd0ljb246ITEsYnV0dG9uT3ZlcnJpZGVzOnt9LGJ1dHRvblNpemU6IkwiLEVoOiJNT1JFX1ZFUlQifSksaz1fLlp0O3JldHVybiBfLksoInl0bS1ib3R0b20tc2hlZXQtcmVuZGVyZXIiLHtjbGFzczpjfSxfLksoXy5KSyx7ZGF0YTooKT0+e3ZhciBsPXtHYjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKS5pdGVtc30se21lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLHRvZ2dsZU1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlJQLGxpc3RJdGVtVmlld01vZGVsOih7ZGF0YTptfSk9Pl8uSyhfLnBMLHtkYXRhOm0sSWE6ITB9KSxzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6bX0pPT4KXy5LKF8uZkose2RhdGE6bX0pLGxpa2VCdXR0b25SZW5kZXJlcjpPUCxidXR0b25SZW5kZXJlcjpfLnBPLGFjY291bnRJbmZvTWVudUl0ZW06Xy5OUH0pKSxIYTplKCksaXNEaXNhYmxlZDpiKCkuaXNEaXNhYmxlZCxkaXNhYmxlZENvbW1hbmQ6YigpLmRpc2FibGVkQ29tbWFuZH07cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOmYoKSxpY29uUG9zaXRpb246Imljb24tb25seSIsYWNjZXNzaWJpbGl0eUxhYmVsOl8uREooYigpPy5hY2Nlc3NpYmlsaXR5KXx8IiIsb25UYXA6bT0+e3ZhciBuPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtfLnhKKF8uaHgoKSx7ZGF0YTpiKCl9KSxsLmZvY3VzT25DbG9zZT1tLmN1cnJlbnRUYXJnZXQsXy5XTSgpJiZtLnN0b3BQcm9wYWdhdGlvbigpLF8uVnoobixfLnZNKGspKSxfLnlOKGwpfWNhdGNoKHApe24uZXJyb3I9cCxuLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihuKX19LAouLi5oKCl9fSxpY29uTmFtZTooKT0+ZCgpfSkpfSwiSGIiKTt2YXIgSmlhPV8udS5kZXZpY2VQaXhlbFJhdGlvfHwyO3ZhciBLUD0hMTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLCgpPT57S1A9ITF9KTsKXy5VUD1fLkwoYT0+e3ZhciB7dGh1bWJuYWlsRGV0YWlsczpiLGNsYXNzTmFtZTpjLGFsdDpkLGFyaWFMYWJlbDplLE1kOmYsVGI6aCxoYzprLGFyaWFIaWRkZW46bCxZYTptLFRhOm59PV8uREMoYSx7VGI6ITAsdGh1bWJuYWlsRGV0YWlsczp2b2lkIDAsY2xhc3NOYW1lOnZvaWQgMCxhbHQ6dm9pZCAwLGFyaWFMYWJlbDp2b2lkIDAsTWQ6dm9pZCAwLGhjOnZvaWQgMCxhcmlhSGlkZGVuOnZvaWQgMCxZYTp2b2lkIDAsVGE6dm9pZCAwfSkscD1fLnZFKCJpbWciKSxbcix0XT1fLkFDKGIpO18uVUooKCk9Pnt2YXIgdj17Li4uYigpfTt0KHYpfSk7Xy5uRSgoKT0+e2lmKHAudmFsdWUpe2xldCB2PXAudmFsdWU7TFAodik7bGV0IHo9YigpO3omJih2LnNyYz1fLkpQKHosdixmKCkpKX19LCJuN2tjNGMiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+YigpJiYoZCgpfHxlKCl8fGMoKXx8aygpfHxsKCkpLHRoZW46KCk9Pl8uSyhfLmpGLHtkYXRhOigpPT5yKCksY2xhc3NOYW1lOmMsYWx0OigpPT4KZCgpfHxlKCl8fCIiLGNvbnRlbnRNb2RlOiJDT05URU5UX01PREVfU0NBTEVfQVNQRUNUX0ZJTEwiLGhjOmssYXJpYUhpZGRlbjpsLGNhbGxiYWNrOkxQLFRiOmgsWWE6bSxUYTpufSksVzooKT0+Xy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhfLmhGLHtkYXRhOmIsY29uZmlnOigpPT4oe2NsYXNzTmFtZTpjKCksYWx0OmQoKXx8ZSgpfHwiIixoYzprKCksYXJpYUhpZGRlbjpsKCksWWE6bSgpLFRhOm4oKX0pLEdsOntTZzoodix6KT0+e0xQKHopO3JldHVybiB2P18uSlAodix6LGYoKSk6IiJ9fSxsYXp5OiEwfSksVzooKT0+Xy5LKCJpbWciLHtlbDpwLGFsdDpkLCJhcmlhLWxhYmVsIjplLGNsYXNzOmMsImRhdGEtZGlzYWJsZWQiOmssImFyaWEtaGlkZGVuIjpsfSl9KX0pfSwiS2IiKTtfLlVQLmlkb21Db21wYXQ9ITA7Xy5WUD1fLkwoYT0+Xy5LKCJ5dG0tdGh1bWJuYWlsLW92ZXJsYXktdGltZS1zdGF0dXMtcmVuZGVyZXIiLHtjbGFzczphLmNsYXNzTmFtZSwidGh1bWJuYWlsLXNpemUiOmEudGh1bWJuYWlsU2l6ZSwiZGF0YS1zdHlsZSI6KCk9PmEuZGF0YT8uKCkuc3R5bGUsImFyaWEtaGlkZGVuIjphLmFyaWFIaWRkZW4sImRhdGEtdHlwZSI6KCk9PmEuZGF0YT8uKCkudHlwZT8ucmVwbGFjZSgiVEhVTUJOQUlMX09WRVJMQVlfVElNRV9TVEFUVVNfVFlQRV8iLCIiKX0sXy5LKF8uVEMse2RhdGE6KCk9Pih7dHlwZTphLmRhdGEoKS5zdHlsZT09PSJMSVZFIj8xOToxOCx0ZXh0Ol8uQ0ooYS5kYXRhKCkudGV4dCksaWNvbjphLmRhdGEoKS5pY29uPy5pY29uVHlwZXx8YS5kYXRhKCkueXRJY29uLHFMOmEuZGF0YSgpLnN0eWxlPT09IlNIT1JUUyJ9KX0pKSwiTGIiKTt2YXIgUWlhO18uV1A9Xy5MKGE9Pnt2YXIge2RldGFpbHM6YixvdmVybGF5OmMsVGI6ZCxoajplLE1kOmZ9PV8uREMoYSx7ZGV0YWlsczp2b2lkIDAsVGI6ITAsaGo6ITF9KSxoPV8uUCgidmlkZW8tdGh1bWJuYWlsLWltZyIseyJjdXN0b20tdGh1bWJuYWlsIjplfSk7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczpfLlAoInZpZGVvLXRodW1ibmFpbC1pbWciLCJ2aWRlby10aHVtYm5haWwtYmciKX0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoUWlhLHtkZXRhaWxzOmIsY2xhc3NOYW1lOmgsVGI6ZCxNZDpmfSl9KSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczpiLGNsYXNzTmFtZTpoLFRiOmQsTWQ6ZixhbHQ6IiJ9KSxfLksoImRpdiIse2NsYXNzOiJ2aWRlby1wcmV2aWV3LXNoaW0ifSksYz8uKCkpfSwiTWIiKTsKUWlhPV8uTCgoe2RldGFpbHM6YSxjbGFzc05hbWU6YixUYjpjLE1kOmR9KT0+Xy5LKCJkaXYiLHtjbGFzczoiY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciIsc3R5bGU6KCk9PntpZihhPy4oKS5zYW1wbGVkVGh1bWJuYWlsQ29sb3Ipe3ZhciB7cmVkOmUsZ3JlZW46ZixibHVlOmh9PWEoKS5zYW1wbGVkVGh1bWJuYWlsQ29sb3I7cmV0dXJuYGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHtlfSwke2Z9LCR7aH0sMSk7YH19fSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczphLGNsYXNzTmFtZTpiLGFsdDoiIixNZDpkLFRiOmN9KSksIk5iIik7Xy5YUD1fLkwoYT0+e3ZhciB7dGh1bWJuYWlsRGV0YWlsczpiLG92ZXJsYXk6YyxNZDpkLGNsYXNzTmFtZTplLFRiOmYsaGo6aCxobTprfT1fLkRDKGEse1RiOiEwLGhqOiExLHRodW1ibmFpbERldGFpbHM6dm9pZCAwfSk7cmV0dXJuIF8uSygieXRtLWNvbXBhY3QtdGh1bWJuYWlsIix7Y2xhc3M6Xy5QKCJ2aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3QiLCJ2aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZCIsZSx7Im9yaWdpbmFsLWFzcGVjdC1yYXRpbyI6KCk9PmIoKT8uaXNPcmlnaW5hbEFzcGVjdFJhdGlvLHN0YWNrZWQ6a30pfSxfLksoXy5XUCx7ZGV0YWlsczpiLG92ZXJsYXk6YyxNZDpkLFRiOmYsaGo6aH0pKX0sIk9iIik7Xy5YUC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e292ZXJsYXk6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5aUD1mdW5jdGlvbihhKXtyZXR1cm4gYS5zaG9ydHMuVGp9O18uJFA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLnhqfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5iUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBldnR2YyIpO3JldHVybiBfLnJEfTtfLmNRPV8uY0QoKCk9Pl8uYlEoKSwiZGlzbGlrZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkaXNsaWtlQnV0dG9uVmlld01vZGVsIiwicGV2dHZjIixfLmJRKX0pO18uZFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJpemptUCIpO3JldHVybiBfLnFEfTtfLmVRPV8uY0QoKCk9Pl8uZFEoKSwibGlrZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaWtlQnV0dG9uVmlld01vZGVsIiwiaXpqbVAiLF8uZFEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJBVDhMVGUiKTtyZXR1cm4gXy5wRH07Xy5nUT1fLmNEKCgpPT5fLmZRKCksIm92ZXJsYXlQcm9kdWN0U3RpY2tlciIpO18uWXQoXy5KRCxhPT57YS5KKCJvdmVybGF5UHJvZHVjdFN0aWNrZXIiLCJBVDhMVGUiLF8uZlEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBTaWE7Xy5oUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlhlUlhCZCIpO3JldHVybiBfLmNGfTtTaWE9Xy5jRCgoKT0+Xy5oUSgpLCJyZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbCIsIlhlUlhCZCIsXy5oUSl9KTtfLmlRPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6Yn0pPT57dmFyIGM9Xy51RSgicGl2b3QtYnV0dG9uLXZpZXctbW9kZWwiKTtfLlVKKCgpPT57YSgpPy5iYWNrZ3JvdW5kQ29sb3ImJmMudmFsdWUuc2V0QXR0cmlidXRlKCJkYXRhLWJhY2tncm91bmQtY29sb3IiLFN0cmluZyhhKCkuYmFja2dyb3VuZENvbG9yKSl9KTtyZXR1cm4gXy5LKCJwaXZvdC1idXR0b24tdmlldy1tb2RlbCIse2VsOmMsY2xhc3M6Xy5QKCJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3QiLGIpfSxfLksoXy5uSCx7Y29tbWFuZDooKT0+e3ZhciBkPWEoKTtkPWQub25DbGlja0NvbW1hbmQ/Xy5SRChkLm9uQ2xpY2tDb21tYW5kKTpkLmNvbnRlbnREZXNjcmlwdGlvbj9fLmFRKF8uV0woZC5jb250ZW50RGVzY3JpcHRpb24pKTp2b2lkIDA7cmV0dXJuIGR9LGFyaWFMYWJlbDooKT0+YSgpLmNvbnRlbnREZXNjcmlwdGlvbn0sXy5LKF8uTyx7QTooKT0+YSgpLnRodW1ibmFpbCx0aGVuOmQ9Pl8uSyhfLmpGLHtkYXRhOmQsCmFsdDoiIixjbGFzc05hbWU6Inl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEltYWdlIn0pLFc6KCk9Pl8uSyhfLk8se0E6KCk9PmEoKS5pY29uLHRoZW46ZD0+Xy5LKF8uTUQse2ljb246KCk9PmQoKS5pY29uVHlwZSxjbGFzc05hbWU6Inl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEljb24ifSl9KX0pKSl9LCJTYiIpO18ualE9Xy5MKCh7ZGF0YTphLEFmOmJ9KT0+e3ZhciBjPSgpPT4ieXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGVBY3Rpb25CdXR0b24iO3JldHVybiBfLksoInJlZWwtYWN0aW9uLWJhci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdCIse3l0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlOigpPT4hMCx5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdERlc2t0b3A6KCk9PiExfSl9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5idXR0b25WaWV3TW9kZWxzfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLlVGLHtjbGFzc05hbWU6YyxkYXRhOmQsYnV0dG9uT3ZlcnJpZGVzOmJ9KSxsaWtlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLmVRLHtjbGFzc05hbWU6YyxkYXRhOmQsQWY6Yn0pLGRpc2xpa2VCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uY1Ese2NsYXNzTmFtZTpjLApkYXRhOmQsQWY6Yn0pLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5aRix7Y2xhc3NOYW1lOmMsZGF0YTpkLHdpOmJ9KSxwaXZvdEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5pUSx7Y2xhc3NOYW1lOmMsZGF0YTpkfSl9KSl9LCJUYiIpO3ZhciBUaWE7Xy5rUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInM2NDlqIik7cmV0dXJuIF8ubUh9O1RpYT1fLmNEKCgpPT5fLmtRKCksInBsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbCIsInM2NDlqIixfLmtRKX0pO3ZhciBVaWE7Xy5sUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInVTeGRuYiIpO3JldHVybiBfLmZIfTtVaWE9Xy5jRCgoKT0+Xy5sUSgpLCJyZWVsQ2Fyb3VzZWxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbENhcm91c2VsVmlld01vZGVsIiwidVN4ZG5iIixfLmxRKX0pO3ZhciBWaWE7Xy5tUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIldmZjZCZCIpO3JldHVybiBfLmVIfTtWaWE9Xy5jRCgoKT0+Xy5tUSgpLCJyZWVsQ2hhbm5lbEJhclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsQ2hhbm5lbEJhclZpZXdNb2RlbCIsIldmZjZCZCIsXy5tUSl9KTt2YXIgV2lhO18ublE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJVM216c2QiKTtyZXR1cm4gXy5sSH07V2lhPV8uY0QoKCk9Pl8ublEoKSwicmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsIiwiVTNtenNkIixfLm5RKX0pO3ZhciBYaWE7Xy5vUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInlQMEpCZCIpO3JldHVybiBfLmJGfTtYaWE9Xy5jRCgoKT0+Xy5vUSgpLCJzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbCIsInlQMEpCZCIsXy5vUSl9KTt2YXIgWWlhO18ucFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJScWFKc2QiKTtyZXR1cm4gXy5YSn07WWlhPV8uY0QoKCk9Pl8ucFEoKSwic2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbCIsIlJxYUpzZCIsXy5wUSl9KTt2YXIgWmlhO18ucVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJFM0hlYmMiKTtyZXR1cm4gXy5hRn07WmlhPV8uY0QoKCk9Pl8ucVEoKSwic2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsIiwiRTNIZWJjIixfLnFRKX0pO18uclE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXQtcmVlbC1tZXRhcGFuZWwtdmlldy1tb2RlbCIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxIb3N0In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1ldGFkYXRhSXRlbXN9LHtiYWRnZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKF8uYUcse2RhdGE6Yn0pKSxwbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVGlhLHtkYXRhOmJ9KSkscHJvZHVjdFN0aWNrZXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhfLmdRLHtkYXRhOigpPT5iKCkuc3RpY2tlcn0pKSxyZWVsQ2Fyb3VzZWxWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Cl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVWlhLHtkYXRhOmJ9KSkscmVlbENoYW5uZWxCYXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhWaWEse2RhdGE6Yn0pKSxyZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoV2lhLHtkYXRhOmJ9KSkscmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhTaWEse2RhdGE6Yn0pKSxzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sCl8uSyhYaWEse2RhdGE6Yn0pKSxzaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhZaWEse2RhdGE6Yn0pKSxzaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoWmlhLHtkYXRhOmJ9KSksdG9nZ2xlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoXy5aRix7ZGF0YTpifSkpfSkpLCJVYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiZktFOHFkIik7cmV0dXJuIF8ub0R9O18uJGlhPV8uY0QoKCk9Pl8uc1EoKSwiZGlhbG9nVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImRpYWxvZ1ZpZXdNb2RlbCIsImZLRThxZCIsXy5zUSl9KTtfLnRRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiUlpla0oiKTtyZXR1cm4gXy5TQ307Xy5hamE9Xy5jRCgoKT0+Xy50USgpLCJzbWFydGltYXRpb25zIik7Xy5ZdChfLkpELGE9PnthLkooInNtYXJ0aW1hdGlvbnMiLCJSWmVrSiIsXy50USl9KTtfLnVRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgic0RPVEdlIik7cmV0dXJuIF8ubkR9O18uYmphPV8uY0QoKCk9Pl8udVEoKSwicmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWwiLCJzRE9UR2UiLF8udVEpfSk7Xy52UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImVjdVBBYyIpO3JldHVybiBfLm1EfTtfLmNqYT1fLmNEKCgpPT5fLnZRKCksInBsYXllck92ZXJsYXlJbnRlcmFjdGlvbiIpO18uWXQoXy5KRCxhPT57YS5KKCJwbGF5ZXJPdmVybGF5SW50ZXJhY3Rpb24iLCJlY3VQQWMiLF8udlEpfSk7Xy53UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIkZRZElKZSIpO3JldHVybiBfLmxEfTtfLmRqYT1fLmNEKCgpPT5fLndRKCksInN0aWNrZXJzTGF5ZXIiKTtfLll0KF8uSkQsYT0+e2EuSigic3RpY2tlcnNMYXllciIsIkZRZElKZSIsXy53USl9KTtfLnhRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgibjdlbzIiKTtyZXR1cm4gXy5rRH07Xy5lamE9Xy5jRCgoKT0+Xy54USgpLCJpbnRlcnN0aXRpYWxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiaW50ZXJzdGl0aWFsVmlld01vZGVsIiwibjdlbzIiLF8ueFEpfSk7Xy55UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIk51aWx1ZSIpO3JldHVybiBfLmpEfTtfLmZqYT1fLmNEKCgpPT5fLnlRKCksInZpZGVvV2l0aENvbnRleHRSZW5kZXJlciIpO18uWXQoXy5KRCxhPT57YS5KKCJ2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIiLCJOdWlsdWUiLF8ueVEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQVE9Xy5MKCh7T286YSxScDpiLGNoaWxkcmVuOmMsUG46ZCxkaXNhYmxlQW5pbWF0aW9uOmV9KT0+e3ZhciBmPSgpPT4hZT8uKCk7cmV0dXJuIF8uSygieXQtYW5pbWF0ZWQtYWN0aW9uIix7Y2xhc3M6Xy5QKCJ5dEFuaW1hdGVkQWN0aW9uSG9zdCIsZCl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0QW5pbWF0ZWRBY3Rpb25Db250ZW50V2l0aEJhY2tncm91bmQifSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKHpRLHtQbjoieXRBbmltYXRlZEFjdGlvbkJhY2tncm91bmRDb250YWluZXIiLHl5OiJ5dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZCIsRWM6KCk9Pih7YW5pbWF0aW9uUmVmOmE/LigpLGFuaW1hdGlvbkNvbmZpZzp7bmFtZToiYW5pbWF0ZWQtYWN0aW9ucy1iYWNrZ3JvdW5kIixhdXRvcGxheTohMSxsb29wOiExLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9zdWJzY3JpYmVfYWN0aW9uL3N1YnNjcmliZV9hY3Rpb25fY29udGFpbmVyXyR7Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/PwohMT8iZGFyayI6ImxpZ2h0In1fdjUuanNvbmB9fSl9KX0pLGMpLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoelEse0VjOigpPT4oe2FuaW1hdGlvblJlZjpiPy4oKSxhbmltYXRpb25Db25maWc6e25hbWU6ImFuaW1hdGVkLWFjdGlvbnMtZm9yZWdyb3VuZCIsYXV0b3BsYXk6ITEsbG9vcDohMSxwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX3NwYXJrbGVzXyR7Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/PyExPyJkYXJrIjoibGlnaHQifV92NC5qc29uYH19KX0pfSkpfSwiVmIiKTtfLkFRLmlkb21Db21wYXQ9ITA7CnZhciB6UT1fLkwoKHtQbjphLHl5OmIsRWM6Y30pPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRBbmltYXRlZEFjdGlvbkxvdHRpZSIsYSksImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLmNNLHtjbGFzc05hbWU6YixkYXRhOmMsYW5pbWF0aW9uTmFtZTooKT0+YygpLmFuaW1hdGlvbkNvbmZpZy5uYW1lfSkpLCJXYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkJRPWZ1bmN0aW9uKCl7cmV0dXJue2xvdHRpZUVsOnZvaWQgMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkNRPWZ1bmN0aW9uKGEsYil7Xy5uRSgoKT0+e3ZhciBjPWEoKTtfLkVBKCgpPT52b2lkIGIoYykpfSwiY0tSOXNmIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZ2phLERRLEVRLEZRLGhqYSxpamEsamphLEdRLEhRLGtqYSxJUSxsamEsSlEsS1EsTFEsTVEsTlEsT1EsbWphLFBRLFFRLFJRLG5qYSxTUSxvamEsVFEsVVEscGphLFZRLFdRLFhRLFpRLHFqYSxyamEsJFEsYVIsc2phLHRqYSx1amEsYlIsY1IsdmphLHdqYSx4amEsaFIsZlIsbVIsblIsb1IscFIsZ1IsdFIsdVIsa1IsdlIsbFIsemphLEFqYSx6UixBUixCUixFamEsRFIsSFIsRmphLEdqYSxIamEsSWphLElSLEpSLEpqYSxMUixMamEsTWphLE1SLFFqYSxQamEsUmphLE9qYSxOUixOamEsUFIsT1IsVWphLFdqYSxSUixYamEsU1IsZFMsZVMsZlMsZ1MsZGthLGlrYSxpUyxra2EsalMsa1Msb2thLHBTLHFrYSxya2EscVMsc2thLHRrYSxyUyxzUyx0Uyx1Uyx3Uyx4Uyx2Uyx5Uyx6UyxBUyxCUyxFUyxGUyxDUyxHUyx6a2EsSlMsSFMsQ2thLExTLE1TLE5TLFBTLElTLEZrYSxTUyxHa2EsVVMsV1MsWFMsSGthLFlTLFpTLCRTLGNULGJULElrYSxkVCxKa2EsS2thLExrYSxNa2EsZ1QsCmZULGhULGtULGxULE5rYSxtVCxqVCxpVCxuVCxvVCxwVCxPa2EsclQsUGthLFFrYSx0VCxSa2EsdlQsU2thLFRrYSxzVCxVa2EsVmthLFdrYSxYa2EsWWthLHhULHVULHFULHdULHlULHpULEFULEJULENULERULCRrYSxFVCxIVCxJVCxGVCxjbGEsYmxhLEpULEtULE9ULFBULGVsYSxRVCxUVCxSVCxmbGEsaGxhLGdsYSxpbGEsV1QsWFQsamxhLFpULGtsYSxhVSxiVSxjVSxsbGEsaFUsbmxhLG9sYSxpVSxqVSxsVSxtVSxuVSxvVSxwVSxwbGEscVUscWxhLHJVLHJsYSxzVSx1VSxzbGEsdWxhLHdVLElVLHhVLEtVLEpVLHZsYSx3bGEseGxhLHpsYSxMVSx5bGEsT1UsTVUsQmxhLENsYSxEbGEsUFUsRWxhLEZsYSxHbGEsSGxhLElsYSxKbGEsS2xhLExsYSxNbGEsTmxhLFFVLFJVLFNVLFVVLFBsYSxYVSxZVSxRbGEsUmxhLFpVLFNsYSwkVSxVbGEsYVYsVGxhO2dqYT1mdW5jdGlvbigpe3JldHVybiEhXy5aTygpfTsKRFE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBNYXRoLm1pbihNYXRoLm1heChhLGIpLGMpfTtFUT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBudWxsO3ZhciBjPWI/U3RyaW5nKGIpLnRvVXBwZXJDYXNlKCk6bnVsbDtyZXR1cm4gXy5ndyhhLGZ1bmN0aW9uKGQpe3JldHVybighY3x8ZC5ub2RlTmFtZT09YykmJiEwfSwhMCl9O0ZRPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMubGVmdD1hO3RoaXMudG9wPWI7dGhpcy53aWR0aD1jO3RoaXMuaGVpZ2h0PWR9O2hqYT1mdW5jdGlvbihhLGIpe2I/Xy5TdChhLCJ5dFBsYXllckNvbnRyb2xzQ29udGFpbmVyUmVuZGVyZWQiKTpfLlR0KGEsInl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZCIpfTsKaWphPWZ1bmN0aW9uKCl7Xy5WaSgoKT0+e2lmKCFfLkJxKCJmdGwiKSl7dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthIT09Xy5wbygpfHxfLkJxKCJmdGwiKXx8Xy5BcSgiZnRsIix2b2lkIDAsdm9pZCAwKX0sMCl9KX19KSgpfTtqamE9ZnVuY3Rpb24oKXtpZihfLlh6KCkpe3ZhciBhPV8uR2goInBmcC1tYXctcGxheWVyIik7aWYoYSlyZXR1cm4gbmV3IF8ud00oYSl9fTtHUT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbCgoMCxfLlNhYSkoKSxhKX07CkhRPWZ1bmN0aW9uKCl7aWYoXy54KCJlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVjayIpKXJldHVybiBfLncoIklOTkVSVFVCRV9DT05URVhUIix7fSkuY2xpZW50Py5jbGllbnRGb3JtRmFjdG9yPT09IkFVVE9NT1RJVkVfRk9STV9GQUNUT1IiO3ZhciBhPV8udygiSU5ORVJUVUJFX0NPTlRFWFQiLHt9KTtyZXR1cm4gYS5jbGllbnQ/Lm9zTmFtZSYmYS5jbGllbnQub3NOYW1lPT09IkFuZHJvaWQgQXV0b21vdGl2ZSJ9O2tqYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImRpc21pc3NTdGF0ZSIsYil9O0lRPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVU0oKT09PSJoYXNodGFnIn07bGphPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywibG9nb0VudGl0eSIsYil9OwpKUT1mdW5jdGlvbigpe3JldHVybiBhPT57dmFyIGI9Xy5MQighMSk7dHJ5e2xldCBjPWEuY2hpbGRyZW47Xy5VQT9jP18uZ04oXy5LKF8uc08sYSxjKSk6Xy5nTihfLksoXy5zTyxhKSk6Xy5JcChuZXcgXy5Yaigia2V0b1RvQzMgY2FsbGVkIG91dHNpZGUgb2YgYSBwYXRjaCIse3RhZ05hbWU6Xy5zTy5aY30pKX1maW5hbGx5e18uTEIoYil9fX07CktRPWZ1bmN0aW9uKGEsYil7aWYoYS5yZXF1ZXN0RnVsbHNjcmVlbilhPWEucmVxdWVzdEZ1bGxzY3JlZW4oYik7ZWxzZSBpZihhLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKWE9YS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO2Vsc2UgaWYoYS5tb3pSZXF1ZXN0RnVsbFNjcmVlbilhPWEubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtlbHNlIGlmKGEubXNSZXF1ZXN0RnVsbHNjcmVlbilhPWEubXNSZXF1ZXN0RnVsbHNjcmVlbigpO2Vsc2UgaWYoYS53ZWJraXRFbnRlckZ1bGxzY3JlZW4pYT1hLndlYmtpdEVudGVyRnVsbHNjcmVlbigpO2Vsc2UgcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJKZCIpKTtyZXR1cm4gYSBpbnN0YW5jZW9mIFByb21pc2U/YTpQcm9taXNlLnJlc29sdmUoKX07CkxRPWZ1bmN0aW9uKCl7cmV0dXJuISFfLklPKFsiZnVsbHNjcmVlbkVuYWJsZWQiLCJ3ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCIsIm1vekZ1bGxTY3JlZW5FbmFibGVkIiwibXNGdWxsc2NyZWVuRW5hYmxlZCJdLGRvY3VtZW50KX07TVE9ZnVuY3Rpb24oYSl7dmFyIGI7TFEoKT9fLlpPKCk9PWEmJihiPWRvY3VtZW50KTpiPWE7aWYoYiYmKGE9Xy5JTyhbImV4aXRGdWxsc2NyZWVuIiwid2Via2l0RXhpdEZ1bGxzY3JlZW4iLCJtb3pDYW5jZWxGdWxsU2NyZWVuIiwibXNFeGl0RnVsbHNjcmVlbiJdLGIpKSl7YS5jYWxsKGIpaW5zdGFuY2VvZiBQcm9taXNlfHxQcm9taXNlLnJlc29sdmUoKTtyZXR1cm59UHJvbWlzZS5yZXNvbHZlKCl9O05RPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpfTtPUT1mdW5jdGlvbihhKXtyZXR1cm4oYT1OUShhKSk/ISFhLmRpc3BsYXlOYW1lOiExfTsKbWphPWZ1bmN0aW9uKGEpe3JldHVybiBfLnZiKGEsYj0+Yi5sYW5ndWFnZUNvZGU9PT0iZW4iKX07UFE9ZnVuY3Rpb24oYSl7aWYoIWEuZ2V0T3B0aW9ucygiY2FwdGlvbnMiKSlyZXR1cm4iIjthPV8uJE8oYSk7aWYoIWEubGVuZ3RoKXJldHVybiIiO3ZhciBiPW1qYShhKTtyZXR1cm4gYj9iLmRpc3BsYXlOYW1lfHwiIjphWzBdLmRpc3BsYXlOYW1lfHwiIn07ClFRPWZ1bmN0aW9uKGEsYixjKXtpZihPUShhKSlfLngoIm13ZWJfZW5hYmxlX3BsYXllcl9jYXB0aW9uc19wZXJzaXN0ZW5jZV9zdGF0ZV9tYWNoaW5lIik/YS5zZXRPcHRpb24oImNhcHRpb25zIiwic3RpY2t5TG9hZGluZyIse3VzZXJJbml0aWF0ZWQ6Y30pOmEuc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt9KSxhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIse30pO2Vsc2V7bGV0IGQ9Xy52YihfLiRPKGEpLGU9PmUuZGlzcGxheU5hbWU9PT1iKTthLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIsZCk7Xy54KCJtd2ViX2VuYWJsZV9wbGF5ZXJfY2FwdGlvbnNfcGVyc2lzdGVuY2Vfc3RhdGVfbWFjaGluZSIpJiZhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7dXNlckluaXRpYXRlZDpjfSl9fTtSUT1mdW5jdGlvbigpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZnVsbHNjcmVlbnJlcXVlc3QiKSl9OwpuamE9ZnVuY3Rpb24oYSl7dmFyIFtiXT0oMCxfLnVpYSkoYSksW2NdPSgwLF8udmlhKShhKTtyZXR1cm5bXy5OKCgpPT57dmFyIGQ9ey4uLmIoKX07ZC5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uJiYoZC5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uPXsuLi5jKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbn0pO3JldHVybiBkfSx2b2lkIDAsInV2Uzg3YiIpXX07U1E9ZnVuY3Rpb24oYSl7TVEoYXx8ZG9jdW1lbnQuYm9keSl9OwpvamE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpO2EmJihSUSgpLEtRKGEpLmNhdGNoKGI9PntpZihiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpXy5XaShiKTtlbHNlIHRocm93IGI7fSkpfTtUUT1mdW5jdGlvbihhLGIpe18uWk8oKT8oUlEoKSxTUShiKSk6TFEoKT8oUlEoKSxiPUtRKGJ8fGRvY3VtZW50LmJvZHkse25hdmlnYXRpb25VSToiaGlkZSJ9KSxhPy5kcyYmYj8uY2F0Y2goKCk9Pm51bGwpKTpvamEoKX07ClVRPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiAwO3ZhciBiPWEuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSxjPWEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGMmJmMuaXNMaXZlPyhhPWEuZ2V0UHJvZ3Jlc3NTdGF0ZShiKSxhLnNlZWthYmxlRW5kLWEuc2Vla2FibGVTdGFydCk6YS5nZXREdXJhdGlvbihiKX07cGphPWZ1bmN0aW9uKGEsYixjKXthfHxfLk9FKCgpPT57Yj8ucHJldmlvdXNWaWRlbyhjKX0pfTtWUT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclN0YXRlKCk7aWYoYj09PTIpcmV0dXJuITA7aWYoYiE9PTMpcmV0dXJuITE7YT1hLmdldFBsYXllclN0YXRlT2JqZWN0KCk7cmV0dXJuIWEuaXNCdWZmZXJpbmcmJiFhLmlzVW5zdGFydGVkJiYhYS5pc1BsYXlpbmcmJmEuaXNQYXVzZWR9OwpXUT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclN0YXRlKCk7aWYoYj09PTEpcmV0dXJuIGEucGF1c2VWaWRlbygpLCJQTEFZRVJfUEFVU0UiO2lmKGI9PT0tMSlhLnBsYXlWaWRlbygpO2Vsc2UgaWYoYj09PTJ8fFZRKGEpKXJldHVybiBhLnBsYXlWaWRlbygpLCJQTEFZRVJfUExBWSJ9O1hRPWZ1bmN0aW9uKGEpe2E9YSYmYS5nZXRQbGF5bGlzdEluZGV4JiZhLmdldFBsYXlsaXN0SW5kZXgoKT49MDtyZXR1cm4hIV8uWmIod2luZG93LmxvY2F0aW9uLmhyZWYsImxpc3QiKXx8ISFhfTtaUT1mdW5jdGlvbihhKXtZUT1hfTtxamE9ZnVuY3Rpb24oYSl7dmFyIGI9WVE7Yj8oYT1hLnRpbWVTdGFtcCxiPWIudGltZVN0YW1wLGI9aXNOYU4oYSl8fGlzTmFOKGIpPyExOk1hdGguYWJzKGEtYik8PV8ueWlhKTpiPSExO3JldHVybiBifTsKcmphPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O2lmKGIpe3ZhciBjPSFiLnBhdXNlZDsocWphKGEpfHxjKSYmc2V0VGltZW91dCgoKT0+e2IucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGF1c2UiLFpRKTtkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0idmlzaWJsZSImJl8uVk0oKX0sXy54aWEpfX07JFE9ZnVuY3Rpb24oKXtfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW4iKT9TUShfLkVKKTpfLkVKJiYoTVEoXy5FSiksXy54KCJtd2ViX25ld19mdWxsc2NyZWVuX3Jlc2l6ZSIpfHxfLlhNKCJyZXNpemUiKSl9OwphUj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvIik7YSYmKF8uZnImJl8ueCgibXdlYl9pb3NfZnVsbHNjcmVlbl9wbGF5YmFja190cmFuc2l0aW9uIikmJihhLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlIixaUSksXy5OTShhLCJ3ZWJraXRlbmRmdWxsc2NyZWVuIixyamEpKSxfLlhNKCJmdWxsc2NyZWVucmVxdWVzdCIpLEtRKGEpLmNhdGNoKGI9PntpZihiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpXy5XaShiKTtlbHNlIHRocm93IGI7fSkpfTtzamE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuc2NyZWVuLm9yaWVudGF0aW9uO2lmKGE/LmxvY2smJiFfLk1FKCkmJiFfLlRFKCkpdHJ5e2EubG9jaygibGFuZHNjYXBlIikuY2F0Y2goKCk9Pnt9KX1jYXRjaChiKXt9fTsKdGphPWZ1bmN0aW9uKGEpe18uWE0oImZ1bGxzY3JlZW5yZXF1ZXN0Iik7dmFyIGI9S1EoXy5FSix7bmF2aWdhdGlvblVJOiJoaWRlIn0pO2F8fHNqYSgpO18ueCgibXdlYl9uZXdfZnVsbHNjcmVlbl9yZXNpemUiKXx8Xy5YTSgicmVzaXplIik7cmV0dXJuIGJ9Owp1amE9ZnVuY3Rpb24oYSl7ZG9jdW1lbnQuYm9keS5nZXRBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiKT09PSJ0cnVlIiYmZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiKTtpZihfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW4iKSlUUShhLF8uRUopO2Vsc2V7dmFyIGI9Xy5yUCgpLGM7Xy5mcj9jPWFSKCk6TFEoKT9iPyRRKCk6Yz10amEoYT8uekkpOl8ueCgibXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkIik/Yz1hUigpOl8uWE0oInBsYXllci1mdWxsc2NyZWVuLXRvZ2dsZWQiLHtpc0N1cnJlbnRseUZ1bGxzY3JlZW46Yn0pO2M/LmNhdGNoKGQ9PntpZihkPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGQ/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGQ/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiLAoidHJ1ZSIpLF8uWE0oInBsYXllci1mdWxsc2NyZWVuLXRvZ2dsZWQiLHtpc0N1cnJlbnRseUZ1bGxzY3JlZW46Yn0pfSk7YT8uZHMmJmM/LmNhdGNoKCgpPT5udWxsKX19O2JSPWZ1bmN0aW9uKGEpe3JldHVybntsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6YS50aXRsZSxzZWxlY3Rpb25UZXh0OmEuc2VsZWN0aW9uVGV4dCxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmEuaWNvblR5cGV9fV19LGlzRGlzYWJsZWQ6YS5pc0Rpc2FibGVkLGlzU2VsZWN0ZWQ6YS5pc1NlbGVjdGVkLHNlbGVjdGlvblN0eWxlOmEuc2VsZWN0aW9uU3R5bGV9fX07CmNSPWZ1bmN0aW9uKGEpe3JldHVybntzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6YS50aXRsZSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmEuaWNvblR5cGV9fV19LHN3aXRjaGVkT25CeURlZmF1bHQ6YS5rbCxhMTF5TGFiZWxTd2l0Y2hlZE9uOmEuRWssYTExeUxhYmVsU3dpdGNoZWRPZmY6YS5Eayxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZH19fTt2amE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLmlzRnVsbHNjcmVlbn07d2phPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy5tan07CnhqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIubGVuZ3RoO3N3aXRjaChjKXtjYXNlIDA6cmV0dXJuIiI7Y2FzZSAxOnJldHVybiBTdHJpbmcoYlswXSk7Y2FzZSAyOnJldHVybiBhLkQucmVwbGFjZSgiezB9IixTdHJpbmcoYlswXSkpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbMV0pKX12YXIgZD1hLkIucmVwbGFjZSgiezB9IixTdHJpbmcoYlswXSkpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbMV0pKTtmb3IobGV0IGU9MjtlPGMtMTsrK2UpZD1hLnYucmVwbGFjZSgiezB9IixkKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiW2VdKSk7cmV0dXJuIGEuby5yZXBsYWNlKCJ7MH0iLGQpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbYy0xXSkpfTsKaFI9ZnVuY3Rpb24oKXt0aGlzLks9bnVsbDt0aGlzLlZkPXRoaXMuTWE9dGhpcy5RYT0hMTt0aGlzLlo9NDA7dGhpcy5vPTE7dGhpcy5oYT0wO3RoaXMuaj0zO3RoaXMueWE9dGhpcy5CPTA7dGhpcy5FYj0hMTt0aGlzLmdhPXRoaXMuTT0iIjt0aGlzLkQ9ZFIuYW87dGhpcy5VPSIiO3RoaXMudj0xO3RoaXMuWT0hMTt0aGlzLkk9W107dGhpcy5GYT10aGlzLmZjPSExO3RoaXMub2E9MDtpZihlUilmUih0aGlzKTtlbHNle3RoaXMuSz1udWxsO3ZhciBhPWRSLmd0O2xldCBlPVswXTt0aGlzLk09Z1IodGhpcyxhLGUpO3ZhciBiPWVbMF07bGV0IGY9LTEsaD0wO3ZhciBjPTAsZD0wO2xldCBrPS0xLGw9YS5sZW5ndGg7Zm9yKGxldCBtPSEwO2VbMF08bCYmbTtlWzBdKyspc3dpdGNoKGEuY2hhckF0KGVbMF0pKXtjYXNlICIjIjpjPjA/ZCsrOmgrKztrPj0wJiZmPDAmJmsrKzticmVhaztjYXNlICIwIjppZihkPjApdGhyb3cgRXJyb3IoIlZkYCIrYSk7YysrO2s+PTAmJmY8MCYmaysrO2JyZWFrOwpjYXNlICIsIjprPjAmJnRoaXMuSS5wdXNoKGspO2s9MDticmVhaztjYXNlICIuIjppZihmPj0wKXRocm93IEVycm9yKCJXZGAiK2EpO2Y9aCtjK2Q7YnJlYWs7Y2FzZSAiRSI6aWYodGhpcy5GYSl0aHJvdyBFcnJvcigiWGRgIithKTt0aGlzLkZhPSEwO3RoaXMueWE9MDtlWzBdKzE8bCYmYS5jaGFyQXQoZVswXSsxKT09IisiJiYoZVswXSsrLHRoaXMuRWI9ITApO2Zvcig7ZVswXSsxPGwmJmEuY2hhckF0KGVbMF0rMSk9PSIwIjspZVswXSsrLHRoaXMueWErKztpZihoK2M8MXx8dGhpcy55YTwxKXRocm93IEVycm9yKCJZZGAiK2EpO209ITE7YnJlYWs7ZGVmYXVsdDplWzBdLS0sbT0hMX1jPT0wJiZoPjAmJmY+PTAmJihjPWYsYz09MCYmYysrLGQ9aC1jLGg9Yy0xLGM9MSk7aWYoZjwwJiZkPjB8fGY+PTAmJihmPGh8fGY+aCtjKXx8az09MCl0aHJvdyBFcnJvcigiWmRgIithKTtkPWgrYytkO3RoaXMuaj1mPj0wP2QtZjowO2Y+PTAmJih0aGlzLkI9aCtjLWYsdGhpcy5CPDAmJih0aGlzLkI9CjApKTt0aGlzLm89KGY+PTA/ZjpkKS1oO3RoaXMuRmEmJih0aGlzLlo9aCt0aGlzLm8sdGhpcy5qPT0wJiZ0aGlzLm89PTAmJih0aGlzLm89MSkpO3RoaXMuSS5wdXNoKE1hdGgubWF4KDAsaykpO3RoaXMuZmM9Zj09MHx8Zj09ZDtiPWVbMF0tYjt0aGlzLmdhPWdSKHRoaXMsYSxlKTtlWzBdPGEubGVuZ3RoJiZhLmNoYXJBdChlWzBdKT09IjsiPyhlWzBdKyssdGhpcy52IT0xJiYodGhpcy5ZPSEwKSx0aGlzLkQ9Z1IodGhpcyxhLGUpLGVbMF0rPWIsdGhpcy5VPWdSKHRoaXMsYSxlKSk6KHRoaXMuRCs9dGhpcy5NLHRoaXMuVSs9dGhpcy5nYSl9fTsKZlI9ZnVuY3Rpb24oYSl7dmFyIGI9e25vdGF0aW9uOiJzdGFuZGFyZCIsbWluaW11bUludGVnZXJEaWdpdHM6TWF0aC5taW4oMjEsTWF0aC5tYXgoMSxhLm8pKX07YS5FYiYmKGIuc2lnbkRpc3BsYXk9ImFsd2F5cyIpO2EuUWE/KGIubWluaW11bVNpZ25pZmljYW50RGlnaXRzPTEsYi5tYXhpbXVtU2lnbmlmaWNhbnREaWdpdHM9TWF0aC5tYXgoMSxNYXRoLm1pbigyMSxhLmhhKSkpOmEuTWEmJihiLm1pbmltdW1GcmFjdGlvbkRpZ2l0cz1NYXRoLm1heCgwLGEuQiksYi5tYXhpbXVtRnJhY3Rpb25EaWdpdHM9TWF0aC5taW4oMjAsTWF0aC5tYXgoMCxhLmopKSk7Yi5zdHlsZT0iZGVjaW1hbCI7dHJ5e2xldCBjOyhjPSJlbi1VUyIucmVwbGFjZSgiXyIsIi0iKSkmJmMgaW4gaVImJihiLm51bWJlcmluZ1N5c3RlbT1pUltjXSk7YS5LPW5ldyBJbnRsLk51bWJlckZvcm1hdChjLGIpfWNhdGNoKGMpe3Rocm93IGEuSz1udWxsLEVycm9yKCJSZGAiK2MpO31qUj1hLlZkPWEuUWE9YS5NYT0hMX07Cm1SPWZ1bmN0aW9uKGEsYil7dmFyIGM9a1IoYixhLmopO2EuaGE+MCYmKGM9bFIoYyxhLmhhLGEuaikpO2M9TWF0aC5yb3VuZChjKTtpZihpc0Zpbml0ZShjKSl7dmFyIGQ9TWF0aC5mbG9vcihrUihjLC1hLmopKTtjPU1hdGguZmxvb3IoYy1rUihkLGEuaikpO2lmKGM8MHx8Yz49a1IoMSxhLmopKWQ9TWF0aC5yb3VuZChiKSxjPTB9ZWxzZSBkPWIsYz0wO3JldHVybntpbnRWYWx1ZTpkLGh3OmN9fTsKblI9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5CPmEuail0aHJvdyBFcnJvcigiU2QiKTtkfHwoZD1bXSk7Yj1tUihhLGIpO3ZhciBlPWIuaW50VmFsdWUsZj1iLmh3LGg9YS5CPjB8fGY+MHx8ITE7Yj1hLkI7aCYmKGI9YS5CKTtmb3IodmFyIGs9IiIsbD1lO2w+MUUyMDspaz0iMCIrayxsPU1hdGgucm91bmQoa1IobCwtMSkpO2s9bCtrO3ZhciBtPWRSLlZuO2w9ZFIuQmsuY29kZVBvaW50QXQoMCk7dmFyIG49ay5sZW5ndGgscD0wO2lmKGU+MHx8Yz4wKXtmb3IoZT1uO2U8YztlKyspZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwpKTtpZihhLkkubGVuZ3RoPj0yKWZvcihjPTE7YzxhLkkubGVuZ3RoO2MrKylwKz1hLklbY107Yz1uLXA7aWYoYz4wKXtlPWEuSTtwPW49MDt2YXIgcj1kUi5yayx0PWsubGVuZ3RoO2ZvcihsZXQgej0wO3o8dDt6KyspaWYoZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwrTnVtYmVyKGsuY2hhckF0KHopKSkpLHQtej4xKXt2YXIgdj1lW3BdO2lmKHo8CmMpe2xldCBFPWMtejsodj09PTF8fHY+MCYmRSV2PT09MSkmJmQucHVzaChyKX1lbHNlIHA8ZS5sZW5ndGgmJih6PT09Yz9wKz0xOnY9PT16LWMtbisxJiYoZC5wdXNoKHIpLG4rPXYscCs9MSkpfX1lbHNle2M9aztrPWEuSTtlPWRSLnJrO3Y9Yy5sZW5ndGg7cj1bXTtmb3Iobj1rLmxlbmd0aC0xO24+PTAmJnY+MDtuLS0pe3A9a1tuXTtmb3IodD0wO3Q8cCYmdi10LTE+PTA7dCsrKXIucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihjLmNoYXJBdCh2LXQtMSkpKSk7di09cDt2PjAmJnIucHVzaChlKX1kLnB1c2guYXBwbHkoZCxyLnJldmVyc2UoKSl9fWVsc2UgaHx8ZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwpKTsoYS5mY3x8aCkmJmQucHVzaChtKTtmPVN0cmluZyhmKTtoPWYuc3BsaXQoImUrIik7aC5sZW5ndGg9PTImJihmPVN0cmluZyhsUihwYXJzZUZsb2F0KGhbMF0pLGEuaGEsMSkpLGY9Zi5yZXBsYWNlKCIuIiwiIiksZis9IjAiLnJlcGVhdChwYXJzZUludChoWzFdLAoxMCktZi5sZW5ndGgrMSkpO2EuaisxPmYubGVuZ3RoJiYoZj0iMSIrIjAiLnJlcGVhdChhLmotZi5sZW5ndGgpK2YpO2ZvcihhPWYubGVuZ3RoO2YuY2hhckF0KGEtMSk9PSIwIiYmYT5iKzE7KWEtLTtmb3IoYj0xO2I8YTtiKyspZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwrTnVtYmVyKGYuY2hhckF0KGIpKSkpfTtvUj1mdW5jdGlvbihhLGIsYyl7Yy5wdXNoKGRSLlluKTtiPDA/KGI9LWIsYy5wdXNoKGRSLmFvKSk6YS5FYiYmYy5wdXNoKGRSLld0KTtiPSIiK2I7dmFyIGQ9ZFIuQms7Zm9yKGxldCBlPWIubGVuZ3RoO2U8YS55YTtlKyspYy5wdXNoKGQpO2E9ZC5jb2RlUG9pbnRBdCgwKS15amE7Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKyljLnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQoYStiLmNvZGVQb2ludEF0KGQpKSl9OwpwUj1mdW5jdGlvbihhKXthPWEuY29kZVBvaW50QXQoMCk7aWYoNDg8PWEmJmE8NTgpcmV0dXJuIGEtNDg7dmFyIGI9ZFIuQmsuY29kZVBvaW50QXQoMCk7cmV0dXJuIGI8PWEmJmE8YisxMD9hLWI6LTF9OwpnUj1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPSIiLGU9ITEsZj1iLmxlbmd0aDtjWzBdPGY7Y1swXSsrKXt2YXIgaD1iLmNoYXJBdChjWzBdKTtpZihoPT0iJyIpY1swXSsxPGYmJmIuY2hhckF0KGNbMF0rMSk9PSInIj8oY1swXSsrLGQrPSInIik6ZT0hZTtlbHNlIGlmKGUpZCs9aDtlbHNlIHN3aXRjaChoKXtjYXNlICIjIjpjYXNlICIwIjpjYXNlICIsIjpjYXNlICIuIjpjYXNlICI7IjpyZXR1cm4gZDtjYXNlICJcdTAwYTQiOmNbMF0rMTxmJiZiLmNoYXJBdChjWzBdKzEpPT0iXHUwMGE0Ij8oY1swXSsrLGQrPWRSLlduKTooaD1kUi5XbixkKz1oIGluIHFSP3FSW2hdWzFdOmgpO2JyZWFrO2Nhc2UgIiUiOmlmKCFhLlkmJmEudiE9MSl0aHJvdyBFcnJvcigiVGQiKTtpZihhLlkmJmEudiE9MTAwKXRocm93IEVycm9yKCJVZCIpO2Eudj0xMDA7YS5ZPSExO2QrPWRSLmpvO2JyZWFrO2Nhc2UgIlx1MjAzMCI6aWYoIWEuWSYmYS52IT0xKXRocm93IEVycm9yKCJUZCIpO2lmKGEuWSYmCmEudiE9MUUzKXRocm93IEVycm9yKCJVZCIpO2Eudj0xRTM7YS5ZPSExO2QrPWRSLmtvO2JyZWFrO2RlZmF1bHQ6ZCs9aH19cmV0dXJuIGR9O3RSPWZ1bmN0aW9uKGEsYil7YT1hLm9hPT0xP3JSLlNuOnJSLlZzO2E9PW51bGwmJihhPXJSLlNuKTtpZihiPDMpcmV0dXJuIHNSO2I9TWF0aC5taW4oMTQsYik7dmFyIGM9YVtrUigxLGIpXTtmb3IoLS1iOyFjJiZiPj0zOyljPWFba1IoMSxiKV0sYi0tO2lmKCFjKXJldHVybiBzUjtjPWMub3RoZXI7dmFyIGQ9YT0iIixlPWMuaW5kZXhPZigiOyIpO2U+PTAmJihjPWMuc3Vic3RyaW5nKDAsZSksZT1jLnN1YnN0cmluZyhlKzEpKSYmKGQ9LyhbXjBdKikoMCspKC4qKS8uZXhlYyhlKSxhPWRbMV0sZD1kWzNdKTtyZXR1cm4gYyYmYyE9IjAiPyhjPS8oW14wXSopKDArKSguKikvLmV4ZWMoYykpP3twbDpiKzEtKGNbMl0ubGVuZ3RoLTEpLHdtOmEseG06ZCxwcmVmaXg6Y1sxXSxzdWZmaXg6Y1szXX06c1I6c1J9Owp1Uj1mdW5jdGlvbihhKXtpZighaXNGaW5pdGUoYSkpcmV0dXJuIGE+MD9hOjA7Zm9yKHZhciBiPTA7KGEvPTEwKT49MTspYisrO3JldHVybiBifTtrUj1mdW5jdGlvbihhLGIpe2lmKCFhfHwhaXNGaW5pdGUoYSl8fGI9PTApcmV0dXJuIGE7YT1TdHJpbmcoYSkuc3BsaXQoImUiKTtyZXR1cm4gcGFyc2VGbG9hdChhWzBdKyJlIisocGFyc2VJbnQoYVsxXXx8MCwxMCkrYikpfTt2Uj1mdW5jdGlvbihhLGIpe3JldHVybiBhJiZpc0Zpbml0ZShhKT9rUihNYXRoLnJvdW5kKGtSKGEsYikpLC1iKTphfTtsUj1mdW5jdGlvbihhLGIsYyl7aWYoIWEpcmV0dXJuIGE7Yj1iLXVSKGEpLTE7cmV0dXJuIGI8LWM/dlIoYSwtYyk6dlIoYSxiKX07emphPWZ1bmN0aW9uKGEpe3JldHVybiBhJTEwPT0xJiZhJTEwMCE9MTE/Im9uZSI6YSUxMD09MiYmYSUxMDAhPTEyPyJ0d28iOmElMTA9PTMmJmElMTAwIT0xMz8iZmV3Ijoib3RoZXIifTsKQWphPWZ1bmN0aW9uKGEsYil7dmFyIGM9YXwwO2lmKHZvaWQgMD09PWIpe2I9TWF0aDt2YXIgZD1iLm1pbjtsZXQgZT1hKyIiLGY9ZS5pbmRleE9mKCIuIik7Yj1kLmNhbGwoYixmPT09LTE/MDplLmxlbmd0aC1mLTEsMyl9ZD1NYXRoLnBvdygxMCxiKTthPXtGQjpiLGY6KGEqZHwwKSVkfTtyZXR1cm4gYz09MSYmYS5GQj09MD8ib25lIjoib3RoZXIifTt6Uj1mdW5jdGlvbihhKXt0aGlzLnY9YTt0aGlzLm89dGhpcy5qPXRoaXMuRD1udWxsO2E9ZFI7dmFyIGI9clI7aWYod1IhPT1hfHx4UiE9PWIpd1I9YSx4Uj1iLHlSPW5ldyBoUjt0aGlzLks9eVJ9OwpBUj1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgcD0wO3A8Yi5sZW5ndGg7cCsrKXt2YXIgZj12b2lkIDA7c3dpdGNoKGJbcF0udHlwZSl7Y2FzZSA0OmUucHVzaChiW3BdLnZhbHVlKTticmVhaztjYXNlIDM6Zj1iW3BdLnZhbHVlO3ZhciBoPWEsaz1lLGw9Y1tmXTtsPT09dm9pZCAwP2sucHVzaCgiVW5kZWZpbmVkIHBhcmFtZXRlciAtICIrZik6KGguai5wdXNoKGwpLGsucHVzaChoLkIoaC5qKSkpO2JyZWFrO2Nhc2UgMjpmPWJbcF0udmFsdWU7aD1hO2s9YztsPWQ7dmFyIG09ZSxuPWYuc2k7a1tuXT09PXZvaWQgMD9tLnB1c2goIlVuZGVmaW5lZCBwYXJhbWV0ZXIgLSAiK24pOihuPWZba1tuXV0sbj09PXZvaWQgMCYmKG49Zi5vdGhlciksQVIoaCxuLGssbCxtKSk7YnJlYWs7Y2FzZSAwOmY9YltwXS52YWx1ZTtCUihhLGYsYyxDUixkLGUpO2JyZWFrO2Nhc2UgMTpmPWJbcF0udmFsdWUsQlIoYSxmLGMsQmphLGQsZSl9fX07CkJSPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgaD1iLnNpLGs9Yi5HbyxsPStjW2hdO2lzTmFOKGwpP2YucHVzaCgiVW5kZWZpbmVkIG9yIGludmFsaWQgcGFyYW1ldGVyIC0gIitoKTooaz1sLWssaD1iW2NbaF1dLGg9PT12b2lkIDAmJihkPWQoTWF0aC5hYnMoaykpLGg9YltkXSxoPT09dm9pZCAwJiYoaD1iLm90aGVyKSksYj1bXSxBUihhLGgsYyxlLGIpLGM9Yi5qb2luKCIiKSxlP2YucHVzaChjKTooYT1hLksuZm9ybWF0KGspLGYucHVzaChjLnJlcGxhY2UoLyMvZyxhKSkpKX07RWphPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5ELGQ9YS5CLmJpbmQoYSk7Yj1iLnJlcGxhY2UoQ2phLGZ1bmN0aW9uKCl7Yy5wdXNoKCInIik7cmV0dXJuIGQoYyl9KTtyZXR1cm4gYj1iLnJlcGxhY2UoRGphLGZ1bmN0aW9uKGUsZil7Yy5wdXNoKGYpO3JldHVybiBkKGMpfSl9OwpEUj1mdW5jdGlvbihhKXt2YXIgYj0wLGM9W10sZD1bXSxlPS9be31dL2c7ZS5sYXN0SW5kZXg9MDtmb3IodmFyIGY7Zj1lLmV4ZWMoYSk7KXtsZXQgaD1mLmluZGV4O2ZbMF09PSJ9Ij8oYy5wb3AoKSxjLmxlbmd0aD09MCYmKGY9e3R5cGU6MX0sZi52YWx1ZT1hLnN1YnN0cmluZyhiLGgpLGQucHVzaChmKSxiPWgrMSkpOihjLmxlbmd0aD09MCYmKGI9YS5zdWJzdHJpbmcoYixoKSxiIT0iIiYmZC5wdXNoKHt0eXBlOjAsdmFsdWU6Yn0pLGI9aCsxKSxjLnB1c2goInsiKSl9YT1hLnN1YnN0cmluZyhiKTthIT0iIiYmZC5wdXNoKHt0eXBlOjAsdmFsdWU6YX0pO3JldHVybiBkfTsKSFI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtiPURSKGIpO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7ZSsrKXtsZXQgZj17fTtpZigwPT1iW2VdLnR5cGUpZi50eXBlPTQsZi52YWx1ZT1iW2VdLnZhbHVlO2Vsc2UgaWYoMT09YltlXS50eXBlKXt2YXIgZD1iW2VdLnZhbHVlO3N3aXRjaChFUi50ZXN0KGQpPzA6RlIudGVzdChkKT8xOkdSLnRlc3QoZCk/MjovXlxzKlx3K1xzKi8udGVzdChkKT8zOjUpe2Nhc2UgMjpmLnR5cGU9MjtmLnZhbHVlPUZqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMDpmLnR5cGU9MDtmLnZhbHVlPUdqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMTpmLnR5cGU9MTtmLnZhbHVlPUhqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMzpmLnR5cGU9MyxmLnZhbHVlPWJbZV0udmFsdWV9fWMucHVzaChmKX1yZXR1cm4gY307CkZqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiO2I9Yi5yZXBsYWNlKEdSLGZ1bmN0aW9uKGYsaCl7Yz1oO3JldHVybiIifSk7dmFyIGQ9e307ZC5zaT1jO2I9RFIoYik7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWJbZV0udmFsdWU7ZSsrO2xldCBoOzE9PWJbZV0udHlwZSYmKGg9SFIoYSxiW2VdLnZhbHVlKSk7ZFtmLnJlcGxhY2UoL1xzL2csIiIpXT1oO2UrK31yZXR1cm4gZH07R2phPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiIsZD0wO2I9Yi5yZXBsYWNlKEVSLGZ1bmN0aW9uKGgsayxsKXtjPWs7bCYmKGQ9cGFyc2VJbnQobCwxMCkpO3JldHVybiIifSk7dmFyIGU9e307ZS5zaT1jO2UuR289ZDtiPURSKGIpO2Zvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7KXtsZXQgaD1iW2ZdLnZhbHVlO2YrKztsZXQgazsxPT1iW2ZdLnR5cGUmJihrPUhSKGEsYltmXS52YWx1ZSkpO2VbaC5yZXBsYWNlKC9ccyooPzo9KT8oXHcrKVxzKi8sIiQxIildPWs7ZisrfXJldHVybiBlfTsKSGphPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiI7Yj1iLnJlcGxhY2UoRlIsZnVuY3Rpb24oZixoKXtjPWg7cmV0dXJuIiJ9KTt2YXIgZD17fTtkLnNpPWM7ZC5Hbz0wO2I9RFIoYik7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWJbZV0udmFsdWU7ZSsrO2xldCBoOzE9PWJbZV0udHlwZSYmKGg9SFIoYSxiW2VdLnZhbHVlKSk7ZFtmLnJlcGxhY2UoL1xzKig/Oj0pPyhcdyspXHMqLywiJDEiKV09aDtlKyt9cmV0dXJuIGR9O0lqYT1mdW5jdGlvbihhLGIpe3N3aXRjaChiKXtkZWZhdWx0OmNhc2UgInllYXJzIjpyZXR1cm4gYS5qLllFQVI7Y2FzZSAibW9udGhzIjpyZXR1cm4gYS5qLk1PTlRIO2Nhc2UgIndlZWtzIjpyZXR1cm4gYS5qLldFRUs7Y2FzZSAiZGF5cyI6cmV0dXJuIGEuai5EQVk7Y2FzZSAiaG91cnMiOnJldHVybiBhLmouSE9VUjtjYXNlICJtaW51dGVzIjpyZXR1cm4gYS5qLk1JTlVURTtjYXNlICJzZWNvbmRzIjpyZXR1cm4gYS5qLlNFQ09ORH19OwpJUj1mdW5jdGlvbihhLGIsYyl7YT1JamEoYSxjKTtyZXR1cm4oYT1hLkxPTkchPXZvaWQgMD9hLkxPTkc6YS5OQVJST1chPXZvaWQgMD9hLk5BUlJPVzphLlNIT1JUKT8obmV3IHpSKCJ7RFVSQVRJT05fVkFMVUUscGx1cmFsLCIrYSsifSIpKS5mb3JtYXQoe0RVUkFUSU9OX1ZBTFVFOmJ9KToiIn07SlI9ZnVuY3Rpb24oKXtfLkh6KCk7cmV0dXJuIV8uQ3ooMTQxKSYmXy53KCJBVVRPTkFWX09GRl9CWV9ERUZBVUxUIik/ITE6IV8uQ3ooMTQwKX07SmphPWZ1bmN0aW9uKCl7aWYoIUtSKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGxheWVyLnNrZWxldG9uIik7YSYmKF8uRGQoYSksS1I9ITApfX07TFI9ZnVuY3Rpb24oYSxiLGMsZD0hMSl7Yj1uZXcgS2phKGJ8fGEsY3x8YSk7cmV0dXJue3g6YS54K0xqYShiLGQpKi4yLHk6YS55K01qYShiLGQpKi4yfX07TGphPWZ1bmN0aW9uKGEsYj0hMSl7cmV0dXJuIGI/YS5qKi0xOmEuan07Ck1qYT1mdW5jdGlvbihhLGI9ITEpe3JldHVybiBiP2EubyotMTphLm99O01SPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3ZhciBiPWEuZXJyb3JTY3JlZW4/LnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXI/P2EuZXJyb3JTY3JlZW4/LnlwY1RyYWlsZXJSZW5kZXJlcjtyZXR1cm4hKGEuc3RhdHVzIT09Ik9LIiYmYS5zdGF0dXMhPT0iTElWRV9TVFJFQU1fT0ZGTElORSIpfHwhIWJ9OwpRamE9ZnVuY3Rpb24oe3JlbmRlcmVyOmEsc3Vic2NyaWJlZDpiLGlzT3ZlcmxheTpjLHN0b3BQcm9wYWdhdGlvbjpkfSl7dmFyIGU9TmphKGEsYik7YyYmKGUuc3R5bGU9Im92ZXJsYXkiKTthOnN3aXRjaChhLnN0eWxlPy5zdHlsZVR5cGUpe2Nhc2UgIkNPTVBBQ1RfR1JBWSI6Y2FzZSAiQ09NUEFDVF9SRUQiOmM9e3NpemU6IlMifTticmVhayBhO2RlZmF1bHQ6Yz17c2l6ZToiTSJ9fWM9ey4uLmN9O3ZhciBmPU9qYShhLGIpO3ZhciBoPShoPWI/YS5zdWJzY3JpYmVkQnV0dG9uVGV4dDphLnVuc3Vic2NyaWJlZEJ1dHRvblRleHQpP18uQUYoaCk6dm9pZCAwO3JldHVybnsuLi5lLC4uLmMsZm9jdXNlZDohMSx0b2dnbGVkOmIsYWNjZXNzaWJpbGl0eUxhYmVsOmYsV2E6aCxvblRhcDpQamEoYSxiLGQpfX07ClBqYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1SamEoYSxiKTtpZihlKXtsZXQgZj17c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6YX07Xy5kSyhlLHtmb3JtOntjdXJyZW50RGF0YTpmLHNvdXJjZURhdGE6ZixldmVudDpkfX0pfWMmJmQuc3RvcFByb3BhZ2F0aW9uKCl9fTtSamE9ZnVuY3Rpb24oYSxiKXtpZihhLnNpZ25JbkVuZHBvaW50JiYhXy54KCJ3ZWJfc3Vic2NyaWJlX3NpZ25faW5fZW5kcG9pbnRfa2lsbHN3aXRjaCIpKXJldHVybiBhLnNpZ25JbkVuZHBvaW50O2lmKGIpe2lmKGEuc2VydmljZUVuZHBvaW50cylyZXR1cm4gYS5zZXJ2aWNlRW5kcG9pbnRzWzFdO2lmKGEub25VbnN1YnNjcmliZUVuZHBvaW50cylyZXR1cm4gYS5vblVuc3Vic2NyaWJlRW5kcG9pbnRzWzBdfWVsc2V7aWYoYS5zZXJ2aWNlRW5kcG9pbnRzKXJldHVybiBhLnNlcnZpY2VFbmRwb2ludHNbMF07aWYoYS5vblN1YnNjcmliZUVuZHBvaW50cylyZXR1cm4gYS5vblN1YnNjcmliZUVuZHBvaW50c1swXX19OwpPamE9ZnVuY3Rpb24oYSxiKXtiPWI/YS51bnN1YnNjcmliZUFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbDphLnN1YnNjcmliZUFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbDtyZXR1cm4gYS5sb25nU3Vic2NyaWJlckNvdW50VGV4dD9bYixfLmFOKGEubG9uZ1N1YnNjcmliZXJDb3VudFRleHQpXS5maWx0ZXIoYz0+Yykuam9pbigiICIpOmJ9O05SPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGJ8fGE/LmlzQ2hhbm5lbERlbGVnYXRlPyJkaXNhYmxlZCI6ImFjdGl2ZSJ9OwpOamE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJDT01QQUNUX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTtjYXNlICJNRURJVU1fR1JBWSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6TlIoYSl9O2Nhc2UgIlZJU0lCTFlfRElTQUJMRUQiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6TlIoYSwhMCl9O2Nhc2UgIk9WRVJMQVkiOnJldHVybiBiP3tzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTp7c3R5bGU6Im92ZXJsYXkiLHR5cGU6ImZpbGxlZCIsc3RhdGU6TlIoYSl9O2RlZmF1bHQ6cmV0dXJuIGI/e3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6TlIoYSl9OntzdHlsZToibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZTpOUihhKX19fTsKUFI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ob3Vyc3x8MDt2YXIgYz1hLm1pbnV0ZXN8fDAsZD1hLnNlY29uZHN8fDA7Yj1kK2MqNjArYiozNjAwKyhhLmRheXN8fDApKjg2NDAwKyhhLndlZWtzfHwwKSo2MDQ4MDArKGEubW9udGhzfHwwKSoyNjI5ODAwKyhhLnllYXJzfHwwKSozMTU1NzYwMDtiPD0wP2I9e2hvdXJzOjAsbWludXRlczowLHNlY29uZHM6MH06KGE9YixiPU1hdGguZmxvb3IoYS8zNjAwKSxhJT0zNjAwLGM9TWF0aC5mbG9vcihhLzYwKSxkPU1hdGguZmxvb3IoYSU2MCksYj17aG91cnM6YixtaW51dGVzOmMsc2Vjb25kczpkfSk7dmFyIHtob3VyczplPTAsbWludXRlczpmPTAsc2Vjb25kczpoPTB9PWI7Yj1bXTtpZihlPjApe2M9T1IoKS5mb3JtYXQoe2hvdXJzOmV9KTtpZighImJlIGJnIGVzIGV0IGh1IGl0IGthIGx2IHBsIHB0LVBUIHNsIHNxIi5zcGxpdCgiICIpLmluY2x1ZGVzKFopfHxlPjk5OTkpe2E9Yy5yZXBsYWNlO2Q9ZS50b1N0cmluZygpO3ZhciBrPShuZXcgSW50bC5OdW1iZXJGb3JtYXQoImVuLXUtbnUtbGF0biIpKS5mb3JtYXQoZSk7CnZhciBsPVsiZnIiXTtsZXQgbT0iYXogYnMgY2EgZGEgZGUgZWwgZXMgZXUgZ2wgaHIgaWQgaXMgaXQga20gbG8gbWsgbmwgcHQtQlIgcm8gc2wgc3Igc3ItTGF0biB0ciB2aSIuc3BsaXQoIiAiKTtrPSJhZiBiZSBiZyBjcyBldCBmaSBmci1DQSBodSBoeSBrYSBrayBreSBsdCBsdiBubyBwbCBwdC1QVCBydSBzayBzcSBzdiB1ayB1eiIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKT9rLnJlcGxhY2UoIiwiLCJcdTAwYTAiKTpsLmluY2x1ZGVzKFopP2sucmVwbGFjZSgiLCIsIlx1MjAyZiIpOm0uaW5jbHVkZXMoWik/ay5yZXBsYWNlKCIsIiwiLiIpOms7Yz1hLmNhbGwoYyxkLGspO1o9PT0ia20iJiYoYz1jLnJlcGxhY2UoIi4iLCIsIikpfWIucHVzaChjKX1mPjAmJmIucHVzaChPUigpLmZvcm1hdCh7bWludXRlczpmfSkpOyhoPjB8fGU9PT0wJiZmPT09MCkmJmIucHVzaChPUigpLmZvcm1hdCh7c2Vjb25kczpofSkpO2M9ImJlIGd1IGphIGtrIGttIGtvIG1uIHJ1IHRyIHV6IHpoLUhLIHpoLVRXIi5zcGxpdCgiICIpOwphPVo9PSJhbSI/InswfVx1MTM2MyAiOlo9PSJmYSI/InswfVx1MDYwY1x1MjAwZiAiOlo9PSJteSI/InswfSAtICI6Wj09InRoIj8iezB9ICI6Wj09InVyIj8iezB9XHUwNjBjICI6Wj09ImFyInx8Wj09ImFyLVhCIj8iezB9IFx1MDY0OCI6Wj09ImphInx8Wj09InpoLUNOInx8Wj09InpoLUhLInx8Wj09InpoLVRXIj8iezB9XHUzMDAxIjoiezB9LCAiO2Q9Wj09ImFtIj8iXHUxMzYzICI6Wj09ImZhIj8iXHUwNjBjXHUyMDBmICI6Wj09Im15Ij8iIC0gIjpaPT0idGgiPyIgIjpaPT0idXIiPyJcdTA2MGMgIjpaPT0iYXIifHxaPT0iYXItWEIiPyIgXHUwNjQ4IjpaPT0iamEifHxaPT0iemgtQ04ifHxaPT0iemgtSEsifHxaPT0iemgtVFciPyJcdTMwMDEiOiIsICI7az1aPT0iYW0iPyIgXHUxMmE1XHUxMjkzIHswfSI6Wj09ImFzIj8iIFx1MDk4Nlx1MDlmMFx1MDljMSB7MH0iOlo9PSJheiI/IiB2XHUwMjU5IHswfSI6Wj09ImJuIj8iIFx1MDk4Zlx1MDlhY1x1MDk4MiB7MH0iOlo9PSJjcyI/CiIgYVx1MDBhMHswfSI6Wj09ImRlIj8iIHVuZCB7MH0iOlo9PSJlbCI/IiBcdTAzYmFcdTAzYjFcdTAzYjkgezB9IjpaPT0iZXUiPyIgZXRhIHswfSI6Wj09ImZhIj8iXHUwNjBjIFx1MDY0OCB7MH0iOlo9PSJmaWwiPyIsIGF0IHswfSI6Wj09Imd1Ij8iIFx1MGE4NVx1MGFhOFx1MGFjNyB7MH0iOlo9PSJoaSI/IiwgXHUwOTE0XHUwOTMwIHswfSI6Wj09Imh1Ij8iIFx1MDBlOXMgezB9IjpaPT0iaHkiPyIgXHUwNTg3IHswfSI6Wj09ImlkIj8iLCBkYW4gezB9IjpaPT0iaXciPyIgXHUwNWQ1LXswfSI6Wj09ImphIj8iXHUzMDAxezB9IjpaPT0ia2EiPyIgXHUxMGQzXHUxMGQwIHswfSI6Wj09ImttIj8iIFx1MTc5M1x1MTdiN1x1MTc4NCB7MH0iOlo9PSJrbiI/IiwgXHUwY2FlXHUwY2E0XHUwY2NkXHUwY2E0XHUwY2MxIHswfSI6Wj09ImtvIj8iIFx1YmMwZiB7MH0iOlo9PSJreSI/IiBcdTA0MzZcdTA0MzBcdTA0M2RcdTA0MzAgezB9IjpaPT0ibHQiPyIgaXIgezB9IjpaPT0ibHYiPwoiIHVuIHswfSI6Wj09Im1yIj8iIFx1MDkwNlx1MDkyM1x1MDkzZiB7MH0iOlo9PSJtcyI/IiBkYW4gezB9IjpaPT0ibXkiPyJcdTEwMTRcdTEwM2VcdTEwMDRcdTEwMzdcdTEwM2EgezB9IjpaPT0ibmUiPyIgXHUwOTMwIHswfSI6Wj09Im9yIj8iLCBcdTBiMTMgezB9IjpaPT0icGEiPyIgXHUwYTA1XHUwYTI0XHUwYTQ3IHswfSI6Wj09InJvIj8iIFx1MDIxOWkgezB9IjpaPT0ic2kiPyIsIFx1MGRjM1x1MGRjNCB7MH0iOlo9PSJzayI/IiBhIHswfSI6Wj09InNsIj8iIGluIHswfSI6Wj09InNxIj8iIGRoZSB7MH0iOlo9PSJzdiI/IiBvY2ggezB9IjpaPT0ic3ciPyIgbmEgezB9IjpaPT0idGEiPyIgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIHswfSI6Wj09InRlIj8iIFx1MGMyZVx1MGMzMFx1MGMzZlx1MGMyZlx1MGM0MSB7MH0iOlo9PSJ0aCI/IiBcdTBlNDFcdTBlMjVcdTBlMzB7MH0iOlo9PSJ0ciI/IiB2ZSB7MH0iOlo9PSJ1ciI/Ilx1MDYwYyBcdTA2MjdcdTA2NDhcdTA2MzEgezB9IjoKWj09InV6Ij8iIHZhIHswfSI6Wj09InZpIj8iIHZcdTAwZTAgezB9IjpaPT0iemgtSEsiPyJcdTUzY2F7MH0iOlo9PSJ6dSI/IiwgbmUtezB9IjpaPT0iYWYifHxaPT0ibmwiPyIgZW4gezB9IjpaPT0iYXIifHxaPT0iYXItWEIiPyIgXHUwNjQ4ezB9IjpaPT0iYmUifHxaPT0idWsiPyIgXHUwNDU2IHswfSI6Wj09ImVuLUdCInx8Wj09ImVuLUlOIj8iIGFuZCB7MH0iOlo9PSJlbiJ8fFo9PSJlbi1YQSI/IiwgYW5kIHswfSI6Wj09ImV0Inx8Wj09ImZpIj8iIGphIHswfSI6Wj09ImZyInx8Wj09ImZyLUNBIj8iIGV0IHswfSI6Wj09InpoLUNOInx8Wj09InpoLVRXIj8iXHU1NDhjezB9IjpaPT0iZGEifHxaPT0iaXMifHxaPT0ibm8iPyIgb2cgezB9IjpaPT0iZXMifHxaPT0iZXMtNDE5Inx8Wj09ImVzLVVTIj8iIHkgezB9IjpaPT0iYmcifHxaPT0ibWsifHxaPT0icnUifHxaPT0ic3IiPyIgXHUwNDM4IHswfSI6Wj09ImdsInx8Wj09Iml0Inx8Wj09InB0LUJSInx8Wj09InB0LVBUIj8iIGUgezB9IjoKWj09ImtrInx8Wj09ImxvInx8Wj09Im1sInx8Wj09Im1uIj8iLCB7MH0iOiIgaSB7MH0iO2w9Wj09ImFtIj8iezB9IFx1MTJhNVx1MTI5MyB7MX0iOlo9PSJhcyI/InswfSBcdTA5ODZcdTA5ZjBcdTA5YzEgezF9IjpaPT0iYXoiPyJ7MH0gdlx1MDI1OSB7MX0iOlo9PSJibiI/InswfSBcdTA5OGZcdTA5YWNcdTA5ODIgezF9IjpaPT0iZGUiPyJ7MH0gdW5kIHsxfSI6Wj09ImVsIj8iezB9IFx1MDNiYVx1MDNiMVx1MDNiOSB7MX0iOlo9PSJldSI/InswfSBldGEgezF9IjpaPT0iZmEiPyJ7MH0gXHUwNjQ4IHsxfSI6Wj09ImZpbCI/InswfSBhdCB7MX0iOlo9PSJndSI/InswfSBcdTBhODVcdTBhYThcdTBhYzcgezF9IjpaPT0iaGkiPyJ7MH0gXHUwOTE0XHUwOTMwIHsxfSI6Wj09Imh1Ij8iezB9IFx1MDBlOXMgezF9IjpaPT0iaHkiPyJ7MH0gXHUwNTg3IHsxfSI6Wj09Iml3Ij8iezB9IFx1MDVkNS17MX0iOlo9PSJqYSI/InswfVx1MzAwMXsxfSI6Wj09ImthIj8iezB9IFx1MTBkM1x1MTBkMCB7MX0iOgpaPT0ia2siPyJ7MH0gXHUwNDM2XHUwNGQ5XHUwNDNkXHUwNDM1IHsxfSI6Wj09ImttIj8iezB9IFx1MTc5M1x1MTdiN1x1MTc4NFx1MjAwYnsxfSI6Wj09ImtuIj8iezB9IFx1MGNhZVx1MGNhNFx1MGNjZFx1MGNhNFx1MGNjMSB7MX0iOlo9PSJrbyI/InswfSBcdWJjMGYgezF9IjpaPT0ia3kiPyJ7MH0gXHUwNDM2XHUwNDMwXHUwNDNkXHUwNDMwIHsxfSI6Wj09ImxvIj8iezB9IFx1MGVjMVx1MGVhNVx1MGViMCB7MX0iOlo9PSJsdCI/InswfSBpciB7MX0iOlo9PSJsdiI/InswfSB1biB7MX0iOlo9PSJtciI/InswfSBcdTA5MDZcdTA5MjNcdTA5M2YgezF9IjpaPT0ibXkiPyJ7MH1cdTEwMTRcdTEwM2VcdTEwMDRcdTEwMzdcdTEwM2EgezF9IjpaPT0ibmUiPyJ7MH0gXHUwOTMwIHsxfSI6Wj09Im9yIj8iezB9IFx1MGIxMyB7MX0iOlo9PSJwYSI/InswfSBcdTBhMDVcdTBhMjRcdTBhNDcgezF9IjpaPT0icm8iPyJ7MH0gXHUwMjE5aSB7MX0iOlo9PSJzaSI/InswfSBcdTBkYzNcdTBkYzQgezF9IjoKWj09InNsIj8iezB9IGluIHsxfSI6Wj09InNxIj8iezB9IGRoZSB7MX0iOlo9PSJzdiI/InswfSBvY2ggezF9IjpaPT0ic3ciPyJ7MH0gbmEgezF9IjpaPT0idGEiPyJ7MH0gXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIHsxfSI6Wj09InRlIj8iezB9IFx1MGMyZVx1MGMzMFx1MGMzZlx1MGMyZlx1MGM0MSB7MX0iOlo9PSJ0aCI/InswfVx1MGU0MVx1MGUyNVx1MGUzMHsxfSI6Wj09InRyIj8iezB9IHZlIHsxfSI6Wj09InVyIj8iezB9IFx1MDYyN1x1MDY0OFx1MDYzMSB7MX0iOlo9PSJ1eiI/InswfSB2YSB7MX0iOlo9PSJ2aSI/InswfSB2XHUwMGUwIHsxfSI6Wj09InpoLUhLIj8iezB9XHU1M2NhezF9IjpaPT0ienUiPyJ7MH0gbmUtezF9IjpaPT0iYWYifHxaPT0ibmwiPyJ7MH0gZW4gezF9IjpaPT0iYXIifHxaPT0iYXItWEIiPyJ7MH0gXHUwNjQ4ezF9IjpaPT0iYmUifHxaPT0idWsiPyJ7MH0gXHUwNDU2IHsxfSI6Wj09ImNzInx8Wj09InNrIj8iezB9IGFcdTAwYTB7MX0iOgpaPT0iZXQifHxaPT0iZmkiPyJ7MH0gamEgezF9IjpaPT0iZnIifHxaPT0iZnItQ0EiPyJ7MH0gZXQgezF9IjpaPT0iaWQifHxaPT0ibXMiPyJ7MH0gZGFuIHsxfSI6Wj09Im1sInx8Wj09Im1uIj8iezB9LCB7MX0iOlo9PSJ6aC1DTiJ8fFo9PSJ6aC1UVyI/InswfVx1NTQ4Y3sxfSI6Wj09ImRhInx8Wj09ImlzInx8Wj09Im5vIj8iezB9IG9nIHsxfSI6Wj09ImVzInx8Wj09ImVzLTQxOSJ8fFo9PSJlcy1VUyI/InswfSB5IHsxfSI6Wj09ImJnInx8Wj09Im1rInx8Wj09InJ1Inx8Wj09InNyIj8iezB9IFx1MDQzOCB7MX0iOlo9PSJlbiJ8fFo9PSJlbi1HQiJ8fFo9PSJlbi1JTiJ8fFo9PSJlbi1YQSI/InswfSBhbmQgezF9IjpaPT0iZ2wifHxaPT0iaXQifHxaPT0icHQtQlIifHxaPT0icHQtUFQiPyJ7MH0gZSB7MX0iOiJ7MH0gaSB7MX0iO1o9PT0ic3EiPyhrPWsucmVwbGFjZSgiZGhlIiwiZSIpLGw9bC5yZXBsYWNlKCJkaGUiLCJlIikpOlo9PT0idGgiPyhkPWQucmVwbGFjZSgiezB9IiwKIiB7MH0iKSxsPWwucmVwbGFjZSgiezB9IiwiezB9ICIpLGw9bC5yZXBsYWNlKCJ7MX0iLCIgezF9IikpOlo9PT0ibmUiP2Q9IiwiOlo9PT0iemgtQ04iP2Q9IiI6Yy5pbmNsdWRlcyhaKSYmKGQ9IiAiKTtyZXR1cm4gYi5sZW5ndGg8Mj9iLmpvaW4oIiIpOiJhbSBhciBiZyBicyBjYSBjcyBkYSBlcyBlcy00MTkgZXMtVVMgZXUgZmEgZmkgZnItQ0EgZnIgZ2wgZ3UgaGkgaHIgaHUgaHkgaXMgaXQgbHQgbHYgbWsgbXkgbm8gbmwgcGwgcHQtQlIgcHQtUFQgcm8gc2kgc2wgc3Egc3ItTGF0biBzciBzdyB0aCB1ayIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKT9iLmxlbmd0aD09PTI/bC5yZXBsYWNlKCJ7MH0iLGJbMF0pLnJlcGxhY2UoInsxfSIsYlsxXSk6YS5yZXBsYWNlKCJ7MH0iLGJbMF0pK2Iuc2xpY2UoMSwtMSkuam9pbihkKStrLnJlcGxhY2UoInswfSIsYltiLmxlbmd0aC0xXSk6Yi5qb2luKGQpfTtPUj1mdW5jdGlvbigpe1FSfHwoQ1I9U2phLFFSPW5ldyBUamEpO3JldHVybiBRUn07ClVqYT1mdW5jdGlvbigpe0pRKCkoe3RxOiEwfSk7SlEoKSh7dHE6ITF9KX07V2phPWZ1bmN0aW9uKGEpe3ZhciBiPV8uV0QoKCk9PmEuZ2V0RGVidWdUZXh0KCEwKSk7YiYmXy55KCkucmVzb2x2ZShfLnlQKS5vcGVuRGlhbG9nKHtVbjooKT0+Xy5LKFZqYSx7ZnY6Yn0pfSl9O1JSPWZ1bmN0aW9uKGEsYil7aWYoYilhPWEuZ2V0VmlkZW9VcmwoKTtlbHNle2E9YS5nZXRQbGF5ZXJSZXNwb25zZSgpLnZpZGVvRGV0YWlscz8udmlkZW9JZDtpZighYSlyZXR1cm47YT1gaHR0cHM6Ly95b3V0dS5iZS8ke2F9YH1hJiZ3aW5kb3cubmF2aWdhdG9yPy5jbGlwYm9hcmQmJndpbmRvdy5uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChhKX07ClhqYT1mdW5jdGlvbihhLGIsYyxkKXtfLnlOKHtHYjooKT0+Xy5LKF8uSUIsbnVsbCxTUihhLGIpLF8uSyhfLk8se0E6KCk9PmQmJmMsdGhlbjooKT0+Xy5LKFRSLHtIOmEsdGE6Y30pfSksXy5LKFVSLHtIOmF9KSxfLksoVlIse0g6YX0pLF8uSyhXUix7SDphfSksXy5LKFlSLHtIOmF9KSxfLksoWlIse0g6YX0pLF8uSygkUix7SDphfSksXy5LKGFTLHtIOmF9KSxfLksoYlMse0g6YX0pKSxIYTohMH0pfTtTUj1mdW5jdGlvbihhLGIpe3JldHVybiBfLksoXy5PLHtBOigpPT5fLnRQKCksdGhlbjooKT0+Xy5LKF8uTlAsbnVsbCksVzooKT0+Xy5LKF8uTyx7QTooKT0+IWIsdGhlbjooKT0+Xy5LKGNTLHtIOmF9KX0pfSl9O2RTPWZ1bmN0aW9uKGEsYil7Xy55Tih7R2I6YixIYTohMH0pO2Euc3RvcFByb3BhZ2F0aW9uKCl9O2VTPWZ1bmN0aW9uKGEpe2E9YS5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7cmV0dXJuIGFbYS5sZW5ndGgtMV0+Mn07ZlM9ZnVuY3Rpb24oYSl7cmV0dXJue2J1dHRvblZpZXdNb2RlbDp7YWNjZXNzaWJpbGl0eVRleHQ6YX19fTsKZ1M9ZnVuY3Rpb24oYSxiKXtiPWE9PT0xMDA/WWphOmE9PT1iP1pqYTp2b2lkIDA7cmV0dXJue3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWw6e3BsYXliYWNrU3BlZWRCdXR0b246e2J1dHRvblZpZXdNb2RlbDp7dGl0bGU6YCR7YS8xMDB9eGAsc3R5bGU6IkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk8iLHR5cGU6IkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVE9OQUwiLGJ1dHRvblNpemU6IkJVVFRPTl9WSUVXX01PREVMX1NJWkVfQ09NUEFDVCIsaWNvblRyYWlsaW5nOiEwfX0sYnV0dG9uTGFiZWw6e2NvbnRlbnQ6Yn0scGxheWJhY2tTcGVlZEJ1dHRvbkNlbnRpVmFsdWU6YX19fTsKZGthPWZ1bmN0aW9uKGEpe2lmKGE/LmlzUmVhZHk/LigpKXt2YXIgYj1hLmdldFBsYXliYWNrUmF0ZSgpO2lmKGIpe2hTfHwoaFM9Xy54TSgpKTt2YXIgYz1lUyhhKT8kamE6YWthO2lmKCFoUz8uZ2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIil8fGIhPT0xKXJldHVybiBjLm1hcChlPT5nUyhlKSk7dmFyIGQ9TnVtYmVyKGhTLmdldCgicmVjZW50LWN1c3RvbS1zcGVlZCIpKTtpZihjLmluY2x1ZGVzKGQpKXJldHVybiBjLm1hcChlPT5nUyhlLGQpKTthPWVTKGEpP2JrYS5zbGljZSgpOmNrYS5zbGljZSgpO2EucHVzaChkKTthLnNvcnQoKGUsZik9PmUtZik7cmV0dXJuIGEubWFwKGU9PmdTKGUsZCkpfX19Owppa2E9ZnVuY3Rpb24oYSl7aWYoYT8uaXNSZWFkeT8uKCkpe3ZhciBiPWEuZ2V0UGxheWJhY2tSYXRlKCksYz1hLmdldEF2YWlsYWJsZVBsYXliYWNrUmF0ZXMoKTtpZihiJiZjKXt2YXIgZD1jW2MubGVuZ3RoLTFdKjEwMDtjPWNbMF0qMTAwO2I9e2hvcml6b250YWxTbGlkZXJWaWV3TW9kZWw6e21heFZhbHVlOmQsbWluVmFsdWU6Yyxpbml0aWFsVmFsdWU6YioxMDAsc3RlcENvdW50OihkLWMpLzUsdmFsdWVEZW5vbWluYXRvcjoxMDAsaW5jcmVhc2VCdXR0b246ZlMoZWthKSxkZWNyZWFzZUJ1dHRvbjpmUyhma2EpLHJlbmRlcmVyQ29udGV4dDp7YWNjZXNzaWJpbGl0eUNvbnRleHQ6e2xhYmVsOmdrYX19fX07YT1ka2EoYSk7cmV0dXJue3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsOntzbGlkZXI6YixwbGF5YmFja1NwZWVkQnV0dG9uczphLGJhZGdlOntiYWRnZVZpZXdNb2RlbDp7YmFkZ2VUZXh0OiJQIixiYWRnZVN0eWxlOiJCQURHRV9QUkVNSVVNIixhY2Nlc3NpYmlsaXR5TGFiZWw6aGthfX19fX19fTsKaVM9ZnVuY3Rpb24oYSl7aFN8fChoUz1fLnhNKCkpO2hTJiZoUy5zZXQoInJlY2VudC1jdXN0b20tc3BlZWQiLFN0cmluZyhhKjEwMCkpfTtra2E9ZnVuY3Rpb24oYSl7dmFyIGI9aWthKGEpLGM9Xy5CKGIsamthKTtjJiZfLnlOKHtIYTohMCxwZjohMCxHYjooKT0+Xy5LKF8ua08se2RhdGE6YyxwejpkPT57YS5zZXRQbGF5YmFja1JhdGUoZC50YXJnZXQudmFsdWVBc051bWJlcil9LG96OmQ9PntpUyhkLnRhcmdldC52YWx1ZUFzTnVtYmVyKX0scXo6ZD0+e2Euc2V0UGxheWJhY2tSYXRlKGQpO2QhPT0xJiZpUyhkKTtfLnpOKCl9fSl9KX07alM9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9bGthW2FdKT9gJHthfXBgOm1rYX07a1M9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLldEKCgpPT5hLmdldFBsYXliYWNrUXVhbGl0eSgpKSxkPV8uV0QoKCk9PmEuZ2V0UHJlZmVycmVkUXVhbGl0eSgpKSxlPWpTKGIpO2I9PT0iYXV0byImJmQ9PT0iYXV0byImJihlKz1gICgke2pTKGMpfSlgKTtyZXR1cm4gZX07Cm9rYT1mdW5jdGlvbihhKXtfLnlOKHtHYjooKT0+Xy5LKG5rYSx7SDphfSksSGE6ITB9KX07cFM9ZnVuY3Rpb24oYSxiLGMsZCxlKXtkUyhhLCgpPT5fLksoXy5JQixudWxsLF8uSyhsUyx7SDpifSksXy5LKG1TLHtIOmJ9KSxfLksocGthLHtIOmJ9KSxfLksoXy5PLHtBOigpPT5iLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk/Lmxlbmd0aCx0aGVuOigpPT5fLksoblMse0g6Yn0pfSksXy5LKG9TLHtIOmIsb2g6Yyx0YTpkLHRBOmV9KSkpfTtxa2E9ZnVuY3Rpb24oYSxiLGMpe2RTKGEsKCk9Pl8uSyhfLklCLG51bGwsU1IoYixjKSkpfTsKcmthPWZ1bmN0aW9uKGEpe18ublAoKTtpZihhLnhjKWlmKGEuY2FwdGlvbnNFbmFibGVkKXFTKF8uJE4uU3MpO2Vsc2V7dmFyIGI9YS5IO2lmKGIpe2lmKGE9UFEoYiksYj1OUShiKSliOntpZihiLnRyYW5zbGF0aW9uTGFuZ3VhZ2UmJihhPWIudHJhbnNsYXRpb25MYW5ndWFnZT9iLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8IiI6IiIpKWJyZWFrIGI7YT1iLmRpc3BsYXlOYW1lfX1lbHNlIGE9IiI7cVMoYT9fLiROLlVzLnJlcGxhY2UoImxhbmd1YWdlX3BsYWNlaG9sZGVyIixhKTpfLiROLlRzKX1lbHNlIHFTKF8uJE4uUnMpfTtxUz1mdW5jdGlvbihhKXtfLnBQKCgpPT5hKX07c2thPWZ1bmN0aW9uKGEsYil7dmFyIGM9clMoYSk7YT1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKTthPXsuLi5zUyhhKSxFZTohMH07cmV0dXJue3RhOmMsYmE6YSxUYzpkb2N1bWVudC5ib2R5LEdjOmJ9fTsKdGthPWZ1bmN0aW9uKGEsYil7dmFyIGM9amphKCksZD17Li4uclMoYSksU2o6Zj0+e3ZhciBoPSF0UygpLGs9YS5pc1JlYWR5Py4oKSYmISFhLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmF1dG9wbGF5O3BTKGYsYSxoLGQsayl9LGRlOigpPT57dmFyIGY9Yz8uZ2V0KCJhdXRvbmF2X2VuYWJsZWQiKTtyZXR1cm4gZj09PXZvaWQgMHx8Zj09PSJ0cnVlIn0sUmo6KGYsaCk9PntoJiZjPy5zZXQoImF1dG9uYXZfZW5hYmxlZCIsU3RyaW5nKGYpKX0sVWw6KCk9PmM/LmdldCgiYXV0b25hdl9lbmFibGVkIikhPT12b2lkIDB9LGU9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7ZT17Li4uc1MoZSksdnY6MzUwLHp2OiEwLE1sOjRFMyxoaWRlVmlkZW9JbmZvOmUuaGlkZUluZm99O3JldHVybnt0YTpkLGJhOmUsVGM6ZG9jdW1lbnQuYm9keSxHYzpifX07CnJTPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLGM9Z2phLGQ9VFEsZT1TUTtpZihiPy5lbWJlZHNIb3N0RmxhZ3M/LmFsbG93U2V0RmF1eEZ1bGxzY3JlZW4mJmI/LmV4dGVybmFsRnVsbHNjcmVlbil7bGV0IGY9bmV3IHVrYShhKTtjPSgpPT5mLmlzRnVsbHNjcmVlbigpO2Q9KCk9PntmLnRvZ2dsZUZ1bGxzY3JlZW4oKX07ZT0oKT0+e2YuZXhpdEZ1bGxzY3JlZW4oKX19cmV0dXJue1NqOmY9Pnt2YXIgaD0hdFMoKTthPy5nZXRTaXplKCk/LndpZHRoPDMyMD9xa2EoZixhLGgpOnBTKGYsYSxoKX0scUE6cmthLGlzRnVsbHNjcmVlbjpjLHRvZ2dsZUZ1bGxzY3JlZW46ZCxleGl0RnVsbHNjcmVlbjplLGRlOigpPT4hMSxSajooKT0+e30sVWw6KCk9PiExfX07CnNTPWZ1bmN0aW9uKGEpe3JldHVybntFZTohMCxNaTohMCxNbDpfLngoImVtYmVkc19lbmFibGVfZGVsYXlfY29udHJvbHNfaGlkZSIpPzRFMzp2b2lkIDAsaXE6YS5kaXNhYmxlRnVsbHNjcmVlbixuaDphLmNvbnRyb2xzVHlwZT09PTAsb2g6IXRTKCksaGlkZVZpZGVvSW5mbzphLmhpZGVJbmZvJiZhLmVtYmVkc0hvc3RGbGFncz8ub3B0T3V0QXBpRGVwcmVjYXRpb24sdWo6ITAsRHo6IV8ueCgiZW1iZWRzX2VtYzNkc19wcmVzZXJ2ZV9mdWxsc2NyZWVuX2tzIiksenI6ITAsckE6ITAsWmg6ITAsdm46ITAsWkE6IV8ueCgiZW1iZWRzX2VtYzNkc19mdGxfa3MiKSx2b2x1bWVDb250cm9sVHlwZTpfLngoImVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyIikmJndpbmRvdy5tYXRjaE1lZGlhKCIoYW55LXBvaW50ZXI6IGZpbmUpIikubWF0Y2hlcz8idm9sdW1lLXNsaWRlciI6Im11dGUtYnV0dG9uIn19Owp0Uz1mdW5jdGlvbigpe3JldHVybiBfLnRQKCl8fF8ucXooKSYmIV8udygiUExBWUVSX1ZBUlMiKT8ucHJpdmVtYmVkJiYhKF8uZXImJl8uTWsoInZlcnNpb24vIikpJiYhXy5yeigpfTt1Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS5wbGF5ZXJTdGF0ZT09PTB9O3dTPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpZGVvRHVyYXRpb24/dlMoYSk/RFEoYS5DYS9hLnZpZGVvRHVyYXRpb24sMCwxKTpEUSgoYS52YXx8MCkvYS52aWRlb0R1cmF0aW9uLDAsMSk6MH07eFM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudmlkZW9EdXJhdGlvbj9hLmlzRHJhZ2dpbmd8fHZTKGEpP0RRKGEuQ2EvYS52aWRlb0R1cmF0aW9uLDAsMSk6RFEoKGEudmF8fDApL2EudmlkZW9EdXJhdGlvbiwwLDEpOjB9O3ZTPWZ1bmN0aW9uKGEpe3JldHVybiBhLktiPjEmJmEuSmQhPT0wfTsKeVM9ZnVuY3Rpb24oYSl7cmV0dXJuKF8ueCgid2ViX2VuYWJsZV9kaWJzX2ltcGxlbWVudGF0aW9uIil8fF8ueCgibXdlYl9lbmFibGVfZGlic19pbXBsZW1lbnRhdGlvbiIpKSYmYS5IPy5nZXRWaWRlb0RhdGEoYS5wbGF5ZXJUeXBlKT8uaXNTZWVrYWJsZXx8YS5wbGF5ZXJUeXBlPT09MT8hMTphLmJhPy5aaD8hYS5IPy5nZXRQbGF5ZXJTdGF0ZU9iamVjdChhLnBsYXllclR5cGUpLmlzRG9tUGF1c2VkOiEwfTt6Uz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/LmF1dG9uYXZUb2dnbGUsdmthKX07QVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/LmNvbnRlbnRzPy5zaW5nbGVDb2x1bW5XYXRjaE5leHRSZXN1bHRzPy5hdXRvcGxheT8uYXV0b3BsYXl9O0JTPWZ1bmN0aW9uKGEpe3JldHVybiBhPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXJ9OwpFUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKENTKGEpPy5wbGF5ZXJCYXIsRFMpfTtGUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/Lm1hcmtlcnNNYXA/LmZpbmQoYj0+Yi5rZXk9PT0iSEVBVFNFRUtFUiIpPy52YWx1ZT8uaGVhdG1hcCx3a2EpfTtDUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/LmRlY29yYXRlZFBsYXllckJhclJlbmRlcmVyLHhrYSl9O0dTPWZ1bmN0aW9uKGEpe3JldHVybiBfLkIoQ1MoYSk/LnBsYXloZWFkLHlrYSl9O3prYT1mdW5jdGlvbihhKXtyZXR1cm4hIWE/Lm1hcmtlcnNNYXA/LmZpbmQoYj0+WyJERVNDUklQVElPTl9DSEFQVEVSUyIsIkFVVE9fQ0hBUFRFUlMiXS5pbmNsdWRlcyhiLmtleSkpfTtKUz1mdW5jdGlvbihhLGIpe3JldHVybiBIUyhhLGIpfHxJUyhhKT8hMTohYS5pc0RyYWdnaW5nJiYhdlMoYSkmJiFhLnNiJiZhLkxmIT09Im9uIn07CkhTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIWEuYXV0b25hdkVuYWJsZWR8fGEueGZ8fCFifHxhLnJjfHxhLmlzUGxheWxpc3QmJmI/LnNldHM/LlswXS5hdXRvcGxheVZpZGVvPyExOnVTKGEpfTtDa2E9ZnVuY3Rpb24oYSxiKXtiPWI/LmFjdGlvbkJhckJ1dHRvbnM7cmV0dXJuIF8uQihfLkIoYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZnVsbHNjcmVlbkVuZ2FnZW1lbnQsQWthKT8uYWN0aW9uQmFyLEJrYSk/LmFjdGlvbkJhckJ1dHRvbnN8fGJ8fFtdfTtMUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKF8uQihhPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5mdWxsc2NyZWVuUXVpY2tBY3Rpb25zQmFyLEtTKT8uZnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50LERrYSl9OwpNUz1mdW5jdGlvbihhKXtyZXR1cm4gYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0c3x8W119O05TPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE/YS52aWRlb0RldGFpbHM/LmVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyOl8uQihiPy52aWRlb0RldGFpbHMsRWthKX07UFM9ZnVuY3Rpb24oYSxiKXtiPV8uQihiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uaW5mb1BhbmVsLE9TKTtyZXR1cm4gXy5CKGE/LmluZm9QYW5lbCxPUyl8fGJ9O0lTPWZ1bmN0aW9uKGEpe3JldHVybiBhLk5hPyEwOmEuSmYhPT0wfTsKRmthPWZ1bmN0aW9uKHtlbGVtZW50OmEsdmVUeXBlOmIsTEE6Yz1udWxsLGVsZW1lbnRJbmRleDpkPTAsY2xpZW50WW91VHViZURhdGE6ZX0pe3ZhciBmPV8uaXEoKTtmIT09UVMmJihSUy5jbGVhcigpLFFTPWYpO2lmKGEudmlzdWFsRWxlbWVudCYmUlMuaGFzKGEudmlzdWFsRWxlbWVudCkpcmV0dXJuIG51bGw7aWYoYyYmUlMuaGFzKGMpKXJldHVybiBhLnZpc3VhbEVsZW1lbnQ9YyxudWxsO2I9Xy5FeChfLmh4KCkse3ZlVHlwZTpiLGVsZW1lbnRJbmRleDpkLGNsaWVudFlvdVR1YmVEYXRhOmV9KTtpZighYilyZXR1cm4gbnVsbDthLnZpc3VhbEVsZW1lbnQ9YjtSUy5hZGQoYik7cmV0dXJuIGJ9OwpTUz1mdW5jdGlvbihhLGIsYz1udWxsLGQ9Xy5OTixlPW51bGwsZixoKXt2YXIgaz0oKT0+e2lmKGIpe2MgaW5zdGFuY2VvZiBGdW5jdGlvbiYmKGM9YygpKTt2YXIgbD1Ga2Eoe2VsZW1lbnQ6Yix2ZVR5cGU6YSxMQTpjLGNsaWVudFlvdVR1YmVEYXRhOmZ9KTtsJiYoXy5KeChiLHtkYXRhOmUsb2JzZXJ2ZXI6Xy55KCkucmVzb2x2ZShfLkx4KSxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6Yi5sYXllcn0pLGQobCkpfX07aD9rKCk6Xy5PRSgoKT0+e2soKX0pfTtHa2E9ZnVuY3Rpb24oYSl7U1MoMTEyMzk0LGEsKCk9PlRTLGI9PntUUz1ifSl9OwpVUz1mdW5jdGlvbihhKXt2YXIgYj1UUyxjPV8uaXEoMCk7aWYoYyYmYil7dmFyIGQ9TWF0aC5yb3VuZChhLnZhKjFFMyk7YT1NYXRoLnJvdW5kKGEuQ2EqMUUzKTtkPjIqKjMxLTF8fGE+MioqMzEtMXx8Xy5WaShfLmV4KSh2b2lkIDAsYyxiLCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIix7c2Vla0RhdGE6e3N0YXJ0TWVkaWFUaW1lTXM6U3RyaW5nKGQpLGVuZE1lZGlhVGltZU1zOlN0cmluZyhhKSxzZWVrU291cmNlOiJTRUVLX1NPVVJDRV9TTElERV9PTl9TQ1JVQkJFUl9CQVIifX0sdm9pZCAwKX19O1dTPWZ1bmN0aW9uKGEsYixjKXtTUyhiLGEsKCk9PlZTW2JdLGQ9PntWU1tiXT1kO18uSk8oZCl9LHZvaWQgMCx2b2lkIDAsYyl9O1hTPWZ1bmN0aW9uKGEpeyhhPVZTW2FdKSYmXy53SihfLmh4KCksYSl9O0hrYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZ3KDApLGM9Xy5pcSgwKTtjJiZiJiZhJiZfLlZpKF8uYngpKHZvaWQgMCxjLGIsYSl9OwpZUz1mdW5jdGlvbihhKXt2YXIgYj1fLmlxKDApO2ImJmEmJl8ueUooYixhKX07WlM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5pcSgwKTtiJiZhJiZfLlZpKF8uQU8pKHZvaWQgMCxiLGEsdm9pZCAwLHZvaWQgMCx2b2lkIDApfTskUz1mdW5jdGlvbihhLGIpe2lmKCFhLmJhPy5aaHx8IWEuSClyZXR1cm4hMTthPWEuSC5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO3JldHVybiBhLmlzRXJyb3J8fGImJiFNUihiKT8hMTphLmlzQ3VlZHx8YS5pc0RvbVBhdXNlZH07Y1Q9ZnVuY3Rpb24oYSxiKXthVCYmIWI/LkljfHxhLnBsYXllclN0YXRlPT09Mnx8YS5wbGF5ZXJTdGF0ZT09PS0xfHx1UyhhKXx8YS5wbGF5ZXJTdGF0ZT09PTV8fChiPy5JYyYmYlQoKSxhVD1zZXRUaW1lb3V0KCgpPT57YS5TKHtlYTohMX0pfSxhLmJhPy5NbD8/MkUzKSl9O2JUPWZ1bmN0aW9uKCl7YVQmJihjbGVhclRpbWVvdXQoYVQpLGFUPXZvaWQgMCl9O0lrYT1mdW5jdGlvbihhKXthVD1hfTsKZFQ9ZnVuY3Rpb24oYSl7cmV0dXJue2lzTGl2ZTohMSxpc0xpdmVEdnJFbmFibGVkOiEwLGlzUGxheWxpc3Q6ITEscGxheWVyVHlwZToxLHlxOiExLHZpZGVvSWQ6dm9pZCAwLGNhcHRpb25zRW5hYmxlZDohMSx4YzohMSx2b2x1bWU6MCxyYzohMCxKZjowLFJ4OiExLHNiOiExLFdkOiExLE5hOiExLGlzRnVsbHNjcmVlbjohMSxLYjowLHloOjAsSmQ6MCx4ZjohMSxhdXRvbmF2RW5hYmxlZDohMSx6ZjohMSx5ZjowLFloOiExLGlzRHJhZ2dpbmc6ITEsQ2E6MCxRYzohMSxkajowLFFtOjAscGxheWVyU3RhdGU6YT8uZ2V0UGxheWVyU3RhdGUoKT8/LTEsdmlkZW9EdXJhdGlvbjowLHZhOjAsT246ITEsamU6dm9pZCAwLHBsYXliYWNrUmF0ZToxLGVhOiExLHliOiExLGdlOiExLExmOiJvZmYiLFpyOjAsTHA6MCxZdjowfX07SmthPWZ1bmN0aW9uKGEpe2FUJiZiVCgpO0lrYShzZXRUaW1lb3V0KCgpPT57YS5TKHtlYTohMSx5YjohMX0pfSwyRTMpKX07CktrYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSD8uZ2V0UGxheWVyU3RhdGUoKTshY3x8Yz09PWIucGxheWVyU3RhdGV8fGMhPT0xJiZjIT09Mnx8KGMmJihjPT09Mj9iLmVhPyhiLlMoe3liOiExfSksYlQoKSk6Yi5TKHtlYTohMCx5YjohMX0pOmM9PT0xJiZiLmVhJiYhYi5pc0RyYWdnaW5nJiYoYi55Yj9Ka2EoYik6Yi5TKHtlYTohMSx5YjohMX0pKSksYi5TKHtwbGF5ZXJTdGF0ZTpjfSkpfX07TGthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpLGQ9Yy5ILGU9ZD8uZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQ7ZSE9PWMudmlkZW9JZCYmYj8udHlwZT09PSJuZXdkYXRhIiYmKGI9ZD8uZ2V0RHVyYXRpb24oYj8ucGxheWVydHlwZSksYlQoKSxjLlMoe3ZpZGVvRHVyYXRpb246Yix2YTowLHZpZGVvSWQ6ZSxlYTohMSx5YjohMX0pKX19OwpNa2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hKCksZD1jLkg7aWYoZCl7dmFyIGU9ZC5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpO18ueCgid2ViX3Nob3J0c191c2VfcHJvZ3Jlc3Nfc3RhdGVfZm9yX2dhcGxlc3MiKT8oZD1kLmdldFByb2dyZXNzU3RhdGUoZSksZD1kLnNlZWthYmxlRW5kLWQuc2Vla2FibGVTdGFydCk6ZD1kLmdldER1cmF0aW9uKGUpO2MuUyh7dmE6Yix2aWRlb0R1cmF0aW9uOmR9KX19fTtnVD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybltdO2E9YS5tYXJrZXJzTWFwPy5maW5kKGM9PlsiREVTQ1JJUFRJT05fQ0hBUFRFUlMiLCJBVVRPX0NIQVBURVJTIl0uaW5jbHVkZXMoYy5rZXkpKT8udmFsdWU/LmNoYXB0ZXJzfHxbXTsoYS5sZW5ndGg9PT0wPzA6Xy5CKGFbMF0sZVQpPy50aW1lUmFuZ2VTdGFydE1pbGxpcyE9PTApJiYhYj8ubngmJihhPVtmVCgpLC4uLmFdKTtyZXR1cm4gYX07ZlQ9ZnVuY3Rpb24oKXtyZXR1cm57Y2hhcHRlclJlbmRlcmVyOnt0aW1lUmFuZ2VTdGFydE1pbGxpczowfX19OwpoVD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLnRpbWVSYW5nZVN0YXJ0TWlsbGlzfHwwOjB9O2tUPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdUKGIpLmZpbmQoKGMsZCxlKT0+aVQoalQoYSksZSxkKS5MZD09PSJhY3RpdmUiKX07bFQ9ZnVuY3Rpb24oYSxiKXtpZihhLmlzRHJhZ2dpbmcmJmIpcmV0dXJuIGE9TmthKGEsYiksYT09PS0xP2ZUKCk6Z1QoYilbYV19O05rYT1mdW5jdGlvbihhLGIpe3JldHVybiBhLmlzRHJhZ2dpbmcmJmI/Z1QoYix7bng6ITB9KS5maW5kSW5kZXgoKGMsZCxlKT0+aVQoalQoYSksZSxkKS5CZyk6LTF9O21UPWZ1bmN0aW9uKGEpe2E9Xy5CKGEsZVQpO2E/Lm9uQWN0aXZlQ29tbWFuZCYmXy5hRShhLm9uQWN0aXZlQ29tbWFuZCl9O2pUPWZ1bmN0aW9uKGEpe3JldHVybnsuLi5hLHZpZGVvRHVyYXRpb246YS52aWRlb0R1cmF0aW9uKjFFMyx2YTphLnZhKjFFMyxDYTphLkNhKjFFM319OwppVD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aFQoXy5CKGJbY10sZVQpKTtiPWhUKF8uQihiW2MrMV0sZVQpKXx8YS52aWRlb0R1cmF0aW9uO2M9YS5pc0RyYWdnaW5nO3ZhciBlO2lmKGU9YS5pc0RyYWdnaW5nKWU9YS5DYSxlPWUhPT1udWxsJiZlPj1kJiZlPGI7dmFyIGY9YS52YTtyZXR1cm4gZiE9PW51bGwmJmY+PWQmJmY8Yj97TGQ6ImFjdGl2ZSIsYm06YyxCZzplfTphLnZhPGQ/e0xkOiJwZW5kaW5nIixibTpjLEJnOmV9OntMZDoic2VlbiIsYm06YyxCZzplfX07blQ9ZnVuY3Rpb24oYSxiLGMpe2lmKGlUKGEsYixjKS5MZCE9PSJhY3RpdmUiKXJldHVybiAwO3ZhciBkPWhUKF8uQihiW2NdLGVUKSk7cmV0dXJuKGEudmEtZCkvKChoVChfLkIoYltjKzFdLGVUKSl8fGEudmlkZW9EdXJhdGlvbiktZCl9O29UPWZ1bmN0aW9uKGEsYj0wKXtyZXR1cm4gYS5MZD09PSJzZWVuInx8Yj4wfTsKcFQ9ZnVuY3Rpb24oYSxiLGMpe2I9YS9iLlpyO2M9Z1QoYyk7aWYoIWMubGVuZ3RoKXJldHVybi1iKjcyO3ZhciBkPTA7Zm9yKGxldCBlIG9mIGMpaWYoaFQoXy5CKGUsZVQpKS8xRTM8YSlkKys7ZWxzZSBicmVhaztyZXR1cm4tKGIqNzIpLWQqNTZ9O09rYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7YS5CKCk7ZC5zdG9wUHJvcGFnYXRpb24oKTtkPXFUKGEsZSxkLmNsaWVudFgpKmUudmlkZW9EdXJhdGlvbjtlLlMoe3ZhOmR9KTtlLnBsYXllclN0YXRlPT09Mnx8Zi5Gbj8uKCk7YS5ELnYoZCxlLDcpfX07clQ9ZnVuY3Rpb24oYSl7YT1hLnRvdWNoZXNbMF07cmV0dXJue3g6YS5jbGllbnRYLHk6YS5jbGllbnRZfX07UGthPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1yVChjKSxlPWIoKTthLnN0YXJ0UG9zaXRpb258fChhLnN0YXJ0UG9zaXRpb249ZCxhLkIoKSxhLmo9ZS5lYSxjLnN0b3BQcm9wYWdhdGlvbigpKX19OwpRa2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPXt4OmMuY2xpZW50WCx5OmMuY2xpZW50WX0sZT1iKCk7YS5zdGFydFBvc2l0aW9ufHwoYS5zdGFydFBvc2l0aW9uPWQsYS5CKCksYS5qPWUuZWEsYy5zdG9wUHJvcGFnYXRpb24oKSl9fTsKdFQ9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2Euc3RhcnRQb3NpdGlvbiYmKGYmJmUuaWomJmEuc3RhcnRQb3NpdGlvbiYmIWEubyYmTWF0aC5hYnMoYy55LWEuc3RhcnRQb3NpdGlvbi55KT5NYXRoLmFicyhjLngtYS5zdGFydFBvc2l0aW9uLngpP3NUKGEsZCxlKTooYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCksZC52aWRlb0R1cmF0aW9uJiYoYS5zdGFydFBvc2l0aW9uJiYhYS5vJiYoYS5vPU1hdGguYWJzKGMueC1hLnN0YXJ0UG9zaXRpb24ueCk+PTEpLGUuS2YmJihhLnN0YXJ0UG9zaXRpb24mJihhLnY9LShjLnktYS5zdGFydFBvc2l0aW9uLnkpPj02MCksIWEuc3RhcnRQb3NpdGlvbnx8Yy55Pj1hLnN0YXJ0UG9zaXRpb24ueXx8KGQuUyh7TGY6ImRyYWdnaW5nIixMcDpwVChkLkNhLGQsZS5SYSl9KSxhLlUoZC5DYSksYS5aKGEuc3RhcnRQb3NpdGlvbi55LGMueSxkKSkpLGEubyYmKGI9cVQoYSxkLGMueCksYS52JiYoZC5IPy5wYXVzZVZpZGVvKCksZC5TKHtMZjoib24iLApZdjpkLkNhLExwOnBUKGIqZC52aWRlb0R1cmF0aW9uLGQsZS5SYSl9KSksZS5LZiYmKCFlLktmfHxhLksoZCk8NjgpfHwoZC5pc0RyYWdnaW5nfHxkLnRhLmt6Py4oKSxkLlMoe0NhOmIqZC52aWRlb0R1cmF0aW9uLGVhOiEwLGlzRHJhZ2dpbmc6ITAseWI6YS5qfSkpLGUuWW8/LigpKSkpKX07UmthPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZhciBlPWIoKSxmPWMoKTt0VChhLGQsclQoZCksZSxmLCEwKTtpZihmLm9uVG91Y2hNb3ZlKWYub25Ub3VjaE1vdmUoZSl9fTt2VD1mdW5jdGlvbihhLGIsYyxkKXtpZihiLmJ1dHRvbnMhPT0xKXtpZihiLm1vdmVtZW50WHx8Yi5tb3ZlbWVudFkpYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCksYT1xVChhLGMsYi5jbGllbnRYKSxjLlFjfHxjLnRhLmt6Py4oKSxjLlMoe1FjOiEwLGRqOmEqYy52aWRlb0R1cmF0aW9ufSl9ZWxzZSB1VChjKSx0VChhLGIse3g6Yi5jbGllbnRYLHk6Yi5jbGllbnRZfSxjLGQsITEpfTsKU2thPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZUKGEsZCxiKCksYygpKX19O1RrYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKTt1VChiKX19O3NUPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWMuS2YmJmIuTGYhPT0ib2ZmIjtiLmlzRHJhZ2dpbmd8fGU/KGQ9e2lzRHJhZ2dpbmc6ITEsdmE6Yi5DYSxlYTphLmp9LGMuS2YmJmIuTGYhPT0ib24iJiYoYS5NKCksZC5MZj0ib2ZmIiksVVMoYiksYi5TKGQpLGEuRC52KGIuQ2EsYiw3KSxjLkluJiZiLnJjJiZiLkg/LnVuTXV0ZSgpLHdUKGEpKTooXy54KCJtYXdwY190b3VjaF9lbmRfaGFuZGxlcl9idWdfZml4X2tpbGxzd2l0Y2giKT9iLlMoe2VhOiFiLmVhfSk6Yi5TKHtlYTohMH0pLGMuRm4/LigpLHdUKGEpLF8ueCgibWF3cGNfdG91Y2hfZW5kX2hhbmRsZXJfYnVnX2ZpeF9raWxsc3dpdGNoIil8fGQ/LnN0b3BQcm9wYWdhdGlvbigpKX07ClVrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7c1QoYSxlLGYsZCk7aWYoZi5vblRvdWNoRW5kKWYub25Ub3VjaEVuZChlKX19O1ZrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7c1QoYSxlLGYsZCk7aWYoZi5vblRvdWNoRW5kKWYub25Ub3VjaEVuZChlKX19O1drYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9PntzVChhLGIoKSxjKCksZCl9fTtYa2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PntiLmtleUNvZGU9PT0zOXx8Yi5rZXlDb2RlPT09Mzg/YSgpPy5IPy5zZWVrQnkoNSx2b2lkIDAsdm9pZCAwLDcyKTooYi5rZXlDb2RlPT09Mzd8fGIua2V5Q29kZT09PTQwKSYmYSgpPy5IPy5zZWVrQnkoLTUsdm9pZCAwLHZvaWQgMCw3MSl9fTtZa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57IWMoKS5kaXNhYmxlU2NydWJiaW5nJiZhLnN0YXJ0UG9zaXRpb24mJnZUKGEsZCxiKCksYygpKX19Owp4VD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9PntpZighYygpLmRpc2FibGVTY3J1YmJpbmcpaWYoYS5zdGFydFBvc2l0aW9uKXt2YXIgZT1iKCksZj1jKCk7c1QoYSxiKCksYygpLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9ZWxzZSBiKCkuUyh7aXNEcmFnZ2luZzohMX0pfX07dVQ9ZnVuY3Rpb24oYSl7YS5RYyYmYS5TKHtRYzohMSxkajowfSl9O3FUPWZ1bmN0aW9uKGEsYixjKXthPWEuSShiKTtyZXR1cm4gRFEoMCwoYy1hLmxlZnQpL2Eud2lkdGgsMSl9O3dUPWZ1bmN0aW9uKGEpe2Euc3RhcnRQb3NpdGlvbj1udWxsO2Eubz0hMTthLnY9ITE7YS5qPSExfTt5VD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLndpZHRoL2EuY29sdW1uczowfTt6VD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmhlaWdodC9hLnJvd3M6MH07QVQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuUWM/YS5kajphLkNhfTsKQlQ9ZnVuY3Rpb24oYSxiKXthPWEuQ2EqMUUzO3JldHVybiBhPj1iLnZpc2libGVUaW1lUmFuZ2VTdGFydE1pbGxpcyYmYTw9Yi52aXNpYmxlVGltZVJhbmdlRW5kTWlsbGlzfTtDVD1mdW5jdGlvbihhKXtpZihhPT09dm9pZCAwfHxOdW1iZXIuaXNOYU4oYSkpcmV0dXJuIi0tOi0tIjt2YXIgYj1NYXRoLmFicyhNYXRoLmZsb29yKGEpKSxjPU1hdGguZmxvb3IoYi84NjQwMCksZD1NYXRoLmZsb29yKGIlODY0MDAvMzYwMCksZT1NYXRoLmZsb29yKGIlMzYwMC82MCk7Yj1NYXRoLmZsb29yKGIlNjApO3ZhciBmPSIiO2M+MCYmKGYrPWAke2N9OmAsZDwxMCYmKGYrPSIwIikpO2lmKGM+MHx8ZD4wKWYrPWAke2R9OmAsZTwxMCYmKGYrPSIwIik7Zis9YCR7ZX06YDtiPDEwJiYoZis9IjAiKTtmKz1iO3JldHVybiBhPj0wP2Y6YC0ke2Z9YH07CkRUPWZ1bmN0aW9uKGEsYil7cmV0dXJuKCk9Pnt2YXIgYz1BVChhKCkpO3ZhciBkPWIoKTt2YXIgZT1hKCkuSDtpZihlJiZlLmdldE51bWJlck9mU3Rvcnlib2FyZExldmVscygpIT09MCl7dmFyIGY9ZS5nZXRTdG9yeWJvYXJkRnJhbWVJbmRleChjLDEpO2YhPT0tMT9kPWUuZ2V0U3Rvcnlib2FyZEZyYW1lKGYsMSk6KGM9ZS5nZXRTdG9yeWJvYXJkRnJhbWVJbmRleChjLDApLGU9ZS5nZXRTdG9yeWJvYXJkRnJhbWUoYywwKSxkJiZlJiYoZS5oZWlnaHQqPTMsZS53aWR0aCo9MyksZD1lKX1lbHNlIGQ9bnVsbDtpZighZClyZXR1cm4gbnVsbDtiKCkmJihkLndpZHRoPTkwKmQuY29sdW1ucyxkLmhlaWdodD0xNjAqZC5yb3dzKTtyZXR1cm4gZH19Owoka2E9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGEuTmF8fGEuaXNMaXZlP2Q6Yj4xP0VUKGQpOnNldFRpbWVvdXQoKCk9PntjKCk7bmF2aWdhdG9yPy52aWJyYXRlJiZuYXZpZ2F0b3IudmlicmF0ZShaa2EpfSxfLnNqKCJzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zIiw1MDApKX07RVQ9ZnVuY3Rpb24oYSl7YSE9PXZvaWQgMCYmY2xlYXJUaW1lb3V0KGEpfTsKSFQ9ZnVuY3Rpb24oYSxiKXthLk5hfHxhLmlzTGl2ZXx8KGI+MSYmRlQoYSksZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCJwcmV2ZW50LWhpZ2hsaWdodHMiKSxHVD1zZXRUaW1lb3V0KCgpPT57YS5IPy5wbGF5VmlkZW8oKTtiVCgpO2EuUyh7c2I6ITAsZWE6ITB9KTt2YXIgYz1fLnNqKCJzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlIiwyKSxkPWEuSDtkPy5zZXRQbGF5YmFja1JhdGU/LihjKTtfLngoIm13ZWJfbG9uZ19wcmVzc19zcGVlZHVwX3ZpYnJhdGlvbiIpJiZkPy5nZXRQbGF5YmFja1JhdGUoKT09PWMmJm5hdmlnYXRvcj8udmlicmF0ZSYmbmF2aWdhdG9yLnZpYnJhdGUoYWxhKX0sXy5zaigic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyIsNTAwKSkpfTsKSVQ9ZnVuY3Rpb24oYSxiLGMpe2Muc2ImJmEucHJldmVudERlZmF1bHQoKTthPWIubGs7Yj1iLk9kO01hdGguc3FydChhKmErYipiKT5fLnNqKCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiLDEwKSYmIWMuc2ImJkZUKGMpfTtGVD1mdW5jdGlvbihhKXtkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoInByZXZlbnQtaGlnaGxpZ2h0cyIpO0dUJiZjbGVhclRpbWVvdXQoR1QpO2Euc2ImJihhLlMoe3NiOiExLGVhOnVTKGEpfSksYT1hLkgsdHlwZW9mIGE/LnNldFBsYXliYWNrUmF0ZT09PSJmdW5jdGlvbiI/YS5zZXRQbGF5YmFja1JhdGUoMSk6Xy5XaShFcnJvcigiJGQiKSkpfTsKY2xhPWZ1bmN0aW9uKGEsYixjKXtpZihiJiZhKXt2YXIgZD1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGI9YmxhKGIsZC53aWR0aCxkLmhlaWdodCkpYz8uWkEmJihjPW5ldyBJbWFnZSxjLm9ubG9hZD0oKT0+e2lqYSgpfSxjLnNyYz1iLF8uSXooImZ0ciIpKSxhLnN0eWxlLmJhY2tncm91bmRJbWFnZT1gdXJsKCR7Yn0pYH19O2JsYT1mdW5jdGlvbihhLGIsYyl7aWYoKGE9YS50aHVtYm5haWxzKSYmYS5sZW5ndGghPT0wKXt2YXIgZD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjE7Yio9ZDtjKj1kO2lmKGI+NjQwfHxjPjQ4MClyZXR1cm4gYS5hdCgtMSkudXJsO2lmKGI+MzIwfHxjPjE4MCl7dmFyIGU7ZD1iPWM9dm9pZCAwO2ZvcihlIG9mIGEpIWQmJmUud2lkdGg+PTMyMD9kPWUudXJsOiFiJiZlLndpZHRoPj00ODA/Yj1lLnVybDohYyYmZS53aWR0aD49NjQwJiYoYz1lLnVybCk7aWYoZT1jfHxifHxkKXJldHVybiBlfXJldHVybiBhWzBdLnVybH19OwpKVD1mdW5jdGlvbihhKXsoYT1hPy5oZWFkZXI/LnBsYXlsaXN0SGVhZGVyUmVuZGVyZXIpPyhhPV8uQihhLmNpbmVtYXRpY0NvbnRhaW5lcixkbGEpPy5iYWNrZ3JvdW5kSW1hZ2VDb25maWc/LnRodW1ibmFpbD8udGh1bWJuYWlscyxhPWE/Lmxlbmd0aD9hW2EubGVuZ3RoLTFdLnVybDp2b2lkIDAsYT0hYSk6YT0hMTtyZXR1cm4gYX07S1Q9ZnVuY3Rpb24oYSl7YT1hfHxfLlhEPy5yZXNwb25zZT8ucmVzcG9uc2U7cmV0dXJuIGE/LmhlYWRlcj8ucGFnZUhlYWRlclJlbmRlcmVyfTtPVD1mdW5jdGlvbigpe3ZhciBhPV8uWEQ/LnJlc3BvbnNlPy5yZXNwb25zZTtyZXR1cm4hIUtUKCk/LnRpdGxlQW5pbWF0aW9ufHxKVChhKX07ClBUPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRD8ucmVzcG9uc2U/LnJlc3BvbnNlLGI9S1QoYSk7aWYoYilhPWIudG9wQmFyQW5pbWF0aW9uPyEwOiExO2Vsc2V7aWYoYj1YUSgpJiYhXy5WTSgpKWI9Xy5aYih3aW5kb3cubG9jYXRpb24uaHJlZiwibGlzdCIpLGI9IShiPy5zdGFydHNXaXRoKCJFTCIpfHxiPy5zdGFydHNXaXRoKCJTQyIpKTthPWImJiFKVChhKX1yZXR1cm4gYX07CmVsYT1mdW5jdGlvbigpe2lmKF8udygiTVdFQl9TVElDS1lfUExBWUVSIiwhMSkmJlFUKCkmJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNzZWFyY2hpbmciJiZfLlVNKCkhPT0ic2VhcmNoIil7dmFyIGE9d2luZG93LnNjcm9sbFksYjsoYj1fLlZNKCkpfHwoYj1fLlVNKCk9PT0iY2xpcCIpO2lmKGIpIV8uVEUoKSYmIUhRKCl8fChfLkZlYS5vZmZzZXRIZWlnaHQ+d2luZG93LmlubmVySGVpZ2h0Ki42P18uVHQoXy5FSiwic3RpY2t5LXBsYXllciIpOl8uU3QoXy5FSiwic3RpY2t5LXBsYXllciIpKSxSVCgiaW4iKSxTVD1hO2Vsc2V7Yj1TVD5hO3ZhciBjPWE+PTQ4LGQ9YTwxMjY7U1Q9YTtiPyhjP1JUKCJmaWxsZWQiKTpSVCgiaW4iKSxJUSgpJiZkP1RUKCJmaWx0ZXItY2hpcC1iYXItc3RhdGljIik6VFQoImZpbHRlci1jaGlwLWJhci1pbiIpKTpjP1BUKCl8fE9UKCk/UlQoImZpbGxlZCIpOihSVCgib3V0IiksSVEoKSYmZD9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItb3V0IikpOgooUlQoImluIiksSVEoKT9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItaW4iKSl9fXZhciBlO18uVk0oKSYmKGU9UVQoKSkhPW51bGwmJihhPWUuc2V0QXR0cmlidXRlLGI9Xy5NRSgpPzE6MjQsXy5ETi5sZW5ndGg+MCYmIV8ueE4oKT8oYz1OdW1iZXIoZG9jdW1lbnQuYm9keS5zdHlsZS50b3AucmVwbGFjZSgvKHB4KXwtL2csIiIpKSxiPSFpc05hTihjKSYmYzxiKTpiPVNUPGIsYS5jYWxsKGUsImFtYmllbnQtdG9wYmFyIixiLnRvU3RyaW5nKCkpKX07UVQ9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhlYWRlci1iYXIiLnRvU3RyaW5nKCkpfTsKVFQ9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5VTSgpPT09ImhvbWUifHxJUSgpP2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWx0ZXItY2hpcC1iYXIiLnRvU3RyaW5nKCkpOm51bGw7YiYmKF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpLF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLWluIiksXy5UdChiLCJmaWx0ZXItY2hpcC1iYXItb3V0IiksXy5TdChiLGEpKX07ClJUPWZ1bmN0aW9uKGEpe3ZhciBiPVFUKCk7aWYoYil7bGV0IGM9Xy5hTCh7WyJzdGlja3ktcGxheWVyIl06Xy53KCJNV0VCX1NUSUNLWV9QTEFZRVIiLCExKSxbImlzLWF1dG9tb3RpdmUiXTpIUSgpfSk7Xy5XTSgpP2M9Xy5hTChjLCJ0b3BiYXItdHJhbnNwYXJlbnQtYmFja2dyb3VuZCIsInNob3J0cy10b3BiYXIiKTpQVCgpP2M9Xy5hTChjLCJ0b3BiYXItdHJhbnNwYXJlbnQtYmFja2dyb3VuZCIpOk9UKCkmJihjPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LXRpdGxlIikpO2IuY2xhc3NOYW1lPV8uYUwoYSxjKX19O2ZsYT1mdW5jdGlvbigpe3JldHVybiBVVH07aGxhPWZ1bmN0aW9uKGEsYil7YiYmKFZUPSEwKTthPVVUPWE7Yj1KUigpO2EhPT1iJiYoYj1fLkh6KCksXy5EeigxNDEsITApLF8uRHooMTQwLCFhKSxiLnNhdmUoKSk7Z2xhKCl9O2dsYT1mdW5jdGlvbigpe3NldFRpbWVvdXQoKCk9PntfLlhNKCJwbGF5ZXItYXV0b25hdi1wYXVzZSIse3BhdXNlZDohMX0pfSl9OwppbGE9ZnVuY3Rpb24oKXtyZXR1cm4gVlR9O1dUPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTUUoKT9iJiZhPy52aWRlb0R1cmF0aW9uPjMwOmImJiFhLmVhfTtYVD1mdW5jdGlvbihhLGIpe3JldHVybiBiJiZhLmVhJiYhXy5NRSgpfTtqbGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihiPWI/P2F3YWl0IF8uTEgoKSliLnVuTXV0ZSghMCksYi5zZXRWb2x1bWUoYSwhMCl9O1pUPWZ1bmN0aW9uKGEsYil7YSYmKGEudmFsdWU9YCR7Yn1gLGEuc3R5bGUuc2V0UHJvcGVydHkoIi0tZ3JhZGllbnQtcGVyY2VudCIsYCR7Yn0lYCkpfTtrbGE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ueCgicGxheWVyX2NvbnRyb2xzX3VzZV9wbGF5ZXJfYXBpX2NvbnRleHQiKT9fLmtHKCRUKTphfTthVT1mdW5jdGlvbihhKXtyZXR1cm5gaHR0cHM6Ly9tLnlvdXR1YmUuY29tL3N0YXRpYy9sb3R0aWUvJHthfS5qc29uYH07CmJVPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJhbmltYXRlZF9saWtlX2ljb24iOnJldHVybntuYW1lOiJhbmltYXRlZF9saWtlX2ljb25fdjJfZGFyayIscGF0aDphVSgiYW5pbWF0ZWRfbGlrZV9pY29uX3YyX2RhcmsiKSxsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e3ZpZXdCb3hPbmx5OiEwLGNsYXNzTmFtZToiYW5pbWF0ZWQtbGlrZS1pY29uIn19O2Nhc2UgImxpa2VfMjQwZHBfYW5pbWF0aW9uX3YyIjpjYXNlICJsaWtlX3RhcF9mZWVkYmFja19zaG9ydHNfaGVhcnQiOmNhc2UgInBhdXNlXzk2ZHBfYW5pbWF0aW9uIjpjYXNlICJwbGF5Xzk2ZHBfYW5pbWF0aW9uIjpjYXNlICJzZWVrXzk2ZHBfYW5pbWF0aW9uIjpyZXR1cm57bmFtZTphLHBhdGg6YVUoYSksbG9vcDohMSxhdXRvcGxheTohMX07ZGVmYXVsdDpyZXR1cm57bmFtZToiIixwYXRoOiIifX19OwpjVT1mdW5jdGlvbihhKXtfLkxPKCkudGhlbihiPT57Yi5zdG9wKCJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiIpO2Iuc3RvcCgibGlrZV90YXBfZmVlZGJhY2tfc2hvcnRzX2hlYXJ0Iik7Yi5zdG9wKCJwbGF5Xzk2ZHBfYW5pbWF0aW9uIik7Yi5zdG9wKCJwYXVzZV85NmRwX2FuaW1hdGlvbiIpO2IucGxheShhKX0pfTsKbGxhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uSHooKTtIUSgpfHxhLnF2fHxhLnN1cHByZXNzQWZ0ZXJDbG9zaW5nJiZOdW1iZXIoYi5nZXQoInN1cHByZXNzX2FwcF91cHNlbGwiKSkmJiFfLngoIm13ZWJfYXBwX3Vwc2VsbF9idXR0b24iKXx8KGRVfHwoZFU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoZFUsZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKSksXy5KTihkVSxudWxsLCEwKSxhIT09ZVUmJihmVT8uKCksZlU9Xy54RihkVSwoKT0+e18ub0YoKCk9PntfLk1PKCIuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIb3N0IC5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzIil9KTtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclNjcmltQ29udGFpbmVyIn0sXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0V9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVyIn0sCl8uSyhnVSx7ZGF0YTphfSkpKX0sImRkIikpLGVVPWEpfTtoVT1mdW5jdGlvbigpe3JldHVybntzdHlsZToib3ZlcmxheS1kYXJrIixpY29uUG9zaXRpb246Imljb24td2l0aC1sYWJlbCIsc2l6ZToiTCIsc2l6ZToiUyIsdHlwZToidGV4dCIsc3R5bGU6Im92ZXJsYXkifX07bmxhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLnNob3BwaW5nVXBzZWxsLG1sYSk7YiYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2xsYShiKX0pfTtvbGE9ZnVuY3Rpb24oYSl7YT8ubG9nZ2luZ0RpcmVjdGl2ZXM/LnRyYWNraW5nUGFyYW1zJiZfLmx4KF8uaHgoKSxhLmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zKX07aVU9ZnVuY3Rpb24oYSl7cmV0dXJuIGF8fF8uVk0oKXx8Xy5VTSgpPT09ImhvbWUifTtqVT1mdW5jdGlvbihhLGIpe2lmKGIpe2lmKGEmJmIuZGFya1RoZW1lTG9nbz8uaWNvbj8uaWNvblR5cGUpcmV0dXJuIGIuZGFya1RoZW1lTG9nby5pY29uLmljb25UeXBlO2lmKGIubGlnaHRUaGVtZUxvZ28/Lmljb24/Lmljb25UeXBlKXJldHVybiBiLmxpZ2h0VGhlbWVMb2dvLmljb24uaWNvblR5cGV9fTsKbFU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5IO2ImJihrVT0oYT1rVSk/KChiPU5RKGIpKT9iLmRpc3BsYXlOYW1lfHwiIjpudWxsKXx8YTpQUShiKSk7cmV0dXJuIGtVfTttVT1mdW5jdGlvbihhLGIpe3JldHVybiBhKCkucGxheWVyU3RhdGU9PT0wJiYhIWImJiFhKCkueGYmJmEoKS5hdXRvbmF2RW5hYmxlZH07blU9ZnVuY3Rpb24oYSxiKXtiPU1TKGIpO3JldHVybiBhKCkucGxheWVyU3RhdGU9PT0wJiZiLmxlbmd0aD4wfTtvVT1mdW5jdGlvbihhKXtyZXR1cm4gYS5IPy5pc1JlYWR5Py4oKSYmYS5IPy5pc0F0TGl2ZUhlYWQoKX07cFU9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXllci1jb250cm9sLW92ZXJsYXkiKX07cGxhPWZ1bmN0aW9uKGEpe2EhPT0tMSYmXy54KCJwbGF5ZXJfY29udHJvbHNfbG9nX2NyZWF0aW9uX2VuYWJsZWQiKSYmcFUoKSYmKF8uQXEoInBjdV9jcyIsYSksXy5BcSgicGN1X2NlIikpfTsKcVU9ZnVuY3Rpb24oYSl7aWYoIWF8fGEuZ2V0VmlkZW9EYXRhKXJldHVybiBhfTtxbGE9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpaWYoYVtjXSE9PWJbY10pcmV0dXJuITE7cmV0dXJuITB9O3JVPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiTVdFQl9TVVBQT1JUU19ET1VCTEVfVEFQX1RPX1NFRUsiKX07cmxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yi8zPy0xOmE+MipiLzM/MTowfTtzVT1mdW5jdGlvbihhLGIsYyl7clUoKSYmdlMoey4uLmMsSmQ6YixLYjphfSkmJigoYT1jLkgpJiZhLnNlZWtCeShNYXRoLnNpZ24oYikqMTAsdm9pZCAwLHZvaWQgMCw0KSxjLnBsYXllclN0YXRlPT09Mnx8Yy5IPy5wYXVzZVZpZGVvKCksYj09PS0xP1hTKDI4MjM5KTpYUygyODI0MCkpfTsKdVU9ZnVuY3Rpb24oYSxiKXtyVSgpJiYoY2xlYXJUaW1lb3V0KHRVKSx0VT1zZXRUaW1lb3V0KCgpPT57dmFyIGM9e0tiOjAsSmQ6MCx5aDowfTtpZih2UyhhKSl7dmFyIGQ9dVMoYSl8fGEuQ2E+PWEudmlkZW9EdXJhdGlvbjtjLmVhPWEucGxheWVyU3RhdGU9PT0yfHxhLnBsYXllclN0YXRlPT09M3x8ZDtjLnZhPWEuQ2E7Yy55Yj0hMTthLkg/LmlzUmVhZHk/LigpJiYoYS5ILnNlZWtUbyhhLkNhKSxkPXsuLi5hLC4uLmN9LChkLmlzTGl2ZXx8ZC52YTxkLnZpZGVvRHVyYXRpb24pJiZkLk9uJiZkLkg/LmdldFBsYXllclN0YXRlKCkhPT0xJiZkLkg/LnBsYXlWaWRlbygpKX1lbHNlIGEuS2I9PT0xJiZiPy4oKTthLlMoYyk7Y2xlYXJUaW1lb3V0KHRVKX0sYS5iYT8udnY/PzYwMCkpfTtzbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gclUoKSYmYiE9PTA/YS5KZCE9PWI/MTooMCxfLmVsKSgpLWEueWg+MzUwP2EuS2I6YS5LYisxOjB9Owp1bGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT1hd2FpdCB2VS5qYygpO2EmJihhPWF3YWl0IGEuZ2V0KCJhdXRvLXpvb20tZW5hYmxlZCIpLHRsYSh0eXBlb2YgYT09PSJib29sZWFuIj9hOiEwKSl9O3dVPWZ1bmN0aW9uKGEpe3ZhciBiPWEudG91Y2hlc1swXSxjPWEudG91Y2hlc1sxXTthPWIucGFnZVgtYy5wYWdlWDtiPWIucGFnZVktYy5wYWdlWTtyZXR1cm4gTWF0aC5zcXJ0KGEqYStiKmIpfTsKSVU9ZnVuY3Rpb24oYSxiKXt4VShhKSYmKGEuc3RvcFByb3BhZ2F0aW9uKCksYT15VS16VSxBVXx8KGE9MCksRlQoYiksXy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmKEJVPTAsQ1UoKSYmRFUoITEpKSxiLmJhPy5NaXx8KGIuTmF8fGIuV2R8fGIuc2J8fF8uVEUoKXx8Xy5NRSgpJiYhYi5pc0Z1bGxzY3JlZW58fChiLmlzRnVsbHNjcmVlbiYmKGEqPS0xKSwoYTwtMTAwfHxNYXRoLmFicyhhKT4xMDAmJmIuaXNGdWxsc2NyZWVuKSYmYi50YS50b2dnbGVGdWxsc2NyZWVuKHtkczohMH0pLEVVJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2Zvcm06InNjYWxlKDEpIix0cmFuc2l0aW9uOiIwLjJzIGVhc2UifSkpLGIuV2QmJigoYT1NYXRoLmFicyhiLkpmKT41MD8hYi5OYTpiLk5hKXx8Y1QoYiksYi5TKHtXZDohMSxOYTphLEpmOjB9KSkpLEZVPSgwLF8uZWwpKCkseVU9R1U9elU9SFU9MCxBVT0hMSl9Owp4VT1mdW5jdGlvbihhKXt2YXIgYj1bYS50YXJnZXQ/LmdldEF0dHJpYnV0ZSgiaWQiKSwuLi4oYS50YXJnZXQ/LmNsYXNzTGlzdHx8W10pXTtyZXR1cm4hISJwbGF5ZXItY29udHJvbC1vdmVybGF5IHBsYXllci1jb250cm9scy1taWRkbGUgcGxheWVyLWNvbnRyb2xzLWJvdHRvbSBmdWxsc2NyZWVuLWNvbnRyb2xzIHBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kIHRvcC1mdWxsLXNjcmVlbi1jb250cm9scyIuc3BsaXQoIiAiKS5maW5kKGM9PmIuZmluZChkPT5kPT09YykpfTsKS1U9ZnVuY3Rpb24oYSxiKXtpZihiLk5hKUpVKGEpJiZiLlMoe05hOiExfSk7ZWxzZSBpZihiLnBsYXllclN0YXRlIT09LTEmJmIucGxheWVyU3RhdGUhPT01KWlmKEpVKGEpKXt2YXIgYz1XUShiLkgpO2IuUyh7ZWE6ITAseWI6ITAsamU6Y30pfWVsc2V7dmFyIGQ9cmxhKGEuY2xpZW50WCxiLlRjLm9mZnNldFdpZHRoKTtjPXNsYShiLGQpO3ZhciBlPWM+Yi5LYjtsZXQgZj1iLkNhO2UmJihmPWM8Mj9iLnZhOkRRKGIuQ2ErKGQ9PT0tMT8tMToxKSoxMCwwLGIudmlkZW9EdXJhdGlvbiksc1UoYyxkLGIpKTshYi5lYSYmYzw9MT9jVChiLHtJYzohMH0pOmJUKCk7YT1iLmJhPy56diYmYi5lYSYmIUpVKGEpO2Q9e2VhOnZsYSh7Li4uYixLYjpjfSl8fGEsWWg6ITEsSmQ6ZCxDYTpmLEtiOmMseWI6ITAseWg6KDAsXy5lbCkoKX07ZT91VSh7Li4uYixLYjpjLENhOmZ9LGE/KCk9PntpZihiLkg/LmlzUmVhZHk/LigpKXtsZXQgaD1XUShiLkgpO2IuUyh7amU6aH0pfX06dm9pZCAwKTphJiZiLkgmJgooZT1XUShiLkgpLGIuUyh7amU6ZX0pKTtjPT09MSYmKGQuT249Yi5wbGF5ZXJTdGF0ZT09PTF8fGIucGxheWVyU3RhdGU9PT0zKTtiLlMoZCl9fTtKVT1mdW5jdGlvbihhKXtyZXR1cm4hXy54KCJtd2ViX2lvc19kZXRlY3RfZmFrZV9jbGlja19raWxsc3dpdGNoIikmJl8uR0smJkZVPjAmJigwLF8uZWwpKCktRlU8MTAwPyExOnR5cGVvZiBQb2ludGVyRXZlbnQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFBvaW50ZXJFdmVudCYmYS5wb2ludGVyVHlwZT09PSJtb3VzZSJ9O3ZsYT1mdW5jdGlvbihhKXtyZXR1cm4gdVMoYSl8fGEucGxheWVyU3RhdGU9PT0zfHxhLktiPjE/ITA6IWEuZWF9O3dsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPXt2b2x1bWU6Yi5IPy5nZXRWb2x1bWUoKT8/MCxyYzohIWIuSD8uaXNNdXRlZCgpfTtiLlMoYyl9fTsKeGxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpLGM9Yi5IO2lmKGMpe3ZhciBkPXt4YzohIWMuZ2V0T3B0aW9ucygiY2FwdGlvbnMiKX07ZC54YyYmKGQuY2FwdGlvbnNFbmFibGVkPU9RKGMpKTtiLlMoZCl9fX07CnpsYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKSxkPWMuSDtpZihkJiYhZC5pc0tleWJvYXJkRGlzYWJsZWQ/LigpJiYheWxhKGIudGFyZ2V0LGIpKXtzd2l0Y2goYi5jb2RlKXtjYXNlICJTcGFjZSI6Y2FzZSAiS2V5SyI6ZD1XUShkKTtjLlMoe2VhOiEwLGplOmR9KTticmVhaztjYXNlICJBcnJvd0xlZnQiOmNhc2UgIktleUoiOkxVKGMsLTEpO2JyZWFrO2Nhc2UgIkFycm93UmlnaHQiOmNhc2UgIktleUwiOkxVKGMsMSk7YnJlYWs7Y2FzZSAiS2V5TSI6Yy5yYz9kLnVuTXV0ZSgpOmQubXV0ZSgpO2MuUyh7ZWE6ITB9KTticmVhaztjYXNlICJLZXlGIjpSUSgpO2QudG9nZ2xlRnVsbHNjcmVlbigpO2MuUyh7ZWE6ITB9KTtiLnN0b3BQcm9wYWdhdGlvbigpO2JyZWFrO2Nhc2UgIktleUMiOmMueGMmJlFRKGQsbFUoYykpO2MuUyh7ZWE6ITB9KTticmVhaztkZWZhdWx0OnJldHVybn1iLnByZXZlbnREZWZhdWx0KCk7Yi5zdG9wUHJvcGFnYXRpb24oKX19fTsKTFU9ZnVuY3Rpb24oYSxiKXtpZihfLngoIm13ZWJfa2V5Ym9hcmRfc2Vla19vdmVybGF5X2tpbGxzd2l0Y2giKSlhLkg/LnNlZWtCeSgxMCooYj09PS0xPy0xOjEpKSxhLlMoe2VhOiEwfSk7ZWxzZXt2YXIgYz1hLktiLGQ9YS5KZCxlPSgwLF8uZWwpKCksZj1lLWEueWg7Yz1kIT09Ynx8Zj4zNTA/MjpjKzE7ZD1iPT09LTE/LTE6MTtkPWM9PT0yPyhhLnZhfHwwKStkKjEwOmEuQ2ErZCoxMDtkPURRKGQsMCxhLnZpZGVvRHVyYXRpb24pO2U9e2VhOiEwLFloOiExLEpkOmIsQ2E6ZCxLYjpjLHliOiEwLHloOmV9O2M9PT0yJiYoZS5Pbj1hLnBsYXllclN0YXRlPT09MXx8YS5wbGF5ZXJTdGF0ZT09PTMpO3NVKGMsYix7Li4uYSwuLi5lfSk7dVUoey4uLmEsLi4uZX0pO2EuUyhlKX19Owp5bGE9ZnVuY3Rpb24oYSxiKXtpZihiLmN0cmxLZXl8fGIuYWx0S2V5fHxiLm1ldGFLZXkpcmV0dXJuITA7dmFyIGM9YS50YWdOYW1lO3JldHVybiBjPT09IklOUFVUInx8Yz09PSJURVhUQVJFQSJ8fGM9PT0iU0VMRUNUInx8Yi5rZXk9PT0iVGFiInx8Yi5jb2RlPT09IlNwYWNlIiYmKGM9PT0iQlVUVE9OInx8Yz09PSJBInx8KGE9YS5nZXRBdHRyaWJ1dGUoInJvbGUiKSkmJihhPT09ImJ1dHRvbiJ8fGE9PT0ib3B0aW9uInx8YS5zdGFydHNXaXRoKCJtZW51aXRlbSIpKSk/ITA6ITF9OwpPVT1mdW5jdGlvbihhLGIpe3ZhciBjPXsuLi5hKCkscGxheWVyU3RhdGU6MH0sZD1BUyhiKCk/LndhdGNoTmV4dFJlc3BvbnNlKSxlPUJTKGIoKT8ud2F0Y2hOZXh0UmVzcG9uc2UpO0hTKGMsZCkmJihNVShhKSxjLlMoe3lmOiFlPy5jb3VudERvd25TZWNzfHxlLmNvdW50RG93blNlY3M8PTA/MTA6ZS5jb3VudERvd25TZWNzfSksYz13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9Pnt2YXIgZj1hKCk7aWYoZi55ZiE9PTEpZi5TKHt5ZjpmLnlmLTF9KTtlbHNle01VKGEpO2Y9YigpPy53YXRjaE5leHRSZXNwb25zZTtmPUFTKGYpO2xldCBoPWY/LnNldHM/LlswXS5hdXRvcGxheVZpZGVvO2gmJl8uQUooaCxmLCExLHthdXRvbmF2OiIxIn0pfX0sMUUzKSxfLngoIm13ZWJfcGxheWVyX3VuaWZpY2F0aW9uX3N0YXRlX3JlZmFjdG9yX2tpbGxzd2l0Y2giKT9OVT1jOmEoKS5TKHtGazpjfSkpfTsKTVU9ZnVuY3Rpb24oYSl7IV8ueCgibXdlYl9wbGF5ZXJfdW5pZmljYXRpb25fc3RhdGVfcmVmYWN0b3Jfa2lsbHN3aXRjaCIpJiZhPyhhPWEoKSxhLkZrIT09dm9pZCAwJiYoY2xlYXJJbnRlcnZhbChhLkZrKSxhLlMoe0ZrOnZvaWQgMH0pKSk6TlUmJihjbGVhckludGVydmFsKE5VKSxOVT12b2lkIDApfTsKQmxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCksZT17eGY6ITF9O2UucGxheWVyU3RhdGU9YztkLkgmJlZRKGQuSCkmJihlLnBsYXllclN0YXRlPTIpO2M9PT0xJiYoZC5IPy5sb2FkTW9kdWxlKCJjYXB0aW9ucyIpLF8ueCgibXdlYl9iZXR0ZXJfY2FwdGlvbnNfcGxhY2VtZW50IikmJmQuSD8uc2V0U3VidGl0bGVzVGFyZ2V0Q29udGFpbmVySWQoImNhcHRpb25zLWdhbG9yZS1jb250YWluZXIiKSk7Yz09PTAmJihkLkg/LnVubG9hZE1vZHVsZSgiY2FwdGlvbnMiKSxfLngoIm13ZWJfYmV0dGVyX2NhcHRpb25zX3BsYWNlbWVudCIpJiZkLkg/LmNsZWFyU3VidGl0bGVzVGFyZ2V0Q29udGFpbmVySWQoKSk7aWYoZS5wbGF5ZXJTdGF0ZT09PS0xKWUuZWE9ITA7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09NSllLmVhPSEwO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTMpZS5lYT0hMCxiVCgpO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTEpZC5zYnx8ZC55cXx8KGQueWI/CmNUKHsuLi5kLC4uLmV9KTplLmVhPSExKTtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0yKWJUKCk7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09MCl7ZS5lYT0hMDtiVCgpO2M9YSgpO3ZhciBmPWIoKT8ud2F0Y2hOZXh0UmVzcG9uc2U7aWYoZj1fLkIoZj8uY29udGVudHM/LnNpbmdsZUNvbHVtbldhdGNoTmV4dFJlc3VsdHM/LmF1dG9wbGF5Py5hdXRvcGxheT8uYXV0b3BsYXlFeHBsaWNpdENob2ljZURpYWxvZ1JlbmRlcmVyLEFsYSkpZi5kaXNhYmxlQnV0dG9uU3R5bGVPdmVycmlkZXM9ITA7IWMudGEuVWwoKSYmZiYmKGMudGEuZXhpdEZ1bGxzY3JlZW4oKSxfLkFKKHtvcGVuUG9wdXBBY3Rpb246e3BvcHVwOntjb25maXJtRGlhbG9nUmVuZGVyZXI6Zn0scG9wdXBUeXBlOiJESUFMT0cifX0se30sITEpKTtkLmF1dG9uYXZFbmFibGVkJiYoT1UoYSxiKSxfLk1PKCIjcGxheWVyLWVuZHNjcmVlbiAueXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWwgYnV0dG9uIiw1LHtybDohMH0pKX1kLlMoZSl9fTsKQ2xhPWZ1bmN0aW9uKGEpe1BVKCgpPT5hKSgpfTtEbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg7YyYmVlEoYykmJmIuUyh7cGxheWVyU3RhdGU6Mn0pfX07ClBVPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpO3ZhciBkPWMuSDt2YXIgZT1kPy5nZXRWaWRlb0RhdGEoKSxmPWU/LmlzTGl2ZXx8ITEsaD1lPy52aWRlb19pZDtlPWU/LmFsbG93TGl2ZUR2cj8/ITA7Zj17dmlkZW9EdXJhdGlvbjpVUShkfHx2b2lkIDApLGlzTGl2ZTpmLHZpZGVvSWQ6aCxpc0xpdmVEdnJFbmFibGVkOmV9O2YudmlkZW9JZCE9PWMudmlkZW9JZCYmKGY9ey4uLmRUKGQpLC4uLmZ9KTtiPy5wbGF5ZXJ0eXBlJiYoZi5wbGF5ZXJUeXBlPWIucGxheWVydHlwZSk7ZCYmKGYueGM9ISFkLmdldE9wdGlvbnMoImNhcHRpb25zIiksYj1mLGg9KGg9ZC5nZXRTdG9yeWJvYXJkTGV2ZWwoZC5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMoKS0xKT8uaW50ZXJ2YWxNcyk/aC8xRTM6dm9pZCAwLGIuWnI9aCxmLnhjJiYoZi5jYXB0aW9uc0VuYWJsZWQ9T1EoZCkpKTtmLnJjPSEhZD8uaXNNdXRlZCgpO2Q9ZjtkLmF1dG9uYXZFbmFibGVkPWMudGEuZGUoKTtkLmlzUGxheWxpc3Q9ClhRKCk7Yy5iYT8uTWwhPT12b2lkIDAmJihkLnliPSEwKTtkLmlzRnVsbHNjcmVlbj1jLmlzRnVsbHNjcmVlbjtkLnBsYXllclN0YXRlPT09MyYmKGQuZWE9ITApO2QucGxheWVyU3RhdGU9PT0tMSYmKGQuZWE9ITApO2I9Yy5HYzt5Uyh7Li4uYywuLi5kfSk/YiYmKGIuc3R5bGUuZGlzcGxheT0ibm9uZSIpOmImJihiLnN0eWxlLmRpc3BsYXk9IiIpO01VKGEpO2MuUyhkKX19OwpFbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPWEoKSxlPWIoKSxmPWQuSDtpZihmKXtkLnZpZGVvSWQ9PT12b2lkIDAmJkNsYShkKTtpZihlJiZjIT09dm9pZCAwKXt2YXIgaD17Li4uZCx2YTpjfTsoZT1FUyhlLnBsYXllck92ZXJsYXlSZW5kZXJlcikpJiYhaC5pc0RyYWdnaW5nJiYoaD1rVChoLGUpLG1UKGgpKX1oPWYuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtjPXt2YTpjfHwwLFFtOmYuZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbigpLHBsYXllclR5cGU6aH07dVMoZCkmJihjLnZhPWQudmlkZW9EdXJhdGlvbik7ZC5pc0xpdmUmJihoPWYuZ2V0UHJvZ3Jlc3NTdGF0ZShoKSxjLnZhLT1oLnNlZWthYmxlU3RhcnQsYy52aWRlb0R1cmF0aW9uPVVRKGYpKTt5UyhkKSYmZGVsZXRlIGMudmE7Zj1jO3lTKHsuLi5kLC4uLmZ9KSYmKGM9ZC5HYykmJihjLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtkLlMoZil9fX07CkZsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e2EoKS5TKHtlYTohMSxyYzohMX0pfX07R2xhPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57YSgpLlMoe2lzRnVsbHNjcmVlbjpiLmZ1bGxzY3JlZW4sTmE6ITF9KX19O0hsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSDtiLlMoe2lzRnVsbHNjcmVlbjpiLnRhLmlzRnVsbHNjcmVlbigpLGNhcHRpb25zRW5hYmxlZDpjP09RKGMpOmIuY2FwdGlvbnNFbmFibGVkfSl9fTtJbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7Xy5WTSh7aHJlZjp3aW5kb3cubG9jYXRpb24uaHJlZn0pfHxiLlMoe2lzRnVsbHNjcmVlbjohMX0pfX07CkpsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKTtbOTAsMjcwXS5pbmNsdWRlcyhNYXRoLmFicyh3aW5kb3cub3JpZW50YXRpb24/d2luZG93Lm9yaWVudGF0aW9uOndpbmRvdy5zY3JlZW4/Lm9yaWVudGF0aW9uPy5hbmdsZT93aW5kb3cuc2NyZWVuLm9yaWVudGF0aW9uLmFuZ2xlOjApKT9kb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgibGFuZHNjYXBlIiwidHJ1ZSIpOmRvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJsYW5kc2NhcGUiKTtiLk5hJiZiLlMoe05hOiExfSl9fTtLbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7Yi50YS5leGl0RnVsbHNjcmVlbigpO2IuUyh7aXNGdWxsc2NyZWVuOiExfSl9fTtMbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPWEoKTtjLmRldGFpbD8ucGF1c2VkPyhNVShhKSxkLnpmfHxkLlMoe3pmOiEwfSkpOih1UyhkKSYmT1UoYSxiKSxkLnpmJiZkLlMoe3pmOiExfSkpfX07Ck1sYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIudGEuZGUoKTtjfHxNVShhKTtiLlMoe2F1dG9uYXZFbmFibGVkOmN9KX19O05sYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2EoKS5TKHtSeDohIWJ9KX19O1FVPWZ1bmN0aW9uKGEpe01VKGEucHJvcHMpO2EucHJvcHMoKS5TKHt4ZjohMH0pfTtSVT1mdW5jdGlvbihhKXt2YXIgYj1fLldEKCgpPT5hLnNldHNbMF0ucHJldmlvdXNCdXR0b25WaWRlbyksYz1fLldEKCgpPT5hLnNldHNbMF0ubmV4dEJ1dHRvblZpZGVvKTtyZXR1cm57VWE6YixuZXh0OmN9fTtTVT1mdW5jdGlvbihhLGIpe2I9YigpPy5ydW5zPy5bMF0ubmF2aWdhdGlvbkVuZHBvaW50O3ZhciBjPV8uQihiLF8uVkQpPy51cmw7YSgpLkg/LmlzRW1iZWRzU2hvcnRzTW9kZT8uKCkmJmMmJmMuaW5jbHVkZXMoIi93YXRjaD92PSIpJiYoXy5CKGIsXy5WRCkudXJsPWMucmVwbGFjZSgiL3dhdGNoP3Y9IiwiL3Nob3J0cy8iKSk7cmV0dXJuIGJ9OwpVVT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9IiIsZT0iIjtzd2l0Y2goYSl7Y2FzZSAtMTpjYXNlIDA6ZD1iPyJWT0xVTUVfT0ZGIjpjPyJWT0xVTUVfT0ZGX0RFTEhJX1BMQVlFUiI6IlZPTFVNRV9PRkZfRklMTEVEIjtlPU9sYTticmVhaztjYXNlIDE6ZD1iPyJWT0xVTUVfVVBfT1VUTElORSI6Yz8iVk9MVU1FX1VQX0RFTEhJX1BMQVlFUl9GSUxMRUQiOiJWT0xVTUVfVVBfRklMTEVEIjtlPVRVO2JyZWFrO2Nhc2UgMjpkPWI/IlZPTFVNRV9ET1dOX09VVExJTkUiOmM/IlZPTFVNRV9ET1dOX0RFTEhJX1BMQVlFUl9GSUxMRUQiOiJWT0xVTUVfRE9XTl9GSUxMRUQiO2U9VFU7YnJlYWs7ZGVmYXVsdDpfLmViKGEsdm9pZCAwKX1yZXR1cm57aWNvbk5hbWU6ZCxhcmlhTGFiZWw6ZX19OwpQbGE9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgVlU9PT0ibnVtYmVyIiYmY2xlYXJUaW1lb3V0KFZVKTtWVT1zZXRUaW1lb3V0KCgpPT57YS5TKHtZaDohMX0pO1ZVPXZvaWQgMH0sXy5CKGIuZW5hYmxlZEVkdUNvbW1hbmQsV1UpPy5kdXJhdGlvbk1zfHw0RTMpfTtYVT1mdW5jdGlvbihhLGIsYyl7YS5TKHthdXRvbmF2RW5hYmxlZDpiLFloOmN9KTthLnRhLlJqKGIsYyl9O1lVPWZ1bmN0aW9uKGEpe3JldHVybiBfLklFKHtkaXNwbGF5OigpPT5hKCk/IiI6Im5vbmUifSl9O1FsYT1mdW5jdGlvbihhKXtpZihfLngoImVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjIiKSYmYSlyZXR1cm57cGxheWhlYWRJbWFnZTphLnBsYXloZWFkSW1hZ2UscGxheWhlYWRSZXdpbmRJbWFnZTphLnBsYXloZWFkUmV3aW5kSW1hZ2UscGxheWhlYWRGYXN0Rm9yd2FyZEltYWdlOmEucGxheWhlYWRGYXN0Rm9yd2FyZEltYWdlfX07ClJsYT1mdW5jdGlvbihhKXthPWE/LmdldFBsYXllclN0YXRlT2JqZWN0Py4oKTtyZXR1cm4oYT8uaXNDdWVkfHxhPy5pc1Vuc3RhcnRlZCkmJiFhPy5pc0Vycm9yfTtaVT1mdW5jdGlvbihhKXthLmZvckVhY2goYj0+e2IoKX0pO2EubGVuZ3RoPTB9O1NsYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmlkPSJwbGF5ZXItY29udHJvbHMiO2IuY2xhc3NMaXN0LmFkZCgieXRQbGF5ZXJDb250cm9sc0NvbnRhaW5lckhvc3QiKTt2YXIgW2MsZF09Xy5KKHt9LHZvaWQgMCwiYmpKSWxkIik7YS5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsKCk9PnskVShhLGIsYyxkKX0pO2EuYWRkRXZlbnRMaXN0ZW5lcigib25SZWFkeSIsKCk9PnskVShhLGIsYyxkKX0pO3JldHVybiBifTsKJFU9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9VGxhKGEpO2QoZSk7aGphKGIsIWEuZ2V0UGxheWVyU3RhdGVPYmplY3QoKT8uaXNFcnJvcnx8ISFhVihlKSk7Yi5oYXNDaGlsZE5vZGVzKCl8fF8ueEYoYiwoKT0+VWxhKGEsYixjKSwiJGUiKX07ClVsYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5OKCgpPT5hVihjKCkpLHZvaWQgMCwiZFc1OGJkIiksZT1fLnVGKGs9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX2VtYzNkc19wZnAiKSlyZXR1cm4hMTt2YXIgbD1jKCk7cmV0dXJuKGw9bC5qYj8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZT8/bC5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlKT9sPT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCI6a30se2luaXRpYWw6ITF9KSxmPV8udUYoaz0+e2lmKCFfLngoImVtYmVkc19lbmFibGVfZW1jM2RzX3BmbCIpKXJldHVybiExO3ZhciBsPWMoKTtyZXR1cm4obD1sLmpiPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlPz9sLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllck1vZGUpPwpsPT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCI6a30se2luaXRpYWw6ITF9KSxoPV8uTigoKT0+e2lmKCFfLngoImVtYmVkc19lbmFibGVfc2hvcnRzIil8fF8ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHNfY291bnRlcmZhY3R1YWwiKSlyZXR1cm4hMTt2YXIgaz1jKCkuUGg/LmVuZHBvaW50O3JldHVybiEoIWt8fCFfLkIoayxfLlREKSl9LHZvaWQgMCwiV3FnSnJiIik7Xy5uRSgoKT0+e18ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmKF8ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHNfY291bnRlcmZhY3R1YWwiKXx8KGUoKXx8ZigpfHwhaCgpP2Euc2V0TG9vcFZpZGVvKCExKTphLnNldExvb3BWaWRlbyghMCkpKX0sIlpnVXdnZSIpO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5kKCl9LCgpPT5fLksoYlYse2RhdGE6KCk9PmQoKX0pKSxfLksoXy5DRSx7d2hlbjplfSwoKT0+Xy5LKFZsYSx7SDphLGNvbnRleHQ6dGthKGEsYiksZGF0YTpjfSkpLF8uSyhfLkNFLAp7d2hlbjpmfSwoKT0+e3ZhciBrPXJTKGEpLGw9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7bD17Li4uc1MobCksWHc6ITAsWXc6ITB9O3JldHVybiBfLksoY1Yse2NvbnRleHQ6e3RhOmssYmE6bCxUYzpkb2N1bWVudC5ib2R5LEdjOmJ9LGRhdGE6Y30pfSksXy5LKF8uQ0Use3doZW46aH0sKCk9Pl8uSyhXbGEse3JlZWxJdGVtV2F0Y2hSZXNwb25zZTooKT0+YygpLnJlZWxJdGVtV2F0Y2hSZXNwb25zZSxqYjooKT0+YygpLmpiLFBoOigpPT5jKCkuUGgsSDooKT0+YSxjb250ZXh0OnNrYShhLGIpfSkpLF8uSyhfLkRFLG51bGwsKCk9Pnt2YXIgaz1yUyhhKSxsPXNTKGEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpKTtyZXR1cm4gXy5LKGNWLHtjb250ZXh0Ont0YTprLGJhOmwsVGM6ZG9jdW1lbnQuYm9keSxHYzpifSxkYXRhOmN9KX0pKX07CmFWPWZ1bmN0aW9uKGEpe3JldHVybiBhLmpiPy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXM/LmVycm9yU2NyZWVuPy5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlcnx8YS5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXM/LmVycm9yU2NyZWVuPy5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlcn07VGxhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0UGxheWVyUmVzcG9uc2UoKSxjPWEuZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSxkPWEuZ2V0UmVlbEl0ZW1XYXRjaFJlc3BvbnNlKCksZT1hLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKSxmPWEuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7cmV0dXJue3BsYXllck92ZXJsYXlSZW5kZXJlcjpjPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLHBsYXllclJlc3BvbnNlOmIsUGg6Zix3YXRjaE5leHRSZXNwb25zZTpjLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpkLGpiOmUsSDphfX07Cl8uZFY9ZnVuY3Rpb24oYSl7Xy5BcSgiZXBfaW5pdF9ycyIpO3ZhciBiPWRvY3VtZW50LmJvZHk7YT1TbGEoYSk7Yi5hcHBlbmRDaGlsZChhKTthPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuaWQ9ImJvdHRvbS1zaGVldC13cmFwcGVyIjsoMCxfLklDKShhLFVqYSk7Yi5hcHBlbmRDaGlsZChhKTtfLkFxKCJlcF9pbml0X3JlIil9O18uZz1GUS5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBGUSh0aGlzLmxlZnQsdGhpcy50b3AsdGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpfLmcuY29udGFpbnM9ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIF8uZVYmJmEgaW5zdGFuY2VvZiBfLmVWP2EueD49dGhpcy5sZWZ0JiZhLng8PXRoaXMubGVmdCt0aGlzLndpZHRoJiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMudG9wK3RoaXMuaGVpZ2h0OnRoaXMubGVmdDw9YS5sZWZ0JiZ0aGlzLmxlZnQrdGhpcy53aWR0aD49YS5sZWZ0K2Eud2lkdGgmJnRoaXMudG9wPD1hLnRvcCYmdGhpcy50b3ArdGhpcy5oZWlnaHQ+PWEudG9wK2EuaGVpZ2h0fTtfLmcuZ2V0U2l6ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5uZCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O18uZy5yb3VuZD1mdW5jdGlvbigpe3RoaXMubGVmdD1NYXRoLnJvdW5kKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5yb3VuZCh0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7ImZ1bmN0aW9uIj09dHlwZW9mIF8uZVYmJmEgaW5zdGFuY2VvZiBfLmVWPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9YikpO3JldHVybiB0aGlzfTsKXy5nLnNjYWxlPWZ1bmN0aW9uKGEsYil7Yj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTt0aGlzLmxlZnQqPWE7dGhpcy53aWR0aCo9YTt0aGlzLnRvcCo9Yjt0aGlzLmhlaWdodCo9YjtyZXR1cm4gdGhpc307CnZhciB2VT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnRva2VuPWF9c3RhdGljIGFzeW5jIGpjKCl7cmV0dXJuIG5ldyBQcm9taXNlKGE9PntfLlBsKCkudGhlbihiPT57Yj8odlUuaW5zdGFuY2V8fCh2VS5pbnN0YW5jZT1uZXcgdlUoYikpLGEodlUuaW5zdGFuY2UpKTphKHZvaWQgMCl9KX0pfWFzeW5jIGdldChhKXtpZihhPWF3YWl0IChhd2FpdCBHUSh0aGlzLnRva2VuKSkuZ2V0KCJwcmVmcyIsYSkpe3ZhciBiPSgwLF8uZWwpKCk7cmV0dXJuIGEuZXhwaXJhdGlvblRpbWVzdGFtcE1zPD1iP3ZvaWQgMDphLnZhbHVlfX1hc3luYyBzZXQoYSxiLGM9MzE1MzZFMyl7dmFyIGQ9KDAsXy5lbCkoKTthPXtrZXk6YSx2YWx1ZTpiLGV4cGlyYXRpb25UaW1lc3RhbXBNczpkK2MqMUUzfTtiPWF3YWl0IEdRKHRoaXMudG9rZW4pO2F3YWl0IF8ubWwoYiwicHJlZnMiLGEpfWFzeW5jIHJlbW92ZShhKXthd2FpdCAoYXdhaXQgR1EodGhpcy50b2tlbikpLmRlbGV0ZSgicHJlZnMiLGEpfX0sWVE9Cm51bGwsZlY9e1NuOnsxRTM6e290aGVyOiIwSyJ9LDFFNDp7b3RoZXI6IjAwSyJ9LDFFNTp7b3RoZXI6IjAwMEsifSwxRTY6e290aGVyOiIwTSJ9LDFFNzp7b3RoZXI6IjAwTSJ9LDFFODp7b3RoZXI6IjAwME0ifSwxRTk6e290aGVyOiIwQiJ9LDFFMTA6e290aGVyOiIwMEIifSwxRTExOntvdGhlcjoiMDAwQiJ9LDFFMTI6e290aGVyOiIwVCJ9LDFFMTM6e290aGVyOiIwMFQifSwxRTE0OntvdGhlcjoiMDAwVCJ9fSxWczp7MUUzOntvdGhlcjoiMCB0aG91c2FuZCJ9LDFFNDp7b3RoZXI6IjAwIHRob3VzYW5kIn0sMUU1OntvdGhlcjoiMDAwIHRob3VzYW5kIn0sMUU2OntvdGhlcjoiMCBtaWxsaW9uIn0sMUU3OntvdGhlcjoiMDAgbWlsbGlvbiJ9LDFFODp7b3RoZXI6IjAwMCBtaWxsaW9uIn0sMUU5OntvdGhlcjoiMCBiaWxsaW9uIn0sMUUxMDp7b3RoZXI6IjAwIGJpbGxpb24ifSwxRTExOntvdGhlcjoiMDAwIGJpbGxpb24ifSwxRTEyOntvdGhlcjoiMCB0cmlsbGlvbiJ9LDFFMTM6e290aGVyOiIwMCB0cmlsbGlvbiJ9LAoxRTE0OntvdGhlcjoiMDAwIHRyaWxsaW9uIn19fSxyUj1mVjtyUj1mVjt2YXIgcVI9e0FFRDpbMiwiZGgiLCJcdTA2MmYuXHUwNjI1LiJdLEFMTDpbMCwiTGVrIiwiTGVrIl0sQVVEOlsyLCIkIiwiQVUkIl0sQkRUOlsyLCJcdTA5ZjMiLCJUayJdLEJHTjpbMiwibGV2IiwibGV2Il0sQlJMOlsyLCJSJCIsIlIkIl0sQ0FEOlsyLCIkIiwiQyQiXSxDREY6WzIsIkZyQ0QiLCJDREYiXSxDSEY6WzIsIkNIRiIsIkNIRiJdLENMUDpbMCwiJCIsIkNMJCJdLENOWTpbMiwiXHUwMGE1IiwiUk1CXHUwMGE1Il0sQ09QOlszMiwiJCIsIkNPTCQiXSxDUkM6WzAsIlx1MjBhMSIsIkNSXHUyMGExIl0sQ1pLOls1MCwiS1x1MDEwZCIsIktcdTAxMGQiXSxES0s6WzUwLCJrci4iLCJrci4iXSxET1A6WzIsIlJEJCIsIlJEJCJdLEVHUDpbMiwiXHUwMGEzIiwiTEUiXSxFVEI6WzIsIkJpcnIiLCJCaXJyIl0sRVVSOlsyLCJcdTIwYWMiLCJcdTIwYWMiXSxHQlA6WzIsIlx1MDBhMyIsIkdCXHUwMGEzIl0sSEtEOlsyLCIkIiwiSEskIl0sSFJLOlsyLCJrbiIsImtuIl0sSFVGOlszNCwKIkZ0IiwiRnQiXSxJRFI6WzAsIlJwIiwiUnAiXSxJTFM6WzM0LCJcdTIwYWEiLCJJTFx1MjBhYSJdLElOUjpbMiwiXHUyMGI5IiwiUnMiXSxJUlI6WzAsIlJpYWwiLCJJUlIiXSxJU0s6WzAsImtyIiwia3IiXSxKTUQ6WzIsIiQiLCJKQSQiXSxKUFk6WzAsIlx1MDBhNSIsIkpQXHUwMGE1Il0sS1JXOlswLCJcdTIwYTkiLCJLUlx1MjBhOSJdLExLUjpbMiwiUnMiLCJTTFJzIl0sTFRMOlsyLCJMdCIsIkx0Il0sTU5UOlswLCJcdTIwYWUiLCJNTlx1MjBhZSJdLE1WUjpbMiwiUmYiLCJNVlIiXSxNWE46WzIsIiQiLCJNZXgkIl0sTVlSOlsyLCJSTSIsIlJNIl0sTk9LOls1MCwia3IiLCJOT2tyIl0sUEFCOlsyLCJCLy4iLCJCLy4iXSxQRU46WzIsIlMvLiIsIlMvLiJdLFBIUDpbMiwiXHUyMGIxIiwiUEhQIl0sUEtSOlswLCJScyIsIlBLUnMuIl0sUExOOls1MCwielx1MDE0MiIsInpcdTAxNDIiXSxST046WzIsIlJPTiIsIlJPTiJdLFJTRDpbMCwiZGluIiwiUlNEIl0sUlVCOls1MCwiXHUyMGJkIiwKIlJVQiJdLFNBUjpbMiwiU0FSIiwiU0FSIl0sU0VLOls1MCwia3IiLCJrciJdLFNHRDpbMiwiJCIsIlMkIl0sVEhCOlsyLCJcdTBlM2YiLCJUSEIiXSxUUlk6WzIsIlx1MjBiYSIsIlRSWSJdLFRXRDpbMiwiJCIsIk5UJCJdLFRaUzpbMCwiVFNoIiwiVFNoIl0sVUFIOlsyLCJcdTA0MzNcdTA0NDBcdTA0M2QuIiwiVUFIIl0sVVNEOlsyLCIkIiwiVVMkIl0sVVlVOlsyLCIkIiwiJFUiXSxWTkQ6WzQ4LCJcdTIwYWIiLCJWTlx1MjBhYiJdLFlFUjpbMCwiUmlhbCIsIlJpYWwiXSxaQVI6WzIsIlIiLCJaQVIiXX07dmFyIGdWOwpnVj17REFZOntMT05HOiJvbmV7IyBkYXl9b3RoZXJ7IyBkYXlzfSIsU0hPUlQ6Im9uZXsjIGRheX1vdGhlcnsjIGRheXN9IixOQVJST1c6Im9uZXsjZH1vdGhlcnsjZH0ifSxIT1VSOntMT05HOiJvbmV7IyBob3VyfW90aGVyeyMgaG91cnN9IixTSE9SVDoib25leyMgaHJ9b3RoZXJ7IyBocn0iLE5BUlJPVzoib25leyNofW90aGVyeyNofSJ9LE1JTlVURTp7TE9ORzoib25leyMgbWludXRlfW90aGVyeyMgbWludXRlc30iLFNIT1JUOiJvbmV7IyBtaW59b3RoZXJ7IyBtaW59IixOQVJST1c6Im9uZXsjbX1vdGhlcnsjbX0ifSxNT05USDp7TE9ORzoib25leyMgbW9udGh9b3RoZXJ7IyBtb250aHN9IixTSE9SVDoib25leyMgbXRofW90aGVyeyMgbXRoc30iLE5BUlJPVzoib25leyNtfW90aGVyeyNtfSJ9LFNFQ09ORDp7TE9ORzoib25leyMgc2Vjb25kfW90aGVyeyMgc2Vjb25kc30iLFNIT1JUOiJvbmV7IyBzZWN9b3RoZXJ7IyBzZWN9IixOQVJST1c6Im9uZXsjc31vdGhlcnsjc30ifSxXRUVLOntMT05HOiJvbmV7IyB3ZWVrfW90aGVyeyMgd2Vla3N9IiwKU0hPUlQ6Im9uZXsjIHdrfW90aGVyeyMgd2tzfSIsTkFSUk9XOiJvbmV7I3d9b3RoZXJ7I3d9In0sWUVBUjp7TE9ORzoib25leyMgeWVhcn1vdGhlcnsjIHllYXJzfSIsU0hPUlQ6Im9uZXsjIHlyfW90aGVyeyMgeXJzfSIsTkFSUk9XOiJvbmV7I3l9b3RoZXJ7I3l9In19O3ZhciBoVj17Q2U6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9LCB7MX0iXSxSbjpbInswfSBhbmQgezF9IiwiezB9ICYgezF9IiwiezB9LCB7MX0iXSxtazpbInswfSwgYW5kIHsxfSIsInswfSwgJiB7MX0iLCJ7MH0sIHsxfSJdLGlvOlsiezB9IG9yIHsxfSIsInswfSBvciB7MX0iLCJ7MH0gb3IgezF9Il0seGs6WyJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iXSxybzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0scW86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLEFrOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXX07CmhWPXtDZTpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0sIHsxfSJdLFJuOlsiezB9IGFuZCB7MX0iLCJ7MH0gJiB7MX0iLCJ7MH0sIHsxfSJdLG1rOlsiezB9LCBhbmQgezF9IiwiezB9LCAmIHsxfSIsInswfSwgezF9Il0saW86WyJ7MH0gb3IgezF9IiwiezB9IG9yIHsxfSIsInswfSBvciB7MX0iXSx4azpbInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iLCJ7MH0sIG9yIHsxfSJdLHJvOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXSxxbzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0sQWs6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdfTt2YXIgWGxhPWNsYXNze2NvbnN0cnVjdG9yKCl7dmFyIGE9e3R5cGU6InVuaXQiLHN0eWxlOiJuYXJyb3cifTt0aGlzLkk9YSYmYS50eXBlP2EudHlwZToiY29uanVuY3Rpb24iO3RoaXMuSz1hJiZhLnN0eWxlP2Euc3R5bGU6ImxvbmciO3RoaXMuaj1oVjthPTA7c3dpdGNoKHRoaXMuSyl7Y2FzZSAic2hvcnQiOmE9MTticmVhaztjYXNlICJuYXJyb3ciOmE9Mn1zd2l0Y2godGhpcy5JKXtjYXNlICJjb25qdW5jdGlvbiI6dGhpcy5CPXRoaXMuai5DZVthXTt0aGlzLkQ9KHRoaXMuai5Sbnx8dGhpcy5qLm1rKVthXTt0aGlzLnY9KHRoaXMuai5qQ3x8dGhpcy5qLkNlKVthXTt0aGlzLm89dGhpcy5qLm1rW2FdO2JyZWFrO2Nhc2UgImRpc2p1bmN0aW9uIjp0aGlzLkI9KHRoaXMuai5RRnx8dGhpcy5qLkNlKVthXTt0aGlzLkQ9KHRoaXMuai5pb3x8dGhpcy5qLnhrKVthXTt0aGlzLnY9KHRoaXMuai5QRnx8dGhpcy5qLkNlKVthXTt0aGlzLm89dGhpcy5qLnhrW2FdO2JyZWFrO2Nhc2UgInVuaXQiOnRoaXMuQj0KKHRoaXMuai5yb3x8dGhpcy5qLkNlKVthXSx0aGlzLkQ9KHRoaXMuai5BSHx8dGhpcy5qLkFrKVthXSx0aGlzLnY9KHRoaXMuai5xb3x8dGhpcy5qLkNlKVthXSx0aGlzLm89dGhpcy5qLkFrW2FdfX1mb3JtYXQoYSl7cmV0dXJuIHhqYSh0aGlzLGEpfX07dmFyIGlSPXthcjoibGF0biIsImFyLUVHIjoiYXJhYiIsYm46ImJlbmciLGZhOiJhcmFiZXh0IixtcjoiZGV2YSIsbXk6Im15bXIiLG5lOiJkZXZhIn07dmFyIGlWPXtWbjoiLiIscms6IiwiLGpvOiIlIixCazoiMCIsV3Q6IisiLGFvOiItIixZbjoiRSIsa286Ilx1MjAzMCIsc2s6Ilx1MjIxZSIsQnQ6Ik5hTiIsZ3Q6IiMsIyMwLiMjIyIsekc6IiNFMCIsU0Y6IiMsIyMwJSIsRkM6Ilx1MDBhNCMsIyMwLjAwIixXbjoiVVNEIn0sZFI9aVY7ZFI9aVY7dmFyIGVSPUludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuLVVTIi5yZXBsYWNlKCJfIiwiLSIpXSkubGVuZ3RoPjAsalI9ITE7CmhSLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihhLGIpe2I9Ynx8WzBdO2lmKHRoaXMub2EhPT0wKXRocm93IEVycm9yKCJPZCIpO2E9YS5yZXBsYWNlKC8gfFx1MjAyZi9nLCJcdTAwYTAiKTt2YXIgYz1hLmluZGV4T2YodGhpcy5NLGJbMF0pPT1iWzBdLGQ9YS5pbmRleE9mKHRoaXMuRCxiWzBdKT09YlswXTtjJiZkJiYodGhpcy5NLmxlbmd0aD50aGlzLkQubGVuZ3RoP2Q9ITE6dGhpcy5NLmxlbmd0aDx0aGlzLkQubGVuZ3RoJiYoYz0hMSkpO2M/YlswXSs9dGhpcy5NLmxlbmd0aDpkJiYoYlswXSs9dGhpcy5ELmxlbmd0aCk7aWYoYS5pbmRleE9mKGRSLnNrLGJbMF0pPT1iWzBdKXtiWzBdKz1kUi5zay5sZW5ndGg7dmFyIGU9SW5maW5pdHl9ZWxzZXtlPWE7bGV0IGY9ITEsaD0hMSxrPSExLGw9LTEsbT0xLG49ZFIuVm4scD1kUi5yayxyPWRSLlluO2lmKHRoaXMub2EhPTApdGhyb3cgRXJyb3IoIlBkIik7cD1wLnJlcGxhY2UoL1x1MjAyZi9nLCJcdTAwYTAiKTtsZXQgdD0iIjtmb3IoO2JbMF08CmUubGVuZ3RoO2JbMF0rKyl7bGV0IHY9ZS5jaGFyQXQoYlswXSksej1wUih2KTtpZih6Pj0wJiZ6PD05KXQrPXosaz0hMDtlbHNlIGlmKHY9PW4uY2hhckF0KDApKXtpZihmfHxoKWJyZWFrO3QrPSIuIjtmPSEwfWVsc2UgaWYodj09cC5jaGFyQXQoMCkmJigiXHUwMGEwIiE9cC5jaGFyQXQoMCl8fGJbMF0rMTxlLmxlbmd0aCYmcFIoZS5jaGFyQXQoYlswXSsxKSk+PTApKXtpZihmfHxoKWJyZWFrfWVsc2UgaWYodj09ci5jaGFyQXQoMCkpe2lmKGgpYnJlYWs7dCs9IkUiO2g9ITA7bD1iWzBdfWVsc2UgaWYodj09IisifHx2PT0iLSIpe2lmKGsmJmwhPWJbMF0tMSlicmVhazt0Kz12fWVsc2UgaWYodGhpcy52PT0xJiZ2PT1kUi5qby5jaGFyQXQoMCkpe2lmKG0hPTEpYnJlYWs7bT0xMDA7aWYoayl7YlswXSsrO2JyZWFrfX1lbHNlIGlmKHRoaXMudj09MSYmdj09ZFIua28uY2hhckF0KDApKXtpZihtIT0xKWJyZWFrO209MUUzO2lmKGspe2JbMF0rKzticmVha319ZWxzZSBicmVha310aGlzLnYhPQoxJiYobT10aGlzLnYpO2U9cGFyc2VGbG9hdCh0KS9tfWlmKGMpe2lmKGEuaW5kZXhPZih0aGlzLmdhLGJbMF0pIT1iWzBdKXJldHVybiBOYU47YlswXSs9dGhpcy5nYS5sZW5ndGh9ZWxzZSBpZihkKXtpZihhLmluZGV4T2YodGhpcy5VLGJbMF0pIT1iWzBdKXJldHVybiBOYU47YlswXSs9dGhpcy5VLmxlbmd0aH1yZXR1cm4gZD8tZTplfTsKaFIucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbihhKXtpZih0aGlzLkI+dGhpcy5qKXRocm93IEVycm9yKCJTZCIpO2lmKGVSJiZ0aGlzLkspeyh0aGlzLksuZm9ybWF0PT1udWxsfHx0aGlzLlFhfHx0aGlzLk1hfHx0aGlzLlZkfHxqUikmJmZSKHRoaXMpO2lmKE1hdGguYWJzKGEpPDEmJnRoaXMuaGE+dGhpcy5qKXt2YXIgYj1NYXRoLnBvdygxMCx0aGlzLmopO2E9TWF0aC5yb3VuZChNYXRoLmFicyhhKSpiKSpNYXRoLnNpZ24oYSkvYn10aGlzLksucmVzb2x2ZWRPcHRpb25zKCk7cmV0dXJuIHRoaXMuSy5mb3JtYXQoYSl9aWYoaXNOYU4oYSkpcmV0dXJuIGRSLkJ0O2I9W107dmFyIGM9YTtpZih0aGlzLm9hPT0wKWM9c1I7ZWxzZXtjPU1hdGguYWJzKGMpO3ZhciBkPXRSKHRoaXMsYzw9MT8wOnVSKGMpKS5wbDtjPXRSKHRoaXMsZCt1UihtUih0aGlzLGtSKGMsLWQpKS5pbnRWYWx1ZSkpfWE9a1IoYSwtYy5wbCk7KGQ9YTwwfHxhPT0wJiYxL2E8MCk/Yy53bT9iLnB1c2goYy53bSk6CihiLnB1c2goYy5wcmVmaXgpLGIucHVzaCh0aGlzLkQpKTooYi5wdXNoKGMucHJlZml4KSxiLnB1c2godGhpcy5NKSk7aWYoaXNGaW5pdGUoYSkpaWYoYSo9ZD8tMToxLGEqPXRoaXMudix0aGlzLkZhKXt2YXIgZT1hO2lmKGU9PTApblIodGhpcyxlLHRoaXMubyxiKSxvUih0aGlzLDAsYik7ZWxzZXt2YXIgZj1NYXRoLmZsb29yKE1hdGgubG9nKGUpL01hdGgubG9nKDEwKSsyRS0xNSk7ZT1rUihlLC1mKTt2YXIgaD10aGlzLm87dGhpcy5aPjEmJnRoaXMuWj50aGlzLm8/KGg9ZiV0aGlzLlosaDwwJiYoaD10aGlzLloraCksZT1rUihlLGgpLGYtPWgsaD0xKTp0aGlzLm88MT8oZisrLGU9a1IoZSwtMSkpOihmLT10aGlzLm8tMSxlPWtSKGUsdGhpcy5vLTEpKTtuUih0aGlzLGUsaCxiKTtvUih0aGlzLGYsYil9fWVsc2UgblIodGhpcyxhLHRoaXMubyxiKTtlbHNlIGIucHVzaChkUi5zayk7ZD9jLnhtP2IucHVzaChjLnhtKTooaXNGaW5pdGUoYSkmJmIucHVzaChjLnN1ZmZpeCksYi5wdXNoKHRoaXMuVSkpOgooaXNGaW5pdGUoYSkmJmIucHVzaChjLnN1ZmZpeCksYi5wdXNoKHRoaXMuZ2EpKTtyZXR1cm4gYi5qb2luKCIiKX07dmFyIHlqYT0iMCIuY29kZVBvaW50QXQoMCksc1I9e3BsOjAsd206IiIseG06IiIscHJlZml4OiIiLHN1ZmZpeDoiIn07dmFyIGpWLEJqYT1qVj1qVj16amE7dmFyIGtWLENSPWtWPWtWPUFqYTt2YXIgd1I9bnVsbCx4Uj1udWxsLHlSPW51bGwsRGphPVJlZ0V4cCgiJyhbe30jXS4qPyknIiwiZyIpLENqYT1SZWdFeHAoIicnIiwiZyIpO3pSLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYodGhpcy52KXt0aGlzLkQ9W107dmFyIGI9RWphKHRoaXMsdGhpcy52KTt0aGlzLm89SFIodGhpcyxiKTt0aGlzLnY9bnVsbH1pZih0aGlzLm8mJnRoaXMuby5sZW5ndGghPTApZm9yKHRoaXMuaj1fLnliKHRoaXMuRCksYj1bXSxBUih0aGlzLHRoaXMubyxhLCExLGIpLGE9Yi5qb2luKCIiKTt0aGlzLmoubGVuZ3RoPjA7KWE9YS5yZXBsYWNlKHRoaXMuQih0aGlzLmopLFN0cmluZyh0aGlzLmoucG9wKCkpLnJlcGxhY2UoIiQiLCIkJCQkIikpO2Vsc2UgYT0iIjtyZXR1cm4gYX07dmFyIEVSPS9eXHMqKFx3KylccyosXHMqcGx1cmFsXHMqLCg/OlxzKm9mZnNldDooXGQrKSk/LyxGUj0vXlxzKihcdyspXHMqLFxzKnNlbGVjdG9yZGluYWxccyosLyxHUj0vXlxzKihcdyspXHMqLFxzKnNlbGVjdFxzKiwvOwp6Ui5wcm90b3R5cGUuQj1mdW5jdGlvbihhKXtyZXR1cm4iXHVmZGRmXyIrKGEubGVuZ3RoLTEpLnRvU3RyaW5nKDEwKSsiXyJ9O3ZhciBUamE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9WWxhfHxnVn1mb3JtYXQoYSl7dmFyIGI9W10sYz1hLnllYXJzLGQ9YS5tb250aHMsZT1hLndlZWtzLGY9YS5kYXlzLGg9YS5ob3VycyxrPWEubWludXRlczthPWEuc2Vjb25kcztjIT1udWxsJiZiLnB1c2goSVIodGhpcyxjLCJ5ZWFycyIpKTtkIT1udWxsJiZiLnB1c2goSVIodGhpcyxkLCJtb250aHMiKSk7ZSE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZSwid2Vla3MiKSk7ZiE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZiwiZGF5cyIpKTtoIT1udWxsJiZiLnB1c2goSVIodGhpcyxoLCJob3VycyIpKTtrIT1udWxsJiZiLnB1c2goSVIodGhpcyxrLCJtaW51dGVzIikpO2EhPW51bGwmJmIucHVzaChJUih0aGlzLGEsInNlY29uZHMiKSk7cmV0dXJuKG5ldyBYbGEpLmZvcm1hdChiKX19Oy8qCgogTUlUIExpY2Vuc2UKCiBDb3B5cmlnaHQgKGMpIDIwMTcgQWxleGFuZGVyIFJlYXJkb24KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogU09GVFdBUkUKKi8KdmFyIFpsYT0oYSxiKT0+e2lmKGEubGVuZ3RoIT09Yi5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDsrK2MpaWYoYVtjXSE9PWJbY10pcmV0dXJuITE7cmV0dXJuITB9O3ZhciBsVj1uZXcgXy5JKCJ3YXRjaE9uWW91dHViZUJ1dHRvblZpZXdNb2RlbCIpO3ZhciBFa2E9bmV3IF8uSSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKSxtVj1uZXcgXy5JKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNDb2xsYXBzZWRSZW5kZXJlciIpLG5WPW5ldyBfLkkoImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgT1M9bmV3IF8uSSgiZW1iZWRzSW5mb1BhbmVsUmVuZGVyZXIiKTt2YXIgJGxhPW5ldyBfLkkoIm1vYmlsZVRvcGJhclJlbmRlcmVyIik7dmFyIGFtYT1uZXcgXy5JKCJjYWxsVG9BY3Rpb25CdXR0b25WaWV3TW9kZWwiKTt2YXIgYm1hPW5ldyBfLkkoImludGVyc3RpdGlhbFZpZXdNb2RlbCIpO3ZhciBkbGE9bmV3IF8uSSgiY2luZW1hdGljQ29udGFpbmVyUmVuZGVyZXIiKTt2YXIgamthPW5ldyBfLkkoInZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsIik7dmFyIERrYT1uZXcgXy5JKCJmdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWwiKTt2YXIgb1Y9bmV3IF8uSSgicGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlciIpLHBWPW5ldyBfLkkoInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBLUz1uZXcgXy5JKCJxdWlja0FjdGlvbnNWaWV3TW9kZWwiKTt2YXIgY21hPW5ldyBfLkkoInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIik7dmFyIEFsYT1uZXcgXy5JKCJjb25maXJtRGlhbG9nUmVuZGVyZXIiKTt2YXIgbWxhPW5ldyBfLkkoImJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyIik7dmFyIGRtYT1uZXcgXy5JKCJkaWFsb2dIZWFkZXJWaWV3TW9kZWwiKTt2YXIgZW1hPW5ldyBfLkkoImRpYWxvZ1ZpZXdNb2RlbCIpO3ZhciBXVT1uZXcgXy5JKCJwbGF5ZXJUb2FzdENvbW1hbmQiKTt2YXIgdmthPW5ldyBfLkkoImF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIiKTt2YXIgeGthPW5ldyBfLkkoImRlY29yYXRlZFBsYXllckJhclJlbmRlcmVyIiksRFM9bmV3IF8uSSgibXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXIiKSxlVD1uZXcgXy5JKCJjaGFwdGVyUmVuZGVyZXIiKTt2YXIgeWthPW5ldyBfLkkoImRlY29yYXRlZFBsYXloZWFkUmVuZGVyZXIiKTt2YXIgQWthPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50T3ZlcmxheVJlbmRlcmVyIiksQmthPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyUmVuZGVyZXIiKSxmbWE9bmV3IF8uSSgiZnVsbHNjcmVlbkVuZ2FnZW1lbnRBY3Rpb25CYXJTYXZlQnV0dG9uUmVuZGVyZXIiKTt2YXIgZ21hPW5ldyBfLkkoImhlYXRNYXJrZXJSZW5kZXJlciIpO3ZhciB3a2E9bmV3IF8uSSgiaGVhdG1hcFJlbmRlcmVyIik7dmFyIHFWPW5ldyBfLkkoInRpbWVkTWFya2VyRGVjb3JhdGlvblJlbmRlcmVyIik7dmFyIGhtYT1bImVuLUNBIiwiZW4iLCJlcy1NWCIsImZyLUNBIl07dmFyIHJWO3JWPXticm93c2VFbmRwb2ludDp7YnJvd3NlSWQ6IkZFd2hhdF90b193YXRjaCJ9LGNvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6Ii8iLHJvb3RWZTozODU0LHdlYlBhZ2VUeXBlOiJXRUJfUEFHRV9UWVBFX0JST1dTRSJ9fX07dmFyIEtSPSExO3ZhciBLamE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89dGhpcy5qPTA7dGhpcy5qPWIueC1hLng7dGhpcy5vPWIueS1hLnl9fTt2YXIgJFQ9Xy5ndSh2b2lkIDAsIkJERXFKYiIpO3ZhciBzVj13aW5kb3csWj1zVi5HSHx8ImVuLVVTIixTamE9c1YuSEh8fENSLFlsYT1zVi5GSHx8Z1Y7dmFyIFFSO3ZhciB1a2E9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5IPWF9dG9nZ2xlRnVsbHNjcmVlbigpe3RoaXMuSC50b2dnbGVGdWxsc2NyZWVuKCl9ZXhpdEZ1bGxzY3JlZW4oKXt0aGlzLmlzRnVsbHNjcmVlbigpJiZ0aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKX1pc0Z1bGxzY3JlZW4oKXtyZXR1cm4gdGhpcy5ILmlzRnVsbHNjcmVlbigpfX07dmFyIFRSPV8uTCgoe3RhOmF9KT0+Xy5LKF8uZkose2RhdGE6KCk9Pnt2YXIgYj1jUih7dGl0bGU6Xy5JUChfLiROLm5rKSxrbDphKCkuZGUoKSxpY29uVHlwZToiQVVUT1BMQVkiLEVrOl8uJE4ubmssRGs6Xy4kTi5ua30pO3JldHVybiBfLkIoYixfLk1QKX0sb25UYXA6ZnVuY3Rpb24oYil7dmFyIGM9IWEoKS5kZSgpO2EoKS5SaihjLCEwKTtiLnN0b3BQcm9wYWdhdGlvbigpO18uWE0oInBmcC1hdXRvbmF2LXVwZGF0ZSIse2F1dG9uYXZFbmFibGVkOmN9KX19KSwiWWIiKTtUUi5pZG9tQ29tcGF0PSEwO3ZhciBpbWE9Xy4kTi5hdSxjUz1fLkwoKCk9Pnt2YXIgYT0oKT0+Xy5CKGJSKHt0aXRsZTpfLklQKGltYSksaWNvblR5cGU6IlBFUlNPTl9DSVJDTEUifSksXy5aQyk7cmV0dXJuIF8uSyhfLkNELHtkYXRhOmEsSWE6ITAsb25UYXA6KCk9Pnt2YXIgYj1fLktPKCk/Xy5GTygiLy95b3V0dWJlLmNvbS9zaWduaW4iLCJuZXh0IiwiL3NpZ25pbj9hY3Rpb25fY2xvc2VfdGFiPXRydWUiKTpfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9FTUJFRERFRF9QTEFZRVIiP18uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsIi9wb3N0X2xvZ2luIik6Xy5GTygiLy95b3V0dWJlLmNvbS9zaWduaW4iLCJuZXh0Iixsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5zZWFyY2gpO18uQUooe3NpZ25JbkVuZHBvaW50Ont9LGNvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6Yn19fSxhKCksITEpfX0pfSwiWmIiKTtjUy5pZG9tQ29tcGF0PSEwO3ZhciBqbWE9Xy4kTi5XcyxrbWE9Xy4kTi5ZcyxsbWE9Xy4kTi5UbixWamE9Xy5MKCh7ZnY6YX0pPT57dmFyIGI9ImNvcHktZGVidWctaW5mby10ZXh0YXJlYSIrXy5PSCgpO3JldHVybiBfLksoXy5yRSx7UWc6KCk9Pl8uSyhfLkFQLG51bGwsbG1hKSxxazooKT0+Xy5LKCJ0ZXh0YXJlYSIse2NsYXNzOiJjb3B5RGVidWdJbmZvUGxheWVyRGVidWdJbmZvIixpZDpifSxhKSxFejooKT0+Xy5LKF8uelAsbnVsbCxfLksoXy5KSyx7ZGF0YTp7YnV0dG9uVGV4dDpqbWEsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUiLHNpemU6Ik0iLG9uVGFwOigpPT57Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfX19KSksUHI6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKF8uSksse2RhdGE6e2J1dHRvblRleHQ6a21hLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOiJNIixvblRhcDooKT0+e18uc1AoYik7Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfX19KSl9KX0sCiIkYiIpO3ZhciBtbWE9Xy4kTi5UbiwkUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChtbWEpLGljb25UeXBlOiJCVUdfUkVQT1JUIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57V2phKGEoKSl9fSksImFjIik7JFIuaWRvbUNvbXBhdD0hMDt2YXIgbm1hPV8uJE4uWnMsWlI9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAobm1hKSxpY29uVHlwZToiQ09ERSJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e3ZhciBiPWEoKS5nZXRWaWRlb0VtYmVkQ29kZSgpO2ImJmImJndpbmRvdy5uYXZpZ2F0b3I/LmNsaXBib2FyZCYmd2luZG93Lm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGIpfX0pLCJiYyIpO1pSLmlkb21Db21wYXQ9ITA7dmFyIG9tYT1fLiROLmJ0LHBtYT1fLiROLmZ0LFdSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKG9tYSksaWNvblR5cGU6IkxJTksifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntSUihhKCksITEpfX0pLCJjYyIpO1dSLmlkb21Db21wYXQ9ITA7dmFyIFlSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHBtYSksaWNvblR5cGU6IkxJTksifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntSUihhKCksITApfX0pLCJkYyIpO1lSLmlkb21Db21wYXQ9ITA7dmFyIHRWPV8uJE4udXQsVlI9Xy5MKCh7SDphfSk9Pl8uSyhfLmZKLHtkYXRhOigpPT57dmFyIGI9Y1Ioe3RpdGxlOl8uSVAodFYpLGtsOmEoKS5nZXRMb29wVmlkZW8oKSxFazp0VixEazp0VixpY29uVHlwZToiTE9PUCJ9KTtyZXR1cm4gXy5CKGIsXy5NUCl9LG9uVGFwOmI9PnthKCkuc2V0TG9vcFZpZGVvKCFhKCkuZ2V0TG9vcFZpZGVvKCkpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fSksImVjIik7VlIuaWRvbUNvbXBhdD0hMDt2YXIgVVI9Xy5MKCh7SDphfSk9Pl8uSygic3RhYmxlLXZvbHVtZS10b2dnbGUiLHtjbGFzczoic3RhYmxlVm9sdW1lVG9nZ2xlSG9zdCJ9LF8uSyhfLmZKLHtkYXRhOigpPT5fLkIoY1Ioe3RpdGxlOl8uSVAoXy4kTi55ayksa2w6YSgpLmhhc0RyY0F1ZGlvVHJhY2soKSYmYSgpLmdldERyY1VzZXJQcmVmZXJlbmNlKCk9PT0xLGljb25UeXBlOiJWT0xVTUVfU1RBQkxFIixFazpfLiROLnlrLERrOl8uJE4ueWssaXNEaXNhYmxlZDohYSgpLmhhc0RyY0F1ZGlvVHJhY2soKX0pLF8uTVApLG9uVGFwOmZ1bmN0aW9uKGIpe2EoKS5zZXREcmNVc2VyUHJlZmVyZW5jZShhKCkuaGFzRHJjQXVkaW9UcmFjaygpJiZhKCkuZ2V0RHJjVXNlclByZWZlcmVuY2UoKT09PTE/MDoxKTtiLnN0b3BQcm9wYWdhdGlvbigpfX0pKSwiZmMiKTtVUi5pZG9tQ29tcGF0PSEwO3ZhciBxbWE9Xy4kTi5idSxiUz1fLkwoKHtIOmF9KT0+e3ZhciBiPSgpPT5fLkIoYlIoe3RpdGxlOl8uSVAocW1hKSxpY29uVHlwZToiSU5GTyJ9KSxfLlpDKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ISFhKCkuZ2V0VmlkZW9EYXRhLHRoZW46KCk9Pl8uSyhfLkNELHtkYXRhOmIsSWE6ITAsb25UYXA6KCk9Pnt2YXIgYz1hKCk7IWMuZ2V0VmlkZW9EYXRhfHwoYy5pc1ZpZGVvSW5mb1Zpc2libGUoKT9jLmhpZGVWaWRlb0luZm8oKTpjLnNob3dWaWRlb0luZm8oKSl9fSl9KX0sImdjIik7YlMuaWRvbUNvbXBhdD0hMDt2YXIgcm1hPV8uJE4uZHUsYVM9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAocm1hKSxpY29uVHlwZToiUVVFU1RJT05fQ0lSQ0xFIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57YSgpLnJlcG9ydFBsYXliYWNrSXNzdWUmJihhKCkucmVwb3J0UGxheWJhY2tJc3N1ZSgpLF8ucVAoe2hyZWY6Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvP3A9cmVwb3J0X3BsYXliYWNrIn0pKX19KSwiaGMiKTthUy5pZG9tQ29tcGF0PSEwO3ZhciBzbWE9Xy4kTi53dCxvUz1fLkwoKHtIOmEsb2g6Yix0YTpjLHRBOmR9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChzbWEpLGljb25UeXBlOiJPVVRMSU5FX09WRVJGTE9XX0hPUklaT05UQUxfMzIifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntYamEoYSgpLGIoKSxjPy4oKSxkPy4oKSl9fSksImljIik7b1MuaWRvbUNvbXBhdD0hMDt2YXIgZ2thPV8uJE4ubW8sWWphPV8uJE4ubm8sWmphPV8uJE4uVHQsZmthPV8uJE4uUnQsZWthPV8uJE4uU3QsaGthPV8uJE4uWHQsYWthPVs1MCwxMDAsMTI1LDE1MCwxNzUsMjAwXSwkamE9WzEwMCwxMjUsMTUwLDE3NSwyMDAsMzAwXSxja2E9WzUwLDEwMCwxMjUsMTUwLDIwMF0sYmthPVsxMDAsMTI1LDE1MCwyMDAsMzAwXSxoUzt2YXIgdG1hPV8uJE4ubW8sdW1hPV8uJE4ubm8sbVM9Xy5MKCh7SDphfSk9Pnt2YXIgYj0oKT0+e3ZhciBkPWEoKT8uZ2V0UGxheWJhY2tSYXRlKCksZT1fLmFBKCJQTEFZQkFDS19TUEVFRF9YIix7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcjpgJHtkfWB9KTtyZXR1cm4gXy5CKGJSKHt0aXRsZTpfLklQKHRtYSksc2VsZWN0aW9uVGV4dDpfLklQKGQ9PT0xP3VtYTplKSxpY29uVHlwZToiUExBWV9BUlJPV19IQUxGX0NJUkNMRSJ9KSxfLlpDKX0sYz0oKT0+e2trYShhKCkpfTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ISFhKCk/LmdldFBsYXliYWNrUmF0ZSgpLHRoZW46KCk9Pl8uSyhfLkNELHtkYXRhOmIsSWE6ITAsb25UYXA6Y30pfSl9LCJqYyIpO21TLmlkb21Db21wYXQ9ITA7dmFyIHZtYT1fLiROLk5zLG5TPV8uTCgoKT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOl8uSVAodm1hKSxsaXN0SXRlbUljb25BZnRlclNlbGVjdGlvblRleHQ6IkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX0RFRkFVTFQiLGxlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6IlBFUlNPTl9SQURBUiJ9fV19LGVudGl0eUtleToiRWlvdmVXOTFkSFZpWlM5aGNIQXZjR3hoZVdWeVgyRjFaR2x2WDNSeVlXTnJYMlZ1ZEdsMGVWOXJaWGtnX2dJb0FRJTNEJTNEIixlbnRpdHlTZWxlY3RvclR5cGU6IkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0FVRElPX1RSQUNLX1NFTEVDVElPTl9URVhUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6W3tzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQ6e319XX19fX19fX0sCl8uWkMpLElhOiEwfSksImtjIik7blMuaWRvbUNvbXBhdD0hMDt2YXIgd21hPV8uJE4uRXQseG1hPV8uJE4uRnQscGthPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBiPWEoKT8uZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrIiksYz10eXBlb2YgYj8udHJhbnNsYXRpb25MYW5ndWFnZT09PSJvYmplY3QiJiZiLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8Yj8uZGlzcGxheU5hbWV8fCIiO3JldHVybiBfLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKHdtYSksbGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0OiJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9ERUZBVUxUIixzZWxlY3Rpb25UZXh0Ontjb250ZW50OmM/Yzp4bWF9LGxlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6Yz8iQ0xPU0VEX0NBUFRJT05fU0VMRUNURUQiOiJDTE9TRURfQ0FQVElPTiJ9fV19LGVudGl0eUtleToiRWk4dmVXOTFkSFZpWlM5aGNIQXZjR3hoZVdWeVgyTmhjSFJwYjI1ZmJHRnVaM1ZoWjJWZlpXNTBhWFI1WDJ0bGVTRC1BaWdCIiwKZW50aXR5U2VsZWN0b3JUeXBlOiJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DQVBUSU9OX0xBTkdVQUdFX1NFTEVDVElPTl9URVhUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6W3tzaG93Q2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7fX1dfX19fX0saXNEaXNhYmxlZDp0eXBlb2YgYj09PSJ1bmRlZmluZWQifX0sXy5aQyl9LElhOiEwfSksImxjIik7dmFyIGxrYT17YXV0bzowLHRpbnk6MTQ0LGxpZ2h0OjE0NCxzbWFsbDoyNDAsbWVkaXVtOjM2MCxsYXJnZTo0ODAsaGQ3MjA6NzIwLGhkMTA4MDoxMDgwLGhkMTQ0MDoxNDQwLGhkMjE2MDoyMTYwLGhkMjg4MDoyODgwLGhpZ2hyZXM6NDMyMH07dmFyIHltYT1fLiROLk50LG1rYT1fLiROLk90LGxTPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBiPWJSKHt0aXRsZTpfLklQKHltYSksc2VsZWN0aW9uVGV4dDpfLklQKGtTKGEoKSxhKCkuZ2V0UGxheWJhY2tRdWFsaXR5KCkpKSxpY29uVHlwZToiT1VUTElORV9BREpVU1QifSk7cmV0dXJuIF8uQihiLF8uWkMpfSxJYTohMCxvblRhcDooKT0+e2EoKS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzKCkmJm9rYShhKCkpfX0pLCJtYyIpO2xTLmlkb21Db21wYXQ9ITA7CnZhciBua2E9Xy5MKCh7SDphfSk9Pl8uSyhfLmdHLHtwYTooKT0+YSgpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSx0YjoiSU5ERVgifSxiPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBjPWIoKSxkPWEoKS5nZXRQcmVmZXJyZWRRdWFsaXR5KCk7Yz1iUih7dGl0bGU6Xy5JUChrUyhhKCksYykpLGljb25UeXBlOmM9PT1kPyJDSEVDSyI6dm9pZCAwfSk7cmV0dXJuIF8uQihjLF8uWkMpfSxJYTohMCxvblRhcDooKT0+e3ZhciBjPWIoKTthKCkuc2V0UGxheWJhY2tRdWFsaXR5UmFuZ2UoYyxjKX19KSksIm5jIik7dmFyIFJTPW5ldyBTZXQsUVM9bnVsbDt2YXIgVFM9bnVsbCxWUz17fTt2YXIgdVY9Xy5MKGE9Pnt2YXIgYj1fLnZFKCJidXR0b24iLGQ9PntkJiZXUyhkLDI4NTcyLCFfLngoImVtYmVkc19jdWVkX292ZXJsYXlfdmVfa3MiKSl9KSxjPSgpPT5hLkcoKS5IPy5pc0VtYmVkc1Nob3J0c01vZGU/LigpO3JldHVybiBfLksoImN1ZWQtb3ZlcmxheSIse2NsYXNzOl8uUCgieXRtQ3VlZE92ZXJsYXlIb3N0Iix7eXRtQ3VlZE92ZXJsYXlIaWRkZW46KCk9PiEkUyhhLkcoKSxhLnBsYXlhYmlsaXR5U3RhdHVzPy4oKSl9KSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2IudmFsdWUmJihYUygyODU3MiksYS5HKCkuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCxfLksudmlzdWFsRWxlbWVudCksYS5IPy4oKS5wbGF5VmlkZW8oKSk7ZC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PiFhLkcoKS5iYT8uaGlkZVZpZGVvSW5mbyYmIXVTKGEuRygpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1DdWVkT3ZlcmxheUdyYWRpZW50In0pfSksXy5LKCJidXR0b24iLAp7Y2xhc3M6Xy5QKCJ5dG1DdWVkT3ZlcmxheVBsYXlCdXR0b24iLHt5dG1DdWVkT3ZlcmxheVNob3J0czpjfSksZWw6YiwiYXJpYS1sYWJlbCI6Xy4kTi5QZyx0aXRsZTpfLiROLlBnfSxfLksoXy5NRCx7aWNvbjooKT0+YygpPyJZT1VUVUJFX1NIT1JUU19CUkFORF8yNCI6IkxPR08iLGNsYXNzTmFtZToieXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uSWNvbiJ9KSkpfSwib2MiKTt1Vi5pZG9tQ29tcGF0PSEwO3ZhciBhVDt2YXIgQW1hPV8uTCgoe0p6OmEsbXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXI6Yixwcm9ncmVzc0JhcldpZHRoOmMscHJvZ3Jlc3NDb2xvcjpkfSk9Pnt2YXIgZT0oKT0+Z1QoYigpKSxmPSgpPT5qVChhKCkpLGg9KCk9PmMoKSooYSgpLnZhL2EoKS52aWRlb0R1cmF0aW9uKTtyZXR1cm4gXy5LKCJ5dC1jaGFwdGVyZWQtcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRDaGFwdGVyZWRQcm9ncmVzc0Jhckhvc3QifSxfLksoXy5nRyx7cGE6ZX0sKGssbCk9Pl8uSyh6bWEse055OmYsY2hhcHRlcnM6ZSxpbmRleDpsLEN6OmgscHJvZ3Jlc3NDb2xvcjpkLER1OigpPT57dmFyIG09alQoYSgpKSxuPWdUKGIoKSkscD1sKCkscj1oKCk7cmV0dXJuKG0udmEtaFQoXy5CKG5bcF0sZVQpKSkvbS52YSpyfX0pKSl9LCJwYyIpLHptYT1fLkwoKHtOeTphLGNoYXB0ZXJzOmIsaW5kZXg6YyxDejpkLER1OmUscHJvZ3Jlc3NDb2xvcjpmfSk9Pnt2YXIgaD1fLlAoInl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyIiwKe3l0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVySXNTY3J1YmJpbmc6KCk9PmsoKS5ibSx5dENoYXB0ZXJlZFByb2dyZXNzQmFySG92ZXJlZE1hY3JvTWFya2VyOigpPT5rKCkuQmcseXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJTZWVuOigpPT5rKCkuTGQ9PT0ic2VlbiJ9KSxrPSgpPT5pVChhKCksYigpLGMoKSksbD0oKT0+e3ZhciBtPWY/LigpO3JldHVybiBtIT09dm9pZCAwP18uSkUobSk6dm9pZCAwfTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpoLHN0eWxlOl8uSUUoe3dpZHRoOigpPT57dmFyIG09YSgpLG49YigpLHA9YygpLHI9Xy5CKG5bcF0sZVQpO249Xy5CKG5bcCsxXSxlVCk7cmV0dXJuYCR7KG4/aFQobiktaFQocik6bS52aWRlb0R1cmF0aW9uLWhUKHIpKS9tLnZpZGVvRHVyYXRpb24qMTAwfSVgfSwiYmFja2dyb3VuZC1jb2xvciI6KCk9PnthOnt2YXIgbT1rKCk7c3dpdGNoKG0uTGQpe2Nhc2UgInBlbmRpbmciOm09Cm0uQmc/IndoaXRlIjoicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSI7YnJlYWsgYTtjYXNlICJhY3RpdmUiOm09bS5CZz8id2hpdGUiOiJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpIjticmVhayBhO2RlZmF1bHQ6bT0iIn19cmV0dXJuYCR7bX1gfSwiYmFja2dyb3VuZC1zaXplIjooKT0+YCR7b1QoaygpKT9kKCk6IiJ9cHhgLCJiYWNrZ3JvdW5kLXBvc2l0aW9uLXgiOigpPT5gJHtvVChrKCkpP2UoKToiIn1weGAsYmFja2dyb3VuZDooKT0+aygpLkxkPT09InNlZW4iP2woKTp2b2lkIDB9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckxvYWRlZCIsc3R5bGU6KCk9Pnt2YXIgbT1hKCksbj1iKCkscD1jKCk7aWYoaVQobSxuLHApLkxkPT09InNlZW4iKXZhciByPTA7ZWxzZSByPWhUKF8uQihuW3BdLGVUKSksbj1oVChfLkIobltwKzFdLGVUKSl8fG0udmlkZW9EdXJhdGlvbixtPW0udmlkZW9EdXJhdGlvbiptLlFtLHI9bjw9Cm0/MTpyPj1tPzA6KG0tcikvKG4tcik7cmV0dXJuYHdpZHRoOiAke3IqMTAwfSVgfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJGaWxsIixzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7blQoYSgpLGIoKSxjKCkpKjEwMH0lYCwiYmFja2dyb3VuZC1zaXplIjooKT0+YCR7b1QoaygpLG5UKGEoKSxiKCksYygpKSk/ZCgpOiIifXB4YCwiYmFja2dyb3VuZC1wb3NpdGlvbi14IjooKT0+YCR7b1QoaygpLG5UKGEoKSxiKCksYygpKSk/ZSgpOiIifXB4YCxiYWNrZ3JvdW5kOmx9KX0pKX0sInFjIik7dmFyIHZWPV8uTCgoe0xiOmEsY29uZmlnOmJ9KT0+e3ZhciBjPSgpPT57dmFyIGQ9KGIoKS5TaT8uTXU/PzApKjEwMCxlPShiKCkuU2k/Lkx1Pz8wKSoxMDAsZj1lLWQ7cmV0dXJuIGY+MCYmZjwxMD8oZj0oMTAtZikvMixkLWY+PTAmJmUrZjwxMDA/W2QtZixlK2ZdOmQtZjwwP1swLDEwXTpbOTAsMTAwXSk6W2QsZV19O3JldHVybiBfLksoInl0LWZvY3VzZWQtY2hhcHRlci1wcm9ncmVzcy1iYXItbGluZSIse2NsYXNzOiJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lIix7eXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZVJvdW5kZWQ6KCk9PmIoKS5Yeix5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lQm90dG9tSW5zZXQ6KCk9PmIoKS5wb3NpdGlvbj09PTJ9KX0sXy5LKCJkaXYiLAp7Y2xhc3M6Inl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmQiLHN0eWxlOigpPT5gd2lkdGg6ICR7YygpWzFdLWMoKVswXX0lOyBsZWZ0OiAke2MoKVswXX0lYH0sXy5LKCJkaXYiLHtjbGFzczoieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVkIixzdHlsZTooKT0+e3ZhciBkPWIoKS5TaT8uTXU/PzAsZT1iKCkuU2k/Lkx1Pz8wLGY9d1MoYSgpKTtyZXR1cm5gd2lkdGg6ICR7ZjxkPzA6Zj5lfHxlPT09ZD8xMDA6KGYtZCkvKGUtZCkqMTAwfSU7YH19KSkpKX0sInJjIik7dlYuaWRvbUNvbXBhdD0hMDt2YXIgQm1hPSgoYSxiPVpsYSk9Pnt2YXIgYyxkPVtdLGUsZj0hMTtyZXR1cm4gZnVuY3Rpb24oLi4uaCl7aWYoZiYmYz09PXRoaXMmJmIoaCxkKSlyZXR1cm4gZTtlPWEuYXBwbHkodGhpcyxoKTtmPSEwO2M9dGhpcztkPWg7cmV0dXJuIGV9fSkoYT0+e3ZhciB7bWluSGVpZ2h0RHA6Yj0wLG1heEhlaWdodERwOmM9NjAsaGVhdE1hcmtlcnM6ZH09YSxlPTFFMy9kLmxlbmd0aDthPVtdO2EucHVzaCh7eDowLHk6MTAwfSk7Zm9yKHZhciBmPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBoPShmKy41KSplLGs9MTAwLURRKChfLkIoZFtmXSxnbWEpPy5oZWF0TWFya2VySW50ZW5zaXR5U2NvcmVOb3JtYWxpemVkfHwwKSoxMDAsYi8zMjEqMTAwLGMvMzIxKjEwMCk7ZiE9PTB8fGEucHVzaCh7eDowLHk6a30pO2EucHVzaCh7eDpoLHk6a30pO2Y9PT1kLmxlbmd0aC0xJiZhLnB1c2goe3g6MUUzLHk6a30pfWEucHVzaCh7eDoxRTMseToxMDB9KTtlPSIiO2ZvcihmPTA7ZjxhLmxlbmd0aDtmKyspe2g9CmFbZl07aWYoZj09PTApaD1gTSAke2gueC50b0ZpeGVkKDEpfSwke2gueS50b0ZpeGVkKDEpfWA7ZWxzZXtrPUxSKGFbZi0xXSxhW2YtMl0saCk7bGV0IGw9TFIoaCxhW2YtMV0sYVtmKzFdLCEwKTtoPWAgJHtgQyAke2sueC50b0ZpeGVkKDEpfSwke2sueS50b0ZpeGVkKDEpfSAke2wueC50b0ZpeGVkKDEpfSwke2wueS50b0ZpeGVkKDEpfSAke2gueC50b0ZpeGVkKDEpfSwke2gueS50b0ZpeGVkKDEpfWB9YH1lKz1ofXJldHVybiBlfSk7dmFyIENtYT1fLkwoKHtMYjphLGNvbmZpZzpiLGhpZ2hDb250cmFzdDpjfSk9PntjPV8uUCgieXRIZWF0U2Vla2VySG9zdCIse3l0SGVhdFNlZWtlckhpZ2hDb250cmFzdDpjfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLWhlYXRzZWVrZXIiLHtjbGFzczpjLHN0eWxlOigpPT5gaGVpZ2h0OiAzMjBweDsgZGlzcGxheTogJHthKCkuaXNEcmFnZ2luZyYmRlMoYigpLlJhKT8uaGVhdE1hcmtlcnM/ImJsb2NrIjoibm9uZSJ9YH0sXy5LKF8uTyx7QTooKT0+RlMoYigpLlJhKSx0aGVuOmQ9Pl8uSyhfLk8se0E6KCk9PmQoKS5oZWF0TWFya2Vycyx0aGVuOigpPT5fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjMyMHB4Iix2aWV3Qm94OiIwIDAgMTAwMCAxMDAiLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUifSxfLksoInBhdGgiLHtkOigpPT5CbWEoZCgpKX0pKSxkZWJ1Z0luc3RhbmNlOiJHamkwU2UifSksZGVidWdJbnN0YW5jZToiaVZUWHdmIn0pKX0sInNjIik7dmFyIHdWPV8uTCgoe0xiOmEsY29uZmlnOmJ9KT0+e3ZhciBjPV8uUCgieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmUiLHt5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZVJvdW5kZWQ6KCk9PmIoKS5Yeix5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0OigpPT5iKCkucG9zaXRpb249PT0yfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpjfSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyQmFja2dyb3VuZCJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTG9hZGVkIixzdHlsZTooKT0+YHdpZHRoOiAke2EoKS5RbSoxMDB9JWB9KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFySG92ZXJlZCIsc3R5bGU6KCk9Pnt2YXIgZD0KYSgpO3JldHVybmB3aWR0aDogJHsoZC52aWRlb0R1cmF0aW9uP0RRKGQuZGovZC52aWRlb0R1cmF0aW9uLDAsMSk6MCkqMTAwfSVgfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJQbGF5ZWQiLHN0eWxlOl8uSUUoe3dpZHRoOigpPT5gJHt3UyhhKCkpKjEwMH0lYCxiYWNrZ3JvdW5kOigpPT5iKCkucHJvZ3Jlc3NDb2xvciE9PXZvaWQgMD9fLkpFKGIoKS5wcm9ncmVzc0NvbG9yKTp2b2lkIDB9KX0pKSl9LCJ0YyIpO3dWLmlkb21Db21wYXQ9ITA7dmFyIHhWPV8uTCgoe0xiOmEsaGY6YixCeDpjLFd3OmR9KT0+e3ZhciBlPV8uUCgieXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZERvdCIse3l0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZTooKT0+YSgpLmlzRHJhZ2dpbmcseXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZERvdEhpZGU6KCk9PiFhKCkuaXNEcmFnZ2luZyYmZCgpfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLXBsYXloZWFkIix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJQbGF5aGVhZEhvc3QiLHN0eWxlOl8uSUUoeyJtYXJnaW4tbGVmdCI6KCk9PmAke3hTKGEoKSkqMTAwfSVgLHRyYW5zZm9ybTooKT0+Yj8uKCk/LnBsYXloZWFkSW1hZ2U/YHRyYW5zbGF0ZVgoLSR7YygpP3hTKGEoKSkqMjA6MTB9cHgpYDpgdHJhbnNsYXRlWCgtJHtjKCk/eFMoYSgpKSoxMjo2fXB4KWB9KX0sXy5LKF8uTyx7QTooKT0+Yj8uKCk/LnBsYXloZWFkSW1hZ2UsCnRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b20iLHt5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2U6KCk9PmEoKS5pc0RyYWdnaW5nLHl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b21IaWRlOigpPT4hYSgpLmlzRHJhZ2dpbmcmJmQoKX0pLHN0eWxlOl8uSUUoeyJ0cmFuc2Zvcm0tb3JpZ2luIjooKT0+YCR7YygpP3hTKGEoKSkqMjA6MTB9cHggY2VudGVyYH0pfSxfLksoXy5qRix7ZGF0YTpmLGFsdDoiIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixUYjohMX0pKSxXOigpPT5fLksoImRpdiIse2NsYXNzOmUsc3R5bGU6Xy5JRSh7InRyYW5zZm9ybS1vcmlnaW4iOigpPT5gJHtjKCk/eFMoYSgpKSoxMjo2fXB4IGNlbnRlcmB9KX0pfSkpfSwidWMiKTt4Vi5pZG9tQ29tcGF0PSEwO3ZhciBEbWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYpe3RoaXMuST1hO3RoaXMuQj1iO3RoaXMuSz1jO3RoaXMuVT1kO3RoaXMuWj1lO3RoaXMuTT1mO3RoaXMuc3RhcnRQb3NpdGlvbj1udWxsO3RoaXMuaj10aGlzLnY9dGhpcy5vPSExO3RoaXMuRD1uZXcgXy5XdCh0aGlzLlksMTAwLHRoaXMpfVkoYSxiLGMpe2lmKGI9Yi5IKXtpZihiLmdldFZpZGVvRGF0YSgpPy5pc0xpdmUpe2xldCBkPXRoaXMuZ2V0UHJvZ3Jlc3NTdGF0ZShiKTthKz1kPy5zZWVrYWJsZVN0YXJ0fHwwfWIuc2Vla1RvKGEsdm9pZCAwLHZvaWQgMCx2b2lkIDAsYyl9fWdldFByb2dyZXNzU3RhdGUoYSl7dmFyIGI9YT8uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtyZXR1cm4gYT8uZ2V0UHJvZ3Jlc3NTdGF0ZShiKX19O3ZhciBGbWE9Xy5MKCh7TGI6YSxjb25maWc6YixabTpjLFJhOmR9KT0+e3ZhciBlPURUKGEsKCk9PmIoKS5JYiksZj0oKT0+IWEoKS5RYyYmIWIoKS5JYixoPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkSG9zdCIsInl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZCIse3l0UGxheWVyU3Rvcnlib2FyZEhvc3RNd2ViU2hvcnRzOigpPT5iKCkuSWImJiEwfSk7cmV0dXJuIF8uSygieXQtcGxheWVyLXN0b3J5Ym9hcmQiLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmlzRHJhZ2dpbmd8fGEoKS5RYyx0aGVuOigpPT5fLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6aCwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKHlWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KSksVzooKT0+Xy5LKEVtYSx7cHJvcHM6YSxmcmFtZTplLGNvbmZpZzpiLFptOmMsUmE6ZH0pfSl9KX0pKX0sInZjIiksR21hPV8uTCgoe0xiOmEsSWI6Yn0pPT4Ke3ZhciBjPURUKGEsYik7cmV0dXJuIF8uSygieXQtcGxheWVyLWJpZy1zdG9yeWJvYXJkIix7Y2xhc3M6Inl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlciJ9LF8uSyhfLk8se0E6KCk9PmEoKS5pc0RyYWdnaW5nfHxhKCkuUWMsdGhlbjooKT0+Xy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSyh6Vix7ZnJhbWU6Yyxwcm9wczphLGVlOiEwfSl9KX0pKX0sIndjIiksRW1hPV8uTCgoe3Byb3BzOmEsZnJhbWU6Yixjb25maWc6YyxabTpkLFJhOmV9KT0+e3ZhciBmPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkSG9zdCIse3l0UGxheWVyU3Rvcnlib2FyZEhvc3RNd2ViU2hvcnRzOigpPT5jKCkuSWImJiEwLHl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXI6KCk9PmMoKS54cSx5dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUluOigpPT5jKCkudXNlRmFkZUluQW5pbWF0aW9ufSksaD0oKT0+e2lmKCFfLngoImVuYWJsZV93ZWJfd2F0Y2hfbmV4dF9pbXBfY2xpZW50Iil8fCFjKCkueHEpcmV0dXJuIDE7CnZhciBrPWEoKS5IPy5nZXRTaXplKCk/LmhlaWdodD8/MDtyZXR1cm4gaz4wJiZrPDE2MD9rLzE2MDoxfTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpmLCJhcmlhLWhpZGRlbiI6InRydWUiLHN0eWxlOl8uSUUoKCk9Pnt2YXIgaz1hKCksbD15VChiKCkpKmgoKSxtPWQoKTtrPUFUKGspL2sudmlkZW9EdXJhdGlvbjt2YXIgbj1tKmsscD1sLzIrNjtsPW0tKGwvMis2KTtyZXR1cm57bGVmdDpgJHtuPD1wP3AvbSoxMDA6bj49bD9sL20qMTAwOmsqMTAwfSVgLCItLXN0b3J5Ym9hcmQtc2NhbGUiOmAke2goKX1gfX0pfSxfLksoXy5PLHtBOigpPT57dmFyIGs9YSgpO3JldHVybiEoYygpLkliJiZrLnZpZGVvRHVyYXRpb248MTUpfSx0aGVuOigpPT5fLksoelYse2ZyYW1lOmIscHJvcHM6YSxlZTohMSx6QTpofSl9KSxfLksoeVYse3Byb3BzOmEsY29uZmlnOmMsZWU6ITEsUmE6ZX0pKX0sInhjIikselY9Xy5MKCh7ZnJhbWU6YSxwcm9wczpiLGVlOmMsekE6ZH0pPT57dmFyIGU9KCk9PmIoKS5IPy5nZXRWaWRlb0NvbnRlbnRSZWN0KCk/Pwp7d2lkdGg6MCxoZWlnaHQ6MH0sZj1fLlAoe3l0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkSW1hZ2VXcmFwcGVyOmMseXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcjooKT0+IWMoKX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmYsc3R5bGU6Xy5JRSgoKT0+KHt3aWR0aDpgJHtjKCk/ZSgpLndpZHRoOnlUKGEoKSkqKGQ/LigpPz8xKX1weGAsaGVpZ2h0OmAke2MoKT9lKCkuaGVpZ2h0OnpUKGEoKSkqKGQ/LigpPz8xKX1weGB9KSl9LF8uSyhIbWEse2ZyYW1lOmEsUEE6KCk9PnlUKGEoKSksTkE6KCk9PnpUKGEoKSksT0E6KCk9Pnt2YXIgaD15VChhKCkpO3JldHVybiBoPjA/KGMoKT9lKCkud2lkdGg6eVQoYSgpKSooZD8uKCk/PzEpKS9oOjF9fSkpfSwieWMiKSxIbWE9Xy5MKCh7ZnJhbWU6YSxQQTpiLE5BOmMsT0E6ZH0pPT5fLksoImltZyIse3NyYzooKT0+YSgpPy51cmw/PyIiLGNsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRTdG9yeWJvYXJkSW1hZ2UiLGFsdDoicHJldmlldy1pbWFnZSIsCnN0eWxlOl8uSUUoKCk9Pnt2YXIgZT1hKCk/P3tyb3c6MCxjb2x1bW46MCx3aWR0aDowLGhlaWdodDowfSxmPWIoKSxoPWMoKSxrPWQoKSx7bGVmdDpsLHRvcDptfT17bGVmdDotZS5jb2x1bW4qZiprLHRvcDotZS5yb3cqaCprfTtyZXR1cm57bGVmdDpgJHtsfXB4YCx0b3A6YCR7bX1weGAsd2lkdGg6YCR7ZS53aWR0aCprfXB4YCxoZWlnaHQ6YCR7ZS5oZWlnaHQqa31weGB9fSl9KSwiemMiKSx5Vj1fLkwoKHtwcm9wczphLGNvbmZpZzpiLGVlOmMsUmE6ZH0pPT57dmFyIGU9Xy5QKCJ5dFBsYXllclN0b3J5Ym9hcmRNZXRhZGF0YSIse3l0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhQmlnYm9hcmQ6Y30pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmV9LF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhBVix7cHJvcHM6YSxjb25maWc6Yn0pLF8uSyhfLk8se0E6KCk9PnthOnt2YXIgZj1hKCk7dmFyIGg9YigpLGs9ZCgpO2lmKGg/LlJnJiZfLkIoaD8uUmcsZVQpPy50aXRsZSlmPQohMDtlbHNle2ZvcihsZXQgbCBvZiBGUyhrKT8uaGVhdE1hcmtlcnNEZWNvcmF0aW9ucz8/W10pe2Y9KGg9Xy5CKGwscVYpKSYmQlQoZixoKTticmVhayBhfWY9ITF9fXJldHVybiBmfSx0aGVuOigpPT5fLksoQlYse3Byb3BzOmEsY29uZmlnOmIsZWU6ITAsUmE6ZH0pfSkpLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKEJWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KSxfLksoQVYse3Byb3BzOmEsY29uZmlnOmJ9KSl9KSl9LCJBYyIpLEFWPV8uTCgoe3Byb3BzOmEsY29uZmlnOmJ9KT0+e3ZhciBjPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wIix7eXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wU2hvcnRzOigpPT5iKCkuSWIseXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wSXNIb3ZlcmluZzooKT0+YSgpLlFjfHxiKCkuSWImJiExfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uSUIsbnVsbCwoKT0+Q1QoQVQoYSgpKSkpKX0sIkJjIiksQlY9Xy5MKCh7cHJvcHM6YSwKY29uZmlnOmIsZWU6YyxSYTpkfSk9PntjPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGUiLHt5dFBsYXllclN0b3J5Ym9hcmRUaXRsZUJpZ2JvYXJkOmN9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpjfSxfLksoXy5PLHtBOigpPT4hYigpLkliLHRoZW46KCk9Pl8uSyhJbWEse3Byb3BzOmEsUmc6KCk9PmIoKS5SZyxSYTpkfSl9KSl9LCJDYyIpLEltYT1fLkwoKHtwcm9wczphLFJnOmIsUmE6Y30pPT5fLksoXy5JQixudWxsLF8uSyhfLmdHLHtwYTooKT0+e3ZhciBkPWMoKTtyZXR1cm4gRlMoZCk/LmhlYXRNYXJrZXJzRGVjb3JhdGlvbnM/P1tdfSx0YjoiSU5ERVgifSxkPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6KCk9Pl8uQihkKCkscVYpJiZCVChhKCksXy5CKGQoKSxxVikpLHRoZW46KCk9Pl8uSyhKbWEse2NCOigpPT5fLkIoZCgpLHFWKX0pfSkpKSxfLksoXy5PLHtBOigpPT5iKCkmJl8uQihiKCksZVQpPy50aXRsZSx0aGVuOmQ9Pl8uSyhfLlYse3RleHQ6ZCxyZzohMH0pfSkpLAoiRGMiKSxKbWE9Xy5MKCh7Y0I6YX0pPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24sY2xhc3NOYW1lOiJ5dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb24ifSkpLF8uSyhfLlYse3RleHQ6KCk9PmEoKS5sYWJlbCxyZzohMH0pKSwiRWMiKTt2YXIgQ1Y9Xy5MKCh7TGI6YSxoZjpiLGNvbmZpZzpjfSk9Pnt2YXIgZD1fLnVFKCJ5dC1wcm9ncmVzcy1iYXIiKSxlPV8udUUoImRpdiIpLGY9Xy51RSgiZGl2IiksW2gsa109Xy5KKHt3aWR0aDowLGxlZnQ6MH0sdm9pZCAwLCJkMWJzYmYiKSxsPSgpPT57Zi52YWx1ZSYmayhmLnZhbHVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKX0sbT0oKT0+e2goKS53aWR0aDw9MCYmbCgpO3JldHVybiBoKCl9O18uRFAoInJlc2l6ZSIsbCk7dmFyIG49bmV3IERtYShtLCgpPT57fSwoKT0+MCwoKT0+e30sKCk9Pnt9LCgpPT57fSkscD0oKT0+YSgpLFtyLHRdPV8uSighMSx2b2lkIDAsImNWc1RLIik7Xy5EUCgibW91c2Vtb3ZlIixZa2EobixwLGMpKTtfLkRQKCJtb3VzZXVwIix4VChuLHAsYykpO3ZhciB2O18uVUooKCk9PntHa2EoZS52YWx1ZSk7dCghMSk7bCgpO3hUKG4scCxjKSgpO2MoKS5paiYmKHY9bmV3IFJlc2l6ZU9ic2VydmVyKGwpLHYub2JzZXJ2ZShmLnZhbHVlKSk7Xy5ZdSgoKT0+Cnt2Py5kaXNjb25uZWN0KCl9KX0pO3ZhciB6PV8uUCgieXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3QiLCgpPT5jKCkuY2xhc3NOYW1lLHt5dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5OigpPT5jKCkuZGlzYWJsZVNjcnViYmluZyx5dFBsYXllclByb2dyZXNzQmFySG9zdEhpZGRlbjooKT0+YygpLmtKJiYhcigpLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0TG93ZXJQbGF5ZXI6KCk9PmMoKS5wb3NpdGlvbj09PTAseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdlOigpPT5jKCkucG9zaXRpb249PT0xLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Qm90dG9tSW5zZXQ6KCk9PmMoKS5wb3NpdGlvbj09PTIseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RDdXN0b206KCk9PmMoKS5wb3NpdGlvbj09PTN9KSxFPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmQiLHt5dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGU6KCk9PmMoKS5wb3NpdGlvbj09PTImJiFyKCkmJgohYSgpLmlzRHJhZ2dpbmd9KSxBPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXIiLHt5dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lckJvdHRvbUVkZ2U6KCk9PmMoKS5wb3NpdGlvbj09PTF9KSxGPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFyIix7eXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXQ6KCk9PmMoKS5wb3NpdGlvbj09PTIseXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWQ6KCk9PmMoKS5wb3NpdGlvbj09PTImJiFyKCkmJiFhKCkuaXNEcmFnZ2luZ30pLEM9KCk9Pk1hdGguZmxvb3Iod1MoYSgpKSoxMDApO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhciIse2VsOmQsY2xhc3M6en0sXy5LKF8uTyx7QTooKT0+YygpLnBvc2l0aW9uPT09Mix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOkV9KX0pLF8uSygiZGl2Iix7ZWw6ZSwib246Y2xpY2siOmZ1bmN0aW9uKEcpeyhjKCkuREl8fHR5cGVvZiBQb2ludGVyRXZlbnQhPT0KInVuZGVmaW5lZCImJkcgaW5zdGFuY2VvZiBQb2ludGVyRXZlbnQmJkcucG9pbnRlclR5cGU9PT0ibW91c2UiKSYmT2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246dG91Y2hzdGFydCI6ZnVuY3Rpb24oRyl7UGthKG4scCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNobW92ZSI6ZnVuY3Rpb24oRyl7UmthKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VlbnRlciI6ZnVuY3Rpb24oKXt0KCEwKTtjKCkucG9zaXRpb249PT0yP3NldFRpbWVvdXQoKCk9PntsKCl9LDEwMCk6bCgpfSwib246bW91c2Vkb3duIjpmdW5jdGlvbihHKXtRa2EobixwKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oKXt0KCExKTtUa2EocCkoKX0sIm9uOm1vdXNlbW92ZSI6ZnVuY3Rpb24oRyl7U2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2V1cCI6ZnVuY3Rpb24oRyl7VmthKG4sCnAsYykoRyk7cigpJiZhKCkuUyh7UWM6ITB9KTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246dG91Y2hlbmQiOmZ1bmN0aW9uKEcpe1VrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoY2FuY2VsIjpmdW5jdGlvbihHKXtXa2EobixwLGMpKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjprZXlkb3duIjpmdW5jdGlvbihHKXtYa2EocCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sY2xhc3M6QSxyb2xlOiJzbGlkZXIiLCJhcmlhLXZhbHVlbm93IjpDLCJhcmlhLXZhbHVldGV4dCI6KCk9PmAke0MoKX0lYCwiYXJpYS12YWx1ZW1pbiI6KCk9PjAsImFyaWEtdmFsdWVtYXgiOigpPT4xMDAsZHJhZ2dhYmxlOiJmYWxzZSIsdGFiaW5kZXg6MCwiYXJpYS1sYWJlbCI6Xy5hQSgiU0VFS19TTElERVIiKX0sXy5LKCJkaXYiLHtlbDpmLGNsYXNzOkZ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBsYXllclByb2dyZXNzQmFySGVhdHNlZWtlckNvbnRhaW5lciIse3l0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVySW5zZXQ6KCk9PgpjKCkucG9zaXRpb249PT0yfSl9LF8uSyhDbWEse0xiOmEsY29uZmlnOmMsaGlnaENvbnRyYXN0OigpPT4hIWMoKS5paiYmYygpLnBvc2l0aW9uIT09Mn0pKSxfLksoXy5PLHtBOigpPT5jKCkuUmEmJnprYShjKCkuUmEpLHRoZW46KCk9Pl8uSyhBbWEse0p6OmEsbXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXI6KCk9PmMoKS5SYSxwcm9ncmVzc0JhcldpZHRoOigpPT5oKCkud2lkdGgscHJvZ3Jlc3NDb2xvcjooKT0+YygpLnByb2dyZXNzQ29sb3J9KSxXOigpPT5fLksoXy5PLHtBOigpPT5jKCkuU2ksdGhlbjooKT0+Xy5LKHZWLHtMYjphLGNvbmZpZzpjfSksVzooKT0+Xy5LKHdWLHtMYjphLGNvbmZpZzpjfSl9KX0pLF8uSyh4Vix7TGI6YSxoZjooKT0+Xy54KCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIik/YygpLmhmOmI/LigpLEJ4OigpPT5jKCkucG9zaXRpb24hPT0yLFd3OigpPT5jKCkueHI9PT0xJiYhcigpfHxjKCkueHI9PT0yfSkpKSxfLksoRm1hLHtMYjphLGNvbmZpZzooKT0+Cih7Umc6bFQoYSgpLGMoKS5SYSksZEo6KCk9Pm0oKS53aWR0aCxJYjohIWMoKS5JYix4cTohIWMoKS5paix1c2VGYWRlSW5BbmltYXRpb246ISFjKCkuaWp9KSxabTooKT0+aCgpLndpZHRoLFJhOigpPT5jKCkuUmF9KSl9LCJGYyIpO0NWLmlkb21Db21wYXQ9ITA7dmFyIERWPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgZD1hLnBsYXllck92ZXJsYXlSZW5kZXJlcj8uKCk7aWYoZClyZXR1cm4gelMoZCl9LGM9KCk9Pnt2YXIgZD1iKCk7aWYoZCl7dmFyIGU9YS5KbygpLmF1dG9uYXZFbmFibGVkO3JldHVybiBfLmFOKGU/Xy5CKGQuZW5hYmxlZEVkdUNvbW1hbmQsV1UpPy50ZXh0Ol8uQihkLmRpc2FibGVkRWR1Q29tbWFuZCxXVSk/LnRleHQpfX07cmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuSm8oKS5ZaCYmISFiKCksdGhlbjooKT0+Xy5LKCJhdXRvbmF2LXRvb2x0aXAiLHtjbGFzczoieXR3QXV0b25hdlRvb2x0aXBIb3N0Iixyb2xlOiJhbGVydCJ9LF8uSygic3BhbiIseyJhcmlhLWxhYmVsIjpjLHJvbGU6InRleHQifSxjKSl9KX0sIkdjIik7RFYuaWRvbUNvbXBhdD0hMDt2YXIgRVY9Xy5MKGE9Pnt2YXIgYj1fLnZFKCJzcGVlZG1hc3Rlci10b29sdGlwIiksYz1fLk4oKCk9PmEuRygpLnNiLHZvaWQgMCwiRXNUUmxjIik7Xy5uRSgoKT0+e2lmKGMoKSYmYi52YWx1ZSl7bGV0IGQ9bnVsbDtTUygxNzMwNDAsYi52YWx1ZSxkLGU9PntkPWV9KX19LCJBdnBHSWYiKTtyZXR1cm4gXy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSygic3BlZWRtYXN0ZXItdG9vbHRpcCIse2VsOmIsY2xhc3M6Inl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBMYWJlbCJ9LF8uJE4uR3QpLF8uSyhfLk1ELHtpY29uOiJGQVNUX0ZPUldBUkQiLGFjdGl2ZTohMCxjbGFzc05hbWU6Inl0d1NwZWVkbWFzdGVyVG9vbHRpcEljb24ifSkpfSl9LCJJYyIpO0VWLmlkb21Db21wYXQ9ITA7dmFyIEZWPV8uTChhPT5fLksoInBsYXllci11c2VyLWVkdS10b29sdGlwIix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwSG9zdCJ9LF8uSyhEVix7Sm86YS5HLHBsYXllck92ZXJsYXlSZW5kZXJlcjphLnBsYXllck92ZXJsYXlSZW5kZXJlcn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcENvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcFdyYXBwZXIifSxfLksoRVYse0c6YS5HfSkpKSksIkpjIik7RlYuaWRvbUNvbXBhdD0hMDt2YXIgWmthPVswLDEsMjAsMjFdO3ZhciBhbGE9WzAsMSwyMCwyMV0sR1Q9dm9pZCAwO3ZhciBLbWE9Xy5MKCh7dWQ6YSxFcjpifSk9PntmdW5jdGlvbiBjKHApe3AudG91Y2hlcz8uWzBdJiYocD1wLnRvdWNoZXNbMF0sayh7eDpwLnBhZ2VYLHk6cC5wYWdlWX0pKX1mdW5jdGlvbiBkKHApe3ZhciByPWgoKTtpZighcnx8IXAudG91Y2hlcz8uWzBdKXJldHVybiBudWxsO3A9cC50b3VjaGVzWzBdO3JldHVybntsazpwLnBhZ2VYLXIueCxPZDpwLnBhZ2VZLXIueX19dmFyIFtlLGZdPV8uSihudWxsLHZvaWQgMCwiQWgzMGciKSxoPWUsaz1mLFtsLG1dPV8uSih2b2lkIDAsdm9pZCAwLCJRbzc2aGQiKTtfLll1KCgpPT57RlQoYSgpKTttKEVUKGwoKSkpfSk7dmFyIG49e0diOigpPT5fLksoImRpdiIsbnVsbCxfLksoXy5XLHtkYXRhOigpPT5iPy4oKT8ubWVudVJlbmRlcmVyPy5pdGVtc3x8W119LHtsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cH0pPT5fLksoXy5wTCx7ZGF0YTpwLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6Xy5mSn0pKSxIYTohMH07cmV0dXJuIF8uSygieXRtLXNob3J0cy1nZXN0dXJlLW92ZXJsYXktY29udHJvbHMiLAp7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlT3ZlcmxheSJ9LF8uSyhGVix7RzphfSksXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc0dlc3R1cmVDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO0hUKGEoKSxwLnRvdWNoZXMubGVuZ3RoKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7ciYmSVQocCxyLGEoKSl9LCJvbjp0b3VjaGVuZCI6KCk9PntGVChhKCkpO2sobnVsbCl9LCJvbjp0b3VjaGNhbmNlbCI6KCk9PntGVChhKCkpO2sobnVsbCl9fSksXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc01lbnVHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO20oJGthKGEoKSxwLnRvdWNoZXMubGVuZ3RoLAooKT0+e18ueU4obil9LGwoKSkpfSwib246dG91Y2htb3ZlIjpwPT57dmFyIHI9ZChwKTtpZihyKXtwPWwoKTt2YXIgdD1yLmxrO3I9ci5PZDtwPU1hdGguc3FydCh0KnQrcipyKT5fLnNqKCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiLDEwKT9FVChwKTpwO20ocCl9fSwib246dG91Y2hlbmQiOigpPT57bShFVChsKCkpKTtrKG51bGwpfSwib246dG91Y2hjYW5jZWwiOigpPT57bShFVChsKCkpKTtrKG51bGwpfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNTcGVlZG1hc3Rlckdlc3R1cmVBcmVhIiwib246dG91Y2hzdGFydCI6cD0+e2MocCk7SFQoYSgpLHAudG91Y2hlcy5sZW5ndGgpfSwib246dG91Y2htb3ZlIjpwPT57dmFyIHI9ZChwKTtyJiZJVChwLHIsYSgpKX0sIm9uOnRvdWNoZW5kIjooKT0+e0ZUKGEoKSk7ayhudWxsKX0sIm9uOnRvdWNoY2FuY2VsIjooKT0+e0ZUKGEoKSk7ayhudWxsKX19KSkpfSwiS2MiKTt2YXIgR1Y9Xy5MKGE9Pnt2YXIgYj1fLnVFKCJkaXYiKSxjPV8uTigoKT0+YS50aHVtYm5haWxEZXRhaWxzPy4oKSx2b2lkIDAsIkU4OFVHZCIpLGQ9Xy5OKCgpPT5hLkcoKS5iYSx2b2lkIDAsIlh0R0FtZSIpO18ubkUoKCk9PntjbGEoYi52YWx1ZSxjKCksZCgpKX0sInlBa2lpYyIpO3JldHVybiBfLksoInZpZGVvLWNvdmVyIix7Y2xhc3M6Xy5QKCJ5dG1WaWRlb0NvdmVySG9zdCIse2VuZGVkOigpPT51UyhhLkcoKSksaGlkZGVuOigpPT57dmFyIGU9YS5HKCk7cmV0dXJuISgkUyhlKXx8dVMoZSkpfX0pfSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0NvdmVyVGh1bWJuYWlsIixlbDpifSkpfSwiTWMiKTtHVi5pZG9tQ29tcGF0PSEwO25ldyBfLld0KGVsYSwyMDApO3ZhciBTVD0wO3ZhciBVVD1KUigpLFZUPSExO25ldyBfLkN0KCJwbGF5ZXJTZXR0aW5nc01lbnUiLCJOeGQzdWYiKTt2YXIgTG1hPV8uTCgoe2dmOmEsRXg6YixyZWVsUGxheWVyU2NydWJiZXJSZW5kZXJlcjpjfSk9Pnt2YXIgZD1fLlAoInl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdCIse3l0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdElzU2NydWJiYWJsZU1vZGU6KCk9PlhUKGEoKSxiKCkpfSx7eXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SGlkZVByb2dyZXNzQmFyOigpPT5XVChhKCksYigpKSYmYSgpLnZpZGVvRHVyYXRpb248PTMwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6ZH0sXy5LKENWLHtMYjphLGNvbmZpZzooKT0+e3ZhciBlPXtJYjohMCxwb3NpdGlvbjozLGRpc2FibGVTY3J1YmJpbmc6IVhUKGEoKSxiKCkpLEluOiExLHhyOlhUKGEoKSxiKCkpPzA6MSxvblRvdWNoTW92ZTooKT0+e2EoKS5nZXx8KGEoKS5TKHtnZTohMH0pLHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlLXNob3J0cy1vdmVybGF5LXZpc2liaWxpdHkiLHtidWJibGVzOiEwLApkZXRhaWw6e2dlOiEwfX0pKSl9LG9uVG91Y2hFbmQ6aD0+e1VTKGgpO2EoKS5TKHtnZTohMX0pO3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlLXNob3J0cy1vdmVybGF5LXZpc2liaWxpdHkiLHtidWJibGVzOiEwLGRldGFpbDp7Z2U6ITF9fSkpfX0sZj1jPy4oKTtyZXR1cm4gZj8ucGxheWhlYWRJbWFnZT97Li4uZSxoZjp7cGxheWhlYWRJbWFnZTpmLnBsYXloZWFkSW1hZ2V9fTplfX0pKX0sIlFjIiksTW1hPV8uTCgoe0g6YSxjb250ZXh0OmIscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6YyxFcjpkfSk9Pnt2YXIgW2UsZl09Xy5KKCExLHZvaWQgMCwiUWNaU2dkIiksW2gsa109Xy5KKCExLHZvaWQgMCwiY250enJmIiksW2wsbV09Xy5KKCExLHZvaWQgMCwiU1RJYWViIiksW24scF09Xy5KKCExLHZvaWQgMCwiQ3dYZmJjIiksW3IsdF09Xy5KKDAsdm9pZCAwLCJzNUtMTWIiKSxbdix6XT1fLkooMCx2b2lkIDAsImdqbHFOYyIpLFtFLEFdPV8uSigwLAp2b2lkIDAsIkdVY2laZSIpLFtGLENdPV8uSigiIix2b2lkIDAsInhHSWU4IiksW0csRF09Xy5KKCExLHZvaWQgMCwiRnA1RDRiIiksSD1fLk4oKCk9Pnt2YXIgcGE9e2VhOmUoKSxnZTpoKCkseWI6bCgpLGlzRHJhZ2dpbmc6bigpLHZpZGVvRHVyYXRpb246digpLHZhOkUoKSx2aWRlb0lkOkYoKSxDYTpyKCksc2I6RygpfTtyZXR1cm57Li4uZFQoKSwuLi5wYSwuLi4oYj8uKCk/P3t9KSxTOm9hPT57b2EuZWEhPT12b2lkIDAmJmYob2EuZWEpO29hLmdlIT09dm9pZCAwJiZrKG9hLmdlKTtvYS55YiE9PXZvaWQgMCYmbShvYS55Yik7b2EuaXNEcmFnZ2luZyE9PXZvaWQgMCYmcChvYS5pc0RyYWdnaW5nKTtvYS5DYSE9PXZvaWQgMCYmdChvYS5DYSk7b2EudmlkZW9EdXJhdGlvbiE9PXZvaWQgMCYmeihvYS52aWRlb0R1cmF0aW9uKTtvYS52YSE9PXZvaWQgMCYmQShvYS52YSk7b2EudmlkZW9JZCE9PXZvaWQgMCYmQyhvYS52aWRlb0lkKTtvYS5zYiE9PXZvaWQgMCYmRChvYS5zYil9LHRhOntpc0Z1bGxzY3JlZW46Xy5yUCwKdG9nZ2xlRnVsbHNjcmVlbjp1amEsZXhpdEZ1bGxzY3JlZW46JFEsZGU6ZmxhLFJqOmhsYSxVbDppbGF9LEg6YSgpfX0sdm9pZCAwLCJVeWNNU2IiKSxSPU1rYShIKSxNPUxrYShIKSxTPUtrYShIKSxZPSgpPT57fTtfLm9GKCgpPT57dmFyIHBhPWEoKTtwYSYmKHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9Qcm9ncmVzcyIsUikscGEuYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLE0pLHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLFMpKX0pO18uWXUoKCk9Pnt2YXIgcGE9YSgpO3BhJiZwYT8uaXNSZWFkeT8uKCkmJihwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLFIpLHBhLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixNKSxwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixTKSl9KTtyZXR1cm4gXy5LKCJ5dC1td2ViLXNob3J0cy1wbGF5ZXItY29udHJvbHMiLHtjbGFzczpfLlAoe1Byb2dyZXNzQmFyU2hvd2luZzooKT0+ClhUKEgoKSwhMCl9KX0sXy5LKF8uTyx7QTooKT0+SCgpLmJhPy5aaCx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzpILHRodW1ibmFpbERldGFpbHM6WX0pLF8uSyh1Vix7RzpILEg6YX0pKX0pLF8uSyhfLk8se0E6KCk9Pnt2YXIgcGE9SCgpO3JldHVybiBYVChwYSwhMCl8fFdUKHBhLCEwKX0sdGhlbjooKT0+Xy5LKExtYSx7Z2Y6SCxFeDooKT0+ITAscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6Y30pfSksXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX3Nob3J0c19lbmFibGVfbG9uZ19wcmVzc19zcGVlZHVwIiksdGhlbjooKT0+Xy5LKF8uQ1Ase3Jvb3Q6IiNnZXN0dXJlLWxheWVyIn0sKCk9Pl8uSyhLbWEse3VkOkgsRXI6ZH0pKX0pKX0sIlNjIik7dmFyIEhWPV8uTChhPT57ZnVuY3Rpb24gYihVKXtVIT09MHx8cigpP1U+NTAmJihyKCl8fCFFKCkpPyh0KCExKSxBKCEwKSk6VTw9NTAmJihyKCl8fEUoKSkmJih0KCExKSxBKCExKSk6dCghMCl9YXN5bmMgZnVuY3Rpb24gYyhVLGhhKXsoVT1lKCk/P2F3YWl0IF8uTEgoKSkmJihoYT9VLnVuTXV0ZSghMCk6VS5tdXRlKCEwKSl9YXN5bmMgZnVuY3Rpb24gZChVKXt2YXIgaGE9ZSgpPz9hd2FpdCBfLkxIKCksbWE9NTA7aGEmJihtYT1oYS5nZXRWb2x1bWUoKSxoYS5pc011dGVkKCk/WlQoVSwwKTpaVChVLG1hKSk7RyhtYSl9dmFyIGU9a2xhKGEuSCksZj1fLnVFKCJ2b2x1bWUtY29udHJvbHMiKSxoPV8udUUoImJ1dHRvbiIpLGs9Xy52RSgiaW5wdXQiKSxbbCxtXT1fLkooITEsdm9pZCAwLCJzTWNMbGIiKSxbbixwXT1fLkooITEsdm9pZCAwLCJnb05wdiIpLHI9bix0PXAsW3Ysel09Xy5KKCEwLHZvaWQgMCwia0FUOTUiKSxFPXYsQT16LFtGLENdPV8uSig1MCx2b2lkIDAsInE1cUQyYyIpLApHPUMsRD1fLk4oKCk9Pnt2YXIgVT1yKCk7cmV0dXJuIF8ueCgid2ViX3Nob3J0c19rZXlib2FyZF9lbmFibGVfbXV0ZV9zaG9ydGN1dCIpP1U/Xy5hQSgiUExBWUVSX0xBQkVMX1VOTVVURSIsdm9pZCAwLCJVbm11dGUgKG0pIik6Xy5hQSgiUExBWUVSX0xBQkVMX01VVEUiLHZvaWQgMCwiTXV0ZSAobSkiKTpVP18uYUEoIlVOTVVURV9WT0xVTUUiLHZvaWQgMCwiVW5tdXRlIik6Xy5hQSgiTVVURV9WT0xVTUUiLHZvaWQgMCwiTXV0ZSIpfSx2b2lkIDAsImxSMXNHYyIpLEg9Xy5OKCgpPT57dmFyIFU9cigpLGhhPUUoKTtyZXR1cm57c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6VT8iVk9MVU1FX09GRl9GSUxMRUQiOmhhPyJWT0xVTUVfVVBfRklMTEVEIjoiVk9MVU1FX0RPV05fRklMTEVEIn19XX19LHZvaWQgMCwiU0lxa2VjIiksUj1fLk4oKCk9Pnt2YXIgVT1GKCk7cmV0dXJuIHIoKT9gJHtVfSUgdm9sdW1lIG11dGVkYDpgJHtVfSUgdm9sdW1lYH0sdm9pZCAwLCJUZkhQMGQiKSwKTT1fLk4oKCk9PmEub3JpZW50YXRpb24oKT09PSJ2ZXJ0aWNhbF9kb3duIix2b2lkIDAsIlo3RjN1YiIpLFM9Xy5OKCgpPT5NKCk/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCIsdm9pZCAwLCJzVjJNcGIiKSxZPV8uTigoKT0+YS5Edj8uKCk/PyExLHZvaWQgMCwiem92VUxlIikscGE9Xy5OKCgpPT5hLkNwPy4oKT8/ITEsdm9pZCAwLCJwRVVocWUiKTtfLlVKKCgpPT57ZnVuY3Rpb24gVSgpe20oITApfWZ1bmN0aW9uIGhhKCl7bSghMSl9ayYmay52YWx1ZSYmKGsudmFsdWUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFUpLGsudmFsdWUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKSxkKGsudmFsdWUpLnRoZW4oKCk9PntiKE51bWJlcihrLnZhbHVlPy52YWx1ZT8/MCkpfSkpO2gmJmgudmFsdWUmJihXUyhoLnZhbHVlLDI4NjYyKSxoLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixVKSxoLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSkpO18uWXUoKCk9Pgp7az8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixVKTtrPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKTtoPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFUpO2g/LnZhbHVlPy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c291dCIsaGEpfSl9KTt2YXIgb2E9VT0+e1U9VS5tdXRlZD8wOlUudm9sdW1lO0coVSk7YihVKTtrLnZhbHVlJiZaVChrLnZhbHVlLFUpfTtfLm5FKCgpPT57dmFyIFU9ZSgpO1UmJihVLmFkZEV2ZW50TGlzdGVuZXIoIm9uVm9sdW1lQ2hhbmdlIixvYSksXy5ZdSgoKT0+e1UucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25Wb2x1bWVDaGFuZ2UiLG9hKX0pKX0sInhoM0daYyIpO3JldHVybiBfLksoInZvbHVtZS1jb250cm9scyIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNIb3N0Iix7eXRkVm9sdW1lQ29udHJvbHNEaXNhYmxlU2xpZGVyOnBhfSxhLmNsYXNzTmFtZSksZWw6Zn0sXy5LKCJkaXYiLAp7Im9uOnBvaW50ZXJsZWF2ZSI6ZnVuY3Rpb24oKXttKCExKX0sY2xhc3M6Xy5QKCJ5dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVyIix7eXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lclZlcnRpY2FsOk0seXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lckV4cGFuZGVkOigpPT5sKCl9KX0sXy5LKF8uTyx7QTooKT0+IWEuYmo/LigpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbSIse3l0ZFZvbHVtZUNvbnRyb2xzQmFja2dyb3VuZFNjcmltRXhwYW5kZWQ6bCx5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkSG92ZXJTdGF0ZTooKT0+bCgpJiZZKCl9KX0pfSksXy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b25Db250YWluZXI6TX0pfSxfLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpELAp0aXRsZTpELGVsOmgsIm9uOmNsaWNrIjpmdW5jdGlvbihVKXtYUygyODY2Mik7ayYmay52YWx1ZSYmYyhrLnZhbHVlLHIoKSk7VS5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnBvaW50ZXJlbnRlciI6ZnVuY3Rpb24oKXttKCEwKX0sY2xhc3M6Inl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b24ifSxIP18uSyhfLmpGLHtkYXRhOkgsYWx0OkQsY2xhc3NOYW1lOiJ5dGRWb2x1bWVDb250cm9sc011dGVJY29uIn0pOm51bGwpKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXIiLHt5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckV4cGFuZGVkOmwseXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbDpNLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxEb3duOk0seXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbEV4cGFuZGVkOigpPT5sKCkmJk0oKSx5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckRpc2FibGVTbGlkZXI6cGEsCnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyV2l0aFNjcmltOigpPT4hYS5iaj8uKCl9KSwib246Y2xpY2siOmZ1bmN0aW9uKFUpe1Uuc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoImlucHV0Iix7ZGlyOiJsdHIiLCJhcmlhLWxhYmVsIjpfLmFBKCJWT0xVTUUiKSx0aXRsZTpfLmFBKCJWT0xVTUUiKSxlbDprLCJvbjppbnB1dCI6ZnVuY3Rpb24oVSl7ayYmay52YWx1ZSYmamxhKE51bWJlcihrLnZhbHVlPy52YWx1ZT8/MCksZSgpKTtVLnN0b3BQcm9wYWdhdGlvbigpfSx0eXBlOiJyYW5nZSIsY2xhc3M6Inl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyIixpZDoidm9sdW1lLWlucHV0Iixyb2xlOiJzbGlkZXIiLCJhcmlhLXZhbHVlbm93IjpGLCJhcmlhLXZhbHVldGV4dCI6UiwiYXJpYS12YWx1ZW1pbiI6MCwiYXJpYS12YWx1ZW1heCI6MTAwLCJhcmlhLW9yaWVudGF0aW9uIjpTfSkpKSl9LCJVYyIpO3ZhciBObWE9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBjPWEuRygpLGQ9Yy5IPy5nZXRTaXplPy4oKT8ud2lkdGg7cmV0dXJuKGMuYmE/LkVlfHxfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpKSYmISFkJiZkPDQyMH07cmV0dXJuIF8uSygieXRtLWZ1bGxzY3JlZW4tcmVsYXRlZC12aWRlb3MtZW50cnktcG9pbnQtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsSG9zdCIse3l0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRpdGxlSGlkZGVuOmJ9KX0sXy5LKCJidXR0b24iLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEJ1dHRvbiIse3l0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbDpfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSksCiJvbjpjbGljayI6ZnVuY3Rpb24oYyl7YS5HKCkuUyh7TmE6ITB9KTtfLk1PKCIuZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbiAubWVkaWEtaXRlbS1pbmZvIGEiKTtiVCgpO2Muc3RvcFByb3BhZ2F0aW9uKCl9LCJhcmlhLWxhYmVsIjooKT0+YS5kYXRhKCkudGl0bGU/LmNvbnRlbnQ/PyIifSxfLksoXy5PLHtBOigpPT4hYigpLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlfSl9KSxfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5pbWFnZUZyb250LHRoZW46Yz0+Xy5LKCJkaXYiLHtjbGFzczoieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2sifSxfLksoXy5PLHtBOigpPT4hXy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKXx8ISFhLmRhdGEoKS5pbWFnZUJhY2ssdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlsIiwKInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNtYWxsRmFkZWRUaHVtYm5haWwiKX0pfSksXy5LKF8uTyx7QTooKT0+IV8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil8fCEhYS5kYXRhKCkuaW1hZ2VNaWRkbGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlsIiwieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsTGFyZ2VGYWRlZFRodW1ibmFpbCIpfSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXIifSxfLksoXy5qRix7ZGF0YTpjLGFsdDoiIixjbGFzc05hbWU6Inl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRodW1ibmFpbCIsYXJpYUhpZGRlbjohMCwKWWE6ITB9KSkpfSkpKX0sIlZjIik7dmFyIElWPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6Y30pPT5fLksoInl0bS1zbGltLW1ldGFkYXRhLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOiJ5dG1TbGltTWV0YWRhdGFCdXR0b25SZW5kZXJlckhvc3QifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6Y30pfSkpLCJXYyIpO0lWLmlkb21Db21wYXQ9ITA7dmFyIEpWPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6YyxIYzpkfSk9Pnt2YXIgZT1fLkRJKF8uUkwsKCk9PmEoKS5saWtlU3RhdHVzRW50aXR5S2V5fHwiIiksZj0oKT0+Xy50UCgpJiZhKCkuaXNMaWtlJiZhKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcj97c3R5bGU6Im1vbm8ifTpjPy4oKSxoPSgpPT5fLnRQKCkmJmEoKS5pc0xpa2UmJmEoKS5idXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyP3thbmltYXRlSWNvbjoidHJ1ZSJ9OnZvaWQgMDtyZXR1cm4gXy5LKCJ5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyIix7Y2xhc3M6Yn0sXy5LKF8uTyx7QTooKT0+e3ZhciBrPWEoKS5idXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyO2lmKGsmJmEoKS5saWtlU3RhdHVzRW50aXR5S2V5KXtsZXQgbD1hKCkuaXNMaWtlP2UoKT8ubGlrZVN0YXR1cz09PSJMSUtFIjplKCk/Lmxpa2VTdGF0dXM9PT0iRElTTElLRSI7cmV0dXJuey4uLmssCmlzVG9nZ2xlZDpsfX1yZXR1cm4ga30sdGhlbjprPT5fLksoXy5xTyx7ZGF0YTprLHN0eWxlOmgsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmYsSGM6ZH0pfSkpfSwiWGMiKTtKVi5pZG9tQ29tcGF0PSEwO3ZhciBLVj1fLkwoYT0+e2Z1bmN0aW9uIGIocil7dmFyIHQ9YygpO3QuYmE/LkR6fHxfLnRQKCl8fHQuaXNGdWxsc2NyZWVuJiZ0LnRhLnRvZ2dsZUZ1bGxzY3JlZW4oKTtyLnN0b3BQcm9wYWdhdGlvbigpfXZhciBjPWEuRyxkPSgpPT5hLkcoKS5IPy5nZXRTaXplPy4oKT8ud2lkdGgsZT1fLk4oKCk9PiEhYS5HKCkuSD8uaXNFbWJlZHNTaG9ydHNNb2RlPy4oKSx2b2lkIDAsIndzSERaIiksZj1fLlAoeyJwbGF5ZXItY29udHJvbHMtaGlkZSI6KCk9PiEoIUlTKGEuRygpKXx8YS5HKCkuYmE/LkVlJiYhYS5HKCkuTmEpfSksaD1hLndhdGNoTmV4dFJlc3BvbnNlLGs9YS50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIsbD1hLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIsbT0oKT0+e3ZhciByPUNrYShoPy4oKSxrPy4oKSk7cmV0dXJuIGUoKXx8YS5HKCkuYmE/Lm9oP3IuZmlsdGVyKHQ9Pl8uQih0LGZtYSk/ITE6Xy5CKHQsXy5WTCk/Lmljb24/Lmljb25UeXBlIT09IkFERF9UT19XQVRDSF9MQVRFUiIpOgpyfSxuPSgpPT57dmFyIHI9aD8uKCksdD1rPy4oKSx2PWw/LigpLHo9JFMoYS5HKCkpO3ZhciBFPWUoKTtpZih2KUU9dj8ueW91dHViZVdhdGVybWFyaztlbHNlIGlmKHQ9Xy5CKHQ/LnF1aWNrQWN0aW9uc0JhcixLUyk/LndhdGNoT25Zb3V0dWJlQnV0dG9uLHY9Xy5CKHI/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmZ1bGxzY3JlZW5RdWlja0FjdGlvbnNCYXIsS1MpPy53YXRjaE9uWW91dHViZUJ1dHRvbixyPV8uQih0fHx2LGxWKT8ud2F0Y2hPbll0TGFiZWxCdXR0b24sdD1fLkIodHx8dixsVik/Lnl0TG9nb09ubHlCdXR0b24seilFPXI7ZWxzZXtpZihFKXRyeXtsZXQgQT10LmJ1dHRvblZpZXdNb2RlbCxGPUEudGl0bGVGb3JtYXR0ZWQuYXR0YWNobWVudFJ1bnNbMF0uZWxlbWVudDtGLnR5cGUuaW1hZ2VUeXBlLmltYWdlLnNvdXJjZXNbMF0uY2xpZW50UmVzb3VyY2UuaW1hZ2VOYW1lPSJzaG9ydHNfdGV4dF9sb2dvIjtGLnByb3BlcnRpZXMubGF5b3V0UHJvcGVydGllcy5oZWlnaHQudmFsdWU9CjI0O0YucHJvcGVydGllcy5sYXlvdXRQcm9wZXJ0aWVzLndpZHRoLnZhbHVlPTcyO3o9QT8ub25UYXA/LmlubmVydHViZUNvbW1hbmQ/LnVybEVuZHBvaW50Py51cmw7aWYoRSYmeiYmei5pbmNsdWRlcygiL3dhdGNoP3Y9Iikpe2xldCBDPXoucmVwbGFjZSgiL3dhdGNoP3Y9IiwiL3Nob3J0cy8iKTtBLm9uVGFwLmlubmVydHViZUNvbW1hbmQudXJsRW5kcG9pbnQudXJsPUN9fWNhdGNoKEEpe31FPXR9cmV0dXJuIEV9LHA9e2NsYXNzTmFtZToiY2lyY2xlLWJ1dHRvbnMiLGJ1dHRvbk92ZXJyaWRlczp7c3R5bGU6Im92ZXJsYXkifX07cmV0dXJuIF8uSygicGxheWVyLWZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpmfSxfLksoImRpdiIse2NsYXNzOiJmdWxsc2NyZWVuLWFjdGlvbi1tZW51Iiwib246Y2xpY2siOmZ1bmN0aW9uKHIpe3ZhciB0PWMoKTtjVCh0LHtJYzohMH0pO3Iuc3RvcFByb3BhZ2F0aW9uKCk7CnIuc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT4hKGEuRygpLmJhPy5oaWRlVmlkZW9JbmZvfHxhLkcoKS5iYT8uWXd8fGQoKSYmZCgpPDMyMCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoImFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIiwibm8tbGFiZWwtZXhwIiksIm9uOmNsaWNrIjpifSxfLksoXy5XLHtkYXRhOm19LHtidXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoXy5wTyx7ZGF0YTpyLC4uLnB9KSxzbGltTWV0YWRhdGFUb2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoSlYse2RhdGE6cixjbGFzc05hbWU6Xy5QKHAuY2xhc3NOYW1lLHsibGlrZS1idXR0b24tbm8tbGFiZWwtZXhwIjooKT0+cigpLmlzTGlrZX0pLEhjOigpPT5yKCkuaXNMaWtlP3tBczohMH06dm9pZCAwLGJ1dHRvbk92ZXJyaWRlczooKT0+cigpLmlzTGlrZT92b2lkIDA6cC5idXR0b25PdmVycmlkZXN9KSxzbGltTWV0YWRhdGFCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT4KXy5LKElWLHtkYXRhOnIsLi4ucH0pLGZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyU2F2ZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTpyfSk9Pl8uSyhJVix7ZGF0YTpyLC4uLnB9KSxidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uSEQse2RhdGE6cixjbGFzc05hbWU6Inl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51Q2lyY2xlQnV0dG9ucyIsYnV0dG9uT3ZlcnJpZGVzOntpY29uUG9zaXRpb246Imljb24tb25seS00MCJ9fSksdG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKF8ucU8se2RhdGE6ciwuLi5wfSl9KSl9KSxfLksoImRpdiIse2NsYXNzOiJxdWljay1hY3Rpb25zLXdyYXBwZXIifSxfLksoXy5PLHtBOigpPT4hYS5HKCkuYmE/Llh3JiYhJFMoYS5HKCkpJiYhKGQoKSYmZCgpPDMyMCkmJiFlKCkmJkxTKGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJmdWxsc2NyZWVuLXdhdGNoLW5leHQtZW50cnlwb2ludC13cmFwcGVyIn0sCl8uSyhObWEse2RhdGE6KCk9PkxTKGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSxHOmN9KSl9KSxfLksoXy5PLHtBOigpPT4kUyhhLkcoKSkmJihlKCl8fGQoKSYmZCgpPDMyMCk/ITE6ITAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoid2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciJ9LF8uSyhfLlcse2RhdGE6bn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5IRCx7ZGF0YTpyLGNsYXNzTmFtZToid2F0Y2gtb24teW91dHViZS1idXR0b24iLGJ1dHRvbk92ZXJyaWRlczooKT0+e3ZhciB0PXIoKTtyZXR1cm57c2l6ZToiTCIsZGlzYWJsZWQ6IV8uQihfLkIodD8ub25UYXAsXy5PRCksXy5WRCl9fX0pLGJ1dHRvblJlbmRlcmVyOl8ucE8sdG9nZ2xlQnV0dG9uUmVuZGVyZXI6Xy5xT30pKX0pKSkpKX0sIlljIik7S1YuaWRvbUNvbXBhdD0hMDt2YXIgTFY9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBtPWEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCk7cmV0dXJuIF8uQihtPy5lbmRTY3JlZW4scFYpPy5jb250aW51ZVdhdGNoaW5nfSxjPSgpPT57dmFyIG09YS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyPy4oKTtyZXR1cm4gXy5CKG0/LmVuZFNjcmVlbixwVik/LmJyYW5kaW5nSWNvbn0sW2QsZV09Xy5KKCExLHZvaWQgMCwiRWVYWEJjIiksZixoPSgpPT57Y2xlYXJUaW1lb3V0KGYpO2UoITEpO2Y9c2V0VGltZW91dCgoKT0+e2UoITApfSw0RTMpfSxrPSgpPT57dmFyIG09YS5HKCkuSD8uZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkO20mJmEuRygpLkg/LmN1ZVZpZGVvQnlJZChtKX0sbD0oKT0+e3ZhciBtPV8uVXcoYS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyPy4oKS50cmFja2luZ1BhcmFtcyk7bSYmXy5KTyhtKX07Xy5VSigoKT0+e2goKTthLkcoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlTdGFydHMiLApoKTthLkcoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbkF1dG9wbGF5QmxvY2tlZCIsayk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLGwpfSk7Xy5ZdSgoKT0+e2NsZWFyVGltZW91dChmKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlTdGFydHMiLGgpO2EuRygpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQXV0b3BsYXlCbG9ja2VkIixrKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsbCl9KTtyZXR1cm4gXy5LKCJ5dG0tbXV0ZWQtYXV0b3BsYXktb3ZlcmxheSIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUhvc3QiLCJvbjpjbGljayI6ZnVuY3Rpb24obSl7dmFyIG49YS5HPy4oKS5ILHA9bj8uZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkLHI9bj8uZ2V0Q3VycmVudFRpbWUoKTtwJiZyJiYobj8udW5NdXRlKCksbj8ubG9hZFZpZGVvQnlJZChwLHIpKTsKbS5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PnVTKGEuRygpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUJhY2tncm91bmQifSxfLksoImRpdiIsbnVsbCxfLksoXy5XLHtkYXRhOmJ9LHtidXR0b25WaWV3TW9kZWw6Xy5IRH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUJyYW5kaW5nSWNvbiJ9LF8uSyhfLk8se0E6Yyx0aGVuOm09Pl8uSyhfLmpGLHtkYXRhOm0sYWx0OiJZb3VUdWJlIExvZ28ifSl9KSkpLFc6KCk9Pl8uSygiZGl2IixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnUiLHt5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUhpZGVBY3Rpb25NZW51OmR9KX0sXy5LKEtWLHtHOmEuRyxwbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyOmEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcn0pKSxfLksoImRpdiIsCntjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIifSxfLksoXy5NRCx7aWNvbjoiZXF1YWxpemVyIn0pKSl9KSl9LCJaYyIpO0xWLmlkb21Db21wYXQ9ITA7dmFyIE9tYT1fLkwoKHtGeDphLGFuaW1hdGlvbjpifSk9Pnt2YXIgYz1fLnVFKCJkaXYiKSxbZCxlXT1fLkooITEsdm9pZCAwLCJ0aTAybyIpLGY9MCxoPV8ueCgibXdlYl9lbmFibGVfc2hvcnRzX2hlYXJ0X25ld19kb3VibGVfdGFwIik/Imxpa2VfdGFwX2ZlZWRiYWNrX3Nob3J0c19oZWFydCI6Imxpa2VfMjQwZHBfYW5pbWF0aW9uX3YyIjtfLm5FKCgpPT57ZSghMCk7Xy5qZi5BYShmKTtmPV8uWWooKCk9PntlKCExKX0sMkUzKTt2YXIgaz1iPy4oKT8ubmFtZTtpZihrPT09aCl7Y1UoaCk7az1iPy4oKT8ueDt2YXIgbD1iPy4oKT8ueTtsZXQgbT1jLnZhbHVlO20mJihrIT09dm9pZCAwJiZsIT09dm9pZCAwPyhtLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsbS5zdHlsZS5sZWZ0PWAke2t9cHhgLG0uc3R5bGUudG9wPWAke2x9cHhgLG0uc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkiKToobS5zdHlsZS5wb3NpdGlvbj0iIixtLnN0eWxlLmxlZnQ9IiIsbS5zdHlsZS50b3A9CiIiLG0uc3R5bGUudHJhbnNmb3JtPSIiKSl9ZWxzZXtpZihsPWMudmFsdWUpbC5zdHlsZS5wb3NpdGlvbj0iIixsLnN0eWxlLmxlZnQ9IiIsbC5zdHlsZS50b3A9IiIsbC5zdHlsZS50cmFuc2Zvcm09IiI7az09PSJwbGF5Xzk2ZHBfYW5pbWF0aW9uIj9jVSgicGxheV85NmRwX2FuaW1hdGlvbiIpOms9PT0icGF1c2VfOTZkcF9hbmltYXRpb24iJiZjVSgicGF1c2VfOTZkcF9hbmltYXRpb24iKX19LCJFQ0pVZGQiKTtyZXR1cm4gXy5LKCJzaG9ydHMtdG91Y2gtZmVlZGJhY2siLHtjbGFzczpfLlAoInl0U2hvcnRzVG91Y2hGZWVkYmFja0hvc3QiLHt5dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW46KCk9PiFkKCl9KX0sXy5LKF8uTyx7QTphLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1RvdWNoRmVlZGJhY2sifSxfLksoImRpdiIse2VsOmMsY2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja0xpa2VBbmltYXRpb25XcmFwcGVyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sCl8uSyhfLmNNLHthbmltYXRpb25OYW1lOigpPT5oLGRhdGE6e2FuaW1hdGlvbkNvbmZpZzpiVShoKX0sY2xhc3NOYW1lOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uIn0pKSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKF8uY00se2FuaW1hdGlvbk5hbWU6KCk9PiJwbGF5Xzk2ZHBfYW5pbWF0aW9uIixkYXRhOnthbmltYXRpb25Db25maWc6YlUoInBsYXlfOTZkcF9hbmltYXRpb24iKX0sY2xhc3NOYW1lOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tQbGF5UGF1c2VBbmltYXRpb24ifSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1RvdWNoRmVlZGJhY2sifSxfLksoXy5jTSx7YW5pbWF0aW9uTmFtZTooKT0+InBhdXNlXzk2ZHBfYW5pbWF0aW9uIixkYXRhOnthbmltYXRpb25Db25maWc6YlUoInBhdXNlXzk2ZHBfYW5pbWF0aW9uIil9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrUGxheVBhdXNlQW5pbWF0aW9uIn0pKSl9LAoiYWQiKTt2YXIgZFU9dm9pZCAwLGVVPXZvaWQgMCxmVSxnVT1fLkwoKHtkYXRhOmF9KT0+e3ZhciBbYixjXT1fLkooMCx2b2lkIDAsIlZmdjU4IiksW2QsZV09Xy5KKDAsdm9pZCAwLCJnR0NOOWQiKSxbZixoXT1fLkooITEsdm9pZCAwLCJuU2FMaCIpO3JldHVybiBfLksoInl0bS1ib3R0b20tc2hlZXQtb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckhvc3QifSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lciIsc3R5bGU6KCk9Pnt2YXIgaz1iKCksbD1kKCksbT1mKCk7az1gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7TWF0aC5tYXgoMCxNYXRoLnJvdW5kKGwtaykpfXB4KTtgO20mJihrKz0idHJhbnNpdGlvbjogMC4yczsiKTtyZXR1cm4ga30sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKGspe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSJub25lIjtjKGsudG91Y2hlc1swXS5jbGllbnRZKTsKay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNobW92ZSI6ZnVuY3Rpb24oayl7ZShrLnRvdWNoZXNbMF0uY2xpZW50WSk7ay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoZW5kIjpmdW5jdGlvbihrKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0iIjt3aW5kb3cuc2NyZWVuLmF2YWlsSGVpZ2h0LWQoKTw9MzAwPyhoKCEwKSxlKHdpbmRvdy5zY3JlZW4uYXZhaWxIZWlnaHQpLHNldFRpbWVvdXQoKCk9PntpZihkVSE9bnVsbCl7dmFyIGw9Xy5IeigpO2wuc2V0KCJzdXBwcmVzc19hcHBfdXBzZWxsIiwxKTtsLnNhdmUoKTtlVSYmKGVVLnF2PSEwLGVVPXZvaWQgMCk7Xy5LTihkVSk7ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkVSk7ZFU9dm9pZCAwO2ZVPy4oKTtmVT12b2lkIDA7Xy55KCkucmVzb2x2ZShfLnlQKS5RdSgpfX0sMjUwKSk6KGgoITApLGUoMCkpO2suc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckhlYWRlciIsCnN0eWxlOigpPT5hKCkuYmFja2dyb3VuZEltYWdlP2BiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHthKCkuYmFja2dyb3VuZEltYWdlfSk7YDp2b2lkIDB9LF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZSJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmNlbnRyYWxJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2VudHJhbEljb24ifSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmNsb3NlQnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmt9KT0+Xy5LKF8ucE8se2RhdGE6ayxjbGFzc05hbWU6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2UiLHByZXZlbnREZWZhdWx0OiEwLFFmOiEwfSl9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50cyJ9LF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGUifSwKXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxlIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5zdWJ0aXRsZX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uc30se2J1dHRvblJlbmRlcmVyOl8ucE99KSkpKX0sImJkIik7Z1UuaWRvbUNvbXBhdD0hMDt2YXIgTVY9Xy5MKCh7ZGF0YTphLHN0b3BQcm9wYWdhdGlvbjpifSk9Pl8uSygieXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UtcmVuZGVyZXIiLG51bGwsXy5LKF8udk8se2ljb25UeXBlOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJhdWRpb19zbGFzaCI6ImF1ZGlvX29mZiIsYXJpYUxhYmVsOigpPT5fLmFOKGEoKS5mb3JjZWRNdXRlTWVzc2FnZVRleHQpLG9uY2xpY2s6Yz0+e2I/LigpJiZjLnN0b3BQcm9wYWdhdGlvbigpO2M9YSgpO18uQihjLmhlbHBCdXR0b24sXy5WTCk/Lm5hdmlnYXRpb25FbmRwb2ludCYmXy5BSihfLkIoYy5oZWxwQnV0dG9uLF8uVkwpPy5uYXZpZ2F0aW9uRW5kcG9pbnQsYywhMCl9LExtOiJ5dG0tZm9yY2VkLW11dGUtbWVzc2FnZSJ9KSksImVkIik7TVYuaWRvbUNvbXBhdD0hMDt2YXIgTlY9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLEdKOmN9KT0+e3ZhciBkPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO3JldHVybiBfLksoInl0bS1pbmZvLXBhbmVsLWNvbnRlbnQtcmVuZGVyZXIiLHtjbGFzczpfLlAoYiwieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdCIse3l0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RJc1dhdGNoSW5mb1BhbmVsOmMseXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdENpbmVtYXRpY0JhY2tncm91bmQ6KCk9PmQmJmM/LigpfSksInl0bS1pbmZvLXBhbmVsLWNvbnRlbnQtdHJ1bmNhdGUtcGFyYWdyYXBocyI6KCk9PiEhYSgpLnRydW5jYXRlUGFyYWdyYXBoc3x8dm9pZCAwLCJ5dG0taW5mby1wYW5lbC1jb250ZW50LWhhcy1tZW51IjooKT0+ISFhKCkubWVudXx8dm9pZCAwLCJkYXRhLWJhY2tncm91bmQiOigpPT5hKCkuYmFja2dyb3VuZH0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEoKS5zb3VyY2VFbmRwb2ludCwKY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJFbmRwb2ludCJ9LF8uSyhQbWEse2RhdGE6YX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6ZX0pPT5fLksoXy5TUCx7ZGF0YTplLGNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWVudSJ9KX0pKX0sImZkIiksUG1hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJXcmFwcGVyIiwiZGF0YS1oYXMtaWNvbiI6KCk9PiEhYSgpLmljb259LF8uSyhfLk8se0E6KCk9PmEoKS5zb3VyY2VBdFRvcCYmYSgpLnNvdXJjZSx0aGVuOigpPT5fLksoT1Yse2RhdGE6YX0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRpdGxlQ29udGFpbmVyIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pLF8uSyhfLk1ELAp7aWNvbjooKT0+YSgpLmlubGluZUxpbmtJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckJvZHkifSxfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUZXh0In0sXy5LKF8uTyx7QTooKT0+IWEoKS5zb3VyY2VBdFRvcCYmYSgpLnNvdXJjZSx0aGVuOigpPT5fLksoT1Yse2RhdGE6YX0pfSksXy5LKF8uZ0cse3BhOigpPT5hKCkucGFyYWdyYXBoc3x8W119LChiLGMpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQYXJhZ3JhcGgifSxfLksoXy5JSix7ZGF0YTpifSksXy5LKF8uTyx7QTooKT0+YygpPT09YSgpLnBhcmFncmFwaHMubGVuZ3RoLTEmJmEoKS5pbmxpbmVTb3VyY2UsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySW5saW5lU291cmNlIn0sCl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZVRleHQifSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLmlubGluZVNvdXJjZX0pKSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmlubGluZUxpbmtJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29uIn0pKX0pKSkpLF8uSyhfLk8se0E6KCk9PmEoKS5pY29uLHRoZW46Yj0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVyUmlnaHRJdGVtcyJ9LF8uSyhfLk1ELHtpY29uOigpPT5iKCkuaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIZWFkZXJJY29uIn0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSl9KSxfLksoXy5PLHtBOigpPT5hKCkudGh1bWJuYWlsLHRoZW46Yj0+Xy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRodW1ibmFpbCIsCmFsdDoiIixZYTpfLngoImMzX3ByZXNlcnZlX2RpbWVuc2lvbnNfa3MiKT92b2lkIDA6ITAsVGE6Xy54KCJjM19wcmVzZXJ2ZV9kaW1lbnNpb25zX2tzIik/dm9pZCAwOiEwfSl9KSkpLCJnZCIpLE9WPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJNZXRhZGF0YSJ9LF8uSyhfLk8se0E6KCk9PmEoKS5zb3VyY2UsdGhlbjpiPT5fLksoXy5JSix7ZGF0YTpifSl9KSxfLksoXy5PLHtBOigpPT5hKCkucHVibGlzaGVkVGltZVRleHQsdGhlbjpiPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQdWJsaXNoVGltZSJ9LCJcdTIwMjIgIixfLksoXy5JSix7ZGF0YTpifSkpfSkpLCJoZCIpO05WLmlkb21Db21wYXQ9ITA7dmFyIFBWPV8uTCgoe2RhdGE6YX0pPT5fLksoInl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlciIse2JhY2tncm91bmQ6KCk9PmEoKS5iYWNrZ3JvdW5kfSxfLksoXy5PLHtBOigpPT5hKCkudGl0bGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItbGVmdC1pdGVtcyJ9LF8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWljb24ifSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoXy5TUCx7ZGF0YTpiLGNsYXNzTmFtZToieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1tZW51In0pfSkpfSksXy5LKF8uVyx7ZGF0YTooKT0+CmEoKS5jb250ZW50fSx7aW5mb1BhbmVsQ29udGVudFJlbmRlcmVyOk5WfSkpLCJpZCIpO1BWLmlkb21Db21wYXQ9ITA7dmFyIFJWPV8uTCgoe2RhdGE6YSxpc0FjdGl2ZTpiLEhKOmMsY2xhc3NOYW1lOmR9KT0+e3ZhciBlPV8uY0koXy5aUCksZj1fLmNJKHdqYSksaD1fLmNJKHZqYSksaztfLm5FKCgpPT57Yj8uKCkmJmEoKT8udHJhY2tpbmdQYXJhbXMmJmEoKS50cmFja2luZ1BhcmFtcyE9PWsmJl8uaXEoKSE9PWsmJihfLmx4KF8uaHgoKSxhKCkudHJhY2tpbmdQYXJhbXMpLGs9Xy5pcSgpKX0sIkxSZVNsYiIpO18uVUooKCk9PntubGEoYSgpKX0pO3JldHVybiBfLksoInl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIix7Y2xhc3M6ZCwiZGF0YS1pcy1hY3RpdmUiOmJ8fHZvaWQgMCwiZGF0YS1oYXMtaW5mby1wYW5lbCI6KCk9Pnt2YXIgbD1hKCksbT1fLkIobC5wbGF5ZXJPdmVybGF5LGNtYSk7cmV0dXJuISFsLmluZm9QYW5lbHx8ISFtPy5pbmZvUGFuZWx8fHZvaWQgMH0sImV4dHJhY3Qtb3ZlcmxheSI6KCk9PmUoKT09PTF8fHZvaWQgMCwiZXh0cmFjdC1hY3Rpb24tYmFyIjooKT0+Xy5hTShlKCkpfHwKdm9pZCAwLCJzbWFsbGVyLXNjcmVlbi1zcXVlZXplYmFjayI6KCk9PmYoKXx8dm9pZCAwLCJpcy1mdWxsc2NyZWVuIjooKT0+aCgpfHx2b2lkIDAsImlzLXdlYiI6KCk9PmM/LigpfHx2b2lkIDB9LF8uSyhfLk8se0E6KCk9PmEoKS5wbGF5ZXJPdmVybGF5LHRoZW46bD0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT4hMCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LXRvcC1iYXIifSxfLksoUVYse2RhdGE6YX0pKX0pLF8uSyhfLlcse2RhdGE6bH0se3JlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsOl8uYmphfSkpLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS1tYWluLWNvbnRlbnQifSxfLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhIn0sXy5LKFFtYSx7ZGF0YTphfSkpLG51bGwsXy5LKFJtYSx7ZGF0YTphfSkpLF8uSyhTbWEse2RhdGE6YX0pKX0pLApfLksoVG1hLHtkYXRhOmF9KSl9LCJrZCIpO1JWLmlkb21Db21wYXQ9ITA7CnZhciBRbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZXRhcGFuZWx9LHtyZWVsTWV0YXBhbmVsVmlld01vZGVsOl8uclF9KSwibGQiKSxTbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktaW5mby1wYW5lbCJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5pbmZvUGFuZWx9LHtpbmZvUGFuZWxDb250YWluZXJSZW5kZXJlcjpQVn0pKSwibWQiKSxSbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyJ9LF8uSyhRVix7ZGF0YTphfSksXy5LKFVtYSx7ZGF0YTphfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnBpdm90QnV0dG9ufSx7cGl2b3RCdXR0b25WaWV3TW9kZWw6Xy5pUX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5mb3JjZWRNdXRlTWVzc2FnZVJlbmRlcmVyfSx7Zm9yY2VkTXV0ZU1lc3NhZ2VSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoTVYse2RhdGE6YiwKc3RvcFByb3BhZ2F0aW9uOiEwfSl9KSksIm5kIiksUVY9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLk8se0E6KCk9PiFfLlRFKCksdGhlbjooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKF8uVFAse2RhdGE6YixzaG93SWNvbjohMCxidXR0b25PdmVycmlkZXM6aFUoKX0pfSksVzooKT0+Xy5LKF8uTyx7QTooKT0+Xy5URSgpLHRoZW46KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZW51fSx7bWVudVJlbmRlcmVyOih7ZGF0YTpifSk9Pl8uSyhfLlNQLHtkYXRhOmIsZGY6InJlZWwtcGxheWVyLW92ZXJsYXktb3ZlcmZsb3ctbWVudSIsSGE6ITEsdW46ITEsc3RvcFByb3BhZ2F0aW9uOiEwLGJ1dHRvbk92ZXJyaWRlczpoVSgpfSl9KX0pfSksInFkIiksVW1hPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uQmFyfSx7cmVlbEFjdGlvbkJhclZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoXy5qUSx7ZGF0YTpiLApBZjp7aWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHNpemU6IlMiLHR5cGU6InRleHQiLHN0eWxlOiJvdmVybGF5In19KX0pLCJyZCIpLFRtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoic3RpY2tlci1sYXllciJ9LF8uSyhfLk8se0E6KCk9PiEhYSgpLnZpZGVvSW50ZXJhY3Rpb25zJiZfLngoIm13ZWJfZW5hYmxlX3Nob3J0c19zdGlja2VycyIpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uZ0cse3BhOigpPT5hKCkudmlkZW9JbnRlcmFjdGlvbnM/LmludGVyYWN0aW9uc3x8W119LGI9Pl8uSyhfLmNqYSx7ZGF0YTpifSkpLF8uSyhfLlcse2RhdGE6KCk9PmEoKT8udmlkZW9JbnRlcmFjdGlvbnM/LmVsZW1lbnRzSW50ZXJhY3Rpb25zTGF5ZXJ9LHtzdGlja2Vyc0xheWVyUmVuZGVyZXI6Xy5kamF9KSl9KSksInNkIik7dmFyIFNWPV8uTCgoe2RhdGE6YSxZZjpiLGNqOmMsdkI6ZCxJcjplLGVoOmZ9KT0+e2Z1bmN0aW9uIGgocCl7bi5sb3R0aWVFbCYmbi5sb3R0aWVFbC5pc1BhdXNlZCYmbi5sb3R0aWVFbC5nb1RvQW5kUGxheSgwKTtwLnN0b3BQcm9wYWdhdGlvbigpfV8uVUooKCk9Pnt2YXIgcD1vbGEuYmluZCh2b2lkIDAsYSgpKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLHApO18uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLHApfSl9KTt2YXIgaz0oKT0+e3ZhciBwPWEoKTtyZXR1cm4gZD8uKCk/cC5kYXJrVGhlbWVMb2dvPy5sb3R0aWVBbmltYXRpb24/LnVybDpwLmxpZ2h0VGhlbWVMb2dvPy5sb3R0aWVBbmltYXRpb24/LnVybH0sbD0oKT0+YSgpLmFjY2Vzc2liaWxpdHlEYXRhPy5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWx8fF8uYU4oYSgpLnRvb2x0aXBUZXh0KXx8IiIsbT0oKT0+ZD8uKCk/ImxvZ28tZW50aXR5LWxvdHRpZS1hbmltYXRpb24tZGFyayI6CiJsb2dvLWVudGl0eS1sb3R0aWUtYW5pbWF0aW9uLWxpZ2h0IixuPXt9O3JldHVybiBfLksoInl0bS1sb2dvLWVudGl0eSIse2NsYXNzOiJ5dG1Mb2dvRW50aXR5SG9zdCJ9LGU/LigpLF8uSyhfLk8se0E6KCk9PiFlJiZiPy4oKSE9PXZvaWQgMCYmYz8uKCkhPT12b2lkIDAmJmQ/LigpIT09dm9pZCAwLHRoZW46KCk9Pl8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoImRpdiIse2lkOmMsY2xhc3M6Inl0bUxvZ29FbnRpdHlDb250YWluZXIiLCJvbjpjbGljayI6aH0sXy5LKF8uY00se2NsYXNzTmFtZTpfLlAoYiwieXRtTG9nb0VudGl0eUxvZ28iKSxkYXRhOigpPT4oe2FuaW1hdGlvbkNvbmZpZzp7cGF0aDprKCksYXV0b3BsYXk6ITAsbG9vcDohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMH19LGxpc3RlbmVyczp7ZGF0YV9mYWlsZWQ6ZixlcnJvcjpmfX0pLGFuaW1hdGlvblJlZjpuLGFuaW1hdGlvbk5hbWU6bX0pKSxXOigpPT5fLksoVm1hLHtjbGFzc05hbWU6Inl0bUxvZ29FbnRpdHlDb250YWluZXIiLApZZjpiLGlkOigpPT5jPy4oKT8/IiIsREE6cD0+e3ZhciByPWEoKSx0PSEhZD8uKCk7cmV0dXJuIHQmJnIuZGFya1RoZW1lTG9nbz8udGh1bWJuYWlsP18uSlAoci5kYXJrVGhlbWVMb2dvLnRodW1ibmFpbCxwfHx2b2lkIDApOiF0JiZyLmxpZ2h0VGhlbWVMb2dvPy50aHVtYm5haWw/Xy5KUChyLmxpZ2h0VGhlbWVMb2dvLnRodW1ibmFpbCxwfHx2b2lkIDApOiIifSxhbHRUZXh0OmwsZWg6Zn0pfSl9KSl9LCJ0ZCIpO1NWLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7SXI6ITAsZWg6ITB9fTsKdmFyIFZtYT1fLkwoKHtjbGFzc05hbWU6YSxZZjpiLGlkOmMsREE6ZCxhbHRUZXh0OmUsZWg6Zn0pPT57dmFyIGg9Xy51RSgiZGl2Iiksaz1fLnVFKCJpbWciKTtfLlVKKCgpPT57ay52YWx1ZS5zcmM9ZChoLnZhbHVlKX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmEsZWw6aH0sXy5LKCJpbWciLHtlbDprLCJvbjplcnJvciI6ZnVuY3Rpb24obCl7Zj8uKCk7bC5zdG9wUHJvcGFnYXRpb24oKX0saWQ6YyxjbGFzczpfLlAoYiwieXRtTG9nb0VudGl0eUxvZ28iKSxhbHQ6ZX0pKX0sInVkIik7dmFyIFVWPV8uTCgoe3RvcGJhckxvZ29SZW5kZXJlcjphLFZqOmIsV2o6YyxYajpkLHVtOmUsaWNvbk92ZXJyaWRlOmYsaHo6aCxhazprfSk9PntmdW5jdGlvbiBsKCl7dCghMCl9dmFyIG09Xy5ESShsamEsKCk9PmE/LigpPy5vdmVycmlkZUVudGl0eUtleXx8Xy5WTSgpPyJFZ1owYjNCaVlYSWc5UUVvQVElM0QlM0QiOiIiKSxuPSgpPT5hPy4oKT8uaWNvbkltYWdlPy5pY29uVHlwZSxbcCxyXT1fLkooITEsdm9pZCAwLCJaYVBQbGIiKSx0PXIsdj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpLHo9KF8uVk0oKXx8dj8uKCkpPz8hMSxFPW51bGwsQT1fLnVFKCJidXR0b24iKTtfLlVKKGZ1bmN0aW9uKCl7KG0/LigpPz92b2lkIDApfHxTUygxMjA4MSxBLnZhbHVlLEUsRj0+e0U9Rn0sbnVsbCl9KTtyZXR1cm4gXy5LKCJ5dG0taG9tZS1sb2dvIixudWxsLF8uSygiYnV0dG9uIix7ZWw6QSwiYXJpYS1sYWJlbCI6KCk9Pl8uQ0ooYT8uKCk/LnRvb2x0aXBUZXh0KT9fLkNKKGE/LigpPy50b29sdGlwVGV4dCk6CiJZb3VUdWJlIixyb2xlOiJsaW5rIixjbGFzczpfLlAoeyJsb2dvLWluLXBsYXllci1lbmRwb2ludCI6YywibW9iaWxlLXRvcGJhci1oZWFkZXItZW5kcG9pbnQiOigpPT4hYygpfSksa2V5OigpPT5tPy4oKT8/dm9pZCAwPyJ5b29kbGUiOiJsb2dvIiwib246Y2xpY2siOmZ1bmN0aW9uKEYpe3ZhciBDPWE/LigpPy5lbmRwb2ludD8/clYsRz1tPy4oKT8/dm9pZCAwLEQ9Ii8iO0c/KEM9Ry5vblRhcENvbW1hbmR8fEMsRD1fLkIoRy5vblRhcENvbW1hbmQ/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsfHxEKTpEPV8uQihDPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybHx8RDt2YXIgSD1rPy4oKT8/Mzg1NCxSPUYuY3VycmVudFRhcmdldDtHJiYoUi5kYXRhPUcpO2g/LihGKTtfLnFQKHtocmVmOkQsYWs6SCxlbGVtZW50OlIscHVzaFN0YXRlOiEwLGVuZHBvaW50OkN9KTtGLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+IXAoKSYmKG0/LigpPz92b2lkIDApJiZpVShiKCkpJiYKalUoeixtPy4oKT8/dm9pZCAwKSx0aGVuOigpPT5fLksoU1Yse2RhdGE6KCk9Pm0/LigpPz92b2lkIDAsSXI6KCk9Pl8uSyhUVix7Vmo6YixXajpjLFhqOmQsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdW06ZSxpY29uT3ZlcnJpZGU6ZixyczpufSksZWg6bH0pfSksXy5LKF8uTyx7QTooKT0+IXAoKSYmKG0/LigpPz92b2lkIDApJiZpVShiKCkpJiYhalUoeixtPy4oKT8/dm9pZCAwKSx0aGVuOigpPT5fLksoU1Yse2RhdGE6KCk9Pm0/LigpPz92b2lkIDAsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdkI6eixlaDpsfSl9KSxfLksoXy5PLHtBOigpPT4hKCFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSksdGhlbjooKT0+Xy5LKFRWLHtWajpiLFdqOmMsWGo6ZCxZZjoibW9iaWxlLXRvcGJhci1sb2dvIixjajoiaG9tZS1pY29uIix1bTplLGljb25PdmVycmlkZTpmLHJzOm59KX0pKSl9LCJ2ZCIpO1VWLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aHo6ITB9fTsKdmFyIFRWPV8uTCgoe1ZqOmEsV2o6YixYajpjLFlmOmQsY2o6ZSx1bTpmLGljb25PdmVycmlkZTpoLHJzOmt9KT0+e3ZhciBsPSgpPT5hKCk/aD8uKCl8fCJMT0dPX1dJVEhfVEVYVCI6Yz8uKCk/az8uKCk6IkxPR08iO3JldHVybiBfLksoXy5NRCx7aWNvbjooKT0+e3ZhciBtPWwoKTtmPy4oKSYmYT8uKCkmJihtKz0iX01PTk9DSFJPTUUiKTtyZXR1cm4gbX0sY2xhc3NOYW1lOl8uUCgoKT0+YigpPyJsb2dvLWluLXBsYXllciI6ZCgpLHsiZnVsbC1sb2dvIjphLCJmdWxsLWxvZ28tcmVkIjooKT0+YSgpJiZsKCk9PT0iWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiLCJzaG9ydHMtbG9nbyI6Yyxtb25vY2hyb21hdGljOmZ9KSxpZDplfSl9LCJ3ZCIpO3ZhciBXbWE9Xy5MKGE9Pl8uSyhfLklCLG51bGwsXy5LKE9tYSx7Rng6ITEsYW5pbWF0aW9uOmEuYW5pbWF0aW9ufSksXy5LKCJkaXYiLHtjbGFzczoieXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXIifSxfLksoVVYse3RvcGJhckxvZ29SZW5kZXJlcjphLnh5LFZqOiExLFdqOiEwLFhqOiEwLGFrOjEzNDg0MH0pLF8uSyhfLk8se0E6YS5yZWVsSXRlbVdhdGNoUmVzcG9uc2UsdGhlbjooKT0+Xy5LKEhWLHtvcmllbnRhdGlvbjoidmVydGljYWxfZG93biIsSDphLkgsQ3A6ITAsY2xhc3NOYW1lOiJ5dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xzIixiajohMH0pfSkpLF8uSyhfLk8se0E6YS5vdmVybGF5LHRoZW46Yj0+Xy5LKFJWLHtkYXRhOigpPT57dmFyIGM9YigpO2lmKF8udFAoKSl7dmFyIGQ9Yy5tZW51Py5tZW51UmVuZGVyZXI7Yz1kPy5pdGVtcz97Li4uYyxtZW51OnsuLi5jLm1lbnUsbWVudVJlbmRlcmVyOnsuLi5kLGl0ZW1zOlt7YWNjb3VudEluZm9NZW51SXRlbTohMH0sCi4uLmQuaXRlbXNdfX19OmN9cmV0dXJuIGN9LGNsYXNzTmFtZToieXRTaG9ydHNFbWJlZHNSZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyIn0pfSksXy5LKE1tYSx7SDphLkgsY29udGV4dDphLmNvbnRleHR9KSksInhkIiksV2xhPV8uTChhPT57dmFyIHtIOmIscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmMsamI6ZCxQaDplLGNvbnRleHQ6Zn09Xy5EQyhhLHtIOnZvaWQgMCxyZWVsSXRlbVdhdGNoUmVzcG9uc2U6dm9pZCAwLGpiOnZvaWQgMCxQaDp2b2lkIDB9KSxbaCxrXT1fLkoodm9pZCAwLHZvaWQgMCwiQ1BTekllIiksW2wsbV09Xy5KKHZvaWQgMCx2b2lkIDAsIklJNEhDZCIpO18ub0YoKCk9Pnt2YXIgQT1iPy4oKTtBPy5pc1JlYWR5KCkmJm0oQS5nZXRQbGF5ZXJTdGF0ZSgpKX0pO3ZhciBuPUE9PntiPy4oKSYmbShBKX07Xy5uRSgoKT0+e3ZhciBBPWI/LigpO0EmJihBLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLG4pLF8uWXUoKCk9PntBLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApuKX0pKX0sIkM3RDU5ZCIpO18ubkUoKCk9Pnt2YXIgQT1jKCk7aWYoQSl7bGV0IEY9Xy55KCkucmVzb2x2ZShfLmJMKTtmb3IobGV0IEMgb2YgQS5lbmdhZ2VtZW50UGFuZWxzfHxbXSkoQT1DLmVuZ2FnZW1lbnRQYW5lbFNlY3Rpb25MaXN0UmVuZGVyZXIpJiZGLk96KEEuaWRlbnRpZmllcj8udGFnfHxBLnRhcmdldElkfHxBLnBhbmVsSWRlbnRpZmllcixDKX19LCJRZFNlVGIiKTtfLm5FKCgpPT57ZnVuY3Rpb24gQSgpe2lmKEMpe2xldCBHPUMuZ2V0T3B0aW9ucz8uKCJjYXB0aW9ucyIpO0cmJkcubGVuZ3RoPjAmJkM/LnVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncz8uKHtmb250U2l6ZUluY3JlbWVudDoyfSwhMSl9fXZhciBGPWI/LigpO2lmKEYpe3ZhciBDPUY7QSgpO0MuYWRkRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc01vZHVsZUF2YWlsYWJsZSIsQSk7Xy5ZdSgoKT0+e0MucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc01vZHVsZUF2YWlsYWJsZSIsQSl9KX19LCJsOFcxdmIiKTsKdmFyIHA9Xy5OKCgpPT5jKCk/Lm92ZXJsYXk/LnJlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXJ8fGQoKT8uZW1iZWRQcmV2aWV3Py5yZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyLHZvaWQgMCwiemVoWVliIikscj1fLk4oKCk9Pnt2YXIgQTsoQT1fLkIoYygpPy50b3BiYXIsJGxhKT8udG9wYmFyTG9nbz8udG9wYmFyTG9nb1JlbmRlcmVyKXx8KEE9ZSgpPy5lbmRwb2ludCxBPShBPShBJiZfLkIoQSxfLlREKSk/LnZpZGVvSWQpP2BodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvJHtBfWA6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cyIsQT17aWNvbkltYWdlOntpY29uVHlwZToiWU9VVFVCRV9TSE9SVFNfT1VUTElORV9XSVRIX1RFWFRfMjQifSx0b29sdGlwVGV4dDp7cnVuczpbe3RleHQ6IllvdVR1YmUgU2hvcnRzIn1dfSxlbmRwb2ludDp7Y29tbWFuZE1ldGFkYXRhOnt3ZWJDb21tYW5kTWV0YWRhdGE6e3VybDpBLHdlYlBhZ2VUeXBlOiJXRUJfUEFHRV9UWVBFX1NIT1JUUyIsCnJvb3RWZTozODMyfX0sdXJsRW5kcG9pbnQ6e3VybDpBLHRhcmdldDoiVEFSR0VUX05FV19XSU5ET1cifX19KTtyZXR1cm4gQX0sdm9pZCAwLCJOTjI3MmMiKTthPV8uTigoKT0+e2lmKGwoKT09PTUpe3ZhciBBPWUoKT8uZW5kcG9pbnQ7aWYoQSYmKEE9Xy5CKEEsXy5URCk/LnRodW1ibmFpbD8udGh1bWJuYWlscz8uWzBdPy51cmwpKXJldHVybiBfLklFKHsiYmFja2dyb3VuZC1zaXplIjoiY292ZXIiLCJiYWNrZ3JvdW5kLXBvc2l0aW9uIjoiY2VudGVyIiwiYmFja2dyb3VuZC1yZXBlYXQiOiJuby1yZXBlYXQiLCJiYWNrZ3JvdW5kLWltYWdlIjpgJHsibGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjQpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDE2MHB4KSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC40KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA5NnB4KSJ9LCB1cmwoJHtBfSlgfSkoKX19LHZvaWQgMCwiaTE2RkRlIik7CnZhciB0PV8uTigoKT0+YigpPz92b2lkIDAsdm9pZCAwLCJVZll0RmYiKSx2PV8uTigoKT0+dCgpPy5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5Py4oKSx2b2lkIDAsImxLY0FtZCIpLHo9Xy5OKCgpPT4oe3RhOmYoKS50YSxUYzpmKCkuVGMsR2M6ZigpLkdjLGJhOmYoKS5iYSxIOnQoKSxwbGF5ZXJTdGF0ZTpsKCk/Py0xLFM6KCk9Pnt9fSksdm9pZCAwLCJlNmxTaWUiKSxFPV8uTigoKT0+e3ZhciBBPXQoKT8uZ2V0UGxheWVyUmVzcG9uc2U/LigpO3JldHVybiBBP18uQihBPy5vdmVybGF5Py5wbGF5ZXJDb250cm9sc092ZXJsYXlSZW5kZXJlcj8ubXV0ZWRBdXRvcGxheSxvVik6dm9pZCAwfSx2b2lkIDAsIkRHVFNuZCIpO3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coJFQsdCldfSxfLksoInNob3J0cy1lbWJlZHMiLHtjbGFzczoieXRTaG9ydHNFbWJlZHNIb3N0Iiwib246Y2xpY2siOmZ1bmN0aW9uKEEpe0Euc3RvcFByb3BhZ2F0aW9uKCk7aWYoIUVRKEEudGFyZ2V0LCJBIikmJgohRVEoQS50YXJnZXQsIkJVVFRPTiIpJiYoQT1iKCkpJiZBLmlzUmVhZHkoKSlpZihBLmlzTXV0ZWRCeUVtYmVkc011dGVkQXV0b3BsYXkoKSl7dmFyIEY9QS5nZXRWaWRlb0RhdGEoKT8udmlkZW9faWQsQz1BLmdldEN1cnJlbnRUaW1lKCk7RiYmKEEudW5NdXRlKCksQS5sb2FkVmlkZW9CeUlkKEYsQykpfWVsc2UgRj1BLmdldFBsYXllclN0YXRlKCk9PT0xLEM9QS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCksRiYmQz9BLnVuTXV0ZSgpOihGPUEuZ2V0UGxheWVyU3RhdGUoKT09PTEsQz1BLmlzTXV0ZWRCeU11dGVkQXV0b3BsYXkoKSxGJiYhQz8oQS5wYXVzZVZpZGVvKCksayh7bmFtZToicGF1c2VfOTZkcF9hbmltYXRpb24ifSkpOkZ8fChDJiZBLnVuTXV0ZSgpLEEucGxheVZpZGVvKCksayh7bmFtZToicGxheV85NmRwX2FuaW1hdGlvbiJ9KSkpfSxzdHlsZTphfSxfLksoXy5PLHtBOigpPT52KCksdGhlbjooKT0+Xy5LKExWLHtHOnoscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjpFfSksClc6KCk9Pl8uSyhXbWEse2FuaW1hdGlvbjpoLHh5OnIscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmMsSDp0LG92ZXJsYXk6cCxjb250ZXh0OmZ9KX0pKSl9LCJDZCIpO3ZhciBiVj1fLkwoKHtkYXRhOmF9KT0+e0pqYSgpO3JldHVybiBfLksoInl0LXBsYXllci1pbnRlcnN0aXRpYWwtcmVuZGVyZXIiLHtjbGFzczoicGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJIb3N0Iixyb2xlOiJkaWFsb2ciLCJhcmlhLWxhYmVsIjooKT0+e3ZhciBiO2E6e2lmKGI9YSgpLmNvbnRlbnQpe3ZhciBjPV8uQihiLGJtYSk7aWYoYz8udGl0bGU/LmNvbnRlbnQpe2I9Yy50aXRsZS5jb250ZW50O2JyZWFrIGF9Yj1fLkIoYixlbWEpO2I9Yj8uaGVhZGVyJiZfLkIoYi5oZWFkZXIsZG1hKTtpZihiPy5oZWFkbGluZT8uY29udGVudCl7Yj1iLmhlYWRsaW5lLmNvbnRlbnQ7YnJlYWsgYX19Yj12b2lkIDB9cmV0dXJuIGJ9LHRhYmluZGV4Oi0xLGVsOl8uckYoYj0+dm9pZCBiPy5mb2N1cygpKX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJTY3JpbSJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5jb250ZW50fSx7aW50ZXJzdGl0aWFsVmlld01vZGVsOl8uZWphLApkaWFsb2dWaWV3TW9kZWw6Xy4kaWF9KSkpfSwiRGQiKTtiVi5pZG9tQ29tcGF0PSEwO3ZhciBWVj1fLkwoKHtnZjphLEliOmJ9KT0+Xy5LKCJ5dC1iaWdib2FyZCIsbnVsbCxfLksoXy5PLHtBOigpPT5hKCkuaXNEcmFnZ2luZyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dEJpZ2JvYXJkU3Rvcnlib2FyZEhvc3QifSxfLksoR21hLHtMYjphLEliOmJ9KSl9KSksIkVkIik7VlYuaWRvbUNvbXBhdD0hMDt2YXIgV1Y9Xy5MKGE9Pnt2YXIgYj1hLkc7YT1fLk4oKCk9PmIoKS5lYT9fLiROLm10Ol8uJE4uWnQsdm9pZCAwLCJ4aWR6dWQiKTtyZXR1cm4gXy5LKCJidXR0b24iLHsib246Y2xpY2siOmZ1bmN0aW9uKGMpe3ZhciBkPXtlYTohYigpLmVhLHlxOiEwfTtiKCkuUyhkKTtjLnN0b3BQcm9wYWdhdGlvbigpfSxpZDoicGxheWVyLWNvbnRyb2xzLWExMXktdG9nZ2xlIixjbGFzczoieXRtQTExeVN0eWxlc0hpZGRlbkJ1dHRvbiIsImFyaWEtbGFiZWwiOmF9KX0sIkZkIik7dmFyIFhWPV8uTChhPT57ZnVuY3Rpb24gYihoKXtYUyhhLkZkKCk9PT0tMT8xNDE5MDI6MTQxOTAzKTt2YXIgaz1jPy4oKSxsPWEuRmQoKTtrPy5zZWVrQnkobCoxMCx2b2lkIDAsdm9pZCAwLGw9PT0tMT84Mzo4Mik7aC5zdG9wUHJvcGFnYXRpb24oKX12YXIgYz1fLmtHKCRUKSxkPSgpPT5hLkZkKCk9PT0tMT9fLiROLlF0LnJlcGxhY2UoIiRzZWNvbmRzX3BsYWNlaG9sZGVyIiwoMTApLnRvU3RyaW5nKCkpOl8uJE4uSXQucmVwbGFjZSgiJHNlY29uZHNfcGxhY2Vob2xkZXIiLCgxMCkudG9TdHJpbmcoKSksZT1fLk4oKCk9Pnt2YXIgaD1hLkcoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITA6IShoLmlzTGl2ZSYmIWguaXNMaXZlRHZyRW5hYmxlZCl9LHZvaWQgMCwiS2FySUtjIiksZj1fLnVFKCJidXR0b24iLGg9PntXUyhoLGEuRmQoKT09PS0xPzE0MTkwMjoxNDE5MDMpfSk7cmV0dXJuIF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpkLApjbGFzczpfLlAoYS5jbGFzc05hbWUsInl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b24iLCJwbGF5ZXItY29udHJvbC1zZWVrLWljb24tYTExeSIpLHN0eWxlOl8uSUUoe2xlZnQ6KCk9PmEuRmQoKT09PS0xPyIwIjoidW5zZXQiLHJpZ2h0OigpPT5hLkZkKCk9PT0xPyIwIjoidW5zZXQifSksZWw6Ziwib246Y2xpY2siOmJ9KX0pfSwiR2QiKTt2YXIgWVY9Xy5MKGE9Pnt2YXIge1VkOmIsb25jbGljazpjLC4uLmR9PWE7YT1fLnVFKCJkaXYiLGU9PntXUyhlLGIoKSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtlbDphfSxfLksoXy50Tyx7Li4uZCxvbmNsaWNrOmU9PntYUyhiKCkpO2M/LihlKX19KSl9LCJIZCIpO3ZhciBaVj1fLkwoYT0+e3ZhciBiPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJwbGF5ZXJfZnVsbF9lbnRlcl9hbHQiOiJGVUxMU0NSRUVOIixjPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJwbGF5ZXJfZnVsbF9leGl0X2FsdCI6IkZVTExTQ1JFRU5fRVhJVCIsZD0oKT0+YS5HKCkuaXNGdWxsc2NyZWVuP2M6YjtyZXR1cm4gXy5LKFlWLHtuYW1lOmQsYXJpYUxhYmVsOigpPT5hLkcoKS5pc0Z1bGxzY3JlZW4/Xy4kTi5IdDpfLiROLkp0LGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOmR9KSksY2xhc3NOYW1lOiJmdWxsc2NyZWVuLWljb24iLFVkOjEzOTExNyxvbmNsaWNrOmU9PnthLkcoKS50YS50b2dnbGVGdWxsc2NyZWVuKCk7ZS5zdG9wUHJvcGFnYXRpb24oKX19KX0sIklkIik7dmFyICRWPV8uTChhPT57dmFyIGI9Xy5rRygkVCk7cmV0dXJuIF8uSyhZVix7bmFtZTooKT0+YS5HKCkucGxheWVyU3RhdGU9PT0xfHxhLnlzJiZhLkcoKS5wbGF5ZXJTdGF0ZT09PTM/IlBBVVNFX0ZJTExFRCI6IlBMQVlfQVJST1dfRklMTEVEIixhcmlhTGFiZWw6KCk9PmEuRygpLnBsYXllclN0YXRlPT09MXx8YS55cyYmYS5HKCkucGxheWVyU3RhdGU9PT0zP18uJE4uTHQ6Xy4kTi5QZyxjbGFzc05hbWU6InBsYXllci1jb250cm9sLXBsYXktcGF1c2UtaWNvbiIsVWQ6MzY4NDIsb25jbGljazpjPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtlJiYoZT1XUShlKSxkLlMoe2plOmV9KSk7Yy5zdG9wUHJvcGFnYXRpb24oKX19KX0sIkpkIik7dmFyIGFXPV8uTChhPT57dmFyIGI9Xy5rRygkVCk7cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX1JFUExBWSIsYXJpYUxhYmVsOl8uJE4uUHQsY2xhc3NOYW1lOiJlbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbiIsVWQ6NTYzODYsb25jbGljazpjPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtlJiYoZC5yYyYmZT8udW5NdXRlKCksZS5wbGF5VmlkZW8oKSk7Yy5zdG9wUHJvcGFnYXRpb24oKX19KX0sIktkIik7dmFyIGJXPV8uTChhPT5fLksoWVYse25hbWU6IkdFQVIiLGFyaWFMYWJlbDpfLiROLnZ0LGNsYXNzTmFtZTpfLlAoInBsYXllci1zZXR0aW5ncy1pY29uIixhLmNsYXNzTmFtZSksVWQ6Mjg2NjMsb25jbGljazpiPT57YS5HKCkudGEuU2ooYil9fSksIkxkIik7dmFyIGNXPV8uTChhPT57dmFyIHtLdTpiLG9uQ2xpY2s6YyxhcmlhTGFiZWw6ZCxhcmlhUHJlc3NlZDplLGlzT3ZlcmxheTpmfT1fLkRDKGEse2lzT3ZlcmxheTohMX0pO2E9Xy51RSgiYnV0dG9uIixoPT57V1MoaCwxMjcyOTkpfSk7cmV0dXJuIF8uSygieXRtLWNsb3NlZC1jYXB0aW9uaW5nLWJ1dHRvbiIse2NsYXNzOl8uUCgieXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkhvc3QiLHt5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVkT3ZlcmxheTooKT0+YigpPT09LTEmJmYoKSx5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVkOigpPT5iKCk9PT0tMSYmIWYoKX0pfSxfLksoImJ1dHRvbiIse2VsOmEsY2xhc3M6Inl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25CdXR0b24iLHRpdGxlOmQsImFyaWEtbGFiZWwiOmQsImFyaWEtcHJlc3NlZCI6ZSwiYXJpYS1kaXNhYmxlZCI6KCk9PmIoKT09PS0xPyJ0cnVlIjp2b2lkIDAsIm9uOmNsaWNrIjpmdW5jdGlvbihoKXtYUygxMjcyOTkpOwpjPy4oaCk7aC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk1ELHtpY29uOigpPT57dmFyIGg9IiI7aWYoXy54KCJtd2ViX2xvY2FsaXplZF9jY19pY29uIikpe3ZhciBrPV8uSHooKS5nZXQoImhsIik7az0ha3x8aG1hLmluY2x1ZGVzKGspPyJDTE9TRURfQ0FQVElPTiI6IlNVQlRJVExFUyJ9ZWxzZSBrPSJDTE9TRURfQ0FQVElPTiI7dmFyIGw9YigpO3N3aXRjaChsKXtjYXNlIC0xOmNhc2UgMDpoPWs7YnJlYWs7Y2FzZSAxOmg9aysiX0ZJTExFRCI7YnJlYWs7ZGVmYXVsdDpfLmViKGwsdm9pZCAwKX1yZXR1cm4gaH0sY2xhc3NOYW1lOl8uUCh7eXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbll0SWNvbk92ZXJsYXk6Zn0pfSkpKX0sIk1kIik7Y1cuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNsaWNrOiEwfX07dmFyIGtVPSIiO3ZhciBkVz1fLkwoYT0+e3ZhciBiPWEuZ2YsYz1hLnNMLGQ9YS5XcSxlPWEuY2xhc3NOYW1lLGY9YS5WcixoPXA9Pnt2YXIgcj1iKCksdD1jPy4oKSx2PWYoKTtyLnhjJiYodD9yLkg/LnRvZ2dsZVN1YnRpdGxlcyh2KToodD1yLkgpJiZRUSh0LGxVKHIpLHYpKTtfLngoIndlYl9kZWxldGVfc25hY2tiYXJzIil8fHIudGEucUE/LihyKTtkPy4ocCl9LGs9Xy5OKCgpPT57dmFyIHA9YigpLHI9LTE7cC54YyYmKHI9cC5jYXB0aW9uc0VuYWJsZWQ/MTowKTtyZXR1cm4gcn0sdm9pZCAwLCJITW8ycmMiKSxsPV8uTigoKT0+e3ZhciBwPWIoKTtyZXR1cm4gcC54Yz9fLmFBKHAuY2FwdGlvbnNFbmFibGVkPyJDTE9TRURfQ0FQVElPTlNfT04iOiJDTE9TRURfQ0FQVElPTlNfT0ZGIik6Xy5hQSgiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIil9LHZvaWQgMCwiV1E1MVllIiksbT1fLk4oKCk9Pnt2YXIgcD1iKCk7cD1wLnhjP3AuY2FwdGlvbnNFbmFibGVkOnZvaWQgMDtyZXR1cm4gcH0sdm9pZCAwLAoiSTBMVHViIiksbj1fLk4oKCk9PmIoKS54Yyx2b2lkIDAsIkx2ZU9XZSIpO3JldHVybiBfLksoXy5PLHtBOigpPT5fLngoIm13ZWJfcGxheWVyX2hpZGVfdW5hdmFpbGFibGVfc3VidGl0bGVzX2J1dHRvbiIpP24oKTohMCx0aGVuOigpPT5fLksoInl0LWNsb3NlZC1jYXB0aW9ucy10b2dnbGUtYnV0dG9uIix7Y2xhc3M6ZX0sXy5LKGNXLHtLdTprLGFyaWFMYWJlbDpsLGFyaWFQcmVzc2VkOm0sb25DbGljazpoLGlzT3ZlcmxheTohMH0pKX0pfSwiTmQiKTt2YXIgZVc9Xy5MKCh7SUE6YSxkYXRhOmIsY2hpbGRyZW46Y30pPT57ZnVuY3Rpb24gZCgpe2E/LigpfHxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntmLnZhbHVlJiYoaC52YWx1ZS5zdHlsZS53aWR0aD1gJHtmLnZhbHVlLm9mZnNldFdpZHRofXB4YCl9KX12YXIgZT12b2lkIDAsZj1fLnVFKCJkaXYiKSxoPV8udUUoImRpdiIpLGs9Xy5CUSgpLGw9Xy5CUSgpO18ubkUoKCk9PntkKCk7IWUmJmIoKS5zdWJzY3JpYmVkJiYoay5sb3R0aWVFbD8uZ29Ub0FuZFBsYXkoMCksbC5sb3R0aWVFbD8uZ29Ub0FuZFBsYXkoMCkpO2U9ISFiKCkuc3Vic2NyaWJlZH0sIk1NMGpBZiIpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkhvc3QifSxfLksoXy5BUSx7T286ayxScDpsfSxfLksoImRpdiIse2VsOmgsY2xhc3M6Xy5QKCJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNvbnRlbnRDb250YWluZXIiLHt5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvblN0YXRpY1dpZHRoOmEsCnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uQ2FuQW5pbWF0ZTooKT0+YigpLnN1YnNjcmliZWR9KX0sXy5LKCJkaXYiLHtlbDpmLGNsYXNzOiJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXIifSxjKSkpKX0sIlBkIik7ZVcuaWRvbUNvbXBhdD0hMDt2YXIgZlc9Xy5MKCh7ZGF0YTphLGJ1dHRvbk92ZXJyaWRlczpifSk9Pnt2YXIgW2NdPW5qYShhKTtyZXR1cm4gXy5LKCJ5dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOl8uUCh7ImlzLXN1YnNjcmliZWQiOigpPT5jKCkuc3Vic2NyaWJlZCwiaXMtbm90LXN1YnNjcmliZWQiOigpPT4hYygpLnN1YnNjcmliZWQsZGlzYWJsZWQ6KCk9Pnt2YXIgZDtpZihkPSEhYygpLnRoZW1lKXtkPSEhYygpLnN1YnNjcmliZWQ7dmFyIGU9YygpLnRoZW1lO2Q9ZD8hIWUuc3Vic2NyaWJlZENvbG9yUGFsZXR0ZSYmXy51TihlLnN1YnNjcmliZWRDb2xvclBhbGV0dGUpOiEhZS51bnN1YnNjcmliZWRDb2xvclBhbGV0dGUmJl8udU4oZS51bnN1YnNjcmliZWRDb2xvclBhbGV0dGUpfXJldHVybiBkfX0pfSxfLksoXy5hamEse3NldHRpbmdzOigpPT4oe3VuaXF1ZUlkOiJzdWJzY3JpYmUiLGZrOmMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8W10sWGQ6KGMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8CltdKS5sZW5ndGg+MCxlbmFibGVkOiFjKCkuc3Vic2NyaWJlZCYmKGMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8W10pLmxlbmd0aD4wfSl9LF8uSyhYbWEse2RhdGE6YyxidXR0b25PdmVycmlkZXM6Yn0pKSl9LCJRZCIpO2ZXLmlkb21Db21wYXQ9ITA7CnZhciBYbWE9Xy5MKCh7ZGF0YTphLGJ1dHRvbk92ZXJyaWRlczpifSk9Pnt2YXIgYz0oKT0+ISghYSgpLnN1YnNjcmliZWR8fCFhKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiksZD1fLk4oKCk9Pih7Li4uUWphKHtyZW5kZXJlcjphKCksc3Vic2NyaWJlZDohIWEoKS5zdWJzY3JpYmVkLGlzT3ZlcmxheTpfLldNKCk/ITA6ITEsc3RvcFByb3BhZ2F0aW9uOiEwfSksZGlzYWJsZWQ6IWEoKS5lbmFibGVkLC4uLihiPy4oKXx8e30pfSksdm9pZCAwLCJ5b0NkY2UiKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoibW9kZXJuLXN1YnNjcmliZS1idXR0b24tY29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpfLlAoIm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lciIse2hpZGRlbjooKT0+IWMoKX0pfSxfLksoXy5XLHtkYXRhOigpPT5hKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbn0se3RvZ2dsZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTplfSk9Pl8uSyhfLnFPLAp7ZGF0YTplLGJ1dHRvbk92ZXJyaWRlczp7c3R5bGU6Im92ZXJsYXkifSxjbGFzc05hbWU6Xy5QKCJub3RpZmljYXRpb24tYmVsbCIse2hpZGRlbjooKT0+IWMoKX0pfSl9KSksXy5LKCJkaXYiLHtjbGFzczpfLlAoIm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIix7IndpdGgtbm90aWZpY2F0aW9uLWJlbGwiOmN9KX0sXy5LKF8uTyx7QTooKT0+IV8uV00oKSx0aGVuOigpPT57dmFyIGU9Xy5VTSgpPT09ImNoYW5uZWwiO3JldHVybiBfLksoZVcse2RhdGE6YSxJQTplfSxfLksoXy5KSyx7ZGF0YTpkfSkpfSxXOigpPT5fLksoXy5KSyx7ZGF0YTpkfSl9KSxfLksoImRpdiIse2NsYXNzOiJzdWJzY3JpYmUtYnV0dG9uLWNvdW50In0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5zdWJzY3JpYmVyQ291bnRUZXh0fSkpKSl9LCJSZCIpO3ZhciBnVz1fLkwoKHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpiLFhoOmN9KT0+e2Z1bmN0aW9uIGQoKXtfLkFKKGEoKS5lbmRwb2ludCxhKCksITApfXZhciBlPSgpPT5hKCkuc3R5bGU9PT0iQ0hBTk5FTCIsZj1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWwiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50Um91bmQ6ZX0pLGg9KCk9Pk51bWJlcihhKCkubGVmdCkrTnVtYmVyKGEoKS53aWR0aC8yKTwuNSxrPV8uUCgieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXkiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0OmgseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0OigpPT4haCgpLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5UmlnaHRBY3RpdmU6KCk9PmIoKSYmaCgpLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZTooKT0+CmIoKSYmIWgoKX0pLGw9KCk9PmEoKS50aXRsZSxtPSgpPT5hKCkuaG92ZXJjYXJkQnV0dG9uLG49KCk9PmEoKS5tZXRhZGF0YSxwPSgpPT5hKCkuY2FsbFRvQWN0aW9uLHI9Xy5QKHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZTooKT0+IWUoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbDplfSk7Yz1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbSIse3l0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbUNoYW5uZWw6ZSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmU6Y30pO3ZhciB0PV8uUCgieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3QiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZTpifSk7cmV0dXJuIF8uSygiZXhwYW5kaW5nLWVuZHNjcmVlbi1lbGVtZW50Iix7Y2xhc3M6dH0sXy5LKCJkaXYiLHtjbGFzczpjfSksCl8uSygiZGl2Iix7Y2xhc3M6a30sXy5LKCJkaXYiLHtjbGFzczoieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50In0sXy5LKF8uTyx7QTpsLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6bCxjbGFzc05hbWU6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGUifSl9KSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b24ifSxfLksoXy5XLHtkYXRhOm19LHtzdWJzY3JpYmVCdXR0b25SZW5kZXJlcjpmV30pKX0pLF8uSyhfLk8se0E6bix0aGVuOigpPT5fLksoXy5WLHtjbGFzc05hbWU6cix0ZXh0Om59KX0pLF8uSyhfLk8se0E6KCk9PiFlKCkmJmEoKS5jYWxsVG9BY3Rpb24sdGhlbjooKT0+Xy5LKCJkaXYiLHsib246Y2xpY2siOmQsc3R5bGU6ImRpc3BsYXk6IGNvbnRlbnRzIn0sXy5LKF8uVix7Y2xhc3NOYW1lOiJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNhbGxUb0FjdGlvbiIsCnRleHQ6cH0pKX0pKSksXy5LKCJkaXYiLHsib246Y2xpY2siOmR9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hKCkuaW1hZ2UsY2xhc3NOYW1lOmZ9KSkpfSwiU2QiKTtnVy5pZG9tQ29tcGF0PSEwO3ZhciBoVz1fLkwoKHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpiLFhoOmN9KT0+e3ZhciBkPSgpPT5hKCkudGl0bGUsZT0oKT0+YSgpLnRodW1ibmFpbE92ZXJsYXlzLGY9KCk9PmEoKS5wbGF5bGlzdExlbmd0aDtiPV8uUCgieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3QiLHt5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZTpifSk7Yz1fLlAoInl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbSIse3l0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbUFjdGl2ZTpjfSk7cmV0dXJuIF8uSygidGh1bWJuYWlsLWVuZHNjcmVlbi1lbGVtZW50Iix7Y2xhc3M6Yiwib246Y2xpY2siOmZ1bmN0aW9uKCl7Xy5BSihhKCkuZW5kcG9pbnQsYSgpLCEwKX19LF8uSygiZGl2Iix7Y2xhc3M6Y30pLF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wT3ZlcmxheSJ9LApfLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wR3JhZGllbnQifSksXy5LKF8uVix7dGV4dDpkLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxlIix1YjohMCxtYTohMH0pKX0pLF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hKCkuaW1hZ2UsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsIn0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoXy5XLHtkYXRhOmV9LHt0aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyOih7ZGF0YTpofSk9Pl8uSyhfLlZQLHtkYXRhOmgsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyJ9KX0pfSksXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXkifSxfLksoXy5NRCwKe2ljb246IlBMQVlMSVNUU19DQUlSTyIsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29uIn0pLF8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aCIsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpfSkpfSwiVGQiKTtoVy5pZG9tQ29tcGF0PSEwO3ZhciBpVz1bMzQ2LDQyNiw0NzAsNTA2LDU3MCw2NDAsODUzLDEyODAsMTkyMF0salc9WyJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdTbWFsbCIsInl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ01lZGl1bSIsInl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ0xhcmdlIl0sbFc9Xy5MKCh7ZW5kc2NyZWVuUmVuZGVyZXI6YSxHOmJ9KT0+e3ZhciBbYyxkXT1fLkoobmV3IEZRKDAsMCwwLDApLHZvaWQgMCwidXV1TUtjIiksW2UsZl09Xy5KKG5ldyBfLm5kKDAsMCksdm9pZCAwLCJweWFpamIiKSxbaCxrXT1fLkooIiIsdm9pZCAwLCJNSzNpQWYiKSxbbCxtXT1fLkooITEsdm9pZCAwLCJlTU9maWIiKSxuPV8uTigoKT0+YigpLkgsdm9pZCAwLCJwRjY4NGIiKSxwPV8uTigoKT0+Xy5VdyhhKCkudHJhY2tpbmdQYXJhbXMpLHZvaWQgMCwiamJvUEZmIikscj0oKT0+e3ZhciBBPW4oKT8uZ2V0VmlkZW9Db250ZW50UmVjdCgpO0EmJkEud2lkdGg+MCYmQS5oZWlnaHQ+MCYmZChuZXcgRlEoQS5sZWZ0LApBLnRvcCxBLndpZHRoLEEuaGVpZ2h0KSk7KEE9bigpPy5nZXRTaXplKCkpJiZBLndpZHRoPjAmJkEuaGVpZ2h0PjAmJmYobmV3IF8ubmQoQS53aWR0aCxBLmhlaWdodCkpfSx0PUE9PntBPT09Inl0bS1jZS1pbi1lbmRzY3JlZW4iJiYobSghMCksWlMocCgpKSl9LHY9QT0+e0E9PT0ieXRtLWNlLWluLWVuZHNjcmVlbiImJm0oITEpfTtfLlVKKCgpPT57cigpO0hrYShwKCkpO24oKT8uYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix0KTtuKCk/LmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFeGl0Iix2KTtuKCk/LmFkZEN1ZVJhbmdlKCJ5dG0tY2UtaW4tZW5kc2NyZWVuIixOdW1iZXIoYSgpLnN0YXJ0TXMpLzFFMyxOdW1iZXIoMHg3ZmZmZmZmZmZmZmZmKS8xRTMpO18uWXUoKCk9PntiKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix0KTtiKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix2KTtuKCk/LnJlbW92ZUN1ZVJhbmdlKCJ5dG0tY2UtaW4tZW5kc2NyZWVuIil9KX0pOwpfLkRQKCJyZXNpemUiLHIpO3ZhciB6PV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlbkhvc3QiLCgpPT57dmFyIEE9YygpLndpZHRoLEY9MCxDPS0xO2ZvcihsZXQgRz0wO0c8aVcubGVuZ3RoO0crKyl7bGV0IEQ9TWF0aC5hYnMoQS1pV1tHXSk7aWYoQz09PS0xfHxGPj1EKUM9RyxGPUR9cmV0dXJuYHl0bUNyZWF0b3JFbmRzY3JlZW5TaXplJHtpV1tDXX1gfSx7eXRtQ3JlYXRvckVuZHNjcmVlbkluQ3VlUmFuZ2U6bH0pLEU9Xy5QKCJ5dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW0iLHt5dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW1WaXNpYmxlOigpPT5oKCl9KTtyZXR1cm4gXy5LKCJjcmVhdG9yLWVuZHNjcmVlbiIse2NsYXNzOnp9LF8uSygiZGl2Iix7Y2xhc3M6RSxzdHlsZTpfLklFKHt3aWR0aDooMCxfLlpLKSgoKT0+ZSgpLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PmUoKS5oZWlnaHQpfSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuZWxlbWVudHN9LHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6KHtkYXRhOkF9KT0+Cl8uSyhrVyx7ZGF0YTpBLEdCOmMsaXNBY3RpdmU6KCk9PmgoKT09PUEoKS5pZCxYaDooKT0+ISFoKCkmJmgoKSE9PUEoKS5pZCxlQTprLEg6bn0pfSkpfSwiVWQiKTtsVy5pZG9tQ29tcGF0PSEwOwp2YXIga1c9Xy5MKCh7ZGF0YTphLEdCOmIsaXNBY3RpdmU6YyxYaDpkLGVBOmUsSDpmfSk9Pnt2YXIgW2gsa109Xy5KKCExLHZvaWQgMCwiS1dZSkllIiksbD1fLk4oKCk9Pl8uVXcoYSgpLnRyYWNraW5nUGFyYW1zKSx2b2lkIDAsIlV4cHlVYiIpLG09dD0+e3Quc3Vic3RyaW5nKDE1KT09PWEoKS5pZCYmKGsoITApLFpTKGwoKSkpfSxuPXQ9Pnt0LnN1YnN0cmluZygxNSk9PT1hKCkuaWQmJmsoITEpfTtfLlVKKCgpPT57Zj8uKCkuYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIixtKTtmPy4oKS5hZGRFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRXhpdCIsbik7dmFyIHQ9YHl0bS1jZS1lbGVtZW50LSR7YSgpLmlkfWA7Zj8uKCkuYWRkQ3VlUmFuZ2UodCxOdW1iZXIoYSgpLnN0YXJ0TXMpLzFFMyxOdW1iZXIoYSgpLmVuZE1zKS8xRTMpO18uWXUoKCk9PntmPy4oKS5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRW50ZXIiLG0pO2Y/LigpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsCm4pO2Y/LigpLnJlbW92ZUN1ZVJhbmdlKHQpfSl9KTt2YXIgcD0oKT0+YigpLmNsb25lKCkuc2NhbGUoYSgpLndpZHRoLGEoKS53aWR0aCpiKCkuZ2V0U2l6ZSgpLmFzcGVjdFJhdGlvKCkvYSgpLmFzcGVjdFJhdGlvKS50cmFuc2xhdGUoYSgpLmxlZnQqYigpLndpZHRoLWIoKS5sZWZ0KihhKCkud2lkdGgtMSksYSgpLnRvcCpiKCkuaGVpZ2h0LWIoKS50b3AqKGEoKS53aWR0aCpiKCkuZ2V0U2l6ZSgpLmFzcGVjdFJhdGlvKCkvYSgpLmFzcGVjdFJhdGlvLTEpKSxyPV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnQiLHt5dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudFZpc2libGU6KCk9PmgoKX0sKCk9PnAoKS53aWR0aD4yNTZ8fHAoKS5oZWlnaHQ+MjU2P2pXWzJdOnAoKS53aWR0aD45Nnx8cCgpLmhlaWdodD45Nj9qV1sxXTpqV1swXSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6cixzdHlsZTpfLklFKHt3aWR0aDooMCxfLlpLKSgoKT0+cCgpLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PgpwKCkuaGVpZ2h0KSx0b3A6KDAsXy5aSykoKCk9PnAoKS50b3ApLGxlZnQ6Xy55KCkucmVzb2x2ZShfLmxGKT09PSJsdHIiPygwLF8uWkspKCgpPT5wKCkubGVmdCk6ImF1dG8iLHJpZ2h0Ol8ueSgpLnJlc29sdmUoXy5sRik9PT0icnRsIj8oMCxfLlpLKSgoKT0+KGY/LigpLmdldFNpemUoKT8ud2lkdGg/PzApLXAoKS5sZWZ0LXAoKS53aWR0aCk6ImF1dG8ifSksIm9uOm1vdXNlb3ZlciI6ZnVuY3Rpb24odCl7ZShhKCkuaWQpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjptb3VzZW91dCI6ZnVuY3Rpb24odCl7ZSgiIik7dC5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQoKCk9PntlKGEoKS5pZCl9LDApO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpmb2N1c291dCI6ZnVuY3Rpb24odCl7ZSgiIik7dC5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKHQpe2UoYSgpLmlkKTtZUyhsKCkpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LAoib246Y2xpY2siOmZ1bmN0aW9uKHQpe1lTKGwoKSk7dC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEoKS5zdHlsZT09PSJWSURFTyJ8fGEoKS5zdHlsZT09PSJQTEFZTElTVCJ9LCgpPT5fLksoaFcse2VuZHNjcmVlbkVsZW1lbnRSZW5kZXJlcjphLGlzQWN0aXZlOmMsWGg6ZH0pKSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLnN0eWxlPT09IkNIQU5ORUwifHxhKCkuc3R5bGU9PT0iV0VCU0lURSJ9LCgpPT5fLksoZ1cse2VuZHNjcmVlbkVsZW1lbnRSZW5kZXJlcjphLGlzQWN0aXZlOmMsWGg6ZH0pKSkpfSwiVmQiKTtrVy5pZG9tQ29tcGF0PSEwO3ZhciBZbWE9Xy5MKGE9PntmdW5jdGlvbiBiKHope3ZhciBFPWYoKT8ubmV4dEJ1dHRvbj8uYnV0dG9uUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludCxBPWYoKT8udmlkZW9JZDtFJiYhej9fLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKEUpOkEmJmEuSCgpPy5sb2FkVmlkZW9CeVBsYXllclZhcnMoe3ZpZGVvSWQ6QSxhdXRvbmF2OnosYXV0b3BsYXk6en0pfWZ1bmN0aW9uIGMoeil7WFMoMTE1MTMwKTtiKCExKTt6LnN0b3BQcm9wYWdhdGlvbigpfXZhciBbZCxlXT1fLkooMCx2b2lkIDAsIlliRE1mYiIpLGY9Xy5OKCgpPT5CUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdm9pZCAwLCJIYUZLTWIiKSxoPWEuRyxrPV8uTigoKT0+aCgpLnlmLHZvaWQgMCwic1lnbnplIiksbD1fLk4oKCk9PmgoKS56Zix2b2lkIDAsImR5Q3ZLZiIpLG09Xy5OKCgpPT5tVShhLkcsZigpKSx2b2lkIDAsIkNaRm9NYiIpLG49Xy52RSgiYnV0dG9uIix6PT57eiYmV1MoeiwxMTUxMzApfSksCnA9Xy52RSgiZGl2Iix6PT57eiYmV1MoeiwxMTUxMjkpfSk7Xy5uRSgoKT0+e3ZhciB6PW0oKSxFPWwoKSxBPWsoKSxGPWEuSCgpLEM9ZigpO2lmKHope3o9Qz8uY291bnREb3duU2Vjc3x8MTA7dmFyIEc9eioxRTM7aWYoRSYmQT4wKWUoTWF0aC5tYXgoMCwoei1BKS96KSk7ZWxzZXt2YXIgRD0oMCxfLmVsKSgpLEg9KCk9Pnt2YXIgTT0oMCxfLmVsKSgpLUQ7TT1NYXRoLm1pbihNL0csMSk7ZShNKTtNPj0xPyh3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoUiksRj8uaXNSZWFkeT8uKCkmJmIoITApKTpSPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoSCl9O3ZhciBSPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoSCk7Xy5ZdSgoKT0+e3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShSKX0pfX1lbHNlIGUoMCl9LCJHU090d2IiKTt2YXIgcj0oKT0+e1hTKDExNTEyOSk7YS5HKCkuUyh7eGY6ITB9KX0sdD1fLk4oKCk9PmAkey0yMTEqKGQoKSsxKX1gLHZvaWQgMCwiVjVzbXdkIiksCnY9KCk9PmYoKT8uYmFja2dyb3VuZDtyZXR1cm4gXy5LKCJwZnAtYXV0b25hdiIse2NsYXNzOl8uUCgieXRQZnBBdXRvbmF2SG9zdCIsYS5jbGFzc05hbWUse3l0UGZwQXV0b25hdlZpc2libGU6bX0pLCJvbjpjbGljayI6ZnVuY3Rpb24oeil7ei5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6bSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzphLkcsdGh1bWJuYWlsRGV0YWlsczp2fSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBBdXRvbmF2U2NyaW0ifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZIZWFkZXIifSxfLksoXy5WLHt0ZXh0OigpPT5mKCk/LnRpdGxlLG1hOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdlRpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+ZigpPy52aWRlb1RpdGxlLG1hOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdkJ5bGluZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmYoKT8uYnlsaW5lLG1hOiEwfSkpLApfLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZQbGF5QnV0dG9uIiwib246Y2xpY2siOmMsZWw6biwiYXJpYS1sYWJlbCI6KCk9PmYoKT8ubmV4dEJ1dHRvbj8uYnV0dG9uUmVuZGVyZXI/LmFjY2Vzc2liaWxpdHk/LmxhYmVsfSxfLksoInN2ZyIse2NsYXNzOiJ5dFBmcEF1dG9uYXZSaW5nIix2aWV3Qm94OiIwIDAgNzIgNzIifSxfLksoImNpcmNsZSIse2N4OiIzNiIsY3k6IjM2IixyOiIzMS41IixmaWxsOiJ3aGl0ZSIsImZpbGwtb3BhY2l0eSI6IjAuMyJ9KSxfLksoImNpcmNsZSIse2N4OiItMzYiLGN5OiIzNiIscjoiMzMuNSIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLGZpbGw6Im5vbmUiLHRyYW5zZm9ybToicm90YXRlKC05MCkiLCJzdHJva2UtZGFzaGFycmF5IjoiMjExIixzdHlsZTpfLklFKHsic3Ryb2tlLWRhc2hvZmZzZXQiOnR9KX0pKSxfLksoXy5NRCx7aWNvbjoiUExBWUVSX1BMQVkiLGNsYXNzTmFtZToieXRQZnBBdXRvbmF2UGxheUljb24ifSkpLApfLksoXy5XLHtkYXRhOigpPT5mKCk/LmNhbmNlbEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTp6fSk9Pl8uSygiZGl2Iix7ZWw6cCxjbGFzczoieXRQZnBBdXRvbmF2Q2FuY2VsQnV0dG9uIn0sXy5LKF8ucE8se2RhdGE6eix0ZzpyLHN0b3BQcm9wYWdhdGlvbjohMCxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19KSl9KSkpfSkpfSwiWGQiKTt2YXIgbVc9Xy5MKGE9Pl8uSygicGZwLWVuZHNjcmVlbi12aWRlby1yZW5kZXJlciIse2NsYXNzOl8uUCgieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVySG9zdCIsYS5jbGFzc05hbWUpfSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YS5kYXRhKCkubmF2aWdhdGlvbkVuZHBvaW50LGFyaWFMYWJlbDooKT0+Xy5hTihhLmRhdGEoKS50aXRsZSl9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hLmRhdGEoKS50aHVtYm5haWwsY2xhc3NOYW1lOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaHVtYm5haWwifSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheSJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXlUaXRsZUJ5bGluZSJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlclRpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkudGl0bGUsCm1hOiEwLHljOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckJ5bGluZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnNob3J0QnlsaW5lVGV4dCxtYTohMCx5YzohMH0pLF8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLnNob3J0Vmlld0NvdW50VGV4dCx0aGVuOigpPT5fLksoXy5JQixudWxsLCIgXHUyMDIyICIsXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkuc2hvcnRWaWV3Q291bnRUZXh0LG1hOiEwfSkpfSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJEdXJhdGlvbiJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLmxlbmd0aFRleHQsbWE6ITB9KSkpKSksIllkIik7dmFyIFptYT1fLkwoYT0+e2Z1bmN0aW9uIGIoRCl7RC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBjKEQpe3QoITEpO0Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZChEKXt0KCEwKTtEPy5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBlKCl7RygpfWZ1bmN0aW9uIGYoRCl7dmFyIEg9Ri52YWx1ZTtIJiYoSC5zY3JvbGxUbyh7bGVmdDpILnNjcm9sbExlZnQtSC5jbGllbnRXaWR0aCouOCxiZWhhdmlvcjoic21vb3RoIn0pLEQuc3RvcFByb3BhZ2F0aW9uKCkpfWZ1bmN0aW9uIGgoRCl7dmFyIEg9Ri52YWx1ZTtIJiYoSC5zY3JvbGxUbyh7bGVmdDpILnNjcm9sbExlZnQrSC5jbGllbnRXaWR0aCouOCxiZWhhdmlvcjoic21vb3RoIn0pLEQuc3RvcFByb3BhZ2F0aW9uKCkpfXZhciBrPV8uTigoKT0+YS5VYygpLndhdGNoTmV4dFJlc3BvbnNlLHZvaWQgMCwiV1g2UkJlIiksbD1fLk4oKCk9Pk1TKGsoKSkuZmlsdGVyKEQ9PkQuZW5kU2NyZWVuVmlkZW9SZW5kZXJlciksdm9pZCAwLAoiVlZVZHJjIiksbT1fLk4oKCk9Pnt2YXIgRD1hLlVjKCkucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXI/LnN0YXJ0TXM7RD1EPytEOnZvaWQgMDtyZXR1cm4gYS5HKCkucGxheWVyU3RhdGU9PT0yJiZsPy4oKT8ubGVuZ3RoPjAmJighRHx8YS5HKCkudmEqMUUzPEQpfSx2b2lkIDAsInBRU1FLYiIpLG49Xy5OKCgpPT5hLlVjKCkucGxheWVyUmVzcG9uc2U/LnZpZGVvRGV0YWlscz8udmlkZW9JZCx2b2lkIDAsInlRYk4xZSIpLFtwLHJdPV8uQUMoKCk9PntuKCk7cmV0dXJuITF9KSx0PXIsW3Ysel09Xy5KKCExLHZvaWQgMCwicVFSNzNiIiksW0UsQV09Xy5KKCExLHZvaWQgMCwidmNhM0lkIiksRj1fLnZFKCJkaXYiKSxDPV8uTigoKT0+YS5VYygpLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LmF1dGhvcj8/IiIsdm9pZCAwLCJvSkUwc2QiKSxHPSgpPT57dmFyIEQ9Ri52YWx1ZTtEJiYoeihELnNjcm9sbExlZnQ+MSksQShELnNjcm9sbExlZnQ8CkQuc2Nyb2xsV2lkdGgtRC5jbGllbnRXaWR0aC0xKSl9O18ubkUoKCk9PntwKCk7bSgpJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntHKCl9KX0sInRBMTE3ZCIpO3JldHVybiBfLksoInBmcC1tb3JlLXZpZGVvcyIse2NsYXNzOl8uUCgieXRQZnBNb3JlVmlkZW9zSG9zdCIsYS5jbGFzc05hbWUpfSxfLksoXy5PLHtBOigpPT5tKCkmJiFwKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zT3ZlcmxheSIsIm9uOmNsaWNrIjpifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NIZWFkZXIifSxfLksoImgzIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1RpdGxlIn0sKCk9Pl8uJE4uenQucmVwbGFjZSgiJGNoYW5uZWxfbmFtZV9wbGFjZWhvbGRlciIsQygpKSksXy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b24iLCJvbjpjbGljayI6ZCwiYXJpYS1sYWJlbCI6Xy4kTi54dH0sXy5LKF8uTUQse2ljb246IkNMT1NFIiwKY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NDbG9zZUljb24ifSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3RDb250YWluZXIifSxfLksoXy5PLHtBOnYsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zUGFkZGxlTGVmdCIsIm9uOmNsaWNrIjpmLCJhcmlhLWxhYmVsIjpfLiROLmZvfSxfLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9MRUZUIixjbGFzc05hbWU6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZUljb24ifSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0IixlbDpGLCJvbjpzY3JvbGwiOmV9LF8uSyhfLlcse2RhdGE6bCxIazohMH0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6KHtkYXRhOkR9KT0+Xy5LKG1XLHtkYXRhOkQsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW0ifSl9KSksXy5LKF8uTyx7QTpFLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZVJpZ2h0IiwKIm9uOmNsaWNrIjpoLCJhcmlhLWxhYmVsIjpfLiROLmVvfSxfLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVCIsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29uIn0pKX0pKSl9KSxfLksoXy5PLHtBOigpPT5tKCkmJnAoKSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NNb3JlVmlkZW9zQnV0dG9uIiwib246Y2xpY2siOmMsImFyaWEtbGFiZWwiOl8uJE4uYm99LF8uJE4uYm8pfSkpfSwiJGQiKTt2YXIgJG1hPV8uTChhPT5fLksoInBmcC1lbmRzY3JlZW4tcGxheWxpc3QtcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEuZGF0YSgpLm5hdmlnYXRpb25FbmRwb2ludCxhcmlhTGFiZWw6KCk9Pl8uYU4oYS5kYXRhKCkudGl0bGUpfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YS5kYXRhKCkudGh1bWJuYWlsLGNsYXNzTmFtZToieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGh1bWJuYWlsIn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXkifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5VGl0bGUifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlLAptYTohMH0pKSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckJvdHRvbU92ZXJsYXkifSxfLksoXy5NRCx7aWNvbjoiUExBWUxJU1RTIixjbGFzc05hbWU6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckljb24ifSksXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkudmlkZW9Db3VudFRleHQseWM6ITB9KSkpKSwiYWUiKTt2YXIgYW5hPV8uTChhPT57ZnVuY3Rpb24gYihGKXtGLnN0b3BQcm9wYWdhdGlvbigpO0Y9eigpLmxlbmd0aDttKChsKCktcigpK0YqcigpKSVGKX1mdW5jdGlvbiBjKEYpe0Yuc3RvcFByb3BhZ2F0aW9uKCk7Rj16KCkubGVuZ3RoO20oKGwoKStyKCkpJUYpfXZhciBkPV8udkUoImRpdiIpLFtlLGZdPV8uSihbXSx2b2lkIDAsIkVyVVFJZSIpLFtoLGtdPV8uSigwLHZvaWQgMCwiV01lWW9kIiksbD1oLG09ayxbbixwXT1fLkooMCx2b2lkIDAsIk96UFNrZSIpLHI9bixbdCwsdl09Xy5KKDAsdm9pZCAwLCJsQ1RtcGUiKTtfLkRQKCJyZXNpemUiLCgpPT57dihGPT5GKzEpfSk7dmFyIHo9Xy5OKCgpPT5NUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdm9pZCAwLCJyeTJEVCIpLEU9Xy5OKCgpPT5uVShhLkcsYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwiRmhVWnIiKSxBPV8uTigoKT0+cigpJiZ6KCkubGVuZ3RoPnIoKSx2b2lkIDAsIlV3RWM1YiIpO18ubkUoKCk9Pnt0KCk7CnZhciBGPXooKSxDPWwoKTtpZihFKCkmJmQudmFsdWUpaWYoRi5sZW5ndGgpe3ZhciBHPWQudmFsdWUsRD1HLmNsaWVudFdpZHRoO0c9Ry5jbGllbnRIZWlnaHQ7bGV0IFQ9Ri5sZW5ndGg7Zm9yKHZhciBIPTIsUj0yLE09TWF0aC5tYXgoRC85NiwyKSxTPU1hdGgubWF4KEcvNTQsMiksWT0oVC0xKSo0O1k+MCYmKEg8TXx8UjxTKTspe3ZhciBwYT1ILzIsb2E9Ui8yLFU9SDw9TS0yJiZZPj1vYSo0LGhhPVI8PVMtMiYmWT49cGEqNDtpZigocGErMSkvb2EqblcvKEQvRyk+RC9HLyhwYS8ob2ErMSkqblcpJiZoYSlZLT1wYSo0LFIrPTI7ZWxzZSBpZihVKVktPW9hKjQsSCs9MjtlbHNlIGlmKGhhKVktPXBhKjQsUis9MjtlbHNlIGJyZWFrfWxldCB7Y29sdW1uQ291bnQ6YmEsWXo6YWEsUno6T2F9PXtjb2x1bW5Db3VudDpILFl6OlIsUno6WX07SD0hMTtPYT49MTImJlQqNC1PYTw9NiYmKGFhPj00fHxiYT49NCkmJihIPSEwKTtSPWJhKjk2O009YWEqNTQ7Uz1NYXRoLm1pbihSL008RC9HPwpHL006RC9SLDIpO1I9TWF0aC5mbG9vcihNYXRoLm1pbihELFIqUykpO009TWF0aC5mbG9vcihNYXRoLm1pbihHLE0qUykpO2xldCB7U0E6SmIsUkE6emF9PXtTQTpSLFJBOk19O1I9SmIrNDtNPXphKzQ7Uz0wO1k9W107Zm9yKHBhPTA7cGE8YmE7cGErKylmb3Iob2E9MDtvYTxhYTtvYSsrKWlmKFU9MCxIJiZwYT49YmEtMiYmb2E+PWFhLTI/VT0xOm9hJTI9PT0wJiZwYSUyPT09MCYmKFU9MiksaGE9UyVULFUhPT0wKXtsZXQgTGI9TWF0aC5mbG9vcihNKm9hL2FhKSxjYz1NYXRoLmZsb29yKFIqcGEvYmEpO1kucHVzaCh7ZGF0YTpGWyhoYStDKSVUXSxsZWZ0OmNjKyhELUpiKS8yLHRvcDpMYisoRy16YSkvMix3aWR0aDpNYXRoLmZsb29yKFIqKHBhK1UpL2JhKS1jYy00LGhlaWdodDpNYXRoLmZsb29yKE0qKG9hK1UpL2FhKS1MYi00fSk7UysrfXZhciB7U3k6bWEsaW5kZXg6dGF9PXtTeTpZLGluZGV4OlN9O2YobWEpO3AodGEpfWVsc2UgZihbXSl9LCJ3ZVk0QiIpO3JldHVybiBfLksoInBmcC12aWRlby13YWxsLWVuZHNjcmVlbiIsCntjbGFzczpfLlAoInl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSG9zdCIsYS5jbGFzc05hbWUse3l0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlzaWJsZTpFLHl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSXNPYnNjdXJlZDphLlV4fSksIm9uOmNsaWNrIjpmdW5jdGlvbihGKXtGLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTpFLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0Q29udGFpbmVyIn0sXy5LKF8uTyx7QSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnQiLCJvbjpjbGljayI6YiwiYXJpYS1sYWJlbCI6Xy4kTi5mb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fTEVGVCIsY2xhc3NOYW1lOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUljb24ifSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3QiLAplbDpkfSxfLksoXy5nRyx7cGE6ZX0sRj0+Xy5LKCJkaXYiLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0l0ZW0iLHN0eWxlOl8uSUUoe3RvcDooMCxfLlpLKSgoKT0+Ri50b3ApLGxlZnQ6KDAsXy5aSykoKCk9PkYubGVmdCksd2lkdGg6KDAsXy5aSykoKCk9PkYud2lkdGgpLGhlaWdodDooMCxfLlpLKSgoKT0+Ri5oZWlnaHQpfSl9LF8uSyhfLlcse2RhdGE6KCk9PkYuZGF0YX0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6bVcsZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjokbWF9KSkpKSxfLksoXy5PLHtBLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHQiLCJvbjpjbGljayI6YywiYXJpYS1sYWJlbCI6Xy4kTi5lb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQiLGNsYXNzTmFtZToieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29uIn0pKX0pKX0pKX0sImNlIiksblc9OTYvNTQ7dmFyIG9XPV8uTCgoe2plOmF9KT0+e3ZhciBiPV8uTigoKT0+YSgpLHZvaWQgMCwiRVRnZTdkIiksW2MsLGRdPV8uSigwLHZvaWQgMCwiWkNCSXMiKTtfLm5FKCgpPT57YigpJiZkKGU9PmUrMSl9LCJLc1gzcmYiKTtyZXR1cm4gXy5LKCJwbGF5ZXItYWN0aW9uLWluZGljYXRvciIse2NsYXNzOiJ5dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySG9zdCJ9LF8uSyhfLmdHLHtwYTooKT0+YigpP1tjKCldOltdfSwoKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckFjdGlvbiJ9LF8uSyhfLk1ELHtpY29uOmIsY2xhc3NOYW1lOiJ5dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySWNvbiJ9KSkpKX0sImVlIik7b1cuaWRvbUNvbXBhdD0hMDt2YXIgcFc9Xy5MKCh7RzphLFNtOmIscGxheWVyT3ZlcmxheVJlbmRlcmVyOmMsVnc6ZCxjbGFzc05hbWU6ZX0pPT57dmFyIGY9KCk9Pl8uQihiPy4oKT8ucGxheWVyQmFyQWN0aW9uQnV0dG9uLF8uVkwpO3JldHVybiBfLksoInBsYXllci10aW1lLWRpc3BsYXkiLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5SG9zdCIsZSl9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVDaHVua3MiLHt5dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGw6KCk9PiFkPy4oKSx5dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3Q6KCk9PmEoKS5pc0xpdmUseXR3UGxheWVyVGltZURpc3BsYXlMaXZlSGVhZDooKT0+b1UoYSgpKX0pLCJvbjpjbGljayI6ZnVuY3Rpb24oaCl7aWYoYSgpLmlzTGl2ZSYmIW9VKGEoKSkpe2EoKS5IPy5zZWVrVG8oSW5maW5pdHkpO3ZhciBrPVVRKGEoKS5IKTtrJiZhKCkuUyh7dmlkZW9EdXJhdGlvbjprfSl9aC5zdG9wUHJvcGFnYXRpb24oKX19LApfLksoImRpdiIse2RpcjoibHRyIn0sXy5LKGJuYSx7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpjfSksXy5LKF8uTyx7QTooKT0+IW9VKGEoKSksdGhlbjooKT0+Xy5LKGNuYSx7RzphfSl9KSkpLF8uSyhfLk8se0E6KCk9Pnt2YXIgaD1fLkIoYj8uKCk/LnBsYXllckJhcixEUyk/Xy5CKGtUKGEoKSxfLkIoYj8uKCk/LnBsYXllckJhcixEUykpLGVUKT8udGl0bGU6dm9pZCAwLGs9ZigpPy50ZXh0O3JldHVybiBoPz9rfSx0aGVuOmg9Pl8uSyhkbmEse3RpdGxlOmgsYnV0dG9uOmYsRzphfSl9KSl9LCJmZSIpLGJuYT1fLkwoKHtHOmEscGxheWVyT3ZlcmxheVJlbmRlcmVyOmJ9KT0+e3ZhciBjPSgpPT5hKCkuaXNMaXZlP18uJE4ubG86Q1QoYSgpLnZhKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZUVsYXBzZWQifSxfLksoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uTyx7QTooKT0+Yj8uKCk/LmxpdmVJbmRpY2F0b3JUZXh0LAp0aGVuOmQ9Pl8uSyhfLlYse3RleHQ6ZH0pLFc6KCk9Pl8uSyhfLklCLG51bGwsYyl9KSksXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5U2NyZWVuUmVhZGVyT25seSJ9LCgpPT57aWYoYSgpLmlzTGl2ZSlyZXR1cm4gXy4kTi5sbzt2YXIgZD1QUih7c2Vjb25kczphKCkudmF9KTtyZXR1cm5gJHtfLiROLlZ0fSAke2R9YH0pKX0sImdlIiksY25hPV8uTCgoe0c6YX0pPT57dmFyIGI9KCk9PntpZihvVShhKCkpKXZhciBjPTA7ZWxzZXtjPU1hdGg7dmFyIGQ9Yy5yb3VuZCxlPWEoKTtjPWQuY2FsbChjLGUuaXNEcmFnZ2luZz9lLkNhOmUudmEpLU1hdGgucm91bmQoVVEoYSgpLkgpKX1yZXR1cm4gY307cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZVNlY29uZCJ9KSxfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlUaW1lRGVsaW1pdGVyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sCiIvIiksXy5LKCJzcGFuIix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVTZWNvbmQiLCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVEdXJhdGlvbiIpfSxfLksoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sKCk9PmEoKS5pc0xpdmU/Q1QoYigpKTpDVChhKCkudmlkZW9EdXJhdGlvbikpLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHkifSwoKT0+e2lmKGEoKS5pc0xpdmUpcmV0dXJuIENUKGIoKSk7dmFyIGM9UFIoe3NlY29uZHM6YSgpLnZpZGVvRHVyYXRpb259KTtyZXR1cm5gJHtfLiROLlV0fSAke2N9YH0pKSl9LCJoZSIpLGRuYT1fLkwoKHt0aXRsZTphLGJ1dHRvbjpiLEc6Y30pPT57ZnVuY3Rpb24gZChmKXtiPy4oKT8uY29tbWFuZCYmKF8uQUooYigpLmNvbW1hbmQse30sITEpLGYuc3RvcFByb3BhZ2F0aW9uKCkpfXZhciBlPV8uTigoKT0+YygpLmJhPy5FZSx2b2lkIDAsImpnMk9NYyIpO3JldHVybiBfLksoXy5PLAp7QTpiLHRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJBY3Rpb25Db250YWluZXIifSxfLksoImJ1dHRvbiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlQaWxsIiwieXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b24iKSwib246Y2xpY2siOmQsImFyaWEtbGFiZWwiOigpPT5fLmFOKGYoKS50ZXh0KX0sXy5LKF8uVix7dGV4dDphLHljOiEwfSksXy5LKF8uTyx7QTooKT0+IShfLngoIm13ZWJfdXNlX29ubHlfY2hhcHRlcl90aXRsZV9pbl9mdWxsc2NyZWVuIikmJmMoKS5pc0Z1bGxzY3JlZW4pLHRoZW46KCk9Pl8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX1JJR0hUX0NBSVJPIixjbGFzc05hbWU6Inl0d1BsYXllclRpbWVEaXNwbGF5Q2hldnJvbiJ9KX0pKSksVzooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5Q2hhcHRlclRleHQiLHt5dHdQbGF5ZXJUaW1lRGlzcGxheUZ1bGxzY3JlZW5Db250cm9sc0Fsd2F5c09uOmV9KX0sCl8uSyhfLlYse3RleHQ6YSx5YzohMH0pKX0pfSwiaWUiKTt2YXIgcVc9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5nbj1hO3RoaXMubGlzdGVuZXJzPVtdO3RoaXMuY29udGV4dD1iO3RoaXMubz1kO3RoaXMudj1xVSh0aGlzLlVjPy5IKTt0aGlzLkQ9dGhpcy5TLmJpbmQodGhpcyk7dGhpcy5zdGF0ZT17Li4uZFQoKSwuLi5jfTthPXRoaXMudWQoKTtbdGhpcy5CLHRoaXMual09Xy5KKGEsdm9pZCAwLCJwM053cSIpfVMoYSl7aWYoIXFsYShhLHRoaXMuc3RhdGUpKXt0aGlzLnN0YXRlPXsuLi50aGlzLnN0YXRlLC4uLmF9O2E9Xy54KCJwbGF5ZXJfY29udHJvbHNfbG9nX2NyZWF0aW9uX2VuYWJsZWQiKTt2YXIgYj0tMTthJiYhcFUoKSYmKGI9KDAsXy5lbCkoKSk7YSYmXy5BcSgicGN1X3MiKTt0aGlzLmomJnRoaXMuaih0aGlzLnVkKCkpO2EmJihfLkFxKCJwY3Vfc2UiKSxfLkFxKCJwY3VfcnMiKSk7dGhpcy5nbih0aGlzLnVkKCkpO2EmJihfLkFxKCJwY3VfcmUiKSxwbGEoYiksXy5qZi5HYSgoKT0+e18uQXEoInBjdV9hcCIpfSwKOCkpfX11ZCgpe3ZhciBhPXRoaXMubz9xVSh0aGlzLm8oKSk6cVUodGhpcy5VYz8uSCk7cmV0dXJuey4uLnRoaXMuc3RhdGUsUzp0aGlzLkQsSDphLHRhOnRoaXMuY29udGV4dC50YSxUYzp0aGlzLmNvbnRleHQuVGMsR2M6dGhpcy5jb250ZXh0LkdjLGJhOnRoaXMuY29udGV4dC5iYX19Z2V0RGF0YSgpe3JldHVybiB0aGlzLlVjfX07dmFyIHJXPV8uTChhPT57ZnVuY3Rpb24gYihZKXtNPUguYW5pbWF0ZShbe29mZnNldDowLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIixvcGFjaXR5Oll9LHtvZmZzZXQ6MSxvcGFjaXR5OjF9XSx7ZHVyYXRpb246MjAwLGZpbGw6ImZvcndhcmRzIn0pO00uYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e009dm9pZCAwO2UoKTtGPSJsaW5nZXJpbmcifSl9ZnVuY3Rpb24gYyhZLHBhPSExLG9hPSExKXt2YXIgVT1bXTtVLnB1c2goe29mZnNldDowLHRyYW5zZm9ybTpgdHJhbnNsYXRlWCgke0M9PT0tMT8yMDotMjB9cHgpYCxvcGFjaXR5OnBhPyIwIjoiMSJ9KTtwYSYmVS5wdXNoKHtvZmZzZXQ6LjUsb3BhY2l0eToiMSJ9KTtVLnB1c2goe29mZnNldDoxLHRyYW5zZm9ybToidHJhbnNsYXRlWCgwKSIsb3BhY2l0eToiMSJ9KTtwYT1ZLmFuaW1hdGUoVSx7ZHVyYXRpb246NDAwLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIn0pOwpZPVkucXVlcnlTZWxlY3RvcigicGF0aCIpO1U9W107dmFyIGhhPXtvZmZzZXQ6MCxkOkM9PT0tMT8ncGF0aCgiTSAxOCA0IEwgMTggMTYgTCAxOCAyOCIpJzoncGF0aCgiTSA0IDQgTCA0IDE2IEwgNCAyOCIpJ307b2EmJihoYS5maWx0ZXI9ImRyb3Atc2hhZG93KDAgMCAwLjVweCByZ2JhKDAsIDAsIDAsIDAuOCkpIik7VS5wdXNoKGhhKTtvYSYmVS5wdXNoKHtvZmZzZXQ6LjgsZmlsdGVyOiJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwLjgpKSJ9KTtoYT17b2Zmc2V0OjEsZDpDPT09LTE/J3BhdGgoIk0gMTggNCBMIDYgMTYgTCAxOCAyOCIpJzoncGF0aCgiTSA0IDQgTCAxNiAxNiBMIDQgMjgiKSd9O29hJiYoaGEuZmlsdGVyPSJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwKSkiKTtVLnB1c2goaGEpO1kuYW5pbWF0ZShVLHtkdXJhdGlvbjozMzMsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4wNSwgMC4wMCwgMC4wMCwgMS4wMCkiLGZpbGw6ImZvcndhcmRzIn0pOwpyZXR1cm4gcGF9ZnVuY3Rpb24gZCgpe3ZhciBZPUgucXVlcnlTZWxlY3RvcigiLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50IikuY2xvbmVOb2RlKCEwKTtZLmNsYXNzTGlzdC5hZGQoInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFsIik7WS5jbGFzc0xpc3QucmVtb3ZlKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpO0guYXBwZW5kQ2hpbGQoWSk7YyhZLCEwLCEwKS5hZGRFdmVudExpc3RlbmVyKCJmaW5pc2giLCgpPT57WS5yZW1vdmUoKX0pfWZ1bmN0aW9uIGUoKXtjbGVhclRpbWVvdXQoUik7Uj1zZXRUaW1lb3V0KCgpPT57ZigpfSxfLnNqKCJ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9saW5nZXJfZHVyYXRpb24iLDMwMCkpfWZ1bmN0aW9uIGYoWT0xLHBhPSEwKXtNPUguYW5pbWF0ZShbe29mZnNldDowLG9wYWNpdHk6WX0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjoyMDAsZmlsbDoiZm9yd2FyZHMiLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIn0pOwpwYSYmKE0uYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e1M/LigpO009dm9pZCAwO2soKTtBKCExKX0pLEY9ImZhZGluZy1vdXQiKX1mdW5jdGlvbiBoKCl7aWYoIU0pcmV0dXJuIDA7dmFyIFk9TnVtYmVyKGdldENvbXB1dGVkU3R5bGUoSCkub3BhY2l0eSk7TS5jYW5jZWwoKTtNPXZvaWQgMDtyZXR1cm4gWX1mdW5jdGlvbiBrKCl7Rj0iaGlkZGVuIjtIPUM9dm9pZCAwO2NsZWFyVGltZW91dChSKX12YXIgbD1fLk4oKCk9PmEuRygpLkpkLHZvaWQgMCwicGRsbVliIiksbT1fLk4oKCk9PmEuRygpLktiLHZvaWQgMCwiYVBTOUoiKSxuPV8uTigoKT0+YS5HKCkuSCx2b2lkIDAsInh2QnJsZiIpLFtwLHJdPV8uSigiIix2b2lkIDAsIlZKdWd6ZCIpLFt0LHZdPV8uSigiIix2b2lkIDAsIllTS1NPZCIpLFt6LEVdPV8uSighMSx2b2lkIDAsIk9zbWluYyIpLEE9RSxGPSJoaWRkZW4iLEMsRyxELEgsUj0wLE0sUztfLm5FKCgpPT57aWYoRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZSl7dmFyIFk9CmwoKTtpZighKG0oKTw9MXx8WT09PTApKXtBKCEwKTtpZihDJiZZIT09Qyl7bGV0IHBhPTE7TSYmKHBhPWgoKSk7ZihwYSwhMSk7aygpfUM9WTtIPUM9PT0tMT9HOkQ7aWYoRyYmRClpZihZPW4oKSxZPVk/LmlzUmVhZHk/LigpP1kuZ2V0Q3VycmVudFRpbWUoKTowLFk9Qz09PS0xJiZZPD0xMD8xMDoobSgpLTEpKjEwLFk9YCR7Qz09PS0xPyJcdTIyMTIiOiIrIn0gJHtZfWAsQz09PS0xP3IoWSk6dihZKSxGPT09ImhpZGRlbiJ8fEY9PT0iZmFkaW5nLW91dCIpWT0wLEY9PT0iZmFkaW5nLW91dCImJihZPWgoKSxkKCkpLGIoWSksRiE9PSJmYWRpbmctb3V0IiYmYyhILnF1ZXJ5U2VsZWN0b3IoIi55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpKSxGPSJmYWRpbmctaW4iO2Vsc2UgaWYoRj09PSJmYWRpbmctaW4ifHxGPT09ImxpbmdlcmluZyIpSC5xdWVyeVNlbGVjdG9yKCIueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiIpLmFuaW1hdGUoW3tvZmZzZXQ6MCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsCnRyYW5zZm9ybToic2NhbGUoMSkifSx7b2Zmc2V0Oi42NCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsdHJhbnNmb3JtOmBzY2FsZSgke18uc2ooIndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2R1cmF0aW9uX2J1bXBfc2NhbGUiKXx8Ljl9KWB9LHtvZmZzZXQ6MSx0cmFuc2Zvcm06InNjYWxlKDEpIn1dLHtkdXJhdGlvbjoxODR9KSxkKCksRj09PSJsaW5nZXJpbmciJiZlKCl9fX0sImh6bnlEIik7Xy5ZdSgoKT0+e2goKTtrKCl9KTtyZXR1cm4gXy5LKCJ5dHctcGxheWVyLXNlZWstb3ZlcmxheSIse2NsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUhvc3QiLHN0eWxlOl8uSUUoe2Rpc3BsYXk6KCk9PnooKT8iYmxvY2siOiJub25lIn0pfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb24iLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2siKSxlbDpfLnJGKFk9PntHPVl9KX0sXy5LKCJkaXYiLAp7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93IiwieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKX0sXy5LKCJzdmciLHt2aWV3Qm94OiIwIDAgMjIgMzIiLHdpZHRoOiIyMiIsaGVpZ2h0OiIyNCIsY2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dTdmcifSxfLksoInBhdGgiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BhdGgiLGQ6Ik0gMTggNCBMIDYgMTYgTCAxOCAyOCIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIixmaWxsOiJub25lIn0pKSksXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiJ9LHApKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb24iLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkZvcndhcmQiKSxlbDpfLnJGKFk9PntEPVl9KX0sXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiJ9LAp0KSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyIsInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50Iil9LF8uSygic3ZnIix7dmlld0JveDoiMCAwIDIyIDMyIix3aWR0aDoiMjIiLGhlaWdodDoiMjQiLGNsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3ZnIn0sXy5LKCJwYXRoIix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoIixkOiJNIDQgNCBMIDE2IDE2IEwgNCAyOCIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIixmaWxsOiJub25lIn0pKSkpKX0sImtlIik7dmFyIHRVO3ZhciBbZW5hLHNXXT1fLkooITEsdm9pZCAwLCJHTlczUyIpLFtDVSxEVV09Xy5KKCExLHZvaWQgMCwiR0FFa0oiKSxbdFcsdGxhXT1fLkoodm9pZCAwLHZvaWQgMCwiT1ZQMWVlIik7dmFyIEJVPTA7dmFyIEVVPXZvaWQgMDt2YXIgelU9MCxIVT0wLEdVPTAseVU9MCxBVT0hMSxGVT0wO3ZhciBOVTt2YXIgdVc9W3tyZWdpc3RlcjphPT57dmFyIGI9d2xhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZvbHVtZUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj14bGEoYSk7YT1hKCkuSDthPy5hZGRFdmVudExpc3RlbmVyKCJjYXB0aW9uc2NoYW5nZWQiLGIpO2E/LmFkZEV2ZW50TGlzdGVuZXIoImNhcHRpb25zc2V0dGluZ3NjaGFuZ2VkIixiKTthPy5hZGRFdmVudExpc3RlbmVyKCJvbkNhcHRpb25zVHJhY2tMaXN0Q2hhbmdlZCIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOihhLGIpPT57Yj1CbGEoYSxiKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1EbGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIlNFRUtfQ09NUExFVEUiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9UFUoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIiwKYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOihhLGIpPT57Yj1FbGEoYSxiKTthKCk/Lkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9Qcm9ncmVzcyIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1GbGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uTXV0ZWRBdXRvcGxheUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1IbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9SWxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9R2xhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbkZ1bGxzY3JlZW5DaGFuZ2UiLApiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUpsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUtsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmVycm9yIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVuZXJyb3IiLGIpfX19LHtyZWdpc3RlcjooYSxiKT0+e3ZhciBjPUxsYShhLGIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwbGF5ZXItYXV0b25hdi1wYXVzZSIsYyk7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGxheWVyLWF1dG9uYXYtcGF1c2UiLGMpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9TWxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJhdXRvbmF2LXRvZ2dsZS1jbGljayIsCmIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImF1dG9uYXYtdG9nZ2xlLWNsaWNrIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPU5sYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25Mb29wUmFuZ2VDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57aWYoIV8ueCgiZW5hYmxlX213ZWJfa2V5Ym9hcmRfc2hvcnRjdXRzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXpsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYil9fX1dO3ZhciBWbGE9Xy5MKGE9Pnt2YXIgYj1fLk4oKCk9PmEuSCgpLHZvaWQgMCwicThXc0tmIiksYz1fLk4oKCk9PmEuZGF0YSgpLHZvaWQgMCwiazZVZVYiKSxkPV8uTigoKT0+e3ZhciBDPWEuY29udGV4dCgpO3JldHVybiBuZXcgcVcoKCk9Pnt9LEMse2F1dG9uYXZFbmFibGVkOkMudGEuZGUoKSxlYTohMH0sYil9LHZvaWQgMCwiT0F4SUpiIiksZT1fLk4oKCk9PigwLGQoKS5CKSgpLHZvaWQgMCwiVXUxUmkiKSxmPV8uTigoKT0+e3ZhciBDPWUoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITE6Qy5pc0xpdmUmJiFDLmlzTGl2ZUR2ckVuYWJsZWR9LHZvaWQgMCwiY3RVZzNkIiksaD1fLk4oKCk9Pnt2YXIgQz1mKCk7cmV0dXJuIHJVKCkmJiFDfSx2b2lkIDAsIm5KZGswYyIpLGs9Xy5OKCgpPT5jKCkucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzfHxjKCkuamI/LnByZXZpZXdQbGF5YWJpbGl0eVN0YXR1cyx2b2lkIDAsIkJWWEM5IiksbD1fLk4oKCk9PgplKCkuYmE/LlpoJiYkUyhlKCksaygpKSx2b2lkIDAsIk1Idkh3ZiIpLG09Xy5OKCgpPT5uVShlLGMoKS53YXRjaE5leHRSZXNwb25zZSksdm9pZCAwLCJjdHhVcyIpLG49Xy5OKCgpPT5tVShlLEJTKGMoKS53YXRjaE5leHRSZXNwb25zZSkpLHZvaWQgMCwiR0xrQlUiKSxwPV8uTigoKT0+e3ZhciBDPWwoKSxHPW0oKSxEPW4oKSxIPWUoKS5wbGF5ZXJTdGF0ZTtyZXR1cm4gQz8hMDpHfHxEPyExOkg9PT0wfSx2b2lkIDAsIlhFRXZCIikscj1fLnZFKCJidXR0b24iLEM9PntDJiZXUyhDLDI4NTcyLCFfLngoImVtYmVkc19jdWVkX292ZXJsYXlfdmVfa3MiKSl9KSx0PV8uTigoKT0+e3ZhciBDPWMoKTtyZXR1cm4oQz1fLkIoTlMoQy53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcixDLmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcik/LmNvbGxhcHNlZFJlbmRlcmVyLG1WKT8udGl0bGUpP18uYU4oQyk6dm9pZCAwfSwKdm9pZCAwLCJnc0dXeSIpLHY9Xy51RihDPT57dmFyIEc9ZSgpLEQ9YygpLEg9dCgpO3JldHVybiBHLmJhPy5oaWRlVmlkZW9JbmZvPyExOkQud2F0Y2hOZXh0UmVzcG9uc2V8fEQuamI/SCE9PXZvaWQgMDpDfSx7aW5pdGlhbDohMH0pLHo9Xy5OKCgpPT5lKCkuZWEsdm9pZCAwLCJUUjlLR2QiKSxFPV8udUYoQz0+e3ZhciBHPWMoKTtyZXR1cm4oRy5wbGF5ZXJSZXNwb25zZT8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXJ8fEcuamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyKT8uY29udHJvbEJnSHRtbD8/Q30se2luaXRpYWw6dm9pZCAwfSksQT1bXTtfLm5FKCgpPT57UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e0EuZm9yRWFjaChDPT52b2lkIEMoKSk7QS5sZW5ndGg9MDt1Vy5mb3JFYWNoKEM9PntBLnB1c2goQy5yZWdpc3RlcigoKT0+ZCgpLnVkKCksKCk9PmMoKSkpfSl9KX0sIlkycVk3YiIpO18ubkUoKCk9Pnt2YXIgQz1kKCksCkc9YygpO0MuVWM9Rzt2YXIgRD1DLnY9PT1HLkg7Qy52PXFVKEcuSCk7RHx8Qy5qJiZDLmooQy51ZCgpKX0sImExNzhSZCIpO3ZhciBGPUM9PntDPUMuZGV0YWlsLmF1dG9uYXZFbmFibGVkO3ZhciBHPXthdXRvbmF2RW5hYmxlZDpDfTtDJiYoRy54Zj0hMCk7ZSgpLlMoRyl9O18ub0YoKCk9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGZwLWF1dG9uYXYtdXBkYXRlIixGKX0pO18uWXUoKCk9PntBLmZvckVhY2goQz0+dm9pZCBDKCkpO0EubGVuZ3RoPTA7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBmcC1hdXRvbmF2LXVwZGF0ZSIsRil9KTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKCRULGIpXX0sXy5LKCJwZnAtY29udHJvbHMiLHtjbGFzczoieXRQZnBDb250cm9sc0hvc3QiLCJvbjpjb250ZXh0bWVudSI6ZnVuY3Rpb24oQyl7YS5jb250ZXh0KCkudGEuU2o/LihDKTtDLnByZXZlbnREZWZhdWx0KCl9fSxfLksoR1Yse0c6ZSx0aHVtYm5haWxEZXRhaWxzOigpPT57dmFyIEM9CmMoKTtyZXR1cm4gQy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LmRlZmF1bHRUaHVtYm5haWx8fEMucGxheWVyUmVzcG9uc2U/LnZpZGVvRGV0YWlscz8udGh1bWJuYWlsfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNDcmVhdG9yRW5kc2NyZWVuQ29udGFpbmVyIiwib246Y2xpY2siOmZ1bmN0aW9uKEMpe0Muc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT5jKCkucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXIsdGhlbjooKT0+Xy5LKGxXLHtlbmRzY3JlZW5SZW5kZXJlcjooKT0+YygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyLEc6ZX0pfSkpLF8uSygiZGl2Iix7aWQ6InBsYXllci1jb250cm9sLW92ZXJsYXkiLGNsYXNzOl8uUCgieXRQZnBDb250cm9sc092ZXJsYXkiLHt5dFBmcENvbnRyb2xzRmFkZUluOnp9KSwib246Y2xpY2siOmZ1bmN0aW9uKEMpe3AoKT8KKFhTKDI4NTcyKSxlKCkuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCxDLmN1cnJlbnRUYXJnZXQudmlzdWFsRWxlbWVudCksYigpLnBsYXlWaWRlbygpKTpLVShDLGUoKSl9LCJvbjpwb2ludGVybW92ZSI6ZnVuY3Rpb24oQyl7Qy5wb2ludGVyVHlwZT09PSJtb3VzZSImJihlKCkuUyh7ZWE6ITB9KSxjVChlKCkse0ljOiEwfSkpfX0sXy5LKF8uTyx7QTp2LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCJ9LF8uSyhfLk8se0E6dCx0aGVuOigpPT5fLksoImgyIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNWaWRlb1RpdGxlIn0sdCl9KSl9KSxfLksob1cse2plOigpPT5lKCkuamV9KSxfLksoXy5PLHtBOnAsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbiIsZWw6ciwiYXJpYS1sYWJlbCI6Xy4kTi5QZyx0aXRsZTpfLiROLlBnfSxfLksoInN2ZyIse2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIiwKdmlld0JveDoiMCAwIDYwIDYwIix3aWR0aDoiMTAwJSJ9LF8uSygicGF0aCIse2NsYXNzOiJ5dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9uSWNvbkJnIixkOiJNMzAsMEEzMCwzMCwwLDEsMCw2MCwzMCwzMCwzMCwwLDAsMCwzMCwwWiIsZmlsbDooKT0+RSgpPz8iIzFmMWYxZiJ9KSxfLksoInBhdGgiLHtkOiJNMjEsNDEuNjVWMThMNDMuNywyOS44NVoiLGZpbGw6IiNmZmYifSkpKX0pLF8uSyhabWEse0c6ZSxVYzpjfSksXy5LKGFuYSx7RzplLHdhdGNoTmV4dFJlc3BvbnNlOigpPT5jKCkud2F0Y2hOZXh0UmVzcG9uc2UsVXg6bixjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNWaWRlb1dhbGxFbmRzY3JlZW4ifSksXy5LKFltYSx7SDpiLEc6ZSx3YXRjaE5leHRSZXNwb25zZTooKT0+YygpLndhdGNoTmV4dFJlc3BvbnNlLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0F1dG9uYXYifSksXy5LKF8uTyx7QTooKT0+IWwoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhXVix7RzplfSksCl8uSyhWVix7Z2Y6ZSxJYjohMX0pLF8uSyhYVix7RzplLEZkOi0xLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b24ifSksXy5LKFhWLHtHOmUsRmQ6MSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNIaWRkZW5TZWVrQnV0dG9uIn0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoclcse0c6ZX0pfSksXy5LKGZuYSx7SDpiLEc6ZSxVYzpjLEZ6OkUsZGlzYWJsZVNjcnViYmluZzpmfSkpfSkpKSl9LCJvZSIpLGZuYT1fLkwoKHtIOmEsRzpiLFVjOmMsRno6ZCxkaXNhYmxlU2NydWJiaW5nOmV9KT0+e2Z1bmN0aW9uIGYocil7ci5zdG9wUHJvcGFnYXRpb24oKX12YXIgaD1fLk4oKCk9PiFiKCkuYmE/Lm5oLHZvaWQgMCwicEZ0RFhiIiksaz1fLk4oKCk9PiFiKCkuYmE/LmlxLHZvaWQgMCwidjRYNXNlIiksbD1fLk4oKCk9PmMoKS5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsdm9pZCAwLCJqTGhoV2MiKSxtPV8uTigoKT0+R1MobCgpKSx2b2lkIDAsInM2N3hTYiIpLG49Xy5OKCgpPT4KRVMobCgpKSx2b2lkIDAsInBDaWF1IikscD1fLk4oKCk9PiFiKCkuYmE/LnpyLHZvaWQgMCwic3Z1eEIiKTtyZXR1cm4gXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoieXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyIn0sXy5LKENWLHtMYjpiLGhmOm0sY29uZmlnOigpPT4oe3Bvc2l0aW9uOjEsS2Y6ITEsSW46cCgpLFJhOm4oKSxkaXNhYmxlU2NydWJiaW5nOmUoKSxZbzooKT0+e2JUKCl9LEZuOigpPT57Y1QoYigpLHtJYzohMH0pfX0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNCb3R0b21CYXIiLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjpkfSksIm9uOmNsaWNrIjpmfSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzTGVmdENvbnRyb2xzIn0sXy5LKF8uTyx7QTooKT0+YigpLnBsYXllclN0YXRlPT09MCx0aGVuOigpPT5fLksoYVcse0c6Yn0pLFc6KCk9Pl8uSygkVix7RzpiLHlzOiEwfSl9KSwKXy5LKEhWLHtvcmllbnRhdGlvbjoiaG9yaXpvbnRhbF9yaWdodCIsSDphLER2OiEwLENwOl8uQkt8fF8uR0ssYmo6ITAsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHMifSksXy5LKHBXLHtHOmIscGxheWVyT3ZlcmxheVJlbmRlcmVyOmwsVnc6ITAsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVGltZURpc3BsYXkifSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNSaWdodENvbnRyb2xzIn0sXy5LKGRXLHtnZjpiLFZyOiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0NhcHRpb25zQnV0dG9uIn0pLF8uSyhiVyx7RzpiLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1NldHRpbmdzQnV0dG9uIn0pLF8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoWlYse0c6Yn0pfSkpKSl9KX0sInBlIik7dmFyIGduYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dC1lbWJlZHMtaW5mby1wYW5lbC1kZXRhaWxzLXZpZXctbW9kZWwiLHtjbGFzczoieXRFbWJlZHNJbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsSG9zdCJ9LF8uSyhfLlYse2NsYXNzTmFtZToieXRFbWJlZHNJbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsQm9keVRleHQiLHRleHQ6KCk9PmEoKS5ib2R5VGV4dH0pLF8uSyhfLmdHLHtwYTooKT0+YSgpLmN0YUJ1dHRvbnN8fFtdfSxiPT4oYj0oYj1fLkIoYixhbWEpKT9fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpiLmJvZHlUZXh0Py5jb250ZW50fSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmI/Lmljb24/Lmljb25UeXBlfX1dfSxyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDpiPy5vblRhcH19fX0sXy5aQyk6dm9pZCAwKT9fLksoXy5DRCx7ZGF0YTpifSk6bnVsbCkpLCJxZSIpO3ZhciBobmE9Xy5MKCh7ZGF0YTphLG9uQ2xpY2s6Yn0pPT5fLksoInl0LWVtYmVkcy1pbmZvLXBhbmVsLW92ZXJ2aWV3LXZpZXctbW9kZWwiLG51bGwsXy5LKCJidXR0b24iLHsib246Y2xpY2siOmIsY2xhc3M6Inl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyQnV0dG9uIn0sXy5LKF8uTyx7QTooKT0+YSgpLmhlYWRlckljb24/Lmljb25UeXBlLHRoZW46KCk9Pl8uSygic3BhbiIsbnVsbCxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmhlYWRlckljb24/Lmljb25UeXBlfSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0In0sXy5LKF8uVix7dGV4dDooKT0+YSgpLnRpdGxlfSksXy5LKF8uVix7dGV4dDooKT0+KHtjb250ZW50OmEoKS50aXRsZSYmYSgpLmJvZHlUZXh0PyIgXHUyMDIyICI6IiJ9KX0pLF8uSyhfLlYse3RleHQ6KCk9PmEoKS5ib2R5VGV4dH0pKSkpLCJyZSIpO3ZhciB2Vz1fLkwoKHtkYXRhOmEscHJvcHM6Yn0pPT57ZnVuY3Rpb24gYyhkKXt2YXIgZT1hKCkuaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbDtpZihlKXt2YXIgZj17fTtlLnRpdGxlPy5jb250ZW50JiYoZi5oZWFkZXJUaXRsZT1lLnRpdGxlLmNvbnRlbnQpO18ueU4oey4uLmYsR2I6KCk9Pl8uSyhnbmEse2RhdGE6ZX0pLEhhOiEwfSl9ZC5zdG9wUHJvcGFnYXRpb24oKX1yZXR1cm4gXy5LKCJ5dG0tZW1iZWRzLWluZm8tcGFuZWwtcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdCIse3l0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdEF1dG9oaWRlOigpPT5iKCkucGxheWVyU3RhdGU9PT0xLHl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdFRvcENvbnRyb2xzU3RhY2tlZEluUG9ydHJhaXQ6KCk9PiEkUyhiKCkpJiYhYigpLmJhPy5oaWRlVmlkZW9JbmZvJiYhYigpLmJhPy5uaH0pLHN0eWxlOl8uSUUoeyJhbmltYXRpb24tZGVsYXkiOigpPT4KYCR7YSgpLmR1cmF0aW9uTXN8fDFFNH1tc2B9KX0sXy5LKF8uTyx7QTooKT0+YSgpLmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsLHRoZW46ZD0+Xy5LKGhuYSx7ZGF0YTpkLG9uQ2xpY2s6Y30pfSkpfSwic2UiKTt2Vy5pZG9tQ29tcGF0PSEwO3ZhciB3Vz1fLkwoKHtHOmF9KT0+e3ZhciBbYixjXT1fLkooImhpZGRlbiIsdm9pZCAwLCJTQmhiSGUiKSxkLGUsW2YsaF09Xy5KKCExLHZvaWQgMCwiSGc3eG5mIiksW2ssbF09Xy5KKCExLHZvaWQgMCwibktIbFplIik7Xy5VSigoKT0+e3RXKCk9PT12b2lkIDAmJnVsYSgpO2U9c2V0VGltZW91dCgoKT0+e3RXKCkmJm0oITApO2woITApfSwyRTMpfSk7Xy5ZdSgoKT0+e20oITEpO2NsZWFyVGltZW91dChlKTtjbGVhclRpbWVvdXQoZCl9KTtfLm5FKCgpPT57Q1UoKSYmZigpJiYobSghMSksc1coITApKTshdFcoKSYmZigpJiZtKCExKTt0VygpJiYhZW5hKCkmJiFmKCkmJmsoKSYmbSghMCl9LCJWQ0ZCSWIiKTt2YXIgbT1uPT57aChuKTthKCkuSD8uc2V0QXV0b2Nyb3BFbmFibGVkKG4pO2NsZWFyVGltZW91dChkKTtuPyhjKCJ2aXNpYmxlIiksZD1zZXRUaW1lb3V0KCgpPT57YygiIil9LDNFMykpOihjKCIiKSxkPXNldFRpbWVvdXQoKCk9PntjKCJoaWRkZW4iKX0sM0UzKSl9O3JldHVybiBfLksoImRpdiIsCntjbGFzczpfLlAoInl0QXV0b2Nyb3BCdXR0b25Ib3N0Iix7eXRBdXRvY3JvcEJ1dHRvblZpc2libGU6KCk9PmIoKT09PSJ2aXNpYmxlIix5dEF1dG9jcm9wQnV0dG9uSGlkZGVuOigpPT5iKCk9PT0iaGlkZGVuIn0pfSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKF8ucE8se2RhdGE6e3N0eWxlOiJTVFlMRV9MSUdIVF9URVhUIixzaXplOiJTSVpFX0RFRkFVTFQiLHRleHQ6e3J1bnM6W3t0ZXh0Ol8uJE4uUHN9XX19LGNsYXNzTmFtZToieXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9uIixwcmV2ZW50RGVmYXVsdDohMCxzdG9wUHJvcGFnYXRpb246ITAsdGc6KCk9PnttKCFmKCkpO3NXKCFmKCkpfX0pLFc6KCk9Pl8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIix0ZXh0OntydW5zOlt7dGV4dDoiMTAwJSJ9XX19LGNsYXNzTmFtZToieXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9uIixwcmV2ZW50RGVmYXVsdDohMCwKc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57bSghZigpKTtzVyghZigpKX19KX0pKX0sInVlIik7d1cuaWRvbUNvbXBhdD0hMDt2YXIgeFc9Xy5MKCh7ZGF0YTphLEZlOmJ9KT0+Xy5LKCJ5dG0tZW5kc2NyZWVuLXZpZGVvLXJlbmRlcmVyIixudWxsLF8uSyhfLmZqYSx7ZGF0YTooKT0+KHt0aHVtYm5haWw6YSgpLnRodW1ibmFpbCx0aHVtYm5haWxPdmVybGF5czphKCkudGh1bWJuYWlsT3ZlcmxheXMsdmlkZW9JZDphKCkudmlkZW9JZCxsZW5ndGhUZXh0OmEoKS5sZW5ndGhUZXh0LHB1Ymxpc2hlZFRpbWVUZXh0OmEoKS5wdWJsaXNoZWRUaW1lVGV4dCxuYXZpZ2F0aW9uRW5kcG9pbnQ6YSgpLm5hdmlnYXRpb25FbmRwb2ludCxoZWFkbGluZTphKCkudGl0bGV9KSxGZTpifSkpLCJ2ZSIpO3hXLmlkb21Db21wYXQ9ITA7dmFyIHpXPV8uTCgoe3dhdGNoTmV4dFJlc3BvbnNlOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0IixpZG9tS2V5OiJmdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyIn0sXy5LKF8uZ0cse3BhOigpPT5NUyhhPy4oKSl9LGI9Pl8uSyh5Vyx7dmlkZW86Yn0pKSksIndlIik7elcuaWRvbUNvbXBhdD0hMDt2YXIgeVc9Xy5MKCh7dmlkZW86YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc1JlY29tbWVuZGF0aW9uIn0sXy5LKF8uVyx7ZGF0YTphfSx7ZW5kU2NyZWVuVmlkZW9SZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoeFcse2RhdGE6YixGZTohMH0pfSkpLCJ4ZSIpO3lXLmlkb21Db21wYXQ9ITA7dmFyIEJXPV8uTChhPT5fLksoInBsYXllci1mdWxsc2NyZWVuLXRvcC1jb250cm9scyIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNIb3N0IixzdHlsZTpfLklFKHt2aXNpYmlsaXR5OigpPT5hLkcoKS5OYT8idmlzaWJsZSI6ImhpZGRlbiJ9KX0sXy5LKCJoMiIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ29udHJvbHNWaWRlb1RpdGxlIn0sXy5LKF8uTyx7QTooKT0+YS53YXRjaE5leHRSZXNwb25zZT8uKCk/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnZpZGVvRGV0YWlscz8ucGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyPy50aXRsZSx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6Yn0pfSkpLF8uSyhBVyx7RzphLkd9KSksInllIik7QlcuaWRvbUNvbXBhdD0hMDsKdmFyIEFXPV8uTCgoe0c6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ2xvc2VCdXR0b25XcmFwcGVyIn0sXy5LKF8ucE8se2RhdGE6e3N0eWxlOiJTVFlMRV9MSUdIVF9URVhUIixzaXplOiJTSVpFX0RFRkFVTFQiLGljb246e2ljb25UeXBlOiJDTE9TRSJ9LGFjY2Vzc2liaWxpdHk6e2xhYmVsOiJDbG9zZSJ9LGFjY2Vzc2liaWxpdHlEYXRhOnthY2Nlc3NpYmlsaXR5RGF0YTp7bGFiZWw6IkNsb3NlIn19fSxwcmV2ZW50RGVmYXVsdDohMCxzdG9wUHJvcGFnYXRpb246ITAsdGc6KCk9PnthKCkuUyh7TmE6ITF9KTtfLk1PKCIuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludCIpO2NUKGEoKSl9fSkpLCJ6ZSIpO0FXLmlkb21Db21wYXQ9ITA7dmFyIENXPV8uTChhPT57dmFyIGI9KCk9PmEuRygpLmlzRnVsbHNjcmVlbnx8YS5HKCkuYmE/LkVlLGM9KCk9Pnt2YXIgZj1hLkcoKTtyZXR1cm4gXy5hTCgiZnVsbHNjcmVlbi1jb250cm9scyIse2V4cGFuZGVkOmYuTmEsInN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCI6Zi5iYT8uRWV8fF8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil9KX0sZD0oKT0+e3ZhciBmPWEuRygpO3JldHVybmAKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7Zi5KZn1weCk7CiAgICAgIHRyYW5zaXRpb246ICR7Zi5XZD8ibm9uZSI6InRyYW5zZm9ybSAwLjJzIGVhc2UsIGJvdHRvbSAwLjJzIGVhc2UifTsKICAgICAgdmlzaWJpbGl0eTogJHtmLkpmfHxmLk5hPyJ2aXNpYmxlIjoiaW5oZXJpdCJ9OwogICAgICBwb2ludGVyLWV2ZW50czogICR7Zi5OYT8iYWxsIjoibm9uZSJ9OwogICAgYH0sZT0oKT0+Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmYS5hdXRvY3JvcENvbmZpZz8uKCk7cmV0dXJuIF8uSygicGxheWVyLWZ1bGxzY3JlZW4tY29udHJvbHMiLHtoaWRkZW46IWIsY2xhc3M6Inl0d1BsYXllckZ1bGxzY3JlZW5Db250cm9sc0hvc3QifSxfLksoXy5PLHtBOmIsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoQlcse0c6YS5HLHdhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKHdXLHtHOmEuR30pfSksXy5LKEtWLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlLHRodW1ibmFpbFByZXZpZXdSZW5kZXJlcjphLnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcn0pLF8uSygiZGl2Iix7Y2xhc3M6YyxzdHlsZTpkfSxfLksoelcse3dhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KSkpfSkpfSwiQWUiKTtDVy5pZG9tQ29tcGF0PSEwO3ZhciBEVz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8udUUoInl0bS1wYWlkLWNvbnRlbnQtb3ZlcmxheS1yZW5kZXJlciIpO3JldHVybiBfLksoInl0bS1wYWlkLWNvbnRlbnQtb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOiJ5dG1QYWlkQ29udGVudE92ZXJsYXlIb3N0IixlbDpiLCJvbjphbmltYXRpb25lbmQiOmZ1bmN0aW9uKGMpe2IudmFsdWUuY2xhc3NMaXN0LmFkZCgieXRtUGFpZENvbnRlbnRPdmVybGF5SGlkZGVuIik7Yy5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50LGNsYXNzTmFtZToieXRtUGFpZENvbnRlbnRPdmVybGF5TGluayJ9LF8uSyhfLk8se0E6KCk9PmEoKS5pY29uPy5pY29uVHlwZSx0aGVuOigpPT5fLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVBhaWRDb250ZW50T3ZlcmxheVRleHQifSxfLksoXy5WLAp7dGV4dDooKT0+YSgpLnRleHR9KSksXy5LKF8uTyx7QTooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCx0aGVuOigpPT5fLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVCJ9KX0pKSl9LCJCZSIpO0RXLmlkb21Db21wYXQ9ITA7dmFyIEVXPV8uTChhPT57dmFyIGI9KCk9PmEuRygpLkg/LmdldFNpemU/LigpPy53aWR0aDtyZXR1cm4gXy5LKCJwbGF5ZXItYm90dG9tLWNvbnRyb2xzIix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJCb3R0b21Db250cm9sc0hvc3QiLHsiZGVsaGktcGxheWVyIjpfLngoIm13ZWJfd2F0Y2hfZGVsaGlfcGxheWVyIil9KX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLWJvdHRvbSBwbGF5ZXItY29udHJvbHMtYm90dG9tLWxlZnQifSxfLksoXy5PLHtBOigpPT4hKGIoKSYmYigpPDMyMCksdGhlbjooKT0+Xy5LKHBXLHtHOmEuRyxTbTphLlNtLHBsYXllck92ZXJsYXlSZW5kZXJlcjphLnBsYXllck92ZXJsYXlSZW5kZXJlcn0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtYm90dG9tIiwicGxheWVyLWNvbnRyb2xzLWJvdHRvbS1yaWdodCIpfSxfLksoXy5PLHtBOigpPT4hKGEuRygpLmJhPy5pcXx8YigpJiZiKCk8MjQwKSx0aGVuOigpPT5fLksoImRpdiIsCntjbGFzczoieXR3UGxheWVyQm90dG9tQ29udHJvbHNGdWxsc2NyZWVuQnV0dG9uV3JhcHBlciJ9LF8uSyhaVix7RzphLkd9KSl9KSkpfSwiQ2UiKTtFVy5pZG9tQ29tcGF0PSEwO3ZhciBGVz1fLkwoYT0+e3ZhciB7RzpiLHdhdGNoTmV4dFJlc3BvbnNlOmN9PV8uREMoYSx7d2F0Y2hOZXh0UmVzcG9uc2U6dm9pZCAwfSk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PkhTKGIoKSxBUyhjKCkpKSx0aGVuOigpPT5fLksoInBsYXllci1lbmRzY3JlZW4iLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvbnRhaW5lciJ9LF8uSygiZGl2Iix7aWQ6InBsYXllci1lbmRzY3JlZW4iLGNsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW4iLCJkYXRhLWhhcy10aW1lci1jb3VudGRvd24iOiEwfSxfLksoaW5hLHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOigpPT5CUyhjKCkpfSksXy5LKGpuYSx7cHJvcHM6YixwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjooKT0+QlMoYygpKX0pLF8uSyhrbmEse3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6KCk9PgpCUyhjKCkpfSkpKSl9KX0sIkRlIik7RlcuaWRvbUNvbXBhdD0hMDsKdmFyIGluYT1fLkwoYT0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWwifSxfLksobG5hLHsuLi5hfSksXy5LKG1uYSx7Li4uYX0pKSwiRWUiKSxsbmE9Xy5MKGE9Pnt2YXIge3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Y309Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KSxbZCxlXT1fLiROLk9zLnNwbGl0KCJzZWNvbmRzX3BsYWNlaG9sZGVyIik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkhlYWRlciIscm9sZToidGV4dCJ9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmIoKS56ZiYmYygpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+YygpPy5wYXVzZVRleHR9KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKCJzcGFuIix7aWQ6InVwbmV4dC1pbi1tZXNzYWdlIn0sZCxfLksobm5hLHsuLi5hfSksZSkpKSl9LCJGZSIpLG5uYT1fLkwoYT0+e3ZhciBiPQphLnByb3BzO3JldHVybiBfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duTnVtYmVyIiwiYXJpYS1oaWRkZW4iOiEwfSwoKT0+YigpLnlmKX0sIkdlIiksbW5hPV8uTChhPT57dmFyIHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjpifT1fLkRDKGEse3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOnZvaWQgMH0pO3JldHVybiBfLksoXy5PLHtBOigpPT5iKCk/LmNsb3NlQnV0dG9uLHRoZW46Yz0+Xy5LKF8uVyx7ZGF0YTpjfSx7dGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcjooe2RhdGE6ZH0pPT5fLksoXy5WUCx7ZGF0YTpkfSksYnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCx0ZzooKT0+e1FVKGEpfSxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19KX0pfSl9LCJIZSIpLGpuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTsKcmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lciJ9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5iKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXIiLGFyaWFMYWJlbDooKT0+Xy5ESihiKCk/LnZpZGVvVGl0bGU/LmFjY2Vzc2liaWxpdHkpfSxfLksob25hLHsuLi5hfSksXy5LKHBuYSx7Li4uYX0pKSl9LCJJZSIpLG9uYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXkifSxfLksoXy5YUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YigpPy5iYWNrZ3JvdW5kLE1kOnZvaWQgMCxUYjohMSwKY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5UaHVtYm5haWxDb250YWluZXIifSksXy5LKF8uVyx7ZGF0YTooKT0+YigpPy50aHVtYm5haWxPdmVybGF5c30se3RodW1ibmFpbE92ZXJsYXlUaW1lU3RhdHVzUmVuZGVyZXI6KHtkYXRhOmN9KT0+Xy5LKF8uVlAse2RhdGE6YyxjbGFzc05hbWU6Inl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbE92ZXJsYXlzIixhcmlhSGlkZGVuOiEwfSl9KSl9LCJKZSIpLHBuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZvIiwiYXJpYS1oaWRkZW4iOiEwfSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+YigpPy52aWRlb1RpdGxlfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblZpZGVvQXV0aG9yIn0sCl8uSyhfLlYse3RleHQ6KCk9PmIoKT8uYnlsaW5lLG1hOiEwfSkpKX0sIktlIiksa25hPV8uTChhPT57dmFyIHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjpifT1fLkRDKGEse3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOnZvaWQgMH0pLGM9e3N0eWxlOiJvdmVybGF5In07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKT8uY2FuY2VsQnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCxjbGFzc05hbWU6Inl0d1BsYXllckVuZHNjcmVlbkFjdGlvbkJ1dHRvbiIsdGc6KCk9PntRVShhKX0sYnV0dG9uT3ZlcnJpZGVzOmN9KX0pLF8uSyhfLlcse2RhdGE6KCk9PmIoKT8ubmV4dEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b24iLApidXR0b25PdmVycmlkZXM6Y30pfSkpfSwiTGUiKTt2YXIgR1c9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPV8uUCgieXR3UGxheWVyTWlkZGxlQ29udHJvbHNIb3N0IiwicGxheWVyLWNvbnRyb2xzLW1pZGRsZSIseyJwcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbiI6KCk9Pnt2YXIgaD1iPy4oKTtpZighaD8uaXNSZWFkeT8uKCkpcmV0dXJuITE7aD1oPy5nZXRTaXplKCk/LmhlaWdodDtoPSEhaCYmaDwyNzU7dmFyIGs9YS5HKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09InZvbHVtZS1zbGlkZXIiO3JldHVybiBofHxrfX0pLGQ9KCk9Pnt2YXIgaD1hLkcoKTtyZXR1cm4gaC5wbGF5ZXJTdGF0ZT09PTN8fGgucGxheWVyU3RhdGU9PT0tMX0sZT0oKT0+e3ZhciBoPWEuRygpO3ZhciBrPWI/LigpO1hRKGspfHwhaz8uaXNSZWFkeT8uKCk/az0hMTpoPy5iYT8udm4/az0hMDooaD1rLmdldFZpZGVvRGF0YSgpLGs9IWguaXNMaXN0ZWR8fGgueXBjUHJldmlld3x8aC5pc0xpdmV8fHR5cGVvZiBrLmdldExvb3BSYW5nZT09PSJmdW5jdGlvbiImJgprLmdldExvb3BSYW5nZSgpPyEwOiExKTtyZXR1cm4ha30sZj1fLlAoInBsYXllci1jb250cm9scy1taWRkbGUtY29yZS1idXR0b25zIix7InNjcmVlbnJlYWRlci1zYWZlLWhpZGUtbWlkZGxlLWJ1dHRvbnMiOmR9KTtyZXR1cm4gXy5LKCJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzIix7Y2xhc3M6Y30sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSyhxbmEsbnVsbCl9KSxfLksoImRpdiIse2NsYXNzOmZ9LF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksocm5hLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSl9KSxfLksoWFYse0ZkOi0xLEc6YS5HLGNsYXNzTmFtZToieXR3UGxheWVyTWlkZGxlQ29udHJvbHNBMTF5U2Vla0J1dHRvbiJ9KSxfLksoXy5PLHtBOigpPT57dmFyIGg9YS5HKCk7cmV0dXJuIXVTKGgpfSx0aGVuOigpPT5fLksoJFYse0c6YS5HfSksVzooKT0+Xy5LKGFXLHtHOmEuR30pfSksXy5LKFhWLHtGZDoxLEc6YS5HLGNsYXNzTmFtZToieXR3UGxheWVyTWlkZGxlQ29udHJvbHNBMTF5U2Vla0J1dHRvbiJ9KSwKXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhzbmEse0c6YS5HLHdhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KX0pKSl9LCJNZSIpO0dXLmlkb21Db21wYXQ9ITA7CnZhciBxbmE9Xy5MKCgpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItY29udHJvbHMtc3Bpbm5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6InNwaW5uZXIifSkpLCJOZSIpLHJuYT1fLkwoYT0+e3ZhciBiPV8ua0coJFQpLGM9KCk9PiFhLkcoKS5iYT8udm47cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX1BSRVZJT1VTIixhcmlhTGFiZWw6Xy4kTi5NdCxhcmlhRGlzYWJsZWQ6YyxjbGFzc05hbWU6Xy5QKCJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24iLHsiaWNvbi1kaXNhYmxlIjpjfSksVWQ6MzY4NDAsY29udGVudDooKT0+Xy5LKCJkaXYiLHtjbGFzczoicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhIn0sXy5LKF8uTUQse2ljb246IlBMQVlFUl9QUkVWSU9VUyJ9KSksb25jbGljazooKT0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZC5yYyYmZT8udW5NdXRlKCk7dmFyIGY9YS53YXRjaE5leHRSZXNwb25zZT8uKCksaD1BUyhmKTsKaWYoWFEoZSkmJmYmJmgpe2lmKGQ9UlUoaCkuVWEpXy4kRChkKSxfLkFKKGQse30sITEpfWVsc2UgZj1hLkcoKS5iYT8udm4scGphKGMoKSxlLGYpLGQuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCl9fSl9LCJPZSIpLHNuYT1fLkwoYT0+e3ZhciBiPV8ua0coJFQpLGM9KCk9Pnt2YXIgZD1iPy4oKTtpZighZD8uaXNSZWFkeT8uKCkpcmV0dXJuITA7dmFyIGU9ZD8uZ2V0UGxheWxpc3QoKTtkPWQ/LmdldFBsYXlsaXN0SW5kZXgoKTt2YXIgZj0hMTtlJiZkIT09dm9pZCAwJiYoZj1kPj1lLmxlbmd0aC0xKTtyZXR1cm4gZn07cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX05FWFQiLGFyaWFMYWJlbDpfLiROLkt0LGFyaWFEaXNhYmxlZDpjLFVkOjM2ODQxLGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOiJQTEFZRVJfTkVYVCJ9KSksY2xhc3NOYW1lOl8uUCgicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIiwKeyJpY29uLWRpc2FibGUiOmN9KSxvbmNsaWNrOigpPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtkLnJjJiZlPy51bk11dGUoKTt2YXIgZj1hLndhdGNoTmV4dFJlc3BvbnNlPy4oKSxoPUFTKGYpO2lmKFhRKGUpJiZmJiZoKXtpZihkPVJVKGgpLm5leHQpXy4kRChkKSxfLkFKKGQse30sITEpfWVsc2UgYygpfHwoZT8ubmV4dFZpZGVvKCksZC5iYT8udWomJl8uRE8oXy5oeCgpLDI3MjQwKSl9fSl9LCJQZSIpO3ZhciBIVz1fLkwoKHt2aWRlb0RldGFpbHM6YSxHOmJ9KT0+e2Z1bmN0aW9uIGMoVCl7QygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZChUKXtHKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBlKFQpe0MoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGYoVCl7RT8udmFsdWU/LmNvbnRhaW5zKFQudGFyZ2V0KXx8RygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gaChUKXtULnByZXZlbnREZWZhdWx0KCk7WFMoMjM4NTEpO3ZhciBiYT1TVShiLEQpO2lmKGJhKXt2YXIgYWE9YigpPy5IPy5nZXRDdXJyZW50VGltZSgpO18uQUooYmEse3BhcmFtczp7dGltZXN0YW1wOmFhP01hdGguZmxvb3IoYWEpLnRvU3RyaW5nKCk6dm9pZCAwfX0sITEse2V2ZW50OlR9KX1ULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGsoVCl7VShUKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGwoVCl7VC5wcmV2ZW50RGVmYXVsdCgpO3ooKXx8RigpJiZGKCk8MzIwPwpVKFQpOkMoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIG0oVCl7VC5wcmV2ZW50RGVmYXVsdCgpO0coMjUwMCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBuKFQpe0coMjUwMCk7VC5zdG9wUHJvcGFnYXRpb24oKX12YXIgW3Ascl09Xy5KKCExLHZvaWQgMCwiaVpNUW1mIiksW3Qsdl09Xy5KKCExLHZvaWQgMCwiQ2hoSDBiIiksej10LEU9Xy52RSgiZGl2IiksQSxGPSgpPT5iKCkuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoLEM9KCk9PntGKCkmJkYoKTwzMjB8fChyKCEwKSxBJiZjbGVhclRpbWVvdXQoQSkseigpfHwoYlQoKSx2KCEwKSkpfSxHPShUPTUwMCk9PntGKCkmJkYoKTwzMjB8fChyKCExKSxBPXNldFRpbWVvdXQoKCk9PnshcCgpJiZ6KCkmJih2KCExKSxjVChiKCkse0ljOiEwfSkpfSxUKSl9LEQ9KCk9Pl8uQihhPy4oKS5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnRpdGxlLEg9KCk9PmE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCxSPSgpPT5hPy4oKS5jaGFubmVsVGh1bWJuYWlsLApNPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnRpdGxlPz8oXy54KCJlbWJlZHNfdmlkX2RldGFpbHNfZmFsbGJhY2tfY2hhbm5lbF9uYW1lX2tzIik/dm9pZCAwOl8uQihhPy4oKS5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnN1YnRpdGxlKSxTPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnN1YnRpdGxlLFk9KCk9Pl8uQihhPy4oKS5leHBhbmRlZFJlbmRlcmVyLG5WKT8uc3Vic2NyaWJlQnV0dG9uLHBhPV8uTigoKT0+Xy5CKFNVKGIsRCksXy5WRCk/LnVybCx2b2lkIDAsInlUSE5qIiksb2E9Xy5OKCgpPT5fLkIoYT8uKCkuY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LF8uVkQpPy51cmwsdm9pZCAwLCJwd2wzSWMiKSxVPVQ9PntULnByZXZlbnREZWZhdWx0KCk7aWYoYT8uKCkuY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50JiZhPy4oKSl7dmFyIGJhPWE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludDtYUygzNjkyNSk7Xy5BSihiYSx7fSwhMSwKe2V2ZW50OlR9KX19LGhhPV8uUCgieXRtVmlkZW9JbmZvVmlkZW9UaXRsZUNvbnRhaW5lciIse3l0bVZpZGVvSW5mb0xvZ29FbmFibGVkOigpPT4hIWE/LigpLmNoYW5uZWxUaHVtYm5haWx9KSxtYT1fLlAoInl0bVZpZGVvSW5mb092ZXJsYXkiLHt5dG1WaWRlb0luZm9FeHBhbmRlZDooKT0+eigpfSksdGE9KCk9PiEhXy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy5zdWJzY3JpYmVCdXR0b24mJiFiKCkuYmE/Lm9oO3JldHVybiBfLksoImVtYmVkZGVkLXBsYXllci12aWRlby1kZXRhaWxzIix7Y2xhc3M6Inl0bVZpZGVvSW5mb0hvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb0RldGFpbHNDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOmhhfSxfLksoXy5PLHtBOkQsdGhlbjooKT0+Xy5LKF8uTyx7QTpwYSx0aGVuOigpPT5fLksoImEiLHsib246Y2xpY2siOmgsY2xhc3M6Inl0bVZpZGVvSW5mb1ZpZGVvVGl0bGUiLGVsOl8uckYoVD0+e1dTKFQsCjIzODUxKX0pLGhyZWY6cGF9LF8uSyhfLlYse3RleHQ6RCxjbGFzc05hbWU6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIiksdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLFc6KCk9Pl8uSygic3BhbiIse2NsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb1RpdGxlIn0sXy5LKF8uVix7dGV4dDpELHViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pfSksXy5LKF8uTyx7QTpfLngoImVtYmVkc192aWRfZGV0YWlsc19mYWxsYmFja19jaGFubmVsX25hbWVfa3MiKT9IOk0sdGhlbjooKT0+Xy5LKF8uTyx7QTpvYSx0aGVuOigpPT5fLksoImEiLHsib246Y2xpY2siOmssY2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxUaXRsZSIsaHJlZjpvYX0sXy5LKF8uVix7dGV4dDpNLGNsYXNzTmFtZTpfLlAoInl0bVZpZGVvSW5mb0xpbmsiKSx5YzohMCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSksVzooKT0+Xy5LKCJzcGFuIix7Y2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxUaXRsZSJ9LF8uSyhfLlYse3RleHQ6TSx5YzohMCwKdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpfSl9KSksXy5LKF8uTyx7QTpSLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXIiLGVsOkUsIm9uOmZvY3VzaW4iOmUsIm9uOmZvY3Vzb3V0IjpmLCJvbjptb3VzZW92ZXIiOmMsIm9uOm1vdXNlb3V0IjpkfSxfLksoImJ1dHRvbiIseyJvbjp0b3VjaHN0YXJ0IjpsLCJvbjp0b3VjaGVuZCI6bSwib246Y2xpY2siOmssY2xhc3M6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIiwieXRtVmlkZW9JbmZvQ2hhbm5lbEF2YXRhciIpLGVsOl8uckYoVD0+e1dTKFQsMzY5MjUpfSl9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOlIsY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9DaGFubmVsTG9nbyIsYWx0OiJ0aHVtYm5haWwtaW1hZ2UifSkpLF8uSygiZGl2Iix7Y2xhc3M6bWEsIm9uOnRvdWNoc3RhcnQiOkMsIm9uOnRvdWNoZW5kIjpufSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsSW5mbyIsCnJvbGU6InRleHQifSxfLksoXy5WLHt0ZXh0Ok0sY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9GbHlvdXRDaGFubmVsVGl0bGUiLHljOiEwLHViOiEwLG5vV3JhcDohMCxtYTohMH0pLF8uSyhfLlYse3RleHQ6UyxjbGFzc05hbWU6Inl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZSIseWM6ITAsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLF8uSyhfLk8se0E6dGEsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvU3Vic2NyaWJlQnV0dG9uIn0sXy5LKF8uVyx7ZGF0YTpZfSx7c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6Zld9KSl9KSkpfSkpKX0sIlFlIik7SFcuaWRvbUNvbXBhdD0hMDt2YXIgVFU9Xy4kTi5BdCxPbGE9Xy4kTi5ndSx0bmE9Xy5MKCh7UXk6YSxvbkNsaWNrOmIsSm46YyxCczpkfSk9Pnt2YXIgZT1fLnVFKCJidXR0b24iLGg9PntXUyhoLDI4NjYyKX0pLGY9KCk9PlVVKGEoKSxjPy4oKSxkPy4oKSkuYXJpYUxhYmVsO3JldHVybiBfLksoInl0bS1tdXRlLWJ1dHRvbiIse2NsYXNzOiJ5dG1NdXRlQnV0dG9uSG9zdCJ9LF8uSygiYnV0dG9uIix7ZWw6ZSxjbGFzczoieXRtTXV0ZUJ1dHRvbkJ1dHRvbiIsdGl0bGU6ZiwiYXJpYS1sYWJlbCI6Ziwib246Y2xpY2siOmZ1bmN0aW9uKGgpe1hTKDI4NjYyKTtiPy4oaCk7aC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSygic3BhbiIsbnVsbCxfLksoXy5NRCx7aWNvbjooKT0+VVUoYSgpLGM/LigpLGQ/LigpKS5pY29uTmFtZX0pKSkpfSwiUmUiKTt2YXIgSVc9Xy5MKCh7SEI6YSxXcTpiLEpuOmMsQnM6ZCxjbGFzc05hbWU6ZX0pPT5fLksoInl0LW11dGUtdG9nZ2xlLWJ1dHRvbiIse2NsYXNzOmV9LF8uSyh0bmEse1F5OigpPT57dmFyIGY9YSgpO3JldHVybiBmLnJjfHxmLnZvbHVtZT09PTA/MDpmLnZvbHVtZT41MD8xOjJ9LG9uQ2xpY2s6Zj0+e3ZhciBoPWEoKS5IO2gmJihoLmlzTXV0ZWQoKT9oLnVuTXV0ZSgpOmgubXV0ZSghMSkpO2I/LihmKX0sSm46KCk9PiEhYz8uKCksQnM6KCk9PiEhZD8uKCl9KSksIlNlIik7SVcuaWRvbUNvbXBhdD0hMDt2YXIgVlU7dmFyIHVuYT1fLkwoKHtlbmFibGVkOmEsYXJpYUxhYmVsOmIsb25DbGljazpjfSk9Pl8uSygiYnV0dG9uIix7ImFyaWEtbGFiZWwiOmIsImFyaWEtcHJlc3NlZCI6YSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2M/LihkKTtkLnN0b3BQcm9wYWdhdGlvbigpfSxjbGFzczoieXR3QXV0b25hdlRvZ2dsZUJ1dHRvbkhvc3QifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpPyJBVVRPTkFWX09OX1RPR0dMRV9TUEFOTkVSIjoiQVVUT05BVl9PRkZfVE9HR0xFX1NQQU5ORVIiLGNsYXNzTmFtZTooKT0+YSgpPyJ5dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiI6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25TcGFubmVySWNvbk9mZiJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YSgpPyJQTEFZX0NJUkNMRV9GSUxMRUQiOiJQQVVTRV9DSVJDTEVfRklMTEVEIixjbGFzc05hbWU6KCk9PmEoKT8ieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29uIjoieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBhdXNlSWNvbiJ9KSksCiJUZSIpO3ZhciBKVz1fLkwoKHtHOmEsQ3U6Yn0pPT57Xy5DUShiLGU9PntlJiZlLmVuYWJsZWQhPT12b2lkIDAmJmUuZW5hYmxlZCE9PWEoKS5hdXRvbmF2RW5hYmxlZCYmWFUoYSgpLGUuZW5hYmxlZCwhMSl9KTt2YXIgYz1fLk4oKCk9PmEoKS5hdXRvbmF2RW5hYmxlZD9fLkRKKGIoKS5lbmFibGVkQWNjZXNzaWJpbGl0eURhdGEpOl8uREooYigpLmRpc2FibGVkQWNjZXNzaWJpbGl0eURhdGEpLHZvaWQgMCwiUTlndnpjIiksZD1fLk4oKCk9PmEoKS5hdXRvbmF2RW5hYmxlZCx2b2lkIDAsIklRQ1prZiIpO3JldHVybiBfLksoInBsYXllci1hdXRvbmF2LXRvZ2dsZSIse2NsYXNzOiJ5dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCJ9LF8uSyh1bmEse2VuYWJsZWQ6ZCxhcmlhTGFiZWw6YyxvbkNsaWNrOmU9Pnt2YXIgZj1hKCksaD1mLmF1dG9uYXZFbmFibGVkO1hVKGYsIWYuYXV0b25hdkVuYWJsZWQsITApO3ZhciBrPWIoKTshaCYmay5vbkVuYWJsZWRDb21tYW5kP18uQUooay5vbkVuYWJsZWRDb21tYW5kLAprLCEwKTpoJiZrLm9uRGlzYWJsZWRDb21tYW5kJiZfLkFKKGsub25EaXNhYmxlZENvbW1hbmQsaywhMCk7UGxhKGYsYigpKTt1UyhmKXx8Y1QoZix7SWM6ITB9KTtlLnN0b3BQcm9wYWdhdGlvbigpfX0pKX0sIlVlIik7SlcuaWRvbUNvbXBhdD0hMDt2YXIgTFc9Xy5MKGE9Pnt2YXIgYj0oKT0+TlMoYS5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LigpLGEudGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy4oKSksYz0oKT0+YigpJiYhYS5HKCkuYmE/LmhpZGVWaWRlb0luZm87cmV0dXJuIF8uSygicGxheWVyLXRvcC1jb250cm9scyIse2NsYXNzOiJ5dHdQbGF5ZXJUb3BDb250cm9sc0hvc3QifSxfLksoImRpdiIse2NsYXNzOl8uUCgicGxheWVyLWNvbnRyb2xzLXRvcCIse3l0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzOmN9KSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKEhXLHt2aWRlb0RldGFpbHM6YixHOmEuR30pfSksXy5LKF8uTyx7QTooKT0+IWEuRygpLmJhPy5uaCYmISRTKGEuRygpKSx0aGVuOigpPT5fLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclRvcENvbnRyb2xzUGxheWVyQ29udHJvbHNUb3BSaWdodCIsCiJwbGF5ZXItY29udHJvbHMtdG9wLXJpZ2h0Iix7eXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0OmN9KX0sXy5LKEtXLHtHOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KSksVzooKT0+Xy5LKEtXLHtHOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KX0pfSkpKX0sIlZlIik7TFcuaWRvbUNvbXBhdD0hMDsKdmFyIHZuYT0oYSxiKT0+Xy5LKGRXLHtnZjphLFZyOiEwLFdxOmJ9KSxLVz1fLkwoKHtHOmEscGxheWVyT3ZlcmxheVJlbmRlcmVyOmJ9KT0+e3ZhciBjPSgpPT5hKCkuSDtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09InZvbHVtZS1zbGlkZXIifSwoKT0+Xy5LKEhWLHtvcmllbnRhdGlvbjoidmVydGljYWxfZG93biIsYmo6ITAsSDpjfSkpLF8uSyhfLkNFLHt3aGVuOigpPT57dmFyIGQ9YSgpLkg/LmdldFNpemUoKSxlPWQ/LndpZHRoJiZkLndpZHRoPj0yNTA7ZD1kPy5oZWlnaHQmJmQuaGVpZ2h0Pj0yMDA7cmV0dXJuIGEoKS5iYT8udm9sdW1lQ29udHJvbFR5cGU9PT0ibXV0ZS1idXR0b24iJiZlJiZkfX0sKCk9Pl8uSyhJVyx7SEI6YSxKbjohMH0pKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy5JQixudWxsKSkpLF8uSyhfLk8se0E6KCk9PiEhelMoYj8uKCkpLHRoZW46KCk9Pl8uSyhKVywKe0c6YSxDdTooKT0+elMoYj8uKCkpfSl9KSx2bmEoYSxmdW5jdGlvbigpe2NUKGEoKSx7SWM6ITB9KX0pLF8uSyhfLk8se0E6KCk9Pnt2YXIgZD1hKCkuSD8uZ2V0U2l6ZSgpO2Q9ZD8ud2lkdGgmJmQud2lkdGg+PTMyMHx8IWEoKS5iYT8ub2g7cmV0dXJuISFhKCkudGEuU2omJmR9LHRoZW46KCk9Pl8uSyhiVyx7RzphfSl9KSl9LCJXZSIpO0tXLmlkb21Db21wYXQ9ITA7dmFyIE1XPV8uTChhPT57ZnVuY3Rpb24gYihUKXtULnBvaW50ZXJUeXBlPT09Im1vdXNlIiYmKGwoKS5TKHtlYTohMH0pLGNUKGwoKSx7SWM6ITB9KSl9ZnVuY3Rpb24gYyhUKXtLVShULGwoKSl9ZnVuY3Rpb24gZChUKXt2YXIgYmE9bCgpO2lmKHhVKFQpKXtULnN0b3BQcm9wYWdhdGlvbigpO3ZhciBhYT1ULnRvdWNoZXNbMF07SFU9YWEucGFnZVg7elU9YWEucGFnZVk7Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmVC50b3VjaGVzLmxlbmd0aD09PTImJihCVT13VShUKSk7SFQoYmEsVC50b3VjaGVzLmxlbmd0aCk7YmEuYmE/Lk1pfHxiYS5OYXx8YmEuV2R8fGJhLnNifHxfLlRFKCl8fChFVT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW92aWVfcGxheWVyIikpJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2l0aW9uOiIiLHRyYW5zZm9ybU9yaWdpbjoiIn0pfX1mdW5jdGlvbiBlKFQpe3ZhciBiYT1sKCk7aWYoeFUoVCkpe1Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGFhPQpULnRvdWNoZXNbMF07QVU9ITA7R1U9YWEucGFnZVg7eVU9YWEucGFnZVk7YWE9e2xrOkdVLUhVLE9kOnlVLXpVfTthYS5PZD09PTAmJmFhLmxrPT09MHx8Xy5NRSgpJiYhYmEuaXNGdWxsc2NyZWVufHxiYS5iYT8uTWl8fFQucHJldmVudERlZmF1bHQoKTtJVChULGFhLGJhKTtfLngoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZULnRvdWNoZXMubGVuZ3RoPT09MiYmQlUhPT0wJiZNYXRoLmFicyh3VShUKS1CVSk+MTAmJkRVKCEwKTshYmEuYmE/Lk1pJiYoYmEuTmF8fGJhLldkfHxiYS5zYnx8Xy5URSgpfHxfLk1FKCkmJiFiYS5pc0Z1bGxzY3JlZW58fChiYS5TKHtlYTohMX0pLFQ9YWEuT2QsYmEuaXNGdWxsc2NyZWVuJiYoVCo9LTEpLCFiYS5pc0Z1bGxzY3JlZW4mJlQ+MCYmKFQ9MCksVDwtMTAwJiYoVD0tMTAwKSxiYS5pc0Z1bGxzY3JlZW4/RVUmJk9iamVjdC5hc3NpZ24oRVUuc3R5bGUse3RyYW5zZm9ybTpgc2NhbGUoJHsxLS4wNSpNYXRoLm1pbig0Kk1hdGguYWJzKFQvLTEwMCksCjEpfSkgdHJhbnNsYXRlWSgkey1UfXB4KWB9KTpFVSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNmb3JtOmBzY2FsZSgkezErLjI1Kk1hdGguYWJzKFQvLTEwMCl9KWAsdHJhbnNmb3JtT3JpZ2luOiJib3R0b20gY2VudGVyIn0pKSwhYmEuaXNGdWxsc2NyZWVufHxiYS5pc0RyYWdnaW5nfHxiYS5zYnx8IV8uTUUoKSYmIV8uVEUoKT8wOmJhLldkfHwoYmEuTmE/RFEoYWEuT2QsMCwyMTUpOkRRKGFhLk9kLC0yMTUsMCkpIT09MCkmJihiVCgpLGJhLlMoe1dkOiEwLGVhOiEwLEpmOmJhLk5hP0RRKGFhLk9kLDAsMjE1KTpEUShhYS5PZCwtMjE1LDApfSkpfX1mdW5jdGlvbiBmKFQpe0lVKFQsbCgpLG0oKSl9ZnVuY3Rpb24gaChUKXtJVShULGwoKSxtKCkpfWZ1bmN0aW9uIGsoVCl7VC5zdG9wUHJvcGFnYXRpb24oKX12YXIge0c6bCxkYXRhOm19PV8uREMoYSx7ZGF0YTp2b2lkIDB9KSxuPV8uTigoKT0+bCgpLkgsdm9pZCAwLCJaN0g5cmUiKTthPV8uTigoKT0+bCgpLmVhLHZvaWQgMCwKImRyaHE3ZCIpO3ZhciBwPV8uTigoKT0+bCgpLnNiLHZvaWQgMCwidnN0WUVlIikscj1fLk4oKCk9PmwoKS5iYT8uRWUsdm9pZCAwLCJMYkZ3SmIiKSx0PV8uTigoKT0+bCgpLktiPihfLngoIm13ZWJfcGxheWVyX3RhcHBpbmdfdGhyZXNob2xkX2tpbGxzd2l0Y2giKT84OjApLHZvaWQgMCwiZTRqcU1kIiksdj1fLk4oKCk9PmwoKS5KZCE9PTAsdm9pZCAwLCJwcWdENWUiKSx6PV8uTigoKT0+bCgpLmJhPy5aaCx2b2lkIDAsInRtUWRnIiksRT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXMsQT1fLk4oKCk9PiRTKGwoKSxtKCk/LnBsYXllclJlc3BvbnNlPy5wbGF5YWJpbGl0eVN0YXR1cyksdm9pZCAwLCJYYTlxeGYiKSxGPV8uTigoKT0+IWwoKS5iYT8uenIsdm9pZCAwLCJtRk9sdCIpLEM9Xy5OKCgpPT57dmFyIFQ9bCgpO3JldHVybiBfLngoIm13ZWJfcGNfbGl2ZV9kdnJfa3MiKT8hMTpULmlzTGl2ZSYmIVQuaXNMaXZlRHZyRW5hYmxlZH0sdm9pZCAwLAoiRDFpNjciKSxHPV8uTigoKT0+e3ZhciBUPUMoKTtyZXR1cm4gclUoKSYmIVR9LHZvaWQgMCwidlF6aW1lIiksRD1fLk4oKCk9PnQoKSYmdigpLHZvaWQgMCwiQmVHcDciKSxIPV8uUCgibmV3LWNvbnRyb2xzIiwiYmlnYmFyIiwibWVkaXVtLW1vZGlmaWNhdGlvbiIsImFuaW1hdGlvbi1lbmFibGVkIiwiZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMiLCJmcy13YXRjaC1zeXN0ZW0iLHtmYWRlaW46YSwiYmFja2dyb3VuZC1oaWRkZW4iOnAsImZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIjpyLCJlbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQiOl8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil9KSxSPSgpPT5tPy4oKT8ud2F0Y2hOZXh0UmVzcG9uc2UsTT0oKT0+bT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixTPSgpPT5tKCk/LmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcixZPSgpPT4KR1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikscGE9KCk9Pm0oKT8uamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5kZWZhdWx0VGh1bWJuYWlsfHxtKCk/LnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnRodW1ibmFpbCxvYT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5hdXRvY3JvcENvbmZpZyxVPSgpPT5tKCk/LnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyJiZuKCksaGE9KCk9Pnt2YXIgVDtpZihUPVBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpKXtUPWwoKTt2YXIgYmE9bigpLGFhPVBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpO2lmKGFhJiZhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbCYmKGFhLmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsLnRpdGxlfHxhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC5ib2R5VGV4dCkmJgpiYSYmYmEuZ2V0UGxheWVyU3RhdGVPYmplY3QmJmJhLmdldFBsYXllclNpemUmJiFfLkRJKGtqYSxhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC5kaXNtaXNzU3RhdGVFbnRpdHlLZXkpKCk/LmlzRGlzbWlzc2VkKXthYT1iYS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpPy5pc0Vycm9yO2lmKGFhPSF1UyhUKSYmIWFhKWFhPWJhLmdldFBsYXllclNpemUoKSxiYT1hYS53aWR0aDwzNjAsYWE9YWEuaGVpZ2h0PDMyMCxhYT0hKChULnBsYXllclN0YXRlPT09LTF8fFQucGxheWVyU3RhdGU9PT01KSYmYmEmJmFhKTtUPWFhfWVsc2UgVD0hMX1yZXR1cm4gVH0sbWE9KCk9Pnt2YXIgVD1tKCk/LnBsYXllclJlc3BvbnNlO3JldHVybiBfLkIoVD8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXI/Lm11dGVkQXV0b3BsYXksb1YpfSx0YT0oKT0+bSgpPy5IPy5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5Py4oKTtyZXR1cm4gXy5LKCJ5dG0td2F0Y2gtcGxheWVyLWNvbnRyb2xzIiwKe2NsYXNzOiJ5dG1XYXRjaFBsYXllckNvbnRyb2xzSG9zdCJ9LF8uSyhfLk8se0E6KCk9Pnt2YXIgVD1sKCksYmE9bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXM7cmV0dXJuIF8ueCgibXdlYl9oaWRlX2NvbnRyb2xzX2Zvcl91bnBsYXlhYmxlX3ZpZGVvX2tzIil8fCFiYXx8TVIoYmEpfHxULmlzRnVsbHNjcmVlbj8oeVMoVCl8fFQucGxheWVyU3RhdGU9PT0tMXx8VC5wbGF5ZXJTdGF0ZT09PTV8fFQucmMmJiFULmJhPy5yQT8hMTp1UyhUKT8hMDpULnBsYXllclN0YXRlPT09MXx8VC5wbGF5ZXJTdGF0ZT09PTN8fFQucGxheWVyU3RhdGU9PT0yKXx8VC5yYyYmdVMoVCl8fCRTKFQsYmEpOiExfSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6eix0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzpsLHRodW1ibmFpbERldGFpbHM6cGF9KSxfLksodVYse0c6bCxIOm4scGxheWFiaWxpdHlTdGF0dXM6RX0pKX0pLF8uSyhfLk8se0E6aGEsdGhlbjooKT0+Cl8uSyh2Vyx7ZGF0YTooKT0+UFMobSgpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsbSgpPy5qYikscHJvcHM6bH0pfSksXy5LKF8uTyx7QTp0YSx0aGVuOigpPT5fLksoTFYse0c6bCxwbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyOm1hfSl9KSxfLksoXy5PLHtBOigpPT4hdGEoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhXVix7RzpsfSksXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX2JldHRlcl9jYXB0aW9uc19wbGFjZW1lbnQiKSx0aGVuOigpPT5fLksoImRpdiIse2lkOiJjYXB0aW9ucy1nYWxvcmUtY29udGFpbmVyIn0pfSksXy5LKCJkaXYiLHtpZDoicGxheWVyLWNvbnRyb2wtb3ZlcmxheSIsY2xhc3M6SCwib246Y2xpY2siOmMsIm9uOnBvaW50ZXJtb3ZlIjpiLCJvbjp0b3VjaHN0YXJ0IjpkLCJvbjp0b3VjaG1vdmUiOmUsIm9uOnRvdWNoZW5kIjpmLCJvbjp0b3VjaGNhbmNlbCI6aH0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy1jb250ZW50IiwKeyJwb2ludGVyLWV2ZW50cy1vZmYiOkR9KX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kIix7ImZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCI6KCk9PklTKGwoKSl9KSwib246dG91Y2hzdGFydCI6ZCwib246dG91Y2htb3ZlIjplLCJvbjp0b3VjaGVuZCI6Ziwib246dG91Y2hjYW5jZWwiOmh9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1XYXRjaFBsYXllckNvbnRyb2xzQmFja2dyb3VuZEFjdGlvbkl0ZW1zIiwib246Y2xpY2siOmt9LF8uSyhfLk8se0E6KCk9Pnt2YXIgVDtpZihUPSFBKCkpVD1tKCk/LnBsYXllclJlc3BvbnNlPy5wYWlkQ29udGVudE92ZXJsYXk/LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyO3JldHVybiBUfSx0aGVuOigpPT5fLksoRFcse2RhdGE6KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBhaWRDb250ZW50T3ZlcmxheT8ucGFpZENvbnRlbnRPdmVybGF5UmVuZGVyZXJ9KX0pLApfLksoXy5PLHtBOlUsdGhlbjooKT0+Xy5LKGxXLHtlbmRzY3JlZW5SZW5kZXJlcjooKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlcixHOmx9KX0pKSksXy5LKF8uTyx7QTooKT0+IUEoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6Ryx0aGVuOigpPT5fLksoclcse0c6bH0pfSksXy5LKEZWLHtHOmwscGxheWVyT3ZlcmxheVJlbmRlcmVyOk19KSxfLksoVlYse2dmOmwsSWI6ITF9KSl9KSxfLksoImRpdiIse3N0eWxlOllVKCgpPT5KUyhsKCksQVMobT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlKSkpfSxfLksoTFcse0c6bCxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6TSx0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI6U30pLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKEdXLHtHOmwsd2F0Y2hOZXh0UmVzcG9uc2U6Un0pfSkpLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoImRpdiIsCntzdHlsZTpZVSgoKT0+e3ZhciBUPWwoKSxiYT1BUyhtPy4oKT8ud2F0Y2hOZXh0UmVzcG9uc2UpO3JldHVybiBIUyhULGJhKXx8VC5iYT8ubmg/ITE6VC5pc0xpdmV8fEpTKFQpfSl9LF8uSyhFVyx7RzpsLFNtOigpPT5DUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6TX0pKSxfLksoImRpdiIse3N0eWxlOllVKCgpPT57dmFyIFQ9bCgpO3JldHVybiBULmJhPy5uaD8hMTohSVMoVCl9KX0sXy5LKENWLHtMYjpsLGhmOlksY29uZmlnOigpPT4oe2NsYXNzTmFtZToid2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIiLHBvc2l0aW9uOjAsSW46RigpLFJhOkVTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpLEtmOiExLGRpc2FibGVTY3J1YmJpbmc6QygpLG9uVG91Y2hNb3ZlOigpPT57dmFyIFQ9bCgpLGJhPUVTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpO2JhJiYoVD1sVChULGJhKSxtVChUKSl9LFlvOigpPT57YlQoKX0sRm46KCk9Pgp7Y1QobCgpLHtJYzohMH0pfSxwcm9ncmVzc0NvbG9yOl8ueCgiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiIpP0NTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpPy5wcm9ncmVzc0NvbG9yOnZvaWQgMCxoZjpRbGEoR1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikpfSl9KSksXy5LKEZXLHtHOmwsd2F0Y2hOZXh0UmVzcG9uc2U6Un0pKX0pLF8uSyhDVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlIsdGh1bWJuYWlsUHJldmlld1JlbmRlcmVyOlMsYXV0b2Nyb3BDb25maWc6b2F9KSkpKX0pKX0pKX0sIlhlIik7TVcuaWRvbUNvbXBhdD0hMDt2YXIgY1Y9Xy5MKGE9Pnt2YXIgYj1fLk4oKCk9PmEuZGF0YSgpLkgsdm9pZCAwLCJEdWZtTSIpLGM9Xy5OKCgpPT5uZXcgcVcoKCk9Pnt9LHt0YTphLmNvbnRleHQoKS50YSxUYzphLmNvbnRleHQoKS5UYyxHYzphLmNvbnRleHQoKS5HYyxiYTphLmNvbnRleHQoKS5iYX0se2F1dG9uYXZFbmFibGVkOmEuY29udGV4dCgpLnRhLmRlKCksZWE6UmxhKGIoKSl9LGIpLHZvaWQgMCwialB4OGRlIiksZD1bXTtfLm5FKCgpPT57YigpJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57WlUoZCk7dVcuZm9yRWFjaChlPT57ZC5wdXNoKGUucmVnaXN0ZXIoKCk9PmMoKS51ZCgpLCgpPT5hLmRhdGEoKSkpfSl9KX0sIkh1WU1KYiIpO18uWXUoKCk9PntNVSgoKT0+YygpLnVkKCkpO2JUKCk7YS5jb250ZXh0KCkudGEuZXhpdEZ1bGxzY3JlZW4/LigpO1pVKGQpfSk7cmV0dXJuIF8uSyhfLm5HLHtFZjpbXy5vRygkVCxiKV19LF8uSygieXRtLWN1c3RvbS1jb250cm9sIix7Y2xhc3M6Inl0bUN1c3RvbUNvbnRyb2xIb3N0In0sCl8uSyhNVyx7RzooKT0+KDAsYygpLkIpKCksZGF0YTphLmRhdGF9KSkpfSwiWmUiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy56Wj1mdW5jdGlvbihhKXtfLmJaKGEpO18uZFYoYSl9O18uenk9Xy56WjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgicjc4RHJiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp9KS5jYWxsKHRoaXMsdGhpcy5kZWZhdWx0X2Jhc2UpOwovLyBHb29nbGUgSW5jLgo="}},"time_used":12,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T05:25:44.743Z","timestamp":1785129944743,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: digitaltradeinvest.org\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\ndate: Mon, 27 Jul 2026 05:25:48 GMT\r\ncontent-type: text/html; charset=UTF-8\r\nx-powered-by: PHP/7.4.33\r\nset-cookie: CameFrom=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; secure\nPHPSESSID=81153fbd15741af1ee825cad0ae67121; path=/; domain=digitaltradeinvest.org; HttpOnly; secure\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate\r\npragma: no-cache\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: b8e823b3d0b41b8439f66df3285945a5-srv-edge5\r\nx-hcdn-cache-status: DYNAMIC\r\nx-hcdn-upstream-rt: 0.148\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"YouTube","description":"YouTube is a video sharing service where users can create their own profile, upload videos, watch, like and comment on other videos.","website":"https://www.youtube.com","common_platform_enumeration":"","icon":"YouTube.png","categories":["Video players"]},{"name":"jQuery","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"PHP:7.4.33","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":55272,"size_decoded":12417,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (1059)","md5":"4dbe3a75feaa04916fe7e27d12e13ca9","sha1":"0e48a6505d19d238c273e97396dc82d2f2bb9897","sha256":"09de3d6670df233527fda15d6fe88d6b71ea18e8ec4acb9f7dbc9a2aef80e014","sha512":"bf85455fe9e5428a2008713419c9f658429def8cb2980f8c4f85e4c595624193c6a3cfb27a03443c8e249e8d76b415f5f6e9f414348bb90a5881435ca4be1ead","ssdeep":"384:jbbR+4GU2goMTsMiLsi8siOAsiz3sgAexKT+621Cqnabsi7siEq1siEsojhQJWny:LR+4GLMTLQwAeIVSCqrhjhIay","tlshash":"69436230a4f0223742d381e271656f1aaf92ee07c55be5923bec4bd59fe6d828d5360c","first_seen":"2026-07-27T04:14:44.396779Z","last_seen":"2026-07-27T05:27:28.137112Z","times_seen":3,"resource_available":false,"data":"Cgo8IWRvY3R5cGUgaHRtbD4KPGh0bWwgY2xhc3M9Im5vLWpzIiBsYW5nPSJlbiI+CiAgICAKCjxoZWFkPgogICAgCiAgICAgICAgPHRpdGxlPmRpZ2l0YWx0cmFkZWludmVzdC5vcmc8L3RpdGxlPgogICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KICAgICAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiIC8+CiAgICAgICAgPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJUaGVtZVphYSI+CiAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCxpbml0aWFsLXNjYWxlPTEuMCxtYXhpbXVtLXNjYWxlPTEiIC8+CiAgICAgICAgPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9ImRpZ2l0YWx0cmFkZWludmVzdC5vcmcgfCBCdXNpbmVzcyBDb25zdWx0aW5nICYgQ29ycG9yYXRlIEZpbmFuY2UuIj4KICAgICAgICA8IS0tIGZhdmljb24gaWNvbiAtLT4KICAgICAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImltYWdlcy9mYXZpY29uLnBuZyI+CiAgICAgICAgPGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSJpbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi01N3g1Ny5wbmciPgogICAgICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjcyeDcyIiBocmVmPSJpbWFnZXMvYXBwbGUtdG91Y2gtaWNvbi03Mng3Mi5wbmciPgogICAgICAgIDxsaW5rIHJlbD0iYXBwbGUtdG91Y2gtaWNvbiIgc2l6ZXM9IjExNHgxMTQiIGhyZWY9ImltYWdlcy9hcHBsZS10b3VjaC1pY29uLTExNHgxMTQucG5nIj4KICAgICAgICA8IS0tIHN0eWxlIHNoZWV0cyBhbmQgZm9udCBpY29ucyAgLS0+CiAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iY3NzL2ZvbnQtaWNvbnMubWluLmNzcyI+CiAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iY3NzL3RoZW1lLXZlbmRvcnMubWluLmNzcyI+CiAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iY3NzL3N0eWxlLmNzcyIgLz4KICAgICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJjc3MvcmVzcG9uc2l2ZS5jc3MiIC8+CiAgICAgICAgCiAgICAgICAgCiAgICAgICAgIDwhLS1zY3JpcHQ+YWxlcnQoJ0V4Y2l0aW5nIG5ld3MhIFdl4oCZcmUgb2ZmZXJpbmcgYW4gZXhjbHVzaXZlIG9wcG9ydHVuaXR5IGZvciBvdXIgdmFsdWVkIGludmVzdG9ycy4gSWYgeW91IG1ha2UgYSBkZXBvc2l0IHVwIHRvICQyMDAwIHdpdGggb3VyIGNvbXBhbnksIHlvdeKAmWxsIGF1dG9tYXRpY2FsbHkgZW50ZXIgdGhlIHJ1bm5pbmcgZm9yIGEgcG90ZW50aWFsIGxvYW4gb3Bwb3J0dW5pdHkuIERvbuKAmXQgbWlzcyBvdXQgb24gdGhpcyBjaGFuY2UgdG8gc2VjdXJlIHlvdXIgZmluYW5jaWFsIGZ1dHVyZSB3aXRoIHVzLiAgQmVzdCByZWdhcmRzLCBrb2Rhc2NvaW5wcm9maXRzLmx0ZC4uLicpPC9zY3JpcHQtLT4KICAgICAgICAKICAgICAgICAKICAgIDwvaGVhZD4KICAgIDxib2R5IGRhdGEtbW9iaWxlLW5hdi1zdHlsZT0iY2xhc3NpYyI+CiAgICAgICAgPCEtLSBzdGFydCBoZWFkZXIgLS0+CiAgICAgICAgPGhlYWRlciBjbGFzcz0iaGVhZGVyLXdpdGgtdG9wYmFyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wLWJhciBiZy1saWdodC1ncmF5IGJvcmRlci1ib3R0b20gYm9yZGVyLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50IGQtbm9uZSBkLW1kLWlubGluZS1ibG9jayBwYWRkaW5nLTM1cHgtbHIgbWQtbm8tcGFkZGluZy1sciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQgbmF2LWhlYWRlci1jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtZmxleCBmbGV4LXdyYXAgYWxpZ24taXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIHRleHQtY2VudGVyIHRleHQtc20tbGVmdCBjb2wtc20tYXV0byBtci1hdXRvIHBsLWxnLTAiPgogICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8bmF2IGNsYXNzPSJuYXZiYXIgbmF2YmFyLWV4cGFuZC1sZyB0b3Atc3BhY2UgbmF2YmFyLWxpZ2h0IGJnLXdoaXRlIGhlYWRlci1saWdodCBmaXhlZC10b3AgbmF2YmFyLWJveGVkIGhlYWRlci1yZXZlcnNlLXNjcm9sbCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQgbmF2LWhlYWRlci1jb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC02IGNvbC1sZy0yIG1yLWF1dG8gcGwtbGctMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJuYXZiYXItYnJhbmQiIGhyZWY9Ij9hPWhvbWUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9IktPREFTQ09JTlBST0ZJVFNMb2dvLnBuZyIgZGF0YS1hdDJ4PSJLT0RBU0NPSU5QUk9GSVRTTG9nby5wbmciIGNsYXNzPSJkZWZhdWx0LWxvZ28iIGFsdD0iIiB3aWR0aD0iIiBoZWlnaHQ9IjYwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iS09EQVNDT0lOUFJPRklUU0xvZ28ucG5nIiBkYXRhLWF0Mng9IktPREFTQ09JTlBST0ZJVFNMb2dvLnBuZyIgY2xhc3M9ImFsdC1sb2dvIiBhbHQ9IiIgd2lkdGg9IiIgaGVpZ2h0PSI2MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9IktPREFTQ09JTlBST0ZJVFNMb2dvLnBuZyIgZGF0YS1hdDJ4PSJLT0RBU0NPSU5QUk9GSVRTTG9nby5wbmciIGNsYXNzPSJtb2JpbGUtbG9nbyIgYWx0PSIiIHdpZHRoPSIiIGhlaWdodD0iNjAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1hdXRvIG1lbnUtb3JkZXIgcHgtbGctMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5hdmJhci10b2dnbGVyIGZsb2F0LXJpZ2h0IiB0eXBlPSJidXR0b24iIGRhdGEtdG9nZ2xlPSJjb2xsYXBzZSIgZGF0YS10YXJnZXQ9IiNuYXZiYXJOYXYiIGFyaWEtY29udHJvbHM9Im5hdmJhck5hdiIgYXJpYS1sYWJlbD0iVG9nZ2xlIG5hdmlnYXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdmJhci10b2dnbGVyLWxpbmUiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYXZiYXItdG9nZ2xlci1saW5lIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmF2YmFyLXRvZ2dsZXItbGluZSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hdmJhci10b2dnbGVyLWxpbmUiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IiBjb2xsYXBzZSBuYXZiYXItY29sbGFwc2UganVzdGlmeS1jb250ZW50LWNlbnRlciIgaWQ9Im5hdmJhck5hdiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdmJhci1uYXYgYWx0LWZvbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGFuLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Inl0V2lkZ2V0Ij48L2Rpdj48c2NyaXB0IHNyYz0iaHR0cHM6Ly90cmFuc2xhdGUueWFuZGV4Lm5ldC93ZWJzaXRlLXdpZGdldC92MS93aWRnZXQuanM/d2lkZ2V0SWQ9eXRXaWRnZXQmcGFnZUxhbmc9ZW4md2lkZ2V0VGhlbWU9bGlnaHQmYXV0b01vZGU9ZmFsc2UiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIGRyb3Bkb3duIG1lZ2FtZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9aG9tZSIgY2xhc3M9Im5hdi1saW5rIj5Ib21lPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSBkcm9wZG93biBzaW1wbGUtZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1hYm91dCIgY2xhc3M9Im5hdi1saW5rIj5BYm91dCBVczwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0gZHJvcGRvd24gc2ltcGxlLWRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9ZmFxIiBjbGFzcz0ibmF2LWxpbmsiPkZhcSdzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIGRyb3Bkb3duIHNpbXBsZS1kcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWxvZ2luIiBjbGFzcz0ibmF2LWxpbmsiPkxvZ2luPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJuYXYtaXRlbSBkcm9wZG93biBzaW1wbGUtZHJvcGRvd24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1zaWdudXAiIGNsYXNzPSJuYXYtbGluayI+U2lnbnVwPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im5hdi1pdGVtIGRyb3Bkb3duIG1lZ2FtZW51Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9c3VwcG9ydCIgY2xhc3M9Im5hdi1saW5rIj5Db250YWN0IFVzPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtYXV0byB0ZXh0LXJpZ2h0IHByLTAgZm9udC1zaXplLTAiPgoKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L25hdj4KICAgICAgICA8L2hlYWRlcj4KCiAgICAgICAgPCEtLSBlbmQgaGVhZGVyIC0tPgoKICAgICAgICA8IS0tIHN0YXJ0IHNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InAtMCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1jb250YWluZXIgd2hpdGUtbW92ZSBtb2JpbGVvZmYtZnVsbHNjcmVlbi10b3Atc3BhY2UgbWQtaC02MDBweCBzbS1oLTUwMHB4IiBkYXRhLXNsaWRlci1vcHRpb25zPSd7ICJzbGlkZXNQZXJWaWV3IjogMSwgImxvb3AiOiB0cnVlLCAicGFnaW5hdGlvbiI6IHsgImVsIjogIi5zd2lwZXItcGFnaW5hdGlvbiIsICJjbGlja2FibGUiOiB0cnVlIH0sICJuYXZpZ2F0aW9uIjogeyAibmV4dEVsIjogIi5zd2lwZXItYnV0dG9uLW5leHQtbmF2IiwgInByZXZFbCI6ICIuc3dpcGVyLWJ1dHRvbi1wcmV2aW91cy1uYXYiIH0sICJhdXRvcGxheSI6IHsgImRlbGF5IjogNDUwMCwgImRpc2FibGVPbkludGVyYWN0aW9uIjogZmFsc2UgfSwgImtleWJvYXJkIjogeyAiZW5hYmxlZCI6IHRydWUsICJvbmx5SW5WaWV3cG9ydCI6IHRydWUgfSwgImVmZmVjdCI6ICJzbGlkZSIgfSc+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IHNsaWRlciBpdGVtIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1zbGlkZSBjb3Zlci1iYWNrZ3JvdW5kIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2hvbWUtYnVzaW5lc3Mtc2xpZGVyLWltZzAxLmpwZWcnKTsiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5LWJnIGJnLWdyYWRpZW50LWRhcmstc2xhdGUtYmx1ZSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBoLTEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgaC0xMDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wteGwtNiBjb2wtbGctNyBjb2wtc20tOCBoLTEwMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYWx0LWZvbnQgdGV4dC1zaGFkb3ctZG91YmxlLWxhcmdlIGZvbnQtd2VpZ2h0LTYwMCB0ZXh0LXdoaXRlIG1hcmdpbi01NXB4LWJvdHRvbSB3LTkwIG1kLXctMTAwIG1kLW5vLXRleHQtc2hhZG93IHhzLW1hcmdpbi0zNXB4LWJvdHRvbSI+QWxsIHlvdXIgSW52ZXN0bWVudHMgaW4gT25lIFBsYWNlLjwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJhbHQtZm9udCB0ZXh0LWV4dHJhLW1lZGl1bSB0ZXh0LXdoaXRlIG9wYWNpdHktNyBmb250LXdlaWdodC0zMDAgbWFyZ2luLTQwcHgtYm90dG9tIHhzLW1hcmdpbi0yMHB4LWJvdHRvbSI+SW52ZXN0b3JzIGNhbiBlYXNpbHkgbW9uaXRvciB0aGVpciBuZXQgd29ydGggYW5kIGFsbCBvZiB0aGVpciBhc3NldHMgd2l0aCBkaWdpdGFsdHJhZGVpbnZlc3Qub3JnIHNpbmdsZSBkYXNoYm9hcmQuPGJyPgogICAgICAgICAgICAgICAgICBUYWtlIGNvbXBsZXRlIGNvbW1hbmQgb2YgeW91ciBpbnZlc3RtZW50IHBvcnRmb2xpby48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtaW5saW5lLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJidG4gYnRuLWZhbmN5IGJ0bi1tZWRpdW0gYnRuLWdyYWRpZW50LXNreS1ibHVlLXBpbmsgbWFyZ2luLTMwcHgtcmlnaHQgeHMtbWFyZ2luLTE1cHgtYm90dG9tIj5SZWdpc3RlcjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWxvZ2luIiBjbGFzcz0iYnRuIGJ0bi1saW5rIGJ0bi1sYXJnZSB0ZXh0LXdoaXRlIHRvcC1taW51cy01cHggZm9udC13ZWlnaHQtNDAwIj5Mb2dpbjwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBlbmQgc2xpZGVyIGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBzdGFydCBzbGlkZXIgaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUgY292ZXItYmFja2dyb3VuZCIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdob21lLWJ1c2luZXNzLXNsaWRlci1pbWcwMi5qcGVnJyk7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheS1iZyBiZy1ncmFkaWVudC1kYXJrLXNsYXRlLWJsdWUiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgaC0xMDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGgtMTAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLXhsLTYgY29sLWxnLTcgY29sLXNtLTggaC0xMDAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9ImFsdC1mb250IHRleHQtc2hhZG93LWRvdWJsZS1sYXJnZSBmb250LXdlaWdodC02MDAgdGV4dC13aGl0ZSBtYXJnaW4tNTVweC1ib3R0b20gdy05MCBtZC13LTEwMCBtZC1uby10ZXh0LXNoYWRvdyB4cy1tYXJnaW4tMzVweC1ib3R0b20iPkludmVzdG1lbnQgJiBXZWFsdGggTWFuYWdlbWVudC48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYWx0LWZvbnQgdGV4dC1leHRyYS1tZWRpdW0gdGV4dC13aGl0ZSBvcGFjaXR5LTcgZm9udC13ZWlnaHQtMzAwIG1hcmdpbi00MHB4LWJvdHRvbSB4cy1tYXJnaW4tMjBweC1ib3R0b20iPk1hbnkgYWN0aXZpdGllcyBhcmUgc2NoZWR1bGVkIGZvciB0aGUgVVMgZWNvbm9taWMgY2FsZW5kYXIgdGhpcyBtb250aCw8YnI+IGJ1dCBub25lIGlzIG1vcmUgYXdhaXRlZCB0aGFuIHRoZSBwdWJsaWNhdGlvbiBvZiBub24tZmFybSBwYXlyb2xsIGZpZ3VyZXMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkLWlubGluZS1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1hYm91dCIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJidG4gYnRuLWZhbmN5IGJ0bi1tZWRpdW0gYnRuLWdyYWRpZW50LXNreS1ibHVlLXBpbmsgbWFyZ2luLTMwcHgtcmlnaHQgeHMtbWFyZ2luLTE1cHgtYm90dG9tIj5BYm91dCB1czwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWZhcSIgY2xhc3M9ImJ0biBidG4tbGluayBidG4tbGFyZ2UgdGV4dC13aGl0ZSB0b3AtbWludXMtNXB4IGZvbnQtd2VpZ2h0LTQwMCI+RmFxPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8IS0tIGVuZCBzbGlkZXIgaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IHNsaWRlciBpdGVtIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1zbGlkZSBjb3Zlci1iYWNrZ3JvdW5kIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2hvbWUtYnVzaW5lc3Mtc2xpZGVyLWltZzAzLmpwZWcnKTsiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5LWJnIGJnLWdyYWRpZW50LWRhcmstc2xhdGUtYmx1ZSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBoLTEwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgaC0xMDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wteGwtNiBjb2wtbGctNyBjb2wtc20tOCBoLTEwMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0iYWx0LWZvbnQgdGV4dC1zaGFkb3ctZG91YmxlLWxhcmdlIGZvbnQtd2VpZ2h0LTYwMCB0ZXh0LXdoaXRlIG1hcmdpbi01NXB4LWJvdHRvbSB3LTkwIG1kLXctMTAwIG1kLW5vLXRleHQtc2hhZG93IHhzLW1hcmdpbi0zNXB4LWJvdHRvbSI+U2VjdXJpdHkgYWJvdmUgZXZlcnl0aGluZy48L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iYWx0LWZvbnQgdGV4dC1leHRyYS1tZWRpdW0gdGV4dC13aGl0ZSBvcGFjaXR5LTcgZm9udC13ZWlnaHQtMzAwIG1hcmdpbi00MHB4LWJvdHRvbSB4cy1tYXJnaW4tMjBweC1ib3R0b20iPmRpZ2l0YWx0cmFkZWludmVzdC5vcmcgdGFrZXMgYSBob2xpc3RpYyBhcHByb2FjaCB0byBzYWZlZ3VhcmRpbmcgdGhlIGFzc2V0cy48YnI+CiAgICAgICAgICAgICAgICAgIEEgdmFyaWV0eSBvZiBzb3BoaXN0aWNhdGVkIG1lYXN1cmVzIGhhdmUgYmVlbiBpbnN0YWxsZWQgaW4gYnkgb3VyIHRlYW0gb2YgZXhwZXJ0cyB0byBwcmV2ZW50IHRoZSB0aGVmdCBvZiBtb25leSBvciBpbmZvcm1hdGlvbi48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImQtaW5saW5lLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXN1cHBvcnQiIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0iYnRuIGJ0bi1mYW5jeSBidG4tbWVkaXVtIGJ0bi1ncmFkaWVudC1za3ktYmx1ZS1waW5rIG1hcmdpbi0zMHB4LXJpZ2h0IHhzLW1hcmdpbi0xNXB4LWJvdHRvbSI+Q29udGFjdDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWhvbWUjIiBjbGFzcz0iYnRuIGJ0bi1saW5rIGJ0bi1sYXJnZSB0ZXh0LXdoaXRlIHRvcC1taW51cy01cHggZm9udC13ZWlnaHQtNDAwIj5Ib3cgd2Ugd29yazwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBlbmQgc2xpZGVyIGl0ZW0gLS0+ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBzdGFydCBzbGlkZXIgcGFnaW5hdGlvbiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN3aXBlci1wYWdpbmF0aW9uIHN3aXBlci1saWdodC1wYWdpbmF0aW9uIj48L2Rpdj4KICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgPCEtLSBlbmQgc2VjdGlvbiAtLT4KICAgICAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6NjJweDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgb3ZlcmZsb3c6aGlkZGVuOyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3JkZXI6IDFweCBzb2xpZCAjNTY2NjdGOyBib3JkZXItcmFkaXVzOiA0cHg7IHRleHQtYWxpZ246IHJpZ2h0OyBsaW5lLWhlaWdodDoxNHB4OyBibG9jay1zaXplOjYycHg7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IGJveC1zaGFkb3c6IGluc2V0IDAgLTIwcHggMCAwICM1NjY2N0Y7cGFkZGluZzoxcHg7cGFkZGluZzogMHB4OyBtYXJnaW46IDBweDsgd2lkdGg6IDEwMCU7Ij48ZGl2IHN0eWxlPSJoZWlnaHQ6NDBweDsgcGFkZGluZzowcHg7IG1hcmdpbjowcHg7IHdpZHRoOiAxMDAlOyI+PGlmcmFtZSBzcmM9Imh0dHBzOi8vd2lkZ2V0LmNvaW5saWIuaW8vd2lkZ2V0P3R5cGU9aG9yaXpvbnRhbF92MiZ0aGVtZT1saWdodCZwcmVmX2NvaW5faWQ9MTUwNSZpbnZlcnRfaG92ZXI9IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIzNnB4IiBzY3JvbGxpbmc9ImF1dG8iIG1hcmdpbndpZHRoPSIwIiBtYXJnaW5oZWlnaHQ9IjAiIGZyYW1lYm9yZGVyPSIwIiBib3JkZXI9IjAiIHN0eWxlPSJib3JkZXI6MDttYXJnaW46MDtwYWRkaW5nOjA7Ij48L2lmcmFtZT48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogI0ZGRkZGRjsgbGluZS1oZWlnaHQ6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGZvbnQtc2l6ZTogMTFweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgcGFkZGluZzogMnB4IDZweDsgd2lkdGg6IDEwMCU7IGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBUYWhvbWEsIEFyaWFsLCBzYW5zLXNlcmlmOyI+PGEgaHJlZj0iaHR0cHM6Ly9jb2lubGliLmlvIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9ImZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiAjRkZGRkZGOyB0ZXh0LWRlY29yYXRpb246bm9uZTsgZm9udC1zaXplOjExcHgiPkNyeXB0b2N1cnJlbmN5IFByaWNlczwvYT4mbmJzcDtieSBDb2lubGliPC9kaXY+PC9kaXY+CiAgICAgICAgPCEtLSBzdGFydCBzZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJiaWctc2VjdGlvbiB3b3cgYW5pbWF0ZV9fZmFkZUluIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHdvdyBhbmltYXRlX19mYWRlSW4iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wteGwtMyBjb2wtbGctNCBjb2wtc20tNyBkLWZsZXggZmxleC1jb2x1bW4gdGV4dC1jZW50ZXIgdGV4dC1sZy1sZWZ0IG1kLW1hcmdpbi02LXJlbS1ib3R0b20iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJnaW4tMjBweC1ib3R0b20gc20tbWFyZ2luLTEwcHgtYm90dG9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbHQtZm9udCB0ZXh0LW1lZGl1bSB0ZXh0LWdyYWRpZW50LXNreS1ibHVlLXBpbmsgdGV4dC11cHBlcmNhc2UgZm9udC13ZWlnaHQtNTAwIj5BYm91dCBjb21wYW55PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJhbHQtZm9udCB0ZXh0LWV4dHJhLWRhcmstZ3JheSBmb250LXdlaWdodC02MDAgbWFyZ2luLTIwcHgtYm90dG9tIG1kLW1hcmdpbi0zMHB4LWJvdHRvbSB4cy13LTkwIG14LWF1dG8gbXgtc20tMCI+U3RhcnQgSW52ZXN0aW5nIHJpZ2h0IE5vdzwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im10LWF1dG8gbXgtYXV0byBteC1sZy0wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IiIgY2xhc3M9ImJ0biBidG4tZmFuY3kgYnRuLXNtYWxsIGJ0bi10cmFuc3BhcmVudC1saWdodC1ncmF5Ij5WSUVXIExJQ0VOU0UgQ0VSVElGSUNBVEU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wteGwtNyBvZmZzZXQteGwtMiBjb2wtbGctOCBsYXN0LXBhcmFncmFwaC1uby1tYXJnaW4gd293IGFuaW1hdGVfX2ZhZGVJbiIgZGF0YS13b3ctZHVyYXRpb249IjAuMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyByb3ctY29scy0xIHJvdy1jb2xzLWxnLTIgcm93LWNvbHMtc20tMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IGZlYXR1cmUgYm94IGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wgbWFyZ2luLTYwcHgtYm90dG9tIHNtLW1hcmdpbi0zMHB4LWJvdHRvbSB4cy1tYXJnaW4tNDBweC1ib3R0b20gd293IGFuaW1hdGVfX2ZhZGVJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ib3ggZmVhdHVyZS1ib3gtbGVmdC1pY29uIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ib3gtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz0ibGluZS1pY29uLU1vbmV5LUJhZyBpY29uLW1lZGl1bSB0ZXh0LWV4dHJhLWxpZ2h0LWdyYXkgbWFyZ2luLTM1cHgtYm90dG9tIG1kLW1hcmdpbi0xNXB4LWJvdHRvbSBzbS1tYXJnaW4tMTBweC1ib3R0b20iPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94LWNvbnRlbnQgbGFzdC1wYXJhZ3JhcGgtbm8tbWFyZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbHQtZm9udCBmb250LXdlaWdodC01MDAgbWFyZ2luLTEwcHgtYm90dG9tIGQtYmxvY2sgdGV4dC1leHRyYS1kYXJrLWdyYXkiPk9ubGluZSBSZWdpc3RyYXRpb248L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5FdmVyeXRoaW5nIHN0YXJ0cyB3aXRoIGZyZWUgb25saW5lIHJlZ2lzdHJhdGlvbi4gT25seSBiYXNpYyBkYXRhIGlzIG5lZWRlZCAtIG5hbWUsIGVtYWlsLCBpbnZlc3RtZW50IHBsYW4gZXRjLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZW5kIGZlYXR1cmUgYm94IGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IGZlYXR1cmUgYm94IGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wgbWFyZ2luLTYwcHgtYm90dG9tIHNtLW1hcmdpbi0zMHB4LWJvdHRvbSB4cy1tYXJnaW4tNDBweC1ib3R0b20gd293IGFuaW1hdGVfX2ZhZGVJbiIgZGF0YS13b3ctZGVsYXk9IjAuMnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94IGZlYXR1cmUtYm94LWxlZnQtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94LWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImxpbmUtaWNvbi1HZWFyLTIgaWNvbi1tZWRpdW0gdGV4dC1leHRyYS1saWdodC1ncmF5IG1hcmdpbi0zNXB4LWJvdHRvbSBtZC1tYXJnaW4tMTVweC1ib3R0b20gc20tbWFyZ2luLTEwcHgtYm90dG9tIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWJveC1jb250ZW50IGxhc3QtcGFyYWdyYXBoLW5vLW1hcmdpbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWx0LWZvbnQgZm9udC13ZWlnaHQtNTAwIG1hcmdpbi0xMHB4LWJvdHRvbSBkLWJsb2NrIHRleHQtZXh0cmEtZGFyay1ncmF5Ij5EZXZlbG9wIFBvcnRmb2xpbzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkFmdGVyIHRoZSBiYXNpYyByZWdpc3RyYXRpb24sIHdlIGRldmVsb3AgYW4gaW52ZXN0bWVudCBwb3J0Zm9saW8gdG8gaGVscCByZWFjaCB5b3VyIGZpbmFuY2lhbCBnb2Fscy4gPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBlbmQgZmVhdHVyZSBib3ggaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RhcnQgZmVhdHVyZSBib3ggaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbCB4cy1tYXJnaW4tNDBweC1ib3R0b20gd293IGFuaW1hdGVfX2ZhZGVJbiIgZGF0YS13b3ctZGVsYXk9IjAuNHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94IGZlYXR1cmUtYm94LWxlZnQtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94LWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImxpbmUtaWNvbi1UYWxrLU1hbiBpY29uLW1lZGl1bSB0ZXh0LWV4dHJhLWxpZ2h0LWdyYXkgbWFyZ2luLTM1cHgtYm90dG9tIG1kLW1hcmdpbi0xNXB4LWJvdHRvbSBzbS1tYXJnaW4tMTBweC1ib3R0b20iPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94LWNvbnRlbnQgbGFzdC1wYXJhZ3JhcGgtbm8tbWFyZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbHQtZm9udCBmb250LXdlaWdodC01MDAgbWFyZ2luLTEwcHgtYm90dG9tIGQtYmxvY2sgdGV4dC1leHRyYS1kYXJrLWdyYXkiPkZ1bmQgQWNjb3VudDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPllvdSBvcGVuIHlvdXIgYWNjb3VudCBmb3IgdHJhZGluZyBieSBkZXBvc2l0aW5nIGludmVzdG1lbnQgZnVuZHMuIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZW5kIGZlYXR1cmUgYm94IGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IGZlYXR1cmUgYm94IGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wgd293IGFuaW1hdGVfX2ZhZGVJbiIgZGF0YS13b3ctZGVsYXk9IjAuNnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94IGZlYXR1cmUtYm94LWxlZnQtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94LWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImxpbmUtaWNvbi1DdXJzb3ItQ2xpY2syIGljb24tbWVkaXVtIHRleHQtZXh0cmEtbGlnaHQtZ3JheSBtYXJnaW4tMzVweC1ib3R0b20gbWQtbWFyZ2luLTE1cHgtYm90dG9tIHNtLW1hcmdpbi0xMHB4LWJvdHRvbSI+PC9pPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ib3gtY29udGVudCBsYXN0LXBhcmFncmFwaC1uby1tYXJnaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFsdC1mb250IGZvbnQtd2VpZ2h0LTUwMCBtYXJnaW4tMTBweC1ib3R0b20gZC1ibG9jayB0ZXh0LWV4dHJhLWRhcmstZ3JheSI+RWFybmluZyBSZXR1cm5zPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+TWFuYWdlbWVudCBhbmQgVHJhZGluZyBzdGFydHMgb24geW91ciBhY2NvdW50IGFuZCB5b3Ugc3RhcnQgYWNjdW11bGF0aW5nIGVhcm5pbmdzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZW5kIGZlYXR1cmUgYm94IGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8Y2VudGVyPjxoNSBjbGFzcz0iYWx0LWZvbnQgZm9udC13ZWlnaHQtNTAwIHRleHQtZXh0cmEtZGFyay1ncmF5Ij5kaWdpdGFsdHJhZGVpbnZlc3Qub3JnIFRyYW5zYWN0aW9uPC9oNT48L2NlbnRlcj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ib3ZlcnZpZXctYmxvY2stcHRiIGlxLWJnIGlxLW92ZXItYmxhY2stODAgamFyYWxsYXggaXEtYWJvdXQtdXMiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ltYWdlcy9iZy9iZy0xMy5qcGcnKTsgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyAgaXEtbXQtMzAiPgogICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLXNtLTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXEtY2FydF90b3RhbCBoZWFkaW5nLWxlZnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxoNCBjbGFzcz0iaXEtbWItMzAgdGl0bGUgaXEtdHctNSI+UmVjZW50IERlcG9zaXRzPC9oND4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz0idGFibGUgdGFibGUtYm9yZGVyZWQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5Pgo8aWZyYW1lIGZyYW1lYm9yZGVyPSIwIiBoZWlnaHQ9IjQ2MCIgd2lkdGg9IjEwMCUiIHNjcm9sbGluZz0ibm8iIHNyYz0iaHR0cHM6Ly9naWxkY3J5c3RhbGluY29tZS5jb20vYXV0b3BheW91dHMvZGVwb3NpdC5waHAiPjwvaWZyYW1lPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IGNvbC1zbS0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlxLWNhcnRfdG90YWwgaGVhZGluZy1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08aDQgY2xhc3M9ImlxLW1iLTMwIHRpdGxlIGlxLXR3LTUiPlJlY2VudCBXaXRoZHJhd3M8L2g0Pi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRhYmxlIGNsYXNzPSJ0YWJsZSB0YWJsZS1ib3JkZXJlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRib2R5PgogIDxpZnJhbWUgZnJhbWVib3JkZXI9IjAiIGhlaWdodD0iNDYwIiB3aWR0aD0iMTAwJSIgc2Nyb2xsaW5nPSJubyIgc3JjPSJodHRwczovL2dpbGRjcnlzdGFsaW5jb21lLmNvbS9hdXRvcGF5b3V0cy93aXRoZHJhd2FsLnBocCI+PC9pZnJhbWU+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKCiAgICAgICAgPCEtLSBlbmQgc2VjdGlvbiAtLT4KICAgICAgICA8IS0tIHN0YXJ0IHNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImJnLWxpZ2h0LWdyYXkgd293IGFuaW1hdGVfX2ZhZGVJbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC14bC01IGNvbC1sZy02IGNvbC1zbS03IHRleHQtY2VudGVyIG1hcmdpbi0zLWhhbGYtcmVtLWJvdHRvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0iYWx0LWZvbnQgZm9udC13ZWlnaHQtNTAwIHRleHQtZXh0cmEtZGFyay1ncmF5Ij5JbnZlc3RtZW50IFBsYW5zPC9oNT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgdGFiLXN0eWxlLTA0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdGFydCB0YWIgbmF2aWdhdGlvbiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBlbmQgdGFiIG5hdmlnYXRpb24gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9Im1vbnRobHktdGFiIiBjbGFzcz0idGFiLXBhbmUgYW5pbWF0ZV9fZmFkZSBpbiBhY3RpdmUgc2hvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IHJvdy1jb2xzLTEgcm93LWNvbHMtbGctMyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RhcnQgcHJpY2luZyBpdGVtIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wgY29sLW1kLTggcHJpY2luZy10YWJsZS1zdHlsZS0wMSB0ZXh0LWNlbnRlciBtZC1tYXJnaW4tMzBweC1ib3R0b20gd293IGFuaW1hdGVfX2ZhZGVJbiIgZGF0YS13b3ctZGVsYXk9IjAuNHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2luZy10YWJsZSBiZy13aGl0ZSBib3JkZXItcmFkaXVzLTZweCBwYWRkaW5nLTY1cHgtYWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmljaW5nLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsdC1mb250IHRleHQtZmFzdC1ibHVlIHRleHQtZXh0cmEtbGFyZ2UgZm9udC13ZWlnaHQtNTAwIHRleHQtdXBwZXJjYXNlIj5CQVNJQyBQTEFOPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtc21hbGwgdGV4dC11cHBlcmNhc2UgbWFyZ2luLTQwcHgtYm90dG9tIj5CYXNpYyBmZWF0dXJlczwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtZXh0cmEtZGFyay1ncmF5IG1hcmdpbi01cHgtYm90dG9tIGxldHRlci1zcGFjaW5nLW1pbnVzLTFweCI+MTAlIEFGVEVSIDEyIEhPVVJTPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1tZWRpdW0iPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByaWNpbmctYm9keSBwYWRkaW5nLTMwcHgtdGIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3Qtc3R5bGUtMDMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0ZXh0LWV4dHJhLWRhcmstZ3JheSBmb250LXdlaWdodC01MDAiPk1pbmltdW0gZGVwb3NpdDogJDUwPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGV4dC1leHRyYS1kYXJrLWdyYXkgZm9udC13ZWlnaHQtNTAwIj5NYXhpbXVtIGRlcG9zaXQ6ICQyOTk5PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGV4dC1leHRyYS1kYXJrLWdyYXkgZm9udC13ZWlnaHQtNTAwIj5QcmluY2lwYWwgUmV0dXJuZWQ8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0ZXh0LWV4dHJhLWRhcmstZ3JheSBmb250LXdlaWdodC01MDAiPkluc3RhbnQgV2l0aGRyYXdhbDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRleHQtZXh0cmEtZGFyay1ncmF5IGZvbnQtd2VpZ2h0LTUwMCI+V2l0aGRyYXdhbCBjaGFyZ2VzOiAkMDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0ZXh0LWV4dHJhLWRhcmstZ3JheSBmb250LXdlaWdodC01MDAiPlJlZmVycmFsIENvbW1pc3Npb246MTAlPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmljaW5nLWZvb3RlciBtYXJnaW4tMTVweC10b3AiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1zbWFsbCBidG4tcm91bmQtZWRnZSBidG4tdHJhbnNwYXJlbnQtZGFyay1ncmF5IiBocmVmPSI/YT1zaWdudXAiPkNob29zZSBQbGFuPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGVuZCBwcmljaW5nIGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RhcnQgcHJpY2luZyBpdGVtIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wgY29sLW1kLTggcHJpY2luZy10YWJsZS1zdHlsZS0wMSB0ZXh0LWNlbnRlciBtZC1tYXJnaW4tMzBweC1ib3R0b20gd293IGFuaW1hdGVfX2ZhZGVJbiIgZGF0YS13b3ctZGVsYXk9IjAuMnMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2luZy10YWJsZSBiZy13aGl0ZSBib3gtc2hhZG93LWxhcmdlIGJvcmRlci1yYWRpdXMtNnB4IHBhZGRpbmctNjVweC1sciBwYWRkaW5nLTkwcHgtdGIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByaWNpbmctaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icG9wdWxhci1sYWJlbCBhbHQtZm9udCBmb250LXdlaWdodC01MDAgdGV4dC1leHRyYS1zbWFsbCB0ZXh0LXdoaXRlIGJnLWV4dHJhLWRhcmstZ3JheSB0ZXh0LXVwcGVyY2FzZSBib3JkZXItcmFkaXVzLTJweCI+UG9wdWxhcjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbHQtZm9udCB0ZXh0LWZhc3QtYmx1ZSB0ZXh0LWV4dHJhLWxhcmdlIGZvbnQtd2VpZ2h0LTUwMCB0ZXh0LXVwcGVyY2FzZSI+U1RBTkRBUkQgUExBTjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXNtYWxsIHRleHQtdXBwZXJjYXNlIG1hcmdpbi00MHB4LWJvdHRvbSI+U3RhbmRhcmQgRmVhdHVyZXM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LWV4dHJhLWRhcmstZ3JheSBtYXJnaW4tNXB4LWJvdHRvbSBsZXR0ZXItc3BhY2luZy1taW51cy0xcHgiPjE1JSBBRlRFUiAyNCBIT1VSUzwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtbWVkaXVtIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmljaW5nLWJvZHkgcGFkZGluZy0zMHB4LXRiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LXN0eWxlLTAzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGV4dC1leHRyYS1kYXJrLWdyYXkgZm9udC13ZWlnaHQtNTAwIj5NaW5pbXVtIGRlcG9zaXQ6ICQzMDAwPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGV4dC1leHRyYS1kYXJrLWdyYXkgZm9udC13ZWlnaHQtNTAwIj5NYXhpbXVtIGRlcG9zaXQ6ICQ2OTk5PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGV4dC1leHRyYS1kYXJrLWdyYXkgZm9udC13ZWlnaHQtNTAwIj5QcmluY2lwYWwgUmV0dXJuZWQ8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0ZXh0LWV4dHJhLWRhcmstZ3JheSBmb250LXdlaWdodC01MDAiPkluc3RhbnQgV2l0aGRyYXdhbDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRleHQtZXh0cmEtZGFyay1ncmF5IGZvbnQtd2VpZ2h0LTUwMCI+V2l0aGRyYXdhbCBjaGFyZ2VzOiAkMDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRleHQtZXh0cmEtZGFyay1ncmF5IGZvbnQtd2VpZ2h0LTUwMCI+UmVmZXJyYWwgQ29tbWlzc2lvbjoxMCU8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByaWNpbmctZm9vdGVyIG1hcmdpbi0xNXB4LXRvcCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLXNtYWxsIGJ0bi1yb3VuZC1lZGdlIGJ0bi10cmFuc3BhcmVudC1kYXJrLWdyYXkiIGhyZWY9Ij9hPXNpZ251cCI+Q2hvb3NlIFBsYW48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZW5kIHByaWNpbmcgaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdGFydCBwcmljaW5nIGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbCBjb2wtbWQtOCBwcmljaW5nLXRhYmxlLXN0eWxlLTAxIHRleHQtY2VudGVyIHdvdyBhbmltYXRlX19mYWRlSW4iIGRhdGEtd293LWRlbGF5PSIwLjRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByaWNpbmctdGFibGUgYmctd2hpdGUgYm9yZGVyLXJhZGl1cy02cHggcGFkZGluZy02NXB4LWFsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2luZy1oZWFkZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbHQtZm9udCB0ZXh0LWZhc3QtYmx1ZSB0ZXh0LWV4dHJhLWxhcmdlIGZvbnQtd2VpZ2h0LTUwMCB0ZXh0LXVwcGVyY2FzZSI+UFJFTUlVTSBQTEFOPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtc21hbGwgdGV4dC11cHBlcmNhc2UgbWFyZ2luLTQwcHgtYm90dG9tIj5QcmVtaXVtIEZlYXR1cmVzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC1leHRyYS1kYXJrLWdyYXkgbWFyZ2luLTVweC1ib3R0b20gbGV0dGVyLXNwYWNpbmctbWludXMtMXB4Ij4yNSUgQUZURVIgNDggSE9VUlM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LW1lZGl1bSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2luZy1ib2R5IHBhZGRpbmctMzBweC10YiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdC1zdHlsZS0wMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRleHQtZXh0cmEtZGFyay1ncmF5IGZvbnQtd2VpZ2h0LTUwMCI+TWluaW11bSBkZXBvc2l0OiAkNzAwMDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRleHQtZXh0cmEtZGFyay1ncmF5IGZvbnQtd2VpZ2h0LTUwMCI+TWF4aW11bSBkZXBvc2l0OiAkOTk5OTwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRleHQtZXh0cmEtZGFyay1ncmF5IGZvbnQtd2VpZ2h0LTUwMCI+UHJpbmNpcGFsIFJldHVybmVkIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRleHQtZXh0cmEtZGFyay1ncmF5IGZvbnQtd2VpZ2h0LTUwMCI+SW5zdGFudCBXaXRoZHJhd2FsPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGV4dC1leHRyYS1kYXJrLWdyYXkgZm9udC13ZWlnaHQtNTAwIj5XaXRoZHJhd2FsIGNoYXJnZXM6ICQwPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGV4dC1leHRyYS1kYXJrLWdyYXkgZm9udC13ZWlnaHQtNTAwIj5SZWZlcnJhbCBDb21taXNzaW9uOjEwJTwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2luZy1mb290ZXIgbWFyZ2luLTE1cHgtdG9wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLXNtYWxsIGJ0bi1yb3VuZC1lZGdlIGJ0bi10cmFuc3BhcmVudC1kYXJrLWdyYXkiIGhyZWY9Ij9hPXNpZ251cCI+Q2hvb3NlIFBsYW48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZW5kIHByaWNpbmcgaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IHByaWNpbmcgaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIGNvbC1tZC04IHByaWNpbmctdGFibGUtc3R5bGUtMDEgdGV4dC1jZW50ZXIgd293IGFuaW1hdGVfX2ZhZGVJbiIgZGF0YS13b3ctZGVsYXk9IjAuNHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2luZy10YWJsZSBiZy13aGl0ZSBib3JkZXItcmFkaXVzLTZweCBwYWRkaW5nLTY1cHgtYWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmljaW5nLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFsdC1mb250IHRleHQtZmFzdC1ibHVlIHRleHQtZXh0cmEtbGFyZ2UgZm9udC13ZWlnaHQtNTAwIHRleHQtdXBwZXJjYXNlIj5VTFRJTUFURSBQTEFOPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtc21hbGwgdGV4dC11cHBlcmNhc2UgbWFyZ2luLTQwcHgtYm90dG9tIj5QcmVtaXVtIEZlYXR1cmVzPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC1leHRyYS1kYXJrLWdyYXkgbWFyZ2luLTVweC1ib3R0b20gbGV0dGVyLXNwYWNpbmctbWludXMtMXB4Ij40MCUgQUZURVIgNzIgSE9VUlM8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LW1lZGl1bSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2luZy1ib2R5IHBhZGRpbmctMzBweC10YiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdC1zdHlsZS0wMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRleHQtZXh0cmEtZGFyay1ncmF5IGZvbnQtd2VpZ2h0LTUwMCI+IE1pbmltdW0gaW52ZXN0OiAkMTIwMDA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuIGNsYXNzPSJ0ZXh0LWV4dHJhLWRhcmstZ3JheSBmb250LXdlaWdodC01MDAiPk1heGltdW0gRGVwb3NpdDogJFVubGltaXRlZDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRleHQtZXh0cmEtZGFyay1ncmF5IGZvbnQtd2VpZ2h0LTUwMCI+UHJpbmNpcGFsIFJldHVybmVkIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PHNwYW4gY2xhc3M9InRleHQtZXh0cmEtZGFyay1ncmF5IGZvbnQtd2VpZ2h0LTUwMCI+SW5zdGFudCBXaXRoZHJhd2FsPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3BhbiBjbGFzcz0idGV4dC1leHRyYS1kYXJrLWdyYXkgZm9udC13ZWlnaHQtNTAwIj5SZWZlcnJhbCBDb21taXNzaW9uOjEwJTwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2luZy1mb290ZXIgbWFyZ2luLTE1cHgtdG9wIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLXNtYWxsIGJ0bi1yb3VuZC1lZGdlIGJ0bi10cmFuc3BhcmVudC1kYXJrLWdyYXkiIGhyZWY9Ij9hPXNpZ251cCI+Q2hvb3NlIFBsYW48L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZW5kIHByaWNpbmcgaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDwhLS0gZW5kIHNlY3Rpb24gLS0+CiAgICAgICAgPCEtLSBzdGFydCBzZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJvdmVyZmxvdy12aXNpYmxlIHBvc2l0aW9uLXJlbGF0aXZlIHotaW5kZXgtMSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlciAiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtbGctNSBjb2wtc20tOSBkLWZsZXggZmxleC1jb2x1bW4gdGV4dC1jZW50ZXIgdGV4dC1sZy1sZWZ0IG1kLW1hcmdpbi02LXJlbS1ib3R0b20gd293IGFuaW1hdGVfX2ZhZGVJbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmdpbi0yMHB4LWJvdHRvbSBzbS1tYXJnaW4tMTVweC1ib3R0b20iPjxzcGFuIGNsYXNzPSJhbHQtZm9udCB0ZXh0LW1lZGl1bSB0ZXh0LWdyYWRpZW50LXNreS1ibHVlLXBpbmsgdGV4dC11cHBlcmNhc2UgZm9udC13ZWlnaHQtNTAwIj5EaXZlcnNpZmljYXRpb24gaXMgS2V5PC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9ImFsdC1mb250IHRleHQtZXh0cmEtZGFyay1ncmF5IGZvbnQtd2VpZ2h0LTYwMCB3LTk1IG1hcmdpbi0yMHB4LWJvdHRvbSBtZC1tYXJnaW4tMzBweC1ib3R0b20gbGctdy0xMDAiPkludmVzdCBDb25maWRlbnRseQppbiBEaWdpdGFsCkN1cnJlbmNpZXM8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdC1hdXRvIG14LWF1dG8gbXgtbGctMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1zaWdudXAiIGNsYXNzPSJidG4gYnRuLWZhbmN5IGJ0bi1zbWFsbCBidG4tdHJhbnNwYXJlbnQtbGlnaHQtZ3JheSI+U3RhcnQgSW52ZXN0aW5nPC9hPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLWxnLTYgb2Zmc2V0LWxnLTEiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgcm93LWNvbHMtMSByb3ctY29scy1zbS0yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RhcnQgcGllIGNoYXJ0IGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wgdGV4dC1jZW50ZXIgdGV4dC1sZy1sZWZ0IHhzLW1hcmdpbi00NXB4LWJvdHRvbSB3b3cgYW5pbWF0ZV9fZmFkZUluIiBkYXRhLXdvdy1kZWxheT0iMC4ycyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtcGVyY2VudCBkLWlubGluZS1ibG9jayBtYXJnaW4tNDBweC1ib3R0b20geHMtbWFyZ2luLTIwcHgtYm90dG9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpZS1jaGFydC1zdHlsZS0wMiIgZGF0YS1saW5lLXdpZHRoPSI4IiBkYXRhLXBlcmNlbnQ9IjkyIiBkYXRhLXRyYWNrLWNvbG9yPSIjZjVmNWY1IiBkYXRhLXN0YXJ0LWNvbG9yPSIjZjc3OTkzIiBkYXRhLWVuZC1jb2xvcj0iIzVkNmZmOSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGVyY2VudCBhbHQtZm9udCBmb250LXdlaWdodC01MDAgdGl0bGUtZXh0cmEtc21hbGwgbGV0dGVyLXNwYWNpbmctbWludXMtMXB4IHRleHQtZXh0cmEtZGFyay1ncmF5Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYXN0LXBhcmFncmFwaC1uby1tYXJnaW4gd293IGFuaW1hdGVfX2ZhZGVJbiIgZGF0YS13b3ctZHVyYXRpb249IjAuMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbHQtZm9udCBmb250LXdlaWdodC01MDAgbWFyZ2luLTVweC1ib3R0b20gZC1ibG9jayB0ZXh0LWV4dHJhLWRhcmstZ3JheSI+VFJBSU5FRCBURUFNPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0iZC1pbmxpbmUtYmxvY2sgdy04NSBsZy13LTEwMCBtZC13LTc1IHNtLXctOTUgeHMtdy03NSI+ZGlnaXRhbHRyYWRlaW52ZXN0Lm9yZyBoYXMgYSB0ZWFtIG9mIHRyYWluZWQgdHJhZGVycyBpbiBGb3JleCAmIENyeXB0byBFeGNoYW5nZSBhbmQgQ3J5cHRvIE1pbmluZyB3aG8gZ3Jhc3AgaG93IHRvIGNsdXRjaCB0aGUgcHJvZml0IGF0IHRoZSBlbmQgb2YgdGhlIGRheS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZW5kIHBpZSBjaGFydCBpdGVtIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdGFydCBwaWUgY2hhcnQgaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbCB0ZXh0LWNlbnRlciB0ZXh0LWxnLWxlZnQgd293IGFuaW1hdGVfX2ZhZGVJbiIgZGF0YS13b3ctZGVsYXk9IjAuNHMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LXBlcmNlbnQgZC1pbmxpbmUtYmxvY2sgbWFyZ2luLTQwcHgtYm90dG9tIHhzLW1hcmdpbi0yMHB4LWJvdHRvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwaWUtY2hhcnQtc3R5bGUtMDIiIGRhdGEtbGluZS13aWR0aD0iOCIgZGF0YS1wZXJjZW50PSI5MCIgZGF0YS10cmFjay1jb2xvcj0iI2Y1ZjVmNSIgZGF0YS1zdGFydC1jb2xvcj0iI2Y3Nzk5MyIgZGF0YS1lbmQtY29sb3I9IiM1ZDZmZjkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBlcmNlbnQgYWx0LWZvbnQgZm9udC13ZWlnaHQtNTAwIHRpdGxlLWV4dHJhLXNtYWxsIGxldHRlci1zcGFjaW5nLW1pbnVzLTFweCB0ZXh0LWV4dHJhLWRhcmstZ3JheSI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFzdC1wYXJhZ3JhcGgtbm8tbWFyZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFsdC1mb250IGZvbnQtd2VpZ2h0LTUwMCBtYXJnaW4tNXB4LWJvdHRvbSBkLWJsb2NrIHRleHQtZXh0cmEtZGFyay1ncmF5Ij5EaXZlcnNpZmllZCBQb3J0Zm9saW88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJkLWlubGluZS1ibG9jayB3LTg1IGxnLXctMTAwIG1kLXctNzUgc20tdy05NSB4cy13LTc1Ij5FdmVyeSBwb3J0Zm9saW8gd2UgY3JlYXRlIGZvciBlYWNoIG9mIG91ciBjbGllbnRzIGlzIGJ1aWx0IHRocm91Z2ggYW4gaW5kZXBlbmRlbnQgc2VsZWN0aW9uIHByb2Nlc3Mgd2hpY2ggYmFsYW5jZXMgZmFjdG9ycyBzdWNoIGFzIGdlb2dyYXBoeSwgc2VjdG9yIGFuZCB2b2xhdGlsaXR5IHRvIGhlbHAgZW5zdXJlIGl04oCZcyBzdWNjZXNzZnVsbHkgZGl2ZXJzaWZpZWQuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGVuZCBwaWUgY2hhcnQgaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDwhLS0gZW5kIHNlY3Rpb24gLS0+CiAgICAgICAgCiAgICAgICAgPHNlY3Rpb24+CjxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CjxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUgdGV4dC1jZW50ZXIiPgogICAgIAkgIDxoND48YnI+SG93IHRvIGJ1eSBCaXRjb2luPC9oND4JICAKICAgICAJICA8L2Rpdj4KPGRpdiBjbGFzcz0icm93Ij4KICAgIDxkaXYgY2xhc3M9ImNvbCBjb2wtbWQtNCI+PGlmcmFtZSB3aWR0aD0iMzYwIiBoZWlnaHQ9IjIxNSIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9IN09pWk9fOWFoRSIgdGl0bGU9IllvdVR1YmUgdmlkZW8gcGxheWVyIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNvbCBjb2wtbWQtNCI+PGlmcmFtZSB3aWR0aD0iMzYwIiBoZWlnaHQ9IjIxNSIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9FakI1cUZXMGJKOCIgdGl0bGU9IllvdVR1YmUgdmlkZW8gcGxheWVyIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNvbCBjb2wtbWQtNCI+PGlmcmFtZSB3aWR0aD0iMzYwIiBoZWlnaHQ9IjIxNSIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9uSjRwVnpHV1ZIMCIgdGl0bGU9IllvdVR1YmUgdmlkZW8gcGxheWVyIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gc3RhcnQgc2VjdGlvbiAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYm9yZGVyLXRvcCBib3JkZXItY29sb3ItbWVkaXVtLWdyYXkiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgdGFiLXN0eWxlLTAxIHdpdGhvdXQtbnVtYmVyIHdvdyBhbmltYXRlX19mYWRlSW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IHRhYiBuYXZpZ2F0aW9uIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Im5hdiBuYXYtdGFicyB0ZXh0LXVwcGVyY2FzZSBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHRleHQtY2VudGVyIGFsdC1mb250IGZvbnQtd2VpZ2h0LTUwMCBtYXJnaW4tNy1yZW0tYm90dG9tIG1kLW1hcmdpbi01LXJlbS1ib3R0b20gc20tbWFyZ2luLTIwcHgtYm90dG9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibmF2LWl0ZW0iPjxhIGNsYXNzPSJuYXYtbGluayBhY3RpdmUiIGRhdGEtdG9nZ2xlPSJ0YWIiIGhyZWY9IiNwbGFubmluZy10YWIiPlBsYW5uaW5nPC9hPjxzcGFuIGNsYXNzPSJ0YWItYm9yZGVyIGJnLWV4dHJhLWRhcmstZ3JheSI+PC9zcGFuPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gZW5kIHRhYiBuYXZpZ2F0aW9uIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IHRhYiBpdGVtIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0icGxhbm5pbmctdGFiIiBjbGFzcz0idGFiLXBhbmUgZmFkZSBpbiBhY3RpdmUgc2hvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGFsaWduLWl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtbWQtNiB0ZXh0LXJpZ2h0IHNtLW1hcmdpbi00MHB4LWJvdHRvbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2hvbWUtYnVzaW5lc3MtdGFiLWltZzAxLmpwZyIgYWx0PSIiIC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLWxnLTUgb2Zmc2V0LWxnLTEgY29sLW1kLTYgdGV4dC1jZW50ZXIgdGV4dC1zbS1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbHQtZm9udCB0ZXh0LW1lZGl1bSB0ZXh0LWdyYWRpZW50LXNreS1ibHVlLXBpbmsgdGV4dC11cHBlcmNhc2UgZm9udC13ZWlnaHQtNTAwIG1hcmdpbi0xNXB4LWJvdHRvbSBkLWlubGluZS1ibG9jayI+TW9kZXJuaXplZCBJbnZlc3RtZW50PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJhbHQtZm9udCBmb250LXdlaWdodC02MDAgdGV4dC1leHRyYS1kYXJrLWdyYXkgbWFyZ2luLTM1cHgtYm90dG9tIG1kLW1hcmdpbi0zMHB4LWJvdHRvbSI+VGhlIEludmVzdG1lbnQgTGFuZHNjYXBlIGlzIENoYW5naW5nPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ3LTg1IGxnLXctMTAwIj5EaWdpdGFsIGN1cnJlbmNpZXMgYXJlIGF0IHRoZSBjZW50ZXIgb2Ygc2V2ZXJhbCB0cmVuZHMgcmVzaGFwaW5nIHRoZSBpbnZlc3RtZW50IGxhbmRzY2FwZSwgcGFydGljdWxhcmx5IGRlbW9ncmFwaGljIHNoaWZ0cywgYW4gdXBkYXRlZCBtYXJrZXQgcGFyYWRpZ20sIGFuZCBldm9sdmluZyByZWd1bGF0aW9ucy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSIiIGNsYXNzPSJidG4gYnRuLWZhbmN5IGJ0bi1tZWRpdW0gYnRuLWRhcmstZ3JheSBtYXJnaW4tMjBweC10b3AiPkNPTVBBTlkgQ0VSVElGSUNBVEU8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGVuZCB0YWIgaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RhcnQgdGFiIGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJyZXNlYXJjaC10YWIiIGNsYXNzPSJ0YWItcGFuZSBmYWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1tZC02IHRleHQtcmlnaHQgc20tbWFyZ2luLTQwcHgtYm90dG9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvaG9tZS1idXNpbmVzcy10YWItaW1nMDIuanBnIiBhbHQ9IiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtbGctNSBvZmZzZXQtbGctMSBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWx0LWZvbnQgdGV4dC1tZWRpdW0gdGV4dC1ncmFkaWVudC1za3ktYmx1ZS1waW5rIHRleHQtdXBwZXJjYXNlIGZvbnQtd2VpZ2h0LTUwMCBtYXJnaW4tMTVweC1ib3R0b20gZC1pbmxpbmUtYmxvY2siPklubm92YXRpdmUgc29sdXRpb25zPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJhbHQtZm9udCBmb250LXdlaWdodC02MDAgdGV4dC1leHRyYS1kYXJrLWdyYXkgbWFyZ2luLTM1cHgtYm90dG9tIG1kLW1hcmdpbi0zMHB4LWJvdHRvbSI+QnVzaW5lc3MgcmVzZWFyY2g8L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InctODUgbGctdy0xMDAiPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0IGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgdXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0gbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1ob21lIiBjbGFzcz0iYnRuIGJ0bi1mYW5jeSBidG4tbWVkaXVtIGJ0bi1kYXJrLWdyYXkgbWFyZ2luLTIwcHgtdG9wIj5EaXNjb3ZlciBkaWdpdGFsdHJhZGVpbnZlc3Qub3JnPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBlbmQgdGFiIGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IHRhYiBpdGVtIC0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0idGFyZ2V0LXRhYiIgY2xhc3M9InRhYi1wYW5lIGZhZGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBhbGlnbi1pdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLW1kLTYgdGV4dC1yaWdodCBzbS1tYXJnaW4tNDBweC1ib3R0b20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9ob21lLWJ1c2luZXNzLXRhYi1pbWcwMy5qcGciIGFsdD0iIiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1sZy01IG9mZnNldC1sZy0xIGNvbC1tZC02Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbHQtZm9udCB0ZXh0LW1lZGl1bSB0ZXh0LWdyYWRpZW50LXNreS1ibHVlLXBpbmsgdGV4dC11cHBlcmNhc2UgZm9udC13ZWlnaHQtNTAwIG1hcmdpbi0xNXB4LWJvdHRvbSBkLWlubGluZS1ibG9jayI+TW9kZXJuaXplZCByZWRlc2lnbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0iYWx0LWZvbnQgZm9udC13ZWlnaHQtNjAwIHRleHQtZXh0cmEtZGFyay1ncmF5IG1hcmdpbi0zNXB4LWJvdHRvbSBtZC1tYXJnaW4tMzBweC1ib3R0b20iPkJ1c2luZXNzIHRhcmdldDwvaDU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idy04NSBsZy13LTEwMCI+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSB1dCBlbmltIGFkIG1pbmltIHZlbmlhbSBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWhvbWUiIGNsYXNzPSJidG4gYnRuLWZhbmN5IGJ0bi1tZWRpdW0gYnRuLWRhcmstZ3JheSBtYXJnaW4tMjBweC10b3AiPkRpc2NvdmVyIGRpZ2l0YWx0cmFkZWludmVzdC5vcmc8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGVuZCB0YWIgaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RhcnQgdGFiIGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjYW1wYWlnbi10YWIiIGNsYXNzPSJ0YWItcGFuZSBmYWRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgYWxpZ24taXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1tZC02IHRleHQtcmlnaHQgc20tbWFyZ2luLTQwcHgtYm90dG9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvaG9tZS1idXNpbmVzcy10YWItaW1nMDQuanBnIiBhbHQ9IiIgLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtbGctNSBvZmZzZXQtbGctMSBjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWx0LWZvbnQgdGV4dC1tZWRpdW0gdGV4dC1ncmFkaWVudC1za3ktYmx1ZS1waW5rIHRleHQtdXBwZXJjYXNlIGZvbnQtd2VpZ2h0LTUwMCBtYXJnaW4tMTVweC1ib3R0b20gZC1pbmxpbmUtYmxvY2siPklubm92YXRpdmUgc29sdXRpb25zPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJhbHQtZm9udCBmb250LXdlaWdodC02MDAgdGV4dC1leHRyYS1kYXJrLWdyYXkgbWFyZ2luLTM1cHgtYm90dG9tIG1kLW1hcmdpbi0zMHB4LWJvdHRvbSI+QnVzaW5lc3MgY2FtcGFpZ248L2g1PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InctODUgbGctdy0xMDAiPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0IGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgdXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0gbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSI/YT1ob21lIiBjbGFzcz0iYnRuIGJ0bi1mYW5jeSBidG4tbWVkaXVtIGJ0bi1kYXJrLWdyYXkgbWFyZ2luLTIwcHgtdG9wIj5EaXNjb3ZlciBkaWdpdGFsdHJhZGVpbnZlc3Qub3JnPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBlbmQgdGFiIGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8IS0tIGVuZCBzZWN0aW9uIC0tPgogICAgICAgIDwhLS0gc3RhcnQgc2VjdGlvbiAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0iYmctbGlnaHQtYmx1ZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlciB3b3cgYW5pbWF0ZV9fZmFkZUluIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLXhsLTYgY29sLWxnLTcgY29sLXNtLTggdGV4dC1jZW50ZXIgbWFyZ2luLTUtcmVtLWJvdHRvbSBtZC1tYXJnaW4tNS1yZW0tYm90dG9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImQtaW5saW5lLWJsb2NrIGFsdC1mb250IHRleHQtbWVkaXVtIHRleHQtZ3JhZGllbnQtc2t5LWJsdWUtcGluayB0ZXh0LXVwcGVyY2FzZSBmb250LXdlaWdodC01MDAgbWFyZ2luLTIwcHgtYm90dG9tIHNtLW1hcmdpbi0xNXB4LWJvdHRvbSI+b3VyIHByZW1pdW0gc2VydmljZXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz0iYWx0LWZvbnQgdGV4dC1leHRyYS1kYXJrLWdyYXkgZm9udC13ZWlnaHQtNjAwIGxldHRlci1zcGFjaW5nLW1pbnVzLTFweCI+V2h5IEludmVzdG9ycwpDaG9vc2UgVXM8L2g1PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgcm93LWNvbHMtMSByb3ctY29scy1sZy0yIGp1c3RpZnktY29udGVudC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gc3RhcnQgZmVhdHVyZSBib3ggaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wgY29sLW1kLTkgbWFyZ2luLTMwcHgtYm90dG9tIHhzLW1hcmdpbi0xNXB4LWJvdHRvbSB3b3cgYW5pbWF0ZV9fZmFkZUluIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ib3ggaC0xMDAgZmVhdHVyZS1ib3gtbGVmdC1pY29uIGJvcmRlci1yYWRpdXMtNXB4IGJnLXdoaXRlIGJveC1zaGFkb3ctc21hbGwgYm94LXNoYWRvdy1leHRyYS1sYXJnZS1ob3ZlciBvdmVyZmxvdy1oaWRkZW4gcGFkZGluZy00LXJlbS1hbGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ib3gtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImxpbmUtaWNvbi1OYXZpZ2F0aW9uLUxlZnRXaW5kb3cgaWNvbi1tZWRpdW0gdGV4dC1ncmFkaWVudC1za3ktYmx1ZS1waW5rIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94LWNvbnRlbnQgbGFzdC1wYXJhZ3JhcGgtbm8tbWFyZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWx0LWZvbnQgZm9udC13ZWlnaHQtNTAwIG1hcmdpbi0xMHB4LWJvdHRvbSBkLWJsb2NrIHRleHQtZXh0cmEtZGFyay1ncmF5Ij5JTlNUQU5UIEFDQ09VTlQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+U2V0IHVwIHlvdXIgYWNjb3VudCB3aXRoaW4gc2Vjb25kcyB3aXRoIGRpZ2l0YWx0cmFkZWludmVzdC5vcmcsIGludmVzdCBpbiBhIHBsYW4gYW5kIGdldCBkYWlseSByZXR1cm5zIHVzaW5nIG91ciBDcnlwdG8gaW52ZXN0bWVudCBzZXJ2aWNlLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8IS0tIGVuZCBmZWF0dXJlIGJveCBpdGVtIC0tPgogICAgICAgICAgICAgICAgICAgIDwhLS0gc3RhcnQgZmVhdHVyZSBib3ggaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wgY29sLW1kLTkgbWFyZ2luLTMwcHgtYm90dG9tIHhzLW1hcmdpbi0xNXB4LWJvdHRvbSB3b3cgYW5pbWF0ZV9fZmFkZUluIiBkYXRhLXdvdy1kZWxheT0iMC4ycyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94IGgtMTAwIGZlYXR1cmUtYm94LWxlZnQtaWNvbiBib3JkZXItcmFkaXVzLTVweCBiZy13aGl0ZSBib3gtc2hhZG93LXNtYWxsIGJveC1zaGFkb3ctZXh0cmEtbGFyZ2UtaG92ZXIgb3ZlcmZsb3ctaGlkZGVuIHBhZGRpbmctNC1yZW0tYWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94LWljb24iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPSJsaW5lLWljb24tQ3Vyc29yLUNsaWNrMiBpY29uLW1lZGl1bSB0ZXh0LWdyYWRpZW50LXNreS1ibHVlLXBpbmsiPjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ib3gtY29udGVudCBsYXN0LXBhcmFncmFwaC1uby1tYXJnaW4iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbHQtZm9udCBmb250LXdlaWdodC01MDAgbWFyZ2luLTEwcHgtYm90dG9tIGQtYmxvY2sgdGV4dC1leHRyYS1kYXJrLWdyYXkiPgpJTlNUQU5UIFdJVEhEUkFXQUw8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2l0aGRyYXdhbHMgZnJvbSBkaWdpdGFsdHJhZGVpbnZlc3Qub3JnIHdhbGxldCBhcmUgc2VudCB0byB5b3VyIGV4dGVybmFsIHdhbGxldCBpbnN0YW50bHkgZnJvbSB0aGUgdGltZSBvZiB5b3VyIHdpdGhkcmF3YWwuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwhLS0gZW5kIGZlYXR1cmUgYm94IGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBzdGFydCBmZWF0dXJlIGJveCBpdGVtIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbCBjb2wtbWQtOSBtZC1tYXJnaW4tMzBweC1ib3R0b20geHMtbWFyZ2luLTE1cHgtYm90dG9tIHdvdyBhbmltYXRlX19mYWRlSW4iIGRhdGEtd293LWRlbGF5PSIwLjRzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ib3ggaC0xMDAgZmVhdHVyZS1ib3gtbGVmdC1pY29uIGJvcmRlci1yYWRpdXMtNXB4IGJnLXdoaXRlIGJveC1zaGFkb3ctc21hbGwgYm94LXNoYWRvdy1leHRyYS1sYXJnZS1ob3ZlciBvdmVyZmxvdy1oaWRkZW4gcGFkZGluZy00LXJlbS1hbGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ib3gtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImxpbmUtaWNvbi1BcmNoZXJ5LTIgaWNvbi1tZWRpdW0gdGV4dC1ncmFkaWVudC1za3ktYmx1ZS1waW5rIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94LWNvbnRlbnQgbGFzdC1wYXJhZ3JhcGgtbm8tbWFyZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWx0LWZvbnQgZm9udC13ZWlnaHQtNTAwIG1hcmdpbi0xMHB4LWJvdHRvbSBkLWJsb2NrIHRleHQtZXh0cmEtZGFyay1ncmF5Ij5ERVRBSUxFRCBTVEFUSVNUSUNTPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkdldCBkZXRhaWxlZCBzdGF0aXN0aWNzIG9mIHlvdXIgcGxhbnMgcHVyY2hhc2VkIHdpdGggZGlnaXRhbHRyYWRlaW52ZXN0Lm9yZyBhbmQgdGhlIGRhaWx5IHJldHVybnMgeW91IGFyZSBnZXR0aW5nIGZyb20gdGhlbS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBlbmQgZmVhdHVyZSBib3ggaXRlbSAtLT4KICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IGZlYXR1cmUgYm94IGl0ZW0gLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sIGNvbC1tZC05IHdvdyBhbmltYXRlX19mYWRlSW4iIGRhdGEtd293LWRlbGF5PSIwLjZzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ib3ggaC0xMDAgZmVhdHVyZS1ib3gtbGVmdC1pY29uIGJvcmRlci1yYWRpdXMtNXB4IGJnLXdoaXRlIGJveC1zaGFkb3ctc21hbGwgYm94LXNoYWRvdy1leHRyYS1sYXJnZS1ob3ZlciBvdmVyZmxvdy1oaWRkZW4gcGFkZGluZy00LXJlbS1hbGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ib3gtaWNvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9ImxpbmUtaWNvbi1GZW1hbGUgaWNvbi1tZWRpdW0gdGV4dC1ncmFkaWVudC1za3ktYmx1ZS1waW5rIj48L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYm94LWNvbnRlbnQgbGFzdC1wYXJhZ3JhcGgtbm8tbWFyZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWx0LWZvbnQgZm9udC13ZWlnaHQtNTAwIG1hcmdpbi0xMHB4LWJvdHRvbSBkLWJsb2NrIHRleHQtZXh0cmEtZGFyay1ncmF5Ij5GQVNUIENVU1RPTUVSIFNVUFBPUlQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIGN1c3RvbWVyIGlzIGFsd2F5cyByaWdodC4gSXQgaXMgdGhlIGJhc2lzIG9mIGFsbCB3aGljaCBvdXIgYnVzaW5lc3MgaXMgYmFzZWQgb24uIFlvdSB3aWxsIGZlZWwgY29tZm9ydCwgaGF2aW5nIGNvb3BlcmF0ZWQgd2l0aCB1cy48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPCEtLSBlbmQgZmVhdHVyZSBib3ggaXRlbSAtLT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgICAgPCEtLSBlbmQgc2VjdGlvbiAtLT4KICAgICAgICA8IS0tIHN0YXJ0IHNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9ImJpZy1zZWN0aW9uIGNvdmVyLWJhY2tncm91bmQiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybCgnaW1hZ2VzL2hvbWUtYnVzaW5lc3MtcGFyYWxsYXgtYmcuanBnJyk7Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3BhY2l0eS1leHRyYS1tZWRpdW0tMiBiZy1kYXJrLXNsYXRlLWJsdWUiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGp1c3RpZnktY29udGVudC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wteGwtNyBjb2wtbGctOCBjb2wtbWQtMTAgdGV4dC1jZW50ZXIgb3ZlcmxhcC1nYXAtc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJhbHQtZm9udCB0ZXh0LXdoaXRlIGZvbnQtd2VpZ2h0LTYwMCBtYXJnaW4tNDVweC1ib3R0b20gbWQtbWFyZ2luLTM1cHgtYm90dG9tIHhzLW1hcmdpbi0yNXB4LWJvdHRvbSB3b3cgYW5pbWF0ZV9fZmFkZUluIj5QYXJ0bmVyc2hpcCBQcm9ncmFtPC9oND4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQtd2hpdGUgYWx0LWZvbnQgdGV4dC11cHBlcmNhc2UgbGV0dGVyLXNwYWNpbmctMXB4IHdvdyBhbmltYXRlX19mYWRlSW4iPkVBUk4gMTAlIEFGRklMSUFURSBDT01NSVNTSU9OPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8IS0tIHN0YXJ0IHNlY3Rpb24gLS0+CiAgICAgICAgPGRpdiBjbGFzcz0iYXJlYS1oZWFkaW5nIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFyZWEtaGVhZGluZyB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OjQzM3B4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyBvdmVyZmxvdzpoaWRkZW47IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJvcmRlcjogMXB4IHNvbGlkICM1NjY2N0Y7IGJvcmRlci1yYWRpdXM6IDRweDsgdGV4dC1hbGlnbjogcmlnaHQ7IGxpbmUtaGVpZ2h0OjE0cHg7IGZvbnQtc2l6ZTogMTJweDsgYm94LXNpemluZzpjb250ZW50LWJveDsgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBub3JtYWw7IHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IGJveC1zaGFkb3c6IGluc2V0IDAgLTIwcHggMCAwICM1NjY2N0Y7IHBhZGRpbmc6IDBweDsgbWFyZ2luOiAwcHg7IHdpZHRoOiA5OSU7Ij48ZGl2IHN0eWxlPSJoZWlnaHQ6NDEzcHg7Ij48aWZyYW1lIHNyYz0iaHR0cHM6Ly93aWRnZXQuY29pbmxpYi5pby93aWRnZXQ/dHlwZT1mdWxsX3YyJnRoZW1lPWxpZ2h0JmNudD02JnByZWZfY29pbl9pZD0xNTA1JmdyYXBoPXllcyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iNDA5IiBzY3JvbGxpbmc9ImF1dG8iIG1hcmdpbndpZHRoPSIwIiBtYXJnaW5oZWlnaHQ9IjAiIGZyYW1lYm9yZGVyPSIwIiBib3JkZXI9IjAiIHN0eWxlPSJib3JkZXI6MDttYXJnaW46MDtwYWRkaW5nOjA7Ij48L2lmcmFtZT48L2Rpdj48ZGl2IHN0eWxlPSJjb2xvcjogI0ZGRkZGRjsgbGluZS1oZWlnaHQ6IDE0cHg7IGZvbnQtd2VpZ2h0OiA0MDA7IGZvbnQtc2l6ZTogMTFweDsgYm94LXNpemluZzpjb250ZW50LWJveDsgbWFyZ2luOiAzcHggNnB4IDEwcHggMHB4OyBmb250LWZhbWlseTogVmVyZGFuYSwgVGFob21hLCBBcmlhbCwgc2Fucy1zZXJpZjsiPiZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vY29pbmxpYi5pby8iIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0iZm9udC13ZWlnaHQ6IDUwMDsgY29sb3I6ICNGRkZGRkY7IHRleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtc2l6ZToxMXB4Ij48L2E+PC9kaXY+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgkJPC9kaXY+Cgk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8IS0tIGVuZCB0ZXN0aW1vbmlhbCBpdGVtIC0tPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KICAgICAgICA8IS0tIGVuZCBzZWN0aW9uIC0tPgogICAgICAgCiAgICAgIAogCiAgIDxmb290ZXIgY2xhc3M9ImZvb3Rlci1kYXJrIGJnLXNsYXRlLWJsdWUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItdG9wIHBhZGRpbmctc2V2ZW4tdGIgbGctcGFkZGluZy1laWdodC10YiBzbS1wYWRkaW5nLTUwcHgtdGIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cganVzdGlmeS1jb250ZW50LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3RhcnQgZm9vdGVyIGNvbHVtbiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLTEyIGNvbC1sZy0zIGNvbC1zbS02IG9yZGVyLTUgb3JkZXItbGctMCB0ZXh0LW1kLWNlbnRlciB0ZXh0LWxnLWxlZnQgbGFzdC1wYXJhZ3JhcGgtbm8tbWFyZ2luIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWhvbWUiIGNsYXNzPSJmb290ZXItbG9nbyBtYXJnaW4tMjVweC1ib3R0b20gbWFyZ2luLTVweC10b3AgZC1pbmxpbmUtYmxvY2siPjxpbWcgc3JjPSJLT0RBU0NPSU5QUk9GSVRTTG9nby5wbmciIGRhdGEtYXQyeD0iS09EQVNDT0lOUFJPRklUU0xvZ28ucG5nIiBhbHQ9IiI+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Ck1BSU4gQUREUkVTUzo8YnI+NSBSYWluZSBBdmVudWUsIE5vcnRoIFJvY2tzLCBOc3csIEF1c3RyYWxpYSwgTlNXMjE1MTwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPiZjb3B5OyBDb3B5cmlnaHQgMjAyMyA8YSBocmVmPSI/YT1ob21lIiBjbGFzcz0idGV4dC1kZWNvcmF0aW9uLWxpbmUtYm90dG9tIHRleHQtd2hpdGUiPmRpZ2l0YWx0cmFkZWludmVzdC5vcmc8L2E+PC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBlbmQgZm9vdGVyIGNvbHVtbiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBzdGFydCBmb290ZXIgY29sdW1uIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgY29sLWxnIG9mZnNldC14bC0xIGNvbC1tZC00IGNvbC1zbS02IG9yZGVyLTEgb3JkZXItbGctMCBtZC1tYXJnaW4tNDBweC1ib3R0b20geHMtbWFyZ2luLTI1cHgtYm90dG9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbHQtZm9udCBmb250LXdlaWdodC01MDAgZC1ibG9jayB0ZXh0LXdoaXRlIG1hcmdpbi0yMHB4LWJvdHRvbSB4cy1tYXJnaW4tMTBweC1ib3R0b20iPkNvbXBhbnk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWhvbWUiPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9YWJvdXQiPkFib3V0IFVzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1mYXEiPkZhcSdzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIGVuZCBmb290ZXIgY29sdW1uIC0tPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHN0YXJ0IGZvb3RlciBjb2x1bW4gLS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC0xMiBjb2wtbGcgY29sLW1kLTQgY29sLXNtLTUgb3JkZXItMiBvcmRlci1sZy0wIG1kLW1hcmdpbi00MHB4LWJvdHRvbSB4cy1tYXJnaW4tMjVweC1ib3R0b20iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFsdC1mb250IGZvbnQtd2VpZ2h0LTUwMCBkLWJsb2NrIHRleHQtd2hpdGUgbWFyZ2luLTIwcHgtYm90dG9tIHhzLW1hcmdpbi0xMHB4LWJvdHRvbSI+U3VwcG9ydDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD4gICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWxvZ2luIj5Mb2dpbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1zaWdudXAiPlNpZ251cDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1zdXBwb3J0Ij5Db250YWN0IFVzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9mb290ZXI+CgogICAgICAgIDxhIGNsYXNzPSJzY3JvbGwtdG9wLWFycm93IiBocmVmPSIjIj48aSBjbGFzcz0iZmVhdGhlciBpY29uLWZlYXRoZXItYXJyb3ctdXAiPjwvaT48L2E+CgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL2pxdWVyeS5taW4uanMiPjwvc2NyaXB0PgogICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9ImpzL3RoZW1lLXZlbmRvcnMubWluLmpzIj48L3NjcmlwdD4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9tYWluLmpzIj48L3NjcmlwdD4KIAoKPCEtLSBTbWFydHN1cHAgTGl2ZSBDaGF0IHNjcmlwdCAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgX3NtYXJ0c3VwcCA9IF9zbWFydHN1cHAgfHwge307Cl9zbWFydHN1cHAua2V5ID0gJzdhNzQ1MGIwYjUyNzg0OWFjNGQ1NGZjM2MxMjY4MDY0MGQ0MjU5NGQnOwp3aW5kb3cuc21hcnRzdXBwfHwoZnVuY3Rpb24oZCkgewogIHZhciBzLGMsbz1zbWFydHN1cHA9ZnVuY3Rpb24oKXsgby5fLnB1c2goYXJndW1lbnRzKX07by5fPVtdOwogIHM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07Yz1kLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogIGMudHlwZT0ndGV4dC9qYXZhc2NyaXB0JztjLmNoYXJzZXQ9J3V0Zi04JztjLmFzeW5jPXRydWU7CiAgYy5zcmM9J2h0dHBzOi8vd3d3LnNtYXJ0c3VwcGNoYXQuY29tL2xvYWRlci5qcz8nO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxzKTsKfSkoZG9jdW1lbnQpOwo8L3NjcmlwdD4KPG5vc2NyaXB0PiBQb3dlcmVkIGJ5IDxhIGhyZWY94oCcaHR0cHM6Ly93d3cuc21hcnRzdXBwLmNvbeKAnSB0YXJnZXQ94oCcX2JsYW5r4oCdPlNtYXJ0c3VwcDwvYT48L25vc2NyaXB0PgoKCiAgICA8L2JvZHk+CjwvaHRtbD4K"}},"time_used":3892,"timings":{"blocked":-1,"dns":4,"connect":29,"send":0,"wait":178,"receive":0,"ssl":3680},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.526Z","timestamp":1785129949526,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2 HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 3810531\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"83afe278b6a6bb3c-s.p.3a6ba036.woff2\"\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: font/woff2\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: \"65850a373e258f1c897a2b3d75eb74de\"\r\nlast-modified: Sat, 13 Jun 2026 02:56:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::6llhh-1781319417508-42ed70ceb10a\r\nx-xss-protection: 1; mode=block\r\nserver-timing: cfExtPri\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=9xcpVqNeT%2BSQLhL3JyZTLNU%2BPgGzzM2iugOvbeE3VK8pTqqsu5c61lU7pNcrKsUp7ic1qsi7kY3HtzNSLJJAV7gbPQqlUDDqk2Ujilf1D%2BdelNrgFc0WufCtv72d\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21939c88d2ca0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 48432\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":48432,"size_decoded":50503,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48432, version 1.0","md5":"65850a373e258f1c897a2b3d75eb74de","sha1":"1dc044f4824fd5af6bfed67fee48be70fa069f3f","sha256":"c940764593d0fe5d596be327ca7558855e018039fb78509aa21921fd3644c3e4","sha512":"df2683f3dd9724de589451a47bc608c9925d54b874ad97b733dd465ef41f9db75e9e31604762415c2fc1433d050e45fdefc6ecd7ecadf58d1243d9ca5f4bf74b","ssdeep":"768:3IkDHBYoX5Pi4JxTGz9CDR0s1ROSsA8mF77YNt7wFhVq9oN2WfpdqWjBA:tNYoX53xTl/R8W77YNtUFrWoUWvdA","tlshash":"56230251f5f8624a7fc3003fbc317bd862909fe5996ee5d91288f30225611dd29ee017","first_seen":"2025-05-30T12:57:00.85385Z","last_seen":"2026-08-15T16:42:54.593646Z","times_seen":91165,"resource_available":false,"data":"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"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/800e836146d6e7eb.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.546Z","timestamp":1785129949546,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/800e836146d6e7eb.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 4108305\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"800e836146d6e7eb.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"7b2a7348e5acf7f61cd01b2152c769a6\"\r\nlast-modified: Tue, 09 Jun 2026 16:12:41 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/800e836146d6e7eb.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::dmlt9-1781021643910-30bb6f3b3b82\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=MqMQ1qI2cYDDpQ2n1GDF9RRwjOs9X%2BmPDImzCxp5zW1C6yADp4cYb7H%2B2rUKVNHXbK6jUOu6Ji6loegyOH4sTH3XqWFR9jQLhYrwiYWDoXDkrNoiLDhC57YyA1f8\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c8ad36a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":19477,"size_decoded":7480,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (16974)","md5":"7b2a7348e5acf7f61cd01b2152c769a6","sha1":"1cc03a4809684838384744113d8a0e0093a62a3a","sha256":"c5bd83f87b5a8d38fee5230c1078de1f65ac83476cd29e8f5a41d63ea9bd22c5","sha512":"56b9d74b6b4d8a6f1e9909cb88c18e6c784c6bbab10d877a936f334ec5056d8720d20c2443e241c3064f536853f3ffa4578c1c8b3ab391ce8d671256a83a0ef3","ssdeep":"192:c0/B5NGI4y5Zzlqrvd2bcQFCx4zN2M15hNeSd4e+MQCC8h/PzM+kyhtTliuR3dQ5:cOq8bcj+Jz57b4e+MQCL2+k+Nll3dwA4","tlshash":"b492b81056143788f5b78289915fc40c302f2a4caf0e85b5bbbcac666b544e73a6ffd6","first_seen":"2026-06-09T20:30:37.829522Z","last_seen":"2026-08-06T12:32:43.342266Z","times_seen":1772,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDI0NjAxLChlLHQsaSk9Pnt0LmV4cG9ydHM9ZS5yKDI4OTk1KX0sNzkyOTQsZT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdD1lLmkoOTgxMzQpLGk9ZS5pKDI0NjAxKSxuPWUuaSg3NTIwMSkscz1lLmkoNzUxNTcpO2Z1bmN0aW9uIG8oe3RoZW1lOmUsY250OmksZ3JhcGg6byxwcmVmQ29pbklkOmx9KXtsZXRbYyxkXT0oMCxuLnVzZVN0YXRlKShbXSksW2gsZl09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbbSxwXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9wOlN0cmluZyhpKX0pO2wmJmUuc2V0KCJwcmVmX2NvaW5faWQiLGwpLGZldGNoKGAvYXBpL3YxL3dpZGdldD8ke2V9YCkudGhlbihlPT5lLmpzb24oKSkudGhlbihlPT57ZS5kYXRhJiZkKGUuZGF0YSksZS5jdXJyZW5jeSYmZihlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT57fSkuZmluYWxseSgoKT0+cCghMSkpfSxbaSxsXSk7bGV0IGc9ImRhcmsiPT09ZSx4PWc/IiMxQjIwMzAiOiIjZmZmZmZmIix5PWc/IiNlNWU3ZWIiOiIjMWYyOTM3Iix1PWc/IiM5Y2EzYWYiOiIjNmI3MjgwIixiPWc/IiMzNzQxNTEiOiIjZTVlN2ViIixqPWc/IiMxZjI5MzciOiIjZjNmNGY2IixTPSIjMjJjNTVlIix2PSIjZWY0NDQ0IjtyZXR1cm4gbT8oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxwYWRkaW5nOjIwLGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTN9LGNoaWxkcmVuOiJMb2FkaW5nLi4uIn0pOigwLHQuanN4cykoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxmb250RmFtaWx5OiJzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYiLGZvbnRTaXplOjEzLG92ZXJmbG93OiJhdXRvIixoZWlnaHQ6IjEwMCUifSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzdHlsZSIse2NoaWxkcmVuOmAKICAgICAgICAuZnZ3LWhpZGUtc20geyB9CiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7CiAgICAgICAgICAuZnZ3LWhpZGUtc20geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0KICAgICAgICAgIC5mdnctcmFuayB7IHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7IG1hcmdpbi1yaWdodDogNHB4ICFpbXBvcnRhbnQ7IH0KICAgICAgICAgIC5mdnctcHJpY2UgeyB3aWR0aDogODBweCAhaW1wb3J0YW50OyB9CiAgICAgICAgICAuZnZ3LXJvdyB7IHBhZGRpbmc6IDZweCA4cHggIWltcG9ydGFudDsgfQogICAgICAgIH0KICAgICAgYH0pLCgwLHQuanN4cykoImRpdiIse2NsYXNzTmFtZToiZnZ3LXJvdyIsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiOHB4IDEycHgiLGJhY2tncm91bmQ6Zz8iIzExMTgyNyI6IiNmOWZhZmIiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7Yn1gLGZvbnRXZWlnaHQ6NjAwfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcmFuayIsc3R5bGU6e3dpZHRoOjMwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpblJpZ2h0OjgsY29sb3I6dSxmb250U2l6ZToxMX0sY2hpbGRyZW46IiMifSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZsZXg6MX0sY2hpbGRyZW46Ik5hbWUifSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcHJpY2UiLHN0eWxlOnt3aWR0aDoxMDAsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOiJQcmljZSJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImZ2dy1oaWRlLXNtIixzdHlsZTp7d2lkdGg6MTAwLHRleHRBbGlnbjoicmlnaHQifSxjaGlsZHJlbjoiTWFya2V0IENhcCJ9KSwoMCx0LmpzeCkoInNwYW4iLHtjbGFzc05hbWU6ImZ2dy1oaWRlLXNtIixzdHlsZTp7d2lkdGg6OTAsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOiJWb2x1bWUgMjRoIn0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOnt3aWR0aDo3MCx0ZXh0QWxpZ246InJpZ2h0In0sY2hpbGRyZW46IjI0aCAlIn0pLG8mJigwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZnZ3LWhpZGUtc20iLHN0eWxlOnt3aWR0aDo4MCx0ZXh0QWxpZ246InJpZ2h0IixwYWRkaW5nTGVmdDoxMn0sY2hpbGRyZW46IjdkIn0pXX0pLGMubWFwKGU9Pnt2YXIgaSxuO2xldCBsPWUucGVyY2VudF9jaGFuZ2VfMjRoPj0wO3JldHVybigwLHQuanN4cykoImEiLHtocmVmOmBodHRwczovL2NvaW5saWIuaW8keygwLHMuY29pblVybCkoZS5zeW1ib2wsZS5uYW1lKX1gLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLGNsYXNzTmFtZToiZnZ3LXJvdyIsc3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiNnB4IDEycHgiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7Yn1gLHRleHREZWNvcmF0aW9uOiJub25lIixjb2xvcjp5LHRyYW5zaXRpb246ImJhY2tncm91bmQgMC4xNXMifSxvbk1vdXNlRW50ZXI6ZT0+ZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9aixvbk1vdXNlTGVhdmU6ZT0+ZS5jdXJyZW50VGFyZ2V0LnN0eWxlLmJhY2tncm91bmQ9InRyYW5zcGFyZW50IixjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctcmFuayIsc3R5bGU6e3dpZHRoOjMwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpblJpZ2h0OjgsY29sb3I6dSxmb250U2l6ZToxMX0sY2hpbGRyZW46ZS5yYW5rfSksKDAsdC5qc3gpKCJpbWciLHtzcmM6ZS5pbWFnZSxhbHQ6ZS5uYW1lLHdpZHRoOjE4LGhlaWdodDoxOCxzdHlsZTp7Ym9yZGVyUmFkaXVzOiI1MCUiLG1hcmdpblJpZ2h0OjZ9fSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZvbnRXZWlnaHQ6NTAwLG1hcmdpblJpZ2h0OjR9LGNoaWxkcmVuOmUubmFtZX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp1LGZvbnRTaXplOjExfSxjaGlsZHJlbjplLnN5bWJvbH0pLCgwLHQuanN4KSgic3BhbiIse2NsYXNzTmFtZToiZnZ3LXByaWNlIixzdHlsZTp7d2lkdGg6MTAwLHRleHRBbGlnbjoicmlnaHQiLG1hcmdpbkxlZnQ6ImF1dG8iLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOihpPWUucHJpY2VfdXNkKmgucmF0ZSxuPWguc3ltYm9sLGk+PTE/bitpLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6bitpLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjEwMCx0ZXh0QWxpZ246InJpZ2h0Iixmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRTaXplOjExfSxjaGlsZHJlbjphKGUubWFya2V0X2NhcCpoLnJhdGUsaC5zeW1ib2wpfSksKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjkwLHRleHRBbGlnbjoicmlnaHQiLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFNpemU6MTF9LGNoaWxkcmVuOmEoZS52b2x1bWVfMjRoKmgucmF0ZSxoLnN5bWJvbCl9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e3dpZHRoOjcwLHRleHRBbGlnbjoicmlnaHQiLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFdlaWdodDo1MDAsY29sb3I6bD9TOnZ9LGNoaWxkcmVuOltsPyIrIjoiIixlLnBlcmNlbnRfY2hhbmdlXzI0aD8udG9GaXhlZCgyKSwiJSJdfSksbyYmKDAsdC5qc3gpKCJzcGFuIix7Y2xhc3NOYW1lOiJmdnctaGlkZS1zbSIsc3R5bGU6e3dpZHRoOjgwLHRleHRBbGlnbjoicmlnaHQiLHBhZGRpbmdMZWZ0OjEyfSxjaGlsZHJlbjooMCx0LmpzeCkocix7Y29pbjplLGNvbG9yOmw/Uzp2fSl9KV19LGUuaWQpfSksKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7cGFkZGluZzoiNHB4IDEycHgiLGZvbnRTaXplOjEwLGNvbG9yOnUsdGV4dEFsaWduOiJyaWdodCJ9LGNoaWxkcmVuOigwLHQuanN4KSgiYSIse2hyZWY6Imh0dHBzOi8vY29pbmxpYi5pbyIsdGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsc3R5bGU6e2NvbG9yOnUsdGV4dERlY29yYXRpb246Im5vbmUifSxjaGlsZHJlbjoiUG93ZXJlZCBieSBDb2lubGliIn0pfSldfSl9ZnVuY3Rpb24gcih7Y29pbjplLGNvbG9yOml9KXtsZXQgbixzPWUuc3BhcmtsaW5lXzdkJiZlLnNwYXJrbGluZV83ZC5sZW5ndGg+PTI/ZS5zcGFya2xpbmVfN2Q6bnVsbDtpZihzKW49cztlbHNle2xldCB0PWUucHJpY2VfdXNkLGk9dC8oMStlLnBlcmNlbnRfY2hhbmdlXzI0aC8xMDApO249W107Zm9yKGxldCBlPTA7ZTw9NjtlKyspe2xldCBzPWUvNjtuLnB1c2goaSsodC1pKSpzKy4wMSp0Kk1hdGguc2luKHMqTWF0aC5QSSoyKSl9fWxldCBvPU1hdGgubWluKC4uLm4pLHI9TWF0aC5tYXgoLi4ubiktb3x8MSxhPTcwLyhuLmxlbmd0aC0xKSxsPW4ubWFwKChlLHQpPT5gJHsodCphKS50b0ZpeGVkKDIpfSwkeygyNi0oZS1vKS9yKjI0KS50b0ZpeGVkKDIpfWApLGM9YE0gJHtsLmpvaW4oIiBMICIpfWAsZD1gJHtjfSBMIDcwLjAwLDI4IEwgMCwyOCBaYCxoPWBzcGFyay1ncmFkLSR7ZS5pZH1gO3JldHVybigwLHQuanN4cykoInN2ZyIse3dpZHRoOjcwLGhlaWdodDoyOCx2aWV3Qm94OiIwIDAgNzAgMjgiLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUiLGNoaWxkcmVuOlsoMCx0LmpzeCkoImRlZnMiLHtjaGlsZHJlbjooMCx0LmpzeHMpKCJsaW5lYXJHcmFkaWVudCIse2lkOmgseDE6IjAiLHkxOiIwIix4MjoiMCIseTI6IjEiLGNoaWxkcmVuOlsoMCx0LmpzeCkoInN0b3AiLHtvZmZzZXQ6IjAlIixzdG9wQ29sb3I6aSxzdG9wT3BhY2l0eToiMC4yNSJ9KSwoMCx0LmpzeCkoInN0b3AiLHtvZmZzZXQ6IjEwMCUiLHN0b3BDb2xvcjppLHN0b3BPcGFjaXR5OiIwIn0pXX0pfSksKDAsdC5qc3gpKCJwYXRoIix7ZDpkLGZpbGw6YHVybCgjJHtofSlgLHN0cm9rZToibm9uZSJ9KSwoMCx0LmpzeCkoInBhdGgiLHtkOmMsZmlsbDoibm9uZSIsc3Ryb2tlOmksc3Ryb2tlV2lkdGg6MSxzdHJva2VMaW5lam9pbjoicm91bmQiLHN0cm9rZUxpbmVjYXA6InJvdW5kIn0pXX0pfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4gZT49MWUxMj90KyhlLzFlMTIpLnRvRml4ZWQoMikrIlQiOmU+PTFlOT90KyhlLzFlOSkudG9GaXhlZCgyKSsiQiI6ZT49MWU2P3QrKGUvMWU2KS50b0ZpeGVkKDIpKyJNIjplPj0xZTM/dCsoZS8xZTMpLnRvRml4ZWQoMikrIksiOnQrZS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGwoe3RoZW1lOmUsY29pbklkOmkscHJlZkNvaW5JZDpzfSl7bGV0W28scl09KDAsbi51c2VTdGF0ZSkobnVsbCksW2EsbF09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbZCxoXT0oMCxuLnVzZVN0YXRlKShbXSksW2YsbV09KDAsbi51c2VTdGF0ZSkoNyksW3AsZ109KDAsbi51c2VTdGF0ZSkoITApLHg9KDAsbi51c2VSZWYpKG51bGwpLFt5LHVdPSgwLG4udXNlU3RhdGUpKG51bGwpOygwLG4udXNlRWZmZWN0KSgoKT0+e2xldCBlPW5ldyBVUkxTZWFyY2hQYXJhbXM7aT9lLnNldCgibGVnYWN5X2lkIixpKTplLnNldCgic3ltYm9sIiwiQlRDIikscyYmZS5zZXQoInByZWZfY29pbl9pZCIscyksZmV0Y2goYC9hcGkvdjEvd2lkZ2V0PyR7ZX1gKS50aGVuKGU9PmUuanNvbigpKS50aGVuKGU9PntlLmRhdGE/KHUoZS5kYXRhLnNsdWc/PyJiaXRjb2luIikscihlLmRhdGEpKTp1KCJiaXRjb2luIiksZS5jdXJyZW5jeSYmbChlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT51KCJiaXRjb2luIikpfSxbaSxzXSksKDAsbi51c2VFZmZlY3QpKCgpPT57eSYmKGcoITApLChhc3luYygpPT57bGV0IGU9YXdhaXQgZmV0Y2goYC9hcGkvdjEvY29pbnMvJHt5fS9jaGFydD9kYXlzPSR7Zn1gKS50aGVuKGU9PmUuanNvbigpKS5jYXRjaCgoKT0+bnVsbCk7ZT8uZGF0YT8ucHJpY2VzJiZoKGUuZGF0YS5wcmljZXMpLGcoITEpfSkoKSl9LFt5LGZdKSwoMCxuLnVzZUVmZmVjdCkoKCk9PntpZigheC5jdXJyZW50fHxkLmxlbmd0aDwyKXJldHVybjtsZXQgdD14LmN1cnJlbnQsaT10LmdldENvbnRleHQoIjJkIik7aWYoIWkpcmV0dXJuO2xldCBuPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLHM9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0LndpZHRoPXMud2lkdGgqbix0LmhlaWdodD1zLmhlaWdodCpuLGkuc2NhbGUobixuKTtsZXQgbz1zLndpZHRoLHI9cy5oZWlnaHQsbD0iZGFyayI9PT1lO2kuZmlsbFN0eWxlPWw/IiMxQjIwMzAiOiIjZmZmZmZmIixpLmZpbGxSZWN0KDAsMCxvLHIpO2xldCBoPW8tNjAtMTAsbT1yLTEwLTMwLHA9YS5yYXRlLGc9ZC5tYXAoZT0+ZVsxXSpwKSx5PU1hdGgubWluKC4uLmcpLHU9TWF0aC5tYXgoLi4uZyksYj11LXl8fDE7aS5zdHJva2VTdHlsZT1sPyIjMzc0MTUxIjoiI2U1ZTdlYiIsaS5saW5lV2lkdGg9LjU7Zm9yKGxldCBlPTA7ZTw9NDtlKyspe2xldCB0PTEwK20vNCplO2kuYmVnaW5QYXRoKCksaS5tb3ZlVG8oNjAsdCksaS5saW5lVG8oby0xMCx0KSxpLnN0cm9rZSgpO2xldCBuPXUtYi80KmU7aS5maWxsU3R5bGU9bD8iIzljYTNhZiI6IiM2YjcyODAiLGkuZm9udD0iMTBweCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYiLGkudGV4dEFsaWduPSJyaWdodCIsaS5maWxsVGV4dChjKG4sYS5zeW1ib2wpLDU1LHQrMyl9bGV0IGo9ZFswXVswXSxTPWRbZC5sZW5ndGgtMV1bMF07aS5maWxsU3R5bGU9bD8iIzljYTNhZiI6IiM2YjcyODAiLGkudGV4dEFsaWduPSJjZW50ZXIiO2ZvcihsZXQgZT0wO2U8PTQ7ZSsrKXtsZXQgdD1qKyhTLWopLzQqZSxuPTYwK2gvNCplLHM9bmV3IERhdGUodCk7aS5maWxsVGV4dChmPD0xP3MudG9Mb2NhbGVUaW1lU3RyaW5nKCJlbiIse2hvdXI6IjItZGlnaXQiLG1pbnV0ZToiMi1kaWdpdCJ9KTpzLnRvTG9jYWxlRGF0ZVN0cmluZygiZW4iLHttb250aDoic2hvcnQiLGRheToibnVtZXJpYyJ9KSxuLHItOCl9bGV0IHY9Z1tnLmxlbmd0aC0xXT49Z1swXTtpLnN0cm9rZVN0eWxlPXY/IiMyMmM1NWUiOiIjZWY0NDQ0IixpLmxpbmVXaWR0aD0yLGkuYmVnaW5QYXRoKCksZC5mb3JFYWNoKChbZV0sdCk9PntsZXQgbj02MCsoZS1qKS8oUy1qKSpoLHM9MTArKDEtKGdbdF0teSkvYikqbTswPT09dD9pLm1vdmVUbyhuLHMpOmkubGluZVRvKG4scyl9KSxpLnN0cm9rZSgpO2xldCBfPWkuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwxMCwwLDEwK20pO18uYWRkQ29sb3JTdG9wKDAsdj8icmdiYSgzNCwxOTcsOTQsMC4xNSkiOiJyZ2JhKDIzOSw2OCw2OCwwLjE1KSIpLF8uYWRkQ29sb3JTdG9wKDEsdj8icmdiYSgzNCwxOTcsOTQsMCkiOiJyZ2JhKDIzOSw2OCw2OCwwKSIpLGkuZmlsbFN0eWxlPV8saS5saW5lVG8oNjAraCwxMCttKSxpLmxpbmVUbyg2MCwxMCttKSxpLmNsb3NlUGF0aCgpLGkuZmlsbCgpfSxbZCxlLGFdKTtsZXQgYj0iZGFyayI9PT1lLGo9Yj8iI2U1ZTdlYiI6IiMxZjI5MzciLFM9Yj8iIzljYTNhZiI6IiM2YjcyODAiLHY9Yj8iIzM3NDE1MSI6IiNlNWU3ZWIiO3JldHVybigwLHQuanN4cykoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOmI/IiMxQjIwMzAiOiIjZmZmZmZmIixjb2xvcjpqLGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsaGVpZ2h0OiIxMDAlIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbbyYmKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiMTBweCAxMnB4Iixib3JkZXJCb3R0b206YDFweCBzb2xpZCAke3Z9YCxnYXA6OH0sY2hpbGRyZW46WygwLHQuanN4KSgiaW1nIix7c3JjOm8uaW1hZ2UsYWx0Om8ubmFtZSx3aWR0aDoyNCxoZWlnaHQ6MjQsc3R5bGU6e2JvcmRlclJhZGl1czoiNTAlIn19KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo2MDAsZm9udFNpemU6MTV9LGNoaWxkcmVuOm8ubmFtZX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjpTLGZvbnRTaXplOjEyfSxjaGlsZHJlbjpvLnN5bWJvbH0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOnttYXJnaW5MZWZ0OiJhdXRvIixmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRXZWlnaHQ6NjAwLGZvbnRTaXplOjE2fSxjaGlsZHJlbjpjKG8ucHJpY2VfdXNkKmEucmF0ZSxhLnN5bWJvbCl9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFNpemU6MTMsZm9udFdlaWdodDo1MDAsY29sb3I6by5wZXJjZW50X2NoYW5nZV8yNGg+PTA/IiMyMmM1NWUiOiIjZWY0NDQ0In0sY2hpbGRyZW46W28ucGVyY2VudF9jaGFuZ2VfMjRoPj0wPyIrIjoiIixvLnBlcmNlbnRfY2hhbmdlXzI0aD8udG9GaXhlZCgyKSwiJSJdfSldfSksKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsZ2FwOjQscGFkZGluZzoiNnB4IDEycHgiLGJvcmRlckJvdHRvbTpgMXB4IHNvbGlkICR7dn1gfSxjaGlsZHJlbjpbMSw3LDMwLDkwLDM2NV0ubWFwKGU9PigwLHQuanN4KSgiYnV0dG9uIix7b25DbGljazooKT0+bShlKSxzdHlsZTp7cGFkZGluZzoiMnB4IDhweCIsZm9udFNpemU6MTEsZm9udFdlaWdodDpmPT09ZT82MDA6NDAwLGJhY2tncm91bmQ6Zj09PWU/Yj8iIzM3NDE1MSI6IiNlNWU3ZWIiOiJ0cmFuc3BhcmVudCIsY29sb3I6Zj09PWU/ajpTLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOjQsY3Vyc29yOiJwb2ludGVyIn0sY2hpbGRyZW46MT09PWU/IjI0SCI6Nz09PWU/IjdEIjozMD09PWU/IjFNIjo5MD09PWU/IjNNIjoiMVkifSxlKSl9KSwoMCx0LmpzeCkoImRpdiIse3N0eWxlOntmbGV4OjEscGFkZGluZzoiOHB4IDAiLG1pbkhlaWdodDowfSxjaGlsZHJlbjpwPygwLHQuanN4KSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciIsaGVpZ2h0OiIxMDAlIixjb2xvcjpTLGZvbnRTaXplOjEzfSxjaGlsZHJlbjoiTG9hZGluZyBjaGFydC4uLiJ9KTooMCx0LmpzeCkoImNhbnZhcyIse3JlZjp4LHN0eWxlOnt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn19KX0pLCgwLHQuanN4KSgiZGl2Iix7c3R5bGU6e3BhZGRpbmc6IjRweCAxMnB4Iixmb250U2l6ZToxMCxjb2xvcjpTLHRleHRBbGlnbjoicmlnaHQiLGJvcmRlclRvcDpgMXB4IHNvbGlkICR7dn1gfSxjaGlsZHJlbjooMCx0LmpzeCkoImEiLHtocmVmOiJodHRwczovL2NvaW5saWIuaW8iLHRhcmdldDoiX2JsYW5rIixyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLHN0eWxlOntjb2xvcjpTLHRleHREZWNvcmF0aW9uOiJub25lIn0sY2hpbGRyZW46IlBvd2VyZWQgYnkgQ29pbmxpYiJ9KX0pXX0pfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gZT49MT90K2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTp0K2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjZ9KX1mdW5jdGlvbiBkKHt0aGVtZTplLGNvaW5JZDppLHByZWZDb2luSWQ6c30pe3ZhciBvLHI7bGV0W2EsbF09KDAsbi51c2VTdGF0ZSkobnVsbCksW2MsZF09KDAsbi51c2VTdGF0ZSkoe2NvZGU6IlVTRCIsc3ltYm9sOiIkIixyYXRlOjF9KSxbZixtXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcztpP2Uuc2V0KCJsZWdhY3lfaWQiLGkpOmUuc2V0KCJzeW1ib2wiLCJCVEMiKSxzJiZlLnNldCgicHJlZl9jb2luX2lkIixzKSxmZXRjaChgL2FwaS92MS93aWRnZXQ/JHtlfWApLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+e2UuZGF0YSYmbChlLmRhdGEpLGUuY3VycmVuY3kmJmQoZS5jdXJyZW5jeSl9KS5jYXRjaCgoKT0+e30pLmZpbmFsbHkoKCk9Pm0oITEpKX0sW2ksc10pO2xldCBwPSJkYXJrIj09PWUsZz1wPyIjMUIyMDMwIjoiI2ZmZmZmZiIseD1wPyIjZTVlN2ViIjoiIzFmMjkzNyIseT1wPyIjOWNhM2FmIjoiIzZiNzI4MCIsdT0iIzIyYzU1ZSIsYj0iI2VmNDQ0NCI7aWYoZnx8IWEpcmV0dXJuKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpnLGNvbG9yOngscGFkZGluZzoxNixmb250RmFtaWx5OiJzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYiLGZvbnRTaXplOjEzfSxjaGlsZHJlbjoiTG9hZGluZy4uLiJ9KTtsZXQgaj1hLnBlcmNlbnRfY2hhbmdlXzI0aD49MDtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpnLGNvbG9yOngsZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixwYWRkaW5nOiIxMHB4IDEycHgiLGhlaWdodDoiMTAwJSIsYm94U2l6aW5nOiJib3JkZXItYm94In0sY2hpbGRyZW46WygwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo2LG1hcmdpbkJvdHRvbTo4fSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJpbWciLHtzcmM6YS5pbWFnZSxhbHQ6YS5uYW1lLHdpZHRoOjI4LGhlaWdodDoyOCxzdHlsZTp7Ym9yZGVyUmFkaXVzOiI1MCUifX0pLCgwLHQuanN4cykoImRpdiIse2NoaWxkcmVuOlsoMCx0LmpzeCkoImRpdiIse3N0eWxlOntmb250V2VpZ2h0OjYwMCxmb250U2l6ZToxNCxsaW5lSGVpZ2h0OjEuMn0sY2hpbGRyZW46YS5uYW1lfSksKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2NvbG9yOnksZm9udFNpemU6MTB9LGNoaWxkcmVuOlthLnN5bWJvbCwiIMK3IFJhbmsgIyIsYS5yYW5rXX0pXX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOnttYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46WygwLHQuanN4KSgiZGl2Iix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsZm9udFdlaWdodDo3MDAsZm9udFNpemU6MjAsbGluZUhlaWdodDoxLjJ9LGNoaWxkcmVuOihvPWEucHJpY2VfdXNkKmMucmF0ZSxyPWMuc3ltYm9sLG8+PTE/citvLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6citvLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3hzKSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRTaXplOjEzLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOmo/dTpifSxjaGlsZHJlbjpbaj8iKyI6IiIsYS5wZXJjZW50X2NoYW5nZV8yNGg/LnRvRml4ZWQoMiksIiUiXX0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp5LGZvbnRTaXplOjEwLG1hcmdpbkxlZnQ6M30sY2hpbGRyZW46IjI0aCJ9KV19KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7Ym9yZGVyVG9wOmAxcHggc29saWQgJHtwPyIjMzc0MTUxIjoiI2U1ZTdlYiJ9YCxwYWRkaW5nVG9wOjYsZm9udFNpemU6MTF9LGNoaWxkcmVuOlsoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7ZGlzcGxheToiZmxleCIsanVzdGlmeUNvbnRlbnQ6InNwYWNlLWJldHdlZW4iLG1hcmdpbkJvdHRvbTozfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2NvbG9yOnl9LGNoaWxkcmVuOiJNYXJrZXQgQ2FwIn0pLCgwLHQuanN4KSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UifSxjaGlsZHJlbjpoKGEubWFya2V0X2NhcCpjLnJhdGUsYy5zeW1ib2wpfSldfSksKDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e2Rpc3BsYXk6ImZsZXgiLGp1c3RpZnlDb250ZW50OiJzcGFjZS1iZXR3ZWVuIixtYXJnaW5Cb3R0b206M30sY2hpbGRyZW46WygwLHQuanN4KSgic3BhbiIse3N0eWxlOntjb2xvcjp5fSxjaGlsZHJlbjoiVm9sdW1lIDI0aCJ9KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udEZhbWlseToibW9ub3NwYWNlIn0sY2hpbGRyZW46aChhLnZvbHVtZV8yNGgqYy5yYXRlLGMuc3ltYm9sKX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiIsbWFyZ2luQm90dG9tOjN9LGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Y29sb3I6eX0sY2hpbGRyZW46IkNoYW5nZSAxaCJ9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsY29sb3I6KGEucGVyY2VudF9jaGFuZ2VfMWg/PzApPj0wP3U6Yn0sY2hpbGRyZW46WyhhLnBlcmNlbnRfY2hhbmdlXzFoPz8wKT49MD8iKyI6IiIsKGEucGVyY2VudF9jaGFuZ2VfMWg/PzApLnRvRml4ZWQoMiksIiUiXX0pXX0pLCgwLHQuanN4cykoImRpdiIse3N0eWxlOntkaXNwbGF5OiJmbGV4IixqdXN0aWZ5Q29udGVudDoic3BhY2UtYmV0d2VlbiJ9LGNoaWxkcmVuOlsoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Y29sb3I6eX0sY2hpbGRyZW46IkNoYW5nZSA3ZCJ9KSwoMCx0LmpzeHMpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsY29sb3I6KGEucGVyY2VudF9jaGFuZ2VfN2Q/PzApPj0wP3U6Yn0sY2hpbGRyZW46WyhhLnBlcmNlbnRfY2hhbmdlXzdkPz8wKT49MD8iKyI6IiIsKGEucGVyY2VudF9jaGFuZ2VfN2Q/PzApLnRvRml4ZWQoMiksIiUiXX0pXX0pXX0pXX0pfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4gZT49MWUxMj90KyhlLzFlMTIpLnRvRml4ZWQoMikrIlQiOmU+PTFlOT90KyhlLzFlOSkudG9GaXhlZCgyKSsiQiI6ZT49MWU2P3QrKGUvMWU2KS50b0ZpeGVkKDIpKyJNIjplPj0xZTM/dCsoZS8xZTMpLnRvRml4ZWQoMikrIksiOnQrZS50b0ZpeGVkKDIpfWZ1bmN0aW9uIGYoe3RoZW1lOmV9KXtsZXRbaSxzXT0oMCxuLnVzZVN0YXRlKShbXSksW28scl09KDAsbi51c2VTdGF0ZSkoIkJUQyIpLFthLGxdPSgwLG4udXNlU3RhdGUpKCJVU0QiKSxbYyxkXT0oMCxuLnVzZVN0YXRlKSgiMSIpLFtoLGZdPSgwLG4udXNlU3RhdGUpKCIiKSxbcCxnXT0oMCxuLnVzZVN0YXRlKSghMCk7KDAsbi51c2VFZmZlY3QpKCgpPT57ZmV0Y2goIi9hcGkvdjEvd2lkZ2V0P3RvcD01MCIpLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+e2UuZGF0YSYmcyhlLmRhdGEpfSkuY2F0Y2goKCk9Pnt9KS5maW5hbGx5KCgpPT5nKCExKSl9LFtdKTtsZXQgeD0oMCxuLnVzZUNhbGxiYWNrKSgoKT0+e2xldCBlPXBhcnNlRmxvYXQoYyl8fDA7aWYoIlVTRCI9PT1hKXtsZXQgdD1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1vKTt0JiZmKG0oZSp0LnByaWNlX3VzZCkpfWVsc2UgaWYoIlVTRCI9PT1vKXtsZXQgdD1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1hKTt0JiZ0LnByaWNlX3VzZD4wJiZmKG0oZS90LnByaWNlX3VzZCkpfWVsc2V7bGV0IHQ9aS5maW5kKGU9PmUuc3ltYm9sPT09byksbj1pLmZpbmQoZT0+ZS5zeW1ib2w9PT1hKTt0JiZuJiZuLnByaWNlX3VzZD4wJiZmKG0oZSp0LnByaWNlX3VzZC9uLnByaWNlX3VzZCkpfX0sW2MsbyxhLGldKTsoMCxuLnVzZUVmZmVjdCkoKCk9PntpLmxlbmd0aD4wJiZ4KCl9LFtpLHhdKTtsZXQgeT0iZGFyayI9PT1lLHU9eT8iIzFCMjAzMCI6IiNmZmZmZmYiLGI9eT8iI2U1ZTdlYiI6IiMxZjI5MzciLGo9eT8iIzljYTNhZiI6IiM2YjcyODAiLFM9eT8iIzM3NDE1MSI6IiNlNWU3ZWIiLHY9eT8iIzExMTgyNyI6IiNmOWZhZmIiLF89eT8iIzM3NDE1MSI6IiNlNWU3ZWIiLHc9e3dpZHRoOiIxMDAlIixwYWRkaW5nOiI2cHggOHB4Iixmb250U2l6ZToxMixiYWNrZ3JvdW5kOnYsY29sb3I6Yixib3JkZXI6YDFweCBzb2xpZCAke1N9YCxib3JkZXJSYWRpdXM6NSxvdXRsaW5lOiJub25lIixhcHBlYXJhbmNlOiJhdXRvIn0saz17d2lkdGg6IjEwMCUiLHBhZGRpbmc6IjZweCA4cHgiLGZvbnRTaXplOjEzLGZvbnRGYW1pbHk6Im1vbm9zcGFjZSIsYmFja2dyb3VuZDp2LGNvbG9yOmIsYm9yZGVyOmAxcHggc29saWQgJHtTfWAsYm9yZGVyUmFkaXVzOjUsb3V0bGluZToibm9uZSIsYm94U2l6aW5nOiJib3JkZXItYm94In07aWYocClyZXR1cm4oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOnUsY29sb3I6YixwYWRkaW5nOjE2LGZvbnRGYW1pbHk6InN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZiIsZm9udFNpemU6MTN9LGNoaWxkcmVuOiJMb2FkaW5nLi4uIn0pO2xldCBGPVt7c3ltYm9sOiJVU0QiLG5hbWU6IlVTIERvbGxhciJ9LC4uLmkubWFwKGU9Pih7c3ltYm9sOmUuc3ltYm9sLG5hbWU6ZS5uYW1lfSkpXTtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDp1LGNvbG9yOmIsZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixwYWRkaW5nOiIxMHB4IDEycHgiLGhlaWdodDoiMTAwJSIsYm94U2l6aW5nOiJib3JkZXItYm94IixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4ifSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7Zm9udFdlaWdodDo2MDAsZm9udFNpemU6MTMsbWFyZ2luQm90dG9tOjEwLHRleHRBbGlnbjoiY2VudGVyIn0sY2hpbGRyZW46IkNyeXB0b2N1cnJlbmN5IENvbnZlcnRlciJ9KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7bWFyZ2luQm90dG9tOjh9LGNoaWxkcmVuOlsoMCx0LmpzeCkoImxhYmVsIix7c3R5bGU6e2Rpc3BsYXk6ImJsb2NrIixmb250U2l6ZToxMCxjb2xvcjpqLG1hcmdpbkJvdHRvbTozfSxjaGlsZHJlbjoiRnJvbSJ9KSwoMCx0LmpzeCkoInNlbGVjdCIse3ZhbHVlOm8sb25DaGFuZ2U6ZT0+cihlLnRhcmdldC52YWx1ZSksc3R5bGU6dyxjaGlsZHJlbjpGLm1hcChlPT4oMCx0LmpzeHMpKCJvcHRpb24iLHt2YWx1ZTplLnN5bWJvbCxjaGlsZHJlbjpbZS5zeW1ib2wsIiAtICIsZS5uYW1lXX0sYGZyb20tJHtlLnN5bWJvbH1gKSl9KSwoMCx0LmpzeCkoImlucHV0Iix7dHlwZToibnVtYmVyIix2YWx1ZTpjLG9uQ2hhbmdlOmU9PmQoZS50YXJnZXQudmFsdWUpLHN0eWxlOnsuLi5rLG1hcmdpblRvcDo0fSxwbGFjZWhvbGRlcjoiQW1vdW50In0pXX0pLCgwLHQuanN4KSgiZGl2Iix7c3R5bGU6e3RleHRBbGlnbjoiY2VudGVyIixtYXJnaW5Cb3R0b206OH0sY2hpbGRyZW46KDAsdC5qc3gpKCJidXR0b24iLHtvbkNsaWNrOigpPT57cihhKSxsKG8pfSxzdHlsZTp7YmFja2dyb3VuZDpfLGJvcmRlcjoibm9uZSIsYm9yZGVyUmFkaXVzOiI1MCUiLHdpZHRoOjI4LGhlaWdodDoyOCxmb250U2l6ZToxNCxjdXJzb3I6InBvaW50ZXIiLGNvbG9yOmIsbGluZUhlaWdodDoiMjhweCJ9LGNoaWxkcmVuOiLih4UifSl9KSwoMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7bWFyZ2luQm90dG9tOjEwfSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJsYWJlbCIse3N0eWxlOntkaXNwbGF5OiJibG9jayIsZm9udFNpemU6MTAsY29sb3I6aixtYXJnaW5Cb3R0b206M30sY2hpbGRyZW46IlRvIn0pLCgwLHQuanN4KSgic2VsZWN0Iix7dmFsdWU6YSxvbkNoYW5nZTplPT5sKGUudGFyZ2V0LnZhbHVlKSxzdHlsZTp3LGNoaWxkcmVuOkYubWFwKGU9PigwLHQuanN4cykoIm9wdGlvbiIse3ZhbHVlOmUuc3ltYm9sLGNoaWxkcmVuOltlLnN5bWJvbCwiIC0gIixlLm5hbWVdfSxgdG8tJHtlLnN5bWJvbH1gKSl9KSwoMCx0LmpzeCkoImRpdiIse3N0eWxlOnsuLi5rLG1hcmdpblRvcDo0LG1pbkhlaWdodDoxNixiYWNrZ3JvdW5kOl99LGNoaWxkcmVuOmh8fCIwLjAwIn0pXX0pLCgwLHQuanN4KSgiYnV0dG9uIix7b25DbGljazp4LHN0eWxlOnt3aWR0aDoiMTAwJSIscGFkZGluZzoiOHB4Iixmb250U2l6ZToxMyxmb250V2VpZ2h0OjYwMCxiYWNrZ3JvdW5kOiIjM2I4MmY2Iixjb2xvcjoiI2ZmZiIsYm9yZGVyOiJub25lIixib3JkZXJSYWRpdXM6NixjdXJzb3I6InBvaW50ZXIifSxjaGlsZHJlbjoiQ29udmVydCJ9KV19KX1mdW5jdGlvbiBtKGUpe3JldHVybiBlPj0xP2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTplPj0uMDAxP2UudG9Mb2NhbGVTdHJpbmcoImVuLVVTIix7bWluaW11bUZyYWN0aW9uRGlnaXRzOjIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjZ9KTplLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo4fSl9ZnVuY3Rpb24gcCh7dGhlbWU6ZSxwcmVmQ29pbklkOmksaW52ZXJ0SG92ZXI6b30pe2xldFtyLGFdPSgwLG4udXNlU3RhdGUpKFtdKSxbbCxjXT0oMCxuLnVzZVN0YXRlKSh7Y29kZToiVVNEIixzeW1ib2w6IiQiLHJhdGU6MX0pLFtkLGhdPSgwLG4udXNlU3RhdGUpKCEwKSxmPSgwLG4udXNlUmVmKShudWxsKSxbbSxwXT0oMCxuLnVzZVN0YXRlKSghMSk7KDAsbi51c2VFZmZlY3QpKCgpPT57bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9wOiI1MCIsc3BhcmtsaW5lOiIwIn0pO2kmJmUuc2V0KCJwcmVmX2NvaW5faWQiLGkpLGZldGNoKGAvYXBpL3YxL3dpZGdldD8ke2V9YCkudGhlbihlPT5lLmpzb24oKSkudGhlbihlPT57ZS5kYXRhJiZhKGUuZGF0YSksZS5jdXJyZW5jeSYmYyhlLmN1cnJlbmN5KX0pLmNhdGNoKCgpPT57fSkuZmluYWxseSgoKT0+aCghMSkpfSxbaV0pO2xldCBnPSJkYXJrIj09PWUseD1nPyIjMUIyMDMwIjoiI2ZmZmZmZiIseT1nPyIjZTVlN2ViIjoiIzFmMjkzNyI7aWYoZClyZXR1cm4oMCx0LmpzeCkoImRpdiIse3N0eWxlOntiYWNrZ3JvdW5kOngsY29sb3I6eSxoZWlnaHQ6IjEwMCUiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciIscGFkZGluZzoiMCAxMnB4Iixmb250U2l6ZToxMixmb250RmFtaWx5OiJzeXN0ZW0tdWksIHNhbnMtc2VyaWYifSxjaGlsZHJlbjoiTG9hZGluZy4uLiJ9KTtsZXQgdT1bLi4uciwuLi5yXTtyZXR1cm4oMCx0LmpzeHMpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDp4LGNvbG9yOnksZm9udEZhbWlseToic3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmIixoZWlnaHQ6IjEwMHZoIixvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUiLGRpc3BsYXk6ImZsZXgiLGFsaWduSXRlbXM6ImNlbnRlciJ9LG9uTW91c2VFbnRlcjooKT0+cCghMCksb25Nb3VzZUxlYXZlOigpPT5wKCExKSxjaGlsZHJlbjpbKDAsdC5qc3gpKCJkaXYiLHtyZWY6ZixzdHlsZTp7ZGlzcGxheToiZmxleCIsYWxpZ25JdGVtczoiY2VudGVyIixnYXA6MjQsd2hpdGVTcGFjZToibm93cmFwIixoZWlnaHQ6IjEwMCUiLHBhZGRpbmdMZWZ0OjEyLGFuaW1hdGlvbjooInllcyI9PT1vP206IW0pPyJ3aWRnZXQtbWFycXVlZSAxMjBzIGxpbmVhciBpbmZpbml0ZSI6Im5vbmUifSxjaGlsZHJlbjp1Lm1hcCgoZSxpKT0+e3ZhciBuLG87bGV0IHI9ZS5wZXJjZW50X2NoYW5nZV8yNGg+PTA7cmV0dXJuKDAsdC5qc3hzKSgiYSIse2hyZWY6YGh0dHBzOi8vY29pbmxpYi5pbyR7KDAscy5jb2luVXJsKShlLnN5bWJvbCxlLm5hbWUpfWAsdGFyZ2V0OiJfYmxhbmsiLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsc3R5bGU6e2Rpc3BsYXk6ImlubGluZS1mbGV4IixhbGlnbkl0ZW1zOiJjZW50ZXIiLGdhcDo1LGZvbnRTaXplOjEzLHRleHREZWNvcmF0aW9uOiJub25lIixjb2xvcjp5LGZsZXhTaHJpbms6MH0sY2hpbGRyZW46WygwLHQuanN4KSgiaW1nIix7c3JjOmUuaW1hZ2UsYWx0OmUubmFtZSx3aWR0aDoxNixoZWlnaHQ6MTYsc3R5bGU6e2JvcmRlclJhZGl1czoiNTAlIn19KSwoMCx0LmpzeCkoInNwYW4iLHtzdHlsZTp7Zm9udFdlaWdodDo1MDB9LGNoaWxkcmVuOmUuc3ltYm9sfSksKDAsdC5qc3gpKCJzcGFuIix7c3R5bGU6e2ZvbnRGYW1pbHk6Im1vbm9zcGFjZSJ9LGNoaWxkcmVuOihuPWUucHJpY2VfdXNkKmwucmF0ZSxvPWwuc3ltYm9sLG4+PTE/bytuLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czoyfSk6bytuLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse21pbmltdW1GcmFjdGlvbkRpZ2l0czoyLG1heGltdW1GcmFjdGlvbkRpZ2l0czo2fSkpfSksKDAsdC5qc3hzKSgic3BhbiIse3N0eWxlOntmb250RmFtaWx5OiJtb25vc3BhY2UiLGZvbnRXZWlnaHQ6NTAwLGNvbG9yOnI/IiMyMmM1NWUiOiIjZWY0NDQ0Iixmb250U2l6ZToxMn0sY2hpbGRyZW46W3I/IisiOiIiLGUucGVyY2VudF9jaGFuZ2VfMjRoPy50b0ZpeGVkKDIpLCIlIl19KV19LGAke2Uuc3ltYm9sfS0ke2l9YCl9KX0pLCgwLHQuanN4KSgic3R5bGUiLHtjaGlsZHJlbjpgCiAgICAgICAgQGtleWZyYW1lcyB3aWRnZXQtbWFycXVlZSB7CiAgICAgICAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfQogICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfQogICAgICAgIH0KICAgICAgYH0pXX0pfWZ1bmN0aW9uIGcoe3R5cGU6ZSxwYXJhbXM6aX0pe2xldCBuLHM9aS50aGVtZT8/ImRhcmsiLHI9ImRhcmsiPT09cz8iIzFCMjAzMCI6IiNmZmZmZmYiO3N3aXRjaChlKXtjYXNlImZ1bGxfdjIiOm49KDAsdC5qc3gpKG8se3RoZW1lOnMsY250OnBhcnNlSW50KGkuY250Pz8iNiIsMTApLGdyYXBoOiJubyIhPT1pLmdyYXBoLHByZWZDb2luSWQ6aS5wcmVmX2NvaW5faWR9KTticmVhaztjYXNlImNoYXJ0IjpuPSgwLHQuanN4KShsLHt0aGVtZTpzLGNvaW5JZDppLmNvaW5faWQscHJlZkNvaW5JZDppLnByZWZfY29pbl9pZH0pO2JyZWFrO2Nhc2Uic2luZ2xlX3YyIjpuPSgwLHQuanN4KShkLHt0aGVtZTpzLGNvaW5JZDppLmNvaW5faWQscHJlZkNvaW5JZDppLnByZWZfY29pbl9pZH0pO2JyZWFrO2Nhc2UiY29udmVydGVyIjpuPSgwLHQuanN4KShmLHt0aGVtZTpzfSk7YnJlYWs7Y2FzZSJob3Jpem9udGFsX3YyIjpuPSgwLHQuanN4KShwLHt0aGVtZTpzLHByZWZDb2luSWQ6aS5wcmVmX2NvaW5faWQsaW52ZXJ0SG92ZXI6aS5pbnZlcnRfaG92ZXJ9KTticmVhaztkZWZhdWx0Om49KDAsdC5qc3hzKSgiZGl2Iix7c3R5bGU6e3BhZGRpbmc6MTYsZm9udFNpemU6MTMsZm9udEZhbWlseToic3lzdGVtLXVpLCBzYW5zLXNlcmlmIn0sY2hpbGRyZW46WyJVbmtub3duIHdpZGdldCB0eXBlOiAiLGVdfSl9cmV0dXJuKDAsdC5qc3gpKCJkaXYiLHtzdHlsZTp7YmFja2dyb3VuZDpyLG1pbkhlaWdodDoiMTAwdmgifSxjaGlsZHJlbjpufSl9ZnVuY3Rpb24geCh7dHlwZTplfSl7bGV0IG49KDAsaS51c2VTZWFyY2hQYXJhbXMpKCkscz17fTtuLmZvckVhY2goKGUsdCk9PntzW3RdPWV9KTtsZXQgbz1lPz9zLnR5cGU/PyJmdWxsX3YyIjtyZXR1cm4oMCx0LmpzeCkoZyx7dHlwZTpvLHBhcmFtczpzfSl9ZS5zKFsiV2lkZ2V0Q2xpZW50IiwoKT0+eF0sNzkyOTQpfV0pOw=="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/1958.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.169Z","timestamp":1785129950169,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1958.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2699\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nlast-modified: Tue, 19 Oct 2021 05:33:52 GMT\r\netag: \"739797800c1ad83ba9a3cdddb9824693\"\r\ncache-control: max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 6719\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: kc3-P1bUKyU0GpOSm9j5W7o7w5rzutyFOFCzH8MUNVTUcmu5GPiDKQ==\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":"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 S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":2699,"size_decoded":3207,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"739797800c1ad83ba9a3cdddb9824693","sha1":"8fa44745cb0a87a781317153ffebcca127e4c498","sha256":"6de001279f8561ebcd5da21d426f25f0f554b5f665638e84b33876a079c56c52","sha512":"25ec9a6e68a3024e7054c566336ca457a8116c6d29c5b2a901c98ef4d1f14c0adeb8ef16f56bd8d2e07466ee81c0146adc992289efce6a9fa8c2796edd4c0fe8","ssdeep":"","tlshash":"a7511a5335d2fada77c981c3f942215cc720d62d4306a2e7b535078feb06861dba520b","first_seen":"2023-05-17T08:55:45Z","last_seen":"2026-08-15T04:03:51.006941Z","times_seen":3419,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/74.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.172Z","timestamp":1785129950172,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/74.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 4251\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:36:06 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:40:30 GMT\r\ncache-control: max-age=86400\r\netag: \"ae64499c8825452f6262177ee6dd525b\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 78321\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: Rjya00YLpk0YYTXlLHmadWSitm83ptkwDZK650M6THAgd3ePwwyIoQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":4251,"size_decoded":4777,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"ae64499c8825452f6262177ee6dd525b","sha1":"92a35e0817cefb5befbb18422fb4c9d220f6754c","sha256":"47fb417f6b72c4edc08dfb90a376b2c88b3b51992bf3c83dd14e011edba2f339","sha512":"1a776374f3c20d16bf0c84dbb28a6ca3d0a110ca928aa87f56d79d09b898091b84f4d3ea164a6c79db0c9fedeb66167bd83b854267c2870394f70dc536117441","ssdeep":"96:IqQDUBKTuBVrN2Dc4tR/HAwaHEIkVZdBrc2nPatF:IL4cTIB8c4n/HbIegdF","tlshash":"00918ede37594349986e152b32ca7f282c32b7db00753e35ad4946c327b4063e5d6714","first_seen":"2023-05-04T14:40:12Z","last_seen":"2026-08-15T04:03:51.03046Z","times_seen":15221,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAQYklEQVR4Xu2beVRUV57HnXP6v/SZOXPOnJ45Pd3TnaWdY7RZhLglrklMtG07nUnS6U73TCfartEEjRFsg0QWQ2s0uEIjiMu4xLgkUVEguGRcQEQEESiqgKIoiqKAoopF1CS/ud/76j5e3feqKCJJd5/T95zvebW85ff53t+99/dewbBhf2/ffMtIingxPTnClp4UQUIZkrTfYV8cI5/nb6ZtSxj5XQbylQBKiw+j+KUjadWiR+mdJSPpTytH0ZaEMEpPVITX+AzfYR/si2M0pnyFc8rX+atrGYlRD/PeTY6geAYTx2Ayk8Mpf1cU5Q1SOAbH4hw4F87Jz82uIV/3L95ET615YyRlpoTpYIZKODeuIa4nx/GtNxbETQGOFFaDzR5Nn2eP1wEMlXAtjRE35bi+lYaLb3onjI/Z/Bz/ACtO/ZaKsifSyeRoXfD3q/zdvi27Jq6NGL7VbNiRFL4OF3xnyaN0fMdoXYBQ3dl51HBhEeWmPkbHU4fOhJw/RtPu1dGUs6r/nIgBsSAmxCbHO6QtPSlyEi4Ut3CErte1Kj7yAtWfW0iFaePoZEo0ncnW7zNo7ZxK+RnTuAHQx5v7v0MsiEkZEpGT5LiHpKUnh/8WF0haPlIfnKQjW8dSw/mF9NkHY7kBn66/vywozJpG53JmUOHOpwyzQAixcRNYrHL899UE/OrXH9Vd1EiHPoiiemZA/kbFAEjeJ1QdeTeKrh6axeGh09umqlmQZ5CFiHFITdieEjZxMPDQh8yAa/ufpYvpj6sGnFw3eBOOrB1NH78/mXLTp6vavGwCbX9rPDdATIiyhAmIXeYZVNuRFJHM037ZwGkvhPFoKphDF7aPYRpLlzPHU/nBSaoqDk2my/vG8/1OZkbR0a1RtH9jFB3w6eAmZfvRu6NpT2w45WU+y8G3LR9P25eP5dqyfAI3IDdTf30hxKxMjBHJMlfITUx48smD6ZP0KCrdP5PObxtD5rzfqNKaMJAAD21dHEanM6bT1pgxFPdKBP3+mRH0wqThlDJPGQInduivr5WYGGWukJpY6oLN9lDB7gf9ZGFLYHFONFkKXvZTxaEouvlhtKqi7Eep8uMZVHlcUcWxZ6lkbzSdWv8IHY7/Hm2cO4L2xI+jw6mTOPSssY/w7YuTh/NhAANOpuvj0QqxiyVS5gva2FJSjgIj0DovlPvnYeR2Vmtkot4OC912W6ivs57udjXy11C3y8TlcdaQp6VGed9W6ydvq4mrramamuuqqKXhOm1Y8hM6tXkKZSVM5AYkz42mLTGKAYHmAK3AoBRLkeUyZ8DGU3/RwJNebuYwcjVXk5cFf8dTz6XA13F4bgB7LQzoYnAcXgJX4PsN6GRGttlrqN1hovZmdoyrgV6drRiw9rXR6lIoxxNIYAk5C7BjAquzB0p9aHfKMLrnbVDhhQQ81AdTOhQDRM8jS4R62s3cAJgjzOhi+3T44LGtNVWRmclae5P2p0yhvWvG0K640A0AC5hCMgE7pb6tubEJIKz17dde9wNHT9/1WqnH3aAa0NVm5tCdLYoB/fB1fkboM0KBb7RUc3jIaauhTpeVruY8QQVbxhnWAYEEpgENyEwMexBOyQcbyXx2PjmL5vv3PIPv7WzgBtyRDHA7FCDe6+56VUoWWFiv98P34DMmmOBpVTLBYa3hx0P4/ErWBDqx/TFdXMEENjDK3GqDQxnJA9/P79sQTq6S5dRavIBBWjl8n6eBqqoqqamxVjGAmQF4SASOdNfCA1orbQYIEyB8JzKizVZNdksVedlkWpQ1LqShKgS2gFmAR0546iIfZKSWohhuQFfH5/TF3U5uQK/XTq4WKxHdYZNiPQe/wybA3nbFAExyvRp4bgAMMjBACy+bgNUB6nSwjGgsokNp+viCCYyGj9eYM1/iWZx8gCwUOoB3m7YxAy7R3V4HS3cbM8BBJlMNzwKsAoCHulxm/0kPac+WSJOpmqpu3SSvq45BCwU2QAwJ9D4McDfX8CzI3foPuhiDCYxglflDXvpQpraXraZu9xXq7rzKzWi79hbNe+Vx+p8Xx9G9nhYVHupu7zeggwXtsJnIXFtFPZ5qWjj/1/Rv3/sOfeefvkvXD8+kG8eeU7LDAJ5ngW9yhAHt9mpuADJLjjGYAi6JfPwnBh7/+TnKhHN23wwGX8R0kcGdImdxDNkvLVZUOIfudisG9HmsqoQBWNurblXSnV4n/XL2BPrJQ/9Mz88aQxPHPUwlB2fQzU9foqpTr/CJFFkiGyCygIP75GE1w+nMB3TxBhIYdQZsT4ycjcfQAz29zd89ltx1GQp82wnq7sjnGcDhL8yn5s9eYwY4/OC1BiADbmGIMJNqSzPox//xj/TTEf9K769+mso/+RVX/bX3qK54NfV1NRlKGMDnBN/WZSvTxRpIYAQrmFUDmCOWNSGMf8jrPK7At33KeuQcW+LyyH5xEdVfXM0MmEt9PS6dAbdZWvexXoUBXe115GXamPA87drwCyo9+aoKX3lmDjcA6vWwKrLLrkoY0MPqBwEu5HYNbhiAFcxaA/gDRnlHWZ/tiebwnc2HOXyr9QB9npdEE8f8iKY9/hBZL73jZ8AdLypBfzNgAFSRO1cFh2rOL1PheRZcTTQ0oLfTygsqrQEox09nhdaBEFj9hgHe4K5J3jFv12g6kx1GZw/+nM7+73TqsH2o9H7LUXKYd9PMp0fxcaxVU5ONbI2s+PE0cWGF6NMYAXgA3cqbTzXnYvygZd1mw0kLL9TZoox9YQCGxcVjzxvEbyzdHSLevLdi4PLX26KkP3q/2bQTJzA0wGKuUQ1QTRDDwdej1rJNOmBZvV5lGBgZAGmzoL7isC7eQAKrzoC0+J/qdlSVHUnnD77AUu8Y630l/Vssu2jE8H/RGeBw2JkBJj8DoK9jQGfLNR08N8CJewt/A9ocdfq4Awisfgbg19nta8OlHR9js/54NgSU6rBgzySe9vabW6nHlUu2qj/Tm394UmeAs8VOdlsdh+5gNy7Y9kCdjawSZCuCt4nLeuMDHbBWDUxu2zkdfKAM6Gw160ADCaxgHsAARTABNcCZ7HCqLdlIXscR6m7Mpv2ZS2jpnGk0ma3hwxk4lrMJ0T/mBsi9z9XewAoZi38GlKZS7eU1OniosSSZ3I2FOngjAzAHdLksutgDSWdA8CEwmqX/c3zrtR+gbqdiwNljcdyAN+Y+SY+FfZ9i5j1FkaO+z4ZAE3V1Qja+BTzAhQYaAgAX8jSzUrvHwXWnu38ukA3gEyIrpXOz5NiNpRsCgSbB/N3jOLgwosu6k0+CXdYs8jbspLm/eYKWzJlKS15TBEOczmbydPTDd7N1W2sAAAIZ0FiSosK3VW5mtYPJZ0CzDh4lME9932vcNp9If1zHYCTDSdB4GYT6n7x4G3O4Abbr67kJRXkJHPql2VH0w39/gB55EJOgf+pr4YUBkDDAem2dX68LeOje7TZuQKD01762Xc+mi3ufMohfL8NlMJRCqPyz+RxcqLdpFzdAK6fTTg31Ji7cGQpZ2F1ck7WWbqPC89qo6foGQ2ghV8UGH3x/6t9mRZDS40oNoDWg9KOfUcnBZ3QxG0lXCLEJoTaUUhgrAlJfGNBp3kL1l1bQ4t9PUQ1odzWzO75arkarstWKG8CkNcBZsVFnQFdruV/PB+p9t0PZFu+fxg0I5YdYsIK5PwMSI2ZuXhMW0tOVLmumaoC7ZgO1V/2JGi6vpISlU+n92GeojRngYTNyZ6uFbyE3e+1y4EmRlcMDRmuADN9WmaaDRwksoGV5nGYODx3Zoo9ZKzCCFcyqAdwElhI71ga+HRbqdhzi8B3V66nt1nss2HXUcCmWZcJKKv10LlvvHazcrWey8K3ocRnIfwik+Blwt6dFt78MDeHxGN823qBzGRPo6sHpdDgt+NNiMPqlv9aAUB6InM6KVHrftFExgRmAbd3Ft7kJuBkS0IHghQFNpeuYlKXPUYZzKROfvC9meRne1Vitpv/Z7T/gBiADig9M18WsVbAHIvdCeSSGMXYr91XysiUR4J66feSp30deViW2Vu5k9/rOAeF5j9YdIbf5kCqPLZfu9bbqZn2+L4P0usx8C2jAQx12fF7H4YUBA02Evkdi92T+YXvWhz2A6kg+QFbxsVlkK4qljpqtbPwns6DtXF9APXY/+LvdTfwzGQgSBY4seT+sGJC254XwXLAidxld2fekCj+QAWAEq8zPG58HgjwWg+xXV3GVH3+Zyo7M4JCqCT2BdQ/7qe+bdeACHjW9bEKfzwA+5n0Z0M56v5cVWyUs5bXwhVun6WIWApth+ou2LWnUDxPeDD4MWkrjuQG2opXcAA9LzW424cnAg9EdADJwQ3gmPEPAbw3aDOhmnynQ06n6/HKuW3kLKO+DKbqYhcAGRpnbr8GhdQZlsZDIAAgGAN7Llroveh06sGD6kmWMslwq4IHghcQtMOBRB1QVLmXQy1R4qOzEHwIaAKagvS8adoJTgWoCrQFNRTH8GR1MQJkLCPQWhsWXPtCvept573nZ925nP6xW3R31/Bkg1noIY17OAA5vrWLVYJMOXOhC1mxDA/iPo2+G+OMoGl8SFxovibIB+A0QggkQCiAZMJgEdDDBQP7abeGgtRdZ3VGSQLWX4qjm8xWqAXmbJhsaAJaQ4dEykiNK0uLD6ei2SN3JAhmgNUHI44MUW78eNwANpJ4OpPwCqrnwFjWUrqWGa++qggmqAYCXDAADWMAkcwZtcAx3TQXSX2H4G7CC3ac3+amnAz9oKMKwwPwgBCPkIkkWHwr8h9NqshQlUtW5Nzkch9eAC5kvrwpoAGLX3fkNpuHAWM1QKNw7wc8AI13Y93Mq//jXXKVHX+Lvof878EvdmB2MZHCh+pI16j6yAYj9a8OjZSRFxuLX1MQYZWmUYY0kgLW6fPhFulX4hg4qVMnQWlWfUybEM2L8+wxAzIgdDDLXoFpGcthouPjHxSN0sEaS4SEZKFTVX12jA9bKcmW1Hp5J/KEkYpd5vlbLSIx4LlQTzu+dpYJf+ehXOqiBFGisGwnL4ZlNk4zhWcwyx301YcK6t4MPBQV+lg4smKrOxvCtDBhMWAYv73/ZDz7xDaXYGXJ40XasDY/EuFox72FqubZaBw+I83t/RjdOL9BBGoqNX3lZC0WNZUn9az5TQdoUil00go95xCjHPaQtPTl8JVzGbWV53usKfHEcVRYsoqLDv6DST/5bDxpAMlio0vb60dQn+H+bISbEJsf7jTVcMG1NOMuGh6jsk/+i0uPPq7px8nc6WK2MCppQlc+gy07N52VvHOt1xHBfS939tB3JEcW4+Luszk5dGeFnglbV598akp6/WbCEZd1iSo2N4tfEtRGDHNe33nj6JSk3UbtSJ/jBWy7H8uDNrGSVgYLJfGUVh0Wld+PMIv465/2n1Zuav1ivB2uZCWE/4LNwkvKvdLELhtPezbPIOoh0L/fBVuS/Ttnrn2LV3H/yc4l/r8U15Ov+1TU8cmLBdoue2szGKXpuFRuz8UtH0fq4MZSRMpV2McDdm2ZSesoU/ln8klF8H+yLY8TxOFfAx1h/C21HYtg0BlGpAVLWa5/kz7EvjpHP8/f2DbT/Bywjkv1zCDfPAAAAAElFTkSuQmCC"}},"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.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.157.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:51.058Z","timestamp":1785129951058,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js HTTP/1.1\r\nHost: www.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/botguard-scs\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"botguard-scs\"\r\nreport-to: {\"group\":\"botguard-scs\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/botguard-scs\"}]}\r\ncontent-length: 23758\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Tue, 21 Jul 2026 17:04:08 GMT\r\nexpires: Wed, 21 Jul 2027 17:04:08 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 08:00:00 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding\r\nage: 476503\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":62519,"size_decoded":24569,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (61258)","md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T07:00:44.845626Z","times_seen":542,"resource_available":true,"data":"Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgZD1mdW5jdGlvbihSLGMsRyxCLG0sTixoLFAsayxEKXt7az05ODt3aGlsZShrIT1jKXtpZihrPT02OClyZXR1cm4gRDtpZihrPT04NylrPShHPDwyJjcpPDYmJigoR140MCkmNyk+PTQ/NDA6Njg7ZWxzZSBpZihrPT05OClrPTM3O2Vsc2UgaWYoaz09NDApe2E6e2lmKCEoUD0oaD1tLFopLnRydXN0ZWRUeXBlcyxQKXx8IVAuY3JlYXRlUG9saWN5KXtEPWg7YnJlYWsgYX10cnl7aD1QLmNyZWF0ZVBvbGljeShOLHtjcmVhdGVIVE1MOm4sY3JlYXRlU2NyaXB0Om4sY3JlYXRlU2NyaXB0VVJMOm59KX1jYXRjaChJKXtpZihaLmNvbnNvbGUpWi5jb25zb2xlW0JdKEkubWVzc2FnZSl9RD1ofWs9Njh9ZWxzZSBrPT01Nj8oRD1CLGs9ODcpOms9PTM3JiYoaz0oR14xMyk8MjQmJihHXlIpPj0xOD81Njo4Nyl9fX0sWj10aGlzfHxzZWxmLG49ZnVuY3Rpb24oUil7cmV0dXJuIGQuY2FsbCh0aGlzLDMwLDgwLDMsUil9OygwLGV2YWwpKGZ1bmN0aW9uKFIsYyl7cmV0dXJuKGM9ZCgzMCw4MCwxNCwiZXJyb3IiLG51bGwsImFkIikpJiZSLmV2YWwoYy5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBjLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR319KFopKEFycmF5KE1hdGgucmFuZG9tKCkqNzgyNHwwKS5qb2luKCJcbiIpK1snLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PScsCicoZnVuY3Rpb24oKXsvKicsCicnLAonIENvcHlyaWdodCBHb29nbGUgTExDJywKJyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCcsCicqLycsCid2YXIgY3U9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD0oUD05OCwxNik7Oyl0cnl7aWYoUD09ODApYnJlYWs7ZWxzZSBpZihQPT0zNylQPSgoR3w2KSY3KT49MyYmKEc+PjImNik8Mz81Njo4NztlbHNlIGlmKFA9PTg3KVA9KEd8OCk9PUc/NDA6Njg7ZWxzZSBpZihQPT03NSlQPTk5O2Vsc2UgaWYoUD09MSlkPTE2LGUoODgsRCxaLFQpLFA9MzI7ZWxzZSBpZihQPT01NilrLnJhdz1SLE9iamVjdC5mcmVlemUmJihPYmplY3QuZnJlZXplKGspLE9iamVjdC5mcmVlemUoUikpLE49ayxQPTg3O2Vsc2UgaWYoUD09NDApUD05OTtlbHNlIGlmKFA9PTYpZD0yMSxuPWtuKEIsayxSLFopLFA9MzI7ZWxzZSBpZihQPT05OClQPTM3O2Vsc2UgaWYoUD09MzkpWi5TPWgsQj1aLlAucG9wKCksUD02O2Vsc2V7aWYoUD09NjgpcmV0dXJuIE47UD09NTE/UD1jJiZaLlM/MTY6NzU6UD09NTI/KE49bixQPTY4KTpQPT0zMj8oZD0xNixQPTUxKTpQPT0xNj8obT1aLlMsbShmdW5jdGlvbigpe1JCKDMxLGZhbHNlLFosUixSKX0pLFA9NTIpOlA9PTk5JiYoUD1aLlAubGVuZ3RoPzM5OjUyKX19Y2F0Y2goSSl7aWYoZD09MTYpdGhyb3cgSTtkPT0yMSYmKFQ9SSxQPTEpfX0sb0I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Zm9yKG09MTttIT01OTspaWYobT09MjYpbT1SPDwxJms/ODg6OTI7ZWxzZSBpZihtPT0zNyl7YTp7aWYodHlwZW9mIGM9PT0ic3RyaW5nIil7Qj10eXBlb2YgRCE9PSJzdHJpbmcifHxELmxlbmd0aCE9Rz8tMTpjLmluZGV4T2YoRCxoKTticmVhayBhfWZvcihaPWg7WjxjLmxlbmd0aDtaKyspaWYoWiBpbiBjJiZjW1pdPT09RCl7Qj1aO2JyZWFrIGF9Qj0tMX1tPTIzfWVsc2UgaWYobT09NzApdGhpcy5CPUcsbT0yNjtlbHNlIGlmKG09PTc0KVo9dHlwZW9mIGMsbj1aIT1oP1o6Yz9BcnJheS5pc0FycmF5KGMpPyJhcnJheSI6WjoibnVsbCIsQj1uPT1EfHxuPT1oJiZ0eXBlb2YgYy5sZW5ndGg9PUcsbT01NjtlbHNlIGlmKG09PTM2KW09KFJ8NDApPT1SPzc0OjU2O2Vsc2V7aWYobT09ODgpcmV0dXJuIEI7bT09NTY/bT0oUj4+MSZrKT09MT8zNzoyMzptPT02MT8oQj1jdShHLEcsMyksbT0zNik6bT09MjM/bT0oUi01JjMpPT0zPzcwOjI2Om09PTA/bT0oUiY1OSk9PVI/NjE6MzY6bT09OTI/KHRoaXMubisrLGg9Ry10aGlzLmgsdGhpcy5oKz1oL3RoaXMubix0aGlzLmh4Kz1oKihHLXRoaXMuaCksbT04OCk6bT09MSYmKG09MCl9fSxDbj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Zm9yKG49NDc7biE9MjE7KWlmKG49PTQ1KW49KFJeMjIpPj4zPzU3OjY3O2Vsc2UgaWYobj09Njgpbj1SLTQ+PjQ+PTEmJigoUl42OCkmMTYpPDI/MTI6OTI7ZWxzZSBpZihuPT1rKW49KFImOTApPT1SPzMzOjY4O2Vsc2UgaWYobj09NjcpbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRyxFUikmJkdbRVJdfHwoR1tFUl09KytIdSksbj01NztlbHNlIGlmKG49PTQ3KW49aztlbHNlIGlmKG49PTMzKW09YSgxOCxudWxsLDgxOTIsRyx0cnVlKSxuPTY4O2Vsc2V7aWYobj09NTcpcmV0dXJuIG07bj09OTI/bj0oUnw0OCk9PVI/ODE6NDU6bj09ODE/KHRoaXNbdGhpcysiIl09dGhpcyxuPTQ1KTpuPT0xMiYmKGM9aCxjXj1jPDwxMyxjPShaPWM+PjE3LChjfDApLShjJlopLSh+Y15aKSsofmN8WikpLChjPShjXmM8PDUpJkQpfHwoYz0xKSxtPShHfDApKyhjfDApLTIqKEcmYyksbj05Mil9fSxySj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtmb3IobT05NTttIT02NTspe2lmKG09PTg3KXJldHVybiBCO2lmKG09PTI4KWhXKDI0LHRydWUsRyksbT0zMTtlbHNlIGlmKG09PTQ2KXthOntmb3IoYyBpbiBoKWlmKEQuY2FsbCh2b2lkIDAsaFtjXSxjLGgpKXtCPVI7YnJlYWsgYX1CPUd9bT04N31lbHNlIGlmKG09PTMxKW09aC5aW0RdLmxlbmd0aD09Uj84OToxMztlbHNlIGlmKG09PTIxKUQ9Ry50eXBlLG09Nzg7ZWxzZSBpZihtPT03MSl0aGlzLmxYPXRoaXMubFgsdGhpcy5nPXRoaXMuZyxtPTU5O2Vsc2UgaWYobT09NiltPShrfDE2KT09az83NTo5NDtlbHNlIGlmKG09PTEzKW09KGs+PjImMTMpPT0xPzcxOjU5O2Vsc2UgaWYobT09NTkpbT0oaz4+MSY3KT09ND83OTo2O2Vsc2UgaWYobT09OTUpbT02MztlbHNlIGlmKG09PTk0KW09KChrXjUyKSYxMyk+PTgmJigoa141MCkmMTQpPDk/NDY6ODc7ZWxzZSBpZihtPT02MyltPWs+PjEmNj8xMzoyMTtlbHNlIGlmKG09PTc4KW09RCBpbiBoLlomJnRXKDcsUixHLGguWltEXSk/Mjg6MTM7ZWxzZSBpZihtPT03OSltPTY7ZWxzZSBpZihtPT03NSl7YTp7Zm9yKG49UjtuPEQubGVuZ3RoOysrbilpZihaPURbbl0sIVouZlgmJloubGlzdGVuZXI9PWMmJlouY2FwdHVyZT09ISFHJiZaLlZuPT1oKXtCPW47YnJlYWsgYX1CPS0xfW09OTR9ZWxzZSBtPT04OSYmKGRlbGV0ZSBoLlpbRF0saC5KeC0tLG09MTMpfX0sdFc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXt7UD05NDt3aGlsZShQIT05KWlmKFA9PTE2KUQ9b0IoMTMsNiwxLFIsRyxoKSwoYz1EPj1SKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGgsRCwxKSxkPWMsUD00NztlbHNle2lmKFA9PTQpcmV0dXJuIGQ7aWYoUD09NTcpbT1aW0JdLFA9NDA7ZWxzZSBpZihQPT01MilQPTM3O2Vsc2UgaWYoUD09NDApUD0hb0IoMTMsNDUsRywib2JqZWN0IiwiYXJyYXkiLG0pfHxOUCg0LCJvYmplY3QiLDE5LG0pJiZtLm5vZGVUeXBlPkQ/OTU6NzU7ZWxzZSBpZihQPT00NylQPShrJjI3KT09az82NTo3MjtlbHNlIGlmKFA9PTkzKUc9UltsOV0sZD1HIGluc3RhbmNlb2Ygak0/RzpudWxsLFA9NDtlbHNlIGlmKFA9PTYyKVA9KGsrOF4yNyk+PWsmJihrLTR8NzUpPGs/Mjk6MTg7ZWxzZSBpZihQPT03NSl7YTp7aWYobSYmdHlwZW9mIG0ubGVuZ3RoPT1HKXtpZihOUCg0LCJvYmplY3QiLDE4LG0pKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiJ8fHR5cGVvZiBtLml0ZW09PSJzdHJpbmciO2JyZWFrIGF9aWYodHlwZW9mIG09PT0iZnVuY3Rpb24iKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19VD1SfVA9KFJCKDMzLEQsaCxUP2hXKDEyLEQsbSk6bSxOKSw2MCl9ZWxzZSBQPT02NT8oTj1mdW5jdGlvbihJKXtJJiZuLmFwcGVuZENoaWxkKHR5cGVvZiBJPT09InN0cmluZyI/Yy5jcmVhdGVUZXh0Tm9kZShJKTpJKX0sQj0xLFA9NTIpOlA9PTYwPyhCKyssUD0zNyk6UD09OTQ/UD0xMjpQPT05OT8oYUIuY2FsbCh0aGlzLFI/Ui50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5ZTj1udWxsLFImJnRoaXMuaW5pdChSLEcpLFA9NjIpOlA9PTcyP1A9KGs+PjEmMjMpPT0yPzkzOjQ6UD09MTI/UD1rKzYmMTM/NjI6OTk6UD09Mjk/KGQ9eWZbR10oeWYucHJvdG90eXBlLHtwYXJlbnQ6UixsZW5ndGg6UixzdGFjazpSLHBvcDpSLHByb3RvdHlwZTpSLHByb3BlcnR5SXNFbnVtZXJhYmxlOlIsZG9jdW1lbnQ6UixzcGxpY2U6UixjYWxsOlIscmVwbGFjZTpSLGNvbnNvbGU6UixmbG9vcjpSfSksUD0xOCk6UD09Mzc/UD1CPFoubGVuZ3RoPzU3OjcyOlA9PTk1PyhOKG0pLFA9NjApOlA9PTE4JiYoUD1rPj4xPDkmJihrXjgwKT4+Mz49Mj8xNjo0Nyl9fX0sTVA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7Qj00Nzt3aGlsZShCIT0zNCl7aWYoQj09OTIpdGhyb3cgbmV3IFNNKHR5cGVvZiBHLDEpO2lmKEI9PTk2KVIuc2FuZGJveC5zdXBwb3J0cyYmIVIuc2FuZGJveC5zdXBwb3J0cyhEW2NdKXx8Ui5zYW5kYm94LmFkZChEW2NdKSxCPTc5O2Vsc2UgaWYoQj09NTYpQj0oays4JjU5KTxrJiYoays2XjUpPj1rPzMyOjgzO2Vsc2UgaWYoQj09NSlCPW48Ui5sZW5ndGg/MTg6NDk7ZWxzZSBpZihCPT02NylCPUcgaW5zdGFuY2VvZiBYMT83NTo5MjtlbHNlIGlmKEI9PTMwKXtpZihHIGluc3RhbmNlb2YgWDEpaD1HLktqO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO1Iuc3JjPWgudG9TdHJpbmcoKSxCPTUxfWVsc2UgaWYoQj09MjUpQj02MjtlbHNlIGlmKEI9PTQ3KUI9NTY7ZWxzZSBpZihCPT00NSlUPSEhKGg9Ry5PMiwtMip+KGgmUikrfmgrKGheUikrKGh8flIpKSxCPTY7ZWxzZSBpZihCPT03OSljKyssQj02MjtlbHNlIGlmKEI9PTc1KUQ9ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctZm9ybXMgYWxsb3ctcG9wdXBzIGFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveCBhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24iLnNwbGl0KCIgIiksUi5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCIiKSxjPTAsQj0yNTtlbHNlIGlmKEI9PTgzKUI9ay01PDE1JiYoa142OSk+PjQ+PTI/NDU6NjtlbHNlIGlmKEI9PTUzKUI9NzY7ZWxzZXtpZihCPT01MSlyZXR1cm4gVDtCPT01Mj9CPTE2OkI9PTcyP0I9NTpCPT02Mj9CPWM8RC5sZW5ndGg/OTY6MzA6Qj09Nzc/KFIucmVtb3ZlQXR0cmlidXRlKCJzcmNkb2MiKSxCPTY3KTpCPT00PyhuKyssQj01KTpCPT0xNj9CPWg+Nz8yNzo0OkI9PTE4PyhoKz1HLEQ9KG09RDw8RyxjPVJbbl0sMiooY3wwKSt+Yy0ofm18YykpLEI9NTIpOkI9PTQ5PyhUPVosQj04Myk6Qj09Nj9CPShrKzUmNyk9PTE/NTM6NzY6Qj09MTM/Qj0xNjpCPT0zMj8oaD1uPTAsWj1bXSxCPTcyKTpCPT0yNz8oaC09OCxaLnB1c2goRD4+aCYyNTUpLEI9MTMpOkI9PTc2JiYoQj0oaysxJjExKT09Mz83Nzo1MSl9fX19LGhXPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7Zm9yKFo9NTtaIT05NjspaWYoWj09OTEpe2E6e2lmKChEPUcubGVuZ3RoLEQpPlIpe2ZvcihjPShoPUFycmF5KEQpLFIpO2M8RDtjKyspaFtjXT1HW2NdO249aDticmVhayBhfW49W119Wj05OX1lbHNlIGlmKFo9PTQwKW49TWF0aC5mbG9vcih0aGlzLkooKSksWj01NztlbHNlIGlmKFo9PTEwKVo9ay00Pj4zPT0xPzkxOjk5O2Vsc2UgaWYoWj09NDIpUi5uWD1mdW5jdGlvbigpe3JldHVybiBSLlh6P1IuWHo6Ui5Yej1uZXcgUn0sUi5Yej12b2lkIDAsWj0xMDtlbHNlIGlmKFo9PTIpRy5mWD1SLEcubGlzdGVuZXI9bnVsbCxHLnByb3h5PW51bGwsRy5zcmM9bnVsbCxHLlZuPW51bGwsWj01OTtlbHNlIGlmKFo9PTg1KVo9KGt8NTYpPT1rPzQwOjU3O2Vsc2UgaWYoWj09NTcpWj0oaysxJjI4KT49ayYmKGstMV43KTxrPzI6NTk7ZWxzZSBpZihaPT01OSlaPShrfDcyKT09az80MjoxMDtlbHNlIGlmKFo9PTUpWj04NTtlbHNlIGlmKFo9PTk5KXJldHVybiBufSxUbz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e1Q9NTc7d2hpbGUoVCE9NTkpaWYoVD09aylEWi5jYWxsKHRoaXMpLFJ8fFpafHwoWlo9bmV3IG5uKSx0aGlzLlFuPXRoaXMuQT1udWxsLHRoaXMuWGk9dGhpcy5qbT1mYWxzZSx0aGlzLnMyPXZvaWQgMCx0aGlzLktYPXRoaXMuWjc9dGhpcy5jVj1udWxsLFQ9Njk7ZWxzZSBpZihUPT03NSlUPTQ7ZWxzZXtpZihUPT01MSlyZXR1cm4gTjtUPT00P1Q9QjxtLmxlbmd0aD81Mjo1MTpUPT04OT9UPShHLTVeMzIpPj1HJiYoRy00fDE2KTxHP2s6Njk6VD09MTM/KG49QnUoMyxuKSxaJiZaW2RKXT9aLkkuYWRkKFN0cmluZyhtKSxuLGgsTlAoNCxSLDE2LGMpPyEhYy5jYXB0dXJlOiEhYyxEKTpJQig2NCwib2JqZWN0IixmYWxzZSxuLGgsbSxaLGMsRCksVD01MSk6VD09OTA/KEI9MCxUPTc1KTpUPT01P1Q9QXJyYXkuaXNBcnJheShtKT85MDoxMzpUPT01Nz9UPTg5OlQ9PTE/KEIrKyxUPTQpOlQ9PTY5P1Q9Ry05Pj40PzUxOjU6VD09NTImJihUbyg1NCwib2JqZWN0Iiw5LHRydWUsRCxjLFosbixtW0JdKSxUPTEpfX19LGU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXt7bj0yMTt3aGlsZShuIT02NylpZihuPT0yMSluPTUwO2Vsc2UgaWYobj09MTkpbj0oKGteNTApJjI2KTw3JiYoa143OSk+PTI3Pzk2Ojg3O2Vsc2UgaWYobj09MjkpdHlwZW9mIGguY2xhc3NOYW1lPT1SP2guY2xhc3NOYW1lPUc6aC5zZXRBdHRyaWJ1dGUmJmguc2V0QXR0cmlidXRlKCJjbGFzcyIsRyksbj04OTtlbHNlIGlmKG49PTMpYz1HLHNSPT09dm9pZCAwJiYoc1I9UiksRD0oaD1zUik/aC5jcmVhdGVTY3JpcHRVUkwoYyk6YyxaPW5ldyBYMShEKSxuPTE5O2Vsc2UgaWYobj09NTApbj1rLTE+PjQ+PTEmJihrPj4xJjEyKTwyPzM6MTk7ZWxzZSBpZihuPT0yMClHLks9KChHLks/Ry5LKyJ+IjoiRToiKStoLm1lc3NhZ2UrUitoLnN0YWNrKS5zbGljZSgwLDIwNDgpLG49MTU7ZWxzZSBpZihuPT05NiluPTg3O2Vsc2UgaWYobj09OTIpWj1vQigxMyw3LDEsUixHLGgpPj1SLG49NjI7ZWxzZSBpZihuPT04NyluPShrfDMpPj40PDImJms+PjE+PS02Nj8yOTo4OTtlbHNlIGlmKG49PTYyKW49KGt8MjQpPT1rPzIwOjE1O2Vsc2UgaWYobj09ODkpbj0oays1JjgpPDgmJihrXjkzKT4+Mz49MT85Mjo2MjtlbHNlIGlmKG49PTE1KXJldHVybiBafX0sQVc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKGM9aztjIT00MDspe2lmKGM9PTM3KXJldHVybiBaO2lmKGM9PTY3KWM9Ry05PDwyPj1HJiYoRyszXjUpPEc/NTM6Mzc7ZWxzZSBpZihjPT04KXRoaXMudHlwZT1SLHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1oLHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLlB0PWZhbHNlLGM9MjM7ZWxzZSBpZihjPT01KWM9KEcrNSYxNCk9PTI/ODY6Njc7ZWxzZSBpZihjPT0xMyl7YTp7aWYoIShEPW51bGwsaD1ILnRydXN0ZWRUeXBlcyxoKXx8IWguY3JlYXRlUG9saWN5KXtaPUQ7YnJlYWsgYX10cnl7RD1oLmNyZWF0ZVBvbGljeShSLHtjcmVhdGVIVE1MOnBuLGNyZWF0ZVNjcmlwdDpwbixjcmVhdGVTY3JpcHRVUkw6cG59KX1jYXRjaChuKXtILmNvbnNvbGUmJkguY29uc29sZS5lcnJvcihuLm1lc3NhZ2UpfVo9RH1jPTV9ZWxzZSBjPT04Nj8oYjkuY2FsbCh0aGlzLFIsaHx8UWYublgoKSxEKSxjPTY3KTpjPT0zOT9jPShHJjc5KT09Rz84OjIzOmM9PWs/Yz0zOTpjPT01Mz8oWj10eXBlb2YgRC5jbGFzc05hbWU9PSJzdHJpbmciP0QuY2xhc3NOYW1lOkQuZ2V0QXR0cmlidXRlJiZELmdldEF0dHJpYnV0ZShSKXx8aCxjPTM3KTpjPT0yMyYmKGM9KEc8PDEmMTYpPDE2JiYoR141OSk+PjM+PTI/MTM6NSl9fSxLbj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7Zm9yKGM9Njc7YyE9Njk7KWlmKGM9PTU3KXRoaXMuc3JjPWgsdGhpcy5KeD1rLHRoaXMuWj17fSxjPTE3O2Vsc2V7aWYoYz09MTcpcmV0dXJuIEQ7Yz09Njc/Yz03NzpjPT0zMj9jPUc8PDImNT8xNzo1NzpjPT03Nz9jPShHPj4yJjMpPT1SPzM2OjMyOmM9PTM2JiYoV3UuY2FsbCh0aGlzKSx0aGlzLkk9bmV3IGpNKHRoaXMpLHRoaXMubHE9dGhpcyx0aGlzLk5vPW51bGwsYz0zMil9fSxJQj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSl7Zm9yKEk9MTc7SSE9NTE7KWlmKEk9PTY3KVouYWRkTGlzdGVuZXIoQiksST0wO2Vsc2UgaWYoST09MTcpST01MztlbHNlIGlmKEk9PTE5KUk9KGteNzQpPj40PzYxOjM3O2Vsc2UgaWYoST09MTEpST1aLmF0dGFjaEV2ZW50PzU0OjMyO2Vsc2V7aWYoST09Nyl0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoST09NzQpZm58fChuPVQpLG49PT12b2lkIDAmJihuPUcpLFouYWRkRXZlbnRMaXN0ZW5lcihjLnRvU3RyaW5nKCksQixuKSxJPTA7ZWxzZSBpZihJPT00OSlJPShrJjQ2KT09az85MzoxOTtlbHNlIGlmKEk9PTYxKUk9KGt8MjQpPT1rPzgwOjg2O2Vsc2UgaWYoST09MzcpST1jPzU1Ojc7ZWxzZSBpZihJPT04MClkPVIsST04NjtlbHNlIGlmKEk9PTg5KUk9Wi5hZGRFdmVudExpc3RlbmVyPzc0OjExO2Vsc2UgaWYoST09OTMpZD0hIShHLnJiJkQpJiZNUCg4LEQsRykhPWgmJighKGM9Ry5pcSwtMS1+KGN8RCktKGNeRCkpfHxHLmRpc3BhdGNoRXZlbnQodnUoNTYsUixELDIsNjQsOCxoLDI0KSkpJiYhRy5nLEk9MTk7ZWxzZSBpZihJPT04NSlkPXFQKFZmLFIpLEk9NDk7ZWxzZSBpZihJPT01NSlUPU5QKDQsUiwyMSxuKT8hIW4uY2FwdHVyZTohIW4sKFA9dFcoMjAsWikpfHwoWltsOV09UD1uZXcgak0oWikpLE49UC5hZGQoYyxoLEQsVCxtKSxJPTk3O2Vsc2V7aWYoST09MzYpdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtpZihJPT0wKWk5KyssST02MTtlbHNlIGlmKEk9PTUzKUk9KGstOXw4NCk8ayYmKGsrNV4zKT49az8xMDozNDtlbHNlIGlmKEk9PTU0KVouYXR0YWNoRXZlbnQoTG4oMywib24iLGMudG9TdHJpbmcoKSw0OCksQiksST0wO2Vsc2V7aWYoST09ODYpcmV0dXJuIGQ7ST09MzI/ST1aLmFkZExpc3RlbmVyJiZaLnJlbW92ZUxpc3RlbmVyPzY3OjM2Okk9PTEwPyhSLlFuJiZSLlFuLmZvckVhY2goRyx2b2lkIDApLEk9MzQpOkk9PTU5PyhCPUYxKDk0LCJvbiIsMyksTi5wcm94eT1CLEIuc3JjPVosQi5saXN0ZW5lcj1OLEk9ODkpOkk9PTk3P0k9Ti5wcm94eT82MTo1OTpJPT0zNCYmKEk9KGs8PDImMTMpPT00Pzg1OjQ5KX19fX0sZj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7e0Q9MzA7d2hpbGUoRCE9NzkpaWYoRD09OTQpRD0oa3w3KT4+Mz84ODo1MTtlbHNlIGlmKEQ9PTUxKXRoaXMuTW89SC5kb2N1bWVudHx8ZG9jdW1lbnQsRD04ODtlbHNlIGlmKEQ9PTg4KUQ9ay0yPDwyPj1rJiYoays0XjI5KTxrPzYyOjYzO2Vsc2UgaWYoRD09MzApRD05NDtlbHNlIGlmKEQ9PTYyKUMoRyxSLGgpLFJbeG5dPTI3OTYsRD02MztlbHNlIGlmKEQ9PTYzKXJldHVybiBjfX0sT1I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7e1Q9NTI7d2hpbGUoVCE9OTYpaWYoVD09NTApVD1jPT09IiJ8fGM9PXZvaWQgMD83NTo2NjtlbHNlIGlmKFQ9PTgxKVQ9Ui0yPj0xMCYmUis2PDI2PzU6ODY7ZWxzZSBpZihUPT02MilUPShSJjcwKT09Uj8yNDo3NDtlbHNlIGlmKFQ9PTc0KVQ9KFImNDUpPT1SPzE0OjExO2Vsc2UgaWYoVD09MjQpUD1mdW5jdGlvbigpe30sRD12b2lkIDAsYz1nSihHLGZ1bmN0aW9uKGQsSSl7Zm9yKEk9MTU7SSE9NjQ7KUk9PTE1P0k9UD82Nzo2NDpJPT02NyYmKGgmJnU5KGgpLEQ9ZCxQKCksUD12b2lkIDAsST02NCl9LCEhaCksWj1jWzBdLG49Y1sxXSxOPXtob3Q6ZnVuY3Rpb24oZCxJLFMsWCxNLHIsbCl7Zm9yKHI9NDc7ciE9MjU7KXtpZihyPT0xMylyZXR1cm4gTT1aKFMpLGQmJmQoTSksTTtyPT01MD8obCgpLHI9MjUpOnI9PTg0P3I9ST8zOToxMzpyPT1rPyhYPVAsUD1mdW5jdGlvbigpe1goKSx1OShsKX0scj0yNSk6cj09Mzk/cj1EPzUwOms6cj09NDcmJihsPWZ1bmN0aW9uKCl7RChmdW5jdGlvbih3KXt1OShmdW5jdGlvbigpe2Qodyl9KX0sUyl9LHI9ODQpfX0scGU6ZnVuY3Rpb24oZCl7biYmbihkKX19LFQ9NzQ7ZWxzZSBpZihUPT02NilELnNldEF0dHJpYnV0ZShtLGMpLFQ9MTE7ZWxzZSBpZihUPT01MilUPTgxO2Vsc2V7aWYoVD09MTEpcmV0dXJuIE47VD09ODY/VD0oUnw3Mik9PVI/OTI6NjI6VD09MTQ/KEFycmF5LmlzQXJyYXkoYykmJihjPWMuam9pbigiICIpKSxtPSJhcmlhLSIrWixUPTUwKTpUPT01Pyh0aGlzW3RoaXMrIiJdPXRoaXMsTj1Qcm9taXNlLnJlc29sdmUoKSxUPTg2KTpUPT05Mj8oRD1HLE49ZnVuY3Rpb24oKXtyZXR1cm4gRDxoLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpoW0QrK119Ontkb25lOnRydWV9fSxUPTYyKTpUPT0yMj8oQj1VUixaIGluIEI/RC5zZXRBdHRyaWJ1dGUobSxCW1pdKTpELnJlbW92ZUF0dHJpYnV0ZShtKSxUPTExKTpUPT02Nz8obj17fSxVUj0obi5hdG9taWM9RyxuLmF1dG9jb21wbGV0ZT0ibm9uZSIsbi5kcm9wZWZmZWN0PSJub25lIixuLmhhc3BvcHVwPUcsbi5saXZlPSJvZmYiLG4ubXVsdGlsaW5lPUcsbi5tdWx0aXNlbGVjdGFibGU9RyxuLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIsbi5yZWFkb25seT1HLG4ucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0IixuLnJlcXVpcmVkPUcsbi5zb3J0PSJub25lIixuLmJ1c3k9RyxuLmRpc2FibGVkPUcsbltoXT1HLG4uaW52YWxpZD0iZmFsc2UiLG4pLFQ9MjIpOlQ9PTc1JiYoVD1VUj8yMjo2Nyl9fX0sem89ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7e2M9Mzt3aGlsZShjIT01NilpZihjPT02OCljPShHJjEwMyk9PUc/azpSO2Vsc2V7aWYoYz09UilyZXR1cm4gWjtjPT0zNj8oaC5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChELGZ1bmN0aW9uKG4pe0pXKDM1LDcsImNsYXNzIiwyMCwiICIsInN0cmluZyIsMCxoLG4pfSk6ZSgzLCJzdHJpbmciLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChCdSgzNCwiY2xhc3MiLGgpLGZ1bmN0aW9uKG4pe3JldHVybiFlKDQ0LDAsbixEKX0pLmpvaW4oIiAiKSxoKSxjPTY4KTpjPT1rPyhaPXRoaXMubj09PTA/MDpNYXRoLnNxcnQodGhpcy5oeC90aGlzLm4pLGM9Uik6Yz09Mz9jPTY6Yz09NiYmKGM9KEd8MjQpPT1HPzM2OjY4KX19fSxxPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtKXt3aGlsZShrLTM+PjQ9PTQpe2E6e2ZvcigwO1IuVjswKXttPWtmKFIsUi5HKTticmVhayBhO2lmKDEpYnJlYWt9KGg9R04oOCxSLHRydWUpLGgmMTI4KSYmKGhePTEyOCxEPUdOKDIsUix0cnVlKSxoPShHPWg8PDIsKEcmRCktMS1+KEd8RCkpKSxtPWh9aWYoImoiKWJyZWFrfXdoaWxlKCgoa14yMSkmMjMpPT00KXthOntpZihSLlYpe209a2YoUixSLkcpO2JyZWFrIGF9aD1HTig4LFIsdHJ1ZSksaCYxMjgmJihoXj0xMjgsRz1HTigyLFIsdHJ1ZSksaD0oRD1oPDwyLChEJkcpLTEtfihEfEcpKSksbT1ofWlmKHRydWUpYnJlYWt9cmV0dXJuKCgoa14oKChrXjM4KSYxNSk+PTkmJmstNDwxOSYmKGg9UnYoRyksaCYxMjgmJihoPS1+KGgmMTI3KSsofmgmMTI3KSsoaHwtMTI4KXxSdihHKTw8UiksbT1oKSw3MCkpJjE1KT09MyYmKGg9eWZbRy5SXShHLnZWKSxoW0cuUl09ZnVuY3Rpb24oKXt3aGlsZSh0cnVlKXtyZXR1cm4gUjtpZih0cnVlIT1bXSlicmVha319LGguY29uY2F0PWZ1bmN0aW9uKEIpe1I9Qn0sbT1oKSwoKGteNTEpJjE1KT09MSkmJihtPShaPShjPWhbR108PDI0LEQ9aFsoR3wwKSsxXTw8MTYsKGN8MCkrKGNeRCkrKH5jXkQpLShjfH5EKSksbj1oWyhHfDApKzJdPDxSLC0obnwwKSsyKihaJm4pKyhaXm4pKyh+WiZuKSl8aFsoR3wwKSszXSksbX0sUkI9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7Zm9yKFA9Njk7UCE9MDspaWYoUD09NTMpbj1oLmxlbmd0aCxaPXR5cGVvZiBoPT09InN0cmluZyI/aC5zcGxpdChHKTpoLGM9UixQPTI7ZWxzZSBpZihQPT0xMilQPWstMT4+Mz09Mz85MDo1MTtlbHNlIGlmKFA9PTQ5KVA9NDc7ZWxzZSBpZihQPT0yKVA9OTQ7ZWxzZSBpZihQPT04MSlQPShrKzdeMjEpPj1rJiZrLTc8PDE8az80MTo3MjtlbHNlIGlmKFA9PTExKUQ9bj0wLFA9NDk7ZWxzZSBpZihQPT04MilEKyssUD00NztlbHNlIGlmKFA9PTk2KU49TWF0aC5mbG9vcih0aGlzLlRmKyh0aGlzLkooKS10aGlzLmtOKSksUD04MTtlbHNlIGlmKFA9PTY5KVA9NTc7ZWxzZSBpZihQPT00MiljIGluIFomJkQuY2FsbCh2b2lkIDAsWltjXSxjLGgpLFA9ODc7ZWxzZSBpZihQPT05NClQPWM8bj80MjoxMjtlbHNlIGlmKFA9PTkwKXthOmlmKEcuUC5sZW5ndGgpeyhHLm8mJiI6VFFSOlRRUjoiKCksRykuRTk9RCxHLm89dHJ1ZTt0cnl7Wj1HLkooKSxHLkUyPTAsRy5vbz0wLEcuY3Q9WixHLmtOPVosYz1jdSgyLHRydWUsMjQsbnVsbCwiOiIsRCxHKSxtPWg/MDoxMCxuPUcuSigpLUcua04sRy5UZis9bixHLkJWJiZHLkJWKG4tRy5YLEcudSxHLlcsRy5FMiksRy51PVIsRy5YPTAsRy5XPVIsbjxtfHxHLnM5LS08PTB8fChuPU1hdGguZmxvb3IobiksRy51WC5wdXNoKG48PTI1ND9uOjI1NCkpfWZpbmFsbHl7Ry5vPVJ9Tj1jO2JyZWFrIGF9UD01MX1lbHNlIGlmKFA9PTg3KWMrKyxQPTk0O2Vsc2UgaWYoUD09NTcpUD0oaysxJjYzKTxrJiYoay0yfDcwKT49az85Njo4MTtlbHNlIGlmKFA9PTU5KW4rPVIuY2hhckNvZGVBdChEKSxuKz1uPDwxMCxuPShjPW4+PjYsKG58YykrfmMtKG58fmMpKSxQPTgyO2Vsc2UgaWYoUD09NDEpe2E6e2lmKHRoaXMubj09PTApe049WzAsMF07YnJlYWsgYX1OPSh0aGlzLlQuc29ydChmdW5jdGlvbihkLEkpe3JldHVybiBkLUl9KSxbdGhpcy5uLHRoaXMuVFt0aGlzLlQubGVuZ3RoPj4xXV0pfVA9NzJ9ZWxzZSBpZihQPT03MilQPShrKzdeMTIpPGsmJmstNjw8MT49az8xMTo3MDtlbHNlIGlmKFA9PTIwKW4rPW48PDMsbl49bj4+MTEsWj1uKyhuPDwxNSk+Pj4wLG09bmV3IE51bWJlcigoQj0oVD0xPDxHLChUfDEpLShUJjEpLTIqKH5UJjEpKSwoWnwwKSsoQnwwKS0oWnxCKSkpLG1bMF09KFo+Pj5HKSVoLE49bSxQPTcwO2Vsc2V7aWYoUD09NTEpcmV0dXJuIE47UD09NDc/UD1EPFIubGVuZ3RoPzU5OjIwOlA9PTcwJiYoUD0oa3wzMik9PWs/NTM6MTIpfX0sYT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQpe2ZvcihCPTgzO0IhPTg2Oyl7aWYoQj09ODIpcmV0dXJuIFQ7aWYoQj09NjApQj0oayYxMTQpPT1rPzMyOjgyO2Vsc2V7aWYoQj09MTcpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0cpO2lmKEI9PTU2KXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK1IpO2lmKEI9PTEwKUcuUC5zcGxpY2UoMCwwLFIpLEI9MzM7ZWxzZSBpZihCPT04MylCPTM7ZWxzZSBpZihCPT0xMilCPUc/NTA6MTc7ZWxzZSBpZihCPT0zKUI9KGt8NDApPT1rPzEwOjMzO2Vsc2UgaWYoQj09NTApQj10eXBlb2YgUiE9PSJmdW5jdGlvbiI/NTY6NjA7ZWxzZSBpZihCPT0zMil7YTppZihjPXdpbmRvdy5idG9hKXtmb3IoWj0wLG49IiI7WjxoLmxlbmd0aDtaKz1HKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoUixoLnNsaWNlKFosWitHKSk7VD0obT1jKG4pLEQmJihtPW0ucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIikpLG0pO2JyZWFrIGF9Qj04Mn1lbHNlIEI9PTMzJiYoQj0oaz4+MiY3KT09MT8xMjo2MCl9fX0sQlk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD02OTtkIT0yMjspaWYoZD09NTUpREQuY2FsbCh0aGlzLGgpLGQ9NjE7ZWxzZSBpZihkPT05OClQPShUPVpEW2suc3Vic3RyaW5nKDAsMykrIl8iXSk/VChrLnN1YnN0cmluZygzKSxHLGgsRCxjLFosbixtLEIpOkpXKDM1LDcsRyw1LGspLGQ9Mjc7ZWxzZSBpZihkPT0zMilkPWM/NzQ6MTY7ZWxzZSBpZihkPT02OSlkPTk7ZWxzZSBpZihkPT0xNiltPW4/dHlwZW9mIG4ublg9PT0iZnVuY3Rpb24iP24ublgoKTpuZXcgbjpudWxsLGQ9NTc7ZWxzZSBpZihkPT0yMClkPTMyO2Vsc2UgaWYoZD09NTcpdGhpcy5DPW0sZD00MTtlbHNlIGlmKGQ9PTk3KWQ9KG49bnJbWl0pPzcxOjI2O2Vsc2UgaWYoZD09NzUpYz10aGlzLmNvbnN0cnVjdG9yLGQ9MTE7ZWxzZSBpZihkPT04NylOPWZ1bmN0aW9uKCl7fSxOLnByb3RvdHlwZT1oLnByb3RvdHlwZSxHLk89aC5wcm90b3R5cGUsRy5wcm90b3R5cGU9bmV3IE4sRy5wcm90b3R5cGUuY29uc3RydWN0b3I9RyxHLmN3PWZ1bmN0aW9uKEksUyxYKXtmb3IodmFyIE09MTk7TSE9MjU7KWlmKE09PTE5KXZhciByPUFycmF5KChNPTEsYXJndW1lbnRzLmxlbmd0aC1rKSksbD1rO2Vsc2UgaWYoTT09MilyW2wta109YXJndW1lbnRzW2xdLE09NDE7ZWxzZXtpZihNPT01MilyZXR1cm4gaC5wcm90b3R5cGVbU10uYXBwbHkoSSxyKTtNPT00MT8obCsrLE09NTMpOk09PTUzP009bDxhcmd1bWVudHMubGVuZ3RoPzI6NTI6TT09MSYmKE09NTMpfX0sZD03O2Vsc2UgaWYoZD09MjYpYz0oRD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYy5wcm90b3R5cGUpKSYmRC5jb25zdHJ1Y3RvcixkPTIwO2Vsc2UgaWYoZD09MjcpZD0oUis1JjcpPj01JiZSPj4xPDE1PzU1OjQxO2Vsc2UgaWYoZD09NjEpZD0obT1HKT81Nzo3NTtlbHNlIGlmKGQ9PTQxKWQ9KFJ8NDApPT1SPzg3Ojc7ZWxzZSBpZihkPT05KWQ9Uis0Pj4zPT0yPzk4OjI3O2Vsc2UgaWYoZD09NylkPShSfDcyKT09Uj85OTo3MztlbHNlIGlmKGQ9PTk5KVA9YSgxNixudWxsLDgxOTIsayxmYWxzZSksZD03MztlbHNle2lmKGQ9PTczKXJldHVybiBQO2Q9PTc0PyhaPUNuKDY0LDE5LGMpLGQ9OTcpOmQ9PTcxP2Q9MTY6ZD09MTEmJihkPTMyKX19LFBZPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFAsZCl7e2Q9NTU7d2hpbGUoZCE9NSlpZihkPT04NylkPTQxO2Vsc2UgaWYoZD09NTUpZD01NztlbHNlIGlmKGQ9PTQ1KXthOntpZighKFo9Ry5JLlpbU3RyaW5nKGgpXSxaKSl7UD10cnVlO2JyZWFrIGF9Zm9yKG49KFo9Wi5jb25jYXQoKSxOPXRydWUsUik7bjxaLmxlbmd0aDsrK24pKFQ9WltuXSkmJiFULmZYJiZULmNhcHR1cmU9PUQmJihCPVQuVm58fFQuc3JjLG09VC5saXN0ZW5lcixULmFvJiZySigzLFIsVCxHLkkpLE49bS5jYWxsKEIsYykhPT1mYWxzZSYmTik7UD1OJiYhYy5kZWZhdWx0UHJldmVudGVkfWQ9Mzd9ZWxzZSBpZihkPT0zNylkPWs8PDE+PTI1JiYoa3wxKT4+NTwyPzg3OjQxO2Vsc2V7aWYoZD09NDEpcmV0dXJuIFA7ZD09NTcmJihkPShrKzJeMjQpPj1rJiZrKzM+PjI8az80NTozNyl9fX0sdnU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe2ZvcihUPTQ7VCE9Njc7KWlmKFQ9PTkzKVQ9KG58OSk+PjQ/NDc6aztlbHNlIGlmKFQ9PTU1KVRvKDU0LCJvYmplY3QiLDEwLGMsbSxoLEQsRyxaKSxUPTQ3O2Vsc2UgaWYoVD09ODEpe2E6e3N3aXRjaChHKXtjYXNlIDE6Tj1aPyJkaXNhYmxlIjoiZW5hYmxlIjticmVhayBhO2Nhc2UgaDpOPVo/ImhpZ2hsaWdodCI6InVuaGlnaGxpZ2h0IjticmVhayBhO2Nhc2UgUjpOPVo/ImFjdGl2YXRlIjoiZGVhY3RpdmF0ZSI7YnJlYWsgYTtjYXNlIGM6Tj1aPyJzZWxlY3QiOiJ1bnNlbGVjdCI7YnJlYWsgYTtjYXNlIDE2Ok49Wj8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgMzI6Tj1aPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSBEOk49Wj8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31UPTczfWVsc2UgaWYoVD09NTQpVD03NDtlbHNlIGlmKFQ9PTQ3KVQ9KChuXjEyKSY4KTw0JiYobnwyKT49LTMxPzgxOjczO2Vsc2V7aWYoVD09NzMpcmV0dXJuIE47VD09MD8oRz1CdSg2LEcpLEQmJkRbZEpdP0QuSS5hZGQoU3RyaW5nKFopLEcsUixOUCg0LCJvYmplY3QiLDIwLGgpPyEhaC5jYXB0dXJlOiEhaCxtKTpJQig2Niwib2JqZWN0IixmYWxzZSxHLFIsWixELGgsbSksVD00Nyk6VD09ND9UPTkzOlQ9PTc0P1Q9QjxaLmxlbmd0aD83Nzo0NzpUPT02OT8oQj0wLFQ9NTQpOlQ9PWs/VD1oJiZoLm9uY2U/NTU6NDg6VD09OTg/KEIrKyxUPTc0KTpUPT00OD9UPUFycmF5LmlzQXJyYXkoWik/Njk6MDpUPT03NyYmKHZ1KDU2LGZhbHNlLEcsaCxELHRydWUsWltCXSw1LG0pLFQ9OTgpfX0sRTU9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5oPXRoaXMuaHg9dGhpcy5uPTB9cmV0dXJuW2Z1bmN0aW9uKGgpeyhrLmdiKGgpLFIpLmdiKGgpfSwoUj0oaz1uZXcgKEcucHJvdG90eXBlLnJKPShHLnByb3RvdHlwZS5nYj1mdW5jdGlvbihoLEQpe3JldHVybiBvQi5jYWxsKHRoaXMsMTMsNjUsaCxEKX0sZnVuY3Rpb24oKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDMpfSksRyksbmV3IEcpLGZ1bmN0aW9uKGgsRCl7cmV0dXJuIEQ9W2suckooKSxSLnJKKCksay5oLFIuaF0sKGg9PT12b2lkIDB8fGgpJiYoUj1uZXcgRyksRH0pXX0sSlc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7VD05O3doaWxlKFQhPTgwKWlmKFQ9PTkpVD00ODtlbHNle2lmKFQ9PTI1KXJldHVybiBCO1Q9PTQ4P1Q9KChoXjEzKSY0KTwzJiYoaHw5KT4+Mz49Mj81NjoxNzpUPT04NT8oRyhmdW5jdGlvbihOKXtOKEQpfSksQj1bZnVuY3Rpb24oKXtyZXR1cm4gRH0sZnVuY3Rpb24oKXt9XSxUPTI1KTpUPT01Nj8obi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QucmVtb3ZlKG0pOihuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5jb250YWlucyhtKTplKDQ2LFosbSxCdShrLEcsbikpKSYmZShSLGMsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEJ1KDMzLEcsbiksZnVuY3Rpb24oTil7cmV0dXJuIE4hPW19KS5qb2luKEQpLG4pLFQ9MTcpOlQ9PTE3JiYoVD1oPj4yPDE2JiYoaCsxJjIpPj0xPzg1OjI1KX19fSxGMT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e049MjY7d2hpbGUoTiE9MTcpaWYoTj09NDIpYz10cnVlLE49NDY7ZWxzZSBpZihOPT04MylUPWZ1bmN0aW9uKFApe3JldHVybiBoLmNhbGwoVC5zcmMsVC5saXN0ZW5lcixQKX0saD10byxCPVQsTj0yMTtlbHNlIGlmKE49PTYwKW09bmV3IHJVKEQsdGhpcyksWj1oLlZufHxoLnNyYyxuPWgubGlzdGVuZXIsaC5hbyYmY1koMzMsbnVsbCwzLFIsaCksYz1uLmNhbGwoWixtKSxOPTQ2O2Vsc2UgaWYoTj09MjYpTj1rO2Vsc2V7aWYoTj09NTcpcmV0dXJuIEI7Tj09MjE/Tj0oR14yNCk8NyYmRy03Pj01PzMwOjU3Ok49PWs/Tj0oRz4+MSY3KT09MT84MzoyMTpOPT0zMD9OPWguZlg/NDI6NjA6Tj09NDYmJihCPWMsTj01Nyl9fX0sYXY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7d2hpbGUoIVIueW4mJihCPXZvaWQgMCxoJiZoWzBdPT09d1UmJihCPWhbMl0sRz1oWzFdLGg9dm9pZCAwKSxuPVYoayxSKSxuLmxlbmd0aD09MCYmKEQ9VigxNjgsUik+PjMsbi5wdXNoKEcsRD4+OCYyNTUsRCYyNTUpLEIhPXZvaWQgMCYmbi5wdXNoKEImMjU1KSksUD0iIixoJiYoaC5tZXNzYWdlJiYoUCs9aC5tZXNzYWdlKSxoLnN0YWNrJiYoUCs9IjoiK2guc3RhY2spKSxtPVcoUiwzMDIpLG1bMF0+MykpeyhUPShQPShtWzBdLT0oUD1QLnNsaWNlKDAsKG1bMF18MCktMyksWj1QLmxlbmd0aCwoWnwzKS1+Wisoflp8MykpLGVlKShQLDEyOCksUikuQixSKS5CPVI7dHJ5e1IuSHQ/KE49KE49Vig0NDYsUikpJiZOW04ubGVuZ3RoLTFdfHw5NSwoYz1XKFIsMTYzKSkmJmNbYy5sZW5ndGgtMV09PU58fGxOKDE2MyxbTiYyNTVdLDcsUikpOmplKDQ0NixbOTVdLFIpLGxOKDQyLEsoMixQLmxlbmd0aCkuY29uY2F0KFApLDcsUiwxNDQpfWZpbmFsbHl7Ui5CPVR9aWYoe30pYnJlYWt9fSxHTj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSxTKXtpZihoPVYoMTQyLFIpLGg+PVIuail0aHJvd1t3VSwzMV07Zm9yKGM9KEk9KG09KE49MCxoKSxSLkNqKS5sZW5ndGgsayk7Yz4wOylaPW0+PjMsUz1tJTgsUD1SLndiW1pdLG49OC0oU3wwKSxCPW48Yz9uOmMsRyYmKGQ9UixkLmwhPW0+PjYmJihkLmw9bT4+NixEPWIoZCwzNjMpLGQud0o9eWgoMTYsZC5sLDI1NSxkLk4sWzAsMCxEWzFdLERbMl1dKSksUF49Ui53SltaJkldKSxOfD0oUD4+OC0oU3wwKS0oQnwwKSYoMTw8QiktMSk8PChjfDApLShCfDApLG0rPUIsYy09QjtyZXR1cm4gQygxNDIsKGh8MCkrKGt8KFQ9TiwwKSksUiksVH0sWT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7KFIrNyY0NCk+PVImJlIrND4+MjxSJiYoaD1bLTc1LC0zMSw3MSwtMzUsNDYsLTEwMCxoLDk0LDUwLC03OF0sWj1jJjcsbT1TZSxCPXlmW0cuUl0oRy5KcyksQltHLlJdPWZ1bmN0aW9uKFApe249UDt3aGlsZShudWxsPT1mYWxzZT09MClpZighKForPTYrNypjLFtdKT09dHJ1ZT09IVtdKWJyZWFrO1o9MTYrfihafDcpK2sqKFomLTgpKyh+Wl43KX0sQi5jb25jYXQ9ZnVuY3Rpb24oUCxkLEkpe3JldHVybihkPShuPShQPShJPUQlMTYrMSwrKG0oKXwwKSpJLTc4KkQqRCpuKzM5Km4qbi0yMjYyKm4rWi0gLTEyMDkqRCpuK2hbWisxOSY3XSpEKkkpLUkqbitrKkQqRCpJLHZvaWQgMCksaFtQXSksaClbKForNjEmNykrKC0yLWsqfihjfGspK2sqKH5jXmspKyh+YyZrKSldPWQsaFtaKygtfihjJmspKyhjXmspLSh+YyZrKSsofmN8aykpXT0tMzEsZH0sTj1CKTtzd2l0Y2goISgoUl4xMyk8MjQmJihSXjkwKT49MTgpKXtjYXNlIHRydWU6TnVtYmVyKHRydWUudHJ1ZSk7YnJlYWs7Y2FzZSB0cnVlPT1bXTpzd2l0Y2goIShEPVhYKCJhcnJheSIsaCwibnVsbCIpPT09ImFycmF5Ij9oOltoXSx0aGlzLkspKXtjYXNlIHRydWU6dHJ5e2M9IXRoaXMuUC5sZW5ndGgmJiF0aGlzLm8sYSg1NyxbJGYsW10sRCxrLEddLHRoaXMpLEcmJiFjfHxSQigyNyxmYWxzZSx0aGlzLHRydWUsRyl9Y2F0Y2goUCl7ZSg1NiwiOiIsdGhpcyxQKSxrKHRoaXMuSyl9YnJlYWs7Y2FzZSB0cnVlPT1bXT09bnVsbDprKHRoaXMuSyk7YnJlYWt9YnJlYWt9KFIrM14xMik+PVImJihSKzJeMjcpPFImJihOPVQ9ZnVuY3Rpb24oKXt7dmFyIFA9NzE7d2hpbGUoUCE9OSlpZihQPT0xNil2YXIgZD1bTVQsKFA9OTcsYyksaCx2b2lkIDAsbixtLGFyZ3VtZW50c107ZWxzZSBpZihQPT01OSlQPVouWT8xNjo4ODtlbHNlIGlmKFA9PTk3KVA9RD09Rz83OTozNTtlbHNlIGlmKFA9PTM1KVA9RD09MT81NjoyNztlbHNlIGlmKFA9PTI3KXt2YXIgST1rbihkLDIsdHJ1ZSxaKTtQPTk5fWVsc2UgaWYoUD09NTYpe3ZhciBTPSFaLlAubGVuZ3RoJiYhWi5vO2EoNDMsZCxaKSxTJiZSQigyOCxmYWxzZSxaLGssayksUD05OX1lbHNlIGlmKFA9PTg4KW4mJm0mJm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihtLFQsb3YpLFA9OTtlbHNle2lmKFA9PTk5KXJldHVybiBJO1A9PTcxP1A9Wi5CPT1aPzU5Ojk6UD09NzkmJihhKDQyLGQsWiksST1SQigyOSxmYWxzZSxaLGssayksUD05OSl9fX0pO3N3aXRjaCghKChSfDcyKT09Uikpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgW109PShbXSE9KCFbXT09MCkpOmE6e2lmKGsuVil7Tj1rZihrLGsuRyk7YnJlYWsgYX0oRz1HTig4LGssdHJ1ZSksRyYxMjgpJiYoR149MTI4LGg9R04oMixrLHRydWUpLEc9KEQ9Rzw8MiwoRCZoKS0xLX4oRHxoKSkpLE49R31icmVha313aGlsZShSPj4yPj05JiYoKFJeMTkpJjI0KTwxOSl7RD1xKDE3LEcpO3tjPTA7d2hpbGUoaD4wKWM9Yzw8a3xSdihHKSxoLS19aWYoIVtdPT0oMCE9IShDKEQsYyxHKSxbXSkpKWJyZWFrfXJldHVybiBOfSxzNT1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDksayl9LENyPWZ1bmN0aW9uKGssUil7e3ZhciBHPTkzO3doaWxlKEchPTUxKWlmKEc9PTkzKXZhciBoPShHPTUwLDEpO2Vsc2UgaWYoRz09NjQpRz1oPGFyZ3VtZW50cy5sZW5ndGg/NzU6NTE7ZWxzZSBpZihHPT03NSl7dmFyIEQ9YXJndW1lbnRzW2hdO2ZvcihaIGluIEQpa1taXT1EW1pdO3ZhciBjPShHPTk2LDApfWVsc2UgaWYoRz09OTYpRz04NDtlbHNlIGlmKEc9PTUwKUc9NjQ7ZWxzZSBpZihHPT03MiljKyssRz04NDtlbHNlIGlmKEc9PTg0KUc9YzxIWS5sZW5ndGg/ODA6MjtlbHNlIGlmKEc9PTIpaCsrLEc9NjQ7ZWxzZSBpZihHPT04MCl7dmFyIFo9SFlbY107T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsWikmJihrW1pdPURbWl0pLEc9NzJ9fX0sTlQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEkpe2ZvcihkPTI0O2QhPTE5OylpZihkPT05NilBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEcsZnVuY3Rpb24oUyxYLE0pe2ZvcihNPTI0O00hPTI2OylNPT0yND9NPWsuY2xhc3NMaXN0PzYwOjQ5Ok09PTQ5P009KGsuY2xhc3NMaXN0P2suY2xhc3NMaXN0LmNvbnRhaW5zKFMpOmUoNDUsMCxTLEJ1KDMyLCJjbGFzcyIsaykpKT8yNjo1NTpNPT01NT8oWD1BVyg0MSwiY2xhc3MiLDI4LCIiLGspLGUoNiwic3RyaW5nIixYKyhYLmxlbmd0aD4wPyIgIitTOlMpLGspLE09MjYpOk09PTYwJiYoay5jbGFzc0xpc3QuYWRkKFMpLE09MjYpfSksZD0yNztlbHNlIGlmKGQ9PTkwKWQ9KFI8PDEmOSk+PTEmJihSPj4yJjEyKTw2Pzg2OjI3O2Vsc2UgaWYoZD09MjQpZD02MTtlbHNlIGlmKGQ9PTg2KWQ9ay5jbGFzc0xpc3Q/OTY6NztlbHNlIGlmKGQ9PTI3KWQ9KFJeMzQpPDI2JiYoUisxJjE1KT49OT81ODo5NztlbHNlIGlmKGQ9PTEwKWQ9YzxoLmxlbmd0aD8zMzo3NDtlbHNlIGlmKGQ9PTEzKWMrKyxkPTEwO2Vsc2V7aWYoZD09OTcpcmV0dXJuIEk7aWYoZD09Nyl7Zm9yKGMgaW4gaD0oKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoKEQ9e30sQnUpKDM2LCJjbGFzcyIsayksZnVuY3Rpb24oUyl7RFtTXT10cnVlfSksQXJyYXkucHJvdG90eXBlKS5mb3JFYWNoLmNhbGwoRyxmdW5jdGlvbihTKXtEW1NdPXRydWV9KSwiIiksRCloKz1oLmxlbmd0aD4wPyIgIitjOmM7ZD0oZSg1LCJzdHJpbmciLGgsayksMjcpfWVsc2UgaWYoZD09ODkpZD1EPms/Njo1NztlbHNlIGlmKGQ9PTYpWltuKytdPUQmayxEPj49OCxkPTU3O2Vsc2UgaWYoZD09MzMpRD1oLmNoYXJDb2RlQXQoYyksZD04OTtlbHNlIGlmKGQ9PTc0KUk9WixkPTk3O2Vsc2UgaWYoZD09OTQpZD0xMDtlbHNlIGlmKGQ9PTU3KVpbbisrXT1ELGQ9MTM7ZWxzZSBpZihkPT01OCluPWM9RyxaPVtdLGQ9OTQ7ZWxzZSBpZihkPT04KXthOntpZihELkI9KChELkgrPShaPShuPShjfHxELm9vKyssRC5xbz4wJiZELm8mJkQuRTkpJiZELkQ3PD0xJiYhRC5WJiYhRC5TJiYoIWN8fEQuZEotRz4xKSYmZG9jdW1lbnQuaGlkZGVuPT1rLChCPUQub289PTQpfHxuP0QuSigpOkQuY3QpLG09Wi1ELmN0LG0pPj4xND4wLEQpLk4mJihELk49KFQ9RC5OLE49KEQuSCsxPj4yKSoobTw8MiksLSh+VF5OKSsoflQmTikrKFR8fk4pKSksRC5IKzE+PjIhPTB8fEQuQiksQnx8bilELm9vPTAsRC5jdD1aO2lmKCFuKXtJPWs7YnJlYWsgYX1pZigoRC5xbz5ELkUyJiYoRC5FMj1ELnFvKSxaLUQua04pPEQucW8tKGg/MjU1OmM/NToyKSl7ST1rO2JyZWFrIGF9ST0oQygxNDIsKFA9VihjPzE2ODoxNDIsKEQuZEo9RyxEKSksRC5qKSxEKSxELlAucHVzaChbbWMsUCxjP0crMTpHLEQudSxELlddKSx0cnVlKSxELlM9dTl9ZD02NH1lbHNlIGQ9PTE3PyhJPWsmJmsucGFyZW50Tm9kZT9rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoayk6bnVsbCxkPTkwKTpkPT02ND9kPShSKzReMTApPj1SJiYoUis0XjI1KTxSPzE3OjkwOmQ9PTYxJiYoZD1SPj4xJjE1PzY0OjgpfX0sTG49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2ZvcihuPTgwO24hPTk1Oyl7aWYobj09MTUpcmV0dXJuIG07bj09Nzg/bj0oaC1rJjcpPT0xPzU1OjgxOm49PTU1Pyh0aGlzLmxpc3RlbmVyPVosdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPWMsdGhpcy50eXBlPUcsdGhpcy5jYXB0dXJlPSEhRCx0aGlzLlZuPVIsdGhpcy5rZXk9KytJdix0aGlzLmFvPXRoaXMuZlg9ZmFsc2Usbj04MSk6bj09NTY/KG09RyBpbiBUTj9UTltHXTpUTltHXT1SK0csbj0xNSk6bj09Mzg/bj0oaHw0OCk9PWg/NTY6MTU6bj09MTM/KEcucFgoZnVuY3Rpb24oQil7Yz1CfSxSLEQpLG09YyxuPTM4KTpuPT04MT9uPWgtNyY1PzM4OjEzOm49PTgwJiYobj03OCl9fSxCdT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQpe2ZvcihQPTI1O1AhPTU2OylpZihQPT00MCltPXRXKDY4LG4pLFA9NDc7ZWxzZSBpZihQPT0zMyluLkkucmVtb3ZlKFN0cmluZyhaKSxELEIsYyksUD05MztlbHNlIGlmKFA9PTQ3KVA9bT82Njo5MztlbHNlIGlmKFA9PTQ0KU49UixQPTE4O2Vsc2UgaWYoUD09NzMpUD0oa3wzMik9PWs/NTk6NDg7ZWxzZXtpZihQPT00OClyZXR1cm4gZDtpZihQPT01MilQPUFycmF5LmlzQXJyYXkoWik/NDQ6MzE7ZWxzZSBpZihQPT01OSlkPUcuY2xhc3NMaXN0P0cuY2xhc3NMaXN0OkFXKDQxLFIsMjYsIiIsRykubWF0Y2goL1xcUysvZyl8fFtdLFA9NDg7ZWxzZSBpZihQPT03MClQPWsrNj4+ND83Mzo5NDtlbHNlIGlmKFA9PTk0KXthOntpZih0eXBlb2YgUj09PSJmdW5jdGlvbiIpe2Q9UjticmVhayBhfWQ9KFJbZFVdfHwoUltkVV09ZnVuY3Rpb24oSSl7cmV0dXJuIFIuaGFuZGxlRXZlbnQoSSl9KSxSW2RVXSl9UD03M31lbHNlIGlmKFA9PTE4KVA9MzA7ZWxzZSBpZihQPT05MylQPShrLTdeMjMpPj1rJiYoays3JjI1KTxrPzc3OjcwO2Vsc2UgaWYoUD09MzcpUD0oa3w5KT4+Mz09Mz81Mjo5MztlbHNlIGlmKFA9PTI1KVA9Mzc7ZWxzZSBpZihQPT01MylQPW4mJm5bZEpdPzMzOjg5O2Vsc2UgaWYoUD09ODkpUD1uPzQwOjkzO2Vsc2UgaWYoUD09ODIpTisrLFA9MzA7ZWxzZSBpZihQPT0zMSlCPU5QKDQsRywxNyxoKT8hIWguY2FwdHVyZTohIWgsRD1CdSg1LEQpLFA9NTM7ZWxzZSBpZihQPT0yMSlCdSgxNywwLCJvYmplY3QiLGgsRCxjLFpbTl0sbiksUD04MjtlbHNlIGlmKFA9PTc3KXtmb3IoWiBpbihEPVIsaCkuWil7Zm9yKGM9KG49aC5aW1pdLFIpO2M8bi5sZW5ndGg7YysrKSsrRCxoVyg4LEcsbltjXSk7ZGVsZXRlIGguWltoLkp4LS0sWl19UD03MH1lbHNlIFA9PTY2PygoVD1tLkNYKFosRCxjLEIpKSYmY1koMzMsbnVsbCw1LCJvbiIsVCksUD05Myk6UD09MzAmJihQPU48Wi5sZW5ndGg/MjE6OTMpfX0sTlA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9OTY7WiE9NzM7KWlmKFo9PTU4KVo9KEd8MTYpPT1HPzQ3OjcwO2Vsc2V7aWYoWj09NzApcmV0dXJuIGM7Wj09NjY/Wj0oRysyXjIwKT49RyYmKEcrayY1Nyk8Rz82OTo1ODpaPT00Nz8oRD10eXBlb2YgaCxjPUQ9PVImJmghPW51bGx8fEQ9PSJmdW5jdGlvbiIsWj03MCk6Wj09Njk/KHRoaXMuS2o9UixaPTU4KTpaPT05NiYmKFo9NjYpfX0sY1k9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXtmb3IoQj05NTtCIT0wOylpZihCPT04KXRoaXMubisrLEI9ODE7ZWxzZSBpZihCPT05NylCPW0/ODA6Mzc7ZWxzZSBpZihCPT05NClCPXR5cGVvZiBEIT09Im51bWJlciImJkQmJiFELmZYPzE1OjMyO2Vsc2UgaWYoQj09MTUpYz1ELnNyYyxCPTEzO2Vsc2UgaWYoQj09ODApckooaywwLEQsbSksQj0yNjtlbHNlIGlmKEI9PTI2KUI9bS5KeD09MD82MzozMjtlbHNlIGlmKEI9PTY1KXRoaXMuVC5wdXNoKFIpLEI9MTg7ZWxzZSBpZihCPT0zNyloVyg3LHRydWUsRCksQj0zMjtlbHNlIGlmKEI9PTEzKUI9YyYmY1tkSl0/OTE6Mzk7ZWxzZSBpZihCPT02NyloPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLGg8NTAmJih0aGlzLlRbaF09UiksQj0xODtlbHNlIGlmKEI9PTM5KVo9RC50eXBlLG49RC5wcm94eSxjLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yy5yZW1vdmVFdmVudExpc3RlbmVyKFosbixELmNhcHR1cmUpOmMuZGV0YWNoRXZlbnQ/Yy5kZXRhY2hFdmVudChMbigzLGgsWiw1MCksbik6Yy5hZGRMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lcihuKSxpOS0tLG09dFcoMjEsYyksQj05NztlbHNlIGlmKEI9PTE5KUI9Ry04PDwyPj1HJiZHKzI+PjE8Rz84OjE4O2Vsc2UgaWYoQj09OTEpckooMzIsMCxELGMuSSksQj0zMjtlbHNlIGlmKEI9PTk1KUI9MTk7ZWxzZSBpZihCPT04MSlCPXRoaXMuVC5sZW5ndGg8NTA/NjU6Njc7ZWxzZSBpZihCPT02MyltLnNyYz1SLGNbbDldPVIsQj0zMjtlbHNle2lmKEI9PTMyKXJldHVybiBUO0I9PTE4JiYoQj0oR3wxKT4+Mz8zMjo5NCl9fSxLPWZ1bmN0aW9uKGssUixHLGgsRCl7Zm9yKGg9LX4oayYxKSsoRD1bXSwtMikrKGsmLTIpO2g+PTA7aC0tKURbfihrJjEpLTMqfmsrMip+KGt8MSkrKH5rJjEpLShofDApXT0oRz1SPj5oKjgsLTIqfihHJjI1NSktMSt+RysoRyYtMjU2KSk7aWYoe30pcmV0dXJuIER9LGZyPWZ1bmN0aW9uKCl7cmV0dXJuIFBZLmNhbGwodGhpcywxNCl9LFE9ZnVuY3Rpb24oayxSLEcpe3N3aXRjaCghKFI9PTE0Mnx8Uj09MTY4KSl7Y2FzZSB0cnVlOmlmKGsueW4mJlIhPTM2MylyZXR1cm47Uj09NDg4fHxSPT00Mnx8Uj09MjY0fHxSPT0xNHx8Uj09NTA2fHxSPT00NDZ8fFI9PTE2M3x8Uj09OTV8fFI9PTE5MXx8Uj09MzAyP2suWVtSXXx8KGsuWVtSXT1ZKDIsMzQsayxHLFIsMzgpKTprLllbUl09WSgyLDMzLGssRyxSLDEyOSk7YnJlYWs7Y2FzZSAhW106ay5ZW1JdP2suWVtSXS5jb25jYXQoRyk6ay5ZW1JdPXEoMjEsRyxrKTticmVha31SPT0zNjMmJihrLk49R04oMzIsayxmYWxzZSksay5sPXZvaWQgMCl9LER5PXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oayl7ZnVuY3Rpb24gUigpe31yZXR1cm4gUi5wcm90b3R5cGU9ayxuZXcgUn0sREQ9ZnVuY3Rpb24oayl7cmV0dXJuIFRvLmNhbGwodGhpcyw1NCxrLDI1KX0samU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe3N3aXRjaCghKEcuQj09Rykpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgISFudWxsOnttPWIoRyxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8oRD1mdW5jdGlvbihCLFQsTixQLGQsSSxTLFgpe2ZvcihJPShYPTE4LDg5KTs7KXRyeXtpZihYPT0zMylicmVhaztlbHNlIGlmKFg9PTU3KW0ucHVzaChtLkdmWy0oVHw3KS0yKn4oVHw3KSsoVHwtOCkrKH5UfDcpXV5CKSxYPTMzO2Vsc2V7aWYoWD09MzkpdGhyb3cgST04OSxTO1g9PTUwP1g9bS5tQiE9Tj81NDo1NzpYPT02OD8oST0zNixtLkdmPXloKDE2LHEoNTAsOCwtMS0yKn4oUHw0KSsoflBeNCksbSksMjU1LHEoMTgsOCxQLG0pLGQpLFg9NTcpOlg9PTU0PyhQPShOPDwzKS00LGQ9WzAsMCxjWzFdLGNbMl1dLG0ubUI9TixYPTY4KTpYPT0xOCYmKFQ9bS5sZW5ndGgsTj0oVHwwKS00Pj4zLFg9NTApfX1jYXRjaChNKXtpZihJPT04OSl0aHJvdyBNO0k9PTM2JiYoUz1NLFg9MzkpfX0sYz1WKDk1LEcpKTpEPWZ1bmN0aW9uKEIpe20ucHVzaChCKX0saCYmRCgoaHwwKS0gLTUxMisyKn4oaHwyNTUpKyhoJi0yNTYpKSxuPVIubGVuZ3RoLFo9MDt3aGlsZShaPG4pRChSW1pdKSxaKyt9YnJlYWt9fSxQZD1mdW5jdGlvbihrKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssMTYpfSxoMD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiw2LGssUixHLGgsRCxjKX0sYjk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssOCxSLEcsaCxELGMsWixuKX0sak09ZnVuY3Rpb24oayl7cmV0dXJuIEtuLmNhbGwodGhpcywwLDEsOCxrKX0sUnY9ZnVuY3Rpb24oayl7cmV0dXJuIGsuVj9rZihrLGsuRyk6R04oOCxrLHRydWUpfSx5aD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4pe1o9KGM9MCxEWzNdfDApO3tuPURbMl18MDt3aGlsZShjPGspUj1SPj4+OHxSPDwyNCxSKz1ofDAsWj1aPj4+OHxaPDwyNCxoPWg8PDN8aD4+PjI5LForPW58MCxSXj1uKzY1OSxuPW48PDN8bj4+PjI5LGhePVIsWl49Yys2NTksbl49WixjKyt9cmV0dXJuW2g+Pj4yNCZHLGg+Pj5rJkcsaD4+PjgmRyxoPj4+MCZHLFI+Pj4yNCZHLFI+Pj5rJkcsUj4+PjgmRyxSPj4+MCZHXX0sY2Q9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe0I9KGMuSnM9dFcoNzcsKGMuQ2o9Y1tBb10sYy5nSj14ZixjLllEPUpvLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25jYXQoKX19KSxjLlIpLGMudlY9eWZbYy5SXShjLkpzLHt2YWx1ZTp7dmFsdWU6e319fSksMCk7e049W107d2hpbGUoQjwzODMpTltCXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpLEIrK31pZihjLlJhPShjLmN0PShjLkI9KGMuRno9W10sYy5WVD1mdW5jdGlvbihQKXtyZXR1cm4gb0IuY2FsbCh0aGlzLDEzLDEyLFApfSwoYy5FMj0oYy5QPVtdLDApLGMuWT1bXSxjLlc9ZmFsc2UsYy53Yj1bXSxjKS5OPShjLks9KGMuRz12b2lkIDAsYy5Eaz1bXSx2b2lkIDApLFQ9d2luZG93LnBlcmZvcm1hbmNlfHx7fSx2b2lkIDApLGMpLDApLFQudGltZU9yaWdpbil8fChULnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCx0cnVlKWMud0o9dm9pZCAwO2MudT0oYy55VD0oKGMuVGU9RyxjLmRKPTMwMDAxLGMpLkQ3PTAsKGMuWD0wLGMpLnZ0PShjLm89ZmFsc2UsYy5CVj0oYy5PXz1ELG0pLFtdKSwwKSxmYWxzZSk7d2hpbGUoLTA9PT0wKWlmKChjLnM5PTI1LFtdKSE9dHJ1ZSlicmVhaztpZihjLnluPSEoYy5TbT0oKGMuVTk9W10sYy5sPXZvaWQgMCxjLlM9bnVsbCxjLnVYPShjLkJ3PTAsYy5xbz0wLGMuaj0wLFtdKSxjLlY9dm9pZCAwLGMuSHQ9IShjLkU5PWZhbHNlLGMub289dm9pZCAwLDEpLGMpLmtOPShjLlRmPTAsYy5IPTEsYy5XdD12b2lkIDAsMCksW10pLDEpLFomJloubGVuZ3RoPT0yJiYoYy5Eaz1aWzFdLGMuVTk9WlswXSksUil0cnl7Yy5XdD1KU09OLnBhcnNlKFIpfWNhdGNoKFApe2MuV3Q9e319ZigoZigyNixmdW5jdGlvbihQLGQsSSxTLFgpe3tYPTA7d2hpbGUoWCE9NjYpWD09ODg/KEk9cSgyNSxQKSxTPVkoUCw3MyksUShQLFMsZnVuY3Rpb24oTSl7cmV0dXJuIGV2YWwoTSl9KHpOKFYoSSxQLkIpKSkpLFg9NjYpOlg9PTAmJihYPU5UKGZhbHNlLDMyLGQsZmFsc2UsUCx0cnVlKT82Njo4OCl9fSwoKGYoKGYoMTYsZnVuY3Rpb24oUCl7a2ooMyxQKX0sKEMoMTQsKGYoKEEoMjY0LChmKDIzLChmKDIwLCgoZigxNywoZigyNywoZigxOCwoKGYoMjEsZnVuY3Rpb24oKXt9LDMyMywoZigyMCwoZigyMyxmdW5jdGlvbihQLGQsSSxTKXtBKChJPShTPShkPXEoNzEsUCksUnYpKFApLFkoUCw3NykpLEkpLFAsVyhQLGQpPj4+Uyl9LChDKDQyLChBKDE1NixjLChRKGMsKFEoYyw0ODgsKEEoMTkxLGMsKEMoOTUsKEMoNTUsKGYoMjUsKEMoNTA2LFtdLCgoQSgoZigxMyxmdW5jdGlvbihQLGQsSSxTLFgpe2ZvcihYPTU1O1ghPTQyOylYPT0zNz8oZC0tLFg9OTIpOlg9PTkyP1g9ZD4wPzkzOjk3Olg9PTU1PyhJPVAuRnoucG9wKCksWD0yOSk6WD09ODc/KFEoUCwxNDIsUC5qKSxYPTQyKTpYPT03MD9YPTkyOlg9PTk3PyhJWzUwNl09UC5ZWzUwNl0sSVszMDJdPVAuWVszMDJdLFAuWT1JLFg9NDIpOlg9PTI5P1g9ST82Nzo4NzpYPT05Mz8oUz1xKDI1LFApLElbU109UC5ZW1NdLFg9MzcpOlg9PTY3JiYoZD1SdihQKSxYPTcwKX0sKGMud049KChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtmb3IoTT03MTtNIT00MDspTT09NzE/TT1OVChmYWxzZSw2NCxkLGZhbHNlLFAsdHJ1ZSk/NDA6OTc6TT09NDg/TT1QLkI9PVB8fEk9PVAuVlQmJlM9PVA/MTk6NDA6TT09OTc/KFg9cVQoNzEsNzQsUCwwLDEpLFM9WC5rZSxJPVguUFYsTT00OCk6TT09MTkmJihBKFgucW0sUCxJLmFwcGx5KFMsWC5MKSksUC5jdD1QLkooKSxNPTQwKX0sKGYoKGYoKChBKDE1NyxjLChmKChmKDI1LChDKDE2OCwoQSgxNDIsYywoZigoZigxOCwoZigyMixmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9MjQ7dyE9ODY7KXc9PTQ/KFEoUCxyLEkpLHc9ODYpOnc9PTQ0PyhkPShNPXEoMTIsNyxQKSwtMip+KGR8TSkrKGR8fk0pKyh+ZHxNKSklbCxJLnB1c2goU1tkXSksdz0yOSk6dz09MjQ/KHI9WShQLDc3KSxYPXEoMTEsNyxQKSxJPVtdLFM9VyhQLDM5MyksZD0wLGw9Uy5sZW5ndGgsdz03MCk6dz09MjM/dz1YLS0/NDQ6NDp3PT0yOT93PTIzOnc9PTcwJiYodz0yMyl9LDMxMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9NjY7dyE9MzU7KXc9PTYwP3c9bDxkLmxlbmd0aD83MjoyODp3PT03Mj8oWCs9U3RyaW5nLmZyb21DaGFyQ29kZShkW2xdXjEyMSksdz00Myk6dz09NDM/KGwrKyx3PTYwKTp3PT04ND93PTYwOnc9PTY2PyhJPXEoODksUCkscj1xKDcyLFApLE09WShQLDc3KSxkPVcoUCxyKSxTPWIoUCxJKSxsPTAsWD0iIix3PTg0KTp3PT0yOCYmKEMoTSxTW1hdLFApLHc9MzUpfSksMTM2LGMpLDI3KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyxFKXt7RT04NDt3aGlsZShFIT0xNClFPT0yND8oTSs9U3RyaW5nLmZyb21DaGFyQ29kZSgoUz1kW3ddLDMqfihTJjEyMSktMip+Uy0gLTI0NCt+KFN8MTIxKSkpLEU9OTMpOkU9PTkzPyh3KyssRT0xOSk6RT09ODQ/KFg9WShQLDc0KSxJPVkoUCw3NCkscj1ZKFAsNzIpLGw9VyhQLEkpLGQ9VyhQLFgpLE09IiIsdz0wLEU9NDIpOkU9PTM0PyhBKHIsUCxNIGluIGx8MCksRT0xNCk6RT09MTk/RT13PGQubGVuZ3RoPzI0OjM0OkU9PTQyJiYoRT0xOSl9fSwyMjEsYyksMCkpLDApLGMpLGZ1bmN0aW9uKFAsZCxJKXtkPVkoKEk9WShQLDc2KSxQKSw3NiksQShkLFAsIiIrVyhQLEkpKX0pLDEwNixjKSwyMiksZnVuY3Rpb24oUCxkLEksUyxYLE0pe3tNPTM4O3doaWxlKE0hPTk3KU09PTE5PyhYKyssTT02OCk6TT09OD8oQShTLFAsZCksTT05Nyk6TT09Njg/TT1YPEk/MjY6ODpNPT04NT9NPTY4Ok09PTM4PyhTPXEoNjcsUCksST1xKDksNyxQKSxYPTAsZD1bXSxNPTg1KTpNPT0yNiYmKGQucHVzaChSdihQKSksTT0xOSl9fSwzMzUsYykse30pKSxjKS54ZT0wLDE2KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyKXtmb3Iocj05NDtyIT04OTspaWYocj09NjEpcj1YPFAudnQubGVuZ3RoPzc0Ojk4O2Vsc2UgaWYocj09OTQpe2ZvcihJIGluIGRlbGV0ZSAoZD0oUz1SdihQKSxXKShQLDU1KSxkKVtTXSxkKWlmKEkhPT0idCImJk9iamVjdC5oYXNPd24oZCxJKSlyZXR1cm47cj0oWD0wLDQ0KX1lbHNlIHI9PTY5PyhYKysscj02MSk6cj09ODU/KEguY2xlYXJUaW1lb3V0KE0uSWEpLGEoNDYsTS5RVCxQKSxhKDQ1LE0uYWEsUCkscj02OSk6cj09Nzg/cj1NLk1tPzY5Ojg1OnI9PTk4PyhQLnZ0Lmxlbmd0aD0wLHI9ODkpOnI9PTc0PyhNPVAudnRbWF0scj03OCk6cj09NDQmJihyPTYxKX0sMzI5LGMpLDI0KSxmdW5jdGlvbihQLGQsSSl7KGQ9YigoST1ZKFAsNzUpLFAuQiksSSksZFswXSkucmVtb3ZlRXZlbnRMaXN0ZW5lcihkWzFdLGRbMl0sb3YpfSwxMzcsYyksMzEwKSxjKSxuZXcgZ1UoIlN1Ym1pdCIpKS5kaXNwb3NlKCksMCksMzI3KSxjKSw0MSksYywxODMpLGYpKDE2LGZ1bmN0aW9uKFApe3VOKDQsUCl9LDEzNCxjKSxjKSksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGLCRuLEdvLEosdil7Zm9yKHY9MDt2IT0yNzspaWYodj09NjkpRT1yLmxlbmd0aCxGPUY+MD9GOjEsdz0wLHY9MTE7ZWxzZSBpZih2PT04NSl2PXc8RT83OjI3O2Vsc2UgaWYodj09NjYpbD1xKDczLFApLCRuPXEoNzYsUCksR289cSg0OSxQKSxJPXEoNTcsUCksUz1XKFAsJG4pLHI9VyhQLGwpLE09VihJLFApLEY9VihHbyxQKSx2PTM3O2Vsc2UgaWYodj09Mzcpdj1YWCgiYXJyYXkiLHIsIm51bGwiKT09Im9iamVjdCI/OTA6Nzk7ZWxzZSBpZih2PT0wKXY9TlQoZmFsc2UsMzIsZCx0cnVlLFAsdHJ1ZSk/Mjc6NjY7ZWxzZSBpZih2PT03KVMoci5zbGljZSh3LCh3fDApKyhGfDApKSxNKSx2PTU5O2Vsc2UgaWYodj09MTEpdj04NTtlbHNlIGlmKHY9PTkwKXtmb3IoWCBpbiBKPVtdLHIpSi5wdXNoKFgpO3Y9KHI9Siw3OSl9ZWxzZSB2PT03OT92PVAuQj09UD82OToyNzp2PT01OSYmKHcrPUYsdj04NSl9KSw3MyxjKSx7fSksYyksWzAsMCwwXSksYyksWWYoNCkpKSxbNTcsMCwwXSkpLDE2MyksW10pLEgpKSxZZig0KSksYyksNDU0KSxjKSxmdW5jdGlvbihQLGQsSSxTLFgpe0EoKGQ9WFgoImFycmF5IiwoST1iKFAsKFM9cSgxNywoWD1ZKFAsNzQpLFApKSxYKSksSSksIm51bGwiKSxTKSxQLGQpfSksNDQxLGMpLGMpKSxRKShjLDQ1OCwwKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwpe3tsPTY5O3doaWxlKGwhPTIyKWw9PTQ2PyhQLk49R04oMzIsUCxmYWxzZSksUC5sPXZvaWQgMCxsPTIyKTpsPT0xNz9sPVg9PTM2Mz80ODoyMjpsPT02ND9sPUk9PTI/NDY6MjI6bD09NDA/bD1QLkI9PVA/OTA6MjI6bD09NDg/KFAubD12b2lkIDAsbD02NCk6bD09OTA/KHI9YihQLFgpLFM9YihQLE0pLEk9VyhQLGQpLHJbSV09UyxsPTE3KTpsPT02OSYmKFg9WShQLDczKSxkPXEoODksUCksTT1xKDc4LFApLGw9NDApfX0pLDY3LGMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUpe2ZvcihFPTM7RSE9MTM7KUU9PTk3PyhYPXFUKDcxLDc0LFAuQiwwLDEpLE09WC5MLHc9WC5xbSxTPVguUFYsST1YLmtlLHI9TS5sZW5ndGgsbD1yPT0wP25ldyBJW1NdOnI9PTE/bmV3IElbU10oTVswXSk6cj09Mj9uZXcgSVtTXShNWzBdLE1bMV0pOnI9PTM/bmV3IElbU10oTVswXSxNWzFdLE1bMl0pOnI9PTQ/bmV3IElbU10oTVswXSxNWzFdLE1bMl0sTVszXSk6MigpLFEoUCx3LGwpLEU9MTMpOkU9PTMmJihFPU5UKGZhbHNlLDY1LGQsZmFsc2UsUCx0cnVlKT8xMzo5Nyl9KSwxMjcsYyksZnVuY3Rpb24oUCxkKXtwcigoZD1XKFAsWShQLDc2KSksNTA2KSwwLDE0MixkLDEwNCxQLkIpfSksMzEzLGMpLGYpKDE4LGZ1bmN0aW9uKFApe3VOKDEsUCl9LDEyMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSl7KEk9KGQ9KE09WShQLChYPXEoKFM9cSg3OSxQKSw2NyksUCksNzIpKSxiKShQLFgpLFYoUyxQKSksQykoTSxJW2RdLFApfSksMjEyLGMpLGYoMTUsZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGKXtmb3IoRj04MztGIT0yNDspRj09Nzg/KFg9WShmYWxzZSwxNiwyLE0sMSxyLFAsRSx3KSxFLmFkZEV2ZW50TGlzdGVuZXIodyxYLG92KSxWKDcxLFApLnB1c2goZnVuY3Rpb24oKXtFLnJlbW92ZUV2ZW50TGlzdGVuZXIodyxYLG92KX0pLEMoNDU4LFtFLHcsWF0sUCksRj0yNCk6Rj09ODM/KGw9cSg0OSxQKSxTPXEoNzQsUCksZD1xKDU3LFApLEk9cSg3MCxQKSx3PVcoUCxTKSxNPWIoUCxJKSxyPVYoZCxQKSxFPVYobCxQLkIpLEY9MzQpOkY9PTM0JiYoRj1FIT09MD83ODoyNCl9LDQ5MyxjKSxmdW5jdGlvbihQLGQsSSxTKXtRKFAsKGQ9cSg3NSwoST1xKDc3LChTPVkoUCw3MiksUCkpLFApKSxkKSxiKFAsUyl8fFcoUCxJKSl9KSwxMTEsYyksYyksW10pLDE5KSxmdW5jdGlvbihQKXtraig0LFApfSw1MDAsYyksWWYoNCkpLGMpLDM2NCksYyksMTMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtBKChkPShJPWIoUCwoTT1xKDQ5LChTPVkoUCwoWD1xKDE3LFApLDcyKSksUCkpLFgpKSxWKShTLFApLE0pLFAsKyhJPT1kKSl9LDQzMixjKSxjKS5aaj0wLDUwNCksYyksMTUpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCl7aWYoMD09IShJPShyPVcoKE09WShQLChYPVkoUCwobD1ZKChTPVkoUCw3NiksUCksNzMpLDcyKSksNzUpKSxQKSxsKSxXKFAsTSkpLFt0cnVlLnRydWVdKSlkPVYoWCxQKTtDKFMsWShmYWxzZSwxNywyLGQsSSxyLFApLFApfSw4MCxjKTt3aGlsZSghW10hPSh0cnVlPT1bXSE9bnVsbCkpaWYoZigyNixmdW5jdGlvbihQLGQsSSxTLFgsTSl7KFg9YihQLChkPShTPXEoKEk9cSg2OCwoTT1xKDgwLFApLFApKSw3MCksUCksYihQLEkpKSxNKSksQykoUyxYIGluIGR8MCxQKX0sMzcsYyksIWZhbHNlPT0hIiIpYnJlYWs7UkIoMjYsZmFsc2UsYywoYSg0NywoYSg0MSwoQSg3MSwoKEEoMzAyLGMsWyhmKDE1LGZ1bmN0aW9uKFAsZCxJLFMpe1YoKGQ9YihQLChJPXEoNjgsUCksUz1ZKFAsNzMpLFMpKSxJKSxQKSE9MCYmQygxNDIsZCxQKX0sKFEoYyw0NDYsKGYoMTMsZnVuY3Rpb24oUCl7WSg4LDU0LFAsNCl9LDc0LChRKChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKKXt7eT0xMzt3aGlsZSh5IT00MCl5PT0wP3k9ODp5PT0yMD8oZigyMSxmdW5jdGlvbih6LFB1LG03LGcsZU0sTCl7Zm9yKEw9NDI7TCE9NzU7KUw9PTIxPyhQdS5wdXNoKG03KSxMPTQ4KTpMPT0zOD8oZy5wdXNoKHEoMjUseikpLEw9OTgpOkw9PTUzP0w9bTc+PWcubGVuZ3RoPzM4OjI1Okw9PTI1PyhtNz1nW203XSxMPTIxKTpMPT02Nj8oei5WPXEoNTMsUy5zbGljZSgpLHopLHouRz1xKDUsUHUseiksTD03NSk6TD09MTE/KG03PU1bZU1dLEw9MTUpOkw9PTQ4PyhlTSsrLEw9NjApOkw9PTQyPyhlTT0wLFB1PVtdLGc9W10sTD05OSk6TD09MTU/TD1PW2VNXT8yMTo2ODpMPT05OD9MPTUzOkw9PTYwP0w9ZU08Sj8xMTo2NjpMPT05OT9MPTYwOkw9PTY4JiYoTD01Myl9LHIsUCkseT00MCk6eT09Mjc/KHc9MCx5PTE1KTp5PT01Mj8oT1tJXXx8KE1bSV09d0ooRikpLHk9NDYpOnk9PTI1PyhGPSgoR298MSkrfihHb3wxKS0ofkdvXjEpLTIqKH5HbyYxKSkudG9TdHJpbmcoMikubGVuZ3RoLE09W10sST0wLHk9Nik6eT09NDk/KFMucHVzaChWKFkoUCw3NSksUCkpLHk9MzMpOnk9PTQ2PyhJKysseT04Nik6eT09MTM/KHdKPWZ1bmN0aW9uKHosUHUpe2Zvcig7RTx6Oyl2fD1SdihQKTw8RSxFKz04O3JldHVybiB2Pj49KFB1PShFLT16LHYmKDE8PHopLTEpLHopLFB1fSxyPVkoUCw3NSksdj1FPTAsWD0od0ooMyl8MCkrMSxKPXdKKDUpLE89W10seT1Hbz1sPTApOnk9PTg2P3k9STxKPzUyOjI3Onk9PTY1Pyh3KysseT04Myk6eT09MzM/eT00Nzp5PT02P3k9ODY6eT09NTA/KE9bd10mJihNW3ddPVkoUCw3MikpLHk9NjUpOnk9PTcxPygkbj13SigxKSxPLnB1c2goJG4pLEdvKz0kbj8wOjEseT03Nik6eT09NDc/eT1kLS0/NDk6MjA6eT09OD95PWw8Sj83MToyNTp5PT04Mz95PXc8Sj81MDo2OTp5PT03Nj8obCsrLHk9OCk6eT09Njk/KGQ9WCxTPVtdLHk9NjYpOnk9PTE1P3k9ODM6eT09NjYmJih5PTQ3KX19LDMwMCwoZigoQygxMDMsMCxjKSwyNCksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcpe2Zvcih3PTkxO3chPTQ3Oyl3PT04MT8oZD0oTT1xKDgsNyxQKSwyKihkJk0pK34oZCZNKS1+KGR8TSkpJVMscis9TltsW2RdXSx3PTI1KTp3PT01MD93PTgzOnc9PTEyPyhBKFgsUCxyKSx3PTQ3KTp3PT05MT8oWD1ZKFAsNzUpLEk9cSgxMCw3LFApLHI9IiIsbD1XKFAsMzkzKSxTPWwubGVuZ3RoLGQ9MCx3PTUwKTp3PT04Mz93PUktLT84MToxMjp3PT0yNSYmKHc9ODMpfSw1MSxjKSxjKSksYyksMzksYyksYykpLFtdKSksMTcxKSxjKSwyMDQ4KV0pLGYpKDE5LGZ1bmN0aW9uKFAsZCxJLFMsWCl7USgoWD0oZD0oUz1xKDI1LChJPVkoUCw3NiksUCkpLGIpKFAsUyksVihJLFApKSxQKSxTLGQrWCl9LDEwNCxjKSxjKSxbXSksaHx8YSg1NixbeG5dLGMpLFtHdCxrXSksYyksW1JZLG5dKSxjKSx0cnVlKSx0cnVlKX0sVmg9ZnVuY3Rpb24oayxSKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDI0LGssUil9LGtmPWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz1SLmNyZWF0ZSgpLnNoaWZ0KCksay5WLmNyZWF0ZSgpLmxlbmd0aHx8ay5HLmNyZWF0ZSgpLmxlbmd0aCl8fChrLkc9dm9pZCAwLGsuVj12b2lkIDApLEd9LHFQPWZ1bmN0aW9uKGspe2Zvcih2YXIgUj04NztSIT0yOTspaWYoUj09MzIpRCs9ZW5jb2RlVVJJQ29tcG9uZW50KEdbaF0pK2tbaCsxXSxSPTM1O2Vsc2V7aWYoUj09MTgpcmV0dXJuIGUoMzYsbnVsbCxEKTtpZihSPT04Nyl2YXIgRz1Lci5hcHBseSgxLChSPTkzLGFyZ3VtZW50cykpO2Vsc2UgaWYoUj09MzUpaCsrLFI9NDY7ZWxzZSBpZihSPT04Myl2YXIgaD0oUj00LDApLEQ9a1swXTtlbHNlIGlmKFI9PTkzKVI9Ry5sZW5ndGg9PT0wPzUxOjgzO2Vsc2UgaWYoUj09NClSPTQ2O2Vsc2UgaWYoUj09NDYpUj1oPEcubGVuZ3RoPzMyOjE4O2Vsc2UgaWYoUj09NTEpcmV0dXJuIGUoMzUsbnVsbCxrWzBdKX19LFdZPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIE1QLmNhbGwodGhpcywyMixrLFIsRyxoLEQpfSxubj1mdW5jdGlvbigpe3JldHVybiBmLmNhbGwodGhpcywzKX0sYUI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gQVcuY2FsbCh0aGlzLDQxLGssOCxSKX0sWWY9ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTE5O0chPTY4OylpZihHPT03OSlSLnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksRz0xNTtlbHNlIGlmKEc9PTE5KVI9W10sRz05NztlbHNlIGlmKEc9PTk3KUc9MzA7ZWxzZSBpZihHPT0xNSlHPTMwO2Vsc2UgaWYoRz09MzApRz1rLS0/Nzk6NzE7ZWxzZSBpZihHPT03MSlyZXR1cm4gUn0sZWU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEksUyl7Zm9yKFo9KEI9KFQ9KEk9ay5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksW10pLDApLDApO1o8SS5sZW5ndGg7WisrKUQ9SS5jaGFyQ29kZUF0KFopLEQ8Uj9UW0IrK109RDooRDwyMDQ4P1RbQisrXT0oYz1EPj42LC1+KGMmMTkyKSsyKihjXjE5MiktKH5jJjE5MikrKH5jfDE5MikpOigoRCY2NDUxMik9PTU1Mjk2JiZaKzE8SS5sZW5ndGgmJihJLmNoYXJDb2RlQXQoWisxKSY2NDUxMik9PTU2MzIwPyhEPShtPShEJjEwMjMpPDwxMCwyKig2NTUzNiZtKSsoNjU1MzYmfm0pLSgtNjU1MzdebSkrKC02NTUzN3xtKSkrKGg9SS5jaGFyQ29kZUF0KCsrWiksKGh8MCktfihoJjEwMjMpK35oKSxUW0IrK109KGQ9RD4+MTgsMjQwKyhkJjI0MCkrLTI0MS0ofmReMjQwKSksVFtCKytdPShHPShQPUQ+PjEyLDYzLSh+UCY2MykpLDEyNy0ofkd8UikpKTpUW0IrK109KFM9RD4+MTIsMjIzLSh+U3wyMjQpKSxUW0IrK109KG49KE49RD4+Niwtfk4rKH5OXjYzKSsofk4mNjMpKSxSLSh+bl5SKSsobnwtMTI5KSkpLFRbQisrXT02My1+RCt+KER8NjMpfFIpO3JldHVybiBUfSxXPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTtmb3IoTmFOO0c9PT12b2lkIDA7ZmFsc2Upe3Rocm93W3dVLDMwLFJdO2lmKHRydWUpYnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoUioyKlIrLTMxKlIrNTgpLEcpLnByb3RvdHlwZX0sTHI9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssNSxSLEcsaCxEKX0sa2o9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7KCgoRz1iKFIsKFo9WShSLChjPVkoUiwoRD0oa3w0KS1+aysoaD1rJjMsfihrfDQpKS0oayYtNSksNzMpKSw3NykpLGMpKSxEKSYmKEc9ZWUoIiIrRywxMjgpKSxoKSYmamUoWixLKDIsRy5sZW5ndGgpLFIpLGplKShaLEcsUil9LGlOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXsoUi5wdXNoKChjPWtbMF08PDI0fGtbMV08PDE2LG49a1syXTw8OCwtfihjJm4pKy0yLSh+Y15uKSl8a1szXSksUi5wdXNoKChaPShoPWtbNF08PDI0fGtbNV08PDE2LE49a1s2XTw8OCwtMi1+Ti0ofmh8TikpLEQ9a1s3XSwyKihEfDApLTIqKFomRCktflorKFp8fkQpKSksUikucHVzaCgoVD0oQj1rWzhdPDwyNHxrWzldPDwxNixtPWtbMTBdPDw4LC1+KEImbSkrMiooQl5tKSsofkJebSkpLEc9a1sxMV0sLTEtflQrKH5UJkcpKSl9LGxOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3N3aXRjaCghKGguQj09aCkpe2Nhc2UgdHJ1ZTpmYWxzZTticmVhaztjYXNlICFbIiJdIT0wOntaPWIoaCxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8obT1mdW5jdGlvbihULE4sUCxkLEksUyxYLE0pe2ZvcihYPShTPTgsOTcpOzspdHJ5e2lmKFM9PTU1KWJyZWFrO2Vsc2UgaWYoUz09NzYpWD0zMyxaLkdmPXloKDE2LHEoMzQsOCwtMS0yKn4oSXw0KSsofkleNCksWiksMjU1LHEoNjYsOCxJLFopLGQpLFM9NzA7ZWxzZXtpZihTPT02Mil0aHJvdyBYPTk3LE07Uz09NzA/KFoucHVzaChaLkdmWy0oTnxHKS0yKn4oTnxHKSsoTnwtOCkrKH5OfEcpXV5UKSxTPTU1KTpTPT05MD9TPVoubUIhPVA/Mjk6NzA6Uz09OD8oTj1aLmxlbmd0aCxQPShOfDApLTQ+PjMsUz05MCk6Uz09MjkmJihJPShQPDwzKS00LGQ9WzAsMCxCWzFdLEJbMl1dLFoubUI9UCxTPTc2KX19Y2F0Y2gocil7aWYoWD09OTcpdGhyb3cgcjtYPT0zMyYmKE09cixTPTYyKX19LEI9Vig5NSxoKSk6bT1mdW5jdGlvbihUKXtaLnB1c2goVCl9LEQmJm0oKER8MCktIC01MTIrMip+KER8MjU1KSsoRCYtMjU2KSksYz1SLmxlbmd0aCxuPTA7d2hpbGUobjxjKW0oUltuXSksbisrfWJyZWFrfX0sQz1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKCEoaz09MTQyfHxrPT0xNjgpKXtjYXNlIHRydWU6d2hpbGUoRy55biYmayE9MzYzKXtyZXR1cm47aWYoZmFsc2U9PTApYnJlYWt9az09NDg4fHxrPT00Mnx8az09MjY0fHxrPT0xNHx8az09NTA2fHxrPT00NDZ8fGs9PTE2M3x8az09OTV8fGs9PTE5MXx8az09MzAyP0cuWVtrXXx8KEcuWVtrXT1ZKDIsMzIsRyxSLGssMzgpKTpHLllba109WSgyLDM1LEcsUixrLDEyOSk7YnJlYWs7Y2FzZSBmYWxzZTpHLllba10/Ry5ZW2tdLmNvbmNhdChSKTpHLllba109cSg4NSxSLEcpO2JyZWFrfWs9PTM2MyYmKEcuTj1HTigzMixHLGZhbHNlKSxHLmw9dm9pZCAwKX0scVQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Yz0oWj0oKG49cSgobT1HW3ZZXXx8e30sayksRyksbS5xbT1xKDE3LEcpLG0pLkw9W10sRykuQj09Rz8oUnYoRyl8aCktRDoxLFkoRyxSKSk7e0I9aDt3aGlsZShCPFopbS5MLnB1c2gocSg0OSxHKSksQisrfWZvcihtLlBWPWIoRyxuKTtaLS07KW0uTFtaXT1iKEcsbS5MW1pdKTtyZXR1cm4gbS5rZT1iKEcsYyksbX0sV3U9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDUpfSxRaD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIFcoRCwoQygxNDIsKGJOKDU3LGgsKChjPVcoRCwxNDIpLEQud2ImJmM8RC5qKT8oUShELDE0MixELmopLHByKDUwNixrLDE0MixSLDEwNCxEKSk6QygxNDIsUixEKSxEKSw0MSksYyksRCksRykpfSxGWD1mdW5jdGlvbigpe3JldHVybiBNUC5jYWxsKHRoaXMsMjApfSxYWD1mdW5jdGlvbihrLFIsRyxoLEQpe0Q9dHlwZW9mIFI7c3dpdGNoKCEoRD09Im9iamVjdCIpKXtjYXNlIE5hTiE9PU51bWJlcih1bmRlZmluZWQpOmZvcihbXSE9KCFbIiJdPT1OdW1iZXIoKSk7RD09ImZ1bmN0aW9uIiYmdHlwZW9mIFIuY2FsbD09InVuZGVmaW5lZCI7MCl7cmV0dXJuIm9iamVjdCI7aWYoIkYiKWJyZWFrfWJyZWFrO2Nhc2UgbnVsbD09KG51bGw9PWZhbHNlKTpzd2l0Y2goIVIpe2Nhc2UgIVtdPT0wOnJldHVybiBHO2JyZWFrO2Nhc2UgIVt1bmRlZmluZWRdIT0wOmlmKFIgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4gaztzd2l0Y2goIShSIGluc3RhbmNlb2YgT2JqZWN0KSl7Y2FzZSB0cnVlOltdIT0odHJ1ZSE9W10pO2JyZWFrO2Nhc2UgIVtdPT0oLTA9PT0wKTpyZXR1cm4gRDticmVha31oPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSKTtmb3IoZmFsc2U7aD09IltvYmplY3QgV2luZG93XSI7ZmFsc2Upe3JldHVybiJvYmplY3QiO2lmKFtdPT0oIWZhbHNlPT0hIiIpIT1udWxsKWJyZWFrfWZvcihOdW1iZXIoKTtoPT0iW29iamVjdCBBcnJheV0ifHx0eXBlb2YgUi5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgUi5zcGxpY2UhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKTtmYWxzZSl7cmV0dXJuIGs7aWYoIlkiKWJyZWFrfXN3aXRjaCghKGg9PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBSLmNhbGwhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJjYWxsIikpKXtjYXNlIFtdIT10cnVlOjE7YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm4iZnVuY3Rpb24iO2JyZWFrfWJyZWFrfWJyZWFrfXJldHVybiBEfSxyVT1mdW5jdGlvbihrLFIpe3JldHVybiB0Vy5jYWxsKHRoaXMsMjgsayxSKX0seD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7bT10aGlzO3RyeXtjZChSLG4sYyxaLGssdGhpcyxoLEQsRyl9Y2F0Y2goQil7ZSg4OSwiOiIsdGhpcyxCKSxEKGZ1bmN0aW9uKFQpe1QobS5LKX0pfX0sWnk9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5uPSh0aGlzLlQ9W10sMCl9cmV0dXJuW2Z1bmN0aW9uKGgpe2sueE4oaCksUi54TihoKX0sKFI9KGs9KEcucHJvdG90eXBlLnhOPShHLnByb3RvdHlwZS5POT1mdW5jdGlvbigpe3JldHVybiBSQi5jYWxsKHRoaXMsMyl9LGZ1bmN0aW9uKGgsRCl7cmV0dXJuIGNZLmNhbGwodGhpcywzMyxoLDExLEQpfSksbmV3IEcpLG5ldyBHKSxmdW5jdGlvbihoLEQpe3JldHVybiBEPShoPWg9PT12b2lkIDA/dHJ1ZTpoLGsuTzkoKS5jb25jYXQoUi5POSgpKSksaCYmKFI9bmV3IEcpLER9KV19LGtuPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFApe209a1swXTtzd2l0Y2goIShtPT0kZikpe2Nhc2UgZmFsc2U9PSFbXTppZihtPT1CZCloLlc9RyxoLnM5PTI1LGgueVQ9aC5SbygpLWtbUl0saC5pKGspO2Vsc2UgaWYobT09QW8pe0I9a1sxXVszXTt0cnl7Yz1oLkt8fGguaShrKX1jYXRjaChkKXtlKDU4LCI6IixoLGQpLGM9aC5LfShuPWguSigpLEIoYyksaCkuWCs9aC5KKCktbn1lbHNlIHN3aXRjaCghKG09PW1jKSl7Y2FzZSBOYU4hPT1OdW1iZXIodW5kZWZpbmVkKTpzd2l0Y2goIShtPT1HdCkpe2Nhc2UgMD09PS0wOnN3aXRjaCghKG09PVJZKSl7Y2FzZSBOdW1iZXIoKT09PS1OdW1iZXIoKTppZihtPT1NVClyZXR1cm4gRD1rW1JdLEEoNDUxLGgsa1s2XSksQygxNTcsRCxoKSxoLmkoayk7bT09ZHI/KGguaShrKSxoLlk9bnVsbCxoLnVYPVtdLGgud2I9W10pOm09PXhuJiZILmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihoLlM9ZnVuY3Rpb24oZCxJKXtmdW5jdGlvbiBTKFgpe2ZvcihYPTk3O1ghPTU2OylYPT05Nz9YPUk/NTY6ODY6WD09ODYmJihJPUcsSC5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixTLG92KSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpLGQoKSxYPTU2KX1ILmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChJPWZhbHNlLFMpLG92KSxILmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpfSk7YnJlYWs7Y2FzZSBmYWxzZTp0cnl7e1A9MDt3aGlsZShQPGguU20ubGVuZ3RoKXt0cnl7Wj1oLlNtW1BdLFpbMF1bWlsxXV0oWltSXSl9Y2F0Y2goZCl7fVArK319fWNhdGNoKGQpe30oMCxrWzFdKShmdW5jdGlvbihkLEkpe2gucFgoZCxHLEkpfSxmdW5jdGlvbihkKXthKDQ0LChkPSFoLlAubGVuZ3RoJiYhaC5vLFtkcl0pLGgpLGQmJlJCKDMwLGZhbHNlLGgsZmFsc2UsRyl9LChoLlNtPVtdLFQ9aC5KKCksZnVuY3Rpb24oZCl7cmV0dXJuIGgudHgoZCl9KSxmdW5jdGlvbihkLEksUyl7cmV0dXJuIGguZWkoZCxJLFMpfSksaC5YKz1oLkooKS1UO2JyZWFrfWJyZWFrO2Nhc2UgZmFsc2U6aC51PUcsaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgW109PShmYWxzZT09IVtdKTprWzNdJiYoaC51PUcpLGtbNF0mJihoLlc9RyksaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgTmFOPT09TmFOOmlmKE49aC5pKGspKU4uSWE9SC5zZXRUaW1lb3V0KGZ1bmN0aW9uKGQpeyhhKChhKDQwLE4uUVQsKGQ9KE4uTW09RywhaC5QLmxlbmd0aCYmIWgubyksaCkpLDU4KSxOLmFhLGgpLGQpJiZSQigyNSxmYWxzZSxoLEcsRyl9LE4udGltZW91dCksaC52dC5wdXNoKE4pO2JyZWFrfX0sU009ZnVuY3Rpb24oayxSLEcpeyJzdGFjayJpbih0aGlzLm1lc3NhZ2U9KEc9RXJyb3IuY2FsbCh0aGlzLGsrIiBjYW5ub3QgYmUgdXNlZCB3aXRoIGludGVudCAiK21EW1JdKSxHLm1lc3NhZ2UpLEcpJiYodGhpcy5zdGFjaz1HLnN0YWNrKSx0aGlzLnR5cGU9ayx0aGlzLm5hbWU9IlR5cGVDYW5ub3RCZVVzZWRXaXRoSWZyYW1lSW50ZW50RXJyb3IifSxnVT1mdW5jdGlvbihrLFIsRyl7cmV0dXJuIEFXLmNhbGwodGhpcyw0MSxrLDI5LFIsRyl9LEE9ZnVuY3Rpb24oayxSLEcpe2lmKGs9PTE0Mnx8az09MTY4KVIuWVtrXT9SLllba10uY29uY2F0KEcpOlIuWVtrXT1xKDM3LEcsUik7ZWxzZXtpZihSLnluJiZrIT0zNjMpcmV0dXJuO2s9PTQ4OHx8az09NDJ8fGs9PTI2NHx8az09MTR8fGs9PTUwNnx8az09NDQ2fHxrPT0xNjN8fGs9PTk1fHxrPT0xOTF8fGs9PTMwMj9SLllba118fChSLllba109WSgyLDQwLFIsRyxrLDM4KSk6Ui5ZW2tdPVkoMiwzMixSLEcsaywxMjkpfWs9PTM2MyYmKFIuTj1HTigzMixSLGZhbHNlKSxSLmw9dm9pZCAwKX0sbng9ZnVuY3Rpb24oayxSLEcsaCxEKXt3aGlsZShrLmxlbmd0aD09Myl7e2g9MDt3aGlsZShoPDMpUltoXSs9a1toXSxoKyt9RD1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdO3tHPTA7d2hpbGUoRzw5KVJbM10oUixHJTMsRFtHXSksRysrfWlmKHt9KWJyZWFrfX0sS3I9ZnVuY3Rpb24oKXt7dmFyIGs9OTM7d2hpbGUoayE9Mzkpe2lmKGs9PTkwKXJldHVybiBoO2lmKGs9PTc3KWs9Rzxhcmd1bWVudHMubGVuZ3RoPzE2OjkwO2Vsc2UgaWYoaz09OTMpdmFyIFI9KGs9MTEsTnVtYmVyKSh0aGlzKSxHPVIsaD1bXTtlbHNlIGs9PTExP2s9Nzc6az09OTI/KEcrKyxrPTc3KTprPT0xNiYmKGhbRy1SXT1hcmd1bWVudHNbR10saz05Mil9fX0scHI9ZnVuY3Rpb24oayxSLEcsaCxELGMpe3doaWxlKGZhbHNlPT0wKWlmKGMuRnoubGVuZ3RoPkQ/YXYoayxjLFIsW3dVLDM2XSk6KGMuRnoucHVzaChjLlkuc2xpY2UoKSksYy5ZW0ddPXZvaWQgMCxBKEcsYyxoKSksIVtdPT0wKWJyZWFrfSxiPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTt3aGlsZShHPT09dm9pZCAwKXt0aHJvd1t3VSwzMCxSXTtpZigwPT0hW3RydWUudHJ1ZV0pYnJlYWt9c3dpdGNoKCFHLnZhbHVlKXtjYXNlIDA9PSFbXTpbXSE9KHRydWUhPVtdKTticmVhaztjYXNlIG51bGw9PShmYWxzZT09bnVsbCk6cmV0dXJuIEcuY3JlYXRlKCk7YnJlYWt9cmV0dXJuKEcuY3JlYXRlKFIqMipSKy0zMSpSKzU4KSxHKS5wcm90b3R5cGV9LE5ELHRvPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4gRjEuY2FsbCh0aGlzLDk0LCJvbiIsMjQsayxSLEcsaCxELGMpfSxUdD1mdW5jdGlvbihrLFIsRyxoLEQpe3JldHVybiBMbi5jYWxsKHRoaXMsMyxrLEcsMTIsRCxSLGgpfSxEWj1mdW5jdGlvbigpe3JldHVybiBLbi5jYWxsKHRoaXMsMCwxLDUpfSxnSj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssMTIsUixHLGgsRCxjLFosbixtLEIpfSxWPWZ1bmN0aW9uKGssUixHKXtHPVIuWVtrXTtzd2l0Y2goIShHPT09dm9pZCAwKSl7Y2FzZSAwPT0hWyIiXTowPT0hWyIiXTticmVhaztjYXNlIDAhPT0tTnVtYmVyKCk6dGhyb3dbd1UsMzAsa107YnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoayoyKmsrLTMxKmsrNTgpLEcpLnByb3RvdHlwZX0sUzg9ZnVuY3Rpb24oayxSLEcsaCl7dHJ5e2g9a1soKFJ8MCkrMiklM10sa1tSXT0oa1tSXXwwKS0oa1soLTIqfihSJjEpKy0yKyhSJi0yKSsoflImMSkpJTNdfDApLShofDApXihSPT0xP2g8PEc6aD4+PkcpfWNhdGNoKEQpe3Rocm93IEQ7fX0sSVk9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDgpfSxRZj1mdW5jdGlvbigpe3JldHVybiBlLmNhbGwodGhpcyw1MSl9LFgxPWZ1bmN0aW9uKGspe3JldHVybiBOUC5jYWxsKHRoaXMsNCxrLDMpfSx1Tj1mdW5jdGlvbihrLFIsRyxoKXtoPXEoNTcsKEc9WShSLDczKSxSKSksamUoaCxLKGssVihHLFIpKSxSKX0sYk49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2lmKCFHLkspe0cuRDcrKzt0cnl7RD1HLmo7d2hpbGUoIW51bGwpaWYoYz12b2lkIDAsdHJ1ZSE9IVtdKWJyZWFrO2ZvcihaPTA7LS1SOyl0cnl7aWYobT12b2lkIDAsRy5WKWM9a2YoRyxHLlYpO2Vsc2V7aWYoKFo9VigxNDIsRyksWik+PUQpYnJlYWs7Yz1iKEcsKG09cSg4OSwoUShHLDE2OCxaKSxHKSksbSkpfU5UKGZhbHNlLDMzLChjJiYobj1jW2RyXSwobnwwKSsyMDQ4LShufDIwNDgpKT9jKEcsUik6YXYoNTA2LEcsMCxbd1UsMjEsbV0pLFIpLGZhbHNlLEcsZmFsc2UpfWNhdGNoKEIpe1coRyxoKT9hdig1MDYsRywyMixCKTpBKGgsRyxCKX1mb3IodHJ1ZSsobnVsbCE9KDAhPSFbXSkpOyFSOzEpe2Zvcih2b2lkIDA7Ry5ObTshW109PWZhbHNlKXtiTig1NywoRy5ENy0tLDYwMzE5ODAwNTkzMCksRyw0MSk7cmV0dXJuO2lmKDMpYnJlYWt9aWYoYXYoNTA2LEcsMCxbd1UsMzNdKSwxKWJyZWFrfX1jYXRjaChCKXt0cnl7YXYoNTA2LEcsMjIsQil9Y2F0Y2goVCl7ZShrLCI6IixHLFQpfX1HLkQ3LS19fSxwbj1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDI0LGspfSx1O3N3aXRjaCghKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpKXtjYXNlICEiIj09IWZhbHNlOnZhciBYUTthOnt2YXIgTUQ9e30sb1k9e2E6dHJ1ZX07dHJ5e01ELl9fcHJvdG9fXz1vWTt3aGlsZShOdW1iZXIoKT09ZmFsc2UpaWYoWFE9TUQuYSx0cnVlIT1bXSlicmVhazticmVhayBhfWNhdGNoKGspe31YUT1mYWxzZX1ORD1YUT9mdW5jdGlvbihrLFIsRyl7Zm9yKEc9MTU7RyE9NTI7KXtpZihHPT02NilyZXR1cm4gaztpZihHPT0xNSlrLl9fcHJvdG9fXz1SLEc9Nzg7ZWxzZSBpZihHPT03OClHPWsuX19wcm90b19fIT09Uj80MTo2NjtlbHNlIGlmKEc9PTQxKXRocm93IG5ldyBUeXBlRXJyb3IoaysiIGlzIG5vdCBleHRlbnNpYmxlIik7fX06bnVsbDticmVhaztjYXNlIDAhPSFbXTpORD1PYmplY3Quc2V0UHJvdG90eXBlT2Y7YnJlYWt9dmFyIEg9dGhpc3x8c2VsZix0MD1ORCxFUj0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxIdT0wLFpaLGZuPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtEPTgxO3toPTU0O3doaWxlKFtdKXRyeXtpZihEPT0zNSlicmVhaztlbHNlIGlmKEQ9PTgwKVI9ZmFsc2UsRz1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtSPXRydWV9fSksRD01MDtlbHNlIGlmKEQ9PTMwKWg9NTQsRD0zMjtlbHNle2lmKEQ9PTMyKXJldHVybiBoPTU0LFI7aWYoRD09MzMpcmV0dXJuIGZhbHNlO0Q9PTUwPyhoPTM4LGs9ZnVuY3Rpb24oKXt9LEguYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsayxHKSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGssRyksRD0zMik6RD09ODEmJihEPUguYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5PzgwOjMzKX19Y2F0Y2goWil7aWYoaD09NTQpdGhyb3cgWjtoPT0zOCYmKGM9WixEPTMwKX19fSgpLGRKPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoKCgoKEJZKDIsNDUsclUsKGFCLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD0oV3UucHJvdG90eXBlW1d1LnByb3RvdHlwZS5kaXNwb3NlPShXdS5wcm90b3R5cGUuZz1mYWxzZSxmdW5jdGlvbihrKXt7az05NTt3aGlsZShrIT0xMilrPT01Mj8odGhpcy5nPXRydWUsdGhpcy5VKCksaz0xMik6az09OTUmJihrPXRoaXMuZz8xMjo1Mil9fSksKGFCLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLlB0PXRydWV9LFN5bWJvbCkuZGlzcG9zZV09KFd1LnByb3RvdHlwZS5VPWZ1bmN0aW9uKGspe3trPTc2O3doaWxlKGshPTQ2KWs9PTU4P2s9ODA6az09MzY/KHRoaXMubFguc2hpZnQoKSgpLGs9NDEpOms9PTgwP2s9dGhpcy5sWC5sZW5ndGg/MzY6NDY6az09NDE/az04MDprPT03NiYmKGs9dGhpcy5sWD81ODo0Nil9fSxmdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfSksZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dHJ1ZX0pLGFCKSksclUucHJvdG90eXBlKS5pbml0PWZ1bmN0aW9uKGssUixHLGgsRCxjKXtmb3IoYz0zOTtjIT05NjspYz09MTY/Yz1EPT0ibW91c2VvdmVyIj8yMjoyMzpjPT0yMz9jPUQ9PSJtb3VzZW91dCI/MTI6ODQ6Yz09OTk/KHRoaXMub2Zmc2V0WD1rLm9mZnNldFgsdGhpcy5vZmZzZXRZPWsub2Zmc2V0WSx0aGlzLmNsaWVudFg9ay5jbGllbnRYIT09dm9pZCAwP2suY2xpZW50WDprLnBhZ2VYLHRoaXMuY2xpZW50WT1rLmNsaWVudFkhPT12b2lkIDA/ay5jbGllbnRZOmsucGFnZVksdGhpcy5zY3JlZW5YPWsuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ay5zY3JlZW5ZfHwwLGM9MjApOmM9PTg0Pyh0aGlzLnJlbGF0ZWRUYXJnZXQ9aCxjPTgxKTpjPT01ND8odGhpcy5jbGllbnRYPUcuY2xpZW50WCE9PXZvaWQgMD9HLmNsaWVudFg6Ry5wYWdlWCx0aGlzLmNsaWVudFk9Ry5jbGllbnRZIT09dm9pZCAwP0cuY2xpZW50WTpHLnBhZ2VZLHRoaXMuc2NyZWVuWD1HLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPUcuc2NyZWVuWXx8MCxjPTIwKTpjPT0yMD8odGhpcy5idXR0b249ay5idXR0b24sdGhpcy5rZXlDb2RlPWsua2V5Q29kZXx8MCx0aGlzLmtleT1rLmtleXx8IiIsdGhpcy5jaGFyQ29kZT1rLmNoYXJDb2RlfHwoRD09ImtleXByZXNzIj9rLmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PWsuY3RybEtleSx0aGlzLmFsdEtleT1rLmFsdEtleSx0aGlzLnNoaWZ0S2V5PWsuc2hpZnRLZXksdGhpcy5tZXRhS2V5PWsubWV0YUtleSx0aGlzLnBvaW50ZXJJZD1rLnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPWsucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT1rLnN0YXRlLHRoaXMudGltZVN0YW1wPWsudGltZVN0YW1wLHRoaXMuWU49ayxrLmRlZmF1bHRQcmV2ZW50ZWQmJnJVLk8ucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSxjPTk2KTpjPT02OD9jPWg/ODQ6MTY6Yz09MjI/KGg9ay5mcm9tRWxlbWVudCxjPTg0KTpjPT04MT9jPUc/NTQ6OTk6Yz09MTI/KGg9ay50b0VsZW1lbnQsYz04NCk6Yz09MzkmJihEPXRoaXMudHlwZT1rLnR5cGUsRz1rLmNoYW5nZWRUb3VjaGVzJiZrLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9rLmNoYW5nZWRUb3VjaGVzWzBdOm51bGwsdGhpcy50YXJnZXQ9ay50YXJnZXR8fGsuc3JjRWxlbWVudCx0aGlzLmN1cnJlbnRUYXJnZXQ9UixoPWsucmVsYXRlZFRhcmdldCxjPTY4KX0sclUpLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXsoclUuTy5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLllOLnN0b3BQcm9wYWdhdGlvbik/dGhpcy5ZTi5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLllOLmNhbmNlbEJ1YmJsZT10cnVlfSxyVSkucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKGspeyhrPShyVS5PLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksdGhpcy5ZTiksaykucHJldmVudERlZmF1bHQ/ay5wcmV2ZW50RGVmYXVsdCgpOmsucmV0dXJuVmFsdWU9ZmFsc2V9LE1hdGgucmFuZG9tKCkpKjFFNnwwKSxIWT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEl2PTAsbDk9KCgoak0ucHJvdG90eXBlLmFkZD0oak0ucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIHJKKDEwLHRydWUsZmFsc2UsKEc9KGg9KEQ9ayE9PXZvaWQgMCk/ay50b1N0cmluZygpOiIiLFIhPT12b2lkIDApLHRoaXMuWiksZnVuY3Rpb24oYyxaLG4pe2ZvcihuPTM4O24hPTgzOylpZihuPT04OCkrK1osbj0zMjtlbHNle2lmKG49PTE4KXJldHVybiBmYWxzZTtpZihuPT03NyluPTMyO2Vsc2UgaWYobj09ODkpbj1EJiZjW1pdLnR5cGUhPWh8fEcmJmNbWl0uY2FwdHVyZSE9Uj84ODoxNDtlbHNle2lmKG49PTE0KXJldHVybiB0cnVlO249PTMyP249WjxjLmxlbmd0aD84OToxODpuPT0zOCYmKFo9MCxuPTc3KX19fSl9LGZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3tCPTczO3doaWxlKEIhPTI5KWlmKEI9PTEwKW0uYW89ZmFsc2UsQj01MTtlbHNlIGlmKEI9PTIxKUI9Yz4tMT8wOjcxO2Vsc2UgaWYoQj09NDMpQj1HPzUxOjEwO2Vsc2V7aWYoQj09NTEpcmV0dXJuIG07Qj09MD8obT1uW2NdLEI9NDMpOkI9PTk0PyhuPXRoaXMuWltaXT1bXSx0aGlzLkp4KyssQj0zMik6Qj09NzE/KG09bmV3IFR0KEQsdGhpcy5zcmMsWixSLCEhaCksbS5hbz1HLG4ucHVzaChtKSxCPTUxKTpCPT0zMj8oYz1ySigyMSwwLGgsRCxuLFIpLEI9MjEpOkI9PTczPyhaPWsudG9TdHJpbmcoKSxuPXRoaXMuWltaXSxCPTQ4KTpCPT00OCYmKEI9bj8zMjo5NCl9fX0pLGpNKS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7e249MjI7d2hpbGUobiE9NDIpaWYobj09MzkpaFcoMjMsdHJ1ZSxEW2NdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoRCxjLDEpLG49NzQ7ZWxzZSBpZihuPT05OSluPWM+LTE/Mzk6NTk7ZWxzZXtpZihuPT0yKXJldHVybiB0cnVlO2lmKG49PTUpZGVsZXRlIHRoaXMuWltaXSx0aGlzLkp4LS0sbj0yO2Vsc2UgaWYobj09NzQpbj1ELmxlbmd0aD09MD81OjI7ZWxzZSBpZihuPT04MyluPVogaW4gdGhpcy5aPzg0OjA7ZWxzZXtpZihuPT01OXx8bj09MClyZXR1cm4gZmFsc2U7bj09MjI/KFo9ay50b1N0cmluZygpLG49ODMpOm49PTg0JiYoRD10aGlzLlpbWl0sYz1ySigyMCwwLEcsaCxELFIpLG49OTkpfX19fSxqTSkucHJvdG90eXBlLkNYPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4oRD10aGlzLlpbay50b1N0cmluZygpXSxjPS0xLEQmJihjPXJKKDIyLDAsaCxHLEQsUikpLGMpPi0xP0RbY106bnVsbH0sImNsb3N1cmVfbG1fIikrKE1hdGgucmFuZG9tKCkqMUU2fDApLGk5PTAsVE49e30sZFU9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTsoKCgoKEJZKDIsNDMsRFosV3UpLERaLnByb3RvdHlwZSlbZEpdPXRydWUsdT1EWi5wcm90b3R5cGUsdSkuemY9ZnVuY3Rpb24oayl7dGhpcy5Obz1rfSx1KS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe3Z1KDU2LGZhbHNlLFIsRyx0aGlzLHRydWUsaywzLGgpfSx1KS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe0J1KDE2LDAsIm9iamVjdCIsRyxSLGgsayx0aGlzKX0sdS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXtmb3IoTj03NDtOIT02MTspaWYoTj09ODYpQj1SLmN1cnJlbnRUYXJnZXQ9bixoPVBZKDUsMCxCLG0sdHJ1ZSxSKSYmaCxSLlB0fHwoaD1QWSgzLDAsQixtLGZhbHNlLFIpJiZoKSxOPTY0O2Vsc2UgaWYoTj09OTEpTj05O2Vsc2UgaWYoTj09NilOPVIuUHQ/NjQ6ODY7ZWxzZSBpZihOPT0yKUI9Ui5jdXJyZW50VGFyZ2V0PWNbWl0saD1QWSg3LDAsQixtLHRydWUsUikmJmgsTj0yNDtlbHNlIGlmKE49PTY4KUQ9W10sTj00O2Vsc2UgaWYoTj09NzMpRC5wdXNoKEcpLE49NzE7ZWxzZSBpZihOPT02NClOPWM/NDc6MjU7ZWxzZSBpZihOPT01MyloPXRydWUsTj0xMjtlbHNlIGlmKE49PTkpTj0hUi5QdCYmWj49MD8yOjY7ZWxzZSBpZihOPT0xNSlOPXR5cGVvZiBSPT09InN0cmluZyI/Mzc6ODtlbHNlIGlmKE49PTQ3KVo9MCxOPTk5O2Vsc2V7aWYoTj09MjUpcmV0dXJuIGg7Tj09OTk/Tj05NzpOPT00MD8oWisrLE49OTcpOk49PTY5PyhSLnRhcmdldD1SLnRhcmdldHx8bixOPTUzKTpOPT0zNz8oUj1uZXcgYUIoUixuKSxOPTUzKTpOPT0zMz9OPUc/Njg6NzU6Tj09MjQ/KFotLSxOPTkpOk49PTQ/Tj04OTpOPT03ND8oRz10aGlzLk5vLE49MzMpOk49PTg1PyhCPVIuY3VycmVudFRhcmdldD1jW1pdLGg9UFkoNiwwLEIsbSxmYWxzZSxSKSYmaCxOPTQwKTpOPT0xND8oVD1SLFI9bmV3IGFCKG0sbiksQ3IoUixUKSxOPTUzKTpOPT03NT8oUj1rLG09Ui50eXBlfHxSLG49dGhpcy5scSxjPUQsTj0xNSk6Tj09NDM/KFo9Yy5sZW5ndGgtMSxOPTkxKTpOPT04OT9OPUc/NzM6NzU6Tj09NzE/KEc9Ry5ObyxOPTg5KTpOPT04P049UiBpbnN0YW5jZW9mIGFCPzY5OjE0Ok49PTEyP049Yz80Mzo2Ok49PTk3JiYoTj0hUi5QdCYmWjxjLmxlbmd0aD84NToyNSl9fSx1KS5VPWZ1bmN0aW9uKCl7dGhpcy5Obz0oRFouTy5VLmNhbGwodGhpcyksdGhpcy5JJiZCdSg3MiwwLHRydWUsdGhpcy5JKSxudWxsKX0sdS5DWD1mdW5jdGlvbihrLFIsRyxoKXtyZXR1cm4gdGhpcy5JLkNYKFN0cmluZyhrKSxSLEcsaCl9LHUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gdGhpcy5JLmhhc0xpc3RlbmVyKGshPT12b2lkIDA/U3RyaW5nKGspOnZvaWQgMCxSKX07dmFyIHNSLFVSLHJyPShYMS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LaisiIn0sRXJyb3IpLG1EPXtGaTowLEFzOjEsemU6MiwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifTtTTS5wcm90b3R5cGU9RHkocnIucHJvdG90eXBlKSxTTS5wcm90b3R5cGUuY29uc3RydWN0b3I9U007c3dpdGNoKCF0MCl7Y2FzZSAhW10hPShudWxsIT1mYWxzZSk6Zm9yKHZhciB3ciBpbiBycilpZih3ciE9InByb3RvdHlwZSIpaWYoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpe3ZhciBlOD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJyLHdyKTtlOCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFNNLHdyLGU4KX1lbHNlIFNNW3dyXT1yclt3cl07YnJlYWs7Y2FzZSBmYWxzZTp0MChTTSxycik7YnJlYWt9aWYoTmFOIT09KCgodT0oIkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBOT0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVCIuc3BsaXQoKFNNLk89cnIucHJvdG90eXBlLCIgIikpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLG5uKS5wcm90b3R5cGUsdSkuRj1mdW5jdGlvbihrKXtyZXR1cm4gdHlwZW9mIGs9PT0ic3RyaW5nIj90aGlzLk1vLmdldEVsZW1lbnRCeUlkKGspOmt9LHUuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24oayxSKXtyZXR1cm4oUnx8dGhpcy5NbykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGspKX0sdS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz0oUj10aGlzLk1vLFN0cmluZyhrKSksUi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoRz1HLnRvTG93ZXJDYXNlKCkpLFIpLmNyZWF0ZUVsZW1lbnQoRyl9LHUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oayl7cmV0dXJuIHRoaXMuTW8uY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGspKX0sdS5hcHBlbmRDaGlsZD1mdW5jdGlvbihrLFIpe2suYXBwZW5kQ2hpbGQoUil9LHUpLmFwcGVuZD1mdW5jdGlvbihrLFIpe3RXKDE4LGZhbHNlLCJudW1iZXIiLCIiLDAsay5ub2RlVHlwZT09OT9rOmsub3duZXJEb2N1bWVudHx8ay5kb2N1bWVudCxhcmd1bWVudHMsayl9LHUuY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKGssUil7e1I9MDt3aGlsZShSIT01NSlpZihSPT0wKVI9ay5ub2RlVHlwZSE9MT85ODoyODtlbHNle2lmKFI9PTI4KXtzd2l0Y2goay50YWdOYW1lKXtjYXNlICJBUFBMRVQiOmNhc2UgIkFSRUEiOmNhc2UgIkJBU0UiOmNhc2UgIkJSIjpjYXNlICJDT0wiOmNhc2UgIkNPTU1BTkQiOmNhc2UgIkVNQkVEIjpjYXNlICJGUkFNRSI6Y2FzZSAiSFIiOmNhc2UgIklNRyI6Y2FzZSAiSU5QVVQiOmNhc2UgIklGUkFNRSI6Y2FzZSAiSVNJTkRFWCI6Y2FzZSAiS0VZR0VOIjpjYXNlICJMSU5LIjpjYXNlICJOT0ZSQU1FUyI6Y2FzZSAiTk9TQ1JJUFQiOmNhc2UgIk1FVEEiOmNhc2UgIk9CSkVDVCI6Y2FzZSAiUEFSQU0iOmNhc2UgIlNDUklQVCI6Y2FzZSAiU09VUkNFIjpjYXNlICJTVFlMRSI6Y2FzZSAiVFJBQ0siOmNhc2UgIldCUiI6cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfWlmKFI9PTk4KXJldHVybiBmYWxzZX19fSx1LnJlbW92ZU5vZGU9UGQsdS5jb250YWlucz1mdW5jdGlvbihrLFIsRyxoKXtmb3IoaD05OTtoIT0xODspe2lmKGg9PTUxKXJldHVybiBrPT1SfHxrLmNvbnRhaW5zKFIpO2lmKGg9PTg3KWg9ay5jb250YWlucyYmUi5ub2RlVHlwZT09MT81MToyNDtlbHNlIGlmKGg9PTI3KWg9MjA7ZWxzZSBpZihoPT00NylSPVIucGFyZW50Tm9kZSxoPTI3O2Vsc2UgaWYoaD09NjgpaD0yMDtlbHNle2lmKGg9PTYwKXJldHVybiBrPT1SfHwhIShHPWsuY29tcGFyZURvY3VtZW50UG9zaXRpb24oUiksLX4oRyYxNikrKEdeMTYpKyh+R14xNikpO2lmKGg9PTk5KWg9ayYmUj84Nzo1NztlbHNle2lmKGg9PTM3KXJldHVybiBSPT1rO2lmKGg9PTI0KWg9dHlwZW9mIGsuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzYwOjY4O2Vsc2UgaWYoaD09MjApaD1SJiZrIT1SPzQ3OjM3O2Vsc2UgaWYoaD09NTcpcmV0dXJuIGZhbHNlfX19fSxOdW1iZXIodW5kZWZpbmVkKSkpaFcoNzQsSVkpOygodT0oQlkoMiwoSVkucHJvdG90eXBlLmJxPShJWS5wcm90b3R5cGUuR2U9MCwiIiksNDEpLERELERaKSxERC5wcm90b3R5cGUpLHUub2E9SVkublgoKSx1LkY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfSx1LmdldFBhcmVudD1mdW5jdGlvbigpe2lmKCFbXSE9KCFbXT09MCkpcmV0dXJuIHRoaXMuWjd9LHUuQnQ9ZnVuY3Rpb24oKXsoSUIoMyx0aGlzLGZ1bmN0aW9uKGspe2suam0mJmsuQnQoKX0pLHRoaXMpLnMyJiZCdSg3MSwwLHRydWUsdGhpcy5zMiksdGhpcy5qbT1mYWxzZX0sdS5VPWZ1bmN0aW9uKGspe3trPTcxO3doaWxlKGshPTY1KWs9PTQzP2s9dGhpcy5zMj8xMDo5MTprPT0xMD8odGhpcy5zMi5kaXNwb3NlKCksZGVsZXRlIHRoaXMuczIsaz05MSk6az09NzE/KHRoaXMuam0mJnRoaXMuQnQoKSxrPTQzKTprPT05MSYmKElCKDcsdGhpcyxmdW5jdGlvbihSKXtSLmRpc3Bvc2UoKX0pLCF0aGlzLlhpJiZ0aGlzLkEmJlBkKHRoaXMuQSksdGhpcy5LWD10aGlzLlFuPXRoaXMuQT10aGlzLlo3PW51bGwsREQuTy5VLmNhbGwodGhpcyksaz02NSl9fSx1KS56Zj1mdW5jdGlvbihrLFIpe3tSPTM0O3doaWxlKFIhPTIpe2lmKFI9PTM2KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO1I9PTM0P1I9dGhpcy5aNyYmdGhpcy5aNyE9az8zNjo5NDpSPT05NCYmKERELk8uemYuY2FsbCh0aGlzLGspLFI9Mil9fX0sdSkucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe3tOPTMzO3doaWxlKE4hPTcxKXtpZihOPT01OSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHNldCBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09NDcpYz10aGlzLktYLEI9KGMhPT1udWxsJiZoIGluIGM/Y1toXTp2b2lkIDApfHxudWxsLE49Mzg7ZWxzZSBpZihOPT04MilaPXRoaXMuS1gsaCBpbiBaJiZkZWxldGUgWltoXSx0VygxMywwLGssdGhpcy5RbiksTj04NztlbHNlIGlmKE49PTkxKU49KEQ9ay5jVik/MDo3ODtlbHNle2lmKE49PTkpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09MCluPUQsTj04MDtlbHNlIGlmKE49PTc1KW09ayxOPTE2O2Vsc2UgaWYoTj09MTYpTj1tPT1udWxsPzU5Ojk4O2Vsc2UgaWYoTj09OTgpbS5aNz1udWxsLERELk8uemYuY2FsbChtLG51bGwpLE49NTQ7ZWxzZSBpZihOPT0zMSlOPXR5cGVvZiBrPT09InN0cmluZyI/ODE6OTE7ZWxzZSBpZihOPT00MylOPWgmJms/ODI6NTQ7ZWxzZSBpZihOPT03OClHPWsub2EsVD1HLmJxKyI6IisoRy5HZSsrKS50b1N0cmluZygzNiksRD1rLmNWPVQsTj0wO2Vsc2UgaWYoTj09NylOPXRoaXMuS1gmJmg/NDc6Mjk7ZWxzZSBpZihOPT0yOSlCPW51bGwsTj0zODtlbHNlIGlmKE49PTgxKW49ayxOPTgwO2Vsc2UgaWYoTj09NTYpay5CdCgpLGsuQSYmUGQoay5BKSxOPTc1O2Vsc2UgaWYoTj09ODcpTj1SPzU2Ojc1O2Vsc2V7aWYoTj09NDYpcmV0dXJuIGs7Tj09Mzg/KGs9QixOPTQzKTpOPT0zMz9OPWs/MzE6NTQ6Tj09ODA/KGg9bixOPTcpOk49PTU0JiYoTj1rPzQ2OjkpfX19fX07dmFyIGx6LGo4PSh1PShoVyg3NSxmciksZnIucHJvdG90eXBlKSx1LklvPWZ1bmN0aW9uKGssUixHLGgpeyhoPWsuRj9rLkYoKTprKSYmKEc/THI6VmgpKGgsW1JdKX0sdS5BeD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Wj03Mzt7bj0yNDt3aGlsZSgibyIpdHJ5e2lmKFo9PTQpYnJlYWs7ZWxzZSBaPT01Mj8oYy50YWJJbmRleD0wLFo9NCk6Wj09OD8obj0yNCxaPTIxKTpaPT0yMT8obj0yNCxaPTY3KTpaPT0yOD9aPUQhPVI/NjM6NDpaPT0yNT8oRz1oLnRhYkluZGV4LEQ9dHlwZW9mIEc9PT0ibnVtYmVyIiYmRz49MCYmRzwzMjc2OCxaPTI4KTpaPT05MD8oYy50YWJJbmRleD0tMSxjLnJlbW92ZUF0dHJpYnV0ZSgidGFiSW5kZXgiKSxaPTQpOlo9PTI5P1o9KEQ9aC5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzI1OjI4Olo9PTk4P1o9Uj81Mjo5MDpaPT0xMT9aPSFSJiZNUCg1LDMyLGspPzk5OjI5Olo9PTY3P1o9TVAoNywzMixrKT84MDoyOTpaPT04MD8oay5ZZSY0JiZrLnJiJjQmJmsuc2V0QWN0aXZlKGZhbHNlKSxrLlllJjMyJiZrLnJiJjMyJiZJQigxNCw0LGssZmFsc2UsMzIpJiZrLnYoZmFsc2UsMzIpLFo9MjkpOlo9PTk5PyhuPTEyLGguYmx1cigpLFo9MjEpOlo9PTYzPyhjPWgsWj05OCk6Wj09NzMmJihaPWsucmImMzImJihoPWsuaVgoKSk/MTE6NCl9Y2F0Y2goQil7aWYobj09MjQpdGhyb3cgQjtuPT0xMiYmKG09QixaPTgpfX19LHtidXR0b246InByZXNzZWQiLGNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifSk7dS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifTt3aGlsZSgwPT09LU51bWJlcigpKWlmKHUuYlg9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXsoKGg9KG49KGx6fHwobHo9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KSxseltSXSksay5nZXRBdHRyaWJ1dGUoInJvbGUiKXx8bnVsbCkpPyhEPWo4W2hdfHxuLFo9bj09ImNoZWNrZWQifHxuPT0ic2VsZWN0ZWQiP0Q6bik6Wj1uLGM9WikmJk9SKDEyLDgsZmFsc2UsImhpZGRlbiIsayxHLGMpfSx0cnVlKWJyZWFrO2lmKHUuaVg9KHUudj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaKXt7Wj03OTt3aGlsZShaIT0xKVo9PTA/KGg9dGhpcy5maigpLGgucmVwbGFjZSgvXFx4YTB8XFxzL2csIiAiKSx0aGlzLlprPXsxOmgrIi1kaXNhYmxlZCIsMjpoKyItaG92ZXIiLDQ6aCsiLWFjdGl2ZSIsODpoKyItc2VsZWN0ZWQiLDE2OmgrIi1jaGVja2VkIiwzMjpoKyItZm9jdXNlZCIsNjQ6aCsiLW9wZW4ifSxaPTU2KTpaPT03OT8oRD1SLkYoKSxaPTIwKTpaPT0yMD9aPUQ/MTM6MTpaPT01Nj8oKGM9dGhpcy5aa1trXSkmJnRoaXMuSW8oUixjLEcpLHRoaXMuYlgoRCxrLEcpLFo9MSk6Wj09MTMmJihaPXRoaXMuWms/NTY6MCl9fSxmdW5jdGlvbihrKXtyZXR1cm4gay5GKCl9KSxbXSlCWSgyLDQ0LEZYLGZyKTt2YXIgbnI9KChoVyg3MixGWCksRlgpLnByb3RvdHlwZS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWJ1dHRvbiJ9LEZYLnByb3RvdHlwZS5iWD1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKFIpe2Nhc2UgODpjYXNlIDE2Ok9SKDEyLDUsZmFsc2UsImhpZGRlbiIsayxHLCJwcmVzc2VkIik7YnJlYWs7ZGVmYXVsdDpjYXNlIDY0OmNhc2UgMTpGWC5PLmJYLmNhbGwodGhpcyxrLFIsRyl9fSx7fSk7aWYoKCgoKCgoKCh1PShCWSgyLDQyLGI5LEREKSxiOSkucHJvdG90eXBlLHUpLmppPXRydWUsdSkuSW89ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTU2O0chPTI0OylHPT04Mj8odGhpcy5EP2UoNDMsMCxrLHRoaXMuRCl8fHRoaXMuRC5wdXNoKGspOnRoaXMuRD1ba10sdGhpcy5DLklvKHRoaXMsayx0cnVlKSxHPTI0KTpHPT03Mz8odGhpcy5DLklvKHRoaXMsayxmYWxzZSksRz0yNCk6Rz09MTk/Rz10aGlzLkQubGVuZ3RoPT0wPzQwOjczOkc9PTQwPyh0aGlzLkQ9bnVsbCxHPTczKTpHPT01Nj9HPVI/MTM6NzE6Rz09MTM/Rz1rPzgyOjI0Okc9PTcxJiYoRz1rJiZ0aGlzLkQmJnRXKDYsMCxrLHRoaXMuRCk/MTk6MjQpfSx1KS5pWD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkMuaVgodGhpcyl9LHUucmI9MzksdSkuaXE9MCx1KS5ZZT0yNTUsdS5CdD1mdW5jdGlvbigpeygoYjkuTy5CdC5jYWxsKHRoaXMpLHRoaXMuVTIpJiZ0aGlzLlUyLmRldGFjaCgpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkpJiZ0aGlzLkMuQXgodGhpcyxmYWxzZSl9LHUuVT1mdW5jdGlvbihrKXt7az03NTt3aGlsZShrIT02MilrPT03MD8oZGVsZXRlIHRoaXMuQyx0aGlzLkQ9bnVsbCxrPTYyKTprPT01Mz9rPXRoaXMuVTI/OTE6NzA6az09OTE/KHRoaXMuVTIuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLlUyLGs9NzApOms9PTc1JiYoYjkuTy5VLmNhbGwodGhpcyksaz01Myl9fSx1KS5EPW51bGwsdS5PMj0wLHUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaml9LHUpLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiFNUCgxMCwxLHRoaXMpfSx1LmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIE1QKDksNCx0aGlzKX0sdS5zZXRBY3RpdmU9ZnVuY3Rpb24oayl7SUIoMTAsNCx0aGlzLGssNCkmJnRoaXMudihrLDQpfSx1KS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk8yfSx1LnY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9Nzg7WiE9ODk7KVo9PTgzPyhEPSFrLGM9dGhpcy5nZXRQYXJlbnQoKSxaPTM1KTpaPT0xNj9aPUQ/MTQ6NzQ6Wj09NzQ/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxJQigxMiw0LHRoaXMsZmFsc2UsMikmJnRoaXMudihmYWxzZSwyKSxaPTE0KTpaPT0yNT8odGhpcy5DLnYoUix0aGlzLGspLHRoaXMuTzI9az8oaD10aGlzLk8yLC0xLX5oLShoJn5SKSsoaF5SKSk6dGhpcy5PMiZ+UixaPTg5KTpaPT00Mj9aPXRoaXMucmImUiYmayE9TVAoMyxSLHRoaXMpPzI1Ojg5Olo9PTM1P1o9YyYmdHlwZW9mIGMuaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhYy5pc0VuYWJsZWQoKXx8IUlCKDMyLDQsdGhpcywhRCwxKT84OToxNjpaPT03OD9aPUd8fFIhPTE/NDI6ODM6Wj09MTQmJih0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLkMuQXgodGhpcyxEKSx0aGlzLnYoIUQsMSx0cnVlKSxaPTg5KX0sdHlwZW9mIGI5IT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitiOSk7aWYodHlwZW9mIGZyIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK2ZyKTt2YXIgYVk9Q24oNjQsMTcsYjkpOygoQlkoMiw0MCxnVSwoKEJZKDIsNDYsUWYsKGEoNixmdW5jdGlvbigpe3JldHVybiBuZXcgYjkobnVsbCl9LChuclthWV09ZnIsImdvb2ctY29udHJvbCIpKSxGWCkpLGhXKDczLFFmKSxRZi5wcm90b3R5cGUuQXg9ZnVuY3Rpb24oKXt9LFFmLnByb3RvdHlwZSkudj1mdW5jdGlvbihrLFIsRyxoLEQpe3tEPTkxO3doaWxlKEQhPTQyKUQ9PTkxPyhRZi5PLnYuY2FsbCh0aGlzLGssUixHKSxoPVIuRigpLEQ9NjEpOkQ9PTgzPyhoLmRpc2FibGVkPUcsRD00Mik6RD09NjEmJihEPWgmJms9PTE/ODM6NDIpfX0sUWYucHJvdG90eXBlLmJYPWZ1bmN0aW9uKCl7fSxiOSkpLGdVLnByb3RvdHlwZSkuVT1mdW5jdGlvbigpe2RlbGV0ZSAoZGVsZXRlIChnVS5PLlUuY2FsbCh0aGlzKSx0aGlzKS5KMyx0aGlzKS5kTn0sYSkoNSxmdW5jdGlvbigpe3JldHVybiBuZXcgZ1UobnVsbCl9LCJnb29nLWJ1dHRvbiIpO3ZhciBaRCx1OT1ILnJlcXVlc3RJZGxlQ2FsbGJhY2s/ZnVuY3Rpb24oayl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe2soKX0se3RpbWVvdXQ6NH0pfTpILnNldEltbWVkaWF0ZT9mdW5jdGlvbihrKXtzZXRJbW1lZGlhdGUoayl9OmZ1bmN0aW9uKGspe3NldFRpbWVvdXQoaywwKX0sb3Y9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LFZmPW9CKDEzLDEwLFsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qcy9iZy8iLCIiXSksdlk9U3RyaW5nLmZyb21DaGFyQ29kZSgxMDUsMTEwLDExNiwxMDEsMTAzLDY3LDEwNCwxMDEsOTksMTA3LDY2LDEyMSwxMTIsOTcsMTE1LDExNSksd1U9e30sJGY9W10sUlk9KHgucHJvdG90eXBlLlB3PXZvaWQgMCx4LnByb3RvdHlwZS5MWD0oeC5wcm90b3R5cGUuTm09ZmFsc2UsInRvU3RyaW5nIiksW10pLGRyPVtdLEFvPSh4LnByb3RvdHlwZS5mUT12b2lkIDAsW10pLEJkPVtdLG1jPVtdLEd0PVtdLE1UPVtdLHhuPVtdLHpOPWZ1bmN0aW9uKGssUil7d2hpbGUoIVtdPT1mYWxzZSl7cmV0dXJuKFI9QVcoNDEsImFkIiwxNykpJiZrLmV2YWwoUi5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBSLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR307aWYoImEiKWJyZWFrfX0oSCkseXI9ZnVuY3Rpb24oayl7cmV0dXJuKGs9QVcoNDEsImFkIiwxNikpP2Z1bmN0aW9uKFIpe3JldHVybiBrLmNyZWF0ZVNjcmlwdFVSTChSKX06ZnVuY3Rpb24oUil7cmV0dXJuIFJ9fSgpLEVlPWZ1bmN0aW9uKGspe3JldHVybihrPUFXKDQxLCJhZCIsMTkpKT9mdW5jdGlvbihSKXtyZXR1cm4gay5jcmVhdGVIVE1MKFIpfTpmdW5jdGlvbihSKXtyZXR1cm4gUn19KCkseWY9KCgoKChpTixZZixTOCxueCxaeSxmdW5jdGlvbigpe30pKEU1KSxmdW5jdGlvbigpe30pKFdZKSxmdW5jdGlvbigpe30pKHM1KSx5cixmdW5jdGlvbigpe30pKEVlKSx3VSkuY29uc3RydWN0b3IsU2U9KCgoKCgoKHgucHJvdG90eXBlLkxqPTAseC5wcm90b3R5cGUuUj0odT14LnByb3RvdHlwZSwiY3JlYXRlIiksdSkuSj0od2luZG93LnBlcmZvcm1hbmNlfHx7fSkubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUmErd2luZG93LnBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sdSkuaHM9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gQ24uY2FsbCh0aGlzLDY0LDMyLGssUixHLGgsRCl9LHUpLlJvPWZ1bmN0aW9uKCl7cmV0dXJuIGhXLmNhbGwodGhpcyw1Nil9LHUpLnNfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7cmV0dXJuIE1QLmNhbGwodGhpcyw1NixrLFIsRyxoLEQsYyxaLG4pfSx1KS50cz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gUkIuY2FsbCh0aGlzLDIxLGssUixHLGgsRCxjLFosbixtLEIpfSx1LnBqPWZ1bmN0aW9uKCl7cmV0dXJuIFJCLmNhbGwodGhpcyw2NCl9LHUpLnBYPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIFkuY2FsbCh0aGlzLGssOSxSLEcsaCxEKX0sdS5IVj0wLHZvaWQgMCksSm89KHU9eC5wcm90b3R5cGUsdS5pPWZ1bmN0aW9uKGssUil7cmV0dXJuIFI9KGs9e30sU2U9ZnVuY3Rpb24oKXtyZXR1cm4gaz09Uj81ODoxMDZ9LHt9KSxmdW5jdGlvbihHLGgsRCxjLFosbixtLEIsVCxOLFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKLHosUHUsbTcsZyxlTSxMLFU1LHQsVSxPNSxZbixwLEN4KXtmb3IodD0zMixVPXVuZGVmaW5lZCxwPTIwLEN4PWZhbHNlOzspdHJ5e2lmKHQ9PTY1KWJyZWFrO2Vsc2UgaWYodD09NDQpdD1CPzc3OjEwO2Vsc2UgaWYodD09OTEpcD00NyxiTig1NywzMDAwMSx0aGlzLDQxKSx0PTM3O2Vsc2UgaWYodD09ODcpcD00Nyxhdig1MDYsdGhpcywxNyxPNSksVT02NSx0PTM3O2Vsc2UgaWYodD09MjcpVSE9PXVuZGVmaW5lZD8odD1VLFU9dW5kZWZpbmVkKTp0PTY1O2Vsc2UgaWYodD09MjkpcD00Nyx0PTk1O2Vsc2UgaWYodD09MTcpcD01NSxHbygpLHQ9OTU7ZWxzZSBpZih0PT00MSl0PVA9PW1jPzI0OjIxO2Vsc2UgaWYodD09NzApdD0zOTtlbHNlIGlmKHQ9PTU3KXQ9Zy5sZW5ndGg+ND81NjozNjtlbHNlIGlmKHQ9PTI4KU4ubGVuZ3RoPTAsdD0zNztlbHNlIGlmKHQ9PTYpcD03MCx0aGlzLndiPU5UKDI1NSw0MCwwLGF0b2IoJG4pKSx0aGlzLmo9dGhpcy53Yi5sZW5ndGg8PDMsQSgzNjMsdGhpcyxbMCwwLDBdKSx0PTkxO2Vsc2UgaWYodD09MjIpe2lmKEU9KE49Vyh0aGlzLDcxKSx0eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yKSYmTltTeW1ib2wuaXRlcmF0b3JdKXo9RS5jYWxsKE4pO2Vsc2UgaWYodHlwZW9mIE4ubGVuZ3RoPT0ibnVtYmVyIil6PXtuZXh0Ok9SKDEyLDcyLDAsTil9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKE4pKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO3Q9KFQ9KHk9eix5Lm5leHQoKSksNDgpfWVsc2UgaWYodD09Nyl0PUdbNF0/NjQ6NTk7ZWxzZSBpZih0PT02NCl7Zm9yKFggaW4gQj1mYWxzZSxoKWlmKFghPT0idCImJk9iamVjdC5oYXNPd24oaCxYKSl7Qj10cnVlO2JyZWFrfXQ9NDR9ZWxzZSBpZih0PT01Myl0PVA9PUJkPzgyOjQzO2Vsc2UgaWYodD09MzgpSj0wLE89IiIsdD03MDtlbHNlIGlmKHQ9PTU2KXQ9Zy5sZW5ndGg+MUU2Pzg4Ojk3O2Vsc2UgaWYodD09MTUpWW49UWgoMCxHWzFdLDE1NywzMDAwMSx0aGlzKSxVPTk5LHQ9Mzc7ZWxzZSBpZih0PT00Myl0PVA9PUFvPzgxOjQxO2Vsc2UgaWYodD09MjUpdD1QPT1kcj8yMjozNztlbHNlIGlmKHQ9PTMyKWVNPWssaz1SLHQ9MztlbHNlIGlmKHQ9PTk2KWg9e30sdj0wLHQ9ODtlbHNlIGlmKHQ9PTg4KWc9Zy5zbGljZSgwLDFFNiksbE4oNDg4LFtdLDcsdGhpcywxMDIpLGplKDQ4OCxbXSx0aGlzLDEzNSksdD05NztlbHNlIGlmKHQ9PTY4KSRuPUdbMV0sdD02O2Vsc2UgaWYodD09NjYpSisrLHQ9Mzk7ZWxzZSBpZih0PT03NCl0PU8/Nzk6Mzg7ZWxzZSBpZih0PT04MSlyPUdbMV1bMV0sYz1LKDIsKG09Yih0aGlzLDQ4OCkubGVuZ3RoLC0yKn4obSYyKSstMisobV4yKSkpLHdKPXRoaXMuQix0aGlzLkI9dGhpcyx0PTExO2Vsc2UgaWYodD09MjQpUWgoMCxHWzFdLDE1NyxHWzJdLHRoaXMpLHQ9Mzc7ZWxzZSBpZih0PT0xOSl0PVUhPT11bmRlZmluZWQ/Mzc6NDtlbHNlIGlmKHQ9PTQpcD00NyxTPVlmKDIpLmNvbmNhdChiKHRoaXMsNDg4KSksU1sxXT0oTT1TWzBdLC0oTXwwKSsoTXwxNTkpKyhNJi0xNjApKSxTWzNdPVNbMV1eY1swXSxTWzRdPVNbMV1eY1sxXSxPPXRoaXMubmooUyksdD03NDtlbHNlIGlmKHQ9PTM2KXA9NDcsdGhpcy5CPXdKLHQ9MTk7ZWxzZSBpZih0PT05NSlUPXkubmV4dCgpLHQ9NDI7ZWxzZSBpZih0PT01MSl0PVA9PSRmPzk2OjUzO2Vsc2UgaWYodD09NTkpdGhpcy5QLnB1c2gobCksdGhpcy5QLnB1c2godyksVT02NSx0PTM3O2Vsc2UgaWYodD09MzkpdD1KPFMubGVuZ3RoPzYwOjYyO2Vsc2UgaWYodD09NzcpWW49e1FUOncsYWE6bCx0aW1lb3V0OnYsTW06ZmFsc2UsSWE6MH0sVT02Myx0PTM3O2Vsc2UgaWYodD09MzMpdD1QPT1HdD82ODo1MTtlbHNlIGlmKHQ9PTQyKXQ9VC5kb25lPzI4Ojk4O2Vsc2UgaWYodD09ODIpbj1HWzFdLG5bMV0ucHVzaChWKDE5MSx0aGlzKS5sZW5ndGgsVyh0aGlzLDE0KS5sZW5ndGgsVyh0aGlzLDQ4OCkubGVuZ3RoLGIodGhpcyw0NDYpLmxlbmd0aCxiKHRoaXMsMTYzKS5sZW5ndGgsYih0aGlzLDMwMilbMF0sVigyNjQsdGhpcykubGVuZ3RoLFcodGhpcyw0MikubGVuZ3RoKSxRKHRoaXMsMTU3LG5bMl0pLHRoaXMuWVs0NjldJiZRaCgwLFYoNDY5LHRoaXMpLDE1NywzMDAwMSx0aGlzKSx0PTM3O2Vsc2UgaWYodD09OTgpR289VC52YWx1ZSx0PTE3O2Vsc2UgaWYodD09NDApcD00Nyx3PVtCZCxHLHRoaXMuUm8oKV0sbD1bQW8sR10sdD03O2Vsc2UgaWYodD09MylwPTQ3LFA9R1swXSx0PTMzO2Vsc2UgaWYodD09MzcpcD0yMCxrPWVNLHQ9Mjc7ZWxzZXtpZih0PT00NylyZXR1cm4gWW47aWYodD09OClwPTc3LGg9Yih0aGlzLDU1KXx8e30sdj1oLnR8MCx0PTQwO2Vsc2UgaWYodD09NjApZD1TW0pdW3RoaXMuTFhdKDE2KSxkLmxlbmd0aD09MSYmKGQ9IjAiK2QpLE8rPWQsdD02NjtlbHNlIGlmKHQ9PTk3KWplKDQ4OCxLKDIsZy5sZW5ndGgpLmNvbmNhdChnKSx0aGlzLDUpLHQ9MzY7ZWxzZSBpZih0PT0xMSlwPTc2LG03PWIodGhpcyw1MDYpLG03Lmxlbmd0aD4wJiZsTig0ODgsSygyLG03Lmxlbmd0aCkuY29uY2F0KG03KSw3LHRoaXMsMTQ3KSxsTig0ODgsSygxLHRoaXMuSCsxPj4xKSw3LHRoaXMsMjQ0KSxqZSg0ODgsSygxLHRoaXNbQW9dLmxlbmd0aCksdGhpcyksUHU9dGhpcy5IdD9WKDE2Myx0aGlzKTpiKHRoaXMsNDQ2KSxQdS5sZW5ndGg+MCYmbE4oMTQsSygyLFB1Lmxlbmd0aCkuY29uY2F0KFB1KSw3LHRoaXMsMjI3KSxGPVYoMTQsdGhpcyksRi5sZW5ndGg+NCYmamUoNDg4LEsoMixGLmxlbmd0aCkuY29uY2F0KEYpLHRoaXMsMjI2KSxJPTAsSSs9Yih0aGlzLDEwMykmMjA0NyxJLT0oWj1WKDQ4OCx0aGlzKS5sZW5ndGgsLTItMip+KFp8NSktKFpeNSkpLGc9Vig0Mix0aGlzKSxnLmxlbmd0aD40JiYoSS09KGcubGVuZ3RofDApKzMpLEk+MCYmamUoNDg4LEsoMixJKS5jb25jYXQoWWYoSSkpLHRoaXMsMTUwKSx0PTU3O2Vsc2UgaWYodD09NzkpTz0iJCIrTyx0PTYyO2Vsc2V7aWYodD09OTkpcmV0dXJuIFluO2lmKHQ9PTEwKXRoaXMuUC5wdXNoKGwpLHRoaXMuUC5wdXNoKHcpLFU9NjUsdD0zNztlbHNlIGlmKHQ9PTIxKXQ9UD09TVQ/MTU6MjU7ZWxzZSBpZih0PT02MilEPU8sYih0aGlzLDE5MSkubGVuZ3RoPXIuc2hpZnQoKSxiKHRoaXMsMTQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQ4OCkubGVuZ3RoPXIuc2hpZnQoKSxXKHRoaXMsNDQ2KS5sZW5ndGg9ci5zaGlmdCgpLFYoMTYzLHRoaXMpLmxlbmd0aD1yLnNoaWZ0KCksVigzMDIsdGhpcylbMF09ci5zaGlmdCgpLFcodGhpcywyNjQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQyKS5sZW5ndGg9ci5zaGlmdCgpLFluPUQsVT00Nyx0PTM3O2Vsc2V7aWYodD09NjMpcmV0dXJuIFluO2lmKHQ9PTQ4KXQ9NDI7ZWxzZSBpZih0PT05MCl0aHJvdyBVNTt9fX19Y2F0Y2goaG8pe2lmKHA9PShVNT1obywyMCkpdGhyb3cgaG87cD09NDc/KFU9OTAsdD0zNyk6cD09NzA/KE81PWhvLHQ9ODcpOnA9PTc2PyhVPTkwLHQ9MzYpOnA9PTc3PyhVPTkwLHQ9NDApOnA9PTU1JiYoTD1obyx0PTI5KX19fSgpLHUudXE9ZnVuY3Rpb24oayl7cmV0dXJuIEJZLmNhbGwodGhpcyxrLDcyKX0sLy4vKTtpZih0cnVlKXUubmo9ZnVuY3Rpb24oayl7cmV0dXJuIENuLmNhbGwodGhpcyw2NCw4LGspfTt2YXIgeGY7aWYodS5TaT0odS50eD1mdW5jdGlvbigpe3JldHVybiBDbi5jYWxsKHRoaXMsNjQsNDgpfSwwKSx0cnVlKXUuck49MDt2YXIgSGQ9R3QucG9wLmJpbmQoeC5wcm90b3R5cGVbeC5wcm90b3R5cGVbUlldPSh1LmVpPWZ1bmN0aW9uKCl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiwxNCl9LFswLDAsMSwxLDAsMSwxXSksQmRdKTsoWkQ9KHhmPXRXKDkzLChKb1t4LnByb3RvdHlwZS5MWF09SGQse2dldDpIZH0pLHgucHJvdG90eXBlLlIpLHgucHJvdG90eXBlLldWPXZvaWQgMCxILnRyYXlyaWRlKXx8KEgudHJheXJpZGU9e30pLFpELm0+NDB8fChaRC5tPTQxLFpELmFkPWgwLFpELmE9Z0opLFpEKS5ScnZfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3JldHVybltmdW5jdGlvbihUKXtyZXR1cm4gTG4oMyxmYWxzZSxCLDcsVCl9LChCPW5ldyB4KGgsayxELGMsUixtLG4sWiksZnVuY3Rpb24oVCl7Qi50eChUKX0pXX07fSkuY2FsbCh0aGlzKTsnXS5qb2luKCdcbicpKSk7fSkuY2FsbCh0aGlzKTs="}},"time_used":11,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/css/theme-vendors.min.css","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:48.842Z","timestamp":1785129948842,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /css/theme-vendors.min.css HTTP/1.1\r\nHost: digitaltradeinvest.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:48 GMT\r\ncontent-type: text/css\r\ncontent-length: 43819\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 10:36:30 GMT\r\nlast-modified: Thu, 09 Oct 2025 21:44:33 GMT\r\netag: \"54cf2-68e82cc1-ed023606a45e53c7;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 234257\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 13a07a1b7fbf6812afde85b8989539ff-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":347378,"size_decoded":44365,"mime_type":"text/css","magic":"ASCII text, with very long lines (65299), with CRLF line terminators","md5":"6853fd2e13ca29f0af30412968b81dc4","sha1":"af5ee35d04296fc28c83023e4bd1b3d565c8f167","sha256":"41f0662022e5553d9ac9a997d8b3dd7cb750e70178a0ca35ac9c0d8fc04b7978","sha512":"2620e1934fce68d414e8adf32319264166eac04cb026cf9b15d12345c9c76c676505b4668936104e32e39f5d9d3f09cfb0626c25a7dbd155e92210b0f3b6964b","ssdeep":"6144:N73Gq3SYiLENM6HN26f6oLf65WQXcYkZgwh1nAukdDO3Xyr5Ir5eh0dT2kt4jX:zN7Zgwh1nAukdDO3Xyr5Ir5eh0dT2ZjX","tlshash":"7074d9a6b491319ef0278a1997c47ff8063ec243d6220efeb1533a59c7857da12b750b","first_seen":"2026-06-21T08:17:32.832132Z","last_seen":"2026-08-04T06:09:43.945656Z","times_seen":5,"resource_available":false,"data":"LyoNCkJvb3RzdHJhcA0KVmVyc2lvbjogNC41LjMNClBsdWdpbiBVUkk6IGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8NCkxpY2Vuc2U6IENvcHlyaWdodCAyMDExLTIwMjAgVGhlIEJvb3RzdHJhcCBBdXRob3JzIHwgQ29weXJpZ2h0IDIwMTEtMjAyMCBUd2l0dGVyLCBJbmMuIHwgTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYWluL0xJQ0VOU0UpDQoqLw0KOnJvb3R7LS1ibHVlOiMwMDdiZmY7LS1pbmRpZ286IzY2MTBmMjstLXB1cnBsZTojNmY0MmMxOy0tcGluazojZTgzZThjOy0tcmVkOiNkYzM1NDU7LS1vcmFuZ2U6I2ZkN2UxNDstLXllbGxvdzojZmZjMTA3Oy0tZ3JlZW46IzI4YTc0NTstLXRlYWw6IzIwYzk5NzstLWN5YW46IzE3YTJiODstLXdoaXRlOiNmZmY7LS1ncmF5OiM2Yzc1N2Q7LS1ncmF5LWRhcms6IzM0M2E0MDstLXByaW1hcnk6IzAwN2JmZjstLXNlY29uZGFyeTojNmM3NTdkOy0tc3VjY2VzczojMjhhNzQ1Oy0taW5mbzojMTdhMmI4Oy0td2FybmluZzojZmZjMTA3Oy0tZGFuZ2VyOiNkYzM1NDU7LS1saWdodDojZjhmOWZhOy0tZGFyazojMzQzYTQwOy0tYnJlYWtwb2ludC14czowOy0tYnJlYWtwb2ludC1zbTo1NzZweDstLWJyZWFrcG9pbnQtbWQ6NzY4cHg7LS1icmVha3BvaW50LWxnOjk5MnB4Oy0tYnJlYWtwb2ludC14bDoxMjAwcHg7LS1mb250LWZhbWlseS1zYW5zLXNlcmlmOi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsQXJpYWwsIk5vdG8gU2FucyIsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCIsIk5vdG8gQ29sb3IgRW1vamkiOy0tZm9udC1mYW1pbHktbW9ub3NwYWNlOlNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcywiTGliZXJhdGlvbiBNb25vIiwiQ291cmllciBOZXciLG1vbm9zcGFjZX0qLDo6YWZ0ZXIsOjpiZWZvcmV7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWx7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsaW5lLWhlaWdodDoxLjE1Oy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1hcnRpY2xlLGFzaWRlLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31ib2R5e21hcmdpbjowO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLCJIZWx2ZXRpY2EgTmV1ZSIsQXJpYWwsIk5vdG8gU2FucyIsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSIsIlNlZ29lIFVJIFN5bWJvbCIsIk5vdG8gQ29sb3IgRW1vamkiO2ZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzIxMjUyOTt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZC1jb2xvcjojZmZmfVt0YWJpbmRleD0iLTEiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpe291dGxpbmU6MCFpbXBvcnRhbnR9aHJ7Ym94LXNpemluZzpjb250ZW50LWJveDtoZWlnaHQ6MDtvdmVyZmxvdzp2aXNpYmxlfWgxLGgyLGgzLGg0LGg1LGg2e21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOi41cmVtfXB7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MXJlbX1hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdLGFiYnJbdGl0bGVde3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIGRvdHRlZDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIGRvdHRlZDtjdXJzb3I6aGVscDtib3JkZXItYm90dG9tOjA7LXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6bm9uZTt0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6bm9uZX1hZGRyZXNze21hcmdpbi1ib3R0b206MXJlbTtmb250LXN0eWxlOm5vcm1hbDtsaW5lLWhlaWdodDppbmhlcml0fWRsLG9sLHVse21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjFyZW19b2wgb2wsb2wgdWwsdWwgb2wsdWwgdWx7bWFyZ2luLWJvdHRvbTowfWR0e2ZvbnQtd2VpZ2h0OjcwMH1kZHttYXJnaW4tYm90dG9tOi41cmVtO21hcmdpbi1sZWZ0OjB9YmxvY2txdW90ZXttYXJnaW46MCAwIDFyZW19YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3Vie2JvdHRvbTotLjI1ZW19c3Vwe3RvcDotLjVlbX1he2NvbG9yOiMwMDdiZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH1hOmhvdmVye2NvbG9yOiMwMDU2YjM7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hOm5vdChbaHJlZl0pOm5vdChbY2xhc3NdKXtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lfWE6bm90KFtocmVmXSk6bm90KFtjbGFzc10pOmhvdmVye2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6U0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLCJMaWJlcmF0aW9uIE1vbm8iLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19cHJle21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjFyZW07b3ZlcmZsb3c6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6c2Nyb2xsYmFyfWZpZ3VyZXttYXJnaW46MCAwIDFyZW19aW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXItc3R5bGU6bm9uZX1zdmd7b3ZlcmZsb3c6aGlkZGVuO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX10YWJsZXtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9Y2FwdGlvbntwYWRkaW5nLXRvcDouNzVyZW07cGFkZGluZy1ib3R0b206Ljc1cmVtO2NvbG9yOiM2Yzc1N2Q7dGV4dC1hbGlnbjpsZWZ0O2NhcHRpb24tc2lkZTpib3R0b219dGh7dGV4dC1hbGlnbjppbmhlcml0O3RleHQtYWxpZ246LXdlYmtpdC1tYXRjaC1wYXJlbnR9bGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTouNXJlbX1idXR0b257Ym9yZGVyLXJhZGl1czowfWJ1dHRvbjpmb2N1c3tvdXRsaW5lOjFweCBkb3R0ZWQ7b3V0bGluZTo1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3J9YnV0dG9uLGlucHV0LG9wdGdyb3VwLHNlbGVjdCx0ZXh0YXJlYXttYXJnaW46MDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXR9YnV0dG9uLGlucHV0e292ZXJmbG93OnZpc2libGV9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfVtyb2xlPWJ1dHRvbl17Y3Vyc29yOnBvaW50ZXJ9c2VsZWN0e3dvcmQtd3JhcDpub3JtYWx9W3R5cGU9YnV0dG9uXSxbdHlwZT1yZXNldF0sW3R5cGU9c3VibWl0XSxidXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbn1bdHlwZT1idXR0b25dOm5vdCg6ZGlzYWJsZWQpLFt0eXBlPXJlc2V0XTpub3QoOmRpc2FibGVkKSxbdHlwZT1zdWJtaXRdOm5vdCg6ZGlzYWJsZWQpLGJ1dHRvbjpub3QoOmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn1bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyLGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntwYWRkaW5nOjA7Ym9yZGVyLXN0eWxlOm5vbmV9aW5wdXRbdHlwZT1jaGVja2JveF0saW5wdXRbdHlwZT1yYWRpb117Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MH10ZXh0YXJlYXtvdmVyZmxvdzphdXRvO3Jlc2l6ZTp2ZXJ0aWNhbH1maWVsZHNldHttaW4td2lkdGg6MDtwYWRkaW5nOjA7bWFyZ2luOjA7Ym9yZGVyOjB9bGVnZW5ke2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjA7bWFyZ2luLWJvdHRvbTouNXJlbTtmb250LXNpemU6MS41cmVtO2xpbmUtaGVpZ2h0OmluaGVyaXQ7Y29sb3I6aW5oZXJpdDt3aGl0ZS1zcGFjZTpub3JtYWx9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVt0eXBlPXNlYXJjaF17b3V0bGluZS1vZmZzZXQ6LTJweDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257Zm9udDppbmhlcml0Oy13ZWJraXQtYXBwZWFyYW5jZTpidXR0b259b3V0cHV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW07Y3Vyc29yOnBvaW50ZXJ9dGVtcGxhdGV7ZGlzcGxheTpub25lfVtoaWRkZW5de2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmgxLC5oMiwuaDMsLmg0LC5oNSwuaDYsaDEsaDIsaDMsaDQsaDUsaDZ7bWFyZ2luLWJvdHRvbTouNXJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4yfS5oMSxoMXtmb250LXNpemU6Mi41cmVtfS5oMixoMntmb250LXNpemU6MnJlbX0uaDMsaDN7Zm9udC1zaXplOjEuNzVyZW19Lmg0LGg0e2ZvbnQtc2l6ZToxLjVyZW19Lmg1LGg1e2ZvbnQtc2l6ZToxLjI1cmVtfS5oNixoNntmb250LXNpemU6MXJlbX0ubGVhZHtmb250LXNpemU6MS4yNXJlbTtmb250LXdlaWdodDozMDB9LmRpc3BsYXktMXtmb250LXNpemU6NnJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfS5kaXNwbGF5LTJ7Zm9udC1zaXplOjUuNXJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfS5kaXNwbGF5LTN7Zm9udC1zaXplOjQuNXJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfS5kaXNwbGF5LTR7Zm9udC1zaXplOjMuNXJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfWhye21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW07Ym9yZGVyOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMSl9LnNtYWxsLHNtYWxse2ZvbnQtc2l6ZTo4MCU7Zm9udC13ZWlnaHQ6NDAwfS5tYXJrLG1hcmt7cGFkZGluZzouMmVtO2JhY2tncm91bmQtY29sb3I6I2ZjZjhlM30ubGlzdC11bnN0eWxlZHtwYWRkaW5nLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmV9Lmxpc3QtaW5saW5le3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0ubGlzdC1pbmxpbmUtaXRlbXtkaXNwbGF5OmlubGluZS1ibG9ja30ubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1yaWdodDouNXJlbX0uaW5pdGlhbGlzbXtmb250LXNpemU6OTAlO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uYmxvY2txdW90ZXttYXJnaW4tYm90dG9tOjFyZW07Zm9udC1zaXplOjEuMjVyZW19LmJsb2NrcXVvdGUtZm9vdGVye2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjgwJTtjb2xvcjojNmM3NTdkfS5ibG9ja3F1b3RlLWZvb3Rlcjo6YmVmb3Jle2NvbnRlbnQ6IlwyMDE0XDAwQTAifS5pbWctZmx1aWR7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99LmltZy10aHVtYm5haWx7cGFkZGluZzouMjVyZW07YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RlZTJlNjtib3JkZXItcmFkaXVzOi4yNXJlbTttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30uZmlndXJle2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5maWd1cmUtaW1ne21hcmdpbi1ib3R0b206LjVyZW07bGluZS1oZWlnaHQ6MX0uZmlndXJlLWNhcHRpb257Zm9udC1zaXplOjkwJTtjb2xvcjojNmM3NTdkfWNvZGV7Zm9udC1zaXplOjg3LjUlO2NvbG9yOiNlODNlOGM7d29yZC13cmFwOmJyZWFrLXdvcmR9YT5jb2Rle2NvbG9yOmluaGVyaXR9a2Jke3BhZGRpbmc6LjJyZW0gLjRyZW07Zm9udC1zaXplOjg3LjUlO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjEyNTI5O2JvcmRlci1yYWRpdXM6LjJyZW19a2JkIGtiZHtwYWRkaW5nOjA7Zm9udC1zaXplOjEwMCU7Zm9udC13ZWlnaHQ6NzAwfXByZXtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTo4Ny41JTtjb2xvcjojMjEyNTI5fXByZSBjb2Rle2ZvbnQtc2l6ZTppbmhlcml0O2NvbG9yOmluaGVyaXQ7d29yZC1icmVhazpub3JtYWx9LnByZS1zY3JvbGxhYmxle21heC1oZWlnaHQ6MzQwcHg7b3ZlcmZsb3cteTpzY3JvbGx9LmNvbnRhaW5lciwuY29udGFpbmVyLWZsdWlkLC5jb250YWluZXItbGcsLmNvbnRhaW5lci1tZCwuY29udGFpbmVyLXNtLC5jb250YWluZXIteGx7d2lkdGg6MTAwJTtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNvbnRhaW5lciwuY29udGFpbmVyLXNte21heC13aWR0aDo1NDBweH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb250YWluZXIsLmNvbnRhaW5lci1tZCwuY29udGFpbmVyLXNte21heC13aWR0aDo3MjBweH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5jb250YWluZXIsLmNvbnRhaW5lci1sZywuY29udGFpbmVyLW1kLC5jb250YWluZXItc217bWF4LXdpZHRoOjk2MHB4fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5jb250YWluZXIsLmNvbnRhaW5lci1sZywuY29udGFpbmVyLW1kLC5jb250YWluZXItc20sLmNvbnRhaW5lci14bHttYXgtd2lkdGg6MTE0MHB4fX0ucm93e2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWxlZnQ6LTE1cHh9Lm5vLWd1dHRlcnN7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH0ubm8tZ3V0dGVycz4uY29sLC5uby1ndXR0ZXJzPltjbGFzcyo9Y29sLV17cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfS5jb2wsLmNvbC0xLC5jb2wtMTAsLmNvbC0xMSwuY29sLTEyLC5jb2wtMiwuY29sLTMsLmNvbC00LC5jb2wtNSwuY29sLTYsLmNvbC03LC5jb2wtOCwuY29sLTksLmNvbC1hdXRvLC5jb2wtbGcsLmNvbC1sZy0xLC5jb2wtbGctMTAsLmNvbC1sZy0xMSwuY29sLWxnLTEyLC5jb2wtbGctMiwuY29sLWxnLTMsLmNvbC1sZy00LC5jb2wtbGctNSwuY29sLWxnLTYsLmNvbC1sZy03LC5jb2wtbGctOCwuY29sLWxnLTksLmNvbC1sZy1hdXRvLC5jb2wtbWQsLmNvbC1tZC0xLC5jb2wtbWQtMTAsLmNvbC1tZC0xMSwuY29sLW1kLTEyLC5jb2wtbWQtMiwuY29sLW1kLTMsLmNvbC1tZC00LC5jb2wtbWQtNSwuY29sLW1kLTYsLmNvbC1tZC03LC5jb2wtbWQtOCwuY29sLW1kLTksLmNvbC1tZC1hdXRvLC5jb2wtc20sLmNvbC1zbS0xLC5jb2wtc20tMTAsLmNvbC1zbS0xMSwuY29sLXNtLTEyLC5jb2wtc20tMiwuY29sLXNtLTMsLmNvbC1zbS00LC5jb2wtc20tNSwuY29sLXNtLTYsLmNvbC1zbS03LC5jb2wtc20tOCwuY29sLXNtLTksLmNvbC1zbS1hdXRvLC5jb2wteGwsLmNvbC14bC0xLC5jb2wteGwtMTAsLmNvbC14bC0xMSwuY29sLXhsLTEyLC5jb2wteGwtMiwuY29sLXhsLTMsLmNvbC14bC00LC5jb2wteGwtNSwuY29sLXhsLTYsLmNvbC14bC03LC5jb2wteGwtOCwuY29sLXhsLTksLmNvbC14bC1hdXRve3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4fS5jb2x7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTttYXgtd2lkdGg6MTAwJX0ucm93LWNvbHMtMT4qey1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9LnJvdy1jb2xzLTI+KnstbXMtZmxleDowIDAgNTAlO2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5yb3ctY29scy0zPip7LW1zLWZsZXg6MCAwIDMzLjMzMzMzMyU7ZmxleDowIDAgMzMuMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzJX0ucm93LWNvbHMtND4qey1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LnJvdy1jb2xzLTU+KnstbXMtZmxleDowIDAgMjAlO2ZsZXg6MCAwIDIwJTttYXgtd2lkdGg6MjAlfS5yb3ctY29scy02Pip7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLWF1dG97LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzt3aWR0aDphdXRvO21heC13aWR0aDoxMDAlfS5jb2wtMXstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wtMnstbXMtZmxleDowIDAgMTYuNjY2NjY3JTtmbGV4OjAgMCAxNi42NjY2NjclO21heC13aWR0aDoxNi42NjY2NjclfS5jb2wtM3stbXMtZmxleDowIDAgMjUlO2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5jb2wtNHstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wtNXstbXMtZmxleDowIDAgNDEuNjY2NjY3JTtmbGV4OjAgMCA0MS42NjY2NjclO21heC13aWR0aDo0MS42NjY2NjclfS5jb2wtNnstbXMtZmxleDowIDAgNTAlO2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5jb2wtN3stbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wtOHstbXMtZmxleDowIDAgNjYuNjY2NjY3JTtmbGV4OjAgMCA2Ni42NjY2NjclO21heC13aWR0aDo2Ni42NjY2NjclfS5jb2wtOXstbXMtZmxleDowIDAgNzUlO2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5jb2wtMTB7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLTExey1tcy1mbGV4OjAgMCA5MS42NjY2NjclO2ZsZXg6MCAwIDkxLjY2NjY2NyU7bWF4LXdpZHRoOjkxLjY2NjY2NyV9LmNvbC0xMnstbXMtZmxleDowIDAgMTAwJTtmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5vcmRlci1maXJzdHstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXItbGFzdHstbXMtZmxleC1vcmRlcjoxMztvcmRlcjoxM30ub3JkZXItMHstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLTF7LW1zLWZsZXgtb3JkZXI6MTtvcmRlcjoxfS5vcmRlci0yey1tcy1mbGV4LW9yZGVyOjI7b3JkZXI6Mn0ub3JkZXItM3stbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLTR7LW1zLWZsZXgtb3JkZXI6NDtvcmRlcjo0fS5vcmRlci01ey1tcy1mbGV4LW9yZGVyOjU7b3JkZXI6NX0ub3JkZXItNnstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLTd7LW1zLWZsZXgtb3JkZXI6NztvcmRlcjo3fS5vcmRlci04ey1tcy1mbGV4LW9yZGVyOjg7b3JkZXI6OH0ub3JkZXItOXstbXMtZmxleC1vcmRlcjo5O29yZGVyOjl9Lm9yZGVyLTEwey1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci0xMXstbXMtZmxleC1vcmRlcjoxMTtvcmRlcjoxMX0ub3JkZXItMTJ7LW1zLWZsZXgtb3JkZXI6MTI7b3JkZXI6MTJ9Lm9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzJX0ub2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY3JX0ub2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMlfS5vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjclfS5vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9Lm9mZnNldC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMyV9Lm9mZnNldC04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NyV9Lm9mZnNldC05e21hcmdpbi1sZWZ0Ojc1JX0ub2Zmc2V0LTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMyV9Lm9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjclfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY29sLXNtey1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjA7ZmxleC1iYXNpczowOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LnJvdy1jb2xzLXNtLTE+KnstbXMtZmxleDowIDAgMTAwJTtmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5yb3ctY29scy1zbS0yPip7LW1zLWZsZXg6MCAwIDUwJTtmbGV4OjAgMCA1MCU7bWF4LXdpZHRoOjUwJX0ucm93LWNvbHMtc20tMz4qey1tcy1mbGV4OjAgMCAzMy4zMzMzMzMlO2ZsZXg6MCAwIDMzLjMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMyV9LnJvdy1jb2xzLXNtLTQ+KnstbXMtZmxleDowIDAgMjUlO2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5yb3ctY29scy1zbS01Pip7LW1zLWZsZXg6MCAwIDIwJTtmbGV4OjAgMCAyMCU7bWF4LXdpZHRoOjIwJX0ucm93LWNvbHMtc20tNj4qey1tcy1mbGV4OjAgMCAxNi42NjY2NjclO2ZsZXg6MCAwIDE2LjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NyV9LmNvbC1zbS1hdXRvey1tcy1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG87d2lkdGg6YXV0bzttYXgtd2lkdGg6MTAwJX0uY29sLXNtLTF7LW1zLWZsZXg6MCAwIDguMzMzMzMzJTtmbGV4OjAgMCA4LjMzMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMzJX0uY29sLXNtLTJ7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLXNtLTN7LW1zLWZsZXg6MCAwIDI1JTtmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0uY29sLXNtLTR7LW1zLWZsZXg6MCAwIDMzLjMzMzMzMyU7ZmxleDowIDAgMzMuMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzJX0uY29sLXNtLTV7LW1zLWZsZXg6MCAwIDQxLjY2NjY2NyU7ZmxleDowIDAgNDEuNjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY3JX0uY29sLXNtLTZ7LW1zLWZsZXg6MCAwIDUwJTtmbGV4OjAgMCA1MCU7bWF4LXdpZHRoOjUwJX0uY29sLXNtLTd7LW1zLWZsZXg6MCAwIDU4LjMzMzMzMyU7ZmxleDowIDAgNTguMzMzMzMzJTttYXgtd2lkdGg6NTguMzMzMzMzJX0uY29sLXNtLTh7LW1zLWZsZXg6MCAwIDY2LjY2NjY2NyU7ZmxleDowIDAgNjYuNjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY3JX0uY29sLXNtLTl7LW1zLWZsZXg6MCAwIDc1JTtmbGV4OjAgMCA3NSU7bWF4LXdpZHRoOjc1JX0uY29sLXNtLTEwey1tcy1mbGV4OjAgMCA4My4zMzMzMzMlO2ZsZXg6MCAwIDgzLjMzMzMzMyU7bWF4LXdpZHRoOjgzLjMzMzMzMyV9LmNvbC1zbS0xMXstbXMtZmxleDowIDAgOTEuNjY2NjY3JTtmbGV4OjAgMCA5MS42NjY2NjclO21heC13aWR0aDo5MS42NjY2NjclfS5jb2wtc20tMTJ7LW1zLWZsZXg6MCAwIDEwMCU7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ub3JkZXItc20tZmlyc3R7LW1zLWZsZXgtb3JkZXI6LTE7b3JkZXI6LTF9Lm9yZGVyLXNtLWxhc3R7LW1zLWZsZXgtb3JkZXI6MTM7b3JkZXI6MTN9Lm9yZGVyLXNtLTB7LW1zLWZsZXgtb3JkZXI6MDtvcmRlcjowfS5vcmRlci1zbS0xey1tcy1mbGV4LW9yZGVyOjE7b3JkZXI6MX0ub3JkZXItc20tMnstbXMtZmxleC1vcmRlcjoyO29yZGVyOjJ9Lm9yZGVyLXNtLTN7LW1zLWZsZXgtb3JkZXI6MztvcmRlcjozfS5vcmRlci1zbS00ey1tcy1mbGV4LW9yZGVyOjQ7b3JkZXI6NH0ub3JkZXItc20tNXstbXMtZmxleC1vcmRlcjo1O29yZGVyOjV9Lm9yZGVyLXNtLTZ7LW1zLWZsZXgtb3JkZXI6NjtvcmRlcjo2fS5vcmRlci1zbS03ey1tcy1mbGV4LW9yZGVyOjc7b3JkZXI6N30ub3JkZXItc20tOHstbXMtZmxleC1vcmRlcjo4O29yZGVyOjh9Lm9yZGVyLXNtLTl7LW1zLWZsZXgtb3JkZXI6OTtvcmRlcjo5fS5vcmRlci1zbS0xMHstbXMtZmxleC1vcmRlcjoxMDtvcmRlcjoxMH0ub3JkZXItc20tMTF7LW1zLWZsZXgtb3JkZXI6MTE7b3JkZXI6MTF9Lm9yZGVyLXNtLTEyey1tcy1mbGV4LW9yZGVyOjEyO29yZGVyOjEyfS5vZmZzZXQtc20tMHttYXJnaW4tbGVmdDowfS5vZmZzZXQtc20tMXttYXJnaW4tbGVmdDo4LjMzMzMzMyV9Lm9mZnNldC1zbS0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NyV9Lm9mZnNldC1zbS0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LXNtLTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzJX0ub2Zmc2V0LXNtLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY3JX0ub2Zmc2V0LXNtLTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQtc20tN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMlfS5vZmZzZXQtc20tOHttYXJnaW4tbGVmdDo2Ni42NjY2NjclfS5vZmZzZXQtc20tOXttYXJnaW4tbGVmdDo3NSV9Lm9mZnNldC1zbS0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMlfS5vZmZzZXQtc20tMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY3JX19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb2wtbWR7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTttYXgtd2lkdGg6MTAwJX0ucm93LWNvbHMtbWQtMT4qey1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9LnJvdy1jb2xzLW1kLTI+KnstbXMtZmxleDowIDAgNTAlO2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5yb3ctY29scy1tZC0zPip7LW1zLWZsZXg6MCAwIDMzLjMzMzMzMyU7ZmxleDowIDAgMzMuMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzJX0ucm93LWNvbHMtbWQtND4qey1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LnJvdy1jb2xzLW1kLTU+KnstbXMtZmxleDowIDAgMjAlO2ZsZXg6MCAwIDIwJTttYXgtd2lkdGg6MjAlfS5yb3ctY29scy1tZC02Pip7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLW1kLWF1dG97LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzt3aWR0aDphdXRvO21heC13aWR0aDoxMDAlfS5jb2wtbWQtMXstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wtbWQtMnstbXMtZmxleDowIDAgMTYuNjY2NjY3JTtmbGV4OjAgMCAxNi42NjY2NjclO21heC13aWR0aDoxNi42NjY2NjclfS5jb2wtbWQtM3stbXMtZmxleDowIDAgMjUlO2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5jb2wtbWQtNHstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wtbWQtNXstbXMtZmxleDowIDAgNDEuNjY2NjY3JTtmbGV4OjAgMCA0MS42NjY2NjclO21heC13aWR0aDo0MS42NjY2NjclfS5jb2wtbWQtNnstbXMtZmxleDowIDAgNTAlO2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5jb2wtbWQtN3stbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wtbWQtOHstbXMtZmxleDowIDAgNjYuNjY2NjY3JTtmbGV4OjAgMCA2Ni42NjY2NjclO21heC13aWR0aDo2Ni42NjY2NjclfS5jb2wtbWQtOXstbXMtZmxleDowIDAgNzUlO2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5jb2wtbWQtMTB7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLW1kLTExey1tcy1mbGV4OjAgMCA5MS42NjY2NjclO2ZsZXg6MCAwIDkxLjY2NjY2NyU7bWF4LXdpZHRoOjkxLjY2NjY2NyV9LmNvbC1tZC0xMnstbXMtZmxleDowIDAgMTAwJTtmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5vcmRlci1tZC1maXJzdHstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXItbWQtbGFzdHstbXMtZmxleC1vcmRlcjoxMztvcmRlcjoxM30ub3JkZXItbWQtMHstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLW1kLTF7LW1zLWZsZXgtb3JkZXI6MTtvcmRlcjoxfS5vcmRlci1tZC0yey1tcy1mbGV4LW9yZGVyOjI7b3JkZXI6Mn0ub3JkZXItbWQtM3stbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLW1kLTR7LW1zLWZsZXgtb3JkZXI6NDtvcmRlcjo0fS5vcmRlci1tZC01ey1tcy1mbGV4LW9yZGVyOjU7b3JkZXI6NX0ub3JkZXItbWQtNnstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLW1kLTd7LW1zLWZsZXgtb3JkZXI6NztvcmRlcjo3fS5vcmRlci1tZC04ey1tcy1mbGV4LW9yZGVyOjg7b3JkZXI6OH0ub3JkZXItbWQtOXstbXMtZmxleC1vcmRlcjo5O29yZGVyOjl9Lm9yZGVyLW1kLTEwey1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci1tZC0xMXstbXMtZmxleC1vcmRlcjoxMTtvcmRlcjoxMX0ub3JkZXItbWQtMTJ7LW1zLWZsZXgtb3JkZXI6MTI7b3JkZXI6MTJ9Lm9mZnNldC1tZC0we21hcmdpbi1sZWZ0OjB9Lm9mZnNldC1tZC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzJX0ub2Zmc2V0LW1kLTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY3JX0ub2Zmc2V0LW1kLTN7bWFyZ2luLWxlZnQ6MjUlfS5vZmZzZXQtbWQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMlfS5vZmZzZXQtbWQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjclfS5vZmZzZXQtbWQtNnttYXJnaW4tbGVmdDo1MCV9Lm9mZnNldC1tZC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMyV9Lm9mZnNldC1tZC04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NyV9Lm9mZnNldC1tZC05e21hcmdpbi1sZWZ0Ojc1JX0ub2Zmc2V0LW1kLTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMyV9Lm9mZnNldC1tZC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjclfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmNvbC1sZ3stbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTowO2ZsZXgtYmFzaXM6MDstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlfS5yb3ctY29scy1sZy0xPip7LW1zLWZsZXg6MCAwIDEwMCU7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ucm93LWNvbHMtbGctMj4qey1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LnJvdy1jb2xzLWxnLTM+KnstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5yb3ctY29scy1sZy00Pip7LW1zLWZsZXg6MCAwIDI1JTtmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0ucm93LWNvbHMtbGctNT4qey1tcy1mbGV4OjAgMCAyMCU7ZmxleDowIDAgMjAlO21heC13aWR0aDoyMCV9LnJvdy1jb2xzLWxnLTY+KnstbXMtZmxleDowIDAgMTYuNjY2NjY3JTtmbGV4OjAgMCAxNi42NjY2NjclO21heC13aWR0aDoxNi42NjY2NjclfS5jb2wtbGctYXV0b3stbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOjEwMCV9LmNvbC1sZy0xey1tcy1mbGV4OjAgMCA4LjMzMzMzMyU7ZmxleDowIDAgOC4zMzMzMzMlO21heC13aWR0aDo4LjMzMzMzMyV9LmNvbC1sZy0yey1tcy1mbGV4OjAgMCAxNi42NjY2NjclO2ZsZXg6MCAwIDE2LjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NyV9LmNvbC1sZy0zey1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC1sZy00ey1tcy1mbGV4OjAgMCAzMy4zMzMzMzMlO2ZsZXg6MCAwIDMzLjMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMyV9LmNvbC1sZy01ey1tcy1mbGV4OjAgMCA0MS42NjY2NjclO2ZsZXg6MCAwIDQxLjY2NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY2NyV9LmNvbC1sZy02ey1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC1sZy03ey1tcy1mbGV4OjAgMCA1OC4zMzMzMzMlO2ZsZXg6MCAwIDU4LjMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMyV9LmNvbC1sZy04ey1tcy1mbGV4OjAgMCA2Ni42NjY2NjclO2ZsZXg6MCAwIDY2LjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NyV9LmNvbC1sZy05ey1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC1sZy0xMHstbXMtZmxleDowIDAgODMuMzMzMzMzJTtmbGV4OjAgMCA4My4zMzMzMzMlO21heC13aWR0aDo4My4zMzMzMzMlfS5jb2wtbGctMTF7LW1zLWZsZXg6MCAwIDkxLjY2NjY2NyU7ZmxleDowIDAgOTEuNjY2NjY3JTttYXgtd2lkdGg6OTEuNjY2NjY3JX0uY29sLWxnLTEyey1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLWxnLWZpcnN0ey1tcy1mbGV4LW9yZGVyOi0xO29yZGVyOi0xfS5vcmRlci1sZy1sYXN0ey1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci1sZy0wey1tcy1mbGV4LW9yZGVyOjA7b3JkZXI6MH0ub3JkZXItbGctMXstbXMtZmxleC1vcmRlcjoxO29yZGVyOjF9Lm9yZGVyLWxnLTJ7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci1sZy0zey1tcy1mbGV4LW9yZGVyOjM7b3JkZXI6M30ub3JkZXItbGctNHstbXMtZmxleC1vcmRlcjo0O29yZGVyOjR9Lm9yZGVyLWxnLTV7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci1sZy02ey1tcy1mbGV4LW9yZGVyOjY7b3JkZXI6Nn0ub3JkZXItbGctN3stbXMtZmxleC1vcmRlcjo3O29yZGVyOjd9Lm9yZGVyLWxnLTh7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci1sZy05ey1tcy1mbGV4LW9yZGVyOjk7b3JkZXI6OX0ub3JkZXItbGctMTB7LW1zLWZsZXgtb3JkZXI6MTA7b3JkZXI6MTB9Lm9yZGVyLWxnLTExey1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci1sZy0xMnstbXMtZmxleC1vcmRlcjoxMjtvcmRlcjoxMn0ub2Zmc2V0LWxnLTB7bWFyZ2luLWxlZnQ6MH0ub2Zmc2V0LWxnLTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMlfS5vZmZzZXQtbGctMnttYXJnaW4tbGVmdDoxNi42NjY2NjclfS5vZmZzZXQtbGctM3ttYXJnaW4tbGVmdDoyNSV9Lm9mZnNldC1sZy00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMyV9Lm9mZnNldC1sZy01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NyV9Lm9mZnNldC1sZy02e21hcmdpbi1sZWZ0OjUwJX0ub2Zmc2V0LWxnLTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzJX0ub2Zmc2V0LWxnLTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY3JX0ub2Zmc2V0LWxnLTl7bWFyZ2luLWxlZnQ6NzUlfS5vZmZzZXQtbGctMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzJX0ub2Zmc2V0LWxnLTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NyV9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmNvbC14bHstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTowO2ZsZXgtYmFzaXM6MDstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlfS5yb3ctY29scy14bC0xPip7LW1zLWZsZXg6MCAwIDEwMCU7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ucm93LWNvbHMteGwtMj4qey1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LnJvdy1jb2xzLXhsLTM+KnstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5yb3ctY29scy14bC00Pip7LW1zLWZsZXg6MCAwIDI1JTtmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0ucm93LWNvbHMteGwtNT4qey1tcy1mbGV4OjAgMCAyMCU7ZmxleDowIDAgMjAlO21heC13aWR0aDoyMCV9LnJvdy1jb2xzLXhsLTY+KnstbXMtZmxleDowIDAgMTYuNjY2NjY3JTtmbGV4OjAgMCAxNi42NjY2NjclO21heC13aWR0aDoxNi42NjY2NjclfS5jb2wteGwtYXV0b3stbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOjEwMCV9LmNvbC14bC0xey1tcy1mbGV4OjAgMCA4LjMzMzMzMyU7ZmxleDowIDAgOC4zMzMzMzMlO21heC13aWR0aDo4LjMzMzMzMyV9LmNvbC14bC0yey1tcy1mbGV4OjAgMCAxNi42NjY2NjclO2ZsZXg6MCAwIDE2LjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NyV9LmNvbC14bC0zey1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC14bC00ey1tcy1mbGV4OjAgMCAzMy4zMzMzMzMlO2ZsZXg6MCAwIDMzLjMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMyV9LmNvbC14bC01ey1tcy1mbGV4OjAgMCA0MS42NjY2NjclO2ZsZXg6MCAwIDQxLjY2NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY2NyV9LmNvbC14bC02ey1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC14bC03ey1tcy1mbGV4OjAgMCA1OC4zMzMzMzMlO2ZsZXg6MCAwIDU4LjMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMyV9LmNvbC14bC04ey1tcy1mbGV4OjAgMCA2Ni42NjY2NjclO2ZsZXg6MCAwIDY2LjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NyV9LmNvbC14bC05ey1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC14bC0xMHstbXMtZmxleDowIDAgODMuMzMzMzMzJTtmbGV4OjAgMCA4My4zMzMzMzMlO21heC13aWR0aDo4My4zMzMzMzMlfS5jb2wteGwtMTF7LW1zLWZsZXg6MCAwIDkxLjY2NjY2NyU7ZmxleDowIDAgOTEuNjY2NjY3JTttYXgtd2lkdGg6OTEuNjY2NjY3JX0uY29sLXhsLTEyey1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLXhsLWZpcnN0ey1tcy1mbGV4LW9yZGVyOi0xO29yZGVyOi0xfS5vcmRlci14bC1sYXN0ey1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci14bC0wey1tcy1mbGV4LW9yZGVyOjA7b3JkZXI6MH0ub3JkZXIteGwtMXstbXMtZmxleC1vcmRlcjoxO29yZGVyOjF9Lm9yZGVyLXhsLTJ7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci14bC0zey1tcy1mbGV4LW9yZGVyOjM7b3JkZXI6M30ub3JkZXIteGwtNHstbXMtZmxleC1vcmRlcjo0O29yZGVyOjR9Lm9yZGVyLXhsLTV7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci14bC02ey1tcy1mbGV4LW9yZGVyOjY7b3JkZXI6Nn0ub3JkZXIteGwtN3stbXMtZmxleC1vcmRlcjo3O29yZGVyOjd9Lm9yZGVyLXhsLTh7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci14bC05ey1tcy1mbGV4LW9yZGVyOjk7b3JkZXI6OX0ub3JkZXIteGwtMTB7LW1zLWZsZXgtb3JkZXI6MTA7b3JkZXI6MTB9Lm9yZGVyLXhsLTExey1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci14bC0xMnstbXMtZmxleC1vcmRlcjoxMjtvcmRlcjoxMn0ub2Zmc2V0LXhsLTB7bWFyZ2luLWxlZnQ6MH0ub2Zmc2V0LXhsLTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMlfS5vZmZzZXQteGwtMnttYXJnaW4tbGVmdDoxNi42NjY2NjclfS5vZmZzZXQteGwtM3ttYXJnaW4tbGVmdDoyNSV9Lm9mZnNldC14bC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMyV9Lm9mZnNldC14bC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NyV9Lm9mZnNldC14bC02e21hcmdpbi1sZWZ0OjUwJX0ub2Zmc2V0LXhsLTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzJX0ub2Zmc2V0LXhsLTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY3JX0ub2Zmc2V0LXhsLTl7bWFyZ2luLWxlZnQ6NzUlfS5vZmZzZXQteGwtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzJX0ub2Zmc2V0LXhsLTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NyV9fS50YWJsZXt3aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MXJlbTtjb2xvcjojMjEyNTI5fS50YWJsZSB0ZCwudGFibGUgdGh7cGFkZGluZzouNzVyZW07dmVydGljYWwtYWxpZ246dG9wO2JvcmRlci10b3A6MXB4IHNvbGlkICNkZWUyZTZ9LnRhYmxlIHRoZWFkIHRoe3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZGVlMmU2fS50YWJsZSB0Ym9keSt0Ym9keXtib3JkZXItdG9wOjJweCBzb2xpZCAjZGVlMmU2fS50YWJsZS1zbSB0ZCwudGFibGUtc20gdGh7cGFkZGluZzouM3JlbX0udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2fS50YWJsZS1ib3JkZXJlZCB0aGVhZCB0ZCwudGFibGUtYm9yZGVyZWQgdGhlYWQgdGh7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHh9LnRhYmxlLWJvcmRlcmxlc3MgdGJvZHkrdGJvZHksLnRhYmxlLWJvcmRlcmxlc3MgdGQsLnRhYmxlLWJvcmRlcmxlc3MgdGgsLnRhYmxlLWJvcmRlcmxlc3MgdGhlYWQgdGh7Ym9yZGVyOjB9LnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA1KX0udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXJ7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA3NSl9LnRhYmxlLXByaW1hcnksLnRhYmxlLXByaW1hcnk+dGQsLnRhYmxlLXByaW1hcnk+dGh7YmFja2dyb3VuZC1jb2xvcjojYjhkYWZmfS50YWJsZS1wcmltYXJ5IHRib2R5K3Rib2R5LC50YWJsZS1wcmltYXJ5IHRkLC50YWJsZS1wcmltYXJ5IHRoLC50YWJsZS1wcmltYXJ5IHRoZWFkIHRoe2JvcmRlci1jb2xvcjojN2FiYWZmfS50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM5ZmNkZmZ9LnRhYmxlLWhvdmVyIC50YWJsZS1wcmltYXJ5OmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3Zlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiM5ZmNkZmZ9LnRhYmxlLXNlY29uZGFyeSwudGFibGUtc2Vjb25kYXJ5PnRkLC50YWJsZS1zZWNvbmRhcnk+dGh7YmFja2dyb3VuZC1jb2xvcjojZDZkOGRifS50YWJsZS1zZWNvbmRhcnkgdGJvZHkrdGJvZHksLnRhYmxlLXNlY29uZGFyeSB0ZCwudGFibGUtc2Vjb25kYXJ5IHRoLC50YWJsZS1zZWNvbmRhcnkgdGhlYWQgdGh7Ym9yZGVyLWNvbG9yOiNiM2I3YmJ9LnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYzhjYmNmfS50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtc2Vjb25kYXJ5OmhvdmVyPnRoe2JhY2tncm91bmQtY29sb3I6I2M4Y2JjZn0udGFibGUtc3VjY2VzcywudGFibGUtc3VjY2Vzcz50ZCwudGFibGUtc3VjY2Vzcz50aHtiYWNrZ3JvdW5kLWNvbG9yOiNjM2U2Y2J9LnRhYmxlLXN1Y2Nlc3MgdGJvZHkrdGJvZHksLnRhYmxlLXN1Y2Nlc3MgdGQsLnRhYmxlLXN1Y2Nlc3MgdGgsLnRhYmxlLXN1Y2Nlc3MgdGhlYWQgdGh7Ym9yZGVyLWNvbG9yOiM4ZmQxOWV9LnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2IxZGZiYn0udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1zdWNjZXNzOmhvdmVyPnRoe2JhY2tncm91bmQtY29sb3I6I2IxZGZiYn0udGFibGUtaW5mbywudGFibGUtaW5mbz50ZCwudGFibGUtaW5mbz50aHtiYWNrZ3JvdW5kLWNvbG9yOiNiZWU1ZWJ9LnRhYmxlLWluZm8gdGJvZHkrdGJvZHksLnRhYmxlLWluZm8gdGQsLnRhYmxlLWluZm8gdGgsLnRhYmxlLWluZm8gdGhlYWQgdGh7Ym9yZGVyLWNvbG9yOiM4NmNmZGF9LnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2FiZGRlNX0udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1pbmZvOmhvdmVyPnRoe2JhY2tncm91bmQtY29sb3I6I2FiZGRlNX0udGFibGUtd2FybmluZywudGFibGUtd2FybmluZz50ZCwudGFibGUtd2FybmluZz50aHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmVlYmF9LnRhYmxlLXdhcm5pbmcgdGJvZHkrdGJvZHksLnRhYmxlLXdhcm5pbmcgdGQsLnRhYmxlLXdhcm5pbmcgdGgsLnRhYmxlLXdhcm5pbmcgdGhlYWQgdGh7Ym9yZGVyLWNvbG9yOiNmZmRmN2V9LnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZThhMX0udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS13YXJuaW5nOmhvdmVyPnRoe2JhY2tncm91bmQtY29sb3I6I2ZmZThhMX0udGFibGUtZGFuZ2VyLC50YWJsZS1kYW5nZXI+dGQsLnRhYmxlLWRhbmdlcj50aHtiYWNrZ3JvdW5kLWNvbG9yOiNmNWM2Y2J9LnRhYmxlLWRhbmdlciB0Ym9keSt0Ym9keSwudGFibGUtZGFuZ2VyIHRkLC50YWJsZS1kYW5nZXIgdGgsLnRhYmxlLWRhbmdlciB0aGVhZCB0aHtib3JkZXItY29sb3I6I2VkOTY5ZX0udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmMWIwYjd9LnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojZjFiMGI3fS50YWJsZS1saWdodCwudGFibGUtbGlnaHQ+dGQsLnRhYmxlLWxpZ2h0PnRoe2JhY2tncm91bmQtY29sb3I6I2ZkZmRmZX0udGFibGUtbGlnaHQgdGJvZHkrdGJvZHksLnRhYmxlLWxpZ2h0IHRkLC50YWJsZS1saWdodCB0aCwudGFibGUtbGlnaHQgdGhlYWQgdGh7Ym9yZGVyLWNvbG9yOiNmYmZjZmN9LnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlY2VjZjZ9LnRhYmxlLWhvdmVyIC50YWJsZS1saWdodDpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyPnRoe2JhY2tncm91bmQtY29sb3I6I2VjZWNmNn0udGFibGUtZGFyaywudGFibGUtZGFyaz50ZCwudGFibGUtZGFyaz50aHtiYWNrZ3JvdW5kLWNvbG9yOiNjNmM4Y2F9LnRhYmxlLWRhcmsgdGJvZHkrdGJvZHksLnRhYmxlLWRhcmsgdGQsLnRhYmxlLWRhcmsgdGgsLnRhYmxlLWRhcmsgdGhlYWQgdGh7Ym9yZGVyLWNvbG9yOiM5NTk5OWN9LnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2I5YmJiZX0udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1kYXJrOmhvdmVyPnRoe2JhY2tncm91bmQtY29sb3I6I2I5YmJiZX0udGFibGUtYWN0aXZlLC50YWJsZS1hY3RpdmU+dGQsLnRhYmxlLWFjdGl2ZT50aHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA3NSl9LnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNzUpfS50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtYWN0aXZlOmhvdmVyPnRoe2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDc1KX0udGFibGUgLnRoZWFkLWRhcmsgdGh7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDA7Ym9yZGVyLWNvbG9yOiM0NTRkNTV9LnRhYmxlIC50aGVhZC1saWdodCB0aHtjb2xvcjojNDk1MDU3O2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItY29sb3I6I2RlZTJlNn0udGFibGUtZGFya3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM0M2E0MH0udGFibGUtZGFyayB0ZCwudGFibGUtZGFyayB0aCwudGFibGUtZGFyayB0aGVhZCB0aHtib3JkZXItY29sb3I6IzQ1NGQ1NX0udGFibGUtZGFyay50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH0udGFibGUtZGFyay50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4wNSl9LnRhYmxlLWRhcmsudGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjA3NSl9QG1lZGlhIChtYXgtd2lkdGg6NTc1Ljk4cHgpey50YWJsZS1yZXNwb25zaXZlLXNte2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LnRhYmxlLXJlc3BvbnNpdmUtc20+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfX1AbWVkaWEgKG1heC13aWR0aDo3NjcuOThweCl7LnRhYmxlLXJlc3BvbnNpdmUtbWR7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0udGFibGUtcmVzcG9uc2l2ZS1tZD4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9fUBtZWRpYSAobWF4LXdpZHRoOjk5MS45OHB4KXsudGFibGUtcmVzcG9uc2l2ZS1sZ3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofS50YWJsZS1yZXNwb25zaXZlLWxnPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH19QG1lZGlhIChtYXgtd2lkdGg6MTE5OS45OHB4KXsudGFibGUtcmVzcG9uc2l2ZS14bHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofS50YWJsZS1yZXNwb25zaXZlLXhsPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH19LnRhYmxlLXJlc3BvbnNpdmV7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9LmZvcm0tY29udHJvbHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OmNhbGMoMS41ZW0gKyAuNzVyZW0gKyAycHgpO3BhZGRpbmc6LjM3NXJlbSAuNzVyZW07Zm9udC1zaXplOjFyZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojNDk1MDU3O2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCAjY2VkNGRhO2JvcmRlci1yYWRpdXM6LjI1cmVtO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5mb3JtLWNvbnRyb2x7dHJhbnNpdGlvbjpub25lfX0uZm9ybS1jb250cm9sOjotbXMtZXhwYW5ke2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjB9LmZvcm0tY29udHJvbDotbW96LWZvY3VzcmluZ3tjb2xvcjp0cmFuc3BhcmVudDt0ZXh0LXNoYWRvdzowIDAgMCAjNDk1MDU3fS5mb3JtLWNvbnRyb2w6Zm9jdXN7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiM4MGJkZmY7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDo6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsLmZvcm0tY29udHJvbFtyZWFkb25seV17YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO29wYWNpdHk6MX1pbnB1dFt0eXBlPWRhdGVdLmZvcm0tY29udHJvbCxpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXS5mb3JtLWNvbnRyb2wsaW5wdXRbdHlwZT1tb250aF0uZm9ybS1jb250cm9sLGlucHV0W3R5cGU9dGltZV0uZm9ybS1jb250cm9sey13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX1zZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWV7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmZvcm0tY29udHJvbC1maWxlLC5mb3JtLWNvbnRyb2wtcmFuZ2V7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS5jb2wtZm9ybS1sYWJlbHtwYWRkaW5nLXRvcDpjYWxjKC4zNzVyZW0gKyAxcHgpO3BhZGRpbmctYm90dG9tOmNhbGMoLjM3NXJlbSArIDFweCk7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OjEuNX0uY29sLWZvcm0tbGFiZWwtbGd7cGFkZGluZy10b3A6Y2FsYyguNXJlbSArIDFweCk7cGFkZGluZy1ib3R0b206Y2FsYyguNXJlbSArIDFweCk7Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41fS5jb2wtZm9ybS1sYWJlbC1zbXtwYWRkaW5nLXRvcDpjYWxjKC4yNXJlbSArIDFweCk7cGFkZGluZy1ib3R0b206Y2FsYyguMjVyZW0gKyAxcHgpO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNX0uZm9ybS1jb250cm9sLXBsYWludGV4dHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzouMzc1cmVtIDA7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOnNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci13aWR0aDoxcHggMH0uZm9ybS1jb250cm9sLXBsYWludGV4dC5mb3JtLWNvbnRyb2wtbGcsLmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLXNte3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0uZm9ybS1jb250cm9sLXNte2hlaWdodDpjYWxjKDEuNWVtICsgLjVyZW0gKyAycHgpO3BhZGRpbmc6LjI1cmVtIC41cmVtO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOi4ycmVtfS5mb3JtLWNvbnRyb2wtbGd7aGVpZ2h0OmNhbGMoMS41ZW0gKyAxcmVtICsgMnB4KTtwYWRkaW5nOi41cmVtIDFyZW07Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6LjNyZW19c2VsZWN0LmZvcm0tY29udHJvbFttdWx0aXBsZV0sc2VsZWN0LmZvcm0tY29udHJvbFtzaXplXXtoZWlnaHQ6YXV0b310ZXh0YXJlYS5mb3JtLWNvbnRyb2x7aGVpZ2h0OmF1dG99LmZvcm0tZ3JvdXB7bWFyZ2luLWJvdHRvbToxcmVtfS5mb3JtLXRleHR7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi4yNXJlbX0uZm9ybS1yb3d7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1yaWdodDotNXB4O21hcmdpbi1sZWZ0Oi01cHh9LmZvcm0tcm93Pi5jb2wsLmZvcm0tcm93PltjbGFzcyo9Y29sLV17cGFkZGluZy1yaWdodDo1cHg7cGFkZGluZy1sZWZ0OjVweH0uZm9ybS1jaGVja3twb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3BhZGRpbmctbGVmdDoxLjI1cmVtfS5mb3JtLWNoZWNrLWlucHV0e3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6LjNyZW07bWFyZ2luLWxlZnQ6LTEuMjVyZW19LmZvcm0tY2hlY2staW5wdXQ6ZGlzYWJsZWR+LmZvcm0tY2hlY2stbGFiZWwsLmZvcm0tY2hlY2staW5wdXRbZGlzYWJsZWRdfi5mb3JtLWNoZWNrLWxhYmVse2NvbG9yOiM2Yzc1N2R9LmZvcm0tY2hlY2stbGFiZWx7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWNoZWNrLWlubGluZXtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveDtkaXNwbGF5OmlubGluZS1mbGV4Oy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLXJpZ2h0Oi43NXJlbX0uZm9ybS1jaGVjay1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXR7cG9zaXRpb246c3RhdGljO21hcmdpbi10b3A6MDttYXJnaW4tcmlnaHQ6LjMxMjVyZW07bWFyZ2luLWxlZnQ6MH0udmFsaWQtZmVlZGJhY2t7ZGlzcGxheTpub25lO3dpZHRoOjEwMCU7bWFyZ2luLXRvcDouMjVyZW07Zm9udC1zaXplOjgwJTtjb2xvcjojMjhhNzQ1fS52YWxpZC10b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO2xlZnQ6MDt6LWluZGV4OjU7ZGlzcGxheTpub25lO21heC13aWR0aDoxMDAlO3BhZGRpbmc6LjI1cmVtIC41cmVtO21hcmdpbi10b3A6LjFyZW07Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS41O2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDE2Nyw2OSwuOSk7Ym9yZGVyLXJhZGl1czouMjVyZW19LmlzLXZhbGlkfi52YWxpZC1mZWVkYmFjaywuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgOnZhbGlkfi52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCA6dmFsaWR+LnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uZm9ybS1jb250cm9sLmlzLXZhbGlkLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWR7Ym9yZGVyLWNvbG9yOiMyOGE3NDU7cGFkZGluZy1yaWdodDpjYWxjKDEuNWVtICsgLjc1cmVtKTtiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjMyOGE3NDUnIGQ9J00yLjMgNi43M0wuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLyUzZSUzYy9zdmclM2UiKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCBjYWxjKC4zNzVlbSArIC4xODc1cmVtKSBjZW50ZXI7YmFja2dyb3VuZC1zaXplOmNhbGMoLjc1ZW0gKyAuMzc1cmVtKSBjYWxjKC43NWVtICsgLjM3NXJlbSl9LmZvcm0tY29udHJvbC5pcy12YWxpZDpmb2N1cywud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkOmZvY3Vze2JvcmRlci1jb2xvcjojMjhhNzQ1O2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjI1KX0ud2FzLXZhbGlkYXRlZCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2w6dmFsaWQsdGV4dGFyZWEuZm9ybS1jb250cm9sLmlzLXZhbGlke3BhZGRpbmctcmlnaHQ6Y2FsYygxLjVlbSArIC43NXJlbSk7YmFja2dyb3VuZC1wb3NpdGlvbjp0b3AgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSkgcmlnaHQgY2FsYyguMzc1ZW0gKyAuMTg3NXJlbSl9LmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWR7Ym9yZGVyLWNvbG9yOiMyOGE3NDU7cGFkZGluZy1yaWdodDpjYWxjKC43NWVtICsgMi4zMTI1cmVtKTtiYWNrZ3JvdW5kOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnJTNlJTNjcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzZSUzYy9zdmclM2UiKSBuby1yZXBlYXQgcmlnaHQgLjc1cmVtIGNlbnRlci84cHggMTBweCx1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nOCcgaGVpZ2h0PSc4JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nJTIzMjhhNzQ1JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlIikgI2ZmZiBuby1yZXBlYXQgY2VudGVyIHJpZ2h0IDEuNzVyZW0vY2FsYyguNzVlbSArIC4zNzVyZW0pIGNhbGMoLjc1ZW0gKyAuMzc1cmVtKX0uY3VzdG9tLXNlbGVjdC5pcy12YWxpZDpmb2N1cywud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZDpmb2N1c3tib3JkZXItY29sb3I6IzI4YTc0NTtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC4yNSl9LmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWR+LmZvcm0tY2hlY2stbGFiZWwsLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWR+LmZvcm0tY2hlY2stbGFiZWx7Y29sb3I6IzI4YTc0NX0uZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkfi52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVse2NvbG9yOiMyOGE3NDV9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3JkZXItY29sb3I6IzI4YTc0NX0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3JkZXItY29sb3I6IzM0Y2U1NztiYWNrZ3JvdW5kLWNvbG9yOiMzNGNlNTd9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC4yNSl9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCl+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkOmZvY3VzOm5vdCg6Y2hlY2tlZCl+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWR+LmN1c3RvbS1maWxlLWxhYmVse2JvcmRlci1jb2xvcjojMjhhNzQ1fS5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkOmZvY3Vzfi5jdXN0b20tZmlsZS1sYWJlbHtib3JkZXItY29sb3I6IzI4YTc0NTtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC4yNSl9LmludmFsaWQtZmVlZGJhY2t7ZGlzcGxheTpub25lO3dpZHRoOjEwMCU7bWFyZ2luLXRvcDouMjVyZW07Zm9udC1zaXplOjgwJTtjb2xvcjojZGMzNTQ1fS5pbnZhbGlkLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDowO3otaW5kZXg6NTtkaXNwbGF5Om5vbmU7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzouMjVyZW0gLjVyZW07bWFyZ2luLXRvcDouMXJlbTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjIwLDUzLDY5LC45KTtib3JkZXItcmFkaXVzOi4yNXJlbX0uaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywuaXMtaW52YWxpZH4uaW52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIDppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uZm9ybS1jb250cm9sLmlzLWludmFsaWQsLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlke2JvcmRlci1jb2xvcjojZGMzNTQ1O3BhZGRpbmctcmlnaHQ6Y2FsYygxLjVlbSArIC43NXJlbSk7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZGMzNTQ1JyB2aWV3Qm94PScwIDAgMTIgMTInJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzZGMzNTQ1JyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2UiKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCBjYWxjKC4zNzVlbSArIC4xODc1cmVtKSBjZW50ZXI7YmFja2dyb3VuZC1zaXplOmNhbGMoLjc1ZW0gKyAuMzc1cmVtKSBjYWxjKC43NWVtICsgLjM3NXJlbSl9LmZvcm0tY29udHJvbC5pcy1pbnZhbGlkOmZvY3VzLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZDpmb2N1c3tib3JkZXItY29sb3I6I2RjMzU0NTtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjIwLDUzLDY5LC4yNSl9Lndhcy12YWxpZGF0ZWQgdGV4dGFyZWEuZm9ybS1jb250cm9sOmludmFsaWQsdGV4dGFyZWEuZm9ybS1jb250cm9sLmlzLWludmFsaWR7cGFkZGluZy1yaWdodDpjYWxjKDEuNWVtICsgLjc1cmVtKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcCBjYWxjKC4zNzVlbSArIC4xODc1cmVtKSByaWdodCBjYWxjKC4zNzVlbSArIC4xODc1cmVtKX0uY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWR7Ym9yZGVyLWNvbG9yOiNkYzM1NDU7cGFkZGluZy1yaWdodDpjYWxjKC43NWVtICsgMi4zMTI1cmVtKTtiYWNrZ3JvdW5kOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnJTNlJTNjcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzZSUzYy9zdmclM2UiKSBuby1yZXBlYXQgcmlnaHQgLjc1cmVtIGNlbnRlci84cHggMTBweCx1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZGMzNTQ1JyB2aWV3Qm94PScwIDAgMTIgMTInJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nNicgcj0nNC41Jy8lM2UlM2NwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvJTNlJTNjY2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nJTIzZGMzNTQ1JyBzdHJva2U9J25vbmUnLyUzZSUzYy9zdmclM2UiKSAjZmZmIG5vLXJlcGVhdCBjZW50ZXIgcmlnaHQgMS43NXJlbS9jYWxjKC43NWVtICsgLjM3NXJlbSkgY2FsYyguNzVlbSArIC4zNzVyZW0pfS5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZDpmb2N1c3tib3JkZXItY29sb3I6I2RjMzU0NTtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjIwLDUzLDY5LC4yNSl9LmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZH4uZm9ybS1jaGVjay1sYWJlbCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkfi5mb3JtLWNoZWNrLWxhYmVse2NvbG9yOiNkYzM1NDV9LmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVse2NvbG9yOiNkYzM1NDV9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JvcmRlci1jb2xvcjojZTQ2MDZkO2JhY2tncm91bmQtY29sb3I6I2U0NjA2ZH0uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjIwLDUzLDY5LC4yNSl9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Zm9jdXM6bm90KDpjaGVja2VkKX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW52YWxpZDpmb2N1czpub3QoOmNoZWNrZWQpfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JvcmRlci1jb2xvcjojZGMzNTQ1fS5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWx7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQ6Zm9jdXN+LmN1c3RvbS1maWxlLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkOmZvY3Vzfi5jdXN0b20tZmlsZS1sYWJlbHtib3JkZXItY29sb3I6I2RjMzU0NTtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjIwLDUzLDY5LC4yNSl9LmZvcm0taW5saW5le2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LmZvcm0taW5saW5lIC5mb3JtLWNoZWNre3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5mb3JtLWlubGluZSBsYWJlbHtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWlubGluZSAuZm9ybS1ncm91cHtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvOy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWlubGluZSAuZm9ybS1jb250cm9se2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOmF1dG87dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXBsYWludGV4dHtkaXNwbGF5OmlubGluZS1ibG9ja30uZm9ybS1pbmxpbmUgLmN1c3RvbS1zZWxlY3QsLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cHt3aWR0aDphdXRvfS5mb3JtLWlubGluZSAuZm9ybS1jaGVja3tkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6YXV0bztwYWRkaW5nLWxlZnQ6MH0uZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXR7cG9zaXRpb246cmVsYXRpdmU7LW1zLWZsZXgtbmVnYXRpdmU6MDtmbGV4LXNocmluazowO21hcmdpbi10b3A6MDttYXJnaW4tcmlnaHQ6LjI1cmVtO21hcmdpbi1sZWZ0OjB9LmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbHstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmZvcm0taW5saW5lIC5jdXN0b20tY29udHJvbC1sYWJlbHttYXJnaW4tYm90dG9tOjB9fS5idG57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMyMTI1Mjk7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZzouMzc1cmVtIC43NXJlbTtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czouMjVyZW07dHJhbnNpdGlvbjpjb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXR9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmJ0bnt0cmFuc2l0aW9uOm5vbmV9fS5idG46aG92ZXJ7Y29sb3I6IzIxMjUyOTt0ZXh0LWRlY29yYXRpb246bm9uZX0uYnRuLmZvY3VzLC5idG46Zm9jdXN7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uYnRuLmRpc2FibGVkLC5idG46ZGlzYWJsZWR7b3BhY2l0eTouNjV9LmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn1hLmJ0bi5kaXNhYmxlZCxmaWVsZHNldDpkaXNhYmxlZCBhLmJ0bntwb2ludGVyLWV2ZW50czpub25lfS5idG4tcHJpbWFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXItY29sb3I6IzAwN2JmZn0uYnRuLXByaW1hcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDY5ZDk7Ym9yZGVyLWNvbG9yOiMwMDYyY2N9LmJ0bi1wcmltYXJ5LmZvY3VzLC5idG4tcHJpbWFyeTpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwNjlkOTtib3JkZXItY29sb3I6IzAwNjJjYztib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMzgsMTQzLDI1NSwuNSl9LmJ0bi1wcmltYXJ5LmRpc2FibGVkLC5idG4tcHJpbWFyeTpkaXNhYmxlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXItY29sb3I6IzAwN2JmZn0uYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwNjJjYztib3JkZXItY29sb3I6IzAwNWNiZn0uYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMzgsMTQzLDI1NSwuNSl9LmJ0bi1zZWNvbmRhcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2Yzc1N2Q7Ym9yZGVyLWNvbG9yOiM2Yzc1N2R9LmJ0bi1zZWNvbmRhcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1YTYyNjg7Ym9yZGVyLWNvbG9yOiM1NDViNjJ9LmJ0bi1zZWNvbmRhcnkuZm9jdXMsLmJ0bi1zZWNvbmRhcnk6Zm9jdXN7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1YTYyNjg7Ym9yZGVyLWNvbG9yOiM1NDViNjI7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDEzMCwxMzgsMTQ1LC41KX0uYnRuLXNlY29uZGFyeS5kaXNhYmxlZCwuYnRuLXNlY29uZGFyeTpkaXNhYmxlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZDtib3JkZXItY29sb3I6IzZjNzU3ZH0uYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzU0NWI2Mjtib3JkZXItY29sb3I6IzRlNTU1Yn0uYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMTMwLDEzOCwxNDUsLjUpfS5idG4tc3VjY2Vzc3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4YTc0NTtib3JkZXItY29sb3I6IzI4YTc0NX0uYnRuLXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMTg4Mzg7Ym9yZGVyLWNvbG9yOiMxZTdlMzR9LmJ0bi1zdWNjZXNzLmZvY3VzLC5idG4tc3VjY2Vzczpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzIxODgzODtib3JkZXItY29sb3I6IzFlN2UzNDtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNzIsMTgwLDk3LC41KX0uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQsLmJ0bi1zdWNjZXNzOmRpc2FibGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjhhNzQ1O2JvcmRlci1jb2xvcjojMjhhNzQ1fS5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMWU3ZTM0O2JvcmRlci1jb2xvcjojMWM3NDMwfS5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg3MiwxODAsOTcsLjUpfS5idG4taW5mb3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzE3YTJiODtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLWluZm86aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxMzg0OTY7Ym9yZGVyLWNvbG9yOiMxMTdhOGJ9LmJ0bi1pbmZvLmZvY3VzLC5idG4taW5mbzpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzEzODQ5Njtib3JkZXItY29sb3I6IzExN2E4Yjtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNTgsMTc2LDE5NSwuNSl9LmJ0bi1pbmZvLmRpc2FibGVkLC5idG4taW5mbzpkaXNhYmxlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzE3YTJiODtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzExN2E4Yjtib3JkZXItY29sb3I6IzEwNzA3Zn0uYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNTgsMTc2LDE5NSwuNSl9LmJ0bi13YXJuaW5ne2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3O2JvcmRlci1jb2xvcjojZmZjMTA3fS5idG4td2FybmluZzpob3Zlcntjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2UwYTgwMDtib3JkZXItY29sb3I6I2QzOWUwMH0uYnRuLXdhcm5pbmcuZm9jdXMsLmJ0bi13YXJuaW5nOmZvY3Vze2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZTBhODAwO2JvcmRlci1jb2xvcjojZDM5ZTAwO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjIsMTcwLDEyLC41KX0uYnRuLXdhcm5pbmcuZGlzYWJsZWQsLmJ0bi13YXJuaW5nOmRpc2FibGVke2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3O2JvcmRlci1jb2xvcjojZmZjMTA3fS5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZDM5ZTAwO2JvcmRlci1jb2xvcjojYzY5NTAwfS5idG4td2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjIsMTcwLDEyLC41KX0uYnRuLWRhbmdlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2RjMzU0NTtib3JkZXItY29sb3I6I2RjMzU0NX0uYnRuLWRhbmdlcjpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2M4MjMzMztib3JkZXItY29sb3I6I2JkMjEzMH0uYnRuLWRhbmdlci5mb2N1cywuYnRuLWRhbmdlcjpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2M4MjMzMztib3JkZXItY29sb3I6I2JkMjEzMDtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjI1LDgzLDk3LC41KX0uYnRuLWRhbmdlci5kaXNhYmxlZCwuYnRuLWRhbmdlcjpkaXNhYmxlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2RjMzU0NTtib3JkZXItY29sb3I6I2RjMzU0NX0uYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2JkMjEzMDtib3JkZXItY29sb3I6I2IyMWYyZH0uYnRuLWRhbmdlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjI1LDgzLDk3LC41KX0uYnRuLWxpZ2h0e2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2JvcmRlci1jb2xvcjojZjhmOWZhfS5idG4tbGlnaHQ6aG92ZXJ7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNlMmU2ZWE7Ym9yZGVyLWNvbG9yOiNkYWUwZTV9LmJ0bi1saWdodC5mb2N1cywuYnRuLWxpZ2h0OmZvY3Vze2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZTJlNmVhO2JvcmRlci1jb2xvcjojZGFlMGU1O2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMTYsMjE3LDIxOSwuNSl9LmJ0bi1saWdodC5kaXNhYmxlZCwuYnRuLWxpZ2h0OmRpc2FibGVke2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2JvcmRlci1jb2xvcjojZjhmOWZhfS5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tbGlnaHQuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZGFlMGU1O2JvcmRlci1jb2xvcjojZDNkOWRmfS5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tbGlnaHQuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMTYsMjE3LDIxOSwuNSl9LmJ0bi1kYXJre2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzQzYTQwO2JvcmRlci1jb2xvcjojMzQzYTQwfS5idG4tZGFyazpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzIzMjcyYjtib3JkZXItY29sb3I6IzFkMjEyNH0uYnRuLWRhcmsuZm9jdXMsLmJ0bi1kYXJrOmZvY3Vze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjMyNzJiO2JvcmRlci1jb2xvcjojMWQyMTI0O2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg4Miw4OCw5MywuNSl9LmJ0bi1kYXJrLmRpc2FibGVkLC5idG4tZGFyazpkaXNhYmxlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM0M2E0MDtib3JkZXItY29sb3I6IzM0M2E0MH0uYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzFkMjEyNDtib3JkZXItY29sb3I6IzE3MWExZH0uYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoODIsODgsOTMsLjUpfS5idG4tb3V0bGluZS1wcmltYXJ5e2NvbG9yOiMwMDdiZmY7Ym9yZGVyLWNvbG9yOiMwMDdiZmZ9LmJ0bi1vdXRsaW5lLXByaW1hcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmY7Ym9yZGVyLWNvbG9yOiMwMDdiZmZ9LmJ0bi1vdXRsaW5lLXByaW1hcnkuZm9jdXMsLmJ0bi1vdXRsaW5lLXByaW1hcnk6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuNSl9LmJ0bi1vdXRsaW5lLXByaW1hcnkuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLXByaW1hcnk6ZGlzYWJsZWR7Y29sb3I6IzAwN2JmZjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5idG4tb3V0bGluZS1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjUpfS5idG4tb3V0bGluZS1zZWNvbmRhcnl7Y29sb3I6IzZjNzU3ZDtib3JkZXItY29sb3I6IzZjNzU3ZH0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5OmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNmM3NTdkO2JvcmRlci1jb2xvcjojNmM3NTdkfS5idG4tb3V0bGluZS1zZWNvbmRhcnkuZm9jdXMsLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMTA4LDExNywxMjUsLjUpfS5idG4tb3V0bGluZS1zZWNvbmRhcnkuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpkaXNhYmxlZHtjb2xvcjojNmM3NTdkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2Yzc1N2Q7Ym9yZGVyLWNvbG9yOiM2Yzc1N2R9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLXNlY29uZGFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDEwOCwxMTcsMTI1LC41KX0uYnRuLW91dGxpbmUtc3VjY2Vzc3tjb2xvcjojMjhhNzQ1O2JvcmRlci1jb2xvcjojMjhhNzQ1fS5idG4tb3V0bGluZS1zdWNjZXNzOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjhhNzQ1O2JvcmRlci1jb2xvcjojMjhhNzQ1fS5idG4tb3V0bGluZS1zdWNjZXNzLmZvY3VzLC5idG4tb3V0bGluZS1zdWNjZXNzOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjUpfS5idG4tb3V0bGluZS1zdWNjZXNzLmRpc2FibGVkLC5idG4tb3V0bGluZS1zdWNjZXNzOmRpc2FibGVke2NvbG9yOiMyOGE3NDU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4YTc0NTtib3JkZXItY29sb3I6IzI4YTc0NX0uYnRuLW91dGxpbmUtc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC41KX0uYnRuLW91dGxpbmUtaW5mb3tjb2xvcjojMTdhMmI4O2JvcmRlci1jb2xvcjojMTdhMmI4fS5idG4tb3V0bGluZS1pbmZvOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMTdhMmI4O2JvcmRlci1jb2xvcjojMTdhMmI4fS5idG4tb3V0bGluZS1pbmZvLmZvY3VzLC5idG4tb3V0bGluZS1pbmZvOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMywxNjIsMTg0LC41KX0uYnRuLW91dGxpbmUtaW5mby5kaXNhYmxlZCwuYnRuLW91dGxpbmUtaW5mbzpkaXNhYmxlZHtjb2xvcjojMTdhMmI4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxN2EyYjg7Ym9yZGVyLWNvbG9yOiMxN2EyYjh9LmJ0bi1vdXRsaW5lLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtaW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIzLDE2MiwxODQsLjUpfS5idG4tb3V0bGluZS13YXJuaW5ne2NvbG9yOiNmZmMxMDc7Ym9yZGVyLWNvbG9yOiNmZmMxMDd9LmJ0bi1vdXRsaW5lLXdhcm5pbmc6aG92ZXJ7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmMxMDc7Ym9yZGVyLWNvbG9yOiNmZmMxMDd9LmJ0bi1vdXRsaW5lLXdhcm5pbmcuZm9jdXMsLmJ0bi1vdXRsaW5lLXdhcm5pbmc6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI1NSwxOTMsNywuNSl9LmJ0bi1vdXRsaW5lLXdhcm5pbmcuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLXdhcm5pbmc6ZGlzYWJsZWR7Y29sb3I6I2ZmYzEwNztiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3O2JvcmRlci1jb2xvcjojZmZjMTA3fS5idG4tb3V0bGluZS13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNTUsMTkzLDcsLjUpfS5idG4tb3V0bGluZS1kYW5nZXJ7Y29sb3I6I2RjMzU0NTtib3JkZXItY29sb3I6I2RjMzU0NX0uYnRuLW91dGxpbmUtZGFuZ2VyOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZGMzNTQ1O2JvcmRlci1jb2xvcjojZGMzNTQ1fS5idG4tb3V0bGluZS1kYW5nZXIuZm9jdXMsLmJ0bi1vdXRsaW5lLWRhbmdlcjpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjIwLDUzLDY5LC41KX0uYnRuLW91dGxpbmUtZGFuZ2VyLmRpc2FibGVkLC5idG4tb3V0bGluZS1kYW5nZXI6ZGlzYWJsZWR7Y29sb3I6I2RjMzU0NTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZGMzNTQ1O2JvcmRlci1jb2xvcjojZGMzNTQ1fS5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjAsNTMsNjksLjUpfS5idG4tb3V0bGluZS1saWdodHtjb2xvcjojZjhmOWZhO2JvcmRlci1jb2xvcjojZjhmOWZhfS5idG4tb3V0bGluZS1saWdodDpob3Zlcntjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYTtib3JkZXItY29sb3I6I2Y4ZjlmYX0uYnRuLW91dGxpbmUtbGlnaHQuZm9jdXMsLmJ0bi1vdXRsaW5lLWxpZ2h0OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNDgsMjQ5LDI1MCwuNSl9LmJ0bi1vdXRsaW5lLWxpZ2h0LmRpc2FibGVkLC5idG4tb3V0bGluZS1saWdodDpkaXNhYmxlZHtjb2xvcjojZjhmOWZhO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1saWdodC5kcm9wZG93bi10b2dnbGV7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Ym9yZGVyLWNvbG9yOiNmOGY5ZmF9LmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtbGlnaHQ6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1saWdodC5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI0OCwyNDksMjUwLC41KX0uYnRuLW91dGxpbmUtZGFya3tjb2xvcjojMzQzYTQwO2JvcmRlci1jb2xvcjojMzQzYTQwfS5idG4tb3V0bGluZS1kYXJrOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzQzYTQwO2JvcmRlci1jb2xvcjojMzQzYTQwfS5idG4tb3V0bGluZS1kYXJrLmZvY3VzLC5idG4tb3V0bGluZS1kYXJrOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg1Miw1OCw2NCwuNSl9LmJ0bi1vdXRsaW5lLWRhcmsuZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLWRhcms6ZGlzYWJsZWR7Y29sb3I6IzM0M2E0MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzQzYTQwO2JvcmRlci1jb2xvcjojMzQzYTQwfS5idG4tb3V0bGluZS1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLWRhcmsuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg1Miw1OCw2NCwuNSl9LmJ0bi1saW5re2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojMDA3YmZmO3RleHQtZGVjb3JhdGlvbjpub25lfS5idG4tbGluazpob3Zlcntjb2xvcjojMDA1NmIzO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmJ0bi1saW5rLmZvY3VzLC5idG4tbGluazpmb2N1c3t0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5idG4tbGluay5kaXNhYmxlZCwuYnRuLWxpbms6ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZDtwb2ludGVyLWV2ZW50czpub25lfS5idG4tZ3JvdXAtbGc+LmJ0biwuYnRuLWxne3BhZGRpbmc6LjVyZW0gMXJlbTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czouM3JlbX0uYnRuLWdyb3VwLXNtPi5idG4sLmJ0bi1zbXtwYWRkaW5nOi4yNXJlbSAuNXJlbTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czouMnJlbX0uYnRuLWJsb2Nre2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJX0uYnRuLWJsb2NrKy5idG4tYmxvY2t7bWFyZ2luLXRvcDouNXJlbX1pbnB1dFt0eXBlPWJ1dHRvbl0uYnRuLWJsb2NrLGlucHV0W3R5cGU9cmVzZXRdLmJ0bi1ibG9jayxpbnB1dFt0eXBlPXN1Ym1pdF0uYnRuLWJsb2Nre3dpZHRoOjEwMCV9LmZhZGV7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5mYWRle3RyYW5zaXRpb246bm9uZX19LmZhZGU6bm90KC5zaG93KXtvcGFjaXR5OjB9LmNvbGxhcHNlOm5vdCguc2hvdyl7ZGlzcGxheTpub25lfS5jb2xsYXBzaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOmhlaWdodCAuMzVzIGVhc2V9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmNvbGxhcHNpbmd7dHJhbnNpdGlvbjpub25lfX0uZHJvcGRvd24sLmRyb3BsZWZ0LC5kcm9wcmlnaHQsLmRyb3B1cHtwb3NpdGlvbjpyZWxhdGl2ZX0uZHJvcGRvd24tdG9nZ2xle3doaXRlLXNwYWNlOm5vd3JhcH0uZHJvcGRvd24tdG9nZ2xlOjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tbGVmdDouMjU1ZW07dmVydGljYWwtYWxpZ246LjI1NWVtO2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDouM2VtIHNvbGlkO2JvcmRlci1yaWdodDouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206MDtib3JkZXItbGVmdDouM2VtIHNvbGlkIHRyYW5zcGFyZW50fS5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVye21hcmdpbi1sZWZ0OjB9LmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDowO3otaW5kZXg6MTAwMDtkaXNwbGF5Om5vbmU7ZmxvYXQ6bGVmdDttaW4td2lkdGg6MTByZW07cGFkZGluZzouNXJlbSAwO21hcmdpbjouMTI1cmVtIDAgMDtmb250LXNpemU6MXJlbTtjb2xvcjojMjEyNTI5O3RleHQtYWxpZ246bGVmdDtsaXN0LXN0eWxlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjE1KTtib3JkZXItcmFkaXVzOi4yNXJlbX0uZHJvcGRvd24tbWVudS1sZWZ0e3JpZ2h0OmF1dG87bGVmdDowfS5kcm9wZG93bi1tZW51LXJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuZHJvcGRvd24tbWVudS1zbS1sZWZ0e3JpZ2h0OmF1dG87bGVmdDowfS5kcm9wZG93bi1tZW51LXNtLXJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmRyb3Bkb3duLW1lbnUtbWQtbGVmdHtyaWdodDphdXRvO2xlZnQ6MH0uZHJvcGRvd24tbWVudS1tZC1yaWdodHtyaWdodDowO2xlZnQ6YXV0b319QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5kcm9wZG93bi1tZW51LWxnLWxlZnR7cmlnaHQ6YXV0bztsZWZ0OjB9LmRyb3Bkb3duLW1lbnUtbGctcmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG99fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmRyb3Bkb3duLW1lbnUteGwtbGVmdHtyaWdodDphdXRvO2xlZnQ6MH0uZHJvcGRvd24tbWVudS14bC1yaWdodHtyaWdodDowO2xlZnQ6YXV0b319LmRyb3B1cCAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztib3R0b206MTAwJTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouMTI1cmVtfS5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6LjI1NWVtO3ZlcnRpY2FsLWFsaWduOi4yNTVlbTtjb250ZW50OiIiO2JvcmRlci10b3A6MDtib3JkZXItcmlnaHQ6LjNlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOi4zZW0gc29saWQ7Ym9yZGVyLWxlZnQ6LjNlbSBzb2xpZCB0cmFuc3BhcmVudH0uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVye21hcmdpbi1sZWZ0OjB9LmRyb3ByaWdodCAuZHJvcGRvd24tbWVudXt0b3A6MDtyaWdodDphdXRvO2xlZnQ6MTAwJTttYXJnaW4tdG9wOjA7bWFyZ2luLWxlZnQ6LjEyNXJlbX0uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0Oi4yNTVlbTt2ZXJ0aWNhbC1hbGlnbjouMjU1ZW07Y29udGVudDoiIjtib3JkZXItdG9wOi4zZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjA7Ym9yZGVyLWJvdHRvbTouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0Oi4zZW0gc29saWR9LmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOmVtcHR5OjphZnRlcnttYXJnaW4tbGVmdDowfS5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZTo6YWZ0ZXJ7dmVydGljYWwtYWxpZ246MH0uZHJvcGxlZnQgLmRyb3Bkb3duLW1lbnV7dG9wOjA7cmlnaHQ6MTAwJTtsZWZ0OmF1dG87bWFyZ2luLXRvcDowO21hcmdpbi1yaWdodDouMTI1cmVtfS5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tbGVmdDouMjU1ZW07dmVydGljYWwtYWxpZ246LjI1NWVtO2NvbnRlbnQ6IiJ9LmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVye2Rpc3BsYXk6bm9uZX0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDouMjU1ZW07dmVydGljYWwtYWxpZ246LjI1NWVtO2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDouM2VtIHNvbGlkO2JvcmRlci1ib3R0b206LjNlbSBzb2xpZCB0cmFuc3BhcmVudH0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXJ7bWFyZ2luLWxlZnQ6MH0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3Jle3ZlcnRpY2FsLWFsaWduOjB9LmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePWJvdHRvbV0sLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePWxlZnRdLC5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1yaWdodF0sLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePXRvcF17cmlnaHQ6YXV0bztib3R0b206YXV0b30uZHJvcGRvd24tZGl2aWRlcntoZWlnaHQ6MDttYXJnaW46LjVyZW0gMDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXRvcDoxcHggc29saWQgI2U5ZWNlZn0uZHJvcGRvd24taXRlbXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzouMjVyZW0gMS41cmVtO2NsZWFyOmJvdGg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMyMTI1Mjk7dGV4dC1hbGlnbjppbmhlcml0O3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5kcm9wZG93bi1pdGVtOmZvY3VzLC5kcm9wZG93bi1pdGVtOmhvdmVye2NvbG9yOiMxNjE4MWI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhfS5kcm9wZG93bi1pdGVtLmFjdGl2ZSwuZHJvcGRvd24taXRlbTphY3RpdmV7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9LmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQsLmRyb3Bkb3duLWl0ZW06ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmRyb3Bkb3duLW1lbnUuc2hvd3tkaXNwbGF5OmJsb2NrfS5kcm9wZG93bi1oZWFkZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nOi41cmVtIDEuNXJlbTttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOi44NzVyZW07Y29sb3I6IzZjNzU3ZDt3aGl0ZS1zcGFjZTpub3dyYXB9LmRyb3Bkb3duLWl0ZW0tdGV4dHtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjI1cmVtIDEuNXJlbTtjb2xvcjojMjEyNTI5fS5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveDtkaXNwbGF5OmlubGluZS1mbGV4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4sLmJ0bi1ncm91cD4uYnRue3Bvc2l0aW9uOnJlbGF0aXZlOy1tcy1mbGV4OjEgMSBhdXRvO2ZsZXg6MSAxIGF1dG99LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmhvdmVyLC5idG4tZ3JvdXA+LmJ0bjpob3Zlcnt6LWluZGV4OjF9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLmFjdGl2ZSwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46YWN0aXZlLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpmb2N1cywuYnRuLWdyb3VwPi5idG4uYWN0aXZlLC5idG4tZ3JvdXA+LmJ0bjphY3RpdmUsLmJ0bi1ncm91cD4uYnRuOmZvY3Vze3otaW5kZXg6MX0uYnRuLXRvb2xiYXJ7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cHt3aWR0aDphdXRvfS5idG4tZ3JvdXA+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSwuYnRuLWdyb3VwPi5idG46bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTFweH0uYnRuLWdyb3VwPi5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKT4uYnRuLC5idG4tZ3JvdXA+LmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmJ0bi1ncm91cD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmRyb3Bkb3duLXRvZ2dsZS1zcGxpdHtwYWRkaW5nLXJpZ2h0Oi41NjI1cmVtO3BhZGRpbmctbGVmdDouNTYyNXJlbX0uZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlciwuZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLC5kcm9wdXAgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YWZ0ZXJ7bWFyZ2luLWxlZnQ6MH0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YmVmb3Jle21hcmdpbi1yaWdodDowfS5idG4tZ3JvdXAtc20+LmJ0bisuZHJvcGRvd24tdG9nZ2xlLXNwbGl0LC5idG4tc20rLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdHtwYWRkaW5nLXJpZ2h0Oi4zNzVyZW07cGFkZGluZy1sZWZ0Oi4zNzVyZW19LmJ0bi1ncm91cC1sZz4uYnRuKy5kcm9wZG93bi10b2dnbGUtc3BsaXQsLmJ0bi1sZysuZHJvcGRvd24tdG9nZ2xlLXNwbGl0e3BhZGRpbmctcmlnaHQ6Ljc1cmVtO3BhZGRpbmctbGVmdDouNzVyZW19LmJ0bi1ncm91cC12ZXJ0aWNhbHstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbXMtZmxleC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cHt3aWR0aDoxMDAlfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLXRvcDotMXB4fS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uYnRuLWdyb3VwLXRvZ2dsZT4uYnRuLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0bnttYXJnaW4tYm90dG9tOjB9LmJ0bi1ncm91cC10b2dnbGU+LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSwuYnRuLWdyb3VwLXRvZ2dsZT4uYnRuIGlucHV0W3R5cGU9cmFkaW9dLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSwuYnRuLWdyb3VwLXRvZ2dsZT4uYnRuLWdyb3VwPi5idG4gaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246YWJzb2x1dGU7Y2xpcDpyZWN0KDAsMCwwLDApO3BvaW50ZXItZXZlbnRzOm5vbmV9LmlucHV0LWdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDstbXMtZmxleC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7d2lkdGg6MTAwJX0uaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlLC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbC1wbGFpbnRleHR7cG9zaXRpb246cmVsYXRpdmU7LW1zLWZsZXg6MSAxIGF1dG87ZmxleDoxIDEgYXV0bzt3aWR0aDoxJTttaW4td2lkdGg6MDttYXJnaW4tYm90dG9tOjB9LmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSsuY3VzdG9tLWZpbGUsLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZSsuY3VzdG9tLXNlbGVjdCwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlKy5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0Ky5jdXN0b20tZmlsZSwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QrLmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0Ky5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wrLmN1c3RvbS1maWxlLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sKy5jdXN0b20tc2VsZWN0LC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sKy5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0Ky5jdXN0b20tZmlsZSwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbC1wbGFpbnRleHQrLmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0Ky5mb3JtLWNvbnRyb2x7bWFyZ2luLWxlZnQ6LTFweH0uaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWwsLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0OmZvY3VzLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOmZvY3Vze3otaW5kZXg6M30uaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlIC5jdXN0b20tZmlsZS1pbnB1dDpmb2N1c3t6LWluZGV4OjR9LmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCksLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2w6bm90KDpsYXN0LWNoaWxkKXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZXtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsLmlucHV0LWdyb3VwPi5jdXN0b20tZmlsZTpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXJ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVse2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmlucHV0LWdyb3VwLWFwcGVuZCwuaW5wdXQtZ3JvdXAtcHJlcGVuZHtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleH0uaW5wdXQtZ3JvdXAtYXBwZW5kIC5idG4sLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjJ9LmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuOmZvY3VzLC5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG46Zm9jdXN7ei1pbmRleDozfS5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0bisuYnRuLC5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0bisuaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0Ky5idG4sLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuKy5idG4sLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bisuaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuYnRuLC5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0Ky5pbnB1dC1ncm91cC10ZXh0e21hcmdpbi1sZWZ0Oi0xcHh9LmlucHV0LWdyb3VwLXByZXBlbmR7bWFyZ2luLXJpZ2h0Oi0xcHh9LmlucHV0LWdyb3VwLWFwcGVuZHttYXJnaW4tbGVmdDotMXB4fS5pbnB1dC1ncm91cC10ZXh0e2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzouMzc1cmVtIC43NXJlbTttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjFyZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojNDk1MDU3O3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyOjFweCBzb2xpZCAjY2VkNGRhO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5pbnB1dC1ncm91cC10ZXh0IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5pbnB1dC1ncm91cC10ZXh0IGlucHV0W3R5cGU9cmFkaW9de21hcmdpbi10b3A6MH0uaW5wdXQtZ3JvdXAtbGc+LmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2w6bm90KHRleHRhcmVhKXtoZWlnaHQ6Y2FsYygxLjVlbSArIDFyZW0gKyAycHgpfS5pbnB1dC1ncm91cC1sZz4uY3VzdG9tLXNlbGVjdCwuaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dHtwYWRkaW5nOi41cmVtIDFyZW07Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6LjNyZW19LmlucHV0LWdyb3VwLXNtPi5jdXN0b20tc2VsZWN0LC5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sOm5vdCh0ZXh0YXJlYSl7aGVpZ2h0OmNhbGMoMS41ZW0gKyAuNXJlbSArIDJweCl9LmlucHV0LWdyb3VwLXNtPi5jdXN0b20tc2VsZWN0LC5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5idG4sLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5pbnB1dC1ncm91cC10ZXh0e3BhZGRpbmc6LjI1cmVtIC41cmVtO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOi4ycmVtfS5pbnB1dC1ncm91cC1sZz4uY3VzdG9tLXNlbGVjdCwuaW5wdXQtZ3JvdXAtc20+LmN1c3RvbS1zZWxlY3R7cGFkZGluZy1yaWdodDoxLjc1cmVtfS5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQ+LmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkPi5pbnB1dC1ncm91cC10ZXh0Om5vdCg6bGFzdC1jaGlsZCksLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ6bm90KDpsYXN0LWNoaWxkKT4uYnRuLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCk+LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5pbnB1dC1ncm91cC10ZXh0e2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZDpmaXJzdC1jaGlsZD4uaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmZpcnN0LWNoaWxkKSwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCk+LmJ0biwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCk+LmlucHV0LWdyb3VwLXRleHR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uY3VzdG9tLWNvbnRyb2x7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDoxLjVyZW07cGFkZGluZy1sZWZ0OjEuNXJlbTstd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDpleGFjdDtjb2xvci1hZGp1c3Q6ZXhhY3R9LmN1c3RvbS1jb250cm9sLWlubGluZXtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveDtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1yaWdodDoxcmVtfS5jdXN0b20tY29udHJvbC1pbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7ei1pbmRleDotMTt3aWR0aDoxcmVtO2hlaWdodDoxLjI1cmVtO29wYWNpdHk6MH0uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjojMDA3YmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZn0uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Zm9jdXN+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuMjUpfS5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1czpub3QoOmNoZWNrZWQpfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JvcmRlci1jb2xvcjojODBiZGZmfS5jdXN0b20tY29udHJvbC1pbnB1dDpub3QoOmRpc2FibGVkKTphY3RpdmV+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNiM2Q3ZmY7Ym9yZGVyLWNvbG9yOiNiM2Q3ZmZ9LmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkfi5jdXN0b20tY29udHJvbC1sYWJlbCwuY3VzdG9tLWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdfi5jdXN0b20tY29udHJvbC1sYWJlbHtjb2xvcjojNmM3NTdkfS5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwuY3VzdG9tLWNvbnRyb2wtaW5wdXRbZGlzYWJsZWRdfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZn0uY3VzdG9tLWNvbnRyb2wtbGFiZWx7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOnRvcH0uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1cmVtO2xlZnQ6LTEuNXJlbTtkaXNwbGF5OmJsb2NrO3dpZHRoOjFyZW07aGVpZ2h0OjFyZW07cG9pbnRlci1ldmVudHM6bm9uZTtjb250ZW50OiIiO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6I2FkYjViZCBzb2xpZCAxcHh9LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LjI1cmVtO2xlZnQ6LTEuNXJlbTtkaXNwbGF5OmJsb2NrO3dpZHRoOjFyZW07aGVpZ2h0OjFyZW07Y29udGVudDoiIjtiYWNrZ3JvdW5kOm5vLXJlcGVhdCA1MCUvNTAlIDUwJX0uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JvcmRlci1yYWRpdXM6LjI1cmVtfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPSclMjNmZmYnIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNmwyLjk3NCAyLjk5TDggMi4xOTN6Jy8lM2UlM2Mvc3ZnJTNlIil9LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3JkZXItY29sb3I6IzAwN2JmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQnIGhlaWdodD0nNCcgdmlld0JveD0nMCAwIDQgNCclM2UlM2NwYXRoIHN0cm9rZT0nJTIzZmZmJyBkPSdNMCAyaDQnLyUzZSUzYy9zdmclM2UiKX0uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDEyMywyNTUsLjUpfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmluZGV0ZXJtaW5hdGV+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTIzLDI1NSwuNSl9LmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJX0uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nMTInIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0nJTIzZmZmJy8lM2UlM2Mvc3ZnJTNlIil9LmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxMjMsMjU1LC41KX0uY3VzdG9tLXN3aXRjaHtwYWRkaW5nLWxlZnQ6Mi4yNXJlbX0uY3VzdG9tLXN3aXRjaCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtsZWZ0Oi0yLjI1cmVtO3dpZHRoOjEuNzVyZW07cG9pbnRlci1ldmVudHM6YWxsO2JvcmRlci1yYWRpdXM6LjVyZW19LmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcnt0b3A6Y2FsYyguMjVyZW0gKyAycHgpO2xlZnQ6Y2FsYygtMi4yNXJlbSArIDJweCk7d2lkdGg6Y2FsYygxcmVtIC0gNHB4KTtoZWlnaHQ6Y2FsYygxcmVtIC0gNHB4KTtiYWNrZ3JvdW5kLWNvbG9yOiNhZGI1YmQ7Ym9yZGVyLXJhZGl1czouNXJlbTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQsLXdlYmtpdC10cmFuc2Zvcm0gLjE1cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMTVzIGVhc2UtaW4tb3V0LGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjE1cyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0LC13ZWJraXQtdHJhbnNmb3JtIC4xNXMgZWFzZS1pbi1vdXR9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmN1c3RvbS1zd2l0Y2ggLmN1c3RvbS1jb250cm9sLWxhYmVsOjphZnRlcnt0cmFuc2l0aW9uOm5vbmV9fS5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLjc1cmVtKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCguNzVyZW0pfS5jdXN0b20tc3dpdGNoIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDEyMywyNTUsLjUpfS5jdXN0b20tc2VsZWN0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OmNhbGMoMS41ZW0gKyAuNzVyZW0gKyAycHgpO3BhZGRpbmc6LjM3NXJlbSAxLjc1cmVtIC4zNzVyZW0gLjc1cmVtO2ZvbnQtc2l6ZToxcmVtO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzQ5NTA1Nzt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZDojZmZmIHVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0JyBoZWlnaHQ9JzUnIHZpZXdCb3g9JzAgMCA0IDUnJTNlJTNjcGF0aCBmaWxsPSclMjMzNDNhNDAnIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzZSUzYy9zdmclM2UiKSBuby1yZXBlYXQgcmlnaHQgLjc1cmVtIGNlbnRlci84cHggMTBweDtib3JkZXI6MXB4IHNvbGlkICNjZWQ0ZGE7Ym9yZGVyLXJhZGl1czouMjVyZW07LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5jdXN0b20tc2VsZWN0OmZvY3Vze2JvcmRlci1jb2xvcjojODBiZGZmO291dGxpbmU6MDtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC4yNSl9LmN1c3RvbS1zZWxlY3Q6Zm9jdXM6Oi1tcy12YWx1ZXtjb2xvcjojNDk1MDU3O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sLmN1c3RvbS1zZWxlY3Rbc2l6ZV06bm90KFtzaXplPSIxIl0pe2hlaWdodDphdXRvO3BhZGRpbmctcmlnaHQ6Ljc1cmVtO2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uY3VzdG9tLXNlbGVjdDpkaXNhYmxlZHtjb2xvcjojNmM3NTdkO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZn0uY3VzdG9tLXNlbGVjdDo6LW1zLWV4cGFuZHtkaXNwbGF5Om5vbmV9LmN1c3RvbS1zZWxlY3Q6LW1vei1mb2N1c3Jpbmd7Y29sb3I6dHJhbnNwYXJlbnQ7dGV4dC1zaGFkb3c6MCAwIDAgIzQ5NTA1N30uY3VzdG9tLXNlbGVjdC1zbXtoZWlnaHQ6Y2FsYygxLjVlbSArIC41cmVtICsgMnB4KTtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtO3BhZGRpbmctbGVmdDouNXJlbTtmb250LXNpemU6Ljg3NXJlbX0uY3VzdG9tLXNlbGVjdC1sZ3toZWlnaHQ6Y2FsYygxLjVlbSArIDFyZW0gKyAycHgpO3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtO3BhZGRpbmctbGVmdDoxcmVtO2ZvbnQtc2l6ZToxLjI1cmVtfS5jdXN0b20tZmlsZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDAlO2hlaWdodDpjYWxjKDEuNWVtICsgLjc1cmVtICsgMnB4KTttYXJnaW4tYm90dG9tOjB9LmN1c3RvbS1maWxlLWlucHV0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDoxMDAlO2hlaWdodDpjYWxjKDEuNWVtICsgLjc1cmVtICsgMnB4KTttYXJnaW46MDtvcGFjaXR5OjB9LmN1c3RvbS1maWxlLWlucHV0OmZvY3Vzfi5jdXN0b20tZmlsZS1sYWJlbHtib3JkZXItY29sb3I6IzgwYmRmZjtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC4yNSl9LmN1c3RvbS1maWxlLWlucHV0OmRpc2FibGVkfi5jdXN0b20tZmlsZS1sYWJlbCwuY3VzdG9tLWZpbGUtaW5wdXRbZGlzYWJsZWRdfi5jdXN0b20tZmlsZS1sYWJlbHtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWZ9LmN1c3RvbS1maWxlLWlucHV0OmxhbmcoZW4pfi5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXJ7Y29udGVudDoiQnJvd3NlIn0uY3VzdG9tLWZpbGUtaW5wdXR+LmN1c3RvbS1maWxlLWxhYmVsW2RhdGEtYnJvd3NlXTo6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtYnJvd3NlKX0uY3VzdG9tLWZpbGUtbGFiZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtsZWZ0OjA7ei1pbmRleDoxO2hlaWdodDpjYWxjKDEuNWVtICsgLjc1cmVtICsgMnB4KTtwYWRkaW5nOi4zNzVyZW0gLjc1cmVtO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjY2VkNGRhO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5jdXN0b20tZmlsZS1sYWJlbDo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjM7ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYygxLjVlbSArIC43NXJlbSk7cGFkZGluZzouMzc1cmVtIC43NXJlbTtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzQ5NTA1Nztjb250ZW50OiJCcm93c2UiO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItbGVmdDppbmhlcml0O2JvcmRlci1yYWRpdXM6MCAuMjVyZW0gLjI1cmVtIDB9LmN1c3RvbS1yYW5nZXt3aWR0aDoxMDAlO2hlaWdodDoxLjRyZW07cGFkZGluZzowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5jdXN0b20tcmFuZ2U6Zm9jdXN7b3V0bGluZTowfS5jdXN0b20tcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2JveC1zaGFkb3c6MCAwIDAgMXB4ICNmZmYsMCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uY3VzdG9tLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRodW1ie2JveC1zaGFkb3c6MCAwIDAgMXB4ICNmZmYsMCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uY3VzdG9tLXJhbmdlOmZvY3VzOjotbXMtdGh1bWJ7Ym94LXNoYWRvdzowIDAgMCAxcHggI2ZmZiwwIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuMjUpfS5jdXN0b20tcmFuZ2U6Oi1tb3otZm9jdXMtb3V0ZXJ7Ym9yZGVyOjB9LmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbTttYXJnaW4tdG9wOi0uMjVyZW07YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MXJlbTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtdHJhbnNpdGlvbjpub25lO3RyYW5zaXRpb246bm9uZX19LmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2IzZDdmZn0uY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3t3aWR0aDoxMDAlO2hlaWdodDouNXJlbTtjb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNkZWUyZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MXJlbX0uY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRodW1ie3dpZHRoOjFyZW07aGVpZ2h0OjFyZW07YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MXJlbTstbW96LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWJ7LW1vei10cmFuc2l0aW9uOm5vbmU7dHJhbnNpdGlvbjpub25lfX0uY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRodW1iOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNiM2Q3ZmZ9LmN1c3RvbS1yYW5nZTo6LW1vei1yYW5nZS10cmFja3t3aWR0aDoxMDAlO2hlaWdodDouNXJlbTtjb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNkZWUyZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MXJlbX0uY3VzdG9tLXJhbmdlOjotbXMtdGh1bWJ7d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbTttYXJnaW4tdG9wOjA7bWFyZ2luLXJpZ2h0Oi4ycmVtO21hcmdpbi1sZWZ0Oi4ycmVtO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXI6MDtib3JkZXItcmFkaXVzOjFyZW07LW1zLXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7YXBwZWFyYW5jZTpub25lfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5jdXN0b20tcmFuZ2U6Oi1tcy10aHVtYnstbXMtdHJhbnNpdGlvbjpub25lO3RyYW5zaXRpb246bm9uZX19LmN1c3RvbS1yYW5nZTo6LW1zLXRodW1iOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNiM2Q3ZmZ9LmN1c3RvbS1yYW5nZTo6LW1zLXRyYWNre3dpZHRoOjEwMCU7aGVpZ2h0Oi41cmVtO2NvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci13aWR0aDouNXJlbX0uY3VzdG9tLXJhbmdlOjotbXMtZmlsbC1sb3dlcntiYWNrZ3JvdW5kLWNvbG9yOiNkZWUyZTY7Ym9yZGVyLXJhZGl1czoxcmVtfS5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLXVwcGVye21hcmdpbi1yaWdodDoxNXB4O2JhY2tncm91bmQtY29sb3I6I2RlZTJlNjtib3JkZXItcmFkaXVzOjFyZW19LmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojYWRiNWJkfS5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2N1cnNvcjpkZWZhdWx0fS5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojYWRiNWJkfS5jdXN0b20tcmFuZ2U6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdHJhY2t7Y3Vyc29yOmRlZmF1bHR9LmN1c3RvbS1yYW5nZTpkaXNhYmxlZDo6LW1zLXRodW1ie2JhY2tncm91bmQtY29sb3I6I2FkYjViZH0uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwuY3VzdG9tLWZpbGUtbGFiZWwsLmN1c3RvbS1zZWxlY3R7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLC5jdXN0b20tZmlsZS1sYWJlbCwuY3VzdG9tLXNlbGVjdHt0cmFuc2l0aW9uOm5vbmV9fS5uYXZ7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmctbGVmdDowO21hcmdpbi1ib3R0b206MDtsaXN0LXN0eWxlOm5vbmV9Lm5hdi1saW5re2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouNXJlbSAxcmVtfS5uYXYtbGluazpmb2N1cywubmF2LWxpbms6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm5hdi1saW5rLmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7cG9pbnRlci1ldmVudHM6bm9uZTtjdXJzb3I6ZGVmYXVsdH0ubmF2LXRhYnN7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZTJlNn0ubmF2LXRhYnMgLm5hdi1pdGVte21hcmdpbi1ib3R0b206LTFweH0ubmF2LXRhYnMgLm5hdi1saW5re2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5uYXYtdGFicyAubmF2LWxpbms6Zm9jdXMsLm5hdi10YWJzIC5uYXYtbGluazpob3Zlcntib3JkZXItY29sb3I6I2U5ZWNlZiAjZTllY2VmICNkZWUyZTZ9Lm5hdi10YWJzIC5uYXYtbGluay5kaXNhYmxlZHtjb2xvcjojNmM3NTdkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5uYXYtdGFicyAubmF2LWl0ZW0uc2hvdyAubmF2LWxpbmssLm5hdi10YWJzIC5uYXYtbGluay5hY3RpdmV7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNkZWUyZTYgI2RlZTJlNiAjZmZmfS5uYXYtdGFicyAuZHJvcGRvd24tbWVudXttYXJnaW4tdG9wOi0xcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9Lm5hdi1waWxscyAubmF2LWxpbmt7Ym9yZGVyLXJhZGl1czouMjVyZW19Lm5hdi1waWxscyAubmF2LWxpbmsuYWN0aXZlLC5uYXYtcGlsbHMgLnNob3c+Lm5hdi1saW5re2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5uYXYtZmlsbCAubmF2LWl0ZW0sLm5hdi1maWxsPi5uYXYtbGlua3stbXMtZmxleDoxIDEgYXV0bztmbGV4OjEgMSBhdXRvO3RleHQtYWxpZ246Y2VudGVyfS5uYXYtanVzdGlmaWVkIC5uYXYtaXRlbSwubmF2LWp1c3RpZmllZD4ubmF2LWxpbmt7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTt0ZXh0LWFsaWduOmNlbnRlcn0udGFiLWNvbnRlbnQ+LnRhYi1wYW5le2Rpc3BsYXk6bm9uZX0udGFiLWNvbnRlbnQ+LmFjdGl2ZXtkaXNwbGF5OmJsb2NrfS5uYXZiYXJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6LjVyZW0gMXJlbX0ubmF2YmFyIC5jb250YWluZXIsLm5hdmJhciAuY29udGFpbmVyLWZsdWlkLC5uYXZiYXIgLmNvbnRhaW5lci1sZywubmF2YmFyIC5jb250YWluZXItbWQsLm5hdmJhciAuY29udGFpbmVyLXNtLC5uYXZiYXIgLmNvbnRhaW5lci14bHtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lm5hdmJhci1icmFuZHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDouMzEyNXJlbTtwYWRkaW5nLWJvdHRvbTouMzEyNXJlbTttYXJnaW4tcmlnaHQ6MXJlbTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDppbmhlcml0O3doaXRlLXNwYWNlOm5vd3JhcH0ubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItYnJhbmQ6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm5hdmJhci1uYXZ7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWJvdHRvbTowO2xpc3Qtc3R5bGU6bm9uZX0ubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfS5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOnN0YXRpYztmbG9hdDpub25lfS5uYXZiYXItdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDouNXJlbTtwYWRkaW5nLWJvdHRvbTouNXJlbX0ubmF2YmFyLWNvbGxhcHNley1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjEwMCU7ZmxleC1iYXNpczoxMDAlOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ubmF2YmFyLXRvZ2dsZXJ7cGFkZGluZzouMjVyZW0gLjc1cmVtO2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjE7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6LjI1cmVtfS5uYXZiYXItdG9nZ2xlcjpmb2N1cywubmF2YmFyLXRvZ2dsZXI6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm5hdmJhci10b2dnbGVyLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MS41ZW07aGVpZ2h0OjEuNWVtO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtjb250ZW50OiIiO2JhY2tncm91bmQ6bm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJX1AbWVkaWEgKG1heC13aWR0aDo1NzUuOThweCl7Lm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLWZsdWlkLC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXItbGcsLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1tZCwubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLXNtLC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXIteGx7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm5hdmJhci1leHBhbmQtc217LW1zLWZsZXgtZmxvdzpyb3cgbm93cmFwO2ZsZXgtZmxvdzpyb3cgbm93cmFwOy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXZ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctcmlnaHQ6LjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtfS5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1mbHVpZCwubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLWxnLC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXItbWQsLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1zbSwubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLXhsey1tcy1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50Oy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjc2Ny45OHB4KXsubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXItZmx1aWQsLm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lci1sZywubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLW1kLC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXItc20sLm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lci14bHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWV4cGFuZC1tZHstbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LW1zLWZsZXgtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdnstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDouNXJlbTtwYWRkaW5nLWxlZnQ6LjVyZW19Lm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLWZsdWlkLC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXItbGcsLm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lci1tZCwubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLXNtLC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXIteGx7LW1zLWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcH0ubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLWNvbGxhcHNle2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0bztmbGV4LWJhc2lzOmF1dG99Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci10b2dnbGVye2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6OTkxLjk4cHgpey5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1mbHVpZCwubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLWxnLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXItbWQsLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1zbSwubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLXhse3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5uYXZiYXItZXhwYW5kLWxney1tcy1mbGV4LWZsb3c6cm93IG5vd3JhcDtmbGV4LWZsb3c6cm93IG5vd3JhcDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2ey1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93fS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOmFic29sdXRlfS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItbmF2IC5uYXYtbGlua3twYWRkaW5nLXJpZ2h0Oi41cmVtO3BhZGRpbmctbGVmdDouNXJlbX0ubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXItZmx1aWQsLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1sZywubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLW1kLC5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXItc20sLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci14bHstbXMtZmxleC13cmFwOm5vd3JhcDtmbGV4LXdyYXA6bm93cmFwfS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDoxMTk5Ljk4cHgpey5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lci1mbHVpZCwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLWxnLC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXItbWQsLm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lci1zbSwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLXhse3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsubmF2YmFyLWV4cGFuZC14bHstbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LW1zLWZsZXgtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdnstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDouNXJlbTtwYWRkaW5nLWxlZnQ6LjVyZW19Lm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLWZsdWlkLC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXItbGcsLm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lci1tZCwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLXNtLC5uYXZiYXItZXhwYW5kLXhsPi5jb250YWluZXIteGx7LW1zLWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcH0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLWNvbGxhcHNle2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0bztmbGV4LWJhc2lzOmF1dG99Lm5hdmJhci1leHBhbmQteGwgLm5hdmJhci10b2dnbGVye2Rpc3BsYXk6bm9uZX19Lm5hdmJhci1leHBhbmR7LW1zLWZsZXgtZmxvdzpyb3cgbm93cmFwO2ZsZXgtZmxvdzpyb3cgbm93cmFwOy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLWZsdWlkLC5uYXZiYXItZXhwYW5kPi5jb250YWluZXItbGcsLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1tZCwubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLXNtLC5uYXZiYXItZXhwYW5kPi5jb250YWluZXIteGx7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfS5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2ey1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93fS5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOmFic29sdXRlfS5uYXZiYXItZXhwYW5kIC5uYXZiYXItbmF2IC5uYXYtbGlua3twYWRkaW5nLXJpZ2h0Oi41cmVtO3BhZGRpbmctbGVmdDouNXJlbX0ubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kPi5jb250YWluZXItZmx1aWQsLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1sZywubmF2YmFyLWV4cGFuZD4uY29udGFpbmVyLW1kLC5uYXZiYXItZXhwYW5kPi5jb250YWluZXItc20sLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci14bHstbXMtZmxleC13cmFwOm5vd3JhcDtmbGV4LXdyYXA6bm93cmFwfS5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZCAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfS5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZHtjb2xvcjpyZ2JhKDAsMCwwLC45KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMsLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjkpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5re2NvbG9yOnJnYmEoMCwwLDAsLjUpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzLC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjcpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjMpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLmFjdGl2ZT4ubmF2LWxpbmssLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuc2hvdz4ubmF2LWxpbmt7Y29sb3I6cmdiYSgwLDAsMCwuOSl9Lm5hdmJhci1saWdodCAubmF2YmFyLXRvZ2dsZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMzAnIGhlaWdodD0nMzAnIHZpZXdCb3g9JzAgMCAzMCAzMCclM2UlM2NwYXRoIHN0cm9rZT0ncmdiYSUyODAsIDAsIDAsIDAuNSUyOScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2UiKX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dHtjb2xvcjpyZ2JhKDAsMCwwLC41KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhe2NvbG9yOnJnYmEoMCwwLDAsLjkpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6Zm9jdXMsLm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYTpob3Zlcntjb2xvcjpyZ2JhKDAsMCwwLC45KX0ubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZHtjb2xvcjojZmZmfS5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItZGFyayAubmF2YmFyLWJyYW5kOmhvdmVye2NvbG9yOiNmZmZ9Lm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGlua3tjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX0ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzLC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfS5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmsuZGlzYWJsZWR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpfS5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuYWN0aXZlPi5uYXYtbGluaywubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSwubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5zaG93Pi5uYXYtbGlua3tjb2xvcjojZmZmfS5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSk7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXItaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPSczMCcgaGVpZ2h0PSczMCcgdmlld0JveD0nMCAwIDMwIDMwJyUzZSUzY3BhdGggc3Ryb2tlPSdyZ2JhJTI4MjU1LCAyNTUsIDI1NSwgMC41JTI5JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZSIpfS5uYXZiYXItZGFyayAubmF2YmFyLXRleHR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhe2NvbG9yOiNmZmZ9Lm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmZvY3VzLC5uYXZiYXItZGFyayAubmF2YmFyLXRleHQgYTpob3Zlcntjb2xvcjojZmZmfS5jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO3dvcmQtd3JhcDpicmVhay13b3JkO2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNsaXA6Ym9yZGVyLWJveDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSk7Ym9yZGVyLXJhZGl1czouMjVyZW19LmNhcmQ+aHJ7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH0uY2FyZD4ubGlzdC1ncm91cHtib3JkZXItdG9wOmluaGVyaXQ7Ym9yZGVyLWJvdHRvbTppbmhlcml0fS5jYXJkPi5saXN0LWdyb3VwOmZpcnN0LWNoaWxke2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCl9LmNhcmQ+Lmxpc3QtZ3JvdXA6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXdpZHRoOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpfS5jYXJkPi5jYXJkLWhlYWRlcisubGlzdC1ncm91cCwuY2FyZD4ubGlzdC1ncm91cCsuY2FyZC1mb290ZXJ7Ym9yZGVyLXRvcDowfS5jYXJkLWJvZHl7LW1zLWZsZXg6MSAxIGF1dG87ZmxleDoxIDEgYXV0bzttaW4taGVpZ2h0OjFweDtwYWRkaW5nOjEuMjVyZW19LmNhcmQtdGl0bGV7bWFyZ2luLWJvdHRvbTouNzVyZW19LmNhcmQtc3VidGl0bGV7bWFyZ2luLXRvcDotLjM3NXJlbTttYXJnaW4tYm90dG9tOjB9LmNhcmQtdGV4dDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uY2FyZC1saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5jYXJkLWxpbmsrLmNhcmQtbGlua3ttYXJnaW4tbGVmdDoxLjI1cmVtfS5jYXJkLWhlYWRlcntwYWRkaW5nOi43NXJlbSAxLjI1cmVtO21hcmdpbi1ib3R0b206MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjAzKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMjUpfS5jYXJkLWhlYWRlcjpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KSBjYWxjKC4yNXJlbSAtIDFweCkgMCAwfS5jYXJkLWZvb3RlcntwYWRkaW5nOi43NXJlbSAxLjI1cmVtO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDMpO2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSl9LmNhcmQtZm9vdGVyOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDAgY2FsYyguMjVyZW0gLSAxcHgpIGNhbGMoLjI1cmVtIC0gMXB4KX0uY2FyZC1oZWFkZXItdGFic3ttYXJnaW4tcmlnaHQ6LS42MjVyZW07bWFyZ2luLWJvdHRvbTotLjc1cmVtO21hcmdpbi1sZWZ0Oi0uNjI1cmVtO2JvcmRlci1ib3R0b206MH0uY2FyZC1oZWFkZXItcGlsbHN7bWFyZ2luLXJpZ2h0Oi0uNjI1cmVtO21hcmdpbi1sZWZ0Oi0uNjI1cmVtfS5jYXJkLWltZy1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3BhZGRpbmc6MS4yNXJlbTtib3JkZXItcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KX0uY2FyZC1pbWcsLmNhcmQtaW1nLWJvdHRvbSwuY2FyZC1pbWctdG9wey1tcy1mbGV4LW5lZ2F0aXZlOjA7ZmxleC1zaHJpbms6MDt3aWR0aDoxMDAlfS5jYXJkLWltZywuY2FyZC1pbWctdG9we2JvcmRlci10b3AtbGVmdC1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KX0uY2FyZC1pbWcsLmNhcmQtaW1nLWJvdHRvbXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCl9LmNhcmQtZGVjayAuY2FyZHttYXJnaW4tYm90dG9tOjE1cHh9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5jYXJkLWRlY2t7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtZmxvdzpyb3cgd3JhcDtmbGV4LWZsb3c6cm93IHdyYXA7bWFyZ2luLXJpZ2h0Oi0xNXB4O21hcmdpbi1sZWZ0Oi0xNXB4fS5jYXJkLWRlY2sgLmNhcmR7LW1zLWZsZXg6MSAwIDAlO2ZsZXg6MSAwIDAlO21hcmdpbi1yaWdodDoxNXB4O21hcmdpbi1ib3R0b206MDttYXJnaW4tbGVmdDoxNXB4fX0uY2FyZC1ncm91cD4uY2FyZHttYXJnaW4tYm90dG9tOjE1cHh9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5jYXJkLWdyb3Vwe2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwfS5jYXJkLWdyb3VwPi5jYXJkey1tcy1mbGV4OjEgMCAwJTtmbGV4OjEgMCAwJTttYXJnaW4tYm90dG9tOjB9LmNhcmQtZ3JvdXA+LmNhcmQrLmNhcmR7bWFyZ2luLWxlZnQ6MDtib3JkZXItbGVmdDowfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaGVhZGVyLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLXRvcHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtZm9vdGVyLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6bGFzdC1jaGlsZCkgLmNhcmQtaW1nLWJvdHRvbXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCkgLmNhcmQtaGVhZGVyLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWltZy10b3B7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpIC5jYXJkLWZvb3RlciwuY2FyZC1ncm91cD4uY2FyZDpub3QoOmZpcnN0LWNoaWxkKSAuY2FyZC1pbWctYm90dG9te2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH19LmNhcmQtY29sdW1ucyAuY2FyZHttYXJnaW4tYm90dG9tOi43NXJlbX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmNhcmQtY29sdW1uc3std2Via2l0LWNvbHVtbi1jb3VudDozOy1tb3otY29sdW1uLWNvdW50OjM7Y29sdW1uLWNvdW50OjM7LXdlYmtpdC1jb2x1bW4tZ2FwOjEuMjVyZW07LW1vei1jb2x1bW4tZ2FwOjEuMjVyZW07Y29sdW1uLWdhcDoxLjI1cmVtO29ycGhhbnM6MTt3aWRvd3M6MX0uY2FyZC1jb2x1bW5zIC5jYXJke2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMCV9fS5hY2NvcmRpb257b3ZlcmZsb3ctYW5jaG9yOm5vbmV9LmFjY29yZGlvbj4uY2FyZHtvdmVyZmxvdzpoaWRkZW59LmFjY29yZGlvbj4uY2FyZDpub3QoOmxhc3Qtb2YtdHlwZSl7Ym9yZGVyLWJvdHRvbTowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5hY2NvcmRpb24+LmNhcmQ6bm90KDpmaXJzdC1vZi10eXBlKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uYWNjb3JkaW9uPi5jYXJkPi5jYXJkLWhlYWRlcntib3JkZXItcmFkaXVzOjA7bWFyZ2luLWJvdHRvbTotMXB4fS5icmVhZGNydW1ie2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDtwYWRkaW5nOi43NXJlbSAxcmVtO21hcmdpbi1ib3R0b206MXJlbTtsaXN0LXN0eWxlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5icmVhZGNydW1iLWl0ZW17ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVte3BhZGRpbmctbGVmdDouNXJlbX0uYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06OmJlZm9yZXtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXJpZ2h0Oi41cmVtO2NvbG9yOiM2Yzc1N2Q7Y29udGVudDoiLyJ9LmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZXt0ZXh0LWRlY29yYXRpb246bm9uZX0uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZXtjb2xvcjojNmM3NTdkfS5wYWdpbmF0aW9ue2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOi4yNXJlbX0ucGFnZS1saW5re3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouNXJlbSAuNzVyZW07bWFyZ2luLWxlZnQ6LTFweDtsaW5lLWhlaWdodDoxLjI1O2NvbG9yOiMwMDdiZmY7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RlZTJlNn0ucGFnZS1saW5rOmhvdmVye3otaW5kZXg6Mjtjb2xvcjojMDA1NmIzO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItY29sb3I6I2RlZTJlNn0ucGFnZS1saW5rOmZvY3Vze3otaW5kZXg6MztvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuMjUpfS5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGlua3ttYXJnaW4tbGVmdDowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjI1cmVtfS5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5re2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW19LnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGlua3t6LWluZGV4OjM7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmY7Ym9yZGVyLWNvbG9yOiMwMDdiZmZ9LnBhZ2UtaXRlbS5kaXNhYmxlZCAucGFnZS1saW5re2NvbG9yOiM2Yzc1N2Q7cG9pbnRlci1ldmVudHM6bm9uZTtjdXJzb3I6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNkZWUyZTZ9LnBhZ2luYXRpb24tbGcgLnBhZ2UtbGlua3twYWRkaW5nOi43NXJlbSAxLjVyZW07Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41fS5wYWdpbmF0aW9uLWxnIC5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGlua3tib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4zcmVtO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjNyZW19LnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmt7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjNyZW07Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjNyZW19LnBhZ2luYXRpb24tc20gLnBhZ2UtbGlua3twYWRkaW5nOi4yNXJlbSAuNXJlbTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjV9LnBhZ2luYXRpb24tc20gLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5re2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjJyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMnJlbX0ucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGlua3tib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMnJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMnJlbX0uYmFkZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzouMjVlbSAuNGVtO2ZvbnQtc2l6ZTo3NSU7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2JvcmRlci1yYWRpdXM6LjI1cmVtO3RyYW5zaXRpb246Y29sb3IgLjE1cyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0fUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5iYWRnZXt0cmFuc2l0aW9uOm5vbmV9fWEuYmFkZ2U6Zm9jdXMsYS5iYWRnZTpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0uYmFkZ2U6ZW1wdHl7ZGlzcGxheTpub25lfS5idG4gLmJhZGdle3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMXB4fS5iYWRnZS1waWxse3BhZGRpbmctcmlnaHQ6LjZlbTtwYWRkaW5nLWxlZnQ6LjZlbTtib3JkZXItcmFkaXVzOjEwcmVtfS5iYWRnZS1wcmltYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfWEuYmFkZ2UtcHJpbWFyeTpmb2N1cyxhLmJhZGdlLXByaW1hcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDYyY2N9YS5iYWRnZS1wcmltYXJ5LmZvY3VzLGEuYmFkZ2UtcHJpbWFyeTpmb2N1c3tvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuNSl9LmJhZGdlLXNlY29uZGFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZH1hLmJhZGdlLXNlY29uZGFyeTpmb2N1cyxhLmJhZGdlLXNlY29uZGFyeTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzU0NWI2Mn1hLmJhZGdlLXNlY29uZGFyeS5mb2N1cyxhLmJhZGdlLXNlY29uZGFyeTpmb2N1c3tvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDEwOCwxMTcsMTI1LC41KX0uYmFkZ2Utc3VjY2Vzc3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4YTc0NX1hLmJhZGdlLXN1Y2Nlc3M6Zm9jdXMsYS5iYWRnZS1zdWNjZXNzOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMWU3ZTM0fWEuYmFkZ2Utc3VjY2Vzcy5mb2N1cyxhLmJhZGdlLXN1Y2Nlc3M6Zm9jdXN7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjUpfS5iYWRnZS1pbmZve2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMTdhMmI4fWEuYmFkZ2UtaW5mbzpmb2N1cyxhLmJhZGdlLWluZm86aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxMTdhOGJ9YS5iYWRnZS1pbmZvLmZvY3VzLGEuYmFkZ2UtaW5mbzpmb2N1c3tvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIzLDE2MiwxODQsLjUpfS5iYWRnZS13YXJuaW5ne2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3fWEuYmFkZ2Utd2FybmluZzpmb2N1cyxhLmJhZGdlLXdhcm5pbmc6aG92ZXJ7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNkMzllMDB9YS5iYWRnZS13YXJuaW5nLmZvY3VzLGEuYmFkZ2Utd2FybmluZzpmb2N1c3tvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI1NSwxOTMsNywuNSl9LmJhZGdlLWRhbmdlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2RjMzU0NX1hLmJhZGdlLWRhbmdlcjpmb2N1cyxhLmJhZGdlLWRhbmdlcjpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2JkMjEzMH1hLmJhZGdlLWRhbmdlci5mb2N1cyxhLmJhZGdlLWRhbmdlcjpmb2N1c3tvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuNSl9LmJhZGdlLWxpZ2h0e2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhfWEuYmFkZ2UtbGlnaHQ6Zm9jdXMsYS5iYWRnZS1saWdodDpob3Zlcntjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2RhZTBlNX1hLmJhZGdlLWxpZ2h0LmZvY3VzLGEuYmFkZ2UtbGlnaHQ6Zm9jdXN7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNDgsMjQ5LDI1MCwuNSl9LmJhZGdlLWRhcmt7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDB9YS5iYWRnZS1kYXJrOmZvY3VzLGEuYmFkZ2UtZGFyazpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzFkMjEyNH1hLmJhZGdlLWRhcmsuZm9jdXMsYS5iYWRnZS1kYXJrOmZvY3Vze291dGxpbmU6MDtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNTIsNTgsNjQsLjUpfS5qdW1ib3Ryb257cGFkZGluZzoycmVtIDFyZW07bWFyZ2luLWJvdHRvbToycmVtO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItcmFkaXVzOi4zcmVtfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuanVtYm90cm9ue3BhZGRpbmc6NHJlbSAycmVtfX0uanVtYm90cm9uLWZsdWlke3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MDtib3JkZXItcmFkaXVzOjB9LmFsZXJ0e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07bWFyZ2luLWJvdHRvbToxcmVtO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czouMjVyZW19LmFsZXJ0LWhlYWRpbmd7Y29sb3I6aW5oZXJpdH0uYWxlcnQtbGlua3tmb250LXdlaWdodDo3MDB9LmFsZXJ0LWRpc21pc3NpYmxle3BhZGRpbmctcmlnaHQ6NHJlbX0uYWxlcnQtZGlzbWlzc2libGUgLmNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7ei1pbmRleDoyO3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07Y29sb3I6aW5oZXJpdH0uYWxlcnQtcHJpbWFyeXtjb2xvcjojMDA0MDg1O2JhY2tncm91bmQtY29sb3I6I2NjZTVmZjtib3JkZXItY29sb3I6I2I4ZGFmZn0uYWxlcnQtcHJpbWFyeSBocntib3JkZXItdG9wLWNvbG9yOiM5ZmNkZmZ9LmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWxpbmt7Y29sb3I6IzAwMjc1Mn0uYWxlcnQtc2Vjb25kYXJ5e2NvbG9yOiMzODNkNDE7YmFja2dyb3VuZC1jb2xvcjojZTJlM2U1O2JvcmRlci1jb2xvcjojZDZkOGRifS5hbGVydC1zZWNvbmRhcnkgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojYzhjYmNmfS5hbGVydC1zZWNvbmRhcnkgLmFsZXJ0LWxpbmt7Y29sb3I6IzIwMjMyNn0uYWxlcnQtc3VjY2Vzc3tjb2xvcjojMTU1NzI0O2JhY2tncm91bmQtY29sb3I6I2Q0ZWRkYTtib3JkZXItY29sb3I6I2MzZTZjYn0uYWxlcnQtc3VjY2VzcyBocntib3JkZXItdG9wLWNvbG9yOiNiMWRmYmJ9LmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWxpbmt7Y29sb3I6IzBiMmUxM30uYWxlcnQtaW5mb3tjb2xvcjojMGM1NDYwO2JhY2tncm91bmQtY29sb3I6I2QxZWNmMTtib3JkZXItY29sb3I6I2JlZTVlYn0uYWxlcnQtaW5mbyBocntib3JkZXItdG9wLWNvbG9yOiNhYmRkZTV9LmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmt7Y29sb3I6IzA2MmMzM30uYWxlcnQtd2FybmluZ3tjb2xvcjojODU2NDA0O2JhY2tncm91bmQtY29sb3I6I2ZmZjNjZDtib3JkZXItY29sb3I6I2ZmZWViYX0uYWxlcnQtd2FybmluZyBocntib3JkZXItdG9wLWNvbG9yOiNmZmU4YTF9LmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWxpbmt7Y29sb3I6IzUzM2YwM30uYWxlcnQtZGFuZ2Vye2NvbG9yOiM3MjFjMjQ7YmFja2dyb3VuZC1jb2xvcjojZjhkN2RhO2JvcmRlci1jb2xvcjojZjVjNmNifS5hbGVydC1kYW5nZXIgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojZjFiMGI3fS5hbGVydC1kYW5nZXIgLmFsZXJ0LWxpbmt7Y29sb3I6IzQ5MTIxN30uYWxlcnQtbGlnaHR7Y29sb3I6IzgxODE4MjtiYWNrZ3JvdW5kLWNvbG9yOiNmZWZlZmU7Ym9yZGVyLWNvbG9yOiNmZGZkZmV9LmFsZXJ0LWxpZ2h0IGhye2JvcmRlci10b3AtY29sb3I6I2VjZWNmNn0uYWxlcnQtbGlnaHQgLmFsZXJ0LWxpbmt7Y29sb3I6IzY4Njg2OH0uYWxlcnQtZGFya3tjb2xvcjojMWIxZTIxO2JhY2tncm91bmQtY29sb3I6I2Q2ZDhkOTtib3JkZXItY29sb3I6I2M2YzhjYX0uYWxlcnQtZGFyayBocntib3JkZXItdG9wLWNvbG9yOiNiOWJiYmV9LmFsZXJ0LWRhcmsgLmFsZXJ0LWxpbmt7Y29sb3I6IzA0MDUwNX1ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXN7ZnJvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjFyZW0gMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH19QGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246MXJlbSAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCAwfX0ucHJvZ3Jlc3N7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjFyZW07b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjA7Zm9udC1zaXplOi43NXJlbTtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyLXJhZGl1czouMjVyZW19LnByb2dyZXNzLWJhcntkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO292ZXJmbG93OmhpZGRlbjtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmY7dHJhbnNpdGlvbjp3aWR0aCAuNnMgZWFzZX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsucHJvZ3Jlc3MtYmFye3RyYW5zaXRpb246bm9uZX19LnByb2dyZXNzLWJhci1zdHJpcGVke2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLXNpemU6MXJlbSAxcmVtfS5wcm9ncmVzcy1iYXItYW5pbWF0ZWR7LXdlYmtpdC1hbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpwcm9ncmVzcy1iYXItc3RyaXBlcyAxcyBsaW5lYXIgaW5maW5pdGV9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LnByb2dyZXNzLWJhci1hbmltYXRlZHstd2Via2l0LWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lfX0ubWVkaWF7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ubWVkaWEtYm9keXstbXMtZmxleDoxO2ZsZXg6MX0ubGlzdC1ncm91cHtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLXJhZGl1czouMjVyZW19Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb257d2lkdGg6MTAwJTtjb2xvcjojNDk1MDU3O3RleHQtYWxpZ246aW5oZXJpdH0ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcnt6LWluZGV4OjE7Y29sb3I6IzQ5NTA1Nzt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmF9Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246YWN0aXZle2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmfS5saXN0LWdyb3VwLWl0ZW17cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztwYWRkaW5nOi43NXJlbSAxLjI1cmVtO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSl9Lmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmluaGVyaXQ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6aW5oZXJpdH0ubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6aW5oZXJpdDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOmluaGVyaXR9Lmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwubGlzdC1ncm91cC1pdGVtOmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7ei1pbmRleDoyO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5saXN0LWdyb3VwLWl0ZW0rLmxpc3QtZ3JvdXAtaXRlbXtib3JkZXItdG9wLXdpZHRoOjB9Lmxpc3QtZ3JvdXAtaXRlbSsubGlzdC1ncm91cC1pdGVtLmFjdGl2ZXttYXJnaW4tdG9wOi0xcHg7Ym9yZGVyLXRvcC13aWR0aDoxcHh9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbHstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubGlzdC1ncm91cC1ob3Jpem9udGFsPi5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0ubGlzdC1ncm91cC1ob3Jpem9udGFsPi5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5saXN0LWdyb3VwLWhvcml6b250YWw+Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7bWFyZ2luLXRvcDowfS5saXN0LWdyb3VwLWhvcml6b250YWw+Lmxpc3QtZ3JvdXAtaXRlbSsubGlzdC1ncm91cC1pdGVte2JvcmRlci10b3Atd2lkdGg6MXB4O2JvcmRlci1sZWZ0LXdpZHRoOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbD4ubGlzdC1ncm91cC1pdGVtKy5saXN0LWdyb3VwLWl0ZW0uYWN0aXZle21hcmdpbi1sZWZ0Oi0xcHg7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtey1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93fS5saXN0LWdyb3VwLWhvcml6b250YWwtc20+Lmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5saXN0LWdyb3VwLWhvcml6b250YWwtc20+Lmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbT4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZXttYXJnaW4tdG9wOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1zbT4ubGlzdC1ncm91cC1pdGVtKy5saXN0LWdyb3VwLWl0ZW17Ym9yZGVyLXRvcC13aWR0aDoxcHg7Ym9yZGVyLWxlZnQtd2lkdGg6MH0ubGlzdC1ncm91cC1ob3Jpem9udGFsLXNtPi5saXN0LWdyb3VwLWl0ZW0rLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7bWFyZ2luLWxlZnQ6LTFweDtib3JkZXItbGVmdC13aWR0aDoxcHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubGlzdC1ncm91cC1ob3Jpem9udGFsLW1key1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93fS5saXN0LWdyb3VwLWhvcml6b250YWwtbWQ+Lmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5saXN0LWdyb3VwLWhvcml6b250YWwtbWQ+Lmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZD4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZXttYXJnaW4tdG9wOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1tZD4ubGlzdC1ncm91cC1pdGVtKy5saXN0LWdyb3VwLWl0ZW17Ym9yZGVyLXRvcC13aWR0aDoxcHg7Ym9yZGVyLWxlZnQtd2lkdGg6MH0ubGlzdC1ncm91cC1ob3Jpem9udGFsLW1kPi5saXN0LWdyb3VwLWl0ZW0rLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7bWFyZ2luLWxlZnQ6LTFweDtib3JkZXItbGVmdC13aWR0aDoxcHh9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsubGlzdC1ncm91cC1ob3Jpem9udGFsLWxney1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93fS5saXN0LWdyb3VwLWhvcml6b250YWwtbGc+Lmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5saXN0LWdyb3VwLWhvcml6b250YWwtbGc+Lmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZz4ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZXttYXJnaW4tdG9wOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC1sZz4ubGlzdC1ncm91cC1pdGVtKy5saXN0LWdyb3VwLWl0ZW17Ym9yZGVyLXRvcC13aWR0aDoxcHg7Ym9yZGVyLWxlZnQtd2lkdGg6MH0ubGlzdC1ncm91cC1ob3Jpem9udGFsLWxnPi5saXN0LWdyb3VwLWl0ZW0rLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7bWFyZ2luLWxlZnQ6LTFweDtib3JkZXItbGVmdC13aWR0aDoxcHh9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bHstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsPi5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0ubGlzdC1ncm91cC1ob3Jpem9udGFsLXhsPi5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5saXN0LWdyb3VwLWhvcml6b250YWwteGw+Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7bWFyZ2luLXRvcDowfS5saXN0LWdyb3VwLWhvcml6b250YWwteGw+Lmxpc3QtZ3JvdXAtaXRlbSsubGlzdC1ncm91cC1pdGVte2JvcmRlci10b3Atd2lkdGg6MXB4O2JvcmRlci1sZWZ0LXdpZHRoOjB9Lmxpc3QtZ3JvdXAtaG9yaXpvbnRhbC14bD4ubGlzdC1ncm91cC1pdGVtKy5saXN0LWdyb3VwLWl0ZW0uYWN0aXZle21hcmdpbi1sZWZ0Oi0xcHg7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4fX0ubGlzdC1ncm91cC1mbHVzaHtib3JkZXItcmFkaXVzOjB9Lmxpc3QtZ3JvdXAtZmx1c2g+Lmxpc3QtZ3JvdXAtaXRlbXtib3JkZXItd2lkdGg6MCAwIDFweH0ubGlzdC1ncm91cC1mbHVzaD4ubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS13aWR0aDowfS5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeXtjb2xvcjojMDA0MDg1O2JhY2tncm91bmQtY29sb3I6I2I4ZGFmZn0ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojMDA0MDg1O2JhY2tncm91bmQtY29sb3I6IzlmY2RmZn0ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDQwODU7Ym9yZGVyLWNvbG9yOiMwMDQwODV9Lmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnl7Y29sb3I6IzM4M2Q0MTtiYWNrZ3JvdW5kLWNvbG9yOiNkNmQ4ZGJ9Lmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiMzODNkNDE7YmFja2dyb3VuZC1jb2xvcjojYzhjYmNmfS5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzgzZDQxO2JvcmRlci1jb2xvcjojMzgzZDQxfS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzc3tjb2xvcjojMTU1NzI0O2JhY2tncm91bmQtY29sb3I6I2MzZTZjYn0ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojMTU1NzI0O2JhY2tncm91bmQtY29sb3I6I2IxZGZiYn0ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxNTU3MjQ7Ym9yZGVyLWNvbG9yOiMxNTU3MjR9Lmxpc3QtZ3JvdXAtaXRlbS1pbmZve2NvbG9yOiMwYzU0NjA7YmFja2dyb3VuZC1jb2xvcjojYmVlNWVifS5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiMwYzU0NjA7YmFja2dyb3VuZC1jb2xvcjojYWJkZGU1fS5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBjNTQ2MDtib3JkZXItY29sb3I6IzBjNTQ2MH0ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmd7Y29sb3I6Izg1NjQwNDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmVlYmF9Lmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6Izg1NjQwNDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmU4YTF9Lmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojODU2NDA0O2JvcmRlci1jb2xvcjojODU2NDA0fS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2Vye2NvbG9yOiM3MjFjMjQ7YmFja2dyb3VuZC1jb2xvcjojZjVjNmNifS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojNzIxYzI0O2JhY2tncm91bmQtY29sb3I6I2YxYjBiN30ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzcyMWMyNDtib3JkZXItY29sb3I6IzcyMWMyNH0ubGlzdC1ncm91cC1pdGVtLWxpZ2h0e2NvbG9yOiM4MTgxODI7YmFja2dyb3VuZC1jb2xvcjojZmRmZGZlfS5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzgxODE4MjtiYWNrZ3JvdW5kLWNvbG9yOiNlY2VjZjZ9Lmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzgxODE4Mjtib3JkZXItY29sb3I6IzgxODE4Mn0ubGlzdC1ncm91cC1pdGVtLWRhcmt7Y29sb3I6IzFiMWUyMTtiYWNrZ3JvdW5kLWNvbG9yOiNjNmM4Y2F9Lmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzFiMWUyMTtiYWNrZ3JvdW5kLWNvbG9yOiNiOWJiYmV9Lmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMWIxZTIxO2JvcmRlci1jb2xvcjojMWIxZTIxfS5jbG9zZXtmbG9hdDpyaWdodDtmb250LXNpemU6MS41cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxO2NvbG9yOiMwMDA7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmO29wYWNpdHk6LjV9LmNsb3NlOmhvdmVye2NvbG9yOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmNsb3NlOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmZvY3VzLC5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTpob3ZlcntvcGFjaXR5Oi43NX1idXR0b24uY2xvc2V7cGFkZGluZzowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjB9YS5jbG9zZS5kaXNhYmxlZHtwb2ludGVyLWV2ZW50czpub25lfS50b2FzdHstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTozNTBweDtmbGV4LWJhc2lzOjM1MHB4O21heC13aWR0aDozNTBweDtmb250LXNpemU6Ljg3NXJlbTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjg1KTtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtib3gtc2hhZG93OjAgLjI1cmVtIC43NXJlbSByZ2JhKDAsMCwwLC4xKTtvcGFjaXR5OjA7Ym9yZGVyLXJhZGl1czouMjVyZW19LnRvYXN0Om5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWJvdHRvbTouNzVyZW19LnRvYXN0LnNob3dpbmd7b3BhY2l0eToxfS50b2FzdC5zaG93e2Rpc3BsYXk6YmxvY2s7b3BhY2l0eToxfS50b2FzdC5oaWRle2Rpc3BsYXk6bm9uZX0udG9hc3QtaGVhZGVye2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzouMjVyZW0gLjc1cmVtO2NvbG9yOiM2Yzc1N2Q7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44NSk7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCl9LnRvYXN0LWJvZHl7cGFkZGluZzouNzVyZW19Lm1vZGFsLW9wZW57b3ZlcmZsb3c6aGlkZGVufS5tb2RhbC1vcGVuIC5tb2RhbHtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG99Lm1vZGFse3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwNTA7ZGlzcGxheTpub25lO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO291dGxpbmU6MH0ubW9kYWwtZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG87bWFyZ2luOi41cmVtO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZ3t0cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0LC13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtNTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC01MHB4KX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9ne3RyYW5zaXRpb246bm9uZX19Lm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZ3std2Via2l0LXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfS5tb2RhbC5tb2RhbC1zdGF0aWMgLm1vZGFsLWRpYWxvZ3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjAyKTt0cmFuc2Zvcm06c2NhbGUoMS4wMil9Lm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxle2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gMXJlbSl9Lm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50e21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDFyZW0pO292ZXJmbG93OmhpZGRlbn0ubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWZvb3RlciwubW9kYWwtZGlhbG9nLXNjcm9sbGFibGUgLm1vZGFsLWhlYWRlcnstbXMtZmxleC1uZWdhdGl2ZTowO2ZsZXgtc2hyaW5rOjB9Lm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1ib2R5e292ZXJmbG93LXk6YXV0b30ubW9kYWwtZGlhbG9nLWNlbnRlcmVke2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDpjYWxjKDEwMCUgLSAxcmVtKX0ubW9kYWwtZGlhbG9nLWNlbnRlcmVkOjpiZWZvcmV7ZGlzcGxheTpibG9jaztoZWlnaHQ6Y2FsYygxMDB2aCAtIDFyZW0pO2hlaWdodDotd2Via2l0LW1pbi1jb250ZW50O2hlaWdodDotbW96LW1pbi1jb250ZW50O2hlaWdodDptaW4tY29udGVudDtjb250ZW50OiIifS5tb2RhbC1kaWFsb2ctY2VudGVyZWQubW9kYWwtZGlhbG9nLXNjcm9sbGFibGV7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MTAwJX0ubW9kYWwtZGlhbG9nLWNlbnRlcmVkLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50e21heC1oZWlnaHQ6bm9uZX0ubW9kYWwtZGlhbG9nLWNlbnRlcmVkLm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlOjpiZWZvcmV7Y29udGVudDpub25lfS5tb2RhbC1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCU7cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMik7Ym9yZGVyLXJhZGl1czouM3JlbTtvdXRsaW5lOjB9Lm1vZGFsLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwNDA7d2lkdGg6MTAwdnc7aGVpZ2h0OjEwMHZoO2JhY2tncm91bmQtY29sb3I6IzAwMH0ubW9kYWwtYmFja2Ryb3AuZmFkZXtvcGFjaXR5OjB9Lm1vZGFsLWJhY2tkcm9wLnNob3d7b3BhY2l0eTouNX0ubW9kYWwtaGVhZGVye2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LW1zLWZsZXgtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MXJlbSAxcmVtO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZWUyZTY7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KX0ubW9kYWwtaGVhZGVyIC5jbG9zZXtwYWRkaW5nOjFyZW0gMXJlbTttYXJnaW46LTFyZW0gLTFyZW0gLTFyZW0gYXV0b30ubW9kYWwtdGl0bGV7bWFyZ2luLWJvdHRvbTowO2xpbmUtaGVpZ2h0OjEuNX0ubW9kYWwtYm9keXtwb3NpdGlvbjpyZWxhdGl2ZTstbXMtZmxleDoxIDEgYXV0bztmbGV4OjEgMSBhdXRvO3BhZGRpbmc6MXJlbX0ubW9kYWwtZm9vdGVye2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtwYWRkaW5nOi43NXJlbTtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlMmU2O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmNhbGMoLjNyZW0gLSAxcHgpO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6Y2FsYyguM3JlbSAtIDFweCl9Lm1vZGFsLWZvb3Rlcj4qe21hcmdpbjouMjVyZW19Lm1vZGFsLXNjcm9sbGJhci1tZWFzdXJle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotOTk5OXB4O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7b3ZlcmZsb3c6c2Nyb2xsfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsubW9kYWwtZGlhbG9ne21heC13aWR0aDo1MDBweDttYXJnaW46MS43NXJlbSBhdXRvfS5tb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZXttYXgtaGVpZ2h0OmNhbGMoMTAwJSAtIDMuNXJlbSl9Lm1vZGFsLWRpYWxvZy1zY3JvbGxhYmxlIC5tb2RhbC1jb250ZW50e21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDMuNXJlbSl9Lm1vZGFsLWRpYWxvZy1jZW50ZXJlZHttaW4taGVpZ2h0OmNhbGMoMTAwJSAtIDMuNXJlbSl9Lm1vZGFsLWRpYWxvZy1jZW50ZXJlZDo6YmVmb3Jle2hlaWdodDpjYWxjKDEwMHZoIC0gMy41cmVtKTtoZWlnaHQ6LXdlYmtpdC1taW4tY29udGVudDtoZWlnaHQ6LW1vei1taW4tY29udGVudDtoZWlnaHQ6bWluLWNvbnRlbnR9Lm1vZGFsLXNte21heC13aWR0aDozMDBweH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5tb2RhbC1sZywubW9kYWwteGx7bWF4LXdpZHRoOjgwMHB4fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5tb2RhbC14bHttYXgtd2lkdGg6MTE0MHB4fX0udG9vbHRpcHtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwNzA7ZGlzcGxheTpibG9jazttYXJnaW46MDtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiU2Vnb2UgVUkiLFJvYm90bywiSGVsdmV0aWNhIE5ldWUiLEFyaWFsLCJOb3RvIFNhbnMiLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiLCJTZWdvZSBVSSBTeW1ib2wiLCJOb3RvIENvbG9yIEVtb2ppIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O3RleHQtYWxpZ246bGVmdDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1icmVhazpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt3aGl0ZS1zcGFjZTpub3JtYWw7bGluZS1icmVhazphdXRvO2ZvbnQtc2l6ZTouODc1cmVtO3dvcmQtd3JhcDpicmVhay13b3JkO29wYWNpdHk6MH0udG9vbHRpcC5zaG93e29wYWNpdHk6Ljl9LnRvb2x0aXAgLmFycm93e3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6LjhyZW07aGVpZ2h0Oi40cmVtfS50b29sdGlwIC5hcnJvdzo6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj10b3BdLC5icy10b29sdGlwLXRvcHtwYWRkaW5nOi40cmVtIDB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3csLmJzLXRvb2x0aXAtdG9wIC5hcnJvd3tib3R0b206MH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj10b3BdIC5hcnJvdzo6YmVmb3JlLC5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZXt0b3A6MDtib3JkZXItd2lkdGg6LjRyZW0gLjRyZW0gMDtib3JkZXItdG9wLWNvbG9yOiMwMDB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdLC5icy10b29sdGlwLXJpZ2h0e3BhZGRpbmc6MCAuNHJlbX0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93LC5icy10b29sdGlwLXJpZ2h0IC5hcnJvd3tsZWZ0OjA7d2lkdGg6LjRyZW07aGVpZ2h0Oi44cmVtfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSAuYXJyb3c6OmJlZm9yZSwuYnMtdG9vbHRpcC1yaWdodCAuYXJyb3c6OmJlZm9yZXtyaWdodDowO2JvcmRlci13aWR0aDouNHJlbSAuNHJlbSAuNHJlbSAwO2JvcmRlci1yaWdodC1jb2xvcjojMDAwfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0sLmJzLXRvb2x0aXAtYm90dG9te3BhZGRpbmc6LjRyZW0gMH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdywuYnMtdG9vbHRpcC1ib3R0b20gLmFycm93e3RvcDowfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjpiZWZvcmUsLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3Jle2JvdHRvbTowO2JvcmRlci13aWR0aDowIC40cmVtIC40cmVtO2JvcmRlci1ib3R0b20tY29sb3I6IzAwMH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSwuYnMtdG9vbHRpcC1sZWZ0e3BhZGRpbmc6MCAuNHJlbX0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3csLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3d7cmlnaHQ6MDt3aWR0aDouNHJlbTtoZWlnaHQ6LjhyZW19LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93OjpiZWZvcmUsLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3c6OmJlZm9yZXtsZWZ0OjA7Ym9yZGVyLXdpZHRoOi40cmVtIDAgLjRyZW0gLjRyZW07Ym9yZGVyLWxlZnQtY29sb3I6IzAwMH0udG9vbHRpcC1pbm5lcnttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzouMjVyZW0gLjVyZW07Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Ym9yZGVyLXJhZGl1czouMjVyZW19LnBvcG92ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3otaW5kZXg6MTA2MDtkaXNwbGF5OmJsb2NrO21heC13aWR0aDoyNzZweDtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiU2Vnb2UgVUkiLFJvYm90bywiSGVsdmV0aWNhIE5ldWUiLEFyaWFsLCJOb3RvIFNhbnMiLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiLCJTZWdvZSBVSSBTeW1ib2wiLCJOb3RvIENvbG9yIEVtb2ppIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O3RleHQtYWxpZ246bGVmdDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1icmVhazpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt3aGl0ZS1zcGFjZTpub3JtYWw7bGluZS1icmVhazphdXRvO2ZvbnQtc2l6ZTouODc1cmVtO3dvcmQtd3JhcDpicmVhay13b3JkO2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItcmFkaXVzOi4zcmVtfS5wb3BvdmVyIC5hcnJvd3twb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjFyZW07aGVpZ2h0Oi41cmVtO21hcmdpbjowIC4zcmVtfS5wb3BvdmVyIC5hcnJvdzo6YWZ0ZXIsLnBvcG92ZXIgLmFycm93OjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztjb250ZW50OiIiO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6c29saWR9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSwuYnMtcG9wb3Zlci10b3B7bWFyZ2luLWJvdHRvbTouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj10b3BdPi5hcnJvdywuYnMtcG9wb3Zlci10b3A+LmFycm93e2JvdHRvbTpjYWxjKC0uNXJlbSAtIDFweCl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXT4uYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci10b3A+LmFycm93OjpiZWZvcmV7Ym90dG9tOjA7Ym9yZGVyLXdpZHRoOi41cmVtIC41cmVtIDA7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXT4uYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLXRvcD4uYXJyb3c6OmFmdGVye2JvdHRvbToxcHg7Ym9yZGVyLXdpZHRoOi41cmVtIC41cmVtIDA7Ym9yZGVyLXRvcC1jb2xvcjojZmZmfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSwuYnMtcG9wb3Zlci1yaWdodHttYXJnaW4tbGVmdDouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0+LmFycm93LC5icy1wb3BvdmVyLXJpZ2h0Pi5hcnJvd3tsZWZ0OmNhbGMoLS41cmVtIC0gMXB4KTt3aWR0aDouNXJlbTtoZWlnaHQ6MXJlbTttYXJnaW46LjNyZW0gMH0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0+LmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItcmlnaHQ+LmFycm93OjpiZWZvcmV7bGVmdDowO2JvcmRlci13aWR0aDouNXJlbSAuNXJlbSAuNXJlbSAwO2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdPi5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItcmlnaHQ+LmFycm93OjphZnRlcntsZWZ0OjFweDtib3JkZXItd2lkdGg6LjVyZW0gLjVyZW0gLjVyZW0gMDtib3JkZXItcmlnaHQtY29sb3I6I2ZmZn0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dLC5icy1wb3BvdmVyLWJvdHRvbXttYXJnaW4tdG9wOi41cmVtfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0+LmFycm93LC5icy1wb3BvdmVyLWJvdHRvbT4uYXJyb3d7dG9wOmNhbGMoLS41cmVtIC0gMXB4KX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dPi5hcnJvdzo6YmVmb3JlLC5icy1wb3BvdmVyLWJvdHRvbT4uYXJyb3c6OmJlZm9yZXt0b3A6MDtib3JkZXItd2lkdGg6MCAuNXJlbSAuNXJlbSAuNXJlbTtib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMCwwLDAsLjI1KX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dPi5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItYm90dG9tPi5hcnJvdzo6YWZ0ZXJ7dG9wOjFweDtib3JkZXItd2lkdGg6MCAuNXJlbSAuNXJlbSAuNXJlbTtib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAucG9wb3Zlci1oZWFkZXI6OmJlZm9yZSwuYnMtcG9wb3Zlci1ib3R0b20gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDo1MCU7ZGlzcGxheTpibG9jazt3aWR0aDoxcmVtO21hcmdpbi1sZWZ0Oi0uNXJlbTtjb250ZW50OiIiO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNmN2Y3Zjd9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0sLmJzLXBvcG92ZXItbGVmdHttYXJnaW4tcmlnaHQ6LjVyZW19LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0+LmFycm93LC5icy1wb3BvdmVyLWxlZnQ+LmFycm93e3JpZ2h0OmNhbGMoLS41cmVtIC0gMXB4KTt3aWR0aDouNXJlbTtoZWlnaHQ6MXJlbTttYXJnaW46LjNyZW0gMH0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XT4uYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci1sZWZ0Pi5hcnJvdzo6YmVmb3Jle3JpZ2h0OjA7Ym9yZGVyLXdpZHRoOi41cmVtIDAgLjVyZW0gLjVyZW07Ym9yZGVyLWxlZnQtY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdPi5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItbGVmdD4uYXJyb3c6OmFmdGVye3JpZ2h0OjFweDtib3JkZXItd2lkdGg6LjVyZW0gMCAuNXJlbSAuNXJlbTtib3JkZXItbGVmdC1jb2xvcjojZmZmfS5wb3BvdmVyLWhlYWRlcntwYWRkaW5nOi41cmVtIC43NXJlbTttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjFyZW07YmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlYmViZWI7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKC4zcmVtIC0gMXB4KX0ucG9wb3Zlci1oZWFkZXI6ZW1wdHl7ZGlzcGxheTpub25lfS5wb3BvdmVyLWJvZHl7cGFkZGluZzouNXJlbSAuNzVyZW07Y29sb3I6IzIxMjUyOX0uY2Fyb3VzZWx7cG9zaXRpb246cmVsYXRpdmV9LmNhcm91c2VsLnBvaW50ZXItZXZlbnR7LW1zLXRvdWNoLWFjdGlvbjpwYW4teTt0b3VjaC1hY3Rpb246cGFuLXl9LmNhcm91c2VsLWlubmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS5jYXJvdXNlbC1pbm5lcjo6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjbGVhcjpib3RoO2NvbnRlbnQ6IiJ9LmNhcm91c2VsLWl0ZW17cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpub25lO2Zsb2F0OmxlZnQ7d2lkdGg6MTAwJTttYXJnaW4tcmlnaHQ6LTEwMCU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0LC13ZWJraXQtdHJhbnNmb3JtIC42cyBlYXNlLWluLW91dH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuY2Fyb3VzZWwtaXRlbXt0cmFuc2l0aW9uOm5vbmV9fS5jYXJvdXNlbC1pdGVtLW5leHQsLmNhcm91c2VsLWl0ZW0tcHJldiwuY2Fyb3VzZWwtaXRlbS5hY3RpdmV7ZGlzcGxheTpibG9ja30uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQsLmNhcm91c2VsLWl0ZW0tbmV4dDpub3QoLmNhcm91c2VsLWl0ZW0tbGVmdCl7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX0uYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCwuY2Fyb3VzZWwtaXRlbS1wcmV2Om5vdCguY2Fyb3VzZWwtaXRlbS1yaWdodCl7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfS5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVte29wYWNpdHk6MDt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX0uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCwuY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1wcmV2LmNhcm91c2VsLWl0ZW0tcmlnaHQsLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0uYWN0aXZle3otaW5kZXg6MTtvcGFjaXR5OjF9LmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0e3otaW5kZXg6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IDBzIC42c31AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tbGVmdCwuY2Fyb3VzZWwtZmFkZSAuYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHR7dHJhbnNpdGlvbjpub25lfX0uY2Fyb3VzZWwtY29udHJvbC1uZXh0LC5jYXJvdXNlbC1jb250cm9sLXByZXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7ei1pbmRleDoxO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNSU7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtvcGFjaXR5Oi41O3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGVhc2V9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmNhcm91c2VsLWNvbnRyb2wtbmV4dCwuY2Fyb3VzZWwtY29udHJvbC1wcmV2e3RyYW5zaXRpb246bm9uZX19LmNhcm91c2VsLWNvbnRyb2wtbmV4dDpmb2N1cywuY2Fyb3VzZWwtY29udHJvbC1uZXh0OmhvdmVyLC5jYXJvdXNlbC1jb250cm9sLXByZXY6Zm9jdXMsLmNhcm91c2VsLWNvbnRyb2wtcHJldjpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO291dGxpbmU6MDtvcGFjaXR5Oi45fS5jYXJvdXNlbC1jb250cm9sLXByZXZ7bGVmdDowfS5jYXJvdXNlbC1jb250cm9sLW5leHR7cmlnaHQ6MH0uY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24sLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7YmFja2dyb3VuZDpuby1yZXBlYXQgNTAlLzEwMCUgMTAwJX0uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNmZmYnIHdpZHRoPSc4JyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjVMNC4yNSA0bDIuNS0yLjVMNS4yNSAweicvJTNlJTNjL3N2ZyUzZSIpfS5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyUyM2ZmZicgd2lkdGg9JzgnIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjVMMy43NSA0bC0yLjUgMi41TDIuNzUgOGw0LTQtNC00eicvJTNlJTNjL3N2ZyUzZSIpfS5jYXJvdXNlbC1pbmRpY2F0b3Jze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6MTU7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MTUlO21hcmdpbi1sZWZ0OjE1JTtsaXN0LXN0eWxlOm5vbmV9LmNhcm91c2VsLWluZGljYXRvcnMgbGl7Ym94LXNpemluZzpjb250ZW50LWJveDstbXMtZmxleDowIDEgYXV0bztmbGV4OjAgMSBhdXRvO3dpZHRoOjMwcHg7aGVpZ2h0OjNweDttYXJnaW4tcmlnaHQ6M3B4O21hcmdpbi1sZWZ0OjNweDt0ZXh0LWluZGVudDotOTk5cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXItdG9wOjEwcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbToxMHB4IHNvbGlkIHRyYW5zcGFyZW50O29wYWNpdHk6LjU7dHJhbnNpdGlvbjpvcGFjaXR5IC42cyBlYXNlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpe3RyYW5zaXRpb246bm9uZX19LmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZXtvcGFjaXR5OjF9LmNhcm91c2VsLWNhcHRpb257cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTUlO2JvdHRvbToyMHB4O2xlZnQ6MTUlO3otaW5kZXg6MTA7cGFkZGluZy10b3A6MjBweDtwYWRkaW5nLWJvdHRvbToyMHB4O2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXJ9QC13ZWJraXQta2V5ZnJhbWVzIHNwaW5uZXItYm9yZGVye3Rvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBzcGlubmVyLWJvcmRlcnt0b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5zcGlubmVyLWJvcmRlcntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoycmVtO2hlaWdodDoycmVtO3ZlcnRpY2FsLWFsaWduOnRleHQtYm90dG9tO2JvcmRlcjouMjVlbSBzb2xpZCBjdXJyZW50Q29sb3I7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NTAlOy13ZWJraXQtYW5pbWF0aW9uOnNwaW5uZXItYm9yZGVyIC43NXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpzcGlubmVyLWJvcmRlciAuNzVzIGxpbmVhciBpbmZpbml0ZX0uc3Bpbm5lci1ib3JkZXItc217d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbTtib3JkZXItd2lkdGg6LjJlbX1ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbm5lci1ncm93ezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX01MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9fUBrZXlmcmFtZXMgc3Bpbm5lci1ncm93ezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX01MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9fS5zcGlubmVyLWdyb3d7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbTt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LWJvdHRvbTtiYWNrZ3JvdW5kLWNvbG9yOmN1cnJlbnRDb2xvcjtib3JkZXItcmFkaXVzOjUwJTtvcGFjaXR5OjA7LXdlYmtpdC1hbmltYXRpb246c3Bpbm5lci1ncm93IC43NXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpzcGlubmVyLWdyb3cgLjc1cyBsaW5lYXIgaW5maW5pdGV9LnNwaW5uZXItZ3Jvdy1zbXt3aWR0aDoxcmVtO2hlaWdodDoxcmVtfS5hbGlnbi1iYXNlbGluZXt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLXRvcHt2ZXJ0aWNhbC1hbGlnbjp0b3AhaW1wb3J0YW50fS5hbGlnbi1taWRkbGV7dmVydGljYWwtYWxpZ246bWlkZGxlIWltcG9ydGFudH0uYWxpZ24tYm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbSFpbXBvcnRhbnR9LmFsaWduLXRleHQtYm90dG9te3ZlcnRpY2FsLWFsaWduOnRleHQtYm90dG9tIWltcG9ydGFudH0uYWxpZ24tdGV4dC10b3B7dmVydGljYWwtYWxpZ246dGV4dC10b3AhaW1wb3J0YW50fS5iZy1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6IzAwN2JmZiFpbXBvcnRhbnR9YS5iZy1wcmltYXJ5OmZvY3VzLGEuYmctcHJpbWFyeTpob3ZlcixidXR0b24uYmctcHJpbWFyeTpmb2N1cyxidXR0b24uYmctcHJpbWFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDYyY2MhaW1wb3J0YW50fS5iZy1zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjojNmM3NTdkIWltcG9ydGFudH1hLmJnLXNlY29uZGFyeTpmb2N1cyxhLmJnLXNlY29uZGFyeTpob3ZlcixidXR0b24uYmctc2Vjb25kYXJ5OmZvY3VzLGJ1dHRvbi5iZy1zZWNvbmRhcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNTQ1YjYyIWltcG9ydGFudH0uYmctc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiMyOGE3NDUhaW1wb3J0YW50fWEuYmctc3VjY2Vzczpmb2N1cyxhLmJnLXN1Y2Nlc3M6aG92ZXIsYnV0dG9uLmJnLXN1Y2Nlc3M6Zm9jdXMsYnV0dG9uLmJnLXN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMWU3ZTM0IWltcG9ydGFudH0uYmctaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiMxN2EyYjghaW1wb3J0YW50fWEuYmctaW5mbzpmb2N1cyxhLmJnLWluZm86aG92ZXIsYnV0dG9uLmJnLWluZm86Zm9jdXMsYnV0dG9uLmJnLWluZm86aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMTE3YThiIWltcG9ydGFudH0uYmctd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmMxMDchaW1wb3J0YW50fWEuYmctd2FybmluZzpmb2N1cyxhLmJnLXdhcm5pbmc6aG92ZXIsYnV0dG9uLmJnLXdhcm5pbmc6Zm9jdXMsYnV0dG9uLmJnLXdhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZDM5ZTAwIWltcG9ydGFudH0uYmctZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2RjMzU0NSFpbXBvcnRhbnR9YS5iZy1kYW5nZXI6Zm9jdXMsYS5iZy1kYW5nZXI6aG92ZXIsYnV0dG9uLmJnLWRhbmdlcjpmb2N1cyxidXR0b24uYmctZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2JkMjEzMCFpbXBvcnRhbnR9LmJnLWxpZ2h0e2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYSFpbXBvcnRhbnR9YS5iZy1saWdodDpmb2N1cyxhLmJnLWxpZ2h0OmhvdmVyLGJ1dHRvbi5iZy1saWdodDpmb2N1cyxidXR0b24uYmctbGlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZGFlMGU1IWltcG9ydGFudH0uYmctZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDAhaW1wb3J0YW50fWEuYmctZGFyazpmb2N1cyxhLmJnLWRhcms6aG92ZXIsYnV0dG9uLmJnLWRhcms6Zm9jdXMsYnV0dG9uLmJnLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMWQyMTI0IWltcG9ydGFudH0uYmctd2hpdGV7YmFja2dyb3VuZC1jb2xvcjojZmZmIWltcG9ydGFudH0uYmctdHJhbnNwYXJlbnR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCFpbXBvcnRhbnR9LmJvcmRlcntib3JkZXI6MXB4IHNvbGlkICNkZWUyZTYhaW1wb3J0YW50fS5ib3JkZXItdG9we2JvcmRlci10b3A6MXB4IHNvbGlkICNkZWUyZTYhaW1wb3J0YW50fS5ib3JkZXItcmlnaHR7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLWJvdHRvbXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLWxlZnR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZWUyZTYhaW1wb3J0YW50fS5ib3JkZXItMHtib3JkZXI6MCFpbXBvcnRhbnR9LmJvcmRlci10b3AtMHtib3JkZXItdG9wOjAhaW1wb3J0YW50fS5ib3JkZXItcmlnaHQtMHtib3JkZXItcmlnaHQ6MCFpbXBvcnRhbnR9LmJvcmRlci1ib3R0b20tMHtib3JkZXItYm90dG9tOjAhaW1wb3J0YW50fS5ib3JkZXItbGVmdC0we2JvcmRlci1sZWZ0OjAhaW1wb3J0YW50fS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6IzAwN2JmZiFpbXBvcnRhbnR9LmJvcmRlci1zZWNvbmRhcnl7Ym9yZGVyLWNvbG9yOiM2Yzc1N2QhaW1wb3J0YW50fS5ib3JkZXItc3VjY2Vzc3tib3JkZXItY29sb3I6IzI4YTc0NSFpbXBvcnRhbnR9LmJvcmRlci1pbmZve2JvcmRlci1jb2xvcjojMTdhMmI4IWltcG9ydGFudH0uYm9yZGVyLXdhcm5pbmd7Ym9yZGVyLWNvbG9yOiNmZmMxMDchaW1wb3J0YW50fS5ib3JkZXItZGFuZ2Vye2JvcmRlci1jb2xvcjojZGMzNTQ1IWltcG9ydGFudH0uYm9yZGVyLWxpZ2h0e2JvcmRlci1jb2xvcjojZjhmOWZhIWltcG9ydGFudH0uYm9yZGVyLWRhcmt7Ym9yZGVyLWNvbG9yOiMzNDNhNDAhaW1wb3J0YW50fS5ib3JkZXItd2hpdGV7Ym9yZGVyLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5yb3VuZGVkLXNte2JvcmRlci1yYWRpdXM6LjJyZW0haW1wb3J0YW50fS5yb3VuZGVke2JvcmRlci1yYWRpdXM6LjI1cmVtIWltcG9ydGFudH0ucm91bmRlZC10b3B7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW0haW1wb3J0YW50O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtcmlnaHR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW0haW1wb3J0YW50fS5yb3VuZGVkLWJvdHRvbXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW0haW1wb3J0YW50O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudH0ucm91bmRlZC1sZWZ0e2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtbGd7Ym9yZGVyLXJhZGl1czouM3JlbSFpbXBvcnRhbnR9LnJvdW5kZWQtY2lyY2xle2JvcmRlci1yYWRpdXM6NTAlIWltcG9ydGFudH0ucm91bmRlZC1waWxse2JvcmRlci1yYWRpdXM6NTByZW0haW1wb3J0YW50fS5yb3VuZGVkLTB7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudH0uY2xlYXJmaXg6OmFmdGVye2Rpc3BsYXk6YmxvY2s7Y2xlYXI6Ym90aDtjb250ZW50OiIifS5kLW5vbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fS5kLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LmQtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmQtdGFibGV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9LmQtdGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH0uZC10YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9LmQtZmxleHtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5kLWlubGluZS1mbGV4e2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmQtc20tbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLXNtLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtc20taW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1zbS1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC1zbS10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC1zbS10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLXNtLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1zbS1mbGV4e2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtc20taW5saW5lLWZsZXh7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmQtbWQtbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLW1kLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtbWQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1tZC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC1tZC10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC1tZC10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLW1kLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1tZC1mbGV4e2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtbWQtaW5saW5lLWZsZXh7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmQtbGctbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLWxnLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtbGctaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1sZy1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC1sZy10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC1sZy10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLWxnLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1sZy1mbGV4e2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtbGctaW5saW5lLWZsZXh7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5kLXhsLW5vbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZC14bC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fS5kLXhsLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LmQteGwtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmQteGwtdGFibGV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9LmQteGwtdGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH0uZC14bC10YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9LmQteGwtZmxleHtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5kLXhsLWlubGluZS1mbGV4e2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH19QG1lZGlhIHByaW50ey5kLXByaW50LW5vbmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uZC1wcmludC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fS5kLXByaW50LWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9LmQtcHJpbnQtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmQtcHJpbnQtdGFibGV7ZGlzcGxheTp0YWJsZSFpbXBvcnRhbnR9LmQtcHJpbnQtdGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH0uZC1wcmludC10YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9LmQtcHJpbnQtZmxleHtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50fS5kLXByaW50LWlubGluZS1mbGV4e2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmlubGluZS1mbGV4IWltcG9ydGFudH19LmVtYmVkLXJlc3BvbnNpdmV7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW59LmVtYmVkLXJlc3BvbnNpdmU6OmJlZm9yZXtkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiJ9LmVtYmVkLXJlc3BvbnNpdmUgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSwuZW1iZWQtcmVzcG9uc2l2ZSBlbWJlZCwuZW1iZWQtcmVzcG9uc2l2ZSBpZnJhbWUsLmVtYmVkLXJlc3BvbnNpdmUgb2JqZWN0LC5lbWJlZC1yZXNwb25zaXZlIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjowfS5lbWJlZC1yZXNwb25zaXZlLTIxYnk5OjpiZWZvcmV7cGFkZGluZy10b3A6NDIuODU3MTQzJX0uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OTo6YmVmb3Jle3BhZGRpbmctdG9wOjU2LjI1JX0uZW1iZWQtcmVzcG9uc2l2ZS00YnkzOjpiZWZvcmV7cGFkZGluZy10b3A6NzUlfS5lbWJlZC1yZXNwb25zaXZlLTFieTE6OmJlZm9yZXtwYWRkaW5nLXRvcDoxMDAlfS5mbGV4LXJvd3stbXMtZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LWNvbHVtbnstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5mbGV4LXJvdy1yZXZlcnNley1tcy1mbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LWNvbHVtbi1yZXZlcnNley1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LXdyYXB7LW1zLWZsZXgtd3JhcDp3cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LmZsZXgtbm93cmFwey1tcy1mbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudH0uZmxleC13cmFwLXJldmVyc2V7LW1zLWZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LWZpbGx7LW1zLWZsZXg6MSAxIGF1dG8haW1wb3J0YW50O2ZsZXg6MSAxIGF1dG8haW1wb3J0YW50fS5mbGV4LWdyb3ctMHstbXMtZmxleC1wb3NpdGl2ZTowIWltcG9ydGFudDtmbGV4LWdyb3c6MCFpbXBvcnRhbnR9LmZsZXgtZ3Jvdy0xey1tcy1mbGV4LXBvc2l0aXZlOjEhaW1wb3J0YW50O2ZsZXgtZ3JvdzoxIWltcG9ydGFudH0uZmxleC1zaHJpbmstMHstbXMtZmxleC1uZWdhdGl2ZTowIWltcG9ydGFudDtmbGV4LXNocmluazowIWltcG9ydGFudH0uZmxleC1zaHJpbmstMXstbXMtZmxleC1uZWdhdGl2ZToxIWltcG9ydGFudDtmbGV4LXNocmluazoxIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXN0YXJ0ey1tcy1mbGV4LXBhY2s6c3RhcnQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWVuZHstbXMtZmxleC1wYWNrOmVuZCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWNlbnRlcnstbXMtZmxleC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1iZXR3ZWVuey1tcy1mbGV4LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5key1tcy1mbGV4LXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXN0YXJ0ey1tcy1mbGV4LWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24taXRlbXMtZW5key1tcy1mbGV4LWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1jZW50ZXJ7LW1zLWZsZXgtYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1iYXNlbGluZXstbXMtZmxleC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zdHJldGNoey1tcy1mbGV4LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXN0YXJ0ey1tcy1mbGV4LWxpbmUtcGFjazpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tY29udGVudC1lbmR7LW1zLWZsZXgtbGluZS1wYWNrOmVuZCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtY2VudGVyey1tcy1mbGV4LWxpbmUtcGFjazpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1iZXR3ZWVuey1tcy1mbGV4LWxpbmUtcGFjazpqdXN0aWZ5IWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWFyb3VuZHstbXMtZmxleC1saW5lLXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXN0cmV0Y2h7LW1zLWZsZXgtbGluZS1wYWNrOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtYXV0b3stbXMtZmxleC1pdGVtLWFsaWduOmF1dG8haW1wb3J0YW50O2FsaWduLXNlbGY6YXV0byFpbXBvcnRhbnR9LmFsaWduLXNlbGYtc3RhcnR7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tc2VsZi1lbmR7LW1zLWZsZXgtaXRlbS1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWNlbnRlcnstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWJhc2VsaW5ley1tcy1mbGV4LWl0ZW0tYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLXNlbGY6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXN0cmV0Y2h7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1zZWxmOnN0cmV0Y2ghaW1wb3J0YW50fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuZmxleC1zbS1yb3d7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudH0uZmxleC1zbS1jb2x1bW57LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uZmxleC1zbS1yb3ctcmV2ZXJzZXstbXMtZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1zbS1jb2x1bW4tcmV2ZXJzZXstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1zbS13cmFwey1tcy1mbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5mbGV4LXNtLW5vd3JhcHstbXMtZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnR9LmZsZXgtc20td3JhcC1yZXZlcnNley1tcy1mbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1zbS1maWxsey1tcy1mbGV4OjEgMSBhdXRvIWltcG9ydGFudDtmbGV4OjEgMSBhdXRvIWltcG9ydGFudH0uZmxleC1zbS1ncm93LTB7LW1zLWZsZXgtcG9zaXRpdmU6MCFpbXBvcnRhbnQ7ZmxleC1ncm93OjAhaW1wb3J0YW50fS5mbGV4LXNtLWdyb3ctMXstbXMtZmxleC1wb3NpdGl2ZToxIWltcG9ydGFudDtmbGV4LWdyb3c6MSFpbXBvcnRhbnR9LmZsZXgtc20tc2hyaW5rLTB7LW1zLWZsZXgtbmVnYXRpdmU6MCFpbXBvcnRhbnQ7ZmxleC1zaHJpbms6MCFpbXBvcnRhbnR9LmZsZXgtc20tc2hyaW5rLTF7LW1zLWZsZXgtbmVnYXRpdmU6MSFpbXBvcnRhbnQ7ZmxleC1zaHJpbms6MSFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1zbS1zdGFydHstbXMtZmxleC1wYWNrOnN0YXJ0IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1zbS1lbmR7LW1zLWZsZXgtcGFjazplbmQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1zbS1jZW50ZXJ7LW1zLWZsZXgtcGFjazpjZW50ZXIhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtc20tYmV0d2VlbnstbXMtZmxleC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLWFyb3VuZHstbXMtZmxleC1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1zdGFydHstbXMtZmxleC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXNtLWVuZHstbXMtZmxleC1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc20tY2VudGVyey1tcy1mbGV4LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc20tYmFzZWxpbmV7LW1zLWZsZXgtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc20tc3RyZXRjaHstbXMtZmxleC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1zdGFydHstbXMtZmxleC1saW5lLXBhY2s6c3RhcnQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc20tZW5key1tcy1mbGV4LWxpbmUtcGFjazplbmQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLWNlbnRlcnstbXMtZmxleC1saW5lLXBhY2s6Y2VudGVyIWltcG9ydGFudDthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc20tYmV0d2VlbnstbXMtZmxleC1saW5lLXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1hcm91bmR7LW1zLWZsZXgtbGluZS1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1zdHJldGNoey1tcy1mbGV4LWxpbmUtcGFjazpzdHJldGNoIWltcG9ydGFudDthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLWF1dG97LW1zLWZsZXgtaXRlbS1hbGlnbjphdXRvIWltcG9ydGFudDthbGlnbi1zZWxmOmF1dG8haW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLXN0YXJ0ey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtc20tZW5key1tcy1mbGV4LWl0ZW0tYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1jZW50ZXJ7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1iYXNlbGluZXstbXMtZmxleC1pdGVtLWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1zdHJldGNoey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mbGV4LW1kLXJvd3stbXMtZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LW1kLWNvbHVtbnstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5mbGV4LW1kLXJvdy1yZXZlcnNley1tcy1mbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LW1kLWNvbHVtbi1yZXZlcnNley1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LW1kLXdyYXB7LW1zLWZsZXgtd3JhcDp3cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LmZsZXgtbWQtbm93cmFwey1tcy1mbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudH0uZmxleC1tZC13cmFwLXJldmVyc2V7LW1zLWZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LW1kLWZpbGx7LW1zLWZsZXg6MSAxIGF1dG8haW1wb3J0YW50O2ZsZXg6MSAxIGF1dG8haW1wb3J0YW50fS5mbGV4LW1kLWdyb3ctMHstbXMtZmxleC1wb3NpdGl2ZTowIWltcG9ydGFudDtmbGV4LWdyb3c6MCFpbXBvcnRhbnR9LmZsZXgtbWQtZ3Jvdy0xey1tcy1mbGV4LXBvc2l0aXZlOjEhaW1wb3J0YW50O2ZsZXgtZ3JvdzoxIWltcG9ydGFudH0uZmxleC1tZC1zaHJpbmstMHstbXMtZmxleC1uZWdhdGl2ZTowIWltcG9ydGFudDtmbGV4LXNocmluazowIWltcG9ydGFudH0uZmxleC1tZC1zaHJpbmstMXstbXMtZmxleC1uZWdhdGl2ZToxIWltcG9ydGFudDtmbGV4LXNocmluazoxIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LW1kLXN0YXJ0ey1tcy1mbGV4LXBhY2s6c3RhcnQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LW1kLWVuZHstbXMtZmxleC1wYWNrOmVuZCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LW1kLWNlbnRlcnstbXMtZmxleC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1iZXR3ZWVuey1tcy1mbGV4LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbWQtYXJvdW5key1tcy1mbGV4LXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLW1kLXN0YXJ0ey1tcy1mbGV4LWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24taXRlbXMtbWQtZW5key1tcy1mbGV4LWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1tZC1jZW50ZXJ7LW1zLWZsZXgtYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1tZC1iYXNlbGluZXstbXMtZmxleC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1tZC1zdHJldGNoey1tcy1mbGV4LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLXN0YXJ0ey1tcy1mbGV4LWxpbmUtcGFjazpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tY29udGVudC1tZC1lbmR7LW1zLWZsZXgtbGluZS1wYWNrOmVuZCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtY2VudGVyey1tcy1mbGV4LWxpbmUtcGFjazpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1tZC1iZXR3ZWVuey1tcy1mbGV4LWxpbmUtcGFjazpqdXN0aWZ5IWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLWFyb3VuZHstbXMtZmxleC1saW5lLXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLXN0cmV0Y2h7LW1zLWZsZXgtbGluZS1wYWNrOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtYXV0b3stbXMtZmxleC1pdGVtLWFsaWduOmF1dG8haW1wb3J0YW50O2FsaWduLXNlbGY6YXV0byFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtc3RhcnR7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1lbmR7LW1zLWZsZXgtaXRlbS1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLWNlbnRlcnstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLWJhc2VsaW5ley1tcy1mbGV4LWl0ZW0tYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLXNlbGY6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLXN0cmV0Y2h7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1zZWxmOnN0cmV0Y2ghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmZsZXgtbGctcm93ey1tcy1mbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnR9LmZsZXgtbGctY29sdW1uey1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnR9LmZsZXgtbGctcm93LXJldmVyc2V7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbGctY29sdW1uLXJldmVyc2V7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbGctd3JhcHstbXMtZmxleC13cmFwOndyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwIWltcG9ydGFudH0uZmxleC1sZy1ub3dyYXB7LW1zLWZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LWxnLXdyYXAtcmV2ZXJzZXstbXMtZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbGctZmlsbHstbXMtZmxleDoxIDEgYXV0byFpbXBvcnRhbnQ7ZmxleDoxIDEgYXV0byFpbXBvcnRhbnR9LmZsZXgtbGctZ3Jvdy0wey1tcy1mbGV4LXBvc2l0aXZlOjAhaW1wb3J0YW50O2ZsZXgtZ3JvdzowIWltcG9ydGFudH0uZmxleC1sZy1ncm93LTF7LW1zLWZsZXgtcG9zaXRpdmU6MSFpbXBvcnRhbnQ7ZmxleC1ncm93OjEhaW1wb3J0YW50fS5mbGV4LWxnLXNocmluay0wey1tcy1mbGV4LW5lZ2F0aXZlOjAhaW1wb3J0YW50O2ZsZXgtc2hyaW5rOjAhaW1wb3J0YW50fS5mbGV4LWxnLXNocmluay0xey1tcy1mbGV4LW5lZ2F0aXZlOjEhaW1wb3J0YW50O2ZsZXgtc2hyaW5rOjEhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctc3RhcnR7LW1zLWZsZXgtcGFjazpzdGFydCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctZW5key1tcy1mbGV4LXBhY2s6ZW5kIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctY2VudGVyey1tcy1mbGV4LXBhY2s6Y2VudGVyIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWxnLWJldHdlZW57LW1zLWZsZXgtcGFjazpqdXN0aWZ5IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1sZy1hcm91bmR7LW1zLWZsZXgtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbGctc3RhcnR7LW1zLWZsZXgtYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1sZy1lbmR7LW1zLWZsZXgtYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLWNlbnRlcnstbXMtZmxleC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLWJhc2VsaW5ley1tcy1mbGV4LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1pdGVtczpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLXN0cmV0Y2h7LW1zLWZsZXgtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctc3RhcnR7LW1zLWZsZXgtbGluZS1wYWNrOnN0YXJ0IWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLWVuZHstbXMtZmxleC1saW5lLXBhY2s6ZW5kIWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1sZy1jZW50ZXJ7LW1zLWZsZXgtbGluZS1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLWJldHdlZW57LW1zLWZsZXgtbGluZS1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctYXJvdW5key1tcy1mbGV4LWxpbmUtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctc3RyZXRjaHstbXMtZmxleC1saW5lLXBhY2s6c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tc2VsZi1sZy1hdXRvey1tcy1mbGV4LWl0ZW0tYWxpZ246YXV0byFpbXBvcnRhbnQ7YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi1sZy1zdGFydHstbXMtZmxleC1pdGVtLWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLWVuZHstbXMtZmxleC1pdGVtLWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbGctY2VudGVyey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1zZWxmOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbGctYmFzZWxpbmV7LW1zLWZsZXgtaXRlbS1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbGctc3RyZXRjaHstbXMtZmxleC1pdGVtLWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmZsZXgteGwtcm93ey1tcy1mbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnR9LmZsZXgteGwtY29sdW1uey1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnR9LmZsZXgteGwtcm93LXJldmVyc2V7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgteGwtY29sdW1uLXJldmVyc2V7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgteGwtd3JhcHstbXMtZmxleC13cmFwOndyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwIWltcG9ydGFudH0uZmxleC14bC1ub3dyYXB7LW1zLWZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LXhsLXdyYXAtcmV2ZXJzZXstbXMtZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgteGwtZmlsbHstbXMtZmxleDoxIDEgYXV0byFpbXBvcnRhbnQ7ZmxleDoxIDEgYXV0byFpbXBvcnRhbnR9LmZsZXgteGwtZ3Jvdy0wey1tcy1mbGV4LXBvc2l0aXZlOjAhaW1wb3J0YW50O2ZsZXgtZ3JvdzowIWltcG9ydGFudH0uZmxleC14bC1ncm93LTF7LW1zLWZsZXgtcG9zaXRpdmU6MSFpbXBvcnRhbnQ7ZmxleC1ncm93OjEhaW1wb3J0YW50fS5mbGV4LXhsLXNocmluay0wey1tcy1mbGV4LW5lZ2F0aXZlOjAhaW1wb3J0YW50O2ZsZXgtc2hyaW5rOjAhaW1wb3J0YW50fS5mbGV4LXhsLXNocmluay0xey1tcy1mbGV4LW5lZ2F0aXZlOjEhaW1wb3J0YW50O2ZsZXgtc2hyaW5rOjEhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQteGwtc3RhcnR7LW1zLWZsZXgtcGFjazpzdGFydCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQteGwtZW5key1tcy1mbGV4LXBhY2s6ZW5kIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQteGwtY2VudGVyey1tcy1mbGV4LXBhY2s6Y2VudGVyIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXhsLWJldHdlZW57LW1zLWZsZXgtcGFjazpqdXN0aWZ5IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1hcm91bmR7LW1zLWZsZXgtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtc3RhcnR7LW1zLWZsZXgtYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy14bC1lbmR7LW1zLWZsZXgtYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXhsLWNlbnRlcnstbXMtZmxleC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXhsLWJhc2VsaW5ley1tcy1mbGV4LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1pdGVtczpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXhsLXN0cmV0Y2h7LW1zLWZsZXgtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtc3RhcnR7LW1zLWZsZXgtbGluZS1wYWNrOnN0YXJ0IWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXhsLWVuZHstbXMtZmxleC1saW5lLXBhY2s6ZW5kIWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1jZW50ZXJ7LW1zLWZsZXgtbGluZS1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXhsLWJldHdlZW57LW1zLWZsZXgtbGluZS1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtYXJvdW5key1tcy1mbGV4LWxpbmUtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtc3RyZXRjaHstbXMtZmxleC1saW5lLXBhY2s6c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1hdXRvey1tcy1mbGV4LWl0ZW0tYWxpZ246YXV0byFpbXBvcnRhbnQ7YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1zdGFydHstbXMtZmxleC1pdGVtLWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXhsLWVuZHstbXMtZmxleC1pdGVtLWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtY2VudGVyey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1zZWxmOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtYmFzZWxpbmV7LW1zLWZsZXgtaXRlbS1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtc3RyZXRjaHstbXMtZmxleC1pdGVtLWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9fS5mbG9hdC1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5mbG9hdC1zbS1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC1zbS1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LXNtLW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZmxvYXQtbWQtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uZmxvYXQtbWQtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5mbG9hdC1tZC1ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmZsb2F0LWxnLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LmZsb2F0LWxnLXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH0uZmxvYXQtbGctbm9uZXtmbG9hdDpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuZmxvYXQteGwtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uZmxvYXQteGwtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5mbG9hdC14bC1ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fX0udXNlci1zZWxlY3QtYWxsey13ZWJraXQtdXNlci1zZWxlY3Q6YWxsIWltcG9ydGFudDstbW96LXVzZXItc2VsZWN0OmFsbCFpbXBvcnRhbnQ7LW1zLXVzZXItc2VsZWN0OmFsbCFpbXBvcnRhbnQ7dXNlci1zZWxlY3Q6YWxsIWltcG9ydGFudH0udXNlci1zZWxlY3QtYXV0b3std2Via2l0LXVzZXItc2VsZWN0OmF1dG8haW1wb3J0YW50Oy1tb3otdXNlci1zZWxlY3Q6YXV0byFpbXBvcnRhbnQ7LW1zLXVzZXItc2VsZWN0OmF1dG8haW1wb3J0YW50O3VzZXItc2VsZWN0OmF1dG8haW1wb3J0YW50fS51c2VyLXNlbGVjdC1ub25ley13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZSFpbXBvcnRhbnQ7LW1vei11c2VyLXNlbGVjdDpub25lIWltcG9ydGFudDstbXMtdXNlci1zZWxlY3Q6bm9uZSFpbXBvcnRhbnQ7dXNlci1zZWxlY3Q6bm9uZSFpbXBvcnRhbnR9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0byFpbXBvcnRhbnR9Lm92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50fS5wb3NpdGlvbi1zdGF0aWN7cG9zaXRpb246c3RhdGljIWltcG9ydGFudH0ucG9zaXRpb24tcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmUhaW1wb3J0YW50fS5wb3NpdGlvbi1hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnR9LnBvc2l0aW9uLWZpeGVke3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudH0ucG9zaXRpb24tc3RpY2t5e3Bvc2l0aW9uOi13ZWJraXQtc3RpY2t5IWltcG9ydGFudDtwb3NpdGlvbjpzdGlja3khaW1wb3J0YW50fS5maXhlZC10b3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtsZWZ0OjA7ei1pbmRleDoxMDMwfS5maXhlZC1ib3R0b217cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxMDMwfUBzdXBwb3J0cyAoKHBvc2l0aW9uOi13ZWJraXQtc3RpY2t5KSBvciAocG9zaXRpb246c3RpY2t5KSl7LnN0aWNreS10b3B7cG9zaXRpb246LXdlYmtpdC1zdGlja3k7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6MTAyMH19LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlcjowfS5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsLnNyLW9ubHktZm9jdXNhYmxlOmZvY3Vze3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvO2hlaWdodDphdXRvO292ZXJmbG93OnZpc2libGU7Y2xpcDphdXRvO3doaXRlLXNwYWNlOm5vcm1hbH0uc2hhZG93LXNte2JveC1zaGFkb3c6MCAuMTI1cmVtIC4yNXJlbSByZ2JhKDAsMCwwLC4wNzUpIWltcG9ydGFudH0uc2hhZG93e2JveC1zaGFkb3c6MCAuNXJlbSAxcmVtIHJnYmEoMCwwLDAsLjE1KSFpbXBvcnRhbnR9LnNoYWRvdy1sZ3tib3gtc2hhZG93OjAgMXJlbSAzcmVtIHJnYmEoMCwwLDAsLjE3NSkhaW1wb3J0YW50fS5zaGFkb3ctbm9uZXtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fS53LTI1e3dpZHRoOjI1JSFpbXBvcnRhbnR9LnctNTB7d2lkdGg6NTAlIWltcG9ydGFudH0udy03NXt3aWR0aDo3NSUhaW1wb3J0YW50fS53LTEwMHt3aWR0aDoxMDAlIWltcG9ydGFudH0udy1hdXRve3dpZHRoOmF1dG8haW1wb3J0YW50fS5oLTI1e2hlaWdodDoyNSUhaW1wb3J0YW50fS5oLTUwe2hlaWdodDo1MCUhaW1wb3J0YW50fS5oLTc1e2hlaWdodDo3NSUhaW1wb3J0YW50fS5oLTEwMHtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9LmgtYXV0b3toZWlnaHQ6YXV0byFpbXBvcnRhbnR9Lm13LTEwMHttYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnR9Lm1oLTEwMHttYXgtaGVpZ2h0OjEwMCUhaW1wb3J0YW50fS5taW4tdnctMTAwe21pbi13aWR0aDoxMDB2dyFpbXBvcnRhbnR9Lm1pbi12aC0xMDB7bWluLWhlaWdodDoxMDB2aCFpbXBvcnRhbnR9LnZ3LTEwMHt3aWR0aDoxMDB2dyFpbXBvcnRhbnR9LnZoLTEwMHtoZWlnaHQ6MTAwdmghaW1wb3J0YW50fS5tLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC0wLC5teS0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLTAsLm14LTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi0wLC5teS0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLTAsLm14LTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0tMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQtMSwubXktMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLTEsLm14LTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLTEsLm15LTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC0xLC5teC0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0tMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC0yLC5teS0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci0yLC5teC0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLTIsLm15LTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLTIsLm14LTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC0zLC5teS0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLTMsLm14LTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi0zLC5teS0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLTMsLm14LTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0tNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQtNCwubXktNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLTQsLm14LTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLTQsLm15LTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC00LC5teC00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0tNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LTUsLm15LTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXItNSwubXgtNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLTUsLm15LTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwtNSwubXgtNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LTAsLnB5LTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLTAsLnB4LTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItMCwucHktMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtMCwucHgtMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LTEsLnB5LTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItMSwucHgtMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLTEsLnB5LTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtMSwucHgtMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC0yLC5weS0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItMiwucHgtMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItMiwucHktMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLTIsLnB4LTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LTMsLnB5LTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLTMsLnB4LTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItMywucHktM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtMywucHgtM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LTQsLnB5LTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItNCwucHgtNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLTQsLnB5LTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtNCwucHgtNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LTUsLnB5LTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLTUsLnB4LTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItNSwucHktNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtNSwucHgtNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0tbjF7bWFyZ2luOi0uMjVyZW0haW1wb3J0YW50fS5tdC1uMSwubXktbjF7bWFyZ2luLXRvcDotLjI1cmVtIWltcG9ydGFudH0ubXItbjEsLm14LW4xe21hcmdpbi1yaWdodDotLjI1cmVtIWltcG9ydGFudH0ubWItbjEsLm15LW4xe21hcmdpbi1ib3R0b206LS4yNXJlbSFpbXBvcnRhbnR9Lm1sLW4xLC5teC1uMXttYXJnaW4tbGVmdDotLjI1cmVtIWltcG9ydGFudH0ubS1uMnttYXJnaW46LS41cmVtIWltcG9ydGFudH0ubXQtbjIsLm15LW4ye21hcmdpbi10b3A6LS41cmVtIWltcG9ydGFudH0ubXItbjIsLm14LW4ye21hcmdpbi1yaWdodDotLjVyZW0haW1wb3J0YW50fS5tYi1uMiwubXktbjJ7bWFyZ2luLWJvdHRvbTotLjVyZW0haW1wb3J0YW50fS5tbC1uMiwubXgtbjJ7bWFyZ2luLWxlZnQ6LS41cmVtIWltcG9ydGFudH0ubS1uM3ttYXJnaW46LTFyZW0haW1wb3J0YW50fS5tdC1uMywubXktbjN7bWFyZ2luLXRvcDotMXJlbSFpbXBvcnRhbnR9Lm1yLW4zLC5teC1uM3ttYXJnaW4tcmlnaHQ6LTFyZW0haW1wb3J0YW50fS5tYi1uMywubXktbjN7bWFyZ2luLWJvdHRvbTotMXJlbSFpbXBvcnRhbnR9Lm1sLW4zLC5teC1uM3ttYXJnaW4tbGVmdDotMXJlbSFpbXBvcnRhbnR9Lm0tbjR7bWFyZ2luOi0xLjVyZW0haW1wb3J0YW50fS5tdC1uNCwubXktbjR7bWFyZ2luLXRvcDotMS41cmVtIWltcG9ydGFudH0ubXItbjQsLm14LW40e21hcmdpbi1yaWdodDotMS41cmVtIWltcG9ydGFudH0ubWItbjQsLm15LW40e21hcmdpbi1ib3R0b206LTEuNXJlbSFpbXBvcnRhbnR9Lm1sLW40LC5teC1uNHttYXJnaW4tbGVmdDotMS41cmVtIWltcG9ydGFudH0ubS1uNXttYXJnaW46LTNyZW0haW1wb3J0YW50fS5tdC1uNSwubXktbjV7bWFyZ2luLXRvcDotM3JlbSFpbXBvcnRhbnR9Lm1yLW41LC5teC1uNXttYXJnaW4tcmlnaHQ6LTNyZW0haW1wb3J0YW50fS5tYi1uNSwubXktbjV7bWFyZ2luLWJvdHRvbTotM3JlbSFpbXBvcnRhbnR9Lm1sLW41LC5teC1uNXttYXJnaW4tbGVmdDotM3JlbSFpbXBvcnRhbnR9Lm0tYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LWF1dG8sLm15LWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXItYXV0bywubXgtYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLWF1dG8sLm15LWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwtYXV0bywubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm0tc20tMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LXNtLTAsLm15LXNtLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItc20tMCwubXgtc20tMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLXNtLTAsLm15LXNtLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtc20tMCwubXgtc20tMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1zbS0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1zbS0xLC5teS1zbS0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItc20tMSwubXgtc20tMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItc20tMSwubXktc20tMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTEsLm14LXNtLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1zbS0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LXNtLTIsLm15LXNtLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLXNtLTIsLm14LXNtLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItc20tMiwubXktc20tMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtc20tMiwubXgtc20tMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tc20tM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LXNtLTMsLm15LXNtLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItc20tMywubXgtc20tM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLXNtLTMsLm15LXNtLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtc20tMywubXgtc20tM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1zbS00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1zbS00LC5teS1zbS00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItc20tNCwubXgtc20tNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItc20tNCwubXktc20tNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTQsLm14LXNtLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1zbS01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtc20tNSwubXktc20tNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1zbS01LC5teC1zbS01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItc20tNSwubXktc20tNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1zbS01LC5teC1zbS01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5wLXNtLTB7cGFkZGluZzowIWltcG9ydGFudH0ucHQtc20tMCwucHktc20tMHtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ucHItc20tMCwucHgtc20tMHtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5wYi1zbS0wLC5weS1zbS0we3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5wbC1zbS0wLC5weC1zbS0we3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0ucC1zbS0xe3BhZGRpbmc6LjI1cmVtIWltcG9ydGFudH0ucHQtc20tMSwucHktc20tMXtwYWRkaW5nLXRvcDouMjVyZW0haW1wb3J0YW50fS5wci1zbS0xLC5weC1zbS0xe3BhZGRpbmctcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ucGItc20tMSwucHktc20tMXtwYWRkaW5nLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5wbC1zbS0xLC5weC1zbS0xe3BhZGRpbmctbGVmdDouMjVyZW0haW1wb3J0YW50fS5wLXNtLTJ7cGFkZGluZzouNXJlbSFpbXBvcnRhbnR9LnB0LXNtLTIsLnB5LXNtLTJ7cGFkZGluZy10b3A6LjVyZW0haW1wb3J0YW50fS5wci1zbS0yLC5weC1zbS0ye3BhZGRpbmctcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5wYi1zbS0yLC5weS1zbS0ye3BhZGRpbmctYm90dG9tOi41cmVtIWltcG9ydGFudH0ucGwtc20tMiwucHgtc20tMntwYWRkaW5nLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5wLXNtLTN7cGFkZGluZzoxcmVtIWltcG9ydGFudH0ucHQtc20tMywucHktc20tM3twYWRkaW5nLXRvcDoxcmVtIWltcG9ydGFudH0ucHItc20tMywucHgtc20tM3twYWRkaW5nLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5wYi1zbS0zLC5weS1zbS0ze3BhZGRpbmctYm90dG9tOjFyZW0haW1wb3J0YW50fS5wbC1zbS0zLC5weC1zbS0ze3BhZGRpbmctbGVmdDoxcmVtIWltcG9ydGFudH0ucC1zbS00e3BhZGRpbmc6MS41cmVtIWltcG9ydGFudH0ucHQtc20tNCwucHktc20tNHtwYWRkaW5nLXRvcDoxLjVyZW0haW1wb3J0YW50fS5wci1zbS00LC5weC1zbS00e3BhZGRpbmctcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ucGItc20tNCwucHktc20tNHtwYWRkaW5nLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5wbC1zbS00LC5weC1zbS00e3BhZGRpbmctbGVmdDoxLjVyZW0haW1wb3J0YW50fS5wLXNtLTV7cGFkZGluZzozcmVtIWltcG9ydGFudH0ucHQtc20tNSwucHktc20tNXtwYWRkaW5nLXRvcDozcmVtIWltcG9ydGFudH0ucHItc20tNSwucHgtc20tNXtwYWRkaW5nLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5wYi1zbS01LC5weS1zbS01e3BhZGRpbmctYm90dG9tOjNyZW0haW1wb3J0YW50fS5wbC1zbS01LC5weC1zbS01e3BhZGRpbmctbGVmdDozcmVtIWltcG9ydGFudH0ubS1zbS1uMXttYXJnaW46LS4yNXJlbSFpbXBvcnRhbnR9Lm10LXNtLW4xLC5teS1zbS1uMXttYXJnaW4tdG9wOi0uMjVyZW0haW1wb3J0YW50fS5tci1zbS1uMSwubXgtc20tbjF7bWFyZ2luLXJpZ2h0Oi0uMjVyZW0haW1wb3J0YW50fS5tYi1zbS1uMSwubXktc20tbjF7bWFyZ2luLWJvdHRvbTotLjI1cmVtIWltcG9ydGFudH0ubWwtc20tbjEsLm14LXNtLW4xe21hcmdpbi1sZWZ0Oi0uMjVyZW0haW1wb3J0YW50fS5tLXNtLW4ye21hcmdpbjotLjVyZW0haW1wb3J0YW50fS5tdC1zbS1uMiwubXktc20tbjJ7bWFyZ2luLXRvcDotLjVyZW0haW1wb3J0YW50fS5tci1zbS1uMiwubXgtc20tbjJ7bWFyZ2luLXJpZ2h0Oi0uNXJlbSFpbXBvcnRhbnR9Lm1iLXNtLW4yLC5teS1zbS1uMnttYXJnaW4tYm90dG9tOi0uNXJlbSFpbXBvcnRhbnR9Lm1sLXNtLW4yLC5teC1zbS1uMnttYXJnaW4tbGVmdDotLjVyZW0haW1wb3J0YW50fS5tLXNtLW4ze21hcmdpbjotMXJlbSFpbXBvcnRhbnR9Lm10LXNtLW4zLC5teS1zbS1uM3ttYXJnaW4tdG9wOi0xcmVtIWltcG9ydGFudH0ubXItc20tbjMsLm14LXNtLW4ze21hcmdpbi1yaWdodDotMXJlbSFpbXBvcnRhbnR9Lm1iLXNtLW4zLC5teS1zbS1uM3ttYXJnaW4tYm90dG9tOi0xcmVtIWltcG9ydGFudH0ubWwtc20tbjMsLm14LXNtLW4ze21hcmdpbi1sZWZ0Oi0xcmVtIWltcG9ydGFudH0ubS1zbS1uNHttYXJnaW46LTEuNXJlbSFpbXBvcnRhbnR9Lm10LXNtLW40LC5teS1zbS1uNHttYXJnaW4tdG9wOi0xLjVyZW0haW1wb3J0YW50fS5tci1zbS1uNCwubXgtc20tbjR7bWFyZ2luLXJpZ2h0Oi0xLjVyZW0haW1wb3J0YW50fS5tYi1zbS1uNCwubXktc20tbjR7bWFyZ2luLWJvdHRvbTotMS41cmVtIWltcG9ydGFudH0ubWwtc20tbjQsLm14LXNtLW40e21hcmdpbi1sZWZ0Oi0xLjVyZW0haW1wb3J0YW50fS5tLXNtLW41e21hcmdpbjotM3JlbSFpbXBvcnRhbnR9Lm10LXNtLW41LC5teS1zbS1uNXttYXJnaW4tdG9wOi0zcmVtIWltcG9ydGFudH0ubXItc20tbjUsLm14LXNtLW41e21hcmdpbi1yaWdodDotM3JlbSFpbXBvcnRhbnR9Lm1iLXNtLW41LC5teS1zbS1uNXttYXJnaW4tYm90dG9tOi0zcmVtIWltcG9ydGFudH0ubWwtc20tbjUsLm14LXNtLW41e21hcmdpbi1sZWZ0Oi0zcmVtIWltcG9ydGFudH0ubS1zbS1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtc20tYXV0bywubXktc20tYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1zbS1hdXRvLC5teC1zbS1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItc20tYXV0bywubXktc20tYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1zbS1hdXRvLC5teC1zbS1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm0tbWQtMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LW1kLTAsLm15LW1kLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItbWQtMCwubXgtbWQtMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLW1kLTAsLm15LW1kLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtbWQtMCwubXgtbWQtMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1tZC0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1tZC0xLC5teS1tZC0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItbWQtMSwubXgtbWQtMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItbWQtMSwubXktbWQtMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTEsLm14LW1kLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1tZC0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LW1kLTIsLm15LW1kLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLW1kLTIsLm14LW1kLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItbWQtMiwubXktbWQtMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtbWQtMiwubXgtbWQtMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tbWQtM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LW1kLTMsLm15LW1kLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItbWQtMywubXgtbWQtM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLW1kLTMsLm15LW1kLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtbWQtMywubXgtbWQtM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1tZC00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1tZC00LC5teS1tZC00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItbWQtNCwubXgtbWQtNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItbWQtNCwubXktbWQtNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTQsLm14LW1kLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1tZC01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtbWQtNSwubXktbWQtNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1tZC01LC5teC1tZC01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItbWQtNSwubXktbWQtNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1tZC01LC5teC1tZC01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5wLW1kLTB7cGFkZGluZzowIWltcG9ydGFudH0ucHQtbWQtMCwucHktbWQtMHtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ucHItbWQtMCwucHgtbWQtMHtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5wYi1tZC0wLC5weS1tZC0we3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5wbC1tZC0wLC5weC1tZC0we3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0ucC1tZC0xe3BhZGRpbmc6LjI1cmVtIWltcG9ydGFudH0ucHQtbWQtMSwucHktbWQtMXtwYWRkaW5nLXRvcDouMjVyZW0haW1wb3J0YW50fS5wci1tZC0xLC5weC1tZC0xe3BhZGRpbmctcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ucGItbWQtMSwucHktbWQtMXtwYWRkaW5nLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5wbC1tZC0xLC5weC1tZC0xe3BhZGRpbmctbGVmdDouMjVyZW0haW1wb3J0YW50fS5wLW1kLTJ7cGFkZGluZzouNXJlbSFpbXBvcnRhbnR9LnB0LW1kLTIsLnB5LW1kLTJ7cGFkZGluZy10b3A6LjVyZW0haW1wb3J0YW50fS5wci1tZC0yLC5weC1tZC0ye3BhZGRpbmctcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5wYi1tZC0yLC5weS1tZC0ye3BhZGRpbmctYm90dG9tOi41cmVtIWltcG9ydGFudH0ucGwtbWQtMiwucHgtbWQtMntwYWRkaW5nLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5wLW1kLTN7cGFkZGluZzoxcmVtIWltcG9ydGFudH0ucHQtbWQtMywucHktbWQtM3twYWRkaW5nLXRvcDoxcmVtIWltcG9ydGFudH0ucHItbWQtMywucHgtbWQtM3twYWRkaW5nLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5wYi1tZC0zLC5weS1tZC0ze3BhZGRpbmctYm90dG9tOjFyZW0haW1wb3J0YW50fS5wbC1tZC0zLC5weC1tZC0ze3BhZGRpbmctbGVmdDoxcmVtIWltcG9ydGFudH0ucC1tZC00e3BhZGRpbmc6MS41cmVtIWltcG9ydGFudH0ucHQtbWQtNCwucHktbWQtNHtwYWRkaW5nLXRvcDoxLjVyZW0haW1wb3J0YW50fS5wci1tZC00LC5weC1tZC00e3BhZGRpbmctcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ucGItbWQtNCwucHktbWQtNHtwYWRkaW5nLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5wbC1tZC00LC5weC1tZC00e3BhZGRpbmctbGVmdDoxLjVyZW0haW1wb3J0YW50fS5wLW1kLTV7cGFkZGluZzozcmVtIWltcG9ydGFudH0ucHQtbWQtNSwucHktbWQtNXtwYWRkaW5nLXRvcDozcmVtIWltcG9ydGFudH0ucHItbWQtNSwucHgtbWQtNXtwYWRkaW5nLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5wYi1tZC01LC5weS1tZC01e3BhZGRpbmctYm90dG9tOjNyZW0haW1wb3J0YW50fS5wbC1tZC01LC5weC1tZC01e3BhZGRpbmctbGVmdDozcmVtIWltcG9ydGFudH0ubS1tZC1uMXttYXJnaW46LS4yNXJlbSFpbXBvcnRhbnR9Lm10LW1kLW4xLC5teS1tZC1uMXttYXJnaW4tdG9wOi0uMjVyZW0haW1wb3J0YW50fS5tci1tZC1uMSwubXgtbWQtbjF7bWFyZ2luLXJpZ2h0Oi0uMjVyZW0haW1wb3J0YW50fS5tYi1tZC1uMSwubXktbWQtbjF7bWFyZ2luLWJvdHRvbTotLjI1cmVtIWltcG9ydGFudH0ubWwtbWQtbjEsLm14LW1kLW4xe21hcmdpbi1sZWZ0Oi0uMjVyZW0haW1wb3J0YW50fS5tLW1kLW4ye21hcmdpbjotLjVyZW0haW1wb3J0YW50fS5tdC1tZC1uMiwubXktbWQtbjJ7bWFyZ2luLXRvcDotLjVyZW0haW1wb3J0YW50fS5tci1tZC1uMiwubXgtbWQtbjJ7bWFyZ2luLXJpZ2h0Oi0uNXJlbSFpbXBvcnRhbnR9Lm1iLW1kLW4yLC5teS1tZC1uMnttYXJnaW4tYm90dG9tOi0uNXJlbSFpbXBvcnRhbnR9Lm1sLW1kLW4yLC5teC1tZC1uMnttYXJnaW4tbGVmdDotLjVyZW0haW1wb3J0YW50fS5tLW1kLW4ze21hcmdpbjotMXJlbSFpbXBvcnRhbnR9Lm10LW1kLW4zLC5teS1tZC1uM3ttYXJnaW4tdG9wOi0xcmVtIWltcG9ydGFudH0ubXItbWQtbjMsLm14LW1kLW4ze21hcmdpbi1yaWdodDotMXJlbSFpbXBvcnRhbnR9Lm1iLW1kLW4zLC5teS1tZC1uM3ttYXJnaW4tYm90dG9tOi0xcmVtIWltcG9ydGFudH0ubWwtbWQtbjMsLm14LW1kLW4ze21hcmdpbi1sZWZ0Oi0xcmVtIWltcG9ydGFudH0ubS1tZC1uNHttYXJnaW46LTEuNXJlbSFpbXBvcnRhbnR9Lm10LW1kLW40LC5teS1tZC1uNHttYXJnaW4tdG9wOi0xLjVyZW0haW1wb3J0YW50fS5tci1tZC1uNCwubXgtbWQtbjR7bWFyZ2luLXJpZ2h0Oi0xLjVyZW0haW1wb3J0YW50fS5tYi1tZC1uNCwubXktbWQtbjR7bWFyZ2luLWJvdHRvbTotMS41cmVtIWltcG9ydGFudH0ubWwtbWQtbjQsLm14LW1kLW40e21hcmdpbi1sZWZ0Oi0xLjVyZW0haW1wb3J0YW50fS5tLW1kLW41e21hcmdpbjotM3JlbSFpbXBvcnRhbnR9Lm10LW1kLW41LC5teS1tZC1uNXttYXJnaW4tdG9wOi0zcmVtIWltcG9ydGFudH0ubXItbWQtbjUsLm14LW1kLW41e21hcmdpbi1yaWdodDotM3JlbSFpbXBvcnRhbnR9Lm1iLW1kLW41LC5teS1tZC1uNXttYXJnaW4tYm90dG9tOi0zcmVtIWltcG9ydGFudH0ubWwtbWQtbjUsLm14LW1kLW41e21hcmdpbi1sZWZ0Oi0zcmVtIWltcG9ydGFudH0ubS1tZC1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtbWQtYXV0bywubXktbWQtYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1tZC1hdXRvLC5teC1tZC1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItbWQtYXV0bywubXktbWQtYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1tZC1hdXRvLC5teC1tZC1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lm0tbGctMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LWxnLTAsLm15LWxnLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItbGctMCwubXgtbGctMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLWxnLTAsLm15LWxnLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtbGctMCwubXgtbGctMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1sZy0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1sZy0xLC5teS1sZy0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItbGctMSwubXgtbGctMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItbGctMSwubXktbGctMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTEsLm14LWxnLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1sZy0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LWxnLTIsLm15LWxnLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLWxnLTIsLm14LWxnLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItbGctMiwubXktbGctMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtbGctMiwubXgtbGctMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tbGctM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LWxnLTMsLm15LWxnLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItbGctMywubXgtbGctM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLWxnLTMsLm15LWxnLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtbGctMywubXgtbGctM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1sZy00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1sZy00LC5teS1sZy00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItbGctNCwubXgtbGctNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItbGctNCwubXktbGctNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTQsLm14LWxnLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1sZy01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtbGctNSwubXktbGctNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1sZy01LC5teC1sZy01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItbGctNSwubXktbGctNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1sZy01LC5teC1sZy01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5wLWxnLTB7cGFkZGluZzowIWltcG9ydGFudH0ucHQtbGctMCwucHktbGctMHtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ucHItbGctMCwucHgtbGctMHtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5wYi1sZy0wLC5weS1sZy0we3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5wbC1sZy0wLC5weC1sZy0we3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0ucC1sZy0xe3BhZGRpbmc6LjI1cmVtIWltcG9ydGFudH0ucHQtbGctMSwucHktbGctMXtwYWRkaW5nLXRvcDouMjVyZW0haW1wb3J0YW50fS5wci1sZy0xLC5weC1sZy0xe3BhZGRpbmctcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ucGItbGctMSwucHktbGctMXtwYWRkaW5nLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5wbC1sZy0xLC5weC1sZy0xe3BhZGRpbmctbGVmdDouMjVyZW0haW1wb3J0YW50fS5wLWxnLTJ7cGFkZGluZzouNXJlbSFpbXBvcnRhbnR9LnB0LWxnLTIsLnB5LWxnLTJ7cGFkZGluZy10b3A6LjVyZW0haW1wb3J0YW50fS5wci1sZy0yLC5weC1sZy0ye3BhZGRpbmctcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5wYi1sZy0yLC5weS1sZy0ye3BhZGRpbmctYm90dG9tOi41cmVtIWltcG9ydGFudH0ucGwtbGctMiwucHgtbGctMntwYWRkaW5nLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5wLWxnLTN7cGFkZGluZzoxcmVtIWltcG9ydGFudH0ucHQtbGctMywucHktbGctM3twYWRkaW5nLXRvcDoxcmVtIWltcG9ydGFudH0ucHItbGctMywucHgtbGctM3twYWRkaW5nLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5wYi1sZy0zLC5weS1sZy0ze3BhZGRpbmctYm90dG9tOjFyZW0haW1wb3J0YW50fS5wbC1sZy0zLC5weC1sZy0ze3BhZGRpbmctbGVmdDoxcmVtIWltcG9ydGFudH0ucC1sZy00e3BhZGRpbmc6MS41cmVtIWltcG9ydGFudH0ucHQtbGctNCwucHktbGctNHtwYWRkaW5nLXRvcDoxLjVyZW0haW1wb3J0YW50fS5wci1sZy00LC5weC1sZy00e3BhZGRpbmctcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ucGItbGctNCwucHktbGctNHtwYWRkaW5nLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5wbC1sZy00LC5weC1sZy00e3BhZGRpbmctbGVmdDoxLjVyZW0haW1wb3J0YW50fS5wLWxnLTV7cGFkZGluZzozcmVtIWltcG9ydGFudH0ucHQtbGctNSwucHktbGctNXtwYWRkaW5nLXRvcDozcmVtIWltcG9ydGFudH0ucHItbGctNSwucHgtbGctNXtwYWRkaW5nLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5wYi1sZy01LC5weS1sZy01e3BhZGRpbmctYm90dG9tOjNyZW0haW1wb3J0YW50fS5wbC1sZy01LC5weC1sZy01e3BhZGRpbmctbGVmdDozcmVtIWltcG9ydGFudH0ubS1sZy1uMXttYXJnaW46LS4yNXJlbSFpbXBvcnRhbnR9Lm10LWxnLW4xLC5teS1sZy1uMXttYXJnaW4tdG9wOi0uMjVyZW0haW1wb3J0YW50fS5tci1sZy1uMSwubXgtbGctbjF7bWFyZ2luLXJpZ2h0Oi0uMjVyZW0haW1wb3J0YW50fS5tYi1sZy1uMSwubXktbGctbjF7bWFyZ2luLWJvdHRvbTotLjI1cmVtIWltcG9ydGFudH0ubWwtbGctbjEsLm14LWxnLW4xe21hcmdpbi1sZWZ0Oi0uMjVyZW0haW1wb3J0YW50fS5tLWxnLW4ye21hcmdpbjotLjVyZW0haW1wb3J0YW50fS5tdC1sZy1uMiwubXktbGctbjJ7bWFyZ2luLXRvcDotLjVyZW0haW1wb3J0YW50fS5tci1sZy1uMiwubXgtbGctbjJ7bWFyZ2luLXJpZ2h0Oi0uNXJlbSFpbXBvcnRhbnR9Lm1iLWxnLW4yLC5teS1sZy1uMnttYXJnaW4tYm90dG9tOi0uNXJlbSFpbXBvcnRhbnR9Lm1sLWxnLW4yLC5teC1sZy1uMnttYXJnaW4tbGVmdDotLjVyZW0haW1wb3J0YW50fS5tLWxnLW4ze21hcmdpbjotMXJlbSFpbXBvcnRhbnR9Lm10LWxnLW4zLC5teS1sZy1uM3ttYXJnaW4tdG9wOi0xcmVtIWltcG9ydGFudH0ubXItbGctbjMsLm14LWxnLW4ze21hcmdpbi1yaWdodDotMXJlbSFpbXBvcnRhbnR9Lm1iLWxnLW4zLC5teS1sZy1uM3ttYXJnaW4tYm90dG9tOi0xcmVtIWltcG9ydGFudH0ubWwtbGctbjMsLm14LWxnLW4ze21hcmdpbi1sZWZ0Oi0xcmVtIWltcG9ydGFudH0ubS1sZy1uNHttYXJnaW46LTEuNXJlbSFpbXBvcnRhbnR9Lm10LWxnLW40LC5teS1sZy1uNHttYXJnaW4tdG9wOi0xLjVyZW0haW1wb3J0YW50fS5tci1sZy1uNCwubXgtbGctbjR7bWFyZ2luLXJpZ2h0Oi0xLjVyZW0haW1wb3J0YW50fS5tYi1sZy1uNCwubXktbGctbjR7bWFyZ2luLWJvdHRvbTotMS41cmVtIWltcG9ydGFudH0ubWwtbGctbjQsLm14LWxnLW40e21hcmdpbi1sZWZ0Oi0xLjVyZW0haW1wb3J0YW50fS5tLWxnLW41e21hcmdpbjotM3JlbSFpbXBvcnRhbnR9Lm10LWxnLW41LC5teS1sZy1uNXttYXJnaW4tdG9wOi0zcmVtIWltcG9ydGFudH0ubXItbGctbjUsLm14LWxnLW41e21hcmdpbi1yaWdodDotM3JlbSFpbXBvcnRhbnR9Lm1iLWxnLW41LC5teS1sZy1uNXttYXJnaW4tYm90dG9tOi0zcmVtIWltcG9ydGFudH0ubWwtbGctbjUsLm14LWxnLW41e21hcmdpbi1sZWZ0Oi0zcmVtIWltcG9ydGFudH0ubS1sZy1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtbGctYXV0bywubXktbGctYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1sZy1hdXRvLC5teC1sZy1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItbGctYXV0bywubXktbGctYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1sZy1hdXRvLC5teC1sZy1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5tLXhsLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC14bC0wLC5teS14bC0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLXhsLTAsLm14LXhsLTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi14bC0wLC5teS14bC0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLXhsLTAsLm14LXhsLTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0teGwtMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQteGwtMSwubXkteGwtMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTEsLm14LXhsLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTEsLm15LXhsLTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC14bC0xLC5teC14bC0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0teGwtMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC14bC0yLC5teS14bC0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci14bC0yLC5teC14bC0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTIsLm15LXhsLTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLXhsLTIsLm14LXhsLTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLXhsLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC14bC0zLC5teS14bC0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTMsLm14LXhsLTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi14bC0zLC5teS14bC0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLXhsLTMsLm14LXhsLTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0teGwtNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQteGwtNCwubXkteGwtNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTQsLm14LXhsLTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTQsLm15LXhsLTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC14bC00LC5teC14bC00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0teGwtNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LXhsLTUsLm15LXhsLTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXIteGwtNSwubXgteGwtNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLXhsLTUsLm15LXhsLTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwteGwtNSwubXgteGwtNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC14bC0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LXhsLTAsLnB5LXhsLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLXhsLTAsLnB4LXhsLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGIteGwtMCwucHkteGwtMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwteGwtMCwucHgteGwtMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAteGwtMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LXhsLTEsLnB5LXhsLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHIteGwtMSwucHgteGwtMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLXhsLTEsLnB5LXhsLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwteGwtMSwucHgteGwtMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC14bC0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC14bC0yLC5weS14bC0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHIteGwtMiwucHgteGwtMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGIteGwtMiwucHkteGwtMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLXhsLTIsLnB4LXhsLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC14bC0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LXhsLTMsLnB5LXhsLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLXhsLTMsLnB4LXhsLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGIteGwtMywucHkteGwtM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwteGwtMywucHgteGwtM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAteGwtNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LXhsLTQsLnB5LXhsLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHIteGwtNCwucHgteGwtNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLXhsLTQsLnB5LXhsLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwteGwtNCwucHgteGwtNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC14bC01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LXhsLTUsLnB5LXhsLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLXhsLTUsLnB4LXhsLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGIteGwtNSwucHkteGwtNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwteGwtNSwucHgteGwtNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0teGwtbjF7bWFyZ2luOi0uMjVyZW0haW1wb3J0YW50fS5tdC14bC1uMSwubXkteGwtbjF7bWFyZ2luLXRvcDotLjI1cmVtIWltcG9ydGFudH0ubXIteGwtbjEsLm14LXhsLW4xe21hcmdpbi1yaWdodDotLjI1cmVtIWltcG9ydGFudH0ubWIteGwtbjEsLm15LXhsLW4xe21hcmdpbi1ib3R0b206LS4yNXJlbSFpbXBvcnRhbnR9Lm1sLXhsLW4xLC5teC14bC1uMXttYXJnaW4tbGVmdDotLjI1cmVtIWltcG9ydGFudH0ubS14bC1uMnttYXJnaW46LS41cmVtIWltcG9ydGFudH0ubXQteGwtbjIsLm15LXhsLW4ye21hcmdpbi10b3A6LS41cmVtIWltcG9ydGFudH0ubXIteGwtbjIsLm14LXhsLW4ye21hcmdpbi1yaWdodDotLjVyZW0haW1wb3J0YW50fS5tYi14bC1uMiwubXkteGwtbjJ7bWFyZ2luLWJvdHRvbTotLjVyZW0haW1wb3J0YW50fS5tbC14bC1uMiwubXgteGwtbjJ7bWFyZ2luLWxlZnQ6LS41cmVtIWltcG9ydGFudH0ubS14bC1uM3ttYXJnaW46LTFyZW0haW1wb3J0YW50fS5tdC14bC1uMywubXkteGwtbjN7bWFyZ2luLXRvcDotMXJlbSFpbXBvcnRhbnR9Lm1yLXhsLW4zLC5teC14bC1uM3ttYXJnaW4tcmlnaHQ6LTFyZW0haW1wb3J0YW50fS5tYi14bC1uMywubXkteGwtbjN7bWFyZ2luLWJvdHRvbTotMXJlbSFpbXBvcnRhbnR9Lm1sLXhsLW4zLC5teC14bC1uM3ttYXJnaW4tbGVmdDotMXJlbSFpbXBvcnRhbnR9Lm0teGwtbjR7bWFyZ2luOi0xLjVyZW0haW1wb3J0YW50fS5tdC14bC1uNCwubXkteGwtbjR7bWFyZ2luLXRvcDotMS41cmVtIWltcG9ydGFudH0ubXIteGwtbjQsLm14LXhsLW40e21hcmdpbi1yaWdodDotMS41cmVtIWltcG9ydGFudH0ubWIteGwtbjQsLm15LXhsLW40e21hcmdpbi1ib3R0b206LTEuNXJlbSFpbXBvcnRhbnR9Lm1sLXhsLW40LC5teC14bC1uNHttYXJnaW4tbGVmdDotMS41cmVtIWltcG9ydGFudH0ubS14bC1uNXttYXJnaW46LTNyZW0haW1wb3J0YW50fS5tdC14bC1uNSwubXkteGwtbjV7bWFyZ2luLXRvcDotM3JlbSFpbXBvcnRhbnR9Lm1yLXhsLW41LC5teC14bC1uNXttYXJnaW4tcmlnaHQ6LTNyZW0haW1wb3J0YW50fS5tYi14bC1uNSwubXkteGwtbjV7bWFyZ2luLWJvdHRvbTotM3JlbSFpbXBvcnRhbnR9Lm1sLXhsLW41LC5teC14bC1uNXttYXJnaW4tbGVmdDotM3JlbSFpbXBvcnRhbnR9Lm0teGwtYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LXhsLWF1dG8sLm15LXhsLWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXIteGwtYXV0bywubXgteGwtYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLXhsLWF1dG8sLm15LXhsLWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwteGwtYXV0bywubXgteGwtYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH19LnN0cmV0Y2hlZC1saW5rOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6YXV0bztjb250ZW50OiIiO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKX0udGV4dC1tb25vc3BhY2V7Zm9udC1mYW1pbHk6U0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLCJMaWJlcmF0aW9uIE1vbm8iLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlIWltcG9ydGFudH0udGV4dC1qdXN0aWZ5e3RleHQtYWxpZ246anVzdGlmeSFpbXBvcnRhbnR9LnRleHQtd3JhcHt3aGl0ZS1zcGFjZTpub3JtYWwhaW1wb3J0YW50fS50ZXh0LW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXAhaW1wb3J0YW50fS50ZXh0LXRydW5jYXRle292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0udGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodCFpbXBvcnRhbnR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LnRleHQtc20tbGVmdHt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50fS50ZXh0LXNtLXJpZ2h0e3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fS50ZXh0LXNtLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsudGV4dC1tZC1sZWZ0e3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnRleHQtbWQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodCFpbXBvcnRhbnR9LnRleHQtbWQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey50ZXh0LWxnLWxlZnR7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0udGV4dC1sZy1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0udGV4dC1sZy1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey50ZXh0LXhsLWxlZnR7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0udGV4dC14bC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0udGV4dC14bC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fX0udGV4dC1sb3dlcmNhc2V7dGV4dC10cmFuc2Zvcm06bG93ZXJjYXNlIWltcG9ydGFudH0udGV4dC11cHBlcmNhc2V7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlIWltcG9ydGFudH0udGV4dC1jYXBpdGFsaXple3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemUhaW1wb3J0YW50fS5mb250LXdlaWdodC1saWdodHtmb250LXdlaWdodDozMDAhaW1wb3J0YW50fS5mb250LXdlaWdodC1saWdodGVye2ZvbnQtd2VpZ2h0OmxpZ2h0ZXIhaW1wb3J0YW50fS5mb250LXdlaWdodC1ub3JtYWx7Zm9udC13ZWlnaHQ6NDAwIWltcG9ydGFudH0uZm9udC13ZWlnaHQtYm9sZHtmb250LXdlaWdodDo3MDAhaW1wb3J0YW50fS5mb250LXdlaWdodC1ib2xkZXJ7Zm9udC13ZWlnaHQ6Ym9sZGVyIWltcG9ydGFudH0uZm9udC1pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWMhaW1wb3J0YW50fS50ZXh0LXdoaXRle2NvbG9yOiNmZmYhaW1wb3J0YW50fS50ZXh0LXByaW1hcnl7Y29sb3I6IzAwN2JmZiFpbXBvcnRhbnR9YS50ZXh0LXByaW1hcnk6Zm9jdXMsYS50ZXh0LXByaW1hcnk6aG92ZXJ7Y29sb3I6IzAwNTZiMyFpbXBvcnRhbnR9LnRleHQtc2Vjb25kYXJ5e2NvbG9yOiM2Yzc1N2QhaW1wb3J0YW50fWEudGV4dC1zZWNvbmRhcnk6Zm9jdXMsYS50ZXh0LXNlY29uZGFyeTpob3Zlcntjb2xvcjojNDk0ZjU0IWltcG9ydGFudH0udGV4dC1zdWNjZXNze2NvbG9yOiMyOGE3NDUhaW1wb3J0YW50fWEudGV4dC1zdWNjZXNzOmZvY3VzLGEudGV4dC1zdWNjZXNzOmhvdmVye2NvbG9yOiMxOTY5MmMhaW1wb3J0YW50fS50ZXh0LWluZm97Y29sb3I6IzE3YTJiOCFpbXBvcnRhbnR9YS50ZXh0LWluZm86Zm9jdXMsYS50ZXh0LWluZm86aG92ZXJ7Y29sb3I6IzBmNjY3NCFpbXBvcnRhbnR9LnRleHQtd2FybmluZ3tjb2xvcjojZmZjMTA3IWltcG9ydGFudH1hLnRleHQtd2FybmluZzpmb2N1cyxhLnRleHQtd2FybmluZzpob3Zlcntjb2xvcjojYmE4YjAwIWltcG9ydGFudH0udGV4dC1kYW5nZXJ7Y29sb3I6I2RjMzU0NSFpbXBvcnRhbnR9YS50ZXh0LWRhbmdlcjpmb2N1cyxhLnRleHQtZGFuZ2VyOmhvdmVye2NvbG9yOiNhNzFkMmEhaW1wb3J0YW50fS50ZXh0LWxpZ2h0e2NvbG9yOiNmOGY5ZmEhaW1wb3J0YW50fWEudGV4dC1saWdodDpmb2N1cyxhLnRleHQtbGlnaHQ6aG92ZXJ7Y29sb3I6I2NiZDNkYSFpbXBvcnRhbnR9LnRleHQtZGFya3tjb2xvcjojMzQzYTQwIWltcG9ydGFudH1hLnRleHQtZGFyazpmb2N1cyxhLnRleHQtZGFyazpob3Zlcntjb2xvcjojMTIxNDE2IWltcG9ydGFudH0udGV4dC1ib2R5e2NvbG9yOiMyMTI1MjkhaW1wb3J0YW50fS50ZXh0LW11dGVke2NvbG9yOiM2Yzc1N2QhaW1wb3J0YW50fS50ZXh0LWJsYWNrLTUwe2NvbG9yOnJnYmEoMCwwLDAsLjUpIWltcG9ydGFudH0udGV4dC13aGl0ZS01MHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KSFpbXBvcnRhbnR9LnRleHQtaGlkZXtmb250OjAvMCBhO2NvbG9yOnRyYW5zcGFyZW50O3RleHQtc2hhZG93Om5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MH0udGV4dC1kZWNvcmF0aW9uLW5vbmV7dGV4dC1kZWNvcmF0aW9uOm5vbmUhaW1wb3J0YW50fS50ZXh0LWJyZWFre3dvcmQtYnJlYWs6YnJlYWstd29yZCFpbXBvcnRhbnQ7d29yZC13cmFwOmJyZWFrLXdvcmQhaW1wb3J0YW50fS50ZXh0LXJlc2V0e2NvbG9yOmluaGVyaXQhaW1wb3J0YW50fS52aXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnR9LmludmlzaWJsZXt2aXNpYmlsaXR5OmhpZGRlbiFpbXBvcnRhbnR9QG1lZGlhIHByaW50eyosOjphZnRlciw6OmJlZm9yZXt0ZXh0LXNoYWRvdzpub25lIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fWE6bm90KC5idG4pe3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9YWJiclt0aXRsZV06OmFmdGVye2NvbnRlbnQ6IiAoIiBhdHRyKHRpdGxlKSAiKSJ9cHJle3doaXRlLXNwYWNlOnByZS13cmFwIWltcG9ydGFudH1ibG9ja3F1b3RlLHByZXtib3JkZXI6MXB4IHNvbGlkICNhZGI1YmQ7cGFnZS1icmVhay1pbnNpZGU6YXZvaWR9dGhlYWR7ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXB9aW1nLHRye3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkfWgyLGgzLHB7b3JwaGFuczozO3dpZG93czozfWgyLGgze3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWR9QHBhZ2V7c2l6ZTphM31ib2R5e21pbi13aWR0aDo5OTJweCFpbXBvcnRhbnR9LmNvbnRhaW5lcnttaW4td2lkdGg6OTkycHghaW1wb3J0YW50fS5uYXZiYXJ7ZGlzcGxheTpub25lfS5iYWRnZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9LnRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZSFpbXBvcnRhbnR9LnRhYmxlIHRkLC50YWJsZSB0aHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0udGFibGUtZGFya3tjb2xvcjppbmhlcml0fS50YWJsZS1kYXJrIHRib2R5K3Rib2R5LC50YWJsZS1kYXJrIHRkLC50YWJsZS1kYXJrIHRoLC50YWJsZS1kYXJrIHRoZWFkIHRoe2JvcmRlci1jb2xvcjojZGVlMmU2fS50YWJsZSAudGhlYWQtZGFyayB0aHtjb2xvcjppbmhlcml0O2JvcmRlci1jb2xvcjojZGVlMmU2fX0NCi8qIyBzb3VyY2VNYXBwaW5nVVJMPWJvb3RzdHJhcC5taW4uY3NzLm1hcCAqLw0KDQovKg0KU3dpcGVyDQpWZXJzaW9uOiA1LjQuNQ0KUGx1Z2luIFVSSTogaHR0cDovL3N3aXBlcmpzLmNvbQ0KTGljZW5zZTogQ29weXJpZ2h0IDIwMTQtMjAyMCBWbGFkaW1pciBLaGFybGFtcGlkaSB8IFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSB8IFJlbGVhc2VkIG9uOiBKdW5lIDE2LCAyMDIwDQoqLw0KQGZvbnQtZmFjZXtmb250LWZhbWlseTpzd2lwZXItaWNvbnM7c3JjOnVybCgiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUEiKSBmb3JtYXQoIndvZmYiKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9OnJvb3R7LS1zd2lwZXItdGhlbWUtY29sb3I6IzAwN2FmZn0uc3dpcGVyLWNvbnRhaW5lcnttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowO3otaW5kZXg6MX0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2lwZXItd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6MTtkaXNwbGF5OmZsZXg7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07Ym94LXNpemluZzpjb250ZW50LWJveH0uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsLnN3aXBlci13cmFwcGVye3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsMCwwKX0uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdz4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXB9LnN3aXBlci1jb250YWluZXItbXVsdGlyb3ctY29sdW1uPi5zd2lwZXItd3JhcHBlcntmbGV4LXdyYXA6d3JhcDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlPi5zd2lwZXItd3JhcHBlcnt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDttYXJnaW46MCBhdXRvfS5zd2lwZXItc2xpZGV7ZmxleC1zaHJpbms6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5re3Zpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRle2hlaWdodDphdXRvfS5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVye2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0saGVpZ2h0fS5zd2lwZXItY29udGFpbmVyLTNke3BlcnNwZWN0aXZlOjEyMDBweH0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93LC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcnt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxMH0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGxlZnQscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHRvcCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b217YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntvdmVyZmxvdzphdXRvO3Njcm9sbGJhci13aWR0aDpub25lOy1tcy1vdmVyZmxvdy1zdHlsZTpub25lfS5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRle3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0IHN0YXJ0fS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7c2Nyb2xsLXNuYXAtdHlwZTp4IG1hbmRhdG9yeX0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOnkgbWFuZGF0b3J5fTpyb290ey0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTo0NHB4fS5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1idXR0b24tcHJldntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOmNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDQ0ICogMjcpO2hlaWdodDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTttYXJnaW4tdG9wOmNhbGMoLTEgKiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gMik7ei1pbmRleDoxMDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSl9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZHtvcGFjaXR5Oi4zNTtjdXJzb3I6YXV0bztwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsLnN3aXBlci1idXR0b24tcHJldjphZnRlcntmb250LWZhbWlseTpzd2lwZXItaWNvbnM7Zm9udC1zaXplOnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO3RleHQtdHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOjA7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LXZhcmlhbnQ6aW5pdGlhbDtsaW5lLWhlaWdodDoxfS5zd2lwZXItYnV0dG9uLXByZXYsLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHR7bGVmdDoxMHB4O3JpZ2h0OmF1dG99LnN3aXBlci1idXR0b24tcHJldjphZnRlciwuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcntjb250ZW50OidwcmV2J30uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2e3JpZ2h0OjEwcHg7bGVmdDphdXRvfS5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXJ7Y29udGVudDonbmV4dCd9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZXstLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiNmZmZmZmZ9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFja3stLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiMwMDAwMDB9LnN3aXBlci1idXR0b24tbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci1wYWdpbmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RyYW5zaXRpb246LjNzIG9wYWNpdHk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt6LWluZGV4OjEwfS5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW57b3BhY2l0eTowfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSwuc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb257Ym90dG9tOjEwcHg7bGVmdDowO3dpZHRoOjEwMCV9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tvdmVyZmxvdzpoaWRkZW47Zm9udC1zaXplOjB9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zZm9ybTpzY2FsZSguMzMpO3Bvc2l0aW9uOnJlbGF0aXZlfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmV7dHJhbnNmb3JtOnNjYWxlKDEpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbnt0cmFuc2Zvcm06c2NhbGUoMSl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2e3RyYW5zZm9ybTpzY2FsZSguNjYpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2e3RyYW5zZm9ybTpzY2FsZSguMzMpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjY2KX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dHt0cmFuc2Zvcm06c2NhbGUoLjMzKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3dpZHRoOjhweDtoZWlnaHQ6OHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1yYWRpdXM6MTAwJTtiYWNrZ3JvdW5kOiMwMDA7b3BhY2l0eTouMn1idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtib3gtc2hhZG93Om5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtjdXJzb3I6cG9pbnRlcn0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXtvcGFjaXR5OjE7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKX0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c3tyaWdodDoxMHB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDBweCwtNTAlLDApfS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7bWFyZ2luOjZweCAwO2Rpc3BsYXk6YmxvY2t9LnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6OHB4fS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgdG9wfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46MCA0cHh9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2hpdGUtc3BhY2U6bm93cmFwfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyBsZWZ0fS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgcmlnaHR9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMjUpO3Bvc2l0aW9uOmFic29sdXRlfS5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgdG9wfS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGx7dHJhbnNmb3JtLW9yaWdpbjpyaWdodCB0b3B9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsLnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRle3dpZHRoOjEwMCU7aGVpZ2h0OjRweDtsZWZ0OjA7dG9wOjB9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsLnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFye3dpZHRoOjRweDtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjB9LnN3aXBlci1wYWdpbmF0aW9uLXdoaXRley0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6I2ZmZmZmZn0uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2t7LS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjojMDAwMDAwfS5zd2lwZXItcGFnaW5hdGlvbi1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXNjcm9sbGJhcntib3JkZXItcmFkaXVzOjEwcHg7cG9zaXRpb246cmVsYXRpdmU7LW1zLXRvdWNoLWFjdGlvbjpub25lO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSl9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXNjcm9sbGJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjElO2JvdHRvbTozcHg7ei1pbmRleDo1MDtoZWlnaHQ6NXB4O3dpZHRoOjk4JX0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXNjcm9sbGJhcntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDozcHg7dG9wOjElO3otaW5kZXg6NTA7d2lkdGg6NXB4O2hlaWdodDo5OCV9LnN3aXBlci1zY3JvbGxiYXItZHJhZ3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLXJhZGl1czoxMHB4O2xlZnQ6MDt0b3A6MH0uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZ3tjdXJzb3I6bW92ZX0uc3dpcGVyLXNjcm9sbGJhci1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXpvb20tY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyfS5zd2lwZXItem9vbS1jb250YWluZXI+Y2FudmFzLC5zd2lwZXItem9vbS1jb250YWluZXI+aW1nLC5zd2lwZXItem9vbS1jb250YWluZXI+c3Zne21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvbnRhaW59LnN3aXBlci1zbGlkZS16b29tZWR7Y3Vyc29yOm1vdmV9LnN3aXBlci1sYXp5LXByZWxvYWRlcnt3aWR0aDo0MnB4O2hlaWdodDo0MnB4O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCU7bWFyZ2luLWxlZnQ6LTIxcHg7bWFyZ2luLXRvcDotMjFweDt6LWluZGV4OjEwO3RyYW5zZm9ybS1vcmlnaW46NTAlO2FuaW1hdGlvbjpzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6NHB4IHNvbGlkIHZhcigtLXN3aXBlci1wcmVsb2FkZXItY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXRvcC1jb2xvcjp0cmFuc3BhcmVudH0uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRley0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojZmZmfS5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2t7LS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiMwMDB9QGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW57MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt6LWluZGV4Oi0xMDAwfS5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZXt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9LnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWNvbnRhaW5lci1jdWJle292ZXJmbG93OnZpc2libGV9LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjE7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtLW9yaWdpbjowIDA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItY29udGFpbmVyLWN1YmUuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1zbGlkZXt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMH0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0Ky5zd2lwZXItc2xpZGUsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXZ7cG9pbnRlci1ldmVudHM6YXV0bzt2aXNpYmlsaXR5OnZpc2libGV9LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MHB4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojMDAwO29wYWNpdHk6LjY7LXdlYmtpdC1maWx0ZXI6Ymx1cig1MHB4KTtmaWx0ZXI6Ymx1cig1MHB4KTt6LWluZGV4OjB9LnN3aXBlci1jb250YWluZXItZmxpcHtvdmVyZmxvdzp2aXNpYmxlfS5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDoxfS5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3B7ei1pbmRleDowOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59DQoNCi8qDQpqdXN0aWZpZWRHYWxsZXJ5DQpWZXJzaW9uOiAzLjguMQ0KUGx1Z2luIFVSSTogaHR0cDovL21pcm9tYW5uaW5vLmdpdGh1Yi5pby9KdXN0aWZpZWQtR2FsbGVyeS8NCkxpY2Vuc2U6IENvcHlyaWdodCAoYykgMjAyMCBNaXJvIE1hbm5pbm8gfCBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UNCiovDQouanVzdGlmaWVkLWdhbGxlcnl7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lmp1c3RpZmllZC1nYWxsZXJ5PmEsLmp1c3RpZmllZC1nYWxsZXJ5PmRpdiwuanVzdGlmaWVkLWdhbGxlcnk+ZmlndXJle3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9MTApIjtvcGFjaXR5Oi4xO21hcmdpbjowO3BhZGRpbmc6MH0uanVzdGlmaWVkLWdhbGxlcnk+YT5hPmltZywuanVzdGlmaWVkLWdhbGxlcnk+YT5hPnN2ZywuanVzdGlmaWVkLWdhbGxlcnk+YT5pbWcsLmp1c3RpZmllZC1nYWxsZXJ5PmE+c3ZnLC5qdXN0aWZpZWQtZ2FsbGVyeT5kaXY+YT5pbWcsLmp1c3RpZmllZC1nYWxsZXJ5PmRpdj5hPnN2ZywuanVzdGlmaWVkLWdhbGxlcnk+ZGl2PmltZywuanVzdGlmaWVkLWdhbGxlcnk+ZGl2PnN2ZywuanVzdGlmaWVkLWdhbGxlcnk+ZmlndXJlPmE+aW1nLC5qdXN0aWZpZWQtZ2FsbGVyeT5maWd1cmU+YT5zdmcsLmp1c3RpZmllZC1nYWxsZXJ5PmZpZ3VyZT5pbWcsLmp1c3RpZmllZC1nYWxsZXJ5PmZpZ3VyZT5zdmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTApIjtvcGFjaXR5OjB9Lmp1c3RpZmllZC1nYWxsZXJ5PmE+LmpnLWNhcHRpb24sLmp1c3RpZmllZC1nYWxsZXJ5PmRpdj4uamctY2FwdGlvbiwuanVzdGlmaWVkLWdhbGxlcnk+ZmlndXJlPi5qZy1jYXB0aW9ue2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtwYWRkaW5nOjVweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOjA7Y29sb3I6I2ZmZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDozMDA7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZn0uanVzdGlmaWVkLWdhbGxlcnk+YT4uamctY2FwdGlvbi5qZy1jYXB0aW9uLXZpc2libGUsLmp1c3RpZmllZC1nYWxsZXJ5PmRpdj4uamctY2FwdGlvbi5qZy1jYXB0aW9uLXZpc2libGUsLmp1c3RpZmllZC1nYWxsZXJ5PmZpZ3VyZT4uamctY2FwdGlvbi5qZy1jYXB0aW9uLXZpc2libGV7ZGlzcGxheTppbml0aWFsO2ZpbHRlcjoiYWxwaGEob3BhY2l0eT03MCkiO29wYWNpdHk6Ljc7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW47LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW47LW8tdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLWluO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1pbn0uanVzdGlmaWVkLWdhbGxlcnk+LmpnLWVudHJ5LXZpc2libGV7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTEwMCkiO29wYWNpdHk6MTtiYWNrZ3JvdW5kOjAgMH0uanVzdGlmaWVkLWdhbGxlcnk+LmpnLWVudHJ5LXZpc2libGU+YT5pbWcsLmp1c3RpZmllZC1nYWxsZXJ5Pi5qZy1lbnRyeS12aXNpYmxlPmE+c3ZnLC5qdXN0aWZpZWQtZ2FsbGVyeT4uamctZW50cnktdmlzaWJsZT5pbWcsLmp1c3RpZmllZC1nYWxsZXJ5Pi5qZy1lbnRyeS12aXNpYmxlPnN2Z3tmaWx0ZXI6ImFscGhhKG9wYWNpdHk9MTAwKSI7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLWluOy1tb3otdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLWluOy1vLXRyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1pbjt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW59Lmp1c3RpZmllZC1nYWxsZXJ5Pi5qZy1maWx0ZXJlZHtkaXNwbGF5Om5vbmV9Lmp1c3RpZmllZC1nYWxsZXJ5Pi5qZy1zcGlubmVye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO21hcmdpbi1sZWZ0Oi0yNHB4O3BhZGRpbmc6MTBweCAwIDEwcHggMDtsZWZ0OjUwJTtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9MTAwKSI7b3BhY2l0eToxO292ZXJmbG93OmluaXRpYWx9Lmp1c3RpZmllZC1nYWxsZXJ5Pi5qZy1zcGlubmVyPnNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTApIjtvcGFjaXR5OjA7d2lkdGg6OHB4O2hlaWdodDo4cHg7bWFyZ2luOjAgNHB4IDAgNHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjZweH0NCg0KLyoNCkFuaW1hdGUgY3NzDQpWZXJzaW9uOiA0LjEuMQ0KUGx1Z2luIFVSSTogaHR0cHM6Ly9hbmltYXRlLnN0eWxlLw0KTGljZW5zZTogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVA0KKi8NCjpyb290ey0tYW5pbWF0ZS1kdXJhdGlvbjoxczstLWFuaW1hdGUtZGVsYXk6MXM7LS1hbmltYXRlLXJlcGVhdDoxfS5hbmltYXRlX19hbmltYXRlZHstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246dmFyKC0tYW5pbWF0ZS1kdXJhdGlvbik7YW5pbWF0aW9uLWR1cmF0aW9uOnZhcigtLWFuaW1hdGUtZHVyYXRpb24pOy13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTpib3RoO2FuaW1hdGlvbi1maWxsLW1vZGU6Ym90aH0uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9faW5maW5pdGV7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGV9LmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0xey13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6dmFyKC0tYW5pbWF0ZS1yZXBlYXQpO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6dmFyKC0tYW5pbWF0ZS1yZXBlYXQpfS5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMnstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MjthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjI7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpKjIpO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6Y2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkqMil9LmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0zey13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDozO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6Mzstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6Y2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkqMyk7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDpjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSozKX0uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktMXN7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MXM7YW5pbWF0aW9uLWRlbGF5OjFzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OnZhcigtLWFuaW1hdGUtZGVsYXkpO2FuaW1hdGlvbi1kZWxheTp2YXIoLS1hbmltYXRlLWRlbGF5KX0uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktMnN7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MnM7YW5pbWF0aW9uLWRlbGF5OjJzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OmNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkqMik7YW5pbWF0aW9uLWRlbGF5OmNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkqMil9LmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTNzey13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjNzO2FuaW1hdGlvbi1kZWxheTozczstd2Via2l0LWFuaW1hdGlvbi1kZWxheTpjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpKjMpO2FuaW1hdGlvbi1kZWxheTpjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpKjMpfS5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS00c3std2Via2l0LWFuaW1hdGlvbi1kZWxheTo0czthbmltYXRpb24tZGVsYXk6NHM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6Y2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSo0KTthbmltYXRpb24tZGVsYXk6Y2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSo0KX0uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktNXN7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6NXM7YW5pbWF0aW9uLWRlbGF5OjVzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OmNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkqNSk7YW5pbWF0aW9uLWRlbGF5OmNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkqNSl9LmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2Zhc3Rlcnstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pLzIpO2FuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pLzIpfS5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0ey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi44czthbmltYXRpb24tZHVyYXRpb246LjhzOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMC44KTthbmltYXRpb24tZHVyYXRpb246Y2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSowLjgpfS5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19zbG93ey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjJzO2FuaW1hdGlvbi1kdXJhdGlvbjoyczstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjIpO2FuaW1hdGlvbi1kdXJhdGlvbjpjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pKjIpfS5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19zbG93ZXJ7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246M3M7YW5pbWF0aW9uLWR1cmF0aW9uOjNzOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMyk7YW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMyl9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSkscHJpbnR7LmFuaW1hdGVfX2FuaW1hdGVkey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjFtcyFpbXBvcnRhbnQ7YW5pbWF0aW9uLWR1cmF0aW9uOjFtcyFpbXBvcnRhbnQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOjFtcyFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjoxbXMhaW1wb3J0YW50Oy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxIWltcG9ydGFudDthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjEhaW1wb3J0YW50fS5hbmltYXRlX19hbmltYXRlZFtjbGFzcyo9T3V0XXtvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2V7MCUsMjAlLDUzJSx0b3std2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTQwJSw0MyV7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNzU1LC4wNSwuODU1LC4wNik7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjc1NSwuMDUsLjg1NSwuMDYpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTMwcHgsMCkgc2NhbGVZKDEuMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTMwcHgsMCkgc2NhbGVZKDEuMSl9NzAley13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjc1NSwuMDUsLjg1NSwuMDYpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC43NTUsLjA1LC44NTUsLjA2KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xNXB4LDApIHNjYWxlWSgxLjA1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTVweCwwKSBzY2FsZVkoMS4wNSl9ODAley13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKSBzY2FsZVkoLjk1KTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKSBzY2FsZVkoLjk1KX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNHB4LDApIHNjYWxlWSgxLjAyKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNHB4LDApIHNjYWxlWSgxLjAyKX19QGtleWZyYW1lcyBib3VuY2V7MCUsMjAlLDUzJSx0b3std2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTQwJSw0MyV7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNzU1LC4wNSwuODU1LC4wNik7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjc1NSwuMDUsLjg1NSwuMDYpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTMwcHgsMCkgc2NhbGVZKDEuMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTMwcHgsMCkgc2NhbGVZKDEuMSl9NzAley13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjc1NSwuMDUsLjg1NSwuMDYpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC43NTUsLjA1LC44NTUsLjA2KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xNXB4LDApIHNjYWxlWSgxLjA1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTVweCwwKSBzY2FsZVkoMS4wNSl9ODAley13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKSBzY2FsZVkoLjk1KTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKSBzY2FsZVkoLjk1KX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNHB4LDApIHNjYWxlWSgxLjAyKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNHB4LDApIHNjYWxlWSgxLjAyKX19LmFuaW1hdGVfX2JvdW5jZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZTthbmltYXRpb24tbmFtZTpib3VuY2U7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tfUAtd2Via2l0LWtleWZyYW1lcyBmbGFzaHswJSw1MCUsdG97b3BhY2l0eToxfTI1JSw3NSV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZsYXNoezAlLDUwJSx0b3tvcGFjaXR5OjF9MjUlLDc1JXtvcGFjaXR5OjB9fS5hbmltYXRlX19mbGFzaHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsYXNoO2FuaW1hdGlvbi1uYW1lOmZsYXNofUAtd2Via2l0LWtleWZyYW1lcyBwdWxzZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjA1LDEuMDUsMS4wNSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4wNSwxLjA1LDEuMDUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfX1Aa2V5ZnJhbWVzIHB1bHNlezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMDUsMS4wNSwxLjA1KTt0cmFuc2Zvcm06c2NhbGUzZCgxLjA1LDEuMDUsMS4wNSl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpO3RyYW5zZm9ybTpzY2FsZVgoMSl9fS5hbmltYXRlX19wdWxzZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnB1bHNlO2FuaW1hdGlvbi1uYW1lOnB1bHNlOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fUAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfTMwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMjUsLjc1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMjUsLjc1LDEpfTQwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC43NSwxLjI1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKC43NSwxLjI1LDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMTUsLjg1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMTUsLjg1LDEpfTY1JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45NSwxLjA1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKC45NSwxLjA1LDEpfTc1JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMDUsLjk1LDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMDUsLjk1LDEpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfX1Aa2V5ZnJhbWVzIHJ1YmJlckJhbmR7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpO3RyYW5zZm9ybTpzY2FsZVgoMSl9MzAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4yNSwuNzUsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4yNSwuNzUsMSl9NDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjc1LDEuMjUsMSk7dHJhbnNmb3JtOnNjYWxlM2QoLjc1LDEuMjUsMSl9NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xNSwuODUsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xNSwuODUsMSl9NjUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjk1LDEuMDUsMSk7dHJhbnNmb3JtOnNjYWxlM2QoLjk1LDEuMDUsMSl9NzUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4wNSwuOTUsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4wNSwuOTUsMSl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpO3RyYW5zZm9ybTpzY2FsZVgoMSl9fS5hbmltYXRlX19ydWJiZXJCYW5key13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cnViYmVyQmFuZDthbmltYXRpb24tbmFtZTpydWJiZXJCYW5kfUAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVh7MCUsdG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0xMCUsMzAlLDUwJSw3MCUsOTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMHB4LDAsMCl9MjAlLDQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTBweCwwLDApfX1Aa2V5ZnJhbWVzIHNoYWtlWHswJSx0b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTEwJSwzMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwcHgsMCwwKX0yMCUsNDAlLDYwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMHB4LDAsMCl9fS5hbmltYXRlX19zaGFrZVh7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzaGFrZVg7YW5pbWF0aW9uLW5hbWU6c2hha2VYfUAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVl7MCUsdG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0xMCUsMzAlLDUwJSw3MCUsOTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCl9MjAlLDQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApfX1Aa2V5ZnJhbWVzIHNoYWtlWXswJSx0b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTEwJSwzMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTBweCwwKX0yMCUsNDAlLDYwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCl9fS5hbmltYXRlX19zaGFrZVl7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzaGFrZVk7YW5pbWF0aW9uLW5hbWU6c2hha2VZfUAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX02LjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyl9MTguNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpfTMxLjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyl9NDMuNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1Aa2V5ZnJhbWVzIGhlYWRTaGFrZXswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTYuNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKX0xOC41JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyl9MzEuNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKX00My41JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fS5hbmltYXRlX19oZWFkU2hha2V7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpoZWFkU2hha2U7YW5pbWF0aW9uLW5hbWU6aGVhZFNoYWtlfUAtd2Via2l0LWtleWZyYW1lcyBzd2luZ3syMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE1ZGVnKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTBkZWcpfTYwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX04MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC01ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC01ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX19QGtleWZyYW1lcyBzd2luZ3syMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE1ZGVnKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTBkZWcpfTYwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX04MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC01ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC01ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX19LmFuaW1hdGVfX3N3aW5ney13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjp0b3AgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46dG9wIGNlbnRlcjstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnN3aW5nO2FuaW1hdGlvbi1uYW1lOnN3aW5nfUAtd2Via2l0LWtleWZyYW1lcyB0YWRhezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfTEwJSwyMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSkgcm90YXRlKC0zZGVnKTt0cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSkgcm90YXRlKC0zZGVnKX0zMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlKDNkZWcpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMSwxLjEsMS4xKSByb3RhdGUoM2RlZyl9NDAlLDYwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlKC0zZGVnKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlKC0zZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX19QGtleWZyYW1lcyB0YWRhezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfTEwJSwyMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSkgcm90YXRlKC0zZGVnKTt0cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSkgcm90YXRlKC0zZGVnKX0zMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlKDNkZWcpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMSwxLjEsMS4xKSByb3RhdGUoM2RlZyl9NDAlLDYwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlKC0zZGVnKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSkgcm90YXRlKC0zZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX19LmFuaW1hdGVfX3RhZGF7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp0YWRhO2FuaW1hdGlvbi1uYW1lOnRhZGF9QC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZXswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTE1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjUlLDAsMCkgcm90YXRlKC01ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTI1JSwwLDApIHJvdGF0ZSgtNWRlZyl9MzAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwJSwwLDApIHJvdGF0ZSgzZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAlLDAsMCkgcm90YXRlKDNkZWcpfTQ1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTUlLDAsMCkgcm90YXRlKC0zZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTE1JSwwLDApIHJvdGF0ZSgtM2RlZyl9NjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwJSwwLDApIHJvdGF0ZSgyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAlLDAsMCkgcm90YXRlKDJkZWcpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNSUsMCwwKSByb3RhdGUoLTFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNSUsMCwwKSByb3RhdGUoLTFkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgd29iYmxlezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9MTUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yNSUsMCwwKSByb3RhdGUoLTVkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjUlLDAsMCkgcm90YXRlKC01ZGVnKX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAlLDAsMCkgcm90YXRlKDNkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMCUsMCwwKSByb3RhdGUoM2RlZyl9NDUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xNSUsMCwwKSByb3RhdGUoLTNkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTUlLDAsMCkgcm90YXRlKC0zZGVnKX02MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAlLDAsMCkgcm90YXRlKDJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMCUsMCwwKSByb3RhdGUoMmRlZyl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01JSwwLDApIHJvdGF0ZSgtMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01JSwwLDApIHJvdGF0ZSgtMWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX3dvYmJsZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOndvYmJsZTthbmltYXRpb24tbmFtZTp3b2JibGV9QC13ZWJraXQta2V5ZnJhbWVzIGplbGxvezAlLDExLjElLHRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9MjIuMiV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTt0cmFuc2Zvcm06c2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTt0cmFuc2Zvcm06c2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyl9NDQuNCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO3RyYW5zZm9ybTpza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyl9NTUuNSV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO3RyYW5zZm9ybTpza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLS43ODEyNWRlZykgc2tld1koLS43ODEyNWRlZyk7dHJhbnNmb3JtOnNrZXdYKC0uNzgxMjVkZWcpIHNrZXdZKC0uNzgxMjVkZWcpfTc3Ljcley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC4zOTA2MjVkZWcpIHNrZXdZKC4zOTA2MjVkZWcpO3RyYW5zZm9ybTpza2V3WCguMzkwNjI1ZGVnKSBza2V3WSguMzkwNjI1ZGVnKX04OC44JXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCgtLjE5NTMxMjVkZWcpIHNrZXdZKC0uMTk1MzEyNWRlZyk7dHJhbnNmb3JtOnNrZXdYKC0uMTk1MzEyNWRlZykgc2tld1koLS4xOTUzMTI1ZGVnKX19QGtleWZyYW1lcyBqZWxsb3swJSwxMS4xJSx0b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTIyLjIley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7dHJhbnNmb3JtOnNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7dHJhbnNmb3JtOnNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpfTQ0LjQley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTt0cmFuc2Zvcm06c2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpfTU1LjUley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTt0cmFuc2Zvcm06c2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpfTY2LjYley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKC0uNzgxMjVkZWcpIHNrZXdZKC0uNzgxMjVkZWcpO3RyYW5zZm9ybTpza2V3WCgtLjc4MTI1ZGVnKSBza2V3WSgtLjc4MTI1ZGVnKX03Ny43JXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCguMzkwNjI1ZGVnKSBza2V3WSguMzkwNjI1ZGVnKTt0cmFuc2Zvcm06c2tld1goLjM5MDYyNWRlZykgc2tld1koLjM5MDYyNWRlZyl9ODguOCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLS4xOTUzMTI1ZGVnKSBza2V3WSgtLjE5NTMxMjVkZWcpO3RyYW5zZm9ybTpza2V3WCgtLjE5NTMxMjVkZWcpIHNrZXdZKC0uMTk1MzEyNWRlZyl9fS5hbmltYXRlX19qZWxsb3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmplbGxvO2FuaW1hdGlvbi1uYW1lOmplbGxvOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9QC13ZWJraXQta2V5ZnJhbWVzIGhlYXJ0QmVhdHswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9MTQley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9Mjgley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX00MiV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTt0cmFuc2Zvcm06c2NhbGUoMS4zKX03MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGhlYXJ0QmVhdHswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9MTQley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9Mjgley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX00MiV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTt0cmFuc2Zvcm06c2NhbGUoMS4zKX03MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX0uYW5pbWF0ZV9faGVhcnRCZWF0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aGVhcnRCZWF0O2FuaW1hdGlvbi1uYW1lOmhlYXJ0QmVhdDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxLjNzO2FuaW1hdGlvbi1kdXJhdGlvbjoxLjNzOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMS4zKTthbmltYXRpb24tZHVyYXRpb246Y2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSoxLjMpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fUAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5Eb3duezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGJhY2tJbkRvd257MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9ODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9fS5hbmltYXRlX19iYWNrSW5Eb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YmFja0luRG93bjthbmltYXRpb24tbmFtZTpiYWNrSW5Eb3dufUAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGJhY2tJbkxlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9ODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9fS5hbmltYXRlX19iYWNrSW5MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YmFja0luTGVmdDthbmltYXRpb24tbmFtZTpiYWNrSW5MZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5SaWdodHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9ODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgYmFja0luUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX0uYW5pbWF0ZV9fYmFja0luUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpiYWNrSW5SaWdodDthbmltYXRpb24tbmFtZTpiYWNrSW5SaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luVXB7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNyk7b3BhY2l0eTouN310b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGJhY2tJblVwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN304MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX19LmFuaW1hdGVfX2JhY2tJblVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YmFja0luVXA7YW5pbWF0aW9uLW5hbWU6YmFja0luVXB9QC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXREb3duezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9fUBrZXlmcmFtZXMgYmFja091dERvd257MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN319LmFuaW1hdGVfX2JhY2tPdXREb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YmFja091dERvd247YW5pbWF0aW9uLW5hbWU6YmFja091dERvd259QC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXRMZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fX1Aa2V5ZnJhbWVzIGJhY2tPdXRMZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fX0uYW5pbWF0ZV9fYmFja091dExlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpiYWNrT3V0TGVmdDthbmltYXRpb24tbmFtZTpiYWNrT3V0TGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dFJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN319QGtleWZyYW1lcyBiYWNrT3V0UmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fX0uYW5pbWF0ZV9fYmFja091dFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YmFja091dFJpZ2h0O2FuaW1hdGlvbi1uYW1lOmJhY2tPdXRSaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dFVwezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHNjYWxlKC43KTtvcGFjaXR5Oi43fXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSguNyk7b3BhY2l0eTouN319QGtleWZyYW1lcyBiYWNrT3V0VXB7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSBzY2FsZSguNyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgc2NhbGUoLjcpO29wYWNpdHk6Ljd9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKC43KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKC43KTtvcGFjaXR5Oi43fX0uYW5pbWF0ZV9fYmFja091dFVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YmFja091dFVwO2FuaW1hdGlvbi1uYW1lOmJhY2tPdXRVcH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW57MCUsMjAlLDQwJSw2MCUsODAlLHRvey13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKTt0cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyl9MjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMSwxLjEsMS4xKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguOSwuOSwuOSk7dHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjAzLDEuMDMsMS4wMyk7dHJhbnNmb3JtOnNjYWxlM2QoMS4wMywxLjAzLDEuMDMpfTgwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC45NywuOTcsLjk3KTt0cmFuc2Zvcm06c2NhbGUzZCguOTcsLjk3LC45Nyl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfX1Aa2V5ZnJhbWVzIGJvdW5jZUluezAlLDIwJSw0MCUsNjAlLDgwJSx0b3std2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0wJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyk7dHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpfTIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMSwxLjEsMS4xKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSl9NDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpO3RyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4wMywxLjAzLDEuMDMpO3RyYW5zZm9ybTpzY2FsZTNkKDEuMDMsMS4wMywxLjAzKX04MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguOTcsLjk3LC45Nyk7dHJhbnNmb3JtOnNjYWxlM2QoLjk3LC45NywuOTcpfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX19LmFuaW1hdGVfX2JvdW5jZUluey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi43NXM7YW5pbWF0aW9uLWR1cmF0aW9uOi43NXM7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Y2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSowLjc1KTthbmltYXRpb24tZHVyYXRpb246Y2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSowLjc1KTstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluO2FuaW1hdGlvbi1uYW1lOmJvdW5jZUlufUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd257MCUsNjAlLDc1JSw5MCUsdG97LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTMwMDBweCwwKSBzY2FsZVkoMyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTMwMDBweCwwKSBzY2FsZVkoMyl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDI1cHgsMCkgc2NhbGVZKC45KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyNXB4LDApIHNjYWxlWSguOSl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCkgc2NhbGVZKC45NSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCkgc2NhbGVZKC45NSl9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNXB4LDApIHNjYWxlWSguOTg1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCw1cHgsMCkgc2NhbGVZKC45ODUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgYm91bmNlSW5Eb3duezAlLDYwJSw3NSUsOTAlLHRvey13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMDAwcHgsMCkgc2NhbGVZKDMpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zMDAwcHgsMCkgc2NhbGVZKDMpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyNXB4LDApIHNjYWxlWSguOSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjVweCwwKSBzY2FsZVkoLjkpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMHB4LDApIHNjYWxlWSguOTUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMHB4LDApIHNjYWxlWSguOTUpfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDVweCwwKSBzY2FsZVkoLjk4NSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNXB4LDApIHNjYWxlWSguOTg1KX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fYm91bmNlSW5Eb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5Eb3duO2FuaW1hdGlvbi1uYW1lOmJvdW5jZUluRG93bn1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0ezAlLDYwJSw3NSUsOTAlLHRvey13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMzAwMHB4LDAsMCkgc2NhbGVYKDMpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMzAwMHB4LDAsMCkgc2NhbGVYKDMpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjVweCwwLDApIHNjYWxlWCgxKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjVweCwwLDApIHNjYWxlWCgxKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwcHgsMCwwKSBzY2FsZVgoLjk4KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwcHgsMCwwKSBzY2FsZVgoLjk4KX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoNXB4LDAsMCkgc2NhbGVYKC45OTUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCg1cHgsMCwwKSBzY2FsZVgoLjk5NSl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBib3VuY2VJbkxlZnR7MCUsNjAlLDc1JSw5MCUsdG97LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0zMDAwcHgsMCwwKSBzY2FsZVgoMyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0zMDAwcHgsMCwwKSBzY2FsZVgoMyl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyNXB4LDAsMCkgc2NhbGVYKDEpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgyNXB4LDAsMCkgc2NhbGVYKDEpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTBweCwwLDApIHNjYWxlWCguOTgpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTBweCwwLDApIHNjYWxlWCguOTgpfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCg1cHgsMCwwKSBzY2FsZVgoLjk5NSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDVweCwwLDApIHNjYWxlWCguOTk1KX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fYm91bmNlSW5MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5MZWZ0O2FuaW1hdGlvbi1uYW1lOmJvdW5jZUluTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodHswJSw2MCUsNzUlLDkwJSx0b3std2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0wJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMzAwMHB4LDAsMCkgc2NhbGVYKDMpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgzMDAwcHgsMCwwKSBzY2FsZVgoMyl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjVweCwwLDApIHNjYWxlWCgxKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTI1cHgsMCwwKSBzY2FsZVgoMSl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKSBzY2FsZVgoLjk4KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTBweCwwLDApIHNjYWxlWCguOTgpfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNXB4LDAsMCkgc2NhbGVYKC45OTUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNXB4LDAsMCkgc2NhbGVYKC45OTUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgYm91bmNlSW5SaWdodHswJSw2MCUsNzUlLDkwJSx0b3std2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKX0wJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMzAwMHB4LDAsMCkgc2NhbGVYKDMpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgzMDAwcHgsMCwwKSBzY2FsZVgoMyl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjVweCwwLDApIHNjYWxlWCgxKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTI1cHgsMCwwKSBzY2FsZVgoMSl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwcHgsMCwwKSBzY2FsZVgoLjk4KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTBweCwwLDApIHNjYWxlWCguOTgpfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNXB4LDAsMCkgc2NhbGVYKC45OTUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNXB4LDAsMCkgc2NhbGVYKC45OTUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19ib3VuY2VJblJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5SaWdodDthbmltYXRpb24tbmFtZTpib3VuY2VJblJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwezAlLDYwJSw3NSUsOTAlLHRvey13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpfTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDMwMDBweCwwKSBzY2FsZVkoNSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMzAwMHB4LDApIHNjYWxlWSg1KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCkgc2NhbGVZKC45KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKSBzY2FsZVkoLjkpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCkgc2NhbGVZKC45NSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTBweCwwKSBzY2FsZVkoLjk1KX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNXB4LDApIHNjYWxlWSguOTg1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNXB4LDApIHNjYWxlWSguOTg1KX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGJvdW5jZUluVXB7MCUsNjAlLDc1JSw5MCUsdG97LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4yMTUsLjYxLC4zNTUsMSl9MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMzAwMHB4LDApIHNjYWxlWSg1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwzMDAwcHgsMCkgc2NhbGVZKDUpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKSBzY2FsZVkoLjkpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMHB4LDApIHNjYWxlWSguOSl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTBweCwwKSBzY2FsZVkoLjk1KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMHB4LDApIHNjYWxlWSguOTUpfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC01cHgsMCkgc2NhbGVZKC45ODUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC01cHgsMCkgc2NhbGVZKC45ODUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19ib3VuY2VJblVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5VcDthbmltYXRpb24tbmFtZTpib3VuY2VJblVwfUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXR7MjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpO3RyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KX01MCUsNTUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMSwxLjEsMS4xKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpO3RyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKX19QGtleWZyYW1lcyBib3VuY2VPdXR7MjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjksLjksLjkpO3RyYW5zZm9ybTpzY2FsZTNkKC45LC45LC45KX01MCUsNTUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEuMSwxLjEsMS4xKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpO3RyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKX19LmFuaW1hdGVfX2JvdW5jZU91dHstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMC43NSk7YW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMC43NSk7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXQ7YW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0fUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duezIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCkgc2NhbGVZKC45ODUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCkgc2NhbGVZKC45ODUpfTQwJSw0NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCkgc2NhbGVZKC45KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKSBzY2FsZVkoLjkpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKSBzY2FsZVkoMyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApIHNjYWxlWSgzKX19QGtleWZyYW1lcyBib3VuY2VPdXREb3duezIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCkgc2NhbGVZKC45ODUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwcHgsMCkgc2NhbGVZKC45ODUpfTQwJSw0NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwcHgsMCkgc2NhbGVZKC45KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjBweCwwKSBzY2FsZVkoLjkpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKSBzY2FsZVkoMyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApIHNjYWxlWSgzKX19LmFuaW1hdGVfX2JvdW5jZU91dERvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXREb3duO2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dERvd259QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnR7MjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMHB4LDAsMCkgc2NhbGVYKC45KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjBweCwwLDApIHNjYWxlWCguOSl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKSBzY2FsZVgoMik7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKSBzY2FsZVgoMil9fUBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdHsyMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwcHgsMCwwKSBzY2FsZVgoLjkpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMHB4LDAsMCkgc2NhbGVYKC45KX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApIHNjYWxlWCgyKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApIHNjYWxlWCgyKX19LmFuaW1hdGVfX2JvdW5jZU91dExlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXRMZWZ0O2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dExlZnR9QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0ezIwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwcHgsMCwwKSBzY2FsZVgoLjkpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjBweCwwLDApIHNjYWxlWCguOSl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApIHNjYWxlWCgyKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCkgc2NhbGVYKDIpfX1Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0ezIwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwcHgsMCwwKSBzY2FsZVgoLjkpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjBweCwwLDApIHNjYWxlWCguOSl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApIHNjYWxlWCgyKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCkgc2NhbGVYKDIpfX0uYW5pbWF0ZV9fYm91bmNlT3V0UmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXRSaWdodDthbmltYXRpb24tbmFtZTpib3VuY2VPdXRSaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXB7MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCkgc2NhbGVZKC45ODUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMHB4LDApIHNjYWxlWSguOTg1KX00MCUsNDUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwcHgsMCkgc2NhbGVZKC45KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMHB4LDApIHNjYWxlWSguOSl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKSBzY2FsZVkoMyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKSBzY2FsZVkoMyl9fUBrZXlmcmFtZXMgYm91bmNlT3V0VXB7MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwcHgsMCkgc2NhbGVZKC45ODUpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMHB4LDApIHNjYWxlWSguOTg1KX00MCUsNDUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwcHgsMCkgc2NhbGVZKC45KTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMHB4LDApIHNjYWxlWSguOSl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKSBzY2FsZVkoMyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKSBzY2FsZVkoMyl9fS5hbmltYXRlX19ib3VuY2VPdXRVcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFVwO2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dFVwfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyBmYWRlSW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19LmFuaW1hdGVfX2ZhZGVJbnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJbjthbmltYXRpb24tbmFtZTpmYWRlSW59QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd257MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgZmFkZUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2ZhZGVJbkRvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5Eb3duO2FuaW1hdGlvbi1uYW1lOmZhZGVJbkRvd259QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fZmFkZUluRG93bkJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJbkRvd25CaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZUluRG93bkJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBmYWRlSW5MZWZ0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fZmFkZUluTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJbkxlZnQ7YW5pbWF0aW9uLW5hbWU6ZmFkZUluTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZ3swJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZ3swJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19mYWRlSW5MZWZ0Qmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluTGVmdEJpZzthbmltYXRpb24tbmFtZTpmYWRlSW5MZWZ0QmlnfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgZmFkZUluUmlnaHR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fZmFkZUluUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5SaWdodDthbmltYXRpb24tbmFtZTpmYWRlSW5SaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZ3swJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fZmFkZUluUmlnaHRCaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5SaWdodEJpZzthbmltYXRpb24tbmFtZTpmYWRlSW5SaWdodEJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXB7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGZhZGVJblVwezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2ZhZGVJblVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluVXA7YW5pbWF0aW9uLW5hbWU6ZmFkZUluVXB9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgZmFkZUluVXBCaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2ZhZGVJblVwQmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluVXBCaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZUluVXBCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblRvcExlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwtMTAwJSwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBmYWRlSW5Ub3BMZWZ0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsLTEwMCUsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19mYWRlSW5Ub3BMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluVG9wTGVmdDthbmltYXRpb24tbmFtZTpmYWRlSW5Ub3BMZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Ub3BSaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwtMTAwJSwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBmYWRlSW5Ub3BSaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwtMTAwJSwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2ZhZGVJblRvcFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluVG9wUmlnaHQ7YW5pbWF0aW9uLW5hbWU6ZmFkZUluVG9wUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkJvdHRvbUxlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDEwMCUsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgZmFkZUluQm90dG9tTGVmdHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMTAwJSwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2ZhZGVJbkJvdHRvbUxlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5Cb3R0b21MZWZ0O2FuaW1hdGlvbi1uYW1lOmZhZGVJbkJvdHRvbUxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkJvdHRvbVJpZ2h0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMTAwJSwwKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBmYWRlSW5Cb3R0b21SaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDEwMCUsMCl9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19mYWRlSW5Cb3R0b21SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJbkJvdHRvbVJpZ2h0O2FuaW1hdGlvbi1uYW1lOmZhZGVJbkJvdHRvbVJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0ezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmFkZU91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowfX0uYW5pbWF0ZV9fZmFkZU91dHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXQ7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd257MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKX19QGtleWZyYW1lcyBmYWRlT3V0RG93bnswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApfX0uYW5pbWF0ZV9fZmFkZU91dERvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0RG93bjthbmltYXRpb24tbmFtZTpmYWRlT3V0RG93bn1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWd7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCl9fUBrZXlmcmFtZXMgZmFkZU91dERvd25CaWd7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDIwMDBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwyMDAwcHgsMCl9fS5hbmltYXRlX19mYWRlT3V0RG93bkJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXREb3duQmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVPdXREb3duQmlnfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCl9fUBrZXlmcmFtZXMgZmFkZU91dExlZnR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApfX0uYW5pbWF0ZV9fZmFkZU91dExlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0TGVmdDthbmltYXRpb24tbmFtZTpmYWRlT3V0TGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWd7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKX19QGtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZ3swJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0yMDAwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTIwMDBweCwwLDApfX0uYW5pbWF0ZV9fZmFkZU91dExlZnRCaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0TGVmdEJpZzthbmltYXRpb24tbmFtZTpmYWRlT3V0TGVmdEJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0ezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCl9fUBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0ezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCl9fS5hbmltYXRlX19mYWRlT3V0UmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0UmlnaHQ7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dFJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWd7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCl9fUBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDIwMDBweCwwLDApfX0uYW5pbWF0ZV9fZmFkZU91dFJpZ2h0Qmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFJpZ2h0QmlnO2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRSaWdodEJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKX19QGtleWZyYW1lcyBmYWRlT3V0VXB7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0xMDAlLDApfX0uYW5pbWF0ZV9fZmFkZU91dFVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFVwO2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRVcH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwQmlnezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCl9fUBrZXlmcmFtZXMgZmFkZU91dFVwQmlnezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCl9fS5hbmltYXRlX19mYWRlT3V0VXBCaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0VXBCaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dFVwQmlnfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VG9wTGVmdHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLC0xMDAlLDApfX1Aa2V5ZnJhbWVzIGZhZGVPdXRUb3BMZWZ0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsLTEwMCUsMCl9fS5hbmltYXRlX19mYWRlT3V0VG9wTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRUb3BMZWZ0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRUb3BMZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VG9wUmlnaHR7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsLTEwMCUsMCl9fUBrZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLC0xMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLC0xMDAlLDApfX0uYW5pbWF0ZV9fZmFkZU91dFRvcFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dFRvcFJpZ2h0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRUb3BSaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dEJvdHRvbVJpZ2h0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMTAwJSwwKX19QGtleWZyYW1lcyBmYWRlT3V0Qm90dG9tUmlnaHR7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwxMDAlLDApfX0uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbVJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dEJvdHRvbVJpZ2h0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRCb3R0b21SaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dEJvdHRvbUxlZnR7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDEwMCUsMCl9fUBrZXlmcmFtZXMgZmFkZU91dEJvdHRvbUxlZnR7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDEwMCUsMCl9fS5hbmltYXRlX19mYWRlT3V0Qm90dG9tTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRCb3R0b21MZWZ0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRCb3R0b21MZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBmbGlwezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigwKSByb3RhdGVZKC0xdHVybik7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigwKSByb3RhdGVZKC0xdHVybik7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9NDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgtMTkwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKC0xOTBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fTUwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoLTE3MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgtMTcwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59ODAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwuOTUsLjk1KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwuOTUsLjk1KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufXRvey13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59fUBrZXlmcmFtZXMgZmxpcHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgtMXR1cm4pO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgtMXR1cm4pOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fTQwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoLTE5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZVgoMSkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgtMTkwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH01MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKC0xNzBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoLTE3MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTgwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsLjk1LC45NSkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsLjk1LC45NSkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn10b3std2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGVYKDEpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlWCgxKSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufX0uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmxpcHstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZTtiYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmbGlwO2FuaW1hdGlvbi1uYW1lOmZsaXB9QC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblh7MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO29wYWNpdHk6MH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTIwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTIwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59NjAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO29wYWNpdHk6MX04MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTVkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCl9fUBrZXlmcmFtZXMgZmxpcEluWHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47b3BhY2l0eTowfTQwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn02MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7b3BhY2l0eToxfTgwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtNWRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC01ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KX19LmFuaW1hdGVfX2ZsaXBJblh7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50O2JhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmbGlwSW5YO2FuaW1hdGlvbi1uYW1lOmZsaXBJblh9QC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJbll7MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO29wYWNpdHk6MH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTIwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTIwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59NjAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpO29wYWNpdHk6MX04MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTVkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCl9fUBrZXlmcmFtZXMgZmxpcEluWXswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47b3BhY2l0eTowfTQwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMjBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMjBkZWcpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn02MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7b3BhY2l0eToxfTgwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtNWRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC01ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KX19LmFuaW1hdGVfX2ZsaXBJbll7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50O2JhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmbGlwSW5ZO2FuaW1hdGlvbi1uYW1lOmZsaXBJbll9QC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpfTMwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMjBkZWcpO29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmxpcE91dFh7MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCl9MzAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0yMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0yMGRlZyk7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO29wYWNpdHk6MH19LmFuaW1hdGVfX2ZsaXBPdXRYey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi43NXM7YW5pbWF0aW9uLWR1cmF0aW9uOi43NXM7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Y2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSowLjc1KTthbmltYXRpb24tZHVyYXRpb246Y2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSowLjc1KTstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXBPdXRYO2FuaW1hdGlvbi1uYW1lOmZsaXBPdXRYOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDtiYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fUAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WXswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTE1ZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTE1ZGVnKTtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZsaXBPdXRZezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpfTMwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTVkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTVkZWcpO29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtvcGFjaXR5OjB9fS5hbmltYXRlX19mbGlwT3V0WXstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNzVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNzVzOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMC43NSk7YW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMC43NSk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50O2JhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmbGlwT3V0WTthbmltYXRpb24tbmFtZTpmbGlwT3V0WX1ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApIHNrZXdYKC0zMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSBza2V3WCgtMzBkZWcpO29wYWNpdHk6MH02MCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goMjBkZWcpO3RyYW5zZm9ybTpza2V3WCgyMGRlZyk7b3BhY2l0eToxfTgwJXstd2Via2l0LXRyYW5zZm9ybTpza2V3WCgtNWRlZyk7dHJhbnNmb3JtOnNrZXdYKC01ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSBza2V3WCgtMzBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9NjAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKDIwZGVnKTt0cmFuc2Zvcm06c2tld1goMjBkZWcpO29wYWNpdHk6MX04MCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLTVkZWcpO3RyYW5zZm9ybTpza2V3WCgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX2xpZ2h0U3BlZWRJblJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6bGlnaHRTcGVlZEluUmlnaHQ7YW5pbWF0aW9uLW5hbWU6bGlnaHRTcGVlZEluUmlnaHQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9QC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKSBza2V3WCgzMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgc2tld1goMzBkZWcpO29wYWNpdHk6MH02MCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLTIwZGVnKTt0cmFuc2Zvcm06c2tld1goLTIwZGVnKTtvcGFjaXR5OjF9ODAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKDVkZWcpO3RyYW5zZm9ybTpza2V3WCg1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX1Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKSBza2V3WCgzMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgc2tld1goMzBkZWcpO29wYWNpdHk6MH02MCV7LXdlYmtpdC10cmFuc2Zvcm06c2tld1goLTIwZGVnKTt0cmFuc2Zvcm06c2tld1goLTIwZGVnKTtvcGFjaXR5OjF9ODAley13ZWJraXQtdHJhbnNmb3JtOnNrZXdYKDVkZWcpO3RyYW5zZm9ybTpza2V3WCg1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fbGlnaHRTcGVlZEluTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRJbkxlZnQ7YW5pbWF0aW9uLW5hbWU6bGlnaHRTcGVlZEluTGVmdDstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH1ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0ezAle29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goMzBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2tld1goMzBkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHR7MCV7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSBza2V3WCgzMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSBza2V3WCgzMGRlZyk7b3BhY2l0eTowfX0uYW5pbWF0ZV9fbGlnaHRTcGVlZE91dFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6bGlnaHRTcGVlZE91dFJpZ2h0O2FuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRPdXRSaWdodDstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59QC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0ezAle29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHNrZXdYKC0zMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnR7MCV7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgc2tld1goLTMwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKSBza2V3WCgtMzBkZWcpO29wYWNpdHk6MH19LmFuaW1hdGVfX2xpZ2h0U3BlZWRPdXRMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6bGlnaHRTcGVlZE91dExlZnQ7YW5pbWF0aW9uLW5hbWU6bGlnaHRTcGVlZE91dExlZnQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTIwMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMjAwZGVnKTtvcGFjaXR5OjB9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcm90YXRlSW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0yMDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTIwMGRlZyk7b3BhY2l0eTowfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfX0uYW5pbWF0ZV9fcm90YXRlSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVJbjthbmltYXRpb24tbmFtZTpyb3RhdGVJbjstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtvcGFjaXR5OjB9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7b3BhY2l0eTowfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfX0uYW5pbWF0ZV9fcm90YXRlSW5Eb3duTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZUluRG93bkxlZnQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlSW5Eb3duTGVmdDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbX1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtvcGFjaXR5OjB9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtvcGFjaXR5OjB9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtvcGFjaXR5OjF9fS5hbmltYXRlX19yb3RhdGVJbkRvd25SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZUluRG93blJpZ2h0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZUluRG93blJpZ2h0Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b219QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7b3BhY2l0eTowfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7b3BhY2l0eTowfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfX0uYW5pbWF0ZV9fcm90YXRlSW5VcExlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVJblVwTGVmdDthbmltYXRpb24tbmFtZTpyb3RhdGVJblVwTGVmdDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbX1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtvcGFjaXR5OjF9fS5hbmltYXRlX19yb3RhdGVJblVwUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVJblVwUmlnaHQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlSW5VcFJpZ2h0Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b219QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dHswJXtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDIwMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyMDBkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyByb3RhdGVPdXR7MCV7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyMDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjAwZGVnKTtvcGFjaXR5OjB9fS5hbmltYXRlX19yb3RhdGVPdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVPdXQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0ezAle29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdHswJXtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtvcGFjaXR5OjB9fS5hbmltYXRlX19yb3RhdGVPdXREb3duTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dERvd25MZWZ0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dERvd25MZWZ0Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tfUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHR7MCV7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0ezAle29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7b3BhY2l0eTowfX0uYW5pbWF0ZV9fcm90YXRlT3V0RG93blJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0RG93blJpZ2h0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dERvd25SaWdodDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tfUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnR7MCV7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0ezAle29wYWNpdHk6MX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7b3BhY2l0eTowfX0uYW5pbWF0ZV9fcm90YXRlT3V0VXBMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0VXBMZWZ0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dFVwTGVmdDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbX1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodHswJXtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodHswJXtvcGFjaXR5OjF9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtvcGFjaXR5OjB9fS5hbmltYXRlX19yb3RhdGVPdXRVcFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0VXBSaWdodDthbmltYXRpb24tbmFtZTpyb3RhdGVPdXRVcFJpZ2h0Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b219QC13ZWJraXQta2V5ZnJhbWVzIGhpbmdlezAley13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fTIwJSw2MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDgwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH00MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg2MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNzAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNzAwcHgsMCk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGhpbmdlezAley13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fTIwJSw2MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDgwZGVnKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH00MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg2MGRlZyk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7b3BhY2l0eToxfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNzAwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsNzAwcHgsMCk7b3BhY2l0eTowfX0uYW5pbWF0ZV9faGluZ2V7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MnM7YW5pbWF0aW9uLWR1cmF0aW9uOjJzOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMik7YW5pbWF0aW9uLWR1cmF0aW9uOmNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikqMik7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpoaW5nZTthbmltYXRpb24tbmFtZTpoaW5nZTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgamFja0luVGhlQm94ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgcm90YXRlKDMwZGVnKTt0cmFuc2Zvcm06c2NhbGUoLjEpIHJvdGF0ZSgzMGRlZyk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMGRlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzZGVnKTt0cmFuc2Zvcm06cm90YXRlKDNkZWcpfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgamFja0luVGhlQm94ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgcm90YXRlKDMwZGVnKTt0cmFuc2Zvcm06c2NhbGUoLjEpIHJvdGF0ZSgzMGRlZyk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMGRlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzZGVnKTt0cmFuc2Zvcm06cm90YXRlKDNkZWcpfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fS5hbmltYXRlX19qYWNrSW5UaGVCb3h7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpqYWNrSW5UaGVCb3g7YW5pbWF0aW9uLW5hbWU6amFja0luVGhlQm94fUAtd2Via2l0LWtleWZyYW1lcyByb2xsSW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgcm90YXRlKC0xMjBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHJvdGF0ZSgtMTIwZGVnKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyByb2xsSW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgcm90YXRlKC0xMjBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHJvdGF0ZSgtMTIwZGVnKX10b3tvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX3JvbGxJbnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvbGxJbjthbmltYXRpb24tbmFtZTpyb2xsSW59QC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgcm90YXRlKDEyMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKSByb3RhdGUoMTIwZGVnKX19QGtleWZyYW1lcyByb2xsT3V0ezAle29wYWNpdHk6MX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApIHJvdGF0ZSgxMjBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgcm90YXRlKDEyMGRlZyl9fS5hbmltYXRlX19yb2xsT3V0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm9sbE91dDthbmltYXRpb24tbmFtZTpyb2xsT3V0fUAtd2Via2l0LWtleWZyYW1lcyB6b29tSW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpO3RyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKX01MCV7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHpvb21JbnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyk7dHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpfTUwJXtvcGFjaXR5OjF9fS5hbmltYXRlX196b29tSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tSW47YW5pbWF0aW9uLW5hbWU6em9vbUlufUAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLC0xMDAwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsLTEwMDBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLDYwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsNjBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKX19QGtleWZyYW1lcyB6b29tSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLC0xMDAwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsLTEwMDBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLDYwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsNjBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKX19LmFuaW1hdGVfX3pvb21JbkRvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tSW5Eb3duO2FuaW1hdGlvbi1uYW1lOnpvb21JbkRvd259QC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwwLDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwwLDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpfX1Aa2V5ZnJhbWVzIHpvb21JbkxlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwwLDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwwLDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpfX0uYW5pbWF0ZV9fem9vbUluTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnpvb21JbkxlZnQ7YW5pbWF0aW9uLW5hbWU6em9vbUluTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsMCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwwLDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpfX1Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LDAsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsMCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKX19LmFuaW1hdGVfX3pvb21JblJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbUluUmlnaHQ7YW5pbWF0aW9uLW5hbWU6em9vbUluUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLDEwMDBweCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwxMDAwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCwtNjBweCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCwtNjBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKX19QGtleWZyYW1lcyB6b29tSW5VcHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwxMDAwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsMTAwMHB4LDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsLTYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSl9fS5hbmltYXRlX196b29tSW5VcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnpvb21JblVwO2FuaW1hdGlvbi1uYW1lOnpvb21JblVwfUAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0ezAle29wYWNpdHk6MX01MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjMsLjMsLjMpO3RyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgem9vbU91dHswJXtvcGFjaXR5OjF9NTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4zLC4zLC4zKTt0cmFuc2Zvcm06c2NhbGUzZCguMywuMywuMyl9dG97b3BhY2l0eTowfX0uYW5pbWF0ZV9fem9vbU91dHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnpvb21PdXQ7YW5pbWF0aW9uLW5hbWU6em9vbU91dH1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dERvd257NDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLC02MHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLC02MHB4LDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwyMDAwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpfX1Aa2V5ZnJhbWVzIHpvb21PdXREb3duezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCwtNjBweCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCwtNjBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsMjAwMHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLDIwMDBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKX19LmFuaW1hdGVfX3pvb21PdXREb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbU91dERvd247YW5pbWF0aW9uLW5hbWU6em9vbU91dERvd247LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tfUAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdHs0MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsMCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwwLDApfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwwLDApO3RyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwwLDApfX1Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0ezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LDAsMCl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LDAsMCl9fS5hbmltYXRlX196b29tT3V0TGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnpvb21PdXRMZWZ0O2FuaW1hdGlvbi1uYW1lOnpvb21PdXRMZWZ0Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgY2VudGVyfUAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHR7NDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwwLDApfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKX19QGtleWZyYW1lcyB6b29tT3V0UmlnaHR7NDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwwLDApfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LDAsMCk7dHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsMCwwKX19LmFuaW1hdGVfX3pvb21PdXRSaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnpvb21PdXRSaWdodDthbmltYXRpb24tbmFtZTp6b29tT3V0UmlnaHQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGNlbnRlcn1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguNDc1LC40NzUsLjQ3NSkgdHJhbnNsYXRlM2QoMCw2MHB4LDApO3RyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLDYwcHgsMCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjU1LC4wNTUsLjY3NSwuMTkpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC4xLC4xLC4xKSB0cmFuc2xhdGUzZCgwLC0yMDAwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMSk7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKX19QGtleWZyYW1lcyB6b29tT3V0VXB7NDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKC40NzUsLjQ3NSwuNDc1KSB0cmFuc2xhdGUzZCgwLDYwcHgsMCk7dHJhbnNmb3JtOnNjYWxlM2QoLjQ3NSwuNDc1LC40NzUpIHRyYW5zbGF0ZTNkKDAsNjBweCwwKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC41NSwuMDU1LC42NzUsLjE5KTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNTUsLjA1NSwuNjc1LC4xOSl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjEsLjEsLjEpIHRyYW5zbGF0ZTNkKDAsLTIwMDBweCwwKTt0cmFuc2Zvcm06c2NhbGUzZCguMSwuMSwuMSkgdHJhbnNsYXRlM2QoMCwtMjAwMHB4LDApOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxKTthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEpfX0uYW5pbWF0ZV9fem9vbU91dFVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbU91dFVwO2FuaW1hdGlvbi1uYW1lOnpvb21PdXRVcDstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b219QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7dmlzaWJpbGl0eTp2aXNpYmxlfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgc2xpZGVJbkRvd257MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtMTAwJSwwKTt2aXNpYmlsaXR5OnZpc2libGV9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX3NsaWRlSW5Eb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVJbkRvd247YW5pbWF0aW9uLW5hbWU6c2xpZGVJbkRvd259QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dmlzaWJpbGl0eTp2aXNpYmxlfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgc2xpZGVJbkxlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt2aXNpYmlsaXR5OnZpc2libGV9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19LmFuaW1hdGVfX3NsaWRlSW5MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVJbkxlZnQ7YW5pbWF0aW9uLW5hbWU6c2xpZGVJbkxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5SaWdodHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt2aXNpYmlsaXR5OnZpc2libGV9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QGtleWZyYW1lcyBzbGlkZUluUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dmlzaWJpbGl0eTp2aXNpYmxlfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fS5hbmltYXRlX19zbGlkZUluUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzbGlkZUluUmlnaHQ7YW5pbWF0aW9uLW5hbWU6c2xpZGVJblJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXB7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCk7dmlzaWJpbGl0eTp2aXNpYmxlfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgc2xpZGVJblVwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMTAwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApO3Zpc2liaWxpdHk6dmlzaWJsZX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfX0uYW5pbWF0ZV9fc2xpZGVJblVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVJblVwO2FuaW1hdGlvbi1uYW1lOnNsaWRlSW5VcH1ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9dG97dmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCl9fUBrZXlmcmFtZXMgc2xpZGVPdXREb3duezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9dG97dmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwxMDAlLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDEwMCUsMCl9fS5hbmltYXRlX19zbGlkZU91dERvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzbGlkZU91dERvd247YW5pbWF0aW9uLW5hbWU6c2xpZGVPdXREb3dufUAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dExlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX10b3t2aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApfX1Aa2V5ZnJhbWVzIHNsaWRlT3V0TGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve3Zpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCl9fS5hbmltYXRlX19zbGlkZU91dExlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzbGlkZU91dExlZnQ7YW5pbWF0aW9uLW5hbWU6c2xpZGVPdXRMZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9dG97dmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCl9fUBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve3Zpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfX0uYW5pbWF0ZV9fc2xpZGVPdXRSaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnNsaWRlT3V0UmlnaHQ7YW5pbWF0aW9uLW5hbWU6c2xpZGVPdXRSaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRVcHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve3Zpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCl9fUBrZXlmcmFtZXMgc2xpZGVPdXRVcHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfXRve3Zpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTEwMCUsMCl9fS5hbmltYXRlX19zbGlkZU91dFVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVPdXRVcDthbmltYXRpb24tbmFtZTpzbGlkZU91dFVwfQ0KDQovKg0KTWFnbmlmaWMgcG9wdXANClZlcnNpb246IDEuMS4wIC0gMjAxNi0wMi0yMA0KUGx1Z2luIFVSSTogaHR0cDovL2RpbXNlbWVub3YuY29tL3BsdWdpbnMvbWFnbmlmaWMtcG9wdXAvDQpMaWNlbnNlOiBDb3B5cmlnaHQgKGMpIDIwMTYgRG1pdHJ5IFNlbWVub3YNCiovDQoubWZwLWNvbnRhaW5lciAqe3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOm5vbmU7LW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpub25lOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bm9uZTstby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpub25lO3RyYW5zaXRpb24tZHVyYXRpb246MHM7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOjBzOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjowczstby10cmFuc2l0aW9uLWR1cmF0aW9uOjBzfS5tZnAtYmd7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxMDQyO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpmaXhlZDtiYWNrZ3JvdW5kOiMwYjBiMGI7b3BhY2l0eTouOH0ubWZwLXdyYXB7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxMDQzO3Bvc2l0aW9uOmZpeGVkO291dGxpbmU6MCFpbXBvcnRhbnQ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ubWZwLWNvbnRhaW5lcnt0ZXh0LWFsaWduOmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MDtwYWRkaW5nOjAgOHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubWZwLWNvbnRhaW5lcjpiZWZvcmV7Y29udGVudDonJztkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTAwJTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3Jle2Rpc3BsYXk6bm9uZX0ubWZwLWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbjowIGF1dG87dGV4dC1hbGlnbjpsZWZ0O3otaW5kZXg6MTA0NX0ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCwubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50e3dpZHRoOjEwMCU7Y3Vyc29yOmF1dG99Lm1mcC1hamF4LWN1cntjdXJzb3I6cHJvZ3Jlc3N9Lm1mcC16b29tLW91dC1jdXIsLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZXtjdXJzb3I6LW1vei16b29tLW91dDtjdXJzb3I6LXdlYmtpdC16b29tLW91dDtjdXJzb3I6em9vbS1vdXR9Lm1mcC16b29te2N1cnNvcjpwb2ludGVyO2N1cnNvcjotd2Via2l0LXpvb20taW47Y3Vyc29yOi1tb3otem9vbS1pbjtjdXJzb3I6em9vbS1pbn0ubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudHtjdXJzb3I6YXV0b30ubWZwLWFycm93LC5tZnAtY2xvc2UsLm1mcC1jb3VudGVyLC5tZnAtcHJlbG9hZGVyey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZXtkaXNwbGF5Om5vbmV9Lm1mcC1oaWRle2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9Lm1mcC1wcmVsb2FkZXJ7Y29sb3I6I2NjYztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOmF1dG87dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLXRvcDotLjhlbTtsZWZ0OjhweDtyaWdodDo4cHg7ei1pbmRleDoxMDQ0fS5tZnAtcHJlbG9hZGVyIGF7Y29sb3I6I2NjY30ubWZwLXByZWxvYWRlciBhOmhvdmVye2NvbG9yOiNmZmZ9Lm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVye2Rpc3BsYXk6bm9uZX0ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50e2Rpc3BsYXk6bm9uZX1idXR0b24ubWZwLWFycm93LGJ1dHRvbi5tZnAtY2xvc2V7b3ZlcmZsb3c6dmlzaWJsZTtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtkaXNwbGF5OmJsb2NrO291dGxpbmU6MDtwYWRkaW5nOjA7ei1pbmRleDoxMDQ2O2JveC1zaGFkb3c6bm9uZTt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntwYWRkaW5nOjA7Ym9yZGVyOjB9Lm1mcC1jbG9zZXt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2xpbmUtaGVpZ2h0OjQ0cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtvcGFjaXR5Oi42NTtwYWRkaW5nOjAgMCAxOHB4IDEwcHg7Y29sb3I6I2ZmZjtmb250LXN0eWxlOm5vcm1hbDtmb250LXNpemU6MjhweDtmb250LWZhbWlseTpBcmlhbCxCYXNrZXJ2aWxsZSxtb25vc3BhY2V9Lm1mcC1jbG9zZTpmb2N1cywubWZwLWNsb3NlOmhvdmVye29wYWNpdHk6MX0ubWZwLWNsb3NlOmFjdGl2ZXt0b3A6MXB4fS5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2V7Y29sb3I6IzMzM30ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSwubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3Nle2NvbG9yOiNmZmY7cmlnaHQ6LTZweDt0ZXh0LWFsaWduOnJpZ2h0O3BhZGRpbmctcmlnaHQ6NnB4O3dpZHRoOjEwMCV9Lm1mcC1jb3VudGVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Y29sb3I6I2NjYztmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxOHB4O3doaXRlLXNwYWNlOm5vd3JhcH0ubWZwLWFycm93e3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6LjY1O21hcmdpbjowO3RvcDo1MCU7bWFyZ2luLXRvcDotMzVweDtwYWRkaW5nOjA7d2lkdGg6NjBweDtoZWlnaHQ6NjBweDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm1mcC1hcnJvdzpmb2N1cywubWZwLWFycm93OmhvdmVye29wYWNpdHk6MX0ubWZwLWFycm93OmFmdGVyLC5tZnAtYXJyb3c6YmVmb3Jle2NvbnRlbnQ6Jyc7ZGlzcGxheTpibG9jazt3aWR0aDowO2hlaWdodDowO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtib3JkZXI6bWVkaXVtIGluc2V0IHRyYW5zcGFyZW50fS5tZnAtYXJyb3ctbGVmdHtsZWZ0OjQwcHh9Lm1mcC1hcnJvdy1yaWdodHtyaWdodDo0MHB4fS5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXJ7Ym9yZGVyLWxlZnQ6MTdweCBzb2xpZCAjZmZmO21hcmdpbi1sZWZ0OjM5cHh9Lm1mcC1pZnJhbWUtaG9sZGVye3BhZGRpbmctdG9wOjQwcHg7cGFkZGluZy1ib3R0b206NDBweH0ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50e2xpbmUtaGVpZ2h0OjA7d2lkdGg6MTAwJTttYXgtd2lkdGg6OTAwcHh9Lm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2V7dG9wOi00MHB4fS5tZnAtaWZyYW1lLXNjYWxlcnt3aWR0aDoxMDAlO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDo1Ni4yNSV9Lm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JveC1zaGFkb3c6MCAwIDhweCByZ2JhKDAsMCwwLC42KTtiYWNrZ3JvdW5kOiMwMDB9aW1nLm1mcC1pbWd7d2lkdGg6YXV0bzttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0bztkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjA7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NDBweCAwIDQwcHg7bWFyZ2luOjAgYXV0b30ubWZwLWZpZ3VyZXtsaW5lLWhlaWdodDowfS5tZnAtZmlndXJlOmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDo0MHB4O2JvdHRvbTo0MHB4O2Rpc3BsYXk6YmxvY2s7cmlnaHQ6MDt3aWR0aDphdXRvO2hlaWdodDphdXRvO3otaW5kZXg6LTE7Ym94LXNoYWRvdzowIDAgOHB4IHJnYmEoMCwwLDAsLjYpO2JhY2tncm91bmQ6IzQ0NH0ubWZwLWZpZ3VyZSBzbWFsbHtjb2xvcjojYmRiZGJkO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ubWZwLWZpZ3VyZSBmaWd1cmV7bWFyZ2luOjB9Lm1mcC1ib3R0b20tYmFye21hcmdpbi10b3A6LTM2cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDowO3dpZHRoOjEwMCU7Y3Vyc29yOmF1dG99Lm1mcC10aXRsZXt0ZXh0LWFsaWduOmxlZnQ7bGluZS1oZWlnaHQ6MThweDtjb2xvcjojZjNmM2YzO3dvcmQtd3JhcDpicmVhay13b3JkO3BhZGRpbmctcmlnaHQ6MzZweH0ubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnR7bWF4LXdpZHRoOjEwMCV9Lm1mcC1nYWxsZXJ5IC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtZmlndXJle2N1cnNvcjpwb2ludGVyfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ODAwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSxzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OjMwMHB4KXsubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXJ7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZ3twYWRkaW5nOjB9Lm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVye3RvcDowO2JvdHRvbTowfS5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbHtkaXNwbGF5OmlubGluZTttYXJnaW4tbGVmdDo1cHh9Lm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvdHRvbTowO21hcmdpbjowO3RvcDphdXRvO3BhZGRpbmc6M3B4IDVweDtwb3NpdGlvbjpmaXhlZDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eXtwYWRkaW5nOjB9Lm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlcntyaWdodDo1cHg7dG9wOjNweH0ubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZXt0b3A6MDtyaWdodDowO3dpZHRoOjM1cHg7aGVpZ2h0OjM1cHg7bGluZS1oZWlnaHQ6MzVweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO3Bvc2l0aW9uOmZpeGVkO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MH19QG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDo5MDBweCl7Lm1mcC1hcnJvd3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNzUpO3RyYW5zZm9ybTpzY2FsZSguNzUpfS5tZnAtYXJyb3ctbGVmdHstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MDt0cmFuc2Zvcm0tb3JpZ2luOjB9Lm1mcC1hcnJvdy1yaWdodHstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MTAwJTt0cmFuc2Zvcm0tb3JpZ2luOjEwMCV9Lm1mcC1jb250YWluZXJ7cGFkZGluZy1sZWZ0OjZweDtwYWRkaW5nLXJpZ2h0OjZweH19DQoNCi8qDQpDdXN0b20gc2Nyb2xsYmFyIC0ganF1ZXJ5IG1vdXNld2hlZWwgcGx1Z2luDQpWZXJzaW9uOiAzLjEuMTMNClBsdWdpbiBVUkk6IGh0dHA6Ly9tYW5vcy5tYWxpaHUuZ3IvanF1ZXJ5LWN1c3RvbS1jb250ZW50LXNjcm9sbGVyDQpMaWNlbnNlOiBDb3B5cmlnaHQgTWFub3MgTWFsaWh1dHNha2lzIHwgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlDQoqLw0KLm1DdXN0b21TY3JvbGxiYXJ7LW1zLXRvdWNoLWFjdGlvbjpwaW5jaC16b29tO3RvdWNoLWFjdGlvbjpwaW5jaC16b29tfS5tQ3VzdG9tU2Nyb2xsYmFyLm1DU19ub19zY3JvbGxiYXIsLm1DdXN0b21TY3JvbGxiYXIubUNTX3RvdWNoX2FjdGlvbnstbXMtdG91Y2gtYWN0aW9uOmF1dG87dG91Y2gtYWN0aW9uOmF1dG99Lm1DdXN0b21TY3JvbGxCb3h7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO291dGxpbmU6MDtkaXJlY3Rpb246bHRyfS5tQ1NCX2NvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW47d2lkdGg6YXV0bztoZWlnaHQ6YXV0b30ubUNTQl9pbnNpZGU+Lm1DU0JfY29udGFpbmVye21hcmdpbi1yaWdodDozMHB4fS5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVue21hcmdpbi1yaWdodDowfS5tQ1MtZGlyLXJ0bD4ubUNTQl9pbnNpZGU+Lm1DU0JfY29udGFpbmVye21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjMwcHh9Lm1DUy1kaXItcnRsPi5tQ1NCX2luc2lkZT4ubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbnttYXJnaW4tbGVmdDowfS5tQ1NCX3Njcm9sbFRvb2xze3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE2cHg7aGVpZ2h0OmF1dG87bGVmdDphdXRvO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7b3BhY2l0eTouNzU7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTc1KSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT03NSkifS5tQ1NCX291dHNpZGUrLm1DU0Jfc2Nyb2xsVG9vbHN7cmlnaHQ6LTI2cHh9Lm1DUy1kaXItcnRsPi5tQ1NCX2luc2lkZT4ubUNTQl9zY3JvbGxUb29scywubUNTLWRpci1ydGw+Lm1DU0Jfb3V0c2lkZSsubUNTQl9zY3JvbGxUb29sc3tyaWdodDphdXRvO2xlZnQ6MH0ubUNTLWRpci1ydGw+Lm1DU0Jfb3V0c2lkZSsubUNTQl9zY3JvbGxUb29sc3tsZWZ0Oi0yNnB4fS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2JvdHRvbTowO3JpZ2h0OjA7aGVpZ2h0OmF1dG99Lm1DU0Jfc2Nyb2xsVG9vbHMgYSsubUNTQl9kcmFnZ2VyQ29udGFpbmVye21hcmdpbjoyMHB4IDB9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6MnB4O2hlaWdodDoxMDAlO21hcmdpbjowIGF1dG87LXdlYmtpdC1ib3JkZXItcmFkaXVzOjE2cHg7LW1vei1ib3JkZXItcmFkaXVzOjE2cHg7Ym9yZGVyLXJhZGl1czoxNnB4fS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJ7Y3Vyc29yOnBvaW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MzBweDt6LWluZGV4OjF9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo0cHg7aGVpZ2h0OjEwMCU7bWFyZ2luOjAgYXV0bzstd2Via2l0LWJvcmRlci1yYWRpdXM6MTZweDstbW96LWJvcmRlci1yYWRpdXM6MTZweDtib3JkZXItcmFkaXVzOjE2cHg7dGV4dC1hbGlnbjpjZW50ZXJ9Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2JhciwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye3dpZHRoOjEycHh9Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCsubUNTQl9kcmFnZ2VyUmFpbCwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHt3aWR0aDo4cHh9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biwubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoyMHB4O3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowIGF1dG87Y3Vyc29yOnBvaW50ZXJ9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntib3R0b206MH0ubUNTQl9ob3Jpem9udGFsLm1DU0JfaW5zaWRlPi5tQ1NCX2NvbnRhaW5lcnttYXJnaW4tcmlnaHQ6MDttYXJnaW4tYm90dG9tOjMwcHh9Lm1DU0JfaG9yaXpvbnRhbC5tQ1NCX291dHNpZGU+Lm1DU0JfY29udGFpbmVye21pbi1oZWlnaHQ6MTAwJX0ubUNTQl9ob3Jpem9udGFsPi5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVue21hcmdpbi1ib3R0b206MH0ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7d2lkdGg6YXV0bztoZWlnaHQ6MTZweDt0b3A6YXV0bztyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ubUN1c3RvbVNjcm9sbEJveCsubUNTQl9zY3JvbGxUb29scysubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsLm1DdXN0b21TY3JvbGxCb3grLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFse2JvdHRvbTotMjZweH0ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgYSsubUNTQl9kcmFnZ2VyQ29udGFpbmVye21hcmdpbjowIDIwcHh9Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjEwMCU7aGVpZ2h0OjJweDttYXJnaW46N3B4IDB9Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJ7d2lkdGg6MzBweDtoZWlnaHQ6MTAwJTtsZWZ0OjB9Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O21hcmdpbjo2cHggYXV0b30ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2hlaWdodDoxMnB4O21hcmdpbjoycHggYXV0b30ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQrLm1DU0JfZHJhZ2dlclJhaWwsLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtoZWlnaHQ6OHB4O21hcmdpbjo0cHggMH0ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uTGVmdCwubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uUmlnaHR7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyMHB4O2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjttYXJnaW46MCBhdXRvO2N1cnNvcjpwb2ludGVyfS5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9idXR0b25MZWZ0e2xlZnQ6MH0ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uUmlnaHR7cmlnaHQ6MH0ubUNTQl9jb250YWluZXJfd3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO292ZXJmbG93OmhpZGRlbjt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDttYXJnaW4tcmlnaHQ6MzBweDttYXJnaW4tYm90dG9tOjMwcHh9Lm1DU0JfY29udGFpbmVyX3dyYXBwZXI+Lm1DU0JfY29udGFpbmVye3BhZGRpbmctcmlnaHQ6MzBweDtwYWRkaW5nLWJvdHRvbTozMHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsPi5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7Ym90dG9tOjIwcHh9Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbD4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7cmlnaHQ6MjBweH0ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVuKy5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7Ym90dG9tOjB9Lm1DUy1kaXItcnRsPi5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZT4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsLm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbisubUNTQl9zY3JvbGxUb29sc34ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7cmlnaHQ6MH0ubUNTLWRpci1ydGw+Lm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlPi5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHtsZWZ0OjIwcHh9Lm1DUy1kaXItcnRsPi5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZT4ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuKy5tQ1NCX3Njcm9sbFRvb2xzfi5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHtsZWZ0OjB9Lm1DUy1kaXItcnRsPi5tQ1NCX2luc2lkZT4ubUNTQl9jb250YWluZXJfd3JhcHBlcnttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDozMHB4fS5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW4+Lm1DU0JfY29udGFpbmVye3BhZGRpbmctcmlnaHQ6MH0ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVuPi5tQ1NCX2NvbnRhaW5lcntwYWRkaW5nLWJvdHRvbTowfS5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZT4ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVue21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9Lm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlPi5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW57bWFyZ2luLWJvdHRvbTowfS5tQ1NCX3Njcm9sbFRvb2xzLC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCwubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCwubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0fS5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyUmFpbCwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlcl9iYXJ7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlLW91dCAuMnMsaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycyxtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycyxtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLWJvdHRvbSAuMnMgZWFzZS1vdXQgLjJzLG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZS1vdXQgLjJzLGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycyxvcGFjaXR5IC4ycyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlLW91dCAuMnMsaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycyxtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycyxtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLWJvdHRvbSAuMnMgZWFzZS1vdXQgLjJzLG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246d2lkdGggLjJzIGVhc2Utb3V0IC4ycyxoZWlnaHQgLjJzIGVhc2Utb3V0IC4ycyxtYXJnaW4tbGVmdCAuMnMgZWFzZS1vdXQgLjJzLG1hcmdpbi1yaWdodCAuMnMgZWFzZS1vdXQgLjJzLG1hcmdpbi10b3AgLjJzIGVhc2Utb3V0IC4ycyxtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXR9Lm1DUy1hdXRvSGlkZT4ubUN1c3RvbVNjcm9sbEJveD4ubUNTQl9zY3JvbGxUb29scywubUNTLWF1dG9IaWRlPi5tQ3VzdG9tU2Nyb2xsQm94fi5tQ1NCX3Njcm9sbFRvb2xze29wYWNpdHk6MDtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9MCkiOy1tcy1maWx0ZXI6ImFscGhhKG9wYWNpdHk9MCkifS5tQ1MtYXV0b0hpZGU6aG92ZXI+Lm1DdXN0b21TY3JvbGxCb3g+Lm1DU0Jfc2Nyb2xsVG9vbHMsLm1DUy1hdXRvSGlkZTpob3Zlcj4ubUN1c3RvbVNjcm9sbEJveH4ubUNTQl9zY3JvbGxUb29scywubUN1c3RvbVNjcm9sbEJveDpob3Zlcj4ubUNTQl9zY3JvbGxUb29scywubUN1c3RvbVNjcm9sbEJveDpob3Zlcn4ubUNTQl9zY3JvbGxUb29scywubUN1c3RvbVNjcm9sbGJhcj4ubUN1c3RvbVNjcm9sbEJveD4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZywubUN1c3RvbVNjcm9sbGJhcj4ubUN1c3RvbVNjcm9sbEJveH4ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ3tvcGFjaXR5OjE7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTEwMCkiOy1tcy1maWx0ZXI6ImFscGhhKG9wYWNpdHk9MTAwKSJ9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNCk7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTQwKSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT00MCkifS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpO2ZpbHRlcjoiYWxwaGEob3BhY2l0eT03NSkiOy1tcy1maWx0ZXI6ImFscGhhKG9wYWNpdHk9NzUpIn0ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjg1KTtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9ODUpIjstbXMtZmlsdGVyOiJhbHBoYShvcGFjaXR5PTg1KSJ9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpO2ZpbHRlcjoiYWxwaGEob3BhY2l0eT05MCkiOy1tcy1maWx0ZXI6ImFscGhhKG9wYWNpdHk9OTApIn0ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1pbWFnZTp1cmwoIm1DU0JfYnV0dG9ucy5odG1sIik7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O29wYWNpdHk6LjQ7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTQwKSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT00MCkifS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246MCAwfS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yMHB4fS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC00MHB4fS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246MCAtNTZweH0ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duOmhvdmVyLC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQ6aG92ZXIsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQ6aG92ZXIsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXA6aG92ZXJ7b3BhY2l0eTouNzU7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTc1KSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT03NSkifS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd246YWN0aXZlLC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQ6YWN0aXZlLC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0OmFjdGl2ZSwubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcDphY3RpdmV7b3BhY2l0eTouOTtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9OTApIjstbXMtZmlsdGVyOiJhbHBoYShvcGFjaXR5PTkwKSJ9Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMTUpfS5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNzUpfS5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44NSl9Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAwfS5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMjBweH0ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTQwcHh9Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtNTZweH0ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjRweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKTstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4Oy1tb3otYm9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyLXJhZGl1czoxcHh9Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7d2lkdGg6NHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjc1KTstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4Oy1tb3otYm9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyLXJhZGl1czoxcHh9Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjEwMCU7aGVpZ2h0OjRweDttYXJnaW46NnB4IGF1dG99Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44NSl9Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpfS5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246LTMycHggMH0ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTIwcHh9Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MHB4IC00MHB4fS5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTQwcHggLTU2cHh9Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4Oy1tb3otYm9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyLXJhZGl1czoxcHh9Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjc1KTstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4Oy1tb3otYm9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyLXJhZGl1czoxcHh9Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg1KX0ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjkpfS5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggMH0ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTIwcHh9Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IC00MHB4fS5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTU2cHh9Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjRweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKTstd2Via2l0LWJvcmRlci1yYWRpdXM6MnB4Oy1tb3otYm9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLXJhZGl1czoycHh9Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnt3aWR0aDo2cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpOy13ZWJraXQtYm9yZGVyLXJhZGl1czoycHg7LW1vei1ib3JkZXItcmFkaXVzOjJweDtib3JkZXItcmFkaXVzOjJweH0ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjEwMCU7aGVpZ2h0OjRweDttYXJnaW46NnB4IDB9Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7d2lkdGg6MTAwJTtoZWlnaHQ6NnB4O21hcmdpbjo1cHggYXV0b30ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44NSl9Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOSl9Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggMH0ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0yMHB4fS5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTIwcHggLTQwcHh9Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTIwcHggLTU2cHh9Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMSk7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjJweDstbW96LWJvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1yYWRpdXM6MnB4fS5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNzUpOy13ZWJraXQtYm9yZGVyLXJhZGl1czoycHg7LW1vei1ib3JkZXItcmFkaXVzOjJweDtib3JkZXItcmFkaXVzOjJweH0ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg1KX0ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAwfS5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMjBweH0ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTEwMHB4IC00MHB4fS5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTEwMHB4IC01NnB4fS5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye3dpZHRoOjJweH0ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHt3aWR0aDoxMDAlfS5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnt3aWR0aDoxMDAlO2hlaWdodDoycHg7bWFyZ2luOjdweCBhdXRvfS5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMTUpfS5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43NSl9Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg1KX0ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjkpfS5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAwfS5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0yMHB4fS5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC00MHB4fS5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtNTZweH0ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xNSl9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciwubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2Vye2hlaWdodDoxNHB4fS5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnt3aWR0aDoxNHB4O21hcmdpbjowIDFweH0ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciwubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcnt3aWR0aDoxNHB4fS5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2hlaWdodDoxNHB4O21hcmdpbjoxcHggMH0ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O21hcmdpbjotMXB4IDB9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkKy5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCsubUNTQl9kcmFnZ2VyUmFpbCwubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHt3aWR0aDo0cHh9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O21hcmdpbjowIC0xcHh9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQrLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCsubUNTQl9kcmFnZ2VyUmFpbCwubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlse2hlaWdodDo0cHg7bWFyZ2luOjZweCAwfS5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246MCAtNzJweH0ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due2JhY2tncm91bmQtcG9zaXRpb246MCAtOTJweH0ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246MCAtMTEycHh9Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMjhweH0ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNzUpfS5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMTUpfS5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44NSl9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC45KX0ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTcycHh9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTkycHh9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTExMnB4fS5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTI4cHh9Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6NHB4fS5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyfS5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWdBQUFBSUNBWUFBQURFRDc2TEFBQUFORWxFUVZRWVYyTmtJQUFZaVZidy8vOS9ZNkRpTTFBTkpveU1qR2RCYkxnSlFBWC9rVTBES2dETGthUUF2eFc0SEV2UUZ3Q1JjeElKSzFYem5BQUFBQUJKUlU1RXJrSmdnZz09KTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteTtvcGFjaXR5Oi4zO2ZpbHRlcjoiYWxwaGEob3BhY2l0eT0zMCkiOy1tcy1maWx0ZXI6ImFscGhhKG9wYWNpdHk9MzApIn0ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7aGVpZ2h0OjRweDttYXJnaW46NnB4IDA7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC03MnB4fS5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC05MnB4fS5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMHB4IC0xMTJweH0ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTIwcHggLTEyOHB4fS5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBTEVsRVFWUVlWMk5rSUFBWVNWRmdERlI4QnFyQkJFaWZCYkdSVGZpUFpocFlqaVFGQkszQTZsNkN2Z0FBRTlrR0NkMW12Z0VBQUFBQVNVVk9SSzVDWUlJPSl9Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTcycHh9Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtOTJweH0ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMDBweCAtMTEycHh9Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTEwMHB4IC0xMjhweH0ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXk7YmFja2dyb3VuZC1pbWFnZTotbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMjU1LDI1NSwyNTUsLjUpIDAscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxjb2xvci1zdG9wKDAscmdiYSgyNTUsMjU1LDI1NSwuNSkpLGNvbG9yLXN0b3AoMTAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApKSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMjU1LDI1NSwyNTUsLjUpIDAscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMjU1LDI1NSwyNTUsLjUpIDAscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi1tcy1saW5lYXItZ3JhZGllbnQobGVmdCxyZ2JhKDI1NSwyNTUsMjU1LC41KSAwLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgyNTUsMjU1LDI1NSwuNSkgMCxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpfS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC14O2JhY2tncm91bmQtaW1hZ2U6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjU1LDI1NSwyNTUsLjUpIDAscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCxyZ2JhKDI1NSwyNTUsMjU1LC41KSksY29sb3Itc3RvcCgxMDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDI1NSwyNTUsMjU1LC41KSAwLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjU1LDI1NSwyNTUsLjUpIDAscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi1tcy1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjU1LDI1NSwyNTUsLjUpIDAscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgyNTUsMjU1LDI1NSwuNSkgMCxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpfS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXIsLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXJ7aGVpZ2h0OjcwcHh9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLC5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJ7d2lkdGg6NzBweH0ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scywubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHN7b3BhY2l0eToxO2ZpbHRlcjoiYWxwaGEob3BhY2l0eT0zMCkiOy1tcy1maWx0ZXI6ImFscGhhKG9wYWNpdHk9MzApIn0ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHstd2Via2l0LWJvcmRlci1yYWRpdXM6MTZweDstbW96LWJvcmRlci1yYWRpdXM6MTZweDtib3JkZXItcmFkaXVzOjE2cHh9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjhweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93Omluc2V0IDFweCAwIDFweCByZ2JhKDAsMCwwLC41KSxpbnNldCAtMXB4IDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjIpfS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojNTU1fS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7d2lkdGg6OHB4fS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6MTAwJTtoZWlnaHQ6OHB4O21hcmdpbjo0cHggMDtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC41KSxpbnNldCAwIC0xcHggMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjIpfS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye3dpZHRoOjEwMCU7aGVpZ2h0OjhweDttYXJnaW46NHB4IGF1dG99Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTcycHh9Lm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtOTJweH0ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MHB4IC0xMTJweH0ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDBweCAtMTI4cHh9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMSk7Ym94LXNoYWRvdzppbnNldCAxcHggMCAxcHggcmdiYSgwLDAsMCwuMSl9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtNzJweH0ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC05MnB4fS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTExMnB4fS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IC0xMjhweH0ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scywubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHN7b3BhY2l0eToxO2ZpbHRlcjoiYWxwaGEob3BhY2l0eT0zMCkiOy1tcy1maWx0ZXI6ImFscGhhKG9wYWNpdHk9MzApIn0ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scywubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyLC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scywubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcnstd2Via2l0LWJvcmRlci1yYWRpdXM6N3B4Oy1tb3otYm9yZGVyLXJhZGl1czo3cHg7Ym9yZGVyLXJhZGl1czo3cHh9Lm1DU0JfaW5zaWRlKy5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLC5tQ1NCX2luc2lkZSsubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7cmlnaHQ6MXB4fS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbHtib3gtc2hhZG93Omluc2V0IDFweCAwIDFweCByZ2JhKDAsMCwwLC4xKSxpbnNldCAwIDAgMTRweCByZ2JhKDAsMCwwLC41KX0ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFse2JvdHRvbToxcHg7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMSksaW5zZXQgMCAwIDE0cHggcmdiYSgwLDAsMCwuNSl9Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnstd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4Oy1tb3otYm9yZGVyLXJhZGl1czo1cHg7Ym9yZGVyLXJhZGl1czo1cHg7Ym94LXNoYWRvdzppbnNldCAxcHggMCAwIHJnYmEoMjU1LDI1NSwyNTUsLjQpO3dpZHRoOjEycHg7bWFyZ2luOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6YXV0bzt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuNCk7aGVpZ2h0OjEycHg7d2lkdGg6YXV0b30ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiM1NTV9Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6aW5zZXQgMXB4IDFweCAxNnB4IHJnYmEoMCwwLDAsLjEpfS5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC03MnB4fS5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTkycHh9Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDBweCAtMTEycHh9Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTQwcHggLTEyOHB4fS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xze2JveC1zaGFkb3c6aW5zZXQgMCAwIDE0cHggcmdiYSgwLDAsMCwuMil9Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKSxpbnNldCAwIDAgMTRweCByZ2JhKDAsMCwwLC4yKX0ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2JveC1zaGFkb3c6aW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwyNTUsMjU1LC40KSxpbnNldCAtMXB4IDAgMCByZ2JhKDAsMCwwLC4yKX0ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjQpLGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjIpfS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojNzc3fS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6aW5zZXQgMXB4IDFweCAxNnB4IHJnYmEoMCwwLDAsLjEpfS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtNzJweH0ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC05MnB4fS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTExMnB4fS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IC0xMjhweH0ubUNTQl9vdXRzaWRlKy5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsLm1DU0Jfb3V0c2lkZSsubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbHtyaWdodDowO21hcmdpbjoxMnB4IDB9Lm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwrLm1DU0Jfc2Nyb2xsVG9vbHMrLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLC5tQ3VzdG9tU2Nyb2xsQm94Lm1DUy1taW5pbWFsKy5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCwubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbC1kYXJrKy5tQ1NCX3Njcm9sbFRvb2xzKy5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCwubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbC1kYXJrKy5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHtib3R0b206MDttYXJnaW46MCAxMnB4fS5tQ1MtZGlyLXJ0bD4ubUNTQl9vdXRzaWRlKy5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsLm1DUy1kaXItcnRsPi5tQ1NCX291dHNpZGUrLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWx7bGVmdDowO3JpZ2h0OmF1dG99Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyLC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXJ7aGVpZ2h0OjUwcHh9Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2Vye3dpZHRoOjUwcHh9Lm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yKTtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9MjApIjstbXMtZmlsdGVyOiJhbHBoYShvcGFjaXR5PTIwKSJ9Lm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO2ZpbHRlcjoiYWxwaGEob3BhY2l0eT01MCkiOy1tcy1maWx0ZXI6ImFscGhhKG9wYWNpdHk9NTApIn0ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMik7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTIwKSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT0yMCkifS5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNSk7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTUwKSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT01MCkifS5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6NnB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjIpfS5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye3dpZHRoOjZweH0ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6MTAwJTtoZWlnaHQ6NnB4O21hcmdpbjo1cHggMH0ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQrLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkKy5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjEycHh9Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQrLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCsubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlse2hlaWdodDoxMnB4O21hcmdpbjoycHggMH0ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC03MnB4fS5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtOTJweH0ubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTQwcHggLTExMnB4fS5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTQwcHggLTEyOHB4fS5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43NSl9Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg1KX0ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjkpfS5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMSl9Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtNzJweH0ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTkycHh9Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IC0xMTJweH0ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IC0xMjhweH0ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjEycHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMil9Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnt3aWR0aDo2cHg7bWFyZ2luOjNweCA1cHg7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OmF1dG87dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntoZWlnaHQ6NnB4O21hcmdpbjo1cHggM3B4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOmF1dG87dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHt3aWR0aDoxMDAlO2hlaWdodDoxMnB4O21hcmdpbjoycHggMH0ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCwubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCwubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtNzJweH0ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtOTJweH0ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDBweCAtMTEycHh9Lm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsLm1DUy1pbnNldC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTQwcHggLTEyOHB4fS5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43NSl9Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg1KX0ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjkpfS5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xKX0ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTcycHh9Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biwubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC05MnB4fS5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCwubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjBweCAtMTEycHh9Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCwubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0LC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0e2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IC0xMjhweH0ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JvcmRlci1jb2xvcjojMDAwO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4yKX0ubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC42KX0ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpfS5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNzUpfS5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuODUpfS5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC45KX0ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfS5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44NSl9Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KX0NCg0KDQovKg0KQW5pbWF0ZWQgaGVhZGxpbmVzDQpQbHVnaW4gVVJJOiBodHRwczovL2NvZHlob3VzZS5jby9nZW0vY3NzLWFuaW1hdGVkLWhlYWRsaW5lcy8NCiovDQouY2Qtd29yZHMtd3JhcHBlcntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmxlZnR9LmNkLXdvcmRzLXdyYXBwZXIgYntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aGl0ZS1zcGFjZTpub3dyYXA7bGVmdDowO3RvcDowO3JpZ2h0OjA7bWFyZ2luOjAgYXV0b30uY2Qtd29yZHMtd3JhcHBlciBiLmlzLXZpc2libGV7cG9zaXRpb246cmVsYXRpdmV9Lm5vLWpzIC5jZC13b3Jkcy13cmFwcGVyIGJ7b3BhY2l0eTowfS5uby1qcyAuY2Qtd29yZHMtd3JhcHBlciBiLmlzLXZpc2libGV7b3BhY2l0eToxfS5jZC1oZWFkbGluZS5yb3RhdGUtMSAuY2Qtd29yZHMtd3JhcHBlcnstd2Via2l0LXBlcnNwZWN0aXZlOjMwMHB4Oy1tb3otcGVyc3BlY3RpdmU6MzAwcHg7cGVyc3BlY3RpdmU6MzAwcHh9LmNkLWhlYWRsaW5lLnJvdGF0ZS0xIGJ7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTstbW96LXRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7LW1zLXRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7LW8tdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTt0cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTstbW96LXRyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyk7LW8tdHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpfS5jZC1oZWFkbGluZS5yb3RhdGUtMSBiLmlzLXZpc2libGV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMCk7LW1vei10cmFuc2Zvcm06cm90YXRlWCgwKTstbXMtdHJhbnNmb3JtOnJvdGF0ZVgoMCk7LW8tdHJhbnNmb3JtOnJvdGF0ZVgoMCk7dHJhbnNmb3JtOnJvdGF0ZVgoMCk7LXdlYmtpdC1hbmltYXRpb246Y2Qtcm90YXRlLTEtaW4gMS4yczstbW96LWFuaW1hdGlvbjpjZC1yb3RhdGUtMS1pbiAxLjJzO2FuaW1hdGlvbjpjZC1yb3RhdGUtMS1pbiAxLjJzfS5jZC1oZWFkbGluZS5yb3RhdGUtMSBiLmlzLWhpZGRlbnstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpOy1vLXRyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTstd2Via2l0LWFuaW1hdGlvbjpjZC1yb3RhdGUtMS1vdXQgMS4yczstbW96LWFuaW1hdGlvbjpjZC1yb3RhdGUtMS1vdXQgMS4yczthbmltYXRpb246Y2Qtcm90YXRlLTEtb3V0IDEuMnN9QC13ZWJraXQta2V5ZnJhbWVzIGNkLXJvdGF0ZS0xLWluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTtvcGFjaXR5OjB9MzUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMTIwZGVnKTtvcGFjaXR5OjB9NjUle29wYWNpdHk6MH0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMzYwZGVnKTtvcGFjaXR5OjF9fUAtbW96LWtleWZyYW1lcyBjZC1yb3RhdGUtMS1pbnswJXstbW96LXRyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyk7b3BhY2l0eTowfTM1JXstbW96LXRyYW5zZm9ybTpyb3RhdGVYKDEyMGRlZyk7b3BhY2l0eTowfTY1JXtvcGFjaXR5OjB9MTAwJXstbW96LXRyYW5zZm9ybTpyb3RhdGVYKDM2MGRlZyk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGNkLXJvdGF0ZS0xLWluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTstbW96LXRyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyk7LW8tdHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpO29wYWNpdHk6MH0zNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWCgxMjBkZWcpOy1tb3otdHJhbnNmb3JtOnJvdGF0ZVgoMTIwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZVgoMTIwZGVnKTstby10cmFuc2Zvcm06cm90YXRlWCgxMjBkZWcpO3RyYW5zZm9ybTpyb3RhdGVYKDEyMGRlZyk7b3BhY2l0eTowfTY1JXtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKDM2MGRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlWCgzNjBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlWCgzNjBkZWcpOy1vLXRyYW5zZm9ybTpyb3RhdGVYKDM2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZVgoMzYwZGVnKTtvcGFjaXR5OjF9fUAtd2Via2l0LWtleWZyYW1lcyBjZC1yb3RhdGUtMS1vdXR7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWCgwKTtvcGFjaXR5OjF9MzUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoLTQwZGVnKTtvcGFjaXR5OjF9NjUle29wYWNpdHk6MH0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTtvcGFjaXR5OjB9fUAtbW96LWtleWZyYW1lcyBjZC1yb3RhdGUtMS1vdXR7MCV7LW1vei10cmFuc2Zvcm06cm90YXRlWCgwKTtvcGFjaXR5OjF9MzUley1tb3otdHJhbnNmb3JtOnJvdGF0ZVgoLTQwZGVnKTtvcGFjaXR5OjF9NjUle29wYWNpdHk6MH0xMDAley1tb3otdHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgY2Qtcm90YXRlLTEtb3V0ezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMCk7LW1vei10cmFuc2Zvcm06cm90YXRlWCgwKTstbXMtdHJhbnNmb3JtOnJvdGF0ZVgoMCk7LW8tdHJhbnNmb3JtOnJvdGF0ZVgoMCk7dHJhbnNmb3JtOnJvdGF0ZVgoMCk7b3BhY2l0eToxfTM1JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKC00MGRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlWCgtNDBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlWCgtNDBkZWcpOy1vLXRyYW5zZm9ybTpyb3RhdGVYKC00MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZVgoLTQwZGVnKTtvcGFjaXR5OjF9NjUle29wYWNpdHk6MH0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTstbW96LXRyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyk7LW8tdHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpO29wYWNpdHk6MH19LmNkLWhlYWRsaW5lLnR5cGUgLmNkLXdvcmRzLXdyYXBwZXJ7dmVydGljYWwtYWxpZ246dG9wO292ZXJmbG93OmhpZGRlbn0uY2QtaGVhZGxpbmUudHlwZSBzcGFue3BhZGRpbmc6MTBweCAwfS5jZC1oZWFkbGluZS50eXBlPnNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2t9LmNkLWhlYWRsaW5lLnR5cGUgLmNkLXdvcmRzLXdyYXBwZXI6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6NTAlO2JvdHRvbTphdXRvOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7aGVpZ2h0OjkwJTt3aWR0aDoxcHg7YmFja2dyb3VuZC1jb2xvcjojYWViY2I5fS5jZC1oZWFkbGluZS50eXBlIC5jZC13b3Jkcy13cmFwcGVyLndhaXRpbmc6OmFmdGVyey13ZWJraXQtYW5pbWF0aW9uOmNkLXB1bHNlIDFzIGluZmluaXRlOy1tb3otYW5pbWF0aW9uOmNkLXB1bHNlIDFzIGluZmluaXRlO2FuaW1hdGlvbjpjZC1wdWxzZSAxcyBpbmZpbml0ZX0uY2QtaGVhZGxpbmUudHlwZSAuY2Qtd29yZHMtd3JhcHBlci5zZWxlY3RlZDo6YWZ0ZXJ7dmlzaWJpbGl0eTpoaWRkZW59LmNkLWhlYWRsaW5lLnR5cGUgLmNkLXdvcmRzLXdyYXBwZXIuc2VsZWN0ZWQgYntjb2xvcjojMGQwZDBkfS5jZC1oZWFkbGluZS50eXBlIGJ7dmlzaWJpbGl0eTpoaWRkZW59LmNkLWhlYWRsaW5lLnR5cGUgYi5pcy12aXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZX0uY2QtaGVhZGxpbmUudHlwZSBpe3Bvc2l0aW9uOmFic29sdXRlO3Zpc2liaWxpdHk6aGlkZGVuO2ZvbnQtc3R5bGU6bm9ybWFsfS5jZC1oZWFkbGluZS50eXBlIGkuaW57cG9zaXRpb246cmVsYXRpdmU7dmlzaWJpbGl0eTp2aXNpYmxlfUAtd2Via2l0LWtleWZyYW1lcyBjZC1wdWxzZXswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO29wYWNpdHk6MX00MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSguOSk7b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTtvcGFjaXR5OjB9fUAtbW96LWtleWZyYW1lcyBjZC1wdWxzZXswJXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO29wYWNpdHk6MX00MCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSguOSk7b3BhY2l0eTowfTEwMCV7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgY2QtcHVsc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtvcGFjaXR5OjF9NDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLjkpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLjkpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSguOSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoLjkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC45KTtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDApO29wYWNpdHk6MH19LmNkLWhlYWRsaW5lLnJvdGF0ZS0yIC5jZC13b3Jkcy13cmFwcGVyey13ZWJraXQtcGVyc3BlY3RpdmU6MzAwcHg7LW1vei1wZXJzcGVjdGl2ZTozMDBweDtwZXJzcGVjdGl2ZTozMDBweH0uY2QtaGVhZGxpbmUucm90YXRlLTIgZW0sLmNkLWhlYWRsaW5lLnJvdGF0ZS0yIGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtmb250LXN0eWxlOm5vcm1hbH0uY2QtaGVhZGxpbmUucm90YXRlLTIgYntvcGFjaXR5OjB9LmNkLWhlYWRsaW5lLnJvdGF0ZS0yIGl7LXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7LW1vei10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7LW1zLXRyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZDstby10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoOTBkZWcpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoOTBkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCg5MGRlZyk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoOTBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVaKC0yMHB4KSByb3RhdGVYKDkwZGVnKTtvcGFjaXR5OjB9LmlzLXZpc2libGUgLmNkLWhlYWRsaW5lLnJvdGF0ZS0yIGl7b3BhY2l0eToxfS5jZC1oZWFkbGluZS5yb3RhdGUtMiBpLmluey13ZWJraXQtYW5pbWF0aW9uOmNkLXJvdGF0ZS0yLWluIC40cyBmb3J3YXJkczstbW96LWFuaW1hdGlvbjpjZC1yb3RhdGUtMi1pbiAuNHMgZm9yd2FyZHM7YW5pbWF0aW9uOmNkLXJvdGF0ZS0yLWluIC40cyBmb3J3YXJkc30uY2QtaGVhZGxpbmUucm90YXRlLTIgaS5vdXR7LXdlYmtpdC1hbmltYXRpb246Y2Qtcm90YXRlLTItb3V0IC40cyBmb3J3YXJkczstbW96LWFuaW1hdGlvbjpjZC1yb3RhdGUtMi1vdXQgLjRzIGZvcndhcmRzO2FuaW1hdGlvbjpjZC1yb3RhdGUtMi1vdXQgLjRzIGZvcndhcmRzfS5jZC1oZWFkbGluZS5yb3RhdGUtMiBlbXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDIwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVooMjBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVaKDIwcHgpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVaKDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDIwcHgpfS5uby1jc3N0cmFuc2l0aW9ucyAuY2QtaGVhZGxpbmUucm90YXRlLTIgaXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKDApOy1tb3otdHJhbnNmb3JtOnJvdGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTpyb3RhdGVYKDApOy1vLXRyYW5zZm9ybTpyb3RhdGVYKDApO3RyYW5zZm9ybTpyb3RhdGVYKDApO29wYWNpdHk6MH0ubm8tY3NzdHJhbnNpdGlvbnMgLmNkLWhlYWRsaW5lLnJvdGF0ZS0yIGkgZW17LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstby10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfS5uby1jc3N0cmFuc2l0aW9ucyAuY2QtaGVhZGxpbmUucm90YXRlLTIgLmlzLXZpc2libGUgaXtvcGFjaXR5OjF9QC13ZWJraXQta2V5ZnJhbWVzIGNkLXJvdGF0ZS0yLWluezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKC0yMHB4KSByb3RhdGVYKDkwZGVnKX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoLTEwZGVnKX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKC0yMHB4KSByb3RhdGVYKDApfX1ALW1vei1rZXlmcmFtZXMgY2Qtcm90YXRlLTItaW57MCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoOTBkZWcpfTYwJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgtMTBkZWcpfTEwMCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoMCl9fUBrZXlmcmFtZXMgY2Qtcm90YXRlLTItaW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoOTBkZWcpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoOTBkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCg5MGRlZyk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoOTBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVaKC0yMHB4KSByb3RhdGVYKDkwZGVnKX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoLTEwZGVnKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVaKC0yMHB4KSByb3RhdGVYKC0xMGRlZyk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVaKC0yMHB4KSByb3RhdGVYKC0xMGRlZyk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoLTEwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgtMTBkZWcpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoMCl9fUAtd2Via2l0LWtleWZyYW1lcyBjZC1yb3RhdGUtMi1vdXR7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoMCl9NjAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKC0yMHB4KSByb3RhdGVYKC0xMDBkZWcpfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoLTkwZGVnKX19QC1tb3ota2V5ZnJhbWVzIGNkLXJvdGF0ZS0yLW91dHswJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgwKX02MCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoLTEwMGRlZyl9MTAwJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgtOTBkZWcpfX1Aa2V5ZnJhbWVzIGNkLXJvdGF0ZS0yLW91dHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVaKC0yMHB4KSByb3RhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgwKX02MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoLTEwMGRlZyk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgtMTAwZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoLTEwMGRlZyk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoLTEwMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoLTEwMGRlZyl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgtOTBkZWcpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoLTkwZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTIwcHgpIHJvdGF0ZVgoLTkwZGVnKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWigtMjBweCkgcm90YXRlWCgtOTBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVaKC0yMHB4KSByb3RhdGVYKC05MGRlZyl9fS5jZC1oZWFkbGluZS5sb2FkaW5nLWJhciBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6LjJlbSAwfS5jZC1oZWFkbGluZS5sb2FkaW5nLWJhciAuY2Qtd29yZHMtd3JhcHBlcntvdmVyZmxvdzpoaWRkZW47dmVydGljYWwtYWxpZ246dG9wfS5jZC1oZWFkbGluZS5sb2FkaW5nLWJhciAuY2Qtd29yZHMtd3JhcHBlcjo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjNweDt3aWR0aDowO2JhY2tncm91bmQ6IzU5NzFmZjt6LWluZGV4OjI7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4zcyAtLjFzOy1tb3otdHJhbnNpdGlvbjp3aWR0aCAuM3MgLS4xczt0cmFuc2l0aW9uOndpZHRoIC4zcyAtLjFzfS5jZC1oZWFkbGluZS5sb2FkaW5nLWJhciAuY2Qtd29yZHMtd3JhcHBlci5pcy1sb2FkaW5nOjphZnRlcnt3aWR0aDoxMDAlOy13ZWJraXQtdHJhbnNpdGlvbjp3aWR0aCAzczstbW96LXRyYW5zaXRpb246d2lkdGggM3M7dHJhbnNpdGlvbjp3aWR0aCAzc30uY2QtaGVhZGxpbmUubG9hZGluZy1iYXIgYnt0b3A6LjJlbTtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzOy1tb3otdHJhbnNpdGlvbjpvcGFjaXR5IC4zczt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzfS5jZC1oZWFkbGluZS5sb2FkaW5nLWJhciBiLmlzLXZpc2libGV7b3BhY2l0eToxO3RvcDowfS5jZC1oZWFkbGluZS5zbGlkZSBzcGFue2Rpc3BsYXk6aW5saW5lO3BhZGRpbmctdG9wOjEwcHg7cGFkZGluZy1ib3R0b206MTBweH0uY2QtaGVhZGxpbmUuc2xpZGUgLmNkLXdvcmRzLXdyYXBwZXJ7b3ZlcmZsb3c6aGlkZGVuO3ZlcnRpY2FsLWFsaWduOnRvcH0uY2QtaGVhZGxpbmUuc2xpZGUgYntvcGFjaXR5OjA7dG9wOi4yZW19LmNkLWhlYWRsaW5lLnNsaWRlIGIuaXMtdmlzaWJsZXt0b3A6MDtvcGFjaXR5OjE7LXdlYmtpdC1hbmltYXRpb246c2xpZGUtaW4gLjZzOy1tb3otYW5pbWF0aW9uOnNsaWRlLWluIC42czthbmltYXRpb246c2xpZGUtaW4gLjZzfS5jZC1oZWFkbGluZS5zbGlkZSBiLmlzLWhpZGRlbnstd2Via2l0LWFuaW1hdGlvbjpzbGlkZS1vdXQgLjZzOy1tb3otYW5pbWF0aW9uOnNsaWRlLW91dCAuNnM7YW5pbWF0aW9uOnNsaWRlLW91dCAuNnN9QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlLWluezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAlKX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1ALW1vei1rZXlmcmFtZXMgc2xpZGUtaW57MCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfTYwJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMCUpfTEwMCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgc2xpZGUtaW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMCUpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUAtd2Via2l0LWtleWZyYW1lcyBzbGlkZS1vdXR7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9NjAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEyMCUpfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSl9fUAtbW96LWtleWZyYW1lcyBzbGlkZS1vdXR7MCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9NjAle29wYWNpdHk6MDstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEyMCUpfTEwMCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSl9fUBrZXlmcmFtZXMgc2xpZGUtb3V0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTYwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMjAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEyMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMjAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMjAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMjAlKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpfX0uY2QtaGVhZGxpbmUuY2xpcCBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6LjJlbSAwfS5jZC1oZWFkbGluZS5jbGlwIC5jZC13b3Jkcy13cmFwcGVye292ZXJmbG93OmhpZGRlbjt2ZXJ0aWNhbC1hbGlnbjp0b3B9LmNkLWhlYWRsaW5lLmNsaXAgLmNkLXdvcmRzLXdyYXBwZXI6OmFmdGVye2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDoycHg7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojYWViY2I5fS5jZC1oZWFkbGluZS5jbGlwIGJ7b3BhY2l0eTowfS5jZC1oZWFkbGluZS5jbGlwIGIuaXMtdmlzaWJsZXtvcGFjaXR5OjF9LmNkLWhlYWRsaW5lLnpvb20gLmNkLXdvcmRzLXdyYXBwZXJ7LXdlYmtpdC1wZXJzcGVjdGl2ZTozMDBweDstbW96LXBlcnNwZWN0aXZlOjMwMHB4O3BlcnNwZWN0aXZlOjMwMHB4fS5jZC1oZWFkbGluZS56b29tIGJ7b3BhY2l0eTowfS5jZC1oZWFkbGluZS56b29tIGIuaXMtdmlzaWJsZXtvcGFjaXR5OjE7LXdlYmtpdC1hbmltYXRpb246em9vbS1pbiAuOHM7LW1vei1hbmltYXRpb246em9vbS1pbiAuOHM7YW5pbWF0aW9uOnpvb20taW4gLjhzfS5jZC1oZWFkbGluZS56b29tIGIuaXMtaGlkZGVuey13ZWJraXQtYW5pbWF0aW9uOnpvb20tb3V0IC44czstbW96LWFuaW1hdGlvbjp6b29tLW91dCAuOHM7YW5pbWF0aW9uOnpvb20tb3V0IC44c31ALXdlYmtpdC1rZXlmcmFtZXMgem9vbS1pbnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigxMDBweCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX19QC1tb3ota2V5ZnJhbWVzIHpvb20taW57MCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVooMTAwcHgpfTEwMCV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUBrZXlmcmFtZXMgem9vbS1pbnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigxMDBweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWigxMDBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVaKDEwMHB4KTstby10cmFuc2Zvcm06dHJhbnNsYXRlWigxMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMTAwcHgpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9fUAtd2Via2l0LWtleWZyYW1lcyB6b29tLW91dHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKC0xMDBweCl9fUAtbW96LWtleWZyYW1lcyB6b29tLW91dHswJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0xMDAle29wYWNpdHk6MDstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVaKC0xMDBweCl9fUBrZXlmcmFtZXMgem9vbS1vdXR7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigtMTAwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTEwMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVooLTEwMHB4KTstby10cmFuc2Zvcm06dHJhbnNsYXRlWigtMTAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVaKC0xMDBweCl9fS5jZC1oZWFkbGluZS5yb3RhdGUtMyAuY2Qtd29yZHMtd3JhcHBlcnstd2Via2l0LXBlcnNwZWN0aXZlOjMwMHB4Oy1tb3otcGVyc3BlY3RpdmU6MzAwcHg7cGVyc3BlY3RpdmU6MzAwcHh9LmNkLWhlYWRsaW5lLnJvdGF0ZS0zIGJ7b3BhY2l0eTowfS5jZC1oZWFkbGluZS5yb3RhdGUtMyBpe2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVkoMTgwZGVnKTstbW96LXRyYW5zZm9ybTpyb3RhdGVZKDE4MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGVZKDE4MGRlZyk7LW8tdHJhbnNmb3JtOnJvdGF0ZVkoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlWSgxODBkZWcpOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LmlzLXZpc2libGUgLmNkLWhlYWRsaW5lLnJvdGF0ZS0zIGl7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgwKTstbW96LXRyYW5zZm9ybTpyb3RhdGVZKDApOy1tcy10cmFuc2Zvcm06cm90YXRlWSgwKTstby10cmFuc2Zvcm06cm90YXRlWSgwKTt0cmFuc2Zvcm06cm90YXRlWSgwKX0uY2QtaGVhZGxpbmUucm90YXRlLTMgaS5pbnstd2Via2l0LWFuaW1hdGlvbjpjZC1yb3RhdGUtMy1pbiAuNnMgZm9yd2FyZHM7LW1vei1hbmltYXRpb246Y2Qtcm90YXRlLTMtaW4gLjZzIGZvcndhcmRzO2FuaW1hdGlvbjpjZC1yb3RhdGUtMy1pbiAuNnMgZm9yd2FyZHN9LmNkLWhlYWRsaW5lLnJvdGF0ZS0zIGkub3V0ey13ZWJraXQtYW5pbWF0aW9uOmNkLXJvdGF0ZS0zLW91dCAuNnMgZm9yd2FyZHM7LW1vei1hbmltYXRpb246Y2Qtcm90YXRlLTMtb3V0IC42cyBmb3J3YXJkczthbmltYXRpb246Y2Qtcm90YXRlLTMtb3V0IC42cyBmb3J3YXJkc30ubm8tY3NzdHJhbnNpdGlvbnMgLmNkLWhlYWRsaW5lLnJvdGF0ZS0zIGl7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgwKTstbW96LXRyYW5zZm9ybTpyb3RhdGVZKDApOy1tcy10cmFuc2Zvcm06cm90YXRlWSgwKTstby10cmFuc2Zvcm06cm90YXRlWSgwKTt0cmFuc2Zvcm06cm90YXRlWSgwKTtvcGFjaXR5OjB9Lm5vLWNzc3RyYW5zaXRpb25zIC5jZC1oZWFkbGluZS5yb3RhdGUtMyAuaXMtdmlzaWJsZSBpe29wYWNpdHk6MX1ALXdlYmtpdC1rZXlmcmFtZXMgY2Qtcm90YXRlLTMtaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgxODBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgwKX19QC1tb3ota2V5ZnJhbWVzIGNkLXJvdGF0ZS0zLWluezAley1tb3otdHJhbnNmb3JtOnJvdGF0ZVkoMTgwZGVnKX0xMDAley1tb3otdHJhbnNmb3JtOnJvdGF0ZVkoMCl9fUBrZXlmcmFtZXMgY2Qtcm90YXRlLTMtaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgxODBkZWcpOy1tb3otdHJhbnNmb3JtOnJvdGF0ZVkoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZVkoMTgwZGVnKTstby10cmFuc2Zvcm06cm90YXRlWSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGVZKDE4MGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVZKDApOy1tb3otdHJhbnNmb3JtOnJvdGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTpyb3RhdGVZKDApOy1vLXRyYW5zZm9ybTpyb3RhdGVZKDApO3RyYW5zZm9ybTpyb3RhdGVZKDApfX1ALXdlYmtpdC1rZXlmcmFtZXMgY2Qtcm90YXRlLTMtb3V0ezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVkoMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVZKC0xODBkZWcpfX1ALW1vei1rZXlmcmFtZXMgY2Qtcm90YXRlLTMtb3V0ezAley1tb3otdHJhbnNmb3JtOnJvdGF0ZVkoMCl9MTAwJXstbW96LXRyYW5zZm9ybTpyb3RhdGVZKC0xODBkZWcpfX1Aa2V5ZnJhbWVzIGNkLXJvdGF0ZS0zLW91dHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVZKDApOy1tb3otdHJhbnNmb3JtOnJvdGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTpyb3RhdGVZKDApOy1vLXRyYW5zZm9ybTpyb3RhdGVZKDApO3RyYW5zZm9ybTpyb3RhdGVZKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgtMTgwZGVnKTstbW96LXRyYW5zZm9ybTpyb3RhdGVZKC0xODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlWSgtMTgwZGVnKTstby10cmFuc2Zvcm06cm90YXRlWSgtMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlWSgtMTgwZGVnKX19LmNkLWhlYWRsaW5lLnNjYWxlIGJ7b3BhY2l0eTowfS5jZC1oZWFkbGluZS5zY2FsZSBpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTstbW96LXRyYW5zZm9ybTpzY2FsZSgwKTstbXMtdHJhbnNmb3JtOnNjYWxlKDApOy1vLXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9LmlzLXZpc2libGUgLmNkLWhlYWRsaW5lLnNjYWxlIGl7b3BhY2l0eToxfS5jZC1oZWFkbGluZS5zY2FsZSBpLmluey13ZWJraXQtYW5pbWF0aW9uOnNjYWxlLXVwIC42cyBmb3J3YXJkczstbW96LWFuaW1hdGlvbjpzY2FsZS11cCAuNnMgZm9yd2FyZHM7YW5pbWF0aW9uOnNjYWxlLXVwIC42cyBmb3J3YXJkc30uY2QtaGVhZGxpbmUuc2NhbGUgaS5vdXR7LXdlYmtpdC1hbmltYXRpb246c2NhbGUtZG93biAuNnMgZm9yd2FyZHM7LW1vei1hbmltYXRpb246c2NhbGUtZG93biAuNnMgZm9yd2FyZHM7YW5pbWF0aW9uOnNjYWxlLWRvd24gLjZzIGZvcndhcmRzfS5uby1jc3N0cmFuc2l0aW9ucyAuY2QtaGVhZGxpbmUuc2NhbGUgaXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eTowfS5uby1jc3N0cmFuc2l0aW9ucyAuY2QtaGVhZGxpbmUuc2NhbGUgLmlzLXZpc2libGUgaXtvcGFjaXR5OjF9QC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlLXVwezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDApO29wYWNpdHk6MH02MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4yKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9fUAtbW96LWtleWZyYW1lcyBzY2FsZS11cHswJXstbW96LXRyYW5zZm9ybTpzY2FsZSgwKTtvcGFjaXR5OjB9NjAley1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMik7b3BhY2l0eToxfTEwMCV7LW1vei10cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHNjYWxlLXVwezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDApOy1tb3otdHJhbnNmb3JtOnNjYWxlKDApOy1tcy10cmFuc2Zvcm06c2NhbGUoMCk7LW8tdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKTtvcGFjaXR5OjB9NjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMik7LW1vei10cmFuc2Zvcm06c2NhbGUoMS4yKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMik7LW8tdHJhbnNmb3JtOnNjYWxlKDEuMik7dHJhbnNmb3JtOnNjYWxlKDEuMik7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstby10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlLWRvd257MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfTYwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTtvcGFjaXR5OjB9fUAtbW96LWtleWZyYW1lcyBzY2FsZS1kb3duezAley1tb3otdHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX02MCV7LW1vei10cmFuc2Zvcm06c2NhbGUoMCk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHNjYWxlLWRvd257MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstby10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX02MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMCk7LW1vei10cmFuc2Zvcm06c2NhbGUoMCk7LW1zLXRyYW5zZm9ybTpzY2FsZSgwKTstby10cmFuc2Zvcm06c2NhbGUoMCk7dHJhbnNmb3JtOnNjYWxlKDApO29wYWNpdHk6MH19LmNkLWhlYWRsaW5lLnB1c2ggYntvcGFjaXR5OjB9LmNkLWhlYWRsaW5lLnB1c2ggYi5pcy12aXNpYmxle29wYWNpdHk6MTstd2Via2l0LWFuaW1hdGlvbjpwdXNoLWluIC42czstbW96LWFuaW1hdGlvbjpwdXNoLWluIC42czthbmltYXRpb246cHVzaC1pbiAuNnN9LmNkLWhlYWRsaW5lLnB1c2ggYi5pcy1oaWRkZW57LXdlYmtpdC1hbmltYXRpb246cHVzaC1vdXQgLjZzOy1tb3otYW5pbWF0aW9uOnB1c2gtb3V0IC42czthbmltYXRpb246cHVzaC1vdXQgLjZzfUAtd2Via2l0LWtleWZyYW1lcyBwdXNoLWluezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAlKX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1ALW1vei1rZXlmcmFtZXMgcHVzaC1pbnswJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9NjAle29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwJSl9MTAwJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyBwdXNoLWluezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAlKX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1ALXdlYmtpdC1rZXlmcmFtZXMgcHVzaC1vdXR7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9NjAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExMCUpfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9fUAtbW96LWtleWZyYW1lcyBwdXNoLW91dHswJXtvcGFjaXR5OjE7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX02MCV7b3BhY2l0eTowOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEwJSl9MTAwJXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX19QGtleWZyYW1lcyBwdXNoLW91dHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX02MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEwJSl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX19DQoNCi8qDQpqUXVlcnkgVUkNClZlcnNpb246IDEuMTIuMSAtIDIwMTYtMDktMTQNClBsdWdpbiBVUkk6IGh0dHA6Ly9qcXVlcnl1aS5jb20NCiogSW5jbHVkZXM6IGNvcmUuY3NzLCBhY2NvcmRpb24uY3NzLCBhdXRvY29tcGxldGUuY3NzLCBtZW51LmNzcywgYnV0dG9uLmNzcywgY29udHJvbGdyb3VwLmNzcywgY2hlY2tib3hyYWRpby5jc3MsIGRhdGVwaWNrZXIuY3NzLCBkaWFsb2cuY3NzLCBkcmFnZ2FibGUuY3NzLCByZXNpemFibGUuY3NzLCBwcm9ncmVzc2Jhci5jc3MsIHNlbGVjdGFibGUuY3NzLCBzZWxlY3RtZW51LmNzcywgc2xpZGVyLmNzcywgc29ydGFibGUuY3NzLCBzcGlubmVyLmNzcywgdGFicy5jc3MsIHRvb2x0aXAuY3NzLCB0aGVtZS5jc3MNCiogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvP2ZmRGVmYXVsdD1BcmlhbCUyQ0hlbHZldGljYSUyQ3NhbnMtc2VyaWYmZnNEZWZhdWx0PTFlbSZmd0RlZmF1bHQ9bm9ybWFsJmNvcm5lclJhZGl1cz0zcHgmYmdDb2xvckhlYWRlcj1lOWU5ZTkmYmdUZXh0dXJlSGVhZGVyPWZsYXQmYm9yZGVyQ29sb3JIZWFkZXI9ZGRkZGRkJmZjSGVhZGVyPTMzMzMzMyZpY29uQ29sb3JIZWFkZXI9NDQ0NDQ0JmJnQ29sb3JDb250ZW50PWZmZmZmZiZiZ1RleHR1cmVDb250ZW50PWZsYXQmYm9yZGVyQ29sb3JDb250ZW50PWRkZGRkZCZmY0NvbnRlbnQ9MzMzMzMzJmljb25Db2xvckNvbnRlbnQ9NDQ0NDQ0JmJnQ29sb3JEZWZhdWx0PWY2ZjZmNiZiZ1RleHR1cmVEZWZhdWx0PWZsYXQmYm9yZGVyQ29sb3JEZWZhdWx0PWM1YzVjNSZmY0RlZmF1bHQ9NDU0NTQ1Jmljb25Db2xvckRlZmF1bHQ9Nzc3Nzc3JmJnQ29sb3JIb3Zlcj1lZGVkZWQmYmdUZXh0dXJlSG92ZXI9ZmxhdCZib3JkZXJDb2xvckhvdmVyPWNjY2NjYyZmY0hvdmVyPTJiMmIyYiZpY29uQ29sb3JIb3Zlcj01NTU1NTUmYmdDb2xvckFjdGl2ZT0wMDdmZmYmYmdUZXh0dXJlQWN0aXZlPWZsYXQmYm9yZGVyQ29sb3JBY3RpdmU9MDAzZWZmJmZjQWN0aXZlPWZmZmZmZiZpY29uQ29sb3JBY3RpdmU9ZmZmZmZmJmJnQ29sb3JIaWdobGlnaHQ9ZmZmYTkwJmJnVGV4dHVyZUhpZ2hsaWdodD1mbGF0JmJvcmRlckNvbG9ySGlnaGxpZ2h0PWRhZDU1ZSZmY0hpZ2hsaWdodD03Nzc2MjAmaWNvbkNvbG9ySGlnaGxpZ2h0PTc3NzYyMCZiZ0NvbG9yRXJyb3I9ZmRkZmRmJmJnVGV4dHVyZUVycm9yPWZsYXQmYm9yZGVyQ29sb3JFcnJvcj1mMWE4OTkmZmNFcnJvcj01ZjNmM2YmaWNvbkNvbG9yRXJyb3I9Y2MwMDAwJmJnQ29sb3JPdmVybGF5PWFhYWFhYSZiZ1RleHR1cmVPdmVybGF5PWZsYXQmYmdJbWdPcGFjaXR5T3ZlcmxheT0wJm9wYWNpdHlPdmVybGF5PTMwJmJnQ29sb3JTaGFkb3c9NjY2NjY2JmJnVGV4dHVyZVNoYWRvdz1mbGF0JmJnSW1nT3BhY2l0eVNoYWRvdz0wJm9wYWNpdHlTaGFkb3c9MzAmdGhpY2tuZXNzU2hhZG93PTVweCZvZmZzZXRUb3BTaGFkb3c9MHB4Jm9mZnNldExlZnRTaGFkb3c9MHB4JmNvcm5lclJhZGl1c1NoYWRvdz04cHgNCkxpY2Vuc2U6IENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIHwgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlDQoqLw0KLnVpLWhlbHBlci1oaWRkZW57ZGlzcGxheTpub25lfS51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGV7Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHh9LnVpLWhlbHBlci1yZXNldHttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7b3V0bGluZTowO2xpbmUtaGVpZ2h0OjEuMzt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXNpemU6MTAwJTtsaXN0LXN0eWxlOm5vbmV9LnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciwudWktaGVscGVyLWNsZWFyZml4OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6dGFibGU7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfS51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXJ7Y2xlYXI6Ym90aH0udWktaGVscGVyLXpmaXh7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowO2ZpbHRlcjpBbHBoYShPcGFjaXR5PTApfS51aS1mcm9udHt6LWluZGV4OjEwMH0udWktc3RhdGUtZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHQhaW1wb3J0YW50O3BvaW50ZXItZXZlbnRzOm5vbmV9LnVpLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi10b3A6LS4yNWVtO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtaW5kZW50Oi05OTk5OXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LnVpLXdpZGdldC1pY29uLWJsb2Nre2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi04cHg7ZGlzcGxheTpibG9ja30udWktd2lkZ2V0LW92ZXJsYXl7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlcntkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjoycHggMCAwIDA7cGFkZGluZzouNWVtIC41ZW0gLjVlbSAuN2VtO2ZvbnQtc2l6ZToxMDAlfS51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1jb250ZW50e3BhZGRpbmc6MWVtIDIuMmVtO2JvcmRlci10b3A6MDtvdmVyZmxvdzphdXRvfS51aS1hdXRvY29tcGxldGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2N1cnNvcjpkZWZhdWx0fS51aS1tZW51e2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjA7ZGlzcGxheTpibG9jaztvdXRsaW5lOjB9LnVpLW1lbnUgLnVpLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9LnVpLW1lbnUgLnVpLW1lbnUtaXRlbXttYXJnaW46MDtjdXJzb3I6cG9pbnRlcjtsaXN0LXN0eWxlLWltYWdlOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTcpfS51aS1tZW51IC51aS1tZW51LWl0ZW0td3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjNweCAxZW0gM3B4IC40ZW19LnVpLW1lbnUgLnVpLW1lbnUtZGl2aWRlcnttYXJnaW46NXB4IDA7aGVpZ2h0OjA7Zm9udC1zaXplOjA7bGluZS1oZWlnaHQ6MDtib3JkZXItd2lkdGg6MXB4IDAgMCAwfS51aS1tZW51IC51aS1zdGF0ZS1hY3RpdmUsLnVpLW1lbnUgLnVpLXN0YXRlLWZvY3Vze21hcmdpbjotMXB4fS51aS1tZW51LWljb25ze3Bvc2l0aW9uOnJlbGF0aXZlfS51aS1tZW51LWljb25zIC51aS1tZW51LWl0ZW0td3JhcHBlcntwYWRkaW5nLWxlZnQ6MmVtfS51aS1tZW51IC51aS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6LjJlbTttYXJnaW46YXV0byAwfS51aS1tZW51IC51aS1tZW51LWljb257bGVmdDphdXRvO3JpZ2h0OjB9LnVpLWJ1dHRvbntwYWRkaW5nOi40ZW0gMWVtO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW4tcmlnaHQ6LjFlbTtjdXJzb3I6cG9pbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO292ZXJmbG93OnZpc2libGV9LnVpLWJ1dHRvbiwudWktYnV0dG9uOmFjdGl2ZSwudWktYnV0dG9uOmhvdmVyLC51aS1idXR0b246bGluaywudWktYnV0dG9uOnZpc2l0ZWR7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnVpLWJ1dHRvbi1pY29uLW9ubHl7d2lkdGg6MmVtO2JveC1zaXppbmc6Ym9yZGVyLWJveDt0ZXh0LWluZGVudDotOTk5OXB4O3doaXRlLXNwYWNlOm5vd3JhcH1pbnB1dC51aS1idXR0b24udWktYnV0dG9uLWljb24tb25seXt0ZXh0LWluZGVudDowfS51aS1idXR0b24taWNvbi1vbmx5IC51aS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7bWFyZ2luLXRvcDotOHB4O21hcmdpbi1sZWZ0Oi04cHh9LnVpLWJ1dHRvbi51aS1pY29uLW5vdGV4dCAudWktaWNvbntwYWRkaW5nOjA7d2lkdGg6Mi4xZW07aGVpZ2h0OjIuMWVtO3RleHQtaW5kZW50Oi05OTk5cHg7d2hpdGUtc3BhY2U6bm93cmFwfWlucHV0LnVpLWJ1dHRvbi51aS1pY29uLW5vdGV4dCAudWktaWNvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvO3RleHQtaW5kZW50OjA7d2hpdGUtc3BhY2U6bm9ybWFsO3BhZGRpbmc6LjRlbSAxZW19YnV0dG9uLnVpLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dC51aS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFkZGluZzowfS51aS1jb250cm9sZ3JvdXB7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS51aS1jb250cm9sZ3JvdXA+LnVpLWNvbnRyb2xncm91cC1pdGVte2Zsb2F0OmxlZnQ7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH0udWktY29udHJvbGdyb3VwPi51aS1jb250cm9sZ3JvdXAtaXRlbS51aS12aXN1YWwtZm9jdXMsLnVpLWNvbnRyb2xncm91cD4udWktY29udHJvbGdyb3VwLWl0ZW06Zm9jdXN7ei1pbmRleDo5OTk5fS51aS1jb250cm9sZ3JvdXAtdmVydGljYWw+LnVpLWNvbnRyb2xncm91cC1pdGVte2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bm9uZTt3aWR0aDoxMDAlO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7dGV4dC1hbGlnbjpsZWZ0fS51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLWNvbnRyb2xncm91cC1pdGVte2JveC1zaXppbmc6Ym9yZGVyLWJveH0udWktY29udHJvbGdyb3VwIC51aS1jb250cm9sZ3JvdXAtbGFiZWx7cGFkZGluZzouNGVtIDFlbX0udWktY29udHJvbGdyb3VwIC51aS1jb250cm9sZ3JvdXAtbGFiZWwgc3Bhbntmb250LXNpemU6ODAlfS51aS1jb250cm9sZ3JvdXAtaG9yaXpvbnRhbCAudWktY29udHJvbGdyb3VwLWxhYmVsKy51aS1jb250cm9sZ3JvdXAtaXRlbXtib3JkZXItbGVmdDpub25lfS51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLWNvbnRyb2xncm91cC1sYWJlbCsudWktY29udHJvbGdyb3VwLWl0ZW17Ym9yZGVyLXRvcDpub25lfS51aS1jb250cm9sZ3JvdXAtaG9yaXpvbnRhbCAudWktY29udHJvbGdyb3VwLWxhYmVsLnVpLXdpZGdldC1jb250ZW50e2JvcmRlci1yaWdodDpub25lfS51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLWNvbnRyb2xncm91cC1sYWJlbC51aS13aWRnZXQtY29udGVudHtib3JkZXItYm90dG9tOm5vbmV9LnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktc3Bpbm5lci1pbnB1dHt3aWR0aDo3NSU7d2lkdGg6Y2FsYygxMDAlIC0gMi40ZW0pfS51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLXNwaW5uZXIgLnVpLXNwaW5uZXItdXB7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZH0udWktY2hlY2tib3hyYWRpby1sYWJlbCAudWktaWNvbi1iYWNrZ3JvdW5ke2JveC1zaGFkb3c6aW5zZXQgMXB4IDFweCAxcHggI2NjYztib3JkZXItcmFkaXVzOi4xMmVtO2JvcmRlcjpub25lfS51aS1jaGVja2JveHJhZGlvLXJhZGlvLWxhYmVsIC51aS1pY29uLWJhY2tncm91bmR7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjFlbTtvdmVyZmxvdzp2aXNpYmxlO2JvcmRlcjpub25lfS51aS1jaGVja2JveHJhZGlvLXJhZGlvLWxhYmVsLnVpLWNoZWNrYm94cmFkaW8tY2hlY2tlZCAudWktaWNvbiwudWktY2hlY2tib3hyYWRpby1yYWRpby1sYWJlbC51aS1jaGVja2JveHJhZGlvLWNoZWNrZWQ6aG92ZXIgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTpub25lO3dpZHRoOjhweDtoZWlnaHQ6OHB4O2JvcmRlci13aWR0aDo0cHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS51aS1jaGVja2JveHJhZGlvLWRpc2FibGVke3BvaW50ZXItZXZlbnRzOm5vbmV9LnVpLWRhdGVwaWNrZXJ7d2lkdGg6MTdlbTtwYWRkaW5nOi4yZW0gLjJlbSAwO2Rpc3BsYXk6bm9uZX0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXJ7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzouMmVtIDB9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCwudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDoycHg7d2lkdGg6MS44ZW07aGVpZ2h0OjEuOGVtfS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIsLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3Zlcnt0b3A6MXB4fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXZ7bGVmdDoycHh9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dHtyaWdodDoycHh9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlcntsZWZ0OjFweH0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0LWhvdmVye3JpZ2h0OjFweH0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHNwYW4sLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFue2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LThweDt0b3A6NTAlO21hcmdpbi10b3A6LThweH0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZXttYXJnaW46MCAyLjNlbTtsaW5lLWhlaWdodDoxLjhlbTt0ZXh0LWFsaWduOmNlbnRlcn0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci10aXRsZSBzZWxlY3R7Zm9udC1zaXplOjFlbTttYXJnaW46MXB4IDB9LnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhcnt3aWR0aDo0NSV9LnVpLWRhdGVwaWNrZXIgdGFibGV7d2lkdGg6MTAwJTtmb250LXNpemU6LjllbTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7bWFyZ2luOjAgMCAuNGVtfS51aS1kYXRlcGlja2VyIHRoe3BhZGRpbmc6LjdlbSAuM2VtO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OjcwMDtib3JkZXI6MH0udWktZGF0ZXBpY2tlciB0ZHtib3JkZXI6MDtwYWRkaW5nOjFweH0udWktZGF0ZXBpY2tlciB0ZCBhLC51aS1kYXRlcGlja2VyIHRkIHNwYW57ZGlzcGxheTpibG9jaztwYWRkaW5nOi4yZW07dGV4dC1hbGlnbjpyaWdodDt0ZXh0LWRlY29yYXRpb246bm9uZX0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5le2JhY2tncm91bmQtaW1hZ2U6bm9uZTttYXJnaW46LjdlbSAwIDAgMDtwYWRkaW5nOjAgLjJlbTtib3JkZXItbGVmdDowO2JvcmRlci1yaWdodDowO2JvcmRlci1ib3R0b206MH0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbntmbG9hdDpyaWdodDttYXJnaW46LjVlbSAuMmVtIC40ZW07Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzouMmVtIC42ZW0gLjNlbSAuNmVtO3dpZHRoOmF1dG87b3ZlcmZsb3c6dmlzaWJsZX0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnR7ZmxvYXQ6bGVmdH0udWktZGF0ZXBpY2tlci51aS1kYXRlcGlja2VyLW11bHRpe3dpZHRoOmF1dG99LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXB7ZmxvYXQ6bGVmdH0udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZXt3aWR0aDo5NSU7bWFyZ2luOjAgYXV0byAuNGVtfS51aS1kYXRlcGlja2VyLW11bHRpLTIgLnVpLWRhdGVwaWNrZXItZ3JvdXB7d2lkdGg6NTAlfS51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXB7d2lkdGg6MzMuMyV9LnVpLWRhdGVwaWNrZXItbXVsdGktNCAudWktZGF0ZXBpY2tlci1ncm91cHt3aWR0aDoyNSV9LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlcntib3JkZXItbGVmdC13aWR0aDowfS51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmV7Y2xlYXI6bGVmdH0udWktZGF0ZXBpY2tlci1yb3ctYnJlYWt7Y2xlYXI6Ym90aDt3aWR0aDoxMDAlO2ZvbnQtc2l6ZTowfS51aS1kYXRlcGlja2VyLXJ0bHtkaXJlY3Rpb246cnRsfS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2e3JpZ2h0OjJweDtsZWZ0OmF1dG99LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHR7bGVmdDoycHg7cmlnaHQ6YXV0b30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldjpob3ZlcntyaWdodDoxcHg7bGVmdDphdXRvfS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVye2xlZnQ6MXB4O3JpZ2h0OmF1dG99LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmV7Y2xlYXI6cmlnaHR9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9ue2Zsb2F0OmxlZnR9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCwudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXB7ZmxvYXQ6cmlnaHR9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLC51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVye2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LXdpZHRoOjFweH0udWktZGF0ZXBpY2tlciAudWktaWNvbntkaXNwbGF5OmJsb2NrO3RleHQtaW5kZW50Oi05OTk5OXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7bGVmdDouNWVtO3RvcDouM2VtfS51aS1kaWFsb2d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3BhZGRpbmc6LjJlbTtvdXRsaW5lOjB9LnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFye3BhZGRpbmc6LjRlbSAxZW07cG9zaXRpb246cmVsYXRpdmV9LnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxle2Zsb2F0OmxlZnQ7bWFyZ2luOi4xZW0gMDt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6OTAlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDouM2VtO3RvcDo1MCU7d2lkdGg6MjBweDttYXJnaW46LTEwcHggMCAwIDA7cGFkZGluZzoxcHg7aGVpZ2h0OjIwcHh9LnVpLWRpYWxvZyAudWktZGlhbG9nLWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjA7cGFkZGluZzouNWVtIDFlbTtiYWNrZ3JvdW5kOjAgMDtvdmVyZmxvdzphdXRvfS51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5le3RleHQtYWxpZ246bGVmdDtib3JkZXItd2lkdGg6MXB4IDAgMCAwO2JhY2tncm91bmQtaW1hZ2U6bm9uZTttYXJnaW4tdG9wOi41ZW07cGFkZGluZzouM2VtIDFlbSAuNWVtIC40ZW19LnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25zZXR7ZmxvYXQ6cmlnaHR9LnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgYnV0dG9ue21hcmdpbjouNWVtIC40ZW0gLjVlbSAwO2N1cnNvcjpwb2ludGVyfS51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1ue2hlaWdodDoycHg7dG9wOjB9LnVpLWRpYWxvZyAudWktcmVzaXphYmxlLWV7d2lkdGg6MnB4O3JpZ2h0OjB9LnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXN7aGVpZ2h0OjJweDtib3R0b206MH0udWktZGlhbG9nIC51aS1yZXNpemFibGUtd3t3aWR0aDoycHg7bGVmdDowfS51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1uZSwudWktZGlhbG9nIC51aS1yZXNpemFibGUtbncsLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXNlLC51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zd3t3aWR0aDo3cHg7aGVpZ2h0OjdweH0udWktZGlhbG9nIC51aS1yZXNpemFibGUtc2V7cmlnaHQ6MDtib3R0b206MH0udWktZGlhbG9nIC51aS1yZXNpemFibGUtc3d7bGVmdDowO2JvdHRvbTowfS51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1uZXtyaWdodDowO3RvcDowfS51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1ud3tsZWZ0OjA7dG9wOjB9LnVpLWRyYWdnYWJsZSAudWktZGlhbG9nLXRpdGxlYmFye2N1cnNvcjptb3ZlfS51aS1kcmFnZ2FibGUtaGFuZGxley1tcy10b3VjaC1hY3Rpb246bm9uZTt0b3VjaC1hY3Rpb246bm9uZX0udWktcmVzaXphYmxle3Bvc2l0aW9uOnJlbGF0aXZlfS51aS1yZXNpemFibGUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO2ZvbnQtc2l6ZTouMXB4O2Rpc3BsYXk6YmxvY2s7LW1zLXRvdWNoLWFjdGlvbjpub25lO3RvdWNoLWFjdGlvbjpub25lfS51aS1yZXNpemFibGUtYXV0b2hpZGUgLnVpLXJlc2l6YWJsZS1oYW5kbGUsLnVpLXJlc2l6YWJsZS1kaXNhYmxlZCAudWktcmVzaXphYmxlLWhhbmRsZXtkaXNwbGF5Om5vbmV9LnVpLXJlc2l6YWJsZS1ue2N1cnNvcjpuLXJlc2l6ZTtoZWlnaHQ6N3B4O3dpZHRoOjEwMCU7dG9wOi01cHg7bGVmdDowfS51aS1yZXNpemFibGUtc3tjdXJzb3I6cy1yZXNpemU7aGVpZ2h0OjdweDt3aWR0aDoxMDAlO2JvdHRvbTotNXB4O2xlZnQ6MH0udWktcmVzaXphYmxlLWV7Y3Vyc29yOmUtcmVzaXplO3dpZHRoOjdweDtyaWdodDotNXB4O3RvcDowO2hlaWdodDoxMDAlfS51aS1yZXNpemFibGUtd3tjdXJzb3I6dy1yZXNpemU7d2lkdGg6N3B4O2xlZnQ6LTVweDt0b3A6MDtoZWlnaHQ6MTAwJX0udWktcmVzaXphYmxlLXNle2N1cnNvcjpzZS1yZXNpemU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtyaWdodDoxcHg7Ym90dG9tOjFweH0udWktcmVzaXphYmxlLXN3e2N1cnNvcjpzdy1yZXNpemU7d2lkdGg6OXB4O2hlaWdodDo5cHg7bGVmdDotNXB4O2JvdHRvbTotNXB4fS51aS1yZXNpemFibGUtbnd7Y3Vyc29yOm53LXJlc2l6ZTt3aWR0aDo5cHg7aGVpZ2h0OjlweDtsZWZ0Oi01cHg7dG9wOi01cHh9LnVpLXJlc2l6YWJsZS1uZXtjdXJzb3I6bmUtcmVzaXplO3dpZHRoOjlweDtoZWlnaHQ6OXB4O3JpZ2h0Oi01cHg7dG9wOi01cHh9LnVpLXByb2dyZXNzYmFye2hlaWdodDoyZW07dGV4dC1hbGlnbjpsZWZ0O292ZXJmbG93OmhpZGRlbn0udWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dyZXNzYmFyLXZhbHVle21hcmdpbjotMXB4O2hlaWdodDoxMDAlfS51aS1wcm9ncmVzc2JhciAudWktcHJvZ3Jlc3NiYXItb3ZlcmxheXtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhLQUFvQUlBQkFBQUFBUC8vL3lIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2tZd05xWHJkQzUyRFMwNmE3TUZaSSs0RkhCQ0tvRGVXS1hxeW1QcUdxeHZKclhaYk14N1R0Yyt3OVhnVTJGQjNsT3lRUldFVDJJRkdpVTltMWZyRFZweFpaYzZiZkh3djRjMVlYUDZrMVZkeTI5MkZiNlVrdXZGdFhwdldTekErSHljWEpIVVhpR1lJaU1nMlI2VzQ1OWduV0dmSE5kaklxRFdWcWVtSDJla3BPYmtwT2xwcFdVcVppcXI2ZWRxcVdRQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcFNNZ1puR2ZhcWNnMUUydXV6RG1tSFVCUjhRaWw5NWhpUEtxV24zYXF0THNTMTh5N0cxU3pOZW93V0JFTnRRZCtUMUprdFAwNW56UFRkSlpsUjZ2VXhOV1dqVit2VVdoV05rV0Z3eGw5VnBaUmVkWWNmbElPTGFmYWEyOFhkc0gveW5sY2MxdVBWRFp4UUlSMEsyNStjSUNDbW9xQ2U1bUdoWk9mZVlTVWg1eUpjSnlya1pXV3BhUjhkb0oybzROWXE2MmxBQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1ZESTRZeTIyWm5JTlJOcW9zdzBCdjdpMWd5SFVrRmo3b1NhV2x1M292QzhHeE5zbzVmbHV6M3FMVmhCVmVUL0x6N1pUSHl4TDVkRGFsUVdQVk9zUVd0Um51d1hhRlRqOWpWVmg4cG1hOUpqWjR6WVNqNVpPeW1hN3V1b2xmZmgrSVI1YVc5N2NIdUJVWEtHS1hsS2puK0RpSFdNY1lKYWg0TjBsWUNNbEpPWGlwR1JyNXFkZ29TVHJxV1NxNldGbDJ5cG9hVUFBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwYUViNkhMZ2QvaU83Rk5XdGNGV2UrdWZPREdqUmZvaUoyYWtTaGJ1ZWIwd3RJNTB6bTAycGJ2d2ZXRU1XQlExektHbExJaHNraUVQbTlSNnZSWHhWNFp6V1QyeUhPR3BXTXlvcmJsS2xOcDhIbUhFYi9sQ1hqY1c3Ym10WFA4WHQyMjlPVldSMWZvZDJlV3FOZkh1TWpYQ1BrSUdOaWxlT2lJbVZtQ09FbW9TZm4zeVhsSldtb0hHaHFwNmlsWXVXWXBtVHFLVWdBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwaUVINmtiNThiaVEzRk5XdE1GV1czZU5WY29qdUZHZnFuWnFTZWJ1UzA2dzVWODAvWDAycEtlOHpGd1A2RUZXT1QxbERGazhyR0VSaDFUVE5Pb2NRNjFIbTRYbTJWZXhVSHB6anltVmlIckZiaUVMc2VmVnJuNlhLZm50MlE5Ry8rWGRpZTQ5OVhIZDJnNGg3aW9PR2hYR0pib0dBblhTQm5vQndLWXlmaW91YlpKMkhuMFJ1UlphZmxaT2lsNTZacDZpaW9LU1hwVUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNrb1FScVJ2bnh1STdrVTFhMVVVNWJkNXRuU2VPWlhobW41bFdLM3FOVFd2UmRReFA4cXZhQysveWFZUXpYTzdCTXZhVUVtSlJkM1RzaU1BZ3N3bU5ZclNnWmRZclRYNnRTSEdaTzczZXp1QXcydXh1UStCYmVaZk14c2V4WTM1Ky9RZTRKMWluVjBnNHgzV0h1TWhJbDJqWE9LVDJRK1ZVNWZnb1NVSTUyVmZaeWZrSkdraGE2am1ZK2FhWWRpcnErbFFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLV0JJS3BZZTBMM1lOS1RvcXN3VWx2em5pZ2Q0d2lSNEtoWnJLdDlVcHFpcDYxaTlFM3ZNdnhSZEhsYkVGaUVYZms5WUFSWXhPWlpENlZRMnBVdW5CbXRSWG8xTGY4aE1WVmNObDhKYWZWMzhhTTIvRnU1VjE2Qm42M3I2eHQ5N2owOStNWFNGaTRCbmlHRmFlM2h6Ykg5K2hZQnprcHVVaDVhWm1IdWFuWk9aZ0l1dmJHaU5lb21DbmF4eGFwMnVwYUNac3ErMWtBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLWGpJOEJ5NXpmNGtPeFRWclhOVmx2MVgwZDhJR1pHS0xuTnBZdG04THI5Y3FWZXVPU3ZmT1c3OUQ5YURIaXpOaERKaWRGWmhOeWRFYWhPYURINm5vbXRKanAxdHV0S29OV2t2QTZKcWZSVkxIVS9RVWZhdTlsMng3RzU0ZDFmbDk5NXhjSUdBZFhxTWZCTmFkb1lyaEgrTWcyS0JscFZwYmx1Q2lYbU1uWjJTaDRHQnFKK2NrSU9xcUo2TG1LU2xsWm1zb3E2d3BRQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2xZeC9vTHZveHVKRGtVMWExWVVaYko1OW5TZDJaWGhXcWJSYTIvZ0Y4R3UyRFkzaXFzN3lycSt4QllFa1l2RlNNOGFTU09iRStaZ1JsMUJIRlpOcjdwUkNhdlo1QlcyMTQyaFkzQU4veld0c21mMTJwOVh4eEZsMmxwTG4xcnNlenRmWFpqZElXSWYyczVkSXR3allLQmdvOXlnNXBIZ3pKWFRFZUdsWnVlbnB5UG1wR1FvS09Xa1ltU3BhU25xS2lsZUkyRkFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLVmpCK2d1K2pHNGtPUlRWclZoUmxzbm4yZEozWmxlRmFwdEZyYitDWG1POU9vemVMNVZmUDk5SHZBV2hwaVVkY3drcEJIMzgyNUF3WWRVOHhUcWxMR2h0Q29zQXJLTXB2ZmExbU1SYWU5VnZXWmZlQjJYZlBrZUxtbTE4bFVjQmorcDVkbk44alhaM1lJR0VoWXVPVW40NWFvQ0RrcDE2aGw1SWpZSnZqV0tjbm9HUXBxeVBscE9ocjNhRWxhcXJxNTZCcTdWQUFBT3c9PSk7aGVpZ2h0OjEwMCU7b3BhY2l0eTouMjV9LnVpLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUgLnVpLXByb2dyZXNzYmFyLXZhbHVle2JhY2tncm91bmQtaW1hZ2U6bm9uZX0udWktc2VsZWN0YWJsZXstbXMtdG91Y2gtYWN0aW9uOm5vbmU7dG91Y2gtYWN0aW9uOm5vbmV9LnVpLXNlbGVjdGFibGUtaGVscGVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwO2JvcmRlcjoxcHggZG90dGVkICMwMDB9LnVpLXNlbGVjdG1lbnUtbWVudXtwYWRkaW5nOjA7bWFyZ2luOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2Rpc3BsYXk6bm9uZX0udWktc2VsZWN0bWVudS1tZW51IC51aS1tZW51e292ZXJmbG93OmF1dG87b3ZlcmZsb3cteDpoaWRkZW47cGFkZGluZy1ib3R0b206MXB4fS51aS1zZWxlY3RtZW51LW1lbnUgLnVpLW1lbnUgLnVpLXNlbGVjdG1lbnUtb3B0Z3JvdXB7Zm9udC1zaXplOjFlbTtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MS41O3BhZGRpbmc6MnB4IC40ZW07bWFyZ2luOi41ZW0gMCAwIDA7aGVpZ2h0OmF1dG87Ym9yZGVyOjB9LnVpLXNlbGVjdG1lbnUtb3BlbntkaXNwbGF5OmJsb2NrfS51aS1zZWxlY3RtZW51LXRleHR7ZGlzcGxheTpibG9jazttYXJnaW4tcmlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udWktc2VsZWN0bWVudS1idXR0b24udWktYnV0dG9ue3RleHQtYWxpZ246bGVmdDt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTRlbX0udWktc2VsZWN0bWVudS1pY29uLnVpLWljb257ZmxvYXQ6cmlnaHQ7bWFyZ2luLXRvcDowfS51aS1zbGlkZXJ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0fS51aS1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGV7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO3dpZHRoOjEuMmVtO2hlaWdodDoxLjJlbTtjdXJzb3I6ZGVmYXVsdDstbXMtdG91Y2gtYWN0aW9uOm5vbmU7dG91Y2gtYWN0aW9uOm5vbmV9LnVpLXNsaWRlciAudWktc2xpZGVyLXJhbmdle3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTtmb250LXNpemU6LjdlbTtkaXNwbGF5OmJsb2NrO2JvcmRlcjowO2JhY2tncm91bmQtcG9zaXRpb246MCAwfS51aS1zbGlkZXIudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1oYW5kbGUsLnVpLXNsaWRlci51aS1zdGF0ZS1kaXNhYmxlZCAudWktc2xpZGVyLXJhbmdle2ZpbHRlcjppbmhlcml0fS51aS1zbGlkZXItaG9yaXpvbnRhbHtoZWlnaHQ6LjhlbX0udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGV7dG9wOi0uM2VtO21hcmdpbi1sZWZ0Oi0uNmVtfS51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdle3RvcDowO2hlaWdodDoxMDAlfS51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1pbntsZWZ0OjB9LnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2UtbWF4e3JpZ2h0OjB9LnVpLXNsaWRlci12ZXJ0aWNhbHt3aWR0aDouOGVtO2hlaWdodDoxMDBweH0udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItaGFuZGxle2xlZnQ6LS4zZW07bWFyZ2luLWxlZnQ6MDttYXJnaW4tYm90dG9tOi0uNmVtfS51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZXtsZWZ0OjA7d2lkdGg6MTAwJX0udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWlue2JvdHRvbTowfS51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1tYXh7dG9wOjB9LnVpLXNvcnRhYmxlLWhhbmRsZXstbXMtdG91Y2gtYWN0aW9uOm5vbmU7dG91Y2gtYWN0aW9uOm5vbmV9LnVpLXNwaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LnVpLXNwaW5uZXItaW5wdXR7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDowIDA7Y29sb3I6aW5oZXJpdDtwYWRkaW5nOi4yMjJlbSAwO21hcmdpbjouMmVtIDA7dmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1sZWZ0Oi40ZW07bWFyZ2luLXJpZ2h0OjJlbX0udWktc3Bpbm5lci1idXR0b257d2lkdGg6MS42ZW07aGVpZ2h0OjUwJTtmb250LXNpemU6LjVlbTtwYWRkaW5nOjA7bWFyZ2luOjA7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cmlnaHQ6MH0udWktc3Bpbm5lciBhLnVpLXNwaW5uZXItYnV0dG9ue2JvcmRlci10b3Atc3R5bGU6bm9uZTtib3JkZXItYm90dG9tLXN0eWxlOm5vbmU7Ym9yZGVyLXJpZ2h0LXN0eWxlOm5vbmV9LnVpLXNwaW5uZXItdXB7dG9wOjB9LnVpLXNwaW5uZXItZG93bntib3R0b206MH0udWktdGFic3twb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOi4yZW19LnVpLXRhYnMgLnVpLXRhYnMtbmF2e21hcmdpbjowO3BhZGRpbmc6LjJlbSAuMmVtIDB9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpe2xpc3Qtc3R5bGU6bm9uZTtmbG9hdDpsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO21hcmdpbjoxcHggLjJlbSAwIDA7Ym9yZGVyLWJvdHRvbS13aWR0aDowO3BhZGRpbmc6MDt3aGl0ZS1zcGFjZTpub3dyYXB9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IC51aS10YWJzLWFuY2hvcntmbG9hdDpsZWZ0O3BhZGRpbmc6LjVlbSAxZW07dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZle21hcmdpbi1ib3R0b206LTFweDtwYWRkaW5nLWJvdHRvbToxcHh9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXN0YXRlLWRpc2FibGVkIC51aS10YWJzLWFuY2hvciwudWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1hY3RpdmUgLnVpLXRhYnMtYW5jaG9yLC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWxvYWRpbmcgLnVpLXRhYnMtYW5jaG9ye2N1cnNvcjp0ZXh0fS51aS10YWJzLWNvbGxhcHNpYmxlIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWFjdGl2ZSAudWktdGFicy1hbmNob3J7Y3Vyc29yOnBvaW50ZXJ9LnVpLXRhYnMgLnVpLXRhYnMtcGFuZWx7ZGlzcGxheTpibG9jaztib3JkZXItd2lkdGg6MDtwYWRkaW5nOjFlbSAxLjRlbTtiYWNrZ3JvdW5kOjAgMH0udWktdG9vbHRpcHtwYWRkaW5nOjhweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojk5OTk7bWF4LXdpZHRoOjMwMHB4fWJvZHkgLnVpLXRvb2x0aXB7Ym9yZGVyLXdpZHRoOjJweH0udWktd2lkZ2V0e2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxZW19LnVpLXdpZGdldCAudWktd2lkZ2V0e2ZvbnQtc2l6ZToxZW19LnVpLXdpZGdldCBidXR0b24sLnVpLXdpZGdldCBpbnB1dCwudWktd2lkZ2V0IHNlbGVjdCwudWktd2lkZ2V0IHRleHRhcmVhe2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxZW19LnVpLXdpZGdldC51aS13aWRnZXQtY29udGVudHtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzV9LnVpLXdpZGdldC1jb250ZW50e2JvcmRlcjoxcHggc29saWQgI2RkZDtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzMzM30udWktd2lkZ2V0LWNvbnRlbnQgYXtjb2xvcjojMzMzfS51aS13aWRnZXQtaGVhZGVye2JvcmRlcjoxcHggc29saWQgI2RkZDtiYWNrZ3JvdW5kOiNlOWU5ZTk7Y29sb3I6IzMzMztmb250LXdlaWdodDo3MDB9LnVpLXdpZGdldC1oZWFkZXIgYXtjb2xvcjojMzMzfS51aS1idXR0b24sLnVpLXN0YXRlLWRlZmF1bHQsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0LC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0LGh0bWwgLnVpLWJ1dHRvbi51aS1zdGF0ZS1kaXNhYmxlZDphY3RpdmUsaHRtbCAudWktYnV0dG9uLnVpLXN0YXRlLWRpc2FibGVkOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M1YzVjNTtiYWNrZ3JvdW5kOiNmNmY2ZjY7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM0NTQ1NDV9LnVpLWJ1dHRvbiwudWktc3RhdGUtZGVmYXVsdCBhLC51aS1zdGF0ZS1kZWZhdWx0IGE6bGluaywudWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQsYS51aS1idXR0b24sYTpsaW5rLnVpLWJ1dHRvbixhOnZpc2l0ZWQudWktYnV0dG9ue2NvbG9yOiM0NTQ1NDU7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnVpLWJ1dHRvbjpmb2N1cywudWktYnV0dG9uOmhvdmVyLC51aS1zdGF0ZS1mb2N1cywudWktc3RhdGUtaG92ZXIsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cywudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1mb2N1cywudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JhY2tncm91bmQ6I2VkZWRlZDtmb250LXdlaWdodDo0MDA7Y29sb3I6IzJiMmIyYn0udWktc3RhdGUtZm9jdXMgYSwudWktc3RhdGUtZm9jdXMgYTpob3ZlciwudWktc3RhdGUtZm9jdXMgYTpsaW5rLC51aS1zdGF0ZS1mb2N1cyBhOnZpc2l0ZWQsLnVpLXN0YXRlLWhvdmVyIGEsLnVpLXN0YXRlLWhvdmVyIGE6aG92ZXIsLnVpLXN0YXRlLWhvdmVyIGE6bGluaywudWktc3RhdGUtaG92ZXIgYTp2aXNpdGVkLGEudWktYnV0dG9uOmZvY3VzLGEudWktYnV0dG9uOmhvdmVye2NvbG9yOiMyYjJiMmI7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnVpLXZpc3VhbC1mb2N1c3tib3gtc2hhZG93OjAgMCAzcHggMXB4ICM1ZTllZDZ9LnVpLWJ1dHRvbi51aS1zdGF0ZS1hY3RpdmU6aG92ZXIsLnVpLWJ1dHRvbjphY3RpdmUsLnVpLXN0YXRlLWFjdGl2ZSwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlLGEudWktYnV0dG9uOmFjdGl2ZXtib3JkZXI6MXB4IHNvbGlkICMwMDNlZmY7YmFja2dyb3VuZDojMDA3ZmZmO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmfS51aS1pY29uLWJhY2tncm91bmQsLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbi1iYWNrZ3JvdW5ke2JvcmRlcjojMDAzZWZmO2JhY2tncm91bmQtY29sb3I6I2ZmZn0udWktc3RhdGUtYWN0aXZlIGEsLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssLnVpLXN0YXRlLWFjdGl2ZSBhOnZpc2l0ZWR7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZX0udWktc3RhdGUtaGlnaGxpZ2h0LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHR7Ym9yZGVyOjFweCBzb2xpZCAjZGFkNTVlO2JhY2tncm91bmQ6I2ZmZmE5MDtjb2xvcjojNzc3NjIwfS51aS1zdGF0ZS1jaGVja2Vke2JvcmRlcjoxcHggc29saWQgI2RhZDU1ZTtiYWNrZ3JvdW5kOiNmZmZhOTB9LnVpLXN0YXRlLWhpZ2hsaWdodCBhLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0IGEsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhe2NvbG9yOiM3Nzc2MjB9LnVpLXN0YXRlLWVycm9yLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9ye2JvcmRlcjoxcHggc29saWQgI2YxYTg5OTtiYWNrZ3JvdW5kOiNmZGRmZGY7Y29sb3I6IzVmM2YzZn0udWktc3RhdGUtZXJyb3IgYSwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIGF7Y29sb3I6IzVmM2YzZn0udWktc3RhdGUtZXJyb3ItdGV4dCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yLXRleHR7Y29sb3I6IzVmM2YzZn0udWktcHJpb3JpdHktcHJpbWFyeSwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXByaW1hcnksLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXByaW1hcnl7Zm9udC13ZWlnaHQ6NzAwfS51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeXtvcGFjaXR5Oi43O2ZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTtmb250LXdlaWdodDo0MDB9LnVpLXN0YXRlLWRpc2FibGVkLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRpc2FibGVke29wYWNpdHk6LjM1O2ZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTtiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LnVpLXN0YXRlLWRpc2FibGVkIC51aS1pY29ue2ZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KX0udWktaWNvbnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS51aS1pY29uLC51aS13aWRnZXQtY29udGVudCAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiaHR0cHM6Ly9hc2VpbnZlc3RtZW50cHR5LmNvbS9jc3MvaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLnBuZyIpfS51aS13aWRnZXQtaGVhZGVyIC51aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJodHRwczovL2FzZWludmVzdG1lbnRwdHkuY29tL2Nzcy9pbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nIil9LnVpLWJ1dHRvbjpmb2N1cyAudWktaWNvbiwudWktYnV0dG9uOmhvdmVyIC51aS1pY29uLC51aS1zdGF0ZS1mb2N1cyAudWktaWNvbiwudWktc3RhdGUtaG92ZXIgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImh0dHBzOi8vYXNlaW52ZXN0bWVudHB0eS5jb20vY3NzL2ltYWdlcy91aS1pY29uc181NTU1NTVfMjU2eDI0MC5wbmciKX0udWktYnV0dG9uOmFjdGl2ZSAudWktaWNvbiwudWktc3RhdGUtYWN0aXZlIC51aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJodHRwczovL2FzZWludmVzdG1lbnRwdHkuY29tL2Nzcy9pbWFnZXMvdWktaWNvbnNfZmZmZmZmXzI1NngyNDAucG5nIil9LnVpLWJ1dHRvbiAudWktc3RhdGUtaGlnaGxpZ2h0LnVpLWljb24sLnVpLXN0YXRlLWhpZ2hsaWdodCAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiaHR0cHM6Ly9hc2VpbnZlc3RtZW50cHR5LmNvbS9jc3MvaW1hZ2VzL3VpLWljb25zXzc3NzYyMF8yNTZ4MjQwLnBuZyIpfS51aS1zdGF0ZS1lcnJvciAudWktaWNvbiwudWktc3RhdGUtZXJyb3ItdGV4dCAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiaHR0cHM6Ly9hc2VpbnZlc3RtZW50cHR5LmNvbS9jc3MvaW1hZ2VzL3VpLWljb25zX2NjMDAwMF8yNTZ4MjQwLnBuZyIpfS51aS1idXR0b24gLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImh0dHBzOi8vYXNlaW52ZXN0bWVudHB0eS5jb20vY3NzL2ltYWdlcy91aS1pY29uc183Nzc3NzdfMjU2eDI0MC5wbmciKX0udWktaWNvbi1ibGFua3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjE2cHggMTZweH0udWktaWNvbi1jYXJldC0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9LnVpLWljb24tY2FyZXQtMS1uZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IDB9LnVpLWljb24tY2FyZXQtMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggMH0udWktaWNvbi1jYXJldC0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggMH0udWktaWNvbi1jYXJldC0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjVweCAwfS51aS1pY29uLWNhcmV0LTEtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAwfS51aS1pY29uLWNhcmV0LTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IDB9LnVpLWljb24tY2FyZXQtMS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAwfS51aS1pY29uLWNhcmV0LTItbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IDB9LnVpLWljb24tY2FyZXQtMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggMH0udWktaWNvbi10cmlhbmdsZS0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNnB4fS51aS1pY29uLXRyaWFuZ2xlLTEtbmV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTZweH0udWktaWNvbi10cmlhbmdsZS0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTZweH0udWktaWNvbi10cmlhbmdsZS0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTY1cHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNnB4fS51aS1pY29uLXRyaWFuZ2xlLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xNnB4fS51aS1pY29uLXRyaWFuZ2xlLTEtbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMi1uLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTE2cHh9LnVpLWljb24tYXJyb3ctMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAtMzJweH0udWktaWNvbi1hcnJvdy0xLW5le2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTMycHh9LnVpLWljb24tYXJyb3ctMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTMycHh9LnVpLWljb24tYXJyb3ctMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0zMnB4fS51aS1pY29uLWFycm93LTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NXB4IC0zMnB4fS51aS1pY29uLWFycm93LTEtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMzJweH0udWktaWNvbi1hcnJvdy0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMzJweH0udWktaWNvbi1hcnJvdy0xLW53e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC0zMnB4fS51aS1pY29uLWFycm93LTItbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0zMnB4fS51aS1pY29uLWFycm93LTItbmUtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTMycHh9LnVpLWljb24tYXJyb3ctMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTMycHh9LnVpLWljb24tYXJyb3ctMi1zZS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMzJweH0udWktaWNvbi1hcnJvd3N0b3AtMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0zMnB4fS51aS1pY29uLWFycm93c3RvcC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTMycHh9LnVpLWljb24tYXJyb3dzdG9wLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtMzJweH0udWktaWNvbi1hcnJvd3N0b3AtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC0zMnB4fS51aS1pY29uLWFycm93dGhpY2stMS1ue2JhY2tncm91bmQtcG9zaXRpb246MXB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2stMS1uZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2stMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGljay0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGljay0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTEtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2stMS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTItbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2stMi1uZS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTItZS13e2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2stMi1zZS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1le2JhY2tncm91bmQtcG9zaXRpb246LTIwOHB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTQ4cHh9LnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjowIC02NHB4fS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTY0cHh9LnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtNjRweH0udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC02NHB4fS51aS1pY29uLWFycm93cmV0dXJuLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC02NHB4fS51aS1pY29uLWFycm93cmV0dXJuLTEtbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC02NHB4fS51aS1pY29uLWFycm93cmV0dXJuLTEtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC02NHB4fS51aS1pY29uLWFycm93cmV0dXJuLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtNjRweH0udWktaWNvbi1hcnJvd3JlZnJlc2gtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC02NHB4fS51aS1pY29uLWFycm93cmVmcmVzaC0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTY0cHh9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtNjRweH0udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC02NHB4fS51aS1pY29uLWFycm93LTR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC04MHB4fS51aS1pY29uLWFycm93LTQtZGlhZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC04MHB4fS51aS1pY29uLWV4dGxpbmt7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtODBweH0udWktaWNvbi1uZXd3aW57YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtODBweH0udWktaWNvbi1yZWZyZXNoe2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTgwcHh9LnVpLWljb24tc2h1ZmZsZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC04MHB4fS51aS1pY29uLXRyYW5zZmVyLWUtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC04MHB4fS51aS1pY29uLXRyYW5zZmVydGhpY2stZS13e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC04MHB4fS51aS1pY29uLWZvbGRlci1jb2xsYXBzZWR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC05NnB4fS51aS1pY29uLWZvbGRlci1vcGVue2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTk2cHh9LnVpLWljb24tZG9jdW1lbnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtOTZweH0udWktaWNvbi1kb2N1bWVudC1ie2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTk2cHh9LnVpLWljb24tbm90ZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC05NnB4fS51aS1pY29uLW1haWwtY2xvc2Vke2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTk2cHh9LnVpLWljb24tbWFpbC1vcGVue2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTk2cHh9LnVpLWljb24tc3VpdGNhc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTk2cHh9LnVpLWljb24tY29tbWVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtOTZweH0udWktaWNvbi1wZXJzb257YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTk2cHh9LnVpLWljb24tcHJpbnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTk2cHh9LnVpLWljb24tdHJhc2h7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTk2cHh9LnVpLWljb24tbG9ja2Vke2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC05NnB4fS51aS1pY29uLXVubG9ja2Vke2JhY2tncm91bmQtcG9zaXRpb246LTIwOHB4IC05NnB4fS51aS1pY29uLWJvb2ttYXJre2JhY2tncm91bmQtcG9zaXRpb246LTIyNHB4IC05NnB4fS51aS1pY29uLXRhZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAtOTZweH0udWktaWNvbi1ob21le2JhY2tncm91bmQtcG9zaXRpb246MCAtMTEycHh9LnVpLWljb24tZmxhZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xMTJweH0udWktaWNvbi1jYWxlbmRhcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xMTJweH0udWktaWNvbi1jYXJ0e2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTExMnB4fS51aS1pY29uLXBlbmNpbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xMTJweH0udWktaWNvbi1jbG9ja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xMTJweH0udWktaWNvbi1kaXNre2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTExMnB4fS51aS1pY29uLWNhbGN1bGF0b3J7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTExMnB4fS51aS1pY29uLXpvb21pbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtMTEycHh9LnVpLWljb24tem9vbW91dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTEycHh9LnVpLWljb24tc2VhcmNoe2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xMTJweH0udWktaWNvbi13cmVuY2h7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTExMnB4fS51aS1pY29uLWdlYXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTExMnB4fS51aS1pY29uLWhlYXJ0e2JhY2tncm91bmQtcG9zaXRpb246LTIwOHB4IC0xMTJweH0udWktaWNvbi1zdGFye2JhY2tncm91bmQtcG9zaXRpb246LTIyNHB4IC0xMTJweH0udWktaWNvbi1saW5re2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC0xMTJweH0udWktaWNvbi1jYW5jZWx7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMjhweH0udWktaWNvbi1wbHVze2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTEyOHB4fS51aS1pY29uLXBsdXN0aGlja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xMjhweH0udWktaWNvbi1taW51c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xMjhweH0udWktaWNvbi1taW51c3RoaWNre2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTEyOHB4fS51aS1pY29uLWNsb3Nle2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTEyOHB4fS51aS1pY29uLWNsb3NldGhpY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTI4cHh9LnVpLWljb24ta2V5e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC0xMjhweH0udWktaWNvbi1saWdodGJ1bGJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTEyOHB4fS51aS1pY29uLXNjaXNzb3Jze2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xMjhweH0udWktaWNvbi1jbGlwYm9hcmR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTEyOHB4fS51aS1pY29uLWNvcHl7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTEyOHB4fS51aS1pY29uLWNvbnRhY3R7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTEyOHB4fS51aS1pY29uLWltYWdle2JhY2tncm91bmQtcG9zaXRpb246LTIwOHB4IC0xMjhweH0udWktaWNvbi12aWRlb3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtMTI4cHh9LnVpLWljb24tc2NyaXB0e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC0xMjhweH0udWktaWNvbi1hbGVydHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTE0NHB4fS51aS1pY29uLWluZm97YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTQ0cHh9LnVpLWljb24tbm90aWNle2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTE0NHB4fS51aS1pY29uLWhlbHB7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTQ0cHh9LnVpLWljb24tY2hlY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTQ0cHh9LnVpLWljb24tYnVsbGV0e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTE0NHB4fS51aS1pY29uLXJhZGlvLW9ue2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTE0NHB4fS51aS1pY29uLXJhZGlvLW9mZntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTQ0cHh9LnVpLWljb24tcGluLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE0NHB4fS51aS1pY29uLXBpbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xNDRweH0udWktaWNvbi1wbGF5e2JhY2tncm91bmQtcG9zaXRpb246MCAtMTYwcHh9LnVpLWljb24tcGF1c2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTYwcHh9LnVpLWljb24tc2Vlay1uZXh0e2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTE2MHB4fS51aS1pY29uLXNlZWstcHJldntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xNjBweH0udWktaWNvbi1zZWVrLWVuZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xNjBweH0udWktaWNvbi1zZWVrLXN0YXJ0e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTE2MHB4fS51aS1pY29uLXNlZWstZmlyc3R7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTYwcHh9LnVpLWljb24tc3RvcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xNjBweH0udWktaWNvbi1lamVjdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTYwcHh9LnVpLWljb24tdm9sdW1lLW9mZntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtMTYwcHh9LnVpLWljb24tdm9sdW1lLW9ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xNjBweH0udWktaWNvbi1wb3dlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTE3NnB4fS51aS1pY29uLXNpZ25hbC1kaWFne2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTE3NnB4fS51aS1pY29uLXNpZ25hbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNzZweH0udWktaWNvbi1iYXR0ZXJ5LTB7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTc2cHh9LnVpLWljb24tYmF0dGVyeS0xe2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTE3NnB4fS51aS1pY29uLWJhdHRlcnktMntiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNzZweH0udWktaWNvbi1iYXR0ZXJ5LTN7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTc2cHh9LnVpLWljb24tY2lyY2xlLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xOTJweH0udWktaWNvbi1jaXJjbGUtbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTkycHh9LnVpLWljb24tY2lyY2xlLWNsb3Nle2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1le2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1ze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1ue2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS1hcnJvdy1le2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtYXJyb3ctc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtMTkycHh9LnVpLWljb24tY2lyY2xlLWFycm93LXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS1hcnJvdy1ue2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtem9vbWlue2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtem9vbW91dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtMTkycHh9LnVpLWljb24tY2lyY2xlLWNoZWNre2JhY2tncm91bmQtcG9zaXRpb246LTIwOHB4IC0xOTJweH0udWktaWNvbi1jaXJjbGVzbWFsbC1wbHVze2JhY2tncm91bmQtcG9zaXRpb246MCAtMjA4cHh9LnVpLWljb24tY2lyY2xlc21hbGwtbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMjA4cHh9LnVpLWljb24tY2lyY2xlc21hbGwtY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMjA4cHh9LnVpLWljb24tc3F1YXJlc21hbGwtcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0yMDhweH0udWktaWNvbi1zcXVhcmVzbWFsbC1taW51c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0yMDhweH0udWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0yMDhweH0udWktaWNvbi1ncmlwLWRvdHRlZC12ZXJ0aWNhbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTIyNHB4fS51aS1pY29uLWdyaXAtZG90dGVkLWhvcml6b250YWx7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMjI0cHh9LnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0yMjRweH0udWktaWNvbi1ncmlwLXNvbGlkLWhvcml6b250YWx7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMjI0cHh9LnVpLWljb24tZ3JpcHNtYWxsLWRpYWdvbmFsLXNle2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTIyNHB4fS51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMjI0cHh9LnVpLWNvcm5lci1hbGwsLnVpLWNvcm5lci1sZWZ0LC51aS1jb3JuZXItdGwsLnVpLWNvcm5lci10b3B7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHh9LnVpLWNvcm5lci1hbGwsLnVpLWNvcm5lci1yaWdodCwudWktY29ybmVyLXRvcCwudWktY29ybmVyLXRye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweH0udWktY29ybmVyLWFsbCwudWktY29ybmVyLWJsLC51aS1jb3JuZXItYm90dG9tLC51aS1jb3JuZXItbGVmdHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweH0udWktY29ybmVyLWFsbCwudWktY29ybmVyLWJvdHRvbSwudWktY29ybmVyLWJyLC51aS1jb3JuZXItcmlnaHR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4fS51aS13aWRnZXQtb3ZlcmxheXtiYWNrZ3JvdW5kOiNhYWE7b3BhY2l0eTouMztmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zMCl9LnVpLXdpZGdldC1zaGFkb3d7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCA1cHggIzY2Njtib3gtc2hhZG93OjAgMCA1cHggIzY2Nn0="}},"time_used":115,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":86,"receive":29,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/aseinvestmentpty.com/images/icon-move-light.png","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.559Z","timestamp":1785129949559,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /aseinvestmentpty.com/images/icon-move-light.png HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/css/style.css\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: text/html\r\ncontent-length: 1759\r\ncontent-encoding: br\r\netag: W/\"119f-68074818-ac81b894658a37a5;;;\"\r\nlast-modified: Tue, 22 Apr 2025 07:41:12 GMT\r\npanel: hpanel\r\nplatform: hostinger\r\nx-turbo-charged-by: LiteSpeed\r\nage: 87\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 191901870c7374612a73d507485fc073-srv-edge3\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Bootstrap:3.3.7","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":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"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":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":4511,"size_decoded":2154,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-15T15:39:11.728672Z","times_seen":39233,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1027.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:50.017Z","timestamp":1785129950017,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1027.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2780\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:32:40 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 09:13:52 GMT\r\ncache-control: max-age=86400\r\netag: \"856bfdb63dc0d6fad6b92fc6a29719e1\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 72719\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: glmLOFTzSC6B5Zq44ceOmD5ciDhhRFQZ6t_ABva9lm6gHioXNAbe8Q==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":2780,"size_decoded":3306,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"856bfdb63dc0d6fad6b92fc6a29719e1","sha1":"2fed2e3409ce1bbbfb37f6da4abeecc30cefc021","sha256":"eebe29898b8b7de5c9e47daab474152be8095e3ab42d768b84b085c5a12b95c6","sha512":"a61c0a108d63c89ae62a2b03108480b5c08bda0e80049089a2a84cd7973bd9e94dcd2902e166b92e1d7ad5b7356357c9b181cb1b6051dd25913e82d2420154f0","ssdeep":"","tlshash":"51518cc7a707f33a9c866161bed44509f244d80a8160b31c0f33a7572c8a83ea4f324f","first_seen":"2023-05-01T18:49:36Z","last_seen":"2026-08-15T04:03:51.060657Z","times_seen":23276,"resource_available":false,"data":"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"}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/825.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:50.018Z","timestamp":1785129950018,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/825.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: image/png\r\ncontent-length: 674\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 28 Jul 2023 07:44:51 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:40:30 GMT\r\netag: \"25a8a1e3479b793e8bcddc8b2ba726a9\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 78321\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 7dI8GXvUB7xiL08TkxohB4UbaKL2pcoRm7iDERh9GZ_gGwRCRatbIw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":674,"size_decoded":1207,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"25a8a1e3479b793e8bcddc8b2ba726a9","sha1":"248492192bb393c84661daab721fcc5d0b82d165","sha256":"2d5a29e2c8a731b9c0891dfa54c3bf753ad5bba2911e71ebca654c273cf08748","sha512":"758bae768d116e95d923a254204ae52624a0bf3a4578fe62bc9039659c45655240b77e9bb92433669cc90f6de32c4df4e5bd83fc632f7c71a85a285446272159","ssdeep":"","tlshash":"dd014e4a0e257a702f230e7325bf2d4f102964e012b55986604eb1338e1eaed142062a","first_seen":"2023-08-15T00:41:50Z","last_seen":"2026-08-15T04:03:51.172037Z","times_seen":2025,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACaUlEQVR4Xu2aPW7CMBiGOQJH6BE4AkfoEThCj8ANIiWwsCAmNnoBJCQ2JtiYUBc2Bla2Vl9Vq+R1En/+xQY/0rMQ298PdpSU9nqZTCaTyfCpqu+onU4HmLI7iqIvBYxRb2CgeL1i6vZU1aYhULw6BwOkoDNw4XQcYin6TCZfDQunozW4YIoagwt1GBqM32lRvGFpaqpqLC3UYWgwvlJtcAGFocH4SsuywBLbwckMQ4PxWbKg84ITGYYG4zNlPCHKk1gOVyuW+8sFa6mB49vE+Gw70bzxmbg5n7HmGjjei63gQA/G2wAc5MkoGkDWMLzxdUnnVFUsB1rD6sy3WZaj/wbgRQP7sxnm7o23xUKKb+Rf8RvpgoaUzKOw3hn0oid9qGkTtG0Hy6U0llQdCxxPUpM/Tycc+ov1bpA+0FQwWq+la02aNAClb15gvQtc3QO4umjAvVYNqIEXmRJ0A8TPVbp4siNM59aLF+AghvfQYy5edy0+Shs1oBMcrFAFbfmP7VZ7l9A9RXVcCJynVAk9IOAkhZRsaMa7nZQHw3cstxmDJgiLwwFzdcb8eJTisdX+yYwm4CIW0lmlb+16u2FdNWiM0bnuUrt4geMmkKpzjeOtNS7+HlzUwqANcAoubmiwBngBgxgYpAFewWCaem+Adyz/ScJrA4KCwZl6a8BDwCQYemnAQ8FkFNIfSvBN0OqtMAowqVBGBSbnV8ZPXI9ATtSHkRYvkBN2axJg0q5MCkze1iTBIkxNGixG16egqvZSYSonkzkukzZUEBbZ5tMVL+A04WmLF2DB6EuARb9U8YKXLj6TyWQycfADMiVWaB1DBnAAAAAASUVORK5CYII="}},"time_used":21,"timings":{"blocked":9,"dns":0,"connect":0,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/33074d3ff5d0cd2d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.542Z","timestamp":1785129949542,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/33074d3ff5d0cd2d.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 5015138\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"33074d3ff5d0cd2d.js\"\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Fri, 29 May 2026 10:19:15 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/33074d3ff5d0cd2d.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::4kx7s-1780114811396-bbddbacd8b5d\r\nx-xss-protection: 1; mode=block\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Xw0WfL9LUGtnqIWdM%2FkgxA7Y%2FyzhIpUUQ75HVdLVw0g0ulVre2CdWfB2we1PqsiCtvywQymIddjDn6voGfbOXmGJ3%2Fv02C%2BLxQbRf3GpRd3YsyyKz%2BqVagx%2FJ4Fc\"}]}\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"992603cebc96287b9bf186c47928c4d2\"\r\ncf-ray: a21939c8ad34a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":282,"size_decoded":2363,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with no line terminators","md5":"992603cebc96287b9bf186c47928c4d2","sha1":"8a86c102cf1671f6d0cf3b6b5598fff510a4b79d","sha256":"93abe3bbe2a336a05186632225cfa198e5969ab56080e1163da35e41ae9facaf","sha512":"06cc3005d9c8ffe1f27e81eac61fddab10c3e07cdca8c183315799b19b177a9f9dd2043bd1c9c92364578b78d69640c31014db6cca25a74972244784f2de74a2","ssdeep":"","tlshash":"e4d02b702250fcd8408aa4cc8836424bf529247262fe3495d7ae8cb1a174f0c51e1955","first_seen":"2026-02-04T14:24:19.894391Z","last_seen":"2026-08-15T07:58:28.181139Z","times_seen":3072,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkxOTQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ3YXJuT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49ZT0+e319XSk7"}},"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":"digitaltradeinvest.org/images/bg/bg-13.jpg","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.565Z","timestamp":1785129949565,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /images/bg/bg-13.jpg HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: text/html\r\ncontent-length: 1759\r\ncontent-encoding: br\r\netag: W/\"119f-68074818-ac81b894658a37a5;;;\"\r\nlast-modified: Tue, 22 Apr 2025 07:41:12 GMT\r\npanel: hpanel\r\nplatform: hostinger\r\nx-turbo-charged-by: LiteSpeed\r\nage: 87\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 7aaa2964cc7807c259d30dc865964f8e-srv-edge3\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":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Bootstrap:3.3.7","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":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":4511,"size_decoded":2154,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-15T15:39:11.728672Z","times_seen":39233,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/images/home-business-parallax-bg.jpg","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.567Z","timestamp":1785129949567,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /images/home-business-parallax-bg.jpg HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: image/webp\r\ncontent-length: 118820\r\ncache-control: public, max-age=604800\r\nage: 4343\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 45556b6750f52b2652b3f1da78c95b5c-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":118820,"size_decoded":119127,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"fc68c4a8b564f9d1d4388dfc563d8f9c","sha1":"c036048668a4cde82d884872491e9d026e09be7c","sha256":"61f4f167929c210b856cb1f255954aa80482f41c7f64178e458e4a3f108df973","sha512":"00d5187a3768e41826663c800ed4420ce51a76b29ac39d4f25c7fbad3e54a6495a5160ccf9e299530d09f565eda22bbb9eefe30bc5e0578147c50754a322affe","ssdeep":"3072:sah5nuDJuYuUd0m16FzEyGuAbC/AVCunByEVG/F:sahgAqgFEC9+ByaG9","tlshash":"4ec31240e58597ff6879ae3456592e0babada100a4f3bda203b8c33345f87307b468d5","first_seen":"2026-07-27T03:23:52.900856Z","last_seen":"2026-07-27T12:40:51.513992Z","times_seen":11,"resource_available":false,"data":"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"}},"time_used":61,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"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":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=0/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:49.640Z","timestamp":1785129949640,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=0/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/H7OiZO_9ahE\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 49693\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:04:18 GMT\r\nexpires: Sat, 24 Jul 2027 13:04:18 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 05:09:16 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 231691\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":433272,"size_decoded":50599,"mime_type":"text/css; charset=UTF-8","magic":"Unicode text, UTF-8 text, with very long lines (65533), with no line terminators","md5":"d1d542d1ae2669dbf300aeeeb134bd3f","sha1":"a50e6db2d43b5b3a3275086de228e20b06f4784d","sha256":"855047a3d1daf90c03574fd819aea0dc8b98c9b50256a57a335150e07ede8b3f","sha512":"dd92ae6fe58394aeb38127615e817c06473994520d10d243a644393643861155516b3a66d15a50f5350d822a403944a6d6481455d3c91c440dde1bb90859037a","ssdeep":"12288:07bPIcclM34rEVNVQeTBwKkIjr8UM8zIcsRHphJMJarzQ5MEJwq5nP/ZkvCBQa/f:0YaMSqHxGmjlVa","tlshash":"cb94c97255122258f0179731bbe2fe06b562d117c25a3aafe442ff1cc6ef1e12e6260d","first_seen":"2026-07-24T13:29:06.288153Z","last_seen":"2026-07-27T16:56:48.623888Z","times_seen":559,"resource_available":false,"data":"OnJvb3R7LS10N2Y0ZjJjNmQ1NDgzNmNlMDppbml0aWFsOy0tdDdkOGI4ZTVlZTI5MWFlYzA6aW5pdGlhbDstLXQ0NzI2YzY4ZWY2ZDdiMDhmOmluaXRpYWw7LS10ZjBhMGQxMTU0ODI3ODQ3Zjppbml0aWFsOy0tdDNlNDFkN2IxN2IxODdmNjk6aW5pdGlhbDstLXRmZjY1OTkzMzg0YmI0NTYwOmluaXRpYWw7LS10ZTI4NjdiMTNkNzcxZDA1NTppbml0aWFsOy0tdDkzM2Q3OTIyZjMxNThkYzU6aW5pdGlhbDstLXQyNjRlMmM5Y2I4Nzg5MWY5OmluaXRpYWw7LS10MjA2ZjNmYTJlMDFhZjIyZDppbml0aWFsOy0tdDM0ZjQ2ZjBmMmMxM2QzMjg6aW5pdGlhbDstLXQ4NTRjNzkzMzhkOGNhOGE3OmluaXRpYWw7LS10MjA0ODA3MTdkZTgwZjU1NTppbml0aWFsOy0tdDJkODA3YmI3OWU3NTYwNmQ6aW5pdGlhbDstLXQ2MTdkYjc3NmFmMGRlMTk2OmluaXRpYWw7LS10YjYyODExN2ZjMTY0YWQ4Nzppbml0aWFsOy0tdGQ1NDVkZjA0ZTJjNjU5ZDc6aW5pdGlhbDstLXQ1Mzk5MWQ1OTliMTQ4OGY1OmluaXRpYWw7LS10YTg4OWRmZGE5NjA1YTM1ODppbml0aWFsOy0tdDU5NzhkYThkNTg0YjhmZTk6aW5pdGlhbDstLXQxMjRiN2RhZmU5YmMzNjZkOmluaXRpYWw7LS10ZGJlNTBkMjdkNTFmNTA5Mzppbml0aWFsOy0tdGE1NjRkODIxMmJjY2IxNmE6aW5pdGlhbDstLXQ5OWY3NzQ2ODRjYmI5NzAzOmluaXRpYWw7LS10NGU2ZGY5YjJiNmI5N2UwMDppbml0aWFsOy0tdGI4YjMxYWM1NjJmYmU5YjU6aW5pdGlhbDstLXQ1ODg0NjcyMDA0ZDU2MTIwOmluaXRpYWw7LS10ZWY3MGNhMjQ1NDQ1YjUyYjppbml0aWFsOy0tdDRmMDkyMmU1YTNkMGMyMGY6aW5pdGlhbDstLXQ3ZGZhNmY4NGM5MzQ2ZWRmOmluaXRpYWw7LS10ZWNiZGY5MjRiNjNiMjdmYzppbml0aWFsOy0tdDE0MDVlNzBhMzkyNzYyOTM6aW5pdGlhbDstLXRhZDg0NDNmYWVkNjZjMTExOmluaXRpYWw7LS10ZTZkMmI0MjhkZTY4NTU0YTppbml0aWFsOy0tdGM5ODBjNTQ3ODEyNGM4Yzc6aW5pdGlhbDstLXQ5NjU2NDRlY2RiZTRiN2I4OmluaXRpYWw7LS10YjE0YTEwYzNiNDNhMTVhMzppbml0aWFsOy0tdGIxM2ZmODc5NzgyOWU3OWU6aW5pdGlhbDstLXRlNTY2OGU2MTExYWJhMGVkOmluaXRpYWw7LS10YTdkNjI4ZmFjZmU4NGQxODppbml0aWFsOy0tdGJlNDIyNjk1MzQ2NTVlNjc6aW5pdGlhbDstLXRhYjgwNTkyMzYwNjNjYWRiOmluaXRpYWw7LS10NzM1ZTQzNWE4YjdhZDY3Yzppbml0aWFsOy0tdDIxYWYwOGZkYmY2YTE0MDY6aW5pdGlhbDstLXRjNjA0MTEzZDA5ZmVlMDVkOmluaXRpYWw7LS10MDhhN2M2YzE3NmNiYzVjMjppbml0aWFsOy0tdDhjZGM5ODQ2YTc2Y2FmMWY6aW5pdGlhbDstLXRlMWI2NGU2OTcxMDQwMzk2OmluaXRpYWw7LS10NDE2ZTU5MzFmYzQ2NDU4OTppbml0aWFsOy0tdGI3ZDc0YmIzMjkxYzk1MWQ6aW5pdGlhbDstLXRmM2ZjODU1YWYyMjg1ZjVmOmluaXRpYWw7LS10MGExMjQ5ZjdjOWU4MmI1ZTppbml0aWFsOy0tdDAyYzBhMmM4NjhjMTRjZTg6aW5pdGlhbDstLXRkODU2MmNkYzIwM2JjNjgzOmluaXRpYWw7LS10NTNkZGE5MTI1ZThkMTMyNDppbml0aWFsOy0tdDU0NGUzMTcxNGY2M2Q1M2M6aW5pdGlhbDstLXQ4N2VhYmYxMTNhMTVhYzk2OmluaXRpYWw7LS10ODU4YjgwOWY4MDQ0ZTk2Mjppbml0aWFsOy0tdDBmNTkyOTFjZTU1MDQ1NDM6aW5pdGlhbDstLXRmYWFlOTY2OTJjYzE4MmU0OmluaXRpYWw7LS10NTE4ZTkyNWY2MWJkY2I5MTppbml0aWFsOy0tdGI5MjdmNWMwMTQ5MDA0YzY6aW5pdGlhbDstLXQ4MzJmMjJjZTY2MThlOTllOmluaXRpYWw7LS10NDViMmEzODMxNDkyNDM1Nzppbml0aWFsOy0tdDY5MzFhYTE4MjZiMzczYjI6aW5pdGlhbDstLXRlZDQyMzY1MzY4OTllNGIzOmluaXRpYWw7LS10ZGM4YWY2NzUwZjBkYWQwZDppbml0aWFsOy0tdDM0MTBjOTE2NDllNWViOGE6aW5pdGlhbDstLXQ0YWVhYTg1N2RlOGE3ODZiOmluaXRpYWw7LS10Mjk2YzdmODFkZDA5YTljMzppbml0aWFsOy0tdGZhMzQ3NWM1MDhmNWRmZWY6aW5pdGlhbDstLXQ5YmMwYjc0MDI0MmRhMDE3OmluaXRpYWw7LS10NDQxYTBlNDRlNDk1MzgxYTppbml0aWFsOy0tdGRlNDEzMzhmYzJiZDRiYTU6aW5pdGlhbDstLXQ0ZDc3NzZjMjhkYjIxMTIyOmluaXRpYWw7LS10N2UzNGQ1YmFhNGVhNjI3Nzppbml0aWFsOy0tdGM0YjI2MDQyZDRjYjE0MWY6aW5pdGlhbDstLXQ1MjA4ZmQxNzdhNzg4Y2ZhOmluaXRpYWw7LS10ZmZjMmZkM2E2NDRmNjI3NTppbml0aWFsOy0tdDYyMTYxODZjMjhiMzgzNGI6aW5pdGlhbDstLXQ0YTZkYTE5ZTE2YmYyMjFhOmluaXRpYWw7LS10ZDljMTlmNGY4Y2VjZDU2ZTppbml0aWFsOy0tdDNmM2JkYjQxNDBkM2VhZDc6aW5pdGlhbDstLXQ5MDRhODhjNjIzY2EyN2FiOmluaXRpYWw7LS10MmMzYmJmZjZjMTVhM2ViMjppbml0aWFsOy0tdDBjY2QxYWNlMDAwZDVlOTM6aW5pdGlhbDstLXRjODdmNmE3ZjA1ZTY1ZmM0OmluaXRpYWw7LS10YzA0YmEzZTczNTYxOTUzYzppbml0aWFsOy0tdDdjNDk2NWMxMWY4NTM3YzA6aW5pdGlhbDstLXQ0MzJmYmRiZDdmMmYzZjcxOmluaXRpYWw7LS10YWYxYmRkOTYxNDIzYzE1Zjppbml0aWFsOy0tdDlkN2JkY2FlZmM5NzVkNDQ6aW5pdGlhbDstLXQ0ZmIwZjY3YjI1MWUxYTQyOmluaXRpYWw7LS10YTA4ZTAzNjQxMGMxNDUzODppbml0aWFsOy0tdDdmOWI3ZTE2MDNlMjBiOTQ6aW5pdGlhbH0uZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjE2cHg7bWFyZ2luOjAgYXV0bztvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87Zm9udC1zaXplOjEuM3JlbTtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6bm9uZX0uZGlhbG9nLm1vZGVybi1kaWFsb2d7Ym94LXNoYWRvdzowIDAgMjRweCAxMnB4IHJnYmEoMCwwLDAsMC4yNSl9LmRpYWxvZy5yb3VuZGVkLWNvbnRhaW5lcntib3JkZXItcmFkaXVzOjEycHh9LmRpYWxvZy5tb2Rlcm4tZGlhbG9nLWxheW91dHtwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czoyNHB4fS5kaWFsb2ctYm9keXtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW47bWF4LWhlaWdodDozMDBweDttYXgtaGVpZ2h0OjEwMHZofS5kaWFsb2cuc2Nyb2xsYWJsZSAuZGlhbG9nLWJvZHl7b3ZlcmZsb3cteTp2aXNpYmxlO292ZXJmbG93LXg6dmlzaWJsZTttYXgtaGVpZ2h0OnVuc2V0fS5kaWFsb2ctY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjR9LmRpYWxvZy1oZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kaWFsb2ctYnV0dG9ucywuZGlhbG9nLWhlYWRlcntmbGV4LXNocmluazowfS5kaWFsb2ctYnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tdG9wOjEycHh9LmRpYWxvZy1idXR0b25zPip7bWFyZ2luLWxlZnQ6OHB4fS5kaWFsb2ctYnV0dG9ucz46Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0uZGlhbG9nLWZsZXgtYnV0dG9uey1tb3otYm94LWZsZXg6MTtmbGV4OjF9LmRpYWxvZy1mbGV4LWJ1dHRvbiAuYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbjowfS5kaWFsb2ctYm9keSBhLC5kaWFsb2ctaGVhZGVyIGF7Y29sb3I6IzA2NWZkNH0uZGlhbG9nLWJvZHkgeXRtLW1lbnUtaXRlbSBhe2NvbG9yOmN1cnJlbnRjb2xvcn1AbWVkaWEgKG1pbi13aWR0aDozMzBweCkgYW5kIChtaW4taGVpZ2h0OjMzMHB4KXsuZGlhbG9ne21pbi13aWR0aDoyNTBweDttYXgtd2lkdGg6MzU2cHh9LmRpYWxvZy1jb250YWluZXJ7bWFyZ2luOjAgNDBweDtwYWRkaW5nOjA7cGFkZGluZzowIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfX0uZGlhbG9nLWZ1bGxzY3JlZW57bWluLXdpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDtoZWlnaHQ6MXB4fS5kaWFsb2ctZnVsbHNjcmVlbj4uZGlhbG9nLWJvZHl7aGVpZ2h0OjEwMCV9LmRpYWxvZy5tb2Rlcm4tZGlhbG9nLWxheW91dC5kaWFsb2ctZnVsbHNjcmVlbntib3JkZXItcmFkaXVzOjB9LmRpYWxvZy1jb250YWluZXIuZGlhbG9nLWZ1bGxzY3JlZW57bWFyZ2luOjB9YzMtdG9hc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MTRweCAyNHB4O2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMwZjBmMGY7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtO21hcmdpbi1ib3R0b206LTEwMCV9YzMtdG9hc3QuaHVnLXRvYXN0e21heC13aWR0aDozNDRweH1jMy10b2FzdC5pbnZlcnNlLXRoZW1le2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMDMwMzAzfWMzLXRvYXN0LmludmVyc2UtdGhlbWUgLmJ1dHRvbi13aXRoLWljb257Y29sb3I6IzA2NWZkNH1baGFzLXNhZmUtYXJlYS1pbi1tYXg9dHJ1ZV0gYzMtdG9hc3R7cGFkZGluZzoxNHB4IDI0cHg7cGFkZGluZzoxNHB4IG1heCgyNHB4LGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKSAxNHB4IG1heCgyNHB4LGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpfVtoYXMtcGl2b3QtYmFyPXRydWVdIGMzLXRvYXN0ey0tc2FmZS1hcmVhLWluc2V0LXRvcDplbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7LS1zYWZlLWFyZWEtaW5zZXQtYm90dG9tOmVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtib3R0b206NDhweDtib3R0b206Y2FsYyg0OHB4ICsgdmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO21hcmdpbi1ib3R0b206LTEwMCU7bWFyZ2luLWJvdHRvbTpjYWxjKC0xMDAlICsgdmFyKC0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO3otaW5kZXg6Mn1bbW9kYWwtb3Blbi1ib2R5XSBjMy10b2FzdCxbc2hvcnRzLXBsYXllcj10cnVlXSBjMy10b2FzdHtib3R0b206OHB4O21hcmdpbi1ib3R0b206LTEwMCU7ei1pbmRleDo1fWMzLXRvYXN0W2Rpcj1vdXRde3RyYW5zaXRpb246bWFyZ2luIDE5NW1zIGN1YmljLWJlemllciguNCwwLDEsMSl9YzMtdG9hc3RbZGlyPWluXXt0cmFuc2l0aW9uOm1hcmdpbiAyMjVtcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO21hcmdpbi1ib3R0b206MH1Aa2V5ZnJhbWVzIHNwaW5uZXJ7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LnNwaW5uZXJXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LnNwaW5uZXJ7ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luOjEycHggYXV0bzt3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoycHggc29saWQgI2VlZTtib3JkZXItdG9wLWNvbG9yOiM2NjY7YW5pbWF0aW9uOnNwaW5uZXIgLjhzIGxpbmVhciBpbmZpbml0ZX0uc3Bpbm5lcj4uaGlkZGVue2Rpc3BsYXk6bm9uZX0uc3Bpbm5lcjpub3QoW2hpZGRlbl0pe2NvbG9yOiMzMzM7Zm9udC1zaXplOjEuNnJlbX1odG1se2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmfWJvZHl7bWFyZ2luOjA7cGFkZGluZzowO3BhZGRpbmc6MCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtmb250LXNpemU6MS4ycmVtO292ZXJmbG93LXg6aGlkZGVufVtoaWRkZW5dW2hpZGRlbl17ZGlzcGxheTpub25lO3Zpc2liaWxpdHk6aGlkZGVufXl0bS1hcHA+LnNwaW5uZXJ7bWFyZ2luLXRvcDoxMDBweH15dG0taGVhZGVye2Rpc3BsYXk6YmxvY2t9aGVhZGVye2hlaWdodDo0OHB4fS5wbGF5ZXItY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0OHB4O3JpZ2h0OjA7cmlnaHQ6ZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7bGVmdDowO2xlZnQ6ZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoyfVtoYXMtcGxheWVyLWN1c3RvbS1jb250cm9sPXRydWVdIC5wbGF5ZXItY29udGFpbmVye292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50fSNwbGF5ZXIuaW5saW5lLXBsYXllci1oaWRkZW4sLmlubGluZS1wbGF5ZXItaGlkZGVue29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206NTYuMjUlO292ZXJmbG93OmhpZGRlbn0ucGxheWVyLWNvbnRhaW5lciAjcGxheWVyLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5wbGF5ZXItY2luZW1hdGljc3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDojMDAwfS5wbGF5ZXItY2luZW1hdGljc34jcGxheWVyLnBsYXllci1zaXplLC5wbGF5ZXItY2luZW1hdGljc34ucGxheWVyLXNpemV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ucGFnZS1zaG9ydHMgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5wYWdlLXNob3J0cyB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOjB9LnBsYXllci1jb250YWluZXIgLnBsYXllci1hcGl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5wbGF5ZXItYXBpW2hpZGRlbl0sLnBsYXllci1hcGlbbG9hZGluZz10cnVlXSwucGxheWVyLWFwaVtwbGF5YWJsZT1mYWxzZV17ZGlzcGxheTpub25lfSNwbGF5ZXIuaW5saW5lLW9uLXRodW1ibmFpbHtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjB9LnBsYXllci1jb250YWluZXIgLmh0bWw1LXZpZGVvLXBsYXllcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH15dG0tYXBwe2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteDpoaWRkZW59W2hhcy1zb2Z0LWJhcj10cnVlXSB5dG0tYXBwe3BhZGRpbmctYm90dG9tOjMwcHh9W2hhcy1waXZvdC1iYXI9dHJ1ZV0geXRtLWFwcHtwYWRkaW5nLWJvdHRvbTo0OHB4fXl0bS1oZWFkZXIuaXMtYXV0b21vdGl2ZSx5dG0taGVhZGVyLnN0aWNreS1wbGF5ZXIseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuaXMtYXV0b21vdGl2ZSx5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zaG9ydHMtdG9wYmFyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo0O3BhZGRpbmc6MDtwYWRkaW5nOjAgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkgMCBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfXl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXIub3V0e3RvcDotNDhweDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAxOTVtcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfXl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnN0aWNreS1wbGF5ZXIuaW57dG9wOjA7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMjI1bXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbH0ucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDo0OHB4O3JpZ2h0OjA7cmlnaHQ6ZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7bGVmdDowO2xlZnQ6ZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoyfS5wbGF5ZXItY29udGFpbmVyLmhlYWRlci1pbi1wbGF5ZXIsLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllci5oZWFkZXItaW4tcGxheWVye3RvcDowfXl0bS1hcHAuaXMtYXV0b21vdGl2ZSx5dG0tYXBwLnN0aWNreS1wbGF5ZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDo0OHB4fXl0bS1hcHAuaXMtYXV0b21vdGl2ZS5oZWFkZXItaW4tcGxheWVyLHl0bS1hcHAuc3RpY2t5LXBsYXllci5oZWFkZXItaW4tcGxheWVye3BhZGRpbmctdG9wOjB9QG1lZGlhIChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXtib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MjU2cHh9Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAyNTZweCl9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lcixib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MjU2cHh9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjU2cHgpfS5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDMzNnB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItYWxsLWxhbmRzY2FwZS10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lcntib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfUBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOjE2Lzkpey5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOnVuc2V0O2FzcGVjdC1yYXRpbzoxNi85fX0ubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwc3ZoIC0gNDhweCl9fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoyMS8xMCkgYW5kIChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lcntib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTYvOSkgYW5kIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjMzNnB4fS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjMzNnB4fS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn1Ac3VwcG9ydHMgKGFzcGVjdC1yYXRpbzoxNi85KXsubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206dW5zZXQ7aGVpZ2h0OmF1dG87YXNwZWN0LXJhdGlvOjE2Lzl9fX1AbWVkaWEgKG1pbi13aWR0aDoxMjgwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXtib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lcixib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Ym9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfS5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDo1MDBweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDUwMHB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLC5td2ViLXRhYmxldC1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDo1MDBweH0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuc2hvcnRzLXRvcGJhcntyaWdodDo3MnB4fS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOmNhbGMoNTYuMjUlIC0gOTZweCl9Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIHl0bS13YXRjaCAucGxheWVyLXNpemV7aGVpZ2h0OmNhbGMoNTYuMjV2dyAtIDk2cHgpO3BhZGRpbmctYm90dG9tOnVuc2V0O21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpO21heC1oZWlnaHQ6Y2FsYygxMDBzdmggLSA0OHB4KX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTo1Ni4yNSV9fUBtZWRpYSAobWF4LXdpZHRoOjMyMHB4KSBhbmQgKG1heC1oZWlnaHQ6MjQwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTo1Ni4yNSV9fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLWFwcHtwYWRkaW5nLXRvcDo0OHB4fXl0bS1oZWFkZXIseXRtLWhlYWRlci1iYXIseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo0fX0uY29udGVudC1lcnJvcntmb250LXNpemU6MS40cmVtO3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcn0jcGxheWVyLXRodW1ibmFpbC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO29iamVjdC1maXQ6Y292ZXI7bWluLWhlaWdodDowfSNwbGF5ZXItY29udGFpbmVyLWlkW3BsYXlhYmxlPXRydWVdICNwbGF5ZXItdGh1bWJuYWlsLW92ZXJsYXl7dmlzaWJpbGl0eTpoaWRkZW59Ym9keS5wYWdlLXNob3J0cyxodG1sW3BhZ2Utc2hvcnRzXXtvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6bm9uZX1ib2R5LmxvYWRpbmcucGFnZS1zaG9ydHMgI2hlYWRlcixib2R5LmxvYWRpbmcucGFnZS1zaG9ydHMgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye2Rpc3BsYXk6bm9uZX1ib2R5LnBhZ2Utc2hvcnRzICNwbGF5ZXItY29udGFpbmVyLWlkLGJvZHkucGFnZS1zaG9ydHMgLnBsYXllci1jb250YWluZXIgI3BsYXllcntoZWlnaHQ6MTAwJTt0b3A6MH0qey1tcy1mbGV4OjAgMSBhdXRvfWJ1dHRvbntwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO2ZvbnQ6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0O2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH1odG1se3dvcmQtd3JhcDpicmVhay13b3JkO2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmOy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHlbZGlzYWJsZS10YXAtaGlnaGxpZ2h0PXRydWVdIFtyb2xlPWJ1dHRvbl0sYm9keVtkaXNhYmxlLXRhcC1oaWdobGlnaHQ9dHJ1ZV0gYSxib2R5W2Rpc2FibGUtdGFwLWhpZ2hsaWdodD10cnVlXSBidXR0b257LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWh0bWxbZGFya2VyLWRhcmstdGhlbWVde2JhY2tncm91bmQtY29sb3I6I2ZmZn1odG1sLndhdGNoLXNjcm9sbHtzY3JvbGwtcGFkZGluZy10b3A6NDhweH1odG1sLndhdGNoLXNjcm9sbC5zdGlja3ktcGxheWVye3Njcm9sbC1wYWRkaW5nLXRvcDpjYWxjKDQ4cHggKyA1Ni4yNXZ3KX1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9aW5wdXQ6Zm9jdXN7bWFyZ2luLWJvdHRvbTowO2JvcmRlci1ib3R0b20td2lkdGg6MnB4O2JvcmRlci1ib3R0b20tY29sb3I6IzAzMDMwM31pbnB1dDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9dGV4dGFyZWF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nLWJvdHRvbTo0cHg7b3V0bGluZTpub25lOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7bWFyZ2luLWJvdHRvbToxcHg7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO21pbi1oZWlnaHQ6OC40cmVtO3dpZHRoOjEwMCU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7cGFkZGluZzo4cHh9dGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9dGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfWZvcm17bWFyZ2luOjB9YXtjb2xvcjpjdXJyZW50Q29sb3I7dGV4dC1kZWNvcmF0aW9uOm5vbmV9aDF7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDttYXJnaW4tYm90dG9tOjB9aDJ7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS44cmVtO21hcmdpbi1ib3R0b206MH1oM3tkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyO292ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luLWJvdHRvbTowfWg0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuM3JlbTttYXJnaW4tYm90dG9tOjB9aW1ne21pbi13aWR0aDoxcHg7bWluLWhlaWdodDoxcHg7ZmlsdGVyOm5vbmV9aW1nOm5vdChbc3JjXSl7dmlzaWJpbGl0eTpoaWRkZW59OmZvY3Vze291dGxpbmU6bm9uZX1we21hcmdpbjowfS5pdGVte21hcmdpbi10b3A6MTJweDtkaXNwbGF5OmJsb2NrfS5pdGVtOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbToxMnB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lml0ZW17bWFyZ2luLXRvcDo4cHh9fS5pbWFnZS1vdmVybGF5LXRleHR7dGV4dC1zaGFkb3c6MXB4IDFweCBoc2xhKDAsMCUsNi43JSwuMiksLTFweCAxcHggaHNsYSgwLDAlLDYuNyUsLjIpLC0xcHggLTFweCBoc2xhKDAsMCUsNi43JSwuMiksMXB4IC0xcHggaHNsYSgwLDAlLDYuNyUsLjIpfSNwbGF5ZXItY29udHJvbC1jb250YWluZXJ7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCk7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfVtkaXI9cnRsXSAjcGxheWVyLXNob3J0cy1jb250YWluZXJ7ZGlyZWN0aW9uOnJ0bH1bZmF1eC1mdWxsc2NyZWVuPXRydWVdICNwbGF5ZXItY29udHJvbC1jb250YWluZXIsW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAjcGxheWVyLFtzaG9ydHMtcGxheWVyPXRydWVdICNwbGF5ZXItc2hvcnRzLWNvbnRhaW5lcixbc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAjcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3BhZGRpbmctYm90dG9tOjB9Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXI6ZnVsbHNjcmVlbiAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemV7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlO2FzcGVjdC1yYXRpbzphdXRvfVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV1bZnVsbHNjcmVlbi1yZWplY3RlZD10cnVlXSAjYXBwe2Rpc3BsYXk6bm9uZX1bc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lciAuaHRtbDUtdmlkZW8tY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRhaW5lcixbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLFtzaG9ydHMtcGxheWVyPXRydWVdIC5wbGF5ZXItY29udGFpbmVyLFtzaG9ydHMtcGxheWVyPXRydWVdIHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyOm5vdCguc2hvcnRzLXRvcGJhcil7b3ZlcmZsb3c6dmlzaWJsZTt6LWluZGV4OjR9W3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLnl0cC11bm11dGUueXRwLXBvcHVwe3RvcDo3NXB4O2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCl9W3JvbGU9YnV0dG9uXSxidXR0b24saW5wdXRbdHlwZT1jaGVja2JveF0sc2VsZWN0e2N1cnNvcjpwb2ludGVyfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXXt3aWR0aDp2YXIoLS15dGQtc2hvcnRzLXBsYXllci13aWR0aCk7aGVpZ2h0OnZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLWhlaWdodCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXttYXJnaW4tcmlnaHQ6dmFyKC0tYWN0aW9uLWJ1dHRvbi1mdWxsLXdpZHRoLW5lZ2F0aXZlKTtwYWRkaW5nLXJpZ2h0OnZhcigtLWFjdGlvbi1idXR0b24tZnVsbC13aWR0aCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJde3dpZHRoOmNhbGModmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpICsgNzJweCl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJdIC5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe21hcmdpbi1yaWdodDowO3BhZGRpbmctcmlnaHQ6MH15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcltpcy13ZWJdW2V4dHJhY3QtYWN0aW9uLWJhcl0gLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9uc3ttYXJnaW4tYm90dG9tOjE2cHh9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LW92ZXJsYXlde3dpZHRoOjEwMCV9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LW92ZXJsYXldIC5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe3dpZHRoOmNhbGMoKDEwMCUgLSBtYXgodmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpLCAzMTVweCkpLzIpO21hcmdpbi1yaWdodDptYXgodmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpLDMxNXB4KTtwYWRkaW5nLXJpZ2h0OjA7YmFja2dyb3VuZC1pbWFnZTpub25lO2ZpbHRlcjp1bnNldDttaW4td2lkdGg6MzYwcHg7bWF4LXdpZHRoOjQ4MHB4O3BhZGRpbmctbGVmdDoxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XSAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciBidXR0b246bm90KFthcmlhLXByZXNzZWQ9dHJ1ZV0pIGMzLWljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMXB4IDZweCByZ2JhKDAsMCwwLC40KSl9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXIgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7dGV4dC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsMC44KX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1tYWluLWNvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDplbmQ7LW1vei1ib3gtYWxpZ246c3RyZXRjaDthbGlnbi1pdGVtczpzdHJldGNofS5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleDoxIDEgMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWluLXdpZHRoOjA7bWFyZ2luOjAgMCAxNnB4IDE2cHh9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbZGF0YS1oYXMtaW5mby1wYW5lbD10cnVlXSsuUHJvZ3Jlc3NCYXJTaG93aW5ne3BhZGRpbmctdG9wOjE2cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEgeXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7aGVpZ2h0OjI0cHg7cGFkZGluZzozcHggNHB4IDNweCAwfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjAgNHB4IDE2cHggNHB4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZy10b3A6MnB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb257bWFyZ2luOjAhaW1wb3J0YW50O21pbi13aWR0aDowO3RleHQtdHJhbnNmb3JtOm5vbmV9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAuYnV0dG9uLXdpdGgtaWNvbiAuYnV0dG9uLXJlbmRlcmVyLXRleHR7bWFyZ2luLXRvcDo3cHg7bWF4LXdpZHRoOjY0cHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlcnttYXgtd2lkdGg6NjRweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1ib3R0b20tc2hlZXQtcmVuZGVyZXIsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tbWVudS1yZW5kZXJlcnttYXJnaW4tdG9wOjRweDtkaXNwbGF5OmJsb2NrOy1tb3otYm94LWZsZXg6MTtmbGV4OjE7cGFkZGluZy1yaWdodDo0cHg7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHBpdm90LWJ1dHRvbi12aWV3LW1vZGVsLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweDttYXJnaW46MH1AbWVkaWEgKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgcGl2b3QtYnV0dG9uLXZpZXctbW9kZWwsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYnV0dG9uLXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLXRvZ2dsZS1idXR0b24tcmVuZGVyZXJ7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOi4zZW19LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXJ7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjB9fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXIgLmljb24tYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyBidXR0b24+LmJ1dHRvbi13aXRoLWljb24taW5uZXJ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIHl0bS1wcm9maWxlLWljb257Ym9yZGVyOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24sLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tZm9yY2VkLW11dGUtbWVzc2FnZS1yZW5kZXJlcnttaW4taGVpZ2h0OjQwcHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAuYnV0dG9uLXdpdGgtaWNvbiAuYnV0dG9uLXJlbmRlcmVyLXRleHQsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtkaXNwbGF5Om5vbmV9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tbWVudS1yZW5kZXJlciAuaWNvbi1idXR0b257aGVpZ2h0OjMycHh9fS5sb2dvLWluLXBsYXllciwubW9iaWxlLXRvcGJhci1sb2dve2NvbG9yOiNmMDM7cGFkZGluZzowIDEycHg7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDttYXJnaW4tbGVmdDotMXB4fS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ28sLm1vYmlsZS10b3BiYXItbG9nby5mdWxsLWxvZ297d2lkdGg6OTNweDtoZWlnaHQ6MjBweDtjb2xvcjojMDAwO21hcmdpbi1sZWZ0OjB9LmxvZ28taW4tcGxheWVyLnNob3J0cy1sb2dvLC5tb2JpbGUtdG9wYmFyLWxvZ28uc2hvcnRzLWxvZ297d2lkdGg6NzNweDtoZWlnaHQ6MjVweDtjb2xvcjojMDAwO21hcmdpbi1sZWZ0OjB9LmxvZ28taW4tcGxheWVyLmZ1bGwtbG9nby1yZWQsLm1vYmlsZS10b3BiYXItbG9nby5mdWxsLWxvZ28tcmVke3dpZHRoOjEwMXB4fS5sb2dvLWluLXBsYXllci1lbmRwb2ludCwubW9iaWxlLXRvcGJhci1oZWFkZXItZW5kcG9pbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6NDhweDt0ZXh0LWFsaWduOmxlZnR9LmxvZ28taW4tcGxheWVyLmZ1bGwtbG9nb3tjb2xvcjojZmZmfS5tb25vY2hyb21hdGljIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlcntkaXNwbGF5OmJsb2NrfXl0bS1zdWJzY3JpYmUtYnV0dG9uLXJlbmRlcmVyIC5idXR0b24tcmVuZGVyZXItaWNvbntoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zdWJzY3JpYmUtYnV0dG9uLWNvdW50e2NvbG9yOiM2MDYwNjA7Zm9udC1zaXplOjEuNHJlbTttYXJnaW46MCA4cHh9QGtleWZyYW1lcyBub3RpZmljYXRpb24tYmVsbC1mYWRlLWluezAle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9dG97b3BhY2l0eToxO3RyYW5zZm9ybTpub25lfX0ubm90aWZpY2F0aW9uLWJlbGwtY29udGFpbmVye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo1O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OmhpZGRlbn0ubm90aWZpY2F0aW9uLWJlbGwtY29udGFpbmVyLmhpZGRlbntkaXNwbGF5Om5vbmV9Lm5vdGlmaWNhdGlvbi1iZWxse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDotMnB4O2FuaW1hdGlvbjpub3RpZmljYXRpb24tYmVsbC1mYWRlLWluIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ubW9kZXJuLXN1YnNjcmliZS1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtwYWRkaW5nLWxlZnQ6MH0uWXRtVmlkZW9JbmZvRXhwYW5kZWQgLm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0LC55dG1WaWRlb0luZm9FeHBhbmRlZCAubW9kZXJuLXN1YnNjcmliZS1idXR0b24gLnl0QXR0cmlidXRlZFN0cmluZ0hvc3R7dHJhbnNpdGlvbjpub25lfS53aXRoLW5vdGlmaWNhdGlvbi1iZWxsIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3BhZGRpbmctbGVmdDoyNHB4fS55dENvcmVJbWFnZUhvc3R7dmlzaWJpbGl0eTpoaWRkZW47ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLWhlaWdodDoxcHg7bWluLXdpZHRoOjFweH0ueXRDb3JlSW1hZ2VMb2FkZWR7dmlzaWJpbGl0eTppbmhlcml0fS55dENvcmVJbWFnZUZpbGxQYXJlbnRIZWlnaHR7aGVpZ2h0OjEwMCV9Lnl0Q29yZUltYWdlRmlsbFBhcmVudFdpZHRoe3dpZHRoOjEwMCV9Lnl0Q29yZUltYWdlT2JqZWN0UG9zaXRpb25Ub3BMZWZ0e29iamVjdC1wb3NpdGlvbjp0b3AgbGVmdH0ueXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcFJpZ2h0e29iamVjdC1wb3NpdGlvbjp0b3AgcmlnaHR9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZVRvRmlsbHtvYmplY3QtZml0OmZpbGx9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpdHtvYmplY3QtZml0OmNvbnRhaW59Lnl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpbGx7b2JqZWN0LWZpdDpjb3Zlcn0ueXRDb3JlSW1hZ2VDb250ZW50TW9kZUNlbnRlcntvYmplY3QtZml0Om5vbmU7b2JqZWN0LXBvc2l0aW9uOmNlbnRlciBjZW50ZXJ9Lnl0Q29yZUltYWdlRmxpcFJ0bHt0cmFuc2Zvcm06c2NhbGVYKC0xKX0ueXRDb3JlSW1hZ2VHcmFkaWVudENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dENvcmVJbWFnZUdyYWRpZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lfTpyb290ey0teXQtYXR0cmlidXRlZC1zdHJpbmctbGluay1ob3Zlci1jb2xvcjp1bnNldH0ueXRBdHRyaWJ1dGVkU3RyaW5nSW5saW5lQmxvY2tNb2R7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50Qm90dG9te3ZlcnRpY2FsLWFsaWduOmJvdHRvbX0ueXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCYXNlbGluZXt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRWZXJ0aWNhbENlbnRlcnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0uMDdlbX0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlzdEdyb3Vwey1tb3otcGFkZGluZy1zdGFydDoyMHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmt7dGV4dC1kZWNvcmF0aW9uOm5vbmU7ZGlzcGxheTppbmxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvcntjb2xvcjojMDY1ZmQ0fS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rT3ZlcmxheUNhbGxUb0FjdGlvbkNvbG9ye2NvbG9yOiMzZWE2ZmZ9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtbcm9sZT1idXR0b25de2N1cnNvcjpwb2ludGVyfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rSW5oZXJpdENvbG9yIC55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rQ2FsbFRvQWN0aW9uQ29sb3J7Y29sb3I6aW5oZXJpdH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciAueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9yOmhvdmVye2NvbG9yOnZhcigtLXl0LWF0dHJpYnV0ZWQtc3RyaW5nLWxpbmstaG92ZXItY29sb3IpfS55dEF0dHJpYnV0ZWRTdHJpbmdFbGxpcHNpc1RydW5jYXRle2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dEF0dHJpYnV0ZWRTdHJpbmdXaGl0ZVNwYWNlTm9XcmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ueXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZVByZVdyYXB7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lnl0QXR0cmlidXRlZFN0cmluZ0lnbm9yZVNwbGl0TGluZXN7d2hpdGUtc3BhY2U6bm9ybWFsfS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGVmdHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246bGVmdH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudFJpZ2h0e2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpyaWdodH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudENlbnRlcntkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyfS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50SnVzdGlmaWVke2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpqdXN0aWZ5fS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGF5b3V0U3RhcnR7ZGlzcGxheTpibG9jazthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRVbmtub3due2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjppbmhlcml0fS55dEF0dHJpYnV0ZWRTdHJpbmdXb3JkV3JhcHBpbmd7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0ueXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lZHstbW96LXRleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZTt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ1N0cmlrZXRocm91Z2h7LW1vei10ZXh0LWRlY29yYXRpb24tbGluZTpsaW5lLXRocm91Z2g7dGV4dC1kZWNvcmF0aW9uLWxpbmU6bGluZS10aHJvdWdofS55dEF0dHJpYnV0ZWRTdHJpbmdVbmRlcmxpbmVTdHJpa2V0aHJvdWdoey1tb3otdGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lIGxpbmUtdGhyb3VnaDt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmUgbGluZS10aHJvdWdofS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVOb25le3RleHQtZGVjb3JhdGlvbjpub25lfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVTaW5nbGV7LW1vei10ZXh0LWRlY29yYXRpb24tc3R5bGU6c29saWQ7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVEb3R7LW1vei10ZXh0LWRlY29yYXRpb24tc3R5bGU6ZG90dGVkO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpkb3R0ZWR9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3Vic2NyaXB0e3ZlcnRpY2FsLWFsaWduOnN1Yn0ueXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRTdXBlcnNjcmlwdHt2ZXJ0aWNhbC1hbGlnbjpzdXBlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRVbmtub3due3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdJdGFsaWNpemVke2ZvbnQtc3R5bGU6aXRhbGljfS55dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QXR0cmlidXRlZFN0cmluZ0hlYWRpbmcze2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRCdXR0b25PckFuY2hvckhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0QnV0dG9uT3JBbmNob3JCdXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyOm5vbmU7Y29sb3I6aW5oZXJpdDtwYWRkaW5nOjA7bWFyZ2luOjA7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZS13aWR0aDowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOm5vbmU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1hbGlnbjp1bnNldDt3aWR0aDoxMDAlOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ueXRCdXR0b25PckFuY2hvckFuY2hvcntkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjppbmhlcml0O3BhZGRpbmc6MDttYXJnaW46MDt0ZXh0LWRlY29yYXRpb246bm9uZTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJX0ueXRSYWRpb1NoYXBlSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrfS55dFJhZGlvU2hhcGVJbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5Oi4wMDAwMDE7bWFyZ2luOjA7bGVmdDoxMnB4O3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRSYWRpb1NoYXBlTGFiZWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4taGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJTtjb2xvcjojMDMwMzAzfS55dFJhZGlvU2hhcGVLZXlib2FyZEZvY3VzZWR7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UmFkaW9TaGFwZURpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0UmFkaW9TaGFwZUxhYmVsey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9aW5wdXQ6Y2hlY2tlZCtsYWJlbD4ueXRSYWRpb1NoYXBlUmFkaW8+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpK2xhYmVsPi55dFJhZGlvU2hhcGVSYWRpbz46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0UmFkaW9TaGFwZVJhZGlvRGVmYXVsdFN0eWxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMnB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9aW5wdXQ6bm90KDpjaGVja2VkKStsYWJlbD4ueXRSYWRpb1NoYXBlQ2hlY2tJY29uPjpmaXJzdC1jaGlsZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRSYWRpb1NoYXBlQ29tcGFjdHttaW4taGVpZ2h0OjQwcHh9Lnl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2h7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRSYWRpb1NoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzAzMDMwM30ueXRMaXN0SXRlbVZpZXdNb2RlbEhvc3Q6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW57ZGlzcGxheTpub25lfS55dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25PckFuY2hvcnt3aWR0aDphdXRvfS55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3I6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxOb1RyYWlsaW5nVGV4dCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yLC55dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLWhlaWdodDo0NHB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7bWF4LWhlaWdodDoyLjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdle21hcmdpbi1sZWZ0OjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVye21hcmdpbi10b3A6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7bWFyZ2luLWJvdHRvbToycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTZWxlY3Rpb25UZXh0e2NvbG9yOiM2MDYwNjA7bWFyZ2luLWxlZnQ6NHB4fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e21hcmdpbi1sZWZ0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3J7d2lkdGg6NHB4O2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtmbGV4LXNocmluazowfS55dExpc3RJdGVtVmlld01vZGVsTGVhZGluZ3ttYXJnaW4tcmlnaHQ6MTJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjEycHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDoxMnB4fS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciwueXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVye21pbi13aWR0aDowfS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmcsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZsZXgtc2hyaW5rOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcnthbGlnbi1zZWxmOnN0YXJ0O2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjQ0cHg7bWluLXdpZHRoOjM2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExpc3RJdGVtVmlld01vZGVsQXZhdGFyLC55dExpc3RJdGVtVmlld01vZGVsSW1hZ2V7bWF4LWhlaWdodDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5e2JvcmRlci1yYWRpdXM6MnB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjojMDMwMzAzfS55dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3Nvcnl7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlcjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXJ7cGFkZGluZzoycHggMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZ3twYWRkaW5nOjJweCAwfS55dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cHtib3JkZXItcmFkaXVzOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZHtjb2xvcjojNjA2MDYwO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZCAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSwueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVkIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6IzYwNjA2MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjIuMnJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGV7cGFkZGluZzo2cHggMTZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzo2cHggMH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4taGVpZ2h0OjM2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle21heC1oZWlnaHQ6MnJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxDaGV2cm9uSWNvbntoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntoZWlnaHQ6MzZweDttaW4td2lkdGg6MzZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcntoZWlnaHQ6MzZweDttaW4td2lkdGg6MjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZXttYXgtaGVpZ2h0OjI0cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye21pbi1oZWlnaHQ6NDJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyLC55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcntoZWlnaHQ6NDJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSwueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiNmZmZ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY2Nlc3Nvcnl7Y29sb3I6I2ZmZn0ueXRDaGVja2JveFNoYXBlSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6NDhweDt3aWR0aDoxMDAlO2NvbG9yOiMwMzAzMDM7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hlY2tib3hTaGFwZUhvc3RDb21wYWN0e21pbi1oZWlnaHQ6NDBweH0ueXRDaGVja2JveFNoYXBlSW5wdXR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luOjA7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtvcGFjaXR5Oi4wMDAwMDE7ei1pbmRleDoxO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0Q2hlY2tib3hTaGFwZUxhYmVsey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9Lnl0Q2hlY2tib3hTaGFwZURpc2FibGVIb3Jpem9udGFsUGFkZGluZyAueXRDaGVja2JveFNoYXBlTGFiZWx7cGFkZGluZy1yaWdodDowfS55dENoZWNrYm94U2hhcGVDaGVja2JveERlZmF1bHRTdHlsZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjAgMTJweH1pbnB1dDpjaGVja2Vkfi55dENoZWNrYm94U2hhcGVDaGVja2JveD46Zmlyc3QtY2hpbGR7ZGlzcGxheTpub25lfWlucHV0Om5vdCg6Y2hlY2tlZCl+Lnl0Q2hlY2tib3hTaGFwZUNoZWNrYm94PjpsYXN0LWNoaWxke2Rpc3BsYXk6bm9uZX0ueXRTd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30udG9nZ2xlYWJsZUxpc3RJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dExpc3RWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRMaXN0Vmlld01vZGVsSG9zdEthaW9zU3BhdE5hdntwYWRkaW5nOjNweH19Lnl0RG93bmxvYWRMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdHtwYWRkaW5nOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhe3BhZGRpbmc6MDstbW96LWJveC1hbGlnbjpub3JtYWw7YWxpZ24taXRlbXM6bm9ybWFsO21hcmdpbjphdXRvOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhIHl0bS1tZW51LXJlbmRlcmVye2hlaWdodDoxMDAlfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC52aWRlby10aHVtYm5haWwtaW1ne3dpZHRoOjY3cHg7aGVpZ2h0OjY3cHg7bWluLWhlaWdodDowO2JvcmRlci1yYWRpdXM6NTAlfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWhhcy1zdWJzY3JpYmUtYnV0dG9uPXRydWVdIC5jaGFubmVsLXN1YnNjcmliZS1idXR0b257cGFkZGluZzowIDAgMCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtY29sb3ItcGFsZXR0ZS1hcHBsaWVkPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtU3ViaGVhZHtvcGFjaXR5OjF9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0PmF7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdHtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3QudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0e3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG87cGFkZGluZy1ib3R0b206NTYuMjUlfX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3QgLmVuZ2FnZW1lbnQtYmFye2hlaWdodDoyNHB4O21hcmdpbi10b3A6NHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTXVsdGljb2x1bW57cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5ZdG1Db21wYWN0TWVkaWFJdGVtSW1hZ2V7ZmxleC1zaHJpbms6MH0uWXRtQ29tcGFjdE1lZGlhSXRlbUltYWdlLnN0YWNrZWR7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDo2cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6dmlzaWJsZX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9fUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YVtkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyfS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGEuaGFzLWVuZ2FnZW1lbnQtYmFyIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6Mn0uWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhLmhhcy1lbmdhZ2VtZW50LWJhcltkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjEuMjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhe3BhZGRpbmc6NHB4IDB9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YVtkYXRhLWhhcy1iYWRnZXM9dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXtkaXNwbGF5Oi13ZWJraXQtYm94O3doaXRlLXNwYWNlOm5vcm1hbH19Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YUNvbnRlbnR7ZGlzcGxheTpibG9jazstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLXdpZHRoOjA7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MCA4cHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YUNvbnRlbnQuc3RhY2tlZHttYXJnaW4tdG9wOjhweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50e3BhZGRpbmc6MH19Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZVBsYWNlaG9sZGVye2hlaWdodDoxNnB4O21heC13aWR0aDozMDBweDttYXJnaW4tYm90dG9tOjhweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0uWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWR7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDtvcGFjaXR5Oi42fS5ZdG1Db21wYWN0TWVkaWFJdGVtU3ViaGVhZFBsYWNlaG9sZGVye2hlaWdodDoxNnB4O3dpZHRoOjEyMHB4O21hcmdpbi1ib3R0b206M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6MnB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjNyZW07b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowO2ZvbnQtc2l6ZToxLjRyZW19Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZSAueXRtLWNoYW5uZWwtbmFtZXtmb250LXNpemU6MS40cmVtfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1IZWFkbGluZXttYXgtaGVpZ2h0OjMuNzVlbTstd2Via2l0LWxpbmUtY2xhbXA6M319Lll0bUNvbXBhY3RNZWRpYUl0ZW1CeWxpbmV7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbVN0YXRze2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXNpemU6MS4ycmVtfS5ZdG1Db21wYWN0TWVkaWFJdGVtU3RhdHN+Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdGF0czpiZWZvcmV7Y29udGVudDoiwqDCt8KgIn0uWXRtQ29tcGFjdE1lZGlhSXRlbURlc2NyaXB0aW9ue21hcmdpbjo4cHggMDtwYWRkaW5nOjA7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbU1lbnV7ZmxleC1zaHJpbms6MDtjb2xvcjojMDMwMzAzfS5mb3JtYXR0ZWQtc3RyaW5nLWRlZW1waGFzaXple2NvbG9yOiM2MDYwNjB9LmZvcm1hdHRlZC1zdHJpbmctYm9sZHtmb250LXdlaWdodDo1MDB9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRze3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0e3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksdHJhbnNmb3JtO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjkpO3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJFZmZlY3R7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle3dpbGwtY2hhbmdlOm9wYWNpdHk7b3BhY2l0eTowO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4xfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplU21hbGx7bWFyZ2luOi00cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW17bWFyZ2luOi04cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwsLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTWVkaXVtIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZXttYXJnaW46LTEycHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czoxNnB4fS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXIgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxse2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgIzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgI2ZmZn0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4yfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZU92ZXJsYXlUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVN0cm9rZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9QGtleWZyYW1lcyBwb3BvdmVyLWZhZGUtaW57MCV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHBvcG92ZXItZmFkZS1vdXR7dG97b3BhY2l0eTowfX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdHttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdC5cOnBvcG92ZXItb3BlbiwueXRQb3BvdmVyQ29tcG9uZW50SG9zdDpwb3BvdmVyLW9wZW57YW5pbWF0aW9uOnBvcG92ZXItZmFkZS1pbiAuMTVzIGVhc2UtaW59Lnl0UG9wb3ZlckNvbXBvbmVudEhvc3RDbG9zaW5nLlw6cG9wb3Zlci1vcGVuLC55dFBvcG92ZXJDb21wb25lbnRIb3N0Q2xvc2luZzpwb3BvdmVyLW9wZW57YW5pbWF0aW9uOnBvcG92ZXItZmFkZS1vdXQgNzVtcyBlYXNlLW91dCBmb3J3YXJkc30ueXRUb29sdGlwQ29udGFpbmVySG9zdHtkaXNwbGF5OmJsb2NrfS55dFRvb2x0aXBDb250YWluZXJEZWZhdWx0VG9vbHRpcENvbnRlbnR7cGFkZGluZzo4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2MDYwNjA7b3BhY2l0eTouOTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnQsLnl0VG9vbHRpcENvbnRhaW5lclBsYXllclRvb2x0aXBDb250ZW50Qmx1cnJlZHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDJweCA4cHggIzAwMDtvcGFjaXR5Oi45O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnRCbHVycmVke29wYWNpdHk6dW5zZXQ7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUb29sdGlwQ29udGFpbmVyRWZmZWN0TWFrZXJUb29sdGlwQ29udGVudHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0VG9vbHRpcENvbnRhaW5lckhvdGtleXtkaXNwbGF5OmlubGluZTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjAgNnB4O21hcmdpbi1sZWZ0OjhweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9OnJvb3R7LS15dC1saWdodC1yaW0tY29sb3I6dW5zZXQ7LS15dC1saWdodC13YXNoLW9wYWNpdHk6MDstLXl0LWxpZ2h0LXdhc2gteDowOy0teXQtbGlnaHQtd2FzaC15OjA7LS15dC1saWdodC13YXNoLXNpemU6OTZweDstLXl0LWxpZ2h0LXdhc2gtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS5jb250cmliWXRMaWdodFNoYXBlSG9zdHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtib3JkZXItcmFkaXVzOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7cGFkZGluZzouNXB4Oy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDAsMCwwLDAuMDUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE91dGxpbmU6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMykpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWxJbnZlcnNlOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2V7aW5zZXQ6LTFweH0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMikpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlUb25hbDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4xNSkpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodHtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjUwJTtsZWZ0OjA7Ym9yZGVyLXJhZGl1czppbmhlcml0O2ZpbHRlcjpibHVyKDEwcHgpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U2FmYXJpe3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U29saWR7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWx7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMil9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZEludmVyc2V7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbEludmVyc2V7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMDUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVNvbGlke2JhY2tncm91bmQ6I2ZmZn0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodE92ZXJsYXlUb25hbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVEeW5hbWljV2FzaExpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHRyYW5zbGF0ZSh2YXIoLS15dC1saWdodC13YXNoLXgsMCksdmFyKC0teXQtbGlnaHQtd2FzaC15LDApKTtib3JkZXItcmFkaXVzOmluaGVyaXQ7d2lkdGg6dmFyKC0teXQtbGlnaHQtd2FzaC1zaXplLDk2cHgpO2hlaWdodDp2YXIoLS15dC1saWdodC13YXNoLXNpemUsOTZweCk7b3BhY2l0eTp2YXIoLS15dC1saWdodC13YXNoLW9wYWNpdHksMCk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGZhcnRoZXN0LWNvcm5lciBhdCBjZW50ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikgMCx0cmFuc3BhcmVudCAxMDAlKTtwb2ludGVyLWV2ZW50czpub25lO2ZpbHRlcjpibHVyKDE1cHgpfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdHtib3JkZXItcmFkaXVzOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG87Y29udGFpbjpsYXlvdXQgc3R5bGUgcGFpbnQ7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7dHJhbnNpdGlvbjpvcGFjaXR5IC40NXMgY3ViaWMtYmV6aWVyKC4yNSwxLC44LDEpfX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7dHJhbnNpdGlvbi1kdXJhdGlvbjo0MG1zfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjA1fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4xfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjJ9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVQcmVzc2VkIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjN9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2U6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouM306cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojZmZmfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZTpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4wNX06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVRvdWNoTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ZmlsdGVyOmJsdXIoMjRweCk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgMCxyZ2JhKDI1NSwyNTUsMjU1LC42KSAzNSUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDcwJSx0cmFuc3BhcmVudCAxMDAlKTtib3JkZXItcmFkaXVzOjUwJX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2ZpbHRlcjpibHVyKDMycHgpO29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSwjZmZmIDAscmdiYSgyNTUsMjU1LDI1NSwuNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA4MCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtib3JkZXItcmFkaXVzOjUwJX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0e3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZSx3aWR0aCAuMTVzIGN1YmljLWJlemllciguMjUsMSwuNSwxKSxoZWlnaHQgLjE1cyBjdWJpYy1iZXppZXIoLjI1LDEsLjUsMSl9fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdDpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7b3BhY2l0eTouMn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvc3QueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0e29wYWNpdHk6LjM1O3RyYW5zaXRpb24tZHVyYXRpb246LjA0c30uYW5pbWF0ZWRSb2xsaW5nQ2hhcmFjdGVySG9zdHtkaXNwbGF5OmlubGluZX0uYW5pbWF0ZWRSb2xsaW5nTnVtYmVySG9zdHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowO3doaXRlLXNwYWNlOm5vd3JhcDttaW4td2lkdGg6MDt0ZXh0LXRyYW5zZm9ybTpub25lO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxOHB4O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO291dGxpbmUtd2lkdGg6MDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7YmFja2dyb3VuZDpub25lO3RleHQtZGVjb3JhdGlvbjpub25lOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZsZXgtYmFzaXM6MC4wMDAwMDAwMDFweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudHt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbiwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbntsaW5lLWhlaWdodDowO2ZpbGw6Y3VycmVudENvbG9yfS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uey1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50e3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTt3aWR0aDpyb3VuZCh1cCwxMDAlLDFweCk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZlYXR1cmVQaG9uZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhze3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCA3cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCA2cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgOHB4O3dpZHRoOjMycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDoycHg7bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDoycHg7bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDotMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHN7aGVpZ2h0OjI0cHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWlkZGxlZ3JvdW5kQXNzZXR7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6MjRweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydHtib3JkZXItcmFkaXVzOjEycHggMCAwIDEycHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDdweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3twYWRkaW5nOjAgMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3toZWlnaHQ6MzJweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozMnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxNnB4IDAgMCAxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjhweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMTZweCAxNnB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcnJpZGVTbWFsbFNpemVJY29uKSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDExcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo0cHg7bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNe3BhZGRpbmc6MCAxNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAxNXB4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAxNHB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAxNnB4O3dpZHRoOjUycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU17aGVpZ2h0OjM2cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIC55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtib3JkZXItcmFkaXVzOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6MzZweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxOHB4IDAgMCAxOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjZweDtoZWlnaHQ6MjRweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMThweCAxOHB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uLC55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24pOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0KSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAxNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE1cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTRweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTZweDt3aWR0aDo1MnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUx7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDIzcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDIycHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDI0cHg7d2lkdGg6NzJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTHtoZWlnaHQ6NDhweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDo0OHB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoyNHB4IDAgMCAyNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OiIiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjEycHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI0cHggMjRweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAyMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE5cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMThweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjBweDt3aWR0aDo2OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse3BhZGRpbmc6MCAzMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMzFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDMwcHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0zMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDMycHg7d2lkdGg6ODhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse2hlaWdodDo1NnB4O2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czoyOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjU2cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjhweCAwIDAgMjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6IiI7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MTZweDtoZWlnaHQ6MjRweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI4cHggMjhweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmd7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDIzcHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDIycHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDI0cHg7d2lkdGg6ODBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lcntoZWlnaHQ6YXV0bztwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnV0dG9uVGV4dENvbnRlbnR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6OHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T25lT2ZmQ3VzdG9tVGV4dFdyYXBDb250YWluZXIgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50ey13ZWJraXQtbGluZS1jbGFtcDo0O21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVUZXh0RWxsaXBzaXMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50e3RleHQtb3ZlcmZsb3c6Y2xpcH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0e21pbi13aWR0aDowO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uT25seURlZmF1bHQueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0V29ya2Fyb3VuZEljb25Ob0JvcmRlclJhZGl1c3tib3JkZXItcmFkaXVzOnVuc2V0fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDY1ZmQ0fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA2NWZkNH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNTU2YmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojMDY1ZmQ0fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RhZGZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGFkZmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojM2VhNmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjYzODUwO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjYzODUwO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojM2VhNmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojM2VhNmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMzZWE2ZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzY1YjhmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojM2VhNmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojNjViOGZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM319QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkOWQ5ZDk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2Q5ZDlkOTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzAwMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUJhY2tkcm9wRmlsdGVyRXhwZXJpbWVudHtiYWNrZHJvcC1maWx0ZXI6Ymx1cig0cHgpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbntmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlQmFja2Ryb3BGaWx0ZXJFeHBlcmltZW50e2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSg0MCw0MCw0MCwwLjYpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMyl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg0NWRlZywjZTEwMDJkIDMwJSwjZTAxMzc4IDg1JSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg0NWRlZywjZTEwMDJkIDMwJSwjZTAxMzc4IDg1JSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzAwN2E2NSAwLCM3ZjBlN2YgMTAwJSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsIzdmMGU3ZiAwLCNhYTA5YWEgMjAlLCNmZjRlNDUgMTAwJSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgxMjcsMTQsMTI3LDAuMikgMCxyZ2JhKDE3MCw5LDE3MCwwLjIpIDIwJSxyZ2JhKDI1NSw3OCw2OSwwLjIpIDEwMCUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMCwxMjIsMTAxLDAuMikgMCxyZ2JhKDEyNywxNCwxMjcsMC4yKSAxMDAlKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyxyZ2JhKDAsMTIyLDEwMSwwLjIpIDAscmdiYSgxMjcsMTQsMTI3LDAuMikgMTAwJSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7CiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkewogIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiM5MDkwOTB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojOTA5MDkwfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7CiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6MCA0cHggMTZweCAwIHJnYmEoMCwwLDAsMC4xKSwwIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXsKICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRSYWlzZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2UpewogICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNzI3Mjc7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7bWFyZ2luOjRweCAtOHB4IDA7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVsey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsSXNPdmVybGF5IC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse21heC13aWR0aDo2NHB4O2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0QmFkZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEJyTnpCYWRnZVNoYXBlSG9zdHtkaXNwbGF5OmJsb2NrfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1JlZFNxdWFyZXtiYWNrZ3JvdW5kOiNmMDM5MzY7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czowO2NvbG9yOmJsYWNrO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nWWVsbG93Q2lyY2xle2JhY2tncm91bmQ6I2ZmZWYwMDtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ0dyZWVuQ2lyY2xle2JhY2tncm91bmQ6IzQyYzc1ODtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsR3JlZW5TcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwxNjYsODEpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsdWVTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwxNDksMjE4KTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VCbHVlU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTQ5LDIxOCk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsWWVsbG93U3F1YXJle2JhY2tncm91bmQ6cmdiKDI1MSwxOTMsMjEpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVllbGxvd1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNTEsMTkzLDIxKTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxPcmFuZ2VTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjQ1LDEzMCwzMik7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlT3JhbmdlU3F1YXJle2JhY2tncm91bmQ6cmdiKDI0NSwxMzAsMzIpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFJlZFNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyMzYsMjksMzcpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVJlZFNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyMzYsMjksMzcpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsYWNrU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMCwwKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VCbGFja1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDAsMCk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdlV2l0aExhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrOy1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZXM6bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsVHJhaWxpbmdBY3Rpb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lcj46bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbnNDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbjpub3QoOmxhc3QtY2hpbGQpey1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4fS55dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEZpZWxkc2V0e2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MH0ueXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRXJyb3J7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6I2MzMDAyN30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3R7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lcntwYWRkaW5nLWJvdHRvbToyMHB4fS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlUmFkaW9CdXR0b257aGVpZ2h0OjA7bGVmdDowO21hcmdpbjowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjB9Lnl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVke2N1cnNvcjpkZWZhdWx0fS55dENhcmRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDYXJkVmlld01vZGVsT3V0bGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0Q2FyZFZpZXdNb2RlbFJhaXNlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmUtc3R5bGU6c29saWQ7b3V0bGluZS1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvdXRsaW5lLWNvbG9yIC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS13aWR0aCAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWR7Ym94LXNoYWRvdzowIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmU6IzAzMDMwMyBzb2xpZCAycHg7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS1jb2xvciAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG91dGxpbmUtd2lkdGggLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRDYXJkVmlld01vZGVsVG9uYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dENhcmRWaWV3TW9kZWxJbnZlcnRlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGZ9Lnl0Q2FyZFZpZXdNb2RlbENvbnRlbnRXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lnl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7d2lkdGg6MTAwJX0ueXRDYXJkVmlld01vZGVsVG9wQ29udGVudHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9ue2FsaWduLXNlbGY6ZmxleC1zdGFydH0ueXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2lue21hcmdpbjo2cHh9Lnl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMnB4O3RvcDoxMnB4fS55dENhcmRWaWV3TW9kZWxDYXJkVmlld01vZGVsSW5uZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dENhcmRWaWV3TW9kZWxTZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjMDMwMzAzfS55dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZywueXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmd7cGFkZGluZzoxMnB4fS55dENhcmRWaWV3TW9kZWxDbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtpbnNldDowO3Bvc2l0aW9uOmFic29sdXRlfS55dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH0ueXRDYXJkVmlld01vZGVsQmFja2dyb3VuZHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6ZmlsbH0ueXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0Q2hlY2tib3hJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVye2JvcmRlci10b3A6bm9uZX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MTJweCAwIDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxEaXNhYmxlUGFkZGluZy55dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXJ7cGFkZGluZy10b3A6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmd7cGFkZGluZy1ib3R0b206MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5ne3BhZGRpbmctcmlnaHQ6MjRweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2tUb3BCdXR0b257bWFyZ2luOjAgMCA4cHh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dUcmFpbGluZ3stbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dMZWZ0QnV0dG9ue21hcmdpbi1yaWdodDo4cHh9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dGdWxsV2lkdGh7d2lkdGg6MTAwJX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0V4cGFuZHstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93U2hyaW5rey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dIaWRkZW57ZGlzcGxheTpub25lfS55dFNwZWNJY29uU2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dFNwaW5uZXJTaGFwZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGlubmVyU2hhcGVTcGlubmVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbjoxMnB4IGF1dG87d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MnB4IHNvbGlkICNlZWU7Ym9yZGVyLXRvcC1jb2xvcjojNjY2O2FuaW1hdGlvbjpzcGlubmVyIC44cyBsaW5lYXIgaW5maW5pdGV9Lnl0U3Bpbm5lclNoYXBlU3Bpbm5lcjpub3QoW2hpZGRlbl0pe2NvbG9yOiMzMzM7Zm9udC1zaXplOjEuNnJlbX1Aa2V5ZnJhbWVzIHNwaW5uZXJ7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19Lnl0TG90dGllQ29tcG9uZW50SG9zdHtkaXNwbGF5OmJsb2NrfS55dExvdHRpZUNvbXBvbmVudEhvc3Qgc3Zne2Rpc3BsYXk6YmxvY2t9Lnl0QW5pbWF0ZWRJY29uSG9zdHtkaXNwbGF5OmJsb2NrfS55dEFuaW1hdGVkSWNvbkhvc3QgLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7bWFyZ2luOjB9Lnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTJweCwtMTJweCk7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0ueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1zdWJzY3JpYmUtaWNvbnt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LC0xMnB4KTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9IjE4Il0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT0iMTgiXSAuYW5pbWF0ZWQtbGlrZS1pY29uIC5hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9IjE4Il0gLmFuaW1hdGVkLWxpa2UtaWNvbiAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT0iMTgiXSAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIC5jdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGUoLTlweCwtOXB4KTtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPSIxOCJdIC5hbmltYXRlZC1zdWJzY3JpYmUtaWNvbnt0cmFuc2Zvcm06dHJhbnNsYXRlKC05cHgsLTlweCk7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweH0ueXRIb3Jpem9udGFsU2xpZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFNsaWRlclNoYXBlSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjE2cHggMTJweH0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6bm9uZTtjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAzMDMwMztoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbjpkaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdDtjb2xvcjojOTA5MDkwfS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcnstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO2ZvbnQ6aW5oZXJpdDtjb2xvcjojMDMwMzAzOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTttYXJnaW46MCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7b3V0bGluZTpub25lO3BhZGRpbmctYm90dG9tOjA7LS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudDowO3dpZHRoOjEwMCU7aGVpZ2h0OjI0cHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYnthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHg7bWFyZ2luLXRvcDotNnB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LW1vei1yYW5nZS10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tcy10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2Fse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O21hcmdpbjowO3dyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybDtkaXJlY3Rpb246cnRsfS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7bWFyZ2luOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O291dGxpbmU6bm9uZTtwYWRkaW5nLWJvdHRvbTowOy0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoyNHB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTt3aWR0aDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLCMwMzAzMDMgMCwjMDMwMzAzIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIDEwMCUpO3dpZHRoOjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbi1yaWdodDotNnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlcjo6LW1zLXRodW1ie2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNsaWRlclNoYXBlSG9zdFNsaWRlcnstbW96LWFwcGVhcmFuY2U6YXV0bzthcHBlYXJhbmNlOmF1dG87LXdlYmtpdC1hcHBlYXJhbmNlOmF1dG99fS55dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjEwcHggMTZweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTttaW4taGVpZ2h0OjQ4cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RIaWRlRGl2aWRlcntib3JkZXItYm90dG9tOm5vbmV9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0Q29tcGFjdHtwYWRkaW5nOjhweCAxMnB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVye21hcmdpbjowfS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXJOb25JbnRlcmFjdGl2ZXtwb2ludGVyLWV2ZW50czpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxle21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFBhbmVsSGVhZGVyVmlld01vZGVsU3VidGl0bGV7bWF4LWhlaWdodDoxLjhyZW19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0J1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOm5vd3JhcDttYXJnaW4tbGVmdDoxMnB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1yaWdodDoyNHB4fS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3J7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47b3V0bGluZTpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3JGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkIGN1cnJlbnRDb2xvcn0ueXRTaGVldFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dFNoZWV0Vmlld01vZGVsQ29udGV4dHVhbHtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTJweDtib3gtc2hhZG93OjAgNHB4IDMycHggMCByZ2JhKDAsMCwwLDAuMSk7b3ZlcmZsb3c6aGlkZGVufS55dFNoZWV0Vmlld01vZGVsUGFkZGVkQ29udGVudHtwYWRkaW5nOjE2cHggMH0ueXRTaGVldFZpZXdNb2RlbERpc2FibGVCYWNrZHJvcEZpbHRlcntiYWNrZHJvcC1maWx0ZXI6bm9uZX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21pbi1oZWlnaHQ6MH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250YWluZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpmaXhlZDttYXJnaW46MCA4cHggMjRweDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMH1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpIGFuZCAobWluLXdpZHRoOjQxNnB4KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkgYW5kIChtaW4td2lkdGg6NDE2cHgpey55dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lcnt3aWR0aDo0MDBweDttYXJnaW46MCBhdXRvIDI0cHggYXV0b319Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcntvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZmO2N1cnNvcjotbW96LWdyYWI7Y3Vyc29yOmdyYWJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcklzRHJhZ2dpbmd7Y3Vyc29yOi1tb3otZ3JhYmJpbmc7Y3Vyc29yOmdyYWJiaW5nfS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJCb3R0b21Cb3JkZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfS55dFNwZWNCb3R0b21TaGVldExheW91dERyYWdMaW5le2JhY2tncm91bmQ6IzAzMDMwMztvcGFjaXR5Oi4xNTtib3JkZXItcmFkaXVzOjRweDtoZWlnaHQ6NHB4O21hcmdpbjowIGF1dG87d2lkdGg6NDBweDttYXJnaW4tdG9wOjhweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJ7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi10b3A6OHB4fS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldpdGhUaXRsZXttYXJnaW4tYm90dG9tOjdweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZVdyYXBwZXJ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1sZWZ0OjEycHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6IzAzMDMwMzttYXgtaGVpZ2h0OjIwcHg7bWFyZ2luOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzYwNjA2MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDoxNnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7bWF4LWhlaWdodDoyLjhyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle21heC1oZWlnaHQ6Mi42cmVtfX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle21heC1oZWlnaHQ6MS44cmVtfS55dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO292ZXJmbG93LXk6c2Nyb2xsfS55dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwM30ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtwb3NpdGlvbjpzdGlja3k7Ym90dG9tOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyQnV0dG9uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW46MTJweCAwfS55dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVye21hcmdpbjo2cHggMH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDoxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25EZWZhdWx0e21hcmdpbjowIDEycHg7d2lkdGg6MTAwJX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpciwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7bWFyZ2luLXJpZ2h0OjEycHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbjowIDEycHg7aGVpZ2h0OjMwcHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyV2l0aG91dEJ1dHRvbnN7bWFyZ2luLWJvdHRvbToxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dExlYWRpbmdMYWJlbCwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVse21hcmdpbi10b3A6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7aGVpZ2h0OjEwMCU7bWluLXdpZHRoOjEyOHB4O21heC13aWR0aDo0MDBweDt3aWR0aDoxMDAlO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDQ4cHgpO21pbi1oZWlnaHQ6MH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0T2xkTWluV2lkdGh7bWluLXdpZHRoOjI1NnB4fS55dENvbnRleHR1YWxTaGVldExheW91dEFkZFBhZGRpbmd7cGFkZGluZy1ib3R0b206OHB4fS55dENvbnRleHR1YWxTaGVldExheW91dEhlYWRlckNvbnRhaW5lcnstbW96LWJveC1mbGV4OjA7ZmxleDowfS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXJ7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO292ZXJmbG93LXk6YXV0bztzY3JvbGxiYXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDoxNnB4fS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjpob3ZlcntzY3JvbGxiYXItY29sb3I6IzkwOTA5MCB0cmFuc3BhcmVudH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTB9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Rm9vdGVyQ29udGFpbmVyey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luOjEycHh9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsU3BlZWRJbmRpY2F0b3JDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjphdXRvfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWREaXNwbGF5ey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjhyZW07bGluZS1oZWlnaHQ6My44cmVtO2ZvbnQtd2VpZ2h0OjkwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkRGlzcGxheXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjkwMH19Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjhweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTbGlkZXJDb250YWluZXJ7bWFyZ2luOjhweCAwfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b257bWFyZ2luOjAgNHB4fS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVse21hcmdpbi10b3A6NHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiMwMzAzMDN9Lnl0V2ViU2NyaW1Ib3N0e3Bvc2l0aW9uOmZpeGVkO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC44KX0ueXRXZWJTY3JpbUhvc3RSZWxhdGl2ZXtwb3NpdGlvbjphYnNvbHV0ZX0ueXRXZWJTY3JpbUhvc3RNb2Rlcm5PdmVybGF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFdlYlNjcmltSG9zdEJvdHRvbVNoZWV0e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFdlYlNjcmltSG9zdEVuZ2FnZW1lbnRQYW5lbHt6LWluZGV4OjA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCk7dG9wOjEwMHZ3fS55dFdlYlNjcmltSG9zdERyYWdnYWJsZUVuZ2FnZW1lbnRQYW5lbHt6LWluZGV4OjM7dG9wOjB9Lnl0V2ViU2NyaW1Ib3N0RHJhd2VyTGF5b3V0e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApfS55dFdlYlNjcmltRGlhbG9nQ29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3otaW5kZXg6NH0ueXRXZWJTY3JpbUhpZGRlbkJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7b3V0bGluZTpub25lO2ZvbnQ6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0O2NvbG9yOmluaGVyaXQ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH1ib3R0b20tc2hlZXQtY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6NX1ib3R0b20tc2hlZXQtY29udGFpbmVyIC5jbG9zZS1idXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9YzMtb3ZlcmxheS5ib3R0b20tc2hlZXQtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX1bYm90dG9tLXNoZWV0LW9wZW5de292ZXJmbG93OmhpZGRlbn1bbW9kYWwtb3Blbi1ib2R5XXtwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7cmlnaHQ6MH0uYjMtaWZyYW1lLWFuY2VzdG9yW21vZGFsLW9wZW4tYm9keV17cG9zaXRpb246YWJzb2x1dGV9Lm1vZGFsLWhpZGRlbi1idXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9LmJ1dHRvbi13aXRoLWljb257cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7bWluLXdpZHRoOjUuMTRlbTttYXJnaW46MCAuMjllbTtmb250LXNpemU6MS40cmVtO2JvcmRlci1yYWRpdXM6M3B4fS5idXR0b24td2l0aC1pY29uLWJ1dHRvbntwYWRkaW5nOi43ZW0gLjU3ZW19LmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW46LS43ZW0gLS41N2VtfS5idXR0b24td2l0aC1pY29uLmNvbXBhY3QrLmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW4tbGVmdDouN2VtfS5idXR0b24td2l0aC1pY29uLWlubmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LmJ1dHRvbi13aXRoLWljb24tYnV0dG9uW2Rpc2FibGVkXSwuYnV0dG9uLXdpdGgtaWNvbi5kaXNhYmxlZCAuYnV0dG9uLXdpdGgtaWNvbi1idXR0b257Y29sb3I6IzkwOTA5MH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQlJBTkRde2NvbG9yOiNlMTAwMmR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1BSSU1BUlldOm5vdChbZGlzYWJsZWQ9dHJ1ZV0pe2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9QUklNQVJZXVtkaXNhYmxlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9URVhUXXtjb2xvcjojNjA2MDYwfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9URVhUXSAubG9nby1hcnJvd3tmaWxsOiNmZmZ9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX0JMVUVfVEVYVF17Y29sb3I6IzA2NWZkNH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQkxVRV9URVhUX1dJVEhfSU5WRVJTRV9USEVNRV17Y29sb3I6IzNlYTZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfREVTVFJVQ1RJVkVde2JhY2tncm91bmQtY29sb3I6I2UxMDAyZDtib3JkZXItY29sb3I6I2UxMDAyZDtjb2xvcjojZmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9TVUdHRVNUSVZFXXtib3JkZXI6MXB4IHNvbGlkICMwNjVmZDQ7Y29sb3I6IzA2NWZkNH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfT1ZFUkxBWV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMyk7Y29sb3I6I2ZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfREFSS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9JTkFDVElWRV9PVVRMSU5FXXtjb2xvcjojNjA2MDYwO2JvcmRlcjoxcHggc29saWQgIzYwNjA2MDtwYWRkaW5nOjVweCAxMXB4fS5idXR0b24tcmVuZGVyZXJbZGF0YS1pY29uLW9ubHk9dHJ1ZV17bWluLXdpZHRoOjA7bWFyZ2luOjB9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLWljb24tb25seT1mYWxzZV0gLmJ1dHRvbi1yZW5kZXJlci1pY29ue21hcmdpbjowIDhweH0uYnV0dG9uLXJlbmRlcmVyLXRleHR7YWxpZ24tc2VsZjpjZW50ZXI7bWluLWhlaWdodDoxZW07bGluZS1oZWlnaHQ6MWVtO2ZvbnQtd2VpZ2h0OjUwMH1baXMtYnVzeT10cnVlXSAuYnV0dG9uLXJlbmRlcmVyLWljb24sW2lzLWJ1c3k9dHJ1ZV0gLmJ1dHRvbi1yZW5kZXJlci10ZXh0e3Zpc2liaWxpdHk6aGlkZGVufS5idXR0b24td2l0aC1pY29uLXNwaW5uZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOmF1dG99LmJ1dHRvbi1yZW5kZXJlci13aXRoLWFuaW1hdGlvbiAuYnV0dG9uLXdpdGgtaWNvbi1idXR0b257b3ZlcmZsb3c6dmlzaWJsZX1jMy1pY29ue2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7ZmxleC1zaHJpbms6MDt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2ZpbGw6Y3VycmVudENvbG9yO3N0cm9rZTpub25lfVtkaXI9cnRsXSBjMy1pY29uW2ZsaXAtZm9yLXJ0bD10cnVlXXt0cmFuc2Zvcm06c2NhbGVYKC0xKX0uaWNvbi1idXR0b257Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH1jMy1pY29uIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfWMzLWljb24uaWNvbi1zdGF0ZS1vdXRsaW5lW2ljb24tc3RhdGUtZmlsbGVkXXtkaXNwbGF5Om5vbmV9YzMtaWNvbi5pY29uLXN0YXRlLWZpbGxlZFtpY29uLXN0YXRlLW91dGxpbmVde2Rpc3BsYXk6bm9uZX0ucGl2b3QtYmFyLWl0ZW0tdGFiIGMzLWljb25baWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6bm9uZX0ucGl2b3QtYmFyLWl0ZW0tdGFiIGMzLWljb25baWNvbi1zdGF0ZS1vdXRsaW5lXXtkaXNwbGF5OmJsb2NrfS5waXZvdC1iYXItaXRlbS10YWJbYXJpYS1zZWxlY3RlZD10cnVlXSBjMy1pY29uW2ljb24tc3RhdGUtZmlsbGVkXXtkaXNwbGF5OmJsb2NrfS5waXZvdC1iYXItaXRlbS10YWJbYXJpYS1zZWxlY3RlZD10cnVlXSBjMy1pY29uW2ljb24tc3RhdGUtb3V0bGluZV17ZGlzcGxheTpub25lfSNtZW51LC5tZW51LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS5tZW51LWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO21heC1oZWlnaHQ6MTAwJTtvdmVyZmxvdy15OmF1dG87Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzozcHh9Lm1lbnUtY29udGVudC5tZW51LWJvdHRvbXtib3R0b206MDtjb2xvcjojMDMwMzAzO3BhZGRpbmc6MDtwb3NpdGlvbjpmaXhlZDttYXgtd2lkdGg6MTAwJTt3aWR0aDoxMDAlfS5ib3R0b20tbWVudS1jYW5jZWx7Ym9yZGVyLXRvcDoxcHggc29saWQgI2YxZjFmMTtwYWRkaW5nOjhweCAwfS5tZW51LWNvbnRlbnQ+YXtkaXNwbGF5OmJsb2NrfS5tZW51LWNhbmNlbC1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ubWVudS1jYW5jZWwtaWNvbnttYXJnaW46MCA4cHh9Lm1lbnUtY29udGVudC5tZW51LWJvdHRvbSBjMy1pY29ue2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMzJweCAwIDB9Lm1lbnUtY29udGVudDpub3QoLm1lbnUtc2hvdy1pY29ucykgLm1lbnUtaXRlbS1idXR0b24gYzMtaWNvbntkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6MzMwcHgpey5tZW51LWNvbnRlbnQ6bm90KC5tZW51LWJvdHRvbSl7bWluLXdpZHRoOjI1MHB4O21heC13aWR0aDozNTZweDttYXJnaW46NDBweH19Lm1lbnUtZnVsbC13aWR0aCAubWVudS1jb250ZW50e2JhY2tncm91bmQtY29sb3I6I2ZmZjttaW4td2lkdGg6MTAwJTttaW4taGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO2hlaWdodDoxcHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5tZW51LWNvbnRlbnQucm91bmRlZC1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czo4cHh9Lmljb24tYnV0dG9uLnNtYWxse3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MDt3aWR0aDoxNnB4fXl0bS1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztwYWRkaW5nOjNweCAwfXl0bS1tZW51LWl0ZW0gLm1lbnUtaXRlbS1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6OHB4IDE2cHg7bWFyZ2luLWxlZnQ6MDt3aWR0aDoxMDAlO2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246aW5pdGlhbDt0ZXh0LXRyYW5zZm9ybTp1bnNldDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH15dG0tbWVudS1pdGVtIC5tZW51LWl0ZW0tYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX15dG0tbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjI0cHh9Lm1lbnUtYm90dG9tIC5tZW51LWl0ZW0tYnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjEuNnJlbTtwYWRkaW5nOjExcHggMTZweH0ueXR3UGxheWVyQm90dG9tQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckJvdHRvbUNvbnRyb2xzRnVsbHNjcmVlbkJ1dHRvbldyYXBwZXJ7LW1vei1tYXJnaW4tc3RhcnQ6YXV0bzttYXJnaW4taW5saW5lLXN0YXJ0OmF1dG99Lnl0QmFkZ2VTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjAgNHB4fS55dEJhZGdlU2hhcGVUeXBvZ3JhcGh5e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJY29ue2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS55dEJhZGdlU2hhcGVOb1RleHR7cGFkZGluZzowIDFweDttaW4taGVpZ2h0OjE4cHh9Lnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2V7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoxcHggNHB4fS55dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZSAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6NHB4O2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlLnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2VSZWRlc2lnbntiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjAgNnB4fS55dEJhZGdlU2hhcGVTdGF0dXNCYWRnZXtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjFweCA0cHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlIC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2UueXRCYWRnZVNoYXBlTm9UZXh0IC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDowfS55dEJhZGdlU2hhcGVUZXh0e2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwfS55dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvd3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3d7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjIwY2h9Lnl0QmFkZ2VTaGFwZURlZmF1bHR7CiAgLyogIWtlZXAgKi9jb2xvcjojNjA2MDYwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlRGVmYXVsdC55dEJhZGdlU2hhcGVPdmVybGF5e2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZURlZmF1bHQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjA7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVNZWRpYXsKICAvKiAha2VlcCAqL2NvbG9yOiM2MDYwNjA7b3V0bGluZToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZU1lZGlhLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXl7CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7b3V0bGluZToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVByb21vdGVkewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJvbW90ZWQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMwMzAzMDM7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVQcm9tb3RlZEludmVydGVkLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlVGltZWx5ewogIC8qICFrZWVwICovY29sb3I6IzYwNjA2MH0ueXRCYWRnZVNoYXBlVGltZWx5IC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRpbWVseXtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlVGltZWx5Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwfS55dEJhZGdlU2hhcGVUaW1lbHkueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRpbWVseS55dEJhZGdlU2hhcGVNb2Rlcm57cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVByZW1pdW17CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6I2UxMDAyZH0ueXRCYWRnZVNoYXBlUHJlbWl1bS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVNhbGV7CiAgLyogIWtlZXAgKi9jb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxlIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNjMzAwMjd9Lnl0QmFkZ2VTaGFwZVNhbGV7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVNhbGUueXRCYWRnZVNoYXBlTW9kZXJuLC55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybiAueXRCYWRnZVNoYXBlSWNvbntjb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybntwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlTWVtYmVyc2hpcHsKICAvKiAha2VlcCAqL2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfS55dEJhZGdlU2hhcGVNZW1iZXJzaGlwLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlQ29tbWVyY2V7CiAgLyogIWtlZXAgKi9jb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlQ29tbWVyY2UueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVMaXZlewogIC8qICFrZWVwICovY29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnJnYmEoMjI1LDAsNDUsMC45KX0ueXRCYWRnZVNoYXBlTGl2ZS55dEJhZGdlU2hhcGVPdmVybGF5e2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZUxpdmUueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVN0YXR1c05ld3sKICAvKiAha2VlcCAqL2NvbG9yOiMwNjVmZDQ7b3V0bGluZToxcHggc29saWQgIzA2NWZkNDtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVTdGF0dXNOZXcueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMwNjVmZDQ7b3V0bGluZToxcHggc29saWQgIzA2NWZkNDtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZXsKICAvKiAha2VlcCAqL2NvbG9yOiMwMDU5MTc7YmFja2dyb3VuZDojZGVmZmRlfS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAwNTkxNztiYWNrZ3JvdW5kOiNkZWZmZGV9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmd7CiAgLyogIWtlZXAgKi9jb2xvcjojN2MyOTAwO2JhY2tncm91bmQ6I2ZmZWFjZn0ueXRCYWRnZVNoYXBlU3RhdHVzV2FybmluZy55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzdjMjkwMDtiYWNrZ3JvdW5kOiNmZmVhY2Z9Lnl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yewogIC8qICFrZWVwICovY29sb3I6Izk5MDQxMjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEJhZGdlU2hhcGVTdGF0dXNFcnJvci55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6Izk5MDQxMjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEJhZGdlU2hhcGVTdGF0dXNEZWZhdWx0ewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdHsKICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHQueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmV7CiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxMaXZlLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxTcGVjaWFsewogIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbnsKICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbi55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKX0ueXRCYWRnZVNoYXBlQWR7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MDtmb250LXNpemU6dW5zZXQ7bGluZS1oZWlnaHQ6dW5zZXR9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZUFkc0luY2x1ZGVEb3Q6YWZ0ZXJ7Y29udGVudDoiwrciOy1tb3otcGFkZGluZy1lbmQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDo0cHg7LW1vei1wYWRkaW5nLXN0YXJ0OjRweDtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZU92ZXJsYXl7Y29sb3I6I2ZmZn0ueXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVMYXJnZUZvbnRBZEJhZGdle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJc0VtcHR5e2Rpc3BsYXk6bm9uZX0uYWNjb3VudEluZm9Ib3N0e2Rpc3BsYXk6YmxvY2t9Lmxpa2UtYnV0dG9uLXJlbmRlcmVyIFthcmlhLXByZXNzZWQ9dHJ1ZV0gYzMtaWNvbntjb2xvcjojMDY1ZmQ0fS5saWtlLWJ1dHRvbi1yZW5kZXJlciBbYXJpYS1wcmVzc2VkPXRydWVdIGMzLWljb24gcGF0aHtmaWxsOiMzZWE2ZmY7c3Ryb2tlOiNmZmY7c3Ryb2tlLXdpZHRoOjFweH15dG0tbWVudS1yZW5kZXJlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSB5dG0tbWVudS1pdGVte3BhZGRpbmc6MDtoZWlnaHQ6NDhweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIC5tZW51LWl0ZW0tYnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVye21hcmdpbjo1cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPXNtYWxsXXttYXJnaW46MnB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlclt0aHVtYm5haWwtc2l6ZT1tZWRpdW1de21hcmdpbjo0cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPWxhcmdlXXttYXJnaW46OHB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPUxJVkVdLHl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPVNIT1JUU117dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWltZy5jdXN0b20tdGh1bWJuYWlsLnZpZGVvLXRodW1ibmFpbC1pbWd7b2JqZWN0LWZpdDpzY2FsZS1kb3duO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7b3ZlcmZsb3c6aGlkZGVufS52aWRlby10aHVtYm5haWwtaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjphdXRvfS52aWRlby10aHVtYm5haWwtYmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctYm90dG9tOjU2LjI1JX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4fS5jdXN0b20tdGh1bWJuYWlsLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4MHB4O2hlaWdodDoxODBweH0uY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciAuY3VzdG9tLXRodW1ibmFpbHtvcGFjaXR5Oi43O2ZpbHRlcjpibHVyKDMwcHgpfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZHtib3JkZXItcmFkaXVzOjhweH0ub3JpZ2luYWwtYXNwZWN0LXJhdGlvIGltZ3toZWlnaHQ6MTAwJTt3aWR0aDphdXRvfS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1ib3R0b206MTI1JX0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UgaW1ne29iamVjdC1maXQ6Y292ZXI7d2lkdGg6MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW4tdG9wOjB9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2U6d2hlcmUoLm5vdC1yZW5kZXJlZC1mcm9tLXJpY2gtaXRlbSl7bWFyZ2luOi0xM3B4IC0xMnB4IDA7cGFkZGluZy10b3A6MTNweH0uc3R5bGUtcmVjb21tZW5kYXRpb25zLWluLXBvcnRyYWl0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdlLnJvdW5kZWQtdGh1bWJuYWlse2JvcmRlci1yYWRpdXM6MTJweDttYXJnaW46MDtwYWRkaW5nLXRvcDowfX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjA7cGFkZGluZy10b3A6MH19LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UudGh1bWJuYWlsLWNvdmVyLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2Uucm91bmRlZC10aHVtYm5haWx7Ym9yZGVyLXJhZGl1czoxMnB4fX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbCxwbGF5ZXItZnVsbHNjcmVlbi1jb250cm9scyAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fS52aWRlby10aHVtYm5haWwtZmlsbC1wYXJlbnR7bWFyZ2luOjA7cGFkZGluZy10b3A6MDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZ3twYWRkaW5nLXRvcDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29ue21hcmdpbjoyNHB4IDI0cHggMH0ueXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWF7bWFyZ2luLWJvdHRvbToyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDowO2ZsZXgtc2hyaW5rOjQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW17d2lkdGg6MTAwJTtmbGV4LXNocmluazowO29iamVjdC1maXQ6Y292ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lcntwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtc2hyaW5rOjB9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXR7cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0RpYWxvZ0xheW91dFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0RpYWxvZ0xheW91dFRpdGxle21heC1oZWlnaHQ6NS42cmVtfS55dFNwZWNEaWFsb2dMYXlvdXRMZWFkaW5nQWN0aW9uSGVhZGVye2NvbG9yOiMwMzAzMDM7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dFRyYWlsaW5nQWN0aW9uSGVhZGVye2NvbG9yOiMwMzAzMDM7bWFyZ2luLWxlZnQ6YXV0b30ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudHtjb2xvcjojMDMwMzAzO292ZXJmbG93LXk6YXV0b30ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudElubmVye292ZXJmbG93OnZpc2libGU7cGFkZGluZzowIDI0cHh9Lnl0U3BlY0RpYWxvZ0xheW91dEZvb3RlckNvbnRhaW5lcntwYWRkaW5nLXRvcDoxNnB4O3BhZGRpbmctbGVmdDoyNHB4O3BhZGRpbmctcmlnaHQ6MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1mbG93OnJvdyB3cmFwLXJldmVyc2U7ZmxleC1zaHJpbms6MDttYXJnaW46LThweCAwIDAgLThweH0ueXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZUVuZHstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kfS55dFNwZWNEaWFsb2dMYXlvdXRCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzo4cHggMCAwIDhweH0ueXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZVN0cmV0Y2hlZHstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbiAueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudCwueXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ24gLnl0U3BlY0RpYWxvZ0xheW91dFRpdGxle3RleHQtYWxpZ246Y2VudGVyfS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zU3RhY2tlZHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59QG1lZGlhIChtYXgtd2lkdGg6MzMwcHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDB2aH19QG1lZGlhIChtaW4td2lkdGg6MzMxcHgpIGFuZCAobWF4LXdpZHRoOjUyN3B4KXsueXRTcGVjRGlhbG9nTGF5b3V0UmVzcG9uc2l2ZXttaW4td2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21pbi13aWR0aDptaW4oMzIwcHgsMTAwdncgLSA5NnB4KTttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21heC13aWR0aDptaW4oNDAwcHgsMTAwdncgLSA5NnB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA5NnB4KX19QG1lZGlhIChtaW4td2lkdGg6NTI4cHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDozMjBweDttYXgtd2lkdGg6Y2FsYygxMDB2dyAtIDk2cHgpO21heC13aWR0aDptaW4oNTYwcHgsMTAwdncgLSA5NnB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA5NnB4KTttYXgtaGVpZ2h0Om1pbig1NjBweCwxMDB2aCAtIDk2cHgpfX0ueXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVuIC55dFNwZWNEaWFsb2dMYXlvdXRDb250YWluZXIsLnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnR7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVuIC55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50SW5uZXJ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3BhZGRpbmc6MH1AbWVkaWEgKG1pbi13aWR0aDo1MjhweCl7Lnl0U3BlY0RpYWxvZ0xheW91dEV4dGVuZGVkTWF4SGVpZ2h0e21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpfX0ueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldCAueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXR7d2lkdGg6YXV0bztwYWRkaW5nOjAgMjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SW5zZXQgLnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SXRlbXtib3JkZXItcmFkaXVzOjEycHh9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyfS55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJbWFnZXtib3JkZXItcmFkaXVzOjZweDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2Rpc3BsYXk6YmxvY2t9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEljb257Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NnB4O3BhZGRpbmc6NnB4fS55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RbZGF0YS1iYWNrZ3JvdW5kLWNvbG9yPVRIRU1FX0FUVFJJQlVURV9PVkVSTEFZX0JBQ0tHUk9VTkRfTUVESVVNXSAueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0SWNvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MTZweH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3Q+dG9nZ2xlLWJ1dHRvbi12aWV3LW1vZGVse21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGV7d2lkdGg6NTZweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4O21hcmdpbjowfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdDpmb2N1c3tiYWNrZ3JvdW5kOnVuc2V0fS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZSBidXR0b246bm90KFthcmlhLXByZXNzZWQ9dHJ1ZV0pIGMzLWljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggcmdiYSgwLDAsMCwwLjMpKX0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGVBY3Rpb25CdXR0b257cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjhweDttYXJnaW46MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0RGVza3RvcCAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206OHB4O21hcmdpbjowfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7ZGlzcGxheTpub25lfX0ueXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXgtd2lkdGg6NDgwcHh9Lnl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW06bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6NHB4O21heC13aWR0aDoxMDAlfS55dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1ib3R0b206NHB4O21heC13aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS55dEFuaW1hdGVkQWN0aW9uTG90dGlle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZHt3aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZENvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlfS5wbGF5ZXItc2V0dGluZ3MtaGVhZGVye21hcmdpbi1ib3R0b206MjBweH0ucGxheWVyLWNhcHRpb24tc2V0dGluZ3MsLnBsYXllci1xdWFsaXR5LXNldHRpbmdzLC5wbGF5ZXItc3BlZWQtc2V0dGluZ3N7d2lkdGg6MTAwJTttYXJnaW46NHB4IDAgMTJweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mb3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7bWluLWhlaWdodDo4LjRyZW07d2lkdGg6MTAwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtwYWRkaW5nOjhweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LmNvcHlEZWJ1Z0luZm9QbGF5ZXJEZWJ1Z0luZm97aGVpZ2h0OjQwdmg7ZGlyZWN0aW9uOmx0cn0uc3RhYmxlVm9sdW1lVG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllckNvbnRyb2xzQ29udGFpbmVySG9zdHstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3BhZGRpbmctYm90dG9tOjB9Lnl0U2hvcnRzRW1iZWRzSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpIDAscmdiYSgwLDAsMCwwKSAxNjBweCksbGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsMCkgOTZweCl9Lnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zLC55dFNob3J0c0VtYmVkc1JlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXIgLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEsLnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye3otaW5kZXg6Mn0ueXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6Mjt3aWR0aDoxMDAlfS55dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjQ4cHh9Lnl0bUN1ZWRPdmVybGF5SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1DdWVkT3ZlcmxheUhpZGRlbiwueXRtQ3VlZE92ZXJsYXlIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0zNnB4O21hcmdpbi10b3A6LTM2cHg7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn0ueXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uLnNob3J0cywueXRtQ3VlZE92ZXJsYXlTaG9ydHN7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDotNTBweDt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHh9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb257d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjojZjAzfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dG1DdWVkT3ZlcmxheVBsYXlCdXR0b25JY29ue2NvbG9yOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpmaXJzdC1jaGlsZHtmaWxsOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gLmxvZ28tYXJyb3csLnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpudGgtY2hpbGQoMil7ZmlsbDpDYW52YXN9fS55dG1DdWVkT3ZlcmxheUdyYWRpZW50e3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7aGVpZ2h0OjdyZW19Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjNweH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJ7aGVpZ2h0OjNweDttYXJnaW46MCAxcHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJJc1NjcnViYmluZ3ttYXJnaW46MCAycHh9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6MH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXI6bGFzdC1vZi10eXBle21hcmdpbi1yaWdodDowfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbHtoZWlnaHQ6M3B4O3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyTG9hZGVke2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7aGVpZ2h0OjNweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcnt0cmFuc2Zvcm06c2NhbGVZKDIpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmV7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjNweDt3aWR0aDoxMDAlfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lUm91bmRlZHtib3JkZXItcmFkaXVzOjEuNXB4O292ZXJmbG93OmhpZGRlbn0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjY7d2lkdGg6MTAwJX0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO2JvdHRvbTowO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dEhlYXRTZWVrZXJIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lnl0SGVhdFNlZWtlckhpZ2hDb250cmFzdHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDApLDkwJSxyZ2JhKDAsMCwwLC42KSk7ZmlsbDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3R7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwJTtkaXJlY3Rpb246bHRyfS55dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0SGlkZGVue29wYWNpdHk6MH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RMb3dlclBsYXllcntib3R0b206MDtsZWZ0OjMwcHg7cmlnaHQ6MzBweDtoZWlnaHQ6NDRweH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdle2hlaWdodDoyOHB4O2xlZnQ6MDtyaWdodDowO2JvdHRvbTotN3B4fS55dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0e2hlaWdodDoyOHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS55dFBsYXllclByb2dyZXNzQmFySG9zdEN1c3RvbXtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwuNSkpO29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguMiwwLC42LDEpfS55dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGV7b3BhY2l0eTowfS55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdle2hlaWdodDowO3BhZGRpbmc6MTkuNXB4IDAgOC41cHh9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbToxLjVweH0ueXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXJJbnNldHtib3R0b206MTQuNXB4fS55dFBsYXllclByb2dyZXNzQmFyUHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0e3BhZGRpbmc6MTZweCAwIDEycHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjp3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWR7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTJweCl9Lnl0UHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5le3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozcHg7d2lkdGg6MTAwJX0ueXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVke2JvcmRlci1yYWRpdXM6MS41cHg7b3ZlcmZsb3c6aGlkZGVufS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMb2FkZWR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjZ9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJIb3ZlcmVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi43fS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRQcm9ncmVzc0JhclBsYXloZWFkSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90e2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo1MCU7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6I2YwMzt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2V9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZXtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90SGlkZXt0cmFuc2Zvcm06c2NhbGUoMCl9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b217aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtwb2ludGVyLWV2ZW50czpub25lfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2V7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUhpZGV7dHJhbnNmb3JtOnNjYWxlKDApfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZHt3aWR0aDoxMDAlO2xlZnQ6NTAlfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0c3ttYXJnaW4tYm90dG9tOjQ4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXJ7Ym90dG9tOmNhbGMoNTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3REZXNrdG9wU2hvcnRze21hcmdpbi1ib3R0b206MTZweH0ueXRQbGF5ZXJTdG9yeWJvYXJkSG9zdElzRHJhZ2dpbmd7bWFyZ2luLWJvdHRvbTo4MHB4fS55dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUlue2FuaW1hdGlvbjpmYWRlLWluIC4xcyBjdWJpYy1iZXppZXIoLjIsMCwuNiwxKX0ueXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6IzAwMH0ueXRQbGF5ZXJTdG9yeWJvYXJkQmlnYm9hcmRJbWFnZVdyYXBwZXJ7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXB7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3tmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuOHJlbTtsaW5lLWhlaWdodDozLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXBTaG9ydHN7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3twYWRkaW5nLXRvcDo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmd7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOmNhbGMoMS42cmVtKnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKTtsaW5lLWhlaWdodDpjYWxjKDIuMnJlbSp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhe3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTpjYWxjKC02cHgqdmFyKC0tc3Rvcnlib2FyZC1zY2FsZSwgMSkpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwxMDAlKTtsZWZ0OjUwJTtjb2xvcjojZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7Zm9udC1zaXplOmNhbGMoMTJweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhQmlnYm9hcmR7d2lkdGg6YXV0bztjb2xvcjojZmZmO21heC13aWR0aDoxMDAlO2JvdHRvbTo2cHg7Ym9yZGVyLXJhZGl1czoxNnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO3BhZGRpbmc6OHB4IDE2cHg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1jb2x1bW4tZ2FwOjFyZW07Y29sdW1uLWdhcDoxcmVtO21pbi13aWR0aDowfS55dFBsYXllclN0b3J5Ym9hcmRUaXRsZXttYXgtd2lkdGg6MTAwJTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7bWFyZ2luLWJvdHRvbTo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGVCaWdib2FyZHttYXJnaW4tYm90dG9tOjA7Zm9udC13ZWlnaHQ6NzAwfS55dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb25XcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb257aGVpZ2h0OjE0cHg7d2lkdGg6MTRweDttYXJnaW4tcmlnaHQ6NHB4fS55dFBsYXllclN0b3J5Ym9hcmRTdG9yeWJvYXJkSW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZX1Aa2V5ZnJhbWVzIGZhZGUtaW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowO2JvdHRvbTowO2hlaWdodDozcHg7ZGlyZWN0aW9uOmx0cjt0cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCxtYXJnaW4tbGVmdCxtYXJnaW4tcmlnaHQscGFkZGluZyx2aXNpYmlsaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjI1c30ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SXNTY3J1YmJhYmxlTW9kZXttYXJnaW4tcmlnaHQ6MTZweDttYXJnaW4tbGVmdDoxNnB4O2hlaWdodDoxNnB4O3BhZGRpbmctYm90dG9tOjE2cHg7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9Lnl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdEhpZGVQcm9ncmVzc0Jhcnt2aXNpYmlsaXR5OmhpZGRlbjtoZWlnaHQ6MH0ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNHZXN0dXJlT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwdmg7d2lkdGg6MTAwdnc7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czphdXRvfS55dHdBdXRvbmF2VG9vbHRpcEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyNSU7d2lkdGg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtjb2xvcjojZmZmfS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcEhvc3R7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzowIDhweDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwV3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50O21hcmdpbi10b3A6MTZweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3otaW5kZXg6Njtib3JkZXItcmFkaXVzOjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7cGFkZGluZzo3cHggMTZweDttYXgtd2lkdGg6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcFdyYXBwZXI6ZW1wdHl7ZGlzcGxheTpub25lfS55dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0Om5vdCgueXR3U3BlZWRtYXN0ZXJUb29sdGlwS2lsbHN3aXRjaCl7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7bGVmdDowO3JpZ2h0OjB9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcExhYmVse3RleHQtYWxpZ246anVzdGlmeTtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH1bZGlyPXJ0bF0gLnl0d1NwZWVkbWFzdGVyVG9vbHRpcExhYmVse2RpcmVjdGlvbjpydGx9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEljb257bWFyZ2luLWxlZnQ6NHB4fS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZU92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvfS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZUNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2xlZnQ6MDt0b3A6MDtib3R0b206MDtyaWdodDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYXtoZWlnaHQ6MTAwJTt3aWR0aDoyNSV9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNNZW51R2VzdHVyZUFyZWF7aGVpZ2h0OjEwMCU7d2lkdGg6NTAlfS55dG1WaWRlb0NvdmVySG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1WaWRlb0NvdmVySG9zdC5lbmRlZHt6LWluZGV4OjB9Lnl0bVZpZGVvQ292ZXJIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bVZpZGVvQ292ZXJUaHVtYm5haWx7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3Zlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dGRWb2x1bWVDb250cm9sc0hvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWF4LWhlaWdodDo0OHB4fS55dGRWb2x1bWVDb250cm9sc0Rpc2FibGVTbGlkZXJ7d2lkdGg6NDhweH0ueXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTBweDtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxIDEgYXV0bzttYXgtd2lkdGg6MTY4cHh9Lnl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJWZXJ0aWNhbHttYXgtd2lkdGg6NDhweDt3aWR0aDo0OHB4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2dhcDo2MHB4O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwb2ludGVyLWV2ZW50czpub25lfS55dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVyRXhwYW5kZWR7cG9pbnRlci1ldmVudHM6YWxsfS55dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czo1MHB4fS55dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmVuZDt6LWluZGV4OjE7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDpub25lO2JvcmRlcjpub25lO3BhZGRpbmc6MTJweDtjdXJzb3I6cG9pbnRlcjtwb2ludGVyLWV2ZW50czphbGw7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjA7b3BhY2l0eTowO292ZXJmbG93OmhpZGRlbjt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjEycyBsaW5lYXIsb3BhY2l0eSAuMTJzIGxpbmVhcix3aWR0aCAuMTJzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJFeHBhbmRlZHt2aXNpYmlsaXR5OnZpc2libGU7d2lkdGg6MTAwJTtvcGFjaXR5OjE7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IC4zcyBsaW5lYXIsb3BhY2l0eSAuM3MgbGluZWFyLHdpZHRoIC4zcyBsaW5lYXI7ei1pbmRleDoxfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcldpdGhTY3JpbXtwYWRkaW5nLXJpZ2h0OjEycHh9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Ym9yZGVyLXJhZGl1czo1MHB4O2hlaWdodDo0OHB4O21pbi1oZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTJweDttYXJnaW46MDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggMHMgbGluZWFyIC4zcyxtYXJnaW4gLjNzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbERvd257dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRXhwYW5kZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7bWFyZ2luLXRvcDo4cHg7d2lkdGg6MTMzcHg7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IC4zcyBsaW5lYXIsb3BhY2l0eSAuM3MgbGluZWFyLHdpZHRoIDBzIGxpbmVhcixtYXJnaW4gLjNzIGxpbmVhcn0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJEaXNhYmxlU2xpZGVye2Rpc3BsYXk6bm9uZX0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXJ7LS1ncmFkaWVudC1wZXJjZW50OjA7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO21hcmdpbi1ib3R0b206MXB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bWluLXdpZHRoOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6OHB4IDA7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2ZmZiAwLCNmZmYgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwwLjMpIHZhcigtLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMjU1LDI1NSwyNTUsMC4zKSAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2ZmZiAwLCNmZmYgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgwLDAsMCwwLjEpIHZhcigtLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMCwwLDAsMC4xKSAxMDAlKTtoZWlnaHQ6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtib3JkZXItcmFkaXVzOjUwJTttYXJnaW4tdG9wOi02LjVweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7aGVpZ2h0OjJweH0ueXRkVm9sdW1lQ29udHJvbHNOYXRpdmVTbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7aGVpZ2h0OjJweH0ueXRkVm9sdW1lQ29udHJvbHNNdXRlSWNvbntjb2xvcjp3aGl0ZX0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW17aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweDt6LWluZGV4OjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7dHJhbnNpdGlvbjp3aWR0aCAuMjVzIGxpbmVhcjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwcHh9Lnl0ZFZvbHVtZUNvbnRyb2xzQmFja2dyb3VuZFNjcmltRXhwYW5kZWR7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZEhvdmVyU3RhdGU6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjI4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxiYWNrZ3JvdW5kLWNvbG9yfS55dHdQbGF5ZXJGdWxsc2NyZWVuQWN0aW9uTWVudUhvc3R7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVDaXJjbGVCdXR0b25ze21hcmdpbi1yaWdodDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czoyNHB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6MTJweDt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjtib3JkZXI6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24gYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9uIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbHtwYWRkaW5nOjZweCA4cHg7Ym9yZGVyLXJhZGl1czoxNnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWx7cGFkZGluZzo2cHggMTJweH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDotMXB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxTdGFja3ttYXJnaW4tbGVmdDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlse2hlaWdodDoycHg7bWFyZ2luLWJvdHRvbToxcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoycHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlse3dpZHRoOjEwcHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWx7d2lkdGg6MjBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MjBweDtib3JkZXI6MnB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbn0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsU2luZ2xlVGh1bWJuYWlsIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXJ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtvdXRsaW5lOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWx7ZGlzcGxheTpibG9ja30ueXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0e21hcmdpbi1yaWdodDoxMnB4fXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnN7bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLXRleHR7ZGlzcGxheTpub25lfXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMgLmJ1dHRvbi1yZW5kZXJlcnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21pbi13aWR0aDphdXRvO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luOjB9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0uZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMTVweDtib3R0b206Y2FsYyh2YXIoLS1jb250cm9scy1oZWlnaHQpKi0xKTtsZWZ0OjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6dmFyKC0tY29udHJvbHMtaGVpZ2h0KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZ1bGxzY3JlZW4tY29udHJvbHMtdmlkZW8tdGl0bGV7Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi1jb250cm9scy5leHBhbmRlZHtib3R0b206MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfUBtZWRpYSAocG9pbnRlcjpmaW5lKXsuZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMjhweH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcntzY3JvbGxiYXItd2lkdGg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6YXV0bztvdmVyZmxvdy15OmF1dG99LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS5mdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5OmJsb2NrfX0uZnVsbHNjcmVlbi1idXR0b25zLXdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ0cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweH0udG9wLWZ1bGxzY3JlZW4tY29udHJvbHN7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS5mdWxsc2NyZWVuLWNsb3NlLWJ1dHRvbi13cmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2hlaWdodDo0OHB4O2xlZnQ6MjRweDtyaWdodDoyNHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ei1pbmRleDoyfS5hY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtib3JkZXItcmFkaXVzOjQ4cHg7cGFkZGluZzo0cHggMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyPjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo4cHh9LmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUsLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3QsLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlcnttYXJnaW4tbGVmdDphdXRvO2hlaWdodDoxMDAlfS5mdWxsc2NyZWVuLW1vcmUtdmlkZW9zLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5zdGFja2VkLXZpZGVvcy13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDo2NHB4O2hlaWdodDoxMDAlfS5zdGFja2VkLXZpZGVvLXByZXZpZXd7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZDpibGFjaztib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6M3B4O292ZXJmbG93OmhpZGRlbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnN0YWNrZWQtdmlkZW8tcHJldmlldyAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0uc3RhY2tlZC12aWRlby1wcmV2aWV3OmZpcnN0LWNoaWxke3otaW5kZXg6M30uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgyKXt6LWluZGV4OjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCkgc2NhbGUoLjg3NSl9LnN0YWNrZWQtdmlkZW8tcHJldmlldzpudGgtY2hpbGQoMikgLnN0YWNrZWQtdmlkZW8tcHJldmlldy1pbWFnZXtvcGFjaXR5Oi43NX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKXt6LWluZGV4OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCkgc2NhbGUoLjc1KX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKSAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle29wYWNpdHk6LjV9Lm1vcmUtdmlkZW9zLW1lc3NhZ2V7bWFyZ2luLXJpZ2h0OjEycHg7dGV4dC1hbGlnbjpyaWdodH0ubW9yZS12aWRlb3MtbWVzc2FnZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS5tb3JlLXZpZGVvcy1tZXNzYWdlLXN1YnRpdGxle2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eTouN30ucXVpY2stYWN0aW9ucy13cmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMCU7bWFyZ2luLWxlZnQ6YXV0b30ucXVpY2stYWN0aW9ucy1iYXItYnV0dG9ucy13cmFwcGVye3BhZGRpbmctbGVmdDoxMnB4fS53YXRjaC1vbi15b3V0dWJlLWJ1dHRvbi13cmFwcGVye2RpcmVjdGlvbjpsdHJ9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsud2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6NDBweDtwYWRkaW5nOjAgMjBweH19LndhdGNoLW9uLXlvdXR1YmUtYnV0dG9ue3BhZGRpbmctbGVmdDo0cHh9Lm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIsLm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyLmNpcmNsZS1idXR0b25zLC5uby1sYWJlbC1leHA+eXRtLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubm8tbGFiZWwtZXhwIHl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMubGlrZS1idXR0b24tbm8tbGFiZWwtZXhwe2RpcmVjdGlvbjpydGx9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51LC5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX19eXRtLWN1c3RvbS1jb250cm9sIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1jdXN0b20tY29udHJvbCAuaWNvbi1idXR0b246bm90KC5wbGF5ZXItc2V0dGluZ3MtaWNvbil7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjhweH15dG0tY3VzdG9tLWNvbnRyb2wgLmljb24tYnV0dG9uOm5vdCgucGxheWVyLXNldHRpbmdzLWljb24pPmMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH19eXRtLWN1c3RvbS1jb250cm9sIC5hdXRvbmF2LXVzZXItZWR1Y2F0aW9uLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjUlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6I2ZmZn0uaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC5wbGF5ZXItY29udHJvbHMtYm90dG9tLC5pbnRlcmNlcHQtZWxlbWVudC1jbGlja3MgLnBsYXllci1jb250cm9scy1taWRkbGUsLmludGVyY2VwdC1lbGVtZW50LWNsaWNrcyAucGxheWVyLWNvbnRyb2xzLXRvcCwuaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntwb2ludGVyLWV2ZW50czpub25lfXl0bS1jdXN0b20tY29udHJvbCAuZmluZS1zY3J1YmJpbmctb3ZlcmxheSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1ib3R0b20gLmZ1bGxzY3JlZW4taWNvbiBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uIGMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtcGIgLmljb24tYnV0dG9uPmMzLWljb24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIC5pY29uLWJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvblthcmlhLXByZXNzZWQ9ZmFsc2VdPmMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIHl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24gYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXT5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmljb24tZGlzYWJsZSBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt6LWluZGV4OjI7cmlnaHQ6MjRweH1AbWVkaWEgKG1heC1oZWlnaHQ6MjIxcHgpe3l0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtyaWdodDowfX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjM4MHB4KXt5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDoxNHB4fX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AtcmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9W2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQsW2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXJlY3Rpb246cnRsfWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHt0b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApfXl0bS1jdXN0b20tY29udHJvbCBjMy1vdmVybGF5e3Zpc2liaWxpdHk6dmlzaWJsZX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtY29udGVudHtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47dmlzaWJpbGl0eTpoaWRkZW59I3BsYXllci1jb250cm9sLW92ZXJsYXkudXNlLW9wYWNpdHkgLnBsYXllci1jb250cm9scy1jb250ZW50e29wYWNpdHk6MDt2aXNpYmlsaXR5OnVuc2V0fSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjA7b3BhY2l0eTowfSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZDpub3QoLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCl7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsLjYpIDAscmdiYSgwLDAsMCwuNTQpIDI1JSxyZ2JhKDAsMCwwLC4zNikgNTAlLHJnYmEoMCwwLDAsLjE4KSA3NSUscmdiYSgwLDAsMCwwKSk7YmFja2dyb3VuZC1zaXplOjFweCA1MCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheSAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3A6MDt2aXNpYmlsaXR5OnZpc2libGV9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWFjdGlvbi1pdGVtc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9I3BsYXllci1jb250cm9sLW92ZXJsYXkuYW5pbWF0aW9uLWVuYWJsZWR7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjdzO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmFuaW1hdGlvbi1lbmFibGVkIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9I3BsYXllci1jb250cm9sLW92ZXJsYXkucG9pbnRlci1ldmVudHMtb2Zme3BvaW50ZXItZXZlbnRzOm5vbmV9I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWlue3BvaW50ZXItZXZlbnRzOmF1dG99I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWluIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt6LWluZGV4OjI7b3BhY2l0eToxfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbiAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7dmlzaWJpbGl0eTp2aXNpYmxlfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbi51c2Utb3BhY2l0eSAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7b3BhY2l0eToxO3Zpc2liaWxpdHk6dW5zZXR9I3BsYXllci1jb250cm9sLW92ZXJsYXkuaGlkZGVue2Rpc3BsYXk6bm9uZX1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXJ7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206MzBweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206NTBweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTo1MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206ODJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnV7bGVmdDoxMnB4O3JpZ2h0OjEycHh9QG1lZGlhIChtaW4td2lkdGg6MzgwcHgpey5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1hY3Rpb24tbWVudXtsZWZ0OjMwcHg7cmlnaHQ6MzBweH19QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsuZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTozMnB4O3otaW5kZXg6MztoZWlnaHQ6NDBweDtsZWZ0OjEycHg7cmlnaHQ6MTJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIC55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZW5kfS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIgLnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhcntwYWRkaW5nLWJvdHRvbToxMnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NThweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0e2xlZnQ6MDtyaWdodDo0NHB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e2xlZnQ6dW5zZXQ7cmlnaHQ6MDt6LWluZGV4OjR9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e2xlZnQ6MnB4O3JpZ2h0OjJweDtib3R0b206MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludHttYXJnaW4tdG9wOjEycHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvLXByZXZpZXcsLmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvcy13cmFwcGVye3dpZHRoOjQycHg7aGVpZ2h0OjI0cHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5wbGF5ZXItdGltZS1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6bm9uZX19LnBsYXllci1jb250cm9scy1oaWRle2Rpc3BsYXk6bm9uZX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QnJhbmRpbmdJY29ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2cHg7cmlnaHQ6MTJweDtjb2xvcjojZmZmfVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb257bGVmdDoxMnB4O3JpZ2h0OmF1dG99Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QmFja2dyb3VuZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnV7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5SGlkZUFjdGlvbk1lbnV7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTVweDtyaWdodDoxMnB4fVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXJ7bGVmdDoxMnB4O3JpZ2h0OmF1dG99QGtleWZyYW1lcyB5dG0tZXF1YWxpemVyLWFuaW1hdGlvbnswJXt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGVZKC41KX10b3t0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIgLnl0bS1lcXVhbGl6ZXItYmFyLWxlZnQsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1taWRkbGUsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDthbmltYXRpb24tbmFtZTp5dG0tZXF1YWxpemVyLWFuaW1hdGlvbjthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbGVmdHthbmltYXRpb24tZHVyYXRpb246LjVzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbWlkZGxle2FuaW1hdGlvbi1kdXJhdGlvbjoxLjNzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItcmlnaHR7YW5pbWF0aW9uLWR1cmF0aW9uOi43c30ueXRTaG9ydHNUb3VjaEZlZWRiYWNrSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW57ZGlzcGxheTpub25lfS55dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNre2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlcnt3aWR0aDoyNDBweDtoZWlnaHQ6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbnt3aWR0aDo5NnB4O2hlaWdodDo5NnB4fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdHtvdmVyZmxvdy15OnNjcm9sbH19Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyU2NyaW1Db250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo1fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lcntib3JkZXItcmFkaXVzOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjowIDhweCAyNHB4O21heC13aWR0aDo0MDBweDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OnNjcm9sbH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXJ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTQwcHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjIwcHggMDt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTJweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDZW50cmFsSWNvbntoZWlnaHQ6NjVweDt3aWR0aDo2NXB4O2NvbG9yOiNmMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTVweDtib3JkZXItcmFkaXVzOjQ1cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7cmlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjI0cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZXtiYWNrZ3JvdW5kOiMwMzAzMDM7b3BhY2l0eTouMTU7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjRweDttYXJnaW46MCBhdXRvO3dpZHRoOjQwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50c3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzPmRpdntwYWRkaW5nLWJvdHRvbTo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHM+eXRtLWJ1dHRvbi1yZW5kZXJlcntwYWRkaW5nLXRvcDo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7bGV0dGVyLXNwYWNpbmc6LjAwNWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZXtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjEuOHJlbX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxle2xldHRlci1zcGFjaW5nOi4wMWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO3otaW5kZXg6NTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3RvcDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206NTAlfX1AbWVkaWEgKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlck92ZXJsYXlDb250YWluZXJ7Ym90dG9tOjI1JX19QG1lZGlhIChtYXgtaGVpZ2h0OjUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206MH19W2JvdHRvbS1zaGVldC1vdmVybGF5LWJvZHktb3Blbl17cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7dG9wOjA7b3ZlcmZsb3c6aGlkZGVufS55dG0tZm9yY2VkLW11dGUtbWVzc2FnZSAuYnV0dG9uLXdpdGgtaWNvbi1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czozcHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjZweH0ueXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UgLmJ1dHRvbi13aXRoLWljb24taW5uZXIgYzMtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJ7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJbYmFja2dyb3VuZD1JTkZPX1BBTkVMX0NPTlRBSU5FUl9CQUNLR1JPVU5EX1NZU1RFTV06Zmlyc3QtY2hpbGR7Ym9yZGVyOm5vbmV9eXRtLWluZm8tcGFuZWwtY29udGFpbmVyLXJlbmRlcmVyW2JhY2tncm91bmQ9SU5GT19QQU5FTF9DT05UQUlORVJfQkFDS0dST1VORF9TWVNURU1de2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfR1JBWV17YmFja2dyb3VuZC1jb2xvcjojZmZmfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXJ7aGVpZ2h0OjM2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1sZWZ0LWl0ZW1ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItaWNvbnttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudT10cnVlXXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0W3l0bS1pbmZvLXBhbmVsLWNvbnRlbnQtaGFzLW1lbnU9dHJ1ZV0gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcldyYXBwZXJ7cGFkZGluZy1ib3R0b206MTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0SXNXYXRjaEluZm9QYW5lbHttYXJnaW46MTJweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC10cnVuY2F0ZS1wYXJhZ3JhcGhzPXRydWVdIC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQYXJhZ3JhcGh7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1saW5lLWNsYW1wOjN9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbZGF0YS1iYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEVOVF9CQUNLR1JPVU5EX09WRVJMQVlfQkxBQ0tdIC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2V7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo1MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbZGF0YS1iYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEVOVF9CQUNLR1JPVU5EX0JMVUVde2JhY2tncm91bmQtY29sb3I6I2RlZjFmZn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdC55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Q2luZW1hdGljQmFja2dyb3VuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcntwYWRkaW5nOjEycHggMTZweCAxNnB4IDE2cHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcldyYXBwZXJbZGF0YS1oYXMtaWNvbj10cnVlXXtwYWRkaW5nOjE0cHggMTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyQm9keXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvd30ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGV4dHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7Y29sb3I6IzA2NWZkNDttYXJnaW4tYm90dG9tOjRweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcnttYXgtaGVpZ2h0OjRyZW19Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29ue3BhZGRpbmctbGVmdDoxcHg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LXRvcH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWV0YWRhdGF7bWFyZ2luLWJvdHRvbTo0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclB1Ymxpc2hUaW1le2Rpc3BsYXk6aW5saW5lO2NvbG9yOiM2MDYwNjA7cGFkZGluZy1sZWZ0OjNweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoe2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzA2NWZkNDtwYWRkaW5nLWxlZnQ6MnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2VUZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaHVtYm5haWx7ZmxleC1zaHJpbms6MDtoZWlnaHQ6NjRweDt3aWR0aDo2NHB4O21hcmdpbi1sZWZ0OjhweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyRW5kcG9pbnR7d2lkdGg6MTAwJX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVyUmlnaHRJdGVtc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhlYWRlckljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWVudXtkaXNwbGF5OmJsb2NrfS55dG1Mb2dvRW50aXR5SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4fS55dG1Mb2dvRW50aXR5Q29udGFpbmVye3dpZHRoOjEyMnB4O21hcmdpbi1yaWdodDoxMnB4fS55dG1Mb2dvRW50aXR5TG9nb3twYWRkaW5nOjA7aGVpZ2h0OjQ4cHg7d2lkdGg6YXV0bztjb2xvcjp1bnNldH0ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJIb3N0e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojNjA2MDYwfS5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlclNjcmlte3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuNCkgMCxyZ2JhKDAsMCwwLC42KSA3NSUscmdiYSgwLDAsMCwuNikpfS55dEJpZ2JvYXJkU3Rvcnlib2FyZEhvc3R7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW59Lnl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b257cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25Ib3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25JY29uRGlzYWJsZWRPdmVybGF5e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbll0SWNvbk92ZXJsYXl7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dG1DcmVhdG9yRW5kc2NyZWVuSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtmb250LXNpemU6MS4ycmVtO3Zpc2liaWxpdHk6aGlkZGVufS55dG1DcmVhdG9yRW5kc2NyZWVuSW5DdWVSYW5nZXt2aXNpYmlsaXR5OnZpc2libGV9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUze2ZvbnQtc2l6ZToxLjRyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MHtmb250LXNpemU6MS44cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjB7Zm9udC1zaXplOjIuNHJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnR7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRWaXNpYmxle29wYWNpdHk6MTtwb2ludGVyLWV2ZW50czphdXRvfS55dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6MDt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TY3JpbVZpc2libGV7b3BhY2l0eTouMjV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRIb3N0e2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt0cmFuc2l0aW9uOnotaW5kZXggLjJzIHN0ZXAtZW5kO3otaW5kZXg6Njtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmV7dHJhbnNpdGlvbjp6LWluZGV4IC4ycyBzdGVwLXN0YXJ0O3otaW5kZXg6N30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbHtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO2JveC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLDAuNil9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRSb3VuZHtib3JkZXItcmFkaXVzOjUwJX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuOCk7aGVpZ2h0OjEwMCU7cGFkZGluZzo4cHg7bWFyZ2luOi04cHg7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtjb2xvcjojZmZmO3Zpc2liaWxpdHk6aGlkZGVuO2FsaWduLWNvbnRlbnQ6Y2VudGVyO21heC13aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5e2JvcmRlci1yYWRpdXM6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0gLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5e2JvcmRlci1yYWRpdXM6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czoxMnB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0e2xlZnQ6MH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodEFjdGl2ZXtwYWRkaW5nLWxlZnQ6Y2FsYygxMDAlICsgOHB4KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0e3JpZ2h0OjB9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZXtwYWRkaW5nLXJpZ2h0OmNhbGMoMTAwJSArIDhweCl9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZSwueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodEFjdGl2ZXtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO21heC13aWR0aDpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MTE1cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDcwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTA2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnQsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTcwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MTM2cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxMnB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTQyNiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMzZweDttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxNzZweDttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MjY0cHg7bWFyZ2luLWxlZnQ6MzJweDttYXJnaW4tcmlnaHQ6MTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjMycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjM5MnB4O21hcmdpbi1sZWZ0OjQ4cHg7bWFyZ2luLXJpZ2h0OjI0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUFjdGl2ZVJpZ2h0IC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDoyNHB4O21hcmdpbi1yaWdodDo0OHB4fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWF4LWhlaWdodDoxMDAlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjEuMnJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4yNTttYXJnaW4tYm90dG9tOjJweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjEuNnJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVRpdGxle2ZvbnQtc2l6ZToycmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjIuNHJlbX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToxLjJyZW07bWFyZ2luLXRvcDo0cHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToxLjZyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuOHJlbTttYXJnaW4tdG9wOjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXtmb250LXNpemU6MnJlbTttYXJnaW4tdG9wOjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVse2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtwYWRkaW5nLXRvcDo0cHg7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjN9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNjQwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbHstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsey13ZWJraXQtbGluZS1jbGFtcDoxfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTM0NiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTUwNiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7ZGlzcGxheTpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q2FsbFRvQWN0aW9ue2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tdG9wOjRweDtmb250LXNpemU6MXJlbTt0cmFuc2l0aW9uOmFsbCAuMnN9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q2FsbFRvQWN0aW9uOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Y3Vyc29yOnBvaW50ZXJ9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QnV0dG9ue21hcmdpbi10b3A6NHB4O21hcmdpbi1ib3R0b206NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTM0NiAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b257ZGlzcGxheTpub25lfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW17cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazt6LWluZGV4OjY7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQ2hhbm5lbHtib3JkZXItcmFkaXVzOjUwJX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZle29wYWNpdHk6LjI1fS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkhvc3R7d2lkdGg6MTAwJX0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Db250ZW50Q29udGFpbmVye3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MThweH0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25GbGV4Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnR9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uQ2FuQW5pbWF0ZXt0cmFuc2l0aW9uOndpZHRoIC41cyBlYXNlfS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvblN0YXRpY1dpZHRoIC55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXJ7d2lkdGg6YXV0b30ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3R7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3gtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwwLjYpO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt6LWluZGV4OjV9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ1NtYWxsIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtib3JkZXItcmFkaXVzOjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nTWVkaXVtIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtib3JkZXItcmFkaXVzOjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nTGFyZ2UgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6MTJweH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmV7Ym9yZGVyLWNvbG9yOiNmZmZ9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUb3BPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDozMyV9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtjb2xvcjojZmZmO3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6ZToxLjJyZW07Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjo2cHggOHB4IDA7bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsMC4zKTtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6MS40cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2ZvbnQtc2l6ZToxLjZyZW07bWFyZ2luOjEwcHggMTJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjJyZW07bWFyZ2luOjE0cHggMTZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjIuNHJlbTttYXJnaW46MThweCAyMHB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlse29iamVjdC1maXQ6Y292ZXJ9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaW1lU3RhdHVze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjB9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaW1lU3RhdHVzIC55dEJhZGdlU2hhcGVIb3N0e2ZvbnQtc2l6ZTppbmhlcml0fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzoycHggNHB4O21hcmdpbi1ib3R0b206MnB4O21hcmdpbi1yaWdodDoycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTI4MCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzo2cHggOHB4O21hcmdpbi1ib3R0b206OHB4O21hcmdpbi1yaWdodDo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7cGFkZGluZzoxMHB4IDEycHg7bWFyZ2luLWJvdHRvbToxNnB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wR3JhZGllbnR7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTouODtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2IoMCwwLDApLHRyYW5zcGFyZW50KX0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzoycHg7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwYWRkaW5nOjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3BhZGRpbmc6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXl7cGFkZGluZzoxMnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGh7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW46MCAycHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDRweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29ue21hcmdpbjowIDEycHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTpibG9jazt6LWluZGV4OjU7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yc30ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZle29wYWNpdHk6LjI1fS55dFBmcEF1dG9uYXZIb3N0e3BvaW50ZXItZXZlbnRzOm5vbmU7ZGlzcGxheTpibG9ja30ueXRQZnBBdXRvbmF2VmlzaWJsZXtwb2ludGVyLWV2ZW50czphdXRvO2JhY2tncm91bmQ6YmxhY2t9Lnl0UGZwQXV0b25hdlNjcmlte3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjp3aGl0ZTtwb2ludGVyLWV2ZW50czphdXRvfS55dFBmcEF1dG9uYXZIZWFkZXJ7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0UGZwQXV0b25hdlRpdGxle2ZvbnQtc2l6ZToyNHB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjRweH0ueXRQZnBBdXRvbmF2QnlsaW5le2ZvbnQtc2l6ZToxNnB4O21hcmdpbi1ib3R0b206MjRweH0ueXRQZnBBdXRvbmF2QnlsaW5lLC55dFBmcEF1dG9uYXZUaXRsZXttYXgtd2lkdGg6ODAlO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBBdXRvbmF2UGxheUJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo3MnB4O2hlaWdodDo3MnB4O21hcmdpbi1ib3R0b206MjRweDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Ym9yZGVyOjA7YmFja2dyb3VuZDpub25lO2NvbG9yOndoaXRlfS55dFBmcEF1dG9uYXZSaW5ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dFBmcEF1dG9uYXZQbGF5SWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2ZpbGw6d2hpdGV9Lnl0UGZwQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ueXRQZnBDb250cm9sc0hvc3QgOmZvY3VzLXZpc2libGV7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggIzNlYTZmZn0ueXRQZnBDb250cm9sc092ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bzt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufS55dFBmcENvbnRyb2xzQ3JlYXRvckVuZHNjcmVlbkNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNGYWRlSW57cG9pbnRlci1ldmVudHM6YXV0b30ueXRQZnBDb250cm9sc0JpZ2JvYXJkLC55dFBmcENvbnRyb2xzQm90dG9tQmFyLC55dFBmcENvbnRyb2xzR3JhZGllbnRUb3AsLnl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lciwueXRQZnBDb250cm9sc1ZpZGVvVGl0bGV7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMsdmlzaWJpbGl0eSAuMjVzfS55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzQmlnYm9hcmQsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNCb3R0b21CYXIsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyLC55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW59Lnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcHt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpLHJnYmEoMCwwLDAsMCkpO3BvaW50ZXItZXZlbnRzOm5vbmU7aGVpZ2h0OjQ5cHg7ei1pbmRleDo1fS55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cGFkZGluZzoxMnB4O21hcmdpbjowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjp3aGl0ZTtmb250LXNpemU6MThweDtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7cGFkZGluZzowO2JvcmRlcjowO2JhY2tncm91bmQtY29sb3I6dW5zZXR9Lnl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b25JY29uQmd7ZmlsbC1vcGFjaXR5Oi44O3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0UGZwQ29udHJvbHNPdmVybGF5OmhvdmVyIC55dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9uSWNvbkJne2ZpbGwtb3BhY2l0eToxO3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0UGZwQ29udHJvbHNWaWRlb1dhbGxFbmRzY3JlZW57cGFkZGluZzo0OHB4IDA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3otaW5kZXg6Mn0ueXRQZnBDb250cm9sc0F1dG9uYXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoyfS55dFBmcENvbnRyb2xzUHJvZ3Jlc3NCYXJDb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjQwcHg7bGVmdDowO3JpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bzt6LWluZGV4OjN9Lnl0UGZwQ29udHJvbHNCb3R0b21CYXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjQwcHg7cGFkZGluZy1sZWZ0OjNweDtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BvaW50ZXItZXZlbnRzOmF1dG87ei1pbmRleDoyfS55dFBmcENvbnRyb2xzTGVmdENvbnRyb2xzLC55dFBmcENvbnRyb2xzUmlnaHRDb250cm9sc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHN7bWF4LXdpZHRoOjExMnB4fS55dFBmcENvbnRyb2xzVGltZURpc3BsYXkueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5e2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luLWxlZnQ6OHB4Oy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfUBtZWRpYSAobWF4LXdpZHRoOjM0OXB4KXsueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5Lnl0UGZwQ29udHJvbHNUaW1lRGlzcGxheXtkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KXsueXRQZnBDb250cm9sc0NhcHRpb25zQnV0dG9ue2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6MjQ5cHgpey55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHMueXRQZnBDb250cm9sc1ZvbHVtZUNvbnRyb2xze2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6MTk5cHgpey55dFBmcENvbnRyb2xzU2V0dGluZ3NCdXR0b257ZGlzcGxheTpub25lfX0ueXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b24ueXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b257aGVpZ2h0OjEycHg7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6IzAwMDtkaXNwbGF5OmJsb2NrfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0OmZvY3VzLXZpc2libGUgLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6Zm9jdXMtd2l0aGluIC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5LC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJIb3N0OmhvdmVyIC55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5e29wYWNpdHk6MX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGh1bWJuYWlse29iamVjdC1maXQ6Y292ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjB9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXlUaXRsZUJ5bGluZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6NjBweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLC44KSxyZ2JhKDAsMCwwLC42KSA2MCUscmdiYSgwLDAsMCwwKSk7cGFkZGluZzo4cHh9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlclRpdGxle2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxOHB4O2NvbG9yOndoaXRlfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJCeWxpbmV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDo0cHg7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4cHg7cmlnaHQ6OHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoycHggNHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxMnB4O2NvbG9yOndoaXRlfS55dFBmcE1vcmVWaWRlb3NIb3N0e2Rpc3BsYXk6YmxvY2s7cG9pbnRlci1ldmVudHM6bm9uZX1AbWVkaWEgKG1heC1oZWlnaHQ6Mjg5cHgpey55dFBmcE1vcmVWaWRlb3NIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0UGZwTW9yZVZpZGVvc092ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjQ4cHg7bGVmdDoxMnB4O3JpZ2h0OjEycHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDEyLDEyLDEyLC44KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOmF1dG87Ym9yZGVyLXJhZGl1czoxMnB4O3BhZGRpbmc6OHB4IDA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dFBmcE1vcmVWaWRlb3NIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTtwYWRkaW5nOjAgMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwTW9yZVZpZGVvc1RpdGxle2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b257cGFkZGluZzo0cHg7bWFyZ2luLXJpZ2h0Oi00cHg7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpub25lO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRQZnBNb3JlVmlkZW9zQ2xvc2VJY29ue2NvbG9yOndoaXRlO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3BhZGRpbmc6MCAxMnB4IDRweCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVufS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3cteDphdXRvO2hlaWdodDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtzY3JvbGxiYXItd2lkdGg6bm9uZTtzY3JvbGwtYmVoYXZpb3I6c21vb3RofS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0ueXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0ey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtzY3JvbGwtc25hcC10eXBlOnggbWFuZGF0b3J5fS55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17aGVpZ2h0OjA7bWFyZ2luOjAgNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOmJsYWNrO3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0O3BhZGRpbmctYm90dG9tOjEzNXB4O3dpZHRoOjI0MHB4O21pbi13aWR0aDoyNDBweH1AbWVkaWEgKG1heC13aWR0aDoxMDQwcHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYygxNC4wNjI1JSAtIDYuNzVweCk7d2lkdGg6Y2FsYygyNSUgLSAxMnB4KTttaW4td2lkdGg6Y2FsYygyNSUgLSAxMnB4KX19QG1lZGlhIChtYXgtd2lkdGg6NzgwcHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYygxOC41NjI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoMzMlIC0gNnB4KTttaW4td2lkdGg6Y2FsYygzMyUgLSA2cHgpfX1AbWVkaWEgKG1heC13aWR0aDo1MzRweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDI4LjEyNSUgLSAzLjM3NXB4KTt3aWR0aDpjYWxjKDUwJSAtIDZweCk7bWluLXdpZHRoOmNhbGMoNTAlIC0gNnB4KX19QG1lZGlhIChtYXgtd2lkdGg6Mjg4cHgpey55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW17cGFkZGluZy1ib3R0b206Y2FsYyg1Ni4yNSUgLSAzLjM3NXB4KTt3aWR0aDpjYWxjKDEwMCUgLSA2cHgpO21pbi13aWR0aDpjYWxjKDEwMCUgLSA2cHgpfX0ueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OmF1dG99Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbTpsYXN0LWNoaWxke21hcmdpbi1yaWdodDphdXRvfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0LC55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMzLDMzLDMzLC44KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjp3aGl0ZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDoyO2JveC1zaGFkb3c6MCA0cHggNHB4IHJnYmEoMCwwLDAsLjI1KX0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlTGVmdDpob3ZlciwueXRQZnBNb3JlVmlkZW9zUGFkZGxlUmlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNTAsNTAsNTApfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0e2xlZnQ6MH0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlUmlnaHR7cmlnaHQ6MH0ueXRQZnBNb3JlVmlkZW9zUGFkZGxlSWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFBmcE1vcmVWaWRlb3NNb3JlVmlkZW9zQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo1NnB4O2xlZnQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2NvbG9yOndoaXRlO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjhweCAxNnB4O2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjU7cG9pbnRlci1ldmVudHM6YXV0bzt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0UGZwTW9yZVZpZGVvc01vcmVWaWRlb3NCdXR0b246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LXNocmluazowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6IzAwMDtkaXNwbGF5OmJsb2NrfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0OmZvY3VzLXZpc2libGUgLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6Zm9jdXMtd2l0aGluIC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5LC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0OmhvdmVyIC55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5e29wYWNpdHk6MX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGh1bWJuYWlse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheVRpdGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo2MHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpIDYwJSxyZ2JhKDAsMCwwLDApKTtwYWRkaW5nOjhweH0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE4cHg7bWF4LWhlaWdodDozNnB4O2NvbG9yOndoaXRlO292ZXJmbG93OmhpZGRlbn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyQm90dG9tT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp3aGl0ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckljb257ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tcmlnaHQ6NHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjB9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlzaWJsZXtib3R0b206MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMiwxMiwxMil9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSXNPYnNjdXJlZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3RDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czphdXRvO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjB9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlTGVmdCwueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVSaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMzLDMzLDMzLC45KTtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtjb2xvcjp3aGl0ZTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDoyO2JveC1zaGFkb3c6MCA0cHggNHB4IHJnYmEoMCwwLDAsLjI1KX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0OmhvdmVyLC55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiKDUwLDUwLDUwKX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0e2xlZnQ6OHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0e3JpZ2h0OjhweH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9JdGVte3Bvc2l0aW9uOmFic29sdXRlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckhvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4Ojd9Lnl0UGxheWVyQ29udHJvbHNQbGF5ZXJBY3Rpb25JbmRpY2F0b3JBY3Rpb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KTtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7b3BhY2l0eTowO2FuaW1hdGlvbjphY3Rpb24tZmFkZS1vdXQgLjVzIGxpbmVhciAxIG5vcm1hbCBmb3J3YXJkc30ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckljb257d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtmaWxsOiNmZmZ9QGtleWZyYW1lcyBhY3Rpb24tZmFkZS1vdXR7MCV7b3BhY2l0eToxfXRve29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMil9fS55dHdQbGF5ZXJUaW1lRGlzcGxheUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW59Lnl0d1BsYXllclRpbWVEaXNwbGF5VGltZUNodW5rc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3Q6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztoZWlnaHQ6NnB4O3dpZHRoOjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW4tcmlnaHQ6NHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3QueXR3UGxheWVyVGltZURpc3BsYXlMaXZlSGVhZDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIyNSwwLDQ1LDAuOSk7b3BhY2l0eToxfS55dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVEZWxpbWl0ZXJ7Y29sb3I6I2ZmZjttYXJnaW46MCA0cHg7b3BhY2l0eTouN30ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lU2Vjb25ke29wYWNpdHk6Ljd9Lnl0d1BsYXllclRpbWVEaXNwbGF5Q2hhcHRlclRleHR7bWFyZ2luLWxlZnQ6OHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheVBsYXllckJhckFjdGlvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBsYXllckJhckJ1dHRvbi55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGx7bWFyZ2luOjAgMCAwIDhweH0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b257b3ZlcmZsb3c6aGlkZGVuO21heC13aWR0aDoyNDBweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdQbGF5ZXJUaW1lRGlzcGxheUNoZXZyb257Y29sb3I6I2ZmZjtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4O21hcmdpbi1yaWdodDotNHB4fS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGx7aGVpZ2h0OjI0cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6NHB4IDZweDtib3JkZXItcmFkaXVzOjE2cHg7Zm9udC1zaXplOjEuNHJlbTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGlsbCBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGwgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse21hcmdpbi1sZWZ0OjE2cHh9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsueXR3UGxheWVyVGltZURpc3BsYXlGdWxsc2NyZWVuQ29udHJvbHNBbHdheXNPbntkaXNwbGF5Om5vbmV9fS55dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUhvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOm5vbmU7ZGlyZWN0aW9uOmx0cn0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNre2xlZnQ6NDhweH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJke3JpZ2h0OjQ4cHh9Lnl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb257Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMC44KTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2sgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3d7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZCAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd3ttYXJnaW4tbGVmdDoyMHB4fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93IC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3Zne2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3cgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoe2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgLjVweCByZ2JhKDAsMCwwLDAuOCkpfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNsYXRlOjAgLTUwJX0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNrIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbHtsZWZ0OjB9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZCAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd0FkZGl0aW9uYWx7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJFbmRzY3JlZW5Db250YWluZXJ7Y29sb3I6I2ZmZn0ueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVue3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuW2RhdGEtaGFzLXRpbWVyLWNvdW50ZG93bj10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7cGFkZGluZzo4cHggMTZweDttYXJnaW46MCBhdXRvO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17cGFkZGluZzo4cHh9fVtkaXI9cnRsXSAueXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuW2RhdGEtaGFzLXRpbWVyLWNvdW50ZG93bj10cnVlXXtkaXJlY3Rpb246cnRsfS55dHdQbGF5ZXJFbmRzY3JlZW5Ub3BQYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVse2Rpc3BsYXk6bm9uZX19Lnl0d1BsYXllckVuZHNjcmVlbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MTZweH0ueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duQ29udGFpbmVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXRvcDo0cHh9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duQ29udGFpbmVye21hcmdpbi1ib3R0b206OHB4fX0ueXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duTnVtYmVye2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRWaWRlb0NvbnRhaW5lcjpmaXJzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MTJweH0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXl7d2lkdGg6NTAlO2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA2cHgpO3Bvc2l0aW9uOnJlbGF0aXZlfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5e2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA0cHgpfX0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXk+Lnl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbENvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX0ueXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsT3ZlcmxheXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZve3dpZHRoOjUwJTtmbGV4LWJhc2lzOmNhbGMoNTAlIC0gNnB4KX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0luZm97ZmxleC1iYXNpczpjYWxjKDUwJSAtIDRweCl9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d1BsYXllckVuZHNjcmVlblZpZGVvVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZXttYXgtaGVpZ2h0OjRyZW07Y29sb3I6I2ZmZjttYXJnaW4tYm90dG9tOjRweH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9BdXRob3J7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dHdQbGF5ZXJFbmRzY3JlZW5CdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b257d2lkdGg6MTAwJX0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uPjpmaXJzdC1jaGlsZHt3aWR0aDoxMDAlfS55dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b246Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUN1c3RvbUNvbnRyb2xIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bUN1c3RvbUNvbnRyb2xIb3N0IDpmb2N1cy12aXNpYmxle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4ICMzZWE2ZmZ9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdHtjb2xvcjojZmZmO3BhZGRpbmc6MTJweCAwIDAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7dG9wOjUycHg7bWluLXdpZHRoOjEzMHB4O21heC13aWR0aDptaW4oNTAlIC0gNjRweCwyNzJweCl9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdEF1dG9oaWRle2FuaW1hdGlvbjpmYWRlIDNzIGVhc2UtaW4gMTBzIGZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHN9QG1lZGlhIChtYXgtYXNwZWN0LXJhdGlvOjMvNCl7Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdFRvcENvbnRyb2xzU3RhY2tlZEluUG9ydHJhaXR7dG9wOjExMnB4fX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJIaWRkZW57ZGlzcGxheTpub25lfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckJ1dHRvbnstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246bGVmdDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e2ZvbnQtc2l6ZToxLjNyZW07cGFkZGluZy1sZWZ0OjhweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlclRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e21heC1oZWlnaHQ6NHJlbX1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS55dEVtYmVkc0luZm9QYW5lbERldGFpbHNWaWV3TW9kZWxCb2R5VGV4dHtwYWRkaW5nOjAgMTJweCAxMnB4IDEycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0QXV0b2Nyb3BCdXR0b25Ib3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTttYXJnaW4tdG9wOjYwcHh9Lnl0QXV0b2Nyb3BCdXR0b25WaXNpYmxle3Zpc2liaWxpdHk6dmlzaWJsZX0ueXRBdXRvY3JvcEJ1dHRvbkhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbn0ueXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9ue2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjcpO2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwwLjYpO2JvcmRlci1yYWRpdXM6MThweH0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0ey1tb3otYm94LWZsZXg6MTtmbGV4OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3cteDphdXRvfUBtZWRpYSBub3QgKHBvaW50ZXI6ZmluZSl7Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdHstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5Om5vbmV9fUBtZWRpYSAocG9pbnRlcjpmaW5lKXsueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0e292ZXJmbG93LXk6YXV0b30ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDoxNnB4fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0ueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTB9fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc1JlY29tbWVuZGF0aW9ue3dpZHRoOjIwMHB4O21pbi13aWR0aDoyMDBweDttYXJnaW46MCA4cHg7Y29sb3I6I2ZmZn0ueXR3UGxheWVyRnVsbHNjcmVlbkNvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNIb3N0e3BhZGRpbmc6MTJweDtjb2xvcjojZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6Nn0ueXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNvbnRyb2xzVmlkZW9UaXRsZXttYXJnaW46MDtjb2xvcjojZmZmfS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ2xvc2VCdXR0b25XcmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS55dG1QYWlkQ29udGVudE92ZXJsYXlIb3N0e2NvbG9yOiNmZmY7YW5pbWF0aW9uOmZhZGUgM3MgZWFzZS1pbiAyMHMgZm9yd2FyZHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkcztwYWRkaW5nOjEycHggMCAxMnB4IDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0bVBhaWRDb250ZW50T3ZlcmxheUhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0bVBhaWRDb250ZW50T3ZlcmxheUxpbmt7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRtUGFpZENvbnRlbnRPdmVybGF5VGV4dHtmb250LXNpemU6MS4zcmVtO3BhZGRpbmctbGVmdDo4cHh9QGtleWZyYW1lcyBmYWRle3Rve29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfX0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MzBweDt6LWluZGV4OjI7aGVpZ2h0OjQ0cHh9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYXstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjUwJTtwYWRkaW5nOjZweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS5wbGF5ZXItY29udHJvbHMtYm90dG9tIC5wbGF5ZXItYm90dG9tLWNvbnRyb2xzLWZ1bGxzY3JlZW4taWNvbi12aXNpYmxlLWFyZWEgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLWxlZnR7bGVmdDoxMnB4O3JpZ2h0Ojc4cHh9LnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1yaWdodHtyaWdodDoyNHB4fS5wbGF5ZXItY29udHJvbHMtYm90dG9tIC5pY29uLWJ1dHRvbi5mdWxsc2NyZWVuLWljb257ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweDtwYWRkaW5nOjZweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NDRweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMgLnBsYXllci1jb250cm9scy1ib3R0b217Ym90dG9tOjc0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzLmZzLXdhdGNoLXN5c3RlbSAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206OTRweH0ueXR3UGxheWVyTWlkZGxlQ29udHJvbHNIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdQbGF5ZXJNaWRkbGVDb250cm9sc0ExMXlTZWVrQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDoxMDAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3otaW5kZXg6Nn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUucHJldmVudC1jb250cm9scy1jb2xsaXNpb257d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4O2JvcmRlci1yYWRpdXM6MjRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uPmMzLWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4O2JhY2tncm91bmQ6bm9uZX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiBjMy1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYXstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwYWRkaW5nOjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSBidXR0b257dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC12aXNpYmxlLWFyZWEgc3Zne2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmVuZHNjcmVlbi1yZXBsYXktYnV0dG9ue2hlaWdodDphdXRvO3dpZHRoOmF1dG87Ym9yZGVyLXJhZGl1czo1NnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24uZW5kc2NyZWVuLXJlcGxheS1idXR0b24+YzMtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4O3BhZGRpbmc6OHB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2wtcGxheS1wYXVzZS1pY29uLmljb24tYnV0dG9ue2hlaWdodDo1NnB4O3dpZHRoOjU2cHg7cGFkZGluZzoxMHB4O2JvcmRlci1yYWRpdXM6NTAlfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2wtcGxheS1wYXVzZS1pY29uLmljb24tYnV0dG9uPmMzLWljb257aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwYWRkaW5nOnVuc2V0fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuZW5kc2NyZWVuLXJlcGxheS1idXR0b24uaWNvbi1idXR0b24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb257bWFyZ2luOjAgMzRweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnNjcmVlbnJlYWRlci1zYWZlLWhpZGUtbWlkZGxlLWJ1dHRvbnN7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbHMtc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX1bZGlyPXJ0bF0geXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlOm5vdCgucHJldmVudC1jb250cm9scy1jb2xsaXNpb24pe3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLWNvbnRyb2xzLW1pZGRsZS1jb3JlLWJ1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2RpcmVjdGlvbjpsdHJ9Lnl0bVZpZGVvSW5mb0hvc3R7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjB9Lnl0bVZpZGVvSW5mb1ZpZGVvRGV0YWlsc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLWxlZnQ6MTJweDttaW4taGVpZ2h0OjUuMnJlbX0ueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDB9fS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy10b3A6MTBweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfVtkaXI9cnRsXSAueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXttYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfS55dG1WaWRlb0luZm9DaGFubmVsVGl0bGV7bWF4LXdpZHRoOjEwMCU7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO29wYWNpdHk6MTtsaW5lLWhlaWdodDoxLjF9Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXJ7bWluLWhlaWdodDozNnB4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNmZmY7bWFyZ2luLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjB9Lnl0bVZpZGVvSW5mb0xvZ29FbmFibGVke3BhZGRpbmctbGVmdDo1MnB4fS55dG1WaWRlb0luZm9DaGFubmVsTG9nb3t3aWR0aDozNnB4O2hlaWdodDozNnB4O2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjEycHg7bWFyZ2luLXRvcDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDo3O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS55dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVye2hlaWdodDo1LjJyZW07cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO21pbi13aWR0aDo1MnB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAxMnB4KTttYXJnaW46NHB4O21hcmdpbi10b3A6OHB4O292ZXJmbG93OmhpZGRlbn1bZGlyPXJ0bF0gLnl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXJ7bGVmdDphdXRvO3JpZ2h0OjB9Lnl0bVZpZGVvSW5mb092ZXJsYXl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpO21hcmdpbi1sZWZ0OjRweDtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eTowO21heC13aWR0aDowO3BhZGRpbmctbGVmdDo1MnB4O3BhZGRpbmctcmlnaHQ6MTBweDt6LWluZGV4OjU7cG9zaXRpb246cmVsYXRpdmV9Lnl0bVZpZGVvSW5mb0V4cGFuZGVke29wYWNpdHk6MTttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvQ2hhbm5lbEluZm97ZGlzcGxheTpibG9jaztwYWRkaW5nLXJpZ2h0OjhweDstbW96LWJveC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczthbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToycHg7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZXtmb250LXNpemU6MS4ycmVtO2NvbG9yOiNmZmY7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS55dG1WaWRlb0luZm9TdWJzY3JpYmVCdXR0b257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuaXMtc3Vic2NyaWJlZCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVZpZGVvSW5mb0hpZGUsLnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtkaXNwbGF5Om5vbmV9Lnl0bVZpZGVvSW5mb0xpbms6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1NdXRlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRtTXV0ZUJ1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT2ZmLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25Pbnt3aWR0aDozNnB4O2hlaWdodDoxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYgc3ZnLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjM2cHg7aGVpZ2h0OjE0cHh9Lnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2xlZnQ6MjJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fVtkaXI9cnRsXSAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2xlZnQ6NnB4fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uUGF1c2VJY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7bGVmdDo2cHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH1bZGlyPXJ0bF0gLnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb257bGVmdDoyMnB4fS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2NvbG9yOiNmZmZ9Lnl0d1BsYXllclRvcENvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfX1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0ey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNCYWNrZ3JvdW5kQWN0aW9uSXRlbXN7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyfXl0bS1ub3RpZmljYXRpb24tYWN0aW9uLXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lm5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7cGFkZGluZy1yaWdodDoxcmVtfS5ub3RpZmljYXRpb24tYWN0aW9uLWJ1dHRvbntmbGV4LXNocmluazowfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEycHg7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Ym9yZGVyLWJvdHRvbS1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4fS5ib3R0b20tc2hlZXQtc2hhcmUtaXRlbSAudW5pZmllZC1zaGFyZS11cmwtaW5wdXR7aGVpZ2h0OjQ4cHg7bWFyZ2luLWJvdHRvbToxMnB4fS5zaGFyZS10YXJnZXQtbGlua3tkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTJweH0uYm90dG9tLXNoZWV0LXNoYXJlLWl0ZW0gLnNoYXJlLXRhcmdldC1saW5re3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2hlaWdodDo0OHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfWZ1bGxzY3JlZW4tb3ZlcmxheXtwb3NpdGlvbjpmaXhlZDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvdmVyZmxvdzpzY3JvbGw7ei1pbmRleDo0fS55dENoaXBCYXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaH0ueXRDaGlwQmFyVmlld01vZGVsQ2hpcEJhclNjcm9sbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdzphdXRvIGhpZGRlbjtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZX0ueXRDaGlwQmFyVmlld01vZGVsQ2hpcEJhclNjcm9sbENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dENoaXBCYXJWaWV3TW9kZWxDaGlwQmFyU2Nyb2xsQ29udGFpbmVyV3JhcHBlZHtmbGV4LXdyYXA6d3JhcDtyb3ctZ2FwOjhweDtvdmVyZmxvdzp2aXNpYmxlfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXIsLnl0Q2hpcEJhclZpZXdNb2RlbFJpZ2h0QXJyb3dDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7ei1pbmRleDoxfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXJ7bGVmdDowfS55dENoaXBCYXJWaWV3TW9kZWxMZWZ0QXJyb3dDb250YWluZXJJc0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0Q2hpcEJhclZpZXdNb2RlbExlZnRBcnJvd0NvbnRhaW5lcjphZnRlcnt3aWR0aDo1MHB4O2NvbnRlbnQ6IiI7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LHJnYmEoMjU1LDI1NSwyNTUsMCkgMCxyZ2JhKDI1NSwyNTUsMjU1LDAuMykgMjUlLHJnYmEoMjU1LDI1NSwyNTUsMC42KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwwLjkpIDc1JSx3aGl0ZSAxMDAlKX0ueXRDaGlwQmFyVmlld01vZGVsUmlnaHRBcnJvd0NvbnRhaW5lcntyaWdodDowfS55dENoaXBCYXJWaWV3TW9kZWxSaWdodEFycm93Q29udGFpbmVySXNIaWRkZW57ZGlzcGxheTpub25lfS55dENoaXBCYXJWaWV3TW9kZWxSaWdodEFycm93Q29udGFpbmVyOmJlZm9yZXt3aWR0aDo1MHB4O2NvbnRlbnQ6IiI7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDI1NSwyNTUsMjU1LDApIDAscmdiYSgyNTUsMjU1LDI1NSwwLjMpIDI1JSxyZ2JhKDI1NSwyNTUsMjU1LDAuNikgNTAlLHJnYmEoMjU1LDI1NSwyNTUsMC45KSA3NSUsd2hpdGUgMTAwJSl9Lnl0Q2hpcEJhclZpZXdNb2RlbExlZnRBcnJvdywueXRDaGlwQmFyVmlld01vZGVsUmlnaHRBcnJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZDojZmZmfS55dENoaXBCYXJWaWV3TW9kZWxDaGlwV3JhcHBlcnttYXJnaW4tcmlnaHQ6OHB4fS55dENoaXBCYXJWaWV3TW9kZWxDaGlwV3JhcHBlcldpdGhOYXZpZ2F0aW9uQnV0dG9uc3ttYXJnaW4tdG9wOjRweDttYXJnaW4tYm90dG9tOjRweH0ueXRDaGlwU2hhcGVCdXR0b25SZXNldHtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O2NvbG9yOmluaGVyaXQ7Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZS13aWR0aDowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOm5vbmU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGluZzowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ueXRDaGlwU2hhcGVIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0Q2hpcFNoYXBlQ2hpcHtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6OHB4O2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjMycHg7bWluLXdpZHRoOjEycHg7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaGlwU2hhcGVDaGlwe291dGxpbmU6MXB4IHNvbGlkO291dGxpbmUtb2Zmc2V0Oi0xcHh9fS55dENoaXBTaGFwZUVsZXZhdGVkQ29udGVudHt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRDaGlwU2hhcGVPbmx5VGV4dFBhZGRpbmd7cGFkZGluZzowIDEycHh9Lnl0Q2hpcFNoYXBlT25seUljb25QYWRkaW5ne3BhZGRpbmc6MH0ueXRDaGlwU2hhcGVTdGFydEljb25QYWRkaW5ney1tb3otcGFkZGluZy1lbmQ6MTJweDtwYWRkaW5nLWlubGluZS1lbmQ6MTJweH0ueXRDaGlwU2hhcGVFbmRJY29uUGFkZGluZ3stbW96LXBhZGRpbmctc3RhcnQ6MTJweDtwYWRkaW5nLWlubGluZS1zdGFydDoxMnB4fS55dENoaXBTaGFwZUFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Y29sb3I6I2ZmZn1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaGlwU2hhcGVBY3RpdmV7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6U2VsZWN0ZWRJdGVtO2NvbG9yOlNlbGVjdGVkSXRlbVRleHR9fS55dENoaXBTaGFwZUFjdGl2ZVJlZGVzaWdue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO2NvbG9yOiMwMzAzMDN9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0Q2hpcFNoYXBlQWN0aXZlUmVkZXNpZ257Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6U2VsZWN0ZWRJdGVtO2NvbG9yOlNlbGVjdGVkSXRlbVRleHR9fS55dENoaXBTaGFwZURpc2FibGVke2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjojOTA5MDkwfS55dENoaXBTaGFwZUluYWN0aXZle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjojMDMwMzAzfS55dENoaXBTaGFwZUluYWN0aXZlUmVkZXNpZ257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojNjA2MDYwO2JvcmRlcjouNXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX0ueXRDaGlwU2hhcGVGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkICMwMzAzMDM7b3V0bGluZS1vZmZzZXQ6LTJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzAzMDMwM30ueXRDaGlwU2hhcGVJY29uU3RhcnR7Y29sb3I6aW5oZXJpdDttYXJnaW46MCA0cHggMCA4cHg7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRDaGlwU2hhcGVJY29uT25seXtjb2xvcjppbmhlcml0O21hcmdpbjowIDhweDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dENoaXBTaGFwZUljb25FbmR7Y29sb3I6aW5oZXJpdDttYXJnaW46MCA2cHggMCA0cHg7aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRDaGlwU2hhcGVBSUN1c3RvbWl6ZWRDaGlwQm9yZGVyRGFya01vZGV7Ym9yZGVyOjJweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjMGYwZjBmLCMwZjBmMGYpIHBhZGRpbmctYm94LGxpbmVhci1ncmFkaWVudCh0byByaWdodCwjN2YwZTdmLCMwMDdhNjUpIGJvcmRlci1ib3h9Lnl0Q2hpcFNoYXBlQUlDdXN0b21pemVkQ2hpcEJhY2tncm91bmRMaWdodE1vZGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjN2YwZTdmLCMwMDdhNjUpfS55dENoaXBTaGFwZUFJQ3VzdG9taXplZENoaXBJY29uRGFya01vZGV7Y29sb3I6IzdmMGU3Zn0ueXRDaGlwU2hhcGVNaWRkbGVncm91bmRBc3NldHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTt3aWR0aDpyb3VuZCh1cCwxMDAlLDFweCk7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0Q2hpcFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttaW4taGVpZ2h0OjU2cHg7cGFkZGluZzoyNHB4IDEycHggOHB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lck91dGxpbmV7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZTpmb2N1cy13aXRoaW57Ym9yZGVyOjJweCBzb2xpZCAjMDMwMzAzO3BhZGRpbmc6MjNweCAxMXB4IDdweH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWFDb250YWluZXJPdXRsaW5lRGlzYWJsZWR7Ym9yZGVyOjA7Y29sb3I6IzkwOTA5MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZUVycm9ye2JvcmRlci1jb2xvcjojYzMwMDI3fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lck91dGxpbmVFcnJvcjpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOiNjMzAwMjd9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyTGFiZWxIaWRkZW57bWluLWhlaWdodDozNnB4O3BhZGRpbmc6OXB4IDEycHggNnB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lckxhYmVsSGlkZGVuLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyT3V0bGluZTpmb2N1cy13aXRoaW57cGFkZGluZzo5cHggMTFweCA2cHh9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe21pbi1oZWlnaHQ6MDtjb2xvcjojMDMwMzAzO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtyZXNpemU6bm9uZTtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7cGFkZGluZzowO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjp0cmFuc3BhcmVudH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWE6OnBsYWNlaG9sZGVye2NvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcntvcGFjaXR5OjB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjB9fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYTpkaXNhYmxlZHtjb2xvcjojOTA5MDkwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OHB4O2xlZnQ6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbEZvY3VzZWR7dG9wOjdweDtsZWZ0OjExcHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUxhYmVsRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlTGFiZWxFcnJvcntjb2xvcjojYzMwMDI3fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVMYWJlbEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVye2Rpc3BsYXk6bm9uZTtjb2xvcjojNjA2MDYwO3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNnB4O2xlZnQ6MTJweDtyaWdodDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVQbGFjZWhvbGRlclZpc2libGV7ZGlzcGxheTpibG9ja30ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWFDb250YWluZXJMYWJlbEhpZGRlbiAueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlUGxhY2Vob2xkZXJ7dG9wOjhweH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3IsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjRweDtjb2xvcjojYzMwMDI3O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVFcnJvckljb24sLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnRJY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUVycm9yTWVzc2FnZSwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSGludE1lc3NhZ2V7bWFyZ2luLWxlZnQ6NHB4fS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVFcnJvckRpc2FibGVkLC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVIaW50RGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3JDaGFyYWN0ZXJDb3VudCwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlSGludENoYXJhY3RlckNvdW50e21hcmdpbi1sZWZ0OmF1dG99Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUVycm9ySGludE1lc3NhZ2UsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUhpbnRIaW50TWVzc2FnZXttYXJnaW4tbGVmdDo0cHg7Y29sb3I6IzYwNjA2MH0ueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlRXJyb3JJY29ue2NvbG9yOmluaGVyaXR9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhQ29udGFpbmVyey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzowfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUaW1lUGlja2VyIC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVQbGFjZWhvbGRlciwueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGltZVBpY2tlciAueXRTdGFuZGFyZHNUZXh0YXJlYVNoYXBlVGV4dGFyZWF7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbi1pbmxpbmU6YXV0bzttYXgtd2lkdGg6ODBweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjZyZW07bGluZS1oZWlnaHQ6NXJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVyLC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUaW1lUGlja2VyIC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjJyZW07bGluZS1oZWlnaHQ6NC40cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVBsYWNlaG9sZGVye2luc2V0OjB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRpbWVQaWNrZXIgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe2hlaWdodDoxMDAlO3BhZGRpbmc6OXB4IDB9Lnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUZpbGxQYXJlbnQsLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZUZpbGxQYXJlbnQgLnl0U3RhbmRhcmRzVGV4dGFyZWFTaGFwZVRleHRhcmVhe2hlaWdodDoxMDAlfS55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVGaWxsUGFyZW50IC55dFN0YW5kYXJkc1RleHRhcmVhU2hhcGVUZXh0YXJlYUNvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MTAwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdHtvdXRsaW5lOjJweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNlYXJjaElucHV0Vmlld01vZGVsSG9zdENvbnRlbnRSZXNlYXJjaHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfS55dFNlYXJjaElucHV0Vmlld01vZGVsTGVhZGluZ0ljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6NHB4O2NvbG9yOiM2MDYwNjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWFyY2hJbnB1dFZpZXdNb2RlbEZvcm17LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHh9Lnl0U2VhcmNoSW5wdXRWaWV3TW9kZWxDbGVhckJ1dHRvbnttYXJnaW4tcmlnaHQ6NHB4fS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7c2Nyb2xsYmFyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50O3Njcm9sbGJhci13aWR0aDp0aGlufS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2lkdGg6MTZweH0ueXR3Q2hhbm5lbEJsb2Nrc1ZpZXdNb2RlbExpc3RXcmFwcGVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntoZWlnaHQ6NTZweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXI6aG92ZXJ7c2Nyb2xsYmFyLWNvbG9yOiM5MDkwOTAgdHJhbnNwYXJlbnR9Lnl0d0NoYW5uZWxCbG9ja3NWaWV3TW9kZWxMaXN0V3JhcHBlcjpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7b3ZlcmZsb3cteTphdXRvO21heC1oZWlnaHQ6bWluKDM2MHB4LDEwMHZoIC0gMzAwcHgpO21pbi13aWR0aDptaW4oNDQ4cHgsMTAwdncgLSAxNDRweCl9QG1lZGlhIChtYXgtd2lkdGg6MzMwcHgpey55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsTGlzdFdyYXBwZXJ7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gMjAwcHgpfX0ueXR3Q2hhbm5lbEJsb2Nrc1ZpZXdNb2RlbFNlYXJjaENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0d0NoYW5uZWxCbG9ja3NWaWV3TW9kZWxEcm9wZG93blBhbmVse3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwwLjI1KTtib3JkZXItcmFkaXVzOjRweDt6LWluZGV4OjIwMTA7d2lkdGg6MTAwJTttYXgtaGVpZ2h0Om1pbigzMDBweCwxMDB2aCAtIDMwMHB4KTtvdmVyZmxvdy15OmF1dG87dG9wOjEwMCU7bGVmdDowfS55dHdDaGFubmVsQmxvY2tzVmlld01vZGVsU3VnZ2VzdGlvbnNMaXN0Ym94e3BhZGRpbmc6OHB4IDB9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllck92ZXJsYXlJbnRlcmFjdGlvbkludGVyYWN0aW9uc1N2Z3twb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSW50ZXJhY3Rpb25zU3ZnSG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0UGxheWVyT3ZlcmxheUludGVyYWN0aW9uSW50ZXJhY3Rpb25zU3ZnSGlkZU91dGxpbmV7b3V0bGluZTpub25lfS55dERpc21pc3NpYmxlSXRlbVJlcGxhY2VkQ29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dERpc21pc3NpYmxlSXRlbUFzcGVjdFJhdGlvQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8xNkJ5OXtwYWRkaW5nLXRvcDo1Ni4yNSV9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8yQnkze3BhZGRpbmctdG9wOjE1MCV9Lnl0RGlzbWlzc2libGVJdGVtQXNwZWN0UmF0aW8zQnk0e3BhZGRpbmctdG9wOjEzMy4zMyV9Lnl0RGlzbWlzc2libGVJdGVtU2hvcnRzQXNwZWN0UmF0aW85QnkxNntwYWRkaW5nLXRvcDoxNzglfS55dERpc21pc3NpYmxlSXRlbUFzcGVjdFJhdGlvMUJ5MXtwYWRkaW5nLXRvcDoxMDAlfS55dE5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXJIb3N0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6MjBweCAxMnB4IDhweDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVySG9zdExlZ2FjeVNoZWxmU3R5bGV7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtib3JkZXI6bm9uZX0ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyVGV4dENvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tYm90dG9tOjEycHh9Lnl0Tm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlclRleHRDb250YWluZXJMZWdhY3lTaGVsZlN0eWxley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7bWFyZ2luLWJvdHRvbTowO21hcmdpbi1yaWdodDoxMnB4fS55dE5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXJCdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCV9Lnl0Tm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlckJ1dHRvbkNvbnRhaW5lckxlZ2FjeVNoZWxmU3R5bGV7d2lkdGg6YXV0b30ueXROb3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyQnV0dG9ue3BhZGRpbmc6NnB4IDA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXROb3RpZmljYXRpb25UZXh0UmVuZGVyZXJIb3N0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2JvcmRlci1yYWRpdXM6OHB4O3BhZGRpbmc6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dHdBZEF2YXRhclZpZXdNb2RlbEhvc3QsLnl0d0FkQXZhdGFyVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7ZGlzcGxheTpibG9ja30ueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3QsLnl0d0FkQmFkZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5OmlubGluZX0ueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50U3R5bGVTdGFuZGFyZCwueXR3QWRCYWRnZVZpZXdNb2RlbEhvc3RTdHlsZVN0YW5kYXJke2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dHdBZEJhZGdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRTdHlsZVN0YW5kYXJkQnJvd3NlLC55dHdBZEJhZGdlVmlld01vZGVsSG9zdFN0eWxlU3RhbmRhcmRCcm93c2V7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dHdBZEJhZGdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7Y3Vyc29yOnBvaW50ZXJ9Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0LC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7ZGlzcGxheTpibG9ja30ueXR3QWREZXRhaWxzTGluZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dFN0eWxlU3RhbmRhcmQsLnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0VGV4dFN0eWxlU3RhbmRhcmR7Y29sb3I6IzYwNjA2MDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRTdHlsZVN0YW5kYXJkLC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdFRleHRTdHlsZVN0YW5kYXJkey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0d0FkRGV0YWlsc0xpbmVWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRTdHlsZVN0YW5kYXJkLC55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdFRleHRTdHlsZVN0YW5kYXJke21heC1oZWlnaHQ6MS44cmVtO3dvcmQtYnJlYWs6YnJlYWstYWxsfS55dHdBZERldGFpbHNMaW5lVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0U3R5bGVTdGFuZGFyZEJyb3dzZSwueXR3QWREZXRhaWxzTGluZVZpZXdNb2RlbEhvc3RUZXh0U3R5bGVTdGFuZGFyZEJyb3dzZXt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyOy0tZmVlZC1hZC1tZXRhZGF0YS10b3AtcGFkZGluZzoxMnB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50TWV0YWRhdGEsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLXJpZ2h0OjI0cHg7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LS1mZWVkLWFkLW1ldGFkYXRhLWJvdHRvbS1tYXJnaW46MTJweH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhTm9Cb3R0b21NYXJnaW4sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1ldGFkYXRhTm9Cb3R0b21NYXJnaW57LS1mZWVkLWFkLW1ldGFkYXRhLWJvdHRvbS1tYXJnaW46MH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZXRhZGF0YUFkQmFkZ2VEZXRhaWxzTGluZUNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcn0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyU3R5bGVDb21wYWN0U2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZXRhZGF0YUFkQmFkZ2VEZXRhaWxzTGluZUNvbnRhaW5lclN0eWxlQ29tcGFjdFNlYXJjaHtwYWRkaW5nLXRvcDo4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7Y3Vyc29yOnBvaW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1ldGFkYXRhQWRCYWRnZURldGFpbHNMaW5lQ29udGFpbmVyU3R5bGVTdGFuZGFyZCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0TWV0YWRhdGFBZEJhZGdlRGV0YWlsc0xpbmVDb250YWluZXJTdHlsZVN0YW5kYXJke2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2N1cnNvcjpwb2ludGVyO3BhZGRpbmctYm90dG9tOnZhcigtLWZlZWQtYWQtbWV0YWRhdGEtYm90dG9tLW1hcmdpbil9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnROb1RvcFBhZGRpbmcsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE5vVG9wUGFkZGluZ3stLWZlZWQtYWQtbWV0YWRhdGEtdG9wLXBhZGRpbmc6MH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudE1lbnVCdXR0b24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1lbnVCdXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOi02cHg7cmlnaHQ6LTEwcHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRNZW51QnV0dG9uTWVudVBvc0FkanVzdGVkLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RNZW51QnV0dG9uTWVudVBvc0FkanVzdGVke3JpZ2h0Oi03cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRNZW51U3R5bGVTdGFuZGFyZCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0TWVudVN0eWxlU3RhbmRhcmR7cGFkZGluZy10b3A6dmFyKC0tZmVlZC1hZC1tZXRhZGF0YS10b3AtcGFkZGluZyk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNnB4O3JpZ2h0Oi0xMHB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50TWVudVN0eWxlU3RhbmRhcmRNZW51UG9zQWRqdXN0ZWQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdE1lbnVTdHlsZVN0YW5kYXJkTWVudVBvc0FkanVzdGVke3JpZ2h0Oi03cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdEF2YXRhclN0eWxlU3RhbmRhcmQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRBdmF0YXJTdHlsZVN0YW5kYXJke2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDoxMnB4fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RBdmF0YXJTdHlsZUNvbXBhY3QsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRBdmF0YXJTdHlsZUNvbXBhY3R7bWFyZ2luLXJpZ2h0OjhweH0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmUsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZXttYXgtaGVpZ2h0OjRyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RIZWFkbGluZVR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjQuNHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2gsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0SGVhZGxpbmVTZWFyY2h7bWF4LWhlaWdodDo1LjJyZW07bWFyZ2luLWJvdHRvbTo0cHh9Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9ue2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9ue21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3REZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXB7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3REZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjZyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9ue2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9ue21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZUNvbXBhY3RTZWNvbmRhcnlEZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXB7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVDb21wYWN0U2Vjb25kYXJ5RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZUNvbXBhY3RTZWNvbmRhcnlEZXNjcmlwdGlvblR5cG9ncmFwaHlCdW1wey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdFNlY29uZGFyeURlc2NyaXB0aW9uVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVDb21wYWN0U2Vjb25kYXJ5RGVzY3JpcHRpb25UeXBvZ3JhcGh5QnVtcHttYXgtaGVpZ2h0OjZyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoe2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlQ29tcGFjdERlc2NyaXB0aW9uU2VhcmNoe21heC1oZWlnaHQ6NS40cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmUsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5le3BhZGRpbmctdG9wOnZhcigtLWZlZWQtYWQtbWV0YWRhdGEtdG9wLXBhZGRpbmcpO21hcmdpbi1ib3R0b206NHB4O2NvbG9yOiMwMzAzMDM7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG87Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZSwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lV2F0Y2hOZXh0LC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVdhdGNoTmV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVXYXRjaE5leHQsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lV2F0Y2hOZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVdhdGNoTmV4dCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVXYXRjaE5leHR7bWF4LWhlaWdodDo0cmVtfS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcCwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXB7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXAsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXB7bWF4LWhlaWdodDo1LjJyZW19Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo5MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo5MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjIsLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZEhlYWRsaW5lVHlwb2dyYXBoeUJ1bXBWMiwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYye21heC1oZWlnaHQ6NS42cmVtfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkSGVhZGxpbmVUeXBvZ3JhcGh5QnVtcFYyLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRIZWFkbGluZVR5cG9ncmFwaHlCdW1wVjJ7bWF4LWhlaWdodDo1LjJyZW19fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkRGVzY3JpcHRpb24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9ue21hcmdpbi1ib3R0b206NHB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmREZXNjcmlwdGlvbnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50VGV4dHNTdHlsZVN0YW5kYXJkRGVzY3JpcHRpb24sLnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdFRleHRzU3R5bGVTdGFuZGFyZERlc2NyaXB0aW9ue21heC1oZWlnaHQ6NHJlbX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d0ZlZWRBZE1ldGFkYXRhVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbiwueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0VGV4dHNTdHlsZVN0YW5kYXJkU2Vjb25kYXJ5RGVzY3JpcHRpb257LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXR3RmVlZEFkTWV0YWRhdGFWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudFRleHRzU3R5bGVTdGFuZGFyZFNlY29uZGFyeURlc2NyaXB0aW9uLC55dHdGZWVkQWRNZXRhZGF0YVZpZXdNb2RlbEhvc3RUZXh0c1N0eWxlU3RhbmRhcmRTZWNvbmRhcnlEZXNjcmlwdGlvbnttYXgtaGVpZ2h0OjRyZW19Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbEhvc3R7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweH0ueXR3QWREaXNjbG9zdXJlQmFubmVyVmlld01vZGVsSG9zdEhhc0FjY2VudHstbW96LWJvcmRlci1zdGFydDo0cHggc29saWQgdmFyKC0tYWQtZGlzY2xvc3VyZS1hY2NlbnQtY29sb3IpO2JvcmRlci1pbmxpbmUtc3RhcnQ6NHB4IHNvbGlkIHZhcigtLWFkLWRpc2Nsb3N1cmUtYWNjZW50LWNvbG9yKX0ueXR3QWREaXNjbG9zdXJlQmFubmVyVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnR7Y3Vyc29yOnBvaW50ZXJ9Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50OmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgI2ZmZjtvdXRsaW5lLW9mZnNldDoycHh9Lnl0d0FkRGlzY2xvc3VyZUJhbm5lclZpZXdNb2RlbFRleHR7YmFja2dyb3VuZDpub25lO2NvbG9yOiNmZmY7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvblJvdzpub3QoOmxhc3QtY2hpbGQpe3BhZGRpbmctYm90dG9tOjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb246bm90KDpsYXN0LWNoaWxkKTpub3QoOmVtcHR5KXtwYWRkaW5nLXJpZ2h0OjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3dBY3Rpb257bWluLXdpZHRoOjA7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZsZXgtYmFzaXM6MH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3dBY3Rpb246ZW1wdHl7LW1vei1ib3gtZmxleDowO2ZsZXgtZ3JvdzowfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbkludHJpbnNpY1dpZHRoey1tb3otYm94LWZsZXg6MDtmbGV4LWdyb3c6MDtmbGV4LWJhc2lzOmF1dG99Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsQWN0aW9uUm93QWN0aW9uRmVhdHVyZVBob25le2ZsZXgtYmFzaXM6dW5zZXQ7bWluLXdpZHRoOnVuc2V0fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbkljb25Pbmx5QnV0dG9uey1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsSW5saW5ley1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbFNjcm9sbGFibGV7b3ZlcmZsb3c6YXV0byBoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93LXk6YXV0bztzY3JvbGxiYXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7c2Nyb2xsYmFyLXdpZHRoOnRoaW59Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsU2Nyb2xsYWJsZTo6LXdlYmtpdC1zY3JvbGxiYXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDo4cHh9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsU2Nyb2xsYWJsZTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxTY3JvbGxhYmxlOmhvdmVye3Njcm9sbGJhci1jb2xvcjojOTA5MDkwIHRyYW5zcGFyZW50fS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbFNjcm9sbGFibGU6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6IzkwOTA5MH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxGbGV4V3JhcHtmbGV4LXdyYXA6d3JhcDtyb3ctZ2FwOjhweH0ueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFN0YXJ0ey1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0RmxleGlibGVBY3Rpb25zVmlld01vZGVsSnVzdGlmeUNvbnRlbnRFbmR7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbENlbnRlcmVkIC55dEZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbEFjdGlvbiwueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxDZW50ZXJlZCAueXRGbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWxBY3Rpb25Sb3d7ZmxleC1iYXNpczowOy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTttaW4td2lkdGg6MH0ueXRFbmdhZ2VtZW50QmFyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEVuZ2FnZW1lbnRCYXJWaWV3TW9kZWxFbmdhZ2VtZW50QmFyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztoZWlnaHQ6NDhweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dExvY2t1cEF0dGFjaG1lbnRzVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMb2NrdXBBdHRhY2htZW50c1ZpZXdNb2RlbEF0dGFjaG1lbnR7bWFyZ2luLXRvcDoxMnB4O21pbi13aWR0aDowfS55dExvY2t1cEF0dGFjaG1lbnRzVmlld01vZGVsRXhwYW5kYWJsZU1ldGFkYXRhe3BhZGRpbmctdG9wOjRweH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsRnVsbEhlaWdodEJ1dHRvbntoZWlnaHQ6MTAwJX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsRnVsbEhlaWdodEJ1dHRvbj4ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjEycHh9Lnl0d0Nhcm91c2VsQWRDYXJkQ29sbGVjdGlvblZpZXdNb2RlbE1ldGFkYXRhQXR0YWNobWVudENhcm91c2Vse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2dhcDoxMnB4O292ZXJmbG93LXg6YXV0bztzY3JvbGxiYXItd2lkdGg6bm9uZX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWw6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWxJdGVte3dpZHRoOjk2cHg7ZmxleC1zaHJpbms6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsTWV0YWRhdGFBdHRhY2htZW50Q2Fyb3VzZWxXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJX0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsUGFkZGxle3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMnB4IDRweCByZ2JhKDAsMCwwLDAuMjUpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXR3Q2Fyb3VzZWxBZENhcmRDb2xsZWN0aW9uVmlld01vZGVsUGFkZGxlTGVmdHtsZWZ0Oi0xNnB4fS55dHdDYXJvdXNlbEFkQ2FyZENvbGxlY3Rpb25WaWV3TW9kZWxQYWRkbGVSaWdodHtyaWdodDotMTZweH0ueXR3Q2Fyb3VzZWxBZENhcmRJbWFnZVZpZXdNb2RlbEhvc3QsLnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHthc3BlY3QtcmF0aW86MTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTthbGlnbi1zZWxmOnN0cmV0Y2g7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0OmFmdGVyLC55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnQ6YWZ0ZXJ7Y29udGVudDoiIjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7d2lsbC1jaGFuZ2U6b3BhY2l0eTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdDpob3ZlcjphZnRlciwueXR3Q2Fyb3VzZWxBZENhcmRJbWFnZVZpZXdNb2RlbEhvc3RJc0NsaWNrYWJsZUFkQ29tcG9uZW50OmhvdmVyOmFmdGVye29wYWNpdHk6LjF9Lnl0d0Nhcm91c2VsQWRDYXJkSW1hZ2VWaWV3TW9kZWxIb3N0Q2FyZEJhZGdlLC55dHdDYXJvdXNlbEFkQ2FyZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRDYXJkQmFkZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dHdBZENhcmRCYWRnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MThweDtwYWRkaW5nOjRweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6MCAwIDRweH0ueXR3QWRJbWFnZVZpZXdNb2RlbEhvc3QsLnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0SXNDbGlja2FibGVBZENvbXBvbmVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEltYWdlQ29udGFpbmVyLC55dHdBZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRJbWFnZUNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEltYWdlLC55dHdBZEltYWdlVmlld01vZGVsSG9zdElzQ2xpY2thYmxlQWRDb21wb25lbnRJbWFnZXt2aXNpYmlsaXR5OmluaGVyaXR9Lnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0SW5HcmlkVmlld3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEluR3JpZFZpZXdJbWFnZUNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHdBZEltYWdlVmlld01vZGVsSG9zdEluR3JpZFZpZXdJbWFnZXt2aXNpYmlsaXR5OmluaGVyaXR9Lnl0d0FkSW1hZ2VWaWV3TW9kZWxIb3N0QWREaXNjbG9zdXJlQmFubmVyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDo4cHg7ei1pbmRleDoxfS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaDt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbn0ueXR3SG9yaXpvbnRhbENhcm91c2VsQ2Fyb3VzZWxXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxDYXJvdXNlbElubmVyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7d2lkdGg6MTAwJX0ueXR3SG9yaXpvbnRhbENhcm91c2VsQW5pbWF0aW5ne3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0d0hvcml6b250YWxDYXJvdXNlbENhcm91c2VsSXRlbXtmbGV4LXNocmluazowfS55dHdIb3Jpem9udGFsQ2Fyb3VzZWxOZXh0QnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luLWxlZnQ6OHB4fS55dHdBZEJ1dHRvbkdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmbGV4LWJhc2lzOjEwMCU7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3QWRCdXR0b25Hcm91cFZpZXdNb2RlbEhvc3RQcmltYXJ5QnV0dG9uey1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0d0FkQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0U2Vjb25kYXJ5QnV0dG9ue21hcmdpbi1yaWdodDo0cHg7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXR3QWRCdXR0b25Hcm91cFZpZXdNb2RlbEhvc3RDb21wYWN0V2lkdGh7ZmxleC1iYXNpczowO21pbi13aWR0aDoyMDBweDt3aWR0aDo1MCU7Z2FwOjEycHh9Lnl0d0FkQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0Q29tcGFjdFdpZHRoU2Vjb25kYXJ5QnV0dG9ue21hcmdpbi1yaWdodDowfS55dHdBZEJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6LW1vei1tYXgtY29udGVudDtoZWlnaHQ6bWF4LWNvbnRlbnR9Lnl0d0FkQnV0dG9uVmlld01vZGVsSG9zdEhhc0FuaW1hdGlvbnt0cmFuc2l0aW9uOm9wYWNpdHksaGVpZ2h0O3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS55dHdBZEJ1dHRvblZpZXdNb2RlbEhvc3RDb21wYWN0V2lkdGh7ZmxleC1iYXNpczowO3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnQ7bWluLXdpZHRoOjI1JX0ueXR3QWRCdXR0b25WaWV3TW9kZWxIb3N0Q29udGVudFdpZHRoe3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnR9Lnl0d0FkQnV0dG9uVmlld01vZGVsU2hvd3tvcGFjaXR5OjF9Lnl0d0FkQnV0dG9uVmlld01vZGVsSGlkZXtvcGFjaXR5OjB9Lnl0d0FkQnV0dG9uVmlld01vZGVsRnVsbEhlaWdodHtoZWlnaHQ6YXV0b30ueXR3QWRCdXR0b25WaWV3TW9kZWxOb0hlaWdodHtoZWlnaHQ6MH0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbEhvc3R7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMnB4IDEwcHggcmdiYSgwLDAsMCwwLjI1KTttYXJnaW4tdG9wOjI0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC1oZWlnaHQ6MzAwcHg7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IC4zcyxtYXJnaW4gLjNzLG9wYWNpdHkgLjNzfS55dFNsaW1saW5lU3VydmV5Vmlld01vZGVsSG9zdDpiZWZvcmV7Y29udGVudDoiIjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsMC4yNSk7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLWxlZnQ6LTEycHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDt0b3A6LTEycHg7bGVmdDo1MCU7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxDb2xsYXBzZWR7bWF4LWhlaWdodDowO21hcmdpbi10b3A6MDtvcGFjaXR5OjB9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxDb2xsYXBzZWQ6YmVmb3Jle29wYWNpdHk6MH0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzo4cHggMTJweDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbX0ueXRTbGltbGluZVN1cnZleVZpZXdNb2RlbEFuc3dlcnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxJY29ue2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0U2xpbWxpbmVTdXJ2ZXlWaWV3TW9kZWxBbnN3ZXJzVGV4dHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUYWJsZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS55dFRhYmxlVmlld01vZGVsUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbi1ib3R0b206OHB4fS55dFRhYmxlVmlld01vZGVsUm93Qm90dG9tQm9yZGVye3BhZGRpbmctYm90dG9tOjhweH0ueXRUYWJsZVZpZXdNb2RlbFJvd0JvdHRvbUJvcmRlcjpub3QoOmxhc3QtY2hpbGQpe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX0ueXRUYWJsZVZpZXdNb2RlbENlbGx7Y29sb3I6IzYwNjA2MDt0ZXh0LWFsaWduOnJpZ2h0O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUYWJsZVZpZXdNb2RlbFJvd0xhYmVse2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERpc2NsYWltZXJJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFJlc3BvbnNlQWN0aW9uc1ZpZXdNb2RlbEhvc3R7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZXNwb25zZUFjdGlvbnNWaWV3TW9kZWxUZXh0e2Rpc3BsYXk6YmxvY2t9Lnl0UmVzcG9uc2VBY3Rpb25zVmlld01vZGVsVGV4dExlZnR7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0UmVzcG9uc2VBY3Rpb25zVmlld01vZGVsVGV4dFJpZ2h0e21hcmdpbi1sZWZ0OjE2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbEhvc3RIaWRkZW57ZGlzcGxheTpub25lfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0TWVkaWFDYXJke2JvcmRlci1yYWRpdXM6MzJweDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDtwYWRkaW5nOjI0cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZHstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTZweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0e21heC13aWR0aDo5MCU7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O3BhZGRpbmc6NHB4IDE2cHggNHB4IDRweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0U21hbGxMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtoZWlnaHQ6MzJweDt3aWR0aDozMnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFBpbGwueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRTbWFsbExheW91dC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHRPbmx5e3BhZGRpbmc6OHB4IDE2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdERlZmF1bHRMYXlvdXR7aGVpZ2h0OjQ4cHg7Ym9yZGVyLXJhZGl1czoyNHB4O21heC13aWR0aDo1MDBweDtwYWRkaW5nOjZweCAxNnB4IDZweCA2cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0UGlsbC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdERlZmF1bHRMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtoZWlnaHQ6MzZweDt3aWR0aDozNnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFBpbGwueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHREZWZhdWx0TGF5b3V0Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0VGV4dE9ubHl7cGFkZGluZzoxNnB4IDI0cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0FjY2Vzc29yeXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZmxleC1zaHJpbms6MH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRQaWxsIC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3Nvcnl7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO21hcmdpbi1yaWdodDo4cHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nQWNjZXNzb3J5e21hcmdpbi1yaWdodDoxMnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3NvcnlSb3RhdGVMZWZ0e3RyYW5zZm9ybTpyb3RhdGUoLTNkZWcpfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbExlYWRpbmdBY2Nlc3NvcnlSb3RhdGVSaWdodHt0cmFuc2Zvcm06cm90YXRlKDNkZWcpfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbEVuYWJsZVpvb206aG92ZXIgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsTGVhZGluZ0ltYWdle3RyYW5zZm9ybTpzY2FsZSgxLjA4KX1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsRW5hYmxlWm9vbSAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nSW1hZ2V7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfX0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2NvbG9yOiMwMzAzMDM7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIGF1dG87bWluLXdpZHRoOjB9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0U21hbGxMYXlvdXQgLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0VGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFNlY29uZGFyeUxhYmVse3BhZGRpbmctYm90dG9tOjRweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdE1lZGlhQ2FyZCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxMZWFkaW5nQWNjZXNzb3J5e21hcmdpbi1yaWdodDowO2JvcmRlci1yYWRpdXM6MTZweDtvdmVyZmxvdzpoaWRkZW59Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0TWVkaWFDYXJkIC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHRXcmFwcGVye3BhZGRpbmctdG9wOjEycHh9Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDo1NnB4fS55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdENhcmQueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRTbWFsbExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0Q2FyZC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFNtYWxsTGF5b3V0IC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRDYXJkLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dHt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6NjhweH0ueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRDYXJkLnl0U3VnZ2VzdGVkUHJvbXB0Vmlld01vZGVsUHJvbXB0RGVmYXVsdExheW91dCAueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHRUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdENhcmQueXRTdWdnZXN0ZWRQcm9tcHRWaWV3TW9kZWxQcm9tcHREZWZhdWx0TGF5b3V0IC55dFN1Z2dlc3RlZFByb21wdFZpZXdNb2RlbFByb21wdFRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7cG9zaXRpb246cmVsYXRpdmU7Y3Vyc29yOnBvaW50ZXI7bWluLXdpZHRoOjA7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS55dExvY2t1cFZpZXdNb2RlbEZsZXhOb25ley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0TG9ja3VwVmlld01vZGVsV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TG9ja3VwVmlld01vZGVsRW5kb3JzZW1lbnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0yMHB4O2NvbG9yOiM2MDYwNjB9Lnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWluLXdpZHRoOjA7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dExvY2t1cFZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TG9ja3VwVmlld01vZGVsQWRkTWFyZ2luc3ttYXJnaW4tcmlnaHQ6MTJweDttYXJnaW4tbGVmdDoxMnB4fS55dExvY2t1cFZpZXdNb2RlbEZ1bGxibGVlZCAueXRMb2NrdXBWaWV3TW9kZWxNZXRhZGF0YXttYXJnaW4tbGVmdDoxMnB4O21hcmdpbi1yaWdodDoxMnB4fS55dExvY2t1cFZpZXdNb2RlbENvbnRlbnRJbWFnZXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aW5oZXJpdDstbW96LWJveC1kaXJlY3Rpb246aW5oZXJpdDtmbGV4LWRpcmVjdGlvbjppbmhlcml0fS55dExvY2t1cFZpZXdNb2RlbENpbmVtYXRpY3tib3JkZXItcmFkaXVzOjEycHg7b3ZlcmZsb3c6aGlkZGVufS55dExvY2t1cFZpZXdNb2RlbFZlcnRpY2Fsey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMb2NrdXBWaWV3TW9kZWxWZXJ0aWNhbCAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7cGFkZGluZy1ib3R0b206OHB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBWaWV3TW9kZWxSaWNoR3JpZExlZ2FjeU1hcmdpbiAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7cGFkZGluZy1ib3R0b206MTJweH0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2hlaWdodDppbmhlcml0fS55dExvY2t1cFZpZXdNb2RlbEhvcml6b250YWwgLnl0TG9ja3VwVmlld01vZGVsQ29udGVudEltYWdle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7cGFkZGluZy1yaWdodDoxNnB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjUwMHB4fS55dExvY2t1cFZpZXdNb2RlbEhvcml6b250YWwgLnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwVmlld01vZGVsQ29sbGVjdGlvblN0YWNrMXtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjZweH0ueXRMb2NrdXBWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwVmlld01vZGVsQ29sbGVjdGlvblN0YWNrMntwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tdG9wOjEwcHh9Lnl0TG9ja3VwVmlld01vZGVsSG9yaXpvbnRhbC55dExvY2t1cFZpZXdNb2RlbENvbXBhY3QgLnl0TG9ja3VwVmlld01vZGVsQ29udGVudEltYWdle3BhZGRpbmctcmlnaHQ6OHB4fS55dExvY2t1cFZpZXdNb2RlbFNpbmdsZUNvbHVtbkdyaWQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sxe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS55dExvY2t1cFZpZXdNb2RlbFNpbmdsZUNvbHVtbkdyaWQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sye3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6MTBweH0ueXRMb2NrdXBWaWV3TW9kZWxJbkNhcmQueXRMb2NrdXBWaWV3TW9kZWxDb2xsZWN0aW9uU3RhY2sxe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS55dExvY2t1cFZpZXdNb2RlbEluQ2FyZC55dExvY2t1cFZpZXdNb2RlbENvbGxlY3Rpb25TdGFjazJ7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDoxMHB4fS55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhT25UaHVtYm5haWx7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3Bvc2l0aW9uOnJlbGF0aXZlfS55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhT25UaHVtYm5haWwgLnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGF7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3RvcDo1MCU7cGFkZGluZzo4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMCwwLDAsMC44KSAwLHJnYmEoMCwwLDAsMCkgMTAwJSl9Lnl0TG9ja3VwVmlld01vZGVsTWV0YWRhdGFPblRodW1ibmFpbC55dExvY2t1cFZpZXdNb2RlbENpbmVtYXRpYyAueXRMb2NrdXBWaWV3TW9kZWxDb250ZW50SW1hZ2V7aGVpZ2h0OjU1JX0ueXRMb2NrdXBWaWV3TW9kZWxNZXRhZGF0YU9uVGh1bWJuYWlsLnl0TG9ja3VwVmlld01vZGVsQ2luZW1hdGljIC55dExvY2t1cFZpZXdNb2RlbE1ldGFkYXRhe2hlaWdodDo3NSU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHRyYW5zcGFyZW50IDAsIzMzMyA1MCUpO3RvcDphdXRvfS55dExvY2t1cFZpZXdNb2RlbENhcmR7Ym9yZGVyLXJhZGl1czoxMnB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0TG9ja3VwVmlld01vZGVsUHJvdGVjdEJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MTAwJX0ueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxIb3N0Q2FuQW5pbWF0ZVdpZHRoe3RyYW5zaXRpb246d2lkdGggLjVzIGVhc2V9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSG9zdEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsSW52aXNpYmxle3Bvc2l0aW9uOmFic29sdXRlO3Zpc2liaWxpdHk6aGlkZGVuO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3Vic2NyaWJlQnV0dG9uVmlld01vZGVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dFN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbEFuaW1hdGVkQWN0aW9uV3JhcHBlcnttYXgtd2lkdGg6MTAwJX0ueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxBbmltYXRlZEFjdGlvbldyYXBwZXJJc0FuaW1hdGluZywueXRTdWJzY3JpYmVCdXR0b25WaWV3TW9kZWxTdGF0aWNXaWR0aHt3aWR0aDoxMDAlfS55dENvbGxlY3Rpb25zU3RhY2tSZWxhdGl2ZVN0YWNre3Bvc2l0aW9uOnJlbGF0aXZlfS55dENvbGxlY3Rpb25zU3RhY2tTcGFjZXJ7aGVpZ2h0OjVweH0ueXRDb2xsZWN0aW9uc1N0YWNrU3BhY2VyRG91YmxlU3RhY2t7aGVpZ2h0OjlweH0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMntiYWNrZ3JvdW5kLWNvbG9yOiM2MDYwNjA7b3BhY2l0eTo1MCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOi04cHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7aGVpZ2h0OjEwMCU7bGVmdDoxMnB4O3JpZ2h0OjEycHg7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2syUmVzcG9uc2l2ZU1vZGV7ZGlzcGxheTpub25lfX0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMk1hc2t7bWFyZ2luLXRvcDotMXB4O21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDFweCxibGFjayAwLGJsYWNrIDRweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDZweCxibGFjayAwLGJsYWNrIDhweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDEwcHgsYmxhY2sgMCl9Lnl0Q29sbGVjdGlvbnNTdGFja0NvbGxlY3Rpb25TdGFjazF7YmFja2dyb3VuZC1jb2xvcjojNjA2MDYwO21hcmdpbi10b3A6LTFweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2sxU21hbGx7cG9zaXRpb246YWJzb2x1dGU7dG9wOi00cHg7d2lkdGg6Y2FsYygxMDAlIC0gMTZweCk7aGVpZ2h0OjEwMCU7bGVmdDo4cHg7cmlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6NHB4fS55dENvbGxlY3Rpb25zU3RhY2tDb2xsZWN0aW9uU3RhY2sxTWVkaXVte3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSAtIDE2cHgpO2hlaWdodDoxMDAlO2xlZnQ6OHB4O3JpZ2h0OjhweDtib3JkZXItcmFkaXVzOjhweH0ueXRDb2xsZWN0aW9uc1N0YWNrQ29sbGVjdGlvblN0YWNrMUxhcmdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNHB4O3dpZHRoOmNhbGMoMTAwJSAtIDE2cHgpO2hlaWdodDoxMDAlO2xlZnQ6OHB4O3JpZ2h0OjhweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0Q29sbGVjdGlvbnNTdGFja0NvbGxlY3Rpb25TdGFjazFNYXNre21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDFweCxibGFjayAwLGJsYWNrIDRweCx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDZweCxibGFjayAwKTtib3JkZXItdG9wOm5vbmV9Lnl0UHJvZmlsZUljb25Ib3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpfS55dFByb2ZpbGVJY29uSG9zdDpoYXMoLnl0UHJvZmlsZUljb25JbWFnZSl7YmFja2dyb3VuZC1jb2xvcjp1bnNldH0ueXRQcm9maWxlSWNvbkltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0TWV0YWRhdGFCYWRnZVJlbmRlcmVySG9zdCsueXRNZXRhZGF0YUJhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0ueXR3U3RhbmRhbG9uZVlwY0JhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0ueXR3U3RhbmRhbG9uZVlwY0JhZGdlUmVuZGVyZXJTdGFuZGFsb25lWXBjTW9kZXJuQmFkZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0d1N0YW5kYWxvbmVZcGNCYWRnZVJlbmRlcmVyU3RhbmRhbG9uZVlwY0Rpc2NvdW50VGV4dEJhZGdle21hcmdpbi1yaWdodDo0cHg7dGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaH0ueXR3VGV4dEJhZGdlUmVuZGVyZXJIb3N0Ky55dHdUZXh0QmFkZ2VSZW5kZXJlckhvc3R7bWFyZ2luLWxlZnQ6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0OjNlbTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdHtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzp2aXNpYmxlfX0uWXRtQmFkZ2VBbmRCeWxpbmVSZW5kZXJlckhvc3RbZGF0YS1pcy1hbGwtYmFkZ2VzPXRydWVde21hcmdpbi10b3A6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySG9zdCB5dG0tYmFkZ2Utc3VwcG9ydGVkLXJlbmRlcmVye3Bvc2l0aW9uOnJlbGF0aXZlfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXB7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXBEaXZ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJIb3N0IC5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVyU21hbGxMb2NrdXBTcGFue2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MS4yNTttYXgtaGVpZ2h0OjEuMjVlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6cHJlO3dvcmQtYnJlYWs6YnJlYWstd29yZDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJhZGdlLC5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJ5bGluZSwuWXRtQmFkZ2VBbmRCeWxpbmVSZW5kZXJlclNlcGFyYXRvcnttYXJnaW4tcmlnaHQ6NHB4fS5ZdG1CYWRnZUFuZEJ5bGluZVJlbmRlcmVySXRlbUJ5bGluZXtmb250LXNpemU6MS4ycmVtO2Rpc3BsYXk6aW5saW5lO29wYWNpdHk6LjZ9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJJdGVtQmFkZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lll0bUJhZGdlQW5kQnlsaW5lUmVuZGVyZXJTZXBhcmF0b3J7Zm9udC1zaXplOjEuMnJlbTtvcGFjaXR5Oi42fS5ZdG1CYWRnZVN1cHBvcnRlZFJlbmRlcmVySG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQmFkZ2VTdXBwb3J0ZWRSZW5kZXJlckhvc3Q+eXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7bWluLXdpZHRoOjA7ZmxleC1zaHJpbms6MTAwMDB9Lll0bUJhZGdlU3VwcG9ydGVkUmVuZGVyZXJIb3N0Pnl0LW1ldGFkYXRhLWJhZGdlLXJlbmRlcmVyOmZpcnN0LWNoaWxke2ZsZXgtc2hyaW5rOjF9Lll0bUJhZGdlU3VwcG9ydGVkUmVuZGVyZXJIb3N0IHl0bS1iYWRnZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uWXRtUHJpdmFjeUJhZGdlUmVuZGVyZXJIb3N0e21hcmdpbi1sZWZ0OjRweH0uWXRtQ2hhbm5lbFRodW1ibmFpbFdpdGhMaW5rUmVuZGVyZXJIb3N0e2Rpc3BsYXk6YmxvY2t9Lll0bUNoYW5uZWxUaHVtYm5haWxXaXRoTGlua1JlbmRlcmVySWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MDttaW4td2lkdGg6MDtvdmVyZmxvdzpoaWRkZW59bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cGFkZGluZzowIDEycHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLWRldGFpbHN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO3BhZGRpbmctbGVmdDowO21hcmdpbi10b3A6NHB4fXl0bS1tZWRpYS1pdGVtIC51cHBlci1kZXRhaWxzey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW4tYm90dG9tOjhweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDo4cHh9eXRtLW1lZGlhLWl0ZW0gLnVwcGVyLWRldGFpbHMgLm1lZGlhLWNoYW5uZWwseXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLnVwcGVyLWRldGFpbHMgLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDowfXl0bS1tZWRpYS1pdGVtIC51cHBlci1kZXRhaWxzIHl0bS1wcm9maWxlLWljb257ZGlzcGxheTpibG9jaztoZWlnaHQ6MzZweDt3aWR0aDozNnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjhweH1sYXp5LWxpc3QgLml0ZW0geXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MTJweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjAgLTEycHh9QGtleWZyYW1lcyBtZXRhZGF0YS1ib3VuY2V7MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MjAlLDgwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTIwcHgpfX15dG0tbWVkaWEtaXRlbSAubWV0YWRhdGEtc2Nyb2xsLWNvbnRhaW5lcntvdmVyZmxvdzphdXRvO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1ldGFkYXRhLWNvbnRlbnQtY29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjIwMCV9eXRtLW1lZGlhLWl0ZW0gLm1ldGFkYXRhLWNvbnRlbnQtY29udGFpbmVyLmJvdW5jZXthbmltYXRpb24tbmFtZTptZXRhZGF0YS1ib3VuY2U7YW5pbWF0aW9uLWR1cmF0aW9uOjNzO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX15dG0tbWVkaWEtaXRlbSAuc2Nyb2xsLXZpZXd7d2lkdGg6NTAlO3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0fXl0bS1tZWRpYS1pdGVtIC5zY3JvbGwtZG90cy1jb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfXl0bS1tZWRpYS1pdGVtIC5zY3JvbGwtZG90e2hlaWdodDo0cHg7d2lkdGg6NHB4O2JvcmRlcjoxcHggc29saWQgIzAzMDMwMztib3JkZXItcmFkaXVzOjUwJTttYXJnaW46MCAzcHh9eXRtLW1lZGlhLWl0ZW0gLnNjcm9sbC1kb3QuYWN0aXZle2JhY2tncm91bmQtY29sb3I6IzAzMDMwM315dG0tbWVkaWEtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MCAxMnB4O21pbi13aWR0aDowfXl0bS1tZWRpYS1pdGVtW3VzZS12ZXJ0aWNhbC1sYXlvdXRde3BhZGRpbmc6MH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjhweH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAudXBwZXItZGV0YWlscyAubWVkaWEtaXRlbS1tZXRhZGF0YXttYXJnaW4tdG9wOjA7YWxpZ24tc2VsZjpjZW50ZXJ9eXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLm1lZGlhLWNoYW5uZWx7bWFyZ2luLXRvcDo4cHh9eXRtLW1lZGlhLWl0ZW0+YXtkaXNwbGF5OmJsb2NrfS5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9Lm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lci5zdGFja2VkOm5vdCgubXVsdGktY29sdW1uLWZlZWQpe21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0OjEycHg7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDoxMHB4fS5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXIubXVsdGktY29sdW1uLWZlZWR7bWFyZ2luLXRvcDotMnB4fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXIuc3RhY2tlZDpub3QoLm11bHRpLWNvbHVtbi1mZWVkKXttYXJnaW4tbGVmdDp1bnNldDttYXJnaW4tcmlnaHQ6dW5zZXR9Lm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lci5zdGFja2VkOm5vdCgubXVsdGktY29sdW1uLWZlZWQpe21hcmdpbi10b3A6NHB4fXl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLWxhbmRzY2FwZS1zdGFja3tkaXNwbGF5Om5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5zdGFja2Vke21hcmdpbi10b3A6NHB4fX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5zdGFja2VkLXBsYXlsaXN0e21hcmdpbi1sZWZ0OjRweH19Lm1lZGlhLWl0ZW0tYW5pbWF0ZWQtdGh1bWJuYWlsLC5tZWRpYS1pdGVtLXRodW1ibmFpbC1zbGlkZXNob3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCV9LmlubGluZS1ieWxpbmUtY2hhbm5lbC1uYW1le21hcmdpbi1ib3R0b206M3B4fS5tZWRpYS1pdGVtLW1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjB9Lm1lZGlhLWl0ZW0taGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS40cmVtfS5tZWRpYS1pdGVtLXRvcC1iYWRnZXMgeXQtbWV0YWRhdGEtYmFkZ2UtcmVuZGVyZXJ7ZGlzcGxheTpibG9ja30ubWVkaWEtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS5tZWRpYS1jaGFubmVse2ZsZXgtc2hyaW5rOjB9Lm1lZGlhLWl0ZW0taW5mbyx5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxzey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTttaW4td2lkdGg6MH0ubWVkaWEtaXRlbS1pbmZve2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXJnaW4tbGVmdDoxMnB4fS5tZWRpYS1pdGVtLWRldGFpbHMuc21hbGwtbG9ja3VwLC5tZWRpYS1pdGVtLWluZm9bbm8tY2hhbm5lbC1hdmF0YXI9dHJ1ZV17bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MH0ubWVkaWEtaXRlbS1kZXRhaWxzLmZlYXR1cmUtcGhvbmUtbWluaW1hbC1sb2NrdXBzIC5tZWRpYS1pdGVtLWluZm97bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDo4cHh9Lm1lZGlhLWl0ZW0tZGV0YWlscyAubWVkaWEtaXRlbS1pbmZvW25vLWNoYW5uZWwtYXZhdGFyPXRydWVdW3VzZS1tb2Rlcm4tY29sbGVjdGlvbnM9dHJ1ZV17bWFyZ2luLWxlZnQ6NHB4fS5tZWRpYS1pdGVtLWhlYWRsaW5lLXBsYWNlaG9sZGVye2hlaWdodDoxNnB4O21heC13aWR0aDozMDBweDttYXJnaW4tYm90dG9tOjhweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0ubWVkaWEtaXRlbS1oZWFkbGluZS1wbGFjZWhvbGRlcjpudGgtY2hpbGQoMil7d2lkdGg6MTIwcHg7bWFyZ2luLWJvdHRvbTo4cHh9Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVye2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS42cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVye2xldHRlci1zcGFjaW5nOi4wMmVtfX0ubWVkaWEtaXRlbS1lbmRvcnNlbWVudC1jb250YWluZXJ7bWFyZ2luLWJvdHRvbTotNHB4O2NvbG9yOiMwMzAzMDM7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5tZWRpYS1pdGVtLWVuZG9yc2VtZW50LWNvbnRhaW5lcj4ubWVkaWEtaXRlbS1zZWNvbmRhcnktaGVhZGxpbmV7cGFkZGluZy10b3A6OHB4fS5tZWRpYS1pdGVtLWVuZG9yc2VtZW50LWNvbnRhaW5lcj4ubWVkaWEtaXRlbS1zZWNvbmRhcnktaGVhZGxpbmU+c3Bhbnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtaGVpZ2h0OjMuMnJlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjJ9Lm1lZGlhLWl0ZW0tZW5kb3JzZW1lbnQtY29udGFpbmVyPi5tZWRpYS1pdGVtLXNlY29uZGFyeS1oZWFkbGluZT5zcGFuPnN0cm9uZ3tmb250LXdlaWdodDo3MDB9Lm1lZGlhLWl0ZW0tc3ViaGVhZC1wbGFjZWhvbGRlcntoZWlnaHQ6MTZweDt3aWR0aDoxMjBweDttYXJnaW4tYm90dG9tOjNweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0ubWVkaWEtaXRlbS1tZW51e2ZsZXgtc2hyaW5rOjB9Lm1lZGlhLWl0ZW0tYnlsaW5le3VuaWNvZGUtYmlkaTotbW96LWlzb2xhdGU7dW5pY29kZS1iaWRpOmlzb2xhdGV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlscy5mZWF0dXJlLXBob25lLW1pbmltYWwtbG9ja3VwcyAubWVkaWEtY2hhbm5lbHtkaXNwbGF5Om5vbmV9eXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjEycHh9eXRtLW1lZGlhLWl0ZW1bdXNlLXZlcnRpY2FsLWxheW91dF0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tdG9wOjRweH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luOjB9eXRtLWJyb3dzZSB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luOi0xMnB4IDAgMH15dG0tbWVkaWEtaXRlbSAudmlkZW8tdGh1bWJuYWlsLW92ZXJsYXktc2lkZXt3aWR0aDozMyV9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe2xhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxze3BhZGRpbmctbGVmdDoxMnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbS5iaWctc2hvcnRzLXNpbmdsZXRvbiAubWVkaWEtaXRlbS10aHVtYm5haWwtY29udGFpbmVye3BhZGRpbmc6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXt5dG0tYnJvd3NlIHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tcHJvbW90ZWQtdmlkZW8tcmVuZGVyZXIgeXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDowfWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtwYWRkaW5nOjAgMTJweH1sYXp5LWxpc3QgLml0ZW0geXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDoxMnB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS10aHVtYm5haWwtY29udGFpbmVye3BhZGRpbmc6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9fUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21pbi13aWR0aDowfXl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7ZmxleC1zaHJpbms6MH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXt3aWR0aDoyMDBweDtoZWlnaHQ6MTEycHg7cGFkZGluZy1ib3R0b206MH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1kZXRhaWxzey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MCAxMnB4O21pbi13aWR0aDowO3dpZHRoOjEwMCV9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0taW5mb3stbW96LWJveC1mbGV4OjA7ZmxleC1ncm93OjB9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0tbWV0YWRhdGF7bWFyZ2luLWJvdHRvbToycHg7bWF4LWhlaWdodDo3MHB4O292ZXJmbG93OmhpZGRlbjttaW4td2lkdGg6MH15dG0tbWVkaWEtaXRlbVt1c2UtdmVydGljYWwtbGF5b3V0XSAubWVkaWEtaXRlbS1oZWFkbGluZXttYXJnaW4tYm90dG9tOjhweH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtY2hhbm5lbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LW1vei1ib3gtb3JkaW5hbC1ncm91cDoyO29yZGVyOjE7d2lkdGg6MTAwJX15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1leHRyYS1lbmRwb2ludHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCAxMnB4fWxhenktbGlzdCAuaXRlbSB5dG0tbWVkaWEtaXRlbXttYXJnaW4tdG9wOjEycHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLXRodW1ibmFpbC1jb250YWluZXJ7cGFkZGluZzowfWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAubWVkaWEtY2hhbm5lbHttYXJnaW4tdG9wOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLW1ldGFkYXRhe21hcmdpbi10b3A6MH15dG0tYnJvd3NlIHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKXttYXJnaW4tdG9wOjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6MTJweH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLXByb21vdGVkLXZpZGVvLXJlbmRlcmVyIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjB9eXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSkgLm1lZGlhLWl0ZW0taW5mb3ttYXJnaW4tbGVmdDowfXl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pIC5tZWRpYS1pdGVtLWRldGFpbHMuc3RhY2tlZC1wbGF5bGlzdHttYXJnaW4tdG9wOjRweH15dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKSAubWVkaWEtaXRlbS1kZXRhaWxzLnN0YWNrZWR7bWFyZ2luLXRvcDo0cHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCAxMnB4fWxhenktbGlzdCAuaXRlbSB5dG0tbWVkaWEtaXRlbXttYXJnaW4tdG9wOjEycHh9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1wcm9tb3RlZC12aWRlby1yZW5kZXJlciB5dG0tbWVkaWEtaXRlbTpub3QoW3VzZS12ZXJ0aWNhbC1sYXlvdXRdKXttYXJnaW4tdG9wOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLW1lZGlhLWl0ZW17cGFkZGluZzowIDhweH15dG0tbWVkaWEtaXRlbSAubWVkaWEtaXRlbS1kZXRhaWxze21hcmdpbi10b3A6MTJweDttYXJnaW4tYm90dG9tOjEycHh9eXRtLWJyb3dzZSB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLW1lZGlhLWl0ZW17bWFyZ2luLXRvcDo4cHh9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVte3BhZGRpbmc6MCA4cHh9bGF6eS1saXN0IC5pdGVtIHl0bS1tZWRpYS1pdGVte21hcmdpbi1ib3R0b206MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lcntwYWRkaW5nOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC5tZWRpYS1pdGVtLW1ldGFkYXRhe21hcmdpbi10b3A6MH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tdG9wOjEycHg7bWFyZ2luLWJvdHRvbTo0cHg7cGFkZGluZy1sZWZ0OjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tZGV0YWlsc3ttYXJnaW4tYm90dG9tOjB9eXRtLWJyb3dzZSBsYXp5LWxpc3QgeXRtLWl0ZW0tc2VjdGlvbi1yZW5kZXJlcjpmaXJzdC1vZi10eXBlIHl0bS1tZWRpYS1pdGVte21hcmdpbi10b3A6OHB4fWxhenktbGlzdCB5dG0tbWVkaWEtaXRlbSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW46MH15dG0tYnJvd3NlIGxhenktbGlzdCB5dG0taXRlbS1zZWN0aW9uLXJlbmRlcmVyOmZpcnN0LW9mLXR5cGUgeXRtLXByb21vdGVkLXZpZGVvLXJlbmRlcmVyIHl0bS1tZWRpYS1pdGVtOm5vdChbdXNlLXZlcnRpY2FsLWxheW91dF0pe21hcmdpbi10b3A6OHB4fX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7bGF6eS1saXN0IC5pdGVtIHl0bS1tZWRpYS1pdGVte21hcmdpbi10b3A6OHB4fX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChtYXgtd2lkdGg6MzMwcHgpe2xhenktbGlzdCB5dG0tbWVkaWEtaXRlbXtwYWRkaW5nOjAgMTJweH1sYXp5LWxpc3QgeXRtLW1lZGlhLWl0ZW0gLm1lZGlhLWl0ZW0tdGh1bWJuYWlsLWNvbnRhaW5lcntwYWRkaW5nOjB9bGF6eS1saXN0IHl0bS1tZWRpYS1pdGVtIC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle21hcmdpbjowfXl0bS1icm93c2UgbGF6eS1saXN0IHl0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSB5dG0tcHJvbW90ZWQtdmlkZW8tcmVuZGVyZXIgeXRtLW1lZGlhLWl0ZW06bm90KFt1c2UtdmVydGljYWwtbGF5b3V0XSl7bWFyZ2luLXRvcDowfX15dG0tbWVkaWEtaXRlbS5zbWFsbC1sb2NrdXB7bWFyZ2luLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7d2lkdGg6MTYwcHh9eXRtLW1lZGlhLWl0ZW0uc21hbGwtbG9ja3VwIC5tZWRpYS1pdGVtLWhlYWRsaW5le2ZvbnQtd2VpZ2h0OjQwMH15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcnstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcjpub3QoW2ljb24tcG9zaXRpb249VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1BPU0lUSU9OX0JPVFRPTV9MRUZUX0NPUk5FUl0pey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfXl0bS10aHVtYm5haWwtb3ZlcmxheS1pY29uLXJlbmRlcmVyW2ljb24tcG9zaXRpb249VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1BPU0lUSU9OX0JPVFRPTV9MRUZUX0NPUk5FUl17cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO21hcmdpbjo1cHg7cGFkZGluZzoxcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6NTAlfVtpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdIGMzLWljb257ZGlzcGxheTpibG9jaztwYWRkaW5nOjFweDt3aWR0aDoxLjJyZW07aGVpZ2h0OjEuMnJlbX15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcjpub3QoW2ljb24tc3R5bGU9VEhVTUJOQUlMX09WRVJMQVlfSUNPTl9SRU5ERVJFUl9JQ09OX1NUWUxFX0ZJTExFRF0pIGMzLWljb257d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX15dG0tdGh1bWJuYWlsLW92ZXJsYXktaWNvbi1yZW5kZXJlcltpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdIGMzLWljb24gcGF0aHtmaWxsOiMwMDB9eXRtLXRodW1ibmFpbC1vdmVybGF5LWljb24tcmVuZGVyZXI6bm90KFtpY29uLXN0eWxlPVRIVU1CTkFJTF9PVkVSTEFZX0lDT05fUkVOREVSRVJfSUNPTl9TVFlMRV9GSUxMRURdKSBjMy1pY29uIHBhdGh7ZmlsbDojZmZmfS5ZdG1UaHVtYm5haWxPdmVybGF5UmVzdW1lUGxheWJhY2tSZW5kZXJlckhvc3R7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDo0cHg7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowfS5ZdG1UaHVtYm5haWxPdmVybGF5UmVzdW1lUGxheWJhY2tSZW5kZXJlclRodW1ibmFpbE92ZXJsYXlSZXN1bWVQbGF5YmFja1Byb2dyZXNze2hlaWdodDo0cHg7bGVmdDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfXl0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXJ7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXIuZmVlZC1pdGVte21hcmdpbi1ib3R0b206MTZweH19QG1lZGlhIChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXt5dG0tdmlkZW8td2l0aC1jb250ZXh0LXJlbmRlcmVyLmZlZWQtaXRlbXttYXJnaW4tYm90dG9tOjI0cHh9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7eXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5hZGFwdGl2ZS1mZWVkLWl0ZW17bWFyZ2luLWJvdHRvbToxNnB4fX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS12aWRlby13aXRoLWNvbnRleHQtcmVuZGVyZXIuYWRhcHRpdmUtZmVlZC1pdGVte21hcmdpbi1ib3R0b206MjRweH19QG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOjEzLzkpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7eXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5hZGFwdGl2ZS1mZWVkLWl0ZW17bWFyZ2luLWJvdHRvbToxMnB4fX1sYXp5LWxpc3QgeXRtLXZpZGVvLXdpdGgtY29udGV4dC1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH0udmlkZW9UaHVtYm5haWxHcm91cE92ZXJsYXlCb3R0b21MZWZ0UmlnaHRHcm91cHt3aWR0aDoxMDAlO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0udmlkZW9UaHVtYm5haWxHcm91cFJlc3VtZVBsYXliYWNrey1tb3otYm94LW9yZGluYWwtZ3JvdXA6MjtvcmRlcjoxfS52aWRlb1RodW1ibmFpbEdyb3VwVGltZVN0YXR1c3tyaWdodDowO2JvdHRvbTowO3Bvc2l0aW9uOmFic29sdXRlfS52aWRlb1RodW1ibmFpbEdyb3VwT3ZlcmxheUxlZnRSaWdodEdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7Ym90dG9tOjA7aGVpZ2h0OjEwMCV9LnZpZGVvVGh1bWJuYWlsR3JvdXBPdmVybGF5Q2VudGVye3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfS55dERpYWxvZ1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXREaWFsb2dWaWV3TW9kZWxSZXNldFNwYWNpbmdbZGlhbG9nXVtkaWFsb2dde3BhZGRpbmc6MDttYXJnaW46MH0ueXR3QWNjb3VudExpbmtCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d0FjY291bnRMaW5rQnV0dG9uVmlld01vZGVsSG9zdE1pbldpZHRoIC55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e21pbi13aWR0aDoxMjBweH0ueXRUZXh0RmllbGRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0Q3JlYXRlUGxheWxpc3REaWFsb2dGb3JtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MTJweH0ueXRDcmVhdGVQbGF5bGlzdERpYWxvZ0Zvcm1WaWV3TW9kZWxUaXRsZUZpZWxkLC55dENyZWF0ZVBsYXlsaXN0RGlhbG9nRm9ybVZpZXdNb2RlbFZpc2liaWxpdHlGaWVsZHttYXJnaW4tYm90dG9tOjEycHh9Lnl0RHJvcGRvd25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0RHJvcGRvd25WaWV3TW9kZWxEcm9wZG93bkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7aGVpZ2h0OjU2cHg7cGFkZGluZzo4cHggMTJweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtjdXJzb3I6cG9pbnRlcn0ueXREcm9wZG93blZpZXdNb2RlbERyb3Bkb3duQ29udGFpbmVyRXJyb3JCb3JkZXJ7Ym9yZGVyLWNvbG9yOiNjMzAwMjd9Lnl0RHJvcGRvd25WaWV3TW9kZWxEcm9wZG93bkNvbnRhaW5lckRpc2FibGVke2JvcmRlcjowO2NvbG9yOiM5MDkwOTA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2N1cnNvcjpkZWZhdWx0fS55dERyb3Bkb3duVmlld01vZGVsVGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0RHJvcGRvd25WaWV3TW9kZWxMYWJlbHtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERyb3Bkb3duVmlld01vZGVsTGFiZWxFcnJvcntjb2xvcjojYzMwMDI3fS55dERyb3Bkb3duVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREcm9wZG93blZpZXdNb2RlbFRpdGxlUGxhY2Vob2xkZXJ7Y29sb3I6IzkwOTA5MH0ueXREcm9wZG93blZpZXdNb2RlbENoZXZyb25Eb3due2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y29sb3I6IzAzMDMwM30ueXREcm9wZG93blZpZXdNb2RlbENoZXZyb25Eb3duRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnR7bWFyZ2luLXRvcDo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnRIaW50e2NvbG9yOiM2MDYwNjB9Lnl0RHJvcGRvd25WaWV3TW9kZWxTdXBwb3J0RXJyb3J7Y29sb3I6I2MzMDAyN30ueXREcm9wZG93blZpZXdNb2RlbFN1cHBvcnRJY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0RHJvcGRvd25WaWV3TW9kZWxTdXBwb3J0VGV4dHttYXJnaW4tbGVmdDo0cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcntjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7b3ZlcmZsb3c6aGlkZGVuOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXIgLmNoaXAtY29udGFpbmVye2hlaWdodDozMnB4O21pbi13aWR0aDo0OHB4O3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MCAxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjB9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlciAuY2hpcC1jb250YWluZXIuY2hpcC1uby12ZXJ0aWNhbC1wYWRkaW5ne3BhZGRpbmc6MH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLWNvbnRhaW5lcjpoYXMoYzMtaWNvbil7cGFkZGluZy1sZWZ0OjhweH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLWNvbnRhaW5lci5saWdodC1lZmZlY3R7cG9zaXRpb246cmVsYXRpdmV9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0RFRkFVTFRdIC5jaGlwLWNvbnRhaW5lcix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdIC5jaGlwLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Y29sb3I6IzAzMDMwMzt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjVzIGN1YmljLWJlemllciguMDUsMCwwLDEpfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9ERUZBVUxUXSAuY2hpcC1jb250YWluZXI+YzMtaWNvbix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdIC5jaGlwLWNvbnRhaW5lcj5jMy1pY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7cGFkZGluZy1yaWdodDo0cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0RFRkFVTFRdLnNlbGVjdGVkIC5jaGlwLWNvbnRhaW5lcix5dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfSE9NRV9GSUxURVJdLnNlbGVjdGVkIC5jaGlwLWNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiMwMzAzMDM7Y29sb3I6I2ZmZn15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLXRleHR7bWF4LXdpZHRoOjIwcmVtO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc315dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyIC5jaGlwLXRleHQubW9kZXJue2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH15dG0tY2hpcC1jbG91ZC1jaGlwLXJlbmRlcmVyW2NoaXAtc3R5bGU9U1RZTEVfRVhQTE9SRV9MQVVOQ0hFUl9DSElQXSAuY2hpcC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpO2JvcmRlci1yYWRpdXM6MnB4O2JvcmRlcjowO3BhZGRpbmc6MCAxMnB4IDAgNnB4fXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9FWFBMT1JFX0xBVU5DSEVSX0NISVBdIC5jaGlwLWNvbnRhaW5lcj5jMy1pY29ue3BhZGRpbmctcmlnaHQ6NHB4fXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXJbY2hpcC1zdHlsZT1TVFlMRV9FWFBMT1JFX0xBVU5DSEVSX0NISVBdLm1vcmUtZHJhd2VyIC5jaGlwLWNvbnRhaW5lcntwYWRkaW5nOjA7bWluLXdpZHRoOjQ4cHh9eXRtLWNoaXAtY2xvdWQtY2hpcC1yZW5kZXJlcltjaGlwLXN0eWxlPVNUWUxFX0VYUExPUkVfTEFVTkNIRVJfQ0hJUF0ubW9yZS1kcmF3ZXIgLmNoaXAtY29udGFpbmVyPmMzLWljb257cGFkZGluZy1yaWdodDowfXl0bS1jaGlwLWNsb3VkLWNoaXAtcmVuZGVyZXIgLmVsZXZhdGVkLWNvbnRlbnR7ei1pbmRleDoxfS55dG1DaGlwc1NoZWxmVmlld01vZGVsSG9zdHstLWNoaXBzLXNoZWxmLXNpZGUtbWFyZ2luOjhweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWJvdHRvbToyNHB4fS55dG1DaGlwc1NoZWxmVmlld01vZGVsQ2hpcHNTaGVsZkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46OHB4IDRweCA4cHggdmFyKC0tY2hpcHMtc2hlbGYtc2lkZS1tYXJnaW4pfS55dG1DaGlwc1NoZWxmVmlld01vZGVsQ2hpcHNTaGVsZkNvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7ZmxleC13cmFwOndyYXA7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tY2hpcHMtc2hlbGYtc2lkZS1tYXJnaW4pIC0gNHB4KTtwYWRkaW5nLXJpZ2h0OjEycHg7bWFyZ2luLWJvdHRvbToxNnB4O21heC1oZWlnaHQ6ODBweDtvdmVyZmxvdzpoaWRkZW59Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxDaGlwc1NoZWxmVGl0bGV7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuNHJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4yNTttYXJnaW46MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbENoaXBzU2hlbGZJdGVte21hcmdpbjowIDRweCA4cHh9Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxNZW51QnV0dG9ue21hcmdpbi1sZWZ0OjhweH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbElzSW5uZXJDaGlwc1NoZWxme21hcmdpbi1ib3R0b206MH0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbEVuYWJsZUFuaW1hdGlvbnstLWNoaXBzLXNoZWxmLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtvcGFjaXR5OjA7aGVpZ2h0OnZhcigtLWNoaXBzLXNoZWxmLWhlaWdodCk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyxoZWlnaHQgLjNzfS55dG1DaGlwc1NoZWxmVmlld01vZGVsRW5hYmxlQW5pbWF0aW9uLmV4cGFuZGVke29wYWNpdHk6MX0ueXRtQ2hpcHNTaGVsZlZpZXdNb2RlbElzSW5uZXJDaGlwc1NoZWxmQ29udGVudHttYXJnaW4tYm90dG9tOjB9Lnl0bUNoaXBzU2hlbGZWaWV3TW9kZWxJc0hvcml6b250YWxseVNjcm9sbGFibGV7bWF4LWhlaWdodDo0MHB4O292ZXJmbG93LXg6YXV0bztmbGV4LXdyYXA6bm93cmFwO3Njcm9sbGJhci13aWR0aDpub25lfS55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsSG9zdHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1ib3R0b206MTZweH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxIZWFkZXJ7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbToyNHB4fS55dENvbW11bml0eUVkdVZpZXdNb2RlbFRpdGxlSW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxBdmF0YXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxUaXRsZXtkaXNwbGF5OmJsb2NrO21hcmdpbjowIDI0cHggMTZweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS55dENvbW11bml0eUVkdVZpZXdNb2RlbFRpdGxle3RleHQtYWxpZ246Y2VudGVyfS55dENvbW11bml0eUVkdVZpZXdNb2RlbENvbnRlbnR7cGFkZGluZy1sZWZ0Ojc4cHh9Lnl0Q29tbXVuaXR5RWR1Vmlld01vZGVsTGVhcm5Nb3Jle2NvbG9yOiMwNjVmZDQ7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxFZHVjYXRpb25hbFRleHRTZXR7dGV4dC1hbGlnbjpzdGFydH0ueXRDb21tdW5pdHlFZHVWaWV3TW9kZWxQcmltYXJ5VGV4dHtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbW11bml0eUVkdVZpZXdNb2RlbFNlY29uZGFyeVRleHR7ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOjI0cHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhcnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOnJldmVyc2U7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2V9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplVGlueTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplRXh0cmFTbWFsbDpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplU21hbGw6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZU1lZGl1bTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi04cHh9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTaXplNDg6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZUxhcmdlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVFeHRyYUxhcmdlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVFeHRyYUV4dHJhTGFyZ2U6bm90KDpsYXN0LWNoaWxkKXttYXJnaW4tbGVmdDotOHB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU2l6ZUdpYW50Om5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclNpemVSZXNwb25zaXZlOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LThweH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbFRleHRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTttYXJnaW46MnB4IDA7bWFyZ2luLWxlZnQ6LThweDtib3JkZXI6MnB4IHNvbGlkICNmZmZ9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxUZXh0Q29udGFpbmVyVGhpbkJvcmRlcnttYXJnaW4tdG9wOjNweDttYXJnaW4tYm90dG9tOjNweDtib3JkZXItd2lkdGg6MXB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsVGV4dENvbnRhaW5lclRoaW5Cb3JkZXJPdmVybGF5e2JvcmRlcjoxcHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhckRlY29yYXRlZFRleHR7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHR7bWFyZ2luLWxlZnQ6OHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MS44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyU3RhY2tUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHR7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXZhdGFyU3RhY2tWaWV3TW9kZWxBdmF0YXJTdGFja1RleHQ6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dEF2YXRhclN0YWNrVmlld01vZGVsQXZhdGFyQnV0dG9ue21hcmdpbjo0cHggMH0ueXRBdmF0YXJTdGFja1ZpZXdNb2RlbElzT3ZlcmxheXtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dEF2YXRhclN0YWNrVmlld01vZGVsTWVkaXVtVGV4dCAueXRBdmF0YXJTdGFja1ZpZXdNb2RlbEF2YXRhclN0YWNrVGV4dHttYXgtaGVpZ2h0OjJyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDoycHg7b3ZlcmZsb3c6aGlkZGVuO21pbi13aWR0aDowO21heC13aWR0aDoxMDAlfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhUm93OmZvY3VzLXZpc2libGV7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0OjJweDtib3JkZXItcmFkaXVzOjRweH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxBdmF0YXJTdGFja3ttaW4td2lkdGg6MDttYXgtd2lkdGg6MTAwJX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVJvd01ldGFkYXRhUm93SW5saW5le2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXh9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFSb3dNZXRhZGF0YVJvd1BhZGRpbmd7cGFkZGluZzo4cHggMH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVJvd01ldGFkYXRhUm93V3JhcHtmbGV4LXdyYXA6d3JhcH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxCYWRnZXttYXJnaW4tcmlnaHQ6NHB4fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbEljb257bWFyZ2luLWxlZnQ6NHB4Oy1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmV9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTGVhZGluZ0ljb257bWFyZ2luLXJpZ2h0OjRweDstbW96LWJveC1mbGV4OjA7ZmxleDpub25lfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbFNwYWNlcntoZWlnaHQ6NnB4fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRMYXN0UGFydHtvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjB9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMwe2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjMuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7bWF4LWhlaWdodDozLjZyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMze2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NS40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3std2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0Om5vbmV9fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3ttYXgtaGVpZ2h0OjUuNHJlbX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo3LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0ey13ZWJraXQtbGluZS1jbGFtcDo0O21heC1oZWlnaHQ6bm9uZX19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0e21heC1oZWlnaHQ6Ny4ycmVtfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbERlbGltaXRlcnttYXJnaW46MCA0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbERlbGltaXRlclN0YW5kYWxvbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDoycHh9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsSW5saW5le3doaXRlLXNwYWNlOm5vcm1hbH0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxJbmxpbmUgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFSb3d7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMye21heC1oZWlnaHQ6NHJlbX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzM3tmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo2cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXMzey13ZWJraXQtbGluZS1jbGFtcDozO21heC1oZWlnaHQ6bm9uZX19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczN7bWF4LWhlaWdodDo2cmVtfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1lZGl1bVRleHQgLnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGFUZXh0TWF4TGluZXM0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YVRleHRNYXhMaW5lczR7LXdlYmtpdC1saW5lLWNsYW1wOjQ7bWF4LWhlaWdodDpub25lfX0ueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxNZWRpdW1UZXh0IC55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhVGV4dE1heExpbmVzNHttYXgtaGVpZ2h0OjhyZW19Lnl0Q29udGVudE1ldGFkYXRhVmlld01vZGVsTWVkaXVtVGV4dCAueXRDb250ZW50TWV0YWRhdGFWaWV3TW9kZWxEZWxpbWl0ZXJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRNZXRhZGF0YVZpZXdNb2RlbENlbnRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRDb250ZW50TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbENvbnRlbnRMaXN0SXRlbVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tbGVmdDoxNnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye21hcmdpbi10b3A6OHB4O21hcmdpbi1ib3R0b206OHB4O21hcmdpbi1yaWdodDoxMnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbGltYWdlQ2xhc3NOYW1le2JvcmRlci1yYWRpdXM6OHB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlTWV0YWRhdGFXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDb250ZW50TGlzdEl0ZW1WaWV3TW9kZWxNZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFByb21pbmVudFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuNHJlbTtsaW5lLWhlaWdodDozLjJyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFByb21pbmVudFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0Q29udGVudExpc3RJdGVtVmlld01vZGVsQWN0aW9uQnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O21hcmdpbi1yaWdodDoxNnB4fS55dENvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyfS55dERlY29yYXRlZEF2YXRhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFJlZWxDaGFubmVsQmFyVmlld01vZGVsQ2hhbm5lbE5hbWV7cGFkZGluZzowIDhweDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbENoYW5uZWxOYW1ley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXttYXgtaGVpZ2h0OjJyZW19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjMuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRSZWVsQ2hhbm5lbEJhclZpZXdNb2RlbENoYW5uZWxOYW1ley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxDaGFubmVsTmFtZXttYXgtaGVpZ2h0OjMuNnJlbX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxSZWVsU3Vic2NyaWJlQnV0dG9ue2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0UmVlbENoYW5uZWxCYXJWaWV3TW9kZWxSZWVsU3BvbnNvckJ1dHRvbntkaXNwbGF5Om5vbmV9fS55dFByZWZlcnJlZExhbmd1YWdlU2V0dGluZ3NQYW5lbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRBbmltYXRlZEFzc2V0Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEFuaW1hdGVkQXNzZXRWaWV3TW9kZWxGaWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiMwMzAzMDM7Ym9yZGVyLXJhZGl1czoxMnB4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxIb3N0e2JvcmRlcjoxcHggc29saWQgQnV0dG9uQm9yZGVyfX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE5hcnJvd3stbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpzdGFydH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE5hcnJvdyAueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVyey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpub3JtYWw7YWxpZ24taXRlbXM6bm9ybWFsfS55dEFsZXJ0QmFubmVyVmlld01vZGVsTmFycm93IC55dEFsZXJ0QmFubmVyVmlld01vZGVsQWN0aW9uQnV0dG9ue21hcmdpbjowIDAgMTJweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEZ1bGxibGVlZHtib3JkZXItcmFkaXVzOjB9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxJbmZvcm1hdGlvbmFse2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbFRpbWVTZW5zaXRpdmV7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmfS55dEFsZXJ0QmFubmVyVmlld01vZGVsV2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDg1LDExOSwwLjIpfS55dEFsZXJ0QmFubmVyVmlld01vZGVsRGlzbWlzc2Vke2Rpc3BsYXk6bm9uZX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRBbGVydEJhbm5lclZpZXdNb2RlbE91dGVyQ29udGFpbmVyOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDoxMnB4fS55dEFsZXJ0QmFubmVyVmlld01vZGVsT3V0ZXJDb250YWluZXI6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0OjEycHh9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7cGFkZGluZzoxMnB4IDA7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dEFsZXJ0QmFubmVyVmlld01vZGVsSWNvbntwYWRkaW5nOjEycHh9Lnl0QWxlcnRCYW5uZXJWaWV3TW9kZWxDb250ZW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEhlYWRpbmd7cGFkZGluZzowO21hcmdpbjowO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbEJvZHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dEFsZXJ0QmFubmVyVmlld01vZGVsQWN0aW9uQnV0dG9ue21hcmdpbjo2cHggMCA2cHggMTJweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbERpc21pc3NCdXR0b257bWFyZ2luOjZweH0ueXRBbGVydEJhbm5lclZpZXdNb2RlbElzSW5SaWNoR3JpZHttYXJnaW4tYm90dG9tOjE2cHh9LmRpdmlkZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5kaXZpZGVyVmlld01vZGVsSW5zZXRUaGluUGFkZGluZ3twYWRkaW5nOjE2cHh9LmRpdmlkZXJWaWV3TW9kZWxCYXNlRGl2aWRlcntoZWlnaHQ6MXB4O3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LmRpdmlkZXJWaWV3TW9kZWxCYXNlRGl2aWRlckZ1bGxCbGVlZDRweHtoZWlnaHQ6NHB4fS5kaXZpZGVyVmlld01vZGVsQmFzZURpdmlkZXJGdWxsQmxlZWQ4cHh7aGVpZ2h0OjhweH0uZGl2aWRlclZpZXdNb2RlbEJhc2VEaXZpZGVyRnVsbEJsZWVkMTJweHtoZWlnaHQ6MTJweH0uZGl2aWRlclZpZXdNb2RlbEJhc2VEaXZpZGVyRnVsbEJsZWVkVGhpY2t7aGVpZ2h0OjZweH0ueXRUaHVtYm5haWxCYWRnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRUaHVtYm5haWxWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjB9Lnl0VGh1bWJuYWlsVmlld01vZGVsQ2luZW1hdGlje2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRUaHVtYm5haWxWaWV3TW9kZWxBc3BlY3RSYXRpbzE2Qnk5e3BhZGRpbmctdG9wOjU2LjI1JX0ueXRUaHVtYm5haWxWaWV3TW9kZWxBc3BlY3RSYXRpbzJCeTN7cGFkZGluZy10b3A6MTUwJX0ueXRUaHVtYm5haWxWaWV3TW9kZWxTaG9ydHNBc3BlY3RSYXRpbzlCeTE2e3BhZGRpbmctdG9wOjE3OCV9Lnl0VGh1bWJuYWlsVmlld01vZGVsQXNwZWN0UmF0aW8xQnkxe3BhZGRpbmctdG9wOjEwMCV9Lnl0VGh1bWJuYWlsVmlld01vZGVsU21hbGx7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0VGh1bWJuYWlsVmlld01vZGVsTWVkaXVte2JvcmRlci1yYWRpdXM6OHB4fS55dFRodW1ibmFpbFZpZXdNb2RlbExhcmdle2JvcmRlci1yYWRpdXM6MTJweH0ueXRUaHVtYm5haWxWaWV3TW9kZWxJbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0b3A6NTAlO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dFRodW1ibmFpbFZpZXdNb2RlbEJsdXJyZWRJbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2hlaWdodDoyMDAlO2ZpbHRlcjpibHVyKDMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yNSUpfS55dFRodW1ibmFpbFZpZXdNb2RlbEhpZ2hsaWdodEVmZmVjdHtib3gtc2hhZG93OjAgMCA3cHggMnB4ICMwZjBmMGY7b3V0bGluZTpzb2xpZCAxcHggI2ZmZn0ueXRUaHVtYm5haWxWaWV3TW9kZWxIb3N0QWREaXNjbG9zdXJlQmFubmVyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo4cHg7bGVmdDo4cHg7ei1pbmRleDoxfS55dFBpbmtpbmdOc0hvc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjB9Lnl0UGlua2luZ05zUGlua2luZ0xlZnR7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3dpZHRoOjRweDtoZWlnaHQ6MTAwJX0ueXRQaW5raW5nTnNQaW5raW5nUmlnaHR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt3aWR0aDo0cHg7aGVpZ2h0OjEwMCV9Lnl0UGlua2luZ05zUGlua2luZ3tmaWxsOiNmZmZ9Lnl0VGh1bWJuYWlsT3ZlcmxheUJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRUaHVtYm5haWxPdmVybGF5QnV0dG9uVmlld01vZGVsQnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlfS55dFRodW1ibmFpbE92ZXJsYXlCdXR0b25WaWV3TW9kZWxCdXR0b25Cb3R0b21FbmRQb3NpdGlvbntib3R0b206NHB4O3JpZ2h0OjRweH0ueXRUaHVtYm5haWxPdmVybGF5QnV0dG9uVmlld01vZGVsQnV0dG9uVG9wRW5kUG9zaXRpb257dG9wOjhweDtyaWdodDo4cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJ1dHRvblZpZXdNb2RlbEJ1dHRvbkxlZ2FjeUljb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtyaWdodDo4cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt3aWR0aDoxMDAlfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RTbWFsbHttYXJnaW4tYm90dG9tOjJweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0TWVkaXVte21hcmdpbi1ib3R0b206NHB4fS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RMYXJnZXttYXJnaW4tYm90dG9tOjhweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW46MCA4cHggNHB4IDEycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyU2VnbWVudHtmbGV4LXNocmluazowfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RQcm9ncmVzc0JhckFjdGl2ZVNlZ21lbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmO2hlaWdodDo2cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFySW5hY3RpdmVTZWdtZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoycHggMCAwIDJweDttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0OjJweDttYXJnaW4tdG9wOjJweH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJGaXhlZFRvQm90dG9te3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO21hcmdpbjowO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjF9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyRml4ZWRUb0JvdHRvbUFjdGl2ZVNlZ21lbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7aGVpZ2h0OjZweDttYXJnaW4tdG9wOjB9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyRml4ZWRUb0JvdHRvbUluYWN0aXZlU2VnbWVudHtiYWNrZ3JvdW5kLWNvbG9yOiM5MDkwOTA7Ym9yZGVyLXJhZGl1czowfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RQcm9ncmVzc0JhckxlZnRTZWdtZW50e2JvcmRlci1yYWRpdXM6MnB4IDAgMCAycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFByb2dyZXNzQmFyUmlnaHRTZWdtZW50e2JvcmRlci1yYWRpdXM6MCAycHggMnB4IDA7LW1vei1ib3gtZmxleDoxO2ZsZXg6MX0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0UHJvZ3Jlc3NCYXJDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmV9Lnl0VGh1bWJuYWlsT3ZlcmxheVByb2dyZXNzQmFySG9zdFdhdGNoZWRQcm9ncmVzc0JhcntoZWlnaHQ6NHB4O21hcmdpbjowIDRweCA0cHggOHB4O2JhY2tncm91bmQtY29sb3I6IzkwOTA5MDt3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93OmhpZGRlbn0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0V2F0Y2hlZFByb2dyZXNzQmFyU2VnbWVudHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0VXNlTGVnYWN5QmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO21hcmdpbjowO2JvcmRlci1yYWRpdXM6MH0ueXRUaHVtYm5haWxPdmVybGF5UHJvZ3Jlc3NCYXJIb3N0TGFiZWx7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMzAzMDM7cGFkZGluZzowIDRweDtib3R0b206MTZweDtsZWZ0Oi0xMHB4O2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRodW1ibmFpbE92ZXJsYXlQcm9ncmVzc0Jhckhvc3RMYWJlbFRyaWFuZ2xle3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2xlZnQ6LTVweDtoZWlnaHQ6MDt3aWR0aDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkICNmZmZ9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nOjEycHggMTJweCAxNnB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsTGVhZGluZ0NvbnRlbnR7bWFyZ2luLXJpZ2h0OjhweH0ueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxQb3NpdGlvblRvcHt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDAuNiksdHJhbnNwYXJlbnQpfS55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFBvc2l0aW9uQm90dG9te2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsMC42KSl9Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0VGh1bWJuYWlsT3ZlcmxheVRpdGxlVmlld01vZGVsVGl0bGVNYXhMaW5lczJ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxUaXRsZU1heExpbmVzMnstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dFRodW1ibmFpbE92ZXJsYXlUaXRsZVZpZXdNb2RlbFN1YnRpdGxle2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRUaHVtYm5haWxPdmVybGF5VGl0bGVWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFZvdGluZ1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0Vm90aW5nVmlld01vZGVsVm90ZUNvdW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luOjAgOHB4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFZvdGluZ1ZpZXdNb2RlbFZvdGVDb3VudERpc2FibGVke2NvbG9yOiM5MDkwOTB9Lnl0ZEZlZWRGaWx0ZXJDaGlwUmVuYW1lRm9ybVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjE2cHggMjRweH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dExpbmVhckxheW91dFZpZXdNb2RlbFZlcnRpY2Fsey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxIb3Jpem9udGFsey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Db2x1bW57LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Db2x1bW5SZXZlcnNley1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246cmV2ZXJzZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxGbGV4RGlyZWN0aW9uUm93ey1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhEaXJlY3Rpb25Sb3dSZXZlcnNley1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlfS55dExpbmVhckxheW91dFZpZXdNb2RlbEp1c3RpZnlDb250ZW50Q2VudGVyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRGbGV4RW5key1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFNwYWNlQXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRCZXR3ZWVuey1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxKdXN0aWZ5Q29udGVudFNwYWNlRXZlbmx5ey1tb3otYm94LXBhY2s6c3BhY2UtZXZlbmx5O2p1c3RpZnktY29udGVudDpzcGFjZS1ldmVubHl9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsSnVzdGlmeUNvbnRlbnRGbGV4U3RhcnR7LW1vei1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zU3RhcnR7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zRW5key1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxBbGlnbkl0ZW1zQ2VudGVyey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc0Jhc2VsaW5lRmlyc3R7LW1vei1ib3gtYWxpZ246Zmlyc3QgYmFzZWxpbmU7YWxpZ24taXRlbXM6Zmlyc3QgYmFzZWxpbmV9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc0Jhc2VsaW5lTGFzdHstbW96LWJveC1hbGlnbjpsYXN0IGJhc2VsaW5lO2FsaWduLWl0ZW1zOmxhc3QgYmFzZWxpbmV9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsQWxpZ25JdGVtc1N0cmV0Y2h7LW1vei1ib3gtYWxpZ246c3RyZXRjaDthbGlnbi1pdGVtczpzdHJldGNofS55dExpbmVhckxheW91dFZpZXdNb2RlbEZsZXhXcmFwV3JhcHtmbGV4LXdyYXA6d3JhcH0ueXRMaW5lYXJMYXlvdXRWaWV3TW9kZWxGbGV4V3JhcFdyYXBSZXZlcnNle2ZsZXgtd3JhcDp3cmFwLXJldmVyc2V9Lnl0TGluZWFyTGF5b3V0Vmlld01vZGVsVGh1bWJuYWlsSXRlbXt3aWR0aDoxMDAlfS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbFRpdGxle21hcmdpbjowO21heC1oZWlnaHQ6dW5zZXR9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1zaHJpbms6MDtwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsSG9zdERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIb3N0Q2VudGVyZWR7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxCYW5uZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjI0cHh9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsQmFubmVyRnVsbEJsZWVke21hcmdpbi1sZWZ0Oi0yNHB4O21hcmdpbi1yaWdodDotMjRweDttYXJnaW4tdG9wOi0yNHB4fS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbEJhbm5lckltYWdley1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsQ3VzdG9tQXNzZXRDb250YWluZXJ7bWFyZ2luOjJweCAwIDEycHggNnB4fS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbEN1c3RvbUFzc2V0Q29udGFpbmVyQ2VudGVyZWR7bWFyZ2luLWxlZnQ6MH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIZWFkZXJCbG9ja3stbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLXNlbGY6c3RyZXRjaDtjb2xvcjojMDMwMzAzO21hcmdpbi1ib3R0b206MTZweH0ueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxIZWFkZXJCbG9ja0NlbnRlcmVke2FsaWduLXNlbGY6Y2VudGVyfS55dERpYWxvZ0hlYWRlclZpZXdNb2RlbFRleHR7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXREaWFsb2dIZWFkZXJWaWV3TW9kZWxUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0RGlhbG9nSGVhZGVyVmlld01vZGVsVGV4dHttYXgtaGVpZ2h0OjUuNnJlbX0ueXRPdmVybGF5UG9sbFN0aWNrZXJIb3N0ey0tcHJpbWFyeS1zdXJmYWNlOiNmYWNhZGU7LS1yYWlzZWQtc3VyZmFjZTojZGUxZTdlOy0tc2Vjb25kYXJ5LXN1cmZhY2U6I2RlMWU3ZTstLXByaW1hcnktdGV4dDojMTAxY2E3Oy0tc2Vjb25kYXJ5LXRleHQ6IzAwNzstLW9yaWdpbmFsLXdpZHRoOjIyMDstLW9yaWdpbmFsLWhlaWdodDoyMDU7LS1zY2FsZWQtd2lkdGg6MjIwO2ZvbnQtc2l6ZTpjYWxjKHZhcigtLXN0aWNrZXItd2lkdGgpL3ZhcigtLW9yaWdpbmFsLXdpZHRoKSoxOHB4KTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZmxleC1zaHJpbms6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6MTAlO3BhZGRpbmc6MWVtIGNhbGModmFyKC0tb3JpZ2luYWwtaGVpZ2h0KS92YXIoLS1vcmlnaW5hbC13aWR0aCkqMWVtKTtwb2ludGVyLWV2ZW50czpub25lO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnktc3VyZmFjZSk7Y29sb3I6dmFyKC0tcHJpbWFyeS10ZXh0KX0ueXRPdmVybGF5UG9sbFN0aWNrZXJRdWVzdGlvblRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFlbTtsaW5lLWhlaWdodDoxLjIyMjIyMjIyMjJlbTtmb250LXdlaWdodDo3MDB9Lnl0T3ZlcmxheVBvbGxTdGlja2VyUG9sbENob2ljZXt3aWR0aDoxMDAlfS55dE92ZXJsYXlQb2xsU3RpY2tlclZvdGVDb3VudHtmb250LWZhbWlseTpSb2JvdG8sc2Fucy1zZXJpZjtmb250LXNpemU6LjU1NTU1NTU1NTZlbTtsaW5lLWhlaWdodDoxZW07Zm9udC13ZWlnaHQ6NDAwfS55dE92ZXJsYXlQb2xsU3RpY2tlckRlYnVnU3R5bGV7b3BhY2l0eTouNztib3JkZXI6MXB4IHNvbGlkIHJlZH1AcHJvcGVydHkgLS1wb2xsLWNob2ljZS1wZXJjZW50YWdle3N5bnRheDoiPG51bWJlcj4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VIb3N0e2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOmNhbGModmFyKC0tc3RpY2tlci13aWR0aCkvdmFyKC0tb3JpZ2luYWwtd2lkdGgpKjE4cHgpOy0tZGlzcGxheWVkLXBlcmNlbnRhZ2U6MH0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VVbnN0eWxlUmFkaW9CdXR0b257LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO29wYWNpdHk6MDttYXJnaW46MDtwb2ludGVyLWV2ZW50czpub25lfS55dE92ZXJsYXlQb2xsU3RpY2tlckNob2ljZVBvbGxDaG9pY2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO2JvcmRlcjouMTExMTExMTExMWVtIHNvbGlkIHZhcigtLXJhaXNlZC1zdXJmYWNlKTtwYWRkaW5nOjAgLjMzMzMzMzMzMzNlbTtoZWlnaHQ6M2VtO2JhY2tncm91bmQtY29sb3I6dmFyKC0tcmFpc2VkLXN1cmZhY2UpO2JvcmRlci1yYWRpdXM6LjVlbTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LXRleHQpO2ZvbnQtZmFtaWx5OlJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZTouNzc3Nzc3Nzc3OGVtO2ZvbnQtd2VpZ2h0OjUwMDtwb2ludGVyLWV2ZW50czphdXRvO3RyYW5zaXRpb246LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlIC4yNXMgZWFzZS1pbi1vdXR9Lnl0T3ZlcmxheVBvbGxTdGlja2VyQ2hvaWNlU2hvd1ZvdGVQZXJjZW50YWdle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHZhcigtLXJhaXNlZC1zdXJmYWNlKSBjYWxjKHZhcigtLXBvbGwtY2hvaWNlLXBlcmNlbnRhZ2UsIDEwMCkqMSUpLHZhcigtLXByaW1hcnktc3VyZmFjZSkgY2FsYyh2YXIoLS1wb2xsLWNob2ljZS1wZXJjZW50YWdlLCAxMDApKjElKSk7LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlOnZhcigtLWRpc3BsYXllZC1wZXJjZW50YWdlKX0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VQb2xsQ2hvaWNlU2VsZWN0ZWR7LS1wb2xsLWNob2ljZS1wZXJjZW50YWdlOnZhcigtLWRpc3BsYXllZC1wZXJjZW50YWdlKTtib3JkZXI6LjExMTExMTExMTFlbSBzb2xpZCB2YXIoLS1wcmltYXJ5LXRleHQpfS55dE92ZXJsYXlQb2xsU3RpY2tlckNob2ljZVBvbGxDaG9pY2VUZXh0ey1tb3otYm94LWZsZXg6NDtmbGV4OjQ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDozZW07d2hpdGUtc3BhY2U6bm9ybWFsO292ZXJmbG93OmhpZGRlbn0ueXRPdmVybGF5UG9sbFN0aWNrZXJDaG9pY2VWb3RlUGVyY2VudGFnZXstbW96LWJveC1mbGV4OjE7ZmxleDoxO3RleHQtYWxpZ246cmlnaHR9Lnl0Y2lDb252ZXJzYXRpb25WaWRlb0lkZWFDYXJkVmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstLWljb24tY29sb3I6Y3VycmVudGNvbG9yfS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbENhcmR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTZweH0ueXRjaUNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nLXRvcDoyNHB4fS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbElkZWFBdHRyaWJ1dGlvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjA2MDYwO3BhZGRpbmctYm90dG9tOjMycHg7Zm9udC13ZWlnaHQ6NzAwfS55dGNpQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbElkZWFOYW1le2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmctYm90dG9tOjhweH0ueXRjaUNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWxJZGVhU3VtbWFyeXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjA2MDYwO2ZvbnQtc2l6ZToxLjNyZW19Lnl0SW5zdGFsbG1lbnRBZ3JlZW1lbnRzVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoxMHB4IDEycHh9Lnl0SW5zdGFsbG1lbnRBZ3JlZW1lbnRzVmlld01vZGVsQWdyZWVtZW50Um93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTBweDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEluc3RhbGxtZW50QWdyZWVtZW50c1ZpZXdNb2RlbEFncmVlbWVudExhYmVse2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtYmFzaXM6MTAwJX0ueXRJbnN0YWxsbWVudEFncmVlbWVudHNWaWV3TW9kZWxBZ3JlZW1lbnRCdXR0b257LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRUaGVtZWRJbWFnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjojMDMwMzAzfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tYm90dG9tOjJweDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxWaXN1YWxseUhpZGRlbkFjY2Vzc2liaWxpdHl7Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7d2hpdGUtc3BhY2U6bm93cmFwfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsU3VidGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsSW5mb1RleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi10b3A6LTRweH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbEZlYXR1cmVEZXNjcmlwdGlvbnttYXgtd2lkdGg6bm9uZTt0ZXh0LWFsaWduOmxlZnQ7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO21hcmdpbi1sZWZ0OjhweH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbENvbnRlbnRWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlQ2VsbEljb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtjb2xvcjojMDMwMzAzfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsQ29udGVudFZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVDZWxsTm90ZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS42cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVye2hlaWdodDoxMDAlOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXJnaW46YXV0b30ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVySGVhZGVyQ2VsbHstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpzdGFydDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFVwc2VsbE9mZmVyVGFibGVDZWxsVmlld01vZGVsQ2VsbFdyYXBwZXJDb250ZW50Q2VsbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRVcHNlbGxPZmZlclRhYmxlQ2VsbFZpZXdNb2RlbENlbGxXcmFwcGVySGVhZGVyUm93Q2VsbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MjEwcHggMWZyO2dyaWQtZ2FwOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxIb3N0Rmlyc3RSb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoyMTBweCAxZnI7Z3JpZC1nYXA6MH1AbWVkaWEgKG1heC13aWR0aDo1NzBweCl7Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbEhvc3RGaXJzdFJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59fS55dFVwc2VsbE9mZmVyVGFibGVSb3dWaWV3TW9kZWxVcHNlbGxPZmZlclRhYmxlUm93SGVhZGVyQ2VsbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6c3RhcnQ7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0hlYWRlckNlbGx7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6bm9uZX19Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVGaXJzdFJvd0NlbGx7cGFkZGluZy10b3A6NHB4O3BhZGRpbmctYm90dG9tOjRweH0ueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0NvbnRlbnRDZWxse2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtwYWRkaW5nLXRvcDo4cHg7cGFkZGluZy1ib3R0b206OHB4fUBtZWRpYSAobWF4LXdpZHRoOjU3MHB4KXsueXRVcHNlbGxPZmZlclRhYmxlUm93Vmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd0NvbnRlbnRDZWxse2JvcmRlci10b3A6bm9uZX19Lnl0VXBzZWxsT2ZmZXJUYWJsZVJvd1ZpZXdNb2RlbFVwc2VsbE9mZmVyVGFibGVSb3dDb250ZW50Q2VsbHN7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsbWlubWF4KDk1cHgsMWZyKSk7Z3JpZC1nYXA6MH0ueXRVcHNlbGxPZmZlclRhYmxlVmlld01vZGVsSG9zdHt0ZXh0LWFsaWduOmNlbnRlcn0ueXRVcHNlbGxPZmZlclRhYmxlVmlld01vZGVsVXBzZWxsT2ZmZXJUYWJsZVJvd3N7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjUxMnB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjI0cHg7bWF4LXdpZHRoOjM3NXB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3ROb1BhZGRpbmd7cGFkZGluZzowO3BhZGRpbmctdG9wOjI0cHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFdpZGV7bWF4LXdpZHRoOjUxMnB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMb2dve3dpZHRoOjEyNHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMb2dve2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzo2cHg7Ym9yZGVyLXJhZGl1czo0cHh9fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxUaXRsZXtwYWRkaW5nLXRvcDoyNHB4O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsVGl0bGU6Zm9jdXMsLnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbFRpdGxlOmZvY3VzLXZpc2libGV7b3V0bGluZTpub25lfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxTdWJ0aXRsZVNlY3Rpb257cGFkZGluZzowfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxTdWJ0aXRsZVNlY3Rpb25TdWJ0aXRsZXtwYWRkaW5nLXRvcDo4cHg7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsU3VidGl0bGVTZWN0aW9uU3VidGl0bGVTZWNvbmRhcnl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxCZW5lZml0SW5mb1NlY3Rpb257cGFkZGluZy10b3A6NHB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxCZW5lZml0SW5mb1NlY3Rpb25JY29ue2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbEJlbmVmaXRJbmZvU2VjdGlvbkJlbmVmaXRJbmZve2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctdG9wOjEycHg7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRVcHNlbGxWaWV3TW9kZWxIb3N0VXBzZWxsT2ZmZXJUYWJsZVNlY3Rpb257cGFkZGluZy10b3A6NHB4fS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMZWdhbEluZm9TZWN0aW9ue3BhZGRpbmctdG9wOjEycHh9Lnl0VXBzZWxsVmlld01vZGVsSG9zdFVwc2VsbExlZ2FsSW5mb1NlY3Rpb25MZWdhbEluZm97cGFkZGluZy10b3A6NHB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFVwc2VsbFZpZXdNb2RlbEhvc3RVcHNlbGxMZWdhbEluZm9TZWN0aW9uTGVnYWxJbmZvU21hbGxlcntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNnJlbTtmb250LXdlaWdodDo0MDB9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsSG9zdHtwYWRkaW5nOjI0cHggMjRweCA4cHg7d2lkdGg6YXV0bztkaXNwbGF5OmJsb2NrfS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbFNjb3JlUmFkaWFse2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxNDhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTY29yZVJhZGlhbDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjtib3JkZXItcmFkaXVzOjMxcHg7bWFzay1pbWFnZTpyYWRpYWwtZ3JhZGllbnQocmdiKDAsMCwwKSAyMCUsdHJhbnNwYXJlbnQgNjAlKTtmaWx0ZXI6Ymx1cigycHgpO2JhY2tncm91bmQ6cmVwZWF0aW5nLWNvbmljLWdyYWRpZW50KGZyb20gMGRlZywjZjdkN2M1IDBkZWcgMTBkZWcsdHJhbnNwYXJlbnQgMTBkZWcgMjBkZWcpfS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbERhcmtTY29yZVJhZGlhbDpiZWZvcmV7YmFja2dyb3VuZDpyZXBlYXRpbmctY29uaWMtZ3JhZGllbnQoZnJvbSAwZGVnLCM0MjRmNWQgMGRlZyAxMGRlZyx0cmFuc3BhcmVudCAxMGRlZyAyMGRlZyl9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMzt0ZXh0LWFsaWduOmNlbnRlcjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjUuNnJlbX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO3BhZGRpbmc6OHB4IDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTdWJ0aXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dE1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbFN1YnRpdGxle21heC1oZWlnaHQ6MnJlbX0ueXRNaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWxTY29yZXtjb2xvcjojMDMwMzAzO21pbi13aWR0aDo4MnB4O3BhZGRpbmc6MCAxNnB4O2hlaWdodDo2MnB4O2JvcmRlci1yYWRpdXM6MzFweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpncmlkOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6My4ycmVtO2xpbmUtaGVpZ2h0OjQuNHJlbTtmb250LXdlaWdodDo5MDB9Lnl0TWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsUHJvbXB0e2NvbG9yOiM2MDYwNjA7cGFkZGluZy10b3A6OHB4O3RleHQtd3JhcDp3cmFwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUcnVuY2F0ZWRUZXh0SG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmF1dG87Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUcnVuY2F0ZWRUZXh0VHJ1bmNhdGVkVGV4dENvbnRlbnR7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3ctd3JhcDphbnl3aGVyZX0ueXRUcnVuY2F0ZWRUZXh0VHJ1bmNhdGVkVGV4dENvbnRlbnQueXRUcnVuY2F0ZWRUZXh0SGlkZGVuVGV4dENvbnRlbnR7dmlzaWJpbGl0eTpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0VHJ1bmNhdGVkVGV4dElubGluZUJ1dHRvbnt2aXNpYmlsaXR5OmhpZGRlbjtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRBYnNvbHV0ZUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO2JvcmRlcjpub25lO21hcmdpbjowO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0VHJ1bmNhdGVkVGV4dEJvdHRvbUJ1dHRvbntmbG9hdDpyaWdodDtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRPdmVybGF5e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRUcnVuY2F0ZWRUZXh0T3ZlcmxheSAueXRUcnVuY2F0ZWRUZXh0QWJzb2x1dGVCdXR0b24sLnl0VHJ1bmNhdGVkVGV4dE92ZXJsYXkgLnl0VHJ1bmNhdGVkVGV4dEJvdHRvbUJ1dHRvbiwueXRUcnVuY2F0ZWRUZXh0T3ZlcmxheSAueXRUcnVuY2F0ZWRUZXh0SW5saW5lQnV0dG9ue2NvbG9yOiNmZmZ9Lnl0VHJ1bmNhdGVkVGV4dEhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0VHJ1bmNhdGVkVGV4dE1lZGl1bVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFRydW5jYXRlZFRleHRNZWRpdW1UZXh0IC55dFRydW5jYXRlZFRleHRBYnNvbHV0ZUJ1dHRvbiwueXRUcnVuY2F0ZWRUZXh0TWVkaXVtVGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRNZWRpdW1UZXh0IC55dFRydW5jYXRlZFRleHRJbmxpbmVCdXR0b257Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dFRydW5jYXRlZFRleHRMYXJnZVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9Lnl0VHJ1bmNhdGVkVGV4dExhcmdlVGV4dCAueXRUcnVuY2F0ZWRUZXh0QWJzb2x1dGVCdXR0b24sLnl0VHJ1bmNhdGVkVGV4dExhcmdlVGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRMYXJnZVRleHQgLnl0VHJ1bmNhdGVkVGV4dElubGluZUJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRUcnVuY2F0ZWRUZXh0UHJpbWFyeVRleHR7Y29sb3I6IzAzMDMwM30ueXRUcnVuY2F0ZWRUZXh0UHJpbWFyeVRleHQgLnl0VHJ1bmNhdGVkVGV4dEFic29sdXRlQnV0dG9uLC55dFRydW5jYXRlZFRleHRQcmltYXJ5VGV4dCAueXRUcnVuY2F0ZWRUZXh0Qm90dG9tQnV0dG9uLC55dFRydW5jYXRlZFRleHRQcmltYXJ5VGV4dCAueXRUcnVuY2F0ZWRUZXh0SW5saW5lQnV0dG9ue2NvbG9yOiM2MDYwNjB9Lnl0RGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dERlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbENsaWNrYWJsZXtjdXJzb3I6cG9pbnRlcn0ueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmF1dG87Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbk1lZGl1bVRleHR7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dERlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbElzT3ZlcmxheSAueXREZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrO3doaXRlLXNwYWNlOnByZS1saW5lO3dvcmQtYnJlYWs6YnJlYWstd29yZH0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxIZWFkbGluZXtjb2xvcjojMDMwMzAzO21hcmdpbi1ib3R0b206MTJweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsSGVhZGxpbmV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxIZWFkbGluZXttYXgtaGVpZ2h0OjUuNnJlbX0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhIZWFkbGluZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhIZWFkbGluZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaEhlYWRsaW5le21heC1oZWlnaHQ6NS4ycmVtO2NvbG9yOiMwMzAzMDM7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0QmFzaWNDb250ZW50Vmlld01vZGVsUGFyYWdyYXBoOm5vdCg6bGFzdC1jaGlsZCl7bWFyZ2luLWJvdHRvbToxMnB4fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaENvbnRlbnR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhBc3NldHtkaXNwbGF5OmJsb2NrO21hcmdpbi1yaWdodDoxMnB4fS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaFRleHR7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRCYXNpY0NvbnRlbnRWaWV3TW9kZWxQYXJhZ3JhcGhUZXh0UHJpbWFyeXtjb2xvcjojMDMwMzAzfS55dEJhc2ljQ29udGVudFZpZXdNb2RlbFBhcmFncmFwaFRleHRCb2xke2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxIb3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtib3R0b206MDtyaWdodDowO292ZXJmbG93OmhpZGRlbn0ueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxCYWNrZ3JvdW5kSW1hZ2V7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MjAwJTttYXgtd2lkdGg6MjAwJTtoZWlnaHQ6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjUlKSB0cmFuc2xhdGVZKC0yNSUpO29wYWNpdHk6Ljc7ZmlsdGVyOmJsdXIoMzBweCl9Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsQmFja2dyb3VuZEdyYWRpZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVDb250YWluZXJ7aGVpZ2h0OjEwMCV9QG1lZGlhIChtaW4td2lkdGg6ODQwcHgpey55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVJbWFnZXtvcGFjaXR5Oi44O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRDaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWxGYWRlVG9UaGVtZUltYWdle2Rpc3BsYXk6bm9uZX19Lnl0Q2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsRmFkZVRvVGhlbWVJbWFnZUNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTtyaWdodDphdXRvO2hlaWdodDoxMDAlO21pbi13aWR0aDo1MCV9QG1lZGlhIChtaW4td2lkdGg6ODQwcHgpey55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lSW1hZ2VDb250YWluZXJ7cmlnaHQ6LTgwcHh9fS55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lSW1hZ2VHcmFkdWFsQmx1cntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czpub25lfS55dENpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbEZhZGVUb1RoZW1lR3JhZGllbnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjB9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlfS55dENvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWxIb3N0SGFzU3RhY2tze2JvcmRlci10b3A6MXB4IHNvbGlkICNmZmY7bWFyZ2luLXRvcDotMXB4fS55dENvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWxTbGlkZXNob3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjB9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd0hvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDb2xsZWN0aW9uVGh1bWJuYWlsU2xpZGVzaG93U2xpZGVzaG93VGh1bWJuYWlse3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjhzIGVhc2V9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd1NsaWRlc2hvd1RodW1ibmFpbEZpcnN0U2xpZGV7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q29sbGVjdGlvblRodW1ibmFpbFNsaWRlc2hvd1NsaWRlc2hvd1RodW1ibmFpbFNob3dTbGlkZXtvcGFjaXR5OjF9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxIb3N0IHBhdGgub2ZmbGluZS1kb3dubG9hZGluZy1wcm9ncmVzc3tzdHJva2U6IzNlYTZmZn0ueXREb3dubG9hZEJ1dHRvblZpZXdNb2RlbEhvc3QgcGF0aC5vZmZsaW5lLWRvd25sb2FkaW5nLWJhY2tncm91bmR7c3Ryb2tlOiMwNjVmZDR9Lnl0RG93bmxvYWRCdXR0b25WaWV3TW9kZWxJc0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0Rm9ybUZvb3RlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxIb3N0e3dpZHRoOjEwMCV9Lnl0UmFkaW9CdXR0b25JdGVtVmlld01vZGVsTGFiZWx7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dFJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbERpc2FibGVkIC55dFJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbExhYmVse2NvbG9yOiM2MDYwNjB9Lnl0UmFkaW9CdXR0b25JdGVtVmlld01vZGVsU3ViVGV4dCwueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7ZGlzcGxheTpibG9jaztmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxTdWJUaXRsZXttYXJnaW4tYm90dG9tOjhweH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxUcmFpbGluZ0FjY2Vzc29yeXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWxUcmFpbGluZ0NvbnRhaW5lcnstbW96LW1hcmdpbi1zdGFydDo4cHg7bWFyZ2luLWlubGluZS1zdGFydDo4cHg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRTZWxlY3Rpb25MaXN0SXRlbUZvcm1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U2VsZWN0aW9uTGlzdEl0ZW1Gb3JtVmlld01vZGVsUGFyYWdyYXBoe21hcmdpbi1ib3R0b206MTJweDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0U3VibWl0QnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dEF0dHJpYnV0aW9uVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi13aWR0aDowfS55dEF0dHJpYnV0aW9uVmlld01vZGVsQXR0cmlidXRpb25UZXh0e2JhY2tncm91bmQtY29sb3I6dW5zZXQ7Ym9yZGVyLXN0eWxlOnVuc2V0O2ZsZXgtc2hyaW5rOjE7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxTdWZmaXh7bWFyZ2luLWxlZnQ6NHB4O2JhY2tncm91bmQtY29sb3I6dW5zZXQ7Ym9yZGVyLXN0eWxlOnVuc2V0O2ZsZXgtc2hyaW5rOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LWhlaWdodDoxLjhyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvbkltYWdle21hcmdpbi1yaWdodDo4cHg7LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZX0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbEJhZGdle21hcmdpbi1yaWdodDo0cHg7LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZX0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbFRhcHBhYmxle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmU7cGFkZGluZzowO2N1cnNvcjpwb2ludGVyO2NvbG9yOmluaGVyaXQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttaW4td2lkdGg6MH0ueXRBdHRyaWJ1dGlvblZpZXdNb2RlbE1lZGl1bVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvblRleHQsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxNZWRpdW1UZXh0IC55dEF0dHJpYnV0aW9uVmlld01vZGVsQmFkZ2UsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxNZWRpdW1UZXh0IC55dEF0dHJpYnV0aW9uVmlld01vZGVsU3VmZml4e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtaGVpZ2h0OjJyZW19Lnl0QXR0cmlidXRpb25WaWV3TW9kZWxIZWF2eVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxBdHRyaWJ1dGlvblRleHQsLnl0QXR0cmlidXRpb25WaWV3TW9kZWxIZWF2eVRleHQgLnl0QXR0cmlidXRpb25WaWV3TW9kZWxCYWRnZSwueXRBdHRyaWJ1dGlvblZpZXdNb2RlbEhlYXZ5VGV4dCAueXRBdHRyaWJ1dGlvblZpZXdNb2RlbFN1ZmZpeHtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7bWluLXdpZHRoOjA7LS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yOiMwMzAzMDN9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3N0Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodHtwb3NpdGlvbjpzdGF0aWN9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIZWFkaW5nUmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO21heC1oZWlnaHQ6dW5zZXR9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4td2lkdGg6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcnttYXJnaW4tcmlnaHQ6MTJweDtkaXNwbGF5Om5vbmV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxVcGRhdGVkQXZhdGFyTWFyZ2lue21hcmdpbi1yaWdodDo4cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXt0ZXh0LWRlY29yYXRpb246bm9uZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7Y29sb3I6IzAzMDMwM30ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhhc01lbnVCdXR0b24gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtwYWRkaW5nLXJpZ2h0OjI0cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YXtjb2xvcjojNjA2MDYwfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTZweDtyaWdodDotMTBweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF0dHJpYnV0aW9ue21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjB9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcntkaXNwbGF5OmJsb2NrfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbi55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQm90dG9tUmlnaHR7dG9wOnVuc2V0O3JpZ2h0OjA7Ym90dG9tOjA7dHJhbnNmb3JtOm5vbmU7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b24ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEJvdHRvbVJpZ2h0e3RyYW5zaXRpb246b3BhY2l0eSAuMnN9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbi55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmlzaWJsZXtvcGFjaXR5OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZW51QnV0dG9uOmZvY3VzLXdpdGhpbntvcGFjaXR5OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDYXJke21hcmdpbjo0cHggMH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFZlcnRpY2FsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZHstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7cGFkZGluZy1yaWdodDowfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGV4dENvbnRhaW5lcnstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQXR0cmlidXRpb257bWFyZ2luLXRvcDoxMnB4fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVmVydGljYWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENhcmR7bWFyZ2luOjAgOHB4IDhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE92ZXJsYXl7LS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yOiNmZmZ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxPdmVybGF5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWV0YWRhdGEsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxPdmVybGF5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZn0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXl7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENhcmR7bWFyZ2luOjRweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxBdmF0YXJ7bWFyZ2luLXJpZ2h0OjhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YSwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtwYWRkaW5nLXJpZ2h0OjhweH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRodW1ibmFpbE92ZXJsYXkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZW51QnV0dG9ue3Bvc2l0aW9uOnVuc2V0fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsSG9yaXpvbnRhbCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcntkaXNwbGF5Om5vbmV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRleHRDb250YWluZXJ7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nLXJpZ2h0OjI4cHh9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxIb3Jpem9udGFsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle3BhZGRpbmctcmlnaHQ6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEhvcml6b250YWwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbnt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUeXBvZ3JhcGh5QnVtcCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjUuMnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NS4ycmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsUmljaEdyaWRMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczEgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxTdGFuZGFyZC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczEgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuMnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMyAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Ni42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsU3RhbmRhcmQueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxlTWF4TGluZXMzIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjM7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFN0YW5kYXJkLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZU1heExpbmVzMyAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6Ni42cmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDb21wYWN0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjRyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDb21wYWN0Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUeXBvZ3JhcGh5QnVtcCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVHlwb2dyYXBoeUJ1bXAgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsUmljaEdyaWRMZWdhY3lUeXBvZ3JhcGh5IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENvbXBhY3QueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFJpY2hHcmlkTGVnYWN5VHlwb2dyYXBoeSAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NC40cmVtfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo2cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0Om5vbmV9fS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ29tcGFjdC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGVNYXhMaW5lczMgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjZyZW19Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaW55IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDozLjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaW55IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpbnkgLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjMuNnJlbX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkQ29sdW1uey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZENvbHVtbiAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbEF2YXRhcnttYXJnaW4tcmlnaHQ6MDtkaXNwbGF5OmJsb2NrfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ2VudGVyZWRDb2x1bW4gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNZXRhZGF0YSwueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbENlbnRlcmVkQ29sdW1uIC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsVGl0bGV7cGFkZGluZy1yaWdodDowfS55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsQ2VudGVyZWRDb2x1bW4gLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxUZXh0Q29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxDZW50ZXJlZENvbHVtbiAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRleHRDb250YWluZXIsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbFRpdGxle3BhZGRpbmctcmlnaHQ6MH0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1vdmVMb2NrdXBPdmVyZmxvd01lbnVUb0JvdHRvbVJpZ2h0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbnt6LWluZGV4OjE7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YWZ0ZXIsLnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LTE1JTtib3JkZXItcmFkaXVzOjUwJX0ueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1vdmVMb2NrdXBPdmVyZmxvd01lbnVUb0JvdHRvbVJpZ2h0IC55dExvY2t1cE1ldGFkYXRhVmlld01vZGVsTWVudUJ1dHRvbjpiZWZvcmV7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgNjAlLHRyYW5zcGFyZW50IDEwMCUpO3otaW5kZXg6LTJ9Lnl0TG9ja3VwTWV0YWRhdGFWaWV3TW9kZWxNb3ZlTG9ja3VwT3ZlcmZsb3dNZW51VG9Cb3R0b21SaWdodCAueXRMb2NrdXBNZXRhZGF0YVZpZXdNb2RlbE1lbnVCdXR0b246YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHZhcigtLXl0LWxvY2t1cC1tZXRhZGF0YS10aGVtZWQtbWVudS1idXR0b24tYWRkaXRpdmUtYmFja2dyb3VuZCx0cmFuc3BhcmVudCkgNjAlLHRyYW5zcGFyZW50IDEwMCUpO3otaW5kZXg6LTF9Lnl0Rm9ybVBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dERpYWxvZ0ltYWdlQ29udGVudFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dERpYWxvZ0ltYWdlQ29udGVudFZpZXdNb2RlbEltYWdle21hcmdpbi1pbmxpbmU6YXV0bzstbW96LWJveC1mbGV4OjA7ZmxleC1ncm93OjA7ZmxleC1zaHJpbms6MX0ueXREaWFsb2dJbWFnZUNvbnRlbnRWaWV3TW9kZWxEZXNjcmlwdGlvbnttYXJnaW4tdG9wOjE2cHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC13cmFwOmJhbGFuY2U7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dEFuaW1hdGVkVGh1bWJuYWlsT3ZlcmxheVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtyaWdodDowO2xlZnQ6MH0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxIb3N0QmFja2dyb3VuZHstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZsZXgtYmFzaXM6MC4wMDAwMDAwMDFweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7aGVpZ2h0OjY4cHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQscmdiYSgwLDAsMCwwLjYpKX0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsQmFkZ2VDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0VGh1bWJuYWlsQm90dG9tT3ZlcmxheVZpZXdNb2RlbEJhZGdlQ29udGFpbmVyU21hbGx7cGFkZGluZzowIDJweCAycHggMH0ueXRUaHVtYm5haWxCb3R0b21PdmVybGF5Vmlld01vZGVsQmFkZ2VDb250YWluZXJTbWFsbExlZ2FjeXtwYWRkaW5nOjAgMnB4IDRweCAwfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZUNvbnRhaW5lck1lZGl1bXtwYWRkaW5nOjAgNHB4IDRweCAwfS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZUNvbnRhaW5lckxhcmdle3BhZGRpbmc6MCA4cHggOHB4IDB9Lnl0VGh1bWJuYWlsQm90dG9tT3ZlcmxheVZpZXdNb2RlbEJhZGdlQ29udGFpbmVyQ2xpcHttYXJnaW4tcmlnaHQ6NHB4fS55dFRodW1ibmFpbEJvdHRvbU92ZXJsYXlWaWV3TW9kZWxCYWRnZXttYXJnaW4tbGVmdDo0cHh9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsSG9zdHtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtjdXJzb3I6cG9pbnRlcn0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxIb3N0OmZvY3VzLC55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3Q6Zm9jdXMtd2l0aGluLC55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3Q6aG92ZXJ7b3BhY2l0eToxfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbEhvc3RGb3JjZUhvdmVye29wYWNpdHk6MTt0cmFuc2l0aW9uOm5vbmV9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsU2NyaW17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTAwJX0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxTdHlsZUNvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVZpZXdNb2RlbFN0eWxlQnV0dG9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxNnB4O3JpZ2h0OjE2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweDtwYWRkaW5nOjAgMTZweH0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlWaWV3TW9kZWxUZXh0e21hcmdpbjo0cHg7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5Vmlld01vZGVsSWNvbnttYXJnaW46NHB4O2NvbG9yOiNmZmY7ZmlsbDojZmZmO2hlaWdodDoyNHB4fS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RvcDowO3JpZ2h0OjA7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowIDAgNHB4IDRweDtwb2ludGVyLWV2ZW50czpub25lfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxIaWRkZW57dmlzaWJpbGl0eTpoaWRkZW59Lnl0VGh1bWJuYWlsSG92ZXJPdmVybGF5VG9nZ2xlQWN0aW9uc1ZpZXdNb2RlbEhpZGRlbkdhdGVke29wYWNpdHk6MDtwb2ludGVyLWV2ZW50czpub25lfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxCdXR0b257cGFkZGluZzo0cHggNHB4IDAgMDtwb2ludGVyLWV2ZW50czphdXRvfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxPdmVybGF5QmFja2dyb3VuZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlUb2dnbGVBY3Rpb25zVmlld01vZGVsVG9wRW5kVmVydGljYWx7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmZsZXgtZW5kfS55dFRodW1ibmFpbEhvdmVyT3ZlcmxheVRvZ2dsZUFjdGlvbnNWaWV3TW9kZWxCb3R0b21FbmRWZXJ0aWNhbHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kOy1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZH0ueXRUaHVtYm5haWxIb3Zlck92ZXJsYXlUb2dnbGVBY3Rpb25zVmlld01vZGVsVG9wRW5kSG9yaXpvbnRhbHstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3Bvc2l0aW9uOmFic29sdXRlfS55dFRodW1ibmFpbE92ZXJsYXlCYWRnZVZpZXdNb2RlbFNtYWxse21hcmdpbjoycHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsTWVkaXVte21hcmdpbjo0cHh9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsTGFyZ2V7bWFyZ2luOjhweH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxUb3BTdGFydHt0b3A6MDtsZWZ0OjB9Lnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsVG9wU3RhcnQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2V7bWFyZ2luLXJpZ2h0OjRweH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmR7Ym90dG9tOjA7cmlnaHQ6MH0ueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2V7bWFyZ2luLWxlZnQ6NHB4fS55dFRodW1ibmFpbE92ZXJsYXlCYWRnZVZpZXdNb2RlbENsaXAueXRUaHVtYm5haWxPdmVybGF5QmFkZ2VWaWV3TW9kZWxCb3R0b21FbmQgLnl0VGh1bWJuYWlsT3ZlcmxheUJhZGdlVmlld01vZGVsQmFkZ2U6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6NHB4fS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsVGV4dHttYXJnaW46NHB4O2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFRodW1ibmFpbE92ZXJsYXlGdWxsVmlld01vZGVsSWNvbnttYXJnaW46NHB4O2NvbG9yOiNmZmY7ZmlsbDojZmZmO2hlaWdodDoyNHB4fS55dENvbnRlbnRQcmV2aWV3SW1hZ2VWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDb250ZW50UHJldmlld0ltYWdlVmlld01vZGVsQ2lyY2xlSW1hZ2V7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0Q29udGVudFByZXZpZXdJbWFnZVZpZXdNb2RlbEV4dHJhU21hbGxSb3VuZGVkSW1hZ2V7Ym9yZGVyLXJhZGl1czoycHh9Lnl0Q29udGVudFByZXZpZXdJbWFnZVZpZXdNb2RlbFNtYWxsUm91bmRlZEltYWdle2JvcmRlci1yYWRpdXM6NHB4fS55dENvbnRlbnRQcmV2aWV3SW1hZ2VWaWV3TW9kZWxMYXJnZVJvdW5kZWRJbWFnZXtib3JkZXItcmFkaXVzOjhweH0ueXRDb250ZW50UHJldmlld0ltYWdlVmlld01vZGVsVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y3Vyc29yOnBvaW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxIZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0SW5saW5lRXhwYW5kZXJWaWV3TW9kZWxCdXR0b257dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJ1dHRvbkV4cGFuZGVke3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJ1dHRvbkNvbnRyb2xsZWR7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJvZHl7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtcm93czowZnI7dHJhbnNpdGlvbjpncmlkLXRlbXBsYXRlLXJvd3MgLjM1cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRJbmxpbmVFeHBhbmRlclZpZXdNb2RlbEJvZHlFeHBhbmRlZHtncmlkLXRlbXBsYXRlLXJvd3M6MWZyfS55dElubGluZUV4cGFuZGVyVmlld01vZGVsQm9keUNvbnRlbnR7b3ZlcmZsb3c6aGlkZGVufS55dFNoZWxmSGVhZGVyTGF5b3V0SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzo4cHggMTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0U2hlbGZIZWFkZXJMYXlvdXRPcHRpb25hbE1lZGl1bUxheW91dFBhZGRpbmd7cGFkZGluZzowIDAgMTZweCA4cHh9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRPcHRpb25hbE1lZGl1bUxheW91dFBhZGRpbmd7cGFkZGluZzo4cHggMTJweH19Lnl0U2hlbGZIZWFkZXJMYXlvdXRIZWFkZXJSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dFNoZWxmSGVhZGVyTGF5b3V0UmVzcG9uc2l2ZXttaW4taGVpZ2h0OjU2cHh9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRSZXNwb25zaXZle21pbi1oZWlnaHQ6NDhweH19Lnl0U2hlbGZIZWFkZXJMYXlvdXROYXJyb3d7bWluLWhlaWdodDo0OHB4fS55dFNoZWxmSGVhZGVyTGF5b3V0RGlzYWJsZUhvcml6b250YWxQYWRkaW5ne3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0ueXRTaGVsZkhlYWRlckxheW91dERpc2FibGVWZXJ0aWNhbFBhZGRpbmd7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowfS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ljb257bWFyZ2luLXJpZ2h0OjI0cHg7Y29sb3I6IzAzMDMwMztoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ltYWdle21hcmdpbi1yaWdodDoxMnB4O21heC1oZWlnaHQ6MzZweDttYXgtd2lkdGg6MzZweDtjb2xvcjojMDMwMzAzfS55dFNoZWxmSGVhZGVyTGF5b3V0TGVhZGluZ0ltYWdlQ2lyY3VsYXJJbWFnZXtib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lnl0U2hlbGZIZWFkZXJMYXlvdXRMYWJlbENvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1mbGV4OjE7ZmxleDoxOy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRTaGVsZkhlYWRlckxheW91dFRpdGxlUm93e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmJhc2VsaW5lO2FsaWduLWl0ZW1zOmJhc2VsaW5lfS55dFNoZWxmSGVhZGVyTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMztwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NS42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0VGl0bGVUeXBvZ3JhcGh5ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX19Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7bWF4LWhlaWdodDo1LjZyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZVR5cG9ncmFwaHl7bWF4LWhlaWdodDo1LjJyZW19fS55dFNoZWxmSGVhZGVyTGF5b3V0U21hbGxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTaGVsZkhlYWRlckxheW91dFNtYWxsVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTaGVsZkhlYWRlckxheW91dFNtYWxsVGl0bGV7bWF4LWhlaWdodDo1LjJyZW19Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7bWFyZ2luLWxlZnQ6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0RGV0YWlsey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7bWF4LWhlaWdodDoyLjJyZW19QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0U2hlbGZIZWFkZXJMYXlvdXREZXRhaWx7ZGlzcGxheTpub25lfX0ueXRTaGVsZkhlYWRlckxheW91dFN1YmxhYmVse2NvbG9yOiM2MDYwNjA7cGFkZGluZy10b3A6MnB4fS55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWxUeXBvZ3JhcGh5e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6My42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWxUeXBvZ3JhcGh5ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hlbGZIZWFkZXJMYXlvdXRTdWJsYWJlbFR5cG9ncmFwaHl7bWF4LWhlaWdodDozLjZyZW19Lnl0U2hlbGZIZWFkZXJMYXlvdXRTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7cGFkZGluZy1ib3R0b206MnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6My42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNoZWxmSGVhZGVyTGF5b3V0U3VwZXJsYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dFNoZWxmSGVhZGVyTGF5b3V0U3VwZXJsYWJlbHttYXgtaGVpZ2h0OjMuNnJlbX0ueXRTaGVsZkhlYWRlckxheW91dFRyYWlsaW5nQWN0aW9uc3ttYXJnaW4tbGVmdDoxMnB4fS55dFNoZWxmSGVhZGVyTGF5b3V0SXNPdmVybGF5e2NvbG9yOmluaGVyaXR9Lnl0U2hlbGZIZWFkZXJMYXlvdXRJc092ZXJsYXkgLnl0U2hlbGZIZWFkZXJMYXlvdXRUaXRsZXtjb2xvcjojZmZmfS55dFNoZWxmSGVhZGVyTGF5b3V0SXNPdmVybGF5IC55dFNoZWxmSGVhZGVyTGF5b3V0U3VibGFiZWx7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpfS55dFNoZWxmSGVhZGVyTGF5b3V0VGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U2hlbGZIZWFkZXJMYXlvdXRIb3ZlcmFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dFNoZWxmSGVhZGVyTGF5b3V0Qm90dG9tQWNjZXNzb3J5e21hcmdpbi10b3A6OHB4fS55dE1hcnF1ZWVTY3JvbGx7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dE1hcnF1ZWVTY3JvbGxIb3N0e2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufS55dE1hcnF1ZWVTY3JvbGxBbmltYXRpb25FbmFibGVke2FuaW1hdGlvbjpzY3JvbGxpbmctcGFyZW50IDE2cyBsaW5lYXIgM3MgaW5maW5pdGU7YW5pbWF0aW9uLWZpbGwtbW9kZTpiYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6c2Nyb2xsaW5nLXBhcmVudH0ueXRNYXJxdWVlU2Nyb2xsSW5uZXJDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleH1Aa2V5ZnJhbWVzIHNjcm9sbGluZy1wYXJlbnR7dG97dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tbWFycXVlZS10cmFuc2xhdGUsMCkpfX0ueXRNYXJxdWVlU2Nyb2xsRHVwbGljYXRlU3RyaW5nLC55dE1hcnF1ZWVTY3JvbGxQcmltYXJ5U3RyaW5ne2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRNYXJxdWVlU2Nyb2xsSG9zdExhcmdlIC55dE1hcnF1ZWVTY3JvbGxEdXBsaWNhdGVTdHJpbmcsLnl0TWFycXVlZVNjcm9sbEhvc3RMYXJnZSAueXRNYXJxdWVlU2Nyb2xsUHJpbWFyeVN0cmluZ3tmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpub25lfX0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbE1ldGFkYXRhQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0UmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWxJY29ue21hcmdpbi1yaWdodDo0cHg7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjZmZmKTtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsTWFycXVlZUNvbnRhaW5lcntjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpO292ZXJmbG93OmhpZGRlbjstbW96LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRSZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbEhvc3RMYXJnZXtkaXNwbGF5OmJsb2NrfS55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsSWNvbnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O21hcmdpbi1yaWdodDo4cHh9Lnl0U21hcnRJbWF0aW9uc0NvbnRlbnR7ZGlzcGxheTpibG9ja30ueXRTbWFydEltYXRpb25zRXhwZXJpbWVudEVuYWJsZWR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30ueXRTbWFydEltYXRpb25zRXhwZXJpbWVudEVuYWJsZWQgLnl0U21hcnRJbWF0aW9uc0NvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2JvcmRlci1yYWRpdXM6MThweH0ueXRTbWFydEltYXRpb25zQm9yZGVye3otaW5kZXg6MTtib3JkZXItcmFkaXVzOjIycHg7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO3RvcDotM3B4O2xlZnQ6LTNweDtib3R0b206LTNweDtyaWdodDotM3B4fS55dFNtYXJ0SW1hdGlvbnNCb3JkZXJHcmFkaWVudHtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlfS55dFNtYXJ0SW1hdGlvbnNBY3RpdmVCb3JkZXIgLnl0U21hcnRJbWF0aW9uc0JvcmRlckdyYWRpZW50e29wYWNpdHk6MX0ueXRTbWFydEltYXRpb25zQWN0aXZlQmFja2dyb3VuZCAueXRTbWFydEltYXRpb25zQ29udGVudHtiYWNrZ3JvdW5kOiNmZmZ9Lnl0U21hcnRJbWF0aW9uc0VuYWJsZU1hc2tpbmcgLnl0U21hcnRJbWF0aW9uc0JvcmRlcntwYWRkaW5nOjNweDstd2Via2l0LW1hc2s6bGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCxsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApO21hc2stY29tcG9zaXRlOmV4Y2x1ZGV9Lnl0U21hcnRJbWF0aW9uc0VuYWJsZU1hc2tpbmcgLnl0U21hcnRJbWF0aW9uc0JvcmRlckdyYWRpZW50e3dpZHRoOmNhbGMoMTAwJSArIDEycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTNweCwtM3B4KX0ueXRTbWFydEltYXRpb25zRW5hYmxlTWFza2luZyAueXRTbWFydEltYXRpb25zQ29udGVudHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dFNtYXJ0SW1hdGlvbnNJbnZpc2libGUgLnl0U21hcnRJbWF0aW9uc0JvcmRlciwueXRTbWFydEltYXRpb25zSW52aXNpYmxlIC55dFNtYXJ0SW1hdGlvbnNCb3JkZXJHcmFkaWVudHtvcGFjaXR5Oi4wMDF9Lnl0RGlzbGlrZUJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRMaWtlQnV0dG9uVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFN3aXRjaEJ1dHRvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTd2l0Y2hCdXR0b25WaWV3TW9kZWxCdXR0b257cGFkZGluZzowO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0U3dpdGNoQnV0dG9uVmlld01vZGVsVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U3dpdGNoU2hhcGVIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjQwcHg7aGVpZ2h0OjI0cHg7ZmxleC1zaHJpbms6MH0ueXRTd2l0Y2hTaGFwZVRyYWNre3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjQwcHg7aGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6IzkwOTA5MDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1c30ueXRTd2l0Y2hTaGFwZVRyYWNrQWN0aXZle2JhY2tncm91bmQtY29sb3I6IzBmMGYwZjt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjE1c30ueXRTd2l0Y2hTaGFwZVRyYWNrRGlzYWJsZWR7b3BhY2l0eTouM30ueXRTd2l0Y2hTaGFwZUtub2J7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7dG9wOjJweDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXN9Lnl0U3dpdGNoU2hhcGVLbm9iQWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDE4cHgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xNXN9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3dpdGNoU2hhcGVUcmFja3tvdXRsaW5lOjFweCBzb2xpZCAjOTA5MDkwfS55dFN3aXRjaFNoYXBlVHJhY2tBY3RpdmV7b3V0bGluZToycHggc29saWQgIzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOkJ1dHRvblRleHR9Lnl0U3dpdGNoU2hhcGVLbm9ie291dGxpbmU6MXB4IHNvbGlkICMwMzAzMDN9fS55dFNwZWNBdmF0YXJTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmV9Lnl0U3BlY0F2YXRhclNoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uVGlueXt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbkV4dHJhU21hbGx7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25TbWFsbHt3aWR0aDozMnB4O2hlaWdodDozMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbk1lZGl1bXt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJ1dHRvbjQ4e3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uTGFyZ2V7d2lkdGg6NTZweDtoZWlnaHQ6NTZweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25FeHRyYUxhcmdle3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uRXh0cmFFeHRyYUxhcmdle3dpZHRoOjEyMHB4O2hlaWdodDoxMjBweH0ueXRTcGVjQXZhdGFyU2hhcGVCdXR0b25HaWFudHt3aWR0aDoxNjBweDtoZWlnaHQ6MTYwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uUmVzcG9uc2l2ZXt3aWR0aDoxMjhweDtoZWlnaHQ6MTI4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTE4e3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTIwe3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTIye3dpZHRoOjIycHg7aGVpZ2h0OjIycHh9Lnl0U3BlY0F2YXRhclNoYXBlQnV0dG9uSW5DbHVzdGVyU2l6ZTI0e3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0F2YXRhclNoYXBlSW1hZ2V7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlQWRzQXBwe2JvcmRlci1yYWRpdXM6MjAlfS55dFNwZWNBdmF0YXJTaGFwZUluc2NyaWJlZFNxdWFyZXt0cmFuc2Zvcm06c2NhbGUoMS40MTQyMTM1NjI0KX0ueXRTcGVjQXZhdGFyU2hhcGVJbWFnZU92ZXJsYXlze292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjQXZhdGFyU2hhcGVTdG9yaWVzV2F0Y2hlZHtib3JkZXI6MnB4IHNvbGlkICM5MDkwOTA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNBdmF0YXJTaGFwZVN0b3JpZXNVbndhdGNoZWR7Ym9yZGVyOjJweCBzb2xpZCAjZTEwMDJkO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRTcGVjQXZhdGFyU2hhcGVMaXZlUmluZ3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZVJpbmc6YWZ0ZXJ7Ym9yZGVyLXJhZGl1czo1MCU7cGFkZGluZzoycHg7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtpbnNldDotNHB4O21hc2s6bGluZWFyLWdyYWRpZW50KCNmZmYgMCAwKSBjb250ZW50LWJveCxsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApOy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AgcmlnaHQsI2UxMDAyZCA2MCUsI2UwMTM3OCA4NSUpfS55dFNwZWNBdmF0YXJTaGFwZU9uU2VsZWN0Qm9yZGVye2JvcmRlcjoxcHggc29saWQgIzBmMGYwZjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlQmFja2dyb3VuZEJvcmRlcntib3JkZXI6MnB4IHNvbGlkICNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNBdmF0YXJTaGFwZUJhY2tncm91bmRCb3JkZXJUaGlue2JvcmRlcjoxcHggc29saWQgI2ZmZjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0U3BlY0F2YXRhclNoYXBlV2hpdGVCb3JkZXJ7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRTcGVjQXZhdGFyU2hhcGVXaGl0ZUJvcmRlclRoaW57Ym9yZGVyLXdpZHRoOjFweH0ueXRTcGVjQXZhdGFyU2hhcGVJc092ZXJsYXkueXRTcGVjQXZhdGFyU2hhcGVCYWNrZ3JvdW5kQm9yZGVyLC55dFNwZWNBdmF0YXJTaGFwZUlzT3ZlcmxheS55dFNwZWNBdmF0YXJTaGFwZUJhY2tncm91bmRCb3JkZXJUaGlue2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZVRleHR7cGFkZGluZzowIDJweDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dmlzaWJpbGl0eTpoaWRkZW47Y29sb3I6I2ZmZjt6LWluZGV4OjE7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NTAwO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VJY29ue21heC13aWR0aDoxNnB4O3BhZGRpbmc6MCAycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiNmZmZ9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdle2JvcmRlci1yYWRpdXM6NHB4O3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6I2UxMDAyZDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi00cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlU21hbGx7bWF4LXdpZHRoOjMycHg7aGVpZ2h0OjEzcHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlTWVkaXVte21heC13aWR0aDozNnB4O2hlaWdodDoxNHB4fS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZUxhcmdle21heC13aWR0aDo1MnB4O2hlaWdodDoxNHB4fS55dFNwZWNBdmF0YXJTaGFwZUxpdmVCYWRnZUV4dHJhTGFyZ2V7Ym9yZGVyLXJhZGl1czo0cHg7bWF4LXdpZHRoOjY4cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VJY29ue21heC13aWR0aDoyNHB4O3BhZGRpbmc6MCA0cHh9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZUJhZGdlRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlQmFkZ2VUZXh0e3BhZGRpbmc6MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwNjVmZDR9Lnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdHtiYWNrZ3JvdW5kLWNvbG9yOiNlMTAwMmR9Lnl0U3BlY0F2YXRhclNoYXBlU3F1YXJle2JvcmRlci1yYWRpdXM6MTJweDtvdmVyZmxvdzpoaWRkZW59Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzAzMDMwM30ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJUaW55e3JpZ2h0Oi04cHg7dG9wOjA7Ym90dG9tOjA7bWFyZ2luOmF1dG87d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJUaW55IC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhU21hbGx7cmlnaHQ6LThweDt0b3A6MDtib3R0b206MDttYXJnaW46YXV0bzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhU21hbGwgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjEycHg7aGVpZ2h0OjEycHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyU21hbGx7Ym90dG9tOi0ycHg7cmlnaHQ6LTJweDt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lclNtYWxsIC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lck1lZGl1bXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyTWVkaXVtIC55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lcjQ4e2JvdHRvbTotMnB4O3JpZ2h0Oi0ycHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXI0OCAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJMYXJnZXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyRXh0cmFMYXJnZXtib3R0b206LTJweDtyaWdodDotMnB4O3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJFeHRyYUV4dHJhTGFyZ2V7Ym90dG9tOi00cHg7cmlnaHQ6LTRweDt3aWR0aDo0NHB4O2hlaWdodDo0NHB4fS55dFNwZWNBdmF0YXJTaGFwZUJhZGdlSWNvbkNvbnRhaW5lckV4dHJhRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb257d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRTcGVjQXZhdGFyU2hhcGVCYWRnZUljb25Db250YWluZXJHaWFudHtib3R0b206LTRweDtyaWdodDotNHB4O3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29uQ29udGFpbmVyR2lhbnQgLnl0U3BlY0F2YXRhclNoYXBlQmFkZ2VJY29ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnl7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnkgLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplVGlueSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LTEuNjY0cHg7cmlnaHQ6LTEuNjY0cHg7d2lkdGg6OHB4O2hlaWdodDo4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVRpbnkueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFTbWFsbHttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYVNtYWxsIC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTotMS40OTZweDtyaWdodDotMS40OTZweDt3aWR0aDoxMHB4O2hlaWdodDoxMHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYVNtYWxsLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVNtYWxse21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDozMnB4O2hlaWdodDozMnB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVTbWFsbCAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LS44MjhweDtyaWdodDotLjgyOHB4O3dpZHRoOjExcHg7aGVpZ2h0OjExcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZVNtYWxsLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bXttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplTWVkaXVtIC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206LS43NDRweDtyaWdodDotLjc0NHB4O3dpZHRoOjEycHg7aGVpZ2h0OjEycHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZU1lZGl1bS55dFNwZWNBdmF0YXJTaGFwZU5vTWFyZ2lue21hcmdpbjowfS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemU0OHttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDggLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDggLnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7Ym90dG9tOi41MDhweDtyaWdodDouNTA4cHg7d2lkdGg6MTNweDtoZWlnaHQ6MTNweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplNDgueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplTGFyZ2V7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlIC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlIC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbTouNjc2cHg7cmlnaHQ6LjY3NnB4O3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUxhcmdlLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2V7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlTGl2ZURvdCwueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVOZXdDb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjoycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjUwJTtib3R0b206MS41MTJweDtyaWdodDoxLjUxMnB4O3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhTGFyZ2UueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFFeHRyYUxhcmdle21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMjBweDtoZWlnaHQ6MTIwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUV4dHJhRXh0cmFMYXJnZSAueXRTcGVjQXZhdGFyU2hhcGVMaXZlRG90LC55dFNwZWNBdmF0YXJTaGFwZUF2YXRhclNpemVFeHRyYUV4dHJhTGFyZ2UgLnl0U3BlY0F2YXRhclNoYXBlTmV3Q29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7Ym90dG9tOjguNTJweDtyaWdodDo4LjUycHg7d2lkdGg6MThweDtoZWlnaHQ6MThweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplRXh0cmFFeHRyYUxhcmdlLnl0U3BlY0F2YXRhclNoYXBlTm9NYXJnaW57bWFyZ2luOjB9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50e21hcmdpbjoycHg7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNjBweDtoZWlnaHQ6MTYwcHh9Lnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50IC55dFNwZWNBdmF0YXJTaGFwZUxpdmVEb3QsLnl0U3BlY0F2YXRhclNoYXBlQXZhdGFyU2l6ZUdpYW50IC55dFNwZWNBdmF0YXJTaGFwZU5ld0NvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NTAlO2JvdHRvbToxNC4zNnB4O3JpZ2h0OjE0LjM2cHg7d2lkdGg6MThweDtoZWlnaHQ6MThweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplR2lhbnQueXRTcGVjQXZhdGFyU2hhcGVOb01hcmdpbnttYXJnaW46MH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplUmVzcG9uc2l2ZXttYXJnaW46MnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTI4cHg7aGVpZ2h0OjEyOHB4O21heC13aWR0aDoxNDRweH0ueXRTcGVjQXZhdGFyU2hhcGVBdmF0YXJTaXplUmVzcG9uc2l2ZS55dFNwZWNBdmF0YXJTaGFwZU5vTWFyZ2lue21hcmdpbjowfS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUxOHt3aWR0aDoxOHB4O2hlaWdodDoxOHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyMHt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyMnt3aWR0aDoyMnB4O2hlaWdodDoyMnB4fS55dFNwZWNBdmF0YXJTaGFwZUF2YXRhckluQ2x1c3RlclNpemUyNHt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0ey1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzoxMnB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzoxMnB4IDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdle2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjZyZW07Zm9udC13ZWlnaHQ6NDAwfS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRmY1lvdXRoQmFzaWNTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2xpY2thYmxlRGVzY3JpcHRpb257Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbERldGFpbHN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbjo0cHh9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbEltYWdle2hlaWdodDo3MnB4O3dpZHRoOjcycHh9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbExlYWRpbmd7ZmxleC1zaHJpbms6MDttYXJnaW46OHB4IDEycHggOHB4IDB9Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbE1ldGFkYXRhe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4fS55dGZjWW91dGhCYXNpY1NlY3Rpb25IZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS42cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRmY1lvdXRoQmFzaWNTZWN0aW9uSGVhZGVyVmlld01vZGVsVGl0bGV7Y29sb3I6IzAzMDMwMzttYXJnaW46MDtwYWRkaW5nOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo1LjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0ZmNZb3V0aEJhc2ljU2VjdGlvbkhlYWRlclZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NS4ycmVtfS55dGZjWW91dGhTZWN0aW9uQm9keVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dGZjWW91dGhTZWN0aW9uQm9keVZpZXdNb2RlbEF2YXRhclN0YWNre21hcmdpbjowIGF1dG99Lnl0ZmNZb3V0aFNlY3Rpb25Cb2R5Vmlld01vZGVsSXRlbXtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjEycHh9Lnl0ZmNZb3V0aFNlY3Rpb25Cb2R5Vmlld01vZGVsRGVzY3JpcHRpb257Y29sb3I6IzYwNjA2MDtwYWRkaW5nOjEycHggMTJweCAxNnB4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb250aW51YXRpb25JdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjojZmZmO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7cGFkZGluZzoxNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItcmFkaXVzOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbFVwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0Q2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsQ2hhbm5lbFRpdGxley1tb3otcGFkZGluZy1zdGFydDoxMnB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjEycHh9Lnl0Q2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsQm90dG9te3BhZGRpbmctdG9wOjE2cHh9Lnl0SW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNil9Lnl0SW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWxIb3N0V2Vie2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEhvc3RFeHRyYWN0T3ZlcmxheXttYXgtd2lkdGg6NDgwcHg7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjZmZmKTtiYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLXJhZGl1czoxMnB4O21hcmdpbjowIDhweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEhvc3RCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O3BhZGRpbmc6MTZweH0ueXRJbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbEZvcndhcmRBY3Rpb25JY29ue21hcmdpbi1sZWZ0OmF1dG99Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvcml6b250YWxDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOmVuZDthbGlnbi1pdGVtczpmbGV4LWVuZDt3aWR0aDoxMDAlfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21pbi13aWR0aDowO3dpZHRoOjEwMCU7cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpLHRyYW5zcGFyZW50KTt6LWluZGV4OjE7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMXB4IDRweCByZ2JhKDAsMCwwLDAuMykpfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJSb3VuZGVke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbE1ldGFkYXRhQ29udGFpbmVyTWV0YXBhbmVse21pbi13aWR0aDowO3BhZGRpbmc6MCAwIDE2cHggMTZweH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEFjdGlvbnNDb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmQ7aGVpZ2h0OjEwMCU7cGFkZGluZzowIDEycHggOHB4O2ZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCA0cHggcmdiYSgwLDAsMCwwLjMpKX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RNd2ViIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsQWN0aW9uc0NvbnRhaW5lcntwYWRkaW5nOjAgNHB4IDE2cHggNHB4O2ZpbHRlcjp1bnNldH0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RNd2ViIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7YmFja2dyb3VuZDpub25lfS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdEhpZGV7dmlzaWJpbGl0eTpoaWRkZW59Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxNZXRhZGF0YUNvbnRhaW5lcnt3aWR0aDpjYWxjKCgxMDAlIC0gbWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwgMzE1cHgpKS8yKTttYXJnaW4tcmlnaHQ6bWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwzMTVweCk7YmFja2dyb3VuZC1pbWFnZTpub25lO2ZpbHRlcjp1bnNldDtib3JkZXItcmFkaXVzOjB9Lnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVyey1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MX0ueXRSZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbEhvc3RFeHRyYWN0QWN0aW9uQmFyIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJNZXRhcGFuZWx7cGFkZGluZy1yaWdodDoxNnB4fS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdEV4dHJhY3RBY3Rpb25CYXIgLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxBY3Rpb25zQ29udGFpbmVye3BhZGRpbmctYm90dG9tOjA7ZmlsdGVyOnVuc2V0fS55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsSG9zdDpub3QoLnl0UmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWxIb3N0RXh0cmFjdE92ZXJsYXkpW3Nob3ctc2NydWJiZXJdIC55dFJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsTWV0YWRhdGFDb250YWluZXJ7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuNXN9Lnl0ZnpGYW56b25lU2NoZWR1bGVkSW5mb1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzozMnB4IDEycHggMjBweH0ueXRmekZhbnpvbmVTY2hlZHVsZWRJbmZvVmlld01vZGVsQXZhdGFye21hcmdpbi1ib3R0b206OHB4fS55dGZ6RmFuem9uZVNjaGVkdWxlZEluZm9WaWV3TW9kZWxUaXRsZXt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfS55dGZ6RmFuem9uZVNjaGVkdWxlZEluZm9WaWV3TW9kZWxEZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2JvcmRlci1yYWRpdXM6aW5oZXJpdH0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkRpc2FibGVke3BhZGRpbmc6MTZweH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkRpc2FibGVke292ZXJmbG93LXk6c2Nyb2xsfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JTY3JlZW5SZWRlc2lnbkVuYWJsZWR7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb250YWluZXItdHlwZTpzaXplfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMGYwZjBmOy1tb3otcGFkZGluZy1zdGFydDoxMiU7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MTIlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3gtc2hhZG93OjAgMCAwIDFweCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLXJhZGl1czppbmhlcml0fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1jb2xvcjojMGYwZjBmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDkwZGVnLHRyYW5zcGFyZW50IDAsdHJhbnNwYXJlbnQgMzUlLHJnYmEoMTcwLDksMTcwLC4yKSAwLHJnYmEoMTY5LDAsMjU1LC4yKSA4NCUscmdiYSgyNTQsNzAsMTYwLC4yKSk7bWFzay1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoMjclIDU4JSBhdCA3NyUgNTAlLCMwZjBmMGYgMCx0cmFuc3BhcmVudCAxMDAlKX1bZGlyPXJ0bF0gLmludGVyc3RpdGlhbFZpZXdNb2RlbE1vZGVsQ29udGFpbmVyOmJlZm9yZXttYXNrLWltYWdlOnJhZGlhbC1ncmFkaWVudCgyNyUgNTglIGF0IDIzJSA1MCUsIzBmMGYwZiAwLHRyYW5zcGFyZW50IDEwMCUpfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcjpiZWZvcmV7bWFzay1yZXBlYXQ6bm8tcmVwZWF0fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxGbGV4SXRlbXt3aWR0aDoxMDAlO21hcmdpbjo4cHggMH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0NvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxNSU7bWluLXdpZHRoOjk2cHh9LmludGVyc3RpdGlhbFZpZXdNb2RlbExvZ29Db250YWluZXI6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwYWRkaW5nLXRvcDoyMi43MjclfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMb2dvSW1hZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7aW5zZXQtaW5saW5lLXN0YXJ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzp2aXNpYmxlfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMb2dvSW1hZ2V7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lOy1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdDpub25lfX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKSBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOmxpZ2h0KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0ltYWdle2ZpbHRlcjppbnZlcnQoMSkgaHVlLXJvdGF0ZSgxODBkZWcpfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uQ29udGFpbmVye21heC13aWR0aDo0MyU7bWFyZ2luLXRvcDo4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC13cmFwOndyYXB9LmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkl0ZW17d2lkdGg6YXV0b30uaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uSXRlbTpub3QoOmxhc3QtY2hpbGQpey1tb3otbWFyZ2luLWVuZDo4cHg7bWFyZ2luLWlubGluZS1lbmQ6OHB4O21hcmdpbi1ib3R0b206OHB4fUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey5pbnRlcnN0aXRpYWxWaWV3TW9kZWxCdXR0b25JdGVtIC55dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0e2JvcmRlcjoxcHggc29saWQgY3VycmVudENvbG9yfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsUHJpbWFyeUJ1dHRvbkl0ZW0sLmludGVyc3RpdGlhbFZpZXdNb2RlbFNlY29uZGFyeUJ1dHRvbkl0ZW17bWF4LXdpZHRoOjEwMCV9LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtjb2xvcjojZmZmO21heC13aWR0aDo0MyU7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi44cmVtO2xpbmUtaGVpZ2h0OjMuOHJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19LmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHREZXNjcmlwdGlvbntjb2xvcjojNjA2MDYwO21heC13aWR0aDo0MyU7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbEludGVyc3RpdGlhbEljb257dGV4dC1hbGlnbjpjZW50ZXJ9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbEljb25JbWFnZXt3aWR0aDoyNSU7b2JqZWN0LWZpdDpjb250YWlufX0uaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsVGl0bGV7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsSW50ZXJzdGl0aWFsRGVzY3JpcHRpb257Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2luc2V0LWlubGluZS1lbmQ6MTIlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjMwJTttYXgtd2lkdGg6NDAwcHh9LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OmF1dG99QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTstbXMtaGlnaC1jb250cmFzdC1hZGp1c3Q6bm9uZX19QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSkgYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpsaWdodCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbElsbHVzdHJhdGlvbkltYWdle2ZpbHRlcjppbnZlcnQoMSkgaHVlLXJvdGF0ZSgxODBkZWcpfX0uaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JDb2RlQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6NHB4IDEycHg7Ym90dG9tOjhweDtpbnNldC1pbmxpbmUtZW5kOjhweDtib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMSk7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dFBvcnRyYWl0IC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxNb2RlbENvbnRhaW5lcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7cGFkZGluZy1ib3R0b206bWF4KDEyJSw0MnB4KTtwYWRkaW5nLWlubGluZToxNnB4fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsTG9nb0NvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTZweDtpbnNldC1pbmxpbmUtc3RhcnQ6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcnttYXgtd2lkdGg6MTAwJTtmbGV4LXdyYXA6d3JhcH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkl0ZW06bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6MDttYXJnaW4taW5saW5lLWVuZDowO21hcmdpbi1ibG9jay1lbmQ6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0UG9ydHJhaXQgLmludGVyc3RpdGlhbFZpZXdNb2RlbFByaW1hcnlCdXR0b25JdGVtLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsU2Vjb25kYXJ5QnV0dG9uSXRlbXt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dERlc2NyaXB0aW9uLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle21heC13aWR0aDoxMDAlfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRQb3J0cmFpdCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVye2Rpc3BsYXk6bm9uZX0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbE1vZGVsQ29udGFpbmVye3BhZGRpbmc6MTZweH0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcnttYXgtd2lkdGg6MTAwJX0uaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXttYXgtd2lkdGg6MTAwJTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsuaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToycmVtO2xpbmUtaGVpZ2h0OjIuOHJlbTtmb250LXdlaWdodDo3MDB9fS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsRXJyb3JDb2RlQ29udGFpbmVyLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVyLC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxMYXlvdXRTbWFsbCAuaW50ZXJzdGl0aWFsVmlld01vZGVsU2Vjb25kYXJ5QnV0dG9uSXRlbSwuaW50ZXJzdGl0aWFsVmlld01vZGVsTGF5b3V0U21hbGwgLmludGVyc3RpdGlhbFZpZXdNb2RlbFRleHREZXNjcmlwdGlvbntkaXNwbGF5Om5vbmV9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsQnV0dG9uQ29udGFpbmVye21heC13aWR0aDo3NiV9LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle21heC13aWR0aDo3NiU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi40cmVtO2xpbmUtaGVpZ2h0OjMuMnJlbTtmb250LXdlaWdodDo3MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dFRpdGxle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19LmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsVGV4dERlc2NyaXB0aW9ue21heC13aWR0aDo3NiU7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5pbnRlcnN0aXRpYWxWaWV3TW9kZWxIaWRlRXJyb3JDb2RlIC5pbnRlcnN0aXRpYWxWaWV3TW9kZWxFcnJvckNvZGVDb250YWluZXIsLmludGVyc3RpdGlhbFZpZXdNb2RlbExheW91dEZ1bGxXaWR0aCAuaW50ZXJzdGl0aWFsVmlld01vZGVsSWxsdXN0cmF0aW9uQ29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXR3UGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxFbmRwb2ludHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21heC13aWR0aDo1MTZweDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1yYWRpdXM6NHB4O2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO3BhZGRpbmc6NnB4IDAgNnB4IDZweDt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXR3UGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbEltYWdley1tb3otYm94LWZsZXg6MDtmbGV4Om5vbmU7bWFyZ2luOjRweDtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsRXh0cmFjdE92ZXJsYXkgLnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxFbmRwb2ludHtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yKTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUaXRsZXttYXJnaW46MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsVGV4dHttYXJnaW46MCA0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDozLjZyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0d1BsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWxUZXh0e21heC1oZWlnaHQ6My42cmVtfS55dHdQbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsRGl2aWRlcnttYXJnaW46MnB4IDRweDtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0Q29sbGFib3JhdGl2ZVBsYXlsaXN0SW52aXRlTWVzc2FnZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRDb2xsYWJvcmF0aXZlUGxheWxpc3RJbnZpdGVNZXNzYWdlVmlld01vZGVsQWNjb3VudFNlY3Rpb25IZWFkZXJUZXh0e2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxBY2NvdW50V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjhweCAwOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEycHg7YWxpZ24tc2VsZjpzdHJldGNofS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxBY2NvdW50VGV4dHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAwIDA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxIYW5kbGV7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRDb2xsYWJvcmF0aXZlUGxheWxpc3RJbnZpdGVNZXNzYWdlVmlld01vZGVsSW52aXRlTWVzc2FnZVdyYXBwZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tYm90dG9tOjEycHg7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbGxhYm9yYXRpdmVQbGF5bGlzdEludml0ZU1lc3NhZ2VWaWV3TW9kZWxUZXJtc09mU2VydmljZXtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Z2FwOjRweH0ueXRSZWVsQ2Fyb3VzZWxWaWV3TW9kZWxIb3N0QnV0dG9ue21pbi13aWR0aDowfS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3RCdXR0b24gYzMtaWNvbnt3aWR0aDppbmhlcml0O2hlaWdodDppbmhlcml0fS55dFJlZWxDYXJvdXNlbFZpZXdNb2RlbEhvc3RCdXR0b25NYXhXaWR0aHttYXgtd2lkdGg6NTAlfS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjMwcHh9Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEhvc3RUYWxse2hlaWdodDozNnB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OS45cHgpey55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEVuZHBvaW50e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6MDtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6cG9pbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxMaW5re21hcmdpbi1yaWdodDo0OHB4O21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoycmVtO21heC1oZWlnaHQ6MnJlbX0ueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSWNvbnttYXJnaW4tcmlnaHQ6NnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxUaXRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0UmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbEhvc3RMYXJnZSwueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxUYWxse2hlaWdodDp1bnNldH0ueXRSZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsSG9zdExhcmdlIC55dFJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWxJY29ue3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRTaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbFNob3J0c0Rpc2Nsb3N1cmVzVGV4dHtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbFN0YXRpY0hvc3R7ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JvcmRlci1yYWRpdXM6MThweH1AbWVkaWEgKG1heC13aWR0aDoyOTkuOXB4KXsueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0e2Rpc3BsYXk6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmU7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgMTZweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjE4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcn0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0VGV4dFNlY3Rpb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dGV4dC1hbGlnbjpsZWZ0O2ZsZXgtc2hyaW5rOjE7LW1vei1wYWRkaW5nLXN0YXJ0OjhweDtwYWRkaW5nLWlubGluZS1zdGFydDo4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0ey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsU3RhdGljSG9zdFByaW1hcnlUZXh0e21heC1oZWlnaHQ6NHJlbX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0TGVhZGluZ1NlY3Rpb257bWF4LXdpZHRoOjEwMCU7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxTdGF0aWNIb3N0TGVhZGluZ0ltYWdle21heC13aWR0aDoxMDAlO21heC1oZWlnaHQ6MTAwJTstbW96LXBhZGRpbmctc3RhcnQ6NHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjRweDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbFN0YXRpY0hvc3RMZWFkaW5nSWNvbnttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7LW1vei1wYWRkaW5nLXN0YXJ0OjhweDtwYWRkaW5nLWlubGluZS1zdGFydDo4cHg7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdHtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3R7ZGlzcGxheTpub25lfX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEZpeGVkSGVpZ2h0QXV0b3toZWlnaHQ6YXV0b30ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEhpZGRlbntvcGFjaXR5OjB9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RTaG93bnthbmltYXRpb246ZmFkZUluIC41cyBlYXNlLWluLW91dDtvcGFjaXR5OjF9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RVc2VSb3VuZEJvcmRlcntib3JkZXItcmFkaXVzOjI4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RSb3VuZEFsbENvcm5lcnN7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RPbmx5Um91bmRMZWFkaW5nQ29ybmVyc3tib3JkZXItdG9wLWxlZnQtcmFkaXVzOjhweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjhweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbnRhaW5lcntkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOm5vbmU7bWF4LWhlaWdodDo1MnB4O3BhZGRpbmc6OHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwwLjYpO2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsI2ZmZik7Y3Vyc29yOnBvaW50ZXJ9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb250YWluZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0Q29sbGFwc2VkTGVhZGluZ1NlY3Rpb257Ym9yZGVyLXJhZGl1czo0cHg7ZmxleC1zaHJpbms6MDttYXJnaW4tcmlnaHQ6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkTGVhZGluZ1NlY3Rpb257bWFyZ2luLXJpZ2h0OjB9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb2xsYXBzZWRMZWFkaW5nSW1hZ2V7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NHB4Oy1tb3otcGFkZGluZy1zdGFydDo0cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6NHB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZExlYWRpbmdJbWFnZXttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czo0cHg7d2lkdGg6MjhweDtoZWlnaHQ6MjhweDstbW96LXBhZGRpbmctc3RhcnQ6OHB4O3BhZGRpbmctaW5saW5lLXN0YXJ0OjhweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbGxhcHNlZExlYWRpbmdJY29uey1tb3otcGFkZGluZy1zdGFydDo4cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZExlYWRpbmdJY29ue3BhZGRpbmc6NHB4O2JvcmRlci1yYWRpdXM6NHB4Oy1tb3otcGFkZGluZy1zdGFydDo4cHg7cGFkZGluZy1pbmxpbmUtc3RhcnQ6OHB4Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RDb2xsYXBzZWRTZWNvbmRhcnl7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkU2Vjb25kYXJ5e2FuaW1hdGlvbjpmYWRlSW4gLjI1cyBlYXNlLWluLW91dDtvcGFjaXR5OjE7bWFyZ2luLXRvcDotMnB4O2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtmb250LWZhbWlseTpSb2JvdG8sIkFyaWFsIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjEuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkU2Vjb25kYXJ5ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRHluYW1pY0hvc3RFeHBhbmRlZFNlY29uZGFyeXttYXgtaGVpZ2h0OjEuOHJlbX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdENvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbntjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItcmFkaXVzOjAgOHB4IDhweCAwO2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjI0cHg7aGVpZ2h0OjQwcHg7cGFkZGluZzowfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0Q29sbGFwc2VkVHJhaWxpbmdTZWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0RXhwYW5kZWRUcmFpbGluZ1NlY3Rpb257Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLXJhZGl1czowIDhweCA4cHggMDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6NDBweDt3aWR0aDoyNHB4O3BhZGRpbmc6MH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxEeW5hbWljSG9zdEV4cGFuZGVkVHJhaWxpbmdTZWN0aW9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbER5bmFtaWNIb3N0VHJhaWxpbmdJY29ue2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsI2ZmZik7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheXtkaXNwbGF5Oi1tb3otaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4dHJhY3RPdmVybGF5Q29udGFpbmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbnRhaW5lcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Y29sb3I6dmFyKC0tcmVlbC1tZXRhZGF0YS1jb2xvciwjMDMwMzAzKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUNvbGxhcHNlZFRyYWlsaW5nU2VjdGlvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHRyYWN0T3ZlcmxheUV4cGFuZGVkVHJhaWxpbmdTZWN0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCMwMzAzMDMpfS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4dHJhY3RPdmVybGF5RXhwYW5kZWRUcmFpbGluZ1NlY3Rpb246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVye2NvbG9yOnZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsIzAzMDMwMyk7bWF4LXdpZHRoOjQ4MHB4fS55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4cGFuc2l2ZUNvbnRhaW5lclByaW1hcnlUZXh0e2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyUHJpbWFyeVRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRTaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWxFeHBhbnNpdmVDb250YWluZXJQcmltYXJ5VGV4dHttYXgtaGVpZ2h0OjJyZW19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyRXhwYW5kZWRTZWNvbmRhcnl7Y29sb3I6cmdiYShmcm9tIHZhcigtLXJlZWwtbWV0YWRhdGEtY29sb3IsIzAzMDMwMykgciBnIGIvLjcpO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MS44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbEV4cGFuc2l2ZUNvbnRhaW5lckV4cGFuZGVkU2Vjb25kYXJ5ey13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsRXhwYW5zaXZlQ29udGFpbmVyRXhwYW5kZWRTZWNvbmRhcnl7bWF4LWhlaWdodDoxLjhyZW19QGtleWZyYW1lcyBmYWRlSW57MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9jaztjb2xvcjp2YXIoLS1yZWVsLW1ldGFkYXRhLWNvbG9yLCNmZmYpfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxIb3N0Q2xpY2thYmxle2N1cnNvcjpwb2ludGVyfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxle21hcmdpbjowO3BvaW50ZXItZXZlbnRzOmF1dG87d29yZC1icmVhazpicmVhay13b3JkO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbFNob3J0c1ZpZGVvVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZXttYXgtaGVpZ2h0OjJyZW07bWF4LWhlaWdodDpub25lOy13ZWJraXQtbGluZS1jbGFtcDp2YXIoLS15dC1zaG9ydHMtdmlkZW8tdGl0bGUtbWF4LWxpbmVzLDEpfS55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7bWFyZ2luOjA7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi44cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuOHJlbTtsaW5lLWhlaWdodDoyLjZyZW07Zm9udC13ZWlnaHQ6NzAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi42cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dFNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWxTaG9ydHNWaWRlb1RpdGxlTGFyZ2V7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX19Lnl0U2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbFNob3J0c1ZpZGVvVGl0bGVMYXJnZXttYXgtaGVpZ2h0OjIuOHJlbX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle21heC1oZWlnaHQ6Mi42cmVtfX0ueXRTaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsU2hvcnRzVmlkZW9UaXRsZUxhcmdle21heC1oZWlnaHQ6bm9uZTstd2Via2l0LWxpbmUtY2xhbXA6dmFyKC0teXQtc2hvcnRzLXZpZGVvLXRpdGxlLW1heC1saW5lcywxKX0ueXRBY2Nlc3NDb25maXJtYXRpb25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0QWNjZXNzQ29uZmlybWF0aW9uVmlld01vZGVsQ29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjI0cHggMTJweCAwfS55dEFjY2Vzc0NvbmZpcm1hdGlvblZpZXdNb2RlbEF2YXRhcnttYXJnaW4tYm90dG9tOjE2cHh9Lnl0QWNjZXNzQ29uZmlybWF0aW9uVmlld01vZGVsVGl0bGV7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbTo4cHg7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZTozLjJyZW07bGluZS1oZWlnaHQ6NC40cmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRBY2Nlc3NDb25maXJtYXRpb25WaWV3TW9kZWxTdWJ0aXRsZXtjb2xvcjojNjA2MDYwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dER1YWxBdmF0YXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXREdWFsQXZhdGFyVmlld01vZGVsQXZhdGFyc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LWZsZXg6MDtmbGV4LWdyb3c6MDtmbGV4LXNocmluazowO2dhcDp2YXIoLS15dC1kdWFsLWF2YXRhci12aWV3LW1vZGVsLWJhZGdlLWN1dG91dC1yYWRpdXMpO21hc2staW1hZ2U6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSB2YXIoLS15dC1kdWFsLWF2YXRhci12aWV3LW1vZGVsLWJhZGdlLWN1dG91dC1yYWRpdXMpLHRyYW5zcGFyZW50IDEwMCUsYmxhY2sgMCl9Lnl0RHVhbEF2YXRhclZpZXdNb2RlbEJhZGdle3Bvc2l0aW9uOmFic29sdXRlfS55dEltYWdlU3RpY2tlckhvc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRJbWFnZVN0aWNrZXJJbWFnZUNvcHl7cG9zaXRpb246YWJzb2x1dGU7ZmlsdGVyOmJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpfS55dEltYWdlU3RpY2tlckltYWdlQWN0dWFse3Bvc2l0aW9uOnJlbGF0aXZlfS55dE92ZXJsYXlQcm9kdWN0U3RpY2tlckhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggcmdiYSgwLDAsMCwwLjMpKX0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJUaXRsZUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6YXV0bztwYWRkaW5nOjRweCA0cHggNHB4IDhweDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojNjA2MDYwO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJJbWFnZUNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZX0ueXRPdmVybGF5UHJvZHVjdFN0aWNrZXJPcGVuSWNvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtwYWRkaW5nOjJweDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojNjA2MDYwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dE92ZXJsYXlTdGlja2VySG9zdHstLXN0aWNrZXItd2lkdGg6MTAwO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDtwb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0T3ZlcmxheVN0aWNrZXJIb3N0Pjpvbmx5LWNoaWxke2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dE92ZXJsYXlTdGlja2VySG9zdFJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS55dFN1YnNjcmliZVBsdXNCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0U3VydmV5SWNvbnNIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRTdXJ2ZXlJY29uc0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRTdXJ2ZXlJY29uc1RpdGxle2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLCJBcmlhbCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoyLjJyZW07bWF4LWhlaWdodDoyLjJyZW19Lnl0U3VydmV5SWNvbnNBbnN3ZXJze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dFN1cnZleUljb25zSWNvbntjb2xvcjojMDMwMzAzO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7bWFyZ2luOi02cHh9Lnl0U3VydmV5SWNvbnNBbnN3ZXJzVGV4dHtjb2xvcjojMDMwMzAzO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90bywiQXJpYWwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtTGlrZUNvdW50Vmlld01vZGVsSG9zdHttYXgtaGVpZ2h0OjQuNHJlbX1zZW50aW5lbHt9"}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/8916.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.258Z","timestamp":1785129950258,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/8916.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1559\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:36:37 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:19:43 GMT\r\ncache-control: max-age=86400\r\netag: \"e906697de32eb7e1420f46bd4da7cd67\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 79577\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: xC1IY_36NDUHKz1P83Aiw6hagIlnpexeNPnBhrQLW_GgqEiHInAF7w==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":1559,"size_decoded":2085,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"e906697de32eb7e1420f46bd4da7cd67","sha1":"d0f7184d0ff38878e831c144adff337cc0491674","sha256":"ce49c1f0b7dc5863f73c4423b606298fd367fbe32ee3696739ba1b72d807bb4d","sha512":"df582a3537249deb5266554b8c5f88458655fae63630f007436b43cb075a4a22663277dc3873758aeae50e4fc2abaf24b5ea224c54dcf8987195a043cbdab668","ssdeep":"","tlshash":"a7310ae99993516aaff8a51387383c787c4a20e0371c1a8442a3fe8f2b0d520188ad57","first_seen":"2023-06-06T18:28:25Z","last_seen":"2026-08-15T05:52:08.431198Z","times_seen":1617,"resource_available":false,"data":"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"}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/11092.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.259Z","timestamp":1785129950259,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/11092.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 752\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 25 Jul 2023 06:29:11 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 06:24:47 GMT\r\netag: \"0d6d3a10d16505b8652993f33a76c1ae\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 82873\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: Diet8KzWuPM1YB8EZVOAfTIa0yn-r__TnA-uKOa4Rl-cGyq0OWIZfQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":752,"size_decoded":1285,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"0d6d3a10d16505b8652993f33a76c1ae","sha1":"6ec80ad1c8dfbec8eb00b8a42d9a8d27d346eb76","sha256":"2c9ee8102d6ed4ff59eb9cc7dcaf65db7812808c6be385bb1d49a616b52f4036","sha512":"7eccd785adcb71bf41248eb177f7c9369f127b1ec2f791e21b215e3ebaf7780e833b517a85e1e761f409605b9d4b0bb04c8997e597e13d9fce3afa2359e48b41","ssdeep":"","tlshash":"b00165541b9224d8c25d87b4aa601eb0cd3ce224ef358d95a11cee38c4a62a0305cfa7","first_seen":"2024-08-19T19:26:05.484626Z","last_seen":"2026-08-15T04:03:51.085277Z","times_seen":1157,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACt0lEQVR4XtWazW3cMBCFt4O4AsMNBHAJqcOXuIQcfUuq8DXuxAcXECANGKmA2wEDJl7B/mY15PB39gHfheIj50naH0o8HGbpGKOJi9cxBhGqnmcO71MhfjtTfF9CvOG06xXivSh0NC6Ubk0WNpsQb1nWHLGQ1UwVJ/fCcB3jq5jUG+mLeIg4kW8Cy2+TnOAy6CIOWsPv11RMOfTX03gnpD8dclAb68L/p0kczMr1jQyoQX8vqsRBrKy+8sQkmq14C3+iSK2fe6/hE0WiycLnWxlQg/4ZqGpZ1f0JMqAG/bNQxc6lXEr4E7tixxIuLXzirNiphLt7GVCD/pUIsUMJDKhB72o+qGaZy4Aa9HogxKu39Af71WdADXo9sYkH9nj4IQNq0O+NTTywBwNq0OuRt/DlLzAYUuPxSfrf8/BdevZIq0r6e/DvHQMbc7A4DXqJh5MgGkpgcRq5O8E6Hr2tiIZSWJjGyy/pJ/Ro0NuCaLDAwjToJXdfpWePT1fSX4tosMLiNOgllpNQMl4JoqEGFqaRHpjQT+jRoNeKaKiFhWnkTsLMFaZoaIGFadBLZj1dEg2tsDANesmMkyAaesDCNHIfh9EPWQ+Wv8IWWJhG7iSMesGyba7ggV48/iyHXsKQGvTusYkHvDHqDtjEA54YFT6xadT3QCsjw4vtduywmpHhE0LssJLRP32Js2KnFYy+8oldseNs0jKXATXoL2VXIX4RnWexPPxJNMwgPTFiQA36LWTVukHCCsPloN9CsWgcBcPloN+KSTT3huFy0G+lShykF7NfsVUrLRc5WCsMl4N+K83igC0wXA767TRulT1JDmyH4XLQX0NXcXDfdLryVM1OktmkrX7DxUm9MFWcfDVLFOKTKGQ2aQG3XC1bbGv5sMvLi2acCJfBz6nvg9ZnDn95kqF0JukvS23+2M6KYMsAAAAASUVORK5CYII="}},"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":"digitaltradeinvest.org/js/theme-vendors.min.js","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.043Z","timestamp":1785129949043,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /js/theme-vendors.min.js HTTP/1.1\r\nHost: digitaltradeinvest.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 171263\r\ncache-control: public, max-age=604800\r\nexpires: Fri, 31 Jul 2026 12:21:32 GMT\r\nlast-modified: Thu, 09 Oct 2025 21:44:33 GMT\r\netag: \"a18c6-68e82cc1-55364a77ae818352;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 234257\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: d82a01c12613349321c58422567739c8-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":661702,"size_decoded":171826,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (32074)","md5":"4f19fe2a2c86f0be3d98e7a92f40cfd6","sha1":"e199cd6aecf31b2073b3e3adff11e7ebaa7ed347","sha256":"677a01b226425fb659191e9b761fac0ff04f158f75fda37f4d500117c8fba479","sha512":"dac2062880b85a24a29e60b9e8bd338e900e23e7cc1f8b91ca56a84313eee998fea86610cf138ccb8021dba58cf50731233f16c6275884ab1f71c87c43ea879f","ssdeep":"6144:l9/KvjOVlFYQ168iWIHf5CL7ji2doxKRRtYHAsUgeAq5qOsJMWSfJP4NnCnxUluf:l92jOTFYs6S/VgHpMWSf6cxUluvag","tlshash":"52e4184d7240756242dba2a6503f160bb337645da506806cb57dccee6ebcd4822bbfbc","first_seen":"2023-03-07T12:05:13Z","last_seen":"2026-08-04T06:09:43.99743Z","times_seen":61,"resource_available":true,"data":"LyoKalF1ZXJ5IFVJClZlcnNpb246IDEuMTIuMSAtIDIwMTYtMDktMTQKUGx1Z2luIFVSSTogaHR0cDovL2pxdWVyeXVpLmNvbQpJbmNsdWRlczogd2lkZ2V0LmpzLCBwb3NpdGlvbi5qcywgZGF0YS5qcywgZGlzYWJsZS1zZWxlY3Rpb24uanMsIGVmZmVjdC5qcywgZWZmZWN0cy9lZmZlY3QtYmxpbmQuanMsIGVmZmVjdHMvZWZmZWN0LWJvdW5jZS5qcywgZWZmZWN0cy9lZmZlY3QtY2xpcC5qcywgZWZmZWN0cy9lZmZlY3QtZHJvcC5qcywgZWZmZWN0cy9lZmZlY3QtZXhwbG9kZS5qcywgZWZmZWN0cy9lZmZlY3QtZmFkZS5qcywgZWZmZWN0cy9lZmZlY3QtZm9sZC5qcywgZWZmZWN0cy9lZmZlY3QtaGlnaGxpZ2h0LmpzLCBlZmZlY3RzL2VmZmVjdC1wdWZmLmpzLCBlZmZlY3RzL2VmZmVjdC1wdWxzYXRlLmpzLCBlZmZlY3RzL2VmZmVjdC1zY2FsZS5qcywgZWZmZWN0cy9lZmZlY3Qtc2hha2UuanMsIGVmZmVjdHMvZWZmZWN0LXNpemUuanMsIGVmZmVjdHMvZWZmZWN0LXNsaWRlLmpzLCBlZmZlY3RzL2VmZmVjdC10cmFuc2Zlci5qcywgZm9jdXNhYmxlLmpzLCBmb3JtLXJlc2V0LW1peGluLmpzLCBqcXVlcnktMS03LmpzLCBrZXljb2RlLmpzLCBsYWJlbHMuanMsIHNjcm9sbC1wYXJlbnQuanMsIHRhYmJhYmxlLmpzLCB1bmlxdWUtaWQuanMsIHdpZGdldHMvYWNjb3JkaW9uLmpzLCB3aWRnZXRzL2F1dG9jb21wbGV0ZS5qcywgd2lkZ2V0cy9idXR0b24uanMsIHdpZGdldHMvY2hlY2tib3hyYWRpby5qcywgd2lkZ2V0cy9jb250cm9sZ3JvdXAuanMsIHdpZGdldHMvZGF0ZXBpY2tlci5qcywgd2lkZ2V0cy9kaWFsb2cuanMsIHdpZGdldHMvZHJhZ2dhYmxlLmpzLCB3aWRnZXRzL2Ryb3BwYWJsZS5qcywgd2lkZ2V0cy9tZW51LmpzLCB3aWRnZXRzL21vdXNlLmpzLCB3aWRnZXRzL3Byb2dyZXNzYmFyLmpzLCB3aWRnZXRzL3Jlc2l6YWJsZS5qcywgd2lkZ2V0cy9zZWxlY3RhYmxlLmpzLCB3aWRnZXRzL3NlbGVjdG1lbnUuanMsIHdpZGdldHMvc2xpZGVyLmpzLCB3aWRnZXRzL3NvcnRhYmxlLmpzLCB3aWRnZXRzL3NwaW5uZXIuanMsIHdpZGdldHMvdGFicy5qcywgd2lkZ2V0cy90b29sdGlwLmpzCkxpY2Vuc2U6IENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIHwgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlCiovCihmdW5jdGlvbih0KXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLHQpOnQoalF1ZXJ5KX0pKGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCl7Zm9yKHZhciBlPXQuY3NzKCJ2aXNpYmlsaXR5Iik7ImluaGVyaXQiPT09ZTspdD10LnBhcmVudCgpLGU9dC5jc3MoInZpc2liaWxpdHkiKTtyZXR1cm4iaGlkZGVuIiE9PWV9ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGUsaTt0Lmxlbmd0aCYmdFswXSE9PWRvY3VtZW50Oyl7aWYoZT10LmNzcygicG9zaXRpb24iKSwoImFic29sdXRlIj09PWV8fCJyZWxhdGl2ZSI9PT1lfHwiZml4ZWQiPT09ZSkmJihpPXBhcnNlSW50KHQuY3NzKCJ6SW5kZXgiKSwxMCksIWlzTmFOKGkpJiYwIT09aSkpcmV0dXJuIGk7dD10LnBhcmVudCgpfXJldHVybiAwfWZ1bmN0aW9uIHMoKXt0aGlzLl9jdXJJbnN0PW51bGwsdGhpcy5fa2V5RXZlbnQ9ITEsdGhpcy5fZGlzYWJsZWRJbnB1dHM9W10sdGhpcy5fZGF0ZXBpY2tlclNob3dpbmc9ITEsdGhpcy5faW5EaWFsb2c9ITEsdGhpcy5fbWFpbkRpdklkPSJ1aS1kYXRlcGlja2VyLWRpdiIsdGhpcy5faW5saW5lQ2xhc3M9InVpLWRhdGVwaWNrZXItaW5saW5lIix0aGlzLl9hcHBlbmRDbGFzcz0idWktZGF0ZXBpY2tlci1hcHBlbmQiLHRoaXMuX3RyaWdnZXJDbGFzcz0idWktZGF0ZXBpY2tlci10cmlnZ2VyIix0aGlzLl9kaWFsb2dDbGFzcz0idWktZGF0ZXBpY2tlci1kaWFsb2ciLHRoaXMuX2Rpc2FibGVDbGFzcz0idWktZGF0ZXBpY2tlci1kaXNhYmxlZCIsdGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3M9InVpLWRhdGVwaWNrZXItdW5zZWxlY3RhYmxlIix0aGlzLl9jdXJyZW50Q2xhc3M9InVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkiLHRoaXMuX2RheU92ZXJDbGFzcz0idWktZGF0ZXBpY2tlci1kYXlzLWNlbGwtb3ZlciIsdGhpcy5yZWdpb25hbD1bXSx0aGlzLnJlZ2lvbmFsWyIiXT17Y2xvc2VUZXh0OiJEb25lIixwcmV2VGV4dDoiUHJldiIsbmV4dFRleHQ6Ik5leHQiLGN1cnJlbnRUZXh0OiJUb2RheSIsbW9udGhOYW1lczpbIkphbnVhcnkiLCJGZWJydWFyeSIsIk1hcmNoIiwiQXByaWwiLCJNYXkiLCJKdW5lIiwiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIl0sbW9udGhOYW1lc1Nob3J0OlsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl0sZGF5TmFtZXM6WyJTdW5kYXkiLCJNb25kYXkiLCJUdWVzZGF5IiwiV2VkbmVzZGF5IiwiVGh1cnNkYXkiLCJGcmlkYXkiLCJTYXR1cmRheSJdLGRheU5hbWVzU2hvcnQ6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxkYXlOYW1lc01pbjpbIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sd2Vla0hlYWRlcjoiV2siLGRhdGVGb3JtYXQ6Im1tL2RkL3l5IixmaXJzdERheTowLGlzUlRMOiExLHNob3dNb250aEFmdGVyWWVhcjohMSx5ZWFyU3VmZml4OiIifSx0aGlzLl9kZWZhdWx0cz17c2hvd09uOiJmb2N1cyIsc2hvd0FuaW06ImZhZGVJbiIsc2hvd09wdGlvbnM6e30sZGVmYXVsdERhdGU6bnVsbCxhcHBlbmRUZXh0OiIiLGJ1dHRvblRleHQ6Ii4uLiIsYnV0dG9uSW1hZ2U6IiIsYnV0dG9uSW1hZ2VPbmx5OiExLGhpZGVJZk5vUHJldk5leHQ6ITEsbmF2aWdhdGlvbkFzRGF0ZUZvcm1hdDohMSxnb3RvQ3VycmVudDohMSxjaGFuZ2VNb250aDohMSxjaGFuZ2VZZWFyOiExLHllYXJSYW5nZToiYy0xMDpjKzEwIixzaG93T3RoZXJNb250aHM6ITEsc2VsZWN0T3RoZXJNb250aHM6ITEsc2hvd1dlZWs6ITEsY2FsY3VsYXRlV2Vlazp0aGlzLmlzbzg2MDFXZWVrLHNob3J0WWVhckN1dG9mZjoiKzEwIixtaW5EYXRlOm51bGwsbWF4RGF0ZTpudWxsLGR1cmF0aW9uOiJmYXN0IixiZWZvcmVTaG93RGF5Om51bGwsYmVmb3JlU2hvdzpudWxsLG9uU2VsZWN0Om51bGwsb25DaGFuZ2VNb250aFllYXI6bnVsbCxvbkNsb3NlOm51bGwsbnVtYmVyT2ZNb250aHM6MSxzaG93Q3VycmVudEF0UG9zOjAsc3RlcE1vbnRoczoxLHN0ZXBCaWdNb250aHM6MTIsYWx0RmllbGQ6IiIsYWx0Rm9ybWF0OiIiLGNvbnN0cmFpbklucHV0OiEwLHNob3dCdXR0b25QYW5lbDohMSxhdXRvU2l6ZTohMSxkaXNhYmxlZDohMX0sdC5leHRlbmQodGhpcy5fZGVmYXVsdHMsdGhpcy5yZWdpb25hbFsiIl0pLHRoaXMucmVnaW9uYWwuZW49dC5leHRlbmQoITAse30sdGhpcy5yZWdpb25hbFsiIl0pLHRoaXMucmVnaW9uYWxbImVuLVVTIl09dC5leHRlbmQoITAse30sdGhpcy5yZWdpb25hbC5lbiksdGhpcy5kcERpdj1uKHQoIjxkaXYgaWQ9JyIrdGhpcy5fbWFpbkRpdklkKyInIGNsYXNzPSd1aS1kYXRlcGlja2VyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLWFsbCc+PC9kaXY+IikpfWZ1bmN0aW9uIG4oZSl7dmFyIGk9ImJ1dHRvbiwgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXItbmV4dCwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSI7cmV0dXJuIGUub24oIm1vdXNlb3V0IixpLGZ1bmN0aW9uKCl7dCh0aGlzKS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKSwtMSE9PXRoaXMuY2xhc3NOYW1lLmluZGV4T2YoInVpLWRhdGVwaWNrZXItcHJldiIpJiZ0KHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1kYXRlcGlja2VyLXByZXYtaG92ZXIiKSwtMSE9PXRoaXMuY2xhc3NOYW1lLmluZGV4T2YoInVpLWRhdGVwaWNrZXItbmV4dCIpJiZ0KHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1kYXRlcGlja2VyLW5leHQtaG92ZXIiKX0pLm9uKCJtb3VzZW92ZXIiLGksbyl9ZnVuY3Rpb24gbygpe3QuZGF0ZXBpY2tlci5faXNEaXNhYmxlZERhdGVwaWNrZXIobS5pbmxpbmU/bS5kcERpdi5wYXJlbnQoKVswXTptLmlucHV0WzBdKXx8KHQodGhpcykucGFyZW50cygiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIiKS5maW5kKCJhIikucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWhvdmVyIiksdCh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtaG92ZXIiKSwtMSE9PXRoaXMuY2xhc3NOYW1lLmluZGV4T2YoInVpLWRhdGVwaWNrZXItcHJldiIpJiZ0KHRoaXMpLmFkZENsYXNzKCJ1aS1kYXRlcGlja2VyLXByZXYtaG92ZXIiKSwtMSE9PXRoaXMuY2xhc3NOYW1lLmluZGV4T2YoInVpLWRhdGVwaWNrZXItbmV4dCIpJiZ0KHRoaXMpLmFkZENsYXNzKCJ1aS1kYXRlcGlja2VyLW5leHQtaG92ZXIiKSl9ZnVuY3Rpb24gYShlLGkpe3QuZXh0ZW5kKGUsaSk7Zm9yKHZhciBzIGluIGkpbnVsbD09aVtzXSYmKGVbc109aVtzXSk7cmV0dXJuIGV9ZnVuY3Rpb24gcih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLmVsZW1lbnQudmFsKCk7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fcmVmcmVzaCgpLGUhPT10aGlzLmVsZW1lbnQudmFsKCkmJnRoaXMuX3RyaWdnZXIoImNoYW5nZSIpfX10LnVpPXQudWl8fHt9LHQudWkudmVyc2lvbj0iMS4xMi4xIjt2YXIgaD0wLGw9QXJyYXkucHJvdG90eXBlLnNsaWNlO3QuY2xlYW5EYXRhPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcyxuLG87Zm9yKG89MDtudWxsIT0obj1pW29dKTtvKyspdHJ5e3M9dC5fZGF0YShuLCJldmVudHMiKSxzJiZzLnJlbW92ZSYmdChuKS50cmlnZ2VySGFuZGxlcigicmVtb3ZlIil9Y2F0Y2goYSl7fWUoaSl9fSh0LmNsZWFuRGF0YSksdC53aWRnZXQ9ZnVuY3Rpb24oZSxpLHMpe3ZhciBuLG8sYSxyPXt9LGg9ZS5zcGxpdCgiLiIpWzBdO2U9ZS5zcGxpdCgiLiIpWzFdO3ZhciBsPWgrIi0iK2U7cmV0dXJuIHN8fChzPWksaT10LldpZGdldCksdC5pc0FycmF5KHMpJiYocz10LmV4dGVuZC5hcHBseShudWxsLFt7fV0uY29uY2F0KHMpKSksdC5leHByWyI6Il1bbC50b0xvd2VyQ2FzZSgpXT1mdW5jdGlvbihlKXtyZXR1cm4hIXQuZGF0YShlLGwpfSx0W2hdPXRbaF18fHt9LG49dFtoXVtlXSxvPXRbaF1bZV09ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fY3JlYXRlV2lkZ2V0Pyhhcmd1bWVudHMubGVuZ3RoJiZ0aGlzLl9jcmVhdGVXaWRnZXQodCxlKSx2b2lkIDApOm5ldyBvKHQsZSl9LHQuZXh0ZW5kKG8sbix7dmVyc2lvbjpzLnZlcnNpb24sX3Byb3RvOnQuZXh0ZW5kKHt9LHMpLF9jaGlsZENvbnN0cnVjdG9yczpbXX0pLGE9bmV3IGksYS5vcHRpb25zPXQud2lkZ2V0LmV4dGVuZCh7fSxhLm9wdGlvbnMpLHQuZWFjaChzLGZ1bmN0aW9uKGUscyl7cmV0dXJuIHQuaXNGdW5jdGlvbihzKT8ocltlXT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gaS5wcm90b3R5cGVbZV0uYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIG4odCl7cmV0dXJuIGkucHJvdG90eXBlW2VdLmFwcGx5KHRoaXMsdCl9cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGUsaT10aGlzLl9zdXBlcixvPXRoaXMuX3N1cGVyQXBwbHk7cmV0dXJuIHRoaXMuX3N1cGVyPXQsdGhpcy5fc3VwZXJBcHBseT1uLGU9cy5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fc3VwZXI9aSx0aGlzLl9zdXBlckFwcGx5PW8sZX19KCksdm9pZCAwKToocltlXT1zLHZvaWQgMCl9KSxvLnByb3RvdHlwZT10LndpZGdldC5leHRlbmQoYSx7d2lkZ2V0RXZlbnRQcmVmaXg6bj9hLndpZGdldEV2ZW50UHJlZml4fHxlOmV9LHIse2NvbnN0cnVjdG9yOm8sbmFtZXNwYWNlOmgsd2lkZ2V0TmFtZTplLHdpZGdldEZ1bGxOYW1lOmx9KSxuPyh0LmVhY2gobi5fY2hpbGRDb25zdHJ1Y3RvcnMsZnVuY3Rpb24oZSxpKXt2YXIgcz1pLnByb3RvdHlwZTt0LndpZGdldChzLm5hbWVzcGFjZSsiLiIrcy53aWRnZXROYW1lLG8saS5fcHJvdG8pfSksZGVsZXRlIG4uX2NoaWxkQ29uc3RydWN0b3JzKTppLl9jaGlsZENvbnN0cnVjdG9ycy5wdXNoKG8pLHQud2lkZ2V0LmJyaWRnZShlLG8pLG99LHQud2lkZ2V0LmV4dGVuZD1mdW5jdGlvbihlKXtmb3IodmFyIGkscyxuPWwuY2FsbChhcmd1bWVudHMsMSksbz0wLGE9bi5sZW5ndGg7YT5vO28rKylmb3IoaSBpbiBuW29dKXM9bltvXVtpXSxuW29dLmhhc093blByb3BlcnR5KGkpJiZ2b2lkIDAhPT1zJiYoZVtpXT10LmlzUGxhaW5PYmplY3Qocyk/dC5pc1BsYWluT2JqZWN0KGVbaV0pP3Qud2lkZ2V0LmV4dGVuZCh7fSxlW2ldLHMpOnQud2lkZ2V0LmV4dGVuZCh7fSxzKTpzKTtyZXR1cm4gZX0sdC53aWRnZXQuYnJpZGdlPWZ1bmN0aW9uKGUsaSl7dmFyIHM9aS5wcm90b3R5cGUud2lkZ2V0RnVsbE5hbWV8fGU7dC5mbltlXT1mdW5jdGlvbihuKXt2YXIgbz0ic3RyaW5nIj09dHlwZW9mIG4sYT1sLmNhbGwoYXJndW1lbnRzLDEpLHI9dGhpcztyZXR1cm4gbz90aGlzLmxlbmd0aHx8Imluc3RhbmNlIiE9PW4/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGksbz10LmRhdGEodGhpcyxzKTtyZXR1cm4iaW5zdGFuY2UiPT09bj8ocj1vLCExKTpvP3QuaXNGdW5jdGlvbihvW25dKSYmIl8iIT09bi5jaGFyQXQoMCk/KGk9b1tuXS5hcHBseShvLGEpLGkhPT1vJiZ2b2lkIDAhPT1pPyhyPWkmJmkuanF1ZXJ5P3IucHVzaFN0YWNrKGkuZ2V0KCkpOmksITEpOnZvaWQgMCk6dC5lcnJvcigibm8gc3VjaCBtZXRob2QgJyIrbisiJyBmb3IgIitlKyIgd2lkZ2V0IGluc3RhbmNlIik6dC5lcnJvcigiY2Fubm90IGNhbGwgbWV0aG9kcyBvbiAiK2UrIiBwcmlvciB0byBpbml0aWFsaXphdGlvbjsgIisiYXR0ZW1wdGVkIHRvIGNhbGwgbWV0aG9kICciK24rIiciKX0pOnI9dm9pZCAwOihhLmxlbmd0aCYmKG49dC53aWRnZXQuZXh0ZW5kLmFwcGx5KG51bGwsW25dLmNvbmNhdChhKSkpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPXQuZGF0YSh0aGlzLHMpO2U/KGUub3B0aW9uKG58fHt9KSxlLl9pbml0JiZlLl9pbml0KCkpOnQuZGF0YSh0aGlzLHMsbmV3IGkobix0aGlzKSl9KSkscn19LHQuV2lkZ2V0PWZ1bmN0aW9uKCl7fSx0LldpZGdldC5fY2hpbGRDb25zdHJ1Y3RvcnM9W10sdC5XaWRnZXQucHJvdG90eXBlPXt3aWRnZXROYW1lOiJ3aWRnZXQiLHdpZGdldEV2ZW50UHJlZml4OiIiLGRlZmF1bHRFbGVtZW50OiI8ZGl2PiIsb3B0aW9uczp7Y2xhc3Nlczp7fSxkaXNhYmxlZDohMSxjcmVhdGU6bnVsbH0sX2NyZWF0ZVdpZGdldDpmdW5jdGlvbihlLGkpe2k9dChpfHx0aGlzLmRlZmF1bHRFbGVtZW50fHx0aGlzKVswXSx0aGlzLmVsZW1lbnQ9dChpKSx0aGlzLnV1aWQ9aCsrLHRoaXMuZXZlbnROYW1lc3BhY2U9Ii4iK3RoaXMud2lkZ2V0TmFtZSt0aGlzLnV1aWQsdGhpcy5iaW5kaW5ncz10KCksdGhpcy5ob3ZlcmFibGU9dCgpLHRoaXMuZm9jdXNhYmxlPXQoKSx0aGlzLmNsYXNzZXNFbGVtZW50TG9va3VwPXt9LGkhPT10aGlzJiYodC5kYXRhKGksdGhpcy53aWRnZXRGdWxsTmFtZSx0aGlzKSx0aGlzLl9vbighMCx0aGlzLmVsZW1lbnQse3JlbW92ZTpmdW5jdGlvbih0KXt0LnRhcmdldD09PWkmJnRoaXMuZGVzdHJveSgpfX0pLHRoaXMuZG9jdW1lbnQ9dChpLnN0eWxlP2kub3duZXJEb2N1bWVudDppLmRvY3VtZW50fHxpKSx0aGlzLndpbmRvdz10KHRoaXMuZG9jdW1lbnRbMF0uZGVmYXVsdFZpZXd8fHRoaXMuZG9jdW1lbnRbMF0ucGFyZW50V2luZG93KSksdGhpcy5vcHRpb25zPXQud2lkZ2V0LmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMsdGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygpLGUpLHRoaXMuX2NyZWF0ZSgpLHRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQodGhpcy5vcHRpb25zLmRpc2FibGVkKSx0aGlzLl90cmlnZ2VyKCJjcmVhdGUiLG51bGwsdGhpcy5fZ2V0Q3JlYXRlRXZlbnREYXRhKCkpLHRoaXMuX2luaXQoKX0sX2dldENyZWF0ZU9wdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm57fX0sX2dldENyZWF0ZUV2ZW50RGF0YTp0Lm5vb3AsX2NyZWF0ZTp0Lm5vb3AsX2luaXQ6dC5ub29wLGRlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2Rlc3Ryb3koKSx0LmVhY2godGhpcy5jbGFzc2VzRWxlbWVudExvb2t1cCxmdW5jdGlvbih0LGkpe2UuX3JlbW92ZUNsYXNzKGksdCl9KSx0aGlzLmVsZW1lbnQub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpLnJlbW92ZURhdGEodGhpcy53aWRnZXRGdWxsTmFtZSksdGhpcy53aWRnZXQoKS5vZmYodGhpcy5ldmVudE5hbWVzcGFjZSkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLHRoaXMuYmluZGluZ3Mub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpfSxfZGVzdHJveTp0Lm5vb3Asd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKGUsaSl7dmFyIHMsbixvLGE9ZTtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyk7aWYoInN0cmluZyI9PXR5cGVvZiBlKWlmKGE9e30scz1lLnNwbGl0KCIuIiksZT1zLnNoaWZ0KCkscy5sZW5ndGgpe2ZvcihuPWFbZV09dC53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1tlXSksbz0wO3MubGVuZ3RoLTE+bztvKyspbltzW29dXT1uW3Nbb11dfHx7fSxuPW5bc1tvXV07aWYoZT1zLnBvcCgpLDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1uW2VdP251bGw6bltlXTtuW2VdPWl9ZWxzZXtpZigxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09dGhpcy5vcHRpb25zW2VdP251bGw6dGhpcy5vcHRpb25zW2VdO2FbZV09aX1yZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyhhKSx0aGlzfSxfc2V0T3B0aW9uczpmdW5jdGlvbih0KXt2YXIgZTtmb3IoZSBpbiB0KXRoaXMuX3NldE9wdGlvbihlLHRbZV0pO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuImNsYXNzZXMiPT09dCYmdGhpcy5fc2V0T3B0aW9uQ2xhc3NlcyhlKSx0aGlzLm9wdGlvbnNbdF09ZSwiZGlzYWJsZWQiPT09dCYmdGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQoZSksdGhpc30sX3NldE9wdGlvbkNsYXNzZXM6ZnVuY3Rpb24oZSl7dmFyIGkscyxuO2ZvcihpIGluIGUpbj10aGlzLmNsYXNzZXNFbGVtZW50TG9va3VwW2ldLGVbaV0hPT10aGlzLm9wdGlvbnMuY2xhc3Nlc1tpXSYmbiYmbi5sZW5ndGgmJihzPXQobi5nZXQoKSksdGhpcy5fcmVtb3ZlQ2xhc3MobixpKSxzLmFkZENsYXNzKHRoaXMuX2NsYXNzZXMoe2VsZW1lbnQ6cyxrZXlzOmksY2xhc3NlczplLGFkZDohMH0pKSl9LF9zZXRPcHRpb25EaXNhYmxlZDpmdW5jdGlvbih0KXt0aGlzLl90b2dnbGVDbGFzcyh0aGlzLndpZGdldCgpLHRoaXMud2lkZ2V0RnVsbE5hbWUrIi1kaXNhYmxlZCIsbnVsbCwhIXQpLHQmJih0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLmhvdmVyYWJsZSxudWxsLCJ1aS1zdGF0ZS1ob3ZlciIpLHRoaXMuX3JlbW92ZUNsYXNzKHRoaXMuZm9jdXNhYmxlLG51bGwsInVpLXN0YXRlLWZvY3VzIikpfSxlbmFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyh7ZGlzYWJsZWQ6ITF9KX0sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zZXRPcHRpb25zKHtkaXNhYmxlZDohMH0pfSxfY2xhc3NlczpmdW5jdGlvbihlKXtmdW5jdGlvbiBpKGksbyl7dmFyIGEscjtmb3Iocj0wO2kubGVuZ3RoPnI7cisrKWE9bi5jbGFzc2VzRWxlbWVudExvb2t1cFtpW3JdXXx8dCgpLGE9ZS5hZGQ/dCh0LnVuaXF1ZShhLmdldCgpLmNvbmNhdChlLmVsZW1lbnQuZ2V0KCkpKSk6dChhLm5vdChlLmVsZW1lbnQpLmdldCgpKSxuLmNsYXNzZXNFbGVtZW50TG9va3VwW2lbcl1dPWEscy5wdXNoKGlbcl0pLG8mJmUuY2xhc3Nlc1tpW3JdXSYmcy5wdXNoKGUuY2xhc3Nlc1tpW3JdXSl9dmFyIHM9W10sbj10aGlzO3JldHVybiBlPXQuZXh0ZW5kKHtlbGVtZW50OnRoaXMuZWxlbWVudCxjbGFzc2VzOnRoaXMub3B0aW9ucy5jbGFzc2VzfHx7fX0sZSksdGhpcy5fb24oZS5lbGVtZW50LHtyZW1vdmU6Il91bnRyYWNrQ2xhc3Nlc0VsZW1lbnQifSksZS5rZXlzJiZpKGUua2V5cy5tYXRjaCgvXFMrL2cpfHxbXSwhMCksZS5leHRyYSYmaShlLmV4dHJhLm1hdGNoKC9cUysvZyl8fFtdKSxzLmpvaW4oIiAiKX0sX3VudHJhY2tDbGFzc2VzRWxlbWVudDpmdW5jdGlvbihlKXt2YXIgaT10aGlzO3QuZWFjaChpLmNsYXNzZXNFbGVtZW50TG9va3VwLGZ1bmN0aW9uKHMsbil7LTEhPT10LmluQXJyYXkoZS50YXJnZXQsbikmJihpLmNsYXNzZXNFbGVtZW50TG9va3VwW3NdPXQobi5ub3QoZS50YXJnZXQpLmdldCgpKSl9KX0sX3JlbW92ZUNsYXNzOmZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdGhpcy5fdG9nZ2xlQ2xhc3ModCxlLGksITEpfSxfYWRkQ2xhc3M6ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0aGlzLl90b2dnbGVDbGFzcyh0LGUsaSwhMCl9LF90b2dnbGVDbGFzczpmdW5jdGlvbih0LGUsaSxzKXtzPSJib29sZWFuIj09dHlwZW9mIHM/czppO3ZhciBuPSJzdHJpbmciPT10eXBlb2YgdHx8bnVsbD09PXQsbz17ZXh0cmE6bj9lOmksa2V5czpuP3Q6ZSxlbGVtZW50Om4/dGhpcy5lbGVtZW50OnQsYWRkOnN9O3JldHVybiBvLmVsZW1lbnQudG9nZ2xlQ2xhc3ModGhpcy5fY2xhc3NlcyhvKSxzKSx0aGlzfSxfb246ZnVuY3Rpb24oZSxpLHMpe3ZhciBuLG89dGhpczsiYm9vbGVhbiIhPXR5cGVvZiBlJiYocz1pLGk9ZSxlPSExKSxzPyhpPW49dChpKSx0aGlzLmJpbmRpbmdzPXRoaXMuYmluZGluZ3MuYWRkKGkpKToocz1pLGk9dGhpcy5lbGVtZW50LG49dGhpcy53aWRnZXQoKSksdC5lYWNoKHMsZnVuY3Rpb24ocyxhKXtmdW5jdGlvbiByKCl7cmV0dXJuIGV8fG8ub3B0aW9ucy5kaXNhYmxlZCE9PSEwJiYhdCh0aGlzKS5oYXNDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKT8oInN0cmluZyI9PXR5cGVvZiBhP29bYV06YSkuYXBwbHkobyxhcmd1bWVudHMpOnZvaWQgMH0ic3RyaW5nIiE9dHlwZW9mIGEmJihyLmd1aWQ9YS5ndWlkPWEuZ3VpZHx8ci5ndWlkfHx0Lmd1aWQrKyk7dmFyIGg9cy5tYXRjaCgvXihbXHc6LV0qKVxzKiguKikkLyksbD1oWzFdK28uZXZlbnROYW1lc3BhY2UsYz1oWzJdO2M/bi5vbihsLGMscik6aS5vbihsLHIpfSl9LF9vZmY6ZnVuY3Rpb24oZSxpKXtpPShpfHwiIikuc3BsaXQoIiAiKS5qb2luKHRoaXMuZXZlbnROYW1lc3BhY2UrIiAiKSt0aGlzLmV2ZW50TmFtZXNwYWNlLGUub2ZmKGkpLm9mZihpKSx0aGlzLmJpbmRpbmdzPXQodGhpcy5iaW5kaW5ncy5ub3QoZSkuZ2V0KCkpLHRoaXMuZm9jdXNhYmxlPXQodGhpcy5mb2N1c2FibGUubm90KGUpLmdldCgpKSx0aGlzLmhvdmVyYWJsZT10KHRoaXMuaG92ZXJhYmxlLm5vdChlKS5nZXQoKSl9LF9kZWxheTpmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIGkoKXtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiB0P3NbdF06dCkuYXBwbHkocyxhcmd1bWVudHMpfXZhciBzPXRoaXM7cmV0dXJuIHNldFRpbWVvdXQoaSxlfHwwKX0sX2hvdmVyYWJsZTpmdW5jdGlvbihlKXt0aGlzLmhvdmVyYWJsZT10aGlzLmhvdmVyYWJsZS5hZGQoZSksdGhpcy5fb24oZSx7bW91c2VlbnRlcjpmdW5jdGlvbihlKXt0aGlzLl9hZGRDbGFzcyh0KGUuY3VycmVudFRhcmdldCksbnVsbCwidWktc3RhdGUtaG92ZXIiKX0sbW91c2VsZWF2ZTpmdW5jdGlvbihlKXt0aGlzLl9yZW1vdmVDbGFzcyh0KGUuY3VycmVudFRhcmdldCksbnVsbCwidWktc3RhdGUtaG92ZXIiKX19KX0sX2ZvY3VzYWJsZTpmdW5jdGlvbihlKXt0aGlzLmZvY3VzYWJsZT10aGlzLmZvY3VzYWJsZS5hZGQoZSksdGhpcy5fb24oZSx7Zm9jdXNpbjpmdW5jdGlvbihlKXt0aGlzLl9hZGRDbGFzcyh0KGUuY3VycmVudFRhcmdldCksbnVsbCwidWktc3RhdGUtZm9jdXMiKX0sZm9jdXNvdXQ6ZnVuY3Rpb24oZSl7dGhpcy5fcmVtb3ZlQ2xhc3ModChlLmN1cnJlbnRUYXJnZXQpLG51bGwsInVpLXN0YXRlLWZvY3VzIil9fSl9LF90cmlnZ2VyOmZ1bmN0aW9uKGUsaSxzKXt2YXIgbixvLGE9dGhpcy5vcHRpb25zW2VdO2lmKHM9c3x8e30saT10LkV2ZW50KGkpLGkudHlwZT0oZT09PXRoaXMud2lkZ2V0RXZlbnRQcmVmaXg/ZTp0aGlzLndpZGdldEV2ZW50UHJlZml4K2UpLnRvTG93ZXJDYXNlKCksaS50YXJnZXQ9dGhpcy5lbGVtZW50WzBdLG89aS5vcmlnaW5hbEV2ZW50KWZvcihuIGluIG8pbiBpbiBpfHwoaVtuXT1vW25dKTtyZXR1cm4gdGhpcy5lbGVtZW50LnRyaWdnZXIoaSxzKSwhKHQuaXNGdW5jdGlvbihhKSYmYS5hcHBseSh0aGlzLmVsZW1lbnRbMF0sW2ldLmNvbmNhdChzKSk9PT0hMXx8aS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl9fSx0LmVhY2goe3Nob3c6ImZhZGVJbiIsaGlkZToiZmFkZU91dCJ9LGZ1bmN0aW9uKGUsaSl7dC5XaWRnZXQucHJvdG90eXBlWyJfIitlXT1mdW5jdGlvbihzLG4sbyl7InN0cmluZyI9PXR5cGVvZiBuJiYobj17ZWZmZWN0Om59KTt2YXIgYSxyPW4/bj09PSEwfHwibnVtYmVyIj09dHlwZW9mIG4/aTpuLmVmZmVjdHx8aTplO249bnx8e30sIm51bWJlciI9PXR5cGVvZiBuJiYobj17ZHVyYXRpb246bn0pLGE9IXQuaXNFbXB0eU9iamVjdChuKSxuLmNvbXBsZXRlPW8sbi5kZWxheSYmcy5kZWxheShuLmRlbGF5KSxhJiZ0LmVmZmVjdHMmJnQuZWZmZWN0cy5lZmZlY3Rbcl0/c1tlXShuKTpyIT09ZSYmc1tyXT9zW3JdKG4uZHVyYXRpb24sbi5lYXNpbmcsbyk6cy5xdWV1ZShmdW5jdGlvbihpKXt0KHRoaXMpW2VdKCksbyYmby5jYWxsKHNbMF0pLGkoKX0pfX0pLHQud2lkZ2V0LGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LGUsaSl7cmV0dXJuW3BhcnNlRmxvYXQodFswXSkqKHUudGVzdCh0WzBdKT9lLzEwMDoxKSxwYXJzZUZsb2F0KHRbMV0pKih1LnRlc3QodFsxXSk/aS8xMDA6MSldfWZ1bmN0aW9uIGkoZSxpKXtyZXR1cm4gcGFyc2VJbnQodC5jc3MoZSxpKSwxMCl8fDB9ZnVuY3Rpb24gcyhlKXt2YXIgaT1lWzBdO3JldHVybiA5PT09aS5ub2RlVHlwZT97d2lkdGg6ZS53aWR0aCgpLGhlaWdodDplLmhlaWdodCgpLG9mZnNldDp7dG9wOjAsbGVmdDowfX06dC5pc1dpbmRvdyhpKT97d2lkdGg6ZS53aWR0aCgpLGhlaWdodDplLmhlaWdodCgpLG9mZnNldDp7dG9wOmUuc2Nyb2xsVG9wKCksbGVmdDplLnNjcm9sbExlZnQoKX19OmkucHJldmVudERlZmF1bHQ/e3dpZHRoOjAsaGVpZ2h0OjAsb2Zmc2V0Ont0b3A6aS5wYWdlWSxsZWZ0OmkucGFnZVh9fTp7d2lkdGg6ZS5vdXRlcldpZHRoKCksaGVpZ2h0OmUub3V0ZXJIZWlnaHQoKSxvZmZzZXQ6ZS5vZmZzZXQoKX19dmFyIG4sbz1NYXRoLm1heCxhPU1hdGguYWJzLHI9L2xlZnR8Y2VudGVyfHJpZ2h0LyxoPS90b3B8Y2VudGVyfGJvdHRvbS8sbD0vW1wrXC1dXGQrKFwuW1xkXSspPyU/LyxjPS9eXHcrLyx1PS8lJC8sZD10LmZuLnBvc2l0aW9uO3QucG9zaXRpb249e3Njcm9sbGJhcldpZHRoOmZ1bmN0aW9uKCl7aWYodm9pZCAwIT09bilyZXR1cm4gbjt2YXIgZSxpLHM9dCgiPGRpdiBzdHlsZT0nZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OmhpZGRlbjsnPjxkaXYgc3R5bGU9J2hlaWdodDoxMDBweDt3aWR0aDphdXRvOyc+PC9kaXY+PC9kaXY+Iiksbz1zLmNoaWxkcmVuKClbMF07cmV0dXJuIHQoImJvZHkiKS5hcHBlbmQocyksZT1vLm9mZnNldFdpZHRoLHMuY3NzKCJvdmVyZmxvdyIsInNjcm9sbCIpLGk9by5vZmZzZXRXaWR0aCxlPT09aSYmKGk9c1swXS5jbGllbnRXaWR0aCkscy5yZW1vdmUoKSxuPWUtaX0sZ2V0U2Nyb2xsSW5mbzpmdW5jdGlvbihlKXt2YXIgaT1lLmlzV2luZG93fHxlLmlzRG9jdW1lbnQ/IiI6ZS5lbGVtZW50LmNzcygib3ZlcmZsb3cteCIpLHM9ZS5pc1dpbmRvd3x8ZS5pc0RvY3VtZW50PyIiOmUuZWxlbWVudC5jc3MoIm92ZXJmbG93LXkiKSxuPSJzY3JvbGwiPT09aXx8ImF1dG8iPT09aSYmZS53aWR0aDxlLmVsZW1lbnRbMF0uc2Nyb2xsV2lkdGgsbz0ic2Nyb2xsIj09PXN8fCJhdXRvIj09PXMmJmUuaGVpZ2h0PGUuZWxlbWVudFswXS5zY3JvbGxIZWlnaHQ7cmV0dXJue3dpZHRoOm8/dC5wb3NpdGlvbi5zY3JvbGxiYXJXaWR0aCgpOjAsaGVpZ2h0Om4/dC5wb3NpdGlvbi5zY3JvbGxiYXJXaWR0aCgpOjB9fSxnZXRXaXRoaW5JbmZvOmZ1bmN0aW9uKGUpe3ZhciBpPXQoZXx8d2luZG93KSxzPXQuaXNXaW5kb3coaVswXSksbj0hIWlbMF0mJjk9PT1pWzBdLm5vZGVUeXBlLG89IXMmJiFuO3JldHVybntlbGVtZW50OmksaXNXaW5kb3c6cyxpc0RvY3VtZW50Om4sb2Zmc2V0Om8/dChlKS5vZmZzZXQoKTp7bGVmdDowLHRvcDowfSxzY3JvbGxMZWZ0Omkuc2Nyb2xsTGVmdCgpLHNjcm9sbFRvcDppLnNjcm9sbFRvcCgpLHdpZHRoOmkub3V0ZXJXaWR0aCgpLGhlaWdodDppLm91dGVySGVpZ2h0KCl9fX0sdC5mbi5wb3NpdGlvbj1mdW5jdGlvbihuKXtpZighbnx8IW4ub2YpcmV0dXJuIGQuYXBwbHkodGhpcyxhcmd1bWVudHMpO249dC5leHRlbmQoe30sbik7dmFyIHUscCxmLGcsbSxfLHY9dChuLm9mKSxiPXQucG9zaXRpb24uZ2V0V2l0aGluSW5mbyhuLndpdGhpbikseT10LnBvc2l0aW9uLmdldFNjcm9sbEluZm8oYiksdz0obi5jb2xsaXNpb258fCJmbGlwIikuc3BsaXQoIiAiKSxrPXt9O3JldHVybiBfPXModiksdlswXS5wcmV2ZW50RGVmYXVsdCYmKG4uYXQ9ImxlZnQgdG9wIikscD1fLndpZHRoLGY9Xy5oZWlnaHQsZz1fLm9mZnNldCxtPXQuZXh0ZW5kKHt9LGcpLHQuZWFjaChbIm15IiwiYXQiXSxmdW5jdGlvbigpe3ZhciB0LGUsaT0oblt0aGlzXXx8IiIpLnNwbGl0KCIgIik7MT09PWkubGVuZ3RoJiYoaT1yLnRlc3QoaVswXSk/aS5jb25jYXQoWyJjZW50ZXIiXSk6aC50ZXN0KGlbMF0pP1siY2VudGVyIl0uY29uY2F0KGkpOlsiY2VudGVyIiwiY2VudGVyIl0pLGlbMF09ci50ZXN0KGlbMF0pP2lbMF06ImNlbnRlciIsaVsxXT1oLnRlc3QoaVsxXSk/aVsxXToiY2VudGVyIix0PWwuZXhlYyhpWzBdKSxlPWwuZXhlYyhpWzFdKSxrW3RoaXNdPVt0P3RbMF06MCxlP2VbMF06MF0sblt0aGlzXT1bYy5leGVjKGlbMF0pWzBdLGMuZXhlYyhpWzFdKVswXV19KSwxPT09dy5sZW5ndGgmJih3WzFdPXdbMF0pLCJyaWdodCI9PT1uLmF0WzBdP20ubGVmdCs9cDoiY2VudGVyIj09PW4uYXRbMF0mJihtLmxlZnQrPXAvMiksImJvdHRvbSI9PT1uLmF0WzFdP20udG9wKz1mOiJjZW50ZXIiPT09bi5hdFsxXSYmKG0udG9wKz1mLzIpLHU9ZShrLmF0LHAsZiksbS5sZWZ0Kz11WzBdLG0udG9wKz11WzFdLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBzLHIsaD10KHRoaXMpLGw9aC5vdXRlcldpZHRoKCksYz1oLm91dGVySGVpZ2h0KCksZD1pKHRoaXMsIm1hcmdpbkxlZnQiKSxfPWkodGhpcywibWFyZ2luVG9wIikseD1sK2QraSh0aGlzLCJtYXJnaW5SaWdodCIpK3kud2lkdGgsQz1jK18raSh0aGlzLCJtYXJnaW5Cb3R0b20iKSt5LmhlaWdodCxEPXQuZXh0ZW5kKHt9LG0pLEk9ZShrLm15LGgub3V0ZXJXaWR0aCgpLGgub3V0ZXJIZWlnaHQoKSk7InJpZ2h0Ij09PW4ubXlbMF0/RC5sZWZ0LT1sOiJjZW50ZXIiPT09bi5teVswXSYmKEQubGVmdC09bC8yKSwiYm90dG9tIj09PW4ubXlbMV0/RC50b3AtPWM6ImNlbnRlciI9PT1uLm15WzFdJiYoRC50b3AtPWMvMiksRC5sZWZ0Kz1JWzBdLEQudG9wKz1JWzFdLHM9e21hcmdpbkxlZnQ6ZCxtYXJnaW5Ub3A6X30sdC5lYWNoKFsibGVmdCIsInRvcCJdLGZ1bmN0aW9uKGUsaSl7dC51aS5wb3NpdGlvblt3W2VdXSYmdC51aS5wb3NpdGlvblt3W2VdXVtpXShELHt0YXJnZXRXaWR0aDpwLHRhcmdldEhlaWdodDpmLGVsZW1XaWR0aDpsLGVsZW1IZWlnaHQ6Yyxjb2xsaXNpb25Qb3NpdGlvbjpzLGNvbGxpc2lvbldpZHRoOngsY29sbGlzaW9uSGVpZ2h0OkMsb2Zmc2V0Olt1WzBdK0lbMF0sdVsxXStJWzFdXSxteTpuLm15LGF0Om4uYXQsd2l0aGluOmIsZWxlbTpofSl9KSxuLnVzaW5nJiYocj1mdW5jdGlvbih0KXt2YXIgZT1nLmxlZnQtRC5sZWZ0LGk9ZStwLWwscz1nLnRvcC1ELnRvcCxyPXMrZi1jLHU9e3RhcmdldDp7ZWxlbWVudDp2LGxlZnQ6Zy5sZWZ0LHRvcDpnLnRvcCx3aWR0aDpwLGhlaWdodDpmfSxlbGVtZW50OntlbGVtZW50OmgsbGVmdDpELmxlZnQsdG9wOkQudG9wLHdpZHRoOmwsaGVpZ2h0OmN9LGhvcml6b250YWw6MD5pPyJsZWZ0IjplPjA/InJpZ2h0IjoiY2VudGVyIix2ZXJ0aWNhbDowPnI/InRvcCI6cz4wPyJib3R0b20iOiJtaWRkbGUifTtsPnAmJnA+YShlK2kpJiYodS5ob3Jpem9udGFsPSJjZW50ZXIiKSxjPmYmJmY+YShzK3IpJiYodS52ZXJ0aWNhbD0ibWlkZGxlIiksdS5pbXBvcnRhbnQ9byhhKGUpLGEoaSkpPm8oYShzKSxhKHIpKT8iaG9yaXpvbnRhbCI6InZlcnRpY2FsIixuLnVzaW5nLmNhbGwodGhpcyx0LHUpfSksaC5vZmZzZXQodC5leHRlbmQoRCx7dXNpbmc6cn0pKX0pfSx0LnVpLnBvc2l0aW9uPXtmaXQ6e2xlZnQ6ZnVuY3Rpb24odCxlKXt2YXIgaSxzPWUud2l0aGluLG49cy5pc1dpbmRvdz9zLnNjcm9sbExlZnQ6cy5vZmZzZXQubGVmdCxhPXMud2lkdGgscj10LmxlZnQtZS5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0LGg9bi1yLGw9citlLmNvbGxpc2lvbldpZHRoLWEtbjtlLmNvbGxpc2lvbldpZHRoPmE/aD4wJiYwPj1sPyhpPXQubGVmdCtoK2UuY29sbGlzaW9uV2lkdGgtYS1uLHQubGVmdCs9aC1pKTp0LmxlZnQ9bD4wJiYwPj1oP246aD5sP24rYS1lLmNvbGxpc2lvbldpZHRoOm46aD4wP3QubGVmdCs9aDpsPjA/dC5sZWZ0LT1sOnQubGVmdD1vKHQubGVmdC1yLHQubGVmdCl9LHRvcDpmdW5jdGlvbih0LGUpe3ZhciBpLHM9ZS53aXRoaW4sbj1zLmlzV2luZG93P3Muc2Nyb2xsVG9wOnMub2Zmc2V0LnRvcCxhPWUud2l0aGluLmhlaWdodCxyPXQudG9wLWUuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wLGg9bi1yLGw9citlLmNvbGxpc2lvbkhlaWdodC1hLW47ZS5jb2xsaXNpb25IZWlnaHQ+YT9oPjAmJjA+PWw/KGk9dC50b3AraCtlLmNvbGxpc2lvbkhlaWdodC1hLW4sdC50b3ArPWgtaSk6dC50b3A9bD4wJiYwPj1oP246aD5sP24rYS1lLmNvbGxpc2lvbkhlaWdodDpuOmg+MD90LnRvcCs9aDpsPjA/dC50b3AtPWw6dC50b3A9byh0LnRvcC1yLHQudG9wKX19LGZsaXA6e2xlZnQ6ZnVuY3Rpb24odCxlKXt2YXIgaSxzLG49ZS53aXRoaW4sbz1uLm9mZnNldC5sZWZ0K24uc2Nyb2xsTGVmdCxyPW4ud2lkdGgsaD1uLmlzV2luZG93P24uc2Nyb2xsTGVmdDpuLm9mZnNldC5sZWZ0LGw9dC5sZWZ0LWUuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCxjPWwtaCx1PWwrZS5jb2xsaXNpb25XaWR0aC1yLWgsZD0ibGVmdCI9PT1lLm15WzBdPy1lLmVsZW1XaWR0aDoicmlnaHQiPT09ZS5teVswXT9lLmVsZW1XaWR0aDowLHA9ImxlZnQiPT09ZS5hdFswXT9lLnRhcmdldFdpZHRoOiJyaWdodCI9PT1lLmF0WzBdPy1lLnRhcmdldFdpZHRoOjAsZj0tMiplLm9mZnNldFswXTswPmM/KGk9dC5sZWZ0K2QrcCtmK2UuY29sbGlzaW9uV2lkdGgtci1vLCgwPml8fGEoYyk+aSkmJih0LmxlZnQrPWQrcCtmKSk6dT4wJiYocz10LmxlZnQtZS5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0K2QrcCtmLWgsKHM+MHx8dT5hKHMpKSYmKHQubGVmdCs9ZCtwK2YpKX0sdG9wOmZ1bmN0aW9uKHQsZSl7dmFyIGkscyxuPWUud2l0aGluLG89bi5vZmZzZXQudG9wK24uc2Nyb2xsVG9wLHI9bi5oZWlnaHQsaD1uLmlzV2luZG93P24uc2Nyb2xsVG9wOm4ub2Zmc2V0LnRvcCxsPXQudG9wLWUuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wLGM9bC1oLHU9bCtlLmNvbGxpc2lvbkhlaWdodC1yLWgsZD0idG9wIj09PWUubXlbMV0scD1kPy1lLmVsZW1IZWlnaHQ6ImJvdHRvbSI9PT1lLm15WzFdP2UuZWxlbUhlaWdodDowLGY9InRvcCI9PT1lLmF0WzFdP2UudGFyZ2V0SGVpZ2h0OiJib3R0b20iPT09ZS5hdFsxXT8tZS50YXJnZXRIZWlnaHQ6MCxnPS0yKmUub2Zmc2V0WzFdOzA+Yz8ocz10LnRvcCtwK2YrZytlLmNvbGxpc2lvbkhlaWdodC1yLW8sKDA+c3x8YShjKT5zKSYmKHQudG9wKz1wK2YrZykpOnU+MCYmKGk9dC50b3AtZS5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5Ub3ArcCtmK2ctaCwoaT4wfHx1PmEoaSkpJiYodC50b3ArPXArZitnKSl9fSxmbGlwZml0OntsZWZ0OmZ1bmN0aW9uKCl7dC51aS5wb3NpdGlvbi5mbGlwLmxlZnQuYXBwbHkodGhpcyxhcmd1bWVudHMpLHQudWkucG9zaXRpb24uZml0LmxlZnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSx0b3A6ZnVuY3Rpb24oKXt0LnVpLnBvc2l0aW9uLmZsaXAudG9wLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0LnVpLnBvc2l0aW9uLmZpdC50b3AuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19fSgpLHQudWkucG9zaXRpb24sdC5leHRlbmQodC5leHByWyI6Il0se2RhdGE6dC5leHByLmNyZWF0ZVBzZXVkbz90LmV4cHIuY3JlYXRlUHNldWRvKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihpKXtyZXR1cm4hIXQuZGF0YShpLGUpfX0pOmZ1bmN0aW9uKGUsaSxzKXtyZXR1cm4hIXQuZGF0YShlLHNbM10pfX0pLHQuZm4uZXh0ZW5kKHtkaXNhYmxlU2VsZWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9Im9uc2VsZWN0c3RhcnQiaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik/InNlbGVjdHN0YXJ0IjoibW91c2Vkb3duIjtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vbih0KyIudWktZGlzYWJsZVNlbGVjdGlvbiIsZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpfSl9fSgpLGVuYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9mZigiLnVpLWRpc2FibGVTZWxlY3Rpb24iKX19KTt2YXIgYz0idWktZWZmZWN0cy0iLHU9InVpLWVmZmVjdHMtc3R5bGUiLGQ9InVpLWVmZmVjdHMtYW5pbWF0ZWQiLHA9dDt0LmVmZmVjdHM9e2VmZmVjdDp7fX0sZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBpKHQsZSxpKXt2YXIgcz11W2UudHlwZV18fHt9O3JldHVybiBudWxsPT10P2l8fCFlLmRlZj9udWxsOmUuZGVmOih0PXMuZmxvb3I/fn50OnBhcnNlRmxvYXQodCksaXNOYU4odCk/ZS5kZWY6cy5tb2Q/KHQrcy5tb2QpJXMubW9kOjA+dD8wOnQ+cy5tYXg/cy5tYXg6dCl9ZnVuY3Rpb24gcyhpKXt2YXIgcz1sKCksbj1zLl9yZ2JhPVtdO3JldHVybiBpPWkudG9Mb3dlckNhc2UoKSxmKGgsZnVuY3Rpb24odCxvKXt2YXIgYSxyPW8ucmUuZXhlYyhpKSxoPXImJm8ucGFyc2UociksbD1vLnNwYWNlfHwicmdiYSI7cmV0dXJuIGg/KGE9c1tsXShoKSxzW2NbbF0uY2FjaGVdPWFbY1tsXS5jYWNoZV0sbj1zLl9yZ2JhPWEuX3JnYmEsITEpOmV9KSxuLmxlbmd0aD8oIjAsMCwwLDAiPT09bi5qb2luKCkmJnQuZXh0ZW5kKG4sby50cmFuc3BhcmVudCkscyk6b1tpXX1mdW5jdGlvbiBuKHQsZSxpKXtyZXR1cm4gaT0oaSsxKSUxLDE+NippP3QrNiooZS10KSppOjE+MippP2U6Mj4zKmk/dCs2KihlLXQpKigyLzMtaSk6dH12YXIgbyxhPSJiYWNrZ3JvdW5kQ29sb3IgYm9yZGVyQm90dG9tQ29sb3IgYm9yZGVyTGVmdENvbG9yIGJvcmRlclJpZ2h0Q29sb3IgYm9yZGVyVG9wQ29sb3IgY29sb3IgY29sdW1uUnVsZUNvbG9yIG91dGxpbmVDb2xvciB0ZXh0RGVjb3JhdGlvbkNvbG9yIHRleHRFbXBoYXNpc0NvbG9yIixyPS9eKFtcLStdKT1ccyooXGQrXC4/XGQqKS8saD1be3JlOi9yZ2JhP1woXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKixccyooXGR7MSwzfSlccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8scGFyc2U6ZnVuY3Rpb24odCl7cmV0dXJuW3RbMV0sdFsyXSx0WzNdLHRbNF1dfX0se3JlOi9yZ2JhP1woXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8scGFyc2U6ZnVuY3Rpb24odCl7cmV0dXJuWzIuNTUqdFsxXSwyLjU1KnRbMl0sMi41NSp0WzNdLHRbNF1dfX0se3JlOi8jKFthLWYwLTldezJ9KShbYS1mMC05XXsyfSkoW2EtZjAtOV17Mn0pLyxwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm5bcGFyc2VJbnQodFsxXSwxNikscGFyc2VJbnQodFsyXSwxNikscGFyc2VJbnQodFszXSwxNildfX0se3JlOi8jKFthLWYwLTldKShbYS1mMC05XSkoW2EtZjAtOV0pLyxwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm5bcGFyc2VJbnQodFsxXSt0WzFdLDE2KSxwYXJzZUludCh0WzJdK3RbMl0sMTYpLHBhcnNlSW50KHRbM10rdFszXSwxNildfX0se3JlOi9oc2xhP1woXHMqKFxkKyg/OlwuXGQrKT8pXHMqLFxzKihcZCsoPzpcLlxkKyk/KVwlXHMqLFxzKihcZCsoPzpcLlxkKyk/KVwlXHMqKD86LFxzKihcZD8oPzpcLlxkKyk/KVxzKik/XCkvLHNwYWNlOiJoc2xhIixwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm5bdFsxXSx0WzJdLzEwMCx0WzNdLzEwMCx0WzRdXX19XSxsPXQuQ29sb3I9ZnVuY3Rpb24oZSxpLHMsbil7cmV0dXJuIG5ldyB0LkNvbG9yLmZuLnBhcnNlKGUsaSxzLG4pfSxjPXtyZ2JhOntwcm9wczp7cmVkOntpZHg6MCx0eXBlOiJieXRlIn0sZ3JlZW46e2lkeDoxLHR5cGU6ImJ5dGUifSxibHVlOntpZHg6Mix0eXBlOiJieXRlIn19fSxoc2xhOntwcm9wczp7aHVlOntpZHg6MCx0eXBlOiJkZWdyZWVzIn0sc2F0dXJhdGlvbjp7aWR4OjEsdHlwZToicGVyY2VudCJ9LGxpZ2h0bmVzczp7aWR4OjIsdHlwZToicGVyY2VudCJ9fX19LHU9eyJieXRlIjp7Zmxvb3I6ITAsbWF4OjI1NX0scGVyY2VudDp7bWF4OjF9LGRlZ3JlZXM6e21vZDozNjAsZmxvb3I6ITB9fSxkPWwuc3VwcG9ydD17fSxwPXQoIjxwPiIpWzBdLGY9dC5lYWNoO3Auc3R5bGUuY3NzVGV4dD0iYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDEsMSwxLC41KSIsZC5yZ2JhPXAuc3R5bGUuYmFja2dyb3VuZENvbG9yLmluZGV4T2YoInJnYmEiKT4tMSxmKGMsZnVuY3Rpb24odCxlKXtlLmNhY2hlPSJfIit0LGUucHJvcHMuYWxwaGE9e2lkeDozLHR5cGU6InBlcmNlbnQiLGRlZjoxfX0pLGwuZm49dC5leHRlbmQobC5wcm90b3R5cGUse3BhcnNlOmZ1bmN0aW9uKG4sYSxyLGgpe2lmKG49PT1lKXJldHVybiB0aGlzLl9yZ2JhPVtudWxsLG51bGwsbnVsbCxudWxsXSx0aGlzOyhuLmpxdWVyeXx8bi5ub2RlVHlwZSkmJihuPXQobikuY3NzKGEpLGE9ZSk7dmFyIHU9dGhpcyxkPXQudHlwZShuKSxwPXRoaXMuX3JnYmE9W107cmV0dXJuIGEhPT1lJiYobj1bbixhLHIsaF0sZD0iYXJyYXkiKSwic3RyaW5nIj09PWQ/dGhpcy5wYXJzZShzKG4pfHxvLl9kZWZhdWx0KToiYXJyYXkiPT09ZD8oZihjLnJnYmEucHJvcHMsZnVuY3Rpb24odCxlKXtwW2UuaWR4XT1pKG5bZS5pZHhdLGUpfSksdGhpcyk6Im9iamVjdCI9PT1kPyhuIGluc3RhbmNlb2YgbD9mKGMsZnVuY3Rpb24odCxlKXtuW2UuY2FjaGVdJiYodVtlLmNhY2hlXT1uW2UuY2FjaGVdLnNsaWNlKCkpfSk6ZihjLGZ1bmN0aW9uKGUscyl7dmFyIG89cy5jYWNoZTtmKHMucHJvcHMsZnVuY3Rpb24odCxlKXtpZighdVtvXSYmcy50byl7aWYoImFscGhhIj09PXR8fG51bGw9PW5bdF0pcmV0dXJuO3Vbb109cy50byh1Ll9yZ2JhKX11W29dW2UuaWR4XT1pKG5bdF0sZSwhMCl9KSx1W29dJiYwPnQuaW5BcnJheShudWxsLHVbb10uc2xpY2UoMCwzKSkmJih1W29dWzNdPTEscy5mcm9tJiYodS5fcmdiYT1zLmZyb20odVtvXSkpKX0pLHRoaXMpOmV9LGlzOmZ1bmN0aW9uKHQpe3ZhciBpPWwodCkscz0hMCxuPXRoaXM7cmV0dXJuIGYoYyxmdW5jdGlvbih0LG8pe3ZhciBhLHI9aVtvLmNhY2hlXTtyZXR1cm4gciYmKGE9bltvLmNhY2hlXXx8by50byYmby50byhuLl9yZ2JhKXx8W10sZihvLnByb3BzLGZ1bmN0aW9uKHQsaSl7cmV0dXJuIG51bGwhPXJbaS5pZHhdP3M9cltpLmlkeF09PT1hW2kuaWR4XTplfSkpLHN9KSxzfSxfc3BhY2U6ZnVuY3Rpb24oKXt2YXIgdD1bXSxlPXRoaXM7cmV0dXJuIGYoYyxmdW5jdGlvbihpLHMpe2Vbcy5jYWNoZV0mJnQucHVzaChpKX0pLHQucG9wKCl9LHRyYW5zaXRpb246ZnVuY3Rpb24odCxlKXt2YXIgcz1sKHQpLG49cy5fc3BhY2UoKSxvPWNbbl0sYT0wPT09dGhpcy5hbHBoYSgpP2woInRyYW5zcGFyZW50Iik6dGhpcyxyPWFbby5jYWNoZV18fG8udG8oYS5fcmdiYSksaD1yLnNsaWNlKCk7cmV0dXJuIHM9c1tvLmNhY2hlXSxmKG8ucHJvcHMsZnVuY3Rpb24odCxuKXt2YXIgbz1uLmlkeCxhPXJbb10sbD1zW29dLGM9dVtuLnR5cGVdfHx7fTtudWxsIT09bCYmKG51bGw9PT1hP2hbb109bDooYy5tb2QmJihsLWE+Yy5tb2QvMj9hKz1jLm1vZDphLWw+Yy5tb2QvMiYmKGEtPWMubW9kKSksaFtvXT1pKChsLWEpKmUrYSxuKSkpfSksdGhpc1tuXShoKX0sYmxlbmQ6ZnVuY3Rpb24oZSl7aWYoMT09PXRoaXMuX3JnYmFbM10pcmV0dXJuIHRoaXM7dmFyIGk9dGhpcy5fcmdiYS5zbGljZSgpLHM9aS5wb3AoKSxuPWwoZSkuX3JnYmE7cmV0dXJuIGwodC5tYXAoaSxmdW5jdGlvbih0LGUpe3JldHVybigxLXMpKm5bZV0rcyp0fSkpfSx0b1JnYmFTdHJpbmc6ZnVuY3Rpb24oKXt2YXIgZT0icmdiYSgiLGk9dC5tYXAodGhpcy5fcmdiYSxmdW5jdGlvbih0LGUpe3JldHVybiBudWxsPT10P2U+Mj8xOjA6dH0pO3JldHVybiAxPT09aVszXSYmKGkucG9wKCksZT0icmdiKCIpLGUraS5qb2luKCkrIikifSx0b0hzbGFTdHJpbmc6ZnVuY3Rpb24oKXt2YXIgZT0iaHNsYSgiLGk9dC5tYXAodGhpcy5oc2xhKCksZnVuY3Rpb24odCxlKXtyZXR1cm4gbnVsbD09dCYmKHQ9ZT4yPzE6MCksZSYmMz5lJiYodD1NYXRoLnJvdW5kKDEwMCp0KSsiJSIpLHR9KTtyZXR1cm4gMT09PWlbM10mJihpLnBvcCgpLGU9ImhzbCgiKSxlK2kuam9pbigpKyIpIn0sdG9IZXhTdHJpbmc6ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcy5fcmdiYS5zbGljZSgpLHM9aS5wb3AoKTtyZXR1cm4gZSYmaS5wdXNoKH5+KDI1NSpzKSksIiMiK3QubWFwKGksZnVuY3Rpb24odCl7cmV0dXJuIHQ9KHR8fDApLnRvU3RyaW5nKDE2KSwxPT09dC5sZW5ndGg/IjAiK3Q6dH0pLmpvaW4oIiIpfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy5fcmdiYVszXT8idHJhbnNwYXJlbnQiOnRoaXMudG9SZ2JhU3RyaW5nKCl9fSksbC5mbi5wYXJzZS5wcm90b3R5cGU9bC5mbixjLmhzbGEudG89ZnVuY3Rpb24odCl7aWYobnVsbD09dFswXXx8bnVsbD09dFsxXXx8bnVsbD09dFsyXSlyZXR1cm5bbnVsbCxudWxsLG51bGwsdFszXV07dmFyIGUsaSxzPXRbMF0vMjU1LG49dFsxXS8yNTUsbz10WzJdLzI1NSxhPXRbM10scj1NYXRoLm1heChzLG4sbyksaD1NYXRoLm1pbihzLG4sbyksbD1yLWgsYz1yK2gsdT0uNSpjO3JldHVybiBlPWg9PT1yPzA6cz09PXI/NjAqKG4tbykvbCszNjA6bj09PXI/NjAqKG8tcykvbCsxMjA6NjAqKHMtbikvbCsyNDAsaT0wPT09bD8wOi41Pj11P2wvYzpsLygyLWMpLFtNYXRoLnJvdW5kKGUpJTM2MCxpLHUsbnVsbD09YT8xOmFdfSxjLmhzbGEuZnJvbT1mdW5jdGlvbih0KXtpZihudWxsPT10WzBdfHxudWxsPT10WzFdfHxudWxsPT10WzJdKXJldHVybltudWxsLG51bGwsbnVsbCx0WzNdXTt2YXIgZT10WzBdLzM2MCxpPXRbMV0scz10WzJdLG89dFszXSxhPS41Pj1zP3MqKDEraSk6cytpLXMqaSxyPTIqcy1hO3JldHVybltNYXRoLnJvdW5kKDI1NSpuKHIsYSxlKzEvMykpLE1hdGgucm91bmQoMjU1Km4ocixhLGUpKSxNYXRoLnJvdW5kKDI1NSpuKHIsYSxlLTEvMykpLG9dfSxmKGMsZnVuY3Rpb24ocyxuKXt2YXIgbz1uLnByb3BzLGE9bi5jYWNoZSxoPW4udG8sYz1uLmZyb207bC5mbltzXT1mdW5jdGlvbihzKXtpZihoJiYhdGhpc1thXSYmKHRoaXNbYV09aCh0aGlzLl9yZ2JhKSkscz09PWUpcmV0dXJuIHRoaXNbYV0uc2xpY2UoKTt2YXIgbixyPXQudHlwZShzKSx1PSJhcnJheSI9PT1yfHwib2JqZWN0Ij09PXI/czphcmd1bWVudHMsZD10aGlzW2FdLnNsaWNlKCk7cmV0dXJuIGYobyxmdW5jdGlvbih0LGUpe3ZhciBzPXVbIm9iamVjdCI9PT1yP3Q6ZS5pZHhdO251bGw9PXMmJihzPWRbZS5pZHhdKSxkW2UuaWR4XT1pKHMsZSl9KSxjPyhuPWwoYyhkKSksblthXT1kLG4pOmwoZCl9LGYobyxmdW5jdGlvbihlLGkpe2wuZm5bZV18fChsLmZuW2VdPWZ1bmN0aW9uKG4pe3ZhciBvLGE9dC50eXBlKG4pLGg9ImFscGhhIj09PWU/dGhpcy5faHNsYT8iaHNsYSI6InJnYmEiOnMsbD10aGlzW2hdKCksYz1sW2kuaWR4XTtyZXR1cm4idW5kZWZpbmVkIj09PWE/YzooImZ1bmN0aW9uIj09PWEmJihuPW4uY2FsbCh0aGlzLGMpLGE9dC50eXBlKG4pKSxudWxsPT1uJiZpLmVtcHR5P3RoaXM6KCJzdHJpbmciPT09YSYmKG89ci5leGVjKG4pLG8mJihuPWMrcGFyc2VGbG9hdChvWzJdKSooIisiPT09b1sxXT8xOi0xKSkpLGxbaS5pZHhdPW4sdGhpc1toXShsKSkpfSl9KX0pLGwuaG9vaz1mdW5jdGlvbihlKXt2YXIgaT1lLnNwbGl0KCIgIik7ZihpLGZ1bmN0aW9uKGUsaSl7dC5jc3NIb29rc1tpXT17c2V0OmZ1bmN0aW9uKGUsbil7dmFyIG8sYSxyPSIiO2lmKCJ0cmFuc3BhcmVudCIhPT1uJiYoInN0cmluZyIhPT10LnR5cGUobil8fChvPXMobikpKSl7aWYobj1sKG98fG4pLCFkLnJnYmEmJjEhPT1uLl9yZ2JhWzNdKXtmb3IoYT0iYmFja2dyb3VuZENvbG9yIj09PWk/ZS5wYXJlbnROb2RlOmU7KCIiPT09cnx8InRyYW5zcGFyZW50Ij09PXIpJiZhJiZhLnN0eWxlOyl0cnl7cj10LmNzcyhhLCJiYWNrZ3JvdW5kQ29sb3IiKSxhPWEucGFyZW50Tm9kZX1jYXRjaChoKXt9bj1uLmJsZW5kKHImJiJ0cmFuc3BhcmVudCIhPT1yP3I6Il9kZWZhdWx0Iil9bj1uLnRvUmdiYVN0cmluZygpfXRyeXtlLnN0eWxlW2ldPW59Y2F0Y2goaCl7fX19LHQuZnguc3RlcFtpXT1mdW5jdGlvbihlKXtlLmNvbG9ySW5pdHx8KGUuc3RhcnQ9bChlLmVsZW0saSksZS5lbmQ9bChlLmVuZCksZS5jb2xvckluaXQ9ITApLHQuY3NzSG9va3NbaV0uc2V0KGUuZWxlbSxlLnN0YXJ0LnRyYW5zaXRpb24oZS5lbmQsZS5wb3MpKX19KX0sbC5ob29rKGEpLHQuY3NzSG9va3MuYm9yZGVyQ29sb3I9e2V4cGFuZDpmdW5jdGlvbih0KXt2YXIgZT17fTtyZXR1cm4gZihbIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLGZ1bmN0aW9uKGkscyl7ZVsiYm9yZGVyIitzKyJDb2xvciJdPXR9KSxlfX0sbz10LkNvbG9yLm5hbWVzPXthcXVhOiIjMDBmZmZmIixibGFjazoiIzAwMDAwMCIsYmx1ZToiIzAwMDBmZiIsZnVjaHNpYToiI2ZmMDBmZiIsZ3JheToiIzgwODA4MCIsZ3JlZW46IiMwMDgwMDAiLGxpbWU6IiMwMGZmMDAiLG1hcm9vbjoiIzgwMDAwMCIsbmF2eToiIzAwMDA4MCIsb2xpdmU6IiM4MDgwMDAiLHB1cnBsZToiIzgwMDA4MCIscmVkOiIjZmYwMDAwIixzaWx2ZXI6IiNjMGMwYzAiLHRlYWw6IiMwMDgwODAiLHdoaXRlOiIjZmZmZmZmIix5ZWxsb3c6IiNmZmZmMDAiLHRyYW5zcGFyZW50OltudWxsLG51bGwsbnVsbCwwXSxfZGVmYXVsdDoiI2ZmZmZmZiJ9fShwKSxmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIGkscyxuPWUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldz9lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpOmUuY3VycmVudFN0eWxlLG89e307aWYobiYmbi5sZW5ndGgmJm5bMF0mJm5bblswXV0pZm9yKHM9bi5sZW5ndGg7cy0tOylpPW5bc10sInN0cmluZyI9PXR5cGVvZiBuW2ldJiYob1t0LmNhbWVsQ2FzZShpKV09bltpXSk7ZWxzZSBmb3IoaSBpbiBuKSJzdHJpbmciPT10eXBlb2YgbltpXSYmKG9baV09bltpXSk7cmV0dXJuIG99ZnVuY3Rpb24gaShlLGkpe3ZhciBzLG8sYT17fTtmb3IocyBpbiBpKW89aVtzXSxlW3NdIT09byYmKG5bc118fCh0LmZ4LnN0ZXBbc118fCFpc05hTihwYXJzZUZsb2F0KG8pKSkmJihhW3NdPW8pKTtyZXR1cm4gYX12YXIgcz1bImFkZCIsInJlbW92ZSIsInRvZ2dsZSJdLG49e2JvcmRlcjoxLGJvcmRlckJvdHRvbToxLGJvcmRlckNvbG9yOjEsYm9yZGVyTGVmdDoxLGJvcmRlclJpZ2h0OjEsYm9yZGVyVG9wOjEsYm9yZGVyV2lkdGg6MSxtYXJnaW46MSxwYWRkaW5nOjF9O3QuZWFjaChbImJvcmRlckxlZnRTdHlsZSIsImJvcmRlclJpZ2h0U3R5bGUiLCJib3JkZXJCb3R0b21TdHlsZSIsImJvcmRlclRvcFN0eWxlIl0sZnVuY3Rpb24oZSxpKXt0LmZ4LnN0ZXBbaV09ZnVuY3Rpb24odCl7KCJub25lIiE9PXQuZW5kJiYhdC5zZXRBdHRyfHwxPT09dC5wb3MmJiF0LnNldEF0dHIpJiYocC5zdHlsZSh0LmVsZW0saSx0LmVuZCksdC5zZXRBdHRyPSEwKX19KSx0LmZuLmFkZEJhY2t8fCh0LmZuLmFkZEJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PXQ/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIodCkpfSksdC5lZmZlY3RzLmFuaW1hdGVDbGFzcz1mdW5jdGlvbihuLG8sYSxyKXt2YXIgaD10LnNwZWVkKG8sYSxyKTtyZXR1cm4gdGhpcy5xdWV1ZShmdW5jdGlvbigpe3ZhciBvLGE9dCh0aGlzKSxyPWEuYXR0cigiY2xhc3MiKXx8IiIsbD1oLmNoaWxkcmVuP2EuZmluZCgiKiIpLmFkZEJhY2soKTphO2w9bC5tYXAoZnVuY3Rpb24oKXt2YXIgaT10KHRoaXMpO3JldHVybntlbDppLHN0YXJ0OmUodGhpcyl9fSksbz1mdW5jdGlvbigpe3QuZWFjaChzLGZ1bmN0aW9uKHQsZSl7bltlXSYmYVtlKyJDbGFzcyJdKG5bZV0pfSl9LG8oKSxsPWwubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZW5kPWUodGhpcy5lbFswXSksdGhpcy5kaWZmPWkodGhpcy5zdGFydCx0aGlzLmVuZCksdGhpc30pLGEuYXR0cigiY2xhc3MiLHIpLGw9bC5tYXAoZnVuY3Rpb24oKXt2YXIgZT10aGlzLGk9dC5EZWZlcnJlZCgpLHM9dC5leHRlbmQoe30saCx7cXVldWU6ITEsY29tcGxldGU6ZnVuY3Rpb24oKXtpLnJlc29sdmUoZSl9fSk7cmV0dXJuIHRoaXMuZWwuYW5pbWF0ZSh0aGlzLmRpZmYscyksaS5wcm9taXNlKCl9KSx0LndoZW4uYXBwbHkodCxsLmdldCgpKS5kb25lKGZ1bmN0aW9uKCl7bygpLHQuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oKXt2YXIgZT10aGlzLmVsO3QuZWFjaCh0aGlzLmRpZmYsZnVuY3Rpb24odCl7ZS5jc3ModCwiIil9KX0pLGguY29tcGxldGUuY2FsbChhWzBdKX0pfSl9LHQuZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oaSxzLG4sbyl7cmV0dXJuIHM/dC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKHRoaXMse2FkZDppfSxzLG4sbyk6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSh0LmZuLmFkZENsYXNzKSxyZW1vdmVDbGFzczpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oaSxzLG4sbyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MT90LmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyx7cmVtb3ZlOml9LHMsbixvKTplLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KHQuZm4ucmVtb3ZlQ2xhc3MpLHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihpLHMsbixvLGEpe3JldHVybiJib29sZWFuIj09dHlwZW9mIHN8fHZvaWQgMD09PXM/bj90LmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyxzP3thZGQ6aX06e3JlbW92ZTppfSxuLG8sYSk6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKHRoaXMse3RvZ2dsZTppfSxzLG4sbyl9fSh0LmZuLnRvZ2dsZUNsYXNzKSxzd2l0Y2hDbGFzczpmdW5jdGlvbihlLGkscyxuLG8pe3JldHVybiB0LmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyx7YWRkOmkscmVtb3ZlOmV9LHMsbixvKX19KX0oKSxmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSxpLHMsbil7cmV0dXJuIHQuaXNQbGFpbk9iamVjdChlKSYmKGk9ZSxlPWUuZWZmZWN0KSxlPXtlZmZlY3Q6ZX0sbnVsbD09aSYmKGk9e30pLHQuaXNGdW5jdGlvbihpKSYmKG49aSxzPW51bGwsaT17fSksKCJudW1iZXIiPT10eXBlb2YgaXx8dC5meC5zcGVlZHNbaV0pJiYobj1zLHM9aSxpPXt9KSx0LmlzRnVuY3Rpb24ocykmJihuPXMscz1udWxsKSxpJiZ0LmV4dGVuZChlLGkpLHM9c3x8aS5kdXJhdGlvbixlLmR1cmF0aW9uPXQuZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiBzP3M6cyBpbiB0LmZ4LnNwZWVkcz90LmZ4LnNwZWVkc1tzXTp0LmZ4LnNwZWVkcy5fZGVmYXVsdCxlLmNvbXBsZXRlPW58fGkuY29tcGxldGUsZX1mdW5jdGlvbiBpKGUpe3JldHVybiFlfHwibnVtYmVyIj09dHlwZW9mIGV8fHQuZnguc3BlZWRzW2VdPyEwOiJzdHJpbmciIT10eXBlb2YgZXx8dC5lZmZlY3RzLmVmZmVjdFtlXT90LmlzRnVuY3Rpb24oZSk/ITA6Im9iamVjdCIhPXR5cGVvZiBlfHxlLmVmZmVjdD8hMTohMDohMH1mdW5jdGlvbiBzKHQsZSl7dmFyIGk9ZS5vdXRlcldpZHRoKCkscz1lLm91dGVySGVpZ2h0KCksbj0vXnJlY3RcKCgtP1xkKlwuP1xkKnB4fC0/XGQrJXxhdXRvKSw/XHMqKC0/XGQqXC4/XGQqcHh8LT9cZCslfGF1dG8pLD9ccyooLT9cZCpcLj9cZCpweHwtP1xkKyV8YXV0byksP1xzKigtP1xkKlwuP1xkKnB4fC0/XGQrJXxhdXRvKVwpJC8sbz1uLmV4ZWModCl8fFsiIiwwLGkscywwXTtyZXR1cm57dG9wOnBhcnNlRmxvYXQob1sxXSl8fDAscmlnaHQ6ImF1dG8iPT09b1syXT9pOnBhcnNlRmxvYXQob1syXSksYm90dG9tOiJhdXRvIj09PW9bM10/czpwYXJzZUZsb2F0KG9bM10pLGxlZnQ6cGFyc2VGbG9hdChvWzRdKXx8MH19dC5leHByJiZ0LmV4cHIuZmlsdGVycyYmdC5leHByLmZpbHRlcnMuYW5pbWF0ZWQmJih0LmV4cHIuZmlsdGVycy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oaSl7cmV0dXJuISF0KGkpLmRhdGEoZCl8fGUoaSl9fSh0LmV4cHIuZmlsdGVycy5hbmltYXRlZCkpLHQudWlCYWNrQ29tcGF0IT09ITEmJnQuZXh0ZW5kKHQuZWZmZWN0cyx7c2F2ZTpmdW5jdGlvbih0LGUpe2Zvcih2YXIgaT0wLHM9ZS5sZW5ndGg7cz5pO2krKyludWxsIT09ZVtpXSYmdC5kYXRhKGMrZVtpXSx0WzBdLnN0eWxlW2VbaV1dKX0scmVzdG9yZTpmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSxzPTAsbj1lLmxlbmd0aDtuPnM7cysrKW51bGwhPT1lW3NdJiYoaT10LmRhdGEoYytlW3NdKSx0LmNzcyhlW3NdLGkpKX0sc2V0TW9kZTpmdW5jdGlvbih0LGUpe3JldHVybiJ0b2dnbGUiPT09ZSYmKGU9dC5pcygiOmhpZGRlbiIpPyJzaG93IjoiaGlkZSIpLGV9LGNyZWF0ZVdyYXBwZXI6ZnVuY3Rpb24oZSl7aWYoZS5wYXJlbnQoKS5pcygiLnVpLWVmZmVjdHMtd3JhcHBlciIpKXJldHVybiBlLnBhcmVudCgpO3ZhciBpPXt3aWR0aDplLm91dGVyV2lkdGgoITApLGhlaWdodDplLm91dGVySGVpZ2h0KCEwKSwiZmxvYXQiOmUuY3NzKCJmbG9hdCIpfSxzPXQoIjxkaXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWVmZmVjdHMtd3JhcHBlciIpLmNzcyh7Zm9udFNpemU6IjEwMCUiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLG1hcmdpbjowLHBhZGRpbmc6MH0pLG49e3dpZHRoOmUud2lkdGgoKSxoZWlnaHQ6ZS5oZWlnaHQoKX0sbz1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3RyeXtvLmlkfWNhdGNoKGEpe289ZG9jdW1lbnQuYm9keX1yZXR1cm4gZS53cmFwKHMpLChlWzBdPT09b3x8dC5jb250YWlucyhlWzBdLG8pKSYmdChvKS50cmlnZ2VyKCJmb2N1cyIpLHM9ZS5wYXJlbnQoKSwic3RhdGljIj09PWUuY3NzKCJwb3NpdGlvbiIpPyhzLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIn0pLGUuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSkpOih0LmV4dGVuZChpLHtwb3NpdGlvbjplLmNzcygicG9zaXRpb24iKSx6SW5kZXg6ZS5jc3MoInotaW5kZXgiKX0pLHQuZWFjaChbInRvcCIsImxlZnQiLCJib3R0b20iLCJyaWdodCJdLGZ1bmN0aW9uKHQscyl7aVtzXT1lLmNzcyhzKSxpc05hTihwYXJzZUludChpW3NdLDEwKSkmJihpW3NdPSJhdXRvIil9KSxlLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0b3A6MCxsZWZ0OjAscmlnaHQ6ImF1dG8iLGJvdHRvbToiYXV0byJ9KSksZS5jc3Mobikscy5jc3MoaSkuc2hvdygpfSxyZW1vdmVXcmFwcGVyOmZ1bmN0aW9uKGUpe3ZhciBpPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7cmV0dXJuIGUucGFyZW50KCkuaXMoIi51aS1lZmZlY3RzLXdyYXBwZXIiKSYmKGUucGFyZW50KCkucmVwbGFjZVdpdGgoZSksKGVbMF09PT1pfHx0LmNvbnRhaW5zKGVbMF0saSkpJiZ0KGkpLnRyaWdnZXIoImZvY3VzIikpLGV9fSksdC5leHRlbmQodC5lZmZlY3RzLHt2ZXJzaW9uOiIxLjEyLjEiLGRlZmluZTpmdW5jdGlvbihlLGkscyl7cmV0dXJuIHN8fChzPWksaT0iZWZmZWN0IiksdC5lZmZlY3RzLmVmZmVjdFtlXT1zLHQuZWZmZWN0cy5lZmZlY3RbZV0ubW9kZT1pLHN9LHNjYWxlZERpbWVuc2lvbnM6ZnVuY3Rpb24odCxlLGkpe2lmKDA9PT1lKXJldHVybntoZWlnaHQ6MCx3aWR0aDowLG91dGVySGVpZ2h0OjAsb3V0ZXJXaWR0aDowfTt2YXIgcz0iaG9yaXpvbnRhbCIhPT1pPyhlfHwxMDApLzEwMDoxLG49InZlcnRpY2FsIiE9PWk/KGV8fDEwMCkvMTAwOjE7cmV0dXJue2hlaWdodDp0LmhlaWdodCgpKm4sd2lkdGg6dC53aWR0aCgpKnMsb3V0ZXJIZWlnaHQ6dC5vdXRlckhlaWdodCgpKm4sb3V0ZXJXaWR0aDp0Lm91dGVyV2lkdGgoKSpzfX0sY2xpcFRvQm94OmZ1bmN0aW9uKHQpe3JldHVybnt3aWR0aDp0LmNsaXAucmlnaHQtdC5jbGlwLmxlZnQsaGVpZ2h0OnQuY2xpcC5ib3R0b20tdC5jbGlwLnRvcCxsZWZ0OnQuY2xpcC5sZWZ0LHRvcDp0LmNsaXAudG9wfX0sdW5zaGlmdDpmdW5jdGlvbih0LGUsaSl7dmFyIHM9dC5xdWV1ZSgpO2U+MSYmcy5zcGxpY2UuYXBwbHkocyxbMSwwXS5jb25jYXQocy5zcGxpY2UoZSxpKSkpLHQuZGVxdWV1ZSgpfSxzYXZlU3R5bGU6ZnVuY3Rpb24odCl7dC5kYXRhKHUsdFswXS5zdHlsZS5jc3NUZXh0KX0scmVzdG9yZVN0eWxlOmZ1bmN0aW9uKHQpe3RbMF0uc3R5bGUuY3NzVGV4dD10LmRhdGEodSl8fCIiLHQucmVtb3ZlRGF0YSh1KX0sbW9kZTpmdW5jdGlvbih0LGUpe3ZhciBpPXQuaXMoIjpoaWRkZW4iKTtyZXR1cm4idG9nZ2xlIj09PWUmJihlPWk/InNob3ciOiJoaWRlIiksKGk/ImhpZGUiPT09ZToic2hvdyI9PT1lKSYmKGU9Im5vbmUiKSxlfSxnZXRCYXNlbGluZTpmdW5jdGlvbih0LGUpe3ZhciBpLHM7c3dpdGNoKHRbMF0pe2Nhc2UidG9wIjppPTA7YnJlYWs7Y2FzZSJtaWRkbGUiOmk9LjU7YnJlYWs7Y2FzZSJib3R0b20iOmk9MTticmVhaztkZWZhdWx0Omk9dFswXS9lLmhlaWdodH1zd2l0Y2godFsxXSl7Y2FzZSJsZWZ0IjpzPTA7YnJlYWs7Y2FzZSJjZW50ZXIiOnM9LjU7YnJlYWs7Y2FzZSJyaWdodCI6cz0xO2JyZWFrO2RlZmF1bHQ6cz10WzFdL2Uud2lkdGh9cmV0dXJue3g6cyx5Oml9fSxjcmVhdGVQbGFjZWhvbGRlcjpmdW5jdGlvbihlKXt2YXIgaSxzPWUuY3NzKCJwb3NpdGlvbiIpLG49ZS5wb3NpdGlvbigpO3JldHVybiBlLmNzcyh7bWFyZ2luVG9wOmUuY3NzKCJtYXJnaW5Ub3AiKSxtYXJnaW5Cb3R0b206ZS5jc3MoIm1hcmdpbkJvdHRvbSIpLG1hcmdpbkxlZnQ6ZS5jc3MoIm1hcmdpbkxlZnQiKSxtYXJnaW5SaWdodDplLmNzcygibWFyZ2luUmlnaHQiKX0pLm91dGVyV2lkdGgoZS5vdXRlcldpZHRoKCkpLm91dGVySGVpZ2h0KGUub3V0ZXJIZWlnaHQoKSksL14oc3RhdGljfHJlbGF0aXZlKS8udGVzdChzKSYmKHM9ImFic29sdXRlIixpPXQoIjwiK2VbMF0ubm9kZU5hbWUrIj4iKS5pbnNlcnRBZnRlcihlKS5jc3Moe2Rpc3BsYXk6L14oaW5saW5lfHJ1YnkpLy50ZXN0KGUuY3NzKCJkaXNwbGF5IikpPyJpbmxpbmUtYmxvY2siOiJibG9jayIsdmlzaWJpbGl0eToiaGlkZGVuIixtYXJnaW5Ub3A6ZS5jc3MoIm1hcmdpblRvcCIpLG1hcmdpbkJvdHRvbTplLmNzcygibWFyZ2luQm90dG9tIiksbWFyZ2luTGVmdDplLmNzcygibWFyZ2luTGVmdCIpLG1hcmdpblJpZ2h0OmUuY3NzKCJtYXJnaW5SaWdodCIpLCJmbG9hdCI6ZS5jc3MoImZsb2F0Iil9KS5vdXRlcldpZHRoKGUub3V0ZXJXaWR0aCgpKS5vdXRlckhlaWdodChlLm91dGVySGVpZ2h0KCkpLmFkZENsYXNzKCJ1aS1lZmZlY3RzLXBsYWNlaG9sZGVyIiksZS5kYXRhKGMrInBsYWNlaG9sZGVyIixpKSksZS5jc3Moe3Bvc2l0aW9uOnMsbGVmdDpuLmxlZnQsdG9wOm4udG9wfSksaX0scmVtb3ZlUGxhY2Vob2xkZXI6ZnVuY3Rpb24odCl7dmFyIGU9YysicGxhY2Vob2xkZXIiLGk9dC5kYXRhKGUpO2kmJihpLnJlbW92ZSgpLHQucmVtb3ZlRGF0YShlKSl9LGNsZWFuVXA6ZnVuY3Rpb24oZSl7dC5lZmZlY3RzLnJlc3RvcmVTdHlsZShlKSx0LmVmZmVjdHMucmVtb3ZlUGxhY2Vob2xkZXIoZSl9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSxpLHMsbil7cmV0dXJuIG49bnx8e30sdC5lYWNoKGksZnVuY3Rpb24odCxpKXt2YXIgbz1lLmNzc1VuaXQoaSk7b1swXT4wJiYobltpXT1vWzBdKnMrb1sxXSl9KSxufX0pLHQuZm4uZXh0ZW5kKHtlZmZlY3Q6ZnVuY3Rpb24oKXtmdW5jdGlvbiBpKGUpe2Z1bmN0aW9uIGkoKXtyLnJlbW92ZURhdGEoZCksdC5lZmZlY3RzLmNsZWFuVXAociksImhpZGUiPT09cy5tb2RlJiZyLmhpZGUoKSxhKCl9ZnVuY3Rpb24gYSgpe3QuaXNGdW5jdGlvbihoKSYmaC5jYWxsKHJbMF0pLHQuaXNGdW5jdGlvbihlKSYmZSgpfXZhciByPXQodGhpcyk7cy5tb2RlPWMuc2hpZnQoKSx0LnVpQmFja0NvbXBhdD09PSExfHxvPyJub25lIj09PXMubW9kZT8ocltsXSgpLGEoKSk6bi5jYWxsKHJbMF0scyxpKTooci5pcygiOmhpZGRlbiIpPyJoaWRlIj09PWw6InNob3ciPT09bCk/KHJbbF0oKSxhKCkpOm4uY2FsbChyWzBdLHMsYSl9dmFyIHM9ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksbj10LmVmZmVjdHMuZWZmZWN0W3MuZWZmZWN0XSxvPW4ubW9kZSxhPXMucXVldWUscj1hfHwiZngiLGg9cy5jb21wbGV0ZSxsPXMubW9kZSxjPVtdLHU9ZnVuY3Rpb24oZSl7dmFyIGk9dCh0aGlzKSxzPXQuZWZmZWN0cy5tb2RlKGksbCl8fG87aS5kYXRhKGQsITApLGMucHVzaChzKSxvJiYoInNob3ciPT09c3x8cz09PW8mJiJoaWRlIj09PXMpJiZpLnNob3coKSxvJiYibm9uZSI9PT1zfHx0LmVmZmVjdHMuc2F2ZVN0eWxlKGkpLHQuaXNGdW5jdGlvbihlKSYmZSgpfTtyZXR1cm4gdC5meC5vZmZ8fCFuP2w/dGhpc1tsXShzLmR1cmF0aW9uLGgpOnRoaXMuZWFjaChmdW5jdGlvbigpe2gmJmguY2FsbCh0aGlzKX0pOmE9PT0hMT90aGlzLmVhY2godSkuZWFjaChpKTp0aGlzLnF1ZXVlKHIsdSkucXVldWUocixpKX0sc2hvdzpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24ocyl7aWYoaShzKSlyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG4ubW9kZT0ic2hvdyIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pCn19KHQuZm4uc2hvdyksaGlkZTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24ocyl7aWYoaShzKSlyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG4ubW9kZT0iaGlkZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0odC5mbi5oaWRlKSx0b2dnbGU6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHMpe2lmKGkocyl8fCJib29sZWFuIj09dHlwZW9mIHMpcmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBuLm1vZGU9InRvZ2dsZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0odC5mbi50b2dnbGUpLGNzc1VuaXQ6ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcy5jc3MoZSkscz1bXTtyZXR1cm4gdC5lYWNoKFsiZW0iLCJweCIsIiUiLCJwdCJdLGZ1bmN0aW9uKHQsZSl7aS5pbmRleE9mKGUpPjAmJihzPVtwYXJzZUZsb2F0KGkpLGVdKX0pLHN9LGNzc0NsaXA6ZnVuY3Rpb24odCl7cmV0dXJuIHQ/dGhpcy5jc3MoImNsaXAiLCJyZWN0KCIrdC50b3ArInB4ICIrdC5yaWdodCsicHggIit0LmJvdHRvbSsicHggIit0LmxlZnQrInB4KSIpOnModGhpcy5jc3MoImNsaXAiKSx0aGlzKX0sdHJhbnNmZXI6ZnVuY3Rpb24oZSxpKXt2YXIgcz10KHRoaXMpLG49dChlLnRvKSxvPSJmaXhlZCI9PT1uLmNzcygicG9zaXRpb24iKSxhPXQoImJvZHkiKSxyPW8/YS5zY3JvbGxUb3AoKTowLGg9bz9hLnNjcm9sbExlZnQoKTowLGw9bi5vZmZzZXQoKSxjPXt0b3A6bC50b3AtcixsZWZ0OmwubGVmdC1oLGhlaWdodDpuLmlubmVySGVpZ2h0KCksd2lkdGg6bi5pbm5lcldpZHRoKCl9LHU9cy5vZmZzZXQoKSxkPXQoIjxkaXYgY2xhc3M9J3VpLWVmZmVjdHMtdHJhbnNmZXInPjwvZGl2PiIpLmFwcGVuZFRvKCJib2R5IikuYWRkQ2xhc3MoZS5jbGFzc05hbWUpLmNzcyh7dG9wOnUudG9wLXIsbGVmdDp1LmxlZnQtaCxoZWlnaHQ6cy5pbm5lckhlaWdodCgpLHdpZHRoOnMuaW5uZXJXaWR0aCgpLHBvc2l0aW9uOm8/ImZpeGVkIjoiYWJzb2x1dGUifSkuYW5pbWF0ZShjLGUuZHVyYXRpb24sZS5lYXNpbmcsZnVuY3Rpb24oKXtkLnJlbW92ZSgpLHQuaXNGdW5jdGlvbihpKSYmaSgpfSl9fSksdC5meC5zdGVwLmNsaXA9ZnVuY3Rpb24oZSl7ZS5jbGlwSW5pdHx8KGUuc3RhcnQ9dChlLmVsZW0pLmNzc0NsaXAoKSwic3RyaW5nIj09dHlwZW9mIGUuZW5kJiYoZS5lbmQ9cyhlLmVuZCxlLmVsZW0pKSxlLmNsaXBJbml0PSEwKSx0KGUuZWxlbSkuY3NzQ2xpcCh7dG9wOmUucG9zKihlLmVuZC50b3AtZS5zdGFydC50b3ApK2Uuc3RhcnQudG9wLHJpZ2h0OmUucG9zKihlLmVuZC5yaWdodC1lLnN0YXJ0LnJpZ2h0KStlLnN0YXJ0LnJpZ2h0LGJvdHRvbTplLnBvcyooZS5lbmQuYm90dG9tLWUuc3RhcnQuYm90dG9tKStlLnN0YXJ0LmJvdHRvbSxsZWZ0OmUucG9zKihlLmVuZC5sZWZ0LWUuc3RhcnQubGVmdCkrZS5zdGFydC5sZWZ0fSl9fSgpLGZ1bmN0aW9uKCl7dmFyIGU9e307dC5lYWNoKFsiUXVhZCIsIkN1YmljIiwiUXVhcnQiLCJRdWludCIsIkV4cG8iXSxmdW5jdGlvbih0LGkpe2VbaV09ZnVuY3Rpb24oZSl7cmV0dXJuIE1hdGgucG93KGUsdCsyKX19KSx0LmV4dGVuZChlLHtTaW5lOmZ1bmN0aW9uKHQpe3JldHVybiAxLU1hdGguY29zKHQqTWF0aC5QSS8yKX0sQ2lyYzpmdW5jdGlvbih0KXtyZXR1cm4gMS1NYXRoLnNxcnQoMS10KnQpfSxFbGFzdGljOmZ1bmN0aW9uKHQpe3JldHVybiAwPT09dHx8MT09PXQ/dDotTWF0aC5wb3coMiw4Kih0LTEpKSpNYXRoLnNpbigoODAqKHQtMSktNy41KSpNYXRoLlBJLzE1KX0sQmFjazpmdW5jdGlvbih0KXtyZXR1cm4gdCp0KigzKnQtMil9LEJvdW5jZTpmdW5jdGlvbih0KXtmb3IodmFyIGUsaT00OygoZT1NYXRoLnBvdygyLC0taSkpLTEpLzExPnQ7KTtyZXR1cm4gMS9NYXRoLnBvdyg0LDMtaSktNy41NjI1Kk1hdGgucG93KCgzKmUtMikvMjItdCwyKX19KSx0LmVhY2goZSxmdW5jdGlvbihlLGkpe3QuZWFzaW5nWyJlYXNlSW4iK2VdPWksdC5lYXNpbmdbImVhc2VPdXQiK2VdPWZ1bmN0aW9uKHQpe3JldHVybiAxLWkoMS10KX0sdC5lYXNpbmdbImVhc2VJbk91dCIrZV09ZnVuY3Rpb24odCl7cmV0dXJuLjU+dD9pKDIqdCkvMjoxLWkoLTIqdCsyKS8yfX0pfSgpO3ZhciBmPXQuZWZmZWN0czt0LmVmZmVjdHMuZGVmaW5lKCJibGluZCIsImhpZGUiLGZ1bmN0aW9uKGUsaSl7dmFyIHM9e3VwOlsiYm90dG9tIiwidG9wIl0sdmVydGljYWw6WyJib3R0b20iLCJ0b3AiXSxkb3duOlsidG9wIiwiYm90dG9tIl0sbGVmdDpbInJpZ2h0IiwibGVmdCJdLGhvcml6b250YWw6WyJyaWdodCIsImxlZnQiXSxyaWdodDpbImxlZnQiLCJyaWdodCJdfSxuPXQodGhpcyksbz1lLmRpcmVjdGlvbnx8InVwIixhPW4uY3NzQ2xpcCgpLHI9e2NsaXA6dC5leHRlbmQoe30sYSl9LGg9dC5lZmZlY3RzLmNyZWF0ZVBsYWNlaG9sZGVyKG4pO3IuY2xpcFtzW29dWzBdXT1yLmNsaXBbc1tvXVsxXV0sInNob3ciPT09ZS5tb2RlJiYobi5jc3NDbGlwKHIuY2xpcCksaCYmaC5jc3ModC5lZmZlY3RzLmNsaXBUb0JveChyKSksci5jbGlwPWEpLGgmJmguYW5pbWF0ZSh0LmVmZmVjdHMuY2xpcFRvQm94KHIpLGUuZHVyYXRpb24sZS5lYXNpbmcpLG4uYW5pbWF0ZShyLHtxdWV1ZTohMSxkdXJhdGlvbjplLmR1cmF0aW9uLGVhc2luZzplLmVhc2luZyxjb21wbGV0ZTppfSl9KSx0LmVmZmVjdHMuZGVmaW5lKCJib3VuY2UiLGZ1bmN0aW9uKGUsaSl7dmFyIHMsbixvLGE9dCh0aGlzKSxyPWUubW9kZSxoPSJoaWRlIj09PXIsbD0ic2hvdyI9PT1yLGM9ZS5kaXJlY3Rpb258fCJ1cCIsdT1lLmRpc3RhbmNlLGQ9ZS50aW1lc3x8NSxwPTIqZCsobHx8aD8xOjApLGY9ZS5kdXJhdGlvbi9wLGc9ZS5lYXNpbmcsbT0idXAiPT09Y3x8ImRvd24iPT09Yz8idG9wIjoibGVmdCIsXz0idXAiPT09Y3x8ImxlZnQiPT09Yyx2PTAsYj1hLnF1ZXVlKCkubGVuZ3RoO2Zvcih0LmVmZmVjdHMuY3JlYXRlUGxhY2Vob2xkZXIoYSksbz1hLmNzcyhtKSx1fHwodT1hWyJ0b3AiPT09bT8ib3V0ZXJIZWlnaHQiOiJvdXRlcldpZHRoIl0oKS8zKSxsJiYobj17b3BhY2l0eToxfSxuW21dPW8sYS5jc3MoIm9wYWNpdHkiLDApLmNzcyhtLF8/MiotdToyKnUpLmFuaW1hdGUobixmLGcpKSxoJiYodS89TWF0aC5wb3coMixkLTEpKSxuPXt9LG5bbV09bztkPnY7disrKXM9e30sc1ttXT0oXz8iLT0iOiIrPSIpK3UsYS5hbmltYXRlKHMsZixnKS5hbmltYXRlKG4sZixnKSx1PWg/Mip1OnUvMjtoJiYocz17b3BhY2l0eTowfSxzW21dPShfPyItPSI6Iis9IikrdSxhLmFuaW1hdGUocyxmLGcpKSxhLnF1ZXVlKGkpLHQuZWZmZWN0cy51bnNoaWZ0KGEsYixwKzEpfSksdC5lZmZlY3RzLmRlZmluZSgiY2xpcCIsImhpZGUiLGZ1bmN0aW9uKGUsaSl7dmFyIHMsbj17fSxvPXQodGhpcyksYT1lLmRpcmVjdGlvbnx8InZlcnRpY2FsIixyPSJib3RoIj09PWEsaD1yfHwiaG9yaXpvbnRhbCI9PT1hLGw9cnx8InZlcnRpY2FsIj09PWE7cz1vLmNzc0NsaXAoKSxuLmNsaXA9e3RvcDpsPyhzLmJvdHRvbS1zLnRvcCkvMjpzLnRvcCxyaWdodDpoPyhzLnJpZ2h0LXMubGVmdCkvMjpzLnJpZ2h0LGJvdHRvbTpsPyhzLmJvdHRvbS1zLnRvcCkvMjpzLmJvdHRvbSxsZWZ0Omg/KHMucmlnaHQtcy5sZWZ0KS8yOnMubGVmdH0sdC5lZmZlY3RzLmNyZWF0ZVBsYWNlaG9sZGVyKG8pLCJzaG93Ij09PWUubW9kZSYmKG8uY3NzQ2xpcChuLmNsaXApLG4uY2xpcD1zKSxvLmFuaW1hdGUobix7cXVldWU6ITEsZHVyYXRpb246ZS5kdXJhdGlvbixlYXNpbmc6ZS5lYXNpbmcsY29tcGxldGU6aX0pfSksdC5lZmZlY3RzLmRlZmluZSgiZHJvcCIsImhpZGUiLGZ1bmN0aW9uKGUsaSl7dmFyIHMsbj10KHRoaXMpLG89ZS5tb2RlLGE9InNob3ciPT09byxyPWUuZGlyZWN0aW9ufHwibGVmdCIsaD0idXAiPT09cnx8ImRvd24iPT09cj8idG9wIjoibGVmdCIsbD0idXAiPT09cnx8ImxlZnQiPT09cj8iLT0iOiIrPSIsYz0iKz0iPT09bD8iLT0iOiIrPSIsdT17b3BhY2l0eTowfTt0LmVmZmVjdHMuY3JlYXRlUGxhY2Vob2xkZXIobikscz1lLmRpc3RhbmNlfHxuWyJ0b3AiPT09aD8ib3V0ZXJIZWlnaHQiOiJvdXRlcldpZHRoIl0oITApLzIsdVtoXT1sK3MsYSYmKG4uY3NzKHUpLHVbaF09YytzLHUub3BhY2l0eT0xKSxuLmFuaW1hdGUodSx7cXVldWU6ITEsZHVyYXRpb246ZS5kdXJhdGlvbixlYXNpbmc6ZS5lYXNpbmcsY29tcGxldGU6aX0pfSksdC5lZmZlY3RzLmRlZmluZSgiZXhwbG9kZSIsImhpZGUiLGZ1bmN0aW9uKGUsaSl7ZnVuY3Rpb24gcygpe2IucHVzaCh0aGlzKSxiLmxlbmd0aD09PXUqZCYmbigpfWZ1bmN0aW9uIG4oKXtwLmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSJ9KSx0KGIpLnJlbW92ZSgpLGkoKX12YXIgbyxhLHIsaCxsLGMsdT1lLnBpZWNlcz9NYXRoLnJvdW5kKE1hdGguc3FydChlLnBpZWNlcykpOjMsZD11LHA9dCh0aGlzKSxmPWUubW9kZSxnPSJzaG93Ij09PWYsbT1wLnNob3coKS5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKS5vZmZzZXQoKSxfPU1hdGguY2VpbChwLm91dGVyV2lkdGgoKS9kKSx2PU1hdGguY2VpbChwLm91dGVySGVpZ2h0KCkvdSksYj1bXTtmb3Iobz0wO3U+bztvKyspZm9yKGg9bS50b3Arbyp2LGM9by0odS0xKS8yLGE9MDtkPmE7YSsrKXI9bS5sZWZ0K2EqXyxsPWEtKGQtMSkvMixwLmNsb25lKCkuYXBwZW5kVG8oImJvZHkiKS53cmFwKCI8ZGl2PjwvZGl2PiIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiJ2aXNpYmxlIixsZWZ0Oi1hKl8sdG9wOi1vKnZ9KS5wYXJlbnQoKS5hZGRDbGFzcygidWktZWZmZWN0cy1leHBsb2RlIikuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLG92ZXJmbG93OiJoaWRkZW4iLHdpZHRoOl8saGVpZ2h0OnYsbGVmdDpyKyhnP2wqXzowKSx0b3A6aCsoZz9jKnY6MCksb3BhY2l0eTpnPzA6MX0pLmFuaW1hdGUoe2xlZnQ6cisoZz8wOmwqXyksdG9wOmgrKGc/MDpjKnYpLG9wYWNpdHk6Zz8xOjB9LGUuZHVyYXRpb258fDUwMCxlLmVhc2luZyxzKX0pLHQuZWZmZWN0cy5kZWZpbmUoImZhZGUiLCJ0b2dnbGUiLGZ1bmN0aW9uKGUsaSl7dmFyIHM9InNob3ciPT09ZS5tb2RlO3QodGhpcykuY3NzKCJvcGFjaXR5IixzPzA6MSkuYW5pbWF0ZSh7b3BhY2l0eTpzPzE6MH0se3F1ZXVlOiExLGR1cmF0aW9uOmUuZHVyYXRpb24sZWFzaW5nOmUuZWFzaW5nLGNvbXBsZXRlOml9KX0pLHQuZWZmZWN0cy5kZWZpbmUoImZvbGQiLCJoaWRlIixmdW5jdGlvbihlLGkpe3ZhciBzPXQodGhpcyksbj1lLm1vZGUsbz0ic2hvdyI9PT1uLGE9ImhpZGUiPT09bixyPWUuc2l6ZXx8MTUsaD0vKFswLTldKyklLy5leGVjKHIpLGw9ISFlLmhvcml6Rmlyc3QsYz1sP1sicmlnaHQiLCJib3R0b20iXTpbImJvdHRvbSIsInJpZ2h0Il0sdT1lLmR1cmF0aW9uLzIsZD10LmVmZmVjdHMuY3JlYXRlUGxhY2Vob2xkZXIocykscD1zLmNzc0NsaXAoKSxmPXtjbGlwOnQuZXh0ZW5kKHt9LHApfSxnPXtjbGlwOnQuZXh0ZW5kKHt9LHApfSxtPVtwW2NbMF1dLHBbY1sxXV1dLF89cy5xdWV1ZSgpLmxlbmd0aDtoJiYocj1wYXJzZUludChoWzFdLDEwKS8xMDAqbVthPzA6MV0pLGYuY2xpcFtjWzBdXT1yLGcuY2xpcFtjWzBdXT1yLGcuY2xpcFtjWzFdXT0wLG8mJihzLmNzc0NsaXAoZy5jbGlwKSxkJiZkLmNzcyh0LmVmZmVjdHMuY2xpcFRvQm94KGcpKSxnLmNsaXA9cCkscy5xdWV1ZShmdW5jdGlvbihpKXtkJiZkLmFuaW1hdGUodC5lZmZlY3RzLmNsaXBUb0JveChmKSx1LGUuZWFzaW5nKS5hbmltYXRlKHQuZWZmZWN0cy5jbGlwVG9Cb3goZyksdSxlLmVhc2luZyksaSgpfSkuYW5pbWF0ZShmLHUsZS5lYXNpbmcpLmFuaW1hdGUoZyx1LGUuZWFzaW5nKS5xdWV1ZShpKSx0LmVmZmVjdHMudW5zaGlmdChzLF8sNCl9KSx0LmVmZmVjdHMuZGVmaW5lKCJoaWdobGlnaHQiLCJzaG93IixmdW5jdGlvbihlLGkpe3ZhciBzPXQodGhpcyksbj17YmFja2dyb3VuZENvbG9yOnMuY3NzKCJiYWNrZ3JvdW5kQ29sb3IiKX07ImhpZGUiPT09ZS5tb2RlJiYobi5vcGFjaXR5PTApLHQuZWZmZWN0cy5zYXZlU3R5bGUocykscy5jc3Moe2JhY2tncm91bmRJbWFnZToibm9uZSIsYmFja2dyb3VuZENvbG9yOmUuY29sb3J8fCIjZmZmZjk5In0pLmFuaW1hdGUobix7cXVldWU6ITEsZHVyYXRpb246ZS5kdXJhdGlvbixlYXNpbmc6ZS5lYXNpbmcsY29tcGxldGU6aX0pfSksdC5lZmZlY3RzLmRlZmluZSgic2l6ZSIsZnVuY3Rpb24oZSxpKXt2YXIgcyxuLG8sYT10KHRoaXMpLHI9WyJmb250U2l6ZSJdLGg9WyJib3JkZXJUb3BXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iXSxsPVsiYm9yZGVyTGVmdFdpZHRoIiwiYm9yZGVyUmlnaHRXaWR0aCIsInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0Il0sYz1lLm1vZGUsdT0iZWZmZWN0IiE9PWMsZD1lLnNjYWxlfHwiYm90aCIscD1lLm9yaWdpbnx8WyJtaWRkbGUiLCJjZW50ZXIiXSxmPWEuY3NzKCJwb3NpdGlvbiIpLGc9YS5wb3NpdGlvbigpLG09dC5lZmZlY3RzLnNjYWxlZERpbWVuc2lvbnMoYSksXz1lLmZyb218fG0sdj1lLnRvfHx0LmVmZmVjdHMuc2NhbGVkRGltZW5zaW9ucyhhLDApO3QuZWZmZWN0cy5jcmVhdGVQbGFjZWhvbGRlcihhKSwic2hvdyI9PT1jJiYobz1fLF89dix2PW8pLG49e2Zyb206e3k6Xy5oZWlnaHQvbS5oZWlnaHQseDpfLndpZHRoL20ud2lkdGh9LHRvOnt5OnYuaGVpZ2h0L20uaGVpZ2h0LHg6di53aWR0aC9tLndpZHRofX0sKCJib3giPT09ZHx8ImJvdGgiPT09ZCkmJihuLmZyb20ueSE9PW4udG8ueSYmKF89dC5lZmZlY3RzLnNldFRyYW5zaXRpb24oYSxoLG4uZnJvbS55LF8pLHY9dC5lZmZlY3RzLnNldFRyYW5zaXRpb24oYSxoLG4udG8ueSx2KSksbi5mcm9tLnghPT1uLnRvLngmJihfPXQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGEsbCxuLmZyb20ueCxfKSx2PXQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGEsbCxuLnRvLngsdikpKSwoImNvbnRlbnQiPT09ZHx8ImJvdGgiPT09ZCkmJm4uZnJvbS55IT09bi50by55JiYoXz10LmVmZmVjdHMuc2V0VHJhbnNpdGlvbihhLHIsbi5mcm9tLnksXyksdj10LmVmZmVjdHMuc2V0VHJhbnNpdGlvbihhLHIsbi50by55LHYpKSxwJiYocz10LmVmZmVjdHMuZ2V0QmFzZWxpbmUocCxtKSxfLnRvcD0obS5vdXRlckhlaWdodC1fLm91dGVySGVpZ2h0KSpzLnkrZy50b3AsXy5sZWZ0PShtLm91dGVyV2lkdGgtXy5vdXRlcldpZHRoKSpzLngrZy5sZWZ0LHYudG9wPShtLm91dGVySGVpZ2h0LXYub3V0ZXJIZWlnaHQpKnMueStnLnRvcCx2LmxlZnQ9KG0ub3V0ZXJXaWR0aC12Lm91dGVyV2lkdGgpKnMueCtnLmxlZnQpLGEuY3NzKF8pLCgiY29udGVudCI9PT1kfHwiYm90aCI9PT1kKSYmKGg9aC5jb25jYXQoWyJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20iXSkuY29uY2F0KHIpLGw9bC5jb25jYXQoWyJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiXSksYS5maW5kKCIqW3dpZHRoXSIpLmVhY2goZnVuY3Rpb24oKXt2YXIgaT10KHRoaXMpLHM9dC5lZmZlY3RzLnNjYWxlZERpbWVuc2lvbnMoaSksbz17aGVpZ2h0OnMuaGVpZ2h0Km4uZnJvbS55LHdpZHRoOnMud2lkdGgqbi5mcm9tLngsb3V0ZXJIZWlnaHQ6cy5vdXRlckhlaWdodCpuLmZyb20ueSxvdXRlcldpZHRoOnMub3V0ZXJXaWR0aCpuLmZyb20ueH0sYT17aGVpZ2h0OnMuaGVpZ2h0Km4udG8ueSx3aWR0aDpzLndpZHRoKm4udG8ueCxvdXRlckhlaWdodDpzLmhlaWdodCpuLnRvLnksb3V0ZXJXaWR0aDpzLndpZHRoKm4udG8ueH07bi5mcm9tLnkhPT1uLnRvLnkmJihvPXQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGksaCxuLmZyb20ueSxvKSxhPXQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGksaCxuLnRvLnksYSkpLG4uZnJvbS54IT09bi50by54JiYobz10LmVmZmVjdHMuc2V0VHJhbnNpdGlvbihpLGwsbi5mcm9tLngsbyksYT10LmVmZmVjdHMuc2V0VHJhbnNpdGlvbihpLGwsbi50by54LGEpKSx1JiZ0LmVmZmVjdHMuc2F2ZVN0eWxlKGkpLGkuY3NzKG8pLGkuYW5pbWF0ZShhLGUuZHVyYXRpb24sZS5lYXNpbmcsZnVuY3Rpb24oKXt1JiZ0LmVmZmVjdHMucmVzdG9yZVN0eWxlKGkpfSl9KSksYS5hbmltYXRlKHYse3F1ZXVlOiExLGR1cmF0aW9uOmUuZHVyYXRpb24sZWFzaW5nOmUuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7dmFyIGU9YS5vZmZzZXQoKTswPT09di5vcGFjaXR5JiZhLmNzcygib3BhY2l0eSIsXy5vcGFjaXR5KSx1fHwoYS5jc3MoInBvc2l0aW9uIiwic3RhdGljIj09PWY/InJlbGF0aXZlIjpmKS5vZmZzZXQoZSksdC5lZmZlY3RzLnNhdmVTdHlsZShhKSksaSgpfX0pfSksdC5lZmZlY3RzLmRlZmluZSgic2NhbGUiLGZ1bmN0aW9uKGUsaSl7dmFyIHM9dCh0aGlzKSxuPWUubW9kZSxvPXBhcnNlSW50KGUucGVyY2VudCwxMCl8fCgwPT09cGFyc2VJbnQoZS5wZXJjZW50LDEwKT8wOiJlZmZlY3QiIT09bj8wOjEwMCksYT10LmV4dGVuZCghMCx7ZnJvbTp0LmVmZmVjdHMuc2NhbGVkRGltZW5zaW9ucyhzKSx0bzp0LmVmZmVjdHMuc2NhbGVkRGltZW5zaW9ucyhzLG8sZS5kaXJlY3Rpb258fCJib3RoIiksb3JpZ2luOmUub3JpZ2lufHxbIm1pZGRsZSIsImNlbnRlciJdfSxlKTtlLmZhZGUmJihhLmZyb20ub3BhY2l0eT0xLGEudG8ub3BhY2l0eT0wKSx0LmVmZmVjdHMuZWZmZWN0LnNpemUuY2FsbCh0aGlzLGEsaSl9KSx0LmVmZmVjdHMuZGVmaW5lKCJwdWZmIiwiaGlkZSIsZnVuY3Rpb24oZSxpKXt2YXIgcz10LmV4dGVuZCghMCx7fSxlLHtmYWRlOiEwLHBlcmNlbnQ6cGFyc2VJbnQoZS5wZXJjZW50LDEwKXx8MTUwfSk7dC5lZmZlY3RzLmVmZmVjdC5zY2FsZS5jYWxsKHRoaXMscyxpKX0pLHQuZWZmZWN0cy5kZWZpbmUoInB1bHNhdGUiLCJzaG93IixmdW5jdGlvbihlLGkpe3ZhciBzPXQodGhpcyksbj1lLm1vZGUsbz0ic2hvdyI9PT1uLGE9ImhpZGUiPT09bixyPW98fGEsaD0yKihlLnRpbWVzfHw1KSsocj8xOjApLGw9ZS5kdXJhdGlvbi9oLGM9MCx1PTEsZD1zLnF1ZXVlKCkubGVuZ3RoO2Zvcigob3x8IXMuaXMoIjp2aXNpYmxlIikpJiYocy5jc3MoIm9wYWNpdHkiLDApLnNob3coKSxjPTEpO2g+dTt1Kyspcy5hbmltYXRlKHtvcGFjaXR5OmN9LGwsZS5lYXNpbmcpLGM9MS1jO3MuYW5pbWF0ZSh7b3BhY2l0eTpjfSxsLGUuZWFzaW5nKSxzLnF1ZXVlKGkpLHQuZWZmZWN0cy51bnNoaWZ0KHMsZCxoKzEpfSksdC5lZmZlY3RzLmRlZmluZSgic2hha2UiLGZ1bmN0aW9uKGUsaSl7dmFyIHM9MSxuPXQodGhpcyksbz1lLmRpcmVjdGlvbnx8ImxlZnQiLGE9ZS5kaXN0YW5jZXx8MjAscj1lLnRpbWVzfHwzLGg9MipyKzEsbD1NYXRoLnJvdW5kKGUuZHVyYXRpb24vaCksYz0idXAiPT09b3x8ImRvd24iPT09bz8idG9wIjoibGVmdCIsdT0idXAiPT09b3x8ImxlZnQiPT09byxkPXt9LHA9e30sZj17fSxnPW4ucXVldWUoKS5sZW5ndGg7Zm9yKHQuZWZmZWN0cy5jcmVhdGVQbGFjZWhvbGRlcihuKSxkW2NdPSh1PyItPSI6Iis9IikrYSxwW2NdPSh1PyIrPSI6Ii09IikrMiphLGZbY109KHU/Ii09IjoiKz0iKSsyKmEsbi5hbmltYXRlKGQsbCxlLmVhc2luZyk7cj5zO3MrKyluLmFuaW1hdGUocCxsLGUuZWFzaW5nKS5hbmltYXRlKGYsbCxlLmVhc2luZyk7bi5hbmltYXRlKHAsbCxlLmVhc2luZykuYW5pbWF0ZShkLGwvMixlLmVhc2luZykucXVldWUoaSksdC5lZmZlY3RzLnVuc2hpZnQobixnLGgrMSl9KSx0LmVmZmVjdHMuZGVmaW5lKCJzbGlkZSIsInNob3ciLGZ1bmN0aW9uKGUsaSl7dmFyIHMsbixvPXQodGhpcyksYT17dXA6WyJib3R0b20iLCJ0b3AiXSxkb3duOlsidG9wIiwiYm90dG9tIl0sbGVmdDpbInJpZ2h0IiwibGVmdCJdLHJpZ2h0OlsibGVmdCIsInJpZ2h0Il19LHI9ZS5tb2RlLGg9ZS5kaXJlY3Rpb258fCJsZWZ0IixsPSJ1cCI9PT1ofHwiZG93biI9PT1oPyJ0b3AiOiJsZWZ0IixjPSJ1cCI9PT1ofHwibGVmdCI9PT1oLHU9ZS5kaXN0YW5jZXx8b1sidG9wIj09PWw/Im91dGVySGVpZ2h0Ijoib3V0ZXJXaWR0aCJdKCEwKSxkPXt9O3QuZWZmZWN0cy5jcmVhdGVQbGFjZWhvbGRlcihvKSxzPW8uY3NzQ2xpcCgpLG49by5wb3NpdGlvbigpW2xdLGRbbF09KGM/LTE6MSkqdStuLGQuY2xpcD1vLmNzc0NsaXAoKSxkLmNsaXBbYVtoXVsxXV09ZC5jbGlwW2FbaF1bMF1dLCJzaG93Ij09PXImJihvLmNzc0NsaXAoZC5jbGlwKSxvLmNzcyhsLGRbbF0pLGQuY2xpcD1zLGRbbF09biksby5hbmltYXRlKGQse3F1ZXVlOiExLGR1cmF0aW9uOmUuZHVyYXRpb24sZWFzaW5nOmUuZWFzaW5nLGNvbXBsZXRlOml9KX0pO3ZhciBmO3QudWlCYWNrQ29tcGF0IT09ITEmJihmPXQuZWZmZWN0cy5kZWZpbmUoInRyYW5zZmVyIixmdW5jdGlvbihlLGkpe3QodGhpcykudHJhbnNmZXIoZSxpKX0pKSx0LnVpLmZvY3VzYWJsZT1mdW5jdGlvbihpLHMpe3ZhciBuLG8sYSxyLGgsbD1pLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImFyZWEiPT09bD8obj1pLnBhcmVudE5vZGUsbz1uLm5hbWUsaS5ocmVmJiZvJiYibWFwIj09PW4ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT8oYT10KCJpbWdbdXNlbWFwPScjIitvKyInXSIpLGEubGVuZ3RoPjAmJmEuaXMoIjp2aXNpYmxlIikpOiExKTooL14oaW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbnxvYmplY3QpJC8udGVzdChsKT8ocj0haS5kaXNhYmxlZCxyJiYoaD10KGkpLmNsb3Nlc3QoImZpZWxkc2V0IilbMF0saCYmKHI9IWguZGlzYWJsZWQpKSk6cj0iYSI9PT1sP2kuaHJlZnx8czpzLHImJnQoaSkuaXMoIjp2aXNpYmxlIikmJmUodChpKSkpfSx0LmV4dGVuZCh0LmV4cHJbIjoiXSx7Zm9jdXNhYmxlOmZ1bmN0aW9uKGUpe3JldHVybiB0LnVpLmZvY3VzYWJsZShlLG51bGwhPXQuYXR0cihlLCJ0YWJpbmRleCIpKX19KSx0LnVpLmZvY3VzYWJsZSx0LmZuLmZvcm09ZnVuY3Rpb24oKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHRoaXNbMF0uZm9ybT90aGlzLmNsb3Nlc3QoImZvcm0iKTp0KHRoaXNbMF0uZm9ybSl9LHQudWkuZm9ybVJlc2V0TWl4aW49e19mb3JtUmVzZXRIYW5kbGVyOmZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGk9ZS5kYXRhKCJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIpO3QuZWFjaChpLGZ1bmN0aW9uKCl7dGhpcy5yZWZyZXNoKCl9KX0pfSxfYmluZEZvcm1SZXNldEhhbmRsZXI6ZnVuY3Rpb24oKXtpZih0aGlzLmZvcm09dGhpcy5lbGVtZW50LmZvcm0oKSx0aGlzLmZvcm0ubGVuZ3RoKXt2YXIgdD10aGlzLmZvcm0uZGF0YSgidWktZm9ybS1yZXNldC1pbnN0YW5jZXMiKXx8W107dC5sZW5ndGh8fHRoaXMuZm9ybS5vbigicmVzZXQudWktZm9ybS1yZXNldCIsdGhpcy5fZm9ybVJlc2V0SGFuZGxlciksdC5wdXNoKHRoaXMpLHRoaXMuZm9ybS5kYXRhKCJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIsdCl9fSxfdW5iaW5kRm9ybVJlc2V0SGFuZGxlcjpmdW5jdGlvbigpe2lmKHRoaXMuZm9ybS5sZW5ndGgpe3ZhciBlPXRoaXMuZm9ybS5kYXRhKCJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIpO2Uuc3BsaWNlKHQuaW5BcnJheSh0aGlzLGUpLDEpLGUubGVuZ3RoP3RoaXMuZm9ybS5kYXRhKCJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIsZSk6dGhpcy5mb3JtLnJlbW92ZURhdGEoInVpLWZvcm0tcmVzZXQtaW5zdGFuY2VzIikub2ZmKCJyZXNldC51aS1mb3JtLXJlc2V0Iil9fX0sIjEuNyI9PT10LmZuLmpxdWVyeS5zdWJzdHJpbmcoMCwzKSYmKHQuZWFjaChbIldpZHRoIiwiSGVpZ2h0Il0sZnVuY3Rpb24oZSxpKXtmdW5jdGlvbiBzKGUsaSxzLG8pe3JldHVybiB0LmVhY2gobixmdW5jdGlvbigpe2ktPXBhcnNlRmxvYXQodC5jc3MoZSwicGFkZGluZyIrdGhpcykpfHwwLHMmJihpLT1wYXJzZUZsb2F0KHQuY3NzKGUsImJvcmRlciIrdGhpcysiV2lkdGgiKSl8fDApLG8mJihpLT1wYXJzZUZsb2F0KHQuY3NzKGUsIm1hcmdpbiIrdGhpcykpfHwwKX0pLGl9dmFyIG49IldpZHRoIj09PWk/WyJMZWZ0IiwiUmlnaHQiXTpbIlRvcCIsIkJvdHRvbSJdLG89aS50b0xvd2VyQ2FzZSgpLGE9e2lubmVyV2lkdGg6dC5mbi5pbm5lcldpZHRoLGlubmVySGVpZ2h0OnQuZm4uaW5uZXJIZWlnaHQsb3V0ZXJXaWR0aDp0LmZuLm91dGVyV2lkdGgsb3V0ZXJIZWlnaHQ6dC5mbi5vdXRlckhlaWdodH07dC5mblsiaW5uZXIiK2ldPWZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lP2FbImlubmVyIitpXS5jYWxsKHRoaXMpOnRoaXMuZWFjaChmdW5jdGlvbigpe3QodGhpcykuY3NzKG8scyh0aGlzLGUpKyJweCIpfSl9LHQuZm5bIm91dGVyIitpXT1mdW5jdGlvbihlLG4pe3JldHVybiJudW1iZXIiIT10eXBlb2YgZT9hWyJvdXRlciIraV0uY2FsbCh0aGlzLGUpOnRoaXMuZWFjaChmdW5jdGlvbigpe3QodGhpcykuY3NzKG8scyh0aGlzLGUsITAsbikrInB4Iil9KX19KSx0LmZuLmFkZEJhY2s9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PXQ/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIodCkpfSksdC51aS5rZXlDb2RlPXtCQUNLU1BBQ0U6OCxDT01NQToxODgsREVMRVRFOjQ2LERPV046NDAsRU5EOjM1LEVOVEVSOjEzLEVTQ0FQRToyNyxIT01FOjM2LExFRlQ6MzcsUEFHRV9ET1dOOjM0LFBBR0VfVVA6MzMsUEVSSU9EOjE5MCxSSUdIVDozOSxTUEFDRTozMixUQUI6OSxVUDozOH0sdC51aS5lc2NhcGVTZWxlY3Rvcj1mdW5jdGlvbigpe3ZhciB0PS8oWyEiIyQlJicoKSorLC5cLzo7PD0+P0BbXF1eYHt8fX5dKS9nO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKHQsIlxcJDEiKX19KCksdC5mbi5sYWJlbHM9ZnVuY3Rpb24oKXt2YXIgZSxpLHMsbixvO3JldHVybiB0aGlzWzBdLmxhYmVscyYmdGhpc1swXS5sYWJlbHMubGVuZ3RoP3RoaXMucHVzaFN0YWNrKHRoaXNbMF0ubGFiZWxzKToobj10aGlzLmVxKDApLnBhcmVudHMoImxhYmVsIikscz10aGlzLmF0dHIoImlkIikscyYmKGU9dGhpcy5lcSgwKS5wYXJlbnRzKCkubGFzdCgpLG89ZS5hZGQoZS5sZW5ndGg/ZS5zaWJsaW5ncygpOnRoaXMuc2libGluZ3MoKSksaT0ibGFiZWxbZm9yPSciK3QudWkuZXNjYXBlU2VsZWN0b3IocykrIiddIixuPW4uYWRkKG8uZmluZChpKS5hZGRCYWNrKGkpKSksdGhpcy5wdXNoU3RhY2sobikpfSx0LmZuLnNjcm9sbFBhcmVudD1mdW5jdGlvbihlKXt2YXIgaT10aGlzLmNzcygicG9zaXRpb24iKSxzPSJhYnNvbHV0ZSI9PT1pLG49ZT8vKGF1dG98c2Nyb2xsfGhpZGRlbikvOi8oYXV0b3xzY3JvbGwpLyxvPXRoaXMucGFyZW50cygpLmZpbHRlcihmdW5jdGlvbigpe3ZhciBlPXQodGhpcyk7cmV0dXJuIHMmJiJzdGF0aWMiPT09ZS5jc3MoInBvc2l0aW9uIik/ITE6bi50ZXN0KGUuY3NzKCJvdmVyZmxvdyIpK2UuY3NzKCJvdmVyZmxvdy15IikrZS5jc3MoIm92ZXJmbG93LXgiKSl9KS5lcSgwKTtyZXR1cm4iZml4ZWQiIT09aSYmby5sZW5ndGg/bzp0KHRoaXNbMF0ub3duZXJEb2N1bWVudHx8ZG9jdW1lbnQpfSx0LmV4dGVuZCh0LmV4cHJbIjoiXSx7dGFiYmFibGU6ZnVuY3Rpb24oZSl7dmFyIGk9dC5hdHRyKGUsInRhYmluZGV4Iikscz1udWxsIT1pO3JldHVybighc3x8aT49MCkmJnQudWkuZm9jdXNhYmxlKGUscyl9fSksdC5mbi5leHRlbmQoe3VuaXF1ZUlkOmZ1bmN0aW9uKCl7dmFyIHQ9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5pZHx8KHRoaXMuaWQ9InVpLWlkLSIrICsrdCl9KX19KCkscmVtb3ZlVW5pcXVlSWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7L151aS1pZC1cZCskLy50ZXN0KHRoaXMuaWQpJiZ0KHRoaXMpLnJlbW92ZUF0dHIoImlkIil9KX19KSx0LndpZGdldCgidWkuYWNjb3JkaW9uIix7dmVyc2lvbjoiMS4xMi4xIixvcHRpb25zOnthY3RpdmU6MCxhbmltYXRlOnt9LGNsYXNzZXM6eyJ1aS1hY2NvcmRpb24taGVhZGVyIjoidWktY29ybmVyLXRvcCIsInVpLWFjY29yZGlvbi1oZWFkZXItY29sbGFwc2VkIjoidWktY29ybmVyLWFsbCIsInVpLWFjY29yZGlvbi1jb250ZW50IjoidWktY29ybmVyLWJvdHRvbSJ9LGNvbGxhcHNpYmxlOiExLGV2ZW50OiJjbGljayIsaGVhZGVyOiI+IGxpID4gOmZpcnN0LWNoaWxkLCA+IDpub3QobGkpOmV2ZW4iLGhlaWdodFN0eWxlOiJhdXRvIixpY29uczp7YWN0aXZlSGVhZGVyOiJ1aS1pY29uLXRyaWFuZ2xlLTEtcyIsaGVhZGVyOiJ1aS1pY29uLXRyaWFuZ2xlLTEtZSJ9LGFjdGl2YXRlOm51bGwsYmVmb3JlQWN0aXZhdGU6bnVsbH0saGlkZVByb3BzOntib3JkZXJUb3BXaWR0aDoiaGlkZSIsYm9yZGVyQm90dG9tV2lkdGg6ImhpZGUiLHBhZGRpbmdUb3A6ImhpZGUiLHBhZGRpbmdCb3R0b206ImhpZGUiLGhlaWdodDoiaGlkZSJ9LHNob3dQcm9wczp7Ym9yZGVyVG9wV2lkdGg6InNob3ciLGJvcmRlckJvdHRvbVdpZHRoOiJzaG93IixwYWRkaW5nVG9wOiJzaG93IixwYWRkaW5nQm90dG9tOiJzaG93IixoZWlnaHQ6InNob3cifSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zO3RoaXMucHJldlNob3c9dGhpcy5wcmV2SGlkZT10KCksdGhpcy5fYWRkQ2xhc3MoInVpLWFjY29yZGlvbiIsInVpLXdpZGdldCB1aS1oZWxwZXItcmVzZXQiKSx0aGlzLmVsZW1lbnQuYXR0cigicm9sZSIsInRhYmxpc3QiKSxlLmNvbGxhcHNpYmxlfHxlLmFjdGl2ZSE9PSExJiZudWxsIT1lLmFjdGl2ZXx8KGUuYWN0aXZlPTApLHRoaXMuX3Byb2Nlc3NQYW5lbHMoKSwwPmUuYWN0aXZlJiYoZS5hY3RpdmUrPXRoaXMuaGVhZGVycy5sZW5ndGgpLHRoaXMuX3JlZnJlc2goKX0sX2dldENyZWF0ZUV2ZW50RGF0YTpmdW5jdGlvbigpe3JldHVybntoZWFkZXI6dGhpcy5hY3RpdmUscGFuZWw6dGhpcy5hY3RpdmUubGVuZ3RoP3RoaXMuYWN0aXZlLm5leHQoKTp0KCl9fSxfY3JlYXRlSWNvbnM6ZnVuY3Rpb24oKXt2YXIgZSxpLHM9dGhpcy5vcHRpb25zLmljb25zO3MmJihlPXQoIjxzcGFuPiIpLHRoaXMuX2FkZENsYXNzKGUsInVpLWFjY29yZGlvbi1oZWFkZXItaWNvbiIsInVpLWljb24gIitzLmhlYWRlciksZS5wcmVwZW5kVG8odGhpcy5oZWFkZXJzKSxpPXRoaXMuYWN0aXZlLmNoaWxkcmVuKCIudWktYWNjb3JkaW9uLWhlYWRlci1pY29uIiksdGhpcy5fcmVtb3ZlQ2xhc3MoaSxzLmhlYWRlcikuX2FkZENsYXNzKGksbnVsbCxzLmFjdGl2ZUhlYWRlcikuX2FkZENsYXNzKHRoaXMuaGVhZGVycywidWktYWNjb3JkaW9uLWljb25zIikpfSxfZGVzdHJveUljb25zOmZ1bmN0aW9uKCl7dGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5oZWFkZXJzLCJ1aS1hY2NvcmRpb24taWNvbnMiKSx0aGlzLmhlYWRlcnMuY2hpbGRyZW4oIi51aS1hY2NvcmRpb24taGVhZGVyLWljb24iKS5yZW1vdmUoKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgdDt0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cigicm9sZSIpLHRoaXMuaGVhZGVycy5yZW1vdmVBdHRyKCJyb2xlIGFyaWEtZXhwYW5kZWQgYXJpYS1zZWxlY3RlZCBhcmlhLWNvbnRyb2xzIHRhYkluZGV4IikucmVtb3ZlVW5pcXVlSWQoKSx0aGlzLl9kZXN0cm95SWNvbnMoKSx0PXRoaXMuaGVhZGVycy5uZXh0KCkuY3NzKCJkaXNwbGF5IiwiIikucmVtb3ZlQXR0cigicm9sZSBhcmlhLWhpZGRlbiBhcmlhLWxhYmVsbGVkYnkiKS5yZW1vdmVVbmlxdWVJZCgpLCJjb250ZW50IiE9PXRoaXMub3B0aW9ucy5oZWlnaHRTdHlsZSYmdC5jc3MoImhlaWdodCIsIiIpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuImFjdGl2ZSI9PT10Pyh0aGlzLl9hY3RpdmF0ZShlKSx2b2lkIDApOigiZXZlbnQiPT09dCYmKHRoaXMub3B0aW9ucy5ldmVudCYmdGhpcy5fb2ZmKHRoaXMuaGVhZGVycyx0aGlzLm9wdGlvbnMuZXZlbnQpLHRoaXMuX3NldHVwRXZlbnRzKGUpKSx0aGlzLl9zdXBlcih0LGUpLCJjb2xsYXBzaWJsZSIhPT10fHxlfHx0aGlzLm9wdGlvbnMuYWN0aXZlIT09ITF8fHRoaXMuX2FjdGl2YXRlKDApLCJpY29ucyI9PT10JiYodGhpcy5fZGVzdHJveUljb25zKCksZSYmdGhpcy5fY3JlYXRlSWNvbnMoKSksdm9pZCAwKX0sX3NldE9wdGlvbkRpc2FibGVkOmZ1bmN0aW9uKHQpe3RoaXMuX3N1cGVyKHQpLHRoaXMuZWxlbWVudC5hdHRyKCJhcmlhLWRpc2FibGVkIix0KSx0aGlzLl90b2dnbGVDbGFzcyhudWxsLCJ1aS1zdGF0ZS1kaXNhYmxlZCIsISF0KSx0aGlzLl90b2dnbGVDbGFzcyh0aGlzLmhlYWRlcnMuYWRkKHRoaXMuaGVhZGVycy5uZXh0KCkpLG51bGwsInVpLXN0YXRlLWRpc2FibGVkIiwhIXQpfSxfa2V5ZG93bjpmdW5jdGlvbihlKXtpZighZS5hbHRLZXkmJiFlLmN0cmxLZXkpe3ZhciBpPXQudWkua2V5Q29kZSxzPXRoaXMuaGVhZGVycy5sZW5ndGgsbj10aGlzLmhlYWRlcnMuaW5kZXgoZS50YXJnZXQpLG89ITE7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSBpLlJJR0hUOmNhc2UgaS5ET1dOOm89dGhpcy5oZWFkZXJzWyhuKzEpJXNdO2JyZWFrO2Nhc2UgaS5MRUZUOmNhc2UgaS5VUDpvPXRoaXMuaGVhZGVyc1sobi0xK3MpJXNdO2JyZWFrO2Nhc2UgaS5TUEFDRTpjYXNlIGkuRU5URVI6dGhpcy5fZXZlbnRIYW5kbGVyKGUpO2JyZWFrO2Nhc2UgaS5IT01FOm89dGhpcy5oZWFkZXJzWzBdO2JyZWFrO2Nhc2UgaS5FTkQ6bz10aGlzLmhlYWRlcnNbcy0xXX1vJiYodChlLnRhcmdldCkuYXR0cigidGFiSW5kZXgiLC0xKSx0KG8pLmF0dHIoInRhYkluZGV4IiwwKSx0KG8pLnRyaWdnZXIoImZvY3VzIiksZS5wcmV2ZW50RGVmYXVsdCgpKX19LF9wYW5lbEtleURvd246ZnVuY3Rpb24oZSl7ZS5rZXlDb2RlPT09dC51aS5rZXlDb2RlLlVQJiZlLmN0cmxLZXkmJnQoZS5jdXJyZW50VGFyZ2V0KS5wcmV2KCkudHJpZ2dlcigiZm9jdXMiKX0scmVmcmVzaDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3B0aW9uczt0aGlzLl9wcm9jZXNzUGFuZWxzKCksZS5hY3RpdmU9PT0hMSYmZS5jb2xsYXBzaWJsZT09PSEwfHwhdGhpcy5oZWFkZXJzLmxlbmd0aD8oZS5hY3RpdmU9ITEsdGhpcy5hY3RpdmU9dCgpKTplLmFjdGl2ZT09PSExP3RoaXMuX2FjdGl2YXRlKDApOnRoaXMuYWN0aXZlLmxlbmd0aCYmIXQuY29udGFpbnModGhpcy5lbGVtZW50WzBdLHRoaXMuYWN0aXZlWzBdKT90aGlzLmhlYWRlcnMubGVuZ3RoPT09dGhpcy5oZWFkZXJzLmZpbmQoIi51aS1zdGF0ZS1kaXNhYmxlZCIpLmxlbmd0aD8oZS5hY3RpdmU9ITEsdGhpcy5hY3RpdmU9dCgpKTp0aGlzLl9hY3RpdmF0ZShNYXRoLm1heCgwLGUuYWN0aXZlLTEpKTplLmFjdGl2ZT10aGlzLmhlYWRlcnMuaW5kZXgodGhpcy5hY3RpdmUpLHRoaXMuX2Rlc3Ryb3lJY29ucygpLHRoaXMuX3JlZnJlc2goKX0sX3Byb2Nlc3NQYW5lbHM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmhlYWRlcnMsZT10aGlzLnBhbmVsczt0aGlzLmhlYWRlcnM9dGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLmhlYWRlciksdGhpcy5fYWRkQ2xhc3ModGhpcy5oZWFkZXJzLCJ1aS1hY2NvcmRpb24taGVhZGVyIHVpLWFjY29yZGlvbi1oZWFkZXItY29sbGFwc2VkIiwidWktc3RhdGUtZGVmYXVsdCIpLHRoaXMucGFuZWxzPXRoaXMuaGVhZGVycy5uZXh0KCkuZmlsdGVyKCI6bm90KC51aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUpIikuaGlkZSgpLHRoaXMuX2FkZENsYXNzKHRoaXMucGFuZWxzLCJ1aS1hY2NvcmRpb24tY29udGVudCIsInVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtY29udGVudCIpLGUmJih0aGlzLl9vZmYodC5ub3QodGhpcy5oZWFkZXJzKSksdGhpcy5fb2ZmKGUubm90KHRoaXMucGFuZWxzKSkpfSxfcmVmcmVzaDpmdW5jdGlvbigpe3ZhciBlLGk9dGhpcy5vcHRpb25zLHM9aS5oZWlnaHRTdHlsZSxuPXRoaXMuZWxlbWVudC5wYXJlbnQoKTt0aGlzLmFjdGl2ZT10aGlzLl9maW5kQWN0aXZlKGkuYWN0aXZlKSx0aGlzLl9hZGRDbGFzcyh0aGlzLmFjdGl2ZSwidWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUiLCJ1aS1zdGF0ZS1hY3RpdmUiKS5fcmVtb3ZlQ2xhc3ModGhpcy5hY3RpdmUsInVpLWFjY29yZGlvbi1oZWFkZXItY29sbGFwc2VkIiksdGhpcy5fYWRkQ2xhc3ModGhpcy5hY3RpdmUubmV4dCgpLCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKSx0aGlzLmFjdGl2ZS5uZXh0KCkuc2hvdygpLHRoaXMuaGVhZGVycy5hdHRyKCJyb2xlIiwidGFiIikuZWFjaChmdW5jdGlvbigpe3ZhciBlPXQodGhpcyksaT1lLnVuaXF1ZUlkKCkuYXR0cigiaWQiKSxzPWUubmV4dCgpLG49cy51bmlxdWVJZCgpLmF0dHIoImlkIik7ZS5hdHRyKCJhcmlhLWNvbnRyb2xzIixuKSxzLmF0dHIoImFyaWEtbGFiZWxsZWRieSIsaSl9KS5uZXh0KCkuYXR0cigicm9sZSIsInRhYnBhbmVsIiksdGhpcy5oZWFkZXJzLm5vdCh0aGlzLmFjdGl2ZSkuYXR0cih7ImFyaWEtc2VsZWN0ZWQiOiJmYWxzZSIsImFyaWEtZXhwYW5kZWQiOiJmYWxzZSIsdGFiSW5kZXg6LTF9KS5uZXh0KCkuYXR0cih7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KS5oaWRlKCksdGhpcy5hY3RpdmUubGVuZ3RoP3RoaXMuYWN0aXZlLmF0dHIoeyJhcmlhLXNlbGVjdGVkIjoidHJ1ZSIsImFyaWEtZXhwYW5kZWQiOiJ0cnVlIix0YWJJbmRleDowfSkubmV4dCgpLmF0dHIoeyJhcmlhLWhpZGRlbiI6ImZhbHNlIn0pOnRoaXMuaGVhZGVycy5lcSgwKS5hdHRyKCJ0YWJJbmRleCIsMCksdGhpcy5fY3JlYXRlSWNvbnMoKSx0aGlzLl9zZXR1cEV2ZW50cyhpLmV2ZW50KSwiZmlsbCI9PT1zPyhlPW4uaGVpZ2h0KCksdGhpcy5lbGVtZW50LnNpYmxpbmdzKCI6dmlzaWJsZSIpLmVhY2goZnVuY3Rpb24oKXt2YXIgaT10KHRoaXMpLHM9aS5jc3MoInBvc2l0aW9uIik7ImFic29sdXRlIiE9PXMmJiJmaXhlZCIhPT1zJiYoZS09aS5vdXRlckhlaWdodCghMCkpfSksdGhpcy5oZWFkZXJzLmVhY2goZnVuY3Rpb24oKXtlLT10KHRoaXMpLm91dGVySGVpZ2h0KCEwKX0pLHRoaXMuaGVhZGVycy5uZXh0KCkuZWFjaChmdW5jdGlvbigpe3QodGhpcykuaGVpZ2h0KE1hdGgubWF4KDAsZS10KHRoaXMpLmlubmVySGVpZ2h0KCkrdCh0aGlzKS5oZWlnaHQoKSkpfSkuY3NzKCJvdmVyZmxvdyIsImF1dG8iKSk6ImF1dG8iPT09cyYmKGU9MCx0aGlzLmhlYWRlcnMubmV4dCgpLmVhY2goZnVuY3Rpb24oKXt2YXIgaT10KHRoaXMpLmlzKCI6dmlzaWJsZSIpO2l8fHQodGhpcykuc2hvdygpLGU9TWF0aC5tYXgoZSx0KHRoaXMpLmNzcygiaGVpZ2h0IiwiIikuaGVpZ2h0KCkpLGl8fHQodGhpcykuaGlkZSgpfSkuaGVpZ2h0KGUpKX0sX2FjdGl2YXRlOmZ1bmN0aW9uKGUpe3ZhciBpPXRoaXMuX2ZpbmRBY3RpdmUoZSlbMF07aSE9PXRoaXMuYWN0aXZlWzBdJiYoaT1pfHx0aGlzLmFjdGl2ZVswXSx0aGlzLl9ldmVudEhhbmRsZXIoe3RhcmdldDppLGN1cnJlbnRUYXJnZXQ6aSxwcmV2ZW50RGVmYXVsdDp0Lm5vb3B9KSl9LF9maW5kQWN0aXZlOmZ1bmN0aW9uKGUpe3JldHVybiJudW1iZXIiPT10eXBlb2YgZT90aGlzLmhlYWRlcnMuZXEoZSk6dCgpfSxfc2V0dXBFdmVudHM6ZnVuY3Rpb24oZSl7dmFyIGk9e2tleWRvd246Il9rZXlkb3duIn07ZSYmdC5lYWNoKGUuc3BsaXQoIiAiKSxmdW5jdGlvbih0LGUpe2lbZV09Il9ldmVudEhhbmRsZXIifSksdGhpcy5fb2ZmKHRoaXMuaGVhZGVycy5hZGQodGhpcy5oZWFkZXJzLm5leHQoKSkpLHRoaXMuX29uKHRoaXMuaGVhZGVycyxpKSx0aGlzLl9vbih0aGlzLmhlYWRlcnMubmV4dCgpLHtrZXlkb3duOiJfcGFuZWxLZXlEb3duIn0pLHRoaXMuX2hvdmVyYWJsZSh0aGlzLmhlYWRlcnMpLHRoaXMuX2ZvY3VzYWJsZSh0aGlzLmhlYWRlcnMpfSxfZXZlbnRIYW5kbGVyOmZ1bmN0aW9uKGUpe3ZhciBpLHMsbj10aGlzLm9wdGlvbnMsbz10aGlzLmFjdGl2ZSxhPXQoZS5jdXJyZW50VGFyZ2V0KSxyPWFbMF09PT1vWzBdLGg9ciYmbi5jb2xsYXBzaWJsZSxsPWg/dCgpOmEubmV4dCgpLGM9by5uZXh0KCksdT17b2xkSGVhZGVyOm8sb2xkUGFuZWw6YyxuZXdIZWFkZXI6aD90KCk6YSxuZXdQYW5lbDpsfTtlLnByZXZlbnREZWZhdWx0KCksciYmIW4uY29sbGFwc2libGV8fHRoaXMuX3RyaWdnZXIoImJlZm9yZUFjdGl2YXRlIixlLHUpPT09ITF8fChuLmFjdGl2ZT1oPyExOnRoaXMuaGVhZGVycy5pbmRleChhKSx0aGlzLmFjdGl2ZT1yP3QoKTphLHRoaXMuX3RvZ2dsZSh1KSx0aGlzLl9yZW1vdmVDbGFzcyhvLCJ1aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2ZSIsInVpLXN0YXRlLWFjdGl2ZSIpLG4uaWNvbnMmJihpPW8uY2hpbGRyZW4oIi51aS1hY2NvcmRpb24taGVhZGVyLWljb24iKSx0aGlzLl9yZW1vdmVDbGFzcyhpLG51bGwsbi5pY29ucy5hY3RpdmVIZWFkZXIpLl9hZGRDbGFzcyhpLG51bGwsbi5pY29ucy5oZWFkZXIpKSxyfHwodGhpcy5fcmVtb3ZlQ2xhc3MoYSwidWktYWNjb3JkaW9uLWhlYWRlci1jb2xsYXBzZWQiKS5fYWRkQ2xhc3MoYSwidWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUiLCJ1aS1zdGF0ZS1hY3RpdmUiKSxuLmljb25zJiYocz1hLmNoaWxkcmVuKCIudWktYWNjb3JkaW9uLWhlYWRlci1pY29uIiksdGhpcy5fcmVtb3ZlQ2xhc3MocyxudWxsLG4uaWNvbnMuaGVhZGVyKS5fYWRkQ2xhc3MocyxudWxsLG4uaWNvbnMuYWN0aXZlSGVhZGVyKSksdGhpcy5fYWRkQ2xhc3MoYS5uZXh0KCksInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpKSl9LF90b2dnbGU6ZnVuY3Rpb24oZSl7dmFyIGk9ZS5uZXdQYW5lbCxzPXRoaXMucHJldlNob3cubGVuZ3RoP3RoaXMucHJldlNob3c6ZS5vbGRQYW5lbDt0aGlzLnByZXZTaG93LmFkZCh0aGlzLnByZXZIaWRlKS5zdG9wKCEwLCEwKSx0aGlzLnByZXZTaG93PWksdGhpcy5wcmV2SGlkZT1zLHRoaXMub3B0aW9ucy5hbmltYXRlP3RoaXMuX2FuaW1hdGUoaSxzLGUpOihzLmhpZGUoKSxpLnNob3coKSx0aGlzLl90b2dnbGVDb21wbGV0ZShlKSkscy5hdHRyKHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLHMucHJldigpLmF0dHIoeyJhcmlhLXNlbGVjdGVkIjoiZmFsc2UiLCJhcmlhLWV4cGFuZGVkIjoiZmFsc2UifSksaS5sZW5ndGgmJnMubGVuZ3RoP3MucHJldigpLmF0dHIoe3RhYkluZGV4Oi0xLCJhcmlhLWV4cGFuZGVkIjoiZmFsc2UifSk6aS5sZW5ndGgmJnRoaXMuaGVhZGVycy5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gMD09PXBhcnNlSW50KHQodGhpcykuYXR0cigidGFiSW5kZXgiKSwxMCl9KS5hdHRyKCJ0YWJJbmRleCIsLTEpLGkuYXR0cigiYXJpYS1oaWRkZW4iLCJmYWxzZSIpLnByZXYoKS5hdHRyKHsiYXJpYS1zZWxlY3RlZCI6InRydWUiLCJhcmlhLWV4cGFuZGVkIjoidHJ1ZSIsdGFiSW5kZXg6MH0pfSxfYW5pbWF0ZTpmdW5jdGlvbih0LGUsaSl7dmFyIHMsbixvLGE9dGhpcyxyPTAsaD10LmNzcygiYm94LXNpemluZyIpLGw9dC5sZW5ndGgmJighZS5sZW5ndGh8fHQuaW5kZXgoKTxlLmluZGV4KCkpLGM9dGhpcy5vcHRpb25zLmFuaW1hdGV8fHt9LHU9bCYmYy5kb3dufHxjLGQ9ZnVuY3Rpb24oKXthLl90b2dnbGVDb21wbGV0ZShpKX07cmV0dXJuIm51bWJlciI9PXR5cGVvZiB1JiYobz11KSwic3RyaW5nIj09dHlwZW9mIHUmJihuPXUpLG49bnx8dS5lYXNpbmd8fGMuZWFzaW5nLG89b3x8dS5kdXJhdGlvbnx8Yy5kdXJhdGlvbixlLmxlbmd0aD90Lmxlbmd0aD8ocz10LnNob3coKS5vdXRlckhlaWdodCgpLGUuYW5pbWF0ZSh0aGlzLmhpZGVQcm9wcyx7ZHVyYXRpb246byxlYXNpbmc6bixzdGVwOmZ1bmN0aW9uKHQsZSl7ZS5ub3c9TWF0aC5yb3VuZCh0KX19KSx0LmhpZGUoKS5hbmltYXRlKHRoaXMuc2hvd1Byb3BzLHtkdXJhdGlvbjpvLGVhc2luZzpuLGNvbXBsZXRlOmQsc3RlcDpmdW5jdGlvbih0LGkpe2kubm93PU1hdGgucm91bmQodCksImhlaWdodCIhPT1pLnByb3A/ImNvbnRlbnQtYm94Ij09PWgmJihyKz1pLm5vdyk6ImNvbnRlbnQiIT09YS5vcHRpb25zLmhlaWdodFN0eWxlJiYoaS5ub3c9TWF0aC5yb3VuZChzLWUub3V0ZXJIZWlnaHQoKS1yKSxyPTApfX0pLHZvaWQgMCk6ZS5hbmltYXRlKHRoaXMuaGlkZVByb3BzLG8sbixkKTp0LmFuaW1hdGUodGhpcy5zaG93UHJvcHMsbyxuLGQpfSxfdG9nZ2xlQ29tcGxldGU6ZnVuY3Rpb24odCl7dmFyIGU9dC5vbGRQYW5lbCxpPWUucHJldigpO3RoaXMuX3JlbW92ZUNsYXNzKGUsInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpLHRoaXMuX3JlbW92ZUNsYXNzKGksInVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZlIikuX2FkZENsYXNzKGksInVpLWFjY29yZGlvbi1oZWFkZXItY29sbGFwc2VkIiksZS5sZW5ndGgmJihlLnBhcmVudCgpWzBdLmNsYXNzTmFtZT1lLnBhcmVudCgpWzBdLmNsYXNzTmFtZSksdGhpcy5fdHJpZ2dlcigiYWN0aXZhdGUiLG51bGwsdCl9fSksdC51aS5zYWZlQWN0aXZlRWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZTt0cnl7ZT10LmFjdGl2ZUVsZW1lbnR9Y2F0Y2goaSl7ZT10LmJvZHl9cmV0dXJuIGV8fChlPXQuYm9keSksZS5ub2RlTmFtZXx8KGU9dC5ib2R5KSxlfSx0LndpZGdldCgidWkubWVudSIse3ZlcnNpb246IjEuMTIuMSIsZGVmYXVsdEVsZW1lbnQ6Ijx1bD4iLGRlbGF5OjMwMCxvcHRpb25zOntpY29uczp7c3VibWVudToidWktaWNvbi1jYXJldC0xLWUifSxpdGVtczoiPiAqIixtZW51czoidWwiLHBvc2l0aW9uOntteToibGVmdCB0b3AiLGF0OiJyaWdodCB0b3AifSxyb2xlOiJtZW51IixibHVyOm51bGwsZm9jdXM6bnVsbCxzZWxlY3Q6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuYWN0aXZlTWVudT10aGlzLmVsZW1lbnQsdGhpcy5tb3VzZUhhbmRsZWQ9ITEsdGhpcy5lbGVtZW50LnVuaXF1ZUlkKCkuYXR0cih7cm9sZTp0aGlzLm9wdGlvbnMucm9sZSx0YWJJbmRleDowfSksdGhpcy5fYWRkQ2xhc3MoInVpLW1lbnUiLCJ1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQiKSx0aGlzLl9vbih7Im1vdXNlZG93biAudWktbWVudS1pdGVtIjpmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9LCJjbGljayAudWktbWVudS1pdGVtIjpmdW5jdGlvbihlKXt2YXIgaT10KGUudGFyZ2V0KSxzPXQodC51aS5zYWZlQWN0aXZlRWxlbWVudCh0aGlzLmRvY3VtZW50WzBdKSk7IXRoaXMubW91c2VIYW5kbGVkJiZpLm5vdCgiLnVpLXN0YXRlLWRpc2FibGVkIikubGVuZ3RoJiYodGhpcy5zZWxlY3QoZSksZS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpfHwodGhpcy5tb3VzZUhhbmRsZWQ9ITApLGkuaGFzKCIudWktbWVudSIpLmxlbmd0aD90aGlzLmV4cGFuZChlKTohdGhpcy5lbGVtZW50LmlzKCI6Zm9jdXMiKSYmcy5jbG9zZXN0KCIudWktbWVudSIpLmxlbmd0aCYmKHRoaXMuZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIsWyEwXSksdGhpcy5hY3RpdmUmJjE9PT10aGlzLmFjdGl2ZS5wYXJlbnRzKCIudWktbWVudSIpLmxlbmd0aCYmY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpKSl9LCJtb3VzZWVudGVyIC51aS1tZW51LWl0ZW0iOmZ1bmN0aW9uKGUpe2lmKCF0aGlzLnByZXZpb3VzRmlsdGVyKXt2YXIgaT10KGUudGFyZ2V0KS5jbG9zZXN0KCIudWktbWVudS1pdGVtIikscz10KGUuY3VycmVudFRhcmdldCk7aVswXT09PXNbMF0mJih0aGlzLl9yZW1vdmVDbGFzcyhzLnNpYmxpbmdzKCkuY2hpbGRyZW4oIi51aS1zdGF0ZS1hY3RpdmUiKSxudWxsLCJ1aS1zdGF0ZS1hY3RpdmUiKSx0aGlzLmZvY3VzKGUscykpfX0sbW91c2VsZWF2ZToiY29sbGFwc2VBbGwiLCJtb3VzZWxlYXZlIC51aS1tZW51IjoiY29sbGFwc2VBbGwiLGZvY3VzOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5hY3RpdmV8fHRoaXMuZWxlbWVudC5maW5kKHRoaXMub3B0aW9ucy5pdGVtcykuZXEoMCk7ZXx8dGhpcy5mb2N1cyh0LGkpfSxibHVyOmZ1bmN0aW9uKGUpe3RoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7dmFyIGk9IXQuY29udGFpbnModGhpcy5lbGVtZW50WzBdLHQudWkuc2FmZUFjdGl2ZUVsZW1lbnQodGhpcy5kb2N1bWVudFswXSkpO2kmJnRoaXMuY29sbGFwc2VBbGwoZSl9KX0sa2V5ZG93bjoiX2tleWRvd24ifSksdGhpcy5yZWZyZXNoKCksdGhpcy5fb24odGhpcy5kb2N1bWVudCx7Y2xpY2s6ZnVuY3Rpb24odCl7dGhpcy5fY2xvc2VPbkRvY3VtZW50Q2xpY2sodCkmJnRoaXMuY29sbGFwc2VBbGwodCksdGhpcy5tb3VzZUhhbmRsZWQ9ITF9fSl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5lbGVtZW50LmZpbmQoIi51aS1tZW51LWl0ZW0iKS5yZW1vdmVBdHRyKCJyb2xlIGFyaWEtZGlzYWJsZWQiKSxpPWUuY2hpbGRyZW4oIi51aS1tZW51LWl0ZW0td3JhcHBlciIpLnJlbW92ZVVuaXF1ZUlkKCkucmVtb3ZlQXR0cigidGFiSW5kZXggcm9sZSBhcmlhLWhhc3BvcHVwIik7dGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIpLmZpbmQoIi51aS1tZW51IikuYWRkQmFjaygpLnJlbW92ZUF0dHIoInJvbGUgYXJpYS1sYWJlbGxlZGJ5IGFyaWEtZXhwYW5kZWQgYXJpYS1oaWRkZW4gYXJpYS1kaXNhYmxlZCB0YWJJbmRleCIpLnJlbW92ZVVuaXF1ZUlkKCkuc2hvdygpLGkuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTtlLmRhdGEoInVpLW1lbnUtc3VibWVudS1jYXJldCIpJiZlLnJlbW92ZSgpfSl9LF9rZXlkb3duOmZ1bmN0aW9uKGUpe3ZhciBpLHMsbixvLGE9ITA7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSB0LnVpLmtleUNvZGUuUEFHRV9VUDp0aGlzLnByZXZpb3VzUGFnZShlKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5QQUdFX0RPV046dGhpcy5uZXh0UGFnZShlKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5IT01FOnRoaXMuX21vdmUoImZpcnN0IiwiZmlyc3QiLGUpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLkVORDp0aGlzLl9tb3ZlKCJsYXN0IiwibGFzdCIsZSk7YnJlYWs7Y2FzZSB0LnVpLmtleUNvZGUuVVA6dGhpcy5wcmV2aW91cyhlKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5ET1dOOnRoaXMubmV4dChlKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5MRUZUOnRoaXMuY29sbGFwc2UoZSk7YnJlYWs7Y2FzZSB0LnVpLmtleUNvZGUuUklHSFQ6dGhpcy5hY3RpdmUmJiF0aGlzLmFjdGl2ZS5pcygiLnVpLXN0YXRlLWRpc2FibGVkIikmJnRoaXMuZXhwYW5kKGUpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLkVOVEVSOmNhc2UgdC51aS5rZXlDb2RlLlNQQUNFOnRoaXMuX2FjdGl2YXRlKGUpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLkVTQ0FQRTp0aGlzLmNvbGxhcHNlKGUpO2JyZWFrO2RlZmF1bHQ6YT0hMSxzPXRoaXMucHJldmlvdXNGaWx0ZXJ8fCIiLG89ITEsbj1lLmtleUNvZGU+PTk2JiYxMDU+PWUua2V5Q29kZT8iIisoZS5rZXlDb2RlLTk2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGUua2V5Q29kZSksY2xlYXJUaW1lb3V0KHRoaXMuZmlsdGVyVGltZXIpLG49PT1zP289ITA6bj1zK24saT10aGlzLl9maWx0ZXJNZW51SXRlbXMobiksaT1vJiYtMSE9PWkuaW5kZXgodGhpcy5hY3RpdmUubmV4dCgpKT90aGlzLmFjdGl2ZS5uZXh0QWxsKCIudWktbWVudS1pdGVtIik6aSxpLmxlbmd0aHx8KG49U3RyaW5nLmZyb21DaGFyQ29kZShlLmtleUNvZGUpLGk9dGhpcy5fZmlsdGVyTWVudUl0ZW1zKG4pKSxpLmxlbmd0aD8odGhpcy5mb2N1cyhlLGkpLHRoaXMucHJldmlvdXNGaWx0ZXI9bix0aGlzLmZpbHRlclRpbWVyPXRoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXMucHJldmlvdXNGaWx0ZXJ9LDFlMykpOmRlbGV0ZSB0aGlzLnByZXZpb3VzRmlsdGVyfWEmJmUucHJldmVudERlZmF1bHQoKX0sX2FjdGl2YXRlOmZ1bmN0aW9uKHQpe3RoaXMuYWN0aXZlJiYhdGhpcy5hY3RpdmUuaXMoIi51aS1zdGF0ZS1kaXNhYmxlZCIpJiYodGhpcy5hY3RpdmUuY2hpbGRyZW4oIlthcmlhLWhhc3BvcHVwPSd0cnVlJ10iKS5sZW5ndGg/dGhpcy5leHBhbmQodCk6dGhpcy5zZWxlY3QodCkpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIGUsaSxzLG4sbyxhPXRoaXMscj10aGlzLm9wdGlvbnMuaWNvbnMuc3VibWVudSxoPXRoaXMuZWxlbWVudC5maW5kKHRoaXMub3B0aW9ucy5tZW51cyk7dGhpcy5fdG9nZ2xlQ2xhc3MoInVpLW1lbnUtaWNvbnMiLG51bGwsISF0aGlzLmVsZW1lbnQuZmluZCgiLnVpLWljb24iKS5sZW5ndGgpLHM9aC5maWx0ZXIoIjpub3QoLnVpLW1lbnUpIikuaGlkZSgpLmF0dHIoe3JvbGU6dGhpcy5vcHRpb25zLnJvbGUsImFyaWEtaGlkZGVuIjoidHJ1ZSIsImFyaWEtZXhwYW5kZWQiOiJmYWxzZSJ9KS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKSxpPWUucHJldigpLHM9dCgiPHNwYW4+IikuZGF0YSgidWktbWVudS1zdWJtZW51LWNhcmV0IiwhMCk7YS5fYWRkQ2xhc3MocywidWktbWVudS1pY29uIiwidWktaWNvbiAiK3IpLGkuYXR0cigiYXJpYS1oYXNwb3B1cCIsInRydWUiKS5wcmVwZW5kKHMpLGUuYXR0cigiYXJpYS1sYWJlbGxlZGJ5IixpLmF0dHIoImlkIikpfSksdGhpcy5fYWRkQ2xhc3MocywidWktbWVudSIsInVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1mcm9udCIpLGU9aC5hZGQodGhpcy5lbGVtZW50KSxpPWUuZmluZCh0aGlzLm9wdGlvbnMuaXRlbXMpLGkubm90KCIudWktbWVudS1pdGVtIikuZWFjaChmdW5jdGlvbigpe3ZhciBlPXQodGhpcyk7YS5faXNEaXZpZGVyKGUpJiZhLl9hZGRDbGFzcyhlLCJ1aS1tZW51LWRpdmlkZXIiLCJ1aS13aWRnZXQtY29udGVudCIpfSksbj1pLm5vdCgiLnVpLW1lbnUtaXRlbSwgLnVpLW1lbnUtZGl2aWRlciIpLG89bi5jaGlsZHJlbigpLm5vdCgiLnVpLW1lbnUiKS51bmlxdWVJZCgpLmF0dHIoe3RhYkluZGV4Oi0xLHJvbGU6dGhpcy5faXRlbVJvbGUoKX0pLHRoaXMuX2FkZENsYXNzKG4sInVpLW1lbnUtaXRlbSIpLl9hZGRDbGFzcyhvLCJ1aS1tZW51LWl0ZW0td3JhcHBlciIpLGkuZmlsdGVyKCIudWktc3RhdGUtZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwidHJ1ZSIpLHRoaXMuYWN0aXZlJiYhdC5jb250YWlucyh0aGlzLmVsZW1lbnRbMF0sdGhpcy5hY3RpdmVbMF0pJiZ0aGlzLmJsdXIoKX0sX2l0ZW1Sb2xlOmZ1bmN0aW9uKCl7cmV0dXJue21lbnU6Im1lbnVpdGVtIixsaXN0Ym94OiJvcHRpb24ifVt0aGlzLm9wdGlvbnMucm9sZV19LF9zZXRPcHRpb246ZnVuY3Rpb24odCxlKXtpZigiaWNvbnMiPT09dCl7dmFyIGk9dGhpcy5lbGVtZW50LmZpbmQoIi51aS1tZW51LWljb24iKTt0aGlzLl9yZW1vdmVDbGFzcyhpLG51bGwsdGhpcy5vcHRpb25zLmljb25zLnN1Ym1lbnUpLl9hZGRDbGFzcyhpLG51bGwsZS5zdWJtZW51KX10aGlzLl9zdXBlcih0LGUpfSxfc2V0T3B0aW9uRGlzYWJsZWQ6ZnVuY3Rpb24odCl7dGhpcy5fc3VwZXIodCksdGhpcy5lbGVtZW50LmF0dHIoImFyaWEtZGlzYWJsZWQiLHQrIiIpLHRoaXMuX3RvZ2dsZUNsYXNzKG51bGwsInVpLXN0YXRlLWRpc2FibGVkIiwhIXQpfSxmb2N1czpmdW5jdGlvbih0LGUpe3ZhciBpLHMsbjt0aGlzLmJsdXIodCx0JiYiZm9jdXMiPT09dC50eXBlKSx0aGlzLl9zY3JvbGxJbnRvVmlldyhlKSx0aGlzLmFjdGl2ZT1lLmZpcnN0KCkscz10aGlzLmFjdGl2ZS5jaGlsZHJlbigiLnVpLW1lbnUtaXRlbS13cmFwcGVyIiksdGhpcy5fYWRkQ2xhc3MocyxudWxsLCJ1aS1zdGF0ZS1hY3RpdmUiKSx0aGlzLm9wdGlvbnMucm9sZSYmdGhpcy5lbGVtZW50LmF0dHIoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIscy5hdHRyKCJpZCIpKSxuPXRoaXMuYWN0aXZlLnBhcmVudCgpLmNsb3Nlc3QoIi51aS1tZW51LWl0ZW0iKS5jaGlsZHJlbigiLnVpLW1lbnUtaXRlbS13cmFwcGVyIiksdGhpcy5fYWRkQ2xhc3MobixudWxsLCJ1aS1zdGF0ZS1hY3RpdmUiKSx0JiYia2V5ZG93biI9PT10LnR5cGU/dGhpcy5fY2xvc2UoKTp0aGlzLnRpbWVyPXRoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7dGhpcy5fY2xvc2UoKX0sdGhpcy5kZWxheSksaT1lLmNoaWxkcmVuKCIudWktbWVudSIpLGkubGVuZ3RoJiZ0JiYvXm1vdXNlLy50ZXN0KHQudHlwZSkmJnRoaXMuX3N0YXJ0T3BlbmluZyhpKSx0aGlzLmFjdGl2ZU1lbnU9ZS5wYXJlbnQoKSx0aGlzLl90cmlnZ2VyKCJmb2N1cyIsdCx7aXRlbTplfSl9LF9zY3JvbGxJbnRvVmlldzpmdW5jdGlvbihlKXt2YXIgaSxzLG4sbyxhLHI7dGhpcy5faGFzU2Nyb2xsKCkmJihpPXBhcnNlRmxvYXQodC5jc3ModGhpcy5hY3RpdmVNZW51WzBdLCJib3JkZXJUb3BXaWR0aCIpKXx8MCxzPXBhcnNlRmxvYXQodC5jc3ModGhpcy5hY3RpdmVNZW51WzBdLCJwYWRkaW5nVG9wIikpfHwwLG49ZS5vZmZzZXQoKS50b3AtdGhpcy5hY3RpdmVNZW51Lm9mZnNldCgpLnRvcC1pLXMsbz10aGlzLmFjdGl2ZU1lbnUuc2Nyb2xsVG9wKCksYT10aGlzLmFjdGl2ZU1lbnUuaGVpZ2h0KCkscj1lLm91dGVySGVpZ2h0KCksMD5uP3RoaXMuYWN0aXZlTWVudS5zY3JvbGxUb3AobytuKTpuK3I+YSYmdGhpcy5hY3RpdmVNZW51LnNjcm9sbFRvcChvK24tYStyKSl9LGJsdXI6ZnVuY3Rpb24odCxlKXtlfHxjbGVhclRpbWVvdXQodGhpcy50aW1lciksdGhpcy5hY3RpdmUmJih0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLmFjdGl2ZS5jaGlsZHJlbigiLnVpLW1lbnUtaXRlbS13cmFwcGVyIiksbnVsbCwidWktc3RhdGUtYWN0aXZlIiksdGhpcy5fdHJpZ2dlcigiYmx1ciIsdCx7aXRlbTp0aGlzLmFjdGl2ZX0pLHRoaXMuYWN0aXZlPW51bGwpfSxfc3RhcnRPcGVuaW5nOmZ1bmN0aW9uKHQpe2NsZWFyVGltZW91dCh0aGlzLnRpbWVyKSwidHJ1ZSI9PT10LmF0dHIoImFyaWEtaGlkZGVuIikmJih0aGlzLnRpbWVyPXRoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7dGhpcy5fY2xvc2UoKSx0aGlzLl9vcGVuKHQpfSx0aGlzLmRlbGF5KSl9LF9vcGVuOmZ1bmN0aW9uKGUpe3ZhciBpPXQuZXh0ZW5kKHtvZjp0aGlzLmFjdGl2ZX0sdGhpcy5vcHRpb25zLnBvc2l0aW9uKTtjbGVhclRpbWVvdXQodGhpcy50aW1lciksdGhpcy5lbGVtZW50LmZpbmQoIi51aS1tZW51Iikubm90KGUucGFyZW50cygiLnVpLW1lbnUiKSkuaGlkZSgpLmF0dHIoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLGUuc2hvdygpLnJlbW92ZUF0dHIoImFyaWEtaGlkZGVuIikuYXR0cigiYXJpYS1leHBhbmRlZCIsInRydWUiKS5wb3NpdGlvbihpKX0sY29sbGFwc2VBbGw6ZnVuY3Rpb24oZSxpKXtjbGVhclRpbWVvdXQodGhpcy50aW1lciksdGhpcy50aW1lcj10aGlzLl9kZWxheShmdW5jdGlvbigpe3ZhciBzPWk/dGhpcy5lbGVtZW50OnQoZSYmZS50YXJnZXQpLmNsb3Nlc3QodGhpcy5lbGVtZW50LmZpbmQoIi51aS1tZW51IikpO3MubGVuZ3RofHwocz10aGlzLmVsZW1lbnQpLHRoaXMuX2Nsb3NlKHMpLHRoaXMuYmx1cihlKSx0aGlzLl9yZW1vdmVDbGFzcyhzLmZpbmQoIi51aS1zdGF0ZS1hY3RpdmUiKSxudWxsLCJ1aS1zdGF0ZS1hY3RpdmUiKSx0aGlzLmFjdGl2ZU1lbnU9c30sdGhpcy5kZWxheSl9LF9jbG9zZTpmdW5jdGlvbih0KXt0fHwodD10aGlzLmFjdGl2ZT90aGlzLmFjdGl2ZS5wYXJlbnQoKTp0aGlzLmVsZW1lbnQpLHQuZmluZCgiLnVpLW1lbnUiKS5oaWRlKCkuYXR0cigiYXJpYS1oaWRkZW4iLCJ0cnVlIikuYXR0cigiYXJpYS1leHBhbmRlZCIsImZhbHNlIil9LF9jbG9zZU9uRG9jdW1lbnRDbGljazpmdW5jdGlvbihlKXtyZXR1cm4hdChlLnRhcmdldCkuY2xvc2VzdCgiLnVpLW1lbnUiKS5sZW5ndGh9LF9pc0RpdmlkZXI6ZnVuY3Rpb24odCl7cmV0dXJuIS9bXlwtXHUyMDE0XHUyMDEzXHNdLy50ZXN0KHQudGV4dCgpKX0sY29sbGFwc2U6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5hY3RpdmUmJnRoaXMuYWN0aXZlLnBhcmVudCgpLmNsb3Nlc3QoIi51aS1tZW51LWl0ZW0iLHRoaXMuZWxlbWVudCk7ZSYmZS5sZW5ndGgmJih0aGlzLl9jbG9zZSgpLHRoaXMuZm9jdXModCxlKSl9LGV4cGFuZDpmdW5jdGlvbih0KXt2YXIgZT10aGlzLmFjdGl2ZSYmdGhpcy5hY3RpdmUuY2hpbGRyZW4oIi51aS1tZW51ICIpLmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKS5maXJzdCgpO2UmJmUubGVuZ3RoJiYodGhpcy5fb3BlbihlLnBhcmVudCgpKSx0aGlzLl9kZWxheShmdW5jdGlvbigpe3RoaXMuZm9jdXModCxlKX0pKX0sbmV4dDpmdW5jdGlvbih0KXt0aGlzLl9tb3ZlKCJuZXh0IiwiZmlyc3QiLHQpfSxwcmV2aW91czpmdW5jdGlvbih0KXt0aGlzLl9tb3ZlKCJwcmV2IiwibGFzdCIsdCl9LGlzRmlyc3RJdGVtOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZlJiYhdGhpcy5hY3RpdmUucHJldkFsbCgiLnVpLW1lbnUtaXRlbSIpLmxlbmd0aH0saXNMYXN0SXRlbTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmFjdGl2ZSYmIXRoaXMuYWN0aXZlLm5leHRBbGwoIi51aS1tZW51LWl0ZW0iKS5sZW5ndGh9LF9tb3ZlOmZ1bmN0aW9uKHQsZSxpKXt2YXIgczt0aGlzLmFjdGl2ZSYmKHM9ImZpcnN0Ij09PXR8fCJsYXN0Ij09PXQ/dGhpcy5hY3RpdmVbImZpcnN0Ij09PXQ/InByZXZBbGwiOiJuZXh0QWxsIl0oIi51aS1tZW51LWl0ZW0iKS5lcSgtMSk6dGhpcy5hY3RpdmVbdCsiQWxsIl0oIi51aS1tZW51LWl0ZW0iKS5lcSgwKSkscyYmcy5sZW5ndGgmJnRoaXMuYWN0aXZlfHwocz10aGlzLmFjdGl2ZU1lbnUuZmluZCh0aGlzLm9wdGlvbnMuaXRlbXMpW2VdKCkpLHRoaXMuZm9jdXMoaSxzKX0sbmV4dFBhZ2U6ZnVuY3Rpb24oZSl7dmFyIGkscyxuO3JldHVybiB0aGlzLmFjdGl2ZT8odGhpcy5pc0xhc3RJdGVtKCl8fCh0aGlzLl9oYXNTY3JvbGwoKT8ocz10aGlzLmFjdGl2ZS5vZmZzZXQoKS50b3Asbj10aGlzLmVsZW1lbnQuaGVpZ2h0KCksdGhpcy5hY3RpdmUubmV4dEFsbCgiLnVpLW1lbnUtaXRlbSIpLmVhY2goZnVuY3Rpb24oKXtyZXR1cm4gaT10KHRoaXMpLDA+aS5vZmZzZXQoKS50b3Atcy1ufSksdGhpcy5mb2N1cyhlLGkpKTp0aGlzLmZvY3VzKGUsdGhpcy5hY3RpdmVNZW51LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKVt0aGlzLmFjdGl2ZT8ibGFzdCI6ImZpcnN0Il0oKSkpLHZvaWQgMCk6KHRoaXMubmV4dChlKSx2b2lkIDApfSxwcmV2aW91c1BhZ2U6ZnVuY3Rpb24oZSl7dmFyIGkscyxuO3JldHVybiB0aGlzLmFjdGl2ZT8odGhpcy5pc0ZpcnN0SXRlbSgpfHwodGhpcy5faGFzU2Nyb2xsKCk/KHM9dGhpcy5hY3RpdmUub2Zmc2V0KCkudG9wLG49dGhpcy5lbGVtZW50LmhlaWdodCgpLHRoaXMuYWN0aXZlLnByZXZBbGwoIi51aS1tZW51LWl0ZW0iKS5lYWNoKGZ1bmN0aW9uKCl7cmV0dXJuIGk9dCh0aGlzKSxpLm9mZnNldCgpLnRvcC1zK24+MH0pLHRoaXMuZm9jdXMoZSxpKSk6dGhpcy5mb2N1cyhlLHRoaXMuYWN0aXZlTWVudS5maW5kKHRoaXMub3B0aW9ucy5pdGVtcykuZmlyc3QoKSkpLHZvaWQgMCk6KHRoaXMubmV4dChlKSx2b2lkIDApfSxfaGFzU2Nyb2xsOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpPHRoaXMuZWxlbWVudC5wcm9wKCJzY3JvbGxIZWlnaHQiKX0sc2VsZWN0OmZ1bmN0aW9uKGUpe3RoaXMuYWN0aXZlPXRoaXMuYWN0aXZlfHx0KGUudGFyZ2V0KS5jbG9zZXN0KCIudWktbWVudS1pdGVtIik7dmFyIGk9e2l0ZW06dGhpcy5hY3RpdmV9O3RoaXMuYWN0aXZlLmhhcygiLnVpLW1lbnUiKS5sZW5ndGh8fHRoaXMuY29sbGFwc2VBbGwoZSwhMCksdGhpcy5fdHJpZ2dlcigic2VsZWN0IixlLGkpfSxfZmlsdGVyTWVudUl0ZW1zOmZ1bmN0aW9uKGUpe3ZhciBpPWUucmVwbGFjZSgvW1wtXFtcXXt9KCkqKz8uLFxcXF4kfCNcc10vZywiXFwkJiIpLHM9UmVnRXhwKCJeIitpLCJpIik7cmV0dXJuIHRoaXMuYWN0aXZlTWVudS5maW5kKHRoaXMub3B0aW9ucy5pdGVtcykuZmlsdGVyKCIudWktbWVudS1pdGVtIikuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIHMudGVzdCh0LnRyaW0odCh0aGlzKS5jaGlsZHJlbigiLnVpLW1lbnUtaXRlbS13cmFwcGVyIikudGV4dCgpKSl9KX19KSx0LndpZGdldCgidWkuYXV0b2NvbXBsZXRlIix7dmVyc2lvbjoiMS4xMi4xIixkZWZhdWx0RWxlbWVudDoiPGlucHV0PiIsb3B0aW9uczp7YXBwZW5kVG86bnVsbCxhdXRvRm9jdXM6ITEsZGVsYXk6MzAwLG1pbkxlbmd0aDoxLHBvc2l0aW9uOntteToibGVmdCB0b3AiLGF0OiJsZWZ0IGJvdHRvbSIsY29sbGlzaW9uOiJub25lIn0sc291cmNlOm51bGwsY2hhbmdlOm51bGwsY2xvc2U6bnVsbCxmb2N1czpudWxsLG9wZW46bnVsbCxyZXNwb25zZTpudWxsLHNlYXJjaDpudWxsLHNlbGVjdDpudWxsfSxyZXF1ZXN0SW5kZXg6MCxwZW5kaW5nOjAsX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBlLGkscyxuPXRoaXMuZWxlbWVudFswXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLG89InRleHRhcmVhIj09PW4sYT0iaW5wdXQiPT09bjsKdGhpcy5pc011bHRpTGluZT1vfHwhYSYmdGhpcy5faXNDb250ZW50RWRpdGFibGUodGhpcy5lbGVtZW50KSx0aGlzLnZhbHVlTWV0aG9kPXRoaXMuZWxlbWVudFtvfHxhPyJ2YWwiOiJ0ZXh0Il0sdGhpcy5pc05ld01lbnU9ITAsdGhpcy5fYWRkQ2xhc3MoInVpLWF1dG9jb21wbGV0ZS1pbnB1dCIpLHRoaXMuZWxlbWVudC5hdHRyKCJhdXRvY29tcGxldGUiLCJvZmYiKSx0aGlzLl9vbih0aGlzLmVsZW1lbnQse2tleWRvd246ZnVuY3Rpb24obil7aWYodGhpcy5lbGVtZW50LnByb3AoInJlYWRPbmx5IikpcmV0dXJuIGU9ITAscz0hMCxpPSEwLHZvaWQgMDtlPSExLHM9ITEsaT0hMTt2YXIgbz10LnVpLmtleUNvZGU7c3dpdGNoKG4ua2V5Q29kZSl7Y2FzZSBvLlBBR0VfVVA6ZT0hMCx0aGlzLl9tb3ZlKCJwcmV2aW91c1BhZ2UiLG4pO2JyZWFrO2Nhc2Ugby5QQUdFX0RPV046ZT0hMCx0aGlzLl9tb3ZlKCJuZXh0UGFnZSIsbik7YnJlYWs7Y2FzZSBvLlVQOmU9ITAsdGhpcy5fa2V5RXZlbnQoInByZXZpb3VzIixuKTticmVhaztjYXNlIG8uRE9XTjplPSEwLHRoaXMuX2tleUV2ZW50KCJuZXh0IixuKTticmVhaztjYXNlIG8uRU5URVI6dGhpcy5tZW51LmFjdGl2ZSYmKGU9ITAsbi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubWVudS5zZWxlY3QobikpO2JyZWFrO2Nhc2Ugby5UQUI6dGhpcy5tZW51LmFjdGl2ZSYmdGhpcy5tZW51LnNlbGVjdChuKTticmVhaztjYXNlIG8uRVNDQVBFOnRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpJiYodGhpcy5pc011bHRpTGluZXx8dGhpcy5fdmFsdWUodGhpcy50ZXJtKSx0aGlzLmNsb3NlKG4pLG4ucHJldmVudERlZmF1bHQoKSk7YnJlYWs7ZGVmYXVsdDppPSEwLHRoaXMuX3NlYXJjaFRpbWVvdXQobil9fSxrZXlwcmVzczpmdW5jdGlvbihzKXtpZihlKXJldHVybiBlPSExLCghdGhpcy5pc011bHRpTGluZXx8dGhpcy5tZW51LmVsZW1lbnQuaXMoIjp2aXNpYmxlIikpJiZzLnByZXZlbnREZWZhdWx0KCksdm9pZCAwO2lmKCFpKXt2YXIgbj10LnVpLmtleUNvZGU7c3dpdGNoKHMua2V5Q29kZSl7Y2FzZSBuLlBBR0VfVVA6dGhpcy5fbW92ZSgicHJldmlvdXNQYWdlIixzKTticmVhaztjYXNlIG4uUEFHRV9ET1dOOnRoaXMuX21vdmUoIm5leHRQYWdlIixzKTticmVhaztjYXNlIG4uVVA6dGhpcy5fa2V5RXZlbnQoInByZXZpb3VzIixzKTticmVhaztjYXNlIG4uRE9XTjp0aGlzLl9rZXlFdmVudCgibmV4dCIscyl9fX0saW5wdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHM/KHM9ITEsdC5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgMCk6KHRoaXMuX3NlYXJjaFRpbWVvdXQodCksdm9pZCAwKX0sZm9jdXM6ZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGVkSXRlbT1udWxsLHRoaXMucHJldmlvdXM9dGhpcy5fdmFsdWUoKX0sYmx1cjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jYW5jZWxCbHVyPyhkZWxldGUgdGhpcy5jYW5jZWxCbHVyLHZvaWQgMCk6KGNsZWFyVGltZW91dCh0aGlzLnNlYXJjaGluZyksdGhpcy5jbG9zZSh0KSx0aGlzLl9jaGFuZ2UodCksdm9pZCAwKX19KSx0aGlzLl9pbml0U291cmNlKCksdGhpcy5tZW51PXQoIjx1bD4iKS5hcHBlbmRUbyh0aGlzLl9hcHBlbmRUbygpKS5tZW51KHtyb2xlOm51bGx9KS5oaWRlKCkubWVudSgiaW5zdGFuY2UiKSx0aGlzLl9hZGRDbGFzcyh0aGlzLm1lbnUuZWxlbWVudCwidWktYXV0b2NvbXBsZXRlIiwidWktZnJvbnQiKSx0aGlzLl9vbih0aGlzLm1lbnUuZWxlbWVudCx7bW91c2Vkb3duOmZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSx0aGlzLmNhbmNlbEJsdXI9ITAsdGhpcy5fZGVsYXkoZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5jYW5jZWxCbHVyLHRoaXMuZWxlbWVudFswXSE9PXQudWkuc2FmZUFjdGl2ZUVsZW1lbnQodGhpcy5kb2N1bWVudFswXSkmJnRoaXMuZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpfSl9LG1lbnVmb2N1czpmdW5jdGlvbihlLGkpe3ZhciBzLG47cmV0dXJuIHRoaXMuaXNOZXdNZW51JiYodGhpcy5pc05ld01lbnU9ITEsZS5vcmlnaW5hbEV2ZW50JiYvXm1vdXNlLy50ZXN0KGUub3JpZ2luYWxFdmVudC50eXBlKSk/KHRoaXMubWVudS5ibHVyKCksdGhpcy5kb2N1bWVudC5vbmUoIm1vdXNlbW92ZSIsZnVuY3Rpb24oKXt0KGUudGFyZ2V0KS50cmlnZ2VyKGUub3JpZ2luYWxFdmVudCl9KSx2b2lkIDApOihuPWkuaXRlbS5kYXRhKCJ1aS1hdXRvY29tcGxldGUtaXRlbSIpLCExIT09dGhpcy5fdHJpZ2dlcigiZm9jdXMiLGUse2l0ZW06bn0pJiZlLm9yaWdpbmFsRXZlbnQmJi9ea2V5Ly50ZXN0KGUub3JpZ2luYWxFdmVudC50eXBlKSYmdGhpcy5fdmFsdWUobi52YWx1ZSkscz1pLml0ZW0uYXR0cigiYXJpYS1sYWJlbCIpfHxuLnZhbHVlLHMmJnQudHJpbShzKS5sZW5ndGgmJih0aGlzLmxpdmVSZWdpb24uY2hpbGRyZW4oKS5oaWRlKCksdCgiPGRpdj4iKS50ZXh0KHMpLmFwcGVuZFRvKHRoaXMubGl2ZVJlZ2lvbikpLHZvaWQgMCl9LG1lbnVzZWxlY3Q6ZnVuY3Rpb24oZSxpKXt2YXIgcz1pLml0ZW0uZGF0YSgidWktYXV0b2NvbXBsZXRlLWl0ZW0iKSxuPXRoaXMucHJldmlvdXM7dGhpcy5lbGVtZW50WzBdIT09dC51aS5zYWZlQWN0aXZlRWxlbWVudCh0aGlzLmRvY3VtZW50WzBdKSYmKHRoaXMuZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpLHRoaXMucHJldmlvdXM9bix0aGlzLl9kZWxheShmdW5jdGlvbigpe3RoaXMucHJldmlvdXM9bix0aGlzLnNlbGVjdGVkSXRlbT1zfSkpLCExIT09dGhpcy5fdHJpZ2dlcigic2VsZWN0IixlLHtpdGVtOnN9KSYmdGhpcy5fdmFsdWUocy52YWx1ZSksdGhpcy50ZXJtPXRoaXMuX3ZhbHVlKCksdGhpcy5jbG9zZShlKSx0aGlzLnNlbGVjdGVkSXRlbT1zfX0pLHRoaXMubGl2ZVJlZ2lvbj10KCI8ZGl2PiIse3JvbGU6InN0YXR1cyIsImFyaWEtbGl2ZSI6ImFzc2VydGl2ZSIsImFyaWEtcmVsZXZhbnQiOiJhZGRpdGlvbnMifSkuYXBwZW5kVG8odGhpcy5kb2N1bWVudFswXS5ib2R5KSx0aGlzLl9hZGRDbGFzcyh0aGlzLmxpdmVSZWdpb24sbnVsbCwidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIiksdGhpcy5fb24odGhpcy53aW5kb3cse2JlZm9yZXVubG9hZDpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCJhdXRvY29tcGxldGUiKX19KX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodGhpcy5zZWFyY2hpbmcpLHRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCJhdXRvY29tcGxldGUiKSx0aGlzLm1lbnUuZWxlbWVudC5yZW1vdmUoKSx0aGlzLmxpdmVSZWdpb24ucmVtb3ZlKCl9LF9zZXRPcHRpb246ZnVuY3Rpb24odCxlKXt0aGlzLl9zdXBlcih0LGUpLCJzb3VyY2UiPT09dCYmdGhpcy5faW5pdFNvdXJjZSgpLCJhcHBlbmRUbyI9PT10JiZ0aGlzLm1lbnUuZWxlbWVudC5hcHBlbmRUbyh0aGlzLl9hcHBlbmRUbygpKSwiZGlzYWJsZWQiPT09dCYmZSYmdGhpcy54aHImJnRoaXMueGhyLmFib3J0KCl9LF9pc0V2ZW50VGFyZ2V0SW5XaWRnZXQ6ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcy5tZW51LmVsZW1lbnRbMF07cmV0dXJuIGUudGFyZ2V0PT09dGhpcy5lbGVtZW50WzBdfHxlLnRhcmdldD09PWl8fHQuY29udGFpbnMoaSxlLnRhcmdldCl9LF9jbG9zZU9uQ2xpY2tPdXRzaWRlOmZ1bmN0aW9uKHQpe3RoaXMuX2lzRXZlbnRUYXJnZXRJbldpZGdldCh0KXx8dGhpcy5jbG9zZSgpfSxfYXBwZW5kVG86ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9wdGlvbnMuYXBwZW5kVG87cmV0dXJuIGUmJihlPWUuanF1ZXJ5fHxlLm5vZGVUeXBlP3QoZSk6dGhpcy5kb2N1bWVudC5maW5kKGUpLmVxKDApKSxlJiZlWzBdfHwoZT10aGlzLmVsZW1lbnQuY2xvc2VzdCgiLnVpLWZyb250LCBkaWFsb2ciKSksZS5sZW5ndGh8fChlPXRoaXMuZG9jdW1lbnRbMF0uYm9keSksZX0sX2luaXRTb3VyY2U6ZnVuY3Rpb24oKXt2YXIgZSxpLHM9dGhpczt0LmlzQXJyYXkodGhpcy5vcHRpb25zLnNvdXJjZSk/KGU9dGhpcy5vcHRpb25zLnNvdXJjZSx0aGlzLnNvdXJjZT1mdW5jdGlvbihpLHMpe3ModC51aS5hdXRvY29tcGxldGUuZmlsdGVyKGUsaS50ZXJtKSl9KToic3RyaW5nIj09dHlwZW9mIHRoaXMub3B0aW9ucy5zb3VyY2U/KGk9dGhpcy5vcHRpb25zLnNvdXJjZSx0aGlzLnNvdXJjZT1mdW5jdGlvbihlLG4pe3MueGhyJiZzLnhoci5hYm9ydCgpLHMueGhyPXQuYWpheCh7dXJsOmksZGF0YTplLGRhdGFUeXBlOiJqc29uIixzdWNjZXNzOmZ1bmN0aW9uKHQpe24odCl9LGVycm9yOmZ1bmN0aW9uKCl7bihbXSl9fSl9KTp0aGlzLnNvdXJjZT10aGlzLm9wdGlvbnMuc291cmNlfSxfc2VhcmNoVGltZW91dDpmdW5jdGlvbih0KXtjbGVhclRpbWVvdXQodGhpcy5zZWFyY2hpbmcpLHRoaXMuc2VhcmNoaW5nPXRoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50ZXJtPT09dGhpcy5fdmFsdWUoKSxpPXRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpLHM9dC5hbHRLZXl8fHQuY3RybEtleXx8dC5tZXRhS2V5fHx0LnNoaWZ0S2V5OyghZXx8ZSYmIWkmJiFzKSYmKHRoaXMuc2VsZWN0ZWRJdGVtPW51bGwsdGhpcy5zZWFyY2gobnVsbCx0KSl9LHRoaXMub3B0aW9ucy5kZWxheSl9LHNlYXJjaDpmdW5jdGlvbih0LGUpe3JldHVybiB0PW51bGwhPXQ/dDp0aGlzLl92YWx1ZSgpLHRoaXMudGVybT10aGlzLl92YWx1ZSgpLHQubGVuZ3RoPHRoaXMub3B0aW9ucy5taW5MZW5ndGg/dGhpcy5jbG9zZShlKTp0aGlzLl90cmlnZ2VyKCJzZWFyY2giLGUpIT09ITE/dGhpcy5fc2VhcmNoKHQpOnZvaWQgMH0sX3NlYXJjaDpmdW5jdGlvbih0KXt0aGlzLnBlbmRpbmcrKyx0aGlzLl9hZGRDbGFzcygidWktYXV0b2NvbXBsZXRlLWxvYWRpbmciKSx0aGlzLmNhbmNlbFNlYXJjaD0hMSx0aGlzLnNvdXJjZSh7dGVybTp0fSx0aGlzLl9yZXNwb25zZSgpKX0sX3Jlc3BvbnNlOmZ1bmN0aW9uKCl7dmFyIGU9Kyt0aGlzLnJlcXVlc3RJbmRleDtyZXR1cm4gdC5wcm94eShmdW5jdGlvbih0KXtlPT09dGhpcy5yZXF1ZXN0SW5kZXgmJnRoaXMuX19yZXNwb25zZSh0KSx0aGlzLnBlbmRpbmctLSx0aGlzLnBlbmRpbmd8fHRoaXMuX3JlbW92ZUNsYXNzKCJ1aS1hdXRvY29tcGxldGUtbG9hZGluZyIpfSx0aGlzKX0sX19yZXNwb25zZTpmdW5jdGlvbih0KXt0JiYodD10aGlzLl9ub3JtYWxpemUodCkpLHRoaXMuX3RyaWdnZXIoInJlc3BvbnNlIixudWxsLHtjb250ZW50OnR9KSwhdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0JiZ0Lmxlbmd0aCYmIXRoaXMuY2FuY2VsU2VhcmNoPyh0aGlzLl9zdWdnZXN0KHQpLHRoaXMuX3RyaWdnZXIoIm9wZW4iKSk6dGhpcy5fY2xvc2UoKX0sY2xvc2U6ZnVuY3Rpb24odCl7dGhpcy5jYW5jZWxTZWFyY2g9ITAsdGhpcy5fY2xvc2UodCl9LF9jbG9zZTpmdW5jdGlvbih0KXt0aGlzLl9vZmYodGhpcy5kb2N1bWVudCwibW91c2Vkb3duIiksdGhpcy5tZW51LmVsZW1lbnQuaXMoIjp2aXNpYmxlIikmJih0aGlzLm1lbnUuZWxlbWVudC5oaWRlKCksdGhpcy5tZW51LmJsdXIoKSx0aGlzLmlzTmV3TWVudT0hMCx0aGlzLl90cmlnZ2VyKCJjbG9zZSIsdCkpfSxfY2hhbmdlOmZ1bmN0aW9uKHQpe3RoaXMucHJldmlvdXMhPT10aGlzLl92YWx1ZSgpJiZ0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLHQse2l0ZW06dGhpcy5zZWxlY3RlZEl0ZW19KX0sX25vcm1hbGl6ZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5sZW5ndGgmJmVbMF0ubGFiZWwmJmVbMF0udmFsdWU/ZTp0Lm1hcChlLGZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT97bGFiZWw6ZSx2YWx1ZTplfTp0LmV4dGVuZCh7fSxlLHtsYWJlbDplLmxhYmVsfHxlLnZhbHVlLHZhbHVlOmUudmFsdWV8fGUubGFiZWx9KX0pfSxfc3VnZ2VzdDpmdW5jdGlvbihlKXt2YXIgaT10aGlzLm1lbnUuZWxlbWVudC5lbXB0eSgpO3RoaXMuX3JlbmRlck1lbnUoaSxlKSx0aGlzLmlzTmV3TWVudT0hMCx0aGlzLm1lbnUucmVmcmVzaCgpLGkuc2hvdygpLHRoaXMuX3Jlc2l6ZU1lbnUoKSxpLnBvc2l0aW9uKHQuZXh0ZW5kKHtvZjp0aGlzLmVsZW1lbnR9LHRoaXMub3B0aW9ucy5wb3NpdGlvbikpLHRoaXMub3B0aW9ucy5hdXRvRm9jdXMmJnRoaXMubWVudS5uZXh0KCksdGhpcy5fb24odGhpcy5kb2N1bWVudCx7bW91c2Vkb3duOiJfY2xvc2VPbkNsaWNrT3V0c2lkZSJ9KX0sX3Jlc2l6ZU1lbnU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm1lbnUuZWxlbWVudDt0Lm91dGVyV2lkdGgoTWF0aC5tYXgodC53aWR0aCgiIikub3V0ZXJXaWR0aCgpKzEsdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSkpfSxfcmVuZGVyTWVudTpmdW5jdGlvbihlLGkpe3ZhciBzPXRoaXM7dC5lYWNoKGksZnVuY3Rpb24odCxpKXtzLl9yZW5kZXJJdGVtRGF0YShlLGkpfSl9LF9yZW5kZXJJdGVtRGF0YTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9yZW5kZXJJdGVtKHQsZSkuZGF0YSgidWktYXV0b2NvbXBsZXRlLWl0ZW0iLGUpfSxfcmVuZGVySXRlbTpmdW5jdGlvbihlLGkpe3JldHVybiB0KCI8bGk+IikuYXBwZW5kKHQoIjxkaXY+IikudGV4dChpLmxhYmVsKSkuYXBwZW5kVG8oZSl9LF9tb3ZlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpP3RoaXMubWVudS5pc0ZpcnN0SXRlbSgpJiYvXnByZXZpb3VzLy50ZXN0KHQpfHx0aGlzLm1lbnUuaXNMYXN0SXRlbSgpJiYvXm5leHQvLnRlc3QodCk/KHRoaXMuaXNNdWx0aUxpbmV8fHRoaXMuX3ZhbHVlKHRoaXMudGVybSksdGhpcy5tZW51LmJsdXIoKSx2b2lkIDApOih0aGlzLm1lbnVbdF0oZSksdm9pZCAwKToodGhpcy5zZWFyY2gobnVsbCxlKSx2b2lkIDApfSx3aWRnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tZW51LmVsZW1lbnR9LF92YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlTWV0aG9kLmFwcGx5KHRoaXMuZWxlbWVudCxhcmd1bWVudHMpfSxfa2V5RXZlbnQ6ZnVuY3Rpb24odCxlKXsoIXRoaXMuaXNNdWx0aUxpbmV8fHRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpKSYmKHRoaXMuX21vdmUodCxlKSxlLnByZXZlbnREZWZhdWx0KCkpfSxfaXNDb250ZW50RWRpdGFibGU6ZnVuY3Rpb24odCl7aWYoIXQubGVuZ3RoKXJldHVybiExO3ZhciBlPXQucHJvcCgiY29udGVudEVkaXRhYmxlIik7cmV0dXJuImluaGVyaXQiPT09ZT90aGlzLl9pc0NvbnRlbnRFZGl0YWJsZSh0LnBhcmVudCgpKToidHJ1ZSI9PT1lfX0pLHQuZXh0ZW5kKHQudWkuYXV0b2NvbXBsZXRlLHtlc2NhcGVSZWdleDpmdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKC9bXC1cW1xde30oKSorPy4sXFxcXiR8I1xzXS9nLCJcXCQmIil9LGZpbHRlcjpmdW5jdGlvbihlLGkpe3ZhciBzPVJlZ0V4cCh0LnVpLmF1dG9jb21wbGV0ZS5lc2NhcGVSZWdleChpKSwiaSIpO3JldHVybiB0LmdyZXAoZSxmdW5jdGlvbih0KXtyZXR1cm4gcy50ZXN0KHQubGFiZWx8fHQudmFsdWV8fHQpfSl9fSksdC53aWRnZXQoInVpLmF1dG9jb21wbGV0ZSIsdC51aS5hdXRvY29tcGxldGUse29wdGlvbnM6e21lc3NhZ2VzOntub1Jlc3VsdHM6Ik5vIHNlYXJjaCByZXN1bHRzLiIscmVzdWx0czpmdW5jdGlvbih0KXtyZXR1cm4gdCsodD4xPyIgcmVzdWx0cyBhcmUiOiIgcmVzdWx0IGlzIikrIiBhdmFpbGFibGUsIHVzZSB1cCBhbmQgZG93biBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlLiJ9fX0sX19yZXNwb25zZTpmdW5jdGlvbihlKXt2YXIgaTt0aGlzLl9zdXBlckFwcGx5KGFyZ3VtZW50cyksdGhpcy5vcHRpb25zLmRpc2FibGVkfHx0aGlzLmNhbmNlbFNlYXJjaHx8KGk9ZSYmZS5sZW5ndGg/dGhpcy5vcHRpb25zLm1lc3NhZ2VzLnJlc3VsdHMoZS5sZW5ndGgpOnRoaXMub3B0aW9ucy5tZXNzYWdlcy5ub1Jlc3VsdHMsdGhpcy5saXZlUmVnaW9uLmNoaWxkcmVuKCkuaGlkZSgpLHQoIjxkaXY+IikudGV4dChpKS5hcHBlbmRUbyh0aGlzLmxpdmVSZWdpb24pKX19KSx0LnVpLmF1dG9jb21wbGV0ZTt2YXIgZz0vdWktY29ybmVyLShbYS16XSl7Miw2fS9nO3Qud2lkZ2V0KCJ1aS5jb250cm9sZ3JvdXAiLHt2ZXJzaW9uOiIxLjEyLjEiLGRlZmF1bHRFbGVtZW50OiI8ZGl2PiIsb3B0aW9uczp7ZGlyZWN0aW9uOiJob3Jpem9udGFsIixkaXNhYmxlZDpudWxsLG9ubHlWaXNpYmxlOiEwLGl0ZW1zOntidXR0b246ImlucHV0W3R5cGU9YnV0dG9uXSwgaW5wdXRbdHlwZT1zdWJtaXRdLCBpbnB1dFt0eXBlPXJlc2V0XSwgYnV0dG9uLCBhIixjb250cm9sZ3JvdXBMYWJlbDoiLnVpLWNvbnRyb2xncm91cC1sYWJlbCIsY2hlY2tib3hyYWRpbzoiaW5wdXRbdHlwZT0nY2hlY2tib3gnXSwgaW5wdXRbdHlwZT0ncmFkaW8nXSIsc2VsZWN0bWVudToic2VsZWN0IixzcGlubmVyOiIudWktc3Bpbm5lci1pbnB1dCJ9fSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5fZW5oYW5jZSgpfSxfZW5oYW5jZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5hdHRyKCJyb2xlIiwidG9vbGJhciIpLHRoaXMucmVmcmVzaCgpfSxfZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX2NhbGxDaGlsZE1ldGhvZCgiZGVzdHJveSIpLHRoaXMuY2hpbGRXaWRnZXRzLnJlbW92ZURhdGEoInVpLWNvbnRyb2xncm91cC1kYXRhIiksdGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoInJvbGUiKSx0aGlzLm9wdGlvbnMuaXRlbXMuY29udHJvbGdyb3VwTGFiZWwmJnRoaXMuZWxlbWVudC5maW5kKHRoaXMub3B0aW9ucy5pdGVtcy5jb250cm9sZ3JvdXBMYWJlbCkuZmluZCgiLnVpLWNvbnRyb2xncm91cC1sYWJlbC1jb250ZW50cyIpLmNvbnRlbnRzKCkudW53cmFwKCl9LF9pbml0V2lkZ2V0czpmdW5jdGlvbigpe3ZhciBlPXRoaXMsaT1bXTt0LmVhY2godGhpcy5vcHRpb25zLml0ZW1zLGZ1bmN0aW9uKHMsbil7dmFyIG8sYT17fTtyZXR1cm4gbj8iY29udHJvbGdyb3VwTGFiZWwiPT09cz8obz1lLmVsZW1lbnQuZmluZChuKSxvLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMpO2UuY2hpbGRyZW4oIi51aS1jb250cm9sZ3JvdXAtbGFiZWwtY29udGVudHMiKS5sZW5ndGh8fGUuY29udGVudHMoKS53cmFwQWxsKCI8c3BhbiBjbGFzcz0ndWktY29udHJvbGdyb3VwLWxhYmVsLWNvbnRlbnRzJz48L3NwYW4+Iil9KSxlLl9hZGRDbGFzcyhvLG51bGwsInVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1zdGF0ZS1kZWZhdWx0IiksaT1pLmNvbmNhdChvLmdldCgpKSx2b2lkIDApOih0LmZuW3NdJiYoYT1lWyJfIitzKyJPcHRpb25zIl0/ZVsiXyIrcysiT3B0aW9ucyJdKCJtaWRkbGUiKTp7Y2xhc3Nlczp7fX0sZS5lbGVtZW50LmZpbmQobikuZWFjaChmdW5jdGlvbigpe3ZhciBuPXQodGhpcyksbz1uW3NdKCJpbnN0YW5jZSIpLHI9dC53aWRnZXQuZXh0ZW5kKHt9LGEpO2lmKCJidXR0b24iIT09c3x8IW4ucGFyZW50KCIudWktc3Bpbm5lciIpLmxlbmd0aCl7b3x8KG89bltzXSgpW3NdKCJpbnN0YW5jZSIpKSxvJiYoci5jbGFzc2VzPWUuX3Jlc29sdmVDbGFzc2VzVmFsdWVzKHIuY2xhc3NlcyxvKSksbltzXShyKTt2YXIgaD1uW3NdKCJ3aWRnZXQiKTt0LmRhdGEoaFswXSwidWktY29udHJvbGdyb3VwLWRhdGEiLG8/bzpuW3NdKCJpbnN0YW5jZSIpKSxpLnB1c2goaFswXSl9fSkpLHZvaWQgMCk6dm9pZCAwfSksdGhpcy5jaGlsZFdpZGdldHM9dCh0LnVuaXF1ZShpKSksdGhpcy5fYWRkQ2xhc3ModGhpcy5jaGlsZFdpZGdldHMsInVpLWNvbnRyb2xncm91cC1pdGVtIil9LF9jYWxsQ2hpbGRNZXRob2Q6ZnVuY3Rpb24oZSl7dGhpcy5jaGlsZFdpZGdldHMuZWFjaChmdW5jdGlvbigpe3ZhciBpPXQodGhpcykscz1pLmRhdGEoInVpLWNvbnRyb2xncm91cC1kYXRhIik7cyYmc1tlXSYmc1tlXSgpfSl9LF91cGRhdGVDb3JuZXJDbGFzczpmdW5jdGlvbih0LGUpe3ZhciBpPSJ1aS1jb3JuZXItdG9wIHVpLWNvcm5lci1ib3R0b20gdWktY29ybmVyLWxlZnQgdWktY29ybmVyLXJpZ2h0IHVpLWNvcm5lci1hbGwiLHM9dGhpcy5fYnVpbGRTaW1wbGVPcHRpb25zKGUsImxhYmVsIikuY2xhc3Nlcy5sYWJlbDt0aGlzLl9yZW1vdmVDbGFzcyh0LG51bGwsaSksdGhpcy5fYWRkQ2xhc3ModCxudWxsLHMpfSxfYnVpbGRTaW1wbGVPcHRpb25zOmZ1bmN0aW9uKHQsZSl7dmFyIGk9InZlcnRpY2FsIj09PXRoaXMub3B0aW9ucy5kaXJlY3Rpb24scz17Y2xhc3Nlczp7fX07cmV0dXJuIHMuY2xhc3Nlc1tlXT17bWlkZGxlOiIiLGZpcnN0OiJ1aS1jb3JuZXItIisoaT8idG9wIjoibGVmdCIpLGxhc3Q6InVpLWNvcm5lci0iKyhpPyJib3R0b20iOiJyaWdodCIpLG9ubHk6InVpLWNvcm5lci1hbGwifVt0XSxzfSxfc3Bpbm5lck9wdGlvbnM6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fYnVpbGRTaW1wbGVPcHRpb25zKHQsInVpLXNwaW5uZXIiKTtyZXR1cm4gZS5jbGFzc2VzWyJ1aS1zcGlubmVyLXVwIl09IiIsZS5jbGFzc2VzWyJ1aS1zcGlubmVyLWRvd24iXT0iIixlfSxfYnV0dG9uT3B0aW9uczpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYnVpbGRTaW1wbGVPcHRpb25zKHQsInVpLWJ1dHRvbiIpfSxfY2hlY2tib3hyYWRpb09wdGlvbnM6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2J1aWxkU2ltcGxlT3B0aW9ucyh0LCJ1aS1jaGVja2JveHJhZGlvLWxhYmVsIil9LF9zZWxlY3RtZW51T3B0aW9uczpmdW5jdGlvbih0KXt2YXIgZT0idmVydGljYWwiPT09dGhpcy5vcHRpb25zLmRpcmVjdGlvbjtyZXR1cm57d2lkdGg6ZT8iYXV0byI6ITEsY2xhc3Nlczp7bWlkZGxlOnsidWktc2VsZWN0bWVudS1idXR0b24tb3BlbiI6IiIsInVpLXNlbGVjdG1lbnUtYnV0dG9uLWNsb3NlZCI6IiJ9LGZpcnN0OnsidWktc2VsZWN0bWVudS1idXR0b24tb3BlbiI6InVpLWNvcm5lci0iKyhlPyJ0b3AiOiJ0bCIpLCJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1jbG9zZWQiOiJ1aS1jb3JuZXItIisoZT8idG9wIjoibGVmdCIpfSxsYXN0OnsidWktc2VsZWN0bWVudS1idXR0b24tb3BlbiI6ZT8iIjoidWktY29ybmVyLXRyIiwidWktc2VsZWN0bWVudS1idXR0b24tY2xvc2VkIjoidWktY29ybmVyLSIrKGU/ImJvdHRvbSI6InJpZ2h0Iil9LG9ubHk6eyJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1vcGVuIjoidWktY29ybmVyLXRvcCIsInVpLXNlbGVjdG1lbnUtYnV0dG9uLWNsb3NlZCI6InVpLWNvcm5lci1hbGwifX1bdF19fSxfcmVzb2x2ZUNsYXNzZXNWYWx1ZXM6ZnVuY3Rpb24oZSxpKXt2YXIgcz17fTtyZXR1cm4gdC5lYWNoKGUsZnVuY3Rpb24obil7dmFyIG89aS5vcHRpb25zLmNsYXNzZXNbbl18fCIiO289dC50cmltKG8ucmVwbGFjZShnLCIiKSksc1tuXT0obysiICIrZVtuXSkucmVwbGFjZSgvXHMrL2csIiAiKX0pLHN9LF9zZXRPcHRpb246ZnVuY3Rpb24odCxlKXtyZXR1cm4iZGlyZWN0aW9uIj09PXQmJnRoaXMuX3JlbW92ZUNsYXNzKCJ1aS1jb250cm9sZ3JvdXAtIit0aGlzLm9wdGlvbnMuZGlyZWN0aW9uKSx0aGlzLl9zdXBlcih0LGUpLCJkaXNhYmxlZCI9PT10Pyh0aGlzLl9jYWxsQ2hpbGRNZXRob2QoZT8iZGlzYWJsZSI6ImVuYWJsZSIpLHZvaWQgMCk6KHRoaXMucmVmcmVzaCgpLHZvaWQgMCl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgZSxpPXRoaXM7dGhpcy5fYWRkQ2xhc3MoInVpLWNvbnRyb2xncm91cCB1aS1jb250cm9sZ3JvdXAtIit0aGlzLm9wdGlvbnMuZGlyZWN0aW9uKSwiaG9yaXpvbnRhbCI9PT10aGlzLm9wdGlvbnMuZGlyZWN0aW9uJiZ0aGlzLl9hZGRDbGFzcyhudWxsLCJ1aS1oZWxwZXItY2xlYXJmaXgiKSx0aGlzLl9pbml0V2lkZ2V0cygpLGU9dGhpcy5jaGlsZFdpZGdldHMsdGhpcy5vcHRpb25zLm9ubHlWaXNpYmxlJiYoZT1lLmZpbHRlcigiOnZpc2libGUiKSksZS5sZW5ndGgmJih0LmVhY2goWyJmaXJzdCIsImxhc3QiXSxmdW5jdGlvbih0LHMpe3ZhciBuPWVbc10oKS5kYXRhKCJ1aS1jb250cm9sZ3JvdXAtZGF0YSIpO2lmKG4mJmlbIl8iK24ud2lkZ2V0TmFtZSsiT3B0aW9ucyJdKXt2YXIgbz1pWyJfIituLndpZGdldE5hbWUrIk9wdGlvbnMiXSgxPT09ZS5sZW5ndGg/Im9ubHkiOnMpO28uY2xhc3Nlcz1pLl9yZXNvbHZlQ2xhc3Nlc1ZhbHVlcyhvLmNsYXNzZXMsbiksbi5lbGVtZW50W24ud2lkZ2V0TmFtZV0obyl9ZWxzZSBpLl91cGRhdGVDb3JuZXJDbGFzcyhlW3NdKCkscyl9KSx0aGlzLl9jYWxsQ2hpbGRNZXRob2QoInJlZnJlc2giKSl9fSksdC53aWRnZXQoInVpLmNoZWNrYm94cmFkaW8iLFt0LnVpLmZvcm1SZXNldE1peGluLHt2ZXJzaW9uOiIxLjEyLjEiLG9wdGlvbnM6e2Rpc2FibGVkOm51bGwsbGFiZWw6bnVsbCxpY29uOiEwLGNsYXNzZXM6eyJ1aS1jaGVja2JveHJhZGlvLWxhYmVsIjoidWktY29ybmVyLWFsbCIsInVpLWNoZWNrYm94cmFkaW8taWNvbiI6InVpLWNvcm5lci1hbGwifX0sX2dldENyZWF0ZU9wdGlvbnM6ZnVuY3Rpb24oKXt2YXIgZSxpLHM9dGhpcyxuPXRoaXMuX3N1cGVyKCl8fHt9O3JldHVybiB0aGlzLl9yZWFkVHlwZSgpLGk9dGhpcy5lbGVtZW50LmxhYmVscygpLHRoaXMubGFiZWw9dChpW2kubGVuZ3RoLTFdKSx0aGlzLmxhYmVsLmxlbmd0aHx8dC5lcnJvcigiTm8gbGFiZWwgZm91bmQgZm9yIGNoZWNrYm94cmFkaW8gd2lkZ2V0IiksdGhpcy5vcmlnaW5hbExhYmVsPSIiLHRoaXMubGFiZWwuY29udGVudHMoKS5ub3QodGhpcy5lbGVtZW50WzBdKS5lYWNoKGZ1bmN0aW9uKCl7cy5vcmlnaW5hbExhYmVsKz0zPT09dGhpcy5ub2RlVHlwZT90KHRoaXMpLnRleHQoKTp0aGlzLm91dGVySFRNTH0pLHRoaXMub3JpZ2luYWxMYWJlbCYmKG4ubGFiZWw9dGhpcy5vcmlnaW5hbExhYmVsKSxlPXRoaXMuZWxlbWVudFswXS5kaXNhYmxlZCxudWxsIT1lJiYobi5kaXNhYmxlZD1lKSxufSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtZW50WzBdLmNoZWNrZWQ7dGhpcy5fYmluZEZvcm1SZXNldEhhbmRsZXIoKSxudWxsPT10aGlzLm9wdGlvbnMuZGlzYWJsZWQmJih0aGlzLm9wdGlvbnMuZGlzYWJsZWQ9dGhpcy5lbGVtZW50WzBdLmRpc2FibGVkKSx0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIix0aGlzLm9wdGlvbnMuZGlzYWJsZWQpLHRoaXMuX2FkZENsYXNzKCJ1aS1jaGVja2JveHJhZGlvIiwidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIiksdGhpcy5fYWRkQ2xhc3ModGhpcy5sYWJlbCwidWktY2hlY2tib3hyYWRpby1sYWJlbCIsInVpLWJ1dHRvbiB1aS13aWRnZXQiKSwicmFkaW8iPT09dGhpcy50eXBlJiZ0aGlzLl9hZGRDbGFzcyh0aGlzLmxhYmVsLCJ1aS1jaGVja2JveHJhZGlvLXJhZGlvLWxhYmVsIiksdGhpcy5vcHRpb25zLmxhYmVsJiZ0aGlzLm9wdGlvbnMubGFiZWwhPT10aGlzLm9yaWdpbmFsTGFiZWw/dGhpcy5fdXBkYXRlTGFiZWwoKTp0aGlzLm9yaWdpbmFsTGFiZWwmJih0aGlzLm9wdGlvbnMubGFiZWw9dGhpcy5vcmlnaW5hbExhYmVsKSx0aGlzLl9lbmhhbmNlKCksdCYmKHRoaXMuX2FkZENsYXNzKHRoaXMubGFiZWwsInVpLWNoZWNrYm94cmFkaW8tY2hlY2tlZCIsInVpLXN0YXRlLWFjdGl2ZSIpLHRoaXMuaWNvbiYmdGhpcy5fYWRkQ2xhc3ModGhpcy5pY29uLG51bGwsInVpLXN0YXRlLWhvdmVyIikpLHRoaXMuX29uKHtjaGFuZ2U6Il90b2dnbGVDbGFzc2VzIixmb2N1czpmdW5jdGlvbigpe3RoaXMuX2FkZENsYXNzKHRoaXMubGFiZWwsbnVsbCwidWktc3RhdGUtZm9jdXMgdWktdmlzdWFsLWZvY3VzIil9LGJsdXI6ZnVuY3Rpb24oKXt0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLmxhYmVsLG51bGwsInVpLXN0YXRlLWZvY3VzIHVpLXZpc3VhbC1mb2N1cyIpfX0pfSxfcmVhZFR5cGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmVsZW1lbnRbMF0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTt0aGlzLnR5cGU9dGhpcy5lbGVtZW50WzBdLnR5cGUsImlucHV0Ij09PWUmJi9yYWRpb3xjaGVja2JveC8udGVzdCh0aGlzLnR5cGUpfHx0LmVycm9yKCJDYW4ndCBjcmVhdGUgY2hlY2tib3hyYWRpbyBvbiBlbGVtZW50Lm5vZGVOYW1lPSIrZSsiIGFuZCBlbGVtZW50LnR5cGU9Iit0aGlzLnR5cGUpfSxfZW5oYW5jZTpmdW5jdGlvbigpe3RoaXMuX3VwZGF0ZUljb24odGhpcy5lbGVtZW50WzBdLmNoZWNrZWQpfSx3aWRnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYWJlbH0sX2dldFJhZGlvR3JvdXA6ZnVuY3Rpb24oKXt2YXIgZSxpPXRoaXMuZWxlbWVudFswXS5uYW1lLHM9ImlucHV0W25hbWU9JyIrdC51aS5lc2NhcGVTZWxlY3RvcihpKSsiJ10iO3JldHVybiBpPyhlPXRoaXMuZm9ybS5sZW5ndGg/dCh0aGlzLmZvcm1bMF0uZWxlbWVudHMpLmZpbHRlcihzKTp0KHMpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiAwPT09dCh0aGlzKS5mb3JtKCkubGVuZ3RofSksZS5ub3QodGhpcy5lbGVtZW50KSk6dChbXSl9LF90b2dnbGVDbGFzc2VzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5lbGVtZW50WzBdLmNoZWNrZWQ7dGhpcy5fdG9nZ2xlQ2xhc3ModGhpcy5sYWJlbCwidWktY2hlY2tib3hyYWRpby1jaGVja2VkIiwidWktc3RhdGUtYWN0aXZlIixlKSx0aGlzLm9wdGlvbnMuaWNvbiYmImNoZWNrYm94Ij09PXRoaXMudHlwZSYmdGhpcy5fdG9nZ2xlQ2xhc3ModGhpcy5pY29uLG51bGwsInVpLWljb24tY2hlY2sgdWktc3RhdGUtY2hlY2tlZCIsZSkuX3RvZ2dsZUNsYXNzKHRoaXMuaWNvbixudWxsLCJ1aS1pY29uLWJsYW5rIiwhZSksInJhZGlvIj09PXRoaXMudHlwZSYmdGhpcy5fZ2V0UmFkaW9Hcm91cCgpLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMpLmNoZWNrYm94cmFkaW8oImluc3RhbmNlIik7ZSYmZS5fcmVtb3ZlQ2xhc3MoZS5sYWJlbCwidWktY2hlY2tib3hyYWRpby1jaGVja2VkIiwidWktc3RhdGUtYWN0aXZlIil9KX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLl91bmJpbmRGb3JtUmVzZXRIYW5kbGVyKCksdGhpcy5pY29uJiYodGhpcy5pY29uLnJlbW92ZSgpLHRoaXMuaWNvblNwYWNlLnJlbW92ZSgpKX0sX3NldE9wdGlvbjpmdW5jdGlvbih0LGUpe3JldHVybiJsYWJlbCIhPT10fHxlPyh0aGlzLl9zdXBlcih0LGUpLCJkaXNhYmxlZCI9PT10Pyh0aGlzLl90b2dnbGVDbGFzcyh0aGlzLmxhYmVsLG51bGwsInVpLXN0YXRlLWRpc2FibGVkIixlKSx0aGlzLmVsZW1lbnRbMF0uZGlzYWJsZWQ9ZSx2b2lkIDApOih0aGlzLnJlZnJlc2goKSx2b2lkIDApKTp2b2lkIDB9LF91cGRhdGVJY29uOmZ1bmN0aW9uKGUpe3ZhciBpPSJ1aS1pY29uIHVpLWljb24tYmFja2dyb3VuZCAiO3RoaXMub3B0aW9ucy5pY29uPyh0aGlzLmljb258fCh0aGlzLmljb249dCgiPHNwYW4+IiksdGhpcy5pY29uU3BhY2U9dCgiPHNwYW4+IDwvc3Bhbj4iKSx0aGlzLl9hZGRDbGFzcyh0aGlzLmljb25TcGFjZSwidWktY2hlY2tib3hyYWRpby1pY29uLXNwYWNlIikpLCJjaGVja2JveCI9PT10aGlzLnR5cGU/KGkrPWU/InVpLWljb24tY2hlY2sgdWktc3RhdGUtY2hlY2tlZCI6InVpLWljb24tYmxhbmsiLHRoaXMuX3JlbW92ZUNsYXNzKHRoaXMuaWNvbixudWxsLGU/InVpLWljb24tYmxhbmsiOiJ1aS1pY29uLWNoZWNrIikpOmkrPSJ1aS1pY29uLWJsYW5rIix0aGlzLl9hZGRDbGFzcyh0aGlzLmljb24sInVpLWNoZWNrYm94cmFkaW8taWNvbiIsaSksZXx8dGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5pY29uLG51bGwsInVpLWljb24tY2hlY2sgdWktc3RhdGUtY2hlY2tlZCIpLHRoaXMuaWNvbi5wcmVwZW5kVG8odGhpcy5sYWJlbCkuYWZ0ZXIodGhpcy5pY29uU3BhY2UpKTp2b2lkIDAhPT10aGlzLmljb24mJih0aGlzLmljb24ucmVtb3ZlKCksdGhpcy5pY29uU3BhY2UucmVtb3ZlKCksZGVsZXRlIHRoaXMuaWNvbil9LF91cGRhdGVMYWJlbDpmdW5jdGlvbigpe3ZhciB0PXRoaXMubGFiZWwuY29udGVudHMoKS5ub3QodGhpcy5lbGVtZW50WzBdKTt0aGlzLmljb24mJih0PXQubm90KHRoaXMuaWNvblswXSkpLHRoaXMuaWNvblNwYWNlJiYodD10Lm5vdCh0aGlzLmljb25TcGFjZVswXSkpLHQucmVtb3ZlKCksdGhpcy5sYWJlbC5hcHBlbmQodGhpcy5vcHRpb25zLmxhYmVsKX0scmVmcmVzaDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuZWxlbWVudFswXS5jaGVja2VkLGU9dGhpcy5lbGVtZW50WzBdLmRpc2FibGVkO3RoaXMuX3VwZGF0ZUljb24odCksdGhpcy5fdG9nZ2xlQ2xhc3ModGhpcy5sYWJlbCwidWktY2hlY2tib3hyYWRpby1jaGVja2VkIiwidWktc3RhdGUtYWN0aXZlIix0KSxudWxsIT09dGhpcy5vcHRpb25zLmxhYmVsJiZ0aGlzLl91cGRhdGVMYWJlbCgpLGUhPT10aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuX3NldE9wdGlvbnMoe2Rpc2FibGVkOmV9KX19XSksdC51aS5jaGVja2JveHJhZGlvLHQud2lkZ2V0KCJ1aS5idXR0b24iLHt2ZXJzaW9uOiIxLjEyLjEiLGRlZmF1bHRFbGVtZW50OiI8YnV0dG9uPiIsb3B0aW9uczp7Y2xhc3Nlczp7InVpLWJ1dHRvbiI6InVpLWNvcm5lci1hbGwifSxkaXNhYmxlZDpudWxsLGljb246bnVsbCxpY29uUG9zaXRpb246ImJlZ2lubmluZyIsbGFiZWw6bnVsbCxzaG93TGFiZWw6ITB9LF9nZXRDcmVhdGVPcHRpb25zOmZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLl9zdXBlcigpfHx7fTtyZXR1cm4gdGhpcy5pc0lucHV0PXRoaXMuZWxlbWVudC5pcygiaW5wdXQiKSx0PXRoaXMuZWxlbWVudFswXS5kaXNhYmxlZCxudWxsIT10JiYoZS5kaXNhYmxlZD10KSx0aGlzLm9yaWdpbmFsTGFiZWw9dGhpcy5pc0lucHV0P3RoaXMuZWxlbWVudC52YWwoKTp0aGlzLmVsZW1lbnQuaHRtbCgpLHRoaXMub3JpZ2luYWxMYWJlbCYmKGUubGFiZWw9dGhpcy5vcmlnaW5hbExhYmVsKSxlfSxfY3JlYXRlOmZ1bmN0aW9uKCl7IXRoaXMub3B0aW9uLnNob3dMYWJlbCYhdGhpcy5vcHRpb25zLmljb24mJih0aGlzLm9wdGlvbnMuc2hvd0xhYmVsPSEwKSxudWxsPT10aGlzLm9wdGlvbnMuZGlzYWJsZWQmJih0aGlzLm9wdGlvbnMuZGlzYWJsZWQ9dGhpcy5lbGVtZW50WzBdLmRpc2FibGVkfHwhMSksdGhpcy5oYXNUaXRsZT0hIXRoaXMuZWxlbWVudC5hdHRyKCJ0aXRsZSIpLHRoaXMub3B0aW9ucy5sYWJlbCYmdGhpcy5vcHRpb25zLmxhYmVsIT09dGhpcy5vcmlnaW5hbExhYmVsJiYodGhpcy5pc0lucHV0P3RoaXMuZWxlbWVudC52YWwodGhpcy5vcHRpb25zLmxhYmVsKTp0aGlzLmVsZW1lbnQuaHRtbCh0aGlzLm9wdGlvbnMubGFiZWwpKSx0aGlzLl9hZGRDbGFzcygidWktYnV0dG9uIiwidWktd2lkZ2V0IiksdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsdGhpcy5vcHRpb25zLmRpc2FibGVkKSx0aGlzLl9lbmhhbmNlKCksdGhpcy5lbGVtZW50LmlzKCJhIikmJnRoaXMuX29uKHtrZXl1cDpmdW5jdGlvbihlKXtlLmtleUNvZGU9PT10LnVpLmtleUNvZGUuU1BBQ0UmJihlLnByZXZlbnREZWZhdWx0KCksdGhpcy5lbGVtZW50WzBdLmNsaWNrP3RoaXMuZWxlbWVudFswXS5jbGljaygpOnRoaXMuZWxlbWVudC50cmlnZ2VyKCJjbGljayIpKX19KX0sX2VuaGFuY2U6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuaXMoImJ1dHRvbiIpfHx0aGlzLmVsZW1lbnQuYXR0cigicm9sZSIsImJ1dHRvbiIpLHRoaXMub3B0aW9ucy5pY29uJiYodGhpcy5fdXBkYXRlSWNvbigiaWNvbiIsdGhpcy5vcHRpb25zLmljb24pLHRoaXMuX3VwZGF0ZVRvb2x0aXAoKSl9LF91cGRhdGVUb29sdGlwOmZ1bmN0aW9uKCl7dGhpcy50aXRsZT10aGlzLmVsZW1lbnQuYXR0cigidGl0bGUiKSx0aGlzLm9wdGlvbnMuc2hvd0xhYmVsfHx0aGlzLnRpdGxlfHx0aGlzLmVsZW1lbnQuYXR0cigidGl0bGUiLHRoaXMub3B0aW9ucy5sYWJlbCl9LF91cGRhdGVJY29uOmZ1bmN0aW9uKGUsaSl7dmFyIHM9Imljb25Qb3NpdGlvbiIhPT1lLG49cz90aGlzLm9wdGlvbnMuaWNvblBvc2l0aW9uOmksbz0idG9wIj09PW58fCJib3R0b20iPT09bjt0aGlzLmljb24/cyYmdGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5pY29uLG51bGwsdGhpcy5vcHRpb25zLmljb24pOih0aGlzLmljb249dCgiPHNwYW4+IiksdGhpcy5fYWRkQ2xhc3ModGhpcy5pY29uLCJ1aS1idXR0b24taWNvbiIsInVpLWljb24iKSx0aGlzLm9wdGlvbnMuc2hvd0xhYmVsfHx0aGlzLl9hZGRDbGFzcygidWktYnV0dG9uLWljb24tb25seSIpKSxzJiZ0aGlzLl9hZGRDbGFzcyh0aGlzLmljb24sbnVsbCxpKSx0aGlzLl9hdHRhY2hJY29uKG4pLG8/KHRoaXMuX2FkZENsYXNzKHRoaXMuaWNvbixudWxsLCJ1aS13aWRnZXQtaWNvbi1ibG9jayIpLHRoaXMuaWNvblNwYWNlJiZ0aGlzLmljb25TcGFjZS5yZW1vdmUoKSk6KHRoaXMuaWNvblNwYWNlfHwodGhpcy5pY29uU3BhY2U9dCgiPHNwYW4+IDwvc3Bhbj4iKSx0aGlzLl9hZGRDbGFzcyh0aGlzLmljb25TcGFjZSwidWktYnV0dG9uLWljb24tc3BhY2UiKSksdGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5pY29uLG51bGwsInVpLXdpZ2V0LWljb24tYmxvY2siKSx0aGlzLl9hdHRhY2hJY29uU3BhY2UobikpfSxfZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCJyb2xlIiksdGhpcy5pY29uJiZ0aGlzLmljb24ucmVtb3ZlKCksdGhpcy5pY29uU3BhY2UmJnRoaXMuaWNvblNwYWNlLnJlbW92ZSgpLHRoaXMuaGFzVGl0bGV8fHRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCJ0aXRsZSIpfSxfYXR0YWNoSWNvblNwYWNlOmZ1bmN0aW9uKHQpe3RoaXMuaWNvblsvXig/OmVuZHxib3R0b20pLy50ZXN0KHQpPyJiZWZvcmUiOiJhZnRlciJdKHRoaXMuaWNvblNwYWNlKX0sX2F0dGFjaEljb246ZnVuY3Rpb24odCl7dGhpcy5lbGVtZW50Wy9eKD86ZW5kfGJvdHRvbSkvLnRlc3QodCk/ImFwcGVuZCI6InByZXBlbmQiXSh0aGlzLmljb24pfSxfc2V0T3B0aW9uczpmdW5jdGlvbih0KXt2YXIgZT12b2lkIDA9PT10LnNob3dMYWJlbD90aGlzLm9wdGlvbnMuc2hvd0xhYmVsOnQuc2hvd0xhYmVsLGk9dm9pZCAwPT09dC5pY29uP3RoaXMub3B0aW9ucy5pY29uOnQuaWNvbjtlfHxpfHwodC5zaG93TGFiZWw9ITApLHRoaXMuX3N1cGVyKHQpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7Imljb24iPT09dCYmKGU/dGhpcy5fdXBkYXRlSWNvbih0LGUpOnRoaXMuaWNvbiYmKHRoaXMuaWNvbi5yZW1vdmUoKSx0aGlzLmljb25TcGFjZSYmdGhpcy5pY29uU3BhY2UucmVtb3ZlKCkpKSwiaWNvblBvc2l0aW9uIj09PXQmJnRoaXMuX3VwZGF0ZUljb24odCxlKSwic2hvd0xhYmVsIj09PXQmJih0aGlzLl90b2dnbGVDbGFzcygidWktYnV0dG9uLWljb24tb25seSIsbnVsbCwhZSksdGhpcy5fdXBkYXRlVG9vbHRpcCgpKSwibGFiZWwiPT09dCYmKHRoaXMuaXNJbnB1dD90aGlzLmVsZW1lbnQudmFsKGUpOih0aGlzLmVsZW1lbnQuaHRtbChlKSx0aGlzLmljb24mJih0aGlzLl9hdHRhY2hJY29uKHRoaXMub3B0aW9ucy5pY29uUG9zaXRpb24pLHRoaXMuX2F0dGFjaEljb25TcGFjZSh0aGlzLm9wdGlvbnMuaWNvblBvc2l0aW9uKSkpKSx0aGlzLl9zdXBlcih0LGUpLCJkaXNhYmxlZCI9PT10JiYodGhpcy5fdG9nZ2xlQ2xhc3MobnVsbCwidWktc3RhdGUtZGlzYWJsZWQiLGUpLHRoaXMuZWxlbWVudFswXS5kaXNhYmxlZD1lLGUmJnRoaXMuZWxlbWVudC5ibHVyKCkpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtZW50LmlzKCJpbnB1dCwgYnV0dG9uIik/dGhpcy5lbGVtZW50WzBdLmRpc2FibGVkOnRoaXMuZWxlbWVudC5oYXNDbGFzcygidWktYnV0dG9uLWRpc2FibGVkIik7dCE9PXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5fc2V0T3B0aW9ucyh7ZGlzYWJsZWQ6dH0pLHRoaXMuX3VwZGF0ZVRvb2x0aXAoKX19KSx0LnVpQmFja0NvbXBhdCE9PSExJiYodC53aWRnZXQoInVpLmJ1dHRvbiIsdC51aS5idXR0b24se29wdGlvbnM6e3RleHQ6ITAsaWNvbnM6e3ByaW1hcnk6bnVsbCxzZWNvbmRhcnk6bnVsbH19LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuc2hvd0xhYmVsJiYhdGhpcy5vcHRpb25zLnRleHQmJih0aGlzLm9wdGlvbnMuc2hvd0xhYmVsPXRoaXMub3B0aW9ucy50ZXh0KSwhdGhpcy5vcHRpb25zLnNob3dMYWJlbCYmdGhpcy5vcHRpb25zLnRleHQmJih0aGlzLm9wdGlvbnMudGV4dD10aGlzLm9wdGlvbnMuc2hvd0xhYmVsKSx0aGlzLm9wdGlvbnMuaWNvbnx8IXRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5JiYhdGhpcy5vcHRpb25zLmljb25zLnNlY29uZGFyeT90aGlzLm9wdGlvbnMuaWNvbiYmKHRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5PXRoaXMub3B0aW9ucy5pY29uKTp0aGlzLm9wdGlvbnMuaWNvbnMucHJpbWFyeT90aGlzLm9wdGlvbnMuaWNvbj10aGlzLm9wdGlvbnMuaWNvbnMucHJpbWFyeToodGhpcy5vcHRpb25zLmljb249dGhpcy5vcHRpb25zLmljb25zLnNlY29uZGFyeSx0aGlzLm9wdGlvbnMuaWNvblBvc2l0aW9uPSJlbmQiKSx0aGlzLl9zdXBlcigpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7cmV0dXJuInRleHQiPT09dD8odGhpcy5fc3VwZXIoInNob3dMYWJlbCIsZSksdm9pZCAwKTooInNob3dMYWJlbCI9PT10JiYodGhpcy5vcHRpb25zLnRleHQ9ZSksImljb24iPT09dCYmKHRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5PWUpLCJpY29ucyI9PT10JiYoZS5wcmltYXJ5Pyh0aGlzLl9zdXBlcigiaWNvbiIsZS5wcmltYXJ5KSx0aGlzLl9zdXBlcigiaWNvblBvc2l0aW9uIiwiYmVnaW5uaW5nIikpOmUuc2Vjb25kYXJ5JiYodGhpcy5fc3VwZXIoImljb24iLGUuc2Vjb25kYXJ5KSx0aGlzLl9zdXBlcigiaWNvblBvc2l0aW9uIiwiZW5kIikpKSx0aGlzLl9zdXBlckFwcGx5KGFyZ3VtZW50cyksdm9pZCAwKX19KSx0LmZuLmJ1dHRvbj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5sZW5ndGh8fHRoaXMubGVuZ3RoJiYiSU5QVVQiIT09dGhpc1swXS50YWdOYW1lfHx0aGlzLmxlbmd0aCYmIklOUFVUIj09PXRoaXNbMF0udGFnTmFtZSYmImNoZWNrYm94IiE9PXRoaXMuYXR0cigidHlwZSIpJiYicmFkaW8iIT09dGhpcy5hdHRyKCJ0eXBlIik/ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6KHQudWkuY2hlY2tib3hyYWRpb3x8dC5lcnJvcigiQ2hlY2tib3hyYWRpbyB3aWRnZXQgbWlzc2luZyIpLDA9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMuY2hlY2tib3hyYWRpbyh7aWNvbjohMX0pOnRoaXMuY2hlY2tib3hyYWRpby5hcHBseSh0aGlzLGFyZ3VtZW50cykpfX0odC5mbi5idXR0b24pLHQuZm4uYnV0dG9uc2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHQudWkuY29udHJvbGdyb3VwfHx0LmVycm9yKCJDb250cm9sZ3JvdXAgd2lkZ2V0IG1pc3NpbmciKSwib3B0aW9uIj09PWFyZ3VtZW50c1swXSYmIml0ZW1zIj09PWFyZ3VtZW50c1sxXSYmYXJndW1lbnRzWzJdP3RoaXMuY29udHJvbGdyb3VwLmFwcGx5KHRoaXMsW2FyZ3VtZW50c1swXSwiaXRlbXMuYnV0dG9uIixhcmd1bWVudHNbMl1dKToib3B0aW9uIj09PWFyZ3VtZW50c1swXSYmIml0ZW1zIj09PWFyZ3VtZW50c1sxXT90aGlzLmNvbnRyb2xncm91cC5hcHBseSh0aGlzLFthcmd1bWVudHNbMF0sIml0ZW1zLmJ1dHRvbiJdKTooIm9iamVjdCI9PXR5cGVvZiBhcmd1bWVudHNbMF0mJmFyZ3VtZW50c1swXS5pdGVtcyYmKGFyZ3VtZW50c1swXS5pdGVtcz17YnV0dG9uOmFyZ3VtZW50c1swXS5pdGVtc30pLHRoaXMuY29udHJvbGdyb3VwLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9KSx0LnVpLmJ1dHRvbix0LmV4dGVuZCh0LnVpLHtkYXRlcGlja2VyOnt2ZXJzaW9uOiIxLjEyLjEifX0pO3ZhciBtO3QuZXh0ZW5kKHMucHJvdG90eXBlLHttYXJrZXJDbGFzc05hbWU6Imhhc0RhdGVwaWNrZXIiLG1heFJvd3M6NCxfd2lkZ2V0RGF0ZXBpY2tlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRwRGl2fSxzZXREZWZhdWx0czpmdW5jdGlvbih0KXtyZXR1cm4gYSh0aGlzLl9kZWZhdWx0cyx0fHx7fSksdGhpc30sX2F0dGFjaERhdGVwaWNrZXI6ZnVuY3Rpb24oZSxpKXt2YXIgcyxuLG87cz1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksbj0iZGl2Ij09PXN8fCJzcGFuIj09PXMsZS5pZHx8KHRoaXMudXVpZCs9MSxlLmlkPSJkcCIrdGhpcy51dWlkKSxvPXRoaXMuX25ld0luc3QodChlKSxuKSxvLnNldHRpbmdzPXQuZXh0ZW5kKHt9LGl8fHt9KSwiaW5wdXQiPT09cz90aGlzLl9jb25uZWN0RGF0ZXBpY2tlcihlLG8pOm4mJnRoaXMuX2lubGluZURhdGVwaWNrZXIoZSxvKX0sX25ld0luc3Q6ZnVuY3Rpb24oZSxpKXt2YXIgcz1lWzBdLmlkLnJlcGxhY2UoLyhbXkEtWmEtejAtOV9cLV0pL2csIlxcXFwkMSIpO3JldHVybntpZDpzLGlucHV0OmUsc2VsZWN0ZWREYXk6MCxzZWxlY3RlZE1vbnRoOjAsc2VsZWN0ZWRZZWFyOjAsZHJhd01vbnRoOjAsZHJhd1llYXI6MCxpbmxpbmU6aSxkcERpdjppP24odCgiPGRpdiBjbGFzcz0nIit0aGlzLl9pbmxpbmVDbGFzcysiIHVpLWRhdGVwaWNrZXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsJz48L2Rpdj4iKSk6dGhpcy5kcERpdn19LF9jb25uZWN0RGF0ZXBpY2tlcjpmdW5jdGlvbihlLGkpe3ZhciBzPXQoZSk7aS5hcHBlbmQ9dChbXSksaS50cmlnZ2VyPXQoW10pLHMuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpfHwodGhpcy5fYXR0YWNobWVudHMocyxpKSxzLmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5vbigia2V5ZG93biIsdGhpcy5fZG9LZXlEb3duKS5vbigia2V5cHJlc3MiLHRoaXMuX2RvS2V5UHJlc3MpLm9uKCJrZXl1cCIsdGhpcy5fZG9LZXlVcCksdGhpcy5fYXV0b1NpemUoaSksdC5kYXRhKGUsImRhdGVwaWNrZXIiLGkpLGkuc2V0dGluZ3MuZGlzYWJsZWQmJnRoaXMuX2Rpc2FibGVEYXRlcGlja2VyKGUpKX0sX2F0dGFjaG1lbnRzOmZ1bmN0aW9uKGUsaSl7dmFyIHMsbixvLGE9dGhpcy5fZ2V0KGksImFwcGVuZFRleHQiKSxyPXRoaXMuX2dldChpLCJpc1JUTCIpO2kuYXBwZW5kJiZpLmFwcGVuZC5yZW1vdmUoKSxhJiYoaS5hcHBlbmQ9dCgiPHNwYW4gY2xhc3M9JyIrdGhpcy5fYXBwZW5kQ2xhc3MrIic+IithKyI8L3NwYW4+IiksZVtyPyJiZWZvcmUiOiJhZnRlciJdKGkuYXBwZW5kKSksZS5vZmYoImZvY3VzIix0aGlzLl9zaG93RGF0ZXBpY2tlciksaS50cmlnZ2VyJiZpLnRyaWdnZXIucmVtb3ZlKCkscz10aGlzLl9nZXQoaSwic2hvd09uIiksKCJmb2N1cyI9PT1zfHwiYm90aCI9PT1zKSYmZS5vbigiZm9jdXMiLHRoaXMuX3Nob3dEYXRlcGlja2VyKSwoImJ1dHRvbiI9PT1zfHwiYm90aCI9PT1zKSYmKG49dGhpcy5fZ2V0KGksImJ1dHRvblRleHQiKSxvPXRoaXMuX2dldChpLCJidXR0b25JbWFnZSIpLGkudHJpZ2dlcj10KHRoaXMuX2dldChpLCJidXR0b25JbWFnZU9ubHkiKT90KCI8aW1nLz4iKS5hZGRDbGFzcyh0aGlzLl90cmlnZ2VyQ2xhc3MpLmF0dHIoe3NyYzpvLGFsdDpuLHRpdGxlOm59KTp0KCI8YnV0dG9uIHR5cGU9J2J1dHRvbic+PC9idXR0b24+IikuYWRkQ2xhc3ModGhpcy5fdHJpZ2dlckNsYXNzKS5odG1sKG8/dCgiPGltZy8+IikuYXR0cih7c3JjOm8sYWx0Om4sdGl0bGU6bn0pOm4pKSxlW3I/ImJlZm9yZSI6ImFmdGVyIl0oaS50cmlnZ2VyKSxpLnRyaWdnZXIub24oImNsaWNrIixmdW5jdGlvbigpe3JldHVybiB0LmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiZ0LmRhdGVwaWNrZXIuX2xhc3RJbnB1dD09PWVbMF0/dC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpOnQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJnQuZGF0ZXBpY2tlci5fbGFzdElucHV0IT09ZVswXT8odC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpLHQuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIoZVswXSkpOnQuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIoZVswXSksITF9KSl9LF9hdXRvU2l6ZTpmdW5jdGlvbih0KXtpZih0aGlzLl9nZXQodCwiYXV0b1NpemUiKSYmIXQuaW5saW5lKXt2YXIgZSxpLHMsbixvPW5ldyBEYXRlKDIwMDksMTEsMjApLGE9dGhpcy5fZ2V0KHQsImRhdGVGb3JtYXQiKTthLm1hdGNoKC9bRE1dLykmJihlPWZ1bmN0aW9uKHQpe2ZvcihpPTAscz0wLG49MDt0Lmxlbmd0aD5uO24rKyl0W25dLmxlbmd0aD5pJiYoaT10W25dLmxlbmd0aCxzPW4pO3JldHVybiBzfSxvLnNldE1vbnRoKGUodGhpcy5fZ2V0KHQsYS5tYXRjaCgvTU0vKT8ibW9udGhOYW1lcyI6Im1vbnRoTmFtZXNTaG9ydCIpKSksby5zZXREYXRlKGUodGhpcy5fZ2V0KHQsYS5tYXRjaCgvREQvKT8iZGF5TmFtZXMiOiJkYXlOYW1lc1Nob3J0IikpKzIwLW8uZ2V0RGF5KCkpKSx0LmlucHV0LmF0dHIoInNpemUiLHRoaXMuX2Zvcm1hdERhdGUodCxvKS5sZW5ndGgpfX0sX2lubGluZURhdGVwaWNrZXI6ZnVuY3Rpb24oZSxpKXt2YXIgcz10KGUpO3MuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpfHwocy5hZGRDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkuYXBwZW5kKGkuZHBEaXYpLHQuZGF0YShlLCJkYXRlcGlja2VyIixpKSx0aGlzLl9zZXREYXRlKGksdGhpcy5fZ2V0RGVmYXVsdERhdGUoaSksITApLHRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoaSksdGhpcy5fdXBkYXRlQWx0ZXJuYXRlKGkpLGkuc2V0dGluZ3MuZGlzYWJsZWQmJnRoaXMuX2Rpc2FibGVEYXRlcGlja2VyKGUpLGkuZHBEaXYuY3NzKCJkaXNwbGF5IiwiYmxvY2siKSl9LF9kaWFsb2dEYXRlcGlja2VyOmZ1bmN0aW9uKGUsaSxzLG4sbyl7dmFyIHIsaCxsLGMsdSxkPXRoaXMuX2RpYWxvZ0luc3Q7cmV0dXJuIGR8fCh0aGlzLnV1aWQrPTEscj0iZHAiK3RoaXMudXVpZCx0aGlzLl9kaWFsb2dJbnB1dD10KCI8aW5wdXQgdHlwZT0ndGV4dCcgaWQ9JyIrcisiJyBzdHlsZT0ncG9zaXRpb246IGFic29sdXRlOyB0b3A6IC0xMDBweDsgd2lkdGg6IDBweDsnLz4iKSx0aGlzLl9kaWFsb2dJbnB1dC5vbigia2V5ZG93biIsdGhpcy5fZG9LZXlEb3duKSx0KCJib2R5IikuYXBwZW5kKHRoaXMuX2RpYWxvZ0lucHV0KSxkPXRoaXMuX2RpYWxvZ0luc3Q9dGhpcy5fbmV3SW5zdCh0aGlzLl9kaWFsb2dJbnB1dCwhMSksZC5zZXR0aW5ncz17fSx0LmRhdGEodGhpcy5fZGlhbG9nSW5wdXRbMF0sImRhdGVwaWNrZXIiLGQpKSxhKGQuc2V0dGluZ3Msbnx8e30pLGk9aSYmaS5jb25zdHJ1Y3Rvcj09PURhdGU/dGhpcy5fZm9ybWF0RGF0ZShkLGkpOmksdGhpcy5fZGlhbG9nSW5wdXQudmFsKGkpLHRoaXMuX3Bvcz1vP28ubGVuZ3RoP286W28ucGFnZVgsby5wYWdlWV06bnVsbCx0aGlzLl9wb3N8fChoPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxsPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsYz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0LHU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AsdGhpcy5fcG9zPVtoLzItMTAwK2MsbC8yLTE1MCt1XSksdGhpcy5fZGlhbG9nSW5wdXQuY3NzKCJsZWZ0Iix0aGlzLl9wb3NbMF0rMjArInB4IikuY3NzKCJ0b3AiLHRoaXMuX3Bvc1sxXSsicHgiKSxkLnNldHRpbmdzLm9uU2VsZWN0PXMsdGhpcy5faW5EaWFsb2c9ITAsdGhpcy5kcERpdi5hZGRDbGFzcyh0aGlzLl9kaWFsb2dDbGFzcyksdGhpcy5fc2hvd0RhdGVwaWNrZXIodGhpcy5fZGlhbG9nSW5wdXRbMF0pLHQuYmxvY2tVSSYmdC5ibG9ja1VJKHRoaXMuZHBEaXYpLHQuZGF0YSh0aGlzLl9kaWFsb2dJbnB1dFswXSwiZGF0ZXBpY2tlciIsZCksdGhpc30sX2Rlc3Ryb3lEYXRlcGlja2VyOmZ1bmN0aW9uKGUpe3ZhciBpLHM9dChlKSxuPXQuZGF0YShlLCJkYXRlcGlja2VyIik7cy5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkmJihpPWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSx0LnJlbW92ZURhdGEoZSwiZGF0ZXBpY2tlciIpLCJpbnB1dCI9PT1pPyhuLmFwcGVuZC5yZW1vdmUoKSxuLnRyaWdnZXIucmVtb3ZlKCkscy5yZW1vdmVDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkub2ZmKCJmb2N1cyIsdGhpcy5fc2hvd0RhdGVwaWNrZXIpLm9mZigia2V5ZG93biIsdGhpcy5fZG9LZXlEb3duKS5vZmYoImtleXByZXNzIix0aGlzLl9kb0tleVByZXNzKS5vZmYoImtleXVwIix0aGlzLl9kb0tleVVwKSk6KCJkaXYiPT09aXx8InNwYW4iPT09aSkmJnMucmVtb3ZlQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLmVtcHR5KCksbT09PW4mJihtPW51bGwpKX0sX2VuYWJsZURhdGVwaWNrZXI6ZnVuY3Rpb24oZSl7dmFyIGkscyxuPXQoZSksbz10LmRhdGEoZSwiZGF0ZXBpY2tlciIpO24uaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpJiYoaT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksImlucHV0Ij09PWk/KGUuZGlzYWJsZWQ9ITEsby50cmlnZ2VyLmZpbHRlcigiYnV0dG9uIikuZWFjaChmdW5jdGlvbigpe3RoaXMuZGlzYWJsZWQ9ITF9KS5lbmQoKS5maWx0ZXIoImltZyIpLmNzcyh7b3BhY2l0eToiMS4wIixjdXJzb3I6IiJ9KSk6KCJkaXYiPT09aXx8InNwYW4iPT09aSkmJihzPW4uY2hpbGRyZW4oIi4iK3RoaXMuX2lubGluZUNsYXNzKSxzLmNoaWxkcmVuKCkucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIikscy5maW5kKCJzZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciIpLnByb3AoImRpc2FibGVkIiwhMSkpLHRoaXMuX2Rpc2FibGVkSW5wdXRzPXQubWFwKHRoaXMuX2Rpc2FibGVkSW5wdXRzLGZ1bmN0aW9uKHQpe3JldHVybiB0PT09ZT9udWxsOnR9KSl9LF9kaXNhYmxlRGF0ZXBpY2tlcjpmdW5jdGlvbihlKXt2YXIgaSxzLG49dChlKSxvPXQuZGF0YShlLCJkYXRlcGlja2VyIik7bi5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSkmJihpPWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwiaW5wdXQiPT09aT8oZS5kaXNhYmxlZD0hMCxvLnRyaWdnZXIuZmlsdGVyKCJidXR0b24iKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5kaXNhYmxlZD0hMH0pLmVuZCgpLmZpbHRlcigiaW1nIikuY3NzKHtvcGFjaXR5OiIwLjUiLGN1cnNvcjoiZGVmYXVsdCJ9KSk6KCJkaXYiPT09aXx8InNwYW4iPT09aSkmJihzPW4uY2hpbGRyZW4oIi4iK3RoaXMuX2lubGluZUNsYXNzKSxzLmNoaWxkcmVuKCkuYWRkQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIikscy5maW5kKCJzZWxlY3QudWktZGF0ZXBpY2tlci1tb250aCwgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciIpLnByb3AoImRpc2FibGVkIiwhMCkpLHRoaXMuX2Rpc2FibGVkSW5wdXRzPXQubWFwKHRoaXMuX2Rpc2FibGVkSW5wdXRzLGZ1bmN0aW9uKHQpe3JldHVybiB0PT09ZT9udWxsOnR9KSx0aGlzLl9kaXNhYmxlZElucHV0c1t0aGlzLl9kaXNhYmxlZElucHV0cy5sZW5ndGhdPWUpfSxfaXNEaXNhYmxlZERhdGVwaWNrZXI6ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuITE7Zm9yKHZhciBlPTA7dGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoPmU7ZSsrKWlmKHRoaXMuX2Rpc2FibGVkSW5wdXRzW2VdPT09dClyZXR1cm4hMDtyZXR1cm4hMX0sX2dldEluc3Q6ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0LmRhdGEoZSwiZGF0ZXBpY2tlciIpfWNhdGNoKGkpe3Rocm93Ik1pc3NpbmcgaW5zdGFuY2UgZGF0YSBmb3IgdGhpcyBkYXRlcGlja2VyIn19LF9vcHRpb25EYXRlcGlja2VyOmZ1bmN0aW9uKGUsaSxzKXt2YXIgbixvLHIsaCxsPXRoaXMuX2dldEluc3QoZSk7cmV0dXJuIDI9PT1hcmd1bWVudHMubGVuZ3RoJiYic3RyaW5nIj09dHlwZW9mIGk/ImRlZmF1bHRzIj09PWk/dC5leHRlbmQoe30sdC5kYXRlcGlja2VyLl9kZWZhdWx0cyk6bD8iYWxsIj09PWk/dC5leHRlbmQoe30sbC5zZXR0aW5ncyk6dGhpcy5fZ2V0KGwsaSk6bnVsbDoobj1pfHx7fSwic3RyaW5nIj09dHlwZW9mIGkmJihuPXt9LG5baV09cyksbCYmKHRoaXMuX2N1ckluc3Q9PT1sJiZ0aGlzLl9oaWRlRGF0ZXBpY2tlcigpLG89dGhpcy5fZ2V0RGF0ZURhdGVwaWNrZXIoZSwhMCkscj10aGlzLl9nZXRNaW5NYXhEYXRlKGwsIm1pbiIpLGg9dGhpcy5fZ2V0TWluTWF4RGF0ZShsLCJtYXgiKSxhKGwuc2V0dGluZ3MsbiksbnVsbCE9PXImJnZvaWQgMCE9PW4uZGF0ZUZvcm1hdCYmdm9pZCAwPT09bi5taW5EYXRlJiYobC5zZXR0aW5ncy5taW5EYXRlPXRoaXMuX2Zvcm1hdERhdGUobCxyKSksbnVsbCE9PWgmJnZvaWQgMCE9PW4uZGF0ZUZvcm1hdCYmdm9pZCAwPT09bi5tYXhEYXRlJiYobC5zZXR0aW5ncy5tYXhEYXRlPXRoaXMuX2Zvcm1hdERhdGUobCxoKSksImRpc2FibGVkImluIG4mJihuLmRpc2FibGVkP3RoaXMuX2Rpc2FibGVEYXRlcGlja2VyKGUpOnRoaXMuX2VuYWJsZURhdGVwaWNrZXIoZSkpLHRoaXMuX2F0dGFjaG1lbnRzKHQoZSksbCksdGhpcy5fYXV0b1NpemUobCksdGhpcy5fc2V0RGF0ZShsLG8pLHRoaXMuX3VwZGF0ZUFsdGVybmF0ZShsKSx0aGlzLl91cGRhdGVEYXRlcGlja2VyKGwpKSx2b2lkIDApfSxfY2hhbmdlRGF0ZXBpY2tlcjpmdW5jdGlvbih0LGUsaSl7dGhpcy5fb3B0aW9uRGF0ZXBpY2tlcih0LGUsaSl9LF9yZWZyZXNoRGF0ZXBpY2tlcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9nZXRJbnN0KHQpO2UmJnRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoZSl9LF9zZXREYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuX2dldEluc3QodCk7aSYmKHRoaXMuX3NldERhdGUoaSxlKSx0aGlzLl91cGRhdGVEYXRlcGlja2VyKGkpLHRoaXMuX3VwZGF0ZUFsdGVybmF0ZShpKSl9LF9nZXREYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuX2dldEluc3QodCk7cmV0dXJuIGkmJiFpLmlubGluZSYmdGhpcy5fc2V0RGF0ZUZyb21GaWVsZChpLGUpLGk/dGhpcy5fZ2V0RGF0ZShpKTpudWxsfSxfZG9LZXlEb3duOmZ1bmN0aW9uKGUpe3ZhciBpLHMsbixvPXQuZGF0ZXBpY2tlci5fZ2V0SW5zdChlLnRhcmdldCksYT0hMCxyPW8uZHBEaXYuaXMoIi51aS1kYXRlcGlja2VyLXJ0bCIpO2lmKG8uX2tleUV2ZW50PSEwLHQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcpc3dpdGNoKGUua2V5Q29kZSl7Y2FzZSA5OnQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKSxhPSExO2JyZWFrO2Nhc2UgMTM6cmV0dXJuIG49dCgidGQuIit0LmRhdGVwaWNrZXIuX2RheU92ZXJDbGFzcysiOm5vdCguIit0LmRhdGVwaWNrZXIuX2N1cnJlbnRDbGFzcysiKSIsby5kcERpdiksblswXSYmdC5kYXRlcGlja2VyLl9zZWxlY3REYXkoZS50YXJnZXQsby5zZWxlY3RlZE1vbnRoLG8uc2VsZWN0ZWRZZWFyLG5bMF0pLGk9dC5kYXRlcGlja2VyLl9nZXQobywib25TZWxlY3QiKSxpPyhzPXQuZGF0ZXBpY2tlci5fZm9ybWF0RGF0ZShvKSxpLmFwcGx5KG8uaW5wdXQ/by5pbnB1dFswXTpudWxsLFtzLG9dKSk6dC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpLCExO2Nhc2UgMjc6dC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpO2JyZWFrO2Nhc2UgMzM6dC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGUudGFyZ2V0LGUuY3RybEtleT8tdC5kYXRlcGlja2VyLl9nZXQobywic3RlcEJpZ01vbnRocyIpOi10LmRhdGVwaWNrZXIuX2dldChvLCJzdGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDM0OnQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShlLnRhcmdldCxlLmN0cmxLZXk/K3QuZGF0ZXBpY2tlci5fZ2V0KG8sInN0ZXBCaWdNb250aHMiKTordC5kYXRlcGlja2VyLl9nZXQobywic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzNTooZS5jdHJsS2V5fHxlLm1ldGFLZXkpJiZ0LmRhdGVwaWNrZXIuX2NsZWFyRGF0ZShlLnRhcmdldCksYT1lLmN0cmxLZXl8fGUubWV0YUtleTticmVhaztjYXNlIDM2OihlLmN0cmxLZXl8fGUubWV0YUtleSkmJnQuZGF0ZXBpY2tlci5fZ290b1RvZGF5KGUudGFyZ2V0KSxhPWUuY3RybEtleXx8ZS5tZXRhS2V5O2JyZWFrO2Nhc2UgMzc6KGUuY3RybEtleXx8ZS5tZXRhS2V5KSYmdC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGUudGFyZ2V0LHI/MTotMSwiRCIpLGE9ZS5jdHJsS2V5fHxlLm1ldGFLZXksZS5vcmlnaW5hbEV2ZW50LmFsdEtleSYmdC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGUudGFyZ2V0LGUuY3RybEtleT8tdC5kYXRlcGlja2VyLl9nZXQobywic3RlcEJpZ01vbnRocyIpOi10LmRhdGVwaWNrZXIuX2dldChvLCJzdGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDM4OihlLmN0cmxLZXl8fGUubWV0YUtleSkmJnQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShlLnRhcmdldCwtNywiRCIpLGE9ZS5jdHJsS2V5fHxlLm1ldGFLZXk7YnJlYWs7Y2FzZSAzOTooZS5jdHJsS2V5fHxlLm1ldGFLZXkpJiZ0LmRhdGVwaWNrZXIuX2FkanVzdERhdGUoZS50YXJnZXQscj8tMToxLCJEIiksYT1lLmN0cmxLZXl8fGUubWV0YUtleSxlLm9yaWdpbmFsRXZlbnQuYWx0S2V5JiZ0LmRhdGVwaWNrZXIuX2FkanVzdERhdGUoZS50YXJnZXQsZS5jdHJsS2V5Pyt0LmRhdGVwaWNrZXIuX2dldChvLCJzdGVwQmlnTW9udGhzIik6K3QuZGF0ZXBpY2tlci5fZ2V0KG8sInN0ZXBNb250aHMiKSwiTSIpO2JyZWFrO2Nhc2UgNDA6KGUuY3RybEtleXx8ZS5tZXRhS2V5KSYmdC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKGUudGFyZ2V0LDcsIkQiKSxhPWUuY3RybEtleXx8ZS5tZXRhS2V5O2JyZWFrO2RlZmF1bHQ6YT0hMX1lbHNlIDM2PT09ZS5rZXlDb2RlJiZlLmN0cmxLZXk/dC5kYXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcih0aGlzKTphPSExO2EmJihlLnByZXZlbnREZWZhdWx0KCksZS5zdG9wUHJvcGFnYXRpb24oKSl9LF9kb0tleVByZXNzOmZ1bmN0aW9uKGUpe3ZhciBpLHMsbj10LmRhdGVwaWNrZXIuX2dldEluc3QoZS50YXJnZXQpO3JldHVybiB0LmRhdGVwaWNrZXIuX2dldChuLCJjb25zdHJhaW5JbnB1dCIpPyhpPXQuZGF0ZXBpY2tlci5fcG9zc2libGVDaGFycyh0LmRhdGVwaWNrZXIuX2dldChuLCJkYXRlRm9ybWF0IikpLHM9U3RyaW5nLmZyb21DaGFyQ29kZShudWxsPT1lLmNoYXJDb2RlP2Uua2V5Q29kZTplLmNoYXJDb2RlKSxlLmN0cmxLZXl8fGUubWV0YUtleXx8IiAiPnN8fCFpfHxpLmluZGV4T2Yocyk+LTEpOnZvaWQgMH0sX2RvS2V5VXA6ZnVuY3Rpb24oZSl7dmFyIGkscz10LmRhdGVwaWNrZXIuX2dldEluc3QoZS50YXJnZXQpO2lmKHMuaW5wdXQudmFsKCkhPT1zLmxhc3RWYWwpdHJ5e2k9dC5kYXRlcGlja2VyLnBhcnNlRGF0ZSh0LmRhdGVwaWNrZXIuX2dldChzLCJkYXRlRm9ybWF0Iikscy5pbnB1dD9zLmlucHV0LnZhbCgpOm51bGwsdC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcocykpLGkmJih0LmRhdGVwaWNrZXIuX3NldERhdGVGcm9tRmllbGQocyksdC5kYXRlcGlja2VyLl91cGRhdGVBbHRlcm5hdGUocyksdC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyKHMpKX1jYXRjaChuKXt9cmV0dXJuITB9LF9zaG93RGF0ZXBpY2tlcjpmdW5jdGlvbihlKXtpZihlPWUudGFyZ2V0fHxlLCJpbnB1dCIhPT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJihlPXQoImlucHV0IixlLnBhcmVudE5vZGUpWzBdKSwhdC5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcihlKSYmdC5kYXRlcGlja2VyLl9sYXN0SW5wdXQhPT1lKXt2YXIgcyxuLG8scixoLGwsYztzPXQuZGF0ZXBpY2tlci5fZ2V0SW5zdChlKSx0LmRhdGVwaWNrZXIuX2N1ckluc3QmJnQuZGF0ZXBpY2tlci5fY3VySW5zdCE9PXMmJih0LmRhdGVwaWNrZXIuX2N1ckluc3QuZHBEaXYuc3RvcCghMCwhMCkscyYmdC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmdC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcih0LmRhdGVwaWNrZXIuX2N1ckluc3QuaW5wdXRbMF0pKSxuPXQuZGF0ZXBpY2tlci5fZ2V0KHMsImJlZm9yZVNob3ciKSxvPW4/bi5hcHBseShlLFtlLHNdKTp7fSxvIT09ITEmJihhKHMuc2V0dGluZ3Msbykscy5sYXN0VmFsPW51bGwsdC5kYXRlcGlja2VyLl9sYXN0SW5wdXQ9ZSx0LmRhdGVwaWNrZXIuX3NldERhdGVGcm9tRmllbGQocyksdC5kYXRlcGlja2VyLl9pbkRpYWxvZyYmKGUudmFsdWU9IiIpLHQuZGF0ZXBpY2tlci5fcG9zfHwodC5kYXRlcGlja2VyLl9wb3M9dC5kYXRlcGlja2VyLl9maW5kUG9zKGUpLHQuZGF0ZXBpY2tlci5fcG9zWzFdKz1lLm9mZnNldEhlaWdodCkscj0hMSx0KGUpLnBhcmVudHMoKS5lYWNoKGZ1bmN0aW9uKCl7cmV0dXJuIHJ8PSJmaXhlZCI9PT10KHRoaXMpLmNzcygicG9zaXRpb24iKSwhcn0pLGg9e2xlZnQ6dC5kYXRlcGlja2VyLl9wb3NbMF0sdG9wOnQuZGF0ZXBpY2tlci5fcG9zWzFdfSx0LmRhdGVwaWNrZXIuX3Bvcz1udWxsLHMuZHBEaXYuZW1wdHkoKSxzLmRwRGl2LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixkaXNwbGF5OiJibG9jayIsdG9wOiItMTAwMHB4In0pLHQuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcihzKSxoPXQuZGF0ZXBpY2tlci5fY2hlY2tPZmZzZXQocyxoLHIpLHMuZHBEaXYuY3NzKHtwb3NpdGlvbjp0LmRhdGVwaWNrZXIuX2luRGlhbG9nJiZ0LmJsb2NrVUk/InN0YXRpYyI6cj8iZml4ZWQiOiJhYnNvbHV0ZSIsZGlzcGxheToibm9uZSIsbGVmdDpoLmxlZnQrInB4Iix0b3A6aC50b3ArInB4In0pLHMuaW5saW5lfHwobD10LmRhdGVwaWNrZXIuX2dldChzLCJzaG93QW5pbSIpLGM9dC5kYXRlcGlja2VyLl9nZXQocywiZHVyYXRpb24iKSxzLmRwRGl2LmNzcygiei1pbmRleCIsaSh0KGUpKSsxKSx0LmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nPSEwLHQuZWZmZWN0cyYmdC5lZmZlY3RzLmVmZmVjdFtsXT9zLmRwRGl2LnNob3cobCx0LmRhdGVwaWNrZXIuX2dldChzLCJzaG93T3B0aW9ucyIpLGMpOnMuZHBEaXZbbHx8InNob3ciXShsP2M6bnVsbCksdC5kYXRlcGlja2VyLl9zaG91bGRGb2N1c0lucHV0KHMpJiZzLmlucHV0LnRyaWdnZXIoImZvY3VzIiksdC5kYXRlcGlja2VyLl9jdXJJbnN0PXMpKQp9fSxfdXBkYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbihlKXt0aGlzLm1heFJvd3M9NCxtPWUsZS5kcERpdi5lbXB0eSgpLmFwcGVuZCh0aGlzLl9nZW5lcmF0ZUhUTUwoZSkpLHRoaXMuX2F0dGFjaEhhbmRsZXJzKGUpO3ZhciBpLHM9dGhpcy5fZ2V0TnVtYmVyT2ZNb250aHMoZSksbj1zWzFdLGE9MTcscj1lLmRwRGl2LmZpbmQoIi4iK3RoaXMuX2RheU92ZXJDbGFzcysiIGEiKTtyLmxlbmd0aD4wJiZvLmFwcGx5KHIuZ2V0KDApKSxlLmRwRGl2LnJlbW92ZUNsYXNzKCJ1aS1kYXRlcGlja2VyLW11bHRpLTIgdWktZGF0ZXBpY2tlci1tdWx0aS0zIHVpLWRhdGVwaWNrZXItbXVsdGktNCIpLndpZHRoKCIiKSxuPjEmJmUuZHBEaXYuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbXVsdGktIituKS5jc3MoIndpZHRoIixhKm4rImVtIiksZS5kcERpdlsoMSE9PXNbMF18fDEhPT1zWzFdPyJhZGQiOiJyZW1vdmUiKSsiQ2xhc3MiXSgidWktZGF0ZXBpY2tlci1tdWx0aSIpLGUuZHBEaXZbKHRoaXMuX2dldChlLCJpc1JUTCIpPyJhZGQiOiJyZW1vdmUiKSsiQ2xhc3MiXSgidWktZGF0ZXBpY2tlci1ydGwiKSxlPT09dC5kYXRlcGlja2VyLl9jdXJJbnN0JiZ0LmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiZ0LmRhdGVwaWNrZXIuX3Nob3VsZEZvY3VzSW5wdXQoZSkmJmUuaW5wdXQudHJpZ2dlcigiZm9jdXMiKSxlLnllYXJzaHRtbCYmKGk9ZS55ZWFyc2h0bWwsc2V0VGltZW91dChmdW5jdGlvbigpe2k9PT1lLnllYXJzaHRtbCYmZS55ZWFyc2h0bWwmJmUuZHBEaXYuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhcjpmaXJzdCIpLnJlcGxhY2VXaXRoKGUueWVhcnNodG1sKSxpPWUueWVhcnNodG1sPW51bGx9LDApKX0sX3Nob3VsZEZvY3VzSW5wdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQuaW5wdXQmJnQuaW5wdXQuaXMoIjp2aXNpYmxlIikmJiF0LmlucHV0LmlzKCI6ZGlzYWJsZWQiKSYmIXQuaW5wdXQuaXMoIjpmb2N1cyIpfSxfY2hlY2tPZmZzZXQ6ZnVuY3Rpb24oZSxpLHMpe3ZhciBuPWUuZHBEaXYub3V0ZXJXaWR0aCgpLG89ZS5kcERpdi5vdXRlckhlaWdodCgpLGE9ZS5pbnB1dD9lLmlucHV0Lm91dGVyV2lkdGgoKTowLHI9ZS5pbnB1dD9lLmlucHV0Lm91dGVySGVpZ2h0KCk6MCxoPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCsocz8wOnQoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSksbD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KyhzPzA6dChkb2N1bWVudCkuc2Nyb2xsVG9wKCkpO3JldHVybiBpLmxlZnQtPXRoaXMuX2dldChlLCJpc1JUTCIpP24tYTowLGkubGVmdC09cyYmaS5sZWZ0PT09ZS5pbnB1dC5vZmZzZXQoKS5sZWZ0P3QoZG9jdW1lbnQpLnNjcm9sbExlZnQoKTowLGkudG9wLT1zJiZpLnRvcD09PWUuaW5wdXQub2Zmc2V0KCkudG9wK3I/dChkb2N1bWVudCkuc2Nyb2xsVG9wKCk6MCxpLmxlZnQtPU1hdGgubWluKGkubGVmdCxpLmxlZnQrbj5oJiZoPm4/TWF0aC5hYnMoaS5sZWZ0K24taCk6MCksaS50b3AtPU1hdGgubWluKGkudG9wLGkudG9wK28+bCYmbD5vP01hdGguYWJzKG8rcik6MCksaX0sX2ZpbmRQb3M6ZnVuY3Rpb24oZSl7Zm9yKHZhciBpLHM9dGhpcy5fZ2V0SW5zdChlKSxuPXRoaXMuX2dldChzLCJpc1JUTCIpO2UmJigiaGlkZGVuIj09PWUudHlwZXx8MSE9PWUubm9kZVR5cGV8fHQuZXhwci5maWx0ZXJzLmhpZGRlbihlKSk7KWU9ZVtuPyJwcmV2aW91c1NpYmxpbmciOiJuZXh0U2libGluZyJdO3JldHVybiBpPXQoZSkub2Zmc2V0KCksW2kubGVmdCxpLnRvcF19LF9oaWRlRGF0ZXBpY2tlcjpmdW5jdGlvbihlKXt2YXIgaSxzLG4sbyxhPXRoaXMuX2N1ckluc3Q7IWF8fGUmJmEhPT10LmRhdGEoZSwiZGF0ZXBpY2tlciIpfHx0aGlzLl9kYXRlcGlja2VyU2hvd2luZyYmKGk9dGhpcy5fZ2V0KGEsInNob3dBbmltIikscz10aGlzLl9nZXQoYSwiZHVyYXRpb24iKSxuPWZ1bmN0aW9uKCl7dC5kYXRlcGlja2VyLl90aWR5RGlhbG9nKGEpfSx0LmVmZmVjdHMmJih0LmVmZmVjdHMuZWZmZWN0W2ldfHx0LmVmZmVjdHNbaV0pP2EuZHBEaXYuaGlkZShpLHQuZGF0ZXBpY2tlci5fZ2V0KGEsInNob3dPcHRpb25zIikscyxuKTphLmRwRGl2WyJzbGlkZURvd24iPT09aT8ic2xpZGVVcCI6ImZhZGVJbiI9PT1pPyJmYWRlT3V0IjoiaGlkZSJdKGk/czpudWxsLG4pLGl8fG4oKSx0aGlzLl9kYXRlcGlja2VyU2hvd2luZz0hMSxvPXRoaXMuX2dldChhLCJvbkNsb3NlIiksbyYmby5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbYS5pbnB1dD9hLmlucHV0LnZhbCgpOiIiLGFdKSx0aGlzLl9sYXN0SW5wdXQ9bnVsbCx0aGlzLl9pbkRpYWxvZyYmKHRoaXMuX2RpYWxvZ0lucHV0LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiIwIix0b3A6Ii0xMDBweCJ9KSx0LmJsb2NrVUkmJih0LnVuYmxvY2tVSSgpLHQoImJvZHkiKS5hcHBlbmQodGhpcy5kcERpdikpKSx0aGlzLl9pbkRpYWxvZz0hMSl9LF90aWR5RGlhbG9nOmZ1bmN0aW9uKHQpe3QuZHBEaXYucmVtb3ZlQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3MpLm9mZigiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIiKX0sX2NoZWNrRXh0ZXJuYWxDbGljazpmdW5jdGlvbihlKXtpZih0LmRhdGVwaWNrZXIuX2N1ckluc3Qpe3ZhciBpPXQoZS50YXJnZXQpLHM9dC5kYXRlcGlja2VyLl9nZXRJbnN0KGlbMF0pOyhpWzBdLmlkIT09dC5kYXRlcGlja2VyLl9tYWluRGl2SWQmJjA9PT1pLnBhcmVudHMoIiMiK3QuZGF0ZXBpY2tlci5fbWFpbkRpdklkKS5sZW5ndGgmJiFpLmhhc0NsYXNzKHQuZGF0ZXBpY2tlci5tYXJrZXJDbGFzc05hbWUpJiYhaS5jbG9zZXN0KCIuIit0LmRhdGVwaWNrZXIuX3RyaWdnZXJDbGFzcykubGVuZ3RoJiZ0LmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiYoIXQuZGF0ZXBpY2tlci5faW5EaWFsb2d8fCF0LmJsb2NrVUkpfHxpLmhhc0NsYXNzKHQuZGF0ZXBpY2tlci5tYXJrZXJDbGFzc05hbWUpJiZ0LmRhdGVwaWNrZXIuX2N1ckluc3QhPT1zKSYmdC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpfX0sX2FkanVzdERhdGU6ZnVuY3Rpb24oZSxpLHMpe3ZhciBuPXQoZSksbz10aGlzLl9nZXRJbnN0KG5bMF0pO3RoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKG5bMF0pfHwodGhpcy5fYWRqdXN0SW5zdERhdGUobyxpKygiTSI9PT1zP3RoaXMuX2dldChvLCJzaG93Q3VycmVudEF0UG9zIik6MCkscyksdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihvKSl9LF9nb3RvVG9kYXk6ZnVuY3Rpb24oZSl7dmFyIGkscz10KGUpLG49dGhpcy5fZ2V0SW5zdChzWzBdKTt0aGlzLl9nZXQobiwiZ290b0N1cnJlbnQiKSYmbi5jdXJyZW50RGF5PyhuLnNlbGVjdGVkRGF5PW4uY3VycmVudERheSxuLmRyYXdNb250aD1uLnNlbGVjdGVkTW9udGg9bi5jdXJyZW50TW9udGgsbi5kcmF3WWVhcj1uLnNlbGVjdGVkWWVhcj1uLmN1cnJlbnRZZWFyKTooaT1uZXcgRGF0ZSxuLnNlbGVjdGVkRGF5PWkuZ2V0RGF0ZSgpLG4uZHJhd01vbnRoPW4uc2VsZWN0ZWRNb250aD1pLmdldE1vbnRoKCksbi5kcmF3WWVhcj1uLnNlbGVjdGVkWWVhcj1pLmdldEZ1bGxZZWFyKCkpLHRoaXMuX25vdGlmeUNoYW5nZShuKSx0aGlzLl9hZGp1c3REYXRlKHMpfSxfc2VsZWN0TW9udGhZZWFyOmZ1bmN0aW9uKGUsaSxzKXt2YXIgbj10KGUpLG89dGhpcy5fZ2V0SW5zdChuWzBdKTtvWyJzZWxlY3RlZCIrKCJNIj09PXM/Ik1vbnRoIjoiWWVhciIpXT1vWyJkcmF3IisoIk0iPT09cz8iTW9udGgiOiJZZWFyIildPXBhcnNlSW50KGkub3B0aW9uc1tpLnNlbGVjdGVkSW5kZXhdLnZhbHVlLDEwKSx0aGlzLl9ub3RpZnlDaGFuZ2UobyksdGhpcy5fYWRqdXN0RGF0ZShuKX0sX3NlbGVjdERheTpmdW5jdGlvbihlLGkscyxuKXt2YXIgbyxhPXQoZSk7dChuKS5oYXNDbGFzcyh0aGlzLl91bnNlbGVjdGFibGVDbGFzcyl8fHRoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKGFbMF0pfHwobz10aGlzLl9nZXRJbnN0KGFbMF0pLG8uc2VsZWN0ZWREYXk9by5jdXJyZW50RGF5PXQoImEiLG4pLmh0bWwoKSxvLnNlbGVjdGVkTW9udGg9by5jdXJyZW50TW9udGg9aSxvLnNlbGVjdGVkWWVhcj1vLmN1cnJlbnRZZWFyPXMsdGhpcy5fc2VsZWN0RGF0ZShlLHRoaXMuX2Zvcm1hdERhdGUobyxvLmN1cnJlbnREYXksby5jdXJyZW50TW9udGgsby5jdXJyZW50WWVhcikpKX0sX2NsZWFyRGF0ZTpmdW5jdGlvbihlKXt2YXIgaT10KGUpO3RoaXMuX3NlbGVjdERhdGUoaSwiIil9LF9zZWxlY3REYXRlOmZ1bmN0aW9uKGUsaSl7dmFyIHMsbj10KGUpLG89dGhpcy5fZ2V0SW5zdChuWzBdKTtpPW51bGwhPWk/aTp0aGlzLl9mb3JtYXREYXRlKG8pLG8uaW5wdXQmJm8uaW5wdXQudmFsKGkpLHRoaXMuX3VwZGF0ZUFsdGVybmF0ZShvKSxzPXRoaXMuX2dldChvLCJvblNlbGVjdCIpLHM/cy5hcHBseShvLmlucHV0P28uaW5wdXRbMF06bnVsbCxbaSxvXSk6by5pbnB1dCYmby5pbnB1dC50cmlnZ2VyKCJjaGFuZ2UiKSxvLmlubGluZT90aGlzLl91cGRhdGVEYXRlcGlja2VyKG8pOih0aGlzLl9oaWRlRGF0ZXBpY2tlcigpLHRoaXMuX2xhc3RJbnB1dD1vLmlucHV0WzBdLCJvYmplY3QiIT10eXBlb2Ygby5pbnB1dFswXSYmby5pbnB1dC50cmlnZ2VyKCJmb2N1cyIpLHRoaXMuX2xhc3RJbnB1dD1udWxsKX0sX3VwZGF0ZUFsdGVybmF0ZTpmdW5jdGlvbihlKXt2YXIgaSxzLG4sbz10aGlzLl9nZXQoZSwiYWx0RmllbGQiKTtvJiYoaT10aGlzLl9nZXQoZSwiYWx0Rm9ybWF0Iil8fHRoaXMuX2dldChlLCJkYXRlRm9ybWF0Iikscz10aGlzLl9nZXREYXRlKGUpLG49dGhpcy5mb3JtYXREYXRlKGkscyx0aGlzLl9nZXRGb3JtYXRDb25maWcoZSkpLHQobykudmFsKG4pKX0sbm9XZWVrZW5kczpmdW5jdGlvbih0KXt2YXIgZT10LmdldERheSgpO3JldHVybltlPjAmJjY+ZSwiIl19LGlzbzg2MDFXZWVrOmZ1bmN0aW9uKHQpe3ZhciBlLGk9bmV3IERhdGUodC5nZXRUaW1lKCkpO3JldHVybiBpLnNldERhdGUoaS5nZXREYXRlKCkrNC0oaS5nZXREYXkoKXx8NykpLGU9aS5nZXRUaW1lKCksaS5zZXRNb250aCgwKSxpLnNldERhdGUoMSksTWF0aC5mbG9vcihNYXRoLnJvdW5kKChlLWkpLzg2NGU1KS83KSsxfSxwYXJzZURhdGU6ZnVuY3Rpb24oZSxpLHMpe2lmKG51bGw9PWV8fG51bGw9PWkpdGhyb3ciSW52YWxpZCBhcmd1bWVudHMiO2lmKGk9Im9iamVjdCI9PXR5cGVvZiBpPyIiK2k6aSsiIiwiIj09PWkpcmV0dXJuIG51bGw7dmFyIG4sbyxhLHIsaD0wLGw9KHM/cy5zaG9ydFllYXJDdXRvZmY6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLnNob3J0WWVhckN1dG9mZixjPSJzdHJpbmciIT10eXBlb2YgbD9sOihuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDArcGFyc2VJbnQobCwxMCksdT0ocz9zLmRheU5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzU2hvcnQsZD0ocz9zLmRheU5hbWVzOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lcyxwPShzP3MubW9udGhOYW1lc1Nob3J0Om51bGwpfHx0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzU2hvcnQsZj0ocz9zLm1vbnRoTmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXMsZz0tMSxtPS0xLF89LTEsdj0tMSxiPSExLHk9ZnVuY3Rpb24odCl7dmFyIGk9ZS5sZW5ndGg+bisxJiZlLmNoYXJBdChuKzEpPT09dDtyZXR1cm4gaSYmbisrLGl9LHc9ZnVuY3Rpb24odCl7dmFyIGU9eSh0KSxzPSJAIj09PXQ/MTQ6IiEiPT09dD8yMDoieSI9PT10JiZlPzQ6Im8iPT09dD8zOjIsbj0ieSI9PT10P3M6MSxvPVJlZ0V4cCgiXlxcZHsiK24rIiwiK3MrIn0iKSxhPWkuc3Vic3RyaW5nKGgpLm1hdGNoKG8pO2lmKCFhKXRocm93Ik1pc3NpbmcgbnVtYmVyIGF0IHBvc2l0aW9uICIraDtyZXR1cm4gaCs9YVswXS5sZW5ndGgscGFyc2VJbnQoYVswXSwxMCl9LGs9ZnVuY3Rpb24oZSxzLG4pe3ZhciBvPS0xLGE9dC5tYXAoeShlKT9uOnMsZnVuY3Rpb24odCxlKXtyZXR1cm5bW2UsdF1dfSkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybi0odFsxXS5sZW5ndGgtZVsxXS5sZW5ndGgpfSk7aWYodC5lYWNoKGEsZnVuY3Rpb24odCxlKXt2YXIgcz1lWzFdO3JldHVybiBpLnN1YnN0cihoLHMubGVuZ3RoKS50b0xvd2VyQ2FzZSgpPT09cy50b0xvd2VyQ2FzZSgpPyhvPWVbMF0saCs9cy5sZW5ndGgsITEpOnZvaWQgMH0pLC0xIT09bylyZXR1cm4gbysxO3Rocm93IlVua25vd24gbmFtZSBhdCBwb3NpdGlvbiAiK2h9LHg9ZnVuY3Rpb24oKXtpZihpLmNoYXJBdChoKSE9PWUuY2hhckF0KG4pKXRocm93IlVuZXhwZWN0ZWQgbGl0ZXJhbCBhdCBwb3NpdGlvbiAiK2g7aCsrfTtmb3Iobj0wO2UubGVuZ3RoPm47bisrKWlmKGIpIiciIT09ZS5jaGFyQXQobil8fHkoIiciKT94KCk6Yj0hMTtlbHNlIHN3aXRjaChlLmNoYXJBdChuKSl7Y2FzZSJkIjpfPXcoImQiKTticmVhaztjYXNlIkQiOmsoIkQiLHUsZCk7YnJlYWs7Y2FzZSJvIjp2PXcoIm8iKTticmVhaztjYXNlIm0iOm09dygibSIpO2JyZWFrO2Nhc2UiTSI6bT1rKCJNIixwLGYpO2JyZWFrO2Nhc2UieSI6Zz13KCJ5Iik7YnJlYWs7Y2FzZSJAIjpyPW5ldyBEYXRlKHcoIkAiKSksZz1yLmdldEZ1bGxZZWFyKCksbT1yLmdldE1vbnRoKCkrMSxfPXIuZ2V0RGF0ZSgpO2JyZWFrO2Nhc2UiISI6cj1uZXcgRGF0ZSgodygiISIpLXRoaXMuX3RpY2tzVG8xOTcwKS8xZTQpLGc9ci5nZXRGdWxsWWVhcigpLG09ci5nZXRNb250aCgpKzEsXz1yLmdldERhdGUoKTticmVhaztjYXNlIiciOnkoIiciKT94KCk6Yj0hMDticmVhaztkZWZhdWx0OngoKX1pZihpLmxlbmd0aD5oJiYoYT1pLnN1YnN0cihoKSwhL15ccysvLnRlc3QoYSkpKXRocm93IkV4dHJhL3VucGFyc2VkIGNoYXJhY3RlcnMgZm91bmQgaW4gZGF0ZTogIithO2lmKC0xPT09Zz9nPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKToxMDA+ZyYmKGcrPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKS0obmV3IERhdGUpLmdldEZ1bGxZZWFyKCklMTAwKyhjPj1nPzA6LTEwMCkpLHY+LTEpZm9yKG09MSxfPXY7Oyl7aWYobz10aGlzLl9nZXREYXlzSW5Nb250aChnLG0tMSksbz49XylicmVhazttKyssXy09b31pZihyPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGcsbS0xLF8pKSxyLmdldEZ1bGxZZWFyKCkhPT1nfHxyLmdldE1vbnRoKCkrMSE9PW18fHIuZ2V0RGF0ZSgpIT09Xyl0aHJvdyJJbnZhbGlkIGRhdGUiO3JldHVybiByfSxBVE9NOiJ5eS1tbS1kZCIsQ09PS0lFOiJELCBkZCBNIHl5IixJU09fODYwMToieXktbW0tZGQiLFJGQ184MjI6IkQsIGQgTSB5IixSRkNfODUwOiJERCwgZGQtTS15IixSRkNfMTAzNjoiRCwgZCBNIHkiLFJGQ18xMTIzOiJELCBkIE0geXkiLFJGQ18yODIyOiJELCBkIE0geXkiLFJTUzoiRCwgZCBNIHkiLFRJQ0tTOiIhIixUSU1FU1RBTVA6IkAiLFczQzoieXktbW0tZGQiLF90aWNrc1RvMTk3MDoxZTcqNjAqNjAqMjQqKDcxODY4NStNYXRoLmZsb29yKDQ5Mi41KS1NYXRoLmZsb29yKDE5LjcpK01hdGguZmxvb3IoNC45MjUpKSxmb3JtYXREYXRlOmZ1bmN0aW9uKHQsZSxpKXtpZighZSlyZXR1cm4iIjt2YXIgcyxuPShpP2kuZGF5TmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCxvPShpP2kuZGF5TmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzLGE9KGk/aS5tb250aE5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydCxyPShpP2kubW9udGhOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lcyxoPWZ1bmN0aW9uKGUpe3ZhciBpPXQubGVuZ3RoPnMrMSYmdC5jaGFyQXQocysxKT09PWU7cmV0dXJuIGkmJnMrKyxpfSxsPWZ1bmN0aW9uKHQsZSxpKXt2YXIgcz0iIitlO2lmKGgodCkpZm9yKDtpPnMubGVuZ3RoOylzPSIwIitzO3JldHVybiBzfSxjPWZ1bmN0aW9uKHQsZSxpLHMpe3JldHVybiBoKHQpP3NbZV06aVtlXX0sdT0iIixkPSExO2lmKGUpZm9yKHM9MDt0Lmxlbmd0aD5zO3MrKylpZihkKSInIiE9PXQuY2hhckF0KHMpfHxoKCInIik/dSs9dC5jaGFyQXQocyk6ZD0hMTtlbHNlIHN3aXRjaCh0LmNoYXJBdChzKSl7Y2FzZSJkIjp1Kz1sKCJkIixlLmdldERhdGUoKSwyKTticmVhaztjYXNlIkQiOnUrPWMoIkQiLGUuZ2V0RGF5KCksbixvKTticmVhaztjYXNlIm8iOnUrPWwoIm8iLE1hdGgucm91bmQoKG5ldyBEYXRlKGUuZ2V0RnVsbFllYXIoKSxlLmdldE1vbnRoKCksZS5nZXREYXRlKCkpLmdldFRpbWUoKS1uZXcgRGF0ZShlLmdldEZ1bGxZZWFyKCksMCwwKS5nZXRUaW1lKCkpLzg2NGU1KSwzKTticmVhaztjYXNlIm0iOnUrPWwoIm0iLGUuZ2V0TW9udGgoKSsxLDIpO2JyZWFrO2Nhc2UiTSI6dSs9YygiTSIsZS5nZXRNb250aCgpLGEscik7YnJlYWs7Y2FzZSJ5Ijp1Kz1oKCJ5Iik/ZS5nZXRGdWxsWWVhcigpOigxMD5lLmdldEZ1bGxZZWFyKCklMTAwPyIwIjoiIikrZS5nZXRGdWxsWWVhcigpJTEwMDticmVhaztjYXNlIkAiOnUrPWUuZ2V0VGltZSgpO2JyZWFrO2Nhc2UiISI6dSs9MWU0KmUuZ2V0VGltZSgpK3RoaXMuX3RpY2tzVG8xOTcwO2JyZWFrO2Nhc2UiJyI6aCgiJyIpP3UrPSInIjpkPSEwO2JyZWFrO2RlZmF1bHQ6dSs9dC5jaGFyQXQocyl9cmV0dXJuIHV9LF9wb3NzaWJsZUNoYXJzOmZ1bmN0aW9uKHQpe3ZhciBlLGk9IiIscz0hMSxuPWZ1bmN0aW9uKGkpe3ZhciBzPXQubGVuZ3RoPmUrMSYmdC5jaGFyQXQoZSsxKT09PWk7cmV0dXJuIHMmJmUrKyxzfTtmb3IoZT0wO3QubGVuZ3RoPmU7ZSsrKWlmKHMpIiciIT09dC5jaGFyQXQoZSl8fG4oIiciKT9pKz10LmNoYXJBdChlKTpzPSExO2Vsc2Ugc3dpdGNoKHQuY2hhckF0KGUpKXtjYXNlImQiOmNhc2UibSI6Y2FzZSJ5IjpjYXNlIkAiOmkrPSIwMTIzNDU2Nzg5IjticmVhaztjYXNlIkQiOmNhc2UiTSI6cmV0dXJuIG51bGw7Y2FzZSInIjpuKCInIik/aSs9IiciOnM9ITA7YnJlYWs7ZGVmYXVsdDppKz10LmNoYXJBdChlKX1yZXR1cm4gaX0sX2dldDpmdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDAhPT10LnNldHRpbmdzW2VdP3Quc2V0dGluZ3NbZV06dGhpcy5fZGVmYXVsdHNbZV19LF9zZXREYXRlRnJvbUZpZWxkOmZ1bmN0aW9uKHQsZSl7aWYodC5pbnB1dC52YWwoKSE9PXQubGFzdFZhbCl7dmFyIGk9dGhpcy5fZ2V0KHQsImRhdGVGb3JtYXQiKSxzPXQubGFzdFZhbD10LmlucHV0P3QuaW5wdXQudmFsKCk6bnVsbCxuPXRoaXMuX2dldERlZmF1bHREYXRlKHQpLG89bixhPXRoaXMuX2dldEZvcm1hdENvbmZpZyh0KTt0cnl7bz10aGlzLnBhcnNlRGF0ZShpLHMsYSl8fG59Y2F0Y2gocil7cz1lPyIiOnN9dC5zZWxlY3RlZERheT1vLmdldERhdGUoKSx0LmRyYXdNb250aD10LnNlbGVjdGVkTW9udGg9by5nZXRNb250aCgpLHQuZHJhd1llYXI9dC5zZWxlY3RlZFllYXI9by5nZXRGdWxsWWVhcigpLHQuY3VycmVudERheT1zP28uZ2V0RGF0ZSgpOjAsdC5jdXJyZW50TW9udGg9cz9vLmdldE1vbnRoKCk6MCx0LmN1cnJlbnRZZWFyPXM/by5nZXRGdWxsWWVhcigpOjAsdGhpcy5fYWRqdXN0SW5zdERhdGUodCl9fSxfZ2V0RGVmYXVsdERhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3Jlc3RyaWN0TWluTWF4KHQsdGhpcy5fZGV0ZXJtaW5lRGF0ZSh0LHRoaXMuX2dldCh0LCJkZWZhdWx0RGF0ZSIpLG5ldyBEYXRlKSl9LF9kZXRlcm1pbmVEYXRlOmZ1bmN0aW9uKGUsaSxzKXt2YXIgbj1mdW5jdGlvbih0KXt2YXIgZT1uZXcgRGF0ZTtyZXR1cm4gZS5zZXREYXRlKGUuZ2V0RGF0ZSgpK3QpLGV9LG89ZnVuY3Rpb24oaSl7dHJ5e3JldHVybiB0LmRhdGVwaWNrZXIucGFyc2VEYXRlKHQuZGF0ZXBpY2tlci5fZ2V0KGUsImRhdGVGb3JtYXQiKSxpLHQuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKGUpKX1jYXRjaChzKXt9Zm9yKHZhciBuPShpLnRvTG93ZXJDYXNlKCkubWF0Y2goL15jLyk/dC5kYXRlcGlja2VyLl9nZXREYXRlKGUpOm51bGwpfHxuZXcgRGF0ZSxvPW4uZ2V0RnVsbFllYXIoKSxhPW4uZ2V0TW9udGgoKSxyPW4uZ2V0RGF0ZSgpLGg9LyhbK1wtXT9bMC05XSspXHMqKGR8RHx3fFd8bXxNfHl8WSk/L2csbD1oLmV4ZWMoaSk7bDspe3N3aXRjaChsWzJdfHwiZCIpe2Nhc2UiZCI6Y2FzZSJEIjpyKz1wYXJzZUludChsWzFdLDEwKTticmVhaztjYXNlInciOmNhc2UiVyI6cis9NypwYXJzZUludChsWzFdLDEwKTticmVhaztjYXNlIm0iOmNhc2UiTSI6YSs9cGFyc2VJbnQobFsxXSwxMCkscj1NYXRoLm1pbihyLHQuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgobyxhKSk7YnJlYWs7Y2FzZSJ5IjpjYXNlIlkiOm8rPXBhcnNlSW50KGxbMV0sMTApLHI9TWF0aC5taW4ocix0LmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKG8sYSkpfWw9aC5leGVjKGkpfXJldHVybiBuZXcgRGF0ZShvLGEscil9LGE9bnVsbD09aXx8IiI9PT1pP3M6InN0cmluZyI9PXR5cGVvZiBpP28oaSk6Im51bWJlciI9PXR5cGVvZiBpP2lzTmFOKGkpP3M6bihpKTpuZXcgRGF0ZShpLmdldFRpbWUoKSk7cmV0dXJuIGE9YSYmIkludmFsaWQgRGF0ZSI9PSIiK2E/czphLGEmJihhLnNldEhvdXJzKDApLGEuc2V0TWludXRlcygwKSxhLnNldFNlY29uZHMoMCksYS5zZXRNaWxsaXNlY29uZHMoMCkpLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KGEpfSxfZGF5bGlnaHRTYXZpbmdBZGp1c3Q6ZnVuY3Rpb24odCl7cmV0dXJuIHQ/KHQuc2V0SG91cnModC5nZXRIb3VycygpPjEyP3QuZ2V0SG91cnMoKSsyOjApLHQpOm51bGx9LF9zZXREYXRlOmZ1bmN0aW9uKHQsZSxpKXt2YXIgcz0hZSxuPXQuc2VsZWN0ZWRNb250aCxvPXQuc2VsZWN0ZWRZZWFyLGE9dGhpcy5fcmVzdHJpY3RNaW5NYXgodCx0aGlzLl9kZXRlcm1pbmVEYXRlKHQsZSxuZXcgRGF0ZSkpO3Quc2VsZWN0ZWREYXk9dC5jdXJyZW50RGF5PWEuZ2V0RGF0ZSgpLHQuZHJhd01vbnRoPXQuc2VsZWN0ZWRNb250aD10LmN1cnJlbnRNb250aD1hLmdldE1vbnRoKCksdC5kcmF3WWVhcj10LnNlbGVjdGVkWWVhcj10LmN1cnJlbnRZZWFyPWEuZ2V0RnVsbFllYXIoKSxuPT09dC5zZWxlY3RlZE1vbnRoJiZvPT09dC5zZWxlY3RlZFllYXJ8fGl8fHRoaXMuX25vdGlmeUNoYW5nZSh0KSx0aGlzLl9hZGp1c3RJbnN0RGF0ZSh0KSx0LmlucHV0JiZ0LmlucHV0LnZhbChzPyIiOnRoaXMuX2Zvcm1hdERhdGUodCkpfSxfZ2V0RGF0ZTpmdW5jdGlvbih0KXt2YXIgZT0hdC5jdXJyZW50WWVhcnx8dC5pbnB1dCYmIiI9PT10LmlucHV0LnZhbCgpP251bGw6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodC5jdXJyZW50WWVhcix0LmN1cnJlbnRNb250aCx0LmN1cnJlbnREYXkpKTtyZXR1cm4gZX0sX2F0dGFjaEhhbmRsZXJzOmZ1bmN0aW9uKGUpe3ZhciBpPXRoaXMuX2dldChlLCJzdGVwTW9udGhzIikscz0iIyIrZS5pZC5yZXBsYWNlKC9cXFxcL2csIlxcIik7ZS5kcERpdi5maW5kKCJbZGF0YS1oYW5kbGVyXSIpLm1hcChmdW5jdGlvbigpe3ZhciBlPXtwcmV2OmZ1bmN0aW9uKCl7dC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKHMsLWksIk0iKX0sbmV4dDpmdW5jdGlvbigpe3QuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShzLCtpLCJNIil9LGhpZGU6ZnVuY3Rpb24oKXt0LmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCl9LHRvZGF5OmZ1bmN0aW9uKCl7dC5kYXRlcGlja2VyLl9nb3RvVG9kYXkocyl9LHNlbGVjdERheTpmdW5jdGlvbigpe3JldHVybiB0LmRhdGVwaWNrZXIuX3NlbGVjdERheShzLCt0aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS1tb250aCIpLCt0aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS15ZWFyIiksdGhpcyksITF9LHNlbGVjdE1vbnRoOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZGF0ZXBpY2tlci5fc2VsZWN0TW9udGhZZWFyKHMsdGhpcywiTSIpLCExfSxzZWxlY3RZZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIHQuZGF0ZXBpY2tlci5fc2VsZWN0TW9udGhZZWFyKHMsdGhpcywiWSIpLCExfX07dCh0aGlzKS5vbih0aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS1ldmVudCIpLGVbdGhpcy5nZXRBdHRyaWJ1dGUoImRhdGEtaGFuZGxlciIpXSl9KX0sX2dlbmVyYXRlSFRNTDpmdW5jdGlvbih0KXt2YXIgZSxpLHMsbixvLGEscixoLGwsYyx1LGQscCxmLGcsbSxfLHYsYix5LHcsayx4LEMsRCxJLFQsUCxNLFMsSCx6LE8sQSxOLFcsRSxGLEwsUj1uZXcgRGF0ZSxCPXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKFIuZ2V0RnVsbFllYXIoKSxSLmdldE1vbnRoKCksUi5nZXREYXRlKCkpKSxZPXRoaXMuX2dldCh0LCJpc1JUTCIpLGo9dGhpcy5fZ2V0KHQsInNob3dCdXR0b25QYW5lbCIpLHE9dGhpcy5fZ2V0KHQsImhpZGVJZk5vUHJldk5leHQiKSxLPXRoaXMuX2dldCh0LCJuYXZpZ2F0aW9uQXNEYXRlRm9ybWF0IiksVT10aGlzLl9nZXROdW1iZXJPZk1vbnRocyh0KSxWPXRoaXMuX2dldCh0LCJzaG93Q3VycmVudEF0UG9zIiksJD10aGlzLl9nZXQodCwic3RlcE1vbnRocyIpLFg9MSE9PVVbMF18fDEhPT1VWzFdLEc9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QodC5jdXJyZW50RGF5P25ldyBEYXRlKHQuY3VycmVudFllYXIsdC5jdXJyZW50TW9udGgsdC5jdXJyZW50RGF5KTpuZXcgRGF0ZSg5OTk5LDksOSkpLFE9dGhpcy5fZ2V0TWluTWF4RGF0ZSh0LCJtaW4iKSxKPXRoaXMuX2dldE1pbk1heERhdGUodCwibWF4IiksWj10LmRyYXdNb250aC1WLHRlPXQuZHJhd1llYXI7aWYoMD5aJiYoWis9MTIsdGUtLSksSilmb3IoZT10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShKLmdldEZ1bGxZZWFyKCksSi5nZXRNb250aCgpLVVbMF0qVVsxXSsxLEouZ2V0RGF0ZSgpKSksZT1RJiZRPmU/UTplO3RoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHRlLFosMSkpPmU7KVotLSwwPlomJihaPTExLHRlLS0pO2Zvcih0LmRyYXdNb250aD1aLHQuZHJhd1llYXI9dGUsaT10aGlzLl9nZXQodCwicHJldlRleHQiKSxpPUs/dGhpcy5mb3JtYXREYXRlKGksdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodGUsWi0kLDEpKSx0aGlzLl9nZXRGb3JtYXRDb25maWcodCkpOmkscz10aGlzLl9jYW5BZGp1c3RNb250aCh0LC0xLHRlLFopPyI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1wcmV2IHVpLWNvcm5lci1hbGwnIGRhdGEtaGFuZGxlcj0ncHJldicgZGF0YS1ldmVudD0nY2xpY2snIHRpdGxlPSciK2krIic+PHNwYW4gY2xhc3M9J3VpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtIisoWT8iZSI6InciKSsiJz4iK2krIjwvc3Bhbj48L2E+IjpxPyIiOiI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1wcmV2IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGlzYWJsZWQnIHRpdGxlPSciK2krIic+PHNwYW4gY2xhc3M9J3VpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtIisoWT8iZSI6InciKSsiJz4iK2krIjwvc3Bhbj48L2E+IixuPXRoaXMuX2dldCh0LCJuZXh0VGV4dCIpLG49Sz90aGlzLmZvcm1hdERhdGUobix0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZSh0ZSxaKyQsMSkpLHRoaXMuX2dldEZvcm1hdENvbmZpZyh0KSk6bixvPXRoaXMuX2NhbkFkanVzdE1vbnRoKHQsMSx0ZSxaKT8iPGEgY2xhc3M9J3VpLWRhdGVwaWNrZXItbmV4dCB1aS1jb3JuZXItYWxsJyBkYXRhLWhhbmRsZXI9J25leHQnIGRhdGEtZXZlbnQ9J2NsaWNrJyB0aXRsZT0nIituKyInPjxzcGFuIGNsYXNzPSd1aS1pY29uIHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLSIrKFk/InciOiJlIikrIic+IituKyI8L3NwYW4+PC9hPiI6cT8iIjoiPGEgY2xhc3M9J3VpLWRhdGVwaWNrZXItbmV4dCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRpc2FibGVkJyB0aXRsZT0nIituKyInPjxzcGFuIGNsYXNzPSd1aS1pY29uIHVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLSIrKFk/InciOiJlIikrIic+IituKyI8L3NwYW4+PC9hPiIsYT10aGlzLl9nZXQodCwiY3VycmVudFRleHQiKSxyPXRoaXMuX2dldCh0LCJnb3RvQ3VycmVudCIpJiZ0LmN1cnJlbnREYXk/RzpCLGE9Sz90aGlzLmZvcm1hdERhdGUoYSxyLHRoaXMuX2dldEZvcm1hdENvbmZpZyh0KSk6YSxoPXQuaW5saW5lPyIiOiI8YnV0dG9uIHR5cGU9J2J1dHRvbicgY2xhc3M9J3VpLWRhdGVwaWNrZXItY2xvc2UgdWktc3RhdGUtZGVmYXVsdCB1aS1wcmlvcml0eS1wcmltYXJ5IHVpLWNvcm5lci1hbGwnIGRhdGEtaGFuZGxlcj0naGlkZScgZGF0YS1ldmVudD0nY2xpY2snPiIrdGhpcy5fZ2V0KHQsImNsb3NlVGV4dCIpKyI8L2J1dHRvbj4iLGw9aj8iPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHVpLXdpZGdldC1jb250ZW50Jz4iKyhZP2g6IiIpKyh0aGlzLl9pc0luUmFuZ2UodCxyKT8iPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSd1aS1kYXRlcGlja2VyLWN1cnJlbnQgdWktc3RhdGUtZGVmYXVsdCB1aS1wcmlvcml0eS1zZWNvbmRhcnkgdWktY29ybmVyLWFsbCcgZGF0YS1oYW5kbGVyPSd0b2RheScgZGF0YS1ldmVudD0nY2xpY2snPiIrYSsiPC9idXR0b24+IjoiIikrKFk/IiI6aCkrIjwvZGl2PiI6IiIsYz1wYXJzZUludCh0aGlzLl9nZXQodCwiZmlyc3REYXkiKSwxMCksYz1pc05hTihjKT8wOmMsdT10aGlzLl9nZXQodCwic2hvd1dlZWsiKSxkPXRoaXMuX2dldCh0LCJkYXlOYW1lcyIpLHA9dGhpcy5fZ2V0KHQsImRheU5hbWVzTWluIiksZj10aGlzLl9nZXQodCwibW9udGhOYW1lcyIpLGc9dGhpcy5fZ2V0KHQsIm1vbnRoTmFtZXNTaG9ydCIpLG09dGhpcy5fZ2V0KHQsImJlZm9yZVNob3dEYXkiKSxfPXRoaXMuX2dldCh0LCJzaG93T3RoZXJNb250aHMiKSx2PXRoaXMuX2dldCh0LCJzZWxlY3RPdGhlck1vbnRocyIpLGI9dGhpcy5fZ2V0RGVmYXVsdERhdGUodCkseT0iIixrPTA7VVswXT5rO2srKyl7Zm9yKHg9IiIsdGhpcy5tYXhSb3dzPTQsQz0wO1VbMV0+QztDKyspe2lmKEQ9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodGUsWix0LnNlbGVjdGVkRGF5KSksST0iIHVpLWNvcm5lci1hbGwiLFQ9IiIsWCl7aWYoVCs9IjxkaXYgY2xhc3M9J3VpLWRhdGVwaWNrZXItZ3JvdXAiLFVbMV0+MSlzd2l0Y2goQyl7Y2FzZSAwOlQrPSIgdWktZGF0ZXBpY2tlci1ncm91cC1maXJzdCIsST0iIHVpLWNvcm5lci0iKyhZPyJyaWdodCI6ImxlZnQiKTticmVhaztjYXNlIFVbMV0tMTpUKz0iIHVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCIsST0iIHVpLWNvcm5lci0iKyhZPyJsZWZ0IjoicmlnaHQiKTticmVhaztkZWZhdWx0OlQrPSIgdWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUiLEk9IiJ9VCs9Iic+In1mb3IoVCs9IjxkaXYgY2xhc3M9J3VpLWRhdGVwaWNrZXItaGVhZGVyIHVpLXdpZGdldC1oZWFkZXIgdWktaGVscGVyLWNsZWFyZml4IitJKyInPiIrKC9hbGx8bGVmdC8udGVzdChJKSYmMD09PWs/WT9vOnM6IiIpKygvYWxsfHJpZ2h0Ly50ZXN0KEkpJiYwPT09az9ZP3M6bzoiIikrdGhpcy5fZ2VuZXJhdGVNb250aFllYXJIZWFkZXIodCxaLHRlLFEsSixrPjB8fEM+MCxmLGcpKyI8L2Rpdj48dGFibGUgY2xhc3M9J3VpLWRhdGVwaWNrZXItY2FsZW5kYXInPjx0aGVhZD4iKyI8dHI+IixQPXU/Ijx0aCBjbGFzcz0ndWktZGF0ZXBpY2tlci13ZWVrLWNvbCc+Iit0aGlzLl9nZXQodCwid2Vla0hlYWRlciIpKyI8L3RoPiI6IiIsdz0wOzc+dzt3KyspTT0odytjKSU3LFArPSI8dGggc2NvcGU9J2NvbCciKygodytjKzYpJTc+PTU/IiBjbGFzcz0ndWktZGF0ZXBpY2tlci13ZWVrLWVuZCciOiIiKSsiPiIrIjxzcGFuIHRpdGxlPSciK2RbTV0rIic+IitwW01dKyI8L3NwYW4+PC90aD4iO2ZvcihUKz1QKyI8L3RyPjwvdGhlYWQ+PHRib2R5PiIsUz10aGlzLl9nZXREYXlzSW5Nb250aCh0ZSxaKSx0ZT09PXQuc2VsZWN0ZWRZZWFyJiZaPT09dC5zZWxlY3RlZE1vbnRoJiYodC5zZWxlY3RlZERheT1NYXRoLm1pbih0LnNlbGVjdGVkRGF5LFMpKSxIPSh0aGlzLl9nZXRGaXJzdERheU9mTW9udGgodGUsWiktYys3KSU3LHo9TWF0aC5jZWlsKChIK1MpLzcpLE89WD90aGlzLm1heFJvd3M+ej90aGlzLm1heFJvd3M6ejp6LHRoaXMubWF4Um93cz1PLEE9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodGUsWiwxLUgpKSxOPTA7Tz5OO04rKyl7Zm9yKFQrPSI8dHI+IixXPXU/Ijx0ZCBjbGFzcz0ndWktZGF0ZXBpY2tlci13ZWVrLWNvbCc+Iit0aGlzLl9nZXQodCwiY2FsY3VsYXRlV2VlayIpKEEpKyI8L3RkPiI6IiIsdz0wOzc+dzt3KyspRT1tP20uYXBwbHkodC5pbnB1dD90LmlucHV0WzBdOm51bGwsW0FdKTpbITAsIiJdLEY9QS5nZXRNb250aCgpIT09WixMPUYmJiF2fHwhRVswXXx8USYmUT5BfHxKJiZBPkosVys9Ijx0ZCBjbGFzcz0nIisoKHcrYys2KSU3Pj01PyIgdWktZGF0ZXBpY2tlci13ZWVrLWVuZCI6IiIpKyhGPyIgdWktZGF0ZXBpY2tlci1vdGhlci1tb250aCI6IiIpKyhBLmdldFRpbWUoKT09PUQuZ2V0VGltZSgpJiZaPT09dC5zZWxlY3RlZE1vbnRoJiZ0Ll9rZXlFdmVudHx8Yi5nZXRUaW1lKCk9PT1BLmdldFRpbWUoKSYmYi5nZXRUaW1lKCk9PT1ELmdldFRpbWUoKT8iICIrdGhpcy5fZGF5T3ZlckNsYXNzOiIiKSsoTD8iICIrdGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3MrIiB1aS1zdGF0ZS1kaXNhYmxlZCI6IiIpKyhGJiYhXz8iIjoiICIrRVsxXSsoQS5nZXRUaW1lKCk9PT1HLmdldFRpbWUoKT8iICIrdGhpcy5fY3VycmVudENsYXNzOiIiKSsoQS5nZXRUaW1lKCk9PT1CLmdldFRpbWUoKT8iIHVpLWRhdGVwaWNrZXItdG9kYXkiOiIiKSkrIiciKyhGJiYhX3x8IUVbMl0/IiI6IiB0aXRsZT0nIitFWzJdLnJlcGxhY2UoLycvZywiJiMzOTsiKSsiJyIpKyhMPyIiOiIgZGF0YS1oYW5kbGVyPSdzZWxlY3REYXknIGRhdGEtZXZlbnQ9J2NsaWNrJyBkYXRhLW1vbnRoPSciK0EuZ2V0TW9udGgoKSsiJyBkYXRhLXllYXI9JyIrQS5nZXRGdWxsWWVhcigpKyInIikrIj4iKyhGJiYhXz8iJiN4YTA7IjpMPyI8c3BhbiBjbGFzcz0ndWktc3RhdGUtZGVmYXVsdCc+IitBLmdldERhdGUoKSsiPC9zcGFuPiI6IjxhIGNsYXNzPSd1aS1zdGF0ZS1kZWZhdWx0IisoQS5nZXRUaW1lKCk9PT1CLmdldFRpbWUoKT8iIHVpLXN0YXRlLWhpZ2hsaWdodCI6IiIpKyhBLmdldFRpbWUoKT09PUcuZ2V0VGltZSgpPyIgdWktc3RhdGUtYWN0aXZlIjoiIikrKEY/IiB1aS1wcmlvcml0eS1zZWNvbmRhcnkiOiIiKSsiJyBocmVmPScjJz4iK0EuZ2V0RGF0ZSgpKyI8L2E+IikrIjwvdGQ+IixBLnNldERhdGUoQS5nZXREYXRlKCkrMSksQT10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChBKTtUKz1XKyI8L3RyPiJ9WisrLFo+MTEmJihaPTAsdGUrKyksVCs9IjwvdGJvZHk+PC90YWJsZT4iKyhYPyI8L2Rpdj4iKyhVWzBdPjAmJkM9PT1VWzFdLTE/IjxkaXYgY2xhc3M9J3VpLWRhdGVwaWNrZXItcm93LWJyZWFrJz48L2Rpdj4iOiIiKToiIikseCs9VH15Kz14fXJldHVybiB5Kz1sLHQuX2tleUV2ZW50PSExLHl9LF9nZW5lcmF0ZU1vbnRoWWVhckhlYWRlcjpmdW5jdGlvbih0LGUsaSxzLG4sbyxhLHIpe3ZhciBoLGwsYyx1LGQscCxmLGcsbT10aGlzLl9nZXQodCwiY2hhbmdlTW9udGgiKSxfPXRoaXMuX2dldCh0LCJjaGFuZ2VZZWFyIiksdj10aGlzLl9nZXQodCwic2hvd01vbnRoQWZ0ZXJZZWFyIiksYj0iPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci10aXRsZSc+Iix5PSIiO2lmKG98fCFtKXkrPSI8c3BhbiBjbGFzcz0ndWktZGF0ZXBpY2tlci1tb250aCc+IithW2VdKyI8L3NwYW4+IjtlbHNle2ZvcihoPXMmJnMuZ2V0RnVsbFllYXIoKT09PWksbD1uJiZuLmdldEZ1bGxZZWFyKCk9PT1pLHkrPSI8c2VsZWN0IGNsYXNzPSd1aS1kYXRlcGlja2VyLW1vbnRoJyBkYXRhLWhhbmRsZXI9J3NlbGVjdE1vbnRoJyBkYXRhLWV2ZW50PSdjaGFuZ2UnPiIsYz0wOzEyPmM7YysrKSghaHx8Yz49cy5nZXRNb250aCgpKSYmKCFsfHxuLmdldE1vbnRoKCk+PWMpJiYoeSs9IjxvcHRpb24gdmFsdWU9JyIrYysiJyIrKGM9PT1lPyIgc2VsZWN0ZWQ9J3NlbGVjdGVkJyI6IiIpKyI+IityW2NdKyI8L29wdGlvbj4iKTt5Kz0iPC9zZWxlY3Q+In1pZih2fHwoYis9eSsoIW8mJm0mJl8/IiI6IiYjeGEwOyIpKSwhdC55ZWFyc2h0bWwpaWYodC55ZWFyc2h0bWw9IiIsb3x8IV8pYis9IjxzcGFuIGNsYXNzPSd1aS1kYXRlcGlja2VyLXllYXInPiIraSsiPC9zcGFuPiI7ZWxzZXtmb3IodT10aGlzLl9nZXQodCwieWVhclJhbmdlIikuc3BsaXQoIjoiKSxkPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxwPWZ1bmN0aW9uKHQpe3ZhciBlPXQubWF0Y2goL2NbK1wtXS4qLyk/aStwYXJzZUludCh0LnN1YnN0cmluZygxKSwxMCk6dC5tYXRjaCgvWytcLV0uKi8pP2QrcGFyc2VJbnQodCwxMCk6cGFyc2VJbnQodCwxMCk7cmV0dXJuIGlzTmFOKGUpP2Q6ZX0sZj1wKHVbMF0pLGc9TWF0aC5tYXgoZixwKHVbMV18fCIiKSksZj1zP01hdGgubWF4KGYscy5nZXRGdWxsWWVhcigpKTpmLGc9bj9NYXRoLm1pbihnLG4uZ2V0RnVsbFllYXIoKSk6Zyx0LnllYXJzaHRtbCs9IjxzZWxlY3QgY2xhc3M9J3VpLWRhdGVwaWNrZXIteWVhcicgZGF0YS1oYW5kbGVyPSdzZWxlY3RZZWFyJyBkYXRhLWV2ZW50PSdjaGFuZ2UnPiI7Zz49ZjtmKyspdC55ZWFyc2h0bWwrPSI8b3B0aW9uIHZhbHVlPSciK2YrIiciKyhmPT09aT8iIHNlbGVjdGVkPSdzZWxlY3RlZCciOiIiKSsiPiIrZisiPC9vcHRpb24+Ijt0LnllYXJzaHRtbCs9Ijwvc2VsZWN0PiIsYis9dC55ZWFyc2h0bWwsdC55ZWFyc2h0bWw9bnVsbH1yZXR1cm4gYis9dGhpcy5fZ2V0KHQsInllYXJTdWZmaXgiKSx2JiYoYis9KCFvJiZtJiZfPyIiOiImI3hhMDsiKSt5KSxiKz0iPC9kaXY+In0sX2FkanVzdEluc3REYXRlOmZ1bmN0aW9uKHQsZSxpKXt2YXIgcz10LnNlbGVjdGVkWWVhcisoIlkiPT09aT9lOjApLG49dC5zZWxlY3RlZE1vbnRoKygiTSI9PT1pP2U6MCksbz1NYXRoLm1pbih0LnNlbGVjdGVkRGF5LHRoaXMuX2dldERheXNJbk1vbnRoKHMsbikpKygiRCI9PT1pP2U6MCksYT10aGlzLl9yZXN0cmljdE1pbk1heCh0LHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHMsbixvKSkpO3Quc2VsZWN0ZWREYXk9YS5nZXREYXRlKCksdC5kcmF3TW9udGg9dC5zZWxlY3RlZE1vbnRoPWEuZ2V0TW9udGgoKSx0LmRyYXdZZWFyPXQuc2VsZWN0ZWRZZWFyPWEuZ2V0RnVsbFllYXIoKSwoIk0iPT09aXx8IlkiPT09aSkmJnRoaXMuX25vdGlmeUNoYW5nZSh0KX0sX3Jlc3RyaWN0TWluTWF4OmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5fZ2V0TWluTWF4RGF0ZSh0LCJtaW4iKSxzPXRoaXMuX2dldE1pbk1heERhdGUodCwibWF4Iiksbj1pJiZpPmU/aTplO3JldHVybiBzJiZuPnM/czpufSxfbm90aWZ5Q2hhbmdlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2dldCh0LCJvbkNoYW5nZU1vbnRoWWVhciIpO2UmJmUuYXBwbHkodC5pbnB1dD90LmlucHV0WzBdOm51bGwsW3Quc2VsZWN0ZWRZZWFyLHQuc2VsZWN0ZWRNb250aCsxLHRdKX0sX2dldE51bWJlck9mTW9udGhzOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2dldCh0LCJudW1iZXJPZk1vbnRocyIpO3JldHVybiBudWxsPT1lP1sxLDFdOiJudW1iZXIiPT10eXBlb2YgZT9bMSxlXTplfSxfZ2V0TWluTWF4RGF0ZTpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9kZXRlcm1pbmVEYXRlKHQsdGhpcy5fZ2V0KHQsZSsiRGF0ZSIpLG51bGwpfSxfZ2V0RGF5c0luTW9udGg6ZnVuY3Rpb24odCxlKXtyZXR1cm4gMzItdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodCxlLDMyKSkuZ2V0RGF0ZSgpfSxfZ2V0Rmlyc3REYXlPZk1vbnRoOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBEYXRlKHQsZSwxKS5nZXREYXkoKX0sX2NhbkFkanVzdE1vbnRoOmZ1bmN0aW9uKHQsZSxpLHMpe3ZhciBuPXRoaXMuX2dldE51bWJlck9mTW9udGhzKHQpLG89dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoaSxzKygwPmU/ZTpuWzBdKm5bMV0pLDEpKTtyZXR1cm4gMD5lJiZvLnNldERhdGUodGhpcy5fZ2V0RGF5c0luTW9udGgoby5nZXRGdWxsWWVhcigpLG8uZ2V0TW9udGgoKSkpLHRoaXMuX2lzSW5SYW5nZSh0LG8pfSxfaXNJblJhbmdlOmZ1bmN0aW9uKHQsZSl7dmFyIGkscyxuPXRoaXMuX2dldE1pbk1heERhdGUodCwibWluIiksbz10aGlzLl9nZXRNaW5NYXhEYXRlKHQsIm1heCIpLGE9bnVsbCxyPW51bGwsaD10aGlzLl9nZXQodCwieWVhclJhbmdlIik7cmV0dXJuIGgmJihpPWguc3BsaXQoIjoiKSxzPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxhPXBhcnNlSW50KGlbMF0sMTApLHI9cGFyc2VJbnQoaVsxXSwxMCksaVswXS5tYXRjaCgvWytcLV0uKi8pJiYoYSs9cyksaVsxXS5tYXRjaCgvWytcLV0uKi8pJiYocis9cykpLCghbnx8ZS5nZXRUaW1lKCk+PW4uZ2V0VGltZSgpKSYmKCFvfHxlLmdldFRpbWUoKTw9by5nZXRUaW1lKCkpJiYoIWF8fGUuZ2V0RnVsbFllYXIoKT49YSkmJighcnx8cj49ZS5nZXRGdWxsWWVhcigpKX0sX2dldEZvcm1hdENvbmZpZzpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9nZXQodCwic2hvcnRZZWFyQ3V0b2ZmIik7cmV0dXJuIGU9InN0cmluZyIhPXR5cGVvZiBlP2U6KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpJTEwMCtwYXJzZUludChlLDEwKSx7c2hvcnRZZWFyQ3V0b2ZmOmUsZGF5TmFtZXNTaG9ydDp0aGlzLl9nZXQodCwiZGF5TmFtZXNTaG9ydCIpLGRheU5hbWVzOnRoaXMuX2dldCh0LCJkYXlOYW1lcyIpLG1vbnRoTmFtZXNTaG9ydDp0aGlzLl9nZXQodCwibW9udGhOYW1lc1Nob3J0IiksbW9udGhOYW1lczp0aGlzLl9nZXQodCwibW9udGhOYW1lcyIpfX0sX2Zvcm1hdERhdGU6ZnVuY3Rpb24odCxlLGkscyl7ZXx8KHQuY3VycmVudERheT10LnNlbGVjdGVkRGF5LHQuY3VycmVudE1vbnRoPXQuc2VsZWN0ZWRNb250aCx0LmN1cnJlbnRZZWFyPXQuc2VsZWN0ZWRZZWFyKTt2YXIgbj1lPyJvYmplY3QiPT10eXBlb2YgZT9lOnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHMsaSxlKSk6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUodC5jdXJyZW50WWVhcix0LmN1cnJlbnRNb250aCx0LmN1cnJlbnREYXkpKTtyZXR1cm4gdGhpcy5mb3JtYXREYXRlKHRoaXMuX2dldCh0LCJkYXRlRm9ybWF0Iiksbix0aGlzLl9nZXRGb3JtYXRDb25maWcodCkpfX0pLHQuZm4uZGF0ZXBpY2tlcj1mdW5jdGlvbihlKXtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7dC5kYXRlcGlja2VyLmluaXRpYWxpemVkfHwodChkb2N1bWVudCkub24oIm1vdXNlZG93biIsdC5kYXRlcGlja2VyLl9jaGVja0V4dGVybmFsQ2xpY2spLHQuZGF0ZXBpY2tlci5pbml0aWFsaXplZD0hMCksMD09PXQoIiMiK3QuZGF0ZXBpY2tlci5fbWFpbkRpdklkKS5sZW5ndGgmJnQoImJvZHkiKS5hcHBlbmQodC5kYXRlcGlja2VyLmRwRGl2KTt2YXIgaT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlfHwiaXNEaXNhYmxlZCIhPT1lJiYiZ2V0RGF0ZSIhPT1lJiYid2lkZ2V0IiE9PWU/Im9wdGlvbiI9PT1lJiYyPT09YXJndW1lbnRzLmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiBhcmd1bWVudHNbMV0/dC5kYXRlcGlja2VyWyJfIitlKyJEYXRlcGlja2VyIl0uYXBwbHkodC5kYXRlcGlja2VyLFt0aGlzWzBdXS5jb25jYXQoaSkpOnRoaXMuZWFjaChmdW5jdGlvbigpeyJzdHJpbmciPT10eXBlb2YgZT90LmRhdGVwaWNrZXJbIl8iK2UrIkRhdGVwaWNrZXIiXS5hcHBseSh0LmRhdGVwaWNrZXIsW3RoaXNdLmNvbmNhdChpKSk6dC5kYXRlcGlja2VyLl9hdHRhY2hEYXRlcGlja2VyKHRoaXMsZSl9KTp0LmRhdGVwaWNrZXJbIl8iK2UrIkRhdGVwaWNrZXIiXS5hcHBseSh0LmRhdGVwaWNrZXIsW3RoaXNbMF1dLmNvbmNhdChpKSl9LHQuZGF0ZXBpY2tlcj1uZXcgcyx0LmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQ9ITEsdC5kYXRlcGlja2VyLnV1aWQ9KG5ldyBEYXRlKS5nZXRUaW1lKCksdC5kYXRlcGlja2VyLnZlcnNpb249IjEuMTIuMSIsdC5kYXRlcGlja2VyLHQudWkuaWU9ISEvbXNpZSBbXHcuXSsvLmV4ZWMobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTt2YXIgXz0hMTt0KGRvY3VtZW50KS5vbigibW91c2V1cCIsZnVuY3Rpb24oKXtfPSExfSksdC53aWRnZXQoInVpLm1vdXNlIix7dmVyc2lvbjoiMS4xMi4xIixvcHRpb25zOntjYW5jZWw6ImlucHV0LCB0ZXh0YXJlYSwgYnV0dG9uLCBzZWxlY3QsIG9wdGlvbiIsZGlzdGFuY2U6MSxkZWxheTowfSxfbW91c2VJbml0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLmVsZW1lbnQub24oIm1vdXNlZG93bi4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbih0KXtyZXR1cm4gZS5fbW91c2VEb3duKHQpfSkub24oImNsaWNrLiIrdGhpcy53aWRnZXROYW1lLGZ1bmN0aW9uKGkpe3JldHVybiEwPT09dC5kYXRhKGkudGFyZ2V0LGUud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50Iik/KHQucmVtb3ZlRGF0YShpLnRhcmdldCxlLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpLGkuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksITEpOnZvaWQgMH0pLHRoaXMuc3RhcnRlZD0hMX0sX21vdXNlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5vZmYoIi4iK3RoaXMud2lkZ2V0TmFtZSksdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUmJnRoaXMuZG9jdW1lbnQub2ZmKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUpLm9mZigibW91c2V1cC4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZVVwRGVsZWdhdGUpfSxfbW91c2VEb3duOmZ1bmN0aW9uKGUpe2lmKCFfKXt0aGlzLl9tb3VzZU1vdmVkPSExLHRoaXMuX21vdXNlU3RhcnRlZCYmdGhpcy5fbW91c2VVcChlKSx0aGlzLl9tb3VzZURvd25FdmVudD1lO3ZhciBpPXRoaXMscz0xPT09ZS53aGljaCxuPSJzdHJpbmciPT10eXBlb2YgdGhpcy5vcHRpb25zLmNhbmNlbCYmZS50YXJnZXQubm9kZU5hbWU/dChlLnRhcmdldCkuY2xvc2VzdCh0aGlzLm9wdGlvbnMuY2FuY2VsKS5sZW5ndGg6ITE7cmV0dXJuIHMmJiFuJiZ0aGlzLl9tb3VzZUNhcHR1cmUoZSk/KHRoaXMubW91c2VEZWxheU1ldD0hdGhpcy5vcHRpb25zLmRlbGF5LHRoaXMubW91c2VEZWxheU1ldHx8KHRoaXMuX21vdXNlRGVsYXlUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS5tb3VzZURlbGF5TWV0PSEwfSx0aGlzLm9wdGlvbnMuZGVsYXkpKSx0aGlzLl9tb3VzZURpc3RhbmNlTWV0KGUpJiZ0aGlzLl9tb3VzZURlbGF5TWV0KGUpJiYodGhpcy5fbW91c2VTdGFydGVkPXRoaXMuX21vdXNlU3RhcnQoZSkhPT0hMSwhdGhpcy5fbW91c2VTdGFydGVkKT8oZS5wcmV2ZW50RGVmYXVsdCgpLCEwKTooITA9PT10LmRhdGEoZS50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSYmdC5yZW1vdmVEYXRhKGUudGFyZ2V0LHRoaXMud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50IiksdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGkuX21vdXNlTW92ZSh0KX0sdGhpcy5fbW91c2VVcERlbGVnYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBpLl9tb3VzZVVwKHQpfSx0aGlzLmRvY3VtZW50Lm9uKCJtb3VzZW1vdmUuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUpLm9uKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSksZS5wcmV2ZW50RGVmYXVsdCgpLF89ITAsITApKTohMH19LF9tb3VzZU1vdmU6ZnVuY3Rpb24oZSl7aWYodGhpcy5fbW91c2VNb3ZlZCl7aWYodC51aS5pZSYmKCFkb2N1bWVudC5kb2N1bWVudE1vZGV8fDk+ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKSYmIWUuYnV0dG9uKXJldHVybiB0aGlzLl9tb3VzZVVwKGUpO2lmKCFlLndoaWNoKWlmKGUub3JpZ2luYWxFdmVudC5hbHRLZXl8fGUub3JpZ2luYWxFdmVudC5jdHJsS2V5fHxlLm9yaWdpbmFsRXZlbnQubWV0YUtleXx8ZS5vcmlnaW5hbEV2ZW50LnNoaWZ0S2V5KXRoaXMuaWdub3JlTWlzc2luZ1doaWNoPSEwO2Vsc2UgaWYoIXRoaXMuaWdub3JlTWlzc2luZ1doaWNoKXJldHVybiB0aGlzLl9tb3VzZVVwKGUpfXJldHVybihlLndoaWNofHxlLmJ1dHRvbikmJih0aGlzLl9tb3VzZU1vdmVkPSEwKSx0aGlzLl9tb3VzZVN0YXJ0ZWQ/KHRoaXMuX21vdXNlRHJhZyhlKSxlLnByZXZlbnREZWZhdWx0KCkpOih0aGlzLl9tb3VzZURpc3RhbmNlTWV0KGUpJiZ0aGlzLl9tb3VzZURlbGF5TWV0KGUpJiYodGhpcy5fbW91c2VTdGFydGVkPXRoaXMuX21vdXNlU3RhcnQodGhpcy5fbW91c2VEb3duRXZlbnQsZSkhPT0hMSx0aGlzLl9tb3VzZVN0YXJ0ZWQ/dGhpcy5fbW91c2VEcmFnKGUpOnRoaXMuX21vdXNlVXAoZSkpLCF0aGlzLl9tb3VzZVN0YXJ0ZWQpfSxfbW91c2VVcDpmdW5jdGlvbihlKXt0aGlzLmRvY3VtZW50Lm9mZigibW91c2Vtb3ZlLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS5vZmYoIm1vdXNldXAuIit0aGlzLndpZGdldE5hbWUsdGhpcy5fbW91c2VVcERlbGVnYXRlKSx0aGlzLl9tb3VzZVN0YXJ0ZWQmJih0aGlzLl9tb3VzZVN0YXJ0ZWQ9ITEsZS50YXJnZXQ9PT10aGlzLl9tb3VzZURvd25FdmVudC50YXJnZXQmJnQuZGF0YShlLnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIsITApLHRoaXMuX21vdXNlU3RvcChlKSksdGhpcy5fbW91c2VEZWxheVRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMuX21vdXNlRGVsYXlUaW1lciksZGVsZXRlIHRoaXMuX21vdXNlRGVsYXlUaW1lciksdGhpcy5pZ25vcmVNaXNzaW5nV2hpY2g9ITEsXz0hMSxlLnByZXZlbnREZWZhdWx0KCl9LF9tb3VzZURpc3RhbmNlTWV0OmZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLm1heChNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWC10LnBhZ2VYKSxNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWS10LnBhZ2VZKSk+PXRoaXMub3B0aW9ucy5kaXN0YW5jZX0sX21vdXNlRGVsYXlNZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb3VzZURlbGF5TWV0fSxfbW91c2VTdGFydDpmdW5jdGlvbigpe30sX21vdXNlRHJhZzpmdW5jdGlvbigpe30sX21vdXNlU3RvcDpmdW5jdGlvbigpe30sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbigpe3JldHVybiEwfX0pLHQudWkucGx1Z2luPXthZGQ6ZnVuY3Rpb24oZSxpLHMpe3ZhciBuLG89dC51aVtlXS5wcm90b3R5cGU7Zm9yKG4gaW4gcylvLnBsdWdpbnNbbl09by5wbHVnaW5zW25dfHxbXSxvLnBsdWdpbnNbbl0ucHVzaChbaSxzW25dXSl9LGNhbGw6ZnVuY3Rpb24odCxlLGkscyl7dmFyIG4sbz10LnBsdWdpbnNbZV07aWYobyYmKHN8fHQuZWxlbWVudFswXS5wYXJlbnROb2RlJiYxMSE9PXQuZWxlbWVudFswXS5wYXJlbnROb2RlLm5vZGVUeXBlKSlmb3Iobj0wO28ubGVuZ3RoPm47bisrKXQub3B0aW9uc1tvW25dWzBdXSYmb1tuXVsxXS5hcHBseSh0LmVsZW1lbnQsaSl9fSx0LnVpLnNhZmVCbHVyPWZ1bmN0aW9uKGUpe2UmJiJib2R5IiE9PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmdChlKS50cmlnZ2VyKCJibHVyIil9LHQud2lkZ2V0KCJ1aS5kcmFnZ2FibGUiLHQudWkubW91c2Use3ZlcnNpb246IjEuMTIuMSIsd2lkZ2V0RXZlbnRQcmVmaXg6ImRyYWciLG9wdGlvbnM6e2FkZENsYXNzZXM6ITAsYXBwZW5kVG86InBhcmVudCIsYXhpczohMSxjb25uZWN0VG9Tb3J0YWJsZTohMSxjb250YWlubWVudDohMSxjdXJzb3I6ImF1dG8iLGN1cnNvckF0OiExLGdyaWQ6ITEsaGFuZGxlOiExLGhlbHBlcjoib3JpZ2luYWwiLGlmcmFtZUZpeDohMSxvcGFjaXR5OiExLHJlZnJlc2hQb3NpdGlvbnM6ITEscmV2ZXJ0OiExLHJldmVydER1cmF0aW9uOjUwMCxzY29wZToiZGVmYXVsdCIsc2Nyb2xsOiEwLHNjcm9sbFNlbnNpdGl2aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNuYXA6ITEsc25hcE1vZGU6ImJvdGgiLHNuYXBUb2xlcmFuY2U6MjAsc3RhY2s6ITEsekluZGV4OiExLGRyYWc6bnVsbCxzdGFydDpudWxsLHN0b3A6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpeyJvcmlnaW5hbCI9PT10aGlzLm9wdGlvbnMuaGVscGVyJiZ0aGlzLl9zZXRQb3NpdGlvblJlbGF0aXZlKCksdGhpcy5vcHRpb25zLmFkZENsYXNzZXMmJnRoaXMuX2FkZENsYXNzKCJ1aS1kcmFnZ2FibGUiKSx0aGlzLl9zZXRIYW5kbGVDbGFzc05hbWUoKSx0aGlzLl9tb3VzZUluaXQoKX0sX3NldE9wdGlvbjpmdW5jdGlvbih0LGUpe3RoaXMuX3N1cGVyKHQsZSksImhhbmRsZSI9PT10JiYodGhpcy5fcmVtb3ZlSGFuZGxlQ2xhc3NOYW1lKCksdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCkpfSxfZGVzdHJveTpmdW5jdGlvbigpe3JldHVybih0aGlzLmhlbHBlcnx8dGhpcy5lbGVtZW50KS5pcygiLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpPyh0aGlzLmRlc3Ryb3lPbkNsZWFyPSEwLHZvaWQgMCk6KHRoaXMuX3JlbW92ZUhhbmRsZUNsYXNzTmFtZSgpLHRoaXMuX21vdXNlRGVzdHJveSgpLHZvaWQgMCl9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcy5vcHRpb25zO3JldHVybiB0aGlzLmhlbHBlcnx8aS5kaXNhYmxlZHx8dChlLnRhcmdldCkuY2xvc2VzdCgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKS5sZW5ndGg+MD8hMToodGhpcy5oYW5kbGU9dGhpcy5fZ2V0SGFuZGxlKGUpLHRoaXMuaGFuZGxlPyh0aGlzLl9ibHVyQWN0aXZlRWxlbWVudChlKSx0aGlzLl9ibG9ja0ZyYW1lcyhpLmlmcmFtZUZpeD09PSEwPyJpZnJhbWUiOmkuaWZyYW1lRml4KSwhMCk6ITEpfSxfYmxvY2tGcmFtZXM6ZnVuY3Rpb24oZSl7dGhpcy5pZnJhbWVCbG9ja3M9dGhpcy5kb2N1bWVudC5maW5kKGUpLm1hcChmdW5jdGlvbigpe3ZhciBlPXQodGhpcyk7cmV0dXJuIHQoIjxkaXY+IikuY3NzKCJwb3NpdGlvbiIsImFic29sdXRlIikuYXBwZW5kVG8oZS5wYXJlbnQoKSkub3V0ZXJXaWR0aChlLm91dGVyV2lkdGgoKSkub3V0ZXJIZWlnaHQoZS5vdXRlckhlaWdodCgpKS5vZmZzZXQoZS5vZmZzZXQoKSlbMF19KX0sX3VuYmxvY2tGcmFtZXM6ZnVuY3Rpb24oKXt0aGlzLmlmcmFtZUJsb2NrcyYmKHRoaXMuaWZyYW1lQmxvY2tzLnJlbW92ZSgpLGRlbGV0ZSB0aGlzLmlmcmFtZUJsb2Nrcyl9LF9ibHVyQWN0aXZlRWxlbWVudDpmdW5jdGlvbihlKXt2YXIgaT10LnVpLnNhZmVBY3RpdmVFbGVtZW50KHRoaXMuZG9jdW1lbnRbMF0pLHM9dChlLnRhcmdldCk7cy5jbG9zZXN0KGkpLmxlbmd0aHx8dC51aS5zYWZlQmx1cihpKX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcy5vcHRpb25zO3JldHVybiB0aGlzLmhlbHBlcj10aGlzLl9jcmVhdGVIZWxwZXIoZSksdGhpcy5fYWRkQ2xhc3ModGhpcy5oZWxwZXIsInVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpLHRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKSx0LnVpLmRkbWFuYWdlciYmKHQudWkuZGRtYW5hZ2VyLmN1cnJlbnQ9dGhpcyksdGhpcy5fY2FjaGVNYXJnaW5zKCksdGhpcy5jc3NQb3NpdGlvbj10aGlzLmhlbHBlci5jc3MoInBvc2l0aW9uIiksdGhpcy5zY3JvbGxQYXJlbnQ9dGhpcy5oZWxwZXIuc2Nyb2xsUGFyZW50KCEwKSx0aGlzLm9mZnNldFBhcmVudD10aGlzLmhlbHBlci5vZmZzZXRQYXJlbnQoKSx0aGlzLmhhc0ZpeGVkQW5jZXN0b3I9dGhpcy5oZWxwZXIucGFyZW50cygpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiJmaXhlZCI9PT10KHRoaXMpLmNzcygicG9zaXRpb24iKX0pLmxlbmd0aD4wLHRoaXMucG9zaXRpb25BYnM9dGhpcy5lbGVtZW50Lm9mZnNldCgpLHRoaXMuX3JlZnJlc2hPZmZzZXRzKGUpLHRoaXMub3JpZ2luYWxQb3NpdGlvbj10aGlzLnBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24oZSwhMSksdGhpcy5vcmlnaW5hbFBhZ2VYPWUucGFnZVgsdGhpcy5vcmlnaW5hbFBhZ2VZPWUucGFnZVksaS5jdXJzb3JBdCYmdGhpcy5fYWRqdXN0T2Zmc2V0RnJvbUhlbHBlcihpLmN1cnNvckF0KSx0aGlzLl9zZXRDb250YWlubWVudCgpLHRoaXMuX3RyaWdnZXIoInN0YXJ0IixlKT09PSExPyh0aGlzLl9jbGVhcigpLCExKToodGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpLHQudWkuZGRtYW5hZ2VyJiYhaS5kcm9wQmVoYXZpb3VyJiZ0LnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLGUpLHRoaXMuX21vdXNlRHJhZyhlLCEwKSx0LnVpLmRkbWFuYWdlciYmdC51aS5kZG1hbmFnZXIuZHJhZ1N0YXJ0KHRoaXMsZSksITApfSxfcmVmcmVzaE9mZnNldHM6ZnVuY3Rpb24odCl7dGhpcy5vZmZzZXQ9e3RvcDp0aGlzLnBvc2l0aW9uQWJzLnRvcC10aGlzLm1hcmdpbnMudG9wLGxlZnQ6dGhpcy5wb3NpdGlvbkFicy5sZWZ0LXRoaXMubWFyZ2lucy5sZWZ0LHNjcm9sbDohMSxwYXJlbnQ6dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkscmVsYXRpdmU6dGhpcy5fZ2V0UmVsYXRpdmVPZmZzZXQoKX0sdGhpcy5vZmZzZXQuY2xpY2s9e2xlZnQ6dC5wYWdlWC10aGlzLm9mZnNldC5sZWZ0LHRvcDp0LnBhZ2VZLXRoaXMub2Zmc2V0LnRvcH19LF9tb3VzZURyYWc6ZnVuY3Rpb24oZSxpKXtpZih0aGlzLmhhc0ZpeGVkQW5jZXN0b3ImJih0aGlzLm9mZnNldC5wYXJlbnQ9dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkpLHRoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbihlLCEwKSx0aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJhYnNvbHV0ZSIpLCFpKXt2YXIgcz10aGlzLl91aUhhc2goKTtpZih0aGlzLl90cmlnZ2VyKCJkcmFnIixlLHMpPT09ITEpcmV0dXJuIHRoaXMuX21vdXNlVXAobmV3IHQuRXZlbnQoIm1vdXNldXAiLGUpKSwhMTt0aGlzLnBvc2l0aW9uPXMucG9zaXRpb259cmV0dXJuIHRoaXMuaGVscGVyWzBdLnN0eWxlLmxlZnQ9dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCIsdGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCIsdC51aS5kZG1hbmFnZXImJnQudWkuZGRtYW5hZ2VyLmRyYWcodGhpcyxlKSwhMX0sX21vdXNlU3RvcDpmdW5jdGlvbihlKXt2YXIgaT10aGlzLHM9ITE7cmV0dXJuIHQudWkuZGRtYW5hZ2VyJiYhdGhpcy5vcHRpb25zLmRyb3BCZWhhdmlvdXImJihzPXQudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyxlKSksdGhpcy5kcm9wcGVkJiYocz10aGlzLmRyb3BwZWQsdGhpcy5kcm9wcGVkPSExKSwiaW52YWxpZCI9PT10aGlzLm9wdGlvbnMucmV2ZXJ0JiYhc3x8InZhbGlkIj09PXRoaXMub3B0aW9ucy5yZXZlcnQmJnN8fHRoaXMub3B0aW9ucy5yZXZlcnQ9PT0hMHx8dC5pc0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5yZXZlcnQpJiZ0aGlzLm9wdGlvbnMucmV2ZXJ0LmNhbGwodGhpcy5lbGVtZW50LHMpP3QodGhpcy5oZWxwZXIpLmFuaW1hdGUodGhpcy5vcmlnaW5hbFBvc2l0aW9uLHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZlcnREdXJhdGlvbiwxMCksZnVuY3Rpb24oKXtpLl90cmlnZ2VyKCJzdG9wIixlKSE9PSExJiZpLl9jbGVhcigpfSk6dGhpcy5fdHJpZ2dlcigic3RvcCIsZSkhPT0hMSYmdGhpcy5fY2xlYXIoKSwhMX0sX21vdXNlVXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX3VuYmxvY2tGcmFtZXMoKSx0LnVpLmRkbWFuYWdlciYmdC51aS5kZG1hbmFnZXIuZHJhZ1N0b3AodGhpcyxlKSx0aGlzLmhhbmRsZUVsZW1lbnQuaXMoZS50YXJnZXQpJiZ0aGlzLmVsZW1lbnQudHJpZ2dlcigiZm9jdXMiKSx0LnVpLm1vdXNlLnByb3RvdHlwZS5fbW91c2VVcC5jYWxsKHRoaXMsZSl9LGNhbmNlbDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhlbHBlci5pcygiLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpP3RoaXMuX21vdXNlVXAobmV3IHQuRXZlbnQoIm1vdXNldXAiLHt0YXJnZXQ6dGhpcy5lbGVtZW50WzBdfSkpOnRoaXMuX2NsZWFyKCksdGhpc30sX2dldEhhbmRsZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5vcHRpb25zLmhhbmRsZT8hIXQoZS50YXJnZXQpLmNsb3Nlc3QodGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLmhhbmRsZSkpLmxlbmd0aDohMH0sX3NldEhhbmRsZUNsYXNzTmFtZTpmdW5jdGlvbigpe3RoaXMuaGFuZGxlRWxlbWVudD10aGlzLm9wdGlvbnMuaGFuZGxlP3RoaXMuZWxlbWVudC5maW5kKHRoaXMub3B0aW9ucy5oYW5kbGUpOnRoaXMuZWxlbWVudCx0aGlzLl9hZGRDbGFzcyh0aGlzLmhhbmRsZUVsZW1lbnQsInVpLWRyYWdnYWJsZS1oYW5kbGUiKX0sX3JlbW92ZUhhbmRsZUNsYXNzTmFtZTpmdW5jdGlvbigpe3RoaXMuX3JlbW92ZUNsYXNzKHRoaXMuaGFuZGxlRWxlbWVudCwidWktZHJhZ2dhYmxlLWhhbmRsZSIpfSxfY3JlYXRlSGVscGVyOmZ1bmN0aW9uKGUpe3ZhciBpPXRoaXMub3B0aW9ucyxzPXQuaXNGdW5jdGlvbihpLmhlbHBlciksbj1zP3QoaS5oZWxwZXIuYXBwbHkodGhpcy5lbGVtZW50WzBdLFtlXSkpOiJjbG9uZSI9PT1pLmhlbHBlcj90aGlzLmVsZW1lbnQuY2xvbmUoKS5yZW1vdmVBdHRyKCJpZCIpOnRoaXMuZWxlbWVudDtyZXR1cm4gbi5wYXJlbnRzKCJib2R5IikubGVuZ3RofHxuLmFwcGVuZFRvKCJwYXJlbnQiPT09aS5hcHBlbmRUbz90aGlzLmVsZW1lbnRbMF0ucGFyZW50Tm9kZTppLmFwcGVuZFRvKSxzJiZuWzBdPT09dGhpcy5lbGVtZW50WzBdJiZ0aGlzLl9zZXRQb3NpdGlvblJlbGF0aXZlKCksblswXT09PXRoaXMuZWxlbWVudFswXXx8LyhmaXhlZHxhYnNvbHV0ZSkvLnRlc3Qobi5jc3MoInBvc2l0aW9uIikpfHxuLmNzcygicG9zaXRpb24iLCJhYnNvbHV0ZSIpLG59LF9zZXRQb3NpdGlvblJlbGF0aXZlOmZ1bmN0aW9uKCl7L14oPzpyfGF8ZikvLnRlc3QodGhpcy5lbGVtZW50LmNzcygicG9zaXRpb24iKSl8fCh0aGlzLmVsZW1lbnRbMF0uc3R5bGUucG9zaXRpb249InJlbGF0aXZlIil9LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0aW9uKGUpeyJzdHJpbmciPT10eXBlb2YgZSYmKGU9ZS5zcGxpdCgiICIpKSx0LmlzQXJyYXkoZSkmJihlPXtsZWZ0OitlWzBdLHRvcDorZVsxXXx8MH0pLCJsZWZ0ImluIGUmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PWUubGVmdCt0aGlzLm1hcmdpbnMubGVmdCksInJpZ2h0ImluIGUmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtZS5yaWdodCt0aGlzLm1hcmdpbnMubGVmdCksInRvcCJpbiBlJiYodGhpcy5vZmZzZXQuY2xpY2sudG9wPWUudG9wK3RoaXMubWFyZ2lucy50b3ApLCJib3R0b20iaW4gZSYmKHRoaXMub2Zmc2V0LmNsaWNrLnRvcD10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC1lLmJvdHRvbSt0aGlzLm1hcmdpbnMudG9wKX0sX2lzUm9vdE5vZGU6ZnVuY3Rpb24odCl7cmV0dXJuLyhodG1sfGJvZHkpL2kudGVzdCh0LnRhZ05hbWUpfHx0PT09dGhpcy5kb2N1bWVudFswXX0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpLGk9dGhpcy5kb2N1bWVudFswXTtyZXR1cm4iYWJzb2x1dGUiPT09dGhpcy5jc3NQb3NpdGlvbiYmdGhpcy5zY3JvbGxQYXJlbnRbMF0hPT1pJiZ0LmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSYmKGUubGVmdCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpLGUudG9wKz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSksdGhpcy5faXNSb290Tm9kZSh0aGlzLm9mZnNldFBhcmVudFswXSkmJihlPXt0b3A6MCxsZWZ0OjB9KSx7dG9wOmUudG9wKyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OmUubGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApfX0sX2dldFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYoInJlbGF0aXZlIiE9PXRoaXMuY3NzUG9zaXRpb24pcmV0dXJue3RvcDowLGxlZnQ6MH07dmFyIHQ9dGhpcy5lbGVtZW50LnBvc2l0aW9uKCksZT10aGlzLl9pc1Jvb3ROb2RlKHRoaXMuc2Nyb2xsUGFyZW50WzBdKTtyZXR1cm57dG9wOnQudG9wLShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIpLDEwKXx8MCkrKGU/MDp0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSksbGVmdDp0LmxlZnQtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygibGVmdCIpLDEwKXx8MCkrKGU/MDp0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCkpfQp9LF9jYWNoZU1hcmdpbnM6ZnVuY3Rpb24oKXt0aGlzLm1hcmdpbnM9e2xlZnQ6cGFyc2VJbnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luTGVmdCIpLDEwKXx8MCx0b3A6cGFyc2VJbnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luVG9wIiksMTApfHwwLHJpZ2h0OnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpblJpZ2h0IiksMTApfHwwLGJvdHRvbTpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJnaW5Cb3R0b20iKSwxMCl8fDB9fSxfY2FjaGVIZWxwZXJQcm9wb3J0aW9uczpmdW5jdGlvbigpe3RoaXMuaGVscGVyUHJvcG9ydGlvbnM9e3dpZHRoOnRoaXMuaGVscGVyLm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5oZWxwZXIub3V0ZXJIZWlnaHQoKX19LF9zZXRDb250YWlubWVudDpmdW5jdGlvbigpe3ZhciBlLGkscyxuPXRoaXMub3B0aW9ucyxvPXRoaXMuZG9jdW1lbnRbMF07cmV0dXJuIHRoaXMucmVsYXRpdmVDb250YWluZXI9bnVsbCxuLmNvbnRhaW5tZW50PyJ3aW5kb3ciPT09bi5jb250YWlubWVudD8odGhpcy5jb250YWlubWVudD1bdCh3aW5kb3cpLnNjcm9sbExlZnQoKS10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LHQod2luZG93KS5zY3JvbGxUb3AoKS10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcCx0KHdpbmRvdykuc2Nyb2xsTGVmdCgpK3Qod2luZG93KS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQsdCh3aW5kb3cpLnNjcm9sbFRvcCgpKyh0KHdpbmRvdykuaGVpZ2h0KCl8fG8uYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdodCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5zLnRvcF0sdm9pZCAwKToiZG9jdW1lbnQiPT09bi5jb250YWlubWVudD8odGhpcy5jb250YWlubWVudD1bMCwwLHQobykud2lkdGgoKS10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLXRoaXMubWFyZ2lucy5sZWZ0LCh0KG8pLmhlaWdodCgpfHxvLmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdLHZvaWQgMCk6bi5jb250YWlubWVudC5jb25zdHJ1Y3Rvcj09PUFycmF5Pyh0aGlzLmNvbnRhaW5tZW50PW4uY29udGFpbm1lbnQsdm9pZCAwKTooInBhcmVudCI9PT1uLmNvbnRhaW5tZW50JiYobi5jb250YWlubWVudD10aGlzLmhlbHBlclswXS5wYXJlbnROb2RlKSxpPXQobi5jb250YWlubWVudCkscz1pWzBdLHMmJihlPS8oc2Nyb2xsfGF1dG8pLy50ZXN0KGkuY3NzKCJvdmVyZmxvdyIpKSx0aGlzLmNvbnRhaW5tZW50PVsocGFyc2VJbnQoaS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGkuY3NzKCJwYWRkaW5nTGVmdCIpLDEwKXx8MCksKHBhcnNlSW50KGkuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KGkuY3NzKCJwYWRkaW5nVG9wIiksMTApfHwwKSwoZT9NYXRoLm1heChzLnNjcm9sbFdpZHRoLHMub2Zmc2V0V2lkdGgpOnMub2Zmc2V0V2lkdGgpLShwYXJzZUludChpLmNzcygiYm9yZGVyUmlnaHRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGkuY3NzKCJwYWRkaW5nUmlnaHQiKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQtdGhpcy5tYXJnaW5zLnJpZ2h0LChlP01hdGgubWF4KHMuc2Nyb2xsSGVpZ2h0LHMub2Zmc2V0SGVpZ2h0KTpzLm9mZnNldEhlaWdodCktKHBhcnNlSW50KGkuY3NzKCJib3JkZXJCb3R0b21XaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGkuY3NzKCJwYWRkaW5nQm90dG9tIiksMTApfHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wLXRoaXMubWFyZ2lucy5ib3R0b21dLHRoaXMucmVsYXRpdmVDb250YWluZXI9aSksdm9pZCAwKToodGhpcy5jb250YWlubWVudD1udWxsLHZvaWQgMCl9LF9jb252ZXJ0UG9zaXRpb25UbzpmdW5jdGlvbih0LGUpe2V8fChlPXRoaXMucG9zaXRpb24pO3ZhciBpPSJhYnNvbHV0ZSI9PT10PzE6LTEscz10aGlzLl9pc1Jvb3ROb2RlKHRoaXMuc2Nyb2xsUGFyZW50WzBdKTtyZXR1cm57dG9wOmUudG9wK3RoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCppK3RoaXMub2Zmc2V0LnBhcmVudC50b3AqaS0oImZpeGVkIj09PXRoaXMuY3NzUG9zaXRpb24/LXRoaXMub2Zmc2V0LnNjcm9sbC50b3A6cz8wOnRoaXMub2Zmc2V0LnNjcm9sbC50b3ApKmksbGVmdDplLmxlZnQrdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCppK3RoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KmktKCJmaXhlZCI9PT10aGlzLmNzc1Bvc2l0aW9uPy10aGlzLm9mZnNldC5zY3JvbGwubGVmdDpzPzA6dGhpcy5vZmZzZXQuc2Nyb2xsLmxlZnQpKml9fSxfZ2VuZXJhdGVQb3NpdGlvbjpmdW5jdGlvbih0LGUpe3ZhciBpLHMsbixvLGE9dGhpcy5vcHRpb25zLHI9dGhpcy5faXNSb290Tm9kZSh0aGlzLnNjcm9sbFBhcmVudFswXSksaD10LnBhZ2VYLGw9dC5wYWdlWTtyZXR1cm4gciYmdGhpcy5vZmZzZXQuc2Nyb2xsfHwodGhpcy5vZmZzZXQuc2Nyb2xsPXt0b3A6dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCksbGVmdDp0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCl9KSxlJiYodGhpcy5jb250YWlubWVudCYmKHRoaXMucmVsYXRpdmVDb250YWluZXI/KHM9dGhpcy5yZWxhdGl2ZUNvbnRhaW5lci5vZmZzZXQoKSxpPVt0aGlzLmNvbnRhaW5tZW50WzBdK3MubGVmdCx0aGlzLmNvbnRhaW5tZW50WzFdK3MudG9wLHRoaXMuY29udGFpbm1lbnRbMl0rcy5sZWZ0LHRoaXMuY29udGFpbm1lbnRbM10rcy50b3BdKTppPXRoaXMuY29udGFpbm1lbnQsdC5wYWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PGlbMF0mJihoPWlbMF0rdGhpcy5vZmZzZXQuY2xpY2subGVmdCksdC5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A8aVsxXSYmKGw9aVsxXSt0aGlzLm9mZnNldC5jbGljay50b3ApLHQucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdD5pWzJdJiYoaD1pWzJdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQpLHQucGFnZVktdGhpcy5vZmZzZXQuY2xpY2sudG9wPmlbM10mJihsPWlbM10rdGhpcy5vZmZzZXQuY2xpY2sudG9wKSksYS5ncmlkJiYobj1hLmdyaWRbMV0/dGhpcy5vcmlnaW5hbFBhZ2VZK01hdGgucm91bmQoKGwtdGhpcy5vcmlnaW5hbFBhZ2VZKS9hLmdyaWRbMV0pKmEuZ3JpZFsxXTp0aGlzLm9yaWdpbmFsUGFnZVksbD1pP24tdGhpcy5vZmZzZXQuY2xpY2sudG9wPj1pWzFdfHxuLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD5pWzNdP246bi10aGlzLm9mZnNldC5jbGljay50b3A+PWlbMV0/bi1hLmdyaWRbMV06bithLmdyaWRbMV06bixvPWEuZ3JpZFswXT90aGlzLm9yaWdpbmFsUGFnZVgrTWF0aC5yb3VuZCgoaC10aGlzLm9yaWdpbmFsUGFnZVgpL2EuZ3JpZFswXSkqYS5ncmlkWzBdOnRoaXMub3JpZ2luYWxQYWdlWCxoPWk/by10aGlzLm9mZnNldC5jbGljay5sZWZ0Pj1pWzBdfHxvLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+aVsyXT9vOm8tdGhpcy5vZmZzZXQuY2xpY2subGVmdD49aVswXT9vLWEuZ3JpZFswXTpvK2EuZ3JpZFswXTpvKSwieSI9PT1hLmF4aXMmJihoPXRoaXMub3JpZ2luYWxQYWdlWCksIngiPT09YS5heGlzJiYobD10aGlzLm9yaWdpbmFsUGFnZVkpKSx7dG9wOmwtdGhpcy5vZmZzZXQuY2xpY2sudG9wLXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wKygiZml4ZWQiPT09dGhpcy5jc3NQb3NpdGlvbj8tdGhpcy5vZmZzZXQuc2Nyb2xsLnRvcDpyPzA6dGhpcy5vZmZzZXQuc2Nyb2xsLnRvcCksbGVmdDpoLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQtdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCsoImZpeGVkIj09PXRoaXMuY3NzUG9zaXRpb24/LXRoaXMub2Zmc2V0LnNjcm9sbC5sZWZ0OnI/MDp0aGlzLm9mZnNldC5zY3JvbGwubGVmdCl9fSxfY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLmhlbHBlciwidWktZHJhZ2dhYmxlLWRyYWdnaW5nIiksdGhpcy5oZWxwZXJbMF09PT10aGlzLmVsZW1lbnRbMF18fHRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbHx8dGhpcy5oZWxwZXIucmVtb3ZlKCksdGhpcy5oZWxwZXI9bnVsbCx0aGlzLmNhbmNlbEhlbHBlclJlbW92YWw9ITEsdGhpcy5kZXN0cm95T25DbGVhciYmdGhpcy5kZXN0cm95KCl9LF90cmlnZ2VyOmZ1bmN0aW9uKGUsaSxzKXtyZXR1cm4gcz1zfHx0aGlzLl91aUhhc2goKSx0LnVpLnBsdWdpbi5jYWxsKHRoaXMsZSxbaSxzLHRoaXNdLCEwKSwvXihkcmFnfHN0YXJ0fHN0b3ApLy50ZXN0KGUpJiYodGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKSxzLm9mZnNldD10aGlzLnBvc2l0aW9uQWJzKSx0LldpZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuY2FsbCh0aGlzLGUsaSxzKX0scGx1Z2luczp7fSxfdWlIYXNoOmZ1bmN0aW9uKCl7cmV0dXJue2hlbHBlcjp0aGlzLmhlbHBlcixwb3NpdGlvbjp0aGlzLnBvc2l0aW9uLG9yaWdpbmFsUG9zaXRpb246dGhpcy5vcmlnaW5hbFBvc2l0aW9uLG9mZnNldDp0aGlzLnBvc2l0aW9uQWJzfX19KSx0LnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsImNvbm5lY3RUb1NvcnRhYmxlIix7c3RhcnQ6ZnVuY3Rpb24oZSxpLHMpe3ZhciBuPXQuZXh0ZW5kKHt9LGkse2l0ZW06cy5lbGVtZW50fSk7cy5zb3J0YWJsZXM9W10sdChzLm9wdGlvbnMuY29ubmVjdFRvU29ydGFibGUpLmVhY2goZnVuY3Rpb24oKXt2YXIgaT10KHRoaXMpLnNvcnRhYmxlKCJpbnN0YW5jZSIpO2kmJiFpLm9wdGlvbnMuZGlzYWJsZWQmJihzLnNvcnRhYmxlcy5wdXNoKGkpLGkucmVmcmVzaFBvc2l0aW9ucygpLGkuX3RyaWdnZXIoImFjdGl2YXRlIixlLG4pKX0pfSxzdG9wOmZ1bmN0aW9uKGUsaSxzKXt2YXIgbj10LmV4dGVuZCh7fSxpLHtpdGVtOnMuZWxlbWVudH0pO3MuY2FuY2VsSGVscGVyUmVtb3ZhbD0hMSx0LmVhY2gocy5zb3J0YWJsZXMsZnVuY3Rpb24oKXt2YXIgdD10aGlzO3QuaXNPdmVyPyh0LmlzT3Zlcj0wLHMuY2FuY2VsSGVscGVyUmVtb3ZhbD0hMCx0LmNhbmNlbEhlbHBlclJlbW92YWw9ITEsdC5fc3RvcmVkQ1NTPXtwb3NpdGlvbjp0LnBsYWNlaG9sZGVyLmNzcygicG9zaXRpb24iKSx0b3A6dC5wbGFjZWhvbGRlci5jc3MoInRvcCIpLGxlZnQ6dC5wbGFjZWhvbGRlci5jc3MoImxlZnQiKX0sdC5fbW91c2VTdG9wKGUpLHQub3B0aW9ucy5oZWxwZXI9dC5vcHRpb25zLl9oZWxwZXIpOih0LmNhbmNlbEhlbHBlclJlbW92YWw9ITAsdC5fdHJpZ2dlcigiZGVhY3RpdmF0ZSIsZSxuKSl9KX0sZHJhZzpmdW5jdGlvbihlLGkscyl7dC5lYWNoKHMuc29ydGFibGVzLGZ1bmN0aW9uKCl7dmFyIG49ITEsbz10aGlzO28ucG9zaXRpb25BYnM9cy5wb3NpdGlvbkFicyxvLmhlbHBlclByb3BvcnRpb25zPXMuaGVscGVyUHJvcG9ydGlvbnMsby5vZmZzZXQuY2xpY2s9cy5vZmZzZXQuY2xpY2ssby5faW50ZXJzZWN0c1dpdGgoby5jb250YWluZXJDYWNoZSkmJihuPSEwLHQuZWFjaChzLnNvcnRhYmxlcyxmdW5jdGlvbigpe3JldHVybiB0aGlzLnBvc2l0aW9uQWJzPXMucG9zaXRpb25BYnMsdGhpcy5oZWxwZXJQcm9wb3J0aW9ucz1zLmhlbHBlclByb3BvcnRpb25zLHRoaXMub2Zmc2V0LmNsaWNrPXMub2Zmc2V0LmNsaWNrLHRoaXMhPT1vJiZ0aGlzLl9pbnRlcnNlY3RzV2l0aCh0aGlzLmNvbnRhaW5lckNhY2hlKSYmdC5jb250YWlucyhvLmVsZW1lbnRbMF0sdGhpcy5lbGVtZW50WzBdKSYmKG49ITEpLG59KSksbj8oby5pc092ZXJ8fChvLmlzT3Zlcj0xLHMuX3BhcmVudD1pLmhlbHBlci5wYXJlbnQoKSxvLmN1cnJlbnRJdGVtPWkuaGVscGVyLmFwcGVuZFRvKG8uZWxlbWVudCkuZGF0YSgidWktc29ydGFibGUtaXRlbSIsITApLG8ub3B0aW9ucy5faGVscGVyPW8ub3B0aW9ucy5oZWxwZXIsby5vcHRpb25zLmhlbHBlcj1mdW5jdGlvbigpe3JldHVybiBpLmhlbHBlclswXX0sZS50YXJnZXQ9by5jdXJyZW50SXRlbVswXSxvLl9tb3VzZUNhcHR1cmUoZSwhMCksby5fbW91c2VTdGFydChlLCEwLCEwKSxvLm9mZnNldC5jbGljay50b3A9cy5vZmZzZXQuY2xpY2sudG9wLG8ub2Zmc2V0LmNsaWNrLmxlZnQ9cy5vZmZzZXQuY2xpY2subGVmdCxvLm9mZnNldC5wYXJlbnQubGVmdC09cy5vZmZzZXQucGFyZW50LmxlZnQtby5vZmZzZXQucGFyZW50LmxlZnQsby5vZmZzZXQucGFyZW50LnRvcC09cy5vZmZzZXQucGFyZW50LnRvcC1vLm9mZnNldC5wYXJlbnQudG9wLHMuX3RyaWdnZXIoInRvU29ydGFibGUiLGUpLHMuZHJvcHBlZD1vLmVsZW1lbnQsdC5lYWNoKHMuc29ydGFibGVzLGZ1bmN0aW9uKCl7dGhpcy5yZWZyZXNoUG9zaXRpb25zKCl9KSxzLmN1cnJlbnRJdGVtPXMuZWxlbWVudCxvLmZyb21PdXRzaWRlPXMpLG8uY3VycmVudEl0ZW0mJihvLl9tb3VzZURyYWcoZSksaS5wb3NpdGlvbj1vLnBvc2l0aW9uKSk6by5pc092ZXImJihvLmlzT3Zlcj0wLG8uY2FuY2VsSGVscGVyUmVtb3ZhbD0hMCxvLm9wdGlvbnMuX3JldmVydD1vLm9wdGlvbnMucmV2ZXJ0LG8ub3B0aW9ucy5yZXZlcnQ9ITEsby5fdHJpZ2dlcigib3V0IixlLG8uX3VpSGFzaChvKSksby5fbW91c2VTdG9wKGUsITApLG8ub3B0aW9ucy5yZXZlcnQ9by5vcHRpb25zLl9yZXZlcnQsby5vcHRpb25zLmhlbHBlcj1vLm9wdGlvbnMuX2hlbHBlcixvLnBsYWNlaG9sZGVyJiZvLnBsYWNlaG9sZGVyLnJlbW92ZSgpLGkuaGVscGVyLmFwcGVuZFRvKHMuX3BhcmVudCkscy5fcmVmcmVzaE9mZnNldHMoZSksaS5wb3NpdGlvbj1zLl9nZW5lcmF0ZVBvc2l0aW9uKGUsITApLHMuX3RyaWdnZXIoImZyb21Tb3J0YWJsZSIsZSkscy5kcm9wcGVkPSExLHQuZWFjaChzLnNvcnRhYmxlcyxmdW5jdGlvbigpe3RoaXMucmVmcmVzaFBvc2l0aW9ucygpfSkpfSl9fSksdC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJjdXJzb3IiLHtzdGFydDpmdW5jdGlvbihlLGkscyl7dmFyIG49dCgiYm9keSIpLG89cy5vcHRpb25zO24uY3NzKCJjdXJzb3IiKSYmKG8uX2N1cnNvcj1uLmNzcygiY3Vyc29yIikpLG4uY3NzKCJjdXJzb3IiLG8uY3Vyc29yKX0sc3RvcDpmdW5jdGlvbihlLGkscyl7dmFyIG49cy5vcHRpb25zO24uX2N1cnNvciYmdCgiYm9keSIpLmNzcygiY3Vyc29yIixuLl9jdXJzb3IpfX0pLHQudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwib3BhY2l0eSIse3N0YXJ0OmZ1bmN0aW9uKGUsaSxzKXt2YXIgbj10KGkuaGVscGVyKSxvPXMub3B0aW9ucztuLmNzcygib3BhY2l0eSIpJiYoby5fb3BhY2l0eT1uLmNzcygib3BhY2l0eSIpKSxuLmNzcygib3BhY2l0eSIsby5vcGFjaXR5KX0sc3RvcDpmdW5jdGlvbihlLGkscyl7dmFyIG49cy5vcHRpb25zO24uX29wYWNpdHkmJnQoaS5oZWxwZXIpLmNzcygib3BhY2l0eSIsbi5fb3BhY2l0eSl9fSksdC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJzY3JvbGwiLHtzdGFydDpmdW5jdGlvbih0LGUsaSl7aS5zY3JvbGxQYXJlbnROb3RIaWRkZW58fChpLnNjcm9sbFBhcmVudE5vdEhpZGRlbj1pLmhlbHBlci5zY3JvbGxQYXJlbnQoITEpKSxpLnNjcm9sbFBhcmVudE5vdEhpZGRlblswXSE9PWkuZG9jdW1lbnRbMF0mJiJIVE1MIiE9PWkuc2Nyb2xsUGFyZW50Tm90SGlkZGVuWzBdLnRhZ05hbWUmJihpLm92ZXJmbG93T2Zmc2V0PWkuc2Nyb2xsUGFyZW50Tm90SGlkZGVuLm9mZnNldCgpKX0sZHJhZzpmdW5jdGlvbihlLGkscyl7dmFyIG49cy5vcHRpb25zLG89ITEsYT1zLnNjcm9sbFBhcmVudE5vdEhpZGRlblswXSxyPXMuZG9jdW1lbnRbMF07YSE9PXImJiJIVE1MIiE9PWEudGFnTmFtZT8obi5heGlzJiYieCI9PT1uLmF4aXN8fChzLm92ZXJmbG93T2Zmc2V0LnRvcCthLm9mZnNldEhlaWdodC1lLnBhZ2VZPG4uc2Nyb2xsU2Vuc2l0aXZpdHk/YS5zY3JvbGxUb3A9bz1hLnNjcm9sbFRvcCtuLnNjcm9sbFNwZWVkOmUucGFnZVktcy5vdmVyZmxvd09mZnNldC50b3A8bi5zY3JvbGxTZW5zaXRpdml0eSYmKGEuc2Nyb2xsVG9wPW89YS5zY3JvbGxUb3Atbi5zY3JvbGxTcGVlZCkpLG4uYXhpcyYmInkiPT09bi5heGlzfHwocy5vdmVyZmxvd09mZnNldC5sZWZ0K2Eub2Zmc2V0V2lkdGgtZS5wYWdlWDxuLnNjcm9sbFNlbnNpdGl2aXR5P2Euc2Nyb2xsTGVmdD1vPWEuc2Nyb2xsTGVmdCtuLnNjcm9sbFNwZWVkOmUucGFnZVgtcy5vdmVyZmxvd09mZnNldC5sZWZ0PG4uc2Nyb2xsU2Vuc2l0aXZpdHkmJihhLnNjcm9sbExlZnQ9bz1hLnNjcm9sbExlZnQtbi5zY3JvbGxTcGVlZCkpKToobi5heGlzJiYieCI9PT1uLmF4aXN8fChlLnBhZ2VZLXQocikuc2Nyb2xsVG9wKCk8bi5zY3JvbGxTZW5zaXRpdml0eT9vPXQocikuc2Nyb2xsVG9wKHQocikuc2Nyb2xsVG9wKCktbi5zY3JvbGxTcGVlZCk6dCh3aW5kb3cpLmhlaWdodCgpLShlLnBhZ2VZLXQocikuc2Nyb2xsVG9wKCkpPG4uc2Nyb2xsU2Vuc2l0aXZpdHkmJihvPXQocikuc2Nyb2xsVG9wKHQocikuc2Nyb2xsVG9wKCkrbi5zY3JvbGxTcGVlZCkpKSxuLmF4aXMmJiJ5Ij09PW4uYXhpc3x8KGUucGFnZVgtdChyKS5zY3JvbGxMZWZ0KCk8bi5zY3JvbGxTZW5zaXRpdml0eT9vPXQocikuc2Nyb2xsTGVmdCh0KHIpLnNjcm9sbExlZnQoKS1uLnNjcm9sbFNwZWVkKTp0KHdpbmRvdykud2lkdGgoKS0oZS5wYWdlWC10KHIpLnNjcm9sbExlZnQoKSk8bi5zY3JvbGxTZW5zaXRpdml0eSYmKG89dChyKS5zY3JvbGxMZWZ0KHQocikuc2Nyb2xsTGVmdCgpK24uc2Nyb2xsU3BlZWQpKSkpLG8hPT0hMSYmdC51aS5kZG1hbmFnZXImJiFuLmRyb3BCZWhhdmlvdXImJnQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHMsZSl9fSksdC51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJzbmFwIix7c3RhcnQ6ZnVuY3Rpb24oZSxpLHMpe3ZhciBuPXMub3B0aW9ucztzLnNuYXBFbGVtZW50cz1bXSx0KG4uc25hcC5jb25zdHJ1Y3RvciE9PVN0cmluZz9uLnNuYXAuaXRlbXN8fCI6ZGF0YSh1aS1kcmFnZ2FibGUpIjpuLnNuYXApLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMpLGk9ZS5vZmZzZXQoKTt0aGlzIT09cy5lbGVtZW50WzBdJiZzLnNuYXBFbGVtZW50cy5wdXNoKHtpdGVtOnRoaXMsd2lkdGg6ZS5vdXRlcldpZHRoKCksaGVpZ2h0OmUub3V0ZXJIZWlnaHQoKSx0b3A6aS50b3AsbGVmdDppLmxlZnR9KX0pfSxkcmFnOmZ1bmN0aW9uKGUsaSxzKXt2YXIgbixvLGEscixoLGwsYyx1LGQscCxmPXMub3B0aW9ucyxnPWYuc25hcFRvbGVyYW5jZSxtPWkub2Zmc2V0LmxlZnQsXz1tK3MuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgsdj1pLm9mZnNldC50b3AsYj12K3MuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0O2ZvcihkPXMuc25hcEVsZW1lbnRzLmxlbmd0aC0xO2Q+PTA7ZC0tKWg9cy5zbmFwRWxlbWVudHNbZF0ubGVmdC1zLm1hcmdpbnMubGVmdCxsPWgrcy5zbmFwRWxlbWVudHNbZF0ud2lkdGgsYz1zLnNuYXBFbGVtZW50c1tkXS50b3Atcy5tYXJnaW5zLnRvcCx1PWMrcy5zbmFwRWxlbWVudHNbZF0uaGVpZ2h0LGgtZz5ffHxtPmwrZ3x8Yy1nPmJ8fHY+dStnfHwhdC5jb250YWlucyhzLnNuYXBFbGVtZW50c1tkXS5pdGVtLm93bmVyRG9jdW1lbnQscy5zbmFwRWxlbWVudHNbZF0uaXRlbSk/KHMuc25hcEVsZW1lbnRzW2RdLnNuYXBwaW5nJiZzLm9wdGlvbnMuc25hcC5yZWxlYXNlJiZzLm9wdGlvbnMuc25hcC5yZWxlYXNlLmNhbGwocy5lbGVtZW50LGUsdC5leHRlbmQocy5fdWlIYXNoKCkse3NuYXBJdGVtOnMuc25hcEVsZW1lbnRzW2RdLml0ZW19KSkscy5zbmFwRWxlbWVudHNbZF0uc25hcHBpbmc9ITEpOigiaW5uZXIiIT09Zi5zbmFwTW9kZSYmKG49Zz49TWF0aC5hYnMoYy1iKSxvPWc+PU1hdGguYWJzKHUtdiksYT1nPj1NYXRoLmFicyhoLV8pLHI9Zz49TWF0aC5hYnMobC1tKSxuJiYoaS5wb3NpdGlvbi50b3A9cy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOmMtcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsbGVmdDowfSkudG9wKSxvJiYoaS5wb3NpdGlvbi50b3A9cy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOnUsbGVmdDowfSkudG9wKSxhJiYoaS5wb3NpdGlvbi5sZWZ0PXMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6aC1zLmhlbHBlclByb3BvcnRpb25zLndpZHRofSkubGVmdCksciYmKGkucG9zaXRpb24ubGVmdD1zLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0Omx9KS5sZWZ0KSkscD1ufHxvfHxhfHxyLCJvdXRlciIhPT1mLnNuYXBNb2RlJiYobj1nPj1NYXRoLmFicyhjLXYpLG89Zz49TWF0aC5hYnModS1iKSxhPWc+PU1hdGguYWJzKGgtbSkscj1nPj1NYXRoLmFicyhsLV8pLG4mJihpLnBvc2l0aW9uLnRvcD1zLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6YyxsZWZ0OjB9KS50b3ApLG8mJihpLnBvc2l0aW9uLnRvcD1zLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6dS1zLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxsZWZ0OjB9KS50b3ApLGEmJihpLnBvc2l0aW9uLmxlZnQ9cy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDpofSkubGVmdCksciYmKGkucG9zaXRpb24ubGVmdD1zLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0Omwtcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aH0pLmxlZnQpKSwhcy5zbmFwRWxlbWVudHNbZF0uc25hcHBpbmcmJihufHxvfHxhfHxyfHxwKSYmcy5vcHRpb25zLnNuYXAuc25hcCYmcy5vcHRpb25zLnNuYXAuc25hcC5jYWxsKHMuZWxlbWVudCxlLHQuZXh0ZW5kKHMuX3VpSGFzaCgpLHtzbmFwSXRlbTpzLnNuYXBFbGVtZW50c1tkXS5pdGVtfSkpLHMuc25hcEVsZW1lbnRzW2RdLnNuYXBwaW5nPW58fG98fGF8fHJ8fHApfX0pLHQudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic3RhY2siLHtzdGFydDpmdW5jdGlvbihlLGkscyl7dmFyIG4sbz1zLm9wdGlvbnMsYT10Lm1ha2VBcnJheSh0KG8uc3RhY2spKS5zb3J0KGZ1bmN0aW9uKGUsaSl7cmV0dXJuKHBhcnNlSW50KHQoZSkuY3NzKCJ6SW5kZXgiKSwxMCl8fDApLShwYXJzZUludCh0KGkpLmNzcygiekluZGV4IiksMTApfHwwKX0pO2EubGVuZ3RoJiYobj1wYXJzZUludCh0KGFbMF0pLmNzcygiekluZGV4IiksMTApfHwwLHQoYSkuZWFjaChmdW5jdGlvbihlKXt0KHRoaXMpLmNzcygiekluZGV4IixuK2UpfSksdGhpcy5jc3MoInpJbmRleCIsbithLmxlbmd0aCkpfX0pLHQudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwiekluZGV4Iix7c3RhcnQ6ZnVuY3Rpb24oZSxpLHMpe3ZhciBuPXQoaS5oZWxwZXIpLG89cy5vcHRpb25zO24uY3NzKCJ6SW5kZXgiKSYmKG8uX3pJbmRleD1uLmNzcygiekluZGV4IikpLG4uY3NzKCJ6SW5kZXgiLG8uekluZGV4KX0sc3RvcDpmdW5jdGlvbihlLGkscyl7dmFyIG49cy5vcHRpb25zO24uX3pJbmRleCYmdChpLmhlbHBlcikuY3NzKCJ6SW5kZXgiLG4uX3pJbmRleCl9fSksdC51aS5kcmFnZ2FibGUsdC53aWRnZXQoInVpLnJlc2l6YWJsZSIsdC51aS5tb3VzZSx7dmVyc2lvbjoiMS4xMi4xIix3aWRnZXRFdmVudFByZWZpeDoicmVzaXplIixvcHRpb25zOnthbHNvUmVzaXplOiExLGFuaW1hdGU6ITEsYW5pbWF0ZUR1cmF0aW9uOiJzbG93IixhbmltYXRlRWFzaW5nOiJzd2luZyIsYXNwZWN0UmF0aW86ITEsYXV0b0hpZGU6ITEsY2xhc3Nlczp7InVpLXJlc2l6YWJsZS1zZSI6InVpLWljb24gdWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UifSxjb250YWlubWVudDohMSxnaG9zdDohMSxncmlkOiExLGhhbmRsZXM6ImUscyxzZSIsaGVscGVyOiExLG1heEhlaWdodDpudWxsLG1heFdpZHRoOm51bGwsbWluSGVpZ2h0OjEwLG1pbldpZHRoOjEwLHpJbmRleDo5MCxyZXNpemU6bnVsbCxzdGFydDpudWxsLHN0b3A6bnVsbH0sX251bTpmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VGbG9hdCh0KXx8MH0sX2lzTnVtYmVyOmZ1bmN0aW9uKHQpe3JldHVybiFpc05hTihwYXJzZUZsb2F0KHQpKX0sX2hhc1Njcm9sbDpmdW5jdGlvbihlLGkpe2lmKCJoaWRkZW4iPT09dChlKS5jc3MoIm92ZXJmbG93IikpcmV0dXJuITE7dmFyIHM9aSYmImxlZnQiPT09aT8ic2Nyb2xsTGVmdCI6InNjcm9sbFRvcCIsbj0hMTtyZXR1cm4gZVtzXT4wPyEwOihlW3NdPTEsbj1lW3NdPjAsZVtzXT0wLG4pfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGUsaT10aGlzLm9wdGlvbnMscz10aGlzO3RoaXMuX2FkZENsYXNzKCJ1aS1yZXNpemFibGUiKSx0LmV4dGVuZCh0aGlzLHtfYXNwZWN0UmF0aW86ISFpLmFzcGVjdFJhdGlvLGFzcGVjdFJhdGlvOmkuYXNwZWN0UmF0aW8sb3JpZ2luYWxFbGVtZW50OnRoaXMuZWxlbWVudCxfcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50czpbXSxfaGVscGVyOmkuaGVscGVyfHxpLmdob3N0fHxpLmFuaW1hdGU/aS5oZWxwZXJ8fCJ1aS1yZXNpemFibGUtaGVscGVyIjpudWxsfSksdGhpcy5lbGVtZW50WzBdLm5vZGVOYW1lLm1hdGNoKC9eKGNhbnZhc3x0ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9ufGltZykkL2kpJiYodGhpcy5lbGVtZW50LndyYXAodCgiPGRpdiBjbGFzcz0ndWktd3JhcHBlcicgc3R5bGU9J292ZXJmbG93OiBoaWRkZW47Jz48L2Rpdj4iKS5jc3Moe3Bvc2l0aW9uOnRoaXMuZWxlbWVudC5jc3MoInBvc2l0aW9uIiksd2lkdGg6dGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCksdG9wOnRoaXMuZWxlbWVudC5jc3MoInRvcCIpLGxlZnQ6dGhpcy5lbGVtZW50LmNzcygibGVmdCIpfSkpLHRoaXMuZWxlbWVudD10aGlzLmVsZW1lbnQucGFyZW50KCkuZGF0YSgidWktcmVzaXphYmxlIix0aGlzLmVsZW1lbnQucmVzaXphYmxlKCJpbnN0YW5jZSIpKSx0aGlzLmVsZW1lbnRJc1dyYXBwZXI9ITAsZT17bWFyZ2luVG9wOnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luVG9wIiksbWFyZ2luUmlnaHQ6dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5SaWdodCIpLG1hcmdpbkJvdHRvbTp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbkJvdHRvbSIpLG1hcmdpbkxlZnQ6dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5MZWZ0Iil9LHRoaXMuZWxlbWVudC5jc3MoZSksdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW4iLDApLHRoaXMub3JpZ2luYWxSZXNpemVTdHlsZT10aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoInJlc2l6ZSIpLHRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygicmVzaXplIiwibm9uZSIpLHRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMucHVzaCh0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe3Bvc2l0aW9uOiJzdGF0aWMiLHpvb206MSxkaXNwbGF5OiJibG9jayJ9KSksdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKGUpLHRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplKCkpLHRoaXMuX3NldHVwSGFuZGxlcygpLGkuYXV0b0hpZGUmJnQodGhpcy5lbGVtZW50KS5vbigibW91c2VlbnRlciIsZnVuY3Rpb24oKXtpLmRpc2FibGVkfHwocy5fcmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIpLHMuX2hhbmRsZXMuc2hvdygpKX0pLm9uKCJtb3VzZWxlYXZlIixmdW5jdGlvbigpe2kuZGlzYWJsZWR8fHMucmVzaXppbmd8fChzLl9hZGRDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRlIikscy5faGFuZGxlcy5oaWRlKCkpfSksdGhpcy5fbW91c2VJbml0KCl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5fbW91c2VEZXN0cm95KCk7dmFyIGUsaT1mdW5jdGlvbihlKXt0KGUpLnJlbW92ZURhdGEoInJlc2l6YWJsZSIpLnJlbW92ZURhdGEoInVpLXJlc2l6YWJsZSIpLm9mZigiLnJlc2l6YWJsZSIpLmZpbmQoIi51aS1yZXNpemFibGUtaGFuZGxlIikucmVtb3ZlKCl9O3JldHVybiB0aGlzLmVsZW1lbnRJc1dyYXBwZXImJihpKHRoaXMuZWxlbWVudCksZT10aGlzLmVsZW1lbnQsdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKHtwb3NpdGlvbjplLmNzcygicG9zaXRpb24iKSx3aWR0aDplLm91dGVyV2lkdGgoKSxoZWlnaHQ6ZS5vdXRlckhlaWdodCgpLHRvcDplLmNzcygidG9wIiksbGVmdDplLmNzcygibGVmdCIpfSkuaW5zZXJ0QWZ0ZXIoZSksZS5yZW1vdmUoKSksdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiLHRoaXMub3JpZ2luYWxSZXNpemVTdHlsZSksaSh0aGlzLm9yaWdpbmFsRWxlbWVudCksdGhpc30sX3NldE9wdGlvbjpmdW5jdGlvbih0LGUpe3N3aXRjaCh0aGlzLl9zdXBlcih0LGUpLHQpe2Nhc2UiaGFuZGxlcyI6dGhpcy5fcmVtb3ZlSGFuZGxlcygpLHRoaXMuX3NldHVwSGFuZGxlcygpO2JyZWFrO2RlZmF1bHQ6fX0sX3NldHVwSGFuZGxlczpmdW5jdGlvbigpe3ZhciBlLGkscyxuLG8sYT10aGlzLm9wdGlvbnMscj10aGlzO2lmKHRoaXMuaGFuZGxlcz1hLmhhbmRsZXN8fCh0KCIudWktcmVzaXphYmxlLWhhbmRsZSIsdGhpcy5lbGVtZW50KS5sZW5ndGg/e246Ii51aS1yZXNpemFibGUtbiIsZToiLnVpLXJlc2l6YWJsZS1lIixzOiIudWktcmVzaXphYmxlLXMiLHc6Ii51aS1yZXNpemFibGUtdyIsc2U6Ii51aS1yZXNpemFibGUtc2UiLHN3OiIudWktcmVzaXphYmxlLXN3IixuZToiLnVpLXJlc2l6YWJsZS1uZSIsbnc6Ii51aS1yZXNpemFibGUtbncifToiZSxzLHNlIiksdGhpcy5faGFuZGxlcz10KCksdGhpcy5oYW5kbGVzLmNvbnN0cnVjdG9yPT09U3RyaW5nKWZvcigiYWxsIj09PXRoaXMuaGFuZGxlcyYmKHRoaXMuaGFuZGxlcz0ibixlLHMsdyxzZSxzdyxuZSxudyIpLHM9dGhpcy5oYW5kbGVzLnNwbGl0KCIsIiksdGhpcy5oYW5kbGVzPXt9LGk9MDtzLmxlbmd0aD5pO2krKyllPXQudHJpbShzW2ldKSxuPSJ1aS1yZXNpemFibGUtIitlLG89dCgiPGRpdj4iKSx0aGlzLl9hZGRDbGFzcyhvLCJ1aS1yZXNpemFibGUtaGFuZGxlICIrbiksby5jc3Moe3pJbmRleDphLnpJbmRleH0pLHRoaXMuaGFuZGxlc1tlXT0iLnVpLXJlc2l6YWJsZS0iK2UsdGhpcy5lbGVtZW50LmFwcGVuZChvKTt0aGlzLl9yZW5kZXJBeGlzPWZ1bmN0aW9uKGUpe3ZhciBpLHMsbixvO2U9ZXx8dGhpcy5lbGVtZW50O2ZvcihpIGluIHRoaXMuaGFuZGxlcyl0aGlzLmhhbmRsZXNbaV0uY29uc3RydWN0b3I9PT1TdHJpbmc/dGhpcy5oYW5kbGVzW2ldPXRoaXMuZWxlbWVudC5jaGlsZHJlbih0aGlzLmhhbmRsZXNbaV0pLmZpcnN0KCkuc2hvdygpOih0aGlzLmhhbmRsZXNbaV0uanF1ZXJ5fHx0aGlzLmhhbmRsZXNbaV0ubm9kZVR5cGUpJiYodGhpcy5oYW5kbGVzW2ldPXQodGhpcy5oYW5kbGVzW2ldKSx0aGlzLl9vbih0aGlzLmhhbmRsZXNbaV0se21vdXNlZG93bjpyLl9tb3VzZURvd259KSksdGhpcy5lbGVtZW50SXNXcmFwcGVyJiZ0aGlzLm9yaWdpbmFsRWxlbWVudFswXS5ub2RlTmFtZS5tYXRjaCgvXih0ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9uKSQvaSkmJihzPXQodGhpcy5oYW5kbGVzW2ldLHRoaXMuZWxlbWVudCksbz0vc3d8bmV8bnd8c2V8bnxzLy50ZXN0KGkpP3Mub3V0ZXJIZWlnaHQoKTpzLm91dGVyV2lkdGgoKSxuPVsicGFkZGluZyIsL25lfG53fG4vLnRlc3QoaSk/IlRvcCI6L3NlfHN3fHMvLnRlc3QoaSk/IkJvdHRvbSI6L15lJC8udGVzdChpKT8iUmlnaHQiOiJMZWZ0Il0uam9pbigiIiksZS5jc3MobixvKSx0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpKSx0aGlzLl9oYW5kbGVzPXRoaXMuX2hhbmRsZXMuYWRkKHRoaXMuaGFuZGxlc1tpXSl9LHRoaXMuX3JlbmRlckF4aXModGhpcy5lbGVtZW50KSx0aGlzLl9oYW5kbGVzPXRoaXMuX2hhbmRsZXMuYWRkKHRoaXMuZWxlbWVudC5maW5kKCIudWktcmVzaXphYmxlLWhhbmRsZSIpKSx0aGlzLl9oYW5kbGVzLmRpc2FibGVTZWxlY3Rpb24oKSx0aGlzLl9oYW5kbGVzLm9uKCJtb3VzZW92ZXIiLGZ1bmN0aW9uKCl7ci5yZXNpemluZ3x8KHRoaXMuY2xhc3NOYW1lJiYobz10aGlzLmNsYXNzTmFtZS5tYXRjaCgvdWktcmVzaXphYmxlLShzZXxzd3xuZXxud3xufGV8c3x3KS9pKSksci5heGlzPW8mJm9bMV0/b1sxXToic2UiKX0pLGEuYXV0b0hpZGUmJih0aGlzLl9oYW5kbGVzLmhpZGUoKSx0aGlzLl9hZGRDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRlIikpfSxfcmVtb3ZlSGFuZGxlczpmdW5jdGlvbigpe3RoaXMuX2hhbmRsZXMucmVtb3ZlKCl9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oZSl7dmFyIGkscyxuPSExO2ZvcihpIGluIHRoaXMuaGFuZGxlcylzPXQodGhpcy5oYW5kbGVzW2ldKVswXSwocz09PWUudGFyZ2V0fHx0LmNvbnRhaW5zKHMsZS50YXJnZXQpKSYmKG49ITApO3JldHVybiF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJm59LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKGUpe3ZhciBpLHMsbixvPXRoaXMub3B0aW9ucyxhPXRoaXMuZWxlbWVudDtyZXR1cm4gdGhpcy5yZXNpemluZz0hMCx0aGlzLl9yZW5kZXJQcm94eSgpLGk9dGhpcy5fbnVtKHRoaXMuaGVscGVyLmNzcygibGVmdCIpKSxzPXRoaXMuX251bSh0aGlzLmhlbHBlci5jc3MoInRvcCIpKSxvLmNvbnRhaW5tZW50JiYoaSs9dChvLmNvbnRhaW5tZW50KS5zY3JvbGxMZWZ0KCl8fDAscys9dChvLmNvbnRhaW5tZW50KS5zY3JvbGxUb3AoKXx8MCksdGhpcy5vZmZzZXQ9dGhpcy5oZWxwZXIub2Zmc2V0KCksdGhpcy5wb3NpdGlvbj17bGVmdDppLHRvcDpzfSx0aGlzLnNpemU9dGhpcy5faGVscGVyP3t3aWR0aDp0aGlzLmhlbHBlci53aWR0aCgpLGhlaWdodDp0aGlzLmhlbHBlci5oZWlnaHQoKX06e3dpZHRoOmEud2lkdGgoKSxoZWlnaHQ6YS5oZWlnaHQoKX0sdGhpcy5vcmlnaW5hbFNpemU9dGhpcy5faGVscGVyP3t3aWR0aDphLm91dGVyV2lkdGgoKSxoZWlnaHQ6YS5vdXRlckhlaWdodCgpfTp7d2lkdGg6YS53aWR0aCgpLGhlaWdodDphLmhlaWdodCgpfSx0aGlzLnNpemVEaWZmPXt3aWR0aDphLm91dGVyV2lkdGgoKS1hLndpZHRoKCksaGVpZ2h0OmEub3V0ZXJIZWlnaHQoKS1hLmhlaWdodCgpfSx0aGlzLm9yaWdpbmFsUG9zaXRpb249e2xlZnQ6aSx0b3A6c30sdGhpcy5vcmlnaW5hbE1vdXNlUG9zaXRpb249e2xlZnQ6ZS5wYWdlWCx0b3A6ZS5wYWdlWX0sdGhpcy5hc3BlY3RSYXRpbz0ibnVtYmVyIj09dHlwZW9mIG8uYXNwZWN0UmF0aW8/by5hc3BlY3RSYXRpbzp0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aC90aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHR8fDEsbj10KCIudWktcmVzaXphYmxlLSIrdGhpcy5heGlzKS5jc3MoImN1cnNvciIpLHQoImJvZHkiKS5jc3MoImN1cnNvciIsImF1dG8iPT09bj90aGlzLmF4aXMrIi1yZXNpemUiOm4pLHRoaXMuX2FkZENsYXNzKCJ1aS1yZXNpemFibGUtcmVzaXppbmciKSx0aGlzLl9wcm9wYWdhdGUoInN0YXJ0IixlKSwhMH0sX21vdXNlRHJhZzpmdW5jdGlvbihlKXt2YXIgaSxzLG49dGhpcy5vcmlnaW5hbE1vdXNlUG9zaXRpb24sbz10aGlzLmF4aXMsYT1lLnBhZ2VYLW4ubGVmdHx8MCxyPWUucGFnZVktbi50b3B8fDAsaD10aGlzLl9jaGFuZ2Vbb107cmV0dXJuIHRoaXMuX3VwZGF0ZVByZXZQcm9wZXJ0aWVzKCksaD8oaT1oLmFwcGx5KHRoaXMsW2UsYSxyXSksdGhpcy5fdXBkYXRlVmlydHVhbEJvdW5kYXJpZXMoZS5zaGlmdEtleSksKHRoaXMuX2FzcGVjdFJhdGlvfHxlLnNoaWZ0S2V5KSYmKGk9dGhpcy5fdXBkYXRlUmF0aW8oaSxlKSksaT10aGlzLl9yZXNwZWN0U2l6ZShpLGUpLHRoaXMuX3VwZGF0ZUNhY2hlKGkpLHRoaXMuX3Byb3BhZ2F0ZSgicmVzaXplIixlKSxzPXRoaXMuX2FwcGx5Q2hhbmdlcygpLCF0aGlzLl9oZWxwZXImJnRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpLHQuaXNFbXB0eU9iamVjdChzKXx8KHRoaXMuX3VwZGF0ZVByZXZQcm9wZXJ0aWVzKCksdGhpcy5fdHJpZ2dlcigicmVzaXplIixlLHRoaXMudWkoKSksdGhpcy5fYXBwbHlDaGFuZ2VzKCkpLCExKTohMX0sX21vdXNlU3RvcDpmdW5jdGlvbihlKXt0aGlzLnJlc2l6aW5nPSExO3ZhciBpLHMsbixvLGEscixoLGw9dGhpcy5vcHRpb25zLGM9dGhpcztyZXR1cm4gdGhpcy5faGVscGVyJiYoaT10aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLHM9aS5sZW5ndGgmJi90ZXh0YXJlYS9pLnRlc3QoaVswXS5ub2RlTmFtZSksbj1zJiZ0aGlzLl9oYXNTY3JvbGwoaVswXSwibGVmdCIpPzA6Yy5zaXplRGlmZi5oZWlnaHQsbz1zPzA6Yy5zaXplRGlmZi53aWR0aCxhPXt3aWR0aDpjLmhlbHBlci53aWR0aCgpLW8saGVpZ2h0OmMuaGVscGVyLmhlaWdodCgpLW59LHI9cGFyc2VGbG9hdChjLmVsZW1lbnQuY3NzKCJsZWZ0IikpKyhjLnBvc2l0aW9uLmxlZnQtYy5vcmlnaW5hbFBvc2l0aW9uLmxlZnQpfHxudWxsLGg9cGFyc2VGbG9hdChjLmVsZW1lbnQuY3NzKCJ0b3AiKSkrKGMucG9zaXRpb24udG9wLWMub3JpZ2luYWxQb3NpdGlvbi50b3ApfHxudWxsLGwuYW5pbWF0ZXx8dGhpcy5lbGVtZW50LmNzcyh0LmV4dGVuZChhLHt0b3A6aCxsZWZ0OnJ9KSksYy5oZWxwZXIuaGVpZ2h0KGMuc2l6ZS5oZWlnaHQpLGMuaGVscGVyLndpZHRoKGMuc2l6ZS53aWR0aCksdGhpcy5faGVscGVyJiYhbC5hbmltYXRlJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpKSx0KCJib2R5IikuY3NzKCJjdXJzb3IiLCJhdXRvIiksdGhpcy5fcmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZS1yZXNpemluZyIpLHRoaXMuX3Byb3BhZ2F0ZSgic3RvcCIsZSksdGhpcy5faGVscGVyJiZ0aGlzLmhlbHBlci5yZW1vdmUoKSwhMX0sX3VwZGF0ZVByZXZQcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7dGhpcy5wcmV2UG9zaXRpb249e3RvcDp0aGlzLnBvc2l0aW9uLnRvcCxsZWZ0OnRoaXMucG9zaXRpb24ubGVmdH0sdGhpcy5wcmV2U2l6ZT17d2lkdGg6dGhpcy5zaXplLndpZHRoLGhlaWdodDp0aGlzLnNpemUuaGVpZ2h0fX0sX2FwcGx5Q2hhbmdlczpmdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiB0aGlzLnBvc2l0aW9uLnRvcCE9PXRoaXMucHJldlBvc2l0aW9uLnRvcCYmKHQudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCIpLHRoaXMucG9zaXRpb24ubGVmdCE9PXRoaXMucHJldlBvc2l0aW9uLmxlZnQmJih0LmxlZnQ9dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCIpLHRoaXMuc2l6ZS53aWR0aCE9PXRoaXMucHJldlNpemUud2lkdGgmJih0LndpZHRoPXRoaXMuc2l6ZS53aWR0aCsicHgiKSx0aGlzLnNpemUuaGVpZ2h0IT09dGhpcy5wcmV2U2l6ZS5oZWlnaHQmJih0LmhlaWdodD10aGlzLnNpemUuaGVpZ2h0KyJweCIpLHRoaXMuaGVscGVyLmNzcyh0KSx0fSxfdXBkYXRlVmlydHVhbEJvdW5kYXJpZXM6ZnVuY3Rpb24odCl7dmFyIGUsaSxzLG4sbyxhPXRoaXMub3B0aW9ucztvPXttaW5XaWR0aDp0aGlzLl9pc051bWJlcihhLm1pbldpZHRoKT9hLm1pbldpZHRoOjAsbWF4V2lkdGg6dGhpcy5faXNOdW1iZXIoYS5tYXhXaWR0aCk/YS5tYXhXaWR0aDoxLzAsbWluSGVpZ2h0OnRoaXMuX2lzTnVtYmVyKGEubWluSGVpZ2h0KT9hLm1pbkhlaWdodDowLG1heEhlaWdodDp0aGlzLl9pc051bWJlcihhLm1heEhlaWdodCk/YS5tYXhIZWlnaHQ6MS8wfSwodGhpcy5fYXNwZWN0UmF0aW98fHQpJiYoZT1vLm1pbkhlaWdodCp0aGlzLmFzcGVjdFJhdGlvLHM9by5taW5XaWR0aC90aGlzLmFzcGVjdFJhdGlvLGk9by5tYXhIZWlnaHQqdGhpcy5hc3BlY3RSYXRpbyxuPW8ubWF4V2lkdGgvdGhpcy5hc3BlY3RSYXRpbyxlPm8ubWluV2lkdGgmJihvLm1pbldpZHRoPWUpLHM+by5taW5IZWlnaHQmJihvLm1pbkhlaWdodD1zKSxvLm1heFdpZHRoPmkmJihvLm1heFdpZHRoPWkpLG8ubWF4SGVpZ2h0Pm4mJihvLm1heEhlaWdodD1uKSksdGhpcy5fdkJvdW5kYXJpZXM9b30sX3VwZGF0ZUNhY2hlOmZ1bmN0aW9uKHQpe3RoaXMub2Zmc2V0PXRoaXMuaGVscGVyLm9mZnNldCgpLHRoaXMuX2lzTnVtYmVyKHQubGVmdCkmJih0aGlzLnBvc2l0aW9uLmxlZnQ9dC5sZWZ0KSx0aGlzLl9pc051bWJlcih0LnRvcCkmJih0aGlzLnBvc2l0aW9uLnRvcD10LnRvcCksdGhpcy5faXNOdW1iZXIodC5oZWlnaHQpJiYodGhpcy5zaXplLmhlaWdodD10LmhlaWdodCksdGhpcy5faXNOdW1iZXIodC53aWR0aCkmJih0aGlzLnNpemUud2lkdGg9dC53aWR0aCl9LF91cGRhdGVSYXRpbzpmdW5jdGlvbih0KXt2YXIgZT10aGlzLnBvc2l0aW9uLGk9dGhpcy5zaXplLHM9dGhpcy5heGlzO3JldHVybiB0aGlzLl9pc051bWJlcih0LmhlaWdodCk/dC53aWR0aD10LmhlaWdodCp0aGlzLmFzcGVjdFJhdGlvOnRoaXMuX2lzTnVtYmVyKHQud2lkdGgpJiYodC5oZWlnaHQ9dC53aWR0aC90aGlzLmFzcGVjdFJhdGlvKSwic3ciPT09cyYmKHQubGVmdD1lLmxlZnQrKGkud2lkdGgtdC53aWR0aCksdC50b3A9bnVsbCksIm53Ij09PXMmJih0LnRvcD1lLnRvcCsoaS5oZWlnaHQtdC5oZWlnaHQpLHQubGVmdD1lLmxlZnQrKGkud2lkdGgtdC53aWR0aCkpLHR9LF9yZXNwZWN0U2l6ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl92Qm91bmRhcmllcyxpPXRoaXMuYXhpcyxzPXRoaXMuX2lzTnVtYmVyKHQud2lkdGgpJiZlLm1heFdpZHRoJiZlLm1heFdpZHRoPHQud2lkdGgsbj10aGlzLl9pc051bWJlcih0LmhlaWdodCkmJmUubWF4SGVpZ2h0JiZlLm1heEhlaWdodDx0LmhlaWdodCxvPXRoaXMuX2lzTnVtYmVyKHQud2lkdGgpJiZlLm1pbldpZHRoJiZlLm1pbldpZHRoPnQud2lkdGgsYT10aGlzLl9pc051bWJlcih0LmhlaWdodCkmJmUubWluSGVpZ2h0JiZlLm1pbkhlaWdodD50LmhlaWdodCxyPXRoaXMub3JpZ2luYWxQb3NpdGlvbi5sZWZ0K3RoaXMub3JpZ2luYWxTaXplLndpZHRoLGg9dGhpcy5vcmlnaW5hbFBvc2l0aW9uLnRvcCt0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQsbD0vc3d8bnd8dy8udGVzdChpKSxjPS9ud3xuZXxuLy50ZXN0KGkpO3JldHVybiBvJiYodC53aWR0aD1lLm1pbldpZHRoKSxhJiYodC5oZWlnaHQ9ZS5taW5IZWlnaHQpLHMmJih0LndpZHRoPWUubWF4V2lkdGgpLG4mJih0LmhlaWdodD1lLm1heEhlaWdodCksbyYmbCYmKHQubGVmdD1yLWUubWluV2lkdGgpLHMmJmwmJih0LmxlZnQ9ci1lLm1heFdpZHRoKSxhJiZjJiYodC50b3A9aC1lLm1pbkhlaWdodCksbiYmYyYmKHQudG9wPWgtZS5tYXhIZWlnaHQpLHQud2lkdGh8fHQuaGVpZ2h0fHx0LmxlZnR8fCF0LnRvcD90LndpZHRofHx0LmhlaWdodHx8dC50b3B8fCF0LmxlZnR8fCh0LmxlZnQ9bnVsbCk6dC50b3A9bnVsbCx0fSxfZ2V0UGFkZGluZ1BsdXNCb3JkZXJEaW1lbnNpb25zOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLGk9W10scz1bdC5jc3MoImJvcmRlclRvcFdpZHRoIiksdC5jc3MoImJvcmRlclJpZ2h0V2lkdGgiKSx0LmNzcygiYm9yZGVyQm90dG9tV2lkdGgiKSx0LmNzcygiYm9yZGVyTGVmdFdpZHRoIildLG49W3QuY3NzKCJwYWRkaW5nVG9wIiksdC5jc3MoInBhZGRpbmdSaWdodCIpLHQuY3NzKCJwYWRkaW5nQm90dG9tIiksdC5jc3MoInBhZGRpbmdMZWZ0IildOzQ+ZTtlKyspaVtlXT1wYXJzZUZsb2F0KHNbZV0pfHwwLGlbZV0rPXBhcnNlRmxvYXQobltlXSl8fDA7cmV0dXJue2hlaWdodDppWzBdK2lbMl0sd2lkdGg6aVsxXStpWzNdfX0sX3Byb3BvcnRpb25hbGx5UmVzaXplOmZ1bmN0aW9uKCl7aWYodGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGgpZm9yKHZhciB0LGU9MCxpPXRoaXMuaGVscGVyfHx0aGlzLmVsZW1lbnQ7dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGg+ZTtlKyspdD10aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzW2VdLHRoaXMub3V0ZXJEaW1lbnNpb25zfHwodGhpcy5vdXRlckRpbWVuc2lvbnM9dGhpcy5fZ2V0UGFkZGluZ1BsdXNCb3JkZXJEaW1lbnNpb25zKHQpKSx0LmNzcyh7aGVpZ2h0OmkuaGVpZ2h0KCktdGhpcy5vdXRlckRpbWVuc2lvbnMuaGVpZ2h0fHwwLHdpZHRoOmkud2lkdGgoKS10aGlzLm91dGVyRGltZW5zaW9ucy53aWR0aHx8MH0pfSxfcmVuZGVyUHJveHk6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmVsZW1lbnQsaT10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50T2Zmc2V0PWUub2Zmc2V0KCksdGhpcy5faGVscGVyPyh0aGlzLmhlbHBlcj10aGlzLmhlbHBlcnx8dCgiPGRpdiBzdHlsZT0nb3ZlcmZsb3c6aGlkZGVuOyc+PC9kaXY+IiksdGhpcy5fYWRkQ2xhc3ModGhpcy5oZWxwZXIsdGhpcy5faGVscGVyKSx0aGlzLmhlbHBlci5jc3Moe3dpZHRoOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCksaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLHBvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDp0aGlzLmVsZW1lbnRPZmZzZXQubGVmdCsicHgiLHRvcDp0aGlzLmVsZW1lbnRPZmZzZXQudG9wKyJweCIsekluZGV4OisraS56SW5kZXh9KSx0aGlzLmhlbHBlci5hcHBlbmRUbygiYm9keSIpLmRpc2FibGVTZWxlY3Rpb24oKSk6dGhpcy5oZWxwZXI9dGhpcy5lbGVtZW50fSxfY2hhbmdlOntlOmZ1bmN0aW9uKHQsZSl7cmV0dXJue3dpZHRoOnRoaXMub3JpZ2luYWxTaXplLndpZHRoK2V9fSx3OmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5vcmlnaW5hbFNpemUscz10aGlzLm9yaWdpbmFsUG9zaXRpb247cmV0dXJue2xlZnQ6cy5sZWZ0K2Usd2lkdGg6aS53aWR0aC1lfX0sbjpmdW5jdGlvbih0LGUsaSl7dmFyIHM9dGhpcy5vcmlnaW5hbFNpemUsbj10aGlzLm9yaWdpbmFsUG9zaXRpb247cmV0dXJue3RvcDpuLnRvcCtpLGhlaWdodDpzLmhlaWdodC1pfX0sczpmdW5jdGlvbih0LGUsaSl7cmV0dXJue2hlaWdodDp0aGlzLm9yaWdpbmFsU2l6ZS5oZWlnaHQraX19LHNlOmZ1bmN0aW9uKGUsaSxzKXtyZXR1cm4gdC5leHRlbmQodGhpcy5fY2hhbmdlLnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS5lLmFwcGx5KHRoaXMsW2UsaSxzXSkpfSxzdzpmdW5jdGlvbihlLGkscyl7cmV0dXJuIHQuZXh0ZW5kKHRoaXMuX2NoYW5nZS5zLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9jaGFuZ2Uudy5hcHBseSh0aGlzLFtlLGksc10pKX0sbmU6ZnVuY3Rpb24oZSxpLHMpe3JldHVybiB0LmV4dGVuZCh0aGlzLl9jaGFuZ2Uubi5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLmUuYXBwbHkodGhpcyxbZSxpLHNdKSl9LG53OmZ1bmN0aW9uKGUsaSxzKXtyZXR1cm4gdC5leHRlbmQodGhpcy5fY2hhbmdlLm4uYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS53LmFwcGx5KHRoaXMsW2UsaSxzXSkpfX0sX3Byb3BhZ2F0ZTpmdW5jdGlvbihlLGkpe3QudWkucGx1Z2luLmNhbGwodGhpcyxlLFtpLHRoaXMudWkoKV0pLCJyZXNpemUiIT09ZSYmdGhpcy5fdHJpZ2dlcihlLGksdGhpcy51aSgpKX0scGx1Z2luczp7fSx1aTpmdW5jdGlvbigpe3JldHVybntvcmlnaW5hbEVsZW1lbnQ6dGhpcy5vcmlnaW5hbEVsZW1lbnQsZWxlbWVudDp0aGlzLmVsZW1lbnQsaGVscGVyOnRoaXMuaGVscGVyLHBvc2l0aW9uOnRoaXMucG9zaXRpb24sc2l6ZTp0aGlzLnNpemUsb3JpZ2luYWxTaXplOnRoaXMub3JpZ2luYWxTaXplLG9yaWdpbmFsUG9zaXRpb246dGhpcy5vcmlnaW5hbFBvc2l0aW9ufX19KSx0LnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImFuaW1hdGUiLHtzdG9wOmZ1bmN0aW9uKGUpe3ZhciBpPXQodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLHM9aS5vcHRpb25zLG49aS5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cyxvPW4ubGVuZ3RoJiYvdGV4dGFyZWEvaS50ZXN0KG5bMF0ubm9kZU5hbWUpLGE9byYmaS5faGFzU2Nyb2xsKG5bMF0sImxlZnQiKT8wOmkuc2l6ZURpZmYuaGVpZ2h0LHI9bz8wOmkuc2l6ZURpZmYud2lkdGgsaD17d2lkdGg6aS5zaXplLndpZHRoLXIsaGVpZ2h0Omkuc2l6ZS5oZWlnaHQtYX0sbD1wYXJzZUZsb2F0KGkuZWxlbWVudC5jc3MoImxlZnQiKSkrKGkucG9zaXRpb24ubGVmdC1pLm9yaWdpbmFsUG9zaXRpb24ubGVmdCl8fG51bGwsYz1wYXJzZUZsb2F0KGkuZWxlbWVudC5jc3MoInRvcCIpKSsoaS5wb3NpdGlvbi50b3AtaS5vcmlnaW5hbFBvc2l0aW9uLnRvcCl8fG51bGw7aS5lbGVtZW50LmFuaW1hdGUodC5leHRlbmQoaCxjJiZsP3t0b3A6YyxsZWZ0Omx9Ont9KSx7ZHVyYXRpb246cy5hbmltYXRlRHVyYXRpb24sZWFzaW5nOnMuYW5pbWF0ZUVhc2luZyxzdGVwOmZ1bmN0aW9uKCl7dmFyIHM9e3dpZHRoOnBhcnNlRmxvYXQoaS5lbGVtZW50LmNzcygid2lkdGgiKSksaGVpZ2h0OnBhcnNlRmxvYXQoaS5lbGVtZW50LmNzcygiaGVpZ2h0IikpLHRvcDpwYXJzZUZsb2F0KGkuZWxlbWVudC5jc3MoInRvcCIpKSxsZWZ0OnBhcnNlRmxvYXQoaS5lbGVtZW50LmNzcygibGVmdCIpKX07biYmbi5sZW5ndGgmJnQoblswXSkuY3NzKHt3aWR0aDpzLndpZHRoLGhlaWdodDpzLmhlaWdodH0pLGkuX3VwZGF0ZUNhY2hlKHMpLGkuX3Byb3BhZ2F0ZSgicmVzaXplIixlKX19KX19KSx0LnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImNvbnRhaW5tZW50Iix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgZSxpLHMsbixvLGEscixoPXQodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLGw9aC5vcHRpb25zLGM9aC5lbGVtZW50LHU9bC5jb250YWlubWVudCxkPXUgaW5zdGFuY2VvZiB0P3UuZ2V0KDApOi9wYXJlbnQvLnRlc3QodSk/Yy5wYXJlbnQoKS5nZXQoMCk6dTtkJiYoaC5jb250YWluZXJFbGVtZW50PXQoZCksL2RvY3VtZW50Ly50ZXN0KHUpfHx1PT09ZG9jdW1lbnQ/KGguY29udGFpbmVyT2Zmc2V0PXtsZWZ0OjAsdG9wOjB9LGguY29udGFpbmVyUG9zaXRpb249e2xlZnQ6MCx0b3A6MH0saC5wYXJlbnREYXRhPXtlbGVtZW50OnQoZG9jdW1lbnQpLGxlZnQ6MCx0b3A6MCx3aWR0aDp0KGRvY3VtZW50KS53aWR0aCgpLGhlaWdodDp0KGRvY3VtZW50KS5oZWlnaHQoKXx8ZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdodH0pOihlPXQoZCksaT1bXSx0KFsiVG9wIiwiUmlnaHQiLCJMZWZ0IiwiQm90dG9tIl0pLmVhY2goZnVuY3Rpb24odCxzKXtpW3RdPWguX251bShlLmNzcygicGFkZGluZyIrcykpfSksaC5jb250YWluZXJPZmZzZXQ9ZS5vZmZzZXQoKSxoLmNvbnRhaW5lclBvc2l0aW9uPWUucG9zaXRpb24oKSxoLmNvbnRhaW5lclNpemU9e2hlaWdodDplLmlubmVySGVpZ2h0KCktaVszXSx3aWR0aDplLmlubmVyV2lkdGgoKS1pWzFdfSxzPWguY29udGFpbmVyT2Zmc2V0LG49aC5jb250YWluZXJTaXplLmhlaWdodCxvPWguY29udGFpbmVyU2l6ZS53aWR0aCxhPWguX2hhc1Njcm9sbChkLCJsZWZ0Iik/ZC5zY3JvbGxXaWR0aDpvLHI9aC5faGFzU2Nyb2xsKGQpP2Quc2Nyb2xsSGVpZ2h0Om4saC5wYXJlbnREYXRhPXtlbGVtZW50OmQsbGVmdDpzLmxlZnQsdG9wOnMudG9wLHdpZHRoOmEsaGVpZ2h0OnJ9KSl9LHJlc2l6ZTpmdW5jdGlvbihlKXt2YXIgaSxzLG4sbyxhPXQodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLHI9YS5vcHRpb25zLGg9YS5jb250YWluZXJPZmZzZXQsbD1hLnBvc2l0aW9uLGM9YS5fYXNwZWN0UmF0aW98fGUuc2hpZnRLZXksdT17dG9wOjAsbGVmdDowfSxkPWEuY29udGFpbmVyRWxlbWVudCxwPSEwO2RbMF0hPT1kb2N1bWVudCYmL3N0YXRpYy8udGVzdChkLmNzcygicG9zaXRpb24iKSkmJih1PWgpLGwubGVmdDwoYS5faGVscGVyP2gubGVmdDowKSYmKGEuc2l6ZS53aWR0aD1hLnNpemUud2lkdGgrKGEuX2hlbHBlcj9hLnBvc2l0aW9uLmxlZnQtaC5sZWZ0OmEucG9zaXRpb24ubGVmdC11LmxlZnQpLGMmJihhLnNpemUuaGVpZ2h0PWEuc2l6ZS53aWR0aC9hLmFzcGVjdFJhdGlvLHA9ITEpLGEucG9zaXRpb24ubGVmdD1yLmhlbHBlcj9oLmxlZnQ6MCksbC50b3A8KGEuX2hlbHBlcj9oLnRvcDowKSYmKGEuc2l6ZS5oZWlnaHQ9YS5zaXplLmhlaWdodCsoYS5faGVscGVyP2EucG9zaXRpb24udG9wLWgudG9wOmEucG9zaXRpb24udG9wKSxjJiYoYS5zaXplLndpZHRoPWEuc2l6ZS5oZWlnaHQqYS5hc3BlY3RSYXRpbyxwPSExKSxhLnBvc2l0aW9uLnRvcD1hLl9oZWxwZXI/aC50b3A6MCksbj1hLmNvbnRhaW5lckVsZW1lbnQuZ2V0KDApPT09YS5lbGVtZW50LnBhcmVudCgpLmdldCgwKSxvPS9yZWxhdGl2ZXxhYnNvbHV0ZS8udGVzdChhLmNvbnRhaW5lckVsZW1lbnQuY3NzKCJwb3NpdGlvbiIpKSxuJiZvPyhhLm9mZnNldC5sZWZ0PWEucGFyZW50RGF0YS5sZWZ0K2EucG9zaXRpb24ubGVmdCxhLm9mZnNldC50b3A9YS5wYXJlbnREYXRhLnRvcCthLnBvc2l0aW9uLnRvcCk6KGEub2Zmc2V0LmxlZnQ9YS5lbGVtZW50Lm9mZnNldCgpLmxlZnQsYS5vZmZzZXQudG9wPWEuZWxlbWVudC5vZmZzZXQoKS50b3ApLGk9TWF0aC5hYnMoYS5zaXplRGlmZi53aWR0aCsoYS5faGVscGVyP2Eub2Zmc2V0LmxlZnQtdS5sZWZ0OmEub2Zmc2V0LmxlZnQtaC5sZWZ0KSkscz1NYXRoLmFicyhhLnNpemVEaWZmLmhlaWdodCsoYS5faGVscGVyP2Eub2Zmc2V0LnRvcC11LnRvcDphLm9mZnNldC50b3AtaC50b3ApKSxpK2Euc2l6ZS53aWR0aD49YS5wYXJlbnREYXRhLndpZHRoJiYoYS5zaXplLndpZHRoPWEucGFyZW50RGF0YS53aWR0aC1pLGMmJihhLnNpemUuaGVpZ2h0PWEuc2l6ZS53aWR0aC9hLmFzcGVjdFJhdGlvLHA9ITEpKSxzK2Euc2l6ZS5oZWlnaHQ+PWEucGFyZW50RGF0YS5oZWlnaHQmJihhLnNpemUuaGVpZ2h0PWEucGFyZW50RGF0YS5oZWlnaHQtcyxjJiYoYS5zaXplLndpZHRoPWEuc2l6ZS5oZWlnaHQqYS5hc3BlY3RSYXRpbyxwPSExKSkscHx8KGEucG9zaXRpb24ubGVmdD1hLnByZXZQb3NpdGlvbi5sZWZ0LGEucG9zaXRpb24udG9wPWEucHJldlBvc2l0aW9uLnRvcCxhLnNpemUud2lkdGg9YS5wcmV2U2l6ZS53aWR0aCxhLnNpemUuaGVpZ2h0PWEucHJldlNpemUuaGVpZ2h0KX0sc3RvcDpmdW5jdGlvbigpe3ZhciBlPXQodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLGk9ZS5vcHRpb25zLHM9ZS5jb250YWluZXJPZmZzZXQsbj1lLmNvbnRhaW5lclBvc2l0aW9uLG89ZS5jb250YWluZXJFbGVtZW50LGE9dChlLmhlbHBlcikscj1hLm9mZnNldCgpLGg9YS5vdXRlcldpZHRoKCktZS5zaXplRGlmZi53aWR0aCxsPWEub3V0ZXJIZWlnaHQoKS1lLnNpemVEaWZmLmhlaWdodDtlLl9oZWxwZXImJiFpLmFuaW1hdGUmJi9yZWxhdGl2ZS8udGVzdChvLmNzcygicG9zaXRpb24iKSkmJnQodGhpcykuY3NzKHtsZWZ0OnIubGVmdC1uLmxlZnQtcy5sZWZ0LHdpZHRoOmgsaGVpZ2h0Omx9KSxlLl9oZWxwZXImJiFpLmFuaW1hdGUmJi9zdGF0aWMvLnRlc3Qoby5jc3MoInBvc2l0aW9uIikpJiZ0KHRoaXMpLmNzcyh7bGVmdDpyLmxlZnQtbi5sZWZ0LXMubGVmdCx3aWR0aDpoLGhlaWdodDpsfSl9fSksdC51aS5wbHVnaW4uYWRkKCJyZXNpemFibGUiLCJhbHNvUmVzaXplIix7c3RhcnQ6ZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMpLnJlc2l6YWJsZSgiaW5zdGFuY2UiKSxpPWUub3B0aW9uczt0KGkuYWxzb1Jlc2l6ZSkuZWFjaChmdW5jdGlvbigpe3ZhciBlPXQodGhpcyk7ZS5kYXRhKCJ1aS1yZXNpemFibGUtYWxzb3Jlc2l6ZSIse3dpZHRoOnBhcnNlRmxvYXQoZS53aWR0aCgpKSxoZWlnaHQ6cGFyc2VGbG9hdChlLmhlaWdodCgpKSxsZWZ0OnBhcnNlRmxvYXQoZS5jc3MoImxlZnQiKSksdG9wOnBhcnNlRmxvYXQoZS5jc3MoInRvcCIpKX0pfSl9LHJlc2l6ZTpmdW5jdGlvbihlLGkpe3ZhciBzPXQodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLG49cy5vcHRpb25zLG89cy5vcmlnaW5hbFNpemUsYT1zLm9yaWdpbmFsUG9zaXRpb24scj17aGVpZ2h0OnMuc2l6ZS5oZWlnaHQtby5oZWlnaHR8fDAsd2lkdGg6cy5zaXplLndpZHRoLW8ud2lkdGh8fDAsdG9wOnMucG9zaXRpb24udG9wLWEudG9wfHwwLGxlZnQ6cy5wb3NpdGlvbi5sZWZ0LWEubGVmdHx8MH07dChuLmFsc29SZXNpemUpLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMpLHM9dCh0aGlzKS5kYXRhKCJ1aS1yZXNpemFibGUtYWxzb3Jlc2l6ZSIpLG49e30sbz1lLnBhcmVudHMoaS5vcmlnaW5hbEVsZW1lbnRbMF0pLmxlbmd0aD9bIndpZHRoIiwiaGVpZ2h0Il06WyJ3aWR0aCIsImhlaWdodCIsInRvcCIsImxlZnQiXTt0LmVhY2gobyxmdW5jdGlvbih0LGUpe3ZhciBpPShzW2VdfHwwKSsocltlXXx8MCk7aSYmaT49MCYmKG5bZV09aXx8bnVsbCl9KSxlLmNzcyhuKX0pfSxzdG9wOmZ1bmN0aW9uKCl7dCh0aGlzKS5yZW1vdmVEYXRhKCJ1aS1yZXNpemFibGUtYWxzb3Jlc2l6ZSIpfX0pLHQudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiZ2hvc3QiLHtzdGFydDpmdW5jdGlvbigpe3ZhciBlPXQodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLGk9ZS5zaXplO2UuZ2hvc3Q9ZS5vcmlnaW5hbEVsZW1lbnQuY2xvbmUoKSxlLmdob3N0LmNzcyh7b3BhY2l0eTouMjUsZGlzcGxheToiYmxvY2siLHBvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OmkuaGVpZ2h0LHdpZHRoOmkud2lkdGgsbWFyZ2luOjAsbGVmdDowLHRvcDowfSksZS5fYWRkQ2xhc3MoZS5naG9zdCwidWktcmVzaXphYmxlLWdob3N0IiksdC51aUJhY2tDb21wYXQhPT0hMSYmInN0cmluZyI9PXR5cGVvZiBlLm9wdGlvbnMuZ2hvc3QmJmUuZ2hvc3QuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmdob3N0KSxlLmdob3N0LmFwcGVuZFRvKGUuaGVscGVyKX0scmVzaXplOmZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKS5yZXNpemFibGUoImluc3RhbmNlIik7ZS5naG9zdCYmZS5naG9zdC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OmUuc2l6ZS5oZWlnaHQsd2lkdGg6ZS5zaXplLndpZHRofSl9LHN0b3A6ZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMpLnJlc2l6YWJsZSgiaW5zdGFuY2UiKTtlLmdob3N0JiZlLmhlbHBlciYmZS5oZWxwZXIuZ2V0KDApLnJlbW92ZUNoaWxkKGUuZ2hvc3QuZ2V0KDApKX19KSx0LnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImdyaWQiLHtyZXNpemU6ZnVuY3Rpb24oKXt2YXIgZSxpPXQodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLHM9aS5vcHRpb25zLG49aS5zaXplLG89aS5vcmlnaW5hbFNpemUsYT1pLm9yaWdpbmFsUG9zaXRpb24scj1pLmF4aXMsaD0ibnVtYmVyIj09dHlwZW9mIHMuZ3JpZD9bcy5ncmlkLHMuZ3JpZF06cy5ncmlkLGw9aFswXXx8MSxjPWhbMV18fDEsdT1NYXRoLnJvdW5kKChuLndpZHRoLW8ud2lkdGgpL2wpKmwsZD1NYXRoLnJvdW5kKChuLmhlaWdodC1vLmhlaWdodCkvYykqYyxwPW8ud2lkdGgrdSxmPW8uaGVpZ2h0K2QsZz1zLm1heFdpZHRoJiZwPnMubWF4V2lkdGgsbT1zLm1heEhlaWdodCYmZj5zLm1heEhlaWdodCxfPXMubWluV2lkdGgmJnMubWluV2lkdGg+cCx2PXMubWluSGVpZ2h0JiZzLm1pbkhlaWdodD5mO3MuZ3JpZD1oLF8mJihwKz1sKSx2JiYoZis9YyksZyYmKHAtPWwpLG0mJihmLT1jKSwvXihzZXxzfGUpJC8udGVzdChyKT8oaS5zaXplLndpZHRoPXAsaS5zaXplLmhlaWdodD1mKTovXihuZSkkLy50ZXN0KHIpPyhpLnNpemUud2lkdGg9cCxpLnNpemUuaGVpZ2h0PWYsaS5wb3NpdGlvbi50b3A9YS50b3AtZCk6L14oc3cpJC8udGVzdChyKT8oaS5zaXplLndpZHRoPXAsaS5zaXplLmhlaWdodD1mLGkucG9zaXRpb24ubGVmdD1hLmxlZnQtdSk6KCgwPj1mLWN8fDA+PXAtbCkmJihlPWkuX2dldFBhZGRpbmdQbHVzQm9yZGVyRGltZW5zaW9ucyh0aGlzKSksZi1jPjA/KGkuc2l6ZS5oZWlnaHQ9ZixpLnBvc2l0aW9uLnRvcD1hLnRvcC1kKTooZj1jLWUuaGVpZ2h0LGkuc2l6ZS5oZWlnaHQ9ZixpLnBvc2l0aW9uLnRvcD1hLnRvcCtvLmhlaWdodC1mKSxwLWw+MD8oaS5zaXplLndpZHRoPXAsaS5wb3NpdGlvbi5sZWZ0PWEubGVmdC11KToocD1sLWUud2lkdGgsaS5zaXplLndpZHRoPXAsaS5wb3NpdGlvbi5sZWZ0PWEubGVmdCtvLndpZHRoLXApKX19KSx0LnVpLnJlc2l6YWJsZSx0LndpZGdldCgidWkuZGlhbG9nIix7dmVyc2lvbjoiMS4xMi4xIixvcHRpb25zOnthcHBlbmRUbzoiYm9keSIsYXV0b09wZW46ITAsYnV0dG9uczpbXSxjbGFzc2VzOnsidWktZGlhbG9nIjoidWktY29ybmVyLWFsbCIsInVpLWRpYWxvZy10aXRsZWJhciI6InVpLWNvcm5lci1hbGwifSxjbG9zZU9uRXNjYXBlOiEwLGNsb3NlVGV4dDoiQ2xvc2UiLGRyYWdnYWJsZTohMCxoaWRlOm51bGwsaGVpZ2h0OiJhdXRvIixtYXhIZWlnaHQ6bnVsbCxtYXhXaWR0aDpudWxsLG1pbkhlaWdodDoxNTAsbWluV2lkdGg6MTUwLG1vZGFsOiExLHBvc2l0aW9uOntteToiY2VudGVyIixhdDoiY2VudGVyIixvZjp3aW5kb3csY29sbGlzaW9uOiJmaXQiLHVzaW5nOmZ1bmN0aW9uKGUpe3ZhciBpPXQodGhpcykuY3NzKGUpLm9mZnNldCgpLnRvcDswPmkmJnQodGhpcykuY3NzKCJ0b3AiLGUudG9wLWkpfX0scmVzaXphYmxlOiEwLHNob3c6bnVsbCx0aXRsZTpudWxsLHdpZHRoOjMwMCxiZWZvcmVDbG9zZTpudWxsLGNsb3NlOm51bGwsZHJhZzpudWxsLGRyYWdTdGFydDpudWxsLGRyYWdTdG9wOm51bGwsZm9jdXM6bnVsbCxvcGVuOm51bGwscmVzaXplOm51bGwscmVzaXplU3RhcnQ6bnVsbCxyZXNpemVTdG9wOm51bGx9LHNpemVSZWxhdGVkT3B0aW9uczp7YnV0dG9uczohMCxoZWlnaHQ6ITAsbWF4SGVpZ2h0OiEwLG1heFdpZHRoOiEwLG1pbkhlaWdodDohMCxtaW5XaWR0aDohMCx3aWR0aDohMH0scmVzaXphYmxlUmVsYXRlZE9wdGlvbnM6e21heEhlaWdodDohMCxtYXhXaWR0aDohMCxtaW5IZWlnaHQ6ITAsbWluV2lkdGg6ITB9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLm9yaWdpbmFsQ3NzPXtkaXNwbGF5OnRoaXMuZWxlbWVudFswXS5zdHlsZS5kaXNwbGF5LHdpZHRoOnRoaXMuZWxlbWVudFswXS5zdHlsZS53aWR0aCxtaW5IZWlnaHQ6dGhpcy5lbGVtZW50WzBdLnN0eWxlLm1pbkhlaWdodCxtYXhIZWlnaHQ6dGhpcy5lbGVtZW50WzBdLnN0eWxlLm1heEhlaWdodCxoZWlnaHQ6dGhpcy5lbGVtZW50WzBdLnN0eWxlLmhlaWdodH0sdGhpcy5vcmlnaW5hbFBvc2l0aW9uPXtwYXJlbnQ6dGhpcy5lbGVtZW50LnBhcmVudCgpLGluZGV4OnRoaXMuZWxlbWVudC5wYXJlbnQoKS5jaGlsZHJlbigpLmluZGV4KHRoaXMuZWxlbWVudCl9LHRoaXMub3JpZ2luYWxUaXRsZT10aGlzLmVsZW1lbnQuYXR0cigidGl0bGUiKSxudWxsPT10aGlzLm9wdGlvbnMudGl0bGUmJm51bGwhPXRoaXMub3JpZ2luYWxUaXRsZSYmKHRoaXMub3B0aW9ucy50aXRsZT10aGlzLm9yaWdpbmFsVGl0bGUpLHRoaXMub3B0aW9ucy5kaXNhYmxlZCYmKHRoaXMub3B0aW9ucy5kaXNhYmxlZD0hMSksdGhpcy5fY3JlYXRlV3JhcHBlcigpLHRoaXMuZWxlbWVudC5zaG93KCkucmVtb3ZlQXR0cigidGl0bGUiKS5hcHBlbmRUbyh0aGlzLnVpRGlhbG9nKSx0aGlzLl9hZGRDbGFzcygidWktZGlhbG9nLWNvbnRlbnQiLCJ1aS13aWRnZXQtY29udGVudCIpLHRoaXMuX2NyZWF0ZVRpdGxlYmFyKCksdGhpcy5fY3JlYXRlQnV0dG9uUGFuZSgpLHRoaXMub3B0aW9ucy5kcmFnZ2FibGUmJnQuZm4uZHJhZ2dhYmxlJiZ0aGlzLl9tYWtlRHJhZ2dhYmxlKCksdGhpcy5vcHRpb25zLnJlc2l6YWJsZSYmdC5mbi5yZXNpemFibGUmJnRoaXMuX21ha2VSZXNpemFibGUoKSx0aGlzLl9pc09wZW49ITEsdGhpcy5fdHJhY2tGb2N1cygpfSxfaW5pdDpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5hdXRvT3BlbiYmdGhpcy5vcGVuKCl9LF9hcHBlbmRUbzpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3B0aW9ucy5hcHBlbmRUbztyZXR1cm4gZSYmKGUuanF1ZXJ5fHxlLm5vZGVUeXBlKT90KGUpOnRoaXMuZG9jdW1lbnQuZmluZChlfHwiYm9keSIpLmVxKDApfSxfZGVzdHJveTpmdW5jdGlvbigpe3ZhciB0LGU9dGhpcy5vcmlnaW5hbFBvc2l0aW9uO3RoaXMuX3VudHJhY2tJbnN0YW5jZSgpLHRoaXMuX2Rlc3Ryb3lPdmVybGF5KCksdGhpcy5lbGVtZW50LnJlbW92ZVVuaXF1ZUlkKCkuY3NzKHRoaXMub3JpZ2luYWxDc3MpLmRldGFjaCgpLHRoaXMudWlEaWFsb2cucmVtb3ZlKCksdGhpcy5vcmlnaW5hbFRpdGxlJiZ0aGlzLmVsZW1lbnQuYXR0cigidGl0bGUiLHRoaXMub3JpZ2luYWxUaXRsZSksdD1lLnBhcmVudC5jaGlsZHJlbigpLmVxKGUuaW5kZXgpLHQubGVuZ3RoJiZ0WzBdIT09dGhpcy5lbGVtZW50WzBdP3QuYmVmb3JlKHRoaXMuZWxlbWVudCk6ZS5wYXJlbnQuYXBwZW5kKHRoaXMuZWxlbWVudCl9LHdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVpRGlhbG9nCn0sZGlzYWJsZTp0Lm5vb3AsZW5hYmxlOnQubm9vcCxjbG9zZTpmdW5jdGlvbihlKXt2YXIgaT10aGlzO3RoaXMuX2lzT3BlbiYmdGhpcy5fdHJpZ2dlcigiYmVmb3JlQ2xvc2UiLGUpIT09ITEmJih0aGlzLl9pc09wZW49ITEsdGhpcy5fZm9jdXNlZEVsZW1lbnQ9bnVsbCx0aGlzLl9kZXN0cm95T3ZlcmxheSgpLHRoaXMuX3VudHJhY2tJbnN0YW5jZSgpLHRoaXMub3BlbmVyLmZpbHRlcigiOmZvY3VzYWJsZSIpLnRyaWdnZXIoImZvY3VzIikubGVuZ3RofHx0LnVpLnNhZmVCbHVyKHQudWkuc2FmZUFjdGl2ZUVsZW1lbnQodGhpcy5kb2N1bWVudFswXSkpLHRoaXMuX2hpZGUodGhpcy51aURpYWxvZyx0aGlzLm9wdGlvbnMuaGlkZSxmdW5jdGlvbigpe2kuX3RyaWdnZXIoImNsb3NlIixlKX0pKX0saXNPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzT3Blbn0sbW92ZVRvVG9wOmZ1bmN0aW9uKCl7dGhpcy5fbW92ZVRvVG9wKCl9LF9tb3ZlVG9Ub3A6ZnVuY3Rpb24oZSxpKXt2YXIgcz0hMSxuPXRoaXMudWlEaWFsb2cuc2libGluZ3MoIi51aS1mcm9udDp2aXNpYmxlIikubWFwKGZ1bmN0aW9uKCl7cmV0dXJuK3QodGhpcykuY3NzKCJ6LWluZGV4Iil9KS5nZXQoKSxvPU1hdGgubWF4LmFwcGx5KG51bGwsbik7cmV0dXJuIG8+PSt0aGlzLnVpRGlhbG9nLmNzcygiei1pbmRleCIpJiYodGhpcy51aURpYWxvZy5jc3MoInotaW5kZXgiLG8rMSkscz0hMCkscyYmIWkmJnRoaXMuX3RyaWdnZXIoImZvY3VzIixlKSxzfSxvcGVuOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5faXNPcGVuPyh0aGlzLl9tb3ZlVG9Ub3AoKSYmdGhpcy5fZm9jdXNUYWJiYWJsZSgpLHZvaWQgMCk6KHRoaXMuX2lzT3Blbj0hMCx0aGlzLm9wZW5lcj10KHQudWkuc2FmZUFjdGl2ZUVsZW1lbnQodGhpcy5kb2N1bWVudFswXSkpLHRoaXMuX3NpemUoKSx0aGlzLl9wb3NpdGlvbigpLHRoaXMuX2NyZWF0ZU92ZXJsYXkoKSx0aGlzLl9tb3ZlVG9Ub3AobnVsbCwhMCksdGhpcy5vdmVybGF5JiZ0aGlzLm92ZXJsYXkuY3NzKCJ6LWluZGV4Iix0aGlzLnVpRGlhbG9nLmNzcygiei1pbmRleCIpLTEpLHRoaXMuX3Nob3codGhpcy51aURpYWxvZyx0aGlzLm9wdGlvbnMuc2hvdyxmdW5jdGlvbigpe2UuX2ZvY3VzVGFiYmFibGUoKSxlLl90cmlnZ2VyKCJmb2N1cyIpfSksdGhpcy5fbWFrZUZvY3VzVGFyZ2V0KCksdGhpcy5fdHJpZ2dlcigib3BlbiIpLHZvaWQgMCl9LF9mb2N1c1RhYmJhYmxlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZm9jdXNlZEVsZW1lbnQ7dHx8KHQ9dGhpcy5lbGVtZW50LmZpbmQoIlthdXRvZm9jdXNdIikpLHQubGVuZ3RofHwodD10aGlzLmVsZW1lbnQuZmluZCgiOnRhYmJhYmxlIikpLHQubGVuZ3RofHwodD10aGlzLnVpRGlhbG9nQnV0dG9uUGFuZS5maW5kKCI6dGFiYmFibGUiKSksdC5sZW5ndGh8fCh0PXRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlLmZpbHRlcigiOnRhYmJhYmxlIikpLHQubGVuZ3RofHwodD10aGlzLnVpRGlhbG9nKSx0LmVxKDApLnRyaWdnZXIoImZvY3VzIil9LF9rZWVwRm9jdXM6ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gaSgpe3ZhciBlPXQudWkuc2FmZUFjdGl2ZUVsZW1lbnQodGhpcy5kb2N1bWVudFswXSksaT10aGlzLnVpRGlhbG9nWzBdPT09ZXx8dC5jb250YWlucyh0aGlzLnVpRGlhbG9nWzBdLGUpO2l8fHRoaXMuX2ZvY3VzVGFiYmFibGUoKX1lLnByZXZlbnREZWZhdWx0KCksaS5jYWxsKHRoaXMpLHRoaXMuX2RlbGF5KGkpfSxfY3JlYXRlV3JhcHBlcjpmdW5jdGlvbigpe3RoaXMudWlEaWFsb2c9dCgiPGRpdj4iKS5oaWRlKCkuYXR0cih7dGFiSW5kZXg6LTEscm9sZToiZGlhbG9nIn0pLmFwcGVuZFRvKHRoaXMuX2FwcGVuZFRvKCkpLHRoaXMuX2FkZENsYXNzKHRoaXMudWlEaWFsb2csInVpLWRpYWxvZyIsInVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1mcm9udCIpLHRoaXMuX29uKHRoaXMudWlEaWFsb2cse2tleWRvd246ZnVuY3Rpb24oZSl7aWYodGhpcy5vcHRpb25zLmNsb3NlT25Fc2NhcGUmJiFlLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZlLmtleUNvZGUmJmUua2V5Q29kZT09PXQudWkua2V5Q29kZS5FU0NBUEUpcmV0dXJuIGUucHJldmVudERlZmF1bHQoKSx0aGlzLmNsb3NlKGUpLHZvaWQgMDtpZihlLmtleUNvZGU9PT10LnVpLmtleUNvZGUuVEFCJiYhZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGk9dGhpcy51aURpYWxvZy5maW5kKCI6dGFiYmFibGUiKSxzPWkuZmlsdGVyKCI6Zmlyc3QiKSxuPWkuZmlsdGVyKCI6bGFzdCIpO2UudGFyZ2V0IT09blswXSYmZS50YXJnZXQhPT10aGlzLnVpRGlhbG9nWzBdfHxlLnNoaWZ0S2V5P2UudGFyZ2V0IT09c1swXSYmZS50YXJnZXQhPT10aGlzLnVpRGlhbG9nWzBdfHwhZS5zaGlmdEtleXx8KHRoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7bi50cmlnZ2VyKCJmb2N1cyIpfSksZS5wcmV2ZW50RGVmYXVsdCgpKToodGhpcy5fZGVsYXkoZnVuY3Rpb24oKXtzLnRyaWdnZXIoImZvY3VzIil9KSxlLnByZXZlbnREZWZhdWx0KCkpfX0sbW91c2Vkb3duOmZ1bmN0aW9uKHQpe3RoaXMuX21vdmVUb1RvcCh0KSYmdGhpcy5fZm9jdXNUYWJiYWJsZSgpfX0pLHRoaXMuZWxlbWVudC5maW5kKCJbYXJpYS1kZXNjcmliZWRieV0iKS5sZW5ndGh8fHRoaXMudWlEaWFsb2cuYXR0cih7ImFyaWEtZGVzY3JpYmVkYnkiOnRoaXMuZWxlbWVudC51bmlxdWVJZCgpLmF0dHIoImlkIil9KX0sX2NyZWF0ZVRpdGxlYmFyOmZ1bmN0aW9uKCl7dmFyIGU7dGhpcy51aURpYWxvZ1RpdGxlYmFyPXQoIjxkaXY+IiksdGhpcy5fYWRkQ2xhc3ModGhpcy51aURpYWxvZ1RpdGxlYmFyLCJ1aS1kaWFsb2ctdGl0bGViYXIiLCJ1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCIpLHRoaXMuX29uKHRoaXMudWlEaWFsb2dUaXRsZWJhcix7bW91c2Vkb3duOmZ1bmN0aW9uKGUpe3QoZS50YXJnZXQpLmNsb3Nlc3QoIi51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UiKXx8dGhpcy51aURpYWxvZy50cmlnZ2VyKCJmb2N1cyIpfX0pLHRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlPXQoIjxidXR0b24gdHlwZT0nYnV0dG9uJz48L2J1dHRvbj4iKS5idXR0b24oe2xhYmVsOnQoIjxhPiIpLnRleHQodGhpcy5vcHRpb25zLmNsb3NlVGV4dCkuaHRtbCgpLGljb246InVpLWljb24tY2xvc2V0aGljayIsc2hvd0xhYmVsOiExfSkuYXBwZW5kVG8odGhpcy51aURpYWxvZ1RpdGxlYmFyKSx0aGlzLl9hZGRDbGFzcyh0aGlzLnVpRGlhbG9nVGl0bGViYXJDbG9zZSwidWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIiksdGhpcy5fb24odGhpcy51aURpYWxvZ1RpdGxlYmFyQ2xvc2Use2NsaWNrOmZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSx0aGlzLmNsb3NlKHQpfX0pLGU9dCgiPHNwYW4+IikudW5pcXVlSWQoKS5wcmVwZW5kVG8odGhpcy51aURpYWxvZ1RpdGxlYmFyKSx0aGlzLl9hZGRDbGFzcyhlLCJ1aS1kaWFsb2ctdGl0bGUiKSx0aGlzLl90aXRsZShlKSx0aGlzLnVpRGlhbG9nVGl0bGViYXIucHJlcGVuZFRvKHRoaXMudWlEaWFsb2cpLHRoaXMudWlEaWFsb2cuYXR0cih7ImFyaWEtbGFiZWxsZWRieSI6ZS5hdHRyKCJpZCIpfSl9LF90aXRsZTpmdW5jdGlvbih0KXt0aGlzLm9wdGlvbnMudGl0bGU/dC50ZXh0KHRoaXMub3B0aW9ucy50aXRsZSk6dC5odG1sKCImIzE2MDsiKX0sX2NyZWF0ZUJ1dHRvblBhbmU6ZnVuY3Rpb24oKXt0aGlzLnVpRGlhbG9nQnV0dG9uUGFuZT10KCI8ZGl2PiIpLHRoaXMuX2FkZENsYXNzKHRoaXMudWlEaWFsb2dCdXR0b25QYW5lLCJ1aS1kaWFsb2ctYnV0dG9ucGFuZSIsInVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCIpLHRoaXMudWlCdXR0b25TZXQ9dCgiPGRpdj4iKS5hcHBlbmRUbyh0aGlzLnVpRGlhbG9nQnV0dG9uUGFuZSksdGhpcy5fYWRkQ2xhc3ModGhpcy51aUJ1dHRvblNldCwidWktZGlhbG9nLWJ1dHRvbnNldCIpLHRoaXMuX2NyZWF0ZUJ1dHRvbnMoKX0sX2NyZWF0ZUJ1dHRvbnM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLGk9dGhpcy5vcHRpb25zLmJ1dHRvbnM7cmV0dXJuIHRoaXMudWlEaWFsb2dCdXR0b25QYW5lLnJlbW92ZSgpLHRoaXMudWlCdXR0b25TZXQuZW1wdHkoKSx0LmlzRW1wdHlPYmplY3QoaSl8fHQuaXNBcnJheShpKSYmIWkubGVuZ3RoPyh0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLnVpRGlhbG9nLCJ1aS1kaWFsb2ctYnV0dG9ucyIpLHZvaWQgMCk6KHQuZWFjaChpLGZ1bmN0aW9uKGkscyl7dmFyIG4sbztzPXQuaXNGdW5jdGlvbihzKT97Y2xpY2s6cyx0ZXh0Oml9OnMscz10LmV4dGVuZCh7dHlwZToiYnV0dG9uIn0scyksbj1zLmNsaWNrLG89e2ljb246cy5pY29uLGljb25Qb3NpdGlvbjpzLmljb25Qb3NpdGlvbixzaG93TGFiZWw6cy5zaG93TGFiZWwsaWNvbnM6cy5pY29ucyx0ZXh0OnMudGV4dH0sZGVsZXRlIHMuY2xpY2ssZGVsZXRlIHMuaWNvbixkZWxldGUgcy5pY29uUG9zaXRpb24sZGVsZXRlIHMuc2hvd0xhYmVsLGRlbGV0ZSBzLmljb25zLCJib29sZWFuIj09dHlwZW9mIHMudGV4dCYmZGVsZXRlIHMudGV4dCx0KCI8YnV0dG9uPjwvYnV0dG9uPiIscykuYnV0dG9uKG8pLmFwcGVuZFRvKGUudWlCdXR0b25TZXQpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtuLmFwcGx5KGUuZWxlbWVudFswXSxhcmd1bWVudHMpfSl9KSx0aGlzLl9hZGRDbGFzcyh0aGlzLnVpRGlhbG9nLCJ1aS1kaWFsb2ctYnV0dG9ucyIpLHRoaXMudWlEaWFsb2dCdXR0b25QYW5lLmFwcGVuZFRvKHRoaXMudWlEaWFsb2cpLHZvaWQgMCl9LF9tYWtlRHJhZ2dhYmxlOmZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXtyZXR1cm57cG9zaXRpb246dC5wb3NpdGlvbixvZmZzZXQ6dC5vZmZzZXR9fXZhciBpPXRoaXMscz10aGlzLm9wdGlvbnM7dGhpcy51aURpYWxvZy5kcmFnZ2FibGUoe2NhbmNlbDoiLnVpLWRpYWxvZy1jb250ZW50LCAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIixoYW5kbGU6Ii51aS1kaWFsb2ctdGl0bGViYXIiLGNvbnRhaW5tZW50OiJkb2N1bWVudCIsc3RhcnQ6ZnVuY3Rpb24ocyxuKXtpLl9hZGRDbGFzcyh0KHRoaXMpLCJ1aS1kaWFsb2ctZHJhZ2dpbmciKSxpLl9ibG9ja0ZyYW1lcygpLGkuX3RyaWdnZXIoImRyYWdTdGFydCIscyxlKG4pKX0sZHJhZzpmdW5jdGlvbih0LHMpe2kuX3RyaWdnZXIoImRyYWciLHQsZShzKSl9LHN0b3A6ZnVuY3Rpb24obixvKXt2YXIgYT1vLm9mZnNldC5sZWZ0LWkuZG9jdW1lbnQuc2Nyb2xsTGVmdCgpLHI9by5vZmZzZXQudG9wLWkuZG9jdW1lbnQuc2Nyb2xsVG9wKCk7cy5wb3NpdGlvbj17bXk6ImxlZnQgdG9wIixhdDoibGVmdCIrKGE+PTA/IisiOiIiKSthKyIgIisidG9wIisocj49MD8iKyI6IiIpK3Isb2Y6aS53aW5kb3d9LGkuX3JlbW92ZUNsYXNzKHQodGhpcyksInVpLWRpYWxvZy1kcmFnZ2luZyIpLGkuX3VuYmxvY2tGcmFtZXMoKSxpLl90cmlnZ2VyKCJkcmFnU3RvcCIsbixlKG8pKX19KX0sX21ha2VSZXNpemFibGU6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe3JldHVybntvcmlnaW5hbFBvc2l0aW9uOnQub3JpZ2luYWxQb3NpdGlvbixvcmlnaW5hbFNpemU6dC5vcmlnaW5hbFNpemUscG9zaXRpb246dC5wb3NpdGlvbixzaXplOnQuc2l6ZX19dmFyIGk9dGhpcyxzPXRoaXMub3B0aW9ucyxuPXMucmVzaXphYmxlLG89dGhpcy51aURpYWxvZy5jc3MoInBvc2l0aW9uIiksYT0ic3RyaW5nIj09dHlwZW9mIG4/bjoibixlLHMsdyxzZSxzdyxuZSxudyI7dGhpcy51aURpYWxvZy5yZXNpemFibGUoe2NhbmNlbDoiLnVpLWRpYWxvZy1jb250ZW50Iixjb250YWlubWVudDoiZG9jdW1lbnQiLGFsc29SZXNpemU6dGhpcy5lbGVtZW50LG1heFdpZHRoOnMubWF4V2lkdGgsbWF4SGVpZ2h0OnMubWF4SGVpZ2h0LG1pbldpZHRoOnMubWluV2lkdGgsbWluSGVpZ2h0OnRoaXMuX21pbkhlaWdodCgpLGhhbmRsZXM6YSxzdGFydDpmdW5jdGlvbihzLG4pe2kuX2FkZENsYXNzKHQodGhpcyksInVpLWRpYWxvZy1yZXNpemluZyIpLGkuX2Jsb2NrRnJhbWVzKCksaS5fdHJpZ2dlcigicmVzaXplU3RhcnQiLHMsZShuKSl9LHJlc2l6ZTpmdW5jdGlvbih0LHMpe2kuX3RyaWdnZXIoInJlc2l6ZSIsdCxlKHMpKX0sc3RvcDpmdW5jdGlvbihuLG8pe3ZhciBhPWkudWlEaWFsb2cub2Zmc2V0KCkscj1hLmxlZnQtaS5kb2N1bWVudC5zY3JvbGxMZWZ0KCksaD1hLnRvcC1pLmRvY3VtZW50LnNjcm9sbFRvcCgpO3MuaGVpZ2h0PWkudWlEaWFsb2cuaGVpZ2h0KCkscy53aWR0aD1pLnVpRGlhbG9nLndpZHRoKCkscy5wb3NpdGlvbj17bXk6ImxlZnQgdG9wIixhdDoibGVmdCIrKHI+PTA/IisiOiIiKStyKyIgIisidG9wIisoaD49MD8iKyI6IiIpK2gsb2Y6aS53aW5kb3d9LGkuX3JlbW92ZUNsYXNzKHQodGhpcyksInVpLWRpYWxvZy1yZXNpemluZyIpLGkuX3VuYmxvY2tGcmFtZXMoKSxpLl90cmlnZ2VyKCJyZXNpemVTdG9wIixuLGUobykpfX0pLmNzcygicG9zaXRpb24iLG8pfSxfdHJhY2tGb2N1czpmdW5jdGlvbigpe3RoaXMuX29uKHRoaXMud2lkZ2V0KCkse2ZvY3VzaW46ZnVuY3Rpb24oZSl7dGhpcy5fbWFrZUZvY3VzVGFyZ2V0KCksdGhpcy5fZm9jdXNlZEVsZW1lbnQ9dChlLnRhcmdldCl9fSl9LF9tYWtlRm9jdXNUYXJnZXQ6ZnVuY3Rpb24oKXt0aGlzLl91bnRyYWNrSW5zdGFuY2UoKSx0aGlzLl90cmFja2luZ0luc3RhbmNlcygpLnVuc2hpZnQodGhpcyl9LF91bnRyYWNrSW5zdGFuY2U6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl90cmFja2luZ0luc3RhbmNlcygpLGk9dC5pbkFycmF5KHRoaXMsZSk7LTEhPT1pJiZlLnNwbGljZShpLDEpfSxfdHJhY2tpbmdJbnN0YW5jZXM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmRvY3VtZW50LmRhdGEoInVpLWRpYWxvZy1pbnN0YW5jZXMiKTtyZXR1cm4gdHx8KHQ9W10sdGhpcy5kb2N1bWVudC5kYXRhKCJ1aS1kaWFsb2ctaW5zdGFuY2VzIix0KSksdH0sX21pbkhlaWdodDpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucztyZXR1cm4iYXV0byI9PT10LmhlaWdodD90Lm1pbkhlaWdodDpNYXRoLm1pbih0Lm1pbkhlaWdodCx0LmhlaWdodCl9LF9wb3NpdGlvbjpmdW5jdGlvbigpe3ZhciB0PXRoaXMudWlEaWFsb2cuaXMoIjp2aXNpYmxlIik7dHx8dGhpcy51aURpYWxvZy5zaG93KCksdGhpcy51aURpYWxvZy5wb3NpdGlvbih0aGlzLm9wdGlvbnMucG9zaXRpb24pLHR8fHRoaXMudWlEaWFsb2cuaGlkZSgpfSxfc2V0T3B0aW9uczpmdW5jdGlvbihlKXt2YXIgaT10aGlzLHM9ITEsbj17fTt0LmVhY2goZSxmdW5jdGlvbih0LGUpe2kuX3NldE9wdGlvbih0LGUpLHQgaW4gaS5zaXplUmVsYXRlZE9wdGlvbnMmJihzPSEwKSx0IGluIGkucmVzaXphYmxlUmVsYXRlZE9wdGlvbnMmJihuW3RdPWUpfSkscyYmKHRoaXMuX3NpemUoKSx0aGlzLl9wb3NpdGlvbigpKSx0aGlzLnVpRGlhbG9nLmlzKCI6ZGF0YSh1aS1yZXNpemFibGUpIikmJnRoaXMudWlEaWFsb2cucmVzaXphYmxlKCJvcHRpb24iLG4pfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGUsaSl7dmFyIHMsbixvPXRoaXMudWlEaWFsb2c7ImRpc2FibGVkIiE9PWUmJih0aGlzLl9zdXBlcihlLGkpLCJhcHBlbmRUbyI9PT1lJiZ0aGlzLnVpRGlhbG9nLmFwcGVuZFRvKHRoaXMuX2FwcGVuZFRvKCkpLCJidXR0b25zIj09PWUmJnRoaXMuX2NyZWF0ZUJ1dHRvbnMoKSwiY2xvc2VUZXh0Ij09PWUmJnRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlLmJ1dHRvbih7bGFiZWw6dCgiPGE+IikudGV4dCgiIit0aGlzLm9wdGlvbnMuY2xvc2VUZXh0KS5odG1sKCl9KSwiZHJhZ2dhYmxlIj09PWUmJihzPW8uaXMoIjpkYXRhKHVpLWRyYWdnYWJsZSkiKSxzJiYhaSYmby5kcmFnZ2FibGUoImRlc3Ryb3kiKSwhcyYmaSYmdGhpcy5fbWFrZURyYWdnYWJsZSgpKSwicG9zaXRpb24iPT09ZSYmdGhpcy5fcG9zaXRpb24oKSwicmVzaXphYmxlIj09PWUmJihuPW8uaXMoIjpkYXRhKHVpLXJlc2l6YWJsZSkiKSxuJiYhaSYmby5yZXNpemFibGUoImRlc3Ryb3kiKSxuJiYic3RyaW5nIj09dHlwZW9mIGkmJm8ucmVzaXphYmxlKCJvcHRpb24iLCJoYW5kbGVzIixpKSxufHxpPT09ITF8fHRoaXMuX21ha2VSZXNpemFibGUoKSksInRpdGxlIj09PWUmJnRoaXMuX3RpdGxlKHRoaXMudWlEaWFsb2dUaXRsZWJhci5maW5kKCIudWktZGlhbG9nLXRpdGxlIikpKX0sX3NpemU6ZnVuY3Rpb24oKXt2YXIgdCxlLGkscz10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50LnNob3coKS5jc3Moe3dpZHRoOiJhdXRvIixtaW5IZWlnaHQ6MCxtYXhIZWlnaHQ6Im5vbmUiLGhlaWdodDowfSkscy5taW5XaWR0aD5zLndpZHRoJiYocy53aWR0aD1zLm1pbldpZHRoKSx0PXRoaXMudWlEaWFsb2cuY3NzKHtoZWlnaHQ6ImF1dG8iLHdpZHRoOnMud2lkdGh9KS5vdXRlckhlaWdodCgpLGU9TWF0aC5tYXgoMCxzLm1pbkhlaWdodC10KSxpPSJudW1iZXIiPT10eXBlb2Ygcy5tYXhIZWlnaHQ/TWF0aC5tYXgoMCxzLm1heEhlaWdodC10KToibm9uZSIsImF1dG8iPT09cy5oZWlnaHQ/dGhpcy5lbGVtZW50LmNzcyh7bWluSGVpZ2h0OmUsbWF4SGVpZ2h0OmksaGVpZ2h0OiJhdXRvIn0pOnRoaXMuZWxlbWVudC5oZWlnaHQoTWF0aC5tYXgoMCxzLmhlaWdodC10KSksdGhpcy51aURpYWxvZy5pcygiOmRhdGEodWktcmVzaXphYmxlKSIpJiZ0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSgib3B0aW9uIiwibWluSGVpZ2h0Iix0aGlzLl9taW5IZWlnaHQoKSl9LF9ibG9ja0ZyYW1lczpmdW5jdGlvbigpe3RoaXMuaWZyYW1lQmxvY2tzPXRoaXMuZG9jdW1lbnQuZmluZCgiaWZyYW1lIikubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTtyZXR1cm4gdCgiPGRpdj4iKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsd2lkdGg6ZS5vdXRlcldpZHRoKCksaGVpZ2h0OmUub3V0ZXJIZWlnaHQoKX0pLmFwcGVuZFRvKGUucGFyZW50KCkpLm9mZnNldChlLm9mZnNldCgpKVswXX0pfSxfdW5ibG9ja0ZyYW1lczpmdW5jdGlvbigpe3RoaXMuaWZyYW1lQmxvY2tzJiYodGhpcy5pZnJhbWVCbG9ja3MucmVtb3ZlKCksZGVsZXRlIHRoaXMuaWZyYW1lQmxvY2tzKX0sX2FsbG93SW50ZXJhY3Rpb246ZnVuY3Rpb24oZSl7cmV0dXJuIHQoZS50YXJnZXQpLmNsb3Nlc3QoIi51aS1kaWFsb2ciKS5sZW5ndGg/ITA6ISF0KGUudGFyZ2V0KS5jbG9zZXN0KCIudWktZGF0ZXBpY2tlciIpLmxlbmd0aH0sX2NyZWF0ZU92ZXJsYXk6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMubW9kYWwpe3ZhciBlPSEwO3RoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7ZT0hMX0pLHRoaXMuZG9jdW1lbnQuZGF0YSgidWktZGlhbG9nLW92ZXJsYXlzIil8fHRoaXMuX29uKHRoaXMuZG9jdW1lbnQse2ZvY3VzaW46ZnVuY3Rpb24odCl7ZXx8dGhpcy5fYWxsb3dJbnRlcmFjdGlvbih0KXx8KHQucHJldmVudERlZmF1bHQoKSx0aGlzLl90cmFja2luZ0luc3RhbmNlcygpWzBdLl9mb2N1c1RhYmJhYmxlKCkpfX0pLHRoaXMub3ZlcmxheT10KCI8ZGl2PiIpLmFwcGVuZFRvKHRoaXMuX2FwcGVuZFRvKCkpLHRoaXMuX2FkZENsYXNzKHRoaXMub3ZlcmxheSxudWxsLCJ1aS13aWRnZXQtb3ZlcmxheSB1aS1mcm9udCIpLHRoaXMuX29uKHRoaXMub3ZlcmxheSx7bW91c2Vkb3duOiJfa2VlcEZvY3VzIn0pLHRoaXMuZG9jdW1lbnQuZGF0YSgidWktZGlhbG9nLW92ZXJsYXlzIiwodGhpcy5kb2N1bWVudC5kYXRhKCJ1aS1kaWFsb2ctb3ZlcmxheXMiKXx8MCkrMSl9fSxfZGVzdHJveU92ZXJsYXk6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMubW9kYWwmJnRoaXMub3ZlcmxheSl7dmFyIHQ9dGhpcy5kb2N1bWVudC5kYXRhKCJ1aS1kaWFsb2ctb3ZlcmxheXMiKS0xO3Q/dGhpcy5kb2N1bWVudC5kYXRhKCJ1aS1kaWFsb2ctb3ZlcmxheXMiLHQpOih0aGlzLl9vZmYodGhpcy5kb2N1bWVudCwiZm9jdXNpbiIpLHRoaXMuZG9jdW1lbnQucmVtb3ZlRGF0YSgidWktZGlhbG9nLW92ZXJsYXlzIikpLHRoaXMub3ZlcmxheS5yZW1vdmUoKSx0aGlzLm92ZXJsYXk9bnVsbH19fSksdC51aUJhY2tDb21wYXQhPT0hMSYmdC53aWRnZXQoInVpLmRpYWxvZyIsdC51aS5kaWFsb2cse29wdGlvbnM6e2RpYWxvZ0NsYXNzOiIifSxfY3JlYXRlV3JhcHBlcjpmdW5jdGlvbigpe3RoaXMuX3N1cGVyKCksdGhpcy51aURpYWxvZy5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuZGlhbG9nQ2xhc3MpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7ImRpYWxvZ0NsYXNzIj09PXQmJnRoaXMudWlEaWFsb2cucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmRpYWxvZ0NsYXNzKS5hZGRDbGFzcyhlKSx0aGlzLl9zdXBlckFwcGx5KGFyZ3VtZW50cyl9fSksdC51aS5kaWFsb2csdC53aWRnZXQoInVpLmRyb3BwYWJsZSIse3ZlcnNpb246IjEuMTIuMSIsd2lkZ2V0RXZlbnRQcmVmaXg6ImRyb3AiLG9wdGlvbnM6e2FjY2VwdDoiKiIsYWRkQ2xhc3NlczohMCxncmVlZHk6ITEsc2NvcGU6ImRlZmF1bHQiLHRvbGVyYW5jZToiaW50ZXJzZWN0IixhY3RpdmF0ZTpudWxsLGRlYWN0aXZhdGU6bnVsbCxkcm9wOm51bGwsb3V0Om51bGwsb3ZlcjpudWxsfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGUsaT10aGlzLm9wdGlvbnMscz1pLmFjY2VwdDt0aGlzLmlzb3Zlcj0hMSx0aGlzLmlzb3V0PSEwLHRoaXMuYWNjZXB0PXQuaXNGdW5jdGlvbihzKT9zOmZ1bmN0aW9uKHQpe3JldHVybiB0LmlzKHMpfSx0aGlzLnByb3BvcnRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGU9YXJndW1lbnRzWzBdLHZvaWQgMCk6ZT9lOmU9e3dpZHRoOnRoaXMuZWxlbWVudFswXS5vZmZzZXRXaWR0aCxoZWlnaHQ6dGhpcy5lbGVtZW50WzBdLm9mZnNldEhlaWdodH19LHRoaXMuX2FkZFRvTWFuYWdlcihpLnNjb3BlKSxpLmFkZENsYXNzZXMmJnRoaXMuX2FkZENsYXNzKCJ1aS1kcm9wcGFibGUiKX0sX2FkZFRvTWFuYWdlcjpmdW5jdGlvbihlKXt0LnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW2VdPXQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbZV18fFtdLHQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbZV0ucHVzaCh0aGlzKX0sX3NwbGljZTpmdW5jdGlvbih0KXtmb3IodmFyIGU9MDt0Lmxlbmd0aD5lO2UrKyl0W2VdPT09dGhpcyYmdC5zcGxpY2UoZSwxKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgZT10LnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW3RoaXMub3B0aW9ucy5zY29wZV07dGhpcy5fc3BsaWNlKGUpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGUsaSl7aWYoImFjY2VwdCI9PT1lKXRoaXMuYWNjZXB0PXQuaXNGdW5jdGlvbihpKT9pOmZ1bmN0aW9uKHQpe3JldHVybiB0LmlzKGkpfTtlbHNlIGlmKCJzY29wZSI9PT1lKXt2YXIgcz10LnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW3RoaXMub3B0aW9ucy5zY29wZV07dGhpcy5fc3BsaWNlKHMpLHRoaXMuX2FkZFRvTWFuYWdlcihpKX10aGlzLl9zdXBlcihlLGkpfSxfYWN0aXZhdGU6ZnVuY3Rpb24oZSl7dmFyIGk9dC51aS5kZG1hbmFnZXIuY3VycmVudDt0aGlzLl9hZGRBY3RpdmVDbGFzcygpLGkmJnRoaXMuX3RyaWdnZXIoImFjdGl2YXRlIixlLHRoaXMudWkoaSkpfSxfZGVhY3RpdmF0ZTpmdW5jdGlvbihlKXt2YXIgaT10LnVpLmRkbWFuYWdlci5jdXJyZW50O3RoaXMuX3JlbW92ZUFjdGl2ZUNsYXNzKCksaSYmdGhpcy5fdHJpZ2dlcigiZGVhY3RpdmF0ZSIsZSx0aGlzLnVpKGkpKX0sX292ZXI6ZnVuY3Rpb24oZSl7dmFyIGk9dC51aS5kZG1hbmFnZXIuY3VycmVudDtpJiYoaS5jdXJyZW50SXRlbXx8aS5lbGVtZW50KVswXSE9PXRoaXMuZWxlbWVudFswXSYmdGhpcy5hY2NlcHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0saS5jdXJyZW50SXRlbXx8aS5lbGVtZW50KSYmKHRoaXMuX2FkZEhvdmVyQ2xhc3MoKSx0aGlzLl90cmlnZ2VyKCJvdmVyIixlLHRoaXMudWkoaSkpKX0sX291dDpmdW5jdGlvbihlKXt2YXIgaT10LnVpLmRkbWFuYWdlci5jdXJyZW50O2kmJihpLmN1cnJlbnRJdGVtfHxpLmVsZW1lbnQpWzBdIT09dGhpcy5lbGVtZW50WzBdJiZ0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxpLmN1cnJlbnRJdGVtfHxpLmVsZW1lbnQpJiYodGhpcy5fcmVtb3ZlSG92ZXJDbGFzcygpLHRoaXMuX3RyaWdnZXIoIm91dCIsZSx0aGlzLnVpKGkpKSl9LF9kcm9wOmZ1bmN0aW9uKGUsaSl7dmFyIHM9aXx8dC51aS5kZG1hbmFnZXIuY3VycmVudCxuPSExO3JldHVybiBzJiYocy5jdXJyZW50SXRlbXx8cy5lbGVtZW50KVswXSE9PXRoaXMuZWxlbWVudFswXT8odGhpcy5lbGVtZW50LmZpbmQoIjpkYXRhKHVpLWRyb3BwYWJsZSkiKS5ub3QoIi51aS1kcmFnZ2FibGUtZHJhZ2dpbmciKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9dCh0aGlzKS5kcm9wcGFibGUoImluc3RhbmNlIik7cmV0dXJuIGkub3B0aW9ucy5ncmVlZHkmJiFpLm9wdGlvbnMuZGlzYWJsZWQmJmkub3B0aW9ucy5zY29wZT09PXMub3B0aW9ucy5zY29wZSYmaS5hY2NlcHQuY2FsbChpLmVsZW1lbnRbMF0scy5jdXJyZW50SXRlbXx8cy5lbGVtZW50KSYmdihzLHQuZXh0ZW5kKGkse29mZnNldDppLmVsZW1lbnQub2Zmc2V0KCl9KSxpLm9wdGlvbnMudG9sZXJhbmNlLGUpPyhuPSEwLCExKTp2b2lkIDB9KSxuPyExOnRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLHMuY3VycmVudEl0ZW18fHMuZWxlbWVudCk/KHRoaXMuX3JlbW92ZUFjdGl2ZUNsYXNzKCksdGhpcy5fcmVtb3ZlSG92ZXJDbGFzcygpLHRoaXMuX3RyaWdnZXIoImRyb3AiLGUsdGhpcy51aShzKSksdGhpcy5lbGVtZW50KTohMSk6ITF9LHVpOmZ1bmN0aW9uKHQpe3JldHVybntkcmFnZ2FibGU6dC5jdXJyZW50SXRlbXx8dC5lbGVtZW50LGhlbHBlcjp0LmhlbHBlcixwb3NpdGlvbjp0LnBvc2l0aW9uLG9mZnNldDp0LnBvc2l0aW9uQWJzfX0sX2FkZEhvdmVyQ2xhc3M6ZnVuY3Rpb24oKXt0aGlzLl9hZGRDbGFzcygidWktZHJvcHBhYmxlLWhvdmVyIil9LF9yZW1vdmVIb3ZlckNsYXNzOmZ1bmN0aW9uKCl7dGhpcy5fcmVtb3ZlQ2xhc3MoInVpLWRyb3BwYWJsZS1ob3ZlciIpfSxfYWRkQWN0aXZlQ2xhc3M6ZnVuY3Rpb24oKXt0aGlzLl9hZGRDbGFzcygidWktZHJvcHBhYmxlLWFjdGl2ZSIpfSxfcmVtb3ZlQWN0aXZlQ2xhc3M6ZnVuY3Rpb24oKXt0aGlzLl9yZW1vdmVDbGFzcygidWktZHJvcHBhYmxlLWFjdGl2ZSIpfX0pO3ZhciB2PXQudWkuaW50ZXJzZWN0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsaSl7cmV0dXJuIHQ+PWUmJmUraT50fXJldHVybiBmdW5jdGlvbihlLGkscyxuKXtpZighaS5vZmZzZXQpcmV0dXJuITE7dmFyIG89KGUucG9zaXRpb25BYnN8fGUucG9zaXRpb24uYWJzb2x1dGUpLmxlZnQrZS5tYXJnaW5zLmxlZnQsYT0oZS5wb3NpdGlvbkFic3x8ZS5wb3NpdGlvbi5hYnNvbHV0ZSkudG9wK2UubWFyZ2lucy50b3Ascj1vK2UuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgsaD1hK2UuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGw9aS5vZmZzZXQubGVmdCxjPWkub2Zmc2V0LnRvcCx1PWwraS5wcm9wb3J0aW9ucygpLndpZHRoLGQ9YytpLnByb3BvcnRpb25zKCkuaGVpZ2h0O3N3aXRjaChzKXtjYXNlImZpdCI6cmV0dXJuIG8+PWwmJnU+PXImJmE+PWMmJmQ+PWg7Y2FzZSJpbnRlcnNlY3QiOnJldHVybiBvK2UuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMj5sJiZ1PnItZS5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yJiZhK2UuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzI+YyYmZD5oLWUuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzI7Y2FzZSJwb2ludGVyIjpyZXR1cm4gdChuLnBhZ2VZLGMsaS5wcm9wb3J0aW9ucygpLmhlaWdodCkmJnQobi5wYWdlWCxsLGkucHJvcG9ydGlvbnMoKS53aWR0aCk7Y2FzZSJ0b3VjaCI6cmV0dXJuKGE+PWMmJmQ+PWF8fGg+PWMmJmQ+PWh8fGM+YSYmaD5kKSYmKG8+PWwmJnU+PW98fHI+PWwmJnU+PXJ8fGw+byYmcj51KTtkZWZhdWx0OnJldHVybiExfX19KCk7dC51aS5kZG1hbmFnZXI9e2N1cnJlbnQ6bnVsbCxkcm9wcGFibGVzOnsiZGVmYXVsdCI6W119LHByZXBhcmVPZmZzZXRzOmZ1bmN0aW9uKGUsaSl7dmFyIHMsbixvPXQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbZS5vcHRpb25zLnNjb3BlXXx8W10sYT1pP2kudHlwZTpudWxsLHI9KGUuY3VycmVudEl0ZW18fGUuZWxlbWVudCkuZmluZCgiOmRhdGEodWktZHJvcHBhYmxlKSIpLmFkZEJhY2soKTt0OmZvcihzPTA7by5sZW5ndGg+cztzKyspaWYoIShvW3NdLm9wdGlvbnMuZGlzYWJsZWR8fGUmJiFvW3NdLmFjY2VwdC5jYWxsKG9bc10uZWxlbWVudFswXSxlLmN1cnJlbnRJdGVtfHxlLmVsZW1lbnQpKSl7Zm9yKG49MDtyLmxlbmd0aD5uO24rKylpZihyW25dPT09b1tzXS5lbGVtZW50WzBdKXtvW3NdLnByb3BvcnRpb25zKCkuaGVpZ2h0PTA7Y29udGludWUgdH1vW3NdLnZpc2libGU9Im5vbmUiIT09b1tzXS5lbGVtZW50LmNzcygiZGlzcGxheSIpLG9bc10udmlzaWJsZSYmKCJtb3VzZWRvd24iPT09YSYmb1tzXS5fYWN0aXZhdGUuY2FsbChvW3NdLGkpLG9bc10ub2Zmc2V0PW9bc10uZWxlbWVudC5vZmZzZXQoKSxvW3NdLnByb3BvcnRpb25zKHt3aWR0aDpvW3NdLmVsZW1lbnRbMF0ub2Zmc2V0V2lkdGgsaGVpZ2h0Om9bc10uZWxlbWVudFswXS5vZmZzZXRIZWlnaHR9KSl9fSxkcm9wOmZ1bmN0aW9uKGUsaSl7dmFyIHM9ITE7cmV0dXJuIHQuZWFjaCgodC51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1tlLm9wdGlvbnMuc2NvcGVdfHxbXSkuc2xpY2UoKSxmdW5jdGlvbigpe3RoaXMub3B0aW9ucyYmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMudmlzaWJsZSYmdihlLHRoaXMsdGhpcy5vcHRpb25zLnRvbGVyYW5jZSxpKSYmKHM9dGhpcy5fZHJvcC5jYWxsKHRoaXMsaSl8fHMpLCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMudmlzaWJsZSYmdGhpcy5hY2NlcHQuY2FsbCh0aGlzLmVsZW1lbnRbMF0sZS5jdXJyZW50SXRlbXx8ZS5lbGVtZW50KSYmKHRoaXMuaXNvdXQ9ITAsdGhpcy5pc292ZXI9ITEsdGhpcy5fZGVhY3RpdmF0ZS5jYWxsKHRoaXMsaSkpKX0pLHN9LGRyYWdTdGFydDpmdW5jdGlvbihlLGkpe2UuZWxlbWVudC5wYXJlbnRzVW50aWwoImJvZHkiKS5vbigic2Nyb2xsLmRyb3BwYWJsZSIsZnVuY3Rpb24oKXtlLm9wdGlvbnMucmVmcmVzaFBvc2l0aW9uc3x8dC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoZSxpKX0pfSxkcmFnOmZ1bmN0aW9uKGUsaSl7ZS5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnMmJnQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKGUsaSksdC5lYWNoKHQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbZS5vcHRpb25zLnNjb3BlXXx8W10sZnVuY3Rpb24oKXtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkJiYhdGhpcy5ncmVlZHlDaGlsZCYmdGhpcy52aXNpYmxlKXt2YXIgcyxuLG8sYT12KGUsdGhpcyx0aGlzLm9wdGlvbnMudG9sZXJhbmNlLGkpLHI9IWEmJnRoaXMuaXNvdmVyPyJpc291dCI6YSYmIXRoaXMuaXNvdmVyPyJpc292ZXIiOm51bGw7ciYmKHRoaXMub3B0aW9ucy5ncmVlZHkmJihuPXRoaXMub3B0aW9ucy5zY29wZSxvPXRoaXMuZWxlbWVudC5wYXJlbnRzKCI6ZGF0YSh1aS1kcm9wcGFibGUpIikuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcykuZHJvcHBhYmxlKCJpbnN0YW5jZSIpLm9wdGlvbnMuc2NvcGU9PT1ufSksby5sZW5ndGgmJihzPXQob1swXSkuZHJvcHBhYmxlKCJpbnN0YW5jZSIpLHMuZ3JlZWR5Q2hpbGQ9Imlzb3ZlciI9PT1yKSkscyYmImlzb3ZlciI9PT1yJiYocy5pc292ZXI9ITEscy5pc291dD0hMCxzLl9vdXQuY2FsbChzLGkpKSx0aGlzW3JdPSEwLHRoaXNbImlzb3V0Ij09PXI/Imlzb3ZlciI6Imlzb3V0Il09ITEsdGhpc1siaXNvdmVyIj09PXI/Il9vdmVyIjoiX291dCJdLmNhbGwodGhpcyxpKSxzJiYiaXNvdXQiPT09ciYmKHMuaXNvdXQ9ITEscy5pc292ZXI9ITAscy5fb3Zlci5jYWxsKHMsaSkpKX19KX0sZHJhZ1N0b3A6ZnVuY3Rpb24oZSxpKXtlLmVsZW1lbnQucGFyZW50c1VudGlsKCJib2R5Iikub2ZmKCJzY3JvbGwuZHJvcHBhYmxlIiksZS5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnN8fHQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKGUsaSl9fSx0LnVpQmFja0NvbXBhdCE9PSExJiZ0LndpZGdldCgidWkuZHJvcHBhYmxlIix0LnVpLmRyb3BwYWJsZSx7b3B0aW9uczp7aG92ZXJDbGFzczohMSxhY3RpdmVDbGFzczohMX0sX2FkZEFjdGl2ZUNsYXNzOmZ1bmN0aW9uKCl7dGhpcy5fc3VwZXIoKSx0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJnRoaXMuZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MpfSxfcmVtb3ZlQWN0aXZlQ2xhc3M6ZnVuY3Rpb24oKXt0aGlzLl9zdXBlcigpLHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyl9LF9hZGRIb3ZlckNsYXNzOmZ1bmN0aW9uKCl7dGhpcy5fc3VwZXIoKSx0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYmdGhpcy5lbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKX0sX3JlbW92ZUhvdmVyQ2xhc3M6ZnVuY3Rpb24oKXt0aGlzLl9zdXBlcigpLHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzJiZ0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MpfX0pLHQudWkuZHJvcHBhYmxlLHQud2lkZ2V0KCJ1aS5wcm9ncmVzc2JhciIse3ZlcnNpb246IjEuMTIuMSIsb3B0aW9uczp7Y2xhc3Nlczp7InVpLXByb2dyZXNzYmFyIjoidWktY29ybmVyLWFsbCIsInVpLXByb2dyZXNzYmFyLXZhbHVlIjoidWktY29ybmVyLWxlZnQiLCJ1aS1wcm9ncmVzc2Jhci1jb21wbGV0ZSI6InVpLWNvcm5lci1yaWdodCJ9LG1heDoxMDAsdmFsdWU6MCxjaGFuZ2U6bnVsbCxjb21wbGV0ZTpudWxsfSxtaW46MCxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5vbGRWYWx1ZT10aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fY29uc3RyYWluZWRWYWx1ZSgpLHRoaXMuZWxlbWVudC5hdHRyKHtyb2xlOiJwcm9ncmVzc2JhciIsImFyaWEtdmFsdWVtaW4iOnRoaXMubWlufSksdGhpcy5fYWRkQ2xhc3MoInVpLXByb2dyZXNzYmFyIiwidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiksdGhpcy52YWx1ZURpdj10KCI8ZGl2PiIpLmFwcGVuZFRvKHRoaXMuZWxlbWVudCksdGhpcy5fYWRkQ2xhc3ModGhpcy52YWx1ZURpdiwidWktcHJvZ3Jlc3NiYXItdmFsdWUiLCJ1aS13aWRnZXQtaGVhZGVyIiksdGhpcy5fcmVmcmVzaFZhbHVlKCl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoInJvbGUgYXJpYS12YWx1ZW1pbiBhcmlhLXZhbHVlbWF4IGFyaWEtdmFsdWVub3ciKSx0aGlzLnZhbHVlRGl2LnJlbW92ZSgpfSx2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dD90aGlzLm9wdGlvbnMudmFsdWU6KHRoaXMub3B0aW9ucy52YWx1ZT10aGlzLl9jb25zdHJhaW5lZFZhbHVlKHQpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpLHZvaWQgMCl9LF9jb25zdHJhaW5lZFZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10JiYodD10aGlzLm9wdGlvbnMudmFsdWUpLHRoaXMuaW5kZXRlcm1pbmF0ZT10PT09ITEsIm51bWJlciIhPXR5cGVvZiB0JiYodD0wKSx0aGlzLmluZGV0ZXJtaW5hdGU/ITE6TWF0aC5taW4odGhpcy5vcHRpb25zLm1heCxNYXRoLm1heCh0aGlzLm1pbix0KSl9LF9zZXRPcHRpb25zOmZ1bmN0aW9uKHQpe3ZhciBlPXQudmFsdWU7ZGVsZXRlIHQudmFsdWUsdGhpcy5fc3VwZXIodCksdGhpcy5vcHRpb25zLnZhbHVlPXRoaXMuX2NvbnN0cmFpbmVkVmFsdWUoZSksdGhpcy5fcmVmcmVzaFZhbHVlKCl9LF9zZXRPcHRpb246ZnVuY3Rpb24odCxlKXsibWF4Ij09PXQmJihlPU1hdGgubWF4KHRoaXMubWluLGUpKSx0aGlzLl9zdXBlcih0LGUpfSxfc2V0T3B0aW9uRGlzYWJsZWQ6ZnVuY3Rpb24odCl7dGhpcy5fc3VwZXIodCksdGhpcy5lbGVtZW50LmF0dHIoImFyaWEtZGlzYWJsZWQiLHQpLHRoaXMuX3RvZ2dsZUNsYXNzKG51bGwsInVpLXN0YXRlLWRpc2FibGVkIiwhIXQpfSxfcGVyY2VudGFnZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmluZGV0ZXJtaW5hdGU/MTAwOjEwMCoodGhpcy5vcHRpb25zLnZhbHVlLXRoaXMubWluKS8odGhpcy5vcHRpb25zLm1heC10aGlzLm1pbil9LF9yZWZyZXNoVmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9wdGlvbnMudmFsdWUsaT10aGlzLl9wZXJjZW50YWdlKCk7dGhpcy52YWx1ZURpdi50b2dnbGUodGhpcy5pbmRldGVybWluYXRlfHxlPnRoaXMubWluKS53aWR0aChpLnRvRml4ZWQoMCkrIiUiKSx0aGlzLl90b2dnbGVDbGFzcyh0aGlzLnZhbHVlRGl2LCJ1aS1wcm9ncmVzc2Jhci1jb21wbGV0ZSIsbnVsbCxlPT09dGhpcy5vcHRpb25zLm1heCkuX3RvZ2dsZUNsYXNzKCJ1aS1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlIixudWxsLHRoaXMuaW5kZXRlcm1pbmF0ZSksdGhpcy5pbmRldGVybWluYXRlPyh0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cigiYXJpYS12YWx1ZW5vdyIpLHRoaXMub3ZlcmxheURpdnx8KHRoaXMub3ZlcmxheURpdj10KCI8ZGl2PiIpLmFwcGVuZFRvKHRoaXMudmFsdWVEaXYpLHRoaXMuX2FkZENsYXNzKHRoaXMub3ZlcmxheURpdiwidWktcHJvZ3Jlc3NiYXItb3ZlcmxheSIpKSk6KHRoaXMuZWxlbWVudC5hdHRyKHsiYXJpYS12YWx1ZW1heCI6dGhpcy5vcHRpb25zLm1heCwiYXJpYS12YWx1ZW5vdyI6ZX0pLHRoaXMub3ZlcmxheURpdiYmKHRoaXMub3ZlcmxheURpdi5yZW1vdmUoKSx0aGlzLm92ZXJsYXlEaXY9bnVsbCkpLHRoaXMub2xkVmFsdWUhPT1lJiYodGhpcy5vbGRWYWx1ZT1lLHRoaXMuX3RyaWdnZXIoImNoYW5nZSIpKSxlPT09dGhpcy5vcHRpb25zLm1heCYmdGhpcy5fdHJpZ2dlcigiY29tcGxldGUiKX19KSx0LndpZGdldCgidWkuc2VsZWN0YWJsZSIsdC51aS5tb3VzZSx7dmVyc2lvbjoiMS4xMi4xIixvcHRpb25zOnthcHBlbmRUbzoiYm9keSIsYXV0b1JlZnJlc2g6ITAsZGlzdGFuY2U6MCxmaWx0ZXI6IioiLHRvbGVyYW5jZToidG91Y2giLHNlbGVjdGVkOm51bGwsc2VsZWN0aW5nOm51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGwsdW5zZWxlY3RlZDpudWxsLHVuc2VsZWN0aW5nOm51bGx9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuX2FkZENsYXNzKCJ1aS1zZWxlY3RhYmxlIiksdGhpcy5kcmFnZ2VkPSExLHRoaXMucmVmcmVzaD1mdW5jdGlvbigpe2UuZWxlbWVudFBvcz10KGUuZWxlbWVudFswXSkub2Zmc2V0KCksZS5zZWxlY3RlZXM9dChlLm9wdGlvbnMuZmlsdGVyLGUuZWxlbWVudFswXSksZS5fYWRkQ2xhc3MoZS5zZWxlY3RlZXMsInVpLXNlbGVjdGVlIiksZS5zZWxlY3RlZXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPXQodGhpcykscz1pLm9mZnNldCgpLG49e2xlZnQ6cy5sZWZ0LWUuZWxlbWVudFBvcy5sZWZ0LHRvcDpzLnRvcC1lLmVsZW1lbnRQb3MudG9wfTt0LmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIix7ZWxlbWVudDp0aGlzLCRlbGVtZW50OmksbGVmdDpuLmxlZnQsdG9wOm4udG9wLHJpZ2h0Om4ubGVmdCtpLm91dGVyV2lkdGgoKSxib3R0b206bi50b3AraS5vdXRlckhlaWdodCgpLHN0YXJ0c2VsZWN0ZWQ6ITEsc2VsZWN0ZWQ6aS5oYXNDbGFzcygidWktc2VsZWN0ZWQiKSxzZWxlY3Rpbmc6aS5oYXNDbGFzcygidWktc2VsZWN0aW5nIiksdW5zZWxlY3Rpbmc6aS5oYXNDbGFzcygidWktdW5zZWxlY3RpbmciKX0pfSl9LHRoaXMucmVmcmVzaCgpLHRoaXMuX21vdXNlSW5pdCgpLHRoaXMuaGVscGVyPXQoIjxkaXY+IiksdGhpcy5fYWRkQ2xhc3ModGhpcy5oZWxwZXIsInVpLXNlbGVjdGFibGUtaGVscGVyIil9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZXMucmVtb3ZlRGF0YSgic2VsZWN0YWJsZS1pdGVtIiksdGhpcy5fbW91c2VEZXN0cm95KCl9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKGUpe3ZhciBpPXRoaXMscz10aGlzLm9wdGlvbnM7dGhpcy5vcG9zPVtlLnBhZ2VYLGUucGFnZVldLHRoaXMuZWxlbWVudFBvcz10KHRoaXMuZWxlbWVudFswXSkub2Zmc2V0KCksdGhpcy5vcHRpb25zLmRpc2FibGVkfHwodGhpcy5zZWxlY3RlZXM9dChzLmZpbHRlcix0aGlzLmVsZW1lbnRbMF0pLHRoaXMuX3RyaWdnZXIoInN0YXJ0IixlKSx0KHMuYXBwZW5kVG8pLmFwcGVuZCh0aGlzLmhlbHBlciksdGhpcy5oZWxwZXIuY3NzKHtsZWZ0OmUucGFnZVgsdG9wOmUucGFnZVksd2lkdGg6MCxoZWlnaHQ6MH0pLHMuYXV0b1JlZnJlc2gmJnRoaXMucmVmcmVzaCgpLHRoaXMuc2VsZWN0ZWVzLmZpbHRlcigiLnVpLXNlbGVjdGVkIikuZWFjaChmdW5jdGlvbigpe3ZhciBzPXQuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtzLnN0YXJ0c2VsZWN0ZWQ9ITAsZS5tZXRhS2V5fHxlLmN0cmxLZXl8fChpLl9yZW1vdmVDbGFzcyhzLiRlbGVtZW50LCJ1aS1zZWxlY3RlZCIpLHMuc2VsZWN0ZWQ9ITEsaS5fYWRkQ2xhc3Mocy4kZWxlbWVudCwidWktdW5zZWxlY3RpbmciKSxzLnVuc2VsZWN0aW5nPSEwLGkuX3RyaWdnZXIoInVuc2VsZWN0aW5nIixlLHt1bnNlbGVjdGluZzpzLmVsZW1lbnR9KSl9KSx0KGUudGFyZ2V0KS5wYXJlbnRzKCkuYWRkQmFjaygpLmVhY2goZnVuY3Rpb24oKXt2YXIgcyxuPXQuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtyZXR1cm4gbj8ocz0hZS5tZXRhS2V5JiYhZS5jdHJsS2V5fHwhbi4kZWxlbWVudC5oYXNDbGFzcygidWktc2VsZWN0ZWQiKSxpLl9yZW1vdmVDbGFzcyhuLiRlbGVtZW50LHM/InVpLXVuc2VsZWN0aW5nIjoidWktc2VsZWN0ZWQiKS5fYWRkQ2xhc3Mobi4kZWxlbWVudCxzPyJ1aS1zZWxlY3RpbmciOiJ1aS11bnNlbGVjdGluZyIpLG4udW5zZWxlY3Rpbmc9IXMsbi5zZWxlY3Rpbmc9cyxuLnNlbGVjdGVkPXMscz9pLl90cmlnZ2VyKCJzZWxlY3RpbmciLGUse3NlbGVjdGluZzpuLmVsZW1lbnR9KTppLl90cmlnZ2VyKCJ1bnNlbGVjdGluZyIsZSx7dW5zZWxlY3Rpbmc6bi5lbGVtZW50fSksITEpOnZvaWQgMH0pKX0sX21vdXNlRHJhZzpmdW5jdGlvbihlKXtpZih0aGlzLmRyYWdnZWQ9ITAsIXRoaXMub3B0aW9ucy5kaXNhYmxlZCl7dmFyIGkscz10aGlzLG49dGhpcy5vcHRpb25zLG89dGhpcy5vcG9zWzBdLGE9dGhpcy5vcG9zWzFdLHI9ZS5wYWdlWCxoPWUucGFnZVk7cmV0dXJuIG8+ciYmKGk9cixyPW8sbz1pKSxhPmgmJihpPWgsaD1hLGE9aSksdGhpcy5oZWxwZXIuY3NzKHtsZWZ0Om8sdG9wOmEsd2lkdGg6ci1vLGhlaWdodDpoLWF9KSx0aGlzLnNlbGVjdGVlcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9dC5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpLGw9ITEsYz17fTtpJiZpLmVsZW1lbnQhPT1zLmVsZW1lbnRbMF0mJihjLmxlZnQ9aS5sZWZ0K3MuZWxlbWVudFBvcy5sZWZ0LGMucmlnaHQ9aS5yaWdodCtzLmVsZW1lbnRQb3MubGVmdCxjLnRvcD1pLnRvcCtzLmVsZW1lbnRQb3MudG9wLGMuYm90dG9tPWkuYm90dG9tK3MuZWxlbWVudFBvcy50b3AsInRvdWNoIj09PW4udG9sZXJhbmNlP2w9IShjLmxlZnQ+cnx8bz5jLnJpZ2h0fHxjLnRvcD5ofHxhPmMuYm90dG9tKToiZml0Ij09PW4udG9sZXJhbmNlJiYobD1jLmxlZnQ+byYmcj5jLnJpZ2h0JiZjLnRvcD5hJiZoPmMuYm90dG9tKSxsPyhpLnNlbGVjdGVkJiYocy5fcmVtb3ZlQ2xhc3MoaS4kZWxlbWVudCwidWktc2VsZWN0ZWQiKSxpLnNlbGVjdGVkPSExKSxpLnVuc2VsZWN0aW5nJiYocy5fcmVtb3ZlQ2xhc3MoaS4kZWxlbWVudCwidWktdW5zZWxlY3RpbmciKSxpLnVuc2VsZWN0aW5nPSExKSxpLnNlbGVjdGluZ3x8KHMuX2FkZENsYXNzKGkuJGVsZW1lbnQsInVpLXNlbGVjdGluZyIpLGkuc2VsZWN0aW5nPSEwLHMuX3RyaWdnZXIoInNlbGVjdGluZyIsZSx7c2VsZWN0aW5nOmkuZWxlbWVudH0pKSk6KGkuc2VsZWN0aW5nJiYoKGUubWV0YUtleXx8ZS5jdHJsS2V5KSYmaS5zdGFydHNlbGVjdGVkPyhzLl9yZW1vdmVDbGFzcyhpLiRlbGVtZW50LCJ1aS1zZWxlY3RpbmciKSxpLnNlbGVjdGluZz0hMSxzLl9hZGRDbGFzcyhpLiRlbGVtZW50LCJ1aS1zZWxlY3RlZCIpLGkuc2VsZWN0ZWQ9ITApOihzLl9yZW1vdmVDbGFzcyhpLiRlbGVtZW50LCJ1aS1zZWxlY3RpbmciKSxpLnNlbGVjdGluZz0hMSxpLnN0YXJ0c2VsZWN0ZWQmJihzLl9hZGRDbGFzcyhpLiRlbGVtZW50LCJ1aS11bnNlbGVjdGluZyIpLGkudW5zZWxlY3Rpbmc9ITApLHMuX3RyaWdnZXIoInVuc2VsZWN0aW5nIixlLHt1bnNlbGVjdGluZzppLmVsZW1lbnR9KSkpLGkuc2VsZWN0ZWQmJihlLm1ldGFLZXl8fGUuY3RybEtleXx8aS5zdGFydHNlbGVjdGVkfHwocy5fcmVtb3ZlQ2xhc3MoaS4kZWxlbWVudCwidWktc2VsZWN0ZWQiKSxpLnNlbGVjdGVkPSExLHMuX2FkZENsYXNzKGkuJGVsZW1lbnQsInVpLXVuc2VsZWN0aW5nIiksaS51bnNlbGVjdGluZz0hMCxzLl90cmlnZ2VyKCJ1bnNlbGVjdGluZyIsZSx7dW5zZWxlY3Rpbmc6aS5lbGVtZW50fSkpKSkpfSksITF9fSxfbW91c2VTdG9wOmZ1bmN0aW9uKGUpe3ZhciBpPXRoaXM7cmV0dXJuIHRoaXMuZHJhZ2dlZD0hMSx0KCIudWktdW5zZWxlY3RpbmciLHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpe3ZhciBzPXQuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtpLl9yZW1vdmVDbGFzcyhzLiRlbGVtZW50LCJ1aS11bnNlbGVjdGluZyIpLHMudW5zZWxlY3Rpbmc9ITEscy5zdGFydHNlbGVjdGVkPSExLGkuX3RyaWdnZXIoInVuc2VsZWN0ZWQiLGUse3Vuc2VsZWN0ZWQ6cy5lbGVtZW50fSl9KSx0KCIudWktc2VsZWN0aW5nIix0aGlzLmVsZW1lbnRbMF0pLmVhY2goZnVuY3Rpb24oKXt2YXIgcz10LmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIik7aS5fcmVtb3ZlQ2xhc3Mocy4kZWxlbWVudCwidWktc2VsZWN0aW5nIikuX2FkZENsYXNzKHMuJGVsZW1lbnQsInVpLXNlbGVjdGVkIikscy5zZWxlY3Rpbmc9ITEscy5zZWxlY3RlZD0hMCxzLnN0YXJ0c2VsZWN0ZWQ9ITAsaS5fdHJpZ2dlcigic2VsZWN0ZWQiLGUse3NlbGVjdGVkOnMuZWxlbWVudH0pfSksdGhpcy5fdHJpZ2dlcigic3RvcCIsZSksdGhpcy5oZWxwZXIucmVtb3ZlKCksITF9fSksdC53aWRnZXQoInVpLnNlbGVjdG1lbnUiLFt0LnVpLmZvcm1SZXNldE1peGluLHt2ZXJzaW9uOiIxLjEyLjEiLGRlZmF1bHRFbGVtZW50OiI8c2VsZWN0PiIsb3B0aW9uczp7YXBwZW5kVG86bnVsbCxjbGFzc2VzOnsidWktc2VsZWN0bWVudS1idXR0b24tb3BlbiI6InVpLWNvcm5lci10b3AiLCJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1jbG9zZWQiOiJ1aS1jb3JuZXItYWxsIn0sZGlzYWJsZWQ6bnVsbCxpY29uczp7YnV0dG9uOiJ1aS1pY29uLXRyaWFuZ2xlLTEtcyJ9LHBvc2l0aW9uOntteToibGVmdCB0b3AiLGF0OiJsZWZ0IGJvdHRvbSIsY29sbGlzaW9uOiJub25lIn0sd2lkdGg6ITEsY2hhbmdlOm51bGwsY2xvc2U6bnVsbCxmb2N1czpudWxsLG9wZW46bnVsbCxzZWxlY3Q6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZWxlbWVudC51bmlxdWVJZCgpLmF0dHIoImlkIik7dGhpcy5pZHM9e2VsZW1lbnQ6ZSxidXR0b246ZSsiLWJ1dHRvbiIsbWVudTplKyItbWVudSJ9LHRoaXMuX2RyYXdCdXR0b24oKSx0aGlzLl9kcmF3TWVudSgpLHRoaXMuX2JpbmRGb3JtUmVzZXRIYW5kbGVyKCksdGhpcy5fcmVuZGVyZWQ9ITEsdGhpcy5tZW51SXRlbXM9dCgpfSxfZHJhd0J1dHRvbjpmdW5jdGlvbigpe3ZhciBlLGk9dGhpcyxzPXRoaXMuX3BhcnNlT3B0aW9uKHRoaXMuZWxlbWVudC5maW5kKCJvcHRpb246c2VsZWN0ZWQiKSx0aGlzLmVsZW1lbnRbMF0uc2VsZWN0ZWRJbmRleCk7dGhpcy5sYWJlbHM9dGhpcy5lbGVtZW50LmxhYmVscygpLmF0dHIoImZvciIsdGhpcy5pZHMuYnV0dG9uKSx0aGlzLl9vbih0aGlzLmxhYmVscyx7Y2xpY2s6ZnVuY3Rpb24odCl7dGhpcy5idXR0b24uZm9jdXMoKSx0LnByZXZlbnREZWZhdWx0KCl9fSksdGhpcy5lbGVtZW50LmhpZGUoKSx0aGlzLmJ1dHRvbj10KCI8c3Bhbj4iLHt0YWJpbmRleDp0aGlzLm9wdGlvbnMuZGlzYWJsZWQ/LTE6MCxpZDp0aGlzLmlkcy5idXR0b24scm9sZToiY29tYm9ib3giLCJhcmlhLWV4cGFuZGVkIjoiZmFsc2UiLCJhcmlhLWF1dG9jb21wbGV0ZSI6Imxpc3QiLCJhcmlhLW93bnMiOnRoaXMuaWRzLm1lbnUsImFyaWEtaGFzcG9wdXAiOiJ0cnVlIix0aXRsZTp0aGlzLmVsZW1lbnQuYXR0cigidGl0bGUiKX0pLmluc2VydEFmdGVyKHRoaXMuZWxlbWVudCksdGhpcy5fYWRkQ2xhc3ModGhpcy5idXR0b24sInVpLXNlbGVjdG1lbnUtYnV0dG9uIHVpLXNlbGVjdG1lbnUtYnV0dG9uLWNsb3NlZCIsInVpLWJ1dHRvbiB1aS13aWRnZXQiKSxlPXQoIjxzcGFuPiIpLmFwcGVuZFRvKHRoaXMuYnV0dG9uKSx0aGlzLl9hZGRDbGFzcyhlLCJ1aS1zZWxlY3RtZW51LWljb24iLCJ1aS1pY29uICIrdGhpcy5vcHRpb25zLmljb25zLmJ1dHRvbiksdGhpcy5idXR0b25JdGVtPXRoaXMuX3JlbmRlckJ1dHRvbkl0ZW0ocykuYXBwZW5kVG8odGhpcy5idXR0b24pLHRoaXMub3B0aW9ucy53aWR0aCE9PSExJiZ0aGlzLl9yZXNpemVCdXR0b24oKSx0aGlzLl9vbih0aGlzLmJ1dHRvbix0aGlzLl9idXR0b25FdmVudHMpLHRoaXMuYnV0dG9uLm9uZSgiZm9jdXNpbiIsZnVuY3Rpb24oKXtpLl9yZW5kZXJlZHx8aS5fcmVmcmVzaE1lbnUoKX0pfSxfZHJhd01lbnU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMubWVudT10KCI8dWw+Iix7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsImFyaWEtbGFiZWxsZWRieSI6dGhpcy5pZHMuYnV0dG9uLGlkOnRoaXMuaWRzLm1lbnV9KSx0aGlzLm1lbnVXcmFwPXQoIjxkaXY+IikuYXBwZW5kKHRoaXMubWVudSksdGhpcy5fYWRkQ2xhc3ModGhpcy5tZW51V3JhcCwidWktc2VsZWN0bWVudS1tZW51IiwidWktZnJvbnQiKSx0aGlzLm1lbnVXcmFwLmFwcGVuZFRvKHRoaXMuX2FwcGVuZFRvKCkpLHRoaXMubWVudUluc3RhbmNlPXRoaXMubWVudS5tZW51KHtjbGFzc2VzOnsidWktbWVudSI6InVpLWNvcm5lci1ib3R0b20ifSxyb2xlOiJsaXN0Ym94IixzZWxlY3Q6ZnVuY3Rpb24odCxpKXt0LnByZXZlbnREZWZhdWx0KCksZS5fc2V0U2VsZWN0aW9uKCksZS5fc2VsZWN0KGkuaXRlbS5kYXRhKCJ1aS1zZWxlY3RtZW51LWl0ZW0iKSx0KX0sZm9jdXM6ZnVuY3Rpb24odCxpKXt2YXIgcz1pLml0ZW0uZGF0YSgidWktc2VsZWN0bWVudS1pdGVtIik7bnVsbCE9ZS5mb2N1c0luZGV4JiZzLmluZGV4IT09ZS5mb2N1c0luZGV4JiYoZS5fdHJpZ2dlcigiZm9jdXMiLHQse2l0ZW06c30pLGUuaXNPcGVufHxlLl9zZWxlY3Qocyx0KSksZS5mb2N1c0luZGV4PXMuaW5kZXgsZS5idXR0b24uYXR0cigiYXJpYS1hY3RpdmVkZXNjZW5kYW50IixlLm1lbnVJdGVtcy5lcShzLmluZGV4KS5hdHRyKCJpZCIpKX19KS5tZW51KCJpbnN0YW5jZSIpLHRoaXMubWVudUluc3RhbmNlLl9vZmYodGhpcy5tZW51LCJtb3VzZWxlYXZlIiksdGhpcy5tZW51SW5zdGFuY2UuX2Nsb3NlT25Eb2N1bWVudENsaWNrPWZ1bmN0aW9uKCl7cmV0dXJuITF9LHRoaXMubWVudUluc3RhbmNlLl9pc0RpdmlkZXI9ZnVuY3Rpb24oKXtyZXR1cm4hMX19LHJlZnJlc2g6ZnVuY3Rpb24oKXt0aGlzLl9yZWZyZXNoTWVudSgpLHRoaXMuYnV0dG9uSXRlbS5yZXBsYWNlV2l0aCh0aGlzLmJ1dHRvbkl0ZW09dGhpcy5fcmVuZGVyQnV0dG9uSXRlbSh0aGlzLl9nZXRTZWxlY3RlZEl0ZW0oKS5kYXRhKCJ1aS1zZWxlY3RtZW51LWl0ZW0iKXx8e30pKSxudWxsPT09dGhpcy5vcHRpb25zLndpZHRoJiZ0aGlzLl9yZXNpemVCdXR0b24oKX0sX3JlZnJlc2hNZW51OmZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLmVsZW1lbnQuZmluZCgib3B0aW9uIik7dGhpcy5tZW51LmVtcHR5KCksdGhpcy5fcGFyc2VPcHRpb25zKGUpLHRoaXMuX3JlbmRlck1lbnUodGhpcy5tZW51LHRoaXMuaXRlbXMpLHRoaXMubWVudUluc3RhbmNlLnJlZnJlc2goKSx0aGlzLm1lbnVJdGVtcz10aGlzLm1lbnUuZmluZCgibGkiKS5ub3QoIi51aS1zZWxlY3RtZW51LW9wdGdyb3VwIikuZmluZCgiLnVpLW1lbnUtaXRlbS13cmFwcGVyIiksdGhpcy5fcmVuZGVyZWQ9ITAsZS5sZW5ndGgmJih0PXRoaXMuX2dldFNlbGVjdGVkSXRlbSgpLHRoaXMubWVudUluc3RhbmNlLmZvY3VzKG51bGwsdCksdGhpcy5fc2V0QXJpYSh0LmRhdGEoInVpLXNlbGVjdG1lbnUtaXRlbSIpKSx0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIix0aGlzLmVsZW1lbnQucHJvcCgiZGlzYWJsZWQiKSkpfSxvcGVuOmZ1bmN0aW9uKHQpe3RoaXMub3B0aW9ucy5kaXNhYmxlZHx8KHRoaXMuX3JlbmRlcmVkPyh0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLm1lbnUuZmluZCgiLnVpLXN0YXRlLWFjdGl2ZSIpLG51bGwsInVpLXN0YXRlLWFjdGl2ZSIpLHRoaXMubWVudUluc3RhbmNlLmZvY3VzKG51bGwsdGhpcy5fZ2V0U2VsZWN0ZWRJdGVtKCkpKTp0aGlzLl9yZWZyZXNoTWVudSgpLHRoaXMubWVudUl0ZW1zLmxlbmd0aCYmKHRoaXMuaXNPcGVuPSEwLHRoaXMuX3RvZ2dsZUF0dHIoKSx0aGlzLl9yZXNpemVNZW51KCksdGhpcy5fcG9zaXRpb24oKSx0aGlzLl9vbih0aGlzLmRvY3VtZW50LHRoaXMuX2RvY3VtZW50Q2xpY2spLHRoaXMuX3RyaWdnZXIoIm9wZW4iLHQpKSl9LF9wb3NpdGlvbjpmdW5jdGlvbigpe3RoaXMubWVudVdyYXAucG9zaXRpb24odC5leHRlbmQoe29mOnRoaXMuYnV0dG9ufSx0aGlzLm9wdGlvbnMucG9zaXRpb24pKX0sY2xvc2U6ZnVuY3Rpb24odCl7dGhpcy5pc09wZW4mJih0aGlzLmlzT3Blbj0hMSx0aGlzLl90b2dnbGVBdHRyKCksdGhpcy5yYW5nZT1udWxsLHRoaXMuX29mZih0aGlzLmRvY3VtZW50KSx0aGlzLl90cmlnZ2VyKCJjbG9zZSIsdCkpfSx3aWRnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5idXR0b259LG1lbnVXaWRnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tZW51fSxfcmVuZGVyQnV0dG9uSXRlbTpmdW5jdGlvbihlKXt2YXIgaT10KCI8c3Bhbj4iKTtyZXR1cm4gdGhpcy5fc2V0VGV4dChpLGUubGFiZWwpLHRoaXMuX2FkZENsYXNzKGksInVpLXNlbGVjdG1lbnUtdGV4dCIpLGl9LF9yZW5kZXJNZW51OmZ1bmN0aW9uKGUsaSl7dmFyIHM9dGhpcyxuPSIiO3QuZWFjaChpLGZ1bmN0aW9uKGksbyl7dmFyIGE7by5vcHRncm91cCE9PW4mJihhPXQoIjxsaT4iLHt0ZXh0Om8ub3B0Z3JvdXB9KSxzLl9hZGRDbGFzcyhhLCJ1aS1zZWxlY3RtZW51LW9wdGdyb3VwIiwidWktbWVudS1kaXZpZGVyIisoby5lbGVtZW50LnBhcmVudCgib3B0Z3JvdXAiKS5wcm9wKCJkaXNhYmxlZCIpPyIgdWktc3RhdGUtZGlzYWJsZWQiOiIiKSksYS5hcHBlbmRUbyhlKSxuPW8ub3B0Z3JvdXApLHMuX3JlbmRlckl0ZW1EYXRhKGUsbyl9KX0sX3JlbmRlckl0ZW1EYXRhOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX3JlbmRlckl0ZW0odCxlKS5kYXRhKCJ1aS1zZWxlY3RtZW51LWl0ZW0iLGUpfSxfcmVuZGVySXRlbTpmdW5jdGlvbihlLGkpe3ZhciBzPXQoIjxsaT4iKSxuPXQoIjxkaXY+Iix7dGl0bGU6aS5lbGVtZW50LmF0dHIoInRpdGxlIil9KTtyZXR1cm4gaS5kaXNhYmxlZCYmdGhpcy5fYWRkQ2xhc3MocyxudWxsLCJ1aS1zdGF0ZS1kaXNhYmxlZCIpLHRoaXMuX3NldFRleHQobixpLmxhYmVsKSxzLmFwcGVuZChuKS5hcHBlbmRUbyhlKX0sX3NldFRleHQ6ZnVuY3Rpb24odCxlKXtlP3QudGV4dChlKTp0Lmh0bWwoIiYjMTYwOyIpfSxfbW92ZTpmdW5jdGlvbih0LGUpe3ZhciBpLHMsbj0iLnVpLW1lbnUtaXRlbSI7dGhpcy5pc09wZW4/aT10aGlzLm1lbnVJdGVtcy5lcSh0aGlzLmZvY3VzSW5kZXgpLnBhcmVudCgibGkiKTooaT10aGlzLm1lbnVJdGVtcy5lcSh0aGlzLmVsZW1lbnRbMF0uc2VsZWN0ZWRJbmRleCkucGFyZW50KCJsaSIpLG4rPSI6bm90KC51aS1zdGF0ZS1kaXNhYmxlZCkiKSxzPSJmaXJzdCI9PT10fHwibGFzdCI9PT10P2lbImZpcnN0Ij09PXQ/InByZXZBbGwiOiJuZXh0QWxsIl0obikuZXEoLTEpOmlbdCsiQWxsIl0obikuZXEoMCkscy5sZW5ndGgmJnRoaXMubWVudUluc3RhbmNlLmZvY3VzKGUscyl9LF9nZXRTZWxlY3RlZEl0ZW06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tZW51SXRlbXMuZXEodGhpcy5lbGVtZW50WzBdLnNlbGVjdGVkSW5kZXgpLnBhcmVudCgibGkiKX0sX3RvZ2dsZTpmdW5jdGlvbih0KXt0aGlzW3RoaXMuaXNPcGVuPyJjbG9zZSI6Im9wZW4iXSh0KX0sX3NldFNlbGVjdGlvbjpmdW5jdGlvbigpe3ZhciB0O3RoaXMucmFuZ2UmJih3aW5kb3cuZ2V0U2VsZWN0aW9uPyh0PXdpbmRvdy5nZXRTZWxlY3Rpb24oKSx0LnJlbW92ZUFsbFJhbmdlcygpLHQuYWRkUmFuZ2UodGhpcy5yYW5nZSkpOnRoaXMucmFuZ2Uuc2VsZWN0KCksdGhpcy5idXR0b24uZm9jdXMoKSl9LF9kb2N1bWVudENsaWNrOnttb3VzZWRvd246ZnVuY3Rpb24oZSl7dGhpcy5pc09wZW4mJih0KGUudGFyZ2V0KS5jbG9zZXN0KCIudWktc2VsZWN0bWVudS1tZW51LCAjIit0LnVpLmVzY2FwZVNlbGVjdG9yKHRoaXMuaWRzLmJ1dHRvbikpLmxlbmd0aHx8dGhpcy5jbG9zZShlKSl9fSxfYnV0dG9uRXZlbnRzOnttb3VzZWRvd246ZnVuY3Rpb24oKXt2YXIgdDt3aW5kb3cuZ2V0U2VsZWN0aW9uPyh0PXdpbmRvdy5nZXRTZWxlY3Rpb24oKSx0LnJhbmdlQ291bnQmJih0aGlzLnJhbmdlPXQuZ2V0UmFuZ2VBdCgwKSkpOnRoaXMucmFuZ2U9ZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCl9LGNsaWNrOmZ1bmN0aW9uKHQpe3RoaXMuX3NldFNlbGVjdGlvbigpLHRoaXMuX3RvZ2dsZSh0KX0sa2V5ZG93bjpmdW5jdGlvbihlKXt2YXIgaT0hMDtzd2l0Y2goZS5rZXlDb2RlKXtjYXNlIHQudWkua2V5Q29kZS5UQUI6Y2FzZSB0LnVpLmtleUNvZGUuRVNDQVBFOnRoaXMuY2xvc2UoZSksaT0hMTticmVhaztjYXNlIHQudWkua2V5Q29kZS5FTlRFUjp0aGlzLmlzT3BlbiYmdGhpcy5fc2VsZWN0Rm9jdXNlZEl0ZW0oZSk7YnJlYWs7Y2FzZSB0LnVpLmtleUNvZGUuVVA6ZS5hbHRLZXk/dGhpcy5fdG9nZ2xlKGUpOnRoaXMuX21vdmUoInByZXYiLGUpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLkRPV046ZS5hbHRLZXk/dGhpcy5fdG9nZ2xlKGUpOnRoaXMuX21vdmUoIm5leHQiLGUpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLlNQQUNFOnRoaXMuaXNPcGVuP3RoaXMuX3NlbGVjdEZvY3VzZWRJdGVtKGUpOnRoaXMuX3RvZ2dsZShlKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5MRUZUOnRoaXMuX21vdmUoInByZXYiLGUpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLlJJR0hUOnRoaXMuX21vdmUoIm5leHQiLGUpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLkhPTUU6Y2FzZSB0LnVpLmtleUNvZGUuUEFHRV9VUDp0aGlzLl9tb3ZlKCJmaXJzdCIsZSk7YnJlYWs7Y2FzZSB0LnVpLmtleUNvZGUuRU5EOmNhc2UgdC51aS5rZXlDb2RlLlBBR0VfRE9XTjp0aGlzLl9tb3ZlKCJsYXN0IixlKTticmVhaztkZWZhdWx0OnRoaXMubWVudS50cmlnZ2VyKGUpLGk9ITF9aSYmZS5wcmV2ZW50RGVmYXVsdCgpfX0sX3NlbGVjdEZvY3VzZWRJdGVtOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubWVudUl0ZW1zLmVxKHRoaXMuZm9jdXNJbmRleCkucGFyZW50KCJsaSIpO2UuaGFzQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIil8fHRoaXMuX3NlbGVjdChlLmRhdGEoInVpLXNlbGVjdG1lbnUtaXRlbSIpLHQpfSxfc2VsZWN0OmZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5lbGVtZW50WzBdLnNlbGVjdGVkSW5kZXg7dGhpcy5lbGVtZW50WzBdLnNlbGVjdGVkSW5kZXg9dC5pbmRleCx0aGlzLmJ1dHRvbkl0ZW0ucmVwbGFjZVdpdGgodGhpcy5idXR0b25JdGVtPXRoaXMuX3JlbmRlckJ1dHRvbkl0ZW0odCkpLHRoaXMuX3NldEFyaWEodCksdGhpcy5fdHJpZ2dlcigic2VsZWN0IixlLHtpdGVtOnR9KSx0LmluZGV4IT09aSYmdGhpcy5fdHJpZ2dlcigiY2hhbmdlIixlLHtpdGVtOnR9KSx0aGlzLmNsb3NlKGUpfSxfc2V0QXJpYTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLm1lbnVJdGVtcy5lcSh0LmluZGV4KS5hdHRyKCJpZCIpO3RoaXMuYnV0dG9uLmF0dHIoeyJhcmlhLWxhYmVsbGVkYnkiOmUsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6ZX0pLHRoaXMubWVudS5hdHRyKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLGUpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsZSl7aWYoImljb25zIj09PXQpe3ZhciBpPXRoaXMuYnV0dG9uLmZpbmQoInNwYW4udWktaWNvbiIpO3RoaXMuX3JlbW92ZUNsYXNzKGksbnVsbCx0aGlzLm9wdGlvbnMuaWNvbnMuYnV0dG9uKS5fYWRkQ2xhc3MoaSxudWxsLGUuYnV0dG9uKX10aGlzLl9zdXBlcih0LGUpLCJhcHBlbmRUbyI9PT10JiZ0aGlzLm1lbnVXcmFwLmFwcGVuZFRvKHRoaXMuX2FwcGVuZFRvKCkpLCJ3aWR0aCI9PT10JiZ0aGlzLl9yZXNpemVCdXR0b24oKX0sX3NldE9wdGlvbkRpc2FibGVkOmZ1bmN0aW9uKHQpe3RoaXMuX3N1cGVyKHQpLHRoaXMubWVudUluc3RhbmNlLm9wdGlvbigiZGlzYWJsZWQiLHQpLHRoaXMuYnV0dG9uLmF0dHIoImFyaWEtZGlzYWJsZWQiLHQpLHRoaXMuX3RvZ2dsZUNsYXNzKHRoaXMuYnV0dG9uLG51bGwsInVpLXN0YXRlLWRpc2FibGVkIix0KSx0aGlzLmVsZW1lbnQucHJvcCgiZGlzYWJsZWQiLHQpLHQ/KHRoaXMuYnV0dG9uLmF0dHIoInRhYmluZGV4IiwtMSksdGhpcy5jbG9zZSgpKTp0aGlzLmJ1dHRvbi5hdHRyKCJ0YWJpbmRleCIsMCl9LF9hcHBlbmRUbzpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3B0aW9ucy5hcHBlbmRUbztyZXR1cm4gZSYmKGU9ZS5qcXVlcnl8fGUubm9kZVR5cGU/dChlKTp0aGlzLmRvY3VtZW50LmZpbmQoZSkuZXEoMCkpLGUmJmVbMF18fChlPXRoaXMuZWxlbWVudC5jbG9zZXN0KCIudWktZnJvbnQsIGRpYWxvZyIpKSxlLmxlbmd0aHx8KGU9dGhpcy5kb2N1bWVudFswXS5ib2R5KSxlfSxfdG9nZ2xlQXR0cjpmdW5jdGlvbigpe3RoaXMuYnV0dG9uLmF0dHIoImFyaWEtZXhwYW5kZWQiLHRoaXMuaXNPcGVuKSx0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLmJ1dHRvbiwidWktc2VsZWN0bWVudS1idXR0b24tIisodGhpcy5pc09wZW4/ImNsb3NlZCI6Im9wZW4iKSkuX2FkZENsYXNzKHRoaXMuYnV0dG9uLCJ1aS1zZWxlY3RtZW51LWJ1dHRvbi0iKyh0aGlzLmlzT3Blbj8ib3BlbiI6ImNsb3NlZCIpKS5fdG9nZ2xlQ2xhc3ModGhpcy5tZW51V3JhcCwidWktc2VsZWN0bWVudS1vcGVuIixudWxsLHRoaXMuaXNPcGVuKSx0aGlzLm1lbnUuYXR0cigiYXJpYS1oaWRkZW4iLCF0aGlzLmlzT3Blbil9LF9yZXNpemVCdXR0b246ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMud2lkdGg7cmV0dXJuIHQ9PT0hMT8odGhpcy5idXR0b24uY3NzKCJ3aWR0aCIsIiIpLHZvaWQgMCk6KG51bGw9PT10JiYodD10aGlzLmVsZW1lbnQuc2hvdygpLm91dGVyV2lkdGgoKSx0aGlzLmVsZW1lbnQuaGlkZSgpKSx0aGlzLmJ1dHRvbi5vdXRlcldpZHRoKHQpLHZvaWQgMCl9LF9yZXNpemVNZW51OmZ1bmN0aW9uKCl7dGhpcy5tZW51Lm91dGVyV2lkdGgoTWF0aC5tYXgodGhpcy5idXR0b24ub3V0ZXJXaWR0aCgpLHRoaXMubWVudS53aWR0aCgiIikub3V0ZXJXaWR0aCgpKzEpKX0sX2dldENyZWF0ZU9wdGlvbnM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9zdXBlcigpO3JldHVybiB0LmRpc2FibGVkPXRoaXMuZWxlbWVudC5wcm9wKCJkaXNhYmxlZCIpLHR9LF9wYXJzZU9wdGlvbnM6ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcyxzPVtdO2UuZWFjaChmdW5jdGlvbihlLG4pe3MucHVzaChpLl9wYXJzZU9wdGlvbih0KG4pLGUpKX0pLHRoaXMuaXRlbXM9c30sX3BhcnNlT3B0aW9uOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dC5wYXJlbnQoIm9wdGdyb3VwIik7cmV0dXJue2VsZW1lbnQ6dCxpbmRleDplLHZhbHVlOnQudmFsKCksbGFiZWw6dC50ZXh0KCksb3B0Z3JvdXA6aS5hdHRyKCJsYWJlbCIpfHwiIixkaXNhYmxlZDppLnByb3AoImRpc2FibGVkIil8fHQucHJvcCgiZGlzYWJsZWQiKX19LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5fdW5iaW5kRm9ybVJlc2V0SGFuZGxlcigpLHRoaXMubWVudVdyYXAucmVtb3ZlKCksdGhpcy5idXR0b24ucmVtb3ZlKCksdGhpcy5lbGVtZW50LnNob3coKSx0aGlzLmVsZW1lbnQucmVtb3ZlVW5pcXVlSWQoKSx0aGlzLmxhYmVscy5hdHRyKCJmb3IiLHRoaXMuaWRzLmVsZW1lbnQpfX1dKSx0LndpZGdldCgidWkuc2xpZGVyIix0LnVpLm1vdXNlLHt2ZXJzaW9uOiIxLjEyLjEiLHdpZGdldEV2ZW50UHJlZml4OiJzbGlkZSIsb3B0aW9uczp7YW5pbWF0ZTohMSxjbGFzc2VzOnsidWktc2xpZGVyIjoidWktY29ybmVyLWFsbCIsInVpLXNsaWRlci1oYW5kbGUiOiJ1aS1jb3JuZXItYWxsIiwidWktc2xpZGVyLXJhbmdlIjoidWktY29ybmVyLWFsbCB1aS13aWRnZXQtaGVhZGVyIn0sZGlzdGFuY2U6MCxtYXg6MTAwLG1pbjowLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixyYW5nZTohMSxzdGVwOjEsdmFsdWU6MCx2YWx1ZXM6bnVsbCxjaGFuZ2U6bnVsbCxzbGlkZTpudWxsLHN0YXJ0Om51bGwsc3RvcDpudWxsfSxudW1QYWdlczo1LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLl9rZXlTbGlkaW5nPSExLHRoaXMuX21vdXNlU2xpZGluZz0hMSx0aGlzLl9hbmltYXRlT2ZmPSEwLHRoaXMuX2hhbmRsZUluZGV4PW51bGwsdGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKSx0aGlzLl9tb3VzZUluaXQoKSx0aGlzLl9jYWxjdWxhdGVOZXdNYXgoKSx0aGlzLl9hZGRDbGFzcygidWktc2xpZGVyIHVpLXNsaWRlci0iK3RoaXMub3JpZW50YXRpb24sInVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCIpLHRoaXMuX3JlZnJlc2goKSx0aGlzLl9hbmltYXRlT2ZmPSExCn0sX3JlZnJlc2g6ZnVuY3Rpb24oKXt0aGlzLl9jcmVhdGVSYW5nZSgpLHRoaXMuX2NyZWF0ZUhhbmRsZXMoKSx0aGlzLl9zZXR1cEV2ZW50cygpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpfSxfY3JlYXRlSGFuZGxlczpmdW5jdGlvbigpe3ZhciBlLGkscz10aGlzLm9wdGlvbnMsbj10aGlzLmVsZW1lbnQuZmluZCgiLnVpLXNsaWRlci1oYW5kbGUiKSxvPSI8c3BhbiB0YWJpbmRleD0nMCc+PC9zcGFuPiIsYT1bXTtmb3IoaT1zLnZhbHVlcyYmcy52YWx1ZXMubGVuZ3RofHwxLG4ubGVuZ3RoPmkmJihuLnNsaWNlKGkpLnJlbW92ZSgpLG49bi5zbGljZSgwLGkpKSxlPW4ubGVuZ3RoO2k+ZTtlKyspYS5wdXNoKG8pO3RoaXMuaGFuZGxlcz1uLmFkZCh0KGEuam9pbigiIikpLmFwcGVuZFRvKHRoaXMuZWxlbWVudCkpLHRoaXMuX2FkZENsYXNzKHRoaXMuaGFuZGxlcywidWktc2xpZGVyLWhhbmRsZSIsInVpLXN0YXRlLWRlZmF1bHQiKSx0aGlzLmhhbmRsZT10aGlzLmhhbmRsZXMuZXEoMCksdGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24oZSl7dCh0aGlzKS5kYXRhKCJ1aS1zbGlkZXItaGFuZGxlLWluZGV4IixlKS5hdHRyKCJ0YWJJbmRleCIsMCl9KX0sX2NyZWF0ZVJhbmdlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zO2UucmFuZ2U/KGUucmFuZ2U9PT0hMCYmKGUudmFsdWVzP2UudmFsdWVzLmxlbmd0aCYmMiE9PWUudmFsdWVzLmxlbmd0aD9lLnZhbHVlcz1bZS52YWx1ZXNbMF0sZS52YWx1ZXNbMF1dOnQuaXNBcnJheShlLnZhbHVlcykmJihlLnZhbHVlcz1lLnZhbHVlcy5zbGljZSgwKSk6ZS52YWx1ZXM9W3RoaXMuX3ZhbHVlTWluKCksdGhpcy5fdmFsdWVNaW4oKV0pLHRoaXMucmFuZ2UmJnRoaXMucmFuZ2UubGVuZ3RoPyh0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLnJhbmdlLCJ1aS1zbGlkZXItcmFuZ2UtbWluIHVpLXNsaWRlci1yYW5nZS1tYXgiKSx0aGlzLnJhbmdlLmNzcyh7bGVmdDoiIixib3R0b206IiJ9KSk6KHRoaXMucmFuZ2U9dCgiPGRpdj4iKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpLHRoaXMuX2FkZENsYXNzKHRoaXMucmFuZ2UsInVpLXNsaWRlci1yYW5nZSIpKSwoIm1pbiI9PT1lLnJhbmdlfHwibWF4Ij09PWUucmFuZ2UpJiZ0aGlzLl9hZGRDbGFzcyh0aGlzLnJhbmdlLCJ1aS1zbGlkZXItcmFuZ2UtIitlLnJhbmdlKSk6KHRoaXMucmFuZ2UmJnRoaXMucmFuZ2UucmVtb3ZlKCksdGhpcy5yYW5nZT1udWxsKX0sX3NldHVwRXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy5fb2ZmKHRoaXMuaGFuZGxlcyksdGhpcy5fb24odGhpcy5oYW5kbGVzLHRoaXMuX2hhbmRsZUV2ZW50cyksdGhpcy5faG92ZXJhYmxlKHRoaXMuaGFuZGxlcyksdGhpcy5fZm9jdXNhYmxlKHRoaXMuaGFuZGxlcyl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5oYW5kbGVzLnJlbW92ZSgpLHRoaXMucmFuZ2UmJnRoaXMucmFuZ2UucmVtb3ZlKCksdGhpcy5fbW91c2VEZXN0cm95KCl9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oZSl7dmFyIGkscyxuLG8sYSxyLGgsbCxjPXRoaXMsdT10aGlzLm9wdGlvbnM7cmV0dXJuIHUuZGlzYWJsZWQ/ITE6KHRoaXMuZWxlbWVudFNpemU9e3dpZHRoOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCksaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpfSx0aGlzLmVsZW1lbnRPZmZzZXQ9dGhpcy5lbGVtZW50Lm9mZnNldCgpLGk9e3g6ZS5wYWdlWCx5OmUucGFnZVl9LHM9dGhpcy5fbm9ybVZhbHVlRnJvbU1vdXNlKGkpLG49dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpKzEsdGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24oZSl7dmFyIGk9TWF0aC5hYnMocy1jLnZhbHVlcyhlKSk7KG4+aXx8bj09PWkmJihlPT09Yy5fbGFzdENoYW5nZWRWYWx1ZXx8Yy52YWx1ZXMoZSk9PT11Lm1pbikpJiYobj1pLG89dCh0aGlzKSxhPWUpfSkscj10aGlzLl9zdGFydChlLGEpLHI9PT0hMT8hMToodGhpcy5fbW91c2VTbGlkaW5nPSEwLHRoaXMuX2hhbmRsZUluZGV4PWEsdGhpcy5fYWRkQ2xhc3MobyxudWxsLCJ1aS1zdGF0ZS1hY3RpdmUiKSxvLnRyaWdnZXIoImZvY3VzIiksaD1vLm9mZnNldCgpLGw9IXQoZS50YXJnZXQpLnBhcmVudHMoKS5hZGRCYWNrKCkuaXMoIi51aS1zbGlkZXItaGFuZGxlIiksdGhpcy5fY2xpY2tPZmZzZXQ9bD97bGVmdDowLHRvcDowfTp7bGVmdDplLnBhZ2VYLWgubGVmdC1vLndpZHRoKCkvMix0b3A6ZS5wYWdlWS1oLnRvcC1vLmhlaWdodCgpLzItKHBhcnNlSW50KG8uY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KG8uY3NzKCJib3JkZXJCb3R0b21XaWR0aCIpLDEwKXx8MCkrKHBhcnNlSW50KG8uY3NzKCJtYXJnaW5Ub3AiKSwxMCl8fDApfSx0aGlzLmhhbmRsZXMuaGFzQ2xhc3MoInVpLXN0YXRlLWhvdmVyIil8fHRoaXMuX3NsaWRlKGUsYSxzKSx0aGlzLl9hbmltYXRlT2ZmPSEwLCEwKSl9LF9tb3VzZVN0YXJ0OmZ1bmN0aW9uKCl7cmV0dXJuITB9LF9tb3VzZURyYWc6ZnVuY3Rpb24odCl7dmFyIGU9e3g6dC5wYWdlWCx5OnQucGFnZVl9LGk9dGhpcy5fbm9ybVZhbHVlRnJvbU1vdXNlKGUpO3JldHVybiB0aGlzLl9zbGlkZSh0LHRoaXMuX2hhbmRsZUluZGV4LGkpLCExfSxfbW91c2VTdG9wOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yZW1vdmVDbGFzcyh0aGlzLmhhbmRsZXMsbnVsbCwidWktc3RhdGUtYWN0aXZlIiksdGhpcy5fbW91c2VTbGlkaW5nPSExLHRoaXMuX3N0b3AodCx0aGlzLl9oYW5kbGVJbmRleCksdGhpcy5fY2hhbmdlKHQsdGhpcy5faGFuZGxlSW5kZXgpLHRoaXMuX2hhbmRsZUluZGV4PW51bGwsdGhpcy5fY2xpY2tPZmZzZXQ9bnVsbCx0aGlzLl9hbmltYXRlT2ZmPSExLCExfSxfZGV0ZWN0T3JpZW50YXRpb246ZnVuY3Rpb24oKXt0aGlzLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCI9PT10aGlzLm9wdGlvbnMub3JpZW50YXRpb24/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCJ9LF9ub3JtVmFsdWVGcm9tTW91c2U6ZnVuY3Rpb24odCl7dmFyIGUsaSxzLG4sbztyZXR1cm4iaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uPyhlPXRoaXMuZWxlbWVudFNpemUud2lkdGgsaT10LngtdGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQtKHRoaXMuX2NsaWNrT2Zmc2V0P3RoaXMuX2NsaWNrT2Zmc2V0LmxlZnQ6MCkpOihlPXRoaXMuZWxlbWVudFNpemUuaGVpZ2h0LGk9dC55LXRoaXMuZWxlbWVudE9mZnNldC50b3AtKHRoaXMuX2NsaWNrT2Zmc2V0P3RoaXMuX2NsaWNrT2Zmc2V0LnRvcDowKSkscz1pL2Uscz4xJiYocz0xKSwwPnMmJihzPTApLCJ2ZXJ0aWNhbCI9PT10aGlzLm9yaWVudGF0aW9uJiYocz0xLXMpLG49dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpLG89dGhpcy5fdmFsdWVNaW4oKStzKm4sdGhpcy5fdHJpbUFsaWduVmFsdWUobyl9LF91aUhhc2g6ZnVuY3Rpb24odCxlLGkpe3ZhciBzPXtoYW5kbGU6dGhpcy5oYW5kbGVzW3RdLGhhbmRsZUluZGV4OnQsdmFsdWU6dm9pZCAwIT09ZT9lOnRoaXMudmFsdWUoKX07cmV0dXJuIHRoaXMuX2hhc011bHRpcGxlVmFsdWVzKCkmJihzLnZhbHVlPXZvaWQgMCE9PWU/ZTp0aGlzLnZhbHVlcyh0KSxzLnZhbHVlcz1pfHx0aGlzLnZhbHVlcygpKSxzfSxfaGFzTXVsdGlwbGVWYWx1ZXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGh9LF9zdGFydDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl90cmlnZ2VyKCJzdGFydCIsdCx0aGlzLl91aUhhc2goZSkpfSxfc2xpZGU6ZnVuY3Rpb24odCxlLGkpe3ZhciBzLG4sbz10aGlzLnZhbHVlKCksYT10aGlzLnZhbHVlcygpO3RoaXMuX2hhc011bHRpcGxlVmFsdWVzKCkmJihuPXRoaXMudmFsdWVzKGU/MDoxKSxvPXRoaXMudmFsdWVzKGUpLDI9PT10aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCYmdGhpcy5vcHRpb25zLnJhbmdlPT09ITAmJihpPTA9PT1lP01hdGgubWluKG4saSk6TWF0aC5tYXgobixpKSksYVtlXT1pKSxpIT09byYmKHM9dGhpcy5fdHJpZ2dlcigic2xpZGUiLHQsdGhpcy5fdWlIYXNoKGUsaSxhKSkscyE9PSExJiYodGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLnZhbHVlcyhlLGkpOnRoaXMudmFsdWUoaSkpKX0sX3N0b3A6ZnVuY3Rpb24odCxlKXt0aGlzLl90cmlnZ2VyKCJzdG9wIix0LHRoaXMuX3VpSGFzaChlKSl9LF9jaGFuZ2U6ZnVuY3Rpb24odCxlKXt0aGlzLl9rZXlTbGlkaW5nfHx0aGlzLl9tb3VzZVNsaWRpbmd8fCh0aGlzLl9sYXN0Q2hhbmdlZFZhbHVlPWUsdGhpcy5fdHJpZ2dlcigiY2hhbmdlIix0LHRoaXMuX3VpSGFzaChlKSkpfSx2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5vcHRpb25zLnZhbHVlPXRoaXMuX3RyaW1BbGlnblZhbHVlKHQpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpLHRoaXMuX2NoYW5nZShudWxsLDApLHZvaWQgMCk6dGhpcy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKGUsaSl7dmFyIHMsbixvO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlyZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlc1tlXT10aGlzLl90cmltQWxpZ25WYWx1ZShpKSx0aGlzLl9yZWZyZXNoVmFsdWUoKSx0aGlzLl9jaGFuZ2UobnVsbCxlKSx2b2lkIDA7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX3ZhbHVlcygpO2lmKCF0LmlzQXJyYXkoYXJndW1lbnRzWzBdKSlyZXR1cm4gdGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLl92YWx1ZXMoZSk6dGhpcy52YWx1ZSgpO2ZvcihzPXRoaXMub3B0aW9ucy52YWx1ZXMsbj1hcmd1bWVudHNbMF0sbz0wO3MubGVuZ3RoPm87bys9MSlzW29dPXRoaXMuX3RyaW1BbGlnblZhbHVlKG5bb10pLHRoaXMuX2NoYW5nZShudWxsLG8pO3RoaXMuX3JlZnJlc2hWYWx1ZSgpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGUsaSl7dmFyIHMsbj0wO3N3aXRjaCgicmFuZ2UiPT09ZSYmdGhpcy5vcHRpb25zLnJhbmdlPT09ITAmJigibWluIj09PWk/KHRoaXMub3B0aW9ucy52YWx1ZT10aGlzLl92YWx1ZXMoMCksdGhpcy5vcHRpb25zLnZhbHVlcz1udWxsKToibWF4Ij09PWkmJih0aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fdmFsdWVzKHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoLTEpLHRoaXMub3B0aW9ucy52YWx1ZXM9bnVsbCkpLHQuaXNBcnJheSh0aGlzLm9wdGlvbnMudmFsdWVzKSYmKG49dGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGgpLHRoaXMuX3N1cGVyKGUsaSksZSl7Y2FzZSJvcmllbnRhdGlvbiI6dGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKSx0aGlzLl9yZW1vdmVDbGFzcygidWktc2xpZGVyLWhvcml6b250YWwgdWktc2xpZGVyLXZlcnRpY2FsIikuX2FkZENsYXNzKCJ1aS1zbGlkZXItIit0aGlzLm9yaWVudGF0aW9uKSx0aGlzLl9yZWZyZXNoVmFsdWUoKSx0aGlzLm9wdGlvbnMucmFuZ2UmJnRoaXMuX3JlZnJlc2hSYW5nZShpKSx0aGlzLmhhbmRsZXMuY3NzKCJob3Jpem9udGFsIj09PWk/ImJvdHRvbSI6ImxlZnQiLCIiKTticmVhaztjYXNlInZhbHVlIjp0aGlzLl9hbmltYXRlT2ZmPSEwLHRoaXMuX3JlZnJlc2hWYWx1ZSgpLHRoaXMuX2NoYW5nZShudWxsLDApLHRoaXMuX2FuaW1hdGVPZmY9ITE7YnJlYWs7Y2FzZSJ2YWx1ZXMiOmZvcih0aGlzLl9hbmltYXRlT2ZmPSEwLHRoaXMuX3JlZnJlc2hWYWx1ZSgpLHM9bi0xO3M+PTA7cy0tKXRoaXMuX2NoYW5nZShudWxsLHMpO3RoaXMuX2FuaW1hdGVPZmY9ITE7YnJlYWs7Y2FzZSJzdGVwIjpjYXNlIm1pbiI6Y2FzZSJtYXgiOnRoaXMuX2FuaW1hdGVPZmY9ITAsdGhpcy5fY2FsY3VsYXRlTmV3TWF4KCksdGhpcy5fcmVmcmVzaFZhbHVlKCksdGhpcy5fYW5pbWF0ZU9mZj0hMTticmVhaztjYXNlInJhbmdlIjp0aGlzLl9hbmltYXRlT2ZmPSEwLHRoaXMuX3JlZnJlc2goKSx0aGlzLl9hbmltYXRlT2ZmPSExfX0sX3NldE9wdGlvbkRpc2FibGVkOmZ1bmN0aW9uKHQpe3RoaXMuX3N1cGVyKHQpLHRoaXMuX3RvZ2dsZUNsYXNzKG51bGwsInVpLXN0YXRlLWRpc2FibGVkIiwhIXQpfSxfdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMudmFsdWU7cmV0dXJuIHQ9dGhpcy5fdHJpbUFsaWduVmFsdWUodCl9LF92YWx1ZXM6ZnVuY3Rpb24odCl7dmFyIGUsaSxzO2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGU9dGhpcy5vcHRpb25zLnZhbHVlc1t0XSxlPXRoaXMuX3RyaW1BbGlnblZhbHVlKGUpO2lmKHRoaXMuX2hhc011bHRpcGxlVmFsdWVzKCkpe2ZvcihpPXRoaXMub3B0aW9ucy52YWx1ZXMuc2xpY2UoKSxzPTA7aS5sZW5ndGg+cztzKz0xKWlbc109dGhpcy5fdHJpbUFsaWduVmFsdWUoaVtzXSk7cmV0dXJuIGl9cmV0dXJuW119LF90cmltQWxpZ25WYWx1ZTpmdW5jdGlvbih0KXtpZih0aGlzLl92YWx1ZU1pbigpPj10KXJldHVybiB0aGlzLl92YWx1ZU1pbigpO2lmKHQ+PXRoaXMuX3ZhbHVlTWF4KCkpcmV0dXJuIHRoaXMuX3ZhbHVlTWF4KCk7dmFyIGU9dGhpcy5vcHRpb25zLnN0ZXA+MD90aGlzLm9wdGlvbnMuc3RlcDoxLGk9KHQtdGhpcy5fdmFsdWVNaW4oKSklZSxzPXQtaTtyZXR1cm4gMipNYXRoLmFicyhpKT49ZSYmKHMrPWk+MD9lOi1lKSxwYXJzZUZsb2F0KHMudG9GaXhlZCg1KSl9LF9jYWxjdWxhdGVOZXdNYXg6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMubWF4LGU9dGhpcy5fdmFsdWVNaW4oKSxpPXRoaXMub3B0aW9ucy5zdGVwLHM9TWF0aC5yb3VuZCgodC1lKS9pKSppO3Q9cytlLHQ+dGhpcy5vcHRpb25zLm1heCYmKHQtPWkpLHRoaXMubWF4PXBhcnNlRmxvYXQodC50b0ZpeGVkKHRoaXMuX3ByZWNpc2lvbigpKSl9LF9wcmVjaXNpb246ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wcmVjaXNpb25PZih0aGlzLm9wdGlvbnMuc3RlcCk7cmV0dXJuIG51bGwhPT10aGlzLm9wdGlvbnMubWluJiYodD1NYXRoLm1heCh0LHRoaXMuX3ByZWNpc2lvbk9mKHRoaXMub3B0aW9ucy5taW4pKSksdH0sX3ByZWNpc2lvbk9mOmZ1bmN0aW9uKHQpe3ZhciBlPSIiK3QsaT1lLmluZGV4T2YoIi4iKTtyZXR1cm4tMT09PWk/MDplLmxlbmd0aC1pLTF9LF92YWx1ZU1pbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbnMubWlufSxfdmFsdWVNYXg6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXh9LF9yZWZyZXNoUmFuZ2U6ZnVuY3Rpb24odCl7InZlcnRpY2FsIj09PXQmJnRoaXMucmFuZ2UuY3NzKHt3aWR0aDoiIixsZWZ0OiIifSksImhvcml6b250YWwiPT09dCYmdGhpcy5yYW5nZS5jc3Moe2hlaWdodDoiIixib3R0b206IiJ9KX0sX3JlZnJlc2hWYWx1ZTpmdW5jdGlvbigpe3ZhciBlLGkscyxuLG8sYT10aGlzLm9wdGlvbnMucmFuZ2Uscj10aGlzLm9wdGlvbnMsaD10aGlzLGw9dGhpcy5fYW5pbWF0ZU9mZj8hMTpyLmFuaW1hdGUsYz17fTt0aGlzLl9oYXNNdWx0aXBsZVZhbHVlcygpP3RoaXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKHMpe2k9MTAwKigoaC52YWx1ZXMocyktaC5fdmFsdWVNaW4oKSkvKGguX3ZhbHVlTWF4KCktaC5fdmFsdWVNaW4oKSkpLGNbImhvcml6b250YWwiPT09aC5vcmllbnRhdGlvbj8ibGVmdCI6ImJvdHRvbSJdPWkrIiUiLHQodGhpcykuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXShjLHIuYW5pbWF0ZSksaC5vcHRpb25zLnJhbmdlPT09ITAmJigiaG9yaXpvbnRhbCI9PT1oLm9yaWVudGF0aW9uPygwPT09cyYmaC5yYW5nZS5zdG9wKDEsMSlbbD8iYW5pbWF0ZSI6ImNzcyJdKHtsZWZ0OmkrIiUifSxyLmFuaW1hdGUpLDE9PT1zJiZoLnJhbmdlW2w/ImFuaW1hdGUiOiJjc3MiXSh7d2lkdGg6aS1lKyIlIn0se3F1ZXVlOiExLGR1cmF0aW9uOnIuYW5pbWF0ZX0pKTooMD09PXMmJmgucmFuZ2Uuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXSh7Ym90dG9tOmkrIiUifSxyLmFuaW1hdGUpLDE9PT1zJiZoLnJhbmdlW2w/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0OmktZSsiJSJ9LHtxdWV1ZTohMSxkdXJhdGlvbjpyLmFuaW1hdGV9KSkpLGU9aX0pOihzPXRoaXMudmFsdWUoKSxuPXRoaXMuX3ZhbHVlTWluKCksbz10aGlzLl92YWx1ZU1heCgpLGk9byE9PW4/MTAwKigocy1uKS8oby1uKSk6MCxjWyJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24/ImxlZnQiOiJib3R0b20iXT1pKyIlIix0aGlzLmhhbmRsZS5zdG9wKDEsMSlbbD8iYW5pbWF0ZSI6ImNzcyJdKGMsci5hbmltYXRlKSwibWluIj09PWEmJiJob3Jpem9udGFsIj09PXRoaXMub3JpZW50YXRpb24mJnRoaXMucmFuZ2Uuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXSh7d2lkdGg6aSsiJSJ9LHIuYW5pbWF0ZSksIm1heCI9PT1hJiYiaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOjEwMC1pKyIlIn0sci5hbmltYXRlKSwibWluIj09PWEmJiJ2ZXJ0aWNhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDppKyIlIn0sci5hbmltYXRlKSwibWF4Ij09PWEmJiJ2ZXJ0aWNhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDoxMDAtaSsiJSJ9LHIuYW5pbWF0ZSkpfSxfaGFuZGxlRXZlbnRzOntrZXlkb3duOmZ1bmN0aW9uKGUpe3ZhciBpLHMsbixvLGE9dChlLnRhcmdldCkuZGF0YSgidWktc2xpZGVyLWhhbmRsZS1pbmRleCIpO3N3aXRjaChlLmtleUNvZGUpe2Nhc2UgdC51aS5rZXlDb2RlLkhPTUU6Y2FzZSB0LnVpLmtleUNvZGUuRU5EOmNhc2UgdC51aS5rZXlDb2RlLlBBR0VfVVA6Y2FzZSB0LnVpLmtleUNvZGUuUEFHRV9ET1dOOmNhc2UgdC51aS5rZXlDb2RlLlVQOmNhc2UgdC51aS5rZXlDb2RlLlJJR0hUOmNhc2UgdC51aS5rZXlDb2RlLkRPV046Y2FzZSB0LnVpLmtleUNvZGUuTEVGVDppZihlLnByZXZlbnREZWZhdWx0KCksIXRoaXMuX2tleVNsaWRpbmcmJih0aGlzLl9rZXlTbGlkaW5nPSEwLHRoaXMuX2FkZENsYXNzKHQoZS50YXJnZXQpLG51bGwsInVpLXN0YXRlLWFjdGl2ZSIpLGk9dGhpcy5fc3RhcnQoZSxhKSxpPT09ITEpKXJldHVybn1zd2l0Y2gobz10aGlzLm9wdGlvbnMuc3RlcCxzPW49dGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKT90aGlzLnZhbHVlcyhhKTp0aGlzLnZhbHVlKCksZS5rZXlDb2RlKXtjYXNlIHQudWkua2V5Q29kZS5IT01FOm49dGhpcy5fdmFsdWVNaW4oKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5FTkQ6bj10aGlzLl92YWx1ZU1heCgpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLlBBR0VfVVA6bj10aGlzLl90cmltQWxpZ25WYWx1ZShzKyh0aGlzLl92YWx1ZU1heCgpLXRoaXMuX3ZhbHVlTWluKCkpL3RoaXMubnVtUGFnZXMpO2JyZWFrO2Nhc2UgdC51aS5rZXlDb2RlLlBBR0VfRE9XTjpuPXRoaXMuX3RyaW1BbGlnblZhbHVlKHMtKHRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSkvdGhpcy5udW1QYWdlcyk7YnJlYWs7Y2FzZSB0LnVpLmtleUNvZGUuVVA6Y2FzZSB0LnVpLmtleUNvZGUuUklHSFQ6aWYocz09PXRoaXMuX3ZhbHVlTWF4KCkpcmV0dXJuO249dGhpcy5fdHJpbUFsaWduVmFsdWUocytvKTticmVhaztjYXNlIHQudWkua2V5Q29kZS5ET1dOOmNhc2UgdC51aS5rZXlDb2RlLkxFRlQ6aWYocz09PXRoaXMuX3ZhbHVlTWluKCkpcmV0dXJuO249dGhpcy5fdHJpbUFsaWduVmFsdWUocy1vKX10aGlzLl9zbGlkZShlLGEsbil9LGtleXVwOmZ1bmN0aW9uKGUpe3ZhciBpPXQoZS50YXJnZXQpLmRhdGEoInVpLXNsaWRlci1oYW5kbGUtaW5kZXgiKTt0aGlzLl9rZXlTbGlkaW5nJiYodGhpcy5fa2V5U2xpZGluZz0hMSx0aGlzLl9zdG9wKGUsaSksdGhpcy5fY2hhbmdlKGUsaSksdGhpcy5fcmVtb3ZlQ2xhc3ModChlLnRhcmdldCksbnVsbCwidWktc3RhdGUtYWN0aXZlIikpfX19KSx0LndpZGdldCgidWkuc29ydGFibGUiLHQudWkubW91c2Use3ZlcnNpb246IjEuMTIuMSIsd2lkZ2V0RXZlbnRQcmVmaXg6InNvcnQiLHJlYWR5OiExLG9wdGlvbnM6e2FwcGVuZFRvOiJwYXJlbnQiLGF4aXM6ITEsY29ubmVjdFdpdGg6ITEsY29udGFpbm1lbnQ6ITEsY3Vyc29yOiJhdXRvIixjdXJzb3JBdDohMSxkcm9wT25FbXB0eTohMCxmb3JjZVBsYWNlaG9sZGVyU2l6ZTohMSxmb3JjZUhlbHBlclNpemU6ITEsZ3JpZDohMSxoYW5kbGU6ITEsaGVscGVyOiJvcmlnaW5hbCIsaXRlbXM6Ij4gKiIsb3BhY2l0eTohMSxwbGFjZWhvbGRlcjohMSxyZXZlcnQ6ITEsc2Nyb2xsOiEwLHNjcm9sbFNlbnNpdGl2aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNjb3BlOiJkZWZhdWx0Iix0b2xlcmFuY2U6ImludGVyc2VjdCIsekluZGV4OjFlMyxhY3RpdmF0ZTpudWxsLGJlZm9yZVN0b3A6bnVsbCxjaGFuZ2U6bnVsbCxkZWFjdGl2YXRlOm51bGwsb3V0Om51bGwsb3ZlcjpudWxsLHJlY2VpdmU6bnVsbCxyZW1vdmU6bnVsbCxzb3J0Om51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGwsdXBkYXRlOm51bGx9LF9pc092ZXJBeGlzOmZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdD49ZSYmZStpPnR9LF9pc0Zsb2F0aW5nOmZ1bmN0aW9uKHQpe3JldHVybi9sZWZ0fHJpZ2h0Ly50ZXN0KHQuY3NzKCJmbG9hdCIpKXx8L2lubGluZXx0YWJsZS1jZWxsLy50ZXN0KHQuY3NzKCJkaXNwbGF5IikpfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5jb250YWluZXJDYWNoZT17fSx0aGlzLl9hZGRDbGFzcygidWktc29ydGFibGUiKSx0aGlzLnJlZnJlc2goKSx0aGlzLm9mZnNldD10aGlzLmVsZW1lbnQub2Zmc2V0KCksdGhpcy5fbW91c2VJbml0KCksdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCksdGhpcy5yZWFkeT0hMH0sX3NldE9wdGlvbjpmdW5jdGlvbih0LGUpe3RoaXMuX3N1cGVyKHQsZSksImhhbmRsZSI9PT10JiZ0aGlzLl9zZXRIYW5kbGVDbGFzc05hbWUoKX0sX3NldEhhbmRsZUNsYXNzTmFtZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50LmZpbmQoIi51aS1zb3J0YWJsZS1oYW5kbGUiKSwidWktc29ydGFibGUtaGFuZGxlIiksdC5lYWNoKHRoaXMuaXRlbXMsZnVuY3Rpb24oKXtlLl9hZGRDbGFzcyh0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGFuZGxlP3RoaXMuaXRlbS5maW5kKHRoaXMuaW5zdGFuY2Uub3B0aW9ucy5oYW5kbGUpOnRoaXMuaXRlbSwidWktc29ydGFibGUtaGFuZGxlIil9KX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLl9tb3VzZURlc3Ryb3koKTtmb3IodmFyIHQ9dGhpcy5pdGVtcy5sZW5ndGgtMTt0Pj0wO3QtLSl0aGlzLml0ZW1zW3RdLml0ZW0ucmVtb3ZlRGF0YSh0aGlzLndpZGdldE5hbWUrIi1pdGVtIik7cmV0dXJuIHRoaXN9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24oZSxpKXt2YXIgcz1udWxsLG49ITEsbz10aGlzO3JldHVybiB0aGlzLnJldmVydGluZz8hMTp0aGlzLm9wdGlvbnMuZGlzYWJsZWR8fCJzdGF0aWMiPT09dGhpcy5vcHRpb25zLnR5cGU/ITE6KHRoaXMuX3JlZnJlc2hJdGVtcyhlKSx0KGUudGFyZ2V0KS5wYXJlbnRzKCkuZWFjaChmdW5jdGlvbigpe3JldHVybiB0LmRhdGEodGhpcyxvLndpZGdldE5hbWUrIi1pdGVtIik9PT1vPyhzPXQodGhpcyksITEpOnZvaWQgMH0pLHQuZGF0YShlLnRhcmdldCxvLndpZGdldE5hbWUrIi1pdGVtIik9PT1vJiYocz10KGUudGFyZ2V0KSkscz8hdGhpcy5vcHRpb25zLmhhbmRsZXx8aXx8KHQodGhpcy5vcHRpb25zLmhhbmRsZSxzKS5maW5kKCIqIikuYWRkQmFjaygpLmVhY2goZnVuY3Rpb24oKXt0aGlzPT09ZS50YXJnZXQmJihuPSEwKX0pLG4pPyh0aGlzLmN1cnJlbnRJdGVtPXMsdGhpcy5fcmVtb3ZlQ3VycmVudHNGcm9tSXRlbXMoKSwhMCk6ITE6ITEpfSxfbW91c2VTdGFydDpmdW5jdGlvbihlLGkscyl7dmFyIG4sbyxhPXRoaXMub3B0aW9ucztpZih0aGlzLmN1cnJlbnRDb250YWluZXI9dGhpcyx0aGlzLnJlZnJlc2hQb3NpdGlvbnMoKSx0aGlzLmhlbHBlcj10aGlzLl9jcmVhdGVIZWxwZXIoZSksdGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpLHRoaXMuX2NhY2hlTWFyZ2lucygpLHRoaXMuc2Nyb2xsUGFyZW50PXRoaXMuaGVscGVyLnNjcm9sbFBhcmVudCgpLHRoaXMub2Zmc2V0PXRoaXMuY3VycmVudEl0ZW0ub2Zmc2V0KCksdGhpcy5vZmZzZXQ9e3RvcDp0aGlzLm9mZnNldC50b3AtdGhpcy5tYXJnaW5zLnRvcCxsZWZ0OnRoaXMub2Zmc2V0LmxlZnQtdGhpcy5tYXJnaW5zLmxlZnR9LHQuZXh0ZW5kKHRoaXMub2Zmc2V0LHtjbGljazp7bGVmdDplLnBhZ2VYLXRoaXMub2Zmc2V0LmxlZnQsdG9wOmUucGFnZVktdGhpcy5vZmZzZXQudG9wfSxwYXJlbnQ6dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkscmVsYXRpdmU6dGhpcy5fZ2V0UmVsYXRpdmVPZmZzZXQoKX0pLHRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iLCJhYnNvbHV0ZSIpLHRoaXMuY3NzUG9zaXRpb249dGhpcy5oZWxwZXIuY3NzKCJwb3NpdGlvbiIpLHRoaXMub3JpZ2luYWxQb3NpdGlvbj10aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKGUpLHRoaXMub3JpZ2luYWxQYWdlWD1lLnBhZ2VYLHRoaXMub3JpZ2luYWxQYWdlWT1lLnBhZ2VZLGEuY3Vyc29yQXQmJnRoaXMuX2FkanVzdE9mZnNldEZyb21IZWxwZXIoYS5jdXJzb3JBdCksdGhpcy5kb21Qb3NpdGlvbj17cHJldjp0aGlzLmN1cnJlbnRJdGVtLnByZXYoKVswXSxwYXJlbnQ6dGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKVswXX0sdGhpcy5oZWxwZXJbMF0hPT10aGlzLmN1cnJlbnRJdGVtWzBdJiZ0aGlzLmN1cnJlbnRJdGVtLmhpZGUoKSx0aGlzLl9jcmVhdGVQbGFjZWhvbGRlcigpLGEuY29udGFpbm1lbnQmJnRoaXMuX3NldENvbnRhaW5tZW50KCksYS5jdXJzb3ImJiJhdXRvIiE9PWEuY3Vyc29yJiYobz10aGlzLmRvY3VtZW50LmZpbmQoImJvZHkiKSx0aGlzLnN0b3JlZEN1cnNvcj1vLmNzcygiY3Vyc29yIiksby5jc3MoImN1cnNvciIsYS5jdXJzb3IpLHRoaXMuc3RvcmVkU3R5bGVzaGVldD10KCI8c3R5bGU+KnsgY3Vyc29yOiAiK2EuY3Vyc29yKyIgIWltcG9ydGFudDsgfTwvc3R5bGU+IikuYXBwZW5kVG8obykpLGEub3BhY2l0eSYmKHRoaXMuaGVscGVyLmNzcygib3BhY2l0eSIpJiYodGhpcy5fc3RvcmVkT3BhY2l0eT10aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiKSksdGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5IixhLm9wYWNpdHkpKSxhLnpJbmRleCYmKHRoaXMuaGVscGVyLmNzcygiekluZGV4IikmJih0aGlzLl9zdG9yZWRaSW5kZXg9dGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiKSksdGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiLGEuekluZGV4KSksdGhpcy5zY3JvbGxQYXJlbnRbMF0hPT10aGlzLmRvY3VtZW50WzBdJiYiSFRNTCIhPT10aGlzLnNjcm9sbFBhcmVudFswXS50YWdOYW1lJiYodGhpcy5vdmVyZmxvd09mZnNldD10aGlzLnNjcm9sbFBhcmVudC5vZmZzZXQoKSksdGhpcy5fdHJpZ2dlcigic3RhcnQiLGUsdGhpcy5fdWlIYXNoKCkpLHRoaXMuX3ByZXNlcnZlSGVscGVyUHJvcG9ydGlvbnN8fHRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKSwhcylmb3Iobj10aGlzLmNvbnRhaW5lcnMubGVuZ3RoLTE7bj49MDtuLS0pdGhpcy5jb250YWluZXJzW25dLl90cmlnZ2VyKCJhY3RpdmF0ZSIsZSx0aGlzLl91aUhhc2godGhpcykpO3JldHVybiB0LnVpLmRkbWFuYWdlciYmKHQudWkuZGRtYW5hZ2VyLmN1cnJlbnQ9dGhpcyksdC51aS5kZG1hbmFnZXImJiFhLmRyb3BCZWhhdmlvdXImJnQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsZSksdGhpcy5kcmFnZ2luZz0hMCx0aGlzLl9hZGRDbGFzcyh0aGlzLmhlbHBlciwidWktc29ydGFibGUtaGVscGVyIiksdGhpcy5fbW91c2VEcmFnKGUpLCEwfSxfbW91c2VEcmFnOmZ1bmN0aW9uKGUpe3ZhciBpLHMsbixvLGE9dGhpcy5vcHRpb25zLHI9ITE7Zm9yKHRoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbihlKSx0aGlzLnBvc2l0aW9uQWJzPXRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCJhYnNvbHV0ZSIpLHRoaXMubGFzdFBvc2l0aW9uQWJzfHwodGhpcy5sYXN0UG9zaXRpb25BYnM9dGhpcy5wb3NpdGlvbkFicyksdGhpcy5vcHRpb25zLnNjcm9sbCYmKHRoaXMuc2Nyb2xsUGFyZW50WzBdIT09dGhpcy5kb2N1bWVudFswXSYmIkhUTUwiIT09dGhpcy5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZT8odGhpcy5vdmVyZmxvd09mZnNldC50b3ArdGhpcy5zY3JvbGxQYXJlbnRbMF0ub2Zmc2V0SGVpZ2h0LWUucGFnZVk8YS5zY3JvbGxTZW5zaXRpdml0eT90aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3A9cj10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3ArYS5zY3JvbGxTcGVlZDplLnBhZ2VZLXRoaXMub3ZlcmZsb3dPZmZzZXQudG9wPGEuc2Nyb2xsU2Vuc2l0aXZpdHkmJih0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3A9cj10aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxUb3AtYS5zY3JvbGxTcGVlZCksdGhpcy5vdmVyZmxvd09mZnNldC5sZWZ0K3RoaXMuc2Nyb2xsUGFyZW50WzBdLm9mZnNldFdpZHRoLWUucGFnZVg8YS5zY3JvbGxTZW5zaXRpdml0eT90aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PXI9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdCthLnNjcm9sbFNwZWVkOmUucGFnZVgtdGhpcy5vdmVyZmxvd09mZnNldC5sZWZ0PGEuc2Nyb2xsU2Vuc2l0aXZpdHkmJih0aGlzLnNjcm9sbFBhcmVudFswXS5zY3JvbGxMZWZ0PXI9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdC1hLnNjcm9sbFNwZWVkKSk6KGUucGFnZVktdGhpcy5kb2N1bWVudC5zY3JvbGxUb3AoKTxhLnNjcm9sbFNlbnNpdGl2aXR5P3I9dGhpcy5kb2N1bWVudC5zY3JvbGxUb3AodGhpcy5kb2N1bWVudC5zY3JvbGxUb3AoKS1hLnNjcm9sbFNwZWVkKTp0aGlzLndpbmRvdy5oZWlnaHQoKS0oZS5wYWdlWS10aGlzLmRvY3VtZW50LnNjcm9sbFRvcCgpKTxhLnNjcm9sbFNlbnNpdGl2aXR5JiYocj10aGlzLmRvY3VtZW50LnNjcm9sbFRvcCh0aGlzLmRvY3VtZW50LnNjcm9sbFRvcCgpK2Euc2Nyb2xsU3BlZWQpKSxlLnBhZ2VYLXRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgpPGEuc2Nyb2xsU2Vuc2l0aXZpdHk/cj10aGlzLmRvY3VtZW50LnNjcm9sbExlZnQodGhpcy5kb2N1bWVudC5zY3JvbGxMZWZ0KCktYS5zY3JvbGxTcGVlZCk6dGhpcy53aW5kb3cud2lkdGgoKS0oZS5wYWdlWC10aGlzLmRvY3VtZW50LnNjcm9sbExlZnQoKSk8YS5zY3JvbGxTZW5zaXRpdml0eSYmKHI9dGhpcy5kb2N1bWVudC5zY3JvbGxMZWZ0KHRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgpK2Euc2Nyb2xsU3BlZWQpKSksciE9PSExJiZ0LnVpLmRkbWFuYWdlciYmIWEuZHJvcEJlaGF2aW91ciYmdC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHModGhpcyxlKSksdGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKSx0aGlzLm9wdGlvbnMuYXhpcyYmInkiPT09dGhpcy5vcHRpb25zLmF4aXN8fCh0aGlzLmhlbHBlclswXS5zdHlsZS5sZWZ0PXRoaXMucG9zaXRpb24ubGVmdCsicHgiKSx0aGlzLm9wdGlvbnMuYXhpcyYmIngiPT09dGhpcy5vcHRpb25zLmF4aXN8fCh0aGlzLmhlbHBlclswXS5zdHlsZS50b3A9dGhpcy5wb3NpdGlvbi50b3ArInB4IiksaT10aGlzLml0ZW1zLmxlbmd0aC0xO2k+PTA7aS0tKWlmKHM9dGhpcy5pdGVtc1tpXSxuPXMuaXRlbVswXSxvPXRoaXMuX2ludGVyc2VjdHNXaXRoUG9pbnRlcihzKSxvJiZzLmluc3RhbmNlPT09dGhpcy5jdXJyZW50Q29udGFpbmVyJiZuIT09dGhpcy5jdXJyZW50SXRlbVswXSYmdGhpcy5wbGFjZWhvbGRlclsxPT09bz8ibmV4dCI6InByZXYiXSgpWzBdIT09biYmIXQuY29udGFpbnModGhpcy5wbGFjZWhvbGRlclswXSxuKSYmKCJzZW1pLWR5bmFtaWMiPT09dGhpcy5vcHRpb25zLnR5cGU/IXQuY29udGFpbnModGhpcy5lbGVtZW50WzBdLG4pOiEwKSl7aWYodGhpcy5kaXJlY3Rpb249MT09PW8/ImRvd24iOiJ1cCIsInBvaW50ZXIiIT09dGhpcy5vcHRpb25zLnRvbGVyYW5jZSYmIXRoaXMuX2ludGVyc2VjdHNXaXRoU2lkZXMocykpYnJlYWs7dGhpcy5fcmVhcnJhbmdlKGUscyksdGhpcy5fdHJpZ2dlcigiY2hhbmdlIixlLHRoaXMuX3VpSGFzaCgpKTticmVha31yZXR1cm4gdGhpcy5fY29udGFjdENvbnRhaW5lcnMoZSksdC51aS5kZG1hbmFnZXImJnQudWkuZGRtYW5hZ2VyLmRyYWcodGhpcyxlKSx0aGlzLl90cmlnZ2VyKCJzb3J0IixlLHRoaXMuX3VpSGFzaCgpKSx0aGlzLmxhc3RQb3NpdGlvbkFicz10aGlzLnBvc2l0aW9uQWJzLCExfSxfbW91c2VTdG9wOmZ1bmN0aW9uKGUsaSl7aWYoZSl7aWYodC51aS5kZG1hbmFnZXImJiF0aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91ciYmdC51aS5kZG1hbmFnZXIuZHJvcCh0aGlzLGUpLHRoaXMub3B0aW9ucy5yZXZlcnQpe3ZhciBzPXRoaXMsbj10aGlzLnBsYWNlaG9sZGVyLm9mZnNldCgpLG89dGhpcy5vcHRpb25zLmF4aXMsYT17fTtvJiYieCIhPT1vfHwoYS5sZWZ0PW4ubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdC10aGlzLm1hcmdpbnMubGVmdCsodGhpcy5vZmZzZXRQYXJlbnRbMF09PT10aGlzLmRvY3VtZW50WzBdLmJvZHk/MDp0aGlzLm9mZnNldFBhcmVudFswXS5zY3JvbGxMZWZ0KSksbyYmInkiIT09b3x8KGEudG9wPW4udG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3AtdGhpcy5tYXJnaW5zLnRvcCsodGhpcy5vZmZzZXRQYXJlbnRbMF09PT10aGlzLmRvY3VtZW50WzBdLmJvZHk/MDp0aGlzLm9mZnNldFBhcmVudFswXS5zY3JvbGxUb3ApKSx0aGlzLnJldmVydGluZz0hMCx0KHRoaXMuaGVscGVyKS5hbmltYXRlKGEscGFyc2VJbnQodGhpcy5vcHRpb25zLnJldmVydCwxMCl8fDUwMCxmdW5jdGlvbigpe3MuX2NsZWFyKGUpfSl9ZWxzZSB0aGlzLl9jbGVhcihlLGkpO3JldHVybiExfX0sY2FuY2VsOmZ1bmN0aW9uKCl7aWYodGhpcy5kcmFnZ2luZyl7dGhpcy5fbW91c2VVcChuZXcgdC5FdmVudCgibW91c2V1cCIse3RhcmdldDpudWxsfSkpLCJvcmlnaW5hbCI9PT10aGlzLm9wdGlvbnMuaGVscGVyPyh0aGlzLmN1cnJlbnRJdGVtLmNzcyh0aGlzLl9zdG9yZWRDU1MpLHRoaXMuX3JlbW92ZUNsYXNzKHRoaXMuY3VycmVudEl0ZW0sInVpLXNvcnRhYmxlLWhlbHBlciIpKTp0aGlzLmN1cnJlbnRJdGVtLnNob3coKTtmb3IodmFyIGU9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2U+PTA7ZS0tKXRoaXMuY29udGFpbmVyc1tlXS5fdHJpZ2dlcigiZGVhY3RpdmF0ZSIsbnVsbCx0aGlzLl91aUhhc2godGhpcykpLHRoaXMuY29udGFpbmVyc1tlXS5jb250YWluZXJDYWNoZS5vdmVyJiYodGhpcy5jb250YWluZXJzW2VdLl90cmlnZ2VyKCJvdXQiLG51bGwsdGhpcy5fdWlIYXNoKHRoaXMpKSx0aGlzLmNvbnRhaW5lcnNbZV0uY29udGFpbmVyQ2FjaGUub3Zlcj0wKX1yZXR1cm4gdGhpcy5wbGFjZWhvbGRlciYmKHRoaXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZSYmdGhpcy5wbGFjZWhvbGRlclswXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pLCJvcmlnaW5hbCIhPT10aGlzLm9wdGlvbnMuaGVscGVyJiZ0aGlzLmhlbHBlciYmdGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZSYmdGhpcy5oZWxwZXIucmVtb3ZlKCksdC5leHRlbmQodGhpcyx7aGVscGVyOm51bGwsZHJhZ2dpbmc6ITEscmV2ZXJ0aW5nOiExLF9ub0ZpbmFsU29ydDpudWxsfSksdGhpcy5kb21Qb3NpdGlvbi5wcmV2P3QodGhpcy5kb21Qb3NpdGlvbi5wcmV2KS5hZnRlcih0aGlzLmN1cnJlbnRJdGVtKTp0KHRoaXMuZG9tUG9zaXRpb24ucGFyZW50KS5wcmVwZW5kKHRoaXMuY3VycmVudEl0ZW0pKSx0aGlzfSxzZXJpYWxpemU6ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcy5fZ2V0SXRlbXNBc2pRdWVyeShlJiZlLmNvbm5lY3RlZCkscz1bXTtyZXR1cm4gZT1lfHx7fSx0KGkpLmVhY2goZnVuY3Rpb24oKXt2YXIgaT0odChlLml0ZW18fHRoaXMpLmF0dHIoZS5hdHRyaWJ1dGV8fCJpZCIpfHwiIikubWF0Y2goZS5leHByZXNzaW9ufHwvKC4rKVtcLT1fXSguKykvKTtpJiZzLnB1c2goKGUua2V5fHxpWzFdKyJbXSIpKyI9IisoZS5rZXkmJmUuZXhwcmVzc2lvbj9pWzFdOmlbMl0pKX0pLCFzLmxlbmd0aCYmZS5rZXkmJnMucHVzaChlLmtleSsiPSIpLHMuam9pbigiJiIpfSx0b0FycmF5OmZ1bmN0aW9uKGUpe3ZhciBpPXRoaXMuX2dldEl0ZW1zQXNqUXVlcnkoZSYmZS5jb25uZWN0ZWQpLHM9W107cmV0dXJuIGU9ZXx8e30saS5lYWNoKGZ1bmN0aW9uKCl7cy5wdXNoKHQoZS5pdGVtfHx0aGlzKS5hdHRyKGUuYXR0cmlidXRlfHwiaWQiKXx8IiIpfSksc30sX2ludGVyc2VjdHNXaXRoOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMucG9zaXRpb25BYnMubGVmdCxpPWUrdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCxzPXRoaXMucG9zaXRpb25BYnMudG9wLG49cyt0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCxvPXQubGVmdCxhPW8rdC53aWR0aCxyPXQudG9wLGg9cit0LmhlaWdodCxsPXRoaXMub2Zmc2V0LmNsaWNrLnRvcCxjPXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQsdT0ieCI9PT10aGlzLm9wdGlvbnMuYXhpc3x8cytsPnImJmg+cytsLGQ9InkiPT09dGhpcy5vcHRpb25zLmF4aXN8fGUrYz5vJiZhPmUrYyxwPXUmJmQ7cmV0dXJuInBvaW50ZXIiPT09dGhpcy5vcHRpb25zLnRvbGVyYW5jZXx8dGhpcy5vcHRpb25zLmZvcmNlUG9pbnRlckZvckNvbnRhaW5lcnN8fCJwb2ludGVyIiE9PXRoaXMub3B0aW9ucy50b2xlcmFuY2UmJnRoaXMuaGVscGVyUHJvcG9ydGlvbnNbdGhpcy5mbG9hdGluZz8id2lkdGgiOiJoZWlnaHQiXT50W3RoaXMuZmxvYXRpbmc/IndpZHRoIjoiaGVpZ2h0Il0/cDplK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMj5vJiZhPmktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yJiZzK3RoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzI+ciYmaD5uLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzJ9LF9pbnRlcnNlY3RzV2l0aFBvaW50ZXI6ZnVuY3Rpb24odCl7dmFyIGUsaSxzPSJ4Ij09PXRoaXMub3B0aW9ucy5heGlzfHx0aGlzLl9pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMudG9wK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCx0LnRvcCx0LmhlaWdodCksbj0ieSI9PT10aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5faXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLmxlZnQrdGhpcy5vZmZzZXQuY2xpY2subGVmdCx0LmxlZnQsdC53aWR0aCksbz1zJiZuO3JldHVybiBvPyhlPXRoaXMuX2dldERyYWdWZXJ0aWNhbERpcmVjdGlvbigpLGk9dGhpcy5fZ2V0RHJhZ0hvcml6b250YWxEaXJlY3Rpb24oKSx0aGlzLmZsb2F0aW5nPyJyaWdodCI9PT1pfHwiZG93biI9PT1lPzI6MTplJiYoImRvd24iPT09ZT8yOjEpKTohMX0sX2ludGVyc2VjdHNXaXRoU2lkZXM6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5faXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLnRvcCt0aGlzLm9mZnNldC5jbGljay50b3AsdC50b3ArdC5oZWlnaHQvMix0LmhlaWdodCksaT10aGlzLl9pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMubGVmdCt0aGlzLm9mZnNldC5jbGljay5sZWZ0LHQubGVmdCt0LndpZHRoLzIsdC53aWR0aCkscz10aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24oKSxuPXRoaXMuX2dldERyYWdIb3Jpem9udGFsRGlyZWN0aW9uKCk7cmV0dXJuIHRoaXMuZmxvYXRpbmcmJm4/InJpZ2h0Ij09PW4mJml8fCJsZWZ0Ij09PW4mJiFpOnMmJigiZG93biI9PT1zJiZlfHwidXAiPT09cyYmIWUpfSxfZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wb3NpdGlvbkFicy50b3AtdGhpcy5sYXN0UG9zaXRpb25BYnMudG9wO3JldHVybiAwIT09dCYmKHQ+MD8iZG93biI6InVwIil9LF9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbjpmdW5jdGlvbigpe3ZhciB0PXRoaXMucG9zaXRpb25BYnMubGVmdC10aGlzLmxhc3RQb3NpdGlvbkFicy5sZWZ0O3JldHVybiAwIT09dCYmKHQ+MD8icmlnaHQiOiJsZWZ0Iil9LHJlZnJlc2g6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3JlZnJlc2hJdGVtcyh0KSx0aGlzLl9zZXRIYW5kbGVDbGFzc05hbWUoKSx0aGlzLnJlZnJlc2hQb3NpdGlvbnMoKSx0aGlzfSxfY29ubmVjdFdpdGg6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnM7cmV0dXJuIHQuY29ubmVjdFdpdGguY29uc3RydWN0b3I9PT1TdHJpbmc/W3QuY29ubmVjdFdpdGhdOnQuY29ubmVjdFdpdGh9LF9nZXRJdGVtc0FzalF1ZXJ5OmZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGkoKXtyLnB1c2godGhpcyl9dmFyIHMsbixvLGEscj1bXSxoPVtdLGw9dGhpcy5fY29ubmVjdFdpdGgoKTtpZihsJiZlKWZvcihzPWwubGVuZ3RoLTE7cz49MDtzLS0pZm9yKG89dChsW3NdLHRoaXMuZG9jdW1lbnRbMF0pLG49by5sZW5ndGgtMTtuPj0wO24tLSlhPXQuZGF0YShvW25dLHRoaXMud2lkZ2V0RnVsbE5hbWUpLGEmJmEhPT10aGlzJiYhYS5vcHRpb25zLmRpc2FibGVkJiZoLnB1c2goW3QuaXNGdW5jdGlvbihhLm9wdGlvbnMuaXRlbXMpP2Eub3B0aW9ucy5pdGVtcy5jYWxsKGEuZWxlbWVudCk6dChhLm9wdGlvbnMuaXRlbXMsYS5lbGVtZW50KS5ub3QoIi51aS1zb3J0YWJsZS1oZWxwZXIiKS5ub3QoIi51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIpLGFdKTtmb3IoaC5wdXNoKFt0LmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLml0ZW1zKT90aGlzLm9wdGlvbnMuaXRlbXMuY2FsbCh0aGlzLmVsZW1lbnQsbnVsbCx7b3B0aW9uczp0aGlzLm9wdGlvbnMsaXRlbTp0aGlzLmN1cnJlbnRJdGVtfSk6dCh0aGlzLm9wdGlvbnMuaXRlbXMsdGhpcy5lbGVtZW50KS5ub3QoIi51aS1zb3J0YWJsZS1oZWxwZXIiKS5ub3QoIi51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIpLHRoaXNdKSxzPWgubGVuZ3RoLTE7cz49MDtzLS0paFtzXVswXS5lYWNoKGkpO3JldHVybiB0KHIpfSxfcmVtb3ZlQ3VycmVudHNGcm9tSXRlbXM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmN1cnJlbnRJdGVtLmZpbmQoIjpkYXRhKCIrdGhpcy53aWRnZXROYW1lKyItaXRlbSkiKTt0aGlzLml0ZW1zPXQuZ3JlcCh0aGlzLml0ZW1zLGZ1bmN0aW9uKHQpe2Zvcih2YXIgaT0wO2UubGVuZ3RoPmk7aSsrKWlmKGVbaV09PT10Lml0ZW1bMF0pcmV0dXJuITE7cmV0dXJuITB9KX0sX3JlZnJlc2hJdGVtczpmdW5jdGlvbihlKXt0aGlzLml0ZW1zPVtdLHRoaXMuY29udGFpbmVycz1bdGhpc107dmFyIGkscyxuLG8sYSxyLGgsbCxjPXRoaXMuaXRlbXMsdT1bW3QuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMuaXRlbXMpP3RoaXMub3B0aW9ucy5pdGVtcy5jYWxsKHRoaXMuZWxlbWVudFswXSxlLHtpdGVtOnRoaXMuY3VycmVudEl0ZW19KTp0KHRoaXMub3B0aW9ucy5pdGVtcyx0aGlzLmVsZW1lbnQpLHRoaXNdXSxkPXRoaXMuX2Nvbm5lY3RXaXRoKCk7aWYoZCYmdGhpcy5yZWFkeSlmb3IoaT1kLmxlbmd0aC0xO2k+PTA7aS0tKWZvcihuPXQoZFtpXSx0aGlzLmRvY3VtZW50WzBdKSxzPW4ubGVuZ3RoLTE7cz49MDtzLS0pbz10LmRhdGEobltzXSx0aGlzLndpZGdldEZ1bGxOYW1lKSxvJiZvIT09dGhpcyYmIW8ub3B0aW9ucy5kaXNhYmxlZCYmKHUucHVzaChbdC5pc0Z1bmN0aW9uKG8ub3B0aW9ucy5pdGVtcyk/by5vcHRpb25zLml0ZW1zLmNhbGwoby5lbGVtZW50WzBdLGUse2l0ZW06dGhpcy5jdXJyZW50SXRlbX0pOnQoby5vcHRpb25zLml0ZW1zLG8uZWxlbWVudCksb10pLHRoaXMuY29udGFpbmVycy5wdXNoKG8pKTtmb3IoaT11Lmxlbmd0aC0xO2k+PTA7aS0tKWZvcihhPXVbaV1bMV0scj11W2ldWzBdLHM9MCxsPXIubGVuZ3RoO2w+cztzKyspaD10KHJbc10pLGguZGF0YSh0aGlzLndpZGdldE5hbWUrIi1pdGVtIixhKSxjLnB1c2goe2l0ZW06aCxpbnN0YW5jZTphLHdpZHRoOjAsaGVpZ2h0OjAsbGVmdDowLHRvcDowfSl9LHJlZnJlc2hQb3NpdGlvbnM6ZnVuY3Rpb24oZSl7dGhpcy5mbG9hdGluZz10aGlzLml0ZW1zLmxlbmd0aD8ieCI9PT10aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5faXNGbG9hdGluZyh0aGlzLml0ZW1zWzBdLml0ZW0pOiExLHRoaXMub2Zmc2V0UGFyZW50JiZ0aGlzLmhlbHBlciYmKHRoaXMub2Zmc2V0LnBhcmVudD10aGlzLl9nZXRQYXJlbnRPZmZzZXQoKSk7dmFyIGkscyxuLG87Zm9yKGk9dGhpcy5pdGVtcy5sZW5ndGgtMTtpPj0wO2ktLSlzPXRoaXMuaXRlbXNbaV0scy5pbnN0YW5jZSE9PXRoaXMuY3VycmVudENvbnRhaW5lciYmdGhpcy5jdXJyZW50Q29udGFpbmVyJiZzLml0ZW1bMF0hPT10aGlzLmN1cnJlbnRJdGVtWzBdfHwobj10aGlzLm9wdGlvbnMudG9sZXJhbmNlRWxlbWVudD90KHRoaXMub3B0aW9ucy50b2xlcmFuY2VFbGVtZW50LHMuaXRlbSk6cy5pdGVtLGV8fChzLndpZHRoPW4ub3V0ZXJXaWR0aCgpLHMuaGVpZ2h0PW4ub3V0ZXJIZWlnaHQoKSksbz1uLm9mZnNldCgpLHMubGVmdD1vLmxlZnQscy50b3A9by50b3ApO2lmKHRoaXMub3B0aW9ucy5jdXN0b20mJnRoaXMub3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMpdGhpcy5vcHRpb25zLmN1c3RvbS5yZWZyZXNoQ29udGFpbmVycy5jYWxsKHRoaXMpO2Vsc2UgZm9yKGk9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2k+PTA7aS0tKW89dGhpcy5jb250YWluZXJzW2ldLmVsZW1lbnQub2Zmc2V0KCksdGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLmxlZnQ9by5sZWZ0LHRoaXMuY29udGFpbmVyc1tpXS5jb250YWluZXJDYWNoZS50b3A9by50b3AsdGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLndpZHRoPXRoaXMuY29udGFpbmVyc1tpXS5lbGVtZW50Lm91dGVyV2lkdGgoKSx0aGlzLmNvbnRhaW5lcnNbaV0uY29udGFpbmVyQ2FjaGUuaGVpZ2h0PXRoaXMuY29udGFpbmVyc1tpXS5lbGVtZW50Lm91dGVySGVpZ2h0KCk7cmV0dXJuIHRoaXN9LF9jcmVhdGVQbGFjZWhvbGRlcjpmdW5jdGlvbihlKXtlPWV8fHRoaXM7dmFyIGkscz1lLm9wdGlvbnM7cy5wbGFjZWhvbGRlciYmcy5wbGFjZWhvbGRlci5jb25zdHJ1Y3RvciE9PVN0cmluZ3x8KGk9cy5wbGFjZWhvbGRlcixzLnBsYWNlaG9sZGVyPXtlbGVtZW50OmZ1bmN0aW9uKCl7dmFyIHM9ZS5jdXJyZW50SXRlbVswXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLG49dCgiPCIrcysiPiIsZS5kb2N1bWVudFswXSk7cmV0dXJuIGUuX2FkZENsYXNzKG4sInVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyIixpfHxlLmN1cnJlbnRJdGVtWzBdLmNsYXNzTmFtZSkuX3JlbW92ZUNsYXNzKG4sInVpLXNvcnRhYmxlLWhlbHBlciIpLCJ0Ym9keSI9PT1zP2UuX2NyZWF0ZVRyUGxhY2Vob2xkZXIoZS5jdXJyZW50SXRlbS5maW5kKCJ0ciIpLmVxKDApLHQoIjx0cj4iLGUuZG9jdW1lbnRbMF0pLmFwcGVuZFRvKG4pKToidHIiPT09cz9lLl9jcmVhdGVUclBsYWNlaG9sZGVyKGUuY3VycmVudEl0ZW0sbik6ImltZyI9PT1zJiZuLmF0dHIoInNyYyIsZS5jdXJyZW50SXRlbS5hdHRyKCJzcmMiKSksaXx8bi5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKSxufSx1cGRhdGU6ZnVuY3Rpb24odCxuKXsoIWl8fHMuZm9yY2VQbGFjZWhvbGRlclNpemUpJiYobi5oZWlnaHQoKXx8bi5oZWlnaHQoZS5jdXJyZW50SXRlbS5pbm5lckhlaWdodCgpLXBhcnNlSW50KGUuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nVG9wIil8fDAsMTApLXBhcnNlSW50KGUuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nQm90dG9tIil8fDAsMTApKSxuLndpZHRoKCl8fG4ud2lkdGgoZS5jdXJyZW50SXRlbS5pbm5lcldpZHRoKCktcGFyc2VJbnQoZS5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdMZWZ0Iil8fDAsMTApLXBhcnNlSW50KGUuY3VycmVudEl0ZW0uY3NzKCJwYWRkaW5nUmlnaHQiKXx8MCwxMCkpKX19KSxlLnBsYWNlaG9sZGVyPXQocy5wbGFjZWhvbGRlci5lbGVtZW50LmNhbGwoZS5lbGVtZW50LGUuY3VycmVudEl0ZW0pKSxlLmN1cnJlbnRJdGVtLmFmdGVyKGUucGxhY2Vob2xkZXIpLHMucGxhY2Vob2xkZXIudXBkYXRlKGUsZS5wbGFjZWhvbGRlcil9LF9jcmVhdGVUclBsYWNlaG9sZGVyOmZ1bmN0aW9uKGUsaSl7dmFyIHM9dGhpcztlLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbigpe3QoIjx0ZD4mIzE2MDs8L3RkPiIscy5kb2N1bWVudFswXSkuYXR0cigiY29sc3BhbiIsdCh0aGlzKS5hdHRyKCJjb2xzcGFuIil8fDEpLmFwcGVuZFRvKGkpfSl9LF9jb250YWN0Q29udGFpbmVyczpmdW5jdGlvbihlKXt2YXIgaSxzLG4sbyxhLHIsaCxsLGMsdSxkPW51bGwscD1udWxsO2ZvcihpPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtpPj0wO2ktLSlpZighdC5jb250YWlucyh0aGlzLmN1cnJlbnRJdGVtWzBdLHRoaXMuY29udGFpbmVyc1tpXS5lbGVtZW50WzBdKSlpZih0aGlzLl9pbnRlcnNlY3RzV2l0aCh0aGlzLmNvbnRhaW5lcnNbaV0uY29udGFpbmVyQ2FjaGUpKXtpZihkJiZ0LmNvbnRhaW5zKHRoaXMuY29udGFpbmVyc1tpXS5lbGVtZW50WzBdLGQuZWxlbWVudFswXSkpY29udGludWU7ZD10aGlzLmNvbnRhaW5lcnNbaV0scD1pfWVsc2UgdGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLm92ZXImJih0aGlzLmNvbnRhaW5lcnNbaV0uX3RyaWdnZXIoIm91dCIsZSx0aGlzLl91aUhhc2godGhpcykpLHRoaXMuY29udGFpbmVyc1tpXS5jb250YWluZXJDYWNoZS5vdmVyPTApO2lmKGQpaWYoMT09PXRoaXMuY29udGFpbmVycy5sZW5ndGgpdGhpcy5jb250YWluZXJzW3BdLmNvbnRhaW5lckNhY2hlLm92ZXJ8fCh0aGlzLmNvbnRhaW5lcnNbcF0uX3RyaWdnZXIoIm92ZXIiLGUsdGhpcy5fdWlIYXNoKHRoaXMpKSx0aGlzLmNvbnRhaW5lcnNbcF0uY29udGFpbmVyQ2FjaGUub3Zlcj0xKTtlbHNle2ZvcihuPTFlNCxvPW51bGwsYz1kLmZsb2F0aW5nfHx0aGlzLl9pc0Zsb2F0aW5nKHRoaXMuY3VycmVudEl0ZW0pLGE9Yz8ibGVmdCI6InRvcCIscj1jPyJ3aWR0aCI6ImhlaWdodCIsdT1jPyJwYWdlWCI6InBhZ2VZIixzPXRoaXMuaXRlbXMubGVuZ3RoLTE7cz49MDtzLS0pdC5jb250YWlucyh0aGlzLmNvbnRhaW5lcnNbcF0uZWxlbWVudFswXSx0aGlzLml0ZW1zW3NdLml0ZW1bMF0pJiZ0aGlzLml0ZW1zW3NdLml0ZW1bMF0hPT10aGlzLmN1cnJlbnRJdGVtWzBdJiYoaD10aGlzLml0ZW1zW3NdLml0ZW0ub2Zmc2V0KClbYV0sbD0hMSxlW3VdLWg+dGhpcy5pdGVtc1tzXVtyXS8yJiYobD0hMCksbj5NYXRoLmFicyhlW3VdLWgpJiYobj1NYXRoLmFicyhlW3VdLWgpLG89dGhpcy5pdGVtc1tzXSx0aGlzLmRpcmVjdGlvbj1sPyJ1cCI6ImRvd24iKSk7aWYoIW8mJiF0aGlzLm9wdGlvbnMuZHJvcE9uRW1wdHkpcmV0dXJuO2lmKHRoaXMuY3VycmVudENvbnRhaW5lcj09PXRoaXMuY29udGFpbmVyc1twXSlyZXR1cm4gdGhpcy5jdXJyZW50Q29udGFpbmVyLmNvbnRhaW5lckNhY2hlLm92ZXJ8fCh0aGlzLmNvbnRhaW5lcnNbcF0uX3RyaWdnZXIoIm92ZXIiLGUsdGhpcy5fdWlIYXNoKCkpLHRoaXMuY3VycmVudENvbnRhaW5lci5jb250YWluZXJDYWNoZS5vdmVyPTEpLHZvaWQgMDtvP3RoaXMuX3JlYXJyYW5nZShlLG8sbnVsbCwhMCk6dGhpcy5fcmVhcnJhbmdlKGUsbnVsbCx0aGlzLmNvbnRhaW5lcnNbcF0uZWxlbWVudCwhMCksdGhpcy5fdHJpZ2dlcigiY2hhbmdlIixlLHRoaXMuX3VpSGFzaCgpKSx0aGlzLmNvbnRhaW5lcnNbcF0uX3RyaWdnZXIoImNoYW5nZSIsZSx0aGlzLl91aUhhc2godGhpcykpLHRoaXMuY3VycmVudENvbnRhaW5lcj10aGlzLmNvbnRhaW5lcnNbcF0sdGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyLnVwZGF0ZSh0aGlzLmN1cnJlbnRDb250YWluZXIsdGhpcy5wbGFjZWhvbGRlciksdGhpcy5jb250YWluZXJzW3BdLl90cmlnZ2VyKCJvdmVyIixlLHRoaXMuX3VpSGFzaCh0aGlzKSksdGhpcy5jb250YWluZXJzW3BdLmNvbnRhaW5lckNhY2hlLm92ZXI9MX19LF9jcmVhdGVIZWxwZXI6ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcy5vcHRpb25zLHM9dC5pc0Z1bmN0aW9uKGkuaGVscGVyKT90KGkuaGVscGVyLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbZSx0aGlzLmN1cnJlbnRJdGVtXSkpOiJjbG9uZSI9PT1pLmhlbHBlcj90aGlzLmN1cnJlbnRJdGVtLmNsb25lKCk6dGhpcy5jdXJyZW50SXRlbTtyZXR1cm4gcy5wYXJlbnRzKCJib2R5IikubGVuZ3RofHx0KCJwYXJlbnQiIT09aS5hcHBlbmRUbz9pLmFwcGVuZFRvOnRoaXMuY3VycmVudEl0ZW1bMF0ucGFyZW50Tm9kZSlbMF0uYXBwZW5kQ2hpbGQoc1swXSksc1swXT09PXRoaXMuY3VycmVudEl0ZW1bMF0mJih0aGlzLl9zdG9yZWRDU1M9e3dpZHRoOnRoaXMuY3VycmVudEl0ZW1bMF0uc3R5bGUud2lkdGgsaGVpZ2h0OnRoaXMuY3VycmVudEl0ZW1bMF0uc3R5bGUuaGVpZ2h0LHBvc2l0aW9uOnRoaXMuY3VycmVudEl0ZW0uY3NzKCJwb3NpdGlvbiIpLHRvcDp0aGlzLmN1cnJlbnRJdGVtLmNzcygidG9wIiksbGVmdDp0aGlzLmN1cnJlbnRJdGVtLmNzcygibGVmdCIpfSksKCFzWzBdLnN0eWxlLndpZHRofHxpLmZvcmNlSGVscGVyU2l6ZSkmJnMud2lkdGgodGhpcy5jdXJyZW50SXRlbS53aWR0aCgpKSwoIXNbMF0uc3R5bGUuaGVpZ2h0fHxpLmZvcmNlSGVscGVyU2l6ZSkmJnMuaGVpZ2h0KHRoaXMuY3VycmVudEl0ZW0uaGVpZ2h0KCkpLHN9LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0aW9uKGUpeyJzdHJpbmciPT10eXBlb2YgZSYmKGU9ZS5zcGxpdCgiICIpKSx0LmlzQXJyYXkoZSkmJihlPXtsZWZ0OitlWzBdLHRvcDorZVsxXXx8MH0pLCJsZWZ0ImluIGUmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PWUubGVmdCt0aGlzLm1hcmdpbnMubGVmdCksInJpZ2h0ImluIGUmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtZS5yaWdodCt0aGlzLm1hcmdpbnMubGVmdCksInRvcCJpbiBlJiYodGhpcy5vZmZzZXQuY2xpY2sudG9wPWUudG9wK3RoaXMubWFyZ2lucy50b3ApLCJib3R0b20iaW4gZSYmKHRoaXMub2Zmc2V0LmNsaWNrLnRvcD10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC1lLmJvdHRvbSt0aGlzLm1hcmdpbnMudG9wKX0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3RoaXMub2Zmc2V0UGFyZW50PXRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpO3ZhciBlPXRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpO3JldHVybiJhYnNvbHV0ZSI9PT10aGlzLmNzc1Bvc2l0aW9uJiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9PXRoaXMuZG9jdW1lbnRbMF0mJnQuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pJiYoZS5sZWZ0Kz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCksZS50b3ArPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpKSwodGhpcy5vZmZzZXRQYXJlbnRbMF09PT10aGlzLmRvY3VtZW50WzBdLmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUmJiJodG1sIj09PXRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKSYmdC51aS5pZSkmJihlPXt0b3A6MCxsZWZ0OjB9KSx7dG9wOmUudG9wKyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OmUubGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApfX0sX2dldFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYoInJlbGF0aXZlIj09PXRoaXMuY3NzUG9zaXRpb24pe3ZhciB0PXRoaXMuY3VycmVudEl0ZW0ucG9zaXRpb24oKTtyZXR1cm57dG9wOnQudG9wLShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCksbGVmdDp0LmxlZnQtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygibGVmdCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpfX1yZXR1cm57dG9wOjAsbGVmdDowfX0sX2NhY2hlTWFyZ2luczpmdW5jdGlvbigpe3RoaXMubWFyZ2lucz17bGVmdDpwYXJzZUludCh0aGlzLmN1cnJlbnRJdGVtLmNzcygibWFyZ2luTGVmdCIpLDEwKXx8MCx0b3A6cGFyc2VJbnQodGhpcy5jdXJyZW50SXRlbS5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MH19LF9jYWNoZUhlbHBlclByb3BvcnRpb25zOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpfX0sX3NldENvbnRhaW5tZW50OmZ1bmN0aW9uKCl7dmFyIGUsaSxzLG49dGhpcy5vcHRpb25zOyJwYXJlbnQiPT09bi5jb250YWlubWVudCYmKG4uY29udGFpbm1lbnQ9dGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZSksKCJkb2N1bWVudCI9PT1uLmNvbnRhaW5tZW50fHwid2luZG93Ij09PW4uY29udGFpbm1lbnQpJiYodGhpcy5jb250YWlubWVudD1bMC10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LDAtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3AsImRvY3VtZW50Ij09PW4uY29udGFpbm1lbnQ/dGhpcy5kb2N1bWVudC53aWR0aCgpOnRoaXMud2luZG93LndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCwoImRvY3VtZW50Ij09PW4uY29udGFpbm1lbnQ/dGhpcy5kb2N1bWVudC5oZWlnaHQoKXx8ZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdodDp0aGlzLndpbmRvdy5oZWlnaHQoKXx8dGhpcy5kb2N1bWVudFswXS5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXSksL14oZG9jdW1lbnR8d2luZG93fHBhcmVudCkkLy50ZXN0KG4uY29udGFpbm1lbnQpfHwoZT10KG4uY29udGFpbm1lbnQpWzBdLGk9dChuLmNvbnRhaW5tZW50KS5vZmZzZXQoKSxzPSJoaWRkZW4iIT09dChlKS5jc3MoIm92ZXJmbG93IiksdGhpcy5jb250YWlubWVudD1baS5sZWZ0KyhwYXJzZUludCh0KGUpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQodChlKS5jc3MoInBhZGRpbmdMZWZ0IiksMTApfHwwKS10aGlzLm1hcmdpbnMubGVmdCxpLnRvcCsocGFyc2VJbnQodChlKS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQodChlKS5jc3MoInBhZGRpbmdUb3AiKSwxMCl8fDApLXRoaXMubWFyZ2lucy50b3AsaS5sZWZ0KyhzP01hdGgubWF4KGUuc2Nyb2xsV2lkdGgsZS5vZmZzZXRXaWR0aCk6ZS5vZmZzZXRXaWR0aCktKHBhcnNlSW50KHQoZSkuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApLShwYXJzZUludCh0KGUpLmNzcygicGFkZGluZ1JpZ2h0IiksMTApfHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLXRoaXMubWFyZ2lucy5sZWZ0LGkudG9wKyhzP01hdGgubWF4KGUuc2Nyb2xsSGVpZ2h0LGUub2Zmc2V0SGVpZ2h0KTplLm9mZnNldEhlaWdodCktKHBhcnNlSW50KHQoZSkuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KHQoZSkuY3NzKCJwYWRkaW5nQm90dG9tIiksMTApfHwwKS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXSl9LF9jb252ZXJ0UG9zaXRpb25UbzpmdW5jdGlvbihlLGkpe2l8fChpPXRoaXMucG9zaXRpb24pO3ZhciBzPSJhYnNvbHV0ZSI9PT1lPzE6LTEsbj0iYWJzb2x1dGUiIT09dGhpcy5jc3NQb3NpdGlvbnx8dGhpcy5zY3JvbGxQYXJlbnRbMF0hPT10aGlzLmRvY3VtZW50WzBdJiZ0LmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKT90aGlzLnNjcm9sbFBhcmVudDp0aGlzLm9mZnNldFBhcmVudCxvPS8oaHRtbHxib2R5KS9pLnRlc3QoblswXS50YWdOYW1lKTtyZXR1cm57dG9wOmkudG9wK3RoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCpzK3RoaXMub2Zmc2V0LnBhcmVudC50b3Aqcy0oImZpeGVkIj09PXRoaXMuY3NzUG9zaXRpb24/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOm8/MDpuLnNjcm9sbFRvcCgpKSpzLGxlZnQ6aS5sZWZ0K3RoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQqcyt0aGlzLm9mZnNldC5wYXJlbnQubGVmdCpzLSgiZml4ZWQiPT09dGhpcy5jc3NQb3NpdGlvbj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpOm8/MDpuLnNjcm9sbExlZnQoKSkqc319LF9nZW5lcmF0ZVBvc2l0aW9uOmZ1bmN0aW9uKGUpe3ZhciBpLHMsbj10aGlzLm9wdGlvbnMsbz1lLnBhZ2VYLGE9ZS5wYWdlWSxyPSJhYnNvbHV0ZSIhPT10aGlzLmNzc1Bvc2l0aW9ufHx0aGlzLnNjcm9sbFBhcmVudFswXSE9PXRoaXMuZG9jdW1lbnRbMF0mJnQuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pP3RoaXMuc2Nyb2xsUGFyZW50OnRoaXMub2Zmc2V0UGFyZW50LGg9LyhodG1sfGJvZHkpL2kudGVzdChyWzBdLnRhZ05hbWUpO3JldHVybiJyZWxhdGl2ZSIhPT10aGlzLmNzc1Bvc2l0aW9ufHx0aGlzLnNjcm9sbFBhcmVudFswXSE9PXRoaXMuZG9jdW1lbnRbMF0mJnRoaXMuc2Nyb2xsUGFyZW50WzBdIT09dGhpcy5vZmZzZXRQYXJlbnRbMF18fCh0aGlzLm9mZnNldC5yZWxhdGl2ZT10aGlzLl9nZXRSZWxhdGl2ZU9mZnNldCgpKSx0aGlzLm9yaWdpbmFsUG9zaXRpb24mJih0aGlzLmNvbnRhaW5tZW50JiYoZS5wYWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PHRoaXMuY29udGFpbm1lbnRbMF0mJihvPXRoaXMuY29udGFpbm1lbnRbMF0rdGhpcy5vZmZzZXQuY2xpY2subGVmdCksZS5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A8dGhpcy5jb250YWlubWVudFsxXSYmKGE9dGhpcy5jb250YWlubWVudFsxXSt0aGlzLm9mZnNldC5jbGljay50b3ApLGUucGFnZVgtdGhpcy5vZmZzZXQuY2xpY2subGVmdD50aGlzLmNvbnRhaW5tZW50WzJdJiYobz10aGlzLmNvbnRhaW5tZW50WzJdK3RoaXMub2Zmc2V0LmNsaWNrLmxlZnQpLGUucGFnZVktdGhpcy5vZmZzZXQuY2xpY2sudG9wPnRoaXMuY29udGFpbm1lbnRbM10mJihhPXRoaXMuY29udGFpbm1lbnRbM10rdGhpcy5vZmZzZXQuY2xpY2sudG9wKSksbi5ncmlkJiYoaT10aGlzLm9yaWdpbmFsUGFnZVkrTWF0aC5yb3VuZCgoYS10aGlzLm9yaWdpbmFsUGFnZVkpL24uZ3JpZFsxXSkqbi5ncmlkWzFdLGE9dGhpcy5jb250YWlubWVudD9pLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD49dGhpcy5jb250YWlubWVudFsxXSYmaS10aGlzLm9mZnNldC5jbGljay50b3A8PXRoaXMuY29udGFpbm1lbnRbM10/aTppLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD49dGhpcy5jb250YWlubWVudFsxXT9pLW4uZ3JpZFsxXTppK24uZ3JpZFsxXTppLHM9dGhpcy5vcmlnaW5hbFBhZ2VYK01hdGgucm91bmQoKG8tdGhpcy5vcmlnaW5hbFBhZ2VYKS9uLmdyaWRbMF0pKm4uZ3JpZFswXSxvPXRoaXMuY29udGFpbm1lbnQ/cy10aGlzLm9mZnNldC5jbGljay5sZWZ0Pj10aGlzLmNvbnRhaW5tZW50WzBdJiZzLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8PXRoaXMuY29udGFpbm1lbnRbMl0/czpzLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+PXRoaXMuY29udGFpbm1lbnRbMF0/cy1uLmdyaWRbMF06cytuLmdyaWRbMF06cykpLHt0b3A6YS10aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3ArKCJmaXhlZCI9PT10aGlzLmNzc1Bvc2l0aW9uPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKTpoPzA6ci5zY3JvbGxUb3AoKSksbGVmdDpvLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQtdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdC10aGlzLm9mZnNldC5wYXJlbnQubGVmdCsoImZpeGVkIj09PXRoaXMuY3NzUG9zaXRpb24/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKTpoPzA6ci5zY3JvbGxMZWZ0KCkpfX0sX3JlYXJyYW5nZTpmdW5jdGlvbih0LGUsaSxzKXtpP2lbMF0uYXBwZW5kQ2hpbGQodGhpcy5wbGFjZWhvbGRlclswXSk6ZS5pdGVtWzBdLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMucGxhY2Vob2xkZXJbMF0sImRvd24iPT09dGhpcy5kaXJlY3Rpb24/ZS5pdGVtWzBdOmUuaXRlbVswXS5uZXh0U2libGluZyksdGhpcy5jb3VudGVyPXRoaXMuY291bnRlcj8rK3RoaXMuY291bnRlcjoxO3ZhciBuPXRoaXMuY291bnRlcjsKdGhpcy5fZGVsYXkoZnVuY3Rpb24oKXtuPT09dGhpcy5jb3VudGVyJiZ0aGlzLnJlZnJlc2hQb3NpdGlvbnMoIXMpfSl9LF9jbGVhcjpmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIGkodCxlLGkpe3JldHVybiBmdW5jdGlvbihzKXtpLl90cmlnZ2VyKHQscyxlLl91aUhhc2goZSkpfX10aGlzLnJldmVydGluZz0hMTt2YXIgcyxuPVtdO2lmKCF0aGlzLl9ub0ZpbmFsU29ydCYmdGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKS5sZW5ndGgmJnRoaXMucGxhY2Vob2xkZXIuYmVmb3JlKHRoaXMuY3VycmVudEl0ZW0pLHRoaXMuX25vRmluYWxTb3J0PW51bGwsdGhpcy5oZWxwZXJbMF09PT10aGlzLmN1cnJlbnRJdGVtWzBdKXtmb3IocyBpbiB0aGlzLl9zdG9yZWRDU1MpKCJhdXRvIj09PXRoaXMuX3N0b3JlZENTU1tzXXx8InN0YXRpYyI9PT10aGlzLl9zdG9yZWRDU1Nbc10pJiYodGhpcy5fc3RvcmVkQ1NTW3NdPSIiKTt0aGlzLmN1cnJlbnRJdGVtLmNzcyh0aGlzLl9zdG9yZWRDU1MpLHRoaXMuX3JlbW92ZUNsYXNzKHRoaXMuY3VycmVudEl0ZW0sInVpLXNvcnRhYmxlLWhlbHBlciIpfWVsc2UgdGhpcy5jdXJyZW50SXRlbS5zaG93KCk7Zm9yKHRoaXMuZnJvbU91dHNpZGUmJiFlJiZuLnB1c2goZnVuY3Rpb24odCl7dGhpcy5fdHJpZ2dlcigicmVjZWl2ZSIsdCx0aGlzLl91aUhhc2godGhpcy5mcm9tT3V0c2lkZSkpfSksIXRoaXMuZnJvbU91dHNpZGUmJnRoaXMuZG9tUG9zaXRpb24ucHJldj09PXRoaXMuY3VycmVudEl0ZW0ucHJldigpLm5vdCgiLnVpLXNvcnRhYmxlLWhlbHBlciIpWzBdJiZ0aGlzLmRvbVBvc2l0aW9uLnBhcmVudD09PXRoaXMuY3VycmVudEl0ZW0ucGFyZW50KClbMF18fGV8fG4ucHVzaChmdW5jdGlvbih0KXt0aGlzLl90cmlnZ2VyKCJ1cGRhdGUiLHQsdGhpcy5fdWlIYXNoKCkpfSksdGhpcyE9PXRoaXMuY3VycmVudENvbnRhaW5lciYmKGV8fChuLnB1c2goZnVuY3Rpb24odCl7dGhpcy5fdHJpZ2dlcigicmVtb3ZlIix0LHRoaXMuX3VpSGFzaCgpKX0pLG4ucHVzaChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dC5fdHJpZ2dlcigicmVjZWl2ZSIsZSx0aGlzLl91aUhhc2godGhpcykpfX0uY2FsbCh0aGlzLHRoaXMuY3VycmVudENvbnRhaW5lcikpLG4ucHVzaChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dC5fdHJpZ2dlcigidXBkYXRlIixlLHRoaXMuX3VpSGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsdGhpcy5jdXJyZW50Q29udGFpbmVyKSkpKSxzPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtzPj0wO3MtLSllfHxuLnB1c2goaSgiZGVhY3RpdmF0ZSIsdGhpcyx0aGlzLmNvbnRhaW5lcnNbc10pKSx0aGlzLmNvbnRhaW5lcnNbc10uY29udGFpbmVyQ2FjaGUub3ZlciYmKG4ucHVzaChpKCJvdXQiLHRoaXMsdGhpcy5jb250YWluZXJzW3NdKSksdGhpcy5jb250YWluZXJzW3NdLmNvbnRhaW5lckNhY2hlLm92ZXI9MCk7aWYodGhpcy5zdG9yZWRDdXJzb3ImJih0aGlzLmRvY3VtZW50LmZpbmQoImJvZHkiKS5jc3MoImN1cnNvciIsdGhpcy5zdG9yZWRDdXJzb3IpLHRoaXMuc3RvcmVkU3R5bGVzaGVldC5yZW1vdmUoKSksdGhpcy5fc3RvcmVkT3BhY2l0eSYmdGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5Iix0aGlzLl9zdG9yZWRPcGFjaXR5KSx0aGlzLl9zdG9yZWRaSW5kZXgmJnRoaXMuaGVscGVyLmNzcygiekluZGV4IiwiYXV0byI9PT10aGlzLl9zdG9yZWRaSW5kZXg/IiI6dGhpcy5fc3RvcmVkWkluZGV4KSx0aGlzLmRyYWdnaW5nPSExLGV8fHRoaXMuX3RyaWdnZXIoImJlZm9yZVN0b3AiLHQsdGhpcy5fdWlIYXNoKCkpLHRoaXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKSx0aGlzLmNhbmNlbEhlbHBlclJlbW92YWx8fCh0aGlzLmhlbHBlclswXSE9PXRoaXMuY3VycmVudEl0ZW1bMF0mJnRoaXMuaGVscGVyLnJlbW92ZSgpLHRoaXMuaGVscGVyPW51bGwpLCFlKXtmb3Iocz0wO24ubGVuZ3RoPnM7cysrKW5bc10uY2FsbCh0aGlzLHQpO3RoaXMuX3RyaWdnZXIoInN0b3AiLHQsdGhpcy5fdWlIYXNoKCkpfXJldHVybiB0aGlzLmZyb21PdXRzaWRlPSExLCF0aGlzLmNhbmNlbEhlbHBlclJlbW92YWx9LF90cmlnZ2VyOmZ1bmN0aW9uKCl7dC5XaWRnZXQucHJvdG90eXBlLl90cmlnZ2VyLmFwcGx5KHRoaXMsYXJndW1lbnRzKT09PSExJiZ0aGlzLmNhbmNlbCgpfSxfdWlIYXNoOmZ1bmN0aW9uKGUpe3ZhciBpPWV8fHRoaXM7cmV0dXJue2hlbHBlcjppLmhlbHBlcixwbGFjZWhvbGRlcjppLnBsYWNlaG9sZGVyfHx0KFtdKSxwb3NpdGlvbjppLnBvc2l0aW9uLG9yaWdpbmFsUG9zaXRpb246aS5vcmlnaW5hbFBvc2l0aW9uLG9mZnNldDppLnBvc2l0aW9uQWJzLGl0ZW06aS5jdXJyZW50SXRlbSxzZW5kZXI6ZT9lLmVsZW1lbnQ6bnVsbH19fSksdC53aWRnZXQoInVpLnNwaW5uZXIiLHt2ZXJzaW9uOiIxLjEyLjEiLGRlZmF1bHRFbGVtZW50OiI8aW5wdXQ+Iix3aWRnZXRFdmVudFByZWZpeDoic3BpbiIsb3B0aW9uczp7Y2xhc3Nlczp7InVpLXNwaW5uZXIiOiJ1aS1jb3JuZXItYWxsIiwidWktc3Bpbm5lci1kb3duIjoidWktY29ybmVyLWJyIiwidWktc3Bpbm5lci11cCI6InVpLWNvcm5lci10ciJ9LGN1bHR1cmU6bnVsbCxpY29uczp7ZG93bjoidWktaWNvbi10cmlhbmdsZS0xLXMiLHVwOiJ1aS1pY29uLXRyaWFuZ2xlLTEtbiJ9LGluY3JlbWVudGFsOiEwLG1heDpudWxsLG1pbjpudWxsLG51bWJlckZvcm1hdDpudWxsLHBhZ2U6MTAsc3RlcDoxLGNoYW5nZTpudWxsLHNwaW46bnVsbCxzdGFydDpudWxsLHN0b3A6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuX3NldE9wdGlvbigibWF4Iix0aGlzLm9wdGlvbnMubWF4KSx0aGlzLl9zZXRPcHRpb24oIm1pbiIsdGhpcy5vcHRpb25zLm1pbiksdGhpcy5fc2V0T3B0aW9uKCJzdGVwIix0aGlzLm9wdGlvbnMuc3RlcCksIiIhPT10aGlzLnZhbHVlKCkmJnRoaXMuX3ZhbHVlKHRoaXMuZWxlbWVudC52YWwoKSwhMCksdGhpcy5fZHJhdygpLHRoaXMuX29uKHRoaXMuX2V2ZW50cyksdGhpcy5fcmVmcmVzaCgpLHRoaXMuX29uKHRoaXMud2luZG93LHtiZWZvcmV1bmxvYWQ6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cigiYXV0b2NvbXBsZXRlIil9fSl9LF9nZXRDcmVhdGVPcHRpb25zOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fc3VwZXIoKSxpPXRoaXMuZWxlbWVudDtyZXR1cm4gdC5lYWNoKFsibWluIiwibWF4Iiwic3RlcCJdLGZ1bmN0aW9uKHQscyl7dmFyIG49aS5hdHRyKHMpO251bGwhPW4mJm4ubGVuZ3RoJiYoZVtzXT1uKX0pLGV9LF9ldmVudHM6e2tleWRvd246ZnVuY3Rpb24odCl7dGhpcy5fc3RhcnQodCkmJnRoaXMuX2tleWRvd24odCkmJnQucHJldmVudERlZmF1bHQoKX0sa2V5dXA6Il9zdG9wIixmb2N1czpmdW5jdGlvbigpe3RoaXMucHJldmlvdXM9dGhpcy5lbGVtZW50LnZhbCgpfSxibHVyOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNhbmNlbEJsdXI/KGRlbGV0ZSB0aGlzLmNhbmNlbEJsdXIsdm9pZCAwKToodGhpcy5fc3RvcCgpLHRoaXMuX3JlZnJlc2goKSx0aGlzLnByZXZpb3VzIT09dGhpcy5lbGVtZW50LnZhbCgpJiZ0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLHQpLHZvaWQgMCl9LG1vdXNld2hlZWw6ZnVuY3Rpb24odCxlKXtpZihlKXtpZighdGhpcy5zcGlubmluZyYmIXRoaXMuX3N0YXJ0KHQpKXJldHVybiExO3RoaXMuX3NwaW4oKGU+MD8xOi0xKSp0aGlzLm9wdGlvbnMuc3RlcCx0KSxjbGVhclRpbWVvdXQodGhpcy5tb3VzZXdoZWVsVGltZXIpLHRoaXMubW91c2V3aGVlbFRpbWVyPXRoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7dGhpcy5zcGlubmluZyYmdGhpcy5fc3RvcCh0KX0sMTAwKSx0LnByZXZlbnREZWZhdWx0KCl9fSwibW91c2Vkb3duIC51aS1zcGlubmVyLWJ1dHRvbiI6ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gaSgpe3ZhciBlPXRoaXMuZWxlbWVudFswXT09PXQudWkuc2FmZUFjdGl2ZUVsZW1lbnQodGhpcy5kb2N1bWVudFswXSk7ZXx8KHRoaXMuZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpLHRoaXMucHJldmlvdXM9cyx0aGlzLl9kZWxheShmdW5jdGlvbigpe3RoaXMucHJldmlvdXM9c30pKX12YXIgcztzPXRoaXMuZWxlbWVudFswXT09PXQudWkuc2FmZUFjdGl2ZUVsZW1lbnQodGhpcy5kb2N1bWVudFswXSk/dGhpcy5wcmV2aW91czp0aGlzLmVsZW1lbnQudmFsKCksZS5wcmV2ZW50RGVmYXVsdCgpLGkuY2FsbCh0aGlzKSx0aGlzLmNhbmNlbEJsdXI9ITAsdGhpcy5fZGVsYXkoZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5jYW5jZWxCbHVyLGkuY2FsbCh0aGlzKX0pLHRoaXMuX3N0YXJ0KGUpIT09ITEmJnRoaXMuX3JlcGVhdChudWxsLHQoZS5jdXJyZW50VGFyZ2V0KS5oYXNDbGFzcygidWktc3Bpbm5lci11cCIpPzE6LTEsZSl9LCJtb3VzZXVwIC51aS1zcGlubmVyLWJ1dHRvbiI6Il9zdG9wIiwibW91c2VlbnRlciAudWktc3Bpbm5lci1idXR0b24iOmZ1bmN0aW9uKGUpe3JldHVybiB0KGUuY3VycmVudFRhcmdldCkuaGFzQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpP3RoaXMuX3N0YXJ0KGUpPT09ITE/ITE6KHRoaXMuX3JlcGVhdChudWxsLHQoZS5jdXJyZW50VGFyZ2V0KS5oYXNDbGFzcygidWktc3Bpbm5lci11cCIpPzE6LTEsZSksdm9pZCAwKTp2b2lkIDB9LCJtb3VzZWxlYXZlIC51aS1zcGlubmVyLWJ1dHRvbiI6Il9zdG9wIn0sX2VuaGFuY2U6ZnVuY3Rpb24oKXt0aGlzLnVpU3Bpbm5lcj10aGlzLmVsZW1lbnQuYXR0cigiYXV0b2NvbXBsZXRlIiwib2ZmIikud3JhcCgiPHNwYW4+IikucGFyZW50KCkuYXBwZW5kKCI8YT48L2E+PGE+PC9hPiIpfSxfZHJhdzpmdW5jdGlvbigpe3RoaXMuX2VuaGFuY2UoKSx0aGlzLl9hZGRDbGFzcyh0aGlzLnVpU3Bpbm5lciwidWktc3Bpbm5lciIsInVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCIpLHRoaXMuX2FkZENsYXNzKCJ1aS1zcGlubmVyLWlucHV0IiksdGhpcy5lbGVtZW50LmF0dHIoInJvbGUiLCJzcGluYnV0dG9uIiksdGhpcy5idXR0b25zPXRoaXMudWlTcGlubmVyLmNoaWxkcmVuKCJhIikuYXR0cigidGFiSW5kZXgiLC0xKS5hdHRyKCJhcmlhLWhpZGRlbiIsITApLmJ1dHRvbih7Y2xhc3Nlczp7InVpLWJ1dHRvbiI6IiJ9fSksdGhpcy5fcmVtb3ZlQ2xhc3ModGhpcy5idXR0b25zLCJ1aS1jb3JuZXItYWxsIiksdGhpcy5fYWRkQ2xhc3ModGhpcy5idXR0b25zLmZpcnN0KCksInVpLXNwaW5uZXItYnV0dG9uIHVpLXNwaW5uZXItdXAiKSx0aGlzLl9hZGRDbGFzcyh0aGlzLmJ1dHRvbnMubGFzdCgpLCJ1aS1zcGlubmVyLWJ1dHRvbiB1aS1zcGlubmVyLWRvd24iKSx0aGlzLmJ1dHRvbnMuZmlyc3QoKS5idXR0b24oe2ljb246dGhpcy5vcHRpb25zLmljb25zLnVwLHNob3dMYWJlbDohMX0pLHRoaXMuYnV0dG9ucy5sYXN0KCkuYnV0dG9uKHtpY29uOnRoaXMub3B0aW9ucy5pY29ucy5kb3duLHNob3dMYWJlbDohMX0pLHRoaXMuYnV0dG9ucy5oZWlnaHQoKT5NYXRoLmNlaWwoLjUqdGhpcy51aVNwaW5uZXIuaGVpZ2h0KCkpJiZ0aGlzLnVpU3Bpbm5lci5oZWlnaHQoKT4wJiZ0aGlzLnVpU3Bpbm5lci5oZWlnaHQodGhpcy51aVNwaW5uZXIuaGVpZ2h0KCkpfSxfa2V5ZG93bjpmdW5jdGlvbihlKXt2YXIgaT10aGlzLm9wdGlvbnMscz10LnVpLmtleUNvZGU7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSBzLlVQOnJldHVybiB0aGlzLl9yZXBlYXQobnVsbCwxLGUpLCEwO2Nhc2Ugcy5ET1dOOnJldHVybiB0aGlzLl9yZXBlYXQobnVsbCwtMSxlKSwhMDtjYXNlIHMuUEFHRV9VUDpyZXR1cm4gdGhpcy5fcmVwZWF0KG51bGwsaS5wYWdlLGUpLCEwO2Nhc2Ugcy5QQUdFX0RPV046cmV0dXJuIHRoaXMuX3JlcGVhdChudWxsLC1pLnBhZ2UsZSksITB9cmV0dXJuITF9LF9zdGFydDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zcGlubmluZ3x8dGhpcy5fdHJpZ2dlcigic3RhcnQiLHQpIT09ITE/KHRoaXMuY291bnRlcnx8KHRoaXMuY291bnRlcj0xKSx0aGlzLnNwaW5uaW5nPSEwLCEwKTohMX0sX3JlcGVhdDpmdW5jdGlvbih0LGUsaSl7dD10fHw1MDAsY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLl9yZXBlYXQoNDAsZSxpKX0sdCksdGhpcy5fc3BpbihlKnRoaXMub3B0aW9ucy5zdGVwLGkpfSxfc3BpbjpmdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMudmFsdWUoKXx8MDt0aGlzLmNvdW50ZXJ8fCh0aGlzLmNvdW50ZXI9MSksaT10aGlzLl9hZGp1c3RWYWx1ZShpK3QqdGhpcy5faW5jcmVtZW50KHRoaXMuY291bnRlcikpLHRoaXMuc3Bpbm5pbmcmJnRoaXMuX3RyaWdnZXIoInNwaW4iLGUse3ZhbHVlOml9KT09PSExfHwodGhpcy5fdmFsdWUoaSksdGhpcy5jb3VudGVyKyspfSxfaW5jcmVtZW50OmZ1bmN0aW9uKGUpe3ZhciBpPXRoaXMub3B0aW9ucy5pbmNyZW1lbnRhbDtyZXR1cm4gaT90LmlzRnVuY3Rpb24oaSk/aShlKTpNYXRoLmZsb29yKGUqZSplLzVlNC1lKmUvNTAwKzE3KmUvMjAwKzEpOjF9LF9wcmVjaXNpb246ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9wcmVjaXNpb25PZih0aGlzLm9wdGlvbnMuc3RlcCk7cmV0dXJuIG51bGwhPT10aGlzLm9wdGlvbnMubWluJiYodD1NYXRoLm1heCh0LHRoaXMuX3ByZWNpc2lvbk9mKHRoaXMub3B0aW9ucy5taW4pKSksdH0sX3ByZWNpc2lvbk9mOmZ1bmN0aW9uKHQpe3ZhciBlPSIiK3QsaT1lLmluZGV4T2YoIi4iKTtyZXR1cm4tMT09PWk/MDplLmxlbmd0aC1pLTF9LF9hZGp1c3RWYWx1ZTpmdW5jdGlvbih0KXt2YXIgZSxpLHM9dGhpcy5vcHRpb25zO3JldHVybiBlPW51bGwhPT1zLm1pbj9zLm1pbjowLGk9dC1lLGk9TWF0aC5yb3VuZChpL3Muc3RlcCkqcy5zdGVwLHQ9ZStpLHQ9cGFyc2VGbG9hdCh0LnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKCkpKSxudWxsIT09cy5tYXgmJnQ+cy5tYXg/cy5tYXg6bnVsbCE9PXMubWluJiZzLm1pbj50P3MubWluOnR9LF9zdG9wOmZ1bmN0aW9uKHQpe3RoaXMuc3Bpbm5pbmcmJihjbGVhclRpbWVvdXQodGhpcy50aW1lciksY2xlYXJUaW1lb3V0KHRoaXMubW91c2V3aGVlbFRpbWVyKSx0aGlzLmNvdW50ZXI9MCx0aGlzLnNwaW5uaW5nPSExLHRoaXMuX3RyaWdnZXIoInN0b3AiLHQpKX0sX3NldE9wdGlvbjpmdW5jdGlvbih0LGUpe3ZhciBpLHMsbjtyZXR1cm4iY3VsdHVyZSI9PT10fHwibnVtYmVyRm9ybWF0Ij09PXQ/KGk9dGhpcy5fcGFyc2UodGhpcy5lbGVtZW50LnZhbCgpKSx0aGlzLm9wdGlvbnNbdF09ZSx0aGlzLmVsZW1lbnQudmFsKHRoaXMuX2Zvcm1hdChpKSksdm9pZCAwKTooKCJtYXgiPT09dHx8Im1pbiI9PT10fHwic3RlcCI9PT10KSYmInN0cmluZyI9PXR5cGVvZiBlJiYoZT10aGlzLl9wYXJzZShlKSksImljb25zIj09PXQmJihzPXRoaXMuYnV0dG9ucy5maXJzdCgpLmZpbmQoIi51aS1pY29uIiksdGhpcy5fcmVtb3ZlQ2xhc3MocyxudWxsLHRoaXMub3B0aW9ucy5pY29ucy51cCksdGhpcy5fYWRkQ2xhc3MocyxudWxsLGUudXApLG49dGhpcy5idXR0b25zLmxhc3QoKS5maW5kKCIudWktaWNvbiIpLHRoaXMuX3JlbW92ZUNsYXNzKG4sbnVsbCx0aGlzLm9wdGlvbnMuaWNvbnMuZG93biksdGhpcy5fYWRkQ2xhc3MobixudWxsLGUuZG93bikpLHRoaXMuX3N1cGVyKHQsZSksdm9pZCAwKX0sX3NldE9wdGlvbkRpc2FibGVkOmZ1bmN0aW9uKHQpe3RoaXMuX3N1cGVyKHQpLHRoaXMuX3RvZ2dsZUNsYXNzKHRoaXMudWlTcGlubmVyLG51bGwsInVpLXN0YXRlLWRpc2FibGVkIiwhIXQpLHRoaXMuZWxlbWVudC5wcm9wKCJkaXNhYmxlZCIsISF0KSx0aGlzLmJ1dHRvbnMuYnV0dG9uKHQ/ImRpc2FibGUiOiJlbmFibGUiKX0sX3NldE9wdGlvbnM6cihmdW5jdGlvbih0KXt0aGlzLl9zdXBlcih0KX0pLF9wYXJzZTpmdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJiIiIT09dCYmKHQ9d2luZG93Lkdsb2JhbGl6ZSYmdGhpcy5vcHRpb25zLm51bWJlckZvcm1hdD9HbG9iYWxpemUucGFyc2VGbG9hdCh0LDEwLHRoaXMub3B0aW9ucy5jdWx0dXJlKTordCksIiI9PT10fHxpc05hTih0KT9udWxsOnR9LF9mb3JtYXQ6ZnVuY3Rpb24odCl7cmV0dXJuIiI9PT10PyIiOndpbmRvdy5HbG9iYWxpemUmJnRoaXMub3B0aW9ucy5udW1iZXJGb3JtYXQ/R2xvYmFsaXplLmZvcm1hdCh0LHRoaXMub3B0aW9ucy5udW1iZXJGb3JtYXQsdGhpcy5vcHRpb25zLmN1bHR1cmUpOnR9LF9yZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmF0dHIoeyJhcmlhLXZhbHVlbWluIjp0aGlzLm9wdGlvbnMubWluLCJhcmlhLXZhbHVlbWF4Ijp0aGlzLm9wdGlvbnMubWF4LCJhcmlhLXZhbHVlbm93Ijp0aGlzLl9wYXJzZSh0aGlzLmVsZW1lbnQudmFsKCkpfSl9LGlzVmFsaWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnZhbHVlKCk7cmV0dXJuIG51bGw9PT10PyExOnQ9PT10aGlzLl9hZGp1c3RWYWx1ZSh0KX0sX3ZhbHVlOmZ1bmN0aW9uKHQsZSl7dmFyIGk7IiIhPT10JiYoaT10aGlzLl9wYXJzZSh0KSxudWxsIT09aSYmKGV8fChpPXRoaXMuX2FkanVzdFZhbHVlKGkpKSx0PXRoaXMuX2Zvcm1hdChpKSkpLHRoaXMuZWxlbWVudC52YWwodCksdGhpcy5fcmVmcmVzaCgpfSxfZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5wcm9wKCJkaXNhYmxlZCIsITEpLnJlbW92ZUF0dHIoImF1dG9jb21wbGV0ZSByb2xlIGFyaWEtdmFsdWVtaW4gYXJpYS12YWx1ZW1heCBhcmlhLXZhbHVlbm93IiksdGhpcy51aVNwaW5uZXIucmVwbGFjZVdpdGgodGhpcy5lbGVtZW50KX0sc3RlcFVwOnIoZnVuY3Rpb24odCl7dGhpcy5fc3RlcFVwKHQpfSksX3N0ZXBVcDpmdW5jdGlvbih0KXt0aGlzLl9zdGFydCgpJiYodGhpcy5fc3BpbigodHx8MSkqdGhpcy5vcHRpb25zLnN0ZXApLHRoaXMuX3N0b3AoKSl9LHN0ZXBEb3duOnIoZnVuY3Rpb24odCl7dGhpcy5fc3RlcERvd24odCl9KSxfc3RlcERvd246ZnVuY3Rpb24odCl7dGhpcy5fc3RhcnQoKSYmKHRoaXMuX3NwaW4oKHR8fDEpKi10aGlzLm9wdGlvbnMuc3RlcCksdGhpcy5fc3RvcCgpKX0scGFnZVVwOnIoZnVuY3Rpb24odCl7dGhpcy5fc3RlcFVwKCh0fHwxKSp0aGlzLm9wdGlvbnMucGFnZSl9KSxwYWdlRG93bjpyKGZ1bmN0aW9uKHQpe3RoaXMuX3N0ZXBEb3duKCh0fHwxKSp0aGlzLm9wdGlvbnMucGFnZSl9KSx2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8ocih0aGlzLl92YWx1ZSkuY2FsbCh0aGlzLHQpLHZvaWQgMCk6dGhpcy5fcGFyc2UodGhpcy5lbGVtZW50LnZhbCgpKX0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudWlTcGlubmVyfX0pLHQudWlCYWNrQ29tcGF0IT09ITEmJnQud2lkZ2V0KCJ1aS5zcGlubmVyIix0LnVpLnNwaW5uZXIse19lbmhhbmNlOmZ1bmN0aW9uKCl7dGhpcy51aVNwaW5uZXI9dGhpcy5lbGVtZW50LmF0dHIoImF1dG9jb21wbGV0ZSIsIm9mZiIpLndyYXAodGhpcy5fdWlTcGlubmVySHRtbCgpKS5wYXJlbnQoKS5hcHBlbmQodGhpcy5fYnV0dG9uSHRtbCgpKX0sX3VpU3Bpbm5lckh0bWw6ZnVuY3Rpb24oKXtyZXR1cm4iPHNwYW4+In0sX2J1dHRvbkh0bWw6ZnVuY3Rpb24oKXtyZXR1cm4iPGE+PC9hPjxhPjwvYT4ifX0pLHQudWkuc3Bpbm5lcix0LndpZGdldCgidWkudGFicyIse3ZlcnNpb246IjEuMTIuMSIsZGVsYXk6MzAwLG9wdGlvbnM6e2FjdGl2ZTpudWxsLGNsYXNzZXM6eyJ1aS10YWJzIjoidWktY29ybmVyLWFsbCIsInVpLXRhYnMtbmF2IjoidWktY29ybmVyLWFsbCIsInVpLXRhYnMtcGFuZWwiOiJ1aS1jb3JuZXItYm90dG9tIiwidWktdGFicy10YWIiOiJ1aS1jb3JuZXItdG9wIn0sY29sbGFwc2libGU6ITEsZXZlbnQ6ImNsaWNrIixoZWlnaHRTdHlsZToiY29udGVudCIsaGlkZTpudWxsLHNob3c6bnVsbCxhY3RpdmF0ZTpudWxsLGJlZm9yZUFjdGl2YXRlOm51bGwsYmVmb3JlTG9hZDpudWxsLGxvYWQ6bnVsbH0sX2lzTG9jYWw6ZnVuY3Rpb24oKXt2YXIgdD0vIy4qJC87cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBpLHM7aT1lLmhyZWYucmVwbGFjZSh0LCIiKSxzPWxvY2F0aW9uLmhyZWYucmVwbGFjZSh0LCIiKTt0cnl7aT1kZWNvZGVVUklDb21wb25lbnQoaSl9Y2F0Y2gobil7fXRyeXtzPWRlY29kZVVSSUNvbXBvbmVudChzKX1jYXRjaChuKXt9cmV0dXJuIGUuaGFzaC5sZW5ndGg+MSYmaT09PXN9fSgpLF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLGk9dGhpcy5vcHRpb25zO3RoaXMucnVubmluZz0hMSx0aGlzLl9hZGRDbGFzcygidWktdGFicyIsInVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCIpLHRoaXMuX3RvZ2dsZUNsYXNzKCJ1aS10YWJzLWNvbGxhcHNpYmxlIixudWxsLGkuY29sbGFwc2libGUpLHRoaXMuX3Byb2Nlc3NUYWJzKCksaS5hY3RpdmU9dGhpcy5faW5pdGlhbEFjdGl2ZSgpLHQuaXNBcnJheShpLmRpc2FibGVkKSYmKGkuZGlzYWJsZWQ9dC51bmlxdWUoaS5kaXNhYmxlZC5jb25jYXQodC5tYXAodGhpcy50YWJzLmZpbHRlcigiLnVpLXN0YXRlLWRpc2FibGVkIiksZnVuY3Rpb24odCl7cmV0dXJuIGUudGFicy5pbmRleCh0KX0pKSkuc29ydCgpKSx0aGlzLmFjdGl2ZT10aGlzLm9wdGlvbnMuYWN0aXZlIT09ITEmJnRoaXMuYW5jaG9ycy5sZW5ndGg/dGhpcy5fZmluZEFjdGl2ZShpLmFjdGl2ZSk6dCgpLHRoaXMuX3JlZnJlc2goKSx0aGlzLmFjdGl2ZS5sZW5ndGgmJnRoaXMubG9hZChpLmFjdGl2ZSl9LF9pbml0aWFsQWN0aXZlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zLmFjdGl2ZSxpPXRoaXMub3B0aW9ucy5jb2xsYXBzaWJsZSxzPWxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpO3JldHVybiBudWxsPT09ZSYmKHMmJnRoaXMudGFicy5lYWNoKGZ1bmN0aW9uKGksbil7cmV0dXJuIHQobikuYXR0cigiYXJpYS1jb250cm9scyIpPT09cz8oZT1pLCExKTp2b2lkIDB9KSxudWxsPT09ZSYmKGU9dGhpcy50YWJzLmluZGV4KHRoaXMudGFicy5maWx0ZXIoIi51aS10YWJzLWFjdGl2ZSIpKSksKG51bGw9PT1lfHwtMT09PWUpJiYoZT10aGlzLnRhYnMubGVuZ3RoPzA6ITEpKSxlIT09ITEmJihlPXRoaXMudGFicy5pbmRleCh0aGlzLnRhYnMuZXEoZSkpLC0xPT09ZSYmKGU9aT8hMTowKSksIWkmJmU9PT0hMSYmdGhpcy5hbmNob3JzLmxlbmd0aCYmKGU9MCksZX0sX2dldENyZWF0ZUV2ZW50RGF0YTpmdW5jdGlvbigpe3JldHVybnt0YWI6dGhpcy5hY3RpdmUscGFuZWw6dGhpcy5hY3RpdmUubGVuZ3RoP3RoaXMuX2dldFBhbmVsRm9yVGFiKHRoaXMuYWN0aXZlKTp0KCl9fSxfdGFiS2V5ZG93bjpmdW5jdGlvbihlKXt2YXIgaT10KHQudWkuc2FmZUFjdGl2ZUVsZW1lbnQodGhpcy5kb2N1bWVudFswXSkpLmNsb3Nlc3QoImxpIikscz10aGlzLnRhYnMuaW5kZXgoaSksbj0hMDtpZighdGhpcy5faGFuZGxlUGFnZU5hdihlKSl7c3dpdGNoKGUua2V5Q29kZSl7Y2FzZSB0LnVpLmtleUNvZGUuUklHSFQ6Y2FzZSB0LnVpLmtleUNvZGUuRE9XTjpzKys7YnJlYWs7Y2FzZSB0LnVpLmtleUNvZGUuVVA6Y2FzZSB0LnVpLmtleUNvZGUuTEVGVDpuPSExLHMtLTticmVhaztjYXNlIHQudWkua2V5Q29kZS5FTkQ6cz10aGlzLmFuY2hvcnMubGVuZ3RoLTE7YnJlYWs7Y2FzZSB0LnVpLmtleUNvZGUuSE9NRTpzPTA7YnJlYWs7Y2FzZSB0LnVpLmtleUNvZGUuU1BBQ0U6cmV0dXJuIGUucHJldmVudERlZmF1bHQoKSxjbGVhclRpbWVvdXQodGhpcy5hY3RpdmF0aW5nKSx0aGlzLl9hY3RpdmF0ZShzKSx2b2lkIDA7Y2FzZSB0LnVpLmtleUNvZGUuRU5URVI6cmV0dXJuIGUucHJldmVudERlZmF1bHQoKSxjbGVhclRpbWVvdXQodGhpcy5hY3RpdmF0aW5nKSx0aGlzLl9hY3RpdmF0ZShzPT09dGhpcy5vcHRpb25zLmFjdGl2ZT8hMTpzKSx2b2lkIDA7ZGVmYXVsdDpyZXR1cm59ZS5wcmV2ZW50RGVmYXVsdCgpLGNsZWFyVGltZW91dCh0aGlzLmFjdGl2YXRpbmcpLHM9dGhpcy5fZm9jdXNOZXh0VGFiKHMsbiksZS5jdHJsS2V5fHxlLm1ldGFLZXl8fChpLmF0dHIoImFyaWEtc2VsZWN0ZWQiLCJmYWxzZSIpLHRoaXMudGFicy5lcShzKS5hdHRyKCJhcmlhLXNlbGVjdGVkIiwidHJ1ZSIpLHRoaXMuYWN0aXZhdGluZz10aGlzLl9kZWxheShmdW5jdGlvbigpe3RoaXMub3B0aW9uKCJhY3RpdmUiLHMpfSx0aGlzLmRlbGF5KSl9fSxfcGFuZWxLZXlkb3duOmZ1bmN0aW9uKGUpe3RoaXMuX2hhbmRsZVBhZ2VOYXYoZSl8fGUuY3RybEtleSYmZS5rZXlDb2RlPT09dC51aS5rZXlDb2RlLlVQJiYoZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuYWN0aXZlLnRyaWdnZXIoImZvY3VzIikpfSxfaGFuZGxlUGFnZU5hdjpmdW5jdGlvbihlKXtyZXR1cm4gZS5hbHRLZXkmJmUua2V5Q29kZT09PXQudWkua2V5Q29kZS5QQUdFX1VQPyh0aGlzLl9hY3RpdmF0ZSh0aGlzLl9mb2N1c05leHRUYWIodGhpcy5vcHRpb25zLmFjdGl2ZS0xLCExKSksITApOmUuYWx0S2V5JiZlLmtleUNvZGU9PT10LnVpLmtleUNvZGUuUEFHRV9ET1dOPyh0aGlzLl9hY3RpdmF0ZSh0aGlzLl9mb2N1c05leHRUYWIodGhpcy5vcHRpb25zLmFjdGl2ZSsxLCEwKSksITApOnZvaWQgMH0sX2ZpbmROZXh0VGFiOmZ1bmN0aW9uKGUsaSl7ZnVuY3Rpb24gcygpe3JldHVybiBlPm4mJihlPTApLDA+ZSYmKGU9biksZX1mb3IodmFyIG49dGhpcy50YWJzLmxlbmd0aC0xOy0xIT09dC5pbkFycmF5KHMoKSx0aGlzLm9wdGlvbnMuZGlzYWJsZWQpOyllPWk/ZSsxOmUtMTtyZXR1cm4gZX0sX2ZvY3VzTmV4dFRhYjpmdW5jdGlvbih0LGUpe3JldHVybiB0PXRoaXMuX2ZpbmROZXh0VGFiKHQsZSksdGhpcy50YWJzLmVxKHQpLnRyaWdnZXIoImZvY3VzIiksdH0sX3NldE9wdGlvbjpmdW5jdGlvbih0LGUpe3JldHVybiJhY3RpdmUiPT09dD8odGhpcy5fYWN0aXZhdGUoZSksdm9pZCAwKToodGhpcy5fc3VwZXIodCxlKSwiY29sbGFwc2libGUiPT09dCYmKHRoaXMuX3RvZ2dsZUNsYXNzKCJ1aS10YWJzLWNvbGxhcHNpYmxlIixudWxsLGUpLGV8fHRoaXMub3B0aW9ucy5hY3RpdmUhPT0hMXx8dGhpcy5fYWN0aXZhdGUoMCkpLCJldmVudCI9PT10JiZ0aGlzLl9zZXR1cEV2ZW50cyhlKSwiaGVpZ2h0U3R5bGUiPT09dCYmdGhpcy5fc2V0dXBIZWlnaHRTdHlsZShlKSx2b2lkIDApfSxfc2FuaXRpemVTZWxlY3RvcjpmdW5jdGlvbih0KXtyZXR1cm4gdD90LnJlcGxhY2UoL1shIiQlJicoKSorLC5cLzo7PD0+P0BcW1xdXF5ge3x9fl0vZywiXFwkJiIpOiIifSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zLGk9dGhpcy50YWJsaXN0LmNoaWxkcmVuKCI6aGFzKGFbaHJlZl0pIik7ZS5kaXNhYmxlZD10Lm1hcChpLmZpbHRlcigiLnVpLXN0YXRlLWRpc2FibGVkIiksZnVuY3Rpb24odCl7cmV0dXJuIGkuaW5kZXgodCl9KSx0aGlzLl9wcm9jZXNzVGFicygpLGUuYWN0aXZlIT09ITEmJnRoaXMuYW5jaG9ycy5sZW5ndGg/dGhpcy5hY3RpdmUubGVuZ3RoJiYhdC5jb250YWlucyh0aGlzLnRhYmxpc3RbMF0sdGhpcy5hY3RpdmVbMF0pP3RoaXMudGFicy5sZW5ndGg9PT1lLmRpc2FibGVkLmxlbmd0aD8oZS5hY3RpdmU9ITEsdGhpcy5hY3RpdmU9dCgpKTp0aGlzLl9hY3RpdmF0ZSh0aGlzLl9maW5kTmV4dFRhYihNYXRoLm1heCgwLGUuYWN0aXZlLTEpLCExKSk6ZS5hY3RpdmU9dGhpcy50YWJzLmluZGV4KHRoaXMuYWN0aXZlKTooZS5hY3RpdmU9ITEsdGhpcy5hY3RpdmU9dCgpKSx0aGlzLl9yZWZyZXNoKCl9LF9yZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQodGhpcy5vcHRpb25zLmRpc2FibGVkKSx0aGlzLl9zZXR1cEV2ZW50cyh0aGlzLm9wdGlvbnMuZXZlbnQpLHRoaXMuX3NldHVwSGVpZ2h0U3R5bGUodGhpcy5vcHRpb25zLmhlaWdodFN0eWxlKSx0aGlzLnRhYnMubm90KHRoaXMuYWN0aXZlKS5hdHRyKHsiYXJpYS1zZWxlY3RlZCI6ImZhbHNlIiwiYXJpYS1leHBhbmRlZCI6ImZhbHNlIix0YWJJbmRleDotMX0pLHRoaXMucGFuZWxzLm5vdCh0aGlzLl9nZXRQYW5lbEZvclRhYih0aGlzLmFjdGl2ZSkpLmhpZGUoKS5hdHRyKHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLHRoaXMuYWN0aXZlLmxlbmd0aD8odGhpcy5hY3RpdmUuYXR0cih7ImFyaWEtc2VsZWN0ZWQiOiJ0cnVlIiwiYXJpYS1leHBhbmRlZCI6InRydWUiLHRhYkluZGV4OjB9KSx0aGlzLl9hZGRDbGFzcyh0aGlzLmFjdGl2ZSwidWktdGFicy1hY3RpdmUiLCJ1aS1zdGF0ZS1hY3RpdmUiKSx0aGlzLl9nZXRQYW5lbEZvclRhYih0aGlzLmFjdGl2ZSkuc2hvdygpLmF0dHIoeyJhcmlhLWhpZGRlbiI6ImZhbHNlIn0pKTp0aGlzLnRhYnMuZXEoMCkuYXR0cigidGFiSW5kZXgiLDApfSxfcHJvY2Vzc1RhYnM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLGk9dGhpcy50YWJzLHM9dGhpcy5hbmNob3JzLG49dGhpcy5wYW5lbHM7dGhpcy50YWJsaXN0PXRoaXMuX2dldExpc3QoKS5hdHRyKCJyb2xlIiwidGFibGlzdCIpLHRoaXMuX2FkZENsYXNzKHRoaXMudGFibGlzdCwidWktdGFicy1uYXYiLCJ1aS1oZWxwZXItcmVzZXQgdWktaGVscGVyLWNsZWFyZml4IHVpLXdpZGdldC1oZWFkZXIiKSx0aGlzLnRhYmxpc3Qub24oIm1vdXNlZG93biIrdGhpcy5ldmVudE5hbWVzcGFjZSwiPiBsaSIsZnVuY3Rpb24oZSl7dCh0aGlzKS5pcygiLnVpLXN0YXRlLWRpc2FibGVkIikmJmUucHJldmVudERlZmF1bHQoKX0pLm9uKCJmb2N1cyIrdGhpcy5ldmVudE5hbWVzcGFjZSwiLnVpLXRhYnMtYW5jaG9yIixmdW5jdGlvbigpe3QodGhpcykuY2xvc2VzdCgibGkiKS5pcygiLnVpLXN0YXRlLWRpc2FibGVkIikmJnRoaXMuYmx1cigpfSksdGhpcy50YWJzPXRoaXMudGFibGlzdC5maW5kKCI+IGxpOmhhcyhhW2hyZWZdKSIpLmF0dHIoe3JvbGU6InRhYiIsdGFiSW5kZXg6LTF9KSx0aGlzLl9hZGRDbGFzcyh0aGlzLnRhYnMsInVpLXRhYnMtdGFiIiwidWktc3RhdGUtZGVmYXVsdCIpLHRoaXMuYW5jaG9ycz10aGlzLnRhYnMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHQoImEiLHRoaXMpWzBdfSkuYXR0cih7cm9sZToicHJlc2VudGF0aW9uIix0YWJJbmRleDotMX0pLHRoaXMuX2FkZENsYXNzKHRoaXMuYW5jaG9ycywidWktdGFicy1hbmNob3IiKSx0aGlzLnBhbmVscz10KCksdGhpcy5hbmNob3JzLmVhY2goZnVuY3Rpb24oaSxzKXt2YXIgbixvLGEscj10KHMpLnVuaXF1ZUlkKCkuYXR0cigiaWQiKSxoPXQocykuY2xvc2VzdCgibGkiKSxsPWguYXR0cigiYXJpYS1jb250cm9scyIpO2UuX2lzTG9jYWwocyk/KG49cy5oYXNoLGE9bi5zdWJzdHJpbmcoMSksbz1lLmVsZW1lbnQuZmluZChlLl9zYW5pdGl6ZVNlbGVjdG9yKG4pKSk6KGE9aC5hdHRyKCJhcmlhLWNvbnRyb2xzIil8fHQoe30pLnVuaXF1ZUlkKClbMF0uaWQsbj0iIyIrYSxvPWUuZWxlbWVudC5maW5kKG4pLG8ubGVuZ3RofHwobz1lLl9jcmVhdGVQYW5lbChhKSxvLmluc2VydEFmdGVyKGUucGFuZWxzW2ktMV18fGUudGFibGlzdCkpLG8uYXR0cigiYXJpYS1saXZlIiwicG9saXRlIikpLG8ubGVuZ3RoJiYoZS5wYW5lbHM9ZS5wYW5lbHMuYWRkKG8pKSxsJiZoLmRhdGEoInVpLXRhYnMtYXJpYS1jb250cm9scyIsbCksaC5hdHRyKHsiYXJpYS1jb250cm9scyI6YSwiYXJpYS1sYWJlbGxlZGJ5IjpyfSksby5hdHRyKCJhcmlhLWxhYmVsbGVkYnkiLHIpfSksdGhpcy5wYW5lbHMuYXR0cigicm9sZSIsInRhYnBhbmVsIiksdGhpcy5fYWRkQ2xhc3ModGhpcy5wYW5lbHMsInVpLXRhYnMtcGFuZWwiLCJ1aS13aWRnZXQtY29udGVudCIpLGkmJih0aGlzLl9vZmYoaS5ub3QodGhpcy50YWJzKSksdGhpcy5fb2ZmKHMubm90KHRoaXMuYW5jaG9ycykpLHRoaXMuX29mZihuLm5vdCh0aGlzLnBhbmVscykpKX0sX2dldExpc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50YWJsaXN0fHx0aGlzLmVsZW1lbnQuZmluZCgib2wsIHVsIikuZXEoMCl9LF9jcmVhdGVQYW5lbDpmdW5jdGlvbihlKXtyZXR1cm4gdCgiPGRpdj4iKS5hdHRyKCJpZCIsZSkuZGF0YSgidWktdGFicy1kZXN0cm95IiwhMCl9LF9zZXRPcHRpb25EaXNhYmxlZDpmdW5jdGlvbihlKXt2YXIgaSxzLG47Zm9yKHQuaXNBcnJheShlKSYmKGUubGVuZ3RoP2UubGVuZ3RoPT09dGhpcy5hbmNob3JzLmxlbmd0aCYmKGU9ITApOmU9ITEpLG49MDtzPXRoaXMudGFic1tuXTtuKyspaT10KHMpLGU9PT0hMHx8LTEhPT10LmluQXJyYXkobixlKT8oaS5hdHRyKCJhcmlhLWRpc2FibGVkIiwidHJ1ZSIpLHRoaXMuX2FkZENsYXNzKGksbnVsbCwidWktc3RhdGUtZGlzYWJsZWQiKSk6KGkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLHRoaXMuX3JlbW92ZUNsYXNzKGksbnVsbCwidWktc3RhdGUtZGlzYWJsZWQiKSk7dGhpcy5vcHRpb25zLmRpc2FibGVkPWUsdGhpcy5fdG9nZ2xlQ2xhc3ModGhpcy53aWRnZXQoKSx0aGlzLndpZGdldEZ1bGxOYW1lKyItZGlzYWJsZWQiLG51bGwsZT09PSEwKX0sX3NldHVwRXZlbnRzOmZ1bmN0aW9uKGUpe3ZhciBpPXt9O2UmJnQuZWFjaChlLnNwbGl0KCIgIiksZnVuY3Rpb24odCxlKXtpW2VdPSJfZXZlbnRIYW5kbGVyIn0pLHRoaXMuX29mZih0aGlzLmFuY2hvcnMuYWRkKHRoaXMudGFicykuYWRkKHRoaXMucGFuZWxzKSksdGhpcy5fb24oITAsdGhpcy5hbmNob3JzLHtjbGljazpmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9fSksdGhpcy5fb24odGhpcy5hbmNob3JzLGkpLHRoaXMuX29uKHRoaXMudGFicyx7a2V5ZG93bjoiX3RhYktleWRvd24ifSksdGhpcy5fb24odGhpcy5wYW5lbHMse2tleWRvd246Il9wYW5lbEtleWRvd24ifSksdGhpcy5fZm9jdXNhYmxlKHRoaXMudGFicyksdGhpcy5faG92ZXJhYmxlKHRoaXMudGFicyl9LF9zZXR1cEhlaWdodFN0eWxlOmZ1bmN0aW9uKGUpe3ZhciBpLHM9dGhpcy5lbGVtZW50LnBhcmVudCgpOyJmaWxsIj09PWU/KGk9cy5oZWlnaHQoKSxpLT10aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKS10aGlzLmVsZW1lbnQuaGVpZ2h0KCksdGhpcy5lbGVtZW50LnNpYmxpbmdzKCI6dmlzaWJsZSIpLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMpLHM9ZS5jc3MoInBvc2l0aW9uIik7ImFic29sdXRlIiE9PXMmJiJmaXhlZCIhPT1zJiYoaS09ZS5vdXRlckhlaWdodCghMCkpfSksdGhpcy5lbGVtZW50LmNoaWxkcmVuKCkubm90KHRoaXMucGFuZWxzKS5lYWNoKGZ1bmN0aW9uKCl7aS09dCh0aGlzKS5vdXRlckhlaWdodCghMCl9KSx0aGlzLnBhbmVscy5lYWNoKGZ1bmN0aW9uKCl7dCh0aGlzKS5oZWlnaHQoTWF0aC5tYXgoMCxpLXQodGhpcykuaW5uZXJIZWlnaHQoKSt0KHRoaXMpLmhlaWdodCgpKSl9KS5jc3MoIm92ZXJmbG93IiwiYXV0byIpKToiYXV0byI9PT1lJiYoaT0wLHRoaXMucGFuZWxzLmVhY2goZnVuY3Rpb24oKXtpPU1hdGgubWF4KGksdCh0aGlzKS5oZWlnaHQoIiIpLmhlaWdodCgpKX0pLmhlaWdodChpKSl9LF9ldmVudEhhbmRsZXI6ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcy5vcHRpb25zLHM9dGhpcy5hY3RpdmUsbj10KGUuY3VycmVudFRhcmdldCksbz1uLmNsb3Nlc3QoImxpIiksYT1vWzBdPT09c1swXSxyPWEmJmkuY29sbGFwc2libGUsaD1yP3QoKTp0aGlzLl9nZXRQYW5lbEZvclRhYihvKSxsPXMubGVuZ3RoP3RoaXMuX2dldFBhbmVsRm9yVGFiKHMpOnQoKSxjPXtvbGRUYWI6cyxvbGRQYW5lbDpsLG5ld1RhYjpyP3QoKTpvLG5ld1BhbmVsOmh9O2UucHJldmVudERlZmF1bHQoKSxvLmhhc0NsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpfHxvLmhhc0NsYXNzKCJ1aS10YWJzLWxvYWRpbmciKXx8dGhpcy5ydW5uaW5nfHxhJiYhaS5jb2xsYXBzaWJsZXx8dGhpcy5fdHJpZ2dlcigiYmVmb3JlQWN0aXZhdGUiLGUsYyk9PT0hMXx8KGkuYWN0aXZlPXI/ITE6dGhpcy50YWJzLmluZGV4KG8pLHRoaXMuYWN0aXZlPWE/dCgpOm8sdGhpcy54aHImJnRoaXMueGhyLmFib3J0KCksbC5sZW5ndGh8fGgubGVuZ3RofHx0LmVycm9yKCJqUXVlcnkgVUkgVGFiczogTWlzbWF0Y2hpbmcgZnJhZ21lbnQgaWRlbnRpZmllci4iKSxoLmxlbmd0aCYmdGhpcy5sb2FkKHRoaXMudGFicy5pbmRleChvKSxlKSx0aGlzLl90b2dnbGUoZSxjKSl9LF90b2dnbGU6ZnVuY3Rpb24oZSxpKXtmdW5jdGlvbiBzKCl7by5ydW5uaW5nPSExLG8uX3RyaWdnZXIoImFjdGl2YXRlIixlLGkpfWZ1bmN0aW9uIG4oKXtvLl9hZGRDbGFzcyhpLm5ld1RhYi5jbG9zZXN0KCJsaSIpLCJ1aS10YWJzLWFjdGl2ZSIsInVpLXN0YXRlLWFjdGl2ZSIpLGEubGVuZ3RoJiZvLm9wdGlvbnMuc2hvdz9vLl9zaG93KGEsby5vcHRpb25zLnNob3cscyk6KGEuc2hvdygpLHMoKSl9dmFyIG89dGhpcyxhPWkubmV3UGFuZWwscj1pLm9sZFBhbmVsO3RoaXMucnVubmluZz0hMCxyLmxlbmd0aCYmdGhpcy5vcHRpb25zLmhpZGU/dGhpcy5faGlkZShyLHRoaXMub3B0aW9ucy5oaWRlLGZ1bmN0aW9uKCl7by5fcmVtb3ZlQ2xhc3MoaS5vbGRUYWIuY2xvc2VzdCgibGkiKSwidWktdGFicy1hY3RpdmUiLCJ1aS1zdGF0ZS1hY3RpdmUiKSxuKCl9KToodGhpcy5fcmVtb3ZlQ2xhc3MoaS5vbGRUYWIuY2xvc2VzdCgibGkiKSwidWktdGFicy1hY3RpdmUiLCJ1aS1zdGF0ZS1hY3RpdmUiKSxyLmhpZGUoKSxuKCkpLHIuYXR0cigiYXJpYS1oaWRkZW4iLCJ0cnVlIiksaS5vbGRUYWIuYXR0cih7ImFyaWEtc2VsZWN0ZWQiOiJmYWxzZSIsImFyaWEtZXhwYW5kZWQiOiJmYWxzZSJ9KSxhLmxlbmd0aCYmci5sZW5ndGg/aS5vbGRUYWIuYXR0cigidGFiSW5kZXgiLC0xKTphLmxlbmd0aCYmdGhpcy50YWJzLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiAwPT09dCh0aGlzKS5hdHRyKCJ0YWJJbmRleCIpfSkuYXR0cigidGFiSW5kZXgiLC0xKSxhLmF0dHIoImFyaWEtaGlkZGVuIiwiZmFsc2UiKSxpLm5ld1RhYi5hdHRyKHsiYXJpYS1zZWxlY3RlZCI6InRydWUiLCJhcmlhLWV4cGFuZGVkIjoidHJ1ZSIsdGFiSW5kZXg6MH0pfSxfYWN0aXZhdGU6ZnVuY3Rpb24oZSl7dmFyIGkscz10aGlzLl9maW5kQWN0aXZlKGUpO3NbMF0hPT10aGlzLmFjdGl2ZVswXSYmKHMubGVuZ3RofHwocz10aGlzLmFjdGl2ZSksaT1zLmZpbmQoIi51aS10YWJzLWFuY2hvciIpWzBdLHRoaXMuX2V2ZW50SGFuZGxlcih7dGFyZ2V0OmksY3VycmVudFRhcmdldDppLHByZXZlbnREZWZhdWx0OnQubm9vcH0pKX0sX2ZpbmRBY3RpdmU6ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT0hMT90KCk6dGhpcy50YWJzLmVxKGUpfSxfZ2V0SW5kZXg6ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYoZT10aGlzLmFuY2hvcnMuaW5kZXgodGhpcy5hbmNob3JzLmZpbHRlcigiW2hyZWYkPSciK3QudWkuZXNjYXBlU2VsZWN0b3IoZSkrIiddIikpKSxlfSxfZGVzdHJveTpmdW5jdGlvbigpe3RoaXMueGhyJiZ0aGlzLnhoci5hYm9ydCgpLHRoaXMudGFibGlzdC5yZW1vdmVBdHRyKCJyb2xlIikub2ZmKHRoaXMuZXZlbnROYW1lc3BhY2UpLHRoaXMuYW5jaG9ycy5yZW1vdmVBdHRyKCJyb2xlIHRhYkluZGV4IikucmVtb3ZlVW5pcXVlSWQoKSx0aGlzLnRhYnMuYWRkKHRoaXMucGFuZWxzKS5lYWNoKGZ1bmN0aW9uKCl7dC5kYXRhKHRoaXMsInVpLXRhYnMtZGVzdHJveSIpP3QodGhpcykucmVtb3ZlKCk6dCh0aGlzKS5yZW1vdmVBdHRyKCJyb2xlIHRhYkluZGV4IGFyaWEtbGl2ZSBhcmlhLWJ1c3kgYXJpYS1zZWxlY3RlZCBhcmlhLWxhYmVsbGVkYnkgYXJpYS1oaWRkZW4gYXJpYS1leHBhbmRlZCIpfSksdGhpcy50YWJzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMpLGk9ZS5kYXRhKCJ1aS10YWJzLWFyaWEtY29udHJvbHMiKTtpP2UuYXR0cigiYXJpYS1jb250cm9scyIsaSkucmVtb3ZlRGF0YSgidWktdGFicy1hcmlhLWNvbnRyb2xzIik6ZS5yZW1vdmVBdHRyKCJhcmlhLWNvbnRyb2xzIil9KSx0aGlzLnBhbmVscy5zaG93KCksImNvbnRlbnQiIT09dGhpcy5vcHRpb25zLmhlaWdodFN0eWxlJiZ0aGlzLnBhbmVscy5jc3MoImhlaWdodCIsIiIpfSxlbmFibGU6ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcy5vcHRpb25zLmRpc2FibGVkO2khPT0hMSYmKHZvaWQgMD09PWU/aT0hMTooZT10aGlzLl9nZXRJbmRleChlKSxpPXQuaXNBcnJheShpKT90Lm1hcChpLGZ1bmN0aW9uKHQpe3JldHVybiB0IT09ZT90Om51bGx9KTp0Lm1hcCh0aGlzLnRhYnMsZnVuY3Rpb24odCxpKXtyZXR1cm4gaSE9PWU/aTpudWxsfSkpLHRoaXMuX3NldE9wdGlvbkRpc2FibGVkKGkpKX0sZGlzYWJsZTpmdW5jdGlvbihlKXt2YXIgaT10aGlzLm9wdGlvbnMuZGlzYWJsZWQ7aWYoaSE9PSEwKXtpZih2b2lkIDA9PT1lKWk9ITA7ZWxzZXtpZihlPXRoaXMuX2dldEluZGV4KGUpLC0xIT09dC5pbkFycmF5KGUsaSkpcmV0dXJuO2k9dC5pc0FycmF5KGkpP3QubWVyZ2UoW2VdLGkpLnNvcnQoKTpbZV19dGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQoaSl9fSxsb2FkOmZ1bmN0aW9uKGUsaSl7ZT10aGlzLl9nZXRJbmRleChlKTt2YXIgcz10aGlzLG49dGhpcy50YWJzLmVxKGUpLG89bi5maW5kKCIudWktdGFicy1hbmNob3IiKSxhPXRoaXMuX2dldFBhbmVsRm9yVGFiKG4pLHI9e3RhYjpuLHBhbmVsOmF9LGg9ZnVuY3Rpb24odCxlKXsiYWJvcnQiPT09ZSYmcy5wYW5lbHMuc3RvcCghMSwhMCkscy5fcmVtb3ZlQ2xhc3MobiwidWktdGFicy1sb2FkaW5nIiksYS5yZW1vdmVBdHRyKCJhcmlhLWJ1c3kiKSx0PT09cy54aHImJmRlbGV0ZSBzLnhocn07dGhpcy5faXNMb2NhbChvWzBdKXx8KHRoaXMueGhyPXQuYWpheCh0aGlzLl9hamF4U2V0dGluZ3MobyxpLHIpKSx0aGlzLnhociYmImNhbmNlbGVkIiE9PXRoaXMueGhyLnN0YXR1c1RleHQmJih0aGlzLl9hZGRDbGFzcyhuLCJ1aS10YWJzLWxvYWRpbmciKSxhLmF0dHIoImFyaWEtYnVzeSIsInRydWUiKSx0aGlzLnhoci5kb25lKGZ1bmN0aW9uKHQsZSxuKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5odG1sKHQpLHMuX3RyaWdnZXIoImxvYWQiLGksciksaChuLGUpfSwxKX0pLmZhaWwoZnVuY3Rpb24odCxlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aCh0LGUpfSwxKX0pKSl9LF9hamF4U2V0dGluZ3M6ZnVuY3Rpb24oZSxpLHMpe3ZhciBuPXRoaXM7cmV0dXJue3VybDplLmF0dHIoImhyZWYiKS5yZXBsYWNlKC8jLiokLywiIiksYmVmb3JlU2VuZDpmdW5jdGlvbihlLG8pe3JldHVybiBuLl90cmlnZ2VyKCJiZWZvcmVMb2FkIixpLHQuZXh0ZW5kKHtqcVhIUjplLGFqYXhTZXR0aW5nczpvfSxzKSl9fX0sX2dldFBhbmVsRm9yVGFiOmZ1bmN0aW9uKGUpe3ZhciBpPXQoZSkuYXR0cigiYXJpYS1jb250cm9scyIpO3JldHVybiB0aGlzLmVsZW1lbnQuZmluZCh0aGlzLl9zYW5pdGl6ZVNlbGVjdG9yKCIjIitpKSl9fSksdC51aUJhY2tDb21wYXQhPT0hMSYmdC53aWRnZXQoInVpLnRhYnMiLHQudWkudGFicyx7X3Byb2Nlc3NUYWJzOmZ1bmN0aW9uKCl7dGhpcy5fc3VwZXJBcHBseShhcmd1bWVudHMpLHRoaXMuX2FkZENsYXNzKHRoaXMudGFicywidWktdGFiIil9fSksdC51aS50YWJzLHQud2lkZ2V0KCJ1aS50b29sdGlwIix7dmVyc2lvbjoiMS4xMi4xIixvcHRpb25zOntjbGFzc2VzOnsidWktdG9vbHRpcCI6InVpLWNvcm5lci1hbGwgdWktd2lkZ2V0LXNoYWRvdyJ9LGNvbnRlbnQ6ZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMpLmF0dHIoInRpdGxlIil8fCIiO3JldHVybiB0KCI8YT4iKS50ZXh0KGUpLmh0bWwoKX0saGlkZTohMCxpdGVtczoiW3RpdGxlXTpub3QoW2Rpc2FibGVkXSkiLHBvc2l0aW9uOntteToibGVmdCB0b3ArMTUiLGF0OiJsZWZ0IGJvdHRvbSIsY29sbGlzaW9uOiJmbGlwZml0IGZsaXAifSxzaG93OiEwLHRyYWNrOiExLGNsb3NlOm51bGwsb3BlbjpudWxsfSxfYWRkRGVzY3JpYmVkQnk6ZnVuY3Rpb24oZSxpKXt2YXIgcz0oZS5hdHRyKCJhcmlhLWRlc2NyaWJlZGJ5Iil8fCIiKS5zcGxpdCgvXHMrLyk7cy5wdXNoKGkpLGUuZGF0YSgidWktdG9vbHRpcC1pZCIsaSkuYXR0cigiYXJpYS1kZXNjcmliZWRieSIsdC50cmltKHMuam9pbigiICIpKSl9LF9yZW1vdmVEZXNjcmliZWRCeTpmdW5jdGlvbihlKXt2YXIgaT1lLmRhdGEoInVpLXRvb2x0aXAtaWQiKSxzPShlLmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiKXx8IiIpLnNwbGl0KC9ccysvKSxuPXQuaW5BcnJheShpLHMpOy0xIT09biYmcy5zcGxpY2UobiwxKSxlLnJlbW92ZURhdGEoInVpLXRvb2x0aXAtaWQiKSxzPXQudHJpbShzLmpvaW4oIiAiKSkscz9lLmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiLHMpOmUucmVtb3ZlQXR0cigiYXJpYS1kZXNjcmliZWRieSIpfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5fb24oe21vdXNlb3Zlcjoib3BlbiIsZm9jdXNpbjoib3BlbiJ9KSx0aGlzLnRvb2x0aXBzPXt9LHRoaXMucGFyZW50cz17fSx0aGlzLmxpdmVSZWdpb249dCgiPGRpdj4iKS5hdHRyKHtyb2xlOiJsb2ciLCJhcmlhLWxpdmUiOiJhc3NlcnRpdmUiLCJhcmlhLXJlbGV2YW50IjoiYWRkaXRpb25zIn0pLmFwcGVuZFRvKHRoaXMuZG9jdW1lbnRbMF0uYm9keSksdGhpcy5fYWRkQ2xhc3ModGhpcy5saXZlUmVnaW9uLG51bGwsInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpLHRoaXMuZGlzYWJsZWRUaXRsZXM9dChbXSl9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSxpKXt2YXIgcz10aGlzO3RoaXMuX3N1cGVyKGUsaSksImNvbnRlbnQiPT09ZSYmdC5lYWNoKHRoaXMudG9vbHRpcHMsZnVuY3Rpb24odCxlKXtzLl91cGRhdGVDb250ZW50KGUuZWxlbWVudCl9KX0sX3NldE9wdGlvbkRpc2FibGVkOmZ1bmN0aW9uKHQpe3RoaXNbdD8iX2Rpc2FibGUiOiJfZW5hYmxlIl0oKX0sX2Rpc2FibGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3QuZWFjaCh0aGlzLnRvb2x0aXBzLGZ1bmN0aW9uKGkscyl7dmFyIG49dC5FdmVudCgiYmx1ciIpO24udGFyZ2V0PW4uY3VycmVudFRhcmdldD1zLmVsZW1lbnRbMF0sZS5jbG9zZShuLCEwKX0pLHRoaXMuZGlzYWJsZWRUaXRsZXM9dGhpcy5kaXNhYmxlZFRpdGxlcy5hZGQodGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKS5hZGRCYWNrKCkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzKTtyZXR1cm4gZS5pcygiW3RpdGxlXSIpP2UuZGF0YSgidWktdG9vbHRpcC10aXRsZSIsZS5hdHRyKCJ0aXRsZSIpKS5yZW1vdmVBdHRyKCJ0aXRsZSIpOnZvaWQgMH0pKX0sX2VuYWJsZTpmdW5jdGlvbigpe3RoaXMuZGlzYWJsZWRUaXRsZXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPXQodGhpcyk7ZS5kYXRhKCJ1aS10b29sdGlwLXRpdGxlIikmJmUuYXR0cigidGl0bGUiLGUuZGF0YSgidWktdG9vbHRpcC10aXRsZSIpKX0pLHRoaXMuZGlzYWJsZWRUaXRsZXM9dChbXSl9LG9wZW46ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcyxzPXQoZT9lLnRhcmdldDp0aGlzLmVsZW1lbnQpLmNsb3Nlc3QodGhpcy5vcHRpb25zLml0ZW1zKTtzLmxlbmd0aCYmIXMuZGF0YSgidWktdG9vbHRpcC1pZCIpJiYocy5hdHRyKCJ0aXRsZSIpJiZzLmRhdGEoInVpLXRvb2x0aXAtdGl0bGUiLHMuYXR0cigidGl0bGUiKSkscy5kYXRhKCJ1aS10b29sdGlwLW9wZW4iLCEwKSxlJiYibW91c2VvdmVyIj09PWUudHlwZSYmcy5wYXJlbnRzKCkuZWFjaChmdW5jdGlvbigpe3ZhciBlLHM9dCh0aGlzKTtzLmRhdGEoInVpLXRvb2x0aXAtb3BlbiIpJiYoZT10LkV2ZW50KCJibHVyIiksZS50YXJnZXQ9ZS5jdXJyZW50VGFyZ2V0PXRoaXMsaS5jbG9zZShlLCEwKSkscy5hdHRyKCJ0aXRsZSIpJiYocy51bmlxdWVJZCgpLGkucGFyZW50c1t0aGlzLmlkXT17ZWxlbWVudDp0aGlzLHRpdGxlOnMuYXR0cigidGl0bGUiKX0scy5hdHRyKCJ0aXRsZSIsIiIpKX0pLHRoaXMuX3JlZ2lzdGVyQ2xvc2VIYW5kbGVycyhlLHMpLHRoaXMuX3VwZGF0ZUNvbnRlbnQocyxlKSl9LF91cGRhdGVDb250ZW50OmZ1bmN0aW9uKHQsZSl7dmFyIGkscz10aGlzLm9wdGlvbnMuY29udGVudCxuPXRoaXMsbz1lP2UudHlwZTpudWxsO3JldHVybiJzdHJpbmciPT10eXBlb2Ygc3x8cy5ub2RlVHlwZXx8cy5qcXVlcnk/dGhpcy5fb3BlbihlLHQscyk6KGk9cy5jYWxsKHRbMF0sZnVuY3Rpb24oaSl7bi5fZGVsYXkoZnVuY3Rpb24oKXt0LmRhdGEoInVpLXRvb2x0aXAtb3BlbiIpJiYoZSYmKGUudHlwZT1vKSx0aGlzLl9vcGVuKGUsdCxpKSl9KX0pLGkmJnRoaXMuX29wZW4oZSx0LGkpLHZvaWQgMCl9LF9vcGVuOmZ1bmN0aW9uKGUsaSxzKXtmdW5jdGlvbiBuKHQpe2wub2Y9dCxhLmlzKCI6aGlkZGVuIil8fGEucG9zaXRpb24obCl9dmFyIG8sYSxyLGgsbD10LmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMucG9zaXRpb24pO2lmKHMpe2lmKG89dGhpcy5fZmluZChpKSlyZXR1cm4gby50b29sdGlwLmZpbmQoIi51aS10b29sdGlwLWNvbnRlbnQiKS5odG1sKHMpLHZvaWQgMDtpLmlzKCJbdGl0bGVdIikmJihlJiYibW91c2VvdmVyIj09PWUudHlwZT9pLmF0dHIoInRpdGxlIiwiIik6aS5yZW1vdmVBdHRyKCJ0aXRsZSIpKSxvPXRoaXMuX3Rvb2x0aXAoaSksYT1vLnRvb2x0aXAsdGhpcy5fYWRkRGVzY3JpYmVkQnkoaSxhLmF0dHIoImlkIikpLGEuZmluZCgiLnVpLXRvb2x0aXAtY29udGVudCIpLmh0bWwocyksdGhpcy5saXZlUmVnaW9uLmNoaWxkcmVuKCkuaGlkZSgpLGg9dCgiPGRpdj4iKS5odG1sKGEuZmluZCgiLnVpLXRvb2x0aXAtY29udGVudCIpLmh0bWwoKSksaC5yZW1vdmVBdHRyKCJuYW1lIikuZmluZCgiW25hbWVdIikucmVtb3ZlQXR0cigibmFtZSIpLGgucmVtb3ZlQXR0cigiaWQiKS5maW5kKCJbaWRdIikucmVtb3ZlQXR0cigiaWQiKSxoLmFwcGVuZFRvKHRoaXMubGl2ZVJlZ2lvbiksdGhpcy5vcHRpb25zLnRyYWNrJiZlJiYvXm1vdXNlLy50ZXN0KGUudHlwZSk/KHRoaXMuX29uKHRoaXMuZG9jdW1lbnQse21vdXNlbW92ZTpufSksbihlKSk6YS5wb3NpdGlvbih0LmV4dGVuZCh7b2Y6aX0sdGhpcy5vcHRpb25zLnBvc2l0aW9uKSksYS5oaWRlKCksdGhpcy5fc2hvdyhhLHRoaXMub3B0aW9ucy5zaG93KSx0aGlzLm9wdGlvbnMudHJhY2smJnRoaXMub3B0aW9ucy5zaG93JiZ0aGlzLm9wdGlvbnMuc2hvdy5kZWxheSYmKHI9dGhpcy5kZWxheWVkU2hvdz1zZXRJbnRlcnZhbChmdW5jdGlvbigpe2EuaXMoIjp2aXNpYmxlIikmJihuKGwub2YpLGNsZWFySW50ZXJ2YWwocikpfSx0LmZ4LmludGVydmFsKSksdGhpcy5fdHJpZ2dlcigib3BlbiIsZSx7dG9vbHRpcDphfSl9fSxfcmVnaXN0ZXJDbG9zZUhhbmRsZXJzOmZ1bmN0aW9uKGUsaSl7dmFyIHM9e2tleXVwOmZ1bmN0aW9uKGUpe2lmKGUua2V5Q29kZT09PXQudWkua2V5Q29kZS5FU0NBUEUpe3ZhciBzPXQuRXZlbnQoZSk7cy5jdXJyZW50VGFyZ2V0PWlbMF0sdGhpcy5jbG9zZShzLCEwKX19fTtpWzBdIT09dGhpcy5lbGVtZW50WzBdJiYocy5yZW1vdmU9ZnVuY3Rpb24oKXt0aGlzLl9yZW1vdmVUb29sdGlwKHRoaXMuX2ZpbmQoaSkudG9vbHRpcCl9KSxlJiYibW91c2VvdmVyIiE9PWUudHlwZXx8KHMubW91c2VsZWF2ZT0iY2xvc2UiKSxlJiYiZm9jdXNpbiIhPT1lLnR5cGV8fChzLmZvY3Vzb3V0PSJjbG9zZSIpLHRoaXMuX29uKCEwLGkscyl9LGNsb3NlOmZ1bmN0aW9uKGUpe3ZhciBpLHM9dGhpcyxuPXQoZT9lLmN1cnJlbnRUYXJnZXQ6dGhpcy5lbGVtZW50KSxvPXRoaXMuX2ZpbmQobik7cmV0dXJuIG8/KGk9by50b29sdGlwLG8uY2xvc2luZ3x8KGNsZWFySW50ZXJ2YWwodGhpcy5kZWxheWVkU2hvdyksbi5kYXRhKCJ1aS10b29sdGlwLXRpdGxlIikmJiFuLmF0dHIoInRpdGxlIikmJm4uYXR0cigidGl0bGUiLG4uZGF0YSgidWktdG9vbHRpcC10aXRsZSIpKSx0aGlzLl9yZW1vdmVEZXNjcmliZWRCeShuKSxvLmhpZGluZz0hMCxpLnN0b3AoITApLHRoaXMuX2hpZGUoaSx0aGlzLm9wdGlvbnMuaGlkZSxmdW5jdGlvbigpe3MuX3JlbW92ZVRvb2x0aXAodCh0aGlzKSl9KSxuLnJlbW92ZURhdGEoInVpLXRvb2x0aXAtb3BlbiIpLHRoaXMuX29mZihuLCJtb3VzZWxlYXZlIGZvY3Vzb3V0IGtleXVwIiksblswXSE9PXRoaXMuZWxlbWVudFswXSYmdGhpcy5fb2ZmKG4sInJlbW92ZSIpLHRoaXMuX29mZih0aGlzLmRvY3VtZW50LCJtb3VzZW1vdmUiKSxlJiYibW91c2VsZWF2ZSI9PT1lLnR5cGUmJnQuZWFjaCh0aGlzLnBhcmVudHMsZnVuY3Rpb24oZSxpKXt0KGkuZWxlbWVudCkuYXR0cigidGl0bGUiLGkudGl0bGUpLGRlbGV0ZSBzLnBhcmVudHNbZV19KSxvLmNsb3Npbmc9ITAsdGhpcy5fdHJpZ2dlcigiY2xvc2UiLGUse3Rvb2x0aXA6aX0pLG8uaGlkaW5nfHwoby5jbG9zaW5nPSExKSksdm9pZCAwKToobi5yZW1vdmVEYXRhKCJ1aS10b29sdGlwLW9wZW4iKSx2b2lkIDApfSxfdG9vbHRpcDpmdW5jdGlvbihlKXt2YXIgaT10KCI8ZGl2PiIpLmF0dHIoInJvbGUiLCJ0b29sdGlwIikscz10KCI8ZGl2PiIpLmFwcGVuZFRvKGkpLG49aS51bmlxdWVJZCgpLmF0dHIoImlkIik7cmV0dXJuIHRoaXMuX2FkZENsYXNzKHMsInVpLXRvb2x0aXAtY29udGVudCIpLHRoaXMuX2FkZENsYXNzKGksInVpLXRvb2x0aXAiLCJ1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQiKSxpLmFwcGVuZFRvKHRoaXMuX2FwcGVuZFRvKGUpKSx0aGlzLnRvb2x0aXBzW25dPXtlbGVtZW50OmUsdG9vbHRpcDppfX0sX2ZpbmQ6ZnVuY3Rpb24odCl7dmFyIGU9dC5kYXRhKCJ1aS10b29sdGlwLWlkIik7cmV0dXJuIGU/dGhpcy50b29sdGlwc1tlXTpudWxsfSxfcmVtb3ZlVG9vbHRpcDpmdW5jdGlvbih0KXt0LnJlbW92ZSgpLGRlbGV0ZSB0aGlzLnRvb2x0aXBzW3QuYXR0cigiaWQiKV19LF9hcHBlbmRUbzpmdW5jdGlvbih0KXt2YXIgZT10LmNsb3Nlc3QoIi51aS1mcm9udCwgZGlhbG9nIik7cmV0dXJuIGUubGVuZ3RofHwoZT10aGlzLmRvY3VtZW50WzBdLmJvZHkpLGV9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0LmVhY2godGhpcy50b29sdGlwcyxmdW5jdGlvbihpLHMpe3ZhciBuPXQuRXZlbnQoImJsdXIiKSxvPXMuZWxlbWVudDtuLnRhcmdldD1uLmN1cnJlbnRUYXJnZXQ9b1swXSxlLmNsb3NlKG4sITApLHQoIiMiK2kpLnJlbW92ZSgpLG8uZGF0YSgidWktdG9vbHRpcC10aXRsZSIpJiYoby5hdHRyKCJ0aXRsZSIpfHxvLmF0dHIoInRpdGxlIixvLmRhdGEoInVpLXRvb2x0aXAtdGl0bGUiKSksby5yZW1vdmVEYXRhKCJ1aS10b29sdGlwLXRpdGxlIikpfSksdGhpcy5saXZlUmVnaW9uLnJlbW92ZSgpfX0pLHQudWlCYWNrQ29tcGF0IT09ITEmJnQud2lkZ2V0KCJ1aS50b29sdGlwIix0LnVpLnRvb2x0aXAse29wdGlvbnM6e3Rvb2x0aXBDbGFzczpudWxsfSxfdG9vbHRpcDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3N1cGVyQXBwbHkoYXJndW1lbnRzKTtyZXR1cm4gdGhpcy5vcHRpb25zLnRvb2x0aXBDbGFzcyYmdC50b29sdGlwLmFkZENsYXNzKHRoaXMub3B0aW9ucy50b29sdGlwQ2xhc3MpLHR9fSksdC51aS50b29sdGlwfSk7CgovKgpNb2Rlcm5penIKVmVyc2lvbjogMi43LjIKUGx1Z2luIFVSSTogd3d3Lm1vZGVybml6ci5jb20KTGljZW5zZTogQ29weXJpZ2h0IChjKSBGYXJ1ayBBdGVzLCBQYXVsIElyaXNoLCBBbGV4IFNleHRvbiB8IEF2YWlsYWJsZSB1bmRlciB0aGUgQlNEIGFuZCBNSVQgbGljZW5zZXM6IHd3dy5tb2Rlcm5penIuY29tL2xpY2Vuc2UvCiovCjt3aW5kb3cuTW9kZXJuaXpyPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiB1KGEpe2ouY3NzVGV4dD1hfWZ1bmN0aW9uIHYoYSxiKXtyZXR1cm4gdShwcmVmaXhlcy5qb2luKGErIjsiKSsoYnx8IiIpKX1mdW5jdGlvbiB3KGEsYil7cmV0dXJuIHR5cGVvZiBhPT09Yn1mdW5jdGlvbiB4KGEsYil7cmV0dXJuISF+KCIiK2EpLmluZGV4T2YoYil9ZnVuY3Rpb24geShhLGIsZCl7Zm9yKHZhciBlIGluIGEpe3ZhciBmPWJbYVtlXV07aWYoZiE9PWMpcmV0dXJuIGQ9PT0hMT9hW2VdOncoZiwiZnVuY3Rpb24iKT9mLmJpbmQoZHx8Yik6Zn1yZXR1cm4hMX12YXIgZD0iMi44LjMiLGU9e30sZj0hMCxnPWIuZG9jdW1lbnRFbGVtZW50LGg9Im1vZGVybml6ciIsaT1iLmNyZWF0ZUVsZW1lbnQoaCksaj1pLnN0eWxlLGssbD17fS50b1N0cmluZyxtPXt9LG49e30sbz17fSxwPVtdLHE9cC5zbGljZSxyLHM9e30uaGFzT3duUHJvcGVydHksdDshdyhzLCJ1bmRlZmluZWQiKSYmIXcocy5jYWxsLCJ1bmRlZmluZWQiKT90PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHMuY2FsbChhLGIpfTp0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIgaW4gYSYmdyhhLmNvbnN0cnVjdG9yLnByb3RvdHlwZVtiXSwidW5kZWZpbmVkIil9LEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kfHwoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcztpZih0eXBlb2YgYyE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yO3ZhciBkPXEuY2FsbChhcmd1bWVudHMsMSksZT1mdW5jdGlvbigpe2lmKHRoaXMgaW5zdGFuY2VvZiBlKXt2YXIgYT1mdW5jdGlvbigpe307YS5wcm90b3R5cGU9Yy5wcm90b3R5cGU7dmFyIGY9bmV3IGEsZz1jLmFwcGx5KGYsZC5jb25jYXQocS5jYWxsKGFyZ3VtZW50cykpKTtyZXR1cm4gT2JqZWN0KGcpPT09Zz9nOmZ9cmV0dXJuIGMuYXBwbHkoYixkLmNvbmNhdChxLmNhbGwoYXJndW1lbnRzKSkpfTtyZXR1cm4gZX0pO2Zvcih2YXIgeiBpbiBtKXQobSx6KSYmKHI9ei50b0xvd2VyQ2FzZSgpLGVbcl09bVt6XSgpLHAucHVzaCgoZVtyXT8iIjoibm8tIikrcikpO3JldHVybiBlLmFkZFRlc3Q9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYT09Im9iamVjdCIpZm9yKHZhciBkIGluIGEpdChhLGQpJiZlLmFkZFRlc3QoZCxhW2RdKTtlbHNle2E9YS50b0xvd2VyQ2FzZSgpO2lmKGVbYV0hPT1jKXJldHVybiBlO2I9dHlwZW9mIGI9PSJmdW5jdGlvbiI/YigpOmIsdHlwZW9mIGYhPSJ1bmRlZmluZWQiJiZmJiYoZy5jbGFzc05hbWUrPSIgIisoYj8iIjoibm8tIikrYSksZVthXT1ifXJldHVybiBlfSx1KCIiKSxpPWs9bnVsbCxmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGwoYSxiKXt2YXIgYz1hLmNyZWF0ZUVsZW1lbnQoInAiKSxkPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8YS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGMuaW5uZXJIVE1MPSJ4PHN0eWxlPiIrYisiPC9zdHlsZT4iLGQuaW5zZXJ0QmVmb3JlKGMubGFzdENoaWxkLGQuZmlyc3RDaGlsZCl9ZnVuY3Rpb24gbSgpe3ZhciBhPXMuZWxlbWVudHM7cmV0dXJuIHR5cGVvZiBhPT0ic3RyaW5nIj9hLnNwbGl0KCIgIik6YX1mdW5jdGlvbiBuKGEpe3ZhciBiPWpbYVtoXV07cmV0dXJuIGJ8fChiPXt9LGkrKyxhW2hdPWksaltpXT1iKSxifWZ1bmN0aW9uIG8oYSxjLGQpe2N8fChjPWIpO2lmKGspcmV0dXJuIGMuY3JlYXRlRWxlbWVudChhKTtkfHwoZD1uKGMpKTt2YXIgZztyZXR1cm4gZC5jYWNoZVthXT9nPWQuY2FjaGVbYV0uY2xvbmVOb2RlKCk6Zi50ZXN0KGEpP2c9KGQuY2FjaGVbYV09ZC5jcmVhdGVFbGVtKGEpKS5jbG9uZU5vZGUoKTpnPWQuY3JlYXRlRWxlbShhKSxnLmNhbkhhdmVDaGlsZHJlbiYmIWUudGVzdChhKSYmIWcudGFnVXJuP2QuZnJhZy5hcHBlbmRDaGlsZChnKTpnfWZ1bmN0aW9uIHAoYSxjKXthfHwoYT1iKTtpZihrKXJldHVybiBhLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtjPWN8fG4oYSk7dmFyIGQ9Yy5mcmFnLmNsb25lTm9kZSgpLGU9MCxmPW0oKSxnPWYubGVuZ3RoO2Zvcig7ZTxnO2UrKylkLmNyZWF0ZUVsZW1lbnQoZltlXSk7cmV0dXJuIGR9ZnVuY3Rpb24gcShhLGIpe2IuY2FjaGV8fChiLmNhY2hlPXt9LGIuY3JlYXRlRWxlbT1hLmNyZWF0ZUVsZW1lbnQsYi5jcmVhdGVGcmFnPWEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCxiLmZyYWc9Yi5jcmVhdGVGcmFnKCkpLGEuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihjKXtyZXR1cm4gcy5zaGl2TWV0aG9kcz9vKGMsYSxiKTpiLmNyZWF0ZUVsZW0oYyl9LGEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudD1GdW5jdGlvbigiaCxmIiwicmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Zi5jbG9uZU5vZGUoKSxjPW4uY3JlYXRlRWxlbWVudDtoLnNoaXZNZXRob2RzJiYoIittKCkuam9pbigpLnJlcGxhY2UoL1tcd1wtXSsvZyxmdW5jdGlvbihhKXtyZXR1cm4gYi5jcmVhdGVFbGVtKGEpLGIuZnJhZy5jcmVhdGVFbGVtZW50KGEpLCdjKCInK2ErJyIpJ30pKyIpO3JldHVybiBufSIpKHMsYi5mcmFnKX1mdW5jdGlvbiByKGEpe2F8fChhPWIpO3ZhciBjPW4oYSk7cmV0dXJuIHMuc2hpdkNTUyYmIWcmJiFjLmhhc0NTUyYmKGMuaGFzQ1NTPSEhbChhLCJhcnRpY2xlLGFzaWRlLGRpYWxvZyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLGhncm91cCxtYWluLG5hdixzZWN0aW9ue2Rpc3BsYXk6YmxvY2t9bWFya3tiYWNrZ3JvdW5kOiNGRjA7Y29sb3I6IzAwMH10ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9IikpLGt8fHEoYSxjKSxhfXZhciBjPSIzLjcuMCIsZD1hLmh0bWw1fHx7fSxlPS9ePHxeKD86YnV0dG9ufG1hcHxzZWxlY3R8dGV4dGFyZWF8b2JqZWN0fGlmcmFtZXxvcHRpb258b3B0Z3JvdXApJC9pLGY9L14oPzphfGJ8Y29kZXxkaXZ8ZmllbGRzZXR8aDF8aDJ8aDN8aDR8aDV8aDZ8aXxsYWJlbHxsaXxvbHxwfHF8c3BhbnxzdHJvbmd8c3R5bGV8dGFibGV8dGJvZHl8dGR8dGh8dHJ8dWwpJC9pLGcsaD0iX2h0bWw1c2hpdiIsaT0wLGo9e30sazsoZnVuY3Rpb24oKXt0cnl7dmFyIGE9Yi5jcmVhdGVFbGVtZW50KCJhIik7YS5pbm5lckhUTUw9Ijx4eXo+PC94eXo+IixnPSJoaWRkZW4iaW4gYSxrPWEuY2hpbGROb2Rlcy5sZW5ndGg9PTF8fGZ1bmN0aW9uKCl7Yi5jcmVhdGVFbGVtZW50KCJhIik7dmFyIGE9Yi5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7cmV0dXJuIHR5cGVvZiBhLmNsb25lTm9kZT09InVuZGVmaW5lZCJ8fHR5cGVvZiBhLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQ9PSJ1bmRlZmluZWQifHx0eXBlb2YgYS5jcmVhdGVFbGVtZW50PT0idW5kZWZpbmVkIn0oKX1jYXRjaChjKXtnPSEwLGs9ITB9fSkoKTt2YXIgcz17ZWxlbWVudHM6ZC5lbGVtZW50c3x8ImFiYnIgYXJ0aWNsZSBhc2lkZSBhdWRpbyBiZGkgY2FudmFzIGRhdGEgZGF0YWxpc3QgZGV0YWlscyBkaWFsb2cgZmlnY2FwdGlvbiBmaWd1cmUgZm9vdGVyIGhlYWRlciBoZ3JvdXAgbWFpbiBtYXJrIG1ldGVyIG5hdiBvdXRwdXQgcHJvZ3Jlc3Mgc2VjdGlvbiBzdW1tYXJ5IHRlbXBsYXRlIHRpbWUgdmlkZW8iLHZlcnNpb246YyxzaGl2Q1NTOmQuc2hpdkNTUyE9PSExLHN1cHBvcnRzVW5rbm93bkVsZW1lbnRzOmssc2hpdk1ldGhvZHM6ZC5zaGl2TWV0aG9kcyE9PSExLHR5cGU6ImRlZmF1bHQiLHNoaXZEb2N1bWVudDpyLGNyZWF0ZUVsZW1lbnQ6byxjcmVhdGVEb2N1bWVudEZyYWdtZW50OnB9O2EuaHRtbDU9cyxyKGIpfSh0aGlzLGIpLGUuX3ZlcnNpb249ZCxnLmNsYXNzTmFtZT1nLmNsYXNzTmFtZS5yZXBsYWNlKC8oXnxccyluby1qcyhcc3wkKS8sIiQxJDIiKSsoZj8iIGpzICIrcC5qb2luKCIgIik6IiIpLGV9KHRoaXMsdGhpcy5kb2N1bWVudCksZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoYSl7cmV0dXJuIltvYmplY3QgRnVuY3Rpb25dIj09by5jYWxsKGEpfWZ1bmN0aW9uIGUoYSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBhfWZ1bmN0aW9uIGYoKXt9ZnVuY3Rpb24gZyhhKXtyZXR1cm4hYXx8ImxvYWRlZCI9PWF8fCJjb21wbGV0ZSI9PWF8fCJ1bmluaXRpYWxpemVkIj09YX1mdW5jdGlvbiBoKCl7dmFyIGE9cC5zaGlmdCgpO3E9MSxhP2EudD9tKGZ1bmN0aW9uKCl7KCJjIj09YS50P0IuaW5qZWN0Q3NzOkIuaW5qZWN0SnMpKGEucywwLGEuYSxhLngsYS5lLDEpfSwwKTooYSgpLGgoKSk6cT0wfWZ1bmN0aW9uIGkoYSxjLGQsZSxmLGksail7ZnVuY3Rpb24gayhiKXtpZighbyYmZyhsLnJlYWR5U3RhdGUpJiYodS5yPW89MSwhcSYmaCgpLGwub25sb2FkPWwub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsYikpeyJpbWciIT1hJiZtKGZ1bmN0aW9uKCl7dC5yZW1vdmVDaGlsZChsKX0sNTApO2Zvcih2YXIgZCBpbiB5W2NdKXlbY10uaGFzT3duUHJvcGVydHkoZCkmJnlbY11bZF0ub25sb2FkKCl9fXZhciBqPWp8fEIuZXJyb3JUaW1lb3V0LGw9Yi5jcmVhdGVFbGVtZW50KGEpLG89MCxyPTAsdT17dDpkLHM6YyxlOmYsYTppLHg6an07MT09PXlbY10mJihyPTEseVtjXT1bXSksIm9iamVjdCI9PWE/bC5kYXRhPWM6KGwuc3JjPWMsbC50eXBlPWEpLGwud2lkdGg9bC5oZWlnaHQ9IjAiLGwub25lcnJvcj1sLm9ubG9hZD1sLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2suY2FsbCh0aGlzLHIpfSxwLnNwbGljZShlLDAsdSksImltZyIhPWEmJihyfHwyPT09eVtjXT8odC5pbnNlcnRCZWZvcmUobCxzP251bGw6biksbShrLGopKTp5W2NdLnB1c2gobCkpfWZ1bmN0aW9uIGooYSxiLGMsZCxmKXtyZXR1cm4gcT0wLGI9Ynx8ImoiLGUoYSk/aSgiYyI9PWI/djp1LGEsYix0aGlzLmkrKyxjLGQsZik6KHAuc3BsaWNlKHRoaXMuaSsrLDAsYSksMT09cC5sZW5ndGgmJmgoKSksdGhpc31mdW5jdGlvbiBrKCl7dmFyIGE9QjtyZXR1cm4gYS5sb2FkZXI9e2xvYWQ6aixpOjB9LGF9dmFyIGw9Yi5kb2N1bWVudEVsZW1lbnQsbT1hLnNldFRpbWVvdXQsbj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXSxvPXt9LnRvU3RyaW5nLHA9W10scT0wLHI9Ik1vekFwcGVhcmFuY2UiaW4gbC5zdHlsZSxzPXImJiEhYi5jcmVhdGVSYW5nZSgpLmNvbXBhcmVOb2RlLHQ9cz9sOm4ucGFyZW50Tm9kZSxsPWEub3BlcmEmJiJbb2JqZWN0IE9wZXJhXSI9PW8uY2FsbChhLm9wZXJhKSxsPSEhYi5hdHRhY2hFdmVudCYmIWwsdT1yPyJvYmplY3QiOmw/InNjcmlwdCI6ImltZyIsdj1sPyJzY3JpcHQiOnUsdz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihhKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT1vLmNhbGwoYSl9LHg9W10seT17fSx6PXt0aW1lb3V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGIubGVuZ3RoJiYoYS50aW1lb3V0PWJbMF0pLGF9fSxBLEI7Qj1mdW5jdGlvbihhKXtmdW5jdGlvbiBiKGEpe3ZhciBhPWEuc3BsaXQoIiEiKSxiPXgubGVuZ3RoLGM9YS5wb3AoKSxkPWEubGVuZ3RoLGM9e3VybDpjLG9yaWdVcmw6YyxwcmVmaXhlczphfSxlLGYsZztmb3IoZj0wO2Y8ZDtmKyspZz1hW2ZdLnNwbGl0KCI9IiksKGU9eltnLnNoaWZ0KCldKSYmKGM9ZShjLGcpKTtmb3IoZj0wO2Y8YjtmKyspYz14W2ZdKGMpO3JldHVybiBjfWZ1bmN0aW9uIGcoYSxlLGYsZyxoKXt2YXIgaT1iKGEpLGo9aS5hdXRvQ2FsbGJhY2s7aS51cmwuc3BsaXQoIi4iKS5wb3AoKS5zcGxpdCgiPyIpLnNoaWZ0KCksaS5ieXBhc3N8fChlJiYoZT1kKGUpP2U6ZVthXXx8ZVtnXXx8ZVthLnNwbGl0KCIvIikucG9wKCkuc3BsaXQoIj8iKVswXV0pLGkuaW5zdGVhZD9pLmluc3RlYWQoYSxlLGYsZyxoKTooeVtpLnVybF0/aS5ub2V4ZWM9ITA6eVtpLnVybF09MSxmLmxvYWQoaS51cmwsaS5mb3JjZUNTU3x8IWkuZm9yY2VKUyYmImNzcyI9PWkudXJsLnNwbGl0KCIuIikucG9wKCkuc3BsaXQoIj8iKS5zaGlmdCgpPyJjIjpjLGkubm9leGVjLGkuYXR0cnMsaS50aW1lb3V0KSwoZChlKXx8ZChqKSkmJmYubG9hZChmdW5jdGlvbigpe2soKSxlJiZlKGkub3JpZ1VybCxoLGcpLGomJmooaS5vcmlnVXJsLGgsZykseVtpLnVybF09Mn0pKSl9ZnVuY3Rpb24gaChhLGIpe2Z1bmN0aW9uIGMoYSxjKXtpZihhKXtpZihlKGEpKWN8fChqPWZ1bmN0aW9uKCl7dmFyIGE9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpO2suYXBwbHkodGhpcyxhKSxsKCl9KSxnKGEsaixiLDAsaCk7ZWxzZSBpZihPYmplY3QoYSk9PT1hKWZvcihuIGluIG09ZnVuY3Rpb24oKXt2YXIgYj0wLGM7Zm9yKGMgaW4gYSlhLmhhc093blByb3BlcnR5KGMpJiZiKys7cmV0dXJuIGJ9KCksYSlhLmhhc093blByb3BlcnR5KG4pJiYoIWMmJiEtLW0mJihkKGopP2o9ZnVuY3Rpb24oKXt2YXIgYT1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7ay5hcHBseSh0aGlzLGEpLGwoKX06altuXT1mdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7YSYmYS5hcHBseSh0aGlzLGIpLGwoKX19KGtbbl0pKSxnKGFbbl0saixiLG4saCkpfWVsc2UhYyYmbCgpfXZhciBoPSEhYS50ZXN0LGk9YS5sb2FkfHxhLmJvdGgsaj1hLmNhbGxiYWNrfHxmLGs9aixsPWEuY29tcGxldGV8fGYsbSxuO2MoaD9hLnllcDphLm5vcGUsISFpKSxpJiZjKGkpfXZhciBpLGosbD10aGlzLnllcG5vcGUubG9hZGVyO2lmKGUoYSkpZyhhLDAsbCwwKTtlbHNlIGlmKHcoYSkpZm9yKGk9MDtpPGEubGVuZ3RoO2krKylqPWFbaV0sZShqKT9nKGosMCxsLDApOncoaik/QihqKTpPYmplY3Qoaik9PT1qJiZoKGosbCk7ZWxzZSBPYmplY3QoYSk9PT1hJiZoKGEsbCl9LEIuYWRkUHJlZml4PWZ1bmN0aW9uKGEsYil7elthXT1ifSxCLmFkZEZpbHRlcj1mdW5jdGlvbihhKXt4LnB1c2goYSl9LEIuZXJyb3JUaW1lb3V0PTFlNCxudWxsPT1iLnJlYWR5U3RhdGUmJmIuYWRkRXZlbnRMaXN0ZW5lciYmKGIucmVhZHlTdGF0ZT0ibG9hZGluZyIsYi5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixBPWZ1bmN0aW9uKCl7Yi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixBLDApLGIucmVhZHlTdGF0ZT0iY29tcGxldGUifSwwKSksYS55ZXBub3BlPWsoKSxhLnllcG5vcGUuZXhlY3V0ZVN0YWNrPWgsYS55ZXBub3BlLmluamVjdEpzPWZ1bmN0aW9uKGEsYyxkLGUsaSxqKXt2YXIgaz1iLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGwsbyxlPWV8fEIuZXJyb3JUaW1lb3V0O2suc3JjPWE7Zm9yKG8gaW4gZClrLnNldEF0dHJpYnV0ZShvLGRbb10pO2M9aj9oOmN8fGYsay5vbnJlYWR5c3RhdGVjaGFuZ2U9ay5vbmxvYWQ9ZnVuY3Rpb24oKXshbCYmZyhrLnJlYWR5U3RhdGUpJiYobD0xLGMoKSxrLm9ubG9hZD1rLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsKX0sbShmdW5jdGlvbigpe2x8fChsPTEsYygxKSl9LGUpLGk/ay5vbmxvYWQoKTpuLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGssbil9LGEueWVwbm9wZS5pbmplY3RDc3M9ZnVuY3Rpb24oYSxjLGQsZSxnLGkpe3ZhciBlPWIuY3JlYXRlRWxlbWVudCgibGluayIpLGosYz1pP2g6Y3x8ZjtlLmhyZWY9YSxlLnJlbD0ic3R5bGVzaGVldCIsZS50eXBlPSJ0ZXh0L2NzcyI7Zm9yKGogaW4gZCllLnNldEF0dHJpYnV0ZShqLGRbal0pO2d8fChuLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsbiksbShjLDApKX19KHRoaXMsZG9jdW1lbnQpLE1vZGVybml6ci5sb2FkPWZ1bmN0aW9uKCl7eWVwbm9wZS5hcHBseSh3aW5kb3csW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpfTsKCi8qCkJvb3RzdHJhcApWZXJzaW9uOiA0LjUuMwpQbHVnaW4gVVJJOiBodHRwczovL2dldGJvb3RzdHJhcC5jb20vCkxpY2Vuc2U6IExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFpbi9MSUNFTlNFKQoqLwohZnVuY3Rpb24odCxlKXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP2UoZXhwb3J0cyxyZXF1aXJlKCJqcXVlcnkiKSk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJleHBvcnRzIiwianF1ZXJ5Il0sZSk6ZSgodD0idW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbFRoaXM/Z2xvYmFsVGhpczp0fHxzZWxmKS5ib290c3RyYXA9e30sdC5qUXVlcnkpfSh0aGlzLChmdW5jdGlvbih0LGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQpe3JldHVybiB0JiYib2JqZWN0Ij09dHlwZW9mIHQmJiJkZWZhdWx0ImluIHQ/dDp7ZGVmYXVsdDp0fX12YXIgaT1uKGUpO2Z1bmN0aW9uIG8odCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIGk9ZVtuXTtpLmVudW1lcmFibGU9aS5lbnVtZXJhYmxlfHwhMSxpLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gaSYmKGkud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGkua2V5LGkpfX1mdW5jdGlvbiByKHQsZSxuKXtyZXR1cm4gZSYmbyh0LnByb3RvdHlwZSxlKSxuJiZvKHQsbiksdH1mdW5jdGlvbiBhKCl7cmV0dXJuKGE9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIG49YXJndW1lbnRzW2VdO2Zvcih2YXIgaSBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLGkpJiYodFtpXT1uW2ldKX1yZXR1cm4gdH0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBzKHQpe3ZhciBlPXRoaXMsbj0hMTtyZXR1cm4gaS5kZWZhdWx0KHRoaXMpLm9uZShsLlRSQU5TSVRJT05fRU5ELChmdW5jdGlvbigpe249ITB9KSksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtufHxsLnRyaWdnZXJUcmFuc2l0aW9uRW5kKGUpfSksdCksdGhpc312YXIgbD17VFJBTlNJVElPTl9FTkQ6ImJzVHJhbnNpdGlvbkVuZCIsZ2V0VUlEOmZ1bmN0aW9uKHQpe2Rve3QrPX5+KDFlNipNYXRoLnJhbmRvbSgpKX13aGlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KSk7cmV0dXJuIHR9LGdldFNlbGVjdG9yRnJvbUVsZW1lbnQ6ZnVuY3Rpb24odCl7dmFyIGU9dC5nZXRBdHRyaWJ1dGUoImRhdGEtdGFyZ2V0Iik7aWYoIWV8fCIjIj09PWUpe3ZhciBuPXQuZ2V0QXR0cmlidXRlKCJocmVmIik7ZT1uJiYiIyIhPT1uP24udHJpbSgpOiIifXRyeXtyZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKT9lOm51bGx9Y2F0Y2godCl7cmV0dXJuIG51bGx9fSxnZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudDpmdW5jdGlvbih0KXtpZighdClyZXR1cm4gMDt2YXIgZT1pLmRlZmF1bHQodCkuY3NzKCJ0cmFuc2l0aW9uLWR1cmF0aW9uIiksbj1pLmRlZmF1bHQodCkuY3NzKCJ0cmFuc2l0aW9uLWRlbGF5Iiksbz1wYXJzZUZsb2F0KGUpLHI9cGFyc2VGbG9hdChuKTtyZXR1cm4gb3x8cj8oZT1lLnNwbGl0KCIsIilbMF0sbj1uLnNwbGl0KCIsIilbMF0sMWUzKihwYXJzZUZsb2F0KGUpK3BhcnNlRmxvYXQobikpKTowfSxyZWZsb3c6ZnVuY3Rpb24odCl7cmV0dXJuIHQub2Zmc2V0SGVpZ2h0fSx0cmlnZ2VyVHJhbnNpdGlvbkVuZDpmdW5jdGlvbih0KXtpLmRlZmF1bHQodCkudHJpZ2dlcigidHJhbnNpdGlvbmVuZCIpfSxzdXBwb3J0c1RyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gQm9vbGVhbigidHJhbnNpdGlvbmVuZCIpfSxpc0VsZW1lbnQ6ZnVuY3Rpb24odCl7cmV0dXJuKHRbMF18fHQpLm5vZGVUeXBlfSx0eXBlQ2hlY2tDb25maWc6ZnVuY3Rpb24odCxlLG4pe2Zvcih2YXIgaSBpbiBuKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLGkpKXt2YXIgbz1uW2ldLHI9ZVtpXSxhPXImJmwuaXNFbGVtZW50KHIpPyJlbGVtZW50IjpudWxsPT09KHM9cil8fCJ1bmRlZmluZWQiPT10eXBlb2Ygcz8iIitzOnt9LnRvU3RyaW5nLmNhbGwocykubWF0Y2goL1xzKFthLXpdKykvaSlbMV0udG9Mb3dlckNhc2UoKTtpZighbmV3IFJlZ0V4cChvKS50ZXN0KGEpKXRocm93IG5ldyBFcnJvcih0LnRvVXBwZXJDYXNlKCkrJzogT3B0aW9uICInK2krJyIgcHJvdmlkZWQgdHlwZSAiJythKyciIGJ1dCBleHBlY3RlZCB0eXBlICInK28rJyIuJyl9dmFyIHN9LGZpbmRTaGFkb3dSb290OmZ1bmN0aW9uKHQpe2lmKCFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXR0YWNoU2hhZG93KXJldHVybiBudWxsO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldFJvb3ROb2RlKXt2YXIgZT10LmdldFJvb3ROb2RlKCk7cmV0dXJuIGUgaW5zdGFuY2VvZiBTaGFkb3dSb290P2U6bnVsbH1yZXR1cm4gdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3Q/dDp0LnBhcmVudE5vZGU/bC5maW5kU2hhZG93Um9vdCh0LnBhcmVudE5vZGUpOm51bGx9LGpRdWVyeURldGVjdGlvbjpmdW5jdGlvbigpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgaS5kZWZhdWx0KXRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5LiBqUXVlcnkgbXVzdCBiZSBpbmNsdWRlZCBiZWZvcmUgQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdC4iKTt2YXIgdD1pLmRlZmF1bHQuZm4uanF1ZXJ5LnNwbGl0KCIgIilbMF0uc3BsaXQoIi4iKTtpZih0WzBdPDImJnRbMV08OXx8MT09PXRbMF0mJjk9PT10WzFdJiZ0WzJdPDF8fHRbMF0+PTQpdGhyb3cgbmV3IEVycm9yKCJCb290c3RyYXAncyBKYXZhU2NyaXB0IHJlcXVpcmVzIGF0IGxlYXN0IGpRdWVyeSB2MS45LjEgYnV0IGxlc3MgdGhhbiB2NC4wLjAiKX19O2wualF1ZXJ5RGV0ZWN0aW9uKCksaS5kZWZhdWx0LmZuLmVtdWxhdGVUcmFuc2l0aW9uRW5kPXMsaS5kZWZhdWx0LmV2ZW50LnNwZWNpYWxbbC5UUkFOU0lUSU9OX0VORF09e2JpbmRUeXBlOiJ0cmFuc2l0aW9uZW5kIixkZWxlZ2F0ZVR5cGU6InRyYW5zaXRpb25lbmQiLGhhbmRsZTpmdW5jdGlvbih0KXtpZihpLmRlZmF1bHQodC50YXJnZXQpLmlzKHRoaXMpKXJldHVybiB0LmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19O3ZhciB1PSJhbGVydCIsZj1pLmRlZmF1bHQuZm5bdV0sZD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5fZWxlbWVudD10fXZhciBlPXQucHJvdG90eXBlO3JldHVybiBlLmNsb3NlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2VsZW1lbnQ7dCYmKGU9dGhpcy5fZ2V0Um9vdEVsZW1lbnQodCkpLHRoaXMuX3RyaWdnZXJDbG9zZUV2ZW50KGUpLmlzRGVmYXVsdFByZXZlbnRlZCgpfHx0aGlzLl9yZW1vdmVFbGVtZW50KGUpfSxlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtpLmRlZmF1bHQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCJicy5hbGVydCIpLHRoaXMuX2VsZW1lbnQ9bnVsbH0sZS5fZ2V0Um9vdEVsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU9bC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHQpLG49ITE7cmV0dXJuIGUmJihuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSkpLG58fChuPWkuZGVmYXVsdCh0KS5jbG9zZXN0KCIuYWxlcnQiKVswXSksbn0sZS5fdHJpZ2dlckNsb3NlRXZlbnQ9ZnVuY3Rpb24odCl7dmFyIGU9aS5kZWZhdWx0LkV2ZW50KCJjbG9zZS5icy5hbGVydCIpO3JldHVybiBpLmRlZmF1bHQodCkudHJpZ2dlcihlKSxlfSxlLl9yZW1vdmVFbGVtZW50PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYoaS5kZWZhdWx0KHQpLnJlbW92ZUNsYXNzKCJzaG93IiksaS5kZWZhdWx0KHQpLmhhc0NsYXNzKCJmYWRlIikpe3ZhciBuPWwuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodCk7aS5kZWZhdWx0KHQpLm9uZShsLlRSQU5TSVRJT05fRU5ELChmdW5jdGlvbihuKXtyZXR1cm4gZS5fZGVzdHJveUVsZW1lbnQodCxuKX0pKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChuKX1lbHNlIHRoaXMuX2Rlc3Ryb3lFbGVtZW50KHQpfSxlLl9kZXN0cm95RWxlbWVudD1mdW5jdGlvbih0KXtpLmRlZmF1bHQodCkuZGV0YWNoKCkudHJpZ2dlcigiY2xvc2VkLmJzLmFsZXJ0IikucmVtb3ZlKCl9LHQuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuPWkuZGVmYXVsdCh0aGlzKSxvPW4uZGF0YSgiYnMuYWxlcnQiKTtvfHwobz1uZXcgdCh0aGlzKSxuLmRhdGEoImJzLmFsZXJ0IixvKSksImNsb3NlIj09PWUmJm9bZV0odGhpcyl9KSl9LHQuX2hhbmRsZURpc21pc3M9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2UmJmUucHJldmVudERlZmF1bHQoKSx0LmNsb3NlKHRoaXMpfX0scih0LG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI0LjUuMyJ9fV0pLHR9KCk7aS5kZWZhdWx0KGRvY3VtZW50KS5vbigiY2xpY2suYnMuYWxlcnQuZGF0YS1hcGkiLCdbZGF0YS1kaXNtaXNzPSJhbGVydCJdJyxkLl9oYW5kbGVEaXNtaXNzKG5ldyBkKSksaS5kZWZhdWx0LmZuW3VdPWQuX2pRdWVyeUludGVyZmFjZSxpLmRlZmF1bHQuZm5bdV0uQ29uc3RydWN0b3I9ZCxpLmRlZmF1bHQuZm5bdV0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBpLmRlZmF1bHQuZm5bdV09ZixkLl9qUXVlcnlJbnRlcmZhY2V9O3ZhciBjPWkuZGVmYXVsdC5mbi5idXR0b24saD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5fZWxlbWVudD10LHRoaXMuc2hvdWxkQXZvaWRUcmlnZ2VyQ2hhbmdlPSExfXZhciBlPXQucHJvdG90eXBlO3JldHVybiBlLnRvZ2dsZT1mdW5jdGlvbigpe3ZhciB0PSEwLGU9ITAsbj1pLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuY2xvc2VzdCgnW2RhdGEtdG9nZ2xlPSJidXR0b25zIl0nKVswXTtpZihuKXt2YXIgbz10aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Om5vdChbdHlwZT0iaGlkZGVuIl0pJyk7aWYobyl7aWYoInJhZGlvIj09PW8udHlwZSlpZihvLmNoZWNrZWQmJnRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJhY3RpdmUiKSl0PSExO2Vsc2V7dmFyIHI9bi5xdWVyeVNlbGVjdG9yKCIuYWN0aXZlIik7ciYmaS5kZWZhdWx0KHIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKX10JiYoImNoZWNrYm94IiE9PW8udHlwZSYmInJhZGlvIiE9PW8udHlwZXx8KG8uY2hlY2tlZD0hdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImFjdGl2ZSIpKSx0aGlzLnNob3VsZEF2b2lkVHJpZ2dlckNoYW5nZXx8aS5kZWZhdWx0KG8pLnRyaWdnZXIoImNoYW5nZSIpKSxvLmZvY3VzKCksZT0hMX19dGhpcy5fZWxlbWVudC5oYXNBdHRyaWJ1dGUoImRpc2FibGVkIil8fHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJkaXNhYmxlZCIpfHwoZSYmdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsIXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJhY3RpdmUiKSksdCYmaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRvZ2dsZUNsYXNzKCJhY3RpdmUiKSl9LGUuZGlzcG9zZT1mdW5jdGlvbigpe2kuZGVmYXVsdC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsImJzLmJ1dHRvbiIpLHRoaXMuX2VsZW1lbnQ9bnVsbH0sdC5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUsbil7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt2YXIgbz1pLmRlZmF1bHQodGhpcykscj1vLmRhdGEoImJzLmJ1dHRvbiIpO3J8fChyPW5ldyB0KHRoaXMpLG8uZGF0YSgiYnMuYnV0dG9uIixyKSksci5zaG91bGRBdm9pZFRyaWdnZXJDaGFuZ2U9biwidG9nZ2xlIj09PWUmJnJbZV0oKX0pKX0scih0LG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI0LjUuMyJ9fV0pLHR9KCk7aS5kZWZhdWx0KGRvY3VtZW50KS5vbigiY2xpY2suYnMuYnV0dG9uLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlXj0iYnV0dG9uIl0nLChmdW5jdGlvbih0KXt2YXIgZT10LnRhcmdldCxuPWU7aWYoaS5kZWZhdWx0KGUpLmhhc0NsYXNzKCJidG4iKXx8KGU9aS5kZWZhdWx0KGUpLmNsb3Nlc3QoIi5idG4iKVswXSksIWV8fGUuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpfHxlLmNsYXNzTGlzdC5jb250YWlucygiZGlzYWJsZWQiKSl0LnByZXZlbnREZWZhdWx0KCk7ZWxzZXt2YXIgbz1lLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Om5vdChbdHlwZT0iaGlkZGVuIl0pJyk7aWYobyYmKG8uaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpfHxvLmNsYXNzTGlzdC5jb250YWlucygiZGlzYWJsZWQiKSkpcmV0dXJuIHZvaWQgdC5wcmV2ZW50RGVmYXVsdCgpOyJJTlBVVCIhPT1uLnRhZ05hbWUmJiJMQUJFTCI9PT1lLnRhZ05hbWV8fGguX2pRdWVyeUludGVyZmFjZS5jYWxsKGkuZGVmYXVsdChlKSwidG9nZ2xlIiwiSU5QVVQiPT09bi50YWdOYW1lKX19KSkub24oImZvY3VzLmJzLmJ1dHRvbi5kYXRhLWFwaSBibHVyLmJzLmJ1dHRvbi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZV49ImJ1dHRvbiJdJywoZnVuY3Rpb24odCl7dmFyIGU9aS5kZWZhdWx0KHQudGFyZ2V0KS5jbG9zZXN0KCIuYnRuIilbMF07aS5kZWZhdWx0KGUpLnRvZ2dsZUNsYXNzKCJmb2N1cyIsL15mb2N1cyhpbik/JC8udGVzdCh0LnR5cGUpKX0pKSxpLmRlZmF1bHQod2luZG93KS5vbigibG9hZC5icy5idXR0b24uZGF0YS1hcGkiLChmdW5jdGlvbigpe2Zvcih2YXIgdD1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdIC5idG4nKSksZT0wLG49dC5sZW5ndGg7ZTxuO2UrKyl7dmFyIGk9dFtlXSxvPWkucXVlcnlTZWxlY3RvcignaW5wdXQ6bm90KFt0eXBlPSJoaWRkZW4iXSknKTtvLmNoZWNrZWR8fG8uaGFzQXR0cmlidXRlKCJjaGVja2VkIik/aS5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKTppLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpfWZvcih2YXIgcj0wLGE9KHQ9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS10b2dnbGU9ImJ1dHRvbiJdJykpKS5sZW5ndGg7cjxhO3IrKyl7dmFyIHM9dFtyXTsidHJ1ZSI9PT1zLmdldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIik/cy5jbGFzc0xpc3QuYWRkKCJhY3RpdmUiKTpzLmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpfX0pKSxpLmRlZmF1bHQuZm4uYnV0dG9uPWguX2pRdWVyeUludGVyZmFjZSxpLmRlZmF1bHQuZm4uYnV0dG9uLkNvbnN0cnVjdG9yPWgsaS5kZWZhdWx0LmZuLmJ1dHRvbi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGkuZGVmYXVsdC5mbi5idXR0b249YyxoLl9qUXVlcnlJbnRlcmZhY2V9O3ZhciBwPSJjYXJvdXNlbCIsbT0iLmJzLmNhcm91c2VsIixnPWkuZGVmYXVsdC5mbltwXSx2PXtpbnRlcnZhbDo1ZTMsa2V5Ym9hcmQ6ITAsc2xpZGU6ITEscGF1c2U6ImhvdmVyIix3cmFwOiEwLHRvdWNoOiEwfSxfPXtpbnRlcnZhbDoiKG51bWJlcnxib29sZWFuKSIsa2V5Ym9hcmQ6ImJvb2xlYW4iLHNsaWRlOiIoYm9vbGVhbnxzdHJpbmcpIixwYXVzZToiKHN0cmluZ3xib29sZWFuKSIsd3JhcDoiYm9vbGVhbiIsdG91Y2g6ImJvb2xlYW4ifSxiPXtUT1VDSDoidG91Y2giLFBFTjoicGVuIn0seT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlKXt0aGlzLl9pdGVtcz1udWxsLHRoaXMuX2ludGVydmFsPW51bGwsdGhpcy5fYWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2lzUGF1c2VkPSExLHRoaXMuX2lzU2xpZGluZz0hMSx0aGlzLnRvdWNoVGltZW91dD1udWxsLHRoaXMudG91Y2hTdGFydFg9MCx0aGlzLnRvdWNoRGVsdGFYPTAsdGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLl9lbGVtZW50PXQsdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQ9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuY2Fyb3VzZWwtaW5kaWNhdG9ycyIpLHRoaXMuX3RvdWNoU3VwcG9ydGVkPSJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fHxuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MCx0aGlzLl9wb2ludGVyRXZlbnQ9Qm9vbGVhbih3aW5kb3cuUG9pbnRlckV2ZW50fHx3aW5kb3cuTVNQb2ludGVyRXZlbnQpLHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKCl9dmFyIGU9dC5wcm90b3R5cGU7cmV0dXJuIGUubmV4dD1mdW5jdGlvbigpe3RoaXMuX2lzU2xpZGluZ3x8dGhpcy5fc2xpZGUoIm5leHQiKX0sZS5uZXh0V2hlblZpc2libGU9ZnVuY3Rpb24oKXt2YXIgdD1pLmRlZmF1bHQodGhpcy5fZWxlbWVudCk7IWRvY3VtZW50LmhpZGRlbiYmdC5pcygiOnZpc2libGUiKSYmImhpZGRlbiIhPT10LmNzcygidmlzaWJpbGl0eSIpJiZ0aGlzLm5leHQoKX0sZS5wcmV2PWZ1bmN0aW9uKCl7dGhpcy5faXNTbGlkaW5nfHx0aGlzLl9zbGlkZSgicHJldiIpfSxlLnBhdXNlPWZ1bmN0aW9uKHQpe3R8fCh0aGlzLl9pc1BhdXNlZD0hMCksdGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuY2Fyb3VzZWwtaXRlbS1uZXh0LCAuY2Fyb3VzZWwtaXRlbS1wcmV2IikmJihsLnRyaWdnZXJUcmFuc2l0aW9uRW5kKHRoaXMuX2VsZW1lbnQpLHRoaXMuY3ljbGUoITApKSxjbGVhckludGVydmFsKHRoaXMuX2ludGVydmFsKSx0aGlzLl9pbnRlcnZhbD1udWxsfSxlLmN5Y2xlPWZ1bmN0aW9uKHQpe3R8fCh0aGlzLl9pc1BhdXNlZD0hMSksdGhpcy5faW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMuX2ludGVydmFsKSx0aGlzLl9pbnRlcnZhbD1udWxsKSx0aGlzLl9jb25maWcuaW50ZXJ2YWwmJiF0aGlzLl9pc1BhdXNlZCYmKHRoaXMuX2ludGVydmFsPXNldEludGVydmFsKChkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU/dGhpcy5uZXh0V2hlblZpc2libGU6dGhpcy5uZXh0KS5iaW5kKHRoaXMpLHRoaXMuX2NvbmZpZy5pbnRlcnZhbCkpfSxlLnRvPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dGhpcy5fYWN0aXZlRWxlbWVudD10aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5hY3RpdmUuY2Fyb3VzZWwtaXRlbSIpO3ZhciBuPXRoaXMuX2dldEl0ZW1JbmRleCh0aGlzLl9hY3RpdmVFbGVtZW50KTtpZighKHQ+dGhpcy5faXRlbXMubGVuZ3RoLTF8fHQ8MCkpaWYodGhpcy5faXNTbGlkaW5nKWkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbmUoInNsaWQuYnMuY2Fyb3VzZWwiLChmdW5jdGlvbigpe3JldHVybiBlLnRvKHQpfSkpO2Vsc2V7aWYobj09PXQpcmV0dXJuIHRoaXMucGF1c2UoKSx2b2lkIHRoaXMuY3ljbGUoKTt2YXIgbz10Pm4/Im5leHQiOiJwcmV2Ijt0aGlzLl9zbGlkZShvLHRoaXMuX2l0ZW1zW3RdKX19LGUuZGlzcG9zZT1mdW5jdGlvbigpe2kuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vZmYobSksaS5kZWZhdWx0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwiYnMuY2Fyb3VzZWwiKSx0aGlzLl9pdGVtcz1udWxsLHRoaXMuX2NvbmZpZz1udWxsLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX2lzUGF1c2VkPW51bGwsdGhpcy5faXNTbGlkaW5nPW51bGwsdGhpcy5fYWN0aXZlRWxlbWVudD1udWxsLHRoaXMuX2luZGljYXRvcnNFbGVtZW50PW51bGx9LGUuX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gdD1hKHt9LHYsdCksbC50eXBlQ2hlY2tDb25maWcocCx0LF8pLHR9LGUuX2hhbmRsZVN3aXBlPWZ1bmN0aW9uKCl7dmFyIHQ9TWF0aC5hYnModGhpcy50b3VjaERlbHRhWCk7aWYoISh0PD00MCkpe3ZhciBlPXQvdGhpcy50b3VjaERlbHRhWDt0aGlzLnRvdWNoRGVsdGFYPTAsZT4wJiZ0aGlzLnByZXYoKSxlPDAmJnRoaXMubmV4dCgpfX0sZS5fYWRkRXZlbnRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuX2NvbmZpZy5rZXlib2FyZCYmaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uKCJrZXlkb3duLmJzLmNhcm91c2VsIiwoZnVuY3Rpb24oZSl7cmV0dXJuIHQuX2tleWRvd24oZSl9KSksImhvdmVyIj09PXRoaXMuX2NvbmZpZy5wYXVzZSYmaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uKCJtb3VzZWVudGVyLmJzLmNhcm91c2VsIiwoZnVuY3Rpb24oZSl7cmV0dXJuIHQucGF1c2UoZSl9KSkub24oIm1vdXNlbGVhdmUuYnMuY2Fyb3VzZWwiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5jeWNsZShlKX0pKSx0aGlzLl9jb25maWcudG91Y2gmJnRoaXMuX2FkZFRvdWNoRXZlbnRMaXN0ZW5lcnMoKX0sZS5fYWRkVG91Y2hFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYodGhpcy5fdG91Y2hTdXBwb3J0ZWQpe3ZhciBlPWZ1bmN0aW9uKGUpe3QuX3BvaW50ZXJFdmVudCYmYltlLm9yaWdpbmFsRXZlbnQucG9pbnRlclR5cGUudG9VcHBlckNhc2UoKV0/dC50b3VjaFN0YXJ0WD1lLm9yaWdpbmFsRXZlbnQuY2xpZW50WDp0Ll9wb2ludGVyRXZlbnR8fCh0LnRvdWNoU3RhcnRYPWUub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdLmNsaWVudFgpfSxuPWZ1bmN0aW9uKGUpe3QuX3BvaW50ZXJFdmVudCYmYltlLm9yaWdpbmFsRXZlbnQucG9pbnRlclR5cGUudG9VcHBlckNhc2UoKV0mJih0LnRvdWNoRGVsdGFYPWUub3JpZ2luYWxFdmVudC5jbGllbnRYLXQudG91Y2hTdGFydFgpLHQuX2hhbmRsZVN3aXBlKCksImhvdmVyIj09PXQuX2NvbmZpZy5wYXVzZSYmKHQucGF1c2UoKSx0LnRvdWNoVGltZW91dCYmY2xlYXJUaW1lb3V0KHQudG91Y2hUaW1lb3V0KSx0LnRvdWNoVGltZW91dD1zZXRUaW1lb3V0KChmdW5jdGlvbihlKXtyZXR1cm4gdC5jeWNsZShlKX0pLDUwMCt0Ll9jb25maWcuaW50ZXJ2YWwpKX07aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmNhcm91c2VsLWl0ZW0gaW1nIikpLm9uKCJkcmFnc3RhcnQuYnMuY2Fyb3VzZWwiLChmdW5jdGlvbih0KXtyZXR1cm4gdC5wcmV2ZW50RGVmYXVsdCgpfSkpLHRoaXMuX3BvaW50ZXJFdmVudD8oaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uKCJwb2ludGVyZG93bi5icy5jYXJvdXNlbCIsKGZ1bmN0aW9uKHQpe3JldHVybiBlKHQpfSkpLGkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbigicG9pbnRlcnVwLmJzLmNhcm91c2VsIiwoZnVuY3Rpb24odCl7cmV0dXJuIG4odCl9KSksdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJwb2ludGVyLWV2ZW50IikpOihpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub24oInRvdWNoc3RhcnQuYnMuY2Fyb3VzZWwiLChmdW5jdGlvbih0KXtyZXR1cm4gZSh0KX0pKSxpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub24oInRvdWNobW92ZS5icy5jYXJvdXNlbCIsKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihlKXtlLm9yaWdpbmFsRXZlbnQudG91Y2hlcyYmZS5vcmlnaW5hbEV2ZW50LnRvdWNoZXMubGVuZ3RoPjE/dC50b3VjaERlbHRhWD0wOnQudG91Y2hEZWx0YVg9ZS5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WC10LnRvdWNoU3RhcnRYfShlKX0pKSxpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub24oInRvdWNoZW5kLmJzLmNhcm91c2VsIiwoZnVuY3Rpb24odCl7cmV0dXJuIG4odCl9KSkpfX0sZS5fa2V5ZG93bj1mdW5jdGlvbih0KXtpZighL2lucHV0fHRleHRhcmVhL2kudGVzdCh0LnRhcmdldC50YWdOYW1lKSlzd2l0Y2godC53aGljaCl7Y2FzZSAzNzp0LnByZXZlbnREZWZhdWx0KCksdGhpcy5wcmV2KCk7YnJlYWs7Y2FzZSAzOTp0LnByZXZlbnREZWZhdWx0KCksdGhpcy5uZXh0KCl9fSxlLl9nZXRJdGVtSW5kZXg9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2l0ZW1zPXQmJnQucGFyZW50Tm9kZT9bXS5zbGljZS5jYWxsKHQucGFyZW50Tm9kZS5xdWVyeVNlbGVjdG9yQWxsKCIuY2Fyb3VzZWwtaXRlbSIpKTpbXSx0aGlzLl9pdGVtcy5pbmRleE9mKHQpfSxlLl9nZXRJdGVtQnlEaXJlY3Rpb249ZnVuY3Rpb24odCxlKXt2YXIgbj0ibmV4dCI9PT10LGk9InByZXYiPT09dCxvPXRoaXMuX2dldEl0ZW1JbmRleChlKSxyPXRoaXMuX2l0ZW1zLmxlbmd0aC0xO2lmKChpJiYwPT09b3x8biYmbz09PXIpJiYhdGhpcy5fY29uZmlnLndyYXApcmV0dXJuIGU7dmFyIGE9KG8rKCJwcmV2Ij09PXQ/LTE6MSkpJXRoaXMuX2l0ZW1zLmxlbmd0aDtyZXR1cm4tMT09PWE/dGhpcy5faXRlbXNbdGhpcy5faXRlbXMubGVuZ3RoLTFdOnRoaXMuX2l0ZW1zW2FdfSxlLl90cmlnZ2VyU2xpZGVFdmVudD1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX2dldEl0ZW1JbmRleCh0KSxvPXRoaXMuX2dldEl0ZW1JbmRleCh0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5hY3RpdmUuY2Fyb3VzZWwtaXRlbSIpKSxyPWkuZGVmYXVsdC5FdmVudCgic2xpZGUuYnMuY2Fyb3VzZWwiLHtyZWxhdGVkVGFyZ2V0OnQsZGlyZWN0aW9uOmUsZnJvbTpvLHRvOm59KTtyZXR1cm4gaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIocikscn0sZS5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudD1mdW5jdGlvbih0KXtpZih0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCl7dmFyIGU9W10uc2xpY2UuY2FsbCh0aGlzLl9pbmRpY2F0b3JzRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuYWN0aXZlIikpO2kuZGVmYXVsdChlKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7dmFyIG49dGhpcy5faW5kaWNhdG9yc0VsZW1lbnQuY2hpbGRyZW5bdGhpcy5fZ2V0SXRlbUluZGV4KHQpXTtuJiZpLmRlZmF1bHQobikuYWRkQ2xhc3MoImFjdGl2ZSIpfX0sZS5fc2xpZGU9ZnVuY3Rpb24odCxlKXt2YXIgbixvLHIsYT10aGlzLHM9dGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuYWN0aXZlLmNhcm91c2VsLWl0ZW0iKSx1PXRoaXMuX2dldEl0ZW1JbmRleChzKSxmPWV8fHMmJnRoaXMuX2dldEl0ZW1CeURpcmVjdGlvbih0LHMpLGQ9dGhpcy5fZ2V0SXRlbUluZGV4KGYpLGM9Qm9vbGVhbih0aGlzLl9pbnRlcnZhbCk7aWYoIm5leHQiPT09dD8obj0iY2Fyb3VzZWwtaXRlbS1sZWZ0IixvPSJjYXJvdXNlbC1pdGVtLW5leHQiLHI9ImxlZnQiKToobj0iY2Fyb3VzZWwtaXRlbS1yaWdodCIsbz0iY2Fyb3VzZWwtaXRlbS1wcmV2IixyPSJyaWdodCIpLGYmJmkuZGVmYXVsdChmKS5oYXNDbGFzcygiYWN0aXZlIikpdGhpcy5faXNTbGlkaW5nPSExO2Vsc2UgaWYoIXRoaXMuX3RyaWdnZXJTbGlkZUV2ZW50KGYscikuaXNEZWZhdWx0UHJldmVudGVkKCkmJnMmJmYpe3RoaXMuX2lzU2xpZGluZz0hMCxjJiZ0aGlzLnBhdXNlKCksdGhpcy5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudChmKTt2YXIgaD1pLmRlZmF1bHQuRXZlbnQoInNsaWQuYnMuY2Fyb3VzZWwiLHtyZWxhdGVkVGFyZ2V0OmYsZGlyZWN0aW9uOnIsZnJvbTp1LHRvOmR9KTtpZihpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoInNsaWRlIikpe2kuZGVmYXVsdChmKS5hZGRDbGFzcyhvKSxsLnJlZmxvdyhmKSxpLmRlZmF1bHQocykuYWRkQ2xhc3MobiksaS5kZWZhdWx0KGYpLmFkZENsYXNzKG4pO3ZhciBwPXBhcnNlSW50KGYuZ2V0QXR0cmlidXRlKCJkYXRhLWludGVydmFsIiksMTApO3A/KHRoaXMuX2NvbmZpZy5kZWZhdWx0SW50ZXJ2YWw9dGhpcy5fY29uZmlnLmRlZmF1bHRJbnRlcnZhbHx8dGhpcy5fY29uZmlnLmludGVydmFsLHRoaXMuX2NvbmZpZy5pbnRlcnZhbD1wKTp0aGlzLl9jb25maWcuaW50ZXJ2YWw9dGhpcy5fY29uZmlnLmRlZmF1bHRJbnRlcnZhbHx8dGhpcy5fY29uZmlnLmludGVydmFsO3ZhciBtPWwuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQocyk7aS5kZWZhdWx0KHMpLm9uZShsLlRSQU5TSVRJT05fRU5ELChmdW5jdGlvbigpe2kuZGVmYXVsdChmKS5yZW1vdmVDbGFzcyhuKyIgIitvKS5hZGRDbGFzcygiYWN0aXZlIiksaS5kZWZhdWx0KHMpLnJlbW92ZUNsYXNzKCJhY3RpdmUgIitvKyIgIituKSxhLl9pc1NsaWRpbmc9ITEsc2V0VGltZW91dCgoZnVuY3Rpb24oKXtyZXR1cm4gaS5kZWZhdWx0KGEuX2VsZW1lbnQpLnRyaWdnZXIoaCl9KSwwKX0pKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChtKX1lbHNlIGkuZGVmYXVsdChzKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksaS5kZWZhdWx0KGYpLmFkZENsYXNzKCJhY3RpdmUiKSx0aGlzLl9pc1NsaWRpbmc9ITEsaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoaCk7YyYmdGhpcy5jeWNsZSgpfX0sdC5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49aS5kZWZhdWx0KHRoaXMpLmRhdGEoImJzLmNhcm91c2VsIiksbz1hKHt9LHYsaS5kZWZhdWx0KHRoaXMpLmRhdGEoKSk7Im9iamVjdCI9PXR5cGVvZiBlJiYobz1hKHt9LG8sZSkpO3ZhciByPSJzdHJpbmciPT10eXBlb2YgZT9lOm8uc2xpZGU7aWYobnx8KG49bmV3IHQodGhpcyxvKSxpLmRlZmF1bHQodGhpcykuZGF0YSgiYnMuY2Fyb3VzZWwiLG4pKSwibnVtYmVyIj09dHlwZW9mIGUpbi50byhlKTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2Ygcil7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBuW3JdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytyKyciJyk7bltyXSgpfWVsc2Ugby5pbnRlcnZhbCYmby5yaWRlJiYobi5wYXVzZSgpLG4uY3ljbGUoKSl9KSl9LHQuX2RhdGFBcGlDbGlja0hhbmRsZXI9ZnVuY3Rpb24oZSl7dmFyIG49bC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpO2lmKG4pe3ZhciBvPWkuZGVmYXVsdChuKVswXTtpZihvJiZpLmRlZmF1bHQobykuaGFzQ2xhc3MoImNhcm91c2VsIikpe3ZhciByPWEoe30saS5kZWZhdWx0KG8pLmRhdGEoKSxpLmRlZmF1bHQodGhpcykuZGF0YSgpKSxzPXRoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLXNsaWRlLXRvIik7cyYmKHIuaW50ZXJ2YWw9ITEpLHQuX2pRdWVyeUludGVyZmFjZS5jYWxsKGkuZGVmYXVsdChvKSxyKSxzJiZpLmRlZmF1bHQobykuZGF0YSgiYnMuY2Fyb3VzZWwiKS50byhzKSxlLnByZXZlbnREZWZhdWx0KCl9fX0scih0LG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI0LjUuMyJ9fSx7a2V5OiJEZWZhdWx0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdn19XSksdH0oKTtpLmRlZmF1bHQoZG9jdW1lbnQpLm9uKCJjbGljay5icy5jYXJvdXNlbC5kYXRhLWFwaSIsIltkYXRhLXNsaWRlXSwgW2RhdGEtc2xpZGUtdG9dIix5Ll9kYXRhQXBpQ2xpY2tIYW5kbGVyKSxpLmRlZmF1bHQod2luZG93KS5vbigibG9hZC5icy5jYXJvdXNlbC5kYXRhLWFwaSIsKGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtcmlkZT0iY2Fyb3VzZWwiXScpKSxlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKXt2YXIgbz1pLmRlZmF1bHQodFtlXSk7eS5falF1ZXJ5SW50ZXJmYWNlLmNhbGwobyxvLmRhdGEoKSl9fSkpLGkuZGVmYXVsdC5mbltwXT15Ll9qUXVlcnlJbnRlcmZhY2UsaS5kZWZhdWx0LmZuW3BdLkNvbnN0cnVjdG9yPXksaS5kZWZhdWx0LmZuW3BdLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gaS5kZWZhdWx0LmZuW3BdPWcseS5falF1ZXJ5SW50ZXJmYWNlfTt2YXIgdz0iY29sbGFwc2UiLEU9aS5kZWZhdWx0LmZuW3ddLFQ9e3RvZ2dsZTohMCxwYXJlbnQ6IiJ9LEM9e3RvZ2dsZToiYm9vbGVhbiIscGFyZW50OiIoc3RyaW5nfGVsZW1lbnQpIn0sUz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlKXt0aGlzLl9pc1RyYW5zaXRpb25pbmc9ITEsdGhpcy5fZWxlbWVudD10LHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcoZSksdGhpcy5fdHJpZ2dlckFycmF5PVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2hyZWY9IiMnK3QuaWQrJyJdLFtkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXRhcmdldD0iIycrdC5pZCsnIl0nKSk7Zm9yKHZhciBuPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdJykpLGk9MCxvPW4ubGVuZ3RoO2k8bztpKyspe3ZhciByPW5baV0sYT1sLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQocikscz1bXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYSkpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10fSkpO251bGwhPT1hJiZzLmxlbmd0aD4wJiYodGhpcy5fc2VsZWN0b3I9YSx0aGlzLl90cmlnZ2VyQXJyYXkucHVzaChyKSl9dGhpcy5fcGFyZW50PXRoaXMuX2NvbmZpZy5wYXJlbnQ/dGhpcy5fZ2V0UGFyZW50KCk6bnVsbCx0aGlzLl9jb25maWcucGFyZW50fHx0aGlzLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModGhpcy5fZWxlbWVudCx0aGlzLl90cmlnZ2VyQXJyYXkpLHRoaXMuX2NvbmZpZy50b2dnbGUmJnRoaXMudG9nZ2xlKCl9dmFyIGU9dC5wcm90b3R5cGU7cmV0dXJuIGUudG9nZ2xlPWZ1bmN0aW9uKCl7aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKCJzaG93Iik/dGhpcy5oaWRlKCk6dGhpcy5zaG93KCl9LGUuc2hvdz1mdW5jdGlvbigpe3ZhciBlLG4sbz10aGlzO2lmKCF0aGlzLl9pc1RyYW5zaXRpb25pbmcmJiFpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoInNob3ciKSYmKHRoaXMuX3BhcmVudCYmMD09PShlPVtdLnNsaWNlLmNhbGwodGhpcy5fcGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5zaG93LCAuY29sbGFwc2luZyIpKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2Ygby5fY29uZmlnLnBhcmVudD90LmdldEF0dHJpYnV0ZSgiZGF0YS1wYXJlbnQiKT09PW8uX2NvbmZpZy5wYXJlbnQ6dC5jbGFzc0xpc3QuY29udGFpbnMoImNvbGxhcHNlIil9KSkpLmxlbmd0aCYmKGU9bnVsbCksIShlJiYobj1pLmRlZmF1bHQoZSkubm90KHRoaXMuX3NlbGVjdG9yKS5kYXRhKCJicy5jb2xsYXBzZSIpKSYmbi5faXNUcmFuc2l0aW9uaW5nKSkpe3ZhciByPWkuZGVmYXVsdC5FdmVudCgic2hvdy5icy5jb2xsYXBzZSIpO2lmKGkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHIpLCFyLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtlJiYodC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoaS5kZWZhdWx0KGUpLm5vdCh0aGlzLl9zZWxlY3RvciksImhpZGUiKSxufHxpLmRlZmF1bHQoZSkuZGF0YSgiYnMuY29sbGFwc2UiLG51bGwpKTt2YXIgYT10aGlzLl9nZXREaW1lbnNpb24oKTtpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIikuYWRkQ2xhc3MoImNvbGxhcHNpbmciKSx0aGlzLl9lbGVtZW50LnN0eWxlW2FdPTAsdGhpcy5fdHJpZ2dlckFycmF5Lmxlbmd0aCYmaS5kZWZhdWx0KHRoaXMuX3RyaWdnZXJBcnJheSkucmVtb3ZlQ2xhc3MoImNvbGxhcHNlZCIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCEwKSx0aGlzLnNldFRyYW5zaXRpb25pbmcoITApO3ZhciBzPSJzY3JvbGwiKyhhWzBdLnRvVXBwZXJDYXNlKCkrYS5zbGljZSgxKSksdT1sLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO2kuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbmUobC5UUkFOU0lUSU9OX0VORCwoZnVuY3Rpb24oKXtpLmRlZmF1bHQoby5fZWxlbWVudCkucmVtb3ZlQ2xhc3MoImNvbGxhcHNpbmciKS5hZGRDbGFzcygiY29sbGFwc2Ugc2hvdyIpLG8uX2VsZW1lbnQuc3R5bGVbYV09IiIsby5zZXRUcmFuc2l0aW9uaW5nKCExKSxpLmRlZmF1bHQoby5fZWxlbWVudCkudHJpZ2dlcigic2hvd24uYnMuY29sbGFwc2UiKX0pKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCh1KSx0aGlzLl9lbGVtZW50LnN0eWxlW2FdPXRoaXMuX2VsZW1lbnRbc10rInB4In19fSxlLmhpZGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKCF0aGlzLl9pc1RyYW5zaXRpb25pbmcmJmkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcygic2hvdyIpKXt2YXIgZT1pLmRlZmF1bHQuRXZlbnQoImhpZGUuYnMuY29sbGFwc2UiKTtpZihpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkudHJpZ2dlcihlKSwhZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIG49dGhpcy5fZ2V0RGltZW5zaW9uKCk7dGhpcy5fZWxlbWVudC5zdHlsZVtuXT10aGlzLl9lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW25dKyJweCIsbC5yZWZsb3codGhpcy5fZWxlbWVudCksaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKCJjb2xsYXBzaW5nIikucmVtb3ZlQ2xhc3MoImNvbGxhcHNlIHNob3ciKTt2YXIgbz10aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoO2lmKG8+MClmb3IodmFyIHI9MDtyPG87cisrKXt2YXIgYT10aGlzLl90cmlnZ2VyQXJyYXlbcl0scz1sLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQoYSk7aWYobnVsbCE9PXMpaS5kZWZhdWx0KFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzKSkpLmhhc0NsYXNzKCJzaG93Iil8fGkuZGVmYXVsdChhKS5hZGRDbGFzcygiY29sbGFwc2VkIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpfXRoaXMuc2V0VHJhbnNpdGlvbmluZyghMCk7dGhpcy5fZWxlbWVudC5zdHlsZVtuXT0iIjt2YXIgdT1sLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO2kuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbmUobC5UUkFOU0lUSU9OX0VORCwoZnVuY3Rpb24oKXt0LnNldFRyYW5zaXRpb25pbmcoITEpLGkuZGVmYXVsdCh0Ll9lbGVtZW50KS5yZW1vdmVDbGFzcygiY29sbGFwc2luZyIpLmFkZENsYXNzKCJjb2xsYXBzZSIpLnRyaWdnZXIoImhpZGRlbi5icy5jb2xsYXBzZSIpfSkpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHUpfX19LGUuc2V0VHJhbnNpdGlvbmluZz1mdW5jdGlvbih0KXt0aGlzLl9pc1RyYW5zaXRpb25pbmc9dH0sZS5kaXNwb3NlPWZ1bmN0aW9uKCl7aS5kZWZhdWx0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwiYnMuY29sbGFwc2UiKSx0aGlzLl9jb25maWc9bnVsbCx0aGlzLl9wYXJlbnQ9bnVsbCx0aGlzLl9lbGVtZW50PW51bGwsdGhpcy5fdHJpZ2dlckFycmF5PW51bGwsdGhpcy5faXNUcmFuc2l0aW9uaW5nPW51bGx9LGUuX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4odD1hKHt9LFQsdCkpLnRvZ2dsZT1Cb29sZWFuKHQudG9nZ2xlKSxsLnR5cGVDaGVja0NvbmZpZyh3LHQsQyksdH0sZS5fZ2V0RGltZW5zaW9uPWZ1bmN0aW9uKCl7cmV0dXJuIGkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcygid2lkdGgiKT8id2lkdGgiOiJoZWlnaHQifSxlLl9nZXRQYXJlbnQ9ZnVuY3Rpb24oKXt2YXIgZSxuPXRoaXM7bC5pc0VsZW1lbnQodGhpcy5fY29uZmlnLnBhcmVudCk/KGU9dGhpcy5fY29uZmlnLnBhcmVudCwidW5kZWZpbmVkIiE9dHlwZW9mIHRoaXMuX2NvbmZpZy5wYXJlbnQuanF1ZXJ5JiYoZT10aGlzLl9jb25maWcucGFyZW50WzBdKSk6ZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuX2NvbmZpZy5wYXJlbnQpO3ZhciBvPSdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1bZGF0YS1wYXJlbnQ9IicrdGhpcy5fY29uZmlnLnBhcmVudCsnIl0nLHI9W10uc2xpY2UuY2FsbChlLnF1ZXJ5U2VsZWN0b3JBbGwobykpO3JldHVybiBpLmRlZmF1bHQocikuZWFjaCgoZnVuY3Rpb24oZSxpKXtuLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModC5fZ2V0VGFyZ2V0RnJvbUVsZW1lbnQoaSksW2ldKX0pKSxlfSxlLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3M9ZnVuY3Rpb24odCxlKXt2YXIgbj1pLmRlZmF1bHQodCkuaGFzQ2xhc3MoInNob3ciKTtlLmxlbmd0aCYmaS5kZWZhdWx0KGUpLnRvZ2dsZUNsYXNzKCJjb2xsYXBzZWQiLCFuKS5hdHRyKCJhcmlhLWV4cGFuZGVkIixuKX0sdC5fZ2V0VGFyZ2V0RnJvbUVsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGU9bC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHQpO3JldHVybiBlP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSk6bnVsbH0sdC5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49aS5kZWZhdWx0KHRoaXMpLG89bi5kYXRhKCJicy5jb2xsYXBzZSIpLHI9YSh7fSxULG4uZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgZSYmZT9lOnt9KTtpZighbyYmci50b2dnbGUmJiJzdHJpbmciPT10eXBlb2YgZSYmL3Nob3d8aGlkZS8udGVzdChlKSYmKHIudG9nZ2xlPSExKSxvfHwobz1uZXcgdCh0aGlzLHIpLG4uZGF0YSgiYnMuY29sbGFwc2UiLG8pKSwic3RyaW5nIj09dHlwZW9mIGUpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2Ygb1tlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrZSsnIicpO29bZV0oKX19KSl9LHIodCxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC41LjMifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFR9fV0pLHR9KCk7aS5kZWZhdWx0KGRvY3VtZW50KS5vbigiY2xpY2suYnMuY29sbGFwc2UuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl0nLChmdW5jdGlvbih0KXsiQSI9PT10LmN1cnJlbnRUYXJnZXQudGFnTmFtZSYmdC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBlPWkuZGVmYXVsdCh0aGlzKSxuPWwuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudCh0aGlzKSxvPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChuKSk7aS5kZWZhdWx0KG8pLmVhY2goKGZ1bmN0aW9uKCl7dmFyIHQ9aS5kZWZhdWx0KHRoaXMpLG49dC5kYXRhKCJicy5jb2xsYXBzZSIpPyJ0b2dnbGUiOmUuZGF0YSgpO1MuX2pRdWVyeUludGVyZmFjZS5jYWxsKHQsbil9KSl9KSksaS5kZWZhdWx0LmZuW3ddPVMuX2pRdWVyeUludGVyZmFjZSxpLmRlZmF1bHQuZm5bd10uQ29uc3RydWN0b3I9UyxpLmRlZmF1bHQuZm5bd10ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBpLmRlZmF1bHQuZm5bd109RSxTLl9qUXVlcnlJbnRlcmZhY2V9O3ZhciBEPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiYidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcixOPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PVsiRWRnZSIsIlRyaWRlbnQiLCJGaXJlZm94Il0sZT0wO2U8dC5sZW5ndGg7ZSs9MSlpZihEJiZuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YodFtlXSk+PTApcmV0dXJuIDE7cmV0dXJuIDB9KCk7dmFyIGs9RCYmd2luZG93LlByb21pc2U/ZnVuY3Rpb24odCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7ZXx8KGU9ITAsd2luZG93LlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKGZ1bmN0aW9uKCl7ZT0hMSx0KCl9KSkpfX06ZnVuY3Rpb24odCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7ZXx8KGU9ITAsc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlPSExLHQoKX0pLE4pKX19O2Z1bmN0aW9uIEEodCl7cmV0dXJuIHQmJiJbb2JqZWN0IEZ1bmN0aW9uXSI9PT17fS50b1N0cmluZy5jYWxsKHQpfWZ1bmN0aW9uIEkodCxlKXtpZigxIT09dC5ub2RlVHlwZSlyZXR1cm5bXTt2YXIgbj10Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSh0LG51bGwpO3JldHVybiBlP25bZV06bn1mdW5jdGlvbiBPKHQpe3JldHVybiJIVE1MIj09PXQubm9kZU5hbWU/dDp0LnBhcmVudE5vZGV8fHQuaG9zdH1mdW5jdGlvbiB4KHQpe2lmKCF0KXJldHVybiBkb2N1bWVudC5ib2R5O3N3aXRjaCh0Lm5vZGVOYW1lKXtjYXNlIkhUTUwiOmNhc2UiQk9EWSI6cmV0dXJuIHQub3duZXJEb2N1bWVudC5ib2R5O2Nhc2UiI2RvY3VtZW50IjpyZXR1cm4gdC5ib2R5fXZhciBlPUkodCksbj1lLm92ZXJmbG93LGk9ZS5vdmVyZmxvd1gsbz1lLm92ZXJmbG93WTtyZXR1cm4vKGF1dG98c2Nyb2xsfG92ZXJsYXkpLy50ZXN0KG4rbytpKT90OngoTyh0KSl9ZnVuY3Rpb24gaih0KXtyZXR1cm4gdCYmdC5yZWZlcmVuY2VOb2RlP3QucmVmZXJlbmNlTm9kZTp0fXZhciBMPUQmJiEoIXdpbmRvdy5NU0lucHV0TWV0aG9kQ29udGV4dHx8IWRvY3VtZW50LmRvY3VtZW50TW9kZSksUD1EJiYvTVNJRSAxMC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtmdW5jdGlvbiBGKHQpe3JldHVybiAxMT09PXQ/TDoxMD09PXQ/UDpMfHxQfWZ1bmN0aW9uIFIodCl7aWYoIXQpcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtmb3IodmFyIGU9RigxMCk/ZG9jdW1lbnQuYm9keTpudWxsLG49dC5vZmZzZXRQYXJlbnR8fG51bGw7bj09PWUmJnQubmV4dEVsZW1lbnRTaWJsaW5nOyluPSh0PXQubmV4dEVsZW1lbnRTaWJsaW5nKS5vZmZzZXRQYXJlbnQ7dmFyIGk9biYmbi5ub2RlTmFtZTtyZXR1cm4gaSYmIkJPRFkiIT09aSYmIkhUTUwiIT09aT8tMSE9PVsiVEgiLCJURCIsIlRBQkxFIl0uaW5kZXhPZihuLm5vZGVOYW1lKSYmInN0YXRpYyI9PT1JKG4sInBvc2l0aW9uIik/UihuKTpuOnQ/dC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR9ZnVuY3Rpb24gSCh0KXtyZXR1cm4gbnVsbCE9PXQucGFyZW50Tm9kZT9IKHQucGFyZW50Tm9kZSk6dH1mdW5jdGlvbiBNKHQsZSl7aWYoISh0JiZ0Lm5vZGVUeXBlJiZlJiZlLm5vZGVUeXBlKSlyZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3ZhciBuPXQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSkmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcsaT1uP3Q6ZSxvPW4/ZTp0LHI9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyLnNldFN0YXJ0KGksMCksci5zZXRFbmQobywwKTt2YXIgYSxzLGw9ci5jb21tb25BbmNlc3RvckNvbnRhaW5lcjtpZih0IT09bCYmZSE9PWx8fGkuY29udGFpbnMobykpcmV0dXJuIkJPRFkiPT09KHM9KGE9bCkubm9kZU5hbWUpfHwiSFRNTCIhPT1zJiZSKGEuZmlyc3RFbGVtZW50Q2hpbGQpIT09YT9SKGwpOmw7dmFyIHU9SCh0KTtyZXR1cm4gdS5ob3N0P00odS5ob3N0LGUpOk0odCxIKGUpLmhvc3QpfWZ1bmN0aW9uIEIodCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOiJ0b3AiLG49InRvcCI9PT1lPyJzY3JvbGxUb3AiOiJzY3JvbGxMZWZ0IixpPXQubm9kZU5hbWU7aWYoIkJPRFkiPT09aXx8IkhUTUwiPT09aSl7dmFyIG89dC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxyPXQub3duZXJEb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50fHxvO3JldHVybiByW25dfXJldHVybiB0W25dfWZ1bmN0aW9uIHEodCxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXSYmYXJndW1lbnRzWzJdLGk9QihlLCJ0b3AiKSxvPUIoZSwibGVmdCIpLHI9bj8tMToxO3JldHVybiB0LnRvcCs9aSpyLHQuYm90dG9tKz1pKnIsdC5sZWZ0Kz1vKnIsdC5yaWdodCs9bypyLHR9ZnVuY3Rpb24gUSh0LGUpe3ZhciBuPSJ4Ij09PWU/IkxlZnQiOiJUb3AiLGk9IkxlZnQiPT09bj8iUmlnaHQiOiJCb3R0b20iO3JldHVybiBwYXJzZUZsb2F0KHRbImJvcmRlciIrbisiV2lkdGgiXSkrcGFyc2VGbG9hdCh0WyJib3JkZXIiK2krIldpZHRoIl0pfWZ1bmN0aW9uIFcodCxlLG4saSl7cmV0dXJuIE1hdGgubWF4KGVbIm9mZnNldCIrdF0sZVsic2Nyb2xsIit0XSxuWyJjbGllbnQiK3RdLG5bIm9mZnNldCIrdF0sblsic2Nyb2xsIit0XSxGKDEwKT9wYXJzZUludChuWyJvZmZzZXQiK3RdKStwYXJzZUludChpWyJtYXJnaW4iKygiSGVpZ2h0Ij09PXQ/IlRvcCI6IkxlZnQiKV0pK3BhcnNlSW50KGlbIm1hcmdpbiIrKCJIZWlnaHQiPT09dD8iQm90dG9tIjoiUmlnaHQiKV0pOjApfWZ1bmN0aW9uIFUodCl7dmFyIGU9dC5ib2R5LG49dC5kb2N1bWVudEVsZW1lbnQsaT1GKDEwKSYmZ2V0Q29tcHV0ZWRTdHlsZShuKTtyZXR1cm57aGVpZ2h0OlcoIkhlaWdodCIsZSxuLGkpLHdpZHRoOlcoIldpZHRoIixlLG4saSl9fXZhciBWPWZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9LFk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBpPWVbbl07aS5lbnVtZXJhYmxlPWkuZW51bWVyYWJsZXx8ITEsaS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGkmJihpLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxpLmtleSxpKX19cmV0dXJuIGZ1bmN0aW9uKGUsbixpKXtyZXR1cm4gbiYmdChlLnByb3RvdHlwZSxuKSxpJiZ0KGUsaSksZX19KCksej1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGUgaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1uLHR9LFg9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIG49YXJndW1lbnRzW2VdO2Zvcih2YXIgaSBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLGkpJiYodFtpXT1uW2ldKX1yZXR1cm4gdH07ZnVuY3Rpb24gSyh0KXtyZXR1cm4gWCh7fSx0LHtyaWdodDp0LmxlZnQrdC53aWR0aCxib3R0b206dC50b3ArdC5oZWlnaHR9KX1mdW5jdGlvbiBHKHQpe3ZhciBlPXt9O3RyeXtpZihGKDEwKSl7ZT10LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBuPUIodCwidG9wIiksaT1CKHQsImxlZnQiKTtlLnRvcCs9bixlLmxlZnQrPWksZS5ib3R0b20rPW4sZS5yaWdodCs9aX1lbHNlIGU9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaCh0KXt9dmFyIG89e2xlZnQ6ZS5sZWZ0LHRvcDplLnRvcCx3aWR0aDplLnJpZ2h0LWUubGVmdCxoZWlnaHQ6ZS5ib3R0b20tZS50b3B9LHI9IkhUTUwiPT09dC5ub2RlTmFtZT9VKHQub3duZXJEb2N1bWVudCk6e30sYT1yLndpZHRofHx0LmNsaWVudFdpZHRofHxvLndpZHRoLHM9ci5oZWlnaHR8fHQuY2xpZW50SGVpZ2h0fHxvLmhlaWdodCxsPXQub2Zmc2V0V2lkdGgtYSx1PXQub2Zmc2V0SGVpZ2h0LXM7aWYobHx8dSl7dmFyIGY9SSh0KTtsLT1RKGYsIngiKSx1LT1RKGYsInkiKSxvLndpZHRoLT1sLG8uaGVpZ2h0LT11fXJldHVybiBLKG8pfWZ1bmN0aW9uICQodCxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXSYmYXJndW1lbnRzWzJdLGk9RigxMCksbz0iSFRNTCI9PT1lLm5vZGVOYW1lLHI9Ryh0KSxhPUcoZSkscz14KHQpLGw9SShlKSx1PXBhcnNlRmxvYXQobC5ib3JkZXJUb3BXaWR0aCksZj1wYXJzZUZsb2F0KGwuYm9yZGVyTGVmdFdpZHRoKTtuJiZvJiYoYS50b3A9TWF0aC5tYXgoYS50b3AsMCksYS5sZWZ0PU1hdGgubWF4KGEubGVmdCwwKSk7dmFyIGQ9Syh7dG9wOnIudG9wLWEudG9wLXUsbGVmdDpyLmxlZnQtYS5sZWZ0LWYsd2lkdGg6ci53aWR0aCxoZWlnaHQ6ci5oZWlnaHR9KTtpZihkLm1hcmdpblRvcD0wLGQubWFyZ2luTGVmdD0wLCFpJiZvKXt2YXIgYz1wYXJzZUZsb2F0KGwubWFyZ2luVG9wKSxoPXBhcnNlRmxvYXQobC5tYXJnaW5MZWZ0KTtkLnRvcC09dS1jLGQuYm90dG9tLT11LWMsZC5sZWZ0LT1mLWgsZC5yaWdodC09Zi1oLGQubWFyZ2luVG9wPWMsZC5tYXJnaW5MZWZ0PWh9cmV0dXJuKGkmJiFuP2UuY29udGFpbnMocyk6ZT09PXMmJiJCT0RZIiE9PXMubm9kZU5hbWUpJiYoZD1xKGQsZSkpLGR9ZnVuY3Rpb24gSih0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSYmYXJndW1lbnRzWzFdLG49dC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxpPSQodCxuKSxvPU1hdGgubWF4KG4uY2xpZW50V2lkdGgsd2luZG93LmlubmVyV2lkdGh8fDApLHI9TWF0aC5tYXgobi5jbGllbnRIZWlnaHQsd2luZG93LmlubmVySGVpZ2h0fHwwKSxhPWU/MDpCKG4pLHM9ZT8wOkIobiwibGVmdCIpLGw9e3RvcDphLWkudG9wK2kubWFyZ2luVG9wLGxlZnQ6cy1pLmxlZnQraS5tYXJnaW5MZWZ0LHdpZHRoOm8saGVpZ2h0OnJ9O3JldHVybiBLKGwpfWZ1bmN0aW9uIFoodCl7dmFyIGU9dC5ub2RlTmFtZTtpZigiQk9EWSI9PT1lfHwiSFRNTCI9PT1lKXJldHVybiExO2lmKCJmaXhlZCI9PT1JKHQsInBvc2l0aW9uIikpcmV0dXJuITA7dmFyIG49Tyh0KTtyZXR1cm4hIW4mJloobil9ZnVuY3Rpb24gdHQodCl7aWYoIXR8fCF0LnBhcmVudEVsZW1lbnR8fEYoKSlyZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2Zvcih2YXIgZT10LnBhcmVudEVsZW1lbnQ7ZSYmIm5vbmUiPT09SShlLCJ0cmFuc2Zvcm0iKTspZT1lLnBhcmVudEVsZW1lbnQ7cmV0dXJuIGV8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudH1mdW5jdGlvbiBldCh0LGUsbixpKXt2YXIgbz1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XSYmYXJndW1lbnRzWzRdLHI9e3RvcDowLGxlZnQ6MH0sYT1vP3R0KHQpOk0odCxqKGUpKTtpZigidmlld3BvcnQiPT09aSlyPUooYSxvKTtlbHNle3ZhciBzPXZvaWQgMDsic2Nyb2xsUGFyZW50Ij09PWk/IkJPRFkiPT09KHM9eChPKGUpKSkubm9kZU5hbWUmJihzPXQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpOnM9IndpbmRvdyI9PT1pP3Qub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6aTt2YXIgbD0kKHMsYSxvKTtpZigiSFRNTCIhPT1zLm5vZGVOYW1lfHxaKGEpKXI9bDtlbHNle3ZhciB1PVUodC5vd25lckRvY3VtZW50KSxmPXUuaGVpZ2h0LGQ9dS53aWR0aDtyLnRvcCs9bC50b3AtbC5tYXJnaW5Ub3Asci5ib3R0b209ZitsLnRvcCxyLmxlZnQrPWwubGVmdC1sLm1hcmdpbkxlZnQsci5yaWdodD1kK2wubGVmdH19dmFyIGM9Im51bWJlciI9PXR5cGVvZihuPW58fDApO3JldHVybiByLmxlZnQrPWM/bjpuLmxlZnR8fDAsci50b3ArPWM/bjpuLnRvcHx8MCxyLnJpZ2h0LT1jP246bi5yaWdodHx8MCxyLmJvdHRvbS09Yz9uOm4uYm90dG9tfHwwLHJ9ZnVuY3Rpb24gbnQodCl7cmV0dXJuIHQud2lkdGgqdC5oZWlnaHR9ZnVuY3Rpb24gaXQodCxlLG4saSxvKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjUmJnZvaWQgMCE9PWFyZ3VtZW50c1s1XT9hcmd1bWVudHNbNV06MDtpZigtMT09PXQuaW5kZXhPZigiYXV0byIpKXJldHVybiB0O3ZhciBhPWV0KG4saSxyLG8pLHM9e3RvcDp7d2lkdGg6YS53aWR0aCxoZWlnaHQ6ZS50b3AtYS50b3B9LHJpZ2h0Ont3aWR0aDphLnJpZ2h0LWUucmlnaHQsaGVpZ2h0OmEuaGVpZ2h0fSxib3R0b206e3dpZHRoOmEud2lkdGgsaGVpZ2h0OmEuYm90dG9tLWUuYm90dG9tfSxsZWZ0Ont3aWR0aDplLmxlZnQtYS5sZWZ0LGhlaWdodDphLmhlaWdodH19LGw9T2JqZWN0LmtleXMocykubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gWCh7a2V5OnR9LHNbdF0se2FyZWE6bnQoc1t0XSl9KX0pKS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiBlLmFyZWEtdC5hcmVhfSkpLHU9bC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3ZhciBlPXQud2lkdGgsaT10LmhlaWdodDtyZXR1cm4gZT49bi5jbGllbnRXaWR0aCYmaT49bi5jbGllbnRIZWlnaHR9KSksZj11Lmxlbmd0aD4wP3VbMF0ua2V5OmxbMF0ua2V5LGQ9dC5zcGxpdCgiLSIpWzFdO3JldHVybiBmKyhkPyItIitkOiIiKX1mdW5jdGlvbiBvdCh0LGUsbil7dmFyIGk9YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOm51bGwsbz1pP3R0KGUpOk0oZSxqKG4pKTtyZXR1cm4gJChuLG8saSl9ZnVuY3Rpb24gcnQodCl7dmFyIGU9dC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUodCksbj1wYXJzZUZsb2F0KGUubWFyZ2luVG9wfHwwKStwYXJzZUZsb2F0KGUubWFyZ2luQm90dG9tfHwwKSxpPXBhcnNlRmxvYXQoZS5tYXJnaW5MZWZ0fHwwKStwYXJzZUZsb2F0KGUubWFyZ2luUmlnaHR8fDApO3JldHVybnt3aWR0aDp0Lm9mZnNldFdpZHRoK2ksaGVpZ2h0OnQub2Zmc2V0SGVpZ2h0K259fWZ1bmN0aW9uIGF0KHQpe3ZhciBlPXtsZWZ0OiJyaWdodCIscmlnaHQ6ImxlZnQiLGJvdHRvbToidG9wIix0b3A6ImJvdHRvbSJ9O3JldHVybiB0LnJlcGxhY2UoL2xlZnR8cmlnaHR8Ym90dG9tfHRvcC9nLChmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0pKX1mdW5jdGlvbiBzdCh0LGUsbil7bj1uLnNwbGl0KCItIilbMF07dmFyIGk9cnQodCksbz17d2lkdGg6aS53aWR0aCxoZWlnaHQ6aS5oZWlnaHR9LHI9LTEhPT1bInJpZ2h0IiwibGVmdCJdLmluZGV4T2YobiksYT1yPyJ0b3AiOiJsZWZ0IixzPXI/ImxlZnQiOiJ0b3AiLGw9cj8iaGVpZ2h0Ijoid2lkdGgiLHU9cj8id2lkdGgiOiJoZWlnaHQiO3JldHVybiBvW2FdPWVbYV0rZVtsXS8yLWlbbF0vMixvW3NdPW49PT1zP2Vbc10taVt1XTplW2F0KHMpXSxvfWZ1bmN0aW9uIGx0KHQsZSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maW5kP3QuZmluZChlKTp0LmZpbHRlcihlKVswXX1mdW5jdGlvbiB1dCh0LGUsbil7cmV0dXJuKHZvaWQgMD09PW4/dDp0LnNsaWNlKDAsZnVuY3Rpb24odCxlLG4pe2lmKEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgpcmV0dXJuIHQuZmluZEluZGV4KChmdW5jdGlvbih0KXtyZXR1cm4gdFtlXT09PW59KSk7dmFyIGk9bHQodCwoZnVuY3Rpb24odCl7cmV0dXJuIHRbZV09PT1ufSkpO3JldHVybiB0LmluZGV4T2YoaSl9KHQsIm5hbWUiLG4pKSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5mdW5jdGlvbiYmY29uc29sZS53YXJuKCJgbW9kaWZpZXIuZnVuY3Rpb25gIGlzIGRlcHJlY2F0ZWQsIHVzZSBgbW9kaWZpZXIuZm5gISIpO3ZhciBuPXQuZnVuY3Rpb258fHQuZm47dC5lbmFibGVkJiZBKG4pJiYoZS5vZmZzZXRzLnBvcHBlcj1LKGUub2Zmc2V0cy5wb3BwZXIpLGUub2Zmc2V0cy5yZWZlcmVuY2U9SyhlLm9mZnNldHMucmVmZXJlbmNlKSxlPW4oZSx0KSl9KSksZX1mdW5jdGlvbiBmdCgpe2lmKCF0aGlzLnN0YXRlLmlzRGVzdHJveWVkKXt2YXIgdD17aW5zdGFuY2U6dGhpcyxzdHlsZXM6e30sYXJyb3dTdHlsZXM6e30sYXR0cmlidXRlczp7fSxmbGlwcGVkOiExLG9mZnNldHM6e319O3Qub2Zmc2V0cy5yZWZlcmVuY2U9b3QodGhpcy5zdGF0ZSx0aGlzLnBvcHBlcix0aGlzLnJlZmVyZW5jZSx0aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZCksdC5wbGFjZW1lbnQ9aXQodGhpcy5vcHRpb25zLnBsYWNlbWVudCx0Lm9mZnNldHMucmVmZXJlbmNlLHRoaXMucG9wcGVyLHRoaXMucmVmZXJlbmNlLHRoaXMub3B0aW9ucy5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCx0aGlzLm9wdGlvbnMubW9kaWZpZXJzLmZsaXAucGFkZGluZyksdC5vcmlnaW5hbFBsYWNlbWVudD10LnBsYWNlbWVudCx0LnBvc2l0aW9uRml4ZWQ9dGhpcy5vcHRpb25zLnBvc2l0aW9uRml4ZWQsdC5vZmZzZXRzLnBvcHBlcj1zdCh0aGlzLnBvcHBlcix0Lm9mZnNldHMucmVmZXJlbmNlLHQucGxhY2VtZW50KSx0Lm9mZnNldHMucG9wcGVyLnBvc2l0aW9uPXRoaXMub3B0aW9ucy5wb3NpdGlvbkZpeGVkPyJmaXhlZCI6ImFic29sdXRlIix0PXV0KHRoaXMubW9kaWZpZXJzLHQpLHRoaXMuc3RhdGUuaXNDcmVhdGVkP3RoaXMub3B0aW9ucy5vblVwZGF0ZSh0KToodGhpcy5zdGF0ZS5pc0NyZWF0ZWQ9ITAsdGhpcy5vcHRpb25zLm9uQ3JlYXRlKHQpKX19ZnVuY3Rpb24gZHQodCxlKXtyZXR1cm4gdC5zb21lKChmdW5jdGlvbih0KXt2YXIgbj10Lm5hbWU7cmV0dXJuIHQuZW5hYmxlZCYmbj09PWV9KSl9ZnVuY3Rpb24gY3QodCl7Zm9yKHZhciBlPVshMSwibXMiLCJXZWJraXQiLCJNb3oiLCJPIl0sbj10LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSksaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgbz1lW2ldLHI9bz8iIitvK246dDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50LmJvZHkuc3R5bGVbcl0pcmV0dXJuIHJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaHQoKXtyZXR1cm4gdGhpcy5zdGF0ZS5pc0Rlc3Ryb3llZD0hMCxkdCh0aGlzLm1vZGlmaWVycywiYXBwbHlTdHlsZSIpJiYodGhpcy5wb3BwZXIucmVtb3ZlQXR0cmlidXRlKCJ4LXBsYWNlbWVudCIpLHRoaXMucG9wcGVyLnN0eWxlLnBvc2l0aW9uPSIiLHRoaXMucG9wcGVyLnN0eWxlLnRvcD0iIix0aGlzLnBvcHBlci5zdHlsZS5sZWZ0PSIiLHRoaXMucG9wcGVyLnN0eWxlLnJpZ2h0PSIiLHRoaXMucG9wcGVyLnN0eWxlLmJvdHRvbT0iIix0aGlzLnBvcHBlci5zdHlsZS53aWxsQ2hhbmdlPSIiLHRoaXMucG9wcGVyLnN0eWxlW2N0KCJ0cmFuc2Zvcm0iKV09IiIpLHRoaXMuZGlzYWJsZUV2ZW50TGlzdGVuZXJzKCksdGhpcy5vcHRpb25zLnJlbW92ZU9uRGVzdHJveSYmdGhpcy5wb3BwZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBvcHBlciksdGhpc31mdW5jdGlvbiBwdCh0KXt2YXIgZT10Lm93bmVyRG9jdW1lbnQ7cmV0dXJuIGU/ZS5kZWZhdWx0Vmlldzp3aW5kb3d9ZnVuY3Rpb24gbXQodCxlLG4saSl7bi51cGRhdGVCb3VuZD1pLHB0KHQpLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsbi51cGRhdGVCb3VuZCx7cGFzc2l2ZTohMH0pO3ZhciBvPXgodCk7cmV0dXJuIGZ1bmN0aW9uIHQoZSxuLGksbyl7dmFyIHI9IkJPRFkiPT09ZS5ub2RlTmFtZSxhPXI/ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3OmU7YS5hZGRFdmVudExpc3RlbmVyKG4saSx7cGFzc2l2ZTohMH0pLHJ8fHQoeChhLnBhcmVudE5vZGUpLG4saSxvKSxvLnB1c2goYSl9KG8sInNjcm9sbCIsbi51cGRhdGVCb3VuZCxuLnNjcm9sbFBhcmVudHMpLG4uc2Nyb2xsRWxlbWVudD1vLG4uZXZlbnRzRW5hYmxlZD0hMCxufWZ1bmN0aW9uIGd0KCl7dGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkfHwodGhpcy5zdGF0ZT1tdCh0aGlzLnJlZmVyZW5jZSx0aGlzLm9wdGlvbnMsdGhpcy5zdGF0ZSx0aGlzLnNjaGVkdWxlVXBkYXRlKSl9ZnVuY3Rpb24gdnQoKXt2YXIgdCxlO3RoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZCYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuc2NoZWR1bGVVcGRhdGUpLHRoaXMuc3RhdGU9KHQ9dGhpcy5yZWZlcmVuY2UsZT10aGlzLnN0YXRlLHB0KHQpLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZS51cGRhdGVCb3VuZCksZS5zY3JvbGxQYXJlbnRzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixlLnVwZGF0ZUJvdW5kKX0pKSxlLnVwZGF0ZUJvdW5kPW51bGwsZS5zY3JvbGxQYXJlbnRzPVtdLGUuc2Nyb2xsRWxlbWVudD1udWxsLGUuZXZlbnRzRW5hYmxlZD0hMSxlKSl9ZnVuY3Rpb24gX3QodCl7cmV0dXJuIiIhPT10JiYhaXNOYU4ocGFyc2VGbG9hdCh0KSkmJmlzRmluaXRlKHQpfWZ1bmN0aW9uIGJ0KHQsZSl7T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIGk9IiI7LTEhPT1bIndpZHRoIiwiaGVpZ2h0IiwidG9wIiwicmlnaHQiLCJib3R0b20iLCJsZWZ0Il0uaW5kZXhPZihuKSYmX3QoZVtuXSkmJihpPSJweCIpLHQuc3R5bGVbbl09ZVtuXStpfSkpfXZhciB5dD1EJiYvRmlyZWZveC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7ZnVuY3Rpb24gd3QodCxlLG4pe3ZhciBpPWx0KHQsKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWU9PT1lfSkpLG89ISFpJiZ0LnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWU9PT1uJiZ0LmVuYWJsZWQmJnQub3JkZXI8aS5vcmRlcn0pKTtpZighbyl7dmFyIHI9ImAiK2UrImAiLGE9ImAiK24rImAiO2NvbnNvbGUud2FybihhKyIgbW9kaWZpZXIgaXMgcmVxdWlyZWQgYnkgIityKyIgbW9kaWZpZXIgaW4gb3JkZXIgdG8gd29yaywgYmUgc3VyZSB0byBpbmNsdWRlIGl0IGJlZm9yZSAiK3IrIiEiKX1yZXR1cm4gb312YXIgRXQ9WyJhdXRvLXN0YXJ0IiwiYXV0byIsImF1dG8tZW5kIiwidG9wLXN0YXJ0IiwidG9wIiwidG9wLWVuZCIsInJpZ2h0LXN0YXJ0IiwicmlnaHQiLCJyaWdodC1lbmQiLCJib3R0b20tZW5kIiwiYm90dG9tIiwiYm90dG9tLXN0YXJ0IiwibGVmdC1lbmQiLCJsZWZ0IiwibGVmdC1zdGFydCJdLFR0PUV0LnNsaWNlKDMpO2Z1bmN0aW9uIEN0KHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdJiZhcmd1bWVudHNbMV0sbj1UdC5pbmRleE9mKHQpLGk9VHQuc2xpY2UobisxKS5jb25jYXQoVHQuc2xpY2UoMCxuKSk7cmV0dXJuIGU/aS5yZXZlcnNlKCk6aX12YXIgU3Q9ImZsaXAiLER0PSJjbG9ja3dpc2UiLE50PSJjb3VudGVyY2xvY2t3aXNlIjtmdW5jdGlvbiBrdCh0LGUsbixpKXt2YXIgbz1bMCwwXSxyPS0xIT09WyJyaWdodCIsImxlZnQiXS5pbmRleE9mKGkpLGE9dC5zcGxpdCgvKFwrfFwtKS8pLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudHJpbSgpfSkpLHM9YS5pbmRleE9mKGx0KGEsKGZ1bmN0aW9uKHQpe3JldHVybi0xIT09dC5zZWFyY2goLyx8XHMvKX0pKSk7YVtzXSYmLTE9PT1hW3NdLmluZGV4T2YoIiwiKSYmY29uc29sZS53YXJuKCJPZmZzZXRzIHNlcGFyYXRlZCBieSB3aGl0ZSBzcGFjZShzKSBhcmUgZGVwcmVjYXRlZCwgdXNlIGEgY29tbWEgKCwpIGluc3RlYWQuIik7dmFyIGw9L1xzKixccyp8XHMrLyx1PS0xIT09cz9bYS5zbGljZSgwLHMpLmNvbmNhdChbYVtzXS5zcGxpdChsKVswXV0pLFthW3NdLnNwbGl0KGwpWzFdXS5jb25jYXQoYS5zbGljZShzKzEpKV06W2FdO3JldHVybih1PXUubWFwKChmdW5jdGlvbih0LGkpe3ZhciBvPSgxPT09aT8hcjpyKT8iaGVpZ2h0Ijoid2lkdGgiLGE9ITE7cmV0dXJuIHQucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiIiPT09dFt0Lmxlbmd0aC0xXSYmLTEhPT1bIisiLCItIl0uaW5kZXhPZihlKT8odFt0Lmxlbmd0aC0xXT1lLGE9ITAsdCk6YT8odFt0Lmxlbmd0aC0xXSs9ZSxhPSExLHQpOnQuY29uY2F0KGUpfSksW10pLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQsZSxuLGkpe3ZhciBvPXQubWF0Y2goLygoPzpcLXxcKyk/XGQqXC4/XGQqKSguKikvKSxyPStvWzFdLGE9b1syXTtpZighcilyZXR1cm4gdDtpZigwPT09YS5pbmRleE9mKCIlIikpe3ZhciBzPXZvaWQgMDtzd2l0Y2goYSl7Y2FzZSIlcCI6cz1uO2JyZWFrO2Nhc2UiJSI6Y2FzZSIlciI6ZGVmYXVsdDpzPWl9cmV0dXJuIEsocylbZV0vMTAwKnJ9aWYoInZoIj09PWF8fCJ2dyI9PT1hKXtyZXR1cm4oInZoIj09PWE/TWF0aC5tYXgoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCx3aW5kb3cuaW5uZXJIZWlnaHR8fDApOk1hdGgubWF4KGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCx3aW5kb3cuaW5uZXJXaWR0aHx8MCkpLzEwMCpyfXJldHVybiByfSh0LG8sZSxuKX0pKX0pKSkuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt0LmZvckVhY2goKGZ1bmN0aW9uKG4saSl7X3QobikmJihvW2VdKz1uKigiLSI9PT10W2ktMV0/LTE6MSkpfSkpfSkpLG99dmFyIEF0PXtwbGFjZW1lbnQ6ImJvdHRvbSIscG9zaXRpb25GaXhlZDohMSxldmVudHNFbmFibGVkOiEwLHJlbW92ZU9uRGVzdHJveTohMSxvbkNyZWF0ZTpmdW5jdGlvbigpe30sb25VcGRhdGU6ZnVuY3Rpb24oKXt9LG1vZGlmaWVyczp7c2hpZnQ6e29yZGVyOjEwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKHQpe3ZhciBlPXQucGxhY2VtZW50LG49ZS5zcGxpdCgiLSIpWzBdLGk9ZS5zcGxpdCgiLSIpWzFdO2lmKGkpe3ZhciBvPXQub2Zmc2V0cyxyPW8ucmVmZXJlbmNlLGE9by5wb3BwZXIscz0tMSE9PVsiYm90dG9tIiwidG9wIl0uaW5kZXhPZihuKSxsPXM/ImxlZnQiOiJ0b3AiLHU9cz8id2lkdGgiOiJoZWlnaHQiLGY9e3N0YXJ0Onooe30sbCxyW2xdKSxlbmQ6eih7fSxsLHJbbF0rclt1XS1hW3VdKX07dC5vZmZzZXRzLnBvcHBlcj1YKHt9LGEsZltpXSl9cmV0dXJuIHR9fSxvZmZzZXQ6e29yZGVyOjIwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKHQsZSl7dmFyIG49ZS5vZmZzZXQsaT10LnBsYWNlbWVudCxvPXQub2Zmc2V0cyxyPW8ucG9wcGVyLGE9by5yZWZlcmVuY2Uscz1pLnNwbGl0KCItIilbMF0sbD12b2lkIDA7cmV0dXJuIGw9X3QoK24pP1srbiwwXTprdChuLHIsYSxzKSwibGVmdCI9PT1zPyhyLnRvcCs9bFswXSxyLmxlZnQtPWxbMV0pOiJyaWdodCI9PT1zPyhyLnRvcCs9bFswXSxyLmxlZnQrPWxbMV0pOiJ0b3AiPT09cz8oci5sZWZ0Kz1sWzBdLHIudG9wLT1sWzFdKToiYm90dG9tIj09PXMmJihyLmxlZnQrPWxbMF0sci50b3ArPWxbMV0pLHQucG9wcGVyPXIsdH0sb2Zmc2V0OjB9LHByZXZlbnRPdmVyZmxvdzp7b3JkZXI6MzAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24odCxlKXt2YXIgbj1lLmJvdW5kYXJpZXNFbGVtZW50fHxSKHQuaW5zdGFuY2UucG9wcGVyKTt0Lmluc3RhbmNlLnJlZmVyZW5jZT09PW4mJihuPVIobikpO3ZhciBpPWN0KCJ0cmFuc2Zvcm0iKSxvPXQuaW5zdGFuY2UucG9wcGVyLnN0eWxlLHI9by50b3AsYT1vLmxlZnQscz1vW2ldO28udG9wPSIiLG8ubGVmdD0iIixvW2ldPSIiO3ZhciBsPWV0KHQuaW5zdGFuY2UucG9wcGVyLHQuaW5zdGFuY2UucmVmZXJlbmNlLGUucGFkZGluZyxuLHQucG9zaXRpb25GaXhlZCk7by50b3A9cixvLmxlZnQ9YSxvW2ldPXMsZS5ib3VuZGFyaWVzPWw7dmFyIHU9ZS5wcmlvcml0eSxmPXQub2Zmc2V0cy5wb3BwZXIsZD17cHJpbWFyeTpmdW5jdGlvbih0KXt2YXIgbj1mW3RdO3JldHVybiBmW3RdPGxbdF0mJiFlLmVzY2FwZVdpdGhSZWZlcmVuY2UmJihuPU1hdGgubWF4KGZbdF0sbFt0XSkpLHooe30sdCxuKX0sc2Vjb25kYXJ5OmZ1bmN0aW9uKHQpe3ZhciBuPSJyaWdodCI9PT10PyJsZWZ0IjoidG9wIixpPWZbbl07cmV0dXJuIGZbdF0+bFt0XSYmIWUuZXNjYXBlV2l0aFJlZmVyZW5jZSYmKGk9TWF0aC5taW4oZltuXSxsW3RdLSgicmlnaHQiPT09dD9mLndpZHRoOmYuaGVpZ2h0KSkpLHooe30sbixpKX19O3JldHVybiB1LmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPS0xIT09WyJsZWZ0IiwidG9wIl0uaW5kZXhPZih0KT8icHJpbWFyeSI6InNlY29uZGFyeSI7Zj1YKHt9LGYsZFtlXSh0KSl9KSksdC5vZmZzZXRzLnBvcHBlcj1mLHR9LHByaW9yaXR5OlsibGVmdCIsInJpZ2h0IiwidG9wIiwiYm90dG9tIl0scGFkZGluZzo1LGJvdW5kYXJpZXNFbGVtZW50OiJzY3JvbGxQYXJlbnQifSxrZWVwVG9nZXRoZXI6e29yZGVyOjQwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKHQpe3ZhciBlPXQub2Zmc2V0cyxuPWUucG9wcGVyLGk9ZS5yZWZlcmVuY2Usbz10LnBsYWNlbWVudC5zcGxpdCgiLSIpWzBdLHI9TWF0aC5mbG9vcixhPS0xIT09WyJ0b3AiLCJib3R0b20iXS5pbmRleE9mKG8pLHM9YT8icmlnaHQiOiJib3R0b20iLGw9YT8ibGVmdCI6InRvcCIsdT1hPyJ3aWR0aCI6ImhlaWdodCI7cmV0dXJuIG5bc108cihpW2xdKSYmKHQub2Zmc2V0cy5wb3BwZXJbbF09cihpW2xdKS1uW3VdKSxuW2xdPnIoaVtzXSkmJih0Lm9mZnNldHMucG9wcGVyW2xdPXIoaVtzXSkpLHR9fSxhcnJvdzp7b3JkZXI6NTAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24odCxlKXt2YXIgbjtpZighd3QodC5pbnN0YW5jZS5tb2RpZmllcnMsImFycm93Iiwia2VlcFRvZ2V0aGVyIikpcmV0dXJuIHQ7dmFyIGk9ZS5lbGVtZW50O2lmKCJzdHJpbmciPT10eXBlb2YgaSl7aWYoIShpPXQuaW5zdGFuY2UucG9wcGVyLnF1ZXJ5U2VsZWN0b3IoaSkpKXJldHVybiB0fWVsc2UgaWYoIXQuaW5zdGFuY2UucG9wcGVyLmNvbnRhaW5zKGkpKXJldHVybiBjb25zb2xlLndhcm4oIldBUk5JTkc6IGBhcnJvdy5lbGVtZW50YCBtdXN0IGJlIGNoaWxkIG9mIGl0cyBwb3BwZXIgZWxlbWVudCEiKSx0O3ZhciBvPXQucGxhY2VtZW50LnNwbGl0KCItIilbMF0scj10Lm9mZnNldHMsYT1yLnBvcHBlcixzPXIucmVmZXJlbmNlLGw9LTEhPT1bImxlZnQiLCJyaWdodCJdLmluZGV4T2YobyksdT1sPyJoZWlnaHQiOiJ3aWR0aCIsZj1sPyJUb3AiOiJMZWZ0IixkPWYudG9Mb3dlckNhc2UoKSxjPWw/ImxlZnQiOiJ0b3AiLGg9bD8iYm90dG9tIjoicmlnaHQiLHA9cnQoaSlbdV07c1toXS1wPGFbZF0mJih0Lm9mZnNldHMucG9wcGVyW2RdLT1hW2RdLShzW2hdLXApKSxzW2RdK3A+YVtoXSYmKHQub2Zmc2V0cy5wb3BwZXJbZF0rPXNbZF0rcC1hW2hdKSx0Lm9mZnNldHMucG9wcGVyPUsodC5vZmZzZXRzLnBvcHBlcik7dmFyIG09c1tkXStzW3VdLzItcC8yLGc9SSh0Lmluc3RhbmNlLnBvcHBlciksdj1wYXJzZUZsb2F0KGdbIm1hcmdpbiIrZl0pLF89cGFyc2VGbG9hdChnWyJib3JkZXIiK2YrIldpZHRoIl0pLGI9bS10Lm9mZnNldHMucG9wcGVyW2RdLXYtXztyZXR1cm4gYj1NYXRoLm1heChNYXRoLm1pbihhW3VdLXAsYiksMCksdC5hcnJvd0VsZW1lbnQ9aSx0Lm9mZnNldHMuYXJyb3c9KHoobj17fSxkLE1hdGgucm91bmQoYikpLHoobixjLCIiKSxuKSx0fSxlbGVtZW50OiJbeC1hcnJvd10ifSxmbGlwOntvcmRlcjo2MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbih0LGUpe2lmKGR0KHQuaW5zdGFuY2UubW9kaWZpZXJzLCJpbm5lciIpKXJldHVybiB0O2lmKHQuZmxpcHBlZCYmdC5wbGFjZW1lbnQ9PT10Lm9yaWdpbmFsUGxhY2VtZW50KXJldHVybiB0O3ZhciBuPWV0KHQuaW5zdGFuY2UucG9wcGVyLHQuaW5zdGFuY2UucmVmZXJlbmNlLGUucGFkZGluZyxlLmJvdW5kYXJpZXNFbGVtZW50LHQucG9zaXRpb25GaXhlZCksaT10LnBsYWNlbWVudC5zcGxpdCgiLSIpWzBdLG89YXQoaSkscj10LnBsYWNlbWVudC5zcGxpdCgiLSIpWzFdfHwiIixhPVtdO3N3aXRjaChlLmJlaGF2aW9yKXtjYXNlIFN0OmE9W2ksb107YnJlYWs7Y2FzZSBEdDphPUN0KGkpO2JyZWFrO2Nhc2UgTnQ6YT1DdChpLCEwKTticmVhaztkZWZhdWx0OmE9ZS5iZWhhdmlvcn1yZXR1cm4gYS5mb3JFYWNoKChmdW5jdGlvbihzLGwpe2lmKGkhPT1zfHxhLmxlbmd0aD09PWwrMSlyZXR1cm4gdDtpPXQucGxhY2VtZW50LnNwbGl0KCItIilbMF0sbz1hdChpKTt2YXIgdT10Lm9mZnNldHMucG9wcGVyLGY9dC5vZmZzZXRzLnJlZmVyZW5jZSxkPU1hdGguZmxvb3IsYz0ibGVmdCI9PT1pJiZkKHUucmlnaHQpPmQoZi5sZWZ0KXx8InJpZ2h0Ij09PWkmJmQodS5sZWZ0KTxkKGYucmlnaHQpfHwidG9wIj09PWkmJmQodS5ib3R0b20pPmQoZi50b3ApfHwiYm90dG9tIj09PWkmJmQodS50b3ApPGQoZi5ib3R0b20pLGg9ZCh1LmxlZnQpPGQobi5sZWZ0KSxwPWQodS5yaWdodCk+ZChuLnJpZ2h0KSxtPWQodS50b3ApPGQobi50b3ApLGc9ZCh1LmJvdHRvbSk+ZChuLmJvdHRvbSksdj0ibGVmdCI9PT1pJiZofHwicmlnaHQiPT09aSYmcHx8InRvcCI9PT1pJiZtfHwiYm90dG9tIj09PWkmJmcsXz0tMSE9PVsidG9wIiwiYm90dG9tIl0uaW5kZXhPZihpKSxiPSEhZS5mbGlwVmFyaWF0aW9ucyYmKF8mJiJzdGFydCI9PT1yJiZofHxfJiYiZW5kIj09PXImJnB8fCFfJiYic3RhcnQiPT09ciYmbXx8IV8mJiJlbmQiPT09ciYmZykseT0hIWUuZmxpcFZhcmlhdGlvbnNCeUNvbnRlbnQmJihfJiYic3RhcnQiPT09ciYmcHx8XyYmImVuZCI9PT1yJiZofHwhXyYmInN0YXJ0Ij09PXImJmd8fCFfJiYiZW5kIj09PXImJm0pLHc9Ynx8eTsoY3x8dnx8dykmJih0LmZsaXBwZWQ9ITAsKGN8fHYpJiYoaT1hW2wrMV0pLHcmJihyPWZ1bmN0aW9uKHQpe3JldHVybiJlbmQiPT09dD8ic3RhcnQiOiJzdGFydCI9PT10PyJlbmQiOnR9KHIpKSx0LnBsYWNlbWVudD1pKyhyPyItIityOiIiKSx0Lm9mZnNldHMucG9wcGVyPVgoe30sdC5vZmZzZXRzLnBvcHBlcixzdCh0Lmluc3RhbmNlLnBvcHBlcix0Lm9mZnNldHMucmVmZXJlbmNlLHQucGxhY2VtZW50KSksdD11dCh0Lmluc3RhbmNlLm1vZGlmaWVycyx0LCJmbGlwIikpfSkpLHR9LGJlaGF2aW9yOiJmbGlwIixwYWRkaW5nOjUsYm91bmRhcmllc0VsZW1lbnQ6InZpZXdwb3J0IixmbGlwVmFyaWF0aW9uczohMSxmbGlwVmFyaWF0aW9uc0J5Q29udGVudDohMX0saW5uZXI6e29yZGVyOjcwMCxlbmFibGVkOiExLGZuOmZ1bmN0aW9uKHQpe3ZhciBlPXQucGxhY2VtZW50LG49ZS5zcGxpdCgiLSIpWzBdLGk9dC5vZmZzZXRzLG89aS5wb3BwZXIscj1pLnJlZmVyZW5jZSxhPS0xIT09WyJsZWZ0IiwicmlnaHQiXS5pbmRleE9mKG4pLHM9LTE9PT1bInRvcCIsImxlZnQiXS5pbmRleE9mKG4pO3JldHVybiBvW2E/ImxlZnQiOiJ0b3AiXT1yW25dLShzP29bYT8id2lkdGgiOiJoZWlnaHQiXTowKSx0LnBsYWNlbWVudD1hdChlKSx0Lm9mZnNldHMucG9wcGVyPUsobyksdH19LGhpZGU6e29yZGVyOjgwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKHQpe2lmKCF3dCh0Lmluc3RhbmNlLm1vZGlmaWVycywiaGlkZSIsInByZXZlbnRPdmVyZmxvdyIpKXJldHVybiB0O3ZhciBlPXQub2Zmc2V0cy5yZWZlcmVuY2Usbj1sdCh0Lmluc3RhbmNlLm1vZGlmaWVycywoZnVuY3Rpb24odCl7cmV0dXJuInByZXZlbnRPdmVyZmxvdyI9PT10Lm5hbWV9KSkuYm91bmRhcmllcztpZihlLmJvdHRvbTxuLnRvcHx8ZS5sZWZ0Pm4ucmlnaHR8fGUudG9wPm4uYm90dG9tfHxlLnJpZ2h0PG4ubGVmdCl7aWYoITA9PT10LmhpZGUpcmV0dXJuIHQ7dC5oaWRlPSEwLHQuYXR0cmlidXRlc1sieC1vdXQtb2YtYm91bmRhcmllcyJdPSIifWVsc2V7aWYoITE9PT10LmhpZGUpcmV0dXJuIHQ7dC5oaWRlPSExLHQuYXR0cmlidXRlc1sieC1vdXQtb2YtYm91bmRhcmllcyJdPSExfXJldHVybiB0fX0sY29tcHV0ZVN0eWxlOntvcmRlcjo4NTAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbih0LGUpe3ZhciBuPWUueCxpPWUueSxvPXQub2Zmc2V0cy5wb3BwZXIscj1sdCh0Lmluc3RhbmNlLm1vZGlmaWVycywoZnVuY3Rpb24odCl7cmV0dXJuImFwcGx5U3R5bGUiPT09dC5uYW1lfSkpLmdwdUFjY2VsZXJhdGlvbjt2b2lkIDAhPT1yJiZjb25zb2xlLndhcm4oIldBUk5JTkc6IGBncHVBY2NlbGVyYXRpb25gIG9wdGlvbiBtb3ZlZCB0byBgY29tcHV0ZVN0eWxlYCBtb2RpZmllciBhbmQgd2lsbCBub3QgYmUgc3VwcG9ydGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBQb3BwZXIuanMhIik7dmFyIGE9dm9pZCAwIT09cj9yOmUuZ3B1QWNjZWxlcmF0aW9uLHM9Uih0Lmluc3RhbmNlLnBvcHBlciksbD1HKHMpLHU9e3Bvc2l0aW9uOm8ucG9zaXRpb259LGY9ZnVuY3Rpb24odCxlKXt2YXIgbj10Lm9mZnNldHMsaT1uLnBvcHBlcixvPW4ucmVmZXJlbmNlLHI9TWF0aC5yb3VuZCxhPU1hdGguZmxvb3Iscz1mdW5jdGlvbih0KXtyZXR1cm4gdH0sbD1yKG8ud2lkdGgpLHU9cihpLndpZHRoKSxmPS0xIT09WyJsZWZ0IiwicmlnaHQiXS5pbmRleE9mKHQucGxhY2VtZW50KSxkPS0xIT09dC5wbGFjZW1lbnQuaW5kZXhPZigiLSIpLGM9ZT9mfHxkfHxsJTI9PXUlMj9yOmE6cyxoPWU/cjpzO3JldHVybntsZWZ0OmMobCUyPT0xJiZ1JTI9PTEmJiFkJiZlP2kubGVmdC0xOmkubGVmdCksdG9wOmgoaS50b3ApLGJvdHRvbTpoKGkuYm90dG9tKSxyaWdodDpjKGkucmlnaHQpfX0odCx3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzwyfHwheXQpLGQ9ImJvdHRvbSI9PT1uPyJ0b3AiOiJib3R0b20iLGM9InJpZ2h0Ij09PWk/ImxlZnQiOiJyaWdodCIsaD1jdCgidHJhbnNmb3JtIikscD12b2lkIDAsbT12b2lkIDA7aWYobT0iYm90dG9tIj09PWQ/IkhUTUwiPT09cy5ub2RlTmFtZT8tcy5jbGllbnRIZWlnaHQrZi5ib3R0b206LWwuaGVpZ2h0K2YuYm90dG9tOmYudG9wLHA9InJpZ2h0Ij09PWM/IkhUTUwiPT09cy5ub2RlTmFtZT8tcy5jbGllbnRXaWR0aCtmLnJpZ2h0Oi1sLndpZHRoK2YucmlnaHQ6Zi5sZWZ0LGEmJmgpdVtoXT0idHJhbnNsYXRlM2QoIitwKyJweCwgIittKyJweCwgMCkiLHVbZF09MCx1W2NdPTAsdS53aWxsQ2hhbmdlPSJ0cmFuc2Zvcm0iO2Vsc2V7dmFyIGc9ImJvdHRvbSI9PT1kPy0xOjEsdj0icmlnaHQiPT09Yz8tMToxO3VbZF09bSpnLHVbY109cCp2LHUud2lsbENoYW5nZT1kKyIsICIrY312YXIgXz17IngtcGxhY2VtZW50Ijp0LnBsYWNlbWVudH07cmV0dXJuIHQuYXR0cmlidXRlcz1YKHt9LF8sdC5hdHRyaWJ1dGVzKSx0LnN0eWxlcz1YKHt9LHUsdC5zdHlsZXMpLHQuYXJyb3dTdHlsZXM9WCh7fSx0Lm9mZnNldHMuYXJyb3csdC5hcnJvd1N0eWxlcyksdH0sZ3B1QWNjZWxlcmF0aW9uOiEwLHg6ImJvdHRvbSIseToicmlnaHQifSxhcHBseVN0eWxlOntvcmRlcjo5MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiBidCh0Lmluc3RhbmNlLnBvcHBlcix0LnN0eWxlcyksZT10Lmluc3RhbmNlLnBvcHBlcixuPXQuYXR0cmlidXRlcyxPYmplY3Qua2V5cyhuKS5mb3JFYWNoKChmdW5jdGlvbih0KXshMSE9PW5bdF0/ZS5zZXRBdHRyaWJ1dGUodCxuW3RdKTplLnJlbW92ZUF0dHJpYnV0ZSh0KX0pKSx0LmFycm93RWxlbWVudCYmT2JqZWN0LmtleXModC5hcnJvd1N0eWxlcykubGVuZ3RoJiZidCh0LmFycm93RWxlbWVudCx0LmFycm93U3R5bGVzKSx0fSxvbkxvYWQ6ZnVuY3Rpb24odCxlLG4saSxvKXt2YXIgcj1vdChvLGUsdCxuLnBvc2l0aW9uRml4ZWQpLGE9aXQobi5wbGFjZW1lbnQscixlLHQsbi5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCxuLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpO3JldHVybiBlLnNldEF0dHJpYnV0ZSgieC1wbGFjZW1lbnQiLGEpLGJ0KGUse3Bvc2l0aW9uOm4ucG9zaXRpb25GaXhlZD8iZml4ZWQiOiJhYnNvbHV0ZSJ9KSxufSxncHVBY2NlbGVyYXRpb246dm9pZCAwfX19LEl0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4pe3ZhciBpPXRoaXMsbz1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e307Vih0aGlzLHQpLHRoaXMuc2NoZWR1bGVVcGRhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGkudXBkYXRlKX0sdGhpcy51cGRhdGU9ayh0aGlzLnVwZGF0ZS5iaW5kKHRoaXMpKSx0aGlzLm9wdGlvbnM9WCh7fSx0LkRlZmF1bHRzLG8pLHRoaXMuc3RhdGU9e2lzRGVzdHJveWVkOiExLGlzQ3JlYXRlZDohMSxzY3JvbGxQYXJlbnRzOltdfSx0aGlzLnJlZmVyZW5jZT1lJiZlLmpxdWVyeT9lWzBdOmUsdGhpcy5wb3BwZXI9biYmbi5qcXVlcnk/blswXTpuLHRoaXMub3B0aW9ucy5tb2RpZmllcnM9e30sT2JqZWN0LmtleXMoWCh7fSx0LkRlZmF1bHRzLm1vZGlmaWVycyxvLm1vZGlmaWVycykpLmZvckVhY2goKGZ1bmN0aW9uKGUpe2kub3B0aW9ucy5tb2RpZmllcnNbZV09WCh7fSx0LkRlZmF1bHRzLm1vZGlmaWVyc1tlXXx8e30sby5tb2RpZmllcnM/by5tb2RpZmllcnNbZV06e30pfSkpLHRoaXMubW9kaWZpZXJzPU9iamVjdC5rZXlzKHRoaXMub3B0aW9ucy5tb2RpZmllcnMpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIFgoe25hbWU6dH0saS5vcHRpb25zLm1vZGlmaWVyc1t0XSl9KSkuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5vcmRlci1lLm9yZGVyfSkpLHRoaXMubW9kaWZpZXJzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZW5hYmxlZCYmQSh0Lm9uTG9hZCkmJnQub25Mb2FkKGkucmVmZXJlbmNlLGkucG9wcGVyLGkub3B0aW9ucyx0LGkuc3RhdGUpfSkpLHRoaXMudXBkYXRlKCk7dmFyIHI9dGhpcy5vcHRpb25zLmV2ZW50c0VuYWJsZWQ7ciYmdGhpcy5lbmFibGVFdmVudExpc3RlbmVycygpLHRoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZD1yfXJldHVybiBZKHQsW3trZXk6InVwZGF0ZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gZnQuY2FsbCh0aGlzKX19LHtrZXk6ImRlc3Ryb3kiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIGh0LmNhbGwodGhpcyl9fSx7a2V5OiJlbmFibGVFdmVudExpc3RlbmVycyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gZ3QuY2FsbCh0aGlzKX19LHtrZXk6ImRpc2FibGVFdmVudExpc3RlbmVycyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdnQuY2FsbCh0aGlzKX19XSksdH0oKTtJdC5VdGlscz0oInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Omdsb2JhbCkuUG9wcGVyVXRpbHMsSXQucGxhY2VtZW50cz1FdCxJdC5EZWZhdWx0cz1BdDt2YXIgT3Q9ImRyb3Bkb3duIix4dD1pLmRlZmF1bHQuZm5bT3RdLGp0PW5ldyBSZWdFeHAoIjM4fDQwfDI3IiksTHQ9e29mZnNldDowLGZsaXA6ITAsYm91bmRhcnk6InNjcm9sbFBhcmVudCIscmVmZXJlbmNlOiJ0b2dnbGUiLGRpc3BsYXk6ImR5bmFtaWMiLHBvcHBlckNvbmZpZzpudWxsfSxQdD17b2Zmc2V0OiIobnVtYmVyfHN0cmluZ3xmdW5jdGlvbikiLGZsaXA6ImJvb2xlYW4iLGJvdW5kYXJ5OiIoc3RyaW5nfGVsZW1lbnQpIixyZWZlcmVuY2U6IihzdHJpbmd8ZWxlbWVudCkiLGRpc3BsYXk6InN0cmluZyIscG9wcGVyQ29uZmlnOiIobnVsbHxvYmplY3QpIn0sRnQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSl7dGhpcy5fZWxlbWVudD10LHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcoZSksdGhpcy5fbWVudT10aGlzLl9nZXRNZW51RWxlbWVudCgpLHRoaXMuX2luTmF2YmFyPXRoaXMuX2RldGVjdE5hdmJhcigpLHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKCl9dmFyIGU9dC5wcm90b3R5cGU7cmV0dXJuIGUudG9nZ2xlPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2VsZW1lbnQuZGlzYWJsZWQmJiFpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoImRpc2FibGVkIikpe3ZhciBlPWkuZGVmYXVsdCh0aGlzLl9tZW51KS5oYXNDbGFzcygic2hvdyIpO3QuX2NsZWFyTWVudXMoKSxlfHx0aGlzLnNob3coITApfX0sZS5zaG93PWZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09PWUmJihlPSExKSwhKHRoaXMuX2VsZW1lbnQuZGlzYWJsZWR8fGkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcygiZGlzYWJsZWQiKXx8aS5kZWZhdWx0KHRoaXMuX21lbnUpLmhhc0NsYXNzKCJzaG93IikpKXt2YXIgbj17cmVsYXRlZFRhcmdldDp0aGlzLl9lbGVtZW50fSxvPWkuZGVmYXVsdC5FdmVudCgic2hvdy5icy5kcm9wZG93biIsbikscj10Ll9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtpZihpLmRlZmF1bHQocikudHJpZ2dlcihvKSwhby5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7aWYoIXRoaXMuX2luTmF2YmFyJiZlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIEl0KXRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCdzIGRyb3Bkb3ducyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnLykiKTt2YXIgYT10aGlzLl9lbGVtZW50OyJwYXJlbnQiPT09dGhpcy5fY29uZmlnLnJlZmVyZW5jZT9hPXI6bC5pc0VsZW1lbnQodGhpcy5fY29uZmlnLnJlZmVyZW5jZSkmJihhPXRoaXMuX2NvbmZpZy5yZWZlcmVuY2UsInVuZGVmaW5lZCIhPXR5cGVvZiB0aGlzLl9jb25maWcucmVmZXJlbmNlLmpxdWVyeSYmKGE9dGhpcy5fY29uZmlnLnJlZmVyZW5jZVswXSkpLCJzY3JvbGxQYXJlbnQiIT09dGhpcy5fY29uZmlnLmJvdW5kYXJ5JiZpLmRlZmF1bHQocikuYWRkQ2xhc3MoInBvc2l0aW9uLXN0YXRpYyIpLHRoaXMuX3BvcHBlcj1uZXcgSXQoYSx0aGlzLl9tZW51LHRoaXMuX2dldFBvcHBlckNvbmZpZygpKX0ib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmMD09PWkuZGVmYXVsdChyKS5jbG9zZXN0KCIubmF2YmFyLW5hdiIpLmxlbmd0aCYmaS5kZWZhdWx0KGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub24oIm1vdXNlb3ZlciIsbnVsbCxpLmRlZmF1bHQubm9vcCksdGhpcy5fZWxlbWVudC5mb2N1cygpLHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwhMCksaS5kZWZhdWx0KHRoaXMuX21lbnUpLnRvZ2dsZUNsYXNzKCJzaG93IiksaS5kZWZhdWx0KHIpLnRvZ2dsZUNsYXNzKCJzaG93IikudHJpZ2dlcihpLmRlZmF1bHQuRXZlbnQoInNob3duLmJzLmRyb3Bkb3duIixuKSl9fX0sZS5oaWRlPWZ1bmN0aW9uKCl7aWYoIXRoaXMuX2VsZW1lbnQuZGlzYWJsZWQmJiFpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoImRpc2FibGVkIikmJmkuZGVmYXVsdCh0aGlzLl9tZW51KS5oYXNDbGFzcygic2hvdyIpKXt2YXIgZT17cmVsYXRlZFRhcmdldDp0aGlzLl9lbGVtZW50fSxuPWkuZGVmYXVsdC5FdmVudCgiaGlkZS5icy5kcm9wZG93biIsZSksbz10Ll9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtpLmRlZmF1bHQobykudHJpZ2dlcihuKSxuLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodGhpcy5fcG9wcGVyJiZ0aGlzLl9wb3BwZXIuZGVzdHJveSgpLGkuZGVmYXVsdCh0aGlzLl9tZW51KS50b2dnbGVDbGFzcygic2hvdyIpLGkuZGVmYXVsdChvKS50b2dnbGVDbGFzcygic2hvdyIpLnRyaWdnZXIoaS5kZWZhdWx0LkV2ZW50KCJoaWRkZW4uYnMuZHJvcGRvd24iLGUpKSl9fSxlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtpLmRlZmF1bHQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCJicy5kcm9wZG93biIpLGkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vZmYoIi5icy5kcm9wZG93biIpLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9tZW51PW51bGwsbnVsbCE9PXRoaXMuX3BvcHBlciYmKHRoaXMuX3BvcHBlci5kZXN0cm95KCksdGhpcy5fcG9wcGVyPW51bGwpfSxlLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX2luTmF2YmFyPXRoaXMuX2RldGVjdE5hdmJhcigpLG51bGwhPT10aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5zY2hlZHVsZVVwZGF0ZSgpfSxlLl9hZGRFdmVudExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uKCJjbGljay5icy5kcm9wZG93biIsKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQudG9nZ2xlKCl9KSl9LGUuX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gdD1hKHt9LHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdCxpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuZGF0YSgpLHQpLGwudHlwZUNoZWNrQ29uZmlnKE90LHQsdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0VHlwZSksdH0sZS5fZ2V0TWVudUVsZW1lbnQ9ZnVuY3Rpb24oKXtpZighdGhpcy5fbWVudSl7dmFyIGU9dC5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7ZSYmKHRoaXMuX21lbnU9ZS5xdWVyeVNlbGVjdG9yKCIuZHJvcGRvd24tbWVudSIpKX1yZXR1cm4gdGhpcy5fbWVudX0sZS5fZ2V0UGxhY2VtZW50PWZ1bmN0aW9uKCl7dmFyIHQ9aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZSksZT0iYm90dG9tLXN0YXJ0IjtyZXR1cm4gdC5oYXNDbGFzcygiZHJvcHVwIik/ZT1pLmRlZmF1bHQodGhpcy5fbWVudSkuaGFzQ2xhc3MoImRyb3Bkb3duLW1lbnUtcmlnaHQiKT8idG9wLWVuZCI6InRvcC1zdGFydCI6dC5oYXNDbGFzcygiZHJvcHJpZ2h0Iik/ZT0icmlnaHQtc3RhcnQiOnQuaGFzQ2xhc3MoImRyb3BsZWZ0Iik/ZT0ibGVmdC1zdGFydCI6aS5kZWZhdWx0KHRoaXMuX21lbnUpLmhhc0NsYXNzKCJkcm9wZG93bi1tZW51LXJpZ2h0IikmJihlPSJib3R0b20tZW5kIiksZX0sZS5fZGV0ZWN0TmF2YmFyPWZ1bmN0aW9uKCl7cmV0dXJuIGkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5jbG9zZXN0KCIubmF2YmFyIikubGVuZ3RoPjB9LGUuX2dldE9mZnNldD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT17fTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fY29uZmlnLm9mZnNldD9lLmZuPWZ1bmN0aW9uKGUpe3JldHVybiBlLm9mZnNldHM9YSh7fSxlLm9mZnNldHMsdC5fY29uZmlnLm9mZnNldChlLm9mZnNldHMsdC5fZWxlbWVudCl8fHt9KSxlfTplLm9mZnNldD10aGlzLl9jb25maWcub2Zmc2V0LGV9LGUuX2dldFBvcHBlckNvbmZpZz1mdW5jdGlvbigpe3ZhciB0PXtwbGFjZW1lbnQ6dGhpcy5fZ2V0UGxhY2VtZW50KCksbW9kaWZpZXJzOntvZmZzZXQ6dGhpcy5fZ2V0T2Zmc2V0KCksZmxpcDp7ZW5hYmxlZDp0aGlzLl9jb25maWcuZmxpcH0scHJldmVudE92ZXJmbG93Ontib3VuZGFyaWVzRWxlbWVudDp0aGlzLl9jb25maWcuYm91bmRhcnl9fX07cmV0dXJuInN0YXRpYyI9PT10aGlzLl9jb25maWcuZGlzcGxheSYmKHQubW9kaWZpZXJzLmFwcGx5U3R5bGU9e2VuYWJsZWQ6ITF9KSxhKHt9LHQsdGhpcy5fY29uZmlnLnBvcHBlckNvbmZpZyl9LHQuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuPWkuZGVmYXVsdCh0aGlzKS5kYXRhKCJicy5kcm9wZG93biIpO2lmKG58fChuPW5ldyB0KHRoaXMsIm9iamVjdCI9PXR5cGVvZiBlP2U6bnVsbCksaS5kZWZhdWx0KHRoaXMpLmRhdGEoImJzLmRyb3Bkb3duIixuKSksInN0cmluZyI9PXR5cGVvZiBlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIG5bZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2UrJyInKTtuW2VdKCl9fSkpfSx0Ll9jbGVhck1lbnVzPWZ1bmN0aW9uKGUpe2lmKCFlfHwzIT09ZS53aGljaCYmKCJrZXl1cCIhPT1lLnR5cGV8fDk9PT1lLndoaWNoKSlmb3IodmFyIG49W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS10b2dnbGU9ImRyb3Bkb3duIl0nKSksbz0wLHI9bi5sZW5ndGg7bzxyO28rKyl7dmFyIGE9dC5fZ2V0UGFyZW50RnJvbUVsZW1lbnQobltvXSkscz1pLmRlZmF1bHQobltvXSkuZGF0YSgiYnMuZHJvcGRvd24iKSxsPXtyZWxhdGVkVGFyZ2V0Om5bb119O2lmKGUmJiJjbGljayI9PT1lLnR5cGUmJihsLmNsaWNrRXZlbnQ9ZSkscyl7dmFyIHU9cy5fbWVudTtpZihpLmRlZmF1bHQoYSkuaGFzQ2xhc3MoInNob3ciKSYmIShlJiYoImNsaWNrIj09PWUudHlwZSYmL2lucHV0fHRleHRhcmVhL2kudGVzdChlLnRhcmdldC50YWdOYW1lKXx8ImtleXVwIj09PWUudHlwZSYmOT09PWUud2hpY2gpJiZpLmRlZmF1bHQuY29udGFpbnMoYSxlLnRhcmdldCkpKXt2YXIgZj1pLmRlZmF1bHQuRXZlbnQoImhpZGUuYnMuZHJvcGRvd24iLGwpO2kuZGVmYXVsdChhKS50cmlnZ2VyKGYpLGYuaXNEZWZhdWx0UHJldmVudGVkKCl8fCgib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmaS5kZWZhdWx0KGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub2ZmKCJtb3VzZW92ZXIiLG51bGwsaS5kZWZhdWx0Lm5vb3ApLG5bb10uc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSxzLl9wb3BwZXImJnMuX3BvcHBlci5kZXN0cm95KCksaS5kZWZhdWx0KHUpLnJlbW92ZUNsYXNzKCJzaG93IiksaS5kZWZhdWx0KGEpLnJlbW92ZUNsYXNzKCJzaG93IikudHJpZ2dlcihpLmRlZmF1bHQuRXZlbnQoImhpZGRlbi5icy5kcm9wZG93biIsbCkpKX19fX0sdC5fZ2V0UGFyZW50RnJvbUVsZW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGUsbj1sLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCk7cmV0dXJuIG4mJihlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IobikpLGV8fHQucGFyZW50Tm9kZX0sdC5fZGF0YUFwaUtleWRvd25IYW5kbGVyPWZ1bmN0aW9uKGUpe2lmKCEoL2lucHV0fHRleHRhcmVhL2kudGVzdChlLnRhcmdldC50YWdOYW1lKT8zMj09PWUud2hpY2h8fDI3IT09ZS53aGljaCYmKDQwIT09ZS53aGljaCYmMzghPT1lLndoaWNofHxpLmRlZmF1bHQoZS50YXJnZXQpLmNsb3Nlc3QoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoKTohanQudGVzdChlLndoaWNoKSkmJiF0aGlzLmRpc2FibGVkJiYhaS5kZWZhdWx0KHRoaXMpLmhhc0NsYXNzKCJkaXNhYmxlZCIpKXt2YXIgbj10Ll9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzKSxvPWkuZGVmYXVsdChuKS5oYXNDbGFzcygic2hvdyIpO2lmKG98fDI3IT09ZS53aGljaCl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksIW98fDI3PT09ZS53aGljaHx8MzI9PT1lLndoaWNoKXJldHVybiAyNz09PWUud2hpY2gmJmkuZGVmYXVsdChuLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXRvZ2dsZT0iZHJvcGRvd24iXScpKS50cmlnZ2VyKCJmb2N1cyIpLHZvaWQgaS5kZWZhdWx0KHRoaXMpLnRyaWdnZXIoImNsaWNrIik7dmFyIHI9W10uc2xpY2UuY2FsbChuLnF1ZXJ5U2VsZWN0b3JBbGwoIi5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1pdGVtOm5vdCguZGlzYWJsZWQpOm5vdCg6ZGlzYWJsZWQpIikpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIGkuZGVmYXVsdCh0KS5pcygiOnZpc2libGUiKX0pKTtpZigwIT09ci5sZW5ndGgpe3ZhciBhPXIuaW5kZXhPZihlLnRhcmdldCk7Mzg9PT1lLndoaWNoJiZhPjAmJmEtLSw0MD09PWUud2hpY2gmJmE8ci5sZW5ndGgtMSYmYSsrLGE8MCYmKGE9MCksclthXS5mb2N1cygpfX19fSxyKHQsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuNS4zIn19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiBMdH19LHtrZXk6IkRlZmF1bHRUeXBlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUHR9fV0pLHR9KCk7aS5kZWZhdWx0KGRvY3VtZW50KS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0iZHJvcGRvd24iXScsRnQuX2RhdGFBcGlLZXlkb3duSGFuZGxlcikub24oImtleWRvd24uYnMuZHJvcGRvd24uZGF0YS1hcGkiLCIuZHJvcGRvd24tbWVudSIsRnQuX2RhdGFBcGlLZXlkb3duSGFuZGxlcikub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIGtleXVwLmJzLmRyb3Bkb3duLmRhdGEtYXBpIixGdC5fY2xlYXJNZW51cykub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJkcm9wZG93biJdJywoZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCksRnQuX2pRdWVyeUludGVyZmFjZS5jYWxsKGkuZGVmYXVsdCh0aGlzKSwidG9nZ2xlIil9KSkub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIiwiLmRyb3Bkb3duIGZvcm0iLChmdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpfSkpLGkuZGVmYXVsdC5mbltPdF09RnQuX2pRdWVyeUludGVyZmFjZSxpLmRlZmF1bHQuZm5bT3RdLkNvbnN0cnVjdG9yPUZ0LGkuZGVmYXVsdC5mbltPdF0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBpLmRlZmF1bHQuZm5bT3RdPXh0LEZ0Ll9qUXVlcnlJbnRlcmZhY2V9O3ZhciBSdD1pLmRlZmF1bHQuZm4ubW9kYWwsSHQ9e2JhY2tkcm9wOiEwLGtleWJvYXJkOiEwLGZvY3VzOiEwLHNob3c6ITB9LE10PXtiYWNrZHJvcDoiKGJvb2xlYW58c3RyaW5nKSIsa2V5Ym9hcmQ6ImJvb2xlYW4iLGZvY3VzOiJib29sZWFuIixzaG93OiJib29sZWFuIn0sQnQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSl7dGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLl9lbGVtZW50PXQsdGhpcy5fZGlhbG9nPXQucXVlcnlTZWxlY3RvcigiLm1vZGFsLWRpYWxvZyIpLHRoaXMuX2JhY2tkcm9wPW51bGwsdGhpcy5faXNTaG93bj0hMSx0aGlzLl9pc0JvZHlPdmVyZmxvd2luZz0hMSx0aGlzLl9pZ25vcmVCYWNrZHJvcENsaWNrPSExLHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMSx0aGlzLl9zY3JvbGxiYXJXaWR0aD0wfXZhciBlPXQucHJvdG90eXBlO3JldHVybiBlLnRvZ2dsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faXNTaG93bj90aGlzLmhpZGUoKTp0aGlzLnNob3codCl9LGUuc2hvdz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKCF0aGlzLl9pc1Nob3duJiYhdGhpcy5faXNUcmFuc2l0aW9uaW5nKXtpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoImZhZGUiKSYmKHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMCk7dmFyIG49aS5kZWZhdWx0LkV2ZW50KCJzaG93LmJzLm1vZGFsIix7cmVsYXRlZFRhcmdldDp0fSk7aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIobiksdGhpcy5faXNTaG93bnx8bi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KHRoaXMuX2lzU2hvd249ITAsdGhpcy5fY2hlY2tTY3JvbGxiYXIoKSx0aGlzLl9zZXRTY3JvbGxiYXIoKSx0aGlzLl9hZGp1c3REaWFsb2coKSx0aGlzLl9zZXRFc2NhcGVFdmVudCgpLHRoaXMuX3NldFJlc2l6ZUV2ZW50KCksaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uKCJjbGljay5kaXNtaXNzLmJzLm1vZGFsIiwnW2RhdGEtZGlzbWlzcz0ibW9kYWwiXScsKGZ1bmN0aW9uKHQpe3JldHVybiBlLmhpZGUodCl9KSksaS5kZWZhdWx0KHRoaXMuX2RpYWxvZykub24oIm1vdXNlZG93bi5kaXNtaXNzLmJzLm1vZGFsIiwoZnVuY3Rpb24oKXtpLmRlZmF1bHQoZS5fZWxlbWVudCkub25lKCJtb3VzZXVwLmRpc21pc3MuYnMubW9kYWwiLChmdW5jdGlvbih0KXtpLmRlZmF1bHQodC50YXJnZXQpLmlzKGUuX2VsZW1lbnQpJiYoZS5faWdub3JlQmFja2Ryb3BDbGljaz0hMCl9KSl9KSksdGhpcy5fc2hvd0JhY2tkcm9wKChmdW5jdGlvbigpe3JldHVybiBlLl9zaG93RWxlbWVudCh0KX0pKSl9fSxlLmhpZGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZih0JiZ0LnByZXZlbnREZWZhdWx0KCksdGhpcy5faXNTaG93biYmIXRoaXMuX2lzVHJhbnNpdGlvbmluZyl7dmFyIG49aS5kZWZhdWx0LkV2ZW50KCJoaWRlLmJzLm1vZGFsIik7aWYoaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIobiksdGhpcy5faXNTaG93biYmIW4uaXNEZWZhdWx0UHJldmVudGVkKCkpe3RoaXMuX2lzU2hvd249ITE7dmFyIG89aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKCJmYWRlIik7aWYobyYmKHRoaXMuX2lzVHJhbnNpdGlvbmluZz0hMCksdGhpcy5fc2V0RXNjYXBlRXZlbnQoKSx0aGlzLl9zZXRSZXNpemVFdmVudCgpLGkuZGVmYXVsdChkb2N1bWVudCkub2ZmKCJmb2N1c2luLmJzLm1vZGFsIiksaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnJlbW92ZUNsYXNzKCJzaG93IiksaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9mZigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIpLGkuZGVmYXVsdCh0aGlzLl9kaWFsb2cpLm9mZigibW91c2Vkb3duLmRpc21pc3MuYnMubW9kYWwiKSxvKXt2YXIgcj1sLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO2kuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbmUobC5UUkFOU0lUSU9OX0VORCwoZnVuY3Rpb24odCl7cmV0dXJuIGUuX2hpZGVNb2RhbCh0KX0pKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChyKX1lbHNlIHRoaXMuX2hpZGVNb2RhbCgpfX19LGUuZGlzcG9zZT1mdW5jdGlvbigpe1t3aW5kb3csdGhpcy5fZWxlbWVudCx0aGlzLl9kaWFsb2ddLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBpLmRlZmF1bHQodCkub2ZmKCIuYnMubW9kYWwiKX0pKSxpLmRlZmF1bHQoZG9jdW1lbnQpLm9mZigiZm9jdXNpbi5icy5tb2RhbCIpLGkuZGVmYXVsdC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsImJzLm1vZGFsIiksdGhpcy5fY29uZmlnPW51bGwsdGhpcy5fZWxlbWVudD1udWxsLHRoaXMuX2RpYWxvZz1udWxsLHRoaXMuX2JhY2tkcm9wPW51bGwsdGhpcy5faXNTaG93bj1udWxsLHRoaXMuX2lzQm9keU92ZXJmbG93aW5nPW51bGwsdGhpcy5faWdub3JlQmFja2Ryb3BDbGljaz1udWxsLHRoaXMuX2lzVHJhbnNpdGlvbmluZz1udWxsLHRoaXMuX3Njcm9sbGJhcldpZHRoPW51bGx9LGUuaGFuZGxlVXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5fYWRqdXN0RGlhbG9nKCl9LGUuX2dldENvbmZpZz1mdW5jdGlvbih0KXtyZXR1cm4gdD1hKHt9LEh0LHQpLGwudHlwZUNoZWNrQ29uZmlnKCJtb2RhbCIsdCxNdCksdH0sZS5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbj1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoInN0YXRpYyI9PT10aGlzLl9jb25maWcuYmFja2Ryb3Ape3ZhciBlPWkuZGVmYXVsdC5FdmVudCgiaGlkZVByZXZlbnRlZC5icy5tb2RhbCIpO2lmKGkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKGUpLGUuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO3ZhciBuPXRoaXMuX2VsZW1lbnQuc2Nyb2xsSGVpZ2h0PmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7bnx8KHRoaXMuX2VsZW1lbnQuc3R5bGUub3ZlcmZsb3dZPSJoaWRkZW4iKSx0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoIm1vZGFsLXN0YXRpYyIpO3ZhciBvPWwuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZGlhbG9nKTtpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub2ZmKGwuVFJBTlNJVElPTl9FTkQpLGkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vbmUobC5UUkFOU0lUSU9OX0VORCwoZnVuY3Rpb24oKXt0Ll9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoIm1vZGFsLXN0YXRpYyIpLG58fGkuZGVmYXVsdCh0Ll9lbGVtZW50KS5vbmUobC5UUkFOU0lUSU9OX0VORCwoZnVuY3Rpb24oKXt0Ll9lbGVtZW50LnN0eWxlLm92ZXJmbG93WT0iIn0pKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCh0Ll9lbGVtZW50LG8pfSkpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKG8pLHRoaXMuX2VsZW1lbnQuZm9jdXMoKX1lbHNlIHRoaXMuaGlkZSgpfSxlLl9zaG93RWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKCJmYWRlIiksbz10aGlzLl9kaWFsb2c/dGhpcy5fZGlhbG9nLnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbC1ib2R5Iik6bnVsbDt0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUmJnRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFfHxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnQpLHRoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheT0iYmxvY2siLHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpLHRoaXMuX2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwhMCksdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoInJvbGUiLCJkaWFsb2ciKSxpLmRlZmF1bHQodGhpcy5fZGlhbG9nKS5oYXNDbGFzcygibW9kYWwtZGlhbG9nLXNjcm9sbGFibGUiKSYmbz9vLnNjcm9sbFRvcD0wOnRoaXMuX2VsZW1lbnQuc2Nyb2xsVG9wPTAsbiYmbC5yZWZsb3codGhpcy5fZWxlbWVudCksaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKCJzaG93IiksdGhpcy5fY29uZmlnLmZvY3VzJiZ0aGlzLl9lbmZvcmNlRm9jdXMoKTt2YXIgcj1pLmRlZmF1bHQuRXZlbnQoInNob3duLmJzLm1vZGFsIix7cmVsYXRlZFRhcmdldDp0fSksYT1mdW5jdGlvbigpe2UuX2NvbmZpZy5mb2N1cyYmZS5fZWxlbWVudC5mb2N1cygpLGUuX2lzVHJhbnNpdGlvbmluZz0hMSxpLmRlZmF1bHQoZS5fZWxlbWVudCkudHJpZ2dlcihyKX07aWYobil7dmFyIHM9bC5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9kaWFsb2cpO2kuZGVmYXVsdCh0aGlzLl9kaWFsb2cpLm9uZShsLlRSQU5TSVRJT05fRU5ELGEpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHMpfWVsc2UgYSgpfSxlLl9lbmZvcmNlRm9jdXM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2kuZGVmYXVsdChkb2N1bWVudCkub2ZmKCJmb2N1c2luLmJzLm1vZGFsIikub24oImZvY3VzaW4uYnMubW9kYWwiLChmdW5jdGlvbihlKXtkb2N1bWVudCE9PWUudGFyZ2V0JiZ0Ll9lbGVtZW50IT09ZS50YXJnZXQmJjA9PT1pLmRlZmF1bHQodC5fZWxlbWVudCkuaGFzKGUudGFyZ2V0KS5sZW5ndGgmJnQuX2VsZW1lbnQuZm9jdXMoKX0pKX0sZS5fc2V0RXNjYXBlRXZlbnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuX2lzU2hvd24/aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uKCJrZXlkb3duLmRpc21pc3MuYnMubW9kYWwiLChmdW5jdGlvbihlKXt0Ll9jb25maWcua2V5Ym9hcmQmJjI3PT09ZS53aGljaD8oZS5wcmV2ZW50RGVmYXVsdCgpLHQuaGlkZSgpKTp0Ll9jb25maWcua2V5Ym9hcmR8fDI3IT09ZS53aGljaHx8dC5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbigpfSkpOnRoaXMuX2lzU2hvd258fGkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vZmYoImtleWRvd24uZGlzbWlzcy5icy5tb2RhbCIpfSxlLl9zZXRSZXNpemVFdmVudD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5faXNTaG93bj9pLmRlZmF1bHQod2luZG93KS5vbigicmVzaXplLmJzLm1vZGFsIiwoZnVuY3Rpb24oZSl7cmV0dXJuIHQuaGFuZGxlVXBkYXRlKGUpfSkpOmkuZGVmYXVsdCh3aW5kb3cpLm9mZigicmVzaXplLmJzLm1vZGFsIil9LGUuX2hpZGVNb2RhbD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fZWxlbWVudC5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLl9lbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCEwKSx0aGlzLl9lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1tb2RhbCIpLHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJyb2xlIiksdGhpcy5faXNUcmFuc2l0aW9uaW5nPSExLHRoaXMuX3Nob3dCYWNrZHJvcCgoZnVuY3Rpb24oKXtpLmRlZmF1bHQoZG9jdW1lbnQuYm9keSkucmVtb3ZlQ2xhc3MoIm1vZGFsLW9wZW4iKSx0Ll9yZXNldEFkanVzdG1lbnRzKCksdC5fcmVzZXRTY3JvbGxiYXIoKSxpLmRlZmF1bHQodC5fZWxlbWVudCkudHJpZ2dlcigiaGlkZGVuLmJzLm1vZGFsIil9KSl9LGUuX3JlbW92ZUJhY2tkcm9wPWZ1bmN0aW9uKCl7dGhpcy5fYmFja2Ryb3AmJihpLmRlZmF1bHQodGhpcy5fYmFja2Ryb3ApLnJlbW92ZSgpLHRoaXMuX2JhY2tkcm9wPW51bGwpfSxlLl9zaG93QmFja2Ryb3A9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcygiZmFkZSIpPyJmYWRlIjoiIjtpZih0aGlzLl9pc1Nob3duJiZ0aGlzLl9jb25maWcuYmFja2Ryb3Ape2lmKHRoaXMuX2JhY2tkcm9wPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHRoaXMuX2JhY2tkcm9wLmNsYXNzTmFtZT0ibW9kYWwtYmFja2Ryb3AiLG4mJnRoaXMuX2JhY2tkcm9wLmNsYXNzTGlzdC5hZGQobiksaS5kZWZhdWx0KHRoaXMuX2JhY2tkcm9wKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KSxpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub24oImNsaWNrLmRpc21pc3MuYnMubW9kYWwiLChmdW5jdGlvbih0KXtlLl9pZ25vcmVCYWNrZHJvcENsaWNrP2UuX2lnbm9yZUJhY2tkcm9wQ2xpY2s9ITE6dC50YXJnZXQ9PT10LmN1cnJlbnRUYXJnZXQmJmUuX3RyaWdnZXJCYWNrZHJvcFRyYW5zaXRpb24oKX0pKSxuJiZsLnJlZmxvdyh0aGlzLl9iYWNrZHJvcCksaS5kZWZhdWx0KHRoaXMuX2JhY2tkcm9wKS5hZGRDbGFzcygic2hvdyIpLCF0KXJldHVybjtpZighbilyZXR1cm4gdm9pZCB0KCk7dmFyIG89bC5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9iYWNrZHJvcCk7aS5kZWZhdWx0KHRoaXMuX2JhY2tkcm9wKS5vbmUobC5UUkFOU0lUSU9OX0VORCx0KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChvKX1lbHNlIGlmKCF0aGlzLl9pc1Nob3duJiZ0aGlzLl9iYWNrZHJvcCl7aS5kZWZhdWx0KHRoaXMuX2JhY2tkcm9wKS5yZW1vdmVDbGFzcygic2hvdyIpO3ZhciByPWZ1bmN0aW9uKCl7ZS5fcmVtb3ZlQmFja2Ryb3AoKSx0JiZ0KCl9O2lmKGkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcygiZmFkZSIpKXt2YXIgYT1sLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2JhY2tkcm9wKTtpLmRlZmF1bHQodGhpcy5fYmFja2Ryb3ApLm9uZShsLlRSQU5TSVRJT05fRU5ELHIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGEpfWVsc2UgcigpfWVsc2UgdCYmdCgpfSxlLl9hZGp1c3REaWFsb2c9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9lbGVtZW50LnNjcm9sbEhlaWdodD5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0OyF0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyYmdCYmKHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ0xlZnQ9dGhpcy5fc2Nyb2xsYmFyV2lkdGgrInB4IiksdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcmJiF0JiYodGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQ9dGhpcy5fc2Nyb2xsYmFyV2lkdGgrInB4Iil9LGUuX3Jlc2V0QWRqdXN0bWVudHM9ZnVuY3Rpb24oKXt0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0PSIiLHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0PSIifSxlLl9jaGVja1Njcm9sbGJhcj1mdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmJvZHkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5faXNCb2R5T3ZlcmZsb3dpbmc9TWF0aC5yb3VuZCh0LmxlZnQrdC5yaWdodCk8d2luZG93LmlubmVyV2lkdGgsdGhpcy5fc2Nyb2xsYmFyV2lkdGg9dGhpcy5fZ2V0U2Nyb2xsYmFyV2lkdGgoKX0sZS5fc2V0U2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZih0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyl7dmFyIGU9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuZml4ZWQtdG9wLCAuZml4ZWQtYm90dG9tLCAuaXMtZml4ZWQsIC5zdGlja3ktdG9wIikpLG49W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc3RpY2t5LXRvcCIpKTtpLmRlZmF1bHQoZSkuZWFjaCgoZnVuY3Rpb24oZSxuKXt2YXIgbz1uLnN0eWxlLnBhZGRpbmdSaWdodCxyPWkuZGVmYXVsdChuKS5jc3MoInBhZGRpbmctcmlnaHQiKTtpLmRlZmF1bHQobikuZGF0YSgicGFkZGluZy1yaWdodCIsbykuY3NzKCJwYWRkaW5nLXJpZ2h0IixwYXJzZUZsb2F0KHIpK3QuX3Njcm9sbGJhcldpZHRoKyJweCIpfSkpLGkuZGVmYXVsdChuKS5lYWNoKChmdW5jdGlvbihlLG4pe3ZhciBvPW4uc3R5bGUubWFyZ2luUmlnaHQscj1pLmRlZmF1bHQobikuY3NzKCJtYXJnaW4tcmlnaHQiKTtpLmRlZmF1bHQobikuZGF0YSgibWFyZ2luLXJpZ2h0IixvKS5jc3MoIm1hcmdpbi1yaWdodCIscGFyc2VGbG9hdChyKS10Ll9zY3JvbGxiYXJXaWR0aCsicHgiKX0pKTt2YXIgbz1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCxyPWkuZGVmYXVsdChkb2N1bWVudC5ib2R5KS5jc3MoInBhZGRpbmctcmlnaHQiKTtpLmRlZmF1bHQoZG9jdW1lbnQuYm9keSkuZGF0YSgicGFkZGluZy1yaWdodCIsbykuY3NzKCJwYWRkaW5nLXJpZ2h0IixwYXJzZUZsb2F0KHIpK3RoaXMuX3Njcm9sbGJhcldpZHRoKyJweCIpfWkuZGVmYXVsdChkb2N1bWVudC5ib2R5KS5hZGRDbGFzcygibW9kYWwtb3BlbiIpfSxlLl9yZXNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciB0PVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmZpeGVkLXRvcCwgLmZpeGVkLWJvdHRvbSwgLmlzLWZpeGVkLCAuc3RpY2t5LXRvcCIpKTtpLmRlZmF1bHQodCkuZWFjaCgoZnVuY3Rpb24odCxlKXt2YXIgbj1pLmRlZmF1bHQoZSkuZGF0YSgicGFkZGluZy1yaWdodCIpO2kuZGVmYXVsdChlKS5yZW1vdmVEYXRhKCJwYWRkaW5nLXJpZ2h0IiksZS5zdHlsZS5wYWRkaW5nUmlnaHQ9bnx8IiJ9KSk7dmFyIGU9W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuc3RpY2t5LXRvcCIpKTtpLmRlZmF1bHQoZSkuZWFjaCgoZnVuY3Rpb24odCxlKXt2YXIgbj1pLmRlZmF1bHQoZSkuZGF0YSgibWFyZ2luLXJpZ2h0Iik7InVuZGVmaW5lZCIhPXR5cGVvZiBuJiZpLmRlZmF1bHQoZSkuY3NzKCJtYXJnaW4tcmlnaHQiLG4pLnJlbW92ZURhdGEoIm1hcmdpbi1yaWdodCIpfSkpO3ZhciBuPWkuZGVmYXVsdChkb2N1bWVudC5ib2R5KS5kYXRhKCJwYWRkaW5nLXJpZ2h0Iik7aS5kZWZhdWx0KGRvY3VtZW50LmJvZHkpLnJlbW92ZURhdGEoInBhZGRpbmctcmlnaHQiKSxkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD1ufHwiIn0sZS5fZ2V0U2Nyb2xsYmFyV2lkdGg9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LmNsYXNzTmFtZT0ibW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIGU9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aC10LmNsaWVudFdpZHRoO3JldHVybiBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpLGV9LHQuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlLG4pe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG89aS5kZWZhdWx0KHRoaXMpLmRhdGEoImJzLm1vZGFsIikscj1hKHt9LEh0LGkuZGVmYXVsdCh0aGlzKS5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBlJiZlP2U6e30pO2lmKG98fChvPW5ldyB0KHRoaXMsciksaS5kZWZhdWx0KHRoaXMpLmRhdGEoImJzLm1vZGFsIixvKSksInN0cmluZyI9PXR5cGVvZiBlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIG9bZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2UrJyInKTtvW2VdKG4pfWVsc2Ugci5zaG93JiZvLnNob3cobil9KSl9LHIodCxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC41LjMifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEh0fX1dKSx0fSgpO2kuZGVmYXVsdChkb2N1bWVudCkub24oImNsaWNrLmJzLm1vZGFsLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJywoZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLG89bC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpO28mJihlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IobykpO3ZhciByPWkuZGVmYXVsdChlKS5kYXRhKCJicy5tb2RhbCIpPyJ0b2dnbGUiOmEoe30saS5kZWZhdWx0KGUpLmRhdGEoKSxpLmRlZmF1bHQodGhpcykuZGF0YSgpKTsiQSIhPT10aGlzLnRhZ05hbWUmJiJBUkVBIiE9PXRoaXMudGFnTmFtZXx8dC5wcmV2ZW50RGVmYXVsdCgpO3ZhciBzPWkuZGVmYXVsdChlKS5vbmUoInNob3cuYnMubW9kYWwiLChmdW5jdGlvbih0KXt0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHxzLm9uZSgiaGlkZGVuLmJzLm1vZGFsIiwoZnVuY3Rpb24oKXtpLmRlZmF1bHQobikuaXMoIjp2aXNpYmxlIikmJm4uZm9jdXMoKX0pKX0pKTtCdC5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoaS5kZWZhdWx0KGUpLHIsdGhpcyl9KSksaS5kZWZhdWx0LmZuLm1vZGFsPUJ0Ll9qUXVlcnlJbnRlcmZhY2UsaS5kZWZhdWx0LmZuLm1vZGFsLkNvbnN0cnVjdG9yPUJ0LGkuZGVmYXVsdC5mbi5tb2RhbC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGkuZGVmYXVsdC5mbi5tb2RhbD1SdCxCdC5falF1ZXJ5SW50ZXJmYWNlfTt2YXIgcXQ9WyJiYWNrZ3JvdW5kIiwiY2l0ZSIsImhyZWYiLCJpdGVtdHlwZSIsImxvbmdkZXNjIiwicG9zdGVyIiwic3JjIiwieGxpbms6aHJlZiJdLFF0PXsiKiI6WyJjbGFzcyIsImRpciIsImlkIiwibGFuZyIsInJvbGUiLC9eYXJpYS1bXHctXSokL2ldLGE6WyJ0YXJnZXQiLCJocmVmIiwidGl0bGUiLCJyZWwiXSxhcmVhOltdLGI6W10sYnI6W10sY29sOltdLGNvZGU6W10sZGl2OltdLGVtOltdLGhyOltdLGgxOltdLGgyOltdLGgzOltdLGg0OltdLGg1OltdLGg2OltdLGk6W10saW1nOlsic3JjIiwic3Jjc2V0IiwiYWx0IiwidGl0bGUiLCJ3aWR0aCIsImhlaWdodCJdLGxpOltdLG9sOltdLHA6W10scHJlOltdLHM6W10sc21hbGw6W10sc3BhbjpbXSxzdWI6W10sc3VwOltdLHN0cm9uZzpbXSx1OltdLHVsOltdfSxXdD0vXig/Oig/Omh0dHBzP3xtYWlsdG98ZnRwfHRlbHxmaWxlKTp8W14jJi86P10qKD86WyMvP118JCkpL2dpLFV0PS9eZGF0YTooPzppbWFnZVwvKD86Ym1wfGdpZnxqcGVnfGpwZ3xwbmd8dGlmZnx3ZWJwKXx2aWRlb1wvKD86bXBlZ3xtcDR8b2dnfHdlYm0pfGF1ZGlvXC8oPzptcDN8b2dhfG9nZ3xvcHVzKSk7YmFzZTY0LFtcZCsvYS16XSs9KiQvaTtmdW5jdGlvbiBWdCh0LGUsbil7aWYoMD09PXQubGVuZ3RoKXJldHVybiB0O2lmKG4mJiJmdW5jdGlvbiI9PXR5cGVvZiBuKXJldHVybiBuKHQpO2Zvcih2YXIgaT0obmV3IHdpbmRvdy5ET01QYXJzZXIpLnBhcnNlRnJvbVN0cmluZyh0LCJ0ZXh0L2h0bWwiKSxvPU9iamVjdC5rZXlzKGUpLHI9W10uc2xpY2UuY2FsbChpLmJvZHkucXVlcnlTZWxlY3RvckFsbCgiKiIpKSxhPWZ1bmN0aW9uKHQsbil7dmFyIGk9clt0XSxhPWkubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZigtMT09PW8uaW5kZXhPZihpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpKXJldHVybiBpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSksImNvbnRpbnVlIjt2YXIgcz1bXS5zbGljZS5jYWxsKGkuYXR0cmlidXRlcyksbD1bXS5jb25jYXQoZVsiKiJdfHxbXSxlW2FdfHxbXSk7cy5mb3JFYWNoKChmdW5jdGlvbih0KXsoZnVuY3Rpb24odCxlKXt2YXIgbj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoLTEhPT1lLmluZGV4T2YobikpcmV0dXJuLTE9PT1xdC5pbmRleE9mKG4pfHxCb29sZWFuKHQubm9kZVZhbHVlLm1hdGNoKFd0KXx8dC5ub2RlVmFsdWUubWF0Y2goVXQpKTtmb3IodmFyIGk9ZS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgUmVnRXhwfSkpLG89MCxyPWkubGVuZ3RoO288cjtvKyspaWYobi5tYXRjaChpW29dKSlyZXR1cm4hMDtyZXR1cm4hMX0pKHQsbCl8fGkucmVtb3ZlQXR0cmlidXRlKHQubm9kZU5hbWUpfSkpfSxzPTAsbD1yLmxlbmd0aDtzPGw7cysrKWEocyk7cmV0dXJuIGkuYm9keS5pbm5lckhUTUx9dmFyIFl0PSJ0b29sdGlwIix6dD1pLmRlZmF1bHQuZm5bWXRdLFh0PW5ldyBSZWdFeHAoIihefFxccylicy10b29sdGlwXFxTKyIsImciKSxLdD1bInNhbml0aXplIiwid2hpdGVMaXN0Iiwic2FuaXRpemVGbiJdLEd0PXthbmltYXRpb246ImJvb2xlYW4iLHRlbXBsYXRlOiJzdHJpbmciLHRpdGxlOiIoc3RyaW5nfGVsZW1lbnR8ZnVuY3Rpb24pIix0cmlnZ2VyOiJzdHJpbmciLGRlbGF5OiIobnVtYmVyfG9iamVjdCkiLGh0bWw6ImJvb2xlYW4iLHNlbGVjdG9yOiIoc3RyaW5nfGJvb2xlYW4pIixwbGFjZW1lbnQ6IihzdHJpbmd8ZnVuY3Rpb24pIixvZmZzZXQ6IihudW1iZXJ8c3RyaW5nfGZ1bmN0aW9uKSIsY29udGFpbmVyOiIoc3RyaW5nfGVsZW1lbnR8Ym9vbGVhbikiLGZhbGxiYWNrUGxhY2VtZW50OiIoc3RyaW5nfGFycmF5KSIsYm91bmRhcnk6IihzdHJpbmd8ZWxlbWVudCkiLHNhbml0aXplOiJib29sZWFuIixzYW5pdGl6ZUZuOiIobnVsbHxmdW5jdGlvbikiLHdoaXRlTGlzdDoib2JqZWN0Iixwb3BwZXJDb25maWc6IihudWxsfG9iamVjdCkifSwkdD17QVVUTzoiYXV0byIsVE9QOiJ0b3AiLFJJR0hUOiJyaWdodCIsQk9UVE9NOiJib3R0b20iLExFRlQ6ImxlZnQifSxKdD17YW5pbWF0aW9uOiEwLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJ0b29sdGlwIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PGRpdiBjbGFzcz0idG9vbHRpcC1pbm5lciI+PC9kaXY+PC9kaXY+Jyx0cmlnZ2VyOiJob3ZlciBmb2N1cyIsdGl0bGU6IiIsZGVsYXk6MCxodG1sOiExLHNlbGVjdG9yOiExLHBsYWNlbWVudDoidG9wIixvZmZzZXQ6MCxjb250YWluZXI6ITEsZmFsbGJhY2tQbGFjZW1lbnQ6ImZsaXAiLGJvdW5kYXJ5OiJzY3JvbGxQYXJlbnQiLHNhbml0aXplOiEwLHNhbml0aXplRm46bnVsbCx3aGl0ZUxpc3Q6UXQscG9wcGVyQ29uZmlnOm51bGx9LFp0PXtISURFOiJoaWRlLmJzLnRvb2x0aXAiLEhJRERFTjoiaGlkZGVuLmJzLnRvb2x0aXAiLFNIT1c6InNob3cuYnMudG9vbHRpcCIsU0hPV046InNob3duLmJzLnRvb2x0aXAiLElOU0VSVEVEOiJpbnNlcnRlZC5icy50b29sdGlwIixDTElDSzoiY2xpY2suYnMudG9vbHRpcCIsRk9DVVNJTjoiZm9jdXNpbi5icy50b29sdGlwIixGT0NVU09VVDoiZm9jdXNvdXQuYnMudG9vbHRpcCIsTU9VU0VFTlRFUjoibW91c2VlbnRlci5icy50b29sdGlwIixNT1VTRUxFQVZFOiJtb3VzZWxlYXZlLmJzLnRvb2x0aXAifSx0ZT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIEl0KXRocm93IG5ldyBUeXBlRXJyb3IoIkJvb3RzdHJhcCdzIHRvb2x0aXBzIHJlcXVpcmUgUG9wcGVyLmpzIChodHRwczovL3BvcHBlci5qcy5vcmcvKSIpO3RoaXMuX2lzRW5hYmxlZD0hMCx0aGlzLl90aW1lb3V0PTAsdGhpcy5faG92ZXJTdGF0ZT0iIix0aGlzLl9hY3RpdmVUcmlnZ2VyPXt9LHRoaXMuX3BvcHBlcj1udWxsLHRoaXMuZWxlbWVudD10LHRoaXMuY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLnRpcD1udWxsLHRoaXMuX3NldExpc3RlbmVycygpfXZhciBlPXQucHJvdG90eXBlO3JldHVybiBlLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuX2lzRW5hYmxlZD0hMH0sZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5faXNFbmFibGVkPSExfSxlLnRvZ2dsZUVuYWJsZWQ9ZnVuY3Rpb24oKXt0aGlzLl9pc0VuYWJsZWQ9IXRoaXMuX2lzRW5hYmxlZH0sZS50b2dnbGU9ZnVuY3Rpb24odCl7aWYodGhpcy5faXNFbmFibGVkKWlmKHQpe3ZhciBlPXRoaXMuY29uc3RydWN0b3IuREFUQV9LRVksbj1pLmRlZmF1bHQodC5jdXJyZW50VGFyZ2V0KS5kYXRhKGUpO258fChuPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHQuY3VycmVudFRhcmdldCx0aGlzLl9nZXREZWxlZ2F0ZUNvbmZpZygpKSxpLmRlZmF1bHQodC5jdXJyZW50VGFyZ2V0KS5kYXRhKGUsbikpLG4uX2FjdGl2ZVRyaWdnZXIuY2xpY2s9IW4uX2FjdGl2ZVRyaWdnZXIuY2xpY2ssbi5faXNXaXRoQWN0aXZlVHJpZ2dlcigpP24uX2VudGVyKG51bGwsbik6bi5fbGVhdmUobnVsbCxuKX1lbHNle2lmKGkuZGVmYXVsdCh0aGlzLmdldFRpcEVsZW1lbnQoKSkuaGFzQ2xhc3MoInNob3ciKSlyZXR1cm4gdm9pZCB0aGlzLl9sZWF2ZShudWxsLHRoaXMpO3RoaXMuX2VudGVyKG51bGwsdGhpcyl9fSxlLmRpc3Bvc2U9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCksaS5kZWZhdWx0LnJlbW92ZURhdGEodGhpcy5lbGVtZW50LHRoaXMuY29uc3RydWN0b3IuREFUQV9LRVkpLGkuZGVmYXVsdCh0aGlzLmVsZW1lbnQpLm9mZih0aGlzLmNvbnN0cnVjdG9yLkVWRU5UX0tFWSksaS5kZWZhdWx0KHRoaXMuZWxlbWVudCkuY2xvc2VzdCgiLm1vZGFsIikub2ZmKCJoaWRlLmJzLm1vZGFsIix0aGlzLl9oaWRlTW9kYWxIYW5kbGVyKSx0aGlzLnRpcCYmaS5kZWZhdWx0KHRoaXMudGlwKS5yZW1vdmUoKSx0aGlzLl9pc0VuYWJsZWQ9bnVsbCx0aGlzLl90aW1lb3V0PW51bGwsdGhpcy5faG92ZXJTdGF0ZT1udWxsLHRoaXMuX2FjdGl2ZVRyaWdnZXI9bnVsbCx0aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5kZXN0cm95KCksdGhpcy5fcG9wcGVyPW51bGwsdGhpcy5lbGVtZW50PW51bGwsdGhpcy5jb25maWc9bnVsbCx0aGlzLnRpcD1udWxsfSxlLnNob3c9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKCJub25lIj09PWkuZGVmYXVsdCh0aGlzLmVsZW1lbnQpLmNzcygiZGlzcGxheSIpKXRocm93IG5ldyBFcnJvcigiUGxlYXNlIHVzZSBzaG93IG9uIHZpc2libGUgZWxlbWVudHMiKTt2YXIgZT1pLmRlZmF1bHQuRXZlbnQodGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5TSE9XKTtpZih0aGlzLmlzV2l0aENvbnRlbnQoKSYmdGhpcy5faXNFbmFibGVkKXtpLmRlZmF1bHQodGhpcy5lbGVtZW50KS50cmlnZ2VyKGUpO3ZhciBuPWwuZmluZFNoYWRvd1Jvb3QodGhpcy5lbGVtZW50KSxvPWkuZGVmYXVsdC5jb250YWlucyhudWxsIT09bj9uOnRoaXMuZWxlbWVudC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLmVsZW1lbnQpO2lmKGUuaXNEZWZhdWx0UHJldmVudGVkKCl8fCFvKXJldHVybjt2YXIgcj10aGlzLmdldFRpcEVsZW1lbnQoKSxhPWwuZ2V0VUlEKHRoaXMuY29uc3RydWN0b3IuTkFNRSk7ci5zZXRBdHRyaWJ1dGUoImlkIixhKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWRlc2NyaWJlZGJ5IixhKSx0aGlzLnNldENvbnRlbnQoKSx0aGlzLmNvbmZpZy5hbmltYXRpb24mJmkuZGVmYXVsdChyKS5hZGRDbGFzcygiZmFkZSIpO3ZhciBzPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmNvbmZpZy5wbGFjZW1lbnQ/dGhpcy5jb25maWcucGxhY2VtZW50LmNhbGwodGhpcyxyLHRoaXMuZWxlbWVudCk6dGhpcy5jb25maWcucGxhY2VtZW50LHU9dGhpcy5fZ2V0QXR0YWNobWVudChzKTt0aGlzLmFkZEF0dGFjaG1lbnRDbGFzcyh1KTt2YXIgZj10aGlzLl9nZXRDb250YWluZXIoKTtpLmRlZmF1bHQocikuZGF0YSh0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZLHRoaXMpLGkuZGVmYXVsdC5jb250YWlucyh0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy50aXApfHxpLmRlZmF1bHQocikuYXBwZW5kVG8oZiksaS5kZWZhdWx0KHRoaXMuZWxlbWVudCkudHJpZ2dlcih0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LklOU0VSVEVEKSx0aGlzLl9wb3BwZXI9bmV3IEl0KHRoaXMuZWxlbWVudCxyLHRoaXMuX2dldFBvcHBlckNvbmZpZyh1KSksaS5kZWZhdWx0KHIpLmFkZENsYXNzKCJzaG93IiksIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmkuZGVmYXVsdChkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigpLm9uKCJtb3VzZW92ZXIiLG51bGwsaS5kZWZhdWx0Lm5vb3ApO3ZhciBkPWZ1bmN0aW9uKCl7dC5jb25maWcuYW5pbWF0aW9uJiZ0Ll9maXhUcmFuc2l0aW9uKCk7dmFyIGU9dC5faG92ZXJTdGF0ZTt0Ll9ob3ZlclN0YXRlPW51bGwsaS5kZWZhdWx0KHQuZWxlbWVudCkudHJpZ2dlcih0LmNvbnN0cnVjdG9yLkV2ZW50LlNIT1dOKSwib3V0Ij09PWUmJnQuX2xlYXZlKG51bGwsdCl9O2lmKGkuZGVmYXVsdCh0aGlzLnRpcCkuaGFzQ2xhc3MoImZhZGUiKSl7dmFyIGM9bC5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLnRpcCk7aS5kZWZhdWx0KHRoaXMudGlwKS5vbmUobC5UUkFOU0lUSU9OX0VORCxkKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjKX1lbHNlIGQoKX19LGUuaGlkZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy5nZXRUaXBFbGVtZW50KCksbz1pLmRlZmF1bHQuRXZlbnQodGhpcy5jb25zdHJ1Y3Rvci5FdmVudC5ISURFKSxyPWZ1bmN0aW9uKCl7InNob3ciIT09ZS5faG92ZXJTdGF0ZSYmbi5wYXJlbnROb2RlJiZuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksZS5fY2xlYW5UaXBDbGFzcygpLGUuZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtZGVzY3JpYmVkYnkiKSxpLmRlZmF1bHQoZS5lbGVtZW50KS50cmlnZ2VyKGUuY29uc3RydWN0b3IuRXZlbnQuSElEREVOKSxudWxsIT09ZS5fcG9wcGVyJiZlLl9wb3BwZXIuZGVzdHJveSgpLHQmJnQoKX07aWYoaS5kZWZhdWx0KHRoaXMuZWxlbWVudCkudHJpZ2dlcihvKSwhby5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7aWYoaS5kZWZhdWx0KG4pLnJlbW92ZUNsYXNzKCJzaG93IiksIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmkuZGVmYXVsdChkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigpLm9mZigibW91c2VvdmVyIixudWxsLGkuZGVmYXVsdC5ub29wKSx0aGlzLl9hY3RpdmVUcmlnZ2VyLmNsaWNrPSExLHRoaXMuX2FjdGl2ZVRyaWdnZXIuZm9jdXM9ITEsdGhpcy5fYWN0aXZlVHJpZ2dlci5ob3Zlcj0hMSxpLmRlZmF1bHQodGhpcy50aXApLmhhc0NsYXNzKCJmYWRlIikpe3ZhciBhPWwuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQobik7aS5kZWZhdWx0KG4pLm9uZShsLlRSQU5TSVRJT05fRU5ELHIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGEpfWVsc2UgcigpO3RoaXMuX2hvdmVyU3RhdGU9IiJ9fSxlLnVwZGF0ZT1mdW5jdGlvbigpe251bGwhPT10aGlzLl9wb3BwZXImJnRoaXMuX3BvcHBlci5zY2hlZHVsZVVwZGF0ZSgpfSxlLmlzV2l0aENvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gQm9vbGVhbih0aGlzLmdldFRpdGxlKCkpfSxlLmFkZEF0dGFjaG1lbnRDbGFzcz1mdW5jdGlvbih0KXtpLmRlZmF1bHQodGhpcy5nZXRUaXBFbGVtZW50KCkpLmFkZENsYXNzKCJicy10b29sdGlwLSIrdCl9LGUuZ2V0VGlwRWxlbWVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRpcD10aGlzLnRpcHx8aS5kZWZhdWx0KHRoaXMuY29uZmlnLnRlbXBsYXRlKVswXSx0aGlzLnRpcH0sZS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRUaXBFbGVtZW50KCk7dGhpcy5zZXRFbGVtZW50Q29udGVudChpLmRlZmF1bHQodC5xdWVyeVNlbGVjdG9yQWxsKCIudG9vbHRpcC1pbm5lciIpKSx0aGlzLmdldFRpdGxlKCkpLGkuZGVmYXVsdCh0KS5yZW1vdmVDbGFzcygiZmFkZSBzaG93Iil9LGUuc2V0RWxlbWVudENvbnRlbnQ9ZnVuY3Rpb24odCxlKXsib2JqZWN0IiE9dHlwZW9mIGV8fCFlLm5vZGVUeXBlJiYhZS5qcXVlcnk/dGhpcy5jb25maWcuaHRtbD8odGhpcy5jb25maWcuc2FuaXRpemUmJihlPVZ0KGUsdGhpcy5jb25maWcud2hpdGVMaXN0LHRoaXMuY29uZmlnLnNhbml0aXplRm4pKSx0Lmh0bWwoZSkpOnQudGV4dChlKTp0aGlzLmNvbmZpZy5odG1sP2kuZGVmYXVsdChlKS5wYXJlbnQoKS5pcyh0KXx8dC5lbXB0eSgpLmFwcGVuZChlKTp0LnRleHQoaS5kZWZhdWx0KGUpLnRleHQoKSl9LGUuZ2V0VGl0bGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLW9yaWdpbmFsLXRpdGxlIik7cmV0dXJuIHR8fCh0PSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmNvbmZpZy50aXRsZT90aGlzLmNvbmZpZy50aXRsZS5jYWxsKHRoaXMuZWxlbWVudCk6dGhpcy5jb25maWcudGl0bGUpLHR9LGUuX2dldFBvcHBlckNvbmZpZz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiBhKHt9LHtwbGFjZW1lbnQ6dCxtb2RpZmllcnM6e29mZnNldDp0aGlzLl9nZXRPZmZzZXQoKSxmbGlwOntiZWhhdmlvcjp0aGlzLmNvbmZpZy5mYWxsYmFja1BsYWNlbWVudH0sYXJyb3c6e2VsZW1lbnQ6Ii5hcnJvdyJ9LHByZXZlbnRPdmVyZmxvdzp7Ym91bmRhcmllc0VsZW1lbnQ6dGhpcy5jb25maWcuYm91bmRhcnl9fSxvbkNyZWF0ZTpmdW5jdGlvbih0KXt0Lm9yaWdpbmFsUGxhY2VtZW50IT09dC5wbGFjZW1lbnQmJmUuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZSh0KX0sb25VcGRhdGU6ZnVuY3Rpb24odCl7cmV0dXJuIGUuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZSh0KX19LHRoaXMuY29uZmlnLnBvcHBlckNvbmZpZyl9LGUuX2dldE9mZnNldD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT17fTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5jb25maWcub2Zmc2V0P2UuZm49ZnVuY3Rpb24oZSl7cmV0dXJuIGUub2Zmc2V0cz1hKHt9LGUub2Zmc2V0cyx0LmNvbmZpZy5vZmZzZXQoZS5vZmZzZXRzLHQuZWxlbWVudCl8fHt9KSxlfTplLm9mZnNldD10aGlzLmNvbmZpZy5vZmZzZXQsZX0sZS5fZ2V0Q29udGFpbmVyPWZ1bmN0aW9uKCl7cmV0dXJuITE9PT10aGlzLmNvbmZpZy5jb250YWluZXI/ZG9jdW1lbnQuYm9keTpsLmlzRWxlbWVudCh0aGlzLmNvbmZpZy5jb250YWluZXIpP2kuZGVmYXVsdCh0aGlzLmNvbmZpZy5jb250YWluZXIpOmkuZGVmYXVsdChkb2N1bWVudCkuZmluZCh0aGlzLmNvbmZpZy5jb250YWluZXIpfSxlLl9nZXRBdHRhY2htZW50PWZ1bmN0aW9uKHQpe3JldHVybiAkdFt0LnRvVXBwZXJDYXNlKCldfSxlLl9zZXRMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuY29uZmlnLnRyaWdnZXIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZigiY2xpY2siPT09ZSlpLmRlZmF1bHQodC5lbGVtZW50KS5vbih0LmNvbnN0cnVjdG9yLkV2ZW50LkNMSUNLLHQuY29uZmlnLnNlbGVjdG9yLChmdW5jdGlvbihlKXtyZXR1cm4gdC50b2dnbGUoZSl9KSk7ZWxzZSBpZigibWFudWFsIiE9PWUpe3ZhciBuPSJob3ZlciI9PT1lP3QuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VFTlRFUjp0LmNvbnN0cnVjdG9yLkV2ZW50LkZPQ1VTSU4sbz0iaG92ZXIiPT09ZT90LmNvbnN0cnVjdG9yLkV2ZW50Lk1PVVNFTEVBVkU6dC5jb25zdHJ1Y3Rvci5FdmVudC5GT0NVU09VVDtpLmRlZmF1bHQodC5lbGVtZW50KS5vbihuLHQuY29uZmlnLnNlbGVjdG9yLChmdW5jdGlvbihlKXtyZXR1cm4gdC5fZW50ZXIoZSl9KSkub24obyx0LmNvbmZpZy5zZWxlY3RvciwoZnVuY3Rpb24oZSl7cmV0dXJuIHQuX2xlYXZlKGUpfSkpfX0pKSx0aGlzLl9oaWRlTW9kYWxIYW5kbGVyPWZ1bmN0aW9uKCl7dC5lbGVtZW50JiZ0LmhpZGUoKX0saS5kZWZhdWx0KHRoaXMuZWxlbWVudCkuY2xvc2VzdCgiLm1vZGFsIikub24oImhpZGUuYnMubW9kYWwiLHRoaXMuX2hpZGVNb2RhbEhhbmRsZXIpLHRoaXMuY29uZmlnLnNlbGVjdG9yP3RoaXMuY29uZmlnPWEoe30sdGhpcy5jb25maWcse3RyaWdnZXI6Im1hbnVhbCIsc2VsZWN0b3I6IiJ9KTp0aGlzLl9maXhUaXRsZSgpfSxlLl9maXhUaXRsZT1mdW5jdGlvbigpe3ZhciB0PXR5cGVvZiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLW9yaWdpbmFsLXRpdGxlIik7KHRoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUoInRpdGxlIil8fCJzdHJpbmciIT09dCkmJih0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJkYXRhLW9yaWdpbmFsLXRpdGxlIix0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpfHwiIiksdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgidGl0bGUiLCIiKSl9LGUuX2VudGVyPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWTsoZT1lfHxpLmRlZmF1bHQodC5jdXJyZW50VGFyZ2V0KS5kYXRhKG4pKXx8KGU9bmV3IHRoaXMuY29uc3RydWN0b3IodC5jdXJyZW50VGFyZ2V0LHRoaXMuX2dldERlbGVnYXRlQ29uZmlnKCkpLGkuZGVmYXVsdCh0LmN1cnJlbnRUYXJnZXQpLmRhdGEobixlKSksdCYmKGUuX2FjdGl2ZVRyaWdnZXJbImZvY3VzaW4iPT09dC50eXBlPyJmb2N1cyI6ImhvdmVyIl09ITApLGkuZGVmYXVsdChlLmdldFRpcEVsZW1lbnQoKSkuaGFzQ2xhc3MoInNob3ciKXx8InNob3ciPT09ZS5faG92ZXJTdGF0ZT9lLl9ob3ZlclN0YXRlPSJzaG93IjooY2xlYXJUaW1lb3V0KGUuX3RpbWVvdXQpLGUuX2hvdmVyU3RhdGU9InNob3ciLGUuY29uZmlnLmRlbGF5JiZlLmNvbmZpZy5kZWxheS5zaG93P2UuX3RpbWVvdXQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXsic2hvdyI9PT1lLl9ob3ZlclN0YXRlJiZlLnNob3coKX0pLGUuY29uZmlnLmRlbGF5LnNob3cpOmUuc2hvdygpKX0sZS5fbGVhdmU9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZOyhlPWV8fGkuZGVmYXVsdCh0LmN1cnJlbnRUYXJnZXQpLmRhdGEobikpfHwoZT1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0LmN1cnJlbnRUYXJnZXQsdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSksaS5kZWZhdWx0KHQuY3VycmVudFRhcmdldCkuZGF0YShuLGUpKSx0JiYoZS5fYWN0aXZlVHJpZ2dlclsiZm9jdXNvdXQiPT09dC50eXBlPyJmb2N1cyI6ImhvdmVyIl09ITEpLGUuX2lzV2l0aEFjdGl2ZVRyaWdnZXIoKXx8KGNsZWFyVGltZW91dChlLl90aW1lb3V0KSxlLl9ob3ZlclN0YXRlPSJvdXQiLGUuY29uZmlnLmRlbGF5JiZlLmNvbmZpZy5kZWxheS5oaWRlP2UuX3RpbWVvdXQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXsib3V0Ij09PWUuX2hvdmVyU3RhdGUmJmUuaGlkZSgpfSksZS5jb25maWcuZGVsYXkuaGlkZSk6ZS5oaWRlKCkpfSxlLl9pc1dpdGhBY3RpdmVUcmlnZ2VyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuX2FjdGl2ZVRyaWdnZXIpaWYodGhpcy5fYWN0aXZlVHJpZ2dlclt0XSlyZXR1cm4hMDtyZXR1cm4hMX0sZS5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe3ZhciBlPWkuZGVmYXVsdCh0aGlzLmVsZW1lbnQpLmRhdGEoKTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7LTEhPT1LdC5pbmRleE9mKHQpJiZkZWxldGUgZVt0XX0pKSwibnVtYmVyIj09dHlwZW9mKHQ9YSh7fSx0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHQsZSwib2JqZWN0Ij09dHlwZW9mIHQmJnQ/dDp7fSkpLmRlbGF5JiYodC5kZWxheT17c2hvdzp0LmRlbGF5LGhpZGU6dC5kZWxheX0pLCJudW1iZXIiPT10eXBlb2YgdC50aXRsZSYmKHQudGl0bGU9dC50aXRsZS50b1N0cmluZygpKSwibnVtYmVyIj09dHlwZW9mIHQuY29udGVudCYmKHQuY29udGVudD10LmNvbnRlbnQudG9TdHJpbmcoKSksbC50eXBlQ2hlY2tDb25maWcoWXQsdCx0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRUeXBlKSx0LnNhbml0aXplJiYodC50ZW1wbGF0ZT1WdCh0LnRlbXBsYXRlLHQud2hpdGVMaXN0LHQuc2FuaXRpemVGbikpLHR9LGUuX2dldERlbGVnYXRlQ29uZmlnPWZ1bmN0aW9uKCl7dmFyIHQ9e307aWYodGhpcy5jb25maWcpZm9yKHZhciBlIGluIHRoaXMuY29uZmlnKXRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFtlXSE9PXRoaXMuY29uZmlnW2VdJiYodFtlXT10aGlzLmNvbmZpZ1tlXSk7cmV0dXJuIHR9LGUuX2NsZWFuVGlwQ2xhc3M9ZnVuY3Rpb24oKXt2YXIgdD1pLmRlZmF1bHQodGhpcy5nZXRUaXBFbGVtZW50KCkpLGU9dC5hdHRyKCJjbGFzcyIpLm1hdGNoKFh0KTtudWxsIT09ZSYmZS5sZW5ndGgmJnQucmVtb3ZlQ2xhc3MoZS5qb2luKCIiKSl9LGUuX2hhbmRsZVBvcHBlclBsYWNlbWVudENoYW5nZT1mdW5jdGlvbih0KXt0aGlzLnRpcD10Lmluc3RhbmNlLnBvcHBlcix0aGlzLl9jbGVhblRpcENsYXNzKCksdGhpcy5hZGRBdHRhY2htZW50Q2xhc3ModGhpcy5fZ2V0QXR0YWNobWVudCh0LnBsYWNlbWVudCkpfSxlLl9maXhUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRUaXBFbGVtZW50KCksZT10aGlzLmNvbmZpZy5hbmltYXRpb247bnVsbD09PXQuZ2V0QXR0cmlidXRlKCJ4LXBsYWNlbWVudCIpJiYoaS5kZWZhdWx0KHQpLnJlbW92ZUNsYXNzKCJmYWRlIiksdGhpcy5jb25maWcuYW5pbWF0aW9uPSExLHRoaXMuaGlkZSgpLHRoaXMuc2hvdygpLHRoaXMuY29uZmlnLmFuaW1hdGlvbj1lKX0sdC5falF1ZXJ5SW50ZXJmYWNlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goKGZ1bmN0aW9uKCl7dmFyIG49aS5kZWZhdWx0KHRoaXMpLG89bi5kYXRhKCJicy50b29sdGlwIikscj0ib2JqZWN0Ij09dHlwZW9mIGUmJmU7aWYoKG98fCEvZGlzcG9zZXxoaWRlLy50ZXN0KGUpKSYmKG98fChvPW5ldyB0KHRoaXMsciksbi5kYXRhKCJicy50b29sdGlwIixvKSksInN0cmluZyI9PXR5cGVvZiBlKSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBvW2VdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytlKyciJyk7b1tlXSgpfX0pKX0scih0LG51bGwsW3trZXk6IlZFUlNJT04iLGdldDpmdW5jdGlvbigpe3JldHVybiI0LjUuMyJ9fSx7a2V5OiJEZWZhdWx0IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gSnR9fSx7a2V5OiJOQU1FIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWXR9fSx7a2V5OiJEQVRBX0tFWSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuImJzLnRvb2x0aXAifX0se2tleToiRXZlbnQiLGdldDpmdW5jdGlvbigpe3JldHVybiBadH19LHtrZXk6IkVWRU5UX0tFWSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIi5icy50b29sdGlwIn19LHtrZXk6IkRlZmF1bHRUeXBlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gR3R9fV0pLHR9KCk7aS5kZWZhdWx0LmZuW1l0XT10ZS5falF1ZXJ5SW50ZXJmYWNlLGkuZGVmYXVsdC5mbltZdF0uQ29uc3RydWN0b3I9dGUsaS5kZWZhdWx0LmZuW1l0XS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGkuZGVmYXVsdC5mbltZdF09enQsdGUuX2pRdWVyeUludGVyZmFjZX07dmFyIGVlPSJwb3BvdmVyIixuZT1pLmRlZmF1bHQuZm5bZWVdLGllPW5ldyBSZWdFeHAoIihefFxccylicy1wb3BvdmVyXFxTKyIsImciKSxvZT1hKHt9LHRlLkRlZmF1bHQse3BsYWNlbWVudDoicmlnaHQiLHRyaWdnZXI6ImNsaWNrIixjb250ZW50OiIiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJwb3BvdmVyIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PGgzIGNsYXNzPSJwb3BvdmVyLWhlYWRlciI+PC9oMz48ZGl2IGNsYXNzPSJwb3BvdmVyLWJvZHkiPjwvZGl2PjwvZGl2Pid9KSxyZT1hKHt9LHRlLkRlZmF1bHRUeXBlLHtjb250ZW50OiIoc3RyaW5nfGVsZW1lbnR8ZnVuY3Rpb24pIn0pLGFlPXtISURFOiJoaWRlLmJzLnBvcG92ZXIiLEhJRERFTjoiaGlkZGVuLmJzLnBvcG92ZXIiLFNIT1c6InNob3cuYnMucG9wb3ZlciIsU0hPV046InNob3duLmJzLnBvcG92ZXIiLElOU0VSVEVEOiJpbnNlcnRlZC5icy5wb3BvdmVyIixDTElDSzoiY2xpY2suYnMucG9wb3ZlciIsRk9DVVNJTjoiZm9jdXNpbi5icy5wb3BvdmVyIixGT0NVU09VVDoiZm9jdXNvdXQuYnMucG9wb3ZlciIsTU9VU0VFTlRFUjoibW91c2VlbnRlci5icy5wb3BvdmVyIixNT1VTRUxFQVZFOiJtb3VzZWxlYXZlLmJzLnBvcG92ZXIifSxzZT1mdW5jdGlvbih0KXt2YXIgZSxuO2Z1bmN0aW9uIG8oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9bj10LChlPW8pLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUuX19wcm90b19fPW47dmFyIGE9by5wcm90b3R5cGU7cmV0dXJuIGEuaXNXaXRoQ29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl8fHRoaXMuX2dldENvbnRlbnQoKX0sYS5hZGRBdHRhY2htZW50Q2xhc3M9ZnVuY3Rpb24odCl7aS5kZWZhdWx0KHRoaXMuZ2V0VGlwRWxlbWVudCgpKS5hZGRDbGFzcygiYnMtcG9wb3Zlci0iK3QpfSxhLmdldFRpcEVsZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aXA9dGhpcy50aXB8fGkuZGVmYXVsdCh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF0sdGhpcy50aXB9LGEuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciB0PWkuZGVmYXVsdCh0aGlzLmdldFRpcEVsZW1lbnQoKSk7dGhpcy5zZXRFbGVtZW50Q29udGVudCh0LmZpbmQoIi5wb3BvdmVyLWhlYWRlciIpLHRoaXMuZ2V0VGl0bGUoKSk7dmFyIGU9dGhpcy5fZ2V0Q29udGVudCgpOyJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1lLmNhbGwodGhpcy5lbGVtZW50KSksdGhpcy5zZXRFbGVtZW50Q29udGVudCh0LmZpbmQoIi5wb3BvdmVyLWJvZHkiKSxlKSx0LnJlbW92ZUNsYXNzKCJmYWRlIHNob3ciKX0sYS5fZ2V0Q29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLWNvbnRlbnQiKXx8dGhpcy5jb25maWcuY29udGVudH0sYS5fY2xlYW5UaXBDbGFzcz1mdW5jdGlvbigpe3ZhciB0PWkuZGVmYXVsdCh0aGlzLmdldFRpcEVsZW1lbnQoKSksZT10LmF0dHIoImNsYXNzIikubWF0Y2goaWUpO251bGwhPT1lJiZlLmxlbmd0aD4wJiZ0LnJlbW92ZUNsYXNzKGUuam9pbigiIikpfSxvLl9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt2YXIgZT1pLmRlZmF1bHQodGhpcykuZGF0YSgiYnMucG9wb3ZlciIpLG49Im9iamVjdCI9PXR5cGVvZiB0P3Q6bnVsbDtpZigoZXx8IS9kaXNwb3NlfGhpZGUvLnRlc3QodCkpJiYoZXx8KGU9bmV3IG8odGhpcyxuKSxpLmRlZmF1bHQodGhpcykuZGF0YSgiYnMucG9wb3ZlciIsZSkpLCJzdHJpbmciPT10eXBlb2YgdCkpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgZVt0XSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrdCsnIicpO2VbdF0oKX19KSl9LHIobyxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC41LjMifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG9lfX0se2tleToiTkFNRSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGVlfX0se2tleToiREFUQV9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiJicy5wb3BvdmVyIn19LHtrZXk6IkV2ZW50IixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYWV9fSx7a2V5OiJFVkVOVF9LRVkiLGdldDpmdW5jdGlvbigpe3JldHVybiIuYnMucG9wb3ZlciJ9fSx7a2V5OiJEZWZhdWx0VHlwZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJlfX1dKSxvfSh0ZSk7aS5kZWZhdWx0LmZuW2VlXT1zZS5falF1ZXJ5SW50ZXJmYWNlLGkuZGVmYXVsdC5mbltlZV0uQ29uc3RydWN0b3I9c2UsaS5kZWZhdWx0LmZuW2VlXS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGkuZGVmYXVsdC5mbltlZV09bmUsc2UuX2pRdWVyeUludGVyZmFjZX07dmFyIGxlPSJzY3JvbGxzcHkiLHVlPWkuZGVmYXVsdC5mbltsZV0sZmU9e29mZnNldDoxMCxtZXRob2Q6ImF1dG8iLHRhcmdldDoiIn0sZGU9e29mZnNldDoibnVtYmVyIixtZXRob2Q6InN0cmluZyIsdGFyZ2V0OiIoc3RyaW5nfGVsZW1lbnQpIn0sY2U9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSl7dmFyIG49dGhpczt0aGlzLl9lbGVtZW50PXQsdGhpcy5fc2Nyb2xsRWxlbWVudD0iQk9EWSI9PT10LnRhZ05hbWU/d2luZG93OnQsdGhpcy5fY29uZmlnPXRoaXMuX2dldENvbmZpZyhlKSx0aGlzLl9zZWxlY3Rvcj10aGlzLl9jb25maWcudGFyZ2V0KyIgLm5hdi1saW5rLCIrdGhpcy5fY29uZmlnLnRhcmdldCsiIC5saXN0LWdyb3VwLWl0ZW0sIit0aGlzLl9jb25maWcudGFyZ2V0KyIgLmRyb3Bkb3duLWl0ZW0iLHRoaXMuX29mZnNldHM9W10sdGhpcy5fdGFyZ2V0cz1bXSx0aGlzLl9hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLl9zY3JvbGxIZWlnaHQ9MCxpLmRlZmF1bHQodGhpcy5fc2Nyb2xsRWxlbWVudCkub24oInNjcm9sbC5icy5zY3JvbGxzcHkiLChmdW5jdGlvbih0KXtyZXR1cm4gbi5fcHJvY2Vzcyh0KX0pKSx0aGlzLnJlZnJlc2goKSx0aGlzLl9wcm9jZXNzKCl9dmFyIGU9dC5wcm90b3R5cGU7cmV0dXJuIGUucmVmcmVzaD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9zY3JvbGxFbGVtZW50PT09dGhpcy5fc2Nyb2xsRWxlbWVudC53aW5kb3c/Im9mZnNldCI6InBvc2l0aW9uIixuPSJhdXRvIj09PXRoaXMuX2NvbmZpZy5tZXRob2Q/ZTp0aGlzLl9jb25maWcubWV0aG9kLG89InBvc2l0aW9uIj09PW4/dGhpcy5fZ2V0U2Nyb2xsVG9wKCk6MDt0aGlzLl9vZmZzZXRzPVtdLHRoaXMuX3RhcmdldHM9W10sdGhpcy5fc2Nyb2xsSGVpZ2h0PXRoaXMuX2dldFNjcm9sbEhlaWdodCgpLFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0aGlzLl9zZWxlY3RvcikpLm1hcCgoZnVuY3Rpb24odCl7dmFyIGUscj1sLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodCk7aWYociYmKGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihyKSksZSl7dmFyIGE9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihhLndpZHRofHxhLmhlaWdodClyZXR1cm5baS5kZWZhdWx0KGUpW25dKCkudG9wK28scl19cmV0dXJuIG51bGx9KSkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0WzBdLWVbMF19KSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dC5fb2Zmc2V0cy5wdXNoKGVbMF0pLHQuX3RhcmdldHMucHVzaChlWzFdKX0pKX0sZS5kaXNwb3NlPWZ1bmN0aW9uKCl7aS5kZWZhdWx0LnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwiYnMuc2Nyb2xsc3B5IiksaS5kZWZhdWx0KHRoaXMuX3Njcm9sbEVsZW1lbnQpLm9mZigiLmJzLnNjcm9sbHNweSIpLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9zY3JvbGxFbGVtZW50PW51bGwsdGhpcy5fY29uZmlnPW51bGwsdGhpcy5fc2VsZWN0b3I9bnVsbCx0aGlzLl9vZmZzZXRzPW51bGwsdGhpcy5fdGFyZ2V0cz1udWxsLHRoaXMuX2FjdGl2ZVRhcmdldD1udWxsLHRoaXMuX3Njcm9sbEhlaWdodD1udWxsfSxlLl9nZXRDb25maWc9ZnVuY3Rpb24odCl7aWYoInN0cmluZyIhPXR5cGVvZih0PWEoe30sZmUsIm9iamVjdCI9PXR5cGVvZiB0JiZ0P3Q6e30pKS50YXJnZXQmJmwuaXNFbGVtZW50KHQudGFyZ2V0KSl7dmFyIGU9aS5kZWZhdWx0KHQudGFyZ2V0KS5hdHRyKCJpZCIpO2V8fChlPWwuZ2V0VUlEKGxlKSxpLmRlZmF1bHQodC50YXJnZXQpLmF0dHIoImlkIixlKSksdC50YXJnZXQ9IiMiK2V9cmV0dXJuIGwudHlwZUNoZWNrQ29uZmlnKGxlLHQsZGUpLHR9LGUuX2dldFNjcm9sbFRvcD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zY3JvbGxFbGVtZW50PT09d2luZG93P3RoaXMuX3Njcm9sbEVsZW1lbnQucGFnZVlPZmZzZXQ6dGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3B9LGUuX2dldFNjcm9sbEhlaWdodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zY3JvbGxFbGVtZW50LnNjcm9sbEhlaWdodHx8TWF0aC5tYXgoZG9jdW1lbnQuYm9keS5zY3JvbGxIZWlnaHQsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCl9LGUuX2dldE9mZnNldEhlaWdodD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zY3JvbGxFbGVtZW50PT09d2luZG93P3dpbmRvdy5pbm5lckhlaWdodDp0aGlzLl9zY3JvbGxFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodH0sZS5fcHJvY2Vzcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2dldFNjcm9sbFRvcCgpK3RoaXMuX2NvbmZpZy5vZmZzZXQsZT10aGlzLl9nZXRTY3JvbGxIZWlnaHQoKSxuPXRoaXMuX2NvbmZpZy5vZmZzZXQrZS10aGlzLl9nZXRPZmZzZXRIZWlnaHQoKTtpZih0aGlzLl9zY3JvbGxIZWlnaHQhPT1lJiZ0aGlzLnJlZnJlc2goKSx0Pj1uKXt2YXIgaT10aGlzLl90YXJnZXRzW3RoaXMuX3RhcmdldHMubGVuZ3RoLTFdO3RoaXMuX2FjdGl2ZVRhcmdldCE9PWkmJnRoaXMuX2FjdGl2YXRlKGkpfWVsc2V7aWYodGhpcy5fYWN0aXZlVGFyZ2V0JiZ0PHRoaXMuX29mZnNldHNbMF0mJnRoaXMuX29mZnNldHNbMF0+MClyZXR1cm4gdGhpcy5fYWN0aXZlVGFyZ2V0PW51bGwsdm9pZCB0aGlzLl9jbGVhcigpO2Zvcih2YXIgbz10aGlzLl9vZmZzZXRzLmxlbmd0aDtvLS07KXt0aGlzLl9hY3RpdmVUYXJnZXQhPT10aGlzLl90YXJnZXRzW29dJiZ0Pj10aGlzLl9vZmZzZXRzW29dJiYoInVuZGVmaW5lZCI9PXR5cGVvZiB0aGlzLl9vZmZzZXRzW28rMV18fHQ8dGhpcy5fb2Zmc2V0c1tvKzFdKSYmdGhpcy5fYWN0aXZhdGUodGhpcy5fdGFyZ2V0c1tvXSl9fX0sZS5fYWN0aXZhdGU9ZnVuY3Rpb24odCl7dGhpcy5fYWN0aXZlVGFyZ2V0PXQsdGhpcy5fY2xlYXIoKTt2YXIgZT10aGlzLl9zZWxlY3Rvci5zcGxpdCgiLCIpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUrJ1tkYXRhLXRhcmdldD0iJyt0KyciXSwnK2UrJ1tocmVmPSInK3QrJyJdJ30pKSxuPWkuZGVmYXVsdChbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoZS5qb2luKCIsIikpKSk7bi5oYXNDbGFzcygiZHJvcGRvd24taXRlbSIpPyhuLmNsb3Nlc3QoIi5kcm9wZG93biIpLmZpbmQoIi5kcm9wZG93bi10b2dnbGUiKS5hZGRDbGFzcygiYWN0aXZlIiksbi5hZGRDbGFzcygiYWN0aXZlIikpOihuLmFkZENsYXNzKCJhY3RpdmUiKSxuLnBhcmVudHMoIi5uYXYsIC5saXN0LWdyb3VwIikucHJldigiLm5hdi1saW5rLCAubGlzdC1ncm91cC1pdGVtIikuYWRkQ2xhc3MoImFjdGl2ZSIpLG4ucGFyZW50cygiLm5hdiwgLmxpc3QtZ3JvdXAiKS5wcmV2KCIubmF2LWl0ZW0iKS5jaGlsZHJlbigiLm5hdi1saW5rIikuYWRkQ2xhc3MoImFjdGl2ZSIpKSxpLmRlZmF1bHQodGhpcy5fc2Nyb2xsRWxlbWVudCkudHJpZ2dlcigiYWN0aXZhdGUuYnMuc2Nyb2xsc3B5Iix7cmVsYXRlZFRhcmdldDp0fSl9LGUuX2NsZWFyPWZ1bmN0aW9uKCl7W10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHRoaXMuX3NlbGVjdG9yKSkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jbGFzc0xpc3QuY29udGFpbnMoImFjdGl2ZSIpfSkpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNsYXNzTGlzdC5yZW1vdmUoImFjdGl2ZSIpfSkpfSx0Ll9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt2YXIgbj1pLmRlZmF1bHQodGhpcykuZGF0YSgiYnMuc2Nyb2xsc3B5Iik7aWYobnx8KG49bmV3IHQodGhpcywib2JqZWN0Ij09dHlwZW9mIGUmJmUpLGkuZGVmYXVsdCh0aGlzKS5kYXRhKCJicy5zY3JvbGxzcHkiLG4pKSwic3RyaW5nIj09dHlwZW9mIGUpe2lmKCJ1bmRlZmluZWQiPT10eXBlb2YgbltlXSl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyBtZXRob2QgbmFtZWQgIicrZSsnIicpO25bZV0oKX19KSl9LHIodCxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC41LjMifX0se2tleToiRGVmYXVsdCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZlfX1dKSx0fSgpO2kuZGVmYXVsdCh3aW5kb3cpLm9uKCJsb2FkLmJzLnNjcm9sbHNweS5kYXRhLWFwaSIsKGZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc3B5PSJzY3JvbGwiXScpKSxlPXQubGVuZ3RoO2UtLTspe3ZhciBuPWkuZGVmYXVsdCh0W2VdKTtjZS5falF1ZXJ5SW50ZXJmYWNlLmNhbGwobixuLmRhdGEoKSl9fSkpLGkuZGVmYXVsdC5mbltsZV09Y2UuX2pRdWVyeUludGVyZmFjZSxpLmRlZmF1bHQuZm5bbGVdLkNvbnN0cnVjdG9yPWNlLGkuZGVmYXVsdC5mbltsZV0ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBpLmRlZmF1bHQuZm5bbGVdPXVlLGNlLl9qUXVlcnlJbnRlcmZhY2V9O3ZhciBoZT1pLmRlZmF1bHQuZm4udGFiLHBlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLl9lbGVtZW50PXR9dmFyIGU9dC5wcm90b3R5cGU7cmV0dXJuIGUuc2hvdz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoISh0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUmJnRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZS5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoImFjdGl2ZSIpfHxpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoImRpc2FibGVkIikpKXt2YXIgZSxuLG89aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoIi5uYXYsIC5saXN0LWdyb3VwIilbMF0scj1sLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7aWYobyl7dmFyIGE9IlVMIj09PW8ubm9kZU5hbWV8fCJPTCI9PT1vLm5vZGVOYW1lPyI+IGxpID4gLmFjdGl2ZSI6Ii5hY3RpdmUiO249KG49aS5kZWZhdWx0Lm1ha2VBcnJheShpLmRlZmF1bHQobykuZmluZChhKSkpW24ubGVuZ3RoLTFdfXZhciBzPWkuZGVmYXVsdC5FdmVudCgiaGlkZS5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OnRoaXMuX2VsZW1lbnR9KSx1PWkuZGVmYXVsdC5FdmVudCgic2hvdy5icy50YWIiLHtyZWxhdGVkVGFyZ2V0Om59KTtpZihuJiZpLmRlZmF1bHQobikudHJpZ2dlcihzKSxpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkudHJpZ2dlcih1KSwhdS5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmIXMuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ImJihlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IocikpLHRoaXMuX2FjdGl2YXRlKHRoaXMuX2VsZW1lbnQsbyk7dmFyIGY9ZnVuY3Rpb24oKXt2YXIgZT1pLmRlZmF1bHQuRXZlbnQoImhpZGRlbi5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OnQuX2VsZW1lbnR9KSxvPWkuZGVmYXVsdC5FdmVudCgic2hvd24uYnMudGFiIix7cmVsYXRlZFRhcmdldDpufSk7aS5kZWZhdWx0KG4pLnRyaWdnZXIoZSksaS5kZWZhdWx0KHQuX2VsZW1lbnQpLnRyaWdnZXIobyl9O2U/dGhpcy5fYWN0aXZhdGUoZSxlLnBhcmVudE5vZGUsZik6ZigpfX19LGUuZGlzcG9zZT1mdW5jdGlvbigpe2kuZGVmYXVsdC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsImJzLnRhYiIpLHRoaXMuX2VsZW1lbnQ9bnVsbH0sZS5fYWN0aXZhdGU9ZnVuY3Rpb24odCxlLG4pe3ZhciBvPXRoaXMscj0oIWV8fCJVTCIhPT1lLm5vZGVOYW1lJiYiT0wiIT09ZS5ub2RlTmFtZT9pLmRlZmF1bHQoZSkuY2hpbGRyZW4oIi5hY3RpdmUiKTppLmRlZmF1bHQoZSkuZmluZCgiPiBsaSA+IC5hY3RpdmUiKSlbMF0sYT1uJiZyJiZpLmRlZmF1bHQocikuaGFzQ2xhc3MoImZhZGUiKSxzPWZ1bmN0aW9uKCl7cmV0dXJuIG8uX3RyYW5zaXRpb25Db21wbGV0ZSh0LHIsbil9O2lmKHImJmEpe3ZhciB1PWwuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQocik7aS5kZWZhdWx0KHIpLnJlbW92ZUNsYXNzKCJzaG93Iikub25lKGwuVFJBTlNJVElPTl9FTkQscykuZW11bGF0ZVRyYW5zaXRpb25FbmQodSl9ZWxzZSBzKCl9LGUuX3RyYW5zaXRpb25Db21wbGV0ZT1mdW5jdGlvbih0LGUsbil7aWYoZSl7aS5kZWZhdWx0KGUpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTt2YXIgbz1pLmRlZmF1bHQoZS5wYXJlbnROb2RlKS5maW5kKCI+IC5kcm9wZG93bi1tZW51IC5hY3RpdmUiKVswXTtvJiZpLmRlZmF1bHQobykucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLCJ0YWIiPT09ZS5nZXRBdHRyaWJ1dGUoInJvbGUiKSYmZS5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCExKX1pZihpLmRlZmF1bHQodCkuYWRkQ2xhc3MoImFjdGl2ZSIpLCJ0YWIiPT09dC5nZXRBdHRyaWJ1dGUoInJvbGUiKSYmdC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCEwKSxsLnJlZmxvdyh0KSx0LmNsYXNzTGlzdC5jb250YWlucygiZmFkZSIpJiZ0LmNsYXNzTGlzdC5hZGQoInNob3ciKSx0LnBhcmVudE5vZGUmJmkuZGVmYXVsdCh0LnBhcmVudE5vZGUpLmhhc0NsYXNzKCJkcm9wZG93bi1tZW51Iikpe3ZhciByPWkuZGVmYXVsdCh0KS5jbG9zZXN0KCIuZHJvcGRvd24iKVswXTtpZihyKXt2YXIgYT1bXS5zbGljZS5jYWxsKHIucXVlcnlTZWxlY3RvckFsbCgiLmRyb3Bkb3duLXRvZ2dsZSIpKTtpLmRlZmF1bHQoYSkuYWRkQ2xhc3MoImFjdGl2ZSIpfXQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFuZGVkIiwhMCl9biYmbigpfSx0Ll9qUXVlcnlJbnRlcmZhY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaCgoZnVuY3Rpb24oKXt2YXIgbj1pLmRlZmF1bHQodGhpcyksbz1uLmRhdGEoImJzLnRhYiIpO2lmKG98fChvPW5ldyB0KHRoaXMpLG4uZGF0YSgiYnMudGFiIixvKSksInN0cmluZyI9PXR5cGVvZiBlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIG9bZV0pdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gbWV0aG9kIG5hbWVkICInK2UrJyInKTtvW2VdKCl9fSkpfSxyKHQsbnVsbCxbe2tleToiVkVSU0lPTiIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIjQuNS4zIn19XSksdH0oKTtpLmRlZmF1bHQoZG9jdW1lbnQpLm9uKCJjbGljay5icy50YWIuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9InRhYiJdLCBbZGF0YS10b2dnbGU9InBpbGwiXSwgW2RhdGEtdG9nZ2xlPSJsaXN0Il0nLChmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCkscGUuX2pRdWVyeUludGVyZmFjZS5jYWxsKGkuZGVmYXVsdCh0aGlzKSwic2hvdyIpfSkpLGkuZGVmYXVsdC5mbi50YWI9cGUuX2pRdWVyeUludGVyZmFjZSxpLmRlZmF1bHQuZm4udGFiLkNvbnN0cnVjdG9yPXBlLGkuZGVmYXVsdC5mbi50YWIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBpLmRlZmF1bHQuZm4udGFiPWhlLHBlLl9qUXVlcnlJbnRlcmZhY2V9O3ZhciBtZT1pLmRlZmF1bHQuZm4udG9hc3QsZ2U9e2FuaW1hdGlvbjoiYm9vbGVhbiIsYXV0b2hpZGU6ImJvb2xlYW4iLGRlbGF5OiJudW1iZXIifSx2ZT17YW5pbWF0aW9uOiEwLGF1dG9oaWRlOiEwLGRlbGF5OjUwMH0sX2U9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSl7dGhpcy5fZWxlbWVudD10LHRoaXMuX2NvbmZpZz10aGlzLl9nZXRDb25maWcoZSksdGhpcy5fdGltZW91dD1udWxsLHRoaXMuX3NldExpc3RlbmVycygpfXZhciBlPXQucHJvdG90eXBlO3JldHVybiBlLnNob3c9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9aS5kZWZhdWx0LkV2ZW50KCJzaG93LmJzLnRvYXN0Iik7aWYoaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoZSksIWUuaXNEZWZhdWx0UHJldmVudGVkKCkpe3RoaXMuX2NsZWFyVGltZW91dCgpLHRoaXMuX2NvbmZpZy5hbmltYXRpb24mJnRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgiZmFkZSIpO3ZhciBuPWZ1bmN0aW9uKCl7dC5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJzaG93aW5nIiksdC5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJzaG93IiksaS5kZWZhdWx0KHQuX2VsZW1lbnQpLnRyaWdnZXIoInNob3duLmJzLnRvYXN0IiksdC5fY29uZmlnLmF1dG9oaWRlJiYodC5fdGltZW91dD1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuaGlkZSgpfSksdC5fY29uZmlnLmRlbGF5KSl9O2lmKHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpLGwucmVmbG93KHRoaXMuX2VsZW1lbnQpLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgic2hvd2luZyIpLHRoaXMuX2NvbmZpZy5hbmltYXRpb24pe3ZhciBvPWwuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uZShsLlRSQU5TSVRJT05fRU5ELG4pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKG8pfWVsc2UgbigpfX0sZS5oaWRlPWZ1bmN0aW9uKCl7aWYodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoInNob3ciKSl7dmFyIHQ9aS5kZWZhdWx0LkV2ZW50KCJoaWRlLmJzLnRvYXN0Iik7aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIodCksdC5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8dGhpcy5fY2xvc2UoKX19LGUuZGlzcG9zZT1mdW5jdGlvbigpe3RoaXMuX2NsZWFyVGltZW91dCgpLHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJzaG93IikmJnRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgic2hvdyIpLGkuZGVmYXVsdCh0aGlzLl9lbGVtZW50KS5vZmYoImNsaWNrLmRpc21pc3MuYnMudG9hc3QiKSxpLmRlZmF1bHQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCJicy50b2FzdCIpLHRoaXMuX2VsZW1lbnQ9bnVsbCx0aGlzLl9jb25maWc9bnVsbH0sZS5fZ2V0Q29uZmlnPWZ1bmN0aW9uKHQpe3JldHVybiB0PWEoe30sdmUsaS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIHQmJnQ/dDp7fSksbC50eXBlQ2hlY2tDb25maWcoInRvYXN0Iix0LHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpLHR9LGUuX3NldExpc3RlbmVycz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7aS5kZWZhdWx0KHRoaXMuX2VsZW1lbnQpLm9uKCJjbGljay5kaXNtaXNzLmJzLnRvYXN0IiwnW2RhdGEtZGlzbWlzcz0idG9hc3QiXScsKGZ1bmN0aW9uKCl7cmV0dXJuIHQuaGlkZSgpfSkpfSxlLl9jbG9zZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT1mdW5jdGlvbigpe3QuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGlkZSIpLGkuZGVmYXVsdCh0Ll9lbGVtZW50KS50cmlnZ2VyKCJoaWRkZW4uYnMudG9hc3QiKX07aWYodGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJzaG93IiksdGhpcy5fY29uZmlnLmFuaW1hdGlvbil7dmFyIG49bC5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtpLmRlZmF1bHQodGhpcy5fZWxlbWVudCkub25lKGwuVFJBTlNJVElPTl9FTkQsZSkuZW11bGF0ZVRyYW5zaXRpb25FbmQobil9ZWxzZSBlKCl9LGUuX2NsZWFyVGltZW91dD1mdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KSx0aGlzLl90aW1lb3V0PW51bGx9LHQuX2pRdWVyeUludGVyZmFjZT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKChmdW5jdGlvbigpe3ZhciBuPWkuZGVmYXVsdCh0aGlzKSxvPW4uZGF0YSgiYnMudG9hc3QiKTtpZihvfHwobz1uZXcgdCh0aGlzLCJvYmplY3QiPT10eXBlb2YgZSYmZSksbi5kYXRhKCJicy50b2FzdCIsbykpLCJzdHJpbmciPT10eXBlb2YgZSl7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBvW2VdKXRocm93IG5ldyBUeXBlRXJyb3IoJ05vIG1ldGhvZCBuYW1lZCAiJytlKyciJyk7b1tlXSh0aGlzKX19KSl9LHIodCxudWxsLFt7a2V5OiJWRVJTSU9OIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4iNC41LjMifX0se2tleToiRGVmYXVsdFR5cGUiLGdldDpmdW5jdGlvbigpe3JldHVybiBnZX19LHtrZXk6IkRlZmF1bHQiLGdldDpmdW5jdGlvbigpe3JldHVybiB2ZX19XSksdH0oKTtpLmRlZmF1bHQuZm4udG9hc3Q9X2UuX2pRdWVyeUludGVyZmFjZSxpLmRlZmF1bHQuZm4udG9hc3QuQ29uc3RydWN0b3I9X2UsaS5kZWZhdWx0LmZuLnRvYXN0Lm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gaS5kZWZhdWx0LmZuLnRvYXN0PW1lLF9lLl9qUXVlcnlJbnRlcmZhY2V9LHQuQWxlcnQ9ZCx0LkJ1dHRvbj1oLHQuQ2Fyb3VzZWw9eSx0LkNvbGxhcHNlPVMsdC5Ecm9wZG93bj1GdCx0Lk1vZGFsPUJ0LHQuUG9wb3Zlcj1zZSx0LlNjcm9sbHNweT1jZSx0LlRhYj1wZSx0LlRvYXN0PV9lLHQuVG9vbHRpcD10ZSx0LlV0aWw9bCxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KSk7Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPWJvb3RzdHJhcC5idW5kbGUubWluLmpzLm1hcAoKLyoKalF1ZXJ5IHNtb290aCBzY3JvbGwKVmVyc2lvbjogMi4yLjAgLSAyMDE3LTA1LTA1ClBsdWdpbiBVUkk6IGh0dHBzOi8vZ2l0aHViLmNvbS9rc3dlZGJlcmcvanF1ZXJ5LXNtb290aC1zY3JvbGwKTGljZW5zZTogTGljZW5zZWQgdW5kZXIgTUlUIHwgQ29weXJpZ2h0IChjKSAyMDE3IEthcmwgU3dlZGJlcmcKKi8KIWZ1bmN0aW9uKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYSk6YSgib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/cmVxdWlyZSgianF1ZXJ5Iik6alF1ZXJ5KX0oZnVuY3Rpb24oYSl7dmFyIGI9e30sYz17ZXhjbHVkZTpbXSxleGNsdWRlV2l0aGluOltdLG9mZnNldDowLGRpcmVjdGlvbjoidG9wIixkZWxlZ2F0ZVNlbGVjdG9yOm51bGwsc2Nyb2xsRWxlbWVudDpudWxsLHNjcm9sbFRhcmdldDpudWxsLGF1dG9Gb2N1czohMSxiZWZvcmVTY3JvbGw6ZnVuY3Rpb24oKXt9LGFmdGVyU2Nyb2xsOmZ1bmN0aW9uKCl7fSxlYXNpbmc6InN3aW5nIixzcGVlZDo0MDAsYXV0b0NvZWZmaWNpZW50OjIscHJldmVudERlZmF1bHQ6ITB9LGQ9ZnVuY3Rpb24oYil7dmFyIGM9W10sZD0hMSxlPWIuZGlyJiYibGVmdCI9PT1iLmRpcj8ic2Nyb2xsTGVmdCI6InNjcm9sbFRvcCI7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWEodGhpcyk7aWYodGhpcyE9PWRvY3VtZW50JiZ0aGlzIT09d2luZG93KXJldHVybiFkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50fHx0aGlzIT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZ0aGlzIT09ZG9jdW1lbnQuYm9keT92b2lkKGJbZV0oKT4wP2MucHVzaCh0aGlzKTooYltlXSgxKSxkPWJbZV0oKT4wLGQmJmMucHVzaCh0aGlzKSxiW2VdKDApKSk6KGMucHVzaChkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50KSwhMSl9KSxjLmxlbmd0aHx8dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dGhpcz09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmInNtb290aCI9PT1hKHRoaXMpLmNzcygic2Nyb2xsQmVoYXZpb3IiKSYmKGM9W3RoaXNdKSxjLmxlbmd0aHx8IkJPRFkiIT09dGhpcy5ub2RlTmFtZXx8KGM9W3RoaXNdKX0pLCJmaXJzdCI9PT1iLmVsJiZjLmxlbmd0aD4xJiYoYz1bY1swXV0pLGN9LGU9L14oW1wtXCtdPSkoXGQrKS87YS5mbi5leHRlbmQoe3Njcm9sbGFibGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZC5jYWxsKHRoaXMse2RpcjphfSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGIpfSxmaXJzdFNjcm9sbGFibGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZC5jYWxsKHRoaXMse2VsOiJmaXJzdCIsZGlyOmF9KTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soYil9LHNtb290aFNjcm9sbDpmdW5jdGlvbihiLGMpe2lmKCJvcHRpb25zIj09PShiPWJ8fHt9KSlyZXR1cm4gYz90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpLGQ9YS5leHRlbmQoYi5kYXRhKCJzc09wdHMiKXx8e30sYyk7YSh0aGlzKS5kYXRhKCJzc09wdHMiLGQpfSk6dGhpcy5maXJzdCgpLmRhdGEoInNzT3B0cyIpO3ZhciBkPWEuZXh0ZW5kKHt9LGEuZm4uc21vb3RoU2Nyb2xsLmRlZmF1bHRzLGIpLGU9ZnVuY3Rpb24oYil7dmFyIGM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvKDp8XC58XC8pL2csIlxcJDEiKX0sZT10aGlzLGY9YSh0aGlzKSxnPWEuZXh0ZW5kKHt9LGQsZi5kYXRhKCJzc09wdHMiKXx8e30pLGg9ZC5leGNsdWRlLGk9Zy5leGNsdWRlV2l0aGluLGo9MCxrPTAsbD0hMCxtPXt9LG49YS5zbW9vdGhTY3JvbGwuZmlsdGVyUGF0aChsb2NhdGlvbi5wYXRobmFtZSksbz1hLnNtb290aFNjcm9sbC5maWx0ZXJQYXRoKGUucGF0aG5hbWUpLHA9bG9jYXRpb24uaG9zdG5hbWU9PT1lLmhvc3RuYW1lfHwhZS5ob3N0bmFtZSxxPWcuc2Nyb2xsVGFyZ2V0fHxvPT09bixyPWMoZS5oYXNoKTtpZihyJiYhYShyKS5sZW5ndGgmJihsPSExKSxnLnNjcm9sbFRhcmdldHx8cCYmcSYmcil7Zm9yKDtsJiZqPGgubGVuZ3RoOylmLmlzKGMoaFtqKytdKSkmJihsPSExKTtmb3IoO2wmJms8aS5sZW5ndGg7KWYuY2xvc2VzdChpW2srK10pLmxlbmd0aCYmKGw9ITEpfWVsc2UgbD0hMTtsJiYoZy5wcmV2ZW50RGVmYXVsdCYmYi5wcmV2ZW50RGVmYXVsdCgpLGEuZXh0ZW5kKG0sZyx7c2Nyb2xsVGFyZ2V0Omcuc2Nyb2xsVGFyZ2V0fHxyLGxpbms6ZX0pLGEuc21vb3RoU2Nyb2xsKG0pKX07cmV0dXJuIG51bGwhPT1iLmRlbGVnYXRlU2VsZWN0b3I/dGhpcy5vZmYoImNsaWNrLnNtb290aHNjcm9sbCIsYi5kZWxlZ2F0ZVNlbGVjdG9yKS5vbigiY2xpY2suc21vb3Roc2Nyb2xsIixiLmRlbGVnYXRlU2VsZWN0b3IsZSk6dGhpcy5vZmYoImNsaWNrLnNtb290aHNjcm9sbCIpLm9uKCJjbGljay5zbW9vdGhzY3JvbGwiLGUpLHRoaXN9fSk7dmFyIGY9ZnVuY3Rpb24oYSl7dmFyIGI9e3JlbGF0aXZlOiIifSxjPSJzdHJpbmciPT10eXBlb2YgYSYmZS5leGVjKGEpO3JldHVybiJudW1iZXIiPT10eXBlb2YgYT9iLnB4PWE6YyYmKGIucmVsYXRpdmU9Y1sxXSxiLnB4PXBhcnNlRmxvYXQoY1syXSl8fDApLGJ9LGc9ZnVuY3Rpb24oYil7dmFyIGM9YShiLnNjcm9sbFRhcmdldCk7Yi5hdXRvRm9jdXMmJmMubGVuZ3RoJiYoY1swXS5mb2N1cygpLGMuaXMoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl8fChjLnByb3Aoe3RhYkluZGV4Oi0xfSksY1swXS5mb2N1cygpKSksYi5hZnRlclNjcm9sbC5jYWxsKGIubGluayxiKX07YS5zbW9vdGhTY3JvbGw9ZnVuY3Rpb24oYyxkKXtpZigib3B0aW9ucyI9PT1jJiYib2JqZWN0Ij09dHlwZW9mIGQpcmV0dXJuIGEuZXh0ZW5kKGIsZCk7dmFyIGUsaCxpLGosaz1mKGMpLGw9e30sbT0wLG49Im9mZnNldCIsbz0ic2Nyb2xsVG9wIixwPXt9LHE9e307ay5weD9lPWEuZXh0ZW5kKHtsaW5rOm51bGx9LGEuZm4uc21vb3RoU2Nyb2xsLmRlZmF1bHRzLGIpOihlPWEuZXh0ZW5kKHtsaW5rOm51bGx9LGEuZm4uc21vb3RoU2Nyb2xsLmRlZmF1bHRzLGN8fHt9LGIpLGUuc2Nyb2xsRWxlbWVudCYmKG49InBvc2l0aW9uIiwic3RhdGljIj09PWUuc2Nyb2xsRWxlbWVudC5jc3MoInBvc2l0aW9uIikmJmUuc2Nyb2xsRWxlbWVudC5jc3MoInBvc2l0aW9uIiwicmVsYXRpdmUiKSksZCYmKGs9ZihkKSkpLG89ImxlZnQiPT09ZS5kaXJlY3Rpb24/InNjcm9sbExlZnQiOm8sZS5zY3JvbGxFbGVtZW50PyhoPWUuc2Nyb2xsRWxlbWVudCxrLnB4fHwvXig/OkhUTUx8Qk9EWSkkLy50ZXN0KGhbMF0ubm9kZU5hbWUpfHwobT1oW29dKCkpKTpoPWEoImh0bWwsIGJvZHkiKS5maXJzdFNjcm9sbGFibGUoZS5kaXJlY3Rpb24pLGUuYmVmb3JlU2Nyb2xsLmNhbGwoaCxlKSxsPWsucHg/azp7cmVsYXRpdmU6IiIscHg6YShlLnNjcm9sbFRhcmdldClbbl0oKSYmYShlLnNjcm9sbFRhcmdldClbbl0oKVtlLmRpcmVjdGlvbl18fDB9LHBbb109bC5yZWxhdGl2ZSsobC5weCttK2Uub2Zmc2V0KSxpPWUuc3BlZWQsImF1dG8iPT09aSYmKGo9TWF0aC5hYnMocFtvXS1oW29dKCkpLGk9ai9lLmF1dG9Db2VmZmljaWVudCkscT17ZHVyYXRpb246aSxlYXNpbmc6ZS5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXtnKGUpfX0sZS5zdGVwJiYocS5zdGVwPWUuc3RlcCksaC5sZW5ndGg/aC5zdG9wKCkuYW5pbWF0ZShwLHEpOmcoZSl9LGEuc21vb3RoU2Nyb2xsLnZlcnNpb249IjIuMi4wIixhLnNtb290aFNjcm9sbC5maWx0ZXJQYXRoPWZ1bmN0aW9uKGEpe3JldHVybiBhPWF8fCIiLGEucmVwbGFjZSgvXlwvLywiIikucmVwbGFjZSgvKD86aW5kZXh8ZGVmYXVsdCkuW2EtekEtWl17Myw0fSQvLCIiKS5yZXBsYWNlKC9cLyQvLCIiKX0sYS5mbi5zbW9vdGhTY3JvbGwuZGVmYXVsdHM9Y30pOwoKLyoKU3dpcGVyClZlcnNpb246IDUuNC41ClBsdWdpbiBVUkk6IGh0dHA6Ly9zd2lwZXJqcy5jb20KTGljZW5zZTogQ29weXJpZ2h0IDIwMTQtMjAyMCBWbGFkaW1pciBLaGFybGFtcGlkaSB8IFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZSB8IFJlbGVhc2VkIG9uOiBKdW5lIDE2LCAyMDIwCiovCiFmdW5jdGlvbihlLHQpeyJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOiJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKHQpOihlPWV8fHNlbGYpLlN3aXBlcj10KCl9KHRoaXMsKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoZSl7cmV0dXJuIG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGUmJiJjb25zdHJ1Y3RvciJpbiBlJiZlLmNvbnN0cnVjdG9yPT09T2JqZWN0fWZ1bmN0aW9uIHQoaSxzKXt2b2lkIDA9PT1pJiYoaT17fSksdm9pZCAwPT09cyYmKHM9e30pLE9iamVjdC5rZXlzKHMpLmZvckVhY2goKGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWlbYV0/aVthXT1zW2FdOmUoc1thXSkmJmUoaVthXSkmJk9iamVjdC5rZXlzKHNbYV0pLmxlbmd0aD4wJiZ0KGlbYV0sc1thXSl9KSl9dmFyIGk9InVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudD9kb2N1bWVudDp7fSxzPXtib2R5Ont9LGFkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oKXt9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oKXt9LGFjdGl2ZUVsZW1lbnQ6e2JsdXI6ZnVuY3Rpb24oKXt9LG5vZGVOYW1lOiIifSxxdWVyeVNlbGVjdG9yOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LHF1ZXJ5U2VsZWN0b3JBbGw6ZnVuY3Rpb24oKXtyZXR1cm5bXX0sZ2V0RWxlbWVudEJ5SWQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sY3JlYXRlRXZlbnQ6ZnVuY3Rpb24oKXtyZXR1cm57aW5pdEV2ZW50OmZ1bmN0aW9uKCl7fX19LGNyZWF0ZUVsZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1cm57Y2hpbGRyZW46W10sY2hpbGROb2RlczpbXSxzdHlsZTp7fSxzZXRBdHRyaWJ1dGU6ZnVuY3Rpb24oKXt9LGdldEVsZW1lbnRzQnlUYWdOYW1lOmZ1bmN0aW9uKCl7cmV0dXJuW119fX0sY3JlYXRlRWxlbWVudE5TOmZ1bmN0aW9uKCl7cmV0dXJue319LGltcG9ydE5vZGU6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sbG9jYXRpb246e2hhc2g6IiIsaG9zdDoiIixob3N0bmFtZToiIixocmVmOiIiLG9yaWdpbjoiIixwYXRobmFtZToiIixwcm90b2NvbDoiIixzZWFyY2g6IiJ9fTt0KGkscyk7dmFyIGE9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9O3QoYSx7ZG9jdW1lbnQ6cyxuYXZpZ2F0b3I6e3VzZXJBZ2VudDoiIn0sbG9jYXRpb246e2hhc2g6IiIsaG9zdDoiIixob3N0bmFtZToiIixocmVmOiIiLG9yaWdpbjoiIixwYXRobmFtZToiIixwcm90b2NvbDoiIixzZWFyY2g6IiJ9LGhpc3Rvcnk6e3JlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30scHVzaFN0YXRlOmZ1bmN0aW9uKCl7fSxnbzpmdW5jdGlvbigpe30sYmFjazpmdW5jdGlvbigpe319LEN1c3RvbUV2ZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGFkZEV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oKXt9LHJlbW92ZUV2ZW50TGlzdGVuZXI6ZnVuY3Rpb24oKXt9LGdldENvbXB1dGVkU3R5bGU6ZnVuY3Rpb24oKXtyZXR1cm57Z2V0UHJvcGVydHlWYWx1ZTpmdW5jdGlvbigpe3JldHVybiIifX19LEltYWdlOmZ1bmN0aW9uKCl7fSxEYXRlOmZ1bmN0aW9uKCl7fSxzY3JlZW46e30sc2V0VGltZW91dDpmdW5jdGlvbigpe30sY2xlYXJUaW1lb3V0OmZ1bmN0aW9uKCl7fSxtYXRjaE1lZGlhOmZ1bmN0aW9uKCl7cmV0dXJue319fSk7dmFyIHI9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kz0xKXRoaXNbdF09ZVt0XTtyZXR1cm4gdGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpc307ZnVuY3Rpb24gbihlLHQpe3ZhciBzPVtdLG49MDtpZihlJiYhdCYmZSBpbnN0YW5jZW9mIHIpcmV0dXJuIGU7aWYoZSlpZigic3RyaW5nIj09dHlwZW9mIGUpe3ZhciBvLGwsZD1lLnRyaW0oKTtpZihkLmluZGV4T2YoIjwiKT49MCYmZC5pbmRleE9mKCI+Iik+PTApe3ZhciBoPSJkaXYiO2ZvcigwPT09ZC5pbmRleE9mKCI8bGkiKSYmKGg9InVsIiksMD09PWQuaW5kZXhPZigiPHRyIikmJihoPSJ0Ym9keSIpLDAhPT1kLmluZGV4T2YoIjx0ZCIpJiYwIT09ZC5pbmRleE9mKCI8dGgiKXx8KGg9InRyIiksMD09PWQuaW5kZXhPZigiPHRib2R5IikmJihoPSJ0YWJsZSIpLDA9PT1kLmluZGV4T2YoIjxvcHRpb24iKSYmKGg9InNlbGVjdCIpLChsPWkuY3JlYXRlRWxlbWVudChoKSkuaW5uZXJIVE1MPWQsbj0wO248bC5jaGlsZE5vZGVzLmxlbmd0aDtuKz0xKXMucHVzaChsLmNoaWxkTm9kZXNbbl0pfWVsc2UgZm9yKG89dHx8IiMiIT09ZVswXXx8ZS5tYXRjaCgvWyAuPD46fl0vKT8odHx8aSkucXVlcnlTZWxlY3RvckFsbChlLnRyaW0oKSk6W2kuZ2V0RWxlbWVudEJ5SWQoZS50cmltKCkuc3BsaXQoIiMiKVsxXSldLG49MDtuPG8ubGVuZ3RoO24rPTEpb1tuXSYmcy5wdXNoKG9bbl0pfWVsc2UgaWYoZS5ub2RlVHlwZXx8ZT09PWF8fGU9PT1pKXMucHVzaChlKTtlbHNlIGlmKGUubGVuZ3RoPjAmJmVbMF0ubm9kZVR5cGUpZm9yKG49MDtuPGUubGVuZ3RoO24rPTEpcy5wdXNoKGVbbl0pO3JldHVybiBuZXcgcihzKX1mdW5jdGlvbiBvKGUpe2Zvcih2YXIgdD1bXSxpPTA7aTxlLmxlbmd0aDtpKz0xKS0xPT09dC5pbmRleE9mKGVbaV0pJiZ0LnB1c2goZVtpXSk7cmV0dXJuIHR9bi5mbj1yLnByb3RvdHlwZSxuLkNsYXNzPXIsbi5Eb203PXI7dmFyIGw9e2FkZENsYXNzOmZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09PWUpcmV0dXJuIHRoaXM7Zm9yKHZhciB0PWUuc3BsaXQoIiAiKSxpPTA7aTx0Lmxlbmd0aDtpKz0xKWZvcih2YXIgcz0wO3M8dGhpcy5sZW5ndGg7cys9MSl2b2lkIDAhPT10aGlzW3NdJiZ2b2lkIDAhPT10aGlzW3NdLmNsYXNzTGlzdCYmdGhpc1tzXS5jbGFzc0xpc3QuYWRkKHRbaV0pO3JldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihlKXtmb3IodmFyIHQ9ZS5zcGxpdCgiICIpLGk9MDtpPHQubGVuZ3RoO2krPTEpZm9yKHZhciBzPTA7czx0aGlzLmxlbmd0aDtzKz0xKXZvaWQgMCE9PXRoaXNbc10mJnZvaWQgMCE9PXRoaXNbc10uY2xhc3NMaXN0JiZ0aGlzW3NdLmNsYXNzTGlzdC5yZW1vdmUodFtpXSk7cmV0dXJuIHRoaXN9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe3JldHVybiEhdGhpc1swXSYmdGhpc1swXS5jbGFzc0xpc3QuY29udGFpbnMoZSl9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLnNwbGl0KCIgIiksaT0wO2k8dC5sZW5ndGg7aSs9MSlmb3IodmFyIHM9MDtzPHRoaXMubGVuZ3RoO3MrPTEpdm9pZCAwIT09dGhpc1tzXSYmdm9pZCAwIT09dGhpc1tzXS5jbGFzc0xpc3QmJnRoaXNbc10uY2xhc3NMaXN0LnRvZ2dsZSh0W2ldKTtyZXR1cm4gdGhpc30sYXR0cjpmdW5jdGlvbihlLHQpe3ZhciBpPWFyZ3VtZW50cztpZigxPT09YXJndW1lbnRzLmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiB0aGlzWzBdP3RoaXNbMF0uZ2V0QXR0cmlidXRlKGUpOnZvaWQgMDtmb3IodmFyIHM9MDtzPHRoaXMubGVuZ3RoO3MrPTEpaWYoMj09PWkubGVuZ3RoKXRoaXNbc10uc2V0QXR0cmlidXRlKGUsdCk7ZWxzZSBmb3IodmFyIGEgaW4gZSl0aGlzW3NdW2FdPWVbYV0sdGhpc1tzXS5zZXRBdHRyaWJ1dGUoYSxlW2FdKTtyZXR1cm4gdGhpc30scmVtb3ZlQXR0cjpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoO3QrPTEpdGhpc1t0XS5yZW1vdmVBdHRyaWJ1dGUoZSk7cmV0dXJuIHRoaXN9LGRhdGE6ZnVuY3Rpb24oZSx0KXt2YXIgaTtpZih2b2lkIDAhPT10KXtmb3IodmFyIHM9MDtzPHRoaXMubGVuZ3RoO3MrPTEpKGk9dGhpc1tzXSkuZG9tN0VsZW1lbnREYXRhU3RvcmFnZXx8KGkuZG9tN0VsZW1lbnREYXRhU3RvcmFnZT17fSksaS5kb203RWxlbWVudERhdGFTdG9yYWdlW2VdPXQ7cmV0dXJuIHRoaXN9aWYoaT10aGlzWzBdKXtpZihpLmRvbTdFbGVtZW50RGF0YVN0b3JhZ2UmJmUgaW4gaS5kb203RWxlbWVudERhdGFTdG9yYWdlKXJldHVybiBpLmRvbTdFbGVtZW50RGF0YVN0b3JhZ2VbZV07dmFyIGE9aS5nZXRBdHRyaWJ1dGUoImRhdGEtIitlKTtyZXR1cm4gYXx8dm9pZCAwfX0sdHJhbnNmb3JtOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8dGhpcy5sZW5ndGg7dCs9MSl7dmFyIGk9dGhpc1t0XS5zdHlsZTtpLndlYmtpdFRyYW5zZm9ybT1lLGkudHJhbnNmb3JtPWV9cmV0dXJuIHRoaXN9LHRyYW5zaXRpb246ZnVuY3Rpb24oZSl7InN0cmluZyIhPXR5cGVvZiBlJiYoZSs9Im1zIik7Zm9yKHZhciB0PTA7dDx0aGlzLmxlbmd0aDt0Kz0xKXt2YXIgaT10aGlzW3RdLnN0eWxlO2kud2Via2l0VHJhbnNpdGlvbkR1cmF0aW9uPWUsaS50cmFuc2l0aW9uRHVyYXRpb249ZX1yZXR1cm4gdGhpc30sb246ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD1bXSxpPWFyZ3VtZW50cy5sZW5ndGg7aS0tOyl0W2ldPWFyZ3VtZW50c1tpXTt2YXIgcz10WzBdLGE9dFsxXSxyPXRbMl0sbz10WzNdO2Z1bmN0aW9uIGwoZSl7dmFyIHQ9ZS50YXJnZXQ7aWYodCl7dmFyIGk9ZS50YXJnZXQuZG9tN0V2ZW50RGF0YXx8W107aWYoaS5pbmRleE9mKGUpPDAmJmkudW5zaGlmdChlKSxuKHQpLmlzKGEpKXIuYXBwbHkodCxpKTtlbHNlIGZvcih2YXIgcz1uKHQpLnBhcmVudHMoKSxvPTA7bzxzLmxlbmd0aDtvKz0xKW4oc1tvXSkuaXMoYSkmJnIuYXBwbHkoc1tvXSxpKX19ZnVuY3Rpb24gZChlKXt2YXIgdD1lJiZlLnRhcmdldCYmZS50YXJnZXQuZG9tN0V2ZW50RGF0YXx8W107dC5pbmRleE9mKGUpPDAmJnQudW5zaGlmdChlKSxyLmFwcGx5KHRoaXMsdCl9ImZ1bmN0aW9uIj09dHlwZW9mIHRbMV0mJihzPShlPXQpWzBdLHI9ZVsxXSxvPWVbMl0sYT12b2lkIDApLG98fChvPSExKTtmb3IodmFyIGgscD1zLnNwbGl0KCIgIiksYz0wO2M8dGhpcy5sZW5ndGg7Yys9MSl7dmFyIHU9dGhpc1tjXTtpZihhKWZvcihoPTA7aDxwLmxlbmd0aDtoKz0xKXt2YXIgdj1wW2hdO3UuZG9tN0xpdmVMaXN0ZW5lcnN8fCh1LmRvbTdMaXZlTGlzdGVuZXJzPXt9KSx1LmRvbTdMaXZlTGlzdGVuZXJzW3ZdfHwodS5kb203TGl2ZUxpc3RlbmVyc1t2XT1bXSksdS5kb203TGl2ZUxpc3RlbmVyc1t2XS5wdXNoKHtsaXN0ZW5lcjpyLHByb3h5TGlzdGVuZXI6bH0pLHUuYWRkRXZlbnRMaXN0ZW5lcih2LGwsbyl9ZWxzZSBmb3IoaD0wO2g8cC5sZW5ndGg7aCs9MSl7dmFyIGY9cFtoXTt1LmRvbTdMaXN0ZW5lcnN8fCh1LmRvbTdMaXN0ZW5lcnM9e30pLHUuZG9tN0xpc3RlbmVyc1tmXXx8KHUuZG9tN0xpc3RlbmVyc1tmXT1bXSksdS5kb203TGlzdGVuZXJzW2ZdLnB1c2goe2xpc3RlbmVyOnIscHJveHlMaXN0ZW5lcjpkfSksdS5hZGRFdmVudExpc3RlbmVyKGYsZCxvKX19cmV0dXJuIHRoaXN9LG9mZjpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PVtdLGk9YXJndW1lbnRzLmxlbmd0aDtpLS07KXRbaV09YXJndW1lbnRzW2ldO3ZhciBzPXRbMF0sYT10WzFdLHI9dFsyXSxuPXRbM107ImZ1bmN0aW9uIj09dHlwZW9mIHRbMV0mJihzPShlPXQpWzBdLHI9ZVsxXSxuPWVbMl0sYT12b2lkIDApLG58fChuPSExKTtmb3IodmFyIG89cy5zcGxpdCgiICIpLGw9MDtsPG8ubGVuZ3RoO2wrPTEpZm9yKHZhciBkPW9bbF0saD0wO2g8dGhpcy5sZW5ndGg7aCs9MSl7dmFyIHA9dGhpc1toXSxjPXZvaWQgMDtpZighYSYmcC5kb203TGlzdGVuZXJzP2M9cC5kb203TGlzdGVuZXJzW2RdOmEmJnAuZG9tN0xpdmVMaXN0ZW5lcnMmJihjPXAuZG9tN0xpdmVMaXN0ZW5lcnNbZF0pLGMmJmMubGVuZ3RoKWZvcih2YXIgdT1jLmxlbmd0aC0xO3U+PTA7dS09MSl7dmFyIHY9Y1t1XTtyJiZ2Lmxpc3RlbmVyPT09cnx8ciYmdi5saXN0ZW5lciYmdi5saXN0ZW5lci5kb203cHJveHkmJnYubGlzdGVuZXIuZG9tN3Byb3h5PT09cj8ocC5yZW1vdmVFdmVudExpc3RlbmVyKGQsdi5wcm94eUxpc3RlbmVyLG4pLGMuc3BsaWNlKHUsMSkpOnJ8fChwLnJlbW92ZUV2ZW50TGlzdGVuZXIoZCx2LnByb3h5TGlzdGVuZXIsbiksYy5zcGxpY2UodSwxKSl9fXJldHVybiB0aGlzfSx0cmlnZ2VyOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9YXJndW1lbnRzLmxlbmd0aDt0LS07KWVbdF09YXJndW1lbnRzW3RdO2Zvcih2YXIgcz1lWzBdLnNwbGl0KCIgIikscj1lWzFdLG49MDtuPHMubGVuZ3RoO24rPTEpZm9yKHZhciBvPXNbbl0sbD0wO2w8dGhpcy5sZW5ndGg7bCs9MSl7dmFyIGQ9dGhpc1tsXSxoPXZvaWQgMDt0cnl7aD1uZXcgYS5DdXN0b21FdmVudChvLHtkZXRhaWw6cixidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KX1jYXRjaChlKXsoaD1pLmNyZWF0ZUV2ZW50KCJFdmVudCIpKS5pbml0RXZlbnQobywhMCwhMCksaC5kZXRhaWw9cn1kLmRvbTdFdmVudERhdGE9ZS5maWx0ZXIoKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ+MH0pKSxkLmRpc3BhdGNoRXZlbnQoaCksZC5kb203RXZlbnREYXRhPVtdLGRlbGV0ZSBkLmRvbTdFdmVudERhdGF9cmV0dXJuIHRoaXN9LHRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oZSl7dmFyIHQsaT1bIndlYmtpdFRyYW5zaXRpb25FbmQiLCJ0cmFuc2l0aW9uZW5kIl0scz10aGlzO2Z1bmN0aW9uIGEocil7aWYoci50YXJnZXQ9PT10aGlzKWZvcihlLmNhbGwodGhpcyxyKSx0PTA7dDxpLmxlbmd0aDt0Kz0xKXMub2ZmKGlbdF0sYSl9aWYoZSlmb3IodD0wO3Q8aS5sZW5ndGg7dCs9MSlzLm9uKGlbdF0sYSk7cmV0dXJuIHRoaXN9LG91dGVyV2lkdGg6ZnVuY3Rpb24oZSl7aWYodGhpcy5sZW5ndGg+MCl7aWYoZSl7dmFyIHQ9dGhpcy5zdHlsZXMoKTtyZXR1cm4gdGhpc1swXS5vZmZzZXRXaWR0aCtwYXJzZUZsb2F0KHQuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLXJpZ2h0IikpK3BhcnNlRmxvYXQodC5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tbGVmdCIpKX1yZXR1cm4gdGhpc1swXS5vZmZzZXRXaWR0aH1yZXR1cm4gbnVsbH0sb3V0ZXJIZWlnaHQ6ZnVuY3Rpb24oZSl7aWYodGhpcy5sZW5ndGg+MCl7aWYoZSl7dmFyIHQ9dGhpcy5zdHlsZXMoKTtyZXR1cm4gdGhpc1swXS5vZmZzZXRIZWlnaHQrcGFyc2VGbG9hdCh0LmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi10b3AiKSkrcGFyc2VGbG9hdCh0LmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi1ib3R0b20iKSl9cmV0dXJuIHRoaXNbMF0ub2Zmc2V0SGVpZ2h0fXJldHVybiBudWxsfSxvZmZzZXQ6ZnVuY3Rpb24oKXtpZih0aGlzLmxlbmd0aD4wKXt2YXIgZT10aGlzWzBdLHQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxzPWkuYm9keSxyPWUuY2xpZW50VG9wfHxzLmNsaWVudFRvcHx8MCxuPWUuY2xpZW50TGVmdHx8cy5jbGllbnRMZWZ0fHwwLG89ZT09PWE/YS5zY3JvbGxZOmUuc2Nyb2xsVG9wLGw9ZT09PWE/YS5zY3JvbGxYOmUuc2Nyb2xsTGVmdDtyZXR1cm57dG9wOnQudG9wK28tcixsZWZ0OnQubGVmdCtsLW59fXJldHVybiBudWxsfSxjc3M6ZnVuY3Rpb24oZSx0KXt2YXIgaTtpZigxPT09YXJndW1lbnRzLmxlbmd0aCl7aWYoInN0cmluZyIhPXR5cGVvZiBlKXtmb3IoaT0wO2k8dGhpcy5sZW5ndGg7aSs9MSlmb3IodmFyIHMgaW4gZSl0aGlzW2ldLnN0eWxlW3NdPWVbc107cmV0dXJuIHRoaXN9aWYodGhpc1swXSlyZXR1cm4gYS5nZXRDb21wdXRlZFN0eWxlKHRoaXNbMF0sbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShlKX1pZigyPT09YXJndW1lbnRzLmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiBlKXtmb3IoaT0wO2k8dGhpcy5sZW5ndGg7aSs9MSl0aGlzW2ldLnN0eWxlW2VdPXQ7cmV0dXJuIHRoaXN9cmV0dXJuIHRoaXN9LGVhY2g6ZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIHRoaXM7Zm9yKHZhciB0PTA7dDx0aGlzLmxlbmd0aDt0Kz0xKWlmKCExPT09ZS5jYWxsKHRoaXNbdF0sdCx0aGlzW3RdKSlyZXR1cm4gdGhpcztyZXR1cm4gdGhpc30saHRtbDpmdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiB0aGlzWzBdP3RoaXNbMF0uaW5uZXJIVE1MOnZvaWQgMDtmb3IodmFyIHQ9MDt0PHRoaXMubGVuZ3RoO3QrPTEpdGhpc1t0XS5pbm5lckhUTUw9ZTtyZXR1cm4gdGhpc30sdGV4dDpmdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiB0aGlzWzBdP3RoaXNbMF0udGV4dENvbnRlbnQudHJpbSgpOm51bGw7Zm9yKHZhciB0PTA7dDx0aGlzLmxlbmd0aDt0Kz0xKXRoaXNbdF0udGV4dENvbnRlbnQ9ZTtyZXR1cm4gdGhpc30saXM6ZnVuY3Rpb24oZSl7dmFyIHQscyxvPXRoaXNbMF07aWYoIW98fHZvaWQgMD09PWUpcmV0dXJuITE7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtpZihvLm1hdGNoZXMpcmV0dXJuIG8ubWF0Y2hlcyhlKTtpZihvLndlYmtpdE1hdGNoZXNTZWxlY3RvcilyZXR1cm4gby53ZWJraXRNYXRjaGVzU2VsZWN0b3IoZSk7aWYoby5tc01hdGNoZXNTZWxlY3RvcilyZXR1cm4gby5tc01hdGNoZXNTZWxlY3RvcihlKTtmb3IodD1uKGUpLHM9MDtzPHQubGVuZ3RoO3MrPTEpaWYodFtzXT09PW8pcmV0dXJuITA7cmV0dXJuITF9aWYoZT09PWkpcmV0dXJuIG89PT1pO2lmKGU9PT1hKXJldHVybiBvPT09YTtpZihlLm5vZGVUeXBlfHxlIGluc3RhbmNlb2Ygcil7Zm9yKHQ9ZS5ub2RlVHlwZT9bZV06ZSxzPTA7czx0Lmxlbmd0aDtzKz0xKWlmKHRbc109PT1vKXJldHVybiEwO3JldHVybiExfXJldHVybiExfSxpbmRleDpmdW5jdGlvbigpe3ZhciBlLHQ9dGhpc1swXTtpZih0KXtmb3IoZT0wO251bGwhPT0odD10LnByZXZpb3VzU2libGluZyk7KTE9PT10Lm5vZGVUeXBlJiYoZSs9MSk7cmV0dXJuIGV9fSxlcTpmdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXJldHVybiB0aGlzO3ZhciB0LGk9dGhpcy5sZW5ndGg7cmV0dXJuIG5ldyByKGU+aS0xP1tdOmU8MD8odD1pK2UpPDA/W106W3RoaXNbdF1dOlt0aGlzW2VdXSl9LGFwcGVuZDpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PVtdLHM9YXJndW1lbnRzLmxlbmd0aDtzLS07KXRbc109YXJndW1lbnRzW3NdO2Zvcih2YXIgYT0wO2E8dC5sZW5ndGg7YSs9MSl7ZT10W2FdO2Zvcih2YXIgbj0wO248dGhpcy5sZW5ndGg7bis9MSlpZigic3RyaW5nIj09dHlwZW9mIGUpe3ZhciBvPWkuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zm9yKG8uaW5uZXJIVE1MPWU7by5maXJzdENoaWxkOyl0aGlzW25dLmFwcGVuZENoaWxkKG8uZmlyc3RDaGlsZCl9ZWxzZSBpZihlIGluc3RhbmNlb2Ygcilmb3IodmFyIGw9MDtsPGUubGVuZ3RoO2wrPTEpdGhpc1tuXS5hcHBlbmRDaGlsZChlW2xdKTtlbHNlIHRoaXNbbl0uYXBwZW5kQ2hpbGQoZSl9cmV0dXJuIHRoaXN9LHByZXBlbmQ6ZnVuY3Rpb24oZSl7dmFyIHQscztmb3IodD0wO3Q8dGhpcy5sZW5ndGg7dCs9MSlpZigic3RyaW5nIj09dHlwZW9mIGUpe3ZhciBhPWkuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zm9yKGEuaW5uZXJIVE1MPWUscz1hLmNoaWxkTm9kZXMubGVuZ3RoLTE7cz49MDtzLT0xKXRoaXNbdF0uaW5zZXJ0QmVmb3JlKGEuY2hpbGROb2Rlc1tzXSx0aGlzW3RdLmNoaWxkTm9kZXNbMF0pfWVsc2UgaWYoZSBpbnN0YW5jZW9mIHIpZm9yKHM9MDtzPGUubGVuZ3RoO3MrPTEpdGhpc1t0XS5pbnNlcnRCZWZvcmUoZVtzXSx0aGlzW3RdLmNoaWxkTm9kZXNbMF0pO2Vsc2UgdGhpc1t0XS5pbnNlcnRCZWZvcmUoZSx0aGlzW3RdLmNoaWxkTm9kZXNbMF0pO3JldHVybiB0aGlzfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxlbmd0aD4wP2U/dGhpc1swXS5uZXh0RWxlbWVudFNpYmxpbmcmJm4odGhpc1swXS5uZXh0RWxlbWVudFNpYmxpbmcpLmlzKGUpP25ldyByKFt0aGlzWzBdLm5leHRFbGVtZW50U2libGluZ10pOm5ldyByKFtdKTp0aGlzWzBdLm5leHRFbGVtZW50U2libGluZz9uZXcgcihbdGhpc1swXS5uZXh0RWxlbWVudFNpYmxpbmddKTpuZXcgcihbXSk6bmV3IHIoW10pfSxuZXh0QWxsOmZ1bmN0aW9uKGUpe3ZhciB0PVtdLGk9dGhpc1swXTtpZighaSlyZXR1cm4gbmV3IHIoW10pO2Zvcig7aS5uZXh0RWxlbWVudFNpYmxpbmc7KXt2YXIgcz1pLm5leHRFbGVtZW50U2libGluZztlP24ocykuaXMoZSkmJnQucHVzaChzKTp0LnB1c2gocyksaT1zfXJldHVybiBuZXcgcih0KX0scHJldjpmdW5jdGlvbihlKXtpZih0aGlzLmxlbmd0aD4wKXt2YXIgdD10aGlzWzBdO3JldHVybiBlP3QucHJldmlvdXNFbGVtZW50U2libGluZyYmbih0LnByZXZpb3VzRWxlbWVudFNpYmxpbmcpLmlzKGUpP25ldyByKFt0LnByZXZpb3VzRWxlbWVudFNpYmxpbmddKTpuZXcgcihbXSk6dC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nP25ldyByKFt0LnByZXZpb3VzRWxlbWVudFNpYmxpbmddKTpuZXcgcihbXSl9cmV0dXJuIG5ldyByKFtdKX0scHJldkFsbDpmdW5jdGlvbihlKXt2YXIgdD1bXSxpPXRoaXNbMF07aWYoIWkpcmV0dXJuIG5ldyByKFtdKTtmb3IoO2kucHJldmlvdXNFbGVtZW50U2libGluZzspe3ZhciBzPWkucHJldmlvdXNFbGVtZW50U2libGluZztlP24ocykuaXMoZSkmJnQucHVzaChzKTp0LnB1c2gocyksaT1zfXJldHVybiBuZXcgcih0KX0scGFyZW50OmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxpPTA7aTx0aGlzLmxlbmd0aDtpKz0xKW51bGwhPT10aGlzW2ldLnBhcmVudE5vZGUmJihlP24odGhpc1tpXS5wYXJlbnROb2RlKS5pcyhlKSYmdC5wdXNoKHRoaXNbaV0ucGFyZW50Tm9kZSk6dC5wdXNoKHRoaXNbaV0ucGFyZW50Tm9kZSkpO3JldHVybiBuKG8odCkpfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxpPTA7aTx0aGlzLmxlbmd0aDtpKz0xKWZvcih2YXIgcz10aGlzW2ldLnBhcmVudE5vZGU7czspZT9uKHMpLmlzKGUpJiZ0LnB1c2gocyk6dC5wdXNoKHMpLHM9cy5wYXJlbnROb2RlO3JldHVybiBuKG8odCkpfSxjbG9zZXN0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHZvaWQgMD09PWU/bmV3IHIoW10pOih0LmlzKGUpfHwodD10LnBhcmVudHMoZSkuZXEoMCkpLHQpfSxmaW5kOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxpPTA7aTx0aGlzLmxlbmd0aDtpKz0xKWZvcih2YXIgcz10aGlzW2ldLnF1ZXJ5U2VsZWN0b3JBbGwoZSksYT0wO2E8cy5sZW5ndGg7YSs9MSl0LnB1c2goc1thXSk7cmV0dXJuIG5ldyByKHQpfSxjaGlsZHJlbjpmdW5jdGlvbihlKXtmb3IodmFyIHQ9W10saT0wO2k8dGhpcy5sZW5ndGg7aSs9MSlmb3IodmFyIHM9dGhpc1tpXS5jaGlsZE5vZGVzLGE9MDthPHMubGVuZ3RoO2ErPTEpZT8xPT09c1thXS5ub2RlVHlwZSYmbihzW2FdKS5pcyhlKSYmdC5wdXNoKHNbYV0pOjE9PT1zW2FdLm5vZGVUeXBlJiZ0LnB1c2goc1thXSk7cmV0dXJuIG5ldyByKG8odCkpfSxmaWx0ZXI6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLGk9MDtpPHRoaXMubGVuZ3RoO2krPTEpZS5jYWxsKHRoaXNbaV0saSx0aGlzW2ldKSYmdC5wdXNoKHRoaXNbaV0pO3JldHVybiBuZXcgcih0KX0scmVtb3ZlOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTx0aGlzLmxlbmd0aDtlKz0xKXRoaXNbZV0ucGFyZW50Tm9kZSYmdGhpc1tlXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXNbZV0pO3JldHVybiB0aGlzfSxhZGQ6ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD1hcmd1bWVudHMubGVuZ3RoO3QtLTspZVt0XT1hcmd1bWVudHNbdF07dmFyIGkscyxhPXRoaXM7Zm9yKGk9MDtpPGUubGVuZ3RoO2krPTEpe3ZhciByPW4oZVtpXSk7Zm9yKHM9MDtzPHIubGVuZ3RoO3MrPTEpYVthLmxlbmd0aF09cltzXSxhLmxlbmd0aCs9MX1yZXR1cm4gYX0sc3R5bGVzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbMF0/YS5nZXRDb21wdXRlZFN0eWxlKHRoaXNbMF0sbnVsbCk6e319fTtPYmplY3Qua2V5cyhsKS5mb3JFYWNoKChmdW5jdGlvbihlKXtuLmZuW2VdPW4uZm5bZV18fGxbZV19KSk7dmFyIGQ9e2RlbGV0ZVByb3BzOmZ1bmN0aW9uKGUpe3ZhciB0PWU7T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dHJ5e3RbZV09bnVsbH1jYXRjaChlKXt9dHJ5e2RlbGV0ZSB0W2VdfWNhdGNoKGUpe319KSl9LG5leHRUaWNrOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PTApLHNldFRpbWVvdXQoZSx0KX0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9LGdldFRyYW5zbGF0ZTpmdW5jdGlvbihlLHQpe3ZhciBpLHMscjt2b2lkIDA9PT10JiYodD0ieCIpO3ZhciBuPWEuZ2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpO3JldHVybiBhLldlYktpdENTU01hdHJpeD8oKHM9bi50cmFuc2Zvcm18fG4ud2Via2l0VHJhbnNmb3JtKS5zcGxpdCgiLCIpLmxlbmd0aD42JiYocz1zLnNwbGl0KCIsICIpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgiLCIsIi4iKX0pKS5qb2luKCIsICIpKSxyPW5ldyBhLldlYktpdENTU01hdHJpeCgibm9uZSI9PT1zPyIiOnMpKTppPShyPW4uTW96VHJhbnNmb3JtfHxuLk9UcmFuc2Zvcm18fG4uTXNUcmFuc2Zvcm18fG4ubXNUcmFuc2Zvcm18fG4udHJhbnNmb3JtfHxuLmdldFByb3BlcnR5VmFsdWUoInRyYW5zZm9ybSIpLnJlcGxhY2UoInRyYW5zbGF0ZSgiLCJtYXRyaXgoMSwgMCwgMCwgMSwiKSkudG9TdHJpbmcoKS5zcGxpdCgiLCIpLCJ4Ij09PXQmJihzPWEuV2ViS2l0Q1NTTWF0cml4P3IubTQxOjE2PT09aS5sZW5ndGg/cGFyc2VGbG9hdChpWzEyXSk6cGFyc2VGbG9hdChpWzRdKSksInkiPT09dCYmKHM9YS5XZWJLaXRDU1NNYXRyaXg/ci5tNDI6MTY9PT1pLmxlbmd0aD9wYXJzZUZsb2F0KGlbMTNdKTpwYXJzZUZsb2F0KGlbNV0pKSxzfHwwfSxwYXJzZVVybFF1ZXJ5OmZ1bmN0aW9uKGUpe3ZhciB0LGkscyxyLG49e30sbz1lfHxhLmxvY2F0aW9uLmhyZWY7aWYoInN0cmluZyI9PXR5cGVvZiBvJiZvLmxlbmd0aClmb3Iocj0oaT0obz1vLmluZGV4T2YoIj8iKT4tMT9vLnJlcGxhY2UoL1xTKlw/LywiIik6IiIpLnNwbGl0KCImIikuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4iIiE9PWV9KSkpLmxlbmd0aCx0PTA7dDxyO3QrPTEpcz1pW3RdLnJlcGxhY2UoLyNcUysvZywiIikuc3BsaXQoIj0iKSxuW2RlY29kZVVSSUNvbXBvbmVudChzWzBdKV09dm9pZCAwPT09c1sxXT92b2lkIDA6ZGVjb2RlVVJJQ29tcG9uZW50KHNbMV0pfHwiIjtyZXR1cm4gbn0saXNPYmplY3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS5jb25zdHJ1Y3RvciYmZS5jb25zdHJ1Y3Rvcj09PU9iamVjdH0sZXh0ZW5kOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9YXJndW1lbnRzLmxlbmd0aDt0LS07KWVbdF09YXJndW1lbnRzW3RdO2Zvcih2YXIgaT1PYmplY3QoZVswXSkscz0xO3M8ZS5sZW5ndGg7cys9MSl7dmFyIGE9ZVtzXTtpZihudWxsIT1hKWZvcih2YXIgcj1PYmplY3Qua2V5cyhPYmplY3QoYSkpLG49MCxvPXIubGVuZ3RoO248bztuKz0xKXt2YXIgbD1yW25dLGg9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLGwpO3ZvaWQgMCE9PWgmJmguZW51bWVyYWJsZSYmKGQuaXNPYmplY3QoaVtsXSkmJmQuaXNPYmplY3QoYVtsXSk/ZC5leHRlbmQoaVtsXSxhW2xdKTohZC5pc09iamVjdChpW2xdKSYmZC5pc09iamVjdChhW2xdKT8oaVtsXT17fSxkLmV4dGVuZChpW2xdLGFbbF0pKTppW2xdPWFbbF0pfX1yZXR1cm4gaX19LGg9e3RvdWNoOiEhKCJvbnRvdWNoc3RhcnQiaW4gYXx8YS5Eb2N1bWVudFRvdWNoJiZpIGluc3RhbmNlb2YgYS5Eb2N1bWVudFRvdWNoKSxwb2ludGVyRXZlbnRzOiEhYS5Qb2ludGVyRXZlbnQmJiJtYXhUb3VjaFBvaW50cyJpbiBhLm5hdmlnYXRvciYmYS5uYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+PTAsb2JzZXJ2ZXI6Ik11dGF0aW9uT2JzZXJ2ZXIiaW4gYXx8IldlYmtpdE11dGF0aW9uT2JzZXJ2ZXIiaW4gYSxwYXNzaXZlTGlzdGVuZXI6ZnVuY3Rpb24oKXt2YXIgZT0hMTt0cnl7dmFyIHQ9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7ZT0hMH19KTthLmFkZEV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlTGlzdGVuZXIiLG51bGwsdCl9Y2F0Y2goZSl7fXJldHVybiBlfSgpLGdlc3R1cmVzOiJvbmdlc3R1cmVzdGFydCJpbiBhfSxwPWZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUmJihlPXt9KTt2YXIgdD10aGlzO3QucGFyYW1zPWUsdC5ldmVudHNMaXN0ZW5lcnM9e30sdC5wYXJhbXMmJnQucGFyYW1zLm9uJiZPYmplY3Qua2V5cyh0LnBhcmFtcy5vbikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dC5vbihlLHQucGFyYW1zLm9uW2VdKX0pKX0sYz17Y29tcG9uZW50czp7Y29uZmlndXJhYmxlOiEwfX07cC5wcm90b3R5cGUub249ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXM7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpcmV0dXJuIHM7dmFyIGE9aT8idW5zaGlmdCI6InB1c2giO3JldHVybiBlLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cy5ldmVudHNMaXN0ZW5lcnNbZV18fChzLmV2ZW50c0xpc3RlbmVyc1tlXT1bXSkscy5ldmVudHNMaXN0ZW5lcnNbZV1bYV0odCl9KSksc30scC5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQsaSl7dmFyIHM9dGhpcztpZigiZnVuY3Rpb24iIT10eXBlb2YgdClyZXR1cm4gcztmdW5jdGlvbiBhKCl7Zm9yKHZhciBpPVtdLHI9YXJndW1lbnRzLmxlbmd0aDtyLS07KWlbcl09YXJndW1lbnRzW3JdO3Mub2ZmKGUsYSksYS5mN3Byb3h5JiZkZWxldGUgYS5mN3Byb3h5LHQuYXBwbHkocyxpKX1yZXR1cm4gYS5mN3Byb3h5PXQscy5vbihlLGEsaSl9LHAucHJvdG90eXBlLm9mZj1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXM7cmV0dXJuIGkuZXZlbnRzTGlzdGVuZXJzPyhlLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dm9pZCAwPT09dD9pLmV2ZW50c0xpc3RlbmVyc1tlXT1bXTppLmV2ZW50c0xpc3RlbmVyc1tlXSYmaS5ldmVudHNMaXN0ZW5lcnNbZV0ubGVuZ3RoJiZpLmV2ZW50c0xpc3RlbmVyc1tlXS5mb3JFYWNoKChmdW5jdGlvbihzLGEpeyhzPT09dHx8cy5mN3Byb3h5JiZzLmY3cHJveHk9PT10KSYmaS5ldmVudHNMaXN0ZW5lcnNbZV0uc3BsaWNlKGEsMSl9KSl9KSksaSk6aX0scC5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSx0PWFyZ3VtZW50cy5sZW5ndGg7dC0tOyllW3RdPWFyZ3VtZW50c1t0XTt2YXIgaSxzLGEscj10aGlzO2lmKCFyLmV2ZW50c0xpc3RlbmVycylyZXR1cm4gcjsic3RyaW5nIj09dHlwZW9mIGVbMF18fEFycmF5LmlzQXJyYXkoZVswXSk/KGk9ZVswXSxzPWUuc2xpY2UoMSxlLmxlbmd0aCksYT1yKTooaT1lWzBdLmV2ZW50cyxzPWVbMF0uZGF0YSxhPWVbMF0uY29udGV4dHx8cik7dmFyIG49QXJyYXkuaXNBcnJheShpKT9pOmkuc3BsaXQoIiAiKTtyZXR1cm4gbi5mb3JFYWNoKChmdW5jdGlvbihlKXtpZihyLmV2ZW50c0xpc3RlbmVycyYmci5ldmVudHNMaXN0ZW5lcnNbZV0pe3ZhciB0PVtdO3IuZXZlbnRzTGlzdGVuZXJzW2VdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QucHVzaChlKX0pKSx0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UuYXBwbHkoYSxzKX0pKX19KSkscn0scC5wcm90b3R5cGUudXNlTW9kdWxlc1BhcmFtcz1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3QubW9kdWxlcyYmT2JqZWN0LmtleXModC5tb2R1bGVzKS5mb3JFYWNoKChmdW5jdGlvbihpKXt2YXIgcz10Lm1vZHVsZXNbaV07cy5wYXJhbXMmJmQuZXh0ZW5kKGUscy5wYXJhbXMpfSkpfSxwLnByb3RvdHlwZS51c2VNb2R1bGVzPWZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUmJihlPXt9KTt2YXIgdD10aGlzO3QubW9kdWxlcyYmT2JqZWN0LmtleXModC5tb2R1bGVzKS5mb3JFYWNoKChmdW5jdGlvbihpKXt2YXIgcz10Lm1vZHVsZXNbaV0sYT1lW2ldfHx7fTtzLmluc3RhbmNlJiZPYmplY3Qua2V5cyhzLmluc3RhbmNlKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgaT1zLmluc3RhbmNlW2VdO3RbZV09ImZ1bmN0aW9uIj09dHlwZW9mIGk/aS5iaW5kKHQpOml9KSkscy5vbiYmdC5vbiYmT2JqZWN0LmtleXMocy5vbikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dC5vbihlLHMub25bZV0pfSkpLHMuY3JlYXRlJiZzLmNyZWF0ZS5iaW5kKHQpKGEpfSkpfSxjLmNvbXBvbmVudHMuc2V0PWZ1bmN0aW9uKGUpe3RoaXMudXNlJiZ0aGlzLnVzZShlKX0scC5pbnN0YWxsTW9kdWxlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxpPWFyZ3VtZW50cy5sZW5ndGgtMTtpLS0gPjA7KXRbaV09YXJndW1lbnRzW2krMV07dmFyIHM9dGhpcztzLnByb3RvdHlwZS5tb2R1bGVzfHwocy5wcm90b3R5cGUubW9kdWxlcz17fSk7dmFyIGE9ZS5uYW1lfHxPYmplY3Qua2V5cyhzLnByb3RvdHlwZS5tb2R1bGVzKS5sZW5ndGgrIl8iK2Qubm93KCk7cmV0dXJuIHMucHJvdG90eXBlLm1vZHVsZXNbYV09ZSxlLnByb3RvJiZPYmplY3Qua2V5cyhlLnByb3RvKS5mb3JFYWNoKChmdW5jdGlvbih0KXtzLnByb3RvdHlwZVt0XT1lLnByb3RvW3RdfSkpLGUuc3RhdGljJiZPYmplY3Qua2V5cyhlLnN0YXRpYykuZm9yRWFjaCgoZnVuY3Rpb24odCl7c1t0XT1lLnN0YXRpY1t0XX0pKSxlLmluc3RhbGwmJmUuaW5zdGFsbC5hcHBseShzLHQpLHN9LHAudXNlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxpPWFyZ3VtZW50cy5sZW5ndGgtMTtpLS0gPjA7KXRbaV09YXJndW1lbnRzW2krMV07dmFyIHM9dGhpcztyZXR1cm4gQXJyYXkuaXNBcnJheShlKT8oZS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gcy5pbnN0YWxsTW9kdWxlKGUpfSkpLHMpOnMuaW5zdGFsbE1vZHVsZS5hcHBseShzLFtlXS5jb25jYXQodCkpfSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhwLGMpO3ZhciB1PXt1cGRhdGVTaXplOmZ1bmN0aW9uKCl7dmFyIGUsdCxpPXRoaXMuJGVsO2U9dm9pZCAwIT09dGhpcy5wYXJhbXMud2lkdGg/dGhpcy5wYXJhbXMud2lkdGg6aVswXS5jbGllbnRXaWR0aCx0PXZvaWQgMCE9PXRoaXMucGFyYW1zLmhlaWdodD90aGlzLnBhcmFtcy5oZWlnaHQ6aVswXS5jbGllbnRIZWlnaHQsMD09PWUmJnRoaXMuaXNIb3Jpem9udGFsKCl8fDA9PT10JiZ0aGlzLmlzVmVydGljYWwoKXx8KGU9ZS1wYXJzZUludChpLmNzcygicGFkZGluZy1sZWZ0IiksMTApLXBhcnNlSW50KGkuY3NzKCJwYWRkaW5nLXJpZ2h0IiksMTApLHQ9dC1wYXJzZUludChpLmNzcygicGFkZGluZy10b3AiKSwxMCktcGFyc2VJbnQoaS5jc3MoInBhZGRpbmctYm90dG9tIiksMTApLGQuZXh0ZW5kKHRoaXMse3dpZHRoOmUsaGVpZ2h0OnQsc2l6ZTp0aGlzLmlzSG9yaXpvbnRhbCgpP2U6dH0pKX0sdXBkYXRlU2xpZGVzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5wYXJhbXMsdD10aGlzLiR3cmFwcGVyRWwsaT10aGlzLnNpemUscz10aGlzLnJ0bFRyYW5zbGF0ZSxyPXRoaXMud3JvbmdSVEwsbj10aGlzLnZpcnR1YWwmJmUudmlydHVhbC5lbmFibGVkLG89bj90aGlzLnZpcnR1YWwuc2xpZGVzLmxlbmd0aDp0aGlzLnNsaWRlcy5sZW5ndGgsbD10LmNoaWxkcmVuKCIuIit0aGlzLnBhcmFtcy5zbGlkZUNsYXNzKSxoPW4/dGhpcy52aXJ0dWFsLnNsaWRlcy5sZW5ndGg6bC5sZW5ndGgscD1bXSxjPVtdLHU9W107ZnVuY3Rpb24gdih0KXtyZXR1cm4hZS5jc3NNb2RlfHx0IT09bC5sZW5ndGgtMX12YXIgZj1lLnNsaWRlc09mZnNldEJlZm9yZTsiZnVuY3Rpb24iPT10eXBlb2YgZiYmKGY9ZS5zbGlkZXNPZmZzZXRCZWZvcmUuY2FsbCh0aGlzKSk7dmFyIG09ZS5zbGlkZXNPZmZzZXRBZnRlcjsiZnVuY3Rpb24iPT10eXBlb2YgbSYmKG09ZS5zbGlkZXNPZmZzZXRBZnRlci5jYWxsKHRoaXMpKTt2YXIgZz10aGlzLnNuYXBHcmlkLmxlbmd0aCxiPXRoaXMuc25hcEdyaWQubGVuZ3RoLHc9ZS5zcGFjZUJldHdlZW4seT0tZix4PTAsRT0wO2lmKHZvaWQgMCE9PWkpe3ZhciBULFM7InN0cmluZyI9PXR5cGVvZiB3JiZ3LmluZGV4T2YoIiUiKT49MCYmKHc9cGFyc2VGbG9hdCh3LnJlcGxhY2UoIiUiLCIiKSkvMTAwKmkpLHRoaXMudmlydHVhbFNpemU9LXcscz9sLmNzcyh7bWFyZ2luTGVmdDoiIixtYXJnaW5Ub3A6IiJ9KTpsLmNzcyh7bWFyZ2luUmlnaHQ6IiIsbWFyZ2luQm90dG9tOiIifSksZS5zbGlkZXNQZXJDb2x1bW4+MSYmKFQ9TWF0aC5mbG9vcihoL2Uuc2xpZGVzUGVyQ29sdW1uKT09PWgvdGhpcy5wYXJhbXMuc2xpZGVzUGVyQ29sdW1uP2g6TWF0aC5jZWlsKGgvZS5zbGlkZXNQZXJDb2x1bW4pKmUuc2xpZGVzUGVyQ29sdW1uLCJhdXRvIiE9PWUuc2xpZGVzUGVyVmlldyYmInJvdyI9PT1lLnNsaWRlc1BlckNvbHVtbkZpbGwmJihUPU1hdGgubWF4KFQsZS5zbGlkZXNQZXJWaWV3KmUuc2xpZGVzUGVyQ29sdW1uKSkpO2Zvcih2YXIgQyxNPWUuc2xpZGVzUGVyQ29sdW1uLFA9VC9NLHo9TWF0aC5mbG9vcihoL2Uuc2xpZGVzUGVyQ29sdW1uKSxrPTA7azxoO2srPTEpe1M9MDt2YXIgJD1sLmVxKGspO2lmKGUuc2xpZGVzUGVyQ29sdW1uPjEpe3ZhciBMPXZvaWQgMCxJPXZvaWQgMCxEPXZvaWQgMDtpZigicm93Ij09PWUuc2xpZGVzUGVyQ29sdW1uRmlsbCYmZS5zbGlkZXNQZXJHcm91cD4xKXt2YXIgTz1NYXRoLmZsb29yKGsvKGUuc2xpZGVzUGVyR3JvdXAqZS5zbGlkZXNQZXJDb2x1bW4pKSxBPWstZS5zbGlkZXNQZXJDb2x1bW4qZS5zbGlkZXNQZXJHcm91cCpPLEc9MD09PU8/ZS5zbGlkZXNQZXJHcm91cDpNYXRoLm1pbihNYXRoLmNlaWwoKGgtTypNKmUuc2xpZGVzUGVyR3JvdXApL00pLGUuc2xpZGVzUGVyR3JvdXApO0w9KEk9QS0oRD1NYXRoLmZsb29yKEEvRykpKkcrTyplLnNsaWRlc1Blckdyb3VwKStEKlQvTSwkLmNzcyh7Ii13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXAiOkwsIi1tb3otYm94LW9yZGluYWwtZ3JvdXAiOkwsIi1tcy1mbGV4LW9yZGVyIjpMLCItd2Via2l0LW9yZGVyIjpMLG9yZGVyOkx9KX1lbHNlImNvbHVtbiI9PT1lLnNsaWRlc1BlckNvbHVtbkZpbGw/KEQ9ay0oST1NYXRoLmZsb29yKGsvTSkpKk0sKEk+enx8ST09PXomJkQ9PT1NLTEpJiYoRCs9MSk+PU0mJihEPTAsSSs9MSkpOkk9ay0oRD1NYXRoLmZsb29yKGsvUCkpKlA7JC5jc3MoIm1hcmdpbi0iKyh0aGlzLmlzSG9yaXpvbnRhbCgpPyJ0b3AiOiJsZWZ0IiksMCE9PUQmJmUuc3BhY2VCZXR3ZWVuJiZlLnNwYWNlQmV0d2VlbisicHgiKX1pZigibm9uZSIhPT0kLmNzcygiZGlzcGxheSIpKXtpZigiYXV0byI9PT1lLnNsaWRlc1BlclZpZXcpe3ZhciBIPWEuZ2V0Q29tcHV0ZWRTdHlsZSgkWzBdLG51bGwpLEI9JFswXS5zdHlsZS50cmFuc2Zvcm0sTj0kWzBdLnN0eWxlLndlYmtpdFRyYW5zZm9ybTtpZihCJiYoJFswXS5zdHlsZS50cmFuc2Zvcm09Im5vbmUiKSxOJiYoJFswXS5zdHlsZS53ZWJraXRUcmFuc2Zvcm09Im5vbmUiKSxlLnJvdW5kTGVuZ3RocylTPXRoaXMuaXNIb3Jpem9udGFsKCk/JC5vdXRlcldpZHRoKCEwKTokLm91dGVySGVpZ2h0KCEwKTtlbHNlIGlmKHRoaXMuaXNIb3Jpem9udGFsKCkpe3ZhciBYPXBhcnNlRmxvYXQoSC5nZXRQcm9wZXJ0eVZhbHVlKCJ3aWR0aCIpKSxWPXBhcnNlRmxvYXQoSC5nZXRQcm9wZXJ0eVZhbHVlKCJwYWRkaW5nLWxlZnQiKSksWT1wYXJzZUZsb2F0KEguZ2V0UHJvcGVydHlWYWx1ZSgicGFkZGluZy1yaWdodCIpKSxGPXBhcnNlRmxvYXQoSC5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tbGVmdCIpKSxXPXBhcnNlRmxvYXQoSC5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tcmlnaHQiKSksUj1ILmdldFByb3BlcnR5VmFsdWUoImJveC1zaXppbmciKTtTPVImJiJib3JkZXItYm94Ij09PVI/WCtGK1c6WCtWK1krRitXfWVsc2V7dmFyIHE9cGFyc2VGbG9hdChILmdldFByb3BlcnR5VmFsdWUoImhlaWdodCIpKSxqPXBhcnNlRmxvYXQoSC5nZXRQcm9wZXJ0eVZhbHVlKCJwYWRkaW5nLXRvcCIpKSxLPXBhcnNlRmxvYXQoSC5nZXRQcm9wZXJ0eVZhbHVlKCJwYWRkaW5nLWJvdHRvbSIpKSxVPXBhcnNlRmxvYXQoSC5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tdG9wIikpLF89cGFyc2VGbG9hdChILmdldFByb3BlcnR5VmFsdWUoIm1hcmdpbi1ib3R0b20iKSksWj1ILmdldFByb3BlcnR5VmFsdWUoImJveC1zaXppbmciKTtTPVomJiJib3JkZXItYm94Ij09PVo/cStVK186cStqK0srVStffUImJigkWzBdLnN0eWxlLnRyYW5zZm9ybT1CKSxOJiYoJFswXS5zdHlsZS53ZWJraXRUcmFuc2Zvcm09TiksZS5yb3VuZExlbmd0aHMmJihTPU1hdGguZmxvb3IoUykpfWVsc2UgUz0oaS0oZS5zbGlkZXNQZXJWaWV3LTEpKncpL2Uuc2xpZGVzUGVyVmlldyxlLnJvdW5kTGVuZ3RocyYmKFM9TWF0aC5mbG9vcihTKSksbFtrXSYmKHRoaXMuaXNIb3Jpem9udGFsKCk/bFtrXS5zdHlsZS53aWR0aD1TKyJweCI6bFtrXS5zdHlsZS5oZWlnaHQ9UysicHgiKTtsW2tdJiYobFtrXS5zd2lwZXJTbGlkZVNpemU9UyksdS5wdXNoKFMpLGUuY2VudGVyZWRTbGlkZXM/KHk9eStTLzIreC8yK3csMD09PXgmJjAhPT1rJiYoeT15LWkvMi13KSwwPT09ayYmKHk9eS1pLzItdyksTWF0aC5hYnMoeSk8LjAwMSYmKHk9MCksZS5yb3VuZExlbmd0aHMmJih5PU1hdGguZmxvb3IoeSkpLEUlZS5zbGlkZXNQZXJHcm91cD09MCYmcC5wdXNoKHkpLGMucHVzaCh5KSk6KGUucm91bmRMZW5ndGhzJiYoeT1NYXRoLmZsb29yKHkpKSwoRS1NYXRoLm1pbih0aGlzLnBhcmFtcy5zbGlkZXNQZXJHcm91cFNraXAsRSkpJXRoaXMucGFyYW1zLnNsaWRlc1Blckdyb3VwPT0wJiZwLnB1c2goeSksYy5wdXNoKHkpLHk9eStTK3cpLHRoaXMudmlydHVhbFNpemUrPVMrdyx4PVMsRSs9MX19aWYodGhpcy52aXJ0dWFsU2l6ZT1NYXRoLm1heCh0aGlzLnZpcnR1YWxTaXplLGkpK20scyYmciYmKCJzbGlkZSI9PT1lLmVmZmVjdHx8ImNvdmVyZmxvdyI9PT1lLmVmZmVjdCkmJnQuY3NzKHt3aWR0aDp0aGlzLnZpcnR1YWxTaXplK2Uuc3BhY2VCZXR3ZWVuKyJweCJ9KSxlLnNldFdyYXBwZXJTaXplJiYodGhpcy5pc0hvcml6b250YWwoKT90LmNzcyh7d2lkdGg6dGhpcy52aXJ0dWFsU2l6ZStlLnNwYWNlQmV0d2VlbisicHgifSk6dC5jc3Moe2hlaWdodDp0aGlzLnZpcnR1YWxTaXplK2Uuc3BhY2VCZXR3ZWVuKyJweCJ9KSksZS5zbGlkZXNQZXJDb2x1bW4+MSYmKHRoaXMudmlydHVhbFNpemU9KFMrZS5zcGFjZUJldHdlZW4pKlQsdGhpcy52aXJ0dWFsU2l6ZT1NYXRoLmNlaWwodGhpcy52aXJ0dWFsU2l6ZS9lLnNsaWRlc1BlckNvbHVtbiktZS5zcGFjZUJldHdlZW4sdGhpcy5pc0hvcml6b250YWwoKT90LmNzcyh7d2lkdGg6dGhpcy52aXJ0dWFsU2l6ZStlLnNwYWNlQmV0d2VlbisicHgifSk6dC5jc3Moe2hlaWdodDp0aGlzLnZpcnR1YWxTaXplK2Uuc3BhY2VCZXR3ZWVuKyJweCJ9KSxlLmNlbnRlcmVkU2xpZGVzKSl7Qz1bXTtmb3IodmFyIFE9MDtRPHAubGVuZ3RoO1ErPTEpe3ZhciBKPXBbUV07ZS5yb3VuZExlbmd0aHMmJihKPU1hdGguZmxvb3IoSikpLHBbUV08dGhpcy52aXJ0dWFsU2l6ZStwWzBdJiZDLnB1c2goSil9cD1DfWlmKCFlLmNlbnRlcmVkU2xpZGVzKXtDPVtdO2Zvcih2YXIgZWU9MDtlZTxwLmxlbmd0aDtlZSs9MSl7dmFyIHRlPXBbZWVdO2Uucm91bmRMZW5ndGhzJiYodGU9TWF0aC5mbG9vcih0ZSkpLHBbZWVdPD10aGlzLnZpcnR1YWxTaXplLWkmJkMucHVzaCh0ZSl9cD1DLE1hdGguZmxvb3IodGhpcy52aXJ0dWFsU2l6ZS1pKS1NYXRoLmZsb29yKHBbcC5sZW5ndGgtMV0pPjEmJnAucHVzaCh0aGlzLnZpcnR1YWxTaXplLWkpfWlmKDA9PT1wLmxlbmd0aCYmKHA9WzBdKSwwIT09ZS5zcGFjZUJldHdlZW4mJih0aGlzLmlzSG9yaXpvbnRhbCgpP3M/bC5maWx0ZXIodikuY3NzKHttYXJnaW5MZWZ0OncrInB4In0pOmwuZmlsdGVyKHYpLmNzcyh7bWFyZ2luUmlnaHQ6dysicHgifSk6bC5maWx0ZXIodikuY3NzKHttYXJnaW5Cb3R0b206dysicHgifSkpLGUuY2VudGVyZWRTbGlkZXMmJmUuY2VudGVyZWRTbGlkZXNCb3VuZHMpe3ZhciBpZT0wO3UuZm9yRWFjaCgoZnVuY3Rpb24odCl7aWUrPXQrKGUuc3BhY2VCZXR3ZWVuP2Uuc3BhY2VCZXR3ZWVuOjApfSkpO3ZhciBzZT0oaWUtPWUuc3BhY2VCZXR3ZWVuKS1pO3A9cC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBlPDA/LWY6ZT5zZT9zZSttOmV9KSl9aWYoZS5jZW50ZXJJbnN1ZmZpY2llbnRTbGlkZXMpe3ZhciBhZT0wO2lmKHUuZm9yRWFjaCgoZnVuY3Rpb24odCl7YWUrPXQrKGUuc3BhY2VCZXR3ZWVuP2Uuc3BhY2VCZXR3ZWVuOjApfSkpLChhZS09ZS5zcGFjZUJldHdlZW4pPGkpe3ZhciByZT0oaS1hZSkvMjtwLmZvckVhY2goKGZ1bmN0aW9uKGUsdCl7cFt0XT1lLXJlfSkpLGMuZm9yRWFjaCgoZnVuY3Rpb24oZSx0KXtjW3RdPWUrcmV9KSl9fWQuZXh0ZW5kKHRoaXMse3NsaWRlczpsLHNuYXBHcmlkOnAsc2xpZGVzR3JpZDpjLHNsaWRlc1NpemVzR3JpZDp1fSksaCE9PW8mJnRoaXMuZW1pdCgic2xpZGVzTGVuZ3RoQ2hhbmdlIikscC5sZW5ndGghPT1nJiYodGhpcy5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmdGhpcy5jaGVja092ZXJmbG93KCksdGhpcy5lbWl0KCJzbmFwR3JpZExlbmd0aENoYW5nZSIpKSxjLmxlbmd0aCE9PWImJnRoaXMuZW1pdCgic2xpZGVzR3JpZExlbmd0aENoYW5nZSIpLChlLndhdGNoU2xpZGVzUHJvZ3Jlc3N8fGUud2F0Y2hTbGlkZXNWaXNpYmlsaXR5KSYmdGhpcy51cGRhdGVTbGlkZXNPZmZzZXQoKX19LHVwZGF0ZUF1dG9IZWlnaHQ6ZnVuY3Rpb24oZSl7dmFyIHQsaT1bXSxzPTA7aWYoIm51bWJlciI9PXR5cGVvZiBlP3RoaXMuc2V0VHJhbnNpdGlvbihlKTohMD09PWUmJnRoaXMuc2V0VHJhbnNpdGlvbih0aGlzLnBhcmFtcy5zcGVlZCksImF1dG8iIT09dGhpcy5wYXJhbXMuc2xpZGVzUGVyVmlldyYmdGhpcy5wYXJhbXMuc2xpZGVzUGVyVmlldz4xKWlmKHRoaXMucGFyYW1zLmNlbnRlcmVkU2xpZGVzKXRoaXMudmlzaWJsZVNsaWRlcy5lYWNoKChmdW5jdGlvbihlLHQpe2kucHVzaCh0KX0pKTtlbHNlIGZvcih0PTA7dDxNYXRoLmNlaWwodGhpcy5wYXJhbXMuc2xpZGVzUGVyVmlldyk7dCs9MSl7dmFyIGE9dGhpcy5hY3RpdmVJbmRleCt0O2lmKGE+dGhpcy5zbGlkZXMubGVuZ3RoKWJyZWFrO2kucHVzaCh0aGlzLnNsaWRlcy5lcShhKVswXSl9ZWxzZSBpLnB1c2godGhpcy5zbGlkZXMuZXEodGhpcy5hY3RpdmVJbmRleClbMF0pO2Zvcih0PTA7dDxpLmxlbmd0aDt0Kz0xKWlmKHZvaWQgMCE9PWlbdF0pe3ZhciByPWlbdF0ub2Zmc2V0SGVpZ2h0O3M9cj5zP3I6c31zJiZ0aGlzLiR3cmFwcGVyRWwuY3NzKCJoZWlnaHQiLHMrInB4Iil9LHVwZGF0ZVNsaWRlc09mZnNldDpmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLnNsaWRlcyx0PTA7dDxlLmxlbmd0aDt0Kz0xKWVbdF0uc3dpcGVyU2xpZGVPZmZzZXQ9dGhpcy5pc0hvcml6b250YWwoKT9lW3RdLm9mZnNldExlZnQ6ZVt0XS5vZmZzZXRUb3B9LHVwZGF0ZVNsaWRlc1Byb2dyZXNzOmZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUmJihlPXRoaXMmJnRoaXMudHJhbnNsYXRlfHwwKTt2YXIgdD10aGlzLnBhcmFtcyxpPXRoaXMuc2xpZGVzLHM9dGhpcy5ydGxUcmFuc2xhdGU7aWYoMCE9PWkubGVuZ3RoKXt2b2lkIDA9PT1pWzBdLnN3aXBlclNsaWRlT2Zmc2V0JiZ0aGlzLnVwZGF0ZVNsaWRlc09mZnNldCgpO3ZhciBhPS1lO3MmJihhPWUpLGkucmVtb3ZlQ2xhc3ModC5zbGlkZVZpc2libGVDbGFzcyksdGhpcy52aXNpYmxlU2xpZGVzSW5kZXhlcz1bXSx0aGlzLnZpc2libGVTbGlkZXM9W107Zm9yKHZhciByPTA7cjxpLmxlbmd0aDtyKz0xKXt2YXIgbz1pW3JdLGw9KGErKHQuY2VudGVyZWRTbGlkZXM/dGhpcy5taW5UcmFuc2xhdGUoKTowKS1vLnN3aXBlclNsaWRlT2Zmc2V0KS8oby5zd2lwZXJTbGlkZVNpemUrdC5zcGFjZUJldHdlZW4pO2lmKHQud2F0Y2hTbGlkZXNWaXNpYmlsaXR5fHx0LmNlbnRlcmVkU2xpZGVzJiZ0LmF1dG9IZWlnaHQpe3ZhciBkPS0oYS1vLnN3aXBlclNsaWRlT2Zmc2V0KSxoPWQrdGhpcy5zbGlkZXNTaXplc0dyaWRbcl07KGQ+PTAmJmQ8dGhpcy5zaXplLTF8fGg+MSYmaDw9dGhpcy5zaXplfHxkPD0wJiZoPj10aGlzLnNpemUpJiYodGhpcy52aXNpYmxlU2xpZGVzLnB1c2gobyksdGhpcy52aXNpYmxlU2xpZGVzSW5kZXhlcy5wdXNoKHIpLGkuZXEocikuYWRkQ2xhc3ModC5zbGlkZVZpc2libGVDbGFzcykpfW8ucHJvZ3Jlc3M9cz8tbDpsfXRoaXMudmlzaWJsZVNsaWRlcz1uKHRoaXMudmlzaWJsZVNsaWRlcyl9fSx1cGRhdGVQcm9ncmVzczpmdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lKXt2YXIgdD10aGlzLnJ0bFRyYW5zbGF0ZT8tMToxO2U9dGhpcyYmdGhpcy50cmFuc2xhdGUmJnRoaXMudHJhbnNsYXRlKnR8fDB9dmFyIGk9dGhpcy5wYXJhbXMscz10aGlzLm1heFRyYW5zbGF0ZSgpLXRoaXMubWluVHJhbnNsYXRlKCksYT10aGlzLnByb2dyZXNzLHI9dGhpcy5pc0JlZ2lubmluZyxuPXRoaXMuaXNFbmQsbz1yLGw9bjswPT09cz8oYT0wLHI9ITAsbj0hMCk6KHI9KGE9KGUtdGhpcy5taW5UcmFuc2xhdGUoKSkvcyk8PTAsbj1hPj0xKSxkLmV4dGVuZCh0aGlzLHtwcm9ncmVzczphLGlzQmVnaW5uaW5nOnIsaXNFbmQ6bn0pLChpLndhdGNoU2xpZGVzUHJvZ3Jlc3N8fGkud2F0Y2hTbGlkZXNWaXNpYmlsaXR5fHxpLmNlbnRlcmVkU2xpZGVzJiZpLmF1dG9IZWlnaHQpJiZ0aGlzLnVwZGF0ZVNsaWRlc1Byb2dyZXNzKGUpLHImJiFvJiZ0aGlzLmVtaXQoInJlYWNoQmVnaW5uaW5nIHRvRWRnZSIpLG4mJiFsJiZ0aGlzLmVtaXQoInJlYWNoRW5kIHRvRWRnZSIpLChvJiYhcnx8bCYmIW4pJiZ0aGlzLmVtaXQoImZyb21FZGdlIiksdGhpcy5lbWl0KCJwcm9ncmVzcyIsYSl9LHVwZGF0ZVNsaWRlc0NsYXNzZXM6ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMuc2xpZGVzLGk9dGhpcy5wYXJhbXMscz10aGlzLiR3cmFwcGVyRWwsYT10aGlzLmFjdGl2ZUluZGV4LHI9dGhpcy5yZWFsSW5kZXgsbj10aGlzLnZpcnR1YWwmJmkudmlydHVhbC5lbmFibGVkO3QucmVtb3ZlQ2xhc3MoaS5zbGlkZUFjdGl2ZUNsYXNzKyIgIitpLnNsaWRlTmV4dENsYXNzKyIgIitpLnNsaWRlUHJldkNsYXNzKyIgIitpLnNsaWRlRHVwbGljYXRlQWN0aXZlQ2xhc3MrIiAiK2kuc2xpZGVEdXBsaWNhdGVOZXh0Q2xhc3MrIiAiK2kuc2xpZGVEdXBsaWNhdGVQcmV2Q2xhc3MpLChlPW4/dGhpcy4kd3JhcHBlckVsLmZpbmQoIi4iK2kuc2xpZGVDbGFzcysnW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSInK2ErJyJdJyk6dC5lcShhKSkuYWRkQ2xhc3MoaS5zbGlkZUFjdGl2ZUNsYXNzKSxpLmxvb3AmJihlLmhhc0NsYXNzKGkuc2xpZGVEdXBsaWNhdGVDbGFzcyk/cy5jaGlsZHJlbigiLiIraS5zbGlkZUNsYXNzKyI6bm90KC4iK2kuc2xpZGVEdXBsaWNhdGVDbGFzcysnKVtkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJytyKyciXScpLmFkZENsYXNzKGkuc2xpZGVEdXBsaWNhdGVBY3RpdmVDbGFzcyk6cy5jaGlsZHJlbigiLiIraS5zbGlkZUNsYXNzKyIuIitpLnNsaWRlRHVwbGljYXRlQ2xhc3MrJ1tkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJytyKyciXScpLmFkZENsYXNzKGkuc2xpZGVEdXBsaWNhdGVBY3RpdmVDbGFzcykpO3ZhciBvPWUubmV4dEFsbCgiLiIraS5zbGlkZUNsYXNzKS5lcSgwKS5hZGRDbGFzcyhpLnNsaWRlTmV4dENsYXNzKTtpLmxvb3AmJjA9PT1vLmxlbmd0aCYmKG89dC5lcSgwKSkuYWRkQ2xhc3MoaS5zbGlkZU5leHRDbGFzcyk7dmFyIGw9ZS5wcmV2QWxsKCIuIitpLnNsaWRlQ2xhc3MpLmVxKDApLmFkZENsYXNzKGkuc2xpZGVQcmV2Q2xhc3MpO2kubG9vcCYmMD09PWwubGVuZ3RoJiYobD10LmVxKC0xKSkuYWRkQ2xhc3MoaS5zbGlkZVByZXZDbGFzcyksaS5sb29wJiYoby5oYXNDbGFzcyhpLnNsaWRlRHVwbGljYXRlQ2xhc3MpP3MuY2hpbGRyZW4oIi4iK2kuc2xpZGVDbGFzcysiOm5vdCguIitpLnNsaWRlRHVwbGljYXRlQ2xhc3MrJylbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9Iicrby5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpKyciXScpLmFkZENsYXNzKGkuc2xpZGVEdXBsaWNhdGVOZXh0Q2xhc3MpOnMuY2hpbGRyZW4oIi4iK2kuc2xpZGVDbGFzcysiLiIraS5zbGlkZUR1cGxpY2F0ZUNsYXNzKydbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9Iicrby5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpKyciXScpLmFkZENsYXNzKGkuc2xpZGVEdXBsaWNhdGVOZXh0Q2xhc3MpLGwuaGFzQ2xhc3MoaS5zbGlkZUR1cGxpY2F0ZUNsYXNzKT9zLmNoaWxkcmVuKCIuIitpLnNsaWRlQ2xhc3MrIjpub3QoLiIraS5zbGlkZUR1cGxpY2F0ZUNsYXNzKycpW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSInK2wuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKSsnIl0nKS5hZGRDbGFzcyhpLnNsaWRlRHVwbGljYXRlUHJldkNsYXNzKTpzLmNoaWxkcmVuKCIuIitpLnNsaWRlQ2xhc3MrIi4iK2kuc2xpZGVEdXBsaWNhdGVDbGFzcysnW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSInK2wuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKSsnIl0nKS5hZGRDbGFzcyhpLnNsaWRlRHVwbGljYXRlUHJldkNsYXNzKSl9LHVwZGF0ZUFjdGl2ZUluZGV4OmZ1bmN0aW9uKGUpe3ZhciB0LGk9dGhpcy5ydGxUcmFuc2xhdGU/dGhpcy50cmFuc2xhdGU6LXRoaXMudHJhbnNsYXRlLHM9dGhpcy5zbGlkZXNHcmlkLGE9dGhpcy5zbmFwR3JpZCxyPXRoaXMucGFyYW1zLG49dGhpcy5hY3RpdmVJbmRleCxvPXRoaXMucmVhbEluZGV4LGw9dGhpcy5zbmFwSW5kZXgsaD1lO2lmKHZvaWQgMD09PWgpe2Zvcih2YXIgcD0wO3A8cy5sZW5ndGg7cCs9MSl2b2lkIDAhPT1zW3ArMV0/aT49c1twXSYmaTxzW3ArMV0tKHNbcCsxXS1zW3BdKS8yP2g9cDppPj1zW3BdJiZpPHNbcCsxXSYmKGg9cCsxKTppPj1zW3BdJiYoaD1wKTtyLm5vcm1hbGl6ZVNsaWRlSW5kZXgmJihoPDB8fHZvaWQgMD09PWgpJiYoaD0wKX1pZihhLmluZGV4T2YoaSk+PTApdD1hLmluZGV4T2YoaSk7ZWxzZXt2YXIgYz1NYXRoLm1pbihyLnNsaWRlc1Blckdyb3VwU2tpcCxoKTt0PWMrTWF0aC5mbG9vcigoaC1jKS9yLnNsaWRlc1Blckdyb3VwKX1pZih0Pj1hLmxlbmd0aCYmKHQ9YS5sZW5ndGgtMSksaCE9PW4pe3ZhciB1PXBhcnNlSW50KHRoaXMuc2xpZGVzLmVxKGgpLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4Iil8fGgsMTApO2QuZXh0ZW5kKHRoaXMse3NuYXBJbmRleDp0LHJlYWxJbmRleDp1LHByZXZpb3VzSW5kZXg6bixhY3RpdmVJbmRleDpofSksdGhpcy5lbWl0KCJhY3RpdmVJbmRleENoYW5nZSIpLHRoaXMuZW1pdCgic25hcEluZGV4Q2hhbmdlIiksbyE9PXUmJnRoaXMuZW1pdCgicmVhbEluZGV4Q2hhbmdlIiksKHRoaXMuaW5pdGlhbGl6ZWR8fHRoaXMucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCkmJnRoaXMuZW1pdCgic2xpZGVDaGFuZ2UiKX1lbHNlIHQhPT1sJiYodGhpcy5zbmFwSW5kZXg9dCx0aGlzLmVtaXQoInNuYXBJbmRleENoYW5nZSIpKX0sdXBkYXRlQ2xpY2tlZFNsaWRlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucGFyYW1zLGk9bihlLnRhcmdldCkuY2xvc2VzdCgiLiIrdC5zbGlkZUNsYXNzKVswXSxzPSExO2lmKGkpZm9yKHZhciBhPTA7YTx0aGlzLnNsaWRlcy5sZW5ndGg7YSs9MSl0aGlzLnNsaWRlc1thXT09PWkmJihzPSEwKTtpZighaXx8IXMpcmV0dXJuIHRoaXMuY2xpY2tlZFNsaWRlPXZvaWQgMCx2b2lkKHRoaXMuY2xpY2tlZEluZGV4PXZvaWQgMCk7dGhpcy5jbGlja2VkU2xpZGU9aSx0aGlzLnZpcnR1YWwmJnRoaXMucGFyYW1zLnZpcnR1YWwuZW5hYmxlZD90aGlzLmNsaWNrZWRJbmRleD1wYXJzZUludChuKGkpLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4IiksMTApOnRoaXMuY2xpY2tlZEluZGV4PW4oaSkuaW5kZXgoKSx0LnNsaWRlVG9DbGlja2VkU2xpZGUmJnZvaWQgMCE9PXRoaXMuY2xpY2tlZEluZGV4JiZ0aGlzLmNsaWNrZWRJbmRleCE9PXRoaXMuYWN0aXZlSW5kZXgmJnRoaXMuc2xpZGVUb0NsaWNrZWRTbGlkZSgpfX07dmFyIHY9e2dldFRyYW5zbGF0ZTpmdW5jdGlvbihlKXt2b2lkIDA9PT1lJiYoZT10aGlzLmlzSG9yaXpvbnRhbCgpPyJ4IjoieSIpO3ZhciB0PXRoaXMucGFyYW1zLGk9dGhpcy5ydGxUcmFuc2xhdGUscz10aGlzLnRyYW5zbGF0ZSxhPXRoaXMuJHdyYXBwZXJFbDtpZih0LnZpcnR1YWxUcmFuc2xhdGUpcmV0dXJuIGk/LXM6cztpZih0LmNzc01vZGUpcmV0dXJuIHM7dmFyIHI9ZC5nZXRUcmFuc2xhdGUoYVswXSxlKTtyZXR1cm4gaSYmKHI9LXIpLHJ8fDB9LHNldFRyYW5zbGF0ZTpmdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMucnRsVHJhbnNsYXRlLHM9dGhpcy5wYXJhbXMsYT10aGlzLiR3cmFwcGVyRWwscj10aGlzLndyYXBwZXJFbCxuPXRoaXMucHJvZ3Jlc3Msbz0wLGw9MDt0aGlzLmlzSG9yaXpvbnRhbCgpP289aT8tZTplOmw9ZSxzLnJvdW5kTGVuZ3RocyYmKG89TWF0aC5mbG9vcihvKSxsPU1hdGguZmxvb3IobCkpLHMuY3NzTW9kZT9yW3RoaXMuaXNIb3Jpem9udGFsKCk/InNjcm9sbExlZnQiOiJzY3JvbGxUb3AiXT10aGlzLmlzSG9yaXpvbnRhbCgpPy1vOi1sOnMudmlydHVhbFRyYW5zbGF0ZXx8YS50cmFuc2Zvcm0oInRyYW5zbGF0ZTNkKCIrbysicHgsICIrbCsicHgsIDBweCkiKSx0aGlzLnByZXZpb3VzVHJhbnNsYXRlPXRoaXMudHJhbnNsYXRlLHRoaXMudHJhbnNsYXRlPXRoaXMuaXNIb3Jpem9udGFsKCk/bzpsO3ZhciBkPXRoaXMubWF4VHJhbnNsYXRlKCktdGhpcy5taW5UcmFuc2xhdGUoKTsoMD09PWQ/MDooZS10aGlzLm1pblRyYW5zbGF0ZSgpKS9kKSE9PW4mJnRoaXMudXBkYXRlUHJvZ3Jlc3MoZSksdGhpcy5lbWl0KCJzZXRUcmFuc2xhdGUiLHRoaXMudHJhbnNsYXRlLHQpfSxtaW5UcmFuc2xhdGU6ZnVuY3Rpb24oKXtyZXR1cm4tdGhpcy5zbmFwR3JpZFswXX0sbWF4VHJhbnNsYXRlOmZ1bmN0aW9uKCl7cmV0dXJuLXRoaXMuc25hcEdyaWRbdGhpcy5zbmFwR3JpZC5sZW5ndGgtMV19LHRyYW5zbGF0ZVRvOmZ1bmN0aW9uKGUsdCxpLHMsYSl7dmFyIHI7dm9pZCAwPT09ZSYmKGU9MCksdm9pZCAwPT09dCYmKHQ9dGhpcy5wYXJhbXMuc3BlZWQpLHZvaWQgMD09PWkmJihpPSEwKSx2b2lkIDA9PT1zJiYocz0hMCk7dmFyIG49dGhpcyxvPW4ucGFyYW1zLGw9bi53cmFwcGVyRWw7aWYobi5hbmltYXRpbmcmJm8ucHJldmVudEludGVyYWN0aW9uT25UcmFuc2l0aW9uKXJldHVybiExO3ZhciBkLGg9bi5taW5UcmFuc2xhdGUoKSxwPW4ubWF4VHJhbnNsYXRlKCk7aWYoZD1zJiZlPmg/aDpzJiZlPHA/cDplLG4udXBkYXRlUHJvZ3Jlc3MoZCksby5jc3NNb2RlKXt2YXIgYz1uLmlzSG9yaXpvbnRhbCgpO3JldHVybiAwPT09dD9sW2M/InNjcm9sbExlZnQiOiJzY3JvbGxUb3AiXT0tZDpsLnNjcm9sbFRvP2wuc2Nyb2xsVG8oKChyPXt9KVtjPyJsZWZ0IjoidG9wIl09LWQsci5iZWhhdmlvcj0ic21vb3RoIixyKSk6bFtjPyJzY3JvbGxMZWZ0Ijoic2Nyb2xsVG9wIl09LWQsITB9cmV0dXJuIDA9PT10PyhuLnNldFRyYW5zaXRpb24oMCksbi5zZXRUcmFuc2xhdGUoZCksaSYmKG4uZW1pdCgiYmVmb3JlVHJhbnNpdGlvblN0YXJ0Iix0LGEpLG4uZW1pdCgidHJhbnNpdGlvbkVuZCIpKSk6KG4uc2V0VHJhbnNpdGlvbih0KSxuLnNldFRyYW5zbGF0ZShkKSxpJiYobi5lbWl0KCJiZWZvcmVUcmFuc2l0aW9uU3RhcnQiLHQsYSksbi5lbWl0KCJ0cmFuc2l0aW9uU3RhcnQiKSksbi5hbmltYXRpbmd8fChuLmFuaW1hdGluZz0hMCxuLm9uVHJhbnNsYXRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZHx8KG4ub25UcmFuc2xhdGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kPWZ1bmN0aW9uKGUpe24mJiFuLmRlc3Ryb3llZCYmZS50YXJnZXQ9PT10aGlzJiYobi4kd3JhcHBlckVsWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLG4ub25UcmFuc2xhdGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kKSxuLiR3cmFwcGVyRWxbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2Via2l0VHJhbnNpdGlvbkVuZCIsbi5vblRyYW5zbGF0ZVRvV3JhcHBlclRyYW5zaXRpb25FbmQpLG4ub25UcmFuc2xhdGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kPW51bGwsZGVsZXRlIG4ub25UcmFuc2xhdGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kLGkmJm4uZW1pdCgidHJhbnNpdGlvbkVuZCIpKX0pLG4uJHdyYXBwZXJFbFswXS5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixuLm9uVHJhbnNsYXRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCksbi4kd3JhcHBlckVsWzBdLmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLG4ub25UcmFuc2xhdGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kKSkpLCEwfX07dmFyIGY9e3NldFRyYW5zaXRpb246ZnVuY3Rpb24oZSx0KXt0aGlzLnBhcmFtcy5jc3NNb2RlfHx0aGlzLiR3cmFwcGVyRWwudHJhbnNpdGlvbihlKSx0aGlzLmVtaXQoInNldFRyYW5zaXRpb24iLGUsdCl9LHRyYW5zaXRpb25TdGFydDpmdW5jdGlvbihlLHQpe3ZvaWQgMD09PWUmJihlPSEwKTt2YXIgaT10aGlzLmFjdGl2ZUluZGV4LHM9dGhpcy5wYXJhbXMsYT10aGlzLnByZXZpb3VzSW5kZXg7aWYoIXMuY3NzTW9kZSl7cy5hdXRvSGVpZ2h0JiZ0aGlzLnVwZGF0ZUF1dG9IZWlnaHQoKTt2YXIgcj10O2lmKHJ8fChyPWk+YT8ibmV4dCI6aTxhPyJwcmV2IjoicmVzZXQiKSx0aGlzLmVtaXQoInRyYW5zaXRpb25TdGFydCIpLGUmJmkhPT1hKXtpZigicmVzZXQiPT09cilyZXR1cm4gdm9pZCB0aGlzLmVtaXQoInNsaWRlUmVzZXRUcmFuc2l0aW9uU3RhcnQiKTt0aGlzLmVtaXQoInNsaWRlQ2hhbmdlVHJhbnNpdGlvblN0YXJ0IiksIm5leHQiPT09cj90aGlzLmVtaXQoInNsaWRlTmV4dFRyYW5zaXRpb25TdGFydCIpOnRoaXMuZW1pdCgic2xpZGVQcmV2VHJhbnNpdGlvblN0YXJ0Iil9fX0sdHJhbnNpdGlvbkVuZDpmdW5jdGlvbihlLHQpe3ZvaWQgMD09PWUmJihlPSEwKTt2YXIgaT10aGlzLmFjdGl2ZUluZGV4LHM9dGhpcy5wcmV2aW91c0luZGV4LGE9dGhpcy5wYXJhbXM7aWYodGhpcy5hbmltYXRpbmc9ITEsIWEuY3NzTW9kZSl7dGhpcy5zZXRUcmFuc2l0aW9uKDApO3ZhciByPXQ7aWYocnx8KHI9aT5zPyJuZXh0IjppPHM/InByZXYiOiJyZXNldCIpLHRoaXMuZW1pdCgidHJhbnNpdGlvbkVuZCIpLGUmJmkhPT1zKXtpZigicmVzZXQiPT09cilyZXR1cm4gdm9pZCB0aGlzLmVtaXQoInNsaWRlUmVzZXRUcmFuc2l0aW9uRW5kIik7dGhpcy5lbWl0KCJzbGlkZUNoYW5nZVRyYW5zaXRpb25FbmQiKSwibmV4dCI9PT1yP3RoaXMuZW1pdCgic2xpZGVOZXh0VHJhbnNpdGlvbkVuZCIpOnRoaXMuZW1pdCgic2xpZGVQcmV2VHJhbnNpdGlvbkVuZCIpfX19fTt2YXIgbT17c2xpZGVUbzpmdW5jdGlvbihlLHQsaSxzKXt2YXIgYTt2b2lkIDA9PT1lJiYoZT0wKSx2b2lkIDA9PT10JiYodD10aGlzLnBhcmFtcy5zcGVlZCksdm9pZCAwPT09aSYmKGk9ITApO3ZhciByPXRoaXMsbj1lO248MCYmKG49MCk7dmFyIG89ci5wYXJhbXMsbD1yLnNuYXBHcmlkLGQ9ci5zbGlkZXNHcmlkLGg9ci5wcmV2aW91c0luZGV4LHA9ci5hY3RpdmVJbmRleCxjPXIucnRsVHJhbnNsYXRlLHU9ci53cmFwcGVyRWw7aWYoci5hbmltYXRpbmcmJm8ucHJldmVudEludGVyYWN0aW9uT25UcmFuc2l0aW9uKXJldHVybiExO3ZhciB2PU1hdGgubWluKHIucGFyYW1zLnNsaWRlc1Blckdyb3VwU2tpcCxuKSxmPXYrTWF0aC5mbG9vcigobi12KS9yLnBhcmFtcy5zbGlkZXNQZXJHcm91cCk7Zj49bC5sZW5ndGgmJihmPWwubGVuZ3RoLTEpLChwfHxvLmluaXRpYWxTbGlkZXx8MCk9PT0oaHx8MCkmJmkmJnIuZW1pdCgiYmVmb3JlU2xpZGVDaGFuZ2VTdGFydCIpO3ZhciBtLGc9LWxbZl07aWYoci51cGRhdGVQcm9ncmVzcyhnKSxvLm5vcm1hbGl6ZVNsaWRlSW5kZXgpZm9yKHZhciBiPTA7YjxkLmxlbmd0aDtiKz0xKS1NYXRoLmZsb29yKDEwMCpnKT49TWF0aC5mbG9vcigxMDAqZFtiXSkmJihuPWIpO2lmKHIuaW5pdGlhbGl6ZWQmJm4hPT1wKXtpZighci5hbGxvd1NsaWRlTmV4dCYmZzxyLnRyYW5zbGF0ZSYmZzxyLm1pblRyYW5zbGF0ZSgpKXJldHVybiExO2lmKCFyLmFsbG93U2xpZGVQcmV2JiZnPnIudHJhbnNsYXRlJiZnPnIubWF4VHJhbnNsYXRlKCkmJihwfHwwKSE9PW4pcmV0dXJuITF9aWYobT1uPnA/Im5leHQiOm48cD8icHJldiI6InJlc2V0IixjJiYtZz09PXIudHJhbnNsYXRlfHwhYyYmZz09PXIudHJhbnNsYXRlKXJldHVybiByLnVwZGF0ZUFjdGl2ZUluZGV4KG4pLG8uYXV0b0hlaWdodCYmci51cGRhdGVBdXRvSGVpZ2h0KCksci51cGRhdGVTbGlkZXNDbGFzc2VzKCksInNsaWRlIiE9PW8uZWZmZWN0JiZyLnNldFRyYW5zbGF0ZShnKSwicmVzZXQiIT09bSYmKHIudHJhbnNpdGlvblN0YXJ0KGksbSksci50cmFuc2l0aW9uRW5kKGksbSkpLCExO2lmKG8uY3NzTW9kZSl7dmFyIHc9ci5pc0hvcml6b250YWwoKSx5PS1nO3JldHVybiBjJiYoeT11LnNjcm9sbFdpZHRoLXUub2Zmc2V0V2lkdGgteSksMD09PXQ/dVt3PyJzY3JvbGxMZWZ0Ijoic2Nyb2xsVG9wIl09eTp1LnNjcm9sbFRvP3Uuc2Nyb2xsVG8oKChhPXt9KVt3PyJsZWZ0IjoidG9wIl09eSxhLmJlaGF2aW9yPSJzbW9vdGgiLGEpKTp1W3c/InNjcm9sbExlZnQiOiJzY3JvbGxUb3AiXT15LCEwfXJldHVybiAwPT09dD8oci5zZXRUcmFuc2l0aW9uKDApLHIuc2V0VHJhbnNsYXRlKGcpLHIudXBkYXRlQWN0aXZlSW5kZXgobiksci51cGRhdGVTbGlkZXNDbGFzc2VzKCksci5lbWl0KCJiZWZvcmVUcmFuc2l0aW9uU3RhcnQiLHQscyksci50cmFuc2l0aW9uU3RhcnQoaSxtKSxyLnRyYW5zaXRpb25FbmQoaSxtKSk6KHIuc2V0VHJhbnNpdGlvbih0KSxyLnNldFRyYW5zbGF0ZShnKSxyLnVwZGF0ZUFjdGl2ZUluZGV4KG4pLHIudXBkYXRlU2xpZGVzQ2xhc3NlcygpLHIuZW1pdCgiYmVmb3JlVHJhbnNpdGlvblN0YXJ0Iix0LHMpLHIudHJhbnNpdGlvblN0YXJ0KGksbSksci5hbmltYXRpbmd8fChyLmFuaW1hdGluZz0hMCxyLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kfHwoci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZD1mdW5jdGlvbihlKXtyJiYhci5kZXN0cm95ZWQmJmUudGFyZ2V0PT09dGhpcyYmKHIuJHdyYXBwZXJFbFswXS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixyLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kKSxyLiR3cmFwcGVyRWxbMF0ucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2Via2l0VHJhbnNpdGlvbkVuZCIsci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCksci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZD1udWxsLGRlbGV0ZSByLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kLHIudHJhbnNpdGlvbkVuZChpLG0pKX0pLHIuJHdyYXBwZXJFbFswXS5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixyLm9uU2xpZGVUb1dyYXBwZXJUcmFuc2l0aW9uRW5kKSxyLiR3cmFwcGVyRWxbMF0uYWRkRXZlbnRMaXN0ZW5lcigid2Via2l0VHJhbnNpdGlvbkVuZCIsci5vblNsaWRlVG9XcmFwcGVyVHJhbnNpdGlvbkVuZCkpKSwhMH0sc2xpZGVUb0xvb3A6ZnVuY3Rpb24oZSx0LGkscyl7dm9pZCAwPT09ZSYmKGU9MCksdm9pZCAwPT09dCYmKHQ9dGhpcy5wYXJhbXMuc3BlZWQpLHZvaWQgMD09PWkmJihpPSEwKTt2YXIgYT1lO3JldHVybiB0aGlzLnBhcmFtcy5sb29wJiYoYSs9dGhpcy5sb29wZWRTbGlkZXMpLHRoaXMuc2xpZGVUbyhhLHQsaSxzKX0sc2xpZGVOZXh0OmZ1bmN0aW9uKGUsdCxpKXt2b2lkIDA9PT1lJiYoZT10aGlzLnBhcmFtcy5zcGVlZCksdm9pZCAwPT09dCYmKHQ9ITApO3ZhciBzPXRoaXMucGFyYW1zLGE9dGhpcy5hbmltYXRpbmcscj10aGlzLmFjdGl2ZUluZGV4PHMuc2xpZGVzUGVyR3JvdXBTa2lwPzE6cy5zbGlkZXNQZXJHcm91cDtpZihzLmxvb3Ape2lmKGEpcmV0dXJuITE7dGhpcy5sb29wRml4KCksdGhpcy5fY2xpZW50TGVmdD10aGlzLiR3cmFwcGVyRWxbMF0uY2xpZW50TGVmdH1yZXR1cm4gdGhpcy5zbGlkZVRvKHRoaXMuYWN0aXZlSW5kZXgrcixlLHQsaSl9LHNsaWRlUHJldjpmdW5jdGlvbihlLHQsaSl7dm9pZCAwPT09ZSYmKGU9dGhpcy5wYXJhbXMuc3BlZWQpLHZvaWQgMD09PXQmJih0PSEwKTt2YXIgcz10aGlzLnBhcmFtcyxhPXRoaXMuYW5pbWF0aW5nLHI9dGhpcy5zbmFwR3JpZCxuPXRoaXMuc2xpZGVzR3JpZCxvPXRoaXMucnRsVHJhbnNsYXRlO2lmKHMubG9vcCl7aWYoYSlyZXR1cm4hMTt0aGlzLmxvb3BGaXgoKSx0aGlzLl9jbGllbnRMZWZ0PXRoaXMuJHdyYXBwZXJFbFswXS5jbGllbnRMZWZ0fWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGU8MD8tTWF0aC5mbG9vcihNYXRoLmFicyhlKSk6TWF0aC5mbG9vcihlKX12YXIgZCxoPWwobz90aGlzLnRyYW5zbGF0ZTotdGhpcy50cmFuc2xhdGUpLHA9ci5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBsKGUpfSkpLGM9KG4ubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gbChlKX0pKSxyW3AuaW5kZXhPZihoKV0scltwLmluZGV4T2YoaCktMV0pO3JldHVybiB2b2lkIDA9PT1jJiZzLmNzc01vZGUmJnIuZm9yRWFjaCgoZnVuY3Rpb24oZSl7IWMmJmg+PWUmJihjPWUpfSkpLHZvaWQgMCE9PWMmJihkPW4uaW5kZXhPZihjKSk8MCYmKGQ9dGhpcy5hY3RpdmVJbmRleC0xKSx0aGlzLnNsaWRlVG8oZCxlLHQsaSl9LHNsaWRlUmVzZXQ6ZnVuY3Rpb24oZSx0LGkpe3JldHVybiB2b2lkIDA9PT1lJiYoZT10aGlzLnBhcmFtcy5zcGVlZCksdm9pZCAwPT09dCYmKHQ9ITApLHRoaXMuc2xpZGVUbyh0aGlzLmFjdGl2ZUluZGV4LGUsdCxpKX0sc2xpZGVUb0Nsb3Nlc3Q6ZnVuY3Rpb24oZSx0LGkscyl7dm9pZCAwPT09ZSYmKGU9dGhpcy5wYXJhbXMuc3BlZWQpLHZvaWQgMD09PXQmJih0PSEwKSx2b2lkIDA9PT1zJiYocz0uNSk7dmFyIGE9dGhpcy5hY3RpdmVJbmRleCxyPU1hdGgubWluKHRoaXMucGFyYW1zLnNsaWRlc1Blckdyb3VwU2tpcCxhKSxuPXIrTWF0aC5mbG9vcigoYS1yKS90aGlzLnBhcmFtcy5zbGlkZXNQZXJHcm91cCksbz10aGlzLnJ0bFRyYW5zbGF0ZT90aGlzLnRyYW5zbGF0ZTotdGhpcy50cmFuc2xhdGU7aWYobz49dGhpcy5zbmFwR3JpZFtuXSl7dmFyIGw9dGhpcy5zbmFwR3JpZFtuXTtvLWw+KHRoaXMuc25hcEdyaWRbbisxXS1sKSpzJiYoYSs9dGhpcy5wYXJhbXMuc2xpZGVzUGVyR3JvdXApfWVsc2V7dmFyIGQ9dGhpcy5zbmFwR3JpZFtuLTFdO28tZDw9KHRoaXMuc25hcEdyaWRbbl0tZCkqcyYmKGEtPXRoaXMucGFyYW1zLnNsaWRlc1Blckdyb3VwKX1yZXR1cm4gYT1NYXRoLm1heChhLDApLGE9TWF0aC5taW4oYSx0aGlzLnNsaWRlc0dyaWQubGVuZ3RoLTEpLHRoaXMuc2xpZGVUbyhhLGUsdCxpKX0sc2xpZGVUb0NsaWNrZWRTbGlkZTpmdW5jdGlvbigpe3ZhciBlLHQ9dGhpcyxpPXQucGFyYW1zLHM9dC4kd3JhcHBlckVsLGE9ImF1dG8iPT09aS5zbGlkZXNQZXJWaWV3P3Quc2xpZGVzUGVyVmlld0R5bmFtaWMoKTppLnNsaWRlc1BlclZpZXcscj10LmNsaWNrZWRJbmRleDtpZihpLmxvb3Ape2lmKHQuYW5pbWF0aW5nKXJldHVybjtlPXBhcnNlSW50KG4odC5jbGlja2VkU2xpZGUpLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4IiksMTApLGkuY2VudGVyZWRTbGlkZXM/cjx0Lmxvb3BlZFNsaWRlcy1hLzJ8fHI+dC5zbGlkZXMubGVuZ3RoLXQubG9vcGVkU2xpZGVzK2EvMj8odC5sb29wRml4KCkscj1zLmNoaWxkcmVuKCIuIitpLnNsaWRlQ2xhc3MrJ1tkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJytlKyciXTpub3QoLicraS5zbGlkZUR1cGxpY2F0ZUNsYXNzKyIpIikuZXEoMCkuaW5kZXgoKSxkLm5leHRUaWNrKChmdW5jdGlvbigpe3Quc2xpZGVUbyhyKX0pKSk6dC5zbGlkZVRvKHIpOnI+dC5zbGlkZXMubGVuZ3RoLWE/KHQubG9vcEZpeCgpLHI9cy5jaGlsZHJlbigiLiIraS5zbGlkZUNsYXNzKydbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicrZSsnIl06bm90KC4nK2kuc2xpZGVEdXBsaWNhdGVDbGFzcysiKSIpLmVxKDApLmluZGV4KCksZC5uZXh0VGljaygoZnVuY3Rpb24oKXt0LnNsaWRlVG8ocil9KSkpOnQuc2xpZGVUbyhyKX1lbHNlIHQuc2xpZGVUbyhyKX19O3ZhciBnPXtsb29wQ3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUucGFyYW1zLHM9ZS4kd3JhcHBlckVsO3MuY2hpbGRyZW4oIi4iK3Quc2xpZGVDbGFzcysiLiIrdC5zbGlkZUR1cGxpY2F0ZUNsYXNzKS5yZW1vdmUoKTt2YXIgYT1zLmNoaWxkcmVuKCIuIit0LnNsaWRlQ2xhc3MpO2lmKHQubG9vcEZpbGxHcm91cFdpdGhCbGFuayl7dmFyIHI9dC5zbGlkZXNQZXJHcm91cC1hLmxlbmd0aCV0LnNsaWRlc1Blckdyb3VwO2lmKHIhPT10LnNsaWRlc1Blckdyb3VwKXtmb3IodmFyIG89MDtvPHI7bys9MSl7dmFyIGw9bihpLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5hZGRDbGFzcyh0LnNsaWRlQ2xhc3MrIiAiK3Quc2xpZGVCbGFua0NsYXNzKTtzLmFwcGVuZChsKX1hPXMuY2hpbGRyZW4oIi4iK3Quc2xpZGVDbGFzcyl9fSJhdXRvIiE9PXQuc2xpZGVzUGVyVmlld3x8dC5sb29wZWRTbGlkZXN8fCh0Lmxvb3BlZFNsaWRlcz1hLmxlbmd0aCksZS5sb29wZWRTbGlkZXM9TWF0aC5jZWlsKHBhcnNlRmxvYXQodC5sb29wZWRTbGlkZXN8fHQuc2xpZGVzUGVyVmlldywxMCkpLGUubG9vcGVkU2xpZGVzKz10Lmxvb3BBZGRpdGlvbmFsU2xpZGVzLGUubG9vcGVkU2xpZGVzPmEubGVuZ3RoJiYoZS5sb29wZWRTbGlkZXM9YS5sZW5ndGgpO3ZhciBkPVtdLGg9W107YS5lYWNoKChmdW5jdGlvbih0LGkpe3ZhciBzPW4oaSk7dDxlLmxvb3BlZFNsaWRlcyYmaC5wdXNoKGkpLHQ8YS5sZW5ndGgmJnQ+PWEubGVuZ3RoLWUubG9vcGVkU2xpZGVzJiZkLnB1c2goaSkscy5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIsdCl9KSk7Zm9yKHZhciBwPTA7cDxoLmxlbmd0aDtwKz0xKXMuYXBwZW5kKG4oaFtwXS5jbG9uZU5vZGUoITApKS5hZGRDbGFzcyh0LnNsaWRlRHVwbGljYXRlQ2xhc3MpKTtmb3IodmFyIGM9ZC5sZW5ndGgtMTtjPj0wO2MtPTEpcy5wcmVwZW5kKG4oZFtjXS5jbG9uZU5vZGUoITApKS5hZGRDbGFzcyh0LnNsaWRlRHVwbGljYXRlQ2xhc3MpKX0sbG9vcEZpeDpmdW5jdGlvbigpe3RoaXMuZW1pdCgiYmVmb3JlTG9vcEZpeCIpO3ZhciBlLHQ9dGhpcy5hY3RpdmVJbmRleCxpPXRoaXMuc2xpZGVzLHM9dGhpcy5sb29wZWRTbGlkZXMsYT10aGlzLmFsbG93U2xpZGVQcmV2LHI9dGhpcy5hbGxvd1NsaWRlTmV4dCxuPXRoaXMuc25hcEdyaWQsbz10aGlzLnJ0bFRyYW5zbGF0ZTt0aGlzLmFsbG93U2xpZGVQcmV2PSEwLHRoaXMuYWxsb3dTbGlkZU5leHQ9ITA7dmFyIGw9LW5bdF0tdGhpcy5nZXRUcmFuc2xhdGUoKTtpZih0PHMpZT1pLmxlbmd0aC0zKnMrdCxlKz1zLHRoaXMuc2xpZGVUbyhlLDAsITEsITApJiYwIT09bCYmdGhpcy5zZXRUcmFuc2xhdGUoKG8/LXRoaXMudHJhbnNsYXRlOnRoaXMudHJhbnNsYXRlKS1sKTtlbHNlIGlmKHQ+PWkubGVuZ3RoLXMpe2U9LWkubGVuZ3RoK3QrcyxlKz1zLHRoaXMuc2xpZGVUbyhlLDAsITEsITApJiYwIT09bCYmdGhpcy5zZXRUcmFuc2xhdGUoKG8/LXRoaXMudHJhbnNsYXRlOnRoaXMudHJhbnNsYXRlKS1sKX10aGlzLmFsbG93U2xpZGVQcmV2PWEsdGhpcy5hbGxvd1NsaWRlTmV4dD1yLHRoaXMuZW1pdCgibG9vcEZpeCIpfSxsb29wRGVzdHJveTpmdW5jdGlvbigpe3ZhciBlPXRoaXMuJHdyYXBwZXJFbCx0PXRoaXMucGFyYW1zLGk9dGhpcy5zbGlkZXM7ZS5jaGlsZHJlbigiLiIrdC5zbGlkZUNsYXNzKyIuIit0LnNsaWRlRHVwbGljYXRlQ2xhc3MrIiwuIit0LnNsaWRlQ2xhc3MrIi4iK3Quc2xpZGVCbGFua0NsYXNzKS5yZW1vdmUoKSxpLnJlbW92ZUF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4Iil9fTt2YXIgYj17c2V0R3JhYkN1cnNvcjpmdW5jdGlvbihlKXtpZighKGgudG91Y2h8fCF0aGlzLnBhcmFtcy5zaW11bGF0ZVRvdWNofHx0aGlzLnBhcmFtcy53YXRjaE92ZXJmbG93JiZ0aGlzLmlzTG9ja2VkfHx0aGlzLnBhcmFtcy5jc3NNb2RlKSl7dmFyIHQ9dGhpcy5lbDt0LnN0eWxlLmN1cnNvcj0ibW92ZSIsdC5zdHlsZS5jdXJzb3I9ZT8iLXdlYmtpdC1ncmFiYmluZyI6Ii13ZWJraXQtZ3JhYiIsdC5zdHlsZS5jdXJzb3I9ZT8iLW1vei1ncmFiYmluIjoiLW1vei1ncmFiIix0LnN0eWxlLmN1cnNvcj1lPyJncmFiYmluZyI6ImdyYWIifX0sdW5zZXRHcmFiQ3Vyc29yOmZ1bmN0aW9uKCl7aC50b3VjaHx8dGhpcy5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmdGhpcy5pc0xvY2tlZHx8dGhpcy5wYXJhbXMuY3NzTW9kZXx8KHRoaXMuZWwuc3R5bGUuY3Vyc29yPSIiKX19O3ZhciB3LHkseCxFLFQsUyxDLE0sUCx6LGssJCxMLEksRCxPPXthcHBlbmRTbGlkZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLiR3cmFwcGVyRWwsaT10aGlzLnBhcmFtcztpZihpLmxvb3AmJnRoaXMubG9vcERlc3Ryb3koKSwib2JqZWN0Ij09dHlwZW9mIGUmJiJsZW5ndGgiaW4gZSlmb3IodmFyIHM9MDtzPGUubGVuZ3RoO3MrPTEpZVtzXSYmdC5hcHBlbmQoZVtzXSk7ZWxzZSB0LmFwcGVuZChlKTtpLmxvb3AmJnRoaXMubG9vcENyZWF0ZSgpLGkub2JzZXJ2ZXImJmgub2JzZXJ2ZXJ8fHRoaXMudXBkYXRlKCl9LHByZXBlbmRTbGlkZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnBhcmFtcyxpPXRoaXMuJHdyYXBwZXJFbCxzPXRoaXMuYWN0aXZlSW5kZXg7dC5sb29wJiZ0aGlzLmxvb3BEZXN0cm95KCk7dmFyIGE9cysxO2lmKCJvYmplY3QiPT10eXBlb2YgZSYmImxlbmd0aCJpbiBlKXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrPTEpZVtyXSYmaS5wcmVwZW5kKGVbcl0pO2E9cytlLmxlbmd0aH1lbHNlIGkucHJlcGVuZChlKTt0Lmxvb3AmJnRoaXMubG9vcENyZWF0ZSgpLHQub2JzZXJ2ZXImJmgub2JzZXJ2ZXJ8fHRoaXMudXBkYXRlKCksdGhpcy5zbGlkZVRvKGEsMCwhMSl9LGFkZFNsaWRlOmZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy4kd3JhcHBlckVsLHM9dGhpcy5wYXJhbXMsYT10aGlzLmFjdGl2ZUluZGV4O3MubG9vcCYmKGEtPXRoaXMubG9vcGVkU2xpZGVzLHRoaXMubG9vcERlc3Ryb3koKSx0aGlzLnNsaWRlcz1pLmNoaWxkcmVuKCIuIitzLnNsaWRlQ2xhc3MpKTt2YXIgcj10aGlzLnNsaWRlcy5sZW5ndGg7aWYoZTw9MCl0aGlzLnByZXBlbmRTbGlkZSh0KTtlbHNlIGlmKGU+PXIpdGhpcy5hcHBlbmRTbGlkZSh0KTtlbHNle2Zvcih2YXIgbj1hPmU/YSsxOmEsbz1bXSxsPXItMTtsPj1lO2wtPTEpe3ZhciBkPXRoaXMuc2xpZGVzLmVxKGwpO2QucmVtb3ZlKCksby51bnNoaWZ0KGQpfWlmKCJvYmplY3QiPT10eXBlb2YgdCYmImxlbmd0aCJpbiB0KXtmb3IodmFyIHA9MDtwPHQubGVuZ3RoO3ArPTEpdFtwXSYmaS5hcHBlbmQodFtwXSk7bj1hPmU/YSt0Lmxlbmd0aDphfWVsc2UgaS5hcHBlbmQodCk7Zm9yKHZhciBjPTA7YzxvLmxlbmd0aDtjKz0xKWkuYXBwZW5kKG9bY10pO3MubG9vcCYmdGhpcy5sb29wQ3JlYXRlKCkscy5vYnNlcnZlciYmaC5vYnNlcnZlcnx8dGhpcy51cGRhdGUoKSxzLmxvb3A/dGhpcy5zbGlkZVRvKG4rdGhpcy5sb29wZWRTbGlkZXMsMCwhMSk6dGhpcy5zbGlkZVRvKG4sMCwhMSl9fSxyZW1vdmVTbGlkZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnBhcmFtcyxpPXRoaXMuJHdyYXBwZXJFbCxzPXRoaXMuYWN0aXZlSW5kZXg7dC5sb29wJiYocy09dGhpcy5sb29wZWRTbGlkZXMsdGhpcy5sb29wRGVzdHJveSgpLHRoaXMuc2xpZGVzPWkuY2hpbGRyZW4oIi4iK3Quc2xpZGVDbGFzcykpO3ZhciBhLHI9cztpZigib2JqZWN0Ij09dHlwZW9mIGUmJiJsZW5ndGgiaW4gZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKz0xKWE9ZVtuXSx0aGlzLnNsaWRlc1thXSYmdGhpcy5zbGlkZXMuZXEoYSkucmVtb3ZlKCksYTxyJiYoci09MSk7cj1NYXRoLm1heChyLDApfWVsc2UgYT1lLHRoaXMuc2xpZGVzW2FdJiZ0aGlzLnNsaWRlcy5lcShhKS5yZW1vdmUoKSxhPHImJihyLT0xKSxyPU1hdGgubWF4KHIsMCk7dC5sb29wJiZ0aGlzLmxvb3BDcmVhdGUoKSx0Lm9ic2VydmVyJiZoLm9ic2VydmVyfHx0aGlzLnVwZGF0ZSgpLHQubG9vcD90aGlzLnNsaWRlVG8ocit0aGlzLmxvb3BlZFNsaWRlcywwLCExKTp0aGlzLnNsaWRlVG8ociwwLCExKX0scmVtb3ZlQWxsU2xpZGVzOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPVtdLHQ9MDt0PHRoaXMuc2xpZGVzLmxlbmd0aDt0Kz0xKWUucHVzaCh0KTt0aGlzLnJlbW92ZVNsaWRlKGUpfX0sQT0odz1hLm5hdmlnYXRvci5wbGF0Zm9ybSx5PWEubmF2aWdhdG9yLnVzZXJBZ2VudCx4PXtpb3M6ITEsYW5kcm9pZDohMSxhbmRyb2lkQ2hyb21lOiExLGRlc2t0b3A6ITEsaXBob25lOiExLGlwb2Q6ITEsaXBhZDohMSxlZGdlOiExLGllOiExLGZpcmVmb3g6ITEsbWFjb3M6ITEsd2luZG93czohMSxjb3Jkb3ZhOiEoIWEuY29yZG92YSYmIWEucGhvbmVnYXApLHBob25lZ2FwOiEoIWEuY29yZG92YSYmIWEucGhvbmVnYXApLGVsZWN0cm9uOiExfSxFPWEuc2NyZWVuLndpZHRoLFQ9YS5zY3JlZW4uaGVpZ2h0LFM9eS5tYXRjaCgvKEFuZHJvaWQpOz9bXHNcL10rKFtcZC5dKyk/LyksQz15Lm1hdGNoKC8oaVBhZCkuKk9TXHMoW1xkX10rKS8pLE09eS5tYXRjaCgvKGlQb2QpKC4qT1NccyhbXGRfXSspKT8vKSxQPSFDJiZ5Lm1hdGNoKC8oaVBob25lXHNPU3xpT1MpXHMoW1xkX10rKS8pLHo9eS5pbmRleE9mKCJNU0lFICIpPj0wfHx5LmluZGV4T2YoIlRyaWRlbnQvIik+PTAsaz15LmluZGV4T2YoIkVkZ2UvIik+PTAsJD15LmluZGV4T2YoIkdlY2tvLyIpPj0wJiZ5LmluZGV4T2YoIkZpcmVmb3gvIik+PTAsTD0iV2luMzIiPT09dyxJPXkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJlbGVjdHJvbiIpPj0wLEQ9Ik1hY0ludGVsIj09PXcsIUMmJkQmJmgudG91Y2gmJigxMDI0PT09RSYmMTM2Nj09PVR8fDgzND09PUUmJjExOTQ9PT1UfHw4MzQ9PT1FJiYxMTEyPT09VHx8NzY4PT09RSYmMTAyND09PVQpJiYoQz15Lm1hdGNoKC8oVmVyc2lvbilcLyhbXGQuXSspLyksRD0hMSkseC5pZT16LHguZWRnZT1rLHguZmlyZWZveD0kLFMmJiFMJiYoeC5vcz0iYW5kcm9pZCIseC5vc1ZlcnNpb249U1syXSx4LmFuZHJvaWQ9ITAseC5hbmRyb2lkQ2hyb21lPXkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJjaHJvbWUiKT49MCksKEN8fFB8fE0pJiYoeC5vcz0iaW9zIix4Lmlvcz0hMCksUCYmIU0mJih4Lm9zVmVyc2lvbj1QWzJdLnJlcGxhY2UoL18vZywiLiIpLHguaXBob25lPSEwKSxDJiYoeC5vc1ZlcnNpb249Q1syXS5yZXBsYWNlKC9fL2csIi4iKSx4LmlwYWQ9ITApLE0mJih4Lm9zVmVyc2lvbj1NWzNdP01bM10ucmVwbGFjZSgvXy9nLCIuIik6bnVsbCx4Lmlwb2Q9ITApLHguaW9zJiZ4Lm9zVmVyc2lvbiYmeS5pbmRleE9mKCJWZXJzaW9uLyIpPj0wJiYiMTAiPT09eC5vc1ZlcnNpb24uc3BsaXQoIi4iKVswXSYmKHgub3NWZXJzaW9uPXkudG9Mb3dlckNhc2UoKS5zcGxpdCgidmVyc2lvbi8iKVsxXS5zcGxpdCgiICIpWzBdKSx4LndlYlZpZXc9ISghKFB8fEN8fE0pfHwheS5tYXRjaCgvLipBcHBsZVdlYktpdCg/IS4qU2FmYXJpKS9pKSYmIWEubmF2aWdhdG9yLnN0YW5kYWxvbmUpfHxhLm1hdGNoTWVkaWEmJmEubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSkiKS5tYXRjaGVzLHgud2Vidmlldz14LndlYlZpZXcseC5zdGFuZGFsb25lPXgud2ViVmlldyx4LmRlc2t0b3A9ISh4Lmlvc3x8eC5hbmRyb2lkKXx8SSx4LmRlc2t0b3AmJih4LmVsZWN0cm9uPUkseC5tYWNvcz1ELHgud2luZG93cz1MLHgubWFjb3MmJih4Lm9zPSJtYWNvcyIpLHgud2luZG93cyYmKHgub3M9IndpbmRvd3MiKSkseC5waXhlbFJhdGlvPWEuZGV2aWNlUGl4ZWxSYXRpb3x8MSx4KTtmdW5jdGlvbiBHKGUpe3ZhciB0PXRoaXMudG91Y2hFdmVudHNEYXRhLHM9dGhpcy5wYXJhbXMscj10aGlzLnRvdWNoZXM7aWYoIXRoaXMuYW5pbWF0aW5nfHwhcy5wcmV2ZW50SW50ZXJhY3Rpb25PblRyYW5zaXRpb24pe3ZhciBvPWU7by5vcmlnaW5hbEV2ZW50JiYobz1vLm9yaWdpbmFsRXZlbnQpO3ZhciBsPW4oby50YXJnZXQpO2lmKCgid3JhcHBlciIhPT1zLnRvdWNoRXZlbnRzVGFyZ2V0fHxsLmNsb3Nlc3QodGhpcy53cmFwcGVyRWwpLmxlbmd0aCkmJih0LmlzVG91Y2hFdmVudD0idG91Y2hzdGFydCI9PT1vLnR5cGUsKHQuaXNUb3VjaEV2ZW50fHwhKCJ3aGljaCJpbiBvKXx8MyE9PW8ud2hpY2gpJiYhKCF0LmlzVG91Y2hFdmVudCYmImJ1dHRvbiJpbiBvJiZvLmJ1dHRvbj4wfHx0LmlzVG91Y2hlZCYmdC5pc01vdmVkKSkpaWYocy5ub1N3aXBpbmcmJmwuY2xvc2VzdChzLm5vU3dpcGluZ1NlbGVjdG9yP3Mubm9Td2lwaW5nU2VsZWN0b3I6Ii4iK3Mubm9Td2lwaW5nQ2xhc3MpWzBdKXRoaXMuYWxsb3dDbGljaz0hMDtlbHNlIGlmKCFzLnN3aXBlSGFuZGxlcnx8bC5jbG9zZXN0KHMuc3dpcGVIYW5kbGVyKVswXSl7ci5jdXJyZW50WD0idG91Y2hzdGFydCI9PT1vLnR5cGU/by50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYOm8ucGFnZVgsci5jdXJyZW50WT0idG91Y2hzdGFydCI9PT1vLnR5cGU/by50YXJnZXRUb3VjaGVzWzBdLnBhZ2VZOm8ucGFnZVk7dmFyIGg9ci5jdXJyZW50WCxwPXIuY3VycmVudFksYz1zLmVkZ2VTd2lwZURldGVjdGlvbnx8cy5pT1NFZGdlU3dpcGVEZXRlY3Rpb24sdT1zLmVkZ2VTd2lwZVRocmVzaG9sZHx8cy5pT1NFZGdlU3dpcGVUaHJlc2hvbGQ7aWYoIWN8fCEoaDw9dXx8aD49YS5zY3JlZW4ud2lkdGgtdSkpe2lmKGQuZXh0ZW5kKHQse2lzVG91Y2hlZDohMCxpc01vdmVkOiExLGFsbG93VG91Y2hDYWxsYmFja3M6ITAsaXNTY3JvbGxpbmc6dm9pZCAwLHN0YXJ0TW92aW5nOnZvaWQgMH0pLHIuc3RhcnRYPWgsci5zdGFydFk9cCx0LnRvdWNoU3RhcnRUaW1lPWQubm93KCksdGhpcy5hbGxvd0NsaWNrPSEwLHRoaXMudXBkYXRlU2l6ZSgpLHRoaXMuc3dpcGVEaXJlY3Rpb249dm9pZCAwLHMudGhyZXNob2xkPjAmJih0LmFsbG93VGhyZXNob2xkTW92ZT0hMSksInRvdWNoc3RhcnQiIT09by50eXBlKXt2YXIgdj0hMDtsLmlzKHQuZm9ybUVsZW1lbnRzKSYmKHY9ITEpLGkuYWN0aXZlRWxlbWVudCYmbihpLmFjdGl2ZUVsZW1lbnQpLmlzKHQuZm9ybUVsZW1lbnRzKSYmaS5hY3RpdmVFbGVtZW50IT09bFswXSYmaS5hY3RpdmVFbGVtZW50LmJsdXIoKTt2YXIgZj12JiZ0aGlzLmFsbG93VG91Y2hNb3ZlJiZzLnRvdWNoU3RhcnRQcmV2ZW50RGVmYXVsdDsocy50b3VjaFN0YXJ0Rm9yY2VQcmV2ZW50RGVmYXVsdHx8ZikmJm8ucHJldmVudERlZmF1bHQoKX10aGlzLmVtaXQoInRvdWNoU3RhcnQiLG8pfX19fWZ1bmN0aW9uIEgoZSl7dmFyIHQ9dGhpcy50b3VjaEV2ZW50c0RhdGEscz10aGlzLnBhcmFtcyxhPXRoaXMudG91Y2hlcyxyPXRoaXMucnRsVHJhbnNsYXRlLG89ZTtpZihvLm9yaWdpbmFsRXZlbnQmJihvPW8ub3JpZ2luYWxFdmVudCksdC5pc1RvdWNoZWQpe2lmKCF0LmlzVG91Y2hFdmVudHx8InRvdWNobW92ZSI9PT1vLnR5cGUpe3ZhciBsPSJ0b3VjaG1vdmUiPT09by50eXBlJiZvLnRhcmdldFRvdWNoZXMmJihvLnRhcmdldFRvdWNoZXNbMF18fG8uY2hhbmdlZFRvdWNoZXNbMF0pLGg9InRvdWNobW92ZSI9PT1vLnR5cGU/bC5wYWdlWDpvLnBhZ2VYLHA9InRvdWNobW92ZSI9PT1vLnR5cGU/bC5wYWdlWTpvLnBhZ2VZO2lmKG8ucHJldmVudGVkQnlOZXN0ZWRTd2lwZXIpcmV0dXJuIGEuc3RhcnRYPWgsdm9pZChhLnN0YXJ0WT1wKTtpZighdGhpcy5hbGxvd1RvdWNoTW92ZSlyZXR1cm4gdGhpcy5hbGxvd0NsaWNrPSExLHZvaWQodC5pc1RvdWNoZWQmJihkLmV4dGVuZChhLHtzdGFydFg6aCxzdGFydFk6cCxjdXJyZW50WDpoLGN1cnJlbnRZOnB9KSx0LnRvdWNoU3RhcnRUaW1lPWQubm93KCkpKTtpZih0LmlzVG91Y2hFdmVudCYmcy50b3VjaFJlbGVhc2VPbkVkZ2VzJiYhcy5sb29wKWlmKHRoaXMuaXNWZXJ0aWNhbCgpKXtpZihwPGEuc3RhcnRZJiZ0aGlzLnRyYW5zbGF0ZTw9dGhpcy5tYXhUcmFuc2xhdGUoKXx8cD5hLnN0YXJ0WSYmdGhpcy50cmFuc2xhdGU+PXRoaXMubWluVHJhbnNsYXRlKCkpcmV0dXJuIHQuaXNUb3VjaGVkPSExLHZvaWQodC5pc01vdmVkPSExKX1lbHNlIGlmKGg8YS5zdGFydFgmJnRoaXMudHJhbnNsYXRlPD10aGlzLm1heFRyYW5zbGF0ZSgpfHxoPmEuc3RhcnRYJiZ0aGlzLnRyYW5zbGF0ZT49dGhpcy5taW5UcmFuc2xhdGUoKSlyZXR1cm47aWYodC5pc1RvdWNoRXZlbnQmJmkuYWN0aXZlRWxlbWVudCYmby50YXJnZXQ9PT1pLmFjdGl2ZUVsZW1lbnQmJm4oby50YXJnZXQpLmlzKHQuZm9ybUVsZW1lbnRzKSlyZXR1cm4gdC5pc01vdmVkPSEwLHZvaWQodGhpcy5hbGxvd0NsaWNrPSExKTtpZih0LmFsbG93VG91Y2hDYWxsYmFja3MmJnRoaXMuZW1pdCgidG91Y2hNb3ZlIixvKSwhKG8udGFyZ2V0VG91Y2hlcyYmby50YXJnZXRUb3VjaGVzLmxlbmd0aD4xKSl7YS5jdXJyZW50WD1oLGEuY3VycmVudFk9cDt2YXIgYz1hLmN1cnJlbnRYLWEuc3RhcnRYLHU9YS5jdXJyZW50WS1hLnN0YXJ0WTtpZighKHRoaXMucGFyYW1zLnRocmVzaG9sZCYmTWF0aC5zcXJ0KE1hdGgucG93KGMsMikrTWF0aC5wb3codSwyKSk8dGhpcy5wYXJhbXMudGhyZXNob2xkKSl7dmFyIHY7aWYodm9pZCAwPT09dC5pc1Njcm9sbGluZyl0aGlzLmlzSG9yaXpvbnRhbCgpJiZhLmN1cnJlbnRZPT09YS5zdGFydFl8fHRoaXMuaXNWZXJ0aWNhbCgpJiZhLmN1cnJlbnRYPT09YS5zdGFydFg/dC5pc1Njcm9sbGluZz0hMTpjKmMrdSp1Pj0yNSYmKHY9MTgwKk1hdGguYXRhbjIoTWF0aC5hYnModSksTWF0aC5hYnMoYykpL01hdGguUEksdC5pc1Njcm9sbGluZz10aGlzLmlzSG9yaXpvbnRhbCgpP3Y+cy50b3VjaEFuZ2xlOjkwLXY+cy50b3VjaEFuZ2xlKTtpZih0LmlzU2Nyb2xsaW5nJiZ0aGlzLmVtaXQoInRvdWNoTW92ZU9wcG9zaXRlIixvKSx2b2lkIDA9PT10LnN0YXJ0TW92aW5nJiYoYS5jdXJyZW50WD09PWEuc3RhcnRYJiZhLmN1cnJlbnRZPT09YS5zdGFydFl8fCh0LnN0YXJ0TW92aW5nPSEwKSksdC5pc1Njcm9sbGluZyl0LmlzVG91Y2hlZD0hMTtlbHNlIGlmKHQuc3RhcnRNb3Zpbmcpe3RoaXMuYWxsb3dDbGljaz0hMSwhcy5jc3NNb2RlJiZvLmNhbmNlbGFibGUmJm8ucHJldmVudERlZmF1bHQoKSxzLnRvdWNoTW92ZVN0b3BQcm9wYWdhdGlvbiYmIXMubmVzdGVkJiZvLnN0b3BQcm9wYWdhdGlvbigpLHQuaXNNb3ZlZHx8KHMubG9vcCYmdGhpcy5sb29wRml4KCksdC5zdGFydFRyYW5zbGF0ZT10aGlzLmdldFRyYW5zbGF0ZSgpLHRoaXMuc2V0VHJhbnNpdGlvbigwKSx0aGlzLmFuaW1hdGluZyYmdGhpcy4kd3JhcHBlckVsLnRyaWdnZXIoIndlYmtpdFRyYW5zaXRpb25FbmQgdHJhbnNpdGlvbmVuZCIpLHQuYWxsb3dNb21lbnR1bUJvdW5jZT0hMSwhcy5ncmFiQ3Vyc29yfHwhMCE9PXRoaXMuYWxsb3dTbGlkZU5leHQmJiEwIT09dGhpcy5hbGxvd1NsaWRlUHJldnx8dGhpcy5zZXRHcmFiQ3Vyc29yKCEwKSx0aGlzLmVtaXQoInNsaWRlckZpcnN0TW92ZSIsbykpLHRoaXMuZW1pdCgic2xpZGVyTW92ZSIsbyksdC5pc01vdmVkPSEwO3ZhciBmPXRoaXMuaXNIb3Jpem9udGFsKCk/Yzp1O2EuZGlmZj1mLGYqPXMudG91Y2hSYXRpbyxyJiYoZj0tZiksdGhpcy5zd2lwZURpcmVjdGlvbj1mPjA/InByZXYiOiJuZXh0Iix0LmN1cnJlbnRUcmFuc2xhdGU9Zit0LnN0YXJ0VHJhbnNsYXRlO3ZhciBtPSEwLGc9cy5yZXNpc3RhbmNlUmF0aW87aWYocy50b3VjaFJlbGVhc2VPbkVkZ2VzJiYoZz0wKSxmPjAmJnQuY3VycmVudFRyYW5zbGF0ZT50aGlzLm1pblRyYW5zbGF0ZSgpPyhtPSExLHMucmVzaXN0YW5jZSYmKHQuY3VycmVudFRyYW5zbGF0ZT10aGlzLm1pblRyYW5zbGF0ZSgpLTErTWF0aC5wb3coLXRoaXMubWluVHJhbnNsYXRlKCkrdC5zdGFydFRyYW5zbGF0ZStmLGcpKSk6ZjwwJiZ0LmN1cnJlbnRUcmFuc2xhdGU8dGhpcy5tYXhUcmFuc2xhdGUoKSYmKG09ITEscy5yZXNpc3RhbmNlJiYodC5jdXJyZW50VHJhbnNsYXRlPXRoaXMubWF4VHJhbnNsYXRlKCkrMS1NYXRoLnBvdyh0aGlzLm1heFRyYW5zbGF0ZSgpLXQuc3RhcnRUcmFuc2xhdGUtZixnKSkpLG0mJihvLnByZXZlbnRlZEJ5TmVzdGVkU3dpcGVyPSEwKSwhdGhpcy5hbGxvd1NsaWRlTmV4dCYmIm5leHQiPT09dGhpcy5zd2lwZURpcmVjdGlvbiYmdC5jdXJyZW50VHJhbnNsYXRlPHQuc3RhcnRUcmFuc2xhdGUmJih0LmN1cnJlbnRUcmFuc2xhdGU9dC5zdGFydFRyYW5zbGF0ZSksIXRoaXMuYWxsb3dTbGlkZVByZXYmJiJwcmV2Ij09PXRoaXMuc3dpcGVEaXJlY3Rpb24mJnQuY3VycmVudFRyYW5zbGF0ZT50LnN0YXJ0VHJhbnNsYXRlJiYodC5jdXJyZW50VHJhbnNsYXRlPXQuc3RhcnRUcmFuc2xhdGUpLHMudGhyZXNob2xkPjApe2lmKCEoTWF0aC5hYnMoZik+cy50aHJlc2hvbGR8fHQuYWxsb3dUaHJlc2hvbGRNb3ZlKSlyZXR1cm4gdm9pZCh0LmN1cnJlbnRUcmFuc2xhdGU9dC5zdGFydFRyYW5zbGF0ZSk7aWYoIXQuYWxsb3dUaHJlc2hvbGRNb3ZlKXJldHVybiB0LmFsbG93VGhyZXNob2xkTW92ZT0hMCxhLnN0YXJ0WD1hLmN1cnJlbnRYLGEuc3RhcnRZPWEuY3VycmVudFksdC5jdXJyZW50VHJhbnNsYXRlPXQuc3RhcnRUcmFuc2xhdGUsdm9pZChhLmRpZmY9dGhpcy5pc0hvcml6b250YWwoKT9hLmN1cnJlbnRYLWEuc3RhcnRYOmEuY3VycmVudFktYS5zdGFydFkpfXMuZm9sbG93RmluZ2VyJiYhcy5jc3NNb2RlJiYoKHMuZnJlZU1vZGV8fHMud2F0Y2hTbGlkZXNQcm9ncmVzc3x8cy53YXRjaFNsaWRlc1Zpc2liaWxpdHkpJiYodGhpcy51cGRhdGVBY3RpdmVJbmRleCgpLHRoaXMudXBkYXRlU2xpZGVzQ2xhc3NlcygpKSxzLmZyZWVNb2RlJiYoMD09PXQudmVsb2NpdGllcy5sZW5ndGgmJnQudmVsb2NpdGllcy5wdXNoKHtwb3NpdGlvbjphW3RoaXMuaXNIb3Jpem9udGFsKCk/InN0YXJ0WCI6InN0YXJ0WSJdLHRpbWU6dC50b3VjaFN0YXJ0VGltZX0pLHQudmVsb2NpdGllcy5wdXNoKHtwb3NpdGlvbjphW3RoaXMuaXNIb3Jpem9udGFsKCk/ImN1cnJlbnRYIjoiY3VycmVudFkiXSx0aW1lOmQubm93KCl9KSksdGhpcy51cGRhdGVQcm9ncmVzcyh0LmN1cnJlbnRUcmFuc2xhdGUpLHRoaXMuc2V0VHJhbnNsYXRlKHQuY3VycmVudFRyYW5zbGF0ZSkpfX19fX1lbHNlIHQuc3RhcnRNb3ZpbmcmJnQuaXNTY3JvbGxpbmcmJnRoaXMuZW1pdCgidG91Y2hNb3ZlT3Bwb3NpdGUiLG8pfWZ1bmN0aW9uIEIoZSl7dmFyIHQ9dGhpcyxpPXQudG91Y2hFdmVudHNEYXRhLHM9dC5wYXJhbXMsYT10LnRvdWNoZXMscj10LnJ0bFRyYW5zbGF0ZSxuPXQuJHdyYXBwZXJFbCxvPXQuc2xpZGVzR3JpZCxsPXQuc25hcEdyaWQsaD1lO2lmKGgub3JpZ2luYWxFdmVudCYmKGg9aC5vcmlnaW5hbEV2ZW50KSxpLmFsbG93VG91Y2hDYWxsYmFja3MmJnQuZW1pdCgidG91Y2hFbmQiLGgpLGkuYWxsb3dUb3VjaENhbGxiYWNrcz0hMSwhaS5pc1RvdWNoZWQpcmV0dXJuIGkuaXNNb3ZlZCYmcy5ncmFiQ3Vyc29yJiZ0LnNldEdyYWJDdXJzb3IoITEpLGkuaXNNb3ZlZD0hMSx2b2lkKGkuc3RhcnRNb3Zpbmc9ITEpO3MuZ3JhYkN1cnNvciYmaS5pc01vdmVkJiZpLmlzVG91Y2hlZCYmKCEwPT09dC5hbGxvd1NsaWRlTmV4dHx8ITA9PT10LmFsbG93U2xpZGVQcmV2KSYmdC5zZXRHcmFiQ3Vyc29yKCExKTt2YXIgcCxjPWQubm93KCksdT1jLWkudG91Y2hTdGFydFRpbWU7aWYodC5hbGxvd0NsaWNrJiYodC51cGRhdGVDbGlja2VkU2xpZGUoaCksdC5lbWl0KCJ0YXAgY2xpY2siLGgpLHU8MzAwJiZjLWkubGFzdENsaWNrVGltZTwzMDAmJnQuZW1pdCgiZG91YmxlVGFwIGRvdWJsZUNsaWNrIixoKSksaS5sYXN0Q2xpY2tUaW1lPWQubm93KCksZC5uZXh0VGljaygoZnVuY3Rpb24oKXt0LmRlc3Ryb3llZHx8KHQuYWxsb3dDbGljaz0hMCl9KSksIWkuaXNUb3VjaGVkfHwhaS5pc01vdmVkfHwhdC5zd2lwZURpcmVjdGlvbnx8MD09PWEuZGlmZnx8aS5jdXJyZW50VHJhbnNsYXRlPT09aS5zdGFydFRyYW5zbGF0ZSlyZXR1cm4gaS5pc1RvdWNoZWQ9ITEsaS5pc01vdmVkPSExLHZvaWQoaS5zdGFydE1vdmluZz0hMSk7aWYoaS5pc1RvdWNoZWQ9ITEsaS5pc01vdmVkPSExLGkuc3RhcnRNb3Zpbmc9ITEscD1zLmZvbGxvd0Zpbmdlcj9yP3QudHJhbnNsYXRlOi10LnRyYW5zbGF0ZTotaS5jdXJyZW50VHJhbnNsYXRlLCFzLmNzc01vZGUpaWYocy5mcmVlTW9kZSl7aWYocDwtdC5taW5UcmFuc2xhdGUoKSlyZXR1cm4gdm9pZCB0LnNsaWRlVG8odC5hY3RpdmVJbmRleCk7aWYocD4tdC5tYXhUcmFuc2xhdGUoKSlyZXR1cm4gdm9pZCh0LnNsaWRlcy5sZW5ndGg8bC5sZW5ndGg/dC5zbGlkZVRvKGwubGVuZ3RoLTEpOnQuc2xpZGVUbyh0LnNsaWRlcy5sZW5ndGgtMSkpO2lmKHMuZnJlZU1vZGVNb21lbnR1bSl7aWYoaS52ZWxvY2l0aWVzLmxlbmd0aD4xKXt2YXIgdj1pLnZlbG9jaXRpZXMucG9wKCksZj1pLnZlbG9jaXRpZXMucG9wKCksbT12LnBvc2l0aW9uLWYucG9zaXRpb24sZz12LnRpbWUtZi50aW1lO3QudmVsb2NpdHk9bS9nLHQudmVsb2NpdHkvPTIsTWF0aC5hYnModC52ZWxvY2l0eSk8cy5mcmVlTW9kZU1pbmltdW1WZWxvY2l0eSYmKHQudmVsb2NpdHk9MCksKGc+MTUwfHxkLm5vdygpLXYudGltZT4zMDApJiYodC52ZWxvY2l0eT0wKX1lbHNlIHQudmVsb2NpdHk9MDt0LnZlbG9jaXR5Kj1zLmZyZWVNb2RlTW9tZW50dW1WZWxvY2l0eVJhdGlvLGkudmVsb2NpdGllcy5sZW5ndGg9MDt2YXIgYj0xZTMqcy5mcmVlTW9kZU1vbWVudHVtUmF0aW8sdz10LnZlbG9jaXR5KmIseT10LnRyYW5zbGF0ZSt3O3ImJih5PS15KTt2YXIgeCxFLFQ9ITEsUz0yMCpNYXRoLmFicyh0LnZlbG9jaXR5KSpzLmZyZWVNb2RlTW9tZW50dW1Cb3VuY2VSYXRpbztpZih5PHQubWF4VHJhbnNsYXRlKCkpcy5mcmVlTW9kZU1vbWVudHVtQm91bmNlPyh5K3QubWF4VHJhbnNsYXRlKCk8LVMmJih5PXQubWF4VHJhbnNsYXRlKCktUykseD10Lm1heFRyYW5zbGF0ZSgpLFQ9ITAsaS5hbGxvd01vbWVudHVtQm91bmNlPSEwKTp5PXQubWF4VHJhbnNsYXRlKCkscy5sb29wJiZzLmNlbnRlcmVkU2xpZGVzJiYoRT0hMCk7ZWxzZSBpZih5PnQubWluVHJhbnNsYXRlKCkpcy5mcmVlTW9kZU1vbWVudHVtQm91bmNlPyh5LXQubWluVHJhbnNsYXRlKCk+UyYmKHk9dC5taW5UcmFuc2xhdGUoKStTKSx4PXQubWluVHJhbnNsYXRlKCksVD0hMCxpLmFsbG93TW9tZW50dW1Cb3VuY2U9ITApOnk9dC5taW5UcmFuc2xhdGUoKSxzLmxvb3AmJnMuY2VudGVyZWRTbGlkZXMmJihFPSEwKTtlbHNlIGlmKHMuZnJlZU1vZGVTdGlja3kpe2Zvcih2YXIgQyxNPTA7TTxsLmxlbmd0aDtNKz0xKWlmKGxbTV0+LXkpe0M9TTticmVha315PS0oeT1NYXRoLmFicyhsW0NdLXkpPE1hdGguYWJzKGxbQy0xXS15KXx8Im5leHQiPT09dC5zd2lwZURpcmVjdGlvbj9sW0NdOmxbQy0xXSl9aWYoRSYmdC5vbmNlKCJ0cmFuc2l0aW9uRW5kIiwoZnVuY3Rpb24oKXt0Lmxvb3BGaXgoKX0pKSwwIT09dC52ZWxvY2l0eSl7aWYoYj1yP01hdGguYWJzKCgteS10LnRyYW5zbGF0ZSkvdC52ZWxvY2l0eSk6TWF0aC5hYnMoKHktdC50cmFuc2xhdGUpL3QudmVsb2NpdHkpLHMuZnJlZU1vZGVTdGlja3kpe3ZhciBQPU1hdGguYWJzKChyPy15OnkpLXQudHJhbnNsYXRlKSx6PXQuc2xpZGVzU2l6ZXNHcmlkW3QuYWN0aXZlSW5kZXhdO2I9UDx6P3Muc3BlZWQ6UDwyKno/MS41KnMuc3BlZWQ6Mi41KnMuc3BlZWR9fWVsc2UgaWYocy5mcmVlTW9kZVN0aWNreSlyZXR1cm4gdm9pZCB0LnNsaWRlVG9DbG9zZXN0KCk7cy5mcmVlTW9kZU1vbWVudHVtQm91bmNlJiZUPyh0LnVwZGF0ZVByb2dyZXNzKHgpLHQuc2V0VHJhbnNpdGlvbihiKSx0LnNldFRyYW5zbGF0ZSh5KSx0LnRyYW5zaXRpb25TdGFydCghMCx0LnN3aXBlRGlyZWN0aW9uKSx0LmFuaW1hdGluZz0hMCxuLnRyYW5zaXRpb25FbmQoKGZ1bmN0aW9uKCl7dCYmIXQuZGVzdHJveWVkJiZpLmFsbG93TW9tZW50dW1Cb3VuY2UmJih0LmVtaXQoIm1vbWVudHVtQm91bmNlIiksdC5zZXRUcmFuc2l0aW9uKHMuc3BlZWQpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5zZXRUcmFuc2xhdGUoeCksbi50cmFuc2l0aW9uRW5kKChmdW5jdGlvbigpe3QmJiF0LmRlc3Ryb3llZCYmdC50cmFuc2l0aW9uRW5kKCl9KSl9KSwwKSl9KSkpOnQudmVsb2NpdHk/KHQudXBkYXRlUHJvZ3Jlc3MoeSksdC5zZXRUcmFuc2l0aW9uKGIpLHQuc2V0VHJhbnNsYXRlKHkpLHQudHJhbnNpdGlvblN0YXJ0KCEwLHQuc3dpcGVEaXJlY3Rpb24pLHQuYW5pbWF0aW5nfHwodC5hbmltYXRpbmc9ITAsbi50cmFuc2l0aW9uRW5kKChmdW5jdGlvbigpe3QmJiF0LmRlc3Ryb3llZCYmdC50cmFuc2l0aW9uRW5kKCl9KSkpKTp0LnVwZGF0ZVByb2dyZXNzKHkpLHQudXBkYXRlQWN0aXZlSW5kZXgoKSx0LnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX1lbHNlIGlmKHMuZnJlZU1vZGVTdGlja3kpcmV0dXJuIHZvaWQgdC5zbGlkZVRvQ2xvc2VzdCgpOyghcy5mcmVlTW9kZU1vbWVudHVtfHx1Pj1zLmxvbmdTd2lwZXNNcykmJih0LnVwZGF0ZVByb2dyZXNzKCksdC51cGRhdGVBY3RpdmVJbmRleCgpLHQudXBkYXRlU2xpZGVzQ2xhc3NlcygpKX1lbHNle2Zvcih2YXIgaz0wLCQ9dC5zbGlkZXNTaXplc0dyaWRbMF0sTD0wO0w8by5sZW5ndGg7TCs9TDxzLnNsaWRlc1Blckdyb3VwU2tpcD8xOnMuc2xpZGVzUGVyR3JvdXApe3ZhciBJPUw8cy5zbGlkZXNQZXJHcm91cFNraXAtMT8xOnMuc2xpZGVzUGVyR3JvdXA7dm9pZCAwIT09b1tMK0ldP3A+PW9bTF0mJnA8b1tMK0ldJiYoaz1MLCQ9b1tMK0ldLW9bTF0pOnA+PW9bTF0mJihrPUwsJD1vW28ubGVuZ3RoLTFdLW9bby5sZW5ndGgtMl0pfXZhciBEPShwLW9ba10pLyQsTz1rPHMuc2xpZGVzUGVyR3JvdXBTa2lwLTE/MTpzLnNsaWRlc1Blckdyb3VwO2lmKHU+cy5sb25nU3dpcGVzTXMpe2lmKCFzLmxvbmdTd2lwZXMpcmV0dXJuIHZvaWQgdC5zbGlkZVRvKHQuYWN0aXZlSW5kZXgpOyJuZXh0Ij09PXQuc3dpcGVEaXJlY3Rpb24mJihEPj1zLmxvbmdTd2lwZXNSYXRpbz90LnNsaWRlVG8oaytPKTp0LnNsaWRlVG8oaykpLCJwcmV2Ij09PXQuc3dpcGVEaXJlY3Rpb24mJihEPjEtcy5sb25nU3dpcGVzUmF0aW8/dC5zbGlkZVRvKGsrTyk6dC5zbGlkZVRvKGspKX1lbHNle2lmKCFzLnNob3J0U3dpcGVzKXJldHVybiB2b2lkIHQuc2xpZGVUbyh0LmFjdGl2ZUluZGV4KTt0Lm5hdmlnYXRpb24mJihoLnRhcmdldD09PXQubmF2aWdhdGlvbi5uZXh0RWx8fGgudGFyZ2V0PT09dC5uYXZpZ2F0aW9uLnByZXZFbCk/aC50YXJnZXQ9PT10Lm5hdmlnYXRpb24ubmV4dEVsP3Quc2xpZGVUbyhrK08pOnQuc2xpZGVUbyhrKTooIm5leHQiPT09dC5zd2lwZURpcmVjdGlvbiYmdC5zbGlkZVRvKGsrTyksInByZXYiPT09dC5zd2lwZURpcmVjdGlvbiYmdC5zbGlkZVRvKGspKX19fWZ1bmN0aW9uIE4oKXt2YXIgZT10aGlzLnBhcmFtcyx0PXRoaXMuZWw7aWYoIXR8fDAhPT10Lm9mZnNldFdpZHRoKXtlLmJyZWFrcG9pbnRzJiZ0aGlzLnNldEJyZWFrcG9pbnQoKTt2YXIgaT10aGlzLmFsbG93U2xpZGVOZXh0LHM9dGhpcy5hbGxvd1NsaWRlUHJldixhPXRoaXMuc25hcEdyaWQ7dGhpcy5hbGxvd1NsaWRlTmV4dD0hMCx0aGlzLmFsbG93U2xpZGVQcmV2PSEwLHRoaXMudXBkYXRlU2l6ZSgpLHRoaXMudXBkYXRlU2xpZGVzKCksdGhpcy51cGRhdGVTbGlkZXNDbGFzc2VzKCksKCJhdXRvIj09PWUuc2xpZGVzUGVyVmlld3x8ZS5zbGlkZXNQZXJWaWV3PjEpJiZ0aGlzLmlzRW5kJiYhdGhpcy5pc0JlZ2lubmluZyYmIXRoaXMucGFyYW1zLmNlbnRlcmVkU2xpZGVzP3RoaXMuc2xpZGVUbyh0aGlzLnNsaWRlcy5sZW5ndGgtMSwwLCExLCEwKTp0aGlzLnNsaWRlVG8odGhpcy5hY3RpdmVJbmRleCwwLCExLCEwKSx0aGlzLmF1dG9wbGF5JiZ0aGlzLmF1dG9wbGF5LnJ1bm5pbmcmJnRoaXMuYXV0b3BsYXkucGF1c2VkJiZ0aGlzLmF1dG9wbGF5LnJ1bigpLHRoaXMuYWxsb3dTbGlkZVByZXY9cyx0aGlzLmFsbG93U2xpZGVOZXh0PWksdGhpcy5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmYSE9PXRoaXMuc25hcEdyaWQmJnRoaXMuY2hlY2tPdmVyZmxvdygpfX1mdW5jdGlvbiBYKGUpe3RoaXMuYWxsb3dDbGlja3x8KHRoaXMucGFyYW1zLnByZXZlbnRDbGlja3MmJmUucHJldmVudERlZmF1bHQoKSx0aGlzLnBhcmFtcy5wcmV2ZW50Q2xpY2tzUHJvcGFnYXRpb24mJnRoaXMuYW5pbWF0aW5nJiYoZS5zdG9wUHJvcGFnYXRpb24oKSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpKSl9ZnVuY3Rpb24gVigpe3ZhciBlPXRoaXMud3JhcHBlckVsLHQ9dGhpcy5ydGxUcmFuc2xhdGU7dGhpcy5wcmV2aW91c1RyYW5zbGF0ZT10aGlzLnRyYW5zbGF0ZSx0aGlzLmlzSG9yaXpvbnRhbCgpP3RoaXMudHJhbnNsYXRlPXQ/ZS5zY3JvbGxXaWR0aC1lLm9mZnNldFdpZHRoLWUuc2Nyb2xsTGVmdDotZS5zY3JvbGxMZWZ0OnRoaXMudHJhbnNsYXRlPS1lLnNjcm9sbFRvcCwtMD09PXRoaXMudHJhbnNsYXRlJiYodGhpcy50cmFuc2xhdGU9MCksdGhpcy51cGRhdGVBY3RpdmVJbmRleCgpLHRoaXMudXBkYXRlU2xpZGVzQ2xhc3NlcygpO3ZhciBpPXRoaXMubWF4VHJhbnNsYXRlKCktdGhpcy5taW5UcmFuc2xhdGUoKTsoMD09PWk/MDoodGhpcy50cmFuc2xhdGUtdGhpcy5taW5UcmFuc2xhdGUoKSkvaSkhPT10aGlzLnByb2dyZXNzJiZ0aGlzLnVwZGF0ZVByb2dyZXNzKHQ/LXRoaXMudHJhbnNsYXRlOnRoaXMudHJhbnNsYXRlKSx0aGlzLmVtaXQoInNldFRyYW5zbGF0ZSIsdGhpcy50cmFuc2xhdGUsITEpfXZhciBZPSExO2Z1bmN0aW9uIEYoKXt9dmFyIFc9e2luaXQ6ITAsZGlyZWN0aW9uOiJob3Jpem9udGFsIix0b3VjaEV2ZW50c1RhcmdldDoiY29udGFpbmVyIixpbml0aWFsU2xpZGU6MCxzcGVlZDozMDAsY3NzTW9kZTohMSx1cGRhdGVPbldpbmRvd1Jlc2l6ZTohMCxwcmV2ZW50SW50ZXJhY3Rpb25PblRyYW5zaXRpb246ITEsZWRnZVN3aXBlRGV0ZWN0aW9uOiExLGVkZ2VTd2lwZVRocmVzaG9sZDoyMCxmcmVlTW9kZTohMSxmcmVlTW9kZU1vbWVudHVtOiEwLGZyZWVNb2RlTW9tZW50dW1SYXRpbzoxLGZyZWVNb2RlTW9tZW50dW1Cb3VuY2U6ITAsZnJlZU1vZGVNb21lbnR1bUJvdW5jZVJhdGlvOjEsZnJlZU1vZGVNb21lbnR1bVZlbG9jaXR5UmF0aW86MSxmcmVlTW9kZVN0aWNreTohMSxmcmVlTW9kZU1pbmltdW1WZWxvY2l0eTouMDIsYXV0b0hlaWdodDohMSxzZXRXcmFwcGVyU2l6ZTohMSx2aXJ0dWFsVHJhbnNsYXRlOiExLGVmZmVjdDoic2xpZGUiLGJyZWFrcG9pbnRzOnZvaWQgMCxzcGFjZUJldHdlZW46MCxzbGlkZXNQZXJWaWV3OjEsc2xpZGVzUGVyQ29sdW1uOjEsc2xpZGVzUGVyQ29sdW1uRmlsbDoiY29sdW1uIixzbGlkZXNQZXJHcm91cDoxLHNsaWRlc1Blckdyb3VwU2tpcDowLGNlbnRlcmVkU2xpZGVzOiExLGNlbnRlcmVkU2xpZGVzQm91bmRzOiExLHNsaWRlc09mZnNldEJlZm9yZTowLHNsaWRlc09mZnNldEFmdGVyOjAsbm9ybWFsaXplU2xpZGVJbmRleDohMCxjZW50ZXJJbnN1ZmZpY2llbnRTbGlkZXM6ITEsd2F0Y2hPdmVyZmxvdzohMSxyb3VuZExlbmd0aHM6ITEsdG91Y2hSYXRpbzoxLHRvdWNoQW5nbGU6NDUsc2ltdWxhdGVUb3VjaDohMCxzaG9ydFN3aXBlczohMCxsb25nU3dpcGVzOiEwLGxvbmdTd2lwZXNSYXRpbzouNSxsb25nU3dpcGVzTXM6MzAwLGZvbGxvd0ZpbmdlcjohMCxhbGxvd1RvdWNoTW92ZTohMCx0aHJlc2hvbGQ6MCx0b3VjaE1vdmVTdG9wUHJvcGFnYXRpb246ITEsdG91Y2hTdGFydFByZXZlbnREZWZhdWx0OiEwLHRvdWNoU3RhcnRGb3JjZVByZXZlbnREZWZhdWx0OiExLHRvdWNoUmVsZWFzZU9uRWRnZXM6ITEsdW5pcXVlTmF2RWxlbWVudHM6ITAscmVzaXN0YW5jZTohMCxyZXNpc3RhbmNlUmF0aW86Ljg1LHdhdGNoU2xpZGVzUHJvZ3Jlc3M6ITEsd2F0Y2hTbGlkZXNWaXNpYmlsaXR5OiExLGdyYWJDdXJzb3I6ITEscHJldmVudENsaWNrczohMCxwcmV2ZW50Q2xpY2tzUHJvcGFnYXRpb246ITAsc2xpZGVUb0NsaWNrZWRTbGlkZTohMSxwcmVsb2FkSW1hZ2VzOiEwLHVwZGF0ZU9uSW1hZ2VzUmVhZHk6ITAsbG9vcDohMSxsb29wQWRkaXRpb25hbFNsaWRlczowLGxvb3BlZFNsaWRlczpudWxsLGxvb3BGaWxsR3JvdXBXaXRoQmxhbms6ITEsYWxsb3dTbGlkZVByZXY6ITAsYWxsb3dTbGlkZU5leHQ6ITAsc3dpcGVIYW5kbGVyOm51bGwsbm9Td2lwaW5nOiEwLG5vU3dpcGluZ0NsYXNzOiJzd2lwZXItbm8tc3dpcGluZyIsbm9Td2lwaW5nU2VsZWN0b3I6bnVsbCxwYXNzaXZlTGlzdGVuZXJzOiEwLGNvbnRhaW5lck1vZGlmaWVyQ2xhc3M6InN3aXBlci1jb250YWluZXItIixzbGlkZUNsYXNzOiJzd2lwZXItc2xpZGUiLHNsaWRlQmxhbmtDbGFzczoic3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayIsc2xpZGVBY3RpdmVDbGFzczoic3dpcGVyLXNsaWRlLWFjdGl2ZSIsc2xpZGVEdXBsaWNhdGVBY3RpdmVDbGFzczoic3dpcGVyLXNsaWRlLWR1cGxpY2F0ZS1hY3RpdmUiLHNsaWRlVmlzaWJsZUNsYXNzOiJzd2lwZXItc2xpZGUtdmlzaWJsZSIsc2xpZGVEdXBsaWNhdGVDbGFzczoic3dpcGVyLXNsaWRlLWR1cGxpY2F0ZSIsc2xpZGVOZXh0Q2xhc3M6InN3aXBlci1zbGlkZS1uZXh0IixzbGlkZUR1cGxpY2F0ZU5leHRDbGFzczoic3dpcGVyLXNsaWRlLWR1cGxpY2F0ZS1uZXh0IixzbGlkZVByZXZDbGFzczoic3dpcGVyLXNsaWRlLXByZXYiLHNsaWRlRHVwbGljYXRlUHJldkNsYXNzOiJzd2lwZXItc2xpZGUtZHVwbGljYXRlLXByZXYiLHdyYXBwZXJDbGFzczoic3dpcGVyLXdyYXBwZXIiLHJ1bkNhbGxiYWNrc09uSW5pdDohMH0sUj17dXBkYXRlOnUsdHJhbnNsYXRlOnYsdHJhbnNpdGlvbjpmLHNsaWRlOm0sbG9vcDpnLGdyYWJDdXJzb3I6YixtYW5pcHVsYXRpb246TyxldmVudHM6e2F0dGFjaEV2ZW50czpmdW5jdGlvbigpe3ZhciBlPXRoaXMucGFyYW1zLHQ9dGhpcy50b3VjaEV2ZW50cyxzPXRoaXMuZWwsYT10aGlzLndyYXBwZXJFbDt0aGlzLm9uVG91Y2hTdGFydD1HLmJpbmQodGhpcyksdGhpcy5vblRvdWNoTW92ZT1ILmJpbmQodGhpcyksdGhpcy5vblRvdWNoRW5kPUIuYmluZCh0aGlzKSxlLmNzc01vZGUmJih0aGlzLm9uU2Nyb2xsPVYuYmluZCh0aGlzKSksdGhpcy5vbkNsaWNrPVguYmluZCh0aGlzKTt2YXIgcj0hIWUubmVzdGVkO2lmKCFoLnRvdWNoJiZoLnBvaW50ZXJFdmVudHMpcy5hZGRFdmVudExpc3RlbmVyKHQuc3RhcnQsdGhpcy5vblRvdWNoU3RhcnQsITEpLGkuYWRkRXZlbnRMaXN0ZW5lcih0Lm1vdmUsdGhpcy5vblRvdWNoTW92ZSxyKSxpLmFkZEV2ZW50TGlzdGVuZXIodC5lbmQsdGhpcy5vblRvdWNoRW5kLCExKTtlbHNle2lmKGgudG91Y2gpe3ZhciBuPSEoInRvdWNoc3RhcnQiIT09dC5zdGFydHx8IWgucGFzc2l2ZUxpc3RlbmVyfHwhZS5wYXNzaXZlTGlzdGVuZXJzKSYme3Bhc3NpdmU6ITAsY2FwdHVyZTohMX07cy5hZGRFdmVudExpc3RlbmVyKHQuc3RhcnQsdGhpcy5vblRvdWNoU3RhcnQsbikscy5hZGRFdmVudExpc3RlbmVyKHQubW92ZSx0aGlzLm9uVG91Y2hNb3ZlLGgucGFzc2l2ZUxpc3RlbmVyP3twYXNzaXZlOiExLGNhcHR1cmU6cn06cikscy5hZGRFdmVudExpc3RlbmVyKHQuZW5kLHRoaXMub25Ub3VjaEVuZCxuKSx0LmNhbmNlbCYmcy5hZGRFdmVudExpc3RlbmVyKHQuY2FuY2VsLHRoaXMub25Ub3VjaEVuZCxuKSxZfHwoaS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IixGKSxZPSEwKX0oZS5zaW11bGF0ZVRvdWNoJiYhQS5pb3MmJiFBLmFuZHJvaWR8fGUuc2ltdWxhdGVUb3VjaCYmIWgudG91Y2gmJkEuaW9zKSYmKHMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLm9uVG91Y2hTdGFydCwhMSksaS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMub25Ub3VjaE1vdmUsciksaS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLm9uVG91Y2hFbmQsITEpKX0oZS5wcmV2ZW50Q2xpY2tzfHxlLnByZXZlbnRDbGlja3NQcm9wYWdhdGlvbikmJnMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMub25DbGljaywhMCksZS5jc3NNb2RlJiZhLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vblNjcm9sbCksZS51cGRhdGVPbldpbmRvd1Jlc2l6ZT90aGlzLm9uKEEuaW9zfHxBLmFuZHJvaWQ/InJlc2l6ZSBvcmllbnRhdGlvbmNoYW5nZSBvYnNlcnZlclVwZGF0ZSI6InJlc2l6ZSBvYnNlcnZlclVwZGF0ZSIsTiwhMCk6dGhpcy5vbigib2JzZXJ2ZXJVcGRhdGUiLE4sITApfSxkZXRhY2hFdmVudHM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnBhcmFtcyx0PXRoaXMudG91Y2hFdmVudHMscz10aGlzLmVsLGE9dGhpcy53cmFwcGVyRWwscj0hIWUubmVzdGVkO2lmKCFoLnRvdWNoJiZoLnBvaW50ZXJFdmVudHMpcy5yZW1vdmVFdmVudExpc3RlbmVyKHQuc3RhcnQsdGhpcy5vblRvdWNoU3RhcnQsITEpLGkucmVtb3ZlRXZlbnRMaXN0ZW5lcih0Lm1vdmUsdGhpcy5vblRvdWNoTW92ZSxyKSxpLnJlbW92ZUV2ZW50TGlzdGVuZXIodC5lbmQsdGhpcy5vblRvdWNoRW5kLCExKTtlbHNle2lmKGgudG91Y2gpe3ZhciBuPSEoIm9uVG91Y2hTdGFydCIhPT10LnN0YXJ0fHwhaC5wYXNzaXZlTGlzdGVuZXJ8fCFlLnBhc3NpdmVMaXN0ZW5lcnMpJiZ7cGFzc2l2ZTohMCxjYXB0dXJlOiExfTtzLnJlbW92ZUV2ZW50TGlzdGVuZXIodC5zdGFydCx0aGlzLm9uVG91Y2hTdGFydCxuKSxzLnJlbW92ZUV2ZW50TGlzdGVuZXIodC5tb3ZlLHRoaXMub25Ub3VjaE1vdmUscikscy5yZW1vdmVFdmVudExpc3RlbmVyKHQuZW5kLHRoaXMub25Ub3VjaEVuZCxuKSx0LmNhbmNlbCYmcy5yZW1vdmVFdmVudExpc3RlbmVyKHQuY2FuY2VsLHRoaXMub25Ub3VjaEVuZCxuKX0oZS5zaW11bGF0ZVRvdWNoJiYhQS5pb3MmJiFBLmFuZHJvaWR8fGUuc2ltdWxhdGVUb3VjaCYmIWgudG91Y2gmJkEuaW9zKSYmKHMucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIix0aGlzLm9uVG91Y2hTdGFydCwhMSksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMub25Ub3VjaE1vdmUsciksaS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLm9uVG91Y2hFbmQsITEpKX0oZS5wcmV2ZW50Q2xpY2tzfHxlLnByZXZlbnRDbGlja3NQcm9wYWdhdGlvbikmJnMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMub25DbGljaywhMCksZS5jc3NNb2RlJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vblNjcm9sbCksdGhpcy5vZmYoQS5pb3N8fEEuYW5kcm9pZD8icmVzaXplIG9yaWVudGF0aW9uY2hhbmdlIG9ic2VydmVyVXBkYXRlIjoicmVzaXplIG9ic2VydmVyVXBkYXRlIixOKX19LGJyZWFrcG9pbnRzOntzZXRCcmVha3BvaW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5hY3RpdmVJbmRleCx0PXRoaXMuaW5pdGlhbGl6ZWQsaT10aGlzLmxvb3BlZFNsaWRlczt2b2lkIDA9PT1pJiYoaT0wKTt2YXIgcz10aGlzLnBhcmFtcyxhPXRoaXMuJGVsLHI9cy5icmVha3BvaW50cztpZihyJiYoIXJ8fDAhPT1PYmplY3Qua2V5cyhyKS5sZW5ndGgpKXt2YXIgbj10aGlzLmdldEJyZWFrcG9pbnQocik7aWYobiYmdGhpcy5jdXJyZW50QnJlYWtwb2ludCE9PW4pe3ZhciBvPW4gaW4gcj9yW25dOnZvaWQgMDtvJiZbInNsaWRlc1BlclZpZXciLCJzcGFjZUJldHdlZW4iLCJzbGlkZXNQZXJHcm91cCIsInNsaWRlc1Blckdyb3VwU2tpcCIsInNsaWRlc1BlckNvbHVtbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciB0PW9bZV07dm9pZCAwIT09dCYmKG9bZV09InNsaWRlc1BlclZpZXciIT09ZXx8IkFVVE8iIT09dCYmImF1dG8iIT09dD8ic2xpZGVzUGVyVmlldyI9PT1lP3BhcnNlRmxvYXQodCk6cGFyc2VJbnQodCwxMCk6ImF1dG8iKX0pKTt2YXIgbD1vfHx0aGlzLm9yaWdpbmFsUGFyYW1zLGg9cy5zbGlkZXNQZXJDb2x1bW4+MSxwPWwuc2xpZGVzUGVyQ29sdW1uPjE7aCYmIXA/YS5yZW1vdmVDbGFzcyhzLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MrIm11bHRpcm93ICIrcy5jb250YWluZXJNb2RpZmllckNsYXNzKyJtdWx0aXJvdy1jb2x1bW4iKTohaCYmcCYmKGEuYWRkQ2xhc3Mocy5jb250YWluZXJNb2RpZmllckNsYXNzKyJtdWx0aXJvdyIpLCJjb2x1bW4iPT09bC5zbGlkZXNQZXJDb2x1bW5GaWxsJiZhLmFkZENsYXNzKHMuY29udGFpbmVyTW9kaWZpZXJDbGFzcysibXVsdGlyb3ctY29sdW1uIikpO3ZhciBjPWwuZGlyZWN0aW9uJiZsLmRpcmVjdGlvbiE9PXMuZGlyZWN0aW9uLHU9cy5sb29wJiYobC5zbGlkZXNQZXJWaWV3IT09cy5zbGlkZXNQZXJWaWV3fHxjKTtjJiZ0JiZ0aGlzLmNoYW5nZURpcmVjdGlvbigpLGQuZXh0ZW5kKHRoaXMucGFyYW1zLGwpLGQuZXh0ZW5kKHRoaXMse2FsbG93VG91Y2hNb3ZlOnRoaXMucGFyYW1zLmFsbG93VG91Y2hNb3ZlLGFsbG93U2xpZGVOZXh0OnRoaXMucGFyYW1zLmFsbG93U2xpZGVOZXh0LGFsbG93U2xpZGVQcmV2OnRoaXMucGFyYW1zLmFsbG93U2xpZGVQcmV2fSksdGhpcy5jdXJyZW50QnJlYWtwb2ludD1uLHUmJnQmJih0aGlzLmxvb3BEZXN0cm95KCksdGhpcy5sb29wQ3JlYXRlKCksdGhpcy51cGRhdGVTbGlkZXMoKSx0aGlzLnNsaWRlVG8oZS1pK3RoaXMubG9vcGVkU2xpZGVzLDAsITEpKSx0aGlzLmVtaXQoImJyZWFrcG9pbnQiLGwpfX19LGdldEJyZWFrcG9pbnQ6ZnVuY3Rpb24oZSl7aWYoZSl7dmFyIHQ9ITEsaT1PYmplY3Qua2V5cyhlKS5tYXAoKGZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSYmMD09PWUuaW5kZXhPZigiQCIpKXt2YXIgdD1wYXJzZUZsb2F0KGUuc3Vic3RyKDEpKTtyZXR1cm57dmFsdWU6YS5pbm5lckhlaWdodCp0LHBvaW50OmV9fXJldHVybnt2YWx1ZTplLHBvaW50OmV9fSkpO2kuc29ydCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gcGFyc2VJbnQoZS52YWx1ZSwxMCktcGFyc2VJbnQodC52YWx1ZSwxMCl9KSk7Zm9yKHZhciBzPTA7czxpLmxlbmd0aDtzKz0xKXt2YXIgcj1pW3NdLG49ci5wb2ludDtyLnZhbHVlPD1hLmlubmVyV2lkdGgmJih0PW4pfXJldHVybiB0fHwibWF4In19fSxjaGVja092ZXJmbG93OntjaGVja092ZXJmbG93OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5wYXJhbXMsdD10aGlzLmlzTG9ja2VkLGk9dGhpcy5zbGlkZXMubGVuZ3RoPjAmJmUuc2xpZGVzT2Zmc2V0QmVmb3JlK2Uuc3BhY2VCZXR3ZWVuKih0aGlzLnNsaWRlcy5sZW5ndGgtMSkrdGhpcy5zbGlkZXNbMF0ub2Zmc2V0V2lkdGgqdGhpcy5zbGlkZXMubGVuZ3RoO2Uuc2xpZGVzT2Zmc2V0QmVmb3JlJiZlLnNsaWRlc09mZnNldEFmdGVyJiZpP3RoaXMuaXNMb2NrZWQ9aTw9dGhpcy5zaXplOnRoaXMuaXNMb2NrZWQ9MT09PXRoaXMuc25hcEdyaWQubGVuZ3RoLHRoaXMuYWxsb3dTbGlkZU5leHQ9IXRoaXMuaXNMb2NrZWQsdGhpcy5hbGxvd1NsaWRlUHJldj0hdGhpcy5pc0xvY2tlZCx0IT09dGhpcy5pc0xvY2tlZCYmdGhpcy5lbWl0KHRoaXMuaXNMb2NrZWQ/ImxvY2siOiJ1bmxvY2siKSx0JiZ0IT09dGhpcy5pc0xvY2tlZCYmKHRoaXMuaXNFbmQ9ITEsdGhpcy5uYXZpZ2F0aW9uJiZ0aGlzLm5hdmlnYXRpb24udXBkYXRlKCkpfX0sY2xhc3Nlczp7YWRkQ2xhc3NlczpmdW5jdGlvbigpe3ZhciBlPXRoaXMuY2xhc3NOYW1lcyx0PXRoaXMucGFyYW1zLGk9dGhpcy5ydGwscz10aGlzLiRlbCxhPVtdO2EucHVzaCgiaW5pdGlhbGl6ZWQiKSxhLnB1c2godC5kaXJlY3Rpb24pLHQuZnJlZU1vZGUmJmEucHVzaCgiZnJlZS1tb2RlIiksdC5hdXRvSGVpZ2h0JiZhLnB1c2goImF1dG9oZWlnaHQiKSxpJiZhLnB1c2goInJ0bCIpLHQuc2xpZGVzUGVyQ29sdW1uPjEmJihhLnB1c2goIm11bHRpcm93IiksImNvbHVtbiI9PT10LnNsaWRlc1BlckNvbHVtbkZpbGwmJmEucHVzaCgibXVsdGlyb3ctY29sdW1uIikpLEEuYW5kcm9pZCYmYS5wdXNoKCJhbmRyb2lkIiksQS5pb3MmJmEucHVzaCgiaW9zIiksdC5jc3NNb2RlJiZhLnB1c2goImNzcy1tb2RlIiksYS5mb3JFYWNoKChmdW5jdGlvbihpKXtlLnB1c2godC5jb250YWluZXJNb2RpZmllckNsYXNzK2kpfSkpLHMuYWRkQ2xhc3MoZS5qb2luKCIgIikpfSxyZW1vdmVDbGFzc2VzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy4kZWwsdD10aGlzLmNsYXNzTmFtZXM7ZS5yZW1vdmVDbGFzcyh0LmpvaW4oIiAiKSl9fSxpbWFnZXM6e2xvYWRJbWFnZTpmdW5jdGlvbihlLHQsaSxzLHIsbyl7dmFyIGw7ZnVuY3Rpb24gZCgpe28mJm8oKX1uKGUpLnBhcmVudCgicGljdHVyZSIpWzBdfHxlLmNvbXBsZXRlJiZyP2QoKTp0PygobD1uZXcgYS5JbWFnZSkub25sb2FkPWQsbC5vbmVycm9yPWQscyYmKGwuc2l6ZXM9cyksaSYmKGwuc3Jjc2V0PWkpLHQmJihsLnNyYz10KSk6ZCgpfSxwcmVsb2FkSW1hZ2VzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztmdW5jdGlvbiB0KCl7bnVsbCE9ZSYmZSYmIWUuZGVzdHJveWVkJiYodm9pZCAwIT09ZS5pbWFnZXNMb2FkZWQmJihlLmltYWdlc0xvYWRlZCs9MSksZS5pbWFnZXNMb2FkZWQ9PT1lLmltYWdlc1RvTG9hZC5sZW5ndGgmJihlLnBhcmFtcy51cGRhdGVPbkltYWdlc1JlYWR5JiZlLnVwZGF0ZSgpLGUuZW1pdCgiaW1hZ2VzUmVhZHkiKSkpfWUuaW1hZ2VzVG9Mb2FkPWUuJGVsLmZpbmQoImltZyIpO2Zvcih2YXIgaT0wO2k8ZS5pbWFnZXNUb0xvYWQubGVuZ3RoO2krPTEpe3ZhciBzPWUuaW1hZ2VzVG9Mb2FkW2ldO2UubG9hZEltYWdlKHMscy5jdXJyZW50U3JjfHxzLmdldEF0dHJpYnV0ZSgic3JjIikscy5zcmNzZXR8fHMuZ2V0QXR0cmlidXRlKCJzcmNzZXQiKSxzLnNpemVzfHxzLmdldEF0dHJpYnV0ZSgic2l6ZXMiKSwhMCx0KX19fX0scT17fSxqPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtmb3IodmFyIGkscyxhLHI9W10sbz1hcmd1bWVudHMubGVuZ3RoO28tLTspcltvXT1hcmd1bWVudHNbb107MT09PXIubGVuZ3RoJiZyWzBdLmNvbnN0cnVjdG9yJiZyWzBdLmNvbnN0cnVjdG9yPT09T2JqZWN0P2E9clswXToocz0oaT1yKVswXSxhPWlbMV0pLGF8fChhPXt9KSxhPWQuZXh0ZW5kKHt9LGEpLHMmJiFhLmVsJiYoYS5lbD1zKSxlLmNhbGwodGhpcyxhKSxPYmplY3Qua2V5cyhSKS5mb3JFYWNoKChmdW5jdGlvbihlKXtPYmplY3Qua2V5cyhSW2VdKS5mb3JFYWNoKChmdW5jdGlvbihpKXt0LnByb3RvdHlwZVtpXXx8KHQucHJvdG90eXBlW2ldPVJbZV1baV0pfSkpfSkpO3ZhciBsPXRoaXM7dm9pZCAwPT09bC5tb2R1bGVzJiYobC5tb2R1bGVzPXt9KSxPYmplY3Qua2V5cyhsLm1vZHVsZXMpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciB0PWwubW9kdWxlc1tlXTtpZih0LnBhcmFtcyl7dmFyIGk9T2JqZWN0LmtleXModC5wYXJhbXMpWzBdLHM9dC5wYXJhbXNbaV07aWYoIm9iamVjdCIhPXR5cGVvZiBzfHxudWxsPT09cylyZXR1cm47aWYoIShpIGluIGEpfHwhKCJlbmFibGVkImluIHMpKXJldHVybjshMD09PWFbaV0mJihhW2ldPXtlbmFibGVkOiEwfSksIm9iamVjdCIhPXR5cGVvZiBhW2ldfHwiZW5hYmxlZCJpbiBhW2ldfHwoYVtpXS5lbmFibGVkPSEwKSxhW2ldfHwoYVtpXT17ZW5hYmxlZDohMX0pfX0pKTt2YXIgcD1kLmV4dGVuZCh7fSxXKTtsLnVzZU1vZHVsZXNQYXJhbXMocCksbC5wYXJhbXM9ZC5leHRlbmQoe30scCxxLGEpLGwub3JpZ2luYWxQYXJhbXM9ZC5leHRlbmQoe30sbC5wYXJhbXMpLGwucGFzc2VkUGFyYW1zPWQuZXh0ZW5kKHt9LGEpLGwuJD1uO3ZhciBjPW4obC5wYXJhbXMuZWwpO2lmKHM9Y1swXSl7aWYoYy5sZW5ndGg+MSl7dmFyIHU9W107cmV0dXJuIGMuZWFjaCgoZnVuY3Rpb24oZSxpKXt2YXIgcz1kLmV4dGVuZCh7fSxhLHtlbDppfSk7dS5wdXNoKG5ldyB0KHMpKX0pKSx1fXZhciB2LGYsbTtyZXR1cm4gcy5zd2lwZXI9bCxjLmRhdGEoInN3aXBlciIsbCkscyYmcy5zaGFkb3dSb290JiZzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3Rvcj8odj1uKHMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuIitsLnBhcmFtcy53cmFwcGVyQ2xhc3MpKSkuY2hpbGRyZW49ZnVuY3Rpb24oZSl7cmV0dXJuIGMuY2hpbGRyZW4oZSl9OnY9Yy5jaGlsZHJlbigiLiIrbC5wYXJhbXMud3JhcHBlckNsYXNzKSxkLmV4dGVuZChsLHskZWw6YyxlbDpzLCR3cmFwcGVyRWw6dix3cmFwcGVyRWw6dlswXSxjbGFzc05hbWVzOltdLHNsaWRlczpuKCksc2xpZGVzR3JpZDpbXSxzbmFwR3JpZDpbXSxzbGlkZXNTaXplc0dyaWQ6W10saXNIb3Jpem9udGFsOmZ1bmN0aW9uKCl7cmV0dXJuImhvcml6b250YWwiPT09bC5wYXJhbXMuZGlyZWN0aW9ufSxpc1ZlcnRpY2FsOmZ1bmN0aW9uKCl7cmV0dXJuInZlcnRpY2FsIj09PWwucGFyYW1zLmRpcmVjdGlvbn0scnRsOiJydGwiPT09cy5kaXIudG9Mb3dlckNhc2UoKXx8InJ0bCI9PT1jLmNzcygiZGlyZWN0aW9uIikscnRsVHJhbnNsYXRlOiJob3Jpem9udGFsIj09PWwucGFyYW1zLmRpcmVjdGlvbiYmKCJydGwiPT09cy5kaXIudG9Mb3dlckNhc2UoKXx8InJ0bCI9PT1jLmNzcygiZGlyZWN0aW9uIikpLHdyb25nUlRMOiItd2Via2l0LWJveCI9PT12LmNzcygiZGlzcGxheSIpLGFjdGl2ZUluZGV4OjAscmVhbEluZGV4OjAsaXNCZWdpbm5pbmc6ITAsaXNFbmQ6ITEsdHJhbnNsYXRlOjAscHJldmlvdXNUcmFuc2xhdGU6MCxwcm9ncmVzczowLHZlbG9jaXR5OjAsYW5pbWF0aW5nOiExLGFsbG93U2xpZGVOZXh0OmwucGFyYW1zLmFsbG93U2xpZGVOZXh0LGFsbG93U2xpZGVQcmV2OmwucGFyYW1zLmFsbG93U2xpZGVQcmV2LHRvdWNoRXZlbnRzOihmPVsidG91Y2hzdGFydCIsInRvdWNobW92ZSIsInRvdWNoZW5kIiwidG91Y2hjYW5jZWwiXSxtPVsibW91c2Vkb3duIiwibW91c2Vtb3ZlIiwibW91c2V1cCJdLGgucG9pbnRlckV2ZW50cyYmKG09WyJwb2ludGVyZG93biIsInBvaW50ZXJtb3ZlIiwicG9pbnRlcnVwIl0pLGwudG91Y2hFdmVudHNUb3VjaD17c3RhcnQ6ZlswXSxtb3ZlOmZbMV0sZW5kOmZbMl0sY2FuY2VsOmZbM119LGwudG91Y2hFdmVudHNEZXNrdG9wPXtzdGFydDptWzBdLG1vdmU6bVsxXSxlbmQ6bVsyXX0saC50b3VjaHx8IWwucGFyYW1zLnNpbXVsYXRlVG91Y2g/bC50b3VjaEV2ZW50c1RvdWNoOmwudG91Y2hFdmVudHNEZXNrdG9wKSx0b3VjaEV2ZW50c0RhdGE6e2lzVG91Y2hlZDp2b2lkIDAsaXNNb3ZlZDp2b2lkIDAsYWxsb3dUb3VjaENhbGxiYWNrczp2b2lkIDAsdG91Y2hTdGFydFRpbWU6dm9pZCAwLGlzU2Nyb2xsaW5nOnZvaWQgMCxjdXJyZW50VHJhbnNsYXRlOnZvaWQgMCxzdGFydFRyYW5zbGF0ZTp2b2lkIDAsYWxsb3dUaHJlc2hvbGRNb3ZlOnZvaWQgMCxmb3JtRWxlbWVudHM6ImlucHV0LCBzZWxlY3QsIG9wdGlvbiwgdGV4dGFyZWEsIGJ1dHRvbiwgdmlkZW8sIGxhYmVsIixsYXN0Q2xpY2tUaW1lOmQubm93KCksY2xpY2tUaW1lb3V0OnZvaWQgMCx2ZWxvY2l0aWVzOltdLGFsbG93TW9tZW50dW1Cb3VuY2U6dm9pZCAwLGlzVG91Y2hFdmVudDp2b2lkIDAsc3RhcnRNb3Zpbmc6dm9pZCAwfSxhbGxvd0NsaWNrOiEwLGFsbG93VG91Y2hNb3ZlOmwucGFyYW1zLmFsbG93VG91Y2hNb3ZlLHRvdWNoZXM6e3N0YXJ0WDowLHN0YXJ0WTowLGN1cnJlbnRYOjAsY3VycmVudFk6MCxkaWZmOjB9LGltYWdlc1RvTG9hZDpbXSxpbWFnZXNMb2FkZWQ6MH0pLGwudXNlTW9kdWxlcygpLGwucGFyYW1zLmluaXQmJmwuaW5pdCgpLGx9fWUmJih0Ll9fcHJvdG9fXz1lKSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlKSx0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10O3ZhciBpPXtleHRlbmRlZERlZmF1bHRzOntjb25maWd1cmFibGU6ITB9LGRlZmF1bHRzOntjb25maWd1cmFibGU6ITB9LENsYXNzOntjb25maWd1cmFibGU6ITB9LCQ6e2NvbmZpZ3VyYWJsZTohMH19O3JldHVybiB0LnByb3RvdHlwZS5zbGlkZXNQZXJWaWV3RHluYW1pYz1mdW5jdGlvbigpe3ZhciBlPXRoaXMucGFyYW1zLHQ9dGhpcy5zbGlkZXMsaT10aGlzLnNsaWRlc0dyaWQscz10aGlzLnNpemUsYT10aGlzLmFjdGl2ZUluZGV4LHI9MTtpZihlLmNlbnRlcmVkU2xpZGVzKXtmb3IodmFyIG4sbz10W2FdLnN3aXBlclNsaWRlU2l6ZSxsPWErMTtsPHQubGVuZ3RoO2wrPTEpdFtsXSYmIW4mJihyKz0xLChvKz10W2xdLnN3aXBlclNsaWRlU2l6ZSk+cyYmKG49ITApKTtmb3IodmFyIGQ9YS0xO2Q+PTA7ZC09MSl0W2RdJiYhbiYmKHIrPTEsKG8rPXRbZF0uc3dpcGVyU2xpZGVTaXplKT5zJiYobj0hMCkpfWVsc2UgZm9yKHZhciBoPWErMTtoPHQubGVuZ3RoO2grPTEpaVtoXS1pW2FdPHMmJihyKz0xKTtyZXR1cm4gcn0sdC5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZihlJiYhZS5kZXN0cm95ZWQpe3ZhciB0PWUuc25hcEdyaWQsaT1lLnBhcmFtcztpLmJyZWFrcG9pbnRzJiZlLnNldEJyZWFrcG9pbnQoKSxlLnVwZGF0ZVNpemUoKSxlLnVwZGF0ZVNsaWRlcygpLGUudXBkYXRlUHJvZ3Jlc3MoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKSxlLnBhcmFtcy5mcmVlTW9kZT8ocygpLGUucGFyYW1zLmF1dG9IZWlnaHQmJmUudXBkYXRlQXV0b0hlaWdodCgpKTooKCJhdXRvIj09PWUucGFyYW1zLnNsaWRlc1BlclZpZXd8fGUucGFyYW1zLnNsaWRlc1BlclZpZXc+MSkmJmUuaXNFbmQmJiFlLnBhcmFtcy5jZW50ZXJlZFNsaWRlcz9lLnNsaWRlVG8oZS5zbGlkZXMubGVuZ3RoLTEsMCwhMSwhMCk6ZS5zbGlkZVRvKGUuYWN0aXZlSW5kZXgsMCwhMSwhMCkpfHxzKCksaS53YXRjaE92ZXJmbG93JiZ0IT09ZS5zbmFwR3JpZCYmZS5jaGVja092ZXJmbG93KCksZS5lbWl0KCJ1cGRhdGUiKX1mdW5jdGlvbiBzKCl7dmFyIHQ9ZS5ydGxUcmFuc2xhdGU/LTEqZS50cmFuc2xhdGU6ZS50cmFuc2xhdGUsaT1NYXRoLm1pbihNYXRoLm1heCh0LGUubWF4VHJhbnNsYXRlKCkpLGUubWluVHJhbnNsYXRlKCkpO2Uuc2V0VHJhbnNsYXRlKGkpLGUudXBkYXRlQWN0aXZlSW5kZXgoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX19LHQucHJvdG90eXBlLmNoYW5nZURpcmVjdGlvbj1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQmJih0PSEwKTt2YXIgaT10aGlzLnBhcmFtcy5kaXJlY3Rpb247cmV0dXJuIGV8fChlPSJob3Jpem9udGFsIj09PWk/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCIpLGU9PT1pfHwiaG9yaXpvbnRhbCIhPT1lJiYidmVydGljYWwiIT09ZXx8KHRoaXMuJGVsLnJlbW92ZUNsYXNzKCIiK3RoaXMucGFyYW1zLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MraSkuYWRkQ2xhc3MoIiIrdGhpcy5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcytlKSx0aGlzLnBhcmFtcy5kaXJlY3Rpb249ZSx0aGlzLnNsaWRlcy5lYWNoKChmdW5jdGlvbih0LGkpeyJ2ZXJ0aWNhbCI9PT1lP2kuc3R5bGUud2lkdGg9IiI6aS5zdHlsZS5oZWlnaHQ9IiJ9KSksdGhpcy5lbWl0KCJjaGFuZ2VEaXJlY3Rpb24iKSx0JiZ0aGlzLnVwZGF0ZSgpKSx0aGlzfSx0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMuZW1pdCgiYmVmb3JlSW5pdCIpLHRoaXMucGFyYW1zLmJyZWFrcG9pbnRzJiZ0aGlzLnNldEJyZWFrcG9pbnQoKSx0aGlzLmFkZENsYXNzZXMoKSx0aGlzLnBhcmFtcy5sb29wJiZ0aGlzLmxvb3BDcmVhdGUoKSx0aGlzLnVwZGF0ZVNpemUoKSx0aGlzLnVwZGF0ZVNsaWRlcygpLHRoaXMucGFyYW1zLndhdGNoT3ZlcmZsb3cmJnRoaXMuY2hlY2tPdmVyZmxvdygpLHRoaXMucGFyYW1zLmdyYWJDdXJzb3ImJnRoaXMuc2V0R3JhYkN1cnNvcigpLHRoaXMucGFyYW1zLnByZWxvYWRJbWFnZXMmJnRoaXMucHJlbG9hZEltYWdlcygpLHRoaXMucGFyYW1zLmxvb3A/dGhpcy5zbGlkZVRvKHRoaXMucGFyYW1zLmluaXRpYWxTbGlkZSt0aGlzLmxvb3BlZFNsaWRlcywwLHRoaXMucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCk6dGhpcy5zbGlkZVRvKHRoaXMucGFyYW1zLmluaXRpYWxTbGlkZSwwLHRoaXMucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCksdGhpcy5hdHRhY2hFdmVudHMoKSx0aGlzLmluaXRpYWxpemVkPSEwLHRoaXMuZW1pdCgiaW5pdCIpKX0sdC5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbihlLHQpe3ZvaWQgMD09PWUmJihlPSEwKSx2b2lkIDA9PT10JiYodD0hMCk7dmFyIGk9dGhpcyxzPWkucGFyYW1zLGE9aS4kZWwscj1pLiR3cmFwcGVyRWwsbj1pLnNsaWRlcztyZXR1cm4gdm9pZCAwPT09aS5wYXJhbXN8fGkuZGVzdHJveWVkfHwoaS5lbWl0KCJiZWZvcmVEZXN0cm95IiksaS5pbml0aWFsaXplZD0hMSxpLmRldGFjaEV2ZW50cygpLHMubG9vcCYmaS5sb29wRGVzdHJveSgpLHQmJihpLnJlbW92ZUNsYXNzZXMoKSxhLnJlbW92ZUF0dHIoInN0eWxlIiksci5yZW1vdmVBdHRyKCJzdHlsZSIpLG4mJm4ubGVuZ3RoJiZuLnJlbW92ZUNsYXNzKFtzLnNsaWRlVmlzaWJsZUNsYXNzLHMuc2xpZGVBY3RpdmVDbGFzcyxzLnNsaWRlTmV4dENsYXNzLHMuc2xpZGVQcmV2Q2xhc3NdLmpvaW4oIiAiKSkucmVtb3ZlQXR0cigic3R5bGUiKS5yZW1vdmVBdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpKSxpLmVtaXQoImRlc3Ryb3kiKSxPYmplY3Qua2V5cyhpLmV2ZW50c0xpc3RlbmVycykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aS5vZmYoZSl9KSksITEhPT1lJiYoaS4kZWxbMF0uc3dpcGVyPW51bGwsaS4kZWwuZGF0YSgic3dpcGVyIixudWxsKSxkLmRlbGV0ZVByb3BzKGkpKSxpLmRlc3Ryb3llZD0hMCksbnVsbH0sdC5leHRlbmREZWZhdWx0cz1mdW5jdGlvbihlKXtkLmV4dGVuZChxLGUpfSxpLmV4dGVuZGVkRGVmYXVsdHMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHF9LGkuZGVmYXVsdHMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIFd9LGkuQ2xhc3MuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIGV9LGkuJC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbn0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXModCxpKSx0fShwKSxLPXtuYW1lOiJkZXZpY2UiLHByb3RvOntkZXZpY2U6QX0sc3RhdGljOntkZXZpY2U6QX19LFU9e25hbWU6InN1cHBvcnQiLHByb3RvOntzdXBwb3J0Omh9LHN0YXRpYzp7c3VwcG9ydDpofX0sXz17aXNFZGdlOiEhYS5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9FZGdlL2cpLGlzU2FmYXJpOmZ1bmN0aW9uKCl7dmFyIGU9YS5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7cmV0dXJuIGUuaW5kZXhPZigic2FmYXJpIik+PTAmJmUuaW5kZXhPZigiY2hyb21lIik8MCYmZS5pbmRleE9mKCJhbmRyb2lkIik8MH0oKSxpc1dlYlZpZXc6LyhpUGhvbmV8aVBvZHxpUGFkKS4qQXBwbGVXZWJLaXQoPyEuKlNhZmFyaSkvaS50ZXN0KGEubmF2aWdhdG9yLnVzZXJBZ2VudCl9LFo9e25hbWU6ImJyb3dzZXIiLHByb3RvOnticm93c2VyOl99LHN0YXRpYzp7YnJvd3NlcjpffX0sUT17bmFtZToicmVzaXplIixjcmVhdGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2QuZXh0ZW5kKGUse3Jlc2l6ZTp7cmVzaXplSGFuZGxlcjpmdW5jdGlvbigpe2UmJiFlLmRlc3Ryb3llZCYmZS5pbml0aWFsaXplZCYmKGUuZW1pdCgiYmVmb3JlUmVzaXplIiksZS5lbWl0KCJyZXNpemUiKSl9LG9yaWVudGF0aW9uQ2hhbmdlSGFuZGxlcjpmdW5jdGlvbigpe2UmJiFlLmRlc3Ryb3llZCYmZS5pbml0aWFsaXplZCYmZS5lbWl0KCJvcmllbnRhdGlvbmNoYW5nZSIpfX19KX0sb246e2luaXQ6ZnVuY3Rpb24oKXthLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5yZXNpemUucmVzaXplSGFuZGxlciksYS5hZGRFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsdGhpcy5yZXNpemUub3JpZW50YXRpb25DaGFuZ2VIYW5kbGVyKX0sZGVzdHJveTpmdW5jdGlvbigpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLnJlc2l6ZS5yZXNpemVIYW5kbGVyKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIix0aGlzLnJlc2l6ZS5vcmllbnRhdGlvbkNoYW5nZUhhbmRsZXIpfX19LEo9e2Z1bmM6YS5NdXRhdGlvbk9ic2VydmVyfHxhLldlYmtpdE11dGF0aW9uT2JzZXJ2ZXIsYXR0YWNoOmZ1bmN0aW9uKGUsdCl7dm9pZCAwPT09dCYmKHQ9e30pO3ZhciBpPXRoaXMscz1uZXcoMCxKLmZ1bmMpKChmdW5jdGlvbihlKXtpZigxIT09ZS5sZW5ndGgpe3ZhciB0PWZ1bmN0aW9uKCl7aS5lbWl0KCJvYnNlcnZlclVwZGF0ZSIsZVswXSl9O2EucmVxdWVzdEFuaW1hdGlvbkZyYW1lP2EucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHQpOmEuc2V0VGltZW91dCh0LDApfWVsc2UgaS5lbWl0KCJvYnNlcnZlclVwZGF0ZSIsZVswXSl9KSk7cy5vYnNlcnZlKGUse2F0dHJpYnV0ZXM6dm9pZCAwPT09dC5hdHRyaWJ1dGVzfHx0LmF0dHJpYnV0ZXMsY2hpbGRMaXN0OnZvaWQgMD09PXQuY2hpbGRMaXN0fHx0LmNoaWxkTGlzdCxjaGFyYWN0ZXJEYXRhOnZvaWQgMD09PXQuY2hhcmFjdGVyRGF0YXx8dC5jaGFyYWN0ZXJEYXRhfSksaS5vYnNlcnZlci5vYnNlcnZlcnMucHVzaChzKX0saW5pdDpmdW5jdGlvbigpe2lmKGgub2JzZXJ2ZXImJnRoaXMucGFyYW1zLm9ic2VydmVyKXtpZih0aGlzLnBhcmFtcy5vYnNlcnZlUGFyZW50cylmb3IodmFyIGU9dGhpcy4kZWwucGFyZW50cygpLHQ9MDt0PGUubGVuZ3RoO3QrPTEpdGhpcy5vYnNlcnZlci5hdHRhY2goZVt0XSk7dGhpcy5vYnNlcnZlci5hdHRhY2godGhpcy4kZWxbMF0se2NoaWxkTGlzdDp0aGlzLnBhcmFtcy5vYnNlcnZlU2xpZGVDaGlsZHJlbn0pLHRoaXMub2JzZXJ2ZXIuYXR0YWNoKHRoaXMuJHdyYXBwZXJFbFswXSx7YXR0cmlidXRlczohMX0pfX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMub2JzZXJ2ZXIub2JzZXJ2ZXJzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UuZGlzY29ubmVjdCgpfSkpLHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZXJzPVtdfX0sZWU9e25hbWU6Im9ic2VydmVyIixwYXJhbXM6e29ic2VydmVyOiExLG9ic2VydmVQYXJlbnRzOiExLG9ic2VydmVTbGlkZUNoaWxkcmVuOiExfSxjcmVhdGU6ZnVuY3Rpb24oKXtkLmV4dGVuZCh0aGlzLHtvYnNlcnZlcjp7aW5pdDpKLmluaXQuYmluZCh0aGlzKSxhdHRhY2g6Si5hdHRhY2guYmluZCh0aGlzKSxkZXN0cm95OkouZGVzdHJveS5iaW5kKHRoaXMpLG9ic2VydmVyczpbXX19KX0sb246e2luaXQ6ZnVuY3Rpb24oKXt0aGlzLm9ic2VydmVyLmluaXQoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMub2JzZXJ2ZXIuZGVzdHJveSgpfX19LHRlPXt1cGRhdGU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxpPXQucGFyYW1zLHM9aS5zbGlkZXNQZXJWaWV3LGE9aS5zbGlkZXNQZXJHcm91cCxyPWkuY2VudGVyZWRTbGlkZXMsbj10LnBhcmFtcy52aXJ0dWFsLG89bi5hZGRTbGlkZXNCZWZvcmUsbD1uLmFkZFNsaWRlc0FmdGVyLGg9dC52aXJ0dWFsLHA9aC5mcm9tLGM9aC50byx1PWguc2xpZGVzLHY9aC5zbGlkZXNHcmlkLGY9aC5yZW5kZXJTbGlkZSxtPWgub2Zmc2V0O3QudXBkYXRlQWN0aXZlSW5kZXgoKTt2YXIgZyxiLHcseT10LmFjdGl2ZUluZGV4fHwwO2c9dC5ydGxUcmFuc2xhdGU/InJpZ2h0Ijp0LmlzSG9yaXpvbnRhbCgpPyJsZWZ0IjoidG9wIixyPyhiPU1hdGguZmxvb3Iocy8yKSthK28sdz1NYXRoLmZsb29yKHMvMikrYStsKTooYj1zKyhhLTEpK28sdz1hK2wpO3ZhciB4PU1hdGgubWF4KCh5fHwwKS13LDApLEU9TWF0aC5taW4oKHl8fDApK2IsdS5sZW5ndGgtMSksVD0odC5zbGlkZXNHcmlkW3hdfHwwKS0odC5zbGlkZXNHcmlkWzBdfHwwKTtmdW5jdGlvbiBTKCl7dC51cGRhdGVTbGlkZXMoKSx0LnVwZGF0ZVByb2dyZXNzKCksdC51cGRhdGVTbGlkZXNDbGFzc2VzKCksdC5sYXp5JiZ0LnBhcmFtcy5sYXp5LmVuYWJsZWQmJnQubGF6eS5sb2FkKCl9aWYoZC5leHRlbmQodC52aXJ0dWFsLHtmcm9tOngsdG86RSxvZmZzZXQ6VCxzbGlkZXNHcmlkOnQuc2xpZGVzR3JpZH0pLHA9PT14JiZjPT09RSYmIWUpcmV0dXJuIHQuc2xpZGVzR3JpZCE9PXYmJlQhPT1tJiZ0LnNsaWRlcy5jc3MoZyxUKyJweCIpLHZvaWQgdC51cGRhdGVQcm9ncmVzcygpO2lmKHQucGFyYW1zLnZpcnR1YWwucmVuZGVyRXh0ZXJuYWwpcmV0dXJuIHQucGFyYW1zLnZpcnR1YWwucmVuZGVyRXh0ZXJuYWwuY2FsbCh0LHtvZmZzZXQ6VCxmcm9tOngsdG86RSxzbGlkZXM6ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD14O3Q8PUU7dCs9MSllLnB1c2godVt0XSk7cmV0dXJuIGV9KCl9KSx2b2lkIFMoKTt2YXIgQz1bXSxNPVtdO2lmKGUpdC4kd3JhcHBlckVsLmZpbmQoIi4iK3QucGFyYW1zLnNsaWRlQ2xhc3MpLnJlbW92ZSgpO2Vsc2UgZm9yKHZhciBQPXA7UDw9YztQKz0xKShQPHh8fFA+RSkmJnQuJHdyYXBwZXJFbC5maW5kKCIuIit0LnBhcmFtcy5zbGlkZUNsYXNzKydbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicrUCsnIl0nKS5yZW1vdmUoKTtmb3IodmFyIHo9MDt6PHUubGVuZ3RoO3orPTEpej49eCYmejw9RSYmKHZvaWQgMD09PWN8fGU/TS5wdXNoKHopOih6PmMmJk0ucHVzaCh6KSx6PHAmJkMucHVzaCh6KSkpO00uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dC4kd3JhcHBlckVsLmFwcGVuZChmKHVbZV0sZSkpfSkpLEMuc29ydCgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC1lfSkpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuJHdyYXBwZXJFbC5wcmVwZW5kKGYodVtlXSxlKSl9KSksdC4kd3JhcHBlckVsLmNoaWxkcmVuKCIuc3dpcGVyLXNsaWRlIikuY3NzKGcsVCsicHgiKSxTKCl9LHJlbmRlclNsaWRlOmZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5wYXJhbXMudmlydHVhbDtpZihpLmNhY2hlJiZ0aGlzLnZpcnR1YWwuY2FjaGVbdF0pcmV0dXJuIHRoaXMudmlydHVhbC5jYWNoZVt0XTt2YXIgcz1pLnJlbmRlclNsaWRlP24oaS5yZW5kZXJTbGlkZS5jYWxsKHRoaXMsZSx0KSk6bignPGRpdiBjbGFzcz0iJyt0aGlzLnBhcmFtcy5zbGlkZUNsYXNzKyciIGRhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSInK3QrJyI+JytlKyI8L2Rpdj4iKTtyZXR1cm4gcy5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpfHxzLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4Iix0KSxpLmNhY2hlJiYodGhpcy52aXJ0dWFsLmNhY2hlW3RdPXMpLHN9LGFwcGVuZFNsaWRlOmZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZSYmImxlbmd0aCJpbiBlKWZvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCs9MSllW3RdJiZ0aGlzLnZpcnR1YWwuc2xpZGVzLnB1c2goZVt0XSk7ZWxzZSB0aGlzLnZpcnR1YWwuc2xpZGVzLnB1c2goZSk7dGhpcy52aXJ0dWFsLnVwZGF0ZSghMCl9LHByZXBlbmRTbGlkZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmFjdGl2ZUluZGV4LGk9dCsxLHM9MTtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIGE9MDthPGUubGVuZ3RoO2ErPTEpZVthXSYmdGhpcy52aXJ0dWFsLnNsaWRlcy51bnNoaWZ0KGVbYV0pO2k9dCtlLmxlbmd0aCxzPWUubGVuZ3RofWVsc2UgdGhpcy52aXJ0dWFsLnNsaWRlcy51bnNoaWZ0KGUpO2lmKHRoaXMucGFyYW1zLnZpcnR1YWwuY2FjaGUpe3ZhciByPXRoaXMudmlydHVhbC5jYWNoZSxuPXt9O09iamVjdC5rZXlzKHIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciB0PXJbZV0saT10LmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4Iik7aSYmdC5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIscGFyc2VJbnQoaSwxMCkrMSksbltwYXJzZUludChlLDEwKStzXT10fSkpLHRoaXMudmlydHVhbC5jYWNoZT1ufXRoaXMudmlydHVhbC51cGRhdGUoITApLHRoaXMuc2xpZGVUbyhpLDApfSxyZW1vdmVTbGlkZTpmdW5jdGlvbihlKXtpZihudWxsIT1lKXt2YXIgdD10aGlzLmFjdGl2ZUluZGV4O2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKHZhciBpPWUubGVuZ3RoLTE7aT49MDtpLT0xKXRoaXMudmlydHVhbC5zbGlkZXMuc3BsaWNlKGVbaV0sMSksdGhpcy5wYXJhbXMudmlydHVhbC5jYWNoZSYmZGVsZXRlIHRoaXMudmlydHVhbC5jYWNoZVtlW2ldXSxlW2ldPHQmJih0LT0xKSx0PU1hdGgubWF4KHQsMCk7ZWxzZSB0aGlzLnZpcnR1YWwuc2xpZGVzLnNwbGljZShlLDEpLHRoaXMucGFyYW1zLnZpcnR1YWwuY2FjaGUmJmRlbGV0ZSB0aGlzLnZpcnR1YWwuY2FjaGVbZV0sZTx0JiYodC09MSksdD1NYXRoLm1heCh0LDApO3RoaXMudmlydHVhbC51cGRhdGUoITApLHRoaXMuc2xpZGVUbyh0LDApfX0scmVtb3ZlQWxsU2xpZGVzOmZ1bmN0aW9uKCl7dGhpcy52aXJ0dWFsLnNsaWRlcz1bXSx0aGlzLnBhcmFtcy52aXJ0dWFsLmNhY2hlJiYodGhpcy52aXJ0dWFsLmNhY2hlPXt9KSx0aGlzLnZpcnR1YWwudXBkYXRlKCEwKSx0aGlzLnNsaWRlVG8oMCwwKX19LGllPXtuYW1lOiJ2aXJ0dWFsIixwYXJhbXM6e3ZpcnR1YWw6e2VuYWJsZWQ6ITEsc2xpZGVzOltdLGNhY2hlOiEwLHJlbmRlclNsaWRlOm51bGwscmVuZGVyRXh0ZXJuYWw6bnVsbCxhZGRTbGlkZXNCZWZvcmU6MCxhZGRTbGlkZXNBZnRlcjowfX0sY3JlYXRlOmZ1bmN0aW9uKCl7ZC5leHRlbmQodGhpcyx7dmlydHVhbDp7dXBkYXRlOnRlLnVwZGF0ZS5iaW5kKHRoaXMpLGFwcGVuZFNsaWRlOnRlLmFwcGVuZFNsaWRlLmJpbmQodGhpcykscHJlcGVuZFNsaWRlOnRlLnByZXBlbmRTbGlkZS5iaW5kKHRoaXMpLHJlbW92ZVNsaWRlOnRlLnJlbW92ZVNsaWRlLmJpbmQodGhpcykscmVtb3ZlQWxsU2xpZGVzOnRlLnJlbW92ZUFsbFNsaWRlcy5iaW5kKHRoaXMpLHJlbmRlclNsaWRlOnRlLnJlbmRlclNsaWRlLmJpbmQodGhpcyksc2xpZGVzOnRoaXMucGFyYW1zLnZpcnR1YWwuc2xpZGVzLGNhY2hlOnt9fX0pfSxvbjp7YmVmb3JlSW5pdDpmdW5jdGlvbigpe2lmKHRoaXMucGFyYW1zLnZpcnR1YWwuZW5hYmxlZCl7dGhpcy5jbGFzc05hbWVzLnB1c2godGhpcy5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcysidmlydHVhbCIpO3ZhciBlPXt3YXRjaFNsaWRlc1Byb2dyZXNzOiEwfTtkLmV4dGVuZCh0aGlzLnBhcmFtcyxlKSxkLmV4dGVuZCh0aGlzLm9yaWdpbmFsUGFyYW1zLGUpLHRoaXMucGFyYW1zLmluaXRpYWxTbGlkZXx8dGhpcy52aXJ0dWFsLnVwZGF0ZSgpfX0sc2V0VHJhbnNsYXRlOmZ1bmN0aW9uKCl7dGhpcy5wYXJhbXMudmlydHVhbC5lbmFibGVkJiZ0aGlzLnZpcnR1YWwudXBkYXRlKCl9fX0sc2U9e2hhbmRsZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnJ0bFRyYW5zbGF0ZSxzPWU7cy5vcmlnaW5hbEV2ZW50JiYocz1zLm9yaWdpbmFsRXZlbnQpO3ZhciByPXMua2V5Q29kZXx8cy5jaGFyQ29kZSxuPXRoaXMucGFyYW1zLmtleWJvYXJkLnBhZ2VVcERvd24sbz1uJiYzMz09PXIsbD1uJiYzND09PXIsZD0zNz09PXIsaD0zOT09PXIscD0zOD09PXIsYz00MD09PXI7aWYoIXRoaXMuYWxsb3dTbGlkZU5leHQmJih0aGlzLmlzSG9yaXpvbnRhbCgpJiZofHx0aGlzLmlzVmVydGljYWwoKSYmY3x8bCkpcmV0dXJuITE7aWYoIXRoaXMuYWxsb3dTbGlkZVByZXYmJih0aGlzLmlzSG9yaXpvbnRhbCgpJiZkfHx0aGlzLmlzVmVydGljYWwoKSYmcHx8bykpcmV0dXJuITE7aWYoIShzLnNoaWZ0S2V5fHxzLmFsdEtleXx8cy5jdHJsS2V5fHxzLm1ldGFLZXl8fGkuYWN0aXZlRWxlbWVudCYmaS5hY3RpdmVFbGVtZW50Lm5vZGVOYW1lJiYoImlucHV0Ij09PWkuYWN0aXZlRWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpfHwidGV4dGFyZWEiPT09aS5hY3RpdmVFbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpKSl7aWYodGhpcy5wYXJhbXMua2V5Ym9hcmQub25seUluVmlld3BvcnQmJihvfHxsfHxkfHxofHxwfHxjKSl7dmFyIHU9ITE7aWYodGhpcy4kZWwucGFyZW50cygiLiIrdGhpcy5wYXJhbXMuc2xpZGVDbGFzcykubGVuZ3RoPjAmJjA9PT10aGlzLiRlbC5wYXJlbnRzKCIuIit0aGlzLnBhcmFtcy5zbGlkZUFjdGl2ZUNsYXNzKS5sZW5ndGgpcmV0dXJuO3ZhciB2PWEuaW5uZXJXaWR0aCxmPWEuaW5uZXJIZWlnaHQsbT10aGlzLiRlbC5vZmZzZXQoKTt0JiYobS5sZWZ0LT10aGlzLiRlbFswXS5zY3JvbGxMZWZ0KTtmb3IodmFyIGc9W1ttLmxlZnQsbS50b3BdLFttLmxlZnQrdGhpcy53aWR0aCxtLnRvcF0sW20ubGVmdCxtLnRvcCt0aGlzLmhlaWdodF0sW20ubGVmdCt0aGlzLndpZHRoLG0udG9wK3RoaXMuaGVpZ2h0XV0sYj0wO2I8Zy5sZW5ndGg7Yis9MSl7dmFyIHc9Z1tiXTt3WzBdPj0wJiZ3WzBdPD12JiZ3WzFdPj0wJiZ3WzFdPD1mJiYodT0hMCl9aWYoIXUpcmV0dXJufXRoaXMuaXNIb3Jpem9udGFsKCk/KChvfHxsfHxkfHxoKSYmKHMucHJldmVudERlZmF1bHQ/cy5wcmV2ZW50RGVmYXVsdCgpOnMucmV0dXJuVmFsdWU9ITEpLCgobHx8aCkmJiF0fHwob3x8ZCkmJnQpJiZ0aGlzLnNsaWRlTmV4dCgpLCgob3x8ZCkmJiF0fHwobHx8aCkmJnQpJiZ0aGlzLnNsaWRlUHJldigpKTooKG98fGx8fHB8fGMpJiYocy5wcmV2ZW50RGVmYXVsdD9zLnByZXZlbnREZWZhdWx0KCk6cy5yZXR1cm5WYWx1ZT0hMSksKGx8fGMpJiZ0aGlzLnNsaWRlTmV4dCgpLChvfHxwKSYmdGhpcy5zbGlkZVByZXYoKSksdGhpcy5lbWl0KCJrZXlQcmVzcyIscil9fSxlbmFibGU6ZnVuY3Rpb24oKXt0aGlzLmtleWJvYXJkLmVuYWJsZWR8fChuKGkpLm9uKCJrZXlkb3duIix0aGlzLmtleWJvYXJkLmhhbmRsZSksdGhpcy5rZXlib2FyZC5lbmFibGVkPSEwKX0sZGlzYWJsZTpmdW5jdGlvbigpe3RoaXMua2V5Ym9hcmQuZW5hYmxlZCYmKG4oaSkub2ZmKCJrZXlkb3duIix0aGlzLmtleWJvYXJkLmhhbmRsZSksdGhpcy5rZXlib2FyZC5lbmFibGVkPSExKX19LGFlPXtuYW1lOiJrZXlib2FyZCIscGFyYW1zOntrZXlib2FyZDp7ZW5hYmxlZDohMSxvbmx5SW5WaWV3cG9ydDohMCxwYWdlVXBEb3duOiEwfX0sY3JlYXRlOmZ1bmN0aW9uKCl7ZC5leHRlbmQodGhpcyx7a2V5Ym9hcmQ6e2VuYWJsZWQ6ITEsZW5hYmxlOnNlLmVuYWJsZS5iaW5kKHRoaXMpLGRpc2FibGU6c2UuZGlzYWJsZS5iaW5kKHRoaXMpLGhhbmRsZTpzZS5oYW5kbGUuYmluZCh0aGlzKX19KX0sb246e2luaXQ6ZnVuY3Rpb24oKXt0aGlzLnBhcmFtcy5rZXlib2FyZC5lbmFibGVkJiZ0aGlzLmtleWJvYXJkLmVuYWJsZSgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5rZXlib2FyZC5lbmFibGVkJiZ0aGlzLmtleWJvYXJkLmRpc2FibGUoKX19fTt2YXIgcmU9e2xhc3RTY3JvbGxUaW1lOmQubm93KCksbGFzdEV2ZW50QmVmb3JlU25hcDp2b2lkIDAscmVjZW50V2hlZWxFdmVudHM6W10sZXZlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYS5uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoImZpcmVmb3giKT4tMT8iRE9NTW91c2VTY3JvbGwiOmZ1bmN0aW9uKCl7dmFyIGU9Im9ud2hlZWwiaW4gaTtpZighZSl7dmFyIHQ9aS5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LnNldEF0dHJpYnV0ZSgib253aGVlbCIsInJldHVybjsiKSxlPSJmdW5jdGlvbiI9PXR5cGVvZiB0Lm9ud2hlZWx9cmV0dXJuIWUmJmkuaW1wbGVtZW50YXRpb24mJmkuaW1wbGVtZW50YXRpb24uaGFzRmVhdHVyZSYmITAhPT1pLmltcGxlbWVudGF0aW9uLmhhc0ZlYXR1cmUoIiIsIiIpJiYoZT1pLmltcGxlbWVudGF0aW9uLmhhc0ZlYXR1cmUoIkV2ZW50cy53aGVlbCIsIjMuMCIpKSxlfSgpPyJ3aGVlbCI6Im1vdXNld2hlZWwifSxub3JtYWxpemU6ZnVuY3Rpb24oZSl7dmFyIHQ9MCxpPTAscz0wLGE9MDtyZXR1cm4iZGV0YWlsImluIGUmJihpPWUuZGV0YWlsKSwid2hlZWxEZWx0YSJpbiBlJiYoaT0tZS53aGVlbERlbHRhLzEyMCksIndoZWVsRGVsdGFZImluIGUmJihpPS1lLndoZWVsRGVsdGFZLzEyMCksIndoZWVsRGVsdGFYImluIGUmJih0PS1lLndoZWVsRGVsdGFYLzEyMCksImF4aXMiaW4gZSYmZS5heGlzPT09ZS5IT1JJWk9OVEFMX0FYSVMmJih0PWksaT0wKSxzPTEwKnQsYT0xMCppLCJkZWx0YVkiaW4gZSYmKGE9ZS5kZWx0YVkpLCJkZWx0YVgiaW4gZSYmKHM9ZS5kZWx0YVgpLGUuc2hpZnRLZXkmJiFzJiYocz1hLGE9MCksKHN8fGEpJiZlLmRlbHRhTW9kZSYmKDE9PT1lLmRlbHRhTW9kZT8ocyo9NDAsYSo9NDApOihzKj04MDAsYSo9ODAwKSkscyYmIXQmJih0PXM8MT8tMToxKSxhJiYhaSYmKGk9YTwxPy0xOjEpLHtzcGluWDp0LHNwaW5ZOmkscGl4ZWxYOnMscGl4ZWxZOmF9fSxoYW5kbGVNb3VzZUVudGVyOmZ1bmN0aW9uKCl7dGhpcy5tb3VzZUVudGVyZWQ9ITB9LGhhbmRsZU1vdXNlTGVhdmU6ZnVuY3Rpb24oKXt0aGlzLm1vdXNlRW50ZXJlZD0hMX0saGFuZGxlOmZ1bmN0aW9uKGUpe3ZhciB0PWUsaT10aGlzLHM9aS5wYXJhbXMubW91c2V3aGVlbDtpLnBhcmFtcy5jc3NNb2RlJiZ0LnByZXZlbnREZWZhdWx0KCk7dmFyIGE9aS4kZWw7aWYoImNvbnRhaW5lciIhPT1pLnBhcmFtcy5tb3VzZXdoZWVsLmV2ZW50c1RhcmdlZCYmKGE9bihpLnBhcmFtcy5tb3VzZXdoZWVsLmV2ZW50c1RhcmdlZCkpLCFpLm1vdXNlRW50ZXJlZCYmIWFbMF0uY29udGFpbnModC50YXJnZXQpJiYhcy5yZWxlYXNlT25FZGdlcylyZXR1cm4hMDt0Lm9yaWdpbmFsRXZlbnQmJih0PXQub3JpZ2luYWxFdmVudCk7dmFyIHI9MCxvPWkucnRsVHJhbnNsYXRlPy0xOjEsbD1yZS5ub3JtYWxpemUodCk7aWYocy5mb3JjZVRvQXhpcylpZihpLmlzSG9yaXpvbnRhbCgpKXtpZighKE1hdGguYWJzKGwucGl4ZWxYKT5NYXRoLmFicyhsLnBpeGVsWSkpKXJldHVybiEwO3I9LWwucGl4ZWxYKm99ZWxzZXtpZighKE1hdGguYWJzKGwucGl4ZWxZKT5NYXRoLmFicyhsLnBpeGVsWCkpKXJldHVybiEwO3I9LWwucGl4ZWxZfWVsc2Ugcj1NYXRoLmFicyhsLnBpeGVsWCk+TWF0aC5hYnMobC5waXhlbFkpPy1sLnBpeGVsWCpvOi1sLnBpeGVsWTtpZigwPT09cilyZXR1cm4hMDtpZihzLmludmVydCYmKHI9LXIpLGkucGFyYW1zLmZyZWVNb2RlKXt2YXIgaD17dGltZTpkLm5vdygpLGRlbHRhOk1hdGguYWJzKHIpLGRpcmVjdGlvbjpNYXRoLnNpZ24ocil9LHA9aS5tb3VzZXdoZWVsLmxhc3RFdmVudEJlZm9yZVNuYXAsYz1wJiZoLnRpbWU8cC50aW1lKzUwMCYmaC5kZWx0YTw9cC5kZWx0YSYmaC5kaXJlY3Rpb249PT1wLmRpcmVjdGlvbjtpZighYyl7aS5tb3VzZXdoZWVsLmxhc3RFdmVudEJlZm9yZVNuYXA9dm9pZCAwLGkucGFyYW1zLmxvb3AmJmkubG9vcEZpeCgpO3ZhciB1PWkuZ2V0VHJhbnNsYXRlKCkrcipzLnNlbnNpdGl2aXR5LHY9aS5pc0JlZ2lubmluZyxmPWkuaXNFbmQ7aWYodT49aS5taW5UcmFuc2xhdGUoKSYmKHU9aS5taW5UcmFuc2xhdGUoKSksdTw9aS5tYXhUcmFuc2xhdGUoKSYmKHU9aS5tYXhUcmFuc2xhdGUoKSksaS5zZXRUcmFuc2l0aW9uKDApLGkuc2V0VHJhbnNsYXRlKHUpLGkudXBkYXRlUHJvZ3Jlc3MoKSxpLnVwZGF0ZUFjdGl2ZUluZGV4KCksaS51cGRhdGVTbGlkZXNDbGFzc2VzKCksKCF2JiZpLmlzQmVnaW5uaW5nfHwhZiYmaS5pc0VuZCkmJmkudXBkYXRlU2xpZGVzQ2xhc3NlcygpLGkucGFyYW1zLmZyZWVNb2RlU3RpY2t5KXtjbGVhclRpbWVvdXQoaS5tb3VzZXdoZWVsLnRpbWVvdXQpLGkubW91c2V3aGVlbC50aW1lb3V0PXZvaWQgMDt2YXIgbT1pLm1vdXNld2hlZWwucmVjZW50V2hlZWxFdmVudHM7bS5sZW5ndGg+PTE1JiZtLnNoaWZ0KCk7dmFyIGc9bS5sZW5ndGg/bVttLmxlbmd0aC0xXTp2b2lkIDAsYj1tWzBdO2lmKG0ucHVzaChoKSxnJiYoaC5kZWx0YT5nLmRlbHRhfHxoLmRpcmVjdGlvbiE9PWcuZGlyZWN0aW9uKSltLnNwbGljZSgwKTtlbHNlIGlmKG0ubGVuZ3RoPj0xNSYmaC50aW1lLWIudGltZTw1MDAmJmIuZGVsdGEtaC5kZWx0YT49MSYmaC5kZWx0YTw9Nil7dmFyIHc9cj4wPy44Oi4yO2kubW91c2V3aGVlbC5sYXN0RXZlbnRCZWZvcmVTbmFwPWgsbS5zcGxpY2UoMCksaS5tb3VzZXdoZWVsLnRpbWVvdXQ9ZC5uZXh0VGljaygoZnVuY3Rpb24oKXtpLnNsaWRlVG9DbG9zZXN0KGkucGFyYW1zLnNwZWVkLCEwLHZvaWQgMCx3KX0pLDApfWkubW91c2V3aGVlbC50aW1lb3V0fHwoaS5tb3VzZXdoZWVsLnRpbWVvdXQ9ZC5uZXh0VGljaygoZnVuY3Rpb24oKXtpLm1vdXNld2hlZWwubGFzdEV2ZW50QmVmb3JlU25hcD1oLG0uc3BsaWNlKDApLGkuc2xpZGVUb0Nsb3Nlc3QoaS5wYXJhbXMuc3BlZWQsITAsdm9pZCAwLC41KX0pLDUwMCkpfWlmKGN8fGkuZW1pdCgic2Nyb2xsIix0KSxpLnBhcmFtcy5hdXRvcGxheSYmaS5wYXJhbXMuYXV0b3BsYXlEaXNhYmxlT25JbnRlcmFjdGlvbiYmaS5hdXRvcGxheS5zdG9wKCksdT09PWkubWluVHJhbnNsYXRlKCl8fHU9PT1pLm1heFRyYW5zbGF0ZSgpKXJldHVybiEwfX1lbHNle3ZhciB5PXt0aW1lOmQubm93KCksZGVsdGE6TWF0aC5hYnMociksZGlyZWN0aW9uOk1hdGguc2lnbihyKSxyYXc6ZX0seD1pLm1vdXNld2hlZWwucmVjZW50V2hlZWxFdmVudHM7eC5sZW5ndGg+PTImJnguc2hpZnQoKTt2YXIgRT14Lmxlbmd0aD94W3gubGVuZ3RoLTFdOnZvaWQgMDtpZih4LnB1c2goeSksRT8oeS5kaXJlY3Rpb24hPT1FLmRpcmVjdGlvbnx8eS5kZWx0YT5FLmRlbHRhfHx5LnRpbWU+RS50aW1lKzE1MCkmJmkubW91c2V3aGVlbC5hbmltYXRlU2xpZGVyKHkpOmkubW91c2V3aGVlbC5hbmltYXRlU2xpZGVyKHkpLGkubW91c2V3aGVlbC5yZWxlYXNlU2Nyb2xsKHkpKXJldHVybiEwfXJldHVybiB0LnByZXZlbnREZWZhdWx0P3QucHJldmVudERlZmF1bHQoKTp0LnJldHVyblZhbHVlPSExLCExfSxhbmltYXRlU2xpZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlLmRlbHRhPj02JiZkLm5vdygpLXRoaXMubW91c2V3aGVlbC5sYXN0U2Nyb2xsVGltZTw2MHx8KGUuZGlyZWN0aW9uPDA/dGhpcy5pc0VuZCYmIXRoaXMucGFyYW1zLmxvb3B8fHRoaXMuYW5pbWF0aW5nfHwodGhpcy5zbGlkZU5leHQoKSx0aGlzLmVtaXQoInNjcm9sbCIsZS5yYXcpKTp0aGlzLmlzQmVnaW5uaW5nJiYhdGhpcy5wYXJhbXMubG9vcHx8dGhpcy5hbmltYXRpbmd8fCh0aGlzLnNsaWRlUHJldigpLHRoaXMuZW1pdCgic2Nyb2xsIixlLnJhdykpLHRoaXMubW91c2V3aGVlbC5sYXN0U2Nyb2xsVGltZT0obmV3IGEuRGF0ZSkuZ2V0VGltZSgpLCExKX0scmVsZWFzZVNjcm9sbDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnBhcmFtcy5tb3VzZXdoZWVsO2lmKGUuZGlyZWN0aW9uPDApe2lmKHRoaXMuaXNFbmQmJiF0aGlzLnBhcmFtcy5sb29wJiZ0LnJlbGVhc2VPbkVkZ2VzKXJldHVybiEwfWVsc2UgaWYodGhpcy5pc0JlZ2lubmluZyYmIXRoaXMucGFyYW1zLmxvb3AmJnQucmVsZWFzZU9uRWRnZXMpcmV0dXJuITA7cmV0dXJuITF9LGVuYWJsZTpmdW5jdGlvbigpe3ZhciBlPXJlLmV2ZW50KCk7aWYodGhpcy5wYXJhbXMuY3NzTW9kZSlyZXR1cm4gdGhpcy53cmFwcGVyRWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHRoaXMubW91c2V3aGVlbC5oYW5kbGUpLCEwO2lmKCFlKXJldHVybiExO2lmKHRoaXMubW91c2V3aGVlbC5lbmFibGVkKXJldHVybiExO3ZhciB0PXRoaXMuJGVsO3JldHVybiJjb250YWluZXIiIT09dGhpcy5wYXJhbXMubW91c2V3aGVlbC5ldmVudHNUYXJnZWQmJih0PW4odGhpcy5wYXJhbXMubW91c2V3aGVlbC5ldmVudHNUYXJnZWQpKSx0Lm9uKCJtb3VzZWVudGVyIix0aGlzLm1vdXNld2hlZWwuaGFuZGxlTW91c2VFbnRlciksdC5vbigibW91c2VsZWF2ZSIsdGhpcy5tb3VzZXdoZWVsLmhhbmRsZU1vdXNlTGVhdmUpLHQub24oZSx0aGlzLm1vdXNld2hlZWwuaGFuZGxlKSx0aGlzLm1vdXNld2hlZWwuZW5hYmxlZD0hMCwhMH0sZGlzYWJsZTpmdW5jdGlvbigpe3ZhciBlPXJlLmV2ZW50KCk7aWYodGhpcy5wYXJhbXMuY3NzTW9kZSlyZXR1cm4gdGhpcy53cmFwcGVyRWwuYWRkRXZlbnRMaXN0ZW5lcihlLHRoaXMubW91c2V3aGVlbC5oYW5kbGUpLCEwO2lmKCFlKXJldHVybiExO2lmKCF0aGlzLm1vdXNld2hlZWwuZW5hYmxlZClyZXR1cm4hMTt2YXIgdD10aGlzLiRlbDtyZXR1cm4iY29udGFpbmVyIiE9PXRoaXMucGFyYW1zLm1vdXNld2hlZWwuZXZlbnRzVGFyZ2VkJiYodD1uKHRoaXMucGFyYW1zLm1vdXNld2hlZWwuZXZlbnRzVGFyZ2VkKSksdC5vZmYoZSx0aGlzLm1vdXNld2hlZWwuaGFuZGxlKSx0aGlzLm1vdXNld2hlZWwuZW5hYmxlZD0hMSwhMH19LG5lPXt1cGRhdGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnBhcmFtcy5uYXZpZ2F0aW9uO2lmKCF0aGlzLnBhcmFtcy5sb29wKXt2YXIgdD10aGlzLm5hdmlnYXRpb24saT10LiRuZXh0RWwscz10LiRwcmV2RWw7cyYmcy5sZW5ndGg+MCYmKHRoaXMuaXNCZWdpbm5pbmc/cy5hZGRDbGFzcyhlLmRpc2FibGVkQ2xhc3MpOnMucmVtb3ZlQ2xhc3MoZS5kaXNhYmxlZENsYXNzKSxzW3RoaXMucGFyYW1zLndhdGNoT3ZlcmZsb3cmJnRoaXMuaXNMb2NrZWQ/ImFkZENsYXNzIjoicmVtb3ZlQ2xhc3MiXShlLmxvY2tDbGFzcykpLGkmJmkubGVuZ3RoPjAmJih0aGlzLmlzRW5kP2kuYWRkQ2xhc3MoZS5kaXNhYmxlZENsYXNzKTppLnJlbW92ZUNsYXNzKGUuZGlzYWJsZWRDbGFzcyksaVt0aGlzLnBhcmFtcy53YXRjaE92ZXJmbG93JiZ0aGlzLmlzTG9ja2VkPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0oZS5sb2NrQ2xhc3MpKX19LG9uUHJldkNsaWNrOmZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSx0aGlzLmlzQmVnaW5uaW5nJiYhdGhpcy5wYXJhbXMubG9vcHx8dGhpcy5zbGlkZVByZXYoKX0sb25OZXh0Q2xpY2s6ZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaXNFbmQmJiF0aGlzLnBhcmFtcy5sb29wfHx0aGlzLnNsaWRlTmV4dCgpfSxpbml0OmZ1bmN0aW9uKCl7dmFyIGUsdCxpPXRoaXMucGFyYW1zLm5hdmlnYXRpb247KGkubmV4dEVsfHxpLnByZXZFbCkmJihpLm5leHRFbCYmKGU9bihpLm5leHRFbCksdGhpcy5wYXJhbXMudW5pcXVlTmF2RWxlbWVudHMmJiJzdHJpbmciPT10eXBlb2YgaS5uZXh0RWwmJmUubGVuZ3RoPjEmJjE9PT10aGlzLiRlbC5maW5kKGkubmV4dEVsKS5sZW5ndGgmJihlPXRoaXMuJGVsLmZpbmQoaS5uZXh0RWwpKSksaS5wcmV2RWwmJih0PW4oaS5wcmV2RWwpLHRoaXMucGFyYW1zLnVuaXF1ZU5hdkVsZW1lbnRzJiYic3RyaW5nIj09dHlwZW9mIGkucHJldkVsJiZ0Lmxlbmd0aD4xJiYxPT09dGhpcy4kZWwuZmluZChpLnByZXZFbCkubGVuZ3RoJiYodD10aGlzLiRlbC5maW5kKGkucHJldkVsKSkpLGUmJmUubGVuZ3RoPjAmJmUub24oImNsaWNrIix0aGlzLm5hdmlnYXRpb24ub25OZXh0Q2xpY2spLHQmJnQubGVuZ3RoPjAmJnQub24oImNsaWNrIix0aGlzLm5hdmlnYXRpb24ub25QcmV2Q2xpY2spLGQuZXh0ZW5kKHRoaXMubmF2aWdhdGlvbix7JG5leHRFbDplLG5leHRFbDplJiZlWzBdLCRwcmV2RWw6dCxwcmV2RWw6dCYmdFswXX0pKX0sZGVzdHJveTpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF2aWdhdGlvbix0PWUuJG5leHRFbCxpPWUuJHByZXZFbDt0JiZ0Lmxlbmd0aCYmKHQub2ZmKCJjbGljayIsdGhpcy5uYXZpZ2F0aW9uLm9uTmV4dENsaWNrKSx0LnJlbW92ZUNsYXNzKHRoaXMucGFyYW1zLm5hdmlnYXRpb24uZGlzYWJsZWRDbGFzcykpLGkmJmkubGVuZ3RoJiYoaS5vZmYoImNsaWNrIix0aGlzLm5hdmlnYXRpb24ub25QcmV2Q2xpY2spLGkucmVtb3ZlQ2xhc3ModGhpcy5wYXJhbXMubmF2aWdhdGlvbi5kaXNhYmxlZENsYXNzKSl9fSxvZT17dXBkYXRlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5ydGwsdD10aGlzLnBhcmFtcy5wYWdpbmF0aW9uO2lmKHQuZWwmJnRoaXMucGFnaW5hdGlvbi5lbCYmdGhpcy5wYWdpbmF0aW9uLiRlbCYmMCE9PXRoaXMucGFnaW5hdGlvbi4kZWwubGVuZ3RoKXt2YXIgaSxzPXRoaXMudmlydHVhbCYmdGhpcy5wYXJhbXMudmlydHVhbC5lbmFibGVkP3RoaXMudmlydHVhbC5zbGlkZXMubGVuZ3RoOnRoaXMuc2xpZGVzLmxlbmd0aCxhPXRoaXMucGFnaW5hdGlvbi4kZWwscj10aGlzLnBhcmFtcy5sb29wP01hdGguY2VpbCgocy0yKnRoaXMubG9vcGVkU2xpZGVzKS90aGlzLnBhcmFtcy5zbGlkZXNQZXJHcm91cCk6dGhpcy5zbmFwR3JpZC5sZW5ndGg7aWYodGhpcy5wYXJhbXMubG9vcD8oKGk9TWF0aC5jZWlsKCh0aGlzLmFjdGl2ZUluZGV4LXRoaXMubG9vcGVkU2xpZGVzKS90aGlzLnBhcmFtcy5zbGlkZXNQZXJHcm91cCkpPnMtMS0yKnRoaXMubG9vcGVkU2xpZGVzJiYoaS09cy0yKnRoaXMubG9vcGVkU2xpZGVzKSxpPnItMSYmKGktPXIpLGk8MCYmImJ1bGxldHMiIT09dGhpcy5wYXJhbXMucGFnaW5hdGlvblR5cGUmJihpPXIraSkpOmk9dm9pZCAwIT09dGhpcy5zbmFwSW5kZXg/dGhpcy5zbmFwSW5kZXg6dGhpcy5hY3RpdmVJbmRleHx8MCwiYnVsbGV0cyI9PT10LnR5cGUmJnRoaXMucGFnaW5hdGlvbi5idWxsZXRzJiZ0aGlzLnBhZ2luYXRpb24uYnVsbGV0cy5sZW5ndGg+MCl7dmFyIG8sbCxkLGg9dGhpcy5wYWdpbmF0aW9uLmJ1bGxldHM7aWYodC5keW5hbWljQnVsbGV0cyYmKHRoaXMucGFnaW5hdGlvbi5idWxsZXRTaXplPWguZXEoMClbdGhpcy5pc0hvcml6b250YWwoKT8ib3V0ZXJXaWR0aCI6Im91dGVySGVpZ2h0Il0oITApLGEuY3NzKHRoaXMuaXNIb3Jpem9udGFsKCk/IndpZHRoIjoiaGVpZ2h0Iix0aGlzLnBhZ2luYXRpb24uYnVsbGV0U2l6ZSoodC5keW5hbWljTWFpbkJ1bGxldHMrNCkrInB4IiksdC5keW5hbWljTWFpbkJ1bGxldHM+MSYmdm9pZCAwIT09dGhpcy5wcmV2aW91c0luZGV4JiYodGhpcy5wYWdpbmF0aW9uLmR5bmFtaWNCdWxsZXRJbmRleCs9aS10aGlzLnByZXZpb3VzSW5kZXgsdGhpcy5wYWdpbmF0aW9uLmR5bmFtaWNCdWxsZXRJbmRleD50LmR5bmFtaWNNYWluQnVsbGV0cy0xP3RoaXMucGFnaW5hdGlvbi5keW5hbWljQnVsbGV0SW5kZXg9dC5keW5hbWljTWFpbkJ1bGxldHMtMTp0aGlzLnBhZ2luYXRpb24uZHluYW1pY0J1bGxldEluZGV4PDAmJih0aGlzLnBhZ2luYXRpb24uZHluYW1pY0J1bGxldEluZGV4PTApKSxvPWktdGhpcy5wYWdpbmF0aW9uLmR5bmFtaWNCdWxsZXRJbmRleCxkPSgobD1vKyhNYXRoLm1pbihoLmxlbmd0aCx0LmR5bmFtaWNNYWluQnVsbGV0cyktMSkpK28pLzIpLGgucmVtb3ZlQ2xhc3ModC5idWxsZXRBY3RpdmVDbGFzcysiICIrdC5idWxsZXRBY3RpdmVDbGFzcysiLW5leHQgIit0LmJ1bGxldEFjdGl2ZUNsYXNzKyItbmV4dC1uZXh0ICIrdC5idWxsZXRBY3RpdmVDbGFzcysiLXByZXYgIit0LmJ1bGxldEFjdGl2ZUNsYXNzKyItcHJldi1wcmV2ICIrdC5idWxsZXRBY3RpdmVDbGFzcysiLW1haW4iKSxhLmxlbmd0aD4xKWguZWFjaCgoZnVuY3Rpb24oZSxzKXt2YXIgYT1uKHMpLHI9YS5pbmRleCgpO3I9PT1pJiZhLmFkZENsYXNzKHQuYnVsbGV0QWN0aXZlQ2xhc3MpLHQuZHluYW1pY0J1bGxldHMmJihyPj1vJiZyPD1sJiZhLmFkZENsYXNzKHQuYnVsbGV0QWN0aXZlQ2xhc3MrIi1tYWluIikscj09PW8mJmEucHJldigpLmFkZENsYXNzKHQuYnVsbGV0QWN0aXZlQ2xhc3MrIi1wcmV2IikucHJldigpLmFkZENsYXNzKHQuYnVsbGV0QWN0aXZlQ2xhc3MrIi1wcmV2LXByZXYiKSxyPT09bCYmYS5uZXh0KCkuYWRkQ2xhc3ModC5idWxsZXRBY3RpdmVDbGFzcysiLW5leHQiKS5uZXh0KCkuYWRkQ2xhc3ModC5idWxsZXRBY3RpdmVDbGFzcysiLW5leHQtbmV4dCIpKX0pKTtlbHNle3ZhciBwPWguZXEoaSksYz1wLmluZGV4KCk7aWYocC5hZGRDbGFzcyh0LmJ1bGxldEFjdGl2ZUNsYXNzKSx0LmR5bmFtaWNCdWxsZXRzKXtmb3IodmFyIHU9aC5lcShvKSx2PWguZXEobCksZj1vO2Y8PWw7Zis9MSloLmVxKGYpLmFkZENsYXNzKHQuYnVsbGV0QWN0aXZlQ2xhc3MrIi1tYWluIik7aWYodGhpcy5wYXJhbXMubG9vcClpZihjPj1oLmxlbmd0aC10LmR5bmFtaWNNYWluQnVsbGV0cyl7Zm9yKHZhciBtPXQuZHluYW1pY01haW5CdWxsZXRzO20+PTA7bS09MSloLmVxKGgubGVuZ3RoLW0pLmFkZENsYXNzKHQuYnVsbGV0QWN0aXZlQ2xhc3MrIi1tYWluIik7aC5lcShoLmxlbmd0aC10LmR5bmFtaWNNYWluQnVsbGV0cy0xKS5hZGRDbGFzcyh0LmJ1bGxldEFjdGl2ZUNsYXNzKyItcHJldiIpfWVsc2UgdS5wcmV2KCkuYWRkQ2xhc3ModC5idWxsZXRBY3RpdmVDbGFzcysiLXByZXYiKS5wcmV2KCkuYWRkQ2xhc3ModC5idWxsZXRBY3RpdmVDbGFzcysiLXByZXYtcHJldiIpLHYubmV4dCgpLmFkZENsYXNzKHQuYnVsbGV0QWN0aXZlQ2xhc3MrIi1uZXh0IikubmV4dCgpLmFkZENsYXNzKHQuYnVsbGV0QWN0aXZlQ2xhc3MrIi1uZXh0LW5leHQiKTtlbHNlIHUucHJldigpLmFkZENsYXNzKHQuYnVsbGV0QWN0aXZlQ2xhc3MrIi1wcmV2IikucHJldigpLmFkZENsYXNzKHQuYnVsbGV0QWN0aXZlQ2xhc3MrIi1wcmV2LXByZXYiKSx2Lm5leHQoKS5hZGRDbGFzcyh0LmJ1bGxldEFjdGl2ZUNsYXNzKyItbmV4dCIpLm5leHQoKS5hZGRDbGFzcyh0LmJ1bGxldEFjdGl2ZUNsYXNzKyItbmV4dC1uZXh0Iil9fWlmKHQuZHluYW1pY0J1bGxldHMpe3ZhciBnPU1hdGgubWluKGgubGVuZ3RoLHQuZHluYW1pY01haW5CdWxsZXRzKzQpLGI9KHRoaXMucGFnaW5hdGlvbi5idWxsZXRTaXplKmctdGhpcy5wYWdpbmF0aW9uLmJ1bGxldFNpemUpLzItZCp0aGlzLnBhZ2luYXRpb24uYnVsbGV0U2l6ZSx3PWU/InJpZ2h0IjoibGVmdCI7aC5jc3ModGhpcy5pc0hvcml6b250YWwoKT93OiJ0b3AiLGIrInB4Iil9fWlmKCJmcmFjdGlvbiI9PT10LnR5cGUmJihhLmZpbmQoIi4iK3QuY3VycmVudENsYXNzKS50ZXh0KHQuZm9ybWF0RnJhY3Rpb25DdXJyZW50KGkrMSkpLGEuZmluZCgiLiIrdC50b3RhbENsYXNzKS50ZXh0KHQuZm9ybWF0RnJhY3Rpb25Ub3RhbChyKSkpLCJwcm9ncmVzc2JhciI9PT10LnR5cGUpe3ZhciB5O3k9dC5wcm9ncmVzc2Jhck9wcG9zaXRlP3RoaXMuaXNIb3Jpem9udGFsKCk/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCI6dGhpcy5pc0hvcml6b250YWwoKT8iaG9yaXpvbnRhbCI6InZlcnRpY2FsIjt2YXIgeD0oaSsxKS9yLEU9MSxUPTE7Imhvcml6b250YWwiPT09eT9FPXg6VD14LGEuZmluZCgiLiIrdC5wcm9ncmVzc2JhckZpbGxDbGFzcykudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGVYKCIrRSsiKSBzY2FsZVkoIitUKyIpIikudHJhbnNpdGlvbih0aGlzLnBhcmFtcy5zcGVlZCl9ImN1c3RvbSI9PT10LnR5cGUmJnQucmVuZGVyQ3VzdG9tPyhhLmh0bWwodC5yZW5kZXJDdXN0b20odGhpcyxpKzEscikpLHRoaXMuZW1pdCgicGFnaW5hdGlvblJlbmRlciIsdGhpcyxhWzBdKSk6dGhpcy5lbWl0KCJwYWdpbmF0aW9uVXBkYXRlIix0aGlzLGFbMF0pLGFbdGhpcy5wYXJhbXMud2F0Y2hPdmVyZmxvdyYmdGhpcy5pc0xvY2tlZD8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKHQubG9ja0NsYXNzKX19LHJlbmRlcjpmdW5jdGlvbigpe3ZhciBlPXRoaXMucGFyYW1zLnBhZ2luYXRpb247aWYoZS5lbCYmdGhpcy5wYWdpbmF0aW9uLmVsJiZ0aGlzLnBhZ2luYXRpb24uJGVsJiYwIT09dGhpcy5wYWdpbmF0aW9uLiRlbC5sZW5ndGgpe3ZhciB0PXRoaXMudmlydHVhbCYmdGhpcy5wYXJhbXMudmlydHVhbC5lbmFibGVkP3RoaXMudmlydHVhbC5zbGlkZXMubGVuZ3RoOnRoaXMuc2xpZGVzLmxlbmd0aCxpPXRoaXMucGFnaW5hdGlvbi4kZWwscz0iIjtpZigiYnVsbGV0cyI9PT1lLnR5cGUpe2Zvcih2YXIgYT10aGlzLnBhcmFtcy5sb29wP01hdGguY2VpbCgodC0yKnRoaXMubG9vcGVkU2xpZGVzKS90aGlzLnBhcmFtcy5zbGlkZXNQZXJHcm91cCk6dGhpcy5zbmFwR3JpZC5sZW5ndGgscj0wO3I8YTtyKz0xKWUucmVuZGVyQnVsbGV0P3MrPWUucmVuZGVyQnVsbGV0LmNhbGwodGhpcyxyLGUuYnVsbGV0Q2xhc3MpOnMrPSI8IitlLmJ1bGxldEVsZW1lbnQrJyBjbGFzcz0iJytlLmJ1bGxldENsYXNzKyciPjwvJytlLmJ1bGxldEVsZW1lbnQrIj4iO2kuaHRtbChzKSx0aGlzLnBhZ2luYXRpb24uYnVsbGV0cz1pLmZpbmQoIi4iK2UuYnVsbGV0Q2xhc3MpfSJmcmFjdGlvbiI9PT1lLnR5cGUmJihzPWUucmVuZGVyRnJhY3Rpb24/ZS5yZW5kZXJGcmFjdGlvbi5jYWxsKHRoaXMsZS5jdXJyZW50Q2xhc3MsZS50b3RhbENsYXNzKTonPHNwYW4gY2xhc3M9IicrZS5jdXJyZW50Q2xhc3MrJyI+PC9zcGFuPiAvIDxzcGFuIGNsYXNzPSInK2UudG90YWxDbGFzcysnIj48L3NwYW4+JyxpLmh0bWwocykpLCJwcm9ncmVzc2JhciI9PT1lLnR5cGUmJihzPWUucmVuZGVyUHJvZ3Jlc3NiYXI/ZS5yZW5kZXJQcm9ncmVzc2Jhci5jYWxsKHRoaXMsZS5wcm9ncmVzc2JhckZpbGxDbGFzcyk6JzxzcGFuIGNsYXNzPSInK2UucHJvZ3Jlc3NiYXJGaWxsQ2xhc3MrJyI+PC9zcGFuPicsaS5odG1sKHMpKSwiY3VzdG9tIiE9PWUudHlwZSYmdGhpcy5lbWl0KCJwYWdpbmF0aW9uUmVuZGVyIix0aGlzLnBhZ2luYXRpb24uJGVsWzBdKX19LGluaXQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5wYXJhbXMucGFnaW5hdGlvbjtpZih0LmVsKXt2YXIgaT1uKHQuZWwpOzAhPT1pLmxlbmd0aCYmKGUucGFyYW1zLnVuaXF1ZU5hdkVsZW1lbnRzJiYic3RyaW5nIj09dHlwZW9mIHQuZWwmJmkubGVuZ3RoPjEmJihpPWUuJGVsLmZpbmQodC5lbCkpLCJidWxsZXRzIj09PXQudHlwZSYmdC5jbGlja2FibGUmJmkuYWRkQ2xhc3ModC5jbGlja2FibGVDbGFzcyksaS5hZGRDbGFzcyh0Lm1vZGlmaWVyQ2xhc3MrdC50eXBlKSwiYnVsbGV0cyI9PT10LnR5cGUmJnQuZHluYW1pY0J1bGxldHMmJihpLmFkZENsYXNzKCIiK3QubW9kaWZpZXJDbGFzcyt0LnR5cGUrIi1keW5hbWljIiksZS5wYWdpbmF0aW9uLmR5bmFtaWNCdWxsZXRJbmRleD0wLHQuZHluYW1pY01haW5CdWxsZXRzPDEmJih0LmR5bmFtaWNNYWluQnVsbGV0cz0xKSksInByb2dyZXNzYmFyIj09PXQudHlwZSYmdC5wcm9ncmVzc2Jhck9wcG9zaXRlJiZpLmFkZENsYXNzKHQucHJvZ3Jlc3NiYXJPcHBvc2l0ZUNsYXNzKSx0LmNsaWNrYWJsZSYmaS5vbigiY2xpY2siLCIuIit0LmJ1bGxldENsYXNzLChmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCk7dmFyIGk9bih0aGlzKS5pbmRleCgpKmUucGFyYW1zLnNsaWRlc1Blckdyb3VwO2UucGFyYW1zLmxvb3AmJihpKz1lLmxvb3BlZFNsaWRlcyksZS5zbGlkZVRvKGkpfSkpLGQuZXh0ZW5kKGUucGFnaW5hdGlvbix7JGVsOmksZWw6aVswXX0pKX19LGRlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnBhcmFtcy5wYWdpbmF0aW9uO2lmKGUuZWwmJnRoaXMucGFnaW5hdGlvbi5lbCYmdGhpcy5wYWdpbmF0aW9uLiRlbCYmMCE9PXRoaXMucGFnaW5hdGlvbi4kZWwubGVuZ3RoKXt2YXIgdD10aGlzLnBhZ2luYXRpb24uJGVsO3QucmVtb3ZlQ2xhc3MoZS5oaWRkZW5DbGFzcyksdC5yZW1vdmVDbGFzcyhlLm1vZGlmaWVyQ2xhc3MrZS50eXBlKSx0aGlzLnBhZ2luYXRpb24uYnVsbGV0cyYmdGhpcy5wYWdpbmF0aW9uLmJ1bGxldHMucmVtb3ZlQ2xhc3MoZS5idWxsZXRBY3RpdmVDbGFzcyksZS5jbGlja2FibGUmJnQub2ZmKCJjbGljayIsIi4iK2UuYnVsbGV0Q2xhc3MpfX19LGxlPXtzZXRUcmFuc2xhdGU6ZnVuY3Rpb24oKXtpZih0aGlzLnBhcmFtcy5zY3JvbGxiYXIuZWwmJnRoaXMuc2Nyb2xsYmFyLmVsKXt2YXIgZT10aGlzLnNjcm9sbGJhcix0PXRoaXMucnRsVHJhbnNsYXRlLGk9dGhpcy5wcm9ncmVzcyxzPWUuZHJhZ1NpemUsYT1lLnRyYWNrU2l6ZSxyPWUuJGRyYWdFbCxuPWUuJGVsLG89dGhpcy5wYXJhbXMuc2Nyb2xsYmFyLGw9cyxkPShhLXMpKmk7dD8oZD0tZCk+MD8obD1zLWQsZD0wKTotZCtzPmEmJihsPWErZCk6ZDwwPyhsPXMrZCxkPTApOmQrcz5hJiYobD1hLWQpLHRoaXMuaXNIb3Jpem9udGFsKCk/KHIudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgiK2QrInB4LCAwLCAwKSIpLHJbMF0uc3R5bGUud2lkdGg9bCsicHgiKTooci50cmFuc2Zvcm0oInRyYW5zbGF0ZTNkKDBweCwgIitkKyJweCwgMCkiKSxyWzBdLnN0eWxlLmhlaWdodD1sKyJweCIpLG8uaGlkZSYmKGNsZWFyVGltZW91dCh0aGlzLnNjcm9sbGJhci50aW1lb3V0KSxuWzBdLnN0eWxlLm9wYWNpdHk9MSx0aGlzLnNjcm9sbGJhci50aW1lb3V0PXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7blswXS5zdHlsZS5vcGFjaXR5PTAsbi50cmFuc2l0aW9uKDQwMCl9KSwxZTMpKX19LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSl7dGhpcy5wYXJhbXMuc2Nyb2xsYmFyLmVsJiZ0aGlzLnNjcm9sbGJhci5lbCYmdGhpcy5zY3JvbGxiYXIuJGRyYWdFbC50cmFuc2l0aW9uKGUpfSx1cGRhdGVTaXplOmZ1bmN0aW9uKCl7aWYodGhpcy5wYXJhbXMuc2Nyb2xsYmFyLmVsJiZ0aGlzLnNjcm9sbGJhci5lbCl7dmFyIGU9dGhpcy5zY3JvbGxiYXIsdD1lLiRkcmFnRWwsaT1lLiRlbDt0WzBdLnN0eWxlLndpZHRoPSIiLHRbMF0uc3R5bGUuaGVpZ2h0PSIiO3ZhciBzLGE9dGhpcy5pc0hvcml6b250YWwoKT9pWzBdLm9mZnNldFdpZHRoOmlbMF0ub2Zmc2V0SGVpZ2h0LHI9dGhpcy5zaXplL3RoaXMudmlydHVhbFNpemUsbj1yKihhL3RoaXMuc2l6ZSk7cz0iYXV0byI9PT10aGlzLnBhcmFtcy5zY3JvbGxiYXIuZHJhZ1NpemU/YSpyOnBhcnNlSW50KHRoaXMucGFyYW1zLnNjcm9sbGJhci5kcmFnU2l6ZSwxMCksdGhpcy5pc0hvcml6b250YWwoKT90WzBdLnN0eWxlLndpZHRoPXMrInB4Ijp0WzBdLnN0eWxlLmhlaWdodD1zKyJweCIsaVswXS5zdHlsZS5kaXNwbGF5PXI+PTE/Im5vbmUiOiIiLHRoaXMucGFyYW1zLnNjcm9sbGJhci5oaWRlJiYoaVswXS5zdHlsZS5vcGFjaXR5PTApLGQuZXh0ZW5kKGUse3RyYWNrU2l6ZTphLGRpdmlkZXI6cixtb3ZlRGl2aWRlcjpuLGRyYWdTaXplOnN9KSxlLiRlbFt0aGlzLnBhcmFtcy53YXRjaE92ZXJmbG93JiZ0aGlzLmlzTG9ja2VkPyJhZGRDbGFzcyI6InJlbW92ZUNsYXNzIl0odGhpcy5wYXJhbXMuc2Nyb2xsYmFyLmxvY2tDbGFzcyl9fSxnZXRQb2ludGVyUG9zaXRpb246ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXNIb3Jpem9udGFsKCk/InRvdWNoc3RhcnQiPT09ZS50eXBlfHwidG91Y2htb3ZlIj09PWUudHlwZT9lLnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WDplLmNsaWVudFg6InRvdWNoc3RhcnQiPT09ZS50eXBlfHwidG91Y2htb3ZlIj09PWUudHlwZT9lLnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WTplLmNsaWVudFl9LHNldERyYWdQb3NpdGlvbjpmdW5jdGlvbihlKXt2YXIgdCxpPXRoaXMuc2Nyb2xsYmFyLHM9dGhpcy5ydGxUcmFuc2xhdGUsYT1pLiRlbCxyPWkuZHJhZ1NpemUsbj1pLnRyYWNrU2l6ZSxvPWkuZHJhZ1N0YXJ0UG9zO3Q9KGkuZ2V0UG9pbnRlclBvc2l0aW9uKGUpLWEub2Zmc2V0KClbdGhpcy5pc0hvcml6b250YWwoKT8ibGVmdCI6InRvcCJdLShudWxsIT09bz9vOnIvMikpLyhuLXIpLHQ9TWF0aC5tYXgoTWF0aC5taW4odCwxKSwwKSxzJiYodD0xLXQpO3ZhciBsPXRoaXMubWluVHJhbnNsYXRlKCkrKHRoaXMubWF4VHJhbnNsYXRlKCktdGhpcy5taW5UcmFuc2xhdGUoKSkqdDt0aGlzLnVwZGF0ZVByb2dyZXNzKGwpLHRoaXMuc2V0VHJhbnNsYXRlKGwpLHRoaXMudXBkYXRlQWN0aXZlSW5kZXgoKSx0aGlzLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX0sb25EcmFnU3RhcnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5wYXJhbXMuc2Nyb2xsYmFyLGk9dGhpcy5zY3JvbGxiYXIscz10aGlzLiR3cmFwcGVyRWwsYT1pLiRlbCxyPWkuJGRyYWdFbDt0aGlzLnNjcm9sbGJhci5pc1RvdWNoZWQ9ITAsdGhpcy5zY3JvbGxiYXIuZHJhZ1N0YXJ0UG9zPWUudGFyZ2V0PT09clswXXx8ZS50YXJnZXQ9PT1yP2kuZ2V0UG9pbnRlclBvc2l0aW9uKGUpLWUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpW3RoaXMuaXNIb3Jpem9udGFsKCk/ImxlZnQiOiJ0b3AiXTpudWxsLGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHMudHJhbnNpdGlvbigxMDApLHIudHJhbnNpdGlvbigxMDApLGkuc2V0RHJhZ1Bvc2l0aW9uKGUpLGNsZWFyVGltZW91dCh0aGlzLnNjcm9sbGJhci5kcmFnVGltZW91dCksYS50cmFuc2l0aW9uKDApLHQuaGlkZSYmYS5jc3MoIm9wYWNpdHkiLDEpLHRoaXMucGFyYW1zLmNzc01vZGUmJnRoaXMuJHdyYXBwZXJFbC5jc3MoInNjcm9sbC1zbmFwLXR5cGUiLCJub25lIiksdGhpcy5lbWl0KCJzY3JvbGxiYXJEcmFnU3RhcnQiLGUpfSxvbkRyYWdNb3ZlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuc2Nyb2xsYmFyLGk9dGhpcy4kd3JhcHBlckVsLHM9dC4kZWwsYT10LiRkcmFnRWw7dGhpcy5zY3JvbGxiYXIuaXNUb3VjaGVkJiYoZS5wcmV2ZW50RGVmYXVsdD9lLnByZXZlbnREZWZhdWx0KCk6ZS5yZXR1cm5WYWx1ZT0hMSx0LnNldERyYWdQb3NpdGlvbihlKSxpLnRyYW5zaXRpb24oMCkscy50cmFuc2l0aW9uKDApLGEudHJhbnNpdGlvbigwKSx0aGlzLmVtaXQoInNjcm9sbGJhckRyYWdNb3ZlIixlKSl9LG9uRHJhZ0VuZDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnBhcmFtcy5zY3JvbGxiYXIsaT10aGlzLnNjcm9sbGJhcixzPXRoaXMuJHdyYXBwZXJFbCxhPWkuJGVsO3RoaXMuc2Nyb2xsYmFyLmlzVG91Y2hlZCYmKHRoaXMuc2Nyb2xsYmFyLmlzVG91Y2hlZD0hMSx0aGlzLnBhcmFtcy5jc3NNb2RlJiYodGhpcy4kd3JhcHBlckVsLmNzcygic2Nyb2xsLXNuYXAtdHlwZSIsIiIpLHMudHJhbnNpdGlvbigiIikpLHQuaGlkZSYmKGNsZWFyVGltZW91dCh0aGlzLnNjcm9sbGJhci5kcmFnVGltZW91dCksdGhpcy5zY3JvbGxiYXIuZHJhZ1RpbWVvdXQ9ZC5uZXh0VGljaygoZnVuY3Rpb24oKXthLmNzcygib3BhY2l0eSIsMCksYS50cmFuc2l0aW9uKDQwMCl9KSwxZTMpKSx0aGlzLmVtaXQoInNjcm9sbGJhckRyYWdFbmQiLGUpLHQuc25hcE9uUmVsZWFzZSYmdGhpcy5zbGlkZVRvQ2xvc2VzdCgpKX0sZW5hYmxlRHJhZ2dhYmxlOmZ1bmN0aW9uKCl7aWYodGhpcy5wYXJhbXMuc2Nyb2xsYmFyLmVsKXt2YXIgZT10aGlzLnNjcm9sbGJhcix0PXRoaXMudG91Y2hFdmVudHNUb3VjaCxzPXRoaXMudG91Y2hFdmVudHNEZXNrdG9wLGE9dGhpcy5wYXJhbXMscj1lLiRlbFswXSxuPSEoIWgucGFzc2l2ZUxpc3RlbmVyfHwhYS5wYXNzaXZlTGlzdGVuZXJzKSYme3Bhc3NpdmU6ITEsY2FwdHVyZTohMX0sbz0hKCFoLnBhc3NpdmVMaXN0ZW5lcnx8IWEucGFzc2l2ZUxpc3RlbmVycykmJntwYXNzaXZlOiEwLGNhcHR1cmU6ITF9O2gudG91Y2g/KHIuYWRkRXZlbnRMaXN0ZW5lcih0LnN0YXJ0LHRoaXMuc2Nyb2xsYmFyLm9uRHJhZ1N0YXJ0LG4pLHIuYWRkRXZlbnRMaXN0ZW5lcih0Lm1vdmUsdGhpcy5zY3JvbGxiYXIub25EcmFnTW92ZSxuKSxyLmFkZEV2ZW50TGlzdGVuZXIodC5lbmQsdGhpcy5zY3JvbGxiYXIub25EcmFnRW5kLG8pKTooci5hZGRFdmVudExpc3RlbmVyKHMuc3RhcnQsdGhpcy5zY3JvbGxiYXIub25EcmFnU3RhcnQsbiksaS5hZGRFdmVudExpc3RlbmVyKHMubW92ZSx0aGlzLnNjcm9sbGJhci5vbkRyYWdNb3ZlLG4pLGkuYWRkRXZlbnRMaXN0ZW5lcihzLmVuZCx0aGlzLnNjcm9sbGJhci5vbkRyYWdFbmQsbykpfX0sZGlzYWJsZURyYWdnYWJsZTpmdW5jdGlvbigpe2lmKHRoaXMucGFyYW1zLnNjcm9sbGJhci5lbCl7dmFyIGU9dGhpcy5zY3JvbGxiYXIsdD10aGlzLnRvdWNoRXZlbnRzVG91Y2gscz10aGlzLnRvdWNoRXZlbnRzRGVza3RvcCxhPXRoaXMucGFyYW1zLHI9ZS4kZWxbMF0sbj0hKCFoLnBhc3NpdmVMaXN0ZW5lcnx8IWEucGFzc2l2ZUxpc3RlbmVycykmJntwYXNzaXZlOiExLGNhcHR1cmU6ITF9LG89ISghaC5wYXNzaXZlTGlzdGVuZXJ8fCFhLnBhc3NpdmVMaXN0ZW5lcnMpJiZ7cGFzc2l2ZTohMCxjYXB0dXJlOiExfTtoLnRvdWNoPyhyLnJlbW92ZUV2ZW50TGlzdGVuZXIodC5zdGFydCx0aGlzLnNjcm9sbGJhci5vbkRyYWdTdGFydCxuKSxyLnJlbW92ZUV2ZW50TGlzdGVuZXIodC5tb3ZlLHRoaXMuc2Nyb2xsYmFyLm9uRHJhZ01vdmUsbiksci5yZW1vdmVFdmVudExpc3RlbmVyKHQuZW5kLHRoaXMuc2Nyb2xsYmFyLm9uRHJhZ0VuZCxvKSk6KHIucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLnN0YXJ0LHRoaXMuc2Nyb2xsYmFyLm9uRHJhZ1N0YXJ0LG4pLGkucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLm1vdmUsdGhpcy5zY3JvbGxiYXIub25EcmFnTW92ZSxuKSxpLnJlbW92ZUV2ZW50TGlzdGVuZXIocy5lbmQsdGhpcy5zY3JvbGxiYXIub25EcmFnRW5kLG8pKX19LGluaXQ6ZnVuY3Rpb24oKXtpZih0aGlzLnBhcmFtcy5zY3JvbGxiYXIuZWwpe3ZhciBlPXRoaXMuc2Nyb2xsYmFyLHQ9dGhpcy4kZWwsaT10aGlzLnBhcmFtcy5zY3JvbGxiYXIscz1uKGkuZWwpO3RoaXMucGFyYW1zLnVuaXF1ZU5hdkVsZW1lbnRzJiYic3RyaW5nIj09dHlwZW9mIGkuZWwmJnMubGVuZ3RoPjEmJjE9PT10LmZpbmQoaS5lbCkubGVuZ3RoJiYocz10LmZpbmQoaS5lbCkpO3ZhciBhPXMuZmluZCgiLiIrdGhpcy5wYXJhbXMuc2Nyb2xsYmFyLmRyYWdDbGFzcyk7MD09PWEubGVuZ3RoJiYoYT1uKCc8ZGl2IGNsYXNzPSInK3RoaXMucGFyYW1zLnNjcm9sbGJhci5kcmFnQ2xhc3MrJyI+PC9kaXY+Jykscy5hcHBlbmQoYSkpLGQuZXh0ZW5kKGUseyRlbDpzLGVsOnNbMF0sJGRyYWdFbDphLGRyYWdFbDphWzBdfSksaS5kcmFnZ2FibGUmJmUuZW5hYmxlRHJhZ2dhYmxlKCl9fSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5zY3JvbGxiYXIuZGlzYWJsZURyYWdnYWJsZSgpfX0sZGU9e3NldFRyYW5zZm9ybTpmdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMucnRsLHM9bihlKSxhPWk/LTE6MSxyPXMuYXR0cigiZGF0YS1zd2lwZXItcGFyYWxsYXgiKXx8IjAiLG89cy5hdHRyKCJkYXRhLXN3aXBlci1wYXJhbGxheC14IiksbD1zLmF0dHIoImRhdGEtc3dpcGVyLXBhcmFsbGF4LXkiKSxkPXMuYXR0cigiZGF0YS1zd2lwZXItcGFyYWxsYXgtc2NhbGUiKSxoPXMuYXR0cigiZGF0YS1zd2lwZXItcGFyYWxsYXgtb3BhY2l0eSIpO2lmKG98fGw/KG89b3x8IjAiLGw9bHx8IjAiKTp0aGlzLmlzSG9yaXpvbnRhbCgpPyhvPXIsbD0iMCIpOihsPXIsbz0iMCIpLG89by5pbmRleE9mKCIlIik+PTA/cGFyc2VJbnQobywxMCkqdCphKyIlIjpvKnQqYSsicHgiLGw9bC5pbmRleE9mKCIlIik+PTA/cGFyc2VJbnQobCwxMCkqdCsiJSI6bCp0KyJweCIsbnVsbCE9aCl7dmFyIHA9aC0oaC0xKSooMS1NYXRoLmFicyh0KSk7c1swXS5zdHlsZS5vcGFjaXR5PXB9aWYobnVsbD09ZClzLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoIitvKyIsICIrbCsiLCAwcHgpIik7ZWxzZXt2YXIgYz1kLShkLTEpKigxLU1hdGguYWJzKHQpKTtzLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoIitvKyIsICIrbCsiLCAwcHgpIHNjYWxlKCIrYysiKSIpfX0sc2V0VHJhbnNsYXRlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuJGVsLGk9ZS5zbGlkZXMscz1lLnByb2dyZXNzLGE9ZS5zbmFwR3JpZDt0LmNoaWxkcmVuKCJbZGF0YS1zd2lwZXItcGFyYWxsYXhdLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgteF0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC15XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LW9wYWNpdHldLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgtc2NhbGVdIikuZWFjaCgoZnVuY3Rpb24odCxpKXtlLnBhcmFsbGF4LnNldFRyYW5zZm9ybShpLHMpfSkpLGkuZWFjaCgoZnVuY3Rpb24odCxpKXt2YXIgcj1pLnByb2dyZXNzO2UucGFyYW1zLnNsaWRlc1Blckdyb3VwPjEmJiJhdXRvIiE9PWUucGFyYW1zLnNsaWRlc1BlclZpZXcmJihyKz1NYXRoLmNlaWwodC8yKS1zKihhLmxlbmd0aC0xKSkscj1NYXRoLm1pbihNYXRoLm1heChyLC0xKSwxKSxuKGkpLmZpbmQoIltkYXRhLXN3aXBlci1wYXJhbGxheF0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC14XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LXldLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgtb3BhY2l0eV0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC1zY2FsZV0iKS5lYWNoKChmdW5jdGlvbih0LGkpe2UucGFyYWxsYXguc2V0VHJhbnNmb3JtKGkscil9KSl9KSl9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9dGhpcy5wYXJhbXMuc3BlZWQpO3RoaXMuJGVsLmZpbmQoIltkYXRhLXN3aXBlci1wYXJhbGxheF0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC14XSwgW2RhdGEtc3dpcGVyLXBhcmFsbGF4LXldLCBbZGF0YS1zd2lwZXItcGFyYWxsYXgtb3BhY2l0eV0sIFtkYXRhLXN3aXBlci1wYXJhbGxheC1zY2FsZV0iKS5lYWNoKChmdW5jdGlvbih0LGkpe3ZhciBzPW4oaSksYT1wYXJzZUludChzLmF0dHIoImRhdGEtc3dpcGVyLXBhcmFsbGF4LWR1cmF0aW9uIiksMTApfHxlOzA9PT1lJiYoYT0wKSxzLnRyYW5zaXRpb24oYSl9KSl9fSxoZT17Z2V0RGlzdGFuY2VCZXR3ZWVuVG91Y2hlczpmdW5jdGlvbihlKXtpZihlLnRhcmdldFRvdWNoZXMubGVuZ3RoPDIpcmV0dXJuIDE7dmFyIHQ9ZS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VYLGk9ZS50YXJnZXRUb3VjaGVzWzBdLnBhZ2VZLHM9ZS50YXJnZXRUb3VjaGVzWzFdLnBhZ2VYLGE9ZS50YXJnZXRUb3VjaGVzWzFdLnBhZ2VZO3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3cocy10LDIpK01hdGgucG93KGEtaSwyKSl9LG9uR2VzdHVyZVN0YXJ0OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucGFyYW1zLnpvb20saT10aGlzLnpvb20scz1pLmdlc3R1cmU7aWYoaS5mYWtlR2VzdHVyZVRvdWNoZWQ9ITEsaS5mYWtlR2VzdHVyZU1vdmVkPSExLCFoLmdlc3R1cmVzKXtpZigidG91Y2hzdGFydCIhPT1lLnR5cGV8fCJ0b3VjaHN0YXJ0Ij09PWUudHlwZSYmZS50YXJnZXRUb3VjaGVzLmxlbmd0aDwyKXJldHVybjtpLmZha2VHZXN0dXJlVG91Y2hlZD0hMCxzLnNjYWxlU3RhcnQ9aGUuZ2V0RGlzdGFuY2VCZXR3ZWVuVG91Y2hlcyhlKX1zLiRzbGlkZUVsJiZzLiRzbGlkZUVsLmxlbmd0aHx8KHMuJHNsaWRlRWw9bihlLnRhcmdldCkuY2xvc2VzdCgiLiIrdGhpcy5wYXJhbXMuc2xpZGVDbGFzcyksMD09PXMuJHNsaWRlRWwubGVuZ3RoJiYocy4kc2xpZGVFbD10aGlzLnNsaWRlcy5lcSh0aGlzLmFjdGl2ZUluZGV4KSkscy4kaW1hZ2VFbD1zLiRzbGlkZUVsLmZpbmQoImltZywgc3ZnLCBjYW52YXMsIHBpY3R1cmUsIC5zd2lwZXItem9vbS10YXJnZXQiKSxzLiRpbWFnZVdyYXBFbD1zLiRpbWFnZUVsLnBhcmVudCgiLiIrdC5jb250YWluZXJDbGFzcykscy5tYXhSYXRpbz1zLiRpbWFnZVdyYXBFbC5hdHRyKCJkYXRhLXN3aXBlci16b29tIil8fHQubWF4UmF0aW8sMCE9PXMuJGltYWdlV3JhcEVsLmxlbmd0aCk/KHMuJGltYWdlRWwmJnMuJGltYWdlRWwudHJhbnNpdGlvbigwKSx0aGlzLnpvb20uaXNTY2FsaW5nPSEwKTpzLiRpbWFnZUVsPXZvaWQgMH0sb25HZXN0dXJlQ2hhbmdlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucGFyYW1zLnpvb20saT10aGlzLnpvb20scz1pLmdlc3R1cmU7aWYoIWguZ2VzdHVyZXMpe2lmKCJ0b3VjaG1vdmUiIT09ZS50eXBlfHwidG91Y2htb3ZlIj09PWUudHlwZSYmZS50YXJnZXRUb3VjaGVzLmxlbmd0aDwyKXJldHVybjtpLmZha2VHZXN0dXJlTW92ZWQ9ITAscy5zY2FsZU1vdmU9aGUuZ2V0RGlzdGFuY2VCZXR3ZWVuVG91Y2hlcyhlKX1zLiRpbWFnZUVsJiYwIT09cy4kaW1hZ2VFbC5sZW5ndGgmJihpLnNjYWxlPWguZ2VzdHVyZXM/ZS5zY2FsZSppLmN1cnJlbnRTY2FsZTpzLnNjYWxlTW92ZS9zLnNjYWxlU3RhcnQqaS5jdXJyZW50U2NhbGUsaS5zY2FsZT5zLm1heFJhdGlvJiYoaS5zY2FsZT1zLm1heFJhdGlvLTErTWF0aC5wb3coaS5zY2FsZS1zLm1heFJhdGlvKzEsLjUpKSxpLnNjYWxlPHQubWluUmF0aW8mJihpLnNjYWxlPXQubWluUmF0aW8rMS1NYXRoLnBvdyh0Lm1pblJhdGlvLWkuc2NhbGUrMSwuNSkpLHMuJGltYWdlRWwudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoIitpLnNjYWxlKyIpIikpfSxvbkdlc3R1cmVFbmQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5wYXJhbXMuem9vbSxpPXRoaXMuem9vbSxzPWkuZ2VzdHVyZTtpZighaC5nZXN0dXJlcyl7aWYoIWkuZmFrZUdlc3R1cmVUb3VjaGVkfHwhaS5mYWtlR2VzdHVyZU1vdmVkKXJldHVybjtpZigidG91Y2hlbmQiIT09ZS50eXBlfHwidG91Y2hlbmQiPT09ZS50eXBlJiZlLmNoYW5nZWRUb3VjaGVzLmxlbmd0aDwyJiYhQS5hbmRyb2lkKXJldHVybjtpLmZha2VHZXN0dXJlVG91Y2hlZD0hMSxpLmZha2VHZXN0dXJlTW92ZWQ9ITF9cy4kaW1hZ2VFbCYmMCE9PXMuJGltYWdlRWwubGVuZ3RoJiYoaS5zY2FsZT1NYXRoLm1heChNYXRoLm1pbihpLnNjYWxlLHMubWF4UmF0aW8pLHQubWluUmF0aW8pLHMuJGltYWdlRWwudHJhbnNpdGlvbih0aGlzLnBhcmFtcy5zcGVlZCkudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoIitpLnNjYWxlKyIpIiksaS5jdXJyZW50U2NhbGU9aS5zY2FsZSxpLmlzU2NhbGluZz0hMSwxPT09aS5zY2FsZSYmKHMuJHNsaWRlRWw9dm9pZCAwKSl9LG9uVG91Y2hTdGFydDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnpvb20saT10Lmdlc3R1cmUscz10LmltYWdlO2kuJGltYWdlRWwmJjAhPT1pLiRpbWFnZUVsLmxlbmd0aCYmKHMuaXNUb3VjaGVkfHwoQS5hbmRyb2lkJiZlLmNhbmNlbGFibGUmJmUucHJldmVudERlZmF1bHQoKSxzLmlzVG91Y2hlZD0hMCxzLnRvdWNoZXNTdGFydC54PSJ0b3VjaHN0YXJ0Ij09PWUudHlwZT9lLnRhcmdldFRvdWNoZXNbMF0ucGFnZVg6ZS5wYWdlWCxzLnRvdWNoZXNTdGFydC55PSJ0b3VjaHN0YXJ0Ij09PWUudHlwZT9lLnRhcmdldFRvdWNoZXNbMF0ucGFnZVk6ZS5wYWdlWSkpfSxvblRvdWNoTW92ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnpvb20saT10Lmdlc3R1cmUscz10LmltYWdlLGE9dC52ZWxvY2l0eTtpZihpLiRpbWFnZUVsJiYwIT09aS4kaW1hZ2VFbC5sZW5ndGgmJih0aGlzLmFsbG93Q2xpY2s9ITEscy5pc1RvdWNoZWQmJmkuJHNsaWRlRWwpKXtzLmlzTW92ZWR8fChzLndpZHRoPWkuJGltYWdlRWxbMF0ub2Zmc2V0V2lkdGgscy5oZWlnaHQ9aS4kaW1hZ2VFbFswXS5vZmZzZXRIZWlnaHQscy5zdGFydFg9ZC5nZXRUcmFuc2xhdGUoaS4kaW1hZ2VXcmFwRWxbMF0sIngiKXx8MCxzLnN0YXJ0WT1kLmdldFRyYW5zbGF0ZShpLiRpbWFnZVdyYXBFbFswXSwieSIpfHwwLGkuc2xpZGVXaWR0aD1pLiRzbGlkZUVsWzBdLm9mZnNldFdpZHRoLGkuc2xpZGVIZWlnaHQ9aS4kc2xpZGVFbFswXS5vZmZzZXRIZWlnaHQsaS4kaW1hZ2VXcmFwRWwudHJhbnNpdGlvbigwKSx0aGlzLnJ0bCYmKHMuc3RhcnRYPS1zLnN0YXJ0WCxzLnN0YXJ0WT0tcy5zdGFydFkpKTt2YXIgcj1zLndpZHRoKnQuc2NhbGUsbj1zLmhlaWdodCp0LnNjYWxlO2lmKCEocjxpLnNsaWRlV2lkdGgmJm48aS5zbGlkZUhlaWdodCkpe2lmKHMubWluWD1NYXRoLm1pbihpLnNsaWRlV2lkdGgvMi1yLzIsMCkscy5tYXhYPS1zLm1pblgscy5taW5ZPU1hdGgubWluKGkuc2xpZGVIZWlnaHQvMi1uLzIsMCkscy5tYXhZPS1zLm1pblkscy50b3VjaGVzQ3VycmVudC54PSJ0b3VjaG1vdmUiPT09ZS50eXBlP2UudGFyZ2V0VG91Y2hlc1swXS5wYWdlWDplLnBhZ2VYLHMudG91Y2hlc0N1cnJlbnQueT0idG91Y2htb3ZlIj09PWUudHlwZT9lLnRhcmdldFRvdWNoZXNbMF0ucGFnZVk6ZS5wYWdlWSwhcy5pc01vdmVkJiYhdC5pc1NjYWxpbmcpe2lmKHRoaXMuaXNIb3Jpem9udGFsKCkmJihNYXRoLmZsb29yKHMubWluWCk9PT1NYXRoLmZsb29yKHMuc3RhcnRYKSYmcy50b3VjaGVzQ3VycmVudC54PHMudG91Y2hlc1N0YXJ0Lnh8fE1hdGguZmxvb3Iocy5tYXhYKT09PU1hdGguZmxvb3Iocy5zdGFydFgpJiZzLnRvdWNoZXNDdXJyZW50Lng+cy50b3VjaGVzU3RhcnQueCkpcmV0dXJuIHZvaWQocy5pc1RvdWNoZWQ9ITEpO2lmKCF0aGlzLmlzSG9yaXpvbnRhbCgpJiYoTWF0aC5mbG9vcihzLm1pblkpPT09TWF0aC5mbG9vcihzLnN0YXJ0WSkmJnMudG91Y2hlc0N1cnJlbnQueTxzLnRvdWNoZXNTdGFydC55fHxNYXRoLmZsb29yKHMubWF4WSk9PT1NYXRoLmZsb29yKHMuc3RhcnRZKSYmcy50b3VjaGVzQ3VycmVudC55PnMudG91Y2hlc1N0YXJ0LnkpKXJldHVybiB2b2lkKHMuaXNUb3VjaGVkPSExKX1lLmNhbmNlbGFibGUmJmUucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHMuaXNNb3ZlZD0hMCxzLmN1cnJlbnRYPXMudG91Y2hlc0N1cnJlbnQueC1zLnRvdWNoZXNTdGFydC54K3Muc3RhcnRYLHMuY3VycmVudFk9cy50b3VjaGVzQ3VycmVudC55LXMudG91Y2hlc1N0YXJ0Lnkrcy5zdGFydFkscy5jdXJyZW50WDxzLm1pblgmJihzLmN1cnJlbnRYPXMubWluWCsxLU1hdGgucG93KHMubWluWC1zLmN1cnJlbnRYKzEsLjgpKSxzLmN1cnJlbnRYPnMubWF4WCYmKHMuY3VycmVudFg9cy5tYXhYLTErTWF0aC5wb3cocy5jdXJyZW50WC1zLm1heFgrMSwuOCkpLHMuY3VycmVudFk8cy5taW5ZJiYocy5jdXJyZW50WT1zLm1pblkrMS1NYXRoLnBvdyhzLm1pblktcy5jdXJyZW50WSsxLC44KSkscy5jdXJyZW50WT5zLm1heFkmJihzLmN1cnJlbnRZPXMubWF4WS0xK01hdGgucG93KHMuY3VycmVudFktcy5tYXhZKzEsLjgpKSxhLnByZXZQb3NpdGlvblh8fChhLnByZXZQb3NpdGlvblg9cy50b3VjaGVzQ3VycmVudC54KSxhLnByZXZQb3NpdGlvbll8fChhLnByZXZQb3NpdGlvblk9cy50b3VjaGVzQ3VycmVudC55KSxhLnByZXZUaW1lfHwoYS5wcmV2VGltZT1EYXRlLm5vdygpKSxhLng9KHMudG91Y2hlc0N1cnJlbnQueC1hLnByZXZQb3NpdGlvblgpLyhEYXRlLm5vdygpLWEucHJldlRpbWUpLzIsYS55PShzLnRvdWNoZXNDdXJyZW50LnktYS5wcmV2UG9zaXRpb25ZKS8oRGF0ZS5ub3coKS1hLnByZXZUaW1lKS8yLE1hdGguYWJzKHMudG91Y2hlc0N1cnJlbnQueC1hLnByZXZQb3NpdGlvblgpPDImJihhLng9MCksTWF0aC5hYnMocy50b3VjaGVzQ3VycmVudC55LWEucHJldlBvc2l0aW9uWSk8MiYmKGEueT0wKSxhLnByZXZQb3NpdGlvblg9cy50b3VjaGVzQ3VycmVudC54LGEucHJldlBvc2l0aW9uWT1zLnRvdWNoZXNDdXJyZW50LnksYS5wcmV2VGltZT1EYXRlLm5vdygpLGkuJGltYWdlV3JhcEVsLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoIitzLmN1cnJlbnRYKyJweCwgIitzLmN1cnJlbnRZKyJweCwwKSIpfX19LG9uVG91Y2hFbmQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnpvb20sdD1lLmdlc3R1cmUsaT1lLmltYWdlLHM9ZS52ZWxvY2l0eTtpZih0LiRpbWFnZUVsJiYwIT09dC4kaW1hZ2VFbC5sZW5ndGgpe2lmKCFpLmlzVG91Y2hlZHx8IWkuaXNNb3ZlZClyZXR1cm4gaS5pc1RvdWNoZWQ9ITEsdm9pZChpLmlzTW92ZWQ9ITEpO2kuaXNUb3VjaGVkPSExLGkuaXNNb3ZlZD0hMTt2YXIgYT0zMDAscj0zMDAsbj1zLngqYSxvPWkuY3VycmVudFgrbixsPXMueSpyLGQ9aS5jdXJyZW50WStsOzAhPT1zLngmJihhPU1hdGguYWJzKChvLWkuY3VycmVudFgpL3MueCkpLDAhPT1zLnkmJihyPU1hdGguYWJzKChkLWkuY3VycmVudFkpL3MueSkpO3ZhciBoPU1hdGgubWF4KGEscik7aS5jdXJyZW50WD1vLGkuY3VycmVudFk9ZDt2YXIgcD1pLndpZHRoKmUuc2NhbGUsYz1pLmhlaWdodCplLnNjYWxlO2kubWluWD1NYXRoLm1pbih0LnNsaWRlV2lkdGgvMi1wLzIsMCksaS5tYXhYPS1pLm1pblgsaS5taW5ZPU1hdGgubWluKHQuc2xpZGVIZWlnaHQvMi1jLzIsMCksaS5tYXhZPS1pLm1pblksaS5jdXJyZW50WD1NYXRoLm1heChNYXRoLm1pbihpLmN1cnJlbnRYLGkubWF4WCksaS5taW5YKSxpLmN1cnJlbnRZPU1hdGgubWF4KE1hdGgubWluKGkuY3VycmVudFksaS5tYXhZKSxpLm1pblkpLHQuJGltYWdlV3JhcEVsLnRyYW5zaXRpb24oaCkudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgiK2kuY3VycmVudFgrInB4LCAiK2kuY3VycmVudFkrInB4LDApIil9fSxvblRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnpvb20sdD1lLmdlc3R1cmU7dC4kc2xpZGVFbCYmdGhpcy5wcmV2aW91c0luZGV4IT09dGhpcy5hY3RpdmVJbmRleCYmKHQuJGltYWdlRWwmJnQuJGltYWdlRWwudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoMSkiKSx0LiRpbWFnZVdyYXBFbCYmdC4kaW1hZ2VXcmFwRWwudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkiKSxlLnNjYWxlPTEsZS5jdXJyZW50U2NhbGU9MSx0LiRzbGlkZUVsPXZvaWQgMCx0LiRpbWFnZUVsPXZvaWQgMCx0LiRpbWFnZVdyYXBFbD12b2lkIDApfSx0b2dnbGU6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy56b29tO3Quc2NhbGUmJjEhPT10LnNjYWxlP3Qub3V0KCk6dC5pbihlKX0saW46ZnVuY3Rpb24oZSl7dmFyIHQsaSxzLGEscixuLG8sbCxkLGgscCxjLHUsdixmLG0sZz10aGlzLnpvb20sYj10aGlzLnBhcmFtcy56b29tLHc9Zy5nZXN0dXJlLHk9Zy5pbWFnZTsody4kc2xpZGVFbHx8KHRoaXMucGFyYW1zLnZpcnR1YWwmJnRoaXMucGFyYW1zLnZpcnR1YWwuZW5hYmxlZCYmdGhpcy52aXJ0dWFsP3cuJHNsaWRlRWw9dGhpcy4kd3JhcHBlckVsLmNoaWxkcmVuKCIuIit0aGlzLnBhcmFtcy5zbGlkZUFjdGl2ZUNsYXNzKTp3LiRzbGlkZUVsPXRoaXMuc2xpZGVzLmVxKHRoaXMuYWN0aXZlSW5kZXgpLHcuJGltYWdlRWw9dy4kc2xpZGVFbC5maW5kKCJpbWcsIHN2ZywgY2FudmFzLCBwaWN0dXJlLCAuc3dpcGVyLXpvb20tdGFyZ2V0Iiksdy4kaW1hZ2VXcmFwRWw9dy4kaW1hZ2VFbC5wYXJlbnQoIi4iK2IuY29udGFpbmVyQ2xhc3MpKSx3LiRpbWFnZUVsJiYwIT09dy4kaW1hZ2VFbC5sZW5ndGgpJiYody4kc2xpZGVFbC5hZGRDbGFzcygiIitiLnpvb21lZFNsaWRlQ2xhc3MpLHZvaWQgMD09PXkudG91Y2hlc1N0YXJ0LngmJmU/KHQ9InRvdWNoZW5kIj09PWUudHlwZT9lLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYOmUucGFnZVgsaT0idG91Y2hlbmQiPT09ZS50eXBlP2UuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVk6ZS5wYWdlWSk6KHQ9eS50b3VjaGVzU3RhcnQueCxpPXkudG91Y2hlc1N0YXJ0LnkpLGcuc2NhbGU9dy4kaW1hZ2VXcmFwRWwuYXR0cigiZGF0YS1zd2lwZXItem9vbSIpfHxiLm1heFJhdGlvLGcuY3VycmVudFNjYWxlPXcuJGltYWdlV3JhcEVsLmF0dHIoImRhdGEtc3dpcGVyLXpvb20iKXx8Yi5tYXhSYXRpbyxlPyhmPXcuJHNsaWRlRWxbMF0ub2Zmc2V0V2lkdGgsbT13LiRzbGlkZUVsWzBdLm9mZnNldEhlaWdodCxzPXcuJHNsaWRlRWwub2Zmc2V0KCkubGVmdCtmLzItdCxhPXcuJHNsaWRlRWwub2Zmc2V0KCkudG9wK20vMi1pLG89dy4kaW1hZ2VFbFswXS5vZmZzZXRXaWR0aCxsPXcuJGltYWdlRWxbMF0ub2Zmc2V0SGVpZ2h0LGQ9bypnLnNjYWxlLGg9bCpnLnNjYWxlLHU9LShwPU1hdGgubWluKGYvMi1kLzIsMCkpLHY9LShjPU1hdGgubWluKG0vMi1oLzIsMCkpLChyPXMqZy5zY2FsZSk8cCYmKHI9cCkscj51JiYocj11KSwobj1hKmcuc2NhbGUpPGMmJihuPWMpLG4+diYmKG49dikpOihyPTAsbj0wKSx3LiRpbWFnZVdyYXBFbC50cmFuc2l0aW9uKDMwMCkudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgiK3IrInB4LCAiK24rInB4LDApIiksdy4kaW1hZ2VFbC50cmFuc2l0aW9uKDMwMCkudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoIitnLnNjYWxlKyIpIikpfSxvdXQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnpvb20sdD10aGlzLnBhcmFtcy56b29tLGk9ZS5nZXN0dXJlO2kuJHNsaWRlRWx8fCh0aGlzLnBhcmFtcy52aXJ0dWFsJiZ0aGlzLnBhcmFtcy52aXJ0dWFsLmVuYWJsZWQmJnRoaXMudmlydHVhbD9pLiRzbGlkZUVsPXRoaXMuJHdyYXBwZXJFbC5jaGlsZHJlbigiLiIrdGhpcy5wYXJhbXMuc2xpZGVBY3RpdmVDbGFzcyk6aS4kc2xpZGVFbD10aGlzLnNsaWRlcy5lcSh0aGlzLmFjdGl2ZUluZGV4KSxpLiRpbWFnZUVsPWkuJHNsaWRlRWwuZmluZCgiaW1nLCBzdmcsIGNhbnZhcywgcGljdHVyZSwgLnN3aXBlci16b29tLXRhcmdldCIpLGkuJGltYWdlV3JhcEVsPWkuJGltYWdlRWwucGFyZW50KCIuIit0LmNvbnRhaW5lckNsYXNzKSksaS4kaW1hZ2VFbCYmMCE9PWkuJGltYWdlRWwubGVuZ3RoJiYoZS5zY2FsZT0xLGUuY3VycmVudFNjYWxlPTEsaS4kaW1hZ2VXcmFwRWwudHJhbnNpdGlvbigzMDApLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoMCwwLDApIiksaS4kaW1hZ2VFbC50cmFuc2l0aW9uKDMwMCkudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoMSkiKSxpLiRzbGlkZUVsLnJlbW92ZUNsYXNzKCIiK3Quem9vbWVkU2xpZGVDbGFzcyksaS4kc2xpZGVFbD12b2lkIDApfSxlbmFibGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnpvb207aWYoIWUuZW5hYmxlZCl7ZS5lbmFibGVkPSEwO3ZhciB0PSEoInRvdWNoc3RhcnQiIT09dGhpcy50b3VjaEV2ZW50cy5zdGFydHx8IWgucGFzc2l2ZUxpc3RlbmVyfHwhdGhpcy5wYXJhbXMucGFzc2l2ZUxpc3RlbmVycykmJntwYXNzaXZlOiEwLGNhcHR1cmU6ITF9LGk9IWgucGFzc2l2ZUxpc3RlbmVyfHx7cGFzc2l2ZTohMSxjYXB0dXJlOiEwfSxzPSIuIit0aGlzLnBhcmFtcy5zbGlkZUNsYXNzO2guZ2VzdHVyZXM/KHRoaXMuJHdyYXBwZXJFbC5vbigiZ2VzdHVyZXN0YXJ0IixzLGUub25HZXN0dXJlU3RhcnQsdCksdGhpcy4kd3JhcHBlckVsLm9uKCJnZXN0dXJlY2hhbmdlIixzLGUub25HZXN0dXJlQ2hhbmdlLHQpLHRoaXMuJHdyYXBwZXJFbC5vbigiZ2VzdHVyZWVuZCIscyxlLm9uR2VzdHVyZUVuZCx0KSk6InRvdWNoc3RhcnQiPT09dGhpcy50b3VjaEV2ZW50cy5zdGFydCYmKHRoaXMuJHdyYXBwZXJFbC5vbih0aGlzLnRvdWNoRXZlbnRzLnN0YXJ0LHMsZS5vbkdlc3R1cmVTdGFydCx0KSx0aGlzLiR3cmFwcGVyRWwub24odGhpcy50b3VjaEV2ZW50cy5tb3ZlLHMsZS5vbkdlc3R1cmVDaGFuZ2UsaSksdGhpcy4kd3JhcHBlckVsLm9uKHRoaXMudG91Y2hFdmVudHMuZW5kLHMsZS5vbkdlc3R1cmVFbmQsdCksdGhpcy50b3VjaEV2ZW50cy5jYW5jZWwmJnRoaXMuJHdyYXBwZXJFbC5vbih0aGlzLnRvdWNoRXZlbnRzLmNhbmNlbCxzLGUub25HZXN0dXJlRW5kLHQpKSx0aGlzLiR3cmFwcGVyRWwub24odGhpcy50b3VjaEV2ZW50cy5tb3ZlLCIuIit0aGlzLnBhcmFtcy56b29tLmNvbnRhaW5lckNsYXNzLGUub25Ub3VjaE1vdmUsaSl9fSxkaXNhYmxlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy56b29tO2lmKGUuZW5hYmxlZCl7dGhpcy56b29tLmVuYWJsZWQ9ITE7dmFyIHQ9ISgidG91Y2hzdGFydCIhPT10aGlzLnRvdWNoRXZlbnRzLnN0YXJ0fHwhaC5wYXNzaXZlTGlzdGVuZXJ8fCF0aGlzLnBhcmFtcy5wYXNzaXZlTGlzdGVuZXJzKSYme3Bhc3NpdmU6ITAsY2FwdHVyZTohMX0saT0haC5wYXNzaXZlTGlzdGVuZXJ8fHtwYXNzaXZlOiExLGNhcHR1cmU6ITB9LHM9Ii4iK3RoaXMucGFyYW1zLnNsaWRlQ2xhc3M7aC5nZXN0dXJlcz8odGhpcy4kd3JhcHBlckVsLm9mZigiZ2VzdHVyZXN0YXJ0IixzLGUub25HZXN0dXJlU3RhcnQsdCksdGhpcy4kd3JhcHBlckVsLm9mZigiZ2VzdHVyZWNoYW5nZSIscyxlLm9uR2VzdHVyZUNoYW5nZSx0KSx0aGlzLiR3cmFwcGVyRWwub2ZmKCJnZXN0dXJlZW5kIixzLGUub25HZXN0dXJlRW5kLHQpKToidG91Y2hzdGFydCI9PT10aGlzLnRvdWNoRXZlbnRzLnN0YXJ0JiYodGhpcy4kd3JhcHBlckVsLm9mZih0aGlzLnRvdWNoRXZlbnRzLnN0YXJ0LHMsZS5vbkdlc3R1cmVTdGFydCx0KSx0aGlzLiR3cmFwcGVyRWwub2ZmKHRoaXMudG91Y2hFdmVudHMubW92ZSxzLGUub25HZXN0dXJlQ2hhbmdlLGkpLHRoaXMuJHdyYXBwZXJFbC5vZmYodGhpcy50b3VjaEV2ZW50cy5lbmQscyxlLm9uR2VzdHVyZUVuZCx0KSx0aGlzLnRvdWNoRXZlbnRzLmNhbmNlbCYmdGhpcy4kd3JhcHBlckVsLm9mZih0aGlzLnRvdWNoRXZlbnRzLmNhbmNlbCxzLGUub25HZXN0dXJlRW5kLHQpKSx0aGlzLiR3cmFwcGVyRWwub2ZmKHRoaXMudG91Y2hFdmVudHMubW92ZSwiLiIrdGhpcy5wYXJhbXMuem9vbS5jb250YWluZXJDbGFzcyxlLm9uVG91Y2hNb3ZlLGkpfX19LHBlPXtsb2FkSW5TbGlkZTpmdW5jdGlvbihlLHQpe3ZvaWQgMD09PXQmJih0PSEwKTt2YXIgaT10aGlzLHM9aS5wYXJhbXMubGF6eTtpZih2b2lkIDAhPT1lJiYwIT09aS5zbGlkZXMubGVuZ3RoKXt2YXIgYT1pLnZpcnR1YWwmJmkucGFyYW1zLnZpcnR1YWwuZW5hYmxlZD9pLiR3cmFwcGVyRWwuY2hpbGRyZW4oIi4iK2kucGFyYW1zLnNsaWRlQ2xhc3MrJ1tkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJytlKyciXScpOmkuc2xpZGVzLmVxKGUpLHI9YS5maW5kKCIuIitzLmVsZW1lbnRDbGFzcysiOm5vdCguIitzLmxvYWRlZENsYXNzKyIpOm5vdCguIitzLmxvYWRpbmdDbGFzcysiKSIpOyFhLmhhc0NsYXNzKHMuZWxlbWVudENsYXNzKXx8YS5oYXNDbGFzcyhzLmxvYWRlZENsYXNzKXx8YS5oYXNDbGFzcyhzLmxvYWRpbmdDbGFzcyl8fChyPXIuYWRkKGFbMF0pKSwwIT09ci5sZW5ndGgmJnIuZWFjaCgoZnVuY3Rpb24oZSxyKXt2YXIgbz1uKHIpO28uYWRkQ2xhc3Mocy5sb2FkaW5nQ2xhc3MpO3ZhciBsPW8uYXR0cigiZGF0YS1iYWNrZ3JvdW5kIiksZD1vLmF0dHIoImRhdGEtc3JjIiksaD1vLmF0dHIoImRhdGEtc3Jjc2V0IikscD1vLmF0dHIoImRhdGEtc2l6ZXMiKSxjPW8ucGFyZW50KCJwaWN0dXJlIik7aS5sb2FkSW1hZ2Uob1swXSxkfHxsLGgscCwhMSwoZnVuY3Rpb24oKXtpZihudWxsIT1pJiZpJiYoIWl8fGkucGFyYW1zKSYmIWkuZGVzdHJveWVkKXtpZihsPyhvLmNzcygiYmFja2dyb3VuZC1pbWFnZSIsJ3VybCgiJytsKyciKScpLG8ucmVtb3ZlQXR0cigiZGF0YS1iYWNrZ3JvdW5kIikpOihoJiYoby5hdHRyKCJzcmNzZXQiLGgpLG8ucmVtb3ZlQXR0cigiZGF0YS1zcmNzZXQiKSkscCYmKG8uYXR0cigic2l6ZXMiLHApLG8ucmVtb3ZlQXR0cigiZGF0YS1zaXplcyIpKSxjLmxlbmd0aCYmYy5jaGlsZHJlbigic291cmNlIikuZWFjaCgoZnVuY3Rpb24oZSx0KXt2YXIgaT1uKHQpO2kuYXR0cigiZGF0YS1zcmNzZXQiKSYmKGkuYXR0cigic3Jjc2V0IixpLmF0dHIoImRhdGEtc3Jjc2V0IikpLGkucmVtb3ZlQXR0cigiZGF0YS1zcmNzZXQiKSl9KSksZCYmKG8uYXR0cigic3JjIixkKSxvLnJlbW92ZUF0dHIoImRhdGEtc3JjIikpKSxvLmFkZENsYXNzKHMubG9hZGVkQ2xhc3MpLnJlbW92ZUNsYXNzKHMubG9hZGluZ0NsYXNzKSxhLmZpbmQoIi4iK3MucHJlbG9hZGVyQ2xhc3MpLnJlbW92ZSgpLGkucGFyYW1zLmxvb3AmJnQpe3ZhciBlPWEuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKTtpZihhLmhhc0NsYXNzKGkucGFyYW1zLnNsaWRlRHVwbGljYXRlQ2xhc3MpKXt2YXIgcj1pLiR3cmFwcGVyRWwuY2hpbGRyZW4oJ1tkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJytlKyciXTpub3QoLicraS5wYXJhbXMuc2xpZGVEdXBsaWNhdGVDbGFzcysiKSIpO2kubGF6eS5sb2FkSW5TbGlkZShyLmluZGV4KCksITEpfWVsc2V7dmFyIHU9aS4kd3JhcHBlckVsLmNoaWxkcmVuKCIuIitpLnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKydbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicrZSsnIl0nKTtpLmxhenkubG9hZEluU2xpZGUodS5pbmRleCgpLCExKX19aS5lbWl0KCJsYXp5SW1hZ2VSZWFkeSIsYVswXSxvWzBdKSxpLnBhcmFtcy5hdXRvSGVpZ2h0JiZpLnVwZGF0ZUF1dG9IZWlnaHQoKX19KSksaS5lbWl0KCJsYXp5SW1hZ2VMb2FkIixhWzBdLG9bMF0pfSkpfX0sbG9hZDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD1lLiR3cmFwcGVyRWwsaT1lLnBhcmFtcyxzPWUuc2xpZGVzLGE9ZS5hY3RpdmVJbmRleCxyPWUudmlydHVhbCYmaS52aXJ0dWFsLmVuYWJsZWQsbz1pLmxhenksbD1pLnNsaWRlc1BlclZpZXc7ZnVuY3Rpb24gZChlKXtpZihyKXtpZih0LmNoaWxkcmVuKCIuIitpLnNsaWRlQ2xhc3MrJ1tkYXRhLXN3aXBlci1zbGlkZS1pbmRleD0iJytlKyciXScpLmxlbmd0aClyZXR1cm4hMH1lbHNlIGlmKHNbZV0pcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gaChlKXtyZXR1cm4gcj9uKGUpLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4Iik6bihlKS5pbmRleCgpfWlmKCJhdXRvIj09PWwmJihsPTApLGUubGF6eS5pbml0aWFsSW1hZ2VMb2FkZWR8fChlLmxhenkuaW5pdGlhbEltYWdlTG9hZGVkPSEwKSxlLnBhcmFtcy53YXRjaFNsaWRlc1Zpc2liaWxpdHkpdC5jaGlsZHJlbigiLiIraS5zbGlkZVZpc2libGVDbGFzcykuZWFjaCgoZnVuY3Rpb24odCxpKXt2YXIgcz1yP24oaSkuYXR0cigiZGF0YS1zd2lwZXItc2xpZGUtaW5kZXgiKTpuKGkpLmluZGV4KCk7ZS5sYXp5LmxvYWRJblNsaWRlKHMpfSkpO2Vsc2UgaWYobD4xKWZvcih2YXIgcD1hO3A8YStsO3ArPTEpZChwKSYmZS5sYXp5LmxvYWRJblNsaWRlKHApO2Vsc2UgZS5sYXp5LmxvYWRJblNsaWRlKGEpO2lmKG8ubG9hZFByZXZOZXh0KWlmKGw+MXx8by5sb2FkUHJldk5leHRBbW91bnQmJm8ubG9hZFByZXZOZXh0QW1vdW50PjEpe2Zvcih2YXIgYz1vLmxvYWRQcmV2TmV4dEFtb3VudCx1PWwsdj1NYXRoLm1pbihhK3UrTWF0aC5tYXgoYyx1KSxzLmxlbmd0aCksZj1NYXRoLm1heChhLU1hdGgubWF4KHUsYyksMCksbT1hK2w7bTx2O20rPTEpZChtKSYmZS5sYXp5LmxvYWRJblNsaWRlKG0pO2Zvcih2YXIgZz1mO2c8YTtnKz0xKWQoZykmJmUubGF6eS5sb2FkSW5TbGlkZShnKX1lbHNle3ZhciBiPXQuY2hpbGRyZW4oIi4iK2kuc2xpZGVOZXh0Q2xhc3MpO2IubGVuZ3RoPjAmJmUubGF6eS5sb2FkSW5TbGlkZShoKGIpKTt2YXIgdz10LmNoaWxkcmVuKCIuIitpLnNsaWRlUHJldkNsYXNzKTt3Lmxlbmd0aD4wJiZlLmxhenkubG9hZEluU2xpZGUoaCh3KSl9fX0sY2U9e0xpbmVhclNwbGluZTpmdW5jdGlvbihlLHQpe3ZhciBpLHMsYSxyLG4sbz1mdW5jdGlvbihlLHQpe2ZvcihzPS0xLGk9ZS5sZW5ndGg7aS1zPjE7KWVbYT1pK3M+PjFdPD10P3M9YTppPWE7cmV0dXJuIGl9O3JldHVybiB0aGlzLng9ZSx0aGlzLnk9dCx0aGlzLmxhc3RJbmRleD1lLmxlbmd0aC0xLHRoaXMuaW50ZXJwb2xhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGU/KG49byh0aGlzLngsZSkscj1uLTEsKGUtdGhpcy54W3JdKSoodGhpcy55W25dLXRoaXMueVtyXSkvKHRoaXMueFtuXS10aGlzLnhbcl0pK3RoaXMueVtyXSk6MH0sdGhpc30sZ2V0SW50ZXJwb2xhdGVGdW5jdGlvbjpmdW5jdGlvbihlKXt0aGlzLmNvbnRyb2xsZXIuc3BsaW5lfHwodGhpcy5jb250cm9sbGVyLnNwbGluZT10aGlzLnBhcmFtcy5sb29wP25ldyBjZS5MaW5lYXJTcGxpbmUodGhpcy5zbGlkZXNHcmlkLGUuc2xpZGVzR3JpZCk6bmV3IGNlLkxpbmVhclNwbGluZSh0aGlzLnNuYXBHcmlkLGUuc25hcEdyaWQpKX0sc2V0VHJhbnNsYXRlOmZ1bmN0aW9uKGUsdCl7dmFyIGkscyxhPXRoaXMscj1hLmNvbnRyb2xsZXIuY29udHJvbDtmdW5jdGlvbiBuKGUpe3ZhciB0PWEucnRsVHJhbnNsYXRlPy1hLnRyYW5zbGF0ZTphLnRyYW5zbGF0ZTsic2xpZGUiPT09YS5wYXJhbXMuY29udHJvbGxlci5ieSYmKGEuY29udHJvbGxlci5nZXRJbnRlcnBvbGF0ZUZ1bmN0aW9uKGUpLHM9LWEuY29udHJvbGxlci5zcGxpbmUuaW50ZXJwb2xhdGUoLXQpKSxzJiYiY29udGFpbmVyIiE9PWEucGFyYW1zLmNvbnRyb2xsZXIuYnl8fChpPShlLm1heFRyYW5zbGF0ZSgpLWUubWluVHJhbnNsYXRlKCkpLyhhLm1heFRyYW5zbGF0ZSgpLWEubWluVHJhbnNsYXRlKCkpLHM9KHQtYS5taW5UcmFuc2xhdGUoKSkqaStlLm1pblRyYW5zbGF0ZSgpKSxhLnBhcmFtcy5jb250cm9sbGVyLmludmVyc2UmJihzPWUubWF4VHJhbnNsYXRlKCktcyksZS51cGRhdGVQcm9ncmVzcyhzKSxlLnNldFRyYW5zbGF0ZShzLGEpLGUudXBkYXRlQWN0aXZlSW5kZXgoKSxlLnVwZGF0ZVNsaWRlc0NsYXNzZXMoKX1pZihBcnJheS5pc0FycmF5KHIpKWZvcih2YXIgbz0wO288ci5sZW5ndGg7bys9MSlyW29dIT09dCYmcltvXWluc3RhbmNlb2YgaiYmbihyW29dKTtlbHNlIHIgaW5zdGFuY2VvZiBqJiZ0IT09ciYmbihyKX0sc2V0VHJhbnNpdGlvbjpmdW5jdGlvbihlLHQpe3ZhciBpLHM9dGhpcyxhPXMuY29udHJvbGxlci5jb250cm9sO2Z1bmN0aW9uIHIodCl7dC5zZXRUcmFuc2l0aW9uKGUscyksMCE9PWUmJih0LnRyYW5zaXRpb25TdGFydCgpLHQucGFyYW1zLmF1dG9IZWlnaHQmJmQubmV4dFRpY2soKGZ1bmN0aW9uKCl7dC51cGRhdGVBdXRvSGVpZ2h0KCl9KSksdC4kd3JhcHBlckVsLnRyYW5zaXRpb25FbmQoKGZ1bmN0aW9uKCl7YSYmKHQucGFyYW1zLmxvb3AmJiJzbGlkZSI9PT1zLnBhcmFtcy5jb250cm9sbGVyLmJ5JiZ0Lmxvb3BGaXgoKSx0LnRyYW5zaXRpb25FbmQoKSl9KSkpfWlmKEFycmF5LmlzQXJyYXkoYSkpZm9yKGk9MDtpPGEubGVuZ3RoO2krPTEpYVtpXSE9PXQmJmFbaV1pbnN0YW5jZW9mIGomJnIoYVtpXSk7ZWxzZSBhIGluc3RhbmNlb2YgaiYmdCE9PWEmJnIoYSl9fSx1ZT17bWFrZUVsRm9jdXNhYmxlOmZ1bmN0aW9uKGUpe3JldHVybiBlLmF0dHIoInRhYkluZGV4IiwiMCIpLGV9LG1ha2VFbE5vdEZvY3VzYWJsZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5hdHRyKCJ0YWJJbmRleCIsIi0xIiksZX0sYWRkRWxSb2xlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuYXR0cigicm9sZSIsdCksZX0sYWRkRWxMYWJlbDpmdW5jdGlvbihlLHQpe3JldHVybiBlLmF0dHIoImFyaWEtbGFiZWwiLHQpLGV9LGRpc2FibGVFbDpmdW5jdGlvbihlKXtyZXR1cm4gZS5hdHRyKCJhcmlhLWRpc2FibGVkIiwhMCksZX0sZW5hYmxlRWw6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuYXR0cigiYXJpYS1kaXNhYmxlZCIsITEpLGV9LG9uRW50ZXJLZXk6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5wYXJhbXMuYTExeTtpZigxMz09PWUua2V5Q29kZSl7dmFyIGk9bihlLnRhcmdldCk7dGhpcy5uYXZpZ2F0aW9uJiZ0aGlzLm5hdmlnYXRpb24uJG5leHRFbCYmaS5pcyh0aGlzLm5hdmlnYXRpb24uJG5leHRFbCkmJih0aGlzLmlzRW5kJiYhdGhpcy5wYXJhbXMubG9vcHx8dGhpcy5zbGlkZU5leHQoKSx0aGlzLmlzRW5kP3RoaXMuYTExeS5ub3RpZnkodC5sYXN0U2xpZGVNZXNzYWdlKTp0aGlzLmExMXkubm90aWZ5KHQubmV4dFNsaWRlTWVzc2FnZSkpLHRoaXMubmF2aWdhdGlvbiYmdGhpcy5uYXZpZ2F0aW9uLiRwcmV2RWwmJmkuaXModGhpcy5uYXZpZ2F0aW9uLiRwcmV2RWwpJiYodGhpcy5pc0JlZ2lubmluZyYmIXRoaXMucGFyYW1zLmxvb3B8fHRoaXMuc2xpZGVQcmV2KCksdGhpcy5pc0JlZ2lubmluZz90aGlzLmExMXkubm90aWZ5KHQuZmlyc3RTbGlkZU1lc3NhZ2UpOnRoaXMuYTExeS5ub3RpZnkodC5wcmV2U2xpZGVNZXNzYWdlKSksdGhpcy5wYWdpbmF0aW9uJiZpLmlzKCIuIit0aGlzLnBhcmFtcy5wYWdpbmF0aW9uLmJ1bGxldENsYXNzKSYmaVswXS5jbGljaygpfX0sbm90aWZ5OmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYTExeS5saXZlUmVnaW9uOzAhPT10Lmxlbmd0aCYmKHQuaHRtbCgiIiksdC5odG1sKGUpKX0sdXBkYXRlTmF2aWdhdGlvbjpmdW5jdGlvbigpe2lmKCF0aGlzLnBhcmFtcy5sb29wJiZ0aGlzLm5hdmlnYXRpb24pe3ZhciBlPXRoaXMubmF2aWdhdGlvbix0PWUuJG5leHRFbCxpPWUuJHByZXZFbDtpJiZpLmxlbmd0aD4wJiYodGhpcy5pc0JlZ2lubmluZz8odGhpcy5hMTF5LmRpc2FibGVFbChpKSx0aGlzLmExMXkubWFrZUVsTm90Rm9jdXNhYmxlKGkpKToodGhpcy5hMTF5LmVuYWJsZUVsKGkpLHRoaXMuYTExeS5tYWtlRWxGb2N1c2FibGUoaSkpKSx0JiZ0Lmxlbmd0aD4wJiYodGhpcy5pc0VuZD8odGhpcy5hMTF5LmRpc2FibGVFbCh0KSx0aGlzLmExMXkubWFrZUVsTm90Rm9jdXNhYmxlKHQpKToodGhpcy5hMTF5LmVuYWJsZUVsKHQpLHRoaXMuYTExeS5tYWtlRWxGb2N1c2FibGUodCkpKX19LHVwZGF0ZVBhZ2luYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5wYXJhbXMuYTExeTtlLnBhZ2luYXRpb24mJmUucGFyYW1zLnBhZ2luYXRpb24uY2xpY2thYmxlJiZlLnBhZ2luYXRpb24uYnVsbGV0cyYmZS5wYWdpbmF0aW9uLmJ1bGxldHMubGVuZ3RoJiZlLnBhZ2luYXRpb24uYnVsbGV0cy5lYWNoKChmdW5jdGlvbihpLHMpe3ZhciBhPW4ocyk7ZS5hMTF5Lm1ha2VFbEZvY3VzYWJsZShhKSxlLmExMXkuYWRkRWxSb2xlKGEsImJ1dHRvbiIpLGUuYTExeS5hZGRFbExhYmVsKGEsdC5wYWdpbmF0aW9uQnVsbGV0TWVzc2FnZS5yZXBsYWNlKC9ce1x7aW5kZXhcfVx9LyxhLmluZGV4KCkrMSkpfSkpfSxpbml0OmZ1bmN0aW9uKCl7dGhpcy4kZWwuYXBwZW5kKHRoaXMuYTExeS5saXZlUmVnaW9uKTt2YXIgZSx0LGk9dGhpcy5wYXJhbXMuYTExeTt0aGlzLm5hdmlnYXRpb24mJnRoaXMubmF2aWdhdGlvbi4kbmV4dEVsJiYoZT10aGlzLm5hdmlnYXRpb24uJG5leHRFbCksdGhpcy5uYXZpZ2F0aW9uJiZ0aGlzLm5hdmlnYXRpb24uJHByZXZFbCYmKHQ9dGhpcy5uYXZpZ2F0aW9uLiRwcmV2RWwpLGUmJih0aGlzLmExMXkubWFrZUVsRm9jdXNhYmxlKGUpLHRoaXMuYTExeS5hZGRFbFJvbGUoZSwiYnV0dG9uIiksdGhpcy5hMTF5LmFkZEVsTGFiZWwoZSxpLm5leHRTbGlkZU1lc3NhZ2UpLGUub24oImtleWRvd24iLHRoaXMuYTExeS5vbkVudGVyS2V5KSksdCYmKHRoaXMuYTExeS5tYWtlRWxGb2N1c2FibGUodCksdGhpcy5hMTF5LmFkZEVsUm9sZSh0LCJidXR0b24iKSx0aGlzLmExMXkuYWRkRWxMYWJlbCh0LGkucHJldlNsaWRlTWVzc2FnZSksdC5vbigia2V5ZG93biIsdGhpcy5hMTF5Lm9uRW50ZXJLZXkpKSx0aGlzLnBhZ2luYXRpb24mJnRoaXMucGFyYW1zLnBhZ2luYXRpb24uY2xpY2thYmxlJiZ0aGlzLnBhZ2luYXRpb24uYnVsbGV0cyYmdGhpcy5wYWdpbmF0aW9uLmJ1bGxldHMubGVuZ3RoJiZ0aGlzLnBhZ2luYXRpb24uJGVsLm9uKCJrZXlkb3duIiwiLiIrdGhpcy5wYXJhbXMucGFnaW5hdGlvbi5idWxsZXRDbGFzcyx0aGlzLmExMXkub25FbnRlcktleSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgZSx0O3RoaXMuYTExeS5saXZlUmVnaW9uJiZ0aGlzLmExMXkubGl2ZVJlZ2lvbi5sZW5ndGg+MCYmdGhpcy5hMTF5LmxpdmVSZWdpb24ucmVtb3ZlKCksdGhpcy5uYXZpZ2F0aW9uJiZ0aGlzLm5hdmlnYXRpb24uJG5leHRFbCYmKGU9dGhpcy5uYXZpZ2F0aW9uLiRuZXh0RWwpLHRoaXMubmF2aWdhdGlvbiYmdGhpcy5uYXZpZ2F0aW9uLiRwcmV2RWwmJih0PXRoaXMubmF2aWdhdGlvbi4kcHJldkVsKSxlJiZlLm9mZigia2V5ZG93biIsdGhpcy5hMTF5Lm9uRW50ZXJLZXkpLHQmJnQub2ZmKCJrZXlkb3duIix0aGlzLmExMXkub25FbnRlcktleSksdGhpcy5wYWdpbmF0aW9uJiZ0aGlzLnBhcmFtcy5wYWdpbmF0aW9uLmNsaWNrYWJsZSYmdGhpcy5wYWdpbmF0aW9uLmJ1bGxldHMmJnRoaXMucGFnaW5hdGlvbi5idWxsZXRzLmxlbmd0aCYmdGhpcy5wYWdpbmF0aW9uLiRlbC5vZmYoImtleWRvd24iLCIuIit0aGlzLnBhcmFtcy5wYWdpbmF0aW9uLmJ1bGxldENsYXNzLHRoaXMuYTExeS5vbkVudGVyS2V5KX19LHZlPXtpbml0OmZ1bmN0aW9uKCl7aWYodGhpcy5wYXJhbXMuaGlzdG9yeSl7aWYoIWEuaGlzdG9yeXx8IWEuaGlzdG9yeS5wdXNoU3RhdGUpcmV0dXJuIHRoaXMucGFyYW1zLmhpc3RvcnkuZW5hYmxlZD0hMSx2b2lkKHRoaXMucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmVuYWJsZWQ9ITApO3ZhciBlPXRoaXMuaGlzdG9yeTtlLmluaXRpYWxpemVkPSEwLGUucGF0aHM9dmUuZ2V0UGF0aFZhbHVlcygpLChlLnBhdGhzLmtleXx8ZS5wYXRocy52YWx1ZSkmJihlLnNjcm9sbFRvU2xpZGUoMCxlLnBhdGhzLnZhbHVlLHRoaXMucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCksdGhpcy5wYXJhbXMuaGlzdG9yeS5yZXBsYWNlU3RhdGV8fGEuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLHRoaXMuaGlzdG9yeS5zZXRIaXN0b3J5UG9wU3RhdGUpKX19LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnBhcmFtcy5oaXN0b3J5LnJlcGxhY2VTdGF0ZXx8YS5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsdGhpcy5oaXN0b3J5LnNldEhpc3RvcnlQb3BTdGF0ZSl9LHNldEhpc3RvcnlQb3BTdGF0ZTpmdW5jdGlvbigpe3RoaXMuaGlzdG9yeS5wYXRocz12ZS5nZXRQYXRoVmFsdWVzKCksdGhpcy5oaXN0b3J5LnNjcm9sbFRvU2xpZGUodGhpcy5wYXJhbXMuc3BlZWQsdGhpcy5oaXN0b3J5LnBhdGhzLnZhbHVlLCExKX0sZ2V0UGF0aFZhbHVlczpmdW5jdGlvbigpe3ZhciBlPWEubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSkuc3BsaXQoIi8iKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiIiIT09ZX0pKSx0PWUubGVuZ3RoO3JldHVybntrZXk6ZVt0LTJdLHZhbHVlOmVbdC0xXX19LHNldEhpc3Rvcnk6ZnVuY3Rpb24oZSx0KXtpZih0aGlzLmhpc3RvcnkuaW5pdGlhbGl6ZWQmJnRoaXMucGFyYW1zLmhpc3RvcnkuZW5hYmxlZCl7dmFyIGk9dGhpcy5zbGlkZXMuZXEodCkscz12ZS5zbHVnaWZ5KGkuYXR0cigiZGF0YS1oaXN0b3J5IikpO2EubG9jYXRpb24ucGF0aG5hbWUuaW5jbHVkZXMoZSl8fChzPWUrIi8iK3MpO3ZhciByPWEuaGlzdG9yeS5zdGF0ZTtyJiZyLnZhbHVlPT09c3x8KHRoaXMucGFyYW1zLmhpc3RvcnkucmVwbGFjZVN0YXRlP2EuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe3ZhbHVlOnN9LG51bGwscyk6YS5oaXN0b3J5LnB1c2hTdGF0ZSh7dmFsdWU6c30sbnVsbCxzKSl9fSxzbHVnaWZ5OmZ1bmN0aW9uKGUpe3JldHVybiBlLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIi0iKS5yZXBsYWNlKC9bXlx3LV0rL2csIiIpLnJlcGxhY2UoLy0tKy9nLCItIikucmVwbGFjZSgvXi0rLywiIikucmVwbGFjZSgvLSskLywiIil9LHNjcm9sbFRvU2xpZGU6ZnVuY3Rpb24oZSx0LGkpe2lmKHQpZm9yKHZhciBzPTAsYT10aGlzLnNsaWRlcy5sZW5ndGg7czxhO3MrPTEpe3ZhciByPXRoaXMuc2xpZGVzLmVxKHMpO2lmKHZlLnNsdWdpZnkoci5hdHRyKCJkYXRhLWhpc3RvcnkiKSk9PT10JiYhci5oYXNDbGFzcyh0aGlzLnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSl7dmFyIG49ci5pbmRleCgpO3RoaXMuc2xpZGVUbyhuLGUsaSl9fWVsc2UgdGhpcy5zbGlkZVRvKDAsZSxpKX19LGZlPXtvbkhhc2hDYW5nZTpmdW5jdGlvbigpe3RoaXMuZW1pdCgiaGFzaENoYW5nZSIpO3ZhciBlPWkubG9jYXRpb24uaGFzaC5yZXBsYWNlKCIjIiwiIik7aWYoZSE9PXRoaXMuc2xpZGVzLmVxKHRoaXMuYWN0aXZlSW5kZXgpLmF0dHIoImRhdGEtaGFzaCIpKXt2YXIgdD10aGlzLiR3cmFwcGVyRWwuY2hpbGRyZW4oIi4iK3RoaXMucGFyYW1zLnNsaWRlQ2xhc3MrJ1tkYXRhLWhhc2g9IicrZSsnIl0nKS5pbmRleCgpO2lmKHZvaWQgMD09PXQpcmV0dXJuO3RoaXMuc2xpZGVUbyh0KX19LHNldEhhc2g6ZnVuY3Rpb24oKXtpZih0aGlzLmhhc2hOYXZpZ2F0aW9uLmluaXRpYWxpemVkJiZ0aGlzLnBhcmFtcy5oYXNoTmF2aWdhdGlvbi5lbmFibGVkKWlmKHRoaXMucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLnJlcGxhY2VTdGF0ZSYmYS5oaXN0b3J5JiZhLmhpc3RvcnkucmVwbGFjZVN0YXRlKWEuaGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCxudWxsLCIjIit0aGlzLnNsaWRlcy5lcSh0aGlzLmFjdGl2ZUluZGV4KS5hdHRyKCJkYXRhLWhhc2giKXx8IiIpLHRoaXMuZW1pdCgiaGFzaFNldCIpO2Vsc2V7dmFyIGU9dGhpcy5zbGlkZXMuZXEodGhpcy5hY3RpdmVJbmRleCksdD1lLmF0dHIoImRhdGEtaGFzaCIpfHxlLmF0dHIoImRhdGEtaGlzdG9yeSIpO2kubG9jYXRpb24uaGFzaD10fHwiIix0aGlzLmVtaXQoImhhc2hTZXQiKX19LGluaXQ6ZnVuY3Rpb24oKXtpZighKCF0aGlzLnBhcmFtcy5oYXNoTmF2aWdhdGlvbi5lbmFibGVkfHx0aGlzLnBhcmFtcy5oaXN0b3J5JiZ0aGlzLnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQpKXt0aGlzLmhhc2hOYXZpZ2F0aW9uLmluaXRpYWxpemVkPSEwO3ZhciBlPWkubG9jYXRpb24uaGFzaC5yZXBsYWNlKCIjIiwiIik7aWYoZSlmb3IodmFyIHQ9MCxzPXRoaXMuc2xpZGVzLmxlbmd0aDt0PHM7dCs9MSl7dmFyIHI9dGhpcy5zbGlkZXMuZXEodCk7aWYoKHIuYXR0cigiZGF0YS1oYXNoIil8fHIuYXR0cigiZGF0YS1oaXN0b3J5IikpPT09ZSYmIXIuaGFzQ2xhc3ModGhpcy5wYXJhbXMuc2xpZGVEdXBsaWNhdGVDbGFzcykpe3ZhciBvPXIuaW5kZXgoKTt0aGlzLnNsaWRlVG8obywwLHRoaXMucGFyYW1zLnJ1bkNhbGxiYWNrc09uSW5pdCwhMCl9fXRoaXMucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLndhdGNoU3RhdGUmJm4oYSkub24oImhhc2hjaGFuZ2UiLHRoaXMuaGFzaE5hdmlnYXRpb24ub25IYXNoQ2FuZ2UpfX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLndhdGNoU3RhdGUmJm4oYSkub2ZmKCJoYXNoY2hhbmdlIix0aGlzLmhhc2hOYXZpZ2F0aW9uLm9uSGFzaENhbmdlKX19LG1lPXtydW46ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5zbGlkZXMuZXEoZS5hY3RpdmVJbmRleCksaT1lLnBhcmFtcy5hdXRvcGxheS5kZWxheTt0LmF0dHIoImRhdGEtc3dpcGVyLWF1dG9wbGF5IikmJihpPXQuYXR0cigiZGF0YS1zd2lwZXItYXV0b3BsYXkiKXx8ZS5wYXJhbXMuYXV0b3BsYXkuZGVsYXkpLGNsZWFyVGltZW91dChlLmF1dG9wbGF5LnRpbWVvdXQpLGUuYXV0b3BsYXkudGltZW91dD1kLm5leHRUaWNrKChmdW5jdGlvbigpe2UucGFyYW1zLmF1dG9wbGF5LnJldmVyc2VEaXJlY3Rpb24/ZS5wYXJhbXMubG9vcD8oZS5sb29wRml4KCksZS5zbGlkZVByZXYoZS5wYXJhbXMuc3BlZWQsITAsITApLGUuZW1pdCgiYXV0b3BsYXkiKSk6ZS5pc0JlZ2lubmluZz9lLnBhcmFtcy5hdXRvcGxheS5zdG9wT25MYXN0U2xpZGU/ZS5hdXRvcGxheS5zdG9wKCk6KGUuc2xpZGVUbyhlLnNsaWRlcy5sZW5ndGgtMSxlLnBhcmFtcy5zcGVlZCwhMCwhMCksZS5lbWl0KCJhdXRvcGxheSIpKTooZS5zbGlkZVByZXYoZS5wYXJhbXMuc3BlZWQsITAsITApLGUuZW1pdCgiYXV0b3BsYXkiKSk6ZS5wYXJhbXMubG9vcD8oZS5sb29wRml4KCksZS5zbGlkZU5leHQoZS5wYXJhbXMuc3BlZWQsITAsITApLGUuZW1pdCgiYXV0b3BsYXkiKSk6ZS5pc0VuZD9lLnBhcmFtcy5hdXRvcGxheS5zdG9wT25MYXN0U2xpZGU/ZS5hdXRvcGxheS5zdG9wKCk6KGUuc2xpZGVUbygwLGUucGFyYW1zLnNwZWVkLCEwLCEwKSxlLmVtaXQoImF1dG9wbGF5IikpOihlLnNsaWRlTmV4dChlLnBhcmFtcy5zcGVlZCwhMCwhMCksZS5lbWl0KCJhdXRvcGxheSIpKSxlLnBhcmFtcy5jc3NNb2RlJiZlLmF1dG9wbGF5LnJ1bm5pbmcmJmUuYXV0b3BsYXkucnVuKCl9KSxpKX0sc3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwPT09dGhpcy5hdXRvcGxheS50aW1lb3V0JiYoIXRoaXMuYXV0b3BsYXkucnVubmluZyYmKHRoaXMuYXV0b3BsYXkucnVubmluZz0hMCx0aGlzLmVtaXQoImF1dG9wbGF5U3RhcnQiKSx0aGlzLmF1dG9wbGF5LnJ1bigpLCEwKSl9LHN0b3A6ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuYXV0b3BsYXkucnVubmluZyYmKHZvaWQgMCE9PXRoaXMuYXV0b3BsYXkudGltZW91dCYmKHRoaXMuYXV0b3BsYXkudGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLmF1dG9wbGF5LnRpbWVvdXQpLHRoaXMuYXV0b3BsYXkudGltZW91dD12b2lkIDApLHRoaXMuYXV0b3BsYXkucnVubmluZz0hMSx0aGlzLmVtaXQoImF1dG9wbGF5U3RvcCIpLCEwKSl9LHBhdXNlOmZ1bmN0aW9uKGUpe3RoaXMuYXV0b3BsYXkucnVubmluZyYmKHRoaXMuYXV0b3BsYXkucGF1c2VkfHwodGhpcy5hdXRvcGxheS50aW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5hdXRvcGxheS50aW1lb3V0KSx0aGlzLmF1dG9wbGF5LnBhdXNlZD0hMCwwIT09ZSYmdGhpcy5wYXJhbXMuYXV0b3BsYXkud2FpdEZvclRyYW5zaXRpb24/KHRoaXMuJHdyYXBwZXJFbFswXS5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0aGlzLmF1dG9wbGF5Lm9uVHJhbnNpdGlvbkVuZCksdGhpcy4kd3JhcHBlckVsWzBdLmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLHRoaXMuYXV0b3BsYXkub25UcmFuc2l0aW9uRW5kKSk6KHRoaXMuYXV0b3BsYXkucGF1c2VkPSExLHRoaXMuYXV0b3BsYXkucnVuKCkpKSl9fSxnZT17c2V0VHJhbnNsYXRlOmZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuc2xpZGVzLHQ9MDt0PGUubGVuZ3RoO3QrPTEpe3ZhciBpPXRoaXMuc2xpZGVzLmVxKHQpLHM9LWlbMF0uc3dpcGVyU2xpZGVPZmZzZXQ7dGhpcy5wYXJhbXMudmlydHVhbFRyYW5zbGF0ZXx8KHMtPXRoaXMudHJhbnNsYXRlKTt2YXIgYT0wO3RoaXMuaXNIb3Jpem9udGFsKCl8fChhPXMscz0wKTt2YXIgcj10aGlzLnBhcmFtcy5mYWRlRWZmZWN0LmNyb3NzRmFkZT9NYXRoLm1heCgxLU1hdGguYWJzKGlbMF0ucHJvZ3Jlc3MpLDApOjErTWF0aC5taW4oTWF0aC5tYXgoaVswXS5wcm9ncmVzcywtMSksMCk7aS5jc3Moe29wYWNpdHk6cn0pLnRyYW5zZm9ybSgidHJhbnNsYXRlM2QoIitzKyJweCwgIithKyJweCwgMHB4KSIpfX0sc2V0VHJhbnNpdGlvbjpmdW5jdGlvbihlKXt2YXIgdD10aGlzLGk9dC5zbGlkZXMscz10LiR3cmFwcGVyRWw7aWYoaS50cmFuc2l0aW9uKGUpLHQucGFyYW1zLnZpcnR1YWxUcmFuc2xhdGUmJjAhPT1lKXt2YXIgYT0hMTtpLnRyYW5zaXRpb25FbmQoKGZ1bmN0aW9uKCl7aWYoIWEmJnQmJiF0LmRlc3Ryb3llZCl7YT0hMCx0LmFuaW1hdGluZz0hMTtmb3IodmFyIGU9WyJ3ZWJraXRUcmFuc2l0aW9uRW5kIiwidHJhbnNpdGlvbmVuZCJdLGk9MDtpPGUubGVuZ3RoO2krPTEpcy50cmlnZ2VyKGVbaV0pfX0pKX19fSxiZT17c2V0VHJhbnNsYXRlOmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLiRlbCxpPXRoaXMuJHdyYXBwZXJFbCxzPXRoaXMuc2xpZGVzLGE9dGhpcy53aWR0aCxyPXRoaXMuaGVpZ2h0LG89dGhpcy5ydGxUcmFuc2xhdGUsbD10aGlzLnNpemUsZD10aGlzLnBhcmFtcy5jdWJlRWZmZWN0LGg9dGhpcy5pc0hvcml6b250YWwoKSxwPXRoaXMudmlydHVhbCYmdGhpcy5wYXJhbXMudmlydHVhbC5lbmFibGVkLGM9MDtkLnNoYWRvdyYmKGg/KDA9PT0oZT1pLmZpbmQoIi5zd2lwZXItY3ViZS1zaGFkb3ciKSkubGVuZ3RoJiYoZT1uKCc8ZGl2IGNsYXNzPSJzd2lwZXItY3ViZS1zaGFkb3ciPjwvZGl2PicpLGkuYXBwZW5kKGUpKSxlLmNzcyh7aGVpZ2h0OmErInB4In0pKTowPT09KGU9dC5maW5kKCIuc3dpcGVyLWN1YmUtc2hhZG93IikpLmxlbmd0aCYmKGU9bignPGRpdiBjbGFzcz0ic3dpcGVyLWN1YmUtc2hhZG93Ij48L2Rpdj4nKSx0LmFwcGVuZChlKSkpO2Zvcih2YXIgdT0wO3U8cy5sZW5ndGg7dSs9MSl7dmFyIHY9cy5lcSh1KSxmPXU7cCYmKGY9cGFyc2VJbnQodi5hdHRyKCJkYXRhLXN3aXBlci1zbGlkZS1pbmRleCIpLDEwKSk7dmFyIG09OTAqZixnPU1hdGguZmxvb3IobS8zNjApO28mJihtPS1tLGc9TWF0aC5mbG9vcigtbS8zNjApKTt2YXIgYj1NYXRoLm1heChNYXRoLm1pbih2WzBdLnByb2dyZXNzLDEpLC0xKSx3PTAseT0wLHg9MDtmJTQ9PTA/KHc9NCotZypsLHg9MCk6KGYtMSklND09MD8odz0wLHg9NCotZypsKTooZi0yKSU0PT0wPyh3PWwrNCpnKmwseD1sKTooZi0zKSU0PT0wJiYodz0tbCx4PTMqbCs0KmwqZyksbyYmKHc9LXcpLGh8fCh5PXcsdz0wKTt2YXIgRT0icm90YXRlWCgiKyhoPzA6LW0pKyJkZWcpIHJvdGF0ZVkoIisoaD9tOjApKyJkZWcpIHRyYW5zbGF0ZTNkKCIrdysicHgsICIreSsicHgsICIreCsicHgpIjtpZihiPD0xJiZiPi0xJiYoYz05MCpmKzkwKmIsbyYmKGM9OTAqLWYtOTAqYikpLHYudHJhbnNmb3JtKEUpLGQuc2xpZGVTaGFkb3dzKXt2YXIgVD1oP3YuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCIpOnYuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIiksUz1oP3YuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQiKTp2LmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSIpOzA9PT1ULmxlbmd0aCYmKFQ9bignPGRpdiBjbGFzcz0ic3dpcGVyLXNsaWRlLXNoYWRvdy0nKyhoPyJsZWZ0IjoidG9wIikrJyI+PC9kaXY+Jyksdi5hcHBlbmQoVCkpLDA9PT1TLmxlbmd0aCYmKFM9bignPGRpdiBjbGFzcz0ic3dpcGVyLXNsaWRlLXNoYWRvdy0nKyhoPyJyaWdodCI6ImJvdHRvbSIpKyciPjwvZGl2PicpLHYuYXBwZW5kKFMpKSxULmxlbmd0aCYmKFRbMF0uc3R5bGUub3BhY2l0eT1NYXRoLm1heCgtYiwwKSksUy5sZW5ndGgmJihTWzBdLnN0eWxlLm9wYWNpdHk9TWF0aC5tYXgoYiwwKSl9fWlmKGkuY3NzKHsiLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luIjoiNTAlIDUwJSAtIitsLzIrInB4IiwiLW1vei10cmFuc2Zvcm0tb3JpZ2luIjoiNTAlIDUwJSAtIitsLzIrInB4IiwiLW1zLXRyYW5zZm9ybS1vcmlnaW4iOiI1MCUgNTAlIC0iK2wvMisicHgiLCJ0cmFuc2Zvcm0tb3JpZ2luIjoiNTAlIDUwJSAtIitsLzIrInB4In0pLGQuc2hhZG93KWlmKGgpZS50cmFuc2Zvcm0oInRyYW5zbGF0ZTNkKDBweCwgIisoYS8yK2Quc2hhZG93T2Zmc2V0KSsicHgsICIrLWEvMisicHgpIHJvdGF0ZVgoOTBkZWcpIHJvdGF0ZVooMGRlZykgc2NhbGUoIitkLnNoYWRvd1NjYWxlKyIpIik7ZWxzZXt2YXIgQz1NYXRoLmFicyhjKS05MCpNYXRoLmZsb29yKE1hdGguYWJzKGMpLzkwKSxNPTEuNS0oTWF0aC5zaW4oMipDKk1hdGguUEkvMzYwKS8yK01hdGguY29zKDIqQypNYXRoLlBJLzM2MCkvMiksUD1kLnNoYWRvd1NjYWxlLHo9ZC5zaGFkb3dTY2FsZS9NLGs9ZC5zaGFkb3dPZmZzZXQ7ZS50cmFuc2Zvcm0oInNjYWxlM2QoIitQKyIsIDEsICIreisiKSB0cmFuc2xhdGUzZCgwcHgsICIrKHIvMitrKSsicHgsICIrLXIvMi96KyJweCkgcm90YXRlWCgtOTBkZWcpIil9dmFyICQ9Xy5pc1NhZmFyaXx8Xy5pc1dlYlZpZXc/LWwvMjowO2kudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgwcHgsMCwiKyQrInB4KSByb3RhdGVYKCIrKHRoaXMuaXNIb3Jpem9udGFsKCk/MDpjKSsiZGVnKSByb3RhdGVZKCIrKHRoaXMuaXNIb3Jpem9udGFsKCk/LWM6MCkrImRlZykiKX0sc2V0VHJhbnNpdGlvbjpmdW5jdGlvbihlKXt2YXIgdD10aGlzLiRlbDt0aGlzLnNsaWRlcy50cmFuc2l0aW9uKGUpLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCIpLnRyYW5zaXRpb24oZSksdGhpcy5wYXJhbXMuY3ViZUVmZmVjdC5zaGFkb3cmJiF0aGlzLmlzSG9yaXpvbnRhbCgpJiZ0LmZpbmQoIi5zd2lwZXItY3ViZS1zaGFkb3ciKS50cmFuc2l0aW9uKGUpfX0sd2U9e3NldFRyYW5zbGF0ZTpmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLnNsaWRlcyx0PXRoaXMucnRsVHJhbnNsYXRlLGk9MDtpPGUubGVuZ3RoO2krPTEpe3ZhciBzPWUuZXEoaSksYT1zWzBdLnByb2dyZXNzO3RoaXMucGFyYW1zLmZsaXBFZmZlY3QubGltaXRSb3RhdGlvbiYmKGE9TWF0aC5tYXgoTWF0aC5taW4oc1swXS5wcm9ncmVzcywxKSwtMSkpO3ZhciByPS0xODAqYSxvPTAsbD0tc1swXS5zd2lwZXJTbGlkZU9mZnNldCxkPTA7aWYodGhpcy5pc0hvcml6b250YWwoKT90JiYocj0tcik6KGQ9bCxsPTAsbz0tcixyPTApLHNbMF0uc3R5bGUuekluZGV4PS1NYXRoLmFicyhNYXRoLnJvdW5kKGEpKStlLmxlbmd0aCx0aGlzLnBhcmFtcy5mbGlwRWZmZWN0LnNsaWRlU2hhZG93cyl7dmFyIGg9dGhpcy5pc0hvcml6b250YWwoKT9zLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQiKTpzLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCIpLHA9dGhpcy5pc0hvcml6b250YWwoKT9zLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0Iik6cy5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20iKTswPT09aC5sZW5ndGgmJihoPW4oJzxkaXYgY2xhc3M9InN3aXBlci1zbGlkZS1zaGFkb3ctJysodGhpcy5pc0hvcml6b250YWwoKT8ibGVmdCI6InRvcCIpKyciPjwvZGl2PicpLHMuYXBwZW5kKGgpKSwwPT09cC5sZW5ndGgmJihwPW4oJzxkaXYgY2xhc3M9InN3aXBlci1zbGlkZS1zaGFkb3ctJysodGhpcy5pc0hvcml6b250YWwoKT8icmlnaHQiOiJib3R0b20iKSsnIj48L2Rpdj4nKSxzLmFwcGVuZChwKSksaC5sZW5ndGgmJihoWzBdLnN0eWxlLm9wYWNpdHk9TWF0aC5tYXgoLWEsMCkpLHAubGVuZ3RoJiYocFswXS5zdHlsZS5vcGFjaXR5PU1hdGgubWF4KGEsMCkpfXMudHJhbnNmb3JtKCJ0cmFuc2xhdGUzZCgiK2wrInB4LCAiK2QrInB4LCAwcHgpIHJvdGF0ZVgoIitvKyJkZWcpIHJvdGF0ZVkoIityKyJkZWcpIil9fSxzZXRUcmFuc2l0aW9uOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsaT10LnNsaWRlcyxzPXQuYWN0aXZlSW5kZXgsYT10LiR3cmFwcGVyRWw7aWYoaS50cmFuc2l0aW9uKGUpLmZpbmQoIi5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCIpLnRyYW5zaXRpb24oZSksdC5wYXJhbXMudmlydHVhbFRyYW5zbGF0ZSYmMCE9PWUpe3ZhciByPSExO2kuZXEocykudHJhbnNpdGlvbkVuZCgoZnVuY3Rpb24oKXtpZighciYmdCYmIXQuZGVzdHJveWVkKXtyPSEwLHQuYW5pbWF0aW5nPSExO2Zvcih2YXIgZT1bIndlYmtpdFRyYW5zaXRpb25FbmQiLCJ0cmFuc2l0aW9uZW5kIl0saT0wO2k8ZS5sZW5ndGg7aSs9MSlhLnRyaWdnZXIoZVtpXSl9fSkpfX19LHllPXtzZXRUcmFuc2xhdGU6ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy53aWR0aCx0PXRoaXMuaGVpZ2h0LGk9dGhpcy5zbGlkZXMscz10aGlzLiR3cmFwcGVyRWwsYT10aGlzLnNsaWRlc1NpemVzR3JpZCxyPXRoaXMucGFyYW1zLmNvdmVyZmxvd0VmZmVjdCxvPXRoaXMuaXNIb3Jpem9udGFsKCksbD10aGlzLnRyYW5zbGF0ZSxkPW8/ZS8yLWw6dC8yLWwscD1vP3Iucm90YXRlOi1yLnJvdGF0ZSxjPXIuZGVwdGgsdT0wLHY9aS5sZW5ndGg7dTx2O3UrPTEpe3ZhciBmPWkuZXEodSksbT1hW3VdLGc9KGQtZlswXS5zd2lwZXJTbGlkZU9mZnNldC1tLzIpL20qci5tb2RpZmllcixiPW8/cCpnOjAsdz1vPzA6cCpnLHk9LWMqTWF0aC5hYnMoZykseD1yLnN0cmV0Y2g7InN0cmluZyI9PXR5cGVvZiB4JiYtMSE9PXguaW5kZXhPZigiJSIpJiYoeD1wYXJzZUZsb2F0KHIuc3RyZXRjaCkvMTAwKm0pO3ZhciBFPW8/MDp4KmcsVD1vP3gqZzowLFM9MS0oMS1yLnNjYWxlKSpNYXRoLmFicyhnKTtNYXRoLmFicyhUKTwuMDAxJiYoVD0wKSxNYXRoLmFicyhFKTwuMDAxJiYoRT0wKSxNYXRoLmFicyh5KTwuMDAxJiYoeT0wKSxNYXRoLmFicyhiKTwuMDAxJiYoYj0wKSxNYXRoLmFicyh3KTwuMDAxJiYodz0wKSxNYXRoLmFicyhTKTwuMDAxJiYoUz0wKTt2YXIgQz0idHJhbnNsYXRlM2QoIitUKyJweCwiK0UrInB4LCIreSsicHgpICByb3RhdGVYKCIrdysiZGVnKSByb3RhdGVZKCIrYisiZGVnKSBzY2FsZSgiK1MrIikiO2lmKGYudHJhbnNmb3JtKEMpLGZbMF0uc3R5bGUuekluZGV4PTEtTWF0aC5hYnMoTWF0aC5yb3VuZChnKSksci5zbGlkZVNoYWRvd3Mpe3ZhciBNPW8/Zi5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0Iik6Zi5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AiKSxQPW8/Zi5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCIpOmYuZmluZCgiLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIik7MD09PU0ubGVuZ3RoJiYoTT1uKCc8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUtc2hhZG93LScrKG8/ImxlZnQiOiJ0b3AiKSsnIj48L2Rpdj4nKSxmLmFwcGVuZChNKSksMD09PVAubGVuZ3RoJiYoUD1uKCc8ZGl2IGNsYXNzPSJzd2lwZXItc2xpZGUtc2hhZG93LScrKG8/InJpZ2h0IjoiYm90dG9tIikrJyI+PC9kaXY+JyksZi5hcHBlbmQoUCkpLE0ubGVuZ3RoJiYoTVswXS5zdHlsZS5vcGFjaXR5PWc+MD9nOjApLFAubGVuZ3RoJiYoUFswXS5zdHlsZS5vcGFjaXR5PS1nPjA/LWc6MCl9fShoLnBvaW50ZXJFdmVudHN8fGgucHJlZml4ZWRQb2ludGVyRXZlbnRzKSYmKHNbMF0uc3R5bGUucGVyc3BlY3RpdmVPcmlnaW49ZCsicHggNTAlIil9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSl7dGhpcy5zbGlkZXMudHJhbnNpdGlvbihlKS5maW5kKCIuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQiKS50cmFuc2l0aW9uKGUpfX0seGU9e2luaXQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnBhcmFtcy50aHVtYnMsdD10aGlzLmNvbnN0cnVjdG9yO2Uuc3dpcGVyIGluc3RhbmNlb2YgdD8odGhpcy50aHVtYnMuc3dpcGVyPWUuc3dpcGVyLGQuZXh0ZW5kKHRoaXMudGh1bWJzLnN3aXBlci5vcmlnaW5hbFBhcmFtcyx7d2F0Y2hTbGlkZXNQcm9ncmVzczohMCxzbGlkZVRvQ2xpY2tlZFNsaWRlOiExfSksZC5leHRlbmQodGhpcy50aHVtYnMuc3dpcGVyLnBhcmFtcyx7d2F0Y2hTbGlkZXNQcm9ncmVzczohMCxzbGlkZVRvQ2xpY2tlZFNsaWRlOiExfSkpOmQuaXNPYmplY3QoZS5zd2lwZXIpJiYodGhpcy50aHVtYnMuc3dpcGVyPW5ldyB0KGQuZXh0ZW5kKHt9LGUuc3dpcGVyLHt3YXRjaFNsaWRlc1Zpc2liaWxpdHk6ITAsd2F0Y2hTbGlkZXNQcm9ncmVzczohMCxzbGlkZVRvQ2xpY2tlZFNsaWRlOiExfSkpLHRoaXMudGh1bWJzLnN3aXBlckNyZWF0ZWQ9ITApLHRoaXMudGh1bWJzLnN3aXBlci4kZWwuYWRkQ2xhc3ModGhpcy5wYXJhbXMudGh1bWJzLnRodW1ic0NvbnRhaW5lckNsYXNzKSx0aGlzLnRodW1icy5zd2lwZXIub24oInRhcCIsdGhpcy50aHVtYnMub25UaHVtYkNsaWNrKX0sb25UaHVtYkNsaWNrOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50aHVtYnMuc3dpcGVyO2lmKGUpe3ZhciB0PWUuY2xpY2tlZEluZGV4LGk9ZS5jbGlja2VkU2xpZGU7aWYoIShpJiZuKGkpLmhhc0NsYXNzKHRoaXMucGFyYW1zLnRodW1icy5zbGlkZVRodW1iQWN0aXZlQ2xhc3MpfHxudWxsPT10KSl7dmFyIHM7aWYocz1lLnBhcmFtcy5sb29wP3BhcnNlSW50KG4oZS5jbGlja2VkU2xpZGUpLmF0dHIoImRhdGEtc3dpcGVyLXNsaWRlLWluZGV4IiksMTApOnQsdGhpcy5wYXJhbXMubG9vcCl7dmFyIGE9dGhpcy5hY3RpdmVJbmRleDt0aGlzLnNsaWRlcy5lcShhKS5oYXNDbGFzcyh0aGlzLnBhcmFtcy5zbGlkZUR1cGxpY2F0ZUNsYXNzKSYmKHRoaXMubG9vcEZpeCgpLHRoaXMuX2NsaWVudExlZnQ9dGhpcy4kd3JhcHBlckVsWzBdLmNsaWVudExlZnQsYT10aGlzLmFjdGl2ZUluZGV4KTt2YXIgcj10aGlzLnNsaWRlcy5lcShhKS5wcmV2QWxsKCdbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicrcysnIl0nKS5lcSgwKS5pbmRleCgpLG89dGhpcy5zbGlkZXMuZXEoYSkubmV4dEFsbCgnW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSInK3MrJyJdJykuZXEoMCkuaW5kZXgoKTtzPXZvaWQgMD09PXI/bzp2b2lkIDA9PT1vP3I6by1hPGEtcj9vOnJ9dGhpcy5zbGlkZVRvKHMpfX19LHVwZGF0ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnRodW1icy5zd2lwZXI7aWYodCl7dmFyIGk9ImF1dG8iPT09dC5wYXJhbXMuc2xpZGVzUGVyVmlldz90LnNsaWRlc1BlclZpZXdEeW5hbWljKCk6dC5wYXJhbXMuc2xpZGVzUGVyVmlldyxzPXRoaXMucGFyYW1zLnRodW1icy5hdXRvU2Nyb2xsT2Zmc2V0LGE9cyYmIXQucGFyYW1zLmxvb3A7aWYodGhpcy5yZWFsSW5kZXghPT10LnJlYWxJbmRleHx8YSl7dmFyIHIsbixvPXQuYWN0aXZlSW5kZXg7aWYodC5wYXJhbXMubG9vcCl7dC5zbGlkZXMuZXEobykuaGFzQ2xhc3ModC5wYXJhbXMuc2xpZGVEdXBsaWNhdGVDbGFzcykmJih0Lmxvb3BGaXgoKSx0Ll9jbGllbnRMZWZ0PXQuJHdyYXBwZXJFbFswXS5jbGllbnRMZWZ0LG89dC5hY3RpdmVJbmRleCk7dmFyIGw9dC5zbGlkZXMuZXEobykucHJldkFsbCgnW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSInK3RoaXMucmVhbEluZGV4KyciXScpLmVxKDApLmluZGV4KCksZD10LnNsaWRlcy5lcShvKS5uZXh0QWxsKCdbZGF0YS1zd2lwZXItc2xpZGUtaW5kZXg9IicrdGhpcy5yZWFsSW5kZXgrJyJdJykuZXEoMCkuaW5kZXgoKTtyPXZvaWQgMD09PWw/ZDp2b2lkIDA9PT1kP2w6ZC1vPT1vLWw/bzpkLW88by1sP2Q6bCxuPXRoaXMuYWN0aXZlSW5kZXg+dGhpcy5wcmV2aW91c0luZGV4PyJuZXh0IjoicHJldiJ9ZWxzZSBuPShyPXRoaXMucmVhbEluZGV4KT50aGlzLnByZXZpb3VzSW5kZXg/Im5leHQiOiJwcmV2IjthJiYocis9Im5leHQiPT09bj9zOi0xKnMpLHQudmlzaWJsZVNsaWRlc0luZGV4ZXMmJnQudmlzaWJsZVNsaWRlc0luZGV4ZXMuaW5kZXhPZihyKTwwJiYodC5wYXJhbXMuY2VudGVyZWRTbGlkZXM/cj1yPm8/ci1NYXRoLmZsb29yKGkvMikrMTpyK01hdGguZmxvb3IoaS8yKS0xOnI+byYmKHI9ci1pKzEpLHQuc2xpZGVUbyhyLGU/MDp2b2lkIDApKX12YXIgaD0xLHA9dGhpcy5wYXJhbXMudGh1bWJzLnNsaWRlVGh1bWJBY3RpdmVDbGFzcztpZih0aGlzLnBhcmFtcy5zbGlkZXNQZXJWaWV3PjEmJiF0aGlzLnBhcmFtcy5jZW50ZXJlZFNsaWRlcyYmKGg9dGhpcy5wYXJhbXMuc2xpZGVzUGVyVmlldyksdGhpcy5wYXJhbXMudGh1bWJzLm11bHRpcGxlQWN0aXZlVGh1bWJzfHwoaD0xKSxoPU1hdGguZmxvb3IoaCksdC5zbGlkZXMucmVtb3ZlQ2xhc3MocCksdC5wYXJhbXMubG9vcHx8dC5wYXJhbXMudmlydHVhbCYmdC5wYXJhbXMudmlydHVhbC5lbmFibGVkKWZvcih2YXIgYz0wO2M8aDtjKz0xKXQuJHdyYXBwZXJFbC5jaGlsZHJlbignW2RhdGEtc3dpcGVyLXNsaWRlLWluZGV4PSInKyh0aGlzLnJlYWxJbmRleCtjKSsnIl0nKS5hZGRDbGFzcyhwKTtlbHNlIGZvcih2YXIgdT0wO3U8aDt1Kz0xKXQuc2xpZGVzLmVxKHRoaXMucmVhbEluZGV4K3UpLmFkZENsYXNzKHApfX19LEVlPVtLLFUsWixRLGVlLGllLGFlLHtuYW1lOiJtb3VzZXdoZWVsIixwYXJhbXM6e21vdXNld2hlZWw6e2VuYWJsZWQ6ITEscmVsZWFzZU9uRWRnZXM6ITEsaW52ZXJ0OiExLGZvcmNlVG9BeGlzOiExLHNlbnNpdGl2aXR5OjEsZXZlbnRzVGFyZ2VkOiJjb250YWluZXIifX0sY3JlYXRlOmZ1bmN0aW9uKCl7ZC5leHRlbmQodGhpcyx7bW91c2V3aGVlbDp7ZW5hYmxlZDohMSxlbmFibGU6cmUuZW5hYmxlLmJpbmQodGhpcyksZGlzYWJsZTpyZS5kaXNhYmxlLmJpbmQodGhpcyksaGFuZGxlOnJlLmhhbmRsZS5iaW5kKHRoaXMpLGhhbmRsZU1vdXNlRW50ZXI6cmUuaGFuZGxlTW91c2VFbnRlci5iaW5kKHRoaXMpLGhhbmRsZU1vdXNlTGVhdmU6cmUuaGFuZGxlTW91c2VMZWF2ZS5iaW5kKHRoaXMpLGFuaW1hdGVTbGlkZXI6cmUuYW5pbWF0ZVNsaWRlci5iaW5kKHRoaXMpLHJlbGVhc2VTY3JvbGw6cmUucmVsZWFzZVNjcm9sbC5iaW5kKHRoaXMpLGxhc3RTY3JvbGxUaW1lOmQubm93KCksbGFzdEV2ZW50QmVmb3JlU25hcDp2b2lkIDAscmVjZW50V2hlZWxFdmVudHM6W119fSl9LG9uOntpbml0OmZ1bmN0aW9uKCl7IXRoaXMucGFyYW1zLm1vdXNld2hlZWwuZW5hYmxlZCYmdGhpcy5wYXJhbXMuY3NzTW9kZSYmdGhpcy5tb3VzZXdoZWVsLmRpc2FibGUoKSx0aGlzLnBhcmFtcy5tb3VzZXdoZWVsLmVuYWJsZWQmJnRoaXMubW91c2V3aGVlbC5lbmFibGUoKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMucGFyYW1zLmNzc01vZGUmJnRoaXMubW91c2V3aGVlbC5lbmFibGUoKSx0aGlzLm1vdXNld2hlZWwuZW5hYmxlZCYmdGhpcy5tb3VzZXdoZWVsLmRpc2FibGUoKX19fSx7bmFtZToibmF2aWdhdGlvbiIscGFyYW1zOntuYXZpZ2F0aW9uOntuZXh0RWw6bnVsbCxwcmV2RWw6bnVsbCxoaWRlT25DbGljazohMSxkaXNhYmxlZENsYXNzOiJzd2lwZXItYnV0dG9uLWRpc2FibGVkIixoaWRkZW5DbGFzczoic3dpcGVyLWJ1dHRvbi1oaWRkZW4iLGxvY2tDbGFzczoic3dpcGVyLWJ1dHRvbi1sb2NrIn19LGNyZWF0ZTpmdW5jdGlvbigpe2QuZXh0ZW5kKHRoaXMse25hdmlnYXRpb246e2luaXQ6bmUuaW5pdC5iaW5kKHRoaXMpLHVwZGF0ZTpuZS51cGRhdGUuYmluZCh0aGlzKSxkZXN0cm95Om5lLmRlc3Ryb3kuYmluZCh0aGlzKSxvbk5leHRDbGljazpuZS5vbk5leHRDbGljay5iaW5kKHRoaXMpLG9uUHJldkNsaWNrOm5lLm9uUHJldkNsaWNrLmJpbmQodGhpcyl9fSl9LG9uOntpbml0OmZ1bmN0aW9uKCl7dGhpcy5uYXZpZ2F0aW9uLmluaXQoKSx0aGlzLm5hdmlnYXRpb24udXBkYXRlKCl9LHRvRWRnZTpmdW5jdGlvbigpe3RoaXMubmF2aWdhdGlvbi51cGRhdGUoKX0sZnJvbUVkZ2U6ZnVuY3Rpb24oKXt0aGlzLm5hdmlnYXRpb24udXBkYXRlKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLm5hdmlnYXRpb24uZGVzdHJveSgpfSxjbGljazpmdW5jdGlvbihlKXt2YXIgdCxpPXRoaXMubmF2aWdhdGlvbixzPWkuJG5leHRFbCxhPWkuJHByZXZFbDshdGhpcy5wYXJhbXMubmF2aWdhdGlvbi5oaWRlT25DbGlja3x8bihlLnRhcmdldCkuaXMoYSl8fG4oZS50YXJnZXQpLmlzKHMpfHwocz90PXMuaGFzQ2xhc3ModGhpcy5wYXJhbXMubmF2aWdhdGlvbi5oaWRkZW5DbGFzcyk6YSYmKHQ9YS5oYXNDbGFzcyh0aGlzLnBhcmFtcy5uYXZpZ2F0aW9uLmhpZGRlbkNsYXNzKSksITA9PT10P3RoaXMuZW1pdCgibmF2aWdhdGlvblNob3ciLHRoaXMpOnRoaXMuZW1pdCgibmF2aWdhdGlvbkhpZGUiLHRoaXMpLHMmJnMudG9nZ2xlQ2xhc3ModGhpcy5wYXJhbXMubmF2aWdhdGlvbi5oaWRkZW5DbGFzcyksYSYmYS50b2dnbGVDbGFzcyh0aGlzLnBhcmFtcy5uYXZpZ2F0aW9uLmhpZGRlbkNsYXNzKSl9fX0se25hbWU6InBhZ2luYXRpb24iLHBhcmFtczp7cGFnaW5hdGlvbjp7ZWw6bnVsbCxidWxsZXRFbGVtZW50OiJzcGFuIixjbGlja2FibGU6ITEsaGlkZU9uQ2xpY2s6ITEscmVuZGVyQnVsbGV0Om51bGwscmVuZGVyUHJvZ3Jlc3NiYXI6bnVsbCxyZW5kZXJGcmFjdGlvbjpudWxsLHJlbmRlckN1c3RvbTpudWxsLHByb2dyZXNzYmFyT3Bwb3NpdGU6ITEsdHlwZToiYnVsbGV0cyIsZHluYW1pY0J1bGxldHM6ITEsZHluYW1pY01haW5CdWxsZXRzOjEsZm9ybWF0RnJhY3Rpb25DdXJyZW50OmZ1bmN0aW9uKGUpe3JldHVybiBlfSxmb3JtYXRGcmFjdGlvblRvdGFsOmZ1bmN0aW9uKGUpe3JldHVybiBlfSxidWxsZXRDbGFzczoic3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IixidWxsZXRBY3RpdmVDbGFzczoic3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSIsbW9kaWZpZXJDbGFzczoic3dpcGVyLXBhZ2luYXRpb24tIixjdXJyZW50Q2xhc3M6InN3aXBlci1wYWdpbmF0aW9uLWN1cnJlbnQiLHRvdGFsQ2xhc3M6InN3aXBlci1wYWdpbmF0aW9uLXRvdGFsIixoaWRkZW5DbGFzczoic3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIixwcm9ncmVzc2JhckZpbGxDbGFzczoic3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCIscHJvZ3Jlc3NiYXJPcHBvc2l0ZUNsYXNzOiJzd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSIsY2xpY2thYmxlQ2xhc3M6InN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSIsbG9ja0NsYXNzOiJzd2lwZXItcGFnaW5hdGlvbi1sb2NrIn19LGNyZWF0ZTpmdW5jdGlvbigpe2QuZXh0ZW5kKHRoaXMse3BhZ2luYXRpb246e2luaXQ6b2UuaW5pdC5iaW5kKHRoaXMpLHJlbmRlcjpvZS5yZW5kZXIuYmluZCh0aGlzKSx1cGRhdGU6b2UudXBkYXRlLmJpbmQodGhpcyksZGVzdHJveTpvZS5kZXN0cm95LmJpbmQodGhpcyksZHluYW1pY0J1bGxldEluZGV4OjB9fSl9LG9uOntpbml0OmZ1bmN0aW9uKCl7dGhpcy5wYWdpbmF0aW9uLmluaXQoKSx0aGlzLnBhZ2luYXRpb24ucmVuZGVyKCksdGhpcy5wYWdpbmF0aW9uLnVwZGF0ZSgpfSxhY3RpdmVJbmRleENoYW5nZTpmdW5jdGlvbigpeyh0aGlzLnBhcmFtcy5sb29wfHx2b2lkIDA9PT10aGlzLnNuYXBJbmRleCkmJnRoaXMucGFnaW5hdGlvbi51cGRhdGUoKX0sc25hcEluZGV4Q2hhbmdlOmZ1bmN0aW9uKCl7dGhpcy5wYXJhbXMubG9vcHx8dGhpcy5wYWdpbmF0aW9uLnVwZGF0ZSgpfSxzbGlkZXNMZW5ndGhDaGFuZ2U6ZnVuY3Rpb24oKXt0aGlzLnBhcmFtcy5sb29wJiYodGhpcy5wYWdpbmF0aW9uLnJlbmRlcigpLHRoaXMucGFnaW5hdGlvbi51cGRhdGUoKSl9LHNuYXBHcmlkTGVuZ3RoQ2hhbmdlOmZ1bmN0aW9uKCl7dGhpcy5wYXJhbXMubG9vcHx8KHRoaXMucGFnaW5hdGlvbi5yZW5kZXIoKSx0aGlzLnBhZ2luYXRpb24udXBkYXRlKCkpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5wYWdpbmF0aW9uLmRlc3Ryb3koKX0sY2xpY2s6ZnVuY3Rpb24oZSl7dGhpcy5wYXJhbXMucGFnaW5hdGlvbi5lbCYmdGhpcy5wYXJhbXMucGFnaW5hdGlvbi5oaWRlT25DbGljayYmdGhpcy5wYWdpbmF0aW9uLiRlbC5sZW5ndGg+MCYmIW4oZS50YXJnZXQpLmhhc0NsYXNzKHRoaXMucGFyYW1zLnBhZ2luYXRpb24uYnVsbGV0Q2xhc3MpJiYoITA9PT10aGlzLnBhZ2luYXRpb24uJGVsLmhhc0NsYXNzKHRoaXMucGFyYW1zLnBhZ2luYXRpb24uaGlkZGVuQ2xhc3MpP3RoaXMuZW1pdCgicGFnaW5hdGlvblNob3ciLHRoaXMpOnRoaXMuZW1pdCgicGFnaW5hdGlvbkhpZGUiLHRoaXMpLHRoaXMucGFnaW5hdGlvbi4kZWwudG9nZ2xlQ2xhc3ModGhpcy5wYXJhbXMucGFnaW5hdGlvbi5oaWRkZW5DbGFzcykpfX19LHtuYW1lOiJzY3JvbGxiYXIiLHBhcmFtczp7c2Nyb2xsYmFyOntlbDpudWxsLGRyYWdTaXplOiJhdXRvIixoaWRlOiExLGRyYWdnYWJsZTohMSxzbmFwT25SZWxlYXNlOiEwLGxvY2tDbGFzczoic3dpcGVyLXNjcm9sbGJhci1sb2NrIixkcmFnQ2xhc3M6InN3aXBlci1zY3JvbGxiYXItZHJhZyJ9fSxjcmVhdGU6ZnVuY3Rpb24oKXtkLmV4dGVuZCh0aGlzLHtzY3JvbGxiYXI6e2luaXQ6bGUuaW5pdC5iaW5kKHRoaXMpLGRlc3Ryb3k6bGUuZGVzdHJveS5iaW5kKHRoaXMpLHVwZGF0ZVNpemU6bGUudXBkYXRlU2l6ZS5iaW5kKHRoaXMpLHNldFRyYW5zbGF0ZTpsZS5zZXRUcmFuc2xhdGUuYmluZCh0aGlzKSxzZXRUcmFuc2l0aW9uOmxlLnNldFRyYW5zaXRpb24uYmluZCh0aGlzKSxlbmFibGVEcmFnZ2FibGU6bGUuZW5hYmxlRHJhZ2dhYmxlLmJpbmQodGhpcyksZGlzYWJsZURyYWdnYWJsZTpsZS5kaXNhYmxlRHJhZ2dhYmxlLmJpbmQodGhpcyksc2V0RHJhZ1Bvc2l0aW9uOmxlLnNldERyYWdQb3NpdGlvbi5iaW5kKHRoaXMpLGdldFBvaW50ZXJQb3NpdGlvbjpsZS5nZXRQb2ludGVyUG9zaXRpb24uYmluZCh0aGlzKSxvbkRyYWdTdGFydDpsZS5vbkRyYWdTdGFydC5iaW5kKHRoaXMpLG9uRHJhZ01vdmU6bGUub25EcmFnTW92ZS5iaW5kKHRoaXMpLG9uRHJhZ0VuZDpsZS5vbkRyYWdFbmQuYmluZCh0aGlzKSxpc1RvdWNoZWQ6ITEsdGltZW91dDpudWxsLGRyYWdUaW1lb3V0Om51bGx9fSl9LG9uOntpbml0OmZ1bmN0aW9uKCl7dGhpcy5zY3JvbGxiYXIuaW5pdCgpLHRoaXMuc2Nyb2xsYmFyLnVwZGF0ZVNpemUoKSx0aGlzLnNjcm9sbGJhci5zZXRUcmFuc2xhdGUoKX0sdXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5zY3JvbGxiYXIudXBkYXRlU2l6ZSgpfSxyZXNpemU6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbGJhci51cGRhdGVTaXplKCl9LG9ic2VydmVyVXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5zY3JvbGxiYXIudXBkYXRlU2l6ZSgpfSxzZXRUcmFuc2xhdGU6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbGJhci5zZXRUcmFuc2xhdGUoKX0sc2V0VHJhbnNpdGlvbjpmdW5jdGlvbihlKXt0aGlzLnNjcm9sbGJhci5zZXRUcmFuc2l0aW9uKGUpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5zY3JvbGxiYXIuZGVzdHJveSgpfX19LHtuYW1lOiJwYXJhbGxheCIscGFyYW1zOntwYXJhbGxheDp7ZW5hYmxlZDohMX19LGNyZWF0ZTpmdW5jdGlvbigpe2QuZXh0ZW5kKHRoaXMse3BhcmFsbGF4OntzZXRUcmFuc2Zvcm06ZGUuc2V0VHJhbnNmb3JtLmJpbmQodGhpcyksc2V0VHJhbnNsYXRlOmRlLnNldFRyYW5zbGF0ZS5iaW5kKHRoaXMpLHNldFRyYW5zaXRpb246ZGUuc2V0VHJhbnNpdGlvbi5iaW5kKHRoaXMpfX0pfSxvbjp7YmVmb3JlSW5pdDpmdW5jdGlvbigpe3RoaXMucGFyYW1zLnBhcmFsbGF4LmVuYWJsZWQmJih0aGlzLnBhcmFtcy53YXRjaFNsaWRlc1Byb2dyZXNzPSEwLHRoaXMub3JpZ2luYWxQYXJhbXMud2F0Y2hTbGlkZXNQcm9ncmVzcz0hMCl9LGluaXQ6ZnVuY3Rpb24oKXt0aGlzLnBhcmFtcy5wYXJhbGxheC5lbmFibGVkJiZ0aGlzLnBhcmFsbGF4LnNldFRyYW5zbGF0ZSgpfSxzZXRUcmFuc2xhdGU6ZnVuY3Rpb24oKXt0aGlzLnBhcmFtcy5wYXJhbGxheC5lbmFibGVkJiZ0aGlzLnBhcmFsbGF4LnNldFRyYW5zbGF0ZSgpfSxzZXRUcmFuc2l0aW9uOmZ1bmN0aW9uKGUpe3RoaXMucGFyYW1zLnBhcmFsbGF4LmVuYWJsZWQmJnRoaXMucGFyYWxsYXguc2V0VHJhbnNpdGlvbihlKX19fSx7bmFtZToiem9vbSIscGFyYW1zOnt6b29tOntlbmFibGVkOiExLG1heFJhdGlvOjMsbWluUmF0aW86MSx0b2dnbGU6ITAsY29udGFpbmVyQ2xhc3M6InN3aXBlci16b29tLWNvbnRhaW5lciIsem9vbWVkU2xpZGVDbGFzczoic3dpcGVyLXNsaWRlLXpvb21lZCJ9fSxjcmVhdGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9e2VuYWJsZWQ6ITEsc2NhbGU6MSxjdXJyZW50U2NhbGU6MSxpc1NjYWxpbmc6ITEsZ2VzdHVyZTp7JHNsaWRlRWw6dm9pZCAwLHNsaWRlV2lkdGg6dm9pZCAwLHNsaWRlSGVpZ2h0OnZvaWQgMCwkaW1hZ2VFbDp2b2lkIDAsJGltYWdlV3JhcEVsOnZvaWQgMCxtYXhSYXRpbzozfSxpbWFnZTp7aXNUb3VjaGVkOnZvaWQgMCxpc01vdmVkOnZvaWQgMCxjdXJyZW50WDp2b2lkIDAsY3VycmVudFk6dm9pZCAwLG1pblg6dm9pZCAwLG1pblk6dm9pZCAwLG1heFg6dm9pZCAwLG1heFk6dm9pZCAwLHdpZHRoOnZvaWQgMCxoZWlnaHQ6dm9pZCAwLHN0YXJ0WDp2b2lkIDAsc3RhcnRZOnZvaWQgMCx0b3VjaGVzU3RhcnQ6e30sdG91Y2hlc0N1cnJlbnQ6e319LHZlbG9jaXR5Ont4OnZvaWQgMCx5OnZvaWQgMCxwcmV2UG9zaXRpb25YOnZvaWQgMCxwcmV2UG9zaXRpb25ZOnZvaWQgMCxwcmV2VGltZTp2b2lkIDB9fTsib25HZXN0dXJlU3RhcnQgb25HZXN0dXJlQ2hhbmdlIG9uR2VzdHVyZUVuZCBvblRvdWNoU3RhcnQgb25Ub3VjaE1vdmUgb25Ub3VjaEVuZCBvblRyYW5zaXRpb25FbmQgdG9nZ2xlIGVuYWJsZSBkaXNhYmxlIGluIG91dCIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihpKXt0W2ldPWhlW2ldLmJpbmQoZSl9KSksZC5leHRlbmQoZSx7em9vbTp0fSk7dmFyIGk9MTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZS56b29tLCJzY2FsZSIse2dldDpmdW5jdGlvbigpe3JldHVybiBpfSxzZXQ6ZnVuY3Rpb24odCl7aWYoaSE9PXQpe3ZhciBzPWUuem9vbS5nZXN0dXJlLiRpbWFnZUVsP2Uuem9vbS5nZXN0dXJlLiRpbWFnZUVsWzBdOnZvaWQgMCxhPWUuem9vbS5nZXN0dXJlLiRzbGlkZUVsP2Uuem9vbS5nZXN0dXJlLiRzbGlkZUVsWzBdOnZvaWQgMDtlLmVtaXQoInpvb21DaGFuZ2UiLHQscyxhKX1pPXR9fSl9LG9uOntpbml0OmZ1bmN0aW9uKCl7dGhpcy5wYXJhbXMuem9vbS5lbmFibGVkJiZ0aGlzLnpvb20uZW5hYmxlKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnpvb20uZGlzYWJsZSgpfSx0b3VjaFN0YXJ0OmZ1bmN0aW9uKGUpe3RoaXMuem9vbS5lbmFibGVkJiZ0aGlzLnpvb20ub25Ub3VjaFN0YXJ0KGUpfSx0b3VjaEVuZDpmdW5jdGlvbihlKXt0aGlzLnpvb20uZW5hYmxlZCYmdGhpcy56b29tLm9uVG91Y2hFbmQoZSl9LGRvdWJsZVRhcDpmdW5jdGlvbihlKXt0aGlzLnBhcmFtcy56b29tLmVuYWJsZWQmJnRoaXMuem9vbS5lbmFibGVkJiZ0aGlzLnBhcmFtcy56b29tLnRvZ2dsZSYmdGhpcy56b29tLnRvZ2dsZShlKX0sdHJhbnNpdGlvbkVuZDpmdW5jdGlvbigpe3RoaXMuem9vbS5lbmFibGVkJiZ0aGlzLnBhcmFtcy56b29tLmVuYWJsZWQmJnRoaXMuem9vbS5vblRyYW5zaXRpb25FbmQoKX0sc2xpZGVDaGFuZ2U6ZnVuY3Rpb24oKXt0aGlzLnpvb20uZW5hYmxlZCYmdGhpcy5wYXJhbXMuem9vbS5lbmFibGVkJiZ0aGlzLnBhcmFtcy5jc3NNb2RlJiZ0aGlzLnpvb20ub25UcmFuc2l0aW9uRW5kKCl9fX0se25hbWU6ImxhenkiLHBhcmFtczp7bGF6eTp7ZW5hYmxlZDohMSxsb2FkUHJldk5leHQ6ITEsbG9hZFByZXZOZXh0QW1vdW50OjEsbG9hZE9uVHJhbnNpdGlvblN0YXJ0OiExLGVsZW1lbnRDbGFzczoic3dpcGVyLWxhenkiLGxvYWRpbmdDbGFzczoic3dpcGVyLWxhenktbG9hZGluZyIsbG9hZGVkQ2xhc3M6InN3aXBlci1sYXp5LWxvYWRlZCIscHJlbG9hZGVyQ2xhc3M6InN3aXBlci1sYXp5LXByZWxvYWRlciJ9fSxjcmVhdGU6ZnVuY3Rpb24oKXtkLmV4dGVuZCh0aGlzLHtsYXp5Ontpbml0aWFsSW1hZ2VMb2FkZWQ6ITEsbG9hZDpwZS5sb2FkLmJpbmQodGhpcyksbG9hZEluU2xpZGU6cGUubG9hZEluU2xpZGUuYmluZCh0aGlzKX19KX0sb246e2JlZm9yZUluaXQ6ZnVuY3Rpb24oKXt0aGlzLnBhcmFtcy5sYXp5LmVuYWJsZWQmJnRoaXMucGFyYW1zLnByZWxvYWRJbWFnZXMmJih0aGlzLnBhcmFtcy5wcmVsb2FkSW1hZ2VzPSExKX0saW5pdDpmdW5jdGlvbigpe3RoaXMucGFyYW1zLmxhenkuZW5hYmxlZCYmIXRoaXMucGFyYW1zLmxvb3AmJjA9PT10aGlzLnBhcmFtcy5pbml0aWFsU2xpZGUmJnRoaXMubGF6eS5sb2FkKCl9LHNjcm9sbDpmdW5jdGlvbigpe3RoaXMucGFyYW1zLmZyZWVNb2RlJiYhdGhpcy5wYXJhbXMuZnJlZU1vZGVTdGlja3kmJnRoaXMubGF6eS5sb2FkKCl9LHJlc2l6ZTpmdW5jdGlvbigpe3RoaXMucGFyYW1zLmxhenkuZW5hYmxlZCYmdGhpcy5sYXp5LmxvYWQoKX0sc2Nyb2xsYmFyRHJhZ01vdmU6ZnVuY3Rpb24oKXt0aGlzLnBhcmFtcy5sYXp5LmVuYWJsZWQmJnRoaXMubGF6eS5sb2FkKCl9LHRyYW5zaXRpb25TdGFydDpmdW5jdGlvbigpe3RoaXMucGFyYW1zLmxhenkuZW5hYmxlZCYmKHRoaXMucGFyYW1zLmxhenkubG9hZE9uVHJhbnNpdGlvblN0YXJ0fHwhdGhpcy5wYXJhbXMubGF6eS5sb2FkT25UcmFuc2l0aW9uU3RhcnQmJiF0aGlzLmxhenkuaW5pdGlhbEltYWdlTG9hZGVkKSYmdGhpcy5sYXp5LmxvYWQoKX0sdHJhbnNpdGlvbkVuZDpmdW5jdGlvbigpe3RoaXMucGFyYW1zLmxhenkuZW5hYmxlZCYmIXRoaXMucGFyYW1zLmxhenkubG9hZE9uVHJhbnNpdGlvblN0YXJ0JiZ0aGlzLmxhenkubG9hZCgpfSxzbGlkZUNoYW5nZTpmdW5jdGlvbigpe3RoaXMucGFyYW1zLmxhenkuZW5hYmxlZCYmdGhpcy5wYXJhbXMuY3NzTW9kZSYmdGhpcy5sYXp5LmxvYWQoKX19fSx7bmFtZToiY29udHJvbGxlciIscGFyYW1zOntjb250cm9sbGVyOntjb250cm9sOnZvaWQgMCxpbnZlcnNlOiExLGJ5OiJzbGlkZSJ9fSxjcmVhdGU6ZnVuY3Rpb24oKXtkLmV4dGVuZCh0aGlzLHtjb250cm9sbGVyOntjb250cm9sOnRoaXMucGFyYW1zLmNvbnRyb2xsZXIuY29udHJvbCxnZXRJbnRlcnBvbGF0ZUZ1bmN0aW9uOmNlLmdldEludGVycG9sYXRlRnVuY3Rpb24uYmluZCh0aGlzKSxzZXRUcmFuc2xhdGU6Y2Uuc2V0VHJhbnNsYXRlLmJpbmQodGhpcyksc2V0VHJhbnNpdGlvbjpjZS5zZXRUcmFuc2l0aW9uLmJpbmQodGhpcyl9fSl9LG9uOnt1cGRhdGU6ZnVuY3Rpb24oKXt0aGlzLmNvbnRyb2xsZXIuY29udHJvbCYmdGhpcy5jb250cm9sbGVyLnNwbGluZSYmKHRoaXMuY29udHJvbGxlci5zcGxpbmU9dm9pZCAwLGRlbGV0ZSB0aGlzLmNvbnRyb2xsZXIuc3BsaW5lKX0scmVzaXplOmZ1bmN0aW9uKCl7dGhpcy5jb250cm9sbGVyLmNvbnRyb2wmJnRoaXMuY29udHJvbGxlci5zcGxpbmUmJih0aGlzLmNvbnRyb2xsZXIuc3BsaW5lPXZvaWQgMCxkZWxldGUgdGhpcy5jb250cm9sbGVyLnNwbGluZSl9LG9ic2VydmVyVXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5jb250cm9sbGVyLmNvbnRyb2wmJnRoaXMuY29udHJvbGxlci5zcGxpbmUmJih0aGlzLmNvbnRyb2xsZXIuc3BsaW5lPXZvaWQgMCxkZWxldGUgdGhpcy5jb250cm9sbGVyLnNwbGluZSl9LHNldFRyYW5zbGF0ZTpmdW5jdGlvbihlLHQpe3RoaXMuY29udHJvbGxlci5jb250cm9sJiZ0aGlzLmNvbnRyb2xsZXIuc2V0VHJhbnNsYXRlKGUsdCl9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSx0KXt0aGlzLmNvbnRyb2xsZXIuY29udHJvbCYmdGhpcy5jb250cm9sbGVyLnNldFRyYW5zaXRpb24oZSx0KX19fSx7bmFtZToiYTExeSIscGFyYW1zOnthMTF5OntlbmFibGVkOiEwLG5vdGlmaWNhdGlvbkNsYXNzOiJzd2lwZXItbm90aWZpY2F0aW9uIixwcmV2U2xpZGVNZXNzYWdlOiJQcmV2aW91cyBzbGlkZSIsbmV4dFNsaWRlTWVzc2FnZToiTmV4dCBzbGlkZSIsZmlyc3RTbGlkZU1lc3NhZ2U6IlRoaXMgaXMgdGhlIGZpcnN0IHNsaWRlIixsYXN0U2xpZGVNZXNzYWdlOiJUaGlzIGlzIHRoZSBsYXN0IHNsaWRlIixwYWdpbmF0aW9uQnVsbGV0TWVzc2FnZToiR28gdG8gc2xpZGUge3tpbmRleH19In19LGNyZWF0ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXM7ZC5leHRlbmQoZSx7YTExeTp7bGl2ZVJlZ2lvbjpuKCc8c3BhbiBjbGFzcz0iJytlLnBhcmFtcy5hMTF5Lm5vdGlmaWNhdGlvbkNsYXNzKyciIGFyaWEtbGl2ZT0iYXNzZXJ0aXZlIiBhcmlhLWF0b21pYz0idHJ1ZSI+PC9zcGFuPicpfX0pLE9iamVjdC5rZXlzKHVlKS5mb3JFYWNoKChmdW5jdGlvbih0KXtlLmExMXlbdF09dWVbdF0uYmluZChlKX0pKX0sb246e2luaXQ6ZnVuY3Rpb24oKXt0aGlzLnBhcmFtcy5hMTF5LmVuYWJsZWQmJih0aGlzLmExMXkuaW5pdCgpLHRoaXMuYTExeS51cGRhdGVOYXZpZ2F0aW9uKCkpfSx0b0VkZ2U6ZnVuY3Rpb24oKXt0aGlzLnBhcmFtcy5hMTF5LmVuYWJsZWQmJnRoaXMuYTExeS51cGRhdGVOYXZpZ2F0aW9uKCl9LGZyb21FZGdlOmZ1bmN0aW9uKCl7dGhpcy5wYXJhbXMuYTExeS5lbmFibGVkJiZ0aGlzLmExMXkudXBkYXRlTmF2aWdhdGlvbigpfSxwYWdpbmF0aW9uVXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5wYXJhbXMuYTExeS5lbmFibGVkJiZ0aGlzLmExMXkudXBkYXRlUGFnaW5hdGlvbigpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5wYXJhbXMuYTExeS5lbmFibGVkJiZ0aGlzLmExMXkuZGVzdHJveSgpfX19LHtuYW1lOiJoaXN0b3J5IixwYXJhbXM6e2hpc3Rvcnk6e2VuYWJsZWQ6ITEscmVwbGFjZVN0YXRlOiExLGtleToic2xpZGVzIn19LGNyZWF0ZTpmdW5jdGlvbigpe2QuZXh0ZW5kKHRoaXMse2hpc3Rvcnk6e2luaXQ6dmUuaW5pdC5iaW5kKHRoaXMpLHNldEhpc3Rvcnk6dmUuc2V0SGlzdG9yeS5iaW5kKHRoaXMpLHNldEhpc3RvcnlQb3BTdGF0ZTp2ZS5zZXRIaXN0b3J5UG9wU3RhdGUuYmluZCh0aGlzKSxzY3JvbGxUb1NsaWRlOnZlLnNjcm9sbFRvU2xpZGUuYmluZCh0aGlzKSxkZXN0cm95OnZlLmRlc3Ryb3kuYmluZCh0aGlzKX19KX0sb246e2luaXQ6ZnVuY3Rpb24oKXt0aGlzLnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQmJnRoaXMuaGlzdG9yeS5pbml0KCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnBhcmFtcy5oaXN0b3J5LmVuYWJsZWQmJnRoaXMuaGlzdG9yeS5kZXN0cm95KCl9LHRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oKXt0aGlzLmhpc3RvcnkuaW5pdGlhbGl6ZWQmJnRoaXMuaGlzdG9yeS5zZXRIaXN0b3J5KHRoaXMucGFyYW1zLmhpc3Rvcnkua2V5LHRoaXMuYWN0aXZlSW5kZXgpfSxzbGlkZUNoYW5nZTpmdW5jdGlvbigpe3RoaXMuaGlzdG9yeS5pbml0aWFsaXplZCYmdGhpcy5wYXJhbXMuY3NzTW9kZSYmdGhpcy5oaXN0b3J5LnNldEhpc3RvcnkodGhpcy5wYXJhbXMuaGlzdG9yeS5rZXksdGhpcy5hY3RpdmVJbmRleCl9fX0se25hbWU6Imhhc2gtbmF2aWdhdGlvbiIscGFyYW1zOntoYXNoTmF2aWdhdGlvbjp7ZW5hYmxlZDohMSxyZXBsYWNlU3RhdGU6ITEsd2F0Y2hTdGF0ZTohMX19LGNyZWF0ZTpmdW5jdGlvbigpe2QuZXh0ZW5kKHRoaXMse2hhc2hOYXZpZ2F0aW9uOntpbml0aWFsaXplZDohMSxpbml0OmZlLmluaXQuYmluZCh0aGlzKSxkZXN0cm95OmZlLmRlc3Ryb3kuYmluZCh0aGlzKSxzZXRIYXNoOmZlLnNldEhhc2guYmluZCh0aGlzKSxvbkhhc2hDYW5nZTpmZS5vbkhhc2hDYW5nZS5iaW5kKHRoaXMpfX0pfSxvbjp7aW5pdDpmdW5jdGlvbigpe3RoaXMucGFyYW1zLmhhc2hOYXZpZ2F0aW9uLmVuYWJsZWQmJnRoaXMuaGFzaE5hdmlnYXRpb24uaW5pdCgpfSxkZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5wYXJhbXMuaGFzaE5hdmlnYXRpb24uZW5hYmxlZCYmdGhpcy5oYXNoTmF2aWdhdGlvbi5kZXN0cm95KCl9LHRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24oKXt0aGlzLmhhc2hOYXZpZ2F0aW9uLmluaXRpYWxpemVkJiZ0aGlzLmhhc2hOYXZpZ2F0aW9uLnNldEhhc2goKX0sc2xpZGVDaGFuZ2U6ZnVuY3Rpb24oKXt0aGlzLmhhc2hOYXZpZ2F0aW9uLmluaXRpYWxpemVkJiZ0aGlzLnBhcmFtcy5jc3NNb2RlJiZ0aGlzLmhhc2hOYXZpZ2F0aW9uLnNldEhhc2goKX19fSx7bmFtZToiYXV0b3BsYXkiLHBhcmFtczp7YXV0b3BsYXk6e2VuYWJsZWQ6ITEsZGVsYXk6M2UzLHdhaXRGb3JUcmFuc2l0aW9uOiEwLGRpc2FibGVPbkludGVyYWN0aW9uOiEwLHN0b3BPbkxhc3RTbGlkZTohMSxyZXZlcnNlRGlyZWN0aW9uOiExfX0sY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcztkLmV4dGVuZChlLHthdXRvcGxheTp7cnVubmluZzohMSxwYXVzZWQ6ITEscnVuOm1lLnJ1bi5iaW5kKGUpLHN0YXJ0Om1lLnN0YXJ0LmJpbmQoZSksc3RvcDptZS5zdG9wLmJpbmQoZSkscGF1c2U6bWUucGF1c2UuYmluZChlKSxvblZpc2liaWxpdHlDaGFuZ2U6ZnVuY3Rpb24oKXsiaGlkZGVuIj09PWRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSYmZS5hdXRvcGxheS5ydW5uaW5nJiZlLmF1dG9wbGF5LnBhdXNlKCksInZpc2libGUiPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlJiZlLmF1dG9wbGF5LnBhdXNlZCYmKGUuYXV0b3BsYXkucnVuKCksZS5hdXRvcGxheS5wYXVzZWQ9ITEpfSxvblRyYW5zaXRpb25FbmQ6ZnVuY3Rpb24odCl7ZSYmIWUuZGVzdHJveWVkJiZlLiR3cmFwcGVyRWwmJnQudGFyZ2V0PT09dGhpcyYmKGUuJHdyYXBwZXJFbFswXS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixlLmF1dG9wbGF5Lm9uVHJhbnNpdGlvbkVuZCksZS4kd3JhcHBlckVsWzBdLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLGUuYXV0b3BsYXkub25UcmFuc2l0aW9uRW5kKSxlLmF1dG9wbGF5LnBhdXNlZD0hMSxlLmF1dG9wbGF5LnJ1bm5pbmc/ZS5hdXRvcGxheS5ydW4oKTplLmF1dG9wbGF5LnN0b3AoKSl9fX0pfSxvbjp7aW5pdDpmdW5jdGlvbigpe3RoaXMucGFyYW1zLmF1dG9wbGF5LmVuYWJsZWQmJih0aGlzLmF1dG9wbGF5LnN0YXJ0KCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsdGhpcy5hdXRvcGxheS5vblZpc2liaWxpdHlDaGFuZ2UpKX0sYmVmb3JlVHJhbnNpdGlvblN0YXJ0OmZ1bmN0aW9uKGUsdCl7dGhpcy5hdXRvcGxheS5ydW5uaW5nJiYodHx8IXRoaXMucGFyYW1zLmF1dG9wbGF5LmRpc2FibGVPbkludGVyYWN0aW9uP3RoaXMuYXV0b3BsYXkucGF1c2UoZSk6dGhpcy5hdXRvcGxheS5zdG9wKCkpfSxzbGlkZXJGaXJzdE1vdmU6ZnVuY3Rpb24oKXt0aGlzLmF1dG9wbGF5LnJ1bm5pbmcmJih0aGlzLnBhcmFtcy5hdXRvcGxheS5kaXNhYmxlT25JbnRlcmFjdGlvbj90aGlzLmF1dG9wbGF5LnN0b3AoKTp0aGlzLmF1dG9wbGF5LnBhdXNlKCkpfSx0b3VjaEVuZDpmdW5jdGlvbigpe3RoaXMucGFyYW1zLmNzc01vZGUmJnRoaXMuYXV0b3BsYXkucGF1c2VkJiYhdGhpcy5wYXJhbXMuYXV0b3BsYXkuZGlzYWJsZU9uSW50ZXJhY3Rpb24mJnRoaXMuYXV0b3BsYXkucnVuKCl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmF1dG9wbGF5LnJ1bm5pbmcmJnRoaXMuYXV0b3BsYXkuc3RvcCgpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpc2liaWxpdHljaGFuZ2UiLHRoaXMuYXV0b3BsYXkub25WaXNpYmlsaXR5Q2hhbmdlKX19fSx7bmFtZToiZWZmZWN0LWZhZGUiLHBhcmFtczp7ZmFkZUVmZmVjdDp7Y3Jvc3NGYWRlOiExfX0sY3JlYXRlOmZ1bmN0aW9uKCl7ZC5leHRlbmQodGhpcyx7ZmFkZUVmZmVjdDp7c2V0VHJhbnNsYXRlOmdlLnNldFRyYW5zbGF0ZS5iaW5kKHRoaXMpLHNldFRyYW5zaXRpb246Z2Uuc2V0VHJhbnNpdGlvbi5iaW5kKHRoaXMpfX0pfSxvbjp7YmVmb3JlSW5pdDpmdW5jdGlvbigpe2lmKCJmYWRlIj09PXRoaXMucGFyYW1zLmVmZmVjdCl7dGhpcy5jbGFzc05hbWVzLnB1c2godGhpcy5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcysiZmFkZSIpO3ZhciBlPXtzbGlkZXNQZXJWaWV3OjEsc2xpZGVzUGVyQ29sdW1uOjEsc2xpZGVzUGVyR3JvdXA6MSx3YXRjaFNsaWRlc1Byb2dyZXNzOiEwLHNwYWNlQmV0d2VlbjowLHZpcnR1YWxUcmFuc2xhdGU6ITB9O2QuZXh0ZW5kKHRoaXMucGFyYW1zLGUpLGQuZXh0ZW5kKHRoaXMub3JpZ2luYWxQYXJhbXMsZSl9fSxzZXRUcmFuc2xhdGU6ZnVuY3Rpb24oKXsiZmFkZSI9PT10aGlzLnBhcmFtcy5lZmZlY3QmJnRoaXMuZmFkZUVmZmVjdC5zZXRUcmFuc2xhdGUoKX0sc2V0VHJhbnNpdGlvbjpmdW5jdGlvbihlKXsiZmFkZSI9PT10aGlzLnBhcmFtcy5lZmZlY3QmJnRoaXMuZmFkZUVmZmVjdC5zZXRUcmFuc2l0aW9uKGUpfX19LHtuYW1lOiJlZmZlY3QtY3ViZSIscGFyYW1zOntjdWJlRWZmZWN0OntzbGlkZVNoYWRvd3M6ITAsc2hhZG93OiEwLHNoYWRvd09mZnNldDoyMCxzaGFkb3dTY2FsZTouOTR9fSxjcmVhdGU6ZnVuY3Rpb24oKXtkLmV4dGVuZCh0aGlzLHtjdWJlRWZmZWN0OntzZXRUcmFuc2xhdGU6YmUuc2V0VHJhbnNsYXRlLmJpbmQodGhpcyksc2V0VHJhbnNpdGlvbjpiZS5zZXRUcmFuc2l0aW9uLmJpbmQodGhpcyl9fSl9LG9uOntiZWZvcmVJbml0OmZ1bmN0aW9uKCl7aWYoImN1YmUiPT09dGhpcy5wYXJhbXMuZWZmZWN0KXt0aGlzLmNsYXNzTmFtZXMucHVzaCh0aGlzLnBhcmFtcy5jb250YWluZXJNb2RpZmllckNsYXNzKyJjdWJlIiksdGhpcy5jbGFzc05hbWVzLnB1c2godGhpcy5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcysiM2QiKTt2YXIgZT17c2xpZGVzUGVyVmlldzoxLHNsaWRlc1BlckNvbHVtbjoxLHNsaWRlc1Blckdyb3VwOjEsd2F0Y2hTbGlkZXNQcm9ncmVzczohMCxyZXNpc3RhbmNlUmF0aW86MCxzcGFjZUJldHdlZW46MCxjZW50ZXJlZFNsaWRlczohMSx2aXJ0dWFsVHJhbnNsYXRlOiEwfTtkLmV4dGVuZCh0aGlzLnBhcmFtcyxlKSxkLmV4dGVuZCh0aGlzLm9yaWdpbmFsUGFyYW1zLGUpfX0sc2V0VHJhbnNsYXRlOmZ1bmN0aW9uKCl7ImN1YmUiPT09dGhpcy5wYXJhbXMuZWZmZWN0JiZ0aGlzLmN1YmVFZmZlY3Quc2V0VHJhbnNsYXRlKCl9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSl7ImN1YmUiPT09dGhpcy5wYXJhbXMuZWZmZWN0JiZ0aGlzLmN1YmVFZmZlY3Quc2V0VHJhbnNpdGlvbihlKX19fSx7bmFtZToiZWZmZWN0LWZsaXAiLHBhcmFtczp7ZmxpcEVmZmVjdDp7c2xpZGVTaGFkb3dzOiEwLGxpbWl0Um90YXRpb246ITB9fSxjcmVhdGU6ZnVuY3Rpb24oKXtkLmV4dGVuZCh0aGlzLHtmbGlwRWZmZWN0OntzZXRUcmFuc2xhdGU6d2Uuc2V0VHJhbnNsYXRlLmJpbmQodGhpcyksc2V0VHJhbnNpdGlvbjp3ZS5zZXRUcmFuc2l0aW9uLmJpbmQodGhpcyl9fSl9LG9uOntiZWZvcmVJbml0OmZ1bmN0aW9uKCl7aWYoImZsaXAiPT09dGhpcy5wYXJhbXMuZWZmZWN0KXt0aGlzLmNsYXNzTmFtZXMucHVzaCh0aGlzLnBhcmFtcy5jb250YWluZXJNb2RpZmllckNsYXNzKyJmbGlwIiksdGhpcy5jbGFzc05hbWVzLnB1c2godGhpcy5wYXJhbXMuY29udGFpbmVyTW9kaWZpZXJDbGFzcysiM2QiKTt2YXIgZT17c2xpZGVzUGVyVmlldzoxLHNsaWRlc1BlckNvbHVtbjoxLHNsaWRlc1Blckdyb3VwOjEsd2F0Y2hTbGlkZXNQcm9ncmVzczohMCxzcGFjZUJldHdlZW46MCx2aXJ0dWFsVHJhbnNsYXRlOiEwfTtkLmV4dGVuZCh0aGlzLnBhcmFtcyxlKSxkLmV4dGVuZCh0aGlzLm9yaWdpbmFsUGFyYW1zLGUpfX0sc2V0VHJhbnNsYXRlOmZ1bmN0aW9uKCl7ImZsaXAiPT09dGhpcy5wYXJhbXMuZWZmZWN0JiZ0aGlzLmZsaXBFZmZlY3Quc2V0VHJhbnNsYXRlKCl9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSl7ImZsaXAiPT09dGhpcy5wYXJhbXMuZWZmZWN0JiZ0aGlzLmZsaXBFZmZlY3Quc2V0VHJhbnNpdGlvbihlKX19fSx7bmFtZToiZWZmZWN0LWNvdmVyZmxvdyIscGFyYW1zOntjb3ZlcmZsb3dFZmZlY3Q6e3JvdGF0ZTo1MCxzdHJldGNoOjAsZGVwdGg6MTAwLHNjYWxlOjEsbW9kaWZpZXI6MSxzbGlkZVNoYWRvd3M6ITB9fSxjcmVhdGU6ZnVuY3Rpb24oKXtkLmV4dGVuZCh0aGlzLHtjb3ZlcmZsb3dFZmZlY3Q6e3NldFRyYW5zbGF0ZTp5ZS5zZXRUcmFuc2xhdGUuYmluZCh0aGlzKSxzZXRUcmFuc2l0aW9uOnllLnNldFRyYW5zaXRpb24uYmluZCh0aGlzKX19KX0sb246e2JlZm9yZUluaXQ6ZnVuY3Rpb24oKXsiY292ZXJmbG93Ij09PXRoaXMucGFyYW1zLmVmZmVjdCYmKHRoaXMuY2xhc3NOYW1lcy5wdXNoKHRoaXMucGFyYW1zLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MrImNvdmVyZmxvdyIpLHRoaXMuY2xhc3NOYW1lcy5wdXNoKHRoaXMucGFyYW1zLmNvbnRhaW5lck1vZGlmaWVyQ2xhc3MrIjNkIiksdGhpcy5wYXJhbXMud2F0Y2hTbGlkZXNQcm9ncmVzcz0hMCx0aGlzLm9yaWdpbmFsUGFyYW1zLndhdGNoU2xpZGVzUHJvZ3Jlc3M9ITApfSxzZXRUcmFuc2xhdGU6ZnVuY3Rpb24oKXsiY292ZXJmbG93Ij09PXRoaXMucGFyYW1zLmVmZmVjdCYmdGhpcy5jb3ZlcmZsb3dFZmZlY3Quc2V0VHJhbnNsYXRlKCl9LHNldFRyYW5zaXRpb246ZnVuY3Rpb24oZSl7ImNvdmVyZmxvdyI9PT10aGlzLnBhcmFtcy5lZmZlY3QmJnRoaXMuY292ZXJmbG93RWZmZWN0LnNldFRyYW5zaXRpb24oZSl9fX0se25hbWU6InRodW1icyIscGFyYW1zOnt0aHVtYnM6e3N3aXBlcjpudWxsLG11bHRpcGxlQWN0aXZlVGh1bWJzOiEwLGF1dG9TY3JvbGxPZmZzZXQ6MCxzbGlkZVRodW1iQWN0aXZlQ2xhc3M6InN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUiLHRodW1ic0NvbnRhaW5lckNsYXNzOiJzd2lwZXItY29udGFpbmVyLXRodW1icyJ9fSxjcmVhdGU6ZnVuY3Rpb24oKXtkLmV4dGVuZCh0aGlzLHt0aHVtYnM6e3N3aXBlcjpudWxsLGluaXQ6eGUuaW5pdC5iaW5kKHRoaXMpLHVwZGF0ZTp4ZS51cGRhdGUuYmluZCh0aGlzKSxvblRodW1iQ2xpY2s6eGUub25UaHVtYkNsaWNrLmJpbmQodGhpcyl9fSl9LG9uOntiZWZvcmVJbml0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5wYXJhbXMudGh1bWJzO2UmJmUuc3dpcGVyJiYodGhpcy50aHVtYnMuaW5pdCgpLHRoaXMudGh1bWJzLnVwZGF0ZSghMCkpfSxzbGlkZUNoYW5nZTpmdW5jdGlvbigpe3RoaXMudGh1bWJzLnN3aXBlciYmdGhpcy50aHVtYnMudXBkYXRlKCl9LHVwZGF0ZTpmdW5jdGlvbigpe3RoaXMudGh1bWJzLnN3aXBlciYmdGhpcy50aHVtYnMudXBkYXRlKCl9LHJlc2l6ZTpmdW5jdGlvbigpe3RoaXMudGh1bWJzLnN3aXBlciYmdGhpcy50aHVtYnMudXBkYXRlKCl9LG9ic2VydmVyVXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy50aHVtYnMuc3dpcGVyJiZ0aGlzLnRodW1icy51cGRhdGUoKX0sc2V0VHJhbnNpdGlvbjpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnRodW1icy5zd2lwZXI7dCYmdC5zZXRUcmFuc2l0aW9uKGUpfSxiZWZvcmVEZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy50aHVtYnMuc3dpcGVyO2UmJnRoaXMudGh1bWJzLnN3aXBlckNyZWF0ZWQmJmUmJmUuZGVzdHJveSgpfX19XTtyZXR1cm4gdm9pZCAwPT09ai51c2UmJihqLnVzZT1qLkNsYXNzLnVzZSxqLmluc3RhbGxNb2R1bGU9ai5DbGFzcy5pbnN0YWxsTW9kdWxlKSxqLnVzZShFZSksan0pKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3dpcGVyLm1pbi5qcy5tYXAKCi8qCmpRdWVyeSBjb3VudFRvClBsdWdpbiBVUkk6IGh0dHBzOi8vZ2l0aHViLmNvbS9taHVnZ2lucy9qcXVlcnktY291bnRUbwpMaWNlbnNlOiBNSVQgTGljZW5zZSAoTUlUKQoqLwohZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24obyxpKXt0aGlzLiRlbGVtZW50PXQobyksdGhpcy5vcHRpb25zPXQuZXh0ZW5kKHt9LGUuREVGQVVMVFMsdGhpcy5kYXRhT3B0aW9ucygpLGkpLHRoaXMuaW5pdCgpfTtlLkRFRkFVTFRTPXtmcm9tOjAsdG86MCxzcGVlZDoxZTMscmVmcmVzaEludGVydmFsOjEwMCxkZWNpbWFsczowLGZvcm1hdHRlcjpmdW5jdGlvbih0LGUpe3JldHVybiB0LnRvRml4ZWQoZS5kZWNpbWFscyl9LG9uVXBkYXRlOm51bGwsb25Db21wbGV0ZTpudWxsfSxlLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLm9wdGlvbnMuZnJvbSx0aGlzLmxvb3BzPU1hdGguY2VpbCh0aGlzLm9wdGlvbnMuc3BlZWQvdGhpcy5vcHRpb25zLnJlZnJlc2hJbnRlcnZhbCksdGhpcy5sb29wQ291bnQ9MCx0aGlzLmluY3JlbWVudD0odGhpcy5vcHRpb25zLnRvLXRoaXMub3B0aW9ucy5mcm9tKS90aGlzLmxvb3BzfSxlLnByb3RvdHlwZS5kYXRhT3B0aW9ucz1mdW5jdGlvbigpe3ZhciB0PXtmcm9tOnRoaXMuJGVsZW1lbnQuZGF0YSgiZnJvbSIpLHRvOnRoaXMuJGVsZW1lbnQuZGF0YSgidG8iKSxzcGVlZDp0aGlzLiRlbGVtZW50LmRhdGEoInNwZWVkIikscmVmcmVzaEludGVydmFsOnRoaXMuJGVsZW1lbnQuZGF0YSgicmVmcmVzaC1pbnRlcnZhbCIpLGRlY2ltYWxzOnRoaXMuJGVsZW1lbnQuZGF0YSgiZGVjaW1hbHMiKX0sZT1PYmplY3Qua2V5cyh0KTtmb3IodmFyIG8gaW4gZSl7dmFyIGk9ZVtvXTt2b2lkIDA9PT10W2ldJiZkZWxldGUgdFtpXX1yZXR1cm4gdH0sZS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy52YWx1ZSs9dGhpcy5pbmNyZW1lbnQsdGhpcy5sb29wQ291bnQrKyx0aGlzLnJlbmRlcigpLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9wdGlvbnMub25VcGRhdGUmJnRoaXMub3B0aW9ucy5vblVwZGF0ZS5jYWxsKHRoaXMuJGVsZW1lbnQsdGhpcy52YWx1ZSksdGhpcy5sb29wQ291bnQ+PXRoaXMubG9vcHMmJihjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXMudmFsdWU9dGhpcy5vcHRpb25zLnRvLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9wdGlvbnMub25Db21wbGV0ZSYmdGhpcy5vcHRpb25zLm9uQ29tcGxldGUuY2FsbCh0aGlzLiRlbGVtZW50LHRoaXMudmFsdWUpKX0sZS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLmZvcm1hdHRlci5jYWxsKHRoaXMuJGVsZW1lbnQsdGhpcy52YWx1ZSx0aGlzLm9wdGlvbnMpO3RoaXMuJGVsZW1lbnQudGV4dCh0KX0sZS5wcm90b3R5cGUucmVzdGFydD1mdW5jdGlvbigpe3RoaXMuc3RvcCgpLHRoaXMuaW5pdCgpLHRoaXMuc3RhcnQoKX0sZS5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKSx0aGlzLnJlbmRlcigpLHRoaXMuaW50ZXJ2YWw9c2V0SW50ZXJ2YWwodGhpcy51cGRhdGUuYmluZCh0aGlzKSx0aGlzLm9wdGlvbnMucmVmcmVzaEludGVydmFsKX0sZS5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuaW50ZXJ2YWwmJmNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCl9LGUucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbigpe3RoaXMuaW50ZXJ2YWw/dGhpcy5zdG9wKCk6dGhpcy5zdGFydCgpfSx0LmZuLmNvdW50VG89ZnVuY3Rpb24obyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPXQodGhpcykscz1pLmRhdGEoImNvdW50VG8iKSxuPSJvYmplY3QiPT10eXBlb2Ygbz9vOnt9LHI9InN0cmluZyI9PXR5cGVvZiBvP286InN0YXJ0IjsoIXN8fCJvYmplY3QiPT10eXBlb2YgbykmJihzJiZzLnN0b3AoKSxpLmRhdGEoImNvdW50VG8iLHM9bmV3IGUodGhpcyxuKSkpLHNbcl0uY2FsbChzKX0pfX0oalF1ZXJ5KTsKCi8qCmpRdWVyeSBhcHBlYXIKVmVyc2lvbjogMC40ClBsdWdpbiBVUkk6IGh0dHBzOi8vZ2l0aHViLmNvbS9tb3JyL2pxdWVyeS5hcHBlYXIvCkxpY2Vuc2U6IENvcHlyaWdodCAoYykgMjAxMiBBbmRyZXkgU2lkb3JvdiB8IFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZQoqLwohZnVuY3Rpb24oZSl7dmFyIHI9W10sdD0hMSxuPSExLGk9e2ludGVydmFsOjI1MCxmb3JjZV9wcm9jZXNzOiExfSxhPWUod2luZG93KSxvPVtdO2Z1bmN0aW9uIHAoKXtuPSExO2Zvcih2YXIgdD0wLGk9ci5sZW5ndGg7dDxpO3QrKyl7dmFyIGE9KGY9clt0XSxlKGYpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLmlzKCI6YXBwZWFyZWQiKX0pKTtpZihhLnRyaWdnZXIoImFwcGVhciIsW2FdKSxvW3RdKXt2YXIgcD1vW3RdLm5vdChhKTtwLnRyaWdnZXIoImRpc2FwcGVhciIsW3BdKX1vW3RdPWF9dmFyIGZ9ZS5leHByLnBzZXVkb3MuYXBwZWFyZWQ9ZS5leHByLmNyZWF0ZVBzZXVkbyhmdW5jdGlvbihyKXtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIHQ9ZShyKTtpZighdC5pcygiOnZpc2libGUiKSlyZXR1cm4hMTt2YXIgbj1hLnNjcm9sbExlZnQoKSxpPWEuc2Nyb2xsVG9wKCksbz10Lm9mZnNldCgpLHA9by5sZWZ0LGY9by50b3A7cmV0dXJuIGYrdC5oZWlnaHQoKT49aSYmZi0odC5kYXRhKCJhcHBlYXItdG9wLW9mZnNldCIpfHwwKTw9aSthLmhlaWdodCgpJiZwK3Qud2lkdGgoKT49biYmcC0odC5kYXRhKCJhcHBlYXItbGVmdC1vZmZzZXQiKXx8MCk8PW4rYS53aWR0aCgpfX0pLGUuZm4uZXh0ZW5kKHthcHBlYXI6ZnVuY3Rpb24ocix0KXtyZXR1cm4gZS5hcHBlYXIodGhpcyx0KSx0aGlzfX0pLGUuZXh0ZW5kKHthcHBlYXI6ZnVuY3Rpb24oYSxmKXt2YXIgdT1lLmV4dGVuZCh7fSxpLGZ8fHt9KTtpZighdCl7dmFyIHM9ZnVuY3Rpb24oKXtufHwobj0hMCxzZXRUaW1lb3V0KHAsdS5pbnRlcnZhbCkpfTtlKHdpbmRvdykuc2Nyb2xsKHMpLnJlc2l6ZShzKSx0PSEwfXUuZm9yY2VfcHJvY2VzcyYmc2V0VGltZW91dChwLHUuaW50ZXJ2YWwpLGZ1bmN0aW9uKGUpe3IucHVzaChlKSxvLnB1c2goKX0oYSl9LGZvcmNlX2FwcGVhcjpmdW5jdGlvbigpe3JldHVybiEhdCYmKHAoKSwhMCl9fSl9KCJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP3JlcXVpcmUoImpxdWVyeSIpOmpRdWVyeSk7CgovKgpNYWduaWZpYyBwb3B1cApWZXJzaW9uOiAxLjEuMCAtIDIwMTYtMDItMjAKUGx1Z2luIFVSSTogaHR0cDovL2RpbXNlbWVub3YuY29tL3BsdWdpbnMvbWFnbmlmaWMtcG9wdXAvCkxpY2Vuc2U6IENvcHlyaWdodCAoYykgMjAxNiBEbWl0cnkgU2VtZW5vdjsKKi8KIWZ1bmN0aW9uKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYSk6YSgib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/cmVxdWlyZSgianF1ZXJ5Iik6d2luZG93LmpRdWVyeXx8d2luZG93LlplcHRvKX0oZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9IkNsb3NlIixpPSJCZWZvcmVDbG9zZSIsaj0iQWZ0ZXJDbG9zZSIsaz0iQmVmb3JlQXBwZW5kIixsPSJNYXJrdXBQYXJzZSIsbT0iT3BlbiIsbj0iQ2hhbmdlIixvPSJtZnAiLHA9Ii4iK28scT0ibWZwLXJlYWR5IixyPSJtZnAtcmVtb3ZpbmciLHM9Im1mcC1wcmV2ZW50LWNsb3NlIix0PWZ1bmN0aW9uKCl7fSx1PSEhd2luZG93LmpRdWVyeSx2PWEod2luZG93KSx3PWZ1bmN0aW9uKGEsYyl7Yi5ldi5vbihvK2ErcCxjKX0seD1mdW5jdGlvbihiLGMsZCxlKXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZi5jbGFzc05hbWU9Im1mcC0iK2IsZCYmKGYuaW5uZXJIVE1MPWQpLGU/YyYmYy5hcHBlbmRDaGlsZChmKTooZj1hKGYpLGMmJmYuYXBwZW5kVG8oYykpLGZ9LHk9ZnVuY3Rpb24oYyxkKXtiLmV2LnRyaWdnZXJIYW5kbGVyKG8rYyxkKSxiLnN0LmNhbGxiYWNrcyYmKGM9Yy5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKStjLnNsaWNlKDEpLGIuc3QuY2FsbGJhY2tzW2NdJiZiLnN0LmNhbGxiYWNrc1tjXS5hcHBseShiLGEuaXNBcnJheShkKT9kOltkXSkpfSx6PWZ1bmN0aW9uKGMpe3JldHVybiBjPT09ZyYmYi5jdXJyVGVtcGxhdGUuY2xvc2VCdG58fChiLmN1cnJUZW1wbGF0ZS5jbG9zZUJ0bj1hKGIuc3QuY2xvc2VNYXJrdXAucmVwbGFjZSgiJXRpdGxlJSIsYi5zdC50Q2xvc2UpKSxnPWMpLGIuY3VyclRlbXBsYXRlLmNsb3NlQnRufSxBPWZ1bmN0aW9uKCl7YS5tYWduaWZpY1BvcHVwLmluc3RhbmNlfHwoYj1uZXcgdCxiLmluaXQoKSxhLm1hZ25pZmljUG9wdXAuaW5zdGFuY2U9Yil9LEI9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIikuc3R5bGUsYj1bIm1zIiwiTyIsIk1veiIsIldlYmtpdCJdO2lmKHZvaWQgMCE9PWEudHJhbnNpdGlvbilyZXR1cm4hMDtmb3IoO2IubGVuZ3RoOylpZihiLnBvcCgpKyJUcmFuc2l0aW9uImluIGEpcmV0dXJuITA7cmV0dXJuITF9O3QucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0LGluaXQ6ZnVuY3Rpb24oKXt2YXIgYz1uYXZpZ2F0b3IuYXBwVmVyc2lvbjtiLmlzTG93SUU9Yi5pc0lFOD1kb2N1bWVudC5hbGwmJiFkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyLGIuaXNBbmRyb2lkPS9hbmRyb2lkL2dpLnRlc3QoYyksYi5pc0lPUz0vaXBob25lfGlwYWR8aXBvZC9naS50ZXN0KGMpLGIuc3VwcG9ydHNUcmFuc2l0aW9uPUIoKSxiLnByb2JhYmx5TW9iaWxlPWIuaXNBbmRyb2lkfHxiLmlzSU9TfHwvKE9wZXJhIE1pbmkpfEtpbmRsZXx3ZWJPU3xCbGFja0JlcnJ5fChPcGVyYSBNb2JpKXwoV2luZG93cyBQaG9uZSl8SUVNb2JpbGUvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGQ9YShkb2N1bWVudCksYi5wb3B1cHNDYWNoZT17fX0sb3BlbjpmdW5jdGlvbihjKXt2YXIgZTtpZihjLmlzT2JqPT09ITEpe2IuaXRlbXM9Yy5pdGVtcy50b0FycmF5KCksYi5pbmRleD0wO3ZhciBnLGg9Yy5pdGVtcztmb3IoZT0wO2U8aC5sZW5ndGg7ZSsrKWlmKGc9aFtlXSxnLnBhcnNlZCYmKGc9Zy5lbFswXSksZz09PWMuZWxbMF0pe2IuaW5kZXg9ZTticmVha319ZWxzZSBiLml0ZW1zPWEuaXNBcnJheShjLml0ZW1zKT9jLml0ZW1zOltjLml0ZW1zXSxiLmluZGV4PWMuaW5kZXh8fDA7aWYoYi5pc09wZW4pcmV0dXJuIHZvaWQgYi51cGRhdGVJdGVtSFRNTCgpO2IudHlwZXM9W10sZj0iIixjLm1haW5FbCYmYy5tYWluRWwubGVuZ3RoP2IuZXY9Yy5tYWluRWwuZXEoMCk6Yi5ldj1kLGMua2V5PyhiLnBvcHVwc0NhY2hlW2Mua2V5XXx8KGIucG9wdXBzQ2FjaGVbYy5rZXldPXt9KSxiLmN1cnJUZW1wbGF0ZT1iLnBvcHVwc0NhY2hlW2Mua2V5XSk6Yi5jdXJyVGVtcGxhdGU9e30sYi5zdD1hLmV4dGVuZCghMCx7fSxhLm1hZ25pZmljUG9wdXAuZGVmYXVsdHMsYyksYi5maXhlZENvbnRlbnRQb3M9ImF1dG8iPT09Yi5zdC5maXhlZENvbnRlbnRQb3M/IWIucHJvYmFibHlNb2JpbGU6Yi5zdC5maXhlZENvbnRlbnRQb3MsYi5zdC5tb2RhbCYmKGIuc3QuY2xvc2VPbkNvbnRlbnRDbGljaz0hMSxiLnN0LmNsb3NlT25CZ0NsaWNrPSExLGIuc3Quc2hvd0Nsb3NlQnRuPSExLGIuc3QuZW5hYmxlRXNjYXBlS2V5PSExKSxiLmJnT3ZlcmxheXx8KGIuYmdPdmVybGF5PXgoImJnIikub24oImNsaWNrIitwLGZ1bmN0aW9uKCl7Yi5jbG9zZSgpfSksYi53cmFwPXgoIndyYXAiKS5hdHRyKCJ0YWJpbmRleCIsLTEpLm9uKCJjbGljayIrcCxmdW5jdGlvbihhKXtiLl9jaGVja0lmQ2xvc2UoYS50YXJnZXQpJiZiLmNsb3NlKCl9KSxiLmNvbnRhaW5lcj14KCJjb250YWluZXIiLGIud3JhcCkpLGIuY29udGVudENvbnRhaW5lcj14KCJjb250ZW50IiksYi5zdC5wcmVsb2FkZXImJihiLnByZWxvYWRlcj14KCJwcmVsb2FkZXIiLGIuY29udGFpbmVyLGIuc3QudExvYWRpbmcpKTt2YXIgaT1hLm1hZ25pZmljUG9wdXAubW9kdWxlcztmb3IoZT0wO2U8aS5sZW5ndGg7ZSsrKXt2YXIgaj1pW2VdO2o9ai5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStqLnNsaWNlKDEpLGJbImluaXQiK2pdLmNhbGwoYil9eSgiQmVmb3JlT3BlbiIpLGIuc3Quc2hvd0Nsb3NlQnRuJiYoYi5zdC5jbG9zZUJ0bkluc2lkZT8odyhsLGZ1bmN0aW9uKGEsYixjLGQpe2MuY2xvc2VfcmVwbGFjZVdpdGg9eihkLnR5cGUpfSksZis9IiBtZnAtY2xvc2UtYnRuLWluIik6Yi53cmFwLmFwcGVuZCh6KCkpKSxiLnN0LmFsaWduVG9wJiYoZis9IiBtZnAtYWxpZ24tdG9wIiksYi5maXhlZENvbnRlbnRQb3M/Yi53cmFwLmNzcyh7b3ZlcmZsb3c6Yi5zdC5vdmVyZmxvd1ksb3ZlcmZsb3dYOiJoaWRkZW4iLG92ZXJmbG93WTpiLnN0Lm92ZXJmbG93WX0pOmIud3JhcC5jc3Moe3RvcDp2LnNjcm9sbFRvcCgpLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KSwoYi5zdC5maXhlZEJnUG9zPT09ITF8fCJhdXRvIj09PWIuc3QuZml4ZWRCZ1BvcyYmIWIuZml4ZWRDb250ZW50UG9zKSYmYi5iZ092ZXJsYXkuY3NzKHtoZWlnaHQ6ZC5oZWlnaHQoKSxwb3NpdGlvbjoiYWJzb2x1dGUifSksYi5zdC5lbmFibGVFc2NhcGVLZXkmJmQub24oImtleXVwIitwLGZ1bmN0aW9uKGEpezI3PT09YS5rZXlDb2RlJiZiLmNsb3NlKCl9KSx2Lm9uKCJyZXNpemUiK3AsZnVuY3Rpb24oKXtiLnVwZGF0ZVNpemUoKX0pLGIuc3QuY2xvc2VPbkNvbnRlbnRDbGlja3x8KGYrPSIgbWZwLWF1dG8tY3Vyc29yIiksZiYmYi53cmFwLmFkZENsYXNzKGYpO3ZhciBrPWIud0g9di5oZWlnaHQoKSxuPXt9O2lmKGIuZml4ZWRDb250ZW50UG9zJiZiLl9oYXNTY3JvbGxCYXIoaykpe3ZhciBvPWIuX2dldFNjcm9sbGJhclNpemUoKTtvJiYobi5tYXJnaW5SaWdodD1vKX1iLmZpeGVkQ29udGVudFBvcyYmKGIuaXNJRTc/YSgiYm9keSwgaHRtbCIpLmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKTpuLm92ZXJmbG93PSJoaWRkZW4iKTt2YXIgcj1iLnN0Lm1haW5DbGFzcztyZXR1cm4gYi5pc0lFNyYmKHIrPSIgbWZwLWllNyIpLHImJmIuX2FkZENsYXNzVG9NRlAociksYi51cGRhdGVJdGVtSFRNTCgpLHkoIkJ1aWxkQ29udHJvbHMiKSxhKCJodG1sIikuY3NzKG4pLGIuYmdPdmVybGF5LmFkZChiLndyYXApLnByZXBlbmRUbyhiLnN0LnByZXBlbmRUb3x8YShkb2N1bWVudC5ib2R5KSksYi5fbGFzdEZvY3VzZWRFbD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmNvbnRlbnQ/KGIuX2FkZENsYXNzVG9NRlAocSksYi5fc2V0Rm9jdXMoKSk6Yi5iZ092ZXJsYXkuYWRkQ2xhc3MocSksZC5vbigiZm9jdXNpbiIrcCxiLl9vbkZvY3VzSW4pfSwxNiksYi5pc09wZW49ITAsYi51cGRhdGVTaXplKGspLHkobSksY30sY2xvc2U6ZnVuY3Rpb24oKXtiLmlzT3BlbiYmKHkoaSksYi5pc09wZW49ITEsYi5zdC5yZW1vdmFsRGVsYXkmJiFiLmlzTG93SUUmJmIuc3VwcG9ydHNUcmFuc2l0aW9uPyhiLl9hZGRDbGFzc1RvTUZQKHIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLl9jbG9zZSgpfSxiLnN0LnJlbW92YWxEZWxheSkpOmIuX2Nsb3NlKCkpfSxfY2xvc2U6ZnVuY3Rpb24oKXt5KGgpO3ZhciBjPXIrIiAiK3ErIiAiO2lmKGIuYmdPdmVybGF5LmRldGFjaCgpLGIud3JhcC5kZXRhY2goKSxiLmNvbnRhaW5lci5lbXB0eSgpLGIuc3QubWFpbkNsYXNzJiYoYys9Yi5zdC5tYWluQ2xhc3MrIiAiKSxiLl9yZW1vdmVDbGFzc0Zyb21NRlAoYyksYi5maXhlZENvbnRlbnRQb3Mpe3ZhciBlPXttYXJnaW5SaWdodDoiIn07Yi5pc0lFNz9hKCJib2R5LCBodG1sIikuY3NzKCJvdmVyZmxvdyIsIiIpOmUub3ZlcmZsb3c9IiIsYSgiaHRtbCIpLmNzcyhlKX1kLm9mZigia2V5dXAiK3ArIiBmb2N1c2luIitwKSxiLmV2Lm9mZihwKSxiLndyYXAuYXR0cigiY2xhc3MiLCJtZnAtd3JhcCIpLnJlbW92ZUF0dHIoInN0eWxlIiksYi5iZ092ZXJsYXkuYXR0cigiY2xhc3MiLCJtZnAtYmciKSxiLmNvbnRhaW5lci5hdHRyKCJjbGFzcyIsIm1mcC1jb250YWluZXIiKSwhYi5zdC5zaG93Q2xvc2VCdG58fGIuc3QuY2xvc2VCdG5JbnNpZGUmJmIuY3VyclRlbXBsYXRlW2IuY3Vyckl0ZW0udHlwZV0hPT0hMHx8Yi5jdXJyVGVtcGxhdGUuY2xvc2VCdG4mJmIuY3VyclRlbXBsYXRlLmNsb3NlQnRuLmRldGFjaCgpLGIuc3QuYXV0b0ZvY3VzTGFzdCYmYi5fbGFzdEZvY3VzZWRFbCYmYShiLl9sYXN0Rm9jdXNlZEVsKS5mb2N1cygpLGIuY3Vyckl0ZW09bnVsbCxiLmNvbnRlbnQ9bnVsbCxiLmN1cnJUZW1wbGF0ZT1udWxsLGIucHJldkhlaWdodD0wLHkoail9LHVwZGF0ZVNpemU6ZnVuY3Rpb24oYSl7aWYoYi5pc0lPUyl7dmFyIGM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoL3dpbmRvdy5pbm5lcldpZHRoLGQ9d2luZG93LmlubmVySGVpZ2h0KmM7Yi53cmFwLmNzcygiaGVpZ2h0IixkKSxiLndIPWR9ZWxzZSBiLndIPWF8fHYuaGVpZ2h0KCk7Yi5maXhlZENvbnRlbnRQb3N8fGIud3JhcC5jc3MoImhlaWdodCIsYi53SCkseSgiUmVzaXplIil9LHVwZGF0ZUl0ZW1IVE1MOmZ1bmN0aW9uKCl7dmFyIGM9Yi5pdGVtc1tiLmluZGV4XTtiLmNvbnRlbnRDb250YWluZXIuZGV0YWNoKCksYi5jb250ZW50JiZiLmNvbnRlbnQuZGV0YWNoKCksYy5wYXJzZWR8fChjPWIucGFyc2VFbChiLmluZGV4KSk7dmFyIGQ9Yy50eXBlO2lmKHkoIkJlZm9yZUNoYW5nZSIsW2IuY3Vyckl0ZW0/Yi5jdXJySXRlbS50eXBlOiIiLGRdKSxiLmN1cnJJdGVtPWMsIWIuY3VyclRlbXBsYXRlW2RdKXt2YXIgZj1iLnN0W2RdP2Iuc3RbZF0ubWFya3VwOiExO3koIkZpcnN0TWFya3VwUGFyc2UiLGYpLGY/Yi5jdXJyVGVtcGxhdGVbZF09YShmKTpiLmN1cnJUZW1wbGF0ZVtkXT0hMH1lJiZlIT09Yy50eXBlJiZiLmNvbnRhaW5lci5yZW1vdmVDbGFzcygibWZwLSIrZSsiLWhvbGRlciIpO3ZhciBnPWJbImdldCIrZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStkLnNsaWNlKDEpXShjLGIuY3VyclRlbXBsYXRlW2RdKTtiLmFwcGVuZENvbnRlbnQoZyxkKSxjLnByZWxvYWRlZD0hMCx5KG4sYyksZT1jLnR5cGUsYi5jb250YWluZXIucHJlcGVuZChiLmNvbnRlbnRDb250YWluZXIpLHkoIkFmdGVyQ2hhbmdlIil9LGFwcGVuZENvbnRlbnQ6ZnVuY3Rpb24oYSxjKXtiLmNvbnRlbnQ9YSxhP2Iuc3Quc2hvd0Nsb3NlQnRuJiZiLnN0LmNsb3NlQnRuSW5zaWRlJiZiLmN1cnJUZW1wbGF0ZVtjXT09PSEwP2IuY29udGVudC5maW5kKCIubWZwLWNsb3NlIikubGVuZ3RofHxiLmNvbnRlbnQuYXBwZW5kKHooKSk6Yi5jb250ZW50PWE6Yi5jb250ZW50PSIiLHkoayksYi5jb250YWluZXIuYWRkQ2xhc3MoIm1mcC0iK2MrIi1ob2xkZXIiKSxiLmNvbnRlbnRDb250YWluZXIuYXBwZW5kKGIuY29udGVudCl9LHBhcnNlRWw6ZnVuY3Rpb24oYyl7dmFyIGQsZT1iLml0ZW1zW2NdO2lmKGUudGFnTmFtZT9lPXtlbDphKGUpfTooZD1lLnR5cGUsZT17ZGF0YTplLHNyYzplLnNyY30pLGUuZWwpe2Zvcih2YXIgZj1iLnR5cGVzLGc9MDtnPGYubGVuZ3RoO2crKylpZihlLmVsLmhhc0NsYXNzKCJtZnAtIitmW2ddKSl7ZD1mW2ddO2JyZWFrfWUuc3JjPWUuZWwuYXR0cigiZGF0YS1tZnAtc3JjIiksZS5zcmN8fChlLnNyYz1lLmVsLmF0dHIoImhyZWYiKSl9cmV0dXJuIGUudHlwZT1kfHxiLnN0LnR5cGV8fCJpbmxpbmUiLGUuaW5kZXg9YyxlLnBhcnNlZD0hMCxiLml0ZW1zW2NdPWUseSgiRWxlbWVudFBhcnNlIixlKSxiLml0ZW1zW2NdfSxhZGRHcm91cDpmdW5jdGlvbihhLGMpe3ZhciBkPWZ1bmN0aW9uKGQpe2QubWZwRWw9dGhpcyxiLl9vcGVuQ2xpY2soZCxhLGMpfTtjfHwoYz17fSk7dmFyIGU9ImNsaWNrLm1hZ25pZmljUG9wdXAiO2MubWFpbkVsPWEsYy5pdGVtcz8oYy5pc09iaj0hMCxhLm9mZihlKS5vbihlLGQpKTooYy5pc09iaj0hMSxjLmRlbGVnYXRlP2Eub2ZmKGUpLm9uKGUsYy5kZWxlZ2F0ZSxkKTooYy5pdGVtcz1hLGEub2ZmKGUpLm9uKGUsZCkpKX0sX29wZW5DbGljazpmdW5jdGlvbihjLGQsZSl7dmFyIGY9dm9pZCAwIT09ZS5taWRDbGljaz9lLm1pZENsaWNrOmEubWFnbmlmaWNQb3B1cC5kZWZhdWx0cy5taWRDbGljaztpZihmfHwhKDI9PT1jLndoaWNofHxjLmN0cmxLZXl8fGMubWV0YUtleXx8Yy5hbHRLZXl8fGMuc2hpZnRLZXkpKXt2YXIgZz12b2lkIDAhPT1lLmRpc2FibGVPbj9lLmRpc2FibGVPbjphLm1hZ25pZmljUG9wdXAuZGVmYXVsdHMuZGlzYWJsZU9uO2lmKGcpaWYoYS5pc0Z1bmN0aW9uKGcpKXtpZighZy5jYWxsKGIpKXJldHVybiEwfWVsc2UgaWYodi53aWR0aCgpPGcpcmV0dXJuITA7Yy50eXBlJiYoYy5wcmV2ZW50RGVmYXVsdCgpLGIuaXNPcGVuJiZjLnN0b3BQcm9wYWdhdGlvbigpKSxlLmVsPWEoYy5tZnBFbCksZS5kZWxlZ2F0ZSYmKGUuaXRlbXM9ZC5maW5kKGUuZGVsZWdhdGUpKSxiLm9wZW4oZSl9fSx1cGRhdGVTdGF0dXM6ZnVuY3Rpb24oYSxkKXtpZihiLnByZWxvYWRlcil7YyE9PWEmJmIuY29udGFpbmVyLnJlbW92ZUNsYXNzKCJtZnAtcy0iK2MpLGR8fCJsb2FkaW5nIiE9PWF8fChkPWIuc3QudExvYWRpbmcpO3ZhciBlPXtzdGF0dXM6YSx0ZXh0OmR9O3koIlVwZGF0ZVN0YXR1cyIsZSksYT1lLnN0YXR1cyxkPWUudGV4dCxiLnByZWxvYWRlci5odG1sKGQpLGIucHJlbG9hZGVyLmZpbmQoImEiKS5vbigiY2xpY2siLGZ1bmN0aW9uKGEpe2Euc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9KSxiLmNvbnRhaW5lci5hZGRDbGFzcygibWZwLXMtIithKSxjPWF9fSxfY2hlY2tJZkNsb3NlOmZ1bmN0aW9uKGMpe2lmKCFhKGMpLmhhc0NsYXNzKHMpKXt2YXIgZD1iLnN0LmNsb3NlT25Db250ZW50Q2xpY2ssZT1iLnN0LmNsb3NlT25CZ0NsaWNrO2lmKGQmJmUpcmV0dXJuITA7aWYoIWIuY29udGVudHx8YShjKS5oYXNDbGFzcygibWZwLWNsb3NlIil8fGIucHJlbG9hZGVyJiZjPT09Yi5wcmVsb2FkZXJbMF0pcmV0dXJuITA7aWYoYz09PWIuY29udGVudFswXXx8YS5jb250YWlucyhiLmNvbnRlbnRbMF0sYykpe2lmKGQpcmV0dXJuITB9ZWxzZSBpZihlJiZhLmNvbnRhaW5zKGRvY3VtZW50LGMpKXJldHVybiEwO3JldHVybiExfX0sX2FkZENsYXNzVG9NRlA6ZnVuY3Rpb24oYSl7Yi5iZ092ZXJsYXkuYWRkQ2xhc3MoYSksYi53cmFwLmFkZENsYXNzKGEpfSxfcmVtb3ZlQ2xhc3NGcm9tTUZQOmZ1bmN0aW9uKGEpe3RoaXMuYmdPdmVybGF5LnJlbW92ZUNsYXNzKGEpLGIud3JhcC5yZW1vdmVDbGFzcyhhKX0sX2hhc1Njcm9sbEJhcjpmdW5jdGlvbihhKXtyZXR1cm4oYi5pc0lFNz9kLmhlaWdodCgpOmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KT4oYXx8di5oZWlnaHQoKSl9LF9zZXRGb2N1czpmdW5jdGlvbigpeyhiLnN0LmZvY3VzP2IuY29udGVudC5maW5kKGIuc3QuZm9jdXMpLmVxKDApOmIud3JhcCkuZm9jdXMoKX0sX29uRm9jdXNJbjpmdW5jdGlvbihjKXtyZXR1cm4gYy50YXJnZXQ9PT1iLndyYXBbMF18fGEuY29udGFpbnMoYi53cmFwWzBdLGMudGFyZ2V0KT92b2lkIDA6KGIuX3NldEZvY3VzKCksITEpfSxfcGFyc2VNYXJrdXA6ZnVuY3Rpb24oYixjLGQpe3ZhciBlO2QuZGF0YSYmKGM9YS5leHRlbmQoZC5kYXRhLGMpKSx5KGwsW2IsYyxkXSksYS5lYWNoKGMsZnVuY3Rpb24oYyxkKXtpZih2b2lkIDA9PT1kfHxkPT09ITEpcmV0dXJuITA7aWYoZT1jLnNwbGl0KCJfIiksZS5sZW5ndGg+MSl7dmFyIGY9Yi5maW5kKHArIi0iK2VbMF0pO2lmKGYubGVuZ3RoPjApe3ZhciBnPWVbMV07InJlcGxhY2VXaXRoIj09PWc/ZlswXSE9PWRbMF0mJmYucmVwbGFjZVdpdGgoZCk6ImltZyI9PT1nP2YuaXMoImltZyIpP2YuYXR0cigic3JjIixkKTpmLnJlcGxhY2VXaXRoKGEoIjxpbWc+IikuYXR0cigic3JjIixkKS5hdHRyKCJjbGFzcyIsZi5hdHRyKCJjbGFzcyIpKSk6Zi5hdHRyKGVbMV0sZCl9fWVsc2UgYi5maW5kKHArIi0iK2MpLmh0bWwoZCl9KX0sX2dldFNjcm9sbGJhclNpemU6ZnVuY3Rpb24oKXtpZih2b2lkIDA9PT1iLnNjcm9sbGJhclNpemUpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Euc3R5bGUuY3NzVGV4dD0id2lkdGg6IDk5cHg7IGhlaWdodDogOTlweDsgb3ZlcmZsb3c6IHNjcm9sbDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IC05OTk5cHg7Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpLGIuc2Nyb2xsYmFyU2l6ZT1hLm9mZnNldFdpZHRoLWEuY2xpZW50V2lkdGgsZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKX1yZXR1cm4gYi5zY3JvbGxiYXJTaXplfX0sYS5tYWduaWZpY1BvcHVwPXtpbnN0YW5jZTpudWxsLHByb3RvOnQucHJvdG90eXBlLG1vZHVsZXM6W10sb3BlbjpmdW5jdGlvbihiLGMpe3JldHVybiBBKCksYj1iP2EuZXh0ZW5kKCEwLHt9LGIpOnt9LGIuaXNPYmo9ITAsYi5pbmRleD1jfHwwLHRoaXMuaW5zdGFuY2Uub3BlbihiKX0sY2xvc2U6ZnVuY3Rpb24oKXtyZXR1cm4gYS5tYWduaWZpY1BvcHVwLmluc3RhbmNlJiZhLm1hZ25pZmljUG9wdXAuaW5zdGFuY2UuY2xvc2UoKX0scmVnaXN0ZXJNb2R1bGU6ZnVuY3Rpb24oYixjKXtjLm9wdGlvbnMmJihhLm1hZ25pZmljUG9wdXAuZGVmYXVsdHNbYl09Yy5vcHRpb25zKSxhLmV4dGVuZCh0aGlzLnByb3RvLGMucHJvdG8pLHRoaXMubW9kdWxlcy5wdXNoKGIpfSxkZWZhdWx0czp7ZGlzYWJsZU9uOjAsa2V5Om51bGwsbWlkQ2xpY2s6ITEsbWFpbkNsYXNzOiIiLHByZWxvYWRlcjohMCxmb2N1czoiIixjbG9zZU9uQ29udGVudENsaWNrOiExLGNsb3NlT25CZ0NsaWNrOiEwLGNsb3NlQnRuSW5zaWRlOiEwLHNob3dDbG9zZUJ0bjohMCxlbmFibGVFc2NhcGVLZXk6ITAsbW9kYWw6ITEsYWxpZ25Ub3A6ITEscmVtb3ZhbERlbGF5OjAscHJlcGVuZFRvOm51bGwsZml4ZWRDb250ZW50UG9zOiJhdXRvIixmaXhlZEJnUG9zOiJhdXRvIixvdmVyZmxvd1k6ImF1dG8iLGNsb3NlTWFya3VwOic8YnV0dG9uIHRpdGxlPSIldGl0bGUlIiB0eXBlPSJidXR0b24iIGNsYXNzPSJtZnAtY2xvc2UiPiYjMjE1OzwvYnV0dG9uPicsdENsb3NlOiJDbG9zZSAoRXNjKSIsdExvYWRpbmc6IkxvYWRpbmcuLi4iLGF1dG9Gb2N1c0xhc3Q6ITB9fSxhLmZuLm1hZ25pZmljUG9wdXA9ZnVuY3Rpb24oYyl7QSgpO3ZhciBkPWEodGhpcyk7aWYoInN0cmluZyI9PXR5cGVvZiBjKWlmKCJvcGVuIj09PWMpe3ZhciBlLGY9dT9kLmRhdGEoIm1hZ25pZmljUG9wdXAiKTpkWzBdLm1hZ25pZmljUG9wdXAsZz1wYXJzZUludChhcmd1bWVudHNbMV0sMTApfHwwO2YuaXRlbXM/ZT1mLml0ZW1zW2ddOihlPWQsZi5kZWxlZ2F0ZSYmKGU9ZS5maW5kKGYuZGVsZWdhdGUpKSxlPWUuZXEoZykpLGIuX29wZW5DbGljayh7bWZwRWw6ZX0sZCxmKX1lbHNlIGIuaXNPcGVuJiZiW2NdLmFwcGx5KGIsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKTtlbHNlIGM9YS5leHRlbmQoITAse30sYyksdT9kLmRhdGEoIm1hZ25pZmljUG9wdXAiLGMpOmRbMF0ubWFnbmlmaWNQb3B1cD1jLGIuYWRkR3JvdXAoZCxjKTtyZXR1cm4gZH07dmFyIEMsRCxFLEY9ImlubGluZSIsRz1mdW5jdGlvbigpe0UmJihELmFmdGVyKEUuYWRkQ2xhc3MoQykpLmRldGFjaCgpLEU9bnVsbCl9O2EubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZShGLHtvcHRpb25zOntoaWRkZW5DbGFzczoiaGlkZSIsbWFya3VwOiIiLHROb3RGb3VuZDoiQ29udGVudCBub3QgZm91bmQifSxwcm90bzp7aW5pdElubGluZTpmdW5jdGlvbigpe2IudHlwZXMucHVzaChGKSx3KGgrIi4iK0YsZnVuY3Rpb24oKXtHKCl9KX0sZ2V0SW5saW5lOmZ1bmN0aW9uKGMsZCl7aWYoRygpLGMuc3JjKXt2YXIgZT1iLnN0LmlubGluZSxmPWEoYy5zcmMpO2lmKGYubGVuZ3RoKXt2YXIgZz1mWzBdLnBhcmVudE5vZGU7ZyYmZy50YWdOYW1lJiYoRHx8KEM9ZS5oaWRkZW5DbGFzcyxEPXgoQyksQz0ibWZwLSIrQyksRT1mLmFmdGVyKEQpLmRldGFjaCgpLnJlbW92ZUNsYXNzKEMpKSxiLnVwZGF0ZVN0YXR1cygicmVhZHkiKX1lbHNlIGIudXBkYXRlU3RhdHVzKCJlcnJvciIsZS50Tm90Rm91bmQpLGY9YSgiPGRpdj4iKTtyZXR1cm4gYy5pbmxpbmVFbGVtZW50PWYsZn1yZXR1cm4gYi51cGRhdGVTdGF0dXMoInJlYWR5IiksYi5fcGFyc2VNYXJrdXAoZCx7fSxjKSxkfX19KTt2YXIgSCxJPSJhamF4IixKPWZ1bmN0aW9uKCl7SCYmYShkb2N1bWVudC5ib2R5KS5yZW1vdmVDbGFzcyhIKX0sSz1mdW5jdGlvbigpe0ooKSxiLnJlcSYmYi5yZXEuYWJvcnQoKX07YS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKEkse29wdGlvbnM6e3NldHRpbmdzOm51bGwsY3Vyc29yOiJtZnAtYWpheC1jdXIiLHRFcnJvcjonPGEgaHJlZj0iJXVybCUiPlRoZSBjb250ZW50PC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLid9LHByb3RvOntpbml0QWpheDpmdW5jdGlvbigpe2IudHlwZXMucHVzaChJKSxIPWIuc3QuYWpheC5jdXJzb3IsdyhoKyIuIitJLEspLHcoIkJlZm9yZUNoYW5nZS4iK0ksSyl9LGdldEFqYXg6ZnVuY3Rpb24oYyl7SCYmYShkb2N1bWVudC5ib2R5KS5hZGRDbGFzcyhIKSxiLnVwZGF0ZVN0YXR1cygibG9hZGluZyIpO3ZhciBkPWEuZXh0ZW5kKHt1cmw6Yy5zcmMsc3VjY2VzczpmdW5jdGlvbihkLGUsZil7dmFyIGc9e2RhdGE6ZCx4aHI6Zn07eSgiUGFyc2VBamF4IixnKSxiLmFwcGVuZENvbnRlbnQoYShnLmRhdGEpLEkpLGMuZmluaXNoZWQ9ITAsSigpLGIuX3NldEZvY3VzKCksc2V0VGltZW91dChmdW5jdGlvbigpe2Iud3JhcC5hZGRDbGFzcyhxKX0sMTYpLGIudXBkYXRlU3RhdHVzKCJyZWFkeSIpLHkoIkFqYXhDb250ZW50QWRkZWQiKX0sZXJyb3I6ZnVuY3Rpb24oKXtKKCksYy5maW5pc2hlZD1jLmxvYWRFcnJvcj0hMCxiLnVwZGF0ZVN0YXR1cygiZXJyb3IiLGIuc3QuYWpheC50RXJyb3IucmVwbGFjZSgiJXVybCUiLGMuc3JjKSl9fSxiLnN0LmFqYXguc2V0dGluZ3MpO3JldHVybiBiLnJlcT1hLmFqYXgoZCksIiJ9fX0pO3ZhciBMLE09ZnVuY3Rpb24oYyl7aWYoYy5kYXRhJiZ2b2lkIDAhPT1jLmRhdGEudGl0bGUpcmV0dXJuIGMuZGF0YS50aXRsZTt2YXIgZD1iLnN0LmltYWdlLnRpdGxlU3JjO2lmKGQpe2lmKGEuaXNGdW5jdGlvbihkKSlyZXR1cm4gZC5jYWxsKGIsYyk7aWYoYy5lbClyZXR1cm4gYy5lbC5hdHRyKGQpfHwiIn1yZXR1cm4iIn07YS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKCJpbWFnZSIse29wdGlvbnM6e21hcmt1cDonPGRpdiBjbGFzcz0ibWZwLWZpZ3VyZSI+PGRpdiBjbGFzcz0ibWZwLWNsb3NlIj48L2Rpdj48ZmlndXJlPjxkaXYgY2xhc3M9Im1mcC1pbWciPjwvZGl2PjxmaWdjYXB0aW9uPjxkaXYgY2xhc3M9Im1mcC1ib3R0b20tYmFyIj48ZGl2IGNsYXNzPSJtZnAtdGl0bGUiPjwvZGl2PjxkaXYgY2xhc3M9Im1mcC1jb3VudGVyIj48L2Rpdj48L2Rpdj48L2ZpZ2NhcHRpb24+PC9maWd1cmU+PC9kaXY+JyxjdXJzb3I6Im1mcC16b29tLW91dC1jdXIiLHRpdGxlU3JjOiJ0aXRsZSIsdmVydGljYWxGaXQ6ITAsdEVycm9yOic8YSBocmVmPSIldXJsJSI+VGhlIGltYWdlPC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLid9LHByb3RvOntpbml0SW1hZ2U6ZnVuY3Rpb24oKXt2YXIgYz1iLnN0LmltYWdlLGQ9Ii5pbWFnZSI7Yi50eXBlcy5wdXNoKCJpbWFnZSIpLHcobStkLGZ1bmN0aW9uKCl7ImltYWdlIj09PWIuY3Vyckl0ZW0udHlwZSYmYy5jdXJzb3ImJmEoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoYy5jdXJzb3IpfSksdyhoK2QsZnVuY3Rpb24oKXtjLmN1cnNvciYmYShkb2N1bWVudC5ib2R5KS5yZW1vdmVDbGFzcyhjLmN1cnNvciksdi5vZmYoInJlc2l6ZSIrcCl9KSx3KCJSZXNpemUiK2QsYi5yZXNpemVJbWFnZSksYi5pc0xvd0lFJiZ3KCJBZnRlckNoYW5nZSIsYi5yZXNpemVJbWFnZSl9LHJlc2l6ZUltYWdlOmZ1bmN0aW9uKCl7dmFyIGE9Yi5jdXJySXRlbTtpZihhJiZhLmltZyYmYi5zdC5pbWFnZS52ZXJ0aWNhbEZpdCl7dmFyIGM9MDtiLmlzTG93SUUmJihjPXBhcnNlSW50KGEuaW1nLmNzcygicGFkZGluZy10b3AiKSwxMCkrcGFyc2VJbnQoYS5pbWcuY3NzKCJwYWRkaW5nLWJvdHRvbSIpLDEwKSksYS5pbWcuY3NzKCJtYXgtaGVpZ2h0IixiLndILWMpfX0sX29uSW1hZ2VIYXNTaXplOmZ1bmN0aW9uKGEpe2EuaW1nJiYoYS5oYXNTaXplPSEwLEwmJmNsZWFySW50ZXJ2YWwoTCksYS5pc0NoZWNraW5nSW1nU2l6ZT0hMSx5KCJJbWFnZUhhc1NpemUiLGEpLGEuaW1nSGlkZGVuJiYoYi5jb250ZW50JiZiLmNvbnRlbnQucmVtb3ZlQ2xhc3MoIm1mcC1sb2FkaW5nIiksYS5pbWdIaWRkZW49ITEpKX0sZmluZEltYWdlU2l6ZTpmdW5jdGlvbihhKXt2YXIgYz0wLGQ9YS5pbWdbMF0sZT1mdW5jdGlvbihmKXtMJiZjbGVhckludGVydmFsKEwpLEw9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtyZXR1cm4gZC5uYXR1cmFsV2lkdGg+MD92b2lkIGIuX29uSW1hZ2VIYXNTaXplKGEpOihjPjIwMCYmY2xlYXJJbnRlcnZhbChMKSxjKyssdm9pZCgzPT09Yz9lKDEwKTo0MD09PWM/ZSg1MCk6MTAwPT09YyYmZSg1MDApKSl9LGYpfTtlKDEpfSxnZXRJbWFnZTpmdW5jdGlvbihjLGQpe3ZhciBlPTAsZj1mdW5jdGlvbigpe2MmJihjLmltZ1swXS5jb21wbGV0ZT8oYy5pbWcub2ZmKCIubWZwbG9hZGVyIiksYz09PWIuY3Vyckl0ZW0mJihiLl9vbkltYWdlSGFzU2l6ZShjKSxiLnVwZGF0ZVN0YXR1cygicmVhZHkiKSksYy5oYXNTaXplPSEwLGMubG9hZGVkPSEwLHkoIkltYWdlTG9hZENvbXBsZXRlIikpOihlKyssMjAwPmU/c2V0VGltZW91dChmLDEwMCk6ZygpKSl9LGc9ZnVuY3Rpb24oKXtjJiYoYy5pbWcub2ZmKCIubWZwbG9hZGVyIiksYz09PWIuY3Vyckl0ZW0mJihiLl9vbkltYWdlSGFzU2l6ZShjKSxiLnVwZGF0ZVN0YXR1cygiZXJyb3IiLGgudEVycm9yLnJlcGxhY2UoIiV1cmwlIixjLnNyYykpKSxjLmhhc1NpemU9ITAsYy5sb2FkZWQ9ITAsYy5sb2FkRXJyb3I9ITApfSxoPWIuc3QuaW1hZ2UsaT1kLmZpbmQoIi5tZnAtaW1nIik7aWYoaS5sZW5ndGgpe3ZhciBqPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO2ouY2xhc3NOYW1lPSJtZnAtaW1nIixjLmVsJiZjLmVsLmZpbmQoImltZyIpLmxlbmd0aCYmKGouYWx0PWMuZWwuZmluZCgiaW1nIikuYXR0cigiYWx0IikpLGMuaW1nPWEoaikub24oImxvYWQubWZwbG9hZGVyIixmKS5vbigiZXJyb3IubWZwbG9hZGVyIixnKSxqLnNyYz1jLnNyYyxpLmlzKCJpbWciKSYmKGMuaW1nPWMuaW1nLmNsb25lKCkpLGo9Yy5pbWdbMF0sai5uYXR1cmFsV2lkdGg+MD9jLmhhc1NpemU9ITA6ai53aWR0aHx8KGMuaGFzU2l6ZT0hMSl9cmV0dXJuIGIuX3BhcnNlTWFya3VwKGQse3RpdGxlOk0oYyksaW1nX3JlcGxhY2VXaXRoOmMuaW1nfSxjKSxiLnJlc2l6ZUltYWdlKCksYy5oYXNTaXplPyhMJiZjbGVhckludGVydmFsKEwpLGMubG9hZEVycm9yPyhkLmFkZENsYXNzKCJtZnAtbG9hZGluZyIpLGIudXBkYXRlU3RhdHVzKCJlcnJvciIsaC50RXJyb3IucmVwbGFjZSgiJXVybCUiLGMuc3JjKSkpOihkLnJlbW92ZUNsYXNzKCJtZnAtbG9hZGluZyIpLGIudXBkYXRlU3RhdHVzKCJyZWFkeSIpKSxkKTooYi51cGRhdGVTdGF0dXMoImxvYWRpbmciKSxjLmxvYWRpbmc9ITAsYy5oYXNTaXplfHwoYy5pbWdIaWRkZW49ITAsZC5hZGRDbGFzcygibWZwLWxvYWRpbmciKSxiLmZpbmRJbWFnZVNpemUoYykpLGQpfX19KTt2YXIgTixPPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PU4mJihOPXZvaWQgMCE9PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKS5zdHlsZS5Nb3pUcmFuc2Zvcm0pLE59O2EubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZSgiem9vbSIse29wdGlvbnM6e2VuYWJsZWQ6ITEsZWFzaW5nOiJlYXNlLWluLW91dCIsZHVyYXRpb246MzAwLG9wZW5lcjpmdW5jdGlvbihhKXtyZXR1cm4gYS5pcygiaW1nIik/YTphLmZpbmQoImltZyIpfX0scHJvdG86e2luaXRab29tOmZ1bmN0aW9uKCl7dmFyIGEsYz1iLnN0Lnpvb20sZD0iLnpvb20iO2lmKGMuZW5hYmxlZCYmYi5zdXBwb3J0c1RyYW5zaXRpb24pe3ZhciBlLGYsZz1jLmR1cmF0aW9uLGo9ZnVuY3Rpb24oYSl7dmFyIGI9YS5jbG9uZSgpLnJlbW92ZUF0dHIoInN0eWxlIikucmVtb3ZlQXR0cigiY2xhc3MiKS5hZGRDbGFzcygibWZwLWFuaW1hdGVkLWltYWdlIiksZD0iYWxsICIrYy5kdXJhdGlvbi8xZTMrInMgIitjLmVhc2luZyxlPXtwb3NpdGlvbjoiZml4ZWQiLHpJbmRleDo5OTk5LGxlZnQ6MCx0b3A6MCwiLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5IjoiaGlkZGVuIn0sZj0idHJhbnNpdGlvbiI7cmV0dXJuIGVbIi13ZWJraXQtIitmXT1lWyItbW96LSIrZl09ZVsiLW8tIitmXT1lW2ZdPWQsYi5jc3MoZSksYn0saz1mdW5jdGlvbigpe2IuY29udGVudC5jc3MoInZpc2liaWxpdHkiLCJ2aXNpYmxlIil9O3coIkJ1aWxkQ29udHJvbHMiK2QsZnVuY3Rpb24oKXtpZihiLl9hbGxvd1pvb20oKSl7aWYoY2xlYXJUaW1lb3V0KGUpLGIuY29udGVudC5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKSxhPWIuX2dldEl0ZW1Ub1pvb20oKSwhYSlyZXR1cm4gdm9pZCBrKCk7Zj1qKGEpLGYuY3NzKGIuX2dldE9mZnNldCgpKSxiLndyYXAuYXBwZW5kKGYpLGU9c2V0VGltZW91dChmdW5jdGlvbigpe2YuY3NzKGIuX2dldE9mZnNldCghMCkpLGU9c2V0VGltZW91dChmdW5jdGlvbigpe2soKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zi5yZW1vdmUoKSxhPWY9bnVsbCx5KCJab29tQW5pbWF0aW9uRW5kZWQiKX0sMTYpfSxnKX0sMTYpfX0pLHcoaStkLGZ1bmN0aW9uKCl7aWYoYi5fYWxsb3dab29tKCkpe2lmKGNsZWFyVGltZW91dChlKSxiLnN0LnJlbW92YWxEZWxheT1nLCFhKXtpZihhPWIuX2dldEl0ZW1Ub1pvb20oKSwhYSlyZXR1cm47Zj1qKGEpfWYuY3NzKGIuX2dldE9mZnNldCghMCkpLGIud3JhcC5hcHBlbmQoZiksYi5jb250ZW50LmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtmLmNzcyhiLl9nZXRPZmZzZXQoKSl9LDE2KX19KSx3KGgrZCxmdW5jdGlvbigpe2IuX2FsbG93Wm9vbSgpJiYoaygpLGYmJmYucmVtb3ZlKCksYT1udWxsKX0pfX0sX2FsbG93Wm9vbTpmdW5jdGlvbigpe3JldHVybiJpbWFnZSI9PT1iLmN1cnJJdGVtLnR5cGV9LF9nZXRJdGVtVG9ab29tOmZ1bmN0aW9uKCl7cmV0dXJuIGIuY3Vyckl0ZW0uaGFzU2l6ZT9iLmN1cnJJdGVtLmltZzohMX0sX2dldE9mZnNldDpmdW5jdGlvbihjKXt2YXIgZDtkPWM/Yi5jdXJySXRlbS5pbWc6Yi5zdC56b29tLm9wZW5lcihiLmN1cnJJdGVtLmVsfHxiLmN1cnJJdGVtKTt2YXIgZT1kLm9mZnNldCgpLGY9cGFyc2VJbnQoZC5jc3MoInBhZGRpbmctdG9wIiksMTApLGc9cGFyc2VJbnQoZC5jc3MoInBhZGRpbmctYm90dG9tIiksMTApO2UudG9wLT1hKHdpbmRvdykuc2Nyb2xsVG9wKCktZjt2YXIgaD17d2lkdGg6ZC53aWR0aCgpLGhlaWdodDoodT9kLmlubmVySGVpZ2h0KCk6ZFswXS5vZmZzZXRIZWlnaHQpLWctZn07cmV0dXJuIE8oKT9oWyItbW96LXRyYW5zZm9ybSJdPWgudHJhbnNmb3JtPSJ0cmFuc2xhdGUoIitlLmxlZnQrInB4LCIrZS50b3ArInB4KSI6KGgubGVmdD1lLmxlZnQsaC50b3A9ZS50b3ApLGh9fX0pO3ZhciBQPSJpZnJhbWUiLFE9Ii8vYWJvdXQ6YmxhbmsiLFI9ZnVuY3Rpb24oYSl7aWYoYi5jdXJyVGVtcGxhdGVbUF0pe3ZhciBjPWIuY3VyclRlbXBsYXRlW1BdLmZpbmQoImlmcmFtZSIpO2MubGVuZ3RoJiYoYXx8KGNbMF0uc3JjPVEpLGIuaXNJRTgmJmMuY3NzKCJkaXNwbGF5IixhPyJibG9jayI6Im5vbmUiKSl9fTthLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoUCx7b3B0aW9uczp7bWFya3VwOic8ZGl2IGNsYXNzPSJtZnAtaWZyYW1lLXNjYWxlciI+PGRpdiBjbGFzcz0ibWZwLWNsb3NlIj48L2Rpdj48aWZyYW1lIGNsYXNzPSJtZnAtaWZyYW1lIiBzcmM9Ii8vYWJvdXQ6YmxhbmsiIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+PC9kaXY+JyxzcmNBY3Rpb246ImlmcmFtZV9zcmMiLHBhdHRlcm5zOnt5b3V0dWJlOntpbmRleDoieW91dHViZS5jb20iLGlkOiJ2PSIsc3JjOiIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8laWQlP2F1dG9wbGF5PTEifSx2aW1lbzp7aW5kZXg6InZpbWVvLmNvbS8iLGlkOiIvIixzcmM6Ii8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8laWQlP2F1dG9wbGF5PTEifSxnbWFwczp7aW5kZXg6Ii8vbWFwcy5nb29nbGUuIixzcmM6IiVpZCUmb3V0cHV0PWVtYmVkIn19fSxwcm90bzp7aW5pdElmcmFtZTpmdW5jdGlvbigpe2IudHlwZXMucHVzaChQKSx3KCJCZWZvcmVDaGFuZ2UiLGZ1bmN0aW9uKGEsYixjKXtiIT09YyYmKGI9PT1QP1IoKTpjPT09UCYmUighMCkpfSksdyhoKyIuIitQLGZ1bmN0aW9uKCl7UigpfSl9LGdldElmcmFtZTpmdW5jdGlvbihjLGQpe3ZhciBlPWMuc3JjLGY9Yi5zdC5pZnJhbWU7YS5lYWNoKGYucGF0dGVybnMsZnVuY3Rpb24oKXtyZXR1cm4gZS5pbmRleE9mKHRoaXMuaW5kZXgpPi0xPyh0aGlzLmlkJiYoZT0ic3RyaW5nIj09dHlwZW9mIHRoaXMuaWQ/ZS5zdWJzdHIoZS5sYXN0SW5kZXhPZih0aGlzLmlkKSt0aGlzLmlkLmxlbmd0aCxlLmxlbmd0aCk6dGhpcy5pZC5jYWxsKHRoaXMsZSkpLGU9dGhpcy5zcmMucmVwbGFjZSgiJWlkJSIsZSksITEpOnZvaWQgMH0pO3ZhciBnPXt9O3JldHVybiBmLnNyY0FjdGlvbiYmKGdbZi5zcmNBY3Rpb25dPWUpLGIuX3BhcnNlTWFya3VwKGQsZyxjKSxiLnVwZGF0ZVN0YXR1cygicmVhZHkiKSxkfX19KTt2YXIgUz1mdW5jdGlvbihhKXt2YXIgYz1iLml0ZW1zLmxlbmd0aDtyZXR1cm4gYT5jLTE/YS1jOjA+YT9jK2E6YX0sVD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEucmVwbGFjZSgvJWN1cnIlL2dpLGIrMSkucmVwbGFjZSgvJXRvdGFsJS9naSxjKX07YS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKCJnYWxsZXJ5Iix7b3B0aW9uczp7ZW5hYmxlZDohMSxhcnJvd01hcmt1cDonPGJ1dHRvbiB0aXRsZT0iJXRpdGxlJSIgdHlwZT0iYnV0dG9uIiBjbGFzcz0ibWZwLWFycm93IG1mcC1hcnJvdy0lZGlyJSI+PC9idXR0b24+JyxwcmVsb2FkOlswLDJdLG5hdmlnYXRlQnlJbWdDbGljazohMCxhcnJvd3M6ITAsdFByZXY6IlByZXZpb3VzIChMZWZ0IGFycm93IGtleSkiLHROZXh0OiJOZXh0IChSaWdodCBhcnJvdyBrZXkpIix0Q291bnRlcjoiJWN1cnIlIG9mICV0b3RhbCUifSxwcm90bzp7aW5pdEdhbGxlcnk6ZnVuY3Rpb24oKXt2YXIgYz1iLnN0LmdhbGxlcnksZT0iLm1mcC1nYWxsZXJ5IjtyZXR1cm4gYi5kaXJlY3Rpb249ITAsYyYmYy5lbmFibGVkPyhmKz0iIG1mcC1nYWxsZXJ5Iix3KG0rZSxmdW5jdGlvbigpe2MubmF2aWdhdGVCeUltZ0NsaWNrJiZiLndyYXAub24oImNsaWNrIitlLCIubWZwLWltZyIsZnVuY3Rpb24oKXtyZXR1cm4gYi5pdGVtcy5sZW5ndGg+MT8oYi5uZXh0KCksITEpOnZvaWQgMH0pLGQub24oImtleWRvd24iK2UsZnVuY3Rpb24oYSl7Mzc9PT1hLmtleUNvZGU/Yi5wcmV2KCk6Mzk9PT1hLmtleUNvZGUmJmIubmV4dCgpfSl9KSx3KCJVcGRhdGVTdGF0dXMiK2UsZnVuY3Rpb24oYSxjKXtjLnRleHQmJihjLnRleHQ9VChjLnRleHQsYi5jdXJySXRlbS5pbmRleCxiLml0ZW1zLmxlbmd0aCkpfSksdyhsK2UsZnVuY3Rpb24oYSxkLGUsZil7dmFyIGc9Yi5pdGVtcy5sZW5ndGg7ZS5jb3VudGVyPWc+MT9UKGMudENvdW50ZXIsZi5pbmRleCxnKToiIn0pLHcoIkJ1aWxkQ29udHJvbHMiK2UsZnVuY3Rpb24oKXtpZihiLml0ZW1zLmxlbmd0aD4xJiZjLmFycm93cyYmIWIuYXJyb3dMZWZ0KXt2YXIgZD1jLmFycm93TWFya3VwLGU9Yi5hcnJvd0xlZnQ9YShkLnJlcGxhY2UoLyV0aXRsZSUvZ2ksYy50UHJldikucmVwbGFjZSgvJWRpciUvZ2ksImxlZnQiKSkuYWRkQ2xhc3MocyksZj1iLmFycm93UmlnaHQ9YShkLnJlcGxhY2UoLyV0aXRsZSUvZ2ksYy50TmV4dCkucmVwbGFjZSgvJWRpciUvZ2ksInJpZ2h0IikpLmFkZENsYXNzKHMpO2UuY2xpY2soZnVuY3Rpb24oKXtiLnByZXYoKX0pLGYuY2xpY2soZnVuY3Rpb24oKXtiLm5leHQoKX0pLGIuY29udGFpbmVyLmFwcGVuZChlLmFkZChmKSl9fSksdyhuK2UsZnVuY3Rpb24oKXtiLl9wcmVsb2FkVGltZW91dCYmY2xlYXJUaW1lb3V0KGIuX3ByZWxvYWRUaW1lb3V0KSxiLl9wcmVsb2FkVGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yi5wcmVsb2FkTmVhcmJ5SW1hZ2VzKCksYi5fcHJlbG9hZFRpbWVvdXQ9bnVsbH0sMTYpfSksdm9pZCB3KGgrZSxmdW5jdGlvbigpe2Qub2ZmKGUpLGIud3JhcC5vZmYoImNsaWNrIitlKSxiLmFycm93UmlnaHQ9Yi5hcnJvd0xlZnQ9bnVsbH0pKTohMX0sbmV4dDpmdW5jdGlvbigpe2IuZGlyZWN0aW9uPSEwLGIuaW5kZXg9UyhiLmluZGV4KzEpLGIudXBkYXRlSXRlbUhUTUwoKX0scHJldjpmdW5jdGlvbigpe2IuZGlyZWN0aW9uPSExLGIuaW5kZXg9UyhiLmluZGV4LTEpLGIudXBkYXRlSXRlbUhUTUwoKX0sZ29UbzpmdW5jdGlvbihhKXtiLmRpcmVjdGlvbj1hPj1iLmluZGV4LGIuaW5kZXg9YSxiLnVwZGF0ZUl0ZW1IVE1MKCl9LHByZWxvYWROZWFyYnlJbWFnZXM6ZnVuY3Rpb24oKXt2YXIgYSxjPWIuc3QuZ2FsbGVyeS5wcmVsb2FkLGQ9TWF0aC5taW4oY1swXSxiLml0ZW1zLmxlbmd0aCksZT1NYXRoLm1pbihjWzFdLGIuaXRlbXMubGVuZ3RoKTtmb3IoYT0xO2E8PShiLmRpcmVjdGlvbj9lOmQpO2ErKyliLl9wcmVsb2FkSXRlbShiLmluZGV4K2EpO2ZvcihhPTE7YTw9KGIuZGlyZWN0aW9uP2Q6ZSk7YSsrKWIuX3ByZWxvYWRJdGVtKGIuaW5kZXgtYSl9LF9wcmVsb2FkSXRlbTpmdW5jdGlvbihjKXtpZihjPVMoYyksIWIuaXRlbXNbY10ucHJlbG9hZGVkKXt2YXIgZD1iLml0ZW1zW2NdO2QucGFyc2VkfHwoZD1iLnBhcnNlRWwoYykpLHkoIkxhenlMb2FkIixkKSwiaW1hZ2UiPT09ZC50eXBlJiYoZC5pbWc9YSgnPGltZyBjbGFzcz0ibWZwLWltZyIgLz4nKS5vbigibG9hZC5tZnBsb2FkZXIiLGZ1bmN0aW9uKCl7ZC5oYXNTaXplPSEwfSkub24oImVycm9yLm1mcGxvYWRlciIsZnVuY3Rpb24oKXtkLmhhc1NpemU9ITAsZC5sb2FkRXJyb3I9ITAseSgiTGF6eUxvYWRFcnJvciIsZCl9KS5hdHRyKCJzcmMiLGQuc3JjKSksZC5wcmVsb2FkZWQ9ITB9fX19KTt2YXIgVT0icmV0aW5hIjthLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoVSx7b3B0aW9uczp7cmVwbGFjZVNyYzpmdW5jdGlvbihhKXtyZXR1cm4gYS5zcmMucmVwbGFjZSgvXC5cdyskLyxmdW5jdGlvbihhKXtyZXR1cm4iQDJ4IithfSl9LHJhdGlvOjF9LHByb3RvOntpbml0UmV0aW5hOmZ1bmN0aW9uKCl7aWYod2luZG93LmRldmljZVBpeGVsUmF0aW8+MSl7dmFyIGE9Yi5zdC5yZXRpbmEsYz1hLnJhdGlvO2M9aXNOYU4oYyk/YygpOmMsYz4xJiYodygiSW1hZ2VIYXNTaXplLiIrVSxmdW5jdGlvbihhLGIpe2IuaW1nLmNzcyh7Im1heC13aWR0aCI6Yi5pbWdbMF0ubmF0dXJhbFdpZHRoL2Msd2lkdGg6IjEwMCUifSl9KSx3KCJFbGVtZW50UGFyc2UuIitVLGZ1bmN0aW9uKGIsZCl7ZC5zcmM9YS5yZXBsYWNlU3JjKGQsYyl9KSl9fX19KSxBKCl9KTsKCi8qCldPVwpWZXJzaW9uOiAxLjMuMCAtIDIwMTYtMTAtMDQKUGx1Z2luIFVSSTogaHR0cHM6Ly93b3dqcy51awpMaWNlbnNlOiBDb3B5cmlnaHQgKGMpIDIwMTYgVGhvbWFzIEdyYWluZ2VyOyB8IFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZQoqLwooZnVuY3Rpb24oKXt2YXIgdCxlLG4saSxvLHI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLGFyZ3VtZW50cyl9fSxzPVtdLmluZGV4T2Z8fGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLG49dGhpcy5sZW5ndGg7bj5lO2UrKylpZihlIGluIHRoaXMmJnRoaXNbZV09PT10KXJldHVybiBlO3JldHVybi0xfTtlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5wcm90b3R5cGUuZXh0ZW5kPWZ1bmN0aW9uKHQsZSl7dmFyIG4saTtmb3IobiBpbiBlKWk9ZVtuXSxudWxsPT10W25dJiYodFtuXT1pKTtyZXR1cm4gdH0sdC5wcm90b3R5cGUuaXNNb2JpbGU9ZnVuY3Rpb24odCl7cmV0dXJuL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5fElFTW9iaWxlfE9wZXJhIE1pbmkvaS50ZXN0KHQpfSx0LnByb3RvdHlwZS5jcmVhdGVFdmVudD1mdW5jdGlvbih0LGUsbixpKXt2YXIgbztyZXR1cm4gbnVsbD09ZSYmKGU9ITEpLG51bGw9PW4mJihuPSExKSxudWxsPT1pJiYoaT1udWxsKSxudWxsIT1kb2N1bWVudC5jcmVhdGVFdmVudD8obz1kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSkuaW5pdEN1c3RvbUV2ZW50KHQsZSxuLGkpOm51bGwhPWRvY3VtZW50LmNyZWF0ZUV2ZW50T2JqZWN0PyhvPWRvY3VtZW50LmNyZWF0ZUV2ZW50T2JqZWN0KCkpLmV2ZW50VHlwZT10Om8uZXZlbnROYW1lPXQsb30sdC5wcm90b3R5cGUuZW1pdEV2ZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGwhPXQuZGlzcGF0Y2hFdmVudD90LmRpc3BhdGNoRXZlbnQoZSk6ZSBpbihudWxsIT10KT90W2VdKCk6Im9uIitlIGluKG51bGwhPXQpP3RbIm9uIitlXSgpOnZvaWQgMH0sdC5wcm90b3R5cGUuYWRkRXZlbnQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBudWxsIT10LmFkZEV2ZW50TGlzdGVuZXI/dC5hZGRFdmVudExpc3RlbmVyKGUsbiwhMSk6bnVsbCE9dC5hdHRhY2hFdmVudD90LmF0dGFjaEV2ZW50KCJvbiIrZSxuKTp0W2VdPW59LHQucHJvdG90eXBlLnJlbW92ZUV2ZW50PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbnVsbCE9dC5yZW1vdmVFdmVudExpc3RlbmVyP3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4sITEpOm51bGwhPXQuZGV0YWNoRXZlbnQ/dC5kZXRhY2hFdmVudCgib24iK2Usbik6ZGVsZXRlIHRbZV19LHQucHJvdG90eXBlLmlubmVySGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuImlubmVySGVpZ2h0ImluIHdpbmRvdz93aW5kb3cuaW5uZXJIZWlnaHQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodH0sdH0oKSxuPXRoaXMuV2Vha01hcHx8dGhpcy5Nb3pXZWFrTWFwfHwobj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLmtleXM9W10sdGhpcy52YWx1ZXM9W119cmV0dXJuIHQucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgZSxuLGksbztmb3IoZT1uPTAsaT0obz10aGlzLmtleXMpLmxlbmd0aDtpPm47ZT0rK24paWYob1tlXT09PXQpcmV0dXJuIHRoaXMudmFsdWVzW2VdfSx0LnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxlKXt2YXIgbixpLG8scjtmb3Iobj1pPTAsbz0ocj10aGlzLmtleXMpLmxlbmd0aDtvPmk7bj0rK2kpaWYocltuXT09PXQpcmV0dXJuIHZvaWQodGhpcy52YWx1ZXNbbl09ZSk7cmV0dXJuIHRoaXMua2V5cy5wdXNoKHQpLHRoaXMudmFsdWVzLnB1c2goZSl9LHR9KCkpLHQ9dGhpcy5NdXRhdGlvbk9ic2VydmVyfHx0aGlzLldlYmtpdE11dGF0aW9uT2JzZXJ2ZXJ8fHRoaXMuTW96TXV0YXRpb25PYnNlcnZlcnx8KHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZudWxsIT09Y29uc29sZSYmY29uc29sZS53YXJuKCJNdXRhdGlvbk9ic2VydmVyIGlzIG5vdCBzdXBwb3J0ZWQgYnkgeW91ciBicm93c2VyLiIpLCJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmbnVsbCE9PWNvbnNvbGUmJmNvbnNvbGUud2FybigiV09XLmpzIGNhbm5vdCBkZXRlY3QgZG9tIG11dGF0aW9ucywgcGxlYXNlIGNhbGwgLnN5bmMoKSBhZnRlciBsb2FkaW5nIG5ldyBjb250ZW50LiIpfXJldHVybiB0Lm5vdFN1cHBvcnRlZD0hMCx0LnByb3RvdHlwZS5vYnNlcnZlPWZ1bmN0aW9uKCl7fSx0fSgpKSxpPXRoaXMuZ2V0Q29tcHV0ZWRTdHlsZXx8ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5nZXRQcm9wZXJ0eVZhbHVlPWZ1bmN0aW9uKGUpe3ZhciBuO3JldHVybiJmbG9hdCI9PT1lJiYoZT0ic3R5bGVGbG9hdCIpLG8udGVzdChlKSYmZS5yZXBsYWNlKG8sZnVuY3Rpb24odCxlKXtyZXR1cm4gZS50b1VwcGVyQ2FzZSgpfSksKG51bGwhPShuPXQuY3VycmVudFN0eWxlKT9uW2VdOnZvaWQgMCl8fG51bGx9LHRoaXN9LG89LyhcLShbYS16XSl7MX0pL2csdGhpcy5XT1c9ZnVuY3Rpb24oKXtmdW5jdGlvbiBvKHQpe251bGw9PXQmJih0PXt9KSx0aGlzLnNjcm9sbENhbGxiYWNrPXIodGhpcy5zY3JvbGxDYWxsYmFjayx0aGlzKSx0aGlzLnNjcm9sbEhhbmRsZXI9cih0aGlzLnNjcm9sbEhhbmRsZXIsdGhpcyksdGhpcy5yZXNldEFuaW1hdGlvbj1yKHRoaXMucmVzZXRBbmltYXRpb24sdGhpcyksdGhpcy5zdGFydD1yKHRoaXMuc3RhcnQsdGhpcyksdGhpcy5zY3JvbGxlZD0hMCx0aGlzLmNvbmZpZz10aGlzLnV0aWwoKS5leHRlbmQodCx0aGlzLmRlZmF1bHRzKSxudWxsIT10LnNjcm9sbENvbnRhaW5lciYmKHRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lcj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQuc2Nyb2xsQ29udGFpbmVyKSksdGhpcy5hbmltYXRpb25OYW1lQ2FjaGU9bmV3IG4sdGhpcy53b3dFdmVudD10aGlzLnV0aWwoKS5jcmVhdGVFdmVudCh0aGlzLmNvbmZpZy5ib3hDbGFzcyl9cmV0dXJuIG8ucHJvdG90eXBlLmRlZmF1bHRzPXtib3hDbGFzczoid293IixhbmltYXRlQ2xhc3M6ImFuaW1hdGVkIixvZmZzZXQ6MCxtb2JpbGU6ITAsbGl2ZTohMCxjYWxsYmFjazpudWxsLHNjcm9sbENvbnRhaW5lcjpudWxsfSxvLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIHRoaXMuZWxlbWVudD13aW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCJpbnRlcmFjdGl2ZSI9PT0odD1kb2N1bWVudC5yZWFkeVN0YXRlKXx8ImNvbXBsZXRlIj09PXQ/dGhpcy5zdGFydCgpOnRoaXMudXRpbCgpLmFkZEV2ZW50KGRvY3VtZW50LCJET01Db250ZW50TG9hZGVkIix0aGlzLnN0YXJ0KSx0aGlzLmZpbmlzaGVkPVtdfSxvLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3ZhciBlLG4saSxvO2lmKHRoaXMuc3RvcHBlZD0hMSx0aGlzLmJveGVzPWZ1bmN0aW9uKCl7dmFyIHQsbixpLG87Zm9yKG89W10sdD0wLG49KGk9dGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi4iK3RoaXMuY29uZmlnLmJveENsYXNzKSkubGVuZ3RoO24+dDt0KyspZT1pW3RdLG8ucHVzaChlKTtyZXR1cm4gb30uY2FsbCh0aGlzKSx0aGlzLmFsbD1mdW5jdGlvbigpe3ZhciB0LG4saSxvO2ZvcihvPVtdLHQ9MCxuPShpPXRoaXMuYm94ZXMpLmxlbmd0aDtuPnQ7dCsrKWU9aVt0XSxvLnB1c2goZSk7cmV0dXJuIG99LmNhbGwodGhpcyksdGhpcy5ib3hlcy5sZW5ndGgpaWYodGhpcy5kaXNhYmxlZCgpKXRoaXMucmVzZXRTdHlsZSgpO2Vsc2UgZm9yKG49MCxpPShvPXRoaXMuYm94ZXMpLmxlbmd0aDtpPm47bisrKWU9b1tuXSx0aGlzLmFwcGx5U3R5bGUoZSwhMCk7cmV0dXJuIHRoaXMuZGlzYWJsZWQoKXx8KHRoaXMudXRpbCgpLmFkZEV2ZW50KHRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lcnx8d2luZG93LCJzY3JvbGwiLHRoaXMuc2Nyb2xsSGFuZGxlciksdGhpcy51dGlsKCkuYWRkRXZlbnQod2luZG93LCJyZXNpemUiLHRoaXMuc2Nyb2xsSGFuZGxlciksdGhpcy5pbnRlcnZhbD1zZXRJbnRlcnZhbCh0aGlzLnNjcm9sbENhbGxiYWNrLDUwKSksdGhpcy5jb25maWcubGl2ZT9uZXcgdChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG4saSxvLHIscztmb3Iocz1bXSxuPTAsaT1lLmxlbmd0aDtpPm47bisrKXI9ZVtuXSxzLnB1c2goZnVuY3Rpb24oKXt2YXIgdCxlLG4saTtmb3IoaT1bXSx0PTAsZT0obj1yLmFkZGVkTm9kZXN8fFtdKS5sZW5ndGg7ZT50O3QrKylvPW5bdF0saS5wdXNoKHRoaXMuZG9TeW5jKG8pKTtyZXR1cm4gaX0uY2FsbCh0KSk7cmV0dXJuIHN9fSh0aGlzKSkub2JzZXJ2ZShkb2N1bWVudC5ib2R5LHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMH0pOnZvaWQgMH0sby5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN0b3BwZWQ9ITAsdGhpcy51dGlsKCkucmVtb3ZlRXZlbnQodGhpcy5jb25maWcuc2Nyb2xsQ29udGFpbmVyfHx3aW5kb3csInNjcm9sbCIsdGhpcy5zY3JvbGxIYW5kbGVyKSx0aGlzLnV0aWwoKS5yZW1vdmVFdmVudCh3aW5kb3csInJlc2l6ZSIsdGhpcy5zY3JvbGxIYW5kbGVyKSxudWxsIT10aGlzLmludGVydmFsP2NsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk6dm9pZCAwfSxvLnByb3RvdHlwZS5zeW5jPWZ1bmN0aW9uKGUpe3JldHVybiB0Lm5vdFN1cHBvcnRlZD90aGlzLmRvU3luYyh0aGlzLmVsZW1lbnQpOnZvaWQgMH0sby5wcm90b3R5cGUuZG9TeW5jPWZ1bmN0aW9uKHQpe3ZhciBlLG4saSxvLHI7aWYobnVsbD09dCYmKHQ9dGhpcy5lbGVtZW50KSwxPT09dC5ub2RlVHlwZSl7Zm9yKHI9W10sbj0wLGk9KG89KHQ9dC5wYXJlbnROb2RlfHx0KS5xdWVyeVNlbGVjdG9yQWxsKCIuIit0aGlzLmNvbmZpZy5ib3hDbGFzcykpLmxlbmd0aDtpPm47bisrKWU9b1tuXSxzLmNhbGwodGhpcy5hbGwsZSk8MD8odGhpcy5ib3hlcy5wdXNoKGUpLHRoaXMuYWxsLnB1c2goZSksdGhpcy5zdG9wcGVkfHx0aGlzLmRpc2FibGVkKCk/dGhpcy5yZXNldFN0eWxlKCk6dGhpcy5hcHBseVN0eWxlKGUsITApLHIucHVzaCh0aGlzLnNjcm9sbGVkPSEwKSk6ci5wdXNoKHZvaWQgMCk7cmV0dXJuIHJ9fSxvLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmFwcGx5U3R5bGUodCksdC5jbGFzc05hbWU9dC5jbGFzc05hbWUrIiAiK3RoaXMuY29uZmlnLmFuaW1hdGVDbGFzcyxudWxsIT10aGlzLmNvbmZpZy5jYWxsYmFjayYmdGhpcy5jb25maWcuY2FsbGJhY2sodCksdGhpcy51dGlsKCkuZW1pdEV2ZW50KHQsdGhpcy53b3dFdmVudCksdGhpcy51dGlsKCkuYWRkRXZlbnQodCwiYW5pbWF0aW9uZW5kIix0aGlzLnJlc2V0QW5pbWF0aW9uKSx0aGlzLnV0aWwoKS5hZGRFdmVudCh0LCJvYW5pbWF0aW9uZW5kIix0aGlzLnJlc2V0QW5pbWF0aW9uKSx0aGlzLnV0aWwoKS5hZGRFdmVudCh0LCJ3ZWJraXRBbmltYXRpb25FbmQiLHRoaXMucmVzZXRBbmltYXRpb24pLHRoaXMudXRpbCgpLmFkZEV2ZW50KHQsIk1TQW5pbWF0aW9uRW5kIix0aGlzLnJlc2V0QW5pbWF0aW9uKSx0fSxvLnByb3RvdHlwZS5hcHBseVN0eWxlPWZ1bmN0aW9uKHQsZSl7dmFyIG4saSxvLHI7cmV0dXJuIGk9dC5nZXRBdHRyaWJ1dGUoImRhdGEtd293LWR1cmF0aW9uIiksbj10LmdldEF0dHJpYnV0ZSgiZGF0YS13b3ctZGVsYXkiKSxvPXQuZ2V0QXR0cmlidXRlKCJkYXRhLXdvdy1pdGVyYXRpb24iKSx0aGlzLmFuaW1hdGUoKHI9dGhpcyxmdW5jdGlvbigpe3JldHVybiByLmN1c3RvbVN0eWxlKHQsZSxpLG4sbyl9KSl9LG8ucHJvdG90eXBlLmFuaW1hdGU9InJlcXVlc3RBbmltYXRpb25GcmFtZSJpbiB3aW5kb3c/ZnVuY3Rpb24odCl7cmV0dXJuIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodCl9OmZ1bmN0aW9uKHQpe3JldHVybiB0KCl9LG8ucHJvdG90eXBlLnJlc2V0U3R5bGU9ZnVuY3Rpb24oKXt2YXIgdCxlLG4saSxvO2ZvcihvPVtdLGU9MCxuPShpPXRoaXMuYm94ZXMpLmxlbmd0aDtuPmU7ZSsrKXQ9aVtlXSxvLnB1c2godC5zdHlsZS52aXNpYmlsaXR5PSJ2aXNpYmxlIik7cmV0dXJuIG99LG8ucHJvdG90eXBlLnJlc2V0QW5pbWF0aW9uPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0LnR5cGUudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJhbmltYXRpb25lbmQiKT49MD8oZT10LnRhcmdldHx8dC5zcmNFbGVtZW50KS5jbGFzc05hbWU9ZS5jbGFzc05hbWUucmVwbGFjZSh0aGlzLmNvbmZpZy5hbmltYXRlQ2xhc3MsIiIpLnRyaW0oKTp2b2lkIDB9LG8ucHJvdG90eXBlLmN1c3RvbVN0eWxlPWZ1bmN0aW9uKHQsZSxuLGksbyl7cmV0dXJuIGUmJnRoaXMuY2FjaGVBbmltYXRpb25OYW1lKHQpLHQuc3R5bGUudmlzaWJpbGl0eT1lPyJoaWRkZW4iOiJ2aXNpYmxlIixuJiZ0aGlzLnZlbmRvclNldCh0LnN0eWxlLHthbmltYXRpb25EdXJhdGlvbjpufSksaSYmdGhpcy52ZW5kb3JTZXQodC5zdHlsZSx7YW5pbWF0aW9uRGVsYXk6aX0pLG8mJnRoaXMudmVuZG9yU2V0KHQuc3R5bGUse2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50Om99KSx0aGlzLnZlbmRvclNldCh0LnN0eWxlLHthbmltYXRpb25OYW1lOmU/Im5vbmUiOnRoaXMuY2FjaGVkQW5pbWF0aW9uTmFtZSh0KX0pLHR9LG8ucHJvdG90eXBlLnZlbmRvcnM9WyJtb3oiLCJ3ZWJraXQiXSxvLnByb3RvdHlwZS52ZW5kb3JTZXQ9ZnVuY3Rpb24odCxlKXt2YXIgbixpLG8scjtmb3IobiBpbiBpPVtdLGUpbz1lW25dLHRbIiIrbl09byxpLnB1c2goZnVuY3Rpb24oKXt2YXIgZSxpLHMsbDtmb3IobD1bXSxlPTAsaT0ocz10aGlzLnZlbmRvcnMpLmxlbmd0aDtpPmU7ZSsrKXI9c1tlXSxsLnB1c2godFsiIityK24uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrbi5zdWJzdHIoMSldPW8pO3JldHVybiBsfS5jYWxsKHRoaXMpKTtyZXR1cm4gaX0sby5wcm90b3R5cGUudmVuZG9yQ1NTPWZ1bmN0aW9uKHQsZSl7dmFyIG4sbyxyLHMsbCxhO2ZvcihzPShsPWkodCkpLmdldFByb3BlcnR5Q1NTVmFsdWUoZSksbj0wLG89KHI9dGhpcy52ZW5kb3JzKS5sZW5ndGg7bz5uO24rKylhPXJbbl0scz1zfHxsLmdldFByb3BlcnR5Q1NTVmFsdWUoIi0iK2ErIi0iK2UpO3JldHVybiBzfSxvLnByb3RvdHlwZS5hbmltYXRpb25OYW1lPWZ1bmN0aW9uKHQpe3ZhciBlO3RyeXtlPXRoaXMudmVuZG9yQ1NTKHQsImFuaW1hdGlvbi1uYW1lIikuY3NzVGV4dH1jYXRjaChuKXtlPWkodCkuZ2V0UHJvcGVydHlWYWx1ZSgiYW5pbWF0aW9uLW5hbWUiKX1yZXR1cm4ibm9uZSI9PT1lPyIiOmV9LG8ucHJvdG90eXBlLmNhY2hlQW5pbWF0aW9uTmFtZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hbmltYXRpb25OYW1lQ2FjaGUuc2V0KHQsdGhpcy5hbmltYXRpb25OYW1lKHQpKX0sby5wcm90b3R5cGUuY2FjaGVkQW5pbWF0aW9uTmFtZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hbmltYXRpb25OYW1lQ2FjaGUuZ2V0KHQpfSxvLnByb3RvdHlwZS5zY3JvbGxIYW5kbGVyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2Nyb2xsZWQ9ITB9LG8ucHJvdG90eXBlLnNjcm9sbENhbGxiYWNrPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIXRoaXMuc2Nyb2xsZWR8fCh0aGlzLnNjcm9sbGVkPSExLHRoaXMuYm94ZXM9ZnVuY3Rpb24oKXt2YXIgZSxuLGksbztmb3Iobz1bXSxlPTAsbj0oaT10aGlzLmJveGVzKS5sZW5ndGg7bj5lO2UrKykodD1pW2VdKSYmKHRoaXMuaXNWaXNpYmxlKHQpP3RoaXMuc2hvdyh0KTpvLnB1c2godCkpO3JldHVybiBvfS5jYWxsKHRoaXMpLHRoaXMuYm94ZXMubGVuZ3RofHx0aGlzLmNvbmZpZy5saXZlKT92b2lkIDA6dGhpcy5zdG9wKCl9LG8ucHJvdG90eXBlLm9mZnNldFRvcD1mdW5jdGlvbih0KXtmb3IodmFyIGU7dm9pZCAwPT09dC5vZmZzZXRUb3A7KXQ9dC5wYXJlbnROb2RlO2ZvcihlPXQub2Zmc2V0VG9wO3Q9dC5vZmZzZXRQYXJlbnQ7KWUrPXQub2Zmc2V0VG9wO3JldHVybiBlfSxvLnByb3RvdHlwZS5pc1Zpc2libGU9ZnVuY3Rpb24odCl7dmFyIGUsbixpLG8scjtyZXR1cm4gbj10LmdldEF0dHJpYnV0ZSgiZGF0YS13b3ctb2Zmc2V0Iil8fHRoaXMuY29uZmlnLm9mZnNldCxvPShyPXRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lciYmdGhpcy5jb25maWcuc2Nyb2xsQ29udGFpbmVyLnNjcm9sbFRvcHx8d2luZG93LnBhZ2VZT2Zmc2V0KStNYXRoLm1pbih0aGlzLmVsZW1lbnQuY2xpZW50SGVpZ2h0LHRoaXMudXRpbCgpLmlubmVySGVpZ2h0KCkpLW4sZT0oaT10aGlzLm9mZnNldFRvcCh0KSkrdC5jbGllbnRIZWlnaHQsbz49aSYmZT49cn0sby5wcm90b3R5cGUudXRpbD1mdW5jdGlvbigpe3JldHVybiBudWxsIT10aGlzLl91dGlsP3RoaXMuX3V0aWw6dGhpcy5fdXRpbD1uZXcgZX0sby5wcm90b3R5cGUuZGlzYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5jb25maWcubW9iaWxlJiZ0aGlzLnV0aWwoKS5pc01vYmlsZShuYXZpZ2F0b3IudXNlckFnZW50KX0sby5wcm90b3R5cGUucmVtb3ZlQm94PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuYm94ZXMuaW5kZXhPZih0KTtlPi0xJiZ0aGlzLmJveGVzLnNwbGljZShlLDEpfSxvfSgpfSkuY2FsbCh0aGlzKTsKCi8qCklzb3RvcGUKVmVyc2lvbjogMy4wLjYKUGx1Z2luIFVSSTogaHR0cHM6Ly9pc290b3BlLm1ldGFmaXp6eS5jbwpMaWNlbnNlOiBDb3B5cmlnaHQgMjAxMC0yMDE4IE1ldGFmaXp6eSB8IExpY2Vuc2VkIEdQTHYzIGZvciBvcGVuIHNvdXJjZSB1c2Ugb3IgSXNvdG9wZSBDb21tZXJjaWFsIExpY2Vuc2UgZm9yIGNvbW1lcmNpYWwgdXNlCiovCiFmdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJqcXVlcnktYnJpZGdldC9qcXVlcnktYnJpZGdldCIsWyJqcXVlcnkiXSxmdW5jdGlvbihpKXtyZXR1cm4gZSh0LGkpfSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUodCxyZXF1aXJlKCJqcXVlcnkiKSk6dC5qUXVlcnlCcmlkZ2V0PWUodCx0LmpRdWVyeSl9KHdpbmRvdyxmdW5jdGlvbih0LGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKGkscyxhKXtmdW5jdGlvbiB1KHQsZSxvKXt2YXIgbixzPSIkKCkuIitpKycoIicrZSsnIiknO3JldHVybiB0LmVhY2goZnVuY3Rpb24odCx1KXt2YXIgaD1hLmRhdGEodSxpKTtpZighaClyZXR1cm4gdm9pZCByKGkrIiBub3QgaW5pdGlhbGl6ZWQuIENhbm5vdCBjYWxsIG1ldGhvZHMsIGkuZS4gIitzKTt2YXIgZD1oW2VdO2lmKCFkfHwiXyI9PWUuY2hhckF0KDApKXJldHVybiB2b2lkIHIocysiIGlzIG5vdCBhIHZhbGlkIG1ldGhvZCIpO3ZhciBsPWQuYXBwbHkoaCxvKTtuPXZvaWQgMD09PW4/bDpufSksdm9pZCAwIT09bj9uOnR9ZnVuY3Rpb24gaCh0LGUpe3QuZWFjaChmdW5jdGlvbih0LG8pe3ZhciBuPWEuZGF0YShvLGkpO24/KG4ub3B0aW9uKGUpLG4uX2luaXQoKSk6KG49bmV3IHMobyxlKSxhLmRhdGEobyxpLG4pKX0pfWE9YXx8ZXx8dC5qUXVlcnksYSYmKHMucHJvdG90eXBlLm9wdGlvbnx8KHMucHJvdG90eXBlLm9wdGlvbj1mdW5jdGlvbih0KXthLmlzUGxhaW5PYmplY3QodCkmJih0aGlzLm9wdGlvbnM9YS5leHRlbmQoITAsdGhpcy5vcHRpb25zLHQpKX0pLGEuZm5baV09ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgZT1uLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiB1KHRoaXMsdCxlKX1yZXR1cm4gaCh0aGlzLHQpLHRoaXN9LG8oYSkpfWZ1bmN0aW9uIG8odCl7IXR8fHQmJnQuYnJpZGdldHx8KHQuYnJpZGdldD1pKX12YXIgbj1BcnJheS5wcm90b3R5cGUuc2xpY2Uscz10LmNvbnNvbGUscj0idW5kZWZpbmVkIj09dHlwZW9mIHM/ZnVuY3Rpb24oKXt9OmZ1bmN0aW9uKHQpe3MuZXJyb3IodCl9O3JldHVybiBvKGV8fHQualF1ZXJ5KSxpfSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgiZXYtZW1pdHRlci9ldi1lbWl0dGVyIixlKToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZSgpOnQuRXZFbWl0dGVyPWUoKX0oInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnRoaXMsZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXZhciBlPXQucHJvdG90eXBlO3JldHVybiBlLm9uPWZ1bmN0aW9uKHQsZSl7aWYodCYmZSl7dmFyIGk9dGhpcy5fZXZlbnRzPXRoaXMuX2V2ZW50c3x8e30sbz1pW3RdPWlbdF18fFtdO3JldHVybiBvLmluZGV4T2YoZSk9PS0xJiZvLnB1c2goZSksdGhpc319LGUub25jZT1mdW5jdGlvbih0LGUpe2lmKHQmJmUpe3RoaXMub24odCxlKTt2YXIgaT10aGlzLl9vbmNlRXZlbnRzPXRoaXMuX29uY2VFdmVudHN8fHt9LG89aVt0XT1pW3RdfHx7fTtyZXR1cm4gb1tlXT0hMCx0aGlzfX0sZS5vZmY9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50c1t0XTtpZihpJiZpLmxlbmd0aCl7dmFyIG89aS5pbmRleE9mKGUpO3JldHVybiBvIT0tMSYmaS5zcGxpY2UobywxKSx0aGlzfX0sZS5lbWl0RXZlbnQ9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50c1t0XTtpZihpJiZpLmxlbmd0aCl7aT1pLnNsaWNlKDApLGU9ZXx8W107Zm9yKHZhciBvPXRoaXMuX29uY2VFdmVudHMmJnRoaXMuX29uY2VFdmVudHNbdF0sbj0wO248aS5sZW5ndGg7bisrKXt2YXIgcz1pW25dLHI9byYmb1tzXTtyJiYodGhpcy5vZmYodCxzKSxkZWxldGUgb1tzXSkscy5hcHBseSh0aGlzLGUpfXJldHVybiB0aGlzfX0sZS5hbGxPZmY9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5fZXZlbnRzLGRlbGV0ZSB0aGlzLl9vbmNlRXZlbnRzfSx0fSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgiZ2V0LXNpemUvZ2V0LXNpemUiLGUpOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKCk6dC5nZXRTaXplPWUoKX0od2luZG93LGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQodCl7dmFyIGU9cGFyc2VGbG9hdCh0KSxpPXQuaW5kZXhPZigiJSIpPT0tMSYmIWlzTmFOKGUpO3JldHVybiBpJiZlfWZ1bmN0aW9uIGUoKXt9ZnVuY3Rpb24gaSgpe2Zvcih2YXIgdD17d2lkdGg6MCxoZWlnaHQ6MCxpbm5lcldpZHRoOjAsaW5uZXJIZWlnaHQ6MCxvdXRlcldpZHRoOjAsb3V0ZXJIZWlnaHQ6MH0sZT0wO2U8aDtlKyspe3ZhciBpPXVbZV07dFtpXT0wfXJldHVybiB0fWZ1bmN0aW9uIG8odCl7dmFyIGU9Z2V0Q29tcHV0ZWRTdHlsZSh0KTtyZXR1cm4gZXx8YSgiU3R5bGUgcmV0dXJuZWQgIitlKyIuIEFyZSB5b3UgcnVubmluZyB0aGlzIGNvZGUgaW4gYSBoaWRkZW4gaWZyYW1lIG9uIEZpcmVmb3g/IFNlZSBodHRwczovL2JpdC5seS9nZXRzaXplYnVnMSIpLGV9ZnVuY3Rpb24gbigpe2lmKCFkKXtkPSEwO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Uuc3R5bGUud2lkdGg9IjIwMHB4IixlLnN0eWxlLnBhZGRpbmc9IjFweCAycHggM3B4IDRweCIsZS5zdHlsZS5ib3JkZXJTdHlsZT0ic29saWQiLGUuc3R5bGUuYm9yZGVyV2lkdGg9IjFweCAycHggM3B4IDRweCIsZS5zdHlsZS5ib3hTaXppbmc9ImJvcmRlci1ib3giO3ZhciBpPWRvY3VtZW50LmJvZHl8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpLmFwcGVuZENoaWxkKGUpO3ZhciBuPW8oZSk7cj0yMDA9PU1hdGgucm91bmQodChuLndpZHRoKSkscy5pc0JveFNpemVPdXRlcj1yLGkucmVtb3ZlQ2hpbGQoZSl9fWZ1bmN0aW9uIHMoZSl7aWYobigpLCJzdHJpbmciPT10eXBlb2YgZSYmKGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlKSksZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlLm5vZGVUeXBlKXt2YXIgcz1vKGUpO2lmKCJub25lIj09cy5kaXNwbGF5KXJldHVybiBpKCk7dmFyIGE9e307YS53aWR0aD1lLm9mZnNldFdpZHRoLGEuaGVpZ2h0PWUub2Zmc2V0SGVpZ2h0O2Zvcih2YXIgZD1hLmlzQm9yZGVyQm94PSJib3JkZXItYm94Ij09cy5ib3hTaXppbmcsbD0wO2w8aDtsKyspe3ZhciBmPXVbbF0sYz1zW2ZdLG09cGFyc2VGbG9hdChjKTthW2ZdPWlzTmFOKG0pPzA6bX12YXIgcD1hLnBhZGRpbmdMZWZ0K2EucGFkZGluZ1JpZ2h0LHk9YS5wYWRkaW5nVG9wK2EucGFkZGluZ0JvdHRvbSxnPWEubWFyZ2luTGVmdCthLm1hcmdpblJpZ2h0LHY9YS5tYXJnaW5Ub3ArYS5tYXJnaW5Cb3R0b20sXz1hLmJvcmRlckxlZnRXaWR0aCthLmJvcmRlclJpZ2h0V2lkdGgsej1hLmJvcmRlclRvcFdpZHRoK2EuYm9yZGVyQm90dG9tV2lkdGgsST1kJiZyLHg9dChzLndpZHRoKTt4IT09ITEmJihhLndpZHRoPXgrKEk/MDpwK18pKTt2YXIgUz10KHMuaGVpZ2h0KTtyZXR1cm4gUyE9PSExJiYoYS5oZWlnaHQ9UysoST8wOnkreikpLGEuaW5uZXJXaWR0aD1hLndpZHRoLShwK18pLGEuaW5uZXJIZWlnaHQ9YS5oZWlnaHQtKHkreiksYS5vdXRlcldpZHRoPWEud2lkdGgrZyxhLm91dGVySGVpZ2h0PWEuaGVpZ2h0K3YsYX19dmFyIHIsYT0idW5kZWZpbmVkIj09dHlwZW9mIGNvbnNvbGU/ZTpmdW5jdGlvbih0KXtjb25zb2xlLmVycm9yKHQpfSx1PVsicGFkZGluZ0xlZnQiLCJwYWRkaW5nUmlnaHQiLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSIsIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSIsImJvcmRlckxlZnRXaWR0aCIsImJvcmRlclJpZ2h0V2lkdGgiLCJib3JkZXJUb3BXaWR0aCIsImJvcmRlckJvdHRvbVdpZHRoIl0saD11Lmxlbmd0aCxkPSExO3JldHVybiBzfSksZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImRlc2FuZHJvLW1hdGNoZXMtc2VsZWN0b3IvbWF0Y2hlcy1zZWxlY3RvciIsZSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUoKTp0Lm1hdGNoZXNTZWxlY3Rvcj1lKCl9KHdpbmRvdyxmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1mdW5jdGlvbigpe3ZhciB0PXdpbmRvdy5FbGVtZW50LnByb3RvdHlwZTtpZih0Lm1hdGNoZXMpcmV0dXJuIm1hdGNoZXMiO2lmKHQubWF0Y2hlc1NlbGVjdG9yKXJldHVybiJtYXRjaGVzU2VsZWN0b3IiO2Zvcih2YXIgZT1bIndlYmtpdCIsIm1veiIsIm1zIiwibyJdLGk9MDtpPGUubGVuZ3RoO2krKyl7dmFyIG89ZVtpXSxuPW8rIk1hdGNoZXNTZWxlY3RvciI7aWYodFtuXSlyZXR1cm4gbn19KCk7cmV0dXJuIGZ1bmN0aW9uKGUsaSl7cmV0dXJuIGVbdF0oaSl9fSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgiZml6enktdWktdXRpbHMvdXRpbHMiLFsiZGVzYW5kcm8tbWF0Y2hlcy1zZWxlY3Rvci9tYXRjaGVzLXNlbGVjdG9yIl0sZnVuY3Rpb24oaSl7cmV0dXJuIGUodCxpKX0pOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKHQscmVxdWlyZSgiZGVzYW5kcm8tbWF0Y2hlcy1zZWxlY3RvciIpKTp0LmZpenp5VUlVdGlscz1lKHQsdC5tYXRjaGVzU2VsZWN0b3IpfSh3aW5kb3csZnVuY3Rpb24odCxlKXt2YXIgaT17fTtpLmV4dGVuZD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKXRbaV09ZVtpXTtyZXR1cm4gdH0saS5tb2R1bG89ZnVuY3Rpb24odCxlKXtyZXR1cm4odCVlK2UpJWV9O3ZhciBvPUFycmF5LnByb3RvdHlwZS5zbGljZTtpLm1ha2VBcnJheT1mdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB0O2lmKG51bGw9PT10fHx2b2lkIDA9PT10KXJldHVybltdO3ZhciBlPSJvYmplY3QiPT10eXBlb2YgdCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aDtyZXR1cm4gZT9vLmNhbGwodCk6W3RdfSxpLnJlbW92ZUZyb209ZnVuY3Rpb24odCxlKXt2YXIgaT10LmluZGV4T2YoZSk7aSE9LTEmJnQuc3BsaWNlKGksMSl9LGkuZ2V0UGFyZW50PWZ1bmN0aW9uKHQsaSl7Zm9yKDt0LnBhcmVudE5vZGUmJnQhPWRvY3VtZW50LmJvZHk7KWlmKHQ9dC5wYXJlbnROb2RlLGUodCxpKSlyZXR1cm4gdH0saS5nZXRRdWVyeUVsZW1lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCk6dH0saS5oYW5kbGVFdmVudD1mdW5jdGlvbih0KXt2YXIgZT0ib24iK3QudHlwZTt0aGlzW2VdJiZ0aGlzW2VdKHQpfSxpLmZpbHRlckZpbmRFbGVtZW50cz1mdW5jdGlvbih0LG8pe3Q9aS5tYWtlQXJyYXkodCk7dmFyIG49W107cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbih0KXtpZih0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpe2lmKCFvKXJldHVybiB2b2lkIG4ucHVzaCh0KTtlKHQsbykmJm4ucHVzaCh0KTtmb3IodmFyIGk9dC5xdWVyeVNlbGVjdG9yQWxsKG8pLHM9MDtzPGkubGVuZ3RoO3MrKyluLnB1c2goaVtzXSl9fSksbn0saS5kZWJvdW5jZU1ldGhvZD1mdW5jdGlvbih0LGUsaSl7aT1pfHwxMDA7dmFyIG89dC5wcm90b3R5cGVbZV0sbj1lKyJUaW1lb3V0Ijt0LnByb3RvdHlwZVtlXT1mdW5jdGlvbigpe3ZhciB0PXRoaXNbbl07Y2xlYXJUaW1lb3V0KHQpO3ZhciBlPWFyZ3VtZW50cyxzPXRoaXM7dGhpc1tuXT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7by5hcHBseShzLGUpLGRlbGV0ZSBzW25dfSxpKX19LGkuZG9jUmVhZHk9ZnVuY3Rpb24odCl7dmFyIGU9ZG9jdW1lbnQucmVhZHlTdGF0ZTsiY29tcGxldGUiPT1lfHwiaW50ZXJhY3RpdmUiPT1lP3NldFRpbWVvdXQodCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsdCl9LGkudG9EYXNoZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZSgvKC4pKFtBLVpdKS9nLGZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gZSsiLSIraX0pLnRvTG93ZXJDYXNlKCl9O3ZhciBuPXQuY29uc29sZTtyZXR1cm4gaS5odG1sSW5pdD1mdW5jdGlvbihlLG8pe2kuZG9jUmVhZHkoZnVuY3Rpb24oKXt2YXIgcz1pLnRvRGFzaGVkKG8pLHI9ImRhdGEtIitzLGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiWyIrcisiXSIpLHU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmpzLSIrcyksaD1pLm1ha2VBcnJheShhKS5jb25jYXQoaS5tYWtlQXJyYXkodSkpLGQ9cisiLW9wdGlvbnMiLGw9dC5qUXVlcnk7aC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBpLHM9dC5nZXRBdHRyaWJ1dGUocil8fHQuZ2V0QXR0cmlidXRlKGQpO3RyeXtpPXMmJkpTT04ucGFyc2Uocyl9Y2F0Y2goYSl7cmV0dXJuIHZvaWQobiYmbi5lcnJvcigiRXJyb3IgcGFyc2luZyAiK3IrIiBvbiAiK3QuY2xhc3NOYW1lKyI6ICIrYSkpfXZhciB1PW5ldyBlKHQsaSk7bCYmbC5kYXRhKHQsbyx1KX0pfSl9LGl9KSxmdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJvdXRsYXllci9pdGVtIixbImV2LWVtaXR0ZXIvZXYtZW1pdHRlciIsImdldC1zaXplL2dldC1zaXplIl0sZSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUocmVxdWlyZSgiZXYtZW1pdHRlciIpLHJlcXVpcmUoImdldC1zaXplIikpOih0Lk91dGxheWVyPXt9LHQuT3V0bGF5ZXIuSXRlbT1lKHQuRXZFbWl0dGVyLHQuZ2V0U2l6ZSkpfSh3aW5kb3csZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGUgaW4gdClyZXR1cm4hMTtyZXR1cm4gZT1udWxsLCEwfWZ1bmN0aW9uIG8odCxlKXt0JiYodGhpcy5lbGVtZW50PXQsdGhpcy5sYXlvdXQ9ZSx0aGlzLnBvc2l0aW9uPXt4OjAseTowfSx0aGlzLl9jcmVhdGUoKSl9ZnVuY3Rpb24gbih0KXtyZXR1cm4gdC5yZXBsYWNlKC8oW0EtWl0pL2csZnVuY3Rpb24odCl7cmV0dXJuIi0iK3QudG9Mb3dlckNhc2UoKX0pfXZhciBzPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSxyPSJzdHJpbmciPT10eXBlb2Ygcy50cmFuc2l0aW9uPyJ0cmFuc2l0aW9uIjoiV2Via2l0VHJhbnNpdGlvbiIsYT0ic3RyaW5nIj09dHlwZW9mIHMudHJhbnNmb3JtPyJ0cmFuc2Zvcm0iOiJXZWJraXRUcmFuc2Zvcm0iLHU9e1dlYmtpdFRyYW5zaXRpb246IndlYmtpdFRyYW5zaXRpb25FbmQiLHRyYW5zaXRpb246InRyYW5zaXRpb25lbmQifVtyXSxoPXt0cmFuc2Zvcm06YSx0cmFuc2l0aW9uOnIsdHJhbnNpdGlvbkR1cmF0aW9uOnIrIkR1cmF0aW9uIix0cmFuc2l0aW9uUHJvcGVydHk6cisiUHJvcGVydHkiLHRyYW5zaXRpb25EZWxheTpyKyJEZWxheSJ9LGQ9by5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0LnByb3RvdHlwZSk7ZC5jb25zdHJ1Y3Rvcj1vLGQuX2NyZWF0ZT1mdW5jdGlvbigpe3RoaXMuX3RyYW5zbj17aW5nUHJvcGVydGllczp7fSxjbGVhbjp7fSxvbkVuZDp7fX0sdGhpcy5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSJ9KX0sZC5oYW5kbGVFdmVudD1mdW5jdGlvbih0KXt2YXIgZT0ib24iK3QudHlwZTt0aGlzW2VdJiZ0aGlzW2VdKHQpfSxkLmdldFNpemU9ZnVuY3Rpb24oKXt0aGlzLnNpemU9ZSh0aGlzLmVsZW1lbnQpfSxkLmNzcz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmVsZW1lbnQuc3R5bGU7Zm9yKHZhciBpIGluIHQpe3ZhciBvPWhbaV18fGk7ZVtvXT10W2ldfX0sZC5nZXRQb3NpdGlvbj1mdW5jdGlvbigpe3ZhciB0PWdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50KSxlPXRoaXMubGF5b3V0Ll9nZXRPcHRpb24oIm9yaWdpbkxlZnQiKSxpPXRoaXMubGF5b3V0Ll9nZXRPcHRpb24oIm9yaWdpblRvcCIpLG89dFtlPyJsZWZ0IjoicmlnaHQiXSxuPXRbaT8idG9wIjoiYm90dG9tIl0scz1wYXJzZUZsb2F0KG8pLHI9cGFyc2VGbG9hdChuKSxhPXRoaXMubGF5b3V0LnNpemU7by5pbmRleE9mKCIlIikhPS0xJiYocz1zLzEwMCphLndpZHRoKSxuLmluZGV4T2YoIiUiKSE9LTEmJihyPXIvMTAwKmEuaGVpZ2h0KSxzPWlzTmFOKHMpPzA6cyxyPWlzTmFOKHIpPzA6cixzLT1lP2EucGFkZGluZ0xlZnQ6YS5wYWRkaW5nUmlnaHQsci09aT9hLnBhZGRpbmdUb3A6YS5wYWRkaW5nQm90dG9tLHRoaXMucG9zaXRpb24ueD1zLHRoaXMucG9zaXRpb24ueT1yfSxkLmxheW91dFBvc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5sYXlvdXQuc2l6ZSxlPXt9LGk9dGhpcy5sYXlvdXQuX2dldE9wdGlvbigib3JpZ2luTGVmdCIpLG89dGhpcy5sYXlvdXQuX2dldE9wdGlvbigib3JpZ2luVG9wIiksbj1pPyJwYWRkaW5nTGVmdCI6InBhZGRpbmdSaWdodCIscz1pPyJsZWZ0IjoicmlnaHQiLHI9aT8icmlnaHQiOiJsZWZ0IixhPXRoaXMucG9zaXRpb24ueCt0W25dO2Vbc109dGhpcy5nZXRYVmFsdWUoYSksZVtyXT0iIjt2YXIgdT1vPyJwYWRkaW5nVG9wIjoicGFkZGluZ0JvdHRvbSIsaD1vPyJ0b3AiOiJib3R0b20iLGQ9bz8iYm90dG9tIjoidG9wIixsPXRoaXMucG9zaXRpb24ueSt0W3VdO2VbaF09dGhpcy5nZXRZVmFsdWUobCksZVtkXT0iIix0aGlzLmNzcyhlKSx0aGlzLmVtaXRFdmVudCgibGF5b3V0IixbdGhpc10pfSxkLmdldFhWYWx1ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmxheW91dC5fZ2V0T3B0aW9uKCJob3Jpem9udGFsIik7cmV0dXJuIHRoaXMubGF5b3V0Lm9wdGlvbnMucGVyY2VudFBvc2l0aW9uJiYhZT90L3RoaXMubGF5b3V0LnNpemUud2lkdGgqMTAwKyIlIjp0KyJweCJ9LGQuZ2V0WVZhbHVlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGF5b3V0Ll9nZXRPcHRpb24oImhvcml6b250YWwiKTtyZXR1cm4gdGhpcy5sYXlvdXQub3B0aW9ucy5wZXJjZW50UG9zaXRpb24mJmU/dC90aGlzLmxheW91dC5zaXplLmhlaWdodCoxMDArIiUiOnQrInB4In0sZC5fdHJhbnNpdGlvblRvPWZ1bmN0aW9uKHQsZSl7dGhpcy5nZXRQb3NpdGlvbigpO3ZhciBpPXRoaXMucG9zaXRpb24ueCxvPXRoaXMucG9zaXRpb24ueSxuPXQ9PXRoaXMucG9zaXRpb24ueCYmZT09dGhpcy5wb3NpdGlvbi55O2lmKHRoaXMuc2V0UG9zaXRpb24odCxlKSxuJiYhdGhpcy5pc1RyYW5zaXRpb25pbmcpcmV0dXJuIHZvaWQgdGhpcy5sYXlvdXRQb3NpdGlvbigpO3ZhciBzPXQtaSxyPWUtbyxhPXt9O2EudHJhbnNmb3JtPXRoaXMuZ2V0VHJhbnNsYXRlKHMsciksdGhpcy50cmFuc2l0aW9uKHt0bzphLG9uVHJhbnNpdGlvbkVuZDp7dHJhbnNmb3JtOnRoaXMubGF5b3V0UG9zaXRpb259LGlzQ2xlYW5pbmc6ITB9KX0sZC5nZXRUcmFuc2xhdGU9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLmxheW91dC5fZ2V0T3B0aW9uKCJvcmlnaW5MZWZ0Iiksbz10aGlzLmxheW91dC5fZ2V0T3B0aW9uKCJvcmlnaW5Ub3AiKTtyZXR1cm4gdD1pP3Q6LXQsZT1vP2U6LWUsInRyYW5zbGF0ZTNkKCIrdCsicHgsICIrZSsicHgsIDApIn0sZC5nb1RvPWZ1bmN0aW9uKHQsZSl7dGhpcy5zZXRQb3NpdGlvbih0LGUpLHRoaXMubGF5b3V0UG9zaXRpb24oKX0sZC5tb3ZlVG89ZC5fdHJhbnNpdGlvblRvLGQuc2V0UG9zaXRpb249ZnVuY3Rpb24odCxlKXt0aGlzLnBvc2l0aW9uLng9cGFyc2VGbG9hdCh0KSx0aGlzLnBvc2l0aW9uLnk9cGFyc2VGbG9hdChlKX0sZC5fbm9uVHJhbnNpdGlvbj1mdW5jdGlvbih0KXt0aGlzLmNzcyh0LnRvKSx0LmlzQ2xlYW5pbmcmJnRoaXMuX3JlbW92ZVN0eWxlcyh0LnRvKTtmb3IodmFyIGUgaW4gdC5vblRyYW5zaXRpb25FbmQpdC5vblRyYW5zaXRpb25FbmRbZV0uY2FsbCh0aGlzKX0sZC50cmFuc2l0aW9uPWZ1bmN0aW9uKHQpe2lmKCFwYXJzZUZsb2F0KHRoaXMubGF5b3V0Lm9wdGlvbnMudHJhbnNpdGlvbkR1cmF0aW9uKSlyZXR1cm4gdm9pZCB0aGlzLl9ub25UcmFuc2l0aW9uKHQpO3ZhciBlPXRoaXMuX3RyYW5zbjtmb3IodmFyIGkgaW4gdC5vblRyYW5zaXRpb25FbmQpZS5vbkVuZFtpXT10Lm9uVHJhbnNpdGlvbkVuZFtpXTtmb3IoaSBpbiB0LnRvKWUuaW5nUHJvcGVydGllc1tpXT0hMCx0LmlzQ2xlYW5pbmcmJihlLmNsZWFuW2ldPSEwKTtpZih0LmZyb20pe3RoaXMuY3NzKHQuZnJvbSk7dmFyIG89dGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodDtvPW51bGx9dGhpcy5lbmFibGVUcmFuc2l0aW9uKHQudG8pLHRoaXMuY3NzKHQudG8pLHRoaXMuaXNUcmFuc2l0aW9uaW5nPSEwfTt2YXIgbD0ib3BhY2l0eSwiK24oYSk7ZC5lbmFibGVUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7aWYoIXRoaXMuaXNUcmFuc2l0aW9uaW5nKXt2YXIgdD10aGlzLmxheW91dC5vcHRpb25zLnRyYW5zaXRpb25EdXJhdGlvbjt0PSJudW1iZXIiPT10eXBlb2YgdD90KyJtcyI6dCx0aGlzLmNzcyh7dHJhbnNpdGlvblByb3BlcnR5OmwsdHJhbnNpdGlvbkR1cmF0aW9uOnQsdHJhbnNpdGlvbkRlbGF5OnRoaXMuc3RhZ2dlckRlbGF5fHwwfSksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodSx0aGlzLCExKX19LGQub253ZWJraXRUcmFuc2l0aW9uRW5kPWZ1bmN0aW9uKHQpe3RoaXMub250cmFuc2l0aW9uZW5kKHQpfSxkLm9ub3RyYW5zaXRpb25lbmQ9ZnVuY3Rpb24odCl7dGhpcy5vbnRyYW5zaXRpb25lbmQodCl9O3ZhciBmPXsiLXdlYmtpdC10cmFuc2Zvcm0iOiJ0cmFuc2Zvcm0ifTtkLm9udHJhbnNpdGlvbmVuZD1mdW5jdGlvbih0KXtpZih0LnRhcmdldD09PXRoaXMuZWxlbWVudCl7dmFyIGU9dGhpcy5fdHJhbnNuLG89Zlt0LnByb3BlcnR5TmFtZV18fHQucHJvcGVydHlOYW1lO2lmKGRlbGV0ZSBlLmluZ1Byb3BlcnRpZXNbb10saShlLmluZ1Byb3BlcnRpZXMpJiZ0aGlzLmRpc2FibGVUcmFuc2l0aW9uKCksbyBpbiBlLmNsZWFuJiYodGhpcy5lbGVtZW50LnN0eWxlW3QucHJvcGVydHlOYW1lXT0iIixkZWxldGUgZS5jbGVhbltvXSksbyBpbiBlLm9uRW5kKXt2YXIgbj1lLm9uRW5kW29dO24uY2FsbCh0aGlzKSxkZWxldGUgZS5vbkVuZFtvXX10aGlzLmVtaXRFdmVudCgidHJhbnNpdGlvbkVuZCIsW3RoaXNdKX19LGQuZGlzYWJsZVRyYW5zaXRpb249ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZVRyYW5zaXRpb25TdHlsZXMoKSx0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih1LHRoaXMsITEpLHRoaXMuaXNUcmFuc2l0aW9uaW5nPSExfSxkLl9yZW1vdmVTdHlsZXM9ZnVuY3Rpb24odCl7dmFyIGU9e307Zm9yKHZhciBpIGluIHQpZVtpXT0iIjt0aGlzLmNzcyhlKX07dmFyIGM9e3RyYW5zaXRpb25Qcm9wZXJ0eToiIix0cmFuc2l0aW9uRHVyYXRpb246IiIsdHJhbnNpdGlvbkRlbGF5OiIifTtyZXR1cm4gZC5yZW1vdmVUcmFuc2l0aW9uU3R5bGVzPWZ1bmN0aW9uKCl7dGhpcy5jc3MoYyl9LGQuc3RhZ2dlcj1mdW5jdGlvbih0KXt0PWlzTmFOKHQpPzA6dCx0aGlzLnN0YWdnZXJEZWxheT10KyJtcyJ9LGQucmVtb3ZlRWxlbT1mdW5jdGlvbigpe3RoaXMuZWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWxlbWVudCksdGhpcy5jc3Moe2Rpc3BsYXk6IiJ9KSx0aGlzLmVtaXRFdmVudCgicmVtb3ZlIixbdGhpc10pfSxkLnJlbW92ZT1mdW5jdGlvbigpe3JldHVybiByJiZwYXJzZUZsb2F0KHRoaXMubGF5b3V0Lm9wdGlvbnMudHJhbnNpdGlvbkR1cmF0aW9uKT8odGhpcy5vbmNlKCJ0cmFuc2l0aW9uRW5kIixmdW5jdGlvbigpe3RoaXMucmVtb3ZlRWxlbSgpfSksdm9pZCB0aGlzLmhpZGUoKSk6dm9pZCB0aGlzLnJlbW92ZUVsZW0oKX0sZC5yZXZlYWw9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5pc0hpZGRlbix0aGlzLmNzcyh7ZGlzcGxheToiIn0pO3ZhciB0PXRoaXMubGF5b3V0Lm9wdGlvbnMsZT17fSxpPXRoaXMuZ2V0SGlkZVJldmVhbFRyYW5zaXRpb25FbmRQcm9wZXJ0eSgidmlzaWJsZVN0eWxlIik7ZVtpXT10aGlzLm9uUmV2ZWFsVHJhbnNpdGlvbkVuZCx0aGlzLnRyYW5zaXRpb24oe2Zyb206dC5oaWRkZW5TdHlsZSx0bzp0LnZpc2libGVTdHlsZSxpc0NsZWFuaW5nOiEwLG9uVHJhbnNpdGlvbkVuZDplfSl9LGQub25SZXZlYWxUcmFuc2l0aW9uRW5kPWZ1bmN0aW9uKCl7dGhpcy5pc0hpZGRlbnx8dGhpcy5lbWl0RXZlbnQoInJldmVhbCIpfSxkLmdldEhpZGVSZXZlYWxUcmFuc2l0aW9uRW5kUHJvcGVydHk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5sYXlvdXQub3B0aW9uc1t0XTtpZihlLm9wYWNpdHkpcmV0dXJuIm9wYWNpdHkiO2Zvcih2YXIgaSBpbiBlKXJldHVybiBpfSxkLmhpZGU9ZnVuY3Rpb24oKXt0aGlzLmlzSGlkZGVuPSEwLHRoaXMuY3NzKHtkaXNwbGF5OiIifSk7dmFyIHQ9dGhpcy5sYXlvdXQub3B0aW9ucyxlPXt9LGk9dGhpcy5nZXRIaWRlUmV2ZWFsVHJhbnNpdGlvbkVuZFByb3BlcnR5KCJoaWRkZW5TdHlsZSIpO2VbaV09dGhpcy5vbkhpZGVUcmFuc2l0aW9uRW5kLHRoaXMudHJhbnNpdGlvbih7ZnJvbTp0LnZpc2libGVTdHlsZSx0bzp0LmhpZGRlblN0eWxlLGlzQ2xlYW5pbmc6ITAsb25UcmFuc2l0aW9uRW5kOmV9KX0sZC5vbkhpZGVUcmFuc2l0aW9uRW5kPWZ1bmN0aW9uKCl7dGhpcy5pc0hpZGRlbiYmKHRoaXMuY3NzKHtkaXNwbGF5OiJub25lIn0pLHRoaXMuZW1pdEV2ZW50KCJoaWRlIikpfSxkLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLmNzcyh7cG9zaXRpb246IiIsbGVmdDoiIixyaWdodDoiIix0b3A6IiIsYm90dG9tOiIiLHRyYW5zaXRpb246IiIsdHJhbnNmb3JtOiIifSl9LG99KSxmdW5jdGlvbih0LGUpeyJ1c2Ugc3RyaWN0IjsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgib3V0bGF5ZXIvb3V0bGF5ZXIiLFsiZXYtZW1pdHRlci9ldi1lbWl0dGVyIiwiZ2V0LXNpemUvZ2V0LXNpemUiLCJmaXp6eS11aS11dGlscy91dGlscyIsIi4vaXRlbSJdLGZ1bmN0aW9uKGksbyxuLHMpe3JldHVybiBlKHQsaSxvLG4scyl9KToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZSh0LHJlcXVpcmUoImV2LWVtaXR0ZXIiKSxyZXF1aXJlKCJnZXQtc2l6ZSIpLHJlcXVpcmUoImZpenp5LXVpLXV0aWxzIikscmVxdWlyZSgiLi9pdGVtIikpOnQuT3V0bGF5ZXI9ZSh0LHQuRXZFbWl0dGVyLHQuZ2V0U2l6ZSx0LmZpenp5VUlVdGlscyx0Lk91dGxheWVyLkl0ZW0pfSh3aW5kb3csZnVuY3Rpb24odCxlLGksbyxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcyh0LGUpe3ZhciBpPW8uZ2V0UXVlcnlFbGVtZW50KHQpO2lmKCFpKXJldHVybiB2b2lkKHUmJnUuZXJyb3IoIkJhZCBlbGVtZW50IGZvciAiK3RoaXMuY29uc3RydWN0b3IubmFtZXNwYWNlKyI6ICIrKGl8fHQpKSk7dGhpcy5lbGVtZW50PWksaCYmKHRoaXMuJGVsZW1lbnQ9aCh0aGlzLmVsZW1lbnQpKSx0aGlzLm9wdGlvbnM9by5leHRlbmQoe30sdGhpcy5jb25zdHJ1Y3Rvci5kZWZhdWx0cyksdGhpcy5vcHRpb24oZSk7dmFyIG49KytsO3RoaXMuZWxlbWVudC5vdXRsYXllckdVSUQ9bixmW25dPXRoaXMsdGhpcy5fY3JlYXRlKCk7dmFyIHM9dGhpcy5fZ2V0T3B0aW9uKCJpbml0TGF5b3V0Iik7cyYmdGhpcy5sYXlvdXQoKX1mdW5jdGlvbiByKHQpe2Z1bmN0aW9uIGUoKXt0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0LnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlfWZ1bmN0aW9uIGEodCl7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0O3ZhciBlPXQubWF0Y2goLyheXGQqXC4/XGQqKShcdyopLyksaT1lJiZlWzFdLG89ZSYmZVsyXTtpZighaS5sZW5ndGgpcmV0dXJuIDA7aT1wYXJzZUZsb2F0KGkpO3ZhciBuPW1bb118fDE7cmV0dXJuIGkqbn12YXIgdT10LmNvbnNvbGUsaD10LmpRdWVyeSxkPWZ1bmN0aW9uKCl7fSxsPTAsZj17fTtzLm5hbWVzcGFjZT0ib3V0bGF5ZXIiLHMuSXRlbT1uLHMuZGVmYXVsdHM9e2NvbnRhaW5lclN0eWxlOntwb3NpdGlvbjoicmVsYXRpdmUifSxpbml0TGF5b3V0OiEwLG9yaWdpbkxlZnQ6ITAsb3JpZ2luVG9wOiEwLHJlc2l6ZTohMCxyZXNpemVDb250YWluZXI6ITAsdHJhbnNpdGlvbkR1cmF0aW9uOiIwLjRzIixoaWRkZW5TdHlsZTp7b3BhY2l0eTowLHRyYW5zZm9ybToic2NhbGUoMC4wMDEpIn0sdmlzaWJsZVN0eWxlOntvcGFjaXR5OjEsdHJhbnNmb3JtOiJzY2FsZSgxKSJ9fTt2YXIgYz1zLnByb3RvdHlwZTtvLmV4dGVuZChjLGUucHJvdG90eXBlKSxjLm9wdGlvbj1mdW5jdGlvbih0KXtvLmV4dGVuZCh0aGlzLm9wdGlvbnMsdCl9LGMuX2dldE9wdGlvbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmNvbnN0cnVjdG9yLmNvbXBhdE9wdGlvbnNbdF07cmV0dXJuIGUmJnZvaWQgMCE9PXRoaXMub3B0aW9uc1tlXT90aGlzLm9wdGlvbnNbZV06dGhpcy5vcHRpb25zW3RdfSxzLmNvbXBhdE9wdGlvbnM9e2luaXRMYXlvdXQ6ImlzSW5pdExheW91dCIsaG9yaXpvbnRhbDoiaXNIb3Jpem9udGFsIixsYXlvdXRJbnN0YW50OiJpc0xheW91dEluc3RhbnQiLG9yaWdpbkxlZnQ6ImlzT3JpZ2luTGVmdCIsb3JpZ2luVG9wOiJpc09yaWdpblRvcCIscmVzaXplOiJpc1Jlc2l6ZUJvdW5kIixyZXNpemVDb250YWluZXI6ImlzUmVzaXppbmdDb250YWluZXIifSxjLl9jcmVhdGU9ZnVuY3Rpb24oKXt0aGlzLnJlbG9hZEl0ZW1zKCksdGhpcy5zdGFtcHM9W10sdGhpcy5zdGFtcCh0aGlzLm9wdGlvbnMuc3RhbXApLG8uZXh0ZW5kKHRoaXMuZWxlbWVudC5zdHlsZSx0aGlzLm9wdGlvbnMuY29udGFpbmVyU3R5bGUpO3ZhciB0PXRoaXMuX2dldE9wdGlvbigicmVzaXplIik7dCYmdGhpcy5iaW5kUmVzaXplKCl9LGMucmVsb2FkSXRlbXM9ZnVuY3Rpb24oKXt0aGlzLml0ZW1zPXRoaXMuX2l0ZW1pemUodGhpcy5lbGVtZW50LmNoaWxkcmVuKX0sYy5faXRlbWl6ZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy5fZmlsdGVyRmluZEl0ZW1FbGVtZW50cyh0KSxpPXRoaXMuY29uc3RydWN0b3IuSXRlbSxvPVtdLG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHM9ZVtuXSxyPW5ldyBpKHMsdGhpcyk7by5wdXNoKHIpfXJldHVybiBvfSxjLl9maWx0ZXJGaW5kSXRlbUVsZW1lbnRzPWZ1bmN0aW9uKHQpe3JldHVybiBvLmZpbHRlckZpbmRFbGVtZW50cyh0LHRoaXMub3B0aW9ucy5pdGVtU2VsZWN0b3IpfSxjLmdldEl0ZW1FbGVtZW50cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZW1zLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5lbGVtZW50fSl9LGMubGF5b3V0PWZ1bmN0aW9uKCl7dGhpcy5fcmVzZXRMYXlvdXQoKSx0aGlzLl9tYW5hZ2VTdGFtcHMoKTt2YXIgdD10aGlzLl9nZXRPcHRpb24oImxheW91dEluc3RhbnQiKSxlPXZvaWQgMCE9PXQ/dDohdGhpcy5faXNMYXlvdXRJbml0ZWQ7dGhpcy5sYXlvdXRJdGVtcyh0aGlzLml0ZW1zLGUpLHRoaXMuX2lzTGF5b3V0SW5pdGVkPSEwfSxjLl9pbml0PWMubGF5b3V0LGMuX3Jlc2V0TGF5b3V0PWZ1bmN0aW9uKCl7dGhpcy5nZXRTaXplKCl9LGMuZ2V0U2l6ZT1mdW5jdGlvbigpe3RoaXMuc2l6ZT1pKHRoaXMuZWxlbWVudCl9LGMuX2dldE1lYXN1cmVtZW50PWZ1bmN0aW9uKHQsZSl7dmFyIG8sbj10aGlzLm9wdGlvbnNbdF07bj8oInN0cmluZyI9PXR5cGVvZiBuP289dGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3Iobik6biBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYobz1uKSx0aGlzW3RdPW8/aShvKVtlXTpuKTp0aGlzW3RdPTB9LGMubGF5b3V0SXRlbXM9ZnVuY3Rpb24odCxlKXt0PXRoaXMuX2dldEl0ZW1zRm9yTGF5b3V0KHQpLHRoaXMuX2xheW91dEl0ZW1zKHQsZSksdGhpcy5fcG9zdExheW91dCgpfSxjLl9nZXRJdGVtc0ZvckxheW91dD1mdW5jdGlvbih0KXtyZXR1cm4gdC5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIXQuaXNJZ25vcmVkfSl9LGMuX2xheW91dEl0ZW1zPWZ1bmN0aW9uKHQsZSl7aWYodGhpcy5fZW1pdENvbXBsZXRlT25JdGVtcygibGF5b3V0Iix0KSx0JiZ0Lmxlbmd0aCl7dmFyIGk9W107dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBvPXRoaXMuX2dldEl0ZW1MYXlvdXRQb3NpdGlvbih0KTtvLml0ZW09dCxvLmlzSW5zdGFudD1lfHx0LmlzTGF5b3V0SW5zdGFudCxpLnB1c2gobyl9LHRoaXMpLHRoaXMuX3Byb2Nlc3NMYXlvdXRRdWV1ZShpKX19LGMuX2dldEl0ZW1MYXlvdXRQb3NpdGlvbj1mdW5jdGlvbigpe3JldHVybnt4OjAseTowfX0sYy5fcHJvY2Vzc0xheW91dFF1ZXVlPWZ1bmN0aW9uKHQpe3RoaXMudXBkYXRlU3RhZ2dlcigpLHQuZm9yRWFjaChmdW5jdGlvbih0LGUpe3RoaXMuX3Bvc2l0aW9uSXRlbSh0Lml0ZW0sdC54LHQueSx0LmlzSW5zdGFudCxlKX0sdGhpcyl9LGMudXBkYXRlU3RhZ2dlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy5zdGFnZ2VyO3JldHVybiBudWxsPT09dHx8dm9pZCAwPT09dD92b2lkKHRoaXMuc3RhZ2dlcj0wKToodGhpcy5zdGFnZ2VyPWEodCksdGhpcy5zdGFnZ2VyKX0sYy5fcG9zaXRpb25JdGVtPWZ1bmN0aW9uKHQsZSxpLG8sbil7bz90LmdvVG8oZSxpKToodC5zdGFnZ2VyKG4qdGhpcy5zdGFnZ2VyKSx0Lm1vdmVUbyhlLGkpKX0sYy5fcG9zdExheW91dD1mdW5jdGlvbigpe3RoaXMucmVzaXplQ29udGFpbmVyKCl9LGMucmVzaXplQ29udGFpbmVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0T3B0aW9uKCJyZXNpemVDb250YWluZXIiKTtpZih0KXt2YXIgZT10aGlzLl9nZXRDb250YWluZXJTaXplKCk7ZSYmKHRoaXMuX3NldENvbnRhaW5lck1lYXN1cmUoZS53aWR0aCwhMCksdGhpcy5fc2V0Q29udGFpbmVyTWVhc3VyZShlLmhlaWdodCwhMSkpfX0sYy5fZ2V0Q29udGFpbmVyU2l6ZT1kLGMuX3NldENvbnRhaW5lck1lYXN1cmU9ZnVuY3Rpb24odCxlKXtpZih2b2lkIDAhPT10KXt2YXIgaT10aGlzLnNpemU7aS5pc0JvcmRlckJveCYmKHQrPWU/aS5wYWRkaW5nTGVmdCtpLnBhZGRpbmdSaWdodCtpLmJvcmRlckxlZnRXaWR0aCtpLmJvcmRlclJpZ2h0V2lkdGg6aS5wYWRkaW5nQm90dG9tK2kucGFkZGluZ1RvcCtpLmJvcmRlclRvcFdpZHRoK2kuYm9yZGVyQm90dG9tV2lkdGgpLHQ9TWF0aC5tYXgodCwwKSx0aGlzLmVsZW1lbnQuc3R5bGVbZT8id2lkdGgiOiJoZWlnaHQiXT10KyJweCJ9fSxjLl9lbWl0Q29tcGxldGVPbkl0ZW1zPWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gaSgpe24uZGlzcGF0Y2hFdmVudCh0KyJDb21wbGV0ZSIsbnVsbCxbZV0pfWZ1bmN0aW9uIG8oKXtyKysscj09cyYmaSgpfXZhciBuPXRoaXMscz1lLmxlbmd0aDtpZighZXx8IXMpcmV0dXJuIHZvaWQgaSgpO3ZhciByPTA7ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2Uub25jZSh0LG8pfSl9LGMuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbih0LGUsaSl7dmFyIG89ZT9bZV0uY29uY2F0KGkpOmk7aWYodGhpcy5lbWl0RXZlbnQodCxvKSxoKWlmKHRoaXMuJGVsZW1lbnQ9dGhpcy4kZWxlbWVudHx8aCh0aGlzLmVsZW1lbnQpLGUpe3ZhciBuPWguRXZlbnQoZSk7bi50eXBlPXQsdGhpcy4kZWxlbWVudC50cmlnZ2VyKG4saSl9ZWxzZSB0aGlzLiRlbGVtZW50LnRyaWdnZXIodCxpKX0sYy5pZ25vcmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5nZXRJdGVtKHQpO2UmJihlLmlzSWdub3JlZD0hMCl9LGMudW5pZ25vcmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5nZXRJdGVtKHQpO2UmJmRlbGV0ZSBlLmlzSWdub3JlZH0sYy5zdGFtcD1mdW5jdGlvbih0KXt0PXRoaXMuX2ZpbmQodCksdCYmKHRoaXMuc3RhbXBzPXRoaXMuc3RhbXBzLmNvbmNhdCh0KSx0LmZvckVhY2godGhpcy5pZ25vcmUsdGhpcykpfSxjLnVuc3RhbXA9ZnVuY3Rpb24odCl7dD10aGlzLl9maW5kKHQpLHQmJnQuZm9yRWFjaChmdW5jdGlvbih0KXtvLnJlbW92ZUZyb20odGhpcy5zdGFtcHMsdCksdGhpcy51bmlnbm9yZSh0KX0sdGhpcyl9LGMuX2ZpbmQ9ZnVuY3Rpb24odCl7aWYodClyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJih0PXRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKHQpKSx0PW8ubWFrZUFycmF5KHQpfSxjLl9tYW5hZ2VTdGFtcHM9ZnVuY3Rpb24oKXt0aGlzLnN0YW1wcyYmdGhpcy5zdGFtcHMubGVuZ3RoJiYodGhpcy5fZ2V0Qm91bmRpbmdSZWN0KCksdGhpcy5zdGFtcHMuZm9yRWFjaCh0aGlzLl9tYW5hZ2VTdGFtcCx0aGlzKSl9LGMuX2dldEJvdW5kaW5nUmVjdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxlPXRoaXMuc2l6ZTt0aGlzLl9ib3VuZGluZ1JlY3Q9e2xlZnQ6dC5sZWZ0K2UucGFkZGluZ0xlZnQrZS5ib3JkZXJMZWZ0V2lkdGgsdG9wOnQudG9wK2UucGFkZGluZ1RvcCtlLmJvcmRlclRvcFdpZHRoLHJpZ2h0OnQucmlnaHQtKGUucGFkZGluZ1JpZ2h0K2UuYm9yZGVyUmlnaHRXaWR0aCksYm90dG9tOnQuYm90dG9tLShlLnBhZGRpbmdCb3R0b20rZS5ib3JkZXJCb3R0b21XaWR0aCl9fSxjLl9tYW5hZ2VTdGFtcD1kLGMuX2dldEVsZW1lbnRPZmZzZXQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPXRoaXMuX2JvdW5kaW5nUmVjdCxuPWkodCkscz17bGVmdDplLmxlZnQtby5sZWZ0LW4ubWFyZ2luTGVmdCx0b3A6ZS50b3Atby50b3Atbi5tYXJnaW5Ub3AscmlnaHQ6by5yaWdodC1lLnJpZ2h0LW4ubWFyZ2luUmlnaHQsYm90dG9tOm8uYm90dG9tLWUuYm90dG9tLW4ubWFyZ2luQm90dG9tfTtyZXR1cm4gc30sYy5oYW5kbGVFdmVudD1vLmhhbmRsZUV2ZW50LGMuYmluZFJlc2l6ZT1mdW5jdGlvbigpe3QuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzKSx0aGlzLmlzUmVzaXplQm91bmQ9ITB9LGMudW5iaW5kUmVzaXplPWZ1bmN0aW9uKCl7dC5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMpLHRoaXMuaXNSZXNpemVCb3VuZD0hMX0sYy5vbnJlc2l6ZT1mdW5jdGlvbigpe3RoaXMucmVzaXplKCl9LG8uZGVib3VuY2VNZXRob2Qocywib25yZXNpemUiLDEwMCksYy5yZXNpemU9ZnVuY3Rpb24oKXt0aGlzLmlzUmVzaXplQm91bmQmJnRoaXMubmVlZHNSZXNpemVMYXlvdXQoKSYmdGhpcy5sYXlvdXQoKX0sYy5uZWVkc1Jlc2l6ZUxheW91dD1mdW5jdGlvbigpe3ZhciB0PWkodGhpcy5lbGVtZW50KSxlPXRoaXMuc2l6ZSYmdDtyZXR1cm4gZSYmdC5pbm5lcldpZHRoIT09dGhpcy5zaXplLmlubmVyV2lkdGh9LGMuYWRkSXRlbXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5faXRlbWl6ZSh0KTtyZXR1cm4gZS5sZW5ndGgmJih0aGlzLml0ZW1zPXRoaXMuaXRlbXMuY29uY2F0KGUpKSxlfSxjLmFwcGVuZGVkPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuYWRkSXRlbXModCk7ZS5sZW5ndGgmJih0aGlzLmxheW91dEl0ZW1zKGUsITApLHRoaXMucmV2ZWFsKGUpKX0sYy5wcmVwZW5kZWQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5faXRlbWl6ZSh0KTtpZihlLmxlbmd0aCl7dmFyIGk9dGhpcy5pdGVtcy5zbGljZSgwKTt0aGlzLml0ZW1zPWUuY29uY2F0KGkpLHRoaXMuX3Jlc2V0TGF5b3V0KCksdGhpcy5fbWFuYWdlU3RhbXBzKCksdGhpcy5sYXlvdXRJdGVtcyhlLCEwKSx0aGlzLnJldmVhbChlKSx0aGlzLmxheW91dEl0ZW1zKGkpfX0sYy5yZXZlYWw9ZnVuY3Rpb24odCl7aWYodGhpcy5fZW1pdENvbXBsZXRlT25JdGVtcygicmV2ZWFsIix0KSx0JiZ0Lmxlbmd0aCl7dmFyIGU9dGhpcy51cGRhdGVTdGFnZ2VyKCk7dC5mb3JFYWNoKGZ1bmN0aW9uKHQsaSl7dC5zdGFnZ2VyKGkqZSksdC5yZXZlYWwoKX0pfX0sYy5oaWRlPWZ1bmN0aW9uKHQpe2lmKHRoaXMuX2VtaXRDb21wbGV0ZU9uSXRlbXMoImhpZGUiLHQpLHQmJnQubGVuZ3RoKXt2YXIgZT10aGlzLnVwZGF0ZVN0YWdnZXIoKTt0LmZvckVhY2goZnVuY3Rpb24odCxpKXt0LnN0YWdnZXIoaSplKSx0LmhpZGUoKX0pfX0sYy5yZXZlYWxJdGVtRWxlbWVudHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5nZXRJdGVtcyh0KTt0aGlzLnJldmVhbChlKX0sYy5oaWRlSXRlbUVsZW1lbnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0SXRlbXModCk7dGhpcy5oaWRlKGUpfSxjLmdldEl0ZW09ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0aGlzLml0ZW1zLmxlbmd0aDtlKyspe3ZhciBpPXRoaXMuaXRlbXNbZV07aWYoaS5lbGVtZW50PT10KXJldHVybiBpfX0sYy5nZXRJdGVtcz1mdW5jdGlvbih0KXt0PW8ubWFrZUFycmF5KHQpO3ZhciBlPVtdO3JldHVybiB0LmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5nZXRJdGVtKHQpO2kmJmUucHVzaChpKX0sdGhpcyksZX0sYy5yZW1vdmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5nZXRJdGVtcyh0KTt0aGlzLl9lbWl0Q29tcGxldGVPbkl0ZW1zKCJyZW1vdmUiLGUpLGUmJmUubGVuZ3RoJiZlLmZvckVhY2goZnVuY3Rpb24odCl7dC5yZW1vdmUoKSxvLnJlbW92ZUZyb20odGhpcy5pdGVtcyx0KX0sdGhpcyl9LGMuZGVzdHJveT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZWxlbWVudC5zdHlsZTt0LmhlaWdodD0iIix0LnBvc2l0aW9uPSIiLHQud2lkdGg9IiIsdGhpcy5pdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuZGVzdHJveSgpfSksdGhpcy51bmJpbmRSZXNpemUoKTt2YXIgZT10aGlzLmVsZW1lbnQub3V0bGF5ZXJHVUlEO2RlbGV0ZSBmW2VdLGRlbGV0ZSB0aGlzLmVsZW1lbnQub3V0bGF5ZXJHVUlELGgmJmgucmVtb3ZlRGF0YSh0aGlzLmVsZW1lbnQsdGhpcy5jb25zdHJ1Y3Rvci5uYW1lc3BhY2UpfSxzLmRhdGE9ZnVuY3Rpb24odCl7dD1vLmdldFF1ZXJ5RWxlbWVudCh0KTt2YXIgZT10JiZ0Lm91dGxheWVyR1VJRDtyZXR1cm4gZSYmZltlXX0scy5jcmVhdGU9ZnVuY3Rpb24odCxlKXt2YXIgaT1yKHMpO3JldHVybiBpLmRlZmF1bHRzPW8uZXh0ZW5kKHt9LHMuZGVmYXVsdHMpLG8uZXh0ZW5kKGkuZGVmYXVsdHMsZSksaS5jb21wYXRPcHRpb25zPW8uZXh0ZW5kKHt9LHMuY29tcGF0T3B0aW9ucyksaS5uYW1lc3BhY2U9dCxpLmRhdGE9cy5kYXRhLGkuSXRlbT1yKG4pLG8uaHRtbEluaXQoaSx0KSxoJiZoLmJyaWRnZXQmJmguYnJpZGdldCh0LGkpLGl9O3ZhciBtPXttczoxLHM6MWUzfTtyZXR1cm4gcy5JdGVtPW4sc30pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImlzb3RvcGUtbGF5b3V0L2pzL2l0ZW0iLFsib3V0bGF5ZXIvb3V0bGF5ZXIiXSxlKToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCJvdXRsYXllciIpKToodC5Jc290b3BlPXQuSXNvdG9wZXx8e30sdC5Jc290b3BlLkl0ZW09ZSh0Lk91dGxheWVyKSl9KHdpbmRvdyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSgpe3QuSXRlbS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dmFyIGk9ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0Lkl0ZW0ucHJvdG90eXBlKSxvPWkuX2NyZWF0ZTtpLl9jcmVhdGU9ZnVuY3Rpb24oKXt0aGlzLmlkPXRoaXMubGF5b3V0Lml0ZW1HVUlEKyssby5jYWxsKHRoaXMpLHRoaXMuc29ydERhdGE9e319LGkudXBkYXRlU29ydERhdGE9ZnVuY3Rpb24oKXtpZighdGhpcy5pc0lnbm9yZWQpe3RoaXMuc29ydERhdGEuaWQ9dGhpcy5pZCx0aGlzLnNvcnREYXRhWyJvcmlnaW5hbC1vcmRlciJdPXRoaXMuaWQsdGhpcy5zb3J0RGF0YS5yYW5kb209TWF0aC5yYW5kb20oKTt2YXIgdD10aGlzLmxheW91dC5vcHRpb25zLmdldFNvcnREYXRhLGU9dGhpcy5sYXlvdXQuX3NvcnRlcnM7Zm9yKHZhciBpIGluIHQpe3ZhciBvPWVbaV07dGhpcy5zb3J0RGF0YVtpXT1vKHRoaXMuZWxlbWVudCx0aGlzKX19fTt2YXIgbj1pLmRlc3Ryb3k7cmV0dXJuIGkuZGVzdHJveT1mdW5jdGlvbigpe24uYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuY3NzKHtkaXNwbGF5OiIifSl9LGV9KSxmdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJpc290b3BlLWxheW91dC9qcy9sYXlvdXQtbW9kZSIsWyJnZXQtc2l6ZS9nZXQtc2l6ZSIsIm91dGxheWVyL291dGxheWVyIl0sZSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUocmVxdWlyZSgiZ2V0LXNpemUiKSxyZXF1aXJlKCJvdXRsYXllciIpKToodC5Jc290b3BlPXQuSXNvdG9wZXx8e30sdC5Jc290b3BlLkxheW91dE1vZGU9ZSh0LmdldFNpemUsdC5PdXRsYXllcikpfSh3aW5kb3csZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXt0aGlzLmlzb3RvcGU9dCx0JiYodGhpcy5vcHRpb25zPXQub3B0aW9uc1t0aGlzLm5hbWVzcGFjZV0sdGhpcy5lbGVtZW50PXQuZWxlbWVudCx0aGlzLml0ZW1zPXQuZmlsdGVyZWRJdGVtcyx0aGlzLnNpemU9dC5zaXplKX12YXIgbz1pLnByb3RvdHlwZSxuPVsiX3Jlc2V0TGF5b3V0IiwiX2dldEl0ZW1MYXlvdXRQb3NpdGlvbiIsIl9tYW5hZ2VTdGFtcCIsIl9nZXRDb250YWluZXJTaXplIiwiX2dldEVsZW1lbnRPZmZzZXQiLCJuZWVkc1Jlc2l6ZUxheW91dCIsIl9nZXRPcHRpb24iXTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKHQpe29bdF09ZnVuY3Rpb24oKXtyZXR1cm4gZS5wcm90b3R5cGVbdF0uYXBwbHkodGhpcy5pc290b3BlLGFyZ3VtZW50cyl9fSksby5uZWVkc1ZlcnRpY2FsUmVzaXplTGF5b3V0PWZ1bmN0aW9uKCl7dmFyIGU9dCh0aGlzLmlzb3RvcGUuZWxlbWVudCksaT10aGlzLmlzb3RvcGUuc2l6ZSYmZTtyZXR1cm4gaSYmZS5pbm5lckhlaWdodCE9dGhpcy5pc290b3BlLnNpemUuaW5uZXJIZWlnaHR9LG8uX2dldE1lYXN1cmVtZW50PWZ1bmN0aW9uKCl7dGhpcy5pc290b3BlLl9nZXRNZWFzdXJlbWVudC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LG8uZ2V0Q29sdW1uV2lkdGg9ZnVuY3Rpb24oKXt0aGlzLmdldFNlZ21lbnRTaXplKCJjb2x1bW4iLCJXaWR0aCIpfSxvLmdldFJvd0hlaWdodD1mdW5jdGlvbigpe3RoaXMuZ2V0U2VnbWVudFNpemUoInJvdyIsIkhlaWdodCIpfSxvLmdldFNlZ21lbnRTaXplPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dCtlLG89Im91dGVyIitlO2lmKHRoaXMuX2dldE1lYXN1cmVtZW50KGksbyksIXRoaXNbaV0pe3ZhciBuPXRoaXMuZ2V0Rmlyc3RJdGVtU2l6ZSgpO3RoaXNbaV09biYmbltvXXx8dGhpcy5pc290b3BlLnNpemVbImlubmVyIitlXX19LG8uZ2V0Rmlyc3RJdGVtU2l6ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuaXNvdG9wZS5maWx0ZXJlZEl0ZW1zWzBdO3JldHVybiBlJiZlLmVsZW1lbnQmJnQoZS5lbGVtZW50KX0sby5sYXlvdXQ9ZnVuY3Rpb24oKXt0aGlzLmlzb3RvcGUubGF5b3V0LmFwcGx5KHRoaXMuaXNvdG9wZSxhcmd1bWVudHMpfSxvLmdldFNpemU9ZnVuY3Rpb24oKXt0aGlzLmlzb3RvcGUuZ2V0U2l6ZSgpLHRoaXMuc2l6ZT10aGlzLmlzb3RvcGUuc2l6ZX0saS5tb2Rlcz17fSxpLmNyZWF0ZT1mdW5jdGlvbih0LGUpe2Z1bmN0aW9uIG4oKXtpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gbi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShvKSxuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uLGUmJihuLm9wdGlvbnM9ZSksbi5wcm90b3R5cGUubmFtZXNwYWNlPXQsaS5tb2Rlc1t0XT1uLG59LGl9KSxmdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJtYXNvbnJ5LWxheW91dC9tYXNvbnJ5IixbIm91dGxheWVyL291dGxheWVyIiwiZ2V0LXNpemUvZ2V0LXNpemUiXSxlKToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCJvdXRsYXllciIpLHJlcXVpcmUoImdldC1zaXplIikpOnQuTWFzb25yeT1lKHQuT3V0bGF5ZXIsdC5nZXRTaXplKX0od2luZG93LGZ1bmN0aW9uKHQsZSl7dmFyIGk9dC5jcmVhdGUoIm1hc29ucnkiKTtpLmNvbXBhdE9wdGlvbnMuZml0V2lkdGg9ImlzRml0V2lkdGgiO3ZhciBvPWkucHJvdG90eXBlO3JldHVybiBvLl9yZXNldExheW91dD1mdW5jdGlvbigpe3RoaXMuZ2V0U2l6ZSgpLHRoaXMuX2dldE1lYXN1cmVtZW50KCJjb2x1bW5XaWR0aCIsIm91dGVyV2lkdGgiKSx0aGlzLl9nZXRNZWFzdXJlbWVudCgiZ3V0dGVyIiwib3V0ZXJXaWR0aCIpLHRoaXMubWVhc3VyZUNvbHVtbnMoKSx0aGlzLmNvbFlzPVtdO2Zvcih2YXIgdD0wO3Q8dGhpcy5jb2xzO3QrKyl0aGlzLmNvbFlzLnB1c2goMCk7dGhpcy5tYXhZPTAsdGhpcy5ob3Jpem9udGFsQ29sSW5kZXg9MH0sby5tZWFzdXJlQ29sdW1ucz1mdW5jdGlvbigpe2lmKHRoaXMuZ2V0Q29udGFpbmVyV2lkdGgoKSwhdGhpcy5jb2x1bW5XaWR0aCl7dmFyIHQ9dGhpcy5pdGVtc1swXSxpPXQmJnQuZWxlbWVudDt0aGlzLmNvbHVtbldpZHRoPWkmJmUoaSkub3V0ZXJXaWR0aHx8dGhpcy5jb250YWluZXJXaWR0aH12YXIgbz10aGlzLmNvbHVtbldpZHRoKz10aGlzLmd1dHRlcixuPXRoaXMuY29udGFpbmVyV2lkdGgrdGhpcy5ndXR0ZXIscz1uL28scj1vLW4lbyxhPXImJnI8MT8icm91bmQiOiJmbG9vciI7cz1NYXRoW2FdKHMpLHRoaXMuY29scz1NYXRoLm1heChzLDEpfSxvLmdldENvbnRhaW5lcldpZHRoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0T3B0aW9uKCJmaXRXaWR0aCIpLGk9dD90aGlzLmVsZW1lbnQucGFyZW50Tm9kZTp0aGlzLmVsZW1lbnQsbz1lKGkpO3RoaXMuY29udGFpbmVyV2lkdGg9byYmby5pbm5lcldpZHRofSxvLl9nZXRJdGVtTGF5b3V0UG9zaXRpb249ZnVuY3Rpb24odCl7dC5nZXRTaXplKCk7dmFyIGU9dC5zaXplLm91dGVyV2lkdGgldGhpcy5jb2x1bW5XaWR0aCxpPWUmJmU8MT8icm91bmQiOiJjZWlsIixvPU1hdGhbaV0odC5zaXplLm91dGVyV2lkdGgvdGhpcy5jb2x1bW5XaWR0aCk7bz1NYXRoLm1pbihvLHRoaXMuY29scyk7Zm9yKHZhciBuPXRoaXMub3B0aW9ucy5ob3Jpem9udGFsT3JkZXI/Il9nZXRIb3Jpem9udGFsQ29sUG9zaXRpb24iOiJfZ2V0VG9wQ29sUG9zaXRpb24iLHM9dGhpc1tuXShvLHQpLHI9e3g6dGhpcy5jb2x1bW5XaWR0aCpzLmNvbCx5OnMueX0sYT1zLnkrdC5zaXplLm91dGVySGVpZ2h0LHU9bytzLmNvbCxoPXMuY29sO2g8dTtoKyspdGhpcy5jb2xZc1toXT1hO3JldHVybiByfSxvLl9nZXRUb3BDb2xQb3NpdGlvbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9nZXRUb3BDb2xHcm91cCh0KSxpPU1hdGgubWluLmFwcGx5KE1hdGgsZSk7cmV0dXJue2NvbDplLmluZGV4T2YoaSkseTppfX0sby5fZ2V0VG9wQ29sR3JvdXA9ZnVuY3Rpb24odCl7aWYodDwyKXJldHVybiB0aGlzLmNvbFlzO2Zvcih2YXIgZT1bXSxpPXRoaXMuY29scysxLXQsbz0wO288aTtvKyspZVtvXT10aGlzLl9nZXRDb2xHcm91cFkobyx0KTtyZXR1cm4gZX0sby5fZ2V0Q29sR3JvdXBZPWZ1bmN0aW9uKHQsZSl7aWYoZTwyKXJldHVybiB0aGlzLmNvbFlzW3RdO3ZhciBpPXRoaXMuY29sWXMuc2xpY2UodCx0K2UpO3JldHVybiBNYXRoLm1heC5hcHBseShNYXRoLGkpfSxvLl9nZXRIb3Jpem9udGFsQ29sUG9zaXRpb249ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLmhvcml6b250YWxDb2xJbmRleCV0aGlzLmNvbHMsbz10PjEmJmkrdD50aGlzLmNvbHM7aT1vPzA6aTt2YXIgbj1lLnNpemUub3V0ZXJXaWR0aCYmZS5zaXplLm91dGVySGVpZ2h0O3JldHVybiB0aGlzLmhvcml6b250YWxDb2xJbmRleD1uP2krdDp0aGlzLmhvcml6b250YWxDb2xJbmRleCx7Y29sOmkseTp0aGlzLl9nZXRDb2xHcm91cFkoaSx0KX19LG8uX21hbmFnZVN0YW1wPWZ1bmN0aW9uKHQpe3ZhciBpPWUodCksbz10aGlzLl9nZXRFbGVtZW50T2Zmc2V0KHQpLG49dGhpcy5fZ2V0T3B0aW9uKCJvcmlnaW5MZWZ0Iikscz1uP28ubGVmdDpvLnJpZ2h0LHI9cytpLm91dGVyV2lkdGgsYT1NYXRoLmZsb29yKHMvdGhpcy5jb2x1bW5XaWR0aCk7YT1NYXRoLm1heCgwLGEpO3ZhciB1PU1hdGguZmxvb3Ioci90aGlzLmNvbHVtbldpZHRoKTt1LT1yJXRoaXMuY29sdW1uV2lkdGg/MDoxLHU9TWF0aC5taW4odGhpcy5jb2xzLTEsdSk7Zm9yKHZhciBoPXRoaXMuX2dldE9wdGlvbigib3JpZ2luVG9wIiksZD0oaD9vLnRvcDpvLmJvdHRvbSkraS5vdXRlckhlaWdodCxsPWE7bDw9dTtsKyspdGhpcy5jb2xZc1tsXT1NYXRoLm1heChkLHRoaXMuY29sWXNbbF0pfSxvLl9nZXRDb250YWluZXJTaXplPWZ1bmN0aW9uKCl7dGhpcy5tYXhZPU1hdGgubWF4LmFwcGx5KE1hdGgsdGhpcy5jb2xZcyk7dmFyIHQ9e2hlaWdodDp0aGlzLm1heFl9O3JldHVybiB0aGlzLl9nZXRPcHRpb24oImZpdFdpZHRoIikmJih0LndpZHRoPXRoaXMuX2dldENvbnRhaW5lckZpdFdpZHRoKCkpLHR9LG8uX2dldENvbnRhaW5lckZpdFdpZHRoPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTAsZT10aGlzLmNvbHM7LS1lJiYwPT09dGhpcy5jb2xZc1tlXTspdCsrO3JldHVybih0aGlzLmNvbHMtdCkqdGhpcy5jb2x1bW5XaWR0aC10aGlzLmd1dHRlcn0sby5uZWVkc1Jlc2l6ZUxheW91dD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuY29udGFpbmVyV2lkdGg7cmV0dXJuIHRoaXMuZ2V0Q29udGFpbmVyV2lkdGgoKSx0IT10aGlzLmNvbnRhaW5lcldpZHRofSxpfSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgiaXNvdG9wZS1sYXlvdXQvanMvbGF5b3V0LW1vZGVzL21hc29ucnkiLFsiLi4vbGF5b3V0LW1vZGUiLCJtYXNvbnJ5LWxheW91dC9tYXNvbnJ5Il0sZSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUocmVxdWlyZSgiLi4vbGF5b3V0LW1vZGUiKSxyZXF1aXJlKCJtYXNvbnJ5LWxheW91dCIpKTplKHQuSXNvdG9wZS5MYXlvdXRNb2RlLHQuTWFzb25yeSl9KHdpbmRvdyxmdW5jdGlvbih0LGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgaT10LmNyZWF0ZSgibWFzb25yeSIpLG89aS5wcm90b3R5cGUsbj17X2dldEVsZW1lbnRPZmZzZXQ6ITAsbGF5b3V0OiEwLF9nZXRNZWFzdXJlbWVudDohMH07Zm9yKHZhciBzIGluIGUucHJvdG90eXBlKW5bc118fChvW3NdPWUucHJvdG90eXBlW3NdKTt2YXIgcj1vLm1lYXN1cmVDb2x1bW5zO28ubWVhc3VyZUNvbHVtbnM9ZnVuY3Rpb24oKXt0aGlzLml0ZW1zPXRoaXMuaXNvdG9wZS5maWx0ZXJlZEl0ZW1zLHIuY2FsbCh0aGlzKX07dmFyIGE9by5fZ2V0T3B0aW9uO3JldHVybiBvLl9nZXRPcHRpb249ZnVuY3Rpb24odCl7cmV0dXJuImZpdFdpZHRoIj09dD92b2lkIDAhPT10aGlzLm9wdGlvbnMuaXNGaXRXaWR0aD90aGlzLm9wdGlvbnMuaXNGaXRXaWR0aDp0aGlzLm9wdGlvbnMuZml0V2lkdGg6YS5hcHBseSh0aGlzLmlzb3RvcGUsYXJndW1lbnRzKX0saX0pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImlzb3RvcGUtbGF5b3V0L2pzL2xheW91dC1tb2Rlcy9maXQtcm93cyIsWyIuLi9sYXlvdXQtbW9kZSJdLGUpOiJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKHJlcXVpcmUoIi4uL2xheW91dC1tb2RlIikpOmUodC5Jc290b3BlLkxheW91dE1vZGUpfSh3aW5kb3csZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBlPXQuY3JlYXRlKCJmaXRSb3dzIiksaT1lLnByb3RvdHlwZTtyZXR1cm4gaS5fcmVzZXRMYXlvdXQ9ZnVuY3Rpb24oKXt0aGlzLng9MCx0aGlzLnk9MCx0aGlzLm1heFk9MCx0aGlzLl9nZXRNZWFzdXJlbWVudCgiZ3V0dGVyIiwib3V0ZXJXaWR0aCIpfSxpLl9nZXRJdGVtTGF5b3V0UG9zaXRpb249ZnVuY3Rpb24odCl7dC5nZXRTaXplKCk7dmFyIGU9dC5zaXplLm91dGVyV2lkdGgrdGhpcy5ndXR0ZXIsaT10aGlzLmlzb3RvcGUuc2l6ZS5pbm5lcldpZHRoK3RoaXMuZ3V0dGVyOzAhPT10aGlzLngmJmUrdGhpcy54PmkmJih0aGlzLng9MCx0aGlzLnk9dGhpcy5tYXhZKTt2YXIgbz17eDp0aGlzLngseTp0aGlzLnl9O3JldHVybiB0aGlzLm1heFk9TWF0aC5tYXgodGhpcy5tYXhZLHRoaXMueSt0LnNpemUub3V0ZXJIZWlnaHQpLHRoaXMueCs9ZSxvfSxpLl9nZXRDb250YWluZXJTaXplPWZ1bmN0aW9uKCl7cmV0dXJue2hlaWdodDp0aGlzLm1heFl9fSxlfSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgiaXNvdG9wZS1sYXlvdXQvanMvbGF5b3V0LW1vZGVzL3ZlcnRpY2FsIixbIi4uL2xheW91dC1tb2RlIl0sZSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUocmVxdWlyZSgiLi4vbGF5b3V0LW1vZGUiKSk6ZSh0Lklzb3RvcGUuTGF5b3V0TW9kZSl9KHdpbmRvdyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dmFyIGU9dC5jcmVhdGUoInZlcnRpY2FsIix7aG9yaXpvbnRhbEFsaWdubWVudDowfSksaT1lLnByb3RvdHlwZTtyZXR1cm4gaS5fcmVzZXRMYXlvdXQ9ZnVuY3Rpb24oKXt0aGlzLnk9MH0saS5fZ2V0SXRlbUxheW91dFBvc2l0aW9uPWZ1bmN0aW9uKHQpe3QuZ2V0U2l6ZSgpO3ZhciBlPSh0aGlzLmlzb3RvcGUuc2l6ZS5pbm5lcldpZHRoLXQuc2l6ZS5vdXRlcldpZHRoKSp0aGlzLm9wdGlvbnMuaG9yaXpvbnRhbEFsaWdubWVudCxpPXRoaXMueTtyZXR1cm4gdGhpcy55Kz10LnNpemUub3V0ZXJIZWlnaHQse3g6ZSx5Oml9fSxpLl9nZXRDb250YWluZXJTaXplPWZ1bmN0aW9uKCl7cmV0dXJue2hlaWdodDp0aGlzLnl9fSxlfSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbIm91dGxheWVyL291dGxheWVyIiwiZ2V0LXNpemUvZ2V0LXNpemUiLCJkZXNhbmRyby1tYXRjaGVzLXNlbGVjdG9yL21hdGNoZXMtc2VsZWN0b3IiLCJmaXp6eS11aS11dGlscy91dGlscyIsImlzb3RvcGUtbGF5b3V0L2pzL2l0ZW0iLCJpc290b3BlLWxheW91dC9qcy9sYXlvdXQtbW9kZSIsImlzb3RvcGUtbGF5b3V0L2pzL2xheW91dC1tb2Rlcy9tYXNvbnJ5IiwiaXNvdG9wZS1sYXlvdXQvanMvbGF5b3V0LW1vZGVzL2ZpdC1yb3dzIiwiaXNvdG9wZS1sYXlvdXQvanMvbGF5b3V0LW1vZGVzL3ZlcnRpY2FsIl0sZnVuY3Rpb24oaSxvLG4scyxyLGEpe3JldHVybiBlKHQsaSxvLG4scyxyLGEpfSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUodCxyZXF1aXJlKCJvdXRsYXllciIpLHJlcXVpcmUoImdldC1zaXplIikscmVxdWlyZSgiZGVzYW5kcm8tbWF0Y2hlcy1zZWxlY3RvciIpLHJlcXVpcmUoImZpenp5LXVpLXV0aWxzIikscmVxdWlyZSgiaXNvdG9wZS1sYXlvdXQvanMvaXRlbSIpLHJlcXVpcmUoImlzb3RvcGUtbGF5b3V0L2pzL2xheW91dC1tb2RlIikscmVxdWlyZSgiaXNvdG9wZS1sYXlvdXQvanMvbGF5b3V0LW1vZGVzL21hc29ucnkiKSxyZXF1aXJlKCJpc290b3BlLWxheW91dC9qcy9sYXlvdXQtbW9kZXMvZml0LXJvd3MiKSxyZXF1aXJlKCJpc290b3BlLWxheW91dC9qcy9sYXlvdXQtbW9kZXMvdmVydGljYWwiKSk6dC5Jc290b3BlPWUodCx0Lk91dGxheWVyLHQuZ2V0U2l6ZSx0Lm1hdGNoZXNTZWxlY3Rvcix0LmZpenp5VUlVdGlscyx0Lklzb3RvcGUuSXRlbSx0Lklzb3RvcGUuTGF5b3V0TW9kZSl9KHdpbmRvdyxmdW5jdGlvbih0LGUsaSxvLG4scyxyKXtmdW5jdGlvbiBhKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKGksbyl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBzPXRbbl0scj1pLnNvcnREYXRhW3NdLGE9by5zb3J0RGF0YVtzXTtpZihyPmF8fHI8YSl7dmFyIHU9dm9pZCAwIT09ZVtzXT9lW3NdOmUsaD11PzE6LTE7cmV0dXJuKHI+YT8xOi0xKSpofX1yZXR1cm4gMH19dmFyIHU9dC5qUXVlcnksaD1TdHJpbmcucHJvdG90eXBlLnRyaW0/ZnVuY3Rpb24odCl7cmV0dXJuIHQudHJpbSgpfTpmdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIil9LGQ9ZS5jcmVhdGUoImlzb3RvcGUiLHtsYXlvdXRNb2RlOiJtYXNvbnJ5Iixpc0pRdWVyeUZpbHRlcmluZzohMCxzb3J0QXNjZW5kaW5nOiEwfSk7ZC5JdGVtPXMsZC5MYXlvdXRNb2RlPXI7dmFyIGw9ZC5wcm90b3R5cGU7bC5fY3JlYXRlPWZ1bmN0aW9uKCl7dGhpcy5pdGVtR1VJRD0wLHRoaXMuX3NvcnRlcnM9e30sdGhpcy5fZ2V0U29ydGVycygpLGUucHJvdG90eXBlLl9jcmVhdGUuY2FsbCh0aGlzKSx0aGlzLm1vZGVzPXt9LHRoaXMuZmlsdGVyZWRJdGVtcz10aGlzLml0ZW1zLHRoaXMuc29ydEhpc3Rvcnk9WyJvcmlnaW5hbC1vcmRlciJdO2Zvcih2YXIgdCBpbiByLm1vZGVzKXRoaXMuX2luaXRMYXlvdXRNb2RlKHQpfSxsLnJlbG9hZEl0ZW1zPWZ1bmN0aW9uKCl7dGhpcy5pdGVtR1VJRD0wLGUucHJvdG90eXBlLnJlbG9hZEl0ZW1zLmNhbGwodGhpcyl9LGwuX2l0ZW1pemU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9ZS5wcm90b3R5cGUuX2l0ZW1pemUuYXBwbHkodGhpcyxhcmd1bWVudHMpLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG89dFtpXTtvLmlkPXRoaXMuaXRlbUdVSUQrK31yZXR1cm4gdGhpcy5fdXBkYXRlSXRlbXNTb3J0RGF0YSh0KSx0fSxsLl9pbml0TGF5b3V0TW9kZT1mdW5jdGlvbih0KXt2YXIgZT1yLm1vZGVzW3RdLGk9dGhpcy5vcHRpb25zW3RdfHx7fTt0aGlzLm9wdGlvbnNbdF09ZS5vcHRpb25zP24uZXh0ZW5kKGUub3B0aW9ucyxpKTppLHRoaXMubW9kZXNbdF09bmV3IGUodGhpcyl9LGwubGF5b3V0PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuX2lzTGF5b3V0SW5pdGVkJiZ0aGlzLl9nZXRPcHRpb24oImluaXRMYXlvdXQiKT92b2lkIHRoaXMuYXJyYW5nZSgpOnZvaWQgdGhpcy5fbGF5b3V0KCl9LGwuX2xheW91dD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2dldElzSW5zdGFudCgpO3RoaXMuX3Jlc2V0TGF5b3V0KCksdGhpcy5fbWFuYWdlU3RhbXBzKCksdGhpcy5sYXlvdXRJdGVtcyh0aGlzLmZpbHRlcmVkSXRlbXMsdCksdGhpcy5faXNMYXlvdXRJbml0ZWQ9ITB9LGwuYXJyYW5nZT1mdW5jdGlvbih0KXt0aGlzLm9wdGlvbih0KSx0aGlzLl9nZXRJc0luc3RhbnQoKTt2YXIgZT10aGlzLl9maWx0ZXIodGhpcy5pdGVtcyk7dGhpcy5maWx0ZXJlZEl0ZW1zPWUubWF0Y2hlcyx0aGlzLl9iaW5kQXJyYW5nZUNvbXBsZXRlKCksdGhpcy5faXNJbnN0YW50P3RoaXMuX25vVHJhbnNpdGlvbih0aGlzLl9oaWRlUmV2ZWFsLFtlXSk6dGhpcy5faGlkZVJldmVhbChlKSx0aGlzLl9zb3J0KCksdGhpcy5fbGF5b3V0KCl9LGwuX2luaXQ9bC5hcnJhbmdlLGwuX2hpZGVSZXZlYWw9ZnVuY3Rpb24odCl7dGhpcy5yZXZlYWwodC5uZWVkUmV2ZWFsKSx0aGlzLmhpZGUodC5uZWVkSGlkZSl9LGwuX2dldElzSW5zdGFudD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2dldE9wdGlvbigibGF5b3V0SW5zdGFudCIpLGU9dm9pZCAwIT09dD90OiF0aGlzLl9pc0xheW91dEluaXRlZDtyZXR1cm4gdGhpcy5faXNJbnN0YW50PWUsZX0sbC5fYmluZEFycmFuZ2VDb21wbGV0ZT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtlJiZpJiZvJiZuLmRpc3BhdGNoRXZlbnQoImFycmFuZ2VDb21wbGV0ZSIsbnVsbCxbbi5maWx0ZXJlZEl0ZW1zXSl9dmFyIGUsaSxvLG49dGhpczt0aGlzLm9uY2UoImxheW91dENvbXBsZXRlIixmdW5jdGlvbigpe2U9ITAsdCgpfSksdGhpcy5vbmNlKCJoaWRlQ29tcGxldGUiLGZ1bmN0aW9uKCl7aT0hMCx0KCl9KSx0aGlzLm9uY2UoInJldmVhbENvbXBsZXRlIixmdW5jdGlvbigpe289ITAsdCgpfSl9LGwuX2ZpbHRlcj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm9wdGlvbnMuZmlsdGVyO2U9ZXx8IioiO2Zvcih2YXIgaT1bXSxvPVtdLG49W10scz10aGlzLl9nZXRGaWx0ZXJUZXN0KGUpLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGE9dFtyXTtpZighYS5pc0lnbm9yZWQpe3ZhciB1PXMoYSk7dSYmaS5wdXNoKGEpLHUmJmEuaXNIaWRkZW4/by5wdXNoKGEpOnV8fGEuaXNIaWRkZW58fG4ucHVzaChhKX19cmV0dXJue21hdGNoZXM6aSxuZWVkUmV2ZWFsOm8sbmVlZEhpZGU6bn19LGwuX2dldEZpbHRlclRlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHUmJnRoaXMub3B0aW9ucy5pc0pRdWVyeUZpbHRlcmluZz9mdW5jdGlvbihlKXtyZXR1cm4gdShlLmVsZW1lbnQpLmlzKHQpOwp9OiJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKGUpe3JldHVybiB0KGUuZWxlbWVudCl9OmZ1bmN0aW9uKGUpe3JldHVybiBvKGUuZWxlbWVudCx0KX19LGwudXBkYXRlU29ydERhdGE9ZnVuY3Rpb24odCl7dmFyIGU7dD8odD1uLm1ha2VBcnJheSh0KSxlPXRoaXMuZ2V0SXRlbXModCkpOmU9dGhpcy5pdGVtcyx0aGlzLl9nZXRTb3J0ZXJzKCksdGhpcy5fdXBkYXRlSXRlbXNTb3J0RGF0YShlKX0sbC5fZ2V0U29ydGVycz1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy5nZXRTb3J0RGF0YTtmb3IodmFyIGUgaW4gdCl7dmFyIGk9dFtlXTt0aGlzLl9zb3J0ZXJzW2VdPWYoaSl9fSxsLl91cGRhdGVJdGVtc1NvcnREYXRhPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10JiZ0Lmxlbmd0aCxpPTA7ZSYmaTxlO2krKyl7dmFyIG89dFtpXTtvLnVwZGF0ZVNvcnREYXRhKCl9fTt2YXIgZj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiB0O3ZhciBpPWgodCkuc3BsaXQoIiAiKSxvPWlbMF0sbj1vLm1hdGNoKC9eXFsoLispXF0kLykscz1uJiZuWzFdLHI9ZShzLG8pLGE9ZC5zb3J0RGF0YVBhcnNlcnNbaVsxXV07cmV0dXJuIHQ9YT9mdW5jdGlvbih0KXtyZXR1cm4gdCYmYShyKHQpKX06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnIodCl9fWZ1bmN0aW9uIGUodCxlKXtyZXR1cm4gdD9mdW5jdGlvbihlKXtyZXR1cm4gZS5nZXRBdHRyaWJ1dGUodCl9OmZ1bmN0aW9uKHQpe3ZhciBpPXQucXVlcnlTZWxlY3RvcihlKTtyZXR1cm4gaSYmaS50ZXh0Q29udGVudH19cmV0dXJuIHR9KCk7ZC5zb3J0RGF0YVBhcnNlcnM9e3BhcnNlSW50OmZ1bmN0aW9uKHQpe3JldHVybiBwYXJzZUludCh0LDEwKX0scGFyc2VGbG9hdDpmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VGbG9hdCh0KX19LGwuX3NvcnQ9ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMuc29ydEJ5KXt2YXIgdD1uLm1ha2VBcnJheSh0aGlzLm9wdGlvbnMuc29ydEJ5KTt0aGlzLl9nZXRJc1NhbWVTb3J0QnkodCl8fCh0aGlzLnNvcnRIaXN0b3J5PXQuY29uY2F0KHRoaXMuc29ydEhpc3RvcnkpKTt2YXIgZT1hKHRoaXMuc29ydEhpc3RvcnksdGhpcy5vcHRpb25zLnNvcnRBc2NlbmRpbmcpO3RoaXMuZmlsdGVyZWRJdGVtcy5zb3J0KGUpfX0sbC5fZ2V0SXNTYW1lU29ydEJ5PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKHRbZV0hPXRoaXMuc29ydEhpc3RvcnlbZV0pcmV0dXJuITE7cmV0dXJuITB9LGwuX21vZGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMubGF5b3V0TW9kZSxlPXRoaXMubW9kZXNbdF07aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJObyBsYXlvdXQgbW9kZTogIit0KTtyZXR1cm4gZS5vcHRpb25zPXRoaXMub3B0aW9uc1t0XSxlfSxsLl9yZXNldExheW91dD1mdW5jdGlvbigpe2UucHJvdG90eXBlLl9yZXNldExheW91dC5jYWxsKHRoaXMpLHRoaXMuX21vZGUoKS5fcmVzZXRMYXlvdXQoKX0sbC5fZ2V0SXRlbUxheW91dFBvc2l0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9tb2RlKCkuX2dldEl0ZW1MYXlvdXRQb3NpdGlvbih0KX0sbC5fbWFuYWdlU3RhbXA9ZnVuY3Rpb24odCl7dGhpcy5fbW9kZSgpLl9tYW5hZ2VTdGFtcCh0KX0sbC5fZ2V0Q29udGFpbmVyU2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tb2RlKCkuX2dldENvbnRhaW5lclNpemUoKX0sbC5uZWVkc1Jlc2l6ZUxheW91dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9tb2RlKCkubmVlZHNSZXNpemVMYXlvdXQoKX0sbC5hcHBlbmRlZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmFkZEl0ZW1zKHQpO2lmKGUubGVuZ3RoKXt2YXIgaT10aGlzLl9maWx0ZXJSZXZlYWxBZGRlZChlKTt0aGlzLmZpbHRlcmVkSXRlbXM9dGhpcy5maWx0ZXJlZEl0ZW1zLmNvbmNhdChpKX19LGwucHJlcGVuZGVkPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2l0ZW1pemUodCk7aWYoZS5sZW5ndGgpe3RoaXMuX3Jlc2V0TGF5b3V0KCksdGhpcy5fbWFuYWdlU3RhbXBzKCk7dmFyIGk9dGhpcy5fZmlsdGVyUmV2ZWFsQWRkZWQoZSk7dGhpcy5sYXlvdXRJdGVtcyh0aGlzLmZpbHRlcmVkSXRlbXMpLHRoaXMuZmlsdGVyZWRJdGVtcz1pLmNvbmNhdCh0aGlzLmZpbHRlcmVkSXRlbXMpLHRoaXMuaXRlbXM9ZS5jb25jYXQodGhpcy5pdGVtcyl9fSxsLl9maWx0ZXJSZXZlYWxBZGRlZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9maWx0ZXIodCk7cmV0dXJuIHRoaXMuaGlkZShlLm5lZWRIaWRlKSx0aGlzLnJldmVhbChlLm1hdGNoZXMpLHRoaXMubGF5b3V0SXRlbXMoZS5tYXRjaGVzLCEwKSxlLm1hdGNoZXN9LGwuaW5zZXJ0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuYWRkSXRlbXModCk7aWYoZS5sZW5ndGgpe3ZhciBpLG8sbj1lLmxlbmd0aDtmb3IoaT0wO2k8bjtpKyspbz1lW2ldLHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChvLmVsZW1lbnQpO3ZhciBzPXRoaXMuX2ZpbHRlcihlKS5tYXRjaGVzO2ZvcihpPTA7aTxuO2krKyllW2ldLmlzTGF5b3V0SW5zdGFudD0hMDtmb3IodGhpcy5hcnJhbmdlKCksaT0wO2k8bjtpKyspZGVsZXRlIGVbaV0uaXNMYXlvdXRJbnN0YW50O3RoaXMucmV2ZWFsKHMpfX07dmFyIGM9bC5yZW1vdmU7cmV0dXJuIGwucmVtb3ZlPWZ1bmN0aW9uKHQpe3Q9bi5tYWtlQXJyYXkodCk7dmFyIGU9dGhpcy5nZXRJdGVtcyh0KTtjLmNhbGwodGhpcyx0KTtmb3IodmFyIGk9ZSYmZS5sZW5ndGgsbz0wO2kmJm88aTtvKyspe3ZhciBzPWVbb107bi5yZW1vdmVGcm9tKHRoaXMuZmlsdGVyZWRJdGVtcyxzKX19LGwuc2h1ZmZsZT1mdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8dGhpcy5pdGVtcy5sZW5ndGg7dCsrKXt2YXIgZT10aGlzLml0ZW1zW3RdO2Uuc29ydERhdGEucmFuZG9tPU1hdGgucmFuZG9tKCl9dGhpcy5vcHRpb25zLnNvcnRCeT0icmFuZG9tIix0aGlzLl9zb3J0KCksdGhpcy5fbGF5b3V0KCl9LGwuX25vVHJhbnNpdGlvbj1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMub3B0aW9ucy50cmFuc2l0aW9uRHVyYXRpb247dGhpcy5vcHRpb25zLnRyYW5zaXRpb25EdXJhdGlvbj0wO3ZhciBvPXQuYXBwbHkodGhpcyxlKTtyZXR1cm4gdGhpcy5vcHRpb25zLnRyYW5zaXRpb25EdXJhdGlvbj1pLG99LGwuZ2V0RmlsdGVyZWRJdGVtRWxlbWVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWx0ZXJlZEl0ZW1zLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5lbGVtZW50fSl9LGR9KTsKCi8qCmltYWdlc0xvYWRlZApWZXJzaW9uOiA0LjEuNApQbHVnaW4gVVJJOiBodHRwczovL2ltYWdlc2xvYWRlZC5kZXNhbmRyby5jb20vCkxpY2Vuc2U6IFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZQoqLwohZnVuY3Rpb24oZSx0KXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgiZXYtZW1pdHRlci9ldi1lbWl0dGVyIix0KToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9dCgpOmUuRXZFbWl0dGVyPXQoKX0oInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnRoaXMsZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7fXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0Lm9uPWZ1bmN0aW9uKGUsdCl7aWYoZSYmdCl7dmFyIGk9dGhpcy5fZXZlbnRzPXRoaXMuX2V2ZW50c3x8e30sbj1pW2VdPWlbZV18fFtdO3JldHVybiBuLmluZGV4T2YodCk9PS0xJiZuLnB1c2godCksdGhpc319LHQub25jZT1mdW5jdGlvbihlLHQpe2lmKGUmJnQpe3RoaXMub24oZSx0KTt2YXIgaT10aGlzLl9vbmNlRXZlbnRzPXRoaXMuX29uY2VFdmVudHN8fHt9LG49aVtlXT1pW2VdfHx7fTtyZXR1cm4gblt0XT0hMCx0aGlzfX0sdC5vZmY9ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50c1tlXTtpZihpJiZpLmxlbmd0aCl7dmFyIG49aS5pbmRleE9mKHQpO3JldHVybiBuIT0tMSYmaS5zcGxpY2UobiwxKSx0aGlzfX0sdC5lbWl0RXZlbnQ9ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50c1tlXTtpZihpJiZpLmxlbmd0aCl7aT1pLnNsaWNlKDApLHQ9dHx8W107Zm9yKHZhciBuPXRoaXMuX29uY2VFdmVudHMmJnRoaXMuX29uY2VFdmVudHNbZV0sbz0wO288aS5sZW5ndGg7bysrKXt2YXIgcj1pW29dLHM9biYmbltyXTtzJiYodGhpcy5vZmYoZSxyKSxkZWxldGUgbltyXSksci5hcHBseSh0aGlzLHQpfXJldHVybiB0aGlzfX0sdC5hbGxPZmY9ZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5fZXZlbnRzLGRlbGV0ZSB0aGlzLl9vbmNlRXZlbnRzfSxlfSksZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJldi1lbWl0dGVyL2V2LWVtaXR0ZXIiXSxmdW5jdGlvbihpKXtyZXR1cm4gdChlLGkpfSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPXQoZSxyZXF1aXJlKCJldi1lbWl0dGVyIikpOmUuaW1hZ2VzTG9hZGVkPXQoZSxlLkV2RW1pdHRlcil9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gaShlLHQpe2Zvcih2YXIgaSBpbiB0KWVbaV09dFtpXTtyZXR1cm4gZX1mdW5jdGlvbiBuKGUpe2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIGU7dmFyIHQ9Im9iamVjdCI9PXR5cGVvZiBlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoO3JldHVybiB0P2QuY2FsbChlKTpbZV19ZnVuY3Rpb24gbyhlLHQscil7aWYoISh0aGlzIGluc3RhbmNlb2YgbykpcmV0dXJuIG5ldyBvKGUsdCxyKTt2YXIgcz1lO3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmKHM9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChlKSkscz8odGhpcy5lbGVtZW50cz1uKHMpLHRoaXMub3B0aW9ucz1pKHt9LHRoaXMub3B0aW9ucyksImZ1bmN0aW9uIj09dHlwZW9mIHQ/cj10OmkodGhpcy5vcHRpb25zLHQpLHImJnRoaXMub24oImFsd2F5cyIsciksdGhpcy5nZXRJbWFnZXMoKSxoJiYodGhpcy5qcURlZmVycmVkPW5ldyBoLkRlZmVycmVkKSx2b2lkIHNldFRpbWVvdXQodGhpcy5jaGVjay5iaW5kKHRoaXMpKSk6dm9pZCBhLmVycm9yKCJCYWQgZWxlbWVudCBmb3IgaW1hZ2VzTG9hZGVkICIrKHN8fGUpKX1mdW5jdGlvbiByKGUpe3RoaXMuaW1nPWV9ZnVuY3Rpb24gcyhlLHQpe3RoaXMudXJsPWUsdGhpcy5lbGVtZW50PXQsdGhpcy5pbWc9bmV3IEltYWdlfXZhciBoPWUualF1ZXJ5LGE9ZS5jb25zb2xlLGQ9QXJyYXkucHJvdG90eXBlLnNsaWNlO28ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUpLG8ucHJvdG90eXBlLm9wdGlvbnM9e30sby5wcm90b3R5cGUuZ2V0SW1hZ2VzPWZ1bmN0aW9uKCl7dGhpcy5pbWFnZXM9W10sdGhpcy5lbGVtZW50cy5mb3JFYWNoKHRoaXMuYWRkRWxlbWVudEltYWdlcyx0aGlzKX0sby5wcm90b3R5cGUuYWRkRWxlbWVudEltYWdlcz1mdW5jdGlvbihlKXsiSU1HIj09ZS5ub2RlTmFtZSYmdGhpcy5hZGRJbWFnZShlKSx0aGlzLm9wdGlvbnMuYmFja2dyb3VuZD09PSEwJiZ0aGlzLmFkZEVsZW1lbnRCYWNrZ3JvdW5kSW1hZ2VzKGUpO3ZhciB0PWUubm9kZVR5cGU7aWYodCYmdVt0XSl7Zm9yKHZhciBpPWUucXVlcnlTZWxlY3RvckFsbCgiaW1nIiksbj0wO248aS5sZW5ndGg7bisrKXt2YXIgbz1pW25dO3RoaXMuYWRkSW1hZ2Uobyl9aWYoInN0cmluZyI9PXR5cGVvZiB0aGlzLm9wdGlvbnMuYmFja2dyb3VuZCl7dmFyIHI9ZS5xdWVyeVNlbGVjdG9yQWxsKHRoaXMub3B0aW9ucy5iYWNrZ3JvdW5kKTtmb3Iobj0wO248ci5sZW5ndGg7bisrKXt2YXIgcz1yW25dO3RoaXMuYWRkRWxlbWVudEJhY2tncm91bmRJbWFnZXMocyl9fX19O3ZhciB1PXsxOiEwLDk6ITAsMTE6ITB9O3JldHVybiBvLnByb3RvdHlwZS5hZGRFbGVtZW50QmFja2dyb3VuZEltYWdlcz1mdW5jdGlvbihlKXt2YXIgdD1nZXRDb21wdXRlZFN0eWxlKGUpO2lmKHQpZm9yKHZhciBpPS91cmxcKChbJyJdKT8oLio/KVwxXCkvZ2ksbj1pLmV4ZWModC5iYWNrZ3JvdW5kSW1hZ2UpO251bGwhPT1uOyl7dmFyIG89biYmblsyXTtvJiZ0aGlzLmFkZEJhY2tncm91bmQobyxlKSxuPWkuZXhlYyh0LmJhY2tncm91bmRJbWFnZSl9fSxvLnByb3RvdHlwZS5hZGRJbWFnZT1mdW5jdGlvbihlKXt2YXIgdD1uZXcgcihlKTt0aGlzLmltYWdlcy5wdXNoKHQpfSxvLnByb3RvdHlwZS5hZGRCYWNrZ3JvdW5kPWZ1bmN0aW9uKGUsdCl7dmFyIGk9bmV3IHMoZSx0KTt0aGlzLmltYWdlcy5wdXNoKGkpfSxvLnByb3RvdHlwZS5jaGVjaz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSxpLG4pe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LnByb2dyZXNzKGUsaSxuKX0pfXZhciB0PXRoaXM7cmV0dXJuIHRoaXMucHJvZ3Jlc3NlZENvdW50PTAsdGhpcy5oYXNBbnlCcm9rZW49ITEsdGhpcy5pbWFnZXMubGVuZ3RoP3ZvaWQgdGhpcy5pbWFnZXMuZm9yRWFjaChmdW5jdGlvbih0KXt0Lm9uY2UoInByb2dyZXNzIixlKSx0LmNoZWNrKCl9KTp2b2lkIHRoaXMuY29tcGxldGUoKX0sby5wcm90b3R5cGUucHJvZ3Jlc3M9ZnVuY3Rpb24oZSx0LGkpe3RoaXMucHJvZ3Jlc3NlZENvdW50KyssdGhpcy5oYXNBbnlCcm9rZW49dGhpcy5oYXNBbnlCcm9rZW58fCFlLmlzTG9hZGVkLHRoaXMuZW1pdEV2ZW50KCJwcm9ncmVzcyIsW3RoaXMsZSx0XSksdGhpcy5qcURlZmVycmVkJiZ0aGlzLmpxRGVmZXJyZWQubm90aWZ5JiZ0aGlzLmpxRGVmZXJyZWQubm90aWZ5KHRoaXMsZSksdGhpcy5wcm9ncmVzc2VkQ291bnQ9PXRoaXMuaW1hZ2VzLmxlbmd0aCYmdGhpcy5jb21wbGV0ZSgpLHRoaXMub3B0aW9ucy5kZWJ1ZyYmYSYmYS5sb2coInByb2dyZXNzOiAiK2ksZSx0KX0sby5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmhhc0FueUJyb2tlbj8iZmFpbCI6ImRvbmUiO2lmKHRoaXMuaXNDb21wbGV0ZT0hMCx0aGlzLmVtaXRFdmVudChlLFt0aGlzXSksdGhpcy5lbWl0RXZlbnQoImFsd2F5cyIsW3RoaXNdKSx0aGlzLmpxRGVmZXJyZWQpe3ZhciB0PXRoaXMuaGFzQW55QnJva2VuPyJyZWplY3QiOiJyZXNvbHZlIjt0aGlzLmpxRGVmZXJyZWRbdF0odGhpcyl9fSxyLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jaGVjaz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuZ2V0SXNJbWFnZUNvbXBsZXRlKCk7cmV0dXJuIGU/dm9pZCB0aGlzLmNvbmZpcm0oMCE9PXRoaXMuaW1nLm5hdHVyYWxXaWR0aCwibmF0dXJhbFdpZHRoIik6KHRoaXMucHJveHlJbWFnZT1uZXcgSW1hZ2UsdGhpcy5wcm94eUltYWdlLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLHRoaXMpLHRoaXMucHJveHlJbWFnZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcyksdGhpcy5pbWcuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdGhpcyksdGhpcy5pbWcuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMpLHZvaWQodGhpcy5wcm94eUltYWdlLnNyYz10aGlzLmltZy5zcmMpKX0sci5wcm90b3R5cGUuZ2V0SXNJbWFnZUNvbXBsZXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW1nLmNvbXBsZXRlJiZ0aGlzLmltZy5uYXR1cmFsV2lkdGh9LHIucHJvdG90eXBlLmNvbmZpcm09ZnVuY3Rpb24oZSx0KXt0aGlzLmlzTG9hZGVkPWUsdGhpcy5lbWl0RXZlbnQoInByb2dyZXNzIixbdGhpcyx0aGlzLmltZyx0XSl9LHIucHJvdG90eXBlLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKGUpe3ZhciB0PSJvbiIrZS50eXBlO3RoaXNbdF0mJnRoaXNbdF0oZSl9LHIucHJvdG90eXBlLm9ubG9hZD1mdW5jdGlvbigpe3RoaXMuY29uZmlybSghMCwib25sb2FkIiksdGhpcy51bmJpbmRFdmVudHMoKX0sci5wcm90b3R5cGUub25lcnJvcj1mdW5jdGlvbigpe3RoaXMuY29uZmlybSghMSwib25lcnJvciIpLHRoaXMudW5iaW5kRXZlbnRzKCl9LHIucHJvdG90eXBlLnVuYmluZEV2ZW50cz1mdW5jdGlvbigpe3RoaXMucHJveHlJbWFnZS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIix0aGlzKSx0aGlzLnByb3h5SW1hZ2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMpLHRoaXMuaW1nLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLHRoaXMpLHRoaXMuaW1nLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzKX0scy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShyLnByb3RvdHlwZSkscy5wcm90b3R5cGUuY2hlY2s9ZnVuY3Rpb24oKXt0aGlzLmltZy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIix0aGlzKSx0aGlzLmltZy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcyksdGhpcy5pbWcuc3JjPXRoaXMudXJsO3ZhciBlPXRoaXMuZ2V0SXNJbWFnZUNvbXBsZXRlKCk7ZSYmKHRoaXMuY29uZmlybSgwIT09dGhpcy5pbWcubmF0dXJhbFdpZHRoLCJuYXR1cmFsV2lkdGgiKSx0aGlzLnVuYmluZEV2ZW50cygpKX0scy5wcm90b3R5cGUudW5iaW5kRXZlbnRzPWZ1bmN0aW9uKCl7dGhpcy5pbWcucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsdGhpcyksdGhpcy5pbWcucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMpfSxzLnByb3RvdHlwZS5jb25maXJtPWZ1bmN0aW9uKGUsdCl7dGhpcy5pc0xvYWRlZD1lLHRoaXMuZW1pdEV2ZW50KCJwcm9ncmVzcyIsW3RoaXMsdGhpcy5lbGVtZW50LHRdKX0sby5tYWtlSlF1ZXJ5UGx1Z2luPWZ1bmN0aW9uKHQpe3Q9dHx8ZS5qUXVlcnksdCYmKGg9dCxoLmZuLmltYWdlc0xvYWRlZD1mdW5jdGlvbihlLHQpe3ZhciBpPW5ldyBvKHRoaXMsZSx0KTtyZXR1cm4gaS5qcURlZmVycmVkLnByb21pc2UoaCh0aGlzKSl9KX0sby5tYWtlSlF1ZXJ5UGx1Z2luKCksb30pOwoKLyoKanVzdGlmaWVkR2FsbGVyeQpWZXJzaW9uOiAzLjguMQpQbHVnaW4gVVJJOiBodHRwOi8vbWlyb21hbm5pbm8uZ2l0aHViLmlvL0p1c3RpZmllZC1HYWxsZXJ5LwpMaWNlbnNlOiBDb3B5cmlnaHQgKGMpIDIwMjAgTWlybyBNYW5uaW5vIHwgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlCiovCiFmdW5jdGlvbihlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGUpOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1mdW5jdGlvbih0LGkpe3JldHVybiB2b2lkIDA9PT1pJiYoaT0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz9yZXF1aXJlKCJqcXVlcnkiKTpyZXF1aXJlKCJqcXVlcnkiKSh0KSksZShpKSxpfTplKGpRdWVyeSl9KGZ1bmN0aW9uKGwpe3ZhciByPWZ1bmN0aW9uKHQsaSl7dGhpcy5zZXR0aW5ncz1pLHRoaXMuY2hlY2tTZXR0aW5ncygpLHRoaXMuaW1nQW5hbHl6ZXJUaW1lb3V0PW51bGwsdGhpcy5lbnRyaWVzPW51bGwsdGhpcy5idWlsZGluZ1Jvdz17ZW50cmllc0J1ZmY6W10sd2lkdGg6MCxoZWlnaHQ6MCxhc3BlY3RSYXRpbzowfSx0aGlzLmxhc3RGZXRjaGVkRW50cnk9bnVsbCx0aGlzLmxhc3RBbmFseXplZEluZGV4PS0xLHRoaXMueWllbGQ9e2V2ZXJ5OjIsZmx1c2hlZDowfSx0aGlzLmJvcmRlcj0wPD1pLmJvcmRlcj9pLmJvcmRlcjppLm1hcmdpbnMsdGhpcy5tYXhSb3dIZWlnaHQ9dGhpcy5yZXRyaWV2ZU1heFJvd0hlaWdodCgpLHRoaXMuc3VmZml4UmFuZ2VzPXRoaXMucmV0cmlldmVTdWZmaXhSYW5nZXMoKSx0aGlzLm9mZlk9dGhpcy5ib3JkZXIsdGhpcy5yb3dzPTAsdGhpcy5zcGlubmVyPXtwaGFzZTowLHRpbWVTbG90OjE1MCwkZWw6bCgnPGRpdiBjbGFzcz0iamctc3Bpbm5lciI+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj48c3Bhbj48L3NwYW4+PC9kaXY+JyksaW50ZXJ2YWxJZDpudWxsfSx0aGlzLnNjcm9sbEJhck9uPSExLHRoaXMuY2hlY2tXaWR0aEludGVydmFsSWQ9bnVsbCx0aGlzLmdhbGxlcnlXaWR0aD10LndpZHRoKCksdGhpcy4kZ2FsbGVyeT10fTtyLnByb3RvdHlwZS5nZXRTdWZmaXg9ZnVuY3Rpb24odCxpKXt2YXIgZSxzO2ZvcihlPWk8dD90Omkscz0wO3M8dGhpcy5zdWZmaXhSYW5nZXMubGVuZ3RoO3MrKylpZihlPD10aGlzLnN1ZmZpeFJhbmdlc1tzXSlyZXR1cm4gdGhpcy5zZXR0aW5ncy5zaXplUmFuZ2VTdWZmaXhlc1t0aGlzLnN1ZmZpeFJhbmdlc1tzXV07cmV0dXJuIHRoaXMuc2V0dGluZ3Muc2l6ZVJhbmdlU3VmZml4ZXNbdGhpcy5zdWZmaXhSYW5nZXNbcy0xXV19LHIucHJvdG90eXBlLnJlbW92ZVN1ZmZpeD1mdW5jdGlvbih0LGkpe3JldHVybiB0LnN1YnN0cmluZygwLHQubGVuZ3RoLWkubGVuZ3RoKX0sci5wcm90b3R5cGUuZW5kc1dpdGg9ZnVuY3Rpb24odCxpKXtyZXR1cm4tMSE9PXQuaW5kZXhPZihpLHQubGVuZ3RoLWkubGVuZ3RoKX0sci5wcm90b3R5cGUuZ2V0VXNlZFN1ZmZpeD1mdW5jdGlvbih0KXtmb3IodmFyIGkgaW4gdGhpcy5zZXR0aW5ncy5zaXplUmFuZ2VTdWZmaXhlcylpZih0aGlzLnNldHRpbmdzLnNpemVSYW5nZVN1ZmZpeGVzLmhhc093blByb3BlcnR5KGkpKXtpZigwPT09dGhpcy5zZXR0aW5ncy5zaXplUmFuZ2VTdWZmaXhlc1tpXS5sZW5ndGgpY29udGludWU7aWYodGhpcy5lbmRzV2l0aCh0LHRoaXMuc2V0dGluZ3Muc2l6ZVJhbmdlU3VmZml4ZXNbaV0pKXJldHVybiB0aGlzLnNldHRpbmdzLnNpemVSYW5nZVN1ZmZpeGVzW2ldfXJldHVybiIifSxyLnByb3RvdHlwZS5uZXdTcmM9ZnVuY3Rpb24odCxpLGUscyl7dmFyIG47aWYodGhpcy5zZXR0aW5ncy50aHVtYm5haWxQYXRoKW49dGhpcy5zZXR0aW5ncy50aHVtYm5haWxQYXRoKHQsaSxlLHMpO2Vsc2V7dmFyIHI9dC5tYXRjaCh0aGlzLnNldHRpbmdzLmV4dGVuc2lvbiksbz1udWxsIT09cj9yWzBdOiIiO249dC5yZXBsYWNlKHRoaXMuc2V0dGluZ3MuZXh0ZW5zaW9uLCIiKSxuPXRoaXMucmVtb3ZlU3VmZml4KG4sdGhpcy5nZXRVc2VkU3VmZml4KG4pKSxuKz10aGlzLmdldFN1ZmZpeChpLGUpK299cmV0dXJuIG59LHIucHJvdG90eXBlLnNob3dJbWc9ZnVuY3Rpb24odCxpKXt0aGlzLnNldHRpbmdzLmNzc0FuaW1hdGlvbj8odC5hZGRDbGFzcygiamctZW50cnktdmlzaWJsZSIpLGkmJmkoKSk6KHQuc3RvcCgpLmZhZGVUbyh0aGlzLnNldHRpbmdzLmltYWdlc0FuaW1hdGlvbkR1cmF0aW9uLDEsaSksdC5maW5kKHRoaXMuc2V0dGluZ3MuaW1nU2VsZWN0b3IpLnN0b3AoKS5mYWRlVG8odGhpcy5zZXR0aW5ncy5pbWFnZXNBbmltYXRpb25EdXJhdGlvbiwxLGkpKX0sci5wcm90b3R5cGUuZXh0cmFjdEltZ1NyY0Zyb21JbWFnZT1mdW5jdGlvbih0KXt2YXIgaT10LmRhdGEoInNhZmUtc3JjIiksZT0iZGF0YS1zYWZlLXNyYyI7cmV0dXJuIHZvaWQgMD09PWkmJihpPXQuYXR0cigic3JjIiksZT0ic3JjIiksdC5kYXRhKCJqZy5vcmlnaW5hbFNyYyIsaSksdC5kYXRhKCJqZy5zcmMiLGkpLHQuZGF0YSgiamcub3JpZ2luYWxTcmNMb2MiLGUpLGl9LHIucHJvdG90eXBlLmltZ0Zyb21FbnRyeT1mdW5jdGlvbih0KXt2YXIgaT10LmZpbmQodGhpcy5zZXR0aW5ncy5pbWdTZWxlY3Rvcik7cmV0dXJuIDA9PT1pLmxlbmd0aD9udWxsOml9LHIucHJvdG90eXBlLmNhcHRpb25Gcm9tRW50cnk9ZnVuY3Rpb24odCl7dmFyIGk9dC5maW5kKCI+IC5qZy1jYXB0aW9uIik7cmV0dXJuIDA9PT1pLmxlbmd0aD9udWxsOml9LHIucHJvdG90eXBlLmRpc3BsYXlFbnRyeT1mdW5jdGlvbih0LGksZSxzLG4scil7dC53aWR0aChzKSx0LmhlaWdodChyKSx0LmNzcygidG9wIixlKSx0LmNzcygibGVmdCIsaSk7dmFyIG89dGhpcy5pbWdGcm9tRW50cnkodCk7aWYobnVsbCE9PW8pe28uY3NzKCJ3aWR0aCIscyksby5jc3MoImhlaWdodCIsbiksby5jc3MoIm1hcmdpbi1sZWZ0Iiwtcy8yKSxvLmNzcygibWFyZ2luLXRvcCIsLW4vMik7dmFyIGE9by5kYXRhKCJqZy5zcmMiKTtpZihhKXthPXRoaXMubmV3U3JjKGEscyxuLG9bMF0pLG8ub25lKCJlcnJvciIsZnVuY3Rpb24oKXt0aGlzLnJlc2V0SW1nU3JjKG8pfSk7dmFyIGg9ZnVuY3Rpb24oKXtvLmF0dHIoInNyYyIsYSl9OyJza2lwcGVkIj09PXQuZGF0YSgiamcubG9hZGVkIikmJmE/dGhpcy5vbkltYWdlRXZlbnQoYSxmdW5jdGlvbigpe3RoaXMuc2hvd0ltZyh0LGgpLHQuZGF0YSgiamcubG9hZGVkIiwhMCl9LmJpbmQodGhpcykpOnRoaXMuc2hvd0ltZyh0LGgpfX1lbHNlIHRoaXMuc2hvd0ltZyh0KTt0aGlzLmRpc3BsYXlFbnRyeUNhcHRpb24odCl9LHIucHJvdG90eXBlLmRpc3BsYXlFbnRyeUNhcHRpb249ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5pbWdGcm9tRW50cnkodCk7aWYobnVsbCE9PWkmJnRoaXMuc2V0dGluZ3MuY2FwdGlvbnMpe3ZhciBlPXRoaXMuY2FwdGlvbkZyb21FbnRyeSh0KTtpZihudWxsPT09ZSl7dmFyIHM9aS5hdHRyKCJhbHQiKTt0aGlzLmlzVmFsaWRDYXB0aW9uKHMpfHwocz10LmF0dHIoInRpdGxlIikpLHRoaXMuaXNWYWxpZENhcHRpb24ocykmJihlPWwoJzxkaXYgY2xhc3M9ImpnLWNhcHRpb24iPicrcysiPC9kaXY+IiksdC5hcHBlbmQoZSksdC5kYXRhKCJqZy5jcmVhdGVkQ2FwdGlvbiIsITApKX1udWxsIT09ZSYmKHRoaXMuc2V0dGluZ3MuY3NzQW5pbWF0aW9ufHxlLnN0b3AoKS5mYWRlVG8oMCx0aGlzLnNldHRpbmdzLmNhcHRpb25TZXR0aW5ncy5ub25WaXNpYmxlT3BhY2l0eSksdGhpcy5hZGRDYXB0aW9uRXZlbnRzSGFuZGxlcnModCkpfWVsc2UgdGhpcy5yZW1vdmVDYXB0aW9uRXZlbnRzSGFuZGxlcnModCl9LHIucHJvdG90eXBlLmlzVmFsaWRDYXB0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10JiYwPHQubGVuZ3RofSxyLnByb3RvdHlwZS5vbkVudHJ5TW91c2VFbnRlckZvckNhcHRpb249ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5jYXB0aW9uRnJvbUVudHJ5KGwodC5jdXJyZW50VGFyZ2V0KSk7dGhpcy5zZXR0aW5ncy5jc3NBbmltYXRpb24/aS5hZGRDbGFzcygiamctY2FwdGlvbi12aXNpYmxlIikucmVtb3ZlQ2xhc3MoImpnLWNhcHRpb24taGlkZGVuIik6aS5zdG9wKCkuZmFkZVRvKHRoaXMuc2V0dGluZ3MuY2FwdGlvblNldHRpbmdzLmFuaW1hdGlvbkR1cmF0aW9uLHRoaXMuc2V0dGluZ3MuY2FwdGlvblNldHRpbmdzLnZpc2libGVPcGFjaXR5KX0sci5wcm90b3R5cGUub25FbnRyeU1vdXNlTGVhdmVGb3JDYXB0aW9uPWZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuY2FwdGlvbkZyb21FbnRyeShsKHQuY3VycmVudFRhcmdldCkpO3RoaXMuc2V0dGluZ3MuY3NzQW5pbWF0aW9uP2kucmVtb3ZlQ2xhc3MoImpnLWNhcHRpb24tdmlzaWJsZSIpLnJlbW92ZUNsYXNzKCJqZy1jYXB0aW9uLWhpZGRlbiIpOmkuc3RvcCgpLmZhZGVUbyh0aGlzLnNldHRpbmdzLmNhcHRpb25TZXR0aW5ncy5hbmltYXRpb25EdXJhdGlvbix0aGlzLnNldHRpbmdzLmNhcHRpb25TZXR0aW5ncy5ub25WaXNpYmxlT3BhY2l0eSl9LHIucHJvdG90eXBlLmFkZENhcHRpb25FdmVudHNIYW5kbGVycz1mdW5jdGlvbih0KXt2YXIgaT10LmRhdGEoImpnLmNhcHRpb25Nb3VzZUV2ZW50cyIpO3ZvaWQgMD09PWkmJihpPXttb3VzZWVudGVyOmwucHJveHkodGhpcy5vbkVudHJ5TW91c2VFbnRlckZvckNhcHRpb24sdGhpcyksbW91c2VsZWF2ZTpsLnByb3h5KHRoaXMub25FbnRyeU1vdXNlTGVhdmVGb3JDYXB0aW9uLHRoaXMpfSx0Lm9uKCJtb3VzZWVudGVyIix2b2lkIDAsdm9pZCAwLGkubW91c2VlbnRlciksdC5vbigibW91c2VsZWF2ZSIsdm9pZCAwLHZvaWQgMCxpLm1vdXNlbGVhdmUpLHQuZGF0YSgiamcuY2FwdGlvbk1vdXNlRXZlbnRzIixpKSl9LHIucHJvdG90eXBlLnJlbW92ZUNhcHRpb25FdmVudHNIYW5kbGVycz1mdW5jdGlvbih0KXt2YXIgaT10LmRhdGEoImpnLmNhcHRpb25Nb3VzZUV2ZW50cyIpO3ZvaWQgMCE9PWkmJih0Lm9mZigibW91c2VlbnRlciIsdm9pZCAwLGkubW91c2VlbnRlciksdC5vZmYoIm1vdXNlbGVhdmUiLHZvaWQgMCxpLm1vdXNlbGVhdmUpLHQucmVtb3ZlRGF0YSgiamcuY2FwdGlvbk1vdXNlRXZlbnRzIikpfSxyLnByb3RvdHlwZS5jbGVhckJ1aWxkaW5nUm93PWZ1bmN0aW9uKCl7dGhpcy5idWlsZGluZ1Jvdy5lbnRyaWVzQnVmZj1bXSx0aGlzLmJ1aWxkaW5nUm93LmFzcGVjdFJhdGlvPTAsdGhpcy5idWlsZGluZ1Jvdy53aWR0aD0wfSxyLnByb3RvdHlwZS5wcmVwYXJlQnVpbGRpbmdSb3c9ZnVuY3Rpb24odCxpKXt2YXIgZSxzLG4scixvLGE9ITAsaD0wLGc9dGhpcy5nYWxsZXJ5V2lkdGgtMip0aGlzLmJvcmRlci0odGhpcy5idWlsZGluZ1Jvdy5lbnRyaWVzQnVmZi5sZW5ndGgtMSkqdGhpcy5zZXR0aW5ncy5tYXJnaW5zLGw9Zy90aGlzLmJ1aWxkaW5nUm93LmFzcGVjdFJhdGlvLHU9dGhpcy5zZXR0aW5ncy5yb3dIZWlnaHQsZD10aGlzLmJ1aWxkaW5nUm93LndpZHRoL2c+dGhpcy5zZXR0aW5ncy5qdXN0aWZ5VGhyZXNob2xkO2lmKGl8fHQmJiJoaWRlIj09PXRoaXMuc2V0dGluZ3MubGFzdFJvdyYmIWQpe2ZvcihlPTA7ZTx0aGlzLmJ1aWxkaW5nUm93LmVudHJpZXNCdWZmLmxlbmd0aDtlKyspcz10aGlzLmJ1aWxkaW5nUm93LmVudHJpZXNCdWZmW2VdLHRoaXMuc2V0dGluZ3MuY3NzQW5pbWF0aW9uP3MucmVtb3ZlQ2xhc3MoImpnLWVudHJ5LXZpc2libGUiKToocy5zdG9wKCkuZmFkZVRvKDAsLjEpLHMuZmluZCgiPiBpbWcsID4gYSA+IGltZyIpLmZhZGVUbygwLDApKTtyZXR1cm4tMX1mb3IodCYmIWQmJiJqdXN0aWZ5IiE9PXRoaXMuc2V0dGluZ3MubGFzdFJvdyYmImhpZGUiIT09dGhpcy5zZXR0aW5ncy5sYXN0Um93JiYoYT0hMSwwPHRoaXMucm93cyYmKGE9KHU9KHRoaXMub2ZmWS10aGlzLmJvcmRlci10aGlzLnNldHRpbmdzLm1hcmdpbnMqdGhpcy5yb3dzKS90aGlzLnJvd3MpKnRoaXMuYnVpbGRpbmdSb3cuYXNwZWN0UmF0aW8vZz50aGlzLnNldHRpbmdzLmp1c3RpZnlUaHJlc2hvbGQpKSxlPTA7ZTx0aGlzLmJ1aWxkaW5nUm93LmVudHJpZXNCdWZmLmxlbmd0aDtlKyspbj0ocz10aGlzLmJ1aWxkaW5nUm93LmVudHJpZXNCdWZmW2VdKS5kYXRhKCJqZy53aWR0aCIpL3MuZGF0YSgiamcuaGVpZ2h0Iiksbz1hPyhyPWU9PT10aGlzLmJ1aWxkaW5nUm93LmVudHJpZXNCdWZmLmxlbmd0aC0xP2c6bCpuLGwpOihyPXUqbix1KSxnLT1NYXRoLnJvdW5kKHIpLHMuZGF0YSgiamcuandpZHRoIixNYXRoLnJvdW5kKHIpKSxzLmRhdGEoImpnLmpoZWlnaHQiLE1hdGguY2VpbChvKSksKDA9PT1lfHxvPGgpJiYoaD1vKTtyZXR1cm4gdGhpcy5idWlsZGluZ1Jvdy5oZWlnaHQ9aCxhfSxyLnByb3RvdHlwZS5mbHVzaFJvdz1mdW5jdGlvbih0LGkpe3ZhciBlLHMsbixyPXRoaXMuc2V0dGluZ3Msbz10aGlzLmJvcmRlcjtpZihzPXRoaXMucHJlcGFyZUJ1aWxkaW5nUm93KHQsaSksaXx8dCYmImhpZGUiPT09ci5sYXN0Um93JiYtMT09PXMpdGhpcy5jbGVhckJ1aWxkaW5nUm93KCk7ZWxzZXtpZih0aGlzLm1heFJvd0hlaWdodCYmdGhpcy5tYXhSb3dIZWlnaHQ8dGhpcy5idWlsZGluZ1Jvdy5oZWlnaHQmJih0aGlzLmJ1aWxkaW5nUm93LmhlaWdodD10aGlzLm1heFJvd0hlaWdodCksdCYmKCJjZW50ZXIiPT09ci5sYXN0Um93fHwicmlnaHQiPT09ci5sYXN0Um93KSl7dmFyIGE9dGhpcy5nYWxsZXJ5V2lkdGgtMip0aGlzLmJvcmRlci0odGhpcy5idWlsZGluZ1Jvdy5lbnRyaWVzQnVmZi5sZW5ndGgtMSkqci5tYXJnaW5zO2ZvcihuPTA7bjx0aGlzLmJ1aWxkaW5nUm93LmVudHJpZXNCdWZmLmxlbmd0aDtuKyspYS09KGU9dGhpcy5idWlsZGluZ1Jvdy5lbnRyaWVzQnVmZltuXSkuZGF0YSgiamcuandpZHRoIik7ImNlbnRlciI9PT1yLmxhc3RSb3c/bys9TWF0aC5yb3VuZChhLzIpOiJyaWdodCI9PT1yLmxhc3RSb3cmJihvKz1hKX12YXIgaD10aGlzLmJ1aWxkaW5nUm93LmVudHJpZXNCdWZmLmxlbmd0aC0xO2ZvcihuPTA7bjw9aDtuKyspZT10aGlzLmJ1aWxkaW5nUm93LmVudHJpZXNCdWZmW3RoaXMuc2V0dGluZ3MucnRsP2gtbjpuXSx0aGlzLmRpc3BsYXlFbnRyeShlLG8sdGhpcy5vZmZZLGUuZGF0YSgiamcuandpZHRoIiksZS5kYXRhKCJqZy5qaGVpZ2h0IiksdGhpcy5idWlsZGluZ1Jvdy5oZWlnaHQpLG8rPWUuZGF0YSgiamcuandpZHRoIikrci5tYXJnaW5zO3RoaXMuZ2FsbGVyeUhlaWdodFRvU2V0PXRoaXMub2ZmWSt0aGlzLmJ1aWxkaW5nUm93LmhlaWdodCt0aGlzLmJvcmRlcix0aGlzLnNldEdhbGxlcnlUZW1wSGVpZ2h0KHRoaXMuZ2FsbGVyeUhlaWdodFRvU2V0K3RoaXMuZ2V0U3Bpbm5lckhlaWdodCgpKSwoIXR8fHRoaXMuYnVpbGRpbmdSb3cuaGVpZ2h0PD1yLnJvd0hlaWdodCYmcykmJih0aGlzLm9mZlkrPXRoaXMuYnVpbGRpbmdSb3cuaGVpZ2h0K3IubWFyZ2lucyx0aGlzLnJvd3MrPTEsdGhpcy5jbGVhckJ1aWxkaW5nUm93KCksdGhpcy5zZXR0aW5ncy50cmlnZ2VyRXZlbnQuY2FsbCh0aGlzLCJqZy5yb3dmbHVzaCIpKX19O3ZhciBpPTA7ci5wcm90b3R5cGUucmVtZW1iZXJHYWxsZXJ5SGVpZ2h0PWZ1bmN0aW9uKCl7aT10aGlzLiRnYWxsZXJ5LmhlaWdodCgpLHRoaXMuJGdhbGxlcnkuaGVpZ2h0KGkpfSxyLnByb3RvdHlwZS5zZXRHYWxsZXJ5VGVtcEhlaWdodD1mdW5jdGlvbih0KXtpPU1hdGgubWF4KHQsaSksdGhpcy4kZ2FsbGVyeS5oZWlnaHQoaSl9LHIucHJvdG90eXBlLnNldEdhbGxlcnlGaW5hbEhlaWdodD1mdW5jdGlvbih0KXtpPXQsdGhpcy4kZ2FsbGVyeS5oZWlnaHQodCl9LHIucHJvdG90eXBlLmNoZWNrV2lkdGg9ZnVuY3Rpb24oKXt0aGlzLmNoZWNrV2lkdGhJbnRlcnZhbElkPXNldEludGVydmFsKGwucHJveHkoZnVuY3Rpb24oKXtpZih0aGlzLiRnYWxsZXJ5LmlzKCI6dmlzaWJsZSIpKXt2YXIgdD1wYXJzZUZsb2F0KHRoaXMuJGdhbGxlcnkud2lkdGgoKSk7TWF0aC5hYnModC10aGlzLmdhbGxlcnlXaWR0aCk+dGhpcy5zZXR0aW5ncy5yZWZyZXNoU2Vuc2l0aXZpdHkmJih0aGlzLmdhbGxlcnlXaWR0aD10LHRoaXMucmV3aW5kKCksdGhpcy5yZW1lbWJlckdhbGxlcnlIZWlnaHQoKSx0aGlzLnN0YXJ0SW1nQW5hbHl6ZXIoITApKX19LHRoaXMpLHRoaXMuc2V0dGluZ3MucmVmcmVzaFRpbWUpfSxyLnByb3RvdHlwZS5pc1NwaW5uZXJBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9PXRoaXMuc3Bpbm5lci5pbnRlcnZhbElkfSxyLnByb3RvdHlwZS5nZXRTcGlubmVySGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3Bpbm5lci4kZWwuaW5uZXJIZWlnaHQoKX0sci5wcm90b3R5cGUuc3RvcExvYWRpbmdTcGlubmVyQW5pbWF0aW9uPWZ1bmN0aW9uKCl7Y2xlYXJJbnRlcnZhbCh0aGlzLnNwaW5uZXIuaW50ZXJ2YWxJZCksdGhpcy5zcGlubmVyLmludGVydmFsSWQ9bnVsbCx0aGlzLnNldEdhbGxlcnlUZW1wSGVpZ2h0KHRoaXMuJGdhbGxlcnkuaGVpZ2h0KCktdGhpcy5nZXRTcGlubmVySGVpZ2h0KCkpLHRoaXMuc3Bpbm5lci4kZWwuZGV0YWNoKCl9LHIucHJvdG90eXBlLnN0YXJ0TG9hZGluZ1NwaW5uZXJBbmltYXRpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNwaW5uZXIsaT10LiRlbC5maW5kKCJzcGFuIik7Y2xlYXJJbnRlcnZhbCh0LmludGVydmFsSWQpLHRoaXMuJGdhbGxlcnkuYXBwZW5kKHQuJGVsKSx0aGlzLnNldEdhbGxlcnlUZW1wSGVpZ2h0KHRoaXMub2ZmWSt0aGlzLmJ1aWxkaW5nUm93LmhlaWdodCt0aGlzLmdldFNwaW5uZXJIZWlnaHQoKSksdC5pbnRlcnZhbElkPXNldEludGVydmFsKGZ1bmN0aW9uKCl7dC5waGFzZTxpLmxlbmd0aD9pLmVxKHQucGhhc2UpLmZhZGVUbyh0LnRpbWVTbG90LDEpOmkuZXEodC5waGFzZS1pLmxlbmd0aCkuZmFkZVRvKHQudGltZVNsb3QsMCksdC5waGFzZT0odC5waGFzZSsxKSUoMippLmxlbmd0aCl9LHQudGltZVNsb3QpfSxyLnByb3RvdHlwZS5yZXdpbmQ9ZnVuY3Rpb24oKXt0aGlzLmxhc3RGZXRjaGVkRW50cnk9bnVsbCx0aGlzLmxhc3RBbmFseXplZEluZGV4PS0xLHRoaXMub2ZmWT10aGlzLmJvcmRlcix0aGlzLnJvd3M9MCx0aGlzLmNsZWFyQnVpbGRpbmdSb3coKX0sci5wcm90b3R5cGUuZ2V0U2VsZWN0b3JXaXRob3V0U3Bpbm5lcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNldHRpbmdzLnNlbGVjdG9yKyIsIGRpdjpub3QoLmpnLXNwaW5uZXIpIn0sci5wcm90b3R5cGUuZ2V0QWxsRW50cmllcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0U2VsZWN0b3JXaXRob3V0U3Bpbm5lcigpO3JldHVybiB0aGlzLiRnYWxsZXJ5LmNoaWxkcmVuKHQpLnRvQXJyYXkoKX0sci5wcm90b3R5cGUudXBkYXRlRW50cmllcz1mdW5jdGlvbih0KXt2YXIgaTtpZih0JiZudWxsIT10aGlzLmxhc3RGZXRjaGVkRW50cnkpe3ZhciBlPXRoaXMuZ2V0U2VsZWN0b3JXaXRob3V0U3Bpbm5lcigpO2k9bCh0aGlzLmxhc3RGZXRjaGVkRW50cnkpLm5leHRBbGwoZSkudG9BcnJheSgpfWVsc2UgdGhpcy5lbnRyaWVzPVtdLGk9dGhpcy5nZXRBbGxFbnRyaWVzKCk7cmV0dXJuIDA8aS5sZW5ndGgmJihsLmlzRnVuY3Rpb24odGhpcy5zZXR0aW5ncy5zb3J0KT9pPXRoaXMuc29ydEFycmF5KGkpOnRoaXMuc2V0dGluZ3MucmFuZG9taXplJiYoaT10aGlzLnNodWZmbGVBcnJheShpKSksdGhpcy5sYXN0RmV0Y2hlZEVudHJ5PWlbaS5sZW5ndGgtMV0sdGhpcy5zZXR0aW5ncy5maWx0ZXI/aT10aGlzLmZpbHRlckFycmF5KGkpOnRoaXMucmVzZXRGaWx0ZXJzKGkpKSx0aGlzLmVudHJpZXM9dGhpcy5lbnRyaWVzLmNvbmNhdChpKSwhMH0sci5wcm90b3R5cGUuaW5zZXJ0VG9HYWxsZXJ5PWZ1bmN0aW9uKHQpe3ZhciBpPXRoaXM7bC5lYWNoKHQsZnVuY3Rpb24oKXtsKHRoaXMpLmFwcGVuZFRvKGkuJGdhbGxlcnkpfSl9LHIucHJvdG90eXBlLnNodWZmbGVBcnJheT1mdW5jdGlvbih0KXt2YXIgaSxlLHM7Zm9yKGk9dC5sZW5ndGgtMTswPGk7aS0tKWU9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihpKzEpKSxzPXRbaV0sdFtpXT10W2VdLHRbZV09cztyZXR1cm4gdGhpcy5pbnNlcnRUb0dhbGxlcnkodCksdH0sci5wcm90b3R5cGUuc29ydEFycmF5PWZ1bmN0aW9uKHQpe3JldHVybiB0LnNvcnQodGhpcy5zZXR0aW5ncy5zb3J0KSx0aGlzLmluc2VydFRvR2FsbGVyeSh0KSx0fSxyLnByb3RvdHlwZS5yZXNldEZpbHRlcnM9ZnVuY3Rpb24odCl7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspbCh0W2ldKS5yZW1vdmVDbGFzcygiamctZmlsdGVyZWQiKX0sci5wcm90b3R5cGUuZmlsdGVyQXJyYXk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zZXR0aW5ncztpZigic3RyaW5nIj09PWwudHlwZShlLmZpbHRlcikpcmV0dXJuIHQuZmlsdGVyKGZ1bmN0aW9uKHQpe3ZhciBpPWwodCk7cmV0dXJuIGkuaXMoZS5maWx0ZXIpPyhpLnJlbW92ZUNsYXNzKCJqZy1maWx0ZXJlZCIpLCEwKTooaS5hZGRDbGFzcygiamctZmlsdGVyZWQiKS5yZW1vdmVDbGFzcygiamctdmlzaWJsZSIpLCExKX0pO2lmKGwuaXNGdW5jdGlvbihlLmZpbHRlcikpe2Zvcih2YXIgaT10LmZpbHRlcihlLmZpbHRlcikscz0wO3M8dC5sZW5ndGg7cysrKS0xPT09aS5pbmRleE9mKHRbc10pP2wodFtzXSkuYWRkQ2xhc3MoImpnLWZpbHRlcmVkIikucmVtb3ZlQ2xhc3MoImpnLXZpc2libGUiKTpsKHRbc10pLnJlbW92ZUNsYXNzKCJqZy1maWx0ZXJlZCIpO3JldHVybiBpfX0sci5wcm90b3R5cGUucmVzZXRJbWdTcmM9ZnVuY3Rpb24odCl7InNyYyI9PT10LmRhdGEoImpnLm9yaWdpbmFsU3JjTG9jIik/dC5hdHRyKCJzcmMiLHQuZGF0YSgiamcub3JpZ2luYWxTcmMiKSk6dC5hdHRyKCJzcmMiLCIiKX0sci5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwodGhpcy5jaGVja1dpZHRoSW50ZXJ2YWxJZCksdGhpcy5zdG9wSW1nQW5hbHl6ZXJTdGFydGVyKCksbC5lYWNoKHRoaXMuZ2V0QWxsRW50cmllcygpLGwucHJveHkoZnVuY3Rpb24odCxpKXt2YXIgZT1sKGkpO2UuY3NzKCJ3aWR0aCIsIiIpLGUuY3NzKCJoZWlnaHQiLCIiKSxlLmNzcygidG9wIiwiIiksZS5jc3MoImxlZnQiLCIiKSxlLmRhdGEoImpnLmxvYWRlZCIsdm9pZCAwKSxlLnJlbW92ZUNsYXNzKCJqZy1lbnRyeSBqZy1maWx0ZXJlZCBqZy1lbnRyeS12aXNpYmxlIik7dmFyIHM9dGhpcy5pbWdGcm9tRW50cnkoZSk7cyYmKHMuY3NzKCJ3aWR0aCIsIiIpLHMuY3NzKCJoZWlnaHQiLCIiKSxzLmNzcygibWFyZ2luLWxlZnQiLCIiKSxzLmNzcygibWFyZ2luLXRvcCIsIiIpLHRoaXMucmVzZXRJbWdTcmMocykscy5kYXRhKCJqZy5vcmlnaW5hbFNyYyIsdm9pZCAwKSxzLmRhdGEoImpnLm9yaWdpbmFsU3JjTG9jIix2b2lkIDApLHMuZGF0YSgiamcuc3JjIix2b2lkIDApKSx0aGlzLnJlbW92ZUNhcHRpb25FdmVudHNIYW5kbGVycyhlKTt2YXIgbj10aGlzLmNhcHRpb25Gcm9tRW50cnkoZSk7ZS5kYXRhKCJqZy5jcmVhdGVkQ2FwdGlvbiIpPyhlLmRhdGEoImpnLmNyZWF0ZWRDYXB0aW9uIix2b2lkIDApLG51bGwhPT1uJiZuLnJlbW92ZSgpKTpudWxsIT09biYmbi5mYWRlVG8oMCwxKX0sdGhpcykpLHRoaXMuJGdhbGxlcnkuY3NzKCJoZWlnaHQiLCIiKSx0aGlzLiRnYWxsZXJ5LnJlbW92ZUNsYXNzKCJqdXN0aWZpZWQtZ2FsbGVyeSIpLHRoaXMuJGdhbGxlcnkuZGF0YSgiamcuY29udHJvbGxlciIsdm9pZCAwKSx0aGlzLnNldHRpbmdzLnRyaWdnZXJFdmVudC5jYWxsKHRoaXMsImpnLmRlc3Ryb3kiKX0sci5wcm90b3R5cGUuYW5hbHl6ZUltYWdlcz1mdW5jdGlvbih0KXtmb3IodmFyIGk9dGhpcy5sYXN0QW5hbHl6ZWRJbmRleCsxO2k8dGhpcy5lbnRyaWVzLmxlbmd0aDtpKyspe3ZhciBlPWwodGhpcy5lbnRyaWVzW2ldKTtpZighMD09PWUuZGF0YSgiamcubG9hZGVkIil8fCJza2lwcGVkIj09PWUuZGF0YSgiamcubG9hZGVkIikpe3ZhciBzPXRoaXMuZ2FsbGVyeVdpZHRoLTIqdGhpcy5ib3JkZXItKHRoaXMuYnVpbGRpbmdSb3cuZW50cmllc0J1ZmYubGVuZ3RoLTEpKnRoaXMuc2V0dGluZ3MubWFyZ2lucyxuPWUuZGF0YSgiamcud2lkdGgiKS9lLmRhdGEoImpnLmhlaWdodCIpO2lmKHRoaXMuYnVpbGRpbmdSb3cuZW50cmllc0J1ZmYucHVzaChlKSx0aGlzLmJ1aWxkaW5nUm93LmFzcGVjdFJhdGlvKz1uLHRoaXMuYnVpbGRpbmdSb3cud2lkdGgrPW4qdGhpcy5zZXR0aW5ncy5yb3dIZWlnaHQsdGhpcy5sYXN0QW5hbHl6ZWRJbmRleD1pLHMvKHRoaXMuYnVpbGRpbmdSb3cuYXNwZWN0UmF0aW8rbik8dGhpcy5zZXR0aW5ncy5yb3dIZWlnaHQmJih0aGlzLmZsdXNoUm93KCExLDA8dGhpcy5zZXR0aW5ncy5tYXhSb3dzQ291bnQmJnRoaXMucm93cz09PXRoaXMuc2V0dGluZ3MubWF4Um93c0NvdW50KSwrK3RoaXMueWllbGQuZmx1c2hlZD49dGhpcy55aWVsZC5ldmVyeSkpcmV0dXJuIHZvaWQgdGhpcy5zdGFydEltZ0FuYWx5emVyKHQpfWVsc2UgaWYoImVycm9yIiE9PWUuZGF0YSgiamcubG9hZGVkIikpcmV0dXJufTA8dGhpcy5idWlsZGluZ1Jvdy5lbnRyaWVzQnVmZi5sZW5ndGgmJnRoaXMuZmx1c2hSb3coITAsMDx0aGlzLnNldHRpbmdzLm1heFJvd3NDb3VudCYmdGhpcy5yb3dzPT09dGhpcy5zZXR0aW5ncy5tYXhSb3dzQ291bnQpLHRoaXMuaXNTcGlubmVyQWN0aXZlKCkmJnRoaXMuc3RvcExvYWRpbmdTcGlubmVyQW5pbWF0aW9uKCksdGhpcy5zdG9wSW1nQW5hbHl6ZXJTdGFydGVyKCksdGhpcy5zZXRHYWxsZXJ5RmluYWxIZWlnaHQodGhpcy5nYWxsZXJ5SGVpZ2h0VG9TZXQpLHRoaXMuc2V0dGluZ3MudHJpZ2dlckV2ZW50LmNhbGwodGhpcyx0PyJqZy5yZXNpemUiOiJqZy5jb21wbGV0ZSIpfSxyLnByb3RvdHlwZS5zdG9wSW1nQW5hbHl6ZXJTdGFydGVyPWZ1bmN0aW9uKCl7dGhpcy55aWVsZC5mbHVzaGVkPTAsbnVsbCE9PXRoaXMuaW1nQW5hbHl6ZXJUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuaW1nQW5hbHl6ZXJUaW1lb3V0KSx0aGlzLmltZ0FuYWx5emVyVGltZW91dD1udWxsKX0sci5wcm90b3R5cGUuc3RhcnRJbWdBbmFseXplcj1mdW5jdGlvbih0KXt2YXIgaT10aGlzO3RoaXMuc3RvcEltZ0FuYWx5emVyU3RhcnRlcigpLHRoaXMuaW1nQW5hbHl6ZXJUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpLmFuYWx5emVJbWFnZXModCl9LC4wMDEpfSxyLnByb3RvdHlwZS5vbkltYWdlRXZlbnQ9ZnVuY3Rpb24odCxpLGUpe2lmKGl8fGUpe3ZhciBzPW5ldyBJbWFnZSxuPWwocyk7aSYmbi5vbmUoImxvYWQiLGZ1bmN0aW9uKCl7bi5vZmYoImxvYWQgZXJyb3IiKSxpKHMpfSksZSYmbi5vbmUoImVycm9yIixmdW5jdGlvbigpe24ub2ZmKCJsb2FkIGVycm9yIiksZShzKX0pLHMuc3JjPXR9fSxyLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dmFyIGE9ITEsaD0hMSxnPXRoaXM7bC5lYWNoKHRoaXMuZW50cmllcyxmdW5jdGlvbih0LGkpe3ZhciBlPWwoaSkscz1nLmltZ0Zyb21FbnRyeShlKTtpZihlLmFkZENsYXNzKCJqZy1lbnRyeSIpLCEwIT09ZS5kYXRhKCJqZy5sb2FkZWQiKSYmInNraXBwZWQiIT09ZS5kYXRhKCJqZy5sb2FkZWQiKSlpZihudWxsIT09Zy5zZXR0aW5ncy5yZWwmJmUuYXR0cigicmVsIixnLnNldHRpbmdzLnJlbCksbnVsbCE9PWcuc2V0dGluZ3MudGFyZ2V0JiZlLmF0dHIoInRhcmdldCIsZy5zZXR0aW5ncy50YXJnZXQpLG51bGwhPT1zKXt2YXIgbj1nLmV4dHJhY3RJbWdTcmNGcm9tSW1hZ2Uocyk7aWYoITE9PT1nLnNldHRpbmdzLndhaXRUaHVtYm5haWxzTG9hZHx8IW4pe3ZhciByPXBhcnNlRmxvYXQocy5hdHRyKCJ3aWR0aCIpKSxvPXBhcnNlRmxvYXQocy5hdHRyKCJoZWlnaHQiKSk7aWYoInN2ZyI9PT1zLnByb3AoInRhZ05hbWUiKSYmKHI9cGFyc2VGbG9hdChzWzBdLmdldEJCb3goKS53aWR0aCksbz1wYXJzZUZsb2F0KHNbMF0uZ2V0QkJveCgpLmhlaWdodCkpLCFpc05hTihyKSYmIWlzTmFOKG8pKXJldHVybiBlLmRhdGEoImpnLndpZHRoIixyKSxlLmRhdGEoImpnLmhlaWdodCIsbyksZS5kYXRhKCJqZy5sb2FkZWQiLCJza2lwcGVkIiksaD0hMCxnLnN0YXJ0SW1nQW5hbHl6ZXIoITEpLCEwfWUuZGF0YSgiamcubG9hZGVkIiwhMSksYT0hMCxnLmlzU3Bpbm5lckFjdGl2ZSgpfHxnLnN0YXJ0TG9hZGluZ1NwaW5uZXJBbmltYXRpb24oKSxnLm9uSW1hZ2VFdmVudChuLGZ1bmN0aW9uKHQpe2UuZGF0YSgiamcud2lkdGgiLHQud2lkdGgpLGUuZGF0YSgiamcuaGVpZ2h0Iix0LmhlaWdodCksZS5kYXRhKCJqZy5sb2FkZWQiLCEwKSxnLnN0YXJ0SW1nQW5hbHl6ZXIoITEpfSxmdW5jdGlvbigpe2UuZGF0YSgiamcubG9hZGVkIiwiZXJyb3IiKSxnLnN0YXJ0SW1nQW5hbHl6ZXIoITEpfSl9ZWxzZSBlLmRhdGEoImpnLmxvYWRlZCIsITApLGUuZGF0YSgiamcud2lkdGgiLGUud2lkdGgoKXxwYXJzZUZsb2F0KGUuY3NzKCJ3aWR0aCIpKXwxKSxlLmRhdGEoImpnLmhlaWdodCIsZS5oZWlnaHQoKXxwYXJzZUZsb2F0KGUuY3NzKCJoZWlnaHQiKSl8MSl9KSxhfHxofHx0aGlzLnN0YXJ0SW1nQW5hbHl6ZXIoITEpLHRoaXMuY2hlY2tXaWR0aCgpfSxyLnByb3RvdHlwZS5jaGVja09yQ29udmVydE51bWJlcj1mdW5jdGlvbih0LGkpe2lmKCJzdHJpbmciPT09bC50eXBlKHRbaV0pJiYodFtpXT1wYXJzZUZsb2F0KHRbaV0pKSwibnVtYmVyIiE9PWwudHlwZSh0W2ldKSl0aHJvdyBpKyIgbXVzdCBiZSBhIG51bWJlciI7aWYoaXNOYU4odFtpXSkpdGhyb3ciaW52YWxpZCBudW1iZXIgZm9yICIraX0sci5wcm90b3R5cGUuY2hlY2tTaXplUmFuZ2VzU3VmZml4ZXM9ZnVuY3Rpb24oKXtpZigib2JqZWN0IiE9PWwudHlwZSh0aGlzLnNldHRpbmdzLnNpemVSYW5nZVN1ZmZpeGVzKSl0aHJvdyJzaXplUmFuZ2VTdWZmaXhlcyBtdXN0IGJlIGRlZmluZWQgYW5kIG11c3QgYmUgYW4gb2JqZWN0Ijt2YXIgdD1bXTtmb3IodmFyIGkgaW4gdGhpcy5zZXR0aW5ncy5zaXplUmFuZ2VTdWZmaXhlcyl0aGlzLnNldHRpbmdzLnNpemVSYW5nZVN1ZmZpeGVzLmhhc093blByb3BlcnR5KGkpJiZ0LnB1c2goaSk7Zm9yKHZhciBlPXswOiIifSxzPTA7czx0Lmxlbmd0aDtzKyspaWYoInN0cmluZyI9PT1sLnR5cGUodFtzXSkpdHJ5e2VbcGFyc2VJbnQodFtzXS5yZXBsYWNlKC9eW2Etel0rLywiIiksMTApXT10aGlzLnNldHRpbmdzLnNpemVSYW5nZVN1ZmZpeGVzW3Rbc11dfWNhdGNoKHQpe3Rocm93InNpemVSYW5nZVN1ZmZpeGVzIGtleXMgbXVzdCBjb250YWlucyBjb3JyZWN0IG51bWJlcnMgKCIrdCsiKSJ9ZWxzZSBlW3Rbc11dPXRoaXMuc2V0dGluZ3Muc2l6ZVJhbmdlU3VmZml4ZXNbdFtzXV07dGhpcy5zZXR0aW5ncy5zaXplUmFuZ2VTdWZmaXhlcz1lfSxyLnByb3RvdHlwZS5yZXRyaWV2ZU1heFJvd0hlaWdodD1mdW5jdGlvbigpe3ZhciB0PW51bGwsaT10aGlzLnNldHRpbmdzLnJvd0hlaWdodDtpZigic3RyaW5nIj09PWwudHlwZSh0aGlzLnNldHRpbmdzLm1heFJvd0hlaWdodCkpdD10aGlzLnNldHRpbmdzLm1heFJvd0hlaWdodC5tYXRjaCgvXlswLTldKyUkLyk/aSpwYXJzZUZsb2F0KHRoaXMuc2V0dGluZ3MubWF4Um93SGVpZ2h0Lm1hdGNoKC9eKFswLTldKyklJC8pWzFdKS8xMDA6cGFyc2VGbG9hdCh0aGlzLnNldHRpbmdzLm1heFJvd0hlaWdodCk7ZWxzZXtpZigibnVtYmVyIiE9PWwudHlwZSh0aGlzLnNldHRpbmdzLm1heFJvd0hlaWdodCkpe2lmKCExPT09dGhpcy5zZXR0aW5ncy5tYXhSb3dIZWlnaHR8fG51bGw9PXRoaXMuc2V0dGluZ3MubWF4Um93SGVpZ2h0KXJldHVybiBudWxsO3Rocm93Im1heFJvd0hlaWdodCBtdXN0IGJlIGEgbnVtYmVyIG9yIGEgcGVyY2VudGFnZSJ9dD10aGlzLnNldHRpbmdzLm1heFJvd0hlaWdodH1pZihpc05hTih0KSl0aHJvdyJpbnZhbGlkIG51bWJlciBmb3IgbWF4Um93SGVpZ2h0IjtyZXR1cm4gdDxpJiYodD1pKSx0fSxyLnByb3RvdHlwZS5jaGVja1NldHRpbmdzPWZ1bmN0aW9uKCl7dGhpcy5jaGVja1NpemVSYW5nZXNTdWZmaXhlcygpLHRoaXMuY2hlY2tPckNvbnZlcnROdW1iZXIodGhpcy5zZXR0aW5ncywicm93SGVpZ2h0IiksdGhpcy5jaGVja09yQ29udmVydE51bWJlcih0aGlzLnNldHRpbmdzLCJtYXJnaW5zIiksdGhpcy5jaGVja09yQ29udmVydE51bWJlcih0aGlzLnNldHRpbmdzLCJib3JkZXIiKSx0aGlzLmNoZWNrT3JDb252ZXJ0TnVtYmVyKHRoaXMuc2V0dGluZ3MsIm1heFJvd3NDb3VudCIpO3ZhciB0PVsianVzdGlmeSIsIm5vanVzdGlmeSIsImxlZnQiLCJjZW50ZXIiLCJyaWdodCIsImhpZGUiXTtpZigtMT09PXQuaW5kZXhPZih0aGlzLnNldHRpbmdzLmxhc3RSb3cpKXRocm93Imxhc3RSb3cgbXVzdCBiZSBvbmUgb2Y6ICIrdC5qb2luKCIsICIpO2lmKHRoaXMuY2hlY2tPckNvbnZlcnROdW1iZXIodGhpcy5zZXR0aW5ncywianVzdGlmeVRocmVzaG9sZCIpLHRoaXMuc2V0dGluZ3MuanVzdGlmeVRocmVzaG9sZDwwfHwxPHRoaXMuc2V0dGluZ3MuanVzdGlmeVRocmVzaG9sZCl0aHJvdyJqdXN0aWZ5VGhyZXNob2xkIG11c3QgYmUgaW4gdGhlIGludGVydmFsIFswLDFdIjtpZigiYm9vbGVhbiIhPT1sLnR5cGUodGhpcy5zZXR0aW5ncy5jc3NBbmltYXRpb24pKXRocm93ImNzc0FuaW1hdGlvbiBtdXN0IGJlIGEgYm9vbGVhbiI7aWYoImJvb2xlYW4iIT09bC50eXBlKHRoaXMuc2V0dGluZ3MuY2FwdGlvbnMpKXRocm93ImNhcHRpb25zIG11c3QgYmUgYSBib29sZWFuIjtpZih0aGlzLmNoZWNrT3JDb252ZXJ0TnVtYmVyKHRoaXMuc2V0dGluZ3MuY2FwdGlvblNldHRpbmdzLCJhbmltYXRpb25EdXJhdGlvbiIpLHRoaXMuY2hlY2tPckNvbnZlcnROdW1iZXIodGhpcy5zZXR0aW5ncy5jYXB0aW9uU2V0dGluZ3MsInZpc2libGVPcGFjaXR5IiksdGhpcy5zZXR0aW5ncy5jYXB0aW9uU2V0dGluZ3MudmlzaWJsZU9wYWNpdHk8MHx8MTx0aGlzLnNldHRpbmdzLmNhcHRpb25TZXR0aW5ncy52aXNpYmxlT3BhY2l0eSl0aHJvdyJjYXB0aW9uU2V0dGluZ3MudmlzaWJsZU9wYWNpdHkgbXVzdCBiZSBpbiB0aGUgaW50ZXJ2YWwgWzAsIDFdIjtpZih0aGlzLmNoZWNrT3JDb252ZXJ0TnVtYmVyKHRoaXMuc2V0dGluZ3MuY2FwdGlvblNldHRpbmdzLCJub25WaXNpYmxlT3BhY2l0eSIpLHRoaXMuc2V0dGluZ3MuY2FwdGlvblNldHRpbmdzLm5vblZpc2libGVPcGFjaXR5PDB8fDE8dGhpcy5zZXR0aW5ncy5jYXB0aW9uU2V0dGluZ3Mubm9uVmlzaWJsZU9wYWNpdHkpdGhyb3ciY2FwdGlvblNldHRpbmdzLm5vblZpc2libGVPcGFjaXR5IG11c3QgYmUgaW4gdGhlIGludGVydmFsIFswLCAxXSI7aWYodGhpcy5jaGVja09yQ29udmVydE51bWJlcih0aGlzLnNldHRpbmdzLCJpbWFnZXNBbmltYXRpb25EdXJhdGlvbiIpLHRoaXMuY2hlY2tPckNvbnZlcnROdW1iZXIodGhpcy5zZXR0aW5ncywicmVmcmVzaFRpbWUiKSx0aGlzLmNoZWNrT3JDb252ZXJ0TnVtYmVyKHRoaXMuc2V0dGluZ3MsInJlZnJlc2hTZW5zaXRpdml0eSIpLCJib29sZWFuIiE9PWwudHlwZSh0aGlzLnNldHRpbmdzLnJhbmRvbWl6ZSkpdGhyb3cicmFuZG9taXplIG11c3QgYmUgYSBib29sZWFuIjtpZigic3RyaW5nIiE9PWwudHlwZSh0aGlzLnNldHRpbmdzLnNlbGVjdG9yKSl0aHJvdyJzZWxlY3RvciBtdXN0IGJlIGEgc3RyaW5nIjtpZighMSE9PXRoaXMuc2V0dGluZ3Muc29ydCYmIWwuaXNGdW5jdGlvbih0aGlzLnNldHRpbmdzLnNvcnQpKXRocm93InNvcnQgbXVzdCBiZSBmYWxzZSBvciBhIGNvbXBhcmlzb24gZnVuY3Rpb24iO2lmKCExIT09dGhpcy5zZXR0aW5ncy5maWx0ZXImJiFsLmlzRnVuY3Rpb24odGhpcy5zZXR0aW5ncy5maWx0ZXIpJiYic3RyaW5nIiE9PWwudHlwZSh0aGlzLnNldHRpbmdzLmZpbHRlcikpdGhyb3ciZmlsdGVyIG11c3QgYmUgZmFsc2UsIGEgc3RyaW5nIG9yIGEgZmlsdGVyIGZ1bmN0aW9uIn0sci5wcm90b3R5cGUucmV0cmlldmVTdWZmaXhSYW5nZXM9ZnVuY3Rpb24oKXt2YXIgdD1bXTtmb3IodmFyIGkgaW4gdGhpcy5zZXR0aW5ncy5zaXplUmFuZ2VTdWZmaXhlcyl0aGlzLnNldHRpbmdzLnNpemVSYW5nZVN1ZmZpeGVzLmhhc093blByb3BlcnR5KGkpJiZ0LnB1c2gocGFyc2VJbnQoaSwxMCkpO3JldHVybiB0LnNvcnQoZnVuY3Rpb24odCxpKXtyZXR1cm4gaTx0PzE6dDxpPy0xOjB9KSx0fSxyLnByb3RvdHlwZS51cGRhdGVTZXR0aW5ncz1mdW5jdGlvbih0KXt0aGlzLnNldHRpbmdzPWwuZXh0ZW5kKHt9LHRoaXMuc2V0dGluZ3MsdCksdGhpcy5jaGVja1NldHRpbmdzKCksdGhpcy5ib3JkZXI9MDw9dGhpcy5zZXR0aW5ncy5ib3JkZXI/dGhpcy5zZXR0aW5ncy5ib3JkZXI6dGhpcy5zZXR0aW5ncy5tYXJnaW5zLHRoaXMubWF4Um93SGVpZ2h0PXRoaXMucmV0cmlldmVNYXhSb3dIZWlnaHQoKSx0aGlzLnN1ZmZpeFJhbmdlcz10aGlzLnJldHJpZXZlU3VmZml4UmFuZ2VzKCl9LHIucHJvdG90eXBlLmRlZmF1bHRzPXtzaXplUmFuZ2VTdWZmaXhlczp7fSx0aHVtYm5haWxQYXRoOnZvaWQgMCxyb3dIZWlnaHQ6MTIwLG1heFJvd0hlaWdodDohMSxtYXhSb3dzQ291bnQ6MCxtYXJnaW5zOjEsYm9yZGVyOi0xLGxhc3RSb3c6Im5vanVzdGlmeSIsanVzdGlmeVRocmVzaG9sZDouOSx3YWl0VGh1bWJuYWlsc0xvYWQ6ITAsY2FwdGlvbnM6ITAsY3NzQW5pbWF0aW9uOiEwLGltYWdlc0FuaW1hdGlvbkR1cmF0aW9uOjUwMCxjYXB0aW9uU2V0dGluZ3M6e2FuaW1hdGlvbkR1cmF0aW9uOjUwMCx2aXNpYmxlT3BhY2l0eTouNyxub25WaXNpYmxlT3BhY2l0eTowfSxyZWw6bnVsbCx0YXJnZXQ6bnVsbCxleHRlbnNpb246L1wuW14uXFwvXSskLyxyZWZyZXNoVGltZToyMDAscmVmcmVzaFNlbnNpdGl2aXR5OjAscmFuZG9taXplOiExLHJ0bDohMSxzb3J0OiExLGZpbHRlcjohMSxzZWxlY3RvcjoiYSIsaW1nU2VsZWN0b3I6Ij4gaW1nLCA+IGEgPiBpbWcsID4gc3ZnLCA+IGEgPiBzdmciLHRyaWdnZXJFdmVudDpmdW5jdGlvbih0KXt0aGlzLiRnYWxsZXJ5LnRyaWdnZXIodCl9fSxsLmZuLmp1c3RpZmllZEdhbGxlcnk9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbih0LGkpe3ZhciBlPWwoaSk7ZS5hZGRDbGFzcygianVzdGlmaWVkLWdhbGxlcnkiKTt2YXIgcz1lLmRhdGEoImpnLmNvbnRyb2xsZXIiKTtpZih2b2lkIDA9PT1zKXtpZihudWxsIT1uJiYib2JqZWN0IiE9PWwudHlwZShuKSl7aWYoImRlc3Ryb3kiPT09bilyZXR1cm47dGhyb3ciVGhlIGFyZ3VtZW50IG11c3QgYmUgYW4gb2JqZWN0In1zPW5ldyByKGUsbC5leHRlbmQoe30sci5wcm90b3R5cGUuZGVmYXVsdHMsbikpLGUuZGF0YSgiamcuY29udHJvbGxlciIscyl9ZWxzZSBpZigibm9yZXdpbmQiPT09bik7ZWxzZXtpZigiZGVzdHJveSI9PT1uKXJldHVybiB2b2lkIHMuZGVzdHJveSgpO3MudXBkYXRlU2V0dGluZ3Mobikscy5yZXdpbmQoKX1zLnVwZGF0ZUVudHJpZXMoIm5vcmV3aW5kIj09PW4pJiZzLmluaXQoKX0pfX0pOwoKLyoKRWFzeSBwaWUgY2hhcnQKVmVyc2lvbjogMi4xLjcKUGx1Z2luIFVSSTogaHR0cHM6Ly9yZW5kcm8uZ2l0aHViLmlvL2Vhc3ktcGllLWNoYXJ0LwpMaWNlbnNlOiBSb2JlcnQgRmxlaXNjaG1hbm4gPHJlbmRybzg3QGdtYWlsLmNvbT4gKGh0dHA6Ly9yb2JlcnQtZmxlaXNjaG1hbm4uZGUpCiovCiFmdW5jdGlvbihhLGIpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sZnVuY3Rpb24oYSl7cmV0dXJuIGIoYSl9KToib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YihyZXF1aXJlKCJqcXVlcnkiKSk6YihqUXVlcnkpfSh0aGlzLGZ1bmN0aW9uKGEpe3ZhciBiPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTthLmFwcGVuZENoaWxkKGQpLCJvYmplY3QiPT10eXBlb2YgR192bWxDYW52YXNNYW5hZ2VyJiZHX3ZtbENhbnZhc01hbmFnZXIuaW5pdEVsZW1lbnQoZCk7dmFyIGU9ZC5nZXRDb250ZXh0KCIyZCIpO2Qud2lkdGg9ZC5oZWlnaHQ9Yi5zaXplO3ZhciBmPTE7d2luZG93LmRldmljZVBpeGVsUmF0aW8+MSYmKGY9d2luZG93LmRldmljZVBpeGVsUmF0aW8sZC5zdHlsZS53aWR0aD1kLnN0eWxlLmhlaWdodD1bYi5zaXplLCJweCJdLmpvaW4oIiIpLGQud2lkdGg9ZC5oZWlnaHQ9Yi5zaXplKmYsZS5zY2FsZShmLGYpKSxlLnRyYW5zbGF0ZShiLnNpemUvMixiLnNpemUvMiksZS5yb3RhdGUoKC0wLjUrYi5yb3RhdGUvMTgwKSpNYXRoLlBJKTt2YXIgZz0oYi5zaXplLWIubGluZVdpZHRoKS8yO2Iuc2NhbGVDb2xvciYmYi5zY2FsZUxlbmd0aCYmKGctPWIuc2NhbGVMZW5ndGgrMiksRGF0ZS5ub3c9RGF0ZS5ub3d8fGZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfTt2YXIgaD1mdW5jdGlvbihhLGIsYyl7Yz1NYXRoLm1pbihNYXRoLm1heCgtMSxjfHwwKSwxKTt2YXIgZD0wPj1jPyEwOiExO2UuYmVnaW5QYXRoKCksZS5hcmMoMCwwLGcsMCwyKk1hdGguUEkqYyxkKSxlLnN0cm9rZVN0eWxlPWEsZS5saW5lV2lkdGg9YixlLnN0cm9rZSgpfSxpPWZ1bmN0aW9uKCl7dmFyIGEsYztlLmxpbmVXaWR0aD0xLGUuZmlsbFN0eWxlPWIuc2NhbGVDb2xvcixlLnNhdmUoKTtmb3IodmFyIGQ9MjQ7ZD4wOy0tZClkJTY9PT0wPyhjPWIuc2NhbGVMZW5ndGgsYT0wKTooYz0uNipiLnNjYWxlTGVuZ3RoLGE9Yi5zY2FsZUxlbmd0aC1jKSxlLmZpbGxSZWN0KC1iLnNpemUvMithLDAsYywxKSxlLnJvdGF0ZShNYXRoLlBJLzEyKTtlLnJlc3RvcmUoKX0saj1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxmdW5jdGlvbihhKXt3aW5kb3cuc2V0VGltZW91dChhLDFlMy82MCl9fSgpLGs9ZnVuY3Rpb24oKXtiLnNjYWxlQ29sb3ImJmkoKSxiLnRyYWNrQ29sb3ImJmgoYi50cmFja0NvbG9yLGIudHJhY2tXaWR0aHx8Yi5saW5lV2lkdGgsMSl9O3RoaXMuZ2V0Q2FudmFzPWZ1bmN0aW9uKCl7cmV0dXJuIGR9LHRoaXMuZ2V0Q3R4PWZ1bmN0aW9uKCl7cmV0dXJuIGV9LHRoaXMuY2xlYXI9ZnVuY3Rpb24oKXtlLmNsZWFyUmVjdChiLnNpemUvLTIsYi5zaXplLy0yLGIuc2l6ZSxiLnNpemUpfSx0aGlzLmRyYXc9ZnVuY3Rpb24oYSl7Yi5zY2FsZUNvbG9yfHxiLnRyYWNrQ29sb3I/ZS5nZXRJbWFnZURhdGEmJmUucHV0SW1hZ2VEYXRhP2M/ZS5wdXRJbWFnZURhdGEoYywwLDApOihrKCksYz1lLmdldEltYWdlRGF0YSgwLDAsYi5zaXplKmYsYi5zaXplKmYpKToodGhpcy5jbGVhcigpLGsoKSk6dGhpcy5jbGVhcigpLGUubGluZUNhcD1iLmxpbmVDYXA7dmFyIGQ7ZD0iZnVuY3Rpb24iPT10eXBlb2YgYi5iYXJDb2xvcj9iLmJhckNvbG9yKGEpOmIuYmFyQ29sb3IsaChkLGIubGluZVdpZHRoLGEvMTAwKX0uYmluZCh0aGlzKSx0aGlzLmFuaW1hdGU9ZnVuY3Rpb24oYSxjKXt2YXIgZD1EYXRlLm5vdygpO2Iub25TdGFydChhLGMpO3ZhciBlPWZ1bmN0aW9uKCl7dmFyIGY9TWF0aC5taW4oRGF0ZS5ub3coKS1kLGIuYW5pbWF0ZS5kdXJhdGlvbiksZz1iLmVhc2luZyh0aGlzLGYsYSxjLWEsYi5hbmltYXRlLmR1cmF0aW9uKTt0aGlzLmRyYXcoZyksYi5vblN0ZXAoYSxjLGcpLGY+PWIuYW5pbWF0ZS5kdXJhdGlvbj9iLm9uU3RvcChhLGMpOmooZSl9LmJpbmQodGhpcyk7aihlKX0uYmluZCh0aGlzKX0sYz1mdW5jdGlvbihhLGMpe3ZhciBkPXtiYXJDb2xvcjoiI2VmMWUyNSIsdHJhY2tDb2xvcjoiI2Y5ZjlmOSIsc2NhbGVDb2xvcjoiI2RmZTBlMCIsc2NhbGVMZW5ndGg6NSxsaW5lQ2FwOiJyb3VuZCIsbGluZVdpZHRoOjMsdHJhY2tXaWR0aDp2b2lkIDAsc2l6ZToxMTAscm90YXRlOjAsYW5pbWF0ZTp7ZHVyYXRpb246MWUzLGVuYWJsZWQ6ITB9LGVhc2luZzpmdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBiLz1lLzIsMT5iP2QvMipiKmIrYzotZC8yKigtLWIqKGItMiktMSkrY30sb25TdGFydDpmdW5jdGlvbihhLGIpe30sb25TdGVwOmZ1bmN0aW9uKGEsYixjKXt9LG9uU3RvcDpmdW5jdGlvbihhLGIpe319O2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgYilkLnJlbmRlcmVyPWI7ZWxzZXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFNWR1JlbmRlcmVyKXRocm93IG5ldyBFcnJvcigiUGxlYXNlIGxvYWQgZWl0aGVyIHRoZSBTVkctIG9yIHRoZSBDYW52YXNSZW5kZXJlciIpO2QucmVuZGVyZXI9U1ZHUmVuZGVyZXJ9dmFyIGU9e30sZj0wLGc9ZnVuY3Rpb24oKXt0aGlzLmVsPWEsdGhpcy5vcHRpb25zPWU7Zm9yKHZhciBiIGluIGQpZC5oYXNPd25Qcm9wZXJ0eShiKSYmKGVbYl09YyYmInVuZGVmaW5lZCIhPXR5cGVvZiBjW2JdP2NbYl06ZFtiXSwiZnVuY3Rpb24iPT10eXBlb2YgZVtiXSYmKGVbYl09ZVtiXS5iaW5kKHRoaXMpKSk7InN0cmluZyI9PXR5cGVvZiBlLmVhc2luZyYmInVuZGVmaW5lZCIhPXR5cGVvZiBqUXVlcnkmJmpRdWVyeS5pc0Z1bmN0aW9uKGpRdWVyeS5lYXNpbmdbZS5lYXNpbmddKT9lLmVhc2luZz1qUXVlcnkuZWFzaW5nW2UuZWFzaW5nXTplLmVhc2luZz1kLmVhc2luZywibnVtYmVyIj09dHlwZW9mIGUuYW5pbWF0ZSYmKGUuYW5pbWF0ZT17ZHVyYXRpb246ZS5hbmltYXRlLGVuYWJsZWQ6ITB9KSwiYm9vbGVhbiIhPXR5cGVvZiBlLmFuaW1hdGV8fGUuYW5pbWF0ZXx8KGUuYW5pbWF0ZT17ZHVyYXRpb246MWUzLGVuYWJsZWQ6ZS5hbmltYXRlfSksdGhpcy5yZW5kZXJlcj1uZXcgZS5yZW5kZXJlcihhLGUpLHRoaXMucmVuZGVyZXIuZHJhdyhmKSxhLmRhdGFzZXQmJmEuZGF0YXNldC5wZXJjZW50P3RoaXMudXBkYXRlKHBhcnNlRmxvYXQoYS5kYXRhc2V0LnBlcmNlbnQpKTphLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImRhdGEtcGVyY2VudCIpJiZ0aGlzLnVwZGF0ZShwYXJzZUZsb2F0KGEuZ2V0QXR0cmlidXRlKCJkYXRhLXBlcmNlbnQiKSkpfS5iaW5kKHRoaXMpO3RoaXMudXBkYXRlPWZ1bmN0aW9uKGEpe3JldHVybiBhPXBhcnNlRmxvYXQoYSksZS5hbmltYXRlLmVuYWJsZWQ/dGhpcy5yZW5kZXJlci5hbmltYXRlKGYsYSk6dGhpcy5yZW5kZXJlci5kcmF3KGEpLGY9YSx0aGlzfS5iaW5kKHRoaXMpLHRoaXMuZGlzYWJsZUFuaW1hdGlvbj1mdW5jdGlvbigpe3JldHVybiBlLmFuaW1hdGUuZW5hYmxlZD0hMSx0aGlzfSx0aGlzLmVuYWJsZUFuaW1hdGlvbj1mdW5jdGlvbigpe3JldHVybiBlLmFuaW1hdGUuZW5hYmxlZD0hMCx0aGlzfSxnKCl9O2EuZm4uZWFzeVBpZUNoYXJ0PWZ1bmN0aW9uKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZDthLmRhdGEodGhpcywiZWFzeVBpZUNoYXJ0Iil8fChkPWEuZXh0ZW5kKHt9LGIsYSh0aGlzKS5kYXRhKCkpLGEuZGF0YSh0aGlzLCJlYXN5UGllQ2hhcnQiLG5ldyBjKHRoaXMsZCkpKX0pfX0pOwoKLyoKQ291bnRkb3duClZlcnNpb246IDIuMi4wClBsdWdpbiBVUkk6IGh0dHA6Ly9oaWxpb3MuZ2l0aHViLmlvL2pRdWVyeS5jb3VudGRvd24vCkxpY2Vuc2U6IENvcHlyaWdodCAoYykgMjAxNiBFZHNvbiBIaWxpb3MKKi8KIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGEpOmEoalF1ZXJ5KX0oZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYSl7aWYoYSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIGE7aWYoU3RyaW5nKGEpLm1hdGNoKGcpKXJldHVybiBTdHJpbmcoYSkubWF0Y2goL15bMC05XSokLykmJihhPU51bWJlcihhKSksU3RyaW5nKGEpLm1hdGNoKC9cLS8pJiYoYT1TdHJpbmcoYSkucmVwbGFjZSgvXC0vZywiLyIpKSxuZXcgRGF0ZShhKTt0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGNhc3QgYCIrYSsiYCB0byBhIGRhdGUgb2JqZWN0LiIpfWZ1bmN0aW9uIGMoYSl7dmFyIGI9YS50b1N0cmluZygpLnJlcGxhY2UoLyhbLj8qK14kW1xdXFwoKXt9fC1dKS9nLCJcXCQxIik7cmV0dXJuIG5ldyBSZWdFeHAoYil9ZnVuY3Rpb24gZChhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGQ9Yi5tYXRjaCgvJSgtfCEpP1tBLVpdezF9KDpbXjtdKzspPy9naSk7aWYoZClmb3IodmFyIGY9MCxnPWQubGVuZ3RoO2Y8ZzsrK2Ype3ZhciBoPWRbZl0ubWF0Y2goLyUoLXwhKT8oW2EtekEtWl17MX0pKDpbXjtdKzspPy8pLGo9YyhoWzBdKSxrPWhbMV18fCIiLGw9aFszXXx8IiIsbT1udWxsO2g9aFsyXSxpLmhhc093blByb3BlcnR5KGgpJiYobT1pW2hdLG09TnVtYmVyKGFbbV0pKSxudWxsIT09bSYmKCIhIj09PWsmJihtPWUobCxtKSksIiI9PT1rJiZtPDEwJiYobT0iMCIrbS50b1N0cmluZygpKSxiPWIucmVwbGFjZShqLG0udG9TdHJpbmcoKSkpfXJldHVybiBiPWIucmVwbGFjZSgvJSUvLCIlIil9fWZ1bmN0aW9uIGUoYSxiKXt2YXIgYz0icyIsZD0iIjtyZXR1cm4gYSYmKGE9YS5yZXBsYWNlKC8oOnw7fFxzKS9naSwiIikuc3BsaXQoL1wsLyksMT09PWEubGVuZ3RoP2M9YVswXTooZD1hWzBdLGM9YVsxXSkpLE1hdGguYWJzKGIpPjE/YzpkfXZhciBmPVtdLGc9W10saD17cHJlY2lzaW9uOjEwMCxlbGFwc2U6ITEsZGVmZXI6ITF9O2cucHVzaCgvXlswLTldKiQvLnNvdXJjZSksZy5wdXNoKC8oWzAtOV17MSwyfVwvKXsyfVswLTldezR9KCBbMC05XXsxLDJ9KDpbMC05XXsyfSl7Mn0pPy8uc291cmNlKSxnLnB1c2goL1swLTldezR9KFtcL1wtXVswLTldezEsMn0pezJ9KCBbMC05XXsxLDJ9KDpbMC05XXsyfSl7Mn0pPy8uc291cmNlKSxnPW5ldyBSZWdFeHAoZy5qb2luKCJ8IikpO3ZhciBpPXtZOiJ5ZWFycyIsbToibW9udGhzIixuOiJkYXlzVG9Nb250aCIsZDoiZGF5c1RvV2VlayIsdzoid2Vla3MiLFc6IndlZWtzVG9Nb250aCIsSDoiaG91cnMiLE06Im1pbnV0ZXMiLFM6InNlY29uZHMiLEQ6InRvdGFsRGF5cyIsSToidG90YWxIb3VycyIsTjoidG90YWxNaW51dGVzIixUOiJ0b3RhbFNlY29uZHMifSxqPWZ1bmN0aW9uKGIsYyxkKXt0aGlzLmVsPWIsdGhpcy4kZWw9YShiKSx0aGlzLmludGVydmFsPW51bGwsdGhpcy5vZmZzZXQ9e30sdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGgpLHRoaXMuaW5zdGFuY2VOdW1iZXI9Zi5sZW5ndGgsZi5wdXNoKHRoaXMpLHRoaXMuJGVsLmRhdGEoImNvdW50ZG93bi1pbnN0YW5jZSIsdGhpcy5pbnN0YW5jZU51bWJlciksZCYmKCJmdW5jdGlvbiI9PXR5cGVvZiBkPyh0aGlzLiRlbC5vbigidXBkYXRlLmNvdW50ZG93biIsZCksdGhpcy4kZWwub24oInN0b3BlZC5jb3VudGRvd24iLGQpLHRoaXMuJGVsLm9uKCJmaW5pc2guY291bnRkb3duIixkKSk6dGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGgsZCkpLHRoaXMuc2V0RmluYWxEYXRlKGMpLHRoaXMub3B0aW9ucy5kZWZlcj09PSExJiZ0aGlzLnN0YXJ0KCl9O2EuZXh0ZW5kKGoucHJvdG90eXBlLHtzdGFydDpmdW5jdGlvbigpe251bGwhPT10aGlzLmludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO3ZhciBhPXRoaXM7dGhpcy51cGRhdGUoKSx0aGlzLmludGVydmFsPXNldEludGVydmFsKGZ1bmN0aW9uKCl7YS51cGRhdGUuY2FsbChhKX0sdGhpcy5vcHRpb25zLnByZWNpc2lvbil9LHN0b3A6ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXMuaW50ZXJ2YWw9bnVsbCx0aGlzLmRpc3BhdGNoRXZlbnQoInN0b3BlZCIpfSx0b2dnbGU6ZnVuY3Rpb24oKXt0aGlzLmludGVydmFsP3RoaXMuc3RvcCgpOnRoaXMuc3RhcnQoKX0scGF1c2U6ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKX0scmVzdW1lOmZ1bmN0aW9uKCl7dGhpcy5zdGFydCgpfSxyZW1vdmU6ZnVuY3Rpb24oKXt0aGlzLnN0b3AuY2FsbCh0aGlzKSxmW3RoaXMuaW5zdGFuY2VOdW1iZXJdPW51bGwsZGVsZXRlIHRoaXMuJGVsLmRhdGEoKS5jb3VudGRvd25JbnN0YW5jZX0sc2V0RmluYWxEYXRlOmZ1bmN0aW9uKGEpe3RoaXMuZmluYWxEYXRlPWIoYSl9LHVwZGF0ZTpmdW5jdGlvbigpe2lmKDA9PT10aGlzLiRlbC5jbG9zZXN0KCJodG1sIikubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMucmVtb3ZlKCk7dmFyIGIsYz12b2lkIDAhPT1hLl9kYXRhKHRoaXMuZWwsImV2ZW50cyIpLGQ9bmV3IERhdGU7Yj10aGlzLmZpbmFsRGF0ZS5nZXRUaW1lKCktZC5nZXRUaW1lKCksYj1NYXRoLmNlaWwoYi8xZTMpLGI9IXRoaXMub3B0aW9ucy5lbGFwc2UmJmI8MD8wOk1hdGguYWJzKGIpLHRoaXMudG90YWxTZWNzTGVmdCE9PWImJmMmJih0aGlzLnRvdGFsU2Vjc0xlZnQ9Yix0aGlzLmVsYXBzZWQ9ZD49dGhpcy5maW5hbERhdGUsdGhpcy5vZmZzZXQ9e3NlY29uZHM6dGhpcy50b3RhbFNlY3NMZWZ0JTYwLG1pbnV0ZXM6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjApJTYwLGhvdXJzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwKSUyNCxkYXlzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwLzI0KSU3LGRheXNUb1dlZWs6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQpJTcsZGF5c1RvTW9udGg6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQlMzAuNDM2OCksd2Vla3M6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQvNyksd2Vla3NUb01vbnRoOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwLzI0LzcpJTQsbW9udGhzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwLzI0LzMwLjQzNjgpLHllYXJzOk1hdGguYWJzKHRoaXMuZmluYWxEYXRlLmdldEZ1bGxZZWFyKCktZC5nZXRGdWxsWWVhcigpKSx0b3RhbERheXM6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQpLHRvdGFsSG91cnM6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjApLHRvdGFsTWludXRlczpNYXRoLmZsb29yKHRoaXMudG90YWxTZWNzTGVmdC82MCksdG90YWxTZWNvbmRzOnRoaXMudG90YWxTZWNzTGVmdH0sdGhpcy5vcHRpb25zLmVsYXBzZXx8MCE9PXRoaXMudG90YWxTZWNzTGVmdD90aGlzLmRpc3BhdGNoRXZlbnQoInVwZGF0ZSIpOih0aGlzLnN0b3AoKSx0aGlzLmRpc3BhdGNoRXZlbnQoImZpbmlzaCIpKSl9LGRpc3BhdGNoRXZlbnQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5FdmVudChiKyIuY291bnRkb3duIik7Yy5maW5hbERhdGU9dGhpcy5maW5hbERhdGUsYy5lbGFwc2VkPXRoaXMuZWxhcHNlZCxjLm9mZnNldD1hLmV4dGVuZCh7fSx0aGlzLm9mZnNldCksYy5zdHJmdGltZT1kKHRoaXMub2Zmc2V0KSx0aGlzLiRlbC50cmlnZ2VyKGMpfX0pLGEuZm4uY291bnRkb3duPWZ1bmN0aW9uKCl7dmFyIGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLmRhdGEoImNvdW50ZG93bi1pbnN0YW5jZSIpO2lmKHZvaWQgMCE9PWMpe3ZhciBkPWZbY10sZT1iWzBdO2oucHJvdG90eXBlLmhhc093blByb3BlcnR5KGUpP2RbZV0uYXBwbHkoZCxiLnNsaWNlKDEpKTpudWxsPT09U3RyaW5nKGUpLm1hdGNoKC9eWyRBLVpfXVswLTlBLVpfJF0qJC9pKT8oZC5zZXRGaW5hbERhdGUuY2FsbChkLGUpLGQuc3RhcnQoKSk6YS5lcnJvcigiTWV0aG9kICVzIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS5jb3VudGRvd24iLnJlcGxhY2UoL1wlcy9naSxlKSl9ZWxzZSBuZXcgaih0aGlzLGJbMF0sYlsxXSl9KX19KTsKCi8qCkZpdFZpZHMKVmVyc2lvbjogMS4xClBsdWdpbiBVUkk6IGh0dHA6Ly9maXR2aWRzanMuY29tLwpMaWNlbnNlOiBDb3B5cmlnaHQgMjAxMywgQ2hyaXMgQ295aWVyIC0gaHR0cDovL2Nzcy10cmlja3MuY29tICsgRGF2ZSBSdXBlcnQgLSBodHRwOi8vZGF2ZXJ1cGVydC5jb20gfCBDcmVkaXQgdG8gVGhpZXJyeSBLb2JsZW50eiAtIGh0dHA6Ly93d3cuYWxpc3RhcGFydC5jb20vYXJ0aWNsZXMvY3JlYXRpbmctaW50cmluc2ljLXJhdGlvcy1mb3ItdmlkZW8vIHwgUmVsZWFzZWQgdW5kZXIgdGhlIFdURlBMIGxpY2Vuc2UgLSBodHRwOi8vc2FtLnpveS5vcmcvd3RmcGwvCiovCiFmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dC5mbi5maXRWaWRzPWZ1bmN0aW9uKGUpe3ZhciBpPXtjdXN0b21TZWxlY3RvcjpudWxsLGlnbm9yZTpudWxsfTtpZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpdC12aWRzLXN0eWxlIikpe3ZhciByPWRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0sYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmlubmVySFRNTD0nPHA+eDwvcD48c3R5bGUgaWQ9ImZpdC12aWRzLXN0eWxlIj4uZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlcnt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MDt9LmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIgaWZyYW1lLC5mbHVpZC13aWR0aC12aWRlby13cmFwcGVyIG9iamVjdCwuZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciBlbWJlZCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7fTwvc3R5bGU+JyxyLmFwcGVuZENoaWxkKGEuY2hpbGROb2Rlc1sxXSl9cmV0dXJuIGUmJnQuZXh0ZW5kKGksZSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9WydpZnJhbWVbc3JjKj0icGxheWVyLnZpbWVvLmNvbSJdJywnaWZyYW1lW3NyYyo9InlvdXR1YmUuY29tIl0nLCdpZnJhbWVbc3JjKj0ieW91dHViZS1ub2Nvb2tpZS5jb20iXScsJ2lmcmFtZVtzcmMqPSJraWNrc3RhcnRlci5jb20iXVtzcmMqPSJ2aWRlby5odG1sIl0nLCJvYmplY3QiLCJlbWJlZCJdO2kuY3VzdG9tU2VsZWN0b3ImJmUucHVzaChpLmN1c3RvbVNlbGVjdG9yKTt2YXIgcj0iLmZpdHZpZHNpZ25vcmUiO2kuaWdub3JlJiYocj1yKyIsICIraS5pZ25vcmUpO3ZhciBhPXQodGhpcykuZmluZChlLmpvaW4oIiwiKSk7KGE9KGE9YS5ub3QoIm9iamVjdCBvYmplY3QiKSkubm90KHIpKS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBpPXQodGhpcyk7aWYoIShpLnBhcmVudHMocikubGVuZ3RoPjB8fCJlbWJlZCI9PT10aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKSYmaS5wYXJlbnQoIm9iamVjdCIpLmxlbmd0aHx8aS5wYXJlbnQoIi5mbHVpZC13aWR0aC12aWRlby13cmFwcGVyIikubGVuZ3RoKSl7aS5jc3MoImhlaWdodCIpfHxpLmNzcygid2lkdGgiKXx8IWlzTmFOKGkuYXR0cigiaGVpZ2h0IikpJiYhaXNOYU4oaS5hdHRyKCJ3aWR0aCIpKXx8KGkuYXR0cigiaGVpZ2h0Iiw5KSxpLmF0dHIoIndpZHRoIiwxNikpO3ZhciBhPSgib2JqZWN0Ij09PXRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpfHxpLmF0dHIoImhlaWdodCIpJiYhaXNOYU4ocGFyc2VJbnQoaS5hdHRyKCJoZWlnaHQiKSwxMCkpP3BhcnNlSW50KGkuYXR0cigiaGVpZ2h0IiksMTApOmkuaGVpZ2h0KCkpLyhpc05hTihwYXJzZUludChpLmF0dHIoIndpZHRoIiksMTApKT9pLndpZHRoKCk6cGFyc2VJbnQoaS5hdHRyKCJ3aWR0aCIpLDEwKSk7aWYoIWkuYXR0cigiaWQiKSl7dmFyIGQ9ImZpdHZpZCIrZTtpLmF0dHIoImlkIixkKX1pLndyYXAoJzxkaXYgY2xhc3M9ImZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIiPjwvZGl2PicpLnBhcmVudCgiLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIiKS5jc3MoInBhZGRpbmctdG9wIiwxMDAqYSsiJSIpLGkucmVtb3ZlQXR0cigiaGVpZ2h0IikucmVtb3ZlQXR0cigid2lkdGgiKX19KX0pfX0od2luZG93LmpRdWVyeXx8d2luZG93LlplcHRvKTsKCi8qClJldGluYQpWZXJzaW9uOiAxLjMuMApQbHVnaW4gVVJJOiBodHRwOi8vaW11bHVzLmdpdGh1Yi5pby9yZXRpbmFqcy8KTGljZW5zZTogQ29weXJpZ2h0IDIwMTQgSW11bHVzLCBMTEMgfCBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UKKi8KIWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe31mdW5jdGlvbiBiKGEpe3JldHVybiBmLnJldGluYUltYWdlU3VmZml4K2F9ZnVuY3Rpb24gYyhhLGMpe2lmKHRoaXMucGF0aD1hfHwiIiwidW5kZWZpbmVkIiE9dHlwZW9mIGMmJm51bGwhPT1jKXRoaXMuYXRfMnhfcGF0aD1jLHRoaXMucGVyZm9ybV9jaGVjaz0hMTtlbHNle2lmKHZvaWQgMCE9PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtkLmhyZWY9dGhpcy5wYXRoLGQucGF0aG5hbWU9ZC5wYXRobmFtZS5yZXBsYWNlKGcsYiksdGhpcy5hdF8yeF9wYXRoPWQuaHJlZn1lbHNle3ZhciBlPXRoaXMucGF0aC5zcGxpdCgiPyIpO2VbMF09ZVswXS5yZXBsYWNlKGcsYiksdGhpcy5hdF8yeF9wYXRoPWUuam9pbigiPyIpfXRoaXMucGVyZm9ybV9jaGVjaz0hMH19ZnVuY3Rpb24gZChhKXt0aGlzLmVsPWEsdGhpcy5wYXRoPW5ldyBjKHRoaXMuZWwuZ2V0QXR0cmlidXRlKCJzcmMiKSx0aGlzLmVsLmdldEF0dHJpYnV0ZSgiZGF0YS1hdDJ4IikpO3ZhciBiPXRoaXM7dGhpcy5wYXRoLmNoZWNrXzJ4X3ZhcmlhbnQoZnVuY3Rpb24oYSl7YSYmYi5zd2FwKCl9KX12YXIgZT0idW5kZWZpbmVkIj09dHlwZW9mIGV4cG9ydHM/d2luZG93OmV4cG9ydHMsZj17cmV0aW5hSW1hZ2VTdWZmaXg6IkAyeCIsY2hlY2tfbWltZV90eXBlOiEwLGZvcmNlX29yaWdpbmFsX2RpbWVuc2lvbnM6ITB9O2UuUmV0aW5hPWEsYS5jb25maWd1cmU9ZnVuY3Rpb24oYSl7bnVsbD09PWEmJihhPXt9KTtmb3IodmFyIGIgaW4gYSlhLmhhc093blByb3BlcnR5KGIpJiYoZltiXT1hW2JdKX0sYS5pbml0PWZ1bmN0aW9uKGEpe251bGw9PT1hJiYoYT1lKTt2YXIgYj1hLm9ubG9hZHx8ZnVuY3Rpb24oKXt9O2Eub25sb2FkPWZ1bmN0aW9uKCl7dmFyIGEsYyxlPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpbWciKSxmPVtdO2ZvcihhPTA7YTxlLmxlbmd0aDthKz0xKWM9ZVthXSxjLmdldEF0dHJpYnV0ZU5vZGUoImRhdGEtbm8tcmV0aW5hIil8fGYucHVzaChuZXcgZChjKSk7YigpfX0sYS5pc1JldGluYT1mdW5jdGlvbigpe3ZhciBhPSIoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMy8yKSwgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSI7cmV0dXJuIGUuZGV2aWNlUGl4ZWxSYXRpbz4xPyEwOmUubWF0Y2hNZWRpYSYmZS5tYXRjaE1lZGlhKGEpLm1hdGNoZXM/ITA6ITF9O3ZhciBnPS9cLlx3KyQvO2UuUmV0aW5hSW1hZ2VQYXRoPWMsYy5jb25maXJtZWRfcGF0aHM9W10sYy5wcm90b3R5cGUuaXNfZXh0ZXJuYWw9ZnVuY3Rpb24oKXtyZXR1cm4hKCF0aGlzLnBhdGgubWF0Y2goL15odHRwcz9cOi9pKXx8dGhpcy5wYXRoLm1hdGNoKCIvLyIrZG9jdW1lbnQuZG9tYWluKSl9LGMucHJvdG90eXBlLmNoZWNrXzJ4X3ZhcmlhbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsZD10aGlzO3JldHVybiB0aGlzLmlzX2V4dGVybmFsKCk/YSghMSk6dGhpcy5wZXJmb3JtX2NoZWNrfHwidW5kZWZpbmVkIj09dHlwZW9mIHRoaXMuYXRfMnhfcGF0aHx8bnVsbD09PXRoaXMuYXRfMnhfcGF0aD90aGlzLmF0XzJ4X3BhdGggaW4gYy5jb25maXJtZWRfcGF0aHM/YSghMCk6KGI9bmV3IFhNTEh0dHBSZXF1ZXN0LGIub3BlbigiSEVBRCIsdGhpcy5hdF8yeF9wYXRoKSxiLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe2lmKDQhPT1iLnJlYWR5U3RhdGUpcmV0dXJuIGEoITEpO2lmKGIuc3RhdHVzPj0yMDAmJmIuc3RhdHVzPD0zOTkpe2lmKGYuY2hlY2tfbWltZV90eXBlKXt2YXIgZT1iLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKTtpZihudWxsPT09ZXx8IWUubWF0Y2goL15pbWFnZS9pKSlyZXR1cm4gYSghMSl9cmV0dXJuIGMuY29uZmlybWVkX3BhdGhzLnB1c2goZC5hdF8yeF9wYXRoKSxhKCEwKX1yZXR1cm4gYSghMSl9LGIuc2VuZCgpLHZvaWQgMCk6YSghMCl9LGUuUmV0aW5hSW1hZ2U9ZCxkLnByb3RvdHlwZS5zd2FwPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtjLmVsLmNvbXBsZXRlPyhmLmZvcmNlX29yaWdpbmFsX2RpbWVuc2lvbnMmJihjLmVsLnNldEF0dHJpYnV0ZSgid2lkdGgiLGMuZWwub2Zmc2V0V2lkdGgpLGMuZWwuc2V0QXR0cmlidXRlKCJoZWlnaHQiLGMuZWwub2Zmc2V0SGVpZ2h0KSksYy5lbC5zZXRBdHRyaWJ1dGUoInNyYyIsYSkpOnNldFRpbWVvdXQoYiw1KX0idW5kZWZpbmVkIj09dHlwZW9mIGEmJihhPXRoaXMucGF0aC5hdF8yeF9wYXRoKTt2YXIgYz10aGlzO2IoKX0sYS5pc1JldGluYSgpJiZhLmluaXQoZSl9KCk7CgovKgpUaWx0ClZlcnNpb246IDEuMS4xOSAtIDIwMTctMDUtMDMKUGx1Z2luIFVSSTogaHR0cHM6Ly9naXRodWIuY29tL2dpanNyb2dlL3RpbHQuanMKTGljZW5zZTogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiovCiJ1c2Ugc3RyaWN0Ijt2YXIgX3R5cGVvZj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH07IWZ1bmN0aW9uKHQpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sdCk6Im9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiBtb2R1bGU/InVuZGVmaW5lZCI6X3R5cGVvZihtb2R1bGUpKSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZnVuY3Rpb24oaSxzKXtyZXR1cm4gdm9pZCAwPT09cyYmKHM9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/cmVxdWlyZSgianF1ZXJ5Iik6cmVxdWlyZSgianF1ZXJ5IikoaSkpLHQocyksc306dChqUXVlcnkpfShmdW5jdGlvbih0KXtyZXR1cm4gdC5mbi50aWx0PWZ1bmN0aW9uKGkpe3ZhciBzPWZ1bmN0aW9uKCl7dGhpcy50aWNraW5nfHwocmVxdWVzdEFuaW1hdGlvbkZyYW1lKGcuYmluZCh0aGlzKSksdGhpcy50aWNraW5nPSEwKX0sZT1mdW5jdGlvbigpe3ZhciBpPXRoaXM7dCh0aGlzKS5vbigibW91c2Vtb3ZlIixvKSx0KHRoaXMpLm9uKCJtb3VzZWVudGVyIixhKSx0aGlzLnNldHRpbmdzLnJlc2V0JiZ0KHRoaXMpLm9uKCJtb3VzZWxlYXZlIixsKSx0aGlzLnNldHRpbmdzLmdsYXJlJiZ0KHdpbmRvdykub24oInJlc2l6ZSIsZC5iaW5kKGkpKX0sbj1mdW5jdGlvbigpe3ZhciBpPXRoaXM7dm9pZCAwIT09dGhpcy50aW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KSx0KHRoaXMpLmNzcyh7dHJhbnNpdGlvbjp0aGlzLnNldHRpbmdzLnNwZWVkKyJtcyAiK3RoaXMuc2V0dGluZ3MuZWFzaW5nfSksdGhpcy5zZXR0aW5ncy5nbGFyZSYmdGhpcy5nbGFyZUVsZW1lbnQuY3NzKHt0cmFuc2l0aW9uOiJvcGFjaXR5ICIrdGhpcy5zZXR0aW5ncy5zcGVlZCsibXMgIit0aGlzLnNldHRpbmdzLmVhc2luZ30pLHRoaXMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dChpKS5jc3Moe3RyYW5zaXRpb246IiJ9KSxpLnNldHRpbmdzLmdsYXJlJiZpLmdsYXJlRWxlbWVudC5jc3Moe3RyYW5zaXRpb246IiJ9KX0sdGhpcy5zZXR0aW5ncy5zcGVlZCl9LGE9ZnVuY3Rpb24oaSl7dGhpcy50aWNraW5nPSExLHQodGhpcykuY3NzKHsid2lsbC1jaGFuZ2UiOiJ0cmFuc2Zvcm0ifSksbi5jYWxsKHRoaXMpLHQodGhpcykudHJpZ2dlcigidGlsdC5tb3VzZUVudGVyIil9LHI9ZnVuY3Rpb24oaSl7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiBpJiYoaT17cGFnZVg6dCh0aGlzKS5vZmZzZXQoKS5sZWZ0K3QodGhpcykub3V0ZXJXaWR0aCgpLzIscGFnZVk6dCh0aGlzKS5vZmZzZXQoKS50b3ArdCh0aGlzKS5vdXRlckhlaWdodCgpLzJ9KSx7eDppLnBhZ2VYLHk6aS5wYWdlWX19LG89ZnVuY3Rpb24odCl7dGhpcy5tb3VzZVBvc2l0aW9ucz1yKHQpLHMuY2FsbCh0aGlzKX0sbD1mdW5jdGlvbigpe24uY2FsbCh0aGlzKSx0aGlzLnJlc2V0PSEwLHMuY2FsbCh0aGlzKSx0KHRoaXMpLnRyaWdnZXIoInRpbHQubW91c2VMZWF2ZSIpfSxoPWZ1bmN0aW9uKCl7dmFyIGk9dCh0aGlzKS5vdXRlcldpZHRoKCkscz10KHRoaXMpLm91dGVySGVpZ2h0KCksZT10KHRoaXMpLm9mZnNldCgpLmxlZnQsbj10KHRoaXMpLm9mZnNldCgpLnRvcCxhPSh0aGlzLm1vdXNlUG9zaXRpb25zLngtZSkvaSxyPSh0aGlzLm1vdXNlUG9zaXRpb25zLnktbikvcyxvPSh0aGlzLnNldHRpbmdzLm1heFRpbHQvMi1hKnRoaXMuc2V0dGluZ3MubWF4VGlsdCkudG9GaXhlZCgyKSxsPShyKnRoaXMuc2V0dGluZ3MubWF4VGlsdC10aGlzLnNldHRpbmdzLm1heFRpbHQvMikudG9GaXhlZCgyKSxoPU1hdGguYXRhbjIodGhpcy5tb3VzZVBvc2l0aW9ucy54LShlK2kvMiksLSh0aGlzLm1vdXNlUG9zaXRpb25zLnktKG4rcy8yKSkpKigxODAvTWF0aC5QSSk7cmV0dXJue3RpbHRYOm8sdGlsdFk6bCxwZXJjZW50YWdlWDoxMDAqYSxwZXJjZW50YWdlWToxMDAqcixhbmdsZTpofX0sZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRyYW5zZm9ybXM9aC5jYWxsKHRoaXMpLHRoaXMucmVzZXQ/KHRoaXMucmVzZXQ9ITEsdCh0aGlzKS5jc3MoInRyYW5zZm9ybSIsInBlcnNwZWN0aXZlKCIrdGhpcy5zZXR0aW5ncy5wZXJzcGVjdGl2ZSsicHgpIHJvdGF0ZVgoMGRlZykgcm90YXRlWSgwZGVnKSIpLHZvaWQodGhpcy5zZXR0aW5ncy5nbGFyZSYmKHRoaXMuZ2xhcmVFbGVtZW50LmNzcygidHJhbnNmb3JtIiwicm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKC01MCUsIC01MCUpIiksdGhpcy5nbGFyZUVsZW1lbnQuY3NzKCJvcGFjaXR5IiwiMCIpKSkpOih0KHRoaXMpLmNzcygidHJhbnNmb3JtIiwicGVyc3BlY3RpdmUoIit0aGlzLnNldHRpbmdzLnBlcnNwZWN0aXZlKyJweCkgcm90YXRlWCgiKygieCI9PT10aGlzLnNldHRpbmdzLmRpc2FibGVBeGlzPzA6dGhpcy50cmFuc2Zvcm1zLnRpbHRZKSsiZGVnKSByb3RhdGVZKCIrKCJ5Ij09PXRoaXMuc2V0dGluZ3MuZGlzYWJsZUF4aXM/MDp0aGlzLnRyYW5zZm9ybXMudGlsdFgpKyJkZWcpIHNjYWxlM2QoIit0aGlzLnNldHRpbmdzLnNjYWxlKyIsIit0aGlzLnNldHRpbmdzLnNjYWxlKyIsIit0aGlzLnNldHRpbmdzLnNjYWxlKyIpIiksdGhpcy5zZXR0aW5ncy5nbGFyZSYmKHRoaXMuZ2xhcmVFbGVtZW50LmNzcygidHJhbnNmb3JtIiwicm90YXRlKCIrdGhpcy50cmFuc2Zvcm1zLmFuZ2xlKyJkZWcpIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSIpLHRoaXMuZ2xhcmVFbGVtZW50LmNzcygib3BhY2l0eSIsIiIrdGhpcy50cmFuc2Zvcm1zLnBlcmNlbnRhZ2VZKnRoaXMuc2V0dGluZ3MubWF4R2xhcmUvMTAwKSksdCh0aGlzKS50cmlnZ2VyKCJjaGFuZ2UiLFt0aGlzLnRyYW5zZm9ybXNdKSx2b2lkKHRoaXMudGlja2luZz0hMSkpfSxjPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5zZXR0aW5ncy5nbGFyZVByZXJlbmRlcjtpZihpfHx0KHRoaXMpLmFwcGVuZCgnPGRpdiBjbGFzcz0ianMtdGlsdC1nbGFyZSI+PGRpdiBjbGFzcz0ianMtdGlsdC1nbGFyZS1pbm5lciI+PC9kaXY+PC9kaXY+JyksdGhpcy5nbGFyZUVsZW1lbnRXcmFwcGVyPXQodGhpcykuZmluZCgiLmpzLXRpbHQtZ2xhcmUiKSx0aGlzLmdsYXJlRWxlbWVudD10KHRoaXMpLmZpbmQoIi5qcy10aWx0LWdsYXJlLWlubmVyIiksIWkpe3ZhciBzPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiMCIsbGVmdDoiMCIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9O3RoaXMuZ2xhcmVFbGVtZW50V3JhcHBlci5jc3MocykuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIiwicG9pbnRlci1ldmVudHMiOiJub25lIn0pLHRoaXMuZ2xhcmVFbGVtZW50LmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6IjUwJSIsbGVmdDoiNTAlIiwiYmFja2dyb3VuZC1pbWFnZSI6ImxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpIix3aWR0aDoiIisyKnQodGhpcykub3V0ZXJXaWR0aCgpLGhlaWdodDoiIisyKnQodGhpcykub3V0ZXJXaWR0aCgpLHRyYW5zZm9ybToicm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKC01MCUsIC01MCUpIiwidHJhbnNmb3JtLW9yaWdpbiI6IjAlIDAlIixvcGFjaXR5OiIwIn0pfX0sZD1mdW5jdGlvbigpe3RoaXMuZ2xhcmVFbGVtZW50LmNzcyh7d2lkdGg6IiIrMip0KHRoaXMpLm91dGVyV2lkdGgoKSxoZWlnaHQ6IiIrMip0KHRoaXMpLm91dGVyV2lkdGgoKX0pfTtyZXR1cm4gdC5mbi50aWx0LmRlc3Ryb3k9ZnVuY3Rpb24oKXt0KHRoaXMpLmVhY2goZnVuY3Rpb24oKXt0KHRoaXMpLmZpbmQoIi5qcy10aWx0LWdsYXJlIikucmVtb3ZlKCksdCh0aGlzKS5jc3MoeyJ3aWxsLWNoYW5nZSI6IiIsdHJhbnNmb3JtOiIifSksdCh0aGlzKS5vZmYoIm1vdXNlbW92ZSBtb3VzZWVudGVyIG1vdXNlbGVhdmUiKX0pfSx0LmZuLnRpbHQuZ2V0VmFsdWVzPWZ1bmN0aW9uKCl7dmFyIGk9W107cmV0dXJuIHQodGhpcykuZWFjaChmdW5jdGlvbigpe3RoaXMubW91c2VQb3NpdGlvbnM9ci5jYWxsKHRoaXMpLGkucHVzaChoLmNhbGwodGhpcykpfSksaX0sdC5mbi50aWx0LnJlc2V0PWZ1bmN0aW9uKCl7dCh0aGlzKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9dGhpczt0aGlzLm1vdXNlUG9zaXRpb25zPXIuY2FsbCh0aGlzKSx0aGlzLnNldHRpbmdzPXQodGhpcykuZGF0YSgic2V0dGluZ3MiKSxsLmNhbGwodGhpcyksc2V0VGltZW91dChmdW5jdGlvbigpe2kucmVzZXQ9ITF9LHRoaXMuc2V0dGluZ3MudHJhbnNpdGlvbil9KX0sdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHM9dGhpczt0aGlzLnNldHRpbmdzPXQuZXh0ZW5kKHttYXhUaWx0OnQodGhpcykuaXMoIltkYXRhLXRpbHQtbWF4XSIpP3QodGhpcykuZGF0YSgidGlsdC1tYXgiKToyMCxwZXJzcGVjdGl2ZTp0KHRoaXMpLmlzKCJbZGF0YS10aWx0LXBlcnNwZWN0aXZlXSIpP3QodGhpcykuZGF0YSgidGlsdC1wZXJzcGVjdGl2ZSIpOjMwMCxlYXNpbmc6dCh0aGlzKS5pcygiW2RhdGEtdGlsdC1lYXNpbmddIik/dCh0aGlzKS5kYXRhKCJ0aWx0LWVhc2luZyIpOiJjdWJpYy1iZXppZXIoLjAzLC45OCwuNTIsLjk5KSIsc2NhbGU6dCh0aGlzKS5pcygiW2RhdGEtdGlsdC1zY2FsZV0iKT90KHRoaXMpLmRhdGEoInRpbHQtc2NhbGUiKToiMSIsc3BlZWQ6dCh0aGlzKS5pcygiW2RhdGEtdGlsdC1zcGVlZF0iKT90KHRoaXMpLmRhdGEoInRpbHQtc3BlZWQiKToiNDAwIix0cmFuc2l0aW9uOiF0KHRoaXMpLmlzKCJbZGF0YS10aWx0LXRyYW5zaXRpb25dIil8fHQodGhpcykuZGF0YSgidGlsdC10cmFuc2l0aW9uIiksZGlzYWJsZUF4aXM6dCh0aGlzKS5pcygiW2RhdGEtdGlsdC1kaXNhYmxlLWF4aXNdIik/dCh0aGlzKS5kYXRhKCJ0aWx0LWRpc2FibGUtYXhpcyIpOm51bGwsYXhpczp0KHRoaXMpLmlzKCJbZGF0YS10aWx0LWF4aXNdIik/dCh0aGlzKS5kYXRhKCJ0aWx0LWF4aXMiKTpudWxsLHJlc2V0OiF0KHRoaXMpLmlzKCJbZGF0YS10aWx0LXJlc2V0XSIpfHx0KHRoaXMpLmRhdGEoInRpbHQtcmVzZXQiKSxnbGFyZTohIXQodGhpcykuaXMoIltkYXRhLXRpbHQtZ2xhcmVdIikmJnQodGhpcykuZGF0YSgidGlsdC1nbGFyZSIpLG1heEdsYXJlOnQodGhpcykuaXMoIltkYXRhLXRpbHQtbWF4Z2xhcmVdIik/dCh0aGlzKS5kYXRhKCJ0aWx0LW1heGdsYXJlIik6MX0saSksbnVsbCE9PXRoaXMuc2V0dGluZ3MuYXhpcyYmKGNvbnNvbGUud2FybigiVGlsdC5qczogdGhlIGF4aXMgc2V0dGluZyBoYXMgYmVlbiByZW5hbWVkIHRvIGRpc2FibGVBeGlzLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2dpanNyb2dlL3RpbHQuanMvcHVsbC8yNiBmb3IgbW9yZSBpbmZvcm1hdGlvbiIpLHRoaXMuc2V0dGluZ3MuZGlzYWJsZUF4aXM9dGhpcy5zZXR0aW5ncy5heGlzKSx0aGlzLmluaXQ9ZnVuY3Rpb24oKXt0KHMpLmRhdGEoInNldHRpbmdzIixzLnNldHRpbmdzKSxzLnNldHRpbmdzLmdsYXJlJiZjLmNhbGwocyksZS5jYWxsKHMpfSx0aGlzLmluaXQoKX0pfSx0KCJbZGF0YS10aWx0XSIpLnRpbHQoKSwhMH0pOwoKLyoKQ3VzdG9tIHNjcm9sbGJhciAtIGpxdWVyeSBtb3VzZXdoZWVsIHBsdWdpbgpWZXJzaW9uOiAzLjEuMTMKUGx1Z2luIFVSSTogaHR0cDovL21hbm9zLm1hbGlodS5nci9qcXVlcnktY3VzdG9tLWNvbnRlbnQtc2Nyb2xsZXIKTGljZW5zZTogQ29weXJpZ2h0IE1hbm9zIE1hbGlodXRzYWtpcyB8IFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQoqLwohZnVuY3Rpb24oYSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSxhKToib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YTphKGpRdWVyeSl9KGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYil7dmFyIGc9Ynx8d2luZG93LmV2ZW50LGg9aS5jYWxsKGFyZ3VtZW50cywxKSxqPTAsbD0wLG09MCxuPTAsbz0wLHA9MDtpZihiPWEuZXZlbnQuZml4KGcpLGIudHlwZT0ibW91c2V3aGVlbCIsImRldGFpbCJpbiBnJiYobT0tMSpnLmRldGFpbCksIndoZWVsRGVsdGEiaW4gZyYmKG09Zy53aGVlbERlbHRhKSwid2hlZWxEZWx0YVkiaW4gZyYmKG09Zy53aGVlbERlbHRhWSksIndoZWVsRGVsdGFYImluIGcmJihsPS0xKmcud2hlZWxEZWx0YVgpLCJheGlzImluIGcmJmcuYXhpcz09PWcuSE9SSVpPTlRBTF9BWElTJiYobD0tMSptLG09MCksaj0wPT09bT9sOm0sImRlbHRhWSJpbiBnJiYobT0tMSpnLmRlbHRhWSxqPW0pLCJkZWx0YVgiaW4gZyYmKGw9Zy5kZWx0YVgsMD09PW0mJihqPS0xKmwpKSwwIT09bXx8MCE9PWwpe2lmKDE9PT1nLmRlbHRhTW9kZSl7dmFyIHE9YS5kYXRhKHRoaXMsIm1vdXNld2hlZWwtbGluZS1oZWlnaHQiKTtqKj1xLG0qPXEsbCo9cX1lbHNlIGlmKDI9PT1nLmRlbHRhTW9kZSl7dmFyIHI9YS5kYXRhKHRoaXMsIm1vdXNld2hlZWwtcGFnZS1oZWlnaHQiKTtqKj1yLG0qPXIsbCo9cn1pZihuPU1hdGgubWF4KE1hdGguYWJzKG0pLE1hdGguYWJzKGwpKSwoIWZ8fGY+bikmJihmPW4sZChnLG4pJiYoZi89NDApKSxkKGcsbikmJihqLz00MCxsLz00MCxtLz00MCksaj1NYXRoW2o+PTE/ImZsb29yIjoiY2VpbCJdKGovZiksbD1NYXRoW2w+PTE/ImZsb29yIjoiY2VpbCJdKGwvZiksbT1NYXRoW20+PTE/ImZsb29yIjoiY2VpbCJdKG0vZiksay5zZXR0aW5ncy5ub3JtYWxpemVPZmZzZXQmJnRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KXt2YXIgcz10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO289Yi5jbGllbnRYLXMubGVmdCxwPWIuY2xpZW50WS1zLnRvcH1yZXR1cm4gYi5kZWx0YVg9bCxiLmRlbHRhWT1tLGIuZGVsdGFGYWN0b3I9ZixiLm9mZnNldFg9byxiLm9mZnNldFk9cCxiLmRlbHRhTW9kZT0wLGgudW5zaGlmdChiLGosbCxtKSxlJiZjbGVhclRpbWVvdXQoZSksZT1zZXRUaW1lb3V0KGMsMjAwKSwoYS5ldmVudC5kaXNwYXRjaHx8YS5ldmVudC5oYW5kbGUpLmFwcGx5KHRoaXMsaCl9fWZ1bmN0aW9uIGMoKXtmPW51bGx9ZnVuY3Rpb24gZChhLGIpe3JldHVybiBrLnNldHRpbmdzLmFkanVzdE9sZERlbHRhcyYmIm1vdXNld2hlZWwiPT09YS50eXBlJiZiJTEyMD09PTB9dmFyIGUsZixnPVsid2hlZWwiLCJtb3VzZXdoZWVsIiwiRE9NTW91c2VTY3JvbGwiLCJNb3pNb3VzZVBpeGVsU2Nyb2xsIl0saD0ib253aGVlbCJpbiBkb2N1bWVudHx8ZG9jdW1lbnQuZG9jdW1lbnRNb2RlPj05P1sid2hlZWwiXTpbIm1vdXNld2hlZWwiLCJEb21Nb3VzZVNjcm9sbCIsIk1vek1vdXNlUGl4ZWxTY3JvbGwiXSxpPUFycmF5LnByb3RvdHlwZS5zbGljZTtpZihhLmV2ZW50LmZpeEhvb2tzKWZvcih2YXIgaj1nLmxlbmd0aDtqOylhLmV2ZW50LmZpeEhvb2tzW2dbLS1qXV09YS5ldmVudC5tb3VzZUhvb2tzO3ZhciBrPWEuZXZlbnQuc3BlY2lhbC5tb3VzZXdoZWVsPXt2ZXJzaW9uOiIzLjEuMTIiLHNldHVwOmZ1bmN0aW9uKCl7aWYodGhpcy5hZGRFdmVudExpc3RlbmVyKWZvcih2YXIgYz1oLmxlbmd0aDtjOyl0aGlzLmFkZEV2ZW50TGlzdGVuZXIoaFstLWNdLGIsITEpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9YjthLmRhdGEodGhpcywibW91c2V3aGVlbC1saW5lLWhlaWdodCIsay5nZXRMaW5lSGVpZ2h0KHRoaXMpKSxhLmRhdGEodGhpcywibW91c2V3aGVlbC1wYWdlLWhlaWdodCIsay5nZXRQYWdlSGVpZ2h0KHRoaXMpKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtpZih0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIpZm9yKHZhciBjPWgubGVuZ3RoO2M7KXRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihoWy0tY10sYiwhMSk7ZWxzZSB0aGlzLm9ubW91c2V3aGVlbD1udWxsO2EucmVtb3ZlRGF0YSh0aGlzLCJtb3VzZXdoZWVsLWxpbmUtaGVpZ2h0IiksYS5yZW1vdmVEYXRhKHRoaXMsIm1vdXNld2hlZWwtcGFnZS1oZWlnaHQiKX0sZ2V0TGluZUhlaWdodDpmdW5jdGlvbihiKXt2YXIgYz1hKGIpLGQ9Y1sib2Zmc2V0UGFyZW50ImluIGEuZm4/Im9mZnNldFBhcmVudCI6InBhcmVudCJdKCk7cmV0dXJuIGQubGVuZ3RofHwoZD1hKCJib2R5IikpLHBhcnNlSW50KGQuY3NzKCJmb250U2l6ZSIpLDEwKXx8cGFyc2VJbnQoYy5jc3MoImZvbnRTaXplIiksMTApfHwxNn0sZ2V0UGFnZUhlaWdodDpmdW5jdGlvbihiKXtyZXR1cm4gYShiKS5oZWlnaHQoKX0sc2V0dGluZ3M6e2FkanVzdE9sZERlbHRhczohMCxub3JtYWxpemVPZmZzZXQ6ITB9fTthLmZuLmV4dGVuZCh7bW91c2V3aGVlbDpmdW5jdGlvbihhKXtyZXR1cm4gYT90aGlzLmJpbmQoIm1vdXNld2hlZWwiLGEpOnRoaXMudHJpZ2dlcigibW91c2V3aGVlbCIpfSx1bm1vdXNld2hlZWw6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudW5iaW5kKCJtb3VzZXdoZWVsIixhKX19KX0pOyFmdW5jdGlvbihhKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGEpOiJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1hOmEoalF1ZXJ5KX0oZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihiKXt2YXIgZz1ifHx3aW5kb3cuZXZlbnQsaD1pLmNhbGwoYXJndW1lbnRzLDEpLGo9MCxsPTAsbT0wLG49MCxvPTAscD0wO2lmKGI9YS5ldmVudC5maXgoZyksYi50eXBlPSJtb3VzZXdoZWVsIiwiZGV0YWlsImluIGcmJihtPS0xKmcuZGV0YWlsKSwid2hlZWxEZWx0YSJpbiBnJiYobT1nLndoZWVsRGVsdGEpLCJ3aGVlbERlbHRhWSJpbiBnJiYobT1nLndoZWVsRGVsdGFZKSwid2hlZWxEZWx0YVgiaW4gZyYmKGw9LTEqZy53aGVlbERlbHRhWCksImF4aXMiaW4gZyYmZy5heGlzPT09Zy5IT1JJWk9OVEFMX0FYSVMmJihsPS0xKm0sbT0wKSxqPTA9PT1tP2w6bSwiZGVsdGFZImluIGcmJihtPS0xKmcuZGVsdGFZLGo9bSksImRlbHRhWCJpbiBnJiYobD1nLmRlbHRhWCwwPT09bSYmKGo9LTEqbCkpLDAhPT1tfHwwIT09bCl7aWYoMT09PWcuZGVsdGFNb2RlKXt2YXIgcT1hLmRhdGEodGhpcywibW91c2V3aGVlbC1saW5lLWhlaWdodCIpO2oqPXEsbSo9cSxsKj1xfWVsc2UgaWYoMj09PWcuZGVsdGFNb2RlKXt2YXIgcj1hLmRhdGEodGhpcywibW91c2V3aGVlbC1wYWdlLWhlaWdodCIpO2oqPXIsbSo9cixsKj1yfWlmKG49TWF0aC5tYXgoTWF0aC5hYnMobSksTWF0aC5hYnMobCkpLCghZnx8Zj5uKSYmKGY9bixkKGcsbikmJihmLz00MCkpLGQoZyxuKSYmKGovPTQwLGwvPTQwLG0vPTQwKSxqPU1hdGhbaj49MT8iZmxvb3IiOiJjZWlsIl0oai9mKSxsPU1hdGhbbD49MT8iZmxvb3IiOiJjZWlsIl0obC9mKSxtPU1hdGhbbT49MT8iZmxvb3IiOiJjZWlsIl0obS9mKSxrLnNldHRpbmdzLm5vcm1hbGl6ZU9mZnNldCYmdGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3Qpe3ZhciBzPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bz1iLmNsaWVudFgtcy5sZWZ0LHA9Yi5jbGllbnRZLXMudG9wfXJldHVybiBiLmRlbHRhWD1sLGIuZGVsdGFZPW0sYi5kZWx0YUZhY3Rvcj1mLGIub2Zmc2V0WD1vLGIub2Zmc2V0WT1wLGIuZGVsdGFNb2RlPTAsaC51bnNoaWZ0KGIsaixsLG0pLGUmJmNsZWFyVGltZW91dChlKSxlPXNldFRpbWVvdXQoYywyMDApLChhLmV2ZW50LmRpc3BhdGNofHxhLmV2ZW50LmhhbmRsZSkuYXBwbHkodGhpcyxoKX19ZnVuY3Rpb24gYygpe2Y9bnVsbH1mdW5jdGlvbiBkKGEsYil7cmV0dXJuIGsuc2V0dGluZ3MuYWRqdXN0T2xkRGVsdGFzJiYibW91c2V3aGVlbCI9PT1hLnR5cGUmJmIlMTIwPT09MH12YXIgZSxmLGc9WyJ3aGVlbCIsIm1vdXNld2hlZWwiLCJET01Nb3VzZVNjcm9sbCIsIk1vek1vdXNlUGl4ZWxTY3JvbGwiXSxoPSJvbndoZWVsImluIGRvY3VtZW50fHxkb2N1bWVudC5kb2N1bWVudE1vZGU+PTk/WyJ3aGVlbCJdOlsibW91c2V3aGVlbCIsIkRvbU1vdXNlU2Nyb2xsIiwiTW96TW91c2VQaXhlbFNjcm9sbCJdLGk9QXJyYXkucHJvdG90eXBlLnNsaWNlO2lmKGEuZXZlbnQuZml4SG9va3MpZm9yKHZhciBqPWcubGVuZ3RoO2o7KWEuZXZlbnQuZml4SG9va3NbZ1stLWpdXT1hLmV2ZW50Lm1vdXNlSG9va3M7dmFyIGs9YS5ldmVudC5zcGVjaWFsLm1vdXNld2hlZWw9e3ZlcnNpb246IjMuMS4xMiIsc2V0dXA6ZnVuY3Rpb24oKXtpZih0aGlzLmFkZEV2ZW50TGlzdGVuZXIpZm9yKHZhciBjPWgubGVuZ3RoO2M7KXRoaXMuYWRkRXZlbnRMaXN0ZW5lcihoWy0tY10sYiwhMSk7ZWxzZSB0aGlzLm9ubW91c2V3aGVlbD1iO2EuZGF0YSh0aGlzLCJtb3VzZXdoZWVsLWxpbmUtaGVpZ2h0IixrLmdldExpbmVIZWlnaHQodGhpcykpLGEuZGF0YSh0aGlzLCJtb3VzZXdoZWVsLXBhZ2UtaGVpZ2h0IixrLmdldFBhZ2VIZWlnaHQodGhpcykpfSx0ZWFyZG93bjpmdW5jdGlvbigpe2lmKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcilmb3IodmFyIGM9aC5sZW5ndGg7YzspdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGhbLS1jXSxiLCExKTtlbHNlIHRoaXMub25tb3VzZXdoZWVsPW51bGw7YS5yZW1vdmVEYXRhKHRoaXMsIm1vdXNld2hlZWwtbGluZS1oZWlnaHQiKSxhLnJlbW92ZURhdGEodGhpcywibW91c2V3aGVlbC1wYWdlLWhlaWdodCIpfSxnZXRMaW5lSGVpZ2h0OmZ1bmN0aW9uKGIpe3ZhciBjPWEoYiksZD1jWyJvZmZzZXRQYXJlbnQiaW4gYS5mbj8ib2Zmc2V0UGFyZW50IjoicGFyZW50Il0oKTtyZXR1cm4gZC5sZW5ndGh8fChkPWEoImJvZHkiKSkscGFyc2VJbnQoZC5jc3MoImZvbnRTaXplIiksMTApfHxwYXJzZUludChjLmNzcygiZm9udFNpemUiKSwxMCl8fDE2fSxnZXRQYWdlSGVpZ2h0OmZ1bmN0aW9uKGIpe3JldHVybiBhKGIpLmhlaWdodCgpfSxzZXR0aW5nczp7YWRqdXN0T2xkRGVsdGFzOiEwLG5vcm1hbGl6ZU9mZnNldDohMH19O2EuZm4uZXh0ZW5kKHttb3VzZXdoZWVsOmZ1bmN0aW9uKGEpe3JldHVybiBhP3RoaXMuYmluZCgibW91c2V3aGVlbCIsYSk6dGhpcy50cmlnZ2VyKCJtb3VzZXdoZWVsIil9LHVubW91c2V3aGVlbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy51bmJpbmQoIm1vdXNld2hlZWwiLGEpfX0pfSk7CgovKgpDdXN0b20gc2Nyb2xsYmFyIC0gbWFsaWh1IGpxdWVyeSBjdXN0b20gc2Nyb2xsYmFyIHBsdWdpbgpWZXJzaW9uOiAzLjEuNQpQbHVnaW4gVVJJOiBodHRwOi8vbWFub3MubWFsaWh1LmdyL2pxdWVyeS1jdXN0b20tY29udGVudC1zY3JvbGxlcgpMaWNlbnNlOiBDb3B5cmlnaHQgTWFub3MgTWFsaWh1dHNha2lzIHwgUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiovCiFmdW5jdGlvbihlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGUpOiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lOmUoalF1ZXJ5LHdpbmRvdyxkb2N1bWVudCl9KGZ1bmN0aW9uKGUpeyFmdW5jdGlvbih0KXt2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kLGE9InVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzLG49Imh0dHBzOiI9PWRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sPyJodHRwczoiOiJodHRwOiIsaT0iY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2pxdWVyeS1tb3VzZXdoZWVsLzMuMS4xMy9qcXVlcnkubW91c2V3aGVlbC5taW4uanMiO298fChhP3JlcXVpcmUoImpxdWVyeS1tb3VzZXdoZWVsIikoZSk6ZS5ldmVudC5zcGVjaWFsLm1vdXNld2hlZWx8fGUoImhlYWQiKS5hcHBlbmQoZGVjb2RlVVJJKCIlM0NzY3JpcHQgc3JjPSIrbisiLy8iK2krIiUzRSUzQy9zY3JpcHQlM0UiKSkpLHQoKX0oZnVuY3Rpb24oKXt2YXIgdCxvPSJtQ3VzdG9tU2Nyb2xsYmFyIixhPSJtQ1MiLG49Ii5tQ3VzdG9tU2Nyb2xsYmFyIixpPXtzZXRUb3A6MCxzZXRMZWZ0OjAsYXhpczoieSIsc2Nyb2xsYmFyUG9zaXRpb246Imluc2lkZSIsc2Nyb2xsSW5lcnRpYTo5NTAsYXV0b0RyYWdnZXJMZW5ndGg6ITAsYWx3YXlzU2hvd1Njcm9sbGJhcjowLHNuYXBPZmZzZXQ6MCxtb3VzZVdoZWVsOntlbmFibGU6ITAsc2Nyb2xsQW1vdW50OiJhdXRvIixheGlzOiJ5IixkZWx0YUZhY3RvcjoiYXV0byIsZGlzYWJsZU92ZXI6WyJzZWxlY3QiLCJvcHRpb24iLCJrZXlnZW4iLCJkYXRhbGlzdCIsInRleHRhcmVhIl19LHNjcm9sbEJ1dHRvbnM6e3Njcm9sbFR5cGU6InN0ZXBsZXNzIixzY3JvbGxBbW91bnQ6ImF1dG8ifSxrZXlib2FyZDp7ZW5hYmxlOiEwLHNjcm9sbFR5cGU6InN0ZXBsZXNzIixzY3JvbGxBbW91bnQ6ImF1dG8ifSxjb250ZW50VG91Y2hTY3JvbGw6MjUsZG9jdW1lbnRUb3VjaFNjcm9sbDohMCxhZHZhbmNlZDp7YXV0b1Njcm9sbE9uRm9jdXM6ImlucHV0LHRleHRhcmVhLHNlbGVjdCxidXR0b24sZGF0YWxpc3Qsa2V5Z2VuLGFbdGFiaW5kZXhdLGFyZWEsb2JqZWN0LFtjb250ZW50ZWRpdGFibGU9J3RydWUnXSIsdXBkYXRlT25Db250ZW50UmVzaXplOiEwLHVwZGF0ZU9uSW1hZ2VMb2FkOiJhdXRvIixhdXRvVXBkYXRlVGltZW91dDo2MH0sdGhlbWU6ImxpZ2h0IixjYWxsYmFja3M6e29uVG90YWxTY3JvbGxPZmZzZXQ6MCxvblRvdGFsU2Nyb2xsQmFja09mZnNldDowLGFsd2F5c1RyaWdnZXJPZmZzZXRzOiEwfX0scj0wLGw9e30scz13aW5kb3cuYXR0YWNoRXZlbnQmJiF3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj8xOjAsYz0hMSxkPVsibUNTQl9kcmFnZ2VyX29uRHJhZyIsIm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnIiwibUNTX2ltZ19sb2FkZWQiLCJtQ1NfZGlzYWJsZWQiLCJtQ1NfZGVzdHJveWVkIiwibUNTX25vX3Njcm9sbGJhciIsIm1DUy1hdXRvSGlkZSIsIm1DUy1kaXItcnRsIiwibUNTX25vX3Njcm9sbGJhcl95IiwibUNTX25vX3Njcm9sbGJhcl94IiwibUNTX3lfaGlkZGVuIiwibUNTX3hfaGlkZGVuIiwibUNTQl9kcmFnZ2VyQ29udGFpbmVyIiwibUNTQl9idXR0b25VcCIsIm1DU0JfYnV0dG9uRG93biIsIm1DU0JfYnV0dG9uTGVmdCIsIm1DU0JfYnV0dG9uUmlnaHQiXSx1PXtpbml0OmZ1bmN0aW9uKHQpe3ZhciB0PWUuZXh0ZW5kKCEwLHt9LGksdCksbz1mLmNhbGwodGhpcyk7aWYodC5saXZlKXt2YXIgcz10LmxpdmVTZWxlY3Rvcnx8dGhpcy5zZWxlY3Rvcnx8bixjPWUocyk7aWYoIm9mZiI9PT10LmxpdmUpcmV0dXJuIHZvaWQgbShzKTtsW3NdPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtjLm1DdXN0b21TY3JvbGxiYXIodCksIm9uY2UiPT09dC5saXZlJiZjLmxlbmd0aCYmbShzKX0sNTAwKX1lbHNlIG0ocyk7cmV0dXJuIHQuc2V0V2lkdGg9dC5zZXRfd2lkdGg/dC5zZXRfd2lkdGg6dC5zZXRXaWR0aCx0LnNldEhlaWdodD10LnNldF9oZWlnaHQ/dC5zZXRfaGVpZ2h0OnQuc2V0SGVpZ2h0LHQuYXhpcz10Lmhvcml6b250YWxTY3JvbGw/IngiOnAodC5heGlzKSx0LnNjcm9sbEluZXJ0aWE9dC5zY3JvbGxJbmVydGlhPjAmJnQuc2Nyb2xsSW5lcnRpYTwxNz8xNzp0LnNjcm9sbEluZXJ0aWEsIm9iamVjdCIhPXR5cGVvZiB0Lm1vdXNlV2hlZWwmJjE9PXQubW91c2VXaGVlbCYmKHQubW91c2VXaGVlbD17ZW5hYmxlOiEwLHNjcm9sbEFtb3VudDoiYXV0byIsYXhpczoieSIscHJldmVudERlZmF1bHQ6ITEsZGVsdGFGYWN0b3I6ImF1dG8iLG5vcm1hbGl6ZURlbHRhOiExLGludmVydDohMX0pLHQubW91c2VXaGVlbC5zY3JvbGxBbW91bnQ9dC5tb3VzZVdoZWVsUGl4ZWxzP3QubW91c2VXaGVlbFBpeGVsczp0Lm1vdXNlV2hlZWwuc2Nyb2xsQW1vdW50LHQubW91c2VXaGVlbC5ub3JtYWxpemVEZWx0YT10LmFkdmFuY2VkLm5vcm1hbGl6ZU1vdXNlV2hlZWxEZWx0YT90LmFkdmFuY2VkLm5vcm1hbGl6ZU1vdXNlV2hlZWxEZWx0YTp0Lm1vdXNlV2hlZWwubm9ybWFsaXplRGVsdGEsdC5zY3JvbGxCdXR0b25zLnNjcm9sbFR5cGU9Zyh0LnNjcm9sbEJ1dHRvbnMuc2Nyb2xsVHlwZSksaCh0KSxlKG8pLmVhY2goZnVuY3Rpb24oKXt2YXIgbz1lKHRoaXMpO2lmKCFvLmRhdGEoYSkpe28uZGF0YShhLHtpZHg6KytyLG9wdDp0LHNjcm9sbFJhdGlvOnt5Om51bGwseDpudWxsfSxvdmVyZmxvd2VkOm51bGwsY29udGVudFJlc2V0Ont5Om51bGwseDpudWxsfSxiaW5kRXZlbnRzOiExLHR3ZWVuUnVubmluZzohMSxzZXF1ZW50aWFsOnt9LGxhbmdEaXI6by5jc3MoImRpcmVjdGlvbiIpLGNiT2Zmc2V0czpudWxsLHRyaWdnZXI6bnVsbCxwb2xsOntzaXplOntvOjAsbjowfSxpbWc6e286MCxuOjB9LGNoYW5nZTp7bzowLG46MH19fSk7dmFyIG49by5kYXRhKGEpLGk9bi5vcHQsbD1vLmRhdGEoIm1jcy1heGlzIikscz1vLmRhdGEoIm1jcy1zY3JvbGxiYXItcG9zaXRpb24iKSxjPW8uZGF0YSgibWNzLXRoZW1lIik7bCYmKGkuYXhpcz1sKSxzJiYoaS5zY3JvbGxiYXJQb3NpdGlvbj1zKSxjJiYoaS50aGVtZT1jLGgoaSkpLHYuY2FsbCh0aGlzKSxuJiZpLmNhbGxiYWNrcy5vbkNyZWF0ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGkuY2FsbGJhY2tzLm9uQ3JlYXRlJiZpLmNhbGxiYWNrcy5vbkNyZWF0ZS5jYWxsKHRoaXMpLGUoIiNtQ1NCXyIrbi5pZHgrIl9jb250YWluZXIgaW1nOm5vdCguIitkWzJdKyIpIikuYWRkQ2xhc3MoZFsyXSksdS51cGRhdGUuY2FsbChudWxsLG8pfX0pfSx1cGRhdGU6ZnVuY3Rpb24odCxvKXt2YXIgbj10fHxmLmNhbGwodGhpcyk7cmV0dXJuIGUobikuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUodGhpcyk7aWYodC5kYXRhKGEpKXt2YXIgbj10LmRhdGEoYSksaT1uLm9wdCxyPWUoIiNtQ1NCXyIrbi5pZHgrIl9jb250YWluZXIiKSxsPWUoIiNtQ1NCXyIrbi5pZHgpLHM9W2UoIiNtQ1NCXyIrbi5pZHgrIl9kcmFnZ2VyX3ZlcnRpY2FsIiksZSgiI21DU0JfIituLmlkeCsiX2RyYWdnZXJfaG9yaXpvbnRhbCIpXTtpZighci5sZW5ndGgpcmV0dXJuO24udHdlZW5SdW5uaW5nJiZRKHQpLG8mJm4mJmkuY2FsbGJhY2tzLm9uQmVmb3JlVXBkYXRlJiYiZnVuY3Rpb24iPT10eXBlb2YgaS5jYWxsYmFja3Mub25CZWZvcmVVcGRhdGUmJmkuY2FsbGJhY2tzLm9uQmVmb3JlVXBkYXRlLmNhbGwodGhpcyksdC5oYXNDbGFzcyhkWzNdKSYmdC5yZW1vdmVDbGFzcyhkWzNdKSx0Lmhhc0NsYXNzKGRbNF0pJiZ0LnJlbW92ZUNsYXNzKGRbNF0pLGwuY3NzKCJtYXgtaGVpZ2h0Iiwibm9uZSIpLGwuaGVpZ2h0KCkhPT10LmhlaWdodCgpJiZsLmNzcygibWF4LWhlaWdodCIsdC5oZWlnaHQoKSksXy5jYWxsKHRoaXMpLCJ5Ij09PWkuYXhpc3x8aS5hZHZhbmNlZC5hdXRvRXhwYW5kSG9yaXpvbnRhbFNjcm9sbHx8ci5jc3MoIndpZHRoIix4KHIpKSxuLm92ZXJmbG93ZWQ9eS5jYWxsKHRoaXMpLE0uY2FsbCh0aGlzKSxpLmF1dG9EcmFnZ2VyTGVuZ3RoJiZTLmNhbGwodGhpcyksYi5jYWxsKHRoaXMpLFQuY2FsbCh0aGlzKTt2YXIgYz1bTWF0aC5hYnMoclswXS5vZmZzZXRUb3ApLE1hdGguYWJzKHJbMF0ub2Zmc2V0TGVmdCldOyJ4IiE9PWkuYXhpcyYmKG4ub3ZlcmZsb3dlZFswXT9zWzBdLmhlaWdodCgpPnNbMF0ucGFyZW50KCkuaGVpZ2h0KCk/Qi5jYWxsKHRoaXMpOihHKHQsY1swXS50b1N0cmluZygpLHtkaXI6InkiLGR1cjowLG92ZXJ3cml0ZToibm9uZSJ9KSxuLmNvbnRlbnRSZXNldC55PW51bGwpOihCLmNhbGwodGhpcyksInkiPT09aS5heGlzP2suY2FsbCh0aGlzKToieXgiPT09aS5heGlzJiZuLm92ZXJmbG93ZWRbMV0mJkcodCxjWzFdLnRvU3RyaW5nKCkse2RpcjoieCIsZHVyOjAsb3ZlcndyaXRlOiJub25lIn0pKSksInkiIT09aS5heGlzJiYobi5vdmVyZmxvd2VkWzFdP3NbMV0ud2lkdGgoKT5zWzFdLnBhcmVudCgpLndpZHRoKCk/Qi5jYWxsKHRoaXMpOihHKHQsY1sxXS50b1N0cmluZygpLHtkaXI6IngiLGR1cjowLG92ZXJ3cml0ZToibm9uZSJ9KSxuLmNvbnRlbnRSZXNldC54PW51bGwpOihCLmNhbGwodGhpcyksIngiPT09aS5heGlzP2suY2FsbCh0aGlzKToieXgiPT09aS5heGlzJiZuLm92ZXJmbG93ZWRbMF0mJkcodCxjWzBdLnRvU3RyaW5nKCkse2RpcjoieSIsZHVyOjAsb3ZlcndyaXRlOiJub25lIn0pKSksbyYmbiYmKDI9PT1vJiZpLmNhbGxiYWNrcy5vbkltYWdlTG9hZCYmImZ1bmN0aW9uIj09dHlwZW9mIGkuY2FsbGJhY2tzLm9uSW1hZ2VMb2FkP2kuY2FsbGJhY2tzLm9uSW1hZ2VMb2FkLmNhbGwodGhpcyk6Mz09PW8mJmkuY2FsbGJhY2tzLm9uU2VsZWN0b3JDaGFuZ2UmJiJmdW5jdGlvbiI9PXR5cGVvZiBpLmNhbGxiYWNrcy5vblNlbGVjdG9yQ2hhbmdlP2kuY2FsbGJhY2tzLm9uU2VsZWN0b3JDaGFuZ2UuY2FsbCh0aGlzKTppLmNhbGxiYWNrcy5vblVwZGF0ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGkuY2FsbGJhY2tzLm9uVXBkYXRlJiZpLmNhbGxiYWNrcy5vblVwZGF0ZS5jYWxsKHRoaXMpKSxOLmNhbGwodGhpcyl9fSl9LHNjcm9sbFRvOmZ1bmN0aW9uKHQsbyl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0JiZudWxsIT10KXt2YXIgbj1mLmNhbGwodGhpcyk7cmV0dXJuIGUobikuZWFjaChmdW5jdGlvbigpe3ZhciBuPWUodGhpcyk7aWYobi5kYXRhKGEpKXt2YXIgaT1uLmRhdGEoYSkscj1pLm9wdCxsPXt0cmlnZ2VyOiJleHRlcm5hbCIsc2Nyb2xsSW5lcnRpYTpyLnNjcm9sbEluZXJ0aWEsc2Nyb2xsRWFzaW5nOiJtY3NFYXNlSW5PdXQiLG1vdmVEcmFnZ2VyOiExLHRpbWVvdXQ6NjAsY2FsbGJhY2tzOiEwLG9uU3RhcnQ6ITAsb25VcGRhdGU6ITAsb25Db21wbGV0ZTohMH0scz1lLmV4dGVuZCghMCx7fSxsLG8pLGM9WS5jYWxsKHRoaXMsdCksZD1zLnNjcm9sbEluZXJ0aWE+MCYmcy5zY3JvbGxJbmVydGlhPDE3PzE3OnMuc2Nyb2xsSW5lcnRpYTtjWzBdPVguY2FsbCh0aGlzLGNbMF0sInkiKSxjWzFdPVguY2FsbCh0aGlzLGNbMV0sIngiKSxzLm1vdmVEcmFnZ2VyJiYoY1swXSo9aS5zY3JvbGxSYXRpby55LGNbMV0qPWkuc2Nyb2xsUmF0aW8ueCkscy5kdXI9bmUoKT8wOmQsc2V0VGltZW91dChmdW5jdGlvbigpe251bGwhPT1jWzBdJiYidW5kZWZpbmVkIiE9dHlwZW9mIGNbMF0mJiJ4IiE9PXIuYXhpcyYmaS5vdmVyZmxvd2VkWzBdJiYocy5kaXI9InkiLHMub3ZlcndyaXRlPSJhbGwiLEcobixjWzBdLnRvU3RyaW5nKCkscykpLG51bGwhPT1jWzFdJiYidW5kZWZpbmVkIiE9dHlwZW9mIGNbMV0mJiJ5IiE9PXIuYXhpcyYmaS5vdmVyZmxvd2VkWzFdJiYocy5kaXI9IngiLHMub3ZlcndyaXRlPSJub25lIixHKG4sY1sxXS50b1N0cmluZygpLHMpKX0scy50aW1lb3V0KX19KX19LHN0b3A6ZnVuY3Rpb24oKXt2YXIgdD1mLmNhbGwodGhpcyk7cmV0dXJuIGUodCkuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUodGhpcyk7dC5kYXRhKGEpJiZRKHQpfSl9LGRpc2FibGU6ZnVuY3Rpb24odCl7dmFyIG89Zi5jYWxsKHRoaXMpO3JldHVybiBlKG8pLmVhY2goZnVuY3Rpb24oKXt2YXIgbz1lKHRoaXMpO2lmKG8uZGF0YShhKSl7by5kYXRhKGEpO04uY2FsbCh0aGlzLCJyZW1vdmUiKSxrLmNhbGwodGhpcyksdCYmQi5jYWxsKHRoaXMpLE0uY2FsbCh0aGlzLCEwKSxvLmFkZENsYXNzKGRbM10pfX0pfSxkZXN0cm95OmZ1bmN0aW9uKCl7dmFyIHQ9Zi5jYWxsKHRoaXMpO3JldHVybiBlKHQpLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1lKHRoaXMpO2lmKG4uZGF0YShhKSl7dmFyIGk9bi5kYXRhKGEpLHI9aS5vcHQsbD1lKCIjbUNTQl8iK2kuaWR4KSxzPWUoIiNtQ1NCXyIraS5pZHgrIl9jb250YWluZXIiKSxjPWUoIi5tQ1NCXyIraS5pZHgrIl9zY3JvbGxiYXIiKTtyLmxpdmUmJm0oci5saXZlU2VsZWN0b3J8fGUodCkuc2VsZWN0b3IpLE4uY2FsbCh0aGlzLCJyZW1vdmUiKSxrLmNhbGwodGhpcyksQi5jYWxsKHRoaXMpLG4ucmVtb3ZlRGF0YShhKSwkKHRoaXMsIm1jcyIpLGMucmVtb3ZlKCkscy5maW5kKCJpbWcuIitkWzJdKS5yZW1vdmVDbGFzcyhkWzJdKSxsLnJlcGxhY2VXaXRoKHMuY29udGVudHMoKSksbi5yZW1vdmVDbGFzcyhvKyIgXyIrYSsiXyIraS5pZHgrIiAiK2RbNl0rIiAiK2RbN10rIiAiK2RbNV0rIiAiK2RbM10pLmFkZENsYXNzKGRbNF0pfX0pfX0sZj1mdW5jdGlvbigpe3JldHVybiJvYmplY3QiIT10eXBlb2YgZSh0aGlzKXx8ZSh0aGlzKS5sZW5ndGg8MT9uOnRoaXN9LGg9ZnVuY3Rpb24odCl7dmFyIG89WyJyb3VuZGVkIiwicm91bmRlZC1kYXJrIiwicm91bmRlZC1kb3RzIiwicm91bmRlZC1kb3RzLWRhcmsiXSxhPVsicm91bmRlZC1kb3RzIiwicm91bmRlZC1kb3RzLWRhcmsiLCIzZCIsIjNkLWRhcmsiLCIzZC10aGljayIsIjNkLXRoaWNrLWRhcmsiLCJpbnNldCIsImluc2V0LWRhcmsiLCJpbnNldC0yIiwiaW5zZXQtMi1kYXJrIiwiaW5zZXQtMyIsImluc2V0LTMtZGFyayJdLG49WyJtaW5pbWFsIiwibWluaW1hbC1kYXJrIl0saT1bIm1pbmltYWwiLCJtaW5pbWFsLWRhcmsiXSxyPVsibWluaW1hbCIsIm1pbmltYWwtZGFyayJdO3QuYXV0b0RyYWdnZXJMZW5ndGg9ZS5pbkFycmF5KHQudGhlbWUsbyk+LTE/ITE6dC5hdXRvRHJhZ2dlckxlbmd0aCx0LmF1dG9FeHBhbmRTY3JvbGxiYXI9ZS5pbkFycmF5KHQudGhlbWUsYSk+LTE/ITE6dC5hdXRvRXhwYW5kU2Nyb2xsYmFyLHQuc2Nyb2xsQnV0dG9ucy5lbmFibGU9ZS5pbkFycmF5KHQudGhlbWUsbik+LTE/ITE6dC5zY3JvbGxCdXR0b25zLmVuYWJsZSx0LmF1dG9IaWRlU2Nyb2xsYmFyPWUuaW5BcnJheSh0LnRoZW1lLGkpPi0xPyEwOnQuYXV0b0hpZGVTY3JvbGxiYXIsdC5zY3JvbGxiYXJQb3NpdGlvbj1lLmluQXJyYXkodC50aGVtZSxyKT4tMT8ib3V0c2lkZSI6dC5zY3JvbGxiYXJQb3NpdGlvbn0sbT1mdW5jdGlvbihlKXtsW2VdJiYoY2xlYXJUaW1lb3V0KGxbZV0pLCQobCxlKSl9LHA9ZnVuY3Rpb24oZSl7cmV0dXJuInl4Ij09PWV8fCJ4eSI9PT1lfHwiYXV0byI9PT1lPyJ5eCI6IngiPT09ZXx8Imhvcml6b250YWwiPT09ZT8ieCI6InkifSxnPWZ1bmN0aW9uKGUpe3JldHVybiJzdGVwcGVkIj09PWV8fCJwaXhlbHMiPT09ZXx8InN0ZXAiPT09ZXx8ImNsaWNrIj09PWU/InN0ZXBwZWQiOiJzdGVwbGVzcyJ9LHY9ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLG49dC5kYXRhKGEpLGk9bi5vcHQscj1pLmF1dG9FeHBhbmRTY3JvbGxiYXI/IiAiK2RbMV0rIl9leHBhbmQiOiIiLGw9WyI8ZGl2IGlkPSdtQ1NCXyIrbi5pZHgrIl9zY3JvbGxiYXJfdmVydGljYWwnIGNsYXNzPSdtQ1NCX3Njcm9sbFRvb2xzIG1DU0JfIituLmlkeCsiX3Njcm9sbGJhciBtQ1MtIitpLnRoZW1lKyIgbUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCIrcisiJz48ZGl2IGNsYXNzPSciK2RbMTJdKyInPjxkaXYgaWQ9J21DU0JfIituLmlkeCsiX2RyYWdnZXJfdmVydGljYWwnIGNsYXNzPSdtQ1NCX2RyYWdnZXInIHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTsnPjxkaXYgY2xhc3M9J21DU0JfZHJhZ2dlcl9iYXInIC8+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nbUNTQl9kcmFnZ2VyUmFpbCcgLz48L2Rpdj4iLCI8ZGl2IGlkPSdtQ1NCXyIrbi5pZHgrIl9zY3JvbGxiYXJfaG9yaXpvbnRhbCcgY2xhc3M9J21DU0Jfc2Nyb2xsVG9vbHMgbUNTQl8iK24uaWR4KyJfc2Nyb2xsYmFyIG1DUy0iK2kudGhlbWUrIiBtQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwiK3IrIic+PGRpdiBjbGFzcz0nIitkWzEyXSsiJz48ZGl2IGlkPSdtQ1NCXyIrbi5pZHgrIl9kcmFnZ2VyX2hvcml6b250YWwnIGNsYXNzPSdtQ1NCX2RyYWdnZXInIHN0eWxlPSdwb3NpdGlvbjphYnNvbHV0ZTsnPjxkaXYgY2xhc3M9J21DU0JfZHJhZ2dlcl9iYXInIC8+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0nbUNTQl9kcmFnZ2VyUmFpbCcgLz48L2Rpdj4iXSxzPSJ5eCI9PT1pLmF4aXM/Im1DU0JfdmVydGljYWxfaG9yaXpvbnRhbCI6IngiPT09aS5heGlzPyJtQ1NCX2hvcml6b250YWwiOiJtQ1NCX3ZlcnRpY2FsIixjPSJ5eCI9PT1pLmF4aXM/bFswXStsWzFdOiJ4Ij09PWkuYXhpcz9sWzFdOmxbMF0sdT0ieXgiPT09aS5heGlzPyI8ZGl2IGlkPSdtQ1NCXyIrbi5pZHgrIl9jb250YWluZXJfd3JhcHBlcicgY2xhc3M9J21DU0JfY29udGFpbmVyX3dyYXBwZXInIC8+IjoiIixmPWkuYXV0b0hpZGVTY3JvbGxiYXI/IiAiK2RbNl06IiIsaD0ieCIhPT1pLmF4aXMmJiJydGwiPT09bi5sYW5nRGlyPyIgIitkWzddOiIiO2kuc2V0V2lkdGgmJnQuY3NzKCJ3aWR0aCIsaS5zZXRXaWR0aCksaS5zZXRIZWlnaHQmJnQuY3NzKCJoZWlnaHQiLGkuc2V0SGVpZ2h0KSxpLnNldExlZnQ9InkiIT09aS5heGlzJiYicnRsIj09PW4ubGFuZ0Rpcj8iOTg5OTk5cHgiOmkuc2V0TGVmdCx0LmFkZENsYXNzKG8rIiBfIithKyJfIituLmlkeCtmK2gpLndyYXBJbm5lcigiPGRpdiBpZD0nbUNTQl8iK24uaWR4KyInIGNsYXNzPSdtQ3VzdG9tU2Nyb2xsQm94IG1DUy0iK2kudGhlbWUrIiAiK3MrIic+PGRpdiBpZD0nbUNTQl8iK24uaWR4KyJfY29udGFpbmVyJyBjbGFzcz0nbUNTQl9jb250YWluZXInIHN0eWxlPSdwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOiIraS5zZXRUb3ArIjsgbGVmdDoiK2kuc2V0TGVmdCsiOycgZGlyPSciK24ubGFuZ0RpcisiJyAvPjwvZGl2PiIpO3ZhciBtPWUoIiNtQ1NCXyIrbi5pZHgpLHA9ZSgiI21DU0JfIituLmlkeCsiX2NvbnRhaW5lciIpOyJ5Ij09PWkuYXhpc3x8aS5hZHZhbmNlZC5hdXRvRXhwYW5kSG9yaXpvbnRhbFNjcm9sbHx8cC5jc3MoIndpZHRoIix4KHApKSwib3V0c2lkZSI9PT1pLnNjcm9sbGJhclBvc2l0aW9uPygic3RhdGljIj09PXQuY3NzKCJwb3NpdGlvbiIpJiZ0LmNzcygicG9zaXRpb24iLCJyZWxhdGl2ZSIpLHQuY3NzKCJvdmVyZmxvdyIsInZpc2libGUiKSxtLmFkZENsYXNzKCJtQ1NCX291dHNpZGUiKS5hZnRlcihjKSk6KG0uYWRkQ2xhc3MoIm1DU0JfaW5zaWRlIikuYXBwZW5kKGMpLHAud3JhcCh1KSksdy5jYWxsKHRoaXMpO3ZhciBnPVtlKCIjbUNTQl8iK24uaWR4KyJfZHJhZ2dlcl92ZXJ0aWNhbCIpLGUoIiNtQ1NCXyIrbi5pZHgrIl9kcmFnZ2VyX2hvcml6b250YWwiKV07Z1swXS5jc3MoIm1pbi1oZWlnaHQiLGdbMF0uaGVpZ2h0KCkpLGdbMV0uY3NzKCJtaW4td2lkdGgiLGdbMV0ud2lkdGgoKSl9LHg9ZnVuY3Rpb24odCl7dmFyIG89W3RbMF0uc2Nyb2xsV2lkdGgsTWF0aC5tYXguYXBwbHkoTWF0aCx0LmNoaWxkcmVuKCkubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcykub3V0ZXJXaWR0aCghMCl9KS5nZXQoKSldLGE9dC5wYXJlbnQoKS53aWR0aCgpO3JldHVybiBvWzBdPmE/b1swXTpvWzFdPmE/b1sxXToiMTAwJSJ9LF89ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLG89dC5kYXRhKGEpLG49by5vcHQsaT1lKCIjbUNTQl8iK28uaWR4KyJfY29udGFpbmVyIik7aWYobi5hZHZhbmNlZC5hdXRvRXhwYW5kSG9yaXpvbnRhbFNjcm9sbCYmInkiIT09bi5heGlzKXtpLmNzcyh7d2lkdGg6ImF1dG8iLCJtaW4td2lkdGgiOjAsIm92ZXJmbG93LXgiOiJzY3JvbGwifSk7dmFyIHI9TWF0aC5jZWlsKGlbMF0uc2Nyb2xsV2lkdGgpOzM9PT1uLmFkdmFuY2VkLmF1dG9FeHBhbmRIb3Jpem9udGFsU2Nyb2xsfHwyIT09bi5hZHZhbmNlZC5hdXRvRXhwYW5kSG9yaXpvbnRhbFNjcm9sbCYmcj5pLnBhcmVudCgpLndpZHRoKCk/aS5jc3Moe3dpZHRoOnIsIm1pbi13aWR0aCI6IjEwMCUiLCJvdmVyZmxvdy14IjoiaW5oZXJpdCJ9KTppLmNzcyh7Im92ZXJmbG93LXgiOiJpbmhlcml0Iixwb3NpdGlvbjoiYWJzb2x1dGUifSkud3JhcCgiPGRpdiBjbGFzcz0nbUNTQl9oX3dyYXBwZXInIHN0eWxlPSdwb3NpdGlvbjpyZWxhdGl2ZTsgbGVmdDowOyB3aWR0aDo5OTk5OTlweDsnIC8+IikuY3NzKHt3aWR0aDpNYXRoLmNlaWwoaVswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCsuNCktTWF0aC5mbG9vcihpWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQpLCJtaW4td2lkdGgiOiIxMDAlIixwb3NpdGlvbjoicmVsYXRpdmUifSkudW53cmFwKCl9fSx3PWZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxvPXQuZGF0YShhKSxuPW8ub3B0LGk9ZSgiLm1DU0JfIitvLmlkeCsiX3Njcm9sbGJhcjpmaXJzdCIpLHI9b2Uobi5zY3JvbGxCdXR0b25zLnRhYmluZGV4KT8idGFiaW5kZXg9JyIrbi5zY3JvbGxCdXR0b25zLnRhYmluZGV4KyInIjoiIixsPVsiPGEgaHJlZj0nIycgY2xhc3M9JyIrZFsxM10rIicgIityKyIgLz4iLCI8YSBocmVmPScjJyBjbGFzcz0nIitkWzE0XSsiJyAiK3IrIiAvPiIsIjxhIGhyZWY9JyMnIGNsYXNzPSciK2RbMTVdKyInICIrcisiIC8+IiwiPGEgaHJlZj0nIycgY2xhc3M9JyIrZFsxNl0rIicgIityKyIgLz4iXSxzPVsieCI9PT1uLmF4aXM/bFsyXTpsWzBdLCJ4Ij09PW4uYXhpcz9sWzNdOmxbMV0sbFsyXSxsWzNdXTtuLnNjcm9sbEJ1dHRvbnMuZW5hYmxlJiZpLnByZXBlbmQoc1swXSkuYXBwZW5kKHNbMV0pLm5leHQoIi5tQ1NCX3Njcm9sbFRvb2xzIikucHJlcGVuZChzWzJdKS5hcHBlbmQoc1szXSl9LFM9ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLG89dC5kYXRhKGEpLG49ZSgiI21DU0JfIitvLmlkeCksaT1lKCIjbUNTQl8iK28uaWR4KyJfY29udGFpbmVyIikscj1bZSgiI21DU0JfIitvLmlkeCsiX2RyYWdnZXJfdmVydGljYWwiKSxlKCIjbUNTQl8iK28uaWR4KyJfZHJhZ2dlcl9ob3Jpem9udGFsIildLGw9W24uaGVpZ2h0KCkvaS5vdXRlckhlaWdodCghMSksbi53aWR0aCgpL2kub3V0ZXJXaWR0aCghMSldLGM9W3BhcnNlSW50KHJbMF0uY3NzKCJtaW4taGVpZ2h0IikpLE1hdGgucm91bmQobFswXSpyWzBdLnBhcmVudCgpLmhlaWdodCgpKSxwYXJzZUludChyWzFdLmNzcygibWluLXdpZHRoIikpLE1hdGgucm91bmQobFsxXSpyWzFdLnBhcmVudCgpLndpZHRoKCkpXSxkPXMmJmNbMV08Y1swXT9jWzBdOmNbMV0sdT1zJiZjWzNdPGNbMl0/Y1syXTpjWzNdO3JbMF0uY3NzKHtoZWlnaHQ6ZCwibWF4LWhlaWdodCI6clswXS5wYXJlbnQoKS5oZWlnaHQoKS0xMH0pLmZpbmQoIi5tQ1NCX2RyYWdnZXJfYmFyIikuY3NzKHsibGluZS1oZWlnaHQiOmNbMF0rInB4In0pLHJbMV0uY3NzKHt3aWR0aDp1LCJtYXgtd2lkdGgiOnJbMV0ucGFyZW50KCkud2lkdGgoKS0xMH0pfSxiPWZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxvPXQuZGF0YShhKSxuPWUoIiNtQ1NCXyIrby5pZHgpLGk9ZSgiI21DU0JfIitvLmlkeCsiX2NvbnRhaW5lciIpLHI9W2UoIiNtQ1NCXyIrby5pZHgrIl9kcmFnZ2VyX3ZlcnRpY2FsIiksZSgiI21DU0JfIitvLmlkeCsiX2RyYWdnZXJfaG9yaXpvbnRhbCIpXSxsPVtpLm91dGVySGVpZ2h0KCExKS1uLmhlaWdodCgpLGkub3V0ZXJXaWR0aCghMSktbi53aWR0aCgpXSxzPVtsWzBdLyhyWzBdLnBhcmVudCgpLmhlaWdodCgpLXJbMF0uaGVpZ2h0KCkpLGxbMV0vKHJbMV0ucGFyZW50KCkud2lkdGgoKS1yWzFdLndpZHRoKCkpXTtvLnNjcm9sbFJhdGlvPXt5OnNbMF0seDpzWzFdfX0sQz1mdW5jdGlvbihlLHQsbyl7dmFyIGE9bz9kWzBdKyJfZXhwYW5kZWQiOiIiLG49ZS5jbG9zZXN0KCIubUNTQl9zY3JvbGxUb29scyIpOyJhY3RpdmUiPT09dD8oZS50b2dnbGVDbGFzcyhkWzBdKyIgIithKSxuLnRvZ2dsZUNsYXNzKGRbMV0pLGVbMF0uX2RyYWdnYWJsZT1lWzBdLl9kcmFnZ2FibGU/MDoxKTplWzBdLl9kcmFnZ2FibGV8fCgiaGlkZSI9PT10PyhlLnJlbW92ZUNsYXNzKGRbMF0pLG4ucmVtb3ZlQ2xhc3MoZFsxXSkpOihlLmFkZENsYXNzKGRbMF0pLG4uYWRkQ2xhc3MoZFsxXSkpKX0seT1mdW5jdGlvbigpe3ZhciB0PWUodGhpcyksbz10LmRhdGEoYSksbj1lKCIjbUNTQl8iK28uaWR4KSxpPWUoIiNtQ1NCXyIrby5pZHgrIl9jb250YWluZXIiKSxyPW51bGw9PW8ub3ZlcmZsb3dlZD9pLmhlaWdodCgpOmkub3V0ZXJIZWlnaHQoITEpLGw9bnVsbD09by5vdmVyZmxvd2VkP2kud2lkdGgoKTppLm91dGVyV2lkdGgoITEpLHM9aVswXS5zY3JvbGxIZWlnaHQsYz1pWzBdLnNjcm9sbFdpZHRoO3JldHVybiBzPnImJihyPXMpLGM+bCYmKGw9YyksW3I+bi5oZWlnaHQoKSxsPm4ud2lkdGgoKV19LEI9ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLG89dC5kYXRhKGEpLG49by5vcHQsaT1lKCIjbUNTQl8iK28uaWR4KSxyPWUoIiNtQ1NCXyIrby5pZHgrIl9jb250YWluZXIiKSxsPVtlKCIjbUNTQl8iK28uaWR4KyJfZHJhZ2dlcl92ZXJ0aWNhbCIpLGUoIiNtQ1NCXyIrby5pZHgrIl9kcmFnZ2VyX2hvcml6b250YWwiKV07aWYoUSh0KSwoIngiIT09bi5heGlzJiYhby5vdmVyZmxvd2VkWzBdfHwieSI9PT1uLmF4aXMmJm8ub3ZlcmZsb3dlZFswXSkmJihsWzBdLmFkZChyKS5jc3MoInRvcCIsMCksRyh0LCJfcmVzZXRZIikpLCJ5IiE9PW4uYXhpcyYmIW8ub3ZlcmZsb3dlZFsxXXx8IngiPT09bi5heGlzJiZvLm92ZXJmbG93ZWRbMV0pe3ZhciBzPWR4PTA7InJ0bCI9PT1vLmxhbmdEaXImJihzPWkud2lkdGgoKS1yLm91dGVyV2lkdGgoITEpLGR4PU1hdGguYWJzKHMvby5zY3JvbGxSYXRpby54KSksci5jc3MoImxlZnQiLHMpLGxbMV0uY3NzKCJsZWZ0IixkeCksRyh0LCJfcmVzZXRYIil9fSxUPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3I9c2V0VGltZW91dChmdW5jdGlvbigpe2UuZXZlbnQuc3BlY2lhbC5tb3VzZXdoZWVsPyhjbGVhclRpbWVvdXQociksVy5jYWxsKG9bMF0pKTp0KCl9LDEwMCl9dmFyIG89ZSh0aGlzKSxuPW8uZGF0YShhKSxpPW4ub3B0O2lmKCFuLmJpbmRFdmVudHMpe2lmKEkuY2FsbCh0aGlzKSxpLmNvbnRlbnRUb3VjaFNjcm9sbCYmRC5jYWxsKHRoaXMpLEUuY2FsbCh0aGlzKSxpLm1vdXNlV2hlZWwuZW5hYmxlKXt2YXIgcjt0KCl9UC5jYWxsKHRoaXMpLFUuY2FsbCh0aGlzKSxpLmFkdmFuY2VkLmF1dG9TY3JvbGxPbkZvY3VzJiZILmNhbGwodGhpcyksaS5zY3JvbGxCdXR0b25zLmVuYWJsZSYmRi5jYWxsKHRoaXMpLGkua2V5Ym9hcmQuZW5hYmxlJiZxLmNhbGwodGhpcyksbi5iaW5kRXZlbnRzPSEwfX0saz1mdW5jdGlvbigpe3ZhciB0PWUodGhpcyksbz10LmRhdGEoYSksbj1vLm9wdCxpPWErIl8iK28uaWR4LHI9Ii5tQ1NCXyIrby5pZHgrIl9zY3JvbGxiYXIiLGw9ZSgiI21DU0JfIitvLmlkeCsiLCNtQ1NCXyIrby5pZHgrIl9jb250YWluZXIsI21DU0JfIitvLmlkeCsiX2NvbnRhaW5lcl93cmFwcGVyLCIrcisiIC4iK2RbMTJdKyIsI21DU0JfIitvLmlkeCsiX2RyYWdnZXJfdmVydGljYWwsI21DU0JfIitvLmlkeCsiX2RyYWdnZXJfaG9yaXpvbnRhbCwiK3IrIj5hIikscz1lKCIjbUNTQl8iK28uaWR4KyJfY29udGFpbmVyIik7bi5hZHZhbmNlZC5yZWxlYXNlRHJhZ2dhYmxlU2VsZWN0b3JzJiZsLmFkZChlKG4uYWR2YW5jZWQucmVsZWFzZURyYWdnYWJsZVNlbGVjdG9ycykpLG4uYWR2YW5jZWQuZXh0cmFEcmFnZ2FibGVTZWxlY3RvcnMmJmwuYWRkKGUobi5hZHZhbmNlZC5leHRyYURyYWdnYWJsZVNlbGVjdG9ycykpLG8uYmluZEV2ZW50cyYmKGUoZG9jdW1lbnQpLmFkZChlKCFBKCl8fHRvcC5kb2N1bWVudCkpLnVuYmluZCgiLiIraSksbC5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS51bmJpbmQoIi4iK2kpfSksY2xlYXJUaW1lb3V0KHRbMF0uX2ZvY3VzVGltZW91dCksJCh0WzBdLCJfZm9jdXNUaW1lb3V0IiksY2xlYXJUaW1lb3V0KG8uc2VxdWVudGlhbC5zdGVwKSwkKG8uc2VxdWVudGlhbCwic3RlcCIpLGNsZWFyVGltZW91dChzWzBdLm9uQ29tcGxldGVUaW1lb3V0KSwkKHNbMF0sIm9uQ29tcGxldGVUaW1lb3V0Iiksby5iaW5kRXZlbnRzPSExKX0sTT1mdW5jdGlvbih0KXt2YXIgbz1lKHRoaXMpLG49by5kYXRhKGEpLGk9bi5vcHQscj1lKCIjbUNTQl8iK24uaWR4KyJfY29udGFpbmVyX3dyYXBwZXIiKSxsPXIubGVuZ3RoP3I6ZSgiI21DU0JfIituLmlkeCsiX2NvbnRhaW5lciIpLHM9W2UoIiNtQ1NCXyIrbi5pZHgrIl9zY3JvbGxiYXJfdmVydGljYWwiKSxlKCIjbUNTQl8iK24uaWR4KyJfc2Nyb2xsYmFyX2hvcml6b250YWwiKV0sYz1bc1swXS5maW5kKCIubUNTQl9kcmFnZ2VyIiksc1sxXS5maW5kKCIubUNTQl9kcmFnZ2VyIildOyJ4IiE9PWkuYXhpcyYmKG4ub3ZlcmZsb3dlZFswXSYmIXQ/KHNbMF0uYWRkKGNbMF0pLmFkZChzWzBdLmNoaWxkcmVuKCJhIikpLmNzcygiZGlzcGxheSIsImJsb2NrIiksbC5yZW1vdmVDbGFzcyhkWzhdKyIgIitkWzEwXSkpOihpLmFsd2F5c1Nob3dTY3JvbGxiYXI/KDIhPT1pLmFsd2F5c1Nob3dTY3JvbGxiYXImJmNbMF0uY3NzKCJkaXNwbGF5Iiwibm9uZSIpLGwucmVtb3ZlQ2xhc3MoZFsxMF0pKTooc1swXS5jc3MoImRpc3BsYXkiLCJub25lIiksbC5hZGRDbGFzcyhkWzEwXSkpLGwuYWRkQ2xhc3MoZFs4XSkpKSwieSIhPT1pLmF4aXMmJihuLm92ZXJmbG93ZWRbMV0mJiF0PyhzWzFdLmFkZChjWzFdKS5hZGQoc1sxXS5jaGlsZHJlbigiYSIpKS5jc3MoImRpc3BsYXkiLCJibG9jayIpLGwucmVtb3ZlQ2xhc3MoZFs5XSsiICIrZFsxMV0pKTooaS5hbHdheXNTaG93U2Nyb2xsYmFyPygyIT09aS5hbHdheXNTaG93U2Nyb2xsYmFyJiZjWzFdLmNzcygiZGlzcGxheSIsIm5vbmUiKSxsLnJlbW92ZUNsYXNzKGRbMTFdKSk6KHNbMV0uY3NzKCJkaXNwbGF5Iiwibm9uZSIpLGwuYWRkQ2xhc3MoZFsxMV0pKSxsLmFkZENsYXNzKGRbOV0pKSksbi5vdmVyZmxvd2VkWzBdfHxuLm92ZXJmbG93ZWRbMV0/by5yZW1vdmVDbGFzcyhkWzVdKTpvLmFkZENsYXNzKGRbNV0pfSxPPWZ1bmN0aW9uKHQpe3ZhciBvPXQudHlwZSxhPXQudGFyZ2V0Lm93bmVyRG9jdW1lbnQhPT1kb2N1bWVudCYmbnVsbCE9PWZyYW1lRWxlbWVudD9bZShmcmFtZUVsZW1lbnQpLm9mZnNldCgpLnRvcCxlKGZyYW1lRWxlbWVudCkub2Zmc2V0KCkubGVmdF06bnVsbCxuPUEoKSYmdC50YXJnZXQub3duZXJEb2N1bWVudCE9PXRvcC5kb2N1bWVudCYmbnVsbCE9PWZyYW1lRWxlbWVudD9bZSh0LnZpZXcuZnJhbWVFbGVtZW50KS5vZmZzZXQoKS50b3AsZSh0LnZpZXcuZnJhbWVFbGVtZW50KS5vZmZzZXQoKS5sZWZ0XTpbMCwwXTtzd2l0Y2gobyl7Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJNU1BvaW50ZXJEb3duIjpjYXNlInBvaW50ZXJtb3ZlIjpjYXNlIk1TUG9pbnRlck1vdmUiOmNhc2UicG9pbnRlcnVwIjpjYXNlIk1TUG9pbnRlclVwIjpyZXR1cm4gYT9bdC5vcmlnaW5hbEV2ZW50LnBhZ2VZLWFbMF0rblswXSx0Lm9yaWdpbmFsRXZlbnQucGFnZVgtYVsxXStuWzFdLCExXTpbdC5vcmlnaW5hbEV2ZW50LnBhZ2VZLHQub3JpZ2luYWxFdmVudC5wYWdlWCwhMV07Y2FzZSJ0b3VjaHN0YXJ0IjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ0b3VjaGVuZCI6dmFyIGk9dC5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF18fHQub3JpZ2luYWxFdmVudC5jaGFuZ2VkVG91Y2hlc1swXSxyPXQub3JpZ2luYWxFdmVudC50b3VjaGVzLmxlbmd0aHx8dC5vcmlnaW5hbEV2ZW50LmNoYW5nZWRUb3VjaGVzLmxlbmd0aDtyZXR1cm4gdC50YXJnZXQub3duZXJEb2N1bWVudCE9PWRvY3VtZW50P1tpLnNjcmVlblksaS5zY3JlZW5YLHI+MV06W2kucGFnZVksaS5wYWdlWCxyPjFdO2RlZmF1bHQ6cmV0dXJuIGE/W3QucGFnZVktYVswXStuWzBdLHQucGFnZVgtYVsxXStuWzFdLCExXTpbdC5wYWdlWSx0LnBhZ2VYLCExXX19LEk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUsdCxhLG4pe2lmKGhbMF0uaWRsZVRpbWVyPWQuc2Nyb2xsSW5lcnRpYTwyMzM/MjUwOjAsby5hdHRyKCJpZCIpPT09ZlsxXSl2YXIgaT0ieCIscz0ob1swXS5vZmZzZXRMZWZ0LXQrbikqbC5zY3JvbGxSYXRpby54O2Vsc2UgdmFyIGk9InkiLHM9KG9bMF0ub2Zmc2V0VG9wLWUrYSkqbC5zY3JvbGxSYXRpby55O0cocixzLnRvU3RyaW5nKCkse2RpcjppLGRyYWc6ITB9KX12YXIgbyxuLGkscj1lKHRoaXMpLGw9ci5kYXRhKGEpLGQ9bC5vcHQsdT1hKyJfIitsLmlkeCxmPVsibUNTQl8iK2wuaWR4KyJfZHJhZ2dlcl92ZXJ0aWNhbCIsIm1DU0JfIitsLmlkeCsiX2RyYWdnZXJfaG9yaXpvbnRhbCJdLGg9ZSgiI21DU0JfIitsLmlkeCsiX2NvbnRhaW5lciIpLG09ZSgiIyIrZlswXSsiLCMiK2ZbMV0pLHA9ZC5hZHZhbmNlZC5yZWxlYXNlRHJhZ2dhYmxlU2VsZWN0b3JzP20uYWRkKGUoZC5hZHZhbmNlZC5yZWxlYXNlRHJhZ2dhYmxlU2VsZWN0b3JzKSk6bSxnPWQuYWR2YW5jZWQuZXh0cmFEcmFnZ2FibGVTZWxlY3RvcnM/ZSghQSgpfHx0b3AuZG9jdW1lbnQpLmFkZChlKGQuYWR2YW5jZWQuZXh0cmFEcmFnZ2FibGVTZWxlY3RvcnMpKTplKCFBKCl8fHRvcC5kb2N1bWVudCk7bS5iaW5kKCJjb250ZXh0bWVudS4iK3UsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpfSkuYmluZCgibW91c2Vkb3duLiIrdSsiIHRvdWNoc3RhcnQuIit1KyIgcG9pbnRlcmRvd24uIit1KyIgTVNQb2ludGVyRG93bi4iK3UsZnVuY3Rpb24odCl7aWYodC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0LnByZXZlbnREZWZhdWx0KCksZWUodCkpe2M9ITAscyYmKGRvY3VtZW50Lm9uc2VsZWN0c3RhcnQ9ZnVuY3Rpb24oKXtyZXR1cm4hMX0pLEwuY2FsbChoLCExKSxRKHIpLG89ZSh0aGlzKTt2YXIgYT1vLm9mZnNldCgpLGw9Tyh0KVswXS1hLnRvcCx1PU8odClbMV0tYS5sZWZ0LGY9by5oZWlnaHQoKSthLnRvcCxtPW8ud2lkdGgoKSthLmxlZnQ7Zj5sJiZsPjAmJm0+dSYmdT4wJiYobj1sLGk9dSksQyhvLCJhY3RpdmUiLGQuYXV0b0V4cGFuZFNjcm9sbGJhcil9fSkuYmluZCgidG91Y2htb3ZlLiIrdSxmdW5jdGlvbihlKXtlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQoKTt2YXIgYT1vLm9mZnNldCgpLHI9TyhlKVswXS1hLnRvcCxsPU8oZSlbMV0tYS5sZWZ0O3QobixpLHIsbCl9KSxlKGRvY3VtZW50KS5hZGQoZykuYmluZCgibW91c2Vtb3ZlLiIrdSsiIHBvaW50ZXJtb3ZlLiIrdSsiIE1TUG9pbnRlck1vdmUuIit1LGZ1bmN0aW9uKGUpe2lmKG8pe3ZhciBhPW8ub2Zmc2V0KCkscj1PKGUpWzBdLWEudG9wLGw9TyhlKVsxXS1hLmxlZnQ7aWYobj09PXImJmk9PT1sKXJldHVybjt0KG4saSxyLGwpfX0pLmFkZChwKS5iaW5kKCJtb3VzZXVwLiIrdSsiIHRvdWNoZW5kLiIrdSsiIHBvaW50ZXJ1cC4iK3UrIiBNU1BvaW50ZXJVcC4iK3UsZnVuY3Rpb24oKXtvJiYoQyhvLCJhY3RpdmUiLGQuYXV0b0V4cGFuZFNjcm9sbGJhciksbz1udWxsKSxjPSExLHMmJihkb2N1bWVudC5vbnNlbGVjdHN0YXJ0PW51bGwpLEwuY2FsbChoLCEwKX0pfSxEPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbyhlKXtpZighdGUoZSl8fGN8fE8oZSlbMl0pcmV0dXJuIHZvaWQodD0wKTt0PTEsYj0wLEM9MCxkPTEseS5yZW1vdmVDbGFzcygibUNTX3RvdWNoX2FjdGlvbiIpO3ZhciBvPUkub2Zmc2V0KCk7dT1PKGUpWzBdLW8udG9wLGY9TyhlKVsxXS1vLmxlZnQsej1bTyhlKVswXSxPKGUpWzFdXX1mdW5jdGlvbiBuKGUpe2lmKHRlKGUpJiYhYyYmIU8oZSlbMl0mJihULmRvY3VtZW50VG91Y2hTY3JvbGx8fGUucHJldmVudERlZmF1bHQoKSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCghQ3x8YikmJmQpKXtnPUsoKTt2YXIgdD1NLm9mZnNldCgpLG89TyhlKVswXS10LnRvcCxhPU8oZSlbMV0tdC5sZWZ0LG49Im1jc0xpbmVhck91dCI7aWYoRS5wdXNoKG8pLFcucHVzaChhKSx6WzJdPU1hdGguYWJzKE8oZSlbMF0telswXSkselszXT1NYXRoLmFicyhPKGUpWzFdLXpbMV0pLEIub3ZlcmZsb3dlZFswXSl2YXIgaT1EWzBdLnBhcmVudCgpLmhlaWdodCgpLURbMF0uaGVpZ2h0KCkscj11LW8+MCYmby11Pi0oaSpCLnNjcm9sbFJhdGlvLnkpJiYoMip6WzNdPHpbMl18fCJ5eCI9PT1ULmF4aXMpO2lmKEIub3ZlcmZsb3dlZFsxXSl2YXIgbD1EWzFdLnBhcmVudCgpLndpZHRoKCktRFsxXS53aWR0aCgpLGg9Zi1hPjAmJmEtZj4tKGwqQi5zY3JvbGxSYXRpby54KSYmKDIqelsyXTx6WzNdfHwieXgiPT09VC5heGlzKTtyfHxoPyhVfHxlLnByZXZlbnREZWZhdWx0KCksYj0xKTooQz0xLHkuYWRkQ2xhc3MoIm1DU190b3VjaF9hY3Rpb24iKSksVSYmZS5wcmV2ZW50RGVmYXVsdCgpLHc9Inl4Ij09PVQuYXhpcz9bdS1vLGYtYV06IngiPT09VC5heGlzP1tudWxsLGYtYV06W3UtbyxudWxsXSxJWzBdLmlkbGVUaW1lcj0yNTAsQi5vdmVyZmxvd2VkWzBdJiZzKHdbMF0sUixuLCJ5IiwiYWxsIiwhMCksQi5vdmVyZmxvd2VkWzFdJiZzKHdbMV0sUixuLCJ4IixMLCEwKX19ZnVuY3Rpb24gaShlKXtpZighdGUoZSl8fGN8fE8oZSlbMl0pcmV0dXJuIHZvaWQodD0wKTt0PTEsZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxRKHkpLHA9SygpO3ZhciBvPU0ub2Zmc2V0KCk7aD1PKGUpWzBdLW8udG9wLG09TyhlKVsxXS1vLmxlZnQsRT1bXSxXPVtdfWZ1bmN0aW9uIHIoZSl7aWYodGUoZSkmJiFjJiYhTyhlKVsyXSl7ZD0wLGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksYj0wLEM9MCx2PUsoKTt2YXIgdD1NLm9mZnNldCgpLG89TyhlKVswXS10LnRvcCxhPU8oZSlbMV0tdC5sZWZ0O2lmKCEodi1nPjMwKSl7Xz0xZTMvKHYtcCk7dmFyIG49Im1jc0Vhc2VPdXQiLGk9Mi41Pl8scj1pP1tFW0UubGVuZ3RoLTJdLFdbVy5sZW5ndGgtMl1dOlswLDBdO3g9aT9bby1yWzBdLGEtclsxXV06W28taCxhLW1dO3ZhciB1PVtNYXRoLmFicyh4WzBdKSxNYXRoLmFicyh4WzFdKV07Xz1pP1tNYXRoLmFicyh4WzBdLzQpLE1hdGguYWJzKHhbMV0vNCldOltfLF9dO3ZhciBmPVtNYXRoLmFicyhJWzBdLm9mZnNldFRvcCkteFswXSpsKHVbMF0vX1swXSxfWzBdKSxNYXRoLmFicyhJWzBdLm9mZnNldExlZnQpLXhbMV0qbCh1WzFdL19bMV0sX1sxXSldO3c9Inl4Ij09PVQuYXhpcz9bZlswXSxmWzFdXToieCI9PT1ULmF4aXM/W251bGwsZlsxXV06W2ZbMF0sbnVsbF0sUz1bNCp1WzBdK1Quc2Nyb2xsSW5lcnRpYSw0KnVbMV0rVC5zY3JvbGxJbmVydGlhXTt2YXIgeT1wYXJzZUludChULmNvbnRlbnRUb3VjaFNjcm9sbCl8fDA7d1swXT11WzBdPnk/d1swXTowLHdbMV09dVsxXT55P3dbMV06MCxCLm92ZXJmbG93ZWRbMF0mJnMod1swXSxTWzBdLG4sInkiLEwsITEpLEIub3ZlcmZsb3dlZFsxXSYmcyh3WzFdLFNbMV0sbiwieCIsTCwhMSl9fX1mdW5jdGlvbiBsKGUsdCl7dmFyIG89WzEuNSp0LDIqdCx0LzEuNSx0LzJdO3JldHVybiBlPjkwP3Q+ND9vWzBdOm9bM106ZT42MD90PjM/b1szXTpvWzJdOmU+MzA/dD44P29bMV06dD42P29bMF06dD40P3Q6b1syXTp0Pjg/dDpvWzNdfWZ1bmN0aW9uIHMoZSx0LG8sYSxuLGkpe2UmJkcoeSxlLnRvU3RyaW5nKCkse2R1cjp0LHNjcm9sbEVhc2luZzpvLGRpcjphLG92ZXJ3cml0ZTpuLGRyYWc6aX0pfXZhciBkLHUsZixoLG0scCxnLHYseCxfLHcsUyxiLEMseT1lKHRoaXMpLEI9eS5kYXRhKGEpLFQ9Qi5vcHQsaz1hKyJfIitCLmlkeCxNPWUoIiNtQ1NCXyIrQi5pZHgpLEk9ZSgiI21DU0JfIitCLmlkeCsiX2NvbnRhaW5lciIpLEQ9W2UoIiNtQ1NCXyIrQi5pZHgrIl9kcmFnZ2VyX3ZlcnRpY2FsIiksZSgiI21DU0JfIitCLmlkeCsiX2RyYWdnZXJfaG9yaXpvbnRhbCIpXSxFPVtdLFc9W10sUj0wLEw9Inl4Ij09PVQuYXhpcz8ibm9uZSI6ImFsbCIsej1bXSxQPUkuZmluZCgiaWZyYW1lIiksSD1bInRvdWNoc3RhcnQuIitrKyIgcG9pbnRlcmRvd24uIitrKyIgTVNQb2ludGVyRG93bi4iK2ssInRvdWNobW92ZS4iK2srIiBwb2ludGVybW92ZS4iK2srIiBNU1BvaW50ZXJNb3ZlLiIraywidG91Y2hlbmQuIitrKyIgcG9pbnRlcnVwLiIraysiIE1TUG9pbnRlclVwLiIra10sVT12b2lkIDAhPT1kb2N1bWVudC5ib2R5LnN0eWxlLnRvdWNoQWN0aW9uJiYiIiE9PWRvY3VtZW50LmJvZHkuc3R5bGUudG91Y2hBY3Rpb247SS5iaW5kKEhbMF0sZnVuY3Rpb24oZSl7byhlKX0pLmJpbmQoSFsxXSxmdW5jdGlvbihlKXtuKGUpfSksTS5iaW5kKEhbMF0sZnVuY3Rpb24oZSl7aShlKX0pLmJpbmQoSFsyXSxmdW5jdGlvbihlKXtyKGUpfSksUC5sZW5ndGgmJlAuZWFjaChmdW5jdGlvbigpe2UodGhpcykuYmluZCgibG9hZCIsZnVuY3Rpb24oKXtBKHRoaXMpJiZlKHRoaXMuY29udGVudERvY3VtZW50fHx0aGlzLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQpLmJpbmQoSFswXSxmdW5jdGlvbihlKXtvKGUpLGkoZSl9KS5iaW5kKEhbMV0sZnVuY3Rpb24oZSl7bihlKX0pLmJpbmQoSFsyXSxmdW5jdGlvbihlKXtyKGUpfSl9KX0pfSxFPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbygpe3JldHVybiB3aW5kb3cuZ2V0U2VsZWN0aW9uP3dpbmRvdy5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOmRvY3VtZW50LnNlbGVjdGlvbiYmIkNvbnRyb2wiIT1kb2N1bWVudC5zZWxlY3Rpb24udHlwZT9kb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKS50ZXh0OjB9ZnVuY3Rpb24gbihlLHQsbyl7ZC50eXBlPW8mJmk/InN0ZXBwZWQiOiJzdGVwbGVzcyIsZC5zY3JvbGxBbW91bnQ9MTAsaihyLGUsdCwibWNzTGluZWFyT3V0IixvPzYwOm51bGwpfXZhciBpLHI9ZSh0aGlzKSxsPXIuZGF0YShhKSxzPWwub3B0LGQ9bC5zZXF1ZW50aWFsLHU9YSsiXyIrbC5pZHgsZj1lKCIjbUNTQl8iK2wuaWR4KyJfY29udGFpbmVyIiksaD1mLnBhcmVudCgpO2YuYmluZCgibW91c2Vkb3duLiIrdSxmdW5jdGlvbigpe3R8fGl8fChpPTEsYz0hMCl9KS5hZGQoZG9jdW1lbnQpLmJpbmQoIm1vdXNlbW92ZS4iK3UsZnVuY3Rpb24oZSl7aWYoIXQmJmkmJm8oKSl7dmFyIGE9Zi5vZmZzZXQoKSxyPU8oZSlbMF0tYS50b3ArZlswXS5vZmZzZXRUb3AsYz1PKGUpWzFdLWEubGVmdCtmWzBdLm9mZnNldExlZnQ7cj4wJiZyPGguaGVpZ2h0KCkmJmM+MCYmYzxoLndpZHRoKCk/ZC5zdGVwJiZuKCJvZmYiLG51bGwsInN0ZXBwZWQiKTooIngiIT09cy5heGlzJiZsLm92ZXJmbG93ZWRbMF0mJigwPnI/bigib24iLDM4KTpyPmguaGVpZ2h0KCkmJm4oIm9uIiw0MCkpLCJ5IiE9PXMuYXhpcyYmbC5vdmVyZmxvd2VkWzFdJiYoMD5jP24oIm9uIiwzNyk6Yz5oLndpZHRoKCkmJm4oIm9uIiwzOSkpKX19KS5iaW5kKCJtb3VzZXVwLiIrdSsiIGRyYWdlbmQuIit1LGZ1bmN0aW9uKCl7dHx8KGkmJihpPTAsbigib2ZmIixudWxsKSksYz0hMSl9KX0sVz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxhKXtpZihRKG8pLCF6KG8sdC50YXJnZXQpKXt2YXIgcj0iYXV0byIhPT1pLm1vdXNlV2hlZWwuZGVsdGFGYWN0b3I/cGFyc2VJbnQoaS5tb3VzZVdoZWVsLmRlbHRhRmFjdG9yKTpzJiZ0LmRlbHRhRmFjdG9yPDEwMD8xMDA6dC5kZWx0YUZhY3Rvcnx8MTAwLGQ9aS5zY3JvbGxJbmVydGlhO2lmKCJ4Ij09PWkuYXhpc3x8IngiPT09aS5tb3VzZVdoZWVsLmF4aXMpdmFyIHU9IngiLGY9W01hdGgucm91bmQocipuLnNjcm9sbFJhdGlvLngpLHBhcnNlSW50KGkubW91c2VXaGVlbC5zY3JvbGxBbW91bnQpXSxoPSJhdXRvIiE9PWkubW91c2VXaGVlbC5zY3JvbGxBbW91bnQ/ZlsxXTpmWzBdPj1sLndpZHRoKCk/LjkqbC53aWR0aCgpOmZbMF0sbT1NYXRoLmFicyhlKCIjbUNTQl8iK24uaWR4KyJfY29udGFpbmVyIilbMF0ub2Zmc2V0TGVmdCkscD1jWzFdWzBdLm9mZnNldExlZnQsZz1jWzFdLnBhcmVudCgpLndpZHRoKCktY1sxXS53aWR0aCgpLHY9InkiPT09aS5tb3VzZVdoZWVsLmF4aXM/dC5kZWx0YVl8fGE6dC5kZWx0YVg7ZWxzZSB2YXIgdT0ieSIsZj1bTWF0aC5yb3VuZChyKm4uc2Nyb2xsUmF0aW8ueSkscGFyc2VJbnQoaS5tb3VzZVdoZWVsLnNjcm9sbEFtb3VudCldLGg9ImF1dG8iIT09aS5tb3VzZVdoZWVsLnNjcm9sbEFtb3VudD9mWzFdOmZbMF0+PWwuaGVpZ2h0KCk/LjkqbC5oZWlnaHQoKTpmWzBdLG09TWF0aC5hYnMoZSgiI21DU0JfIituLmlkeCsiX2NvbnRhaW5lciIpWzBdLm9mZnNldFRvcCkscD1jWzBdWzBdLm9mZnNldFRvcCxnPWNbMF0ucGFyZW50KCkuaGVpZ2h0KCktY1swXS5oZWlnaHQoKSx2PXQuZGVsdGFZfHxhOyJ5Ij09PXUmJiFuLm92ZXJmbG93ZWRbMF18fCJ4Ij09PXUmJiFuLm92ZXJmbG93ZWRbMV18fCgoaS5tb3VzZVdoZWVsLmludmVydHx8dC53ZWJraXREaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UpJiYodj0tdiksaS5tb3VzZVdoZWVsLm5vcm1hbGl6ZURlbHRhJiYodj0wPnY/LTE6MSksKHY+MCYmMCE9PXB8fDA+diYmcCE9PWd8fGkubW91c2VXaGVlbC5wcmV2ZW50RGVmYXVsdCkmJih0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHQucHJldmVudERlZmF1bHQoKSksdC5kZWx0YUZhY3Rvcjw1JiYhaS5tb3VzZVdoZWVsLm5vcm1hbGl6ZURlbHRhJiYoaD10LmRlbHRhRmFjdG9yLGQ9MTcpLEcobywobS12KmgpLnRvU3RyaW5nKCkse2Rpcjp1LGR1cjpkfSkpfX1pZihlKHRoaXMpLmRhdGEoYSkpe3ZhciBvPWUodGhpcyksbj1vLmRhdGEoYSksaT1uLm9wdCxyPWErIl8iK24uaWR4LGw9ZSgiI21DU0JfIituLmlkeCksYz1bZSgiI21DU0JfIituLmlkeCsiX2RyYWdnZXJfdmVydGljYWwiKSxlKCIjbUNTQl8iK24uaWR4KyJfZHJhZ2dlcl9ob3Jpem9udGFsIildLGQ9ZSgiI21DU0JfIituLmlkeCsiX2NvbnRhaW5lciIpLmZpbmQoImlmcmFtZSIpO2QubGVuZ3RoJiZkLmVhY2goZnVuY3Rpb24oKXtlKHRoaXMpLmJpbmQoImxvYWQiLGZ1bmN0aW9uKCl7QSh0aGlzKSYmZSh0aGlzLmNvbnRlbnREb2N1bWVudHx8dGhpcy5jb250ZW50V2luZG93LmRvY3VtZW50KS5iaW5kKCJtb3VzZXdoZWVsLiIrcixmdW5jdGlvbihlLG8pe3QoZSxvKX0pfSl9KSxsLmJpbmQoIm1vdXNld2hlZWwuIityLGZ1bmN0aW9uKGUsbyl7dChlLG8pfSl9fSxSPW5ldyBPYmplY3QsQT1mdW5jdGlvbih0KXt2YXIgbz0hMSxhPSExLG49bnVsbDtpZih2b2lkIDA9PT10P2E9IiNlbXB0eSI6dm9pZCAwIT09ZSh0KS5hdHRyKCJpZCIpJiYoYT1lKHQpLmF0dHIoImlkIikpLGEhPT0hMSYmdm9pZCAwIT09UlthXSlyZXR1cm4gUlthXTtpZih0KXt0cnl7dmFyIGk9dC5jb250ZW50RG9jdW1lbnR8fHQuY29udGVudFdpbmRvdy5kb2N1bWVudDtuPWkuYm9keS5pbm5lckhUTUx9Y2F0Y2gocil7fW89bnVsbCE9PW59ZWxzZXt0cnl7dmFyIGk9dG9wLmRvY3VtZW50O249aS5ib2R5LmlubmVySFRNTH1jYXRjaChyKXt9bz1udWxsIT09bn1yZXR1cm4gYSE9PSExJiYoUlthXT1vKSxvfSxMPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZmluZCgiaWZyYW1lIik7aWYodC5sZW5ndGgpe3ZhciBvPWU/ImF1dG8iOiJub25lIjt0LmNzcygicG9pbnRlci1ldmVudHMiLG8pfX0sej1mdW5jdGlvbih0LG8pe3ZhciBuPW8ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxpPXQuZGF0YShhKS5vcHQubW91c2VXaGVlbC5kaXNhYmxlT3ZlcixyPVsic2VsZWN0IiwidGV4dGFyZWEiXTtyZXR1cm4gZS5pbkFycmF5KG4saSk+LTEmJiEoZS5pbkFycmF5KG4scik+LTEmJiFlKG8pLmlzKCI6Zm9jdXMiKSl9LFA9ZnVuY3Rpb24oKXt2YXIgdCxvPWUodGhpcyksbj1vLmRhdGEoYSksaT1hKyJfIituLmlkeCxyPWUoIiNtQ1NCXyIrbi5pZHgrIl9jb250YWluZXIiKSxsPXIucGFyZW50KCkscz1lKCIubUNTQl8iK24uaWR4KyJfc2Nyb2xsYmFyIC4iK2RbMTJdKTtzLmJpbmQoIm1vdXNlZG93bi4iK2krIiB0b3VjaHN0YXJ0LiIraSsiIHBvaW50ZXJkb3duLiIraSsiIE1TUG9pbnRlckRvd24uIitpLGZ1bmN0aW9uKG8pe2M9ITAsZShvLnRhcmdldCkuaGFzQ2xhc3MoIm1DU0JfZHJhZ2dlciIpfHwodD0xKX0pLmJpbmQoInRvdWNoZW5kLiIraSsiIHBvaW50ZXJ1cC4iK2krIiBNU1BvaW50ZXJVcC4iK2ksZnVuY3Rpb24oKXtjPSExfSkuYmluZCgiY2xpY2suIitpLGZ1bmN0aW9uKGEpe2lmKHQmJih0PTAsZShhLnRhcmdldCkuaGFzQ2xhc3MoZFsxMl0pfHxlKGEudGFyZ2V0KS5oYXNDbGFzcygibUNTQl9kcmFnZ2VyUmFpbCIpKSl7UShvKTt2YXIgaT1lKHRoaXMpLHM9aS5maW5kKCIubUNTQl9kcmFnZ2VyIik7aWYoaS5wYXJlbnQoIi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwiKS5sZW5ndGg+MCl7aWYoIW4ub3ZlcmZsb3dlZFsxXSlyZXR1cm47dmFyIGM9IngiLHU9YS5wYWdlWD5zLm9mZnNldCgpLmxlZnQ/LTE6MSxmPU1hdGguYWJzKHJbMF0ub2Zmc2V0TGVmdCktdSooLjkqbC53aWR0aCgpKX1lbHNle2lmKCFuLm92ZXJmbG93ZWRbMF0pcmV0dXJuO3ZhciBjPSJ5Iix1PWEucGFnZVk+cy5vZmZzZXQoKS50b3A/LTE6MSxmPU1hdGguYWJzKHJbMF0ub2Zmc2V0VG9wKS11KiguOSpsLmhlaWdodCgpKX1HKG8sZi50b1N0cmluZygpLHtkaXI6YyxzY3JvbGxFYXNpbmc6Im1jc0Vhc2VJbk91dCJ9KX19KX0sSD1mdW5jdGlvbigpe3ZhciB0PWUodGhpcyksbz10LmRhdGEoYSksbj1vLm9wdCxpPWErIl8iK28uaWR4LHI9ZSgiI21DU0JfIitvLmlkeCsiX2NvbnRhaW5lciIpLGw9ci5wYXJlbnQoKTtyLmJpbmQoImZvY3VzaW4uIitpLGZ1bmN0aW9uKCl7dmFyIG89ZShkb2N1bWVudC5hY3RpdmVFbGVtZW50KSxhPXIuZmluZCgiLm1DdXN0b21TY3JvbGxCb3giKS5sZW5ndGgsaT0wO28uaXMobi5hZHZhbmNlZC5hdXRvU2Nyb2xsT25Gb2N1cykmJihRKHQpLGNsZWFyVGltZW91dCh0WzBdLl9mb2N1c1RpbWVvdXQpLHRbMF0uX2ZvY3VzVGltZXI9YT8oaSsxNykqYTowLHRbMF0uX2ZvY3VzVGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGU9W2FlKG8pWzBdLGFlKG8pWzFdXSxhPVtyWzBdLm9mZnNldFRvcCxyWzBdLm9mZnNldExlZnRdLHM9W2FbMF0rZVswXT49MCYmYVswXStlWzBdPGwuaGVpZ2h0KCktby5vdXRlckhlaWdodCghMSksYVsxXStlWzFdPj0wJiZhWzBdK2VbMV08bC53aWR0aCgpLW8ub3V0ZXJXaWR0aCghMSldLGM9Inl4IiE9PW4uYXhpc3x8c1swXXx8c1sxXT8iYWxsIjoibm9uZSI7IngiPT09bi5heGlzfHxzWzBdfHxHKHQsZVswXS50b1N0cmluZygpLHtkaXI6InkiLHNjcm9sbEVhc2luZzoibWNzRWFzZUluT3V0IixvdmVyd3JpdGU6YyxkdXI6aX0pLCJ5Ij09PW4uYXhpc3x8c1sxXXx8Ryh0LGVbMV0udG9TdHJpbmcoKSx7ZGlyOiJ4IixzY3JvbGxFYXNpbmc6Im1jc0Vhc2VJbk91dCIsb3ZlcndyaXRlOmMsZHVyOml9KX0sdFswXS5fZm9jdXNUaW1lcikpfSl9LFU9ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLG89dC5kYXRhKGEpLG49YSsiXyIrby5pZHgsaT1lKCIjbUNTQl8iK28uaWR4KyJfY29udGFpbmVyIikucGFyZW50KCk7aS5iaW5kKCJzY3JvbGwuIituLGZ1bmN0aW9uKCl7MD09PWkuc2Nyb2xsVG9wKCkmJjA9PT1pLnNjcm9sbExlZnQoKXx8ZSgiLm1DU0JfIitvLmlkeCsiX3Njcm9sbGJhciIpLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpfSl9LEY9ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLG89dC5kYXRhKGEpLG49by5vcHQsaT1vLnNlcXVlbnRpYWwscj1hKyJfIitvLmlkeCxsPSIubUNTQl8iK28uaWR4KyJfc2Nyb2xsYmFyIixzPWUobCsiPmEiKTtzLmJpbmQoImNvbnRleHRtZW51LiIrcixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCl9KS5iaW5kKCJtb3VzZWRvd24uIityKyIgdG91Y2hzdGFydC4iK3IrIiBwb2ludGVyZG93bi4iK3IrIiBNU1BvaW50ZXJEb3duLiIrcisiIG1vdXNldXAuIityKyIgdG91Y2hlbmQuIityKyIgcG9pbnRlcnVwLiIrcisiIE1TUG9pbnRlclVwLiIrcisiIG1vdXNlb3V0LiIrcisiIHBvaW50ZXJvdXQuIityKyIgTVNQb2ludGVyT3V0LiIrcisiIGNsaWNrLiIrcixmdW5jdGlvbihhKXtmdW5jdGlvbiByKGUsbyl7aS5zY3JvbGxBbW91bnQ9bi5zY3JvbGxCdXR0b25zLnNjcm9sbEFtb3VudCxqKHQsZSxvKX1pZihhLnByZXZlbnREZWZhdWx0KCksZWUoYSkpe3ZhciBsPWUodGhpcykuYXR0cigiY2xhc3MiKTtzd2l0Y2goaS50eXBlPW4uc2Nyb2xsQnV0dG9ucy5zY3JvbGxUeXBlLGEudHlwZSl7Y2FzZSJtb3VzZWRvd24iOmNhc2UidG91Y2hzdGFydCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJNU1BvaW50ZXJEb3duIjppZigic3RlcHBlZCI9PT1pLnR5cGUpcmV0dXJuO2M9ITAsby50d2VlblJ1bm5pbmc9ITEscigib24iLGwpO2JyZWFrO2Nhc2UibW91c2V1cCI6Y2FzZSJ0b3VjaGVuZCI6Y2FzZSJwb2ludGVydXAiOmNhc2UiTVNQb2ludGVyVXAiOmNhc2UibW91c2VvdXQiOmNhc2UicG9pbnRlcm91dCI6Y2FzZSJNU1BvaW50ZXJPdXQiOmlmKCJzdGVwcGVkIj09PWkudHlwZSlyZXR1cm47Yz0hMSxpLmRpciYmcigib2ZmIixsKTticmVhaztjYXNlImNsaWNrIjppZigic3RlcHBlZCIhPT1pLnR5cGV8fG8udHdlZW5SdW5uaW5nKXJldHVybjtyKCJvbiIsbCl9fX0pfSxxPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXtmdW5jdGlvbiBhKGUsdCl7ci50eXBlPWkua2V5Ym9hcmQuc2Nyb2xsVHlwZSxyLnNjcm9sbEFtb3VudD1pLmtleWJvYXJkLnNjcm9sbEFtb3VudCwic3RlcHBlZCI9PT1yLnR5cGUmJm4udHdlZW5SdW5uaW5nfHxqKG8sZSx0KX1zd2l0Y2godC50eXBlKXtjYXNlImJsdXIiOm4udHdlZW5SdW5uaW5nJiZyLmRpciYmYSgib2ZmIixudWxsKTticmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOnZhciBsPXQua2V5Q29kZT90LmtleUNvZGU6dC53aGljaCxzPSJvbiI7aWYoIngiIT09aS5heGlzJiYoMzg9PT1sfHw0MD09PWwpfHwieSIhPT1pLmF4aXMmJigzNz09PWx8fDM5PT09bCkpe2lmKCgzOD09PWx8fDQwPT09bCkmJiFuLm92ZXJmbG93ZWRbMF18fCgzNz09PWx8fDM5PT09bCkmJiFuLm92ZXJmbG93ZWRbMV0pcmV0dXJuOyJrZXl1cCI9PT10LnR5cGUmJihzPSJvZmYiKSxlKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLmlzKHUpfHwodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksYShzLGwpKX1lbHNlIGlmKDMzPT09bHx8MzQ9PT1sKXtpZigobi5vdmVyZmxvd2VkWzBdfHxuLm92ZXJmbG93ZWRbMV0pJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpLCJrZXl1cCI9PT10LnR5cGUpe1Eobyk7dmFyIGY9MzQ9PT1sPy0xOjE7aWYoIngiPT09aS5heGlzfHwieXgiPT09aS5heGlzJiZuLm92ZXJmbG93ZWRbMV0mJiFuLm92ZXJmbG93ZWRbMF0pdmFyIGg9IngiLG09TWF0aC5hYnMoY1swXS5vZmZzZXRMZWZ0KS1mKiguOSpkLndpZHRoKCkpO2Vsc2UgdmFyIGg9InkiLG09TWF0aC5hYnMoY1swXS5vZmZzZXRUb3ApLWYqKC45KmQuaGVpZ2h0KCkpO0cobyxtLnRvU3RyaW5nKCkse2RpcjpoLHNjcm9sbEVhc2luZzoibWNzRWFzZUluT3V0In0pfX1lbHNlIGlmKCgzNT09PWx8fDM2PT09bCkmJiFlKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLmlzKHUpJiYoKG4ub3ZlcmZsb3dlZFswXXx8bi5vdmVyZmxvd2VkWzFdKSYmKHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpKSwia2V5dXAiPT09dC50eXBlKSl7aWYoIngiPT09aS5heGlzfHwieXgiPT09aS5heGlzJiZuLm92ZXJmbG93ZWRbMV0mJiFuLm92ZXJmbG93ZWRbMF0pdmFyIGg9IngiLG09MzU9PT1sP01hdGguYWJzKGQud2lkdGgoKS1jLm91dGVyV2lkdGgoITEpKTowO2Vsc2UgdmFyIGg9InkiLG09MzU9PT1sP01hdGguYWJzKGQuaGVpZ2h0KCktYy5vdXRlckhlaWdodCghMSkpOjA7RyhvLG0udG9TdHJpbmcoKSx7ZGlyOmgsc2Nyb2xsRWFzaW5nOiJtY3NFYXNlSW5PdXQifSl9fX12YXIgbz1lKHRoaXMpLG49by5kYXRhKGEpLGk9bi5vcHQscj1uLnNlcXVlbnRpYWwsbD1hKyJfIituLmlkeCxzPWUoIiNtQ1NCXyIrbi5pZHgpLGM9ZSgiI21DU0JfIituLmlkeCsiX2NvbnRhaW5lciIpLGQ9Yy5wYXJlbnQoKSx1PSJpbnB1dCx0ZXh0YXJlYSxzZWxlY3QsZGF0YWxpc3Qsa2V5Z2VuLFtjb250ZW50ZWRpdGFibGU9J3RydWUnXSIsZj1jLmZpbmQoImlmcmFtZSIpLGg9WyJibHVyLiIrbCsiIGtleWRvd24uIitsKyIga2V5dXAuIitsXTtmLmxlbmd0aCYmZi5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5iaW5kKCJsb2FkIixmdW5jdGlvbigpe0EodGhpcykmJmUodGhpcy5jb250ZW50RG9jdW1lbnR8fHRoaXMuY29udGVudFdpbmRvdy5kb2N1bWVudCkuYmluZChoWzBdLGZ1bmN0aW9uKGUpe3QoZSl9KX0pfSkscy5hdHRyKCJ0YWJpbmRleCIsIjAiKS5iaW5kKGhbMF0sZnVuY3Rpb24oZSl7dChlKX0pfSxqPWZ1bmN0aW9uKHQsbyxuLGkscil7ZnVuY3Rpb24gbChlKXt1LnNuYXBBbW91bnQmJihmLnNjcm9sbEFtb3VudD11LnNuYXBBbW91bnQgaW5zdGFuY2VvZiBBcnJheT8ieCI9PT1mLmRpclswXT91LnNuYXBBbW91bnRbMV06dS5zbmFwQW1vdW50WzBdOnUuc25hcEFtb3VudCk7dmFyIG89InN0ZXBwZWQiIT09Zi50eXBlLGE9cj9yOmU/bz9wLzEuNTpnOjFlMy82MCxuPWU/bz83LjU6NDA6Mi41LHM9W01hdGguYWJzKGhbMF0ub2Zmc2V0VG9wKSxNYXRoLmFicyhoWzBdLm9mZnNldExlZnQpXSxkPVtjLnNjcm9sbFJhdGlvLnk+MTA/MTA6Yy5zY3JvbGxSYXRpby55LGMuc2Nyb2xsUmF0aW8ueD4xMD8xMDpjLnNjcm9sbFJhdGlvLnhdLG09IngiPT09Zi5kaXJbMF0/c1sxXStmLmRpclsxXSooZFsxXSpuKTpzWzBdK2YuZGlyWzFdKihkWzBdKm4pLHY9IngiPT09Zi5kaXJbMF0/c1sxXStmLmRpclsxXSpwYXJzZUludChmLnNjcm9sbEFtb3VudCk6c1swXStmLmRpclsxXSpwYXJzZUludChmLnNjcm9sbEFtb3VudCkseD0iYXV0byIhPT1mLnNjcm9sbEFtb3VudD92Om0sXz1pP2k6ZT9vPyJtY3NMaW5lYXJPdXQiOiJtY3NFYXNlSW5PdXQiOiJtY3NMaW5lYXIiLHc9ISFlO3JldHVybiBlJiYxNz5hJiYoeD0ieCI9PT1mLmRpclswXT9zWzFdOnNbMF0pLEcodCx4LnRvU3RyaW5nKCkse2RpcjpmLmRpclswXSxzY3JvbGxFYXNpbmc6XyxkdXI6YSxvbkNvbXBsZXRlOnd9KSxlP3ZvaWQoZi5kaXI9ITEpOihjbGVhclRpbWVvdXQoZi5zdGVwKSx2b2lkKGYuc3RlcD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bCgpfSxhKSkpfWZ1bmN0aW9uIHMoKXtjbGVhclRpbWVvdXQoZi5zdGVwKSwkKGYsInN0ZXAiKSxRKHQpfXZhciBjPXQuZGF0YShhKSx1PWMub3B0LGY9Yy5zZXF1ZW50aWFsLGg9ZSgiI21DU0JfIitjLmlkeCsiX2NvbnRhaW5lciIpLG09InN0ZXBwZWQiPT09Zi50eXBlLHA9dS5zY3JvbGxJbmVydGlhPDI2PzI2OnUuc2Nyb2xsSW5lcnRpYSxnPXUuc2Nyb2xsSW5lcnRpYTwxPzE3OnUuc2Nyb2xsSW5lcnRpYTtzd2l0Y2gobyl7Y2FzZSJvbiI6aWYoZi5kaXI9W249PT1kWzE2XXx8bj09PWRbMTVdfHwzOT09PW58fDM3PT09bj8ieCI6InkiLG49PT1kWzEzXXx8bj09PWRbMTVdfHwzOD09PW58fDM3PT09bj8tMToxXSxRKHQpLG9lKG4pJiYic3RlcHBlZCI9PT1mLnR5cGUpcmV0dXJuO2wobSk7YnJlYWs7Y2FzZSJvZmYiOnMoKSwobXx8Yy50d2VlblJ1bm5pbmcmJmYuZGlyKSYmbCghMCl9fSxZPWZ1bmN0aW9uKHQpe3ZhciBvPWUodGhpcykuZGF0YShhKS5vcHQsbj1bXTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdCYmKHQ9dCgpKSx0IGluc3RhbmNlb2YgQXJyYXk/bj10Lmxlbmd0aD4xP1t0WzBdLHRbMV1dOiJ4Ij09PW8uYXhpcz9bbnVsbCx0WzBdXTpbdFswXSxudWxsXTooblswXT10Lnk/dC55OnQueHx8IngiPT09by5heGlzP251bGw6dCxuWzFdPXQueD90Lng6dC55fHwieSI9PT1vLmF4aXM/bnVsbDp0KSwiZnVuY3Rpb24iPT10eXBlb2YgblswXSYmKG5bMF09blswXSgpKSwiZnVuY3Rpb24iPT10eXBlb2YgblsxXSYmKG5bMV09blsxXSgpKSxufSxYPWZ1bmN0aW9uKHQsbyl7aWYobnVsbCE9dCYmInVuZGVmaW5lZCIhPXR5cGVvZiB0KXt2YXIgbj1lKHRoaXMpLGk9bi5kYXRhKGEpLHI9aS5vcHQsbD1lKCIjbUNTQl8iK2kuaWR4KyJfY29udGFpbmVyIikscz1sLnBhcmVudCgpLGM9dHlwZW9mIHQ7b3x8KG89IngiPT09ci5heGlzPyJ4IjoieSIpO3ZhciBkPSJ4Ij09PW8/bC5vdXRlcldpZHRoKCExKS1zLndpZHRoKCk6bC5vdXRlckhlaWdodCghMSktcy5oZWlnaHQoKSxmPSJ4Ij09PW8/bFswXS5vZmZzZXRMZWZ0OmxbMF0ub2Zmc2V0VG9wLGg9IngiPT09bz8ibGVmdCI6InRvcCI7c3dpdGNoKGMpe2Nhc2UiZnVuY3Rpb24iOnJldHVybiB0KCk7Y2FzZSJvYmplY3QiOnZhciBtPXQuanF1ZXJ5P3Q6ZSh0KTtpZighbS5sZW5ndGgpcmV0dXJuO3JldHVybiJ4Ij09PW8/YWUobSlbMV06YWUobSlbMF07Y2FzZSJzdHJpbmciOmNhc2UibnVtYmVyIjppZihvZSh0KSlyZXR1cm4gTWF0aC5hYnModCk7aWYoLTEhPT10LmluZGV4T2YoIiUiKSlyZXR1cm4gTWF0aC5hYnMoZCpwYXJzZUludCh0KS8xMDApO2lmKC0xIT09dC5pbmRleE9mKCItPSIpKXJldHVybiBNYXRoLmFicyhmLXBhcnNlSW50KHQuc3BsaXQoIi09IilbMV0pKTtpZigtMSE9PXQuaW5kZXhPZigiKz0iKSl7dmFyIHA9ZitwYXJzZUludCh0LnNwbGl0KCIrPSIpWzFdKTtyZXR1cm4gcD49MD8wOk1hdGguYWJzKHApfWlmKC0xIT09dC5pbmRleE9mKCJweCIpJiZvZSh0LnNwbGl0KCJweCIpWzBdKSlyZXR1cm4gTWF0aC5hYnModC5zcGxpdCgicHgiKVswXSk7aWYoInRvcCI9PT10fHwibGVmdCI9PT10KXJldHVybiAwO2lmKCJib3R0b20iPT09dClyZXR1cm4gTWF0aC5hYnMocy5oZWlnaHQoKS1sLm91dGVySGVpZ2h0KCExKSk7aWYoInJpZ2h0Ij09PXQpcmV0dXJuIE1hdGguYWJzKHMud2lkdGgoKS1sLm91dGVyV2lkdGgoITEpKTtpZigiZmlyc3QiPT09dHx8Imxhc3QiPT09dCl7dmFyIG09bC5maW5kKCI6Iit0KTtyZXR1cm4ieCI9PT1vP2FlKG0pWzFdOmFlKG0pWzBdfXJldHVybiBlKHQpLmxlbmd0aD8ieCI9PT1vP2FlKGUodCkpWzFdOmFlKGUodCkpWzBdOihsLmNzcyhoLHQpLHZvaWQgdS51cGRhdGUuY2FsbChudWxsLG5bMF0pKX19fSxOPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG8oKXtyZXR1cm4gY2xlYXJUaW1lb3V0KGZbMF0uYXV0b1VwZGF0ZSksMD09PWwucGFyZW50cygiaHRtbCIpLmxlbmd0aD92b2lkKGw9bnVsbCk6dm9pZChmWzBdLmF1dG9VcGRhdGU9c2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiBjLmFkdmFuY2VkLnVwZGF0ZU9uU2VsZWN0b3JDaGFuZ2UmJihzLnBvbGwuY2hhbmdlLm49aSgpLHMucG9sbC5jaGFuZ2UubiE9PXMucG9sbC5jaGFuZ2Uubyk/KHMucG9sbC5jaGFuZ2Uubz1zLnBvbGwuY2hhbmdlLm4sdm9pZCByKDMpKTpjLmFkdmFuY2VkLnVwZGF0ZU9uQ29udGVudFJlc2l6ZSYmKHMucG9sbC5zaXplLm49bFswXS5zY3JvbGxIZWlnaHQrbFswXS5zY3JvbGxXaWR0aCtmWzBdLm9mZnNldEhlaWdodCtsWzBdLm9mZnNldEhlaWdodCtsWzBdLm9mZnNldFdpZHRoLHMucG9sbC5zaXplLm4hPT1zLnBvbGwuc2l6ZS5vKT8ocy5wb2xsLnNpemUubz1zLnBvbGwuc2l6ZS5uLHZvaWQgcigxKSk6IWMuYWR2YW5jZWQudXBkYXRlT25JbWFnZUxvYWR8fCJhdXRvIj09PWMuYWR2YW5jZWQudXBkYXRlT25JbWFnZUxvYWQmJiJ5Ij09PWMuYXhpc3x8KHMucG9sbC5pbWcubj1mLmZpbmQoImltZyIpLmxlbmd0aCxzLnBvbGwuaW1nLm49PT1zLnBvbGwuaW1nLm8pP3ZvaWQoKGMuYWR2YW5jZWQudXBkYXRlT25TZWxlY3RvckNoYW5nZXx8Yy5hZHZhbmNlZC51cGRhdGVPbkNvbnRlbnRSZXNpemV8fGMuYWR2YW5jZWQudXBkYXRlT25JbWFnZUxvYWQpJiZvKCkpOihzLnBvbGwuaW1nLm89cy5wb2xsLmltZy5uLHZvaWQgZi5maW5kKCJpbWciKS5lYWNoKGZ1bmN0aW9uKCl7bih0aGlzKX0pKX0sYy5hZHZhbmNlZC5hdXRvVXBkYXRlVGltZW91dCkpfWZ1bmN0aW9uIG4odCl7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBmdW5jdGlvbigpewpyZXR1cm4gdC5hcHBseShlLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGEoKXt0aGlzLm9ubG9hZD1udWxsLGUodCkuYWRkQ2xhc3MoZFsyXSkscigyKX1pZihlKHQpLmhhc0NsYXNzKGRbMl0pKXJldHVybiB2b2lkIHIoKTt2YXIgbj1uZXcgSW1hZ2U7bi5vbmxvYWQ9byhuLGEpLG4uc3JjPXQuc3JjfWZ1bmN0aW9uIGkoKXtjLmFkdmFuY2VkLnVwZGF0ZU9uU2VsZWN0b3JDaGFuZ2U9PT0hMCYmKGMuYWR2YW5jZWQudXBkYXRlT25TZWxlY3RvckNoYW5nZT0iKiIpO3ZhciBlPTAsdD1mLmZpbmQoYy5hZHZhbmNlZC51cGRhdGVPblNlbGVjdG9yQ2hhbmdlKTtyZXR1cm4gYy5hZHZhbmNlZC51cGRhdGVPblNlbGVjdG9yQ2hhbmdlJiZ0Lmxlbmd0aD4wJiZ0LmVhY2goZnVuY3Rpb24oKXtlKz10aGlzLm9mZnNldEhlaWdodCt0aGlzLm9mZnNldFdpZHRofSksZX1mdW5jdGlvbiByKGUpe2NsZWFyVGltZW91dChmWzBdLmF1dG9VcGRhdGUpLHUudXBkYXRlLmNhbGwobnVsbCxsWzBdLGUpfXZhciBsPWUodGhpcykscz1sLmRhdGEoYSksYz1zLm9wdCxmPWUoIiNtQ1NCXyIrcy5pZHgrIl9jb250YWluZXIiKTtyZXR1cm4gdD8oY2xlYXJUaW1lb3V0KGZbMF0uYXV0b1VwZGF0ZSksdm9pZCAkKGZbMF0sImF1dG9VcGRhdGUiKSk6dm9pZCBvKCl9LFY9ZnVuY3Rpb24oZSx0LG8pe3JldHVybiBNYXRoLnJvdW5kKGUvdCkqdC1vfSxRPWZ1bmN0aW9uKHQpe3ZhciBvPXQuZGF0YShhKSxuPWUoIiNtQ1NCXyIrby5pZHgrIl9jb250YWluZXIsI21DU0JfIitvLmlkeCsiX2NvbnRhaW5lcl93cmFwcGVyLCNtQ1NCXyIrby5pZHgrIl9kcmFnZ2VyX3ZlcnRpY2FsLCNtQ1NCXyIrby5pZHgrIl9kcmFnZ2VyX2hvcml6b250YWwiKTtuLmVhY2goZnVuY3Rpb24oKXtaLmNhbGwodGhpcyl9KX0sRz1mdW5jdGlvbih0LG8sbil7ZnVuY3Rpb24gaShlKXtyZXR1cm4gcyYmYy5jYWxsYmFja3NbZV0mJiJmdW5jdGlvbiI9PXR5cGVvZiBjLmNhbGxiYWNrc1tlXX1mdW5jdGlvbiByKCl7cmV0dXJuW2MuY2FsbGJhY2tzLmFsd2F5c1RyaWdnZXJPZmZzZXRzfHx3Pj1TWzBdK3ksYy5jYWxsYmFja3MuYWx3YXlzVHJpZ2dlck9mZnNldHN8fC1CPj13XX1mdW5jdGlvbiBsKCl7dmFyIGU9W2hbMF0ub2Zmc2V0VG9wLGhbMF0ub2Zmc2V0TGVmdF0sbz1beFswXS5vZmZzZXRUb3AseFswXS5vZmZzZXRMZWZ0XSxhPVtoLm91dGVySGVpZ2h0KCExKSxoLm91dGVyV2lkdGgoITEpXSxpPVtmLmhlaWdodCgpLGYud2lkdGgoKV07dFswXS5tY3M9e2NvbnRlbnQ6aCx0b3A6ZVswXSxsZWZ0OmVbMV0sZHJhZ2dlclRvcDpvWzBdLGRyYWdnZXJMZWZ0Om9bMV0sdG9wUGN0Ok1hdGgucm91bmQoMTAwKk1hdGguYWJzKGVbMF0pLyhNYXRoLmFicyhhWzBdKS1pWzBdKSksbGVmdFBjdDpNYXRoLnJvdW5kKDEwMCpNYXRoLmFicyhlWzFdKS8oTWF0aC5hYnMoYVsxXSktaVsxXSkpLGRpcmVjdGlvbjpuLmRpcn19dmFyIHM9dC5kYXRhKGEpLGM9cy5vcHQsZD17dHJpZ2dlcjoiaW50ZXJuYWwiLGRpcjoieSIsc2Nyb2xsRWFzaW5nOiJtY3NFYXNlT3V0IixkcmFnOiExLGR1cjpjLnNjcm9sbEluZXJ0aWEsb3ZlcndyaXRlOiJhbGwiLGNhbGxiYWNrczohMCxvblN0YXJ0OiEwLG9uVXBkYXRlOiEwLG9uQ29tcGxldGU6ITB9LG49ZS5leHRlbmQoZCxuKSx1PVtuLmR1cixuLmRyYWc/MDpuLmR1cl0sZj1lKCIjbUNTQl8iK3MuaWR4KSxoPWUoIiNtQ1NCXyIrcy5pZHgrIl9jb250YWluZXIiKSxtPWgucGFyZW50KCkscD1jLmNhbGxiYWNrcy5vblRvdGFsU2Nyb2xsT2Zmc2V0P1kuY2FsbCh0LGMuY2FsbGJhY2tzLm9uVG90YWxTY3JvbGxPZmZzZXQpOlswLDBdLGc9Yy5jYWxsYmFja3Mub25Ub3RhbFNjcm9sbEJhY2tPZmZzZXQ/WS5jYWxsKHQsYy5jYWxsYmFja3Mub25Ub3RhbFNjcm9sbEJhY2tPZmZzZXQpOlswLDBdO2lmKHMudHJpZ2dlcj1uLnRyaWdnZXIsMD09PW0uc2Nyb2xsVG9wKCkmJjA9PT1tLnNjcm9sbExlZnQoKXx8KGUoIi5tQ1NCXyIrcy5pZHgrIl9zY3JvbGxiYXIiKS5jc3MoInZpc2liaWxpdHkiLCJ2aXNpYmxlIiksbS5zY3JvbGxUb3AoMCkuc2Nyb2xsTGVmdCgwKSksIl9yZXNldFkiIT09b3x8cy5jb250ZW50UmVzZXQueXx8KGkoIm9uT3ZlcmZsb3dZTm9uZSIpJiZjLmNhbGxiYWNrcy5vbk92ZXJmbG93WU5vbmUuY2FsbCh0WzBdKSxzLmNvbnRlbnRSZXNldC55PTEpLCJfcmVzZXRYIiE9PW98fHMuY29udGVudFJlc2V0Lnh8fChpKCJvbk92ZXJmbG93WE5vbmUiKSYmYy5jYWxsYmFja3Mub25PdmVyZmxvd1hOb25lLmNhbGwodFswXSkscy5jb250ZW50UmVzZXQueD0xKSwiX3Jlc2V0WSIhPT1vJiYiX3Jlc2V0WCIhPT1vKXtpZighcy5jb250ZW50UmVzZXQueSYmdFswXS5tY3N8fCFzLm92ZXJmbG93ZWRbMF18fChpKCJvbk92ZXJmbG93WSIpJiZjLmNhbGxiYWNrcy5vbk92ZXJmbG93WS5jYWxsKHRbMF0pLHMuY29udGVudFJlc2V0Lng9bnVsbCksIXMuY29udGVudFJlc2V0LngmJnRbMF0ubWNzfHwhcy5vdmVyZmxvd2VkWzFdfHwoaSgib25PdmVyZmxvd1giKSYmYy5jYWxsYmFja3Mub25PdmVyZmxvd1guY2FsbCh0WzBdKSxzLmNvbnRlbnRSZXNldC54PW51bGwpLGMuc25hcEFtb3VudCl7dmFyIHY9Yy5zbmFwQW1vdW50IGluc3RhbmNlb2YgQXJyYXk/IngiPT09bi5kaXI/Yy5zbmFwQW1vdW50WzFdOmMuc25hcEFtb3VudFswXTpjLnNuYXBBbW91bnQ7bz1WKG8sdixjLnNuYXBPZmZzZXQpfXN3aXRjaChuLmRpcil7Y2FzZSJ4Ijp2YXIgeD1lKCIjbUNTQl8iK3MuaWR4KyJfZHJhZ2dlcl9ob3Jpem9udGFsIiksXz0ibGVmdCIsdz1oWzBdLm9mZnNldExlZnQsUz1bZi53aWR0aCgpLWgub3V0ZXJXaWR0aCghMSkseC5wYXJlbnQoKS53aWR0aCgpLXgud2lkdGgoKV0sYj1bbywwPT09bz8wOm8vcy5zY3JvbGxSYXRpby54XSx5PXBbMV0sQj1nWzFdLFQ9eT4wP3kvcy5zY3JvbGxSYXRpby54OjAsaz1CPjA/Qi9zLnNjcm9sbFJhdGlvLng6MDticmVhaztjYXNlInkiOnZhciB4PWUoIiNtQ1NCXyIrcy5pZHgrIl9kcmFnZ2VyX3ZlcnRpY2FsIiksXz0idG9wIix3PWhbMF0ub2Zmc2V0VG9wLFM9W2YuaGVpZ2h0KCktaC5vdXRlckhlaWdodCghMSkseC5wYXJlbnQoKS5oZWlnaHQoKS14LmhlaWdodCgpXSxiPVtvLDA9PT1vPzA6by9zLnNjcm9sbFJhdGlvLnldLHk9cFswXSxCPWdbMF0sVD15PjA/eS9zLnNjcm9sbFJhdGlvLnk6MCxrPUI+MD9CL3Muc2Nyb2xsUmF0aW8ueTowfWJbMV08MHx8MD09PWJbMF0mJjA9PT1iWzFdP2I9WzAsMF06YlsxXT49U1sxXT9iPVtTWzBdLFNbMV1dOmJbMF09LWJbMF0sdFswXS5tY3N8fChsKCksaSgib25Jbml0IikmJmMuY2FsbGJhY2tzLm9uSW5pdC5jYWxsKHRbMF0pKSxjbGVhclRpbWVvdXQoaFswXS5vbkNvbXBsZXRlVGltZW91dCksSih4WzBdLF8sTWF0aC5yb3VuZChiWzFdKSx1WzFdLG4uc2Nyb2xsRWFzaW5nKSwhcy50d2VlblJ1bm5pbmcmJigwPT09dyYmYlswXT49MHx8dz09PVNbMF0mJmJbMF08PVNbMF0pfHxKKGhbMF0sXyxNYXRoLnJvdW5kKGJbMF0pLHVbMF0sbi5zY3JvbGxFYXNpbmcsbi5vdmVyd3JpdGUse29uU3RhcnQ6ZnVuY3Rpb24oKXtuLmNhbGxiYWNrcyYmbi5vblN0YXJ0JiYhcy50d2VlblJ1bm5pbmcmJihpKCJvblNjcm9sbFN0YXJ0IikmJihsKCksYy5jYWxsYmFja3Mub25TY3JvbGxTdGFydC5jYWxsKHRbMF0pKSxzLnR3ZWVuUnVubmluZz0hMCxDKHgpLHMuY2JPZmZzZXRzPXIoKSl9LG9uVXBkYXRlOmZ1bmN0aW9uKCl7bi5jYWxsYmFja3MmJm4ub25VcGRhdGUmJmkoIndoaWxlU2Nyb2xsaW5nIikmJihsKCksYy5jYWxsYmFja3Mud2hpbGVTY3JvbGxpbmcuY2FsbCh0WzBdKSl9LG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtpZihuLmNhbGxiYWNrcyYmbi5vbkNvbXBsZXRlKXsieXgiPT09Yy5heGlzJiZjbGVhclRpbWVvdXQoaFswXS5vbkNvbXBsZXRlVGltZW91dCk7dmFyIGU9aFswXS5pZGxlVGltZXJ8fDA7aFswXS5vbkNvbXBsZXRlVGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aSgib25TY3JvbGwiKSYmKGwoKSxjLmNhbGxiYWNrcy5vblNjcm9sbC5jYWxsKHRbMF0pKSxpKCJvblRvdGFsU2Nyb2xsIikmJmJbMV0+PVNbMV0tVCYmcy5jYk9mZnNldHNbMF0mJihsKCksYy5jYWxsYmFja3Mub25Ub3RhbFNjcm9sbC5jYWxsKHRbMF0pKSxpKCJvblRvdGFsU2Nyb2xsQmFjayIpJiZiWzFdPD1rJiZzLmNiT2Zmc2V0c1sxXSYmKGwoKSxjLmNhbGxiYWNrcy5vblRvdGFsU2Nyb2xsQmFjay5jYWxsKHRbMF0pKSxzLnR3ZWVuUnVubmluZz0hMSxoWzBdLmlkbGVUaW1lcj0wLEMoeCwiaGlkZSIpfSxlKX19fSl9fSxKPWZ1bmN0aW9uKGUsdCxvLGEsbixpLHIpe2Z1bmN0aW9uIGwoKXtTLnN0b3B8fCh4fHxtLmNhbGwoKSx4PUsoKS12LHMoKSx4Pj1TLnRpbWUmJihTLnRpbWU9eD5TLnRpbWU/eCtmLSh4LVMudGltZSk6eCtmLTEsUy50aW1lPHgrMSYmKFMudGltZT14KzEpKSxTLnRpbWU8YT9TLmlkPWgobCk6Zy5jYWxsKCkpfWZ1bmN0aW9uIHMoKXthPjA/KFMuY3VyclZhbD11KFMudGltZSxfLGIsYSxuKSx3W3RdPU1hdGgucm91bmQoUy5jdXJyVmFsKSsicHgiKTp3W3RdPW8rInB4IixwLmNhbGwoKX1mdW5jdGlvbiBjKCl7Zj0xZTMvNjAsUy50aW1lPXgrZixoPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZTpmdW5jdGlvbihlKXtyZXR1cm4gcygpLHNldFRpbWVvdXQoZSwuMDEpfSxTLmlkPWgobCl9ZnVuY3Rpb24gZCgpe251bGwhPVMuaWQmJih3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShTLmlkKTpjbGVhclRpbWVvdXQoUy5pZCksUy5pZD1udWxsKX1mdW5jdGlvbiB1KGUsdCxvLGEsbil7c3dpdGNoKG4pe2Nhc2UibGluZWFyIjpjYXNlIm1jc0xpbmVhciI6cmV0dXJuIG8qZS9hK3Q7Y2FzZSJtY3NMaW5lYXJPdXQiOnJldHVybiBlLz1hLGUtLSxvKk1hdGguc3FydCgxLWUqZSkrdDtjYXNlImVhc2VJbk91dFNtb290aCI6cmV0dXJuIGUvPWEvMiwxPmU/by8yKmUqZSt0OihlLS0sLW8vMiooZSooZS0yKS0xKSt0KTtjYXNlImVhc2VJbk91dFN0cm9uZyI6cmV0dXJuIGUvPWEvMiwxPmU/by8yKk1hdGgucG93KDIsMTAqKGUtMSkpK3Q6KGUtLSxvLzIqKC1NYXRoLnBvdygyLC0xMCplKSsyKSt0KTtjYXNlImVhc2VJbk91dCI6Y2FzZSJtY3NFYXNlSW5PdXQiOnJldHVybiBlLz1hLzIsMT5lP28vMiplKmUqZSt0OihlLT0yLG8vMiooZSplKmUrMikrdCk7Y2FzZSJlYXNlT3V0U21vb3RoIjpyZXR1cm4gZS89YSxlLS0sLW8qKGUqZSplKmUtMSkrdDtjYXNlImVhc2VPdXRTdHJvbmciOnJldHVybiBvKigtTWF0aC5wb3coMiwtMTAqZS9hKSsxKSt0O2Nhc2UiZWFzZU91dCI6Y2FzZSJtY3NFYXNlT3V0IjpkZWZhdWx0OnZhciBpPShlLz1hKSplLHI9aSplO3JldHVybiB0K28qKC40OTk5OTk5OTk5OTk5OTcqcippKy0yLjUqaSppKzUuNSpyKy02LjUqaSs0KmUpfX1lLl9tVHdlZW58fChlLl9tVHdlZW49e3RvcDp7fSxsZWZ0Ont9fSk7dmFyIGYsaCxyPXJ8fHt9LG09ci5vblN0YXJ0fHxmdW5jdGlvbigpe30scD1yLm9uVXBkYXRlfHxmdW5jdGlvbigpe30sZz1yLm9uQ29tcGxldGV8fGZ1bmN0aW9uKCl7fSx2PUsoKSx4PTAsXz1lLm9mZnNldFRvcCx3PWUuc3R5bGUsUz1lLl9tVHdlZW5bdF07ImxlZnQiPT09dCYmKF89ZS5vZmZzZXRMZWZ0KTt2YXIgYj1vLV87Uy5zdG9wPTAsIm5vbmUiIT09aSYmZCgpLGMoKX0sSz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3c/d2luZG93LnBlcmZvcm1hbmNlLm5vdygpOndpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLndlYmtpdE5vdz93aW5kb3cucGVyZm9ybWFuY2Uud2Via2l0Tm93KCk6RGF0ZS5ub3c/RGF0ZS5ub3coKToobmV3IERhdGUpLmdldFRpbWUoKX0sWj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5fbVR3ZWVufHwoZS5fbVR3ZWVuPXt0b3A6e30sbGVmdDp7fX0pO2Zvcih2YXIgdD1bInRvcCIsImxlZnQiXSxvPTA7bzx0Lmxlbmd0aDtvKyspe3ZhciBhPXRbb107ZS5fbVR3ZWVuW2FdLmlkJiYod2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoZS5fbVR3ZWVuW2FdLmlkKTpjbGVhclRpbWVvdXQoZS5fbVR3ZWVuW2FdLmlkKSxlLl9tVHdlZW5bYV0uaWQ9bnVsbCxlLl9tVHdlZW5bYV0uc3RvcD0xKX19LCQ9ZnVuY3Rpb24oZSx0KXt0cnl7ZGVsZXRlIGVbdF19Y2F0Y2gobyl7ZVt0XT1udWxsfX0sZWU9ZnVuY3Rpb24oZSl7cmV0dXJuIShlLndoaWNoJiYxIT09ZS53aGljaCl9LHRlPWZ1bmN0aW9uKGUpe3ZhciB0PWUub3JpZ2luYWxFdmVudC5wb2ludGVyVHlwZTtyZXR1cm4hKHQmJiJ0b3VjaCIhPT10JiYyIT09dCl9LG9lPWZ1bmN0aW9uKGUpe3JldHVybiFpc05hTihwYXJzZUZsb2F0KGUpKSYmaXNGaW5pdGUoZSl9LGFlPWZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50cygiLm1DU0JfY29udGFpbmVyIik7cmV0dXJuW2Uub2Zmc2V0KCkudG9wLXQub2Zmc2V0KCkudG9wLGUub2Zmc2V0KCkubGVmdC10Lm9mZnNldCgpLmxlZnRdfSxuZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt2YXIgZT1bIndlYmtpdCIsIm1veiIsIm1zIiwibyJdO2lmKCJoaWRkZW4iaW4gZG9jdW1lbnQpcmV0dXJuImhpZGRlbiI7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspaWYoZVt0XSsiSGlkZGVuImluIGRvY3VtZW50KXJldHVybiBlW3RdKyJIaWRkZW4iO3JldHVybiBudWxsfXZhciB0PWUoKTtyZXR1cm4gdD9kb2N1bWVudFt0XTohMX07ZS5mbltvXT1mdW5jdGlvbih0KXtyZXR1cm4gdVt0XT91W3RdLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKToib2JqZWN0IiE9dHlwZW9mIHQmJnQ/dm9pZCBlLmVycm9yKCJNZXRob2QgIit0KyIgZG9lcyBub3QgZXhpc3QiKTp1LmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlW29dPWZ1bmN0aW9uKHQpe3JldHVybiB1W3RdP3VbdF0uYXBwbHkodGhpcyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpOiJvYmplY3QiIT10eXBlb2YgdCYmdD92b2lkIGUuZXJyb3IoIk1ldGhvZCAiK3QrIiBkb2VzIG5vdCBleGlzdCIpOnUuaW5pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGVbb10uZGVmYXVsdHM9aSx3aW5kb3dbb109ITAsZSh3aW5kb3cpLmJpbmQoImxvYWQiLGZ1bmN0aW9uKCl7ZShuKVtvXSgpLGUuZXh0ZW5kKGUuZXhwclsiOiJdLHttY3NJblZpZXc6ZS5leHByWyI6Il0ubWNzSW5WaWV3fHxmdW5jdGlvbih0KXt2YXIgbyxhLG49ZSh0KSxpPW4ucGFyZW50cygiLm1DU0JfY29udGFpbmVyIik7aWYoaS5sZW5ndGgpcmV0dXJuIG89aS5wYXJlbnQoKSxhPVtpWzBdLm9mZnNldFRvcCxpWzBdLm9mZnNldExlZnRdLGFbMF0rYWUobilbMF0+PTAmJmFbMF0rYWUobilbMF08by5oZWlnaHQoKS1uLm91dGVySGVpZ2h0KCExKSYmYVsxXSthZShuKVsxXT49MCYmYVsxXSthZShuKVsxXTxvLndpZHRoKCktbi5vdXRlcldpZHRoKCExKX0sbWNzSW5TaWdodDplLmV4cHJbIjoiXS5tY3NJblNpZ2h0fHxmdW5jdGlvbih0LG8sYSl7dmFyIG4saSxyLGwscz1lKHQpLGM9cy5wYXJlbnRzKCIubUNTQl9jb250YWluZXIiKSxkPSJleGFjdCI9PT1hWzNdP1tbMSwwXSxbMSwwXV06W1suOSwuMV0sWy42LC40XV07aWYoYy5sZW5ndGgpcmV0dXJuIG49W3Mub3V0ZXJIZWlnaHQoITEpLHMub3V0ZXJXaWR0aCghMSldLHI9W2NbMF0ub2Zmc2V0VG9wK2FlKHMpWzBdLGNbMF0ub2Zmc2V0TGVmdCthZShzKVsxXV0saT1bYy5wYXJlbnQoKVswXS5vZmZzZXRIZWlnaHQsYy5wYXJlbnQoKVswXS5vZmZzZXRXaWR0aF0sbD1bblswXTxpWzBdP2RbMF06ZFsxXSxuWzFdPGlbMV0/ZFswXTpkWzFdXSxyWzBdLWlbMF0qbFswXVswXTwwJiZyWzBdK25bMF0taVswXSpsWzBdWzFdPj0wJiZyWzFdLWlbMV0qbFsxXVswXTwwJiZyWzFdK25bMV0taVsxXSpsWzFdWzFdPj0wfSxtY3NPdmVyZmxvdzplLmV4cHJbIjoiXS5tY3NPdmVyZmxvd3x8ZnVuY3Rpb24odCl7dmFyIG89ZSh0KS5kYXRhKGEpO2lmKG8pcmV0dXJuIG8ub3ZlcmZsb3dlZFswXXx8by5vdmVyZmxvd2VkWzFdfX0pfSl9KX0pOwoKLyoKQW5pbWF0ZWQgaGVhZGxpbmVzClBsdWdpbiBVUkk6IGh0dHBzOi8vY29keWhvdXNlLmNvL2dlbS9jc3MtYW5pbWF0ZWQtaGVhZGxpbmVzLwoqLwpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKHMpe3ZhciBlLGEsdD0yNTAwLG49MzgwMCxkPW4tM2UzLHI9NTAsbD0xNTAsbz01MDAsYz1vKzgwMCxoPTYwMCxwPTE1MDA7ZnVuY3Rpb24gdShpKXt2YXIgZT1DKGkpO2lmKGkucGFyZW50cygiLmNkLWhlYWRsaW5lIikuaGFzQ2xhc3MoInR5cGUiKSl7dmFyIGE9aS5wYXJlbnQoIi5jZC13b3Jkcy13cmFwcGVyIik7YS5hZGRDbGFzcygic2VsZWN0ZWQiKS5yZW1vdmVDbGFzcygid2FpdGluZyIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXthLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpLGkucmVtb3ZlQ2xhc3MoImlzLXZpc2libGUiKS5hZGRDbGFzcygiaXMtaGlkZGVuIikuY2hpbGRyZW4oImkiKS5yZW1vdmVDbGFzcygiaW4iKS5hZGRDbGFzcygib3V0Iil9LG8pLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtmKGUsbCl9LGMpfWVsc2UgaWYoaS5wYXJlbnRzKCIuY2QtaGVhZGxpbmUiKS5oYXNDbGFzcygibGV0dGVycyIpKXt2YXIgcD1pLmNoaWxkcmVuKCJpIikubGVuZ3RoPj1lLmNoaWxkcmVuKCJpIikubGVuZ3RoOyFmdW5jdGlvbiBpKGUsYSxuLGQpe2UucmVtb3ZlQ2xhc3MoImluIikuYWRkQ2xhc3MoIm91dCIpO2UuaXMoIjpsYXN0LWNoaWxkIik/biYmc2V0VGltZW91dChmdW5jdGlvbigpe3UoQyhhKSl9LHQpOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtpKGUubmV4dCgpLGEsbixkKX0sZCk7aWYoZS5pcygiOmxhc3QtY2hpbGQiKSYmcygiaHRtbCIpLmhhc0NsYXNzKCJuby1jc3N0cmFuc2l0aW9ucyIpKXt2YXIgcj1DKGEpO20oYSxyKX19KGkuZmluZCgiaSIpLmVxKDApLGkscCxyKSx3KGUuZmluZCgiaSIpLmVxKDApLGUscCxyKX1lbHNlIGkucGFyZW50cygiLmNkLWhlYWRsaW5lIikuaGFzQ2xhc3MoImNsaXAiKT9pLnBhcmVudHMoIi5jZC13b3Jkcy13cmFwcGVyIikuYW5pbWF0ZSh7d2lkdGg6IjJweCJ9LGgsZnVuY3Rpb24oKXttKGksZSksZihlKX0pOmkucGFyZW50cygiLmNkLWhlYWRsaW5lIikuaGFzQ2xhc3MoImxvYWRpbmctYmFyIik/KGkucGFyZW50cygiLmNkLXdvcmRzLXdyYXBwZXIiKS5yZW1vdmVDbGFzcygiaXMtbG9hZGluZyIpLG0oaSxlKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dShlKX0sbiksc2V0VGltZW91dChmdW5jdGlvbigpe2kucGFyZW50cygiLmNkLXdvcmRzLXdyYXBwZXIiKS5hZGRDbGFzcygiaXMtbG9hZGluZyIpfSxkKSk6KG0oaSxlKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dShlKX0sdCkpfWZ1bmN0aW9uIGYocyxpKXtzLnBhcmVudHMoIi5jZC1oZWFkbGluZSIpLmhhc0NsYXNzKCJ0eXBlIik/KHcocy5maW5kKCJpIikuZXEoMCkscywhMSxpKSxzLmFkZENsYXNzKCJpcy12aXNpYmxlIikucmVtb3ZlQ2xhc3MoImlzLWhpZGRlbiIpKTpzLnBhcmVudHMoIi5jZC1oZWFkbGluZSIpLmhhc0NsYXNzKCJjbGlwIikmJnMucGFyZW50cygiLmNkLXdvcmRzLXdyYXBwZXIiKS5hbmltYXRlKHt3aWR0aDpzLndpZHRoKCkrMTB9LGgsZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dShzKX0scCl9KX1mdW5jdGlvbiB3KHMsaSxlLGEpe3MuYWRkQ2xhc3MoImluIikucmVtb3ZlQ2xhc3MoIm91dCIpLHMuaXMoIjpsYXN0LWNoaWxkIik/KGkucGFyZW50cygiLmNkLWhlYWRsaW5lIikuaGFzQ2xhc3MoInR5cGUiKSYmc2V0VGltZW91dChmdW5jdGlvbigpe2kucGFyZW50cygiLmNkLXdvcmRzLXdyYXBwZXIiKS5hZGRDbGFzcygid2FpdGluZyIpfSwyMDApLGV8fHNldFRpbWVvdXQoZnVuY3Rpb24oKXt1KGkpfSx0KSk6c2V0VGltZW91dChmdW5jdGlvbigpe3cocy5uZXh0KCksaSxlLGEpfSxhKX1mdW5jdGlvbiBDKHMpe3JldHVybiBzLmlzKCI6bGFzdC1jaGlsZCIpP3MucGFyZW50KCkuY2hpbGRyZW4oKS5lcSgwKTpzLm5leHQoKX1mdW5jdGlvbiBtKHMsaSl7cy5yZW1vdmVDbGFzcygiaXMtdmlzaWJsZSIpLmFkZENsYXNzKCJpcy1oaWRkZW4iKSxpLnJlbW92ZUNsYXNzKCJpcy1oaWRkZW4iKS5hZGRDbGFzcygiaXMtdmlzaWJsZSIpfXMoIi5jZC1oZWFkbGluZS5sZXR0ZXJzIikuZmluZCgiYiIpLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1zKHRoaXMpLGE9ZS50ZXh0KCkuc3BsaXQoIiIpLHQ9ZS5oYXNDbGFzcygiaXMtdmlzaWJsZSIpO2ZvcihpIGluIGEpZS5wYXJlbnRzKCIucm90YXRlLTIiKS5sZW5ndGg+MCYmKGFbaV09IjxlbT4iK2FbaV0rIjwvZW0+IiksYVtpXT10Pyc8aSBjbGFzcz0iaW4iPicrYVtpXSsiPC9pPiI6IjxpPiIrYVtpXSsiPC9pPiI7dmFyIG49YS5qb2luKCIiKTtlLmh0bWwobikuY3NzKCJvcGFjaXR5IiwxKX0pLGU9cygiLmNkLWhlYWRsaW5lIiksYT10LGUuZWFjaChmdW5jdGlvbigpe3ZhciBpPXModGhpcyk7aWYoaS5oYXNDbGFzcygibG9hZGluZy1iYXIiKSlhPW4sc2V0VGltZW91dChmdW5jdGlvbigpe2kuZmluZCgiLmNkLXdvcmRzLXdyYXBwZXIiKS5hZGRDbGFzcygiaXMtbG9hZGluZyIpfSxkKTtlbHNlIGlmKGkuaGFzQ2xhc3MoImNsaXAiKSl7dmFyIGU9aS5maW5kKCIuY2Qtd29yZHMtd3JhcHBlciIpLHQ9ZS53aWR0aCgpKzEwO2UuY3NzKCJ3aWR0aCIsdCl9ZWxzZSBpZighaS5oYXNDbGFzcygidHlwZSIpKXt2YXIgcj1pLmZpbmQoIi5jZC13b3Jkcy13cmFwcGVyIGIiKSxsPTA7ci5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9cyh0aGlzKS53aWR0aCgpO2k+bCYmKGw9aSl9KSxpLmZpbmQoIi5jZC13b3Jkcy13cmFwcGVyIikuY3NzKCJ3aWR0aCIsbCl9c2V0VGltZW91dChmdW5jdGlvbigpe3UoaS5maW5kKCIuaXMtdmlzaWJsZSIpLmVxKDApKX0sYSl9KSxzKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uKCl7cygiLmNkLXdvcmRzLXdyYXBwZXIiKS5lYWNoKGZ1bmN0aW9uKCl7cyh0aGlzKS5jc3MoIndpZHRoIiwiYXV0byIpLmNzcygid2lkdGgiLHModGhpcykud2lkdGgoKSl9KX0pfSk7CgovKgpTdGlja3kta2l0ClZlcnNpb246IDEuMS4zClBsdWdpbiBVUkk6IGh0dHBzOi8vZ2l0aHViLmNvbS9sZWFmby9zdGlja3kta2l0CkxpY2Vuc2U6IExlYWYgQ29yY29yYW4gMjAxNSB8IGh0dHA6Ly9sZWFmby5uZXQgfCBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UKKi8KKGZ1bmN0aW9uKCl7dmFyIGMsZjtjPXdpbmRvdy5qUXVlcnk7Zj1jKHdpbmRvdyk7Yy5mbi5zdGlja19pbl9wYXJlbnQ9ZnVuY3Rpb24oYil7dmFyIEEsdyxKLG4sQixLLHAscSxMLGssRSx0O251bGw9PWImJihiPXt9KTt0PWIuc3RpY2t5X2NsYXNzO0I9Yi5pbm5lcl9zY3JvbGxpbmc7RT1iLnJlY2FsY19ldmVyeTtrPWIucGFyZW50O3E9Yi5vZmZzZXRfdG9wO3A9Yi5zcGFjZXI7dz1iLmJvdHRvbWluZztudWxsPT1xJiYocT0wKTtudWxsPT1rJiYoaz12b2lkIDApO251bGw9PUImJihCPSEwKTtudWxsPT10JiYodD0iaXNfc3R1Y2siKTtBPWMoZG9jdW1lbnQpO251bGw9PXcmJih3PSEwKTtMPWZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZT8oYT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhWzBdKSxiPXBhcnNlRmxvYXQoYS5nZXRQcm9wZXJ0eVZhbHVlKCJ3aWR0aCIpKStwYXJzZUZsb2F0KGEuZ2V0UHJvcGVydHlWYWx1ZSgibWFyZ2luLWxlZnQiKSkrCnBhcnNlRmxvYXQoYS5nZXRQcm9wZXJ0eVZhbHVlKCJtYXJnaW4tcmlnaHQiKSksImJvcmRlci1ib3giIT09YS5nZXRQcm9wZXJ0eVZhbHVlKCJib3gtc2l6aW5nIikmJihiKz1wYXJzZUZsb2F0KGEuZ2V0UHJvcGVydHlWYWx1ZSgiYm9yZGVyLWxlZnQtd2lkdGgiKSkrcGFyc2VGbG9hdChhLmdldFByb3BlcnR5VmFsdWUoImJvcmRlci1yaWdodC13aWR0aCIpKStwYXJzZUZsb2F0KGEuZ2V0UHJvcGVydHlWYWx1ZSgicGFkZGluZy1sZWZ0IikpK3BhcnNlRmxvYXQoYS5nZXRQcm9wZXJ0eVZhbHVlKCJwYWRkaW5nLXJpZ2h0IikpKSxiKTphLm91dGVyV2lkdGgoITApfTtKPWZ1bmN0aW9uKGEsYixuLEMsRix1LHIsRyl7dmFyIHYsSCxtLEQsSSxkLGcseCx5LHosaCxsO2lmKCFhLmRhdGEoInN0aWNreV9raXQiKSl7YS5kYXRhKCJzdGlja3lfa2l0IiwhMCk7ST1BLmhlaWdodCgpO2c9YS5wYXJlbnQoKTtudWxsIT1rJiYoZz1nLmNsb3Nlc3QoaykpO2lmKCFnLmxlbmd0aCl0aHJvdyJmYWlsZWQgdG8gZmluZCBzdGljayBwYXJlbnQiOwp2PW09ITE7KGg9bnVsbCE9cD9wJiZhLmNsb3Nlc3QocCk6YygiPGRpdiAvPiIpKSYmaC5jc3MoInBvc2l0aW9uIixhLmNzcygicG9zaXRpb24iKSk7eD1mdW5jdGlvbigpe3ZhciBkLGYsZTtpZighRyYmKEk9QS5oZWlnaHQoKSxkPXBhcnNlSW50KGcuY3NzKCJib3JkZXItdG9wLXdpZHRoIiksMTApLGY9cGFyc2VJbnQoZy5jc3MoInBhZGRpbmctdG9wIiksMTApLGI9cGFyc2VJbnQoZy5jc3MoInBhZGRpbmctYm90dG9tIiksMTApLG49Zy5vZmZzZXQoKS50b3ArZCtmLEM9Zy5oZWlnaHQoKSxtJiYodj1tPSExLG51bGw9PXAmJihhLmluc2VydEFmdGVyKGgpLGguZGV0YWNoKCkpLGEuY3NzKHtwb3NpdGlvbjoiIix0b3A6IiIsd2lkdGg6IiIsYm90dG9tOiIifSkucmVtb3ZlQ2xhc3ModCksZT0hMCksRj1hLm9mZnNldCgpLnRvcC0ocGFyc2VJbnQoYS5jc3MoIm1hcmdpbi10b3AiKSwxMCl8fDApLXEsdT1hLm91dGVySGVpZ2h0KCEwKSxyPWEuY3NzKCJmbG9hdCIpLGgmJmguY3NzKHt3aWR0aDpMKGEpLApoZWlnaHQ6dSxkaXNwbGF5OmEuY3NzKCJkaXNwbGF5IiksInZlcnRpY2FsLWFsaWduIjphLmNzcygidmVydGljYWwtYWxpZ24iKSwiZmxvYXQiOnJ9KSxlKSlyZXR1cm4gbCgpfTt4KCk7aWYodSE9PUMpcmV0dXJuIEQ9dm9pZCAwLGQ9cSx6PUUsbD1mdW5jdGlvbigpe3ZhciBjLGwsZSxrO2lmKCFHJiYoZT0hMSxudWxsIT16JiYoLS16LDA+PXomJih6PUUseCgpLGU9ITApKSxlfHxBLmhlaWdodCgpPT09SXx8eCgpLGU9Zi5zY3JvbGxUb3AoKSxudWxsIT1EJiYobD1lLUQpLEQ9ZSxtPyh3JiYoaz1lK3UrZD5DK24sdiYmIWsmJih2PSExLGEuY3NzKHtwb3NpdGlvbjoiZml4ZWQiLGJvdHRvbToiIix0b3A6ZH0pLnRyaWdnZXIoInN0aWNreV9raXQ6dW5ib3R0b20iKSkpLGU8RiYmKG09ITEsZD1xLG51bGw9PXAmJigibGVmdCIhPT1yJiYicmlnaHQiIT09cnx8YS5pbnNlcnRBZnRlcihoKSxoLmRldGFjaCgpKSxjPXtwb3NpdGlvbjoiIix3aWR0aDoiIix0b3A6IiJ9LGEuY3NzKGMpLnJlbW92ZUNsYXNzKHQpLnRyaWdnZXIoInN0aWNreV9raXQ6dW5zdGljayIpKSwKQiYmKGM9Zi5oZWlnaHQoKSx1K3E+YyYmIXYmJihkLT1sLGQ9TWF0aC5tYXgoYy11LGQpLGQ9TWF0aC5taW4ocSxkKSxtJiZhLmNzcyh7dG9wOmQrInB4In0pKSkpOmU+RiYmKG09ITAsYz17cG9zaXRpb246ImZpeGVkIix0b3A6ZH0sYy53aWR0aD0iYm9yZGVyLWJveCI9PT1hLmNzcygiYm94LXNpemluZyIpP2Eub3V0ZXJXaWR0aCgpKyJweCI6YS53aWR0aCgpKyJweCIsYS5jc3MoYykuYWRkQ2xhc3ModCksbnVsbD09cCYmKGEuYWZ0ZXIoaCksImxlZnQiIT09ciYmInJpZ2h0IiE9PXJ8fGguYXBwZW5kKGEpKSxhLnRyaWdnZXIoInN0aWNreV9raXQ6c3RpY2siKSksbSYmdyYmKG51bGw9PWsmJihrPWUrdStkPkMrbiksIXYmJmspKSlyZXR1cm4gdj0hMCwic3RhdGljIj09PWcuY3NzKCJwb3NpdGlvbiIpJiZnLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIn0pLGEuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLGJvdHRvbTpiLHRvcDoiYXV0byJ9KS50cmlnZ2VyKCJzdGlja3lfa2l0OmJvdHRvbSIpfSwKeT1mdW5jdGlvbigpe3goKTtyZXR1cm4gbCgpfSxIPWZ1bmN0aW9uKCl7Rz0hMDtmLm9mZigidG91Y2htb3ZlIixsKTtmLm9mZigic2Nyb2xsIixsKTtmLm9mZigicmVzaXplIix5KTtjKGRvY3VtZW50LmJvZHkpLm9mZigic3RpY2t5X2tpdDpyZWNhbGMiLHkpO2Eub2ZmKCJzdGlja3lfa2l0OmRldGFjaCIsSCk7YS5yZW1vdmVEYXRhKCJzdGlja3lfa2l0Iik7YS5jc3Moe3Bvc2l0aW9uOiIiLGJvdHRvbToiIix0b3A6IiIsd2lkdGg6IiJ9KTtnLnBvc2l0aW9uKCJwb3NpdGlvbiIsIiIpO2lmKG0pcmV0dXJuIG51bGw9PXAmJigibGVmdCIhPT1yJiYicmlnaHQiIT09cnx8YS5pbnNlcnRBZnRlcihoKSxoLnJlbW92ZSgpKSxhLnJlbW92ZUNsYXNzKHQpfSxmLm9uKCJ0b3VjaG1vdmUiLGwpLGYub24oInNjcm9sbCIsbCksZi5vbigicmVzaXplIix5KSxjKGRvY3VtZW50LmJvZHkpLm9uKCJzdGlja3lfa2l0OnJlY2FsYyIseSksYS5vbigic3RpY2t5X2tpdDpkZXRhY2giLEgpLHNldFRpbWVvdXQobCwKMCl9fTtuPTA7Zm9yKEs9dGhpcy5sZW5ndGg7bjxLO24rKyliPXRoaXNbbl0sSihjKGIpKTtyZXR1cm4gdGhpc319KS5jYWxsKHRoaXMpOwoKLyoKUGFnZSBzY3JvbGwKKi8KIWZ1bmN0aW9uKCl7dmFyIGUsdCxvLG4scj17ZnJhbWVSYXRlOjE1MCxhbmltYXRpb25UaW1lOjQwMCxzdGVwU2l6ZToxMDAscHVsc2VBbGdvcml0aG06ITAscHVsc2VTY2FsZTo0LHB1bHNlTm9ybWFsaXplOjEsYWNjZWxlcmF0aW9uRGVsdGE6NTAsYWNjZWxlcmF0aW9uTWF4OjMsa2V5Ym9hcmRTdXBwb3J0OiEwLGFycm93U2Nyb2xsOjUwLGZpeGVkQmFja2dyb3VuZDohMCxleGNsdWRlZDoiIn0sYT1yLGw9ITEsaT0hMSxjPXt4OjAseTowfSx1PSExLHM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGQ9W10sZj0vXk1hYy8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLG09e2xlZnQ6MzcsdXA6MzgscmlnaHQ6MzksZG93bjo0MCxzcGFjZWJhcjozMixwYWdldXA6MzMscGFnZWRvd246MzQsZW5kOjM1LGhvbWU6MzZ9LGg9ezM3OjEsMzg6MSwzOToxLDQwOjF9O2Z1bmN0aW9uIHcoKXtpZighdSYmZG9jdW1lbnQuYm9keSl7dT0hMDt2YXIgbj1kb2N1bWVudC5ib2R5LHI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGM9d2luZG93LmlubmVySGVpZ2h0LGQ9bi5zY3JvbGxIZWlnaHQ7aWYocz1kb2N1bWVudC5jb21wYXRNb2RlLmluZGV4T2YoIkNTUyIpPj0wP3I6bixlPW4sYS5rZXlib2FyZFN1cHBvcnQmJkEoImtleWRvd24iLFMpLHRvcCE9c2VsZilpPSEwO2Vsc2UgaWYoWiYmZD5jJiYobi5vZmZzZXRIZWlnaHQ8PWN8fHIub2Zmc2V0SGVpZ2h0PD1jKSl7dmFyIGYsbT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTttLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlOyB6LWluZGV4Oi0xMDAwMDsgdG9wOjA7IGxlZnQ6MDsgcmlnaHQ6MDsgaGVpZ2h0OiIrcy5zY3JvbGxIZWlnaHQrInB4Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG0pLG89ZnVuY3Rpb24oKXtmfHwoZj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bHx8KG0uc3R5bGUuaGVpZ2h0PSIwIixtLnN0eWxlLmhlaWdodD1zLnNjcm9sbEhlaWdodCsicHgiLGY9bnVsbCl9LDUwMCkpfSxzZXRUaW1lb3V0KG8sMTApLEEoInJlc2l6ZSIsbyk7aWYoKHQ9bmV3IHEobykpLm9ic2VydmUobix7YXR0cmlidXRlczohMCxjaGlsZExpc3Q6ITAsY2hhcmFjdGVyRGF0YTohMX0pLHMub2Zmc2V0SGVpZ2h0PD1jKXt2YXIgaD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtoLnN0eWxlLmNsZWFyPSJib3RoIixuLmFwcGVuZENoaWxkKGgpfX1hLmZpeGVkQmFja2dyb3VuZHx8bHx8KG4uc3R5bGUuYmFja2dyb3VuZEF0dGFjaG1lbnQ9InNjcm9sbCIsci5zdHlsZS5iYWNrZ3JvdW5kQXR0YWNobWVudD0ic2Nyb2xsIil9fXZhciBwPVtdLHY9ITEseT1EYXRlLm5vdygpO2Z1bmN0aW9uIGIoZSx0LG8pe3ZhciBuLHI7aWYobj0obj10KT4wPzE6LTEscj0ocj1vKT4wPzE6LTEsKGMueCE9PW58fGMueSE9PXIpJiYoYy54PW4sYy55PXIscD1bXSx5PTApLDEhPWEuYWNjZWxlcmF0aW9uTWF4KXt2YXIgbD1EYXRlLm5vdygpLXk7aWYobDxhLmFjY2VsZXJhdGlvbkRlbHRhKXt2YXIgaT0oMSs1MC9sKS8yO2k+MSYmKGk9TWF0aC5taW4oaSxhLmFjY2VsZXJhdGlvbk1heCksdCo9aSxvKj1pKX15PURhdGUubm93KCl9aWYocC5wdXNoKHt4OnQseTpvLGxhc3RYOnQ8MD8uOTk6LS45OSxsYXN0WTpvPDA/Ljk5Oi0uOTksc3RhcnQ6RGF0ZS5ub3coKX0pLCF2KXt2YXIgdT1WKCkscz1lPT09dXx8ZT09PWRvY3VtZW50LmJvZHk7bnVsbD09ZS4kc2Nyb2xsQmVoYXZpb3ImJmZ1bmN0aW9uKGUpe3ZhciB0PU0oZSk7aWYobnVsbD09Qlt0XSl7dmFyIG89Z2V0Q29tcHV0ZWRTdHlsZShlLCIiKVsic2Nyb2xsLWJlaGF2aW9yIl07Qlt0XT0ic21vb3RoIj09b31yZXR1cm4gQlt0XX0oZSkmJihlLiRzY3JvbGxCZWhhdmlvcj1lLnN0eWxlLnNjcm9sbEJlaGF2aW9yLGUuc3R5bGUuc2Nyb2xsQmVoYXZpb3I9ImF1dG8iKTt2YXIgZD1mdW5jdGlvbihuKXtmb3IodmFyIHI9RGF0ZS5ub3coKSxsPTAsaT0wLGM9MDtjPHAubGVuZ3RoO2MrKyl7dmFyIHU9cFtjXSxmPXItdS5zdGFydCxtPWY+PWEuYW5pbWF0aW9uVGltZSxoPW0/MTpmL2EuYW5pbWF0aW9uVGltZTthLnB1bHNlQWxnb3JpdGhtJiYoaD1JKGgpKTt2YXIgdz11LngqaC11Lmxhc3RYPj4wLHk9dS55KmgtdS5sYXN0WT4+MDtsKz13LGkrPXksdS5sYXN0WCs9dyx1Lmxhc3RZKz15LG0mJihwLnNwbGljZShjLDEpLGMtLSl9cz93aW5kb3cuc2Nyb2xsQnkobCxpKToobCYmKGUuc2Nyb2xsTGVmdCs9bCksaSYmKGUuc2Nyb2xsVG9wKz1pKSksdHx8b3x8KHA9W10pLHAubGVuZ3RoP1IoZCxlLDFlMy9hLmZyYW1lUmF0ZSsxKToodj0hMSxudWxsIT1lLiRzY3JvbGxCZWhhdmlvciYmKGUuc3R5bGUuc2Nyb2xsQmVoYXZpb3I9ZS4kc2Nyb2xsQmVoYXZpb3IsZS4kc2Nyb2xsQmVoYXZpb3I9bnVsbCkpfTtSKGQsZSwwKSx2PSEwfX1mdW5jdGlvbiBnKHQpe3V8fHcoKTt2YXIgbz10LnRhcmdldDtpZih0LmRlZmF1bHRQcmV2ZW50ZWR8fHQuY3RybEtleSlyZXR1cm4hMDtpZihLKGUsImVtYmVkIil8fEsobywiZW1iZWQiKSYmL1wucGRmL2kudGVzdChvLnNyYyl8fEsoZSwib2JqZWN0Iil8fG8uc2hhZG93Um9vdClyZXR1cm4hMDt2YXIgcj0tdC53aGVlbERlbHRhWHx8dC5kZWx0YVh8fDAsbD0tdC53aGVlbERlbHRhWXx8dC5kZWx0YVl8fDA7ZiYmKHQud2hlZWxEZWx0YVgmJlAodC53aGVlbERlbHRhWCwxMjApJiYocj10LndoZWVsRGVsdGFYL01hdGguYWJzKHQud2hlZWxEZWx0YVgpKi0xMjApLHQud2hlZWxEZWx0YVkmJlAodC53aGVlbERlbHRhWSwxMjApJiYobD10LndoZWVsRGVsdGFZL01hdGguYWJzKHQud2hlZWxEZWx0YVkpKi0xMjApKSxyfHxsfHwobD0tdC53aGVlbERlbHRhfHwwKSwxPT09dC5kZWx0YU1vZGUmJihyKj00MCxsKj00MCk7dmFyIGM9TChvKTtyZXR1cm4gYz8hIWZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybjtkLmxlbmd0aHx8KGQ9W2UsZSxlXSk7ZT1NYXRoLmFicyhlKSxkLnB1c2goZSksZC5zaGlmdCgpLGNsZWFyVGltZW91dChuKSxuPXNldFRpbWVvdXQoZnVuY3Rpb24oKXt0cnl7bG9jYWxTdG9yYWdlLlNTX2RlbHRhQnVmZmVyPWQuam9pbigiLCIpfWNhdGNoKGUpe319LDFlMyk7dmFyIHQ9ZT4xMjAmJiQoZSk7cmV0dXJuISQoMTIwKSYmISQoMTAwKSYmIXR9KGwpfHwoTWF0aC5hYnMocik+MS4yJiYocio9YS5zdGVwU2l6ZS8xMjApLE1hdGguYWJzKGwpPjEuMiYmKGwqPWEuc3RlcFNpemUvMTIwKSxiKGMscixsKSx0LnByZXZlbnREZWZhdWx0KCksdm9pZCBDKCkpOiFpfHwhVXx8KE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJ0YXJnZXQiLHt2YWx1ZTp3aW5kb3cuZnJhbWVFbGVtZW50fSkscGFyZW50LndoZWVsKHQpKX1mdW5jdGlvbiBTKHQpe3ZhciBvPXQudGFyZ2V0LG49dC5jdHJsS2V5fHx0LmFsdEtleXx8dC5tZXRhS2V5fHx0LnNoaWZ0S2V5JiZ0LmtleUNvZGUhPT1tLnNwYWNlYmFyO2RvY3VtZW50LmJvZHkuY29udGFpbnMoZSl8fChlPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO3ZhciByPS9eKGJ1dHRvbnxzdWJtaXR8cmFkaW98Y2hlY2tib3h8ZmlsZXxjb2xvcnxpbWFnZSkkL2k7aWYodC5kZWZhdWx0UHJldmVudGVkfHwvXih0ZXh0YXJlYXxzZWxlY3R8ZW1iZWR8b2JqZWN0KSQvaS50ZXN0KG8ubm9kZU5hbWUpfHxLKG8sImlucHV0IikmJiFyLnRlc3Qoby50eXBlKXx8SyhlLCJ2aWRlbyIpfHxmdW5jdGlvbihlKXt2YXIgdD1lLnRhcmdldCxvPSExO2lmKC0xIT1kb2N1bWVudC5VUkwuaW5kZXhPZigid3d3LnlvdXR1YmUuY29tL3dhdGNoIikpZG97aWYobz10LmNsYXNzTGlzdCYmdC5jbGFzc0xpc3QuY29udGFpbnMoImh0bWw1LXZpZGVvLWNvbnRyb2xzIikpYnJlYWt9d2hpbGUodD10LnBhcmVudE5vZGUpO3JldHVybiBvfSh0KXx8by5pc0NvbnRlbnRFZGl0YWJsZXx8bilyZXR1cm4hMDtpZigoSyhvLCJidXR0b24iKXx8SyhvLCJpbnB1dCIpJiZyLnRlc3Qoby50eXBlKSkmJnQua2V5Q29kZT09PW0uc3BhY2ViYXIpcmV0dXJuITA7aWYoSyhvLCJpbnB1dCIpJiYicmFkaW8iPT1vLnR5cGUmJmhbdC5rZXlDb2RlXSlyZXR1cm4hMDt2YXIgbD0wLGM9MCx1PUwoZSk7aWYoIXUpcmV0dXJuIWl8fCFVfHxwYXJlbnQua2V5ZG93bih0KTt2YXIgcz11LmNsaWVudEhlaWdodDtzd2l0Y2godT09ZG9jdW1lbnQuYm9keSYmKHM9d2luZG93LmlubmVySGVpZ2h0KSx0LmtleUNvZGUpe2Nhc2UgbS51cDpjPS1hLmFycm93U2Nyb2xsO2JyZWFrO2Nhc2UgbS5kb3duOmM9YS5hcnJvd1Njcm9sbDticmVhaztjYXNlIG0uc3BhY2ViYXI6Yz0tKHQuc2hpZnRLZXk/MTotMSkqcyouOTticmVhaztjYXNlIG0ucGFnZXVwOmM9LjkqLXM7YnJlYWs7Y2FzZSBtLnBhZ2Vkb3duOmM9LjkqczticmVhaztjYXNlIG0uaG9tZTp1PT1kb2N1bWVudC5ib2R5JiZkb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50JiYodT1kb2N1bWVudC5zY3JvbGxpbmdFbGVtZW50KSxjPS11LnNjcm9sbFRvcDticmVhaztjYXNlIG0uZW5kOnZhciBkPXUuc2Nyb2xsSGVpZ2h0LXUuc2Nyb2xsVG9wLXM7Yz1kPjA/ZCsxMDowO2JyZWFrO2Nhc2UgbS5sZWZ0Omw9LWEuYXJyb3dTY3JvbGw7YnJlYWs7Y2FzZSBtLnJpZ2h0Omw9YS5hcnJvd1Njcm9sbDticmVhaztkZWZhdWx0OnJldHVybiEwfWIodSxsLGMpLHQucHJldmVudERlZmF1bHQoKSxDKCl9ZnVuY3Rpb24geCh0KXtlPXQudGFyZ2V0fXZhciBrLEQsTT0oaz0wLGZ1bmN0aW9uKGUpe3JldHVybiBlLnVuaXF1ZUlEfHwoZS51bmlxdWVJRD1rKyspfSksRT17fSxUPXt9LEI9e307ZnVuY3Rpb24gQygpe2NsZWFyVGltZW91dChEKSxEPXNldEludGVydmFsKGZ1bmN0aW9uKCl7RT1UPUI9e319LDFlMyl9ZnVuY3Rpb24gSChlLHQsbyl7Zm9yKHZhciBuPW8/RTpULHI9ZS5sZW5ndGg7ci0tOyluW00oZVtyXSldPXQ7cmV0dXJuIHR9ZnVuY3Rpb24geihlLHQpe3JldHVybih0P0U6VClbTShlKV19ZnVuY3Rpb24gTChlKXt2YXIgdD1bXSxvPWRvY3VtZW50LmJvZHksbj1zLnNjcm9sbEhlaWdodDtkb3t2YXIgcj16KGUsITEpO2lmKHIpcmV0dXJuIEgodCxyKTtpZih0LnB1c2goZSksbj09PWUuc2Nyb2xsSGVpZ2h0KXt2YXIgYT1YKHMpJiZYKG8pfHxZKHMpO2lmKGkmJk8ocyl8fCFpJiZhKXJldHVybiBIKHQsVigpKX1lbHNlIGlmKE8oZSkmJlkoZSkpcmV0dXJuIEgodCxlKX13aGlsZShlPWUucGFyZW50RWxlbWVudCl9ZnVuY3Rpb24gTyhlKXtyZXR1cm4gZS5jbGllbnRIZWlnaHQrMTA8ZS5zY3JvbGxIZWlnaHR9ZnVuY3Rpb24gWChlKXtyZXR1cm4iaGlkZGVuIiE9PWdldENvbXB1dGVkU3R5bGUoZSwiIikuZ2V0UHJvcGVydHlWYWx1ZSgib3ZlcmZsb3cteSIpfWZ1bmN0aW9uIFkoZSl7dmFyIHQ9Z2V0Q29tcHV0ZWRTdHlsZShlLCIiKS5nZXRQcm9wZXJ0eVZhbHVlKCJvdmVyZmxvdy15Iik7cmV0dXJuInNjcm9sbCI9PT10fHwiYXV0byI9PT10fWZ1bmN0aW9uIEEoZSx0LG8pe3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsdCxvfHwhMSl9ZnVuY3Rpb24gTihlLHQsbyl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0LG98fCExKX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIGUmJihlLm5vZGVOYW1lfHwiIikudG9Mb3dlckNhc2UoKT09PXQudG9Mb3dlckNhc2UoKX1pZih3aW5kb3cubG9jYWxTdG9yYWdlJiZsb2NhbFN0b3JhZ2UuU1NfZGVsdGFCdWZmZXIpdHJ5e2Q9bG9jYWxTdG9yYWdlLlNTX2RlbHRhQnVmZmVyLnNwbGl0KCIsIil9Y2F0Y2goZSl7fWZ1bmN0aW9uIFAoZSx0KXtyZXR1cm4gTWF0aC5mbG9vcihlL3QpPT1lL3R9ZnVuY3Rpb24gJChlKXtyZXR1cm4gUChkWzBdLGUpJiZQKGRbMV0sZSkmJlAoZFsyXSxlKX12YXIgaixSPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fGZ1bmN0aW9uKGUsdCxvKXt3aW5kb3cuc2V0VGltZW91dChlLG98fDFlMy82MCl9LHE9d2luZG93Lk11dGF0aW9uT2JzZXJ2ZXJ8fHdpbmRvdy5XZWJLaXRNdXRhdGlvbk9ic2VydmVyfHx3aW5kb3cuTW96TXV0YXRpb25PYnNlcnZlcixWPShqPWRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQsZnVuY3Rpb24oKXtpZighail7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5zdHlsZS5jc3NUZXh0PSJoZWlnaHQ6MTAwMDBweDt3aWR0aDoxcHg7Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpO3ZhciB0PWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wO2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3Asd2luZG93LnNjcm9sbEJ5KDAsMyksaj1kb2N1bWVudC5ib2R5LnNjcm9sbFRvcCE9dD9kb2N1bWVudC5ib2R5OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx3aW5kb3cuc2Nyb2xsQnkoMCwtMyksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlKX1yZXR1cm4gan0pO2Z1bmN0aW9uIEYoZSl7dmFyIHQsbztyZXR1cm4oZSo9YS5wdWxzZVNjYWxlKTwxP3Q9ZS0oMS1NYXRoLmV4cCgtZSkpOihlLT0xLHQ9KG89TWF0aC5leHAoLTEpKSsoMS1NYXRoLmV4cCgtZSkpKigxLW8pKSx0KmEucHVsc2VOb3JtYWxpemV9ZnVuY3Rpb24gSShlKXtyZXR1cm4gZT49MT8xOmU8PTA/MDooMT09YS5wdWxzZU5vcm1hbGl6ZSYmKGEucHVsc2VOb3JtYWxpemUvPUYoMSkpLEYoZSkpfXZhciBfPXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LFc9L0VkZ2UvLnRlc3QoXyksVT0vY2hyb21lL2kudGVzdChfKSYmIVcsRz0vc2FmYXJpL2kudGVzdChfKSYmIVcsSj0vbW9iaWxlL2kudGVzdChfKSxRPS9XaW5kb3dzIE5UIDYuMS9pLnRlc3QoXykmJi9ydjoxMS9pLnRlc3QoXyksWj1HJiYoL1ZlcnNpb25cLzgvaS50ZXN0KF8pfHwvVmVyc2lvblwvOS9pLnRlc3QoXykpLGVlPShVfHxHfHxRKSYmIUosdGU9ITE7dHJ5e3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe3RlPSEwfX0pKX1jYXRjaChlKXt9dmFyIG9lPSEhdGUmJntwYXNzaXZlOiExfSxuZT0ib253aGVlbCJpbiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKT8id2hlZWwiOiJtb3VzZXdoZWVsIjtmdW5jdGlvbiByZShlKXtmb3IodmFyIHQgaW4gZSlyLmhhc093blByb3BlcnR5KHQpJiYoYVt0XT1lW3RdKX1uZSYmZWUmJihBKG5lLGcsb2UpLEEoIm1vdXNlZG93biIseCksQSgibG9hZCIsdykpLHJlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0JiZ0LmRpc2Nvbm5lY3QoKSxOKG5lLGcpLE4oIm1vdXNlZG93biIseCksTigia2V5ZG93biIsUyksTigicmVzaXplIixvKSxOKCJsb2FkIix3KX0sd2luZG93LlNtb290aFNjcm9sbE9wdGlvbnMmJnJlKHdpbmRvdy5TbW9vdGhTY3JvbGxPcHRpb25zKSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShmdW5jdGlvbigpe3JldHVybiByZX0pOiJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1yZTp3aW5kb3cuU21vb3RoU2Nyb2xsPXJlfSgpOwoKLyoKTGl0aG8gY3VzdG9tIHBhcmFsbGF4CiovCiFmdW5jdGlvbihuKXt2YXIgdD1uKHdpbmRvdyksbz10LmhlaWdodCgpO3QucmVzaXplKGZ1bmN0aW9uKCl7bz10LmhlaWdodCgpfSksbi5mbi5wYXJhbGxheD1mdW5jdGlvbihpLGUsbCl7dmFyIHIsdT1uKHRoaXMpO2Z1bmN0aW9uIGMoKXt2YXIgbD10LnNjcm9sbFRvcCgpO3UuZWFjaChmdW5jdGlvbigpe3ZhciB0PW4odGhpcyksYz10Lm9mZnNldCgpLnRvcDtjK3IodCk8bHx8Yz5sK298fChuKHdpbmRvdykud2lkdGgoKT4xMDUwP3UuY3NzKCJiYWNrZ3JvdW5kUG9zaXRpb24iLGkrIiAiKyhjLWwpKmUrInB4Iik6dS5jc3MoImJhY2tncm91bmRQb3NpdGlvbiIsIiIpKX0pfXUuZWFjaChmdW5jdGlvbihuKXt1Lm9mZnNldCgpLnRvcH0pLChhcmd1bWVudHMubGVuZ3RoPDF8fG51bGw9PT1pKSYmKGk9IjUwJSIpLChhcmd1bWVudHMubGVuZ3RoPDJ8fG51bGw9PT1lKSYmKGU9LjUpLChhcmd1bWVudHMubGVuZ3RoPDN8fG51bGw9PT1sKSYmKGw9ITApLChhcmd1bWVudHMubGVuZ3RoPDR8fG51bGw9PT1wb3MpJiYocG9zPTApLHI9bD9mdW5jdGlvbihuKXtyZXR1cm4gbi5vdXRlckhlaWdodCghMCl9OmZ1bmN0aW9uKG4pe3JldHVybiBuLmhlaWdodCgpfSx0LmJpbmQoInNjcm9sbCIsYykucmVzaXplKGMpLGMoKX0sbi5mbi5wYXJhbGxheEltZz1mdW5jdGlvbihpLGUpe3ZhciBsLHI9bih0aGlzKTtmdW5jdGlvbiB1KCl7dmFyIGU9dC5zY3JvbGxUb3AoKTtyLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1uKHRoaXMpLHU9dC5vZmZzZXQoKS50b3A7dStsKHQpPGV8fHU+ZStvfHwobih3aW5kb3cpLndpZHRoKCk+MTA1MD9yLmNzcygiYm90dG9tIixpLzEwKi0odS1lKSsicHgiKTpyLmNzcygiYm90dG9tIiwiIikpfSl9KGFyZ3VtZW50cy5sZW5ndGg8MXx8bnVsbD09PWkpJiYoaT0xKSwoYXJndW1lbnRzLmxlbmd0aDwyfHxudWxsPT09ZSkmJihlPSEwKSxsPWU/ZnVuY3Rpb24obil7cmV0dXJuIG4ub3V0ZXJIZWlnaHQoITApfTpmdW5jdGlvbihuKXtyZXR1cm4gbi5oZWlnaHQoKX0sdC5iaW5kKCJzY3JvbGwiLHUpLnJlc2l6ZSh1KSx1KCl9fShqUXVlcnkpOw=="}},"time_used":118,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":89,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/EjB5qFW0bJ8","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.258Z","timestamp":1785129949258,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /embed/EjB5qFW0bJ8 HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://digitaltradeinvest.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/html; charset=utf-8\r\nx-content-type-options: nosniff\r\ncontent-security-policy: script-src 'unsafe-eval' 'self' 'unsafe-inline' https://www.google.com https://apis.google.com https://ssl.gstatic.com https://www.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://*.youtube.com https://*.google.com https://*.gstatic.com https://youtube.com https://www.youtube.com https://google.com https://*.doubleclick.net https://*.googleapis.com https://www.googleadservices.com https://tpc.googlesyndication.com https://www.youtubekids.com https://www.youtube-nocookie.com https://www.youtubeeducation.com https://www-onepick-opensocial.googleusercontent.com;report-uri https://csp.withgoogle.com/csp/youtube_main/allowlist, base-uri 'self';object-src 'none';script-src 'nonce-6vean9blLV07giWtuUwAkA' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_main/strict, require-trusted-types-for 'script'\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 05:25:49 GMT\r\np3p: CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\"\r\nstrict-transport-security: max-age=31536000\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube_main\"\r\ncross-origin-resource-policy: cross-origin\r\nreport-to: {\"group\":\"youtube_main\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube_main\"}]},{\"group\":\"youtube_main-connectionallowlist\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/youtube_main/connectionallowlist\"}]}\r\ncross-origin-embedder-policy-report-only: require-corp; report-to=\"youtube_main\"\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; expires=Sat, 23-Jan-2027 05:25:49 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\nYSC=9IZeTGg8FPA; Domain=.youtube.com; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=none; Partitioned\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=jzmDsNX1OjM; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=none\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":133528,"size_decoded":58128,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (52090)","md5":"dafb956c9655c723318ffd77f5d60449","sha1":"05c5525590bc806ec538dc699b1e737775808fb2","sha256":"ca278dee0674ede635cbe2ce8e3799da16c02223376006b1b6ef7b10d49e1ec9","sha512":"d9ed10857c7cdb6d16682e5504d6abcf376483b213350c9ee0d555430019adb599d63f5e2174fbaeef0aa211e90416926d2874d7faaff1999a7e492f6464ac56","ssdeep":"1536:yKQpC/MUMeYVMIbBEzhIeXYo43UEwg+Rm/YWei3bjkvddnkhiofN5i:uA/tYGIKY0Ewg+RmAHi3bjkvddEM","tlshash":"69d31b24086868b5c9a39547eef9ff3e9cf80239078595aebcbb935c05dc6520e9f413","first_seen":"2026-07-27T05:26:45.208011Z","last_seen":"2026-07-27T05:26:45.208011Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIiBkYXRhLWNhc3QtYXBpLWVuYWJsZWQ9InRydWUiPjxoZWFkPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+PG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4Ij48c2NyaXB0IG5vbmNlPSI2dmVhbjlibExWMDdnaVd0dVV3QWtBIj5pZiAoJ3VuZGVmaW5lZCcgPT0gdHlwZW9mIFN5bWJvbCB8fCAndW5kZWZpbmVkJyA9PSB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yKSB7ZGVsZXRlIEFycmF5LnByb3RvdHlwZS5lbnRyaWVzO308L3NjcmlwdD48c3R5bGUgbmFtZT0id3d3LXJvYm90byIgbm9uY2U9IllnLUp4TTFQYURpcXhQWmFqMEJOcFEiPkBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0dVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzA0NjAtMDUyRixVKzFDODAtMUM4QSxVKzIwQjQsVSsyREUwLTJERkYsVStBNjQwLUE2OUYsVStGRTJFLUZFMkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM2lVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAzMDEsVSswNDAwLTA0NUYsVSswNDkwLTA0OTEsVSswNEIwLTA0QjEsVSsyMTE2O31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNDVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSsxRjAwLTFGRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hMy1VQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAzNzAtMDM3NyxVKzAzN0EtMDM3RixVKzAzODQtMDM4QSxVKzAzOEMsVSswMzhFLTAzQTEsVSswM0EzLTAzRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hd0NVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAzMDItMDMwMyxVKzAzMDUsVSswMzA3LTAzMDgsVSswMzEwLFUrMDMxMixVKzAzMTUsVSswMzFBLFUrMDMyNi0wMzI3LFUrMDMyQyxVKzAzMkYtMDMzMCxVKzAzMzItMDMzMyxVKzAzMzgsVSswMzNBLFUrMDM0NixVKzAzNEQsVSswMzkxLTAzQTEsVSswM0EzLTAzQTksVSswM0IxLTAzQzksVSswM0QxLFUrMDNENS0wM0Q2LFUrMDNGMC0wM0YxLFUrMDNGNC0wM0Y1LFUrMjAxNi0yMDE3LFUrMjAzNC0yMDM4LFUrMjAzQyxVKzIwNDAsVSsyMDQzLFUrMjA0NyxVKzIwNTAsVSsyMDU3LFUrMjA1RixVKzIwNzAtMjA3MSxVKzIwNzQtMjA4RSxVKzIwOTAtMjA5QyxVKzIwRDAtMjBEQyxVKzIwRTEsVSsyMEU1LTIwRUYsVSsyMTAwLTIxMTIsVSsyMTE0LTIxMTUsVSsyMTE3LTIxMjEsVSsyMTIzLTIxNEYsVSsyMTkwLFUrMjE5MixVKzIxOTQtMjFBRSxVKzIxQjAtMjFFNSxVKzIxRjEtMjFGMixVKzIxRjQtMjIxMSxVKzIyMTMtMjIxNCxVKzIyMTYtMjJGRixVKzIzMDgtMjMwQixVKzIzMTAsVSsyMzE5LFUrMjMxQy0yMzIxLFUrMjMzNi0yMzdBLFUrMjM3QyxVKzIzOTUsVSsyMzlCLTIzQjcsVSsyM0QwLFUrMjNEQy0yM0UxLFUrMjQ3NC0yNDc1LFUrMjVBRixVKzI1QjMsVSsyNUI3LFUrMjVCRCxVKzI1QzEsVSsyNUNBLFUrMjVDQyxVKzI1RkIsVSsyNjZELTI2NkYsVSsyN0MwLTI3RkYsVSsyOTAwLTJBRkYsVSsyQjBFLTJCMTEsVSsyQjMwLTJCNEMsVSsyQkZFLFUrMzAzMCxVK0ZGNUIsVStGRjVELFUrMUQ0MDAtMUQ3RkYsVSsxRUUwMC0xRUVGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF4S1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDAwMS0wMDBDLFUrMDAwRS0wMDFGLFUrMDA3Ri0wMDlGLFUrMjBERC0yMEUwLFUrMjBFMi0yMEU0LFUrMjE1MC0yMThGLFUrMjE5MCxVKzIxOTIsVSsyMTk0LTIxOTksVSsyMUFGLFUrMjFFNi0yMUYwLFUrMjFGMyxVKzIyMTgtMjIxOSxVKzIyOTksVSsyMkM0LTIyQzYsVSsyMzAwLTI0M0YsVSsyNDQwLTI0NEEsVSsyNDYwLTI0RkYsVSsyNUEwLTI3QkYsVSsyODAwLTI4RkYsVSsyOTIxLTI5MjIsVSsyOTgxLFUrMjlCRixVKzI5RUIsVSsyQjAwLTJCRkYsVSs0REMwLTRERkYsVStGRkY5LUZGRkIsVSsxMDE0MC0xMDE4RSxVKzEwMTkwLTEwMTlDLFUrMTAxQTAsVSsxMDFEMC0xMDFGRCxVKzEwMkUwLTEwMkZCLFUrMTBFNjAtMTBFN0UsVSsxRDJDMC0xRDJEMyxVKzFEMkUwLTFEMzdGLFUrMUYwMDAtMUYwRkYsVSsxRjEwMC0xRjFBRCxVKzFGMUU2LTFGMUZGLFUrMUYzMEQtMUYzMEYsVSsxRjMxNSxVKzFGMzFDLFUrMUYzMUUsVSsxRjMyMC0xRjMyQyxVKzFGMzM2LFUrMUYzNzgsVSsxRjM3RCxVKzFGMzgyLFUrMUYzOTMtMUYzOUYsVSsxRjNBNy0xRjNBOCxVKzFGM0FDLTFGM0FGLFUrMUYzQzIsVSsxRjNDNC0xRjNDNixVKzFGM0NBLTFGM0NFLFUrMUYzRDQtMUYzRTAsVSsxRjNFRCxVKzFGM0YxLTFGM0YzLFUrMUYzRjUtMUYzRjcsVSsxRjQwOCxVKzFGNDE1LFUrMUY0MUYsVSsxRjQyNixVKzFGNDNGLFUrMUY0NDEtMUY0NDIsVSsxRjQ0NCxVKzFGNDQ2LTFGNDQ5LFUrMUY0NEMtMUY0NEUsVSsxRjQ1MyxVKzFGNDZBLFUrMUY0N0QsVSsxRjRBMyxVKzFGNEIwLFUrMUY0QjMsVSsxRjRCOSxVKzFGNEJCLFUrMUY0QkYsVSsxRjRDOC0xRjRDQixVKzFGNEQ2LFUrMUY0REEsVSsxRjRERixVKzFGNEUzLTFGNEU2LFUrMUY0RUEtMUY0RUQsVSsxRjRGNyxVKzFGNEY5LTFGNEZCLFUrMUY0RkQtMUY0RkUsVSsxRjUwMyxVKzFGNTA3LTFGNTBCLFUrMUY1MEQsVSsxRjUxMi0xRjUxMyxVKzFGNTNFLTFGNTRBLFUrMUY1NEYtMUY1RkEsVSsxRjYxMCxVKzFGNjUwLTFGNjdGLFUrMUY2ODcsVSsxRjY4RCxVKzFGNjkxLFUrMUY2OTQsVSsxRjY5OCxVKzFGNkFELFUrMUY2QjIsVSsxRjZCOS0xRjZCQSxVKzFGNkJDLFUrMUY2QzYtMUY2Q0YsVSsxRjZEMy0xRjZENyxVKzFGNkUwLTFGNkVBLFUrMUY2RjAtMUY2RjMsVSsxRjZGNy0xRjZGQyxVKzFGNzAwLTFGN0ZGLFUrMUY4MDAtMUY4MEIsVSsxRjgxMC0xRjg0NyxVKzFGODUwLTFGODU5LFUrMUY4NjAtMUY4ODcsVSsxRjg5MC0xRjhBRCxVKzFGOEIwLTFGOEJCLFUrMUY4QzAtMUY4QzEsVSsxRjkwMC0xRjkwQixVKzFGOTNCLFUrMUY5NDYsVSsxRjk4NCxVKzFGOTk2LFUrMUY5RTksVSsxRkEwMC0xRkE2RixVKzFGQTcwLTFGQTdDLFUrMUZBODAtMUZBODksVSsxRkE4Ri0xRkFDNixVKzFGQUNFLTFGQURDLFUrMUZBREYtMUZBRTksVSsxRkFGMC0xRkFGOCxVKzFGQjAwLTFGQkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNPVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAyLTAxMDMsVSswMTEwLTAxMTEsVSswMTI4LTAxMjksVSswMTY4LTAxNjksVSswMUEwLTAxQTEsVSswMUFGLTAxQjAsVSswMzAwLTAzMDEsVSswMzAzLTAzMDQsVSswMzA4LTAzMDksVSswMzIzLFUrMDMyOSxVKzFFQTAtMUVGOSxVKzIwQUI7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0tVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDAtMDJCQSxVKzAyQkQtMDJDNSxVKzAyQzctMDJDQyxVKzAyQ0UtMDJENyxVKzAyREQtMDJGRixVKzAzMDQsVSswMzA4LFUrMDMyOSxVKzFEMDAtMURCRixVKzFFMDAtMUU5RixVKzFFRjItMUVGRixVKzIwMjAsVSsyMEEwLTIwQUIsVSsyMEFELTIwQzAsVSsyMTEzLFUrMkM2MC0yQzdGLFUrQTcyMC1BN0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTN5VUJBLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDAwMC0wMEZGLFUrMDEzMSxVKzAxNTItMDE1MyxVKzAyQkItMDJCQyxVKzAyQzYsVSswMkRBLFUrMDJEQyxVKzAzMDQsVSswMzA4LFUrMDMyOSxVKzIwMDAtMjA2RixVKzIwQUMsVSsyMTIyLFUrMjE5MSxVKzIxOTMsVSsyMjEyLFUrMjIxNSxVK0ZFRkYsVStGRkZEO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAxLFUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzNzcsVSswMzdBLTAzN0YsVSswMzg0LTAzOEEsVSswMzhDLFUrMDM4RS0wM0ExLFUrMDNBMy0wM0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAyLTAzMDMsVSswMzA1LFUrMDMwNy0wMzA4LFUrMDMxMCxVKzAzMTIsVSswMzE1LFUrMDMxQSxVKzAzMjYtMDMyNyxVKzAzMkMsVSswMzJGLTAzMzAsVSswMzMyLTAzMzMsVSswMzM4LFUrMDMzQSxVKzAzNDYsVSswMzRELFUrMDM5MS0wM0ExLFUrMDNBMy0wM0E5LFUrMDNCMS0wM0M5LFUrMDNEMSxVKzAzRDUtMDNENixVKzAzRjAtMDNGMSxVKzAzRjQtMDNGNSxVKzIwMTYtMjAxNyxVKzIwMzQtMjAzOCxVKzIwM0MsVSsyMDQwLFUrMjA0MyxVKzIwNDcsVSsyMDUwLFUrMjA1NyxVKzIwNUYsVSsyMDcwLTIwNzEsVSsyMDc0LTIwOEUsVSsyMDkwLTIwOUMsVSsyMEQwLTIwREMsVSsyMEUxLFUrMjBFNS0yMEVGLFUrMjEwMC0yMTEyLFUrMjExNC0yMTE1LFUrMjExNy0yMTIxLFUrMjEyMy0yMTRGLFUrMjE5MCxVKzIxOTIsVSsyMTk0LTIxQUUsVSsyMUIwLTIxRTUsVSsyMUYxLTIxRjIsVSsyMUY0LTIyMTEsVSsyMjEzLTIyMTQsVSsyMjE2LTIyRkYsVSsyMzA4LTIzMEIsVSsyMzEwLFUrMjMxOSxVKzIzMUMtMjMyMSxVKzIzMzYtMjM3QSxVKzIzN0MsVSsyMzk1LFUrMjM5Qi0yM0I3LFUrMjNEMCxVKzIzREMtMjNFMSxVKzI0NzQtMjQ3NSxVKzI1QUYsVSsyNUIzLFUrMjVCNyxVKzI1QkQsVSsyNUMxLFUrMjVDQSxVKzI1Q0MsVSsyNUZCLFUrMjY2RC0yNjZGLFUrMjdDMC0yN0ZGLFUrMjkwMC0yQUZGLFUrMkIwRS0yQjExLFUrMkIzMC0yQjRDLFUrMkJGRSxVKzMwMzAsVStGRjVCLFUrRkY1RCxVKzFENDAwLTFEN0ZGLFUrMUVFMDAtMUVFRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDEtMDAwQyxVKzAwMEUtMDAxRixVKzAwN0YtMDA5RixVKzIwREQtMjBFMCxVKzIwRTItMjBFNCxVKzIxNTAtMjE4RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMTk5LFUrMjFBRixVKzIxRTYtMjFGMCxVKzIxRjMsVSsyMjE4LTIyMTksVSsyMjk5LFUrMjJDNC0yMkM2LFUrMjMwMC0yNDNGLFUrMjQ0MC0yNDRBLFUrMjQ2MC0yNEZGLFUrMjVBMC0yN0JGLFUrMjgwMC0yOEZGLFUrMjkyMS0yOTIyLFUrMjk4MSxVKzI5QkYsVSsyOUVCLFUrMkIwMC0yQkZGLFUrNERDMC00REZGLFUrRkZGOS1GRkZCLFUrMTAxNDAtMTAxOEUsVSsxMDE5MC0xMDE5QyxVKzEwMUEwLFUrMTAxRDAtMTAxRkQsVSsxMDJFMC0xMDJGQixVKzEwRTYwLTEwRTdFLFUrMUQyQzAtMUQyRDMsVSsxRDJFMC0xRDM3RixVKzFGMDAwLTFGMEZGLFUrMUYxMDAtMUYxQUQsVSsxRjFFNi0xRjFGRixVKzFGMzBELTFGMzBGLFUrMUYzMTUsVSsxRjMxQyxVKzFGMzFFLFUrMUYzMjAtMUYzMkMsVSsxRjMzNixVKzFGMzc4LFUrMUYzN0QsVSsxRjM4MixVKzFGMzkzLTFGMzlGLFUrMUYzQTctMUYzQTgsVSsxRjNBQy0xRjNBRixVKzFGM0MyLFUrMUYzQzQtMUYzQzYsVSsxRjNDQS0xRjNDRSxVKzFGM0Q0LTFGM0UwLFUrMUYzRUQsVSsxRjNGMS0xRjNGMyxVKzFGM0Y1LTFGM0Y3LFUrMUY0MDgsVSsxRjQxNSxVKzFGNDFGLFUrMUY0MjYsVSsxRjQzRixVKzFGNDQxLTFGNDQyLFUrMUY0NDQsVSsxRjQ0Ni0xRjQ0OSxVKzFGNDRDLTFGNDRFLFUrMUY0NTMsVSsxRjQ2QSxVKzFGNDdELFUrMUY0QTMsVSsxRjRCMCxVKzFGNEIzLFUrMUY0QjksVSsxRjRCQixVKzFGNEJGLFUrMUY0QzgtMUY0Q0IsVSsxRjRENixVKzFGNERBLFUrMUY0REYsVSsxRjRFMy0xRjRFNixVKzFGNEVBLTFGNEVELFUrMUY0RjcsVSsxRjRGOS0xRjRGQixVKzFGNEZELTFGNEZFLFUrMUY1MDMsVSsxRjUwNy0xRjUwQixVKzFGNTBELFUrMUY1MTItMUY1MTMsVSsxRjUzRS0xRjU0QSxVKzFGNTRGLTFGNUZBLFUrMUY2MTAsVSsxRjY1MC0xRjY3RixVKzFGNjg3LFUrMUY2OEQsVSsxRjY5MSxVKzFGNjk0LFUrMUY2OTgsVSsxRjZBRCxVKzFGNkIyLFUrMUY2QjktMUY2QkEsVSsxRjZCQyxVKzFGNkM2LTFGNkNGLFUrMUY2RDMtMUY2RDcsVSsxRjZFMC0xRjZFQSxVKzFGNkYwLTFGNkYzLFUrMUY2RjctMUY2RkMsVSsxRjcwMC0xRjdGRixVKzFGODAwLTFGODBCLFUrMUY4MTAtMUY4NDcsVSsxRjg1MC0xRjg1OSxVKzFGODYwLTFGODg3LFUrMUY4OTAtMUY4QUQsVSsxRjhCMC0xRjhCQixVKzFGOEMwLTFGOEMxLFUrMUY5MDAtMUY5MEIsVSsxRjkzQixVKzFGOTQ2LFUrMUY5ODQsVSsxRjk5NixVKzFGOUU5LFUrMUZBMDAtMUZBNkYsVSsxRkE3MC0xRkE3QyxVKzFGQTgwLTFGQTg5LFUrMUZBOEYtMUZBQzYsVSsxRkFDRS0xRkFEQyxVKzFGQURGLTFGQUU5LFUrMUZBRjAtMUZBRjgsVSsxRkIwMC0xRkJGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMi0wMTAzLFUrMDExMC0wMTExLFUrMDEyOC0wMTI5LFUrMDE2OC0wMTY5LFUrMDFBMC0wMUExLFUrMDFBRi0wMUIwLFUrMDMwMC0wMzAxLFUrMDMwMy0wMzA0LFUrMDMwOC0wMzA5LFUrMDMyMyxVKzAzMjksVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyQkEsVSswMkJELTAyQzUsVSswMkM3LTAyQ0MsVSswMkNFLTAyRDcsVSswMkRELTAyRkYsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsyMDAwLTIwNkYsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRDt9PC9zdHlsZT48c2NyaXB0IG5hbWU9Ind3dy1yb2JvdG8iIG5vbmNlPSI2dmVhbjlibExWMDdnaVd0dVV3QWtBIj5pZiAoZG9jdW1lbnQuZm9udHMgJiYgZG9jdW1lbnQuZm9udHMubG9hZCkge2RvY3VtZW50LmZvbnRzLmxvYWQoIjQwMCAxMHB0IFJvYm90byIsICJFIik7IGRvY3VtZW50LmZvbnRzLmxvYWQoIjUwMCAxMHB0IFJvYm90byIsICJFIik7fTwvc2NyaXB0PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvcGxheWVyLzdhNzk2OWMyL3d3dy1wbGF5ZXIuY3NzIiBuYW1lPSJ3d3ctcGxheWVyIiBub25jZT0iWWctSnhNMVBhRGlxeFBaYWowQk5wUSI+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvcy9fL3l0ZW1iZWRzL18vc3Mvaz15dGVtYmVkcy5iYXNlLk54bml1dVpFVFp3LkwuRjQuTy9hbT1BQUFBZ0EvZD0xL2JyPTEvcnM9QUdLTXl3R3g0dHhoRkpoY3J1dEtZc2ZQbVM0bUZjNm9KUS9tPXJvb3QsYmFzZSIgbmFtZT0iZW1iZWQtdWkiIG5vbmNlPSJZZy1KeE0xUGFEaXF4UFphajBCTnBRIj48c3R5bGUgbm9uY2U9IllnLUp4TTFQYURpcXhQWmFqMEJOcFEiPmh0bWwge292ZXJmbG93OiBoaWRkZW47fWJvZHkge2ZvbnQ6IDEycHggUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgY29sb3I6ICNmZmY7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwO30jcGxheWVyIHt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlO31oMSB7dGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogI2ZmZjt9aDMge21hcmdpbi10b3A6IDZweDsgbWFyZ2luLWJvdHRvbTogM3B4O30ucGxheWVyLXVuYXZhaWxhYmxlIHtwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgcGFkZGluZzogMjVweDsgZm9udC1zaXplOiAxM3B4OyBiYWNrZ3JvdW5kOiB1cmwoL2ltZy9tZWg3LnBuZykgNTAlIDY1JSBuby1yZXBlYXQ7fS5wbGF5ZXItdW5hdmFpbGFibGUgLm1lc3NhZ2Uge3RleHQtYWxpZ246IGxlZnQ7IG1hcmdpbjogMCAtNXB4IDE1cHg7IHBhZGRpbmc6IDAgNXB4IDE0cHg7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODg4OyBmb250LXNpemU6IDE5cHg7IGZvbnQtd2VpZ2h0OiBub3JtYWw7fS5wbGF5ZXItdW5hdmFpbGFibGUgYSB7Y29sb3I6ICMxNjdhYzY7IHRleHQtZGVjb3JhdGlvbjogbm9uZTt9PC9zdHlsZT48c2NyaXB0IG5vbmNlPSI2dmVhbjlibExWMDdnaVd0dVV3QWtBIj52YXIgeXRjc2k9e2d0OmZ1bmN0aW9uKG4pe249KG58fCIiKSsiZGF0YV8iO3JldHVybiB5dGNzaVtuXXx8KHl0Y3NpW25dPXt0aWNrOnt9LGluZm86e30sZ2VsOntwcmVMb2dnZWRHZWxJbmZvczpbXX19KX0sbm93OndpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZyYmd2luZG93LnBlcmZvcm1hbmNlLm5vdyYmd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQ/ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LnBlcmZvcm1hbmNlLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQrd2luZG93LnBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSx0aWNrOmZ1bmN0aW9uKGwsdCxuKXt2YXIgdGlja3M9eXRjc2kuZ3QobikudGljazt2YXIgdj10fHx5dGNzaS5ub3coKTtpZih0aWNrc1tsXSl7dGlja3NbIl8iK2xdPXRpY2tzWyJfIitsXXx8W3RpY2tzW2xdXTt0aWNrc1siXyIrbF0ucHVzaCh2KX10aWNrc1tsXT0Kdn0saW5mbzpmdW5jdGlvbihrLHYsbil7eXRjc2kuZ3QobikuaW5mb1trXT12fSxpbmZvR2VsOmZ1bmN0aW9uKHAsbil7eXRjc2kuZ3QobikuZ2VsLnByZUxvZ2dlZEdlbEluZm9zLnB1c2gocCl9LHNldFN0YXJ0OmZ1bmN0aW9uKHQsbil7eXRjc2kudGljaygiX3N0YXJ0Iix0LG4pfX07CihmdW5jdGlvbih3LGQpe2Z1bmN0aW9uIGlzR2Vja28oKXtpZighdy5uYXZpZ2F0b3IpcmV0dXJuIGZhbHNlO3RyeXtpZih3Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhJiZ3Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kcyYmdy5uYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMubGVuZ3RoKXt2YXIgYnJhbmRzPXcubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzO3ZhciBpPTA7Zm9yKDtpPGJyYW5kcy5sZW5ndGg7aSsrKWlmKGJyYW5kc1tpXSYmYnJhbmRzW2ldLmJyYW5kPT09IkZpcmVmb3giKXJldHVybiB0cnVlO3JldHVybiBmYWxzZX19Y2F0Y2goZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGU7fSl9aWYoIXcubmF2aWdhdG9yLnVzZXJBZ2VudClyZXR1cm4gZmFsc2U7dmFyIHVhPXcubmF2aWdhdG9yLnVzZXJBZ2VudDtyZXR1cm4gdWEuaW5kZXhPZigiR2Vja28iKT4wJiZ1YS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpPDAmJnVhLmluZGV4T2YoIkVkZ2UiKTwKMCYmdWEuaW5kZXhPZigiVHJpZGVudCIpPDAmJnVhLmluZGV4T2YoIk1TSUUiKTwwfXl0Y3NpLnNldFN0YXJ0KHcucGVyZm9ybWFuY2U/dy5wZXJmb3JtYW5jZS50aW1pbmcucmVzcG9uc2VTdGFydDpudWxsKTt2YXIgaXNQcmVyZW5kZXI9KGQudmlzaWJpbGl0eVN0YXRlfHxkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSk9PSJwcmVyZW5kZXIiO3ZhciB2TmFtZT0hZC52aXNpYmlsaXR5U3RhdGUmJmQud2Via2l0VmlzaWJpbGl0eVN0YXRlPyJ3ZWJraXR2aXNpYmlsaXR5Y2hhbmdlIjoidmlzaWJpbGl0eWNoYW5nZSI7aWYoaXNQcmVyZW5kZXIpe3ZhciBzdGFydFRpY2s9ZnVuY3Rpb24oKXt5dGNzaS5zZXRTdGFydCgpO2QucmVtb3ZlRXZlbnRMaXN0ZW5lcih2TmFtZSxzdGFydFRpY2spfTtkLmFkZEV2ZW50TGlzdGVuZXIodk5hbWUsc3RhcnRUaWNrLGZhbHNlKX1pZihkLmFkZEV2ZW50TGlzdGVuZXIpZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLGZ1bmN0aW9uKCl7eXRjc2kudGljaygidmMiKX0sCmZhbHNlKTtpZihpc0dlY2tvKCkpe3ZhciBpc0hpZGRlbj0oZC52aXNpYmlsaXR5U3RhdGV8fGQud2Via2l0VmlzaWJpbGl0eVN0YXRlKT09ImhpZGRlbiI7aWYoaXNIaWRkZW4peXRjc2kudGljaygidmMiKX12YXIgc2x0PWZ1bmN0aW9uKGVsLHQpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgbj15dGNzaS5ub3coKTtlbC5sb2FkVGltZT1uO2lmKGVsLnNsdCllbC5zbHQoKX0sdCl9O3cuX195dFJJTD1mdW5jdGlvbihlbCl7aWYoIWVsLmdldEF0dHJpYnV0ZSgiZGF0YS10aHVtYiIpKWlmKHcucmVxdWVzdEFuaW1hdGlvbkZyYW1lKXcucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7c2x0KGVsLDApfSk7ZWxzZSBzbHQoZWwsMTYpfX0pKHdpbmRvdyxkb2N1bWVudCk7Cjwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjZ2ZWFuOWJsTFYwN2dpV3R1VXdBa0EiPnZhciB5dGNmZz17ZDpmdW5jdGlvbigpe3JldHVybiB3aW5kb3cueXQmJnl0LmNvbmZpZ198fHl0Y2ZnLmRhdGFffHwoeXRjZmcuZGF0YV89e30pfSxnZXQ6ZnVuY3Rpb24oayxvKXtyZXR1cm4gayBpbiB5dGNmZy5kKCk/eXRjZmcuZCgpW2tdOm99LHNldDpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cztpZihhLmxlbmd0aD4xKXl0Y2ZnLmQoKVthWzBdXT1hWzFdO2Vsc2V7dmFyIGs7Zm9yKGsgaW4gYVswXSl5dGNmZy5kKClba109YVswXVtrXX19fTsKeXRjZmcuc2V0KHsiQ0xJRU5UX0NBTkFSWV9TVEFURSI6Im5vbmUiLCJERVZJQ0UiOiJjYnJcdTAwM2RGaXJlZm94XHUwMDI2Y2JydmVyXHUwMDNkMTM0LjBcdTAwMjZjZW5nXHUwMDNkR2Vja29cdTAwMjZjZW5ndmVyXHUwMDNkMTM0LjBcdTAwMjZjb3NcdTAwM2RXaW5kb3dzXHUwMDI2Y29zdmVyXHUwMDNkMTAuMFx1MDAyNmNwbGF0Zm9ybVx1MDAzZERFU0tUT1AiLCJFVkVOVF9JRCI6IjNldG1hdWZiSDcyQWhla1BpT3FDNlFRIiwiRVhQRVJJTUVOVF9GTEFHUyI6eyJhYl9kZXRfYXBiX2IiOnRydWUsImFiX2RldF9hcG0iOnRydWUsImFiX2RldF9lbF9oIjp0cnVlLCJhYl9ma19za19jbCI6dHJ1ZSwiYWN0aW9uX2NvbXBhbmlvbl9jZW50ZXJfYWxpZ25fZGVzY3JpcHRpb24iOnRydWUsImFsbG93X3NraXBfbmV0d29ya2xlc3MiOnRydWUsImFsd2F5c19zZW5kX2FuZF93cml0ZSI6dHJ1ZSwiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyI6dHJ1ZSwiYXR0bXVzaSI6dHJ1ZSwiYzNfZW5hYmxlX2J1dHRvbl9pbXByZXNzaW9uX2xvZ2dpbmciOnRydWUsImMzX3dhdGNoX3BhZ2VfY29tcG9uZW50Ijp0cnVlLCJjYW5jZWxfcGVuZGluZ19uYXZzIjp0cnVlLCJjbGllbnRfdWlfZW5hYmxlX211bHRpX3RyYWNrX2F1ZGlvX29uX3dlYl9lbWJlZGRlZF9wbGF5ZXIiOnRydWUsImNvbmZpZ19hZ2VfcmVwb3J0X2tpbGxzd2l0Y2giOnRydWUsImNvd19vcHRpbWl6ZV9pZG9tX2NvbXBhdCI6dHJ1ZSwiY3NpX29uX2dlbCI6dHJ1ZSwiZGVkdXBwaW5nX3NlcnZlcl92ZSI6dHJ1ZSwiZGVsaGlfbXdlYl9jb2xvcmZ1bF9zZCI6dHJ1ZSwiZGVsaGlfbXdlYl9jb2xvcmZ1bF9zZF92MiI6dHJ1ZSwiZGVwcmVjYXRlX3BhaXJfc2VydmxldF9lbmFibGVkIjp0cnVlLCJkZXNrdG9wX3NwYXJrbGVzX2xpZ2h0X2N0YV9idXR0b24iOnRydWUsImRpc2FibGVfY2hpbGRfbm9kZV9hdXRvX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJkaXNhYmxlX2xvZ190b192aXNpdG9yX2xheWVyIjp0cnVlLCJkaXNhYmxlX21pbmlfYXBwX2NvbnRhaW5lcl93ZWJfdmlld19pbnNldHMiOnRydWUsImRpc2FibGVfcGFjZl9sb2dnaW5nX2Zvcl9tZW1vcnlfbGltaXRlZF90diI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX25vbm1vYmlsZV9lbGlnaWJsZSI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX25vbm1vYmlsZV9lbmFibGVkIjp0cnVlLCJlbWJlZHNfZGVza3RvZmZfc2F2ZV91c2VyX3ZvbHVtZSI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b3BfZW5hYmxlX3ZvbHVtZV9zbGlkZXIiOnRydWUsImVtYmVkc19lbmFibGVfY2hhbm5lbF9zdWJzY3JpYmVfZGVwcmVjYXRpb24iOnRydWUsImVtYmVkc19lbmFibGVfZGVsYXlfY29udHJvbHNfaGlkZSI6dHJ1ZSwiZW1iZWRzX2VuYWJsZV9laWRfZW5mb3JjZW1lbnRfZm9yX3lvdXR1YmUiOnRydWUsImVtYmVkc19lbmFibGVfZW1jM2RzX3BmcCI6dHJ1ZSwiZW1iZWRzX211dGVkX2F1dG9wbGF5X3NvdW5kX2ZpeCI6dHJ1ZSwiZW1iZWRzX3NlcnZlX2VzNl9jbGllbnQiOnRydWUsImVtYmVkc193ZWJfdXBkYXRlZF9zaG9ydHNfZGVmaW5pdGlvbl9maXgiOnRydWUsImVuYWJsZV9hMTF5X2ZvY3VzX2ZpeF9mb3JfbWFjX3BhbmVsX29uX2Rlc2t0b3AiOnRydWUsImVuYWJsZV9hY2Nlc3NfY29kZV9zZXJ2aWNlX3JwYyI6dHJ1ZSwiZW5hYmxlX2FjdGl2ZV92aWV3X2Rpc3BsYXlfYWRfcmVuZGVyZXJfd2ViX2hvbWUiOnRydWUsImVuYWJsZV9haV9zZWFyY2hfaW5uZXJ0dWJlX20wX2ZpeGVzIjp0cnVlLCJlbmFibGVfYW5kcm9pZF93ZWJfdmlld190b3BfaW5zZXRzX2J1Z2ZpeCI6dHJ1ZSwiZW5hYmxlX2F0dGVudGlvbl9sb2dnaW5nX21lYXN1cmVfb25fc2hvd24iOnRydWUsImVuYWJsZV9hdV91MTZfdmVyaWZ5X2FnZV9wYWdlIjp0cnVlLCJlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVjayI6dHJ1ZSwiZW5hYmxlX2NsaWVudF9zbGlfbG9nZ2luZyI6dHJ1ZSwiZW5hYmxlX2NsaWVudF9zdHJlYW16X3dlYiI6dHJ1ZSwiZW5hYmxlX2NsaWVudF92ZV9zcGVjIjp0cnVlLCJlbmFibGVfY2xvdWRfc2F2ZV9lcnJvcl9wb3B1cF9hZnRlcl9yZXRyeSI6dHJ1ZSwiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiI6dHJ1ZSwiZW5hYmxlX2RhaV9zZGZfaDVfcHJlcm9sbCI6dHJ1ZSwiZW5hYmxlX2RhdGFzeW5jX2lkX2hlYWRlcl9pbl93ZWJfdnNzX3BpbmdzIjp0cnVlLCJlbmFibGVfZGVmYXVsdF9tb25vX2N0YV9taWdyYXRpb25fd2ViX2NsaWVudCI6dHJ1ZSwiZW5hYmxlX2RvY2tlZF9jaGF0X21lc3NhZ2VzIjp0cnVlLCJlbmFibGVfZHJvcF9zaGFkb3dfZXhwZXJpbWVudCI6dHJ1ZSwiZW5hYmxlX2VtYmVkc19uZXdfY2FwdGlvbl9sYW5ndWFnZV9waWNrZXIiOnRydWUsImVuYWJsZV9lbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2g1Ijp0cnVlLCJlbmFibGVfZW50aXR5X3N0b3JlX2Zyb21fZGVwZW5kZW5jeV9pbmplY3Rpb24iOnRydWUsImVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGMiOnRydWUsImVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjYiI6dHJ1ZSwiZW5hYmxlX2lzX2V4dGVuZGVkX21vbml0b3JpbmciOnRydWUsImVuYWJsZV9sb2dnaW5nX2ZpcnN0X3VzZXJfYWN0aW9uX2FmdGVyX2dhbWVfcmVhZHkiOnRydWUsImVuYWJsZV9sdGNfcGFyYW1fZmV0Y2hfZnJvbV9pbm5lcnR1YmUiOnRydWUsImVuYWJsZV9tMF9sb2dnaW5nX2ZpeGVzIjp0cnVlLCJlbmFibGVfbWVudV9yZW5kZXJlcl9idXR0b25faW5fbXdlYl9oY2xyIjp0cnVlLCJlbmFibGVfbWluaV9hcHBfY29tbWFuZF9oYW5kbGVyX213ZWJfZml4Ijp0cnVlLCJlbmFibGVfbWluaV9ndWlkZV9kb3dubG9hZHNfaXRlbSI6dHJ1ZSwiZW5hYmxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5ncyI6dHJ1ZSwiZW5hYmxlX213ZWJfYXVkaW9fdHJhY2tfcGlja2VyIjp0cnVlLCJlbmFibGVfbXdlYl9rZXlib2FyZF9zaG9ydGN1dHMiOnRydWUsImVuYWJsZV9uYW1lc19oYW5kbGVzX2FjY291bnRfc3dpdGNoZXIiOnRydWUsImVuYWJsZV9uYXRpdmVfYnJpZGdlX3ZpZXdfc2F2ZWRfcGxheWFibGVzIjp0cnVlLCJlbmFibGVfbmV0d29ya19yZXF1ZXN0X2xvZ2dpbmdfb25fZ2FtZV9ldmVudHMiOnRydWUsImVuYWJsZV9uZXdfcGFpZF9wcm9kdWN0X3BsYWNlbWVudCI6dHJ1ZSwiZW5hYmxlX29wZW5faW5fbmV3X3RhYl9pY29uX2Zvcl9zaG9ydF9kcl9mb3JfZGVza3RvcF9zZWFyY2giOnRydWUsImVuYWJsZV9vcGVuX3l0X2NvbnRlbnQiOnRydWUsImVuYWJsZV9vcmlnaW5fcXVlcnlfcGFyYW1ldGVyX2J1Z2ZpeCI6dHJ1ZSwiZW5hYmxlX3BhdXNlX2Fkc19vbl95dHZfaHRtbDUiOnRydWUsImVuYWJsZV9wYXltZW50c19wdXJjaGFzZV9tYW5hZ2VyIjp0cnVlLCJlbmFibGVfcGRwX2ljb25fcHJlZmV0Y2giOnRydWUsImVuYWJsZV9wbGFjZV9waXZvdF91cmwiOnRydWUsImVuYWJsZV9wbGF5YWJsZV9jb250YWluZXJfc2F2ZV9idXR0b24iOnRydWUsImVuYWJsZV9wbGF5YWJsZV9lbnRpdHlfc2F2ZV9tZW51X2l0ZW0iOnRydWUsImVuYWJsZV9wdGNfaG9tZV9sb2NhdGlvbl9vbl93ZWIiOnRydWUsImVuYWJsZV9wdl9zY3JlZW5fbW9kZXJuX3RleHQiOnRydWUsImVuYWJsZV9ydGFfbWFuYWdlciI6dHJ1ZSwiZW5hYmxlX3NjcmVlbl9tYW5hZ2VyX2xheWVyX3NlcGFyYXRpb24iOnRydWUsImVuYWJsZV9zZGZfY29tcGFuaW9uX2g1Ijp0cnVlLCJlbmFibGVfc2RmX2RhaV9oNV9taWRyb2xsIjp0cnVlLCJlbmFibGVfc2RmX2g1X2VuZGVtaWNfbWlkX3Bvc3Rfcm9sbCI6dHJ1ZSwiZW5hYmxlX3NkZl9vbl9oNV91bnBsdWdnZWRfdm9kX21pZHJvbGwiOnRydWUsImVuYWJsZV9zZGZfc2hvcnRzX3BsYXllcl9ieXRlc19oNSI6dHJ1ZSwiZW5hYmxlX3NlbmRpbmdfdW53cmFwcGVkX2dhbWVfYXVkaW9fYXNfc2VyaWFsaXplZF9tZXRhZGF0YSI6dHJ1ZSwiZW5hYmxlX3NldF92aWRlb19pZF9pbl9zaG9ydHNfbG9ja3VwX3ZpZXdfbW9kZWwiOnRydWUsImVuYWJsZV9zZnZfZWZmZWN0X3Bpdm90X3VybCI6dHJ1ZSwiZW5hYmxlX3Nob3J0c19uZXdfY2Fyb3VzZWwiOnRydWUsImVuYWJsZV9za2lwX2FkX2d1aWRhbmNlX3Byb21wdCI6dHJ1ZSwiZW5hYmxlX3NraXBwYWJsZV9hZHNfZm9yX3VucGx1Z2dlZF9hZF9wb2QiOnRydWUsImVuYWJsZV9zbWVhcmluZ19leHBhbnNpb25fZGFpIjp0cnVlLCJlbmFibGVfc3VwZXhfbXdlYl9kZW1vX3dlYmZlIjp0cnVlLCJlbmFibGVfdGltZV9vdXRfbWVzc2FnZXMiOnRydWUsImVuYWJsZV90aW1lbGluZV92aWV3X21vZGVybl90cmFuc2NyaXB0X2ZlIjp0cnVlLCJlbmFibGVfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbl9ncm91cF9mb3JfZGVza3RvcF9zZWFyY2giOnRydWUsImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiOnRydWUsImVuYWJsZV93ZWJfaG9tZV90b3BfbGFuZHNjYXBlX2ltYWdlX2xheW91dF9sZXZlbF9jbGljayI6dHJ1ZSwiZW5hYmxlX3dlYl9zaG9ydHNfYXVkaW9fdHJhY2siOnRydWUsImVuYWJsZV93ZWJfdGllcmVkX2dlbCI6dHJ1ZSwiZW5hYmxlX3dpbmRvd19jb25zdHJhaW5lZF9idXlfZmxvd19kaWFsb2ciOnRydWUsImVuYWJsZV93aXpfcXVldWVfZWZmZWN0X2FuZF9vbl9pbml0X2luaXRpYWxfcnVucyI6dHJ1ZSwiZW5hYmxlX3lwY19zcGlubmVycyI6dHJ1ZSwiZW5hYmxlX3l0X2F0YV9pZnJhbWVfYXV0aHVzZXIiOnRydWUsImV4cG9ydF9uZXR3b3JrbGVzc19vcHRpb25zIjp0cnVlLCJleHBvcnRfcGxheWVyX3ZlcnNpb25fdG9feXRjb25maWciOnRydWUsImZpbGxfc2luZ2xlX3ZpZGVvX3dpdGhfbm90aWZ5X3RvX2xhc3IiOnRydWUsImZpeF9hZHNfdHJhY2tpbmdfZm9yX3N3Zl9jb25maWdfZGVwcmVjYXRpb25fbXdlYiI6dHJ1ZSwiaDVfY29tcGFuaW9uX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzIjp0cnVlLCJoNV9pbnBsYXllcl9lbmFibGVfYWRjcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5ncyI6dHJ1ZSwiaDVfcmVzZXRfY2FjaGVfYW5kX2ZpbHRlcl9iZWZvcmVfdXBkYXRlX21hc3RoZWFkIjp0cnVlLCJoaWRlX2NoYW5uZWxfY3JlYXRpb25fdGl0bGVfZm9yX213ZWIiOnRydWUsImhpZ2hfY2N2X2NsaWVudF9zaWRlX2NhY2hpbmdfaDUiOnRydWUsImh0bWw1X2xvZ190cmlnZ2VyX2V2ZW50c193aXRoX2RlYnVnX2RhdGEiOnRydWUsImh0bWw1X3NzZGFpX2VuYWJsZV9tZWRpYV9lbmRfY3VlX3JhbmdlIjp0cnVlLCJpZGJfaW1tZWRpYXRlX2NvbW1pdCI6dHJ1ZSwiaWxfYXR0YWNoX2NhY2hlX2xpbWl0Ijp0cnVlLCJpbF91c2Vfdmlld19tb2RlbF9sb2dnaW5nX2NvbnRleHQiOnRydWUsImlzX2Jyb3dzZXJfc3VwcG9ydF9mb3Jfd2ViY2FtX3N0cmVhbWluZyI6dHJ1ZSwianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiOnRydWUsImtldmxhcl9maWx0ZXJfdW5rbm93bl9zb3VyY2UiOnRydWUsImtldmxhcl9nZWxfZXJyb3Jfcm91dGluZyI6dHJ1ZSwia2V2bGFyX3RyaW1fcGxheWVyX2JlaGF2aW9yIjp0cnVlLCJrZXZsYXJfd2F0Y2hfY2luZW1hdGljcyI6dHJ1ZSwibGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZSI6dHJ1ZSwibGl2ZV9jaGF0X2VuYWJsZV9ydGFfbWFuYWdlciI6dHJ1ZSwibG9nX2NsaWNrX3dpdGhfbGF5ZXJfZnJvbV9lbGVtZW50X2luX2NvbW1hbmRfaGFuZGxlciI6dHJ1ZSwibWF3X2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiOnRydWUsIm1keF9lbmFibGVfcHJpdmFjeV9kaXNjbG9zdXJlX3VpIjp0cnVlLCJtZHhfbG9hZF9jYXN0X2FwaV9ib290c3RyYXBfc2NyaXB0Ijp0cnVlLCJtZWRpdW1fcHJvZ3Jlc3NfYmFyX21vZGlmaWNhdGlvbiI6dHJ1ZSwibW9iaWxlX2FjY291bnRfbWVudV9yZWZyZXNoIjp0cnVlLCJtd2ViX2FjY291bnRfbGlua2luZ19ub2FwcCI6dHJ1ZSwibXdlYl9hbGxvd19tb2Rlcm5fc2VhcmNoX3N1Z2dlc3RfYmVoYXZpb3IiOnRydWUsIm13ZWJfYW5pbWF0ZWRfYWN0aW9ucyI6dHJ1ZSwibXdlYl9hcHBfdXBzZWxsX2J1dHRvbl9kaXJlY3RfdG9fYXBwIjp0cnVlLCJtd2ViX2JhZGdlX3NoYXBlX2RlZnJhZyI6dHJ1ZSwibXdlYl9jM19hcHBfcHJvbW9fZW5hYmxlX3JlZmVycmluZ19hcHAiOnRydWUsIm13ZWJfYzNfZW5hYmxlX2FkYXB0aXZlX3NpZ25hbHMiOnRydWUsIm13ZWJfYzNfbGlicmFyeV9wYWdlX2VuYWJsZV9yZWNlbnRfc2hlbGYiOnRydWUsIm13ZWJfYzNfbWVudV9zaWduYWxzX3JlbmRlciI6dHJ1ZSwibXdlYl9jM19yZW1vdmVfd2ViX25hdmlnYXRpb25fZW5kcG9pbnRfZGF0YSI6dHJ1ZSwibXdlYl9jM190b2FzdF91c2Vfd2l6X3JlYWN0aXZlX3JlbmRlciI6dHJ1ZSwibXdlYl9jM191c2VfY2Fub25pY2FsX2Zyb21fcGxheWVyX3Jlc3BvbnNlIjp0cnVlLCJtd2ViX2NhcnZlX291dF9pb3NfYXBwX3N0b3JlX3JlZGlyZWN0Ijp0cnVlLCJtd2ViX2NhcnZlX291dF90ZXJtc19wYWdlcyI6dHJ1ZSwibXdlYl9jaW5lbWF0aWNfd2F0Y2giOnRydWUsIm13ZWJfY29tbWFuZF9oYW5kbGVyIjp0cnVlLCJtd2ViX2RlYnVnX3N0aWNreV9zZXR0aW5ncyI6dHJ1ZSwibXdlYl9kZWxheV93YXRjaF9pbml0aWFsX2RhdGEiOnRydWUsIm13ZWJfZGlzYWJsZV9zZWFyY2hiYXJfc2Nyb2xsIjp0cnVlLCJtd2ViX2VuYWJsZV9jbGlja190b19wbGF5X3BhdXNlIjp0cnVlLCJtd2ViX2VuYWJsZV9jb2xvcmZ1bF9haV9zdW1tYXJ5Ijp0cnVlLCJtd2ViX2VuYWJsZV9keW5hbWljX2RvdWJsZV90YXBfdG9fbGlrZSI6dHJ1ZSwibXdlYl9lbmFibGVfZmluZV9zY3J1YmJpbmdfZm9yX3JlY3MiOnRydWUsIm13ZWJfZW5hYmxlX2tldG9fYmF0Y2hfcGxheWVyX2Z1bGxzY3JlZW4iOnRydWUsIm13ZWJfZW5hYmxlX2tldG9fYmF0Y2hfcGxheWVyX3Byb2dyZXNzX2JhciI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19iYXRjaF9wbGF5ZXJfdG9vbHRpcHMiOnRydWUsIm13ZWJfZW5hYmxlX2tldG9fY29udGVudCI6dHJ1ZSwibXdlYl9lbmFibGVfbG9ja3VwX3ZpZXdfbW9kZWxfZm9yX3VjcCI6dHJ1ZSwibXdlYl9lbmFibGVfbWl4X3BhbmVsX3RpdGxlX21ldGFkYXRhIjp0cnVlLCJtd2ViX2VuYWJsZV9tb3JlX2NodW5rcyI6dHJ1ZSwibXdlYl9lbmFibGVfbW9yZV9kcmF3ZXIiOnRydWUsIm13ZWJfZW5hYmxlX29wdGlvbmFsX2Z1bGxzY3JlZW5fbGFuZHNjYXBlX2xvY2tpbmciOnRydWUsIm13ZWJfZW5hYmxlX292ZXJsYXlfdG91Y2hfbWFuYWdlciI6dHJ1ZSwibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIjp0cnVlLCJtd2ViX2VuYWJsZV9wcmVtaXVtX2NhcnZlX291dF9maXgiOnRydWUsIm13ZWJfZW5hYmxlX3JlZnJlc2hfZGV0ZWN0aW9uIjp0cnVlLCJtd2ViX2VuYWJsZV9zZWFyY2hfaW1wIjp0cnVlLCJtd2ViX2VuYWJsZV9zaG9ydHNfdmlkZW9fcHJlbG9hZCI6dHJ1ZSwibXdlYl9lbmFibGVfdHdvX2xpbmVfdGl0bGVfb25fc2hvcnRzIjp0cnVlLCJtd2ViX2VuYWJsZV92YXJpc3BlZWRfY29udHJvbGxlciI6dHJ1ZSwibXdlYl9lbmFibGVfdmlkZW9fbG9vcF90b2dnbGUiOnRydWUsIm13ZWJfZW5hYmxlX3dhdGNoX2ZlZWRfaW5maW5pdGVfc2Nyb2xsIjp0cnVlLCJtd2ViX2ZpeF9jb2xkX2xvYWRfcmVzcG9uc2VfYWN0aW9ucyI6dHJ1ZSwibXdlYl9maXhfbW9uaXRvcl92aXNpYmlsaXR5X2FmdGVyX3JlbmRlciI6dHJ1ZSwibXdlYl9mb3JjZV9pb3NfZmFsbGJhY2tfdG9fbmF0aXZlX2NvbnRyb2wiOnRydWUsIm13ZWJfZnBfYXV0b19mdWxsc2NyZWVuIjp0cnVlLCJtd2ViX2ZwX2VuYWJsZV9zaG9ydHNfc3dpcGVfbG9nZ2luZyI6dHJ1ZSwibXdlYl9mdWxsc2NyZWVuX2NvbnRyb2xzIjp0cnVlLCJtd2ViX2Z1bGxzY3JlZW5fY29udHJvbHNfYWN0aW9uX2J1dHRvbnMiOnRydWUsIm13ZWJfZnVsbHNjcmVlbl93YXRjaF9zeXN0ZW0iOnRydWUsIm13ZWJfZnVsbHlfcmVhY3RpdmVfY2IiOnRydWUsIm13ZWJfaG9tZV9yZWFjdGl2ZV9zaG9ydHMiOnRydWUsIm13ZWJfaW5uZXJ0dWJlX3NlYXJjaF9jb21tYW5kIjp0cnVlLCJtd2ViX2thaW9zX2VuYWJsZV9hdXRvcGxheV9zd2l0Y2hfdmlld19tb2RlbCI6dHJ1ZSwibXdlYl9sYW5nX2luX2h0bWwiOnRydWUsIm13ZWJfbGlrZV9idXR0b25fc3luY2VkX3dpdGhfZW50aXRpZXMiOnRydWUsIm13ZWJfbG9nb191c2VfaG9tZV9wYWdlX3ZlIjp0cnVlLCJtd2ViX2xvbmdfcHJlc3Nfc3BlZWR1cF92aWJyYXRpb24iOnRydWUsIm13ZWJfbmF0aXZlX2NvbnRyb2xfaW5fZmF1eF9mdWxsc2NyZWVuX3NoYXJlZCI6dHJ1ZSwibXdlYl9wbGF5ZXJfY29udHJvbF9vbl9ob3ZlciI6dHJ1ZSwibXdlYl9wbGF5ZXJfZGVsaGlfZHR0cyI6dHJ1ZSwibXdlYl9wbGF5ZXJfc2hvd19wcmV2aW91c19uZXh0X2J1dHRvbnNfaW5fcGxheWxpc3QiOnRydWUsIm13ZWJfcGxheWVyX3NraXBfbm9fb3Bfc3RhdGVfY2hhbmdlcyI6dHJ1ZSwibXdlYl9wbGF5ZXJfdXNlcl9zZWxlY3Rfbm9uZSI6dHJ1ZSwibXdlYl9wbGF5bGlzdF9lbmdhZ2VtZW50X3BhbmVsIjp0cnVlLCJtd2ViX3Byb2dyZXNzX2Jhcl9zZWVrX29uX21vdXNlX2NsaWNrIjp0cnVlLCJtd2ViX3Byb3BhZ2F0ZV9wbGF5ZXJfbGlua19jbGlja3MiOnRydWUsIm13ZWJfcHVsbF8yX2Z1bGwiOnRydWUsIm13ZWJfcHVsbF8yX2Z1bGxfZW5hYmxlX3RvdWNoX2hhbmRsZXJzIjp0cnVlLCJtd2ViX3NjaGVkdWxlX3dhcm1fd2F0Y2hfcmVzcG9uc2UiOnRydWUsIm13ZWJfc2VhcmNoYm94X2xlZ2FjeV9uYXZpZ2F0aW9uIjp0cnVlLCJtd2ViX3NlZV9mZXdlcl9zaG9ydHMiOnRydWUsIm13ZWJfc2hvcnRzX2NvbW1lbnRzX3BhbmVsX2lkX2NoYW5nZSI6dHJ1ZSwibXdlYl9zaG9ydHNfZWFybHlfY29udGludWF0aW9uIjp0cnVlLCJtd2ViX3Nob3J0c19lbmFibGVfbG9uZ19wcmVzc19zcGVlZHVwIjp0cnVlLCJtd2ViX3Nob3J0c19vdmVybGF5X2RlcHJlY2F0ZV9rYWlvc19sYXlvdXQiOnRydWUsIm13ZWJfc2hvd19zaWduX2luX2J1dHRvbl9mcm9tX2hlYWRlciI6dHJ1ZSwibXdlYl91c2VfbWljcm9mb3JtYXRfdGl0bGVfZm9yX3Bvc3RzIjp0cnVlLCJtd2ViX3VzZV9zZXJ2ZXJfdXJsX29uX3N0YXJ0dXAiOnRydWUsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfZW5hYmxlX2F1dG9fdHJhbnNsYXRlIjp0cnVlLCJtd2ViX3dhdGNoX2NhcHRpb25zX3NldF9kZWZhdWx0X3NpemUiOnRydWUsIm13ZWJfd2F0Y2hfZGVsaGlfcGxheWVyIjp0cnVlLCJtd2ViX3dhdGNoX3N0b3Bfc2NoZWR1bGVyX29uX3BsYXllcl9yZXNwb25zZSI6dHJ1ZSwibXdlYl93YXRjaGZlZWRfYmlnX3RodW1ibmFpbHMiOnRydWUsIm13ZWJfeXRfc2VhcmNoYm94Ijp0cnVlLCJuZXR3b3JrbGVzc19sb2dnaW5nIjp0cnVlLCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biI6dHJ1ZSwicGFnZWlkX2FzX2hlYWRlcl93ZWIiOnRydWUsInBsYXllcl9jb250cm9sc19hdXRvbmF2X2ZpeCI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX3NraXBfZG91YmxlX3NpZ25hbF91cGRhdGUiOnRydWUsInBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0Ijp0cnVlLCJwbGF5ZXJfY29udHJvbHNfdm9sdW1lX2NvbnRyb2xzX3VzZV9wbGF5ZXJfcHJvcHMiOnRydWUsInBvbHltZXJfYmFkX2J1aWxkX2xhYmVscyI6dHJ1ZSwicG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZSI6dHJ1ZSwicW9lX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJyZW1vdmVfY2hldnJvbl9mcm9tX2FkX2Rpc2Nsb3N1cmVfYmFubmVyX2g1Ijp0cnVlLCJyZW1vdmVfbWFzdGhlYWRfY2hhbm5lbF9iYW5uZXJfb25fcmVmcmVzaCI6dHJ1ZSwicmVtb3ZlX3Nsb3RfaWRfZXhpdGVkX3RyaWdnZXJfZm9yX2RhaV9pbl9wbGF5ZXJfc2xvdF9leHBpcmUiOnRydWUsInJvc2NhcyI6dHJ1ZSwic2VydmljZV93b3JrZXJfZW5hYmxlZCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF9lbmFibGVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2hvbWVfcGFnZV9wcm9tcHQiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfd2F0Y2hfcGFnZV9wcm9tcHQiOnRydWUsInNoZWxsX2xvYWRfZ2NmIjp0cnVlLCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiOnRydWUsInNob3J0c19lbmFibGVfcmVlbF9jYXJvdXNlbCI6dHJ1ZSwic2hvdWxkX3VzZV95dF92b2ljZV9lbmRwb2ludF9pbl9rYWlvcyI6dHJ1ZSwic21hcnRlcl92ZV9kZWR1cHBpbmciOnRydWUsInN0b3BfaGFuZGxpbmdfY2xpY2tfZm9yX25vbl9yZW5kZXJpbmdfb3ZlcmxheV9sYXlvdXQiOnRydWUsInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIjp0cnVlLCJzeW5jZWRfcGFuZWxfc2Nyb2xsaW5nX2NvbnRyb2xsZXIiOnRydWUsInRvb2x0aXBfcmVmYWN0b3JfZm9yX2hvdGtleSI6dHJ1ZSwidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIjp0cnVlLCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiOnRydWUsInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIjp0cnVlLCJ1c2Vfc2Vzc2lvbl9iYXNlZF9zYW1wbGluZyI6dHJ1ZSwidXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlIjp0cnVlLCJ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZSI6dHJ1ZSwidnNzX3BsYXliYWNrX3VzZV9zZW5kX2FuZF93cml0ZSI6dHJ1ZSwid2F0Y2hfcHVic3ViX3JlZmFjdG9yIjp0cnVlLCJ3ZWJfYWRhcHRpdmVfcmVwZWF0X2FzZSI6dHJ1ZSwid2ViX2Fsd2F5c19sb2FkX2NoYXRfc3VwcG9ydCI6dHJ1ZSwid2ViX2FwaV91cmwiOnRydWUsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkIjp0cnVlLCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZXhwb3J0X3RvX2dlbCI6dHJ1ZSwid2ViX2F0dHJpYnV0ZWRfc3RyaW5nX2RlZXBfZXF1YWxfYnVnZml4Ijp0cnVlLCJ3ZWJfYXV0b25hdl9hbGxvd19vZmZfYnlfZGVmYXVsdCI6dHJ1ZSwid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIjp0cnVlLCJ3ZWJfYnV0dG9uX3ZpZXdfbW9kZWxfbm9uX251bGxpc2hfZGF0YSI6dHJ1ZSwid2ViX2J1dHRvbl92bV9yZWZhY3Rvcl9kaXNhYmxlZCI6dHJ1ZSwid2ViX2MzX2xvZ19hcHBfaW5pdF9maW5pc2giOnRydWUsIndlYl9jb21tZW50X3BhbmVsX2Vhc3lfZXhwYW5kIjp0cnVlLCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIjp0cnVlLCJ3ZWJfZGVkdXBlX3ZlX2dyYWZ0aW5nIjp0cnVlLCJ3ZWJfZGlzYWJsZV9iYWNrZHJvcF9maWx0ZXIiOnRydWUsIndlYl9kaXNhYmxlX2NoaXBfdmlld19tb2RlbF9tdXRhdGlvbiI6dHJ1ZSwid2ViX2VuYWJsZV9hYl9yc3BfY2wiOnRydWUsIndlYl9lbmFibGVfYWRfYnV0dG9uX3N0eWxlX292ZXJyaWRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Fza19kaXNjbGFpbWVyX3VwZGF0ZSI6dHJ1ZSwid2ViX2VuYWJsZV9jYW5vbmljYWxfdXJsX21hbmFnZXIiOnRydWUsIndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Vycm9yXzIwNCI6dHJ1ZSwid2ViX2VuYWJsZV9sYXp5X2NzcyI6dHJ1ZSwid2ViX2VuYWJsZV90aHVtYm5haWxfb3ZlcmxheV9hbGlnbm1lbnQiOnRydWUsIndlYl9nY2ZfaGFzaGVzX2lubmVydHViZSI6dHJ1ZSwid2ViX2dlbF90aW1lb3V0X2NhcCI6dHJ1ZSwid2ViX2hpZGVfeW91cl9kYXRhX29uX2F1dG9tb3RpdmUiOnRydWUsIndlYl9pbXBfZW5hYmxlX2NzaV9zdGFydF90aWNrIjp0cnVlLCJ3ZWJfbW9ub21lcl93ZWJfY29tcG9uZW50X3dyYXBwZXJfaGFuZGxlX2Vycm9ycyI6dHJ1ZSwid2ViX25vbl9uYXZpZ2F0aW5nX2F0YWciOnRydWUsIndlYl9wYXJlbnRfdGFyZ2V0X2Zvcl9zaGVldHMiOnRydWUsIndlYl9wZXJzaXN0X3NlcnZlcl9hdXRvbmF2X3N0YXRlX29uX2NsaWVudCI6dHJ1ZSwid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfdmUiOnRydWUsIndlYl9wbGF5ZXJfdXBkYXRlZF9lbnRyeXBvaW50Ijp0cnVlLCJ3ZWJfcHJlZmV0Y2hfcHJlbG9hZF92aWRlbyI6dHJ1ZSwid2ViX3Byb2dyZXNzX2Jhcl9kcmFnZ2FibGUiOnRydWUsIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSI6dHJ1ZSwid2ViX3JlbW92ZV9zbmFja2Jhcl9hY3Rpb25zIjp0cnVlLCJ3ZWJfc2VjdGlvbl9saXN0X3JlbmRlcmVyX3dyYXBwZWRfY29udGVudHMiOnRydWUsIndlYl9zaG9ydHNfYXVkaW9fdHJhY2tfcGlja2VyIjp0cnVlLCJ3ZWJfc2hvcnRzX2VuYWJsZV9yZW1vdmVfc2VhcmNoX3Bpdm90X2JhY2tfYnV0dG9uIjp0cnVlLCJ3ZWJfc2hvcnRzX3duX3NoZWxmX2hlYWRlcl90dW5pbmciOnRydWUsIndlYl91bmlmaWVkX2ZldGNoIjp0cnVlLCJ3ZWJfdXBkYXRlX3BhbmVsX3Zpc2liaWxpdHlfbG9nZ2luZ19maXgiOnRydWUsIndlYl93YXRjaF9jb250cm9sc19zdGF0ZV9zaWduYWxzIjp0cnVlLCJ3ZWJmZV9td2ViX3dhdGNoX21pY3JvZGF0YSI6dHJ1ZSwid2ViZmVfd2F0Y2hfc2hvcnRzX2Nhbm9uaWNhbF91cmxfZml4Ijp0cnVlLCJ3ZWJwb19leGl0X29uX25ldF9lcnIiOnRydWUsIndpel9kaWZmX292ZXJ3cml0YWJsZSI6dHJ1ZSwid2l6X3dyYXBwZXJfY2FsbGJhY2tfcHJvcHNfZml4Ijp0cnVlLCJ3dWdfbmV0d29ya2luZ19nemlwX3JlcXVlc3QiOnRydWUsIkg1X2FzeW5jX2xvZ2dpbmdfZGVsYXlfbXMiOjMwMDAwLjAsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2FtcGxpbmdfZnJhY3Rpb24iOjAuMCwiY2luZW1hdGljX3dhdGNoX2VmZmVjdF9vcGFjaXR5IjowLjQsImxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvbiI6MC4xLCJzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlIjoyLjAsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGUiOjUwMC4wLCJ3ZWJfZGVhZF9jb2RlX2RldGVjdG9yX3NhbXBsaW5nX3JhdGUiOjAuMCwid2ViX2xvYWRfcHJlZGljdGlvbl90aHJlc2hvbGQiOjAuMywid2ViX25hdmlnYXRpb25fcHJlZGljdGlvbl90aHJlc2hvbGQiOjAuMSwid2ViX3Bial9sb2dfd2FybmluZ19yYXRlIjowLjAsIndlYl9zeXN0ZW1faGVhbHRoX2ZyYWN0aW9uIjowLjAxLCJ5dGlkYl90cmFuc2FjdGlvbl9lbmRlZF9ldmVudF9yYXRlX2xpbWl0IjowLjAyLCJhdHRfaW5pdF9kZWxheSI6NTAwLCJhdXRvcGxheV9wYXVzZV9ieV9sYWN0X3NlYyI6MCwiYm90Z3VhcmRfYXN5bmNfc25hcHNob3RfdGltZW91dF9tcyI6MzAwMCwiY2hlY2tfbmF2aWdhdG9yX2FjY3VyYWN5X3RpbWVvdXRfbXMiOjAsImNpbmVtYXRpY193YXRjaF9jc3NfZmlsdGVyX2JsdXJfc3RyZW5ndGgiOjQwLCJjaW5lbWF0aWNfd2F0Y2hfZmFkZV9vdXRfZHVyYXRpb24iOjUwMCwiY2xvc2Vfd2Vidmlld19kZWxheV9tcyI6MTAwLCJjbG91ZF9zYXZlX2dhbWVfZGF0YV9yYXRlX2xpbWl0X21zIjozMDAwLCJjb21wcmVzc2lvbl9kaXNhYmxlX3BvaW50IjoxMCwiY3VzdG9tX2FjdGl2ZV92aWV3X3Rvc190aW1lb3V0X21zIjozNjAwMDAwLCJlbWJlZHNfd2lkZ2V0X3BvbGxfaW50ZXJ2YWxfbXMiOjAsImVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfbWF4X3dpbmRvd19zZWNvbmRzIjo2MCwiZ2VsX21pbl9iYXRjaF9zaXplIjozLCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiOjYwMDAwLCJnZXRfYXN5bmNfdGltZW91dF9tcyI6NjAwMDAsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIjowLCJpbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0IjoyMDAwLCJtYXhfYm9keV9zaXplX3RvX2NvbXByZXNzIjo1MDAwMDAsIm1heF9wcmVmZXRjaF93aW5kb3dfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvbiI6MTAsIm1pbl9wcmVmZXRjaF9vZmZzZXRfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvbiI6MjAsIm1pbmlfYXBwX2NvbnRhaW5lcl9pZnJhbWVfc3JjX3VwZGF0ZV9kZWxheV9tcyI6MCwibXVsdGlwbGVfcHJldmlld19uZXdzX2R1cmF0aW9uX3RpbWUiOjExMDAwLCJtd2ViX2MzX3RvYXN0X2R1cmF0aW9uX21zIjo1MDAwLCJtd2ViX2RlZXBfbGlua19mYWxsYmFja190aW1lb3V0X21zIjoxMDAwMCwibXdlYl9kZWxheV9yZXNwb25zZV9yZWNlaXZlZF9hY3Rpb25zIjoxMDAsIm13ZWJfZHdlbGxfZGVsYXlfbXMiOjUwMCwibXdlYl9mcF9kcGFkX3JhdGVfbGltaXRfbXMiOjAsIm13ZWJfZnBfZHBhZF93YXRjaF90aXRsZV9jbGFtcF9saW5lcyI6MCwibXdlYl9oaXN0b3J5X21hbmFnZXJfY2FjaGVfc2l6ZSI6MTAwLCJtd2ViX2lvc19mdWxsc2NyZWVuX3BsYXliYWNrX3RyYW5zaXRpb25fZGVsYXlfbXMiOjUwMCwibXdlYl9pb3NfZnVsbHNjcmVlbl9zeXN0ZW1fcGF1c2VfZXBpbHNvbl9tcyI6MCwibXdlYl9vdmVycmlkZV9yZXNwb25zZV9zdG9yZV9leHBpcmF0aW9uX21zIjowLCJtd2ViX3Nob3J0c19lYXJseV9jb250aW51YXRpb25fdHJpZ2dlcl90aHJlc2hvbGQiOjQsIm13ZWJfc2hvcnRzX251bWJlcl9vZl90aHVtYm5haWxzX3Nob3duIjoyLCJtd2ViX3cyd19tYXhfYWdlX3NlY29uZHMiOjAsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfZGVmYXVsdF9zaXplIjoyLCJuZW9uX2RhcmtfbGF1bmNoX2dyYWRpZW50X2NvdW50IjowLCJuZXR3b3JrX3BvbGxpbmdfaW50ZXJ2YWwiOjMwMDAwLCJwbGF5X3BpbmdfaW50ZXJ2YWxfbXMiOjEwMDAwLCJzZW5kX2NvbmZpZ19oYXNoX3RpbWVyIjowLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2xvZ2dlZF9vdXRfcHJvbXB0X3dhdGNoZXMiOi0xLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9jYXAiOi0xLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9kZWxheV9taWNyb3NlY29uZHMiOjM4ODgwMDAwMDAwMDAsInNob3dfbWluaV9hcHBfYWRfd2ViX3JlZ3VsYXJfZnJlcXVlbmN5X2NhcF9tcyI6MjQwMDAwLCJzaG93X21pbmlfYXBwX2FkX3dlYl9yZXdhcmRlZF9mcmVxdWVuY3lfY2FwX21zIjowLCJzbG93X2NvbXByZXNzaW9uc19iZWZvcmVfYWJhbmRvbl9jb3VudCI6NCwic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIjoxMCwic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyI6NTAwLCJ3ZWJfYWlfc2VhcmNoX3JvbGxvdXRfdmVyc2lvbiI6MSwid2ViX2ZvcmVncm91bmRfaGVhcnRiZWF0X2ludGVydmFsX21zIjoyODAwMCwid2ViX2dlbF9kZWJvdW5jZV9tcyI6MTAwMDAsIndlYl9sb2dnaW5nX21heF9iYXRjaCI6MTAwLCJ3ZWJfbWF4X3RyYWNpbmdfZXZlbnRzIjo1MCwid2ViX3Nlc3Npb25fcmVwbGF5X21vdXNlbW92ZV9pbnRlcnZhbCI6MCwid2ViX3Nlc3Npb25fcmVwbGF5X3Njcm9sbF9pbnRlcnZhbCI6MCwid2ViX3Nlc3Npb25fcmVwbGF5X3NlbmRfYWZ0ZXJfdGltZW91dCI6MCwid2ViX3RyYWNpbmdfc2Vzc2lvbl9yZXBsYXkiOjAsIndpbF9pY29uX21heF9jb25jdXJyZW50X2ZldGNoZXMiOjk5OTksInl0Y3NpX2RlYnVnX21heF9zaXplIjoxMDAsInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIjoxLCJ5dGlkYl9yZW9wZW5fZGJfcmV0cmllcyI6MCwiV2ViQ2xpZW50UmVsZWFzZVByb2Nlc3NDcml0aWNhbF9feW91dHViZV9lbWJlZHNfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJXZWJDbGllbnRSZWxlYXNlUHJvY2Vzc0NyaXRpY2FsX195b3V0dWJlX2VtYmVkc193ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJkZWJ1Z19mb3JjZWRfaW50ZXJuYWxjb3VudHJ5Y29kZSI6IiIsImVuYWJsZV93ZWJfbWVkaWFfc2VydmljZSI6IkRJU0FCTEVEIiwiaWxfcGF5bG9hZF9zY3JhcGluZyI6IiIsImxpdmVfY2hhdF91bmljb2RlX2Vtb2ppX2pzb25fdXJsIjoiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvZW1vamlzL2Vtb2ppcy1zdmctOS5qc29uIiwibXdlYl9kZWVwX2xpbmtfZmVhdHVyZV90YWdfc3VmZml4IjoiNTE4MzE2MTUiLCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaF90cmlnZ2VyIjoiTk9ORSIsIm13ZWJfZnBfZHBhZCI6ImhvbWUsc2VhcmNoLGJyb3dzZSxjaGFubmVsLGNyZWF0ZV9jaGFubmVsLGV4cGVyaW1lbnRzLHNldHRpbmdzLHRyZW5kaW5nLG9vcHMsNDA0LHBhaWRfbWVtYmVyc2hpcHMsc3BvbnNvcnNoaXAscHJlbWl1bSxzaG9ydHMiLCJtd2ViX2ZwX2RwYWRfbGluZWFyX25hdmlnYXRpb24iOiIiLCJtd2ViX2ZwX2RwYWRfbGluZWFyX25hdmlnYXRpb25fdmlzaXRvciI6IiIsIm13ZWJfZnBfZHBhZF92aXNpdG9yIjoiIiwibXdlYl9wcmVsb2FkX3ZpZGVvX2J5X3BsYXllcl92YXJzIjoiIiwicGxhY2VfcGl2b3RfdHJpZ2dlcmluZ19jb250YWluZXJfYWx0ZXJuYXRlIjoiIiwicGxhY2VfcGl2b3RfdHJpZ2dlcmluZ19jb3VudGVyZmFjdHVhbF9jb250YWluZXJfYWx0ZXJuYXRlIjoiIiwic2VydmljZV93b3JrZXJfcHVzaF9mb3JjZV9ub3RpZmljYXRpb25fcHJvbXB0X3RhZyI6IjEiLCJzZXJ2aWNlX3dvcmtlcl9zY29wZSI6Ii8iLCJzdWdnZXN0X2V4cF9zdHIiOiIiLCJ3ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2FsbG93ZWRfdmlkZW9faWRzIjpbIk9KbHdJZG9GejlBIiwiQXJLYkF4MUstMlUiLCJtX2RoTVN2VUNJYyIsIkMxRGhwSjA3WnVFIiwiTnEyd1lsV0Z1Y2ciLCJKQzdmM0VVRGFxdyIsInZyM1h5VkNSNFQwIiwiZ0NOZURXQ0kwdm8iLCJrQlR1ZG00Z2VNcyIsIkZ4c2ZWWDZCMU1rIiwieWxZSlNCVWdhTUEiLCJWV2hRNnhzcG5TYyIsIlJIVWF1TWNZbFgwIiwiY2IxMkttTU1ESkEiLCJXSnhFal9ocnBTZyIsImV1aFktdG1nOXg4IiwiVGxJVkkyRVc3UjAiLCJNSU5mdk9YNEJ6SSIsInlIbVBXemtoY1o4IiwicDN3MXZPOVh2MjQiLCJWbGFDbnAxZnhJOCIsIi1PZkEwNEJENEdBIiwiMW9kWTNJWXNObm8iLCJ3aVRUclZxUlZEdyIsIkRmbTJyQi1uUTlZIiwiUW0xRnR6OGxWbkkiLCI5aXRBeHFfU0dETSIsInlGSTN3cFh5NHpBIiwiUHk1SllaWEp2em8iLCJiNHRFNWFLaHRsZyIsIjVKRHhqc0FWYUdrIiwiZVVtZkdQYXp1RU0iLCJXOG5UaHE2MlZiNCIsIlZManZTM3VmbFhjIiwiQmZkTEt2SkJNX2MiLCJ3ZUxYZHdWalN4cyIsIjJKYS11UE9rejdJIiwiQTlRQlZGRVl4T1EiLCJrLVpGUWtrSFVmYyIsInd1dTBEMjBBWnFJIiwiX0h2aVN5Qzd6U1UiLCJfX3hPel9RM3FSNCIsIncyc0I4N2pMRTFJIiwiOHJUVEVNZE1oOFEiLCItazZtcGdteGVyVSIsIjk3Y2tuckp5TFdnIiwiMkZJdFZ5eExOTmMiLCJvdG54ZmNzR0UtWSIsInM5eEwxRHBCc2ZRIiwid2ZBR0JWZ1Vycm8iLCJuWEg2VHhRLXNpOCIsIldpSTFYZ19uRXU4IiwiM2ZsYXNHVlVyQ0EiLCJlRFlfSGU5MmxjVSIsImE0N2NrWEtaanhJIiwiSTZXUlhlS1pLNjQiLCJUOUo1RHFQMkRLdyIsIkt0a19JMHBVcEc4IiwiZVEyY3pHcU9DUGciLCJoTG1VNDlobVo0YyIsIjdmN01nYU1FN1NjIiwiUUI1Qk5kQkZ1akUiLCJBR2h0TVVfZmk3MCIsInAyUmFRVVJSQXdBIiwibXpfX0VNWXBXUHciLCI2amhMdVNRVkl4VSIsInJDODN2X3V1SXFvIiwiNkRhR2RKUl9lTGciLCJjbTQzdVhqZnZaWSIsIlkxSnNQcG0yYm1RIiwiejA5N2pQeUtlZW8iLCJUWVZaV1VUamt4MCIsIlZIYUF2ZW5mVERrIiwidHY5T1VfNVEwcFEiLCI2b0tDdnptNkhtZyIsIkJFRlVFUmhUMG4wIiwidVROLWV1MC1PWEUiLCJoYmFwcmhSN3pUbyIsIjJDVjBWLW9NTkZNIiwidThkU09Lb05KcDAiLCJIOE1xcXdtRnN4WSIsIklza2ttTlBKZFVrIiwiWDlIX0V6cERHWFEiXSwia2V2bGFyX2NvbW1hbmRfaGFuZGxlcl9jb21tYW5kX2Jhbmxpc3QiOltdLCJtaW5pX2FwcF9pZHNfd2l0aG91dF9nYW1lX3JlYWR5IjpbIlVna3hISHRzYWsxU0M4bVJHSE1aZXdjNEh6ZUFZM3loUFBtSiIsIlVna3g3T2d6RnFFNnpfNU10ZjRZc290R2ZRTklJMURGX1JCbSJdLCJ3ZWJfb3Bfc2lnbmFsX3R5cGVfYmFubGlzdCI6W10sIndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnMiOlsiZXZlbnQiLCJjb21tYW5kIl19LCJHQVBJX0hJTlRfUEFSQU1TIjoibTsvXy9zY3MvYWJjLXN0YXRpYy9fL2pzL2tcdTAwM2RnYXBpLmdhcGkuZW4uNTRfSER2ZU90a1EuTy9kXHUwMDNkMS9yc1x1MDAzZEFIcE9vbzlRdWZPZFBZVFJrYlRKYWRUVzZzbXN4bFdMTXcvbVx1MDAzZF9fZmVhdHVyZXNfXyIsIkdBUElfSE9TVCI6Imh0dHBzOi8vYXBpcy5nb29nbGUuY29tIiwiR0FQSV9MT0NBTEUiOiJlbl9VUyIsIkdMIjoiTk8iLCJITCI6ImVuIiwiSFRNTF9ESVIiOiJsdHIiLCJIVE1MX0xBTkciOiJlbiIsIklOTkVSVFVCRV9BUElfS0VZIjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIjoidjEiLCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiSU5ORVJUVUJFX0NMSUVOVF9WRVJTSU9OIjoiMi4yMDI2MDcyNC4wMS4wMCIsIklOTkVSVFVCRV9DT05URVhUIjp7ImNsaWVudCI6eyJobCI6ImVuIiwiZ2wiOiJOTyIsInJlbW90ZUhvc3QiOiIxOTUuNjQuMTE4LjE1MiIsImRldmljZU1ha2UiOiIiLCJkZXZpY2VNb2RlbCI6IiIsInZpc2l0b3JEYXRhIjoiQ2d0cWVtMUVjMDVZTVU5cVRTamQxNXZUQmpJb0NnSk9UeElpRWg0U0hBc01EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY2dNR0xmQWdyY0FqSXdMbGxVUFV0MFJIZzBkM3B1Yld4WGVtd3hOV3gyUTFaM1pHcFNlRFJwUTFkaFVYRkdjVUl6Y1ZWSGQwbEhXVTVFVVVwMVIwTTFiV0o1WDB4UlFqQndNWEpVVlRKS1dVMHpjMDU2YmpSWmEwdE9XR0oyY0ZkR056Vk1lRGxuZEdOMmRGOURaMnB5ZW5BeVptaG5Oa0pzVldOd2JqRjZNeTEyTFdWMFIwNVVhMGxwV0VkR1gwWkpjVUpLVUZKa2VtNVVUVEV4U1djMFVYZzRjVmhoWTFCSVFVa3dNVmgxTTFjdFpHTjRWM0JKYVhwNlZuVkhWbFpPUmtOVGRqQXdNbU15YnpkVFZWTXlNMFZwZGtOR2NFcFdZbXB0ZVdkNGJrbG9WMjFoUTBwTVV6WndhbEppUTJaSVFrbEhSSFZmV1d3MFdITlRZbk5vTlVrellub3hSM2RPYlRkTGRrdHdSRFZ3UVROcE1sTldkWHBpVUhwbmNrbDJjMHRoVkRGSE1YbFpNSHBzTlVwMlltTjBlVTlTVldocWJXeExRbGxoVW5GRk1raFVTRlY2VkRscWRsVm1URWRyVEVJd2RtZGpSWGw1WjIxVlJVc3dTbDgxUVElM0QlM0QiLCJ1c2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0OyBydjoxMzQuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMzQuMCxnemlwKGdmZSkiLCJjbGllbnROYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImNsaWVudFZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIiwib3NOYW1lIjoiV2luZG93cyIsIm9zVmVyc2lvbiI6IjEwLjAiLCJvcmlnaW5hbFVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0VqQjVxRlcwYko4IiwicGxhdGZvcm0iOiJERVNLVE9QIiwiY2xpZW50Rm9ybUZhY3RvciI6IlVOS05PV05fRk9STV9GQUNUT1IiLCJjb25maWdJbmZvIjp7ImFwcEluc3RhbGxEYXRhIjoiQ04zWG05TUdFTS1vMFJ3UW5ZYTRJaENLaDdnaUVKN1FzQVVRdHZpQUV4Q2txZEVjRVBhcnNBVVF1T1RPSEJDdTFzOGNFSm1Oc1FVUWdjM09IQkNEaDdnaUVMNktzQVVReXZ1QUV4QzltYkFGRVBHY3NBVVFodUdBRXhDNDhORWNFSW5rMFJ3UTZmalJIQkRNMzY0RkVNZjhnQk1RNExmUkhCRGc2dEVjRU42OHpod1F2S1RRSEJDOXRxNEZFTnIzemh3UWpwRFJIQkNIck00Y0VQbnkwUndRbjgtQUV4REo5b0FURUltd3pod1F3WV9RSEJDMXRZQVRFUHl5emh3UThiVFFIQkNMOTg4Y0VBQVEtTVNBRXhDVzc5RWNFUERlMFJ3UXRkN1JIQkQyOTlFY0VMNkUwUndRamVUUkhCQ0lrTkVjRVBUcDBSd1EtdmJSSENwc1EwRk5VMU40VmtFdFduRXRSRXhwVlVWd1VVTnVRVGMxUmxoaFowSjFRVmR4VGxWUWVVRk5UVE4zTTJOQ2RWRkhkRUZoTWtKbVlUazJVWE41YjB0M1JVRTFRM1ZCWDNOdGRIVlJSelZKVlZnd1RYZEhlRXBKUm5sNk0wWktPVzVXUW1SM2N6VXdXV1JDZHowOU1BQSUzRCJ9LCJicm93c2VyTmFtZSI6IkZpcmVmb3giLCJicm93c2VyVmVyc2lvbiI6IjEzNC4wIiwiYWNjZXB0SGVhZGVyIjoidGV4dC9odG1sLGFwcGxpY2F0aW9uL3hodG1sK3htbCxhcHBsaWNhdGlvbi94bWw7cVx1MDAzZDAuOSwqLyo7cVx1MDAzZDAuOCIsImRldmljZUV4cGVyaW1lbnRJZCI6IkNoeE9lbGt5VG5wQk0wNUVZekZOUkUxNlRtcEZOVTVVWjNwUFFUMDlFTjNYbTlNR0dOM1htOU1HIiwicm9sbG91dFRva2VuIjoiQ051dTVmNlY4YlRqNFFFUWo4ZVRwSV95bFFNWWo4ZVRwSV95bFFNJTNEIn0sInVzZXIiOnsibG9ja2VkU2FmZXR5TW9kZSI6ZmFsc2V9LCJyZXF1ZXN0Ijp7InVzZVNzbCI6dHJ1ZX0sImNsaWNrVHJhY2tpbmciOnsiY2xpY2tUcmFja2luZ1BhcmFtcyI6IkloTUlwNzZUcEkveWxRTVZQVUFoQngwSXRTQk4ifSwidGhpcmRQYXJ0eSI6eyJlbWJlZGRlZFBsYXllckNvbnRleHQiOnsiZW1iZWRkZWRQbGF5ZXJFbmNyeXB0ZWRDb250ZXh0IjoiQUNtYmxCVWw0V2xCOHhMbDE0bFFobXAxNXNXTjdqbTFMN1FWMDFFQ3JDRDkxa3ZMbXhyekFOaDV6UU9Qb2RodlNFMXVoNnZOWl8yamF6THFlcFFwRG0taW9fbzJkZjd6Zm9hT1VUNHV3UzNYTXBlWjE1ZEZVNHlkVXdtZlR6QkZtY3VhOFBRc182UHAiLCJhbmNlc3Rvck9yaWdpbnNTdXBwb3J0ZWQiOmZhbHNlfX19LCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSI6NTYsIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIjoiMi4yMDI2MDcyNC4wMS4wMCIsIklOTkVSVFVCRV9DT05URVhUX0dMIjoiTk8iLCJJTk5FUlRVQkVfQ09OVEVYVF9ITCI6ImVuIiwiTEFURVNUX0VDQVRDSEVSX1NFUlZJQ0VfVFJBQ0tJTkdfUEFSQU1TIjp7ImNsaWVudC5uYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImNsaWVudC5qc2ZlYXQiOiIyMDIxIn0sIkxPR0dFRF9JTiI6ZmFsc2UsIlBBR0VfQlVJTERfTEFCRUwiOiJ5b3V0dWJlLmVtYmVkcy53ZWJfMjAyNjA3MjRfMDFfUkMwMCIsIlBBR0VfQ0wiOjk1MzIwNjAxMCwiU0VSVkVSX05BTUUiOiJXZWJGRSIsIlZJU0lUT1JfREFUQSI6IkNndHFlbTFFYzA1WU1VOXFUU2pkMTV2VEJqSW9DZ0pPVHhJaUVoNFNIQXNNRGc4UUVSSVRGQlVXRnhnWkdoc2NIUjRmSUNFaUl5UWxKaWNnTUdMZkFncmNBakl3TGxsVVBVdDBSSGcwZDNwdWJXeFhlbXd4Tld4MlExWjNaR3BTZURScFExZGhVWEZHY1VJemNWVkhkMGxIV1U1RVVVcDFSME0xYldKNVgweFJRakJ3TVhKVVZUSktXVTB6YzA1NmJqUlphMHRPV0dKMmNGZEdOelZNZURsbmRHTjJkRjlEWjJweWVuQXlabWhuTmtKc1ZXTndiakY2TXkxMkxXVjBSMDVVYTBscFdFZEdYMFpKY1VKS1VGSmtlbTVVVFRFeFNXYzBVWGc0Y1ZoaFkxQklRVWt3TVZoMU0xY3RaR040VjNCSmFYcDZWblZIVmxaT1JrTlRkakF3TW1NeWJ6ZFRWVk15TTBWcGRrTkdjRXBXWW1wdGVXZDRia2xvVjIxaFEwcE1Velp3YWxKaVEyWklRa2xIUkhWZldXdzBXSE5UWW5Ob05Va3pZbm94UjNkT2JUZExka3R3UkRWd1FUTnBNbE5XZFhwaVVIcG5ja2wyYzB0aFZERkhNWGxaTUhwc05VcDJZbU4wZVU5U1ZXaHFiV3hMUWxsaFVuRkZNa2hVU0ZWNlZEbHFkbFZtVEVkclRFSXdkbWRqUlhsNVoyMVZSVXN3U2w4MVFRJTNEJTNEIiwiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR1MiOnsiV0VCX1BMQVlFUl9DT05URVhUX0NPTkZJR19JRF9FTUJFRERFRF9QTEFZRVIiOnsicm9vdEVsZW1lbnRJZCI6Im1vdmllX3BsYXllciIsImpzVXJsIjoiL3MvcGxheWVyLzdhNzk2OWMyL3BsYXllcl9lbWJlZF9lczYudmZsc2V0L2VuX1VTL2Jhc2UuanMiLCJjc3NVcmwiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvd3d3LXBsYXllci5jc3MiLCJjb250ZXh0SWQiOiJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUiIsImV2ZW50TGFiZWwiOiJlbWJlZGRlZCIsImNvbnRlbnRSZWdpb24iOiJOTyIsImhsIjoiZW5fVVMiLCJob3N0TGFuZ3VhZ2UiOiJlbiIsImlubmVydHViZUFwaUtleSI6IkFJemFTeUFPX0ZKMlNscVU4UTRTVEVITEdDaWx3X1k5XzExcWNXOCIsImlubmVydHViZUFwaVZlcnNpb24iOiJ2MSIsImlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uIjoiMi4yMDI2MDcyNC4wMS4wMCIsImRldmljZSI6eyJicmFuZCI6IiIsIm1vZGVsIjoiIiwiYnJvd3NlciI6IkZpcmVmb3giLCJicm93c2VyVmVyc2lvbiI6IjEzNC4wIiwib3MiOiJXaW5kb3dzIiwib3NWZXJzaW9uIjoiMTAuMCIsInBsYXRmb3JtIjoiREVTS1RPUCIsImludGVyZmFjZU5hbWUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiaW50ZXJmYWNlVmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAifSwic2VyaWFsaXplZEV4cGVyaW1lbnRJZHMiOiIyNDAwNDY0NCw1MTA2MzY0Myw1MTA5ODI5OSw1MTIyMjk3Myw1MTM0MDY2Miw1MTM0OTkxNCw1MTM1MzM5Myw1MTM2NjQyMyw1MTM4OTYyOSw1MTQyNTAzMyw1MTQ5MDMzMSw1MTQ5MzIwOSw1MTUwNTQzNiw1MTUzMDQ5NSw1MTUzNDY2OSw1MTU2NTExNSw1MTU4MzgyMSw1MTYwNTI1OCw1MTYwOTgyOSw1MTYxNTA2Nyw1MTYyMjg0NCw1MTYzNTk1NSw1MTYzODI3MSw1MTYzODkzMiw1MTY0NTU1Myw1MTY0ODMzNiw1MTY3MjE2Miw1MTY4MTY2Miw1MTY4MzUwMiw1MTcwMTYxNiw1MTcyOTIxNyw1MTc0MjM3Nyw1MTc0MjgyOCw1MTc3ODM0MCw1MTc5ODkyOCw1MTgwMzEyNyw1MTgwMzU4NSw1MTgyODk3MSw1MTgzMzI0MSw1MTg0MjQyMiw1MTg1NzgzOCw1MTg1NzkyMCw1MTg2MDQ1OSw1MTg4Nzg4MCw1MTg5NTQwNSw1MTg5NTc3MSw1MTkwMTQzNyw1MTkwMjYwNSw1MTkwMjk3Nyw1MTkxMDczNiw1MTkyNzE4OCw1MTkyNzM2MCw1MTkzMDM2MSw1MTkzNjIyOCw1MTkzOTcwMyw1MTk0NTA1Niw1MTk1NDkyMyw1MTk1NjUxOCw1MTk1NzQ0Niw1MTk1OTY5NCw1MTk1OTgwOSw1MTk1OTg4MCw1MTk1OTk2Nyw1MTk2ODA4NCw1MTk3MTc3Niw1MTk4MzM2NSw1MTk4NDcxOCw1MTk4NDgyNyw1MTk4NTU4Myw1MjAwMjQ0OSw1MjAwMjgwNiw1MjAxMjUyMiw1MjAxMzEwOSw1MjAxNjEzNiw1MjAyMDAzMiw1MjAyMjQ4Nyw1MjAyMzMzMiw1MjAyNDIxNyw1MjAyNjE5NCw1MjAyNjgxNCw1MjAyNzA5OCw1MjAyNzc1MSw1MjAyNzc1Myw1MjAzNTY0NCw1MjAzNjkzOSw1MjA0MDM4NCw1MjA0MzIyNyw1MjA0NTEzNSw1MjA0NjUxOSw1MjA0NzE0Niw1MjA0NzY4NSw1MjA0NzY4OCw1MjA0NzY5MCw1MjA0ODQzNCw1MjA1NjUwMiw1MjA2NDEzNSw1MjA2NTU5MCw1MjA3MTQ4Nyw1MjA3Mzk2Myw1MjA3NTQ3Nyw1MjA3NTkyMiw1MjA3NjcwNSw1MjA5ODY4NCIsInNlcmlhbGl6ZWRFeHBlcmltZW50RmxhZ3MiOiJINV9hc3luY19sb2dnaW5nX2RlbGF5X21zXHUwMDNkMzAwMDAuMFx1MDAyNmExMXlfaDVfYXNzb2NpYXRlX3N1cnZleV9xdWVzdGlvblx1MDAzZHRydWVcdTAwMjZhYl9kZXRfYXBiX2JcdTAwM2R0cnVlXHUwMDI2YWJfZGV0X2FwbVx1MDAzZHRydWVcdTAwMjZhYl9kZXRfZWxfaFx1MDAzZHRydWVcdTAwMjZhYl9ma19za19jbFx1MDAzZHRydWVcdTAwMjZhY3Rpb25fY29tcGFuaW9uX2NlbnRlcl9hbGlnbl9kZXNjcmlwdGlvblx1MDAzZHRydWVcdTAwMjZhZF9wb2RfZGlzYWJsZV9jb21wYW5pb25fcGVyc2lzdF9hZHNfcXVhbGl0eVx1MDAzZHRydWVcdTAwMjZhbGxvd19hdXRvaGlkZV9vbl9wYXVzZWRfdmlkZW9zXHUwMDNkdHJ1ZVx1MDAyNmFsbG93X2RybV9vdmVycmlkZVx1MDAzZHRydWVcdTAwMjZhbGxvd19saXZlX2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmFsbG93X3BvbHRlcmd1c3RfYXV0b3BsYXlcdTAwM2R0cnVlXHUwMDI2YWxsb3dfc2tpcF9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZhbGxvd192cDlfMTA4MHBfbXFfZW5jXHUwMDNkdHJ1ZVx1MDAyNmFsd2F5c19jYWNoZV9yZWRpcmVjdF9lbmRwb2ludFx1MDAzZHRydWVcdTAwMjZhbHdheXNfc2VuZF9hbmRfd3JpdGVcdTAwM2R0cnVlXHUwMDI2YW5ub3RhdGlvbl9tb2R1bGVfdmFzdF9jYXJkc19sb2FkX2xvZ2dpbmdfZnJhY3Rpb25cdTAwM2QwLjBcdTAwMjZhc3NpZ25fZHJtX2ZhbWlseV9ieV9mb3JtYXRcdTAwM2R0cnVlXHUwMDI2YXR0X3dlYl9yZWNvcmRfbWV0cmljc1x1MDAzZHRydWVcdTAwMjZhdHRhY2hfZXhwZXJpbWVudF9wcm9wYWdhdGlvbl9jb250ZXh0X3RvX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZhdHRtdXNpXHUwMDNkdHJ1ZVx1MDAyNmF1dG9wbGF5X3RpbWVcdTAwM2QxMDAwMFx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX2Z1bGxzY3JlZW5cdTAwM2QtMVx1MDAyNmF1dG9wbGF5X3RpbWVfZm9yX211c2ljX2NvbnRlbnRcdTAwM2QtMVx1MDAyNmJnX3ZtX3JlaW5pdF90aHJlc2hvbGRcdTAwM2Q3MjAwMDAwXHUwMDI2YmxvY2tfdHZodG1sNV9zaW1wbHlfZW1iZWRkZWRcdTAwM2R0cnVlXHUwMDI2YmxvY2tlZF9wYWNrYWdlc19mb3Jfc3BzXHUwMDNkW11cdTAwMjZib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zXHUwMDNkMzAwMFx1MDAyNmJ5cGFzc19saWNlbnNlX2NoZWNrX2Zvcl9pbmxpbmVfbXV0ZWRcdTAwM2R0cnVlXHUwMDI2Y2FwdGlvbnNfdXJsX2FkZF9laVx1MDAzZHRydWVcdTAwMjZjaGVja19uYXZpZ2F0b3JfYWNjdXJhY3lfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZjaGVja19wbGF5YWJpbGl0eV9zdGF0dXNfaW5fZmlsbGVyc1x1MDAzZHRydWVcdTAwMjZjbGllbnRfdWlfZW5hYmxlX211bHRpX3RyYWNrX2F1ZGlvX29uX3dlYl9lbWJlZGRlZF9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2Y29tcHJlc3Npb25fZGlzYWJsZV9wb2ludFx1MDAzZDEwXHUwMDI2Y293X29wdGltaXplX2lkb21fY29tcGF0XHUwMDNkdHJ1ZVx1MDAyNmNzaV9vbl9nZWxcdTAwM2R0cnVlXHUwMDI2Y3VzdG9tX2FjdGl2ZV92aWV3X3Rvc190aW1lb3V0X21zXHUwMDNkMzYwMDAwMFx1MDAyNmRhc2hfbWFuaWZlc3RfdmVyc2lvblx1MDAzZDVcdTAwMjZkZWJ1Z19iYW5kYWlkX2hvc3RuYW1lXHUwMDNkXHUwMDI2ZGVidWdfYmFuZGFpZF9wb3J0XHUwMDNkMFx1MDAyNmRlYnVnX3NoZXJsb2dfdXNlcm5hbWVcdTAwM2RcdTAwMjZkZWR1cHBpbmdfc2VydmVyX3ZlXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX2Zhc3RfZm9sbG93X2F1dG9uYXZfdG9nZ2xlXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfZGVmYXVsdF90aHVtYm5haWxfcGVyY2VudGFnZVx1MDAzZDAuMFx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfZmFzdGVyX2F1dG9oaWRlX2RlbGF5X21zXHUwMDNkMjAwMFx1MDAyNmRlbGhpX21vZGVybl9wbGF5ZXJfcGF1c2VfdGh1bWJuYWlsX3BlcmNlbnRhZ2VcdTAwM2QwLjZcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9ibGVuZGluZ19tb2RlXHUwMDNkXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfZGlzYWJsZV9mcm9zdGVkX2dsYXNzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2hvcml6b250YWxfdm9sdW1lX2NvbnRyb2xzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2xoc192b2x1bWVfY29udHJvbHNcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfcmVzcG9uc2l2ZV9jb21wYWN0X2NvbnRyb2xzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZkZXByZWNhdGVfY2FwdGlvbnNfdHJhY2tfY291bnRfZGlzcGxheVx1MDAzZHRydWVcdTAwMjZkZXByZWNhdGVfZGVsYXlfcGluZ1x1MDAzZHRydWVcdTAwMjZkZXByZWNhdGVfcGFpcl9zZXJ2bGV0X2VuYWJsZWRcdTAwM2R0cnVlXHUwMDI2ZGVza3RvcF9zcGFya2xlc19saWdodF9jdGFfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfYXYxX3NldHRpbmdcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9jaGlsZF9ub2RlX2F1dG9fZm9ybWF0dGVkX3N0cmluZ3NcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9saWZhX2luXzJrXzRrXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfbG9nX3RvX3Zpc2l0b3JfbGF5ZXJcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9wYWNmX2xvZ2dpbmdfZm9yX21lbW9yeV9saW1pdGVkX3R2XHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcmVkdWNlZF9mdWxsc2NyZWVuX2F1dG9wbGF5X2NvdW50ZG93bl9mb3JfbWlub3JzXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcmVlbF9pdGVtX3dhdGNoX2Zvcm1hdF9maWx0ZXJpbmdcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV90b3VjaF9ldmVudHNfb25fc2tpcF9idXR0b25cdTAwM2R0cnVlXHUwMDI2ZHVyYXRpb25fYmVmb3JlX3BhdXNlX2FkX2JyZWFrX21zX2Zvcl9zeXN0ZW1fcGF1c2VcdTAwM2Q1MDAwXHUwMDI2ZWRnZV9lbmNyeXB0aW9uX2ZpbGxfcHJpbWFyeV9rZXlfdmVyc2lvblx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZGVza3RvZmZfZW5hYmxlX2Fkc190b3BfYmFyXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfY2hhbm5lbF9zdWJzY3JpYmVfZGVwcmVjYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9lbWJlZF9jb25maWdfZm9yX211dGVkX2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfaW5uZXJ0dWJlX3N0b3JlXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfbW92ZV9zZXRfY2VudGVyX2Nyb3BfdG9fcHVibGljXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfcGVyX3ZpZGVvX2VtYmVkX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZlbWJlZHNfd2ViX2xpdGVfbW9kZVx1MDAzZDFcdTAwMjZlbmFibGVfYTExeV9mb2N1c19maXhfZm9yX21hY19wYW5lbF9vbl9kZXNrdG9wXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hYmFuZG9uX3BpbmdfZm9yX3NzZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY2Nlc3NfY29kZV9zZXJ2aWNlX3JwY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWNpX29uX2xyX2ZlZWRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld19kaXNwbGF5X2FkX3JlbmRlcmVyX3dlYl9ob21lXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld19scl9zaG9ydHNfdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjdGl2ZV92aWV3X3dlYl9zaG9ydHNfdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FkX2Nwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hZF9kaXNjbG9zdXJlX2Jhbm5lcl9hMTF5X2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYW50aXNjcmFwaW5nX3dlYl9wbGF5ZXJfZXhwaXJlZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXBwX3Byb21vX2VuZGNhcF9lbWxfb25fdGFibGV0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdHRlbnRpb25fbG9nZ2luZ19tZWFzdXJlX29uX3Nob3duXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdV91MTZfdmVyaWZ5X2FnZV9wYWdlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hdXRvbW90aXZlX2Zvcm1fZmFjdG9yX2NoZWNrXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9iYXRjaGVkX2Nyb3NzX2RldmljZV9waW5nc19pbl9nZWxfZmFub3V0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jYXBhYmlsaXR5X2Zvcm1hdF9maWx0ZXJfaW5fd2F0Y2hfc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jYXN0X2Zvcl93ZWJfdW5wbHVnZ2VkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jZW50ZXJlZF9jYXB0aW9uX2Zvcl90dmZpbG1fdmlkZW9cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NpcGhlcl9mb3JfbWFuaWZlc3RfdXJsc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xlYW51cF9tYXN0aGVhZF9hdXRvcGxheV9oYWNrX2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xpZW50X3BhZ2VfaWRfaGVhZGVyX2Zvcl9maXJzdF9wYXJ0eV9waW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGllbnRfdmVfc3BlY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY3RhX2Jhbm5lcl9vbl91bnBsdWdnZWRfbHJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2N1c3RvbV9wbGF5aGVhZF9wYXJzaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RhaV9zZGZfaDVfcHJlcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZGF0YXN5bmNfaWRfaGVhZGVyX2luX3dlYl92c3NfcGluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RlZmF1bHRfbW9ub19jdGFfbWlncmF0aW9uX3dlYl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RzYV9hZF9iYWRnZV9mb3JfYWN0aW9uX2VuZGNhcF9vbl9hbmRyb2lkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kc2FfYWRfYmFkZ2VfZm9yX2FjdGlvbl9lbmRjYXBfb25faW9zXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lbnRpdHlfc3RvcmVfZnJvbV9kZXBlbmRlbmN5X2luamVjdGlvblx1MDAzZHRydWVcdTAwMjZlbmFibGVfZXJyb3JfY29ycmVjdGlvbnNfaW5mb2NhcmRfd2ViX2NsaWVudFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZXJyb3JfY29ycmVjdGlvbnNfaW5mb2NhcmRzX2ljb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9nZXRfcmVtaW5kZXJfYnV0dG9uX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNiXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pc19leHRlbmRlZF9tb25pdG9yaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9sdGNfcGFyYW1fZmV0Y2hfZnJvbV9pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX21peGVkX2RpcmVjdGlvbl9mb3JtYXR0ZWRfc3RyaW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfbW9kZXJuX3NraXBfYnV0dG9uX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX213ZWJfa2V5Ym9hcmRfc2hvcnRjdXRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9uZXdfcGFpZF9wcm9kdWN0X3BsYWNlbWVudFx1MDAzZHRydWVcdTAwMjZlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaFx1MDAzZHRydWVcdTAwMjZlbmFibGVfb3V0X29mX3N0b2NrX3RleHRfYWxsX3N1cmZhY2VzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BhdXNlX2Fkc19vbl95dHZfaHRtbDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BsYXllcl9jYXB0aW9uc19wZXJzaXN0ZW5jZV9zdGF0ZV9tYWNoaW5lXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wb19kZWNvcmF0aW9uX29mX2ZvcmNlZF90cmFja3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BvbGljeV9iYXNlZF9ocWFfZmlsdGVyX2luX3dhdGNoX3NlcnZlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfcHJvZ3Jlc19jb21tYW5kc19scl9mZWVkc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcHJvZ3Jlc3NfY29tbWFuZHNfZWxfZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wcm9ncmVzc19jb21tYW5kc19scl9zaG9ydHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3B1Ymxpc2hpbmdfcmVnaW9uX3BhcmFtX2luX3N1c1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcHZfc2NyZWVuX21vZGVybl90ZXh0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9ycHJfdG9rZW5fb25fbHRsX2xvb2t1cFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvblx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX2NvbXBhbmlvbl9oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX2RhaV9oNV9taWRyb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfb25faDVfdW5wbHVnZ2VkX3ZvZF9taWRyb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfc2hvcnRzX3BsYXllcl9ieXRlc19oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9hYnJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fYWJyX2Zvcl9iYWNrZ3JvdW5kYWJsZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9hYnJfdXJsX2dlbmVyYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fcmVhZGFoZWFkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9za2lwX2FkX2d1aWRhbmNlX3Byb21wdFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2tpcF90b19uZXh0X21lc3NhZ2luZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21hcnRfc2tpcF9wbGF5ZXJfY29udHJvbHNfc2hvd25fb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWFydF9za2lwX3BsYXllcl9jb250cm9sc19zaG93bl9vbl93ZWJfaW5jcmVhc2VkX3RyaWdnZXJpbmdfc2Vuc2l0aXZpdHlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtYXJ0X3NraXBfc3BlZWRtYXN0ZXJfb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWVhcmluZ19leHBhbnNpb25fZGFpXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zcGxpdF9zY3JlZW5fYWRfYmFzZWxpbmVfZXhwZXJpZW5jZV9lbmRlbWljX2xpdmVfaDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3N1YmZyYWdtZW50ZWRfY2FwdGlvbl9maWx0ZXJpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3N1cGV4X213ZWJfZGVtb193ZWJmZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdG9fY2FsbF9wbGF5cmVhZHlfYmFja2VuZF9kaXJlY3RseVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdW5pZmllZF9hY3Rpb25fZW5kY2FwX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfdmVub21fbm90aWZpY2F0aW9uX2NhY2hlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaFx1MDAzZHRydWVcdTAwMjZlbmFibGVfdm9pY2VfYm9vc3RfZmVhdHVyZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdnA5X2FwcGxldHY1X29uX3NlcnZlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX2RlbGhpX2ljb25zXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfaG9tZV90b3BfbGFuZHNjYXBlX2ltYWdlX2xheW91dF9sZXZlbF9jbGlja1x1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX21lZGlhX3Nlc3Npb25fbWV0YWRhdGFfZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfcHJlbWl1bV92YXJpc3BlZWRfdXBzZWxsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfc2hvcnRzX2F1ZGlvX3RyYWNrXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfdGllcmVkX2dlbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2l6X3F1ZXVlX2VmZmVjdF9hbmRfb25faW5pdF9pbml0aWFsX3J1bnNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3l0X2F0YV9pZnJhbWVfYXV0aHVzZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3l0dl9jc2RhaV92cDlcdTAwM2R0cnVlXHUwMDI2ZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19hbGxvd2VkX3ZpZGVvX2lkc1x1MDAzZFtPSmx3SWRvRno5QSwgQXJLYkF4MUstMlUsIG1fZGhNU3ZVQ0ljLCBDMURocEowN1p1RSwgTnEyd1lsV0Z1Y2csIEpDN2YzRVVEYXF3LCB2cjNYeVZDUjRUMCwgZ0NOZURXQ0kwdm8sIGtCVHVkbTRnZU1zLCBGeHNmVlg2QjFNaywgeWxZSlNCVWdhTUEsIFZXaFE2eHNwblNjLCBSSFVhdU1jWWxYMCwgY2IxMkttTU1ESkEsIFdKeEVqX2hycFNnLCBldWhZLXRtZzl4OCwgVGxJVkkyRVc3UjAsIE1JTmZ2T1g0QnpJLCB5SG1QV3praGNaOCwgcDN3MXZPOVh2MjQsIFZsYUNucDFmeEk4LCAtT2ZBMDRCRDRHQSwgMW9kWTNJWXNObm8sIHdpVFRyVnFSVkR3LCBEZm0yckItblE5WSwgUW0xRnR6OGxWbkksIDlpdEF4cV9TR0RNLCB5Rkkzd3BYeTR6QSwgUHk1SllaWEp2em8sIGI0dEU1YUtodGxnLCA1SkR4anNBVmFHaywgZVVtZkdQYXp1RU0sIFc4blRocTYyVmI0LCBWTGp2UzN1ZmxYYywgQmZkTEt2SkJNX2MsIHdlTFhkd1ZqU3hzLCAySmEtdVBPa3o3SSwgQTlRQlZGRVl4T1EsIGstWkZRa2tIVWZjLCB3dXUwRDIwQVpxSSwgX0h2aVN5Qzd6U1UsIF9feE96X1EzcVI0LCB3MnNCODdqTEUxSSwgOHJUVEVNZE1oOFEsIC1rNm1wZ214ZXJVLCA5N2NrbnJKeUxXZywgMkZJdFZ5eExOTmMsIG90bnhmY3NHRS1ZLCBzOXhMMURwQnNmUSwgd2ZBR0JWZ1Vycm8sIG5YSDZUeFEtc2k4LCBXaUkxWGdfbkV1OCwgM2ZsYXNHVlVyQ0EsIGVEWV9IZTkybGNVLCBhNDdja1hLWmp4SSwgSTZXUlhlS1pLNjQsIFQ5SjVEcVAyREt3LCBLdGtfSTBwVXBHOCwgZVEyY3pHcU9DUGcsIGhMbVU0OWhtWjRjLCA3ZjdNZ2FNRTdTYywgUUI1Qk5kQkZ1akUsIEFHaHRNVV9maTcwLCBwMlJhUVVSUkF3QSwgbXpfX0VNWXBXUHcsIDZqaEx1U1FWSXhVLCByQzgzdl91dUlxbywgNkRhR2RKUl9lTGcsIGNtNDN1WGpmdlpZLCBZMUpzUHBtMmJtUSwgejA5N2pQeUtlZW8sIFRZVlpXVVRqa3gwLCBWSGFBdmVuZlREaywgdHY5T1VfNVEwcFEsIDZvS0N2em02SG1nLCBCRUZVRVJoVDBuMCwgdVROLWV1MC1PWEUsIGhiYXByaFI3elRvLCAyQ1YwVi1vTU5GTSwgdThkU09Lb05KcDAsIEg4TXFxd21Gc3hZLCBJc2trbU5QSmRVaywgWDlIX0V6cERHWFFdXHUwMDI2ZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19tYXhfd2luZG93X3NlY29uZHNcdTAwM2Q2MFx1MDAyNmV4cGFuZF9tZWRpYXRla19kZW55bGlzdF90b19hbGxfbGl2ZV92cDlfaW5fYmFja2VuZF9leHBlcmltZW50XHUwMDNkW11cdTAwMjZleHBvcnRfbmV0d29ya2xlc3Nfb3B0aW9uc1x1MDAzZHRydWVcdTAwMjZleHBvcnRfcGxheWVyX3ZlcnNpb25fdG9feXRjb25maWdcdTAwM2R0cnVlXHUwMDI2ZmlsbF9hZHNfdXN0cmVhbWVyX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZmaWxsX2xpdmVfcmVxdWVzdF9jb25maWdfaW5fdXN0cmVhbWVyX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZmaWxsX3NpbmdsZV92aWRlb193aXRoX25vdGlmeV90b19sYXNyXHUwMDNkdHJ1ZVx1MDAyNmZpbHRlcl92Yl93aXRob3V0X25vbl92Yl9lcXVpdmFsZW50c1x1MDAzZHRydWVcdTAwMjZmaWx0ZXJfdnA5X2Zvcl9saXZlX2RhaVx1MDAzZHRydWVcdTAwMjZmaXhfYWRfbWluaXBsYXllcl9jb250cm9sc19yZW5kZXJpbmdcdTAwM2R0cnVlXHUwMDI2Zml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViXHUwMDNkdHJ1ZVx1MDAyNmZpeF9oNV90b2dnbGVfYnV0dG9uX2ExMXlcdTAwM2R0cnVlXHUwMDI2Zml4X3N1cnZleV9jb2xvcl9jb250cmFzdF9vbl9kZXN0b3BcdTAwM2R0cnVlXHUwMDI2ZnJlc2NhX3BvbGxpbmdfZGVsYXlfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2Z2FiX3JldHVybl9zYWJyX3NzZGFpX2NvbmZpZ1x1MDAzZHRydWVcdTAwMjZnZWxfbWluX2JhdGNoX3NpemVcdTAwM2QzXHUwMDI2Z2VsX3F1ZXVlX3RpbWVvdXRfbWF4X21zXHUwMDNkNjAwMDBcdTAwMjZndmlfY2hhbm5lbF9jbGllbnRfc2NyZWVuXHUwMDNkdHJ1ZVx1MDAyNmg1X2NvbXBhbmlvbl9lbmFibGVfYWRjcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5nc1x1MDAzZHRydWVcdTAwMjZoNV9lbmFibGVfYWRfbWJzXHUwMDNkdHJ1ZVx1MDAyNmg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmg1X3Jlc2V0X2NhY2hlX2FuZF9maWx0ZXJfYmVmb3JlX3VwZGF0ZV9tYXN0aGVhZFx1MDAzZHRydWVcdTAwMjZoNV96ZXJvX2R1cmF0aW9uX2N1ZV9yYW5nZV9mb3JfZGlic1x1MDAzZHRydWVcdTAwMjZoZnJfZHJvcHBlZF9mcmFtZXJhdGVfZmFsbGJhY2tfdGhyZXNob2xkXHUwMDNkMFx1MDAyNmhpZ2hfY2N2X2NsaWVudF9zaWRlX2NhY2hpbmdfaDVcdTAwM2R0cnVlXHUwMDI2aGxzX3VzZV9uZXdfY29kZWNzX3N0cmluZ19hcGlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYWRfdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9hZGFwdGF0aW9uX3N0ZXBfY291bnRcdTAwM2QwXHUwMDI2aHRtbDVfYWRzX3ByZXJvbGxfbG9ja190aW1lb3V0X2RlbGF5X21zXHUwMDNkMTUwMDBcdTAwMjZodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FsbG93X3ByZWxvYWRpbmdfd2l0aF9pZGxlX29ubHlfbmV0d29ya19mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9hbGxvd192aWRlb19rZXlmcmFtZV93aXRob3V0X2F1ZGlvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FwcGx5X2NvbnN0cmFpbnRzX2luX2NsaWVudF9mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9hcHBseV9taW5fZmFpbHVyZXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXBwbHlfc3RhcnRfdGltZV93aXRoaW5fYWRzX2Zvcl9zc2RhaV90cmFuc2l0aW9uc1x1MDAzZHRydWVcdTAwMjZodG1sNV9hdHJfZGlzYWJsZV9mb3JjZV9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZodG1sNV9hdHRfcGxheWJhY2tfdGltZW91dF9tc1x1MDAzZDMwMDAwXHUwMDI2aHRtbDVfYXR0YWNoX251bV9yYW5kb21fYnl0ZXNfdG9fYmFuZGFpZFx1MDAzZDBcdTAwMjZodG1sNV9hdHRhY2hfcG9fdG9rZW5fdG9fYmFuZGFpZFx1MDAzZHRydWVcdTAwMjZodG1sNV9hdXRvbmF2X2NhcF9pZGxlX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcFx1MDAzZDcyMFx1MDAyNmh0bWw1X2F1dG9wbGF5X2RlZmF1bHRfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfYXV4aWxpYXJ5X2VzdGltYXRlX3dlaWdodFx1MDAzZDAuMFx1MDAyNmh0bWw1X2F2MV9vcmRpbmFsX2NhcFx1MDAzZDBcdTAwMjZodG1sNV9iYW5kYWlkX2F0dGFjaF9jb250ZW50X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Jsb2NrX3BpcF9zYWZhcmlfZGVsYXlcdTAwM2QwXHUwMDI2aHRtbDVfYnlwYXNzX2NvbnRlbnRpb25fc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2NoZWNrX2Zvcl9pZGxlX25ldHdvcmtfaW50ZXJ2YWxfbXNcdTAwM2QxMDAwXHUwMDI2aHRtbDVfY2hpcHNldF9zb2Z0X2NhcFx1MDAzZDgxOTJcdTAwMjZodG1sNV9jbGFtcF9pbnZhbGlkX3NlZWtfdG9fbWluX3NlZWthYmxlX3RpbWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfY29uc3VtZV9hbGxfYnVmZmVyZWRfYnl0ZXNfb25lX3BvbGxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfY29udGludW91c19nb29kcHV0X3Byb2JlX2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X2Q2ZGU0X2Nsb3VkX3Byb2plY3RfbnVtYmVyXHUwMDNkODY4NjE4Njc2OTUyXHUwMDI2aHRtbDVfZGVidWdfZGF0YV9sb2dfcHJvYmFiaWxpdHlcdTAwM2QwLjBcdTAwMjZodG1sNV9kZWNvZGVfdG9fdGV4dHVyZV9jYXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVmYXVsdF9hZF9nYWluXHUwMDNkMC41XHUwMDI2aHRtbDVfZGVmYXVsdF9hdjFfdGhyZXNob2xkXHUwMDNkMFx1MDAyNmh0bWw1X2RlZmF1bHRfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfZGVmZXJfZmV0Y2hfYXR0X21zXHUwMDNkMFx1MDAyNmh0bWw1X2RlbGF5ZWRfcmV0cnlfY291bnRcdTAwM2QxXHUwMDI2aHRtbDVfZGVsYXllZF9yZXRyeV9kZWxheV9tc1x1MDAzZDUwMDBcdTAwMjZodG1sNV9kZXByZWNhdGVfYWRhcHRpdmVfZm9ybWF0c19zdHJpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX2Fkc2VydmljZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kZXByZWNhdGVfbWFuaWZlc3RmdWxfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX3ZpZGVvX3RhZ19wb29sXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rlc2t0b3BfdnIxODBfYWxsb3dfcGFubmluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoXHUwMDNkMC42XHUwMDI2aHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9jbGllbnRfYXV0b25hdl9jYXBfZm9yX29uZXNpZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX2xvb3BfcmFuZ2VfZm9yX3Nob3J0c19hZHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9ub25fY29udGlndW91c1x1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3BlYWtfc2hhdmVfZm9yX29uZXNpZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3VzdHJlYW1lcl9jb25zdHJhaW50X2Zvcl9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfd2ViX3NhZmFyaV9kYWlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzcGxheWVkX2ZyYW1lX3JhdGVfZG93bmdyYWRlX3RocmVzaG9sZFx1MDAzZDQ1XHUwMDI2aHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2RybV9jaGVja19hbGxfa2V5X2Vycm9yX3N0YXRlc1x1MDAzZHRydWVcdTAwMjZodG1sNV9kcm1fY3BpX2xpY2Vuc2Vfa2V5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RybV9saXZlX2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9zaGFycGVyX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYWMzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hdWRpb190cmFja19zdGlja2luZXNzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hdWRpb190cmFja19zdGlja2luZXNzX3BoYXNlX3R3b1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfY2FwdGlvbl9jaGFuZ2VzX2Zvcl9tb3NhaWNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2NvbXBvc2l0ZV9lbWJhcmdvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kNmRlNFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZDZkZTRfY29sZF9zdGFydF9hbmRfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2Q2ZGU0X2lkbGVfcHJpb3JpdHlfam9iXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kcmNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2RyY190b2dnbGVfYXBpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lYWMzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lbWJlZGRlZF9wbGF5ZXJfdmlzaWJpbGl0eV9zaWduYWxzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9vZHVjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2Zvcm1hdF9zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfZnJvbV93YXRjaF9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfaG9zdF9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9vbl9kcml2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9vbl95dF9lbWJlZHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfdm9kX3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NlcnZlcl9kcml2ZW5fcmVxdWVzdF9jYW5jZWxsYXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3Nwc19yZXRyeV9iYWNrb2ZmX21ldGFkYXRhX3JlcXVlc3RzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zc2RhaV90cmFuc2l0aW9uX3dpdGhfb25seV9lbnRlcl9jdWVyYW5nZVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHJpZ2dlcmluZ19jdWVwb2ludF9mb3Jfc2xvdFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHZvc19kYXNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV90dm9zX2VuY3J5cHRlZF92cDlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5jb3VyYWdlX2FycmF5X2NvYWxlc2NpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZmlsbF9kZWZhdWx0X21vc2FpY19hdWRpb190cmFja19pZFx1MDAzZHRydWVcdTAwMjZodG1sNV9maXhlZF9tZWRpYV9kdXJhdGlvbl9mb3JfcmVxdWVzdFx1MDAzZDBcdTAwMjZodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZm9yY2Vfc2Ficl9mcm9tX3dhdGNoX3NlcnZlcl9mb3JfZGZzc1x1MDAzZHRydWVcdTAwMjZodG1sNV9mb3J3YXJkX2NsaWNrX3RyYWNraW5nX3BhcmFtc19vbl9yZWxvYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19hZF9hdXRvcGxheV9vbl92aWRlb190b19hZF9vbmx5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfZW5kZWRfdHJhbnNpdGlvbl9idWZmZXJfbXNcdTAwM2QyMDBcdTAwMjZodG1sNV9nYXBsZXNzX2hhbmRvZmZfY2xvc2VfZW5kX2xvbmdfcmVidWZmZXJfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfaGFuZG9mZl9jbG9zZV9lbmRfbG9uZ19yZWJ1ZmZlcl9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nYXBsZXNzX2xvb3Bfc2Vla19vZmZzZXRfaW5fbWlsbGlcdTAwM2QwXHUwMDI2aHRtbDVfZ2FwbGVzc19zbG93X3NlZWtfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zZWVrX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nZW5lcmF0ZV9jb250ZW50X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2xfZnBzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzXHUwMDNkMFx1MDAyNmh0bWw1X2hkY3BfcHJvYmluZ19zdHJlYW1fdXJsXHUwMDNkXHUwMDI2aHRtbDVfaGVhZF9taXNzX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9oZnJfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfaGlnaF9yZXNfbG9nZ2luZ19wZXJjZW50XHUwMDNkMTAuMFx1MDAyNmh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9ob3BlbGVzc19zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X2h1bGlfc3NkYWlfdXNlX3BsYXliYWNrX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lkbGVfcmF0ZV9saW1pdF9tc1x1MDAzZDBcdTAwMjZodG1sNV9pZ25vcmVfcGFydGlhbF9zZWdtZW50X2Zyb21fbGl2ZV9yZWFkYWhlYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaWdub3JlX3NhYnJzZWVrX2R1cmluZ19hZHNraXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaW5uZXJ0dWJlX2hlYXJ0YmVhdHNfZm9yX2ZhaXJwbGF5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lubmVydHViZV9oZWFydGJlYXRzX2Zvcl93aWRldmluZVx1MDAzZHRydWVcdTAwMjZodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0XHUwMDNkMy4wXHUwMDI2aHRtbDVfanVtYm9fdWxsX25vbnN0cmVhbWluZ19tZmZhX21zXHUwMDNkNDAwMFx1MDAyNmh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRcdTAwM2QxLjNcdTAwMjZodG1sNV9rYWJ1a2lfZHJtX2xpdmVfNTFfZGVmYXVsdF9vZmZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbGljZW5zZV9jb25zdHJhaW50X2RlbGF5XHUwMDNkNTAwMFx1MDAyNmh0bWw1X2xpdmVfYWJyX2hlYWRfbWlzc19mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfYWJyX3JlcHJlZGljdF9mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfY2h1bmtfcmVhZGFoZWFkX3Byb3hpbWFfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZV9sb3dfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9saXZlX3VsdHJhX2xvd19sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3dcdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlbmVzc19kcmlmdF9jaHVua19vdmVycmlkZVx1MDAzZDBcdTAwMjZodG1sNV9saXZlbmVzc19kcmlmdF9wcm94aW1hX292ZXJyaWRlXHUwMDNkMFx1MDAyNmh0bWw1X2xvZ19hdWRpb19hYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX2V4cGVyaW1lbnRfaWRfZnJvbV9wbGF5ZXJfcmVzcG9uc2VfdG9fY3RtcFx1MDAzZFx1MDAyNmh0bWw1X2xvZ19maXJzdF9zc2RhaV9yZXF1ZXN0c19raWxsc3dpdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ19yZWJ1ZmZlcl9ldmVudHNcdTAwM2Q1XHUwMDI2aHRtbDVfbG9nX3NhYnJfbWFsZm9ybWVkX2NvbmZpZ19wcm90b19zaGFyZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YVx1MDAzZHRydWVcdTAwMjZodG1sNV9sb2dfdnNzX2V4dHJhX2xyX2NwYXJhbXNfZnJlcVx1MDAzZFx1MDAyNmh0bWw1X2xvbmdfcmVidWZmZXJfamlnZ2xlX2NtdF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX3RocmVzaG9sZF9tc1x1MDAzZDMwMDAwXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOV9vdGZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbWF4X2J1ZmZlcl9oZWFsdGhfZm9yX2Rvd25ncmFkZV9wcm9wXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2J1ZmZlcl9oZWFsdGhfZm9yX2Rvd25ncmFkZV9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2J5dGVyYXRlXHUwMDNkMFx1MDAyNmh0bWw1X21heF9kaXNjb250aW51aXR5X3Jld3JpdGVfY291bnRcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X2RyaWZ0X3Blcl90cmFja19zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2hlYWRtX2Zvcl9zdHJlYW1pbmdfeGhyXHUwMDNkMFx1MDAyNmh0bWw1X21heF9saXZlX2R2cl93aW5kb3dfcGx1c19tYXJnaW5fc2Vjc1x1MDAzZDQ2ODAwLjBcdTAwMjZodG1sNV9tYXhfcXVhbGl0eV9zZWxfdXBncmFkZVx1MDAzZDBcdTAwMjZodG1sNV9tYXhfcmVkaXJlY3RfcmVzcG9uc2VfbGVuZ3RoXHUwMDNkODE5Mlx1MDAyNmh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9tYXhfdmVydGljYWxfcmVzb2x1dGlvblx1MDAzZDBcdTAwMjZodG1sNV9tYXhpbXVtX3JlYWRhaGVhZF9zZWNvbmRzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWVkaWFfZnVsbHNjcmVlblx1MDAzZHRydWVcdTAwMjZodG1sNV9tZWRpYV90aW1lX3dlaWdodF9wcm9wXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWZjX21heF9xdWV1ZV9sZW5ndGhcdTAwM2QxXHUwMDI2aHRtbDVfbWZjX21pbl9idWZmZXJfaGVhbHRoXHUwMDNkMFx1MDAyNmh0bWw1X21mY19zZWNzX2xlZnRfdG9fc3RhcnRfcHJlbG9hZFx1MDAzZDBcdTAwMjZodG1sNV9taW5fZmFpbHVyZXNfdG9fZGVsYXlfcmV0cnlcdTAwM2QzXHUwMDI2aHRtbDVfbWluX21lZGlhX2R1cmF0aW9uX2Zvcl9hcHBlbmRfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21pbl9tZWRpYV9kdXJhdGlvbl9mb3JfY2Ficl9zbGljZVx1MDAzZDAuMDFcdTAwMjZodG1sNV9taW5fcGxheWJhY2tfYWR2YW5jZV9mb3Jfc3RlYWR5X3N0YXRlX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9jYXBfc2Vjc1x1MDAzZDYwXHUwMDI2aHRtbDVfbWluX3JlYWRiZWhpbmRfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9taW5fc2Vjb25kc19iZXR3ZWVuX2Zvcm1hdF9zZWxlY3Rpb25zXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluX3NlbGVjdGFibGVfcXVhbGl0eV9vcmRpbmFsXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9zdGFydHVwX2J1ZmZlcmVkX21lZGlhX2R1cmF0aW9uX2Zvcl9saXZlX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9zZWNzXHUwMDNkMS4yXHUwMDI2aHRtbDVfbWluX3N0YXJ0dXBfZHVyYXRpb25fbGl2ZV9zZWNzXHUwMDNkMC4yNVx1MDAyNmh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zXHUwMDNkMFx1MDAyNmh0bWw1X21pbl91cGdyYWRlX2hlYWx0aF9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21vY2tfY29udGVudF9iaW5kaW5nX2Zvcl9zZXNzaW9uX3Rva2VuXHUwMDNkXHUwMDI2aHRtbDVfbW92ZV9kaXNhYmxlX2FpcnBsYXlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbm9fcGxhY2Vob2xkZXJfcm9sbGJhY2tzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X25vbl9vbmVzaWVfYXR0YWNoX3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29mZmxpbmVfZG93bmxvYWRfdGltZW91dF9yZXRyeV9saW1pdFx1MDAzZDRcdTAwMjZodG1sNV9vZmZsaW5lX2ZhaWx1cmVfcmV0cnlfbGltaXRcdTAwM2QyXHUwMDI2aHRtbDVfb2ZmbGluZV9wbGF5YmFja19wb3NpdGlvbl9zeW5jXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29mZmxpbmVfcHJldmVudF9yZWRvd25sb2FkX2Rvd25sb2FkZWRfdmlkZW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2NoZWNrX3RpbWVvdXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2RlZmVyX2NvbnRlbnRfbG9hZGVyX21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9saXZlX3R0bF9zZWNzXHUwMDNkOFx1MDAyNmh0bWw1X29uZXNpZV9wcmV3YXJtX2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9wcmV3YXJtX21heF9sYWN0X21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9yZWRpcmVjdG9yX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfb25lc2llX3NlbmRfc3RyZWFtZXJfY29udGV4dFx1MDAzZHRydWVcdTAwMjZodG1sNV9vdmVycmlkZV9taWNyb19kaXNjb250aW51aXRpZXNfdGhyZXNob2xkX21zXHUwMDNkLTFcdTAwMjZodG1sNV9wYWNlZF9wb2xsX21pbl9oZWFsdGhfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcGFjZWRfcG9sbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9wYXVzZV9vbl9ub25mb3JlZ3JvdW5kX3BsYXRmb3JtX2Vycm9yc1x1MDAzZHRydWVcdTAwMjZodG1sNV9wZWFrX3NoYXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BlcmZfY2FwX292ZXJyaWRlX3N0aWNreVx1MDAzZHRydWVcdTAwMjZodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3JcdTAwM2QzNjBcdTAwMjZodG1sNV9wZXJzZXJ2ZV9hdjFfcGVyZl9jYXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGljdHVyZV9pbl9waWN0dXJlX2xvZ2dpbmdfb25yZXNpemVfcmF0aW9cdTAwM2QwLjBcdTAwMjZodG1sNV9wbGF0Zm9ybV9tYXhfYnVmZmVyX2hlYWx0aF9vdmVyc2VuZF9kdXJhdGlvbl9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfcGxhdGZvcm1fbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3BsYXRmb3JtX3doaXRlbGlzdGVkX2Zvcl9mcmFtZV9hY2N1cmF0ZV9zZWVrc1x1MDAzZHRydWVcdTAwMjZodG1sNV9wbGF5ZXJfYXR0X2luaXRpYWxfZGVsYXlfbXNcdTAwM2QzMDAwXHUwMDI2aHRtbDVfcGxheWVyX2F0dF9yZXRyeV9kZWxheV9tc1x1MDAzZDE1MDBcdTAwMjZodG1sNV9wbGF5ZXJfYXV0b25hdl9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9lczZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGxheWVyX21pbl9idWlsZF9jbFx1MDAzZC0xXHUwMDI2aHRtbDVfcGxheWVyX3ByZWxvYWRfYWRfZml4XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Bvc3RfaW50ZXJydXB0X3JlYWRhaGVhZFx1MDAzZDIwXHUwMDI2aHRtbDVfcHJlZmVyX2xhbmd1YWdlX292ZXJfY29kZWNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJlZmVyX3NlcnZlcl9id2UzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWxvYWRfYmVmb3JlX2luaXRpYWxfc2Vla193aXRoX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJlbG9hZF93YWl0X3RpbWVfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3ByZXZlbnRfbW9iaWxlX2JhY2tncm91bmRfcGxheV9vbl9ldmVudF9zaGFyZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJvYmVfcHJpbWFyeV9kZWxheV9iYXNlX21zXHUwMDNkMFx1MDAyNmh0bWw1X3Byb2Nlc3NfYWxsX2VuY3J5cHRlZF9ldmVudHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcW9lX3Byb3RvX21vY2tfbGVuZ3RoXHUwMDNkMFx1MDAyNmh0bWw1X3F1ZXJ5X3N3X3NlY3VyZV9jcnlwdG9fZm9yX2FuZHJvaWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmFuZG9tX3BsYXliYWNrX2NhcFx1MDAzZDBcdTAwMjZodG1sNV9yZWNvcmRfaXNfb2ZmbGluZV9vbl9wbGF5YmFja19hdHRlbXB0X3N0YXJ0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlY29yZF91bXBfdGltaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbG9hZF9ieV9rYWJ1a2lfYXBwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9jbGllbnRfc2Ficl9kZXRlcm1pbmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9jb21tYW5kX3RyaWdnZXJlZF9jb21wYW5pb25zXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9ub3Rfc2VydmFibGVfY2hlY2tfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXBvcnRfZmF0YWxfZHJtX3Jlc3RyaWN0ZWRfZXJyb3Jfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXBvcnRfc2xvd19hZHNfYXNfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwcmVkaWN0X2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X3JlcXVlc3Rfb25seV9oZHJfb3Jfc2RyX2tleXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVxdWVzdF9zaXplX21heF9rYlx1MDAzZDBcdTAwMjZodG1sNV9yZXF1ZXN0X3NpemVfbWluX2tiXHUwMDNkMFx1MDAyNmh0bWw1X3Jlc2Vla19hZnRlcl90aW1lX2p1bXBfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Jlc2Vla19hZnRlcl90aW1lX2p1bXBfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcmVzZXRfYmFja29mZl9vbl91c2VyX3NlZWtcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVzb3VyY2VfYmFkX3N0YXR1c19kZWxheV9zY2FsaW5nXHUwMDNkMS41XHUwMDI2aHRtbDVfcmVzdHJpY3Rfc3RyZWFtaW5nX3hocl9vbl9zcWxlc3NfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfZG93bmxvYWRzX2Zvcl9leHBpcmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X29uX2RybV9rZXlfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfb25fZHJtX3VuYXZhaWxhYmxlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X3F1b3RhX2V4Y2VlZGVkX3ZpYV9zZWVrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHVybl9wbGF5YmFja19pZl9hbHJlYWR5X3ByZWxvYWRlZFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2VuYWJsZV9zZXJ2ZXJfeHRhZ19zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9mZXRjaF9vbl9pZGxlX25ldHdvcmtfcHJlbG9hZGVkX3BsYXllcnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9mb3JjZV9tYXhfbmV0d29ya19pbnRlcnJ1cHRpb25fZHVyYXRpb25fbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX25vcm1hbF9sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xpdmVfdWx0cmFfbG93X2xhdGVuY3lfc3RyZWFtaW5nX3hoclx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xvZ19zZXJ2ZXJfeHRhZ19zZWxlY3Rpb25fb25lc2llX21pc21hdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbWluX21lZGlhX2J5dGVzX2ZhY3Rvcl90b19hcHBlbmRfZm9yX3N0cmVhbVx1MDAzZDAuMFx1MDAyNmh0bWw1X3NhYnJfbm9uX3N0cmVhbWluZ194aHJfcmVxdWVzdF9jYW5jZWxsYXRpb25fdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9zYWJyX25vbl9zdHJlYW1pbmdfeGhyX3RpbWVvdXRfcmV0cnlfbGltaXRcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3JlcG9ydF9yZXF1ZXN0X2NhbmNlbGxhdGlvbl9pbmZvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfcmVxdWVzdF9saW1pdF9wZXJfcGVyaW9kXHUwMDNkMjBcdTAwMjZodG1sNV9zYWJyX3JlcXVlc3Rfb25fY29uc3RyYWludFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3NlZWtfbm9fc2hpZnRfdG9sZXJhbmNlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfc2tpcF9jbGllbnRfYXVkaW9faW5pdF9zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9zdWNjZXNzZnVsX3Byb2JlX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfdW51c2VkX2Jsb2F0X3NpemVfYnl0ZXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ftc3VuZ19rYW50X2xpbWl0X21heF9iaXRyYXRlXHUwMDNkMFx1MDAyNmh0bWw1X3NlZWtfamlnZ2xlX2NtdF9kZWxheV9tc1x1MDAzZDgwMDBcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX2RlbGF5X21zXHUwMDNkMTIwMDBcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX3Nob3J0c19kZWxheV9tc1x1MDAzZDIwMDBcdTAwMjZodG1sNV9zZWVrX25ld19tZWRpYV9lbGVtZW50X3Nob3J0c19yZXVzZV9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfZWxlbWVudF9zaG9ydHNfcmV1c2VfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfc291cmNlX3Nob3J0c19yZXVzZV9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfc291cmNlX3Nob3J0c19yZXVzZV9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zZWVrX3NldF9jbXRfZGVsYXlfbXNcdTAwM2QyMDAwXHUwMDI2aHRtbDVfc2Vla190aW1lb3V0X2RlbGF5X21zXHUwMDNkMjAwMDBcdTAwMjZodG1sNV9zZW5kX2N1ZXBvaW50X2lkX2luX2FkX2JyZWFrX3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VuZF9zZXJpYWxpemVkX29uZV90aW1lX3FvZV9jb250ZXh0X2RhdGFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9zZXJ2ZXJfc3RpdGNoZWRfZGFpX2RlY29yYXRlZF91cmxfcmV0cnlfbGltaXRcdTAwM2Q1XHUwMDI2aHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zXHUwMDNkOTAwMDAwXHUwMDI2aHRtbDVfc2V0X3ZpZGVvX2lkX2FzX2V4cGVjdGVkX2NvbnRlbnRfYmluZGluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19hZF9zbG93X3N0YXJ0X2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19hZF9zbG93X3N0YXJ0X2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX25leHRfYnVmZmVyX2luX3NlY29uZHNcdTAwM2QwXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3Nfbm9fZ2xsYXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zaG93X2RyY190b2dnbGVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2ltcGxpZmllZF9iYWNrdXBfdGltZW91dF9zYWJyX2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2tpcF9lbXB0eV9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9za2lwX3Nsb3dfYWRfZGVsYXlfbXNcdTAwM2QxNTAwMFx1MDAyNmh0bWw1X3Nsb3dfc3RhcnRfbm9fbWVkaWFfc291cmNlX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Nsb3dfc3RhcnRfdGltZW91dF9kZWxheV9tc1x1MDAzZDIwMDAwXHUwMDI2aHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3NkYWlfZmFpbHVyZV9yZXRyeV9saW1pdFx1MDAzZDBcdTAwMjZodG1sNV9zc2RhaV9sb2dfbWlzc2luZ19hZF9jb25maWdfcmVhc29uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3N0YWxsX2ZhY3Rvclx1MDAzZDAuMFx1MDAyNmh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RpY2t5X2R1cmF0aW9uX21vc1x1MDAzZDBcdTAwMjZodG1sNV9zdG9yZV94aHJfaGVhZGVyc19yZWFkYWJsZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zdHJlYW1pbmdfcmVzaWxpZW5jZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zdHJlYW1pbmdfeGhyX3RpbWVfYmFzZWRfY29uc29saWRhdGlvbl9tc1x1MDAzZC0xXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbG9hZF9zcGVlZF9jaGVja19pbnRlcnZhbFx1MDAzZDAuNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3NcdTAwM2QwLjI1XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2J1ZmZlcl9oZWFsdGhfc2Vjc19vbl90aW1lb3V0XHUwMDNkMC4xXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2xvYWRfc3BlZWRcdTAwM2QxLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9zZWVrX2xhdGVuY3lfZnVkZ2VcdTAwM2QwLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRfYnVmZmVyX2hlYWx0aF9zZWNzXHUwMDNkMC41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGltZW91dF9zZWNzXHUwMDNkMi4wXHUwMDI2aHRtbDVfdHJhY2tfb3ZlcnNob290XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3RyYW5zZmVyX3Byb2Nlc3NpbmdfbG9nc19pbnRlcnZhbFx1MDAzZDEwMDBcdTAwMjZodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29ya1x1MDAzZHRydWVcdTAwMjZodG1sNV91Z2NfbGl2ZV9hdWRpb181MVx1MDAzZHRydWVcdTAwMjZodG1sNV91Z2Nfdm9kX2F1ZGlvXzUxXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VucmVwb3J0ZWRfc2Vla19yZXNlZWtfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfdXBkYXRlX3RpbWVfb25fc2Vla2VkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfaW5pdF9zZWxlY3RlZF9hdWRpb1x1MDAzZHRydWVcdTAwMjZodG1sNV91c2Vfbm9uX2FjdGl2ZV9icm9hZGNhc3RfZm9yX3Bvc3RfbGl2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfcG9zdF9mb3JfbWVkaWFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3NoYXJlZF9vd2xfaW5zdGFuY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3VtcFx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdW1wX3JlcXVlc3Rfc2xpY2VyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV91bXBfdGltaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV92aWRlb19xdWFsaXR5X2NhcF9mb3JfdXN0cmVhbWVyX2NvbnN0cmFpbnRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3ZpZGVvX3RyYW5zaXRpb25fZW5kcG9pbnRfaGVhcnRiZWF0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ZpZGVvX3RiZF9taW5fa2JcdTAwM2QwXHUwMDI2aHRtbDVfdmlld3BvcnRfdW5kZXJzZW5kX21heGltdW1cdTAwM2QwLjBcdTAwMjZodG1sNV92b2x1bWVfc2xpZGVyX3Rvb2x0aXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfd2ViX3BvX2V4cGVyaW1lbnRfaWRzXHUwMDNkW11cdTAwMjZodG1sNV93ZWJfcG9fcmVxdWVzdF9rZXlcdTAwM2RcdTAwMjZodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfd29mZmxlX3Jlc3VtZVx1MDAzZHRydWVcdTAwMjZodG1sNV93b3JrYXJvdW5kX2RlbGF5X3RyaWdnZXJcdTAwM2R0cnVlXHUwMDI2aWRiX2ltbWVkaWF0ZV9jb21taXRcdTAwM2R0cnVlXHUwMDI2aWdub3JlX292ZXJsYXBwaW5nX2N1ZV9wb2ludHNfb25fZW5kZW1pY19saXZlX2h0bWw1XHUwMDNkdHJ1ZVx1MDAyNmlsX2F0dGFjaF9jYWNoZV9saW1pdFx1MDAzZHRydWVcdTAwMjZpbF9wYXlsb2FkX3NjcmFwaW5nXHUwMDNkXHUwMDI2aWxfdXNlX3ZpZXdfbW9kZWxfbG9nZ2luZ19jb250ZXh0XHUwMDNkdHJ1ZVx1MDAyNmluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXRcdTAwM2QyMDAwXHUwMDI2aW5qZWN0ZWRfbGljZW5zZV9oYW5kbGVyX2Vycm9yX2NvZGVcdTAwM2QwXHUwMDI2aW5qZWN0ZWRfbGljZW5zZV9oYW5kbGVyX2xpY2Vuc2Vfc3RhdHVzXHUwMDNkMFx1MDAyNmlvc19hbmRfYW5kcm9pZF9mcmVzY2FfcG9sbGluZ19kZWxheV9vdmVycmlkZVx1MDAzZDBcdTAwMjZpdGRybV9hbHdheXNfdXNlX3dpZGV2aW5lX3Nka1x1MDAzZHRydWVcdTAwMjZpdGRybV9kaXNhYmxlX2V4dGVybmFsX2tleV9yb3RhdGlvbl9zeXN0ZW1faWRzXHUwMDNkW11cdTAwMjZpdGRybV9lbmFibGVfcmV2b2NhdGlvbl9yZXBvcnRpbmdcdTAwM2R0cnVlXHUwMDI2aXRkcm1faW5qZWN0ZWRfbGljZW5zZV9zZXJ2aWNlX2Vycm9yX2NvZGVcdTAwM2QwXHUwMDI2aXRkcm1fc2V0X3NhYnJfbGljZW5zZV9jb25zdHJhaW50XHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3VzZV9mYWlycGxheV9zZGtcdTAwM2R0cnVlXHUwMDI2aXRkcm1fdXNlX3dpZGV2aW5lX3Nka19mb3JfcHJlbWl1bV9jb250ZW50XHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3dpZGV2aW5lX2hhcmRlbmVkX3ZtcF9tb2RlXHUwMDNkbG9nXHUwMDI2aXRkcm1fd2xzX3NlY3VyZV9kYXRhX3BhdGhfaHdfZGVjb2RlXHUwMDNkdHJ1ZVx1MDAyNmpzb25fY29uZGVuc2VkX3Jlc3BvbnNlXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9jb21tYW5kX2hhbmRsZXJfY29tbWFuZF9iYW5saXN0XHUwMDNkW11cdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5faWRlYWxfdGlsZV93aWR0aF9wZXJjZW50YWdlXHUwMDNkMC4yN1x1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9tYXhfcm93c1x1MDAzZDJcdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5fbWF4X3dpZHRoXHUwMDNkNTAwXHUwMDI2a2V2bGFyX2RlbGhpX21vZGVybl93ZWJfZW5kc2NyZWVuX21pbl93aWR0aFx1MDAzZDIwMFx1MDAyNmtldmxhcl9nZWxfZXJyb3Jfcm91dGluZ1x1MDAzZHRydWVcdTAwMjZrZXZsYXJfbWluaXBsYXllcl9leHBhbmRfdG9wXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX3BsYXlfcGF1c2Vfb25fc2NyaW1cdTAwM2R0cnVlXHUwMDI2a2V2bGFyX3BsYXliYWNrX2Fzc29jaWF0ZWRfcXVldWVcdTAwM2R0cnVlXHUwMDI2bGF1bmNoX2xpY2Vuc2Vfc2VydmljZV9hbGxfb3R0X3ZpZGVvc19hdXRvbWF0aWNfZmFpbF9vcGVuXHUwMDNkdHJ1ZVx1MDAyNmxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemVcdTAwM2R0cnVlXHUwMDI2bGl2ZV9jaGF0X2VuYWJsZV9ydGFfbWFuYWdlclx1MDAzZHRydWVcdTAwMjZsaXZlX2NodW5rX3JlYWRhaGVhZFx1MDAzZDNcdTAwMjZsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyXHUwMDNkdHJ1ZVx1MDAyNmxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvblx1MDAzZDAuMVx1MDAyNm1hbmlmZXN0bGVzc19wb3N0X2xpdmVcdTAwM2R0cnVlXHUwMDI2bWFuaWZlc3RsZXNzX3Bvc3RfbGl2ZV91ZnBoXHUwMDNkdHJ1ZVx1MDAyNm1heF9ib2R5X3NpemVfdG9fY29tcHJlc3NcdTAwM2Q1MDAwMDBcdTAwMjZtYXhfY2RmZV9xdWFsaXR5X29yZGluYWxcdTAwM2QwXHUwMDI2bWF4X3ByZWZldGNoX3dpbmRvd19zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uXHUwMDNkMTBcdTAwMjZtYXhfcmVzb2x1dGlvbl9mb3Jfd2hpdGVfbm9pc2VcdTAwM2QzNjBcdTAwMjZtZHhfZW5hYmxlX3ByaXZhY3lfZGlzY2xvc3VyZV91aVx1MDAzZHRydWVcdTAwMjZtZHhfbG9hZF9jYXN0X2FwaV9ib290c3RyYXBfc2NyaXB0XHUwMDNkdHJ1ZVx1MDAyNm1pbl9wcmVmZXRjaF9vZmZzZXRfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvblx1MDAzZDIwXHUwMDI2bXRhX2RyY19tdXR1YWxfZXhjbHVzaW9uX3JlbW92YWxcdTAwM2R0cnVlXHUwMDI2bXVzaWNfZW5hYmxlX3NoYXJlZF9hdWRpb190aWVyX2xvZ2ljXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZGVidWdfc3RpY2t5X3NldHRpbmdzXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfZW5hYmxlX2NsaWNrX3RvX3BsYXlfcGF1c2VcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfZmluZV9zY3J1YmJpbmdfZm9yX3JlY3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfbW9yZV9jaHVua3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfcGxheWVyX2NvbnRyb2xfb25faG92ZXJcdTAwM2R0cnVlXHUwMDI2bXdlYl9wcm9ncmVzc19iYXJfc2Vla19vbl9tb3VzZV9jbGlja1x1MDAzZHRydWVcdTAwMjZtd2ViX3Nob3J0c19jb21tZW50c19wYW5lbF9pZF9jaGFuZ2VcdTAwM2R0cnVlXHUwMDI2bXdlYl91c2VfbWljcm9mb3JtYXRfdGl0bGVfZm9yX3Bvc3RzXHUwMDNkdHJ1ZVx1MDAyNm5ldHdvcmtfcG9sbGluZ19pbnRlcnZhbFx1MDAzZDMwMDAwXHUwMDI2bmV0d29ya2xlc3NfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZuZXdfY29kZWNzX3N0cmluZ19hcGlfdXNlc19sZWdhY3lfc3R5bGVcdTAwM2R0cnVlXHUwMDI2bm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd25cdTAwM2R0cnVlXHUwMDI2bm9fZmlsbGVyX3ZpZGVvX2Zvcl9zc2FfcGxheWJhY2tzXHUwMDNkdHJ1ZVx1MDAyNm92ZXJyaWRlX2RybV9yZXF1aXJlZF9wbGF5YmFja19wb2xpY3lfY2hhbm5lbHNcdTAwM2RbXVx1MDAyNnBhZ2VpZF9hc19oZWFkZXJfd2ViXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9hZHNfc2V0X2FkZm9ybWF0X29uX2NsaWVudFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfYm9vdHN0cmFwX21ldGhvZFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfY29udHJvbHNfdXNlX3BsYXllcl9hcGlfY29udGV4dFx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfY29udHJvbHNfdm9sdW1lX2NvbnRyb2xzX3VzZV9wbGF5ZXJfcHJvcHNcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb25cdTAwM2R0cnVlXHUwMDI2cGxheWVyX2VuYWJsZV9wbGF5YmFja19wbGF5bGlzdF9jaGFuZ2VcdTAwM2R0cnVlXHUwMDI2cGxheWVyX25ld19pbmZvX2NhcmRfZm9ybWF0XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl91bmRlcmxheV9taW5fcGxheWVyX3dpZHRoXHUwMDNkNzY4LjBcdTAwMjZwbGF5ZXJfdW5kZXJsYXlfdmlkZW9fd2lkdGhfZnJhY3Rpb25cdTAwM2QwLjZcdTAwMjZwbGF5ZXJfd2ViX2NhbmFyeV9zdGFnZVx1MDAzZDBcdTAwMjZwbGF5cmVhZHlfZmlyc3RfcGxheV9leHBpcmF0aW9uXHUwMDNkLTFcdTAwMjZwb2RjYXN0c192aWRlb3N0YXRzX2RlZmF1bHRfZmx1c2hfaW50ZXJ2YWxfc2Vjb25kc1x1MDAzZDBcdTAwMjZwb2x5bWVyX2JhZF9idWlsZF9sYWJlbHNcdTAwM2R0cnVlXHUwMDI2cG9seW1lcl92ZXJpZml5X2FwcF9zdGF0ZVx1MDAzZHRydWVcdTAwMjZwb3B1bGF0ZV9mb3JtYXRfc2V0X2luZm9faW5fY2RmZV9mb3JtYXRzXHUwMDNkdHJ1ZVx1MDAyNnByZXNraXBfYnV0dG9uX3N0eWxlX2Fkc19iYWNrZW5kXHUwMDNkXHUwMDI2cHJveGltYV9hdXRvX3RocmVzaG9sZF9tYXhfbmV0d29ya19pbnRlcnJ1cHRpb25fZHVyYXRpb25fbXNcdTAwM2QwXHUwMDI2cHJveGltYV9hdXRvX3RocmVzaG9sZF9taW5fYmFuZHdpZHRoX2VzdGltYXRlX2J5dGVzX3Blcl9zZWNcdTAwM2QwXHUwMDI2cW9lX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnF1YWxpdHlfY2FwX2Zvcl9pbmxpbmVfbm9uX2FwcF9hZHNcdTAwM2QwXHUwMDI2cXVhbGl0eV9jYXBfZm9yX2lubGluZV9wbGF5YmFja1x1MDAzZDBcdTAwMjZxdWFsaXR5X2NhcF9mb3JfaW5saW5lX3BsYXliYWNrX2Fkc1x1MDAzZDBcdTAwMjZyZWFkX2FoZWFkX21vZGVsX25hbWVcdTAwM2RcdTAwMjZyZWplY3RfaGlkZGVuX2xpdmVfZm9ybWF0c1x1MDAzZHRydWVcdTAwMjZyZWplY3RfbGl2ZV92cDlfbXFfY2xlYXJfd2l0aF9ub19hYnJfbGFkZGVyXHUwMDNkdHJ1ZVx1MDAyNnJlbGF4X2JnX25vdGlmaWNhdGlvbl90aHJvdHRsaW5nXHUwMDNkdHJ1ZVx1MDAyNnJlbW92ZV9jaGV2cm9uX2Zyb21fYWRfZGlzY2xvc3VyZV9iYW5uZXJfaDVcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX21hc3RoZWFkX2NoYW5uZWxfYmFubmVyX29uX3JlZnJlc2hcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX3Nsb3RfaWRfZXhpdGVkX3RyaWdnZXJfZm9yX2RhaV9pbl9wbGF5ZXJfc2xvdF9leHBpcmVcdTAwM2R0cnVlXHUwMDI2cmVwbGFjZV9wbGF5YWJpbGl0eV9yZXRyaWV2ZXJfaW5fd2F0Y2hcdTAwM2R0cnVlXHUwMDI2cm9zY2FzXHUwMDNkdHJ1ZVx1MDAyNnNhYnJfZW5hYmxlX2hvc3RfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2c2VsZl9wb2RkaW5nX2hlYWRlcl9zdHJpbmdfdGVtcGxhdGVcdTAwM2RzZWxmX3BvZGRpbmdfaW50ZXJzdGl0aWFsX21lc3NhZ2VcdTAwMjZzZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2Vfc3RyaW5nX3RlbXBsYXRlXHUwMDNkc2VsZl9wb2RkaW5nX21pZHJvbGxfY2hvaWNlXHUwMDI2c2VuZF9jb25maWdfaGFzaF90aW1lclx1MDAzZDBcdTAwMjZzZXJ2ZV9hZGFwdGl2ZV9mbXRzX2Zvcl9saXZlX3N0cmVhbXNcdTAwM2R0cnVlXHUwMDI2c2V0X21vY2tfaWRfYXNfZXhwZWN0ZWRfY29udGVudF9iaW5kaW5nXHUwMDNkXHUwMDI2c2hlbGxfbG9hZF9nY2ZcdTAwM2R0cnVlXHUwMDI2c2hvcnRlbl9pbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0XHUwMDNkdHJ1ZVx1MDAyNnNob3J0c19tb2RlX3RvX3BsYXllcl9hcGlcdTAwM2R0cnVlXHUwMDI2c2hvdWxkX2F0dHJpYnV0ZV90b193YXRjaF93aXRoX3NvdXJjZVx1MDAzZFtdXHUwMDI2c2hvdWxkX2F0dHJpYnV0ZV92aWV3c190b193YXRjaF93aXRoX3NvdXJjZVx1MDAzZHRydWVcdTAwMjZzaW1wbHlfZW1iZWRkZWRfZW5hYmxlX2JvdGd1YXJkXHUwMDNkdHJ1ZVx1MDAyNnNsb3dfY29tcHJlc3Npb25zX2JlZm9yZV9hYmFuZG9uX2NvdW50XHUwMDNkNFx1MDAyNnNtYWxsX2F2YXRhcnNfZm9yX2NvbW1lbnRzXHUwMDNkdHJ1ZVx1MDAyNnNtYXJ0X3NraXBfd2ViX3BsYXllcl9iYXJfbWluX2hvdmVyX2xlbmd0aF9taWxsaXNlY29uZHNcdTAwM2QxMDAwXHUwMDI2c21hcnRlcl92ZV9kZWR1cHBpbmdcdTAwM2R0cnVlXHUwMDI2c3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwXHUwMDNkMTBcdTAwMjZzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlXHUwMDNkMi4wXHUwMDI2c3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tc1x1MDAzZDUwMFx1MDAyNnN0b3BfaGFuZGxpbmdfY2xpY2tfZm9yX25vbl9yZW5kZXJpbmdfb3ZlcmxheV9sYXlvdXRcdTAwM2R0cnVlXHUwMDI2c3RyZWFtaW5nX2RhdGFfZW1lcmdlbmN5X2l0YWdfYmxhY2tsaXN0XHUwMDNkW11cdTAwMjZzdWJzdGl0dXRlX2FkX2Nwbl9tYWNyb19pbl9zc2RhaVx1MDAzZHRydWVcdTAwMjZzdXBwcmVzc19lcnJvcl8yMDRfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZ0cmltX2FkYXB0aXZlX2Zvcm1hdHNfc2lnbmF0dXJlX2NpcGhlcl9mb3Jfc2Ficl9jb250ZW50XHUwMDNkdHJ1ZVx1MDAyNnR2aHRtbDVfdW5wbHVnZ2VkX3ByZWxvYWRfY2FjaGVfc2l6ZVx1MDAzZDVcdTAwMjZ1c2VfY3VlX3JhbmdlX21hcmtlcl9wb3NpdGlvblx1MDAzZHRydWVcdTAwMjZ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXJcdTAwM2R0cnVlXHUwMDI2dXNlX2V4dHJhX3JlYWRhaGVhZF9ub3JtYWxfbGF0ZW5jeV9mcmFtZV9sZXZlbF9zdHJlYW1pbmdfaW5fYmFja2VuZF9leHBlcmltZW50XHUwMDNkWzQ1Nzk3MTQ4XVx1MDAyNnVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZ1c2VfZ2VuZXJhdGVkX21lZGlhX2tleXNfaW5fZmFpcnBsYXlfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2dXNlX2lubGluZWRfcGxheWVyX3JwY1x1MDAzZHRydWVcdTAwMjZ1c2VfbmV3X2NvZGVjc19zdHJpbmdfYXBpXHUwMDNkdHJ1ZVx1MDAyNnVzZV9wbGF5YWJpbGl0eV9yZXN1bHRfZm9yX2Nhbl9wbGF5X3N0YXR1c1x1MDAzZHRydWVcdTAwMjZ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfcnRhX2Zvcl9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2dXNlX3Nlc3Npb25fYmFzZWRfc2FtcGxpbmdcdTAwM2R0cnVlXHUwMDI2dXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlXHUwMDNkdHJ1ZVx1MDAyNnZhcmlhYmxlX2J1ZmZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNnZwOV9kcm1fbGl2ZVx1MDAzZHRydWVcdTAwMjZ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZVx1MDAzZHRydWVcdTAwMjZ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnZzc191c2VfcG9zdF9yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNndlYl9hcGlfdXJsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGVcdTAwM2Q1MDAuMFx1MDAyNndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNndlYl9idXR0b25fdm1fcmVmYWN0b3JfZGlzYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlXHUwMDNkXHUwMDI2d2ViX2NvbGxlY3Rfb2ZmbGluZV9zdGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9kZWR1cGVfdmVfZ3JhZnRpbmdcdTAwM2R0cnVlXHUwMDI2d2ViX2Rpc2FibGVfY2FwdGlvbl9vcGFjaXR5X2tleWJvYXJkX3Nob3J0Y3V0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZGlzYWJsZV9jaGlwX3ZpZXdfbW9kZWxfbXV0YXRpb25cdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9hYl9yc3BfY2xcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9jYXB0aW9uX2xhbmd1YWdlX3ByZWZlcmVuY2Vfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfZXJyb3JfMjA0XHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfa2V5Ym9hcmRfc2hvcnRjdXRfZm9yX3RpbWVseV9hY3Rpb25zXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfbGF6eV9jc3NcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9zaG9wcGluZ190aW1lbHlfc2hlbGZfY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfc21hbGxfc3BlZWRtYXN0ZXJcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV90aW1lbHlfYWN0aW9uc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZml4X2ZpbmVfc2NydWJiaW5nX2ZhbHNlX3BsYXlcdTAwM2R0cnVlXHUwMDI2d2ViX2ZvcmVncm91bmRfaGVhcnRiZWF0X2ludGVydmFsX21zXHUwMDNkMjgwMDBcdTAwMjZ3ZWJfZnVsbHNjcmVlbl9zaG9ydHNcdTAwM2R0cnVlXHUwMDI2d2ViX2Z1bGxzY3JlZW5fc2hvcnRzX21lbnVfaXRlbVx1MDAzZHRydWVcdTAwMjZ3ZWJfZ2NmX2hhc2hlc19pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2d2ViX2dlbF9kZWJvdW5jZV9tc1x1MDAzZDEwMDAwXHUwMDI2d2ViX2dlbF90aW1lb3V0X2NhcFx1MDAzZHRydWVcdTAwMjZ3ZWJfaGlkZV9uZXh0X2J1dHRvblx1MDAzZHRydWVcdTAwMjZ3ZWJfaGlkZV93YXRjaF9pbmZvX2VtcHR5XHUwMDNkdHJ1ZVx1MDAyNndlYl9oaWRlX3lvdXJfZGF0YV9vbl9hdXRvbW90aXZlXHUwMDNkdHJ1ZVx1MDAyNndlYl9sb2FkX3ByZWRpY3Rpb25fdGhyZXNob2xkXHUwMDNkMC4zXHUwMDI2d2ViX2xvZ2dpbmdfbWF4X2JhdGNoXHUwMDNkMTAwXHUwMDI2d2ViX21heF90cmFjaW5nX2V2ZW50c1x1MDAzZDUwXHUwMDI2d2ViX21vbm9tZXJfd2ViX2NvbXBvbmVudF93cmFwcGVyX2hhbmRsZV9lcnJvcnNcdTAwM2R0cnVlXHUwMDI2d2ViX25hdmlnYXRpb25fcHJlZGljdGlvbl90aHJlc2hvbGRcdTAwM2QwLjFcdTAwMjZ3ZWJfbm9uX25hdmlnYXRpbmdfYXRhZ1x1MDAzZHRydWVcdTAwMjZ3ZWJfb3Bfc2lnbmFsX3R5cGVfYmFubGlzdFx1MDAzZFtdXHUwMDI2d2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfdmVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9hcGlfbG9nZ2luZ19mcmFjdGlvblx1MDAzZDAuMDFcdTAwMjZ3ZWJfcGxheWVyX2JpZ19tb2RlX3NjcmVlbl93aWR0aF9jdXRvZmZcdTAwM2Q0MDAxXHUwMDI2d2ViX3BsYXllcl9kZWZhdWx0X3BlZWtpbmdfcHhcdTAwM2QzNlx1MDAyNndlYl9wbGF5ZXJfZGlzYWJsZV9ncmlkX29uX29mZmxpbmVfc2xhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9lbmFibGVfZmVhdHVyZWRfcHJvZHVjdF9iYW5uZXJfZXhjbHVzaXZlc19vbl9kZXNrdG9wXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfZW5hYmxlX2ZlYXR1cmVkX3Byb2R1Y3RfYmFubmVyX3Byb21vdGlvbl90ZXh0X29uX2Rlc2t0b3BcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9mcm9zdGVkX2dsYXNzX2JsdXJfcmFkaXVzXHUwMDNkMTZcdTAwMjZ3ZWJfcGxheWVyX2Zyb3N0ZWRfZ2xhc3NfYmx1cl9yYWRpdXNfZmxvYXRcdTAwM2QxNi4wXHUwMDI2d2ViX3BsYXllcl9pbm5lcnR1YmVfcGxheWxpc3RfdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaW52aXNpYmxlX2Z1bGxzY3JlZW5fYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaXBwX2NhbmFyeV90eXBlX2Zvcl9sb2dnaW5nXHUwMDNkXHUwMDI2d2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXNcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9taW5pcGxheWVyX2luX2NvbnRleHRfbWVudVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX21vdXNlX2lkbGVfd2FpdF90aW1lX21zXHUwMDNkMzAwMFx1MDAyNndlYl9wbGF5ZXJfbXVzaWNfdmlzdWFsaXplcl90cmVhdG1lbnRcdTAwM2RmYWtlXHUwMDI2d2ViX3BsYXllcl9vZmZsaW5lX3BsYXlsaXN0X2F1dG9fcmVmcmVzaFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3BsYXlhYmxlX3NlcXVlbmNlc19yZWZhY3Rvclx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3F1aWNrX2hpZGVfdGltZW91dF9tc1x1MDAzZDI1MFx1MDAyNndlYl9wbGF5ZXJfc2Vla19jaGFwdGVyc19ieV9zaG9ydGN1dFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9hZGRpdGlvbmFsX2Fycm93X3RocmVzaG9sZFx1MDAzZDIwMFx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2R1cmF0aW9uX2J1bXBfc2NhbGVcdTAwM2QwLjlcdTAwMjZ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9saW5nZXJfZHVyYXRpb25cdTAwM2QxMDAwXHUwMDI2d2ViX3BsYXllcl9zZW50aW5lbF9pc191bmlwbGF5ZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9zaG93X211c2ljX2luX3RoaXNfdmlkZW9fZ3JhcGhpY1x1MDAzZHZpZGVvX3RodW1ibmFpbFx1MDAyNndlYl9wbGF5ZXJfc3NfZGFpX2FkX2ZldGNoaW5nX3RpbWVvdXRfbXNcdTAwM2QxNTAwMFx1MDAyNndlYl9wbGF5ZXJfdG91Y2hfaWRsZV93YWl0X3RpbWVfbXNcdTAwM2Q0MDAwXHUwMDI2d2ViX3BsYXllcl90cmFuc2Zlcl90aW1lb3V0X3RocmVzaG9sZF9tc1x1MDAzZDEwODAwMDAwXHUwMDI2d2ViX3BsYXllcl91cGRhdGVkX2VudHJ5cG9pbnRcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl91c2VfY2luZW1hdGljX2xhYmVsXzJcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl91c2VfbmV3X2FwaV9mb3JfcXVhbGl0eV9wdWxsYmFja1x1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9zY3JlZW5fd2lkdGhfZm9yX2JpZ19tb2RlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wcmVmZXRjaF9wcmVsb2FkX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNndlYl9wcm9ncmVzc19iYXJfZHJhZ2dhYmxlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcmVtaXhfYWxsb3dfdXBfdG9fM3hfcGxheWJhY2tfcmF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcmVtb3ZlX2Jyb2tlbl9zdWJzY3JpYmVfZW5kc2NyZWVuXHUwMDNkdHJ1ZVx1MDAyNndlYl9zZXNzaW9uX3JlcGxheV9tb3VzZW1vdmVfaW50ZXJ2YWxcdTAwM2QwXHUwMDI2d2ViX3Nlc3Npb25fcmVwbGF5X3Njcm9sbF9pbnRlcnZhbFx1MDAzZDBcdTAwMjZ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2VuZF9hZnRlcl90aW1lb3V0XHUwMDNkMFx1MDAyNndlYl9zZXR0aW5nc19tZW51X3N1cmZhY2VfY3VzdG9tX3BsYXliYWNrXHUwMDNkdHJ1ZVx1MDAyNndlYl9zZXR0aW5nc191c2VfaW5wdXRfc2xpZGVyXHUwMDNkdHJ1ZVx1MDAyNndlYl9zaG9ydHNfYXVkaW9fdHJhY2tfcGlja2VyXHUwMDNkdHJ1ZVx1MDAyNndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnNcdTAwM2RbZXZlbnQsIGNvbW1hbmRdXHUwMDI2d2ViX3RyYWNpbmdfc2Vzc2lvbl9yZXBsYXlcdTAwM2QwXHUwMDI2d2ViX3VuaWZpZWRfZmV0Y2hcdTAwM2R0cnVlXHUwMDI2d2ViX3dhdGNoX2Rpc2FibGVfYWNjb3VudF9sZXZlbF9jYXB0aW9uc19zZXR0aW5nc1x1MDAzZHRydWVcdTAwMjZ3ZWJwb19leGl0X29uX25ldF9lcnJcdTAwM2R0cnVlXHUwMDI2d2lsX2ljb25fbWF4X2NvbmN1cnJlbnRfZmV0Y2hlc1x1MDAzZDk5OTlcdTAwMjZ3aXpfZGlmZl9vdmVyd3JpdGFibGVcdTAwM2R0cnVlXHUwMDI2d2l6X3dyYXBwZXJfY2FsbGJhY2tfcHJvcHNfZml4XHUwMDNkdHJ1ZVx1MDAyNndvZmZsZV9lbmFibGVfZG93bmxvYWRfc3RhdHVzXHUwMDNkdHJ1ZVx1MDAyNndyaXRlX3JlbG9hZF9wbGF5ZXJfcmVzcG9uc2VfdG9rZW5fdG9fdXN0cmVhbWVyX2NvbmZpZ19mb3Jfdm9kXHUwMDNkdHJ1ZVx1MDAyNndzX2F2MV9tYXhfaGVpZ2h0X2Zsb29yXHUwMDNkMFx1MDAyNndzX2F2MV9tYXhfd2lkdGhfZmxvb3JcdTAwM2QwXHUwMDI2d3NfdXNlX2NlbnRyYWxpemVkX2hxYV9maWx0ZXJcdTAwM2R0cnVlXHUwMDI2d3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNnl0Y3NpX2RlYnVnX21heF9zaXplXHUwMDNkMTAwXHUwMDI2eXRpZGJfcmVtYWtlX2RiX3JldHJpZXNcdTAwM2QxXHUwMDI2eXRpZGJfcmVvcGVuX2RiX3JldHJpZXNcdTAwM2QwXHUwMDI2eXRpZGJfdHJhbnNhY3Rpb25fZW5kZWRfZXZlbnRfcmF0ZV9saW1pdFx1MDAzZDAuMDIiLCJzdGFydE11dGVkIjpmYWxzZSwibW9iaWxlSXBob25lU3VwcG9ydHNJbmxpbmVQbGF5YmFjayI6dHJ1ZSwiaXNNb2JpbGVEZXZpY2UiOmZhbHNlLCJjc3BOb25jZSI6IjZ2ZWFuOWJsTFYwN2dpV3R1VXdBa0EiLCJjYW5hcnlTdGF0ZSI6Im5vbmUiLCJlbmFibGVDc2lMb2dnaW5nIjp0cnVlLCJsb2FkZXJVcmwiOiJodHRwczovL2RpZ2l0YWx0cmFkZWludmVzdC5vcmcvIiwiZGlzYWJsZUF1dG9uYXYiOmZhbHNlLCJpc0VtYmVkIjp0cnVlLCJkaXNhYmxlQ2FzdEFwaSI6ZmFsc2UsInNlcmlhbGl6ZWRFbWJlZENvbmZpZyI6Int9IiwiZGlzYWJsZU1keENhc3QiOmZhbHNlLCJkYXRhc3luY0lkIjoiVmMzYjMzYjQzfHwiLCJzdG9yZVVzZXJWb2x1bWUiOnRydWUsImRpc2FibGVQYWlkQ29udGVudE92ZXJsYXkiOnRydWUsImVuY3J5cHRlZEhvc3RGbGFncyI6IkFDbWJsQlZWV29jckVXb1JySktOalRpRU1KajJPejlUUDgxQVVQQVlQRWNxM192bVp0aFdKUEpHd0NlM1pBejFlOVFRb1l1M3dzZUFLdTZJZzMtRzNYY1l3MWVMeU5qR3F3MS1TbVM1MzJOaXNHalQ3X0V0blp3RUlrWEpocWFLSDVWY1BfUSIsImNhbmFyeVN0YWdlIjoiIiwidHJ1c3RlZEpzVXJsIjp7InByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSI6Ii9zL3BsYXllci83YTc5NjljMi9wbGF5ZXJfZW1iZWRfZXM2LnZmbHNldC9lbl9VUy9iYXNlLmpzIn0sInRydXN0ZWRDc3NVcmwiOnsicHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlIjoiL3MvcGxheWVyLzdhNzk2OWMyL3d3dy1wbGF5ZXIuY3NzIn0sImhvdXNlQnJhbmRVc2VyU3RhdHVzIjoibm90X3ByZXNlbnQiLCJlbWJlZHNFbmFibGVFbWMzZHMiOnRydWUsImRpc2FibGVPcmdhbmljVWkiOnRydWUsImVuYWJsZVNhYnJPbkVtYmVkIjpmYWxzZSwic2VyaWFsaXplZENsaWVudEV4cGVyaW1lbnRGbGFncyI6IjQ1NzE4MTc1XHUwMDNkMC4wXHUwMDI2NDU3MTgxNzZcdTAwM2QwLjAxXHUwMDI2NDU3MjU1MzhcdTAwM2QwLjBcdTAwMjY0NTcyNTUzOVx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQwXHUwMDNkMC4wXHUwMDI2NDU3MjU1NDFcdTAwM2QwLjBcdTAwMjY0NTcyNTU0Mlx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQzXHUwMDNkMC4wXHUwMDI2NDU3Mjg1NTNcdTAwM2R0cnVlXHUwMDI2NDU3Mjg1NzJcdTAwM2R0cnVlXHUwMDI2NDU3MjkyMTVcdTAwM2R0cnVlXHUwMDI2NDU3MzI3MDRcdTAwM2R0cnVlXHUwMDI2NDU3MzI3OTFcdTAwM2R0cnVlXHUwMDI2NDU3MzU0MjhcdTAwM2Q0MDAwLjBcdTAwMjY0NTczNzQ4OFx1MDAzZDAuMFx1MDAyNjQ1NzM3NDg5XHUwMDNkMC4wXHUwMDI2NDU3MzkwMjNcdTAwM2QwLjBcdTAwMjY0NTczOTE5OFx1MDAzZHRydWVcdTAwMjY0NTc0MTMzOVx1MDAzZDAuMFx1MDAyNjQ1NzQxNzczXHUwMDNkMC4wXHUwMDI2NDU3NDMyMjhcdTAwM2QwLjBcdTAwMjY0NTc0NTYxMFx1MDAzZHRydWVcdTAwMjY0NTc0Njk2Nlx1MDAzZDAuMFx1MDAyNjQ1NzQ2OTY3XHUwMDNkMC4wXHUwMDI2NDU3NDcwNTNcdTAwM2QwLjBcdTAwMjY0NTc1MDk0N1x1MDAzZDEwMjQwXHUwMDI2NDU3NTYyMDFcdTAwM2R0cnVlXHUwMDI2NDU3NTY4NzJcdTAwM2QwLjBcdTAwMjY0NTc1NzQyNlx1MDAzZDAuMFx1MDAyNjQ1NzU3NDI3XHUwMDNkMC4wXHUwMDI2NDU3NTc3NTBcdTAwM2QwLjBcdTAwMjY0NTc1Nzk1N1x1MDAzZDAuMFx1MDAyNjQ1NzU4NDY3XHUwMDNkMC4wXHUwMDI2NDU3NjAwMThcdTAwM2R0cnVlXHUwMDI2NDU3NjE3NjBcdTAwM2QyMDBcdTAwMjY0NTc2MjgzOFx1MDAzZDBcdTAwMjY0NTc2NDIxN1x1MDAzZDAuMFx1MDAyNjQ1NzY0MjUyXHUwMDNkMC4wXHUwMDI2NDU3NjQ1MjNcdTAwM2QwLjBcdTAwMjY0NTc2NDUyNFx1MDAzZDAuMFx1MDAyNjQ1NzY0NTkzXHUwMDNkMC4wXHUwMDI2NDU3NjUwNzdcdTAwM2R0cnVlXHUwMDI2NDU3NjU1NjhcdTAwM2QwLjBcdTAwMjY0NTc2NTYwMlx1MDAzZDAuMFx1MDAyNjQ1NzY1NjgwXHUwMDNkdHJ1ZVx1MDAyNjQ1NzY2NTExXHUwMDNkdHJ1ZVx1MDAyNjQ1NzY3NzYzXHUwMDNkMC4wXHUwMDI2NDU3Njc5NDNcdTAwM2QwLjBcdTAwMjY0NTc2ODM0MFx1MDAzZDAuMFx1MDAyNjQ1NzY4NDMwXHUwMDNkMC4wXHUwMDI2NDU3NjkxMTlcdTAwM2R0cnVlXHUwMDI2NDU3NjkyMTRcdTAwM2QwLjBcdTAwMjY0NTc3MDAwMVx1MDAzZDAuMFx1MDAyNjQ1NzcwMDAyXHUwMDNkMC4wXHUwMDI2NDU3NzAxMzVcdTAwM2R0cnVlXHUwMDI2NDU3NzEyODhcdTAwM2R0cnVlXHUwMDI2NDU3NzE4OTBcdTAwM2QwLjBcdTAwMjY0NTc3MzYwM1x1MDAzZDAuMFx1MDAyNjQ1NzczNjA0XHUwMDNkMC4wXHUwMDI2NDU3NzU3NTdcdTAwM2R0cnVlXHUwMDI2NDU3NzU3OTFcdTAwM2QwLjBcdTAwMjY0NTc3NTc5Mlx1MDAzZDAuMFx1MDAyNjQ1Nzc2MTkwXHUwMDNkMC4wXHUwMDI2NDU3Nzg2NjNcdTAwM2QwLjBcdTAwMjY0NTc3ODY3MVx1MDAzZDAuMFx1MDAyNjQ1NzgzODc1XHUwMDNkdHJ1ZVx1MDAyNjQ1Nzg0NDM5XHUwMDNkMFx1MDAyNjQ1Nzg2NDQzXHUwMDNkMC4wXHUwMDI2NDU3ODc5NDhcdTAwM2R0cnVlXHUwMDI2NDU3ODk0NzRcdTAwM2R0cnVlXHUwMDI2NDU3OTExMTdcdTAwM2QwLjBcdTAwMjY0NTc5MTExOFx1MDAzZDAuMFx1MDAyNjQ1NzkxMTE5XHUwMDNkMC4wXHUwMDI2NDU3OTM3MTBcdTAwM2QwLjBcdTAwMjY0NTc5NDQ0MVx1MDAzZDAuMFx1MDAyNjQ1Nzk3NzIxXHUwMDNkdHJ1ZVx1MDAyNjQ1Nzk3OTYzXHUwMDNkMC4wXHUwMDI2NDU4MDIxMjNcdTAwM2QwLjBcdTAwMjY0NTgwMzc1NFx1MDAzZDAuMFx1MDAyNjQ1ODA0NzcxXHUwMDNkMC4wXHUwMDI2NDU4MDU2OTVcdTAwM2QwLjBcdTAwMjY0NTgwNjU1NVx1MDAzZDJcdTAwMjY0NTgwNzQzMlx1MDAzZDAuMFx1MDAyNjQ1ODA3NDg0XHUwMDNkXHUwMDI2NDU4MDc3NzFcdTAwM2QwLjBcdTAwMjY0NTgwNzc3Mlx1MDAzZDAuMFx1MDAyNjQ1ODA3NzczXHUwMDNkMC4wXHUwMDI2NDU4MDg3NjJcdTAwM2QwXHUwMDI2NDU4MTQ0ODBcdTAwM2R0cnVlXHUwMDI2NDU4MTUwMTFcdTAwM2QwLjBcdTAwMjY0NTgxNTYzMFx1MDAzZDBcdTAwMjY0NTgxNjg4OFx1MDAzZDAuMFx1MDAyNjQ1ODE4MTI4XHUwMDNkMC4wIn19LCJYU1JGX0ZJRUxEX05BTUUiOiJzZXNzaW9uX3Rva2VuIiwiWFNSRl9UT0tFTiI6IlFVTTRabTlyVVVSdmVEQkJiMUJUYlVsM1luVnJNMEpuUmxoTFRYeEJSM0ppUzJGdE4xTk9TM0YxWjBkUlF6VTNlVmhyUm05Sk1tWTVkMU5qUjNaYVdpMTBlVzFUVlhOcVowNUpVbEZyVXpJM2JXMU9kRXgxYlZGc2NsODFRMnd5ZG5CdVVHVjVja1YxWkZWWVpuVmpSMUo1U1dZd1RtazFaRWxtU21wTlgwa1x1MDAzZCIsIlNFUlZFUl9WRVJTSU9OIjoicHJvZCIsIkRBVEFTWU5DX0lEIjoiVmMzYjMzYjQzfHwiLCJTRVJJQUxJWkVEX0NMSUVOVF9DT05GSUdfREFUQSI6IkNOM1htOU1HRU0tbzBSd1FuWWE0SWhDS2g3Z2lFSjdRc0FVUXR2aUFFeENrcWRFY0VQYXJzQVVRdU9UT0hCQ3UxczhjRUptTnNRVVFnYzNPSEJDRGg3Z2lFTDZLc0FVUXl2dUFFeEM5bWJBRkVQR2NzQVVRaHVHQUV4QzQ4TkVjRUluazBSd1E2ZmpSSEJETTM2NEZFTWY4Z0JNUTRMZlJIQkRnNnRFY0VONjh6aHdRdktUUUhCQzl0cTRGRU5yM3pod1FqcERSSEJDSHJNNGNFUG55MFJ3UW44LUFFeERKOW9BVEVJbXd6aHdRd1lfUUhCQzF0WUFURVB5eXpod1E4YlRRSEJDTDk4OGNFQUFRLU1TQUV4Q1c3OUVjRVBEZTBSd1F0ZDdSSEJEMjk5RWNFTDZFMFJ3UWplVFJIQkNJa05FY0VQVHAwUndRLXZiUkhDcHNRMEZOVTFONFZrRXRXbkV0UkV4cFZVVndVVU51UVRjMVJsaGhaMEoxUVZkeFRsVlFlVUZOVFROM00yTkNkVkZIZEVGaE1rSm1ZVGsyVVhONWIwdDNSVUUxUTNWQlgzTnRkSFZSUnpWSlZWZ3dUWGRIZUVwSlJubDZNMFpLT1c1V1FtUjNjelV3V1dSQ2R6MDlNQUElM0QiLCJST09UX1ZFX1RZUEUiOjE2NjIzLCJDTElFTlRfUFJPVE9DT0wiOiJoMyIsIkNMSUVOVF9UUkFOU1BPUlQiOiJxdWljIiwiUExBWUVSX0NMSUVOVF9WRVJTSU9OIjoiMS4yMDI2MDcyMS4wOC4wMCIsIlRJTUVfQ1JFQVRFRF9NUyI6MTc4NTEyOTk0OTUzNCwiVkFMSURfU0VTU0lPTl9URU1QREFUQV9ET01BSU5TIjpbInlvdXR1LmJlIiwieW91dHViZS5jb20iLCJ3d3cueW91dHViZS5jb20iLCJ3ZWItZ3JlZW4tcWEueW91dHViZS5jb20iLCJ3ZWItcmVsZWFzZS1xYS55b3V0dWJlLmNvbSIsIndlYi1pbnRlZ3JhdGlvbi1xYS55b3V0dWJlLmNvbSIsIm0ueW91dHViZS5jb20iLCJtd2ViLWdyZWVuLXFhLnlvdXR1YmUuY29tIiwibXdlYi1yZWxlYXNlLXFhLnlvdXR1YmUuY29tIiwibXdlYi1pbnRlZ3JhdGlvbi1xYS55b3V0dWJlLmNvbSIsInN0dWRpby55b3V0dWJlLmNvbSIsInN0dWRpby1ncmVlbi1xYS55b3V0dWJlLmNvbSIsInN0dWRpby1pbnRlZ3JhdGlvbi1xYS55b3V0dWJlLmNvbSJdLCJMT1RUSUVfVVJMIjp7InByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSI6Ii9zL2VtYmVkcy8zMmQyYWM4My9sb3R0aWUtbGlnaHQudmZsc2V0L2xvdHRpZS1saWdodC5qcyJ9LCJJREVOVElUWV9NRU1FTlRPIjp7InZpc2l0b3JfZGF0YSI6IkNndHFlbTFFYzA1WU1VOXFUU2pkMTV2VEJqSW9DZ0pPVHhJaUVoNFNIQXNNRGc4UUVSSVRGQlVXRnhnWkdoc2NIUjRmSUNFaUl5UWxKaWNnTUdMZkFncmNBakl3TGxsVVBVdDBSSGcwZDNwdWJXeFhlbXd4Tld4MlExWjNaR3BTZURScFExZGhVWEZHY1VJemNWVkhkMGxIV1U1RVVVcDFSME0xYldKNVgweFJRakJ3TVhKVVZUSktXVTB6YzA1NmJqUlphMHRPV0dKMmNGZEdOelZNZURsbmRHTjJkRjlEWjJweWVuQXlabWhuTmtKc1ZXTndiakY2TXkxMkxXVjBSMDVVYTBscFdFZEdYMFpKY1VKS1VGSmtlbTVVVFRFeFNXYzBVWGc0Y1ZoaFkxQklRVWt3TVZoMU0xY3RaR040VjNCSmFYcDZWblZIVmxaT1JrTlRkakF3TW1NeWJ6ZFRWVk15TTBWcGRrTkdjRXBXWW1wdGVXZDRia2xvVjIxaFEwcE1Velp3YWxKaVEyWklRa2xIUkhWZldXdzBXSE5UWW5Ob05Va3pZbm94UjNkT2JUZExka3R3UkRWd1FUTnBNbE5XZFhwaVVIcG5ja2wyYzB0aFZERkhNWGxaTUhwc05VcDJZbU4wZVU5U1ZXaHFiV3hMUWxsaFVuRkZNa2hVU0ZWNlZEbHFkbFZtVEVkclRFSXdkbWRqUlhsNVoyMVZSVXN3U2w4MVFRJTNEJTNEIn0sIk1XRUJfU1VQUE9SVFNfRE9VQkxFX1RBUF9UT19TRUVLIjp0cnVlLCJQTEFZRVJfVkFSUyI6eyJlbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2UiOiJ7XCJyZXNwb25zZUNvbnRleHRcIjp7XCJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNcIjpbe1wic2VydmljZVwiOlwiQ1NJXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifSx7XCJrZXlcIjpcImN2ZXJcIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0LjAxLjAwXCJ9LHtcImtleVwiOlwieXRfbGlcIixcInZhbHVlXCI6XCIwXCJ9LHtcImtleVwiOlwiR2V0RW1iZWRkZWRQbGF5ZXJfcmlkXCIsXCJ2YWx1ZVwiOlwiMHg0YzA0YzJiYmM4MTM5NjNiXCJ9XX0se1wic2VydmljZVwiOlwiR0ZFRURCQUNLXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJsb2dnZWRfaW5cIixcInZhbHVlXCI6XCIwXCJ9XX0se1wic2VydmljZVwiOlwiR1VJREVEX0hFTFBcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJFQ0FUQ0hFUlwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwiY2xpZW50LnZlcnNpb25cIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0XCJ9LHtcImtleVwiOlwiY2xpZW50Lm5hbWVcIixcInZhbHVlXCI6XCJXRUJfRU1CRURERURfUExBWUVSXCJ9XX1dLFwicmVzcG9uc2VJZFwiOlwiSWhNSTk2LVVwSV95bFFNVlB4QWVCUjNjcWpxSlwiLFwid2ViUmVzcG9uc2VDb250ZXh0RXh0ZW5zaW9uRGF0YVwiOntcImhhc0RlY29yYXRlZFwiOnRydWV9fSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUk5Ni1VcElfeWxRTVZQeEFlQlIzY3FqcUp5Z0VFUExDcWJBXHUwMDNkXHUwMDNkXCIsXCJwZXJtaXNzaW9uc1wiOntcImFsbG93SW1hTW9uZXRpemF0aW9uXCI6ZmFsc2UsXCJhbGxvd1BmcFVuYnJhbmRlZFwiOmZhbHNlfSxcInByZXZpZXdQbGF5YWJpbGl0eVN0YXR1c1wiOntcInN0YXR1c1wiOlwiRVJST1JcIixcInJlYXNvblwiOlwiVmlkZW8gdW5hdmFpbGFibGVcIixcImVycm9yU2NyZWVuXCI6e1wicGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXJcIjp7XCJzdWJyZWFzb25cIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIlRoaXMgdmlkZW8gaXMgdW5hdmFpbGFibGVcIn1dfSxcInJlYXNvblwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiVmlkZW8gdW5hdmFpbGFibGVcIn1dfSxcInRodW1ibmFpbFwiOntcInRodW1ibmFpbHNcIjpbe1widXJsXCI6XCIvL3MueXRpbWcuY29tL3l0cy9pbWcvbWVoNy12ZmxHZXZlajcucG5nXCIsXCJ3aWR0aFwiOjE0MCxcImhlaWdodFwiOjEwMH1dfSxcImljb25cIjp7XCJpY29uVHlwZVwiOlwiRVJST1JfT1VUTElORVwifX19LFwiY29udGV4dFBhcmFtc1wiOlwiUTBGQlUwRm5aMEVcdTAwM2RcIn0sXCJlbWJlZGRlZFBsYXllck1vZGVcIjpcIkVNQkVEREVEX1BMQVlFUl9NT0RFX0RFRkFVTFRcIixcImVtYmVkZGVkUGxheWVyQ29udGV4dFwiOntcImVtYmVkZGVkUGxheWVyRW5jcnlwdGVkQ29udGV4dFwiOlwiQUNtYmxCVWw0V2xCOHhMbDE0bFFobXAxNXNXTjdqbTFMN1FWMDFFQ3JDRDkxa3ZMbXhyekFOaDV6UU9Qb2RodlNFMXVoNnZOWl8yamF6THFlcFFwRG0taW9fbzJkZjd6Zm9hT1VUNHV3UzNYTXBlWjE1ZEZVNHlkVXdtZlR6QkZtY3VhOFBRc182UHBcIixcImFuY2VzdG9yT3JpZ2luc1N1cHBvcnRlZFwiOmZhbHNlfX0iLCJ2aWRlb19pZCI6IkVqQjVxRlcwYko4IiwicmVzb2x2ZV91cmxfcmVzcG9uc2UiOiJ7XCJyZXNwb25zZUNvbnRleHRcIjp7XCJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNcIjpbe1wic2VydmljZVwiOlwiQ1NJXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifSx7XCJrZXlcIjpcImN2ZXJcIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0LjAxLjAwXCJ9LHtcImtleVwiOlwieXRfbGlcIixcInZhbHVlXCI6XCIwXCJ9LHtcImtleVwiOlwiUmVzb2x2ZVVybF9yaWRcIixcInZhbHVlXCI6XCIweDRjMDRjMmJiYzgxMzk2M2JcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHRkVFREJBQ0tcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHVUlERURfSEVMUFwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkVDQVRDSEVSXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjbGllbnQudmVyc2lvblwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjRcIn0se1wia2V5XCI6XCJjbGllbnQubmFtZVwiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn1dfV0sXCJyZXNwb25zZUlkXCI6XCJJaE1JNDRXVXBJX3lsUU1WSUJJZUJSMXh0RDNGXCIsXCJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXCI6e1wiaGFzRGVjb3JhdGVkXCI6dHJ1ZX19LFwiZW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJJaE1JNDRXVXBJX3lsUU1WSUJJZUJSMXh0RDNGTWdobGVIUmxjbTVoYk1vQkJEeXdxbXdcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOnt9fX0ifSwiUE9TVF9NRVNTQUdFX09SSUdJTiI6IioiLCJWSURFT19JRCI6IkVqQjVxRlcwYko4IiwiRE9NQUlOX0FETUlOX1NUQVRFIjoiIn0pO3dpbmRvdy55dGNmZy5vYmZ1c2NhdGVkRGF0YV8gPSBbXTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSI2dmVhbjlibExWMDdnaVd0dVV3QWtBIj53aW5kb3cueXRBdFAgPSBuZXcgUHJvbWlzZShyZXMgPT4gd2luZG93Lnl0QXROID0gcmVzKTsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7d2luZG93Lnl0QXROKCk7IGRlbGV0ZSB3aW5kb3cueXRBdE47fSk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iNnZlYW45YmxMVjA3Z2lXdHVVd0FrQSI+d2luZG93Lnl0ZXJyPXdpbmRvdy55dGVycnx8dHJ1ZTt3aW5kb3cudW5oYW5kbGVkRXJyb3JNZXNzYWdlcz17fTsKd2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24obXNnLHVybCxsaW5lLG9wdF9jb2x1bW5OdW1iZXIsb3B0X2Vycm9yKXt2YXIgZXJyO2lmKG9wdF9lcnJvcillcnI9b3B0X2Vycm9yO2Vsc2V7ZXJyPW5ldyBFcnJvcjtlcnIubWVzc2FnZT1tc2c7ZXJyLmZpbGVOYW1lPXVybDtlcnIubGluZU51bWJlcj1saW5lO2lmKCFpc05hTihvcHRfY29sdW1uTnVtYmVyKSllcnJbImNvbHVtbk51bWJlciJdPW9wdF9jb2x1bW5OdW1iZXJ9dmFyIG1lc3NhZ2U9U3RyaW5nKGVyci5tZXNzYWdlKTtpZighZXJyLm1lc3NhZ2V8fG1lc3NhZ2UgaW4gd2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXMpcmV0dXJuO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzW21lc3NhZ2VdPXRydWU7dmFyIGltZz1uZXcgSW1hZ2U7d2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWc9aW1nO2ltZy5vbmxvYWQ9aW1nLm9uZXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgd2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWd9O3ZhciB2YWx1ZXM9CnsiY2xpZW50Lm5hbWUiOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSwiY2xpZW50LnZlcnNpb24iOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04iKSwibXNnIjptZXNzYWdlLCJ0eXBlIjoiVW5oYW5kbGVkV2luZG93IitlcnIubmFtZSwiZmlsZSI6ZXJyLmZpbGVOYW1lLCJsaW5lIjplcnIubGluZU51bWJlciwic3RhY2siOihlcnIuc3RhY2t8fCIiKS5zdWJzdHIoMCw1MDApfTt2YXIgcGFydHM9W3l0Y2ZnLmdldCgiRU1FUkdFTkNZX0JBU0VfVVJMIiwiL2Vycm9yXzIwND90PWpzZXJyb3ImbGV2ZWw9RVJST1IiKV07dmFyIGtleTtmb3Ioa2V5IGluIHZhbHVlcyl7dmFyIHZhbHVlPXZhbHVlc1trZXldO2lmKHZhbHVlKXBhcnRzLnB1c2goa2V5KyI9IitlbmNvZGVVUklDb21wb25lbnQodmFsdWUpKX1pbWcuc3JjPXBhcnRzLmpvaW4oIiYiKX07Cjwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjZ2ZWFuOWJsTFYwN2dpV3R1VXdBa0EiPnZhciB5dGVyciA9IHl0ZXJyIHx8IHRydWU7PC9zY3JpcHQ+PHNjcmlwdCBkYXRhLWlkPSJfZ2QiIG5vbmNlPSI2dmVhbjlibExWMDdnaVd0dVV3QWtBIj53aW5kb3cuV0laX2dsb2JhbF9kYXRhID0geyJBZlk4SGYiOmZhbHNlLCJGTDFhbiI6ZmFsc2UsIkhpUHNiYiI6MCwiTVVFNk5lIjoieW91dHViZV93ZWIiLCJNdUpXamQiOmZhbHNlLCJVVUZhV2MiOiIlLkAubnVsbCwxMDAwLDJdIiwiY2ZiMmgiOiJ5b3V0dWJlLndlYi1mcm9udC1lbmQtY3JpdGljYWxfMjAyNjA3MjIuMDFfcDAiLCJmUER4d2QiOltdLCJoc0ZMVCI6IiUuQC5udWxsLDEwLDNdIiwiaUN6aEZjIjpmYWxzZSwiblF5QUUiOnt9LCJveE4zbmIiOnsiMSI6ZmFsc2UsIjAiOmZhbHNlLCI2MTA0MDEzMDEiOmZhbHNlLCI4OTk1ODg0MzciOmZhbHNlLCI3NzI2NTc3NjgiOnRydWUsIjUxMzY1OTUyMyI6ZmFsc2UsIjU2ODMzMzk0NSI6dHJ1ZSwiMTMzMTc2MTQwMyI6dHJ1ZSwiNjUxMTc1ODI4IjpmYWxzZSwiNzIyNzY0NTQyIjpmYWxzZSwiNzQ4NDAyMTQ1IjpmYWxzZSwiNzQ4NDAyMTQ2IjpmYWxzZSwiNzQ4NDAyMTQ3Ijp0cnVlLCIxNjAyNjEzMTg1IjpmYWxzZSwiODYxMzc3NzIzIjpmYWxzZSwiODYxMzc3NzI0IjpmYWxzZSwiODY5MzM2OTAzIjpmYWxzZSwiODgyNjc0NTA3IjpmYWxzZSwiODY5MzM2OTA0IjpmYWxzZSwiODY5MzM2OTA1IjpmYWxzZSwiMjgzOTUzMTU1IjpmYWxzZSwiOTE5NDQ0ODI0IjpmYWxzZSwiOTMxNDY4MDQ3IjpmYWxzZSwiOTI4ODc1Mzk4IjpmYWxzZSwiNjgzNzQ5MjAxIjpmYWxzZX0sInU0ZzdyIjoiJS5ALm51bGwsMSwzXSIsInhuSTlQIjpmYWxzZSwieHdBZkUiOnRydWUsInlGbnhyZiI6MjQ4Nn07PC9zY3JpcHQ+PHRpdGxlPllvdVR1YmU8L3RpdGxlPjwvaGVhZD48Ym9keSBjbGFzcz0iZGF0ZS0yMDI2MDcyNiBlbl9VUyBsdHIgIHNpdGUtY2VudGVyLWFsaWduZWQgc2l0ZS1hcy1naWFudC1jYXJkIGdlY2tvIGdlY2tvLTEzNCIgZGlyPSJsdHIiPjxkaXYgaWQ9InBsYXllciI+PC9kaXY+PHNjcmlwdCBub25jZT0iNnZlYW45YmxMVjA3Z2lXdHVVd0FrQSI+dmFyIHNldE1lc3NhZ2U9ZnVuY3Rpb24obXNnKXtpZih3aW5kb3cueXQmJnl0LnNldE1zZyl5dC5zZXRNc2cobXNnKTtlbHNle3dpbmRvdy55dGNmZz13aW5kb3cueXRjZmd8fHt9O3l0Y2ZnLm1zZ3M9bXNnfX07CnNldE1lc3NhZ2UoeyJBQ0NPVU5UX0xBQkVMIjoiQWNjb3VudCIsIkFDVF9PTl9USElTX0NPTU1FTlQiOiJBY3Qgb24gdGhpcyBjb21tZW50IiwiQUREX1RPX0RST1BET1dOX0xBQkVMIjoiQWRkIHRvIHBsYXlsaXN0IiwiQURfQkFER0VfSElOVCI6IkFkdmVydGlzZW1lbnQiLCJBRF9CQURHRV9URVhUIjoiQUQiLCJBTExfQ0hBTk5FTFNfTEFCRUwiOiJBbGwgY2hhbm5lbHMiLCJBTUJJRU5UX01PREUiOiJBbWJpZW50IG1vZGUiLCJBTUJJRU5UX01PREVfT0ZGIjoiQW1iaWVudCBtb2RlIG9mZiIsIkFNQklFTlRfTU9ERV9PTiI6IkFtYmllbnQgbW9kZSBvbiIsIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9CT0RZIjoiUGxlYXNlIHVwZGF0ZSB5b3VyIGRldmljZSB0byBBbmRyb2lkIDQuMCBiZWZvcmUgT2N0IDIyLCAyMDIwIHRvIGtlZXAgdXNpbmcgWW91VHViZSB3aXRob3V0IGludGVycnVwdGlvbnMuIiwiQU5EUk9JRF9ERVBSRUNBVElPTl9NRVNTQUdFX0hFQURFUiI6IllvdVR1YmUgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9ydGVkIG9uIHlvdXIgZGV2aWNlIGFmdGVyIDIwMjAtMTAtMjIiLCJBUFBfVVBTRUxMX1NVQlRJVExFIjoiVXBsb2FkLCBzYXZlLCBhbmQgY29tbWVudCBvbiB2aWRlb3Mgd2l0aCB0aGUgWW91VHViZSBhcHAiLCJBUFBfVVBTRUxMX1RJVExFIjoiU3dpdGNoIHRvIHRoZSBhcHAgZm9yIGEgYmV0dGVyIHZpZXdpbmcgZXhwZXJpZW5jZSIsIkFVRElPX1RSQUNLIjoiQXVkaW8gVHJhY2siLCJBVVRPTkFWX1RPR0dMRSI6IkF1dG9wbGF5IiwiQVVUT1BMQVlfSU5fVEVOX1NFQ09ORFMiOiJOZXh0IHZpZGVvIHdpbGwgYmUgcGxheWVkIGluIHRlbiBzZWNvbmRzIiwiQVVUT1BMQVlfUEFVU0VEIjoiQXV0b3BsYXkgaXMgcGF1c2VkIiwiQVVUT1BMQVlfUExBWV9OT1ciOiJQbGF5IG5vdyIsIkFVVE9QTEFZX1VQX05FWFRfSU4iOiJVcCBuZXh0IGluIHNlY29uZHNfcGxhY2Vob2xkZXIiLCJBVVRPX1RSQU5TTEFURSI6IkF1dG8tdHJhbnNsYXRlIiwiQVVUT19aT09NIjoiQXV0byB6b29tIiwiQkFDSyI6IkJhY2siLCJCUkFOREVEX1NJR05fSU5fRElBTE9HX0RFU0NSSVBUSU9OIjoiQWNjZXNzIGFsbCBmZWF0dXJlcyBhbmQgZ2V0IGEgc2VhbWxlc3MgZXhwZXJpZW5jZSIsIkNBTkNFTCI6IkNhbmNlbCIsIkNIQU5ORUxfU1dJVENIRVJfTEFCRUwiOiJTd2l0Y2ggYWNjb3VudCIsIkNIQVJBQ1RFUl9MSU1JVCI6IlVzZSBmZXdlciB0aGFuICRudW1iZXIgY2hhcmFjdGVycyIsIkNMT1NFIjoiQ2xvc2UiLCJDTE9TRURfQ0FQVElPTlNfRElTQUJMRUQiOiJObyBjYXB0aW9ucyBhcmUgYXZhaWxhYmxlIGZvciB0aGlzIHZpZGVvIiwiQ0xPU0VEX0NBUFRJT05TX09GRiI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb2ZmIiwiQ0xPU0VEX0NBUFRJT05TX09OIjoiU3VidGl0bGVzL0NDIHR1cm5lZCBvbiIsIkNMT1NFRF9DQVBUSU9OU19PTl9MQU5HVUFHRSI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb24gKGxhbmd1YWdlX3BsYWNlaG9sZGVyKSIsIkNMT1NFX1NFQVJDSF9MQUJFTCI6IkNsb3NlIHNlYXJjaCIsIkNMT1NFX1NFVFRJTkdTX0xBQkVMIjoiQ2xvc2UgU2V0dGluZ3MiLCJDT01NRU5UQk9YX1BPU1QiOiJQb3N0IiwiQ09NTUVOVF9NT0RBTF9DT05URU5UIjoiUGxlYXNlIHNpZ24gaW4gdG8gYWN0IG9uIHRoaXMgY29tbWVudC4iLCJDT05GSVJNX09LIjoiT0siLCJDT05ORUNUX1RPX1RIRV9JTlRFUk5FVCI6IkNvbm5lY3QgdG8gdGhlIGludGVybmV0IiwiQ09QSUVEX1RPX0NMSVBCT0FSRCI6IkNvcGllZCB0byBjbGlwYm9hcmQiLCJDT1BZIjoiQ29weSIsIkNPUFlfREVCVUdfSU5GTyI6IkNvcHkgRGVidWcgSW5mbyIsIkNPUFlfRU1CRURfQ09ERSI6IkNvcHkgZW1iZWQgY29kZSIsIkNPUFlfTElOS19MQUJFTCI6IkNvcHkgbGluayIsIkNPUFlfVklERU9fVVJMIjoiQ29weSB2aWRlbyBVUkwiLCJDT1BZX1ZJREVPX1VSTF9BVF9DVVJSRU5UX1RJTUUiOiJDb3B5IHZpZGVvIFVSTCBhdCBjdXJyZW50IHRpbWUiLCJDUkVBVEVfQ0hBTk5FTF9USVRMRSI6IkNyZWF0ZSBjaGFubmVsIiwiREVMRVRFX0ZST01fRE9XTkxPQURTIjoiRGVsZXRlIGZyb20gZG93bmxvYWRzIiwiRElBTE9HIjoiRGlhbG9nIiwiRE1BX0NPTlNFTlRfQ09ORklSTUFUSU9OIjoiWW91ciBjaG9pY2Ugd2lsbCB0YWtlIGVmZmVjdCBvbiBNYXJjaCA2LCAyMDI0LiBZb3UgY2FuIGNoYW5nZSB5b3VyIGNob2ljZXMgYW55dGltZSBpbiB5b3VyIEdvb2dsZSBBY2NvdW50LiIsIkRNQV9DT05TRU5UX0NPTkZJUk1BVElPTjIiOiJZb3VyIGNob2ljZXMgaGF2ZSBiZWVuIHNhdmVkLiBZb3UgY2FuIGNoYW5nZSB5b3VyIGNob2ljZXMgYW55dGltZSBpbiB5b3VyIEdvb2dsZSBBY2NvdW50LiIsIkRNQV9DT05TRU5UX0dFTkVSQUxfRVJST1IiOiJTb21ldGhpbmcgd2VudCB3cm9uZyB3aGlsZSBsb2FkaW5nIiwiRE1BX0NPTlNFTlRfUkVDT1JEX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHlvdXIgY2hvaWNlcyB3ZXJlIG5vdCBzYXZlZCIsIkRPTkUiOiJEb25lIiwiRE9XTkxPQUQiOiJEb3dubG9hZCIsIkZBSUxFRF9DT1BZX0VSUk9SX01FU1NBR0UiOiJDb3B5IGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhlIGRldmljZSwgZmFpbGVkIHRvIGNvcHkuIiwiRkxBR19DT05GSVJNIjoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGZsYWcgdGhpcyB2aWRlbz8iLCJGTEFHX0NPTlRFTlQiOiJTaWduIGluIHRvIGZsYWcgaXQuIiwiRkxBR19MQUJFTCI6IkZsYWcgYXMgaW5hcHByb3ByaWF0ZSIsIkZMQUdfVElUTEUiOiJJbmFwcHJvcHJpYXRlIHZpZGVvPyIsIkZVTExTQ1JFRU5fR0VORVJJQ19FUlJPUiI6IkZ1bGwgc2NyZWVuIGlzIHVuYXZhaWxhYmxlLiIsIkdPT0dMRV9DT01QQU5ZIjoiWW91VHViZSwgYSBHb29nbGUgY29tcGFueSIsIkhJREVfQUxFUlQiOiJIaWRlIHRoaXMgYWxlcnQiLCJISURFX1BMQVlFUl9DT05UUk9MUyI6IkhpZGUgcGxheWVyIGNvbnRyb2xzIiwiSElERV9QTEFZTElTVF9WSURFT1MiOiJIaWRlIHBsYXlsaXN0IHZpZGVvcyIsIkhJREVfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJIaWRlIHNlYXJjaCBmaWx0ZXJzIiwiSE9NRSI6IkhvbWUiLCJJTlZBTElEX1JFU1BPTlNFX1JFQ0VJVkVEIjoiSW52YWxpZCByZXNwb25zZSByZWNlaXZlZC4iLCJMRUFWRV9BX0NPTU1FTlRfVElUTEUiOiJMZWF2ZSBhIGNvbW1lbnQ/IiwiTElCUkFSWSI6IkxpYnJhcnkiLCJMSUtFX0NPVU5UX1RFWFQiOnsiY2FzZTAiOiJObyBsaWtlcyIsImNhc2UxIjoiMSBsaWtlIiwib3RoZXIiOiIjIGxpa2VzIn0sIkxJS0VfQ09VTlRfVEVYVF9MQUJFTCI6IntcImNhc2UwXCI6IFwiTm8gcGVvcGxlIGhhdmUgbGlrZWQgdGhpcyB2aWRlby5cIiwgXCJjYXNlMVwiOiBcIjEgcGVyc29uIGhhcyBsaWtlZCB0aGlzIHZpZGVvLlwiLCBcIm90aGVyXCI6IFwiIyBwZW9wbGUgaGF2ZSBsaWtlZCB0aGlzIHZpZGVvLlwifSIsIkxJU1RFTklORyI6Ikxpc3RlbmluZy4uLiIsIkxPQURJTkciOiJMb2FkaW5nLi4uIiwiTE9OR19QUkVTU19NSUNfVE9fU1BFQUsiOiJMb25nIHByZXNzIG1pY19pY29uX3BsYWNlaG9sZGVyIHRvIHNwZWFrIiwiTE9PUCI6Ikxvb3AiLCJNRU5VX0RFU0tUT1AiOiJEZXNrdG9wIiwiTUVOVV9FWElUIjoiRXhpdCIsIk1FTlVfRkVFREJBQ0siOiJGZWVkYmFjayIsIk1FTlVfSEVMUCI6IkhlbHAiLCJNRU5VX0lNUFJFU1NVTSI6IkltcHJpbnQiLCJNRU5VX1BMQVlFUl9TRVRUSU5HUyI6IlBsYXliYWNrIFNldHRpbmdzIiwiTUVOVV9SRVBPUlRfQV9QUk9CTEVNIjoiUmVwb3J0IGEgcHJvYmxlbSB3aXRoIFlvdVR1YmUiLCJNRU5VX1NFTkRfRkVFREJBQ0siOiJTZW5kIGZlZWRiYWNrIiwiTUVOVV9TRVRUSU5HUyI6IlNldHRpbmdzIiwiTUVOVV9TSUdOX0lOIjoiU2lnbiBJbiIsIk1FTlVfVEVSTVMiOiJQcml2YWN5IFx1MDAyNiBUZXJtcyIsIk1FTlVfVElUTEUiOiJNZW51IiwiTUVOVV9ZT1VSX0RBVEEiOiJZb3VyIGRhdGEgaW4gWW91VHViZSIsIk1FVEFEQVRBX1NVQlRJVExFX0NIQU5ORUxfTkFNRV9MQUJFTCI6IlVwbG9hZGVkIGJ5ICR7Y2hhbm5lbF9uYW1lX3BsYWNlaG9sZGVyfS4iLCJNTUdfQ09ORklSTUFUSU9OIjoiWW91ciBjaG9pY2UgaGFzIGJlZW4gc2F2ZWQuIFlvdSBjYW4gY2hhbmdlIHRoaXMgc2V0dGluZyBhbnl0aW1lIGluIE15IEFkIENlbnRlci4iLCJNTUdfQ09OU0VOVF9SRUNPUkRfRVJST1IiOiJTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgeW91ciBjaG9pY2Ugd2FzIG5vdCBzYXZlZCIsIk1PUkUiOiJNb3JlIiwiTU9SRV9JTkZPIjoiTW9yZSBpbmZvIiwiTU9SRV9MT1dFUkNBU0UiOiJtb3JlIiwiTU9SRV9PUFRJT05TIjoiTW9yZSBvcHRpb25zIiwiTU9SRV9WSURFT1MiOiJNb3JlIHZpZGVvcyIsIk1PUkVfVklERU9TX0NMT1NFX0JVVFRPTl9BUklBX0xBQkVMIjoiSGlkZSBtb3JlIHZpZGVvcyIsIk1PUkVfVklERU9TX0ZST01fQ0hBTk5FTCI6Ik1vcmUgdmlkZW9zIGZyb20gJGNoYW5uZWxfbmFtZV9wbGFjZWhvbGRlciIsIk1PUkVfVklERU9TX05FWFRfQlVUVE9OX0FSSUFfTEFCRUwiOiJOZXh0IHZpZGVvcyIsIk1PUkVfVklERU9TX1BSRVZJT1VTX0JVVFRPTl9BUklBX0xBQkVMIjoiUHJldmlvdXMgdmlkZW9zIiwiTVVURV9WT0xVTUUiOiJNdXRlIiwiTkVXX1BMQVlMSVNUIjoiTmV3IHBsYXlsaXN0IiwiTkVYVF9WSURFTyI6Ik5leHQgdmlkZW8iLCJOT1RJRklDQVRJT05fRVJST1JfTUVTU0FHRSI6IlNvbWV0aGluZyB3ZW50IHdyb25nLCBwbGVhc2UgdHJ5IGFnYWluLiIsIk5PVF9GT1VORF9DVEEiOiJCcm93c2UgVmlkZW9zIiwiTk9UX0ZPVU5EX01FU1NBR0UiOiJQbGVhc2Ugc2VhcmNoIGZvciBzb21ldGhpbmcgZWxzZSwgb3IgYnJvd3NlIHlvdXIgSG9tZSBmZWVkLiIsIk5PVF9GT1VORF9USVRMRSI6IlRoaXMgcGFnZSBpc25cdTAwMjd0IGF2YWlsYWJsZSIsIk5PX0RPV05MT0FEUyI6Ik5vIGRvd25sb2FkcyIsIk5PX01JQ19JTlBVVCI6IkRpZG5cdTAwMjd0IGhlYXIgdGhhdC4gVHJ5IHNwZWFraW5nIGFnYWluLiIsIk9GRkxJTkVfQ0hFQ0tfQ09OTkVDVElPTiI6IllvdVx1MDAyN3JlIG9mZmxpbmUuIENoZWNrIHlvdXIgY29ubmVjdGlvbi4iLCJPT1BTX01FU1NBR0UiOiJPb3BzISBTb21ldGhpbmcgd2VudCB3cm9uZy4iLCJPUEVOX0FQUCI6Ik9wZW4gQXBwIiwiT1BFTl9ZT1VUVUJFIjoiT3BlbiB0aGUgYXBwIiwiT1BFTl9ZT1VUVUJFX0FQUCI6Ik9wZW4gWW91VHViZSBhcHAiLCJQQVVTRSI6IlBhdXNlIiwiUExBWSI6IlBsYXkiLCJQTEFZQkFDS19TUEVFRF9YIjoiJHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyfXgiLCJQTEFZRVJfQ0FQVElPTiI6IkNhcHRpb25zIiwiUExBWUVSX0NBUFRJT05fT0ZGIjoiT2ZmIiwiUExBWUVSX0NBUFRJT05fT04iOiJPbiIsIlBMQVlFUl9ET1VCTEVfU1BFRURfVVNFUl9FRFUiOiIyeCIsIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NFRUsiOiJEb3VibGUgdGFwIGxlZnQgb3IgcmlnaHQgdG8gc2tpcCAxMCBzZWNvbmRzIiwiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0hPV19PUl9ISURFX1BMQVlFUl9DT05UUk9MUyI6IkRvdWJsZSB0YXAgdG8gc2hvdyBvciBoaWRlIHBsYXllciBjb250cm9scyIsIlBMQVlFUl9FWElUX0ZVTExTQ1JFRU4iOiJFeGl0IGZ1bGwgc2NyZWVuIiwiUExBWUVSX0ZBU1RGT1JXQVJEX1NFQ09ORFMiOiJGYXN0IGZvcndhcmQgJHNlY29uZHNfcGxhY2Vob2xkZXIgc2Vjb25kcyIsIlBMQVlFUl9GVUxMU0NSRUVOIjoiRW50ZXIgZnVsbCBzY3JlZW4iLCJQTEFZRVJfTElWRV9MQUJFTCI6IkxpdmUiLCJQTEFZRVJfTElWRV9OT1ciOiJMaXZlIG5vdyIsIlBMQVlFUl9NSU5JTUlaRSI6Ik1pbmltaXplIiwiUExBWUVSX05FWFQiOiJOZXh0IHZpZGVvIiwiUExBWUVSX1BBVVNFIjoiUGF1c2UgdmlkZW8iLCJQTEFZRVJfUExBWSI6IlBsYXkgdmlkZW8iLCJQTEFZRVJfUFJFTUlFUkVfTEFCRUwiOiJQcmVtaWVyZSIsIlBMQVlFUl9QUkVWSU9VUyI6IlByZXZpb3VzIHZpZGVvIiwiUExBWUVSX1BST0dSRVNTX0JBUiI6IlNlZWsgc2xpZGVyIiwiUExBWUVSX1FVQUxJVFkiOiJRdWFsaXR5IiwiUExBWUVSX1FVQUxJVFlfQVVUTyI6IkF1dG8iLCJQTEFZRVJfUkVQTEFZIjoiUmVwbGF5IFZpZGVvIiwiUExBWUVSX1JFV0lORF9TRUNPTkRTIjoiUmV3aW5kICRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfU0VDT05EUyI6IiRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfU1BFRUQiOiJTcGVlZCIsIlBMQVlFUl9TUEVFRFVQX1VTRVJfRURVIjoiUGxheWluZyBhdCBzcGVlZF9yYXRlX3BsYWNlaG9sZGVyeCBzcGVlZCIsIlBMQVlFUl9TUEVFRF9ERUNSRUFTRSI6IkRlY3JlYXNlIHBsYXliYWNrIHNwZWVkIiwiUExBWUVSX1NQRUVEX0lOQ1JFQVNFIjoiSW5jcmVhc2UgcGxheWJhY2sgc3BlZWQiLCJQTEFZRVJfU1BFRURfTk9STUFMIjoiTm9ybWFsIiwiUExBWUVSX1NQRUVEX1JFQ0VOVCI6IlJlY2VudCIsIlBMQVlFUl9USU1FX0RVUkFUSU9OIjoiVGltZSBkdXJhdGlvbiIsIlBMQVlFUl9USU1FX0VMQVBTRUQiOiJUaW1lIGVsYXBzZWQiLCJQTEFZRVJfVElNRV9GT1JNQVRURUQiOnsiY2FzZTAiOiIke21pbnV0ZXN9IG1pbnV0ZXMgYW5kICR7c2Vjb25kc30gc2Vjb25kcyIsImNhc2UxIjoiMSBob3VyLCAke21pbnV0ZXN9IG1pbnV0ZXMgYW5kICR7c2Vjb25kc30gc2Vjb25kcyIsIm90aGVyIjoiIyBob3VycywgJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMifSwiUExBWUxJU1RfQ1VSUkVOVF9WSURFT19JTkRFWCI6IiR7Y3VycmVudF92aWRlb19pbmRleH0gb2YgJHtsYXN0X2luZGV4fS4iLCJQTEFZTElTVF9ERVNDUklQVElPTl9JTlZBTElEX0NIQVJBQ1RFUlMiOiJQbGF5bGlzdCBkZXNjcmlwdGlvbiBjYW5cdTAwMjd0IHVzZSBcdTAwM2Mgb3IgXHUwMDNlIiwiUExBWUxJU1RfTUlYX0RFVEFJTEVEX0xPTkdfQllMSU5FIjoiTWl4ZXMgYXJlIHBsYXlsaXN0cyBZb3VUdWJlIG1ha2VzIGZvciB5b3UiLCJQTEFZTElTVF9OQU1FX0lOVkFMSURfQ0hBUkFDVEVSUyI6IlBsYXlsaXN0IHRpdGxlIGNhblx1MDAyN3QgdXNlIFx1MDAzYyBvciBcdTAwM2UiLCJQTEFZTElTVF9OQU1FX01JU1NJTkciOiJQbGF5bGlzdCB0aXRsZSByZXF1aXJlZC4iLCJQTEFZTElTVF9OQU1FX1RPT19MT05HIjoiUGxheWxpc3QgdGl0bGUgaXMgdG9vIGxvbmcuIiwiUExBWUxJU1RfUEFORUxfRU5EX09GX1BMQVlMSVNUIjoiRW5kIG9mIFBsYXlsaXN0IiwiUExBWUxJU1RfUEFORUxfTkVYVCI6Ik5leHQ6IiwiUExBWUxJU1RfUEFORUxfVU5MSVNURURfUExBWUxJU1QiOiJVbmxpc3RlZCBQbGF5bGlzdCIsIlBMQVlMSVNUX1RFWFRfSU5QVVRfQ0hBUl9DT1VOVCI6ImN1cnJlbnRfY291bnRfcGxhY2Vob2xkZXIgb2YgbWF4X2NvdW50X3BsYWNlaG9sZGVyIGNoYXJhY3RlcnMgdXNlZCIsIlBMQVlfQUxMIjoiUGxheSBhbGwiLCJQTEVBU0VfRklYX0VSUk9SUyI6IlBsZWFzZSBmaXggZXJyb3JzIGFuZCB0cnkgYWdhaW4uIiwiUFJFTUlVTV9CQURHRV9MQUJFTCI6IlByZW1pdW0iLCJQUkVWSU9VU19WSURFTyI6IlByZXZpb3VzIHZpZGVvIiwiUFJJVkFDWV9QT0xJQ1kiOiJQcml2YWN5IFBvbGljeSIsIlJFTE9BRCI6IlJlbG9hZCIsIlJFUExJRVNfU0hPV19NT1JFIjoiU2hvdyBtb3JlIHJlcGxpZXMiLCJSRVFVSVJFRF9MQUJFTCI6IlJlcXVpcmVkIiwiU0FWRV9QTEFZTElTVCI6IlNhdmUiLCJTQ1JVQl9TTElERV9VU0VSX0VEVSI6IlNsaWRlIGxlZnQgb3IgcmlnaHQgdG8gc2VlayIsIlNFQVJDSCI6IlNlYXJjaCIsIlNFQVJDSF9BUFBFTkRfTEFCRUwiOiJBcHBlbmQgc3VnZ2VzdGlvbiB0byBzZWFyY2ggZmllbGQiLCJTRUFSQ0hfQ0hBTk5FTCI6IlNlYXJjaCBjaGFubmVsIiwiU0VBUkNIX0NMRUFSX0xBQkVMIjoiQ2xlYXIgY3VycmVudCBzZWFyY2ggdGV4dCIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9BTEJVTSI6IkFsYnVtIGJ5ICR7YXJ0aXN0fSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9BTEJVTV9OT19BUlRJU1QiOiJBbGJ1bSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9NT1ZJRSI6Ik1vdmllIiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1NPTkciOiJTb25nIGJ5ICR7YXJ0aXN0fSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9TT05HX05PX0FSVElTVCI6IlNvbmciLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fVFZfU0hPVyI6IlRWIHNob3ciLCJTRUFSQ0hfRklMVEVSU19MQUJFTCI6IlNlYXJjaCBmaWx0ZXJzIiwiU0VBUkNIX0xBQkVMIjoiU2VhcmNoIFlvdVR1YmUiLCJTRUFSQ0hfUFBQX1BMQUNFSE9MREVSX1RFWFQiOiJTZWFyY2ggcGFpZCBwcm9kdWN0IHBsYWNlbWVudCB2aWRlb3MiLCJTRUVLX1NMSURFUiI6IlNlZWsgc2xpZGVyIiwiU0VUVElOR1NfTEFCRUwiOiJTZXR0aW5ncyIsIlNFVFRJTkdTX01JQ19QRVJNSVNTSU9OIjoiUGxlYXNlIGFsbG93IG1pY3JvcGhvbmUgcGVybWlzc2lvbiBpbiBkZXZpY2Ugc2V0dGluZ3MuIiwiU0VUX1BMQVlCQUNLX1NQRUVEX1giOiIke3NwZWVkX3JhdGVfcGxhY2Vob2xkZXJ9eCBzcGVlZCIsIlNIT1JUU19UQUJfTEFCRUwiOiJTaG9ydHMiLCJTSE9XX0xFU1MiOiJTaG93IGxlc3MiLCJTSE9XX01PUkUiOiJTaG93IG1vcmUiLCJTSE9XX1BMQVlFUl9DT05UUk9MUyI6IlNob3cgcGxheWVyIGNvbnRyb2xzIiwiU0hPV19QTEFZTElTVF9WSURFT1MiOiJTaG93IHBsYXlsaXN0IHZpZGVvcyIsIlNIT1dfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJTaG93IHNlYXJjaCBmaWx0ZXJzIiwiU0lHTl9JTl9MQUJFTCI6IlNpZ24gaW4iLCJTSUdOX0lOX09OX1dFQiI6IlNpZ24gaW4gb24gd2ViIiwiU1RBQkxFX1ZPTFVNRSI6IlN0YWJsZSB2b2x1bWUiLCJTVEFCTEVfVk9MVU1FX09GRiI6IlN0YWJsZSB2b2x1bWUgb2ZmIiwiU1RBQkxFX1ZPTFVNRV9PTiI6IlN0YWJsZSB2b2x1bWUgb24iLCJTVEFUU19GT1JfTkVSRFMiOiJTdGF0cyBGb3IgTmVyZHMiLCJTVUdHRVNUSU9OX0RJU01JU1NFRF9MQUJFTCI6IlN1Z2dlc3Rpb24gUmVtb3ZlZCIsIlNVR0dFU1RJT05fRElTTUlTU19JTl9TRVRUSU5HU19MQUJFTCI6IlJlbW92ZSBpbiBzZXR0aW5ncyIsIlNVR0dFU1RJT05fRElTTUlTU19MQUJFTCI6IlJlbW92ZSIsIlNVR0dFU1RJT05fTkVXX1ZJREVPU19URVhUIjoiTmV3IHZpZGVvcyIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0FUVFJJQlVUSU9OX0RJQUxPR19CVVRUT05fTEFCRUwiOiJWaXNpdCBzb3VyY2UiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfREVTQ1JJUFRJT04iOiJWaXNpdCBpbWFnZSBzb3VyY2Ugd2Vic2l0ZT8iLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfVElUTEUiOiJJbWFnZSBzb3VyY2UiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9MQUJFTCI6IlZpZXcgaW1hZ2Ugc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfTEFCRUwiOiJJbWFnZSBmb3Igc3VnZ2VzdGlvbiIsIlRFUk1TX09GX1NFUlZJQ0UiOiJUZXJtcyBvZiBTZXJ2aWNlIiwiVElNRVNUQU1QX01JTlVURVMiOiJ0aW1lc3RhbXAgbWludXRlcyByZXF1aXJlZCIsIlRJTUVTVEFNUF9TRUNPTkRTIjoidGltZXN0YW1wIHNlY29uZHMgcmVxdWlyZWQiLCJUT0dHTEVfT0ZGIjoiT2ZmIiwiVE9HR0xFX09OIjoiT24iLCJUUkVORElORyI6IlRyZW5kaW5nIiwiVFJPVUJMRVNIT09UX1BMQVlCQUNLX0lTU1VFIjoiVHJvdWJsZXNob290IHBsYXliYWNrIGlzc3VlIiwiVFJZX0FHQUlOX0xBVEVSIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIiwiVFJZX0FHQUlOX01JQ19QRVJNSVNTSU9OIjoiUGxlYXNlIHRyeSBhZ2FpbiBhbmQgYWxsb3cgbWljcm9waG9uZSBwZXJtaXNzaW9uLiIsIlRVUk5fT0ZGX0FVVE9QTEFZX0NPTkZJUk1fQlVUVE9OX1RJVExFIjoiVHVybiBvZmYiLCJUVVJOX09GRl9BVVRPUExBWV9ESUFMT0dfREVTQ1JJUFRJT04iOiJXaGVuIGF1dG9wbGF5IGlzIG9mZiwgYSBzdWdnZXN0ZWQgdmlkZW8gd2lsbCBub3QgYXV0b21hdGljYWxseSBwbGF5IG5leHQiLCJUVVJOX09GRl9BVVRPUExBWV9ESUFMT0dfVElUTEUiOiJUdXJuIG9mZiBhdXRvcGxheT8iLCJVTk1VVEVfVk9MVU1FIjoiVW5tdXRlIiwiVklERU9TIjoie3ZpZGVvcyxwbHVyYWwsIFx1MDAzZDB7MCB2aWRlb3N9XHUwMDNkMXsxIHZpZGVvfW90aGVyeyMgdmlkZW9zfX0iLCJWSURFT19MSU5LX0xBQkVMIjoiVmlkZW8gbGluayIsIldBVENIRUQiOiJXYXRjaGVkIiwiX19sYW5nX18iOiJlbiJ9KTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSI2dmVhbjlibExWMDdnaVd0dVV3QWtBIj52YXIgX0ZfY3NzUm93S2V5ID0gJ3l0ZW1iZWRzLmJhc2UuTnhuaXV1WkVUWncuTC5GNC5PJzsgdmFyIF9GX2NvbWJpbmVkU2lnbmF0dXJlID0gJ0FHS015d0hVNnFITml0bnM1WHFZRUstMnl5VUVhR09Wa1EnOzwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvcy9fL3l0ZW1iZWRzL18vanMvaz15dGVtYmVkcy5iYXNlLmVuX1VTLl84OFR3eXlIS0hzLjIwMjEuTy9hbT1BQUFBZ0EvZD0xL2V4Y209YmFzZSxyb290L2JyPTEvcnM9QUdLTXl3RXUyVFFVemRTRjBBY3NGQk1VckZxeXVyS2x1dy9tPXJvb3QsYmFzZSIgbmFtZT0iZW1iZWRfY2xpZW50IiBpZD0iYmFzZS1qcyIgbm9uY2U9IjZ2ZWFuOWJsTFYwN2dpV3R1VXdBa0EiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvcy9wbGF5ZXIvN2E3OTY5YzIvcGxheWVyX2VtYmVkX2VzNi52ZmxzZXQvZW5fVVMvYmFzZS5qcyIgbmFtZT0icGxheWVyL2Jhc2UiIG5vbmNlPSI2dmVhbjlibExWMDdnaVd0dVV3QWtBIj48L3NjcmlwdD48c2NyaXB0IG5vbmNlPSI2dmVhbjlibExWMDdnaVd0dVV3QWtBIj53cml0ZUVtYmVkKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iNnZlYW45YmxMVjA3Z2lXdHVVd0FrQSI+KGZ1bmN0aW9uKCkge2lmICh3aW5kb3cueXRBdE4pIHt3aW5kb3cueXRBdE4oeydSJzogJ1x4N2JceDIycmVzcG9uc2VDb250ZXh0XHgyMjpceDdiXHgyMnNlcnZpY2VUcmFja2luZ1BhcmFtc1x4MjI6XHg1Ylx4N2JceDIyc2VydmljZVx4MjI6XHgyMkNTSVx4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIyY1x4MjIsXHgyMnZhbHVlXHgyMjpceDIyV0VCX0VNQkVEREVEX1BMQVlFUlx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyY3Zlclx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMi4yMDI2MDcyNC4wMS4wMFx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyeXRfbGlceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjBceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMkdldEF0dGVzdGF0aW9uQ2hhbGxlbmdlX3JpZFx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMHg0YzA0YzJiYmM4MTM5NjNiXHgyMlx4N2RceDVkXHg3ZCxceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJHRkVFREJBQ0tceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmxvZ2dlZF9pblx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMFx4MjJceDdkXHg1ZFx4N2QsXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyR1VJREVEX0hFTFBceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmxvZ2dlZF9pblx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMFx4MjJceDdkXHg1ZFx4N2QsXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyRUNBVENIRVJceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmNsaWVudC52ZXJzaW9uXHgyMixceDIydmFsdWVceDIyOlx4MjIyLjIwMjYwNzI0XHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJjbGllbnQubmFtZVx4MjIsXHgyMnZhbHVlXHgyMjpceDIyV0VCX0VNQkVEREVEX1BMQVlFUlx4MjJceDdkXHg1ZFx4N2RceDVkLFx4MjJyZXNwb25zZUlkXHgyMjpceDIySWhNSTd0S1VwSV95bFFNVnZkSjdBQjNvR3dWaVx4MjIsXHgyMndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGFceDIyOlx4N2JceDIyaGFzRGVjb3JhdGVkXHgyMjp0cnVlXHg3ZFx4N2QsXHgyMmNoYWxsZW5nZVx4MjI6XHgyMmFceDNkNlxcdTAwMjZhMlx4M2QxMFxcdTAwMjZjXHgzZDE3ODUxMjk5NDlcXHUwMDI2ZFx4M2Q1NlxcdTAwMjZ0XHgzZDIxNjAwXFx1MDAyNmMxYVx4M2QxXFx1MDAyNmM2YVx4M2QxXFx1MDAyNmM2Ylx4M2QxXFx1MDAyNmhoXHgzZHR0OVZsYVZaRXYtRnBybEVTVVdyRnE1Z0RCV3RMcFFoOTJDMEVKRXFpWUFceDIyLFx4MjJiZ0NoYWxsZW5nZVx4MjI6XHg3Ylx4MjJpbnRlcnByZXRlclVybFx4MjI6XHg3Ylx4MjJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWVceDIyOlx4MjJcL1wvd3d3Lmdvb2dsZS5jb21cL2pzXC90aFwvYjhxWHJGQXU5UEhWckdxTVppMm5xS205VFVOUHJyekVoNDBQQWwtNm9Wby5qc1x4MjJceDdkLFx4MjJpbnRlcnByZXRlckhhc2hceDIyOlx4MjJiOHFYckZBdTlQSFZyR3FNWmkybnFLbTlUVU5QcnJ6RWg0MFBBbC02b1ZvXHgyMixceDIycHJvZ3JhbVx4MjI6XHgyMlJydmlCRk0rdkw0NkZNTmZiXC9LVEJTcHBDSWtoKzZlZkZGUjN6alwvR3NBTmZcL2JzM3BuSTNFb2hQaE1NVHgwMHNKejZ6UnFBT3FZY0VvNHUrWG5MR003SjJKWU9uc0RiWUlwOXB1QTNcLzd2R05EUFRiZUVVcTE3Q0hUQzUyTjcwbmtKOVwvK0RrNWhuNmtzdGZVUGNKcU51SFdGQkdhVXpMcUV4SFl3NVB1RUhOQVBCNXlWd2xYcVNna3VjZVwvNm5Xaks2U1NjWWM1TlNLeVFGUGxRWVd5T2lFNTUrRk9Pb0hcL01hVjV4a3BEWkZVbldVaWVVYk9nME50M25KR2FQMkZHU1VWMGo5aVArUTVkQ1BIVzFjaXNIcmVaRDdOWjk1K1NZREtuSFhOZWZUOFFPMzBGSTZtb3hjUmdmaVpINDk3UUpWd0hqRXNaWkU2eUU5T1JJZDB0NFF1YVFCZW41NEIwM1J2cFQwVXFaXC93U3VsOWRFamJEUFB2aGpmNUgyNXRJdlVrUW5IZVZndHI1UzFIU0w0R0U1Z004OHFRWlhCTXlMR1Q1cmNVek9QcGZtOEdKYXo3ZTEyY1BFTzJFdkVaTjJtMEJUM1EzXC95MFRkUTNhYlo0VUxNZEJZdmdKaDJEcjl2K3dYdE9GWGxveWxoUG1HN2xtaVFYcXdRbURkWGJGdWJVdGptUnN6b2gwTHdRRjFvK2lsYzFxTE5zMWVBN2VDd08yVmJ2VDIzbm45dDFKWGNreWpuTVYwbUd5ekRiQk9aQ1lUeWhwOEFFdXYxZ1NncjIyMDJwUU9tSWw2SUNwM2tobFdobXJCeVhObkNsaXBHNHJtWHZyMGhcL085K1Rjb1hHZ0VKSDhNWXdXMk8xUkhsSWRYT3VMOHFmS3NmNkpUNkRqVEhkMndzeFlrMFZZTXhUTGtDQ25Ob2RUVjZseWRZNGd4c2N5bFdENDFZRjdoZVZtMUYwR1hpeUQ0TTNLR2I4ejBGN0JESWpxbHhxcVRQR2U5SmxYeU5BVEdNZDdNQ3d4SFRNV2VRU2dycytlZW9aUmtPRDhUT25QYjFaSEZ6REgxUGRxTWR6UnFKMUQ3Ym9Jdjl0Wm52bkxGMktUYU9sQmRFelVsVGFWamdSQndLWGlKcVphQ0J3MUM3QlZhbm1Nc0cyXC9cLzczY2pydVBcL3Z1WlU3SDJcL2ZLQk9WU1hkYVNEMTNHMzM5UHA3T0lkMkgxVjVuR0tyNXlMaGFJQ0RoTWkzUjVIazBVMHBLMHRxYWtsNGlLb3hYNVlxbzlPdkFcL2hQKzlubVwva1wvNEdpWDFjbjhRUmY5eUlER1lXSmVucis4ZDNUdTdXa2dXWkQ1emRWY0FqT0FCT2txeHhaMk80MEZtZzJjVFwvKytEVFwvcHBhVFpJbmJadHVaUktETnJ2QSs5K1JqWW5XOENydmZJWFRoZXVzSWkxQnpuQmV6QXVEdDIyb1NMMEUya3J4TVFlejVwbGk5TnlneEtURTZZdTFndlpZWnhnanBTNHZtd0tIVmk2Uk9pUmxaNGpRMEtBaGN4SmRySHJzMHkzOVprV1FrMzVZQ3V5R0JzTzZTcll3UTQ4XC9qZVZMYkNJTmtrM05KdFlxMnNtZlVJd1lrVFpyUE40d0lkY1JDU1BZQlRtb1BMOFVWUEdLWWhKN3Z1OWpXZEJHUTdJWkpjVFhTSWhVclhiaVhaRkZ0M1NoWFo5ekc5TWNqNDJcLytWR1ptT25oSm8rQUpiWGdRZ2RNTGVOMm9kN0xQU0sxek0rV2M5aEdtemd1RWhkaWJObW1UUURGRjlhNzJzamE4bWwyUE14ZzZRMzZrOHMydEJQYmxnNDUxa3VlRUY4ZVo3b3FMUERcL0hxd3F0MDJOZ0RjbFZXbTFGOFVHbXd1elBKMDE5ZUdBZnBLVHk1ZW5cL3hKQUoydTlkcytpU3JMdDRMOXVJaldudlZHZ1wvd05CcjlNUUZkT3kxVXBpcDdTaEpJV01ZRlNUd3dzY1VoM0ZBNTg2cUdqQnFjYTZLaitOa2tSaUVlSE5oVGNiTlVrSWx5UUtadzlpWGpIUzQ4SThcL1JsTTFLRFhnMUhRcW1kdG9NYXA2bWo1UWw2UWpkV1F3NzZhR3FoSmN2bFlnRFdnZDA4enprWTlNV2JcL0JuWEtxUlJDYlUxRzdIaHFjeUhOK3Z0SCszdWNhSFFiaHJIUm16WVwvSWdoczhpc3BLeTZDTkpqbmUzb2RTckc0ZXVEK1owQjJDTXQ3TzJZNFVzMGJra29oUUpPRnNnQWo3V0t4MVhlaWU1OW9MbTRFd09VNkc3S05hT2FVbHZyTUFKeHZYMDFtblplWG9MVnNSTXJGQktWdU44VWk3SlA3bTlOVEFBVGk2dk9CeDI4U2FvR1JVZ1hOUnVqVWhsMFZsampxNm1iQWxnRFA1M1BXUEd1MmJSNkJPVUlYMHpsaSt0ZzdjdGdEODJMZk00OXVHS2hkUkpkWExacTVieXdBaXhUdDdQRUZlR3JxeGtzODd6M201dmZQM0tXZnoyUSsraGViTDJIYis1VGc0ZnhcL2xHdjlVQ09KKzhmaWo1amhvQlE3VDFMYWVxbWh2b3R4ZUVsd29CaVpuMG0xblExOXBRSVRwTWlLalY3SEgxZ1BpZ1hrdlpcLzkxKzUwRE1lNUZJcTZONmpmZm53VUE1N2ZCaWZoOWd0dHB6dndXSFZjcCt4K0x5VkUxcTVQNHVPZVhsT1Mrek5BTTVFQmNxeFJmcGMrU21KWGJKY0pqS3A1WDBXQjJvT1hweVFJQ1wvQjZJNTJocThVb28zTkJFbVdWXC93WDRaeFRMbHN6OFFjWE9PRjFZM08rNkp5TDhkVWpFVlBvekwwaEIrQzQ3cEZ4b2x4c3JFd3IxdHc4Uml2T01pNThFK2JvN2xlbVducnpod2I4VGt5cFFBMTA2a1VCSHNWeTlQeGVCWDlMVDhWbzlzb0cwNmRqeWJhSGcxNEQ3UnpURUhxUENHZ3FNK1NmeVBlUXRoN2g2Ym9DanJ2RWxPcWNwa1lzXC9EM1Y5REMyamlMNEo5WnpcL0FxTFQ3eUJBQ1ZYZVNOblJmQlNjR3N0ZTVpXC95MnpzVGpJRFhoVUo2NlV6MjhoVVBFWElGQmVKOXd1dVIzMDBjeG9xZncrT1hRV3JydVRhRTJ4VVUxN3pQZ1hJbitcL3d1aFhlNkR2RkhqVlwvUzhGYkROSFZzQWpRalM5TnRSdGxROERGNWs1RmN4Mld1QVR6YlJlaGtPeXhjR2VYWmg0UWdJcFdjNVl3TlZ0cXdEdjN1MVp4NTB3QVwvSHRcLzRLYVl2ZURzWWd5aWJlRm12SlN0QWdNcFpYd3VqTkVhZDBucXhUWkczaTFhWjVUaFwvNCs0QWNkNWYxVWJmOFV1YjB0T2pQNFJvUXN3SFptbSt1UkFmXC8yY3l5VjArd1pIMGpDOHByQWNBblFOUUIwc3BhekUxWmtTd0xWQndMclRSRHM0S0NPZVowdnFRMmdPUzFBWjhYbmg1SlpaaDYrenRyVE1KNDhaa3YxNVZJc01Da1FMZ21qdGdvamZNSlZlQVAxT1M3VCs0bVNcLzd2bHVsUDZMclVoU1Niak1SVTNEVmlSTEVQK0RRdGlWR1NLejVIVjlUZUFtUktkVWg0TThHTVJFZnJHbVRwdWxHdlFJRlJtc3hzNVpOXC9aQlVUKzMrSXNFWE9Tc3pnMHgxdVJXOXJKQWc3RGJ0eXJ2eTdNUHZvbzZrRHBQYVlnXC9PZUgxWFJQZzVmS0dBUWdNdktuVmluOG1iUGV0aFdISjNicE5ENlNhN1JSeE82bmdPbmFYZXZMdFhHRStpd0VJejFDV25RUGp0eDRVbDg5d3pTOVRiXC8xY2Y5aExTVGdEQVNxM2JqODF6dU9BSzB3ekNOV1ByTk1KY1A3VThJeW5nSmpPRk9xZnRzSnRpWmhcL3AxQnZweTNOMnVmbElvNXFKZmdFRGFyYzRVZFpVSnhJa1htSG9nUjB3Y1wvWDkycVpaWDdPcmc1XC9NeGh5RkRRZ3RyK1J4U3RHTm0zU0xmT1RMck1IdzJGXC9nZWZxQXVcL1BKTnFZTFlIM3lOXC8wQkVGaXk3MjFhWk80UjhsbWd1QkEyYTVkV3VKOWVZbitMYjF3ck05TmJkRzFHZ2orK05yMmo0T1JcL09sT2o1QWQrUWt4ajJYZnNQVTJOM251UGRpVGIxdHE0WXhlU3RpNms0Rk1ETE96SXRhNWxUb2syZXFiQmJtR3dwY25YblBTN1NhRkUzOThkbGtzcUlGK2Z5SG5CMGZ1azFTd1FvbGZVNnlNUGgzQ0wySGxKWVZlZDJYUHF3dzNnV1F5Zm4zRG9xN3N0cHBXRmduNEFLSytGSW05S2x5dDI5eUxETytPdnpcL3grcm52RkgrNVl6S0QrcHMrQjh1cGtNY2RFcVU3WGZqSVdjZ0hYakM2eU5VM3paZ3VrZHAraDU3b0RKY2k1K1hrWE5nMElPNFhUdWhmZ29GSHdwQ29saTVVWmhyVVA4YjlNM0tQRG5iN0lSRUYxUGU0YkJndEtnNVhLVEgxVXFSY0luSU1FRHdSdCtUNkM5Q0xhUnBOeEw0UXFiMTdEZEFQOWYxekFiamJ5YU9vOGFQZ2hsXC9XMDEyQk1ETk41NDlOdjJkeDVxUjZjaGlXejkxTDVcL280Sk02bEZwanIrN0Y0M2N2RUZUOFwvd0V2ZGdxeWlqSmF0WUoxa0dZQWhCOVh5U2NqYXo0OFRja1haTnNKaG1CUlZCdEp4SXZETG80Zjd4T1F0OEdLUDY3K1JxQlJoSWVtK3BaZkNvMm5JV0x2VHhjSXdUWm9wV0RMcUpFVDdETFgwN1QxVHloN25hQjVPOHIrckNRbWdCaTcwRTRhdUZwV2lXM1ltUVdqS0ZxMmhnVGp0TVwvXC9PeWpKTTRRU1VURDJ6b2Rmd1JcL3ZhUUlcL0FreE1YYk1lbkVSRVJ0K21zOWJMYm9XRWJJUlwvb3FjRFhcLzJrbkJDbDFVa3pmRFRCbFBiK3AyN3N2c1JNUXJ0WFlwS1JJUUtoSWNNcGl2bmllS1wvY01BQzFjZ0hIWGhSbkVjMzVBU2VLSWZydUdDUnpzTDd1cXNCVXZEMFZORWQxQlorMzh5ZXpNUm5HamN4bldVcXlVOEM5RWdZaTBtQWJLUHltMUQ4eXFMTkdBcyttQm9oMjVkUXMwY05KMlludjdJMEtGdElsZ1NnOHRWOVpXT3VzelpqcWU5b3Z5WGRXa0xiYmZcLzVmcnZydytlclg3dEIyNWZTcElkd2JXdWhONTRTV0FuamJaa0V6dVNRQnJZb0tkTG9mWFJDclJWUmkyKzF4TVk3OWVWY0Q4XC9iVjhSNDdYQ29IaDFvR0IrYjFsYmw2cWt0YkdrOVdydmROU3plNmlsYXVTMVB0TlZQV0MzVVcxUDROMFQxTWFvWWd1YUpVT0hMcFJqYTlPRFR1OTdDVCs2Q3lXdFRGd3RWdW5WeVA4cEc0VUZIRm1ZWXpoZzJYTDVNVEhIK3NvOVJmZEFPVklVXC9PUHlHTDhVNkxuelh0b21Hem12ektpMVkwR3M3eFB2NWpsM2JoVDd4QnU0YmZlbkxCTHVyVTVheVBpcWZtM2lsRW1IS21QZ01vT25UeG1mXC90cnlwMXNkb210VFZLcG1vRDFnRzhTekV2eVJ0RVpoRlFFVndLRng4elBibm5KK1dnYzFldHdBOW83RnluaXNVdmxRcWpJYjNLeE95ZTBlTkY1em1CSEY0U0R3RFJ1bld6d3VlVmgrZHhLZFFCa1NFa3pyMjVJT0RKQVd0SHZpTW4wdUMra0lXbzVXSDFrVlNCcmNBSmhxRG1CWHJmVU1BUzV0MEF0TDYzYUhLQU1CbDAzMnVURTZVT0VPcGNrRFRGVTc2S0twY0x5bGJsVEJOektSaWxoTVJsTG5TOFQ2ZFplMFY0SEJ6MkFvaG5cLzM0OWlZMG9hTTcxZjFpWkxRcE0wVDl4NkhCaFdTd1djRUF4cHhORTVDcHZEejMwTllvSVo5VmdmbUdcL3I5QWFVNzlrckNZcEZGUHpoY0puYk0xN2gxUDh6MnRGYzhQNVwvNWV4NEUrdlwvMXFWSW5RQStNcnc3XC9VcFFDXC9ET1ExMU9DZFJGY3Z6U0VSQ0pmOElkaTBTNkdYTXBXNTJPZ2o5N2Rrc1lyc0Vidk1yZnVvRFpFTGQ4aUtUSmxZdWdyRUNXeU1XeTNZV0xBRmJrd0VYcXZINzZ2aHQ2MWhkUTNaVDJiZzZ0Y0VrSXJWUzg2ZTdyNGlHQldYQkdlKzVwTGIwYlNRNExUR1lzdFdvcTVoSXdWUGpYNTFEaGhPbVBWTnRyNWFpOTdiYVNLdGF1aTcwQ3JuXC9TMFExTzU4M3VhNHgzajRDb1l6eEVJeloyeTgzUk45T0VMdUdNRlwvTml0dUVnUWlmUGRBK09QSmRcLzJxTkdQdVwvV2ptc0Vlb0gxNVFEak9FaFFDZ052YlFcLzVVR1JIRFwvdWJEbzVBalJ1K0hkWXZQVUc1UGI1UjR1NjRlbnd3YU1HMlwvUzhsMnlScWtWdXlvcHVPR1JCYlhGUG00YlVqUHVKc1dWNTA3REdndW5SeWtKNE5TVzJQYjI3a25ZOFBCS0I4UHNtbHpDUHYxZHdWZUc4R0lBelhlY3Nic1p2bTk5KzY1VER0NXRJNlwvMkJYNDBMckhHRFlIWFBHQmozZ3g4ZVBzRVp2R0dUVzZNTktYZnJtejNONUtzKzNpUHdnbVRnNGVSaDNGNmJ4azR5ak1JdThkWDN6WmEwMFg1SUlNQzlyTzRlS3A2MDRpd09SNGI4S2kzTVBsYmhlUVYxaUhQYk9ZTEtGNWVYY3Fpdmk0TlF3S1IwenJkV3MwWGFjVE5hY3NaM3Rid1AwQ0hZZXdNMGxROURlSXlJZTBwNTdNY0R6RFMxUHM3NHZuK0hzNlNBMTZIanF5WEJBemd6OElCRVAwaWR4QkhEUDQ2OEhwOE5kTDNcL2pGeUQ2MzR4ZU03YlA5RVwvWmRCSjdYbExjalhEaDhlZjJROEdzTTNjN3puRGp2QXlncklod2NhT2tvR2lWbzhNVFNJWkRyQmVOeEhwdmJ3WWlLQnRcL0Q1ZXNjNjV1ZXBQV3hueDlmYXJRWWJ5ZlllbXFsS2hZWndhcFhjOHVBWjJDb290NlBxT0VBSlRGRkd3b3BKWDVYVGxiQ2JyODVPQjYreHZiTXFtUldCVDVNSzBpcWRsUlwvN1JOOENkYWxob1RvMmRtNWNQWXNkeWlJXC94aU9oZjQ1V0dzRWJ2UlRVa3lXYkUxR0pmdmk2a3NYY1wveGJsVkhTWDFiSU1NSUxvSmVuN0tKUmxRelJIczZHVHp6Ymt5bEtTRDRWWjNDcVE3SVNZU2FiZUtxUlJXSExCSk1vQmVDMjA5SnBETkJVQVl6eHBzZ1VFYUtxbjRXTk9aNk5tdVFrYUJBTzhqK05KYVpCa3dBWldOTE1DUlNGZHlDN0ZTa25WUklDSDhWMUl1TTQ2THk0RU5kR0xaQlhlUHlsZEJHWWxhYjdOMkpWWFlTcnVZSkVUOG9zYjhhWHIzNm9HcHpZTmppVUhNSFkrUWJEbkdxczVwSkhrcVBCR1NXSlFwanVFV285dGpVZ2F5ZldSVjkrVm1iRDIwSTVNdnZZQ1J3V2NDN2JNaTJpOW9NUWc2Q1A4VDBOajk4bkx6alhhanM1Y0RYbHZuRkFiZTlseXJqOEM1dVZTNHBmZk9CbFNjSk5kUmdYOFIrckFpbmgzVTNZR1ZVczA4MVhkK09aa3cxbHR3Z1I4YkRrVW13SExkOHNiT1RzcTZhckhLRFwvbmlTRzZjcHRVVkQwK2VuMmVjc3E3ZERSc2NGR2N2WWdGYXRVQXBRYWp5R05JOFN2aU4zN0NBMlFFZ2V6eUVsa1d3SjZmSHhBZ1R3dUM5aTRONVlTdWRGczZnXC91cmdnQUVRUFFVS1R1Zll0b0w2WDd0blRTeWNHcXhqcWoxMTMyYXBobnlcL3UwaklYTm1FSmc5K1ZsamNscGNcLzU4VWlOcHVJM2JiVkoreGZJNThHMlNOb01Va2Jja2IxQ1lFY1d2c29yZFhwTDhoYUNtNGpPSjBHcXJkYUdIRWJMeTVxY0JqUDRqUENjKzdvbnozejFwU1lvMXIrZEZVUCtUVEczSXhpTG9cL3F4bWQ4YmNYNUp0YWplYlgyVFBqM2cxVmtMK04xN3QzcHBlNVwvaW1yTmVmZFQ3VUx0N2hOXC9aSDJlR0NqS3czZkdYVTdYU3N2T2ZtRjdscFRJVmpmRTlvakVZTDA4WFZwREVORVU1dTlTc1o1S2RVbHpueEFcL0RKVFNkVnliUE1OZXc0M1wvbmNUWUJqMWxBRXREXC9UUVV1UXdTNk5GdHBYZ1ZyYWk2bDRTR2NtVUZNa1BBQTdKMFpBZ2k3d082VXNkTTV5Q0o2Q3FsWHVQc0krVVVMVnp5WE9oaklFeHV4U1hQbVVBakVseTkrTzFkTnJMMzBTUWZURERtdjZcL2xYQnFTMTRxVU04MWFUdmtQZUhPS0lUY0Q5OE9obmNKNU0xaHNhRWVMdnExRXdkNUhrM2Y2amZqU3RPalFZdVBjOUE1VTVnbUJ3b0diVXhDVm1Bd0tFenQ3Q0wyOXpxaWlGRmVRTmE5UWNSYnl6ajVaMW5OMU9ZRG00eUNBRXJUOFZJUzZVRjI0b3VwdmJOWTJDZThCTFhiazZRSlE3cno1cThyRG1yR1wvdnZYK0pcL2pmVTBvamlkQTJFeEVJSTdpYVVEM1AxZ0tXcXVtTVZzT2JXNEhlTGlEXC9WdGR4b1wvYjRjZGRhc0UycFRhc3FLZzBhbVh2Y0w3cUhxV1BNb1FiNklORStBVlJ2Q2FoZFNEaGRFOWR3NDg2RVh3OXlmcjVxZVR1MmhtaEhYczRueGh5Mkh0MHhWb0dGTEQ0dUVQaHB4blNsSmpXWDhEN25pXC9lY1puSEcrRDNvU21uWkViTUlaaGJzcFRqUnczN0R2aVVPVnBwVjVxc0Q5Q0ZJTWU2NjVJeGRNT2FhRmpId2x4K3FZdVkwRGJRZjhcL3pPYkVPbTU2ZFwvaDJYSTVlUzRrM21FTTRaNTVoc1VYTE1VXC9QdytLWGVzaUtzdmwxTHNnVFdRUkZzN3dhbEkzcHVoajB3S3UwWTZrUlRFcTB3bDNtQ0VWYldseXE2K250V1h1eFM1UEttQWhONWcxRW5RcUpCVFY2Z1g1M1NHRUpnVFhwVWF6UVJ6U3NhblZibnZYaFprT1ZXYXpLZ2xUbERmbWttY203N2VHdTlUNjNpR3g0NDF1TU5kRVlZXC9laGY3RkdBdE5aWktLWjQwKzFDNGxHYVQ3MkltUDE0XC9aM20xb0VFMDc3NG5JVWFWK2JrT1J2Z3VkWUVMMENrMEJRV1wvMmI2TEtZS1o2eE52QlUrM1dVRmFra0hCdW50c3FJRHJqQVk5aHJVREtkXC9wd2E4Wis4c1JjYmtoa3lpTER4VGdEV0o5N2EyY2NCRjloZDBcLzhDUnB5Q1MyeCtVZkl0YmNXakxvYmM5d1B5RVwvd25ZOE1RRGZub29KSE9jcXo1QWRkN3RDVUNZMHFISjJWK0Q3MDZObnk3YTlcL1FIZTRRXC9heXZObGJoTnZsR0Z5cFgzb0lydzF4TXFhbG04TjhGNVZXc1wvZjZSN0tMVkhvNG5TZmtqdUR1MDg0OTBWXC8rUEdmUWw4K0RcL2FhUGxFZ1RGMTNBb0JvcDRkTFY3VklSVDFmRHFjK01neEtRS3dmVFZCSG9sRGtVV29wRmlZbE4wRmxnNmIydjdGUWNYWWM4a3BadzVSMUhFOU45RWtPemlPK2NpSUJpYW9ua0hoQWM2UE5DTXVGTFJGVnVGQ09yamlIV01hblVBYUhlOEpKQU11ZHlrRkVnU0dueVBjQnRSSzkrdDJqQXBPb0RuUUVhREZQXC9EcnNtaXMxOXpWUzRvRXVrVUxCcnVJelRobWtCYXNHTk8wVjBDdDFia1RTcGtZRm5jXC9KaG5FV1JvM3J0MVBXZ3h2cDRlMFVcL0pGNkVaeHZvY0pyUDhjaXhHOVIyd0ZwSjlmYWRZNFZVek43VFVERTArMXQ1QldWU1pLVmsra01YUExMTEhBYWtjZGc1akRcLzF3NEtCNlZBb1Jvb0twK3Z3YUx0ZDRFU0FWMCt2WnJ6YUdsTzUzdEI1dURIdHJiRHYzV1QzTVY5TGE3RThRM05VeTVwaG1mU2h0ZGY1RHhLcVZ3Y1B1TDFCZjdVdUVzM2gxQmFXSHc4eExVSDhuTWpCTlFjSGhZYW9ZeGRXS0o4amhXNGJWZ2VRaXBvSDM4SlR1SEN4emJnUVZJZ0V2SCtCZ3cxaDIxbE9qc0lrMFExM1hhRU1oZW0wRklpTzZXS3Q0bjI3ZFB3RE00VHdyUDV4SGVjWGY3cDZEYVY2N1l6dHk0OGh1QytwQWNscm13NzArUjZJcWhiZjU3XC9STDN5QWp3TWNWS09yMUVEcktwSGZrZUpVXC9FOTR5MktwY3EyZ21HQ0dHYkhhZVBFTVpYWjdnYmtMajFCV05yNjVEY3lySlZOMEtYZDNWdGgwdllEOU5LdFErSmF2QVgrU2xUYUhKRW94RG9MYzduQkJwc1wveEExajEwTG40YzVVaVwvY3p0ZG55TDQydHg1NE93cEgxUG82a1NBVW55cEJxdGY1aGl5RlNIanhHc09vbXl0VnZDTjhFeDhXTVdJd0M2MU5NK0drSktXNTRrUnpNT1hOdjg3TVNaajBhNDJNVXBrNlhNRUMwVTBWQzE0cG1SUEVDcWhubWN0SXRwWmhBTE9CVFRERUhTUTdcL3FnUitvUVNJUll4cnc5OTEzeWZodEJjcm1PaUxFb0Q2YlgyenBuNGlBRkFoa0lMbGE1SGk5ZEx6RTBwTCtMM3lGTHV5ZkVpZzdyNnJwaXBHNUdZTTFoSlF3VmtYbkQ1VkE2QTYyK3dvaWZoTXQ2T1llU0pac2pjc1k1b2ZkUWRNbkt4c1JLcEtLTjl5K2xSXC9OQUhiQ1ZxQ1dDME1cL3JtVmJTXC9TUVNTaVJKMFRmYTF5WnFSSjZcL3B0N01NSzlTaWtoUTIxeURLSW0wZTRTNWhkUURiV1owRHRjTzluSHhuaG5IT1pLSW5IamFQMFVZNFlHZ3J2S041VDFnUXdoNWtBWUlcL2Irb2pPYVFKUktzYlRkTjk5OHAzbVFiaCt0OUJFdlM1WkkxN2ZHU1FrTjZ1cVFNSkl0WkZBb1d4UzZXY3NZeWpoSm1nd05USmoxVDg2czhQUjNvRFp1VzdQY1FZd3JhalU0UjdVTmZoUUczbDdXSzF6TUNVTHFxRUdDVFRKcG9wOE9ocFh2VzVJSnNISFQ0WGVNQmpkRE0zSUVtNlhNTmxzeG1xR3grdkJEQStDNkd2WlJlK1VlZDBaelByQlZVNlUyeWZLdmVaWnhjaWVmY2dRU2pwQnA0Q2hFd0NReU9PNURadFVKekxJdllnNWJIV1NRakVxbUJ5RlhiMWNaXC9XdUVFM0Y4NWs5WmhCc3hJbFp5d1NRSHZqa1liYmdFYWFKNXpjRWdFOTlVWFA2aWRoY2pLc016UlpjelFPa2RqN1lKUHdjTStPd2dXdDAxZk1kSHlzMnZLXC9zbndBbUFCTm96VUxvTFJEYnVLYTdKTjZwMjF1R1JsMk9uRzFlVllmUWVCVmJqSml2RVwvZnErOHF6S0RhVnJuZjlaV29UVG9ZZ2ZtTE0wOGk0M295dTJIM2JaTGwyMk50RHFQdWw0N3RtMjhBbldQVHNzcTM5R1BNQnRkVWl1WVFuXC9nZDRBazRhMWg1bGxuUkRxSE0xdDZPVGVwUlVFckFiVGpjK2JlcnBBT2s2WnF1WnhIOHJSbVE1dDVQRUN6K2NzaFVyS0hIT3pPN0pKWStYWmNJVUZNMWNxanE2Z1F0NTlRRVJDYXhEVkRDWDJjelRFQTgzSnZEdXdWbHA2Rk9pWjhUbnpkV2h2M3ZZUlFuS0VnRHYwR0xYQUxMS2UyK3FwcitaMWl0dmlzVnp4TVlOVWVUNFczRzBpYlRaQlpGZTBKXC95aVJIdVBJWllGWnB6SVV5SlcxNjR0RGErNHY1VE9XYlVobmxPUHVUeFwvdzY2MlhhbW96bEl6dEFBTVllS2txd29JM3gwNnJOYXRrUjZQa2NDQlN4SU5CTHphbE84b3QxVFVuVDRPMFZLcWxMZ1B4S2krOHdhZW9UWjk0Q015RDg1ajQ2aGJxWGg1MVwvQzBabHdPNWFUaDZUWXZkRU9ldFBTdGh6SHJcL0VMZHNcL1wvY2ZFc2RvNVJTZFpVYW5Hd0Q5d2IrRkNFTGZ0TlkyYWM5N2Z6RUNmT1dIdTlCYzhlOFhtWkF6SVlqNEI3aFwvaXo4akhRaDROXC9POVJiVjJQWEt4Y2YrUkpHUU9HZUVEUmJ5eG8rNWpGa3N4aENLa0ZNN1c4RzRQdFNzbXU4eUVyenZ4aHJXMnllYjJUMEE0b3pTd1BmVFQ3VGFWVmVLdGs2UmIrdGFmVEJzOU56REt0SUFXVWplcVJzUk53Mm5HSWZwYW9SSUxPXC93OUt3RlAzblp1V21tTHJuSnJRRitqZFBodWhJbUJXXC81ZEt0aElSQVAraVY1SmtEWlFJWHh2dENxTlREK0JCeW9MaFFWcXJzZkZsTjBcL1p0VndldFwvRkxFS0Z3NkxxcldPeWk1N0tJR3ZEdTlTZ3lRNSswQ2d3OElRcFpRMmM5UUFOZG1WK3BjMUFtcVNPelBtemhVTGNKeENOZWVzanBUbHVtT1J6RFBYNXh0Y0JWSVZhZXZ4RVRJTTl5cVlWMmhjYnlySm9ZYWcxd1JGZ2ZZblZDQlI5M21FVXV1eXBGSU9JQXMweitTWkVcL21EZkxTT252Sk1iMDdsTnVaY0xwdzBHQzcxMzlvK254VEdBRmNxcXdBd2d0U0pyc1R1STRabnlldyswZVptZkFoQ21CcWk1cjJyejBoVHhEYlpEWUVscnRnWnFmRVVMZUhEOUt3b2FPUW8rR0Rha2d0aFFLdmN2Y2FjWU96cHJQQTJRZGRvM2FRMEs4RUM0SmpiYnVPWXFVeEJJdVc4OHVcL1ZONVM4RWRiV0tUYTRpbXZhNjNiV2pqRjhRK0dUb3JqZ1ZqM1VvbHpDNUtEd2RST1JpTmMzZlJydG40T1pUZFAzQkFrK2NoaHg2T0JiZUJ1cFBFUzhKMVZyNlJkZktidzNIV1lTVlY5NFc1ZlZGYjNlYUF5b2o1Qis3SnFpZlRtdVRaT1p1S2phU0NzYXF1RDlJK1B0UW9zT1RndW5tcHRUQ3lBTGRcL3RmemF4T21BdE10N3dBbEVENklrT0xGSTBQTHRRNHR4V2NlWG1OSmlVck84VFhMZTdjNU9yRWxWMFZHb2t6Zm95Tkt3T3V4QW91N0ZmdGNBM2VacVJcL2RleXBDZlB6TWZHSVJOZldManMwUmlXVGE5c0NBY3k3YVEzQ0JEM2hYNEF0UGVWR3QxdDZJYmN4ZnhnbTZhbEpQSkN1T2VzVTVTWk40RWsrT2lTV1pvWWVjODFvY2JyK2pcL0JuQWJVWEZ4XC9EWEgxOXN0OUI2S29YVUswOTZKeTNOVFVSUEs3ak4xczRmT1h6aDN4MjRVbVFiU1hjRjR0Q054a0U4cEhvOVBLYWRuUUUrN0VnRWk0ZDJjRTFqYzROdGt5a29SUGswa2NhNnZGQnFCVHhOMHEzYnd1WlV2WWVrUG9wSjRWRHlzTk5vTDVQTG5GanhrajhGdWNDV0E0NEZGdjloNVJYSEdkS2RpMlFsR3JnVHJOa20xcFFWdFc3K2FMRnpWNTRJUTFGWnoyemkxRFNweHByVXl3czlNNkx5SnFidm9UbE9Md25CekthMWtpbEg0dktwSHkrRFwvbHNQVU15cVNMVzRVTTFYa25kMU9uVnN0MnRlaWg3NGxCY21tRFIwTCtmQ3E5T2ZrWmhXczJQVkdrcGREdnVqazlRZjA3cTFDallZT1pKRUJCcTdRME1EXC9BejA5OGUxSnRTc3BNeXRcL3BOMUxyUGdGalQzRFlrMXNucFwvVHl3VCtmNUFKOG9IN1NLdUNlVFwvRXVXTWQ3U2xaTGdpcUVaWTNLWll2Ym1Ga29Lc0ZySjlMenJTdTBxQWN2SmpIQytFUFlHY0MzUEhxK05iK2RVeWM2eVlsT1hMMXJtVnRkOVM1WnVHVlFBdkxMZUFjdWpXTjlnMnVMcUdvZUM3b0lvVVFFN1VZNHNFKzBxenZNejhpSUZ0NnFSSlk2T25zRzFnSUk2V093TFNGVDU5eVlzdzMrWDN4aTZhU1pUNmdIZ3lTNkxacHRiQlNXOWJtMm5uckJyc3QyZDJGY2lvUm5PVkVXTVdNbEhaN3Nkd3BKQkVKSFFRUmxLdHlreXZFdW8wWUtZYkpQcFVCQ0hJUXBjMjJITU1QcE1sQUlUcDZpWml1Y2hlZkJXNVNOWGVOQXJhMHBjamVnTzBKUlRDSFJadXphcDRjTG9Hd0M3TWMrZjhGb3duRWZlVGk2WThoRnVLcldHakhTS0hKZDc4K2ZHZ0NRYjVSRE9ISWR2Z1MySm5pUFJJKzlnWGsydURwSmpIdFFDYlZRa2h4RlpzaTJJcjUyWjMxaHZXK09SR1cyM0R4eHhZTFdlK3VGU1RMbW9HTWdMamxURHpoaDYxZ3JYaWJyZXVqQjB5NEdwTWZIYzlMQUFEUENOeWZmVnhEbmdXaTBPSm1cL1RRbnlXU0pTWThSZ0ZGSkw5TnVEOWh5RkVoZVFGQ2ptWE9hUHhmb1gwU0ZUbXk1XC9UK0dtNVo5MjhVdmRQV2g1XC9NaFVSXC9nTmZLSHZHc0FIbkVNY1gzTjRQOUJHUTV6a210Vno5eUd6TFR5algrQzc0NUZBQWFZNno3eWcyQmZOdlZHdlpKc3drWXF5SEpnaDJcL0RacGxDeVpiendcL2RzVmR5V2xsZ1dhOXI0M1RLeXBWWmJnMWh2OXB3aGJhOVE4c2I3WUNvY2JRYitOYVRjUHhnb29MZGRuK1l4ZDdMK3pTRHlUOFIwTDlxMzRGZGhvNWh0bXZGNyswU0x1b05IdU04MFRBbklBZDV3Qkdyc091ekN0bWJ5TnNrTVh2RFwvV3ZWcHdScDQzZFJjdVZhczJ3dTlWV25GZ1RQNnZydXc4NkdnenpnTmRGbHpISHVjZ01xRG83aVJDSnhUM0RZOHRJdCt3XC9RUkFXdUxWVXRQd3c0aVg5RTFGUDlxeUlXaDZOSmpUcWZqOWZna3Fia2laQVZGOVRCQVc4dURadUdtajJcLzJxT0N6YTJNUlNxQ2RpamFtYkEyZWhkallKb1VIYm4zbUF5XC95N21tMm9mUDQzcnlJdnVXQWlHV1o2cXVlczVlN29ad01ITlk3akVvWHF0MEVMMDhuTGdHYWpIT0ZoT1VjWWcwNTR1eHdMN1BMajd5cFlsSmUxenllN2E4T1wvTG5LQ2pyK3Z3QkZaMndZRnBkcXg2SUFjMFlCYkxVUE9GZDR3djNMcGkzTVVjM2VzRlJxMkI5STdPV1JWWThwVGNTaDNNZGtZaE16eSt4d0JVYjhJM3hBelZ0THplSWFWWjJyNGQ1cXh1M0kzQ3VZS1lPNmt6ZndvYzY0ZFhIOGVqd3M5ZlZidVVmdTZpV1UxQ3BFU25KdkVGSmx5ZEJkRXdwMWR3bElkQ1hKQzNyMkRvZUk4S0lXU0lzNGlCVDZFYVJrUDg5RFk1Z3VPMmg1b1N1R2Q0S1NzdGR0azBUaGd6Q3FZcHZ5WUtCb1FRNUlqTzQrQTZYNXBrTFZiWUpvSTd6S1U5TERkQ3hCY3dybnI2M3l2UWxRVlwvYm5PNmljNVQ3UWV4bWZnZFFqQkY2MGE1ZnN6WXRrdjdYWHNaOTRcL2d3WXdPVGw2RkZNZCtvbWk1c3RobGRKenhvQkJ6UFhnRzBOcWRcL0trZXdxSWlDU0w5R2JKQVBTeUtIeWlKRWxZMnFPdTM0MXMyU1dkbmYyOW8rTjBYTEtrVkFQc3RNU3FuUG9LMThRVFFqNW1pM1ZRN2wwR2lwelVDOU4rcWNcL3k1bFgzMVBmSzYrZWVCKzhPd3hhN1hOXC9IRDJcL2cxZzBHbUdPMGo4ZHZkOGxWMEUreXJoUmY0MWhVNFwvU2s1WEFYaXErVkp4RFdnbWZrVlBJeVU4a0p5N1lUVEFOMUxXMjVHZFQ2ZzNSRjNQcU9BOEJRM2cxcG80TENnNFpRczNMSitraWxndXBuSU1SeG41RlF4TU5GOGRjNFg3XC96RkZ1KzdsS3hjWjZrUWtHS0xJVXBWblVMaEVhZmlvdHRDNktrT0xuNE5ZYk9idFZ1V1VsVDF3WUdEbmUyWW9Od1hIZUtSUDE3Sm5NeFVEd3k1UnNKQk4xNElUbXlmbjdmT21MYktTYkVVMTRqZ2ZPVTZTV3B0dm5HN2ZoNW8za0VHb2JPSUZoSThTWThiK0ZpdFBcL3lFeEJyT2lQTGVKQ00zUjBMbmR3bjNOdWlsdk1yVWFtUlR5eG5ucG93SWRIMzlMaTRGS3hDV3pDdTNxdHVOdHY4XC9FXC9ua3lscjJzdTdOeThQb2krcFZHQVJMYytQWDZOS052akpTN2NqV3FXTGxGcnQ5WjFLQ2pcLzcyaVc4aFlLT0JCVXgyM3l0ZThoQnpMWjJ3XC9uSU12UGV6MUpmQ3djVTZkVGE1bzVNRGl2c3JXS1hKUVJFKzdhMllZT0NFZk0wOGJkZlZCWjZsRE42Y3ZoN0xSaFVPRzYrNXl4enFUUk5pb3p3ZFRLbTJGblwvb1I0cnBhbmtUNjl2S292N0NESytUekpETE42THhnXC9CVFRqVjBoUTA0SUhlMlZ2VFpaaDJSbllTMFEzdmpyRmhpMGpOUXJFWWFZOWZIcU1tem56aGdiNnBBQzhPTFpjekhZMW5GRGd6aGdYZ0pxMlFXZHhFWTB6b3J2Wm5FdXFDTGFIUkhcLzVBS0xHTFZwRDZZSEFHWWQ3SU5SYlRPTzNMQXUxeDRTQjA3bmpqelpkdUFTV2duZXl1b1pyek9GNm0zOVdZOUNGelFjdlZtdmU0blBcL2tMeWFDNGdTUENcL2c4K2U2Z0xpVXRTWDJcL2tGS0EyTUI4VkVKUmtJQjlrY1p4cUV0M3JDSlkxemxrVVwvMmhHZTZDSTVzYkwwR2FNWmQrcWdJSGlYUlVIbW9PYTVrWHJlaFBBVGdGeGFqQ002UDdmRkFZckpqY0RTaFFTUFlHZlpTWFlcL2NcLzVrQWc1UWc4NDJxWDlNbFRPbUN3ZEJvcHRvWVBIOUZidFwvcFV6YnJHS29BenpWcGJxUVVkdUZObEtRWmxcL0RDZE9cL24rc3owNTlRQ0RxWGo3VDV0aHJiSXVNSDI5TlQ1WXVLZFNTZ1lBeHVOWHlIenZuWmtMWklPT2RtY3h4cEtyUUJGRGdPOUt0QTE3RFB4cVoyZlFyK2d5K3ZzNjBIcnhUVzJhcTNRTkxBTE1OTkc4dzF2OGtyRXhjTGJ2bmFcL3BrR0ZPTGhEdzVDeW1aOG9hYzRodUZrb01BTDlkajBoNitSOWZOaXA2dGUxZzczWUh3dnNGTnJ4XC85cnFPNjl1ZEZGZEpZc0Nkc1VcL2lpQ1RjUUprQkI2MCtPd0JCMUlmXC90MjFwbGlMeVpTR0VaR2Zia016cFROYkFRVHpcL2dLSmJsREJKZTNVQnRoQnhEMDRHNGhBdXdZckxUdm1ZUEFKN2tYUHBDSVhFMURGa2haalRQVkNLeVwvZ0Z3aEdPaUZ4N29yZWFmUjJXaHBZU3VhRG0wVWlLd2JDQlVtb0djS3NJNFFscHNMSko3YTRlcGxPcWRqaG9QK2tZa3FLUDIwbjN2OEoyK0liNzhvMDVzaEE0Tkc4Y1RzQWdYSkFqZ0JpVFV4KzUzNlYwUjZtTkhBWTZXK0JuOW5WaUhJNVJialJwRVg0OUlCYTdBZUFEcGdrMDBFa2xXdXVNdk9ES0gwMDRBemltTXl5aGxhU0J2NXFNMTdCMTg5SDlKRXNkSHVcLzI4Y21aN0w1M2VUZzBwSGVZWFhEdUZyK3BDOGFNV1FpamF3Y243ZFNyOWRoZHVUMkNKbzZcL2RidXVxYVBiUGNGZEIrOEdiT1VUcElvckc4ays0cFZWcVwvOTVGdmlueXozXC9lYStaVWlMOWp2M0hFZ2FCak9rd1Z1b1d3cGtwbFpnVFUrblI3XC91VXNSNnlLNGxleHUwTjA3MStVNW9MYTkzU3RxYW5PU0VxWUV4VWxJc0t0UDFKUlpSSm1cLzlmZmlOTDF4UURcL2hLNnI4b2tSNWFQSVFCdERJZWhXTjVlMkxma2c0TzZkT1J3WlZDaGpOXC9ZenBwT25rRlZtK2IwRitUWTVmWG10MUFTRmVqZnJCRGs4SUVZNjBxajRCV1pkUDVLd2paZkxwOCtucFl2Q2NZN050RFpobGpyNE1LVVlwdDFzbUhJaXBtdUgxZUVoT1J2T253NmNuQkZ1ek84REtGSWVUTnE1ZlZQNzgwZStRdGI1M2xwZHVTbEVuZDFpYXVZR2VKMzZ1RW9OdEV3aXFzYmdxalgyMGo0UGNDbGRRVGhXU1V1MzdNNlwvQ3dZdnZcLzFDc2tNZkpZTjA1dzhcL0Y5MWZjYklvejQ0dE10eEdrM2R4MDRENlczXC9URUdnSFdJVGdRd0lMVWJ1am1MTDRET2VwK1M2MVVicGRZUzJTV3ZucVJSOTdyWldzVWhNbDA0N0I2c1RRNDY1bEl4dW5XRFRIR2JhQTZEcXhZZjMrS2F2RG54b2VDWFQ5bFwvc0RhdWJwUXlCNnNpUjlVUGJqcmN5MzBiTFY1ZmdiRGIwTFo3NmdzcEpcL1V1bytzSDNsaGRzMTNDeFJJb0x0VEZTTlNkRnNscDNFUnN2aXI3bmJKREFaTktZWG1GN0NvVTdvVzF5SnppM2UzRFpJeDFSdHRhQ3h3Zzd0SnFoYlFXeG9KOFBVMjUyalwvZWFIMFczOFJvRFY5TGdZZ3FVaGRqRXhxWDBSb3gxd0VmUDZMY1pURnU1dFFlNXZ6VzFYMW5tcTdmSlZFMGl2dUlNQXFYZkNNcDZTbytVbjNoOUF2OEhwYWRxdjBldTQ0eDhSN3RDbFVDYVg3cVpYUEUzRkVjVEJUQ2ZvdDVjRUJyNXVpXC9Yakpva2dZNTV1MjNLakVTMDd4VFlJSVhaMTRYYVwveXorajJDazRCUmVaaE5mOUxFS1dvUHRtSjh5SEVKN1RtU3JJYXFsNG9pSGRcL3JXdkxsc0xlUDc1cHRocWdBdFVTeHU3Zm1zcGtzNGRBcTc1VmNMbXBEMWNcL0pLYnFuQXhWQVNOcmJXY1BNREI5UXdPRlFPZVU0ZlQ1SnZtNHZIXC9LenlcL3pDbDVpdjU4bjNPNTZ5Q0xGb21TNW5hTHJ4S2thZVwvNmI3QzNLOG9UOWxZWkRxd0Z1eXJCQkI3bUtRU0lJaEJ2VnFKNjF2aTE0MUFPTlhiVlBZRkhKdTNuREd6amZTR1J2eWZwVmFOUlZpSFV4XC9uMDJqaGpTRytHWm9Gd0ZEU2cyNG1nUENcL0U1NWR6aFJVK2R1cUZub25iSGh0SFYrbVB3TCt3aWxISVRKRTN6MVV6ekNaaWtzc3paQ1FtemRCXC9QSHdSRVFTSjRxbTZmS05TZ1U4XC84OXdyRG9JRmhjTHMweXdVWkZyTFBQYXRxRXF4QmFhVXFYU2owakNXMFRlQTNDdFFQTmNIYlVcL0grSUxkSUpoaE1BemV1SGNrSlUxU1ZjUVwvRFVXTFlBRk9DSURncGxubWpzMGoyMkJLZUEwaEoxbEppbjVRWWwxWWVJc1RabCtMQnQweWRRRkhyWXlUUGlVamp0THVSTWdaZW1kNmpSM1U0THkxc01DMkYxUENZOTRzUWxRK0tielVUZytyb21MVTBrRVpuQkkyV0E1dVdwZnhad0VcL0psc2ViZkhCTzcycXlHMUZvVHpRanRMV0FjWXJBdk11Y3NuRzZrSXpvSno3ZkNTeG1sXC96VDc1UVQ1V1M0VjNHV0ZzTU5kZ2FwK01mTnk5SENPZWF4akM5RHFrNjZYN00xaWtkYzNucTB4NlpkVmgrM0hSK2dYd0VMY3lXeTdjb25wSTdcLytzajNjdDJVRHA4S3UrcHYrZzVmcytNRWI4NzUyS3lhcWJvME1jZUhJM2xiVGpxd215OGxqdWRad2pxeXlSQkhYWUhza05SUkJlMHVYelc2aUVWeTJpaXg2XC9aVFwvRjlJalFTc1VsWFFXS2NVOHQ0TnQ1NjdsOHZSRGhxbnBMYzVZSUsxUWkzelcrbGtrZU9QXC8wMkVyQXJIdmtUUytvV2kza0xlYkg0N0R0WVF6K0hCY2JuMlFuSzFrNk1xMzBQbUxRWHkyYm5QVkFsd1wvZHBoSUdPUXJiK2I0ekhldW5xZk9VZlFVQmFZd3VUTWZGTWR4VzJJdFhvaUpsbmZUWEFcL2hhbXNtR0IxQ1RiWFlwWHYzb2RTVktMMm5QZk9HRTB5a2h4TDVGRUx1NTVkSytVVWlaMkxCOGxwUitOb21YNHdUeFwvWFNpUUNzaHpTbnM1amxYVklDUG9td3hpWFBFM2FYVDRUZUc5S0xvQiswcmxRc2U5VEtaM0lrRWRGakZ6S2RDbmpQTlphaTh5b1REZ0xjZHkxK3RSK0NEUE45YXd5Mk5FTFdsZ2F4XC9ISnFSajFzN1NuRmFaVVFBZ0FYanBBNDJJUkdteVVEMmpIQmxLNktOY1VQVUJoeU42VVY5eGxMbW9XWjhxTjIwcVczTTRTRVBlRk1ORzFobDRrNDF3SWExNTJnQTN6dmlMK2FDXC9DUFNSSTMwajF3cEorRGJGUEVaTHlKbjVia083cENOV2k5QWZvXC93azh4bGFURXVcL3BjTmRHeGNIUjJtdlJIQ211UWlRN0RyUXlCczk2NCszUUVWcHhZOXZndmhOZ3J3Z0xCRzZxNVBmNHo0WFhmQ2NFc2lwd3M2T0JhT2VMcjRuQVVURHU5UWNKb1F4clpRREEwWFwvVDJCU2dUcmlacVdOOHRcLzMzaVNYT2Q2U3RTYkNyanRVR3c3dVFBbEVlYTFsOXZIUURObTJCZmtcL20zeHhvanZIZ1NVVG5MY1hrN2JlRDlSRW9xZ0l3Unc5WkNMbVpXYkRMa3U2WEpVamR5QlFGeGx2V3Y1Y1NnNXJXTzc1cTRKTldBUjhqWmlJTGZsY05zdkE0aFA0ejlHRTIybnFlajVCWXJobGttZ1BzMDZ1SVNGclVON0wrSWtzcmoyQ1UrNStWVVhaNkxUMUw4cEtSVEhXenRvWE9UT3dTRFpITzkzOGxvZVBGdUhtRFwvQzBGWDVGXC84bjhRT1ZuVENTUmNEVVdWaGZubGprb2NZYXhURnNWaE51UERpVU9xU2pqM1hNTEh3MUx1VVlPTFNpWmFBSFYxbmliYzBacDZ6bk9LeXdURHdmcXdrNjUyR0lqbTliRGlZMnl0Z0xKNDdmaTMzXC81UnhCa09rQW1KWUFncmJQNTVOK3h2aUNSVDNVUit0UGlvcnBaYUVMR1gwXC9yRktqbmp0SjNFdXg2M1lBQ1o3REZCalJkNWVxV21IM0l4VFhrTkQ2dVREY1FZKzBIWEtBMytlTnNDSFU5dGViUEN3QXR5RWxSNXN2SFU2RTVaaEFNNnVhbDJtTkpsMXdaS3ZJZ3VSTE5YT3RFOGJxVFE4OEtrVjRJaFd5RUhSWXhHcDVUN0ZRNCtvZmc1WVdyWlBwTFB3WXVPNkx1UTRncHZTUlgxcTRjbTJBUW04T3JHYnBsazlLdUx5bmtLVkhnUzkrdjB0YlZ4R3R3b0ZRYWN2alJZbnNySjFHdEdrVElMaU91T2xVcExFeGVBc0FONFhvXC9TV2o4SFJxQmlPWHFGUmU4WVZ6NVBER095MzZ2aXYzT2RzM0lQTldNM2hrVnRValRlQXdpUVZsWXZEcktcL1F1MExsMTQxNUFXTTN3RUlqa0FBb1NFNjdwYjRGT3RhSHNcLzZ4S2ZXOGIyXC9JRkN2NXhLWGpPRzg4QUZkMTBuMWdENFFiS2dKWnBxTE9rSXp6NW9RXC9pRmRETnFrZlRlcGN5YVVKVnRcL3IwMlI2Wk52dDl5ejdmcVwvKzNKRjhWOVwvYk9aU21yZFZ5Qkl1ckpNNEJ6bm90NWlFOElZTTVocUVuTFV3ZzVMRld3ZHZDcGtMcUtOYWNVQStQTDN6alU5ZEJjcHRDbytVMmt1V1U5MHhmUnIwVEVYSGsxMFNldHVSNWIyVjBXNHhucUVKNjM4eFkzanVsejlLV1FRZWpKS3FWUm4wYTRuUThTTitjMmdJMDBJakhPWDA4blRhR3ZqcXhWRmNOb3pOb09FejUyU3BNcHJ0SzdNbDUzTGR3TlFST1ZBSWFsV2ZXVUsyaGFzc3ZpZmFwTW94dUt0MHFyNnpqXC9kVENxekJyd1N2d1wvZlcxSjRpZ3N1N1ZQM1U3YUdzT1E3WnRZUzlEcW9xNzBLWHRTRVNycTl0QkFzWW1ydmFWQm5tU2dlS0hBQWNxak1Sc21zU3hvQys5M1wvZU9PK0s2NHFZUXRFcmxlbHQrXC9wQ2JvWXV4VHdFcVBWd3JPZ2crRERuUDVjYW5QNGRCZ0I5NHkrTk1KeDFGZUpxRnI1R3NrRFdBT3dSamhOV1FONVFCQ3g4bXRISUhoWHlKYlprRm0rakRVSytENUZtV3N6QmtuWFN2bHRxWGJkdlFrR3NaTGVvN0RZSFEzZDFacjdLWDZZUzRORkV6OGxXQUtsZEFoN2tsdGsyRlllRk9rSDNaalhsSEVDbnkyaFwvc3grU1Q3ak4xN0VLcDB4aXpjQVJlcjlrVEJET05TNCsyTG50RmdqaDBaWW9OVFhTbHB5QTFCUmxHXC9xb1NVZlY5MTlxRlc4NHVMclVuWDdiNENubGpRRVBYZWR1VkVnTXRWeG1xWENTajdiaTZNQ1hWU3F6cVpuT1BYb1FzRlVrRVZ5cG96UFc3dFBlT202R1gyOGMyUFMzRGk4cGdLU2NUN2xrd2QwaGhXUGRiS0tydzVEQWxLZ3pmTnFmMStcL1hvVGdOXC9sYnFJMlB6T2NkaFVSc3lLU1RqRTlNbk41UXpTUTZ5em03eUxJazJmek5HQmVMNUM0cmpRSnRxdEgzMkFkVHlLUEdoUzJwd24rNnd6N2hVanB6NG5YZ050QWxFRE9KKzBUYzJSNElZa3hjVnZwakhUaERZeitGdnl6U2g3K2I3TWM0a1pcL09QaXl3alRZWFB0T0JrU0plY1B0SGtLNGE4cWRweTVBT3NLa1JtTHppXC9TVWZCaEpBbGd4c0dtM002QnZmanYrekhIR0lIcWZyRkFjTmxcL3NTZ1AxbjhUN0pKZDdTRmp2Uk1hYlB2VEhqYVZOWDhcL1NCSDlTaWNCSWFxa2JVUzJoajJCT3c4V2phVWlGbzhudFcwQWxyeXZiRmdNRWVEV3BvcTBHZkZ3c0RqU3pwNWpHVHVMenBTTVlIMUFDM0MwQVd6U3FTWTBzMkNDNFZueUJCbTJOaDVGV0UwYkdrd1ZTZGo0Zyt3XC80ZThZVWg0RlRGUCtJdkVSV0t6ZUNrNHNIb1M1dThEXC9uODFxZVVTaXhiZklvbWVUN1JyT2R4YUFNMENnbGlnOEI4XC9tSWlBSm8raXk4SjkrN1htUHQ0RDBXR1VOWTV0TGJGYkZHKyt6Vks3c1pFNGtVTWhvaWVwa29LYzBNeUc2NDdRXC9MeWl5dDhRMUV5eEdLMWVUc25oSkVVVVQ3c2VPNElBMGYxM2J0MURPbytRWFlxTDJ1WDViVXBlSGpxOENVeXJ3QkVXZ0pLN0QwZTRjQytLaW41S2JzeDc2algwb3lxRWtzQU1pWE5ONXg4SkFuZU04YUtQK0p3RzVTdW80ejFVMHhYRlJJa1BDT0hnbzFcL3NzbGxQOUhtdzN0ek11Rlpjak9CN0ZiYXNuc25xZ3Q1SDMyMHBnTzJQRzFWZHA1Y2hIaTczSXBpOGpuUUJWZW1rODV6V2hZdVhZejgrNmE0b1RUalFoMURldm82R1d6M01CVnp6YnEwSWZWUG1GdE5CdmxaXC9zOUd5SXVmTDF1RDdZalljbmRpR096YnBma2lYSzlkeU41cUpzdG5aSVQrbjI5RloyM3NyellUQ1dHRlM2eWtDY0RKdWJvaFlPYTYyd0pHUVlCVXZhMXNTZGRIakFjd3RNWEo0Wm80cHVxTnVhUTJrTmN0Yyt2TmZWdDZsZ3M0YWo4NnpLME5SbGdcL3VoUEoweWlZU2cwU2oremZpRGhlZTVmNG91QkV3UUgwN1ZPUTZLTFBia0V4b3JxZnBuc09CdG5ucFB6YzQzXC9kNmpUb3R3KyszNlNPQ2lmNjZ5SEp0TkZUMmlzK1hCVWFEUVwvNjBCU1ExcGpieVJVYVhXUmpnRWs4NDBYYUtWZGR1ZFBwcFwvVXJRbVBWYmFKb1p1bnJXYktUSWJOeVAzWE03N2dGOEttT0hxRFZ6QlNreTFBcTJncVI5WDNNa1BWcSs1TFczK2oxXC8ybHNXQ29VNElVZHY4TVZEZnQyOTdET2hPb25ZT1JOTHdVejBCMUoxOHBkcTcxRmRGR1RRbVJNbTE3NVJTcjJhd2tsZUU5RkZiZkZhSXFOdWUzZVhwc0tRZ3pHUzRWdzR2RFNpb2pZYjZLZmdWVlRTZUhZSUNEakJ6NkltdTFDZ3JyblFBMEJHNlhSek9FTk5pMkt3QVdES1VoQk9DZWJNR2h3UUlPMnluZmR3SjdtVm0yTThxend0Z1k4SXdZXC9YbUQ2Z3h0UGZBM0JVdldNXC9iaWdtaFBkczJSRzl3OTJ1WUdySnNsMUtYdHYrNmJDNXFLdUNZeG51bjVCYzBDK1lsWk1OTWxpUUxrV1wvK3dua1ZGcENGSEJoVitTTjhpVDRRdEQ3SW5VaWxsMlpxcWRHQmx5bjBwMXlIMjdLbnAxWnRYRCtcL0haS0wxUk9YQnpKNk44b1hYdmZcL1RCVXVpWGN3bHhkSU1xOXdmRUFaQUJ0azNcLzJBOXlLelR0SGN3MlwvbFZOUDdPOUNUY01WdHF0TEdEbGJPdlNhcnJtZjBVZ1FHWlNZTVY5YUN2RjVHcDRONTZRVEZNSGtycVVDTWl3SVZ3K0Jva29MajhhSmpOUU9qazhCT2JBNE1KNERjalI5VWxZZWpWVndlenJ3TEVlRTIxUWdFclk1UUJxa21YQW9jUlp4dkUyd01nd2xvY24wK2NnWU5hK0hLNGNpUzlpUEhCOW1BclQ2NXhkbXNuRkFDUkRtTnNWOE1VbFJubGpOUWFBN0pjeXA0UXdnRHZpSVFDS3FybGxcL2tcL0M0S0xRWGVaN3gycGVZbVhybGw3WnA4c3JmYURYcW9RY3owdXdWc0xnK2NIVWFBRUVPZFlEQWhjRDBqXC9waDRRanBLdk16cjN4R0ZCZWdzSjlJT2RtdUVhTVF0YjJBYWExQVwvM2FoWmYzOEZnTmxKdW5MZ0VGRTJBMGljaUlxakx2NnBkWmJuRUY4eGpzVitTdlg0aVdlWFUzRVRXWlZmd1kxRUNRWU9ldDBaRlEzajBaME1iS0lINFwvbStOTXNxdXJUXC9FTFRPMzR2bWJRUkdtWVViVGFTbzArY3dNenlra1U2b2ZaQ1E5aWNsbnI5S2tcL0RaWWJERHpcL1dEYXVCVytJNWpNMjdZaSs0WG1CZ3A3aEtZaFl0SmZMRDRSWkc4U3FRb0ZBMlljSW96Q1M4c1FDZHZ2alBVenhZT2xcL2VoS3Z1SndWd1wvOHZtamJwSXJKSjU4OENSSlFtYWdkRmNmUUF6VytaVGpReVlQV1wvRDBjdG9LQ0pwRk9jdkw0SVpvWjUxelFnUFhcL3VYbVJKZ05sdEhCRHR3NTNwYkttbW1vMzNtSzZcLzNrRlRhblV2ekVyWUtkKzg3cXJhYWZxcGttc1NkRjVxZUFPMVk3ZVhCbTgybDBrZm51amhWS3hsREM3OHVYUCsrUDJreFdFRHNnS2FRd1JvSTdSZHV0K3d5dit6UWczZnVQdmFQRTNaejgrQllXTk1PVm42MmJsUVJoaTdaOHNPMGF2UlFuTmY5MzZJdmwzN1wvM3UwSDcyY1ZcLzFEQ1ozWkR4N05DcVRHaFA3VDFYM2VKY2lRWHNET2g5d2sydmNDcTgyVUpDOU1hQjk5XC9uRUdNMDJRZ3A4WUpTUW41TEZTNGdHUkxRQTJaQlNlQVBXK0VkMFl0NUdMbkhmOENcL0grMlwvTlwvSHRIXC94VlZWczNsUk1tYU1pdkJaWWFvYWtOVTZPQlRBXC9ldHV4d1Y3YXNLaUswZkJlYzRCd1ZcL0drWklqeGZKTWRVSENEM0VlQVlySFRTOFZ0Nit0SGkzRG1TY3RzTHFGY1BKM2JLS0hVMUlOaFA4VDUzejU1YzJySHdLYnE4YlJEY0pkdWd0aVlzUmxrbHM4clBLclhcL1djWlRENERzVWNOXC9qM3daWjdDTkY3bEpIMHN2Wjh4QzdMYkxzQjFwQUdiam1STml6RWlLVXBLMXNoNEFFUkQxM2xzRnhMVEVUYVU1WHFjbzBPTUphNU5uSTZPUE9LaUdrUkh3T0FOVXMwOFBoT3Fxd1V2RG1mREpEc212aFwvY2ViZjBtNE9mdGZqTlJrdWY2MmpyT2YwaDZFdUdrbkpqMllHKzhVb2ZHSnZCU2hyVW90ZzZJcEhQbUx0enVUOVRTbTdtOHJwMTAwOWdIN2FHRGFLT1lad1dzeVlIXC90V1huNXYyR2RTSjB1UDhSVnlWNzhVSmozUmVvSFdlWGp0SjJ3b1YybTErQWFkWlUzb0Y0Nlo1QjBYaGpEWFlub3VxT1BpcHV2aE1wbk50MzVQelwvVUZtWDZsbUY3VDJJQmNRdUs0SVpnY1ZsNVFRTTQ2MzE2ZU9UVUxuS043ck9cL1B3djAyRnNhNkQ5OGRrTEpRUlBRVTZwZCszUng3SmFidmphMjEwSlVqNHNUcG1pQWlROEs3dmVIN3hBNk9oU0V1dTg3RXI0ZmJnNGlsUk14UUJ3dHlpcGxZcnF1XC9BQ0QyOUF6bGc0Q1BTNU9cL0YzeFBQS1AxQkU2djh6UVVFdmxvVUYzZVdjTGFJXC9Wdmhtb0tvWFAyZmFjSEd6ZzBTcGFiQWxCQVFMM1A5YWpZWGgxb1piVmE0T1B3dnI5ZnA1MVFtZEFJYXhwTVZaQzlhMXFDOG8wRVRtNkJIQkJxV0hBTUJnb1RSODErQmlwR0QrVGtxUndzZFFzOEpNckhZeU1kUzBXc2pNdVlrQTJSYWJJN0FWb1ZqVW5hSTczb3N0K3ZqcW1hQUxiVlRGdHlIZ0o0bVA4M3BZdkl3XC9aVTBmN2V1R1d0bVVKYkxKQjAwbFRlWW0wek5pY0Jvd1VkZkpvM2FFc2NtSjBhdUZQYUtnUDJ2c010SG5VaVRoaVdyaURZalFCcDZpNHN1aUUyTndPY0R3d0NVNHAxbjZXc1pMTmphQmZiODNPTzJYa2lUK1c1REhNNGFNZFdBcWdLekgyMUpsRUNuY1RDN3pBWHV6TEJFcDhqNTdpWmFZa09COFphU2c1cmJZRTZPQVNPMit1dVNYb2xqZlNhSDJQVjgwXC9cL0hDcTdjVTYyNUdrcmczZTlcL1M5OFJpTG12OVVTZFNKR0V4WlRJOVZqREFRTnNxa0REVVRoNEQ3VG1YdXJvSGVqZ2FlUzBhZGhEMlYrMlpBYzNWZUpvMnpod2cySlwvT1hnQnAxTUIrcGtFdm9MMTlQQ2ZIQWRQUGNmaDI2TVozQkN6dm5vSGNYc0g5RFFVc2JtdHBPb3I0NmNwbmFadWs5WUdYQkhZZ3gwR1NkMnNKUXVQNjVqbVVQU203eFhPcjE5Z0llWUdJYmgzeXFPZFA3MXRtUDlLaTk1S3pPMWV5enZkR2ZzZGUxblNFZjJZU1ZwQTlSRmFaU05TdWMyVXNEWlhhSjdmSXdwWnAzd2k2MTN2M2JIZW5qYnZ4WTRuY3VYZ2VuMEp2dWhBbGc0amMwbzhkd1cwUXh5dkZadHpYb3JWWVhzYUJWQmMyOXBHaUZpbzhheUp2Z1BqMzhWcUhXaDFiRFhoMkpJc1lxOHVwVndBczMzVllhZGFwY1lhaVZzOG9pNEdyRlJJQjgwRlBtMklvQ1lIUmhMemVaQitXODdGRVg0eURscU5Ubm91SWRPbEZ1SFwvdVAxU3pHOUtBazVPMDlWaUJ2VFVGcFdWOVRMWnM5bWdZV3duclNXWEN1bGJuZnZ0NHZaQ3hrQUUyTGFzUEFTOHVSV0NVSmQweWR2NjVjQU5mY2RCQmh3OVlIRjZFUDNkaUJkR2NQa3Y1SXl1NTU2Y0RvWmQ0WTJ4RUI2TmZTOXl0OFVXNTRxOTRQa3RxVmRMS3IwelozK2dwV3BKSmJ3VmcyM2tPN1BWWHVVbTBqRGQ0bW43d2NQRHRKQThUMkdBV25cL04zaGlsUWJZUlB2aStXbkFrQVhXRG1PRnRSQ1hFZUtEUTJcL3NJbG9cL1U2VzRUaW5xTlU0SVV6V3ViZjhsNCtWTGJtQUFJXC9ZdFNcLzdtWlwvUnJqTTJLaHZBMkpYUmVTa1BjUnRkVWNJbXRCNUR4aXhYZnBWdHZ6ZG5UcnFIQytiMXRPYmorc0t3QmdaOHA5T2JKdTZZWFk0ZnVjSFZDMVFlMmhNeDA2ODNWWkt4U3phQzJ4T1hEaTB1YUQ5V0M5WUNqb0RjUDlmUTJMUE5vQUswaWd6ZnFBR3Q3QWRGUEkwZXBpT0drcXVGNFwvc01UMnJhbFBFVzczaXdKd2hrZ1lkTHdqMnJNZ3lvT2lUUUNETjJVb3ZMSzBuVkZndGxKcnZvamF3K3RCblBhZGkrMzI5WEpJbWE4bVg5NnhzdEpcL29SSDBMMzZrNkkxbldCclR1cFBFTHlqWFR4Y1wvZGhBdEp5clBKaFZGTzA1dlNQWTBIWXJvMnk1UW9ZNFJQaSs4dTJIa3RmN2xwTFFwWEw1SzNRdHRBNmhTcTFPTEF5S3k4MUw3RmtMejQ1b0J0Yk5UNWJLamlzcGlaNmorNGRtS0JzcjlrYndSN0JSWml5dEtCNks3Q21kYTVoM0FwNE9KNXJaXC81K2dsMEFhTmkyMmJcL0VvaHZhZGxyR1VmeEk4cWNuWm85Y3RFWVZaZ25CRFhoTUxuRTZWTTFlR0hsVm53MjlRYmhPRGZIREh6R1RLY3kyVVR2NWNBOGRrbmVweFRPdnpHa09qdHNsWktmK1hzWGRiVlBFMUZkd09xWGE5VGxpcTNTb0kyM3BFWnprOUJmWjh6dWdyTWJDUnNtRlJBY1hQSE50bUlcL1lpU1o2N1U4UFJ3Wmw0NGJtK21hcjBwMVN3YkxKWm13UUVRNVdDeEc5eGdhbTlMcmtqUVwvZHFxTzN1UEsyd1R4Mk5DTCsreTI3dHhoeTVZUzlJMHgrV2NJZVFYVjh2ZmYzTndRa3Iyc3RGUitBb3JuZ0llMXhsZDQ5eXZaOGl0dEFsUUE4RWJ2SFZTNitMNFd0Z1wvWGJjcGg5NFFRc3YwZkplSW9nZG9SMWtuY2hacmNZRUFvcmtsMStvdTlRd1NZbkh1dEoxSjZQeFozODZPMjFVY2h3R3luU05neTI5aTF0T1wvbnp0Zks0UVI3NlwvaHI5YXVGeE9VcHU5Y2wwQmw5a0VLc3pkN3Bad3hnbWc5bHNqWG5iK1FTd3dlczBIWEZsTU9vSzE1WG5abHdDelk4Wmo4VWdcL1I0Q1pEb0lQWkZRQW5KeHRJQjdsUGpkcTJHK05yaW8wejZDdEhVaWZUV0ZtNHZEaWpoOEdNRlpcLzY0TVlxNFFPOUUyWUJRXC9meENEYVZHME1YdmYxemRPcVRpaXd0b0FhelNTdTlIRkkzN0tLYUpqekpcL2RoZzR2VnQ5NVN5QlhPNkZOYmJhVnFkTkVGeW42WThTT2dcL29aMzZuTUZSeVc3MFpRMkN3cUZJeWR1VitZK3kwMmFCbkM3SlZoNTcycjZLaHFjbnVkeUlGSlc4UGdnclN6VjU3YiswUTRQRUxSV3JWWkdQOHNSNGFvQVhtQStDRUx1T0IxVXIwT3FjYXRrVW45M2RPRSt6QlRzTXlRZ3BHSnI2WGM3MlVhVUJacGlab3diSW84dFM5MURtdE11b08xcGxrbkpCaFlZQUY0SjFKV2pFU0MrRVFcL1wvZGZ0dnh2Z1htZUlQYjRRU3JNc3N3NFpZUVwvU0lqc0VUVk5sckNrek93NjI3anZ3T2dSRmQzOHZMeGR4XC91RUdXVmF6Ulp2VUt1V0hFY2hVcEpoc0tGajBjSURpTVdYTFQ1UXZmOU5oVHNKa2hpUk8yWTRCS1p5MUR2NnpiWTc5KzRRYjFmZlkrN0FvOHlVZTNGVklhQlBQb3BIcWVSNldXK3MzWnU4bE8ydUxCOWpsalVPWFhCXC9QZkZ6RVY5bGY3OUcwZnpZWk1Sd21ZZ1Mwb2ZnaHBLWUg0T0JJWG44bWRndnFYOGZkWFhadFBBXC8zMVZGME45TW1RMVdvUDdUWWp2MWpOYUtwUFwvMnpwbVlKY2crXC9hd0hFYzBOOGk3cHE4UVRnd3I5SUFJemg0TU1nVlV5YXl4QW1paDFTZVRpMkNTakhiTkFvXC9abm94SHV2VjJWaFdLQnJnYmg1UVhtUzJBdVlDb21lbnpDSTM4WFdvS1lHckpkaDdKaEZtUURUR2o0TjlOZ0Yyb240emJ2aTZadDBKYVdnV283cjlYN2I2YjdTeTV0cU12V0lmZ3RzMDJMUE80R2NFa2RzSkVFVkdOVFNvNDE2TjhHVVlSMWROWWNTd0Vqb0htcWxucGEzdnhmd3hRSTFXSmkxeE82NVZpb0F6Z1pjNmJMK1RIOHZDZHkrclJ1cHlvQVRUNXI2Zmc5NkpEdmlOblNYMnFsSGwyM0FXZXdaSW5BUHIwMHIzUStESldkR1dFcUMybjYxUFRrcTdJWDdFdm9VMk84TlZuRytSbDZNWmdyaHBpbEY4RXNpVWZubW10VkJPRm1CaEpFUUZqMWNURnBydmJiK3l6clNaNlBGT3ZUNHBcL1UyZCsyVmRCVUtXSk1aNVZaT3l2aUNFY3d2eExZK1ordE5nR1c3a3NmZnU2VWdKdmxyMUExOE4rZnFMYUd0NXUrN2JuWjFVeWlnMjduajg4UTA0UWY4NTdUa0ErRlhBQ3plbCs2VDM4MTJIMDJlOXpzdlJiTVUyQXY3cWVmcDUzb3RXZ21DWUxCS0hRYzNzckJaOExYRUhZbGRUZHlLdnRuQWpycmcwMXErdVNtUGtBV3ZSS1ozdFQ4UWxIaDY5Z1FnaWoyOFpvcUNxUmRSdGxHWWp1V2RRV00rUXRJcnBhTkJSZW5tSFo0K1NlVnlwcXRacG5lbUowNGI4eHJZK0xEeWg1MkFRajNFN1wvV0wzbVMxQmZ5aDNPWFA4cCtZc2tPdHlONkxvZXNVWmsxOUluWGp5Qyt2VnpcL1N5T1RIdnhsSUVBVm9ScllFMzQwcUF2SWZudG5aUFZkRFNwTlVWOXA2Y3k5UFwvdHozZmx3eUtFdkRwYnc3ZzdqTnUrUEE4UjlCQTd6NHkrbG5uM3JDU3ZWb1RYZ2pqb21oa1FkRUl6YlNDQXozMjVVV1FmMEp6NXZ1c1pwOTJYZjh6cFZidFY5Uk5ibFh2d1BPMzFRczFLWm5vdVZ3ZVZNclBtdnpobnJaa1NBYjBUTWxXaXZ6NFwvbnFLbXRPS0xRYmd6MXdaUGtIZXk2dk1LaSs2K1ZrR2hzSmdDVWpqRmV2bzhFRlFtTmtubzROamZWdkpDTHBWUm05SlQ1QWxSbG1pM3A5WHk1Z2ttMVdDQlkyOFhwUTJFbzBnd002QzJmOHA0SjN0eXFGSVlaOUJkU1dBa0VBUk5nZW44dk9adkhmUTRGV2txdk1GZVwvXC9RVDA5eGM4R3c3bkFDdkNUNXFFZDR3RmhcL04zcjhZckR4WmpKbVJcL24rNVArQUFtRnZLYkdWRG5JY2VNVEdlcG13djkwWEVFUVR4OWhqYlwvaUVocXZuUktKb1FxZVZTanVtUnVmd1l0b1ZJSldENGptMVwvSmJUaVhPSnN4WUY3cXZnMzRENmxxQlZVbjF3ZVlQZmc3dFloMnFFZ0hPVDBoMnhWQkhzUTR6bXFRUUdwWDE2b0x1XC82alM3bWNxbnpRb1lGaVMxYmtKN1hmQllibXBoVk9yT0NMeTd4eUxrTXBCcWY5bW03MHFUU1p1WWQzQ3JVMmxEZld4XC94c0ViUDRIVE9OYWgxNFpJbXVUYXdvalVneWNmWDI3TGE1NENsMEZ4SmlKWFpsdGMrUFdYcWNKXC9BQVlFOUtoaWpwUHk5QnA1THJsRWk3QXYzV0xScUtHb2FwNUhjd1pGalN5M3dFVHZ5RFFvV3pqSzJyR1dTR0tDM0pYWStWYzJkb25lQkRIMHFHT01zTnJpekhkeEpMN2x1XC9jbURcL3EzbTkrV1RVQm9pTEhzeVZPY2txVktRZGgyTHZUZFd2NG8xZ3pQdTFCa1N2bTRZTW1JRCt5RGFJalZqWkRRM2hRNW13VlVPRmNaVG91eVpSNnZ3U0V5XC9CNWRMZDVreU9ESEZOTG1uMEhMVkhmOGcxWkd3QVl6VUd6VEtZcUdzNDlHdld3RzFaRXlcL2xQd3NLUWpvZkxyTjg2VlpjTE5rSjdtOGlOd3Y1bTY0bnlRWmZNWGhFUHhFT3FkdnhwSERkcEoreDZcL1MrbCtZT21WRzBOTXFHUTVIZVNCbTZINEV2Qm1Ec2JpRjJwK2wxeDdrZTBpcEFsZ29wRzAzcEhKWEFxSzJvR21xaGRGZENpeFwvZHFJU0kxT0puSm1BODBLaExpeHFyRjk5U3l0Z05EZnRqa1F4V1M0VU52QUk4Wmt0bG9JR3BtUmlLK3RqMFBZNkRURFZIOUF2QWN2YWlEYzJRYjBDc1RybHpLdVU5Q0JLXC9sZnM3ZHV6UVE2aUk1NlF3XC8wQkdBZjFiOENsTlgzb3pIV3c1S1wvdVd6M3ZuT3Vwa0JORlREM0pjWGp1cjQ0TE9QaU9tckh4WlZxeis4NlpCbjR6Ujl3cHdGWmpHNVl5SUxMeUlPdjY0NUhqK0tMR09pemZ6dFo5bUhxSGNNTytVenQyUHNlcWk1ckNBVHJIUlNLNFo3STIzWXdiOTg5TmFwdFlLOTR4NXlcL1F3TlwvazBcL1hJXC9wODhkejhCMG05NUNFXC9MYmpOYmtrelFGb2hYcERRY3BKVnRZbWViWXdHQ0NxclpRYlNsRnMwbFZrZ3JyXC9hbHdGZVZ4U3BQb3I2emhFQzMxXC85eVNKNnV5XC83SFZZVmtPK1FGMjRsRGpWYWZUTW1TRXMwbGd4WCs1VHBvWk1VemR4WEIwWmh3NzBqcWdvVHRGUVlzaTNVM25KKzJ2VkhySHF5OEM0Slp5RGRlYWphNkNOSEJKSHgrbDIyU05QMDdMenFTOVlkamUzRmJxSHZ5WDF5c2hyYnYxWHVZNWNuZkk3alVoN0lPZTEyN3dkTEtRODlqK3dSSWc4WWF1WVF1MFhJR0NVMENqRmdOdkczR0hEc3BPM2wxZENVY2Q2YjNCbTBlODdLSFRIRnNNeTNoU01WTE8wUzlTbVUyUm5IbU8wOTAydU9oeWlGQXRhYzR4THhOVFBIUWVNaE9YU3pUOHc0MTBBUFNobmF5NVQwTDBNWkJCRTM5Tndnckp1anZZOEdVNVNhT3BnRG5kZWlXM1VTV3BqVFFweVF6ZjhKcHVIVEhHbG8zQklKazVNRjVPNkJ4WjFPTDVoU0tpa0hwaHFLYStPNFF4OEhhdjJmZ21LdFcxbHkwSXpvMlwvd1pJK3lPZXhCZmFvYUV3MXZzZlZqb0szaDZDSlBlbE1SbE1IVnMyZ2RJbUdUZ1Y4OEFrQlhUcHNqcXJIa1o4N3g4RWR0OWNrZFBPOFpOb1lHaCs0UHh1cDVqaXpLakhFb1h2QVV3RnVtTzRoZjVzTXlqMXNKaitQWG9McmNvd0tFRjZFOWV2eE42UVl0NXJtYUloRnNWbHc2b24xUzBBcW5NMDJyMzBqVVEwRHptRnEyb05KUnphT1wvMHdcL3dSeE5UNFd1Y0RKaHBtVFErQmpIdWU0TCt4NFV4VFNDZmllZ3d4WW5VOWZCXC96a1ErYTdVV1Jpd2tiUE1HSFN2K3ZxZElEQlg1dmJZbmVOeUE4NkFFdTA0elJWZytCeDJ1V2FNaHRwQmhLclQydCt4QUN0SUxTeGNxelVcLytpbGY2TmNGNFFDQ09QNjB1c3pUR1YrbENya0o4WUVJUkRpcUlCV0pFTDFReFJlblU4dWpURERRQ1hITGJFXC9zWGRrc1lrQ1J1SUFGTTNqbVh4OG1NWHBjdGRPWGdwcDBuQm5KMHAxbEFFMko3bWtKWGlDeU5jdE1nclR6WDF4NTlWNzlJZGo4dytsNW9MeXBOQmxcL21BbW5VKzJLdTZ3K0tBMGE3RDZuK1VWelwveXBkTlpLbjA4NnN6cVhSZVl1TDJZUnZ0R3ltbHlSXC93RTI5STgrRE1yaGNxOTFuclhUWGxhUVQ2bGp1R0FJakNNYjkxMGdPKzl0Z1NJZlNyVnlIOW1ERnVac0pnNUtTUVd1QnFGRmtNYndLMEJ1WndCYXN0aGcwdTlFU0dMSHNrNmk3SE0rQmF2RThJU0tsaEV0KzBtTWtjUXcrQ3pyRXZFN3ZvMXljOGlya3NFSGZUcnIzaktNRnFDaDhFS1dyVTlhSTdob3I5YU1ZR2VQZE9ZRDlYRkxSMFh1ekRtNlJhVFZIVWsxSUU1NnpSbkprK3g1NVVUWjRxWU9lSXo0anM0YUFWMFhaTFRBQU5aK0dNc1RiSnlseWdwcm9uM2t3V1JxUUdyTWdlTEF6NklhZ3JFQTdoRmNXTnNEU0tZY3o0RFIrTUt4ZkZcL2RLUW5vQXIrSXVTTTlhVmFTbk1vSDRWdDhzazVwS3BMV0d5TmpKbTdncWNcLzBPUTZpMFB3ZWRrYlhUaXZoOXNKTVRxa2t6dUNnRmVnR29qMTdcL2EyMXd4MTIwVXpPZGVZdTgxcUF4cUZtNEVBRzNmTkRzcGZwUXJRYlwvNHQzREYraHpZNmlIQUJVUk1HaWU5OFh2Z0VBcHUzMm5SVUloWEtHUExySW10VE9FUGN5dEFsZzNMaEg0N1wvcnQxb3lGTEtjK3k4UlppWTN5VHJRajJvbVJFOHQ4R1p1eFVZNk91QXVxNHhTcXM1QXYzNDIzZ2ZNdUVPVnVuZG5vV0w1NnZKbWF6UVpkM0VCWTU4UlMyTXhwbFBmOUh2MkVCcmhGU28walRYWTZ6cUw1WVlUVkdyVXR2TVJ5dG9OZHY2eUNcL1ZjOG5nZnR0Nzd3RDBSWmJ0Y1pMK1BJcEdsNGhGZVJUOHN0SFNaYzRUTDRaXC9Db21aUlVGc1VobzR4QlVJM0pUU2pyWnNJNnIrUnJJU0wybGVEK3hzS09PVFlPeGlrS3Y2ZFBUc1k5UVpiRnRwcXNJMjBrbHBVQlAxWEdTUDBEU2V4MGFcL2RRWEFMNUpqM2E4VElXME0xV3JFMkw0T3RlUkhaNUE5TGM3ZU1aOUNYOXNqbzR4VTNLbk9XSStlekU1VzBDWENaUVBaa1dxM0JRc285RmV5dEtKOWlydzBpeGJMZTBqeE9Xa3JcL0gyREZ1ekowVXYyd2UxbGFsWktnRWZuT2Z2ajZISzJ5OGxDbjNHUzFxbm8zVW84XC9kSlk5Skt1MEJkajdZY0hWNHpSd1dLbVRYUEM5UEJLUzFKXC9YdStmY1k1OE1jSDFMc1Z1eVlNQlNCTWpyYUo1SFk2OHFQM0Fpd2IzWk9PVVV5cDNjWEJTcTFlZTJXU2hPdGptVkh0TmFTVFV0cWZYeWk4eFJWcEY2RXA5T1puWWYwZW9cL1pJZ0dSbUFMblpRdjdJalA3OHZuWGhmNjZpallFUXVZUktnQTBCcmoyTTB4NElPTVZDZFdCZXpvMmxTRlJzMTYyQ3lEQit3a2Y2RnNrUjFBdGdNZ09vXC82OEM5UU95bVFxV1BkN2dpMnJYYW1sem1YZXlHRlFLVGxZQTA3NE51Zm01Qno5Y2xyaUVTeGp4ZnhtZ3RWblhrQW1XZjhMcnVoK2x6ZisrUGdcL2NmT3hOV2Q1cTlGYkNYcXdrVkN4bFhLZnR3SDJCQ1JKN25RZjBZVWJWY1pma0pNQUZZdUg3ZXlMQ09NN1FGaTgzeEhXbnZXSkthckh1Z3U4bE5EdEZGcjMzenQwYk44ZENYdWFXcFptdzdKOXpMZUVqMEw5eklJZTh2QlpTajRjcWFYSmZ1K2Y0b3NrbWVsdkVQWE92K1dRSlZLNHk2V1pmVXFvV1hxWWp4VlVnXC94VWV6SW11T0JqcU0zZ3h3Znd5eEcxdUkwMGFwWFZLOUVZR0dZVFNOUjQ2NTJUTVA0Q0g2NW9MK2l5UFc4bEl5ZUdVSXM1N001WWhZbzE2TEw1UjVjTStkWG1BZWlvdDBLT1hmcUc5MndXZGdyOFpxYWdIRlVcL2hjNHg2eHFkQUNMQlR5TFBDT0s0RVMzMDgrNnNWbFdTcG1PdlBscFozRndzNlwvRmFNd3J1c0pHTWQzNVRmb2pQTTQwc2tvRDlBXC9nWTlLS3JnMjlLbVpadjE5RE9ybUVvdlg0Ukg1blk0OW5ESVJJT2RZM0xcL092QzgwZ2ZBSHZkVlFCNUZyNHlVa3NVMlBNMmduYnJycTNla0U2d2tMbm5BVW4zMEZNcDFOR3Q4WHl1U3Z0S1VIb1JkZU1WQnFEMzAxWHNMYVwvXC9OaFwvc3J5TkRMN1pEUno0bnZDaXR4R3Zzb0lLZzFNMHo5d3FHelBtTm9iandYbkZNK1RiQzFuQW9OOFdKamRrN05UbFh2K0x6UzlyRjRpajdkRUlaQzZYOCtpVGRYWHl1NW5Cb3lBXC9kU3RaZ2ZcL2s5NzVhdno2YUFsYVwvVEk2MWpVTXZid25oVHBDeW9FVVg3d1AzVlZiK2VUTUNUSklCTHlKRVQ5OHVtaVMxNFBjb25FeDFmRlRIWjRHMXVpWUpOVTc4MUdpeGc3aTN6a1RMXC90VXg1S2VVYk81QWJNZFFLYzFuSmtydlgzQVZDcVgyT25YdGFWcHYzb09ac1hMM3ZlbzQrT1ROUmxTczhYMGJZck4xTU55ajdTa2VLSWcrZVRwaEtaZzVQOGcrNmpGcm91ZUJiUEtVV3JlMk5ta2lYTlwvdjJsSU5UcktHVVhna3FueUJkZWVZS3U4c0NLaCt1NFNYQ2hxZkdYSGVuVUpzcWd3WFN1XC9TSWpHREt2OUo5OVwvREFmUGFtaENqbXhEUEhERWNWdGxjdk9qU05aQnNDZHBMdVRYQ0gwdjl0dE9PYzllYWNKRCs2QmZ3d2ZFaHBLYnBZVTBkclU1RTdFSkFkVzUxTSthaFE1VENFdkNjbUlrRDUwYk5jNUROY3drWnVhaDRQYXVzcXJGemRmMFlmdzlnUWkxUEhXNTdqY1lWc01Ua01BVVwva3p0eUJaUk5hSEluS0d4ejRXT25RcmRhRTgwNDJLTXYwSmFyeWQ3OW1zZU0wZ01ENDlkOGFcL211NWpCU2xTYnViMXlvblF2TlpsMm5OeWoxSzBBQVRRVklZRG5EdmhUcUJ0SHJsb251Y1Jyb2lWWGJoY3J4QVp1bWlGcXNPMmlEMFVXUTVKcktydHBZbWF2endvUTRkc0xaVzRYTzk2NDdlMCttN1hcL3FCR0NkdEJUVjNKR0hBUlF5OXNqa2ptSGN0SzVVMDZzUmROU2ZXYVFtdFwvalQ5MHBwSk5pZDVpZmQrNDhRWlpDNFFGWVgrUUwxRzZmSDhFR0tCekNKT2R1VmxIeWNKcmx0OTA5OTk2dmM1dmc3NHEzbkYyU3VnUGx2c3p0MTVcL3A5Nk9rdDZCSFpJS3FyOTdVRTh5NlNpNDBxOGZ5VVNnQWgwd1FzYjJ0NlpWNnp4dVZURjNEVjJ3QTlcL1VDZ2p3TmR3aUh6MVFDQTVoZStlWmMwbXNzU2llMzR6WmJXK1VTU0pzZDZ4dDg5aU9ZWXFiM3htSkxwXC9xVjZ6M0ltTGV2TDBUcjY0QVg0MndjeWlqXC9tSGRhUUJUY25INTU2WjBDZ2psWHh0RUc5Q3A0MlJFSDkwMFQ4azl4SE1URlR3U3hjS0g0b3o1MG5SWUZFU1V5ZHNOcTNsRWpnZ2hkWUkySVZTbGtRaFF5YnBqZVVXUWpsWkgyMGJ6UStWaWVwcTEyWlBFUDFSUHMreWFpWFlPZUljQlNZRTVaR20yTmFDQnNRUXB5SHZiUUZmR2o5UW1UZEhGSWtHNU1BeEtGcVZFMWpZRlNZM0U1clU5cTNmQ0RiR1RnZ1BnMjBHeFhaazRkOEM0cGVPdmVaT0dYc081bkZHNmNBOUtHSXBleWdLRmJBZzlNTEN5b3dMTXQrazFzQXVMOVpcL0orbmJNZkVVSHgyckdxbG4wblNYMVlHXC9kOWQ1SnNLMlVTOG1aY2loaHRaMktVV2ozTEo0K0REOHlxTWxxWGE3Y014bEo2dTluYVZRSkFZdnpNNEJvOE1Qd1wvY0FTOWZBRGl0aDJaakZBRHNHb0VGTGdYTUZEcHJvbVRiUXZUSVdzdmxlUHVjSWhiMTdBUUtuWVc5TjdoV0pSdGZJMU96VmpMT1J4UXR0QjBRSlZTSVNlWFJoNUVjZ1VjbkhweFpUUTFpWHlxSitUZEFPRm5NbkNscmpUSXhuaGNLamVMblB4QXJUc1FjVTQrR3RYYmhnV3c2VG5Balk1QmhiamJFSHN1KzNGOXRhNmpVV0lJc01odmdUNFVKSGNNNTJnSXZlMmJlaTAxWU1IUm0wSGN0K0x6YkdkV2E0a3ZvVVA4ZW8ySDM1blBFS2Q2N0tUM1pDQURDNlwvb0JXalwvOTBLZFRcLzAzdUI2bUdqbjRTMnBwQ0ZRdEtEcEZDWXVFQ2g0cVVDeWY4MXhndDZiVHVLTVFTdHpibm5LVUNaekRFdGF2UDVveWhuY29NazVBT05yVXhsK211SEo2VHJ6eG5pVFRhd1wvVGxTdElIUHlcL2U3aTVCU3NCYWxWQks2eExEZThYd3hDekZxYkNnam9DaTVWWG9EZWN3am1pTm02am93NmMyWm5acjVWZ3pOT21ZMEU0eEcrQ0hjVTBpazBUVHh2VTZsT1hIREdyU3BNVm5QZFcweVwvbVJvVjN2djZNcVFKRGtrYnQ3UDlla1wvc2h0dmlYV21hVkZoS2FzcktsaG5sRWVDbkVIVkJtYXBRRmZhcXFQcCtjUTJyXC9LZFJcL08ramM0dHZBQVl2aFZlV1JjUzlzWWJcLzRuRTFCUHhYT056ZWRxdVwvMGVoakZrREI5S1ZSeUZWMWFxNURYNVI4eklFVktLdVdDY2c0d0tRZ3dkZkpcL3lDdFwvTCtrRzVyendqTEpDQ1FnWDlVR0s2M2xRQXhVNnpMXC8waHB5K1BtOFhPTmVrVXpYS3RjWGtMT2tCV1BhUnB4a3lJXC9kak4wZGhJdHJnUFk0V0FEQXZ2TnVXcnVVUlFpSE00Z2VEQ2dZK2JJRGN4SDZFanM5dCtjbllnR3lHelwvWWF1N3FrUTY4RjlTYWNISllrSnc2VDFLUkJoVFwvUUttbmlXZFkwWjFhY1RReVRTbVZ3OWRjalwvWGRVN3o4MG5Xend6RWJZTEE3M0hwV1J2UE10STByNzJpN3RUV21jbUl5SzRiTDVxN0FiRlwvR2VZeklNdmIzaVwvSFRIZkVIUVBHTzRsRUhLUEZ0b3RmRmRiYUxKSmVueFJOVHBDZWN1YVMxd3pTM0NBQnVqZDIxUGJUZGNZeUxuRWVZTUJheEtvbGx5ZGhhVldzVVJQc085MFRVYTZ1aXBHY3ZETG5qY2U3bXpJR09OU1NtNlBtaGZ3b3lSZTFkWnJTYTRXV2VYZ253TFZ2blFsRzBrSUVDbk1WU2RLZ25qd1ZicG9ZS1JYQm9HVkJFZTZ3UzRQQmpVZzRIa2JsdWYxOUlIcGg3VVVUSFc1MDVYa0Q5cTJWbVBoakE4RHBKU0NRV3dqaGZwTjVQOXpsR3BqZmJaZ1JxbnJ3Q3FKb2tiVWErQlc1cjJUR29salRmYTQzYWFqcHFVQktTcU54akRvaTRTQWpGaGhPMDhVZTdTdUNwZm1scnp2dDdwS1FPMjJaOEIwK0puQ1JFWFNraWQ3a2hlUVBxQjNcL1RIUGZKZU1zSW16bExuTW9cLzI1SEJiUm9BU2l4cjVTck1Hc3dZRFFlckdzT3B1UGZ0MWNvRW9LdjNPdXF0Q1ZNVUlNTmZDU1JWUE1nUHl4R2xXVmhBOEdMQWw0VzBrTWhWQVBrVldHdEg0OWVxZU43RFE5T2JwMXo5VXk1VzVpZG9kSURheUl0dHlsN2hMWU1VZVpBNW4zSGd0WEE5UnR4dmRucjBYeTNycFlybXI1dElVMTdySEZxQk95U0t1b2dLWlV1MldZeUVpWCtsckl4cCtIeElWQW5hSlJhOVdIbUgxckNFM2x4ditwa0xiVUtFQVNJVjhkNUpyVFdibjdtRVdzSzlUVVRlcTR2ZlwvWlowQWZVaXlEQUxiU3VnVEVTWFQzdFpXRW5yQUF5ekpZd1c2dE9sc2dTNXE5UWJXNHV5T01RVGFDNUN4XC84ZStSQVwvc3pycUFpOXBMa2FOTDNpXC80SG1ySUVqSEhqSE1SMU9pM1djMjRsM1V3XC9EdVcrQTBrbXR0Q0NQMDl2NFpLaFhxdThvWTFCcEpDOTdUbHR6UDQ0bFFpWGdnUnAwb2wwRjl2cGhiV1M1OEJENWNOcm1VcUtXT1g3UmZOdk85RlVva0FUdERSdG9rVlZodERCaFkyT1E0MGlhMGlrWUE4SkNHZlZJczJ5ODE1Y2xzXC9xV1JuM1NuZXErd0JENTdaT2xWSTB2cG5hQVwvTjc4eFY5cEhQdFgwdmFlbm5WZXNRZDlrVlZnUWdIWHdWQjdHYTdZMnZiXC9seVhhaXkxOHRMQUx2WVlaTFc1RFZheU8yTnZRWkhNWlYyb014Y2QzdTkrUk5nYkNZM0hXZW0zRFZnUUZkTmQyTXd0ODY0TVM0MFFKT3FLM2ljV0VHaFFNN29vYW9tRk5sK2FkN3RSZEFsc0ZVQjFXZURCaEorZlV0WEs4NFwvSjBxNTUxZEQrNTJ6UG5OcEUrSEFPXC9nSlRTYm85cXZzNDMzUytKUEN2bUk4a3hud2VhU2lOR2FGNVNFRkhRZ0JsWUl5Y1p2MHhEdVFJVWR2ckZ5SlBHdUUyTWVYWjZRU0xvMGoxMTI3XC9McjFEa1puZjdHblFhb1hrcWQyb3ZGb2swZ0NtSVh3R0tXM3c2blZCWkh1YisyeDJXajhxTGJTbU9FWnJHeUhWWG1XZnJYM3hKRWZyTzlwM0VkaFNWWktSc1F1eXAxcEVlMDQ4MGFRXC9xRmZUemtmdFhNNkJ3cnBZUnZlcXhlSWtEV3NpNFZtNjlhMEt4bDZBWEI2d2xrTHlOeGRzK2Y5TGlmYVQyU0xiY0lDWmN3RUwwTFhvMVwvMHAxYk1FVE10cXdkcVdHSEc4WkIyUkdrdnJ0UVQ3bGRFY0JyQkFud2dUMWlLZ1Nud3FBYm5QTGh1T3R6YkZpQTN1Vm5WeURvNVB4OHZnT2RDRVwvT1k4QWl1VytHcVljK0kxa3V0OUpwWG1jT2JYUFdNcVFrdFRBZlpkTjhvNnJORDNmckcyaU16SzlOcFdiQ29oemcyV0NiOXVYaW9GNnNRS1lcL281Y0t4Q2xvS3B4bTdhMFJQTVFyUXdGN3g3aGlQeW44VWp4MVIybkhudURRUE1vdGVJWUswMzNWY0R6em9CQyttazFrM01jZmdFeHQ4QXIrZzBZd2Y5azFpdVJ6dFFIeHFBNHJkRURHQXNXMzJ1N2RUaXA0QnluZlA0eU91WVJuOWxcL2ZpUnpXVkVPeFhnZXdZVW1wMnZLXC9pT3g4SXhoSVJRRmYzSTBGN2VNVTM1WkpFdlIzRUJrenFWXC9FODZwclJQa1QwbHpSaTRiZFwvRHJ6NXBObmExUDlNMjRxSktQMjl3cFByV093V1U0NjY0MXZMZk5rRmNCTW0yUmlaTHgzWWZGS1wvZW5xWFRTdFlsNU5tWHJMcENoUGhPRzJwRE9ZanU2R3Nld3BVT2ZBcDlxU2ptZG9FRzdoWm16UU55d3lDbCtGMEVrVHVrMFI1cHhaMEg0Y3ZTYWtQSndWSG5jTnZua3lsUGw3aktuWlcwc3dzcTI1YjJYQXl1ZkVLMUFmK3hLbEN1MFVMTVI1Sis4UFwvU3ZaNTBmc2RQeGszaFpMWmFjMUJBQkdEeGl1dGxNMzZTYTFjN2Zlc3BVN1J2UklVR3IxRWhjeFRXZnQyNXI4WTljTm1iN3pYQlwvRnR4MmhINU10YjRNZEI3UDAyOGEzUXpPdWc3TzEySnFHV3JERk9zdmw5K0FmTEptcnFheEswNnRFSHYrVXBWM3ZOdkRHSjRtNGZlZllwSjlScHdnRUtvUG1kQXMwT083WGU4Wkx2Z2RwSVlGZHZtOFwvMzlKVG50WE02dEJXa0NzZUVUWVJrWWxKSzIxazlNN1Z6TnZmU2JRaG9ZSERlVlBuSmZ0UEpIU1RwV2o3VDRRdkNHeXhXTjN6aXNcL3o0Q255ZVZwTDhheGwwYnJmTHZEcnpxbFlkYXdRamtkc0thOXo3VWFNK3doZzZBRFBOQ2UwSkwrZ1JiQUJKdzVxREVYMEI4UUhENjgxVllKN0dKTUxrNEhVeEd5NUZ0SjFnR0hZbmlvQmNyd0NReEQ4Z2FnZnhnOVFCYlRSNjRDY2crNGIrYVQwMXRKczJUeTlpN1ZcL1BrNkl2WVc5ZitwcVYzWW1YdncyVG1qbmpQVUZOU0RjVExpQ0lKb25TUWZBeFdudkY0QlF5QTFxc0drXC9tZU9LYUpSRGNoanNKS1VObWQ2cW9EWWNhcGZUUSt2U01tSGJEanQxeXhIejQ2RVJFVjg0Wlk0SXpxRWlYV1ltMkh4cG82WHpvaWlabzZGOHpuUEcwMGYxZlwvbXUrMncyMTRTSmVFVGZiQzNBMlEwSkNYYitEUVpQN3Z1SnppNU93aU1tXC8zUXRYYTZRblRsMkw1QksxV2ZoclpGN1pKa1IxM2FyMmlFc2wxK2FPOFlSZnFmWUNQOXRqdzU5Wk1rdkNXMFwvQ0Fwd1RNSnpXcEdaUlkxazBaU1dsS25oc09QQXNLODJhQVwvTGR6d2xETkdkdkd2aEh3UWhjV2JzSElCUkZGXC85STBYcmNPNGxkNFloa29DQ0g3c1pHRGhYaGJ0TTBjWjA1UDMxV0FTWm1jXC9iUEdrM1RueFMxT0pmbkprTVNXQ2V2bCtJcXVjbUVzK3J2TlwvWVhIcDZDMUlxYVBvbG1UdTVNUDFcL0Ixa0lBeVhERWZCSG1rZkRBaHVVU3lrYkF4XC84R3FvYlJPR1NncTlXWE9tRk9FOUxFelVrTEIwQmp4aXR4VE91ZWdEd1laQ013YjlZV2ZINTEwUE5jSWNUdnF6ckFVRGFjZUhPdU80OWZsa2lzVVlQZ2h3aE9ZVHR3b25EeVNMOHI2OUpONU9BV1dIeXY5XC9PaytPbzRwTzdEZ2pMMXV6NnJRcGhGdXlmTlAwV1dhMURwVnZzMzl2eGNKYTd3b0E5cjR1dUErbGhcL3lRb0Z5ajB6QytnaDlBRVwvbGlCaFBvWk1ZZXFZbmV5anU3clhqUzE3dE5KUFlTR2k5TmxHRStJZWY0R2JWK1A2UzZxZHVPSDdpRll5YnVjYnFBREFoT1piUHNlYkNYaTJwdUZDMStzYVNIVHdpd1JcLytWOGZmT0ZzT0pZeWZlVWNyQUY4YmtvZGpVSXZqYVJ6RjlZdmRYNmlqV2loOXZoR0diZGJ5XC91ZTg1dnBXZTBYd0hKZEE5UUdJTEJEUWJrMXpqbENvZUZnU2VGQmpwQXBNZ08rSm84aDl4XC9Jd3c0OXZCUVNxeEpnUkt2akVDZWVOMXJRNU15XC9QcDgzbkNpbDRqSEU5TnduZDQ3QklISUsxaWw3bVpMeUIybzd4OXUzRnM3XC9tOXFnaHZiM01TbkFnOGI2ZHZKelFaa29lWUk1QkRnYlZJb2hLb2UrRXNwMUZMWVVYS29DaDNGMDNpdVRtWHFFWElcL1B1YkQ1Y3lXVTg2UnVuUkJsOXBhWTdjeUxLbW1zSzlTbmdpWkdxdXFld2VLTmZreEE1QVp1N3FDT3R2dnpxUmpMcE9zTW5zOFZ0Um9OeFdzcDQ0blRxd2VHXC92ZWN4OFlPdWtQTEVuTkFBY0tmMjBcL1lnQWY3dk9yNldIT2t4MjBcL3JqZ2JvVUtlRWE1UTFaRFhhc2JRSVRld2lkZVZrUUczdUdSVmVaQU1PbTNLN2pXS1J0a2Z0TW5hRUtwaStMNTRCMUh5TjhpNDFINDM3akRtclVwcjE5a1NOTitSaXF2NTVVbjBhRVZ5dW9mQWF3bzBHK20yN1YzcmRSekNScWF0R2FBRm56K1B5VmQwVFI2a0ZURjRRcnYwbkxEeVZ3UG5pQ0FBcW01QlB6OFgwNnJmVVR3c3FsZVFWUXgyc2h3UVpDdDNJSU9XVFhnMjU5WEwyVmVteVF4YTNVSm9rYVlUV0tNVnZvcnhzNFwvT29IRDhRd1BvR1pxU01ncHYyUXd6WlBQbnhrZ0h3cmN6ZnFuNWttdGFRc1FzRWwyQ1d2TW9Ha1NlS2VsZWdWVjBUb2Z3S0J2YTRmeHBaQUlvRGp0cGdaVGdCY3A1K2g1MnByaFFjVFFpa0dxRm16WGxCejdcL2RTY0xkUElYRU1ZU29ldDgwSEVmTWVRVDZOem8yWjVua3AyOTI0eUZrUERXbUZ6UEU1bmt2ZGkwajJWeEVHZzFJRFRYOCtiUHQ4R1gzb1BDMTY0Rml3N2VkXC9Ta2ZFaHN3KzJ0VTQ1dFBLUDB2VmVLZGVqUENuRlVyWmk1XC9UM1pvNXZha3dhZFlySHUxdFN0Nlh6Qjg0U0VFQVBac1lxOW9DbFpwNEhyT1haNXdCUXFvZEh6ZTJFbUppTVZtc3dDd0FWN1FySXN4cmJTaUFMcUFSdGF1dUNkRSt2UUo3dVlYbGxGS1liaTlvd3lsdnpTWmRUV202ampRSmU2d2wzejdvcCt1VlNiQUh5RTM2Y2ZTMzVhMWk1S2lGZ0FnRTMrc05INk1uUkRXZmZqTjNvQXZ5R3dTaVJnYlVxVWtsUWtHNngrMEs4d3FxOWxVZUNwRjQxZkZodzR3SVJzQTNPejBxQXI1TFVzQ1VYRWFBTVhEMTRjNTZHMmRoYkN2eWVsdHR3bCtEbXhsb3VpZWpJMXNxcUw2VU4zXC9GRDRucDdHd0g2NjJCSXlFYmNoT0hSZzVpSGZOdEVCTUtxVHp4Q0tsSGJCMW5IQjU1VXRuVDdzODVrUzhHUE5PMGxBZEZvMFErZzFTOUlqNkluQkhGSHdGNENWNzAxSm5Cc0RZMjlYeUd4ajVOamxVeERDN1NyUHI5c0xcL3locnpadmVEelpCNnZmTFhrMTdNVm9YK3RvZVRYeHhrXC9UVXFMd2J2eW51ZXI1amIzYk5MSVQ1Z0poNlUzMTVyMlBNWmw0VktzU2w0SzhuRWMwVXliaERpdGFIajhiUjVaRGlcL2ZpQVpTU0VZbXptT3pLZ2NuRjBEMGF2TXNOeEZLZGFZbXN2dDNCb1drdHMzSEtoYnNlWmswdFk3UmlpVzFZRlc2REVUQ3VhdnRYMlY4VVAxdWpIKzBcL3pjOHBrQ1dIbU5tekZIeFZLbkFGYXRnRkpncituZG5cLzZxMitVNGFYMFBTMXlsdGxIUU5nQ2g1dnNKTmdJTCtDdEtwNDVzOHNwb0N6Z01tdFNPMGMxMVwvSXR4eHhLQUpRQnIxaW9oRWtoKzdPVXJSU2l1Z1BvQW0yXC9wd0xZdW5sZmJDcE9BcXVYVkx1Z2ZoaXhvanRNQVx4M2RceDIyLFx4MjJnbG9iYWxOYW1lXHgyMjpceDIydHJheXJpZGVceDIyLFx4MjJjbGllbnRFeHBlcmltZW50c1N0YXRlQmxvYlx4MjI6XHgyMlx4NWJudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLFx4NWJceDVkLFx4NWJceDVkXHg1ZFx4MjJceDdkXHg3ZCcsJ1QnOiAnQVNBRkFVSi13d1RSWEpZQnVkSlVpNF9XYnVBbmpUeXdoZkkzcHVfUU04Z2NzcHU1YkZqWGxmR0xtLTFwNWR1WmNzbnBhZ2tWcGhQVHlOMUR2Rl9DYWVIZkt1WVx4M2QnLH0pO319KSgpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9IjZ2ZWFuOWJsTFYwN2dpV3R1VXdBa0EiPmlmICh3aW5kb3cueXRjc2kpIHt5dGNzaS5pbmZvR2VsKHtzZXJ2ZXJUaW1lTXM6ICAzNy4wIH0sICcnKTt9PC9zY3JpcHQ+PG5vc2NyaXB0PjxkaXYgY2xhc3M9InBsYXllci11bmF2YWlsYWJsZSI+PGgxIGNsYXNzPSJtZXNzYWdlIj5BbiBlcnJvciBvY2N1cnJlZC48L2gxPjxkaXYgY2xhc3M9InN1Ym1lc3NhZ2UiPlVuYWJsZSB0byBleGVjdXRlIEphdmFTY3JpcHQuPC9kaXY+PC9kaXY+PC9ub3NjcmlwdD48L2JvZHk+PC9odG1sPg=="}},"time_used":314,"timings":{"blocked":-1,"dns":0,"connect":9,"send":0,"wait":50,"receive":12,"ssl":23},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/4705.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.241Z","timestamp":1785129950241,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/4705.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2948\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:35:06 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:16:04 GMT\r\ncache-control: max-age=86400\r\netag: \"127a7bdf804468096a60ffca81bccfac\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 79787\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: ILVc9g2DZTTnAKjm4xjLVoCy5Y5OokJcUrtNb-KRMrp6vbyA8ao6hQ==\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":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":2948,"size_decoded":3474,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"127a7bdf804468096a60ffca81bccfac","sha1":"e4b6d66bacfd5a6f6a847874dff49589eebf3136","sha256":"9ac8b8dad05370893f13d3c4148618d073ed55945e225b8a4e0a819bd5979757","sha512":"23f48dd56b95cccf64e5919854e619e580087a74be3d1ec99287043483a3ffe0f209174b9b2b34b0436fa53fdc0f18fb21cabafae5c3ef0829aedd575e48c8e1","ssdeep":"","tlshash":"47512ce7227040bfdfb0f9f520588662a01673994013559fab737171da604fb818796b","first_seen":"2023-09-24T22:56:46Z","last_seen":"2026-07-31T06:34:35.50435Z","times_seen":1377,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/13502.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.255Z","timestamp":1785129950255,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/13502.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 847\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Mon, 24 Jul 2023 06:55:18 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:09:42 GMT\r\netag: \"0c8f6da4c5d03b754a4df9ebea16f241\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 4569\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: zCvHbdRhR6_uY1rF1Lq5XHoUx30UKV7GYRNJQwf_8D1bZeBTqy2OCw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":847,"size_decoded":1379,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"0c8f6da4c5d03b754a4df9ebea16f241","sha1":"a2c42f2f1e6e5a38f636ea4760069a0fab9bcb49","sha256":"9688dadf1285bb7105ace26c57f29a17b5c95f3fa993efd9c303809f7435e631","sha512":"df1fba179044b01e8c56a3b117cee577072dadfdd2c89a9efa25c5ee9d39dc42b0fffbccfd3704cbae11461ed7c23178e8ee27b0781f975bc7f6c1503d020ae8","ssdeep":"","tlshash":"5a01d675ad492970991ada2f098702fecb73027e138880347e33b5c0bd7c0a23873883","first_seen":"2023-11-19T03:02:16Z","last_seen":"2026-08-15T04:03:51.140627Z","times_seen":1291,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADFklEQVR4XuWYbXXkMAxFH4RCCIRCMISFEAgLYSEUQiAUwkJYCIZQBt2qZ5xxnxJbnsQfc3LPuX8cSZYTZ5IJ0IaXL5cvP41K7NPzDr2wR5VaT4FcaW7+bGWO4XDQjdbWYQA8dGOt9ehAi61e6oRG/IOe3KLkOeRxODZHVRboSVPOknSQGbpuykWSavABPdmeteB59pReT8W6eHeLr4mDnnfL006CZfE+BDfEQ/fBHj4JC3RR9jUEd0Dm5n7YJQSXkvslPnx2TyS3S4ufDhN0kUMFG5C7YC/30DycHHv0yr9B12ylCQ+dWFyEmKDr9NDDACfFFm0jjPnKnMRBJwT9GmUj98PUS4cEHBxbAueO5iap7Trdw7Jw7ohu3socFGuF8/b8HRIqw/PGKjhgN3AHyz3vQnBDuIfNdb1HB1gLE3Qe2wvuIyhrzgb9ioMScF5s77fGGbqn4AofUAEJHHReaY3acE8/ekv9+lvgnNL8FnBfwe+nwbJxQPwrBw1wXvA1DuqM3Ibcn7jIQR4sWcAf6LzgSDjo/tY+eaBkAZwTtP54toR7XNfJA1dTDVxNNXA11cDVVANXUw1cTTWwHjDAOUEXxYwC97iukwdKFiH/6zlvLTwQDrq/tc9lY1D0ctAA5wWnKKY3yVfhK/8ZsgckcNB5pTVqwz2p3vhAcI5iUnBe7FN8EDn6SSx1G5XUqQH3EfzxSUzggNLGP6BzWReCG8I97K6LA5LBO3DenvMtvjY8b6witY3dPSwL547o96ewLTgwtgTOHc1dHHRw0K9RNjx0jRF0yMAJsdM9zETqtuplFg+dVFRggwm6Tg89jHBirDzujvAGXbOVZnJbt/fb3RZ7f3iC0xppJFfw6E44Ew/dX+zDF2yBLsZOt9ge5HaquITgR7G84voQ3JDcDhVP26WWkyC6W3xNJuh5tzxt8QHrSRBrwfPsefriAwv0ZClnSTrIDF035SJJNbHce1tKnkMeh2NzNGGCnry38kRojodupLUeA+CgG6utw4BYXkyO2mWrP8I7dPOPKrWengV6YXtKbJMr/R/9MHMSOJNdKwAAAABJRU5ErkJggg=="}},"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":"i.ytimg.com/vi/nJ4pVzGWVH0/sddefault.jpg?sqp=-oaymwEmCIAFEOAD8quKqQMa8AEB-AHUBoAC4AOKAgwIABABGH8gSyggMA8=\u0026rs=AOn4CLAUocXpR_xocUnr6wsoCa_o8Zql5Q","fqdn":"i.ytimg.com","domain":"ytimg.com","tld":"com"},"ip":{"addr":"142.250.178.118","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:50.890Z","timestamp":1785129950890,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"edgestatic.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:24 GMT","end":"Mon, 21 Sep 2026 08:37:23 GMT"},"fingerprint":{"sha1":"99:EB:44:FC:A9:EB:62:72:A5:7C:E5:77:BF:06:63:47:1B:54:C7:D7","sha256":"CD:4A:F6:7A:9F:60:AA:84:9F:37:94:1B:BE:E7:AB:41:46:38:9E:68:4A:4F:36:B3:D0:84:EC:FA:44:D7:A9:DD"}}},"request":{"raw":"GET /vi/nJ4pVzGWVH0/sddefault.jpg?sqp=-oaymwEmCIAFEOAD8quKqQMa8AEB-AHUBoAC4AOKAgwIABABGH8gSyggMA8=\u0026rs=AOn4CLAUocXpR_xocUnr6wsoCa_o8Zql5Q HTTP/1.1\r\nHost: i.ytimg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 22035\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 27 Jul 2026 04:13:42 GMT\r\nexpires: Mon, 27 Jul 2026 06:13:42 GMT\r\ncache-control: public, max-age=7200\r\netag: \"1639038288\"\r\ncontent-type: image/jpeg\r\nage: 4328\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":22035,"size_decoded":22688,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 640x480, components 3","md5":"e0158b4ea723e708344a636147015f60","sha1":"0a59ebfc9846f50e00c66798fc442f73e45ee514","sha256":"5cc9e1824ff62fd0bd052bd495b50d83a1e7723b37b53c4ca9813e56ebaea5c9","sha512":"63e5fa56af93a1f0833db1359a780376504d81b6d42a36ca3ebcf5bcfdd7a3c5b9a9c4adab2d1adb402dbc1ccf00befed00b846efca163de4cc230bff2761ee7","ssdeep":"384:rh6SwCIE0G5KeVrVY92s2Ezd337dmGGRuC0qJv5fUmf01bwilWdMbZJZbW66Vgbw:rIzCIjGvdHlu7dCV0qJRMRBwcZJVIVLz","tlshash":"b3a2c0b35e2227b1ce1011b7185b20dae96b5fa3cc8295260d4af47a9dfa3811d2f2d5","first_seen":"2026-07-27T04:14:44.467986Z","last_seen":"2026-08-04T06:09:43.977999Z","times_seen":4,"resource_available":false,"data":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAgGBgcHBg0HBwcNBwcHDRQHBwcHCxkHBwcIERofHhEOEBAVJC4nFRYsFxAQKDcpLDAoKygrHxs5PTgpPC4pKCYBCQkJDQwNGQ4OFicdHSAyKCYnJiYmJiYmJyYmJzImJiYyKCYmJiotJiYyKCcmJiYmJiYtKSgtJiYyJiYmJiYmJv/AABEIAeACgAMBIgACEQEDEQH/xAAcAAEBAQEBAQEBAQAAAAAAAAAAAQIHBgMFBAj/xABZEAABAgIGBQULCAcECAYCAwAAATECUQMEESEiQQUSUnGRBhgyYeETQmJmgaGlsdHj8AcUNVWSlaLSFRYXJmXB0yM2VnIIMzQ3dIKy8SRDRnO0wlOkJ1SD/8QAGgEBAQEBAQEBAAAAAAAAAAAAAAECAwUEBv/EAC8RAQACAQIFAgMIAwEAAAAAAAABEQIDBBITITFRYZEFQdEiMkJxgaGxwSPh8BX/2gAMAwEAAhEDEQA/AP8AP4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO683Lxr9G+9HNy8a/RvvQOFA7rzcvGv0b70c3Lxr9G+9A4UDuvNy8a/RvvRzcvGv0b70DhQO683Lxr9G+9HNy8a/RvvQOFA7rzcvGv0b70c3Lxr9G+9A4UDuvNy8a/RvvRzcvGv0b70DhQO683Lxr9G+9HNy8a/RvvQOFA7rzcvGv0b70c3Lxr9G+9A4UDuvNy8a/RvvRzcvGv0b70DhQO683Lxr9G+9Cf6ONv/qt7/o5P6oHCgd15uPjX6O96Xm4+Nfo5P6pLHCQd15uPjWy2fR3vRzcfGr0d70WOFA7tzcfGtv4b70nNxf8Aetkt+jve9QscKB3bm4eNfo5P6pObj41+jveixwoHdebi371v/Dfejm4+NXo73oscKB3bm4+Nfo33pObj4152fR3vRY4UDu3Nx8a/RvvSc3Hxrb+He9FjhQO7c3F/3ra/6O96Obh41+jk/qixwkHdubj41+jvek5uPjX6O96LHCgd15uPjX1fR3vS83Hxr9G+9FjhIO7c3Hxr9HJ/VJzcfGtls+jve9YscKB3Xm4+Nfo73pebj41+jveixwkHdubjfZ+tfo5P6pObj41+jk/qixwoHdebj41+jvejm4+Nb/w73vULHCgd25uPjX6N96Tm4+NXo73oscKB3Xm4+Nfo73o5uPjX6O96LHCgd25uPjX6O96Obh41+jk/qixwkHdU/wBHG2z963S36O96Xm4+Nb/w33oscJB3bm4+Nfo33pObj419X0d70WOFA7tzcfGv0b70nNx8avR3vRY4UDuvNx8a2v8Ao73vUObj41+jk/qixwoHdubh41ejk/qk5uPjW6W/R3vesWOFA7tzcfGt/wCG+9HNx8a/RvvRY4SDuvNx8a87Po73o5uPjX6O96LHCgd15uPjV6O96F/0cbP/AFWyW/R3vRY4UDu3Nw8a/Ryf1RzcPGv0cn9UWOEg7tzcfGv0d70nNxb963/h3vRY4UDuvNx8a/R3vRzcfGv0d70WOFA7rzcfGtls+jve9Zebj41+jfeixwkHdubj41+jvejm4eNdln8N971Cx3MAFAAAAAAAAAAAAAAAAAAAAAAPpCuGH/LI+Z9IOjC/RJIqK2+QRfXISdxxcyqIr75FVfXIk3cvFwFr+wiriXdLeFzcd8rt7QNW4uwiK26Re+zImTsBLW3SKi+uREydip5XAW+uRFX/AKkyLxci+V0Aqr65EVX3SLxci5uwBVfdItvxYSLoq7GuLARFbdIiK26RUydiJk7AEX1rlvKi+uRE8rr/ADHFwKq+uRLX/wA0txV8rkTN39gBVfdIqq+6RFzdirm7AS3F5JFRW3SHfZsEydgIitukLW3y3hNa5wuTv7QFvrkFX1yHF1LxcCKuFd8gqvukF6Ku4XN2Aqq+6RbcXYZXN26jXfZgZhXDDukW1vYSHowuxZOBLfXIIvrkVPK5E8rgVV9ciWvvkVfK4m7gRVxLulvKqvukTvldirm7AW3F2GUXEm6W4132fmMp0kdvYBbW9gtbfISccXAi/wA5Ft9ciL5XLN3AWv7CRLhXdIq5uSLoq7AVVfdIW/Fgm7DiARW3SIi4U9hUydiQ9FHAWtvkW31yJxdS8XAlr75bgqv7Ambv7BNwKqvukLcS7pBc3YnfK7AfMAG0AAAAAAAAAAAAAAAAAAAAAFR0NQ62rDhXozJB0vaWGzVRmMyLfdhV5i/ZV9oYbmcYepyKl9+FX2i37KvMl17OXD1OAvvwr9oYtZcKtMXXsMOsrN7QF9vRX7QS27CrbRcOtkRMmYCYrsKttFv2VfaImrczFw9TgMWyr7RItbZV0zLh6nIur1OgFsi2VeYvvwr9oL5HGG9gEWtfhVpjFrdFeIXNmHfZAEtuwq20L7sKttBLLmYYbmYAluyrrmMWyr7QSzqdRwcBfs5zGK/Crz3Dg4TNn9gDFfhVphbb8KttBdW9mC5swDFrdFW2glt2FW2h32TBNW7osAvuwq0xfdhV5hNW5hhuZ/aAv2VfaGLZV9oYepxwcCRa2quFftFW2/CrbQXV1VYKsN7MAW2/CrTLi1uiv2iYb2YtsOtkBIdbVTDlMX3YV+0IeijMJMAxbKvtBNbZV5jD1OE1epwF+yrzGK/CrzGHqcLmzgMWsuFWmFtvwq0xh1lZgtl7MBb9borxM4tZMKttbjXfZGcOsjN7ALiuwr9oX7KvtDDcw4OAW3ZV9oX7KvMcHHBwGK/CvERa2quFWmVc2JEsOqrMAvvwq20MV2FftBc2YW7gCW3YVbaCW6qYV4hLLmYJ0UYAmtdhV9oYtlXmMPU44OAxX4Vee4Yr8K8QmbP7AubAL78KttBExLumFsvZh3yswHzABtAAAAAAAAAzSRwwQ2xMq6t196lVYkhVUhtWy5LbLVkfyVikplgTWoEhTXRbe6a19rHHX1eXjMt4YcUv7AfKCOmWKyKgSjhzi7prWeQ+p0wz4ouPozMTHQABpAAAAABuD4utLAuGH/LIJalmHzkhWLVTDlMyrSK2+Qt9ciWrdhzXMWxbOcyAivvkW31yMosV+HOZbYtnOYFtf2EVcS7pbwqxX4fOS2LWXDlPeBu3F2ERW3SJbFrdHzhFiuw5TAWtukW31yMosV2HKZbYtnOYFt9ciKv/AFJkLYtnOZFWLZzTMDVvrkLX9hLYtnOYVYr8PnARK+6RbcXYZVYr8OUyoq7OUwKitukEVt0iIsV2HKYRYrsOUwCL61yKi+uRlFi2c1zLbFs5zAqr65EtffLcLYtnOZLYr8Oc9wGrX3SCq+6RFWK/DlMKsV+HKYFtxeSQRW3SJbFrdHKYRYrsOUwKitukS1t8t4RYrsPnIqxXYc5gat9cgq+uRLYtnOYti2c5gIlwrvkVVfdIyqxaq4c5lVYr8OUwKqvukW3F2GVWK/DlMYtbo+cBCuGHdItrewzCsWrDhymVFiuw+cC2+uREX1yFsWznMiLFs5zA1b65BVffIlsWznMWrfhzTMAq4l3SKqvukZVYtZcOUyqsV+HKYGrcXYZRcSbpbhbFrdHzkRYtZMOU9wGrW9gt9ciWxXYfOLYtnOYBf5yLb65GVWLZzmW2LZzmBbX9hIlwrukLVvw+cirFfhymB/DpnTujNC1eGs6Wr8FQq9LF83gpae1IYqVUVdVLM7IVP4dGct+TOlq7DUdHaaoK3XKZFWiq9DascaQpaq8EVT922K/DlM/B0roqu1rlNonSVDDCtW0T86+drFHqxolNRpDBqpniOmMYzHVJt++itukRFwp7AixXYcpkhWLVTD5zmrVrb5C31yJbFs5zFq7OcwFr75bi2v7DNsV+HOe4tq34fOBVV90hbiXdIirFfhymMWsttrAfMAG0AAAAAAAAD501H3WFE1rLIkim2R9AZyxjKKlYmuoADSAAAAAAWFLYiG4EnZ5STI0mTtMkCYUdphNW5mmSGzVRmMq1J3mETe8yYbmeYu6nmAsd3mWze8zN17PMuHqeYCx34izErtPeMN7cQurrKzT3gWzFnxCZO0yYdbLiE1bmaYBE6LtMqJveZnDczTLh6nmBUTe8yKm/pJmLup5kXV6nTMDVm95ksd+Iw+C8xhvbiAiTCrtMtmLPiSLVvZhh1suIFRGdpixnaZE1bmaYw3M0wCJvdc95UTe8yJq9TrmMPU8wLZveZLH3z3C7qeZMN7PPcBqx3aYVHdpkXVvZphdW9mmBbMWbTCIztMmHWyaYTVuZpgVEZ2mSxnee8Ybm4jDczz3gETe8yqm95kw9TzGHqeYBeir8Sqju0zMWrqq3Eq6t7NMCqju0y99nxMrq3s0y4dbveIEgTCjtMtjPxMw6uqjNMuG5gKib3mRE3vMXdTzCavU8wKqb3mLHd5kw9TzGG9nmAsxK7TKqO7TJhvZphVhvZpgasxZ8TNmJN09ww62XEiausjNPcBqxn4hE3vMl1zcRh6nmAVN7zLY7vMi6vU8xd1PMC2O/EkSYVdpjDf0eIi1dVWaYFXN2mLN/EmG9mmMNzcQKiM7TInRR+ITVuZpiHV1UbiBeLzFm95ku6nmMPU8wFju89xbHfiRNW9nnuC6t7cQKqO7TJZiV2mF1b2YYdZWaYHzABtAAAAAAAAAAAAAAAAAAAEQ+iLF1eckKWQruN99mZsZRVuZuskKxaqMxpMnYkPRR+iRRFiuZxbF1P1hMncqeVwMosV7OW2LqcTdy8XAiqt7eclsWsrMVc3HfK7ALYtbIIsVzMa77MiZOwGbYrmYtsXU4TvXYqeVwJbF1ORVi6nQ0nlckXldAFq9ThVivZusq+VxNwIqrqqzC2LqYRZuxe+zYCIsVzMEWK5mKmTsRMnYCIq9TqW2LqcQ+V1/mOLgLYupyWxXs/sNL5XJN3T+QBVW9m6wqxXs3WFzdirm7AS1dbJgixXM3WXvs2CZOwERYrmIqxXM5pMnIuTv7QFq9T9YtXqfrHFyr5XAzEsWqrFVYr2YL0VdwubsAVVvZusWxa2RVzdi99mBiFYtWFmLbFcwh6MLsEycBbF1ORFi6nNJ5XJxcBavU4tivZy8XJN3AlsWsrMVVivZusd8rsVc3YCWxa2XnIixayM3sN99mZTpI7ewAixXMLYup+ssnCeVwMqsXU5bYupwvlcvFwJbFexIlXVVmNLm5IuirsAtivZhbF1ecq5uw4gRFiuZiQrFqoxpMnYkPRRwFq9T9Yti6nKnlccXAzbFez+wqrFewTN39hVzcCKsV7MLYtZbZStKubsO+V2A+QANoAAAAAAAAAAAAAAAAFRMKrJPORENLdCuGFtq/1EkbVHdplsxZ8TCq+GFtrsLb4MP2uwyqojO0yQ9GF2mRFbDC212CFcKYYW2uwDUneY4vMymWGF9rsKmtswvtdgBM3eZeLzPyq3p/RlSiWCmrMC0iRX0dDbTxoslsS4/kh5YaJWKxYo4UVelFRrZ5i1I9BY78SKmJXae8/mqlfq1dgWOq01HTonSSGPFDvhVLUPuq4lwwttdhB9LMWfEiIztMluLow/a7CIrYYW2uwC2dF2mXi8zKK2GFtrsFvgwvtdgGuLzIvldMyW+DC+12BV8GF9rsA1ZveYXN+JLfBhfa7CKr4YftdgFiR3aZrvs+JhVfDC212FtxdGFtrsAqIztMiIztMiK2GFtrsCK2GFtrsAqeV1z3ls3vMyi+DC+12C3wYX2uwDVm95ksd3nuJb4ML7XYLXwwvtbuoDSo7tMKju0zKq+GFtrsCq+GFtrsA132bTCIztMzbi6MLbXYEVsMLbXYBqTtMknee8lrYYW2uwWthhfa7ANWb3mLN7zM/wDLC+12C3wYX2uwCqmFXeZVzdpmVXCuGH7XYFV8MLbXYBpc3aZbMWfEwqvhhba7C24ujD9rsAQphR2mfh6Y5R0NQi7hQQpTVpEsiRV/sqBZLY69R/RpvSK1DR2vBqpTUv8AY0C22rDEvfeRDnyqq3raqreqreqrM8v4hvZ0vsYd3q/DtjGt9vPt/L9Csac0nWIlWKtxwoq2pBQRdwhTqSw+VHpOv0cWtBXKZF66RYoeCn6+huT9R0rVUWGvLBXIb6xQJDrQwQW3XXZZ2n7mkuT/AHWmrVa+bQU6dwhotH0NEupSd1S22KJLr7bM2Phw2241MeZxfvb7891t9PLl8P7U/I0bysjRUo9Iw68Cr/tNGlkcPXFCj+Q9bBHDSQJHRxa0EWKGKFbYYoZnLY4I6ONYI4VgjgXVigiTVihikqHpeSekokpItHR2LDEndKtrL0Yk6UPrXid9jvsuLl6kvn3+wx4Obpx+b11mJXaZVR3aZhVxLhhba7Cqr4YW2uw9t4bffZ8TKdJHae4W4ujD9rsMouJMMLbW7qA3Yz8RZveZlFbDD9rsFvgwvtdgF4vMtm95mLfBhfaLb4ML7XYBqx34kiTCrtMlr4YftdhFXCuGFtrsA2qO7THHiZVXwwttdhbfBh+12AVEZ2mROij8SIrYYW2uwIuFMMP2uwDSIzvMcXmZt8GF9rsFvgwvtdgFsd3nuLN+JlFfDC+1u6ha+GH7XYBpc3aY75XaZlVfDC212F75bYYWyW0D5gA2gAAAAAAAAAAAAAAIh9ESydtpJmgRLOMhEuGLdIvF5Ei6MTtIiiq+6RbcXYFzdpDvs+BARW3SJCuFN0ipk7SJD0YX6MgKitvkeE5RcpqWsRxVKo0iwVWFdWkpoFsirK5oi5Q+s9HymrsVU0RHFBEqUlOvzaBWVNa21fs2nNSxCNUdHHSxw0dFCsdJHFqQQQvFGtyIh6flByU/Rui6GtUVscdFDqaRVL07pE0adVq2cOs/q5C6G7rSrpWnh/s6Je5VRF76l76PyNxke7pqKjp6GKgpoNaipoVo6SGJooFdDQ4rQ09LV6VKagpIqGlgvhpIF1YkOg8ndP8A6TooqKnshrlDDbGkKWQ08G2n8zxOmdF0ui9IR1SO1YYV1qCkX/zKFejF8Z2ny0bXYqjX6OtQxWJRxY7O+ol6ScLSTFjrFuLsCK26Q77MJk7SMqiK26RUX1yJJ2kXi8gIi+uQiX1pkXi8iL5XTIC2+uRLX9hbd7yCq78AJEr7pFtxdh+HpXlhye0RWlqWktLUVSrWolL3CmtSPucVti3J1H8sHyickI40hTlHVkVbkWOk7jDb/miSxDVSW9KitukEVt0j4U9eq1WqUVfp6eGCpUFGtZpaymOhhq6Jasdqd7Zfafx6G5R6G03r/onSNHX1qqJ84SgW1aHWt1VVFTPVi4EqR+mi+tct5UX1yPytL8o9DaE7n+ltJ0dQ+cxRfN0rC2LTavSVESWvDxJW+U+hKjo6g0nW9JQVfR9fVPmdapbUoqxrIsUKw3ZwoqipLfrKvrkS198tx5j9o3I7/ENXea+w/c0dpTR+lav860bXaOv1ZYtXu1VpEp4EiuwqqMvUJiS39FJT0UFqR00MCqlqJGuqqpO8+iq+6R5rlL/tEH/t57z9HTHKHROhKOji0tpGCoQ1m2GgWnuSlihS9EsTrQ+LQ3U6mvqaVfdr93bPSjHDHO+79S3F5JERW3SPMftH5Ha394au019h/Zorljye0vXIalo3S1FXa2sK0qUFDasawQut6H21LjcP20Vt0ha2+W8Jk/ASd5EC31yLb65Et3vIvF5ASJcK75BVfdIRdFXeRVzdpAFV90i24uwi5u0i24s+AHjuWNIq0tXo+9hgWOxr1sT/AOp5k9Xywq8S0VBWUt1YbaCNbGtsWH1RHnahQ1amrcNHWqf5tQRdOmstVJWeU/M7/GZ3Mx5p+o+H5xG2ifFvW8h6ulHVKeuR4UpIu5pFFciQQXqvGJeB/ZojQdfqek4q1SV6Glq1LrUkVHBaiUtJGttuqtyO5v8ARqLyaWo6Kp4KfuiakNPFFgpUWL+0vTPpIfyclNE6U0fT0i1tO4VZYdWGh10pIY6W3pwoi3XW8T1dPDg5enwzNdbjtEvI1dTmczU4oi+lT3mH4PKynq1NphYqtEkerRpR01JBfDFSpbnndqn5+iqSKi0nQRo/doYfJEti+ZT+vlOlXTTVKlXsRLu66vR7vZis83ltPjoGrrWNK0MKQ2pRxd3jXZhgv9dh5GpeW66d7/t7OlWO069q/p0RVxLukVVfdIluJXaRVzdpH6h+VLcXYRFxJuluNd9nwMp0kdpbgLa3sFvrkLWfgOLyAlvrkVV9ciL5XkXi8gFr+wkS4V3SLa78CL0VdpAVVfdIW/FgXN2kOPAAitukRFwp7Cpk7SInRR+AFRW3yFvrkLd7yHF5AS198twVX9gm7y3Fm/ACKr7pC3Eu6RVzdpE75XaQHzABtAAAAAAAAAAAColrCFLTaatzcSSJZElmG+17S4tnPaC6tzPMYep5mVMWzntEit1YsOW0W7qeYi1dWJmALrX4ctoYtbo/iC6t7NMuHWy4gRNa7DltEh1tWHDltFTVuZpiHows0wPM8t0X9F0S6tyVi9bbe9iPCHUdN1D9IaLjq0NndV/taG//AM2G9E8tlhy9UiRVRYVRUuVFuVFkpqEdP0DpqopV6GoR0S6OpdREq1FSrrUFag2qKkaK3jbafv01PRUFEtLTUkNDRwJbHSUkWpBCk1VTnPJXSFWrEK6D0pRw09UrC21Tuv8A5NOveove223WZ7z09JoGo1SjirWk63S12p1JO6VegrsfdKCrQp1d+uSW9SFHm+WOk6vpGChjq9WiSigiihoK/S/2KVmHvoaOBb4oWvPJRdFT9DTGlKXSdfirUeGHoUFDlQUCdGHzm9BaOi0hpKCi1baKBe71hckoocvKwHTKFI0ooEihxJAiLizNpbdhy2i235cSJq3M0zCpiuw5bRU1tnPaF1zMLup5gMWzntEXW2c9ot3U8yLq9TpmBcWzntBda/D+IXdTzGG9uIHAflSq8Fa+U2r1Wmt7lWoapVaVIVsi7nSRrDFYs7IlPQ8sfkp5N6J5OVvSVWpqxVKxUKGKs0C1isJTUNPSw9GhWFUvWJbkszVDzfysVZa38o1HVIYko4q3RVaqQ0lmslHFSRLCkS7tY+2mvkY0tUNG01eg0xQaQiqNHFW1qvcoqCOOCBLYtSJVVNbVtO0doYeq+RCs1is8nK1UqxbT1Oq1juNWgpVtgggjhRaSiTqtW2zwjyuikj+Tz5TfmEcSw6I0iqVaCKKLCujqdf7CNVnBSJqqq5JHM9l8jGnaGv8AJ+k0YlUoqtTaGihSkiq8OpDWqKmtWGmjt/8AMVaONF3IzGPls0NV6zyao9LrZDW9FUsNFDEl60tXp1SGKBf+bUXyLMn4qX5PI6Vhj+UL5Tf0fBFFFojR0S1aOKGLCmj6Bf7eNFyWKki1UVJwSPTfLnAkHJqoww0aQQQ19IYIYejDClFSWIiSP6PkT0NV6tyaj0ulkVb0tTRUUcS3LQ1egVYYYE/5tdfKkj4/Lt/dyot9IZf+1SD8VFdH8vJT5KuTml+S9U0lWoaylZr1AlPTUlDWO5QJGuaQqioh535MVpdGfKTTaKqFOtbqEa1ipVimgWyjrFWoLVoqdbLlXWhhS3w1scaC+SHSGmtCVfSdFpyioKLSFElPDVqWhijWCFe9VUX+R/R8mNaj5M8uabkxpCpUMVarcUVR+fUWKmoaWiRY0hhj/wDxRQwW2WItur5L56jqXKX/AGiC27BO3M+nKfkdovlRRUMGlYaVYaiqx0Hzam7gutHYi23X9FCcoqKOOsQLBRxRIkFirBDrIi29R6HD1NM8PZxMbzXn8n2a0xOjhH5v828r+S2jtEcvKtoGqQ0iVCsx1WClSmpO6U9lPHqx2R5XHZeT3ycaB5PaSh0lo6jrCVqGCKgRaesd2o9SOy26zcc0+Ub/AHsVH/3Khu/1p3jDczTPaymah8kQYrsOW0S+7DntFTVuZpjDczz3nNRNbZz2hi2c9oYep5i7qcCLbqrh/EVda/DltCLoq2WYXVvZgC61+HLaGLW6P4gurezTLdrZcQP5a3VIK7U4qtTQ4KSGy1FvhiyiTrRTnleqNYqFYWgrENkTwRp0KaDaQ6ZDq6qMx8K3U6tW6JKGs0UNJA6WrZFCs0VGU+HebKNeLiayfdst7O3mpi8ZeMqenoaNapR0tAqVfRqxUipQRWx09JEl0Vi9cSqfCscoNJ0scaw1ykgoqSJYoaOFdXUgVoUV0P2axyOo1itq1bWjS3oU8PdLP+ZLD5UfI2PW/tK/CkNtipBBbEvFTzctvvK4P49np46+yvj/AJ93mESKKJESFYo4lsSFE1oooly61PdcntDrUKvFS00P/iafppb/AKmjyhtnf8WH9OjtCVHR+Kig7pTN3eli16Szql5D9FdW9nmfZsvh/Knjznq+Pe/EObHBpxUfymK/DltFXWvw5bQXNmTMLmzHqPKMWt0fxETW1kw5bW4132XEiausjNPcAsW7D+IYtnPaF1zDg8wJi2c9ot+zntBdXqcYep5gMV+H8Qit1Vw5bQw3txEWrqqzAL78OW0L7sP4hhvZpl4cQImtdhy2iJraqYfxFTVuZphNXVRuIBNbZz2hi2c9oYbmeYw9TgRLb8Oe1uLffh/EMN7PPcLr24gF1r8OW0E6S2wq07QurezDDrKzTA+YANoAAAAAALYXUfPzAREtNIlkSZ2paxcXx/2JbFrJu9nUZtWkVt0ha3sIixXbvjIIsV3x/IgWtvkW31yM2xXb/jItq+f4yAtvrkSJcMW6QtXz/GRIli1Yt3xkBpVfdItuLsMqsV+74yFsWt8ewCorbpGUishh3SKixXbvjIx3sO4o1r/Fh5jlByZ+exxVuo2Q1mK+moFwwU67SLlEekLD0i1SOS01BTVal1KajioKWFbdWNO5Rosz9fS/Kat6TqFDVKXClCltZjRf9qpUaJfJZ5fIdCpaKCmhWGmoYaWC3o0sOvDwVD+eHRej4ItaCoUEMVt0UNDCip5ha05zo7Q1c0jGiVehXuffViNNWggSdue5DoWiNEUOi6utDQxa9JEmtT06pZFTR38E6j9C2LVVMkZMk8xFVdZd3xkSxu3F2ERW3SJaut8ewIsV274yIFvR3SLb65GbYrt3xkW2Lz/GQFt9ciKv/UmQtXz/ABkRVXzp8MBq31yCq+6RLV8/xkFWK/4/kBxX5S+THKSu8tYNLaH0XS1ujq1FQR0NZokhWjSs0SrFZYq32LYfzaRrPyvaWqcejqxo6lhq9bg7hWIaGhoaqtLQxXRQrHbhRUO5KsV+74yLavx/2Nxn6JTxPyZ8i6bkrouk+fUkEWktJRpTVmGgXXoqvRQXUdFrd8qa0a2+F1Wr9vlO0ZXtLcjaao6Oq0VcrcdJQxwVeh6cUMMcKxLf1Ip7BFiu3fGQtiu3fGRLm7PR5D5MNGV7RPI2r1HSNWjqlboqWmjjoKbpwwxUkSwrd1Kh+Z8r+hNKaa0HVaDRdSjr9NQV35xS0VBZrQ0Xc401r1nEh0FFXzr8MW2Lz/GQ4utnycL0bWflZ0Vo6i0bUtF0lFVKnB3CrwxVaipI4IEZFiVbz9f5POQGnKLlGvKjlPbQ1qiijpqCgp6RKeu1iuUqKkVLSai2QwpDHFYnWlyWHXbYvP8AGREWK/f7OovHPgpq190gqvukRViv3fGQVYr93xkYVx7lxyW05pD5SappOpaMpaxo+hjqkVLW4LO4wQ0VJbSLettyHYrW3SJbFreT4yCLFdu+MizNwQqK26RLW3y3hFiu+P5Etiu3+3qIKi+uRbfXIlq+f4yFq+f4yAKuFd8iqr7pGVVdVfj+RVWK/d8ZAVVfFlItuLsM2xX7vjIWrrfHsAQLhh3SKit7DMKrqw7vjIqKt3x/IC2+uREX1yFsXn+Mgixef4yAtvrkLX3yJbF5/jIKsV+/4yAW4l3SKqvukZtiv3fGRVWK/d8ZAatxdhlFxJuluFsWt8ewiLFrJu9nUBpFb2C1t8iIsV3x/IWr5/jIAq+uRbX3yMqsXn+Mi2r5/jIC2v7CRLhXdIWxX/H8iRLFfu+MgNWvukW1t0jKrFfu+MhbF8f9gKitukRFwp7AixXbvjIiKuqnx/IDVrb5C31yJbFdv+MhbF5/jIBa++W4qq/sM2rfv9nUVViv+P5AVVfdIW4l3SIqxX7vjIW4ltlleB8wfSFIbsKMEyZjVlMWKXUi/kakwTyOpLKZ1N5rV8FXHBxwcBZ0n4lVHdpkmwXNmILZv4kRMSO09xeBE6SM3sAqZO0wmT8SJkzCTALGd5l4vMkmccHAtm95ki6MTtMcHEXRiZgKubtMtmLPiZVHZi99kUERnaZhUwwu280mTMIejCzAYsCJiQ3JnHBxZQiO7zLxeZJs4VbO9R8iBY78TzvLnSNe0bycpa1o6n+a1zutXq1HWFo0rCUSUtNDBEupFcuGNT0OvDfhc8n8oy28l48Nltaqaf8A7FGdNOPtR0Sez6fq7yyy5cKqTTQlCv8A9ifq5y0/xsrfUlD+Y9vQLbRyvX1n1NcyfT2geD/Vzlpd++y/clDd+Iv6uctP8bL9yUP5j3YHMn09oHhP1c5af42V/qSh/MReTnLT/Gyv9SUP5j3gHMn09oHg/wBXOWn+Nl+5KH8w/Vzlpf8Avsv3JQ3/AIj3gHMn09oHg15OctL/AN9lW76kob+rpF/Vzlp/jZfuSh/Me7A5k+ntA8J+rnLT/Gy/clD+Yfq5y0u/fZW+pKH8x7sDmT6e0Dwf6uctP8bK/wBSUPHpF/Vzlp/jZX+pKH8x7sDmT6e0Dwn6uctP8bK/1JQ8ekT9XOWl/wC+yv8AUlDf19I94BzJ9PaB4P8AVzlp/jZfuShv/EX9XOWl/wC+yt9SUP5j3YHMn09oHg/1c5Z6399lZ/0JQ/mH6uctLv32X7kofzHvAOZPp7QPB/q5y0u/fZfuShu/EP1c5Z3fvsr/AFJQ8eke8A5mXp7QPCfq5y0/xsr/AFJQ/mJ+rnLT/Gy/clD+Y94BzJ9PaB4NeTnLT/Gy/clD+Yv6ucs7/wB9lb6koeHSPdgcyfT2j6Dwn6uctP8AGy/clD+Y/lq0fKPRnK2o6N0lyg/TFU0nQVmmjovmFHo2KjjoEg1V1oFVV/1nUx0U8Lp2L/8AkHQ+FqvX/LdQmscpympr5/KPCPUQphhdplsZ+JiGKyzCyWF12wscKlpqze8yIm95hFt71HCeRyC2b3mLHd5k4PMTZ5gF6Su0yqju0yLmzJmFzZpgasxZ8TKdJHae4vfZcSJ0kZvYBZPxFm95kTJhwcAqb3mWze8yL5HHB5gWx34kVMKu0xNuIXoqzAWx3aYs38STZi8OIBEZ2mSFMKPxCZMwh6KNxAtm95ji8ycHmODgJu89xbHfiSbPPcJtxAqo7tMlmJXaYXNmmO+VmAIq6qdFgixXdFgmTtIqKztICWxXdEiLF4LqatZ+BEXe65ALV8FxbF4Ll4vIWu7yAzbFf0SqsV/RYW9J+BVV3aQEti8ElsWsnRb2G5vwM98jtLcARYruiwtiu6JUydpBMn4AZtiu6LltXwXC5O8i8XkBLYvBckSxasXRY1bveRIlwxO0gCrFf0WFsWt3pVV3aRbcWfAoyixXdFiQrFqp0WNIrO0iQ9GF+jIgWxXdFxbF4LltZ3kLd7yAzbFf0XJEu58jVru8iR/z/kWO4weV+UX+68f/ABdU/wDk0Z6o8r8ov914/wDi6p/8mjO2n96GZ7Pd1f8A1Sb1PqfKr/6pN6n1Ocqh4GoctOUulq1XoNEcmKvWatobSFNoOKnrGlPmkdLS0CpbFqdzWxFSKFXPfnIORul+UNRrWnKPRHJddOVeLlBXaSkrSaQo9G9yprYUWj1I71uSFbevqOmnF309/wDoSXRdB13T9ZipE01oeh0XDAifN4qrXf0l3dVt1rcMOrZh4n9FTrWkqXSdbq9a0alVqFVWj/RmkEp4aZdJpFDbS/2aX0erFYl72mNB13SldqcVNpbQ/wChKyka0cNUWtQ6R16JESyk14LktVVSzqPx+T2ka5WOWenqnT08VJVdHx1SGpUES20dWhpKBIo9XfFeSYu+ivWA8ZyuiqdHpGCLSvLiPk3U4qJEq+jarT0WjKesU6KutTLSxosUUNiwJYliJZnafzfJ9yhj0hpHSmiE0x+sFR0LSUEejdMxLBS0tZq1YgVVgijo0RI1hjgjS2wcueHiLesXTFTTTcOhFjX9IUlWXSkNHqLqLVYYkhVdZrdaKG4/QObaR0NS1n5VoEh0xXat3bRMdbRarSQQLQQw01GncIbYV/s1dUW+3PI6UTKKofCs1ihqtWjrVZpIaGr1aBaxT01IurBRUUKWxRKskRFPF1bljyl0pVf0noXkj850RHjqVJX6+mjtI6SoMqSjoVhVIUXLWVLUsmfq/KGqpyF0rZ//AEKZPJqqahrle0dybqUWi9Cx6Yj7jRUPzSrU1HUloaHU6dtIqJZciWdZrGIq6tH9vJzlBU+UGi4NI1OGOjhiiioKerVmHuNaqdagWykoaWDvYkU/WPL8jNLVbSUFe7joNNA1mq16Og0nVUWjiip9ILDDFHTRxUV0US60N99th+Vyjj0dR6Xpf0v8olLoVYkhjqWianWqHRa1Oh1UvjSJFipFWJIltW6+yy4k4far/Y96fnVXTNSrelK1oqhjiWuaISiirsCwrDDAlOirR2RZ3QruPwfk607WdM6Fpoq1XIdJR6OrtPoqj0nRwpAmkqvRRf2dPZDdfBFCx+Jyd0NSftJ03H+mK5/4T5lWYoO6QalchpIaRUoqXDfBCyWWLY6qODvfy+o6UDxHL/lJFoyl0foqHS0GgE05TRpW9M0qQ21HR9BDrUiQLHhhpIlio4UVbbNZj8nQ3KWq1PlXUtF6N5XfrTo7TcNLQU9DWqzR1+u6MrlHDrwUsMcCIqwRJDElistlgjSmYst04h5PSVeruj+XlQgirMa6J05VabRyVVf9moNKUVlJBSdUUVGlKnkPxNEcp9KU/L6l7tTKvJrSdLT6A0PR6uGDSVSSFaSO2USpW069ROq1GnMx+626QQ8nyQr1d0ppPS2kqWsxx6OSurorRNViX/w9FRVVEhpaWCzape6Psn4+naXRlHpWnTSnyl0uia1r61W0dVK3QaOg0bQ2IsMEdHEirGrrbE6LkTg60OiFPJ8gdMVvTvJOirVfrMNarSxU1Spa9VU7hBW0oo4oIaaFEuhVYYYVuzPyNG8rK3orkTpGm0tTrWtMclKSm0ZWKWn/ALOKv1lF/wDCRf8APDS0HEvLm6S3Qwfk8marXqpoCq1fSlZirmkYKGFa/WKaLukcdaivjS2SRKqJ1Ih+sYlQ8Hp3/eDoj/hq/wCqiPeHg9O/7wdEf8NX/VRG9Pv+kpL0wAMK1B5HzKir4LiD+eRU8ryMz3UtXwXFq+C5bd7yFru8iDNsWsvRYqrFf0WCriV2lvKqu7SAlsWt3pLYtZOi3sN99nwMouJHaW4AixXdEWxeC5ZPwHF5AZti8Fy2xeC4XyvIvF5AS2K/okiVdVeixq134Ei6Ku0gFq39FhbF4JVzdpFt38AMosV3RYiLFqp0TSKztIidFH4ALV8FxavguVFZ3kOLyAyixX9F/YW2K/oi13eW4s34AS1b+iwtxKzFVXdpEtxK7SAQ5O0yojO0zKJFqp0WKiRXdFgLJ+JE8rrmESK7okRIvBdQNJ5XmOLzJYvguLIvBcBZ0naZVzdpmbIr+iWxb+iwGlTfxM98jtPcLFv6JLItZOi3sA0mTtMJk/EiJFd0WFkV3RALk7zLxeZmyK7ouWxfBcC2b3mSLoxO0xYvguRUi1YuiwGlR3aYTpdFeJFSK/osLItbvSipk7TJD0YX6MwiRXdFiQouqnRYg0mTvMcXmSyK7ouLIvBcAmbvMkflcWRX9FyRJufIsdxk8r8ov914/wDi6p/8mjPVHlflF/uvH/xdU/8Ak0Z20/vQzPZ7ur/6pN6n1PlV/wDVJvU+pzlQ8jyF0HX9D/pb5/RJRfpTTdZ0xUtWNKTulSpdXUiWxlwrct560FielCnltBaHr1U5W6b0lWKJIKnpeOqx1CkSNI1poaKhSGkthS+GyJMz1IETQ8HW9H6c0PywrmnqhoZOUdW01Q0NBDDBWqOpV3REVAiosEKUtiLRxayLcttttx9ORuiNO1flNpnTWmqlRVH9OfNIqrQ1WsfPaOCGhgihWDWsRbURYLVsRFW2y689wDXMmqr0Snj9O6N0xV+VtW5R6KqNHpSCGpx6ErtTpKwlQpqGjjjhjhpoIokVIugtqXZHsADMzav4tLaOodKaLrGjazb830hQx1OmWBbI0o6RFRVRZ3nitHU3L7QlQotCJoCrad+ZwfM6pp6HSKVCrx1eC6jjrFDGixJHqpDbq61q235nQSlxyrpVjznI7k7TaC0bSQ12sw1zSmlKzSaY0tWaKFYKvHXqZ4aNFaBIYYUTdlbYn4FRqfKTk3pTSPzPk7DygodNV2PS1X0nBXoKlTUUNJZZV6dKS9IYbFRFh1rsjoQEZ9esdx4/kBofS2iqlXk0zQ0dDXNIaUrGldWq0nd6vFR0yoqRQq9ltr2L1ISj0ZpfRvLitaTqtSgr+i+UUFXoq3TfOEq1Y0VSVZIodbuap/aQqkaMtp7Eg4+sz5Hl+Vug6/W6xUdM6GhoqTS/J6mjp6CrVyJaGr16qUsOpT0GunQiWGyxbFRFRD6aH0jynr1ehWv8nqLQejqOBe7LWK7DpDSFPTrZq9ySiwwwJZFaqratqXIekKOLpVDy/LvQ9f0noWGPQ8MMWmtFVmi0volKWLuUC1miivhVZLBFSJ12n5Ne5HV6r8g6po3RVkentAxUOlajS0kWrBT6Wo4tamWJVVo9enRbV75T3oLGpMRX6lPxeSWhV0Hybqmi476eq0KfOo0XX7pXIsVNHbnbSRRqeY0NVOU3JuOs6Pq3Jqi0tBXa5TaRotNQV6Cpw0/do1iRa1DEmtrJrIlsKRMdCISM5uZn5jy3yf6I0lojk5DUtLQQUdf+cU9Zpkq8WvQr3WliiSKHqVIkuyPNaf0LHWvlNq1Sq9NB8x0pRUXKDlDU0T+1iXR8SpV44vBijpKFP/8APqsOnH4eheTFW0VXaxpFa3WNI6Q0jqwU9c0lSpT0tHV4LdSgo0RESCjRYolsRL1VbbTUanWckp+6ADmoeD07/vB0R/w1f9VEe8PB6d/3g6I/4av+qiN6ff8ASUl6YAGFbg/n/IqeV5mYPI+ZURfBczPdWrN7zFju8yWReC4siv6LkCzErtMq5u0zKpFf0WKqRX9FgNd9nxMomJHae4WLrd6SyLWTot7ANSfiLN7zIiRXdEWReC4BU3vMvF5mVSLwXLZF4LgWx34ki6Ku0xZFf0SRIuqvRYDVju0y2b+Jmxb+iwsi8ECpk7TInRR+IRIruixIUi1U6IGrN7zHF5ksi8FxYvguAm7z3Fm/EyiRX9F/YWyK/ogVUd2mLMSu0yKkV/RYWYlZgCdFGaQTJmkEXCjtIqKztICSbgE8jrkW1n4ERd7rkA4OJs8i8XkLd7yAm0zBc2YW9J+BbXdpAOBE6SM3sLbv4EtxI7S3AEyZhJi2s7SFrPwAkmccHFrO8i8XkBODyEXRiZi8XkSJcMTtIAquzFTpZZZBVd2kLcWfACJkzSEHRhZpFTJ2kSFcKO0gEmccHkJO8i273kBJs5mPyPkaRXfpSJH5XzLHcYPL/KFR0sfJWk7jQUlZjgrFWp1oarRLWKeKjgp6OKKyCG9bIUVT1AOmM1lbMvNw/KLUYYbIdHaUsttS3Q1P+Uv7SKl9XaU+5af8p6S0WmuLDwVLzf7SKl9XaU+5af8AKP2kVL6u0p9y0/5T0lotHFh4Kl5v9pFS+rtKfctP+UftIqX1dpT7lp/ynpLRaOLDwVLzf7SKl9XaU+5af8o/aRUvq7Sn3LT/AJT0lotHFh4Kl5v9pFS+rtKfctP+UftIqX1dpT7lp/ynpLRaOLDwVLzf7SKl9XaU+5af8o/aRUvq7Sn3LT/lPSWi0cWHgqXm/wBpFS+rtKfctP8AlH7SKl9XaU+5af8AKektFo4sPBUvN/tIqX1dpT7lp/yj9pFS+rtKfctP+U9JaLRxYeCpeb/aRUvq7Sn3LT/lH7SKl9XaU+5af8p6S0Wjiw8FS83+0epfV2lPuWn/ACj9o9S+rtKfctP+U9JaLRxYeCpeb/aRUvq7Sn3LT/lH7SKl9XaU+5af8p6S0Wjiw8FS83+0epfV2lPuWn/KP2kVL6u0p9y0/wCU9JaLRxYeCpeb/aRUvq7Sn3LT/lH7SKl9XaU+5af8p6S0Wjiw8FS83+0epfV2lPuWn/KflQ6Zh05y30bWarUK7Q0NRq9chrVNX6hSaPoYY6VKPUTWjREW3UiPc2ktEZ4x2gqQAHNWoPI+ZpPI5IPK+RU8ryMz3U4OFzZy273kS13eRAmzBc2YW4ldpFVXdpAO+y4ETpIzewtuLPgRFxI7S3AEyYSZy2s/Alu95AF8jjg4XyvItu95ASbcAubMLXfgIlwq7SATZi8Aqu7SFu/gBEyZgnRRiorO0iIuFH4AODjg5UVneQ4vICTZ/YJsLXd5bi2u/ACLmzDvlZiqru0id8rtIAiRXbvjMIkV274zCI26ZURt0wIiRXfH8yIi+dfhzSI3tIietcwFkXn+MwqRef4zLZ65iz1zAzZFf8fzLYt+74zFnS9pbH3TAli/H/clkWsm72dZuz4tM2Yk3T3ALFu3fGYRIrvj+ZURt0xY3tAyqRXb/jMti+f4zFjb5ls9cwJZF5/jMkSRasW74zNWeuZIkwxbpgFSK/d8ZiyLW+PaVUfdMtmLtAyiRXbvjMkCRasP+X4zNIjbpkgTDD/lmAsW7f8AGYsXz/GZbG3zFnrmBlEiv3/GZIkXOZqx98yqngo5R8gfTVfCgWHEuFGLZT5g+mri6KBIWwowsp8wfSxsKXoNXwUcWU+YPpq+CjhYfBRxZT5g+mr4KONV8KCynzB9FhfCjBIU2UFlPmD6arYUYarYUYWU+YPoieCjjV8FHFlPmD6avgo4RHwo9nqFlPmD6LC+FGCwvhRhZT5g+mri6KMNVsKMLKfMH01WwoLGwo4sp8wfTV8FHGr4KOLKfMH0iTCuFMgsL4UYWU+YPosL4UYuri6KCynyB9IUthTCjWixsKCymYUXKZUSLz/GZqzwczK3Q+UneRbF8/xmLIr9/wAZmNZRrRcRRbSousu74zKqRX7vjMWYl3T3lVH3TIJZFrfHtIiLrJu9nWbsxdplExJunuAIkV3x/MWL5/jMqI3tFnrmBlUi8/xmWyLz/GYVPXMtnrmBLIr/AI/mSJIr93xmaVH9pIkwrumAsW/d8Zixfj/uWx90y2fFoGUSK7d8ZkRItVPj+ZpEbdMiJhT2gLF8/wAZiyLz/GZbG3zFnrmBmxb9/s6y2RX/AB/MWPvnuKqP7QIqRX7vjMWYltknUVUfdMWYl3TAkOTNIJq3MwhtuxZbITWuxZbIDDcwTV6nXIYrsX4SJrbWa96BcPU8hh6nGLaz2Ri2s9kBde3ALq3s0iX34vwlXWvxZbIFXV6iYdZGb2C/a/CTFrJiy2dwFTVuZhdc3AYrsWWyMV2L8IBdW5nkODyItt2LPZLftZ7IC7qeQi6MTNIX7WeyRdbVixZbIFXVvZpFw62XAi61+LLZGLa/CATVuZpCHV1YWYJrXYstkkFuqmLLZAuG5nkMPU8hfdiz2Ri2s9kAmre3SkLup5ES2/FnslxbWeyAXNhh1lZhffi/CTFrLiy2QNXa2XAiatzNIYtbpfhCa12LLZAYcLMMPU8iYrsWWyfKs1ur1Si7pWqzBV6O2zXp17lCq+Vwk5REXMvtd1OF1ep0PwouWOgYV1V0giqi3rDQUkUPFEP76npjR9fuqlfo6eK23ucN1NZ1wLeWpccdzpZTWOUTP5v7sPU8gubDFtZ7IvvxfhI7kWrqqzFw9XAi62quLLZCW7X4QCatzMMNzNIJrXYstkJrXYstkAnkdchh6nImttZr3pU1trPZAcHCat7P7BftZ7JEtvxZ7O4CzZpBdW9mkF1r8WWyF1r8WWyAw62TSCatzNIYtbpZbITWuxZbIBNW5uAw3M8t4TWuxfhJfdiz2QLd1PIXdTi/az2Ri2s9kBFq6qtwC6t7MFt1VxfhC61+LLZALq3sxbtbIi61+LLZGLW6X4QEHRhZpDDc3AkFuqmLLZLfdi/CA4PIi9HJ8i4trPZJZEsPSzkUYBrU+LBq/FhbhGsOsrNILq3s0iX6y4stkq61+LLZMquHWy4ESzWRm9gxa3S/CTFrJiy2dwFuuYYepxfdi/CMW1nsgLup5DD1PIi621nslxbWeyAuvbgItXVVmGK/F+EkWtqriy2QLhvZpFw9RMV+LLZGLa/CATVuZpCHV1UbgE1rsWWyRNbVTF+ECpq3M4w9TyF92LPZF+1nsgE1b2f2CbcCJbfiz2dxb78X4QC6t7NId8rNILrX4stkd8tsWSZWAIeijtMIjO0xCjbplRG3TAWM/EieV1zLY3tIietcwLxefWOLzFnrmFT1zAm0/Eq5u0yWdL2lVH3TAceJO+R2nuLZ8WksxJunuAqZO0wmT8QiNumLG9oEsZ3mOLzCo2+ZbPXMBxeZF6MTtMqp65kiTDFumBVzdpl77PiRUfdMWfFoBMnaZIOjC/RmVEbdMkCYYd0wCIzvMvF5ksbfMtnrmBJu8y8XmSx98xZ65gWx34k75Xae8tj+0ipiXdPeBe+z4hMnaYsxdpGsVbEREtVVW5EA/B5Tco4NDUENHRQpS16nhtoKKJbYKKD/APJF1dWZzCt12s12mWsVunirFNE8dKttiSRO9TqQ+uldIR6R0jS12KJbKaP+zRe8oU6EP2bD03Jav8l6voxYNM0VDHWu6RRItPVFrMfcrrMSQr1nSI6PyO43E73XnCc4xxjtfZ40qLFDEkUMSwxQrbDEi2RQrNFOy6P0byZ0lVErdT0bVaarxqsMNJ80ho7VR0siS3JT8OsaX5CRVeNKGhq3dIoF7mqVBYV17Llt1Lirn8KjCOKdWIvt6v4OSvK+ljpYNHaTpFjWlXUq1ciXGseUEa55XnuVzc4WiYTr/JvSEekdCUVZpItam1e408SrfFSwXLF5bEXymco+b7/g+9y1L0s5uY7P1YuirtMtmLPiSJH3TLZ8WmHvCZO0yJk7TKiNumREbdMAnldcy8XmRE9a57yonrmA4vMk3ee4tnrmSx989wBc3aZVzdpkVH3TKqPumAsxZtMiZO0y2YvJMIjbpgEydpkk7z3ixt0xY2+e8BxeZeLzFnrmLPXMCRJhV+JVzdpkVMK+0Kj7pgVc3aZe+z4kVH3TLZi7QMwdGF2mVMn4kgTDDumWxvaBE8rzCJveZbPXMiJh8swLxeYm7zFnrmSx98wHfK7TKubtMipiXdPeVUfdMC99nxMomJHae41Zi7TKJiTdPcBZPxHF5ixvaRE9cwC+V5l4vMlnrmLPXMC2O/EkXRV2mWx/aSJMK7pgVc3aYTy8QqPumLPi0AmTtMidFH4lRG3TIiYU9oBPK8y8XmSxt8y2euYEm7z3Fsd+JLH3z3BUf2gVc3aZLMSu0yqj7pksxLumBIUwpihbZ7QiNihbZ7Sw9FHaRUVnaQGbGxQ/Z7QieFC6972mrWfgRPK65ASzwoX2e0WeFC+z2muLyFu95AZsfFDw7QqPihbZ7S29J+BVV3aQEs8KH7PaZRMSYoW2d3WfS3fwMouJHaW4CIjYoW2e0IjYofs9pq1naQTJ+AGFRsUL7PaWzwoX2e0trO8i8XkBmzwoX2e0kSYYsULL3vab4vIkXRidpFEVHxQts9pbMXSh+z2lXN2kXvs+BBhEbFC2z2iFMKYoW2e00is7SJB0YXaQEsbFC+z2izwoX2e01J3kLd7yAwiPihfZ7S2eFC+z2lTN3kW3e8gMzxQ/Z7RZiXFC2z2mlV34E75XaW8BZi6UP2e0/nryKtSpdWKHW7jHq2JfrWH9XfZ8DMnVLGsfqDOUXFOFw6t1ttl1qolq2H7NNVavr26MjqtNRdGiirdOlFXbPDgplhht3Ip/JpnRsejNJUlSihVIIItagVe/q63wLwu32n8J2fgp/wAWU4Zx9ejrfJOnpqroSChrFWiWlSKNVWq0cMdAqKq2WLR3HOoalWUVIa3DUKOxL1p6ajoNX/loYkiXgdG5A/3Yo/8ANSf9SnIKPoJuQj1d/lEaGjM+Po/tr8NTgrFlRpYqWi1UWKKJFSGGmXpJBaiKsNrKqIp775P0j/QtJbYkK1iLuesluHVhby2nOESJYrEhVVW5ERLVVZHYeT+jl0boiiqsd1LDD3WnSVNFfEnkts8hMk+DYTnuJziKiP7foxJhXFC2z2ls8KH7PaFzdpGu+z4HN+rYRGxQts9oRGxQts9ppFZ2kEydpAZRPChde97RZ4UL7PaVPK65by8XkBmzwoX2e0WPihfZ3dZq3e8iWu7y3ARUfFC2z2hUfFC2z2lVXdpFVXdpAZsxdKFtntCI2KFtntNd9m0gis7SAyiNih+z2ixsUL7PaVMn4CTvLeBLPChfZ7RZ4UL7Paa4vIW73kBiJMK4ofs9pVR8ULbPaVeirvIqq7tIDKo+KFtntLZi6UP2e0qq7tItuLPgBiFMKYoW2e0IjYofs9pYVwo7SKmT8AM2eFC+z2hE8KF9ntNW73kRPK8gJZ4UL7PaLHxQvs9pri8hN3kBhUxLihbZ7Sqj4oW2e0qriV2lvKqu7SAlmLpQ/Z7SImJMULbO7rN99nwMouJHaW4CIjYofs9os8KF9ntNWs/AcXkBhUi2oX2e0tnhQvs9peLyLN3kBmx8UP2e0RJhXFC2z2mlzfgSJcKu0gIqPihbZ7S2eFD9ntKubtIvHgBhEbFC2z2hEwpih+z2mkVnaRE6KPwAlnhQvs9os8KF9ntNSd5Di8gM2PihfZ3dYsfFD9ntLa7vLcWb8AMqj4oW2e0tmJei2SWFVXdpDvldpASHJ2KmTsREiuZgiRXMwBMnEPldQiRXMREXqdQNcXJxcWRdT9Ysi6nAbTlXN2M2RYm85bIr2brAvEnfI7ewWL1eclkWsjN7ANJk7BMnIiRXMwsW5vOAk7l4uZVIrmctkXU/WBV8rkXoxOyiyLqfrJEkWrEzAaXN2L32ZlUivZhZFrZecCpk7Eh6ML9EIi3MxIUi1UbogVMncqeVyWLcziyLqcBN3KvlcyiRXs5bIupwLNyLm7BUW9vOLF1lZgNd9mRMnYlkWtkESK5mA/E5RcnqLTNXhRIu41yhT/w9OqWpZsR+D6vXzHSGja5o6n7jXKCKgj72Jb6OkScMTKh2hEiuZjNJQQ00Hc6ajgpqOJcVHSw68C+RTUZU8vffC8NxPHHTJyOo8pdMVCrpVanXVoKCFViho0o4I0RVvW9UVc1PzKKijpI4aGho4qSkiwwUVHDrxxLJERzrkXJjQ0UWsujKC21oYNSHgh/bVqhVqpCqVWrUVWRVS3uFH3JYt9jl4nn/APi62VRqanSP1eV5K8kI6rSw6Q0lRp3eBdarVW1Iu4RbcfhSTLe3tJuSxep+sWRXsZmbe5tttht8ODCCLN2L32ZFSK9mFkXUR9Cpk7CTsREiuZgiRXMwCHyupU8rmURep1LZF1OBV8rkTN39gVIup+slkV7P7ANLm7Bc3Yiot7MFSK9mAvfZsEydiWLrZMESK5mAqZORcnf2hEiuYlkVzOBri44uSyLqfrFkXU4BeiruFzdiKkWqrOVUW9m6wLN2L32ZlUivZhZFrZecBD0UdiyczCi6qMxbIrmAvFyJ5XFkXU4RIupwLxcTdyWL1OFSK9nAd8rt7Srm7GbIr2Yqot7N1ga77Mz3yO3sFi62XnIiRayM3sA1JxxciJFcwsi6nAcXLN3Mqi9T9ZbIupwKubki6KuwsW9vOSJIr2YDU3YcSWRXswsi6vOBUydiJ0UcIkVzMSFItVGAsncvFyWL1P1iyLqfrAJm7+ws3M2Lez+wtkV7AWbsTvldgqRXs3WLItZbZTAQ6tzNIJq3M0hCuFHaRUVnaQEw3NwCavU65FtZ+BE8rrkAw9TyGHqeRbd7yCrveQGcN7cCrq3s0ha78Cqru0gJh6uBE1dZGaW43x4Hwp61V6tDDHWaeCr0cSpQwx08aUMMVLGqJDAirmqqiIhY6j64bmaQuubgWTtISfgQRdW5nkLIep5C1neRbd7yAl3U8gurqxM0iqu95EiXDFukAWy9mkXDrZcAqu7SLbiz4AZTVuZpEh1dVGaRpFZ2kSBcMO6QDDczrkLup5C1neRUXe8gJhvZ5DD1PITd5FVd7yAmG9uAXV1lZpby2u/AluJXaW8C3a2XAiatzNI132fAiKztICYbmYYep5C3ou0i2s7yAl3U8iLq9Toa4vIir/1JkAu6nkMN7cC273kLXdpARdW9mkMPVwESu7SNW7+AGU1bmaQTVuZpFRWdpC1t0gImr1OuQw9TyCLvdciou95ATD1OmQTVvZ5bi273kS13eW4AqQ3s0gurezSFru0iqru0gJh1smkE1bmaRbcWbSCKztICYbm4DDczy3ltZ+BJO8t4DD1OMPU8i273kFXe8gJFq6qtwC6t7NIL0Vd5FVXdpARdW9mkMOtlwKqu7SLbiz4AZh1dWFmkMNzcBAuGHdItrPwAmHqcJq9TyKi73kRF9cgF3U8hhvZ5FVd7yFru8gIurezJkMN7NIW4ldpbyqru0gGHWy4GcOsjNLcbtxZ8DKLiR2luAXXNwGHqeRUyfgLd7yAi6vU8hd1PIW+uRbd7yAl17CLVsVmkW1/YReiu6QDDezSGHq4Hyq9LFSwRLE6RLDcmSKqH348CY5RlFwsxMd2U1bmaQTV1UbgVFZ2kRFwo/AqGHwXkMPU8i273kLd7yAmG9nluGG9uAtd3luLa78AIurf0WkMOsrNIqq7tIW4ldpAZRIrsWUiokV2LKQhTCm6ZURt0wJYt2LzERItrNcjVje0iJ61zAWLtZyCot+LORbPXMWPvmBmxcWLzFVIr8WUhZ0vaVUfdMCWRbXmPI/KNTwVbk/RVisUiUVBV6/VKempIkw0VHDTwKsXBD2FnxaZS1IksuunuNYTU2fJ+NoblboHTdYiq+iNLUVfp6GDu9JR0CLrQUVqJrX9aofsoi3ew1bEtltq3ZxEsb2jKYvpCMqi3b5Fsi88gqNvmWz1zMqlkW1nIkSRasWLKRqz1zJEmGLcuYBUivxZSCJFrdLzFVH3TLZ8WgZRIrsWUiQpFqw4spGkRt0yQJhh/yzAIi3Ys5CyLazkVEbfMInrmBlEivxZyLZFtZyCI++ZVT1zAipFfi8wVIr8WUi2P7SKmJd094DFrdLzBEiuxZSNWYu0iI26YGURbsWUi2RbWchZ0d0y2euYEsi2s5EiRdrvkyNWeuZFT/qTMBZFtZyCpFfiykWz1zFj+0DKpFfiykWxdbySESYV3TLZi8kwIiRXYspBEiuxZSKiNumERt0wMokW1muRbItrOQRPWue8qJ65gSyLazkREW/fLcaVPXMlj757gCpFfiykFSK/FlIKj7plVH3TAlkWt0spBEiuxZSLZi8kwiNumBESK7F5iKkV2LORqxt0yWNvnvAWRbWchZFtZyLZ65hU9cwMqkWquLORVSK/FlIRJhXfMqo+6YEVIr8WUhi1ul5i2PumWzF2gYhSLVTFlIqJFdi8whTDDumWxvaBLItrORESLazkaRPXMiJ65gLItrOQVFvxZyLZ65hUffMDNi6y4spFVIr8WUgqYl3TKqPumBLItbpeYiJFrJiyluN2Yu0yiYk3T3ALIrsXmFi3Ys1yLY3tFnrmBlUi2s5Fsi2s5Bf5zLZ65gSxb8XmPjS0CxRLF3ekhu6MESJCfex/aSJMK7pkyxjKKlYmpfw1arrFBEvd6SGyKJLIYrEW9T+2GGJIUTWVbEstW9V6ypBDDakMKInSuXOZqz4tOelpRhDWefFLKJFdiykSFItVMXmNIjbpkRMKe06sFkW1nIWRavSzkWz1zFnrmBmyK/FnLcWxb8XmFj757i2P7QIqRX4spBNbWW21txVR90xZiXdMCQ2XMwRIbmYQ62qmJWkEtuxK0gCatzBPI6jFdiXgE/wAyuuQDg4mzj/mV9kLrbSvsgS69irmzEniXgVbb8StIBh6hh1kZvYMW0v2SJrayYspbgKllzME1bmGK7FlsiWL8IBcmcYepxfdiV5D/AJlfZAYepxFq6sTMMW0r7IXW1YsStIAubMXvsiLbfiVpFxa3SXgBE1bmaRIbNWFmKlt2JWkSG3VTErSAuG5nGHqcYrsWchftK8gJdezlXyOS+/FnIq620r7ICbcBh1lZhivxLwC62suJWlvAXa2QRGZhfb0l+yEtuxK2yAkzDD1OMV2JW2Ri2lfZAYepwur1OgxbSvskW3aXpJkBV8jhc2GLaV9kLrX4lbZAKkN7MMOtkwi6K4laQS3W6StsgJMwTVuZglt2JW2Qlt2LLZAJq9TqMPU4TW2ldchi2leQDg4TVvZ/YL9pXkTFfizluAq6t7MFsvZhivxK0gtt+JW2QF2tkwTJmF+t0lbZCW3YlaQDDczSGG5nF92JWkMV2JX2d4Dg4w9TjFtK+yL9pX2QIurqqzlVIb2YLbqrizkFtvxK2yAw3swu1sgtt+JWkXFrdJfsgSHV1YWYSb4QkNuqmJWkXFdiXgA4PIIkPU4xbSvshNbaV9kBwcLZezjFtZyGK/EryAYdZWYLZezDFfiVpBda/FlsgW7WyMpq6yM3sNYtpfsmcWsmJW2dwFk3wgw9TjFdiX7Iv2lfZAcHGHqcLrbSvIX7SvsgF1b2EXRVmGK/Ev2RFbqriVpAMN7MOAvvxK2yMW0vAAmTMIbNVGCZYlaQS3VTEvAAmTOMPU4TW2leQv2lfZAJq3s/sC6t7DFfiV9ncMV+JeABbL2YWJrKzDFfiVpC3EuLKQCHJ2KmTsSFMKbplRG3TAiZOIfK6lsb2kRPWuYF4uTi5bPXMWPvmBJuVc3YlnS9pVR90wHEidJHb2FVPi0iJiTdPcBUydgmThEbdMWN7QJJ3Lxcljb5ls9cwHFyRdGJ2KqeuZIkwxblzAq5uxe+zIqPumWzF2gRMnYkHRhfolRG3TJAmGHdMAmTuVPK5LG3zLZ65gSbuVfK5LH/AM0yqnrmBFzcd8rt7S2P7SKmJd0wNd9mRMnYWYu0IjbpgRMnYuLrcljbplRPXMAnlci+XpIVE9cyKn/UmYFXyuRc3Yqp65hUfdMCRZuxU6WZIkwrumWzF2gEydiJk7FRG3TIiNumAh8rr/McXCJ61z3lRPXMAvlciZu/sKqeuZLH3z3AFzdirm7EVH3TKqPumA77NgmTsLMXkmERt0wImTsFyd/aERt0xY2+e8Cp5XC+VxZ65hU9cwJF0Vcq5uxIkwrvmVUfdMAubsXvsyWPumWzF2gZg6MLsEycQphh3TLY3tAcXInlcqJ65kRPXMC8XIubuWz1zFj75gTvldvaVc3bqIqYl3T3lVH3TAvfZmU6SO3sNWYu0yiYk3T3AWTji4sb2iz1zAi+Vy8XIv8AOZbPXMBNyRdFXYtj+0kSYV3TAs3YcRY+6Ys+LQCZOxE6KOVEbdMiJhT2gWTuOLiz1zFnrmBEzd/YVc3JY++e4Kj+0Crm7DvldgqPumLMS7pgcGT/AEjrP/SjXfSPuhzjvFT0j7o4UDVI7rzjvFRv4j7ovOO8VM7fpL3XWcJAod25x3ip1/SXuic47xU6/pH3RwoCh3XnHP8Auo/8S90Ocd4qekfdHCgKHducd4qekU/pE5x19v6qMln0j7rqOFAUO7c47xU6vpFP6Q5x3ip6S90cJAod15x3ioy2/SKf0hzjvFX0in9I4UBQ7rzjvFT0l7oc465U/VV/4in9I4UBQ7rzjvFT0in9IvOP8VPSKf0jhIFDu3OO8VG/iXuiJ/pHWWfuoyWfSPujhQFDu3OO8VPSXuic47xU9Je6OFAUO7c47xUzt+kvdDnHeKnX9I+6OEgUO7c4/wAVH/iPuic47xUdLPpH3XWcKAod25x/ip6RT+kOcd4qekfdHCQKHdecc37qN/EvdF5x3ip6S90cJAod25x3ip6S90Ocd4qZ2/SXujhIFDu3OO8VPSXuhzjvFT0l7o4SBQ7rzjn/AHUe76R90XnH+KvpFP6RwkCh3bnHeKnV9Ip/SJzjvFT0j7o4UBQ7rzjvFTO36R911l5x3ip6S90cJAod25x3ip1/SPuic47xUdbfpH3XUcKAod25x3ip6R90Ocd4qekfdHCQKHducdf/AHU9Je6HOO8VPSPujhIFDuvOO8VG/iPui847xU6/pL3XWcJAod25x3ip6S90Ocd4qekvdHCQKHdecd4qP/EU/pF5x3ip6R90cJAod15x3ip6R90XnH+KvpFP6RwkCh3VP9I2yz91GSz6R90Ocd4qN/EfdHCgKHdecd4qekU/pDnHeKnX9I+6OFAUO6847xU9I+6HOO8VPSXujhQFDuvOO8VOr6R90XnHeKnpH3RwkCh3bnH+KnpFP6ROcd4qMln0j7rqOFAUO6847xUb+I+6HOO8VPSPujhQFDu3OO8VOv6S90Ocd4qekvdHCQKHdecd4qekvdFX/SOt/wDSj3fSXujhIFDu3OO8VPSXuhzj/FT0in9I4SBQ7tzjvFT0j7oif6R1ln7qN/EfdHCgKHdecd4qekfdF5x3ip6RT+kcJAod15x3io62/SPuuovOO8VH/iXujhIFDuvOO8VPSPui84/xUty+kvddZwkCgABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf/Z"}},"time_used":21,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translations.smartsuppcdn.com/api/v1/widget/translations/lang/en/defaults","fqdn":"translations.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:26:00.178Z","timestamp":1785129960178,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1087630013.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 03 Jun 2026 14:33:02 GMT","end":"Tue, 01 Sep 2026 14:33:01 GMT"},"fingerprint":{"sha1":"CE:B9:32:81:E9:D2:46:C8:31:53:55:D3:41:19:F7:94:91:30:D1:93","sha256":"54:C9:41:2F:97:E8:14:28:D7:2C:4F:FA:E0:C3:3A:BC:85:F8:14:22:1C:98:23:82:53:4D:5D:58:C9:0B:C9:68"}}},"request":{"raw":"GET /api/v1/widget/translations/lang/en/defaults HTTP/1.1\r\nHost: translations.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://digitaltradeinvest.org/\r\nOrigin: https://digitaltradeinvest.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:26:00 GMT\r\ncontent-type: application/json; charset=utf-8\r\naccess-control-allow-origin: *\r\ncache-control: max-age=600\r\nx-response-time: 1ms\r\nx-version: 0dd3c95f86cdb6b59a0dad25ffcd406aa7c7723b\r\nx-77-nzt: k85m+IoSm3FjErauF86s9yOrRkowEC19IbpgJeERtj5nimfhWZzhc5icEfFafnb+9/fFWno\r\nx-77-nzt-ray: fdb54123751a81d6e8eb666a6e487b0c\r\nx-77-cache: HIT\r\nx-77-age: 202\r\nvary: Origin, Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":7216,"size_decoded":3346,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"05d7604a60456ab25eb809557b353edc","sha1":"e32135b721636e7994e42748da35341e03dfd123","sha256":"5892aca834fe3f9f8fb66f68c8a3eb2295708a3b428cf355d7f3e3c1a0b7b62e","sha512":"db4124c008e22597192e1f07b44575ff191a03322f763bffb1efd129152e0f6f1546d98f5016967b32cc71a8252fefc0546aef0be258e8343fbba4ae2afe00da","ssdeep":"192:Ccdft/hc4l6WKHSY8pZcqq+jT0UHAfoW/Ymz8:CgF/hcbWbYKZcF+jhqoWQmw","tlshash":"48e1b54f9a144ea987c6438276cfb84675bc80734250993afd8cc8b842697cda3e3b94","first_seen":"2026-04-01T12:23:41.393805Z","last_seen":"2026-07-27T13:21:25.866734Z","times_seen":5254,"resource_available":false,"data":"eyJhZ2VudFJhdGluZy5hbGwucGxhY2Vob2xkZXIiOiJMZWF2ZSB1cyBmZWVkYmFjayIsImFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dCI6IlNvIHNvcnJ5IPCfmJMgV2hhdCB3ZW50IHdyb25nPyIsImFnZW50UmF0aW5nLmdvb2QuZm9ybVRleHQiOiJUaGFua3Mg8J+kqSBXaGF0IHdhcyBzbyBncmVhdD8iLCJhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHQiOiJUaGFua3Mg8J+RjSBIb3cgY2FuIHdlIGltcHJvdmU/IiwiYWdlbnRUcmFuc2Zlci5kZWZhdWx0VGV4dCI6IkFnZW50IiwiYWdlbnRUcmFuc2Zlci5qb2luZWQiOiJqb2luZWQgdGhlIGNoYXQiLCJhZ2VudFRyYW5zZmVyLmxlZnQiOiJsZWZ0IiwiYWdlbnRUcmFuc2Zlci5yZWRpcmVjdGVkIjoiaXMgeW91ciBuZXcgYWdlbnQiLCJhcmlhTGFiZWwuYWdlbnRBdmF0YXIiOiJBZ2VudCBhdmF0YXIiLCJhcmlhTGFiZWwuY2FyZCI6IlByb2R1Y3QgY2FyZCIsImFyaWFMYWJlbC5jaGF0Q29udGVudCI6IkNoYXQgY29udGVudCIsImFyaWFMYWJlbC5jaGF0Ym90QXZhdGFyIjoiQ2hhdGJvdCBhdmF0YXIiLCJhcmlhTGFiZWwuZHJhd2VyLmNvbnRlbnQiOiJEcmF3ZXIgY29udGVudCIsImFyaWFMYWJlbC5kcmF3ZXIub3ZlcmxheSI6IkRyYXdlciBvdmVybGF5IiwiYXJpYUxhYmVsLmlubGluZUVtb2ppUGlja2VyLmRlc2NyaXB0aW9uIjoiU2hvd2luZyB7Y291bnR9IGVtb2ppcyIsImFyaWFMYWJlbC5pbmxpbmVFbW9qaVBpY2tlci5sYWJlbCI6IkVtb2ppIHN1Z2dlc3Rpb25zIiwiYXJpYUxhYmVsLmxlZnQiOiJMZWZ0IiwiYXJpYUxhYmVsLm9wZW5DaGF0IjoiT3BlbiBTbWFydHN1cHAgY2hhdCIsImFyaWFMYWJlbC5wb3B1cCI6IlNtYXJ0c3VwcCBjaGF0IHBvcHVwIiwiYXJpYUxhYmVsLnJhdGVDaGF0LmJhZCI6IlJhdGUgY2hhdCBuZWdhdGl2ZWxseSIsImFyaWFMYWJlbC5yYXRlQ2hhdC5nb29kIjoiUmF0ZSBjaGF0IHBvc2l0aXZlbHkiLCJhcmlhTGFiZWwucmF0ZUNoYXQubmV1dHJhbCI6IlJhdGUgY2hhdCBuZXV0cmFsbHkiLCJhcmlhTGFiZWwucmVtb3ZlQXR0YWNobWVudCI6IlJlbW92ZSBhdHRhY2htZW50IiwiYXJpYUxhYmVsLnJpZ2h0IjoiUmlnaHQiLCJhcmlhTGFiZWwuc2Nyb2xsRG93biI6IlNjcm9sbCBkb3duIiwiYXJpYUxhYmVsLnN1Y2Nlc3MiOiJTdWNjZXNzIiwiYXJpYUxhYmVsLnVwbG9hZGluZyI6IlVwbG9hZGluZy4uLiIsImFyaWFMYWJlbC53aWRnZXRCcmFuZGluZyI6IlNtYXJ0c3VwcCBicmFuZGluZyIsImF1dGhGb3JtLmFjY2VwdFRlcm1zIjoiSSBhZ3JlZSB3aXRoIHByaXZhY3kgcG9saWN5IiwiYXV0aEZvcm0uYnV0dG9uLnNlbmQiOiJTZW5kIG1lc3NhZ2UiLCJhdXRoRm9ybS5kZXNjcmlwdGlvbiI6Ildl4oCZbGwgdXNlIHlvdXIgY29udGFjdCBpbmZvIG9ubHkgaWYgYWxsIHRoZSBhZ2VudHMgYXJlIGJ1c3kgYXQgdGhlIG1vbWVudCBhbmQgY2Fubm90IGltbWVkaWF0ZWx5IHJlcGx5LiIsImF1dGhGb3JtLmdyZWV0aW5nIjoi8J+RiyBQbGVhc2UgaW50cm9kdWNlIHlvdXJzZWxmIiwiYXV0aEZvcm0uZ3JvdXAiOiJDaG9vc2UgYSBncm91cCIsImF1dGhGb3JtLmxhYmVsLmVtYWlsIjoiRS1tYWlsIiwiYXV0aEZvcm0ubGFiZWwuZ3JvdXAiOiJHcm91cCIsImF1dGhGb3JtLmxhYmVsLm5hbWUiOiJOYW1lIiwiYXV0aEZvcm0ubGFiZWwucGhvbmUiOiJQaG9uZSIsImF1dGhGb3JtLnN1Ym1pdC5lcnJvciI6IkF1dGhlbnRpY2F0aW9uIGZhaWxlZCIsImF1dGhGb3JtLnN1Ym1pdC5zdWNjZXNzIjoiQXV0aGVudGljYXRpb24gd2FzIHN1Y2Nlc3NmdWwiLCJhdXRoRm9ybS55b3VyRW1haWwiOiJZb3VyIGVtYWlsIiwiYXV0aEZvcm0ueW91ck5hbWUiOiJZb3VyIG5hbWUiLCJhdXRoRm9ybS55b3VyUGhvbmUiOiJQaG9uZSBudW1iZXIiLCJidXR0b24uZ3JlZXRpbmciOiJDaGF0IiwiY2FyZC5saW5rc0xpbWl0UmVhY2hlZCI6IlVuYWJsZSB0byBzZW5kIG1vcmUgdGhhbiAyMCBVUkwgbGlua3MuIiwiY2FyZC5ub1ByZXZpZXdUaXRsZSI6IlByZXZpZXcgbm90IGF2YWlsYWJsZSIsImNhcmQub3BlblVybFRpdGxlIjoiUmVhZCBtb3JlIiwiY2FyZC5zZW5kaW5nSW5Qcm9ncmVzcyI6IlNlbmRpbmcgaW4gcHJvZ3Jlc3MsIHBsZWFzZSB3YWl04oCmIiwiY2hhdElucHV0LnBsYWNlaG9sZGVyIjoiVHlwZSB5b3VyIG1lc3NhZ2UgaGVyZSIsImNoYXRQcmV2aWV3Lm1lc3NhZ2UxIjoiSGksIGlzIGFueWJvZHkgaGVyZT8iLCJjaGF0UHJldmlldy5tZXNzYWdlMiI6IkhlbGxvLCB5ZXMgd2UgYXJlIGhlcmUiLCJjaGF0UHJldmlldy5tZXNzYWdlMyI6Ik9rLCB0aGFua3MiLCJjaGF0Ym90LmdvQmFjayI6IkdvIGJhY2siLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLmJ1dHRvbiI6IlllcywgZW5kIGNoYXQiLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLnRleHQiOiJJcyB0aGF0IHJlYWxseSBhbGw/IElmIHNvbWV0aGluZyBlbHNlIGNvbWVzIHRvIG1pbmQsIHlvdSBjYW4gYWx3YXlzIHJldHVybiB0byB0aGUgY29udmVyc2F0aW9uLiIsImNsb3NlQ29udmVyc2F0aW9uTW9kYWwudGl0bGUiOiJFbmQgY2hhdCIsImRyYWdBbmREcm9wLmRyb3BIZXJlIjoiRHJvcCB5b3VyIGZpbGUocykgaGVyZSIsImVtYWlsVHJhbnNjcmlwdC5wb3NpdGl2ZUZlZWRiYWNrIjoiVHJhbnNjcmlwdCBoYXMgYmVlbiBzZW50IiwiZW1haWxUcmFuc2NyaXB0LnNlbmRDb3B5IjoiU2VuZCBjb252ZXJzYXRpb24gY29weSIsImVycm9yLmZpbGVVcGxvYWQiOiJGaWxlIHVwbG9hZCBmYWlsdXJlIiwiZXJyb3Iubm9JbnRlcm5ldCI6IkludGVybmV0IGNvbm5lY3Rpb24gbG9zdCIsImVycm9yLnNlcnZlckVycm9yIjoiU2VydmVyIGVycm9yIG9jY3VycmVkIiwiZmlsZVVwbG9hZC5iYWRGaWxlVHlwZSI6IlRoaXMgZmlsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuIiwiZmlsZVVwbG9hZC5maWxlVG9vQmlnIjoiVGhlIGZpbGUgaXMgYmlnZ2VyIHRoYW4gdGhlIGFsbG93ZWQgbGltaXQiLCJmaWxlVXBsb2FkLmZpbGVzV2VyZW50UHJvY2Vzc2VkIjoiU29tZSBmaWxlcyBjb3VsZCBub3QgYmUgcHJvY2Vzc2VkIiwiZmlsZVVwbG9hZC5pbWFnZUVycm9yIjoiVGhpcyBpbWFnZSBpcyBub3QgdmFsaWQiLCJmaWxlVXBsb2FkLnRvb01hbnlGaWxlcyI6IkxpbWl0IGZvciB1cGxvYWRpbmcgZmlsZXMgaXMgIiwiZmlsZVVwbG9hZC51cGxvYWRGaWxlIjoiVXBsb2FkIGZpbGUiLCJmb3JtLnN1Ym1pdC5lcnJvciI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImZvcm0uc3VibWl0LnN1Y2Nlc3MiOiJTdWNjZXNzZnVsbHkgZG9uZSIsImdkcHIuZGF0YVByaXZhY3lIZWFkbGluZSI6IlBlcnNvbmFsIGRhdGEgcHJvY2Vzc2luZyIsImdkcHIuZGF0YVByaXZhY3lUZXh0IjoiU21hcnRzdXBwLmNvbSwgcy5yLm8sIHByb2Nlc3NlcyBwZXJzb25hbCBkYXRhLiwgVkFUIElEIENaMDM2Njg2ODEgKGZ1cnRoZXIgYXMgXCJTbWFydHN1cHBcIikgYXMgYSBkYXRhIHByb2Nlc3NvciB3aG8gYWN0cyBvbiBiZWhhbGYgb2YgdGhlIHdlYnNpdGUgb3duZXIgd2hvIGlzIHRoZSBkYXRhIGNvbnRyb2xsZXIuIFxuXG5TbWFydHN1cHAgaXMgR0RQUiBjb21wbGlhbnQuIFlvdSBjYW4gZmluZCBpbmZvcm1hdGlvbiBhYm91dCBTbWFydHN1cHAgcGVyc29uYWwgZGF0YSBwcml2YWN5IGFuZCBwcm9jZXNzaW5nIG9uIGhlbHAuc21hcnRzdXBwLmNvbS9lbl9VUy9wcml2YWN5LiBcblxuUHJvY2Vzc2luZyBvZiB5b3VyIHBlcnNvbmFsIGRhdGEgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHByb3ZpZGUgY3VzdG9tZXIgc2VydmljZS4gQWR2YW5jZWQgZmVhdHVyZXMgd2lsbCBvbmx5IGJlIHR1cm5lZCBvbiBpZiB5b3UgaGF2ZSBhZ3JlZWQgdG8gdGhlbS4gXG5cblBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIG93bmVyIGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBhYm91dCB0aGUgcHJvY2Vzc2luZyBvZiBwZXJzb25hbCBkYXRhIG9yIGlmIHlvdSB3YW50IHRvIHJlcXVlc3Qgb3IgZXJhc2UgeW91ciBwZXJzb25hbCBkYXRhLiIsImdlbmVyYWwuYmFjayI6IkJhY2siLCJnZW5lcmFsLm5ld01lc3NhZ2VzIjoiTmV3IG1lc3NhZ2VzIiwiZ2VuZXJhbC5zZW5kIjoiU2VuZCIsIm9wdGlvbnMuYWNjZXNzaWJpbGl0eSI6IkFjY2Vzc2liaWxpdHkiLCJvcHRpb25zLmNvcHlyaWdodCI6IsKpIHt5ZWFyfSBTbWFydHN1cHAuY29tIiwib3B0aW9ucy5lbWFpbFRyYW5zY3JpcHQiOiJTZW5kIGVtYWlsIHRyYW5zY3JpcHQiLCJvcHRpb25zLmZlZWRiYWNrIjoiRGlkIHlvdSBmaW5kIGEgYnVnPyIsIm9wdGlvbnMuZ2RwciI6IkdEUFIgYW5kIHByaXZhY3kiLCJvcHRpb25zLnBkZlRyYW5zY3JpcHQiOiJEb3dubG9hZCB0cmFuc2NyaXB0Iiwib3B0aW9ucy5wbGF5U291bmRzIjoiUGxheSB0aGUgc291bmRzIiwib3B0aW9ucy50aXRsZSI6Ik9wdGlvbnMiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWdlbnQiOiJSYXRlIGNoYXQiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWkiOiJSYXRlIEFJIGNoYXRib3QiLCJyYXRpbmcuc3VibWl0LnN1Y2Nlc3MiOiJSYXRpbmcgc2VudCIsInJhdGluZy5zdWJtaXRGZWVkYmFjay5zdWNjZXNzIjoiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrIiwicmF0aW5nLndhc0l0SGVscGZ1bC5hZ2VudCI6IkhvdyB3b3VsZCB5b3UgcmF0ZSBvdXIgc3VwcG9ydD8iLCJyYXRpbmcud2FzSXRIZWxwZnVsLmFpIjoiSG93IHdvdWxkIHlvdSByYXRlIHRoZSBBSSBjaGF0Ym90IGV4cGVyaWVuY2U/Iiwic3RhdHVzQmFyLmJvdElkZW50aXR5IjoiQUkgYXNzaXN0YW50Iiwic3RhdHVzQmFyLm9mZmxpbmVUZXh0IjoiSGFwcHkgdG8gYW5zd2VyIHlvdSBsYXRlciIsInN0YXR1c0Jhci5vbmxpbmVUZXh0IjoiV2UgcmVwbHkgaW1tZWRpYXRlbHkiLCJzeXN0ZW1NZXNzYWdlLmNoYXRDbG9zZWQiOiJDaGF0IHdhcyBjbG9zZWQiLCJzeXN0ZW1NZXNzYWdlLmNoYXRSZXNvbHZlZCI6InJlc29sdmVkIGNvbnZlcnNhdGlvbiIsInRpY2tldEZvcm0ubGFiZWwubWVzc2FnZSI6IldoYXQgY2FuIHdlIGhlbHAgeW91IHdpdGg/IiwidGlja2V0Rm9ybS5tZXNzYWdlLnBsYWNlaG9sZGVyIjoiRGVzY3JpYmUgeW91ciBwcm9ibGVtIiwidGlja2V0Rm9ybS5zdWJtaXQuYnV0dG9uIjoi4pyJ77iPIENvbnRhY3QgdGhlIGFnZW50IGJ5IGVtYWlsIiwidGltZWFnby5YRGF5c0FnbyI6IiclcyBkYXlzIGFnbyIsInRpbWVhZ28uWEhvdXJzQWdvIjoiJXMgaG91cnMgYWdvIiwidGltZWFnby5YTWludXRlc0FnbyI6IiVzIG1pbnV0ZXMgYWdvIiwidGltZWFnby5YTW9udGhzQWdvIjoiJXMgbW9udGhzIGFnbyIsInRpbWVhZ28uWFNlY29uZHNBZ28iOiIlcyBzZWNvbmRzIGFnbyIsInRpbWVhZ28uWFdlZWtzQWdvIjoiJXMgd2Vla3MgYWdvIiwidGltZWFnby5YWWVhcnNBZ28iOiIlcyB5ZWFycyBhZ28iLCJ0aW1lYWdvLmp1c3ROb3ciOiJqdXN0IG5vdyIsInRpbWVhZ28ub25lRGF5QWdvIjoiMSBkYXkgYWdvIiwidGltZWFnby5vbmVIb3VyQWdvIjoiMSBob3VyIGFnbyIsInRpbWVhZ28ub25lTWludXRlQWdvIjoiMSBtaW51dGUgYWdvIiwidGltZWFnby5vbmVNb250aEFnbyI6IjEgbW9udGggYWdvIiwidGltZWFnby5vbmVXZWVrQWdvIjoiMSB3ZWVrIGFnbyIsInRpbWVhZ28ub25lWWVhckFnbyI6IjEgeWVhciBhZ28iLCJ0aW1lYWdvLnJpZ2h0Tm93IjoicmlnaHQgbm93IiwidGltZWFnby5zZWNvbmRzIjoiaW4gJXMgc2Vjb25kcyIsInRvb2x0aXAuYXR0YWNobWVudCI6IkF0dGFjaG1lbnQiLCJ0b29sdGlwLmNsb3NlIjoiQ2xvc2UiLCJ0b29sdGlwLmNvbGxhcHNlIjoiQ29sbGFwc2UgY2hhdCIsInRvb2x0aXAuZW1vamkiOiJFbW9qaSIsInRvb2x0aXAuZXhwYW5kIjoiRXhwYW5kIGNoYXQiLCJ0b29sdGlwLm1pbmltaXplIjoiTWluaW1pemUgY2hhdCIsInRvb2x0aXAubW9yZSI6IlNob3cgbW9yZSIsInRvb2x0aXAubW9yZUJ1dHRvbiI6IlNob3cgTW9yZSIsInRvb2x0aXAucmF0ZUNoYXQiOiJSYXRlIENoYXQiLCJ0b29sdGlwLnNlbmQiOiJTZW5kIiwidG9wQmFyLmVtYWlsVHJhbnNjcmlwdCI6IlNlbmQgZW1haWwgdHJhbnNjcmlwdCIsInRvcEJhci5nZHByVGl0bGUiOiJHRFBSIGFuZCBwcml2YWN5IiwidG9wQmFyLm9mZmxpbmUuaGVsbG8iOiJTZW5kIHVzIGEgbWVzc2FnZSIsInRvcEJhci5vbmxpbmUuaGVsbG8iOiJIb3cgY2FuIHdlIGhlbHA/IiwidG9wQmFyLnR1cm5PZmZTb3VuZHMiOiJUdXJuIG9mZiBzb3VuZHMiLCJ0b3BCYXIudHVybk9uU291bmRzIjoiVHVybiBvbiBzb3VuZHMiLCJ0cmlnZ2VyLm9wZW5DaGF0QnV0dG9uIjoiTGV0J3MgY2hhdCIsInRyaWdnZXIucmVwbHlCdXR0b24iOiJSZXBseSIsInZhbGlkYXRpb25zLmNoZWNrZWRUZXJtcyI6IllvdSBtdXN0IGFncmVlIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRvIGNvbnRpbnVlIiwidmFsaWRhdGlvbnMuaXNFbWFpbCI6IlBsZWFzZSBlbnRlciB2YWxpZCBlbWFpbCIsInZhbGlkYXRpb25zLnBob25lIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyIiwidmFsaWRhdGlvbnMucmVxdWlyZWQiOiJQbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZCIsIndhcm5pbmdCYXIubWF4TGVuZ3RoIjoiWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBhbGxvd2VkIG51bWJlciBvZiBjaGFyYWN0ZXJzICgyMDAwKSIsIndhcm5pbmdCYXIuc2FtZU1lc3NhZ2VUd2ljZSI6IkNhbm5vdCBzZW5kIHRoZSBzYW1lIG1lc3NhZ2UgdHdpY2UgaW4gYSByb3cuIiwid2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbiI6IllvdXIgbWVzc2FnZXMgaGF2ZSBiZWVuIGlkZW50aWZpZWQgYXMgc3BhbS4gUGxlYXNlIHdhaXQgZm9yIDMwIHNlY29uZHMgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlLiIsIndhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0IjoiRmlyc3QgbWVzc2FnZSBjYW5ub3QgYmUgYSBmaWxlIiwid2lkZ2V0UHJldmlldy5jb250YWN0TWVzc2FnZSI6IvCfjokgTG9va3MgZmFudGFzdGljISDwn5Kq8J+PuyBMZXTCtHMgcm9jayB0aG9zZSBjb252ZXJzYXRpb25zIGFuZCBsZWF2ZSBhIGxhc3RpbmcgaW1wcmVzc2lvbiEg8J+agCIsIndpZGdldFByZXZpZXcud2VsY29tZU1lc3NhZ2UiOiLwn5GL8J+PuyBXZWxjb21lISBUaGlzIGlzIGEgc25lYWsgcGVlayBvZiB5b3VyIGNoYXQgYm94LiBHZXQgcmVhZHkgdG8gc2hpbmUg4pyoIGluIGN1c3RvbWVyIGludGVyYWN0aW9ucyEiLCJtZXNzYWdlLmRlbGV0ZWQiOiJUaGlzIG1lc3NhZ2Ugd2FzIHJlbW92ZWQifQ=="}},"time_used":37,"timings":{"blocked":0,"dns":3,"connect":10,"send":0,"wait":8,"receive":0,"ssl":16},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/nJ4pVzGWVH0","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.262Z","timestamp":1785129949262,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /embed/nJ4pVzGWVH0 HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://digitaltradeinvest.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/html; charset=utf-8\r\nx-content-type-options: nosniff\r\ncontent-security-policy: script-src 'unsafe-eval' 'self' 'unsafe-inline' https://www.google.com https://apis.google.com https://ssl.gstatic.com https://www.gstatic.com https://www.googletagmanager.com https://www.google-analytics.com https://*.youtube.com https://*.google.com https://*.gstatic.com https://youtube.com https://www.youtube.com https://google.com https://*.doubleclick.net https://*.googleapis.com https://www.googleadservices.com https://tpc.googlesyndication.com https://www.youtubekids.com https://www.youtube-nocookie.com https://www.youtubeeducation.com https://www-onepick-opensocial.googleusercontent.com;report-uri https://csp.withgoogle.com/csp/youtube_main/allowlist, require-trusted-types-for 'script', base-uri 'self';object-src 'none';script-src 'nonce-rglohSz77vj5Dp-pW2xc1A' 'unsafe-inline' 'strict-dynamic' https: http: 'unsafe-eval';report-uri https://csp.withgoogle.com/csp/youtube_main/strict\r\ncache-control: no-cache, no-store, max-age=0, must-revalidate\r\npragma: no-cache\r\nexpires: Mon, 01 Jan 1990 00:00:00 GMT\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\np3p: CP=\"This is not a P3P policy! See http://support.google.com/accounts/answer/151657?hl=en for more info.\"\r\nstrict-transport-security: max-age=31536000\r\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\r\npermissions-policy: ch-ua-arch=*, ch-ua-bitness=*, ch-ua-full-version=*, ch-ua-full-version-list=*, ch-ua-model=*, ch-ua-wow64=*, ch-ua-form-factors=*, ch-ua-platform=*, ch-ua-platform-version=*\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube_main\"\r\nreport-to: {\"group\":\"youtube_main\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube_main\"}]},{\"group\":\"youtube_main-connectionallowlist\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/youtube_main/connectionallowlist\"}]}\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-embedder-policy-report-only: require-corp; report-to=\"youtube_main\"\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=Y86QxWc2wspm6WKliG6cvxBK8NkpNXQroiBS47NRgeVbvRn0DWCoYseRqRazqmSOdHbbMJmkkZedU_u1aoWenw4mSZeDyINDj5M6GNNFVdRgeJwwsFuRPrtkVBGK3FI8iX2-ZqALkIdyRCOIjGqHnVRpkJOAR5dZFXRfdW_VYqPwnFvwWrC-ZyHrQYM8jC8R0ysvV6BK2PSHPx_VKg9T3M5vn97sRDI3kvPhkBG-ape94sGf2qmcNorhzexuRbHNvf_vZ0UDcDLzSD1-70GEkSs9HYgn-SoFYApcnC2v7GpW_NHYLtPISePh_T92C68DJuwMSHp6_iSyvVav3cDGug; expires=Sat, 23-Jan-2027 05:25:49 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\nYSC=OvoZWi5azv8; Domain=.youtube.com; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=CI65pN7smYv5_gEQ-bmGpI_ylQMY-bmGpI_ylQM%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=none; Partitioned\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=5VtanCBRVog; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgIQ%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 05:25:49 GMT; Path=/; Secure; HttpOnly; SameSite=none\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":145038,"size_decoded":60578,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (52140)","md5":"f4a07954ee75b1bf25fbd0b7924749de","sha1":"8c10b7a8b0837d916960b34ffd5f6eaeec2ff31a","sha256":"d1ba53de3736bffbfa3a6f25d5607bf351beeda07a1ff18c796bd2187b6bbf81","sha512":"4b15f65b7cc58e69331a226baa4e6a1611374e76c58357a492af7b2e50cd284d08c6f54bdd5c775411e12613ffeaec7f104e3151358fe40788aa728f4dea20c2","ssdeep":"1536:ZXQVQwjM0eYVMSbBMzhGOP2Do43UEwg0ItZRpYPk01P5/ck4AsWXpekKH:iVpj0YmhP2D0Ewg0qpYs0X/ndsVB","tlshash":"bee32b240868a876c5939847eeb9ff3e9cf8023947c995adbcbb935c01dc6510eaf417","first_seen":"2026-07-27T05:26:45.211595Z","last_seen":"2026-07-27T05:26:45.211595Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIiBkYXRhLWNhc3QtYXBpLWVuYWJsZWQ9InRydWUiPjxoZWFkPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+PHNjcmlwdCBub25jZT0icmdsb2hTejc3dmo1RHAtcFcyeGMxQSI+aWYgKCd1bmRlZmluZWQnID09IHR5cGVvZiBTeW1ib2wgfHwgJ3VuZGVmaW5lZCcgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvcikge2RlbGV0ZSBBcnJheS5wcm90b3R5cGUuZW50cmllczt9PC9zY3JpcHQ+PHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8iIG5vbmNlPSJCaXJqdTlJY1dyenExR0RDZzNzLVNnIj5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAxLFUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzNzcsVSswMzdBLTAzN0YsVSswMzg0LTAzOEEsVSswMzhDLFUrMDM4RS0wM0ExLFUrMDNBMy0wM0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAyLTAzMDMsVSswMzA1LFUrMDMwNy0wMzA4LFUrMDMxMCxVKzAzMTIsVSswMzE1LFUrMDMxQSxVKzAzMjYtMDMyNyxVKzAzMkMsVSswMzJGLTAzMzAsVSswMzMyLTAzMzMsVSswMzM4LFUrMDMzQSxVKzAzNDYsVSswMzRELFUrMDM5MS0wM0ExLFUrMDNBMy0wM0E5LFUrMDNCMS0wM0M5LFUrMDNEMSxVKzAzRDUtMDNENixVKzAzRjAtMDNGMSxVKzAzRjQtMDNGNSxVKzIwMTYtMjAxNyxVKzIwMzQtMjAzOCxVKzIwM0MsVSsyMDQwLFUrMjA0MyxVKzIwNDcsVSsyMDUwLFUrMjA1NyxVKzIwNUYsVSsyMDcwLTIwNzEsVSsyMDc0LTIwOEUsVSsyMDkwLTIwOUMsVSsyMEQwLTIwREMsVSsyMEUxLFUrMjBFNS0yMEVGLFUrMjEwMC0yMTEyLFUrMjExNC0yMTE1LFUrMjExNy0yMTIxLFUrMjEyMy0yMTRGLFUrMjE5MCxVKzIxOTIsVSsyMTk0LTIxQUUsVSsyMUIwLTIxRTUsVSsyMUYxLTIxRjIsVSsyMUY0LTIyMTEsVSsyMjEzLTIyMTQsVSsyMjE2LTIyRkYsVSsyMzA4LTIzMEIsVSsyMzEwLFUrMjMxOSxVKzIzMUMtMjMyMSxVKzIzMzYtMjM3QSxVKzIzN0MsVSsyMzk1LFUrMjM5Qi0yM0I3LFUrMjNEMCxVKzIzREMtMjNFMSxVKzI0NzQtMjQ3NSxVKzI1QUYsVSsyNUIzLFUrMjVCNyxVKzI1QkQsVSsyNUMxLFUrMjVDQSxVKzI1Q0MsVSsyNUZCLFUrMjY2RC0yNjZGLFUrMjdDMC0yN0ZGLFUrMjkwMC0yQUZGLFUrMkIwRS0yQjExLFUrMkIzMC0yQjRDLFUrMkJGRSxVKzMwMzAsVStGRjVCLFUrRkY1RCxVKzFENDAwLTFEN0ZGLFUrMUVFMDAtMUVFRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDEtMDAwQyxVKzAwMEUtMDAxRixVKzAwN0YtMDA5RixVKzIwREQtMjBFMCxVKzIwRTItMjBFNCxVKzIxNTAtMjE4RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMTk5LFUrMjFBRixVKzIxRTYtMjFGMCxVKzIxRjMsVSsyMjE4LTIyMTksVSsyMjk5LFUrMjJDNC0yMkM2LFUrMjMwMC0yNDNGLFUrMjQ0MC0yNDRBLFUrMjQ2MC0yNEZGLFUrMjVBMC0yN0JGLFUrMjgwMC0yOEZGLFUrMjkyMS0yOTIyLFUrMjk4MSxVKzI5QkYsVSsyOUVCLFUrMkIwMC0yQkZGLFUrNERDMC00REZGLFUrRkZGOS1GRkZCLFUrMTAxNDAtMTAxOEUsVSsxMDE5MC0xMDE5QyxVKzEwMUEwLFUrMTAxRDAtMTAxRkQsVSsxMDJFMC0xMDJGQixVKzEwRTYwLTEwRTdFLFUrMUQyQzAtMUQyRDMsVSsxRDJFMC0xRDM3RixVKzFGMDAwLTFGMEZGLFUrMUYxMDAtMUYxQUQsVSsxRjFFNi0xRjFGRixVKzFGMzBELTFGMzBGLFUrMUYzMTUsVSsxRjMxQyxVKzFGMzFFLFUrMUYzMjAtMUYzMkMsVSsxRjMzNixVKzFGMzc4LFUrMUYzN0QsVSsxRjM4MixVKzFGMzkzLTFGMzlGLFUrMUYzQTctMUYzQTgsVSsxRjNBQy0xRjNBRixVKzFGM0MyLFUrMUYzQzQtMUYzQzYsVSsxRjNDQS0xRjNDRSxVKzFGM0Q0LTFGM0UwLFUrMUYzRUQsVSsxRjNGMS0xRjNGMyxVKzFGM0Y1LTFGM0Y3LFUrMUY0MDgsVSsxRjQxNSxVKzFGNDFGLFUrMUY0MjYsVSsxRjQzRixVKzFGNDQxLTFGNDQyLFUrMUY0NDQsVSsxRjQ0Ni0xRjQ0OSxVKzFGNDRDLTFGNDRFLFUrMUY0NTMsVSsxRjQ2QSxVKzFGNDdELFUrMUY0QTMsVSsxRjRCMCxVKzFGNEIzLFUrMUY0QjksVSsxRjRCQixVKzFGNEJGLFUrMUY0QzgtMUY0Q0IsVSsxRjRENixVKzFGNERBLFUrMUY0REYsVSsxRjRFMy0xRjRFNixVKzFGNEVBLTFGNEVELFUrMUY0RjcsVSsxRjRGOS0xRjRGQixVKzFGNEZELTFGNEZFLFUrMUY1MDMsVSsxRjUwNy0xRjUwQixVKzFGNTBELFUrMUY1MTItMUY1MTMsVSsxRjUzRS0xRjU0QSxVKzFGNTRGLTFGNUZBLFUrMUY2MTAsVSsxRjY1MC0xRjY3RixVKzFGNjg3LFUrMUY2OEQsVSsxRjY5MSxVKzFGNjk0LFUrMUY2OTgsVSsxRjZBRCxVKzFGNkIyLFUrMUY2QjktMUY2QkEsVSsxRjZCQyxVKzFGNkM2LTFGNkNGLFUrMUY2RDMtMUY2RDcsVSsxRjZFMC0xRjZFQSxVKzFGNkYwLTFGNkYzLFUrMUY2RjctMUY2RkMsVSsxRjcwMC0xRjdGRixVKzFGODAwLTFGODBCLFUrMUY4MTAtMUY4NDcsVSsxRjg1MC0xRjg1OSxVKzFGODYwLTFGODg3LFUrMUY4OTAtMUY4QUQsVSsxRjhCMC0xRjhCQixVKzFGOEMwLTFGOEMxLFUrMUY5MDAtMUY5MEIsVSsxRjkzQixVKzFGOTQ2LFUrMUY5ODQsVSsxRjk5NixVKzFGOUU5LFUrMUZBMDAtMUZBNkYsVSsxRkE3MC0xRkE3QyxVKzFGQTgwLTFGQTg5LFUrMUZBOEYtMUZBQzYsVSsxRkFDRS0xRkFEQyxVKzFGQURGLTFGQUU5LFUrMUZBRjAtMUZBRjgsVSsxRkIwMC0xRkJGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMi0wMTAzLFUrMDExMC0wMTExLFUrMDEyOC0wMTI5LFUrMDE2OC0wMTY5LFUrMDFBMC0wMUExLFUrMDFBRi0wMUIwLFUrMDMwMC0wMzAxLFUrMDMwMy0wMzA0LFUrMDMwOC0wMzA5LFUrMDMyMyxVKzAzMjksVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyQkEsVSswMkJELTAyQzUsVSswMkM3LTAyQ0MsVSswMkNFLTAyRDcsVSswMkRELTAyRkYsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsyMDAwLTIwNkYsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRDt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQ2MC0wNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMSxVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzFGMDAtMUZGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDM3MC0wMzc3LFUrMDM3QS0wMzdGLFUrMDM4NC0wMzhBLFUrMDM4QyxVKzAzOEUtMDNBMSxVKzAzQTMtMDNGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMi0wMzAzLFUrMDMwNSxVKzAzMDctMDMwOCxVKzAzMTAsVSswMzEyLFUrMDMxNSxVKzAzMUEsVSswMzI2LTAzMjcsVSswMzJDLFUrMDMyRi0wMzMwLFUrMDMzMi0wMzMzLFUrMDMzOCxVKzAzM0EsVSswMzQ2LFUrMDM0RCxVKzAzOTEtMDNBMSxVKzAzQTMtMDNBOSxVKzAzQjEtMDNDOSxVKzAzRDEsVSswM0Q1LTAzRDYsVSswM0YwLTAzRjEsVSswM0Y0LTAzRjUsVSsyMDE2LTIwMTcsVSsyMDM0LTIwMzgsVSsyMDNDLFUrMjA0MCxVKzIwNDMsVSsyMDQ3LFUrMjA1MCxVKzIwNTcsVSsyMDVGLFUrMjA3MC0yMDcxLFUrMjA3NC0yMDhFLFUrMjA5MC0yMDlDLFUrMjBEMC0yMERDLFUrMjBFMSxVKzIwRTUtMjBFRixVKzIxMDAtMjExMixVKzIxMTQtMjExNSxVKzIxMTctMjEyMSxVKzIxMjMtMjE0RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMUFFLFUrMjFCMC0yMUU1LFUrMjFGMS0yMUYyLFUrMjFGNC0yMjExLFUrMjIxMy0yMjE0LFUrMjIxNi0yMkZGLFUrMjMwOC0yMzBCLFUrMjMxMCxVKzIzMTksVSsyMzFDLTIzMjEsVSsyMzM2LTIzN0EsVSsyMzdDLFUrMjM5NSxVKzIzOUItMjNCNyxVKzIzRDAsVSsyM0RDLTIzRTEsVSsyNDc0LTI0NzUsVSsyNUFGLFUrMjVCMyxVKzI1QjcsVSsyNUJELFUrMjVDMSxVKzI1Q0EsVSsyNUNDLFUrMjVGQixVKzI2NkQtMjY2RixVKzI3QzAtMjdGRixVKzI5MDAtMkFGRixVKzJCMEUtMkIxMSxVKzJCMzAtMkI0QyxVKzJCRkUsVSszMDMwLFUrRkY1QixVK0ZGNUQsVSsxRDQwMC0xRDdGRixVKzFFRTAwLTFFRUZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAxLTAwMEMsVSswMDBFLTAwMUYsVSswMDdGLTAwOUYsVSsyMERELTIwRTAsVSsyMEUyLTIwRTQsVSsyMTUwLTIxOEYsVSsyMTkwLFUrMjE5MixVKzIxOTQtMjE5OSxVKzIxQUYsVSsyMUU2LTIxRjAsVSsyMUYzLFUrMjIxOC0yMjE5LFUrMjI5OSxVKzIyQzQtMjJDNixVKzIzMDAtMjQzRixVKzI0NDAtMjQ0QSxVKzI0NjAtMjRGRixVKzI1QTAtMjdCRixVKzI4MDAtMjhGRixVKzI5MjEtMjkyMixVKzI5ODEsVSsyOUJGLFUrMjlFQixVKzJCMDAtMkJGRixVKzREQzAtNERGRixVK0ZGRjktRkZGQixVKzEwMTQwLTEwMThFLFUrMTAxOTAtMTAxOUMsVSsxMDFBMCxVKzEwMUQwLTEwMUZELFUrMTAyRTAtMTAyRkIsVSsxMEU2MC0xMEU3RSxVKzFEMkMwLTFEMkQzLFUrMUQyRTAtMUQzN0YsVSsxRjAwMC0xRjBGRixVKzFGMTAwLTFGMUFELFUrMUYxRTYtMUYxRkYsVSsxRjMwRC0xRjMwRixVKzFGMzE1LFUrMUYzMUMsVSsxRjMxRSxVKzFGMzIwLTFGMzJDLFUrMUYzMzYsVSsxRjM3OCxVKzFGMzdELFUrMUYzODIsVSsxRjM5My0xRjM5RixVKzFGM0E3LTFGM0E4LFUrMUYzQUMtMUYzQUYsVSsxRjNDMixVKzFGM0M0LTFGM0M2LFUrMUYzQ0EtMUYzQ0UsVSsxRjNENC0xRjNFMCxVKzFGM0VELFUrMUYzRjEtMUYzRjMsVSsxRjNGNS0xRjNGNyxVKzFGNDA4LFUrMUY0MTUsVSsxRjQxRixVKzFGNDI2LFUrMUY0M0YsVSsxRjQ0MS0xRjQ0MixVKzFGNDQ0LFUrMUY0NDYtMUY0NDksVSsxRjQ0Qy0xRjQ0RSxVKzFGNDUzLFUrMUY0NkEsVSsxRjQ3RCxVKzFGNEEzLFUrMUY0QjAsVSsxRjRCMyxVKzFGNEI5LFUrMUY0QkIsVSsxRjRCRixVKzFGNEM4LTFGNENCLFUrMUY0RDYsVSsxRjREQSxVKzFGNERGLFUrMUY0RTMtMUY0RTYsVSsxRjRFQS0xRjRFRCxVKzFGNEY3LFUrMUY0RjktMUY0RkIsVSsxRjRGRC0xRjRGRSxVKzFGNTAzLFUrMUY1MDctMUY1MEIsVSsxRjUwRCxVKzFGNTEyLTFGNTEzLFUrMUY1M0UtMUY1NEEsVSsxRjU0Ri0xRjVGQSxVKzFGNjEwLFUrMUY2NTAtMUY2N0YsVSsxRjY4NyxVKzFGNjhELFUrMUY2OTEsVSsxRjY5NCxVKzFGNjk4LFUrMUY2QUQsVSsxRjZCMixVKzFGNkI5LTFGNkJBLFUrMUY2QkMsVSsxRjZDNi0xRjZDRixVKzFGNkQzLTFGNkQ3LFUrMUY2RTAtMUY2RUEsVSsxRjZGMC0xRjZGMyxVKzFGNkY3LTFGNkZDLFUrMUY3MDAtMUY3RkYsVSsxRjgwMC0xRjgwQixVKzFGODEwLTFGODQ3LFUrMUY4NTAtMUY4NTksVSsxRjg2MC0xRjg4NyxVKzFGODkwLTFGOEFELFUrMUY4QjAtMUY4QkIsVSsxRjhDMC0xRjhDMSxVKzFGOTAwLTFGOTBCLFUrMUY5M0IsVSsxRjk0NixVKzFGOTg0LFUrMUY5OTYsVSsxRjlFOSxVKzFGQTAwLTFGQTZGLFUrMUZBNzAtMUZBN0MsVSsxRkE4MC0xRkE4OSxVKzFGQThGLTFGQUM2LFUrMUZBQ0UtMUZBREMsVSsxRkFERi0xRkFFOSxVKzFGQUYwLTFGQUY4LFUrMUZCMDAtMUZCRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzAxMjgtMDEyOSxVKzAxNjgtMDE2OSxVKzAxQTAtMDFBMSxVKzAxQUYtMDFCMCxVKzAzMDAtMDMwMSxVKzAzMDMtMDMwNCxVKzAzMDgtMDMwOSxVKzAzMjMsVSswMzI5LFUrMUVBMC0xRUY5LFUrMjBBQjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMkJBLFUrMDJCRC0wMkM1LFUrMDJDNy0wMkNDLFUrMDJDRS0wMkQ3LFUrMDJERC0wMkZGLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkQ7fTwvc3R5bGU+PHNjcmlwdCBuYW1lPSJ3d3ctcm9ib3RvIiBub25jZT0icmdsb2hTejc3dmo1RHAtcFcyeGMxQSI+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBSb2JvdG8iLCAiRSIpOyBkb2N1bWVudC5mb250cy5sb2FkKCI1MDAgMTBwdCBSb2JvdG8iLCAiRSIpO308L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyIgbmFtZT0id3d3LXBsYXllciIgbm9uY2U9IkJpcmp1OUljV3J6cTFHRENnM3MtU2ciPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvXy95dGVtYmVkcy9fL3NzL2s9eXRlbWJlZHMuYmFzZS5OeG5pdXVaRVRady5MLkY0Lk8vYW09QUFBQWdBL2Q9MC9icj0xL3JzPUFHS015d0d4NHR4aEZKaGNydXRLWXNmUG1TNG1GYzZvSlEiIG5hbWU9ImVtYmVkLXVpIiBub25jZT0iQmlyanU5SWNXcnpxMUdEQ2czcy1TZyI+PHN0eWxlIG5vbmNlPSJCaXJqdTlJY1dyenExR0RDZzNzLVNnIj5odG1sIHtvdmVyZmxvdzogaGlkZGVuO31ib2R5IHtmb250OiAxMnB4IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGNvbG9yOiAjZmZmOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbjogMDsgcGFkZGluZzogMDt9I3BsYXllciB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9aDEge3RleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNmZmY7fWgzIHttYXJnaW4tdG9wOiA2cHg7IG1hcmdpbi1ib3R0b206IDNweDt9LnBsYXllci11bmF2YWlsYWJsZSB7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHBhZGRpbmc6IDI1cHg7IGZvbnQtc2l6ZTogMTNweDsgYmFja2dyb3VuZDogdXJsKC9pbWcvbWVoNy5wbmcpIDUwJSA2NSUgbm8tcmVwZWF0O30ucGxheWVyLXVuYXZhaWxhYmxlIC5tZXNzYWdlIHt0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW46IDAgLTVweCAxNXB4OyBwYWRkaW5nOiAwIDVweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg4ODsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogbm9ybWFsO30ucGxheWVyLXVuYXZhaWxhYmxlIGEge2NvbG9yOiAjMTY3YWM2OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fTwvc3R5bGU+PHNjcmlwdCBub25jZT0icmdsb2hTejc3dmo1RHAtcFcyeGMxQSI+dmFyIHl0Y3NpPXtndDpmdW5jdGlvbihuKXtuPShufHwiIikrImRhdGFfIjtyZXR1cm4geXRjc2lbbl18fCh5dGNzaVtuXT17dGljazp7fSxpbmZvOnt9LGdlbDp7cHJlTG9nZ2VkR2VsSW5mb3M6W119fSl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3cmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P2Z1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0sdGljazpmdW5jdGlvbihsLHQsbil7dmFyIHRpY2tzPXl0Y3NpLmd0KG4pLnRpY2s7dmFyIHY9dHx8eXRjc2kubm93KCk7aWYodGlja3NbbF0pe3RpY2tzWyJfIitsXT10aWNrc1siXyIrbF18fFt0aWNrc1tsXV07dGlja3NbIl8iK2xdLnB1c2godil9dGlja3NbbF09CnZ9LGluZm86ZnVuY3Rpb24oayx2LG4pe3l0Y3NpLmd0KG4pLmluZm9ba109dn0saW5mb0dlbDpmdW5jdGlvbihwLG4pe3l0Y3NpLmd0KG4pLmdlbC5wcmVMb2dnZWRHZWxJbmZvcy5wdXNoKHApfSxzZXRTdGFydDpmdW5jdGlvbih0LG4pe3l0Y3NpLnRpY2soIl9zdGFydCIsdCxuKX19OwooZnVuY3Rpb24odyxkKXtmdW5jdGlvbiBpc0dlY2tvKCl7aWYoIXcubmF2aWdhdG9yKXJldHVybiBmYWxzZTt0cnl7aWYody5uYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmdy5uYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMmJncubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzLmxlbmd0aCl7dmFyIGJyYW5kcz13Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kczt2YXIgaT0wO2Zvcig7aTxicmFuZHMubGVuZ3RoO2krKylpZihicmFuZHNbaV0mJmJyYW5kc1tpXS5icmFuZD09PSJGaXJlZm94IilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9fWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlO30pfWlmKCF3Lm5hdmlnYXRvci51c2VyQWdlbnQpcmV0dXJuIGZhbHNlO3ZhciB1YT13Lm5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuIHVhLmluZGV4T2YoIkdlY2tvIik+MCYmdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKTwwJiZ1YS5pbmRleE9mKCJFZGdlIik8CjAmJnVhLmluZGV4T2YoIlRyaWRlbnQiKTwwJiZ1YS5pbmRleE9mKCJNU0lFIik8MH15dGNzaS5zZXRTdGFydCh3LnBlcmZvcm1hbmNlP3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQ6bnVsbCk7dmFyIGlzUHJlcmVuZGVyPShkLnZpc2liaWxpdHlTdGF0ZXx8ZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPT0icHJlcmVuZGVyIjt2YXIgdk5hbWU9IWQudmlzaWJpbGl0eVN0YXRlJiZkLndlYmtpdFZpc2liaWxpdHlTdGF0ZT8id2Via2l0dmlzaWJpbGl0eWNoYW5nZSI6InZpc2liaWxpdHljaGFuZ2UiO2lmKGlzUHJlcmVuZGVyKXt2YXIgc3RhcnRUaWNrPWZ1bmN0aW9uKCl7eXRjc2kuc2V0U3RhcnQoKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsc3RhcnRUaWNrKX07ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLHN0YXJ0VGljayxmYWxzZSl9aWYoZC5hZGRFdmVudExpc3RlbmVyKWQuYWRkRXZlbnRMaXN0ZW5lcih2TmFtZSxmdW5jdGlvbigpe3l0Y3NpLnRpY2soInZjIil9LApmYWxzZSk7aWYoaXNHZWNrbygpKXt2YXIgaXNIaWRkZW49KGQudmlzaWJpbGl0eVN0YXRlfHxkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSk9PSJoaWRkZW4iO2lmKGlzSGlkZGVuKXl0Y3NpLnRpY2soInZjIil9dmFyIHNsdD1mdW5jdGlvbihlbCx0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49eXRjc2kubm93KCk7ZWwubG9hZFRpbWU9bjtpZihlbC5zbHQpZWwuc2x0KCl9LHQpfTt3Ll9feXRSSUw9ZnVuY3Rpb24oZWwpe2lmKCFlbC5nZXRBdHRyaWJ1dGUoImRhdGEtdGh1bWIiKSlpZih3LnJlcXVlc3RBbmltYXRpb25GcmFtZSl3LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3NsdChlbCwwKX0pO2Vsc2Ugc2x0KGVsLDE2KX19KSh3aW5kb3csZG9jdW1lbnQpOwo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJyZ2xvaFN6Nzd2ajVEcC1wVzJ4YzFBIj52YXIgeXRjZmc9e2Q6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lnl0JiZ5dC5jb25maWdffHx5dGNmZy5kYXRhX3x8KHl0Y2ZnLmRhdGFfPXt9KX0sZ2V0OmZ1bmN0aW9uKGssbyl7cmV0dXJuIGsgaW4geXRjZmcuZCgpP3l0Y2ZnLmQoKVtrXTpvfSxzZXQ6ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7aWYoYS5sZW5ndGg+MSl5dGNmZy5kKClbYVswXV09YVsxXTtlbHNle3ZhciBrO2ZvcihrIGluIGFbMF0peXRjZmcuZCgpW2tdPWFbMF1ba119fX07Cnl0Y2ZnLnNldCh7IkNMSUVOVF9DQU5BUllfU1RBVEUiOiJub25lIiwiREVWSUNFIjoiY2JyXHUwMDNkRmlyZWZveFx1MDAyNmNicnZlclx1MDAzZDEzNC4wXHUwMDI2Y2VuZ1x1MDAzZEdlY2tvXHUwMDI2Y2VuZ3Zlclx1MDAzZDEzNC4wXHUwMDI2Y29zXHUwMDNkV2luZG93c1x1MDAyNmNvc3Zlclx1MDAzZDEwLjBcdTAwMjZjcGxhdGZvcm1cdTAwM2RERVNLVE9QIiwiRVZFTlRfSUQiOiIzZXRtYXNqS0VyZWt0TmNQdktXTzBRYyIsIkVYUEVSSU1FTlRfRkxBR1MiOnsiYWJfZGV0X2FwYl9iIjp0cnVlLCJhYl9kZXRfYXBtIjp0cnVlLCJhYl9kZXRfZWxfaCI6dHJ1ZSwiYWN0aW9uX2NvbXBhbmlvbl9jZW50ZXJfYWxpZ25fZGVzY3JpcHRpb24iOnRydWUsImFsbG93X3NraXBfbmV0d29ya2xlc3MiOnRydWUsImFsd2F5c19zZW5kX2FuZF93cml0ZSI6dHJ1ZSwiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyI6dHJ1ZSwiYXR0bXVzaSI6dHJ1ZSwiYzNfZW5hYmxlX2J1dHRvbl9pbXByZXNzaW9uX2xvZ2dpbmciOnRydWUsImMzX3dhdGNoX3BhZ2VfY29tcG9uZW50Ijp0cnVlLCJjYW5jZWxfcGVuZGluZ19uYXZzIjp0cnVlLCJjbGllbnRfdWlfZW5hYmxlX211bHRpX3RyYWNrX2F1ZGlvX29uX3dlYl9lbWJlZGRlZF9wbGF5ZXIiOnRydWUsImNvbmZpZ19hZ2VfcmVwb3J0X2tpbGxzd2l0Y2giOnRydWUsImNvd19vcHRpbWl6ZV9pZG9tX2NvbXBhdCI6dHJ1ZSwiY3NpX29uX2dlbCI6dHJ1ZSwiZGVkdXBwaW5nX3NlcnZlcl92ZSI6dHJ1ZSwiZGVsaGlfbXdlYl9jb2xvcmZ1bF9zZCI6dHJ1ZSwiZGVsaGlfbXdlYl9jb2xvcmZ1bF9zZF92MiI6dHJ1ZSwiZGVwcmVjYXRlX3BhaXJfc2VydmxldF9lbmFibGVkIjp0cnVlLCJkZXNrdG9wX3NwYXJrbGVzX2xpZ2h0X2N0YV9idXR0b24iOnRydWUsImRpc2FibGVfY2hpbGRfbm9kZV9hdXRvX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJkaXNhYmxlX2xvZ190b192aXNpdG9yX2xheWVyIjp0cnVlLCJkaXNhYmxlX21pbmlfYXBwX2NvbnRhaW5lcl93ZWJfdmlld19pbnNldHMiOnRydWUsImRpc2FibGVfcGFjZl9sb2dnaW5nX2Zvcl9tZW1vcnlfbGltaXRlZF90diI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX25vbm1vYmlsZV9lbGlnaWJsZSI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b2ZmX25vbm1vYmlsZV9lbmFibGVkIjp0cnVlLCJlbWJlZHNfZGVza3RvZmZfc2F2ZV91c2VyX3ZvbHVtZSI6dHJ1ZSwiZW1iZWRzX2Rlc2t0b3BfZW5hYmxlX3ZvbHVtZV9zbGlkZXIiOnRydWUsImVtYmVkc19lbmFibGVfY2hhbm5lbF9zdWJzY3JpYmVfZGVwcmVjYXRpb24iOnRydWUsImVtYmVkc19lbmFibGVfZGVsYXlfY29udHJvbHNfaGlkZSI6dHJ1ZSwiZW1iZWRzX2VuYWJsZV9laWRfZW5mb3JjZW1lbnRfZm9yX3lvdXR1YmUiOnRydWUsImVtYmVkc19lbmFibGVfZW1jM2RzX3BmcCI6dHJ1ZSwiZW1iZWRzX211dGVkX2F1dG9wbGF5X3NvdW5kX2ZpeCI6dHJ1ZSwiZW1iZWRzX3NlcnZlX2VzNl9jbGllbnQiOnRydWUsImVtYmVkc193ZWJfdXBkYXRlZF9zaG9ydHNfZGVmaW5pdGlvbl9maXgiOnRydWUsImVuYWJsZV9hMTF5X2ZvY3VzX2ZpeF9mb3JfbWFjX3BhbmVsX29uX2Rlc2t0b3AiOnRydWUsImVuYWJsZV9hY2Nlc3NfY29kZV9zZXJ2aWNlX3JwYyI6dHJ1ZSwiZW5hYmxlX2FjdGl2ZV92aWV3X2Rpc3BsYXlfYWRfcmVuZGVyZXJfd2ViX2hvbWUiOnRydWUsImVuYWJsZV9haV9zZWFyY2hfaW5uZXJ0dWJlX20wX2ZpeGVzIjp0cnVlLCJlbmFibGVfYW5kcm9pZF93ZWJfdmlld190b3BfaW5zZXRzX2J1Z2ZpeCI6dHJ1ZSwiZW5hYmxlX2F0dGVudGlvbl9sb2dnaW5nX21lYXN1cmVfb25fc2hvd24iOnRydWUsImVuYWJsZV9hdV91MTZfdmVyaWZ5X2FnZV9wYWdlIjp0cnVlLCJlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVjayI6dHJ1ZSwiZW5hYmxlX2NsaWVudF9zbGlfbG9nZ2luZyI6dHJ1ZSwiZW5hYmxlX2NsaWVudF9zdHJlYW16X3dlYiI6dHJ1ZSwiZW5hYmxlX2NsaWVudF92ZV9zcGVjIjp0cnVlLCJlbmFibGVfY2xvdWRfc2F2ZV9lcnJvcl9wb3B1cF9hZnRlcl9yZXRyeSI6dHJ1ZSwiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiI6dHJ1ZSwiZW5hYmxlX2RhaV9zZGZfaDVfcHJlcm9sbCI6dHJ1ZSwiZW5hYmxlX2RhdGFzeW5jX2lkX2hlYWRlcl9pbl93ZWJfdnNzX3BpbmdzIjp0cnVlLCJlbmFibGVfZGVmYXVsdF9tb25vX2N0YV9taWdyYXRpb25fd2ViX2NsaWVudCI6dHJ1ZSwiZW5hYmxlX2RvY2tlZF9jaGF0X21lc3NhZ2VzIjp0cnVlLCJlbmFibGVfZHJvcF9zaGFkb3dfZXhwZXJpbWVudCI6dHJ1ZSwiZW5hYmxlX2VtYmVkc19uZXdfY2FwdGlvbl9sYW5ndWFnZV9waWNrZXIiOnRydWUsImVuYWJsZV9lbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2g1Ijp0cnVlLCJlbmFibGVfZW50aXR5X3N0b3JlX2Zyb21fZGVwZW5kZW5jeV9pbmplY3Rpb24iOnRydWUsImVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGMiOnRydWUsImVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjYiI6dHJ1ZSwiZW5hYmxlX2xvZ2dpbmdfZmlyc3RfdXNlcl9hY3Rpb25fYWZ0ZXJfZ2FtZV9yZWFkeSI6dHJ1ZSwiZW5hYmxlX2x0Y19wYXJhbV9mZXRjaF9mcm9tX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX20wX2xvZ2dpbmdfZml4ZXMiOnRydWUsImVuYWJsZV9tZW51X3JlbmRlcmVyX2J1dHRvbl9pbl9td2ViX2hjbHIiOnRydWUsImVuYWJsZV9taW5pX2FwcF9jb21tYW5kX2hhbmRsZXJfbXdlYl9maXgiOnRydWUsImVuYWJsZV9taW5pX2d1aWRlX2Rvd25sb2Fkc19pdGVtIjp0cnVlLCJlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXIiOnRydWUsImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyI6dHJ1ZSwiZW5hYmxlX25hbWVzX2hhbmRsZXNfYWNjb3VudF9zd2l0Y2hlciI6dHJ1ZSwiZW5hYmxlX25hdGl2ZV9icmlkZ2Vfdmlld19zYXZlZF9wbGF5YWJsZXMiOnRydWUsImVuYWJsZV9uZXR3b3JrX3JlcXVlc3RfbG9nZ2luZ19vbl9nYW1lX2V2ZW50cyI6dHJ1ZSwiZW5hYmxlX25ld19wYWlkX3Byb2R1Y3RfcGxhY2VtZW50Ijp0cnVlLCJlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX29wZW5feXRfY29udGVudCI6dHJ1ZSwiZW5hYmxlX29yaWdpbl9xdWVyeV9wYXJhbWV0ZXJfYnVnZml4Ijp0cnVlLCJlbmFibGVfcGF1c2VfYWRzX29uX3l0dl9odG1sNSI6dHJ1ZSwiZW5hYmxlX3BheW1lbnRzX3B1cmNoYXNlX21hbmFnZXIiOnRydWUsImVuYWJsZV9wZHBfaWNvbl9wcmVmZXRjaCI6dHJ1ZSwiZW5hYmxlX3BsYWNlX3Bpdm90X3VybCI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2NvbnRhaW5lcl9zYXZlX2J1dHRvbiI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2VudGl0eV9zYXZlX21lbnVfaXRlbSI6dHJ1ZSwiZW5hYmxlX3B0Y19ob21lX2xvY2F0aW9uX29uX3dlYiI6dHJ1ZSwiZW5hYmxlX3B2X3NjcmVlbl9tb2Rlcm5fdGV4dCI6dHJ1ZSwiZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvbiI6dHJ1ZSwiZW5hYmxlX3NkZl9jb21wYW5pb25faDUiOnRydWUsImVuYWJsZV9zZGZfZGFpX2g1X21pZHJvbGwiOnRydWUsImVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsIjp0cnVlLCJlbmFibGVfc2RmX29uX2g1X3VucGx1Z2dlZF92b2RfbWlkcm9sbCI6dHJ1ZSwiZW5hYmxlX3NkZl9zaG9ydHNfcGxheWVyX2J5dGVzX2g1Ijp0cnVlLCJlbmFibGVfc2VuZGluZ191bndyYXBwZWRfZ2FtZV9hdWRpb19hc19zZXJpYWxpemVkX21ldGFkYXRhIjp0cnVlLCJlbmFibGVfc2V0X3ZpZGVvX2lkX2luX3Nob3J0c19sb2NrdXBfdmlld19tb2RlbCI6dHJ1ZSwiZW5hYmxlX3Nmdl9lZmZlY3RfcGl2b3RfdXJsIjp0cnVlLCJlbmFibGVfc2hvcnRzX25ld19jYXJvdXNlbCI6dHJ1ZSwiZW5hYmxlX3NraXBfYWRfZ3VpZGFuY2VfcHJvbXB0Ijp0cnVlLCJlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZCI6dHJ1ZSwiZW5hYmxlX3NtZWFyaW5nX2V4cGFuc2lvbl9kYWkiOnRydWUsImVuYWJsZV9zdXBleF9td2ViX2RlbW9fd2ViZmUiOnRydWUsImVuYWJsZV90aW1lX291dF9tZXNzYWdlcyI6dHJ1ZSwiZW5hYmxlX3RpbWVsaW5lX3ZpZXdfbW9kZXJuX3RyYW5zY3JpcHRfZmUiOnRydWUsImVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyI6dHJ1ZSwiZW5hYmxlX3dlYl9ob21lX3RvcF9sYW5kc2NhcGVfaW1hZ2VfbGF5b3V0X2xldmVsX2NsaWNrIjp0cnVlLCJlbmFibGVfd2ViX3Nob3J0c19hdWRpb190cmFjayI6dHJ1ZSwiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIjp0cnVlLCJlbmFibGVfd2luZG93X2NvbnN0cmFpbmVkX2J1eV9mbG93X2RpYWxvZyI6dHJ1ZSwiZW5hYmxlX3dpel9xdWV1ZV9lZmZlY3RfYW5kX29uX2luaXRfaW5pdGlhbF9ydW5zIjp0cnVlLCJlbmFibGVfeXBjX3NwaW5uZXJzIjp0cnVlLCJlbmFibGVfeXRfYXRhX2lmcmFtZV9hdXRodXNlciI6dHJ1ZSwiZXhwb3J0X25ldHdvcmtsZXNzX29wdGlvbnMiOnRydWUsImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyI6dHJ1ZSwiZmlsbF9zaW5nbGVfdmlkZW9fd2l0aF9ub3RpZnlfdG9fbGFzciI6dHJ1ZSwiZml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViIjp0cnVlLCJoNV9jb21wYW5pb25fZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3MiOnRydWUsImg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzIjp0cnVlLCJoNV9yZXNldF9jYWNoZV9hbmRfZmlsdGVyX2JlZm9yZV91cGRhdGVfbWFzdGhlYWQiOnRydWUsImhpZGVfY2hhbm5lbF9jcmVhdGlvbl90aXRsZV9mb3JfbXdlYiI6dHJ1ZSwiaGlnaF9jY3ZfY2xpZW50X3NpZGVfY2FjaGluZ19oNSI6dHJ1ZSwiaHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YSI6dHJ1ZSwiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiOnRydWUsImlkYl9pbW1lZGlhdGVfY29tbWl0Ijp0cnVlLCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiOnRydWUsImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCI6dHJ1ZSwiaXNfYnJvd3Nlcl9zdXBwb3J0X2Zvcl93ZWJjYW1fc3RyZWFtaW5nIjp0cnVlLCJqc29uX2NvbmRlbnNlZF9yZXNwb25zZSI6dHJ1ZSwia2V2bGFyX2ZpbHRlcl91bmtub3duX3NvdXJjZSI6dHJ1ZSwia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIjp0cnVlLCJrZXZsYXJfdHJpbV9wbGF5ZXJfYmVoYXZpb3IiOnRydWUsImtldmxhcl93YXRjaF9jaW5lbWF0aWNzIjp0cnVlLCJsaW1pdF95dGNzaV9kZWJ1Z19hcnJheV9zaXplIjp0cnVlLCJsaXZlX2NoYXRfZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyIjp0cnVlLCJtYXdfZW5hYmxlX25ldHdvcmtfbWFjaGluZSI6dHJ1ZSwibWR4X2VuYWJsZV9wcml2YWN5X2Rpc2Nsb3N1cmVfdWkiOnRydWUsIm1keF9sb2FkX2Nhc3RfYXBpX2Jvb3RzdHJhcF9zY3JpcHQiOnRydWUsIm1lZGl1bV9wcm9ncmVzc19iYXJfbW9kaWZpY2F0aW9uIjp0cnVlLCJtb2JpbGVfYWNjb3VudF9tZW51X3JlZnJlc2giOnRydWUsIm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwIjp0cnVlLCJtd2ViX2FsbG93X21vZGVybl9zZWFyY2hfc3VnZ2VzdF9iZWhhdmlvciI6dHJ1ZSwibXdlYl9hbmltYXRlZF9hY3Rpb25zIjp0cnVlLCJtd2ViX2FwcF91cHNlbGxfYnV0dG9uX2RpcmVjdF90b19hcHAiOnRydWUsIm13ZWJfYmFkZ2Vfc2hhcGVfZGVmcmFnIjp0cnVlLCJtd2ViX2MzX2FwcF9wcm9tb19lbmFibGVfcmVmZXJyaW5nX2FwcCI6dHJ1ZSwibXdlYl9jM19lbmFibGVfYWRhcHRpdmVfc2lnbmFscyI6dHJ1ZSwibXdlYl9jM19saWJyYXJ5X3BhZ2VfZW5hYmxlX3JlY2VudF9zaGVsZiI6dHJ1ZSwibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIjp0cnVlLCJtd2ViX2MzX3JlbW92ZV93ZWJfbmF2aWdhdGlvbl9lbmRwb2ludF9kYXRhIjp0cnVlLCJtd2ViX2MzX3RvYXN0X3VzZV93aXpfcmVhY3RpdmVfcmVuZGVyIjp0cnVlLCJtd2ViX2MzX3VzZV9jYW5vbmljYWxfZnJvbV9wbGF5ZXJfcmVzcG9uc2UiOnRydWUsIm13ZWJfY2FydmVfb3V0X2lvc19hcHBfc3RvcmVfcmVkaXJlY3QiOnRydWUsIm13ZWJfY2FydmVfb3V0X3Rlcm1zX3BhZ2VzIjp0cnVlLCJtd2ViX2NpbmVtYXRpY193YXRjaCI6dHJ1ZSwibXdlYl9jb21tYW5kX2hhbmRsZXIiOnRydWUsIm13ZWJfZGVidWdfc3RpY2t5X3NldHRpbmdzIjp0cnVlLCJtd2ViX2RlbGF5X3dhdGNoX2luaXRpYWxfZGF0YSI6dHJ1ZSwibXdlYl9kaXNhYmxlX3NlYXJjaGJhcl9zY3JvbGwiOnRydWUsIm13ZWJfZW5hYmxlX2NsaWNrX3RvX3BsYXlfcGF1c2UiOnRydWUsIm13ZWJfZW5hYmxlX2NvbG9yZnVsX2FpX3N1bW1hcnkiOnRydWUsIm13ZWJfZW5hYmxlX2R5bmFtaWNfZG91YmxlX3RhcF90b19saWtlIjp0cnVlLCJtd2ViX2VuYWJsZV9maW5lX3NjcnViYmluZ19mb3JfcmVjcyI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19iYXRjaF9wbGF5ZXJfZnVsbHNjcmVlbiI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19iYXRjaF9wbGF5ZXJfcHJvZ3Jlc3NfYmFyIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl90b29sdGlwcyI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19jb250ZW50Ijp0cnVlLCJtd2ViX2VuYWJsZV9sb2NrdXBfdmlld19tb2RlbF9mb3JfdWNwIjp0cnVlLCJtd2ViX2VuYWJsZV9taXhfcGFuZWxfdGl0bGVfbWV0YWRhdGEiOnRydWUsIm13ZWJfZW5hYmxlX21vcmVfY2h1bmtzIjp0cnVlLCJtd2ViX2VuYWJsZV9tb3JlX2RyYXdlciI6dHJ1ZSwibXdlYl9lbmFibGVfb3B0aW9uYWxfZnVsbHNjcmVlbl9sYW5kc2NhcGVfbG9ja2luZyI6dHJ1ZSwibXdlYl9lbmFibGVfb3ZlcmxheV90b3VjaF9tYW5hZ2VyIjp0cnVlLCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiOnRydWUsIm13ZWJfZW5hYmxlX3ByZW1pdW1fY2FydmVfb3V0X2ZpeCI6dHJ1ZSwibXdlYl9lbmFibGVfcmVmcmVzaF9kZXRlY3Rpb24iOnRydWUsIm13ZWJfZW5hYmxlX3NlYXJjaF9pbXAiOnRydWUsIm13ZWJfZW5hYmxlX3Nob3J0c192aWRlb19wcmVsb2FkIjp0cnVlLCJtd2ViX2VuYWJsZV90d29fbGluZV90aXRsZV9vbl9zaG9ydHMiOnRydWUsIm13ZWJfZW5hYmxlX3ZhcmlzcGVlZF9jb250cm9sbGVyIjp0cnVlLCJtd2ViX2VuYWJsZV92aWRlb19sb29wX3RvZ2dsZSI6dHJ1ZSwibXdlYl9lbmFibGVfd2F0Y2hfZmVlZF9pbmZpbml0ZV9zY3JvbGwiOnRydWUsIm13ZWJfZml4X2NvbGRfbG9hZF9yZXNwb25zZV9hY3Rpb25zIjp0cnVlLCJtd2ViX2ZpeF9tb25pdG9yX3Zpc2liaWxpdHlfYWZ0ZXJfcmVuZGVyIjp0cnVlLCJtd2ViX2ZvcmNlX2lvc19mYWxsYmFja190b19uYXRpdmVfY29udHJvbCI6dHJ1ZSwibXdlYl9mcF9hdXRvX2Z1bGxzY3JlZW4iOnRydWUsIm13ZWJfZnBfZW5hYmxlX3Nob3J0c19zd2lwZV9sb2dnaW5nIjp0cnVlLCJtd2ViX2Z1bGxzY3JlZW5fY29udHJvbHMiOnRydWUsIm13ZWJfZnVsbHNjcmVlbl9jb250cm9sc19hY3Rpb25fYnV0dG9ucyI6dHJ1ZSwibXdlYl9mdWxsc2NyZWVuX3dhdGNoX3N5c3RlbSI6dHJ1ZSwibXdlYl9mdWxseV9yZWFjdGl2ZV9jYiI6dHJ1ZSwibXdlYl9ob21lX3JlYWN0aXZlX3Nob3J0cyI6dHJ1ZSwibXdlYl9pbm5lcnR1YmVfc2VhcmNoX2NvbW1hbmQiOnRydWUsIm13ZWJfa2Fpb3NfZW5hYmxlX2F1dG9wbGF5X3N3aXRjaF92aWV3X21vZGVsIjp0cnVlLCJtd2ViX2xhbmdfaW5faHRtbCI6dHJ1ZSwibXdlYl9saWtlX2J1dHRvbl9zeW5jZWRfd2l0aF9lbnRpdGllcyI6dHJ1ZSwibXdlYl9sb2dvX3VzZV9ob21lX3BhZ2VfdmUiOnRydWUsIm13ZWJfbG9uZ19wcmVzc19zcGVlZHVwX3ZpYnJhdGlvbiI6dHJ1ZSwibXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkIjp0cnVlLCJtd2ViX3BsYXllcl9jb250cm9sX29uX2hvdmVyIjp0cnVlLCJtd2ViX3BsYXllcl9kZWxoaV9kdHRzIjp0cnVlLCJtd2ViX3BsYXllcl9zaG93X3ByZXZpb3VzX25leHRfYnV0dG9uc19pbl9wbGF5bGlzdCI6dHJ1ZSwibXdlYl9wbGF5ZXJfc2tpcF9ub19vcF9zdGF0ZV9jaGFuZ2VzIjp0cnVlLCJtd2ViX3BsYXllcl91c2VyX3NlbGVjdF9ub25lIjp0cnVlLCJtd2ViX3BsYXlsaXN0X2VuZ2FnZW1lbnRfcGFuZWwiOnRydWUsIm13ZWJfcHJvZ3Jlc3NfYmFyX3NlZWtfb25fbW91c2VfY2xpY2siOnRydWUsIm13ZWJfcHJvcGFnYXRlX3BsYXllcl9saW5rX2NsaWNrcyI6dHJ1ZSwibXdlYl9wdWxsXzJfZnVsbCI6dHJ1ZSwibXdlYl9wdWxsXzJfZnVsbF9lbmFibGVfdG91Y2hfaGFuZGxlcnMiOnRydWUsIm13ZWJfc2NoZWR1bGVfd2FybV93YXRjaF9yZXNwb25zZSI6dHJ1ZSwibXdlYl9zZWFyY2hib3hfbGVnYWN5X25hdmlnYXRpb24iOnRydWUsIm13ZWJfc2VlX2Zld2VyX3Nob3J0cyI6dHJ1ZSwibXdlYl9zaG9ydHNfY29tbWVudHNfcGFuZWxfaWRfY2hhbmdlIjp0cnVlLCJtd2ViX3Nob3J0c19lYXJseV9jb250aW51YXRpb24iOnRydWUsIm13ZWJfc2hvcnRzX2VuYWJsZV9sb25nX3ByZXNzX3NwZWVkdXAiOnRydWUsIm13ZWJfc2hvcnRzX292ZXJsYXlfZGVwcmVjYXRlX2thaW9zX2xheW91dCI6dHJ1ZSwibXdlYl9zaG93X3NpZ25faW5fYnV0dG9uX2Zyb21faGVhZGVyIjp0cnVlLCJtd2ViX3VzZV9taWNyb2Zvcm1hdF90aXRsZV9mb3JfcG9zdHMiOnRydWUsIm13ZWJfdXNlX3NlcnZlcl91cmxfb25fc3RhcnR1cCI6dHJ1ZSwibXdlYl93YXRjaF9jYXB0aW9uc19lbmFibGVfYXV0b190cmFuc2xhdGUiOnRydWUsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfc2V0X2RlZmF1bHRfc2l6ZSI6dHJ1ZSwibXdlYl93YXRjaF9kZWxoaV9wbGF5ZXIiOnRydWUsIm13ZWJfd2F0Y2hfc3RvcF9zY2hlZHVsZXJfb25fcGxheWVyX3Jlc3BvbnNlIjp0cnVlLCJtd2ViX3dhdGNoZmVlZF9iaWdfdGh1bWJuYWlscyI6dHJ1ZSwibXdlYl95dF9zZWFyY2hib3giOnRydWUsIm5ldHdvcmtsZXNzX2xvZ2dpbmciOnRydWUsIm5vX2NsaWVudF92ZV9hdHRhY2hfdW5sZXNzX3Nob3duIjp0cnVlLCJwYWdlaWRfYXNfaGVhZGVyX3dlYiI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX2F1dG9uYXZfZml4Ijp0cnVlLCJwbGF5ZXJfY29udHJvbHNfc2tpcF9kb3VibGVfc2lnbmFsX3VwZGF0ZSI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX3VzZV9wbGF5ZXJfYXBpX2NvbnRleHQiOnRydWUsInBsYXllcl9jb250cm9sc192b2x1bWVfY29udHJvbHNfdXNlX3BsYXllcl9wcm9wcyI6dHJ1ZSwicG9seW1lcl9iYWRfYnVpbGRfbGFiZWxzIjp0cnVlLCJwb2x5bWVyX3ZlcmlmaXlfYXBwX3N0YXRlIjp0cnVlLCJxb2Vfc2VuZF9hbmRfd3JpdGUiOnRydWUsInJlbW92ZV9jaGV2cm9uX2Zyb21fYWRfZGlzY2xvc3VyZV9iYW5uZXJfaDUiOnRydWUsInJlbW92ZV9tYXN0aGVhZF9jaGFubmVsX2Jhbm5lcl9vbl9yZWZyZXNoIjp0cnVlLCJyZW1vdmVfc2xvdF9pZF9leGl0ZWRfdHJpZ2dlcl9mb3JfZGFpX2luX3BsYXllcl9zbG90X2V4cGlyZSI6dHJ1ZSwicm9zY2FzIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9lbmFibGVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2VuYWJsZWQiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfaG9tZV9wYWdlX3Byb21wdCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF93YXRjaF9wYWdlX3Byb21wdCI6dHJ1ZSwic2hlbGxfbG9hZF9nY2YiOnRydWUsInNob3J0ZW5faW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCI6dHJ1ZSwic2hvcnRzX2VuYWJsZV9yZWVsX2Nhcm91c2VsIjp0cnVlLCJzaG91bGRfdXNlX3l0X3ZvaWNlX2VuZHBvaW50X2luX2thaW9zIjp0cnVlLCJzbWFydGVyX3ZlX2RlZHVwcGluZyI6dHJ1ZSwic3RvcF9oYW5kbGluZ19jbGlja19mb3Jfbm9uX3JlbmRlcmluZ19vdmVybGF5X2xheW91dCI6dHJ1ZSwic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciOnRydWUsInN5bmNlZF9wYW5lbF9zY3JvbGxpbmdfY29udHJvbGxlciI6dHJ1ZSwidG9vbHRpcF9yZWZhY3Rvcl9mb3JfaG90a2V5Ijp0cnVlLCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiOnRydWUsInVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzcyI6dHJ1ZSwidXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiOnRydWUsInVzZV9zZXNzaW9uX2Jhc2VkX3NhbXBsaW5nIjp0cnVlLCJ1c2VfdGh1bWJuYWlsX292ZXJsYXlfdGltZV9zdGF0dXNfcmVuZGVyZXJfZm9yX2xpdmVfYmFkZ2UiOnRydWUsInZzc19maW5hbF9waW5nX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJ3YXRjaF9wdWJzdWJfcmVmYWN0b3IiOnRydWUsIndlYl9hZGFwdGl2ZV9yZXBlYXRfYXNlIjp0cnVlLCJ3ZWJfYWx3YXlzX2xvYWRfY2hhdF9zdXBwb3J0Ijp0cnVlLCJ3ZWJfYXBpX3VybCI6dHJ1ZSwid2ViX2F0dGVudGlvbl9sb2dnaW5nX2VuYWJsZWQiOnRydWUsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsIjp0cnVlLCJ3ZWJfYXR0cmlidXRlZF9zdHJpbmdfZGVlcF9lcXVhbF9idWdmaXgiOnRydWUsIndlYl9hdXRvbmF2X2FsbG93X29mZl9ieV9kZWZhdWx0Ijp0cnVlLCJ3ZWJfYnV0dG9uX29yX2FuY2hvcl9saXN0X2l0ZW0iOnRydWUsIndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhIjp0cnVlLCJ3ZWJfYnV0dG9uX3ZtX3JlZmFjdG9yX2Rpc2FibGVkIjp0cnVlLCJ3ZWJfYzNfbG9nX2FwcF9pbml0X2ZpbmlzaCI6dHJ1ZSwid2ViX2NvbW1lbnRfcGFuZWxfZWFzeV9leHBhbmQiOnRydWUsIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiOnRydWUsIndlYl9kZWR1cGVfdmVfZ3JhZnRpbmciOnRydWUsIndlYl9kaXNhYmxlX2JhY2tkcm9wX2ZpbHRlciI6dHJ1ZSwid2ViX2Rpc2FibGVfY2hpcF92aWV3X21vZGVsX211dGF0aW9uIjp0cnVlLCJ3ZWJfZW5hYmxlX2FiX3JzcF9jbCI6dHJ1ZSwid2ViX2VuYWJsZV9hZF9idXR0b25fc3R5bGVfb3ZlcnJpZGUiOnRydWUsIndlYl9lbmFibGVfYXNrX2Rpc2NsYWltZXJfdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Nhbm9uaWNhbF91cmxfbWFuYWdlciI6dHJ1ZSwid2ViX2VuYWJsZV9jb3Vyc2VfaWNvbl91cGRhdGUiOnRydWUsIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiOnRydWUsIndlYl9lbmFibGVfZXJyb3JfMjA0Ijp0cnVlLCJ3ZWJfZW5hYmxlX3RodW1ibmFpbF9vdmVybGF5X2FsaWdubWVudCI6dHJ1ZSwid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIjp0cnVlLCJ3ZWJfZ2VsX3RpbWVvdXRfY2FwIjp0cnVlLCJ3ZWJfaGlkZV95b3VyX2RhdGFfb25fYXV0b21vdGl2ZSI6dHJ1ZSwid2ViX2ltcF9lbmFibGVfY3NpX3N0YXJ0X3RpY2siOnRydWUsIndlYl9tb25vbWVyX3dlYl9jb21wb25lbnRfd3JhcHBlcl9oYW5kbGVfZXJyb3JzIjp0cnVlLCJ3ZWJfbm9uX25hdmlnYXRpbmdfYXRhZyI6dHJ1ZSwid2ViX3BhcmVudF90YXJnZXRfZm9yX3NoZWV0cyI6dHJ1ZSwid2ViX3BlcnNpc3Rfc2VydmVyX2F1dG9uYXZfc3RhdGVfb25fY2xpZW50Ijp0cnVlLCJ3ZWJfcGxheWJhY2tfYXNzb2NpYXRlZF92ZSI6dHJ1ZSwid2ViX3BsYXllcl91cGRhdGVkX2VudHJ5cG9pbnQiOnRydWUsIndlYl9wcmVmZXRjaF9wcmVsb2FkX3ZpZGVvIjp0cnVlLCJ3ZWJfcHJvZ3Jlc3NfYmFyX2RyYWdnYWJsZSI6dHJ1ZSwid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIjp0cnVlLCJ3ZWJfcmVtb3ZlX3NuYWNrYmFyX2FjdGlvbnMiOnRydWUsIndlYl9zZWN0aW9uX2xpc3RfcmVuZGVyZXJfd3JhcHBlZF9jb250ZW50cyI6dHJ1ZSwid2ViX3Nob3J0c19hdWRpb190cmFja19waWNrZXIiOnRydWUsIndlYl9zaG9ydHNfZW5hYmxlX3JlbW92ZV9zZWFyY2hfcGl2b3RfYmFja19idXR0b24iOnRydWUsIndlYl9zaG9ydHNfd25fc2hlbGZfaGVhZGVyX3R1bmluZyI6dHJ1ZSwid2ViX3VuaWZpZWRfZmV0Y2giOnRydWUsIndlYl91cGRhdGVfcGFuZWxfdmlzaWJpbGl0eV9sb2dnaW5nX2ZpeCI6dHJ1ZSwid2ViX3dhdGNoX2NvbnRyb2xzX3N0YXRlX3NpZ25hbHMiOnRydWUsIndlYmZlX213ZWJfd2F0Y2hfbWljcm9kYXRhIjp0cnVlLCJ3ZWJmZV93YXRjaF9zaG9ydHNfY2Fub25pY2FsX3VybF9maXgiOnRydWUsIndlYnBvX2V4aXRfb25fbmV0X2VyciI6dHJ1ZSwid2l6X2RpZmZfb3ZlcndyaXRhYmxlIjp0cnVlLCJ3aXpfd3JhcHBlcl9jYWxsYmFja19wcm9wc19maXgiOnRydWUsInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCI6dHJ1ZSwiSDVfYXN5bmNfbG9nZ2luZ19kZWxheV9tcyI6MzAwMDAuMCwiYXV0b3BsYXlfcGF1c2VfYnlfbGFjdF9zYW1wbGluZ19mcmFjdGlvbiI6MC4wLCJjaW5lbWF0aWNfd2F0Y2hfZWZmZWN0X29wYWNpdHkiOjAuNCwibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIjowLjEsInNwZWVkbWFzdGVyX3BsYXliYWNrX3JhdGUiOjIuMCwid2ViX2F0dGVudGlvbl9sb2dnaW5nX3Njcm9sbF90aHJvdHRsZSI6NTAwLjAsIndlYl9kZWFkX2NvZGVfZGV0ZWN0b3Jfc2FtcGxpbmdfcmF0ZSI6MC4wLCJ3ZWJfbG9hZF9wcmVkaWN0aW9uX3RocmVzaG9sZCI6MC4zLCJ3ZWJfbmF2aWdhdGlvbl9wcmVkaWN0aW9uX3RocmVzaG9sZCI6MC4xLCJ3ZWJfcGJqX2xvZ193YXJuaW5nX3JhdGUiOjAuMCwid2ViX3N5c3RlbV9oZWFsdGhfZnJhY3Rpb24iOjAuMDEsInl0aWRiX3RyYW5zYWN0aW9uX2VuZGVkX2V2ZW50X3JhdGVfbGltaXQiOjAuMDIsImF0dF9pbml0X2RlbGF5Ijo1MDAsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2VjIjowLCJib3RndWFyZF9hc3luY19zbmFwc2hvdF90aW1lb3V0X21zIjozMDAwLCJjaGVja19uYXZpZ2F0b3JfYWNjdXJhY3lfdGltZW91dF9tcyI6MCwiY2luZW1hdGljX3dhdGNoX2Nzc19maWx0ZXJfYmx1cl9zdHJlbmd0aCI6NDAsImNpbmVtYXRpY193YXRjaF9mYWRlX291dF9kdXJhdGlvbiI6NTAwLCJjbG9zZV93ZWJ2aWV3X2RlbGF5X21zIjoxMDAsImNsb3VkX3NhdmVfZ2FtZV9kYXRhX3JhdGVfbGltaXRfbXMiOjMwMDAsImNvbXByZXNzaW9uX2Rpc2FibGVfcG9pbnQiOjEwLCJjdXN0b21fYWN0aXZlX3ZpZXdfdG9zX3RpbWVvdXRfbXMiOjM2MDAwMDAsImVtYmVkc193aWRnZXRfcG9sbF9pbnRlcnZhbF9tcyI6MCwiZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19tYXhfd2luZG93X3NlY29uZHMiOjYwLCJnZWxfbWluX2JhdGNoX3NpemUiOjMsImdlbF9xdWV1ZV90aW1lb3V0X21heF9tcyI6NjAwMDAsImdldF9hc3luY190aW1lb3V0X21zIjo2MDAwMCwiaHRtbDVfYnl0ZXJhdGVfc29mdF9jYXAiOjAsImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiOjIwMDAsIm1heF9ib2R5X3NpemVfdG9fY29tcHJlc3MiOjUwMDAwMCwibWF4X3ByZWZldGNoX3dpbmRvd19zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uIjoxMCwibWluX3ByZWZldGNoX29mZnNldF9zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uIjoyMCwibWluaV9hcHBfY29udGFpbmVyX2lmcmFtZV9zcmNfdXBkYXRlX2RlbGF5X21zIjowLCJtdWx0aXBsZV9wcmV2aWV3X25ld3NfZHVyYXRpb25fdGltZSI6MTEwMDAsIm13ZWJfYzNfdG9hc3RfZHVyYXRpb25fbXMiOjUwMDAsIm13ZWJfZGVlcF9saW5rX2ZhbGxiYWNrX3RpbWVvdXRfbXMiOjEwMDAwLCJtd2ViX2RlbGF5X3Jlc3BvbnNlX3JlY2VpdmVkX2FjdGlvbnMiOjEwMCwibXdlYl9kd2VsbF9kZWxheV9tcyI6NTAwLCJtd2ViX2ZwX2RwYWRfcmF0ZV9saW1pdF9tcyI6MCwibXdlYl9mcF9kcGFkX3dhdGNoX3RpdGxlX2NsYW1wX2xpbmVzIjowLCJtd2ViX2hpc3RvcnlfbWFuYWdlcl9jYWNoZV9zaXplIjoxMDAsIm13ZWJfaW9zX2Z1bGxzY3JlZW5fcGxheWJhY2tfdHJhbnNpdGlvbl9kZWxheV9tcyI6NTAwLCJtd2ViX2lvc19mdWxsc2NyZWVuX3N5c3RlbV9wYXVzZV9lcGlsc29uX21zIjowLCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiOjAsIm13ZWJfc2hvcnRzX2Vhcmx5X2NvbnRpbnVhdGlvbl90cmlnZ2VyX3RocmVzaG9sZCI6NCwibXdlYl9zaG9ydHNfbnVtYmVyX29mX3RodW1ibmFpbHNfc2hvd24iOjIsIm13ZWJfdzJ3X21heF9hZ2Vfc2Vjb25kcyI6MCwibXdlYl93YXRjaF9jYXB0aW9uc19kZWZhdWx0X3NpemUiOjIsIm5lb25fZGFya19sYXVuY2hfZ3JhZGllbnRfY291bnQiOjAsIm5ldHdvcmtfcG9sbGluZ19pbnRlcnZhbCI6MzAwMDAsInBsYXlfcGluZ19pbnRlcnZhbF9tcyI6MTAwMDAsInNlbmRfY29uZmlnX2hhc2hfdGltZXIiOjAsInNlcnZpY2Vfd29ya2VyX3B1c2hfbG9nZ2VkX291dF9wcm9tcHRfd2F0Y2hlcyI6LTEsInNlcnZpY2Vfd29ya2VyX3B1c2hfcHJvbXB0X2NhcCI6LTEsInNlcnZpY2Vfd29ya2VyX3B1c2hfcHJvbXB0X2RlbGF5X21pY3Jvc2Vjb25kcyI6Mzg4ODAwMDAwMDAwMCwic2hvd19taW5pX2FwcF9hZF93ZWJfcmVndWxhcl9mcmVxdWVuY3lfY2FwX21zIjoyNDAwMDAsInNob3dfbWluaV9hcHBfYWRfd2ViX3Jld2FyZGVkX2ZyZXF1ZW5jeV9jYXBfbXMiOjAsInNsb3dfY29tcHJlc3Npb25zX2JlZm9yZV9hYmFuZG9uX2NvdW50Ijo0LCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiOjEwLCJzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zIjo1MDAsIndlYl9haV9zZWFyY2hfcm9sbG91dF92ZXJzaW9uIjoxLCJ3ZWJfZm9yZWdyb3VuZF9oZWFydGJlYXRfaW50ZXJ2YWxfbXMiOjI4MDAwLCJ3ZWJfZ2VsX2RlYm91bmNlX21zIjoxMDAwMCwid2ViX2xvZ2dpbmdfbWF4X2JhdGNoIjoxMDAsIndlYl9tYXhfdHJhY2luZ19ldmVudHMiOjUwLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfbW91c2Vtb3ZlX2ludGVydmFsIjowLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2Nyb2xsX2ludGVydmFsIjowLCJ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2VuZF9hZnRlcl90aW1lb3V0IjowLCJ3ZWJfdHJhY2luZ19zZXNzaW9uX3JlcGxheSI6MCwid2lsX2ljb25fbWF4X2NvbmN1cnJlbnRfZmV0Y2hlcyI6OTk5OSwieXRjc2lfZGVidWdfbWF4X3NpemUiOjEwMCwieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiOjEsInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIjowLCJXZWJDbGllbnRSZWxlYXNlUHJvY2Vzc0NyaXRpY2FsX195b3V0dWJlX2VtYmVkc19jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsIldlYkNsaWVudFJlbGVhc2VQcm9jZXNzQ3JpdGljYWxfX3lvdXR1YmVfZW1iZWRzX3dlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsImRlYnVnX2ZvcmNlZF9pbnRlcm5hbGNvdW50cnljb2RlIjoiIiwiZW5hYmxlX3dlYl9tZWRpYV9zZXJ2aWNlIjoiRElTQUJMRUQiLCJpbF9wYXlsb2FkX3NjcmFwaW5nIjoiIiwibGl2ZV9jaGF0X3VuaWNvZGVfZW1vamlfanNvbl91cmwiOiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9lbW9qaXMvZW1vamlzLXN2Zy05Lmpzb24iLCJtd2ViX2RlZXBfbGlua19mZWF0dXJlX3RhZ19zdWZmaXgiOiI1MTgzMTYxNSIsIm13ZWJfZW5hYmxlX3Nob3J0c19pbm5lcnR1YmVfcGxheWVyX3ByZWZldGNoX3RyaWdnZXIiOiJOT05FIiwibXdlYl9mcF9kcGFkIjoiaG9tZSxzZWFyY2gsYnJvd3NlLGNoYW5uZWwsY3JlYXRlX2NoYW5uZWwsZXhwZXJpbWVudHMsc2V0dGluZ3MsdHJlbmRpbmcsb29wcyw0MDQscGFpZF9tZW1iZXJzaGlwcyxzcG9uc29yc2hpcCxwcmVtaXVtLHNob3J0cyIsIm13ZWJfZnBfZHBhZF9saW5lYXJfbmF2aWdhdGlvbiI6IiIsIm13ZWJfZnBfZHBhZF9saW5lYXJfbmF2aWdhdGlvbl92aXNpdG9yIjoiIiwibXdlYl9mcF9kcGFkX3Zpc2l0b3IiOiIiLCJtd2ViX3ByZWxvYWRfdmlkZW9fYnlfcGxheWVyX3ZhcnMiOiIiLCJwbGFjZV9waXZvdF90cmlnZ2VyaW5nX2NvbnRhaW5lcl9hbHRlcm5hdGUiOiIiLCJwbGFjZV9waXZvdF90cmlnZ2VyaW5nX2NvdW50ZXJmYWN0dWFsX2NvbnRhaW5lcl9hbHRlcm5hdGUiOiIiLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2ZvcmNlX25vdGlmaWNhdGlvbl9wcm9tcHRfdGFnIjoiMSIsInNlcnZpY2Vfd29ya2VyX3Njb3BlIjoiLyIsInN1Z2dlc3RfZXhwX3N0ciI6IiIsIndlYl9jbGllbnRfdmVyc2lvbl9vdmVycmlkZSI6IiIsImVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfYWxsb3dlZF92aWRlb19pZHMiOlsiT0psd0lkb0Z6OUEiLCJBcktiQXgxSy0yVSIsIm1fZGhNU3ZVQ0ljIiwiQzFEaHBKMDdadUUiLCJOcTJ3WWxXRnVjZyIsIkpDN2YzRVVEYXF3IiwidnIzWHlWQ1I0VDAiLCJnQ05lRFdDSTB2byIsImtCVHVkbTRnZU1zIiwiRnhzZlZYNkIxTWsiLCJ5bFlKU0JVZ2FNQSIsIlZXaFE2eHNwblNjIiwiUkhVYXVNY1lsWDAiLCJjYjEyS21NTURKQSIsIldKeEVqX2hycFNnIiwiZXVoWS10bWc5eDgiLCJUbElWSTJFVzdSMCIsIk1JTmZ2T1g0QnpJIiwieUhtUFd6a2hjWjgiLCJwM3cxdk85WHYyNCIsIlZsYUNucDFmeEk4IiwiLU9mQTA0QkQ0R0EiLCIxb2RZM0lZc05ubyIsIndpVFRyVnFSVkR3IiwiRGZtMnJCLW5ROVkiLCJRbTFGdHo4bFZuSSIsIjlpdEF4cV9TR0RNIiwieUZJM3dwWHk0ekEiLCJQeTVKWVpYSnZ6byIsImI0dEU1YUtodGxnIiwiNUpEeGpzQVZhR2siLCJlVW1mR1BhenVFTSIsIlc4blRocTYyVmI0IiwiVkxqdlMzdWZsWGMiLCJCZmRMS3ZKQk1fYyIsIndlTFhkd1ZqU3hzIiwiMkphLXVQT2t6N0kiLCJBOVFCVkZFWXhPUSIsImstWkZRa2tIVWZjIiwid3V1MEQyMEFacUkiLCJfSHZpU3lDN3pTVSIsIl9feE96X1EzcVI0IiwidzJzQjg3akxFMUkiLCI4clRURU1kTWg4USIsIi1rNm1wZ214ZXJVIiwiOTdja25ySnlMV2ciLCIyRkl0Vnl4TE5OYyIsIm90bnhmY3NHRS1ZIiwiczl4TDFEcEJzZlEiLCJ3ZkFHQlZnVXJybyIsIm5YSDZUeFEtc2k4IiwiV2lJMVhnX25FdTgiLCIzZmxhc0dWVXJDQSIsImVEWV9IZTkybGNVIiwiYTQ3Y2tYS1pqeEkiLCJJNldSWGVLWks2NCIsIlQ5SjVEcVAyREt3IiwiS3RrX0kwcFVwRzgiLCJlUTJjekdxT0NQZyIsImhMbVU0OWhtWjRjIiwiN2Y3TWdhTUU3U2MiLCJRQjVCTmRCRnVqRSIsIkFHaHRNVV9maTcwIiwicDJSYVFVUlJBd0EiLCJtel9fRU1ZcFdQdyIsIjZqaEx1U1FWSXhVIiwickM4M3ZfdXVJcW8iLCI2RGFHZEpSX2VMZyIsImNtNDN1WGpmdlpZIiwiWTFKc1BwbTJibVEiLCJ6MDk3alB5S2VlbyIsIlRZVlpXVVRqa3gwIiwiVkhhQXZlbmZURGsiLCJ0djlPVV81UTBwUSIsIjZvS0N2em02SG1nIiwiQkVGVUVSaFQwbjAiLCJ1VE4tZXUwLU9YRSIsImhiYXByaFI3elRvIiwiMkNWMFYtb01ORk0iLCJ1OGRTT0tvTkpwMCIsIkg4TXFxd21Gc3hZIiwiSXNra21OUEpkVWsiLCJYOUhfRXpwREdYUSJdLCJrZXZsYXJfY29tbWFuZF9oYW5kbGVyX2NvbW1hbmRfYmFubGlzdCI6W10sIm1pbmlfYXBwX2lkc193aXRob3V0X2dhbWVfcmVhZHkiOlsiVWdreEhIdHNhazFTQzhtUkdITVpld2M0SHplQVkzeWhQUG1KIiwiVWdreDdPZ3pGcUU2el81TXRmNFlzb3RHZlFOSUkxREZfUkJtIl0sIndlYl9vcF9zaWduYWxfdHlwZV9iYW5saXN0IjpbXSwid2ViX3RyYWNpbmdfZW5hYmxlZF9zcGFucyI6WyJldmVudCIsImNvbW1hbmQiXX0sIkdBUElfSElOVF9QQVJBTVMiOiJtOy9fL3Njcy9hYmMtc3RhdGljL18vanMva1x1MDAzZGdhcGkuZ2FwaS5lbi41NF9IRHZlT3RrUS5PL2RcdTAwM2QxL3JzXHUwMDNkQUhwT29vOVF1Zk9kUFlUUmtiVEphZFRXNnNtc3hsV0xNdy9tXHUwMDNkX19mZWF0dXJlc19fIiwiR0FQSV9IT1NUIjoiaHR0cHM6Ly9hcGlzLmdvb2dsZS5jb20iLCJHQVBJX0xPQ0FMRSI6ImVuX1VTIiwiR0wiOiJOTyIsIkhMIjoiZW4iLCJIVE1MX0RJUiI6Imx0ciIsIkhUTUxfTEFORyI6ImVuIiwiSU5ORVJUVUJFX0FQSV9LRVkiOiJBSXphU3lBT19GSjJTbHFVOFE0U1RFSExHQ2lsd19ZOV8xMXFjVzgiLCJJTk5FUlRVQkVfQVBJX1ZFUlNJT04iOiJ2MSIsIklOTkVSVFVCRV9DTElFTlRfTkFNRSI6IldFQl9FTUJFRERFRF9QTEFZRVIiLCJJTk5FUlRVQkVfQ0xJRU5UX1ZFUlNJT04iOiIyLjIwMjYwNzI0LjAxLjAwIiwiSU5ORVJUVUJFX0NPTlRFWFQiOnsiY2xpZW50Ijp7ImhsIjoiZW4iLCJnbCI6Ik5PIiwicmVtb3RlSG9zdCI6IjE5NS42NC4xMTguMTUyIiwiZGV2aWNlTWFrZSI6IiIsImRldmljZU1vZGVsIjoiIiwidmlzaXRvckRhdGEiOiJDZ3MxVm5SaGJrTkNVbFp2WnlqZDE1dlRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ0lXTGZBZ3JjQWpJd0xsbFVQVms0TmxGNFYyTXlkM053YlRaWFMyeHBSelpqZG5oQ1N6aE9hM0JPV0ZGeWIybENVelEzVGxKblpWWmlkbEp1TUVSWFEyOVpjMlZTY1ZKaGVuRnRVMDlrU0dKaVRVcHRhMnRhWldSVlgzVXhZVzlYWlc1M05HMVRXbVZFZVVsT1JHbzFUVFpIVGs1R1ZtUlNaMlZLZDNkelJuVlNVSEowYTFaQ1Iwc3pSa2s0YVZneUxWcHhRVXhyU1dSNVVrTlBTV3BIY1VodVZsSndhMHBQUVZJMVpGcEdXRkptWkZkZlZsbHhVSGR1Um5aM1YzSkRMVnA1U0hKUldVMDRha000VWpCNWMzWldOa0pMTWxCVFNGQjRYMVpMWnpsVU0wMDFkbTQ1TjNOU1JFa3phM1pRYUd0Q1J5MWhjR1U1TkhOSFpqSnhiV05PYjNKb2VtVjRkVkppU0U1MlpsOTJXakJWUkdORVRIcFRSREV0TnpCSFJXdFRjemxJV1dkdUxWTnZSbGxCY0dOdVF6SjJOMGR3VjE5T1NGbE1kRkJKVTJWUWFGOVVPVEpETmpoRVNuVjNUVk5JY0RaZmFWTjVkbFpoZGpOalJFZDFadyUzRCUzRCIsInVzZXJBZ2VudCI6Ik1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQ7IHJ2OjEzNC4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzEzNC4wLGd6aXAoZ2ZlKSIsImNsaWVudE5hbWUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiY2xpZW50VmVyc2lvbiI6IjIuMjAyNjA3MjQuMDEuMDAiLCJvc05hbWUiOiJXaW5kb3dzIiwib3NWZXJzaW9uIjoiMTAuMCIsIm9yaWdpbmFsVXJsIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvbko0cFZ6R1dWSDAiLCJwbGF0Zm9ybSI6IkRFU0tUT1AiLCJjbGllbnRGb3JtRmFjdG9yIjoiVU5LTk9XTl9GT1JNX0ZBQ1RPUiIsImNvbmZpZ0luZm8iOnsiYXBwSW5zdGFsbERhdGEiOiJDTjNYbTlNR0VPQzMwUndRNmZqUkhCQ0lrTkVjRU1yN2dCTVFnNGU0SWhDSnNNNGNFSzNlMFJ3UUFCQ0J6YzRjRVBiMzBSd1FfTExPSEJEdjN0RWNFSm1Oc1FVUWx1X1JIQkQ1OHRFY0VJYmhnQk1RaW9lNEloQ0w5ODhjRUk2UTBSd1E5cXV3QlJDZno0QVRFS1NwMFJ3UXpOLXVCUkRKOW9BVEVLN1d6eHdRaDZ6T0hCRHh0TkFjRUwyWnNBVVF2S1RRSEJEZzZ0RWNFSjNRc0FVUWllVFJIQkRhOTg0Y0VMMjJyZ1VRbllhNEloQzQ4TkVjRUxPUjBSd1F2b3F3QlJEQmo5QWNFTDZFMFJ3UTNyek9IQkMzLUlBVEVMamt6aHdRMVBhQUV4RHJ6ZEFjRVBUcDBSd3FiRU5CVFZOVVVsWlBMVnB4TFVSTlpWVkZjRlZEYmtFM05VWllTMnRDZFVGWGNVNVZVSGxCVFUxemQzWnJRblZGUlRrM00zQkRla3RuY2tGUlJHdExORVF0ZVdFeU5VRmlhMmhTWmxGNlFXSkZhMmRZVEZCalZXNHlaRlZHTTFONmJWSjBWM1UzZURkaVFtZ3dTREFBIn0sImJyb3dzZXJOYW1lIjoiRmlyZWZveCIsImJyb3dzZXJWZXJzaW9uIjoiMTM0LjAiLCJhY2NlcHRIZWFkZXIiOiJ0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxXHUwMDNkMC45LCovKjtxXHUwMDNkMC44IiwiZGV2aWNlRXhwZXJpbWVudElkIjoiQ2h4T2Vsa3lUbnBCTTA1RVl6Rk5WRmwzVG5wWk1VNVVaekpOVVQwOUVOM1htOU1HR04zWG05TUciLCJyb2xsb3V0VG9rZW4iOiJDSTY1cE43c21ZdjVfZ0VRLWJtR3BJX3lsUU1ZLWJtR3BJX3lsUU0lM0QifSwidXNlciI6eyJsb2NrZWRTYWZldHlNb2RlIjpmYWxzZX0sInJlcXVlc3QiOnsidXNlU3NsIjp0cnVlfSwiY2xpY2tUcmFja2luZyI6eyJjbGlja1RyYWNraW5nUGFyYW1zIjoiSWhNSWlLMkdwSS95bFFNVk54THRCQjI4a2lONiJ9LCJ0aGlyZFBhcnR5Ijp7ImVtYmVkZGVkUGxheWVyQ29udGV4dCI6eyJlbWJlZGRlZFBsYXllckVuY3J5cHRlZENvbnRleHQiOiJBQ21ibEJYUmlvNFc0NFpfWXR1QUNVMG9HeHZBU2ZqMHI3OUxDdjBrY2lLMWZoQWg4VEJuemNFY3dQUDkzQkhFRkNPN2tteHVnSjlsRUtncEVCU3ZLZ3UyNVQ4cUxRQm5ub2pxY21INFY3X1hXUDFyaWZndFZjeExLUnFIcnA1QndzSW5nVU1DLVJmNSIsImFuY2VzdG9yT3JpZ2luc1N1cHBvcnRlZCI6ZmFsc2V9fX0sIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIjo1NiwiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04iOiIyLjIwMjYwNzI0LjAxLjAwIiwiSU5ORVJUVUJFX0NPTlRFWFRfR0wiOiJOTyIsIklOTkVSVFVCRV9DT05URVhUX0hMIjoiZW4iLCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiOnsiY2xpZW50Lm5hbWUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiY2xpZW50LmpzZmVhdCI6IjIwMjEifSwiTE9HR0VEX0lOIjpmYWxzZSwiUEFHRV9CVUlMRF9MQUJFTCI6InlvdXR1YmUuZW1iZWRzLndlYl8yMDI2MDcyNF8wMV9SQzAwIiwiUEFHRV9DTCI6OTUzMjA2MDEwLCJTRVJWRVJfTkFNRSI6IldlYkZFIiwiVklTSVRPUl9EQVRBIjoiQ2dzMVZuUmhia05DVWxadlp5amQxNXZUQmpJb0NnSk9UeElpRWg0U0hBc01EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY2dJV0xmQWdyY0FqSXdMbGxVUFZrNE5sRjRWMk15ZDNOd2JUWlhTMnhwUnpaamRuaENTemhPYTNCT1dGRnliMmxDVXpRM1RsSm5aVlppZGxKdU1FUlhRMjlaYzJWU2NWSmhlbkZ0VTA5a1NHSmlUVXB0YTJ0YVpXUlZYM1V4WVc5WFpXNTNORzFUV21WRWVVbE9SR28xVFRaSFRrNUdWbVJTWjJWS2QzZHpSblZTVUhKMGExWkNSMHN6UmtrNGFWZ3lMVnB4UVV4clNXUjVVa05QU1dwSGNVaHVWbEp3YTBwUFFWSTFaRnBHV0ZKbVpGZGZWbGx4VUhkdVJuWjNWM0pETFZwNVNISlJXVTA0YWtNNFVqQjVjM1pXTmtKTE1sQlRTRkI0WDFaTFp6bFVNMDAxZG00NU4zTlNSRWt6YTNaUWFHdENSeTFoY0dVNU5ITkhaakp4YldOT2IzSm9lbVY0ZFZKaVNFNTJabDkyV2pCVlJHTkVUSHBUUkRFdE56QkhSV3RUY3psSVdXZHVMVk52UmxsQmNHTnVRekoyTjBkd1YxOU9TRmxNZEZCSlUyVlFhRjlVT1RKRE5qaEVTblYzVFZOSWNEWmZhVk41ZGxaaGRqTmpSRWQxWnclM0QlM0QiLCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyI6eyJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUiI6eyJyb290RWxlbWVudElkIjoibW92aWVfcGxheWVyIiwianNVcmwiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvcGxheWVyX2VtYmVkX2VzNi52ZmxzZXQvZW5fVVMvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfRU1CRURERURfUExBWUVSIiwiZXZlbnRMYWJlbCI6ImVtYmVkZGVkIiwiY29udGVudFJlZ2lvbiI6Ik5PIiwiaGwiOiJlbl9VUyIsImhvc3RMYW5ndWFnZSI6ImVuIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIiwiZGV2aWNlIjp7ImJyYW5kIjoiIiwibW9kZWwiOiIiLCJicm93c2VyIjoiRmlyZWZveCIsImJyb3dzZXJWZXJzaW9uIjoiMTM0LjAiLCJvcyI6IldpbmRvd3MiLCJvc1ZlcnNpb24iOiIxMC4wIiwicGxhdGZvcm0iOiJERVNLVE9QIiwiaW50ZXJmYWNlTmFtZSI6IldFQl9FTUJFRERFRF9QTEFZRVIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDI2MDcyNC4wMS4wMCJ9LCJzZXJpYWxpemVkRXhwZXJpbWVudElkcyI6IjI0MDA0NjQ0LDI0NDk5NTM0LDUxMDYzNjQzLDUxMDk4Mjk5LDUxMjIyOTczLDUxMzQwNjYyLDUxMzQ5OTE0LDUxMzUzMzkzLDUxMzY2NDIzLDUxMzg5NjI5LDUxNDkwMzMxLDUxNDkzMjA5LDUxNTA1NDM2LDUxNTMwNDk1LDUxNTM0NjY5LDUxNTY1MTE2LDUxNTgzODIxLDUxNjA1MjU4LDUxNjA5ODI5LDUxNjIyODQ0LDUxNjM4OTMyLDUxNjQ1NTUzLDUxNjQ4MzM2LDUxNjcyMTYyLDUxNjgxNjYyLDUxNjgzNTAyLDUxNzAxNjE2LDUxNzEzMTc2LDUxNzI5MjE4LDUxNzM3MTMzLDUxNzQyMzc3LDUxNzQyODMwLDUxNzc4MzM5LDUxNzk4OTI4LDUxODAzMTI4LDUxODAzNTg2LDUxODI4OTcxLDUxODMzMjQxLDUxODQyNDIyLDUxODU3ODM4LDUxODU3OTIwLDUxODg3ODgwLDUxODk1NDA0LDUxODk1NzcxLDUxOTAwNzYwLDUxOTAxNDM3LDUxOTAyNjA1LDUxOTAyOTc3LDUxOTEwNzM2LDUxOTI3MTg4LDUxOTI3MzYwLDUxOTM2MjI4LDUxOTM5NzAzLDUxOTQwOTk0LDUxOTQ1MDU2LDUxOTU0OTIzLDUxOTU2NTE4LDUxOTU3NDQ1LDUxOTU5Njk0LDUxOTU5ODA5LDUxOTU5ODgwLDUxOTU5OTY3LDUxOTY4MDgzLDUxOTcxNzc2LDUxOTczODE5LDUxOTgzMzYzLDUxOTg0ODI3LDUxOTg1NTgwLDUyMDAyODA1LDUyMDEyNTIyLDUyMDEzOTM3LDUyMDE2MTM2LDUyMDE2MzIzLDUyMDIwMDMyLDUyMDIyNDg4LDUyMDIzMzMyLDUyMDI0MjE3LDUyMDI2MTk0LDUyMDI2ODE0LDUyMDI3MDk5LDUyMDI3NzUxLDUyMDI3NzUzLDUyMDM1NjQ0LDUyMDM2OTM5LDUyMDQwMzg3LDUyMDQzMjI3LDUyMDQ2NTE5LDUyMDQ3MTQ4LDUyMDQ3Njg0LDUyMDQ3Njg3LDUyMDQ3NjkwLDUyMDU2NTAyLDUyMDYzNjc4LDUyMDY0MTM1LDUyMDY1NTkwLDUyMDY5OTAyLDUyMDczOTYzLDUyMDc1OTIyLDUyMDc2NzA1LDUyMDk2NTA2LDUyMDk4Njg1Iiwic2VyaWFsaXplZEV4cGVyaW1lbnRGbGFncyI6Ikg1X2FzeW5jX2xvZ2dpbmdfZGVsYXlfbXNcdTAwM2QzMDAwMC4wXHUwMDI2YTExeV9oNV9hc3NvY2lhdGVfc3VydmV5X3F1ZXN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmFiX2RldF9hcGJfYlx1MDAzZHRydWVcdTAwMjZhYl9kZXRfYXBtXHUwMDNkdHJ1ZVx1MDAyNmFiX2RldF9lbF9oXHUwMDNkdHJ1ZVx1MDAyNmFjdGlvbl9jb21wYW5pb25fY2VudGVyX2FsaWduX2Rlc2NyaXB0aW9uXHUwMDNkdHJ1ZVx1MDAyNmFkX3BvZF9kaXNhYmxlX2NvbXBhbmlvbl9wZXJzaXN0X2Fkc19xdWFsaXR5XHUwMDNkdHJ1ZVx1MDAyNmFsbG93X2F1dG9oaWRlX29uX3BhdXNlZF92aWRlb3NcdTAwM2R0cnVlXHUwMDI2YWxsb3dfZHJtX292ZXJyaWRlXHUwMDNkdHJ1ZVx1MDAyNmFsbG93X2xpdmVfYXV0b3BsYXlcdTAwM2R0cnVlXHUwMDI2YWxsb3dfcG9sdGVyZ3VzdF9hdXRvcGxheVx1MDAzZHRydWVcdTAwMjZhbGxvd19za2lwX25ldHdvcmtsZXNzXHUwMDNkdHJ1ZVx1MDAyNmFsbG93X3ZwOV8xMDgwcF9tcV9lbmNcdTAwM2R0cnVlXHUwMDI2YWx3YXlzX2NhY2hlX3JlZGlyZWN0X2VuZHBvaW50XHUwMDNkdHJ1ZVx1MDAyNmFsd2F5c19zZW5kX2FuZF93cml0ZVx1MDAzZHRydWVcdTAwMjZhbm5vdGF0aW9uX21vZHVsZV92YXN0X2NhcmRzX2xvYWRfbG9nZ2luZ19mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmFzc2lnbl9kcm1fZmFtaWx5X2J5X2Zvcm1hdFx1MDAzZHRydWVcdTAwMjZhdHRfd2ViX3JlY29yZF9tZXRyaWNzXHUwMDNkdHJ1ZVx1MDAyNmF0dGFjaF9leHBlcmltZW50X3Byb3BhZ2F0aW9uX2NvbnRleHRfdG9fY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmF0dG11c2lcdTAwM2R0cnVlXHUwMDI2YXV0b3BsYXlfdGltZVx1MDAzZDEwMDAwXHUwMDI2YXV0b3BsYXlfdGltZV9mb3JfZnVsbHNjcmVlblx1MDAzZC0xXHUwMDI2YXV0b3BsYXlfdGltZV9mb3JfbXVzaWNfY29udGVudFx1MDAzZC0xXHUwMDI2Ymdfdm1fcmVpbml0X3RocmVzaG9sZFx1MDAzZDcyMDAwMDBcdTAwMjZibG9ja190dmh0bWw1X3NpbXBseV9lbWJlZGRlZFx1MDAzZHRydWVcdTAwMjZibG9ja2VkX3BhY2thZ2VzX2Zvcl9zcHNcdTAwM2RbXVx1MDAyNmJvdGd1YXJkX2FzeW5jX3NuYXBzaG90X3RpbWVvdXRfbXNcdTAwM2QzMDAwXHUwMDI2YnlwYXNzX2xpY2Vuc2VfY2hlY2tfZm9yX2lubGluZV9tdXRlZFx1MDAzZHRydWVcdTAwMjZjYXB0aW9uc191cmxfYWRkX2VpXHUwMDNkdHJ1ZVx1MDAyNmNoZWNrX25hdmlnYXRvcl9hY2N1cmFjeV90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmNoZWNrX3BsYXlhYmlsaXR5X3N0YXR1c19pbl9maWxsZXJzXHUwMDNkdHJ1ZVx1MDAyNmNsaWVudF91aV9lbmFibGVfbXVsdGlfdHJhY2tfYXVkaW9fb25fd2ViX2VtYmVkZGVkX3BsYXllclx1MDAzZHRydWVcdTAwMjZjb21wcmVzc2lvbl9kaXNhYmxlX3BvaW50XHUwMDNkMTBcdTAwMjZjb3dfb3B0aW1pemVfaWRvbV9jb21wYXRcdTAwM2R0cnVlXHUwMDI2Y3NpX29uX2dlbFx1MDAzZHRydWVcdTAwMjZjdXN0b21fYWN0aXZlX3ZpZXdfdG9zX3RpbWVvdXRfbXNcdTAwM2QzNjAwMDAwXHUwMDI2ZGFzaF9tYW5pZmVzdF92ZXJzaW9uXHUwMDNkNVx1MDAyNmRlYnVnX2JhbmRhaWRfaG9zdG5hbWVcdTAwM2RcdTAwMjZkZWJ1Z19iYW5kYWlkX3BvcnRcdTAwM2QwXHUwMDI2ZGVidWdfc2hlcmxvZ191c2VybmFtZVx1MDAzZFx1MDAyNmRlZHVwcGluZ19zZXJ2ZXJfdmVcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfZmFzdF9mb2xsb3dfYXV0b25hdl90b2dnbGVcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfbW9kZXJuX3BsYXllcl9kZWZhdWx0X3RodW1ibmFpbF9wZXJjZW50YWdlXHUwMDNkMC4wXHUwMDI2ZGVsaGlfbW9kZXJuX3BsYXllcl9mYXN0ZXJfYXV0b2hpZGVfZGVsYXlfbXNcdTAwM2QyMDAwXHUwMDI2ZGVsaGlfbW9kZXJuX3BsYXllcl9wYXVzZV90aHVtYm5haWxfcGVyY2VudGFnZVx1MDAzZDAuNlx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2JsZW5kaW5nX21vZGVcdTAwM2RcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9kaXNhYmxlX2Zyb3N0ZWRfZ2xhc3NcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfaG9yaXpvbnRhbF92b2x1bWVfY29udHJvbHNcdTAwM2R0cnVlXHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfbGhzX3ZvbHVtZV9jb250cm9sc1x1MDAzZHRydWVcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9yZXNwb25zaXZlX2NvbXBhY3RfY29udHJvbHNfdGhyZXNob2xkXHUwMDNkMFx1MDAyNmRlcHJlY2F0ZV9jYXB0aW9uc190cmFja19jb3VudF9kaXNwbGF5XHUwMDNkdHJ1ZVx1MDAyNmRlcHJlY2F0ZV9kZWxheV9waW5nXHUwMDNkdHJ1ZVx1MDAyNmRlcHJlY2F0ZV9wYWlyX3NlcnZsZXRfZW5hYmxlZFx1MDAzZHRydWVcdTAwMjZkZXNrdG9wX3NwYXJrbGVzX2xpZ2h0X2N0YV9idXR0b25cdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9hdjFfc2V0dGluZ1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX2NoaWxkX25vZGVfYXV0b19mb3JtYXR0ZWRfc3RyaW5nc1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX2xpZmFfaW5fMmtfNGtcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9sb2dfdG9fdmlzaXRvcl9sYXllclx1MDAzZHRydWVcdTAwMjZkaXNhYmxlX3BhY2ZfbG9nZ2luZ19mb3JfbWVtb3J5X2xpbWl0ZWRfdHZcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9yZWR1Y2VkX2Z1bGxzY3JlZW5fYXV0b3BsYXlfY291bnRkb3duX2Zvcl9taW5vcnNcdTAwM2R0cnVlXHUwMDI2ZGlzYWJsZV9yZWVsX2l0ZW1fd2F0Y2hfZm9ybWF0X2ZpbHRlcmluZ1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX3RvdWNoX2V2ZW50c19vbl9za2lwX2J1dHRvblx1MDAzZHRydWVcdTAwMjZkdXJhdGlvbl9iZWZvcmVfcGF1c2VfYWRfYnJlYWtfbXNfZm9yX3N5c3RlbV9wYXVzZVx1MDAzZDUwMDBcdTAwMjZlZGdlX2VuY3J5cHRpb25fZmlsbF9wcmltYXJ5X2tleV92ZXJzaW9uXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19kZXNrdG9mZl9lbmFibGVfYWRzX3RvcF9iYXJcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2Rlc2t0b3BfZW5hYmxlX3ZvbHVtZV9zbGlkZXJcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9jaGFubmVsX3N1YnNjcmliZV9kZXByZWNhdGlvblx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX2VtYmVkX2NvbmZpZ19mb3JfbXV0ZWRfYXV0b3BsYXlcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9pbm5lcnR1YmVfc3RvcmVcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9tb3ZlX3NldF9jZW50ZXJfY3JvcF90b19wdWJsaWNcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2VuYWJsZV9wZXJfdmlkZW9fZW1iZWRfY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc193ZWJfbGl0ZV9tb2RlXHUwMDNkMVx1MDAyNmVuYWJsZV9hMTF5X2ZvY3VzX2ZpeF9mb3JfbWFjX3BhbmVsX29uX2Rlc2t0b3BcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FiYW5kb25fcGluZ19mb3Jfc3NkYWlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjY2Vzc19jb2RlX3NlcnZpY2VfcnBjXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY2lfb25fbHJfZmVlZHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjdGl2ZV92aWV3X2Rpc3BsYXlfYWRfcmVuZGVyZXJfd2ViX2hvbWVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjdGl2ZV92aWV3X2xyX3Nob3J0c192aWRlb1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWN0aXZlX3ZpZXdfd2ViX3Nob3J0c192aWRlb1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWRfY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FkX2Rpc2Nsb3N1cmVfYmFubmVyX2ExMXlfZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hbnRpc2NyYXBpbmdfd2ViX3BsYXllcl9leHBpcmVkXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hcHBfcHJvbW9fZW5kY2FwX2VtbF9vbl90YWJsZXRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2F0dGVudGlvbl9sb2dnaW5nX21lYXN1cmVfb25fc2hvd25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2F1X3UxNl92ZXJpZnlfYWdlX3BhZ2VcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2F1dG9tb3RpdmVfZm9ybV9mYWN0b3JfY2hlY2tcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2JhdGNoZWRfY3Jvc3NfZGV2aWNlX3BpbmdzX2luX2dlbF9mYW5vdXRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NhcGFiaWxpdHlfZm9ybWF0X2ZpbHRlcl9pbl93YXRjaF9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2Nhc3RfZm9yX3dlYl91bnBsdWdnZWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NlbnRlcmVkX2NhcHRpb25fZm9yX3R2ZmlsbV92aWRlb1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2lwaGVyX2Zvcl9tYW5pZmVzdF91cmxzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGVhbnVwX21hc3RoZWFkX2F1dG9wbGF5X2hhY2tfZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGllbnRfcGFnZV9pZF9oZWFkZXJfZm9yX2ZpcnN0X3BhcnR5X3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jbGllbnRfc2xpX2xvZ2dpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF92ZV9zcGVjXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jdGFfYmFubmVyX29uX3VucGx1Z2dlZF9sclx1MDAzZHRydWVcdTAwMjZlbmFibGVfY3VzdG9tX3BsYXloZWFkX3BhcnNpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92Mlx1MDAzZHRydWVcdTAwMjZlbmFibGVfZGFpX3NkZl9oNV9wcmVyb2xsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfZGVmYXVsdF9tb25vX2N0YV9taWdyYXRpb25fd2ViX2NsaWVudFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZHNhX2FkX2JhZGdlX2Zvcl9hY3Rpb25fZW5kY2FwX29uX2FuZHJvaWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RzYV9hZF9iYWRnZV9mb3JfYWN0aW9uX2VuZGNhcF9vbl9pb3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2VuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfaDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2VudGl0eV9zdG9yZV9mcm9tX2RlcGVuZGVuY3lfaW5qZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lcnJvcl9jb3JyZWN0aW9uc19pbmZvY2FyZF93ZWJfY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9lcnJvcl9jb3JyZWN0aW9uc19pbmZvY2FyZHNfaWNvbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2dldF9yZW1pbmRlcl9idXR0b25fb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaFx1MDAzZHRydWVcdTAwMjZlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hfZm9yX3ZkY1x1MDAzZHRydWVcdTAwMjZlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hfZm9yX3ZkY2JcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2x0Y19wYXJhbV9mZXRjaF9mcm9tX2lubmVydHViZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9tb2Rlcm5fc2tpcF9idXR0b25fb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9td2ViX2F1ZGlvX3RyYWNrX3BpY2tlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfbXdlYl9rZXlib2FyZF9zaG9ydGN1dHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX25ld19wYWlkX3Byb2R1Y3RfcGxhY2VtZW50XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9vcGVuX2luX25ld190YWJfaWNvbl9mb3Jfc2hvcnRfZHJfZm9yX2Rlc2t0b3Bfc2VhcmNoXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9vdXRfb2Zfc3RvY2tfdGV4dF9hbGxfc3VyZmFjZXNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BhaWRfY29udGVudF9vdmVybGF5X2J1Z2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfcGF1c2VfYWRzX29uX3l0dl9odG1sNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfcGxheWVyX2NhcHRpb25zX3BlcnNpc3RlbmNlX3N0YXRlX21hY2hpbmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3BvX2RlY29yYXRpb25fb2ZfZm9yY2VkX3RyYWNrc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcG9saWN5X2Jhc2VkX2hxYV9maWx0ZXJfaW5fd2F0Y2hfc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wcm9ncmVzX2NvbW1hbmRzX2xyX2ZlZWRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wcm9ncmVzc19jb21tYW5kc19lbF9kYWlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Byb2dyZXNzX2NvbW1hbmRzX2xyX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcHVibGlzaGluZ19yZWdpb25fcGFyYW1faW5fc3VzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wdl9zY3JlZW5fbW9kZXJuX3RleHRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Jwcl90b2tlbl9vbl9sdGxfbG9va3VwXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zY3JlZW5fbWFuYWdlcl9sYXllcl9zZXBhcmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfY29tcGFuaW9uX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZGZfZGFpX2g1X21pZHJvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9oNV9lbmRlbWljX21pZF9wb3N0X3JvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9vbl9oNV91bnBsdWdnZWRfdm9kX21pZHJvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9zaG9ydHNfcGxheWVyX2J5dGVzX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX2Ficlx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9hYnJfZm9yX2JhY2tncm91bmRhYmxlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX2Ficl91cmxfZ2VuZXJhdGlvblx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2VydmVyX2RyaXZlbl9yZWFkYWhlYWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NraXBfYWRfZ3VpZGFuY2VfcHJvbXB0XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9za2lwX3RvX25leHRfbWVzc2FnaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9za2lwcGFibGVfYWRzX2Zvcl91bnBsdWdnZWRfYWRfcG9kXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWFydF9za2lwX3BsYXllcl9jb250cm9sc19zaG93bl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtYXJ0X3NraXBfcGxheWVyX2NvbnRyb2xzX3Nob3duX29uX3dlYl9pbmNyZWFzZWRfdHJpZ2dlcmluZ19zZW5zaXRpdml0eVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21hcnRfc2tpcF9zcGVlZG1hc3Rlcl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtZWFyaW5nX2V4cGFuc2lvbl9kYWlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NwbGl0X3NjcmVlbl9hZF9iYXNlbGluZV9leHBlcmllbmNlX2VuZGVtaWNfbGl2ZV9oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc3ViZnJhZ21lbnRlZF9jYXB0aW9uX2ZpbHRlcmluZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfc3VwZXhfbXdlYl9kZW1vX3dlYmZlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV90b19jYWxsX3BsYXlyZWFkeV9iYWNrZW5kX2RpcmVjdGx5XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV91bmlmaWVkX2FjdGlvbl9lbmRjYXBfb25fd2ViXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92ZW5vbV9ub3RpZmljYXRpb25fY2FjaGVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3ZpZGVvX2Rpc3BsYXlfY29tcGFjdF9idXR0b25fZ3JvdXBfZm9yX2Rlc2t0b3Bfc2VhcmNoXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92b2ljZV9ib29zdF9mZWF0dXJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV92cDlfYXBwbGV0djVfb25fc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfZGVsaGlfaWNvbnNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9ob21lX3RvcF9sYW5kc2NhcGVfaW1hZ2VfbGF5b3V0X2xldmVsX2NsaWNrXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93ZWJfbWVkaWFfc2Vzc2lvbl9tZXRhZGF0YV9maXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9wcmVtaXVtX3ZhcmlzcGVlZF91cHNlbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9zaG9ydHNfYXVkaW9fdHJhY2tcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl90aWVyZWRfZ2VsXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV93aXpfcXVldWVfZWZmZWN0X2FuZF9vbl9pbml0X2luaXRpYWxfcnVuc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfeXRfYXRhX2lmcmFtZV9hdXRodXNlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfeXR2X2NzZGFpX3ZwOVx1MDAzZHRydWVcdTAwMjZlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2FsbG93ZWRfdmlkZW9faWRzXHUwMDNkW09KbHdJZG9GejlBLCBBcktiQXgxSy0yVSwgbV9kaE1TdlVDSWMsIEMxRGhwSjA3WnVFLCBOcTJ3WWxXRnVjZywgSkM3ZjNFVURhcXcsIHZyM1h5VkNSNFQwLCBnQ05lRFdDSTB2bywga0JUdWRtNGdlTXMsIEZ4c2ZWWDZCMU1rLCB5bFlKU0JVZ2FNQSwgVldoUTZ4c3BuU2MsIFJIVWF1TWNZbFgwLCBjYjEyS21NTURKQSwgV0p4RWpfaHJwU2csIGV1aFktdG1nOXg4LCBUbElWSTJFVzdSMCwgTUlOZnZPWDRCekksIHlIbVBXemtoY1o4LCBwM3cxdk85WHYyNCwgVmxhQ25wMWZ4STgsIC1PZkEwNEJENEdBLCAxb2RZM0lZc05ubywgd2lUVHJWcVJWRHcsIERmbTJyQi1uUTlZLCBRbTFGdHo4bFZuSSwgOWl0QXhxX1NHRE0sIHlGSTN3cFh5NHpBLCBQeTVKWVpYSnZ6bywgYjR0RTVhS2h0bGcsIDVKRHhqc0FWYUdrLCBlVW1mR1BhenVFTSwgVzhuVGhxNjJWYjQsIFZManZTM3VmbFhjLCBCZmRMS3ZKQk1fYywgd2VMWGR3VmpTeHMsIDJKYS11UE9rejdJLCBBOVFCVkZFWXhPUSwgay1aRlFra0hVZmMsIHd1dTBEMjBBWnFJLCBfSHZpU3lDN3pTVSwgX194T3pfUTNxUjQsIHcyc0I4N2pMRTFJLCA4clRURU1kTWg4USwgLWs2bXBnbXhlclUsIDk3Y2tuckp5TFdnLCAyRkl0Vnl4TE5OYywgb3RueGZjc0dFLVksIHM5eEwxRHBCc2ZRLCB3ZkFHQlZnVXJybywgblhINlR4US1zaTgsIFdpSTFYZ19uRXU4LCAzZmxhc0dWVXJDQSwgZURZX0hlOTJsY1UsIGE0N2NrWEtaanhJLCBJNldSWGVLWks2NCwgVDlKNURxUDJES3csIEt0a19JMHBVcEc4LCBlUTJjekdxT0NQZywgaExtVTQ5aG1aNGMsIDdmN01nYU1FN1NjLCBRQjVCTmRCRnVqRSwgQUdodE1VX2ZpNzAsIHAyUmFRVVJSQXdBLCBtel9fRU1ZcFdQdywgNmpoTHVTUVZJeFUsIHJDODN2X3V1SXFvLCA2RGFHZEpSX2VMZywgY200M3VYamZ2WlksIFkxSnNQcG0yYm1RLCB6MDk3alB5S2VlbywgVFlWWldVVGpreDAsIFZIYUF2ZW5mVERrLCB0djlPVV81UTBwUSwgNm9LQ3Z6bTZIbWcsIEJFRlVFUmhUMG4wLCB1VE4tZXUwLU9YRSwgaGJhcHJoUjd6VG8sIDJDVjBWLW9NTkZNLCB1OGRTT0tvTkpwMCwgSDhNcXF3bUZzeFksIElza2ttTlBKZFVrLCBYOUhfRXpwREdYUV1cdTAwMjZlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX21heF93aW5kb3dfc2Vjb25kc1x1MDAzZDYwXHUwMDI2ZXhwYW5kX21lZGlhdGVrX2RlbnlsaXN0X3RvX2FsbF9saXZlX3ZwOV9pbl9iYWNrZW5kX2V4cGVyaW1lbnRcdTAwM2RbXVx1MDAyNmV4cG9ydF9uZXR3b3JrbGVzc19vcHRpb25zXHUwMDNkdHJ1ZVx1MDAyNmV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZ1x1MDAzZHRydWVcdTAwMjZmaWxsX2Fkc191c3RyZWFtZXJfY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmZpbGxfbGl2ZV9yZXF1ZXN0X2NvbmZpZ19pbl91c3RyZWFtZXJfY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmZpbGxfc2luZ2xlX3ZpZGVvX3dpdGhfbm90aWZ5X3RvX2xhc3JcdTAwM2R0cnVlXHUwMDI2ZmlsdGVyX3ZiX3dpdGhvdXRfbm9uX3ZiX2VxdWl2YWxlbnRzXHUwMDNkdHJ1ZVx1MDAyNmZpbHRlcl92cDlfZm9yX2xpdmVfZGFpXHUwMDNkdHJ1ZVx1MDAyNmZpeF9hZF9taW5pcGxheWVyX2NvbnRyb2xzX3JlbmRlcmluZ1x1MDAzZHRydWVcdTAwMjZmaXhfYWRzX3RyYWNraW5nX2Zvcl9zd2ZfY29uZmlnX2RlcHJlY2F0aW9uX213ZWJcdTAwM2R0cnVlXHUwMDI2Zml4X2g1X3RvZ2dsZV9idXR0b25fYTExeVx1MDAzZHRydWVcdTAwMjZmaXhfc3VydmV5X2NvbG9yX2NvbnRyYXN0X29uX2Rlc3RvcFx1MDAzZHRydWVcdTAwMjZmcmVzY2FfcG9sbGluZ19kZWxheV9vdmVycmlkZVx1MDAzZDBcdTAwMjZnYWJfcmV0dXJuX3NhYnJfc3NkYWlfY29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmdlbF9taW5fYmF0Y2hfc2l6ZVx1MDAzZDNcdTAwMjZnZWxfcXVldWVfdGltZW91dF9tYXhfbXNcdTAwM2Q2MDAwMFx1MDAyNmd2aV9jaGFubmVsX2NsaWVudF9zY3JlZW5cdTAwM2R0cnVlXHUwMDI2aDVfY29tcGFuaW9uX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmg1X2VuYWJsZV9hZF9tYnNcdTAwM2R0cnVlXHUwMDI2aDVfaW5wbGF5ZXJfZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3NcdTAwM2R0cnVlXHUwMDI2aDVfcmVzZXRfY2FjaGVfYW5kX2ZpbHRlcl9iZWZvcmVfdXBkYXRlX21hc3RoZWFkXHUwMDNkdHJ1ZVx1MDAyNmg1X3plcm9fZHVyYXRpb25fY3VlX3JhbmdlX2Zvcl9kaWJzXHUwMDNkdHJ1ZVx1MDAyNmhmcl9kcm9wcGVkX2ZyYW1lcmF0ZV9mYWxsYmFja190aHJlc2hvbGRcdTAwM2QwXHUwMDI2aGlnaF9jY3ZfY2xpZW50X3NpZGVfY2FjaGluZ19oNVx1MDAzZHRydWVcdTAwMjZobHNfdXNlX25ld19jb2RlY3Nfc3RyaW5nX2FwaVx1MDAzZHRydWVcdTAwMjZodG1sNV9hZF90aW1lb3V0X21zXHUwMDNkMFx1MDAyNmh0bWw1X2FkYXB0YXRpb25fc3RlcF9jb3VudFx1MDAzZDBcdTAwMjZodG1sNV9hZHNfcHJlcm9sbF9sb2NrX3RpbWVvdXRfZGVsYXlfbXNcdTAwM2QxNTAwMFx1MDAyNmh0bWw1X2FsbG93X211bHRpdmlld190aWxlX3ByZWxvYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYWxsb3dfcHJlbG9hZGluZ193aXRoX2lkbGVfb25seV9uZXR3b3JrX2Zvcl9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FsbG93X3ZpZGVvX2tleWZyYW1lX3dpdGhvdXRfYXVkaW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXBwbHlfY29uc3RyYWludHNfaW5fY2xpZW50X2Zvcl9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FwcGx5X21pbl9mYWlsdXJlc1x1MDAzZHRydWVcdTAwMjZodG1sNV9hcHBseV9zdGFydF90aW1lX3dpdGhpbl9hZHNfZm9yX3NzZGFpX3RyYW5zaXRpb25zXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2F0cl9kaXNhYmxlX2ZvcmNlX2ZhbGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2F0dF9wbGF5YmFja190aW1lb3V0X21zXHUwMDNkMzAwMDBcdTAwMjZodG1sNV9hdHRhY2hfbnVtX3JhbmRvbV9ieXRlc190b19iYW5kYWlkXHUwMDNkMFx1MDAyNmh0bWw1X2F0dGFjaF9wb190b2tlbl90b19iYW5kYWlkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2F1dG9uYXZfY2FwX2lkbGVfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9hdXRvbmF2X3F1YWxpdHlfY2FwXHUwMDNkNzIwXHUwMDI2aHRtbDVfYXV0b3BsYXlfZGVmYXVsdF9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9hdXhpbGlhcnlfZXN0aW1hdGVfd2VpZ2h0XHUwMDNkMC4wXHUwMDI2aHRtbDVfYXYxX29yZGluYWxfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2JhbmRhaWRfYXR0YWNoX2NvbnRlbnRfcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfYmxvY2tfcGlwX3NhZmFyaV9kZWxheVx1MDAzZDBcdTAwMjZodG1sNV9ieXBhc3NfY29udGVudGlvbl9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfYnl0ZXJhdGVfc29mdF9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfY2hlY2tfZm9yX2lkbGVfbmV0d29ya19pbnRlcnZhbF9tc1x1MDAzZDEwMDBcdTAwMjZodG1sNV9jaGlwc2V0X3NvZnRfY2FwXHUwMDNkODE5Mlx1MDAyNmh0bWw1X2NsYW1wX2ludmFsaWRfc2Vla190b19taW5fc2Vla2FibGVfdGltZVx1MDAzZHRydWVcdTAwMjZodG1sNV9jb25zdW1lX2FsbF9idWZmZXJlZF9ieXRlc19vbmVfcG9sbFx1MDAzZHRydWVcdTAwMjZodG1sNV9jb250aW51b3VzX2dvb2RwdXRfcHJvYmVfaW50ZXJ2YWxfbXNcdTAwM2QwXHUwMDI2aHRtbDVfZDZkZTRfY2xvdWRfcHJvamVjdF9udW1iZXJcdTAwM2Q4Njg2MTg2NzY5NTJcdTAwMjZodG1sNV9kZWJ1Z19kYXRhX2xvZ19wcm9iYWJpbGl0eVx1MDAzZDAuMFx1MDAyNmh0bWw1X2RlY29kZV90b190ZXh0dXJlX2NhcFx1MDAzZHRydWVcdTAwMjZodG1sNV9kZWZhdWx0X2FkX2dhaW5cdTAwM2QwLjVcdTAwMjZodG1sNV9kZWZhdWx0X2F2MV90aHJlc2hvbGRcdTAwM2QwXHUwMDI2aHRtbDVfZGVmYXVsdF9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9kZWZlcl9mZXRjaF9hdHRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfZGVsYXllZF9yZXRyeV9jb3VudFx1MDAzZDFcdTAwMjZodG1sNV9kZWxheWVkX3JldHJ5X2RlbGF5X21zXHUwMDNkNTAwMFx1MDAyNmh0bWw1X2RlcHJlY2F0ZV9hZHNlcnZpY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX21hbmlmZXN0ZnVsX2ZhbGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RlcHJlY2F0ZV92aWRlb190YWdfcG9vbFx1MDAzZHRydWVcdTAwMjZodG1sNV9kZXNrdG9wX3ZyMTgwX2FsbG93X3Bhbm5pbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGZfZG93bmdyYWRlX3RocmVzaFx1MDAzZDAuNlx1MDAyNmh0bWw1X2Rpc2FibGVfYmFuZHdpZHRoX2NvZmFjdG9yc19mb3Jfc2Ficl9saXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfY2xpZW50X2F1dG9uYXZfY2FwX2Zvcl9vbmVzaWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfbm9uX2NvbnRpZ3VvdXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV91c3RyZWFtZXJfY29uc3RyYWludF9mb3Jfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3dlYl9zYWZhcmlfZGFpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc3BsYXllZF9mcmFtZV9yYXRlX2Rvd25ncmFkZV90aHJlc2hvbGRcdTAwM2Q0NVx1MDAyNmh0bWw1X2RybV9ieXRlcmF0ZV9zb2Z0X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9kcm1fY2hlY2tfYWxsX2tleV9lcnJvcl9zdGF0ZXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZHJtX2NwaV9saWNlbnNlX2tleVx1MDAzZHRydWVcdTAwMjZodG1sNV9kcm1fbGl2ZV9ieXRlcmF0ZV9zb2Z0X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9lYXJseV9tZWRpYV9mb3Jfc2hhcnBlcl9zaG9ydHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2FjM1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYXVkaW9fdHJhY2tfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYXVkaW9fdHJhY2tfc3RpY2tpbmVzc19waGFzZV90d29cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2NhcHRpb25fY2hhbmdlc19mb3JfbW9zYWljXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9jb21wb3NpdGVfZW1iYXJnb1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZDZkZTRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2Q2ZGU0X2NvbGRfc3RhcnRfYW5kX2Vycm9yXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kNmRlNF9pZGxlX3ByaW9yaXR5X2pvYlx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZHJjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kcmNfdG9nZ2xlX2FwaVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZWFjM1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZW1iZWRkZWRfcGxheWVyX3Zpc2liaWxpdHlfc2lnbmFsc1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfb2R1Y1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9mb3JtYXRfc2VsZWN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2Zyb21fd2F0Y2hfc2VydmVyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2hvc3RfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfb25fcGxheV9zdG9yZVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9vbl95dF9lbWJlZHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfdm9kX3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NlcnZlcl9kcml2ZW5fcmVxdWVzdF9jYW5jZWxsYXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3Nwc19yZXRyeV9iYWNrb2ZmX21ldGFkYXRhX3JlcXVlc3RzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zc2RhaV90cmFuc2l0aW9uX3dpdGhfb25seV9lbnRlcl9jdWVyYW5nZVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHJpZ2dlcmluZ19jdWVwb2ludF9mb3Jfc2xvdFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHZvc19kYXNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV90dm9zX2VuY3J5cHRlZF92cDlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5jb3VyYWdlX2FycmF5X2NvYWxlc2NpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZmlsbF9kZWZhdWx0X21vc2FpY19hdWRpb190cmFja19pZFx1MDAzZHRydWVcdTAwMjZodG1sNV9maXhlZF9tZWRpYV9kdXJhdGlvbl9mb3JfcmVxdWVzdFx1MDAzZDBcdTAwMjZodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZm9yY2Vfc2Ficl9mcm9tX3dhdGNoX3NlcnZlcl9mb3JfZGZzc1x1MDAzZHRydWVcdTAwMjZodG1sNV9mb3J3YXJkX2NsaWNrX3RyYWNraW5nX3BhcmFtc19vbl9yZWxvYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19hZF9hdXRvcGxheV9vbl92aWRlb190b19hZF9vbmx5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfZW5kZWRfdHJhbnNpdGlvbl9idWZmZXJfbXNcdTAwM2QyMDBcdTAwMjZodG1sNV9nYXBsZXNzX2hhbmRvZmZfY2xvc2VfZW5kX2xvbmdfcmVidWZmZXJfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfaGFuZG9mZl9jbG9zZV9lbmRfbG9uZ19yZWJ1ZmZlcl9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nYXBsZXNzX2xvb3Bfc2Vla19vZmZzZXRfaW5fbWlsbGlcdTAwM2QwXHUwMDI2aHRtbDVfZ2FwbGVzc19zbG93X3NlZWtfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zZWVrX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nZW5lcmF0ZV9jb250ZW50X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2xfZnBzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzXHUwMDNkMFx1MDAyNmh0bWw1X2hkY3BfcHJvYmluZ19zdHJlYW1fdXJsXHUwMDNkXHUwMDI2aHRtbDVfaGVhZF9taXNzX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9oZnJfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfaGlnaF9yZXNfbG9nZ2luZ19wZXJjZW50XHUwMDNkMTAuMFx1MDAyNmh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9ob3BlbGVzc19zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X2h1bGlfc3NkYWlfdXNlX3BsYXliYWNrX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lkbGVfcmF0ZV9saW1pdF9tc1x1MDAzZDBcdTAwMjZodG1sNV9pZ25vcmVfcGFydGlhbF9zZWdtZW50X2Zyb21fbGl2ZV9yZWFkYWhlYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaWdub3JlX3NhYnJzZWVrX2R1cmluZ19hZHNraXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaW5uZXJ0dWJlX2hlYXJ0YmVhdHNfZm9yX2ZhaXJwbGF5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lubmVydHViZV9oZWFydGJlYXRzX2Zvcl93aWRldmluZVx1MDAzZHRydWVcdTAwMjZodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0XHUwMDNkMy4wXHUwMDI2aHRtbDVfanVtYm9fdWxsX25vbnN0cmVhbWluZ19tZmZhX21zXHUwMDNkNDAwMFx1MDAyNmh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRcdTAwM2QxLjNcdTAwMjZodG1sNV9rYWJ1a2lfZHJtX2xpdmVfNTFfZGVmYXVsdF9vZmZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbGljZW5zZV9jb25zdHJhaW50X2RlbGF5XHUwMDNkNTAwMFx1MDAyNmh0bWw1X2xpdmVfYWJyX2hlYWRfbWlzc19mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfYWJyX3JlcHJlZGljdF9mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfY2h1bmtfcmVhZGFoZWFkX3Byb3hpbWFfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZV9sb3dfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9saXZlX3VsdHJhX2xvd19sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3dcdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlbmVzc19kcmlmdF9jaHVua19vdmVycmlkZVx1MDAzZDBcdTAwMjZodG1sNV9saXZlbmVzc19kcmlmdF9wcm94aW1hX292ZXJyaWRlXHUwMDNkMFx1MDAyNmh0bWw1X2xvZ19hdWRpb19hYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX2V4cGVyaW1lbnRfaWRfZnJvbV9wbGF5ZXJfcmVzcG9uc2VfdG9fY3RtcFx1MDAzZFx1MDAyNmh0bWw1X2xvZ19maXJzdF9zc2RhaV9yZXF1ZXN0c19raWxsc3dpdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ19yZWJ1ZmZlcl9ldmVudHNcdTAwM2Q1XHUwMDI2aHRtbDVfbG9nX3NhYnJfbWFsZm9ybWVkX2NvbmZpZ19wcm90b19zaGFyZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YVx1MDAzZHRydWVcdTAwMjZodG1sNV9sb2dfdnNzX2V4dHJhX2xyX2NwYXJhbXNfZnJlcVx1MDAzZFx1MDAyNmh0bWw1X2xvbmdfcmVidWZmZXJfamlnZ2xlX2NtdF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX3RocmVzaG9sZF9tc1x1MDAzZDMwMDAwXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOV9vdGZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbWF4X2J1ZmZlcl9oZWFsdGhfZm9yX2Rvd25ncmFkZV9wcm9wXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2J1ZmZlcl9oZWFsdGhfZm9yX2Rvd25ncmFkZV9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2J5dGVyYXRlXHUwMDNkMFx1MDAyNmh0bWw1X21heF9kaXNjb250aW51aXR5X3Jld3JpdGVfY291bnRcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X2RyaWZ0X3Blcl90cmFja19zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2hlYWRtX2Zvcl9zdHJlYW1pbmdfeGhyXHUwMDNkMFx1MDAyNmh0bWw1X21heF9saXZlX2R2cl93aW5kb3dfcGx1c19tYXJnaW5fc2Vjc1x1MDAzZDQ2ODAwLjBcdTAwMjZodG1sNV9tYXhfcXVhbGl0eV9zZWxfdXBncmFkZVx1MDAzZDBcdTAwMjZodG1sNV9tYXhfcmVkaXJlY3RfcmVzcG9uc2VfbGVuZ3RoXHUwMDNkODE5Mlx1MDAyNmh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9tYXhfdmVydGljYWxfcmVzb2x1dGlvblx1MDAzZDBcdTAwMjZodG1sNV9tYXhpbXVtX3JlYWRhaGVhZF9zZWNvbmRzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWVkaWFfZnVsbHNjcmVlblx1MDAzZHRydWVcdTAwMjZodG1sNV9tZWRpYV90aW1lX3dlaWdodF9wcm9wXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWZjX21heF9xdWV1ZV9sZW5ndGhcdTAwM2QxXHUwMDI2aHRtbDVfbWZjX21pbl9idWZmZXJfaGVhbHRoXHUwMDNkMFx1MDAyNmh0bWw1X21mY19zZWNzX2xlZnRfdG9fc3RhcnRfcHJlbG9hZFx1MDAzZDBcdTAwMjZodG1sNV9taW5fZmFpbHVyZXNfdG9fZGVsYXlfcmV0cnlcdTAwM2QzXHUwMDI2aHRtbDVfbWluX21lZGlhX2R1cmF0aW9uX2Zvcl9hcHBlbmRfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21pbl9tZWRpYV9kdXJhdGlvbl9mb3JfY2Ficl9zbGljZVx1MDAzZDAuMDFcdTAwMjZodG1sNV9taW5fcGxheWJhY2tfYWR2YW5jZV9mb3Jfc3RlYWR5X3N0YXRlX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9jYXBfc2Vjc1x1MDAzZDYwXHUwMDI2aHRtbDVfbWluX3JlYWRiZWhpbmRfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9taW5fc2Vjb25kc19iZXR3ZWVuX2Zvcm1hdF9zZWxlY3Rpb25zXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluX3NlbGVjdGFibGVfcXVhbGl0eV9vcmRpbmFsXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9zdGFydHVwX2J1ZmZlcmVkX21lZGlhX2R1cmF0aW9uX2Zvcl9saXZlX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9zZWNzXHUwMDNkMS4yXHUwMDI2aHRtbDVfbWluX3N0YXJ0dXBfZHVyYXRpb25fbGl2ZV9zZWNzXHUwMDNkMC4yNVx1MDAyNmh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zXHUwMDNkMFx1MDAyNmh0bWw1X21pbl91cGdyYWRlX2hlYWx0aF9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21vY2tfY29udGVudF9iaW5kaW5nX2Zvcl9zZXNzaW9uX3Rva2VuXHUwMDNkXHUwMDI2aHRtbDVfbW92ZV9kaXNhYmxlX2FpcnBsYXlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbm9fcGxhY2Vob2xkZXJfcm9sbGJhY2tzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X25vbl9vbmVzaWVfYXR0YWNoX3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29mZmxpbmVfZG93bmxvYWRfdGltZW91dF9yZXRyeV9saW1pdFx1MDAzZDRcdTAwMjZodG1sNV9vZmZsaW5lX2ZhaWx1cmVfcmV0cnlfbGltaXRcdTAwM2QyXHUwMDI2aHRtbDVfb2ZmbGluZV9wbGF5YmFja19wb3NpdGlvbl9zeW5jXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29mZmxpbmVfcHJldmVudF9yZWRvd25sb2FkX2Rvd25sb2FkZWRfdmlkZW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2NoZWNrX3RpbWVvdXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2RlZmVyX2NvbnRlbnRfbG9hZGVyX21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9saXZlX3R0bF9zZWNzXHUwMDNkOFx1MDAyNmh0bWw1X29uZXNpZV9wcmV3YXJtX2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9wcmV3YXJtX21heF9sYWN0X21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9yZWRpcmVjdG9yX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfb25lc2llX3NlbmRfc3RyZWFtZXJfY29udGV4dFx1MDAzZHRydWVcdTAwMjZodG1sNV9vdmVycmlkZV9taWNyb19kaXNjb250aW51aXRpZXNfdGhyZXNob2xkX21zXHUwMDNkLTFcdTAwMjZodG1sNV9wYWNlZF9wb2xsX21pbl9oZWFsdGhfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcGFjZWRfcG9sbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9wYXVzZV9vbl9ub25mb3JlZ3JvdW5kX3BsYXRmb3JtX2Vycm9yc1x1MDAzZHRydWVcdTAwMjZodG1sNV9wZWFrX3NoYXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BlcmZfY2FwX292ZXJyaWRlX3N0aWNreVx1MDAzZHRydWVcdTAwMjZodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3JcdTAwM2QzNjBcdTAwMjZodG1sNV9wZXJzZXJ2ZV9hdjFfcGVyZl9jYXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGljdHVyZV9pbl9waWN0dXJlX2xvZ2dpbmdfb25yZXNpemVfcmF0aW9cdTAwM2QwLjBcdTAwMjZodG1sNV9wbGF0Zm9ybV9tYXhfYnVmZmVyX2hlYWx0aF9vdmVyc2VuZF9kdXJhdGlvbl9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfcGxhdGZvcm1fbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3BsYXRmb3JtX3doaXRlbGlzdGVkX2Zvcl9mcmFtZV9hY2N1cmF0ZV9zZWVrc1x1MDAzZHRydWVcdTAwMjZodG1sNV9wbGF5ZXJfYXR0X2luaXRpYWxfZGVsYXlfbXNcdTAwM2QzMDAwXHUwMDI2aHRtbDVfcGxheWVyX2F0dF9yZXRyeV9kZWxheV9tc1x1MDAzZDE1MDBcdTAwMjZodG1sNV9wbGF5ZXJfYXV0b25hdl9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9lczZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGxheWVyX21pbl9idWlsZF9jbFx1MDAzZC0xXHUwMDI2aHRtbDVfcGxheWVyX3ByZWxvYWRfYWRfZml4XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Bvc3RfaW50ZXJydXB0X3JlYWRhaGVhZFx1MDAzZDIwXHUwMDI2aHRtbDVfcHJlZmVyX2xhbmd1YWdlX292ZXJfY29kZWNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJlZmVyX3NlcnZlcl9id2UzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWxvYWRfYmVmb3JlX2luaXRpYWxfc2Vla193aXRoX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJlbG9hZF93YWl0X3RpbWVfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3ByZXZlbnRfbW9iaWxlX2JhY2tncm91bmRfcGxheV9vbl9ldmVudF9zaGFyZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJvYmVfcHJpbWFyeV9kZWxheV9iYXNlX21zXHUwMDNkMFx1MDAyNmh0bWw1X3Byb2Nlc3NfYWxsX2VuY3J5cHRlZF9ldmVudHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcW9lX3Byb3RvX21vY2tfbGVuZ3RoXHUwMDNkMFx1MDAyNmh0bWw1X3F1ZXJ5X3N3X3NlY3VyZV9jcnlwdG9fZm9yX2FuZHJvaWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmFuZG9tX3BsYXliYWNrX2NhcFx1MDAzZDBcdTAwMjZodG1sNV9yZWNvcmRfaXNfb2ZmbGluZV9vbl9wbGF5YmFja19hdHRlbXB0X3N0YXJ0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlY29yZF91bXBfdGltaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbG9hZF9ieV9rYWJ1a2lfYXBwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9jbGllbnRfc2Ficl9kZXRlcm1pbmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9jb21tYW5kX3RyaWdnZXJlZF9jb21wYW5pb25zXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9ub3Rfc2VydmFibGVfY2hlY2tfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXBvcnRfZmF0YWxfZHJtX3Jlc3RyaWN0ZWRfZXJyb3Jfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXBvcnRfc2xvd19hZHNfYXNfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwcmVkaWN0X2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X3JlcXVlc3Rfb25seV9oZHJfb3Jfc2RyX2tleXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVxdWVzdF9zaXplX21heF9rYlx1MDAzZDBcdTAwMjZodG1sNV9yZXF1ZXN0X3NpemVfbWluX2tiXHUwMDNkMFx1MDAyNmh0bWw1X3Jlc2Vla19hZnRlcl90aW1lX2p1bXBfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Jlc2Vla19hZnRlcl90aW1lX2p1bXBfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcmVzZXRfYmFja29mZl9vbl91c2VyX3NlZWtcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVzb3VyY2VfYmFkX3N0YXR1c19kZWxheV9zY2FsaW5nXHUwMDNkMS41XHUwMDI2aHRtbDVfcmVzdHJpY3Rfc3RyZWFtaW5nX3hocl9vbl9zcWxlc3NfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfZG93bmxvYWRzX2Zvcl9leHBpcmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X29uX2RybV9rZXlfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfb25fZHJtX3VuYXZhaWxhYmxlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X3F1b3RhX2V4Y2VlZGVkX3ZpYV9zZWVrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHVybl9wbGF5YmFja19pZl9hbHJlYWR5X3ByZWxvYWRlZFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2VuYWJsZV9zZXJ2ZXJfeHRhZ19zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9mZXRjaF9vbl9pZGxlX25ldHdvcmtfcHJlbG9hZGVkX3BsYXllcnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9mb3JjZV9tYXhfbmV0d29ya19pbnRlcnJ1cHRpb25fZHVyYXRpb25fbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX25vcm1hbF9sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xpdmVfdWx0cmFfbG93X2xhdGVuY3lfc3RyZWFtaW5nX3hoclx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xvZ19zZXJ2ZXJfeHRhZ19zZWxlY3Rpb25fb25lc2llX21pc21hdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbWluX21lZGlhX2J5dGVzX2ZhY3Rvcl90b19hcHBlbmRfZm9yX3N0cmVhbVx1MDAzZDAuMFx1MDAyNmh0bWw1X3NhYnJfbm9uX3N0cmVhbWluZ194aHJfcmVxdWVzdF9jYW5jZWxsYXRpb25fdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9zYWJyX25vbl9zdHJlYW1pbmdfeGhyX3RpbWVvdXRfcmV0cnlfbGltaXRcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3JlcG9ydF9yZXF1ZXN0X2NhbmNlbGxhdGlvbl9pbmZvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfcmVxdWVzdF9saW1pdF9wZXJfcGVyaW9kXHUwMDNkMjBcdTAwMjZodG1sNV9zYWJyX3JlcXVlc3Rfb25fY29uc3RyYWludFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3NlZWtfbm9fc2hpZnRfdG9sZXJhbmNlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfc2tpcF9jbGllbnRfYXVkaW9faW5pdF9zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9zdWNjZXNzZnVsX3Byb2JlX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfdW51c2VkX2Jsb2F0X3NpemVfYnl0ZXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ftc3VuZ19rYW50X2xpbWl0X21heF9iaXRyYXRlXHUwMDNkMFx1MDAyNmh0bWw1X3NlZWtfamlnZ2xlX2NtdF9kZWxheV9tc1x1MDAzZDgwMDBcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX2RlbGF5X21zXHUwMDNkMTIwMDBcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX3Nob3J0c19kZWxheV9tc1x1MDAzZDIwMDBcdTAwMjZodG1sNV9zZWVrX25ld19tZWRpYV9lbGVtZW50X3Nob3J0c19yZXVzZV9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfZWxlbWVudF9zaG9ydHNfcmV1c2VfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfc291cmNlX3Nob3J0c19yZXVzZV9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfc291cmNlX3Nob3J0c19yZXVzZV9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zZWVrX3NldF9jbXRfZGVsYXlfbXNcdTAwM2QyMDAwXHUwMDI2aHRtbDVfc2Vla190aW1lb3V0X2RlbGF5X21zXHUwMDNkMjAwMDBcdTAwMjZodG1sNV9zZW5kX2N1ZXBvaW50X2lkX2luX2FkX2JyZWFrX3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VuZF9zZXJpYWxpemVkX29uZV90aW1lX3FvZV9jb250ZXh0X2RhdGFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9zZXJ2ZXJfc3RpdGNoZWRfZGFpX2RlY29yYXRlZF91cmxfcmV0cnlfbGltaXRcdTAwM2Q1XHUwMDI2aHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zXHUwMDNkOTAwMDAwXHUwMDI2aHRtbDVfc2V0X3ZpZGVvX2lkX2FzX2V4cGVjdGVkX2NvbnRlbnRfYmluZGluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19hZF9zbG93X3N0YXJ0X2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19hZF9zbG93X3N0YXJ0X2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX25leHRfYnVmZmVyX2luX3NlY29uZHNcdTAwM2QwXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3Nfbm9fZ2xsYXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zaG93X2RyY190b2dnbGVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2ltcGxpZmllZF9iYWNrdXBfdGltZW91dF9zYWJyX2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2tpcF9lbXB0eV9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9za2lwX3Nsb3dfYWRfZGVsYXlfbXNcdTAwM2QxNTAwMFx1MDAyNmh0bWw1X3Nsb3dfc3RhcnRfbm9fbWVkaWFfc291cmNlX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Nsb3dfc3RhcnRfdGltZW91dF9kZWxheV9tc1x1MDAzZDIwMDAwXHUwMDI2aHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3NkYWlfZmFpbHVyZV9yZXRyeV9saW1pdFx1MDAzZDBcdTAwMjZodG1sNV9zc2RhaV9sb2dfbWlzc2luZ19hZF9jb25maWdfcmVhc29uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3N0YWxsX2ZhY3Rvclx1MDAzZDAuMFx1MDAyNmh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RpY2t5X2R1cmF0aW9uX21vc1x1MDAzZDBcdTAwMjZodG1sNV9zdG9yZV94aHJfaGVhZGVyc19yZWFkYWJsZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zdHJlYW1pbmdfcmVzaWxpZW5jZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zdHJlYW1pbmdfeGhyX3RpbWVfYmFzZWRfY29uc29saWRhdGlvbl9tc1x1MDAzZC0xXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbG9hZF9zcGVlZF9jaGVja19pbnRlcnZhbFx1MDAzZDAuNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3NcdTAwM2QwLjI1XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2J1ZmZlcl9oZWFsdGhfc2Vjc19vbl90aW1lb3V0XHUwMDNkMC4xXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2xvYWRfc3BlZWRcdTAwM2QxLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9zZWVrX2xhdGVuY3lfZnVkZ2VcdTAwM2QwLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRfYnVmZmVyX2hlYWx0aF9zZWNzXHUwMDNkMC41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGltZW91dF9zZWNzXHUwMDNkMi4wXHUwMDI2aHRtbDVfdHJhY2tfb3ZlcnNob290XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3RyYW5zZmVyX3Byb2Nlc3NpbmdfbG9nc19pbnRlcnZhbFx1MDAzZDEwMDBcdTAwMjZodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29ya1x1MDAzZHRydWVcdTAwMjZodG1sNV91Z2NfbGl2ZV9hdWRpb181MVx1MDAzZHRydWVcdTAwMjZodG1sNV91Z2Nfdm9kX2F1ZGlvXzUxXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VucmVwb3J0ZWRfc2Vla19yZXNlZWtfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfdXBkYXRlX3RpbWVfb25fc2Vla2VkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfaW5pdF9zZWxlY3RlZF9hdWRpb1x1MDAzZHRydWVcdTAwMjZodG1sNV91c2Vfbm9uX2FjdGl2ZV9icm9hZGNhc3RfZm9yX3Bvc3RfbGl2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfcG9zdF9mb3JfbWVkaWFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3NoYXJlZF9vd2xfaW5zdGFuY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3VtcFx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdW1wX3JlcXVlc3Rfc2xpY2VyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV91bXBfdGltaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV92aWRlb19xdWFsaXR5X2NhcF9mb3JfdXN0cmVhbWVyX2NvbnN0cmFpbnRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3ZpZGVvX3RyYW5zaXRpb25fZW5kcG9pbnRfaGVhcnRiZWF0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ZpZGVvX3RiZF9taW5fa2JcdTAwM2QwXHUwMDI2aHRtbDVfdmlld3BvcnRfdW5kZXJzZW5kX21heGltdW1cdTAwM2QwLjBcdTAwMjZodG1sNV92b2x1bWVfc2xpZGVyX3Rvb2x0aXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfd2ViX3BvX2V4cGVyaW1lbnRfaWRzXHUwMDNkW11cdTAwMjZodG1sNV93ZWJfcG9fcmVxdWVzdF9rZXlcdTAwM2RcdTAwMjZodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfd29mZmxlX3Jlc3VtZVx1MDAzZHRydWVcdTAwMjZodG1sNV93b3JrYXJvdW5kX2RlbGF5X3RyaWdnZXJcdTAwM2R0cnVlXHUwMDI2aWRiX2ltbWVkaWF0ZV9jb21taXRcdTAwM2R0cnVlXHUwMDI2aWdub3JlX292ZXJsYXBwaW5nX2N1ZV9wb2ludHNfb25fZW5kZW1pY19saXZlX2h0bWw1XHUwMDNkdHJ1ZVx1MDAyNmlsX2F0dGFjaF9jYWNoZV9saW1pdFx1MDAzZHRydWVcdTAwMjZpbF9wYXlsb2FkX3NjcmFwaW5nXHUwMDNkXHUwMDI2aWxfdXNlX3ZpZXdfbW9kZWxfbG9nZ2luZ19jb250ZXh0XHUwMDNkdHJ1ZVx1MDAyNmluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXRcdTAwM2QyMDAwXHUwMDI2aW5qZWN0ZWRfbGljZW5zZV9oYW5kbGVyX2Vycm9yX2NvZGVcdTAwM2QwXHUwMDI2aW5qZWN0ZWRfbGljZW5zZV9oYW5kbGVyX2xpY2Vuc2Vfc3RhdHVzXHUwMDNkMFx1MDAyNmlvc19hbmRfYW5kcm9pZF9mcmVzY2FfcG9sbGluZ19kZWxheV9vdmVycmlkZVx1MDAzZDBcdTAwMjZpdGRybV9hbHdheXNfdXNlX3dpZGV2aW5lX3Nka1x1MDAzZHRydWVcdTAwMjZpdGRybV9kaXNhYmxlX2V4dGVybmFsX2tleV9yb3RhdGlvbl9zeXN0ZW1faWRzXHUwMDNkW11cdTAwMjZpdGRybV9lbmFibGVfcmV2b2NhdGlvbl9yZXBvcnRpbmdcdTAwM2R0cnVlXHUwMDI2aXRkcm1faW5qZWN0ZWRfbGljZW5zZV9zZXJ2aWNlX2Vycm9yX2NvZGVcdTAwM2QwXHUwMDI2aXRkcm1fc2V0X3NhYnJfbGljZW5zZV9jb25zdHJhaW50XHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3VzZV9mYWlycGxheV9zZGtcdTAwM2R0cnVlXHUwMDI2aXRkcm1fdXNlX3dpZGV2aW5lX3Nka19mb3JfcHJlbWl1bV9jb250ZW50XHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3dpZGV2aW5lX2hhcmRlbmVkX3ZtcF9tb2RlXHUwMDNkbG9nXHUwMDI2anNvbl9jb25kZW5zZWRfcmVzcG9uc2VcdTAwM2R0cnVlXHUwMDI2a2V2bGFyX2NvbW1hbmRfaGFuZGxlcl9jb21tYW5kX2Jhbmxpc3RcdTAwM2RbXVx1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9pZGVhbF90aWxlX3dpZHRoX3BlcmNlbnRhZ2VcdTAwM2QwLjI3XHUwMDI2a2V2bGFyX2RlbGhpX21vZGVybl93ZWJfZW5kc2NyZWVuX21heF9yb3dzXHUwMDNkMlx1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9tYXhfd2lkdGhcdTAwM2Q1MDBcdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5fbWluX3dpZHRoXHUwMDNkMjAwXHUwMDI2a2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX2V4cGFuZF90b3BcdTAwM2R0cnVlXHUwMDI2a2V2bGFyX21pbmlwbGF5ZXJfcGxheV9wYXVzZV9vbl9zY3JpbVx1MDAzZHRydWVcdTAwMjZrZXZsYXJfcGxheWJhY2tfYXNzb2NpYXRlZF9xdWV1ZVx1MDAzZHRydWVcdTAwMjZsYXVuY2hfbGljZW5zZV9zZXJ2aWNlX2FsbF9vdHRfdmlkZW9zX2F1dG9tYXRpY19mYWlsX29wZW5cdTAwM2R0cnVlXHUwMDI2bGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZVx1MDAzZHRydWVcdTAwMjZsaXZlX2NoYXRfZW5hYmxlX3J0YV9tYW5hZ2VyXHUwMDNkdHJ1ZVx1MDAyNmxpdmVfY2h1bmtfcmVhZGFoZWFkXHUwMDNkM1x1MDAyNmxvZ19jbGlja193aXRoX2xheWVyX2Zyb21fZWxlbWVudF9pbl9jb21tYW5kX2hhbmRsZXJcdTAwM2R0cnVlXHUwMDI2bG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uXHUwMDNkMC4xXHUwMDI2bWFuaWZlc3RsZXNzX3Bvc3RfbGl2ZVx1MDAzZHRydWVcdTAwMjZtYW5pZmVzdGxlc3NfcG9zdF9saXZlX3VmcGhcdTAwM2R0cnVlXHUwMDI2bWF4X2JvZHlfc2l6ZV90b19jb21wcmVzc1x1MDAzZDUwMDAwMFx1MDAyNm1heF9jZGZlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZtYXhfcHJlZmV0Y2hfd2luZG93X3NlY19mb3JfbGl2ZXN0cmVhbV9vcHRpbWl6YXRpb25cdTAwM2QxMFx1MDAyNm1heF9yZXNvbHV0aW9uX2Zvcl93aGl0ZV9ub2lzZVx1MDAzZDM2MFx1MDAyNm1keF9lbmFibGVfcHJpdmFjeV9kaXNjbG9zdXJlX3VpXHUwMDNkdHJ1ZVx1MDAyNm1keF9sb2FkX2Nhc3RfYXBpX2Jvb3RzdHJhcF9zY3JpcHRcdTAwM2R0cnVlXHUwMDI2bWluX3ByZWZldGNoX29mZnNldF9zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uXHUwMDNkMjBcdTAwMjZtdGFfZHJjX211dHVhbF9leGNsdXNpb25fcmVtb3ZhbFx1MDAzZHRydWVcdTAwMjZtdXNpY19lbmFibGVfc2hhcmVkX2F1ZGlvX3RpZXJfbG9naWNcdTAwM2R0cnVlXHUwMDI2bXdlYl9hY2NvdW50X2xpbmtpbmdfbm9hcHBcdTAwM2R0cnVlXHUwMDI2bXdlYl9kZWJ1Z19zdGlja3lfc2V0dGluZ3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfY2xpY2tfdG9fcGxheV9wYXVzZVx1MDAzZHRydWVcdTAwMjZtd2ViX2VuYWJsZV9maW5lX3NjcnViYmluZ19mb3JfcmVjc1x1MDAzZHRydWVcdTAwMjZtd2ViX2VuYWJsZV9tb3JlX2NodW5rc1x1MDAzZHRydWVcdTAwMjZtd2ViX25hdGl2ZV9jb250cm9sX2luX2ZhdXhfZnVsbHNjcmVlbl9zaGFyZWRcdTAwM2R0cnVlXHUwMDI2bXdlYl9wbGF5ZXJfY29udHJvbF9vbl9ob3Zlclx1MDAzZHRydWVcdTAwMjZtd2ViX3Byb2dyZXNzX2Jhcl9zZWVrX29uX21vdXNlX2NsaWNrXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfc2hvcnRzX2NvbW1lbnRzX3BhbmVsX2lkX2NoYW5nZVx1MDAzZHRydWVcdTAwMjZtd2ViX3VzZV9taWNyb2Zvcm1hdF90aXRsZV9mb3JfcG9zdHNcdTAwM2R0cnVlXHUwMDI2bmV0d29ya19wb2xsaW5nX2ludGVydmFsXHUwMDNkMzAwMDBcdTAwMjZuZXR3b3JrbGVzc19sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNm5ld19jb2RlY3Nfc3RyaW5nX2FwaV91c2VzX2xlZ2FjeV9zdHlsZVx1MDAzZHRydWVcdTAwMjZub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93blx1MDAzZHRydWVcdTAwMjZub19maWxsZXJfdmlkZW9fZm9yX3NzYV9wbGF5YmFja3NcdTAwM2R0cnVlXHUwMDI2b3ZlcnJpZGVfZHJtX3JlcXVpcmVkX3BsYXliYWNrX3BvbGljeV9jaGFubmVsc1x1MDAzZFtdXHUwMDI2cGFnZWlkX2FzX2hlYWRlcl93ZWJcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2Fkc19zZXRfYWRmb3JtYXRfb25fY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9ib290c3RyYXBfbWV0aG9kXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9jb250cm9sc192b2x1bWVfY29udHJvbHNfdXNlX3BsYXllcl9wcm9wc1x1MDAzZHRydWVcdTAwMjZwbGF5ZXJfZGVzdHJveV9vbGRfdmVyc2lvblx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfZW5hYmxlX3BsYXliYWNrX3BsYXlsaXN0X2NoYW5nZVx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfbmV3X2luZm9fY2FyZF9mb3JtYXRcdTAwM2R0cnVlXHUwMDI2cGxheWVyX3VuZGVybGF5X21pbl9wbGF5ZXJfd2lkdGhcdTAwM2Q3NjguMFx1MDAyNnBsYXllcl91bmRlcmxheV92aWRlb193aWR0aF9mcmFjdGlvblx1MDAzZDAuNlx1MDAyNnBsYXllcl93ZWJfY2FuYXJ5XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl93ZWJfY2FuYXJ5X3N0YWdlXHUwMDNkM1x1MDAyNnBsYXllcl93ZWJfaXNfY2FuYXJ5XHUwMDNkdHJ1ZVx1MDAyNnBsYXlyZWFkeV9maXJzdF9wbGF5X2V4cGlyYXRpb25cdTAwM2QtMVx1MDAyNnBvZGNhc3RzX3ZpZGVvc3RhdHNfZGVmYXVsdF9mbHVzaF9pbnRlcnZhbF9zZWNvbmRzXHUwMDNkMFx1MDAyNnBvbHltZXJfYmFkX2J1aWxkX2xhYmVsc1x1MDAzZHRydWVcdTAwMjZwb2x5bWVyX3ZlcmlmaXlfYXBwX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNnBvcHVsYXRlX2Zvcm1hdF9zZXRfaW5mb19pbl9jZGZlX2Zvcm1hdHNcdTAwM2R0cnVlXHUwMDI2cHJlc2tpcF9idXR0b25fc3R5bGVfYWRzX2JhY2tlbmRcdTAwM2RcdTAwMjZwcm94aW1hX2F1dG9fdGhyZXNob2xkX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tc1x1MDAzZDBcdTAwMjZwcm94aW1hX2F1dG9fdGhyZXNob2xkX21pbl9iYW5kd2lkdGhfZXN0aW1hdGVfYnl0ZXNfcGVyX3NlY1x1MDAzZDBcdTAwMjZxb2Vfc2VuZF9hbmRfd3JpdGVcdTAwM2R0cnVlXHUwMDI2cXVhbGl0eV9jYXBfZm9yX2lubGluZV9ub25fYXBwX2Fkc1x1MDAzZDBcdTAwMjZxdWFsaXR5X2NhcF9mb3JfaW5saW5lX3BsYXliYWNrXHUwMDNkMFx1MDAyNnF1YWxpdHlfY2FwX2Zvcl9pbmxpbmVfcGxheWJhY2tfYWRzXHUwMDNkMFx1MDAyNnJlYWRfYWhlYWRfbW9kZWxfbmFtZVx1MDAzZFx1MDAyNnJlamVjdF9oaWRkZW5fbGl2ZV9mb3JtYXRzXHUwMDNkdHJ1ZVx1MDAyNnJlamVjdF9saXZlX3ZwOV9tcV9jbGVhcl93aXRoX25vX2Ficl9sYWRkZXJcdTAwM2R0cnVlXHUwMDI2cmVsYXhfYmdfbm90aWZpY2F0aW9uX3Rocm90dGxpbmdcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX2NoZXZyb25fZnJvbV9hZF9kaXNjbG9zdXJlX2Jhbm5lcl9oNVx1MDAzZHRydWVcdTAwMjZyZW1vdmVfbWFzdGhlYWRfY2hhbm5lbF9iYW5uZXJfb25fcmVmcmVzaFx1MDAzZHRydWVcdTAwMjZyZW1vdmVfc2xvdF9pZF9leGl0ZWRfdHJpZ2dlcl9mb3JfZGFpX2luX3BsYXllcl9zbG90X2V4cGlyZVx1MDAzZHRydWVcdTAwMjZyZXBsYWNlX3BsYXlhYmlsaXR5X3JldHJpZXZlcl9pbl93YXRjaFx1MDAzZHRydWVcdTAwMjZyb3NjYXNcdTAwM2R0cnVlXHUwMDI2c2Ficl9lbmFibGVfaG9zdF9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZzZWxmX3BvZGRpbmdfaGVhZGVyX3N0cmluZ190ZW1wbGF0ZVx1MDAzZHNlbGZfcG9kZGluZ19pbnRlcnN0aXRpYWxfbWVzc2FnZVx1MDAyNnNlbGZfcG9kZGluZ19taWRyb2xsX2Nob2ljZV9zdHJpbmdfdGVtcGxhdGVcdTAwM2RzZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2VcdTAwMjZzZW5kX2NvbmZpZ19oYXNoX3RpbWVyXHUwMDNkMFx1MDAyNnNlcnZlX2FkYXB0aXZlX2ZtdHNfZm9yX2xpdmVfc3RyZWFtc1x1MDAzZHRydWVcdTAwMjZzZXRfbW9ja19pZF9hc19leHBlY3RlZF9jb250ZW50X2JpbmRpbmdcdTAwM2RcdTAwMjZzaGVsbF9sb2FkX2djZlx1MDAzZHRydWVcdTAwMjZzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXRcdTAwM2R0cnVlXHUwMDI2c2hvcnRzX21vZGVfdG9fcGxheWVyX2FwaVx1MDAzZHRydWVcdTAwMjZzaG91bGRfYXR0cmlidXRlX3RvX3dhdGNoX3dpdGhfc291cmNlXHUwMDNkW11cdTAwMjZzaG91bGRfYXR0cmlidXRlX3ZpZXdzX3RvX3dhdGNoX3dpdGhfc291cmNlXHUwMDNkdHJ1ZVx1MDAyNnNpbXBseV9lbWJlZGRlZF9lbmFibGVfYm90Z3VhcmRcdTAwM2R0cnVlXHUwMDI2c2xvd19jb21wcmVzc2lvbnNfYmVmb3JlX2FiYW5kb25fY291bnRcdTAwM2Q0XHUwMDI2c21hbGxfYXZhdGFyc19mb3JfY29tbWVudHNcdTAwM2R0cnVlXHUwMDI2c21hcnRfc2tpcF93ZWJfcGxheWVyX2Jhcl9taW5faG92ZXJfbGVuZ3RoX21pbGxpc2Vjb25kc1x1MDAzZDEwMDBcdTAwMjZzbWFydGVyX3ZlX2RlZHVwcGluZ1x1MDAzZHRydWVcdTAwMjZzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHBcdTAwM2QxMFx1MDAyNnNwZWVkbWFzdGVyX3BsYXliYWNrX3JhdGVcdTAwM2QyLjBcdTAwMjZzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zXHUwMDNkNTAwXHUwMDI2c3RvcF9oYW5kbGluZ19jbGlja19mb3Jfbm9uX3JlbmRlcmluZ19vdmVybGF5X2xheW91dFx1MDAzZHRydWVcdTAwMjZzdHJlYW1pbmdfZGF0YV9lbWVyZ2VuY3lfaXRhZ19ibGFja2xpc3RcdTAwM2RbXVx1MDAyNnN1YnN0aXR1dGVfYWRfY3BuX21hY3JvX2luX3NzZGFpXHUwMDNkdHJ1ZVx1MDAyNnN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNnRyaW1fYWRhcHRpdmVfZm9ybWF0c19zaWduYXR1cmVfY2lwaGVyX2Zvcl9zYWJyX2NvbnRlbnRcdTAwM2R0cnVlXHUwMDI2dHZodG1sNV91bnBsdWdnZWRfcHJlbG9hZF9jYWNoZV9zaXplXHUwMDNkNVx1MDAyNnVzZV9jdWVfcmFuZ2VfbWFya2VyX3Bvc2l0aW9uXHUwMDNkdHJ1ZVx1MDAyNnVzZV9ldmVudF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfZXh0cmFfcmVhZGFoZWFkX25vcm1hbF9sYXRlbmN5X2ZyYW1lX2xldmVsX3N0cmVhbWluZ19pbl9iYWNrZW5kX2V4cGVyaW1lbnRcdTAwM2RbXVx1MDAyNnVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZ1c2VfZ2VuZXJhdGVkX21lZGlhX2tleXNfaW5fZmFpcnBsYXlfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2dXNlX2lubGluZWRfcGxheWVyX3JwY1x1MDAzZHRydWVcdTAwMjZ1c2VfbmV3X2NvZGVjc19zdHJpbmdfYXBpXHUwMDNkdHJ1ZVx1MDAyNnVzZV9wbGF5YWJpbGl0eV9yZXN1bHRfZm9yX2Nhbl9wbGF5X3N0YXR1c1x1MDAzZHRydWVcdTAwMjZ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfcnRhX2Zvcl9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2dXNlX3Nlc3Npb25fYmFzZWRfc2FtcGxpbmdcdTAwM2R0cnVlXHUwMDI2dXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlXHUwMDNkdHJ1ZVx1MDAyNnZhcmlhYmxlX2J1ZmZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNnZwOV9kcm1fbGl2ZVx1MDAzZHRydWVcdTAwMjZ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZVx1MDAzZHRydWVcdTAwMjZ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnZzc191c2VfcG9zdF9yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNndlYl9hcGlfdXJsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGVcdTAwM2Q1MDAuMFx1MDAyNndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNndlYl9idXR0b25fdm1fcmVmYWN0b3JfZGlzYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlXHUwMDNkXHUwMDI2d2ViX2NvbGxlY3Rfb2ZmbGluZV9zdGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9kZWR1cGVfdmVfZ3JhZnRpbmdcdTAwM2R0cnVlXHUwMDI2d2ViX2Rpc2FibGVfY2FwdGlvbl9vcGFjaXR5X2tleWJvYXJkX3Nob3J0Y3V0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZGlzYWJsZV9jaGlwX3ZpZXdfbW9kZWxfbXV0YXRpb25cdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9hYl9yc3BfY2xcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9jYXB0aW9uX2xhbmd1YWdlX3ByZWZlcmVuY2Vfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfZXJyb3JfMjA0XHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfa2V5Ym9hcmRfc2hvcnRjdXRfZm9yX3RpbWVseV9hY3Rpb25zXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfc2hvcHBpbmdfdGltZWx5X3NoZWxmX2NsaWVudFx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX3NtYWxsX3NwZWVkbWFzdGVyXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfdGltZWx5X2FjdGlvbnNcdTAwM2R0cnVlXHUwMDI2d2ViX2ZpeF9maW5lX3NjcnViYmluZ19mYWxzZV9wbGF5XHUwMDNkdHJ1ZVx1MDAyNndlYl9mb3JlZ3JvdW5kX2hlYXJ0YmVhdF9pbnRlcnZhbF9tc1x1MDAzZDI4MDAwXHUwMDI2d2ViX2Z1bGxzY3JlZW5fc2hvcnRzXHUwMDNkdHJ1ZVx1MDAyNndlYl9mdWxsc2NyZWVuX3Nob3J0c19tZW51X2l0ZW1cdTAwM2R0cnVlXHUwMDI2d2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNndlYl9nZWxfZGVib3VuY2VfbXNcdTAwM2QxMDAwMFx1MDAyNndlYl9nZWxfdGltZW91dF9jYXBcdTAwM2R0cnVlXHUwMDI2d2ViX2hpZGVfbmV4dF9idXR0b25cdTAwM2R0cnVlXHUwMDI2d2ViX2hpZGVfd2F0Y2hfaW5mb19lbXB0eVx1MDAzZHRydWVcdTAwMjZ3ZWJfaGlkZV95b3VyX2RhdGFfb25fYXV0b21vdGl2ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfbG9hZF9wcmVkaWN0aW9uX3RocmVzaG9sZFx1MDAzZDAuM1x1MDAyNndlYl9sb2dnaW5nX21heF9iYXRjaFx1MDAzZDEwMFx1MDAyNndlYl9tYXhfdHJhY2luZ19ldmVudHNcdTAwM2Q1MFx1MDAyNndlYl9tb25vbWVyX3dlYl9jb21wb25lbnRfd3JhcHBlcl9oYW5kbGVfZXJyb3JzXHUwMDNkdHJ1ZVx1MDAyNndlYl9uYXZpZ2F0aW9uX3ByZWRpY3Rpb25fdGhyZXNob2xkXHUwMDNkMC4xXHUwMDI2d2ViX25vbl9uYXZpZ2F0aW5nX2F0YWdcdTAwM2R0cnVlXHUwMDI2d2ViX29wX3NpZ25hbF90eXBlX2Jhbmxpc3RcdTAwM2RbXVx1MDAyNndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfYXBpX2xvZ2dpbmdfZnJhY3Rpb25cdTAwM2QwLjAxXHUwMDI2d2ViX3BsYXllcl9iaWdfbW9kZV9zY3JlZW5fd2lkdGhfY3V0b2ZmXHUwMDNkNDAwMVx1MDAyNndlYl9wbGF5ZXJfZGVmYXVsdF9wZWVraW5nX3B4XHUwMDNkMzZcdTAwMjZ3ZWJfcGxheWVyX2Rpc2FibGVfZ3JpZF9vbl9vZmZsaW5lX3NsYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfZW5hYmxlX2ZlYXR1cmVkX3Byb2R1Y3RfYmFubmVyX2V4Y2x1c2l2ZXNfb25fZGVza3RvcFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2VuYWJsZV9mZWF0dXJlZF9wcm9kdWN0X2Jhbm5lcl9wcm9tb3Rpb25fdGV4dF9vbl9kZXNrdG9wXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfZnJvc3RlZF9nbGFzc19ibHVyX3JhZGl1c1x1MDAzZDE2XHUwMDI2d2ViX3BsYXllcl9mcm9zdGVkX2dsYXNzX2JsdXJfcmFkaXVzX2Zsb2F0XHUwMDNkMTYuMFx1MDAyNndlYl9wbGF5ZXJfaW5uZXJ0dWJlX3BsYXlsaXN0X3VwZGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2ludmlzaWJsZV9mdWxsc2NyZWVuX2J1dHRvblx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX2lwcF9jYW5hcnlfdHlwZV9mb3JfbG9nZ2luZ1x1MDAzZGV4cGVyaW1lbnRcdTAwMjZ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtc1x1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX21pbmlwbGF5ZXJfaW5fY29udGV4dF9tZW51XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfbW91c2VfaWRsZV93YWl0X3RpbWVfbXNcdTAwM2QzMDAwXHUwMDI2d2ViX3BsYXllcl9tdXNpY192aXN1YWxpemVyX3RyZWF0bWVudFx1MDAzZGZha2VcdTAwMjZ3ZWJfcGxheWVyX29mZmxpbmVfcGxheWxpc3RfYXV0b19yZWZyZXNoXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcGxheWFibGVfc2VxdWVuY2VzX3JlZmFjdG9yXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfcXVpY2tfaGlkZV90aW1lb3V0X21zXHUwMDNkMjUwXHUwMDI2d2ViX3BsYXllcl9zZWVrX2NoYXB0ZXJzX2J5X3Nob3J0Y3V0XHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2FkZGl0aW9uYWxfYXJyb3dfdGhyZXNob2xkXHUwMDNkMjAwXHUwMDI2d2ViX3BsYXllcl9zZWVrX292ZXJsYXlfZHVyYXRpb25fYnVtcF9zY2FsZVx1MDAzZDAuOVx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2xpbmdlcl9kdXJhdGlvblx1MDAzZDEwMDBcdTAwMjZ3ZWJfcGxheWVyX3NlbnRpbmVsX2lzX3VuaXBsYXllclx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3Nob3dfbXVzaWNfaW5fdGhpc192aWRlb19ncmFwaGljXHUwMDNkdmlkZW9fdGh1bWJuYWlsXHUwMDI2d2ViX3BsYXllcl9zc19kYWlfYWRfZmV0Y2hpbmdfdGltZW91dF9tc1x1MDAzZDE1MDAwXHUwMDI2d2ViX3BsYXllcl90b3VjaF9pZGxlX3dhaXRfdGltZV9tc1x1MDAzZDQwMDBcdTAwMjZ3ZWJfcGxheWVyX3RyYW5zZmVyX3RpbWVvdXRfdGhyZXNob2xkX21zXHUwMDNkMTA4MDAwMDBcdTAwMjZ3ZWJfcGxheWVyX3VwZGF0ZWRfZW50cnlwb2ludFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9jaW5lbWF0aWNfbGFiZWxfMlx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9uZXdfYXBpX2Zvcl9xdWFsaXR5X3B1bGxiYWNrXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfdXNlX3NjcmVlbl93aWR0aF9mb3JfYmlnX21vZGVcdTAwM2R0cnVlXHUwMDI2d2ViX3ByZWZldGNoX3ByZWxvYWRfdmlkZW9cdTAwM2R0cnVlXHUwMDI2d2ViX3Byb2dyZXNzX2Jhcl9kcmFnZ2FibGVcdTAwM2R0cnVlXHUwMDI2d2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9yZW1peF9hbGxvd191cF90b18zeF9wbGF5YmFja19yYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9yZW1vdmVfYnJva2VuX3N1YnNjcmliZV9lbmRzY3JlZW5cdTAwM2R0cnVlXHUwMDI2d2ViX3Nlc3Npb25fcmVwbGF5X21vdXNlbW92ZV9pbnRlcnZhbFx1MDAzZDBcdTAwMjZ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2Nyb2xsX2ludGVydmFsXHUwMDNkMFx1MDAyNndlYl9zZXNzaW9uX3JlcGxheV9zZW5kX2FmdGVyX3RpbWVvdXRcdTAwM2QwXHUwMDI2d2ViX3NldHRpbmdzX21lbnVfc3VyZmFjZV9jdXN0b21fcGxheWJhY2tcdTAwM2R0cnVlXHUwMDI2d2ViX3NldHRpbmdzX3VzZV9pbnB1dF9zbGlkZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3Nob3J0c19hdWRpb190cmFja19waWNrZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3RyYWNpbmdfZW5hYmxlZF9zcGFuc1x1MDAzZFtldmVudCwgY29tbWFuZF1cdTAwMjZ3ZWJfdHJhY2luZ19zZXNzaW9uX3JlcGxheVx1MDAzZDBcdTAwMjZ3ZWJfdW5pZmllZF9mZXRjaFx1MDAzZHRydWVcdTAwMjZ3ZWJfd2F0Y2hfZGlzYWJsZV9hY2NvdW50X2xldmVsX2NhcHRpb25zX3NldHRpbmdzXHUwMDNkdHJ1ZVx1MDAyNndlYnBvX2V4aXRfb25fbmV0X2Vyclx1MDAzZHRydWVcdTAwMjZ3aWxfaWNvbl9tYXhfY29uY3VycmVudF9mZXRjaGVzXHUwMDNkOTk5OVx1MDAyNndpel9kaWZmX292ZXJ3cml0YWJsZVx1MDAzZHRydWVcdTAwMjZ3aXpfd3JhcHBlcl9jYWxsYmFja19wcm9wc19maXhcdTAwM2R0cnVlXHUwMDI2d29mZmxlX2VuYWJsZV9kb3dubG9hZF9zdGF0dXNcdTAwM2R0cnVlXHUwMDI2d3JpdGVfcmVsb2FkX3BsYXllcl9yZXNwb25zZV90b2tlbl90b191c3RyZWFtZXJfY29uZmlnX2Zvcl92b2RcdTAwM2R0cnVlXHUwMDI2d3NfYXYxX21heF9oZWlnaHRfZmxvb3JcdTAwM2QwXHUwMDI2d3NfYXYxX21heF93aWR0aF9mbG9vclx1MDAzZDBcdTAwMjZ3c191c2VfY2VudHJhbGl6ZWRfaHFhX2ZpbHRlclx1MDAzZHRydWVcdTAwMjZ3dWdfbmV0d29ya2luZ19nemlwX3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2eXRjc2lfZGVidWdfbWF4X3NpemVcdTAwM2QxMDBcdTAwMjZ5dGlkYl9yZW1ha2VfZGJfcmV0cmllc1x1MDAzZDFcdTAwMjZ5dGlkYl9yZW9wZW5fZGJfcmV0cmllc1x1MDAzZDBcdTAwMjZ5dGlkYl90cmFuc2FjdGlvbl9lbmRlZF9ldmVudF9yYXRlX2xpbWl0XHUwMDNkMC4wMiIsInN0YXJ0TXV0ZWQiOmZhbHNlLCJtb2JpbGVJcGhvbmVTdXBwb3J0c0lubGluZVBsYXliYWNrIjp0cnVlLCJpc01vYmlsZURldmljZSI6ZmFsc2UsImNzcE5vbmNlIjoicmdsb2hTejc3dmo1RHAtcFcyeGMxQSIsImNhbmFyeVN0YXRlIjoibm9uZSIsImVuYWJsZUNzaUxvZ2dpbmciOnRydWUsImxvYWRlclVybCI6Imh0dHBzOi8vZGlnaXRhbHRyYWRlaW52ZXN0Lm9yZy8iLCJkaXNhYmxlQXV0b25hdiI6ZmFsc2UsImlzRW1iZWQiOnRydWUsImRpc2FibGVDYXN0QXBpIjpmYWxzZSwic2VyaWFsaXplZEVtYmVkQ29uZmlnIjoie30iLCJkaXNhYmxlTWR4Q2FzdCI6ZmFsc2UsImRhdGFzeW5jSWQiOiJWMGVmYmYzNWF8fCIsInN0b3JlVXNlclZvbHVtZSI6dHJ1ZSwiZGlzYWJsZVBhaWRDb250ZW50T3ZlcmxheSI6dHJ1ZSwiZW5jcnlwdGVkSG9zdEZsYWdzIjoiQUNtYmxCWGVodjBfVjAwUFFXMDFzaE9aYWN4bjVlZEI4c3JlazJKZzA5c2Iwb0pQNFBocmFRdGVzRzJHc3JIS05fTmlyTUlROF9ndUxRbV8xc2h4MFdZZ21UVzBjdFFmY3NvN1RCbWVBb0VOSFhMcnp4dklmc2F3UC1wenNNRHY0TTJFQlF3IiwiY2FuYXJ5U3RhZ2UiOiIiLCJ0cnVzdGVkSnNVcmwiOnsicHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlIjoiL3MvcGxheWVyLzdhNzk2OWMyL3BsYXllcl9lbWJlZF9lczYudmZsc2V0L2VuX1VTL2Jhc2UuanMifSwidHJ1c3RlZENzc1VybCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvd3d3LXBsYXllci5jc3MifSwiaG91c2VCcmFuZFVzZXJTdGF0dXMiOiJub3RfcHJlc2VudCIsImVtYmVkc0VuYWJsZUVtYzNkcyI6dHJ1ZSwiZGlzYWJsZU9yZ2FuaWNVaSI6dHJ1ZSwiZW5hYmxlU2Fick9uRW1iZWQiOmZhbHNlLCJzZXJpYWxpemVkQ2xpZW50RXhwZXJpbWVudEZsYWdzIjoiNDU3MTgxNzVcdTAwM2QwLjBcdTAwMjY0NTcxODE3Nlx1MDAzZDAuMDFcdTAwMjY0NTcyNTUzOFx1MDAzZDAuMFx1MDAyNjQ1NzI1NTM5XHUwMDNkMC4wXHUwMDI2NDU3MjU1NDBcdTAwM2QwLjBcdTAwMjY0NTcyNTU0MVx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQyXHUwMDNkMC4wXHUwMDI2NDU3MjU1NDNcdTAwM2QwLjBcdTAwMjY0NTcyODU1M1x1MDAzZHRydWVcdTAwMjY0NTcyODU3Mlx1MDAzZHRydWVcdTAwMjY0NTcyOTIxNVx1MDAzZHRydWVcdTAwMjY0NTczMjcwNFx1MDAzZHRydWVcdTAwMjY0NTczMjc5MVx1MDAzZHRydWVcdTAwMjY0NTczNTQyOFx1MDAzZDQwMDAuMFx1MDAyNjQ1NzM3NDg4XHUwMDNkMC4wXHUwMDI2NDU3Mzc0ODlcdTAwM2QwLjBcdTAwMjY0NTczOTAyM1x1MDAzZDAuMFx1MDAyNjQ1NzM5MTk4XHUwMDNkdHJ1ZVx1MDAyNjQ1NzQxMzM5XHUwMDNkMC4wXHUwMDI2NDU3NDE3NzNcdTAwM2QwLjBcdTAwMjY0NTc0MzIyOFx1MDAzZDAuMFx1MDAyNjQ1NzQ1NjEwXHUwMDNkdHJ1ZVx1MDAyNjQ1NzQ2OTY2XHUwMDNkMC4wXHUwMDI2NDU3NDY5NjdcdTAwM2QwLjBcdTAwMjY0NTc0NzA1M1x1MDAzZDAuMFx1MDAyNjQ1NzUwOTQ3XHUwMDNkMTAyNDBcdTAwMjY0NTc1NjIwMVx1MDAzZHRydWVcdTAwMjY0NTc1Njg3Mlx1MDAzZDAuMFx1MDAyNjQ1NzU3NDI2XHUwMDNkMC4wXHUwMDI2NDU3NTc0MjdcdTAwM2QwLjBcdTAwMjY0NTc1Nzc1MFx1MDAzZDAuMFx1MDAyNjQ1NzU3OTU3XHUwMDNkMC4wXHUwMDI2NDU3NTg0NjdcdTAwM2QwLjBcdTAwMjY0NTc2MDAxOFx1MDAzZHRydWVcdTAwMjY0NTc2MTc2MFx1MDAzZDIwMFx1MDAyNjQ1NzYyODM4XHUwMDNkMFx1MDAyNjQ1NzY0MjE3XHUwMDNkMC4wXHUwMDI2NDU3NjQyNTJcdTAwM2QwLjBcdTAwMjY0NTc2NDUyM1x1MDAzZDAuMFx1MDAyNjQ1NzY0NTI0XHUwMDNkMC4wXHUwMDI2NDU3NjQ1OTNcdTAwM2QwLjBcdTAwMjY0NTc2NTA3N1x1MDAzZHRydWVcdTAwMjY0NTc2NTU2OFx1MDAzZDAuMFx1MDAyNjQ1NzY1NjAyXHUwMDNkMC4wXHUwMDI2NDU3NjU2ODBcdTAwM2R0cnVlXHUwMDI2NDU3NjY1MTFcdTAwM2R0cnVlXHUwMDI2NDU3Njc3NjNcdTAwM2QwLjBcdTAwMjY0NTc2Nzk0M1x1MDAzZDAuMFx1MDAyNjQ1NzY4MzQwXHUwMDNkMC4wXHUwMDI2NDU3Njg0MzBcdTAwM2QwLjBcdTAwMjY0NTc2OTExOVx1MDAzZHRydWVcdTAwMjY0NTc2OTIxNFx1MDAzZDAuMFx1MDAyNjQ1NzcwMDAxXHUwMDNkMC4wXHUwMDI2NDU3NzAwMDJcdTAwM2QwLjBcdTAwMjY0NTc3MDEzNVx1MDAzZHRydWVcdTAwMjY0NTc3MTI4OFx1MDAzZHRydWVcdTAwMjY0NTc3MTg5MFx1MDAzZDAuMFx1MDAyNjQ1NzczNjAzXHUwMDNkMC4wXHUwMDI2NDU3NzM2MDRcdTAwM2QwLjBcdTAwMjY0NTc3NTc1N1x1MDAzZHRydWVcdTAwMjY0NTc3NTc5MVx1MDAzZDAuMFx1MDAyNjQ1Nzc1NzkyXHUwMDNkMC4wXHUwMDI2NDU3NzYxOTBcdTAwM2QwLjBcdTAwMjY0NTc3ODY2M1x1MDAzZDAuMFx1MDAyNjQ1Nzc4NjcxXHUwMDNkMC4wXHUwMDI2NDU3ODM4NzVcdTAwM2R0cnVlXHUwMDI2NDU3ODQ0MzlcdTAwM2QwXHUwMDI2NDU3ODY0NDNcdTAwM2QwLjBcdTAwMjY0NTc4Nzk0OFx1MDAzZHRydWVcdTAwMjY0NTc4OTQ3NFx1MDAzZHRydWVcdTAwMjY0NTc5MTExN1x1MDAzZDAuMFx1MDAyNjQ1NzkxMTE4XHUwMDNkMC4wXHUwMDI2NDU3OTExMTlcdTAwM2QwLjBcdTAwMjY0NTc5MTMyNlx1MDAzZHRydWVcdTAwMjY0NTc5MzcxMFx1MDAzZDAuMFx1MDAyNjQ1Nzk0NDQxXHUwMDNkMC4wXHUwMDI2NDU3OTQ4NjdcdTAwM2R0cnVlXHUwMDI2NDU3OTQ4NjhcdTAwM2R0cnVlXHUwMDI2NDU3OTc3MjFcdTAwM2R0cnVlXHUwMDI2NDU3OTc5NjNcdTAwM2QwLjBcdTAwMjY0NTgwMjEyM1x1MDAzZDAuMFx1MDAyNjQ1ODAzNzU0XHUwMDNkMC4wXHUwMDI2NDU4MDQ3NzFcdTAwM2QwLjBcdTAwMjY0NTgwNTY5NVx1MDAzZDAuMFx1MDAyNjQ1ODA2NTU1XHUwMDNkMlx1MDAyNjQ1ODA3NDMyXHUwMDNkMC4wXHUwMDI2NDU4MDc0ODRcdTAwM2RcdTAwMjY0NTgwNzc3MVx1MDAzZDAuMFx1MDAyNjQ1ODA3NzcyXHUwMDNkMC4wXHUwMDI2NDU4MDc3NzNcdTAwM2QwLjBcdTAwMjY0NTgwODc2Mlx1MDAzZDBcdTAwMjY0NTgxNDQ4MFx1MDAzZHRydWVcdTAwMjY0NTgxNTAxMVx1MDAzZDAuMFx1MDAyNjQ1ODE1NjMwXHUwMDNkMFx1MDAyNjQ1ODE2ODg4XHUwMDNkMC4wXHUwMDI2NDU4MTgxMjhcdTAwM2QwLjAifX0sIlhTUkZfRklFTERfTkFNRSI6InNlc3Npb25fdG9rZW4iLCJYU1JGX1RPS0VOIjoiUVVNNFptOXJVMEU1VlVOaFNESmFWVk4xWlRGRlIwcE9kM1ZFTlh4QlIzSmlTMkZ0UmpsSk5sWmZlVUpUT1dSM1ZrZGhiMjlmYVhWaE4wb3pVMGhmVTNoVE1GUmtkRjlzVEhWcmRqUkpZa2N6U0dOTlltMTVTbFE1VEdwT05EZHpibk5TVHkwNGFDMUJORWxhYVhWRFpFWTViMUJNWWpoUWNETjZOMnAxYWtVXHUwMDNkIiwiU0VSVkVSX1ZFUlNJT04iOiJwcm9kIiwiREFUQVNZTkNfSUQiOiJWMGVmYmYzNWF8fCIsIlNFUklBTElaRURfQ0xJRU5UX0NPTkZJR19EQVRBIjoiQ04zWG05TUdFT0MzMFJ3UTZmalJIQkNJa05FY0VNcjdnQk1RZzRlNEloQ0pzTTRjRUszZTBSd1FBQkNCemM0Y0VQYjMwUndRX0xMT0hCRHYzdEVjRUptTnNRVVFsdV9SSEJENTh0RWNFSWJoZ0JNUWlvZTRJaENMOTg4Y0VJNlEwUndROXF1d0JSQ2Z6NEFURUtTcDBSd1F6Ti11QlJESjlvQVRFSzdXenh3UWg2ek9IQkR4dE5BY0VMMlpzQVVRdktUUUhCRGc2dEVjRUozUXNBVVFpZVRSSEJEYTk4NGNFTDIycmdVUW5ZYTRJaEM0OE5FY0VMT1IwUndRdm9xd0JSREJqOUFjRUw2RTBSd1EzcnpPSEJDMy1JQVRFTGpremh3UTFQYUFFeERyemRBY0VQVHAwUndxYkVOQlRWTlVVbFpQTFZweExVUk5aVlZGY0ZWRGJrRTNOVVpZUzJ0Q2RVRlhjVTVWVUhsQlRVMXpkM1pyUW5WRlJUazNNM0JEZWt0bmNrRlJSR3RMTkVRdGVXRXlOVUZpYTJoU1psRjZRV0pGYTJkWVRGQmpWVzR5WkZWR00xTjZiVkowVjNVM2VEZGlRbWd3U0RBQSIsIlJPT1RfVkVfVFlQRSI6MTY2MjMsIkNMSUVOVF9QUk9UT0NPTCI6ImgyIiwiQ0xJRU5UX1RSQU5TUE9SVCI6InRjcCIsIlBMQVlFUl9DTElFTlRfVkVSU0lPTiI6IjEuMjAyNjA3MjEuMDguMDAiLCJUSU1FX0NSRUFURURfTVMiOjE3ODUxMjk5NDkzMTYsIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyI6WyJ5b3V0dS5iZSIsInlvdXR1YmUuY29tIiwid3d3LnlvdXR1YmUuY29tIiwid2ViLWdyZWVuLXFhLnlvdXR1YmUuY29tIiwid2ViLXJlbGVhc2UtcWEueW91dHViZS5jb20iLCJ3ZWItaW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iLCJtLnlvdXR1YmUuY29tIiwibXdlYi1ncmVlbi1xYS55b3V0dWJlLmNvbSIsIm13ZWItcmVsZWFzZS1xYS55b3V0dWJlLmNvbSIsIm13ZWItaW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iLCJzdHVkaW8ueW91dHViZS5jb20iLCJzdHVkaW8tZ3JlZW4tcWEueW91dHViZS5jb20iLCJzdHVkaW8taW50ZWdyYXRpb24tcWEueW91dHViZS5jb20iXSwiTE9UVElFX1VSTCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9lbWJlZHMvMzJkMmFjODMvbG90dGllLWxpZ2h0LnZmbHNldC9sb3R0aWUtbGlnaHQuanMifSwiSURFTlRJVFlfTUVNRU5UTyI6eyJ2aXNpdG9yX2RhdGEiOiJDZ3MxVm5SaGJrTkNVbFp2WnlqZDE1dlRCaklvQ2dKT1R4SWlFaDRTSEFzTURnOFFFUklURkJVV0Z4Z1pHaHNjSFI0ZklDRWlJeVFsSmljZ0lXTGZBZ3JjQWpJd0xsbFVQVms0TmxGNFYyTXlkM053YlRaWFMyeHBSelpqZG5oQ1N6aE9hM0JPV0ZGeWIybENVelEzVGxKblpWWmlkbEp1TUVSWFEyOVpjMlZTY1ZKaGVuRnRVMDlrU0dKaVRVcHRhMnRhWldSVlgzVXhZVzlYWlc1M05HMVRXbVZFZVVsT1JHbzFUVFpIVGs1R1ZtUlNaMlZLZDNkelJuVlNVSEowYTFaQ1Iwc3pSa2s0YVZneUxWcHhRVXhyU1dSNVVrTlBTV3BIY1VodVZsSndhMHBQUVZJMVpGcEdXRkptWkZkZlZsbHhVSGR1Um5aM1YzSkRMVnA1U0hKUldVMDRha000VWpCNWMzWldOa0pMTWxCVFNGQjRYMVpMWnpsVU0wMDFkbTQ1TjNOU1JFa3phM1pRYUd0Q1J5MWhjR1U1TkhOSFpqSnhiV05PYjNKb2VtVjRkVkppU0U1MlpsOTJXakJWUkdORVRIcFRSREV0TnpCSFJXdFRjemxJV1dkdUxWTnZSbGxCY0dOdVF6SjJOMGR3VjE5T1NGbE1kRkJKVTJWUWFGOVVPVEpETmpoRVNuVjNUVk5JY0RaZmFWTjVkbFpoZGpOalJFZDFadyUzRCUzRCJ9LCJNV0VCX1NVUFBPUlRTX0RPVUJMRV9UQVBfVE9fU0VFSyI6dHJ1ZSwiUExBWUVSX1ZBUlMiOnsiZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlIjoie1wicmVzcG9uc2VDb250ZXh0XCI6e1wic2VydmljZVRyYWNraW5nUGFyYW1zXCI6W3tcInNlcnZpY2VcIjpcIkNTSVwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwiY1wiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn0se1wia2V5XCI6XCJjdmVyXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNC4wMS4wMFwifSx7XCJrZXlcIjpcInl0X2xpXCIsXCJ2YWx1ZVwiOlwiMFwifSx7XCJrZXlcIjpcIkdldEVtYmVkZGVkUGxheWVyX3JpZFwiLFwidmFsdWVcIjpcIjB4MmFkZjlhM2NlYjc3NDY3ZFwifV19LHtcInNlcnZpY2VcIjpcIkdGRUVEQkFDS1wiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkdVSURFRF9IRUxQXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJsb2dnZWRfaW5cIixcInZhbHVlXCI6XCIwXCJ9XX0se1wic2VydmljZVwiOlwiRUNBVENIRVJcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNsaWVudC52ZXJzaW9uXCIsXCJ2YWx1ZVwiOlwiMi4yMDI2MDcyNFwifSx7XCJrZXlcIjpcImNsaWVudC5uYW1lXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifV19XSxcInJlc3BvbnNlSWRcIjpcIkloTUl1SkdIcElfeWxRTVZLOWRQQ0IxU2F4Ym1cIixcIndlYlJlc3BvbnNlQ29udGV4dEV4dGVuc2lvbkRhdGFcIjp7XCJoYXNEZWNvcmF0ZWRcIjp0cnVlfX0sXCJlbWJlZFByZXZpZXdcIjp7XCJ0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXJcIjp7XCJ0aXRsZVwiOntcInJ1bnNcIjpbe1widGV4dFwiOlwiSG93IFRvIFVzZSBCeWJpdOKAmXMgRmlhdCBHYXRld2F5XCJ9XX0sXCJkZWZhdWx0VGh1bWJuYWlsXCI6e1widGh1bWJuYWlsc1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvbko0cFZ6R1dWSDAvZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWtDSGdRV3ZLcmlxa0RHdkFCQWZnQjFBYUFBdUFEaWdJTUNBQVFBUmhfSUVzb0lEQVBcXHUwMDI2cnNcdTAwM2RBT240Q0xDTlBHb3RFcElFcE8xNFVCay1taWRWUHBVWTJBXCIsXCJ3aWR0aFwiOjEyMCxcImhlaWdodFwiOjkwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvbko0cFZ6R1dWSDAvaHFkZWZhdWx0LmpwZz9zcXBcdTAwM2Qtb2F5bXdFMUNLZ0JFRjVJVmZLcmlxa0RLQWdCRlFBQWlFSVlBWEFCd0FFRzhBRUItQUhVQm9BQzRBT0tBZ3dJQUJBQkdIOGdTeWdnTUE4XHUwMDNkXFx1MDAyNnJzXHUwMDNkQU9uNENMQ2p2SjJWV3p2N0FPeXVyaklUN0Z4SWVIMkp6UVwiLFwid2lkdGhcIjoxNjgsXCJoZWlnaHRcIjo5NH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL25KNHBWekdXVkgwL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RTFDTVFCRUc1SVZmS3JpcWtES0FnQkZRQUFpRUlZQVhBQndBRUc4QUVCLUFIVUJvQUM0QU9LQWd3SUFCQUJHSDhnU3lnZ01BOFx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTEQzZVVfc2pxb2ZremxCT1ViYTU4dUF2YWVfNFFcIixcIndpZHRoXCI6MTk2LFwiaGVpZ2h0XCI6MTEwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvbko0cFZ6R1dWSDAvaHFkZWZhdWx0LmpwZz9zcXBcdTAwM2Qtb2F5bXdFMkNQWUJFSW9CU0ZYeXE0cXBBeWdJQVJVQUFJaENHQUZ3QWNBQkJ2QUJBZmdCMUFhQUF1QURpZ0lNQ0FBUUFSaF9JRXNvSURBUFxcdTAwMjZyc1x1MDAzZEFPbjRDTEM5akQ3SmVzakFRMVpzZU1iV3NmZlUyaGJ3UHdcIixcIndpZHRoXCI6MjQ2LFwiaGVpZ2h0XCI6MTM4fSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvbko0cFZ6R1dWSDAvbXFkZWZhdWx0LmpwZz9zcXBcdTAwM2Qtb2F5bXdFbUNNQUNFTFFCOHF1S3FRTWE4QUVCLUFIVUJvQUM0QU9LQWd3SUFCQUJHSDhnU3lnZ01BOFx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTEE3NmpKYTMteE1nMlNEUEdOOHlqYnBfZFFiS3dcIixcIndpZHRoXCI6MzIwLFwiaGVpZ2h0XCI6MTgwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvbko0cFZ6R1dWSDAvaHFkZWZhdWx0LmpwZz9zcXBcdTAwM2Qtb2F5bXdFMkNOQUNFTHdCU0ZYeXE0cXBBeWdJQVJVQUFJaENHQUZ3QWNBQkJ2QUJBZmdCMUFhQUF1QURpZ0lNQ0FBUUFSaF9JRXNvSURBUFxcdTAwMjZyc1x1MDAzZEFPbjRDTENXZlNJVnlNLTJGQmtMTVplWmpFYkRTVVJEVndcIixcIndpZHRoXCI6MzM2LFwiaGVpZ2h0XCI6MTg4fSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvbko0cFZ6R1dWSDAvaHFkZWZhdWx0LmpwZz9zcXBcdTAwM2Qtb2F5bXdFbUNPQURFT2dDOHF1S3FRTWE4QUVCLUFIVUJvQUM0QU9LQWd3SUFCQUJHSDhnU3lnZ01BOFx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTERBeTFtdlR1aXlxM2dIVVRkdUZkT29WbmJlU1FcIixcIndpZHRoXCI6NDgwLFwiaGVpZ2h0XCI6MzYwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvbko0cFZ6R1dWSDAvc2RkZWZhdWx0LmpwZz9zcXBcdTAwM2Qtb2F5bXdFbUNJQUZFT0FEOHF1S3FRTWE4QUVCLUFIVUJvQUM0QU9LQWd3SUFCQUJHSDhnU3lnZ01BOFx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTEFVb2NYcFJfeG9jVW5yNndzb0NhX284WnFsNVFcIixcIndpZHRoXCI6NjQwLFwiaGVpZ2h0XCI6NDgwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvbko0cFZ6R1dWSDAvbWF4cmVzZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RW1DSUFLRU5BRjhxdUtxUU1hOEFFQi1BSFVCb0FDNEFPS0Fnd0lBQkFCR0g4Z1N5Z2dNQThcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xDS0JBLWpzX1FGdVI3ckxEejNNbEtiM2dlR29nXCIsXCJ3aWR0aFwiOjE5MjAsXCJoZWlnaHRcIjoxMDgwfV19LFwicGxheUJ1dHRvblwiOntcImJ1dHRvblJlbmRlcmVyXCI6e1wic3R5bGVcIjpcIlNUWUxFX0RFRkFVTFRcIixcInNpemVcIjpcIlNJWkVfREVGQVVMVFwiLFwiaXNEaXNhYmxlZFwiOmZhbHNlLFwibmF2aWdhdGlvbkVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FvUThGc2lFd2k0a1lla2pfS1ZBeFVyMTA4SUhWSnJGdWJLQVFSbTFlTEdcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiL3dhdGNoP3ZcdTAwM2RuSjRwVnpHV1ZIMFwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfV0FUQ0hcIixcInJvb3RWZVwiOjM4MzJ9fSxcIndhdGNoRW5kcG9pbnRcIjp7XCJ2aWRlb0lkXCI6XCJuSjRwVnpHV1ZIMFwifX0sXCJhY2Nlc3NpYmlsaXR5XCI6e1wibGFiZWxcIjpcIlBsYXkgSG93IFRvIFVzZSBCeWJpdOKAmXMgRmlhdCBHYXRld2F5XCJ9LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBb1E4RnNpRXdpNGtZZWtqX0tWQXhVcjEwOElIVkpyRnVZXHUwMDNkXCJ9fSxcInZpZGVvRGV0YWlsc1wiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyXCI6e1wiY2hhbm5lbFRodW1ibmFpbFwiOntcInRodW1ibmFpbHNcIjpbe1widXJsXCI6XCJodHRwczovL3l0My5nZ3BodC5jb20vWWxLaUl6V180dVFmaFZJLWpsSDcwOF9mT3MyOUFkc0FETEl1OV8xTG1Za1FjQlFrS0NjY0pWZHcya0lqcXRaNnhETC0tX3dCRXdcdTAwM2RzNjgtYy1rLWMweDAwZmZmZmZmLW5vLXJqXCIsXCJ3aWR0aFwiOjY4LFwiaGVpZ2h0XCI6Njh9XX0sXCJjb2xsYXBzZWRSZW5kZXJlclwiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0NvbGxhcHNlZFJlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIkhvdyBUbyBVc2UgQnliaXTigJlzIEZpYXQgR2F0ZXdheVwiLFwibmF2aWdhdGlvbkVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FrUTQ2SUNJaE1JdUpHSHBJX3lsUU1WSzlkUENCMVNheGJteWdFRVp0WGl4Z1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkbko0cFZ6R1dWSDBcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZG5KNHBWekdXVkgwXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX1dfSxcInN1YnRpdGxlXCI6e1wicnVuc1wiOlt7XCJ0ZXh0XCI6XCI1LjVLIHZpZXdzIOKAoiAxMiBjb21tZW50c1wifV19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBa1E0NklDSWhNSXVKR0hwSV95bFFNVks5ZFBDQjFTYXhibVwifX0sXCJleHBhbmRlZFJlbmRlcmVyXCI6e1wiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzRXhwYW5kZWRSZW5kZXJlclwiOntcInRpdGxlXCI6e1wicnVuc1wiOlt7XCJ0ZXh0XCI6XCJCeWJpdFwifV19LFwic3VidGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIjgzLjFLIHN1YnNjcmliZXJzXCJ9XX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FnUTVLSUNJaE1JdUpHSHBJX3lsUU1WSzlkUENCMVNheGJtXCJ9fSxcImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSXVKR0hwSV95bFFNVks5ZFBDQjFTYXhibXlnRUVadFhpeGdcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiL2NoYW5uZWwvVUNod0w4VERSdWZyMlBEa1U2R0pVa0xRXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcIi9jaGFubmVsL1VDaHdMOFREUnVmcjJQRGtVNkdKVWtMUVwiLFwidGFyZ2V0XCI6XCJUQVJHRVRfTkVXX1dJTkRPV1wifX19fSxcInZpZGVvRHVyYXRpb25TZWNvbmRzXCI6XCI2N1wiLFwid2ViUGxheWVyQWN0aW9uc1BvcnRpbmdcIjp7XCJnZXRTaGFyZVBhbmVsQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSXVKR0hwSV95bFFNVks5ZFBDQjFTYXhibXlnRUVadFhpeGdcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL3NoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsXCJ9fSxcIndlYlBsYXllclNoYXJlRW50aXR5U2VydmljZUVuZHBvaW50XCI6e1wic2VyaWFsaXplZFNoYXJlRW50aXR5XCI6XCJDZ3R1U2pSd1ZucEhWMVpJTUElM0QlM0RcIn19LFwic3Vic2NyaWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSXVKR0hwSV95bFFNVks5ZFBDQjFTYXhibXlnRUVadFhpeGdcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInNlbmRQb3N0XCI6dHJ1ZSxcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL3N1YnNjcmlwdGlvbi9zdWJzY3JpYmVcIn19LFwic3Vic2NyaWJlRW5kcG9pbnRcIjp7XCJjaGFubmVsSWRzXCI6W1wiVUNod0w4VERSdWZyMlBEa1U2R0pVa0xRXCJdLFwicGFyYW1zXCI6XCJFZ0lJQnhnQVwifX0sXCJ1bnN1YnNjcmliZUNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUl1SkdIcElfeWxRTVZLOWRQQ0IxU2F4Ym15Z0VFWnRYaXhnXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJzZW5kUG9zdFwiOnRydWUsXCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9zdWJzY3JpcHRpb24vdW5zdWJzY3JpYmVcIn19LFwidW5zdWJzY3JpYmVFbmRwb2ludFwiOntcImNoYW5uZWxJZHNcIjpbXCJVQ2h3TDhURFJ1ZnIyUERrVTZHSlVrTFFcIl0sXCJwYXJhbXNcIjpcIkNnSUlCeGdBXCJ9fSxcImFkZFRvV2F0Y2hMYXRlckNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUl1SkdIcElfeWxRTVZLOWRQQ0IxU2F4Ym15Z0VFWnRYaXhnXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9icm93c2UvZWRpdF9wbGF5bGlzdFwifX0sXCJwbGF5bGlzdEVkaXRFbmRwb2ludFwiOntcInBsYXlsaXN0SWRcIjpcIldMXCIsXCJhY3Rpb25zXCI6W3tcImFkZGVkVmlkZW9JZFwiOlwibko0cFZ6R1dWSDBcIixcImFjdGlvblwiOlwiQUNUSU9OX0FERF9WSURFT1wifV19fSxcInJlbW92ZUZyb21XYXRjaExhdGVyQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSXVKR0hwSV95bFFNVks5ZFBDQjFTYXhibXlnRUVadFhpeGdcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL2Jyb3dzZS9lZGl0X3BsYXlsaXN0XCJ9fSxcInBsYXlsaXN0RWRpdEVuZHBvaW50XCI6e1wicGxheWxpc3RJZFwiOlwiV0xcIixcImFjdGlvbnNcIjpbe1wiYWN0aW9uXCI6XCJBQ1RJT05fUkVNT1ZFX1ZJREVPX0JZX1ZJREVPX0lEXCIsXCJyZW1vdmVkVmlkZW9JZFwiOlwibko0cFZ6R1dWSDBcIn1dfX19LFwiaW5mb1BhbmVsXCI6e1wiZW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJcIjp7XCJpbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbFwiOntcImhlYWRlckljb25cIjp7XCJpY29uVHlwZVwiOlwiT1BFTl9JTl9ORVdcIn0sXCJmb3J3YXJkQWN0aW9uSWNvblwiOntcImljb25UeXBlXCI6XCJDSEVWUk9OX1JJR0hUXCJ9LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBY1EtTThKSWhNSXVKR0hwSV95bFFNVks5ZFBDQjFTYXhibVwiLFwiZGlzbWlzc1N0YXRlRW50aXR5S2V5XCI6XCJFZ3BoYVY5a2RXSmlhVzVuSUp3RUtBRSUzRFwiLFwibG9nZ2luZ0RpcmVjdGl2ZXNcIjp7XCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FjUS1NOEpJaE1JdUpHSHBJX3lsUU1WSzlkUENCMVNheGJtXCIsXCJhdHRlbnRpb25Mb2dnaW5nXCI6XCJBVFRFTlRJT05fTE9HR0lOR19CQVNJQ1wifX0sXCJpbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsXCI6e1wiY3RhQnV0dG9uc1wiOlt7XCJjYWxsVG9BY3Rpb25CdXR0b25WaWV3TW9kZWxcIjp7XCJpY29uXCI6e1wiaWNvblR5cGVcIjpcIkhFTFBfT1VUTElORVwifSxcImJvZHlUZXh0XCI6e1wiY29udGVudFwiOlwiV2h5IGFtIEkgc2VlaW5nIHRoaXM/XCJ9LFwib25UYXBcIjp7XCJpbm5lcnR1YmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FZUTlzOEpHQUFpRXdpNGtZZWtqX0tWQXhVcjEwOElIVkpyRnViS0FRUm0xZUxHXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvYW5zd2VyLzkwMDQ0NzQ/aGxcdTAwM2RlblwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCIvL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlL2Fuc3dlci85MDA0NDc0P2hsXHUwMDNkZW5cIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQVlROXM4SkdBQWlFd2k0a1lla2pfS1ZBeFVyMTA4SUhWSnJGdVlcdTAwM2RcIixcImxvZ2dpbmdEaXJlY3RpdmVzXCI6e1widHJhY2tpbmdQYXJhbXNcIjpcIkNBWVE5czhKR0FBaUV3aTRrWWVral9LVkF4VXIxMDhJSFZKckZ1WVx1MDAzZFwiLFwiZ2VzdHVyZXNcIjp7XCJ0eXBlc1wiOlwiMlwifX19fV0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FVUTk4OEpJaE1JdUpHSHBJX3lsUU1WSzlkUENCMVNheGJtXCIsXCJsb2dnaW5nRGlyZWN0aXZlc1wiOntcInRyYWNraW5nUGFyYW1zXCI6XCJDQVVROTg4SkloTUl1SkdIcElfeWxRTVZLOWRQQ0IxU2F4Ym1cIn19LFwiZHVyYXRpb25Nc1wiOlwiMTAwMDBcIn19LFwiYWN0aW9uQmFyQnV0dG9uc1wiOlt7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9PUEFDSVRZXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcImljb25cIjp7XCJpY29uVHlwZVwiOlwiU0hBUkVfQVJST1dcIn0sXCJuYXZpZ2F0aW9uRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQVFRLU44QkdBQWlFd2k0a1lla2pfS1ZBeFVyMTA4SUhWSnJGdWJLQVFSbTFlTEdcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImlnbm9yZU5hdmlnYXRpb25cIjp0cnVlfX0sXCJzaGFyZUVudGl0eUVuZHBvaW50XCI6e1wic2VyaWFsaXplZFNoYXJlRW50aXR5XCI6XCJDZ3R1U2pSd1ZucEhWMVpJTUElM0QlM0RcIixcInNoYXJlUGFuZWxUeXBlXCI6XCJTSEFSRV9QQU5FTF9UWVBFX1VOSUZJRURfU0hBUkVfUEFORUxcIn19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBUVEtTjhCR0FBaUV3aTRrWWVral9LVkF4VXIxMDhJSFZKckZ1WVx1MDAzZFwiLFwiYWNjZXNzaWJpbGl0eURhdGFcIjp7XCJhY2Nlc3NpYmlsaXR5RGF0YVwiOntcImxhYmVsXCI6XCJTaGFyZVwifX19fSx7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9PUEFDSVRZXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcInNlcnZpY2VFbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBTVEtZDhCR0FFaUV3aTRrWWVral9LVkF4VXIxMDhJSFZKckZ1YktBUVJtMWVMR1wiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvYnJvd3NlL2VkaXRfcGxheWxpc3RcIn19LFwicGxheWxpc3RFZGl0RW5kcG9pbnRcIjp7XCJwbGF5bGlzdElkXCI6XCJXTFwiLFwiYWN0aW9uc1wiOlt7XCJhZGRlZFZpZGVvSWRcIjpcIm5KNHBWekdXVkgwXCIsXCJhY3Rpb25cIjpcIkFDVElPTl9BRERfVklERU9cIn1dfX0sXCJpY29uXCI6e1wiaWNvblR5cGVcIjpcIkFERF9UT19XQVRDSF9MQVRFUlwifSxcInRyYWNraW5nUGFyYW1zXCI6XCJDQU1RLWQ4QkdBRWlFd2k0a1lla2pfS1ZBeFVyMTA4SUhWSnJGdVlcdTAwM2RcIixcImFjY2Vzc2liaWxpdHlEYXRhXCI6e1wiYWNjZXNzaWJpbGl0eURhdGFcIjp7XCJsYWJlbFwiOlwiV2F0Y2ggbGF0ZXJcIn19LFwiY29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBTVEtZDhCR0FFaUV3aTRrWWVral9LVkF4VXIxMDhJSFZKckZ1YktBUVJtMWVMR1wiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vU2VydmljZUxvZ2luP3NlcnZpY2VcdTAwM2R5b3V0dWJlXFx1MDAyNnVpbGVsXHUwMDNkM1xcdTAwMjZwYXNzaXZlXHUwMDNkdHJ1ZVxcdTAwMjZjb250aW51ZVx1MDAzZGh0dHBzJTNBJTJGJTJGd3d3LnlvdXR1YmUuY29tJTJGc2lnbmluJTNGYWN0aW9uX2hhbmRsZV9zaWduaW4lM0R0cnVlJTI2aGwlM0RlbiUyNm5leHQlM0QlMjUyRnBvc3RfbG9naW5cXHUwMDI2aGxcdTAwM2RlblwiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInNpZ25JbkVuZHBvaW50XCI6e1wibmV4dEVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FNUS1kOEJHQUVpRXdpNGtZZWtqX0tWQXhVcjEwOElIVkpyRnViS0FRUm0xZUxHXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi9wb3N0X2xvZ2luXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwidXJsRW5kcG9pbnRcIjp7XCJ1cmxcIjpcIi9wb3N0X2xvZ2luXCJ9fX19fX1dLFwicXVpY2tBY3Rpb25zQmFyXCI6e1wicXVpY2tBY3Rpb25zVmlld01vZGVsXCI6e1wid2F0Y2hPbllvdXR1YmVCdXR0b25cIjp7XCJ3YXRjaE9uWW91dHViZUJ1dHRvblZpZXdNb2RlbFwiOntcIndhdGNoT25ZdExhYmVsQnV0dG9uXCI6e1wiYnV0dG9uVmlld01vZGVsXCI6e1wib25UYXBcIjp7XCJpbm5lcnR1YmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FJUXl2TUZJaE1JdUpHSHBJX3lsUU1WSzlkUENCMVNheGJteWdFRVp0WGl4Z1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkbko0cFZ6R1dWSDBcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZG5KNHBWekdXVkgwXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX0sXCJhY2Nlc3NpYmlsaXR5VGV4dFwiOlwiV2F0Y2ggb24gWW91VHViZVwiLFwic3R5bGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVlfREFSS1wiLFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBSVF5dk1GSWhNSXVKR0hwSV95bFFNVks5ZFBDQjFTYXhibVwiLFwidHlwZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9URVhUXCIsXCJidXR0b25TaXplXCI6XCJCVVRUT05fVklFV19NT0RFTF9TSVpFX0xBUkdFXCIsXCJ0aXRsZUZvcm1hdHRlZFwiOntcImNvbnRlbnRcIjpcIldhdGNoIG9uXCIsXCJzdHlsZVJ1bnNcIjpbe1wid2VpZ2h0TGFiZWxcIjpcIkZPTlRfV0VJR0hUX1RISU5cIn1dLFwiYXR0YWNobWVudFJ1bnNcIjpbe1wic3RhcnRJbmRleFwiOjgsXCJsZW5ndGhcIjowLFwiZWxlbWVudFwiOntcInR5cGVcIjp7XCJpbWFnZVR5cGVcIjp7XCJpbWFnZVwiOntcInNvdXJjZXNcIjpbe1wiY2xpZW50UmVzb3VyY2VcIjp7XCJpbWFnZU5hbWVcIjpcIndhdGVybWFya1wifX1dfX19LFwicHJvcGVydGllc1wiOntcImxheW91dFByb3BlcnRpZXNcIjp7XCJoZWlnaHRcIjp7XCJ2YWx1ZVwiOjIwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJ3aWR0aFwiOntcInZhbHVlXCI6OTAsXCJ1bml0XCI6XCJESU1FTlNJT05fVU5JVF9QT0lOVFwifSxcIm1hcmdpblwiOntcImxlZnRcIjp7XCJ2YWx1ZVwiOjV9fX19fSxcImFsaWdubWVudFwiOlwiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUlwifV19fX0sXCJ5dExvZ29Pbmx5QnV0dG9uXCI6e1wiYnV0dG9uVmlld01vZGVsXCI6e1wib25UYXBcIjp7XCJpbm5lcnR1YmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FFUTF0Y0VJaE1JdUpHSHBJX3lsUU1WSzlkUENCMVNheGJteWdFRVp0WGl4Z1x1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkbko0cFZ6R1dWSDBcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dlx1MDAzZG5KNHBWekdXVkgwXCIsXCJ0YXJnZXRcIjpcIlRBUkdFVF9ORVdfV0lORE9XXCJ9fX0sXCJhY2Nlc3NpYmlsaXR5VGV4dFwiOlwiV2F0Y2ggb24gWW91VHViZVwiLFwic3R5bGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk9cIixcInRyYWNraW5nUGFyYW1zXCI6XCJDQUVRMXRjRUloTUl1SkdIcElfeWxRTVZLOWRQQ0IxU2F4Ym1cIixcInR5cGVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVFwiLFwiYnV0dG9uU2l6ZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9DT01QQUNUXCIsXCJ0aXRsZUZvcm1hdHRlZFwiOntcImNvbnRlbnRcIjpcIiBcIixcImF0dGFjaG1lbnRSdW5zXCI6W3tcInN0YXJ0SW5kZXhcIjowLFwibGVuZ3RoXCI6MCxcImVsZW1lbnRcIjp7XCJ0eXBlXCI6e1wiaW1hZ2VUeXBlXCI6e1wiaW1hZ2VcIjp7XCJzb3VyY2VzXCI6W3tcImNsaWVudFJlc291cmNlXCI6e1wiaW1hZ2VOYW1lXCI6XCJ3YXRlcm1hcmtcIn19XX19fSxcInByb3BlcnRpZXNcIjp7XCJsYXlvdXRQcm9wZXJ0aWVzXCI6e1wiaGVpZ2h0XCI6e1widmFsdWVcIjoyMCxcInVuaXRcIjpcIkRJTUVOU0lPTl9VTklUX1BPSU5UXCJ9LFwid2lkdGhcIjp7XCJ2YWx1ZVwiOjkwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJtYXJnaW5cIjp7XCJsZWZ0XCI6e1widmFsdWVcIjo1fX19fX0sXCJhbGlnbm1lbnRcIjpcIkFMSUdOTUVOVF9WRVJUSUNBTF9DRU5URVJcIn1dfX19fX19fX19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSXVKR0hwSV95bFFNVks5ZFBDQjFTYXhibXlnRUVadFhpeGdcdTAwM2RcdTAwM2RcIixcInBlcm1pc3Npb25zXCI6e1wiYWxsb3dJbWFNb25ldGl6YXRpb25cIjpmYWxzZSxcImFsbG93UGZwVW5icmFuZGVkXCI6ZmFsc2V9LFwidmlkZW9GbGFnc1wiOntcInBsYXlhYmxlSW5FbWJlZFwiOnRydWUsXCJpc0NyYXdsYWJsZVwiOnRydWV9LFwicHJldmlld1BsYXlhYmlsaXR5U3RhdHVzXCI6e1wic3RhdHVzXCI6XCJPS1wiLFwicGxheWFibGVJbkVtYmVkXCI6dHJ1ZSxcImNvbnRleHRQYXJhbXNcIjpcIlEwRkZVMEZuWjBFXHUwMDNkXCJ9LFwiZW1iZWRkZWRQbGF5ZXJNb2RlXCI6XCJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUXCIsXCJlbWJlZGRlZFBsYXllckNvbmZpZ1wiOntcImVtYmVkZGVkUGxheWVyTW9kZVwiOlwiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVFwiLFwiZW1iZWRkZWRQbGF5ZXJGbGFnc1wiOnt9fSxcImVtYmVkZGVkUGxheWVyQ29udGV4dFwiOntcImVtYmVkZGVkUGxheWVyRW5jcnlwdGVkQ29udGV4dFwiOlwiQUNtYmxCWFJpbzRXNDRaX1l0dUFDVTBvR3h2QVNmajByNzlMQ3Ywa2NpSzFmaEFoOFRCbnpjRWN3UFA5M0JIRUZDTzdrbXh1Z0o5bEVLZ3BFQlN2S2d1MjVUOHFMUUJubm9qcWNtSDRWN19YV1AxcmlmZ3RWY3hMS1JxSHJwNUJ3c0luZ1VNQy1SZjVcIixcImFuY2VzdG9yT3JpZ2luc1N1cHBvcnRlZFwiOmZhbHNlfX0iLCJ2aWRlb19pZCI6Im5KNHBWekdXVkgwIiwicmVzb2x2ZV91cmxfcmVzcG9uc2UiOiJ7XCJyZXNwb25zZUNvbnRleHRcIjp7XCJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNcIjpbe1wic2VydmljZVwiOlwiQ1NJXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifSx7XCJrZXlcIjpcImN2ZXJcIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0LjAxLjAwXCJ9LHtcImtleVwiOlwieXRfbGlcIixcInZhbHVlXCI6XCIwXCJ9LHtcImtleVwiOlwiUmVzb2x2ZVVybF9yaWRcIixcInZhbHVlXCI6XCIweDJhZGY5YTNjZWI3NzQ2N2RcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHRkVFREJBQ0tcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHVUlERURfSEVMUFwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkVDQVRDSEVSXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjbGllbnQudmVyc2lvblwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjRcIn0se1wia2V5XCI6XCJjbGllbnQubmFtZVwiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn1dfV0sXCJyZXNwb25zZUlkXCI6XCJJaE1JNk82R3BJX3lsUU1WOHVGUENCMmUzQlU2XCIsXCJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXCI6e1wiaGFzRGVjb3JhdGVkXCI6dHJ1ZX19LFwiZW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJJaE1JNk82R3BJX3lsUU1WOHVGUENCMmUzQlU2TWdobGVIUmxjbTVoYk1vQkJHYlY0c1lcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOnt9fX0ifSwiUE9TVF9NRVNTQUdFX09SSUdJTiI6IioiLCJWSURFT19JRCI6Im5KNHBWekdXVkgwIiwiRE9NQUlOX0FETUlOX1NUQVRFIjoiIn0pO3dpbmRvdy55dGNmZy5vYmZ1c2NhdGVkRGF0YV8gPSBbXTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJyZ2xvaFN6Nzd2ajVEcC1wVzJ4YzFBIj53aW5kb3cueXRBdFAgPSBuZXcgUHJvbWlzZShyZXMgPT4gd2luZG93Lnl0QXROID0gcmVzKTsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7d2luZG93Lnl0QXROKCk7IGRlbGV0ZSB3aW5kb3cueXRBdE47fSk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0icmdsb2hTejc3dmo1RHAtcFcyeGMxQSI+d2luZG93Lnl0ZXJyPXdpbmRvdy55dGVycnx8dHJ1ZTt3aW5kb3cudW5oYW5kbGVkRXJyb3JNZXNzYWdlcz17fTsKd2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24obXNnLHVybCxsaW5lLG9wdF9jb2x1bW5OdW1iZXIsb3B0X2Vycm9yKXt2YXIgZXJyO2lmKG9wdF9lcnJvcillcnI9b3B0X2Vycm9yO2Vsc2V7ZXJyPW5ldyBFcnJvcjtlcnIubWVzc2FnZT1tc2c7ZXJyLmZpbGVOYW1lPXVybDtlcnIubGluZU51bWJlcj1saW5lO2lmKCFpc05hTihvcHRfY29sdW1uTnVtYmVyKSllcnJbImNvbHVtbk51bWJlciJdPW9wdF9jb2x1bW5OdW1iZXJ9dmFyIG1lc3NhZ2U9U3RyaW5nKGVyci5tZXNzYWdlKTtpZighZXJyLm1lc3NhZ2V8fG1lc3NhZ2UgaW4gd2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXMpcmV0dXJuO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzW21lc3NhZ2VdPXRydWU7dmFyIGltZz1uZXcgSW1hZ2U7d2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWc9aW1nO2ltZy5vbmxvYWQ9aW1nLm9uZXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgd2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWd9O3ZhciB2YWx1ZXM9CnsiY2xpZW50Lm5hbWUiOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSwiY2xpZW50LnZlcnNpb24iOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04iKSwibXNnIjptZXNzYWdlLCJ0eXBlIjoiVW5oYW5kbGVkV2luZG93IitlcnIubmFtZSwiZmlsZSI6ZXJyLmZpbGVOYW1lLCJsaW5lIjplcnIubGluZU51bWJlciwic3RhY2siOihlcnIuc3RhY2t8fCIiKS5zdWJzdHIoMCw1MDApfTt2YXIgcGFydHM9W3l0Y2ZnLmdldCgiRU1FUkdFTkNZX0JBU0VfVVJMIiwiL2Vycm9yXzIwND90PWpzZXJyb3ImbGV2ZWw9RVJST1IiKV07dmFyIGtleTtmb3Ioa2V5IGluIHZhbHVlcyl7dmFyIHZhbHVlPXZhbHVlc1trZXldO2lmKHZhbHVlKXBhcnRzLnB1c2goa2V5KyI9IitlbmNvZGVVUklDb21wb25lbnQodmFsdWUpKX1pbWcuc3JjPXBhcnRzLmpvaW4oIiYiKX07Cjwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9InJnbG9oU3o3N3ZqNURwLXBXMnhjMUEiPnZhciB5dGVyciA9IHl0ZXJyIHx8IHRydWU7PC9zY3JpcHQ+PHNjcmlwdCBkYXRhLWlkPSJfZ2QiIG5vbmNlPSJyZ2xvaFN6Nzd2ajVEcC1wVzJ4YzFBIj53aW5kb3cuV0laX2dsb2JhbF9kYXRhID0geyJBZlk4SGYiOmZhbHNlLCJGTDFhbiI6ZmFsc2UsIkhpUHNiYiI6MCwiTVVFNk5lIjoieW91dHViZV93ZWIiLCJNdUpXamQiOmZhbHNlLCJVVUZhV2MiOiIlLkAubnVsbCwxMDAwLDJdIiwiY2ZiMmgiOiJ5b3V0dWJlLndlYi1mcm9udC1lbmQtY3JpdGljYWxfMjAyNjA3MjIuMDFfcDAiLCJmUER4d2QiOltdLCJoc0ZMVCI6IiUuQC5udWxsLDEwLDNdIiwiaUN6aEZjIjpmYWxzZSwiblF5QUUiOnt9LCJveE4zbmIiOnsiMSI6ZmFsc2UsIjAiOmZhbHNlLCI2MTA0MDEzMDEiOmZhbHNlLCI4OTk1ODg0MzciOmZhbHNlLCI3NzI2NTc3NjgiOnRydWUsIjUxMzY1OTUyMyI6ZmFsc2UsIjU2ODMzMzk0NSI6dHJ1ZSwiMTMzMTc2MTQwMyI6dHJ1ZSwiNjUxMTc1ODI4IjpmYWxzZSwiNzIyNzY0NTQyIjpmYWxzZSwiNzQ4NDAyMTQ1IjpmYWxzZSwiNzQ4NDAyMTQ2IjpmYWxzZSwiNzQ4NDAyMTQ3Ijp0cnVlLCIxNjAyNjEzMTg1IjpmYWxzZSwiODYxMzc3NzIzIjpmYWxzZSwiODYxMzc3NzI0IjpmYWxzZSwiODY5MzM2OTAzIjpmYWxzZSwiODgyNjc0NTA3IjpmYWxzZSwiODY5MzM2OTA0IjpmYWxzZSwiODY5MzM2OTA1IjpmYWxzZSwiMjgzOTUzMTU1IjpmYWxzZSwiOTE5NDQ0ODI0IjpmYWxzZSwiOTMxNDY4MDQ3IjpmYWxzZSwiOTI4ODc1Mzk4IjpmYWxzZSwiNjgzNzQ5MjAxIjpmYWxzZX0sInU0ZzdyIjoiJS5ALm51bGwsMSwzXSIsInhuSTlQIjpmYWxzZSwieHdBZkUiOnRydWUsInlGbnhyZiI6MjQ4Nn07PC9zY3JpcHQ+PHRpdGxlPllvdVR1YmU8L3RpdGxlPjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PW5KNHBWekdXVkgwIj48L2hlYWQ+PGJvZHkgY2xhc3M9ImRhdGUtMjAyNjA3MjYgZW5fVVMgbHRyICBzaXRlLWNlbnRlci1hbGlnbmVkIHNpdGUtYXMtZ2lhbnQtY2FyZCBnZWNrbyBnZWNrby0xMzQiIGRpcj0ibHRyIj48ZGl2IGlkPSJwbGF5ZXIiPjwvZGl2PjxzY3JpcHQgbm9uY2U9InJnbG9oU3o3N3ZqNURwLXBXMnhjMUEiPnZhciBzZXRNZXNzYWdlPWZ1bmN0aW9uKG1zZyl7aWYod2luZG93Lnl0JiZ5dC5zZXRNc2cpeXQuc2V0TXNnKG1zZyk7ZWxzZXt3aW5kb3cueXRjZmc9d2luZG93Lnl0Y2ZnfHx7fTt5dGNmZy5tc2dzPW1zZ319OwpzZXRNZXNzYWdlKHsiQUNDT1VOVF9MQUJFTCI6IkFjY291bnQiLCJBQ1RfT05fVEhJU19DT01NRU5UIjoiQWN0IG9uIHRoaXMgY29tbWVudCIsIkFERF9UT19EUk9QRE9XTl9MQUJFTCI6IkFkZCB0byBwbGF5bGlzdCIsIkFEX0JBREdFX0hJTlQiOiJBZHZlcnRpc2VtZW50IiwiQURfQkFER0VfVEVYVCI6IkFEIiwiQUxMX0NIQU5ORUxTX0xBQkVMIjoiQWxsIGNoYW5uZWxzIiwiQU1CSUVOVF9NT0RFIjoiQW1iaWVudCBtb2RlIiwiQU1CSUVOVF9NT0RFX09GRiI6IkFtYmllbnQgbW9kZSBvZmYiLCJBTUJJRU5UX01PREVfT04iOiJBbWJpZW50IG1vZGUgb24iLCJBTkRST0lEX0RFUFJFQ0FUSU9OX01FU1NBR0VfQk9EWSI6IlBsZWFzZSB1cGRhdGUgeW91ciBkZXZpY2UgdG8gQW5kcm9pZCA0LjAgYmVmb3JlIE9jdCAyMiwgMjAyMCB0byBrZWVwIHVzaW5nIFlvdVR1YmUgd2l0aG91dCBpbnRlcnJ1cHRpb25zLiIsIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9IRUFERVIiOiJZb3VUdWJlIHdpbGwgbm8gbG9uZ2VyIGJlIHN1cHBvcnRlZCBvbiB5b3VyIGRldmljZSBhZnRlciAyMDIwLTEwLTIyIiwiQVBQX1VQU0VMTF9TVUJUSVRMRSI6IlVwbG9hZCwgc2F2ZSwgYW5kIGNvbW1lbnQgb24gdmlkZW9zIHdpdGggdGhlIFlvdVR1YmUgYXBwIiwiQVBQX1VQU0VMTF9USVRMRSI6IlN3aXRjaCB0byB0aGUgYXBwIGZvciBhIGJldHRlciB2aWV3aW5nIGV4cGVyaWVuY2UiLCJBVURJT19UUkFDSyI6IkF1ZGlvIFRyYWNrIiwiQVVUT05BVl9UT0dHTEUiOiJBdXRvcGxheSIsIkFVVE9QTEFZX0lOX1RFTl9TRUNPTkRTIjoiTmV4dCB2aWRlbyB3aWxsIGJlIHBsYXllZCBpbiB0ZW4gc2Vjb25kcyIsIkFVVE9QTEFZX1BBVVNFRCI6IkF1dG9wbGF5IGlzIHBhdXNlZCIsIkFVVE9QTEFZX1BMQVlfTk9XIjoiUGxheSBub3ciLCJBVVRPUExBWV9VUF9ORVhUX0lOIjoiVXAgbmV4dCBpbiBzZWNvbmRzX3BsYWNlaG9sZGVyIiwiQVVUT19UUkFOU0xBVEUiOiJBdXRvLXRyYW5zbGF0ZSIsIkFVVE9fWk9PTSI6IkF1dG8gem9vbSIsIkJBQ0siOiJCYWNrIiwiQlJBTkRFRF9TSUdOX0lOX0RJQUxPR19ERVNDUklQVElPTiI6IkFjY2VzcyBhbGwgZmVhdHVyZXMgYW5kIGdldCBhIHNlYW1sZXNzIGV4cGVyaWVuY2UiLCJDQU5DRUwiOiJDYW5jZWwiLCJDSEFOTkVMX1NXSVRDSEVSX0xBQkVMIjoiU3dpdGNoIGFjY291bnQiLCJDSEFSQUNURVJfTElNSVQiOiJVc2UgZmV3ZXIgdGhhbiAkbnVtYmVyIGNoYXJhY3RlcnMiLCJDTE9TRSI6IkNsb3NlIiwiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIjoiTm8gY2FwdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgdGhpcyB2aWRlbyIsIkNMT1NFRF9DQVBUSU9OU19PRkYiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9mZiIsIkNMT1NFRF9DQVBUSU9OU19PTiI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb24iLCJDTE9TRURfQ0FQVElPTlNfT05fTEFOR1VBR0UiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9uIChsYW5ndWFnZV9wbGFjZWhvbGRlcikiLCJDTE9TRV9TRUFSQ0hfTEFCRUwiOiJDbG9zZSBzZWFyY2giLCJDTE9TRV9TRVRUSU5HU19MQUJFTCI6IkNsb3NlIFNldHRpbmdzIiwiQ09NTUVOVEJPWF9QT1NUIjoiUG9zdCIsIkNPTU1FTlRfTU9EQUxfQ09OVEVOVCI6IlBsZWFzZSBzaWduIGluIHRvIGFjdCBvbiB0aGlzIGNvbW1lbnQuIiwiQ09ORklSTV9PSyI6Ik9LIiwiQ09OTkVDVF9UT19USEVfSU5URVJORVQiOiJDb25uZWN0IHRvIHRoZSBpbnRlcm5ldCIsIkNPUElFRF9UT19DTElQQk9BUkQiOiJDb3BpZWQgdG8gY2xpcGJvYXJkIiwiQ09QWSI6IkNvcHkiLCJDT1BZX0RFQlVHX0lORk8iOiJDb3B5IERlYnVnIEluZm8iLCJDT1BZX0VNQkVEX0NPREUiOiJDb3B5IGVtYmVkIGNvZGUiLCJDT1BZX0xJTktfTEFCRUwiOiJDb3B5IGxpbmsiLCJDT1BZX1ZJREVPX1VSTCI6IkNvcHkgdmlkZW8gVVJMIiwiQ09QWV9WSURFT19VUkxfQVRfQ1VSUkVOVF9USU1FIjoiQ29weSB2aWRlbyBVUkwgYXQgY3VycmVudCB0aW1lIiwiQ1JFQVRFX0NIQU5ORUxfVElUTEUiOiJDcmVhdGUgY2hhbm5lbCIsIkRFTEVURV9GUk9NX0RPV05MT0FEUyI6IkRlbGV0ZSBmcm9tIGRvd25sb2FkcyIsIkRJQUxPRyI6IkRpYWxvZyIsIkRNQV9DT05TRU5UX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIHdpbGwgdGFrZSBlZmZlY3Qgb24gTWFyY2ggNiwgMjAyNC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9DT05GSVJNQVRJT04yIjoiWW91ciBjaG9pY2VzIGhhdmUgYmVlbiBzYXZlZC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9HRU5FUkFMX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2hpbGUgbG9hZGluZyIsIkRNQV9DT05TRU5UX1JFQ09SRF9FUlJPUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB5b3VyIGNob2ljZXMgd2VyZSBub3Qgc2F2ZWQiLCJET05FIjoiRG9uZSIsIkRPV05MT0FEIjoiRG93bmxvYWQiLCJGQUlMRURfQ09QWV9FUlJPUl9NRVNTQUdFIjoiQ29weSBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoZSBkZXZpY2UsIGZhaWxlZCB0byBjb3B5LiIsIkZMQUdfQ09ORklSTSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBmbGFnIHRoaXMgdmlkZW8/IiwiRkxBR19DT05URU5UIjoiU2lnbiBpbiB0byBmbGFnIGl0LiIsIkZMQUdfTEFCRUwiOiJGbGFnIGFzIGluYXBwcm9wcmlhdGUiLCJGTEFHX1RJVExFIjoiSW5hcHByb3ByaWF0ZSB2aWRlbz8iLCJGVUxMU0NSRUVOX0dFTkVSSUNfRVJST1IiOiJGdWxsIHNjcmVlbiBpcyB1bmF2YWlsYWJsZS4iLCJHT09HTEVfQ09NUEFOWSI6IllvdVR1YmUsIGEgR29vZ2xlIGNvbXBhbnkiLCJISURFX0FMRVJUIjoiSGlkZSB0aGlzIGFsZXJ0IiwiSElERV9QTEFZRVJfQ09OVFJPTFMiOiJIaWRlIHBsYXllciBjb250cm9scyIsIkhJREVfUExBWUxJU1RfVklERU9TIjoiSGlkZSBwbGF5bGlzdCB2aWRlb3MiLCJISURFX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiSGlkZSBzZWFyY2ggZmlsdGVycyIsIkhPTUUiOiJIb21lIiwiSU5WQUxJRF9SRVNQT05TRV9SRUNFSVZFRCI6IkludmFsaWQgcmVzcG9uc2UgcmVjZWl2ZWQuIiwiTEVBVkVfQV9DT01NRU5UX1RJVExFIjoiTGVhdmUgYSBjb21tZW50PyIsIkxJQlJBUlkiOiJMaWJyYXJ5IiwiTElLRV9DT1VOVF9URVhUIjp7ImNhc2UwIjoiTm8gbGlrZXMiLCJjYXNlMSI6IjEgbGlrZSIsIm90aGVyIjoiIyBsaWtlcyJ9LCJMSUtFX0NPVU5UX1RFWFRfTEFCRUwiOiJ7XCJjYXNlMFwiOiBcIk5vIHBlb3BsZSBoYXZlIGxpa2VkIHRoaXMgdmlkZW8uXCIsIFwiY2FzZTFcIjogXCIxIHBlcnNvbiBoYXMgbGlrZWQgdGhpcyB2aWRlby5cIiwgXCJvdGhlclwiOiBcIiMgcGVvcGxlIGhhdmUgbGlrZWQgdGhpcyB2aWRlby5cIn0iLCJMSVNURU5JTkciOiJMaXN0ZW5pbmcuLi4iLCJMT0FESU5HIjoiTG9hZGluZy4uLiIsIkxPTkdfUFJFU1NfTUlDX1RPX1NQRUFLIjoiTG9uZyBwcmVzcyBtaWNfaWNvbl9wbGFjZWhvbGRlciB0byBzcGVhayIsIkxPT1AiOiJMb29wIiwiTUVOVV9ERVNLVE9QIjoiRGVza3RvcCIsIk1FTlVfRVhJVCI6IkV4aXQiLCJNRU5VX0ZFRURCQUNLIjoiRmVlZGJhY2siLCJNRU5VX0hFTFAiOiJIZWxwIiwiTUVOVV9JTVBSRVNTVU0iOiJJbXByaW50IiwiTUVOVV9QTEFZRVJfU0VUVElOR1MiOiJQbGF5YmFjayBTZXR0aW5ncyIsIk1FTlVfUkVQT1JUX0FfUFJPQkxFTSI6IlJlcG9ydCBhIHByb2JsZW0gd2l0aCBZb3VUdWJlIiwiTUVOVV9TRU5EX0ZFRURCQUNLIjoiU2VuZCBmZWVkYmFjayIsIk1FTlVfU0VUVElOR1MiOiJTZXR0aW5ncyIsIk1FTlVfU0lHTl9JTiI6IlNpZ24gSW4iLCJNRU5VX1RFUk1TIjoiUHJpdmFjeSBcdTAwMjYgVGVybXMiLCJNRU5VX1RJVExFIjoiTWVudSIsIk1FTlVfWU9VUl9EQVRBIjoiWW91ciBkYXRhIGluIFlvdVR1YmUiLCJNRVRBREFUQV9TVUJUSVRMRV9DSEFOTkVMX05BTUVfTEFCRUwiOiJVcGxvYWRlZCBieSAke2NoYW5uZWxfbmFtZV9wbGFjZWhvbGRlcn0uIiwiTU1HX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIGhhcyBiZWVuIHNhdmVkLiBZb3UgY2FuIGNoYW5nZSB0aGlzIHNldHRpbmcgYW55dGltZSBpbiBNeSBBZCBDZW50ZXIuIiwiTU1HX0NPTlNFTlRfUkVDT1JEX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHlvdXIgY2hvaWNlIHdhcyBub3Qgc2F2ZWQiLCJNT1JFIjoiTW9yZSIsIk1PUkVfSU5GTyI6Ik1vcmUgaW5mbyIsIk1PUkVfTE9XRVJDQVNFIjoibW9yZSIsIk1PUkVfT1BUSU9OUyI6Ik1vcmUgb3B0aW9ucyIsIk1PUkVfVklERU9TIjoiTW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19DTE9TRV9CVVRUT05fQVJJQV9MQUJFTCI6IkhpZGUgbW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19GUk9NX0NIQU5ORUwiOiJNb3JlIHZpZGVvcyBmcm9tICRjaGFubmVsX25hbWVfcGxhY2Vob2xkZXIiLCJNT1JFX1ZJREVPU19ORVhUX0JVVFRPTl9BUklBX0xBQkVMIjoiTmV4dCB2aWRlb3MiLCJNT1JFX1ZJREVPU19QUkVWSU9VU19CVVRUT05fQVJJQV9MQUJFTCI6IlByZXZpb3VzIHZpZGVvcyIsIk1VVEVfVk9MVU1FIjoiTXV0ZSIsIk5FV19QTEFZTElTVCI6Ik5ldyBwbGF5bGlzdCIsIk5FWFRfVklERU8iOiJOZXh0IHZpZGVvIiwiTk9USUZJQ0FUSU9OX0VSUk9SX01FU1NBR0UiOiJTb21ldGhpbmcgd2VudCB3cm9uZywgcGxlYXNlIHRyeSBhZ2Fpbi4iLCJOT1RfRk9VTkRfQ1RBIjoiQnJvd3NlIFZpZGVvcyIsIk5PVF9GT1VORF9NRVNTQUdFIjoiUGxlYXNlIHNlYXJjaCBmb3Igc29tZXRoaW5nIGVsc2UsIG9yIGJyb3dzZSB5b3VyIEhvbWUgZmVlZC4iLCJOT1RfRk9VTkRfVElUTEUiOiJUaGlzIHBhZ2UgaXNuXHUwMDI3dCBhdmFpbGFibGUiLCJOT19ET1dOTE9BRFMiOiJObyBkb3dubG9hZHMiLCJOT19NSUNfSU5QVVQiOiJEaWRuXHUwMDI3dCBoZWFyIHRoYXQuIFRyeSBzcGVha2luZyBhZ2Fpbi4iLCJPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04iOiJZb3VcdTAwMjdyZSBvZmZsaW5lLiBDaGVjayB5b3VyIGNvbm5lY3Rpb24uIiwiT09QU19NRVNTQUdFIjoiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcuIiwiT1BFTl9BUFAiOiJPcGVuIEFwcCIsIk9QRU5fWU9VVFVCRSI6Ik9wZW4gdGhlIGFwcCIsIk9QRU5fWU9VVFVCRV9BUFAiOiJPcGVuIFlvdVR1YmUgYXBwIiwiUEFVU0UiOiJQYXVzZSIsIlBMQVkiOiJQbGF5IiwiUExBWUJBQ0tfU1BFRURfWCI6IiR7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcn14IiwiUExBWUVSX0NBUFRJT04iOiJDYXB0aW9ucyIsIlBMQVlFUl9DQVBUSU9OX09GRiI6Ik9mZiIsIlBMQVlFUl9DQVBUSU9OX09OIjoiT24iLCJQTEFZRVJfRE9VQkxFX1NQRUVEX1VTRVJfRURVIjoiMngiLCJQTEFZRVJfRE9VQkxFX1RBUF9UT19TRUVLIjoiRG91YmxlIHRhcCBsZWZ0IG9yIHJpZ2h0IHRvIHNraXAgMTAgc2Vjb25kcyIsIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NIT1dfT1JfSElERV9QTEFZRVJfQ09OVFJPTFMiOiJEb3VibGUgdGFwIHRvIHNob3cgb3IgaGlkZSBwbGF5ZXIgY29udHJvbHMiLCJQTEFZRVJfRVhJVF9GVUxMU0NSRUVOIjoiRXhpdCBmdWxsIHNjcmVlbiIsIlBMQVlFUl9GQVNURk9SV0FSRF9TRUNPTkRTIjoiRmFzdCBmb3J3YXJkICRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfRlVMTFNDUkVFTiI6IkVudGVyIGZ1bGwgc2NyZWVuIiwiUExBWUVSX0xJVkVfTEFCRUwiOiJMaXZlIiwiUExBWUVSX0xJVkVfTk9XIjoiTGl2ZSBub3ciLCJQTEFZRVJfTUlOSU1JWkUiOiJNaW5pbWl6ZSIsIlBMQVlFUl9ORVhUIjoiTmV4dCB2aWRlbyIsIlBMQVlFUl9QQVVTRSI6IlBhdXNlIHZpZGVvIiwiUExBWUVSX1BMQVkiOiJQbGF5IHZpZGVvIiwiUExBWUVSX1BSRU1JRVJFX0xBQkVMIjoiUHJlbWllcmUiLCJQTEFZRVJfUFJFVklPVVMiOiJQcmV2aW91cyB2aWRlbyIsIlBMQVlFUl9QUk9HUkVTU19CQVIiOiJTZWVrIHNsaWRlciIsIlBMQVlFUl9RVUFMSVRZIjoiUXVhbGl0eSIsIlBMQVlFUl9RVUFMSVRZX0FVVE8iOiJBdXRvIiwiUExBWUVSX1JFUExBWSI6IlJlcGxheSBWaWRlbyIsIlBMQVlFUl9SRVdJTkRfU0VDT05EUyI6IlJld2luZCAkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NFQ09ORFMiOiIkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NQRUVEIjoiU3BlZWQiLCJQTEFZRVJfU1BFRURVUF9VU0VSX0VEVSI6IlBsYXlpbmcgYXQgc3BlZWRfcmF0ZV9wbGFjZWhvbGRlcnggc3BlZWQiLCJQTEFZRVJfU1BFRURfREVDUkVBU0UiOiJEZWNyZWFzZSBwbGF5YmFjayBzcGVlZCIsIlBMQVlFUl9TUEVFRF9JTkNSRUFTRSI6IkluY3JlYXNlIHBsYXliYWNrIHNwZWVkIiwiUExBWUVSX1NQRUVEX05PUk1BTCI6Ik5vcm1hbCIsIlBMQVlFUl9TUEVFRF9SRUNFTlQiOiJSZWNlbnQiLCJQTEFZRVJfVElNRV9EVVJBVElPTiI6IlRpbWUgZHVyYXRpb24iLCJQTEFZRVJfVElNRV9FTEFQU0VEIjoiVGltZSBlbGFwc2VkIiwiUExBWUVSX1RJTUVfRk9STUFUVEVEIjp7ImNhc2UwIjoiJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJjYXNlMSI6IjEgaG91ciwgJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJvdGhlciI6IiMgaG91cnMsICR7bWludXRlc30gbWludXRlcyBhbmQgJHtzZWNvbmRzfSBzZWNvbmRzIn0sIlBMQVlMSVNUX0NVUlJFTlRfVklERU9fSU5ERVgiOiIke2N1cnJlbnRfdmlkZW9faW5kZXh9IG9mICR7bGFzdF9pbmRleH0uIiwiUExBWUxJU1RfREVTQ1JJUFRJT05fSU5WQUxJRF9DSEFSQUNURVJTIjoiUGxheWxpc3QgZGVzY3JpcHRpb24gY2FuXHUwMDI3dCB1c2UgXHUwMDNjIG9yIFx1MDAzZSIsIlBMQVlMSVNUX01JWF9ERVRBSUxFRF9MT05HX0JZTElORSI6Ik1peGVzIGFyZSBwbGF5bGlzdHMgWW91VHViZSBtYWtlcyBmb3IgeW91IiwiUExBWUxJU1RfTkFNRV9JTlZBTElEX0NIQVJBQ1RFUlMiOiJQbGF5bGlzdCB0aXRsZSBjYW5cdTAwMjd0IHVzZSBcdTAwM2Mgb3IgXHUwMDNlIiwiUExBWUxJU1RfTkFNRV9NSVNTSU5HIjoiUGxheWxpc3QgdGl0bGUgcmVxdWlyZWQuIiwiUExBWUxJU1RfTkFNRV9UT09fTE9ORyI6IlBsYXlsaXN0IHRpdGxlIGlzIHRvbyBsb25nLiIsIlBMQVlMSVNUX1BBTkVMX0VORF9PRl9QTEFZTElTVCI6IkVuZCBvZiBQbGF5bGlzdCIsIlBMQVlMSVNUX1BBTkVMX05FWFQiOiJOZXh0OiIsIlBMQVlMSVNUX1BBTkVMX1VOTElTVEVEX1BMQVlMSVNUIjoiVW5saXN0ZWQgUGxheWxpc3QiLCJQTEFZTElTVF9URVhUX0lOUFVUX0NIQVJfQ09VTlQiOiJjdXJyZW50X2NvdW50X3BsYWNlaG9sZGVyIG9mIG1heF9jb3VudF9wbGFjZWhvbGRlciBjaGFyYWN0ZXJzIHVzZWQiLCJQTEFZX0FMTCI6IlBsYXkgYWxsIiwiUExFQVNFX0ZJWF9FUlJPUlMiOiJQbGVhc2UgZml4IGVycm9ycyBhbmQgdHJ5IGFnYWluLiIsIlBSRU1JVU1fQkFER0VfTEFCRUwiOiJQcmVtaXVtIiwiUFJFVklPVVNfVklERU8iOiJQcmV2aW91cyB2aWRlbyIsIlBSSVZBQ1lfUE9MSUNZIjoiUHJpdmFjeSBQb2xpY3kiLCJSRUxPQUQiOiJSZWxvYWQiLCJSRVBMSUVTX1NIT1dfTU9SRSI6IlNob3cgbW9yZSByZXBsaWVzIiwiUkVRVUlSRURfTEFCRUwiOiJSZXF1aXJlZCIsIlNBVkVfUExBWUxJU1QiOiJTYXZlIiwiU0NSVUJfU0xJREVfVVNFUl9FRFUiOiJTbGlkZSBsZWZ0IG9yIHJpZ2h0IHRvIHNlZWsiLCJTRUFSQ0giOiJTZWFyY2giLCJTRUFSQ0hfQVBQRU5EX0xBQkVMIjoiQXBwZW5kIHN1Z2dlc3Rpb24gdG8gc2VhcmNoIGZpZWxkIiwiU0VBUkNIX0NIQU5ORUwiOiJTZWFyY2ggY2hhbm5lbCIsIlNFQVJDSF9DTEVBUl9MQUJFTCI6IkNsZWFyIGN1cnJlbnQgc2VhcmNoIHRleHQiLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU0iOiJBbGJ1bSBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU1fTk9fQVJUSVNUIjoiQWxidW0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fTU9WSUUiOiJNb3ZpZSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9TT05HIjoiU29uZyBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fU09OR19OT19BUlRJU1QiOiJTb25nIiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1RWX1NIT1ciOiJUViBzaG93IiwiU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJTZWFyY2ggZmlsdGVycyIsIlNFQVJDSF9MQUJFTCI6IlNlYXJjaCBZb3VUdWJlIiwiU0VBUkNIX1BQUF9QTEFDRUhPTERFUl9URVhUIjoiU2VhcmNoIHBhaWQgcHJvZHVjdCBwbGFjZW1lbnQgdmlkZW9zIiwiU0VFS19TTElERVIiOiJTZWVrIHNsaWRlciIsIlNFVFRJTkdTX0xBQkVMIjoiU2V0dGluZ3MiLCJTRVRUSU5HU19NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSBhbGxvdyBtaWNyb3Bob25lIHBlcm1pc3Npb24gaW4gZGV2aWNlIHNldHRpbmdzLiIsIlNFVF9QTEFZQkFDS19TUEVFRF9YIjoiJHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyfXggc3BlZWQiLCJTSE9SVFNfVEFCX0xBQkVMIjoiU2hvcnRzIiwiU0hPV19MRVNTIjoiU2hvdyBsZXNzIiwiU0hPV19NT1JFIjoiU2hvdyBtb3JlIiwiU0hPV19QTEFZRVJfQ09OVFJPTFMiOiJTaG93IHBsYXllciBjb250cm9scyIsIlNIT1dfUExBWUxJU1RfVklERU9TIjoiU2hvdyBwbGF5bGlzdCB2aWRlb3MiLCJTSE9XX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiU2hvdyBzZWFyY2ggZmlsdGVycyIsIlNJR05fSU5fTEFCRUwiOiJTaWduIGluIiwiU0lHTl9JTl9PTl9XRUIiOiJTaWduIGluIG9uIHdlYiIsIlNUQUJMRV9WT0xVTUUiOiJTdGFibGUgdm9sdW1lIiwiU1RBQkxFX1ZPTFVNRV9PRkYiOiJTdGFibGUgdm9sdW1lIG9mZiIsIlNUQUJMRV9WT0xVTUVfT04iOiJTdGFibGUgdm9sdW1lIG9uIiwiU1RBVFNfRk9SX05FUkRTIjoiU3RhdHMgRm9yIE5lcmRzIiwiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiOiJTdWdnZXN0aW9uIFJlbW92ZWQiLCJTVUdHRVNUSU9OX0RJU01JU1NfSU5fU0VUVElOR1NfTEFCRUwiOiJSZW1vdmUgaW4gc2V0dGluZ3MiLCJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiOiJSZW1vdmUiLCJTVUdHRVNUSU9OX05FV19WSURFT1NfVEVYVCI6Ik5ldyB2aWRlb3MiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfQlVUVE9OX0xBQkVMIjoiVmlzaXQgc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX0RFU0NSSVBUSU9OIjoiVmlzaXQgaW1hZ2Ugc291cmNlIHdlYnNpdGU/IiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX1RJVExFIjoiSW1hZ2Ugc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fTEFCRUwiOiJWaWV3IGltYWdlIHNvdXJjZSIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0xBQkVMIjoiSW1hZ2UgZm9yIHN1Z2dlc3Rpb24iLCJURVJNU19PRl9TRVJWSUNFIjoiVGVybXMgb2YgU2VydmljZSIsIlRJTUVTVEFNUF9NSU5VVEVTIjoidGltZXN0YW1wIG1pbnV0ZXMgcmVxdWlyZWQiLCJUSU1FU1RBTVBfU0VDT05EUyI6InRpbWVzdGFtcCBzZWNvbmRzIHJlcXVpcmVkIiwiVE9HR0xFX09GRiI6Ik9mZiIsIlRPR0dMRV9PTiI6Ik9uIiwiVFJFTkRJTkciOiJUcmVuZGluZyIsIlRST1VCTEVTSE9PVF9QTEFZQkFDS19JU1NVRSI6IlRyb3VibGVzaG9vdCBwbGF5YmFjayBpc3N1ZSIsIlRSWV9BR0FJTl9MQVRFUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsIlRSWV9BR0FJTl9NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSB0cnkgYWdhaW4gYW5kIGFsbG93IG1pY3JvcGhvbmUgcGVybWlzc2lvbi4iLCJUVVJOX09GRl9BVVRPUExBWV9DT05GSVJNX0JVVFRPTl9USVRMRSI6IlR1cm4gb2ZmIiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX0RFU0NSSVBUSU9OIjoiV2hlbiBhdXRvcGxheSBpcyBvZmYsIGEgc3VnZ2VzdGVkIHZpZGVvIHdpbGwgbm90IGF1dG9tYXRpY2FsbHkgcGxheSBuZXh0IiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX1RJVExFIjoiVHVybiBvZmYgYXV0b3BsYXk/IiwiVU5NVVRFX1ZPTFVNRSI6IlVubXV0ZSIsIlZJREVPUyI6Int2aWRlb3MscGx1cmFsLCBcdTAwM2QwezAgdmlkZW9zfVx1MDAzZDF7MSB2aWRlb31vdGhlcnsjIHZpZGVvc319IiwiVklERU9fTElOS19MQUJFTCI6IlZpZGVvIGxpbmsiLCJXQVRDSEVEIjoiV2F0Y2hlZCIsIl9fbGFuZ19fIjoiZW4ifSk7PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9zL18veXRlbWJlZHMvXy9qcy9rPXl0ZW1iZWRzLmJhc2UuZW5fVVMuXzg4VHd5eUhLSHMuMjAyMS5PL2FtPUFBQUFnQS9kPTEvYnI9MS9ycz1BR0tNeXdFdTJUUVV6ZFNGMEFjc0ZCTVVyRnF5dXJLbHV3L209cm9vdCxiYXNlIiBuYW1lPSJlbWJlZF9jbGllbnQiIGlkPSJiYXNlLWpzIiBub25jZT0icmdsb2hTejc3dmo1RHAtcFcyeGMxQSI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9zL3BsYXllci83YTc5NjljMi9wbGF5ZXJfZW1iZWRfZXM2LnZmbHNldC9lbl9VUy9iYXNlLmpzIiBuYW1lPSJwbGF5ZXIvYmFzZSIgbm9uY2U9InJnbG9oU3o3N3ZqNURwLXBXMnhjMUEiPjwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9InJnbG9oU3o3N3ZqNURwLXBXMnhjMUEiPndyaXRlRW1iZWQoKTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJyZ2xvaFN6Nzd2ajVEcC1wVzJ4YzFBIj4oZnVuY3Rpb24oKSB7aWYgKHdpbmRvdy55dEF0Tikge3dpbmRvdy55dEF0Tih7J1InOiAnXHg3Ylx4MjJyZXNwb25zZUNvbnRleHRceDIyOlx4N2JceDIyc2VydmljZVRyYWNraW5nUGFyYW1zXHgyMjpceDViXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyQ1NJXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJjXHgyMixceDIydmFsdWVceDIyOlx4MjJXRUJfRU1CRURERURfUExBWUVSXHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJjdmVyXHgyMixceDIydmFsdWVceDIyOlx4MjIyLjIwMjYwNzI0LjAxLjAwXHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJ5dF9saVx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMFx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyR2V0QXR0ZXN0YXRpb25DaGFsbGVuZ2VfcmlkXHgyMixceDIydmFsdWVceDIyOlx4MjIweDJhZGY5YTNjZWI3NzQ2N2RceDIyXHg3ZFx4NWRceDdkLFx4N2JceDIyc2VydmljZVx4MjI6XHgyMkdGRUVEQkFDS1x4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIybG9nZ2VkX2luXHgyMixceDIydmFsdWVceDIyOlx4MjIwXHgyMlx4N2RceDVkXHg3ZCxceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJHVUlERURfSEVMUFx4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIybG9nZ2VkX2luXHgyMixceDIydmFsdWVceDIyOlx4MjIwXHgyMlx4N2RceDVkXHg3ZCxceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJFQ0FUQ0hFUlx4MjIsXHgyMnBhcmFtc1x4MjI6XHg1Ylx4N2JceDIya2V5XHgyMjpceDIyY2xpZW50LnZlcnNpb25ceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjIuMjAyNjA3MjRceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMmNsaWVudC5uYW1lXHgyMixceDIydmFsdWVceDIyOlx4MjJXRUJfRU1CRURERURfUExBWUVSXHgyMlx4N2RceDVkXHg3ZFx4NWQsXHgyMnJlc3BvbnNlSWRceDIyOlx4MjJJaE1JNzZ5SHBJX3lsUU1Wck5aUENCMHQ5Z19XXHgyMixceDIyd2ViUmVzcG9uc2VDb250ZXh0RXh0ZW5zaW9uRGF0YVx4MjI6XHg3Ylx4MjJoYXNEZWNvcmF0ZWRceDIyOnRydWVceDdkXHg3ZCxceDIyY2hhbGxlbmdlXHgyMjpceDIyYVx4M2Q2XFx1MDAyNmEyXHgzZDEwXFx1MDAyNmNceDNkMTc4NTEyOTk0OVxcdTAwMjZkXHgzZDU2XFx1MDAyNnRceDNkMjE2MDBcXHUwMDI2YzFhXHgzZDFcXHUwMDI2YzZhXHgzZDFcXHUwMDI2YzZiXHgzZDFcXHUwMDI2aGhceDNkdHQ5VmxhVlpFdi1GcHJsRVNVV3JGcTVnREJXdExwUWg5MkMwRUpFcWlZQVx4MjIsXHgyMmJnQ2hhbGxlbmdlXHgyMjpceDdiXHgyMmludGVycHJldGVyVXJsXHgyMjpceDdiXHgyMnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZVx4MjI6XHgyMlwvXC93d3cuZ29vZ2xlLmNvbVwvanNcL3RoXC9iOHFYckZBdTlQSFZyR3FNWmkybnFLbTlUVU5QcnJ6RWg0MFBBbC02b1ZvLmpzXHgyMlx4N2QsXHgyMmludGVycHJldGVySGFzaFx4MjI6XHgyMmI4cVhyRkF1OVBIVnJHcU1aaTJucUttOVRVTlBycnpFaDQwUEFsLTZvVm9ceDIyLFx4MjJwcm9ncmFtXHgyMjpceDIyUnJ2RkdYZndPS0FCaVRsRGxiZ3RYK25MQ3NzcnNneWdsanlJK3RiOGhIeFlCWFhDb3RFanJIMWdQRjJRcVVUYUJnZDY5MERRSTVGVnk2MG1mTlJSeENzUDNMNnJpU3J1eVBmelFCR1pyN3pnXC93eXYzU0ExYWpPMlwvcFh0VlRzU1B2TFwvVmNRNkZsV3JXTis5alFTdVE3SkRhOEUwV0lBOEpWM3JiWDZuKzJ5ZGdJNlZvK09yVG9kMXpBV0ZmXC82T1NDQ213dFJDU2RQN0tpRFdrZVg1ZENub2sraGdCQnRIc0VzV1wveHE0NkhqcHY5eFd5dTRsS2JaTUd1dGpSNThlcnRjaE93RTJYTWNxdnJyVmtwTXVWa0QzeUtsb1VlRVgrQjNNNXoxYTV6d0psdGtVSitDUWpOaWRXZG9JWWZmNVJVcjlQU3RvcSt4UlpzWVNHSWpyNHhTNndhYVQ0UGd4RVhVdjlwMlhUMUppd1QrWWkzQlo0dkRrTGY2N3kydENYRlpYQkdGR05tTG1mZVBlck12ODZYR3IyZzlnNHhKQWFnREpMNWJaczNpeFlVdXVUbmc2TVlNRFNUVlwvVW5DbDJcL2JJb2c0WFFpMlRCcGRYOXYxRHVhdW00bG1WQlhtekMyNEZZeTdCd2JXS2xKVTIwelVqZ1dDbHFmSVc1ekpnZDBKalV1SXd5MXFEa2ZqYUpoSXk3YTkrS2J3YVZtR3VKUHRhbHhTK1h2Q05oSklRdVwvNnNqS2VhZjA2bXp1dkpmZnVMdzdvVnVKaW45WXNlZDR1V2JJZkNOakFRcllBYnZNcVd5ZG56Sk1sc1VzWEVZRHFJaXVzc09tOTdZQlZpWTc3ZUEwWkF0ZWtxeFwvM0UwTGZHbXprbjlGQndndEVxdG5cLzVKazNMRUQ5TlFpdTFySGFmc2lrWm1SVUYxTU5JM0tpXC9NS1wvbkRscVFyQVdIVmhhRlNGcDBMTmo4RkZlRHpGRjd6ZVhaWEppN1dcL0xpa0E1WGp6ZE5MeEdySUpUYXViZWNsT25yN0krUElJZHhMcDhJdVJLamQyQmxEXC93ZWZ3ZnhvSE0xRzd2WTQ5cUhrVWFnc0ZQd0dtUzQ0UkZ5YlVZaXJhanlSY0Z0Q2VoWlRqOWlPSUZrUW8xczRZaEI5WnR4emJpd05kREhodHlSUG00c0tkeU9HVlRXNWplREhSazdGT1NmVWxUa28xSUN3QWZHUG5pNjJTaWdEbEZzUm9TOU8wOG4ydEx2cEdIOVVoWFkrWXZmYlBaOWZ2UHhsTW5hK05VSUxtY3BTelNCQ3phNWo3bnBBOUx3QU1JMzZWR2ZWVW9PVUxzeFkwS2lxME1TZmNJRXhNejFQWGQ5alRLcHlNaExpR2hxM3pKYjJvTThtZjh6dEhSckk4MkNROEJLdlp3anQrZXk0dys3eFFjcWU4S25yR0wzQzRxU2RIbmJTM0R0alVhVUxneExOUHd2b0tzXC8ybzdQS2x5dUVcL2hhUVRqaG5TMUwrSjJId3VFTHRDQnowbjRkRnFGa2NxaXdDQnQ1YmNySlc4NTBIcDd6djZGYjh2SmlqN29PcTI0OVQ1SkFYT2lZYTViZ3BSXC9GR0hmbkFJUjZUSWZHSFg0WTNwdFNpMDkrZ0FsbGxLSkdiSUVzZkx2RDB0XC9lU3ZESXBNZ2piU1ZoMjZLRmV5QktPNDBqMndQVTJWc3RHM1ZFSWZXREQ1dGs5Y1JLQnFvQzF1dEJFVUcwWG5kQ3p0aitCWWtwZCswRjJQdFRTcitcL1wvN0lDYWNRdUFFZzJUYTV4a0E5MkdmZWtpQ0N1TVwvWGpScGZEcXJJdlhaUXp1MHBybHBONHNNaWRrakpTZ2N3Qys4VStSdkpxYlwvSWQ2Q21IaXdiTFdscGxFWHk2cnVrczNXeTFmZkJid3ZWaFAxalhuRlN2bFhxdHJQVG8zcjZBUW5COWxWamdQVTFuWU8wSklhbDNOMHZmZVQ4NUJcL1wvTkRhRjY5ZDBKOWJVS3R4V3BrbmdETHoxTWdTekZZNFNKNEd2NlRWUlJEelJ3a3ROcXFyczBOSVR1RVh6M3JLWEFwUUlkU0VjRStuc0pna0M3cGcyNDhDbmxuYnBTczI4bUFjMG9xYnpBMnBNcGJvWnJ3ZzFFUXZ1UW4wQjV3akhhS21PM1c0VFZUbjRJaDFDdGEzWURPZEE2YVwvYnRBUGJYcm9kcmVVUnc3dFBUSmxFcitXczNIaWR3OFo2Ykk2bGhpbVl2YXVib3ZHd2JWVnpFV0FpWTVZd0RuVlFpYW9hQzNBZlQzdHBXcHlsb2VVZzV2Ym9TcFJHTXh4bEllV21PS251TjkzalVRTXBwWnpqWnA0aisxcGtTTDBDb3R4Wjg4dmwwbU5WeUxDRHhIK2tQelpWNG5jQkE4VzdMZ0JuNkdzM1ZnMG1SVHpWOUdralZJcnBldjRXNWVuaFhLUG5YdDd0RFwvd2FGXC9jXC9IOGRuaWN0d0l5VzNGeWdabUM1dkZMSU1qYTBrRzMzUEJKK09JNkJVZjRnS2N3K2xhdEQwREJMNVJCdytJaHZSQVJ5YXhGR0tnVzNcLzNXblZGeXM1TUQrZE5qaUxpZ1JXSTl0MHphUHlPSWY3alJscDRmMnpSOU11R3FqT0JDSWRwb0M0anFwd0kxZ2RYOGxsc2w0MjV1SUtpN3UrVmpIZ0FpU3ZsZU1UeG5PVjFweG5ZSXdiWkFSMEU1NzBuZURmVFZvTWhnMVhZMXlLTXgwTytncjVYWGRlaDlNdkl3VkhkaUR0SUVpMUNkbjg5QXRiSzdHTUZ4aVhQSXJhd1VQZVJ1RG16UkV6XC81bSttcWVacG52bWN6ZlVhd0xvTVR2cE5Rc0dKWis3N1wvSElhZjFPeHRKNFZmY3VOTGt0M3ppQ0hpZWF1a2tQSWp0RzhVMjJIVlwvbE9vY2hnU0U5aEh5WGhubU9zNE52cVVJWHduSmhodXFJNlA1MDhMbUdNM3J6ZitnWTY1VzRzK0ZpNkk3TlNEUmYzSFdaUnpZQTNpZ3VmNzk5R3IxWmtxdzVRSFowMjhqbHZxQ2JBRzVrelM3MWU2QnFvZWtTZER2Q3pqOG1IVHk1NTBjdjcxd0FlaklVWkZPVU84Rk5OU3MxMWpHTG1cL2tvcXIzK04xYThqaUN2ZG9vNENxZERhTWtvYVIydHZNQWEyYzJaZnltbllJRVlkQkNwaTJKVHZEWE8rRTFSTWFlMkhBdTlCV3ptWnhCVExBR3lCMnlXQWRFQTdFMGZBRWI3eWxaVDVuc3Z0VmhXd2FXNXZVd29URXltcVJpWFhUNnVDcDF2d2hUQjdjMTV2QndUU2orNUhOUDhrbXVkelwvUjVxbUdvbmFDZU5wSWZQa283NjNnNXpBNnY4aytlU1k1K25LeWZzNFk3TXBXR25KbDdFejJ2a3Zod1hVVU5iTG5lcUMrSmVsOGdhdHdsa1wvK3ErSHlTek8zT01VXC9WWE42bGhyOTk0Z09Wdld6d0JpdUpxYXRBOFRBMzBKUHFzTTVaN1E0MXFXR0RjUmdkRFRyOTZkMzZcLzVGNisrcGsydTE2MElEdVUrZ3FsWlRcL28waXBJeXpOSWxoS3QrSWRRTm1OR0lSVmpxalFEM3NPMGRFQ1B4WWRybXVtQndkbmxuemwrTWhXSER4NmozRDYrcE5MOW9UZzFWTnF6Wk5SS2pUaWtKY2dQOUR6dlwvVzN1ZFwvc0FZY25xYmhOREhZUlBSSzh0TUVMa1E3XC8wTlNjTDBaTWpsZWxxc3ZMWHBVUU1seURzWDlQU2FoMkpOSE9jMlNjUWNYK284NUhFRlR5WVJPRW14K2o5MWdHZ1F6S3lvZlFlU25rRHZ1czNiMFNsNUUreGtHem5MVk9TeU9xdHY1R3o0RFVrbElJQTg1djhoUXI5ckVuKzc1dTFWMkxZeHRvNXRTSDludGVmMTNibjdWa0tkTTd3N1pcLzFCWG9jWmRFQ1ZmVGd3ajZSK1dRRWFrdkM0SnRnQytBb1IxeW9HTEVmMG5waXI4Y05Md2xtRExacXl2VGxQdXRldFVTNWZSZng4ait0TVNlXC92ZElOeGVSUFZEWTJDWU5aY3JScmlMMzlUYjdvdlpTSnFGU1ZHZHpEOE8rd3hhMWFXc0tGY1lEdFRsMHR1Z2R1MXBGOXYrTExYOGJ3RFF1eEJlUmluYVhlNnpucFFqNGoyVUd5MnRpa0hTdk9PS05oV2pDSURJN0dJRldXdklPVXVXd3hFRW4wQmhLeWdTaG1XMUVGT2N4VDRmbVwvaCtCd0llTTRFRFVVYWFNTnlMbm44MEZcL1RNSmFndFVabE9kUVljRjRNVXV1bXc1dlVONEI2R00xaGlJSnYxRW40TEp6ZnM1SWRcLytra3pOakZQOG91MjBqemRjTVBkNDhFSkVrXC9jZFM5UCtoaHNleHU5azRueG1kY1RpSTR6MXFIQW9qcm9WZzBaT2RiTFliYUlhZUFTMFFwQTR5a084b0laOThON2FSZXhad0hcL2FIVlpuc2UwZXFsbncyNGxNRjhzaGM3T1lMd25TWUdsZzBiVDA4ZG9KQXkweXExSjdEcWVEZ0FCMjRyS3QzamdJTCtHVEU3dFl3cUduaHVrclo3TFwvQUF1M2E5VVwvRyt1MThUTWVxUk55YkdicXI2ak9mWFRPOHlCcG5KQnlIMkhpT1wvbHdWdzBoeUI2OFRobjNFdFdwOWRCS0lDb2dpYndzRldXVWhVMDRicUtcLyt2K3U1aHBLRFhqTVFWZHlEMWNkaURsbnY3NkFiUHltZzd1WnJTc2lmRGhKSHlPT0tVUTNsWDFzRk1ZcmtzQlpOUGRKQm04Z0xjdDZzWjlSMXFpQ0VVaU44cmtzY3FodjY5Z0FmQlZKbXJKMEw4MTRtbnVcL0t2QkZ2ZUE5UHdFUmtZa2J1a3M0SlBMSWpkR1JxT3YwNnRIMWF4UkZDUXRySnJUaFlmUW4rbDBFOFZGUXlWdDhkT1NUTXRcL2VnZ284VnpIRVl5VHJpU3dLeFkyeDZiUVByR0hVODBuQlQ3WTF6Tkk1emRDNStLU3AwWlFnSDFOYm9JRDhXRlFwdGFiMlJLWnRsejE0VFQ2NlI4R3dxVzh1M2tMbWVCUk9ycmh0VGZGaEMxYktMenRDbnhBQkt4bTBcL0ZPaHF5aCtKOUtMTCtvaUwwcHk2a2cwbDBrTEo5ckJ6WGhvUlhPYW54SmVmUTdpM1ByYXliXC9ZYjNkRE9CWTN2czcyR1BSUEczTHUxdFpLcmg4SG9LUHdkclI2cXFnTHRBb3IzUHowakVnTFJTc0hqdTA0aUdMQzVSQkVTbkFDc25aTHd0U0puMVplbE1YbEY3NWFkcGI0MDNvb2FNVUE4TURkakdocElscUZTdXhBdDR4Y1FVZml5OXF6d0JCZ2dlXC9DazJSaXg3TTQwenIzZmNXXC9xUnQ1TFNXMk9naUQxbzV1SzQrcVVyWldZQkFqMk1wUXA0WmRQTkxQSVFXeTFUT0xkNys0SXdmT1FHMHFSVVhYTXZ2bm4wZVRuVWJmaE5pODJESHBIS0RRcHlDRlRVKzl2Q3lcL2xUYjNDeXN6bVhlYnpMMHhEdlhHYktJeEFPY2FBR0g4S2ZqUUt3V1FnYnBiMVZRSlhFU3h5WG1Ic01ENXdVSTFJa3VcL3A2bjVjRlQwaFNpd0t5dUlTeExXcG5VMlVQYTNtaFlTR2N1dTNCbzFWSUhkdmh1SW51T3Z2cFF5cHJKZjlJTWd6dTZYbWRRZktUQnNEU0ZWSXBUbndDeFRiNHVQZHNKcHBjaXVNcTFUdDBZRjU5SjE2aE5tKzB2dmpWdkNrWHJxaFRBMDc2VUc1RlYwMERKZmVUTHA0Rys2TmU3VUQxUUNDM2ErM1FtREdBSURjTEN0UWROcHBva0s5ekRYTnhzcWJJc1g2bzhHcDdwa0prR0ltVjlsMEVJNmpNOUNYNU90Z1wvc2dSN2p6MWo5YU1xRXBOcll4WDZFK2NzdWZVTVJtbmtrdlF6QWpobDBaRHUwcklDSTRuVWRGTGJjdFhWV2xCbHNadkMrZERrMkVxZWlvNmVoZnRVYUxzM2M3eDRvREJDRWRXM1JcL3o0Y0hQVmVLMTFjUjNoNkM5bFA5bHFqRTV2bGZWaDI4Zm80c3RtUWNWV3JMQkoxUDl2S0J0RHFGR1ptTFh5YU50VnRrWW9UaVJwMktESXdyQU8rUjQzQ2VKTXkyM00xczB5UWVqUkVPcEhFazNBOG5NNmRCMTZTS3JSSysrTEV0N2VMSmJJa1dDUmU3aUcxb25zd2FKaDBWTUZhUmpZSENwbkpXTVlaSmNFeXVwMVMxTFF0NnpSU2NJaE1TekpJTFdBb1NUZzZrRjFmYmZqTUNFWWc2SVBwREdJclRtXC8wckFhcnJxbnp1aldVNFRWbEYzeEo2MVIrZXFiTmZ0OGVKdDBaT2plczNHMWx0OWlkUXVoYkhLaE1ZcllFanc0c2xhVzRoWVVUKzJJdEF2a0hLNFBEb0dGY082V2dzcFJENWJYTng0OXVmVXFUUEtqSXpmVE5LUlBuMGkwTlBNeFwvbkNRWFZIQzRlb0NCZHp6bzIySFk1bnhCQ0Z4N0pQSjFcL3dicEZcL0dcL3JwRCsrdTVaaDFcL3ZzWktXSTVqNWpZT3VmVDkxaFJYY1Jqb3VmUERlR2dPV3hHS0czWnRQbDFBNUxVcEI5TFwvOG1HQ2NOVENManVhK0ZXVTg5XC9PRHNuT0Y1a2lwc280V2FTXC9lSm5XXC91WW5TVDdvRVhZenBiK210Rmd5RHo0UUtqWkM4ckhJb2JFSWNkYVdrMzRCZ3FES0NlZXV4bk1DVFA5dlh0VEpiK1pWampaMk1nOVhQRmJGWGdiUmlSNjhFSU90MzRTaU9icFVSUTJrR3p6eVc5eXM2NlR0M3U5NEIxZGZYN0RtK3B0d3hoNkl3NnV2b2N1ajRHK3B1ekdNdWpkek9pV2w4UmpCU09OK0owbUd0d3dldWhISEgxNTA1RUJFb2JHN0haRnFDeXVsa0gyd3NqVnMwS2hXdzZoc3Vrbm5FNlU5anN0Sko3TEwzN3VcL1A0bUZFOFI4dzFhbWx1SXNhRk11aEg3TTlGYjVtc0N2SW9zMzRSTnp5bU9nQk5PNlBYRWE0ZUc1cmhzbVVtWWNXcU9ST1djYnFxUURCK0JFd0ZGZkZhQjRJeVAyd1l1SEUxVVZEYlB3TDZqXC9nYVZJQWR3eFRac0p5dG56WG83XC82cUdyNGRcL0l1NVJUOHdXdm8xRkJLV2RRVWtjV2plZ0N4b0dmdXhxWmFpcVU3YUVNZWZGVVJ5akxWbVJTbllubkdGVGt4R2NWZlBKUHNXYkdsT0ErN2FGYTB5RFV4TlNnZjZ4VjVjeGV3bUF5dVpaQW1lZXU4WXdxOEdZT3RaWFNWaWZoME01ZW5LV3JiTjBoM1NaV1NTeGpsajhzblJwSnJpajRqWURjeWhmXC9IVlFJakpjR0oxMEZXbkxcL0V3RldyVkFwWGkxVHVxRVY5cDJWSFwvaE0xbXk4MTJ2ekVjMEpsWEQ5WDljUnlMeE9DTTNoMVcwaUg3Q3Jyd1NxTUpGejBYMW9uYXFwUE0xVXd3NzBkK0pHczU3YXV1Y08wRE9ucEZMZTBLaXJsUExKaFViemhCUFBFbWczRTBYQko3STZXR0VkeHZxNWdXM2g1T2tqTVlMeTBBbU95WVdlVW4xZU9tdGZTemdMMjJYSURwVTRoVnBuUDNaZnVFWFJuUHFnb0tpY3NTMG1xeFAzU1wvZThOcW1FODREZHB4UTZEMG5sU2hIQVExNmFYaWhWVGVSMTVLQkpyQXJkOGRMbHMyelJOcE1yYUpPd2hwdzBUd05hR3JjbnI2QkU1NStZcnZCejlGRlRtZ2l5S3djeGRDUUt5RzFVTHZYVHFuUEVTVWFPZ2N5aEtCcXU4MXVnOGFTN09yNzcyd1NyQ3NPdVRaUjR6TFc1TG5TaXNaNEpjdWIycEthZW5UM0tHSE83XC9zZTNaQXlnTHZyVkZkQ2ZLV1hVc09ZMVN2VFYwckZmM29xWVF0YlZrdjY4M211U3NXdkRKaVNvdXpHUjJGQWNkTEk0T3NxTStCRGR3eFBEUUs4ZG9WWHp5clVHRFlhN01BaFF3aGRGYUI2N2srSzRqREhxZ1B5djJlcTFVb1ozSldjZXNuRGlhempHQVcySnRLWERcL0REeGlycFgzdUNsXC9BNlNQQVB5WnhBcXZnalNHTzNRelhsZkJZK3hTa0JWOEtIY1JINXhpeDZTRDhwTEorWnIwUmxiRHdWSG40V2xVUWJrTkZwZ21UVFhVak93eTBHajBjcG9sb041WkE3c3VQdExmQmUyVkl0MjdIcm1HSFwveVpNVjJ4V0E1UkJwdTB3blN0Vm92N2tpWUd4RUpWdzk2enZEemVFY2xJK3ZGWXJiaG00XC9nTTBCenBvY2RGQ1BhK2Z1eFZNYkN6NVQwbkNRalZCZDVKUTByV2R1RnpyTTZqeGlWOG5ZRHZ2Mk9jcUtKYVZpb1FsZ2E1Z25Hb3VEbkF2d2ZLWHlaM1wvUWRhaVpIdjkzXC9KejIwTlJYSEM1dG1tVkN0ZXdiVGNVOHlPdGdJVnpcL0hLbEp6dFM3K3BRb3I2OGRLXC9JOWRSMlJXTzJJS05oYU9pcThMZFdzeHMrZHRVS2pUZFBtRE9Wc1NoZzVuOGl0ZWFYVUZoandLa2d3NXVKWnRaZ1wvY0tCRU9XaDQwQlhHR2hFblA5M205NnAxT1N5YkxGN2FTODNIK1wvTUJzek9qejhBcjIyZjIrVmgyWjB6TE5RTlJmSFFacE1heXNKTWk2enFqRlY4RUhkdFlMV25tcE9kcFhrbjZRM0ZCOEhyc0UyVVNPXC81NU0zdW9pclFEYVZLUFpndnY1NmNuNmZJZHRONGdxTUhKQlh3Y25WM1JnQ2Z3bzVcL2g1bnFWc1JBeUpuTUVyRG5DSEtJM082WGt1WDJDdVlYRlpCV1BqQm52cWlyOFFIMDE2NjRnRWp1UEYrR3oxUzVKVXdic0RsNUxZZ1VKYmViY0I1Uzg4Z3BxYVhEdm1RVEM3RUZ5YkpvTXk0MjlrXC9cL21mRGdQOUlJckx6Y1wvSE5xNXlGbFpBS1I0eklFeHBKN2xcLzd3emFoY1hKcE9SXC9rVlRDMUlTWFlDZFlSM1FGQTZSdzVcL3BEbkF1M3BXelNNZEwwdmNtaVwvUGhUUDVsMGJzUGpUaHFNVkJQcjZxd0FBZkhtaURcL1wvSGVPXC9NaWU1N21mNkhzbStkRGxkNGVrZVBBUHhOdlBkWTdIeWhTcjdQTlhxTU5acTRZRWhYTzI1MUVFdzBMcGxCK25NK1FJdkdoRmVhWk9UNHY2Rlh6RGVLSHFzeDg3MHpRd0N2UlRtUTZ6UTd5VThaa0VaNTJwMHhUMFFvR0FLRG9JMkxYV1BRMjRzWjhXd0EzWlYzQUhyQ1RGNzdTVE1YQWhyQkNtOXY4QWJocUdTd2h0U3U2M3ZDWG85Zytpa1lDRCttbjNueEpIVDdXY21JSUNCVmhDVlpUdVwvd0oyS0FrY1o2bVJGVWVlTzF6T2dXcTRJeFBLNmJUNSt5dWFWYkNSNTFMV0dRdFwvYmIzZ3hEK0dvSm1yZDRuTlhQZDQwZEFGdURPSENBaDJ3ZmU3dW9cL0p5R0NndlNIbVJPZ1ZSbmZNaXBtSktzRjFcL0RFRFJzb3krN3hSU0p0KzhFVFc5R1RRcVJMRUQ2ZGdRRE1pUUJWNmxUOVwvN3pybXhMOVdORjNKN2lCYW43cnhMQ3ZYMzRkMWFXUXVqSFUwNGZUbUpNOW95eGpFbWtsTGp2UHQwc0lkWkk4YlR1eDVaZ0J4NFBkRGhJdmV0czdkZXVXVFdMd2pnRjhvcTdHcDVcL1F1ZmVoaEhUR2tVUkNnOEVHa2NVeDRSXC9OU3ZyV2lPRFFwNnhydG5vN1AwOFYrazNvZ01kb3hoYzgwXC9jMVdLenJsSExaRjA0K3Z1NVI3dDg3WEhIekVDcVd2eFdpeXhLNkl1ZWhGWW82OE5ZV1dJSlVSMURLYkRHbUJEQndZam1xaGFPWlhTVHZCOFRIWExJbjJqMTk2Tzd0bGs4T2w3Z2J5Qk1BbDcyaHlwTlJmVG9nWG4wWkhOeFlNMmxiNHFONis3QktPZm5naVZ6MWQ1QmxIaWNxQUJTNXpwOXRaZjh3R2xhZTlOY0xtb1hoZ1JYdlhkdjl6WlJYXC9JbWU2KzVsYmdGNnBsVnQxbzJmdlwvUk9IZXorWlwvVEp4MmlPR3pMNm1uUjNVWU16Y2ZXOHI2ZXVpSE1PNmJERHY0VVRjZDhORGVJb1ZaTzZkSnliOUtnbHhnTDI5Vk93MHZyWEwyNWpiM3QzTTFKY0xkN3RWV2k5ZEVwcEFLdDdkKzVTdlRUR0pCVVM4VmQrQmx6WkZuQVBGTUVkWkcreWRBcXd1dWI4b3k4RDZjWmVBRzdlUjBYZHdtRXBVcUlZaHlGc1d3WUpTa0prU2xlXC9RSHZFU0xDeEp4bk1jR2tRZzFTc2JvaTFEb1pzNlk3ZFI4V1ZaWjdHOEh2NjF0eVU3TUszUVBiRkpxa2lHXC82QkYrV01VSGRRbkRsUFZGdTFzZ213XC9EdXd3RmlkOEIxS21TK1dSSE9hYW5rQlNZNmozYzBoWjlhY29IdE5SbnhnMkVaNjVHVlQzdG1Gbzc3UGxtaXRUazJUYlJpQklwUUZ2d3NoK1p0UEtYN0Zib2hWZTlnSmZuVmJKV3Z3ZytGRjV3dURXRVBqZmc0bWRFS3lSeVJsVXI4dGUxUUl3OUUweXJtQ09JSVJaTVpRYmtFR25ydDFNOCsxcGhoUFFtV0tUQUc5QVVRWlV4UkdXdmJJWU8wRDZlaVwvcWNXTUs2UmU0TFpHenIzQk9GK3ltemRkbUtJcUZ0TEtIc1dqS2w2dXFxRWpUeFRYOXl5OWllTFdFTjl3QWE0N0lJcEVpS0VcL0VXc2ExNjZZbFR3S3c4ZXdCVXZKTGtITGNYcnJqYjZweWRyZEZLc1VSQUpHQyt2MUdxNmh3a1ZSN3RkU1krcjZManBnNkpPQk1FVk1xMmRORDdEZHQyUDErcVB6cDVBY3NDVzJJOEhqU3E5bFwvMlZnaHVUaXZ0bEh0OUE2WDk5ejFVNEYxak90RUNDaHBZMzZBNElaZjljaEk3MEpZM2tUNHZ2SEh2VXBZdXBwV0RHSUk2MVM3QW44ZnNvTnpRU09WaXFKeFU1eXpZZVljcDlja013RGgwRWlsVzVkUjhWcFl1WnR2XC9oaFcwbWV4Z3E1NHdBWllwVWRWV2hpVGJGWElkQXQ3QjRGQ0tXNnpnQURaTlwvekJXcE9LczdMMkhpM3FxQk9nbEgxWWJua2hXa1czTzF6VlVDVU9XZ1k4bzNwaXB1bFNTM3VnUzRneTNRM2VBbm1JWUpqQWRiWDk4a3VyeFdrWFEwVSswM1FJbU9JMDJqczhpWTgydExyeFBpUzU4YXdOWFE5ZnFzOWNFZUk3VDV2MTM1NjBhZlRiVFo2OEMwQ0hCYjI4bWlickxjRHR5TVVybENBWFFyaThhcVQ5Z05LMml2MHlCYzVtdFdlTUhLTWxIRFlzRFVvYUdpSmpNUEV2OEZFSjgyeWZsSWhOMDE4NVNZSFVwYTlVN3NBS01wZnV3ekhIOW5Td3JmQXFKSDBqSDVVRGtGZW5nd3o4YlRpMVRIU08zSUJzdDF5MVJJdnNiYlVtSkxBbjNlUkVJMVhhcU1XZWIrc2dBb1wvcEV6SlpOZU84SVwvMjlSM1JGSW1XeDlMYThFbVRrcFVrUFE2Zk5GdytRYlwvSmFINlhQTUVVYUJcL21iMWtUSlRDSVY0TDdRY2REbjhqT0U3UkZkMERIXC9tVWlqVFwvNHd2SGFWb1EzNFwvamFXZVhmYWVpRktiN1JQanBOXC9PaytYQmpOTXVGbUE4MmNnMHAwUzJBcmVlclcrUjF0YjJBRFkzN1R6OENqR0dTRTFxWHdCVUpaQlwvSlhoWlNlMnlOVjFWN0RRMUtKNDlQR3YxQzNsM3Z4QnE1RnY0SVpta1Zqam5qVmg2UTAwZ241XC9VYVJBZWxvTTZ1cWRZZ3laNnJ5VFFaaEhhYmJxTDUyeVJncGtJZkpTMjJxNHJOcVpcL3NMdmFyZTJUUlVON2hMVjQ0ZTRhb3FLYlpIT2dFMkM4KytPdjNqYWUrWmd6dWdTdERRazVFK2hJVXJuVGR4azdDcUZSRzduNjZ4VHI5Q25qZnNrbkErNUJvVU9YVHZpVWdneUR5WU5BMTYrK055NGNLSW85bTViUVU0T01PUnBZa1pmXC9RVE5RSzIyZkVhUVluMHQxZE1TbWtjeUl4QmhtcVE0T25LaUlVQTVteXpWVzlQTlplektuUDZXdUtEQ1VKalVtSW8zc1NJREJEXC83dW1IcVd2RVd4RkluT29hMjZGa2xpVEkzVTN5REJlSHRGZVg0bWJkdmEzQkZQSnA2TzhKYzBjRkR2R2dnNGZIcWNqb3RwbHp3dUlpR1dpemFZYmZQZEZHZFRFT3JIWWNmeDdheDRoOHM4TW5NYTdLQlV0WE5XeFM1dDViODk3T3FSNStQQXBJciswWUQ3RVFLeFV5V2RSeHM2ckRRdDNrQTdpblwvRDQ0QUxoOG9nckVma3dGXC9oNkVaQ0ZwZE5kYUtJREIrbElMQmpVTmdyTUZ1QTFoOUk2Zks0MWZzS0pNczBVMEtNVUduQjVtRDl0Tnd0Nm52VlNQWjYxcjBtdjV4UFlSMlloYjlhd1hmdlwvbEV3Qm5sVUdSeWN5OUFDSjdWYXhGcllRcENETTh4anc2MFJDK2hUVmZtekxNTEtUUFZBTWFPQ2VNZ09wVlNaOUNRRnJtZlpEWFVmN1dHTU1KRVBqdUlhXC9cL05pUXFkZURtMGsxMW5hUEgwMFJJMW5kVENyNFNwSjhvK1g3TG1QQ214R0VaK1NoMHZqVk01aWZrVysrbDR1a0RQWnJ2dCtSdjZjR2Y0MmV5VmtuZXhjM2tcL3pLSXl2SGY5bDVMd1pjc3hpdVwvc1F6N0hNeGpxbGJ4NnUrM3g2aU93bGFKb2pvTENGRkl0R1Jkc0RDdkxiSU9vU25ISlJob3R0SXpOcXU2MWVuOEJlcnBcL1BUOFViVEc2ZVhBRmd0K0ttSkVDQmNMZUVxemxiNHB3eGdmYzRUa1lJZnc4cDE2VHUrQmhKekQ1eldNK0RHbU00MFI0d0J4d0VlV21WVCt6WVp0K1lyTEJlRFlIMWVJWVpDdmVmamZVUjNkd0U5YU8zZ0E0YXRQeEc2UkNzQndpMFJrdVdINjFhZmQyeDkxWnJUQzRMcWliN1pFUEtUZXUzeGVPSWtrQ3EyMHNWdkRuQWhSYXNkZHAyK1NsTWM3bjMxc2hORzdFbWpjazVTSXFKTEViSVQybUZUaVZSQjZ2NU42U3dseWdMbHhrZjkrdjBpVkI0R0JcL3pWN2lIVWFPOG02MzNEblFUa1dCNENEK3cwSDR3TVRlUFd3cG1TVCtVbWhRQ2lEekNza2s0a1ExYjZ2eEFtZ0oyeXU5bmFIT2dcL0dOUGZSdWxITXJ1NFo0cGo4Sm5RTG1vM3dPTGRZT3ZSelUxQ2o1dHdyME9DaHp4VU5xMVUxcjB6S3pnczN1Z1FBR0pcL0l0WjFIZ1RmTUR1anEwdkl2TW1LSVwvQ1hUQ2t2WVFKQXQxNUh5eTArU2dsdzQwV3ZKS1JtMm0xNHdUTXZHZnViQzk2WCt4Ukx6dGRxMVJDYlNKQjNKTWtIQjBrUE5XU2F4YmN6V1JtVEkyazF6eFo0b2thdmJHMWh5Rm9mcUlTa0F0VDdUcENkWkt6V3ZsRXRDVkxrQU1SNFZ4TTFxeGJMNEtMUVVVS21aSElZRGdkRWlaNnNGbWhDWTZUak9mU0xCaDl2aXhhVFhINDFhalVKQU4ralIrTVl0Y3hsMENKd2hNUmV6S0tNUXlZOWZjYThOSVduMVhOVWZSOWYwd3JrQ2p4M1NRMHhFVmNvQXNYdGdFMkpiNFFMcWlrdjFiM0ZzbXY0YkxLd1E3QzlwVmk4SzdpM20wcG16NVB0M2dzaGJpXC91VzdiXC8yWkxIOUZiVlJIRklRR1l4bGxqWE1uajJxa2N4VDdpMVZCbkEzZmFcL05PbmFPeGI5MEd1ZHNzTjZnSnZqbkJhcGc3S29ZWTg1R3duRlg1WVpOVmk1TmlFWGE5T1paUzk1azZ5YmxmUnYrUXB0Wmx1M0xWU3V2QWFmRjM1VVhkTmtjZzg5NCtQcmRzb3lVTkg5czExNkJJUG9pZGhqdmtQRjdcL2lJaUVxM0t0NzhoOVdMYVZjMElseU1FM0paM1lPWVNyXC91aHF5RStJbWJWVzFFcXhuZlwvUTNKZkUyOCs2U2pTMmRiY2RaZWZFRGRGeG5uQ0J1NWNwMk1QTGlRVUtsbFFoRUp2UW1ibXZ6dTIwR0VsRElBREdcL05XXC8yUlgwUWdpVGx6b2JoTzVQZEVrR29UVXIrVVQ3dlwvbWVoMVJ2dXVDRzdJWEVZR0t6QUZGMmVyS2UwNDhmM1wvXC9UVzJ1Q29XZFNCTEdhd095VEpQenRVWDJ1MFVpcmpSNjlxRWVyb3p5VENYOUFMbHc4QjRPZVFSSGlONnlIN1pZZHF2akt0RkpZY0JEd012Ykg0cjN6dGM1YWZtYjFwU0tPaStcL0EwOHhkblppcm0yOTNsbEUxV29wMHlcL2M0ZHBENTI1NTREbnJ0dFwvcXlQMU10NW05K2FMdFg0ck5EaHVPcjNcL1B4ZHMyQXExUWdvZ1pKVWJWNTh5ZlBidDh2cXRkUTl2Uyt0XC9DTGY4cjJ3TkMyckRLXC9yQ0F6czQ2bzRtTGd2Ukp5U2RNZk1RT0ZPdnlmb0ZEVko3ODAxbUFPaTV0RlwvTTM0UUxhZXd6aUZ6N0lBbzY1RmRST1pcL0J3TnVqZUEyak12T1BiZ1dyQytlUnc1a0R0ckpBWWhqbFJJVFgrbW5oK0d5S2NhVUZYZlE2MGs0QlE4aXdjVSt2cHFjQ0Rnb1l2REYydWhHMjFwamR5MjVZVGkrZDN6QjB4Q0s4emljTFBuOGl2b1p0RE1ySmJYcStaK29OcWFvMzMrQVRucU51SHRlUmd2VFwvc3hPTWxWaDk5WnZqMG9wbFFhck91THRRSStzZFM4K2hzaUNBU09wZkdzcmVYV0JnM2s0VThXYURMUW9ZaUlSWXN5dlhmcUxNTWhhV3FhQm1XbzJTWlhvcUxTM0lJUURVVWpVUHlsTnEyQ0JZUFdMUm52Q2VRU2I1aU1hZ0IzczlQMnVXd1o0VVdOSnd3b045em9qTDJ5M1hxVDVJWWJhdGhKak9Od2dXVmdRWTZIS3J2Vnh1R2xoZGlZODNUZEhkNG9NVG5pRjdpVzRteFBaY2NhU01vOHoyMXBubGJmbVpYbmozWHlSRW5HOU01VzQ0QlwveWJueFVTaFNNYVNiWnpuUk83aUdpUEFXRGtGaVwvemdFTjRsMFQ3VDB2YWlPeXBNK1ZheVhtZ1wvc2M0ZXp0UzVpdTJodlp3eitZTGdvWE05bHRUb09STDJEVHJQbWdyZU1VNTJtVlR6UDZQSjk0enhMN1NhY2QyRlc5VkhuelM3XC9qZ2xVT0NaUG9JOUVoQ0tjRDFoQjJ0dlNxZXZRQms5MlhXWDlZaGV6WXNiV3NuNis4U0VCeWRFMVRoN01qbjZVV0JcLzFQb0pXMjBqTDlmTm5TSWRkMlF2eFwvNWNRaVVadVVUR250cWhcL21OVk14TGgrYjBVbGNCY2tpMkJmRE41Mnl3bXM2VEJuU3hZcGdqTEhvTjJ6Um1jYkswWnpXZjNUTEtUTGhxVnlGYVlhb240QUdwbzZBbzdqYWdLWG5HSGd3NW1vQmE2YzI0TnhcL1NYZ2Q5XC9EMEtcLzV3ZzI0S0lZZGNySlg4dDhqUGM5QlZmSVRadEF5TEFcL0JYUk45RnBpcjlmeWRWQm4rb2NveThLWTdqcjF2UmRmc0tiQTRtMnNZTnd6eklMUkEwWVBRbHd3anJCOTlnQ1Zjd3k0Yk1SOCtRb1wvQ0NCWmZwN3ZqOTBiQU02bnR3cUFjS0JGU0l1VDFNM05MK3RadGFBRGtKUkkxMWlCTjE5a3pCMUFVVXZtN1A1REFJZSt3XC9Iek9QTkZ6UURcL3NVWkhiWlBuZVhnV3lsNWF4WmVkN2ZkNm5zc1Ewamt3QTE1eXl1YmxlYmhEcnp3K1VZWmY0VDc4ZklIQnVtUlNXVnV0N1N2bzBGTkRVMVhFNnh3Q1puNzFFbVZxdEczSWxod2NcL29WUm9vcjc2cytlT3g2NmxmaW10QkEyT2tpdHBYbkd0dFh2ZXVCY3lKUmxxRG41aWNMakU4NGFvM0laY1BLMkp3a3VKZUJxWlBsZnIyZVo0bjZSNmgyRnl0QTkrSXI5cmZXYWpqdmViQVZxTnlJYlhma0hkWDMyVUpJMFB1R1V5Qmh6SVR2TnVwanAxYXJjVGMrZ1VieVVybENcLzFWWXFveFNiSjAyK2wzc2JZdGFcL3g3anNXN1NmUm1YOUdGN2xXNkVxUlA4Ym0rd0xsdkhXU1lEUFMybmY2ZlRXYU9uQlo1Mm9udEVNV3NKRGFqTGRmUXYycStBWWdzaGdha3NET0dNNGorRWU2clBUd1crazdQeXdDUEsxTDN0dmZBV3EwM2RLU1I5SXRxaUhzeXJ3NWxUT05wTUlJYjNOc1BTVEdzQmM1ZDJPdUpMblBNYWNoeEp1M1wvNHNMQzVmaFgrd2I5Ykh3NmN1RnViXC93VEtTVlRpdTJzNGNTR0VBR1ZqSmpiZnpVUllrZFFST1k4WGNxbUlyZWJjVjZEWlpsMDd4RmFhRnVhS2tVMHZcL1ZKQjBSV1BHUHBBekVCNUY4TWNhV3MrVFpMMWdHeTRybUFxS1JpNEV4K2dxekRwNXdVTWFUNjIrQWRGT2RIMTJiTVwveG0yZlR0RUlhZWdURERUVlNZbHdvY2ZsMFZVc0xIa0YwdFhSSVUwVlwvWlhiUE1uQ0ZcLzh1cnBMWU5aRnY1QWZQM2k1a2hNaGlmYzJPSVdcL3FlU2JJWUxBR0lWRFpJbUxaNDYyRXlnajhtMWptczNKcDh3eGFlT245R3E1anJxcVwvODBaOW0wT2N6azJPNUt6UXFRSjRQSWJ3dE9UajBUZ1I3M1RwKzVvbGpGb2RFVkVkYTNQemxoVSs5WklmQWNNV1ZVQ1wvS201U3F6ZW9vUmJoWEFXcnQ1Wk1ZaWJnUnVVSGRCMTJxdHZuTk9ZT0hBOVltekVWVHlxUmpkSldhTW9xd1ZQSFlWTTBPTXVkSjZjTndIV0I0RU5CaktibFZtanpXNnozVHNcL3RkWTJseUJ2WThFNmRvZGJ2WVFLMXkwK2pUM2djaFJiOURMSlpFMlhZWkkwOUw1ZVMyNHdlbmpQUmJiS3VldVEzM1NJbktlbHBLNnZ2Z3pyRlNybGFlemxwd3dkb3ZjRDNUK0NPYW1sdHZ2czEzc2tVc3VWbkxtTnpybnNaMGNVMHZzckJod29PaW1MbnV0WXZLSm80TmNWczE3MndJcVVJVmVcL250NkdCVWM5bEI1TXdrSHVhUEwyNHNqUkgyZFo3NjltcmxYaTBveFY2dWc4SnBMSXJ1eW9ibTk2Ynp4SnJXWTV4XC9yYWlIWW03dG9WcVwveXlVUFRGWkZtYUVCTkJ2Zk1idWhQYnZcL1pmU0hvWGxxa2c2UW9laHBSQzJraVh1QUhTcGZZS3RoN1hHcVNzazRFSUl0S0owVVVxY1htallLWDBVd21pa2p0bFwvSHo2cVVZSkt0Q0pBRkk1T294OFkxZXhQQnBcL2VNSFJhTFJleVI5YU1oXC82XC9JeFR2MFNvZ2Jlc3VEaVVocktaYks0ZWVaMGRiRzlIYVdsK20wdVdic0R4d2p1RXVtXC9qZmYxbG9pQ2pwblN3ZGN2M2RmWFJmMUZcL3ZpcWdzK05UUXNFMTYyUVlzNmFYWVU3aVJCRDZcL1l0MEpVUTV6VzhGWnJOVm12cVpvU3FvQVZsNW5Ib21COGdcL283cDVBNWc1TkR1NlJrNFVRVGJcL1k2c2VqUHlQcmNpdWk3Wm12UjJvYXNBS0NrN3prTlc0c2pHQXJQY1RxVjFoeWhvMnhzMUVnM1BoNTBCMkVGTVVMSVZ2aFdHcUFzMHo3N1wvVG13WWR2S0ZiUkJcLzRQWHRzSE9oQkl2b094TEUzXC80enhrYmEzd1ZhTGVzdDlwZndYUkpoUWk0QlpFajNiejFpTDFpajN0YlpiUU4wb1RicXVCY0lISEVlamJZcFhOeW0zUGhPT2MwN09KcUtkU3BaOE5YR3FNa3l1clpcL21oSTM3WWpwRzlUN2VBTElKb2ZVQzh1UjkrWGNiMll5aGplVlhVM3BhYWxyRVBDc00zc0g5dVk2cGxjc0lDWFVweVl1dmZSWnNcL1ppOGFKZ1VZTThqTm1hZkxGb0pUcnZoT1RsWnJVbExZc0paTEs1YTNpcjRFeEllQzFCeHIyNHlOdm1GUVR3cmFtTUt6TUJVZVJPTUhxRk91cExHMU1tcFpqWXIrb0VRaDNXbnk2M01tcGY5MkNDdjFNZm1XQ0kyS2ppdUJPZ1lCNFB4c2hKQjNKSkUzZHFacitWeHRqdnpZcVpkM0I1N25LZTJDZHJTYkRQS3BrSDJRa2o4VVpDVGxNdVVuQzRBVUNnSXR5a2tSQlpaekdHVHJnOElXZFJDVTg5bU9mZnJ3RHlMckUrR1EzOVN4K25KUzFJa081NnRBbFM4b3ZHNjlPY3hObjdrV0VwZjdlRkNBbFwvNjFGNXBKZ01pN3dxNVo5MFRtWTFrMmk4dHBIbWNlOXk5eFdicjRhaE5CamUyYjVEZEd5UW9rVWE2VEpcLzhjeWdmRFpwUHhtMzN1VHFtUlFBOW1BN3JFVE4xbU9BOGIwTVEwNTlCYVpFWVpTaHQ0XC83NllWYUlGbDRPN1dnMnFxU0VWT0hYRUZsUzRGamtMaEhyWlRsbnd1NEdXeEpJTXc5bHBoRkN6eElRcHlDOENpXC8rRWc4MW5BQkpWdm5YVlBFa3F0cGNnTmRuZWRBalZMMEl1QjZFajlzVUY2N1JyMkVWSDViT2lGV2trbWpVXC9abVJ2SFFlaDRmZ1Z6R1hvMUlzTnR5dURRT0wyVG9EQjR2aXJVaWVmWUltVEo2MzdLcXJWTDhoelJnZHp5UkdjWWpEV0lNXC8ydEtFSnh5NGVcL0VmME1DZHptVWZ4RzY0eitCVkZsXC9qT1JSY0JFcDRhNXBrbXZFWnFGc25JbEJYQXRIMCs0ZG56K3dMN2Z2VXdjSFhnK2RTU0hic2s5QWtkZDR3NTJvdkdzNW90RFVySWc1ZHBoajQ1T2wyTmFaUmx0RVlmYnpabmVUaFRibkszdCtQUXNZNWVtcnhpXC9IcW5cLytpTHJkbzBKQllQWlhnaWlzUFE0cFwvbXV5UWFJZXZzb2tVcElGZmFwWGZLdmRJTnl1WEZoVDBGb1ZVVHFEZWdPODN2eXc0UHAzem12aWhPcUN4Q2RxVXM5OWFOT2VwVVRWT0tMbkJ5NGJlQmpPb0FJSCtFdWJpckhcL2VFNGRkTzM2MEdCS0hIZEsxb1lTSmUzd05Vak9BVFp4ZE9uZlZKT3U3aUJhYUhhNVIrOGtuTjJkb1Y5REJsYVhOR3lHMVlVXC9YajdJUlRtXC9pWDgyZnlzcFNJQ1VkbzdYOVdQbkdWV0dra08reVFQSkFiQXNhUkZ2OVo3YzVvU0Vxdm9rTm5VTlR1NDl3OUYyUzl3N0tYOEk5dlpQY3BjVFNha21IRzZBTzI1TVRJcjlxNXZQbTJuekIwN0VnZVFPV1dvRHFhMnhMdStWTEFpT3B0eGlBZ29OMjJDSFRZbis4WlR2ZUp6Z083MjZwcUN4cGpDVTZocFBmZ2hMNWJDOVBJREVoUXpDZDAwVSs3OEUxWmpLc2VVenFLaXhHRFFVWjE5bmRMMTQ1UmpKQTBtZG5YM1I3SmR3MDR0b1Y3QzZIUlZzRVJ4YzBzYmhnSzZqb1BveTR5Nk1xZFBvTTZtMGxlR3Q1eHVFS0lNenFVSVR1Vitad3dPeWlKdGtjdkxKNE9vY2xGTzVlS3hqRjhZeVFpZFwvaFNhNnhra2VNcHM5ZkRhS1wvQ1JqSFhJSFdzckdadWNzTUk3c2xpZVhMdGtTT004MHA5am5ZdWFYWTQxQWVKTWZqSTJoMHc4bkM1ZEcwQ0c3UVJxXC95V2c3N214NmZNNDVhc3R0QXViamtSZmtzMnhcL1Z4Rmt4alpwb213SkVGcnFFVFBMcWZweDNoMG5IOHZFVDlDNWgwd1dzM2NhS3FzZ1wvQzJtVXFXZElzZ0RpNjNtR2c1SmNPWVNRVVIwaUkwakVaaVkxWCttZ2NEMSt4WTMxajdjRTV3bFM0dkVXMlwvSFpheFY5T1BpenZKaW1FajZNelBOVFlZY1RCNDdEcjk4XC8relwvUVZCU3VITWZPcHNCNzNXUnVSbzdUXC9YZFIzQ1pmektHVEZYWWIycDM3ZUdlQzNzTUhBRmRJXC84VnkreVA5T1Rqckhqejc3XC9oNk55eWI4SjFyMGlTU2lhYWhoUFY4ejhJd1E1cG41a2VTZnR1dFg0bHRHMVliM1QzZXFPRER5bXVhd1pxdmV1UHBRYWdjTTlvWEJHTnRtaXkyYXY5SDBoUHdCZzRWYlFSSTZ6cm0wWGJWRE9CMXdwdkhnV3lsZm45b1Z3Mk1OZXVTMEIyWE43Tk45akVGZ29Od2d4MnBoZWtocVdXQyt0dVVGVCs1ZkN2dm1uVkRSYWtMQ250TytmanRcLzE3WjVDc2JXZmZxcEJzVnJhTXNhUE9XRnQzWlcxU2dUNVVkbzRuWnZybTIxK2VBZTNcL09EMm94MjVEc3p3ZjNTclhpdWFLUHMrbnpQdlkyVFhxVjJ5T1FUdThUYXVXbU91RVk5dDRFc0NkNzg1aTFITnEwMDQ1bVozWjRpallBR29saUhhaEhObjFvSmF5RkR5UHVSaUVQaFQ4OHlXaVE4MnhyREN5bHNZWlRBN1lHRkNubEN6VExZRm9jaEQ2NHZXdEdcL3RRUGRiY1ZXMHNiY1NvZ2Q5ekJTSTlmR05hMTE1dkhXdXJYNzViWlwvZTl0R0hLVmRLY24ydFBRMlVlOVJiR0tZOGVjZHk2K0p3NmxLTHlnQlByeEJ4aEJFVkpkdFFkVmNObjFPSElOVlVwc0dwOUh0eGt0TDRtNEpqVUlVTU5LWEZWVFpWYVRrWXJ3R2xMXC9CRGpPYkVTeUo1UXMwUUJkaGhYditpcTRoR0ZFNUx5TjVEcUlmU2xYVlNhaWFodUp4V1RHdEdCRGt3eTQ2U0ErbFZRVUpvaldyOVRwQU44ZkUwZWh0S3dhN3VxMDVmZlB6VUdrU0w0eGJ4T1dLVHFLc1FIQ2xPZklLVE1GY0hmY1ZDY3dPZUZiYzhxeGpBbHNma1VFTG1UZVVOalowQ1g0VzFSRnMwaVdcLzZcL29oZU5McGJ3SVpXSEN0WUxxS0JHY1I2d05WOWx4VCtwWjdCYjNnN0s2TnRFWEYxdklwN3oyZVliN3lyKzRmTDZrb0hVcUc3MEs4OVdrcHZRMDFReFhsaXJQQnVvZVU1ODRFMTMwWVVEa0x1U0ZwMVFkbXByVVp1SGtDYStmXC80Sm5MYWtXYVRRVG55Y1JySVUzT3RJeVRKU3F0bUs4WElSUXdyN3F3NFB4eGlUZ29JS0VvQ3RLVnNLMDBqc0lrbm51bDVSOUc2bFEyRFpZY0VsV1pCaTRCWStVdUtcLys0UnBUMzdFcVFGNWlqNksyTGdlbDZyeE1VUUNVK2p4U1JhS2JUckRTXC9JUng1cGFiNUttQVQzQkxqQjgzU2pKQllRXC9FQzNGOG9BK0x0YlhwaDA5Y2pwZUpJZWRycnNwTlwvc1Q0ZlhYazVQSFUyTThOaHI0WmFmRnZkK2ZuRkQ5bjhkMTQ2a1g5a2RcLzk0Y2h5UDVrUGFQRjYzNU5cL1pvQjFpQTFxQldmc0FHRk5UYUVsZFBiYkpuRTljWDRlRUNcLytFV1RWZ1R4QVA2NGpQVlRZUzYxMTlycUZVaXJ1MnBKc0FGWldlM0JtT3BHM1dBWm5UTHpOWWI2MExFMkhMU282QWJjZ1lKMUtUV3ZBSHZQXC9ocmRLdTZ2REw4VElhazhaZGc1cHBPOUdwMllMYVQ2S3NoK2FHTCtieXRLUHVHR0ZuMFl3YjJmY0FDV1BmR1BIZEU4V25XV1dLQk10eTJtVE8xKzM4UmwwYVBXMEJQNWlMclVxdDZka1BPaW8xNENHV3VKWk5RRnRvUWF2SytSOWlyOG41SUFJd2RXYURqZlhEZ2RCZ2xxcStVUTVVaFcyc0dqWFNDK0h3dmF0UlF0VVdNMXQ3OG9US0NIRG9SU3Jua2NyVEc2djR4S1VVU3BwSVhucUQ3aUNvUVh5OWpLclhGV0ZJVjFMNG0yRWswWXhHZWxRbVpHRXlIdHZKXC9BaXM1YmpkZFwvTDFDWlhHWWFEejJrRXFoQjQwQ1RBU2ttSEtOam82bEp0WDBMdW1Wd0ordzBwQ1d4Ujh5TEZaT0p6SU9JeVBhbzZyUWtjXC9lcldsU0xibVpIbUV5RHREbFwveGYxVTJ6Rm0rT3hySHJiRThUaUIyWW1KSG0wTFFQc0pVZStHN1dOOFg4cmE3dU1Ia0xBS21sZzA1eExFdUZ6NFB5d29ZVFlWaWZoc0ZZUTdHR0NPS2FcLytGYkV3Rmd5elpyZmQwZ0dlNXNxcjFLZUxNeWVFS0RaQ213bmJsbjVwdTF6TXJveWQzTjU3dm94bW5tK3lBK2FaOUxxNXhQSGgwSm9XS2RHM2g4YVFLTkxRV0w2ZGlCZVFnUTVKckw0R0p0SEltMGdFazRcL0lPXC9ETW9xNzBPQXZJeFRzWUtJUFZCNFZ0RmhkMnN2R0h0NFhUTTZ4S2NYNGhNK3UxTGxrWWxYZDVZSUtMYWxENWl3bDlPdDdZNWtOXC92Y2tQYnNJNDJ5OFUwNEZWd25uelBOcnpKUEVSUnZ0cVBQN3Fvd1lFTllwWGlMbHNUZW5lR2c5cFkyRzU5ejNJYlBIeFlPMGI2eXJ2azhJTTVNOU8rZHB3SHF6TzRzdnJINDdMWHNYb1c0UzJuSTFYcldIQ0c5Z0pQbGhsK0Fvd21KYnJQemNXc1R6M3RYZTV6SlwvV0s2K2xNZ3ROWkhZdzJtdVkxbFhoa3dVZFdza3ZyeDJwc2ZZWEpLTE9BWDRwN0d2cXQwXC9WVGp3K09ONXQrRldab01MYXMrZ2FXUzljSkRqNzRMVlpVK2hSdWhwcEErVEM4bmNHRlc2Vm1xdEN0RGYxOGVSb2M5TXA2VXAzWmY1SG9tVU5RTmxMQWYwakVYd0tSeGNZN3pubktkaTJMdnZSYXBmT1hXOUM3RUtXcE1KMGxZaWFzWkpTQjlcL2NneXdUd2QwTG1rMFwvSVNIV08xV1dNcE1WUG44dkdCMCtkSlI2ZG04UUliNDRPWndlc1cweVwvcU5iY3cwTmJCS3g0dGppNWtjakhEVXB2MzBNQlg4MThUdGMzTEdxaG40R1RIOEp3WUs0KzVMeEcwN09weVlqa2NycmdpdmxJSlZCeXJwTnVnT1g2UCtwN014WTF3S0Z0S3czaGpZRm9wTm1mRHJ2Ym1Kd01lUXFMb3k1SXhlcUs0T1EyN05SS3p6Y3ROTHpKbHJJYllcL0FxcW1ONW84b0Z4SU1MVFVXVGl6RTl2K21SeU1rVk56TG4xczhiV3I3TEM0amtLdEF4MFdma1NJejg3MG9jWmlqczcrR2NiY0orVkVxbjE3YTZSVUp4akZheCtzKys1OGFWUjNEdUJMRnZGZElPVmdOT0Z6VTUzZEdWNDZIVDQya2U3c2VxZUd0R0V2MmdUK0RRYkphaVhkbUtGWDYyamc2a1owSmp1ekZwRjNZZFZocWVGdVwvdGxEWG14T2ZoS01odVkydjBVakhlTEZBbWljMFp6d2pYd2dZY0h0V1RZYmpNMnFhb2MyV0x1VVRkRmVWeVRtM3ZrenlVT0llSjV6Y0xQRWJwaUVlWXRZUDlHbWRsNU1BT0o1OUUxSDhEdFY2YnRGN3hJNkdEclwvTzFUWWZ6R0pSZjdwUTlkalwvb0FvU3lHbUdyYUVxdE5PSFVaN3h6N0JDQTRScXJtclFieHg4UkRGeEp5ZVZDU2tiT0lQaUJzQkt2RTVyN3JZN0NRREI5WVdvTURNNHRCRVdGRTVUbzZwTlpCdmpRb2haOTJvNW9QS2o0SVVQa3diZVwvdFdwNGtrbTBPSWhJeCtJU0V6dkRENkZuaHdZUmk2VWZWcWJqT2JGNHpxbnZKanIxY3ViQWxWRmxTTjU0YTN4VGczUFJDV1FJMFN0VjNpVllaZUdoOTZmcUpaMlJZeEJLeE1qMmpzNDduQXNvbGl0YW5nVGV0SnRoQzNGVEdRYlJ4a1JPWGVLYjVMQVRnWE0wSitBaUQwSzhuMmw0UjMzaFQ2RWMrVThncE1iTWtIUXd4R2dNYTkxXC9xQzkwcjNvcG16WitRUksrSndoVWM4UjRyaFpYdzVvV0RFc25qNzArc3liQ3FTVUhwblFnb1ZRYlpPSWhxWEtMNFVxVU9wQjJMQWdoZmdLeElGbUtZVkF6aTVRMDVDajVHS2puOFhBZHNJQzU5NjBVQnBXdEtsQmJDOGw4Nm1YNXZsNHd3SWtkRmtVQUNETk9SNlp0RWxIN3o4M2d6UmlhTzN4dlErTTAzMFk5dDBTM2JGc3Zyc3BwUVRQQ0lBVmxuR3hreGtwREh6aVZOMEh2V3p6cnRmMzdmd0VvazlJclVEWGlIaEozMEVSa0xrQ3JrK2psQVd6SU1IXC9lM3gxQzdYakFEYXdCMWs4YXlLSDNRUUhzUFwvUzZxZTA5Z0tvODF1Vk54SG9mRGtGa1dSNVExN3hNSkJDOWMwNHpqZ2MwMUlNVFZrVzdcLzRUTmFTY0VxNmV2ZzJveExkQ1NZSUJkTGgraFpRaitMYlwvSWFncWhQQnRDSDk5S3F5MFwvRzZTY1VXZmFxdVZLclFwYWhVUG1CSnA5ckxERm9hcU11ZkkxeGtqTG1qRWZpYUNvaVNOZ094N0pCQVhwR0U3Q3hRRHBuTzRXVzMyaWpESUs2bjFwa1pTTEp3QkVyMXFMTG1XS3NLVm9QYkJHTGtVTEphY1lsbDJ2Wld1d3RwTnhKOUEyOVwvbjF1UjlMbHRacU5iK244RU9pNk5zejJPeGpCRnJWSlZCV2p4N0tUZmVrS3ZPSGYzMUc1dEVcL1NCMFcrWUc1SjRsY0hFZ25uSiszWjVsV09DbDZaRFdVc1BCUEhCQXpWUmxFckdabnMwdlFNRGtOMFVuUXJ1MVwvMHhsaU9idEg4M0pmNDlmT3U1eU1DY2w2OThXQkJxWnFCbjZrdW9XS3NzQkJPSWtKM0VGZEs1WjgzVWhabHBpc1hFazFjWWVuVmh0TWc2VzJ0SmpMTTA2aXVDV3NNdWhQVjQwd1hZZXBCQ1BtVzg5UXpnWjVkalJuQWRCZmZ5YzMyc1lRMFd3amhnWEFVMXl6UEJpRUZscE5KdWFZeW1uZ0k0empGT2NXVngzcmJUWDZCSjBXMjRlUFRZbkwxbTBqcmNlakdpeTI2XC9vQXZoNHZpWWRtNzRhU0lVbEJHeWZ2TU5rNjJCQ3lBRGpSdGpKK0V0eCt2Vlp3ZHZQRWtadFVoaWUwN0xFQ2drU2pBMk5EeWhzR2JqQlpoYkxzTFJKSmdIUFpqejlVeXVEa1dMXC9MUzRONTdUYklJN3R2a3RCZ3NwaERKakpmeUY2K3JoNVdmTDZNWmZOazI2M0UxYm1UWHNaZTdrTkMrOFhlVjJZa0cyZ2R1aEY3VFlyUkpudVwvYzJcL0hCeXBjWHNDYWFuVVwvaTNJaXlqVVVBRk5VUGIraUNQMitvRjRrcFJZSlFGMG1iTUlTcThkNTlORjRHRVwvb1FQZmhiODRQQjk2VSt1NHJJbVpcL2lcL3Z3WmQ5YmpNOEVLV0d1MFY0aVhyUWNweG9zOVk0TXMwdW15N01YRGRjUmNVdXRzaWRTUFp0YjhcL1BQNGpcL1Z3XC9tKzloTDh6S2ozV1ViZ2lcL2ZaZUt2K0VFSzdoU0dTMlIxZWFRQmtyVkR1RjFKTmJRMkNSSXl0ZzJtWkZrczRMT1ZsOElXU2hrRWVqeDdjYnFEWkVNaVVkUElTS0I0ZnBWY2NrZXZyUkJoemtkc3JFR21WeFo2VFwvWVB1dkw3M2NWOW5PMEVWWWozbEpVZE5WdFN5VjJHQUtnUE8yQVJJR3JjZW4ya2xrcGtyb1dDcEhqVG4zQmdHRHVVQzluQWhLNkp6d21YRHVRME4yRkQxekFVMXYyNHMyVSsxWEo3QTEzQU92YXllajVYVUdSeEpjend6a2t5aHlSVlhKK0NrckNwZE4xdVVJVk9VenBObWNmQlhSb1ZUSHBUVUdudklZWWVBVzhZdkdoT2lJOHNQZnRKdTVIWSsrSlBwcUdxRjh3MURcL1lPdDBEclVxK1pXWWxkMmpaRDlsOWEwcit1RFhkZyt2enlGOHBwY1I1bG5CUnVCT1NqaXJPeHdBc2k4S3VzQWl4NjZTVzZSN0pNNnB4UnVwSjl0QklBemRLTVRleGhvcDNSWnFnUTFUOWtWN0NSbU1nVm1TRVp0dWJjNUFMTGhcL1VrQmc4MXVmYjdEeklLRURZcWR6VVZyaDdlZWhOY2lYRDg3Tk5hWHE3Rnl5OEV1dHNNK0dNQmF3NlwvK045S2RXQkpMb2dNblFnMTh2bzJEdXhQN3cxXC9PemYzeXdcL2IrcmVYR1RHaHRHcThkdEFqZGpPckUydDNGMktJYzhwYzRsbmZtWUhJRHpta0YrenlVamttTEtiXC81Tjk2XC9UZXdUTFgwUndhaEpHY1lOT08walpyWjBEWUl1eGNCdjNWSnJVQ2NSNUowYlNZcUFMM3RzVEdKbU1NQzNsT25VTVR2YmxsZXBoUDJxdSt5MGpDWFI4Y0JTdDBSdzNFR0hVa2d6R1wvYUZrZDVDdzlTVFwvZWhLWGlWemY1dUY0aWJiNnZoTUFwbSt4VFNTN2RxRVwvZlJ0K1l6OWR4WlNRclVTTVVFWVFKN05qam1yaGNYbExXcExGalYxNVZjTFdJekN1K25IcHBLSXUzOFdKbkRkMG1ENDFIUkFVMGJmMWw2QlhPTXIzVFEwNys2NFpST1VTYnpLdkgyR2MwZ2wrMVg0dHUyenRPOE1kcVN5U0ZZN0xEVFZueG5MMEtTanVpUkM3WU1Kd2FpTEJIRjZQcWtGa0FPalc4NUhSRVFDMlorUlwvcVA0WXo3V3M1K1ZjZXM1d2JBcGUrdXB2eDhkNWJVRUhJYzNQNHJmNUEwdEJaeUhET2psUjhVVHZWUHFiekRPNHdCVVFTYTFOYzNzbkV0NUFjRVBYcGNqZmFEcldpeDRqUHJXUE9nOWhtXC9aN3VzNXlLeHFGWkEyVG15aUVSODF3Qk5ZbHZxNHMyVE9ZQXVYcmV0WUtLc0F2bW9SMUN1VHV6RSs5WUcwZUI0Z3l3aTJwYUdaOWtCTWVWdzlQRWpnMXkreFJITjhzdVd2MnBzWStkUDQzZnJoam1TMm5zQm5qV0djTDJqNUhxRVVtcVhIUStRZWQzUXdwSDVVRDV2RTdaeUNWakt6RlIzVlRRQVU1aktXeHUyOUxJc09PenlyMGVRVys4bW1sWG1MK3RMSlwvbzVmWDYxT3doVFRQZ211S0RQZlZWcENwTXJhYUdlMEMzVG5LVlA1dXdGUzJmUVNaNmliN0p1VlFRSmtXS0tMbUpRc1FrQ0NBS0VuKzJiT0Z1QWdQN3FaMVpZVTFUZzRZekVZMmJRSEdVTkJOQ3U5clVHTHdnNXBHazBFMnJNS3hKR25cL1dhek82VFpCZHRcL1wvdWoxMGRaWmtMZnNBTmhtTFwvOTJsdzdlZ0RSWXUwSzRIQ3MyTHdTUWRScjFSK29ERVF3WURaR2FYcWIyNkdnaFpMdmRveTZ2a3ZzZXhNWUpZSmR0dUFOYmgxMmhnRVlTakZXT1lBeXJJSHBxdUtqV2hUSFUzWWg3XC9tdjhobXBQSGp6aVdERDJCaFwvQ1doT1U4M3d3eURvVFlqK05sd083SnMzNndqNkRlRzdEd280YlA3WktcL0FnYkRoMEJIR1dMVExYdVZFWkRDSk53bjFJaktIVFI0bXZEdjgrd2pvNW4yUzBDQnVyTDVycjdiemoxUit0Z3psMG1Nd0YyZlJHMmhSQ2dDYWNudEoydjcraTcrTllDZ09NUWZCdlwvQUV4VHF0bmlCYWxNbXFyNUhicFVtaWtubUN0SXVwOUhFMDJPaENuQlNIZXdWM3M0QlNzaFlxRDV3dW1mU1V5WEpOV3pqaGlmd1NaWVNZZXhSd09DWVpcL3Y0ekhSNXpLZmR6dzRRbnlkZ3FyYW9xWlY1K1B1Z1ZLbnZOT3VzanhSc0RoSFBmc1drQThDSFk4RnR2VWhMUVVMZlRXMUF4MzBRYnQ3RHZBZTE0R0JVbEhcL3JYdFFvbUVwbTNuY2JcL2tQa2wxdVV2VEhZcHYyVUJMcTdaOXhlWFU5MlBNWjZXUXVxbUoxbGg4VDlyQVhtS1QwbWRjTmxFd3dGVHU4SzBCd0NkYmp2RnltWDI3WmZZRW9WeERkeTVtU3gzVlJSTkZJMXZFR0gwOXVibDVkVjZ6U3ZScGN6ZVZVMncwQW9HYlNaV2NQUEkxOEdBYjlSM1p1d2IzVStmWGdLRGlzOGVuQUJkeHFmMEM4MmJaT0p1a2taXC9WN3I2T0lpdXlzbTMrZ2doTmF4WnpJVk50c21Uc2tFZWVOUUNsQjFRZXJKc2kxYTRSTFVXZmlocU5VYk9hdXM5S0lzQWNiaGJoM2lRSnlZRngwOFg0VFNxZmdHd1lTTTNaZHhybk5ReU1QV2lcLzRjcWRjVVZLVXdGelF4Y1ZxNEdXR1c4cHZUZUN2Y2xWN21hU2kwMHRPZDZTYkdRUUxGWlByeklFQzZaeWlIU2MyRGk5aFg0Z09QOCtOXC9WM0V4U2hGZHllTnlsUTJydHAxV0xmeEkxcWJ6SFJ1QkJCbzNqbkc3amhSanBNUGpuM2pOZlpLWTZib1pKR2hqeng4T1JlTGtuNWdKa2hYUWE4aW5yUDNLRjc2MTd0M1Bab1I3MHVxQU1MZTROTmtUdzlrODlVWVQ4ckFuXC9DbWVEb2w3cmNIaVwvNGhwRzlzdzU4UnRPQjA5WnpiNU5Uck1VczFBNDdcL001WmFzM285N2tlVXJEWTdkTmFaOWwwOU9Ta2NjRU5sWngySlZCbjF6aVVEVlpNaFFYY2ZlNHhBRkQzMTc1UVZ1K0hRd3pFbDJmWEM0ZkFpUngxRU1wWHJXa0VlZEI2U3grcXhzbWpQVEhMYXRjNTJTdm9KWEtuTXZpd3dzemJ0SUlZYzRkb21ocTJ3QjVmbWlVVlwvUXMxYVNmU29TZDFBN3lzV1FDdXIrbUFidnBYc1hTTzE1ZXR2SUdyR3JDeXN2VlwvaFR5aDhndW9QSm9HdVBcL2M4cGVFOUd1TFd4VXY1QitVaTFCMlwvWUxaQklzYVJPd0owS2VGMzAra0w3ckM0NVp0YXFGckVZeEJkSnAzUnBYcnFwOEJmU3NXTXQzTjQ4dzEzY0Z5c2QzNllCbTErVllzT1ZNOVwvc2xFWmFSWExqQ3Z6ZG5SMzNidzJUWmd2alJNZEhWdWtBWWpReENaeitPRDRtSU1xRFRNMnNuN1ltWVwvSEZZOE93M0RBbEtIc0VsRHgzUjNpVnJjdmFIM1pQN2RwVlpXbkhjWkhKS29YZVRFR3VmME9HOFwvaXZUNVBxTXpmYzV6V2hYelJ6R3FtMExjSDlFXC93ZmF3MUc5M1RWMEs5YTFLeWcyVEVwNExTaExVcG1kNVlTMmtWanFXbmV1eld6TlNtck5KSUNhTVkwdUJlOGlQUGlrYU43OXZ6OVVYNU5sM0tuNzU0VUt1aDdrd0dMMmkwTDhPZnRORExOSFp2UXpENVVlK25mdk1sVUhmZHB3dHNIRkVXY25WbjJOckRnQmc1MEZObFJJQndqT3BVWGt1SXhDSE1KM3VJNG9NMWpwZnNmdUhVUVNLYXdNRFdCZEZGckdSNGFrTzhHNlRURFl0WnMzSjRNSnkwQVJqM0hIVk5PU1l5R2ZUamZCUTFJcmw4NGVlMUk5XC9DTjRXeFc4T0x0bVZHelA4TDEyWldMNThPaVJ1WVBBa0dJb0NZZ0wybXBpS2pqMG9tZGlpTStqXC9jeWNHdWJmb1BMeDJJRGVuWEYxREtSOWlnVXM3SkcwTW1tWlRLYTNKcXlpMGZwMnU1QlVZRXN3WjFvWllCa3pmajlkeHpqSlh0YWx2OGRvbEs0WHd2ajdGV3pPVWMxQWxKbk1lNlZGdGdsd3pYSXk0S2RXdGF1SjhUQktuS3R4dU91clVBbE9HemxvMmVjSGpwXC9TN1ROSjhYWDZnUE9zMDhCc0gzZVwvbU9HdmdKZGhnN2xEMjlBd2JXZzlLOU5SRUhWNmZpNE9vWmRUdVlcL3BvVWVCWTB3Q0kyKzBVTWxmTXd3Q1J6cmhwOWp5NlFOOG1JRTFQQWZ2VXczMUQzNk5mN1plVGJiUGRJOFQraFRRMmJNOFk2d3VrVm1mZ0drbnZIZHJGVVRzR0N2c2VmclwvOXBNS3hqZmQwTU1OS0FSXC9UMkxlYlorUStuMTVLR3RkWE9pXC9WZ20rOFdRXC9BUWgxeTBZMWdlSm5YbzVmTjVCK3lCU3RHQVwvdDAreFcxRCtCSVAyWDl2XC9EdDZWUGU1NHMwK2NXWFFVN0l0SGRuQndQU0R6eUhKSVwveDFTQXhcL2hlbER1UVl3NzlwUGEyVmVmeXY2UnBDTXV2NGErcGZRRjBPS1lDaytkMW1ObmxnUU9UdjhoaTJ2TGJLYWhFTFhTNWlKRUJaeENtZHlCc3pxNWZyWjkzYlR6N3RXTERIMmkxNE0zTHlNYWltM05Jc2Yrc2JHRXg1alpLTGtiNDE1aU9cLzNQeUtCOGZIaEUzZGowZmVWalF2enU0VlwvQ1RJWVc4VTFMMXQ5QjU0Z2NnUDBGMktocnF3bU40bmk1N05mSjFmY0NPdGUwZmN4OU5Vek13ZURsdTJXRVJUMlwvTjhQRmxPemZITGo2cFRHa2QydjZXQ1wvS04rRDhtK0pFcG9CZ2s0YjlXckplU2tYcHpiYXJFUk1QVVBPTlF4NXZSSUkrWVFhZzVZZFI1VXFQeEdQZzhPVXR6TmUyd00zMnpoYzFKaXI5QXhuYVE3Y05GQUk5d3hjYTZZSWdvXC9HWFlYdlpjNnNwWDZmQ2JlZHVkWEtBNlhSeU9yVE14V0RnZnNiQ3dJSDVMQkFHcHAxQkhxdXY5cHJBQm1tOGFWUVA1ckFxdkcyXC9ndVkyTVA5Myt1N0xTTlE3YmZrd01kZURSdlg0SktldnB1bHVLZ25Lcm5QSHRsVGNPR0Vpc1NyY3ZlMDVWR3VIQTI3ano4WERWWkVUVys5endjalFZMHdLQlwvRUVKelpla2lEdm5ubzJRMWVlSW0xQ2hOTnNWQ21hSkdcL2dzb2UwSFJ1Qnl1RkplRUM0MkJvR1JJVitCQWh4RTJBK2lYTWRScDFzN2IzY1BkbVl0bm1KTmZpcFFTMFh4SlpmeGpJZ2VYM0ZSY2ZRU3hHN2dDZ1hlYnNDRWc3dFB2ZnNFdWtacDRMaTN4V1J6XC9kUFh0Z21ZVXN6UmNqZ2xZQzVXTUdDZmFreDIwS01HRUVCUzhFQkZWcXVYTWJZRzEza1FBU21cL3JVUVZlQmpzYm1LRGYyN1VmUUpNODd6NFZMRXQyRnNnYXphN2NlZU9ZbnEyc2NZd2VaUUZDMGtvRTFDbzVQSEdcL1J2cWtDWVo1Wm1lazZMVnRrSlVIMlwvSkJ0QVc0VWdPb2krYVBORDhqMTZTUm9mMEpTeWl1bkZQQVZhMnRSaHJ6V2xYZzN1ZnJRNEl3cWpSRjdZcno2aTBib1JtWTNsSTFCZFhcL2xyZ2UySVpsMEpmbmNna243alpcL3ZlMkZ4dUdFMDV2QmIzSGtIVyszc2JcLzVLMittXC9wb3pZWWgzV01pdXRnUnRXN0EyRElWSnRISHQ5OXZqNXhLMWtnNW10bEpBb1NDUnhcL2VkRllOa3JQbjlhT3JYNW5XaFQ4YTFcL20zK1lCa3IxMDNFOVNDN1FBV0tiOTBzNExJdWpKTndyMjBmTVNUM1U3UG5Oa2JxM3RvN3JmNkVcL3gyVWVadXZrYkgxdHVZTTlBeG5xZnVaSExrbXQyZVBTQjZGMGR0NDhkU0RFOEY3aCtLNGVHdXZsRDQyTDR5MFdZd2Jaakljbld3cEFhQ2NmcU9rNTRWdnhHczB0SXBCNEk4d3NKZzVhTjhJTytFeDE5dWJIK2NUK3MyTFwvRlR3Y0FCWGZRZlhmZ0s1d3B5UnlRVFwvM1IxUlNTcVpWN2p2S1Rvd0gxZUJ0NUJkZFhJcml3ZlBSVUllQjdUekVKZUtnUHlxRDU3bEtJaWpWSVo4anhyMngxbXpFWThURFYwNHkrWmZVVmN4cGQrVjR6NFRVcU9SVTh1TUJMa2pHR0lTYm9uUlNZeEhtXC8xdHg5c0pkXC9RdHB1OVZFb25LbmtcL1FkWFNrWE1sWG1iY0JxNjE0QVpKRlhCQjRteTFvVmFFQkk3SDlCYWtRVmlyYXplb3UyM1dGZ2luaVlBRWpwZnVzZkRPWUd2NFRJOVJpTWZJN0I2Rnl6RkpRc0ZJNnFPWE44NzZoR0NDUU5mdUpldUFaVzBlVjQ5T1ZnbFoxVU8xY1E3WjFTdG5IaUw4OVVWRnE4eDRycDZ3VlZYc1NIOGdPOFwvbjZaRUQwM2xXWEhXNmFwVjREcm9SVnM0aXJzT2RUMVwvWDZwazFXdWhwTEFFR3JOQTV3Y29BRDNBaktMZ21NOE01eTB0RDI0RVZHYm1GaUliZ0drVFJvdkQyNFR0Ynl5XC9HaVBWZXgzWXZoSnlpaGxESGMxUXJVZHdFbnRqT1FMZmxtaEJqYmdIMEl6WXpmM3h3bFN1RDdRelBiUVNFY0lNamp0RHBUWFJjcCt6WWJ2YlwvZXluV1ZqXC9cL1wvNGY2bEwyZjJEcmhPdnlUYUNydkdDZXd1ekh4anZDUXZhczdEUmhsaEhqYWRzNWdJNEVmdk1HcW1IT0o5dG5waVJLcmpRNDZsem9cL2Fhc2JpZ0dJbFVucUcwTkFOcUtGdHZVbzMwVVRUN2RrVG5SbWVYdFVGbGVvUHJFOW1IT2lQSloySzBlNVwvWnl1NlBLdFwvdFh1cDEzKytaSFFOZkVRZDUrR0VVTCtOVXMyNDY5YzVcL1crbTczcEd6WG9RYWpaTWc1alptVEtwYkF5dVA5elJxa0M3SXBTa3BYcEFoVlwvM3lrNjkybUxwZzZFeFgrd3lQb2JlS09tZllOY2lhbzFmRzBKMjFxaTBoTm5rXC8yQmVLUU1XeDUzZFdWUEdzUnp4dlVjNGl2MWl6ZE92MCtzVWI4bU96a1o4SEFhMVpOWGNxbWRhYmxmaUdtWFlCYlZkQlNmMzVBazFqYzhLWEMxQU0wb2plaEwybU9MUENWUXBrbHBpQ0tBTGo2a3VsXC90MHNvRjJ0cGNJcjBiblZxWU83WDhRVHZ4cEhuTm9ZY253d21Rd005TXpHcW55OTJzdFAwS1NyUk1ITHR0aUV5d01qbG1WdVRNRUk0Zktpd1V1UWV4d1V6emFGa0F2NnowT3lwOUNPWEdkdkwzY2paVTZvVVowODBGaytaRHE2ZzZ5M2F5NytZQmRzd0RjSjYyMHRhQU9hc1JvdGE3MCtKblZxMGxZXC9VQnFxSUU1blNCcEpZTEhNTk1YYkZXa3I4dWFUT0dnbklmeitGcWxha25KQVhEa1RhcVwvQzYxQXNFV0xBdXZhVXpibkZtbVJzS0llQVJnM0pSbzkyamNoWFNXSDBPRzhTZWJQVGhxZnpWRlhcL3M0SHROYU1wekU2KzV5WlhBa2Y1XC9jMUhZNDBIV25mQzVmUkx0dkJZOHJqMVltazNDTFJFVmZ1bDlucmV4Nkx5K0s3VERDNllOT3VPaElvRno5aGYzYVVnWEhUcVRsMFwvcXI1aVQyS1QxclFLcmU0NzBqbVY2MmduNDgxM2NZblY4WTdxdUg4TkI4WnNXOTJld0NhbndIMEY2OHBBOGd3QkgzWjJ5cmxvT3NCWXpNdjB5Q0l1MHNmU01uWmtZVWdOUHdmY3Y4QXJlaUJQQjJoZHExWThYRzBCWDMrbnJBNGQzeXFKNngrQmVOZ0xTSmZGM2NhenJSMmxTYlZBd0FyXC96TWd4bGY5M0d3Tlwva1k1bE1aVVZlRGd4NGNmQXEwcWowVlVPTjBGdDNoMlRDa1BGUmZkK2FkOU1RWTV2b1NTUCtJNStBelBwM1R6dXhwRzhlczNOXC81RFwvT252U1E4dDJRZjVTXC9xaDN1aThcLzgrSGo4S0RsUzlIMDF1SmE1dWd3dHdJYTZUTmtcL2hcL0dheGhSRVBvQW5qSHdoMEppWXNsbHhKcm5xVjVsWEF2ZU05eWN3SkdTaG1cL0xGaEhaeTNQSGkxZUFSSmkrQzJKQlFXXC9GMHdrMUtCZytXMlZmSEYrOTE3WFM2Y3dIUWlnN2JOODE1eWM1XC9nN29QalZSVnZ0cUtJSGtGM09BM1RxSnFWSUhSNzNTQ1R2dTlKcDNWbDhlNjFsSzhRcDB2UGExbERGbUhWN3l1WUJFOXgrWXZSV3ZWU1hlUXFmSld2UXd5RzRlMmtNczVxbWxYeVwvVGEzaFwvZjJVdW5MVGY2SmF6elVDNE95ZFlxckNIMllYb0srN1RGdkFsdCtleWxNN2g1XC9odkVWQXZmT3ljNkZ5TGoxdEczSDFxaGMxQlFmeXowdThhd25FZkhyR0RlWldvcDNrYUpaMlFlbWJCbGN5WDZ0S1JYNnMxMzNkSDB1U2tyZDRrUlM0QTV0TGhYTEQ5TGxLUW12XC9tT0dwbE1LeTAxOCtPZFVXTzZCbXJaTnByMEw5eUpZK09GSnFRSlBRTlRHVnBMTkJXSm8zOXYzU1JxU1lBOTNHRHc0a1RZYllDdVhUWXVQMHE1R1I0SXVYVVB5dUErZmlvVDN1UGF6WkRkWTVFK2JyY3N0WGMwYWVua2xONEFoKzdzb0lXQ3ZSMEhtYzVJQytUSUV1TmRzYmx6UENlclVJa2dCNkxqS0FVTVp0RGdIWDVCWWpmM3g3RnNEZXFTeE5aUWpoajUweEJOTTJjN09CME5hMlZvdDBUbFJWaHdSNzFcLzhHc1o1eUtIY1djSGFoTWFkK0tCajl4bTBmRUJCRU1lcUJhWjdDd3BBUWM5TlwvWVRrNTlqek5YaUJqNFJhK0lZK1RIY2dORU1LT2QyeFdIYzRCN1wvYjU0dUtUdHYxOWdoNFZGSTROZXhNM0pId3lxTFd0VW5EWFQrMVwvTlJuZXVRa0l5MjNsYU1tY012UnVOOFFmN295dHFlWWJNdm5JWGxyZ1JiVllKNVpaRklYZXllZ1RQN1orS0RmQjJLYUlPTFBCZ0MzVjN3RzdqMmNxbFFjck9OU2QxQ1wvVEd6MFRnUU55eEc5RnVYb1lxYmd1OUFPK3VsOUJrQTBTTVN6SHl5WnBsXC9RMGRwUEQyK1Z1M2w4Z2FMWmgwNmNRcmVCa0o2RXUrZnR2YWthVUZGTisyMlo0MVpXUUlwSTlDbWx5K1FSQUUxQzV6eTlxSlUxazNFeTMrays4ckt2eGVYdTNwSmtCUHdGMzFLWGhcLytlWGlnRVpoMkhucnQya1M4ZnQ1MkFSWHg3VFo1WmdURGQzdU1xREJtS1lSdkNVVVFISHBcLzFHTW5SVEtBRDcydWt4eTRNd1A0V0hsRnBYUFpoY3dWNGZWNkREMGMyRXJCSm9hVnhnbmpyNEZqRDlXM1dQeGpJSjBqd29iMHBweHF6ZFJJa1RnOXEwV25hc3NWTHlNVGQ4dG53OWdORW41aHJYdEJrTDhKWXdVWExoS0h1N0EzZG9PSnFYSk5uT21mTHZkRXhpaHJ2V3pxMUVacWhockR3eWUxNjE3U3lHUXJ3TFRTZlJnU1drekJIMWliZFpDajJVRDlLOHRGZUY0ZzlrTnE5aGRXdE9wbGE1am5SQ2ZDV1VxdE1FTjRDd09rc0JkMlVtRlNsRnlGaHk3Q2hXSFwvU1pReEZzUWoyZnJoUCtNQmhleDNiSnYzNmdTYmhKcExxY3kwR1lBWlh0bzNVcHVhT1UyNHRYTnlqcG1NeUJuZHBPRVVnOG9qZmVGTUl0dXdEd1NoK0R5QkRrSlwvMXVFZTUwMHV3aUZIK2pIQ0NJWE9USUtwRTR2b0RQRXJnWjdrZjYxdFphU0VtR1QwRUxWUStrTjkxMkx5aVk1S1QySlwvZ0dHQ1JxZEpwY1FxamxwSlwvdklDUGZnNnl3VzBcLzJkRFZ2aDZcL3pXczBvXC9Tb0UyY2NDM0JmdkorbENXbDcyVVpaalQrRkJYMFlHQ2xMUWplYVpoWkI1MEJRU25DYnpNYW5Da01kRGFYZEJyRGo1K0toQldQanJOV0NxeTZRd2hGTWUxVUg5TEtGbnY4NElMb0xkclhNOVFFdHowMnJQWUxNcDJQWE5WbStWXC93RkczNllxczlONFcwZmIreE10bjZTK2VaQ2pvUlZ3ajBRQk9zdTQzRUJPT29YTDhsbUZDc0RWZ3dsXC9NWmZJd1JQaHhCZ1VjTFRoU2dlMGpkbXZaXC9La0I0RXRpdCtvYWFQTU1ZOTN4SWJRWldpUzV6MVVRQjhJbHRweURuTTk5VHU4UFVrYXhJMndBQlNKbXVjcmQrWWEzclwvQXVrSmpRb2JzbUErQjkzYTNCV0dHNVVLb29hR1hvamVpOGZvS0p3RDFnbFhGYVRHbFRXbzB4NjN2NjdDSGdRc0Q5UHRJNFlKVGpNYjZFTURNUlwvVzJ6Nk43NmthdnplMm43S3dXSTBvUDk1YXFlMVRzUWZwVGpzU254V0JoTjN6VTBBUm1CUFFhcTBuRFhJQVJZUFdEeXFwb1dJSXFwbEptcWUxeGxwOEUwTlNOMUhEMU8rUlNVb1RlaUdmcHRPSDRGM2FcL2hBOThqNlB6cFpTa0dkaGl3K3JIM3JldHNmditcL3dIV0pLcFh2cEpubzNtNTdNU214eHB6RXNYczd3d2Q5YWdMUGsyNk9DbFVBcWxyUnd4SlVpOHhtTFM3UUIreUN6VnRxUSt3MmVma21TWW5oeVg4M3REZUduRzM0T2dLVnFoYmlCcWxcL3ZTXC90U2V0VmVJWDU2SkEzWUxOSEdBSlFEOXhZOGhldHg0STZEZEtcL3VZN0JaV0kxXC9zXC9RWmlMMTRCMlZYN01qTjZVV0dPTGVkSUhybWJCUFpsWUxycEtBZXFzcEZNMFowVVVqZVgwQ1phcmI5STdGUU1IcGxXV3pXMUYwTWJnaFdiQjZGSkpcL0tLUStcL0JoZW9XNm5KSkZzS0tacXdtS1hYN0tMSCtxT01lQW4xXC9KMFRXMUdNb0hPR2dcL2FFdWRwQlwveVpVMmZSR244WitabGQreVBiZ2pQM0g5T1AwXC9CSnc0ZVk0bTdLRUg5cDRXTm5POGJwbVFGb1lYdlpyWUtaQ2FQMUwwZ0xyRktKUTg2XC9pM2lsQldrRDJYTmVmc0hPc1RLbzVIbFBjVDNsV0tyUnVjMGZ2dlcxZHZoMG43SEErYXhYbFpCRisrVHZ4cjM0SmZVN3BZa0V0S2ZWYTVQendwQmE0Vk8xbWxibXhXUUZnNlJyXC81Q2VLRktRcDlzVzU1ZktPc21zTHNlRUJPNVZBRjBJR2hHZW81TzUrc0VrNUJJYXdBSVc1ZHhjbWxXR0U1SE9IRmpubzUwR0pZbzFpTWR3TXFlTUN5YVA3alM3OE90VVpsY05nbzZxbjVGam1mbkl3UGVuc3pTNGdZNGZibGVubUZ1cHVubzVsWEROUThoUllkMmpQUjNKQ05CbUhhNFVSanFqald0ZkdVRHM1TDZxajBcL1Z5VnBLZ0c3XC9OTldZd3QrUVFvWWlXZWN6bEFtSEZcLzdveXVRcVYrOEtBVjFTS3VTMW16WHFERktZM25TSUtDc2V6WEMwcllDN0xNRmMyaVhoTzZPWDkrbVpjaU9EYzdZdDRsMHIxdW1CcmF0d3JmVlBpaExIQUdRTGNneGIxc3dURnU1S2FmdXlQdzBrVXZQTVBuVUxydEYzZDhFNWx1ek8zVHBxQU1kZDh5ZmJuUFdZU1BoZXQ4d1wvc2tyOWt2ZlpLOHVKelwvY21RRlYzZHZkZHRPV2dmYzYyZ1BuYm5yeU5ITWQ2TUR0SURmbEM1YUt3U0JxWnlkRkVTNFQwOFE1d1JMWjAyU0tLVWJcLzk4N2FGUURkeVc3NmVvaXV5UlFETEdMSUlMQ3pXOGZobU5rZGt4aDh1dSt1bDVuRDdDYXoxNHNDSmxwaTRqTnV0NEtNeVJyUFRubUNZWmtGdUwwSVArZkxcL2IzRnlURk5cL2c0a290OHcrVGNFTEVaMDNFdHVCQ2Fnckw1RnZ6UW9xM3E2T25tXC9vSUxQTjdzR3ZFc0kwRWFEWG1SclhURkN4aUQ1Mm1SUVBzRWEzMWZybFhFOGtzTmhSYW5FVkhoK3BGQzJMYlwvRjNaXC9SNWxRejNNekFqY3ZFSDIzRmlkaE1lRHpBWllLT2x6OW1uSys1VGo3b2huQTRUekVMRWVjQnhrZFV2VFM1Mzd1V2NqaDl2a3lqUkdscUwwNnRiTmc4YVwvZ2JVMkZENjFNRTd5UjVFR0VYNGlEamRDbkc2cVh0YUJ1SG9oQzNvMndOOFFKU2JQYmoxdE9wXC95eGhhOTBIRVA1d3Z2dys1ZkxWZjZwOFEyZzdLQ0hMcU9EeGh3cTZcL0pNOU9PSHBRSUN3XC9tQTV5cUNZTWd5WUdPclMzVkFJMXFzRmVtdnVhclc5SzJjSEFqYzBlNHVZaysxQkFHRDFvWnBWZXBaSDliT0NHTWp2UTdxXC9OWUplbmdRMVVEblIzTWJkS05cL01UMzRGdjE4VXl4ODRWT01Ccm9weDFiWWd1UGhKZ3N3Um43WmhwakRhbXE2YTU3N2hTRTVYUmltcyt1cGFmOEFrTHFCVjRDbFBVMkQ0cFJcL3lTMVR1WjdaMTRLd1ExaWVDUytraFwvY2Y0bkg2K2ZQNEhUdjFlQnlPU0gwK1VkNEpmU0ZFSmJVaW80Wm0xeU9KSW1Pa045cHlTclo3VXdTTXVHbG1vU0FMSDNaMDE4ejJweFpiMVpHd2ZyMWtQazI0aHcyYXZyamVzWUUzZ0Y4UGdiT1VDXC85WDFmeW5JbFc1aFdXVTVPOXp3T2FUVE9TaXZmWW5uMjB0d0loVEJHUkpkVjNrOUZPZ3p3VXJoMDZRRHFZSmhqaGlSdlBMXC94TGE2WDNpTXRYVnN2RUNVaGkzclMzK0JVQURUZlB4bWNZMHBNaVA4M1V3S0ZJMUczWVd2eEZcLzFweER1c1d1ZkxhbWloVytzeld5VVN3VlJmWElIc2ZtcldFUnZyNnRyUnhDamdWNUtHM3cwdUw1dmxEK2ZSS3BwSmdjUExHSkNoRDlJRUMwelNsQ2VEWXlsakFiTzZFRkVYYWNJSGhLcW5USXp0YnVFMWhwSHRkZ3dKM21NVGFBdGZSd2lURVRWenVKVDhBRnFra1wvYkRmS2ZMMmVieHFmUDBQR0d0WGNXU25OOHhsdHM4R1JycG9Zem5IVjVzSzJRbk5tanM4cEZ4QU4rNEdYTURaUjl4bTIrVkV3VTFRcjR5NVhmc25qUGZ3cXJobktSK0xtSmxXb2xWU1FodGluNHBvaUxkRWU2bXRKVG10UTlQUzJjeHh6MCtMQzNlckYyeUplVmpNM2FIZnNlTHBNRHp3NXIxUUZBbGpmbHFpRDJJMzJ6XC8wSW1qSmwzMFZwUHNEZGdoSnUrZXkxQVpzQkFjc3hmNkNaT3VpTnFNYzFVZ2xxa2ZYVmRnV1wvQmF5dVY4VmprUlBVYlZlVjEwSzNXcWkyYlBaSjFwNmwyajQ0NURxYWl4VTFsVWxnZStrMk9MNFRrSCtqZzhMYW5xZlprQVZzNjlaU3U4N2hoNkU1aTlva3dha1QxeTBUK0ZHT2ExeW91NmNmeTVXZWNqM1V0K1VrUm1mYkRJenVsXC9iUHJ2Zmx1VFpGUWFkUG5mVnVObFN5U3hEb3ViRlRPdHROYkZ3SERaZWxSYXl6VERyMFoyXC9Xd0FlMEtlMjI2VmxtcUlcL1wvTnN4T2hETVZCUzJzeFJNcWhsS0VkbGFUenJBMG9XaUlKblp3UjR1R1M2ZkM2bEJ1c0NUa0ZqMTVzVjR3Y2lIc2VlWGtYU2FZdzJNK0h6MmlcL1VYM0c4K1I5WHp6b0pXT3BmQ09CNFZuVDdGSURCaktLcllNbHFBcVZHemV1ZVN5dnFVajJLMDkzZSsrUzA0b25zOEZMZHV5TkJKZURNNnY1RStUVW5UKzI1XC84T2dZUlB2MjJ3XC9WZEMraUYraEt2eWNQQlFBVmNkdjhcL0phb2xPMjFta1BKak5WK05cLysxWjR6RnBFOGx0NTl0ZklSRnljeGZQdk1sa2NYdWd4S1BVa0daTzVPaTBvU0p0SzM0ZmZUbkZTTk5HYURaeE5mUVVxU0dFS1wvQVVcL3JHYWl5ZVByR2I3XC9XdjM3bG1PTTNwbHh1ZkwyXC9GRFFSUXJkeHJHYnZveUQxYXI4RUs3Z1hOb1EwV1E3MXhNbkF5TllZMWRBcFVPN1VxRWFjaHdRTWczb01vMGIrTVdjWDU1Z3NXWkFqeHVCNUpSYzkrQ2IrNnhoSDZDZDJFTklcL1A2em9SOEVvWkkwXC9vSlhRczlHaksxR3R0RWVWSlRUZWxGa0dmTnRLT1YwTTQrRHNUVkR6a3dqMVNXdGpha3RvYm8zNFZiaE5oSmYzZHlCTTZLclFCMEt0WVB2ZG9iOEdwTnBaYnBHSGtFeTgxRmZMQjZaNlVYVW1hU3IzckZIYTRFV1o3NXdJUHVxRkV4WGlmSExmQjVsUmdiU05QdFJadUdBK2dGaDgxSmhvZWVqS3BtT20zSzdVN2NId1psN0c3Njl1ZTBjSHBRUjM2VXFIT3dFdit4TFwvbDBRR2dOdDFrUzVLdnJZTVNUeEpRbWRKZ20yMTgyRGZ5NkFveUxZejRkT2taRFE0aUxWd0NKVlZLTXpiM0xGb3BSejkxOUtVRXoxOU10SVhEdng5bk1lRU0rVTN3V1RFK2pvZTBnYVhJYUJTY2ZIditJWDlKWWxkdGt0bUJcLzdUZkJnK2RQNDJWVkU1enQ2UFhHVmplWG15c0tjcWRwVlwvSVUrNmthS01wcE1odVkzQWZFVnlKb1pDZXJQSUlZT2xTcitjNEhacWVhVHNXY3JhZXRPMHVpbTk5SU9FMSsxTjE4b3d1QjhxV3l0SkNiTnN3YUptV3hQOWM2MHE2cUc2YVozaVZoRE1GXC9mVzlqMWh6N1FHZkhGRUVoOU53a3Q3UVA4OXNtWHpkSDBISm5mMHhLaFwvdU9OUTJoVU1wVFFXUTlvbHJOYjBpWStyVlh2dXBZSDROeXhFRjhMQTdjSEY0cHBISERcL0hRWVwvS3BiNHhcL3hCRE1rV0ZwWlNtWXhLdkhHRXVxcU1mRFlCRlBLUnpSUFAyV3plclp2U0dud2QyRVQwZW12TG9UNUUyNHdjblwvbG03ekNVcmxObmlmRG1GWXRCK1NiOVFFOEdoeGdnUXZLU2l5ck1GTThnYmJsSENhZ28waVUxeWxCSDk0K1wvbmNiSUxDd3VFNFhpVHg1TkJiSU82TWRhMDJ1cHhLZURHUzBLd1BBbkJMUWhlNndPYlBEWDU2dTRwVk05dm90ZmVzTk1xeTJhZ2JKWnhCT2hJQXFHRHZcL1YwUXMwMUJlb1plWmdSWldxcjVZVnVzYmhiZ2t1WHpnUWRpbGNJSkwzdTgwSWFiSlJMOHhuRVpvSDJZcVh6azhjZVFLR3A5OFpMbVNVZ1VyMjVHNUwrQzJ0M000ejJNQllJY3ZZNlF5aEliTmhOdVRZaVlVS1wvck91dFozYzdYcXFJVFcrVXNSVHhmbVFGUUJ4ZDFRVGdLM1EwVTNDaVwvOXBwNzA1b3Q3ejNBclJJcVgrU084VnpcLzZUMGZPXC9GUVZReXg3d2VcL2p5K3VBZ2ZiYkN3SFwvZGNMcFBIdzZaQWhvREdoamZoQkl2U1Q2TURRcDhrQ1F0MklMM2ZUUXdLTnZkU01Gb09ZZUxWOTF0eStiT3ZueDNmRHd1VTE2UTBlcThzajJFNFJDc29ZcHdhMFlmTHJFaHlpelwvVlp2b2ZFaVc4VVwveWJ0SFJLMktGK3liY0ZEMGdNM2FVazAxM0NDZkZ3MFwvSTR0ZWx2SjZ5QnpEcVQwaGZKbzV4WUlkbnEzdXYwYWlyQlFiUlpVWUZVMlZmOEVqWG5wVW1XZGYrV25UbklKSEtkVXNLQzJQem94R0p3YTBQczJvMWlHM1JKUDBWdmJneGVvczZCeHhFU3ZNN01RdWd3K0VkTUZvNWFhZjN0Y01lRkJSeHFCM3RYSDFIbUIzcHVxazRIWFp4SzlmWXF6U0crT1Q1UjRZMm5MT1JwNVA1Yk03cW1sM1UwcENaVXZJM25naEJtMzFObThZUlBsOG93ODZyTHVkOU9uQmt5Ulh6TWo0ZXl4ZXY1WjNnRGowcndYalIwUFZiemgwenJ1VHV2TFwvbEFpSWR3NzFqemRtRmVzNU1VRlFVTlZrc3NvSkdtTjh5QlQ4SEZ1SjJHWVwvM0RoNUVlZ3RwVjVHdXJDOHBxYzBHbkp2b2U4R2lab1oyM3hzcERBWmhYM0g5OStNQndaeWFkcFhETmthVXdTcWhpMUtUb3FibGxSUGZ6eFVWQTlxRHdZbHdTdE1ST1pCalYya0p4OEh3dmdXb2xmM2dlSUorXC9OZHFWaXRwSFRFV05hdEVkNmRobVpcL2hCQ1RUN3J4WFQ1WFwvbmMybnN5NEZZZldScmJvWTBJUU5oV1JOdzBzTmJWK2NiY0tCbmo4QTBlMWVyK1Z0RHV1ZWdxblpnRUJWNjlSbmtvU3BtSThQOVhcL09nMU1UWGNkUzNvRTBJeFYxUUp3QmpPNUExVWxlTFZqTFBVMkFKSDJ5RnF5NXJSSTNxUlprcXVnRStqeCs5V0VMQm02QUs5ZGhOYTNVM05McDhzbDhxMzNFOG8rQzlIVDFqaHNTWUdvcUlYc2pTTEszVG1ha3ZRTTJHcTlXNjdWWGFyQ0d5T2VONFZKU2FDU3hOMGg5U29YMmxTeXVObEl0eGpIVkt3bHF2bDdsb1ZwOGI0OHNYRUd4U1BZdmVnMUVVS3ZlSVFwTVBIUDVlUzAzZ2RDMkhFeG93YzV6UWx2bmpKRXNlXC9FT3BxVllKM2w5bTBlejBaZStFRnp4VjZRc1VkRFNTK2U0aDZlSThoSjBlY1hUb2VNTHJwejNUR3VcL3liTTlaWmZsQ05oOEx3MmlmT1ZRRDg3VUQ5WGhXWlAwbVFTK2Q3YnJyVnZxallKSGpXUk1cLytaaGRuY3RWcXd0QjlUdTdJcW5jcHZNc212M245M0NKUm5KXC9JN1I1R3czZmJRSlRkNTUwZkh1ZUdnMW9BQXFVXC8wVTJGaHhGalZDTmt0Yllvb2oxdU4zUlwvTzBSQ1pzWCttTUN3N0ZWY1UxS3pBUjBpQmdSN0pCZ1dNOW9VVm9kZEhRa0VxSlpCOWY5clJpekxwa0lOdENcLzBnN1hYcm5WY3lvVDVoekxXQzdOek1hT3NUZHNqQTNSWURXb01RcEloN3ZtSlA5YTF3R3dNclwveDlDOTJRNWFmQUl6bWJWelR5Nk5DMm1ua0RCMkJGck9PbkFiWUtSZmMxa3YxZ1dncktcL0JEdzBcL0ZlVExXXC9mYTBkRFVXZjlhYStkXC9VXC9hVWZOQWRTclQ4dkVJYmRlVlV5M0g4ZnlmXC9PSHFnYkV4Y2lZaVBRMmFoYWVhbmVZNmpLQzFVWmRUNVM5QUIxSGJhSWIwZ2pld2VlSDVHS29pT29MQnFvWTh0NUZocGhjRDFFQjVydDZwYWM1VE0wbTVhTjZhd2NvRWV6bmxDODNybGpIOW5oUXVkMWVoUnNremFvMldXSWZRdkNFSCttQmxBQzVHNTBUb25rYVRRYTY2d29ubzNDQU9TRHRaUW9qMW9GaW9qZTJVNkJsczBUOVRkeDZIUnMrclNQa3VQdUJMa1FOUXhOWEptWlg5QVZSRkZkeVREK1FQNmp2YWNiMVVcL292QmFjbjJ6VitONFNcL1JBMVE1alZWT3FuS2VtYWU1cmNSdEJ6dWxnaVF4Tlo4XC9rTUFySEt0SGdIUktFN0F5YWdVQURTeWhXbnRBZnRMZjlPa2F6ZGNQWnA1UnZHRlRnMjBhcDlXcGUwXC9WSFpVWXBycTJNTXNDU0JYNlwvNDRKS3FPR0tLMFRcL2RkT3BrUytVSHEwYlJkd3Y2cEFtTVhuRVFwMzFRWE9oXC9La0xsTE5IN2Z0XC9xVVVqK2JKSzdWdCtBQzJSc0pjM2NcL1dGMG80N0o5NG8wNHRIS1U4blBzdkNuYWUyMDZPK0FBbkR4Q3lWaXVUSWtLQm9BdDBPTjdyK3dsb2JFTjZWZngyQjJnTVVubHFpTnZIdzlRS09XVjNjQVlFaWJIb0hUSHVpem5QaHZXXC82UHBmdWhSTDJ3YUtOVlB3QjF0Y0VLdUgwOHpDTmJKQjY4UkFta2JIRm5IcU5UU05UWlFkOXV5SWd1VWpvVnQ4YzBjTDcrQmhTUDAzNHpIajVnUkxyb0VkbzB6RVJpM2t1K0ZxYXlnQ21rVWcyZVZPRmdtdU5PVHZVY2ZXNk0xQUFaOG1lUHVoWmdwSTBwd1dtU1wvdHVSS1pyUzB3enRPQWx2RE5jekxsb2dEU2Z1dllWY0Q1YmJVVDNDNWdMKzlOOWh6YWpsb0dzTVY0ZFhNd2Y0WmtaTVJcL0FlSGRzU2w0YmRWdEZqVXVwZCtMMVVpZEhMYk9DMUxQUllNOFhlY2NqRHkyNmQzbTJrRHd1RzBcL3Y4UXlZXC9kZXIzRllaVXpTTjh5RkN6NEQwYkZrbEhCZlpKQUJONTQyclB2b0ZPNytHRWowMHp6YzFzTm9oNWRsVFB2NCtTN0xiR1ZHdUc4aEpVSlROT1N1eU82amFoVzZkWHdiaXkySGFuR0o5SlNUWUNKTWJ0R2VXNHMyc2RhRDl0QjIwWkQya0wzYTAyT1VuNEtKNEQyUDNIdzEyU1Rvc2MwcWx5YUEyS0luMGlJVTJjZFJjaHB3VjNyVUo5SGV3ODhKRjg1ck9rZUZoUWNmaTE2WjNzU2ZtcEE0RFR1dU02V1dcLzBzYWtOOTl0amtWZ3RpbHBqQ2RyeGN2NTJZc2w4UXBWU0xxUGVDK3QycDVmOHU4YXRyKzVjUHBlZGFRdmkwMHBtQU9rOFFZdlE4TW5hN1ZuWE4yUmcxSVlraVZGZ2t0Tzg1bTlQSFJ5Q0FYUUNiQ0N4SGkyU1U1cVRnTGdWY0sweHROd2xweVZRZGgzWUZZV2gwTXpiK0hmb2VqN3R4elNHXC9ySnZXaGpqY1VRUW9SeVVwdVBCTkZtS2Vwd3VNbVNHQ21PM3A4ZnRqODZHUGdWMnZkY2VXNTBmcTh1NlwvelwvM3d0akU2b3lxOTNDb3RjUVpIdTBmTUY2UlVsbUNJZGJaRHhUYWpxWTlQXC90VXhZQTBtNUVjd3NGRWtLNXNoZVwvUUoyMEpJdzRQQnBBb3ppZ1QrWHRqZTk3VEw4T2tDbTF5WlJob0RDSG1ZTTg0Y1FteXljOWZvQlwvQW5xZEgxZ091alRRTjhNRlVKOXpQb3QwSDVyOUk3QTJFMitXV0pMbFZqUlF0dE1PS3paQnVBbVlWdlkxbzV0VEJpaHh2U2l0Smo3VXM5OXVReXhFS1REbVN5VWdMbG04WkQ3cHdPc0xEMkdIaVlUaHZ5UndkUHhyanBFYks0VXBRdUFrR1NIYTJwTWFuWFRcL1BNeEZmSzJhUFJFdDdkeTF1aHYzeDVNWEQ3QVx4MjIsXHgyMmdsb2JhbE5hbWVceDIyOlx4MjJ0cmF5cmlkZVx4MjIsXHgyMmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iXHgyMjpceDIyXHg1Ym51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsXHg1Ylx4NWQsXHg1Ylx4NWRceDVkXHgyMlx4N2RceDdkJywnVCc6ICdBU0FGQVVKQ3B4ZDVmcVEwWVpucDVZZDFZS2o2cWxsSGRJbmhsRmQ2ZnZpQTk5UzUyejNhaVN3cnByWW1fTmVyRXJ4R3ZDUVhXNkZNekFneFBZOFdKWWZPR3YwXHgzZCcsfSk7fX0pKCk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0icmdsb2hTejc3dmo1RHAtcFcyeGMxQSI+aWYgKHdpbmRvdy55dGNzaSkge3l0Y3NpLmluZm9HZWwoe3NlcnZlclRpbWVNczogIDM4LjAgfSwgJycpO308L3NjcmlwdD48bm9zY3JpcHQ+PGRpdiBjbGFzcz0icGxheWVyLXVuYXZhaWxhYmxlIj48aDEgY2xhc3M9Im1lc3NhZ2UiPkFuIGVycm9yIG9jY3VycmVkLjwvaDE+PGRpdiBjbGFzcz0ic3VibWVzc2FnZSI+PGEgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1uSjRwVnpHV1ZIMCIgdGFyZ2V0PSJfYmxhbmsiPlRyeSB3YXRjaGluZyB0aGlzIHZpZGVvIG9uIHd3dy55b3V0dWJlLmNvbTwvYT4sIG9yIGVuYWJsZSBKYXZhU2NyaXB0IGlmIGl0IGlzIGRpc2FibGVkIGluIHlvdXIgYnJvd3Nlci48L2Rpdj48L2Rpdj48L25vc2NyaXB0PjwvYm9keT48L2h0bWw+"}},"time_used":90,"timings":{"blocked":-1,"dns":0,"connect":8,"send":0,"wait":57,"receive":0,"ssl":24},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4815a758657d4bae.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.479Z","timestamp":1785129949479,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/4815a758657d4bae.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 3817465\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"4815a758657d4bae.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"9b4f6d29f92ea43b7c7ef4770fbed76a\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/4815a758657d4bae.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::98lrq-1781312483644-7e3fe14e464a\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=V%2FZaM97yvw8M2YIREe4BSE4Xc1F96J0wrOIgADk3eMWlP3JBYFig6tLYEjc5ncQ2sz7UzbmMtnpPbpRsB7dME5cDAWmr1nQILW37OkCmoXwJSLD0TcxER96Zzily\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c84d25a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":49883,"size_decoded":17716,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (49883), with no line terminators","md5":"9b4f6d29f92ea43b7c7ef4770fbed76a","sha1":"bdad2044ced7e4c0208e62e5650f99140e88aeb6","sha256":"6fb06a5d29509dddf687974e467d8274ef9ef0f6bec7c841fd8336543c9a3f74","sha512":"06ec26c380efdf73315dfc21639732033b79b7869acaed6d4a6697c4d441500bb21f57311b543ee176e2b31b775cff20bc5e611dfff3cca3a3a5c30c8338262f","ssdeep":"1536:UIYGGTQpo7UFYEpzussak11xgaAF+j/G7qWF:UIYGKO+UFZaJgaUt7/","tlshash":"f023d4c971e5b4900bb395b1803f000bf23e1d76185d98a0d3a2dde9b8b45aed233f99","first_seen":"2026-06-13T02:21:16.211868Z","last_seen":"2026-08-15T07:58:28.199154Z","times_seen":1916,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkzMDYzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJSZWRpcmVjdFN0YXR1c0NvZGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO3ZhciByLG89KChyPXt9KVtyLlNlZU90aGVyPTMwM109IlNlZU90aGVyIixyW3IuVGVtcG9yYXJ5UmVkaXJlY3Q9MzA3XT0iVGVtcG9yYXJ5UmVkaXJlY3QiLHJbci5QZXJtYW5lbnRSZWRpcmVjdD0zMDhdPSJQZXJtYW5lbnRSZWRpcmVjdCIscik7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTA4NjIsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHIsbz17UkVESVJFQ1RfRVJST1JfQ09ERTpmdW5jdGlvbigpe3JldHVybiBhfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0saXNSZWRpcmVjdEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIHUgaW4gbylPYmplY3QuZGVmaW5lUHJvcGVydHkobix1LHtlbnVtZXJhYmxlOiEwLGdldDpvW3VdfSk7bGV0IGk9ZS5yKDkzMDYzKSxhPSJORVhUX1JFRElSRUNUIjt2YXIgbD0oKHI9e30pLnB1c2g9InB1c2giLHIucmVwbGFjZT0icmVwbGFjZSIscik7ZnVuY3Rpb24gcyhlKXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwhKCJkaWdlc3QiaW4gZSl8fCJzdHJpbmciIT10eXBlb2YgZS5kaWdlc3QpcmV0dXJuITE7bGV0IHQ9ZS5kaWdlc3Quc3BsaXQoIjsiKSxbbixyXT10LG89dC5zbGljZSgyLC0yKS5qb2luKCI7IiksdT1OdW1iZXIodC5hdCgtMikpO3JldHVybiBuPT09YSYmKCJyZXBsYWNlIj09PXJ8fCJwdXNoIj09PXIpJiYic3RyaW5nIj09dHlwZW9mIG8mJiFpc05hTih1KSYmdSBpbiBpLlJlZGlyZWN0U3RhdHVzQ29kZX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzNDY0MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17QUNUSU9OX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBpfSxGTElHSFRfSEVBREVSUzpmdW5jdGlvbigpe3JldHVybiB5fSxORVhUX0FDVElPTl9OT1RfRk9VTkRfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIEV9LE5FWFRfQUNUSU9OX1JFVkFMSURBVEVEX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBPfSxORVhUX0RJRF9QT1NUUE9ORV9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gX30sTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRTpmdW5jdGlvbigpe3JldHVybiBmfSxORVhUX0hNUl9SRUZSRVNIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBjfSxORVhUX0hUTUxfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gUn0sTkVYVF9JU19QUkVSRU5ERVJfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIG19LE5FWFRfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gU30sTkVYVF9SRVdSSVRURU5fUEFUSF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sTkVYVF9SRVdSSVRURU5fUVVFUllfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBsfSxORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBzfSxORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBofSxORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBhfSxORVhUX1JTQ19VTklPTl9RVUVSWTpmdW5jdGlvbigpe3JldHVybiB2fSxORVhUX1VSTDpmdW5jdGlvbigpe3JldHVybiBkfSxSU0NfQ09OVEVOVF9UWVBFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBwfSxSU0NfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIG8gaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixvLHtlbnVtZXJhYmxlOiEwLGdldDpyW29dfSk7bGV0IHU9InJzYyIsaT0ibmV4dC1hY3Rpb24iLGE9Im5leHQtcm91dGVyLXN0YXRlLXRyZWUiLGw9Im5leHQtcm91dGVyLXByZWZldGNoIixzPSJuZXh0LXJvdXRlci1zZWdtZW50LXByZWZldGNoIixjPSJuZXh0LWhtci1yZWZyZXNoIixmPSJfX25leHRfaG1yX3JlZnJlc2hfaGFzaF9fIixkPSJuZXh0LXVybCIscD0idGV4dC94LWNvbXBvbmVudCIseT1bdSxhLGwsYyxzXSx2PSJfcnNjIixoPSJ4LW5leHRqcy1zdGFsZS10aW1lIixfPSJ4LW5leHRqcy1wb3N0cG9uZWQiLGI9IngtbmV4dGpzLXJld3JpdHRlbi1wYXRoIixnPSJ4LW5leHRqcy1yZXdyaXR0ZW4tcXVlcnkiLG09IngtbmV4dGpzLXByZXJlbmRlciIsRT0ieC1uZXh0anMtYWN0aW9uLW5vdC1mb3VuZCIsUz0ieC1uZXh0anMtcmVxdWVzdC1pZCIsUj0ieC1uZXh0anMtaHRtbC1yZXF1ZXN0LWlkIixPPSJ4LWFjdGlvbi1yZXZhbGlkYXRlZCI7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sMjc0NTQsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e0RFRkFVTFRfU0VHTUVOVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sTk9UX0ZPVU5EX1NFR01FTlRfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFBBR0VfU0VHTUVOVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gY30sYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudDpmdW5jdGlvbigpe3JldHVybiBsfSxjb21wdXRlU2VsZWN0ZWRMYXlvdXRTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGdldFNlZ21lbnRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiB1fSxnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLHI9ITAsbz1bXSl7bGV0IGk7aWYocilpPXRbMV1bbl07ZWxzZXtsZXQgZT10WzFdO2k9ZS5jaGlsZHJlbj8/T2JqZWN0LnZhbHVlcyhlKVswXX1pZighaSlyZXR1cm4gbztsZXQgYT11KGlbMF0pO3JldHVybiFhfHxhLnN0YXJ0c1dpdGgoYyk/bzooby5wdXNoKGEpLGUoaSxuLCExLG8pKX19LGlzR3JvdXBTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzUGFyYWxsZWxSb3V0ZVNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtmdW5jdGlvbiB1KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2VbMV06ZX1mdW5jdGlvbiBpKGUpe3JldHVybiIoIj09PWVbMF0mJmUuZW5kc1dpdGgoIikiKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIkAiKSYmIkBjaGlsZHJlbiIhPT1lfWZ1bmN0aW9uIGwoZSx0KXtpZihlLmluY2x1ZGVzKGMpKXtsZXQgZT1KU09OLnN0cmluZ2lmeSh0KTtyZXR1cm4ie30iIT09ZT9jKyI/IitlOmN9cmV0dXJuIGV9ZnVuY3Rpb24gcyhlLHQpe2lmKCFlfHwwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7bGV0IG49ImNoaWxkcmVuIj09PXQ/ZVswXTplW2UubGVuZ3RoLTFdO3JldHVybiBuPT09Zj9udWxsOm59bGV0IGM9Il9fUEFHRV9fIixmPSJfX0RFRkFVTFRfXyIsZD0iL19ub3QtZm91bmQifSw3NTA1MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17VW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBvIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbyx7ZW51bWVyYWJsZTohMCxnZXQ6cltvXX0pO2NsYXNzIHUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLm5hbWU9IlVucmVjb2duaXplZEFjdGlvbkVycm9yIn19ZnVuY3Rpb24gaShlKXtyZXR1cm4hIShlJiYib2JqZWN0Ij09dHlwZW9mIGUmJmUgaW5zdGFuY2VvZiB1KX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5NzA4OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiYWN0aW9uQXN5bmNTdG9yYWdlSW5zdGFuY2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPSgwLGUucig0OTIxMSkuY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2UpKCl9LDIzNzA4LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJhY3Rpb25Bc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLmFjdGlvbkFzeW5jU3RvcmFnZUluc3RhbmNlfX0pO2xldCByPWUucig5NzA4OCl9LDQxNzIxLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtnZXRSZWRpcmVjdEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvcjpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZn0scGVybWFuZW50UmVkaXJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY30scmVkaXJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtsZXQgdT1lLnIoOTMwNjMpLGk9ZS5yKDkwODYyKSxhPSJ1Ijx0eXBlb2Ygd2luZG93P2UucigyMzcwOCkuYWN0aW9uQXN5bmNTdG9yYWdlOnZvaWQgMDtmdW5jdGlvbiBsKGUsdCxuPXUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KXtsZXQgcj1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoaS5SRURJUkVDVF9FUlJPUl9DT0RFKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTM5NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gci5kaWdlc3Q9YCR7aS5SRURJUkVDVF9FUlJPUl9DT0RFfTske3R9OyR7ZX07JHtufTtgLHJ9ZnVuY3Rpb24gcyhlLHQpe3Rocm93IGwoZSx0Pz89YT8uZ2V0U3RvcmUoKT8uaXNBY3Rpb24/aS5SZWRpcmVjdFR5cGUucHVzaDppLlJlZGlyZWN0VHlwZS5yZXBsYWNlLHUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KX1mdW5jdGlvbiBjKGUsdD1pLlJlZGlyZWN0VHlwZS5yZXBsYWNlKXt0aHJvdyBsKGUsdCx1LlJlZGlyZWN0U3RhdHVzQ29kZS5QZXJtYW5lbnRSZWRpcmVjdCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4oMCxpLmlzUmVkaXJlY3RFcnJvcikoZSk/ZS5kaWdlc3Quc3BsaXQoIjsiKS5zbGljZSgyLC0yKS5qb2luKCI7Iik6bnVsbH1mdW5jdGlvbiBkKGUpe2lmKCEoMCxpLmlzUmVkaXJlY3RFcnJvcikoZSkpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJOb3QgYSByZWRpcmVjdCBlcnJvciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjYwIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiBlLmRpZ2VzdC5zcGxpdCgiOyIsMilbMV19ZnVuY3Rpb24gcChlKXtpZighKDAsaS5pc1JlZGlyZWN0RXJyb3IpKGUpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiTm90IGEgcmVkaXJlY3QgZXJyb3IiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTI2MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gTnVtYmVyKGUuZGlnZXN0LnNwbGl0KCI7IikuYXQoLTIpKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwxNjg3MiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17QXBwUm91dGVyQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBpfSxHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9LExheW91dFJvdXRlckNvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sTWlzc2luZ1Nsb3RDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFRlbXBsYXRlQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBvIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbyx7ZW51bWVyYWJsZTohMCxnZXQ6cltvXX0pO2xldCB1PWUucig4MTI1OCkuXyhlLnIoNzUyMDEpKSxpPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGE9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCksbD11LmRlZmF1bHQuY3JlYXRlQ29udGV4dChudWxsKSxzPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGM9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobmV3IFNldCl9LDYzMTY1LChlLHQsbik9Pnt2YXIgcj17MjI5OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvPWUuZXhwb3J0cz17fTtmdW5jdGlvbiB1KCl7dGhyb3cgRXJyb3IoInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiBpKCl7dGhyb3cgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfXRyeXt0PSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dX1jYXRjaChlKXt0PXV9dHJ5e249ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6aX1jYXRjaChlKXtuPWl9ZnVuY3Rpb24gYShlKXtpZih0PT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKCh0PT09dXx8IXQpJiZzZXRUaW1lb3V0KXJldHVybiB0PXNldFRpbWVvdXQsc2V0VGltZW91dChlLDApO3RyeXtyZXR1cm4gdChlLDApfWNhdGNoKG4pe3RyeXtyZXR1cm4gdC5jYWxsKG51bGwsZSwwKX1jYXRjaChuKXtyZXR1cm4gdC5jYWxsKHRoaXMsZSwwKX19fXZhciBsPVtdLHM9ITEsYz0tMTtmdW5jdGlvbiBmKCl7cyYmciYmKHM9ITEsci5sZW5ndGg/bD1yLmNvbmNhdChsKTpjPS0xLGwubGVuZ3RoJiZkKCkpfWZ1bmN0aW9uIGQoKXtpZighcyl7dmFyIGU9YShmKTtzPSEwO2Zvcih2YXIgdD1sLmxlbmd0aDt0Oyl7Zm9yKHI9bCxsPVtdOysrYzx0OylyJiZyW2NdLnJ1bigpO2M9LTEsdD1sLmxlbmd0aH1yPW51bGwscz0hMSxmdW5jdGlvbihlKXtpZihuPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQoZSk7aWYoKG49PT1pfHwhbikmJmNsZWFyVGltZW91dClyZXR1cm4gbj1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KGUpO3RyeXtuKGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIG4uY2FsbCh0aGlzLGUpfX19KGUpfX1mdW5jdGlvbiBwKGUsdCl7dGhpcy5mdW49ZSx0aGlzLmFycmF5PXR9ZnVuY3Rpb24geSgpe31vLm5leHRUaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuLTFdPWFyZ3VtZW50c1tuXTtsLnB1c2gobmV3IHAoZSx0KSksMSE9PWwubGVuZ3RofHxzfHxhKGQpfSxwLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxvLnRpdGxlPSJicm93c2VyIixvLmJyb3dzZXI9ITAsby5lbnY9e30sby5hcmd2PVtdLG8udmVyc2lvbj0iIixvLnZlcnNpb25zPXt9LG8ub249eSxvLmFkZExpc3RlbmVyPXksby5vbmNlPXksby5vZmY9eSxvLnJlbW92ZUxpc3RlbmVyPXksby5yZW1vdmVBbGxMaXN0ZW5lcnM9eSxvLmVtaXQ9eSxvLnByZXBlbmRMaXN0ZW5lcj15LG8ucHJlcGVuZE9uY2VMaXN0ZW5lcj15LG8ubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfSxvLmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkIil9LG8uY3dkPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifSxvLmNoZGlyPWZ1bmN0aW9uKGUpe3Rocm93IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0sby51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfX19LG89e307ZnVuY3Rpb24gdShlKXt2YXIgdD1vW2VdO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQuZXhwb3J0czt2YXIgbj1vW2VdPXtleHBvcnRzOnt9fSxpPSEwO3RyeXtyW2VdKG4sbi5leHBvcnRzLHUpLGk9ITF9ZmluYWxseXtpJiZkZWxldGUgb1tlXX1yZXR1cm4gbi5leHBvcnRzfXUuYWI9Ii9ST09UL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfcmVhY3QtZG9tQDE5LjIuM19yZWFjdEAxOS4yLjNfX3JlYWN0QDE5LjIuMy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Byb2Nlc3MvIix0LmV4cG9ydHM9dSgyMjkpfSw4MjYzNywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByLG87dC5leHBvcnRzPShudWxsPT0ocj1lLmcucHJvY2Vzcyk/dm9pZCAwOnIuZW52KSYmIm9iamVjdCI9PXR5cGVvZihudWxsPT0obz1lLmcucHJvY2Vzcyk/dm9pZCAwOm8uZW52KT9lLmcucHJvY2VzczplLnIoNjMxNjUpfSw5OTI5MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50Iik7ZnVuY3Rpb24gbyhlLHQsbil7dmFyIG89bnVsbDtpZih2b2lkIDAhPT1uJiYobz0iIituKSx2b2lkIDAhPT10LmtleSYmKG89IiIrdC5rZXkpLCJrZXkiaW4gdClmb3IodmFyIHUgaW4gbj17fSx0KSJrZXkiIT09dSYmKG5bdV09dFt1XSk7ZWxzZSBuPXQ7cmV0dXJueyQkdHlwZW9mOnIsdHlwZTplLGtleTpvLHJlZjp2b2lkIDAhPT0odD1uLnJlZik/dDpudWxsLHByb3BzOm59fW4uRnJhZ21lbnQ9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxuLmpzeD1vLG4uanN4cz1vfSw5ODEzNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoOTkyOTMpfSw2MzQxNywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPWUuaSg4MjYzNyksbz1TeW1ib2wuZm9yKCJyZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudCIpLHU9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxsPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIikscz1TeW1ib2wuZm9yKCJyZWFjdC5jb25zdW1lciIpLGM9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGY9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxkPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIikscD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIikseT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuZm9yKCJyZWFjdC5hY3Rpdml0eSIpLGg9U3ltYm9sLmZvcigicmVhY3Qudmlld190cmFuc2l0aW9uIiksXz1TeW1ib2wuaXRlcmF0b3IsYj17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0sZz1PYmplY3QuYXNzaWduLG09e307ZnVuY3Rpb24gRShlLHQsbil7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10LHRoaXMucmVmcz1tLHRoaXMudXBkYXRlcj1ufHxifWZ1bmN0aW9uIFMoKXt9ZnVuY3Rpb24gUihlLHQsbil7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10LHRoaXMucmVmcz1tLHRoaXMudXBkYXRlcj1ufHxifUUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sRS5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT1lKXRocm93IEVycm9yKCJ0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsZSx0LCJzZXRTdGF0ZSIpfSxFLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsZSwiZm9yY2VVcGRhdGUiKX0sUy5wcm90b3R5cGU9RS5wcm90b3R5cGU7dmFyIE89Ui5wcm90b3R5cGU9bmV3IFM7Ty5jb25zdHJ1Y3Rvcj1SLGcoTyxFLnByb3RvdHlwZSksTy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgdz1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIFQoKXt9dmFyIGo9e0g6bnVsbCxBOm51bGwsVDpudWxsLFM6bnVsbH0sQT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGsoZSx0LG4pe3ZhciByPW4ucmVmO3JldHVybnskJHR5cGVvZjpvLHR5cGU6ZSxrZXk6dCxyZWY6dm9pZCAwIT09cj9yOm51bGwscHJvcHM6bn19ZnVuY3Rpb24gQyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09b312YXIgTj0vXC8rL2c7ZnVuY3Rpb24gUChlLHQpe3ZhciBuLHI7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/KG49IiIrZS5rZXkscj17Ij0iOiI9MCIsIjoiOiI9MiJ9LCIkIituLnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihlKXtyZXR1cm4gcltlXX0pKTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB4KGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLGk9MDtyZXR1cm4hZnVuY3Rpb24gZSh0LG4scixpLGEpe3ZhciBsLHMsYyxmPXR5cGVvZiB0OygidW5kZWZpbmVkIj09PWZ8fCJib29sZWFuIj09PWYpJiYodD1udWxsKTt2YXIgZD0hMTtpZihudWxsPT09dClkPSEwO2Vsc2Ugc3dpdGNoKGYpe2Nhc2UiYmlnaW50IjpjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmQ9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIG86Y2FzZSB1OmQ9ITA7YnJlYWs7Y2FzZSB5OnJldHVybiBlKChkPXQuX2luaXQpKHQuX3BheWxvYWQpLG4scixpLGEpfX1pZihkKXJldHVybiBhPWEodCksZD0iIj09PWk/Ii4iK1AodCwwKTppLHcoYSk/KHI9IiIsbnVsbCE9ZCYmKHI9ZC5yZXBsYWNlKE4sIiQmLyIpKyIvIiksZShhLG4sciwiIixmdW5jdGlvbihlKXtyZXR1cm4gZX0pKTpudWxsIT1hJiYoQyhhKSYmKGw9YSxzPXIrKG51bGw9PWEua2V5fHx0JiZ0LmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShOLCIkJi8iKSsiLyIpK2QsYT1rKGwudHlwZSxzLGwucHJvcHMpKSxuLnB1c2goYSkpLDE7ZD0wO3ZhciBwPSIiPT09aT8iLiI6aSsiOiI7aWYodyh0KSlmb3IodmFyIHY9MDt2PHQubGVuZ3RoO3YrKylmPXArUChpPXRbdl0sdiksZCs9ZShpLG4scixmLGEpO2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mKHY9bnVsbD09PShjPXQpfHwib2JqZWN0IiE9dHlwZW9mIGM/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoYz1fJiZjW19dfHxjWyJAQGl0ZXJhdG9yIl0pP2M6bnVsbCkpZm9yKHQ9di5jYWxsKHQpLHY9MDshKGk9dC5uZXh0KCkpLmRvbmU7KWY9cCtQKGk9aS52YWx1ZSx2KyspLGQrPWUoaSxuLHIsZixhKTtlbHNlIGlmKCJvYmplY3QiPT09Zil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbilyZXR1cm4gZShmdW5jdGlvbihlKXtzd2l0Y2goZS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZS52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBlLnJlYXNvbjtkZWZhdWx0OnN3aXRjaCgic3RyaW5nIj09dHlwZW9mIGUuc3RhdHVzP2UudGhlbihULFQpOihlLnN0YXR1cz0icGVuZGluZyIsZS50aGVuKGZ1bmN0aW9uKHQpeyJwZW5kaW5nIj09PWUuc3RhdHVzJiYoZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT10KX0sZnVuY3Rpb24odCl7InBlbmRpbmciPT09ZS5zdGF0dXMmJihlLnN0YXR1cz0icmVqZWN0ZWQiLGUucmVhc29uPXQpfSkpLGUuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIGUudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgZS5yZWFzb259fXRocm93IGV9KHQpLG4scixpLGEpO3Rocm93IEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09KG49U3RyaW5nKHQpKT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjpuKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpfXJldHVybiBkfShlLHIsIiIsIiIsZnVuY3Rpb24oZSl7cmV0dXJuIHQuY2FsbChuLGUsaSsrKX0pLHJ9ZnVuY3Rpb24gRChlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbihmdW5jdGlvbih0KXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTEsZS5fcmVzdWx0PXQpfSxmdW5jdGlvbih0KXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTIsZS5fcmVzdWx0PXQpfSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBNPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjpmdW5jdGlvbihlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50KXt2YXIgdD1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmInN0cmluZyI9PXR5cGVvZiBlLm1lc3NhZ2U/U3RyaW5nKGUubWVzc2FnZSk6U3RyaW5nKGUpLGVycm9yOmV9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJiJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHQuZW1pdClyZXR1cm4gdm9pZCByLmRlZmF1bHQuZW1pdCgidW5jYXVnaHRFeGNlcHRpb24iLGUpO2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uICQoZSl7dmFyIHQ9ai5ULG49e307bi50eXBlcz1udWxsIT09dD90LnR5cGVzOm51bGwsai5UPW47dHJ5e3ZhciByPWUoKSxvPWouUztudWxsIT09byYmbyhuLHIpLCJvYmplY3QiPT10eXBlb2YgciYmbnVsbCE9PXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLnRoZW4mJnIudGhlbihULE0pfWNhdGNoKGUpe00oZSl9ZmluYWxseXtudWxsIT09dCYmbnVsbCE9PW4udHlwZXMmJih0LnR5cGVzPW4udHlwZXMpLGouVD10fX1mdW5jdGlvbiBJKGUpe3ZhciB0PWouVDtpZihudWxsIT09dCl7dmFyIG49dC50eXBlcztudWxsPT09bj90LnR5cGVzPVtlXTotMT09PW4uaW5kZXhPZihlKSYmbi5wdXNoKGUpfWVsc2UgJChJLmJpbmQobnVsbCxlKSl9bi5BY3Rpdml0eT12LG4uQ2hpbGRyZW49e21hcDp4LGZvckVhY2g6ZnVuY3Rpb24oZSx0LG4pe3goZSxmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4geChlLGZ1bmN0aW9uKCl7dCsrfSksdH0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4geChlLGZ1bmN0aW9uKGUpe3JldHVybiBlfSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKCFDKGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19LG4uQ29tcG9uZW50PUUsbi5GcmFnbWVudD1pLG4uUHJvZmlsZXI9bCxuLlB1cmVDb21wb25lbnQ9UixuLlN0cmljdE1vZGU9YSxuLlN1c3BlbnNlPWQsbi5WaWV3VHJhbnNpdGlvbj1oLG4uX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWosbi5fX0NPTVBJTEVSX1JVTlRJTUU9e19fcHJvdG9fXzpudWxsLGM6ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VNZW1vQ2FjaGUoZSl9fSxuLmFkZFRyYW5zaXRpb25UeXBlPUksbi5jYWNoZT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseShudWxsLGFyZ3VtZW50cyl9fSxuLmNhY2hlU2lnbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LG4uY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihudWxsPT1lKXRocm93IEVycm9yKCJUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkICIrZSsiLiIpO3ZhciByPWcoe30sZS5wcm9wcyksbz1lLmtleTtpZihudWxsIT10KWZvcih1IGluIHZvaWQgMCE9PXQua2V5JiYobz0iIit0LmtleSksdClBLmNhbGwodCx1KSYmImtleSIhPT11JiYiX19zZWxmIiE9PXUmJiJfX3NvdXJjZSIhPT11JiYoInJlZiIhPT11fHx2b2lkIDAhPT10LnJlZikmJihyW3VdPXRbdV0pO3ZhciB1PWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09dSlyLmNoaWxkcmVuPW47ZWxzZSBpZigxPHUpe2Zvcih2YXIgaT1BcnJheSh1KSxhPTA7YTx1O2ErKylpW2FdPWFyZ3VtZW50c1thKzJdO3IuY2hpbGRyZW49aX1yZXR1cm4gayhlLnR5cGUsbyxyKX0sbi5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpjLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbH0pLlByb3ZpZGVyPWUsZS5Db25zdW1lcj17JCR0eXBlb2Y6cyxfY29udGV4dDplfSxlfSxuLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG89e30sdT1udWxsO2lmKG51bGwhPXQpZm9yKHIgaW4gdm9pZCAwIT09dC5rZXkmJih1PSIiK3Qua2V5KSx0KUEuY2FsbCh0LHIpJiYia2V5IiE9PXImJiJfX3NlbGYiIT09ciYmIl9fc291cmNlIiE9PXImJihvW3JdPXRbcl0pO3ZhciBpPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09aSlvLmNoaWxkcmVuPW47ZWxzZSBpZigxPGkpe2Zvcih2YXIgYT1BcnJheShpKSxsPTA7bDxpO2wrKylhW2xdPWFyZ3VtZW50c1tsKzJdO28uY2hpbGRyZW49YX1pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IociBpbiBpPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW9bcl0mJihvW3JdPWlbcl0pO3JldHVybiBrKGUsdSxvKX0sbi5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sbi5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpmLHJlbmRlcjplfX0sbi5pc1ZhbGlkRWxlbWVudD1DLG4ubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6eSxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkR9fSxuLm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6cCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LG4uc3RhcnRUcmFuc2l0aW9uPSQsbi51bnN0YWJsZV91c2VDYWNoZVJlZnJlc2g9ZnVuY3Rpb24oKXtyZXR1cm4gai5ILnVzZUNhY2hlUmVmcmVzaCgpfSxuLnVzZT1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZShlKX0sbi51c2VBY3Rpb25TdGF0ZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VBY3Rpb25TdGF0ZShlLHQsbil9LG4udXNlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZUNhbGxiYWNrKGUsdCl9LG4udXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZUNvbnRleHQoZSl9LG4udXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sbi51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VEZWZlcnJlZFZhbHVlKGUsdCl9LG4udXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VFZmZlY3QoZSx0KX0sbi51c2VFZmZlY3RFdmVudD1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZUVmZmVjdEV2ZW50KGUpfSxuLnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIGouSC51c2VJZCgpfSxuLnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBqLkgudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LG4udXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sbi51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZUxheW91dEVmZmVjdChlLHQpfSxuLnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZU1lbW8oZSx0KX0sbi51c2VPcHRpbWlzdGljPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VPcHRpbWlzdGljKGUsdCl9LG4udXNlUmVkdWNlcj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VSZWR1Y2VyKGUsdCxuKX0sbi51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VSZWYoZSl9LG4udXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VTdGF0ZShlKX0sbi51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQsbil9LG4udXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBqLkgudXNlVHJhbnNpdGlvbigpfSxuLnZlcnNpb249IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTcifSw3NTIwMSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoNjM0MTcpfSw0NDA2NiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAsbj1uZXcgV2Vha01hcDtyZXR1cm4ocj1mdW5jdGlvbihlKXtyZXR1cm4gZT9uOnR9KShlKX1uLl89ZnVuY3Rpb24oZSx0KXtpZighdCYmZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO2lmKG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXJldHVybntkZWZhdWx0OmV9O3ZhciBuPXIodCk7aWYobiYmbi5oYXMoZSkpcmV0dXJuIG4uZ2V0KGUpO3ZhciBvPXtfX3Byb3RvX186bnVsbH0sdT1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBpIGluIGUpaWYoImRlZmF1bHQiIT09aSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkpe3ZhciBhPXU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLGkpOm51bGw7YSYmKGEuZ2V0fHxhLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KG8saSxhKTpvW2ldPWVbaV19cmV0dXJuIG8uZGVmYXVsdD1lLG4mJm4uc2V0KGUsbyksb319LDgxMjU4LChlLHQsbik9PnsidXNlIHN0cmljdCI7bi5fPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX19LDQ5MjExLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtiaW5kU25hcHNob3Q6ZnVuY3Rpb24oKXtyZXR1cm4gc30sY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sY3JlYXRlU25hcHNob3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtsZXQgdT1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludmFyaWFudDogQXN5bmNMb2NhbFN0b3JhZ2UgYWNjZXNzZWQgaW4gcnVudGltZSB3aGVyZSBpdCBpcyBub3QgYXZhaWxhYmxlIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1MDQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2xhc3MgaXtkaXNhYmxlKCl7dGhyb3cgdX1nZXRTdG9yZSgpe31ydW4oKXt0aHJvdyB1fWV4aXQoKXt0aHJvdyB1fWVudGVyV2l0aCgpe3Rocm93IHV9c3RhdGljIGJpbmQoZSl7cmV0dXJuIGV9fWxldCBhPSJ1Ij50eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcy5Bc3luY0xvY2FsU3RvcmFnZTtmdW5jdGlvbiBsKCl7cmV0dXJuIGE/bmV3IGE6bmV3IGl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gYT9hLmJpbmQoZSk6aS5iaW5kKGUpfWZ1bmN0aW9uIGMoKXtyZXR1cm4gYT9hLnNuYXBzaG90KCk6ZnVuY3Rpb24oZSwuLi50KXtyZXR1cm4gZSguLi50KX19fSw1NjU0OSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPWUucig3NTIwMSk7ZnVuY3Rpb24gbyhlKXt2YXIgdD0iaHR0cHM6Ly9yZWFjdC5kZXYvZXJyb3JzLyIrZTtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe3QrPSI/YXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1sxXSk7Zm9yKHZhciBuPTI7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0Kz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbbl0pfXJldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitlKyI7IHZpc2l0ICIrdCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifWZ1bmN0aW9uIHUoKXt9dmFyIGk9e2Q6e2Y6dSxyOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3Iobyg1MjIpKX0sRDp1LEM6dSxMOnUsbTp1LFg6dSxTOnUsTTp1fSxwOjAsZmluZERPTU5vZGU6bnVsbH0sYT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxsPVN5bWJvbC5mb3IoInJlYWN0Lm9wdGltaXN0aWNfa2V5Iikscz1yLl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERTtmdW5jdGlvbiBjKGUsdCl7cmV0dXJuImZvbnQiPT09ZT8iIjoic3RyaW5nIj09dHlwZW9mIHQ/InVzZS1jcmVkZW50aWFscyI9PT10P3Q6IiI6dm9pZCAwfW4uX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWksbi5jcmVhdGVQb3J0YWw9ZnVuY3Rpb24oZSx0KXt2YXIgbj0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbDtpZighdHx8MSE9PXQubm9kZVR5cGUmJjkhPT10Lm5vZGVUeXBlJiYxMSE9PXQubm9kZVR5cGUpdGhyb3cgRXJyb3IobygyOTkpKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3ZhciByPTM8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjphLGtleTpudWxsPT1yP251bGw6cj09PWw/bDoiIityLGNoaWxkcmVuOmUsY29udGFpbmVySW5mbzp0LGltcGxlbWVudGF0aW9uOm59fShlLHQsbnVsbCxuKX0sbi5mbHVzaFN5bmM9ZnVuY3Rpb24oZSl7dmFyIHQ9cy5ULG49aS5wO3RyeXtpZihzLlQ9bnVsbCxpLnA9MixlKXJldHVybiBlKCl9ZmluYWxseXtzLlQ9dCxpLnA9bixpLmQuZigpfX0sbi5wcmVjb25uZWN0PWZ1bmN0aW9uKGUsdCl7InN0cmluZyI9PXR5cGVvZiBlJiYodD10PyJzdHJpbmciPT10eXBlb2YodD10LmNyb3NzT3JpZ2luKT8idXNlLWNyZWRlbnRpYWxzIj09PXQ/dDoiIjp2b2lkIDA6bnVsbCxpLmQuQyhlLHQpKX0sbi5wcmVmZXRjaEROUz1mdW5jdGlvbihlKXsic3RyaW5nIj09dHlwZW9mIGUmJmkuZC5EKGUpfSxuLnByZWluaXQ9ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIGUmJnQmJiJzdHJpbmciPT10eXBlb2YgdC5hcyl7dmFyIG49dC5hcyxyPWMobix0LmNyb3NzT3JpZ2luKSxvPSJzdHJpbmciPT10eXBlb2YgdC5pbnRlZ3JpdHk/dC5pbnRlZ3JpdHk6dm9pZCAwLHU9InN0cmluZyI9PXR5cGVvZiB0LmZldGNoUHJpb3JpdHk/dC5mZXRjaFByaW9yaXR5OnZvaWQgMDsic3R5bGUiPT09bj9pLmQuUyhlLCJzdHJpbmciPT10eXBlb2YgdC5wcmVjZWRlbmNlP3QucHJlY2VkZW5jZTp2b2lkIDAse2Nyb3NzT3JpZ2luOnIsaW50ZWdyaXR5Om8sZmV0Y2hQcmlvcml0eTp1fSk6InNjcmlwdCI9PT1uJiZpLmQuWChlLHtjcm9zc09yaWdpbjpyLGludGVncml0eTpvLGZldGNoUHJpb3JpdHk6dSxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDB9KX19LG4ucHJlaW5pdE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtpZihudWxsPT10LmFzfHwic2NyaXB0Ij09PXQuYXMpe3ZhciBuPWModC5hcyx0LmNyb3NzT3JpZ2luKTtpLmQuTShlLHtjcm9zc09yaWdpbjpuLGludGVncml0eToic3RyaW5nIj09dHlwZW9mIHQuaW50ZWdyaXR5P3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDB9KX19ZWxzZSBudWxsPT10JiZpLmQuTShlKX0sbi5wcmVsb2FkPWZ1bmN0aW9uKGUsdCl7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQuYXMpe3ZhciBuPXQuYXMscj1jKG4sdC5jcm9zc09yaWdpbik7aS5kLkwoZSxuLHtjcm9zc09yaWdpbjpyLGludGVncml0eToic3RyaW5nIj09dHlwZW9mIHQuaW50ZWdyaXR5P3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDAsdHlwZToic3RyaW5nIj09dHlwZW9mIHQudHlwZT90LnR5cGU6dm9pZCAwLGZldGNoUHJpb3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmZldGNoUHJpb3JpdHk/dC5mZXRjaFByaW9yaXR5OnZvaWQgMCxyZWZlcnJlclBvbGljeToic3RyaW5nIj09dHlwZW9mIHQucmVmZXJyZXJQb2xpY3k/dC5yZWZlcnJlclBvbGljeTp2b2lkIDAsaW1hZ2VTcmNTZXQ6InN0cmluZyI9PXR5cGVvZiB0LmltYWdlU3JjU2V0P3QuaW1hZ2VTcmNTZXQ6dm9pZCAwLGltYWdlU2l6ZXM6InN0cmluZyI9PXR5cGVvZiB0LmltYWdlU2l6ZXM/dC5pbWFnZVNpemVzOnZvaWQgMCxtZWRpYToic3RyaW5nIj09dHlwZW9mIHQubWVkaWE/dC5tZWRpYTp2b2lkIDB9KX19LG4ucHJlbG9hZE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlpZih0KXt2YXIgbj1jKHQuYXMsdC5jcm9zc09yaWdpbik7aS5kLm0oZSx7YXM6InN0cmluZyI9PXR5cGVvZiB0LmFzJiYic2NyaXB0IiE9PXQuYXM/dC5hczp2b2lkIDAsY3Jvc3NPcmlnaW46bixpbnRlZ3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmludGVncml0eT90LmludGVncml0eTp2b2lkIDB9KX1lbHNlIGkuZC5tKGUpfSxuLnJlcXVlc3RGb3JtUmVzZXQ9ZnVuY3Rpb24oZSl7aS5kLnIoZSl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSh0KX0sbi51c2VGb3JtU3RhdGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBzLkgudXNlRm9ybVN0YXRlKGUsdCxuKX0sbi51c2VGb3JtU3RhdHVzPWZ1bmN0aW9uKCl7cmV0dXJuIHMuSC51c2VIb3N0VHJhbnNpdGlvblN0YXR1cygpfSxuLnZlcnNpb249IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTcifSwyOTA4MCwoZSx0LG4pPT57InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInUiPnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSx0LmV4cG9ydHM9ZS5yKDU2NTQ5KX0sODg3NzQsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e2dldERlcGxveW1lbnRJZDpmdW5jdGlvbigpe3JldHVybiB1fSxnZXREZXBsb3ltZW50SWRRdWVyeU9yRW1wdHlTdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtmdW5jdGlvbiB1KCl7cmV0dXJuITF9ZnVuY3Rpb24gaSgpe3JldHVybiIifX0sNDk3MDYsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lLnIoMjkwODApLG89e3N0cmVhbTohMH0sdT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGkodCl7dmFyIG49ZS5yKHQpO3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiBuLnRoZW58fCJmdWxmaWxsZWQiPT09bi5zdGF0dXM/bnVsbDoobi50aGVuKGZ1bmN0aW9uKGUpe24uc3RhdHVzPSJmdWxmaWxsZWQiLG4udmFsdWU9ZX0sZnVuY3Rpb24oZSl7bi5zdGF0dXM9InJlamVjdGVkIixuLnJlYXNvbj1lfSksbil9dmFyIGE9bmV3IFdlYWtTZXQsbD1uZXcgV2Vha1NldDtmdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGModCl7Zm9yKHZhciBuPXRbMV0scj1bXSxvPTA7bzxuLmxlbmd0aDtvKyspe3ZhciB1PWUuTChuW29dKTtpZihsLmhhcyh1KXx8ci5wdXNoKHUpLCFhLmhhcyh1KSl7dmFyIGM9bC5hZGQuYmluZChsLHUpO3UudGhlbihjLHMpLGEuYWRkKHUpfX1yZXR1cm4gND09PXQubGVuZ3RoPzA9PT1yLmxlbmd0aD9pKHRbMF0pOlByb21pc2UuYWxsKHIpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaSh0WzBdKX0pOjA8ci5sZW5ndGg/UHJvbWlzZS5hbGwocik6bnVsbH1mdW5jdGlvbiBmKHQpe3ZhciBuPWUucih0WzBdKTtpZig0PT09dC5sZW5ndGgmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnRoZW4paWYoImZ1bGZpbGxlZCI9PT1uLnN0YXR1cyluPW4udmFsdWU7ZWxzZSB0aHJvdyBuLnJlYXNvbjtyZXR1cm4iKiI9PT10WzJdP246IiI9PT10WzJdP24uX19lc01vZHVsZT9uLmRlZmF1bHQ6bjp1LmNhbGwobix0WzJdKT9uW3RbMl1dOnZvaWQgMH12YXIgZD1yLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxwPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50IikseT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuaXRlcmF0b3IsaD1TeW1ib2wuYXN5bmNJdGVyYXRvcixfPUFycmF5LmlzQXJyYXksYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsZz1PYmplY3QucHJvdG90eXBlLG09bmV3IFdlYWtNYXA7ZnVuY3Rpb24gRShlLHQsbil7bS5oYXMoZSl8fG0uc2V0KGUse2lkOnQsb3JpZ2luYWxCaW5kOmUuYmluZCxib3VuZDpufSl9ZnVuY3Rpb24gUyhlLHQsbil7dGhpcy5zdGF0dXM9ZSx0aGlzLnZhbHVlPXQsdGhpcy5yZWFzb249bn1mdW5jdGlvbiBSKGUpe3N3aXRjaChlLnN0YXR1cyl7Y2FzZSJyZXNvbHZlZF9tb2RlbCI6RChlKTticmVhaztjYXNlInJlc29sdmVkX21vZHVsZSI6TShlKX1zd2l0Y2goZS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZS52YWx1ZTtjYXNlInBlbmRpbmciOmNhc2UiYmxvY2tlZCI6Y2FzZSJoYWx0ZWQiOnRocm93IGU7ZGVmYXVsdDp0aHJvdyBlLnJlYXNvbn19ZnVuY3Rpb24gTyhlLHQsbixyKXtmb3IodmFyIG89MDtvPHQubGVuZ3RoO28rKyl7dmFyIHU9dFtvXTsiZnVuY3Rpb24iPT10eXBlb2YgdT91KG4pOkwoZSx1LG4scil9fWZ1bmN0aW9uIHcoZSx0LG4pe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz10W3JdOyJmdW5jdGlvbiI9PXR5cGVvZiBvP28obik6VShlLG8uaGFuZGxlcixuKX19ZnVuY3Rpb24gVChlLHQpe3ZhciBuPXQuaGFuZGxlci5jaHVuaztpZihudWxsPT09bilyZXR1cm4gbnVsbDtpZihuPT09ZSlyZXR1cm4gdC5oYW5kbGVyO2lmKG51bGwhPT0odD1uLnZhbHVlKSlmb3Iobj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByJiZudWxsIT09KHI9VChlLHIpKSlyZXR1cm4gcn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBqKGUsdCxuLHIpe3N3aXRjaCh0LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOk8oZSxuLHQudmFsdWUsdCk7YnJlYWs7Y2FzZSJibG9ja2VkIjpmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIHU9bltvXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdSl7dmFyIGk9VCh0LHUpO2lmKG51bGwhPT1pKXN3aXRjaChMKGUsdSxpLnZhbHVlLHQpLG4uc3BsaWNlKG8sMSksby0tLG51bGwhPT1yJiYtMSE9PSh1PXIuaW5kZXhPZih1KSkmJnIuc3BsaWNlKHUsMSksdC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpPKGUsbix0LnZhbHVlLHQpO3JldHVybjtjYXNlInJlamVjdGVkIjpudWxsIT09ciYmdyhlLHIsdC5yZWFzb24pO3JldHVybn19fWNhc2UicGVuZGluZyI6aWYodC52YWx1ZSlmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKXQudmFsdWUucHVzaChuW2VdKTtlbHNlIHQudmFsdWU9bjtpZih0LnJlYXNvbil7aWYocilmb3Iobj0wO248ci5sZW5ndGg7bisrKXQucmVhc29uLnB1c2gocltuXSl9ZWxzZSB0LnJlYXNvbj1yO2JyZWFrO2Nhc2UicmVqZWN0ZWQiOnImJncoZSxyLHQucmVhc29uKX19ZnVuY3Rpb24gQShlLHQsbil7aWYoInBlbmRpbmciIT09dC5zdGF0dXMmJiJibG9ja2VkIiE9PXQuc3RhdHVzKXQucmVhc29uLmVycm9yKG4pO2Vsc2V7dmFyIHI9dC5yZWFzb247dC5zdGF0dXM9InJlamVjdGVkIix0LnJlYXNvbj1uLG51bGwhPT1yJiZ3KGUscixuKX19ZnVuY3Rpb24gayhlLHQsbil7cmV0dXJuIG5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsKG4/J3siZG9uZSI6dHJ1ZSwidmFsdWUiOic6J3siZG9uZSI6ZmFsc2UsInZhbHVlIjonKSt0KyJ9IixlKX1mdW5jdGlvbiBDKGUsdCxuLHIpe04oZSx0LChyPyd7ImRvbmUiOnRydWUsInZhbHVlIjonOid7ImRvbmUiOmZhbHNlLCJ2YWx1ZSI6JykrbisifSIpfWZ1bmN0aW9uIE4oZSx0LG4pe2lmKCJwZW5kaW5nIiE9PXQuc3RhdHVzKXQucmVhc29uLmVucXVldWVNb2RlbChuKTtlbHNle3ZhciByPXQudmFsdWUsbz10LnJlYXNvbjt0LnN0YXR1cz0icmVzb2x2ZWRfbW9kZWwiLHQudmFsdWU9bix0LnJlYXNvbj1lLG51bGwhPT1yJiYoRCh0KSxqKGUsdCxyLG8pKX19ZnVuY3Rpb24gUChlLHQsbil7aWYoInBlbmRpbmciPT09dC5zdGF0dXN8fCJibG9ja2VkIj09PXQuc3RhdHVzKXt2YXIgcj10LnZhbHVlLG89dC5yZWFzb247dC5zdGF0dXM9InJlc29sdmVkX21vZHVsZSIsdC52YWx1ZT1uLHQucmVhc29uPW51bGwsbnVsbCE9PXImJihNKHQpLGooZSx0LHIsbykpfX1TLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFByb21pc2UucHJvdG90eXBlKSxTLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHRoaXMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKHRoaXMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKHRoaXMpfXN3aXRjaCh0aGlzLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOiJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlKHRoaXMudmFsdWUpO2JyZWFrO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjoiZnVuY3Rpb24iPT10eXBlb2YgZSYmKG51bGw9PT10aGlzLnZhbHVlJiYodGhpcy52YWx1ZT1bXSksdGhpcy52YWx1ZS5wdXNoKGUpKSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKG51bGw9PT10aGlzLnJlYXNvbiYmKHRoaXMucmVhc29uPVtdKSx0aGlzLnJlYXNvbi5wdXNoKHQpKTticmVhaztjYXNlImhhbHRlZCI6YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iPT10eXBlb2YgdCYmdCh0aGlzLnJlYXNvbil9fTt2YXIgeD1udWxsO2Z1bmN0aW9uIEQoZSl7dmFyIHQ9eDt4PW51bGw7dmFyIG49ZS52YWx1ZSxyPWUucmVhc29uO2Uuc3RhdHVzPSJibG9ja2VkIixlLnZhbHVlPW51bGwsZS5yZWFzb249bnVsbDt0cnl7dmFyIG89SlNPTi5wYXJzZShuLHIuX2Zyb21KU09OKSx1PWUudmFsdWU7aWYobnVsbCE9PXUpZm9yKGUudmFsdWU9bnVsbCxlLnJlYXNvbj1udWxsLG49MDtuPHUubGVuZ3RoO24rKyl7dmFyIGk9dVtuXTsiZnVuY3Rpb24iPT10eXBlb2YgaT9pKG8pOkwocixpLG8sZSl9aWYobnVsbCE9PXgpe2lmKHguZXJyb3JlZCl0aHJvdyB4LnJlYXNvbjtpZigwPHguZGVwcyl7eC52YWx1ZT1vLHguY2h1bms9ZTtyZXR1cm59fWUuc3RhdHVzPSJmdWxmaWxsZWQiLGUudmFsdWU9b31jYXRjaCh0KXtlLnN0YXR1cz0icmVqZWN0ZWQiLGUucmVhc29uPXR9ZmluYWxseXt4PXR9fWZ1bmN0aW9uIE0oZSl7dHJ5e3ZhciB0PWYoZS52YWx1ZSk7ZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT10fWNhdGNoKHQpe2Uuc3RhdHVzPSJyZWplY3RlZCIsZS5yZWFzb249dH19ZnVuY3Rpb24gJChlLHQpe2UuX2Nsb3NlZD0hMCxlLl9jbG9zZWRSZWFzb249dCxlLl9jaHVua3MuZm9yRWFjaChmdW5jdGlvbihuKXsicGVuZGluZyI9PT1uLnN0YXR1cz9BKGUsbix0KToiZnVsZmlsbGVkIj09PW4uc3RhdHVzJiZudWxsIT09bi5yZWFzb24mJm4ucmVhc29uLmVycm9yKHQpfSl9ZnVuY3Rpb24gSShlKXtyZXR1cm57JCR0eXBlb2Y6eSxfcGF5bG9hZDplLF9pbml0OlJ9fWZ1bmN0aW9uIEgoZSx0KXt2YXIgbj1lLl9jaHVua3Mscj1uLmdldCh0KTtyZXR1cm4gcnx8KHI9ZS5fY2xvc2VkP25ldyBTKCJyZWplY3RlZCIsbnVsbCxlLl9jbG9zZWRSZWFzb24pOm5ldyBTKCJwZW5kaW5nIixudWxsLG51bGwpLG4uc2V0KHQscikpLHJ9ZnVuY3Rpb24gTChlLHQsbil7dmFyIHI9dC5oYW5kbGVyLG89dC5wYXJlbnRPYmplY3QsaT10LmtleSxhPXQubWFwLGw9dC5wYXRoO3RyeXtmb3IodmFyIHM9MTtzPGwubGVuZ3RoO3MrKyl7Zm9yKDsib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uJiZuLiQkdHlwZW9mPT09eTspe3ZhciBjPW4uX3BheWxvYWQ7aWYoYz09PXIuY2h1bmspbj1yLnZhbHVlO2Vsc2V7c3dpdGNoKGMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKGMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKGMpfXN3aXRjaChjLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOm49Yy52YWx1ZTtjb250aW51ZTtjYXNlImJsb2NrZWQiOnZhciBmPVQoYyx0KTtpZihudWxsIT09Zil7bj1mLnZhbHVlO2NvbnRpbnVlfWNhc2UicGVuZGluZyI6bC5zcGxpY2UoMCxzLTEpLG51bGw9PT1jLnZhbHVlP2MudmFsdWU9W3RdOmMudmFsdWUucHVzaCh0KSxudWxsPT09Yy5yZWFzb24/Yy5yZWFzb249W3RdOmMucmVhc29uLnB1c2godCk7cmV0dXJuO2Nhc2UiaGFsdGVkIjpyZXR1cm47ZGVmYXVsdDpVKGUsdC5oYW5kbGVyLGMucmVhc29uKTtyZXR1cm59fX12YXIgZD1sW3NdO2lmKCJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4mJnUuY2FsbChuLGQpKW49bltkXTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIHJlZmVyZW5jZS4iKX1mb3IoOyJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4mJm4uJCR0eXBlb2Y9PT15Oyl7dmFyIHY9bi5fcGF5bG9hZDtpZih2PT09ci5jaHVuayluPXIudmFsdWU7ZWxzZXtzd2l0Y2godi5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkQodik7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOk0odil9aWYoImZ1bGZpbGxlZCI9PT12LnN0YXR1cyl7bj12LnZhbHVlO2NvbnRpbnVlfWJyZWFrfX12YXIgaD1hKGUsbixvLGkpO2lmKCJfX3Byb3RvX18iIT09aSYmKG9baV09aCksIiI9PT1pJiZudWxsPT09ci52YWx1ZSYmKHIudmFsdWU9aCksb1swXT09PXAmJiJvYmplY3QiPT10eXBlb2Ygci52YWx1ZSYmbnVsbCE9PXIudmFsdWUmJnIudmFsdWUuJCR0eXBlb2Y9PT1wKXt2YXIgXz1yLnZhbHVlOyIzIj09PWkmJihfLnByb3BzPWgpfX1jYXRjaChuKXtVKGUsdC5oYW5kbGVyLG4pO3JldHVybn1yLmRlcHMtLSwwPT09ci5kZXBzJiZudWxsIT09KHQ9ci5jaHVuaykmJiJibG9ja2VkIj09PXQuc3RhdHVzJiYobj10LnZhbHVlLHQuc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9ci52YWx1ZSx0LnJlYXNvbj1yLnJlYXNvbixudWxsIT09biYmTyhlLG4sci52YWx1ZSx0KSl9ZnVuY3Rpb24gVShlLHQsbil7dC5lcnJvcmVkfHwodC5lcnJvcmVkPSEwLHQudmFsdWU9bnVsbCx0LnJlYXNvbj1uLG51bGwhPT0odD10LmNodW5rKSYmImJsb2NrZWQiPT09dC5zdGF0dXMmJkEoZSx0LG4pKX1mdW5jdGlvbiBGKGUsdCxuLHIsbyx1KXtyZXR1cm4geD8ocj14LHIuZGVwcysrKTpyPXg9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sdD17aGFuZGxlcjpyLHBhcmVudE9iamVjdDp0LGtleTpuLG1hcDpvLHBhdGg6dX0sbnVsbD09PWUudmFsdWU/ZS52YWx1ZT1bdF06ZS52YWx1ZS5wdXNoKHQpLG51bGw9PT1lLnJlYXNvbj9lLnJlYXNvbj1bdF06ZS5yZWFzb24ucHVzaCh0KSxudWxsfWZ1bmN0aW9uIFgoZSx0LG4scil7aWYoIWUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZylyZXR1cm4gZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbz8iZnVsZmlsbGVkIj09PW8uc3RhdHVzP3QocixvLnZhbHVlLmNvbmNhdChlKSk6UHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIHQocixuLmNvbmNhdChlKSl9KTp0KHIsZSl9dmFyIHI9ZS5pZCxvPWUuYm91bmQ7cmV0dXJuIEUobixyLG8pLG59KHQsZS5fY2FsbFNlcnZlcik7dmFyIG89ZnVuY3Rpb24oZSx0KXt2YXIgbj0iIixyPWVbdF07aWYociluPXIubmFtZTtlbHNle3ZhciBvPXQubGFzdEluZGV4T2YoIiMiKTtpZigtMSE9PW8mJihuPXQuc2xpY2UobysxKSxyPWVbdC5zbGljZSgwLG8pXSksIXIpdGhyb3cgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSBtb2R1bGUgIicrdCsnIiBpbiB0aGUgUmVhY3QgU2VydmVyIE1hbmlmZXN0LiBUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyBidW5kbGVyLicpfXJldHVybiByLmFzeW5jP1tyLmlkLHIuY2h1bmtzLG4sMV06W3IuaWQsci5jaHVua3Msbl19KGUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZyx0LmlkKSx1PWMobyk7aWYodSl0LmJvdW5kJiYodT1Qcm9taXNlLmFsbChbdSx0LmJvdW5kXSkpO2Vsc2V7aWYoIXQuYm91bmQpcmV0dXJuIEUodT1mKG8pLHQuaWQsdC5ib3VuZCksdTt1PVByb21pc2UucmVzb2x2ZSh0LmJvdW5kKX1pZih4KXt2YXIgaT14O2kuZGVwcysrfWVsc2UgaT14PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOm51bGwsZGVwczoxLGVycm9yZWQ6ITF9O3JldHVybiB1LnRoZW4oZnVuY3Rpb24oKXt2YXIgdT1mKG8pO2lmKHQuYm91bmQpe3ZhciBhPXQuYm91bmQudmFsdWUuc2xpY2UoMCk7YS51bnNoaWZ0KG51bGwpLHU9dS5iaW5kLmFwcGx5KHUsYSl9RSh1LHQuaWQsdC5ib3VuZCksIl9fcHJvdG9fXyIhPT1yJiYobltyXT11KSwiIj09PXImJm51bGw9PT1pLnZhbHVlJiYoaS52YWx1ZT11KSxuWzBdPT09cCYmIm9iamVjdCI9PXR5cGVvZiBpLnZhbHVlJiZudWxsIT09aS52YWx1ZSYmaS52YWx1ZS4kJHR5cGVvZj09PXAmJihhPWkudmFsdWUsIjMiPT09cikmJihhLnByb3BzPXUpLGkuZGVwcy0tLDA9PT1pLmRlcHMmJm51bGwhPT0odT1pLmNodW5rKSYmImJsb2NrZWQiPT09dS5zdGF0dXMmJihhPXUudmFsdWUsdS5zdGF0dXM9ImZ1bGZpbGxlZCIsdS52YWx1ZT1pLnZhbHVlLHUucmVhc29uPW51bGwsbnVsbCE9PWEmJk8oZSxhLGkudmFsdWUsdSkpfSxmdW5jdGlvbih0KXtpZighaS5lcnJvcmVkKXtpLmVycm9yZWQ9ITAsaS52YWx1ZT1udWxsLGkucmVhc29uPXQ7dmFyIG49aS5jaHVuaztudWxsIT09biYmImJsb2NrZWQiPT09bi5zdGF0dXMmJkEoZSxuLHQpfX0pLG51bGx9ZnVuY3Rpb24gVihlLHQsbixyLG8pe3ZhciB1PXBhcnNlSW50KCh0PXQuc3BsaXQoIjoiKSlbMF0sMTYpO3N3aXRjaCgodT1IKGUsdSkpLnN0YXR1cyl7Y2FzZSJyZXNvbHZlZF9tb2RlbCI6RCh1KTticmVhaztjYXNlInJlc29sdmVkX21vZHVsZSI6TSh1KX1zd2l0Y2godS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjp1PXUudmFsdWU7Zm9yKHZhciBpPTE7aTx0Lmxlbmd0aDtpKyspe2Zvcig7Im9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSYmdS4kJHR5cGVvZj09PXk7KXtzd2l0Y2goKHU9dS5fcGF5bG9hZCkuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKHUpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKHUpfXN3aXRjaCh1LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnU9dS52YWx1ZTticmVhaztjYXNlImJsb2NrZWQiOmNhc2UicGVuZGluZyI6cmV0dXJuIEYodSxuLHIsZSxvLHQuc2xpY2UoaS0xKSk7Y2FzZSJoYWx0ZWQiOnJldHVybiB4PyhlPXgsZS5kZXBzKyspOng9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiB4Pyh4LmVycm9yZWQ9ITAseC52YWx1ZT1udWxsLHgucmVhc29uPXUucmVhc29uKTp4PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOnUucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX11PXVbdFtpXV19Zm9yKDsib2JqZWN0Ij09dHlwZW9mIHUmJm51bGwhPT11JiZ1LiQkdHlwZW9mPT09eTspe3N3aXRjaCgodD11Ll9wYXlsb2FkKS5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkQodCk7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOk0odCl9aWYoImZ1bGZpbGxlZCI9PT10LnN0YXR1cyl7dT10LnZhbHVlO2NvbnRpbnVlfWJyZWFrfXJldHVybiBvKGUsdSxuLHIpO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjpyZXR1cm4gRih1LG4scixlLG8sdCk7Y2FzZSJoYWx0ZWQiOnJldHVybiB4PyhlPXgsZS5kZXBzKyspOng9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiB4Pyh4LmVycm9yZWQ9ITAseC52YWx1ZT1udWxsLHgucmVhc29uPXUucmVhc29uKTp4PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOnUucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX1mdW5jdGlvbiBxKGUsdCl7cmV0dXJuIG5ldyBNYXAodCl9ZnVuY3Rpb24gQihlLHQpe3JldHVybiBuZXcgU2V0KHQpfWZ1bmN0aW9uIFcoZSx0KXtyZXR1cm4gbmV3IEJsb2IodC5zbGljZSgxKSx7dHlwZTp0WzBdfSl9ZnVuY3Rpb24gRyhlLHQpe2U9bmV3IEZvcm1EYXRhO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKWUuYXBwZW5kKHRbbl1bMF0sdFtuXVsxXSk7cmV0dXJuIGV9ZnVuY3Rpb24gSihlLHQpe3JldHVybiB0W1N5bWJvbC5pdGVyYXRvcl0oKX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIHR9ZnVuY3Rpb24geigpe3Rocm93IEVycm9yKCdUcnlpbmcgdG8gY2FsbCBhIGZ1bmN0aW9uIGZyb20gInVzZSBzZXJ2ZXIiIGJ1dCB0aGUgY2FsbFNlcnZlciBvcHRpb24gd2FzIG5vdCBpbXBsZW1lbnRlZCBpbiB5b3VyIHJvdXRlciBydW50aW1lLicpfWZ1bmN0aW9uIFkoZSx0LG4scixvLHUsaSl7dmFyIGEsbD1uZXcgTWFwO3RoaXMuX2J1bmRsZXJDb25maWc9ZSx0aGlzLl9zZXJ2ZXJSZWZlcmVuY2VDb25maWc9dCx0aGlzLl9tb2R1bGVMb2FkaW5nPW4sdGhpcy5fY2FsbFNlcnZlcj12b2lkIDAhPT1yP3I6eix0aGlzLl9lbmNvZGVGb3JtQWN0aW9uPW8sdGhpcy5fbm9uY2U9dSx0aGlzLl9jaHVua3M9bCx0aGlzLl9zdHJpbmdEZWNvZGVyPW5ldyBUZXh0RGVjb2Rlcix0aGlzLl9mcm9tSlNPTj1udWxsLHRoaXMuX2Nsb3NlZD0hMSx0aGlzLl9jbG9zZWRSZWFzb249bnVsbCx0aGlzLl90ZW1wUmVmcz1pLHRoaXMuX2Zyb21KU09OPShhPXRoaXMsZnVuY3Rpb24oZSx0KXtpZigiX19wcm90b19fIiE9PWUpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIG49YSxyPXRoaXMsbz1lLHU9dDtpZigiJCI9PT11WzBdKXtpZigiJCI9PT11KXJldHVybiBudWxsIT09eCYmIjAiPT09byYmKHg9e3BhcmVudDp4LGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjAsZXJyb3JlZDohMX0pLHA7c3dpdGNoKHVbMV0pe2Nhc2UiJCI6cmV0dXJuIHUuc2xpY2UoMSk7Y2FzZSJMIjpyZXR1cm4gSShuPUgobixyPXBhcnNlSW50KHUuc2xpY2UoMiksMTYpKSk7Y2FzZSJAIjpyZXR1cm4gSChuLHI9cGFyc2VJbnQodS5zbGljZSgyKSwxNikpO2Nhc2UiUyI6cmV0dXJuIFN5bWJvbC5mb3IodS5zbGljZSgyKSk7Y2FzZSJoIjpyZXR1cm4gVihuLHU9dS5zbGljZSgyKSxyLG8sWCk7Y2FzZSJUIjppZihyPSIkIit1LnNsaWNlKDIpLG51bGw9PShuPW4uX3RlbXBSZWZzKSl0aHJvdyBFcnJvcigiTWlzc2luZyBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0IGJ1dCB0aGUgUlNDIHJlc3BvbnNlIHJldHVybmVkIGEgdGVtcG9yYXJ5IHJlZmVyZW5jZS4gUGFzcyBhIHRlbXBvcmFyeVJlZmVyZW5jZSBvcHRpb24gd2l0aCB0aGUgc2V0IHRoYXQgd2FzIHVzZWQgd2l0aCB0aGUgcmVwbHkuIik7cmV0dXJuIG4uZ2V0KHIpO2Nhc2UiUSI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLHEpO2Nhc2UiVyI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLEIpO2Nhc2UiQiI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLFcpO2Nhc2UiSyI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLEcpO2Nhc2UiWiI6cmV0dXJuIGVyKCk7Y2FzZSJpIjpyZXR1cm4gVihuLHU9dS5zbGljZSgyKSxyLG8sSik7Y2FzZSJJIjpyZXR1cm4gMS8wO2Nhc2UiLSI6cmV0dXJuIiQtMCI9PT11Py0wOi0xLzA7Y2FzZSJOIjpyZXR1cm4gTmFOO2Nhc2UidSI6cmV0dXJuO2Nhc2UiRCI6cmV0dXJuIG5ldyBEYXRlKERhdGUucGFyc2UodS5zbGljZSgyKSkpO2Nhc2UibiI6cmV0dXJuIEJpZ0ludCh1LnNsaWNlKDIpKTtkZWZhdWx0OnJldHVybiBWKG4sdT11LnNsaWNlKDEpLHIsbyxLKX19cmV0dXJuIHV9aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCl7aWYodFswXT09PXApe2lmKGU9eyQkdHlwZW9mOnAsdHlwZTp0WzFdLGtleTp0WzJdLHJlZjpudWxsLHByb3BzOnRbM119LG51bGwhPT14KXtpZih4PSh0PXgpLnBhcmVudCx0LmVycm9yZWQpZT1JKGU9bmV3IFMoInJlamVjdGVkIixudWxsLHQucmVhc29uKSk7ZWxzZSBpZigwPHQuZGVwcyl7dmFyIGk9bmV3IFMoImJsb2NrZWQiLG51bGwsbnVsbCk7dC52YWx1ZT1lLHQuY2h1bms9aSxlPUkoaSl9fX1lbHNlIGU9dDtyZXR1cm4gZX1yZXR1cm4gdH19KX1mdW5jdGlvbiBRKGUsdCxuKXt2YXIgcj0oZT1lLl9jaHVua3MpLmdldCh0KTtyJiYicGVuZGluZyIhPT1yLnN0YXR1cz9yLnJlYXNvbi5lbnF1ZXVlVmFsdWUobik6KG49bmV3IFMoImZ1bGZpbGxlZCIsbixudWxsKSxlLnNldCh0LG4pKX1mdW5jdGlvbiBaKGUsdCxuLHIpe3ZhciBvPWUuX2NodW5rcyx1PW8uZ2V0KHQpO3U/InBlbmRpbmciPT09dS5zdGF0dXMmJih0PXUudmFsdWUsdS5zdGF0dXM9ImZ1bGZpbGxlZCIsdS52YWx1ZT1uLHUucmVhc29uPXIsbnVsbCE9PXQmJk8oZSx0LHUudmFsdWUsdSkpOihlPW5ldyBTKCJmdWxmaWxsZWQiLG4sciksby5zZXQodCxlKSl9ZnVuY3Rpb24gZWUoZSx0LG4pe3ZhciByPW51bGwsbz0hMTtuPW5ldyBSZWFkYWJsZVN0cmVhbSh7dHlwZTpuLHN0YXJ0OmZ1bmN0aW9uKGUpe3I9ZX19KTt2YXIgdT1udWxsO1ooZSx0LG4se2VucXVldWVWYWx1ZTpmdW5jdGlvbihlKXtudWxsPT09dT9yLmVucXVldWUoZSk6dS50aGVuKGZ1bmN0aW9uKCl7ci5lbnF1ZXVlKGUpfSl9LGVucXVldWVNb2RlbDpmdW5jdGlvbih0KXtpZihudWxsPT09dSl7dmFyIG49bmV3IFMoInJlc29sdmVkX21vZGVsIix0LGUpO0QobiksImZ1bGZpbGxlZCI9PT1uLnN0YXR1cz9yLmVucXVldWUobi52YWx1ZSk6KG4udGhlbihmdW5jdGlvbihlKXtyZXR1cm4gci5lbnF1ZXVlKGUpfSxmdW5jdGlvbihlKXtyZXR1cm4gci5lcnJvcihlKX0pLHU9bil9ZWxzZXtuPXU7dmFyIG89bmV3IFMoInBlbmRpbmciLG51bGwsbnVsbCk7by50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiByLmVucXVldWUoZSl9LGZ1bmN0aW9uKGUpe3JldHVybiByLmVycm9yKGUpfSksdT1vLG4udGhlbihmdW5jdGlvbigpe3U9PT1vJiYodT1udWxsKSxOKGUsbyx0KX0pfX0sY2xvc2U6ZnVuY3Rpb24oKXtpZighbylpZihvPSEwLG51bGw9PT11KXIuY2xvc2UoKTtlbHNle3ZhciBlPXU7dT1udWxsLGUudGhlbihmdW5jdGlvbigpe3JldHVybiByLmNsb3NlKCl9KX19LGVycm9yOmZ1bmN0aW9uKGUpe2lmKCFvKWlmKG89ITAsbnVsbD09PXUpci5lcnJvcihlKTtlbHNle3ZhciB0PXU7dT1udWxsLHQudGhlbihmdW5jdGlvbigpe3JldHVybiByLmVycm9yKGUpfSl9fX0pfWZ1bmN0aW9uIGV0KCl7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZW4oZSx0LG4pe3ZhciByPVtdLG89ITEsdT0wLGk9e307aVtoXT1mdW5jdGlvbigpe3ZhciBlLHQ9MDtyZXR1cm4oZT17bmV4dDplPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUpdGhyb3cgRXJyb3IoIlZhbHVlcyBjYW5ub3QgYmUgcGFzc2VkIHRvIG5leHQoKSBvZiBBc3luY0l0ZXJhYmxlcyBwYXNzZWQgdG8gQ2xpZW50IENvbXBvbmVudHMuIik7aWYodD09PXIubGVuZ3RoKXtpZihvKXJldHVybiBuZXcgUygiZnVsZmlsbGVkIix7ZG9uZTohMCx2YWx1ZTp2b2lkIDB9LG51bGwpO3JbdF09bmV3IFMoInBlbmRpbmciLG51bGwsbnVsbCl9cmV0dXJuIHJbdCsrXX19KVtoXT1ldCxlfSxaKGUsdCxuP2lbaF0oKTppLHtlbnF1ZXVlVmFsdWU6ZnVuY3Rpb24odCl7aWYodT09PXIubGVuZ3RoKXJbdV09bmV3IFMoImZ1bGZpbGxlZCIse2RvbmU6ITEsdmFsdWU6dH0sbnVsbCk7ZWxzZXt2YXIgbj1yW3VdLG89bi52YWx1ZSxpPW4ucmVhc29uO24uc3RhdHVzPSJmdWxmaWxsZWQiLG4udmFsdWU9e2RvbmU6ITEsdmFsdWU6dH0sbi5yZWFzb249bnVsbCxudWxsIT09byYmaihlLG4sbyxpKX11Kyt9LGVucXVldWVNb2RlbDpmdW5jdGlvbih0KXt1PT09ci5sZW5ndGg/clt1XT1rKGUsdCwhMSk6QyhlLHJbdV0sdCwhMSksdSsrfSxjbG9zZTpmdW5jdGlvbih0KXtpZighbylmb3Iobz0hMCx1PT09ci5sZW5ndGg/clt1XT1rKGUsdCwhMCk6QyhlLHJbdV0sdCwhMCksdSsrO3U8ci5sZW5ndGg7KUMoZSxyW3UrK10sJyIkdW5kZWZpbmVkIicsITApfSxlcnJvcjpmdW5jdGlvbih0KXtpZighbylmb3Iobz0hMCx1PT09ci5sZW5ndGgmJihyW3VdPW5ldyBTKCJwZW5kaW5nIixudWxsLG51bGwpKTt1PHIubGVuZ3RoOylBKGUsclt1KytdLHQpfX0pfWZ1bmN0aW9uIGVyKCl7dmFyIGU9RXJyb3IoIkFuIGVycm9yIG9jY3VycmVkIGluIHRoZSBTZXJ2ZXIgQ29tcG9uZW50cyByZW5kZXIuIFRoZSBzcGVjaWZpYyBtZXNzYWdlIGlzIG9taXR0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgdG8gYXZvaWQgbGVha2luZyBzZW5zaXRpdmUgZGV0YWlscy4gQSBkaWdlc3QgcHJvcGVydHkgaXMgaW5jbHVkZWQgb24gdGhpcyBlcnJvciBpbnN0YW5jZSB3aGljaCBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIG5hdHVyZSBvZiB0aGUgZXJyb3IuIik7cmV0dXJuIGUuc3RhY2s9IkVycm9yOiAiK2UubWVzc2FnZSxlfWZ1bmN0aW9uIGVvKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLHI9dC5sZW5ndGgsbz0wO288bjtvKyspcis9ZVtvXS5ieXRlTGVuZ3RoO3I9bmV3IFVpbnQ4QXJyYXkocik7Zm9yKHZhciB1PW89MDt1PG47dSsrKXt2YXIgaT1lW3VdO3Iuc2V0KGksbyksbys9aS5ieXRlTGVuZ3RofXJldHVybiByLnNldCh0LG8pLHJ9ZnVuY3Rpb24gZXUoZSx0LG4scixvLHUpe1EoZSx0LG89bmV3IG8oKG49MD09PW4ubGVuZ3RoJiYwPT1yLmJ5dGVPZmZzZXQldT9yOmVvKG4scikpLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoL3UpKX1mdW5jdGlvbiBlaShlKXskKGUsRXJyb3IoIkNvbm5lY3Rpb24gY2xvc2VkLiIpKX1mdW5jdGlvbiBlYShlKXtyZXR1cm4gbmV3IFkobnVsbCxudWxsLG51bGwsZSYmZS5jYWxsU2VydmVyP2UuY2FsbFNlcnZlcjp2b2lkIDAsdm9pZCAwLHZvaWQgMCxlJiZlLnRlbXBvcmFyeVJlZmVyZW5jZXM/ZS50ZW1wb3JhcnlSZWZlcmVuY2VzOnZvaWQgMCl9ZnVuY3Rpb24gZWwoZSx0LG4pe2Z1bmN0aW9uIHIodCl7JChlLHQpfXZhciB1PXtfcm93U3RhdGU6MCxfcm93SUQ6MCxfcm93VGFnOjAsX3Jvd0xlbmd0aDowLF9idWZmZXI6W119LGk9dC5nZXRSZWFkZXIoKTtpLnJlYWQoKS50aGVuKGZ1bmN0aW9uIHQoYSl7dmFyIGw9YS52YWx1ZTtpZihhLmRvbmUpcmV0dXJuIG4oKTt2YXIgcz0wLGY9dS5fcm93U3RhdGU7YT11Ll9yb3dJRDtmb3IodmFyIHA9dS5fcm93VGFnLHk9dS5fcm93TGVuZ3RoLHY9dS5fYnVmZmVyLGg9bC5sZW5ndGg7czxoOyl7dmFyIF89LTE7c3dpdGNoKGYpe2Nhc2UgMDo1OD09PShfPWxbcysrXSk/Zj0xOmE9YTw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMTo4ND09PShmPWxbc10pfHw2NT09PWZ8fDc5PT09Znx8MTExPT09Znx8OTg9PT1mfHw4NT09PWZ8fDgzPT09Znx8MTE1PT09Znx8NzY9PT1mfHwxMDg9PT1mfHw3MT09PWZ8fDEwMz09PWZ8fDc3PT09Znx8MTA5PT09Znx8ODY9PT1mPyhwPWYsZj0yLHMrKyk6NjQ8ZiYmOTE+Znx8MzU9PT1mfHwxMTQ9PT1mfHwxMjA9PT1mPyhwPWYsZj0zLHMrKyk6KHA9MCxmPTMpO2NvbnRpbnVlO2Nhc2UgMjo0ND09PShfPWxbcysrXSk/Zj00Onk9eTw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMzpfPWwuaW5kZXhPZigxMCxzKTticmVhaztjYXNlIDQ6KF89cyt5KT5sLmxlbmd0aCYmKF89LTEpfXZhciBiPWwuYnl0ZU9mZnNldCtzO2lmKC0xPF8peT1uZXcgVWludDhBcnJheShsLmJ1ZmZlcixiLF8tcyksOTg9PT1wP1EoZSxhLF89PT1oP3k6eS5zbGljZSgpKTpmdW5jdGlvbihlLHQsbixyLHUsaSl7c3dpdGNoKHIpe2Nhc2UgNjU6UShlLG4sZW8odSxpKS5idWZmZXIpO3JldHVybjtjYXNlIDc5OmV1KGUsbix1LGksSW50OEFycmF5LDEpO3JldHVybjtjYXNlIDExMTpRKGUsbiwwPT09dS5sZW5ndGg/aTplbyh1LGkpKTtyZXR1cm47Y2FzZSA4NTpldShlLG4sdSxpLFVpbnQ4Q2xhbXBlZEFycmF5LDEpO3JldHVybjtjYXNlIDgzOmV1KGUsbix1LGksSW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSAxMTU6ZXUoZSxuLHUsaSxVaW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSA3NjpldShlLG4sdSxpLEludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTA4OmV1KGUsbix1LGksVWludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgNzE6ZXUoZSxuLHUsaSxGbG9hdDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTAzOmV1KGUsbix1LGksRmxvYXQ2NEFycmF5LDgpO3JldHVybjtjYXNlIDc3OmV1KGUsbix1LGksQmlnSW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSAxMDk6ZXUoZSxuLHUsaSxCaWdVaW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSA4NjpldShlLG4sdSxpLERhdGFWaWV3LDEpO3JldHVybn10PWUuX3N0cmluZ0RlY29kZXI7Zm9yKHZhciBhPSIiLGw9MDtsPHUubGVuZ3RoO2wrKylhKz10LmRlY29kZSh1W2xdLG8pO3N3aXRjaCh1PWErPXQuZGVjb2RlKGkpLHIpe2Nhc2UgNzM6dmFyIHM9ZSxmPW4scD11LHk9cy5fY2h1bmtzLHY9eS5nZXQoZik7cD1KU09OLnBhcnNlKHAscy5fZnJvbUpTT04pO3ZhciBoPWZ1bmN0aW9uKGUsdCl7aWYoZSl7dmFyIG49ZVt0WzBdXTtpZihlPW4mJm5bdFsyXV0pbj1lLm5hbWU7ZWxzZXtpZighKGU9biYmblsiKiJdKSl0aHJvdyBFcnJvcignQ291bGQgbm90IGZpbmQgdGhlIG1vZHVsZSAiJyt0WzBdKyciIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29uc3VtZXIgTWFuaWZlc3QuIFRoaXMgaXMgcHJvYmFibHkgYSBidWcgaW4gdGhlIFJlYWN0IFNlcnZlciBDb21wb25lbnRzIGJ1bmRsZXIuJyk7bj10WzJdfXJldHVybiA0PT09dC5sZW5ndGg/W2UuaWQsZS5jaHVua3MsbiwxXTpbZS5pZCxlLmNodW5rcyxuXX1yZXR1cm4gdH0ocy5fYnVuZGxlckNvbmZpZyxwKTtpZihwPWMoaCkpe2lmKHYpe3ZhciBfPXY7Xy5zdGF0dXM9ImJsb2NrZWQifWVsc2UgXz1uZXcgUygiYmxvY2tlZCIsbnVsbCxudWxsKSx5LnNldChmLF8pO3AudGhlbihmdW5jdGlvbigpe3JldHVybiBQKHMsXyxoKX0sZnVuY3Rpb24oZSl7cmV0dXJuIEEocyxfLGUpfSl9ZWxzZSB2P1Aocyx2LGgpOih2PW5ldyBTKCJyZXNvbHZlZF9tb2R1bGUiLGgsbnVsbCkseS5zZXQoZix2KSk7YnJlYWs7Y2FzZSA3Mjpzd2l0Y2gobj11WzBdLGU9SlNPTi5wYXJzZSh1PXUuc2xpY2UoMSksZS5fZnJvbUpTT04pLHU9ZC5kLG4pe2Nhc2UiRCI6dS5EKGUpO2JyZWFrO2Nhc2UiQyI6InN0cmluZyI9PXR5cGVvZiBlP3UuQyhlKTp1LkMoZVswXSxlWzFdKTticmVhaztjYXNlIkwiOm49ZVswXSxyPWVbMV0sMz09PWUubGVuZ3RoP3UuTChuLHIsZVsyXSk6dS5MKG4scik7YnJlYWs7Y2FzZSJtIjoic3RyaW5nIj09dHlwZW9mIGU/dS5tKGUpOnUubShlWzBdLGVbMV0pO2JyZWFrO2Nhc2UiWCI6InN0cmluZyI9PXR5cGVvZiBlP3UuWChlKTp1LlgoZVswXSxlWzFdKTticmVhaztjYXNlIlMiOiJzdHJpbmciPT10eXBlb2YgZT91LlMoZSk6dS5TKGVbMF0sMD09PWVbMV0/dm9pZCAwOmVbMV0sMz09PWUubGVuZ3RoP2VbMl06dm9pZCAwKTticmVhaztjYXNlIk0iOiJzdHJpbmciPT10eXBlb2YgZT91Lk0oZSk6dS5NKGVbMF0sZVsxXSl9YnJlYWs7Y2FzZSA2OTppPShyPWUuX2NodW5rcykuZ2V0KG4pLHU9SlNPTi5wYXJzZSh1KSwodD1lcigpKS5kaWdlc3Q9dS5kaWdlc3QsaT9BKGUsaSx0KTooZT1uZXcgUygicmVqZWN0ZWQiLG51bGwsdCksci5zZXQobixlKSk7YnJlYWs7Y2FzZSA4NDoocj0oZT1lLl9jaHVua3MpLmdldChuKSkmJiJwZW5kaW5nIiE9PXIuc3RhdHVzP3IucmVhc29uLmVucXVldWVWYWx1ZSh1KToodT1uZXcgUygiZnVsZmlsbGVkIix1LG51bGwpLGUuc2V0KG4sdSkpO2JyZWFrO2Nhc2UgNzg6Y2FzZSA2ODpjYXNlIDc0OmNhc2UgODc6dGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWFkIGEgUlNDIHBheWxvYWQgY3JlYXRlZCBieSBhIGRldmVsb3BtZW50IHZlcnNpb24gb2YgUmVhY3Qgb24gdGhlIHNlcnZlciB3aGlsZSB1c2luZyBhIHByb2R1Y3Rpb24gdmVyc2lvbiBvbiB0aGUgY2xpZW50LiBBbHdheXMgdXNlIG1hdGNoaW5nIHZlcnNpb25zIG9uIHRoZSBzZXJ2ZXIgYW5kIHRoZSBjbGllbnQuIik7Y2FzZSA4MjplZShlLG4sdm9pZCAwKTticmVhaztjYXNlIDExNDplZShlLG4sImJ5dGVzIik7YnJlYWs7Y2FzZSA4ODplbihlLG4sITEpO2JyZWFrO2Nhc2UgMTIwOmVuKGUsbiwhMCk7YnJlYWs7Y2FzZSA2Nzoobj1lLl9jaHVua3MuZ2V0KG4pKSYmImZ1bGZpbGxlZCI9PT1uLnN0YXR1cyYmbi5yZWFzb24uY2xvc2UoIiI9PT11PyciJHVuZGVmaW5lZCInOnUpO2JyZWFrO2RlZmF1bHQ6KGk9KHI9ZS5fY2h1bmtzKS5nZXQobikpP04oZSxpLHUpOihlPW5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsdSxlKSxyLnNldChuLGUpKX19KGUsdSxhLHAsdix5KSxzPV8sMz09PWYmJnMrKyx5PWE9cD1mPTAsdi5sZW5ndGg9MDtlbHNle2w9bmV3IFVpbnQ4QXJyYXkobC5idWZmZXIsYixsLmJ5dGVMZW5ndGgtcyksOTg9PT1wPyh5LT1sLmJ5dGVMZW5ndGgsUShlLGEsbCkpOih2LnB1c2gobCkseS09bC5ieXRlTGVuZ3RoKTticmVha319cmV0dXJuIHUuX3Jvd1N0YXRlPWYsdS5fcm93SUQ9YSx1Ll9yb3dUYWc9cCx1Ll9yb3dMZW5ndGg9eSxpLnJlYWQoKS50aGVuKHQpLmNhdGNoKHIpfSkuY2F0Y2gocil9bi5jcmVhdGVGcm9tRmV0Y2g9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lYSh0KTtyZXR1cm4gZS50aGVuKGZ1bmN0aW9uKGUpe2VsKG4sZS5ib2R5LGVpLmJpbmQobnVsbCxuKSl9LGZ1bmN0aW9uKGUpeyQobixlKX0pLEgobiwwKX0sbi5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW09ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZWwodD1lYSh0KSxlLGVpLmJpbmQobnVsbCx0KSksSCh0LDApfSxuLmNyZWF0ZVNlcnZlclJlZmVyZW5jZT1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oKXt2YXIgbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiB0KGUsbil9cmV0dXJuIEUobixlLG51bGwpLG59LG4uY3JlYXRlVGVtcG9yYXJ5UmVmZXJlbmNlU2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9LG4uZW5jb2RlUmVwbHk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt2YXIgbz1mdW5jdGlvbihlLHQsbixyLG8pe2Z1bmN0aW9uIHUoZSx0KXt0PW5ldyBCbG9iKFtuZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKV0pO3ZhciBuPWwrKztyZXR1cm4gbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksYy5hcHBlbmQoIiIrbix0KSwiJCIrZStuLnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBpKGUsdCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtzd2l0Y2godC4kJHR5cGVvZil7Y2FzZSBwOmlmKHZvaWQgMCE9PW4mJi0xPT09ZS5pbmRleE9mKCI6Iikpe3ZhciBFLFMsUixPLHcsVD1mLmdldCh0aGlzKTtpZih2b2lkIDAhPT1UKXJldHVybiBuLnNldChUKyI6IitlLHQpLCIkVCJ9dGhyb3cgRXJyb3IoIlJlYWN0IEVsZW1lbnQgY2Fubm90IGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zIGZyb20gdGhlIENsaWVudCB3aXRob3V0IGEgdGVtcG9yYXJ5IHJlZmVyZW5jZSBzZXQuIFBhc3MgYSBUZW1wb3JhcnlSZWZlcmVuY2VTZXQgdG8gdGhlIG9wdGlvbnMuIik7Y2FzZSB5OlQ9dC5fcGF5bG9hZDt2YXIgaj10Ll9pbml0O251bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLHMrKzt0cnl7dmFyIEE9aihUKSxrPWwrKyxDPWEoQSxrKTtyZXR1cm4gYy5hcHBlbmQoIiIrayxDKSwiJCIray50b1N0cmluZygxNil9Y2F0Y2goZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil7cysrO3ZhciBOPWwrKztyZXR1cm4gVD1mdW5jdGlvbigpe3RyeXt2YXIgZT1hKHQsTiksbj1jO24uYXBwZW5kKCIiK04sZSkscy0tLDA9PT1zJiZyKG4pfWNhdGNoKGUpe28oZSl9fSxlLnRoZW4oVCxUKSwiJCIrTi50b1N0cmluZygxNil9cmV0dXJuIG8oZSksbnVsbH1maW5hbGx5e3MtLX19aWYoVD1mLmdldCh0KSwiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuKXtpZih2b2lkIDAhPT1UKWlmKGQhPT10KXJldHVybiBUO2Vsc2UgZD1udWxsO251bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLHMrKzt2YXIgUD1sKys7cmV0dXJuIGU9IiRAIitQLnRvU3RyaW5nKDE2KSxmLnNldCh0LGUpLHQudGhlbihmdW5jdGlvbihlKXt0cnl7dmFyIHQ9Zi5nZXQoZSksbj12b2lkIDAhPT10P0pTT04uc3RyaW5naWZ5KHQpOmEoZSxQKTsoZT1jKS5hcHBlbmQoIiIrUCxuKSxzLS0sMD09PXMmJnIoZSl9Y2F0Y2goZSl7byhlKX19LG8pLGV9aWYodm9pZCAwIT09VClpZihkIT09dClyZXR1cm4gVDtlbHNlIGQ9bnVsbDtlbHNlIC0xPT09ZS5pbmRleE9mKCI6IikmJnZvaWQgMCE9PShUPWYuZ2V0KHRoaXMpKSYmKGU9VCsiOiIrZSxmLnNldCh0LGUpLHZvaWQgMCE9PW4mJm4uc2V0KGUsdCkpO2lmKF8odCkpcmV0dXJuIHQ7aWYodCBpbnN0YW5jZW9mIEZvcm1EYXRhKXtudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKTt2YXIgeD1jLEQ9IiIrKGU9bCsrKSsiXyI7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlLHQpe3guYXBwZW5kKEQrdCxlKX0pLCIkSyIrZS50b1N0cmluZygxNil9aWYodCBpbnN0YW5jZW9mIE1hcClyZXR1cm4gZT1sKyssVD1hKEFycmF5LmZyb20odCksZSksbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksYy5hcHBlbmQoIiIrZSxUKSwiJFEiK2UudG9TdHJpbmcoMTYpO2lmKHQgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIGU9bCsrLFQ9YShBcnJheS5mcm9tKHQpLGUpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGMuYXBwZW5kKCIiK2UsVCksIiRXIitlLnRvU3RyaW5nKDE2KTtpZih0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpcmV0dXJuIGU9bmV3IEJsb2IoW3RdKSxUPWwrKyxudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKSxjLmFwcGVuZCgiIitULGUpLCIkQSIrVC50b1N0cmluZygxNik7aWYodCBpbnN0YW5jZW9mIEludDhBcnJheSlyZXR1cm4gdSgiTyIsdCk7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIHUoIm8iLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSlyZXR1cm4gdSgiVSIsdCk7aWYodCBpbnN0YW5jZW9mIEludDE2QXJyYXkpcmV0dXJuIHUoIlMiLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50MTZBcnJheSlyZXR1cm4gdSgicyIsdCk7aWYodCBpbnN0YW5jZW9mIEludDMyQXJyYXkpcmV0dXJuIHUoIkwiLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50MzJBcnJheSlyZXR1cm4gdSgibCIsdCk7aWYodCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSlyZXR1cm4gdSgiRyIsdCk7aWYodCBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheSlyZXR1cm4gdSgiZyIsdCk7aWYodCBpbnN0YW5jZW9mIEJpZ0ludDY0QXJyYXkpcmV0dXJuIHUoIk0iLHQpO2lmKHQgaW5zdGFuY2VvZiBCaWdVaW50NjRBcnJheSlyZXR1cm4gdSgibSIsdCk7aWYodCBpbnN0YW5jZW9mIERhdGFWaWV3KXJldHVybiB1KCJWIix0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YgQmxvYiYmdCBpbnN0YW5jZW9mIEJsb2IpcmV0dXJuIG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGU9bCsrLGMuYXBwZW5kKCIiK2UsdCksIiRCIitlLnRvU3RyaW5nKDE2KTtpZihlPW51bGw9PT0oRT10KXx8Im9iamVjdCIhPXR5cGVvZiBFP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKEU9diYmRVt2XXx8RVsiQEBpdGVyYXRvciJdKT9FOm51bGwpcmV0dXJuKFQ9ZS5jYWxsKHQpKT09PXQ/KGU9bCsrLFQ9YShBcnJheS5mcm9tKFQpLGUpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGMuYXBwZW5kKCIiK2UsVCksIiRpIitlLnRvU3RyaW5nKDE2KSk6QXJyYXkuZnJvbShUKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUmVhZGFibGVTdHJlYW0mJnQgaW5zdGFuY2VvZiBSZWFkYWJsZVN0cmVhbSlyZXR1cm4gZnVuY3Rpb24oZSl7dHJ5e3ZhciB0LG4sdSxhLGYsZCxwLHk9ZS5nZXRSZWFkZXIoe21vZGU6ImJ5b2IifSl9Y2F0Y2goYSl7cmV0dXJuIHQ9ZS5nZXRSZWFkZXIoKSxudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKSxuPWMscysrLHU9bCsrLHQucmVhZCgpLnRoZW4oZnVuY3Rpb24gZShhKXtpZihhLmRvbmUpbi5hcHBlbmQoIiIrdSwiQyIpLDA9PS0tcyYmcihuKTtlbHNlIHRyeXt2YXIgbD1KU09OLnN0cmluZ2lmeShhLnZhbHVlLGkpO24uYXBwZW5kKCIiK3UsbCksdC5yZWFkKCkudGhlbihlLG8pfWNhdGNoKGUpe28oZSl9fSxvKSwiJFIiK3UudG9TdHJpbmcoMTYpfXJldHVybiBhPXksbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksZj1jLHMrKyxkPWwrKyxwPVtdLGEucmVhZChuZXcgVWludDhBcnJheSgxMDI0KSkudGhlbihmdW5jdGlvbiBlKHQpe3QuZG9uZT8odD1sKyssZi5hcHBlbmQoIiIrdCxuZXcgQmxvYihwKSksZi5hcHBlbmQoIiIrZCwnIiRvJyt0LnRvU3RyaW5nKDE2KSsnIicpLGYuYXBwZW5kKCIiK2QsIkMiKSwwPT0tLXMmJnIoZikpOihwLnB1c2godC52YWx1ZSksYS5yZWFkKG5ldyBVaW50OEFycmF5KDEwMjQpKS50aGVuKGUsbykpfSxvKSwiJHIiK2QudG9TdHJpbmcoMTYpfSh0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YoZT10W2hdKSlyZXR1cm4gUz10LFI9ZS5jYWxsKHQpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLE89YyxzKyssdz1sKyssUz1TPT09UixSLm5leHQoKS50aGVuKGZ1bmN0aW9uIGUodCl7aWYodC5kb25lKXtpZih2b2lkIDA9PT10LnZhbHVlKU8uYXBwZW5kKCIiK3csIkMiKTtlbHNlIHRyeXt2YXIgbj1KU09OLnN0cmluZ2lmeSh0LnZhbHVlLGkpO08uYXBwZW5kKCIiK3csIkMiK24pfWNhdGNoKGUpe28oZSk7cmV0dXJufTA9PS0tcyYmcihPKX1lbHNlIHRyeXt2YXIgdT1KU09OLnN0cmluZ2lmeSh0LnZhbHVlLGkpO08uYXBwZW5kKCIiK3csdSksUi5uZXh0KCkudGhlbihlLG8pfWNhdGNoKGUpe28oZSl9fSxvKSwiJCIrKFM/IngiOiJYIikrdy50b1N0cmluZygxNik7aWYoKGU9Yih0KSkhPT1nJiYobnVsbD09PWV8fG51bGwhPT1iKGUpKSl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcigiT25seSBwbGFpbiBvYmplY3RzLCBhbmQgYSBmZXcgYnVpbHQtaW5zLCBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMuIENsYXNzZXMgb3IgbnVsbCBwcm90b3R5cGVzIGFyZSBub3Qgc3VwcG9ydGVkLiIpO3JldHVybiIkVCJ9cmV0dXJuIHR9aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiJaIj09PXRbdC5sZW5ndGgtMV0mJnRoaXNbZV1pbnN0YW5jZW9mIERhdGU/IiREIit0OmU9IiQiPT09dFswXT8iJCIrdDp0O2lmKCJib29sZWFuIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiBOdW1iZXIuaXNGaW5pdGUodCk/MD09PXQmJi0xLzA9PTEvdD8iJC0wIjp0OjEvMD09PXQ/IiRJbmZpbml0eSI6LTEvMD09PXQ/IiQtSW5maW5pdHkiOiIkTmFOIjtpZih2b2lkIDA9PT10KXJldHVybiIkdW5kZWZpbmVkIjtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCl7aWYodm9pZCAwIT09KFQ9bS5nZXQodCkpKXJldHVybiB2b2lkIDAhPT0oZT1mLmdldCh0KSl8fChlPUpTT04uc3RyaW5naWZ5KHtpZDpULmlkLGJvdW5kOlQuYm91bmR9LGkpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLFQ9bCsrLGMuc2V0KCIiK1QsZSksZT0iJGgiK1QudG9TdHJpbmcoMTYpLGYuc2V0KHQsZSkpLGU7aWYodm9pZCAwIT09biYmLTE9PT1lLmluZGV4T2YoIjoiKSYmdm9pZCAwIT09KFQ9Zi5nZXQodGhpcykpKXJldHVybiBuLnNldChUKyI6IitlLHQpLCIkVCI7dGhyb3cgRXJyb3IoIkNsaWVudCBGdW5jdGlvbnMgY2Fubm90IGJlIHBhc3NlZCBkaXJlY3RseSB0byBTZXJ2ZXIgRnVuY3Rpb25zLiBPbmx5IEZ1bmN0aW9ucyBwYXNzZWQgZnJvbSB0aGUgU2VydmVyIGNhbiBiZSBwYXNzZWQgYmFjayBhZ2Fpbi4iKX1pZigic3ltYm9sIj09dHlwZW9mIHQpe2lmKHZvaWQgMCE9PW4mJi0xPT09ZS5pbmRleE9mKCI6IikmJnZvaWQgMCE9PShUPWYuZ2V0KHRoaXMpKSlyZXR1cm4gbi5zZXQoVCsiOiIrZSx0KSwiJFQiO3Rocm93IEVycm9yKCJTeW1ib2xzIGNhbm5vdCBiZSBwYXNzZWQgdG8gYSBTZXJ2ZXIgRnVuY3Rpb24gd2l0aG91dCBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0LiBQYXNzIGEgVGVtcG9yYXJ5UmVmZXJlbmNlU2V0IHRvIHRoZSBvcHRpb25zLiIpfWlmKCJiaWdpbnQiPT10eXBlb2YgdClyZXR1cm4iJG4iK3QudG9TdHJpbmcoMTApO3Rocm93IEVycm9yKCJUeXBlICIrdHlwZW9mIHQrIiBpcyBub3Qgc3VwcG9ydGVkIGFzIGFuIGFyZ3VtZW50IHRvIGEgU2VydmVyIEZ1bmN0aW9uLiIpfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYodD0iJCIrdC50b1N0cmluZygxNiksZi5zZXQoZSx0KSx2b2lkIDAhPT1uJiZuLnNldCh0LGUpKSxkPWUsSlNPTi5zdHJpbmdpZnkoZSxpKX12YXIgbD0xLHM9MCxjPW51bGwsZj1uZXcgV2Vha01hcCxkPWUsRT1hKGUsMCk7cmV0dXJuIG51bGw9PT1jP3IoRSk6KGMuc2V0KCIwIixFKSwwPT09cyYmcihjKSksZnVuY3Rpb24oKXswPHMmJihzPTAsbnVsbD09PWM/cihFKTpyKGMpKX19KGUsMCx0JiZ0LnRlbXBvcmFyeVJlZmVyZW5jZXM/dC50ZW1wb3JhcnlSZWZlcmVuY2VzOnZvaWQgMCxuLHIpO2lmKHQmJnQuc2lnbmFsKXt2YXIgdT10LnNpZ25hbDtpZih1LmFib3J0ZWQpbyh1LnJlYXNvbik7ZWxzZXt2YXIgaT1mdW5jdGlvbigpe28odS5yZWFzb24pLHUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGkpfTt1LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixpKX19fSl9LG4ucmVnaXN0ZXJTZXJ2ZXJSZWZlcmVuY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRShlLHQsbnVsbCksZX19LDkxNTk4LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig0OTcwNil9LDc1MDQ1LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig5MTU5OCl9LDU5NDMwLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByLG89e0FDVElPTl9ITVJfUkVGUkVTSDpmdW5jdGlvbigpe3JldHVybiBjfSxBQ1RJT05fTkFWSUdBVEU6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sQUNUSU9OX1JFRlJFU0g6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sQUNUSU9OX1JFU1RPUkU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sQUNUSU9OX1NFUlZFUl9BQ1RJT046ZnVuY3Rpb24oKXtyZXR1cm4gZn0sQUNUSU9OX1NFUlZFUl9QQVRDSDpmdW5jdGlvbigpe3JldHVybiBzfSxQcmVmZXRjaEtpbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gZH19O2Zvcih2YXIgdSBpbiBvKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHUse2VudW1lcmFibGU6ITAsZ2V0Om9bdV19KTtsZXQgaT0icmVmcmVzaCIsYT0ibmF2aWdhdGUiLGw9InJlc3RvcmUiLHM9InNlcnZlci1wYXRjaCIsYz0iaG1yLXJlZnJlc2giLGY9InNlcnZlci1hY3Rpb24iO3ZhciBkPSgocj17fSkuQVVUTz0iYXV0byIsci5GVUxMPSJmdWxsIixyKTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5MTc2OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGUmJiJ0aGVuImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnRoZW59T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJpc1RoZW5hYmxlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KX0sOTQ4NzksKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e2Rpc3BhdGNoQXBwUm91dGVyQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHVzZUFjdGlvblF1ZXVlOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIG8gaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixvLHtlbnVtZXJhYmxlOiEwLGdldDpyW29dfSk7bGV0IHU9ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9ZS5yKDkxNzY4KSxhPW51bGw7ZnVuY3Rpb24gbChlKXtpZihudWxsPT09YSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7YShlKX1mdW5jdGlvbiBzKGUpe2xldFt0LG5dPXUuZGVmYXVsdC51c2VTdGF0ZShlLnN0YXRlKTthPXQ9PmUuZGlzcGF0Y2godCxuKTtsZXQgcj0oMCx1LnVzZU1lbW8pKCgpPT50LFt0XSk7cmV0dXJuKDAsaS5pc1RoZW5hYmxlKShyKT8oMCx1LnVzZSkocik6cn0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMDkzMSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiY2FsbFNlcnZlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSk7bGV0IHI9ZS5yKDc1MjAxKSxvPWUucig1OTQzMCksdT1lLnIoOTQ4NzkpO2FzeW5jIGZ1bmN0aW9uIGkoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKG4saSk9PnsoMCxyLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCx1LmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpvLkFDVElPTl9TRVJWRVJfQUNUSU9OLGFjdGlvbklkOmUsYWN0aW9uQXJnczp0LHJlc29sdmU6bixyZWplY3Q6aX0pfSl9KX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw4OTU5NCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2xldCByO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZmluZFNvdXJjZU1hcFVSTCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSk7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX1dKTs="}},"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":"coinlib.io/_next/static/chunks/9df3b67b6061ea9e.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.531Z","timestamp":1785129949531,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/9df3b67b6061ea9e.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 7741355\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"9df3b67b6061ea9e.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"c678a91c2c6476c2f4253bbb2f68861b\"\r\nlast-modified: Tue, 28 Apr 2026 14:50:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/9df3b67b6061ea9e.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::qglf9-1777388594160-6b3c36de26cf\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=QUM3tZtOpjRuDpExOwkV%2FVF0PlOOVoFTzt4vP%2FgzVz9NxpV4p03Ph7tdiC1CBMW9OS16%2Br6oxY6W4NToOf72nBbcVTyvXkE5wbLBeir%2BnzH%2F0MXcm24ZDMktWXzd\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c89d2ea0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":33297,"size_decoded":9773,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (19585)","md5":"c678a91c2c6476c2f4253bbb2f68861b","sha1":"69b7933df2474b5a89bafec3ed00c63e7a38fd6c","sha256":"ee32b6de09c560980545699191b3ba6ebd9847bba1e07b95f5a5ddf359bfc353","sha512":"f3ae2a1ace9a1a1c354782702e328db28abd4864d69e33e7e6e72cc82ce93e5142093752a6b82a5d21f62e953ed27f5101956c00407e5d2d9527eb36435d1584","ssdeep":"384:EjUDGGRCRvBrTfIVZ/X+0o3NkOG4+Z47auBSwTNGFJl:4vB/8Z/X+0o3KZzZ47auJG","tlshash":"dce2c7b572d5faa2139340f0c83f2017f2784c7521ac7460a7e4cc9b765888da6bafd9","first_seen":"2026-02-04T14:24:19.872146Z","last_seen":"2026-08-15T07:58:28.177003Z","times_seen":2316,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQxMDYyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJJbnZhcmlhbnRFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoYEludmFyaWFudDogJHtlLmVuZHNXaXRoKCIuIik/ZTplKyIuIn0gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzLmAsdCksdGhpcy5uYW1lPSJJbnZhcmlhbnRFcnJvciJ9fX0sODQwODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0JhaWxvdXRUb0NTUkVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzQmFpbG91dFRvQ1NSRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iQkFJTE9VVF9UT19DTElFTlRfU0lERV9SRU5ERVJJTkciO2NsYXNzIGkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihgQmFpbCBvdXQgdG8gY2xpZW50LXNpZGUgcmVuZGVyaW5nOiAke2V9YCksdGhpcy5yZWFzb249ZSx0aGlzLmRpZ2VzdD1vfX1mdW5jdGlvbiB1KGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJkaWdlc3QiaW4gZSYmZS5kaWdlc3Q9PT1vfX0sNTMxMzMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hUVFBBY2Nlc3NFcnJvclN0YXR1czpmdW5jdGlvbigpe3JldHVybiBvfSxIVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sZ2V0QWNjZXNzRmFsbGJhY2tFcnJvclR5cGVCeVN0YXR1czpmdW5jdGlvbigpe3JldHVybiBkfSxnZXRBY2Nlc3NGYWxsYmFja0hUVFBTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gY30saXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcjpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPXtOT1RfRk9VTkQ6NDA0LEZPUkJJRERFTjo0MDMsVU5BVVRIT1JJWkVEOjQwMX0saT1uZXcgU2V0KE9iamVjdC52YWx1ZXMobykpLHU9Ik5FWFRfSFRUUF9FUlJPUl9GQUxMQkFDSyI7ZnVuY3Rpb24gcyhlKXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwhKCJkaWdlc3QiaW4gZSl8fCJzdHJpbmciIT10eXBlb2YgZS5kaWdlc3QpcmV0dXJuITE7bGV0W3Qscl09ZS5kaWdlc3Quc3BsaXQoIjsiKTtyZXR1cm4gdD09PXUmJmkuaGFzKE51bWJlcihyKSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gTnVtYmVyKGUuZGlnZXN0LnNwbGl0KCI7IilbMV0pfWZ1bmN0aW9uIGQoZSl7c3dpdGNoKGUpe2Nhc2UgNDAxOnJldHVybiJ1bmF1dGhvcml6ZWQiO2Nhc2UgNDAzOnJldHVybiJmb3JiaWRkZW4iO2Nhc2UgNDA0OnJldHVybiJub3QtZm91bmQiO2RlZmF1bHQ6cmV0dXJufX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0OTg0MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaXNOZXh0Um91dGVyRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig1MzEzMyksYT1lLnIoOTA4NjIpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsYS5pc1JlZGlyZWN0RXJyb3IpKGUpfHwoMCxuLmlzSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3IpKGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDM5Mjc1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIk1ldGhvZCB1bmF2YWlsYWJsZSBvbiBgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNgLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VhcmNoLXBhcmFtcyN1cGRhdGluZy1zZWFyY2hwYXJhbXMiKX19Y2xhc3MgYSBleHRlbmRzIFVSTFNlYXJjaFBhcmFtc3thcHBlbmQoKXt0aHJvdyBuZXcgbn1kZWxldGUoKXt0aHJvdyBuZXcgbn1zZXQoKXt0aHJvdyBuZXcgbn1zb3J0KCl7dGhyb3cgbmV3IG59fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMxODk5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtOYXZpZ2F0aW9uUHJvbWlzZXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFBhdGhQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFBhdGhuYW1lQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBzfSxSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBpLlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxTZWFyY2hQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGNyZWF0ZURldlRvb2xzSW5zdHJ1bWVudGVkUHJvbWlzZTpmdW5jdGlvbigpe3JldHVybiBsfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPWUucig3NTIwMSksaT1lLnIoMzkyNzUpLHU9KDAsby5jcmVhdGVDb250ZXh0KShudWxsKSxzPSgwLG8uY3JlYXRlQ29udGV4dCkobnVsbCksYz0oMCxvLmNyZWF0ZUNvbnRleHQpKG51bGwpLGQ9KDAsby5jcmVhdGVDb250ZXh0KShudWxsKTtmdW5jdGlvbiBsKGUsdCl7bGV0IHI9UHJvbWlzZS5yZXNvbHZlKHQpO3JldHVybiByLnN0YXR1cz0iZnVsZmlsbGVkIixyLnZhbHVlPXQsci5kaXNwbGF5TmFtZT1gJHtlfSAoU1NSKWAscn19LDMzOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwid29ya1VuaXRBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sMTI5NjUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldENhY2hlU2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LGdldERyYWZ0TW9kZVByb3ZpZGVyRm9yQ2FjaGVTY29wZTpmdW5jdGlvbigpe3JldHVybiBtfSxnZXRIbXJSZWZyZXNoSGFzaDpmdW5jdGlvbigpe3JldHVybiBmfSxnZXRQcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0UmVuZGVyUmVzdW1lRGF0YUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFJ1bnRpbWVTdGFnZVByb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sZ2V0U2VydmVyQ29tcG9uZW50c0htckNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGlzSG1yUmVmcmVzaDpmdW5jdGlvbigpe3JldHVybiBwfSx0aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gc30sdGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sd29ya1VuaXRBc3luY1N0b3JhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gby53b3JrVW5pdEFzeW5jU3RvcmFnZUluc3RhbmNlfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPWUucigzMzkpLGk9ZS5yKDM0NjQxKSx1PWUucig0MTA2Mik7ZnVuY3Rpb24gcyhlKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgb3V0c2lkZSBhIHJlcXVlc3Qgc2NvcGUuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1keW5hbWljLWFwaS13cm9uZy1jb250ZXh0YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyNTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9ZnVuY3Rpb24gYygpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1VuaXRBc3luY1N0b3JhZ2UgdG8gaGF2ZSBhIHN0b3JlLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNjk2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfWZ1bmN0aW9uIGQoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJyZXF1ZXN0IjppZihlLnByZXJlbmRlclJlc3VtZURhdGFDYWNoZSlyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGwoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJyZXF1ZXN0IjpjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjppZihlLnJlbmRlclJlc3VtZURhdGFDYWNoZSlyZXR1cm4gZS5yZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJwcmVyZW5kZXItcHByIjpyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU/P251bGw7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGYoZSx0KXtpZihlLmRldilzd2l0Y2godC50eXBlKXtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1ydW50aW1lIjpyZXR1cm4gdC5obXJSZWZyZXNoSGFzaDtjYXNlInJlcXVlc3QiOnZhciByO3JldHVybiBudWxsPT0ocj10LmNvb2tpZXMuZ2V0KGkuTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRSkpP3ZvaWQgMDpyLnZhbHVlfX1mdW5jdGlvbiBwKGUsdCl7aWYoZS5kZXYpc3dpdGNoKHQudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInJlcXVlc3QiOnJldHVybiB0LmlzSG1yUmVmcmVzaD8/ITF9cmV0dXJuITF9ZnVuY3Rpb24gaChlLHQpe2lmKGUuZGV2KXN3aXRjaCh0LnR5cGUpe2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gdC5zZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGV9fWZ1bmN0aW9uIG0oZSx0KXtpZihlLmlzRHJhZnRNb2RlKXN3aXRjaCh0LnR5cGUpe2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gdC5kcmFmdE1vZGV9fWZ1bmN0aW9uIHkoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIGUuY2FjaGVTaWduYWw7Y2FzZSJyZXF1ZXN0IjppZihlLmNhY2hlU2lnbmFsKXJldHVybiBlLmNhY2hlU2lnbmFsO2Nhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGIoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm4gZS5ydW50aW1lU3RhZ2VQcm9taXNlO2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlInJlcXVlc3QiOmNhc2UiY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fX0sMTg0NjIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1NlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sdXNlU2VydmVySW5zZXJ0ZWRIVE1MOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9by5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCk7ZnVuY3Rpb24gdShlKXtsZXQgdD0oMCxvLnVzZUNvbnRleHQpKGkpO3QmJnQoZSl9fSw2NTk5NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm90Rm91bmQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig1MzEzMyksYT1gJHtuLkhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERX07NDA0YDtmdW5jdGlvbiBvKCl7bGV0IGU9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGEpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IGUuZGlnZXN0PWEsZX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNzc2MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImBmb3JiaWRkZW4oKWAgaXMgZXhwZXJpbWVudGFsIGFuZCBvbmx5IGFsbG93ZWQgdG8gYmUgZW5hYmxlZCB3aGVuIGBleHBlcmltZW50YWwuYXV0aEludGVycnVwdHNgIGlzIGVuYWJsZWQuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0ODgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJmb3JiaWRkZW4iLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLGUucig1MzEzMykuSFRUUF9FUlJPUl9GQUxMQkFDS19FUlJPUl9DT0RFLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc5NTM5LChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbigpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiYHVuYXV0aG9yaXplZCgpYCBpcyBleHBlcmltZW50YWwgYW5kIG9ubHkgYWxsb3dlZCB0byBiZSB1c2VkIHdoZW4gYGV4cGVyaW1lbnRhbC5hdXRoSW50ZXJydXB0c2AgaXMgZW5hYmxlZC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQxMSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuYXV0aG9yaXplZCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksZS5yKDUzMTMzKS5IVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREUsKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTg3ODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuc3RhYmxlX3JldGhyb3ciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKCgwLGEuaXNOZXh0Um91dGVyRXJyb3IpKHQpfHwoMCxuLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpKXRocm93IHQ7dCBpbnN0YW5jZW9mIEVycm9yJiYiY2F1c2UiaW4gdCYmZSh0LmNhdXNlKX19fSk7bGV0IG49ZS5yKDg0MDgyKSxhPWUucig0OTg0Myk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTU1MDgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2lzSGFuZ2luZ1Byb21pc2VSZWplY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBvfSxtYWtlRGV2dG9vbHNJT0F3YXJlUHJvbWlzZTpmdW5jdGlvbigpe3JldHVybiBsfSxtYWtlSGFuZ2luZ1Byb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJkaWdlc3QiaW4gZSYmZS5kaWdlc3Q9PT1pfWxldCBpPSJIQU5HSU5HX1BST01JU0VfUkVKRUNUSU9OIjtjbGFzcyB1IGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihgRHVyaW5nIHByZXJlbmRlcmluZywgJHt0fSByZWplY3RzIHdoZW4gdGhlIHByZXJlbmRlciBpcyBjb21wbGV0ZS4gVHlwaWNhbGx5IHRoZXNlIGVycm9ycyBhcmUgaGFuZGxlZCBieSBSZWFjdCBidXQgaWYgeW91IG1vdmUgJHt0fSB0byBhIGRpZmZlcmVudCBjb250ZXh0IGJ5IHVzaW5nIFxgc2V0VGltZW91dFxgLCBcYGFmdGVyXGAsIG9yIHNpbWlsYXIgZnVuY3Rpb25zIHlvdSBtYXkgb2JzZXJ2ZSB0aGlzIGVycm9yIGFuZCB5b3Ugc2hvdWxkIGhhbmRsZSBpdCBpbiB0aGF0IGNvbnRleHQuIFRoaXMgb2NjdXJyZWQgYXQgcm91dGUgIiR7ZX0iLmApLHRoaXMucm91dGU9ZSx0aGlzLmV4cHJlc3Npb249dCx0aGlzLmRpZ2VzdD1pfX1sZXQgcz1uZXcgV2Vha01hcDtmdW5jdGlvbiBjKGUsdCxyKXtpZihlLmFib3J0ZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyB1KHQscikpO3tsZXQgbj1uZXcgUHJvbWlzZSgobixhKT0+e2xldCBvPWEuYmluZChudWxsLG5ldyB1KHQscikpLGk9cy5nZXQoZSk7aWYoaSlpLnB1c2gobyk7ZWxzZXtsZXQgdD1bb107cy5zZXQoZSx0KSxlLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKT0+e2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0oKX0se29uY2U6ITB9KX19KTtyZXR1cm4gbi5jYXRjaChkKSxufX1mdW5jdGlvbiBkKCl7fWZ1bmN0aW9uIGwoZSx0LHIpe3JldHVybiB0LnN0YWdlZFJlbmRlcmluZz90LnN0YWdlZFJlbmRlcmluZy5kZWxheVVudGlsU3RhZ2Uocix2b2lkIDAsZSk6bmV3IFByb21pc2UodD0+e3NldFRpbWVvdXQoKCk9Pnt0KGUpfSwwKX0pfX0sMTc1NTYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzUG9zdHBvbmUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPVN5bWJvbC5mb3IoInJlYWN0LnBvc3Rwb25lIik7ZnVuY3Rpb24gYShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09bn19LDkzMjEzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gaX0saXNEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iRFlOQU1JQ19TRVJWRVJfVVNBR0UiO2NsYXNzIGkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihgRHluYW1pYyBzZXJ2ZXIgdXNhZ2U6ICR7ZX1gKSx0aGlzLmRlc2NyaXB0aW9uPWUsdGhpcy5kaWdlc3Q9b319ZnVuY3Rpb24gdShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiZGlnZXN0ImluIGUmJiJzdHJpbmciPT10eXBlb2YgZS5kaWdlc3QmJmUuZGlnZXN0PT09b30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNjQzMiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17U3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzU3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89Ik5FWFRfU1RBVElDX0dFTl9CQUlMT1VUIjtjbGFzcyBpIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoLi4uZSl7c3VwZXIoLi4uZSksdGhpcy5jb2RlPW99fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImNvZGUiaW4gZSYmZS5jb2RlPT09b30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1MzQ1OSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17TUVUQURBVEFfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiBvfSxPVVRMRVRfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiB1fSxST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LFZJRVdQT1JUX0JPVU5EQVJZX05BTUU6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iX19uZXh0X21ldGFkYXRhX2JvdW5kYXJ5X18iLGk9Il9fbmV4dF92aWV3cG9ydF9ib3VuZGFyeV9fIix1PSJfX25leHRfb3V0bGV0X2JvdW5kYXJ5X18iLHM9Il9fbmV4dF9yb290X2xheW91dF9ib3VuZGFyeV9fIn0sMjQzODYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lLmkoODI2MzcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT17YXRMZWFzdE9uZVRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2NoZWR1bGVJbW1lZGlhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2NoZWR1bGVPbk5leHRUaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LHdhaXRBdExlYXN0T25lUmVhY3RSZW5kZXJUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIG8gaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDphW29dfSk7bGV0IGk9ZT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntuLmRlZmF1bHQubmV4dFRpY2soZSl9KX0sdT1lPT57c2V0SW1tZWRpYXRlKGUpfTtmdW5jdGlvbiBzKCl7cmV0dXJuIG5ldyBQcm9taXNlKGU9PnUoZSkpfWZ1bmN0aW9uIGMoKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+c2V0SW1tZWRpYXRlKGUpKX19LDY3NzgxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGEsbz17UG9zdHBvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gan0sUHJlbHVkZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIFp9LGFib3J0QW5kVGhyb3dPblN5bmNocm9ub3VzUmVxdWVzdERhdGFBY2Nlc3M6ZnVuY3Rpb24oKXtyZXR1cm4gU30sYWJvcnRPblN5bmNocm9ub3VzUGxhdGZvcm1JT0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBQfSxhY2Nlc3NlZER5bmFtaWNEYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIE59LGFubm90YXRlRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBCfSxjb25zdW1lRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBJfSxjcmVhdGVEeW5hbWljVHJhY2tpbmdTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVEeW5hbWljVmFsaWRhdGlvblN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGNyZWF0ZUhhbmdpbmdJbnB1dEFib3J0U2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuICR9LGNyZWF0ZVJlbmRlckluQnJvd3NlckFib3J0U2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIEx9LGRlbGF5VW50aWxSdW50aW1lU3RhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gZXJ9LGZvcm1hdER5bmFtaWNBUElBY2Nlc3NlczpmdW5jdGlvbigpe3JldHVybiBVfSxnZXRGaXJzdER5bmFtaWNSZWFzb246ZnVuY3Rpb24oKXtyZXR1cm4gRX0sZ2V0U3RhdGljU2hlbGxEaXNhbGxvd2VkRHluYW1pY1JlYXNvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gZXR9LGlzRHluYW1pY1Bvc3Rwb25lOmZ1bmN0aW9uKCl7cmV0dXJuIHh9LGlzUHJlcmVuZGVySW50ZXJydXB0ZWRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBrfSxsb2dEaXNhbGxvd2VkRHluYW1pY0Vycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIFF9LG1hcmtDdXJyZW50U2NvcGVBc0R5bmFtaWM6ZnVuY3Rpb24oKXtyZXR1cm4gUn0scG9zdHBvbmVXaXRoVHJhY2tpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gRH0sdGhyb3dJZkRpc2FsbG93ZWREeW5hbWljOmZ1bmN0aW9uKCl7cmV0dXJuIGVlfSx0aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbjpmdW5jdGlvbigpe3JldHVybiB2fSx0cmFja0FsbG93ZWREeW5hbWljQWNjZXNzOmZ1bmN0aW9uKCl7cmV0dXJuIFl9LHRyYWNrRHluYW1pY0RhdGFJbkR5bmFtaWNSZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm4gT30sdHJhY2tEeW5hbWljSG9sZUluUnVudGltZVNoZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LHRyYWNrRHluYW1pY0hvbGVJblN0YXRpY1NoZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIEt9LHVzZUR5bmFtaWNSb3V0ZVBhcmFtczpmdW5jdGlvbigpe3JldHVybiBIfSx1c2VEeW5hbWljU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIFh9fTtmb3IodmFyIGkgaW4gbylPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLHtlbnVtZXJhYmxlOiEwLGdldDpvW2ldfSk7bGV0IHU9KG49ZS5yKDc1MjAxKSkmJm4uX19lc01vZHVsZT9uOntkZWZhdWx0Om59LHM9ZS5yKDkzMjEzKSxjPWUucigxNjQzMiksZD1lLnIoMTI5NjUpLGw9ZS5yKDg5NzkxKSxmPWUucigxNTUwOCkscD1lLnIoNTM0NTkpLGg9ZS5yKDI0Mzg2KSxtPWUucig4NDA4MikseT1lLnIoNDEwNjIpLGI9ImZ1bmN0aW9uIj09dHlwZW9mIHUuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZTtmdW5jdGlvbiBnKGUpe3JldHVybntpc0RlYnVnRHluYW1pY0FjY2Vzc2VzOmUsZHluYW1pY0FjY2Vzc2VzOltdLHN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2s6bnVsbH19ZnVuY3Rpb24gXygpe3JldHVybntoYXNTdXNwZW5zZUFib3ZlQm9keTohMSxoYXNEeW5hbWljTWV0YWRhdGE6ITEsZHluYW1pY01ldGFkYXRhOm51bGwsaGFzRHluYW1pY1ZpZXdwb3J0OiExLGhhc0FsbG93ZWREeW5hbWljOiExLGR5bmFtaWNFcnJvcnM6W119fWZ1bmN0aW9uIEUoZSl7dmFyIHQ7cmV0dXJuIG51bGw9PSh0PWUuZHluYW1pY0FjY2Vzc2VzWzBdKT92b2lkIDA6dC5leHByZXNzaW9ufWZ1bmN0aW9uIFIoZSx0LHIpe2lmKHQpc3dpdGNoKHQudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm59aWYoIWUuZm9yY2VEeW5hbWljJiYhZS5mb3JjZVN0YXRpYyl7aWYoZS5keW5hbWljU2hvdWxkRXJyb3IpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtlLnJvdXRlfSB3aXRoIFxgZHluYW1pYyA9ICJlcnJvciJcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCBcYCR7cn1cYC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc3RhdGljLWFuZC1keW5hbWljI2R5bmFtaWMtcmVuZGVyaW5nYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NTMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7aWYodClzd2l0Y2godC50eXBlKXtjYXNlInByZXJlbmRlci1wcHIiOnJldHVybiBEKGUucm91dGUscix0LmR5bmFtaWNUcmFja2luZyk7Y2FzZSJwcmVyZW5kZXItbGVnYWN5Ijp0LnJldmFsaWRhdGU9MDtsZXQgbj1PYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHMuRHluYW1pY1NlcnZlckVycm9yKGBSb3V0ZSAke2Uucm91dGV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkICR7cn0uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU1MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aHJvdyBlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uPXIsZS5keW5hbWljVXNhZ2VTdGFjaz1uLnN0YWNrLG59fX1mdW5jdGlvbiB2KGUsdCxyKXtsZXQgbj1PYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHMuRHluYW1pY1NlcnZlckVycm9yKGBSb3V0ZSAke3Qucm91dGV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkIFxgJHtlfVxgLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2R5bmFtaWMtc2VydmVyLWVycm9yYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NTgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7dGhyb3cgci5yZXZhbGlkYXRlPTAsdC5keW5hbWljVXNhZ2VEZXNjcmlwdGlvbj1lLHQuZHluYW1pY1VzYWdlU3RhY2s9bi5zdGFjayxufWZ1bmN0aW9uIE8oZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm59fWZ1bmN0aW9uIHcoZSx0LHIpe2xldCBuPUMoYFJvdXRlICR7ZX0gbmVlZHMgdG8gYmFpbCBvdXQgb2YgcHJlcmVuZGVyaW5nIGF0IHRoaXMgcG9pbnQgYmVjYXVzZSBpdCB1c2VkICR7dH0uYCk7ci5jb250cm9sbGVyLmFib3J0KG4pO2xldCBhPXIuZHluYW1pY1RyYWNraW5nO2EmJmEuZHluYW1pY0FjY2Vzc2VzLnB1c2goe3N0YWNrOmEuaXNEZWJ1Z0R5bmFtaWNBY2Nlc3Nlcz9FcnJvcigpLnN0YWNrOnZvaWQgMCxleHByZXNzaW9uOnR9KX1mdW5jdGlvbiBQKGUsdCxyLG4pe2xldCBhPW4uZHluYW1pY1RyYWNraW5nO3coZSx0LG4pLGEmJm51bGw9PT1hLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2smJihhLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2s9cil9ZnVuY3Rpb24gUyhlLHQscixuKXtpZighMT09PW4uY29udHJvbGxlci5zaWduYWwuYWJvcnRlZCl7dyhlLHQsbik7bGV0IGE9bi5keW5hbWljVHJhY2tpbmc7YSYmbnVsbD09PWEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayYmKGEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjaz1yKX10aHJvdyBDKGBSb3V0ZSAke2V9IG5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCAke3R9LmApfWZ1bmN0aW9uIGooe3JlYXNvbjplLHJvdXRlOnR9KXtsZXQgcj1kLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7RCh0LGUsciYmInByZXJlbmRlci1wcHIiPT09ci50eXBlP3IuZHluYW1pY1RyYWNraW5nOm51bGwpfWZ1bmN0aW9uIEQoZSx0LHIpeyhmdW5jdGlvbigpe2lmKCFiKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiBSZWFjdC51bnN0YWJsZV9wb3N0cG9uZSBpcyBub3QgZGVmaW5lZC4gVGhpcyBzdWdnZXN0cyB0aGUgd3JvbmcgdmVyc2lvbiBvZiBSZWFjdCB3YXMgbG9hZGVkLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX0pKCksciYmci5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6ci5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246dH0pLHUuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZShUKGUsdCkpfWZ1bmN0aW9uIFQoZSx0KXtyZXR1cm5gUm91dGUgJHtlfSBuZWVkcyB0byBiYWlsIG91dCBvZiBwcmVyZW5kZXJpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IHVzZWQgJHt0fS4gUmVhY3QgdGhyb3dzIHRoaXMgc3BlY2lhbCBvYmplY3QgdG8gaW5kaWNhdGUgd2hlcmUuIEl0IHNob3VsZCBub3QgYmUgY2F1Z2h0IGJ5IHlvdXIgb3duIHRyeS9jYXRjaC4gTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvcHByLWNhdWdodC1lcnJvcmB9ZnVuY3Rpb24geChlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYic3RyaW5nIj09dHlwZW9mIGUubWVzc2FnZSYmQShlLm1lc3NhZ2UpfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIGUuaW5jbHVkZXMoIm5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCIpJiZlLmluY2x1ZGVzKCJMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wcHItY2F1Z2h0LWVycm9yIil9aWYoITE9PT1BKFQoIiUlJSIsIl5eXiIpKSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludmFyaWFudDogaXNEeW5hbWljUG9zdHBvbmUgbWlzaWRlbnRpZmllZCBhIHBvc3Rwb25lIHJlYXNvbi4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyOTYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IE09Ik5FWFRfUFJFUkVOREVSX0lOVEVSUlVQVEVEIjtmdW5jdGlvbiBDKGUpe2xldCB0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihlKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTM5NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gdC5kaWdlc3Q9TSx0fWZ1bmN0aW9uIGsoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS5kaWdlc3Q9PT1NJiYibmFtZSJpbiBlJiYibWVzc2FnZSJpbiBlJiZlIGluc3RhbmNlb2YgRXJyb3J9ZnVuY3Rpb24gTihlKXtyZXR1cm4gZS5sZW5ndGg+MH1mdW5jdGlvbiBJKGUsdCl7cmV0dXJuIGUuZHluYW1pY0FjY2Vzc2VzLnB1c2goLi4udC5keW5hbWljQWNjZXNzZXMpLGUuZHluYW1pY0FjY2Vzc2VzfWZ1bmN0aW9uIFUoZSl7cmV0dXJuIGUuZmlsdGVyKGU9PiJzdHJpbmciPT10eXBlb2YgZS5zdGFjayYmZS5zdGFjay5sZW5ndGg+MCkubWFwKCh7ZXhwcmVzc2lvbjplLHN0YWNrOnR9KT0+KHQ9dC5zcGxpdCgiXG4iKS5zbGljZSg0KS5maWx0ZXIoZT0+IShlLmluY2x1ZGVzKCJub2RlX21vZHVsZXMvbmV4dC8iKXx8ZS5pbmNsdWRlcygiICg8YW5vbnltb3VzPikiKXx8ZS5pbmNsdWRlcygiIChub2RlOiIpKSkuam9pbigiXG4iKSxgRHluYW1pYyBBUEkgVXNhZ2UgRGVidWcgLSAke2V9Ogoke3R9YCkpfWZ1bmN0aW9uIEwoKXtsZXQgZT1uZXcgQWJvcnRDb250cm9sbGVyO3JldHVybiBlLmFib3J0KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgbS5CYWlsb3V0VG9DU1JFcnJvcigiUmVuZGVyIGluIEJyb3dzZXIiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTcyMSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSksZS5zaWduYWx9ZnVuY3Rpb24gJChlKXtzd2l0Y2goZS50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6bGV0IHQ9bmV3IEFib3J0Q29udHJvbGxlcjtpZihlLmNhY2hlU2lnbmFsKWUuY2FjaGVTaWduYWwuaW5wdXRSZWFkeSgpLnRoZW4oKCk9Pnt0LmFib3J0KCl9KTtlbHNle2xldCByPSgwLGQuZ2V0UnVudGltZVN0YWdlUHJvbWlzZSkoZSk7cj9yLnRoZW4oKCk9PigwLGguc2NoZWR1bGVPbk5leHRUaWNrKSgoKT0+dC5hYm9ydCgpKSk6KDAsaC5zY2hlZHVsZU9uTmV4dFRpY2spKCgpPT50LmFib3J0KCkpfXJldHVybiB0LnNpZ25hbDtjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlInJlcXVlc3QiOmNhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6cmV0dXJufX1mdW5jdGlvbiBCKGUsdCl7bGV0IHI9dC5keW5hbWljVHJhY2tpbmc7ciYmci5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6ci5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246ZX0pfWZ1bmN0aW9uIEgoZSl7bGV0IHQ9bC53b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCkscj1kLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodCYmcilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyIjp7bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO24mJm4uc2l6ZT4wJiZ1LmRlZmF1bHQudXNlKCgwLGYubWFrZUhhbmdpbmdQcm9taXNlKShyLnJlbmRlclNpZ25hbCx0LnJvdXRlLGUpKTticmVha31jYXNlInByZXJlbmRlci1wcHIiOntsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYobiYmbi5zaXplPjApcmV0dXJuIEQodC5yb3V0ZSxlLHIuZHluYW1pY1RyYWNraW5nKTticmVha31jYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHkuSW52YXJpYW50RXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgZHVyaW5nIGEgcnVudGltZSBwcmVyZW5kZXIuIE5leHQuanMgc2hvdWxkIGJlIHByZXZlbnRpbmcgJHtlfSBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHNlcnZlciBjb21wb25lbnRzIHN0YXRpY2FsbHksIGJ1dCBkaWQgbm90IGluIHRoaXMgY2FzZS5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3MSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBpbnNpZGUgYSBjYWNoZSBzY29wZS4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzQ1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX1mdW5jdGlvbiBYKGUpe2xldCB0PWwud29ya0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpLHI9ZC53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKHQpc3dpdGNoKCFyJiYoMCxkLnRocm93Rm9yTWlzc2luZ1JlcXVlc3RTdG9yZSkoZSksci50eXBlKXtjYXNlInByZXJlbmRlci1jbGllbnQiOnUuZGVmYXVsdC51c2UoKDAsZi5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsZSkpO2JyZWFrO2Nhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJwcmVyZW5kZXItcHByIjppZih0LmZvcmNlU3RhdGljKXJldHVybjt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IG0uQmFpbG91dFRvQ1NSRXJyb3IoZSksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBmcm9tIGEgU2VydmVyIENvbXBvbmVudC4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzk1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBcYCR7ZX1cYCB3YXMgY2FsbGVkIGluc2lkZSBhIGNhY2hlIHNjb3BlLiBOZXh0LmpzIHNob3VsZCBiZSBwcmV2ZW50aW5nICR7ZX0gZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBzZXJ2ZXIgY29tcG9uZW50cyBzdGF0aWNhbGx5LCBidXQgZGlkIG5vdCBpbiB0aGlzIGNhc2UuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NDUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJyZXF1ZXN0IjpyZXR1cm59fWxldCBGPS9cblxzK2F0IFN1c3BlbnNlIFwoPGFub255bW91cz5cKS8sVz1SZWdFeHAoYFxcblxccythdCBTdXNwZW5zZSBcXCg8YW5vbnltb3VzPlxcKSg/Oig/IVxcblxccythdCAoPzpib2R5fGRpdnxtYWlufHNlY3Rpb258YXJ0aWNsZXxhc2lkZXxoZWFkZXJ8Zm9vdGVyfG5hdnxmb3JtfHB8c3BhbnxoMXxoMnxoM3xoNHxoNXxoNikgXFwoPGFub255bW91cz5cXCkpW1xcc1xcU10pKj9cXG5cXHMrYXQgJHtwLlJPT1RfTEFZT1VUX0JPVU5EQVJZX05BTUV9IFxcKFteXFxuXSpcXClgKSxxPVJlZ0V4cChgXFxuXFxzK2F0ICR7cC5NRVRBREFUQV9CT1VOREFSWV9OQU1FfVtcXG5cXHNdYCksRz1SZWdFeHAoYFxcblxccythdCAke3AuVklFV1BPUlRfQk9VTkRBUllfTkFNRX1bXFxuXFxzXWApLHo9UmVnRXhwKGBcXG5cXHMrYXQgJHtwLk9VVExFVF9CT1VOREFSWV9OQU1FfVtcXG5cXHNdYCk7ZnVuY3Rpb24gWShlLHQscixuKXtpZighei50ZXN0KHQpKXtpZihxLnRlc3QodCkpe3IuaGFzRHluYW1pY01ldGFkYXRhPSEwO3JldHVybn1pZihHLnRlc3QodCkpe3IuaGFzRHluYW1pY1ZpZXdwb3J0PSEwO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBVbmNhY2hlZCBkYXRhIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIDxTdXNwZW5zZT4uIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlYCx0KTtyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChhKX19fWZ1bmN0aW9uIFYoZSx0LHIsbil7aWYoIXoudGVzdCh0KSl7aWYocS50ZXN0KHQpKXtyLmR5bmFtaWNNZXRhZGF0YT1KKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFVuY2FjaGVkIGRhdGEgb3IgXGBjb25uZWN0aW9uKClcYCB3YXMgYWNjZXNzZWQgaW5zaWRlIFxgZ2VuZXJhdGVNZXRhZGF0YVxgLiBFeGNlcHQgZm9yIHRoaXMgaW5zdGFuY2UsIHRoZSBwYWdlIHdvdWxkIGhhdmUgYmVlbiBlbnRpcmVseSBwcmVyZW5kZXJhYmxlIHdoaWNoIG1heSBoYXZlIGJlZW4gdGhlIGludGVuZGVkIGJlaGF2aW9yLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtbWV0YWRhdGFgLHQpO3JldHVybn1pZihHLnRlc3QodCkpe2xldCBuPUooYFJvdXRlICIke2Uucm91dGV9IjogVW5jYWNoZWQgZGF0YSBvciBcYGNvbm5lY3Rpb24oKVxgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgLHQpO3IuZHluYW1pY0Vycm9ycy5wdXNoKG4pO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBVbmNhY2hlZCBkYXRhIG9yIFxgY29ubmVjdGlvbigpXGAgd2FzIGFjY2Vzc2VkIG91dHNpZGUgb2YgXGA8U3VzcGVuc2U+XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlYCx0KTtyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChhKX19fWZ1bmN0aW9uIEsoZSx0LHIsbil7aWYoIXoudGVzdCh0KSl7aWYocS50ZXN0KHQpKXtyLmR5bmFtaWNNZXRhZGF0YT1KKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFJ1bnRpbWUgZGF0YSBzdWNoIGFzIFxgY29va2llcygpXGAsIFxgaGVhZGVycygpXGAsIFxgcGFyYW1zXGAsIG9yIFxgc2VhcmNoUGFyYW1zXGAgd2FzIGFjY2Vzc2VkIGluc2lkZSBcYGdlbmVyYXRlTWV0YWRhdGFcYCBvciB5b3UgaGF2ZSBmaWxlLWJhc2VkIG1ldGFkYXRhIHN1Y2ggYXMgaWNvbnMgdGhhdCBkZXBlbmQgb24gZHluYW1pYyBwYXJhbXMgc2VnbWVudHMuIEV4Y2VwdCBmb3IgdGhpcyBpbnN0YW5jZSwgdGhlIHBhZ2Ugd291bGQgaGF2ZSBiZWVuIGVudGlyZWx5IHByZXJlbmRlcmFibGUgd2hpY2ggbWF5IGhhdmUgYmVlbiB0aGUgaW50ZW5kZWQgYmVoYXZpb3IuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy1tZXRhZGF0YWAsdCk7cmV0dXJufWlmKEcudGVzdCh0KSl7bGV0IG49SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgLHQpO3IuZHluYW1pY0Vycm9ycy5wdXNoKG4pO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIFxgPFN1c3BlbnNlPlxgLiBUaGlzIGRlbGF5cyB0aGUgZW50aXJlIHBhZ2UgZnJvbSByZW5kZXJpbmcsIHJlc3VsdGluZyBpbiBhIHNsb3cgdXNlciBleHBlcmllbmNlLiBMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9ibG9ja2luZy1yb3V0ZWAsdCk7cmV0dXJuIHZvaWQgci5keW5hbWljRXJyb3JzLnB1c2goYSl9fX1mdW5jdGlvbiBKKGUsdCl7bGV0IHI9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGUpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiByLnN0YWNrPXIubmFtZSsiOiAiK2UrdCxyfXZhciBaPSgoYT17fSlbYS5GdWxsPTBdPSJGdWxsIixhW2EuRW1wdHk9MV09IkVtcHR5IixhW2EuRXJyb3JlZD0yXT0iRXJyb3JlZCIsYSk7ZnVuY3Rpb24gUShlLHQpe2NvbnNvbGUuZXJyb3IodCksZS5kZXZ8fChlLmhhc1JlYWRhYmxlRXJyb3JTdGFja3M/Y29uc29sZS5lcnJvcihgVG8gZ2V0IGEgbW9yZSBkZXRhaWxlZCBzdGFjayB0cmFjZSBhbmQgcGlucG9pbnQgdGhlIGlzc3VlLCBzdGFydCB0aGUgYXBwIGluIGRldmVsb3BtZW50IG1vZGUgYnkgcnVubmluZyBcYG5leHQgZGV2XGAsIHRoZW4gb3BlbiAiJHtlLnJvdXRlfSIgaW4geW91ciBicm93c2VyIHRvIGludmVzdGlnYXRlIHRoZSBlcnJvci5gKTpjb25zb2xlLmVycm9yKGBUbyBnZXQgYSBtb3JlIGRldGFpbGVkIHN0YWNrIHRyYWNlIGFuZCBwaW5wb2ludCB0aGUgaXNzdWUsIHRyeSBvbmUgb2YgdGhlIGZvbGxvd2luZzoKICAtIFN0YXJ0IHRoZSBhcHAgaW4gZGV2ZWxvcG1lbnQgbW9kZSBieSBydW5uaW5nIFxgbmV4dCBkZXZcYCwgdGhlbiBvcGVuICIke2Uucm91dGV9IiBpbiB5b3VyIGJyb3dzZXIgdG8gaW52ZXN0aWdhdGUgdGhlIGVycm9yLgogIC0gUmVydW4gdGhlIHByb2R1Y3Rpb24gYnVpbGQgd2l0aCBcYG5leHQgYnVpbGQgLS1kZWJ1Zy1wcmVyZW5kZXJcYCB0byBnZW5lcmF0ZSBiZXR0ZXIgc3RhY2sgdHJhY2VzLmApKX1mdW5jdGlvbiBlZShlLHQscixuKXtpZihuLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2spdGhyb3cgUShlLG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yO2lmKDAhPT10KXtpZihyLmhhc1N1c3BlbnNlQWJvdmVCb2R5KXJldHVybjtsZXQgbj1yLmR5bmFtaWNFcnJvcnM7aWYobi5sZW5ndGg+MCl7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspUShlLG5bdF0pO3Rocm93IG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcn1pZihyLmhhc0R5bmFtaWNWaWV3cG9ydCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZVZpZXdwb3J0XGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aXRob3V0IGV4cGxpY2l0bHkgYWxsb3dpbmcgZnVsbHkgZHluYW1pYyByZW5kZXJpbmcuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy12aWV3cG9ydGApLG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcjtpZigxPT09dCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMuYCksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yfWVsc2UgaWYoITE9PT1yLmhhc0FsbG93ZWREeW5hbWljJiZyLmhhc0R5bmFtaWNNZXRhZGF0YSl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZU1ldGFkYXRhXGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aGVuIHRoZSByZXN0IG9mIHRoZSByb3V0ZSBkb2VzIG5vdC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LXByZXJlbmRlci1keW5hbWljLW1ldGFkYXRhYCksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yfWZ1bmN0aW9uIGV0KGUsdCxyKXtpZihyLmhhc1N1c3BlbnNlQWJvdmVCb2R5KXJldHVybltdO2lmKDAhPT10KXtsZXQgbj1yLmR5bmFtaWNFcnJvcnM7aWYobi5sZW5ndGg+MClyZXR1cm4gbjtpZigxPT09dClyZXR1cm5bT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFOTM2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pXX1lbHNlIGlmKCExPT09ci5oYXNBbGxvd2VkRHluYW1pYyYmMD09PXIuZHluYW1pY0Vycm9ycy5sZW5ndGgmJnIuZHluYW1pY01ldGFkYXRhKXJldHVybltyLmR5bmFtaWNNZXRhZGF0YV07cmV0dXJuW119ZnVuY3Rpb24gZXIoZSx0KXtyZXR1cm4gZS5ydW50aW1lU3RhZ2VQcm9taXNlP2UucnVudGltZVN0YWdlUHJvbWlzZS50aGVuKCgpPT50KTp0fX0sNTIzMDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuc3RhYmxlX3JldGhyb3ciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKCgwLGkuaXNOZXh0Um91dGVyRXJyb3IpKHQpfHwoMCxvLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpfHwoMCxzLmlzRHluYW1pY1NlcnZlckVycm9yKSh0KXx8KDAsdS5pc0R5bmFtaWNQb3N0cG9uZSkodCl8fCgwLGEuaXNQb3N0cG9uZSkodCl8fCgwLG4uaXNIYW5naW5nUHJvbWlzZVJlamVjdGlvbkVycm9yKSh0KXx8KDAsdS5pc1ByZXJlbmRlckludGVycnVwdGVkRXJyb3IpKHQpKXRocm93IHQ7dCBpbnN0YW5jZW9mIEVycm9yJiYiY2F1c2UiaW4gdCYmZSh0LmNhdXNlKX19fSk7bGV0IG49ZS5yKDE1NTA4KSxhPWUucigxNzU1Niksbz1lLnIoODQwODIpLGk9ZS5yKDQ5ODQzKSx1PWUucig2Nzc4MSkscz1lLnIoOTMyMTMpOygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYyOTU5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnN0YWJsZV9yZXRocm93Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNTIzMDUpLnVuc3RhYmxlX3JldGhyb3c6ZS5yKDE4NzgyKS51bnN0YWJsZV9yZXRocm93OygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMyNTIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1JlYWRvbmx5VVJMU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIG8uUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXN9LFJlZGlyZWN0VHlwZTpmdW5jdGlvbigpe3JldHVybiB1LlJlZGlyZWN0VHlwZX0sZm9yYmlkZGVuOmZ1bmN0aW9uKCl7cmV0dXJuIGMuZm9yYmlkZGVufSxub3RGb3VuZDpmdW5jdGlvbigpe3JldHVybiBzLm5vdEZvdW5kfSxwZXJtYW5lbnRSZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBpLnBlcm1hbmVudFJlZGlyZWN0fSxyZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBpLnJlZGlyZWN0fSx1bmF1dGhvcml6ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gZC51bmF1dGhvcml6ZWR9LHVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sdW5zdGFibGVfcmV0aHJvdzpmdW5jdGlvbigpe3JldHVybiBsLnVuc3RhYmxlX3JldGhyb3d9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDM5Mjc1KSxpPWUucig0MTcyMSksdT1lLnIoOTA4NjIpLHM9ZS5yKDY1OTk1KSxjPWUucigxNzc2MiksZD1lLnIoNzk1MzkpLGw9ZS5yKDYyOTU5KTtmdW5jdGlvbiBmKCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJgdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcmAgY2FuIG9ubHkgYmUgdXNlZCBvbiB0aGUgY2xpZW50LiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzc2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI4OTk1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiB1LlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gbC5SZWRpcmVjdFR5cGV9LFNlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5TZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0fSxmb3JiaWRkZW46ZnVuY3Rpb24oKXtyZXR1cm4gbC5mb3JiaWRkZW59LG5vdEZvdW5kOmZ1bmN0aW9uKCl7cmV0dXJuIGwubm90Rm91bmR9LHBlcm1hbmVudFJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucGVybWFuZW50UmVkaXJlY3R9LHJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucmVkaXJlY3R9LHVuYXV0aG9yaXplZDpmdW5jdGlvbigpe3JldHVybiBsLnVuYXV0aG9yaXplZH0sdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBkLnVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3J9LHVuc3RhYmxlX3JldGhyb3c6ZnVuY3Rpb24oKXtyZXR1cm4gbC51bnN0YWJsZV9yZXRocm93fSx1c2VQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sdXNlUGF0aG5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sdXNlUm91dGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHVzZVNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBofSx1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gX30sdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50czpmdW5jdGlvbigpe3JldHVybiBnfSx1c2VTZXJ2ZXJJbnNlcnRlZEhUTUw6ZnVuY3Rpb24oKXtyZXR1cm4gYy51c2VTZXJ2ZXJJbnNlcnRlZEhUTUx9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9ZS5yKDE2ODcyKSx1PWUucigzMTg5OSkscz1lLnIoMjc0NTQpLGM9ZS5yKDE4NDYyKSxkPWUucig3NTA1MSksbD1lLnIoMzI1MiksZj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc3ODEpLnVzZUR5bmFtaWNSb3V0ZVBhcmFtczp2b2lkIDAscD0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc3ODEpLnVzZUR5bmFtaWNTZWFyY2hQYXJhbXM6dm9pZCAwO2Z1bmN0aW9uIGgoKXtwPy4oInVzZVNlYXJjaFBhcmFtcygpIik7bGV0IGU9KDAsby51c2VDb250ZXh0KSh1LlNlYXJjaFBhcmFtc0NvbnRleHQpO3JldHVybigwLG8udXNlTWVtbykoKCk9PmU/bmV3IHUuUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMoZSk6bnVsbCxbZV0pfWZ1bmN0aW9uIG0oKXtyZXR1cm4gZj8uKCJ1c2VQYXRobmFtZSgpIiksKDAsby51c2VDb250ZXh0KSh1LlBhdGhuYW1lQ29udGV4dCl9ZnVuY3Rpb24geSgpe2xldCBlPSgwLG8udXNlQ29udGV4dCkoaS5BcHBSb3V0ZXJDb250ZXh0KTtpZihudWxsPT09ZSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImludmFyaWFudCBleHBlY3RlZCBhcHAgcm91dGVyIHRvIGJlIG1vdW50ZWQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIzOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gZX1mdW5jdGlvbiBiKCl7cmV0dXJuIGY/LigidXNlUGFyYW1zKCkiKSwoMCxvLnVzZUNvbnRleHQpKHUuUGF0aFBhcmFtc0NvbnRleHQpfWZ1bmN0aW9uIGcoZT0iY2hpbGRyZW4iKXtmPy4oInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMoKSIpO2xldCB0PSgwLG8udXNlQ29udGV4dCkoaS5MYXlvdXRSb3V0ZXJDb250ZXh0KTtyZXR1cm4gdD8oMCxzLmdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgpKHQucGFyZW50VHJlZSxlKTpudWxsfWZ1bmN0aW9uIF8oZT0iY2hpbGRyZW4iKXtmPy4oInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudCgpIiksKDAsby51c2VDb250ZXh0KSh1Lk5hdmlnYXRpb25Qcm9taXNlc0NvbnRleHQpO2xldCB0PWcoZSk7cmV0dXJuKDAscy5jb21wdXRlU2VsZWN0ZWRMYXlvdXRTZWdtZW50KSh0LGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9XSk7"}},"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":"coinlib.io/_next/static/chunks/turbopack-18a9de512a1933ad.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.539Z","timestamp":1785129949539,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/turbopack-18a9de512a1933ad.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 2245336\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"turbopack-18a9de512a1933ad.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"ee874107586f9203ea70e460428f2bb3\"\r\nlast-modified: Tue, 30 Jun 2026 21:36:51 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/turbopack-18a9de512a1933ad.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::224xg-1782884613047-36a6958ca2eb\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=66fPw1A6UrLdwqhqaF9lK1G5okC0Fd9GPugDZ%2FIC2qtyo4vhuTZwW4gGonWuWSeax%2BQPbNct9iz1wXDe2lwezvoJ3zWoQgczZC08QECdOnoxFcIs4aCzFSwnn4iv\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c8ad32a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":10707,"size_decoded":6488,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (6438)","md5":"ee874107586f9203ea70e460428f2bb3","sha1":"9bfba653884c0499149072efe4824e6170f10271","sha256":"44b3081e3a644e21b57f4155637e1e43563eae2c0f034c6ba9edd6bc9cba26ea","sha512":"7fd5fb8b487d8981ead132093abf93b51a77860cb1d04cd5c233c3e671b7183921080069aac71afb4f5f77a424d02ccdea22e3feba459326eea86d1c6637a09b","ssdeep":"192:D74eFn8/Esp1U91EG5T1uyO9lGdiwMhMlng4W9PZcxkUk1IsiyLxA:D74e2OvO9lG0OlgJZZQLyLxA","tlshash":"6722d8ea33a6f07743af94e6907f4044f1795468145d542c936ce8fa38398ae49e3f27","first_seen":"2026-07-01T05:10:22.643373Z","last_seen":"2026-07-31T06:34:35.53001Z","times_seen":1526,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLHtvdGhlckNodW5rczpbInN0YXRpYy9jaHVua3MvODFhMjk4ZGRjNzQ3MTA3MC5qcyIsInN0YXRpYy9jaHVua3MvOWRmM2I2N2I2MDYxZWE5ZS5qcyIsInN0YXRpYy9jaHVua3MvNDgwY2RlMDhiOGJmZDVjZS5qcyIsInN0YXRpYy9jaHVua3MvNDkxMTQxMGU1MTUzZjBkNy5qcyIsInN0YXRpYy9jaHVua3MvNDgxNWE3NTg2NTdkNGJhZS5qcyJdLHJ1bnRpbWVNb2R1bGVJZHM6Wzk2MzM1XX1dKSwoKCk9PntsZXQgZTtpZighQXJyYXkuaXNBcnJheShnbG9iYWxUaGlzLlRVUkJPUEFDSykpcmV0dXJuO2xldCB0PSIvX25leHQvIixyPShzZWxmLlRVUkJPUEFDS19DSFVOS19TVUZGSVg/P2RvY3VtZW50Py5jdXJyZW50U2NyaXB0Py5nZXRBdHRyaWJ1dGU/Ligic3JjIik/LnJlcGxhY2UoL14oLiooPz1cPyl8Xi4qJCkvLCIiKSl8fCIiLG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbyhlLHQpe3RoaXMubT1lLHRoaXMuZT10fWxldCBsPW8ucHJvdG90eXBlLGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxzPSJ1Ij50eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWc7ZnVuY3Rpb24gdShlLHQscil7aS5jYWxsKGUsdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQscil9ZnVuY3Rpb24gYShlLHQpe2xldCByPWVbdF07cmV0dXJuIHJ8fChyPWModCksZVt0XT1yKSxyfWZ1bmN0aW9uIGMoZSl7cmV0dXJue2V4cG9ydHM6e30sZXJyb3I6dm9pZCAwLGlkOmUsbmFtZXNwYWNlT2JqZWN0OnZvaWQgMH19ZnVuY3Rpb24gZihlLHQpe3UoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscyYmdShlLHMse3ZhbHVlOiJNb2R1bGUifSk7bGV0IHI9MDtmb3IoO3I8dC5sZW5ndGg7KXtsZXQgbj10W3IrK10sbz10W3IrK107aWYoIm51bWJlciI9PXR5cGVvZiBvKWlmKDA9PT1vKXUoZSxuLHt2YWx1ZTp0W3IrK10sZW51bWVyYWJsZTohMCx3cml0YWJsZTohMX0pO2Vsc2UgdGhyb3cgRXJyb3IoYHVuZXhwZWN0ZWQgdGFnOiAke299YCk7ZWxzZSJmdW5jdGlvbiI9PXR5cGVvZiB0W3JdP3UoZSxuLHtnZXQ6byxzZXQ6dFtyKytdLGVudW1lcmFibGU6ITB9KTp1KGUsbix7Z2V0Om8sZW51bWVyYWJsZTohMH0pfU9iamVjdC5zZWFsKGUpfWwucz1mdW5jdGlvbihlLHQpe2xldCByLG47bnVsbCE9dD9uPShyPWEodGhpcy5jLHQpKS5leHBvcnRzOihyPXRoaXMubSxuPXRoaXMuZSksci5uYW1lc3BhY2VPYmplY3Q9bixmKG4sZSl9LGwuaj1mdW5jdGlvbihlLHQpe3ZhciByLG87bGV0IGwscyx1O251bGwhPXQ/cz0obD1hKHRoaXMuYyx0KSkuZXhwb3J0czoobD10aGlzLm0scz10aGlzLmUpO2xldCBjPShyPWwsbz1zLCh1PW4uZ2V0KHIpKXx8KG4uc2V0KHIsdT1bXSksci5leHBvcnRzPXIubmFtZXNwYWNlT2JqZWN0PW5ldyBQcm94eShvLHtnZXQoZSx0KXtpZihpLmNhbGwoZSx0KXx8ImRlZmF1bHQiPT09dHx8Il9fZXNNb2R1bGUiPT09dClyZXR1cm4gUmVmbGVjdC5nZXQoZSx0KTtmb3IobGV0IGUgb2YgdSl7bGV0IHI9UmVmbGVjdC5nZXQoZSx0KTtpZih2b2lkIDAhPT1yKXJldHVybiByfX0sb3duS2V5cyhlKXtsZXQgdD1SZWZsZWN0Lm93bktleXMoZSk7Zm9yKGxldCBlIG9mIHUpZm9yKGxldCByIG9mIFJlZmxlY3Qub3duS2V5cyhlKSkiZGVmYXVsdCI9PT1yfHx0LmluY2x1ZGVzKHIpfHx0LnB1c2gocik7cmV0dXJuIHR9fSkpLHUpOyJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmMucHVzaChlKX0sbC52PWZ1bmN0aW9uKGUsdCl7KG51bGwhPXQ/YSh0aGlzLmMsdCk6dGhpcy5tKS5leHBvcnRzPWV9LGwubj1mdW5jdGlvbihlLHQpe2xldCByOyhyPW51bGwhPXQ/YSh0aGlzLmMsdCk6dGhpcy5tKS5leHBvcnRzPXIubmFtZXNwYWNlT2JqZWN0PWV9O2xldCBwPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18saD1bbnVsbCxwKHt9KSxwKFtdKSxwKHApXTtmdW5jdGlvbiBkKGUsdCxyKXtsZXQgbj1bXSxvPS0xO2ZvcihsZXQgdD1lOygib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KSYmIWguaW5jbHVkZXModCk7dD1wKHQpKWZvcihsZXQgciBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KSluLnB1c2gocixmdW5jdGlvbihlLHQpe3JldHVybigpPT5lW3RdfShlLHIpKSwtMT09PW8mJiJkZWZhdWx0Ij09PXImJihvPW4ubGVuZ3RoLTEpO3JldHVybiByJiZvPj0wfHwobz49MD9uLnNwbGljZShvLDEsMCxlKTpuLnB1c2goImRlZmF1bHQiLDAsZSkpLGYodCxuKSx0fWZ1bmN0aW9uIG0oZSl7bGV0IHQ9QihlLHRoaXMubSk7aWYodC5uYW1lc3BhY2VPYmplY3QpcmV0dXJuIHQubmFtZXNwYWNlT2JqZWN0O2xldCByPXQuZXhwb3J0cztyZXR1cm4gdC5uYW1lc3BhY2VPYmplY3Q9ZChyLCJmdW5jdGlvbiI9PXR5cGVvZiByP2Z1bmN0aW9uKC4uLmUpe3JldHVybiByLmFwcGx5KHRoaXMsZSl9Ok9iamVjdC5jcmVhdGUobnVsbCksciYmci5fX2VzTW9kdWxlKX1mdW5jdGlvbiBiKGUpe2xldCB0PWUuaW5kZXhPZigiIyIpOy0xIT09dCYmKGU9ZS5zdWJzdHJpbmcoMCx0KSk7bGV0IHI9ZS5pbmRleE9mKCI/Iik7cmV0dXJuIC0xIT09ciYmKGU9ZS5zdWJzdHJpbmcoMCxyKSksZX1mdW5jdGlvbiB5KCl7bGV0IGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgocixuKT0+e3Q9bixlPXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fWwuaT1tLGwuQT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yKGUpKG0uYmluZCh0aGlzKSl9LGwudD0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZT9yZXF1aXJlOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIlVuZXhwZWN0ZWQgdXNlIG9mIHJ1bnRpbWUgcmVxdWlyZSIpfSxsLnI9ZnVuY3Rpb24oZSl7cmV0dXJuIEIoZSx0aGlzLm0pLmV4cG9ydHN9LGwuZj1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe2lmKHQ9Yih0KSxpLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5tb2R1bGUoKTtsZXQgcj1FcnJvcihgQ2Fubm90IGZpbmQgbW9kdWxlICcke3R9J2ApO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCIscn1yZXR1cm4gdC5rZXlzPSgpPT5PYmplY3Qua2V5cyhlKSx0LnJlc29sdmU9dD0+e2lmKHQ9Yih0KSxpLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5pZCgpO2xldCByPUVycm9yKGBDYW5ub3QgZmluZCBtb2R1bGUgJyR7dH0nYCk7dGhyb3cgci5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixyfSx0LmltcG9ydD1hc3luYyBlPT5hd2FpdCB0KGUpLHR9O2xldCBPPVN5bWJvbCgidHVyYm9wYWNrIHF1ZXVlcyIpLGc9U3ltYm9sKCJ0dXJib3BhY2sgZXhwb3J0cyIpLHc9U3ltYm9sKCJ0dXJib3BhY2sgZXJyb3IiKTtmdW5jdGlvbiBDKGUpe2UmJjEhPT1lLnN0YXR1cyYmKGUuc3RhdHVzPTEsZS5mb3JFYWNoKGU9PmUucXVldWVDb3VudC0tKSxlLmZvckVhY2goZT0+ZS5xdWV1ZUNvdW50LS0/ZS5xdWV1ZUNvdW50Kys6ZSgpKSl9bC5hPWZ1bmN0aW9uKGUsdCl7bGV0IHI9dGhpcy5tLG49dD9PYmplY3QuYXNzaWduKFtdLHtzdGF0dXM6LTF9KTp2b2lkIDAsbz1uZXcgU2V0LHtyZXNvbHZlOmwscmVqZWN0OmkscHJvbWlzZTpzfT15KCksdT1PYmplY3QuYXNzaWduKHMse1tnXTpyLmV4cG9ydHMsW09dOmU9PntuJiZlKG4pLG8uZm9yRWFjaChlKSx1LmNhdGNoKCgpPT57fSl9fSksYT17Z2V0OigpPT51LHNldChlKXtlIT09dSYmKHVbZ109ZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiZXhwb3J0cyIsYSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIm5hbWVzcGFjZU9iamVjdCIsYSksZShmdW5jdGlvbihlKXtsZXQgdD1lLm1hcChlPT57aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoTyBpbiBlKXJldHVybiBlO2lmKG51bGwhPWUmJiJvYmplY3QiPT10eXBlb2YgZSYmInRoZW4iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil7bGV0IHQ9T2JqZWN0LmFzc2lnbihbXSx7c3RhdHVzOjB9KSxyPXtbZ106e30sW09dOmU9PmUodCl9O3JldHVybiBlLnRoZW4oZT0+e3JbZ109ZSxDKHQpfSxlPT57clt3XT1lLEModCl9KSxyfX1yZXR1cm57W2ddOmUsW09dOigpPT57fX19KSxyPSgpPT50Lm1hcChlPT57aWYoZVt3XSl0aHJvdyBlW3ddO3JldHVybiBlW2ddfSkse3Byb21pc2U6bCxyZXNvbHZlOml9PXkoKSxzPU9iamVjdC5hc3NpZ24oKCk9Pmkocikse3F1ZXVlQ291bnQ6MH0pO2Z1bmN0aW9uIHUoZSl7ZSE9PW4mJiFvLmhhcyhlKSYmKG8uYWRkKGUpLGUmJjA9PT1lLnN0YXR1cyYmKHMucXVldWVDb3VudCsrLGUucHVzaChzKSkpfXJldHVybiB0Lm1hcChlPT5lW09dKHUpKSxzLnF1ZXVlQ291bnQ/bDpyKCl9LGZ1bmN0aW9uKGUpe2U/aSh1W3ddPWUpOmwodVtnXSksQyhuKX0pLG4mJi0xPT09bi5zdGF0dXMmJihuLnN0YXR1cz0wKX07bGV0IFU9ZnVuY3Rpb24oZSl7bGV0IHQ9bmV3IFVSTChlLCJ4Oi8iKSxyPXt9O2ZvcihsZXQgZSBpbiB0KXJbZV09dFtlXTtmb3IobGV0IHQgaW4gci5ocmVmPWUsci5wYXRobmFtZT1lLnJlcGxhY2UoL1s/I10uKi8sIiIpLHIub3JpZ2luPXIucHJvdG9jb2w9IiIsci50b1N0cmluZz1yLnRvSlNPTj0oLi4udCk9PmUscilPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyx0LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpyW3RdfSl9O2Z1bmN0aW9uIGooZSx0KXt0aHJvdyBFcnJvcihgSW52YXJpYW50OiAke3QoZSl9YCl9VS5wcm90b3R5cGU9VVJMLnByb3RvdHlwZSxsLlU9VSxsLno9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoImR5bmFtaWMgdXNhZ2Ugb2YgcmVxdWlyZSBpcyBub3Qgc3VwcG9ydGVkIil9LGwuZz1nbG9iYWxUaGlzO2xldCBSPW8ucHJvdG90eXBlO3ZhciBrLF89KChrPV98fHt9KVtrLlJ1bnRpbWU9MF09IlJ1bnRpbWUiLGtbay5QYXJlbnQ9MV09IlBhcmVudCIsa1trLlVwZGF0ZT0yXT0iVXBkYXRlIixrKTtsZXQgdj1uZXcgTWFwO2wuTT12O2xldCAkPW5ldyBNYXAsUD1uZXcgTWFwO2FzeW5jIGZ1bmN0aW9uIFMoZSx0LHIpe2xldCBuO2lmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm4gRShlLHQsSyhyKSk7bGV0IG89ci5pbmNsdWRlZHx8W10sbD1vLm1hcChlPT4hIXYuaGFzKGUpfHwkLmdldChlKSk7aWYobC5sZW5ndGg+MCYmbC5ldmVyeShlPT5lKSlyZXR1cm4gdm9pZCBhd2FpdCBQcm9taXNlLmFsbChsKTtsZXQgaT1yLm1vZHVsZUNodW5rc3x8W10scz1pLm1hcChlPT5QLmdldChlKSkuZmlsdGVyKGU9PmUpO2lmKHMubGVuZ3RoPjApe2lmKHMubGVuZ3RoPT09aS5sZW5ndGgpcmV0dXJuIHZvaWQgYXdhaXQgUHJvbWlzZS5hbGwocyk7bGV0IHI9bmV3IFNldDtmb3IobGV0IGUgb2YgaSlQLmhhcyhlKXx8ci5hZGQoZSk7Zm9yKGxldCBuIG9mIHIpe2xldCByPUUoZSx0LEsobikpO1Auc2V0KG4scikscy5wdXNoKHIpfW49UHJvbWlzZS5hbGwocyl9ZWxzZXtmb3IobGV0IG8gb2Yobj1FKGUsdCxLKHIucGF0aCkpLGkpKVAuaGFzKG8pfHxQLnNldChvLG4pfWZvcihsZXQgZSBvZiBvKSQuaGFzKGUpfHwkLnNldChlLG4pO2F3YWl0IG59Ui5sPWZ1bmN0aW9uKGUpe3JldHVybiBTKDEsdGhpcy5tLmlkLGUpfTtsZXQgVD1Qcm9taXNlLnJlc29sdmUodm9pZCAwKSxBPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIEUodCxyLG4pe2xldCBvPWUubG9hZENodW5rQ2FjaGVkKHQsbiksbD1BLmdldChvKTtpZih2b2lkIDA9PT1sKXtsZXQgZT1BLnNldC5iaW5kKEEsbyxUKTtsPW8udGhlbihlKS5jYXRjaChlPT57bGV0IG87c3dpdGNoKHQpe2Nhc2UgMDpvPWBhcyBhIHJ1bnRpbWUgZGVwZW5kZW5jeSBvZiBjaHVuayAke3J9YDticmVhaztjYXNlIDE6bz1gZnJvbSBtb2R1bGUgJHtyfWA7YnJlYWs7Y2FzZSAyOm89ImZyb20gYW4gSE1SIHVwZGF0ZSI7YnJlYWs7ZGVmYXVsdDpqKHQsZT0+YFVua25vd24gc291cmNlIHR5cGU6ICR7ZX1gKX1sZXQgbD1FcnJvcihgRmFpbGVkIHRvIGxvYWQgY2h1bmsgJHtufSAke299JHtlP2A6ICR7ZX1gOiIifWAsZT97Y2F1c2U6ZX06dm9pZCAwKTt0aHJvdyBsLm5hbWU9IkNodW5rTG9hZEVycm9yIixsfSksQS5zZXQobyxsKX1yZXR1cm4gbH1mdW5jdGlvbiBLKGUpe3JldHVybmAke3R9JHtlLnNwbGl0KCIvIikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSkuam9pbigiLyIpfSR7cn1gfVIuTD1mdW5jdGlvbihlKXtyZXR1cm4gRSgxLHRoaXMubS5pZCxlKX0sUi5SPWZ1bmN0aW9uKGUpe2xldCB0PXRoaXMucihlKTtyZXR1cm4gdD8uZGVmYXVsdD8/dH0sUi5QPWZ1bmN0aW9uKGUpe3JldHVybmAvUk9PVC8ke2U/PyIifWB9LFIuYj1mdW5jdGlvbihlKXtsZXQgdD1uZXcgQmxvYihbYHNlbGYuVFVSQk9QQUNLX1dPUktFUl9MT0NBVElPTiA9ICR7SlNPTi5zdHJpbmdpZnkobG9jYXRpb24ub3JpZ2luKX07CnNlbGYuVFVSQk9QQUNLX0NIVU5LX1NVRkZJWCA9ICR7SlNPTi5zdHJpbmdpZnkocil9OwpzZWxmLlRVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMgPSAke0pTT04uc3RyaW5naWZ5KGUucmV2ZXJzZSgpLm1hcChLKSxudWxsLDIpfTsKaW1wb3J0U2NyaXB0cyguLi5zZWxmLlRVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMubWFwKGMgPT4gc2VsZi5UVVJCT1BBQ0tfV09SS0VSX0xPQ0FUSU9OICsgYykucmV2ZXJzZSgpKTtgXSx7dHlwZToidGV4dC9qYXZhc2NyaXB0In0pO3JldHVybiBVUkwuY3JlYXRlT2JqZWN0VVJMKHQpfTtsZXQgeD0vXC5qcyg/Olw/W14jXSopPyg/OiMuKik/JC8sTj0vXC5jc3MoPzpcP1teI10qKT8oPzojLiopPyQvO2Z1bmN0aW9uIE0oZSl7cmV0dXJuIE4udGVzdChlKX1sLnc9ZnVuY3Rpb24odCxyLG4pe3JldHVybiBlLmxvYWRXZWJBc3NlbWJseSgxLHRoaXMubS5pZCx0LHIsbil9LGwudT1mdW5jdGlvbih0LHIpe3JldHVybiBlLmxvYWRXZWJBc3NlbWJseU1vZHVsZSgxLHRoaXMubS5pZCx0LHIpfTtsZXQgTD17fTtsLmM9TDtsZXQgQj0oZSx0KT0+e2xldCByPUxbZV07aWYocil7aWYoci5lcnJvcil0aHJvdyByLmVycm9yO3JldHVybiByfXJldHVybiBxKGUsXy5QYXJlbnQsdC5pZCl9O2Z1bmN0aW9uIHEoZSx0LHIpe2xldCBuPXYuZ2V0KGUpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IEVycm9yKGZ1bmN0aW9uKGUsdCxyKXtsZXQgbjtzd2l0Y2godCl7Y2FzZSAwOm49YGFzIGEgcnVudGltZSBlbnRyeSBvZiBjaHVuayAke3J9YDticmVhaztjYXNlIDE6bj1gYmVjYXVzZSBpdCB3YXMgcmVxdWlyZWQgZnJvbSBtb2R1bGUgJHtyfWA7YnJlYWs7Y2FzZSAyOm49ImJlY2F1c2Ugb2YgYW4gSE1SIHVwZGF0ZSI7YnJlYWs7ZGVmYXVsdDpqKHQsZT0+YFVua25vd24gc291cmNlIHR5cGU6ICR7ZX1gKX1yZXR1cm5gTW9kdWxlICR7ZX0gd2FzIGluc3RhbnRpYXRlZCAke259LCBidXQgdGhlIG1vZHVsZSBmYWN0b3J5IGlzIG5vdCBhdmFpbGFibGUuYH0oZSx0LHIpKTtsZXQgbD1jKGUpLGk9bC5leHBvcnRzO0xbZV09bDtsZXQgcz1uZXcgbyhsLGkpO3RyeXtuKHMsbCxpKX1jYXRjaChlKXt0aHJvdyBsLmVycm9yPWUsZX1yZXR1cm4gbC5uYW1lc3BhY2VPYmplY3QmJmwuZXhwb3J0cyE9PWwubmFtZXNwYWNlT2JqZWN0JiZkKGwuZXhwb3J0cyxsLm5hbWVzcGFjZU9iamVjdCksbH1mdW5jdGlvbiBJKHIpe2xldCBuLG89ZnVuY3Rpb24oZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2xldCByPWRlY29kZVVSSUNvbXBvbmVudCgoInUiPnR5cGVvZiBUVVJCT1BBQ0tfTkVYVF9DSFVOS19VUkxTP1RVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMucG9wKCk6ZS5nZXRBdHRyaWJ1dGUoInNyYyIpKS5yZXBsYWNlKC9bPyNdLiokLywiIikpO3JldHVybiByLnN0YXJ0c1dpdGgodCk/ci5zbGljZSh0Lmxlbmd0aCk6cn0oclswXSk7cmV0dXJuIDI9PT1yLmxlbmd0aD9uPXJbMV06KG49dm9pZCAwLCFmdW5jdGlvbihlLHQscixuKXtsZXQgbz0xO2Zvcig7bzxlLmxlbmd0aDspe2xldCB0PWVbb10sbj1vKzE7Zm9yKDtuPGUubGVuZ3RoJiYiZnVuY3Rpb24iIT10eXBlb2YgZVtuXTspbisrO2lmKG49PT1lLmxlbmd0aCl0aHJvdyBFcnJvcigibWFsZm9ybWVkIGNodW5rIGZvcm1hdCwgZXhwZWN0ZWQgYSBmYWN0b3J5IGZ1bmN0aW9uIik7aWYoIXIuaGFzKHQpKXtsZXQgbD1lW25dO2ZvcihPYmplY3QuZGVmaW5lUHJvcGVydHkobCwibmFtZSIse3ZhbHVlOiJtb2R1bGUgZXZhbHVhdGlvbiJ9KTtvPG47bysrKXQ9ZVtvXSxyLnNldCh0LGwpfW89bisxfX0ociwwLHYpKSxlLnJlZ2lzdGVyQ2h1bmsobyxuKX1sZXQgVz1uZXcgTWFwO2Z1bmN0aW9uIEgoZSl7bGV0IHQ9Vy5nZXQoZSk7aWYoIXQpe2xldCByLG47dD17cmVzb2x2ZWQ6ITEsbG9hZGluZ1N0YXJ0ZWQ6ITEscHJvbWlzZTpuZXcgUHJvbWlzZSgoZSx0KT0+e3I9ZSxuPXR9KSxyZXNvbHZlOigpPT57dC5yZXNvbHZlZD0hMCxyKCl9LHJlamVjdDpufSxXLnNldChlLHQpfXJldHVybiB0fWU9e2FzeW5jIHJlZ2lzdGVyQ2h1bmsoZSx0KXtpZihIKEsoZSkpLnJlc29sdmUoKSxudWxsIT10KXtmb3IobGV0IGUgb2YgdC5vdGhlckNodW5rcylIKEsoInN0cmluZyI9PXR5cGVvZiBlP2U6ZS5wYXRoKSk7aWYoYXdhaXQgUHJvbWlzZS5hbGwodC5vdGhlckNodW5rcy5tYXAodD0+UygwLGUsdCkpKSx0LnJ1bnRpbWVNb2R1bGVJZHMubGVuZ3RoPjApZm9yKGxldCByIG9mIHQucnVudGltZU1vZHVsZUlkcykhZnVuY3Rpb24oZSx0KXtsZXQgcj1MW3RdO2lmKHIpe2lmKHIuZXJyb3IpdGhyb3cgci5lcnJvcjtyZXR1cm59cSh0LF8uUnVudGltZSxlKX0oZSxyKX19LGxvYWRDaHVua0NhY2hlZDooZSx0KT0+KGZ1bmN0aW9uKGUsdCl7bGV0IHI9SCh0KTtpZihyLmxvYWRpbmdTdGFydGVkKXJldHVybiByLnByb21pc2U7aWYoZT09PV8uUnVudGltZSlyZXR1cm4gci5sb2FkaW5nU3RhcnRlZD0hMCxNKHQpJiZyLnJlc29sdmUoKSxyLnByb21pc2U7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGltcG9ydFNjcmlwdHMpaWYoTSh0KSk7ZWxzZSBpZih4LnRlc3QodCkpc2VsZi5UVVJCT1BBQ0tfTkVYVF9DSFVOS19VUkxTLnB1c2godCksaW1wb3J0U2NyaXB0cyhUVVJCT1BBQ0tfV09SS0VSX0xPQ0FUSU9OK3QpO2Vsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fSBpbiB3b3JrZXJgKTtlbHNle2xldCBlPWRlY29kZVVSSSh0KTtpZihNKHQpKWlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpbmtbcmVsPXN0eWxlc2hlZXRdW2hyZWY9IiR7dH0iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmXj0iJHt0fT8iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmPSIke2V9Il0sbGlua1tyZWw9c3R5bGVzaGVldF1baHJlZl49IiR7ZX0/Il1gKS5sZW5ndGg+MClyLnJlc29sdmUoKTtlbHNle2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtlLnJlbD0ic3R5bGVzaGVldCIsZS5ocmVmPXQsZS5vbmVycm9yPSgpPT57ci5yZWplY3QoKX0sZS5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChlKX1lbHNlIGlmKHgudGVzdCh0KSl7bGV0IG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgc2NyaXB0W3NyYz0iJHt0fSJdLHNjcmlwdFtzcmNePSIke3R9PyJdLHNjcmlwdFtzcmM9IiR7ZX0iXSxzY3JpcHRbc3JjXj0iJHtlfT8iXWApO2lmKG4ubGVuZ3RoPjApZm9yKGxldCBlIG9mIEFycmF5LmZyb20obikpZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntyLnJlamVjdCgpfSk7ZWxzZXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtlLnNyYz10LGUub25lcnJvcj0oKT0+e3IucmVqZWN0KCl9LGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZSl9fWVsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fWApfXJldHVybiByLmxvYWRpbmdTdGFydGVkPSEwLHIucHJvbWlzZX0pKGUsdCksYXN5bmMgbG9hZFdlYkFzc2VtYmx5KGUsdCxyLG4sbyl7bGV0IGw9ZmV0Y2goSyhyKSkse2luc3RhbmNlOml9PWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGwsbyk7cmV0dXJuIGkuZXhwb3J0c30sYXN5bmMgbG9hZFdlYkFzc2VtYmx5TW9kdWxlKGUsdCxyLG4pe2xldCBvPWZldGNoKEsocikpO3JldHVybiBhd2FpdCBXZWJBc3NlbWJseS5jb21waWxlU3RyZWFtaW5nKG8pfX07bGV0IEY9Z2xvYmFsVGhpcy5UVVJCT1BBQ0s7Z2xvYmFsVGhpcy5UVVJCT1BBQ0s9e3B1c2g6SX0sRi5mb3JFYWNoKEkpfSkoKTsKOyhmdW5jdGlvbigpe2lmKHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwhLyg/Ol58O1xzKV9fdmVyY2VsX3Rvb2xiYXI9MSg/Ojt8JCkvLnRlc3QoZG9jdW1lbnQuY29va2llKSlyZXR1cm47dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7cy5zcmM9J2h0dHBzOi8vdmVyY2VsLmxpdmUvX25leHQtbGl2ZS9mZWVkYmFjay9mZWVkYmFjay5qcyc7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwbGljaXQtb3B0LWluIiwidHJ1ZSIpO3Muc2V0QXR0cmlidXRlKCJkYXRhLWNvb2tpZS1vcHQtaW4iLCJ0cnVlIik7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZGVwbG95bWVudC1pZCIsImRwbF9DUUNuSlhHMXJLWk0xazNReERpQjlpMVRtZjY2Iik7KChkb2N1bWVudC5oZWFkfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKHMpKX0pKCk7"}},"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":"digitaltradeinvest.org/fonts/icomoonca27ca27--rdmvgc.woff","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.615Z","timestamp":1785129949615,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /fonts/icomoonca27ca27--rdmvgc.woff HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/css/font-icons.min.css\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: application/font-woff\r\ncontent-length: 1177484\r\nvary: accept-encoding\r\nlast-modified: Thu, 09 Oct 2025 21:44:33 GMT\r\netag: \"11f78c-68e82cc1-9f23664b17bb58ca;;;\"\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 87\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 1d5622ea94d9cfe765af7a25ee3f2584-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":1177484,"size_decoded":1177964,"mime_type":"application/font-woff","magic":"Web Open Font Format, TrueType, length 1177484, version 0.0","md5":"b8bd3cc74566655fac2616f136bf423b","sha1":"69f8e3bbacd66a297b9c2eb882eb6b0a11705e12","sha256":"cb8cd638435179683cbcdd35895e0de14db408e02d7960023f77c2035176761a","sha512":"463fd3adb7f5c7415b2c289ae4185f7560da6f3ba157bbed2ffa69dce7aa4faae75c3e9c4f794421acc4599256d90dc39982613c44643984651c4fda1aaa09a9","ssdeep":"12288:QweP6MoQND7YIEkyIT0/w5oXmlTFbZe7yK:7epFFyI4Rmtgj","tlshash":"8025e70b770deb4d904276e3c85df8635dd7a2015bb3a5527f8a9d0ce15e1e08a28b2f","first_seen":"2023-05-12T21:16:39Z","last_seen":"2026-08-15T04:03:31.709969Z","times_seen":820,"resource_available":false,"data":"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AQICAQECAgUDBAgFChQJCg8FAgMBAgIGCAMEAQMDDQkDAgECBAIcAQIBBgsFBAcDAgIBAwMCBgMEAgICAgECAQIFBAMIBQQCAQEFAh0DBAEDAwECAgMHBAULBgQGAgEDAwUIAwQFAgECAQICAgIEAgE2ChIJCA0EAwMGCgMDAwECAgIHBQQMBgcOCAkQCAcNBd0BAgICAgcFBAwGBw4IChIJCA0EAwMGCgMDAwECAgIHBQQMBgcOCAkQCAcNBd0BAgICAgcFBAwGBw4IGQYLBQUIBAMFAgIBAwIDCAYCAgEDAgQJBgcOBwYLBQUIBAMFAgIBAQICAQEDAewDBwEECQYHDgcGCwUFCAQDBQICAQECAgMJBQICAQMCBAkGBw4HBgsFBQgEAwUCAgEDAgEBAwHsAwcBBAkGBw4HAXICBQEBAwMFCAMEBQIBAgECAgICBAMGAgMDAQICAwcEBQsGAQIBWQIHAwQJBQQKBAUIBAMGAgIGBAMCAQMIBAUMBgYNBgYNBgICfgEYBAcDAwUCAQIDAwcCAgQDAwcDAwMCGgIGAwMDoAMEAggFBQsHBQoFBgoFLAEHAwMDAi8DAgEEAQUJBAUJBQQJAwQGAgQBAwQNCQUNBwIEAQQKBgkSCQgPBAIHAwMCAQYUDAsaDAYMBQcPBwkOBQQGhgEZAgYEAwIBFwQHAwMFAgECAwMHAgEFAwMHAwMCGgEGFAwLGgwGDAUHDwcMEQUEAQYCCAUFCwcFCgUGCgUsAQcDAwMCLwMCAQQBBQkEBQkFBAkDBAYCBAEDBA0JBQ0HAgQCAwoGCRIJCQ4EAgcDAgMzAQMIBAUMBgYNBgYNBgMCAQIHAwQJBQQKBAUIBAMGAgIGBAIDsQICBg0GBg0GBgwFBAgDAQIDBAYCAgYDBAgFBAoEBQkEAwcCIgYFBQ4IBw8HBQwGBg0GBg0GBgwFBAgDAwMEBAQMB2MFCgYFCgUHCwUFCAIDBAYFBQ4IBw8HBQwGBg0GBg0GBgwFBAgDAwMEBAQMB2MFCgYFCgUHCwUFCAIDBKcCAwIGAwQIBQQKBAUJBAYKAwIEAgcMBgcKBAMEAgICBgQDCQQFCQUECQUBBAECA2kCAwMGCwMEBAIDAgYDBAgFBAoEBQkEBgoDAgQCBw0FBwoEBAQDAgIGBAMJBAUJBQQJBQEEAQIDaQIDAwYLAwQELAMCBAYC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EgQCAQIBAQECBQICAgEBAQkCBQIDBQIBBgMGCgQDCAQDAgIHEgkJEAYDBgMCAwUEAwUDAwIHAwQPCQoXDAEDCQUGDgoDCQUFCwYJCQICAQMMBAEEAwIEAgQKBgYNBgQFAQECAwIHAwICAQIFAgMGAwQIBQMIBAUIBQUMBAUIAgEEAiwDBQUDBAkDAgYEAwMCAwgEAwUFBCIBAQQDAQIKBwYLAgIGBAMDAgILBgYLAgEEAyYBBAQBAwsFBgwEAgcDAwIBBAwFBgoDAQUDSwICAY0CAgEBSgIGAnMDAgIvAQICAQGAfCdmPUsBAgESGQcHAQUFBgICAgEFBAMDAgMDDAsCCQMGDQcDCwcGDwgIEQgDAwICBgQIEggJDwYHCgMBBgIDAwICAgQCCQYEAgUBAgIBBQQBCAgCAQIEBQYVEQMCAgEEAwEeAQEQIA0OEwUBAwMDBwEEEQwLHA8DBAEFA2cBBAQDEgYBBQQEBwMDAwEFBAMFAQMDBAoHBw0GBw0FBQQCBQNdAQIBPwMBAVACBgNCAQIBAVIBAwIBATMwSjJIxwECAQwuAQMBAgMHAgEtDAMBAQIEAh8BAwECCAUJEwUDAQMCBwMEFAgGCAEDAQIBBAIQAQMBBQUMBQMDAgcDBAwFBQIBAgEEAu0BAiQDAwEBBwMjBAMBAQUCSwECBwMFCQQFCQQDBgMEBQMFDAYHDwYIDAQCBQIGEgQBAQIBAQMaBQMCAQEFAwNiFQYKAwEBAgEGAwELBAEBAQEGBAMDAQIBAwMKBgQBAgECFw8QIg4KGg8PIBADBQUEECEQEBsLCiEREh4FAgYLBQQFAQUHAgIBAwQOBwEBAhEUBhQLDBkLBAcBAgIDAgcEBQsFBQsFAgQBAwwHBw8ICA0GAwYEAwYEBAgEAwgEAgK5BQQMHA4OGgkDAwIBBwMIGA4NGgsEBRIBBgMHIhISIAYDAgEBBwMGHxISIAcDAw0BBgMQIRAQGwkDAwIBBwMJGw8PIQ4DBP7ZAVUBAwICAwJOAgECSAIHA1kCAgFfSkpBQZMBCxUMCxcMBQkFBQkEBgwFBQwGBgsFAwkCCgkCAwEEAggEBQsFBgoEAgcDAwIBBQsFBgsFBAcCAQIBAgkGAgQBAQQEAQUTBQIDAgEEAQQIBAcPCAIGAgkSCQkSCQIGAwMCPQEDDgoLGA4DBgIBAwQLFQkIDQMG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BQQECQQECAQEBAEFA2IDBAEEAwQJBAQIBAQFAQUECA8IAQExER8LDA0NDAsfEREfCwwNDQwLHxEOGAkJCwsJCRgODhgJCQsLCQkYDoICBAECBQMDBQMDAgMHAgQGAwMFAwIBAwEDARoBAQMEAgICAgQDBAUBAQEBAQEBAQEFAzACAwICAwMFAwMFAgIHAwMBAgIGAwMGBAEDAdgBAwEEBgMDBQMCAQMDBwICBQMDBQMDAgEEAjADBQEBAQEBAQEBAQUEAwQCAgICBAMBARoBAwEDAQIDBQMDBgQCBwMCAwMFAwMFAgEEAskCAgMIBAIEAgQIAwMBAgIHAwIFAgIFAgMHAgEBewUDBAUCAQEEBAMGAQEBAQEBAQEGBAMEAgIFBAMFCwMDAwcBAgUDAQIEAwYCAQMCAQMBAQMBAgMCAQYEAwMCAwUCAQYEAwMZAgIDBwIECAUCAQMDBwICBQIDBAIBAQIFAgIFAgIHAwMBAgQJBAIGAwMCJgECAgcDBQsGAwICBwMDBgMDBgMBAQECAgYDAwYDAwcCAwECBgwFAgcDAQIxAQECBwMCBQICBQIDBwICAQMDCAQCBAIECAMCAjYCAQYMBQIHAwMDAgYDAwYDAwcCAgEBAQECBwMDBgMDBgMCAwIHAwULBgIBKwEBBAkEAgYDBAEBAgUCAgUCAgcDAgICAgMHAgIFAgMEAgICAwMHAgQIBQEBIAEDBQIBBgQDBAEBAwECAwIBBgQCAwMCBAYCAQMCAQMBAQQDAwcBAgUDARICAgUEBAQBAQEBBgQDBAQEAwYBAQEBBAQEBQIBAdENDAsfEREfCwwNDQwLHxERHwsMDZcLCQkYDg4YCQkLCwkJGA4OGAkJCxACAgMGAwQFAwIHAwMCAwcDBAcDAwcCAQF8AQYDCA8ICA8IAwYBAwQECQQECQQECQQECQQDBFUCAQMHAgMGAwMGAwMBAgIHAwMHBAMGBAEBAQEDBwMEBwMDBwICAQMDBgQDBQMCBwMBAlUEAwQJBAQJBAQJBAQJBAMEAQYDCA8ICA8IAwYBfAEBAgcDAwcEAwYEAgMDBwIDBgMDBgMCAgAACAAAADUCAAGLACMAPABVAG4AggCWAKoAvgAAJSImJy4BJzQmPQE0NjU+ATc+ATMyFhceARcWFA8BDgEHDgEjJx4BFx4BMzI2Nz4BNy4BJy4BIyIGBw4B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AwEGAQMEAgIBAiECAQICCAMFAgIFBAQKAwQBAwMDMRIDBgEBBgMSAgYBAQYCNRAEBAEBBAQQBQQBAQQFMhIDBgEBBgMSAwYBAQYDNQcFBAEBAQEEAwQFAgEBAQMCBgEBBgP2AwYBAQEEBQIGAQEBBAQBBQQBAQEGAwQEAQEBBgIBAQIBBAQBAQMIAgQCAgEBBgLbAQQEBAQCAQMBCAIFBQQBAwEDAcgEAQMBAQUGBQIIAwICBAUDAQQBngECAwIIBAQBAQQECAMEAwMFAgEGAjIQBAQBAQQEEAQEAQEEBDASAgYBAQYCEgIGAQEGAlMDBgEBAQQFAgYBAQEEBFQKAgYBAQYCCgIGAQEGAgFWAwQEAQEEBAMEBQQCBwEFAgUGBSUSAgYBAQYCEgMGAQEGAzQPBQQBAQQFDwUEAQEEBTESAwYBAQYDEgIGAQEGAjQQBQQBAQQFEAQEAQEEBDISAwYBAQYDEgIGAQEGAjQQBQQBAQQFEAQEAQEEBE8BAQQKBAQCAQIGBAIIAwUDAQQEIgMEAgIEAggCBAYDAQQDCQQBAQIBfwMCAgIDAgYBAwYEAgIDAQgCAgID/jgDAwICBgMEAwQFAwQBBAMCAgECcAIBAgIEAwMBBQQDBQEEAgQDAXABAQEDBQEBAQQEAwYBAQEEBf4XBQQBAQEGAwQEAQEBBgJ/AwYBAQEEBQIGAQEBBAQBawQEAQEBBgIFBAEBAQYD/hUDBgEBAQQFAgYBAQEEBIEFBAEBAQYDBAQBAQEGAgFpAgYBAQEEBAMGAQEBBAX+FwUEAQEBBgMEBAEBAQYCfwMGAQEBBAUCBgEBAQQEAWsEBAEBAQYCBQQBAQEGA/4VAwYBAQEEBQIGAQEBBASBBQQBAQEGAwQEAQEBBgIBaQIGAQEBBAQDBgEBAQQF/pcFBAEBAQIBAgUEAwUCAQIBAQEGAgFnAgUCAgMBAQQCCAEDAwICBQEC/qYBAwEDAQUGBQIIAQMDAgQEBAQBATkDBAYEAwQBBwMFCAYCAwMFAv7xAgYBAgYDAgEDCwUEAQEEBQsCAQIBAgHcEAUEAQEEBRAEBAEBBAQyEgMGAQEGAxICBgEBBgI0EAUEAQEEBRAFBAEBBAUyEgIGAQEGAhIDBgEBBgP/AAMGAQEBBAUCBgEBAQQEAQIFBAgEBQUECAQFKwUDEgMFBQMSAwUzAgMDBwMD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BwUKAgIDAQIFBQYOCAQLAQIBBQQNCAQKAQIDAQIDAwMLBwQJAQUCBAYBAQkFBAcHBAUJAQEGBAIFAQkEBwsDAwMCAQMCAQoECA0EAwEDAwcCAgkFBw8EBAMCAQIBAQgEBw0CAgYEAwUBBwMGCgoGAwcBBQMEBgICDQcECAEBAgECAwQEDwcFCQIBAQECBgUQCAQKAgIDAQIGBwYQCAQKAgIGAgQJCAcPBgQJAwIHAwYMCAgNBQMHAwIJBAcOCAcKBAIFAgMJBQcQBwcFAgEDAgIKBQcQBgUCAQIKBAgPBAQDAgICAQEIBQYOAgIHBAMEBwMGCgoGAwcEAwQHAgIOBgUIAQECAgIDBAQPCAQKAgEDAkQDBAEU/vgUBwMDBAEVAQUDARUDBAEVAQMEAQEfBQgIIBwNFQoJEQcHDAMEBAEEAwwLCBMNDB0REhgGBgWrAgIDCQgFDQgHEgoaHAYGAgQFBRMODxkKChAGCAkDAgKrBQYGGBIRHQwNEwgLDAMEAQQEAwwHBxEJChUNHCAICAWrAgIDCQgGEAoKGQ8OEwUFBAIGBhwaChIHCA0FCAkDAgIXAQECAgYEAwQBAgICAgEEAwQGAgIBAUkDAwgKAwMCAgMDCggDBAEBBwMIDQYFBgYFBQ4IAwYCSwEBBwOlBAMCAQYEpQMDAQEGBKUDAwEBBwOlAgQHAQECBwMFBQIBAwICCgUHDgcGCAQCBgICCgMHDQcHCwUDCAIDCAMFCwcHDQYECQIDBQMDCAcGDwcECgICAwIBBQYFDwcFCgICAQQEDgcFCgEBAgICAgIDDAYFCQEFAwMHAQEJBgMHBwMGCQEBBwMDBQEJBQYMAwICAgICAQEKBQcOBAQBAgIKBQcPBQYFAQIDAgIKBAcPBgcIAwMFAgMJBAYNBwcLBQMIAwIIAwULBwcNBwMKAgIGAgQIBgcOBwUKAgIDAQIFBQMHAgIBAwEDAQIGBwYQCAQKAgMFAgQJCAcOBwQJAwIHAwYMCAgNBQMIAgIJBAcOCAgJBAIFAgMJBQcQBwcFAgEDAgIKBQcRBQYBAgEKBAgPBAQDAgEDAQEJBAYOAgIHBAIFBwQFCwsFBAcFAgQHAgIOBgQJAQEDAQIDBAQPCAQKAQICBQYQBwUKAgIDAQIFBwcQBwUJAwIFAgQJCAgOBwQJAgIIAwUNCAgMBQQHAgMJBAYPBwgJ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NzYmJy4BJyYiIwFRCA0FBgYGCgUGDgcHDgUGBQQFAwQCBw0FBQYGBQUNBwIEAwUEBQYFDgcHDgYFCgYGBgUNCAgNBQYGAQUKBgUOBwcOBQYGBQUDBAIHDQUFBgYFBQ0HAgQDBQUGBgUOBwcOBQYKBQEGBgUNCD4CAgEDBwQECAMEAwEEAwMIBAQIAwMEAQMEAwgEBAcDAwYCAQEDCAQECAMDAwMDAgMBAgIDAgEDAQEFAwIBBQcDAwQEBAMIBQMGAQEDAQIDAgIBAwIDAwMDAwgEBAgDAQECBgMDBwQECAQDAwEEAwMIBAQIAwMEAQMEAwgEBAcDAwYCAgMIBAQIAwMDAwMCAwECAgMCAQMBAQUDAgEFBwMDBAQDBAgFAwYBAQICAgMCAgEDAgMDAwMDCAQECAMBAQEEAT4KEAcGBwcGBxAKChAHBgcHBgcQCgYLAwQFBQQDCwYGCwQDBQUDBAsG4QIEAgYKAwMCAQMGAwYLBgUKAgMCAQIGBQEBBQgDAwECAQcFBQwGAgQDAgECAgcGBQwFBgoDBAgEAggFBQwGBgkDAwMBAwYDBQwGBQkDAwICAgYEAQYIAwICAgIHBQULBgIFAwMBAggFBgsGBgoDBAcEAgYEBAkFDgIGBgYLAQEFAwMFCwYDBgEBAgwFAwQBAQEBAgMECAMBBwICBgsCAQYGAQQEAQICAwECAgQBAgMMBQEDBgMECQYCAwICBgYGCgIBBQMCBgsFAwYBAQMMBQIEAQEBAQEBAgECBQcDAgYDAQEFDAEBAQECBAMCAwQBAgEDAwIFBAMDDAUBAQMGAgQKBQMCAQEoAwUDBwwDBAICAgoGBw8HBwwEBAECAQgEBQwGBwsCAQMCBgQECAQDBgEBAQICBwQBAwGfBQUFDQgBBQIEBQYFBg4HCA0FBQoGBwUFDgcIDgUFBgEFCwUFDQcIDgYFBQEFBQMEAggNBQUFBQUFDQgCBAMFBQEFBQYOCAcNBQULBQEGBQUOCAcOBQUHBgoFBQ0IBw4GBQYFBAIFAQgNBQUFQAECBAIBAwEGAwEBAQQIAwMDAwMDCAQBAQMHAQMBAgQCAQECAQIDAwMDAwgEBQgDAQIGAwQHBAMIBAMEAQMDAwgEBQgDAwMBBAMECAMEBwQCBwIBAwgEBQcEAwMDAwECAgICAgQBAgIBAQYDAQEBBAgDAwMDAwMIBAEB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DgZGAQUEBwcEDgUHDAYCBwIDAQEGBgQBAwIHBAQBAQICBAkOAwUCAgIDAQQFAwINBw0SBAEIAgQBAQQKBwUOBgQJBgIDAwUKCQQDAgEFChAJBAoDBQsIBxAGAQECBQIEBgYCCAMCAgUIAwEBAwEBAwEHAgYSCQYLAQIDBAEBMQpdDF/OAQQKAwYHBAMHAQMCAQEDAQYDCBELCRQHCQcBBggDCQQGCQcBCAwGAwYBAQcEBgwIBQ4DBgQBBAcDDQZEAQEEAwIBCwYJEgcBBwEDAQEDAwgFAgIDCAIGBgQCBQIBAQYQBwgLBQMKBAkQCgUBAgMECQoFAwMCBgkEBg4FBwoEAQEEAggBBBINBw0CAwUEAQMCAgIFAw4JBAICAQEEBAcCAwEEBgYBAQMCBwIGDAcFDgQHBwQFASxdC18NuQgHBxMKCxIHBwgIBwYTCwoTBwcIVQUFBA0HBwwFBAYGBAUMBwcNBAUFFgQDBQ0GBgwFAgcDBQwIBxAIBAMEDQkJDQQDBAgQBwgMBQMHAgUMBgYNBQMFAQEFBAUTCQYIBAMDBgECCwkHEAgDBQICAgECAgMDCgUGDgcDBAQDBw4GBQoDAwICAQICAgUDCBAHCQsCAQUEAwQIBgkTBQQFAaSIiP7IAgICBgQIEwoKEggGBwEIBwQJBAUKBQUKBQQIBAMFAgECVQUEBQwHBg0FBQUBBAUEDQcGDQUFBrQCAwUHAQIBAgIGBAIDAgcCBQwGBg0FBgkDAQUDAgQBAQkGCRMFAwYCAgECAwIBAQcEAwECAwcCBQYDAgMBAQcPCAcKAwUJBgcRCQMBAgEFBAgLAwMBAQUJBAYNBgYKAwICAwMHAQMSDAgMAwMGAgICAgMDBAMMCgMDFw1XDVdIAgECBQMECAQFCgUFCgUECQQHCAEHBggSCgoTCAQGAgICVQYFBQ0GBw0EBQQBBQUFDQYHDAUEBbQDAwkNAwQDAwICAgIGAwMMCAwSAwEHAwMCAgMKBgYNBgQJBQEBAwMLCAQFAQIBAwkRBwYJBAQKBwgPBwEBAwIDBgUCBwMCAQMECAECAwIBAgYDBRMJBgkCBAMCBQEDCQYGDAYGDAUCBwIDAgQGAgIBAgEHBQMCGVcMVg0AAAAACQAD/+AB/gHgABAAFQArAC8APgBPAFQAZQBqAAAFISImNRE0NjMhMhYVERQGIyUhESER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BgEBBgNzDwUEAQEEBQ8EBAEBBARkAwICCwMBAQQGAwsDAQEDAgJSAgMCCgQBAgMHAwoEAQICAgNcAgIDAQEDCwMGBAEBAwsCAgNTAwICAgEECgQGAwIBBAoCAgMiDRMJBwoBAQoHCRMNChYHCAgBAQgIBxYKAQcQBAYGAQEGBgQQBwkNBwQHAQEHBAcNCT8FBAEBAQYDBAQBAQEGAgEDBgEBAQQFAgYBAQEEBB8MAgYBAQYCDAIGAQEGAkkJBQQBAQQFCQUEAQEEBUACAwIGBAECAwYEBgQBAgICAzYDAgIHAwEBBAYDBwMBAQICAzsDAgICAQQGBAYDAgEEBgMCAjUCAgMBAQMHAwYEAQEDBwICAxUKDQcECAEBCAQHDQoHEAQHBQEBBQcEEAcBBAoCBAMBAQMEAgoEBgcEAwQBAQQDBAcGPwUEAQEBBgMEBAEBAQYCAQMGAQEBBAUCBgEBAQQEHwwCBgEBBgIMAgYBAQYCSQkFBAEBBAUJBQQBAQQFQAIDAgYEAQIDBgQGBAECAgIDNgMCAgcDAQEEBgMHAwEBAgIDOwMCAgIBBAYEBgMCAQQGAwICNQICAwEBAwcDBgQBAQMHAgIDFQoNBwQIAQEIBAcNCgcQBAcFAQEFBwQQBwEECgIEAwEBAwQCCgQGBwQDBAEBBAMEBwYeBQQPGgoKCwUDBAUJBwgUCwQFBQQLFAgHCQUEAwULCgoaDwQFExAPJxQBBgQECQQVBQoEBAYBIQoPBQQDAwQFDwsgAQYEBAoFFQQJBAQGAhMnDxAT8QEBAQsGKgMFCAUVBAkFBBAjDg8SEg8OIxAEBQkEFQUIBQMpBgsCApQFBBAEBQUEEAQFcwUEEAMFBQMQBAVCBQMEBQUEAwUFAwQFBQQDBSMBAQwCBwMCAgwCBwMBAVIBAgsDBwIDAwsDBwICAQECAgcDCwMDAgcDCwIBUgEBAwcCDAICAwcCDAEBUgkICBQMDBQICAkJCAgUDAwUCAgJYAYFBQ8ICA8FBQYGBQUPCAgPBQUGWwUECgQFBQQKBAVLBQQLAwUFAwsEBSsFBAMFBQMEBQUEAwUFAwQFFwEBCAIHAwICCAIHAwEBNQEBCAIIAgMDBwMHAwEBAQEDBwMHAwMCCAIIAQE1AQEDBwIIAgIDBwIIAQE3BwUGDgkIDwUGBgYGBQ8ICQ4GBQdABAMDCAUFCQMD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AgEBBQQDBQIBAQEBAgEEAgICTAMCAgIDAgMCAwMBCAIEBAQCAwIBAwEDOgMDAgEEAwoEBAUCAwQDBwEDAQLuCAsHBQwEBQYDAgQCAgIDBAUSCAsTCQIIAgoLAwIBBwIKBQcLCBAKDQYDBAMIBAYJBgUOBgcKBAIDAwkFBQYFAwsEoQIBBAUEBAQDAgUFAQMEBgQCBQIFAiACBQIDAgQFAwEIAgMCBAcGAkwBBQEDAgEBAwQDBgECAQIBAQQDYgMFAQECAQEEAggEAgEBAwUBAQFfBAQBAQUHBQIIAwMDBAQDAQQBPAQEAwkDBAMBBQUDCQMDjgMGAQEGAwECCAIEBgIBBQMLBB8BBAEEBAMCBAIHAQICBAEBBAREAgQCAgEBBAQDBQEBAgIGAVEBAQEEBAEBAwgCBAICAQEBAQMFUgMEAgQCAwECAwYEAgYBAgQCAgI3AwMCAQIEBAsEBAQBAQQEAwcCAgECLQYJBgMJAwQFAwMBAQMBAwQFAgYCBxELCBUGBQUEAQQBAQIDAwUDCQQFBwUECgQNBg8EAwUEBAYBAgYEBgsIBQ0EBgcFAwUCAQcEBgoH/vgHDAcECwIEAgECBQIEBwUEDQUGCQcGDwUHCAQEAQQDDgkEBgUEDgYSAwgCBwoGBAkBAwMCBQkIBQ4FBQcFBQoBAwECAwUFAwoEZQkSBggHAgYHBRMJBQcFCRUHCAoDAQIBBAIEBgUECgQHDAcDFAEEBgcGBQ0DBgMBBQUEDAYDBg0ECAoFAwQDBwMFCgf3AgEEDQkJFAkGDAYHCgQEBAMCBQ8JCRQJBAcEBwwFBAVnAwIDBwQGCwUHDQYGCQICAQIDCgYECAQGDQYHCgMBAvYFBAUMBwYNBgUKBQQKBAQIAwIFAQEBBgUFDggECAMFCgUECgUECAMEBQECAmgBAggGBQ0HBgsGBgoDAgECAgkGBw0GBAgFBQkEAwRYAwMDBgEBAgICAwMGAgICBAEFAQMHBAoDBQICBgMCAh4BBQQBAgECBQIDBgEBAwMEBwMCAwEDBQoDAwMIAwIDAQQEAQUEAQIBAgUCBAYBIwIBBAIDAQIHAwMBAgIFAwMDBwIBAQoCAQMHAgMFAQEEAwQGAQMCAQH+eQQDAwcEAwcEBAkFBQoFBQkECAoBAgQGAgQCBRAKCRQJBgkDAwRfBwcFDQcGDAQDBwMDAQECCAYG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Bw4BBx4BFx4BMzI2Nz4BJzYmJy4BIzciJicuAScuAScuATcmNjc+ATc+ATMyFhceAQcWBgcOAQcOASMnIgYHDgEHHgEXHgEzMjY3PgEnNiYnLgEjygcMBZ4GBAEBBQYBBAcMCAYPA6AEBgEBBwT++gUPB2sECAP++wIFAQEDAqAEEQUBBgQDB54DBQRkBwgGBAkDBAUDAQMBAQMBAwUEBxQJCxIIAgcBAwEBAQEDAQcCBQcGAwsEAQYOBAUFAQEFBQQOBgcMBgQGAQEGBAYMB1sGCQYDCgIFBAMBAwEBAwEDBAUGFAkLEggDBgEDAQEBAQMBBgMECAUECwQBBg0EBgQBAQQGBA0GCAsGBAYBAQYEBgsIXAcIBgQJAwQFAwEDAQEDAQMFBAcUCQsSCAIHAQMBAQEBAwEHAgUHBgMLBAEGDgQFBQEBBQUEDgYHDAYEBgEBBgQGDAf+8QYJBgMKAgUEAwEDAQEDAQMEBQYUCQsSCAMGAQMBAQEBAwEGAwQIBQQLBAEGDQQGBAEBBAYEDQYICwYEBgEBBgQGCwhcBwgGBAkDBAUDAQMBAQMBAwUEBxQJCxIIBgkBAQkGBQcGAwsEAQYOBAUFAQEFBQQOBgcMBgQGAQEGBAYMB1sGCQYDCgIFBAMBAwEBAwEDBAUGFAkLEggHCAEBCAcECAUECwQBBg0EBgQBAQQGBA0GCAsGBAYBAQYEBgsIFgUFnwUNBwcOBQEFBQYFBJ8FDgcGDgX++wYGAdsDA/77AwgDBAcCnwUBBgEFBg8GngMC/mACAgIFBAMJBAUKBQUKBQQJAwgHBwgDCQQFCgUFCgUECQMEBQICAlUFBQUMBwcMBQUFBQUFDAcHDAUFBQUCAgIGAwQIBQUJBgUKBAUIBAcHBwcECAUECgUGCQUFCAQDBgICAlYFBQUNBgcNBQQFBQQFDQcGDQUFBQUCAgIFBAMJBAUKBQUKBQQJAwgHBwgDCQQFCgUFCgUECQMEBQICAlUFBQUMBwcMBQUFBQUFDAcHDAUFBbACAgIGAwQIBQUJBgUKBAUIBAcHBwcECAUECgUGCQUFCAQDBgICAlYFBQUNBgcNBQQFBQQFDQcGDQUFBQUCAgIFBAMJBAUKBQUKBQQJAwgHBwgHEwoKEwcEBQICAlUFBQUMBwcMBQUFBQUFDQYHDAUFBQUCAgIGAwQIBQUJBgUKBAUI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AgMBAgILAwcCAwMLAQMCUgIDAQMDCwIIAgMDCwEEASMMFQcICQkIBxUMCxUIBwkJBwgVCwkOBQYGBgYFDgkIDgUGBgYGBQ4IQAQFBQQDBQUDBAUFBAMFBQMgCwQFBQQLAwUFA0oKBAUFBAoEBQUEQQIDAQgCAgMHAggCAgEDAjUCAwEIAgIDBwIIAgICAwE9AQMCAgIIAgcDAgIIAQMCNQEEAQICCAIHAwICCAEDAhYJDwUGBgYGBQ8JCA8FBgYGBgUPCAUJAwMEBAMDCQUECQMDBAQDAwkEQAQFBQQDBQUDBAUFBAMFBQMgCwQFBQQLAwUFA0oKBAUFBAoEBQUEQQIDAQgCAgMHAggCAgEDAjUCAwEIAgIDBwIIAgICAwE9AQMCAgIIAgcDAgIIAQMCNQEEAQICCAIHAwICCAEDAhYJDwUGBgYGBQ8JCA8FBgYGBgUPCAUJAwMEBAMDCQUECQMDBAQDAwkEHiEdHU0r4AIDAgEBAgQIBxoTAgIRGQgIBgIBAQIDAuArTR0dIQGq1yhHGhofHxoaRyjXAQcICBgQEhkHCAUBrwUDEAQFBQQQAwV0BQQQAwUFAxAEBUIFBAMFBQMEBQUEAwUFAwQFIwECCwMHAgMDCwMHAgIBUQEBCwMHAgMDCwIHAwEBAQEDBwILAwMCBwMLAQFRAQICBwMLAwMCBwMLAgFRCQcIFQsMFQcICQkIBxUMCxUIBwlgBgYFDwgIDgYFBgYFBg4ICA8FBgZaBQQLAwUFAwsEBUoFAwsEBQUECwMFKgUEBAUFBAQFBQQEBQUEBAUXAQIHAwcCAwMHAwcCAgE1AgEHAwcCAwMHAwcCAQICAQIHAwcDAwIHAwcBAjUBAgIHAwcDAwIHAwcCATcHBQYPCAgPBgUHBwUGDwgIDwYFB0ADAwQIBQUIBAMDAwMECAUFCAQDA4AFBAsDBQUDCwQFSgUDCwQFBQQLAwUqBQQEBQUEBAUFBAQFBQQEBRcBAgcDBwIDAwcDBwICATUCAQcDBwIDAwcDBwIBAgIBAgcDBwMDAgcDBwECNQECAgcDBwMDAgcDBwIBNwcFBg8ICA8GBQcHBQYPCAgPBgUHQAMDBAgFBQgEAwMDAwQIBQUIBAMDAAAUAAL/4gH+Ad4AJABJAHIAuwDKANkA6AD3AQYBFQEkATMBQgFRAWABbwF+AY0BpAGvAAATIiY1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oQUEAQEBBgMEBAEBAQYCAQMGAQEBBAUCBgEBAQQEMREDBgEBBgMRAgYBAQYCcg8EBAEBBAQPBQQBAQQFZAICAwoEAQIDBwMKBAECAgIDUwMCAgoEAQIDBgQKBAECAgIDXAMCAgEBAwoEBgMCAQQKAgIDUwMCAgIBBAoDBwMCAQQKAwICIg0UCAcKAQEKBwgUDQoWBgkIAQEICQYWCgEIDwQHBQEBBQcEDwgJDQYFBwEBBwUGDQk/BQQBAQEGAwQEAQEBBgIBAwYBAQEEBQIGAQEBBAQfDAMGAQEGAwwCBgEBBgJJCQUEAQEEBQkFBAEBBAVAAwICBwMBAQQGAwcDAQECAgM2AwICBwMBAQQGAwcDAQEDAgI8AgIDAQEDBwMGBAEBAwcCAgM2AgMCAQEDBwMGBAEBAwcCAgMVCg4GBQcBAQcFBg4KBxAEBwUBAQUHBBAHAQQKAgQDAQEDBAIKBAUIBAIFAQEFAgQIBT8FBAEBAQYDBAQBAQEGAgEDBgEBAQQFAgYBAQEEBB8MAwYBAQYDDAIGAQEGAkkJBQQBAQQFCQUEAQEEBUADAgIHAwEBBAYDBwMBAQICAzYDAgIHAwEBBAYDBwMBAQMCAjwCAgMBAQMHAwYEAQEDBwICAzYCAwIBAQMHAwYEAQEDBwICAxUKDgYFBwEBBwUGDgoHEAQHBQEBBQcEEAcBBAoCBAMBAQMEAgoEBQgEAgUBAQUCBAgFCwUDAZoDBQUD/mYDBREBiP54ATMFAwQFBQQDBS8FBgYFBAcHBAUGBgUEBwcEBQYGBQQHBwTMBQMQBAUFBBADBXQFBBADBQUDEAQFQgUEAwUFAwQFBQQDBQUDBAUjAQILAggCAwMLAwcCAgFSAgELAwcCAwMLAggCAQICAQIIAgsDAwIHAwsBAlIBAgIHAwsDAwIIAgsCAVEJBwgVCwwVBwgJCQgHFQwLFQgHCWAGBgUPCAgOBgUGBgUGDggIDwUGBloFBAsDBQUDCwQFSgUDCwMGBQQLAwUqBQQDBQUDBAUFBAMFBQMEBRcBAgcDBwIDAwcDBwICATUCAQcDBwIDAwcDBwICAQIBAgcDBwMDAgcDBwECNQECAgcDBwMDAgcDBwIBNwcFBg8ICA8GBQYGBQYPCAgPBgUHQAMDBAgFBQgEAwQEAwQIBQUIBAMDgAUECwMFBQMLBAVKBQMLAwYGAwsDBSoFBAMGBgMEBQUEAwYGAwQFFwECBwMHAgMDBwMHAgIBNQIBBwMHAgMDBwMHAgECAgECBwMHAwMCBwMHAQI1AQICBwMHAwMCBwMHAgE3BwUGDwgIDwYFBgYFBg8ICA8GBQdAAwMECAUFCAQDBAQDBAgFBQgEAwMAAAYAAP/tAgAB0wA+AIAAjwCeAK0AvAAABSEiJjcnPgE3PgEzITcnBxQGKwEiJjUnNDY3PgE3PgE3PgEzITIWFx4BFwcWBgcOASsBBzMyFhceARcHFgYjJSEnNiYnLgErASImJzcmNjsBMjY3PgE3JzYmJy4BIyEiBgcOAQcOAQcOAR8BMzc+ATMXMhYXBxYGIyEiBgcOAQcXNyImNyc+ATMyFgcXDgEjEyImJzcmNjMyFhcHFgYjMyImNyc+ATMyFgcXDgEjBSMiJjcmNjsBMhYHFgYjAff+EQMGAQEBCQkHFgkBCQ6FHwUCVgMFDQEEAgkGBw0JCBIIAUEJEwYHBwEBAQgGBxEMEgEUChMFCAYBAQEGA/4ZAd8BAQYDBQsIGwQEAQEBBgIdBgwEBQQBAQEGAwYKCP7BCA0IBQ0EBgYDAQIBCkodAgQElAQDARIBBgL+7wYPBQcGAQFuAwYBAQEEBQMGAQEBBAW9BQQBAQEGAwQEAQEBBgJUAgYBAQEEBAMGAQEBBAX+tBICBgEBBgISAwYBAQYDEwUDWgoUCAgJehFBAwIEA2kJEQgIDwcHCgQEAwcHBxMLKgsVCQgLeAkICBQKWgMFEVEHDQYFBwUEiAQFCAYGDwgqCAwFBAUDAwIJBQYMBgcNB2FCAgMUBgOJAwUHBQYNB1GRBQM0AwUFAzQDBQEABQM0AwUFAzQDBQUDEgMFBQMSAwVvBQQDBQUDBAUACQAA//YCAAHKAA4AHQAsAG8AvgDjAQUBJAFAAAAXIiY9ATQ2MzIWHQEUBiMhIiY9ATQ2MzIWHQEUBiMnISImNTQ2MyEyFhUUBiMnKgEjJiIjKgEjIiYnLgE1NDY3PgEzMhYXHgEXPgE3PgEzMhYXHgEXPgE3PgEzMhYXHgEXPgEzMhYXHgEVFAYHDgEjJSIGBw4BFRQWFx4BMzoBMzoBMxYyMzI2Nz4BNTQmJy4BIyIGBw4BJyImJy4BJyYGBwYmJy4BJy4BIyIGBw4BFRwBFRQGByImJy4BJy4BIzciJiMuAScuATc+ATc+ATMyFhc+ATMyFhceARcWBgcOAQcwBiMnIgYHDgEHBhYXHgEXPgE3PgEnLgEnLgEjIgYHBiInLgEjFyImJy4BJyY2Nz4BMzYWFzYWFx4BBw4BBw4BBzgBMTciBgcOARceARcyNjc+ATc0JicuAQcGJicuASMJBAUFBAMFBQMB7gMFBQMEBQUECP4iAwUFAwHeAwUFA10HTS8bNhYXHwUMFAcICQkIBxQMBAgEBAgDAw8LDBwQBgsFBgoFBQkEBQkFChMICQ4GCA8IDxoJCgsLCgkaD/7bCA4FBgYGBgUOCAUfFxY2Gy9NBwsUBwgICAgHFAsIDgcBBAIBAwEHFAwMGgwCBQIECQUFCgUOGgkJCwMDAgYBAwcEBAkFVwEBARMeCQkGBQIJBgYPCAcMBgYMBwgPBgYJAwQGCQkdFAIBGQUJBAQGAgMFBwcYDw8YBwcFAwIGBAMKBQUKBQIGAgUKBbQCAwEKDQICBAcFDwgIDgUIDwYFBQEBDAkJGQ8HBAgEBAIBAgkHChIGBwgBAgMDCQUDBgEDBwUKBQTvAwUFA+8EBQUE7wMFBQPvBAVNBQQDBQUDBAUrAQkHCBQLCxUHCAgBAQEEAg8aCQoLAgECBAMCBAEBAQUEBQwJBAMLCQoaDw4aCgoLXgYFBQ4ICA4FBQYBCQcHFAsMEwgHCAQEAQEBAgILEAMEAwcCAQEDBAIBAgsKCRkPAQEBAwUBAQMEBgICAm4BCBgODh8OCQ4FBAYEAwMEBgQFDgkOHw4OGAgBfwQDAwoGCxcLCxQHBxQLCxcLBgoDAwQEBAEBBAR8AgEKFwsMFQgHBwEGBwEFBgYPCAsSBwYIAVYEBAYOCAgRBwYFBAwHBQgDBAIBAQIDBAUAAAMAAgAEAf4BvAAWADMAmwAAJSImJyY0PwEnJjQ3NhYfAR4BDwEOASMHIiYnNyY2Nz4BOwEyFhcOASsBIgYHDgEXBxYGIzcjIiYnPgE7ATI2Nz4BJzYmJy4BJy4BNyY2JzYmJy4BIyIGBw4BBxQGIyoBIyYGBw4BBx4BFx4BOwEyFgcWBisBIiYnLgEnPgE3PgEzPgE3PgEzMhYXHgEHFgYXHgEXHgEXDgEHDgEjASsBAwEDAScnAQQBCAIqAQEDKQICA1AFBAEBAQ0JCxgOMQQEAQEEBDEKEgkGCwEBAQYCxYkFBAEBBAWJERsLCg0BAQcEBg0KAQQCAQEBARoVFzojGzQTFh0IBQMBAQIUJQ0ODwEBDw4NJBM7AwYBAQYDOxYrDxERAQEREQ4rFgogGBU4HSZAGhcdAQEBAQkRBAcFAQEODgwjEpMBAQIHAzAxAwcCAgEDNgIGAjYBAo8FBIUNGgoKDQUEAwUKCAgTCoUEBU0FBAMFDQsLHBALEwkJDgYBBAMCBgMiOxYWGREREC0bAgQBEA4OJBQVJA4OEAUDBAUTEBAqGRgqEBATHC8RERMdGBhCJQIEAQcRCwoXDBMjDQ0QAAAAAAgAAAALAgABtQAQABUAJAA7AFgAZQByAH8AACUhIiY3Az4BMyEyFhcDFgYjJSEDIQMBISImNyY2MyEyFgcWBiMHMCY1JjY/AScmNDc2Mh8BHgEPAQ4BIwciJic3JjY3PgE7ATIWFw4BKwEiBgcOARcHFgYjAxYGIyImJz4BMzIWBzMOASMiJjcmNjMyFhczFgYjIiYnPgEzMhYHAff+EQMGAQEBBAUB7QUEAQEBBgP+GQHfAf4jAQHf/iECBgEBBgIB3wIGAQEGAsIEBAEBKCgBAwIIASwBAQMqAgMDWAQEAQEBDgsNIBUtBQQBAQQFLREaCwgMAQEBBgOSAQcEBQUBAQUFBAcBLAEGBQMIAQEIAwUGASkBBwMGBQEBBQYDBwELBQMBmgMFBQP+ZgMFEQGI/ngBMwUDBAUFBAMFugEBAgcDMS8DBwICAzUCBgI3AQI+BQQbFCINDA0FAwQFCwoKHBAbBAUBJwUGBgUEBwcEBQYGBQQHBwQFBgYFBAcHBAAAAAADACQALQHbAZMAFgAzAFEAACUqAScuAT8BJyY2NzYWHwEWFA8BDgEjByImPQE0Njc+ATsBMhYVFAYrASIGBw4BHQEUBiMXISImNRE0NjMhMhYVFAYjIREhNTQ2MzIWHQEUBiMBngECAQMCATQ0AQIDAwcBNgEBNgEEAvoDBRQSEjAcrwMFBQOvFikQEBQFBN7+qwQFBQQBTAQFBQT+vAFEBQQEBQUElwECBgReXwMHAQICA2MCBAJjAgIuBQMkGSsQEBIFBAMFDg0NJRgkAwU8BQMBVgMFBQMEBf68RAQFBQRNAwUAAAAAAgAX/+0B6QHTAFgA0AAABSImJy4BJzYmNycOAQcOASMiJicuASc+ATc+ATMyFhceARc3JjYnPgE3PgEzMhYXHgEHFgYHDgEjIiYnLgEnBwYWIxYGHwE+ATc+ATMyFhceAQcWBgcOASMnMDIVFx4BBxUGFgceARceATMyNjc+ASc2JicuASMiBgcOAQcGIi8BLgE3NTYmNyY2JzUmNj8BNjIXHgEXHgEzMjY3PgEnNiYnLgEjIgYHDgEHFgYXFRYGDwEGIicuAScuASMiBgcOARcGFhceATMyNjc+ATc+ATMBixMjDA0OAQEBAYIFDgYIDQkSIwwODgEBDg4MIxIJDggGDgWBAQEBAQ4NDCMTFCEODBABARAMDiEUBxAGCAwHfwEBAQEBAYAHDAgGDwcUIQ4MEAEBEAwOIRTfA4wCAwEBAQEBCwsKHQ8RGwsJDQEBDQkLGxEGDgUHCgYBBwGMAgMBAQEBAQEBAQQBiwEGAQcKCAUOBhEbCwkOAQEOCQsbEQ8dCgsLAQEBAQEEAYsBBgEHCggFDgYRGwsJDQEBDQkLGxEGDgUHCgYBAwETDwwNIhQBAwFHBAcCAgIODQ0iFBMiDQ0OAgIDBwRDAQEBFCINDA8PDA0iFBMiDQ0PAwIDBwRDAQICAgJHBAcCAgMPDQ0iExQiDQwPvQFNAQUCAwIDARAcCwoMDAoLHBAQGwsKDAICAgcEAgFNAQUDAwEDAgECAQMDBAFJAQIFBwICAw0KChwQEBwLCgwMCgscEAECAQMDBAJIAQIEBwMCAgwKCxwQDxwLCgwCAgIHBAEBAAADAAQADAH+AbQAFQCJAP0AABMiJic0JjcmNjU2MhceAQcWBgcOASMBIiYvAS4BJy4BJw4BIxYGIyImJy4BJy4BJzY0NzQ2Mx4BFy4BJy4BJyI0Iy4BJy4BNz4BMzIWFx4BFz4BNz4BMzIWFx4BFx4BBxQGIw4BBx4BFx4BFz4BNz4BMzIWFxQWBxQGFQ4BBw4BFQYWIxYGByIwIycwMhUeARcwFhUXJjYnNjQ3NDY3PgE3DgEHDgEHDgEnMCY1LgEnLgEnJjQ1PgE3PgE3LgEnLgEjIgYxBiInLgEnLgEjIgYxBhYXHgEzHgEHDgEnLgEnLgEnHgEXHgEXMBYVHgEXHgEXPgE3PgE3PgEzMDIxcAICAwIBAQIEBgMBAgEBAgECAgMBMwMDAi4IKhoZMw4ICAEBBwIGEBYXJg0OEAQBAwYBAx4UBgwIBRAHAQECDQQGAwIDCQsKJBcZPCYDEgoLGQ8MFwkLDwgBAwEEARspBgYWDQwYBQkdEQ4fCAYFBAMBAw0bDAsRAwQBAQQCAgLgAxmWAgMgAQEBAQEQCgsXCwsXDgwZCQIDAwQMGg4LFQIEAgwLCBcKBA0FCAwJHjICAwMsQhQXGQgCBAMRCSw3AQIBAwEHAgkUDQoYCAMRCgweFgMFBgQCBgECAwMBBQECAgICAWACAQEDAgEEAQICAQQBAgMBAQL+rAICVgMTDAwYCBMvAwQdUw8cDA0XCwIFAgEBAQsIBQsFBgwGAQQRCQoUBwQHCwsLIhYBBAECAwMCAwcFAQUCAwQIEQYHJhYWKgsFEAgHDAMDAQYFAgMBCBQKChIGEUADBQG8AQ1FAQIBOQYOBgYLBQgUCgoTBgMLBgcNBgEBAQICFDEWFiEDAwcDBQoFBQgEAgMBAQELAQEcIwkKBwEFHg0jMgMGAwICAgUKBQUJAwYQCgkXDQMCEBoLChAGBg8HCA0FAgMAAAAFAAL/4gH+Ad4AWgDcAOsA+gERAAAFIiYnLgEnLgEnJjQ3PAE1DgEHDgEHIiYnLgE1NDY3PgE3PgEzOgEzPgE3PgEzMhYXHgEXOgEzMhYXHgEXHgEVFAYHDgEjLgEnLgEnHAEVFhQHDgEHDgEHDgEjAzIWFzAWMTIWMR4BFRwBFRwBFQYUFx4BFx4BFx4BMzI2Nz4BNz4BNzY0JzwBNTwBNTQ2NzA2Mzc+ATMeARceARceARcuAScuAScuAScuASMqAQcjIiYnLgEnLgEjIgYHDgEHDgErASYiIyIGBw4BBw4BBw4BBz4BNz4BNz4BNzAyMxciJj0BNDYzMhYdARQGIzMiJj0BNDYzMhYdARQGIwciJi8BJjQ3NjIfATc2MhcWFA8BDgEjAQARHQwNFQkREgQEAQkXDQ4cDwIDAgEBBwkIGhICPCMBBAIHEgoLGAwMGAsKEgcCBAEjPAISGggJBwEBAgMCDxwODRcJAQQEEhEJFQ0MHRGKAQMBAQEBAgIBBAMQDwgSCwsaDw8aCwsSCA8QAwQBAgIBAQECAwICAwEHFAwMGg4BCAgIGBAFEgsMGQwCBAICAwUBBQ8JChQLCxQKCQ8FAQUDAgIEAgwZDAsSBRAYCAgIAQ4aDAwUBwEDAgEBXAQFBQQDBQUDZgMFBQMEBQUEOAIDAS0CAgMHAicnAgcDAgItAQMCHgQFBA4JETEcHD4gBAgEDRkKCQ0CAQECAwIWLBcXMBwCRAoRBgYGBgYGEQpEAhwwFxcsFgIDAgEBAg0JChkNBAgEID4cHDERCQ4EBQQBLAEBAQEBBAIFCQUFCQUeOxsbLQ8IDAMEBAQEAwwIDy0bGzseBQkFBQkFAgQBAQEBAQECAQ4aCwsQAxQnFBUrGQcVCgoPAQICCg8GBQYGBQYPCgICAQ8KChUHGSsVFCcUAxALCxoOAQIBKAUEMwQFBQQzBAUFBDMEBQUEMwQF1wEBLQIHAwICJycCAgMHAi0BAQAAEQAN//oB8wHGABYALQA3AEEAWABxAIoAowC8ANUA7gEHASABOQFSAWsBhAAAJSImNScHBiYnJjQ/ATYyHwEWFAcOASM3IiYvASY2PwE2FhcWBg8BFxQGBzAiMTcjIiYvATcXMxcrASczNxcHFAYjBzIiMS4BNTcnLgE3PgEfAR4BDwEOASMlIiYnLgE3JjY3PgEzMhYXHgEXDgEHDgEjJyIGBw4BBx4BFx4BMzI2Nz4BJzYmJy4BIyciJicuATcmNjc+ATMyFhceARcOAQcOASMnIgYHDgEHHgEXHgEzMjY3PgEnNiYnLgEjByImJy4BNyY2Nz4BMzIWFx4BFw4BBw4BIyciBgcOAQceARceATMyNjc+ASc2JicuASMTIiYnLgE3JjY3PgEzMhYXHgEXDgEHDgEjJyIGBw4BBx4BFx4BMzI2Nz4BJzYmJy4BIxciJicuATcmNjc+ATMyFhceARcOAQcOASMnIgYHDgEHHgEXHgEzMjY3PgEnNiYnLgEjJyImJy4BNyY2Nz4BMzIWFx4BFw4BBw4BIyciBgcOAQceARceATMyNjc+ASc2JicuASMBYQEDXVcEBgMBA10DBQNgBAEDAgMRAwQCIwICAmECCAEDAgJcJAMEAjV3AwMCLw8ucQHXfwF7IxIoBgFEAQMEAiRcAgIDAQgCYQICAiQCAwQBPAoPBgUIAQEIBQYPCggQBQcFAQEFBwUQCAEFCgIFAwEBAwUCCgUGCAUCBQEBBQIFCAbICg4HBQcBAQcFBw4KCBAFBwUBAQUHBRAIAQQLAgQDAQEDBAILBAYJBAIFAQEFAgQJBsgKDgcFBwEBBwUHDgoIEQQHBgEBBgcEEQgBBAoDBAMBAQMEAwoEBwgEAwUBAQUDBAgHTgoPBwQIAQEIBAcPCgcRBQYGAQEGBgURBwEFCgIFAwEBAwUCCgUGCAQDBQEBBQMECAb5Cg4HBQcBAQcFBw4KCBAFBwYBAQYHBRAIAQQKAwQDAQEDBAMKBAYJBAIFAQEFAgQJBnsKDgcFBwEBBwUHDgoIEAUHBQEBBQcFEAgBBAsCBAMBAQMEAgsEBgkEAgUBAQUCBAkGMAEBQ0MCAQMDBwJGAgJHAgcDAQIMAwNvAwUCQgMCAwMHAj5qAwYCxwMCcAdrERFqBXADA8cCBgNpPwMGAwMCAkMCBQNvAwOjBwYGDwkJDwYGBgYGBg8JCQ8GBgdEBAMECQUFCgMEBAQEAwoFBQkEAwROBwYFEAkIEAYFBwcFBhAICRAFBgdEBAMECQUGCQMEBAQEAwkGBQkEAwTWBwYGDwkJDwYGBgYGBg8JCQ8GBgdEBAMECQUFCgMEBAQEAwoFBQkEAwT+1wcFBhAICRAFBgcHBgUQCQgQBgUHRAQEAwkGBQkEAwQEAwQJBQYJAwQERAcFBhAICRAFBgcHBgUQCQgQBgUHRAQEAwkGBQkEAwQEAwQJBQYJAwQEaQYGBg8JCQ8GBgcHBgYPCQkPBgYGRAQEAwoFBQkEAwQEAwQJBQUKAwQEAAAAAAYAK//iAdUB3AApAEQATgBYAGwAgAAABSImJy4BPQE0Njc+ATMWNjc+ATc2MhceARceATcyFhceAR0BFAYHDgEjAxUUFhceATMyNjc+AT0BBiYnLgEnDgEHDgEnFyM1MzUzFRQGIzMjIiY9ATMVMxUDIiY1ETQ2OwEyFhUUBisBERQGIyMiJjURIyImNTQ2OwEyFhURFAYjAQAsTh0dIQEBAgMCIjcYGCkUAwYDESEWFjwsAgMCAQEhHR1OLMQfGhtHKSlHGxofKjwWFiIQFCoXGDYhoqKZEQUD5qIDBRGZogMFBQOiBAUFBJkFBEQEBZkEBQUEogMFBQMeIR0dTSvgAgMCAQECBAgHGhMCAhEZCAgGAgEBAgMC4CtNHR0hAarXKEcaGh8fGhpHKNcBBwgIGBASGQcIBQFZEXiABAUFBIB4Ef6zBQQBCAQFBQQDBf8ABAUFBAEABQMEBQUE/vgEBQAACgADACEB/QGfAMAA7AD9AQIBEQEgATEBNgFHAUwAACUiJicuATU0JiMiBhUUBgcOASMiJicuATU0JiMiBhUUBgcOASMiJicuATU0JiMiBhUUBgcOASMiJicuATU0JiMiBhUUBgcOASMiJicuATU0JiMiBhUUBiMiJjU0Njc+ATMyFhceARUUFjMyNjU0Njc+ATMyFhceARUUFjMyNjU0Njc+ATMyFhceARUUFjMyNjU0Njc+ATMyFhceARUUFjMyNjU0Njc+ATMyFhceARUUFjMyNjU0NjMyFhUUBgcOASMlIiYvASY0Nz4BMyE3PgE7ATIWFxYUDwEOAScuAT8BIwcOASMhFxYGBzAGIzcjIiY9ATQ2OwEyFh0BFAYjJzM1IxU3IiY9ATQ2MzIWHQEUBiMzIiY9ATQ2MzIWHQEUBiMXIyImPQE0NjsBMhYdARQGIyczNSMVFyMiJj0BNDY7ATIWHQEUBiMnMzUjFQHABgsEBAUHBgUHBQQECwYGCwQEBQgFBQgEBQQKBwYLBAQFBwUGBwUEBAsGBgsEBAUHBgUHBQQECwYGCwQEBQgFBQgFAwQFBQQECwYGCwQEBQcGBQcFBAQLBgcKBAUECAUFCAUEBAsGBgsEBAUHBQYHBQQECwYGCwQEBQcGBQcFBAQLBgcKBAUECAUFCAUDBAUFBAQLBv6VAgQBSwEBAQQDAVEoAQQCagMDAgEBSwEHAwMDAkVZKAIDAv65RAICBAMBOGYEBQUEZgQFBQReVVUJBAUFBAMFBQNEBAUFBAMFBQN3RAMFBQNEBAUFBDszM4BFAwUFA0UDBQUDPDMzIQUEBAsGBQgIBQYLBAQFBQQECwYFCAgFBgsEBAUFBAQLBgUICAUGCwQEBQUEBAsGBQgIBQYLBAQFBQQECwYFCAgFBAUFBAYLBAQFBQQECwYFCAgFBgsEBAUFBAQLBgUICAUGCwQEBQUEBAsGBQgIBQYLBAQFBQQECwYFCAgFBgsEBAUFBAQLBgUICAUDBQUDBgsEBAURAgOGAgQCAgMwAQICAgIEAqAEAgIBBwOUMAIBegMHAgGHBQN4AwUFA3gDBRFmZm8FA1UEBQUEVQMFBQMiBAUFBCIDBYAFA1UEBQUEVQMFEUREEQUDiQMFBQOJAwURd3cACwA3/+wByQHUACYANQBGAEsAWgBpARgBKQEuAT8BRAAABSImIy4BPwEnBxcWBgcGJi8BJjQ3PgE/AToBMxceARcUFg8BDgEjNyM1IxUjNTQ2OwEyFh0BJyMiJj0BNDY7ATIWHQEUBiMnMzUjFTciJj0BNDYzMhYdARQGIzMiJj0BNDYzMhYdARQGIxMiJicuATU0JiMiBhUUBgcOASMiJicuATU0JiMiBhUUBgcOASMiJicuATU0JiMiBhUUBgcOASMiJicuATU0JiMiBhUUBgcOASMiJicuATU0NjMyFhUUFjMyNjU0Njc+ATMyFhceARUUFjMyNjU0Njc+ATMyFhceARUUFjMyNjU0Njc+ATMyFhceARUUFjMyNjU0Njc+ATMyFhceARUUFjMyNjU0NjMyFhUUBgcOASMnIyImPQE0NjsBMhYdARQGIyczNSMVFyMiJj0BNDY7ATIWHQEUBiMnMzUjFQFgAQEBAwMBPYuURwIDAwQGAkoBAQEDAqABAgGVAgMBAQFAAQQDJBHdEgUE7wMFKqsDBQUDqwMFBQOimZkqAwUFAwQFBQRWBAUFBAMFBQNzBwoEBAUIBQUIBQQECgcGCwQEBQcFBgcFBAQLBgYLBAQFBwYFBwUEBAsGBwoEBAUIBQUIBQQECgcGCwQEBQUEBAUHBQYHBQQECwYGCwQEBQcGBQcFBAQLBgcKBAQFCAUFCAUEBAoHBgsEBAUHBQYHBQQECwYGCwQEBQcGBQcFBAQFBQQECwanRAMFBQNEBAUFBDszM4BFAwUFA0UDBQUDPDMzCgEBBwOiJyKnAwcBAQIErwIEAQICASYrAQIBAgQBqwMDxYiIkQMFBQORiAUEMwMFBQMzBAURIiIrBQM0AwUFAzQDBQUDRQMFBQNFAwX+bQQEBQoHBQcHBQcKBQQEBAQFCgcFBwcFBwoFBAQEBAUKBwUHBwUHCgUEBAQEBQoHBQcHBQcKBQQEBAQFCgcDBQUDBgcHBgYLBAQEBAQECwYGBwcGBgsEBAQEBAQLBgYHBwYGCwQEBAQEBAsGBgcHBgYLBAQEBAQECwYGBwcGAwUFAwcKBQQE8QUDRQMFBQNFAwURMzMRBQNFAwUFA0UDBREzMwAAAA0ADf/gAfMB4AAEAFEAhwCdALMAyQDfAPUA+gD/AQQBEwEqAAATMxcjNwEjIiYvAQcWBisBIiY3JwcOASsBIiYnNCY3Ez4BPwE2FhcWFA8BAzMTPgEXMhYHEzMTJjYzNhYXEzMDJyY0Nz4BHwEeARcTFgYVDgEjAyImLwEmNjc2Mh8BNycjBxc3NjIXHgEPAQ4BJyImNSc0Jj8BPgE7ATIWHwEWBhUHFAYjIjAjByImJzQmNyY2NTYyFxQWBxYGFQ4BIxciJic0JjcmNjU2MhcUFgcWBhUOASMXIiYnNCY3JjY1NjIXFBYHFgYVDgEjFyImJzQmNyY2NTYyFxQWBxYGFQ4BIxciJic0JjcmNjU2MhcUFgcWBhUOASM3MxcjNyMzByMnITMXIzcXIyImJz4BOwEyFhcOASMTIiYvASY2NzYWHwE3PgEXFhQPARQGI+JEAUYBAQhBBAQBJAEBBgPwAgYBARwBBARBAwICAgE2AQECTwQGAwEETDYyKwIEBAIGAQHdAQEFAwQEAjMyNkoEAQMGBE0CAQE2AQICAgOqAwICKgMBAQQGAyMiHIceIiMDBgQBAQMqAgMDAQQsAQIjAgMDjwQCAyACASwEAQEBPwMCAgMBAQMDBwMDAQEDAgIDAQMCAgMBAQMDBwMDAQEDAgIDAQMCAgMBAQMDBwMDAQEDAgIDAQMCAgMBAQMDBwMDAQEDAgIDAQMCAgMBAQMDBwMDAQEDAgIDwSEBIwEjNAEyAf55IQEjAUMyBQQBAQQFMgQEAQEEBKcDAwJGAwICAwYEP0QBCAIDAUoFAQGtERH+MwQDyMcDBQUDt7gDBAIBAQQCAXcCAwE3AgICAwcCNf6WAR0DBQEFA/7kARwDBQEEBP7jAWo4AgcDAwECOgEDAv6JAgQBAQIBegEBKwIHAwICIzItLTIjAgIDBwIrAQIBAgFAAwUCNQICAgI1AgYCQAECSwEBAgMBAgMBAwICAwIBAwIBAUABAQIDAQIDAQMCAgMCAQMCAQFAAQECAwECAwEDAwEDAgEDAgEBQAEBAgMBAgMBAwICAwIBAwIBAUABAQIDAQIDAQMCAgMCAQMCAQEVEREREREREQUEAwUFAwQFAVwCAWADBwICAQJXVwIBAgIHA2ABAgAABgAAAFoCAAFmACIALAAxAEoAkwCpAAAlIyImJy4BJy4BJy4BKwEVFAYrASImPQE0NjMhMhYdARQGIyUeARceATsBNSEHMzUjFTciJjU0JicuASMiJjU0NjMyFhceARUUBiMFIiY1NCYnLgErASImJy4BLwEOAQcGJicmBgcOAR0BFAYjIiY9ATQ2Nz4BNzYyFx4BNz4BNzYWHwEeARceATsBMhYXHgEVFAYjJSImNTQ2Nz4BMzIWFRQGIyIGFRQGIwH33QcRCQkTCQgQBwgMBQIFBIgEBQUEAe4EBQUE/uQIEggIDwbV/uzKeHhLAwULCQoZDgQFBQQSHwwLDgUEAZoDBQkICBcPEBEhEBAdDU0YLBUVJxQFCQQEBgUEAwUMBQMIBAQJBBMnFBQrGAIFAlAMGg4PHg8QDh0LDA4FBP76BAUZERInDwMFBQMDXgUDWgMCAwcDAwYCAgMaAwUFAyIEBQUEIgMFIgMHAgIDERERERUFBA4ZCQoLBQMEBQ4MCyARBAUOBQQUIAsMCwcHBxMNTggJAQEEBQEBAwQHBLwEBQUEvAoPBAIDAQEBBQQBAgkIAQECUgsSBgYHCwwMKBwEBRYFBBwmCwsJBQMEBRU7BAUABgAAAIcCAAE5ABsAJQAqAGwAjgCnAAAlIyImJy4BJxUUBisBIiY9ATQ2MyEyFh0BFAYjJR4BFx4BOwE1IQczNSMVJyImPQE0Njc+ARceATc+ATc2FhceARceARceARceARUUBiMiJjU0JicuAScuAScuAScOAQcGJiciBgciBh0BFAYjNyImNTQ2Nz4BNz4BNzQ2MzIWFQ4BBw4BBw4BBw4BFRQGIyMiJjU0JicuASMiJjU0NjMyFhceARUUBiMB990RJhESHQkFBIgEBQUEAe4EBQUE/r4LGQ0NGwzV/sakeHgIBAUIBAQLBhwvFRUoFgIEAhUuFhcsFBgqDxARBQMEBQ0NDSUYFC0XFi8VFykWFjAeAgQBAQQFA70DBRIODiIRDSACBgMEBAEJCAgWDQ4dDQwPBQR/AwUIBgcRCgQFBQQNGAkICwUEhwUEBAgDEAMFBQMiBAUFBCIDBSIDBgMCAxEREREIBQRlBgkDAwIBBwMDAw4LAQEBDhQHBwoEBQoIBxYSAwUFAwwPBgYJBQQKBwcUDgoOAwMEBwEBBAFkBAUNBQQOEwcGCQMDBwQEBAYDBwkDAwUDAwcEBQ0JBAUFBAkSBgcHBQQDBQoJCBgNBAUABv//AGcCAQFYAD0AbwCVAKcAuQDLAAAlIiYnLgEnLgEnLgEjFRQGKwEiJj0BNDYzMhYdATM1NDYzMhYXHgEXHgEXHgEzNSMiJjU0NjsBMhYdARQGIychIiY1NDYzNDY3NhYXHgEXHgEzMjY3PgE3NhYXHgEXHgEXHgEXHgEXHgEXHgEVFAYjJSEuAScuAScuAScuAScuAScuAScOAQcOASMiJicuAScOAQcOARU3IiYnJjQ/ATYyFxYUDwEOASMXIiYnJjQ/ATYyFxYUDwEOASMXIiYnJjQ/ATYyFxYUDwEOASMB+ThNGhojDgoTCwwcEwUEnAMFBQMEBYsFAxYhDQwVCw4iGBlINBEDBgYDGgMFBQMS/iADBQoBAwIDBAIFDgcIEgsNGw0NFwkCBQIYLhUWKxcGDQcGDgYbHAcHAgUE/ikBzwEEBgYWEwYOBgcMBhcsFhYuGQoYDQ0cDQoRCAcOBgEDAgECrQIDAQMDFQIIAgMDFQIDASoBAwICAhYCBwMCAhYBAwIrAgMBAgIVAwcCAwMVAQMCZwQDAwgDAwQCAgITAwUFAxoDBQUDERMDBQICAQUDBAcDAwQYBQMEBQUEKQMFKQUDTWsDAwEBAQIFCAMDAgQEAwkEAgEBExgICAoFAQMBAgMBBxoQDx8MAwURDRkLCxEEAgMBAgICBQoICBgSBQgEAwQCAgIGBAogFRQxGn4BAQMHAhYCAgMHAhYBARYCAQIHAxUDAwIHAxUBAhUBAgIHAxUCAgMHAhUCAQAAAAcAAP/gAgAB4AAOACcAQACaAQYBFwEcAAAFISImNwMzAyEDMwMWBiMlIiY3JyMHFgYjIiYnNyY2OwEyFgcXDgEjMyImJzcjFw4BIyImNyc+ATsBMhYXBxYGIxMiJicuAScOAQcOASMiJicuAScOAQcOASMiJicuAScOAQcOASMiJicuAScOAQcOASMiJicuAScOAQcOASMiJicuASc3JjYxNzQ2MyEyFhUXBhYHFw4BBw4BIyceARceATMyNjc+ASc3JyEHFwYWFx4BMzI2Nz4BNyY2MzIWFwYWFx4BMzI2Nz4BNyY2MzIWFwYWFx4BMzI2Nz4BNyY2MzIWFwYWFx4BMzI2Nz4BNyY2MzIWFwYWFx4BMzI2Nz4BNyY2MzIWFwcjIiYnNyY2OwEyFgcXDgEjJzM3IxcB1f5mAwYBARIBAYoBEgEBBgP+/wIGAQFDAQEGAwUEAQEBBgNWAwYBAQEEBb0EBAEBRgEBBAQDBgEBAQQFVAUEAQEBBgNBBQwEBgYEAwoEBwsHBg0FBggFAgoFBgwHBg0FBgkEAgsEBwsIBQ4EBwgFAgoFBgwIBg0FBgkEAwoFBwwHCBEFBwYBAQEBOwYBAYICBTUBAQEBAQUHBRIJHQECBAMLBwkJBQIEAQEy/ow5AQEGAwQJBgYOBAYEAQEGAwQEAQEHBAYLCAYOBAUFAQEGAgUEAQEGBAYLCAYOAwYEAQEGAwUEAQEGBAUMCAYNBAUFAQEGAgUEAQEGBAYLCAYOAwYEAQEGAwQEATjuBAQBAQEGAvADBgEBAQQF5dwB3gEgBQQBKv7eASL+1gQFCQUDeHgDBQUDgAQFBQSAAwUFA3h4AwUFA4AEBQUEgAMFARsDAwMIBQUIAwMDBAMDCAUFCAMDBAQDAwgFBQgDAwQEAwMIBQUIAwMEBAMDCAYGCAMDBAkHBxIKCwEClgIDAwOVAQEBCwsTBwYIMwYMBQUGBgUFDAYKjo8JBwwFBQUGBAUNBgQFBQQGDQUEBgYEBQwHBAUFBAcMBQQGBgQFDAcEBQUEBwwFBAYGBAUMBwQFBQQHDAUEBgYEBQwHBAUFBJsFAzMEBQUEMwMFESIiAAAEAAD/4AIAAeAADgAnAIEA7QAABSEiJjcDMwMhAzMDFgYjJyEiJic3JjYzMhYXByEnPgEzMhYHFw4BIzciJicuAScOAQcOASMiJicuAScOAQcOASMiJicuAScOAQcOASMiJicuAScOAQcOASMiJicuAScOAQcOASMiJicuATcnNiYzNz4BMyEyFh8BFgYXBxYGBw4BIycGFhceATMyNjc+ATcvASEPAR4BFx4BMzI2Nz4BJz4BMzIWBx4BFx4BMzI2Nz4BJz4BMzIWBx4BFx4BMzI2Nz4BJz4BMzIWBx4BFx4BMzI2Nz4BJz4BMzIWBx4BFx4BMzI2Nz4BJz4BMzIWBwHV/lUDBgEBEgEBmwESAQEGAzT+vQUEAQEBBgMEBAEBATUBAQQEAwYBAQEEBTIHCgYECAIFCAYFDQUICwcECgMECAcEDgUICwcECwIECQYFDQYHDAYFCgMECAcEDgYICwcECwIFCAcFDgUKDwcFCAEBAQECOQIEAwGABAMCMwEBAQEBBwUHEAsbAQQCBQkJBwsDBAIBATD+ijcBAQQFAgsECAwGBAYBAQQFAgYBAQUGBA0GCAwGAwcBAQQEAwYBAQQGBA0GCAwFBAYBAQQFAwYBAQQGAw4GCAsGAwcBAQQEAwYBAQQGBA0GCAwFBAYBAQQFAgYBIAUEASr+3gEi/tYEBVUFBN4DBQUD1s0EBQUE1QQFzwMDAwgFBQgDAwMEAwMIBQUIAwMEBAMDCAUFCAMDBAQDAwgFBQgDAwQEAwMIBgYIAwMECQcHEgoLAQKWAgMDA5UBAQELCxMHBggzBgwFBQYGBQUMBgqOjwkHDAUFBQYEBQ0GBAUFBAYNBQQGBgQFDAcEBQUEBwwFBAYGBAUMBwQFBQQHDAUEBgYEBQwHBAUFBAcMBQQGBgQFDAcEBQUEAAgAAP/gAgAB4AAOACcAgQDtAP4BAwEIAQ0AAAUhIiY3JzMHISczBxYGIychIiYnNyY2MzIWFwchJz4BMzIWBxcOASM3IiYnLgEnDgEHDgEjIiYnLgEnDgEHDgEjIiYnLgEnDgEHDgEjIiYnLgEnDgEHDgEjIiYnLgEnDgEHDgEjIiYnLgE3JzY0PwE+ATMhMhYfARYUFwcWBgcOASMnBhYXHgEzMjY3PgE3LwEhDwEeARceATMyNjc+ASc+ATMyFgceARceATMyNjc+ASc+ATMyFgceARceATMyNjc+ASc+ATMyFgceARceATMyNjc+ASc+ATMyFgceARceATMyNjc+ASc+ATMyFgcnISImNyc+ATsBMhYXBxYGIyczJyMHFzMXIzc7AQcjJwHV/lUDBgEBEgEBmwESAQEGAzT+vQUEAQEBBgMEBAEBATUBAQQEAwYBAQEEBTIHCgYECAIFCAYFDQUICwcECgMECAcEDgUICwcECwIECQYFDQYHDAYFCgMECAcEDgYICwcECwIFCAcFDgUKDwcFCAEBAQI6AgIDAYADAwIzAQEBAQcFBxALGwEEAgUJCQcLAwQCAQEv/og2AQEEBQILBAgMBgQGAQEEBQIGAQEFBgQNBggMBgMHAQEEBAMGAQEEBgQNBggMBQQGAQEEBQMGAQEEBgMOBggLBgMHAQEEBAMGAQEEBgQNBggMBQQGAQEEBQIGATb+/wMGAQEBBAX/BQQBAQEGA/jvAe0BIxABEgGYEgEQASAFBNXNzdUEBTMFBK4EBQUEppoDBQUDogQFnAMDAggFBQcDAwMDAwMJBQUJAwMDAwMDCQUFCQMDAwMDAwkFBQkDAwMDAwMJBQUJAwMDCAcHEwoLAQMBUQIBAgJRAQIBCwsTBwcHMwYMBQUGBgUFDAYIS0sIBw0EBQUFBQUMBwQFBQQHDAUFBQUFBQwHBAUFBAcMBQUFBQUFDAcEBQUEBwwFBQUFBQUMBwQFBQQHDAUFBQUFBQwHBAUFBJgFA1UEBQUEVQMFEUREETQ0NDQAAAQAAP/gAgAB4AAOACcAgQDtAAAFISImNwMzAyEDMwMWBiMnIiY3JyMHFgYjIiYnNyY2OwEyFgcXDgEjEyImJy4BJw4BBw4BIyImJy4BJw4BBw4BIyImJy4BJw4BBw4BIyImJy4BJw4BBw4BIyImJy4BJw4BBw4BIyImJy4BNyc2JjM3PgEzITIWHwEWBhcHFgYHDgEjJwYWFx4BMzI2Nz4BNy8BIQ8BHgEXHgEzMjY3PgEnPgEzMhYHHgEXHgEzMjY3PgEnPgEzMhYHHgEXHgEzMjY3PgEnPgEzMhYHHgEXHgEzMjY3PgEnPgEzMhYHHgEXHgEzMjY3PgEnPgEzMhYHAdX+ZgMGAQESAQGKARIBAQYDeAMGAQGpAQEGAwQEAQEBBgK9AgYBAQEEBHYHCgYECAIFCAYFDQUICwcECgMECAcEDgUICwcECwIECQYFDQYHDAYFCgMECAcEDgYICwcECwIFCAcFDgUKDwcFCAEBAQECOQIEAwGABAMCMwEBAQEBBwUHEAsbAQQCBQkJBwsDBAIBATD+ijcBAQQFAgsECAwGBAYBAQQFAgYBAQUGBA0GCAwGAwcBAQQEAwYBAQQGBA0GCAwFBAYBAQQFAwYBAQQGAw4GCAsGAwcBAQQEAwYBAQQGBA0GCAwFBAYBAQQFAgYBIAUEASr+3gEi/tYEBQkFA6urAwUFA7MEBQUEswMFARsDAwMIBQUIAwMDBAMDCAUFCAMDBAQDAwgFBQgDAwQEAwMIBQUIAwMEBAMDCAYGCAMDBAkHBxIKCwEClgIDAwOVAQEBCwsTBwYIMwYMBQUGBgUFDAYKjo8JBwwFBQUGBAUNBgQFBQQGDQUEBgYEBQwHBAUFBAcMBQQGBgQFDAcEBQUEBwwFBAYGBAUMBwQFBQQHDAUEBgYEBQwHBAUFBAAAAwAD/+AB/QHgABYAGwBGAAAFISImNSY0NRM0NjMhMhYVExwBBxQGIyUhAyEDJSImJzcuAScuASsBIgYHDgEHFw4BIyImNyc+ATc+ATsBMhYXHgEXBxYGIwH1/hUBBQJrBgEBFwEGawIFAf4gAdVn/vlnAUUFBAEBAQkKCBsPFw0dCgwNAQEBBAUCBgEBAQ0OCyUTFxMhCg0LAQEBBgIgAgIBBAIBRAMDAwP+vAIEAQICEQEz/s34BQOcDxkICQkICAgZEZwDBQUDnBIeCwwMDAsLHhOcAwUABAAJADsB9wGDAA4AJwA5AEsAAAEhIiY1NDYzITIWFRQGIwchIiYvASY2MzYWHwEhNzQ2FzIWDwEOASMlIiYnJjQ/AT4BFxYUDwEiBicFJiIvASY0Nz4BHwEWFAciBicB7/4iAwUFAwHeAwUFA1b+1gMFATABBAMDBgEwARwqBgQDBAEqAQUD/tYCAwEDA1UDBwIDA1UBBAEBKgEDAlUCAgMHAlUDAwEDAgEZBQMEBQUEAwXeAwPeBAYBBAPX1wMEAQYE3QME5AEBAwcCVgEBAwIIAVcCAQEBAlUDBgQBAQNUBAYEAgEAAAUAFAAwAesBkAAqAEMAXQB2AJAAACUjIiY1JyMHFgYjIiYnNyY2OwEyFhUXMzclIiY3NDYXBR4BFRYUFQcUBiMHMhYXHgEHFgYHDgEjIiYnLgEnPgE3PgEzNyIGBw4BFwYWFx4BMzI2Nz4BNy4BJy4BKwEXMhYXHgEXDgEHDgEjIiYnLgE3JjY3PgEzJyIGBw4BBx4BFx4BMzI2Nz4BJzYmJy4BIzMBqusCBVs4AQEGAgUEAQEBBgNIAgVa3jT+0QIFAQYDATkBBAI6BQK0BwgFAgUBAQUCBQgHBAsCBQMBAQMFAgsEAQoOBwUIAQEIBQcOCggRBQcFAQEFBwURCAF9BAoDBQMBAQQEAwoEBwgFAgYBAQYCBQgHAQgRBQcGAQEGBwURCAkPBwUIAQEIBQcPCQGQAwLqEQQFBQQZBAUDA+mKLQYDBAQBLQECAgEEApkDAxsEAwQJBgUKAwQEBAQDCgUGCQQDBBEHBQYQCQkPBgYHBwYGDwkJEAYFBxEEAwQJBgUKAwQEBAQDCgUGCQQDBBEHBQYQCQkPBgYHBwYGDwkJEAYFBwAIAAz/4AH0AeAAJQAzAEIAUQBkAHcAhgCLAAAFIyImNScuASMiBg8BFAYrASImJy4BNRM0NjMhMhYVExQGBw4BIyczAyEDMzc+ATMyFh8BEyEiJjU0NjMhMhYVFAYjByImPQE0NjMyFh0BFAYjJyM1MzI2Nz4BPQEzFRQGBw4BIyEjIiYnLgE9ATMVFBYXHgE7ARUBIyImNTQ2OwEyFhUUBiM3MxUjNQHrwgMFHQECAQECAR0FA8ICAwECARUFAwGuAwUVAQIBAwK7shP+YhOyHAILBwgLARyo/lkDBQUDAacDBQUD0gMFBQMEBQUExiAgExsJCAcSDQwLIRMBnBwUIgwMDhEJCQocExz/ALwDBQUDvAMFBQNEzc0gBAN6AgMDAXsDBAECAQMCAe8DBQUD/hECAwECAREB3v4idQcKCwd0AasFAwQFBQQDBZEFA4kDBQUDiQMFGREQDA0eDxERFyYNDg8PDg4mFhEREB8MDA8R/u8FBAMFBQMEBREREQAGAEL/6AG+AdUAGgApAEcAYgCBAJ0AACUhIiYnLgEnPgE3PgEzITIWFx4BFw4BBw4BIyUiBhcGFjMhMjYnNiYjITciJicuAScmNjc+ATclNhYXHgEXFgYHDgEHBQ4BIyUiBgcFDgEHDgEXFBYXFjI3JT4BNz4BJy4BIwMzIiYnJS4BJy4BNz4BNz4BFwUeARceAQcOAQcOASMlIgYHDgEXHgEXBR4BOwEyNjc2JjUuASclJiIjAZX+1QMPBgcJAQEJBwYPAwErAw8GBwkBAQkHBg8D/tUNCwEBCw0BKw0LAQELDf7VAQcKBgQJAQQBAgQLCQEWCA8IBwwCBAECBQsI/uoFBgUBGAMDBP7rBgUDAQEDCAMFCQUBFgUGAwEBAwINBgEBBQYE/uoJCwQCAQQCDAYIDwkBFggLBAMBBAEJBAYLB/7qCAsDAQEDAQcEARcCBQEBBg0CAwIDBgX+6gMDBLwBAwMODQ0OAwMBAQMDDg0NDgMDATMHCgoHBwoKBzgDAwMJBgcPBwcLA2QDAQMDCggHDwYICwNkAQGgAQFkAgYEBAgDBAcBAgFlAQYEBAgEBgj+IQIBZAMLBwcPBwcLAwMBA2QDCwcHDwcGCQMDBKAHBgQIBAQGAmQBAQgGBAgEBAYCZAEAAAUAov/iAV4B3gAVACUAKgA+AEwAAAUiJicuAT0BNDY7ATIWHQEUBgcOASMnFRQWFx4BMzI2Nz4BPQEjEzMRIxEXIiYnLgE1NDY7ATIWFRQGBw4BIyceARceATMyNjc+ATcjAQATIwwNDwUEqgQFDw0MIxNNDAsKHBAQHAoLDJpEEhILChIGBwcFBE4EBQcHBhIKHgIFBAQKBQUKBAQFAjweDw0MIxNRBAUFBFETIwwND6dJEBwKCwwMCwocEEkBIv7vARELCQgIEwkEBQUECRMICAktBgoDBAUFBAMKBgAABQAM//gB9AHFABYALQBUAHIAiwAAASImNSY2PwEnLgE3NhYfAR4BDwEOASMTIiYnLgE/AScmNjc2Fh8BFgYPARQGMTcjIiYnLgEnLgEnLgEjIiYnPgEzMhYXHgEXHgEXHgE7ATIWFw4BIyciJicuATc+ATc+ATsBMhYXDgErASIGBw4BBw4BIwciJic+ATMyNjc+ATc2MhcWBgcOAQcOASMBqwEEBAEBPDwBAQQCCAFBAQEDPwIDAgEDAgICAQQ6OwMCAQQGA0ADAgFBBT8qHTYdGjgaGjQbGTUYBAQBAQQEGzgbHDYcGDYZGzMaKgUEAQEEBeUCAwIBAQMWMBcaMBoqBQQBAQQFKhgsGBYuFQICA+8FBAEBBAUUKxQWKRUCCAEEAQIWKxgVLxYBIwEBAwcCREQDBwIDAQJKAgcCSgEC/tUCAQIIAjxMAwcCAgECUwIHAkEBAkIZFRU0GxozFBQZBQMEBRoVFDUbGjMUFBgFBAMFuQEBAwcCGC0REhUFBAMFFBERKxYCAbEFBAMFEg4PJhUCAgMHAhYoDw8TAAAEABH/9QHvAckAKABRAGgAfwAANyMiJjU0NjsBMjY3PgE3PgE3PgE7ATIWFRQGKwEiBgcOAQcOAQcOASMhIyImJy4BJy4BJy4BKwEiJjU0NjsBMhYXHgEXHgEXHgE7ATIWFRQGIyciJicuAT8BJyY2NzYyHwEWFA8BDgEjESImJy4BPwEnJjY3NhYfARYUDwEOASNNMwQFBQQzIDATEyAPECAVFDQjRAQFBQREHy4TEx8PDyIVFTUkAZlEIzQUFSAQDyATEzAgMwQFBQQzJDUVFSIPDx8TEy4fRAQFBQQ/AQMCAgEDOjoDAQIDBwJAAgJAAQMCAQMCAgEDOjoDAQIDBwJAAgJAAQMCPgUDBAUZFRU2Hhw5FhYbBQMEBRkUFTUcHjkXFhwbFhY5HB42FRUZBQQDBRwWFzkeHDUVFBkFBAMF6gEBAwcDQ0MCBwMCA0kCBwJJAQL+zQEBAwcCQ0MDBwMCAQJJAgcCSQECAAAAAAQAAP/sAjgB0wA5AGEAsADkAAA3IyImPQE0NjsBMjY3PgE3PgE3PgE7ATU0Njc2Mh8BHgEVFAYPAQYiJy4BPQEjIgYHDgEHDgEHDgEjJzMyNjc+ATc+ATc+ATsBMhYdATcnFRQGKwEiBgcOAQcOAQcOASsBFQUqAScuAT0BIyImJy4BJyY2NzYWFx4BFx4BOwEyFh0BNycVFAYHDgErASImJy4BJyY2NzYWFx4BFx4BOwE1NDY3NjIfAR4BFRQGDwEiBiMnIiYnLgEnLgErASImPQE0NjsBMhYXHgEXFgYHBiYnLgEnLgErARUzMhYXHgEXFgYHBiIjQDcEBQUENxYjEBAeEg8kGBc/KwUCAgIFAo0CAgICjQIFAgICBxYiDw8dERAkGBhAKy8vKDoXFiIPER4RESgaDwQFdHQFBA0nORYWIg8QHxIRKxsvAZEBAgECAgUiNRUVHw0CAgMDBwIMHhMTMB4NBAV0dAIBAQMCDhkmEA8cDQICAwMHAg4bDg4gEwYCAgIFAo0CAgICjQEDAdwCBAEPHA8OIhU3BAUFBDcjNxUWIQ0CAgMDBwIMHhQUMiAvLxgnEBEeEAECAwECASIFBEQEBQ4PDzAhHDoYGB8yAgQBAQFWAQQDAgQBVgEBAQQCJQ4QDy4fHjsYGB8RHRcXOBwfMRAREgUDHkZHKwMFHBcWOBsfMRIREzRHAQEEAi4VERApFAMHAgICAxQmDw8TBQMnRkcmAgMBAgESDxApGQMHAQICAxooDQ0OLgIEAQEBVgEEAwIEAVYB6QICHCgNDQ0FBEQEBRURESoWAwcCAgIDFCgQDxQ0Dg8OLBwDBwIBAAAABAAN//AB8wHOABYALQBUAHsAAAEiJjUmNj8BJy4BNzYyHwEeAQ8BDgEjEyImJy4BPwEnJjY3NhYfARYGFQcUBjE3IyImJy4BJy4BJy4BIyImJz4BMzIWFx4BFx4BFx4BOwEyFhcOASMlIiYnPgEzMjY3PgE3PgE3PgE7ATIWFw4BKwEiBgcOAQcOAQcOASMBqwEEBAEBPDwBAQQCCAFBAQEDPwIDAgEDAgICAQM7OwMBAgQGA0ACAUIFPyodNxwbNxobMxsZNRgEBAEBBAQbOBscNhsZNhkbMhsqBAQBAQQE/isEBAEBBAQYNRkbMxsaNxscNx0qBAQBAQQEKhsyGxk2GBw2HBs4GwEsAQECBwNERAMHAgIDSgIGA0kCAf7EAQECBwNNTQIHAwIBA1ICBgNSAQJSGhQVNRsaMhQUGQUEAwUZFRU0GxozFBQZBQMEBQkFAwQFGRUVNBscNxUWGgUDBAUZFRU0Gxw3FRYaAAALAAD/4AIAAeAAGAAyAEsAZAB2AIgAmgCsAL4A0ADiAAABMhYXHgEVFAYHDgEjIiYnLgE1NDY3PgEzNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIzERIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIwMiJicmNj8BNhYXFgYPASIGIxcqATEuAT8BPgEzHgEPAQ4BIzciJi8BJjQ3NhYfARYGBw4BIyciJic0NjM3NhYVFgYPATgBMQciJicuAT8BPgEXHgEPAQ4BIwciJi8BJjY3NhYfARYGByIGIxcqASMnLgE3PgEfAR4BBw4BIwEAMVchICYmICFXMTFXISAmJiAhVzE1XSMjKCgjI101NV0jIygoIyNdNRMjDA0PDw0MIxMTIwwNDw8NDCMTEBwKCwwMCwocEBAcCgsMDAsKHBCuAgUBAQIDqAMHAgECA6gBAgHKAQEEBAElAQYDBAQBJQEEA7QCAwF7AgMCBwN6AwECAgICqQMFAQUDvQQFAQUEvVIBAgEDAgJsAgcDAwECbAEEAikCBQE0AQMEAwYBNQEEAwEBARUBAQG0BAMCAQcDtAMDAQEEAwHPJiAhVzExVyEgJiYgIVcxMVchICYRKCMjXTU1XSMjKCgjI101NV0jIyj+og8NDCMTEyMMDQ8PDQwjExMjDA0PqwwLChwQEBwKCwwMCwocEBAcCgsM/v0DAgMHAlIBAgMDBwFTAUYBBgO4BAMBBgO4AwR0AQGNAwcCAwECjQMHAgEBywUDBAUMAQUEAwUBDAIBAQIHA6ADAgICBwOhAgI5BAO0BAYBAQMEtQMGAQFKRwEHAwMDAUcBBgQCAwAADQAAAAsCAAG1ABAAFQAkADMAQgBRAGAAbwB+AI0AmgCnALQAACUhIiY3Az4BMyEyFhcDFgYjJSEDIQMBISImNyY2MyEyFgcWBiMDIiY3Az4BMzIWBxMOASM3IyImNyY2OwEyFgcWBiMnIyImJz4BOwEyFhcOASMXIyImNyY2OwEyFgcWBiMHIyImJz4BOwEyFhcOASMXIyImNyY2OwEyFgcWBiMHIyImJz4BOwEyFhcOASMBDgEjIiY3JjYzMhYXMxYGIyImJz4BMzIWBzMOASMiJjcmNjMyFhcB9/4RAwYBAQEEBQHtBQQBAQEGA/4ZAd8B/iMBAd/+IQIGAQEGAgHfAgYBAQYCkgMGAQEBBAUCBgEBAQQEXyMDBgEBBgMjAgYBAQYCASEFBAEBBAUhBAQBAQQEASMDBgEBBgMjAgYBAQYCASEFBAEBBAUhBAQBAQQEASMDBgEBBgMjAgYBAQYCASEFBAEBBAUhBAQBAQQE/okBBQYDBwEBBwMGBQEqAQgDBQYBAQYFAwgBKwEFBQQHAQEHBAUFAQsFAwGaAwUFA/5mAwURAYj+eAEzBQMEBQUEAwX+xAUEATMDBQUD/s0EBcQFBAQFBQQEBSMFAwQFBQQDBUUFBAMFBQMEBSIFBAMFBQMEBSIFBAMFBQMEBSIFAwQFBQQDBQEvBQYGBQQHBwQFBgYFBAcHBAUGBgUEBwcEAAoAYv/mAZ4B2AAYACUATQB1AJ0AxQDtARUBLAE6AAABIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGFRQWMzI2NTQmIwciJicuAScuATU0Njc+ATc2MhcWFAcOAQcOARUUFhceARcWFAcOASMzIiYnJjQ3PgE3PgE1NCYnLgEnJjQ3NjIXHgEXHgEVFAYHDgEHDgEjByImJy4BJy4BNTQ2Nz4BNzYyFxYUBw4BBw4BFRQWFx4BFxYUBw4BIzMiJicmNDc+ATc+ATU0JicuAScmNDc2MhceARceARUUBgcOAQcOASMHIiYnLgEnLgE1NDY3PgE3NjIXFhQHDgEHDgEVFBYXHgEXFhQHDgEjMyImJyY0Nz4BNz4BNTQmJy4BJyY0NzYyFx4BFx4BFRQGBw4BBw4BIxMhIiYnJjY3NDY3NjIXFBYVHgEHDgEjJzMuAScuAScOAQcOAQcBAAYLBAQFBQQECwYGCwQEBQUEBAsGBQgIBQUICAUtAgMBBQgDAwMDAwMIBQIHAwICBAYCAgMDAgIGBAICAQQBWgEEAQICBAYCAgICAgIGBAICAwcCBQgDAwMDAwMIBQEDAngCAwEJDAUEBAQEBQwJAgcDAgIHCwQDBAQDBAsHAgICAwGWAQMCAgIHCwQDBAQDBAsHAgIDBwIJDAQFBAQEBQwJAQMCtQEDAgsRBgYGBgYGEQsDBwIDAwoPBQUGBgUFDwoDAwEDAtQCAwEDAwoPBQUGBgUFDwoDAwIHAwsRBgYGBgYGEQsCAwEa/voCBAEDIGMBAQIKAwFkIAICAwL67gYcEREkEA4lEREbBgFKBQQECwYGCwQEBQUEBAsGBgsEBAUrCAUFCAgFBQhDAQIFDAYHDgcHDgcGDAUDAwIHAwQJBQUKBgYKBQUJBAMHAgIBAQICBwMECQUFCgYGCgUFCQQDBwIDAwUMBgcOBwcOBwYMBQIBHgECCBMKChYMDBYKChMIAwMCBwMHEAgJEwoKEwkIEAcDBwICAQECAgcDBxAICRMKChMJCBAHAwcCAwMIEwoKFgwMFgoKEwgCAR4BAQwZDw4eEBAeDg8ZDAICAwcCChcNDRsODhsNDRcKAgcDAQEBAQMHAgoXDQ0bDg4bDQ0XCgIHAwICDBkPDh4QEB4ODxkMAQH+8AICBFLyAgIBBAQBAgHyUwQCAhEPRCoqWSQkWSoqRA8AAAYAAP/pAgAB1wAOAB8AJAAzAF4AegAAFyImNRE0NjMyFhURFAYjJSEiJjURNDYzITIWFREUBiMlIREhESUhIiY1NDYzITIWFRQGIyUiJicuATU0Njc+ATMyFhceARUUBgcOAQcOARUUFhceARceARUUBgcOASM1IgYHDgEVFBYXHgE3LgEnLgE1NDY3PgE3KgEjCQQFBQQDBQUDAe7+EgQFBQQB7gQFBQT+GgHe/iIB3v4iAwUFAwHeAwUFA/6VCxIHBwgIBwcSCwcNBgICAgIEBwICAgICAgcEAgICAgYNBwcMBQUFBgYFDggEBAICAQECAgQDAQIBFwUDAd4DBQUD/iIDBUwFBAGIBAUFBP54BAURAXj+iM0FBAMFBQMEBSYIBwcSCwsSBwcIAwQBBAIDBAECBgQECQQFCAQEBgICBAICBAEEA1UFBQUMBwgNBQQFAQQHBQQJBQUJBAQIBAAFAAMAdwH9AUgAMgBfAGQAgACiAAAlISImPQE0Njc+ATMyFhceARceARceATMyNjc+ATc+ARceARceARceARceARUUBgcOASMlITI2Nz4BNTQmJy4BJy4BJy4BJw4BBw4BIyImJy4BJy4BJy4BIyIGBw4BHQE1IRUhNRciJicuAScuASMiJjU0NjMyFhceARcWBgcqASMzIiY1NDY3PgEzMjY3NDYzMhYVFAYHDgEjIgYHDgEVFAYjAdj+MwMFCAYHEAgGCwYFCgQFCwYHDAUPHQ4NFgYCBQMSRCUkQA4GCgQDBAUFBQ0J/jwBxAMJAgMDAgICBwUNPSMjQxMJGg4OHw4JEgcHDQUDBwMECAQHCgQDBAHe/iJ3AgUBBhcPDyMTBAUFBBUpEREaBwEDAwEBAWYEBQIFBBUTNhoBBQQDBQ0NDSQXCw0EBAIFA3cFBI8PFQYGBgMCAwgFBQYCAgEGBgUOBwIBAQceEREfBwQKBwcRCgcQBgULEgcDAgoEBgsGBQoDBx0QEB4ICA8FBQYCAwMJBQQFAgICBQUFDgiGMxEREQMCEh4LCgwFAwQFDQwMIhUDBwEFAw4bCgoNCAIEBQUECQoDAwIFBwYWEQMFAA4AgP/gAYAB4AAOADUARABrAHwAgQCSAJcAqACtAL4AwwDSAOEAADciJj0BNDYzMhYdARQGIxcjIiYnLgE1NDYzMhYVFBYXHgE7ATI2Nz4BNTQ2MzIWFRQGBw4BIzciJj0BNDYzMhYdARQGIzciJjU0JicuASsBIgYHDgEVFAYjIiY1NDY3PgE7ATIWFx4BFRQGIwcjIiY9ATQ2OwEyFh0BFAYjJzM1IxUXIyImPQE0NjsBMhYdARQGIyczNSMVAyMiJj0BNDY7ATIWHQEUBiMnMzUjFRcjIiY9ATQ2OwEyFh0BFAYjJzM1IxUDIyImNTQ2OwEyFhUUBiMVIyImNTQ2OwEyFhUUBiOrBAUFBAMFBQNcAhMiDQwPBQQDBQwKChwQAhAcCgoMBQQDBQ8MDSEUTgMFBQMEBQUEBwQFDAoKHBACEBsLCgwFAwQFDwwNIhMCFCENDA8FA49EBAUFBEQDBQUDPDMz5kQDBQUDRAQFBQQ7MzNvRAQFBQREAwUFAzwzM+ZEAwUFA0QEBQUEOzMzEVYDBQUDVgMFBQNWAwUFA1YDBQUDkwUEiAQFBQSIBAWzDgwMIBMDBQUDDxsJCgsMCwocEAMFBQMUIgwND7MFBIgEBQUEiAQF6QUDEBsKCgwLCgobEAMFBQMTIgwMDg4NDCITAwVYBQRVBAUFBFUEBRFFRREFBFUEBQUEVQQFEUVF/wAFBFUEBQUEVQQFEUVFEQUEVQQFBQRVBAURRUUBEQUEBAUFBAQF7gUDBAUFBAMFAAAFAAQAoAH8ASAAEgArADgAUQBeAAAtAScuATc+AR8BBTcyFhcWBiMHBQYmJy4BNTQ2Nz4BNx4BFx4BFRQGBw4BJzUmBhUUFhc+ATU0JgcXBiYnLgE1NDY3PgE3HgEXHgEVFAYHDgEnNSYGFRQWFz4BNTQmBwGy/ppDBAIBAQcDQgFeQgMHAQECBEX+2QYLBAQFBQQECwYGCwQEBQUEBAsGBgcHBgUHBwXqBgsEBAUFBAQLBgcKBAUEBAUECgcFBwcFBgcHBvUBGgIGBAIEAhkBGwIEAggcVAEFAwUKCAUMAwUDAQEDBQMMBQgKBQMFASkBCAQHBgEBBgcECAEpAQUDBQoIBQwDBQMBAQMFAwwFCAoFAwUBKQEIBAcGAQEGBwQIAQAADAAFAHEB+wFPAAQAHQAhADgASQBYAGcAdgCFAJQAowCyAAA3IRUhNQcwJiMuAT0BNDY3NjIfAR4BFRQGDwEOASM3FTcnBSImIyImPQE0Njc2FhceARUUBgcOASMnOAEzMjY3PgE1NCYnLgEHFSciJj0BNDYzMhYdARQGIwciJj0BNDYzMhYdARQGIwciJj0BNDYzMhYdARQGIyciJj0BNDYzMhYdARQGIyMiJj0BNDYzMhYdARQGIyciJj0BNDYzMhYdARQGIyciJj0BNDYzMhYdARQGI1oBEf7vTQIBAgMCAgMEAk0CAgICTAEDAgk2NgFWAwQDAwUEAxU1GBggGRQUNBoBARcuEhEWGRMULBMqBAUFBAMFBQMiBAUFBAMFBQMjAwUFAwQFBQQiAwUFAwQFBQQiAwUFAwQFBQQiBAUFBAQFBQQiBAUFBAMFBQPgERFNAQEEA28CBAEBATMCAwICBAE8AQFoTiokhAEFA6YDBQEDDg4NJBIRIQ0NEBEPCwsaDAwbDAsPAZcLBQSIBAUFBIgEBREFBKoEBQUEqgQFEQUEzAQFBQTMBAURBQSqBAUFBKoEBQUEmQQFBQSZBAURBQRmBAUFBGYEBREFBEQEBQUERAQFAA4AHv/kAeIB3AAVACUANABDAFkAaQB4AIcAlgClALQAwwDSAOEAABcjIiYnEyY2Nz4BMzIWFx4BFwMWBiMnMwM2JicuASMiBgcOAQcTNyMiJic+ATsBMhYXDgEjFyMiJjcmNjsBMhYHFgYjFyMiJicTJjY3PgEzMhYXHgEXAxYGIyczAzYmJy4BIyIGBw4BBxM3IyImJz4BOwEyFhcOASMXIyImNyY2OwEyFgcWBiMXIiY3Az4BMzIWBxMOASMTIyImNyY2OwEyFgcWBiMTIyImJz4BOwEyFhcOASMXIiYnEyY2MzIWFwMWBiMTIyImJz4BOwEyFhcOASMTIyImNyY2OwEyFgcWBiN8VQQEAQEBCQYIEgsJFAYIBwEBAQYCTkUBAQYEBgsIBg4DBgQBAUNDBQQBAQQFQwUEAQEEBQFFAwYBAQYDRQMGAQEGA39UBQQBAQEKBggRCwoTBggIAQEBBgNORgEBBwQFDAgGDQQFBQEBREQEBAEBBAREBAQBAQQEAUYCBgEBBgJGAgYBAQYCXQMGAQEBBAUCBgEBAQQECRIDBgEBBgMSAwYBAQYDEDIFBAEBBAUyBQQBAQQFXwUEAQEBBgMFBAEBAQYDCBEEBAEBBAQRBAQBAQQEEjUCBgEBBgI1AgYBAQYCHAUEAbgLFAcICQkHCBML/kcEBREBsQcOBQUGBwUGDQf+UO8FBAMFBQMEBWYFAwQFBQQDBZoFBAG4CxQHCAkJBwgTC/5HBAURAbEHDgUFBgcFBg0H/lDvBQQDBQUDBAVmBQMEBQUEAwWRBQMB3gMFBQP+IgMFAV0FBAMFBQMEBf7NBQQDBQUDBAUqBQMB3gMFBQP+IgMFAV0FBAMFBQMEBf7NBQQDBQUDBAUAAAAHABL/4AHuAeAAEAAVADQARgBYAGoAfAAAASEiJj0BNDYzITIWHQEUBiMlITUhFQEhIiYnLgE1Ez4BMx4BBwMhAzQ2NzIWFRMUBgcOASMlMCIxLgE1EzQ2Mx4BFQMUBiMzOAExIiY1EzQ2MzIWFQMUBiMzIiY1AzQ2MzIWFRMUBiM4ATEzIiY1AzQ2NzIWFRMUBgcwIjEBrP6rBAUFBAFVAwUFA/6zAUT+vAGG/jYCBAEBATwBBQQDBQE6Abc5BAQDBjoBAQEEAv6LAQMFIAUEAwUgBQNgBAULBQQDBQsFA2sEBRAFAwQFEAUDVQMFIAQEBAUgBQMBAXoFA1UEBQUEVQMFEURE/lUCAQEEAgGZBAQBBgP+cAGQAwYBBAT+ZwIEAQECBAEFAwGKAwUBBQT+dwMFBQQBlQQFBgP+awQFBQMBlgMGBQT+awMGBQMBiQQFAQUD/nYDBQEAAAAHAAQAkgH8AS4ADQASABcAHAA1AFQAlgAAJSM1NDY3PgEzFSIGHQE3MxUjNTczFSM1OwEVIzUHFAYHDgEjIiYnLgE1NDY3PgEzMhYXHgEVByMUBisBNSMVMzUzMhYXHgEVMzQmJy4BJz4BNz4BNQciJicuASc3FjY3PgE1NCYnIiYjLgEnLgE1NDY3PgE3PgEzHgEXByYiBxQGFwYWFzIWMx4BFx4BFw4BBw4BBw4BIwEeIgsICRULChAzIyNFIiJEIiJaAwMDCAQFBwMDAwMDAwcFBAgDAwOZIxIJAiIiAgUJBAQFIwQDAwkFBQkDAwSoBg4HCBAIDh4YAgEDBQ4BAwEFDQYHCQICAgYECRoMDBUEChQdBgEBAQQIAwMCBA8GCQkBAQIDAQkDBw4KmTQMFAcHCCINBzRWVlYziYmJiQoECAMDAwMDAwgEBQcDAwQEAwMHBQ4FFjOJNAgGBxAICBEICA4GBQwGBgsFeAICAgYEHw4DAQEDBAIGBAEBBAUEEA0FCAQEBwIIAwEFAiAGBAEBAQUDAgECBQUFEAwGCgUFCAMEBAAACABVABsBqwGlACkAUwBiAHEAigCjALwA1QAAJSMiJicuASc3LgEnLgE3Jz4BNz4BMzIWFx4BBxcOAQcOAQ8BFgYHDgEjAyIGBw4BFwceARceATMyFhcHHgE7ATI2Nyc+ATMyNjc+ATcnNiYnLgEjAyImJzcmNjMyFhcHFgYjMyImNyc+ATMyFgcXDgEjJyImJy4BNyY2Nz4BMzIWFx4BFw4BBw4BIyciBgcOAQceARceATMyNjc+ASc2JicuASMXIiYnLgE3JjY3PgEzMhYXHgEXDgEHDgEjJyIGBw4BBx4BFx4BMzI2Nz4BJzYmJy4BIwE9cwcNAwUDAQEPHQ4LEgEBAR4ZGD4dHzwaFyABAQEMDQogEgEBAQIDCQo8HDUXFh0BAQEPDQocCgUEAQEBBQpxBQIBAQEEBQ8eCQsLAQEBHRYXNRwhBQQBAQEGAwQEAQEBBgJDAgYBAQEEBAMGAQEBBAVnDBEIBgkBAQkGCBEMChMGCAcBAQcIBhMKAQYNBAYEAQEEBgQNBggMBQQGAQEGBAUMCJYLEggGCQEBCQYIEgsKFAYIBwEBBwgGFAoBBg0EBQUBAQUFBA0GCAwGAwcBAQcDBgwIGwcFBg4HFQIOCwsdEWMhNxQUFxcUFDchYxEeCwsOARUFDgYGCAF5FRISMB1jDhgJCgoFBB0GEAcPHQQFCgkJGA9jHTASEhX+kAUDEQQFBQQRAwUFAxEEBQUEEQMFowgHBxMKCxMHBwgIBwcTCwoTBwcIVgYEBQ0HBwwFBAYGBAUMBwcNBQQGVggHBxMKCxMHBwgIBwcTCwoTBwcIVgYEBQ0HBwwFBAYGBAUMBwcNBQQGAAAABgAA/+QCAAHcAEoAfACBAIYAiwCQAAAlIiY1NCYnLgEjIgYHDgEVFAYjIiY1NCYnLgEjIgYHDgEVFAYjIiY9ATQ2Nz4BMzIWFx4BHQEUBiMiJjU0JicuASMiBgcOARUUBiMnMhYXHgEXPgE3PgEzMhYXHgEXPgE3PgEzMhYXHgEXLgEnLgEjIgYHDgEdAT4BNz4BMwMnNxcHJSc3FwclMxUjNTsBFSM1AV4EBQsKChsOEB0MCw0FBAQFCwoJGg8PHQwLDwUEAwUqJCNdMjJdIyMrBQQDBQoJCRkPDhkKCQsFA/sNGQsKEQUGEwsMGg8NGAsKEQUFEAoKGA0LEwkIDwYBJiAgVjIzVyAgJQcSCgsXDRFREFEQAWcRSBBH/vESEqsREc0FBA8cCgoNDQsKGw8EBQUEEBsKCwwMCQobEAMFBQM0KUsdHSIiHR1LKTQDBQUDEBsKCgsMCgsbEAQFZgkHBxQMCxUHBwkIBwcTDAwTBwcIBQUEDQghQxsaIiMbHEQhAgkPBQYG/rHvBe8FBQXvBe/t7+/v7wAAAAQADP/sAfQB1ABIAJkA6wFMAAAFIiYnLgEnIgYHIgYjIiYnLgE1PAE1PgE3LgEnLgE1NDY3PgEzMhYXHgEXPgEzMjYzMhYXHgEVHAEHFAYHHgEXHgEVFAYHDgEjJxceARceATMyNjc+ATU0JicuAS8BNz4BNTY0NTQmJy4BIyIGIw4BByMnLgEnLgEjIgYHDgEVFBYXHgEfAQcOARUGFBUUFhceATMyNjM+ATczJyImJy4BJyY2Nz4BNzYWFx4BFx4BMzI2NTQmJy4BJy4BNz4BNz4BMzIWFx4BFx4BBw4BBw4BJy4BJy4BJy4BIyIGBxQWFx4BFx4BFRQGBw4BIycqASMOAQcOARceARceATMyNjc+ATU0JicuAScuAScuATU+ATc+ATMyFhceARceARcyNjc+ATc0JicuAScuASMiBgcOAQcGFhceARceARceARUUBgcOASMiJicuAScuASMBZwkSCAkRCAQKBAUIBS9UIB8kAQEBBAUCAgIWExQzHQgQCAcPCAUKBQUJBTBUHyAkAQEBBAcCAwIWExQzHUECBxAIBxEIGi0REBQCAgMGBAIBAQEBIh0dTS0ECgUFCgUDAwYOBwcPBxotERAUAgIBBgMCAQEBASEdHU4sBQgFBAoEBCkXKBAQFQQCAwQEDQgHEAYHCQIBFRUSFQsjDScSEhkDARgQESYPDR4PDhwKBQQCAQgGBhAHCA4EBAsGBw0GCxUBDCQPJRERFxMQECsYUQICAgQHAgMBAQMSDg0jFBUlDQ4QEw4PIQ4RGAcIBgEKCAcRBwcRCAgPBgIIBAQJBAMFAQIDCRcNDRoMDSAODhQBAhQPDyMOExcHBgUJCAcVDAsVCAgKAgENBxQDAgIHBAEBASUfH1QwBQkFBAoFBw8ICBAJHTMTExcCAgIFBAECASQgH1QwBAkFBAkFCBEICRIJHTMTExckAQUGAgIDFBERLRkJEAgIDwcDAwUJBQQJBCxOHR0iAQEBAQEDBQICAhQRES0ZCA8HBw4HAgMFCgUECQUsTh0dIgEBAQE4CgoKGxEIDwcGCgECAwQEDAgDCg4DAwkHAwsLCyYeFiALCwoFBwYTDgcPBwgOBAUDAQEIBgUHAgMCCgMDCgcDCgsKIxwUIw0ND2kBBQQECQQOFwcICQ0KCx0QFxwJCAkDAwcEBQsJBgoEBAQDAwMKBwQEAQICAwgEBQgEDBEFBQUJCAkaEhgfCQoJAwQHBAQKBwYMBQUGAwQDCgYICQAOAAQAHAH8AaQAMQBAAE8AXgBvAHQAhQCKAJkAqgCvAMAAxQDUAAAlISImNTQ2MyEyNjc+AT0BNCYnLgEjIgYVFAYjIiY1NDY3PgEzMhYXHgEdARQGBw4BIyciJj0BNDYzMhYdARQGIyMiJj0BNDYzMhYdARQGIzchIiY1NDYzITIWFRQGIysBIiY9ATQ2OwEyFh0BFAYjJzM1IxU3ISImPQE0NjMhMhYdARQGIyczNSMVFyImPQE0NjMyFh0BFAYjNyMiJj0BNDY7ATIWHQEUBiMnMzUjFTchIiY9ATQ2MyEyFh0BFAYjJzM1IxUXIiY9ATQ2MzIWHQEUBiMBr/5vBAUFBAGRDBUICQoJCAgUCwcNBQMEBQcFBQ0HDhsKCgwNCwocD2YEBQUEAwUFA94EBQUEAwUFA/f+qwQFBQQBVQQFBQRe3gMFBQPeBAUFBNXNzeb/AAMFBQMBAAQFBQT37++ABAUFBAMFBQOr3gQFBQTeAwUFA9bNzef/AAQFBQQBAAMFBQP47+9vAwUFAwQFBQQcBQMEBQoICBQLBQsTBwcJCwcDBQUDBwwFBQYLCgkaDgUOGwoLDAgFBDMEBQUEMwQFBQQzBAUFBDMEBTwFBAMFBQMEBQUEZgMFBQNmBAURVVVVBQQzBAUFBDMEBREjI24FA4kDBQUDiQMFkQUDZwMFBQNnAwURVVVVBQQzAwUFAzMEBREiIm8FBIgEBQUEiAQFAAQACACXAfgBKQAaACkAOABHAAAlISImNTQ2MyEyNjc+ATU0NjMyFhUUBgcOASM3ISImNTQ2MyEyFhUUBiMFIiY9ATQ2MzIWHQEUBiMzIiY9ATQ2MzIWHQEUBiMBcP6gAwUFAwFgGSsQERIFBAMFFRMSMhw6/mYDBQUDAZoDBQUD/rMEBQUEAwUFA+8EBQUEAwUFA5cFBAQFEhEQKxkEBQUEHDISExZ4BQMEBQUEAwVvBQRmAwUFA2YEBQUEZgMFBQNmBAUAAAAABgAC/+AB/gHgADwAYQCGAJUAtADTAAAFIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEHDgEnLgE3PgE3PgE1NCYnLgEjIgYHDgEVFBYXHgEzMhYVFAYjAyImJy4BNTQ2MzIWFRQWFx4BMzI2Nz4BNTQ2MzIWFRQGBw4BIzMiJicuATU0NjMyFhUUFhceATMyNjc+ATU0NjMyFhUUBgcOASMHIyImNTQ2OwEyFhUUBiMXIyImJyY2PwEjIiY1NDY7ATIWFxYGDwEzMhYVFAYjMyMiJicmND8BIyImNTQ2OwEyFhcWBg8BMzIWFRQGIwEANF0iIygoIyJdNDRdIiMoBgUGEAoCBwMDAgIKDwYFBSUhIFYxMVYgISUlISBWMQQFBQRVDRcICAoFAwQFBwYGEAoJEAYGBwUEBAUKCQgXDKoMFwgJCgUEBAUHBgYQCQoQBgYHBQQDBQoICBcNFYgEBQUEiAQFBQRERAIFAQEBATYvAwUFA0ACBQEBAQE2MwQFBQRnQwMEAQECKyUEBQUENwIFAQEBASwyAwUFAxwoIyJdNDVcIyIoKCIjXDUTJRISIhADAQICBwMOIBERIhIxViEgJSUgIVYxMVYgICYFAwQFASAKCAkWDQQFBQQJEAcGBwcGBxAJBAUFBA0WCQgKCggJFg0EBQUECRAHBgcHBgcQCQQFBQQNFgkICooFAwQFBQQDBZoDAgIFAkcFBAMFAgICBQJIBQMEBQMCAgUCNgUEAwUCAwIFAjYFAwQFAAAOAAz/7gH2AdIAEQAjADUARwBZAGsAkQC5AMsA3QDvAQEBEwElAAA3IiYvASY2NzYyHwEWBgcOASMjIiYnLgE/ATYyFx4BDwEOASMzIiYvASY2NzYyHwEWBgcOASMjIiYnLgE/ATYyFx4BDwEOASMzIiYvASY2NzYyHwEWBgcOASMjIiYnLgE/ATYyFx4BDwEOASM3IyImJy4BJz4BNz4BMzIWFx4BFz4BNz4BMzIWFx4BBxYGBw4BIwMiBgcOARcGFhceATsBMjY3PgEnNiYnLgEjIgYHDgEPAScuAScuASMDIiYnLgE/ATYyFx4BDwEOASMzIiYnLgE/ATYyFx4BDwEOASMzIiYnLgE/ATYyFx4BDwEOASMFIiYnLgE/ATYyFx4BDwEOASMzIiYnLgE/ATYyFx4BDwEOASMzIiYnLgE/ATYyFx4BDwEOASM/AgIDLAMBAQQGAywEAQICAgMsAwICAQEDLAQGAwIBBCwCAgPZAwICLAQBAgMGBCwEAQICAgMsAwICAgEELAMHAwIBBCwCAwLZAwICLQMBAQQGAy0DAQEDAgItAgIDAQEDLQMGBAEBAy0CAgMQwiA9FhcaAQEaFxY9IBYmExEfCggMCAYPBxouExAWAQEUERIuHMAfNRUTGQEBGRMVNR/AGCgQDhIBARMOEScXBg8GCAwIBgUJHQ8RJBVAAgICAgEDEwMGBAECBBIDAgOsAwICAQIEEgQGAwIBAxMCAgOsAwICAgEDEwMGBAIBBBICAwL+qwICAgIBAxMDBgQBAgQSAwIDrAMCAgECBBIEBgMCAQMTAgIDrAMCAgIBAxMDBgQCAQQSAgMCDQIBLQMHAgMDLQMHAgECAgECBwMtAwMCBwMtAQICAS0DBwIDAy0DBwIBAgIBAgcDLQMDAgcDLQECAgEtAwcCAwMtAwcCAQICAQIHAy0DAwIHAy0BAmwcGBc/IyM+GBgbCgkKGxEDBQIBAhYTEzEbGjUVFhsBSBkVFTkfIDgVFhkYExMvFxgrEBETAgICBQQEBxEbCQkK/m0BAQMHAhUDAgIHAxUCAQEBAwcCFQMCAgcDFQIBAQEDBwIVAwICBwMVAgFAAQECCAIVAwICBwMVAgEBAQIIAhUDAgIHAxUCAQEBAggCFQMCAgcDFQIBAAAADAAX/+cB6QHZACoAVQCBAJAAogC0AN8BCgE2AUUBVwFpAAAXIiYnLgE1NDY3PgEzMhYXHgEXHgEXFhQHDgEXHgEXHgEHDgEHDgEHDgEjAyIGBw4BFRQWFx4BMzI2Nz4BNz4BNzYmJy4BJyY2NzY0Jy4BJy4BJy4BIwMiJicuATc+AT8BNjIXHgEXFgYHDgEnIiY3PgEnLgEnDgEHBhYXFgYHBiIjNyImPQE0NjMyFh0BFAYjAyImJy4BPwE+ARceAQ8BDgEjFyImJy4BPwE+ARceAQ8BDgEjFyImJy4BJy4BJyY2Nz4BNzYmJyY2Nz4BNz4BNz4BMzIWFx4BFRQGBw4BIxMiBgcOAQcOAQcGFBceAQcOAQcOARceARceARceATMyNjc+ATU0JicuASMTKgEnLgE3PgEnLgEnDgEHFBYXFgYHBiYnLgE3PgE3NjIfAR4BFxYGBw4BIyciJj0BNDYzMhYdARQGIwMiJicuAT8BPgEXHgEPAQ4BIxciJicuAT8BPgEXHgEPAQ4BI54hMhESERoTEykOCxMJCA4GBwoDAwIEAgEBBAICAgIBCQoEDAgHEAkQDCMQEBcTEBErFwcNBQYJBAcIAQECAgIEAQECBAICAwgGBAwGBxAJGwMEARIOBAUgHAICBgIODgICBgcBBgQDBAEHBgIBCQcKHwkJBRgCAgMBAgEjBAUFBAMFBQMaAQMBAwECDwMHAgMBAg8CAwIPAQMBAwEDNgIHAwIBAjYBBALXCRAIBwwECgkBAgICAgQBAQIEAgECAwoHBg4ICRMLDikTExoREhEyIRAJEAcGDAQGCAMCAgQCAQEEAgICAQEIBwQJBgUNBxcrERATFxAQIwwbAQIBAwICGAMKCiAKBwkBCAsBAwQDBgILCQIBDg0DBQIEHSEFBQ0SAQQDKgQFBQQDBQUDJAICAQMBAg8CBwMDAQIPAgMCDwEDAQMBAzYCBwMCAQI2AgMCGVo8PXwiJDEQDw0EAwMKBwgVDQ0eEiNFHh8zEg4eDw8bCgYIAwMDAeEMDQ0qICp5NzdPAgIDBgQIGQ0NGwwSNB8gRSQQGwsLEgcFCAIDA/7UAgIiPxwdNBcCAgEILR4eRSADBAEGBCE+GRolCAghGRlFLQMHAQHbBQMSAwUFAxIDBf7WAQECBwMUAwECAgcDFAICLQEBAwcCQgIBAgIIAkIBAjkDAwMIBgobDw8eDhIzHx5FIxIeDQ0VCQYKAwMEDQ8QMSQifD08WgHhAwMCCAUHEgsLGxAkRSAfNBIMGw0NGAkEBgMCAk83N3kqICoNDQz+1AEBBwMtRRkZIAgIJhoaOx0DBwEBAwMfRB4eLAgBAgMXNBwdPiECAtsFAxIDBQUDEgMF/tYBAQIHAxQDAQICBwMUAgItAQEDBwJCAgECAggCQgECAAAOAAD/4gImAd4AGAAxAEoAYwBoAHcAhgCuANMA5ADpAPoA/wEOAAA3IiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIwUiJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjBzMVIzUHIyImNTQ2OwEyFhUUBiMhIyImNTQ2OwEyFhUUBiM3IiYnLgEnLgEjIgYHDgEHDgEnLgE3PgE3PgEzMhYXHgEXFgYHDgEjAyImJy4BJyY2NzIWFx4BFx4BMzI2Nz4BNzQ2Mx4BFQ4BBw4BIycjIiY9ATQ2OwEyFh0BFAYjJzM1IxUXIyImPQE0NjsBMhYdARQGIyczNSMVNyMiJjU0NjsBMhYVFAYjfhouEREUFBERLhoaLhERFBQRES4aFycPDxERDw8nFxYoDw8REQ8PKBYBKxouERITExIRLhoaLRESExMSES0aFygODxERDw4oFxYoDg8REQ8OKBa8RERVIgQFBQQiAwUFAwEREQQFBQQRAwUFAysCAwIRKRgYNBwbNBgYKhECBwMDAQMSLRkaOB0eOBkaLRICAQMBAwHBMVchIiwFAQUDBAUBBSggH1ItLlEfICkFBQQDBQYrIiJXMQwjAwUFAyMDBQUDGhERPCIEBQUEIgMFBQMaERFVqgQFBQSqBAUFBI0UEREuGhouEREUFBERLhoaLhERFOoRDg8oFhcnDw8REQ8PJxcWKA8OEeoUEREuGhouEREUFBERLhoaLhERFOoRDg8oFhcnDw8REQ8PJxcWKA8OEXcREREFAwQFBQQDBQUDBAUFBAMFgAIBFiILDAwMDAsiFgIBAgIHAxckDA0NDQ0MJBcDBwIBAf5zIx4eUzAEBQEEBC1NHB0gIB0cTS0EBAEFBDBTHh4jQAUERAMFBQNEBAURMzMRBQREAwUFA0QEBREzMzMFBAMFBQMEBQAAAAAGAGb/4AGaAeAAHAAzAEQASQBiAHsAAAUjIiYnLgE1ETQ2Nz4BOwEyFhceARURFAYHDgEjAyIGBw4BFREUFhceATsBMjY1ETQmKwETIyImNRE0NjsBMhYVERQGIyczESMRFyImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBgcOARUUFhceATMyNjc+ATU0JicuASMBee8IDQUFBQYFBQ0H7wgMBAQFBQQFCwjvBAcDAgMDAwIHBO8JBwYK7+XeAwUFA94DBQUD1czMaAgPBgUHBwUGDwgIDwYFBgYFBg8IBQgEAwQEAwQIBQUIBAMDAwMECAUgCAYHEAgBqgkPBQYGBgUFDwr+VgoRBgYGAe8EAwQIBf5WBQoEBAUVBwGqBxH+ZgUEAWYEBQUE/poEBREBVv6qVwYGBQ8ICQ8FBgYGBgUPCQgPBQYGQAQDAwkFBAkDAwQEAwMJBAUJAwMEAAAABQBv/+ABkQHgABwAOQBIAFcAZgAABSMiJicuATcDPgE3PgE7ATIWFx4BFwMWBgcOASMDIgYHDgEXAx4BFx4BOwEyNjc+ATcDNiYnLgErARcjIiYnPgE7ATIWFw4BIxMhIiY3JjYzITIWBxYGIwcjIiYnPgE7ATIWFw4BIwFp0QkOBgUHAQEBBQcEEAfTBxAEBwUBAQEHBQYOCdEFCAQCBQEBAQMEAgoD0wMKAgQDAQEBBQIECAXR6P8FBAEBBAX/BQQBAQQFAf7/AwYBAQYDAQEDBgEBBgNnMwQEAQEEBDMEBAEBBAQgBgYFDwkBrgkPBQYGBgYFDwn+UgkPBQYGAe8EAwMJBf5SBQkDAwQEAwMJBQGuBQkDAwREBQMEBQUEAwX+qgUEAwUFAwQFIgUEAwUFAwQFAAAABgBv/+ABkQHgABwAOQBIAF4AbQB8AAAFIyImJy4BNwM+ATc+ATsBMhYXHgEXAxYGBw4BIwMiBgcOARcDHgEXHgE7ATI2Nz4BNwM2JicuASsBFyMiJic+ATsBMhYXDgEjJyImJzQmNyY2NTYyFxQWBxYGFQ4BIxMjIiY3JjY7ATIWBxYGIzcjIiYnPgE7ATIWFw4BIwFp0QkOBgUHAQEBBQcEEAfTBxAEBwUBAQEHBQYOCdEFCAQCBQEBAQMEAgoD0wMKAgQDAQEBBQIECAXR6P8FBAEBBAX/BQQBAQQFewMCAgIBAQIDBwMDAQEDAgIDFzUCBgEBBgI1AgYBAQYCZf8FBAEBBAX/BQQBAQQFIAYGBQ8JAa4JDwUGBgYGBQ8J/lIJDwUGBgHvBAMDCQX+UgUJAwMEBAMDCQUBrgUJAwMEVQUDBAUFBAMFKgIBAQMCAQQBAgIBBAECAwEBAv5vBQQDBQUDBAUiBQQDBQUDBAUAAAAACABV/+ABqwHgACoARQBWAFsAbABxAIoAlwAAJSImJy4BPQE0Njc+ATMWNjc+AT8BNjIXHgEXHgE3MhYXHgEdARQGBw4BIycVFBYXHgEzMjY3PgE9ASImJy4BJw4BBw4BIxMhIiY1ETQ2MyEyFhURFAYjJSERIRElISImNRE0NjMhMhYVERQGIyczESMRFyImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBhUUFjMyNjU0JiMBABIfCwwNAQECAwIQFQgHCgYCAwcCBw8ICRQLAgMCAQENDAsfEkQKCgkZDg4ZCQoKChMICQ8HBQsIBxUQ5v68BAUFBAFEBAUFBP7EATT+zAEa/wAEBQUEAQAEBQUE9+7uewYLBAQFBQQECwYGCwQEBQUEBAsGBQgIBQUICAWaDQwMIBJYAgMBAQIBAQMDCAYCAwMGCgIDAgEBAgEDAlgSIAwMDaZPDhoKCQsLCQoaDk8DAgMJBQUIAwMD/qAFBAHuBAUFBP4SBAURAd7+IngFAwEzBAUFBP7NAwURASL+3nYFBAQLBgYLBAQFBQQECwYGCwQEBSsIBQUICAUFCAAAAAYAZv/gAZoB4AAQABUAJgArADoASQAABSEiJjURNDYzITIWFREUBiMlIREhETcjIiY1ETQ2OwEyFhURFAYjJzMRIxEXIyImNTQ2OwEyFhUUBiMzIyImNTQ2OwEyFhUUBiMBkf7eBAUFBAEiBAUFBP7mARL+7vjeAwUFA94DBQUD1czMMzMEBQUEMwMFBQOZMwMFBQMzBAUFBCAFBAHuBAUFBP4SBAURAd7+IkQFBAFmBAUFBP6aBAURAVb+qjMFBAMFBQMEBQUEAwUFAwQFAAAFAAL/4gH+Ad4AGAAxAFYAewCgAAAFIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjESIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIxEiJicuATU0NjMyFhUUFhceATMyNjc+ATU0NjMyFhUUBgcOASMDIiY1NCYnLgEjIgYHDgEVFAYjIiY1NDY3PgEzMhYXHgEVFAYjMyImNTQmJy4BIyIGBw4BFRQGIyImNTQ2Nz4BMzIWFx4BFRQGIwEANF0iIygoIyJdNDRdIiMoKCMiXTQxViAhJSUhIFYxMVYgISUlISBWMSdFGhoeBQQDBRsYFz8kJD8XGBsFAwQFHhoaRSc1BAUFBQUMBwcMBQUFBQQDBQgHBxILCxIHBwgFA8AEBQUFBQwHBwwFBQUFBAMFCAcHEgsLEgcHCAUDHigjIl00NF0iIygoIyJdNDRdIiMoAeslISBWMTFWICElJSEgVjExViAhJf5VHhoaRScEBQUEJD8XGBsbGBc/JAQFBQQnRRoaHgEABQQHDAUEBgYEBQwHBAUFBAoTBwcICAcHEwoEBQUEBwwFBAYGBAUMBwQFBQQKEwcHCAgHBxMKBAUAAAAHAAL/4gH+Ad4AGAAxAEIARwBWAHgAmgAABSImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIxEiBgcOARUUFhceATMyNjc+ATU0JicuASMTISImPQE0NjMhMhYdARQGIyUhNSEVBSImPQE0NjMyFh0BFAYjJyImJy4BNT4BNz4BJyY0NzYyFx4BFRQGBw4BFxYUBw4BIyMiJicuATU0Njc+AScmNDc2MhceARUOAQcOARcWFAcOASMBADRdIiMoKCMiXTQ0XSIjKCgjIl00MVYgISUlISBWMTFWICElJSEgVjGv/poEBQUEAWYEBQUE/qIBVv6qAQkEBQUEAwUFA88CAwEDAwECAQEDAgMDAgcDAwMCAgECAQICAQQBKwIDAQMCAgECAwMDAwIIAgQDAQIBAQMBAwMBAwIeKCMiXTQ0XSIjKCgjIl00NF0iIygB6yUhIFYxMVYgISUlISBWMTFWICEl/u8FAzMEBQUEMwMFESIiCQUEIgMFBQMiBAVTAQIDCAUECwYHEQMCCAIDAwQKBQYMBgUPAgIHAwEBAQIDCAUECwYHEQMCCAIDAwQKBQYMBgUPAgIHAwEBAAIACwA9AfYBgwBJAI0AADciJicuAScuAScmNDc+ATc+ATMyFhceARceARc+ATc+ATc+ATc+ATc+ATc+ATc+ATMyFh0BFAYjIgYHDgEHDgEHDgEHDgEHDgEjJwYUFx4BFx4BFx4BMzI2Nz4BNz4BNz4BNz4BNz4BNzUiBgcOAQcOAQcOAQcOAQcOAQcOASMiJicuAScuAScOAQcOAQddCA8GBwsFDQ0DAgEBAwMIVAIDBQEDCwcGDgYGDggIEwkFCQUFCgUFCQUTJRcXPCkEBQUEJjQVFCMVAgUDAgYCEigXFzghQQECAwsKBAkFBQsGHjMWFiURAwUDAgUDFCQVFTcnJDUVFCMSBAoFBQoEBQoEDBYKCRIJAQQBBg8HBwwDCRgLCxQGPQIDAwgGDicVFCULAwUBAgwCAgYTCgoTBgEKCAcUCgUKBgUKBgUJBRMjDg0PBQMsBAUODg4qHAQGBAMHBBctERIWnQwhERIhCwQGAgICFRARKxYDBwMEBwMbKxAPEQEbDw0MIBMFCQUGCgUFCgUOFgkICQEBBhMLChQFAQMCAgMBAAAIABf/9wHpAckAMgBpAIIAmwCqAMkA2wDtAAAXIiYnNiYnLgEnLgEnLgEnPgE3PgE/ATYWFRYGDwEOAQcOAQceARceARceARceAQcWBiMzIiY3JjY3PgE3PgE3PgE3LgEnLgEnLgEnLgE3PgEXHgEXHgEXHgEXDgEHDgEHDgEHDgEXDgEjAyImJy4BNyY2Nz4BMzIWFx4BFw4BBw4BIyciBgcOAQceARceATMyNjc+ASc2JicuASMHIiYnNyY2MzIWFwcWBiMXIiY3LgEjIgYXDgEjIiY3JjY3PgEzMhYXHgEXDgEjJyImLwEmNjc2Mh8BFhQHDgEjMyImJyY0PwE2MhceAQ8BDgEjtQQEAQEJBggQChAlDhASAQEXEhErEQ0DBwIEAw0RJg8REgEBEQ8NJA8MEggGCQEBBgOVAwYBAQkGCBIMDyQNDxEBARIRDyYRBQYEAgUCAQcCBAYFESsREhcBARIQDiUQChAIBgkBAQQEShYlDw4SAQEPDA8mGhgoDA8MAQEQDw0nFAEOIAwNDwEBDQ0LIRASHw0LDwEBEQsOHhABBAQBAQEGAgUEAQEBBgMYAwYBAQcHBQkBAQQFAgYBAQYDBQsHBQ0DBQQBAQQENgMCAhQEAQEEBgMVAwICAgNBAwICAgMUBAYEAQEEFAICAwkFBAUQCgoXDRYxGhk1GSIrDQ4OBgMBAwMEBgEDBg0MCyUdFzEZGDAVDxkLCxIHBAUFBAcSCwsZDxUwGBkxFx0lCwwNBQICAQEGAwQDAQECAQYPDQ0rIhk1GRoxFg0XCgoQBQQFARYWERAqExIaCQkKCgkJGhITKhARFqoEBgYVERAjDw4TEw4PIxARFQYGBNcFBCIDBQUDIgQFFQUDBggIBgMFBQMHCwQEBQUEBAsHAwWXAQITAwcCAwIUAgcDAQICAQMHAhQCAwIHAxMCAQAFABH/7wHvAdEAJgBWAIAAjwCuAAAFIiYnLgEnPgEzMhYHHgEXHgEzMjY3PgEnEyY2MzIWFwMWBgcOASM3IyImNy4BJy4BIyIGBw4BFw4BKwEiJicuATcnPgE3PgEzITIWFx4BFwcWBgcOASMnMzI2Nz4BJzcuAScuASMhIgYHDgEHFwYWFx4BOwE+ATc+ATMyFhceARcnIiYnNyY2MzIWFwcWBiMXIiYnLgEnPgEzMhYHHgEzMjYnPgEzMhYHFgYHDgEjAYcVJw4PEAEBBAUCBgEBDQ0MIRETHg0LDwEBAQYCBQQBAQERDg8lFgOCAgYBAQMEAgoEBQgEAgUBAQQFgA4TCAYIAQEBBwgGFQsBQwsaCAsLAQEBDQgLFw54eAsRCAYKAQEBCAgGFAj+vQcPBAYEAQEBBgQFDQp5AgcGBA4GCQwGBAgBKQQEAQEBBgIFBAEBAQYDQAcPBAYFAQEEBQIGAQELCggNAQEEBAMGAQEHBAYNCRESDg8oFgMFBQMTIQ0MDw4MDCASAXAEBQUE/pAVJw4OEaYFBAQJAwMEBAMDCQQEBQsKCRcMQg0VBwgICAcIFQ1CDBgJCQsRCAcHEQlCCQ8FBQYGBQUOCkIJEQcGCQcMBAQFBQQEDAcaBQN4AwUFA3gDBWMGBQYNCAQFBQQIDQ0IBAUFBAgNBgUGABQAFv/xAeoBzwAOACUAPABTAGoAeQCQAKcAvgDVAOcA/gEVASwBQwFVAWwBgwGaAbEAAAUiJjURNDYzMhYVERQGIwMiJi8BLgE3PgEfATc2FhcWBg8BDgEjFSImIycuATc+AR8BNzYWFxYGDwEiBiMTIiYjJwcGJicmNj8BNjIfAR4BBw4BIzUiJi8BBwYmJyY2PwE2Mh8BHgEHDgEjNyEiJjU0NjMhMhYVFAYjBSImJy4BPwEnJjY3NhYfARYUDwEOASMzIiYnLgE/AScmNjc2Fh8BFhQPAQ4BIyEiJi8BJjQ/AT4BFx4BDwEXFgYHDgEjIyImLwEmND8BPgEXHgEPARcWBgcOASMXIiYnASY0NzYyFwEWFAcOASMBIiY1JjY/AjQ2FzIWDwEOAQ8BMCIxFyImJyY2PwI+ARceARUHFAYjBzAiIxcwIjUiJj8BPgE/ATYWFRYGIw8BDgEjJyIwIy4BNTc0NjM3MhYXFgYPAhQGIwciJicmNDcBNjIXFhQHAQ4BIxciJjUvASImNzQ2HwEeAR8BFgYjFCIxNyImNS8BLgE3PgEzFzIWFRcUBgciMCM3MCIxJy4BLwEmNjM2FhUfAR4BBxQGIwcqATEnIiY1JzQ2NzYWHwIeAQcOASMBAAQFBQQEBQUEAQEDASMDAQICBwMeIAMHAgIBAyUBAgIBAwEjAwECAgcDHiADBwICAQMlAQICJQEDASAeAwcCAgEDIwMFAiUDAQIBBAIBAwEgHgMHAgIBAyMDBQIlAwECAQQCvP5EBAUFBAG8AwUFA/49AQMBAwECFRUCAQMDBwIZAQEZAQQCXwECAgMBAhYWAgIDAgcCGQICGQEEAgFnAgQBGQEBGQIHAwMBAhUVAgEDAQMBXwIEARkCAhkCBwIDAgIWFgICAgICARsBAwL+wAMDAgcDAUADAwEDAv6nAwUBBAQkCAYEAwQBCAEDAysBQwMEAQEEBCUHAQUEAwQJBAMqAQH+AQQEAQcBAwMrBAYBBAMmBgEFA0MBAQMECAQCLAMGAQEEBCYGBQPlAgMBAwMBQAMHAgMD/sABAwIaAwUHJgMEAQYEKwMDAQcBBAQBQwMFBiYEBAEBBQQsAgQIBAMBAf4BKwMDAQgBBAMEBgglAwQBBQNDAQEqAwQJBAMEBQEHJQQEAQEEAw8FBAHMBAUFBP40BAUBsAEBGQIHAwICAhYWAgIDAgcCGQEBXwEZAgcDAwECFRUCAQMDBwIZAf6yARYVAwIDAgcCGQICGAIHAwICXwEBFRUCAQMDBwIZAQEZAgcDAgKEBQQEBQUEBAUkAQECBwMeIAMHAgIBAyUCBgIjAgIBAQIHAx4gAwcCAgEDJQIGAiMCAgICIwIGAiUDAQICBwMgHgMHAgEBAgIjAgYCJQMBAgIHAyAeAwcCAQF8AQIBQAMHAgMD/sADBwICAQEoBAMDBgEGJgMEAQYEKwMDAQdEBAMEBQEGJgQEAQEGAywCBAj+AQYDKwMDAQgBBAMEBgglAwREAQUEKgMECQQDBAUBByUDBCoBAgIHAwFAAwMCBwP+wAIBGgQDJQgGBAMEAQgBAwMrAwYBRAQDJQcBBQQDBAkEAyoEBQH+BwEDAysEBgEEAyYGAQYDAwRECAQCLAMGAQEEBCYGAQUEAwQAAAAIACL/4QHeAd8APwBQAFUAZgBrAKQAyADXAAAlIiYnJjY3PgE3PgE1NCYnLgEjIgYHDgEVFBYXHgEXHgEHDgEnLgEnLgE1NDY3PgEzMhYXHgEVFAYHDgEHIgYjFSMiJj0BNDY7ATIWHQEUBiMnMzUjFRchIiY9ATQ2MyEyFh0BFAYjJSE1IRU3IyImJyY2PwEjIiYnJjY/ASMiJicmND8BNjIfAR4BFRQGIzAiMSMXHgEVFAYnOAExIxceAQcOASMnMycuATU+ATsBJy4BNz4BOwEnBzMyFhcWBg8BMzIWFxYGDwEXIiY9ATQ2MzIWHQEUBiMBbQIEAQICAxclDQ0OIBwcSyoqSxwcIA0NDCQXAwECAQcDGSYODg4jHh5RLi5RHh4jDw4PKBkBAgHeAwUFA94EBQUE1czM9/7eBAUFBAEiBAUFBP7nARH+7/TUAwQBAQECOBsCBQEBAgEoBgMEAQEBOAIKAjcBAQUDAQYmAgMFBBo3AgEBAQQDv6o4AQEBBQIaJwIBAQEEAw0pKQ0DBAEBAQInGgIFAQECAThcBAUFBAMFBQM2AgIDBwINKBgYNxwrTBwdICAdHEwrHTcYGCcNAgcDAwICDyoaGjsfL1IeHyMjHx5SLx48GhoqDwEiBQMjAwUFAyMDBREREUQFAzMEBQUEMwMFESIiiAMDAgUCNgMCAgYBJQICAgUCYAMDXwEDAgMFIwIEAgQFATYCBQIDAxE2AgUCAwMkAgUCAwNGRgMDAgUCJAMDAgUCNkwFAzMEBQUEMwMFAAAHAAL/6AH+AdgAWABqAHwAjgCgAMcA1gAAJSImJz4BMzI2Nz4BNy4BJy4BIyIGBw4BDwEnLgEnLgEjIgYHDgEXBhYXHgE7ATIWFw4BKwEiJicuATcmNjc+ATMyFhceARc+ATc+ATMyFhceARcOAQcOASMFIiY1Jy4BNzYyHwEeAQcUBiMjIiY1JjY/ATYyFxYGDwEOATEXIiY1Jy4BNzYyHwEeAQcUBiMjIiY1JjY/ATYyFxYGDwEOATElIyImJy4BNyY2Nz4BNzYyFxYGBw4BBw4BFwYWFx4BOwEyFhcOASMXISImNyY2MyEyFgcWBiMBZwQEAQEEBBcqDhAQAQEREQ4qFQgNCAYOBQkDCxoSDyYSIDQVFBgBARgUFTQfPgQEAQEEBD4iOxcWGwEBGxYXOyIUKRATHQwGDwYIDQgZLxETFAEBExIRLxv+3gEELgIBBAEIAi4BAQMEAS4BBAQBAi4BCAIDAQEuAQRsAQQuAgEEAQgCLgEBAwQBLgEEBAECLgEIAgMBAS4BBAGcsg8ZCgkMAQEDAQIFBQIIAQQBAQQDAgECAQEJBwgSDLIEBAEBBAQB/rsDBgEBBgMBRQIGAQEGAn8FAwQFGBMTLxYYKxEQFAICAgYDBAcRGgoJChkVFjggHzkVFRkFBAMFHBcYPiMjPxgXHAoKCRsSBAUBAgIXEhMxHBk1FhUbLAEBLgIHAwICLQMHAwEBAQEDBwMtAgIDBwIuAQFrAgEtAwcCAwMtAwcCAQICAQIHAy0DAwIHAy0BAmQMCgobDwcMBQYKBAMCAwcCBAcEBAkFDBQICAkFBAMFIgUDBAUFBAMFAAAUABb/9AHqAcsADgAlADwAUwBqAHkAkACnAL4A1QDnAP4BFQEsAUMBVQFsAYMBmgGxAAAXIiYnEyY2MzIWFwMWBiMDMCYjJy4BNz4BHwE3NhYXFhQPAQYiIxciJi8BJjQ3PgEfATc2FhcWBg8BFAYjEzAmNScHBiYnJjQ/ATYyHwEWFAcOASM3KgEvAQcGJicmNj8BNjIfAR4BBxQGIzchIiYnPgEzITIWFw4BIwUqAScuAT8BJyY2NzYWHwEWBhUHFAYjMzAiJyY0PwEnJjY3NhYfAR4BDwEOASMhIiYvASY2NTc+ARcWFA8BFxYUBxQiMSMiJjUnLgE/AT4BFx4BDwEXFgYHBiIjFyImJwEmNjc2MhcBFgYHDgEjASImJzQ2PwImNjMeARUHFAYPATAiMxciJjUmNjM/AT4BFx4BDwEOASMHIjAjFyIwIyImPwE+AT8BNhYXDgEjDwEUBiMnMCIxLgEnNyY2Mzc2FhUWBg8CDgEjByImJy4BNwE2MhceAQcBDgEjFyImLwIiJjcmNh8BHgEHFxQGIzIiMzciJjUvAS4BNT4BHwEyFh8BFgYHIjAjNyIwIycuAS8BJjY3MhYfAh4BBxQGIwcwIjEnIiY3Jz4BNzYWFR8BMhYVDgEj+QQEAQEBBgIFBAEBAQYDAgMBJAICAwEIAh8fBAYDAQQkAgEDAQIBAyIEAQMGBB0hAggBAwICJgMBJAQhHQQGAwEEIgQEAyQEAQIDAwECAgIfHwIIAQMCAiQCBgEmAgIDBQHC/kUFBAEBBAUBuwQEAQEEBP4+AgICAgIDFBQDAgIEBgMYAgEaBQFeAwEEARcXAQEEAQgBGgEBAxgCAwMBaAMDAhgCARoBCAIEARYWAQQEYAEFGgEBAxgDBgMCAwMVFQMDAQMBAhUCAgP+wQQBAgMHAwE/BAECAgID/qgEBAEDBSMJAQcDBAMJBAIrAgFCAgUCBgImBgIFBAMFAggBAwMqAQL/AQEDBQIGAgIEKwQFAgEDBCUHBgJEAQQDAQkBBQIsAwYCBQMmBgEEBOQDAgICAQQBPwQGAwIBBP7BAgIDGwQEAQYnAgUCAQcDLAIFAQgDBQECAUICBQclBQMCBQQrAwMBBwEFAgEC/wEBKgMDAgcCBQMEBQIGJgIFAQYCRAErAgUBCgEDBAMGCCQFAwEEBAIFBAG8AwUFA/5EBAUBpAEZAgcDAwECFRUCAQMDBwIZAWABARkCBwMCAgIWFgICAwIHAhkBAf6yAQEVFQIBAwMHAhkBARkCBwMCAmABFhYCAgIDBwIZAgIZAgcCAgKABQMEBQUEAwUkAQIHAx4gAwcCAgEDJQIFAyMCAQECBwMeIAMHAgIBAyUCBQMjAgEBAiMDBQIlAwECAgcDIB4DBwIBAQIjAwUCJQMBAgIHAyAeAwcCAX0BAgFAAwcCAwP+wAMHAgIBASgEAwMGAQYmAwQBBgMsAwMBB0QEAwQGByUEBAEBBQQrAwQI/QYEKgMDAQgBBAMEBggkBANDAQYDKwIECQEEBAMGAQclAwQqAQICBwMBQAMDAgcD/sACARkEAyQIBgQDBAEIAQMDKgQGQwQDJQcBBgMEBAEJBAIrAwYB/gcBAwMsAwYBBAMmBgEGAwMERAgEAysEBQEBBAQlBwYEAwQACgAzAAsBzQG1ABEAKAA/AFEAaAB/AI4AnQC2AM8AACUiJicBJjY3NjIXARYGBw4BIwEiJic+AT8CNDYXMhYXBxYGDwEyIjMXMCIxLgEnNzQ2MzcyFhUWBiMPAQ4BIwUiJicuATcBNjIXHgEHAQ4BIzciJi8CIiY3NDYzFzIWFRcOAQcyIjE3MiIzJy4BNyc+ATM2FhUfAR4BFw4BIxchIiY3JjYzITIWBxYGIwciJjcDPgEzMhYHEw4BIzciJicuATcmNjc+ATMyFhceARcOAQcOASMnIgYHDgEHHgEXHgEzMjY3PgEnNiYnLgEjAcQCAgP+fAQBAgMGBAGEBAECAgID/q4EBAIBAwQuCgcCBQIBDAEFATYBAgHkAQQDAQoFATcCBwEFAjEHAQQE/uoDAgICAQQBhAQGAwIBBP58AgIDcQQDAgcxAgUBBwI3AgQKAQMEAQLkAQIBNQIFAQwBAwQDBgouBAMBAgQEMf53AwYBAQYDAYkDBgEBBgPFAwYBAQEEBQIGAQEBBAQDFyUPDRIBARINDyUXFScNDw8BAQ8PDScVAREhCw0NAQENDQshERMfDQsOAQEOCw0fExABAQGGAgcDAgL+egIHAwEBARYEAwMGAQgwAwQBBgQ1AwMBCeUBBQQ0AwQLBAMEBgouAwQxAQEDBwIBhgICAwcC/noBATEEAy8JBgQDBAsEAzQDBgHlCQEDAzUEBgEEAzAIAQYDAwRXBQMEBQUEAwXEBQMBmgMFBQP+ZgMFaBEODiYWFSYPDhAQDg8mFRYmDg4RwA4LDCASEiAMDA4ODAwgEhIgDAsOAAAAABAAEf/0Ae8BywAWAC0APABLAGIAeQCLAKIAuQDLAOIA+QD/AQUBCwERAAATIiYjJy4BNz4BHwE3NhYXFgYPAQYiIxMiJi8BBwYmJyY2PwE2Mh8BHgEHDgEjJyImNRE0NjMyFhURFAYjNyEiJjU0NjMhMhYVFAYjBSImJy4BPwEnJjY3NhYfARYUDwEOASMhIiYvASY0PwE+ARceAQ8BFxYGBw4BIwciJicBJjQ3NjIXARYUBw4BIwEiJic0Nj8CPgEzHgEPARQGDwEwIjEBIjQjIiY1NzQ2PwE2FhcWBiMPARQGIyUiJicmNDcBNjIXFhQHAQ4BIxciJi8CIiY3PgEfAR4BFRcUBiMwBiMBIjAjJy4BNSc0NjcyFh8CHgEHFAYjAy8BNx8BFz8BJw8BAw8BFz8BNx8BBy8B/wEDASMDAQICBwMeIAMHAgIBAyUBAgIlAQMBIB4DBwICAQMjAgYCJQMBAgEEAiQEBQUEBAUFBOb+NAQFBQQBzAQFBQT+OgICAQMCAxUWAgIDAwcCGAICGQEDAgHGAgQBGQICGQIHAgMCAhYWAgEDAQMBRAIDAf6/AgIDBwMBQAICAQMC/qcEBAEEAyUHAQYDBAQBCQQCKwEBQQEBAwQIBAIsBAUBAQQEJgYFA/7XAQMCAgIBQQIHAwIC/sACAwIaAwQBBiYEBAEBBgMsAgQIBAMBAQFCAQEqAwQJBAMEBQEHJQQEAQUDw2ImECNbBmImECNbBmImECNbBmImECNbAaIBGQIHAwMBAhUVAgEDAwcCGQH+UgEBFRUCAQMDBwIZAQEZAgcDAgIKBQQBvAMFBQP+RAQF3gUEAwUFAwQFJAEBAgcDHiADBwICAgMkAwUCIwICAgIjAgUDJAMCAgIHAyAeAwcCAQGBAQIBQAMHAgMD/sADBwICAQEoBAMDBgEGJgMEAQYDLAMDAQf+vgEGAysDAwEIAQQDBAYIJAQEGgECAgcDAUADAwIHA/7AAgEaBAQkCAYEAwQBCAEDAysDBgEBQgcBAwMsAwYBBAMmBgEGAwME/vgnYQZaJBAnYQZaJAELJ2AGWSQQJ2AGWSQAAAAADAAR//QB7wHLAA4AJQA8AFMAagB5AJAApwC+ANUA5wD5AAAFIiY1ETQ2MzIWFREUBiMDIiYjJy4BNz4BHwE3NhYXFgYPAQYiIxUiJi8BLgE3PgEfATc2FhcWBg8BDgEjEyImLwEHBiYnJjY/ATYyHwEeAQcOASM1KgEvAQcGJicmNj8BNjIfAR4BBw4BIzchIiY1NDYzITIWFRQGIwUqAScuAT8BJyY2NzYWHwEWFA8BDgEjMyoBJy4BPwEnJjY3NhYfARYUDwEOASMhIiYvASY0PwE+ARceAQ8BFxYGBwYiIyMiJi8BJjQ/AT4BFx4BDwEXFgYHBiIjByImLwEmNDc2Mh8BFhQHDgEjIyImJyY0PwE2MhcWFA8BDgEjAQAEBQUEBAUFBAEBAwEjAwECAgcDHiADBwICAQMlAQICAQMBIwMBAgIHAx4gAwcCAgEDJQECAiUBAwEgHgMHAgIBAyMCBgIlAwECAQQCAQMBIB4DBwICAQMjAgYCJQMBAgEEAsL+NAQFBQQBzAQFBQT+OgICAQMCAxUWAgIDAwcCGAICGQEDAl8BAwEDAQIVFQIBAwMHAhkBARkBBAIBZwIEARkCAhkCBwIDAgIWFgIBAwEDAWACAwIZAQEZAgcDAwECFRUCAQMBAgIaAQMC1QICAwcC1QMDAQMC1QIDAQIC1QMHAgMD1QEDAgIFBAG8AwUFA/5EBAUBpAEZAgcDAwECFRUCAQMDBwIZAWABARkCBwMCAgIWFgICAwIHAhkBAf6yAQEVFQIBAwMHAhkBARkCBwMCAmABFhYCAgIDBwIZAgIZAgcCAgKABQMEBQUEAwUkAQIHAx4gAwcCAgEDJQIFAyMCAQECBwMeIAMHAgIBAyUCBQMjAgEBAiMDBQIlAwECAgcDIB4DBwIBAQIjAwUCJQMBAgIHAyAeAwcCAUMBAdUDBwMCAtYCBwMBAQEBAwcC1gICAwcD1QEBAAAAEwAF/+wB+wHSABQAGgAvADUARABcAHMAhQCcALYAyADiAPwBDgEoAUIBVAFuAYgAACUjIiY1JzY0PwE2Mh8BHgEVBxQGIyczNycHFxcjIiYvASY2PwE2Mh8BHgEPAQ4BIyczNycHFzciJic3JjYzMhYXBxYGIyczIiYvASY2NzYyHwE3NjIXFgYPARQGIwciJjUnLgE3NjIfATc2MhceAQ8BDgEjFyImJzwBPwE2FhcWBg8BDgEjNyIwIycuATU3NDYXHgEVBxceAQcUBiMHMiIxJyImNSY0NTc0NhceARUHFx4BBxQGIwciJjUnJjY3NhYfARYGBxQiMQcyIjEuATU3JjY3PgEfAR4BFQ4BLwEHFgYjJzIiMS4BNTc0NjU2MjMXHgEVDgEvAQcUBiMnMCY1Jy4BNz4BHwEeAQcOASMnIiY1JjY/ASc0Njc2FhUXBhYHFAYVBzAiMRciJjUmNj8BJzQ2NzYWFRcGFgcUBiMHMCIzFzAiNS4BPwE+ARceAQ8BFAYjFyImNycHBiYnNDY/AToBFx4BBxcUBgcwIjM3IiY1JwcGJic0Nj8BOgEXFBYVFxQGBzAiMwEnTwIGFAEDOgMFAzoDARQGAklDDzAyEWCDAwQCKgIDAXABBwFwAQMCLgIDBHx2LGZkJ0AEBAEBAQYCBQQBAQEGAwMBAwICNAMBAQQGAy4wAQgCAwEBNgQBAQEEJQIBBAEJAR8dAwcDAgEEIwICA0EDAwMFkgQGAwEBBJMCAQK0AgJHBAMVBwIFAhJBAgUCBgFUAQIyAQMCDgcDBAMMKgIEAQYCIQIFWQEBBAIIAVkBAQQDLAECBAMTAQMBAgIDSAQDAgUFPxEBBgIfAQIEAw0DAwIDMAUCAQYEKAsGAngDlQIDAwEHA5QCAwIBBQG0AgUCBQJBEgIFAgcVAQECBEkCUgIGAQQCKgwDBAMHDgEBAgMBMgIBHwMEAQFZAQgCBAEBWQUCKgIGARFABAUCAwRIAwICAQMBEwMEAgEdAgYLKAQGAQIFMAMCAwMNAwQCAaYEAjoDBQEvAgIvAQUDOgIEES8mJi9EAwOPAwUBSgEBSQIFA48DAxGDQkKDkQUEqgQFBQSqBAV5AgE1AgcDAgIvLwICAwcCNQECRAEBJAMHAgMDHh4DAwIHAyQBAWYDAgMHAVYBAQQDBgJVAQErEwEGBEgDBAEBBgQ/EgEGAwMDHA0DAQEEATIDBAEBBgQpCwEGAwMD5wICkgMHAgICA5IDBwIBIAEGA0kCAgEBAQESAQYDBAMBEEEDA1IBBgMyAQMBAQwBBgQDBAEKKQMDpgEBVQIGAwQBAVYBBwMCAysDAwMGARI/BAYBAQQDSAIDAgECARMcAwMDBgELKQQGAQEEAzIBBAEBAw3nAQIHA5IDAQECBwOSAgIgAwNBEAEDBAMGARIBAQMBSQMGAVIDAykKAQQDBAYBDAEBAwEyAwYBAAANADH/4gHPAd4AMgBlAH4AlwC2AMMA0ADiAPYBCAEaASkBOwAAFyImJy4BNTQ2Nz4BNxcOAQcOARUUFhceATMyNjc+ATU0JicuASc3HgEXHgEVFAYHDgEjNSImJy4BNTQ2Nz4BNxcOAQcOARUUFhceATMyNjc+ATU0JicuASc3HgEXHgEVFAYHDgEjNSImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBgcOARUUFhceATMyNjc+ATU0JicuASMVIiYnLgEnJjQ3NjIXHgEzMjY3NjIXFhQHDgEHDgEjJxQGIyImNTQ2MzIWFTMUBiMiJjU0NjMyFhUXIiYnJjY/ATYWFxYGDwEGIiM3IiY9ATQ2PwE+ARcWFA8BFRQGIxcwIjEnLgE1PgEzFzIWBxQGIwUqAS8BLgE3PgEfAR4BBw4BIyciJj0BNDYzMhYdARQGIwciJicmNj8BNhYXFgYPASIGI/ocMhMTFQYGBhELDAoPBQYFExARKxkZLBEQEwUGBQ8KCwwRBgYGFhITMh0XKBAPEQYFBhEKCwkPBAUFDwwNIxMUIwwNDwUFBQ4JCgsRBgUGERAPKBgRIAsMDg4MCyAREiALDA0NDAsgEg4ZCQoLCwoJGQ4PGQkJCwsJCRkPBAkEBAcEAgIDBwIECwUGCgQDBwIDAwMHBAQJBRYGBQQGBgQFBkAGBQQGBgQFBgoCBAIBAgOMAwcBAgIDjAECAVQEBQEBGQIHAwMCFgUERQEtAwQBBgMsBAQBBQP/AAECAYwDAgIBBwOMAwIBAgQCVgQFBQQDBQUDOAMEAQEDA0sEBgEBAwNLAQEBHhYSEzIdDxwNDhcKDQgVDAsZDRksEBETExEQLBkNGQsMFQgNChcODRwPHTITEha1ERAPKRcNGQwLFAgNBxEKChULFCINDQ8PDQ0iFAsVCgoRBw0IFAsMGQ0XKQ8QEZsNDAwfEhIfDAsODgsMHxISHwwMDZsLCQoZDg4aCQkLCwkJGg4OGQoJC3sBAgIFAwIHAwICBAQEBAICAwcCAwUCAgFFBQYGBQQHBwQFBgYFBAcHBJ4CAwMGAkkCAgMEBgJJATMFAy0BAwEfAgECAgcDHCoDBQEHAQUEAwQIBgMDBDIBSQIGBAMCAkkCBgMDAjMFAzMEBQUEMwMFKAQCBAYBGAEDBAMGAhcBAAAAAAgAAP/gAgAB4AAlAEsAcQCXAL0A4wD8ARYAABMqAS8BLgE9ATQ2MzIWHQEXNzUnLgE3PgEfAR4BHQEUBg8BBiIjMyoBNScuAT0BNDY/ATYWFxYGDwEVFzc1NDYzMhYdARQGDwEGIiMDIiYnJjY/ATUnBxUUBiMiJj0BNDY/ATYyHwEeAR0BFAYPAQYiIxcqAS8BLgE9ATQ2PwE2Mh8BHgEdARQGIyImPQEnBxUXHgEHDgEjJyoBNScuATc+AR8BNzUnBwYmJyY2PwE2Mh8BHgEdARQGDwEGIiMhKgEvAS4BPQE0Nj8BNjIfAR4BBw4BLwEHFRc3NhYXFgYPAQYiIwMyFhceARUUBgcOASMiJicuATU0Njc+ATM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjMaABAgFVAwIFBAMFTU1DAwICAQcDRwIDAgNVAQIBwAECawIDAgJSAwcBAgIDTWJNBQMEBQIDVQECAbEDBAEBAQRCTU0FAwQFAgNVAgQCVQIDAwJGAQIBmgECAVQCAgMCawEEAlUCAwUEAwVNYk8DAgIBBAL/AQM1BAEBAgcDMUxMMAMHAQICAzMCBQJUAgMDAlQBAgEBawECAVUCAwMCVQIFATcDAgIBBwMzTU0yAwcBAgIDNgECAbUxVyEgJiYgIVcxMVchICYmICFXMTVdIyMoKCMjXTU1XSMjKCgjI101AQcBLwEEA0MDBQUDPisrVCMCBwMDAgIlAQQCXwMEAS8BAS8BBANfAgQBLQECAwMHASpVKys/AwUFA0QDBAEvAf7sAgIDBwIkVSsrPQMFBQNCAwQBLwEBLwEEA18CBAEnAQQBKwEEAl8DBAEvAQEvAQQDQgQFBQQ9KytUKQIHAwICigEdAgcDAwICGytUKxsCAgMDBwIdAQEvAQQDXgMEAS8BAS8BBANeAwQBLwEBHgIHAwMCAhwrVCsbAgIDAwcBHgEBViYgIVcxMVchICYmICFXMTFXISAmESgjI101NV0jIygoIyNdNTVdIyMoAAcAAwB5Af0BRwAvAFYAWwBqAHkAiACXAAAlISImPQE0NjMyFhceARceARceATMyNjc+ATc+ATMyFhceARceARceARUUBgcOASMlITI2Nz4BNTQmJy4BJy4BJy4BJw4BBw4BIyImJy4BJy4BIyIGHQE1IRUhNRciJj0BNDYzMhYdARQGIzMiJj0BNDYzMhYdARQGIzMiJj0BNDYzMhYdARQGIzMiJj0BNDYzMhYdARQGIwHY/jMDBRgHBAkEBQkEBAgFBQsHDBgLCxMHAQMCFlQsLUsNBgoEAwQFBQYNCP48AcQECAIDAwMCAgcEDEcrKlEXBxYMDBsNCA8HBwsFBgwEBwcB3v4iKwQFBQQDBQUDVQQFBQQDBQUDzQQFBQQDBQUDVQMGBgMEBQUEkwUDcSUSAwIDCAUEBgICAgYGBQ4HAQIXDg8dBwQKBwcRCQgOBQUGEQMDAwcECAwFBQgCBhwODhcBCA8GBgYCAwMJBQcIFBJoIhERTQUEEQMFBQMRBAUFBBEDBQUDEQQFBQQRAwUFAxEEBQUEEQMFBQMRBAUACAAY/+cB4wHZABAAFQAmACsAbACUANUA/QAAEyMiJj0BNDY7ATIWHQEUBiMnMzUjFQUjIiY9ATQ2OwEyFh0BFAYjJzM1IxUDIiYnLgE1NDY3PgE3PgE3PgE9ATQ2MzIWHQEUBgcOAQcOAQcOARUUFhceATMyNjE0Nj0BNDYzMhYdARQGBw4BIzciJicuAScuATc+ATc+ATc2FhcWBgcOAQcOAQcGFhceARcWFAcOASM3LgE9ATQ2MzIWHQEUFhUyFjMyNjc+ATU0JicuAScuAScuAT0BNDYzMhYdARQWFx4BFx4BFx4BFRQGBw4BIyImJzEmNDc+ATc+AScuAScuAScuATc+ARceARceARcWBgcOAQcOASMiJif9qwMFBQOrBAUFBKKamgFNqwMFBQOrAwUFA6KZmagSGwgJCAYEBQ0HBw8GBgcFBAMFCAYHEAgGDAQEBQUHBhQPJzscBQMEBR4BAUEuawIDAQgLAwMBAQIJBgcQCgMHAQICAwgOBQUHAgEBAwIJBgICAgMBYwEdBQMEBRsBOicPFAcGBgYEBAwGCBAGBwgFBAMFBwYGDwgGDQUFBgkICRsSLkEBAwMGCAMCAQEBCAUFDgcDAwIBBwMKEQYGCQIBAQMDCwcCAwECAwEBYQUEZgQFBQRmBAURVVURBQRmBAUFBGYEBRFVVf51DQsKGg0LFAkJEQkJFQsMGhGGBAUFBIYTHg0NFgoIDwgIEAkKEwgIClABOS2xBAUFBLExPQEDV1gBAQgRCQkTCgsUCQkOBQIDAwMHAQQMBwcRCAgQBwcOBgIHAwEBAgE9MbEEBQUEsS05AVAKCAgTCgkQCAgPCAoWDQ0eE4YEBQUEhhEaDAsVCQkRCQkUCw0aCgsNVwMDBwIGDgcHEAgIEQcHDAQBBwMDAwIFDgkJFAsKEwkJEQgBAQEBABEACQAGAfcBugAYADEAQABPAF4AbQB/AJEAowC1AMQA0wDlAPQBBgEVAScAABMiJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjFyImPQE0NjMyFh0BFAYjNSImPQE0NjMyFh0BFAYjFyMiJjU0NjsBMhYVFAYjKwEiJjU0NjsBMhYVFAYjFyImLwEmNDc2Mh8BFhQHDgEjJyImLwEmNDc2Mh8BFhQHDgEjMyImJyY0PwE2MhcWFA8BDgEjByImJyY0PwE2MhcWFA8BDgEjBSEiJjU0NjMhMhYVFAYjJSImPQE0NjMyFh0BFAYjJyImJyY0PwE2MhcWFA8BDgEjFyImPQE0NjMyFh0BFAYjJyImJyY0PwE2MhcWFA8BDgEjFyImPQE0NjMyFh0BFAYjJyImJyY0PwE2MhcWFA8BDgEjjwsSBwcICAcHEgsKEwcHCAgHBxMKBw0EBQUFBQQNBwcMBQUFBQUFDAcCAwUFAwQFBQQDBQUDBAUFBF4RBAUFBBEDBQUDqxEDBQUDEQQFBQSPAgMBEAICAwcDDwICAgMBeQIDAQ8DAwIHAw8CAgEDAmoCAwICAhACBwMCAg8CAwF5AgMBAwMPAgcDAgIPAQQBAaT+IgMFBQMB3gMFBQP+swMFBQMEBQUERQIDAQICeQIHAwICeQEDAs4EBQUEAwUFA04CAwECAnkCBwMCAnkBAwLFAwUFAwQFBQRFAgMBAgJ5AgcDAgJ5AQMCARcJBgcTCwoTBwcICAcHEwoLEwcGCVYGBAUMBwcNBAUFBQUEDQcHDAUEBpEFAyIEBQUEIgMFqgUEIgQFBQQiBAVMBQMEBQUEAwUFAwQFBQQDBTwBAg8CBwMCAg8DBwICAXkBARACBwMCAhACBwMBAQEBAwcCEAICAwcCEAEBeQECAgcDDwICAwcCDwIB+AUEAwUFAwQFCQUDZwMFBQNnAwUhAgECCAJ5AgIDBwJ5AQIhBQNnAwUFA2cDBSECAQIIAnkCAgMHAnkBAiEFA2cDBQUDZwMFIQIBAggCeQICAwcCeQECAAkAAAAtAhEBkwAOAB0ALAA7AEoAWQBoAHcAhgAANyImPQE0NjMyFh0BFAYjFyImNRE0NjMyFhURFAYjNyImPQE0NjMyFh0BFAYjByImPQE0NjMyFh0BFAYjByImNRE0NjMyFhURFAYjNyImPQE0NjMyFh0BFAYjNyImPQE0NjMyFh0BFAYjByImPQE0NjMyFh0BFAYjByImNRE0NjMyFhURFAYjCQQFBQQDBQUDRAQFBQQDBQUDvAQFBQQDBQUDNAMFBQMEBQUERAMFBQMEBQUEvAQFBQQDBQUDvAQFBQQDBQUDNAMFBQMEBQUERAMFBQMEBQUEkwUEiAQFBQSIBAUzBQQBAAMFBQP/AAQFMwUEiAQFBQSIBAUiBQTMBAUFBMwEBUQFAwFWAwUFA/6qAwVEBQTMBAUFBMwEBSIFBIgEBQUEiAQFIgUEzAQFBQTMBAUzBQMBNAMFBQP+zAMFAAAHAAf/7QH5AdIAEAAVAC8ANABdAHgAkwAANyMiJic3JjY7ATIWBxcOASMnMzcjFwUiJjUnLgE3Jz4BPwE2MhceAQcTDgEHFCIzJxcDDwEHIyImJy4BJz4BNz4BOwEyFgcWBisBIgYHDgEHHgEXHgE7ATIWBxYGIz8BMjY3PgE3LgEnLgEjJzIWFx4BBxYGBw4BIwcnMjY3PgEnNiYnLgEjNzIWFx4BFw4BBw4BI+VmBAQBAQEGAmgCBgEBAQQEXVQBVgEBCAEEqwEDAQEBAQOpAwQDAQQBAQECAwMBpJsBmQFDOBYoDg8PAQEPDw4oFjgDBgEBBgM4EiIMDQwBAQwNDCISOAMGAQEGA+ABCRMFCAYBAQYIBRMJAQ8XCQgLAQELCAkXDwIBFSMODBABARAMDiMVARcrDhEQAQEQEQ4rF3cFBLwDBQUDvAQFEqqqnAEBigEDAsICAwGKAgEBBAL+KgIEAQGWfAGyfLoMEA4OJRYWJQ4ODwUDBAUNCwwfEhIgCwsNBQQEBSoRBwYHEAoKEAcGBxEKCAkXDQ0XCQgKMREPDQ0iFBQiDQ0PERIPDygYGCgPDxIAAAoAAABZAhUBZwAdAD8ATgBdAGwAewCKAJkAqAC3AAAlIyImNyc+ATMyFhceARc+ATMyFhceAQcWBgcOASMnMzI2Nz4BJzYmJy4BIyIGBwYiJy4BNyc2JicuASMiBg8BByImJzcmNjMyFhcHFgYjIyImNyc+ATMyFgcXDgEjIyImJzcmNjMyFhcHFgYjIyImNyc+ATMyFgcXDgEjJyImJzcmNjMyFhcHFgYjIyImNyc+ATMyFgcXDgEjJyImJzcmNjMyFhcHFgYjJyImNyc+ATMyFgcXDgEjAcivAwYBAQEKIBgsDxETAgQLBBEaDAkOAQENCQsbEqWlDhQJBwsBAQsHCRUNBQ4FAwMDAQMBAQEQDQ8lGAcOAwEqBAQBAQEGAgUEAQEBBgMjAgYBAQEEBAMGAQEBBAUhBAQBAQEGAgUEAQEBBgMjAgYBAQEEBAMGAQEBBAUhBQQBAQEGAwQEAQEBBgIjAwYBAQEEBQIGAQEBBAQhBQQBAQEGAwQEAQEBBgIjAwYBAQEEBQIGAQEBBARZBQP3AwwQDg8oFwECDQsLHREPHgwMDxEMCgkZCw0XCQgLAwMBAgEEAgQWJA0ODgEB6gkFBO8DBQUD7wQFBQTdBAUFBN0EBQUEzAQFBQTMBAUFBMwEBQUEzAQFEQUEzAQFBQTMBAUFBLsEBQUEuwQFEQUEmQQFBQSZBAURBQRVBAUFBFUEBQAABwAN//MB8QHKABMAIQAwAFgAgACoALoAABciJicuATU0NjMhMhYVFAYHDgEjJx4BFx4BMzI2Nz4BNyEFIyImNTQ2OwEyFhUUBiMDIiYnLgE3NDY3PgE3NCYnJjQ3NjIXHgEHDgEHDgEVBhYXFhQHDgEjMyImJy4BNT4BNz4BNzYmJyY0NzYyFx4BFQ4BBw4BBwYWFxYUBw4BIzMiJicuATc+ATc+ATU2JicmNDc2MhceAQcUBgcOAQcUFhcWFAcOASMXIiYnJjQ/ATYyFxYUDwEOASP6MFcgICYFAwHJBAUmISBWMNwDJB4eTisrTh0eJQL+SQEimQQFBQSZBAUFBHsBBAEGBAEFAgMDAQIDAgIDBwIGBQEBBAMCBAECAwMDAQMCMwIDAQYEAQQDAgMBAQEEAwMCCAIGBAEEAwIDAQEBBAMDAQMCMwIDAQYFAQEEAwIEAQIDAwMCBwMGBAEFAgMDAQIDAgIBBAFJAQMCAgJ3AgcDAgJ3AQMCAjAkJFIjAwUFAyNSJCQw5CBKHyAqKiAfSiDvBQQDBQUDBAUBMAIBBg8HCBAHCA0FBQgDAwcDAgMGDggIDwgIDAYFCAMDBwIBAgIBBhILCxkNChUJCg8DAwcCAwMGEgsLGA4JFgkKDgQDBwIBAgIBBg8HCBAHCA0FBQgDAwcDAgIHDggIDwgIDAYFCAMDBwIBAkEBAgIHA3UDAwIHA3UCAQAACAAA/+kCAAHXAA4AHwAkADgATABjAHoAlAAAFyImNRE0NjMyFhURFAYjJSEiJjURNDYzITIWFREUBiMlIREhESUhIiYvAS4BNz4BHwEhMhYVFAYjNSEqAS8BLgE3PgEfATMyFhUUBiMFIiYnJjY/AT4BMyEyFhUUBisBBw4BIwciJicmNj8BPgEzITIWFRQGIyEHBiIjJyImJyY2PwEnLgE3PgEfAR4BFRQGDwEiBiMJBAUFBAMFBQMB7v4SBAUFBAHuBAUFBP4aAd7+IgHe/uoBAwG6AwECAwYDuAETAwUFA/8AAgIBcQMBAgIHA2/9AwUFA/6PAgQBAgECcgECAgEAAwUFA/1vAgIBRgIEAQIBA7IBAwEBBQMFBQP+/rABAwEpAgQBAgEDlpYDAQICBwOgAQICAaABAwEXBQMB3gMFBQP+IgMFgAUDAVUEBQUE/qsDBREBRP68uwEBiQIHAgMBAocFAwQFNAFUAgcDAwECUgUEAwX/AgIDBwJTAQEFBAMFUgEBAQECAwcCiAEBBQMEBYcBMAIBAwcCb3ACBwMDAQN2AQQCAgMBdwEAAAAACABv/+YBkQHaABAAFQAkADUAOgBJAGUAgQAAJSMiJj0BNDY7ATIWHQEUBiMnMzUjFTchIiY1NDYzITIWFRQGIycjIiY9ATQ2OwEyFh0BFAYjJzM1IxU3IiY9ATQ2MzIWHQEUBiMTIiYnLgEnLgE1NDYzMhYVFBYXHgEXFgYHIgYjIyImIy4BNz4BNz4BNTQ2MzIWFRQGBw4BBw4BIwFv3gMFBQPeAwUFA9XMzO/+7gMFBQMBEgMFBQNeVgMFBQNWAwUFA01ERCIEBQUEBAUFBFECBAEMDwUEAwUEAwUEBAUOCgIDAwECAaUBAgEDAwIKDgUEBAUDBAUDBAUPCwIEAvMFBHcEBQUEdwQFEWdnNAUDBAUFBAMFMwUDIwMFBQMjAwUREREaBQMzBAUFBDMDBf5QAwIdUSkoRA4DBQUDFUYmJ0kZAwcBAQEBBwMZSScmRhUDBQUDDkQoKVEdAgMAAAcAAP/pAgAB1wAOAB8AJAAzAEIAWABoAAAXIiY1ETQ2MzIWFREUBiMlISImNRE0NjMhMhYVERQGIyUhESERASEiJjU0NjMhMhYVFAYjFSEiJjU0NjMhMhYVFAYjJSImJy4BPQE0NjsBMhYdARQGBw4BIycVFBYXHgEzMjY3PgE9ASMJBAUFBAMFBQMB7v4SBAUFBAHuBAUFBP4aAd7+IgHe/iIDBQUDAd4DBQUD/iIDBQUDAd4DBQUD/qsMGQoJDQUEdwQFDAoKGAw0CgcIEgkIEwcHCmcXBQMB3gMFBQP+IgMFgAUDAVUEBQUE/qsDBREBRP68AQAFAwQFBQQDBd4FAwQFBQQDBTMJCQgXDUIDBQUDQg0XCAkJdzkKEAYGBwcGBhAKOQAABwAAAAoCAAG2ACYAOwBKAGMAfACTAKoAACUhIiY3Jz4BOwEyFh8BHgEXHgE7ATI2Nz4BPwE+ATsBMhYXBxYGIyUhJyMHDgEHDgErASImJy4BLwEjBwEjIiY3JjY7ATIWBxYGIwciJicuASc+ATc+ATMyFhceAQcWBgcOASM3IgYHDgEXBhYXHgEzMjY3PgE3LgEnLgEjFyImNScjIiYnPgE7ATIWHwEWBgcqASMlIiYjLgE/AT4BOwEyFhcOASsBBxQGIwH3/hEDBgEBAQQFhQQEAQcDCQgFEAZtBhAFCAkDBwIDBH0FBAEBAQYD/hkB3wFvBgMOCAkTC2sLEwkIDgIHdwEBI1YDBgEBBgNWAwYBAQYDMBUnDQ8PAQEPDw0nFRclDw0SAQESDQ8lFwETHw0LDgEBDgsNHxMRIQsNDQEBDQ0LIRHyAQU9TQQEAQEEBFIEAwI9AwQCAgEC/hMCAQIDAwNFAgMESgQEAQEEBEVFBQEKBQOrAwUDAxkIDQUFBgYFBQ4HGQMDBQOrAwURmRMKEgcGCAgGBxIKE5kBIgUDBAUFBAMFWBEODiYWFScODhAQDg4nFRYmDg4RwA0MDCASEiAMDA4ODAwgEhIgDAwN8wIDhgUDBAUDAosEBgICAQIHA4gCAwUEAwWEAgMAAAIADQAXAfMBqQAtAF4AADciJic8ATc+ATc+ATcuAScuATcmNjc+ATMyFhceARcOAQcOASMiJicOAQcOASMTIgYHDgEXBhYXHgEXMhYVFgYVDgEHDgEHPgE3PgE3PgEzFjIzMjY3PgE3LgEnLgEjVQMEAgMEDQYHDQYcKRAOEQEBJyAiWDMxWiAiJQEBJSIgWjEHDAkOIhETJhasMFEgHiQBARENECgbAQMCAQUJBgUNBA8gDRAZDQEFAQkNCC5THiAiAQEiIB5TLhcDAwIFAgUPCgoXDAsfExIqFiM9FxcbGxcXPSMjPRcXGwEBERgICAkBgBcVFTcfFCYRERwLAwECAwIKFAkJEQcBCggHFg0CAQEXFRU3Hx83FRUXAAAAAAIAAAABAgABvwAXACAAADcqATUuAScTJjYzITIWBxMOASMhBzAGMRsBNz4BMyETIQkBAwMBAQEBBgMB7wMGAQEBBAX+n4kDBwF8AgECAVwB/iEBAQEEAgGuAwUFA/6qAwVXAQGt/mtPAQEBRAAAAAACAAAAAQIAAb8AIAA7AAA3KgE1LgEnEyY2Nz4BMyEyFhceAQcXDgEHDgEjIQciBiMTIgYHDgEXAzc0NjEhMjY3PgE3JzYmJy4BIyEJAQMDAQEBARAMDR8RAVgSHQsKDAEBAQsLCh4Q/uOHAgECUA4YCwoNAQF+AwEgDBgHCggBAQEKBwkWD/6oAQEBBAIBbhEbCgkJCgoJGxDEECANDRBXAQGtBwcHFQ3+ok8BAQ0KCxoNxAwVBwcIAAAAAAIAAP/3AgAByQAcAC0AABciJicuAT8BIyImNRE0NjMhMhYVERQGIyEHDgEjJzMyFhceAQ8BNzI2MyERIRFCAQMBAgIBI1QEBQUEAe4EBQUE/u+fAQICMVgCBAEBAQEejAEDAQEL/iIJAQECBQNfBQQBVQQFBQT+qwQFaQEBfAIBAgQCU10BAUT+vAAAAgAA//cCAAHJABwAKwAABTgBMS4BLwEjIiY1ETQ2MyEyFhURFAYrAQcOASMnMzIWHwE3PgE7AREhETEBAgIEAUKwBAUFBAHuBAUFBKRKAQQC8a0CBAE+RQEDAqH+IgkBAgFnBQQBVQQFBQT+qwQFZwICfAICYGEBAgFE/rwAAAACAAIAKAH+AZgAKQBQAAA3IiY1JjQ1Ny4BJy4BNyY2Nz4BMzIWFx4BFw4BBw4BIyoBJyImIwcUIjETIgYHDgEHHgEXHgEXHgEVBzc2MjMyFjMWMjMyNjc+ASc2JicuASNgAQMEHRsqEA0RAQEpIiNcNTRdISQnAQEnJCFdNAYIBgQLBHYDnzBXHyIkAQEOEA0qGQQCGWQBAwEGCgYECgQyVSEgJgEBJiAhVTIoAQEBBgJWCxsPECQTHjYUFBcXFBQ2Hh82FBQXAQFKAQFfFBISLxsRIA4OGAkCBgNIPwEBARUREjAbGy8SEhQAAAIADAAIAfQBuABSAK8AADciJicmNjc+ATc+AScuAScuATU0Njc+ATcuAScuATU0Njc+ATc+ATc+ATMyFhceARc6ATMyFhceARUUBgcOAQceARceARUUBgcOASsBDgEHDgEjEyIGBw4BBxQGBw4BBw4BFRQWFxYUBw4BFRQWFx4BFzIWFRYGBw4BBz4BNz4BNz4BOwEyNjc+ATU0JicuAScuATc0Njc+ATc+ATU0JicuASMqASMHIiYnLgEnLgEjTQMEAQEDAg8UBgYEARkpDw4QAQIBBAMDBAECAQkJCBkOBBkUEzMcEiMQEBoLAQMCHzYUFBcFBAQOCAMFAQIBFRISMR1sCBcSEjQmkxouERIWAgMDDRUICAgFBgEBBgUPDQ4mGAIEAgIEBQ4KGyYNDREHAQQCchkrEBASAgECBQQBAQECAQkNBAQFFRESMBsCAwICAgQBCRgPDiERCAQDAwUCBxULDBYKBxUMDR8QBAoEBQkEBAkEBAkFDBcKCRAEEyALDA0GBgUQChANDiQVCREICA8HBQkFBQoFFSMODQ8RHwwNDwGfDAsKHBADBAEDDAgIEgoIDwcCBgIHEAgOGQsLEgYEAg0ZCwsVCQMPCwsbDgIDDQoLHhEFCAUECQUBBAECAwEGDQcHDwcRHgwLDQECAQoPBQUGAAIADQAuAfMBkgAlAEwAADciJicmND8BLgEnLgE1NDY3PgE7ATIWFx4BFRQGBw4BKwEHBiIjEyIGBw4BFRQWFx4BOwEyFhcWFA8BNzYyOwEyNjc+ATU0JicuASsBZQIDAgIBLBotERETFRMSMhzWHDISExUVExMxHWmYAQIBMBgsEBATExAQLBgDAgQBAQEjfwECAWsZLBAQExMQECsZ1i4BAQIGA0cCFxMSLxscMhITFRUSEzEcHDMSExZSAQFTExAQLBgZKxEQEwICAgUCOEQBExEQLBkZKxAQEgACAA3/+QHzAccAIgAzAAAXIiYxLgEnNyMiJjUDPAE3NDYzJTIWFR4BFQMUBisBBw4BIyczMhYXFBYPATc+ATsBEwUTlgEDAwEBFU0CBkACBAEB1wEFAgEqBgJ8qgICAjlPAwIDAgIPmQIBA3Yo/j0+BwECBQNLAwMBMwIDAgECNQECAQQC/swDBIcBAWcCAgEEAj15AQEBIjP+3gACAA7/8QHyAc4AIgAzAAAXIiYnLgE/ASciJjUDNDY3PgEXBTIWFQMUBgcOAS8BByIGIzcXHgEXFhQPATcyNjMXEyUTVAIDAQIBASonAwQ6AQECAwIB0wQEIwIBAgMC1pcBAgEDLQIDAQEBI4MCAgLPIf5BNg8CAQIFA1UHBAMBZAIDAgECASoGA/6EAgMBAQEBJUsBeAcBAgICBAJIQQElAWop/qwAAAACABf/9wHpAckAJgBQAAAFIiYnLgEnBwYmJy4BPwEuAScuATU0Njc+ATMyFhceARUUBgcOASMnMhYXHgEXHgEzMjY3PgE1NCYnLgEjIgYHDgEVFBYXHgEXFhQVBzc6ATEBABMlEhEhEFICBQECAQEcBwsDBAQlIB9VMDBVHyAlJSAfVTCKAgICDh8RESMSLU4dHiEhHh1OLS1OHR4hAwQDCgcBGEcBAQkGBgYSCxYBAQICBANWDRsODh0OMFUfICUlIB9VMDBVHyAlQQEBCxEGBgUhHh1OLS1OHR4hIR4dTi0OGw0OGQ0BBAFMFAAAAAAGAAL/4gH+Ad4AGAAlAD4AVwBwAIkAABciJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYVFBYzMjY1NCYjMyImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBgcOARUUFhceATMyNjc+ATU0JicuASM3IiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjESIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIyAGCwQEBQUEBAsGBgsEBAUFBAQLBgUICAUFCAgFawsTBgcICAcGEwsKEwcHCAgHBxMKBw0EBQUFBQQNBwcMBQQGBgQFDAeVLlEeHiMjHh5RLi5RHh4jIx4eUS4qSxwcICAcHEsqKkscHCAgHBxLKh4FBAQLBgYLBAQFBQQECwYGCwQEBSsIBQUICAUFCAgHBxILCxIHBwgIBwcSCwsSBwcIVQUFBQwHBw0EBQUFBQQNBwcMBQUFFhwYGEIlJUEYGRwcGRhBJSVCGBgcAVUaFhY7ISI7FhYZGRYWOyIhOxYWGgAAAgANABcB8wGpAC0AXgAANyImJzwBNz4BNz4BNy4BJy4BNyY2Nz4BMzIWFx4BFw4BBw4BIyImJw4BBw4BIxMiBgcOARcGFhceARcyFhUWBhUOAQcOAQc+ATc+ATc+ATMWMjMyNjc+ATcuAScuASNVAwQCAwQNBgcNBhwpEA4RAQEnICJYMzFaICIlAQElIiBaMQcMCQ4iERMmFqwwUSAeJAEBEQ0QKBsBAwIBBQkGBQ0EDyANEBkNAQQCCQ0ILlMeICIBASIgHlMuFwMDAgUCBQ8KChcMCx8TEioWIz0XFxsbFxc9IyM9FxcbAQERGAgICQGAFxUVNx8UJhERHAsDAQIDAgoUCQkRBwEKCAcWDQIBARcVFTcfHzcVFRcAAAAABAANABcB8wGpAC0AXgCUAKMAADciJic8ATc+ATc+ATcuAScuATcmNjc+ATMyFhceARcOAQcOASMiJicOAQcOASMTIgYHDgEXBhYXHgEXMhYVFgYVDgEHDgEHPgE3PgE3PgEzFjIzMjY3PgE3LgEnLgEjByImNyc+ATMyNjc+ATcuAScuASMiBgcOARcOASMiJjcmNjc+ATMyFhceARcOAQcOAQ8BFgYjByImNyc+ATMyFgcXDgEjVQMEAgMEDQYHDQYcKRAOEQEBJyAiWDMxWiAiJQEBJSIgWjEHDAkOIhETJhasMFEgHiQBARENECgbAQMCAQUJBgUNBA8gDRAZDQEEAgkNCC5THiAiAQEiIB5TLg4CBgEBAQQEDhgGCQcBAQcIBhMKDRQJBwsBAQQEAwYBAQ0KCxoRDRoICgoBAQgKCBoQAQEGAwECBgEBAQQEAwYBAQEEBRcDAwIFAgUPCgoXDAsfExIqFiM9FxcbGxcXPSMjPRcXGwEBERgICAkBgBcVFTcfFCYRERwLAwECAwIKFAkJEQcBCggHFg0CAQEXFRU3Hx83FRUX0wUDIAQFBgcHFQ4MFAgHCAkIBxQMAwUFAw8bCgoLCwkKGw8RGQoJCgEYAwVFBQQRAwYGAxEEBQAAAAIAA//iAf4B3gCoARUAAAUiJjUuAScuASMiBiMOAScuASc2JiMiBgcOAQcGJic0Njc+ATc+ATcuAScuAScuASc+ATcyNjc+ATc0JicuAScmNDc+ARceARceATMyNiM+ATc2FhcyFjMyNjc+ATc0NjMyFhcGFhceATM6ASMyFhccAQcOAQcOARceARceATMyFhcOAQcOAQcOAQcGFjMeAQcUBiMiJiMiBgcOAQcOARcGFhcWBgcGMCMlMhYXHgEXPgE3PgEzMhYXHgEXJjY1PgE3PgE3PgEzLgEnLgE3PgE3PgE3LgEnLgEnJjY3PgE3IiYnLgEnDgEHDgEjIiYnLgEnDgEHDgEjKgEnHgEXHgEHDgEHDgEHHgEXHgEVFgYHDgEHNjIzAWICBQwVDQsYDCYxAQEGAgQCAQEWOgcNCAYQBwQFAgEEFCAJDAgBAg0LCBQFBAIBAgMEBBIICQ4DAQkIIx4DAQMFBAcQBgkMByIZAQEDAwEGAQErGAgQBAcHAwYCBQMBASEUFyoMBAcBBAMCAwQQBQgHAgIKDgwuIgQEAgECAxEcCQsLBAYtAgECAwYBAQkJBxYKDBMIBAYBAQYEAgQCAgL+5RgjCgwKAwUUCgwaEAoWCgsTCgECAwUECBgMDhcLBw0GBAYEAgoHCBMNFyINDBACBAQDBQsHDyISER8JBAoIBhMJCxMKCRAFBAsKCBgOBQYFEBMHBQQEAQoFBw0HCA4IBQoBBgUGEg0EBAQeAgMUHgoLCj8DAgEBBAMDWAIBAQUCAgMDAwcBCxYLChQJChIHBwkCAQUDAwQBAwMDCggFEQwNJBcCBwIDAgIFBwIDAjcDAwEBAgIoCgoKHRMEBAUEExcFBgMDAgMFAgQOCAkSCAQKBQQHBAMDBQEIEAoKFQsnQAIGAgIDAQIDAwsKBxMLCxkOBAYBAYcSDQ0dDAgTBwgLBgYHEgwIDwcHDAYMDgQEAggWDg0eEAsUCQkRBwEHBQUOCQkSCAgPBgQEBQ8MDxcIBwgHBgUNBQkUCAgKAQ4ZCwsUCQcMBAQGAgQLBwcRCggSCQkSCgEACAAA/+MCAAHdABEAIwA1AEcAjgC5ANoBLAAAEyIwIy4BPwE+ARceAQ8BDgEjMyImIy4BPwE+ARceAQ8BDgEjFyIwIy4BPwE+ARceAQ8BDgEjMyoBJy4BPwE+ARceAQ8BDgEjNyEiJjcmNjMhMjY3PgE3JzYmJy4BIyEiBgcOARcHHgEXHgE7ATIWBxYGKwEiJicuASc3JjY3PgEzITIWFx4BBxcOAQcOASMHISImJy4BNyc+ATc+ATsBMhYHFgYrASIGBw4BBxcGFhceATMhMhYXDgEjMyM3MzI2Nz4BJzcuAScuASsBNzMyFhceAQcXDgEHDgEjBTAmMS4BJzcjIiYnLgEnNyY2Nz4BOwEXIyIGBw4BBxcGFhceATsBMhYXBzc0NjEzMjY3PgE3JzYmJy4BKwEnMzIWFx4BFwcWBgcOASsBBw4BI3kBAgIFAhQCBQQDBAITAgQELAIBAgIDAioDBQUCAwMpAgQDlgECAgUCFAIFBAMEAhMCBAQsAgECAgMCKgMFBQIDAykCBANs/v0DBgEBBgMBAwYNAwUEAQEBBgMGCgj+qwgMBgQHAQEBBgYEDgURAgYBAQYCEQoUBgkHAQEBCgYIEwsBVQsRCAUJAQEBBggFFAmM/vYLEwkICwEBAQkJCBUJPwMGAQEGAz8GDwUHBgEBAQkEBw4HAQoFBAEBBAVhHAEaCA0HBQkBAQEGBwUQBvoB+AsUCQgLAQEBCgkHFgn+2wMDAgEBFAoTBQgGAQEBCAUHEgzfAeEHDQMFAwEBAQYDBQsIGwUEAQFMBPcGDQMFBAEBAQUDBQsJaAFqChQFBwYBAQEIBgcRDPFYAQMBASMBBgRTAwQBAQYDUwMEAQIGBFMDAgECBwNTAgOVAQYDVAMEAQEGA1QDAwEBBwNUAwICAQcDVAIC1wUEAwUFBAQLBxUHDQQFBQYEBQwHFQcMBAQEBQMEBQgGBxEKFQsSBwcICAcHEgsVChIGBgiZCAcHEwsVCxEGBgYFAwQFBAQDCwcVCAwFBQUFBAMFEQUFBQ0HFQcKBAQEEQYGBhELFQsTBwcI6QEBBANGCggIFAoWCg8GBQYRBAMDCQYWBw4FBgcFAzxCAQEHBgUOBxYGCQMDBBEGBQYPChYKFAgICk0BAQAAAAAEAAL/4wH+Ad0AGwA3AHoA5AAANyImJzQ2Nz4BNz4BNzQ2Fx4BFQ4BBw4BByIwIxciJic0Njc+ATc+ATcmNjMyFhcOAQcOAQciMCM3KgEjIiY3NDYzOgEzMjY3PgE3LgEnLgEjIgYHDgEXBhYXHgEXHgEHFAYnLgEnLgE3JjY3PgEzMhYXHgEXDgEHDgEjEzAmNScOAQcGIisBIiYnLgE3JjY3PgEzMhYXHgEXHgEHFAYnLgEnLgEjIgYHDgEXBhYXHgE7AToBNz4BNz4BHwEnJjY1PgE3PgEnNiYnLgEnLgE3NjIXHgEXHgEHFgYHDgEHFxwBBxQGI/UDBAICBQoUBwgKAwcCBQMEDgoJFwoCAiwEAwICBAcVBwoMAQEGAgUEAQEOCwoZCAICTAUGBQIGAQYCBQUFGjAREhQBARQSETAaHC8SERUBAQsJCxsTAgQCBwIVIA0KDgEBGRMVNCAdNxMVFgEBFhUTNx0JA4EHEAYJDgkIJD0XFhwBARwWFz0kDh4NDxkNAgIDCAIMFw4LHA0hNhUUGQEBGRQVNiEJCA4HBg4FAwQDbC8CAgUFAwEDAQEEAQQHBwEBBAIIAQgIBQIEAQEDAQMFBTsDBAHhAwMDBwEDCQcHEgwEBAEBBgMRFwgICgQVAwMDBgEDCwkKGhIDBQUDFSAMCw4DQAYDBAQNDAwgEhIgDAwODgwMIBINGAoKEQUBBwMDBAEHEw0MHg8WJg4OEREODiYWFScODhD+1wEBSwUFAgEUEREtGhouERETBAQECwgCBgMDAgIHCgQDBBEPDigWFicPDxEBAgUFAQECQGQDBQIFDAYGDAcHDwcHDgYDBwICAwcRCAkRCQcOBwcOBngDBQICAQAAAAQAAv/iAf4B3gAbADcA/gGZAAA3IiYnNDY3PgE3PgE3NDYXMhYVDgEHDgEHBjAjFyImJzQ2Nz4BNz4BNyY2MzIWFw4BBw4BByIwIwciJicuATcmNjUuAScuASc+ATc+ATc0JjcmNjc+ATMyFhceARc+ATMyFhceARceAQcOAScuAScuASMiBgciJicuAScuASMiBgcOAQcWBhcGFgcOAQcOAQceARceARceARUGFAceARceATMyNjc+ATc+ATM+ATc+ATc0NjMyFhceARceATMyNjc+ATcuAScuAQcGJic0JjcuAScuAScmNjc+ARceARceARc2FhceARcOAQcOASMiJicuAScOAQcOAQcOAQcOASMBIiYnLgEnIgYjKgEjIiY3JjYXOgEzMjY3NhYXFBYHFwYWFx4BMzI2Nz4BNy4BJy4BNyY2NT4BNz4BJzYmJy4BIyIGBw4BBwYiIy4BIyIGBw4BBx4BFx4BFzIWFx4BFx4BFx4BBw4BJy4BJy4BJy4BJy4BNyY2Nz4BMzIWFz4BNz4BMzIWFx4BBxYGBw4BBx4BFxQWBxYGBw4BI/UDBAICBQoUBwgKAwcCBQMEDgoJFwoCAiwEAwICBAcVBwoMAQEGAgUEAQEOCwoZCAICnw4VCgcLAQEBDxgICQgBAQIEAgkFAgEBDQkLGRAGEAUICwYFDAUMFwwKFgkEAgECBgQIFQkLFAwFDQYDAwMDCgUGCwcKFgYJBwEBAQIBAQMECQEEAgEBBwkHGA0EAQEBAQYHBRIICQ4GBQkBAQQEDyENDxgLBQEDAgICCQQGCgYJEQUHBgEBCAgHFQkDAgMDAQIFBQQNBgQBAQMGBAcOBAYFAwwZCQoJAQEJCQcYDAcMBwULAwwYDwwfDwQKCQcUCQE0CBMFCAgCBg0FBQMFAgYCAQYDBAMEBxEHAgMDAwIBAQcDBgsIBg4DBgQBAQUGAQIBAQMJCwUEBQEBFhATLhwMGAoNEwoBBAEHCgcKFQcICAEBBAYEDggDAwEBDAkLGhECBQIBBwITHAwLDwILDwcFBwEBDAkLGRAFDQULFQ0LGgwfNRUTGAEBBQMFCwkEAgMDAQEKBQgSDOIDAwMHAQMKBgcSDAQEAQYEEBgICAoDARUDAwMGAgILCgkaEgMFBQMVIAwLDgPrCggJFg0CBAIJFg0MHA8IEAgIDwcDBgMPGwoJDAMDAwgGAQEDAgMGBQIGAwQCAQUGAgIDAQEBAgUHAwIDCQcIFAwDBgMCBAEHDQcHDgcNGQsLFAcCBQMDBQIJEQYGBwYEBQ0IAwQBBgYFDwoBAQICBAgDAgMHBgYRCQoSBwYFAgEBAQEDAgkQCAcPBgMHAgMBAwcPCAgRCAEJCQgYDQ0WCQgKAwIDBwUIDwUFBgIJEAYFBwEABwYGEAkBBgMEBQEBAQEBAgEEAgIHDAUEBgYEBQwHCA0FAQQBAgQBBg0IBw8IEiAMDA4DAwMJBgECAQUFBA0HBQoEBAcCBAMMFQoJDwUBBwMDBAEGEAsKGQ0DCgYGDwcLEwcHCAIBBgkDAwMRDg4mFgkRCAgQBwMHBAQIBQoTBwcIAAAACQAA/94CAAHiABwALQBjAHIAgQCQAJ8ArgC9AAA3IiYnJjQ1NyMiJjcnPgEzITIWFwcWBisBByIGIyczMhYXFBYPATcyNjsBNyEXATAmMScjIiYnNyY2MzIWFwczMDIVFyc2Jjc+ATsBJyMiJic+ATsBMhYXBxYGKwEXHAEHFAYjAyMiJic+ATsBMhYXDgEjFyMiJjcmNjsBMhYHFgYjByMiJic+ATsBMhYXDgEjBSMiJjcmNjsBMhYHFgYjByMiJic+ATsBMhYXDgEjByMiJjcmNjsBMhYHFgYjMgEDAQMXOAMGAQEBBAUBVAQEAQEBBgK9awIBAiA6AwMCAQERVwICArUB/rsBAcQDbLMEBAEBAQYCBQQBAa4EWRMBAQIBBAE0AYgEBAEBBASQBQQBAQEGAy8WAwQBpO4EBAEBBATuBQQBAQQFAfACBgEBBgLwAwYBAQYDeHcEBAEBBAR3BAQBAQQEAQHOAwYBAQYDzgIGAQEGAgHMBQQBAQQFzAQEAQEEBFV4AwYBAQYDeAMGAQEGA6sBAQEGAj0FBN0EBQUE3QQFRwFZAgIBBAIwOgHNzf7aAUcFBMQEBQUEvAE6MAIEAgEC3gUEAwUFA+8EBT0CBQIBAQGvBQMEBQUEAwUiBQMEBQUEAwUjBQQDBQUDBAWZBQMEBQUEAwUiBQMEBQUEAwUiBQMEBQUEAwUAAAAAAwANAEEB8wF/AC0AXgC8AAA3IiYnJjY3PgE3PgE3LgEnLgE1NDY3PgEzMhYXHgEVFAYHDgEjKgEnDgEHDgEjEyIGBw4BFRQWFx4BFx4BFxYUBw4BBw4BBz4BNz4BNz4BMzIWMzI2Nz4BNTQmJy4BIwEiJicuASciBiMiJicuAScuATc+ARceARceATMyNjMyFhceARceARcuAScuAScmNDc0Njc+ATc+ATU0JicuASMiJjU0NjMyFhceARUUBgcOAQceARceARceAQcOASNEAwQBAQECAwkEBQkEEx8LCwscGBlBJSVBGRgcHBgZQSUFCQUKGQ0NHQ98IjsWFhkLCgseEgICAQEBAwYEAwgECxUJChEJAQQCBQsFIjsWFhkZFhY7IgEADhsMDBcKBAkEDxwODRoLAwICAgcDChcNDBsNBQoFAgMCBxAJCBMJAwcDAwYCAQEDAREcCQoKFxUUNh8DBQUDIj0XFhoKCgocEgMJBAQIAwIBAQEFAlYDAwIFAgMLBwYQCQgXDg0fEBotEREUFBERLRoaLRERFAEMEgYGBgEYEQ8OKBYOGwwMFQcBAgIBAwIHDQYGDAUCBwUGDgkCAQERDw4oFhYoDg8R/tMGBQYQCwEEAwQKBgIHAwMCAgYJAwQDAQECCA0FBQcBBQoGBQwGAgMBAgIBBxILCxkNFSQNDg8FBAMFEhAQKhgPHAwNFQgIDgcGCQMCBQIDAwAAAAAEAG//4QGRAd8AGwBDAGsA4gAAJSImJyY0Nz4BNTQmJyY0NzYyFx4BFRQGBw4BIxciJicmNDc+ATc+ATU0JicuAScmNDc2MhceARceARUUBgcOAQcOASMXIiYnJjQ3PgE3PgE1NCYnLgEnJjQ3NjIXHgEXHgEVFAYHDgEHDgEjByImNTQ2MzI2Nz4BNyMiJicuATU0Njc+ATsBNTQ2OwEiNjc2JicuAScuAScuAScuAS8BLgEnLgEjIiY1NDYzMhYXHgEfAR4BFx4BFx4BFx4BFx4BFxYGBw4BKwEVFAYrASIGBw4BFRQWFx4BOwEyFhceARUUBiMBEQIDAQICBQUFBQICAwcCCAcHCAEDAiYCAwEDAwYJBAMDAwMECQYDAwIHAwcMAwQEBAQDDAcBBAElAQMCAgIKEAUFBgYFBRAKAgIDBwIMEQYGBgYGBhEMAQMCwAMFBQMNEwYHCAIfCxIHBwgIBwcTChwFAxoBBgEDAg8FCQQFBwMGCgQEBwMBBAgGBQ4JBAUFBA8VBwcJAwEDBwQDCgUDCAQFCQUHCAICAQMGDgESBQQkBwwFBQUFBQQNBygCBAEBARsuUgEBAwcCBQ0GBwwFAwcCAwMHEwoKEggBASYBAQMHAgcOCAgRCAkRCAgOBgMHAgMDBxEKCRQLChQKCREIAQEmAQICBwMKFwwNGw4OGw0NFwoCBwMCAgsaDg4fEBAeDg4aCwIBJQUDBAUSDQ0eCwgHBxMKCxMHBwgZBAUCBAUaGgkRBwcMBgkQCAgRCwMNFwgICQUEAwUOCgsaDAQJEAgHDwkGDAcIEAoMFQoJDwYKBRoDBQYEBQ0HBwwFBAYBAgEDAgNrAAAABABj/+oBnQHWAFAAbACUALAAABciJjU0NjMyNjc+AT0BNDYzMjY3PgEnLgEnLgEnLgEnLgEnLgEnLgEjIiY1NDYzMhYXHgEXHgEXHgEXHgEXHgEXFhQHDgEHDgEHFRQGBw4BIzciJicmNDc+ATU0JicmNDc2MhceARUUBgcOASMXIiYnJjQ3PgE3PgE1NCYnLgEnJjQ3NjIXHgEXHgEVFAYHDgEHDgEjFyImJyY0Nz4BNTQmJyY0NzYyFx4BFRQGBw4BI2wEBQUEEiENDA8FAwkOBAUEAgEFAgMFAwMEAwIEAgQLBwcRCQMFBQMNFgkJDgUBBQICBQIDBgMCBQEBAgEFBAQPDBIODycWsQIDAQICBQUFBQICAwcCCAcHCAEDAiYCAwEDAwYKAwMDAwMDCgYDAwIHAwcMBAMEBAMEDAcBBAEmAgMCAgIVFRUVAgIDBwMXFxcXAgMBFgUDBAUODAwfEkoEBQUGBg8ICBUMCxoNChUKCxMJEh0KCgoFBAMFDAwLIhUJFAoKFQoOGQwMFAkGCwYGCgQFCgJCFSYODxBXAQEDBwIFDQYHDQUCBwMCAggTCgkTCAEBJgECAgcDBg4ICBEICREICA4GAwcCAwMHEQoJFAsKFAoJEQcCASYCAQIHAxQ0Gxs0FQIIAgMDFzofHjoXAQIABQA3/+0ByQHSABAAFQAvADQAXQAAJSMiJic3JjY7ATIWBxcOASMnMzcjFwUwJjUnNCY3Jz4BPwE2MhceAQcTDgEHFCIxJxcDDwEHIyImJy4BJz4BNz4BOwEyFgcWBisBIgYHDgEHHgEXHgE7ATIWBxYGIwEWZgQEAQEBBgJoAgYBAQEEBF1UAVYBAQcErAMBAQEBAqoDBAMBBAEBAQIDA6ObAZkBQzgWKQ0PEAEBEA8NKRY4AgYBAQYCOBMiCw0NAQENDQsiEzgCBgEBBgJ3BQS8AwUFA7wEBRKqqpwBAYoBAwLCAgMBigIBAQQC/ioCBAEBlnwBsny6DBAODiUWFiUODg8FAwQFDQsMHxISIAsLDQUEBAUAAAQAAQANAf8BsQAtAF4AgwCoAAAlIiYnLgEvASMiJicuASc3JjY3PgE7ATc+ATc2FhceARceARcDFgYHDgEHDgEjAyIGBw4BBxcGFhceATsBMhYfAR4BFxY2Nz4BNz4BJxMuAScuAScuAQcOAQ8BFAYrAQUiJic+ATMyNjc+ATcuAScuASMiJic+ATMyFhceARcOAQcOASMHIiY3JjYzMjY3PgEnNiYnLgEjIiY3JjYzMhYXHgEHFgYHDgEjAS8FCwQGCAVQdgwYCAoKAQEBDAgLFg10UAYRBwkQCQcNAwYDAQEBBQQFCwkFDQTuCBIGCAcBAQEJBggQCncDAgJTBgkGBQwFBwcEAgQBAQECBAIJBQYLBwUMBFMEAXkBUgQEAQEEBAgQBAcFAQEFBwQQCAQEAQEEBAsWBwkIAQEICQcWCwECBgEBBgIUIA0MDwEBDwwNIBQCBgEBBgIXJw8OEgEBEg4PJxcNAwICBgRQCgkJFwxnDRUHBwhTBwkCAgEDBAoIBxEK/tQKEgcICwMCAwEuBgUFDglnCBEHBggBAlIEBgEBAQMCCAUFDQgBLAcNBQUIAgIBAgEHBVYBAZUFBAMFBwUGDwkIDwYFBwUDBAUJCAgVDAwWCAgJMQUDBAUODA0hExIiDAwPBQMEBREPDycWFycPDhEAAAwAPv/gAcAB4AAdADEAQABFAFQAWQBoAHoApQDQAOEA5gAABSEiJjURNDY/AT4BOwEyFh0BIzUjBxEhNTMVFAYjAyMiJjU0NjsBNTQ2MzIWHQEUBiMXIyImNTQ2OwEyFhUUBiMnMxUjNRcjIiY1NDY7ATIWFRQGIyczFSM1FyMiJjU0NjsBMhYVFAYjFyImLwEmNjc2Fh8BFgYHIgYjJyImJy4BJy4BNT4BNz4BNz4BNz4BNz4BMzIWFx4BFxYGBw4BBw4BBw4BIzUiBgciBgcOAQcOAQcOAQcUFhceARceATMyNjM+ATc+ATc+AScuAScuASMXIyImPQE0NjsBMhYdARQGIyczNSMVAXr+zQQFAQFPAQQC5AQFEtdLASISBQTeTQMFBQNFBQMEBQUEK1YDBQUDVgMFBQMiVVUiVgMFBQNWAwUFAyJERHerAwUFA6sEBQUEnAMEAT8CAwMEBgFAAQMDAQEBZBIfDg0VBgQEAQQFBAwICBIKBQoFBQoGER8ODRUGCAEJCB8VBQoFBQoFBQgFBAgECQ8HBgsEAwQBAwQFEgsLGw8ECQQECAQSGwcHAQcFEgsLGw4mVQQFBQRVBAUFBE1ERCAFBAGNAgIBYgECBQSAeFz+fquzBAUBiQUDBAVVAwUFA14DBUUFBAMFBQMEBREREVUFBAMFBQMEBREREVUFAwQFBQQDBa0DA6IDBwEBAgSiAwcBAZwKCQkaEAoVCwsVCgoSBwgLBAIDAQEBCgkJGhAVLBMUHgkCAgEBAcsBAQMBBAoGBg8JCBIJCRIJDRYICAgBAQMBBxoRECUSDRYICAiHBQNFAwUFA0UDBREzMwAABgAI//sB+QHBABYAJQB0AIYAsQDcAAA3KgEnLgE/ATYyHwEWBgcGJi8BBw4BIzcjIiY1NDY7ATIWFRQGIwUjIiY1NDY7ATI2Nz4BNTQmJy4BKwEiJjU0NjsBMjY3PgE1NCYnLgErARUUBiMiJj0BNDY7ATIWFx4BFRQGBw4BBzEyFhceARUUBgcOASMHIiYvASY2NzYWHwEWBgcqASMnIiYnLgEnLgE1NDY3PgE3PgE3PgE3PgEzMhYXHgEXFgYHDgEHDgEHDgEjNSIGIw4BBw4BBw4BBw4BFRQWFx4BFx4BMzI2NzI2Nz4BNz4BJy4BJy4BIxABAgEDAgF1AgoDOQICBAMGAjJsAgQCiUUDBQUDRQMFBQMBIlUEBQUEVQkRBgYGBgYGEQowAwUFAwYJEAUGBwYGBg8KPAUDBAUFBEQNFggICQMCAgcEDRcJCAoKCAkWDVMDBAFAAQMDBAYBQAEDAwEBAWURHw4NFQYEBAUEBQwICBIKBQoFBQoFESAODRUGCAEJCB8WBAoFBQsFBAkEBAgFCBAGBwoEBAQDBAURDAsbDgUIBQQIBBIaCAcBBwUSCwsbD9sBAgYD2gQEawMHAgECA13MAgI3BQMEBQUEAwU0BQQDBQcGBRAJCRAFBgcFAwQFBwYGEAkKDwUFBlUEBQUEXgMFCAgIFQwHDQUGCgQKCAgWDA0VCAgK4wIDogQGAQIDBKIDBwGbCgkJGhAKFgoLFQoKEggHDAQCAgEBAQoJCRoQFSwTFB4JAQMBAQHLAQEDAQQKBgYPCQgSCQkSCQ0WCAgIAQEDAQcaERAlEg0WCAgIAAQAAwCLAf4BNQAQABUAUgB9AAAlIyImPQE0NjsBMhYdARQGIyczNSMVFyImJy4BJy4BNz4BFx4BFx4BMzI2Nz4BNTQmJy4BIyIGBw4BBwYmJyY2Nz4BNz4BMzIWFx4BFRQGBw4BIyciJicuAScuAScmBgcGJicmNjc+ARceARceARcWNjc2FhcWBgcOAQcOASMBSSIEBQUEIgMFBQMaERF4CxkNDRkKAwECAgcDCRYMDBcJDxkJCgsLCgkZDwkXDAwWCQMHAgIBAwoZDQ0ZCxIgDAsODgsMIBLJCxQKCREIDhsQDyUXAwcCAgIDGioSEh4ODRoPDyMWAwcBAQIDChEICA8HkwUEiAQFBQSIBAUReHgZBQUEDQcCBwMDAQIHCwQEBQsJCRkODhkJCQoEBAQLBwIBAwMHAgcNBAUFDgsMHxERHwwLDj4EAwMHBAYLAQEKDgICAwMHARALAQILBwYKAgIFCgECBAMGAgQGAQICAAAAAAwAC//tAfUB0wA8AHkAkACnAL4A1QDsAQMBHQE0AUoBYAAANzgBMS4BJy4BJy4BJyY2Nz4BNz4BNzQmNTQ2Nz4BMzIWFx4BBxwBBx4BFx4BFx4BBw4BBw4BBw4BBzAiMREiBgcOARUUFhcUBgcOAQcOAQcOARceARceARceARc+ATc+ATc+ATc2NCcuAScuAScmNDU2NDU0JicuASMHIiYvAS4BNSc0NjcyFhUfARYGBw4BIwciJiMnLgE1JyY2NzIWHwIeAQcOASMHIiYnJjQ/AT4BMxcyFhUUBiMnBw4BIxcwIicuAT8BPgE/ATYWFxYGDwIOASMlIiYnLgE/AjQ2Mx4BFQcUBhUHDgEjMSImJyY2PwI0NjMeARUHDgEPASIGIxciJi8BBzgBMSImNTQ2MzcyFh8BFhQHDgEjByImLwIuATc+AR8BHgEfARYGBxQiMQMiJicuATc0NjMeARUUFhceAQcOASMzIiYnJjY3PgE1NDY3MhYVFgYHDgEj/QkRCAcOBgcJAgMBBAEGAwMJBAEHBwcTDAwUBwYIAQEFCAQDBQIEAQMCCgcFDgcIEQkBBw0FBAYBAQEBBAgEAwUCAwECAggGAwkGBg4JCQ8GBggDBgkCAQMCBQQDCAUBAQUFBA0IOQIEAUcBAQ4FAwQFDkUDAQMBAwEBAQIBdQIDEAEFAwQFARBwBAIBAgQCsQIDAQMCPAEEAnIDBQQEbjoBAwIkAgEDAwEvAQECXgMGAgICA1suAQQDAQcBAgEDAgJFDgUEAwUOAUcBBAICBQEBAgRwEAYDBAQQAQICdQECAbECAwE6bgMFBQNyAwMBPAIDAQMCJAMEAS5bAwICAQcDXgECAS8BAwQC7QEDAQgPAQYDBAQKBQMBAgEEAkECBAECAQMFCgQDBAYBDwgBAwEHAQUEBA0IChgNDBoLCBEJCBEIAwgFEB8MDRAQDQwgDwUIAwgRCAkRCQsZDA0YCggNBAQFAQEdDQoKGgwFCQMBAwIHEAgIEQkJFgsKFQgFCQQEBQEBBQQECQUIFQoLFQoJEAkIEAcCAwEDCQUMGgoKDW0CAmABAgKpBAUBBQOoXgMHAgEBDAE2AQQCkgQFAQQEjTQCBwMCA0YBAQIHA0YCAQEFAwQFAUMBAngBAQYEhwICATYCAgMDBwI0hQMDvgEBAgYDa6gDBQEFBKkBAgFtAgIDAgMHAjSNAwUBBQSSAgQBNgFGAgFDAQUEAwUBAQJGAggCAQF4AwOFNAIHAwMCAjYBAgKHBAYBAQEmAQEGEAgDBAEFBAEIBAIHAwICAgIDBwIECQIDBQEFAwgQBgEBAAAAAAkAEv/tAe4B0QARACMANQBOAFUAdAB+AJ0ApAAAFyImJyY0NwE2MhceAQcBDgEjJSImJwEmNDc+ARcBFhQHDgEjJSImJyY2NyU2FhcWBiMFIgYxFyImJy4BNT8BNDYzJTIWHwEHFAYjBTgBMRMPASU3JwUTIiYnLgE1Nyc0Njc+ATMlMhYfAhQGBw4BIwU4ASMTFxwBMQclLwEHFyImJy4BNTcnJjY3PgEzNzIWHwEWFCMHFAYPASIwMTcXBz8BJwcYAgMBAwMB0AIHAwIBA/4wAQMCAbsCAwH+cAMDAgcDAZACAgEEAf5ZAwUBAQQDAacEBgEBBAP+WQEBCgIDAQIBDRcFAwFoAwUBDw8FA/50KxYMAXoPDv6nBgEEAQEBHAQBAQEEAQEJAwUBCQ0BAQIDAf7JASEEGgEjDAn4IQIDAQIBCAMBAgEBAwKsBAQBBgEBDAQDqwENAweaCwWcEwEBAwcCAdYCAgMHAv4qAQEqAgEBgAIHAwIBA/6AAgcDAQKQBAMDBgFyAQQDAwdyAZwBAQIDAqLXAwQVBQOA8QMFHQF5z5gc6HYT/rkCAQIEAoGcAgMCAQEEBANavgIDAQIBDQEglQEBdwy1UQTeAQIBBAJMZQEEAQEBAQQENwEBaQMEARKyXUMRYS8BABIAAP/gAgAB4AAQABUAJAAzAEIAUQBeAGsAeACFAJIAnwCsALkAxgDTAOAA7QAABSEiJjcDPgEzITIWFwMWBiMlIQMhAyUhIiY3JjYzITIWBxYGIychIiYnPgEzITIWFw4BIwMiJicTJjYzMhYXAxYGIzchIiYnPgEzITIWFw4BIwEOASMiJjcmNjMyFhczFgYjIiYnPgEzMhYHMw4BIyImNyY2MzIWFzMWBiMiJic+ATMyFgczDgEjIiY3JjYzMhYXMxYGIyImJz4BMzIWBwcOASMiJjcmNjMyFhczFgYjIiYnPgEzMhYHMw4BIyImNyY2MzIWFyEWBiMiJic+ATMyFgczDgEjIiY3JjYzMhYXMxYGIyImJz4BMzIWBwH3/hEDBgEBAQQFAe0FBAEBAQYD/hkB3wH+IwEB3/4hAgYBAQYCAd8CBgEBBgIB/iMEBAEBBAQB3QQEAQEEBPcEBAEBAQYCBQQBAQEGA/f+IwQEAQEEBAHdBAQBAQQE/lYBBQYDBwEBBwMGBQEqAQgDBQYBAQYFAwgBKwEFBQQHAQEHBAUFAZUBCAMFBgEBBgUDCAErAQUFBAcBAQcEBQUBKgEHBAUFAQEFBQQHAVQBBgUDCAEBCAMFBgEpAQcDBgUBAQUGAwcBLAEFBgMHAQEHAwYFAf6/AQcEBQUBAQUFBAcBLAEGBQMIAQEIAwUGASkBBwMGBQEBBQYDBwEgBQMB8AMFBQP+EAMFEQHe/iLnBQMDBQUDAwWlBQMEBAQEAwX+awUEAd4EBQUE/iIEBZ0FAwQFBQQDBQEuBQYGBQQGBgQFBgYFBAYGBAUGBgUEBgYEBQYGBQQGBgQFBgYFBAYGBAUGBgUEBgYE+AQGBgQEBgYEBAYGBAQGBgQEBgYEBAYGBAQGBgQEBgYEBAYGBAQGBgQEBgYEBAYGBAAAAAALAAD/4AIAAeAAEAAVACQAMwBCAE8AXABpAHYAgwCQAAAFISImNwM+ATMhMhYXAxYGIyUhAyEDASEiJjcmNjMhMhYHFgYjByEiJic+ATMhMhYXDgEjNyEiJjcmNjMhMhYHFgYjJRYGIyImJz4BMzIWBzMOASMiJjcmNjMyFhczFgYjIiYnPgEzMhYHBw4BIyImNyY2MzIWFzMWBiMiJic+ATMyFgczDgEjIiY3JjYzMhYXAff+EQMGAQEBBAUB7QUEAQEBBgP+GQHfAf4jAQHf/iECBgEBBgIB3wIGAQEGAgH+IwQEAQEEBAHdBAQBAQQEAf4hAgYBAQYCAd8CBgEBBgL+VAEHBAUFAQEFBQQHASwBBgUDCAEBCAMFBgEpAQcDBgUBAQUGAwcBVAEFBgMHAQEHAwYFASoBCAMFBgEBBgUDCAErAQUFBAcBAQcEBQUBIAUDAfADBQUD/hADBREB3v4iAYwFAwQEBAQDBbYFAwQFBQQDBVMFAwMFBQMDBZkFBgYFBAYGBAUGBgUEBgYEBQYGBQQGBgS6BAcHBAQGBgQEBwcEBAYGBAQHBwQEBgYEAAAACgAA/+ACAAHgABAAFQAkADMAQgBRAGAAbwB+AI0AAAUhIiY3Az4BMyEyFhcDFgYjJSEDIQMBISImNyY2MyEyFgcWBiMHISImJz4BMyEyFhcOASM3ISImNyY2MyEyFgcWBiMnIyImJz4BOwEyFhcOASMXIyImNyY2OwEyFgcWBiMHISImJz4BMyEyFhcOASMHIyImNyY2OwEyFgcWBiMnIyImJz4BOwEyFhcOASMB9/4RAwYBAQEEBQHtBQQBAQEGA/4ZAd8B/iMBAd/+IQIGAQEGAgHfAgYBAQYCAf4jBAQBAQQEAd0EBAEBBAQB/iECBgEBBgIB3wIGAQEGAjQhBQQBAQQFIQQEAQEEBAEjAwYBAQYDIwIGAQEGAhL+qwQEAQEEBAFVBAQBAQQEZvACBgEBBgLwAwYBAQYDAe4EBAEBBATuBQQBAQQFIAUDAfADBQUD/hADBREB3v4iAXsFBAMFBQMEBaUFAwQFBQQDBWMFBAMFBQMEBWMFBAMFBQMEBaUFBAMFBQMEBWMFAwQFBQQDBWMFAwQFBQQDBUIFAwQFBQQDBQAAAAwAAAALAgABtQAQABUAJAA1ADoASQBWAGMAcAB9AIoAlwAANyMiJjcDPgE7ATIWFwMWBiMnMwMjAxMjIiY3JjY7ATIWBxYGIwEjIiYnEyY2MyEyFgcTDgEjJzMTIxMTIyImJz4BOwEyFhcOASMlDgEjIiY3JjYzMhYXMxYGIyImJz4BMzIWBzMOASMiJjcmNjMyFhczFgYjIiYnPgEzMhYHMw4BIyImNyY2MzIWFzMWBiMiJic+ATMyFgf37wMGAQEBBAXtBQQBAQEGA+ffAd0B398CBgEBBgLfAgYBAQYCAQf/BAQBAQEGAgEBAwYBAQEEBfbuAfAB7u4FBAEBBAXuBAQBAQQE/lYBBQYDBwEBBwMGBQEqAQgDBQYBAQYFAwgBKwEFBQQHAQEHBAUFAZUBCAMFBgEBBgUDCAErAQUFBAcBAQcEBQUBKgEHBAUFAQEFBQQHAQsFAwGaAwUFA/5mAwURAYj+eAEzBQMEBQUEAwX+vAUDAZoDBQUD/mYDBREBiP54ATMFAwQFBQQDBS8FBgYFBAcHBAUGBgUEBwcEBQYGBQQHBwQFBgYFBAcHBAUGBgUEBwcEBQYGBQQHBwQAAAAABwAA/+ACAAHgABAAFQAkADMAQABNAFoAAAUhIiY3Az4BMyEyFhcDFgYjJSEDIQMBISImNyY2MyEyFgcWBiMBIiY3Az4BMzIWBxMOASMDDgEjIiY3JjYzMhYXMxYGIyImJz4BMzIWBzMOASMiJjcmNjMyFhcB9/4RAwYBAQEEBQHtBQQBAQEGA/4ZAd8B/iMBAd/+IQIGAQEGAgHfAgYBAQYC/uUCBgEBAQQEAwYBAQEEBZABBQYDBwEBBwMGBQEqAQgDBQYBAQYFAwgBKwEFBQQHAQEHBAUFASAFAwHwAwUFA/4QAwURAd7+IgGMBQMEBAQEAwX+awUEAd4EBQUE/iIEBQHLBQYGBQQGBgQFBgYFBAYGBAUGBgUEBgYEAAAADwAA/+ACAAHgABAAFQAkADUAOgBJAG4AfwCEAJEAngCrALgAxQDSAAAXIyImNwM+ATsBMhYXAxYGIyczAyMDEyMiJjcmNjsBMhYHFgYjASMiJicTJjYzITIWBxMOASMnMxMjExMjIiYnPgE7ATIWFw4BIwMiJicuATcmNjc+ATMyFgcWBiMiBgcOARcGFhceATMyFgcWBiM3IyImJzcmNjsBMhYHFw4BIyczNyMXAxYGIyImJz4BMzIWBzMOASMiJjcmNjMyFhczFgYjIiYnPgEzMhYHMw4BIyImNyY2MzIWFzMWBiMiJic+ATMyFgczDgEjIiY3JjYzMhYX9+8DBgEBAQQF7QUEAQEBBgPn3wHdAd/fAgYBAQYC3wIGAQEGAgEH/wQEAQEBBgIBAQMGAQEBBAX27gHwAe7uBQQBAQQF7gQEAQEEBPcfMxUTGAEBGBMVMx8DBgEBBgMbLhMQFQEBFRATLhsDBgEBBgOZmQQEAQEBBgKbAwYBAQEEBZCIAYoBvQEHBAUFAQEFBQQHASwBBgUDCAEBCAMFBgEpAQcDBgUBAQUGAwcBlwEGBQMIAQEIAwUGASkBBwMGBQEBBQYDBwEsAQUGAwcBAQcDBgUBIAUEAe4EBQUE/hIEBREB3v4iAYkFAwQFBQQDBf5mBQQB7gQFBQT+EgQFEQHe/iIBiQUDBAUFBAMF/qMXFBQ2Hh42FBQXBQMEBRQSETAbGzAREhQFBAMFOgUEqwMFBQOrBAUSmZkBSAQHBwQEBwcEBAcHBAQHBwQEBwcEBAcHBAQHBwQEBwcEBAcHBAQHBwQEBwcEBAcHBAAAAAAOAET/6QG8AdcAKgBTAGIAZwB2AHsAkgCpAMAA1wDrAP8BEwEnAAAlIiYnLgE1NDY3PgE3OAExNDY3PgEzMhYXHgEVOAExHgEXHgEVFAYHDgEjESIGBw4BHQEHDgEHDgEVFBYXHgEzMjY3PgE1NCYnLgEvATU0JicuASMnIiY9ATQ2MzIWHQEUBiMnMxUjNRciJj0BNDYzMhYdARQGIyczFSM1FyImJyY2PwE1NDYzMhYdARQGDwEiBiMHIiYnJjY/ATU0NjMyFh0BFAYPATAiIycqASMnLgE9ATQ2MzIWHQEXHgEHDgEjNyImLwEuAT0BNDYzMhYdARceAQcOASMXIiY9AScmNDc2Mh8BHgEdARQGIxciJj0BJy4BNz4BHwEyFh0BFAYjJSImPQE0Nj8BNjIXFhQPARUUBiMHIiY9ATQ2PwE2FhcWBg8BFRQGIwEEGCoPEBIEBAQMCA0LDB4RER8LCw0IDAQEBBIQDyoYDhgJCQoCCAsDBAQPDg0kFBQkDQ4PBAMECwgCCgkJGA4eAwUFAwQFBQQIERFNBAUFBAMFBQMJERExAgQBAgIDKAUEBAUDAiwBAwEFAgUBAQMETgUDBAUDA1QCAZoBAQFWAgQFBAMFUAMEAQEFAggBAgIqAgIFAwQFJgMCAgEEAtUDBT4DAwIHA0ABAgUEIgMFYAMDAgEGBGQDAwUE/s0EBQIBOQMHAwICNwUEMwQFAwNqBAYBAgMDZgUDLxIQDyoYCxYKChMIEiEMDA4ODAwhEggTCgoWCxgqDxASAQsMCQoaDwcDBxAJCRMKFCQNDg8PDg0kFAoTCQkQBwMGDxsKCQwEBQMjAwUFAyMDBQgREQgFAyMDBQUDIwMFCBERSQICAwcCGakDBQUDrgIEARwBFwMDAwYCG6wDBQUDsgMEAR4DGwEEA7IDBQUDrBgBBgQDAxUBARoBBAKuAwUFA6kYAgcDAgLzBQOaPwIHAwICQgEDAp0DBSIFA88nAQYEAwMCKQUC1QMFIgUDnQIDAT4DAgMHAjyaAwUiBQPVAgUBKQEDAwMHASfPAwUAAAAAAwCt/+YBUwHaAA4AJwBAAAAFIiY1ETQ2MzIWFREUBiMRIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIwEABAUFBAQFBQQQHQwMDgwMCx4SEh4LDAwODAwdEA0XCgkLCQkJGA8PGAkJCQsJChcNGgUDAQUDBQUD/vsDBQELDAwNJRoYLxMTGBgTEy8YGiUNDAzYFBAQKhYTHgsLDAwLCx4TFioQEBQAAAAACQAEAB4B/AGiAEEAdgB8AI4AoACyAMEA0ADfAAAlIyImJwEuATU0NjcyNjc+ATMyFhceARceARUGFhceARceARceATsBMhYXHgEXHgEXHgEXHgEXMzIWFx4BHQEUBiMnMzU0JicuASsBIiYnLgEnLgEnLgEnLgEnIiYnLgEnLgEnLgE3NCYnLgEjIgYHDgEHDgEHATcjJzcXMyUiJicmNj8BNhYXFgYPAQYiIxciJicmNj8BNhYXFgYPASoBIxciJicmNj8BNhYXFgYPATAiIycjIiY1NDY7ATIWFRQGIxcjIiY1NDY7ATIWFRQGIxcjIiY1NDY7ATIWFRQGIwHzvgEEAf7wAQEBAQFUCgwWBwgPBgMGAQIBAQICAgcEChgNDRkKAwMEAQMHBAMJBAQHAwQHAzkMFwgJCgUEurIHBgYQCj8CBAEECAQDCAQEBwQDBgMMHA4OGwoGCAMDAgEEBQIIBgcPBwQYDQ4aBwEHu7n9DPiy/t8DBAEBAwOCBAYBAQIEggEBAR4CBQEBAwNzAwcBAQMDcwEBAR4CBQEBAwNaBAYCAQMDWwIBzzMEBQUEMwQFBQQiVQQFBQRVBAUFBDOIBAUFBIgEBQUEHgEBAQkCAwIBBAFOCg0HBgYECgUGCwYFCwUFCQUKEAYFBgMCBhAKCRYLCBIJCRIICwkJGQ4aAwUREQkSCAcJAwIJEwoJFAkKEwkIEAYHBgcRCwYNBwYOBwgQBQIFCAcEFg0NGAf/ABP/DPpbAwMDBgIwAQMDBAYBMAEeAwMDBgIpAQMDBAYBKh4DAgQGASMBAgQDBgIjNAUEAwUFAwQFIgUEAwUFAwQFIgUEAwUFAwQFAAAAAAYAjf/gAXMB4ABRAIsAjwCeALgA0AAAJSMiJjU8AScuAScuATUuATU0Njc+ATUuAScuATc+ATsBMhYVFBYXHgEzMjY3PgE1NDY7ATIWFxYGBw4BBxQWFx4BFRQGBxQGBw4BBwYUFRQGIyczNDY1PgE1PgE3PgE1LgE1NDY3PgE3Iw4BBw4BIyImJy4BJyMeARceARUUBgcUFhceARcUFhcUFhUnMwcjFyMiJjU0NjsBMhYVFAYjFyMiJi8BBw4BKwEiJj0BNDY7ATIWHQEUBiMnMzUjFTM3JyY0Nz4BHwE3PgEXFhQPARcBYMAEBQEBAQEBAwEBAQEFAwEDAgMCAQEEAzUDBQkGBxAICBAHBgkFAzUDBAEBAgMCAwEDBQEBAQEDAQEBAQEFBLiwAQECAQIBAQEGBAQCAgIBJAEKCAgWDg4WCAgKASQBAgICBAQGAQEBAgECAQEKzQvCvKsDBQUDqwMFBQMINwIDASIdAQMCOQQFBQS7BAUFBDQsqy0aEQMCAwcCEg0DBwIDAwwfvgUDBg4HBxAICRMJChIJAQMCBRUNDRsMEhYGAwQFBBApEhEYGBESKRAEBQQDBhYSDBsNDRUFAgMBCRIKCRMJCBAHBw4GAwURBgwGBw0HCREJCRAICBgNDh4PCRIGESsTExsbExMrEQYSCQ8eDg0YCAgQCQkRCQcNBwYMBiIRdwUDBAUFBAMFiQEBHh0CAQUEqgQFBQSqBAURmpoaDwIHAwIBAw8OAgEDAggCDRsABABs/+ABlQHgACIALQBxAJYAAAU4ATEjIiYvAQcOASsBIiYnLgE/AT4BOwEyFhUXFBYxFAYjJzMnIwczNzYyHwE3IyImJy4BNTc0Njc+AScuAScuATc+ATsBMhYdARQWFx4BMzI2Nz4BPQE0NjsBMhYXFgYHDgEHBhYXHgEVFxQGBw4BIyczJy4BNz4BNyMVFAYHDgEjOAE5AiImJy4BPQEjHgEXFgYPAQGMdwIFAQ0OAQQDdgIDAQIBARMBBATwAwUUAQYDcWcS4RFnEwIMAhNc7wIDAQEBFAEBDAYEAxYSAQEBAQQDSAQFBgcGEQsODwQEAQUEUQIFAQEBAhEWBAQHCwECFAEBAQQC5dwTDAkDAhMQNwUHBxUPDxgICAkuDxMDAgkMEiADAiMjAgMCAQEEAqoDBQUDqAECBAURmpoxBQUxmgECAQMCpAICAQsiFBUrFAIFAgIDBQQKDBgJCgsRDAsWBAoEBQMCAgUCFCsVFCILAQICpAIDAQIBEZcNJBUULBYCDx4MDA4ODAwdEAIWLBQVJA2XAAAAAAQAAv/6Af8BxgBJAGYAcQCuAAAFISImPQEHBiYvASY2PwE+ATsBMhYVFAYrAQcXNzYyFx4BFREhNTQ2NzYWHwE3JyMiJjU0NjsBMhYfAR4BDwEOASMqAS8BFRQGIwMiJi8BLgE9ATQ2Nz4BMzIWFx4BHQEUBg8BDgEjJxc3NTQmIyIGHQETIiYnLgE1NDYzMhYVFBYXHgEzMjY3PgE1NCYnLgErASImPQE0NjsBMhYVFAYrARUzMhYXHgEVFAYHDgEjAab+vAQFHwMHAiwCAQJoAQQBPgMFBQM6YSMmAgUCAgIBNAICAgUCIiBmLgMFBQMyAQQBbAIBAScBAwICAwIcBQSiAgMBTAIBDwwMHhAQHgwMDwECTQEDAURERCcdHSc/DRUICAkFAwQFBgYGDwkOEAUEAwMFBA8LOwMFBQNeBAUFBFUyERYGBgQICAcWDgYFBPgUAgEDRAIGAmsBAgUEAwVkNhgCAQEEA/8A/gIEAQIBARg4ZAUDBAUCAWsCBQNGAQMBFPUEBQFNAQE9AQQCEQkPBQYFBQYFDgoRAgQBPQEBSjc3DQcQEAcN/s0HBgYRCgMFBQMGCwQEBAkGBw8GDhEFBQQFAyIEBQUEAwURCQgIFg8OFwcICAAABAAt/+IB0wHeABgAMQBcAIEAACUiJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjESImNTQmJy4BJy4BJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BBw4BBw4BFRQGIxEiBgcOARUUFhceARceARceARc+ATc+ATc+ATc+ATU0JicuASMBAA8bCgkMDAkKGw8PGgoKCwsKChoPDBQIBwkJBwgUDAsUCAcJCQcIFAsEBQ0LCx4RFSsRERYfHRxNLi5NHB0fFhERKxURHgsLDQUEK0caGhwUEBApFQwYCwoRBgYRCgsYDBUpEBAUHBoaRyvqDAoKGg8PGgoKDAwKChoPDxoKCgyACAgHFQsLFQcICAgIBxULCxUHCAj+eAUEER4NDhkOESYXFzolKUYZGR0dGRlGKSU6FxcmEQ4ZDg0eEQQFAesaFhdAJiI1FRYkEQoUCwoXDAwXCgsUChEkFhU1IiZAFxYaAAkAU//6AasBxAAQABUAJgArADoASQBgAG0AegAABSMiJjURNDY7ATIWFREUBiMnMxEjERMjIiY9ATQ2OwEyFh0BFAYjJzM1IxUXIyImNTQ2OwEyFhUUBiMVIyImNTQ2OwEyFhUUBiM3IiYvASY0PwE+ARceAQ8BFxYGBw4BIycUBiMiJjU0NjMyFhUHFAYjIiY1NDYzMhYVARe8AwUFA7wDBQUDs6qqbzQDBQUDNAMFBQMrIiJmqgQFBQSqBAUFBKoEBQUEqgQFBQSXAgMCgQIBLAIHAwICAih9AwEDAQMBFwcEBQYGBQQHFgYEBQYGBQQGBgUEAUQEBQUE/rwEBREBNP7MATQFA1UEBQUEVQMFEUREZwUEAwUFAwQFmQUDBAUFBAMFkAECkwIGA0EDAQICBwM7jwMHAgEB0gUGBgUEBgYEKwQHBwQFBgYFAAAAAAUADv/gAfIB4AAWAC0AVgB/AQoAABMiJi8BJjQ/AT4BFx4BDwEXFgYHDgEjISImJy4BPwEnJjY3NhYfARYUDwEOASMHIiY9ATQmJy4BIyIGBw4BHQEUBiMiJj0BNDY3PgEzMhYXHgEdARQGIxciJj0BNCYnLgEjIgYHDgEdARQGIyImPQE0Njc+ATMyFhceAR0BFAYjAyMiJicuAScuAScuAScuATU0Njc+ATM2Fh8BNTQ2Nz4BMzIWFx4BHQEUBiMiJj0BNCYnLgEjIgYHDgEdARQGBwYmLwEuAQciBgcOARUUFhceARceARceARceATsBPgE3PgE1ETQmJy4BIyIGBw4BHQEUBiMiJj0BNDY3PgEzMhYXHgEVERQGByoBI0ACBAErAQErAgcDAwECJycCAQMBAwEBgAEDAQMBAicnAgEDAwcCKwEBKwEEAqoEBQUEBAoEBQkDAwQFBAMFBgYGDgkIDwcGCAUDRAQFBAQDCQUFCgMEBAUDBAUHBgYPCQgQBgUHBQMmeRIgDg4aDAQJBAQIBAQFBQYGDwgIDwYiBwYGEAgJDwYGBwUEAwUEBAQJBQUJBAMEAwMCBQIxBAgFBQgEAwMEAgQIBQQJBQoXDQ0bD3YFIBESHAUDBAkFBQkEAwUFAwQFBwYGDwkJDwYGB20DAQEBATQCAj0CBgI9AwECAgcCOTgDBwIBAQEBAgcDODkDBgIDAgM9AgYCPQICKQUDpgQIAwMEBAMDCASmAwUFA6YIDgUGBgYFBg4IpgMFIgUDpQQIBAMDAwMDCASmAwUFA6YHDgYFBwcFBg4IpQMF/vcbFRU0GgoTCQgOBQYPCAcPBgYGAQYFI9cIDgYFBwcFBQ8HbwMFBQNvBAgDAwQEAwMJBOwCBAEBAQEyAwMBAwQDCQUFCQQFDwkIFAsWMBQUGwIQDg4pGwEWBAgDAwQEAwMIBJkEBQUEmQgOBQYGBgYFDwf+6kM+AgAAAAAMAAn//wH3AcEARQBhAKoAuQDSAOsBCgEsAVQBdgGbAaoAADcqASMuAScuAScmNjc2MhceARcWNjc2FhceARcUBiMiJjUuAScuAQcGIiMiJiceARceARcWNjc+ATc+ARceAQcOAQcOASMXIiYjLgE3PgE3PgE3NhYXFgYHDgEHDgEHDgEjByImNTwBNSY2Nz4BNz4BNz4BNz4BFx4BBw4BBw4BBw4BIy4BJy4BNz4BFx4BFzI2Nz4BNz4BNw4BBw4BBw4BBw4BFRwBFRQGIwciJj0BNDYzMhYdARQGIxMiJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjNyImNTQmIyIGFRQGIyImNTQ2Nz4BMzIWFx4BFRQGIxciJicmNjc+AScuAQcGJicmNjc+ARceARceAQcOAQcOASMHIiYnLgE3PgEXFjI3PgE3NjQnNCYnLgE3PgEXHgEXFgYHDgEHDgEjByImJy4BNz4BNzYWFxYGBw4BBxwBFx4BNzYWFxYGBw4BIycqAScuAScmNjc+ATc2FhceAQcOAScmBgcOARcUFhceAQcOASMBISImNTQ2MyEyFhUUBiOhAgQBFiYPEBcGAQECAgYCCRQNDiEWGCUMDQ0BBQMEBQEJCQofFhAcCwwUCAcUDAwbDggPCAcPBwIHAwIBAwcQCQgRCY4BAgEDAgEJGA8OIBEDBgICAwMQHg4NFggBBAI2AwUBAwgIJCIhMxMTGwoCBQMDAwEBDA0NKx8LFgsMGAwDAgECBwMKFAoJEgkUIAwMEgULHBISLRsdHwcIAQUEAgMFBQMEBQUEAgoSBgcHBwcGEgoKEgYHCAgHBhIKBgwEBAUFBAQMBgcLBAUFBQUECwcVAwUIBQUIBQMEBQUEBAsGBgsEBAUFBD0CBAECAQMEAgMDCwQDBwICAQMFDAUGCgQDAwEBBgUBAwEDAwYDAwMBAgYEAgUCAwMBAQEEAgQCAQIGAwYIAgMBAgIJBQMGApkIDgQDAgICBwUDBwIBAQQCAwECAgoFAwcCAQIDAwgDCwECAQUHAgEBAwMJBgUMBgMCAgIHAwQLAgEBAQMDAwICAQQDAUv+IgMFBQMB3gMFBQOLAhoRESQLAwYCAgEGBgECAQEBDAsKGw4EBQQECRUICQsBAQICCxoLCxACAQMEAwwIAwEDAgcDCQ0EBQQoAQIHAxEaCgsRCAECAwMHAQgRCQoXDwIDVQUEBAgEGDMYGCYLChIJCBUNAwEBAQUDBzwlJEYQBgUBBgYCBwMDAgEGBQEEBQoqGho4GQoPCAcPCAohFBUwGAQIBAQFBgUD7wQFBQTvAwUBFQgGBxIKChEHBwcHBwcRCgoSBwYIUAUEBAwGBwsFBAUFBAULBwYMBAQFLQUEBQgIBQQFBQQGCwQEBQUEBAsGBAU1AgIDBwIDCgUEAgMCAQMDBwIDAwEBBgUFDAYFCgQBAVcBAgEHAwMDAgEBAQQCAgYCAgQBAQcDAwMBAwgGBQwGBQgDAQEICAcGCwYGCQMCAgMDBwIBBAIDBQIFAwMCAgMEBgICAlcBAwkGBgsFBgcBAgEDAgcDAwICAgIFAgUDAgQBAgcDAgL+ogUEAwUFAwQFAAAAAgAR/+AB7wHgACQAPQAABSEiJjcnPgEzITchIiY3Az4BMyEyFhcHFgYjIRchMhYXAxYGIyUhAyEiJic3JjYzISchAyEyFgcXDgEjIQcB5v4zAwYBAQEEBQFLAf6zAwYBAQEEBQHLBQQBAQEGA/6iAQFcBQQBAQEGA/47Ab0B/qMFBAEBAQYDAV8B/kUBAU4CBgEBAQQE/rQBIAUEiAQFIgUDATMEBQUEiAQFIgUD/s0EBREBIgUEMwMFeP7eBQQzAwV4AAYAN//tAckB0wA0AIsAsgDBAMYAywAAFyImLwEOAQcOARUUBiMiJjU0Njc+ATMyFh8BNz4BMzIWFx4BFRQGIyImNTQmJy4BJwcOASM3IiYnLgEnLgEnLgE9ATQ2NzU0NjMyFh0BFAYjIgYdARQWMzIWFRQWFx4BMzI2Nz4BNTQ2MzI2PQE0JiMiJj0BNDYzMhYdAR4BHQEUBgcOAQcOAQcOASMDIiYjLgE/AT4BNzoBHwE3NjIzHgEfARYGBwYmLwEHBiIvAQcOASMpASImNTQ2MyEyFhUUBiMHMxUjNTsBFSM1/wEDAWgPGwoKCwUEBAUPDQ0iEwIDAWRmAgICEyINDQ8FBAQFCwoKGw9qAQICAhUnDw8VAQgLBAMEBQwFBAQFBQQFBAkMAwURDQ0jEhIjDg4RBQQLDQMFBAUFBAMFDQUFBAQNCAIVDxAoFXcBAQEDAwE2AQMCAQQCOzsCBAECAwE3AgMDAwcBNDcCBgI3MgEEAwEM/swDBQUDATQDBQUD3jMzVTMzEwEBUwEMCgsbEAMFBQMUIg0MDwEBUVEBAQ8MDSIUAwUFAxAbCwoMAVMBAVUSDw8nFQIKBwcNBhgGFgMyBAUFBDkEBQUKGAUYBQQSJA0OEREODiMSBAUXBhgKBQUEOQQFBQQyAxYGGAUOBgcLAhUnDw8SAQIBAQcDfgICAQEoKAEBAgJ+AwcBAQIDdSUCAiV1AgMFBAMFBQMEBSIRERERAAkAKv/iAdYB3gAwAGcAiwCvAMgA1QDuAPsBJAAABSImJy4BJw4BBw4BIyImJy4BJy4BJyY2Nz4BNz4BMzIWFx4BFR4BBw4BBw4BBw4BIycGFhceATMyNjc+ATc+ATc2JicuAScuASMiBgcOAQcOARceARceARceATMyNjc+ATcmNjMyFhcDIiY3JzwBNz4BMzIWFx4BBxYGIyImJzYmJy4BJxcUBgcyIjMhMiIzLgE1Nw4BBw4BFw4BIyImNyY2Nz4BMzIWFxYUFQcWBiMHIiYnLgEnPgE3PgEzMhYXHgEHFgYHDgEjNyIGBx4BMzI2JzYmIxciJicuASc+ATc+ATMyFhceAQcWBgcOASM3IgYHHgEzMjYnNiYjByImJy4BJzcmNjMyFhcHHgEXHgEzMjY3PgEnNyY2MzIWFwcWBgcOASMBcA0hDxAaCQccDhEfDwoXCQsRCAgNAgMDBAIbGxpOMTNMHBkdBgEBBAsKBhMJChUNZgERDQ8lFggUBwkOBggLAQMDAwgiGRhCJCZAGhckBgUBAQMJCgQQBwkSChQnDQ8PAQEGAwUEAZACBgEuAgEEARQiDw0RAQEGAgUEAQEMCQsYDioCBQEDAQELAQMBBQIqDhgLCQwBAQQFAgYBARENDyIUAQQBAi4BBgLgBgwDBgMBAQMGAwwGBwoGAwUBAQUDBgoHAQUJAQEJBQILAQELArEFDAQFAwEBAwUEDAUICgUEBQEBBQQFCggBBAkBAQkEAwsBAQsDVQsXBwkJAQEBBgMEBAEBAQYHBRAICg4HBQgBAQEGAgUEAQEBCwcJFQ0eAQQDEA4OEAMEAQUFBQ4JDB0RECQTBF43NllZNjdeBBMkEBEdDAkOBQUFTBUXBgYDBAQEDAgKGg4PIBEdYC4uQkIuLmAdESAPDhoKCAwEBAQDBgYXFQMFBQMBAwMDnAIEAQICFxAQIQoDBQUDBhcMDRUEjwQGAQEGBI8EFQ0MFwYDBQUDCiEQEBcCAgEEApwDA4YIBwcUCwsUBwcICAcHFAsLFAcHCFkTERISEhIRE1kIBwcUCwsUBwcICAcHFAsLFAcHCFkTERISEhIRE98ICAcTCwwEBQUEDAcNBQUGBgUFDQcMBAUFBAwLEwcICAAAAAYARP/gAbwB4AAQABUAQACHAM4A1AAABSEiJjURNDYzITIWFREUBiMlITUhFSUiJj0BNCYnLgErASIGBw4BHQEUBiMiJj0BNDY3PgE7ATIWFx4BHQEUBiMFPAE1NzYyMR4BMzI2NTQmLwEuAScuATU0Njc+ATMyFhceARcWFA8BBiIxLgEjIgYVFBYfAR4BFx4BFRQGBw4BIyImJy4BJzM8ATU3NjIzHgEzMjY1NCYvAS4BJy4BNTQ2Nz4BMzIWFx4BFxYUFQcGIjEuASMiBhUUFh8BHgEXHgEVFAYHDgEjIiYnLgEnNzUjFTM1AbP+mgQFBQQBZgQFBQT+ogFW/qoBTQMFFRMSMx4WGzQVFRoFAwQFGhYWPCIWIjkVFBgFBP7gDAEBBg4ICQkHCgUIDQQFBAUFBQ4JBQoFBAkDAQEJAQEHDAYHCAgJBggNBAQEBQUGDwsGDAUGCQNbDAEBAQUOCQgJBwoFCA0EBAUFBQUOCQUKBQUIAwEKAQEGDQYHBwcJBggNBAQFBgUFEAoHDAUFCQR4EUQgBQQBAAMFBQP/AAQFEe/v+AUDXBwwEREUEhEQMR5cAwUFA1wfNRQUFxYUEzYgXAMFowEBAQ0BBQYHBQUGAQEBBQQECwcHDAUEBQIBAgQCAQEBDgEEBQcFBQYBAQEFBAQLBwcNBAUFAwICBQMBAQENAQUGBwUFBgEBAQUEBAsHBwwFBAUCAQIEAgEBAQ4BBAUHBQUGAQEBBQQECwcHDQQFBQMCAgUDBlZnEQAAAAAPACL/3QHeAeMAEAAVABoAHwAkACkALgAzAHsAwgESAVgBXQFnAYEAAAUhIiY3Jz4BMyEyFhcHFgYjJSEnIQc3IzczFyczJyMHBSM3MxcnMycjBxcjNzMXJzMnIwcnIiYnLgE3JjY3PgE3PgEnMiIzJjY7ATIWBzIiMyMeARceARceARcOAQcGJicmNjc+ATcuAScuAScOAQcOARcGFhcWBgcOASM3LgEnLgE3IjIjMy4BIyIGFw4BBw4BBw4BBwYWFxQWMzI2NzY0Jy4BNz4BNz4BNx4BFx4BFxYGBw4BFxQWMzI2Nz4BJy4BJxcwJjUuAScuATcmNjc+ATc+ATUyIjMmNjMyFhcjHgEXHgEXHgEXDgEHDgEHBiInLgE3PgEnNCYnLgEnLgEnDgEHDgEHDgEHHgEXHgEHFAYjJTAmJy4BNz4BNz4BNT4BMyMyFhcjMxQWFx4BFx4BBxYGBw4BBwYmJy4BNz4BNy4BJy4BJy4BJw4BBw4BBwYWFxYGBxQWIxczByMnNyc3JjY7AQcjByciMCciJj8BPgEzMhYVFxQGBwYmNScHDgEjAdX+VQMGAQEBBAUBqQUEAQEBBgP+XQGbAf5nAWhoAWYBV0YBRAEBAWcBZQFWRQFDAd9oAWYBV0YBRAHWAwICBQcBAQUCBAcGAgoBAQEBAQYDAQIGAQEBAQECCAQDCQIFAwEBBgcCCAEDAgEEAwEBCgcCBgEDBQMFDAEBBAIEAQECAwKRBQcEAgUBAQEBAQEEBQIGAQEDBQIJAwkPBAMEDgQBAwICAgMHBQMCDQgGCAUDCgQKCwQCBAkBAQMEAQMCAgwGBQIRB0IFBQUDAQMBAQYDBQoGBw8BAQEBBgIFBAEBAQ0JBQsDBQQCAQEDAQgDAwYEAQEDBQcBBQIECAUFCwMFCQYDCgIFAwEBBAcCAQQEAf7MBAEPAgQHEgkECgEEBQEEBAEBAQoEBwwGBQgBAQMBAwUFAgEBBAYCBgUBAQUGBAwEBAUDAgYCCw8FAwIKAgQEAQFZRQFDATQSAQEGAj0BMgELAQICBQIlAgQDAwUlAgQDBx0dAgQEIwUEiAQFBQSIBAUReHh4iIgRZmYRmZkRd3cRd3cRVVUnAQEFCwYFCgQECAMDCQIDBQUDAggDBAcEBAkGBgsFAgECAwcCAgUDBAsFAgUCAgUCBgsFAgUCAgcDAgGvBQsFBQoEBAUFBAQKBQULBQoWCwwZDAECAgECCAIIEAgIEgsHDAYGDAcLEggIEAgCCAIBAgIBDBkMCxYKggIBBAgEBAgFBwwGBQsFBxAHBAUFBAcPCAUKBQYMBgUIBAQIBAMDAgcDBQsEBAkEBAgEBQkGBgoFBAgFBAgFBAsFAwcCAQIMAQEOHA0NFgkECgMDBQUEAQoFBQ4IBxEJBQkEBQgEAwUCAwMCBgsGBg0GBgwFAwYCAgYDCxMJCRIJAgMDAQUtEREiEW8EBRF4ewEHA4oDBAQCewMHAQEEA15tAwQAABIAAQAPAmkBsQAQABUAJAAzAE0AUQBgAG8AgACFAJYAmwC1AMMA0gDhAPAA/wAAJSEiJic3JjYzITIWBxcOASMlITchFzciJjcnPgEzMhYHFw4BIzMiJic3JjYzMhYXBxYGIzcyIjMjIiY1JjY1NzQ2OwEyFhUXHgEHFgYjJzMnBxciJjcnPgEzMhYHFw4BIzMiJic3JjYzMhYXBxYGIycjIiYnNyY2OwEyFgcXDgEjJzM3Ixc3IyImJzcmNjsBMhYHFw4BIyczNyMXNzIiMyMiJjcmNjc+ATMyFhceARcUFiMWBiMnMy4BJy4BIyIGBw4BBzciJjcnPgEzMhYHFw4BIxMhIiY3JjYzITIWBxYGIwUiJjcnPgEzMhYHFw4BIzMiJic3JjYzMhYXBxYGIwJh/asEBAEBAQYCAlcCBgEBAQQE/bQCQwH9uwEHAgYBAQEEBAMGAQEBBAUkBQQBAQEGAwQEAQEBBgIYAQEBUAIFAgEpBQEBAgUnAQIBAQYDQjMaGOICBgEBAQQEAwYBAQEEBc4EBAEBAQYCBQQBAQEGAxKqBAQBAQEGAqwDBgEBAQQFoZkBmwGQiAQEAQEBBgKKAwYBAQEEBX92AXgBfwEBAYkDBgEBDgkMGhEOHAoLDAEBAQEGA4B3AwoJBxUJDBIJBwwBOgMGAQEBBAUCBgEBAQQE+P27AwYBAQYDAkUDBgEBBgP+1QMGAQEBBAUCBgEBAQQEVgUEAQEBBgMEBAEBAQYCDwUDmgQFBQSaAwURiYmRBQQzAwUFAzMEBQUEMwMFBQMzBAU8AgICBQJEAgMDAkMBAwIDBRErK+cFBIkDBQUDiQQFBQSJAwUFA4kEBZIFA0QEBQUERAMFETMzMwUDNAMFBQM0AwURIiIiBQQOGwoKDAsKChoOAQEEBREKEQcHBwcHBxEKMAUEPwMFBQM/BAX+8gUEAwUFAwQFPAUEMwQFBQQzBAUFBDMEBQUEMwQFAAAACQAAAAICUAG+ABgAMQBKAGMAlgDJAPwBLwFiAAA3IiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjESIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIxEiJicuATU0Njc+ATMyFhceARUUBgcOASMRIgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjATAmIycmIg8BDgEjIiYvASYiDwEGJicmNj8BPgEzMhYfARYyPwE+ATMyFh8BHgEHDgEjNTAiLwEmIg8BDgEjIiYvASYiDwEGJicmNj8BPgEzMhYfARYyPwE+ATMyFh8BHgEHDgEjNTAmIycmIg8BDgEjIiYvASYiDwEGJicmNj8BPgEzMhYfARYyPwE+ATMyFh8BHgEHDgEjNTAmIycmIg8BDgEjIiYvASYiDwEGJicmNj8BPgEzMhYfARYyPwE+ATMyFh8BHgEHDgEjNTAiLwEmIg8BDgEjIiYvASYiDwEGJicmNj8BPgEzMhYfARYyPwE+ATMyFh8BHgEHDgEj3i5RHh4jIx4eUS4uUR4eIyMeHlEuKkscHCAgHBxLKipLHBshIRscSyolQRkYHBwYGUElJUEZGBwcGBlBJSI7FhYZGRYWOyIhOxYWGhoWFjshAWoCAUcHEgc0BQwGBgwFNAYTBkcEBgIBAgNIBAwHBgwFNAYTBjQFDAYGDAVHAwMCAQQDAgFHBxIHNAUMBgYMBTQGEwZHBAYCAQIDSAQMBwYMBTQGEwY0BQwGBgwFRwMDAgEEAwIBRwcSBzQFDAYGDAU0BhMGRwQGAgECA0gEDAcGDAU0BhMGNAUMBgYMBUcDAwIBBAMCAUcHEgc0BQwGBgwFNAYTBkcEBgIBAgNIBAwHBgwFNAYTBjQFDAYGDAVHAwMCAQQDAgFHBxIHNAUMBgYMBTQGEwZHBAYCAQIDSAQMBwYMBTQGEwY0BQwGBgwFRwMDAgEEAwIjHh5RLi5RHh4jIx4eUS4uUR4eIwGrIBwcSyoqSxwcICAcHEsqKkscHCD+gBwYGUElJUEZGBwcGBlBJSVBGRgcAVUZFhY7IiI7FhYZGRYWOyIiOxYWGf6VASIDAxkCAgICGQMDIgECAwQGAiEDAgIDGAMDGAMCAgMhAgYEAgNWASEDAxgDAgIDGAMDIQICBAMHASICAgICGQMDGQICAgIiAQcDAwJVASICAhkCAwMCGQICIgIDAwMHASICAwMCGQICGQIDAwIiAQcDAgNVASIDAxkCAgICGQMDIgECAwQGAiEDAgIDGAMDGAMCAgMhAgYEAgNWASEDAxgDAgIDGAMDIQICBAMHASICAgICGQMDGQICAgIiAQcDAwIABAAA/+ECAAHfABAAFQBjAKsAAAUhIiY3Jz4BMyEyFhcHFgYjJSEnIQclISImNyc+ATc+ATsBMjY3PgE3NiYnLgEnJjQnLgEnLgEnPgE3PgEzMhYXHgEHFgYHDgEHFgYVDgEHDgEXHgEXHgE7ATIWFx4BBxcOASMlITcuAScuASsBIiYnLgEnJjY3PgE3MiIzPgE3PgE3LgEnLgEjIgYHDgEXBhYXHgEXIjIxHgEXHgEHDgEHDgErASIGBw4BFwcB5v4zAwYBAQEEBQHLBQQBAQEGA/47Ab0B/kUBAdb+EQMGAQEBDQwKHg1WCRIFCAgEBAEGBBEJAgEFCwIEAgEBDxANJxQWJRANEgEBBQIECQcBAgsPBgQDBgIKBgcQC1QRGQoIDAEBAQQF/hsB3QEBBwgGFQtWDxgHCQkEBQEGBBQKAQEBBQoCBAIBAQ0NCyEREx4NCw8BAQMCBAgHAQEMEQYEAwcCCwcJFhFUDBUKCAwBAR8FBDMEBQUEMwQFESIiIgUEPBAZCQkJAwQDCwYNHg8QHAoBAQEJEgkJEQkWKA8OEhEPDycVChIJCRIJAQEBChwQDx4MBwsDBAMKCQkZDzwEBRIzCxMGBwgHBQYOBg4kERIgDAgQCAgRCBIhDAwPDwwNIRMIDwgIEAgMIBIRJA4HDQYFBwcHBxMLMwAAAAAEAAAAIgIAAZYAKgBAAEoAXgAANyImNSY2NyUnJgYHDgEPAQYmJy4BPwE+ATc+ARcyFB8BFhQXDgEHBSIUIwUhIiY3Jz4BOwEyFhcHITIWBxcOASMlITchIiY3JyMHJSMiJjcmNjsBJz4BMzIWBxcOASOQAgUCAwMBXTYrZTM1Zi8DBAYDAQEEAzFpNzVqLwICPwIBAgED/pkCAgFl/hMCBgEBAQQEdgUDAQEBbgIGAQEBBAT+HgHZAf6TAwUBAWUBAW33AgYBAQYC7gEBBAUCBgEBAQQEsAMDAwcBkDYOHR8fUigDAgECAwcCAylVIB8cEAEBQAEEAgIEAZUBjgUDmgMFBQNNBQREAwURMwUDTYh3BQQDBVUEBQUEXQQFAAADAC7/5AHTAdsATQC7AOoAADciJi8BJjY3PgE3NhYXHgEfATc0Njc+ARceARceAQ8BFAYjLgE1Ny4BJy4BJyYGBw4BFQcOASMiJi8BLgEnLgEHDgEHDgEfARYGByIwIxMjMCYzLgEnNycmNDc+ATc2FhceAR8BFAYHBiY1Jy4BJy4BBw4BFQYUHwEGFgcXBhYXHgEXMzI2Nz4BNz4BNz4BNz4BNy4BJy4BIyIGDwEGIicuAT8BPgEzMhYXHgEXDgEHDgEHDgEHDgEHDgEjNyIwJyImPwE2JicuASMmBgcOAQ8BDgEjLgE/AT4BNz4BNzYyFx4BFx4BFQcWBiOYAwQCLgMDAwUMCQcRBQgJAy4oCQYIDgkHDgQGAwEdBwIFAx4BAQQBCQQFCAUDBigBCQQHCAIvAwQFAwoEBQcDAQMCLgIEAgICnnoDAQRXAQExAQUCDQcIDwgGCwEoAgQDBygBBgMFCAYEBwMBMQEBAQEBFwwPGQV2DxsNDBgJBggFBAkDBAIBAQEFAgsEBggEMgMHAwEBAzIHDgkIEAUHBAEBBAUDCQMFCAULGg4PHxMsAQICBQImAgMCBAcFBAoDBQMCGAIFBAMFAhgCBwgCCQIFCAUGDwQFAykBBgLuAwOYCBAHBgoCAwMDBAwIkaoIDQQFAwEBCAcGDwiVAwQBBgOVBAgEBAQBAQIDAggErgUHBgWUBQcCAgEBAQYEBAgFmAMHAf72AQE/QmmPCA8HBwoCAgIDBAwIfAMGAgEEA3wFBwICAQECBgIECQWQAQEBahopDg4QAhoUFTAWChQJCA8GAwoEBQkEAwQDAzEDAwIHAzEGBQYGBg8ICA4GBQ4JCBQJGjUVFRvPAQYD1AQIBAQFAQIDAgcEgAMEAQYDgAcNBAMDAQEBAQgHBhAH1AMEAAAAAwBD/+MBvQHYACgARQBkAAAlIiYjJwcGIicuAT8BJy4BNzQ2OwE3NjIfATMyFhUWBg8BFxYGBwYiIycyFh8BJyY2PwEjIiYvAQcOASsBFx4BDwE3PgEzEyMiJicuATU3PgEXMhYVBzMnNDYzNhYfARQGBw4BIwFwAQMBa2sCBgICAgEpawICAQUDhCkCDAIphAMFAQICaykBAgIBAwFwAQMBWiIBAgJZbgMEASMjAQQDblgDAgEiWgEDAVSoAQQBAQEqAQUEAwQokigEAwQFASoBAQEEAX8BUE0CAgIFA3ZIAQUDAwN+BQV+AwMDBQFHegMFAgFkAQFDZwIGATsDA2trAwM7AgUDZEEBAf8AAQIBBALPAwQBBgTExQQGAQQD0AIEAQIBAAAJAAP/4gH9Ad4AFQArAEEAVwBtAIYAkwDmATMAAAEiJicuATU0Njc2MhceARUUBgcOASMHIiYnLgE1NDY3NjIXHgEVFAYHDgEjFyImJy4BNTQ2NzYyFx4BFRQGBw4BIxciJicuATU0Njc2MhceARUUBgcOASM3IiYnLgE1NDY3NjIXHgEVFAYHDgEjByImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBhUUFjMyNjU0JiMXIiYvAS4BIyYGDwEOAQciJicmND8BNjQnLgEvAS4BNz4BOwEyNjc+AT8BPgE3PgEzMhYXHgEfAR4BFx4BOwEyFhcWBg8BDgEHDgEfARYUBw4BIycyFhceAR8BHgExNDYvASY2Nz4BPwE+ATU0JisBIiYnLgEvAS4BJw4BDwEOAQcOASsBIgYVFBYfAR4BFxYUDwEGFjEyNj8BPgE3PgEzAQkCAwEBAgIBAggCAQEBAQEDAkMBBAEBAQEBAwcCAQICAQEDAhcCAwEBAgIBAggCAQEBAQEDAlkBBAEBAQEBAwcCAQICAQEDAg8CAwEBAgIBAgcDAQEBAQEDAjwHCwQEBQUEBAsHBgsEBAUFBAQLBgYICAYFCAgFiQUOCE0IFwsMFwhLBwwGBQkDBAUYBAQEDglGEQYCAQ4UXQsWCgkOBBwDBQQDCAQECAMEBQMcBA4JChYLXRQOAQIGEkUJDgQEAQQaBQUCBwWUCA8HBw0FTQoHAQQbBAEFBREMRQkGCAtdDhsMDBEEHQMGAQEGAx0EEQwMGw5dCwgFCkYLEQUFBBkEAQIICEoFDAcHDgcBAwEBAQMCAgMBAgIBAwICAwEBAUcBAQIDAQIDAQMDAQMCAQMCAQFAAQECAwECAwEDAwEDAgEDAgEBBAEBAgMBAgMBAwMBAwIBAwIBAUcBAQEDAgIDAQICAQMCAgMBAQEbBQQECwcGCwQEBQUEBAsGBwsEBAUsCAUGCAgGBQjuBwdCBwcBBwc7BgYBAwQGFA1NDBoMDBQGMgwTBQUMCQcIFAthCA0EBAQEBAQNCGELFAgHCQwFBBMMMAYVDAwaDFgOEwYDBHADAgMHBEIJAQELDFgOIA8OGQgwBgkBAQQLCQkYD2AMCAEBCAxgDxgJCQsEAQEJBzIHGQ8OIA5NDQsDBjsFBgIDAgAAAAMABABGAfwBegAWACUANAAANyImLwEmND8BPgEXHgEPARcWBgcOASMlISImNTQ2MyEyFhUUBiMFIiY1ETQ2MzIWFREUBiOFAgMCbwICbwMHAgMBA2trAwEDAQMBAW7+IgMFBQMB3gQFBQT+GgQFBQQDBQUDUwEChQIGA4QDAQMCBwN/fwMHAgEBhAUEBAUFBAQFkQUEASIEBQUE/t4EBQAEACX/5AHbAdsAGAAcADUAOQAAFyImIy4BNRE0Njc2MhcFHgEVFAYHBSIGIxMRLQETKgEnLgE9ATQ2NzYyHwEeARUUBg8BBiIjNxU3Jy0BAgECAgICAgQCAaYCAgIC/loBAgEJAYz+dDsBAgECAgICAgQCzwICAgLPAQIBCbOzHAEBBAMB5gMEAQEB9AEEAgIEAfQBAeH+NuXl/qgBAQQC1gIEAQEBagEFAgIEAmoB0LpdXQAFAAv/6wH1AdUAGAAyAEkAWABnAAABMhYXHgEVFAYHDgEjIiYnLgE1NDY3PgEzNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIzEDIiYvASY0PwE+ARceAQ8BFxYGByIGIzcjIiY1NDY7ATIWFRQGIwUiJj0BNDYzMhYdARQGIwEAL1MfHyQkHx9TLy9THx8kJB8fUy8zWSEiJiYiIVkzM1khIiYmIiFZMzUCBAE2AQE2AgcDAwECMjICAQMBAwHE7wMFBQPvBAUFBP74BAUFBAMFBQMBxCQfH1MvL1MfHyQkHx9TLy9THx8kESYiIVkzM1khIiYmIiFZMzNZISIm/rgCAUsCBgJLAwECAgcDRkYDBwIBSgUEBAUFBAQFMwUEZgQFBQRmBAUAAAIALP/iAdQB3QAYABwAABciJiMuATURNDY3NjIXBR4BFRQGBwUiBiMTES0BNQECAQIDAwICBAIBlwICAgL+aQECAQgBfv6CHgEBBAMB6gMEAQEB9gEEAgIEAfYBAeT+NObmAAAOAAD/5AIDAdwAEwAiADEAQABPAGgAgQCaALMAzADlAPcBCQEbAAAFISImNRE0NjMyFhURITIWFRQGIwEjIiY1NDY7ATIWFRQGIxUjIiY1NDY7ATIWFRQGIxUjIiY1NDY7ATIWFRQGIxUjIiY1NDY7ATIWFRQGIxciJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjFyImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBgcOARUUFhceATMyNjc+ATU0JicuASM3IiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIwcqAScuAT8BPgEXHgEPAQ4BIwciJicmNj8BNhYXFgYPATAGIwciJiMuAT8BPgEXHgEPAQ4BIwHv/hoEBQUEAwUB3gMFBQP+RCIDBQUDIgQFBQQiAwUFAyIEBQUEIgMFBQMiBAUFBCIDBQUDIgQFBQRHChMHBwgIBwcTCgsTBgcICAcGEwsHDAUEBgYEBQwHBw0EBQUFBQQNB9YLEwcHCAgHBxMLChMHBwgIBwcTCgcNBAUGBgUEDQcHDAUEBgYEBQwHgAsTBwcICAcHEwsKEwcHCAgHBxMKBw0EBQYGBQQNBwcMBQQGBgQFDAdsAQIBAwICVwEHAwMCAVcCBAK/AwQBAQMDgAQGAQEDBIABAXECAgEDAQIvAgcDAwECMAEDAhwFBAHmBAUFBP4iBQMEBQGaBQMEBQUEAwUzBQMEBQUEAwU0BQQEBQUEBAUzBQQDBQUDBAWkCAcHEgsKEwcHCAgHBxMKCxIHBwhVBQUFDAcHDQQFBQUFBA0HBwwFBQUVCAcHEgsKEwcHCAgHBxMKCxIHBwhVBQUFDAcHDQQFBQUFBA0HBwwFBQWVCAcHEwsKEwcHCAgHBxMKCxMHBwhWBgQFDAcIDAUEBgYEBQwIBwwFBAbwAQEHA6ADAgECBwOgAgJbBAIEBgEoAQMEAwYCJwFuAQMHAkADAQICBwNAAQIAAAAABAAJ/+gB7wHYAC4ARwBgAIkAADciJicuATU0NjsBMhYVFAYrAR4BFx4BMzI2Nz4BNyMiJjU0NjsBMhYVFAYHDgEjJSImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBgcOARUUFhceATMyNjc+ATU0JicuASMDIiYnLgE9ATQyMzoBHQEUFhceATMyNjc+AT0BNDYzMhYdARQGBw4BI5MfMxISFAUDQAQFBQQ3AhYRECoWFysREBYBIgQFBQQrAwUVExIzHgEfDBYJCAkJCAkWDA0WCAgKCggIFg0JEAYGBgYGBhAJCRAGBgcHBgYQCZAfOBUVGAUDBAUVEhMyHB4yEhIVBQMEBRgVFDghu0kvMFoSBAUFBAMFGVQpKTw3JydWIAUDBAUFBB5eLCxAYgoICBYNDBcICAoKCAgXDA0WCAgKaQcGBhAJCRAGBgcHBgYQCQkQBgYH/mIZFhY6IT8DAz8eNBMUFhUTEjMdmQQFBQSZIDkVFRgAAAIAAP/gAgAB4AAQABUAAAUhIiY3Az4BMyEyFhcDFgYjJSEDIQMB9/4RAwYBAQEEBQHtBQQBAQEGA/4ZAd8B/iMBIAUEAe4EBQUE/hIEBREB3v4iAAQAAv/iAf4B3gAYADEAQgBHAAAFIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjESIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIxMjIiY9ATQ2OwEyFh0BFAYjJzM1IxUBADRdIiMoKCMiXTQ0XSIjKCgjIl00MVYgISUlISBWMTFWICElJSEgVjFavAMFBQO8AwUFA7Oqqh4oIyJdNDRdIiMoKCMiXTQ0XSIjKAHrJSEgVjExViAhJSUhIFYxMVYgISX+pgUEuwQFBQS7BAURq6sAAAAEAAD/4AIAAeAAEAAVACYAKwAABSEiJjcDPgEzITIWFwMWBiMlIQMhAyUhIiY3Az4BMyEyFhcDFgYjJSEDIQMB9/4RAwYBAQEEBQHtBQQBAQEGA/4ZAd8B/iMBAZL+uwMGAQEBBAUBQwUEAQEBBgP+wwE1Af7NASAFBAHuBAUFBP4SBAURAd7+IkQFBAFEBAUFBP68BAURATT+zAAW////4AIBAeAABAAJAA4AEwAYAB0AIgAnACwAMQA2ADsAQABFAEoATwBtAIkAjgCTAJsAowAANzMVIzU3MxUjNSMzFSM1NTMVIzUXMxUjNRUzFSM1NzMVIzUVMxUjNRUzFSM1NzMVIzU3MxUjNRUzFSM1FTMVIzU3MxUjNRchNSEVJSE1IRUFISImJy4BPQE0Njc0NjU/ATMfARwBHQEUBgcOASMBDgExDgExFRQWFx4BMyEyNjc+AT0BPAE1JyMHJSM1MxUnMzUjFQcnNxcHJwcXBSc3JwcnNxdmREQzEREzERFERGYRERERIkVFERFFRTMSEiNERBERREQzEREz/poBZv6rAUT+vAE5/usYLBERFAMBAQGdwpoBEg8QKRf+hgEBAQESDg8lFQEVFCMNDQ+OuZMBMHh4Z1ZWsSZpJw8dTB0BoA8dTB0PJmqcERFERERERBERERERETMREUQRERFEREQREURERBERERFEREQREURERJrv7xHNzXcUEBErF9YEBQIBAQEEXV0EBAUD2BgrERATAVQBAwEC1hQlDg4REA4OJhTYAgIBV1dXVVURMzNXPkE+CS8vLwkJLy8vCT5BAAsAOv/hAcYB3wAQABUAGgAfACQANgA7AE0AXwB4AJEAAAEjIiY9ATQ2OwEyFh0BFAYjJzM1IxUVMxUjNTsBFSM1Byc3FwcnIiYnJjQ/ATYyFxYUDwEOASMFJzcXBzciJi8BJjQ3NjIfARYUBw4BIwciJicuAT8BNjIXHgEPAQ4BIxUiJicuATU0Njc+ATMyFhceARUUBgcOASMRIgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjATNmBAUFBGYEBQUEXlZWERFFERGvHwwfDCsCAwEDAysCBwMCAisBAwIBUgwfDB8uAgMBKwICAwcCKwMDAQMCwAEDAQMBAlYCBwMCAQJVAgMCKEUaGh8fGhpFKChFGhofHxoaRSgkQBcYGxsYF0AkJEAXGBsbGBdAJAF4BQRVBAUFBFUEBRFFRREiIiIiZh8MHwwGAgECBwMrAgIDBwMqAQIIDB8MHwgCASoDBwMCAisDBwIBAoABAQIHA2oDAgIHA2oBArceGhpGKCdGGhoeHhoaRicoRhoaHgFuGxgYPyQkQBcYHBwYF0AkJD8YGBsAAAoADf/5AfMBxwAlAE0AXwBxAIMAlQCnALkAywDdAAAlIyImJy4BNTQ2Nz4BMzIWFx4BFz4BNz4BMzIWFx4BFRQGBw4BIwMiBgcOARUUFhceATsBMjY3PgE1NCYnLgEjIgYHDgEPAScuAScuASMDIiYnJjQ/AT4BFx4BDwEOASMzIiYnJjQ/AT4BFx4BDwEOASMzIiYnJjQ/AT4BFx4BDwEOASMzIiYnJjQ/AT4BFx4BDwEOASMFIiYnJjQ/ATYyFxYUDwEOASMzIiYnJjQ/ATYyFxYUDwEOASMzIiYnJjQ/ATYyFxYUDwEOASMzIiYnJjQ/ATYyFxYUDwEOASMBcsAiPBYXGhoXFjwiFScSER4MBg4HBw4HGi8REhUUEREwG8AeNhQUGBgUFDYewBgpDw8REhAPKBcHDgYHDgYHBQobEBElE5YCAwEDAhQCBwMCAQMTAQQBgAIDAQMCFAIHAwIBAxMBBAGAAgMBAwIUAgcDAgEDEwEEAYACAwEDAhQCBwMCAQMTAQQB/qoBAwICAhMDBwMCAhMCAwKAAQMCAgITAwcDAgITAgMCgAEDAgICEwMHAwICEwIDAoABAwICAhMDBwMCAhMCAwJvGxgXPyMjPxcYGwkKCRwRBAQCAgEWExIyGxo0FhUbAUcYFhU4IB85FRUZGBMTLhcYKxAREwIBAgYDBQgQGwkKCf5tAQEDBwIWAgEDAgcDFQECAQEDBwIWAgEDAgcDFQECAQEDBwIWAgEDAgcDFQECAQEDBwIWAgEDAgcDFQECKgEBAgcDFQMCAwcCFgEBAQECBwMVAwIDBwIWAQEBAQIHAxUDAgMHAhYBAQEBAgcDFQMCAwcCFgEBAAAABgB4/+IBiAHeABgAMQBKAFkAnADZAAABIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIxMjIiY9ATQ2MzIWHQEzNTQ2MzIWHQEUBiMnIiY9ATQ2MzIWHQEUBiM3IiY1NDYzMjY3PgE9ATQmJy4BKwEiBgcOAR0BFBYXHgEzMhYVFAYjIiYnLgE9ATQ2Nz4BOwEyFhceAR0BFAYHDgEjByImJy4BNTQ2Nz4BNzIWFRYGBw4BBw4BFRQWFx4BMzI2Nz4BNTQmJy4BJy4BNzQ2Mx4BFx4BFRQGBw4BIwEADxoKCgwMCgoaDw8aCgoMDAoKGg8LFQcICAgIBxULCxUHCAgICAcVCzFmBAUFBAMFVgUDBAUFBDMDBQUDBAUFBDYDBQUDBQgDAwQDAwMIBGwFCQMEBAQDBAgFBAUFBAgPBgUHBwYFEAhsCA4FBQYGBgUOCTQdMhISFQsLCh4UAwYBBAQQGAkIChIPECwaGiwQDxIKCgkaEAQEAQYEEyALCwwVEhIyHQFNCwoKGg8PGgoKDAwKChoPDxoKCguACQgHFAwLFQcICAgIBxULDBQHCAn+VQUExAQFBQS8vAQFBQTEBAUJBQNWAwUFA1YDBWIFBAMFBAMDCQVVBQkDAwMDBAMIBVUFCQMDBAUDBAUGBgUPCVUIDwYFBgYFBQ8JVQkPBQYGqwoJCBcOCxMICAsDBAMEBQECCQUGDQgIEQcGCQkGBxEIBw4FBgkCAQUEAwQDDAcIEwsOFwgJCgAAAAUAov/gAV4B4AAYADEAQgBTAGIAAAEiJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjEyMDNDY3PgE7ATIWFx4BFQMnMxM0JicuASsBIgYHDgEVExciJj0BNDYzMhYdARQGIwEADxoKCgwMCgoaDw8aCgoMDAoKGg8LFQcICAgIBxULCxUHCAgICAcVC0iQFgcFBg8IaggPBgUHFoBwFQQDBAgFagUIBAMEFTgEBQUEBAUFBAFPCwoKGg8PGwoJDAwJChsPDxoKCguACQgHFAwLFAgHCQkHCBQLDBQHCAn+EQEsCA8GBgcHBgUPCf7UEQEcBAkDBAMDBAMJBf7lCAUDeAMFBQN4AwUAAAMAIv/6Ad4BwAAWABsAKgAABSImJwsBDgEnLgE3EzYyFxMWBgciBiMnMxUjNSUhIiY1NDYzITIWFRQGIwGPAwQBi4wBBgQDAwGTAg0CkwEDAwEBAf7NzQFE/lYEBQUEAaoEBQUEBgQCAaP+XQMDAQEGBAG6Bgb+RgQGAQGaEhJEBQMEBQUEAwUAAAAACQAK//AB+AHQABUAJAA9AEcAYAB5AJIAqwC9AAAlIyImJy4BNTQ2MyEyFh0BFAYHDgEjJx4BFx4BOwEyNjc+ATchITgBKwEiJj0BNDY7ATIWFx4BFTAUMRQGIyczLgEnLgErARUDIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIxciJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjJSImLwEmNDc2Mh8BFhQHDgEjAVprIDkWFRkFAwGUAwUYFhU5IPcCFxMTMhtrHDETExcB/n4BjQHOBAUFBDkgORUWGgUDx74CGBMTMRwxcQ8aCgoLCwoKGg8PGwoJDAwJChsPCxQIBwkJBwgUCwwUCAcJCQcIFAzrDxoKCgsLCgoaDw8aCgoMDAoKGg8LFQcICAgIBxULDBQHCAkJCAcUDP63AQQBSgICAwcCSgMDAQMCjBoWFjshAwUFAwIhOxUWGZkcMRMTFRUTEjIcBQSZBAUZFhY6IQIEBREcMhMSFon+ugsKChsPDxoKCgsLCgoaDw8bCgoLgAkHCBQLDBQIBwkJBwgUDAsUCAcJgAsKChsPDxoKCgsLCgoaDw8bCgoLgAkHCBQLDBQIBwkJBwgUDAsUCAcJtQIBSgIHAwICSgMHAgECAAAAFAAA/+ACAAHgABAAFQAzAEUAVwBpAHsAjQCfALEAwwDSAOEA8AD/AQ4BHQEsATsBSgAABSEiJjURNDYzITIWFREUBiMlIREhESUjIiY1NDY7AREhFRQGIyImPQE0NjMhMhYVERQGIyUiJicmND8BNjIXFhQPAQ4BIyEiJicuAT8BPgEXFhQPAQ4BIxEiJicuAT8BPgEXFhQPAQ4BIyUiJicmND8BNjIXFhQPAQ4BIzciJicmND8BNjIXFhQPAQ4BIzciJicmND8BNjIXFhQPAQ4BIzciJicmND8BNjIXFhQPAQ4BIzciJicmND8BNjIXFhQPAQ4BIyUjIiY1NDY7ATIWFRQGIysBIiY1NDY7ATIWFRQGIysBIiY1NDY7ATIWFRQGIysBIiY1NDY7ATIWFRQGIysBIiY1NDY7ATIWFRQGIyciJj0BNDYzMhYdARQGIzUiJj0BNDYzMhYdARQGIzUiJj0BNDYzMhYdARQGIzUiJj0BNDYzMhYdARQGIwGA/okEBQUEAXcEBQUE/pEBZv6aAeZuBAUFBGb+qwUEAwUFAwFmBAUFBP4SAgMBAwKGAwcCAwOFAgMBAXcCAgICAQN1AwcCAwJ2AQMCAQMCAgEDdwIHAwMCeAEDAv6OAQMCAgIGAwcCAwMGAQMCGwEDAgICCwIHAwICCwEDAiACAwEDAwsCBwMCAgsBAwIgAgMBAwMKAwcCAwMKAgMBHwEEAQICBgMHAgMDBgEDAgEBEgMFBQMSAwUFAzQRAwUFAxEEBQUEMxEDBQUDEQQFBQQzEQQFBQQRAwUFAzMRBAUFBBEDBQUDKwMFBQMEBQUEAwUFAwQFBQQDBQUDBAUFBAMFBQMEBQUEIAUEAWYDBQUD/poEBREBVf6reAUDBAUBVXgDBQUDgAQFBQT+mgMF3QIBAgcDiAMCAwcDiAECAQICBwOEAwEDAgcDhQEC/poBAQIHA4kCAQMCBwOIAgEEAgECBwMGAgIDBwIGAQIbAgECBwMKAwMCBwMKAQIgAQEDBwMKAwMCBwMLAQEgAQEDBwILAgIDBwILAQEfAQICBwMGAgIDBwIGAgELBQMEBQUEAwUFAwQFBQQDBQUDBAUFBAMFBQMEBQUEAwUFAwQFBQQDBQgFBBEDBQUDEQQFMwUEEQMFBQMRBAUzBQQRBAUFBBEEBTQFAxEEBQUEEQMFAAkAIv/zAd4BzQAdADsASgC1AM8A1AD5ARQBGAAAFyImNTQ2Nz4BMzc+ARceAQ8BDgEjIgYHDgEVFAYjISImNTQmJy4BIyImLwEmNjc2Fh8BMhYXHgEVFAYjAyImPQE0NjMyFh0BFAYjByImJy4BJyY0Nz4BNz4BNz4BNz4BNzU0NjMyFh0BFAYHDgEHDgEHDgEHDgEHHgEXHgEzMjY3PgE3LgEnLgEnLgEnLgEnLgEnLgE9ATQ2MzIWHQEeARceARceARceARceARcWFAcOAQcOASMTMCIjJy4BNTQ2PwE6ATMXHgEVFAYPASoBMScXNycHFyImJy4BJyY2NzYyFx4BFx4BMzI2Nz4BNz4BFx4BBw4BBw4BIxcjIiYnLgE1NzU0NjMyFh0BHgEVFxwBBw4BIyczJwcrBAUjGBg0EhMBBwMDAwIVAQUCFzEVFRsFAwGqAwUbFRUxFwIFARUCAwMDBwETEjQYGCMFBCYDBQUDBAUFBLAuQBUVFgQBAgMNBgcKAgIGAwQJBwUDBAUBAQYJAwQFAwIKBwYMAwQWExM4KCg4ExMWBAMNBwYMAQIBAQECAwMKCQICBQQDBQoMAwMDAQEBAQILBgcNBAIBBBYVFUAuAQEBwgMEBAPCAQIByAMEAwPJAQGYmJ2dmJgJGw8PHQkDAQMCBwMFEgwMHBAHFwwMFgYCBwMDAgIFEwwNHhLLKwIEAQEBEAUDBAUBARkCAQMCIRYOCA0FBBodBwcDJgMCAQIGBCoCAwMGBhYSBAUFBBIWBgYDAwIqBAYCAQIDJgMHBx0aBAUBLQUDZwMFBQNnAwXDFg8PHggCBAIGFgwMFwcKFAkJEQgkAwUFAycBAwEHEAgJEwoIGAwMFQYIGgwMEhIMDBsIBRYMDRgIBQkFCA4GBgsGAQQCIgMFBQMdBw8HCBAHBQkEBxcMDBcGAgUCCB4PDxYBDykBBAMDBQEnJwEFAwMEASkxICAfH20CBAMOCwMHAgIDBwoDBAQCAwQMCgMCAgEHAwoOBQUGXQIBAQQCYFIDBQUDTgECAV8CBAIBAhE1NQAAAAAEAA8AWgHxAWYALgBCAEcAZQAANyImJy4BJy4BPQE0NjMyFh0BHgEXHgEzMjY3PgE3NTQ2MzIWHQEUBgcOAQcOASM3IiY9AScuATc0Nh8BHgEdARQGIycXByc3NTAiMQcOARUUFh8BOgEzOgEzNz4BNTQmLwEqASMx8xQrFRQkCwEBBQMEBQkbEhIqFhcqEhEcCQUDBAUBAQwjFBUsFNYEBcwDBQEGA9QDBAUD1Ovr1dUC1gYIBwbVAQIBAQIB6wYHCQbqAQEBWgQFBREMAQMBhQMFBQOBCA0FBAUFBAUNCIEDBQUDhQEDAgsRBQUENQUDeRgBBQQDBQEZAQUDgAMFxiA1NSARIAEJBgYKATY1AgoGBgkBIAAABQAPAEoB8QF2ACQAKQBHAFYAZQAANyImJy4BJyY0JzcXBx4BFx4BMzI2Nz4BNyc3FxYGBw4BBw4BIycXByc3NyoBIwcOAQceAR8BOgEzMDIxNz4BJzYmLwEwIjEjFyImJzcmNjMyFhcHFgYjByImNyc+ATMyFgcXDgEj9RoyFxUkCgIBIRAeCCASFS0aGS8TFB0LIBIfAQIBCyMXFTMZAezs1NQBAQEB1QcHAQEGB9QCAQID7AUIAQEKBesCAd8EBAEBAQYCBQQBAQEGAwECBgEBAQQEAwYBAQEEBWoFBQYQCwEEA4oEhQgNBAUFBQUEDQiFBIoDBAELEAYFBfsgNTUgESABCQYGCgE2NgEKBgYJASDoBQN4AwUFA3gDBUQFAxEEBQUEEQMFAAAACQAC//EB/gHPAB8APwBWAHAAdQCaALUAuQEQAAAXIiY1NDY3PgE7ATc+ARceAQ8BDgErASIGBw4BFRQGIyEiJjU0JicuASsBIiYvASY2NzYWHwEzMhYXHgEVFAYjJyImLwEuATc+AR8BNzYWFxYGDwEOASMRMCIjJy4BNTQ2PwEwMjMXHgEVFAYPATAiIycXNycHFyImJy4BJy4BNz4BFx4BFx4BMzI2Nz4BNzYWFxYGBw4BBw4BIxcjIiYnLgE/ATU0NjMyFh0BHgEfARYGBw4BIyczJwcnNTQmIyIGHQEUFhceAR0BFAYjIgYVFAYHDgEjIiYnLgE1NCYjIiY9ATQ2Nz4BPQE0JiMiBh0BDgEdARQWFx4BFx4BFx4BMzI2Nz4BNz4BNz4BPQE0JicLBAURDw8rGhsdAgcDAwECHwEEAiATIw4OEQUDAeoDBREODiMTIAIEAR8CAQMDBwIdGxorDw8RBQT1AQIBawMCAgIHA2ZmAwcCAgIDagEDAQEBwgMEBAPDAgHJAwQEA8kBAZiYnZ2YmA0bDA0XCgQDAQEHAwoWCwwZDQwXCgsVCgQGAQEDAwsWDAsYDcsrAgMBAgEBDwUDBAUBAQEYAQEBAgMCIRYOCDwFBAMFAgIECRAHBAUICQkdFRUdCQkJBQMHEAgEAgMFBAMFBQwGBAULBQENDAwiFhYiDAwMAQYLBAUGDAUPBQMXJQ0NDy0DAQECBwMxAgIKCgsfFgMFBQMWHwsKCgICMQMHAgEBAy0PDQ0lFwMFGQEBQgIHAwMBAj8/AgEDAwcCQgEBAWQpAQQDBAQBJycBBAQDBAEpMSAgHx9tAgICBgMBBwMDAwEDBQICAQECAgUDAQMDAwcBBAUCAgJdAgECAwJgUgMFBQNOAQIBXwIEAgECETU1R1MDBQUDWAIEAQIJAysDCQUEEioSEhcXEhIqEgQFCQMrAwkCAQQCWAMFBQNTAw4JKwUKBAMFARkuEhMWFhMSLhkBBQMECgUrCQ4DAAAAABAAAP/xArEBzwAdACwAbgCSALEAzADQAScBQQFGAWsBhgGKAaoBygHhAAAFIiY1NCYnLgEjIiYvASY2NzYWHwEyFhceARUUBiMDIiY9ATQ2MzIWHQEUBiMHIiY1JjY3PgE3PgE3LgEnLgEnLgEnLgEnLgEnLgE9ATQ2MzIWHQEeARceARceARceARceARceAQcOAQcOAQcwIiMDIjAjJy4BNT4BHwE3JwciJicmNj8BOgExFx4BFRQGDwEqATEVIiYjIiY1NDYzOgEzMjY3PgE3PgEXHgEHDgEHDgEjFyMiJicuATU3JzQ2MzIWHQEeARUXFAYHDgEjJzMnBwUiJicuATUuAScuAT0BNDY3NTQ2MzIWHQEUBgcOAR0BFBYzMhYVFBYXHgEzMjY3PgE1NDYzMjY9ATQmIyImPQE0NjMyFh0BHgEdARQGBw4BBxQGBw4BIxMiMCMnLgE1NDY/AToBMRceARUUBg8BKgExJxc3JwcXIiYnLgEnLgE3PgEXHgEXHgEzMjY3PgE3NhYXFgYHDgEHDgEjFyMiJicuATU3NTQ2MzIWHQEcATMXFAYHDgEjJzMnBwUiJjU0Njc+ATsBNz4BFx4BDwEOASsBIgYHDgEVFAYjISImNTQmJy4BKwEiJi8BJjY3NhYfATMyFhceARUUBiMnIiYvAS4BNz4BHwE3NhYXFgYPAQ4BIwKpBAUbFRQyFwIEARYBAgMDBwITETQYGSIFAzwEBQUEAwYFBHMDBQEDBBEfDQ0VBgMNBwYMAgEBAQECAwMKCQICBQQDBQoMAwMDAQEBAQILBgcNBAEBAQcXDw8jFAEBPAEBCgQDAQYDCZ2dWAMGAQEEBFkBAskDBAQDyAEBAwUCBAUFBAIFAwwZCwwSBAEHAwMDAgQRDAwgFMsrAgQBAQEQAQUEAwYBARkBAQEDAiEWDgj+lBYhCwsMBQoEBAUMBQUDBAUDAgQIDQYEBQYICRwVFBwJCgkFAwcNAgYEBQUEAwUNBQYEBAoGDAsMIhcCAQHDAwMEA8IBAskDBAQDyAEBmJidnZiYDRgLDBYLAwMBAQYDCxUKCxcMDBcLChULAwYBAgQDCxYMCxgNyysCBAEBARQFAwQFARYBAQEEASEWDAr+YQQFEQ8PKhocHQEHAwMCAiABBAIgEiMODhEFAwHqBAURDg0kEiACBAEgAgIDAwcCHRsaKhAPEAUD9QEDAWoDAgICBwNmZgMGAgIBA2sBAgELBQQSFgYGAwMCKwMGAgIDAyYDBwcdGgQFAS0FA2cDBQUDZwMFugMDBAYBBA4ICRUMBhUNDBgIBQoECA4GBgwFAQQCIgMFBQMdBw8HCBAHBQkEBxcMDBcGAgQCDxkKCxAFAQYCAQYDBAQBAiAfEgMEAwYBEicBBAQDBAEpPAEFAwQFAgMECwoDAgEBBwMKDwUFBl0CAQIDAmBSAwUFA04BAgFfAgQCAQIRNTWcFhITLhkBBQQDCgUrCQ4DUwMFBQNYAgQBAgkDKwQIBQQRKRITGBURESoWBAUIBCsJBAUDWAMFBQNQAxMHKwUKAwQFARgvEhIXASQpAQQDBAQBJycBBAQDBAEpMSAgHx9tAgICBQQBBwMDAwEDBQICAQECAgUDAQMDAwcBBAUCAgJdAgECBAFgUgMFBQNQAQFfAgQCAQIRMjL1BQMXJQ0NDy0DAQECBwMxAgIKCgsfFgMFBQMWHwsKCgICMQMHAgEBAy0PDQ0lFwMFGQEBQgIHAwMBAj8/AgEDAwcCQgEBAAAPAAD/8QLMAc8AGQAeAEMAYgBmAIYApgC9AOEBBgEhASUBdQGHAd4AABMwIjEnLgE3JjY/ATAyIxceAQcWBg8BMCIzJxc3JwcXIiYnLgEnLgE1PgEXHgEXHgEzMjY3PgE3NhYVFgYHDgEHDgEjFyMiJic0Jj8BNiY3Jz4BMzIWBxcGFiMfARYGFQ4BIyczJwcFIiYnPgE3PgE7ATc+ARceAQ8BDgErASIGBw4BFw4BIyEiJic2JicuASsBIiYvASY2NzYWHwEzMhYXHgEXDgEjJyImLwEuATc+AR8BNzYWFxYGDwEUBjETMiIzJy4BNzQ2HwE3JwcGJjUmNj8BIjIxFx4BBxYGDwEwIjEHIiYjJiInIiY3JjYzFjIXMhYzMjY3PgE3NhYXFAYHDgEHDgEjFyMiJicmNDU3Jz4BMzIWBxcUFhUXHAEHDgEjJzMnBxciJjcuAScuASsBIiY1JzYmNzU2JjM+ATc+ATcmNjMyNjcnNiYjIiYnNyY2MzIWFwceARceAQcXDgEHDgEHDgEHDgEPARczMhYXHgEHFgYjJyImNSY2PwE2FhcWBg8BFAYxAzcuASMiBhcHHgEzMhYHFw4BIyIGFw4BBw4BIyImJy4BNy4BIyImNyc+ATMyNic3LgEjIgYXBw4BFwceARceARceARceARc+ATc+ATU+ATc+ASc3LgEn/gHEAgQBAQUCwwMBygIFAQEFAskCAZmZnJyZmQ4XDAoXCgUCAwUEChUKCxYNDBoLDBULAggCBAIMFg4LHAzKKgMDAgIBFgEBAgEBBAUCBgEBAQEBARIBAgIDAh8UCQz+YQUEAQEQEA4rGR0cAgYEAgMDHwIDAx8TIg8NEgEBBAQB6wUEAQESDQ4jEx8DAwIfAwMCBAYDHBwZKw8QDwEBBAT0AgICaQQBAQMGBGVmAggBAwICbAPUAQMBHwIEAgcCHZucXwMGAgUDYQEDygIFAQEFAsoBAQQLBAQEBAIGAgEGAwQEBAQJBA0WCwoWCQUFAgIEChcLDBcOzCwBBAECEAEBBAQDBgEBAhkCAQQBIhcPB0YDBgEBDA0LJBUhAQUiAQIBAQEBAwYBAgEBAQYDCRIBAQEIEgUEAQEBBgMEBAEBDAwFAwQBAQEGBwQNBQECAgEGAwEeGhsoDw4QAQEGAtoBBQMDAlMCCAEDAwJTBIMBAQQFAgYBAQEEBAUEAQEBDwgCBgEBBwoIHhQWHAoICQEBBAUGEAEBAQEHAwYBAQEEBQIGAQEMBQEBAQQGAwwFAQsNCiQWGCEMCw0GCgYDBwEBAQQNAW4pAQQDBAQBJycBBAQDBAEpMSAgHx9tAgICBQQBBwMDAwEDBgECAQECAgUDAQMDAwcBAwYCAgJdAgECBAJbAQQBUAMFBQNTAQEBXAEEAgECES8v9QUDFyUNDQ8tAwEBAgcDMQICCgoLHxYDBQUDFh8LCgoCAjEDBwIBAQMtDw0NJRcDBRkBAUICBwMDAQI/QgICAwMGAkUBAQFkCQEHAwMEAQkgHxMBBAQDBgETJwEEBAMEASk8AgEBBQQDBQEBAQECAQYDAQMDBAYBBAUCAgJdAgECAwJgUgMFBQNOAQIBXwIEAgECETU19AUEEx4LCgwCAjMBAwEGAQEKEggIDgcDBQsDKwcGBQNYAwUFA08BBAQECgcrBgoDBAUCBg8HCBEIAi0ODQ0lFwMFKQICAwcCMgEBAwMHAjEBAQEVUAMFBQNYAwUECSsDCQUEEioSERgYERIqEgQFCQMrCQQFA1gDBQUDUAMTBysFCgMEBQEYLhMSFgEBFhITLhgBBQQDCgUrBxMDAAsABP/0AfkBzAATACEARgBfAG4AfQCMAJ4AsAC/AM4AACUiJicuATcmNjc+ATMyFgcTDgEjAw4BBw4BFwYWFx4BFwMXIiYnPgEzMjY3PgE3LgEnLgEjIiYnPgEzMhYXHgEXDgEHDgEjByMiJic3JjY7ATIWBxYGKwEXMzIWFw4BIyciJic3JjYzMhYXBxYGIzMiJjcnPgEzMhYHFw4BIxciJic3JjYzMhYXBxYGIwEwJjUmNj8BNjIXFgYPARQGIxcwJi8BLgE3NjIfAR4BBxQGIyciJjcnPgEzMhYHFw4BIxciJic3JjYzMhYXBxYGIwGVMlEeHCEBASEcHlEyAwYBAQEEBQctSBoZHQEBHRkaSC0BCQUEAQEEBQQJAgQDAQEDBAIJBAUEAQEEBQcQBAcFAQEFBwQQB9ayBQQBAQEGA7QDBgEBBgOsAaoFBAEBBAV/BAQBAQEGAgUEAQEBBgMhAgYBAQEEBAMGAQEBBAUBBAQBAQEGAgUEAQEBBgMBegUDAQIWAggBBAIBFwQBFQQBFgIBAwEIAhcBAgQEATwDBgEBAQQFAgYBAQEEBAEFBAEBAQYDBAQBAQEGAhAgHR1SMjJRHh0gBQT+VgQFAasCHxobSi0tShsbHgIBmvUFAwQFAwQDCAUFCAMDBAUEAwUGBgUPCAgPBgUGMAUEmgMFBQMEBYkFAwQFTQUEMwMFBQMzBAUFBDMDBQUDMwQF7wUEmQQFBQSZBAUBCAEBAwcCFAIDAgcDEwEBQAEBEwMHAgMCFAIHAwEBawUEEQQFBQQRBAWZBQMRBAUFBBEDBQAACABV/9wBqwHkABgAJwA2AEUAXwBkAHUAegAAJSMiJj0BNDY7ATIWFRQGKwEVMzIWFRQGIyciJj0BNDYzMhYdARQGIzMiJj0BNDYzMhYdARQGIxUiJj0BNDYzMhYdARQGIzciJi8BIjQxNTA0NTc0NhcyFhURFAYjMCIxJxcRBxUXIyImNRE0NjsBMhYVERQGIyczESMRASLEBAUFBMQEBQUEvLwEBQUEkQMFBQMEBQUEIgMFBQMEBQUEAwUFAwQFBQSrAwQBMwE0BgMDBAQDASsiIm9EBAUFBEQEBQUEPDQ0fgUDmgQFBQQEBYgFBAMFTQUDIgQFBQQiAwUFAyIEBQUEIgMF7wUDmgMFBQOaAwUNAwKWApYBAcADBAEFA/4VAwWfZAF3gJOkBQQB7wMFBQP+EQQFEQHe/iIAAAQACQA9AfgBgwA8AHYAogDFAAA3IiYnLgE9ATQ2OwEyFh0BFBYzMjY9ATQ2Nz4BMzIWFx4BHQEUBg8BBiIvAS4BPQEuASMiBgcVFAYHDgEjJxUUFhceATMyNjc+AT0BNDY3PgEzMhYXHgEdARc3NTQmJy4BIyIGBw4BHQEUBgcOASMiJicuAT0BIwUiJicuAT0BNDY3NjIfATc2MhceAR0BFBYzMjY9ATQ2OwEyFh0BDgEHDgEjJxUUFhceATMyNjc+AT0BIxUUBgcOASMiJicuAT0BBwYmLwF3FCgPEBMFA0QEBQ4LChAWEhEsFRUlDQ4PAgIaAgYCGQECARYLCxcBFBAQJxRdEA0OIRERIQ4NEQsICBEIBxIIBwsQEg0LCx4SEiUPEBMHBgYPCQcQBgYHMwF3FiUODg8CAgIFAhQWAgQCAwIPCwkQBQREBAUBDw4OJRZVDQsMHxISHwwLDTMHBgYPCAgQBgYHDQIGAgs9Dg4NJxgpAwUFAykDDA8EbhcnDw4REA4NJhcLAgMCEQICEQEEAgsDDA8EbhgoDg4QiCAUIAsMDA0MDCIUbgcNBQUGBQQFCwcGDAwGEyAMCw0ODQwhE24GDQUFBwUFBAwGIIgQDg0mFzQDBAEBAg4PAQEBBAI1AwwPBCUDBQUDJRcnDw4RjCQTIAsMDQ4MDSETHBwGDQUFBwUFBAwGJQkCAQEIAAAKAA//4AHxAeAAEQBUAGYAdQCrAMIA3wD2AQgBGgAAEyImJyY2PwE2FhcWBg8BBiIjASMiJjUnFRQGKwEiJj0BBxQGKwEiJicuATcTNDYzHgEVAzMTPgEXMhYVETMRNDYzNhYXEzMDJjY3MhYVExYGBw4BIwMqAS8BLgE3PgEfAR4BBw4BIycjIiY1NDY7ATIWFRQGIxciJi8BJjQ3NjIfATcnIwcXNzYyFxYUDwEOASciJi8BJjQ/AT4BOwEyFh8BFhQPAQ4BIzAiMQciJi8BJjY3NhYfATc+ARceAQ8BDgEjBzAiIy4BPwE+ATM4ATEyFh8BFgYHBiYvAQcOASMTIyImNTQ2OwEnJjY3NhYfARYUBw4BIyciJi8BJjY3NhYfARYGBw4BIzMiJicuAT8BPgEXHgEPAQ4BI0wCBAECAgNRAwcBAgEDUQEDAQGdQAMFJQUE7wMFHQUDQAIDAQIBATUGBAMENC4tAQUDAwXeBAQDBQE0LzMBBAQDBjUBAQIBAwI1AQMBUQMBAgEHA1EDAgIBBAKNRQMFBQNFAwUFAxkCAwErAgIDBwIkISR4JCEkAgcDAgIrAQQCAgMBKwECKgIDAoACAwIqAgErAQMCAUADBAFAAQMDAwcBODgBBwMDAwFAAQQDKgEBAwQBKgEEAwMEASkBBAMEBgEgIQEFA38uBAUFBCIaAgMDAwcBHwECAQQCagIEATACAQMDBwIwAgICAQMBKgEDAQMBAjACBwMDAQIwAQQCAVoCAgIHAjQCAQMDBwI0Af6GBAPIxgQFBQS2uAMEAgEBBAIBdAQEAQYD/pUBHQMFAQUD/uQBHAMFAQQE/uMBbAQFAQQE/osCBAEBAgF6ATQCBwMDAQI0AgcCAgJCBQMEBQUEAwVCAQErAgcDAgIjMi0tMiMCAgMHAisBAgECAUADBQI2AQICATYCBQNAAQK1AwO0BAYBAQMDnp4DAwEBBgS0AwPFAQYEkwMDAwOTBAYBAQQDdnYDAwERBQQDBT8DBwECAwNLAgQCAgKTAgJBAwcCAgEDQQMHAgEBAQECBwNBAwECAgcDQQICAAAKAAkANQH3AYsAEAAVACYAKwA6AEkAWABnAHYAhQAAJSEiJjURNDYzITIWFREUBiMlIREhEQEjIiY9ATQ2OwEyFh0BFAYjJzM1IxUDIiY1ETQ2MzIWFREUBiMzIiY1ETQ2MzIWFREUBiMzIiY1ETQ2MzIWFREUBiMzIiY1ETQ2MzIWFREUBiMBIyImNTQ2OwEyFhUUBiMhIyImNTQ2OwEyFhUUBiMB7/4iAwUFAwHeAwUFA/4rAcz+NAEZZgQFBQRmBAUFBF5WVoADBQUDBAUFBDQEBQUEAwUFA+4DBQUDBAUFBDQEBQUEAwUFA/7VIgQFBQQiBAUFBAEiIgQFBQQiBAUFBDUFBAERAwUFA/7vBAURAQD/AAEABQQzBAUFBDMEBREjI/7nBQMBAAQFBQT/AAMFBQMBAAQFBQT/AAMFBQMBAAQFBQT/AAMFBQMBAAQFBQT/AAMFARkFBAQFBQQEBQUEBAUFBAQFAAAAAQAS//EB7wHPAC0AAAUhIiYnJjQ3EycuATc+ATMhMhYdARQGIyImPQEhFx4BBwMhNTQ2MzIWHQEUBiMB5/4zAwQBAQGnpgEBAQEEAgF4BAUFBAMF/qSdAgECogG1BQQDBQUDDwICAgUCAQ+0AQYCAgMFBCoEBQUEIqoCBgL++IkDBQUDkQQFAAEAAf/gAgAB4AAtAAAFISImJzQmPwEnJjQ1PgEzITIWFwcWBiMiJic3IRceAQ8BITcmNjMyFhcHFgYjAfj+EQMDAgEDz88CAgMDAawFAwEBAQYCBAQBAf5tygEBA8kB1AEBBgMEBAEBAQYCIAMCAgUC/OgCBQICAwUETAQFBQRE3wIGA/R4AwUFA4AEBQAAAA8ACf/sAfYB0wAbAC0AUwBtAH8AmACxAMAAzwDeAO0A/AELARoBKQAABSoBJy4BJyYGBwYmJyY2Nz4BFx4BFx4BBw4BIyUiJi8BJjY3NhYfARYGByoBMSciJicuATU0Njc+ATc+ATc+ATc+ATMyFhceARcWFAcUBgcFBiIxNyIGBw4BBw4BBw4BBw4BBxQWFzcuAScuASMHIiYvASY2NzYWHwEWBgcqASMFIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIzUiJj0BNDYzMhYdARQGIxUiJj0BNDYzMhYdARQGIzcjIiY1NDY7ATIWFRQGIysBIiY1NDY7ATIWFRQGIzcGIi8BJjQ3NjIfARYUBxcGIi8BJjQ3NjIfARYUBycHBiInJjQ/ATYyFxYUBw8BBiInJjQ/ATYyFxYUBwHuAQIBIIJHR38dAwcCAgEDIYdJSoQfAwIBAQUC/vUDBAFCAgMDBAYBQgIDAwECxgMEAQYGBgUGEAoKGA4GDgcIDgcXKRISHAgBAQMB/wABAn8GDQYGDQYMFQkJDgUFBAEEA/AIGQ8PIxM1AwQBCAIDAwQGAQkBAwMBAQEBJwoTBgcICAcGEwoKEwcGCAgGBxMKBwwEBQUFBQQMBwcMBQQFBQQFDAcDBQUDBAUFBAMFBQMEBQUEXhEEBQUEEQMFBQOrEQMFBQMRBAUFBBcDBwIMAwMCBwMMAgKFAwcDDAICAwcCDQICBg0CBwMCAgwDBwMCAnkMAwcCAwMMAgcDAgIUARAVAQIRFwIBAwMHAhkTAwIXDwIGBAICLwIDnQMHAQIDA54DBgJxAwIOHA8OHA4OGAoKEAYDBAIBAg0MDCEVAQQBAgIBawHAAQEBBAMFDgkJFQwMFwsMFwtkERsJCQoKAgMTBAYCAQMDFAMGAhAHBwcSCwoSBwcICAcHEgoLEgcHB1MFBQQMBwcMBQQFBQQFDAcHDAQFBSwFAxEEBQUEEQMFvAUDEQQFBQQRAwVmBQQDBQUDBAUFBAMFBQMEBT8CAgwDBwIDAwwCBwOFAgIMAwcCAwMMAgcDiwwCAgMHAgwDAwIHA3kMAgIDBwINAgIDBwMAAA0AQf/pAb8B1wAgAC8APgBQAGIAiACwAL8AzgDdAOwA+wEKAAABJzwBNTQmJy4BIyIGBw4BByc+ATc+ATMyFhceARUcARUnIiY9ATQ2MzIWHQEUBiMXIyImNTQ2OwEyFhUUBiMlIiYvASY0NzYyHwEWFAcOASM3IiYnJjQ/ATYyFxYUDwEOASMDIyImJy4BNTQ2Nz4BMzIWFx4BFz4BNz4BMzIWFx4BFRQGBw4BIyciBgcOARUUFhceATsBMjY3PgE1NCYnLgEjIgYHDgEPAScuAScuASMDIiY9ATQ2MzIWHQEUBiMXIiY9ATQ2MzIWHQEUBiMzIiY9ATQ2MzIWHQEUBiMnIiY9ATQ2MzIWHQEUBiMzIiY9ATQ2MzIWHQEUBiMXIiY9ATQ2MzIWHQEUBiMBiBEPDQ4iFA0YCwoSBw4IFQwNHA8XKRAPEnQDBQUDBAUFBKIRAwUFAxEEBQUE/voCAwEWAwMCBwMWAwMBAwLIAgMBAwMQAwcCAwMQAgMBJ5EbLhERFBQRES4bDx4NDhcJBAsFBQoGFCQODRAQDg4jFJEXKA8PEREPDygXkREeCwsNDQsLHhEFCwUFCQUHBQcVDAwbDmgDBQUDBAUFBEUEBQUEAwUFA3cDBQUDBAUFBFUEBQUEAwUFA5kDBQUDBAUFBDQEBQUEAwUFAwEhAQIDARQjDQ0PBgYGEQsIDRUHBwcSDw8qFwIDApQFBBEDBQUDEQQFkQUEAwUFAwQFWgEBFwMHAgMDFgMHAwEBBgEBAwcCEQMDAgcDEQEB/uUUEREuGxouERIUCAcHFA0CBAEBAQ8ODiQVFSgPDxHtEg8PKBYXKA8PERANDSEQEh4LCw0BAgEEAwQHDRQGBwj+xgUDIgQFBQQiAwUzBQMzBAUFBDMDBQUDMwQFBQQzAwUzBQMiBAUFBCIDBQUDIgQFBQQiAwUzBQMzBAUFBDMDBQAAAAoAEf/pAe8B1wAYADEAQABPAF4AbQB/AJEAowC1AAAlIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjESIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIwMiJj0BNDYzMhYdARQGIxEiJj0BNDYzMhYdARQGIxcjIiY1NDY7ATIWFRQGIyEjIiY1NDY7ATIWFRQGIwUiJi8BJjQ3NjIfARYUBw4BIwEiJi8BJjQ3NjIfARYUBw4BIyUiJicmND8BNjIXFhQPAQ4BIwEiJicmND8BNjIXFhQPAQ4BIwECHjYUFBcXFBQ2Hh42FBQXFxQUNh4bLxISFBQSEi8bGy8SEhQUEhIvGwIEBQUEBAUFBAQFBQQEBQUE5jMDBQUDMwQFBQT+ZzMEBQUEMwMFBQMBWwIDASkCAgMHAikCAgEDAv7SAgMBHgMDAggCHgICAQMCAQgBAwICAhcCBwMCAhcBAwL+2gIDAQMDIQIIAgMDIQEDAloXFBQ1Hx42FBQXFxQUNh4fNRQUFwEVFRESLxsbLxISFBQSEi8bGy8SERX+egUDRAQFBQREAwUBqgUEMwMFBQMzBAWzBQQDBQUDBAUFBAMFBQMEBawBASkCBwMCAikCBwMBAQEuAQEeAwcCAwMeAgcDAQEHAQICBwMWAwMCBwMWAgH+2gEBAwcCIQMDAgcDIQEBAAAACwAJAEwB9wFzAA4AHQBCAGIAhwChALAAwgDUAPgBGQAAJSMiJjU0NjsBMhYVFAYjISMiJjU0NjsBMhYVFAYjFyImJy4BJy4BNTQ2Nz4BOwEyMDEzMhYVFAYrAR4BFRQGBw4BIzciBgcOAQcOARUUFhceARceATMyNjc+ATU0JicjMCIjBSImJy4BNTQ2NyMiJjU0NjsBOAExMzIWFx4BFRQGBw4BBw4BIycOARUUFhceATMyNjc+ATc+ATU0JicuASsBByMiJjU0NjsBMhYVFAYjByImJy4BPwE+ARceAQ8BDgEjFyImIy4BPwE+ARceAQ8BDgEjJSImJyY2PwE+ATc2FhceARUUBgciJicwJicmIgcOAQ8BIgYjISImIycuAQcOATEOASMuATc0Njc+ARceAR8BHgEHDgEjAe8dBAUFBB0DBQUD/jMRAwUFAxEEBQUETA0XCgoPBQUFAwQQVANFATQEBQUEHAQEEREQLx0TBhcNDBcFAwMEAwQMCAgTCxkpDg4PCgdFAgIBCB0vEBERBQUVBAUFBC9DAlQQBAMFBQUPCgoXDVgIDQ8ODikZCxMICAwEAwQDAw1IAUEgMwQFBQQzBAUFBJsCAgEDAgJNAQcDAwICTAEEAv8BAwEDAQFCAgcDAwEBQgEEAv7cAgQBAgED6wgPBwcMBQ8IBAMEBQEFCQQJBQUKBOsBAgEBVQECAesLEgYJBwEGAwQEAQoQBQwGBw0I6wMBAQIEAp8FAwQFBQQDBQUDBAUFBAMFUwQEBAwHBw8ICRIKLAkFAwQFBQwHFCcQDxSGAgQEEQ8IDgcGCwUGCAMDBBENDSIQBw4DhhQPECgTBwwFBQQDBQksChIJCA8HBwwEBASGAw8GECINDREEAwMIBgULBgcOCCMHRAUDBAUFBAMFQAEBAQcDgAMBAQIHA38CAwEBAgcDbQMCAgIHA20CAn4CAgMHAo0FBQEBAgMHGgEEBQEEBBEEAgEBBAONAQGOBgQDBBMDBAEGAwEbBwMBAQEFBY0CBwMCAgAAAAAJAAAAlAIAASsAIABAAGEAewCKAJwArgC9AMwAADciJicuATU0Njc+ATc+ATsBMhYVFAYrAR4BFRQGBw4BIzciBgcOAQcOARUUFhceATMyNjc+ATU0JiciJisBMCIjBSImJy4BNTQ2NyMiJjU0NjsBMhYXHgEXHgEVFAYHDgEjJw4BFRQWFx4BMzI2Nz4BNTQmJy4BJy4BKwEHIyImNTQ2OwEyFhUUBiMHKgEnLgE/AT4BFx4BDwEOASMzKgEnLgE/AT4BFx4BDwEOASM3IiY9ATQ2MzIWHQEUBiMhIiY9ATQ2MzIWHQEUBiNuFRoICAYCAgIFBBM5AnoEBQUEHQQFEREQLx0SBBAJCBEGBQUFBgYUDxkpDg4PDAcBAgE/AgMBCR0vEBERBgUWBAUFBHIBOxMDBQICAQYICBoVUwkRDw4OKRkPFAYGBQQEBhMKChEFPCUzBAUFBDMEBQUEmgEDAQMBAUsCBgMDAgJKAQQC/wECAQMCAkMCBwMDAQJDAQQCgQMFBQMEBQUE/hIEBQUEAwUFA5QJCgslHQUJBQQIAxIDBQMEBQQMBxQoDxAUhgEBAgcFBQsGHCAHCAMQDQ4hEQcLAwKGFBAPKBQHCwUFBAMFBBMDBwUECQQcJQsLCYYDDgYRIQ4NEAQIByAbBgoEBgcCAgFEBQQDBQUDBAU9AQIGBHsDAgICBwN7AgIBAgYEbgMCAgIHA24CAkYFAzMEBQUEMwMFBQMzBAUFBDMDBQAAAAAKAAD/4AIAAeAABAAWACgATgBsAJIAsADVAQABKAAAEzMVIzUHIiYjLgE/AT4BFx4BDwEOASMlIiYnLgE/AT4BFx4BDwEOASMXIiYnLgE1NDY1NDY3IyImNTQ2OwE2MhczMhYXHgEdARQGBw4BIycOARUUFhceATMyNjc+AT0BNCYnLgEnLgEjMCIxIwciJicuAT0BNDY3PgE3PgE7ATgBMTMyFhUUBisBHgEVFAYHDgEjNyIGBw4BBw4BHQEUFhceATMyNjc+ATU0JicjIiYjEyImJy4BJyY0NzYWFx4BFx4BMzI2Nz4BNzYyFxYUBw4BBw4BIxUiJicuATU0NjMyFhUUFhceATMyNjc+ATU0NjU0NjMyFhUUBhUUBgcOASMTIiYnLgEnLgEjIgYHDgEHDgEnLgE3PgE3PgEzMhYXHgEXFgYHIgYx3kREagEDAQMCAkwBBwMDAgFMAQQCARwBAgEDAgJFAgcDAwICRQEEAxMpNQ8PCwECAiEEBQUEMQICAlMDUxUFBhAMDSISbgYCDw8PLB0UHQkJCQMDBxoODhoHAVXUEiMODRECAQIFAxhXAlExBAUFBB0DBBISETMhDgoZDAsVBwQECgoKHRUeLBAPDwYGTwMIBJEVKBITIA4CAwMHAgweEREkExMkEREeDAIHAwMCDiATEigVNF0iIycFAwQFJSAgVjExViAgJQIEBAMGAicjIl004AMEAQ4sHRxCIyRCHBwsDgEHAwMDAQ8vHh5HJyZHHh4wDwEDAwECATYREXsBAgcDjAMCAgIGA4wDAgIBAQEHA34DAgIBBwN+AgMCEw8PJBIECgUECgQFBAMFAQEHFQUOBx0cHgcHAowEFgkXIAsLCwIGBRcVHQQHAwcJAwICjAIHBx4cHQQJAwQHAxYCBQMEBQcSDBknDQ0NjQICAggGBAkFHRUXBQYCCwoLIBYPEwMB/t0JCAkYEAMHAgMBAw4WCAgICAgHFw4DAgIHAxAYCQgJRSgiIl00BAUFBDFWICAlJSAgVjEEDQQDBgUDBA0FNF0iIigBWwMCITUSExQUEhI1IQMDAQIGAyQ4FBQVFRQUOSMDBwEBAAAACwAA/+ICfAHeABEAIwBOAG0AmAC3ANwA9gEEASwBUQAANyoBJy4BPwE+ARceAQ8BDgEjISoBJy4BPwE+ARceAQ8BDgEjBSImJy4BNTQ2Nz4BNz4BMz4BNz4BMzIWFx4BFzIWFR4BFxQWFRQGBw4BIycOAQcUBhUUFhceATMyNjc+ATU8AScuAScuASMiBgcFIiYnLgE1NDY3PgE3NDYzPgE3PgEzMhYXHgEXMhYVHgEXHgEVFAYHDgEjJw4BFQ4BFRQWFx4BMzI2Nz4BNTQmJzQmJy4BIyIGBwciJjU0JicuASMiBgcOARUUBiMiJjU0Njc+ATMyFhceARUUBiMDIiYnLgEnJjQ3PgEzITIWFxYUBw4BBw4BIyceARceATMyNjc+ATchASImJy4BJy4BIyIGBw4BBwYiJyY0Nz4BNz4BMzIWFx4BFxYUBw4BIwMiJicuASc0NjMyFhUeARceATMyNjc+ATc+ATMyFhUOAQcOASOOAQIBAwIBbQIGAwQBAW0BBAIBVQECAQMCAmwCBwMDAgJsAgQC/rAeNhQUFwEBAQMBAQICECERESISEiMRESEQAQMCAwEBFxQUNR98AgIBARUREi8bGzAREhQBAQIBHj8gID8dAdIfNhQTGAEBAQMCAgIQIRERIxIRIxERIRACAgIDAQEBFxQUNh59AgIBARUSETAbGjASERUBAQICHT8gIEAdDgQFAwQDCAUFCQMDBAUDBAUHBQYOCQgPBgUGBQMgGS4VFSMNAQEBBAIBNAIEAQEBDSMVFS4Zig0eEhImFRQnEhEfDP7tAS8BAwIQJRQVKxYWKxUUJRECBwMCAxEoFhYuGBguFhUoEgMDAQMCpTNbIiIqAgUDBAUCJyAgVDAwVCAgJgIBBQMEBQMpIiJbM7gBAQcDwwMCAgIHA8ICAgEBBwPDAwICAgcDwgICARgUFDUfBQwGBQwFAgMIDQQEBAQEBAwJAwIFCwYGDAUfNRQUGLkFCQUECgQbMBESFBQSETAbBAoEBQkFDg8PDrkYFBQ1HwUMBgUMBQIDCQwEBAQEBAQNCAMCBQwFBgwFHzUUFBi5BQkFBAoEGzAREhQUEhEwGwQKBAUJBQ4PDw4uBQQFCAMDBAQDAwgFBAUFBAgPBQYGBgYFDwgEBf7gDAwLIRUCBQICAwMCAgUCFSELDAxVEBkJCQkJCQkZEAEWAQEPFwgICAgICBcPAgMCBwMQGAkICQkICRgRAgcDAQH+VSYhIFkzBAUEBDBSHx8jIx8fUjAEBAUEM1kgISYACQANAD0B8wGDACIARQBkAH0AnAC1ANQA5gD4AAA3IyImJy4BPwE+ATc+ARceARcOAScmBgcOAQ8BMzIWFw4BIyEjIiY3JjY7ASc0JicuAQcGJjUmNjc2FhceARUXBhYHFAYjBSImJy4BJzYmNyY2Nz4BMzIWFx4BFwYWBxYGBw4BIycGFgceARceATMyNjc+ASc2JjcuASMiBgcFIiYnLgEnNjQ3NDY3PgEzMhYXHgEXFBYHFgYHDgEjJwYWBx4BFx4BMzI2Nz4BJzYmNy4BIyIGBwciJjcuASMiBhcOASMiJjcmNjc+ATMyFhceARcOASMHIiYjLgE/AT4BFx4BDwEOASMzIiYjLgE/AT4BFx4BDwEOASMnEQMCAgEBASoCCQkGFAoEAwECBAUGDQQGBQMnBgQEAQEEBAHFGwIGAQEGAhApCQUGDQgDBgIGAgwTCQgMLAEBAwQB/p8TIwwNDgEBAQIBAwEWLBgVLhQDAQIBAgEBEAwOIRRMAQEBAQsLCh0PERsLCQ0BAQEBEyYUEygRATYSIwwODgEBAQMBFiwXFi4UAwEBAQEBEAsOIRVLAQEBAQsLCR0PERsMCQ0BAQEBEyYVEigRCgMGAQEMCwkOAQEEBQMGAQEIBAcNCggPBQYGAQEEBZ0CAQEDAwM8AwYEAgMCPQIDBOwCAQICAwI9AwUEAwMDPAIEA5kBAgEEArULEQYFBQEBBgMEBAEBBAMEDAerBQQDBQUDBAWqBwwEBAQBAQQEAwYBAQUGBhEKtQIEAQIBXBEPDykXAwgEAgMBCwoKCwEDAgQIAxcpDw8RdwIEAhQiDQwPDwwNIhQCBAIJCAgJdxEPDykXAwgEAgMBCwoKCwEDAgQIAxcpDw8RdwIEAhQiDQwPDwwNIhQCBAIJCAgJEQUEBAkJBAQFBQQGCwQEBQUEBAsGBAVmAQIGBHsDAgECBwN7AgMBAgYEewMCAQIHA3sCAwAACwARAD0B7wGCAA4AHQA+AF8AfgCXALYAzwDuAQABEgAAJSMiJjU0NjsBMhYVFAYjISMiJjU0NjsBMhYVFAYjNyImJyY2PwE+ATc2FhceATEUBiMiJjU0JicmBg8BDgEjISImLwEuAQcOARUUBiMiJjUwNjc+ARceAR8BHgEHDgEjBSImJy4BNTwBNzQ2Nz4BMzIWFx4BFxQWFRQGBw4BIyccARUUFhceATMyNjc+ATU0JjUuASMiBgcFIiYnLgE1PAE1PgE3PgEzMhYXHgEVFhQVFAYHDgEjJxwBFRQWFx4BMzI2Nz4BNTwBNS4BIyIGBwciJjU0JiMiBhUUBiMiJjU0Njc+ATMyFhceARUUBiMHIiYjLgE/AT4BFx4BDwEOASMzIiYjLgE/AT4BFx4BDwEOASMB5hEDBQUDEQQFBQT+RREEBQUEEQMFBQNFAwQBAgID1QgQCAcMBQ8GBQQEBAUHBhQN1QECAQEpAgIB1A4UBgcEBQQDBQUPBQwIBxAJ1AMCAgEEAv72FCINDA8BAwEVLRcWLRUCAgEBDw0NIhNNDAoLHBAQHAoKDQESJxMUJxIBNxMiDQ0OAQICFS0WFy0VAgIBDwwNIhRMDAoLHA8QHAsKDBInFBMnEgkEBQ0KCg0FAwQFBgYFDwgIDwUGBgUDngEBAQQCAj0CBwMDAgE+AQQD6wECAQMCAT4CBgQDAgI9AQUCqgUDBAUFBAMFBQMEBQUEAwU5AgIDBwKABgcCAgIDCCAEBQUEBBIDBAYJgAEBAQGACQYEAxMDBAUFBCAIAwEBAgcGgAIHAwICphEPECgXBAcEAgMBCwoKCwEDAgQHBBcoEA8RdwIEAhQiDA0PDw0MIhQCBAIJCAgJdxEPECgXBAcEAgMBCwoKCwEDAgQHBBcoEA8RdwIEAhQiDA0PDw0MIhQCBAIJCAgJEQUEBAkJBAQFBQQGCwQEBQUEBAsGBAVmAQIHA3sDAgECBgR7AgMBAgcDewMCAQIGBHsCAwAACQAAAJMCAAEtAA4AHQA8AFUAdACNAKwAvgDQAAAlIiYnNyY2MzIWFwcWBiMhIiY3Jz4BMzIWBxcOASMXIiYnLgE3JjYnPgE3PgEzMhYXHgEHFhQXDgEHDgEjJxQGFwYWFx4BMzI2Nz4BNyY2Jy4BIyIGBwUiJicuATcmNic+ATc+ATMyFhceAQcWFBcOAQcOASMnFAYXBhYXHgEzMjY3PgE3JjYnLgEjIgYHByImJzYmIyIGBxYGIyImJz4BNz4BMzIWFx4BBxYGIwcwIjUuAT8BNDYXHgEVBxQGIzMwIjUuAT8BNDYXHgEVBxQGIwH3BAQBAQEGAgUEAQEBBgP+EQMGAQEBBAUCBgEBAQQEfRQhDgwQAQECAQECAxQuFhcsFgEEAQEBAQ4ODCMTTQEBAQ0KCxwQDx4JDAsBAQECESgSFSYTAToVIQ4MEAEBAgEBAgMULhYXLBYBBAEBAQEODgwjEk4BAQENCgscEQ8dCQwLAQEBAhEoEhUmEwgFBAEBDgkMDAEBBgIFBAEBBQcEEAgJDgYFBwEBBgKgAwQBAT8IAgQBPwUC6wMEAQE/CAIEAT8FAuYFBCIEBQUEIgQFBQQiBAUFBCIEBVMSDw8oFwQHBAIEAQoLCwoBBAIEBwQXKA8PEncCBAITIg0NDw8NDSITAgQCCQkJCXcSDw8oFwQHBAIEAQoLCwoBBAIEBwQXKA8PEncCBAITIg0NDw8NDSITAgQCCQkJCRAFAwUICAUDBQUDBgsEBAUFBAQLBgMFZgEBBwN7BAICAQcDfAICAQEHA3sEAgIBBwN8AgIAAAAJAA0APgHzAYIAIgBFAGYAhgCnAMoA2QDrAP0AADcjIiYnLgE/AT4BNz4BFx4BFw4BJyYGBw4BDwEzMhYXDgEjISMiJjcmNjsBJzQmJy4BBwYmNSY2NzYWFx4BFRcGFgcUBiMFIiYnLgEnLgE1JjY3PgE7ATIWFw4BKwEeAQcWBgcOASM3IgYHDgEHDgEHHgEXHgEXHgEzMjY3PgE3LgEnIyoBIwUiJicuATcmNjcjIiYnPgE7ATIWFx4BBxYGBw4BBw4BIycwBjEOAQcOARcGFhceATMyNjc+ATc+ASc2JicuAScuASsBByMiJjcmNjsBMhYHFgYjBzAiNS4BPwE+ARcWFBUHFAYjFzAiNS4BPwE0NhceAQ8BDgEjJxEDAgIBAQEqAgkJBhQKBAMBAgQFBg0EBgUDJwYEBAEBBAQBxRsCBgEBBgIQKQkFBg0IAwYCBgIMEwkIDCwBAQMEAf6GDBgICw4GAwYBBAIOVwN5BQQBAQQFFQECAQETEBItHhYGFw4NGAQDAgEBAwQEEQcKEAcYKQ4PDwEBAwlJAQECAQgeLRIQEwEBAwEOBAQBAQQEcQRVDwIFAQEGAwgTDAkWB1gBAwMDBgcBARENECcaChUHCQsFAgQBAQQCBhUODRoHQCA1AgYBAQYCNQIGAQEGAp0DBAEBSAEIAgRIBQL+AwQBAUEIAgQBAUABBQGYAQIBBAK2ChEGBQUBAQUEAwUBAQMEBAwHqwUEAwUFAwQFqwcLBAQEAQEFAwQFAQEFBgYRCrUCBAECAVoDBAQKBwcOCAkSCiUKBQQDBQMGBBQoEBATfAIDBA4MCA8GBgsFBwgDAgEQDg0iEQUEBHwTEBAoFAQGAwUDBAUMIgoSCAgPBgoMAwMCfAEBAQEDAwMRIg0OEAMDAwgGBAsGBg4HCw4EBAMzBQMEBQUEAwVDAQIHA3YDAgICBwN2AgICAQIHA2oDAgICBwNqAgIAAAAIABgAXAHoAWQADgAgADIARgBUAGYAeACHAAATIiYnNyY2MzIWFwcWBiMXIiY1JjY/ATYWFRYGDwEyIjEnMCYnJjY/ATYyFxYGDwEUBiMXISImJz4BNz4BMzIWFx4BBxYGIyUhLgEnLgEjIgYHDgEHJzAiMycuATc0Nh8BHgEHFAYjNyImNScuATc2Mh8BHgEHDgExBSEiJic+ATMhMhYXDgEj/gQEAQEBBgIFBAEBAQYDtgIFAgUCLAIHAgUCLAECQQQBAwEBLAEJAQQBAiwEARX+6wQEAQEVFRM2HyE1FBMXAQEGAv7yAQUDFBIQLxocLBMQFgE0AgEsAwQCBwIsAgUCBQI/AQQsAgEEAQkBLAEBAwEEATb+eQUEAQEEBQGHBQQBAQQFAQ8FA0UDBQUDRQMFggMDBAYBCgEEAwMGAQtVAQICBwMqAwMCBwMqAgGGBQMaNRUVGhoVFTUaAwURFisSERUVERIrFiALAQYDAwQBCgEGBAMDVQECKgMHAgMDKgMHAgIBhgUDBAUFBAMFAAAAAAMAMwCSAc0BLgATACEAMAAAJSEiJic+ATc+ATMyFhceAQcWBiMlIS4BJy4BIyIGBw4BBwUhIiYnPgEzITIWFw4BIwGN/usEBAEBFRUSNx8hNBUTFwEBBgL+8gEFAxQSES4aHC0SEBYBAUP+eQUEAQEEBQGHBQQBAQQFkgUEGjQVFRsbFRU0GgQFERYsEREWFhERLBYRBQQDBQUDBAUAAAAGABf/3wHpAeEAGgA1AF4AqwDsARIAABciJic+ATc+ATsBMhYHFgYrASIGBw4BBxYGIyEiJjcuAScuASsBIiY3JjY7ATIWFx4BFw4BIyciJicuATcnPgEzMhYHFwYWFx4BMzI2Nz4BNyc+ATMyFgcXDgEHDgEjNzAmMS4BJy4BJw4BBw4BFw4BIyImJy4BJw4BBw4BBxYGIyImJy4BJy4BJy4BNyc+ATc+ATMyFhceARc+ATMyFhceARceAQcOAQcOASMnIgYHFwYWFR4BFx4BFz4BNz4BMzIWFwYWFx4BFzQ2Nz4BMzIWBx4BFx4BFz4BNzYmJy4BJy4BBwYiJy4BJy4BIwMiJjUnPAE/AT4BOwEyFh8BHgEPAQ4BJy4BPwEnIwcXFAYHMAYxHwQEAQEQDw4pFiUDBgEBBgMlEiMLDg0BAQYDAcEDBgEBCwwKHxEjAwYBAQYDIxUlDA8NAQEEBNwmNRIREgEBAQQFAgYBAQEPDhAvIyQ5ERMRAQEBBAUCBgEBARMWFD4ofQMRFgoHCwEGCQQDBgEBBAQIEQYICAMIGAoMDwEBBgIGCAUDCQIIBwIBAQEBAQgOCy0iDx0RDyQSBAYFCRUJCg4FBQIFBBMNAgICrEcZAQEBAQIFBgIHAwMWEA4fBwUEAQEFAwUIBwsGCA8KAgYBAQUIBhUNDw0CAQIEAxIICREHAQUBEyIQDx4MQAEFFgMqAgICqgICAioDAQEVAQgCBAEBEiSkJBMBBAMhBQQhORYVGQUEBAUWExMzHQQFBQQeNBMSFQUEBAUYFRU6IgQFdSIXFi4MQgQFBQRCBycUFSAhFRUnBWQEBQUEZAksGBclwAEIFQsMFgoCBwQFCgUEBQcGBRAIAQoJCRwTBAUCAgEFAwgUCgsUBwULJRISGwUEBQ4JAQEICAcUDA4dDw4cDAECvF0BBQcRCQkQBgIEARghCQoJBQQFCgUEBwIJDwUGBwUEBhILCxUIDhsMCxMHDRIGBQMDAQEJDgQFBf4WAgMnAgYCIwEBAQEjAgYDIwMCAgIHAxwdHSAEBgIBAAAKAAn/4AH3AeAAHgAvADQARQBKAGUAgACXAKIAvwAAASM1NCYnLgEjIgYHDgEdASM1NDY3PgEzMhYXHgEdARcjIiY9ATQ2OwEyFh0BFAYjJzM1IxUFIyImPQE0NjsBMhYdARQGIyczNSMVFyImJy4BPQE0Njc+ATMyFhceAR0BFAYHDgEjESIGBw4BHQEUFhceATMyNjc+AT0BNCYnLgEjEyMiJicuAT0BNDY3PgE7ATIWHQEUBiMnIgYdARQWOwE1IxcjIiY1NDY7ATI2Nz4BPQE0NjMyFh0BFAYHDgEjAbMRGBYWOyMjOxYWGBEaGBhBKChBGBgaPEQEBQUERAMFBQM8MzP+okQDBQUDRAQFBQQ7MzPmIDUTExYXExQ1Hh80FBQWFxMUNR4bLxERFBMSES8bGi4SERUUEREvG1VQBgsFBAUFBAULBlAEBQUEUAQKCgRISHgfBAUFBB8IDgUFBQUEAwUHBwcVDAETOBcvExMYGBMTLxc4OBo2FRUbGxUVNho4qgUDqwMFBQOrAwURmZkRBQOrAwUFA6sDBRGZmUAnHB1EHSUfNhQUFxcUFDUfKyBDGxsjAWkUEhIvHCUaPhoaJCAZGD0dKxswERIU/j0GBQUMBQIGDAQFBgUDMwQFMwsFAgULIiIFBAMFCQgHEwlEAwUFA0QMGQoKDAAAAAgAAv/iAf4B3gAYADEASgBjAHwAlQCuAMcAAAUiJicuATU0Njc+ATMyFhceARUUBgcOASMRIgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjESImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBgcOARUUFhceATMyNjc+ATU0JicuASMnIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIxciJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjAQA0XSIjKCgjIl00NF0iIygoIyJdNDFWICElJSEgVjExViAhJSUhIFYxER8LCw0NCwsfEREfCwsNDQsLHxEOGAkJCgoJCRgODhgJCQoKCQkYDmALEgcHCAgHBxILCxIHBwgIBwcSCwcMBQUFBQUFDAcHDAUFBQUFBQwHwAsSBwcICAcHEgsLEgcHCAgHBxILBwwFBQUFBQUMBwcMBQUFBQUFDAceKCMiXTQ0XSIjKCgjIl00NF0iIygB6yUhIFYxMVYgISUlISBWMTFWICEl/lUNDAseERIeCwsODgsLHhIRHgsMDZUKCQkYDg0YCQkLCwkJGA0OGAkJCkAJBgcTCwoTBwcICAcHEwoLEwcGCVYGBAUMBwcNBAUFBQUEDQcHDAUEBlYJBgcTCwoTBwcICAcHEwoLEwcGCVYGBAUMBwcNBAUFBQUEDQcHDAUEBgAAAA4AAABgAgABTwAQABUAJgArADwAQQBeAG8AiACVALIAwwDcAOkAADcjIiY9ATQ2OwEyFh0BFAYjJzM1IxUFIyImPQE0NjsBMhYdARQGIyczNSMVNyEiJj0BNDYzITIWHQEUBiMlITUhFSUjIiYnLgE9ATQ2Nz4BOwEyFhceAR0BFAYHDgEjJyIGHQEUFjsBMjY9ATQmKwEXIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGFRQWMzI2NTQmIwcjIiYnLgE9ATQ2Nz4BOwEyFhceAR0BFAYHDgEjJyIGHQEUFjsBMjY9ATQmKwEXIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGFRQWMzI2NTQmI5FEBAUFBEQEBQUEPDQ0AV5EBAUFBEQEBQUEPDQ0gP4SBAUFBAHuBAUFBP4aAd7+IgGDSgUIAwMEBAMDCAVKBAkDAwQEAwMJBEoCBAQCSgIEBAJKJQYLBAQFBQQECwYGCwQEBQUEBAsGBQgIBQUICAV1SQUJAwMDAwMDCQVJBQgDAwQEAwMIBUkDAwMDSQIEBAJJJAYLBAQFBQQECwYHCgQEBQUEBAoHBQcHBQYHBwZgBQREAwUFA0QEBREzMxEFBEQDBQUDRAQFETMzMwUEIgMFBQMiBAUREREiBAMDCQVJBQgDAwQEAwMIBUkFCQMDBGcEAkkDBAQDSQIESQUEBAsGBgsEBAUFBAQLBgYLBAQFKwgFBQgIBQUISQQDAwkFSQUIAwMEBAMDCAVJBQkDAwRnBAJJAwQEA0kCBEkFBAQLBgYLBAQFBQQECwYGCwQEBSsIBQUICAUFCAAABwAA/+kCAAHXAA4AHwAkADgATABgAHQAABciJjURNDYzMhYVERQGIyUhIiY1ETQ2MyEyFhURFAYjJSERIRE3IyImNTQ2OwE1NDYzMhYdARQGIxUiJj0BIyImNTQ2OwEyFh0BFAYjJSEiJj0BNDYzMhYdASEyFhUUBiMFIiY9ATQ2MyEyFhUUBiMhFRQGIwkEBQUEAwUFAwHu/hIEBQUEAe4EBQUE/hoB3v4igIADBQUDeAUDBAUFBAMFeAMFBQOABAUFBAFe/uYDBQUDBAUBEQMFBQP+5gMFBQMBGgMFBQP+7wUEFwUDAd4DBQUD/iIDBZEFAwFEBAUFBP68AwURATP+zaoFBAMFeAMFBQOABAWzBQRmBQQDBQUDbwQFswUEgAMFBQN4BQMEBbMFBG8DBQUDBAVmBAUABQAM/+AB9AHgACIAMAA/AGoAlQAABTgBMSMiJi8BBxQGKwEiJicuATUTNDYzITIWFRMUFjEUBiMnMwMhAzM3PgEzMhYVFxMhIiY1NDYzITIWFRQGIwciJicuATc+AScuATU0Njc+ATc+ARceAQcOAScmBgcOARceAQcUBgcOASMzIiYnLgEnJjY3NiYnLgEHBiYnJjY3NhYXHgEXHgEVFAYHBhYVFgYHDgEjAevHAwUBGxwFA8cCAwIBAT4FAwFcAwU9AQUEwLY7/rQ7tSMBBQMDBSOL/pkDBQUDAWcDBQUD3AEDAgIBAgEQFgYHBgYGDQgHDgYDAwECBgMGFAgECQ0MBwEIBAIDAkwCBAEECAEBCAsNCAQIFAYDBwEBAgQGDgcHDgUHBgcGFhADAQMBAwEgBAO0tAMEAgEBBAIB7wMEBAP+EwECBAURAd7+IuMEBAQE4wGJBQMEBQUEAwVzAQECBwMBJRsIEgkJEgkHCwMDAQICBgMEAwICCQsFHBAOGwwLEgUCAQECBRILDBsOEBwFCwkCAgMEAwYCAgEDAwsHCRIJCRIIGyUBAwcCAQEABwAPAA4B8QGyAG8A3wFPAWoBhQGUAaMAACUiJicuASMOAQcOAQcGJicuASMOAQcOAQcGJicuASMOAQcOAQcGJicuATc2MhceATc+ATc+ATc2FhceATc+ATc+ATc2FhceATc+ATc+ATc2FhceATc+ATc+ATc2FhcWBgcGIicuASMOAQcOAQcOASMXIiYnLgEHDgEHDgEHBiYnLgEHDgEHDgEHBiYnLgEHDgEHDgEHBiYnLgE3NjIXHgEzPgE3PgE3NhYXHgEzPgE3PgE3NhYXHgEzPgE3PgE3NhYXHgEzPgE3PgE3NhYXFgYHBiInLgEHDgEHDgEHDgEjFyImJy4BByIGBw4BBwYmJy4BByIGBw4BBwYmJy4BByIGBw4BBwYmJy4BNzYyFx4BNzI2Nz4BNzYWFx4BNzI2Nz4BNzYWFx4BNzI2Nz4BNzYWFx4BNzI2Nz4BNzYWFxYGBwYiJy4BByIGBw4BBw4BIyciJic3JjY3PgEzMhYHFgYjIgYHDgEXBxYGIzMiJjcnPgE3PgEzMhYXDgEjIgYHDgEHFw4BIycjIiY3JjY7ATIWBxYGIwcjIiYnPgE7ATIWFw4BIwGQCBAKBQ0EBwoJBRAIChIMBgwEBwsIBREICRMLBgwFBgsIBhAIChIMAQEDAggBCAoHBA0GCA4KCBQKBwsGBQwHBw4KCBQKCAoGBQ0GBw8JCBUJCAoHBA0GCA4KCBQKAwEBBAYDBgwFBgsIAwkEBggHAQgQCgUNBAcKCQUQCAoSDAYMBAcLCAURBwoTCwYMBQYLCAYQCAoSDAEBAwIIAQgKBwQNBggOCggUCgcLBgUMBwcOCggUCggKBgUNBgcPCQgVCQgKBwQNBggOCggUCgMBAQQGAwYMBQYLCAMJBAYIBwEIEAoFDQQHCgkFEAgKEgwGDAQHCwgFEQgJEwsGDAUGCwgGEAgKEgwBAQMCCAEICgcEDQYIDgoIFAoHCwYFDAcHDgoIFAoICgYFDQYHDwkIFQkICgcEDQYIDgoIFAoDAQEEBgMGDAUGCwgDCQQGCAdXBQQBAQEOCQwcEQMGAQEGAw4VCgcLAQEBBgJlAgYBAQELDAkeDwUEAQEEBQsYBwoIAQEBBAUHVwIGAQEGAlcCBgEBBgIBVQQEAQEEBFUEBAEBBATBBwkGBQEHBAUIAgEGCwYFAQcEBQgCAQYLBgUBBwQFCAIBBgsCBwMCAgcFAQEGBQQJAQIHCgcFAQEGBQQJAQIHCgcFAQEGBQQJAQIHCgcFAQEGBQQJAQIHCgMHAgMDBgUBBwQDBQIDAloHCQcFAQEGBQQJAQIGCwcFAQEGBQQJAQIGCwcFAQEGBQQJAQIGCwMHAgMDBgUBBgUFCAIBBgsGBQEGBQUIAgEGCwYFAQYFBQgCAQYLBgUBBgUFCAIBBgsCBwMCAgcFAQEGBQIGAgIDWQcJBgUBBwUECQEBBgsGBQEHBQQJAQEGCwYFAQcFBAkBAQYLAgcDAgIHBQEHBQQJAQIHCgcFAQcFBAkBAgcKBwUBBwUECQECBwoHBQEHBQQJAQIHCgMHAgMDBgUBBwUCBQMCAu8FBF4QHQoLDAUDBAUJCQgXDF4EBQUEXhAdCgsMBQMEBQkJCBcMXgQFXgUEAwUFAwQFRAUDBAUFBAMFAAAAAgCA/+IBgAHeAIAA1wAABSImJy4BJyY0NTQmJy4BIyImPQE0Njc+ATc+ATc+ATU0JicuATU0Njc+ATU0Jic8ATc+ATsBMhYVFBYXHgE7ATI2Nz4BNTQ2OwEyFhcWFBUOARUUFhceARUUBgcOAQcOARUUFhceARceARceAR0BFAYjIgYHDgEVHAEHDgEHDgEjJx4BMzI2NzQ2Nz4BNzU0JicuAScuAScuATU0Njc+ATc+ATcuATUmNjcjDgEHDgErASImJy4BJyMeAQcOAQcUFhceARUUBgcOAQcOAQcOAR0BHgEXHgEVAQQGDQYHCgMBBgkIHhgEBQICAgUCAwUBAgICAgIDAQEICAYHAQIDAjADBQcGBhAJBAkRBQYHBQQvAgQBAQYHBwgCAQEBAQMBAgQCAQIEAgIEAQICBQQXHQcIBgEECQUFCwcdBBEICQoGBwkJIBkCAQIEAgIEAgECAQEBAgICAwEJCQEGBRsBBwcHFxAEEBcHBwcBGwUGAQEICQMBAgMCAgIFAgMEAgICFiEKCwoeAwQDCgYBAgESHAoKCwUDCwwWCQkRCAgQCQgUCxAQBwgSEQEEAQgfFBMnEAIEAgICBQQTLRMTGhoTEy0TBAUCAgIEAhAnExMgCAEEAQkNBQUIBAcQDwsUCAkQCAgRCQoVDAsDBQoJCh0TAQIBCAoDAwIgBwgFChQhDAwOAQIMEwkJEAgIEAoJFQwJDQUFCAQGDw0LIRMTJxERLhYVHx8VFi4REScTEyELDQ8HBxMRDBUKCREICBAICRMMAgEMCwsiFwAABgAAADUCAAGLAA4AJQA0AEsAXABhAAAlIyImNTQ2OwEyFhUUBiMHKgEnLgE/AScmNjc2Fh8BFhQPAQ4BIycjIiY1NDY7ATIWFRQGIwciJi8BJjQ/AT4BFx4BDwEXFgYHBiIjBSEiJjURNDYzITIWFREUBiMlIREhEQGr7wQFBQTvAwUFAycBAwEDAQIoKAICAwMHASsBASsBBAJA7wMFBQPvBAUFBMQCBAErAQErAQcDAwICKCgCAgMBAgEBd/4SBAUFBAHuBAUFBP4aAd7+IvEFBAMFBQMEBUEBAgcDPUUDBwICAgNKAgUCQgECDgUDBAUFBAMFSgICSgIFAkoDAgICBwNGRQMHAgE/BQQBRAQFBQT+vAQFEQE0/swAAAAABQAA/+kCAAHXAA4AHwAkAEkAYgAAFyImNRE0NjMyFhURFAYjJSEiJjURNDYzITIWFREUBiMlIREhESUjIiY9ASMiJj0BNDY7ATU0NjsBMhYdATMyFh0BFAYrARUUBiMnMzU0NjsBNSMiJj0BIxUUBisBFTMyFh0BCQQFBQQDBQUDAe7+EgQFBQQB7gQFBQT+GgHe/iIBGlYDBTwDBQUDPAUDVgMFPAMFBQM8BQNNRAUEOzsEBUQFBDs7BAUXBQMB3gMFBQP+IgMFgAUDAVUEBQUE/qsDBREBRP68IgUDPAUEVQMFPAQFBQQ8BQNVBAU8AwURPAMFRAUEPDwEBUQFAzwAAAAGAAIAKwH+AZUAFgAxAEgAYwCMAMEAACUiJicuAT8BJyY2NzYWHwEWBg8BFAYjByImNyY2Nz4BOwEyFhcOASsBIgYHDgEXDgEjFyImLwEmNj8BNjIXFgYPARceAQcUBiM3IyImJz4BOwEyNjc+ASc+ATMyFgcWBgcOASMXISImJy4BJz4BNz4BMz4BNz4BMzIWFx4BBxYGFx4BFx4BFw4BBw4BIyUiBgcOAQceARceATMhMjY3PgE3LgEnLgEnLgE1NiY3LgEnLgEjIgYHDgEHDgEjMiIxIjIjAVcCAgMBAQMWFgMBAQQGAxwDAQEeBAGjAgYBAQ4KDR0SagQEAQEEBGoPFwoICwEBBAUzAwICHAMBAR4BCAIEAQIYGAIBBAQBVmwEBAEBBARsDxcJCAsBAQQFAgYBAQ0KDB0TY/7UFisPEREBARERDisWCiAYFTgdJkAaFx0BAQEBCREEBwUBAQ4ODCMS/tYUJQ0ODwEBDw4NJBMBLA8dCQwLAQEFBgQPCAMCAQEBARgXFTwhHTIVFB8GAgMFAQMBAQHIAQEDBwIZGQMHAgMBAh8CBwMeAgEsBQMSHgsMDQUEAwULCQkYDgMFOgEBHwIHAx4DAgMHAhkZAwcCAQEeBQQDBQsICRkNBAUFBBEeDAsNVRIQECsYGCsQEBIdLxEQExwZGEElAgQCBhIKChcMFCMNDQ/ZEA0OJBUUJQ0OEA0KCx0QChQJCQ4FAQUCAwYDITsWFhoSEBAtGwMDAAAABAAJAEwB9wFyAA4AHQA0AEsAACUhIiY1NDYzITIWFRQGIzUhIiY1NDYzITIWFRQGIwUiJi8BJjQ/AT4BFxYUDwEXFhQHDgEjJSoBJy4BPwEnJjY3NjIfARYUDwEOASMB7/4iAwUFAwHeAwUFA/4iAwUFAwHeAwUFA/5VAgMCMgICMgMHAgMCLS0CAwEDAQGBAgICAgECJiYCAQIDBwIqAgIqAQQBggUEAwUFAwQFqwUDBAUFBAMF4QECNgIHAjcCAQMCBwMwMQIHAwEBqwEDBwIxMQMHAgIDNgMGAjYCAQAGAAL/4gH+Ad4AGAAxAEsAcgCMALMAAAUiJicuATU0Njc+ATMyFhceARUUBgcOASMRIgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjFyImLwEuATU0Nj8BNhYXFgYPARceAQcOASMXIiY1NDYzMjY3PgE1NCYnLgErASImNTQ2OwEyFhceARUUBgcOASMHIiYnJjY/AScuATc2Mh8BHgEVFAYPAQ4BIzcjIiYnLgE1NDY3PgEzMhYVFAYjIgYHDgEVFBYXHgE7ATIWFRQGIwEANF0iIygoIyJdNDRdIiMoKCMiXTQxViAhJSUhIFYxMVYgISUlISBWMSsCAgJAAQICAUADBwIDAQM4OAMBAwEDAlYEBQUECRAGBgcHBgYQCZYEBQUElg0WCAgKCggIFg20AgMCAgECOTkCAQIDBwJAAgICAkABAwFAgw0YCQkLCQcIFAwEBQUECQ8FBQUIBwcSCYMEBQUEHigjIl00NF0iIygoIyJdNDRdIiMoAeslISBWMTFWICElJSEgVjExViAhJfEBATUBBAICAwE1AwEDAgcDLi8CBwMCATYFBAMFBwYHEAkJEQYGBwUEAwUKCAkWDQ0WCQgKQgIBAwcCLy8CBwMDAjUCAwICAwE2AQE2CgkJFw0NFwkJCgUEAwUJBgcRCAkRBwYIBQQDBQAGAAL/4gH+Ad4AFgAzAEoAZwCAAJkAACUiJicmND8BJyY0NzYWHwEWFA8BDgEjNyEiJicuAT0BNDYzMhYdARQWFx4BMyEyFhUUBiMnIiYvASY0PwE2MhcWFA8BFxYUBw4BIyUiJj0BNCYnLgEjISImNTQ2MyEyFhceAR0BFAYjAyImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIxEiBgcOARUUFhceATMyNjc+ATU0JicuASMBWwIDAQMCQEACAwIIAkUDA0UBBAE7/vQMGgsLDgUEAwULCAkUCQEMAwUFA/EBBAFFAwNFAggCAwJAQAIDAQMCAQoDBQgHBxEK/uwDBQUDARQNGAkJCwUErzRdIiMoKCMiXTQ0XSIjKCgjIl00MVYgISUlISBWMTFWICElJSEgVjFCAQEDBwJFRQMHAgMBAksCBwJLAQJHCgkJGA0DAwUFAwMJEgYHCAUEAwVOAgFLAgcCSwMCAwcCRUUDBwIBAg8FBAcJEAYGBwUEAwUKCAgXDAcEBf78KCMiXTQ0XSIjKCgjIl00NF0iIygB6yUhIFYxMVYgISUlISBWMTFWICElAAAAAwAC//EB/gHPADMATwBeAAAFISImPQEjIiYvATQ2PwE2MhceARUUFhceATMyNjc+ATU0Njc2Mh8BHgEVBw4BKwEVFAYjJSE1NDY7ATcnDgEHDgEjIiYnLgEnBxczMhYdARMjIiY1NDY7ATIWFRQGIwGG/u8DBT8CBQEkAgOVAgQCAgIQDQwfEA8eDAsPAgICBQKZAwIkAQUCQwUE/vgBAAUDRSCIAxMODiARESIODxQDhCBABAXevAQFBQS8AwUFAw8FBPcDA3wCBgFSAQEBBAMPGgoJCgoJCRoQAwQBAQFSAQYCfAMD9wQFEfgDBW9IERsKCgoKCgobEUhvBQP4AbwFAwQFBQQDBQAAAAUAK//gAdUB4AAcADkASgBPAF4AAAUhIiYnLgE1ETQ2Nz4BMyEyFhceARURFAYHDgEjASIGBw4BFREUFhceATMhMjY3PgE1ETQmJy4BIyEBISImNRE0NjMhMhYVERQGIyUhESERFyMiJjU0NjsBMhYVFAYjAa3+pggPBQYGBgYFDwgBWggPBQYGBgYFDwj+pgUIAwQDAwQDCAUBWgUIAwQDAwQDCAX+pgE2/u4DBQUDARIDBQUD/vcBAP8AmjQDBQUDNAMFBQMgBgYFDwkBrgkPBQYGBgYFDwn+UgkPBQYGAe8EAwMJBf5SBQkDAwQEAwMJBQGuBQkDAwT+ZgUEAVUEBQUE/qsEBREBRf67MwUEAwUFAwQFAAAGACv/4AHVAeAAHAA5AE8AXgBvAHQAAAUhIiYnLgE1ETQ2Nz4BMyEyFhceARURFAYHDgEjASIGBw4BFREUFhceATMhMjY3PgE1ETQmJy4BIyEXIiYnLgE1NDY3NjIXHgEVFAYHDgEjEyMiJjU0NjsBMhYVFAYjNyEiJjURNDYzITIWFREUBiMlIREhEQGt/qYIDwUGBgYGBQ8IAVoIDwUGBgYGBQ8I/qYFCAMEAwMEAwgFAVoFCAMEAwMEAwgF/qaxAgMBAQEBAQMHAgECAgEBAwIWNAMFBQM0AwUFA2/+7gMFBQMBEgMFBQP+9wEA/wAgBgYFDwkBrgkPBQYGBgYFDwn+UgkPBQYGAe8EAwMJBf5SBQkDAwQEAwMJBQGuBQkDAwQrAgEBAwIBBAECAgEEAQIDAQEC/m8FBAMFBQMEBSIFBAFEBAUFBP68BAURATT+zAAABwAA/+kCAAHXABwAOQBKAE8AXgCPAKgAACUhIiYnLgE1ETQ2Nz4BMyEyFhceARURFAYHDgEjASIGBw4BFREUFhceATMhMjY3PgE1ETQmJy4BIyEBISImNRE0NjMhMhYVERQGIyUhESERFyMiJjU0NjsBMhYVFAYjFyEiJicuATURNDY3PgE7ATIWFRQGKwEiBhURFBYXHgEzITI2NTQ2MzIWFRQGBw4BIycjIiY1ETQ2OwEyFhUUBisBETMyFhUUBiMB1/7JCA8GBQcHBQYPCAE3CQ8FBgYGBgUPCf7JBQgEAwMDAwQIBQE3BQkDAwQEAwMJBf7JAST+7wMFBQMBEQQFBQT++AEA/wCZMwMFBQMzBAUFBFH+gAgOBQUGAwQEDwxRBAUFBFEOBwMDAwgEAYAKDAUDBAUGBQUOCfuABAUFBEwEBQUERHgDBQUDCwYGBQ8IAXwIDwYFBgYFBg8I/oQIDwUGBgG7AwMECAX+hAUIAwQDAwQDCAUBfAUIBAMD/poFBAEzAwUFA/7NBAURASL+3kQFAwQFBQQDBUQHBwYQCAEaBAwEBQcFBAMFCQb+5gUJBAQFCwoDBQUDCA8FBQUiBQMBEQQFBQQDBf8ABQQDBQAABwAr/+AB1QHgABwALQA8AEsAaQB4AKgAAAUjIiYnLgE1ETQ2Nz4BOwEyFhceARURFAYHDgEjAyIGFREUFjsBMjY1ETQmKwEXIyImNTQ2OwEyFhUUBiMVIyImNTQ2OwEyFhUUBiMnIyImPQE0NjsBMhYdARQGIyImPQEjFTMyFhUUBiMHIyImNTQ2OwEyFhUUBiMXIyImJy4BNRE0Njc+ATMhMhYXHgEdARQGIyImPQE0JiMhIgYVERQWOwEyFhUUBiMBunQFCwMEBAQEBAoFdAULAwQEBAQDCwV0BAYGBHQEBgYEdH6IBAUFBIgEBQUEiAQFBQSIBAUFBJnFAwUFA+8EBQUEAwXevAMFBQNFIgMFBQMiBAUFBEXcBw0FBQYGBQYMBwEmBgoEBAQFAwQFBQb+2gcMDAfcAwUFAyAEBAQKBgENBQoEBAQEBAQKBf7zBgoEBAQBMwYE/vMFBgYFAQ0EBjMFBAMFBQMEBc0FBAMFBQMEBasFA94EBQUEgAMFBQN4zQUEAwUzBQMEBQUEAwUiAwMDCgYBQAYLBAQFBQQECgeeAwUFA54FCAkE/sADBQUEAwUAAAAIABH/4AHvAeAAKgBFAGIAfwCQAJUArgC7AAAlIiYnLgE9ATQ2Nz4BMxY2Nz4BPwE2MhceARceATcyFhceAR0BFAYHDgEjJxUUFhceATMyNjc+AT0BIiYnLgEnDgEHDgEjASEiJicuATURNDY3PgEzITIWFx4BFREUBgcOASMBIgYHDgEVERQWFx4BMyEyNjc+ATURNCYnLgEjIQEhIiY1ETQ2MyEyFhURFAYjJSERIREXIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGFRQWMzI2NTQmIwEAEh8LDA0BAQIDAhAVCAcKBgIDBwIHDwgJFAsCAwIBAQ0MCx8SRAoKCRkODhkJCgoKEwgJDwcFCwgHFg8BAP6IChMHBwgIBwcTCgF4ChMHBwgIBwcTCv6IBwwFBAYGBAUMBwF4BwwFBAYGBAUMB/6IAW/+mgQFBQQBZgQFBQT+ogFW/qqvBgsEBAUFBAQLBgYLBAQFBQQECwYFCAgFBQgIBZoNDAwgElgCAwEBAgEBAwMIBgIDAwYKAgMCAQECAQMCWBIgDAwNpk8OGgoJCwsJChoOTwMCAwkFBQgDAwP+oAgHBxMKAZoKEwcHCAgHBxMK/mYKEwcHCAHvBQUFDAf+ZgcMBQUFBQUFDAcBmgcMBQUF/ncFBAFVBAUFBP6rBAURAUX+u1MFBAQLBgYLBAQFBQQECwYGCwQEBSsIBQUICAUFCAAPAAf/4gH5Ad4AHAA5AFEAYABvAH4AjQClALQAwwDhAPABAQEGARUAACUhIiYnLgE1ETQ2Nz4BMyEyFhceARURFAYHDgEjASIGBw4BFREUFhceATMhMjY3PgE1ETQmJy4BIyEBKgEnLgE3PgE9ATQ2MzIWHQEUBgcOASMHIyImNTQ2OwEyFhUUBiMrASImNTQ2OwEyFhUUBiMrASImNTQ2OwEyFhUUBiMrASImNTQ2OwEyFhUUBiMnIiY1LgE9ATQ2MzIWHQEUFhUWBgcqATEnIiY9ATQ2MzIWHQEUBiM1IiY9ATQ2MzIWHQEUBiM1OAExIiY1PgE3PgE7ATIWFRQGKwEiBgcOAQcUBiM3IyImNTQ2OwEyFhUUBiMFISImNRE0NjMhMhYVERQGIyczESMRFyMiJjU0NjsBMhYVFAYjAdD+2gkOBgUHBwUGDgkBJggPBgUHBwUGDwj+2gUJAwMEBAMDCQUBJgUIBAMEBAMECAX+2gEiAQEBBAICAQEFBAMFAgIBBAMsMwQFBQQzAwUFA2czBAUFBDMEBQUEZjQDBQUDNAMFBQNnMwQFBQQzBAUFBFsDBQEBBQQDBQEBBAMBAQEEBQUEAwUFAwQFBQQDBQUDBAUBBgYFDwgCAwUFAwIFCAMEAwEFA28aAwUFAxoDBQUDAT7/AAQFBQQBAAMFBQP47++JIgQFBQQiAwUFAxEGBgUPCQF7CQ4GBQcHBQYOCf6FCQ8FBgYBvAQDAwkF/oUFCQMDBAQDAwkFAXsFCQMDBP4nAQEHAwMFAwoEBQUECgUJBQICEgUEAwUFAwQFBQQDBQUDBAUFBAMFBQMEBQUEAwUFAwQFGAQDAgUDKwMFBQMrAgMBBAYBZwUDMwQFBQQzAwVmBQQzBAUFBDMEBWcFBAgOBQYGBQQDBQQDAwgFAwUfBQMEBQUEAwXnBQQBMwQFBQT+zQQFEQEj/t0zBQQDBQUDBAUAAAkAIv/gAd4B4AAcADkASABZAF4AbQB8AIsAmgAABSEiJicuAScTJjY3PgEzITIWFx4BBxMOAQcOASMBIgYHDgEHEwYWFx4BMyEyNjc+AScTLgEnLgEjIRMjIiY3JjY7ATIWBxYGIzchIiYnEyY2MyEyFgcTDgEjJSETIRMTIyImJz4BOwEyFhcOASMXIyImNyY2OwEyFgcWBiMHIyImJz4BOwEyFhcOASMHIyImNyY2OwEyFgcWBiMBtf6VCA8FBgYBAQEIBAcNCgFpCg0HBAgBAQEGBgUPCP6VBAoCBAMBAQEFAgQIBgFpBggEAgUBAQEDBAIKBP6VxzQDBgEBBgM0AwYBAQYDkP69BQQBAQEGAwFFAwYBAQEEBf7FATMB/ssB/9wFBAEBBAXcBQQBAQQFAd4DBgEBBgPeAwYBAQYDAdwFBAEBBAXcBQQBAQQFZXgDBgEBBgN4AwYBAQYDIAYGBQ8JAa4JDwUGBgYGBQ8J/lIJDwUGBgHvBAMDCQX+UgUJAwMEBAMDCQUBrgUJAwME/kQFBAMFBQMEBSIFBAFmBAUFBP6aBAURAVb+qgEjBQMEBQUEAwVFBQQDBQUDBAVEBQQDBQUDBAVEBQMEBQUEAwUAAAkABf/jAfsB2wAYADEAQwBVAGcAeQCSAKQAtgAAFyImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBgcOARUUFhceATMyNjc+ATU0JicuASM3IiYvASY0NzYyHwEWFAcOASMjIiYnJjQ/ATYyFxYUDwEOASMBIiYvASY0NzYyHwEWFAcOASMjIiYnJjQ/ATYyFxYUDwEOASMnIiY9ATQ2MyE1NDYzMhYdARQGIyEVFAYjNyImJyY0PwE2MhcWFA8BDgEjMyImLwEmNjc2Mh8BFgYHDgEjYA8bCgoLCwoKGw8PGgoKCwsKChoPDBQIBwkJBwgUDAsUCAcJCQcIFAtAAgMBlQICAwcClQICAgMBlQIDAQIClQIHAwIClQEDAgHqAgMBlQICAwcClQICAQMClQEDAgIClQIHAwIClQEDAv4EBQUEATwFAwQFBQT+xAUD/gEDAQMCRgIHAwMDRQIDAowCAwFGAwECAwcCRgMBAgIDAQgLCgoaDw8bCgoLCwoKGw8PGgoKC4AJBwgUDAsUCAcJCQcIFAsMFAgHCcABAZUCBwMCApUCBwMBAQEBAwcClQICAwcClQEB/qsBAZUCBwMCApUCBwMBAQEBAwcClQICAwcClQEBnQUEXgMF3gQFBQTmBAVVBAX4AQECCAJNAwIDBwNMAgEBAkwDBwMCA00CCAIBAQAAAAAE//4AaQICAVcAFwAjADwAVQAAJSEiJi8BLgE1NDY/AT4BMyEyFh0BFAYjJSE1IQcOARUUFh8BJyImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBgcOARUUFhceATMyNjc+ATU0JicuASMB+v5iAgMCQgsKCgtDAQMCAZ4DBQUD/mUBkv5uQAgICAhAAwsTBwcICAcHEwsKEwcHCAgHBxMKBw0FBAYGBAUNBwcMBQQGBgQFDAdpAQFGCxkNDRkKQwEBBQPeAwURzEAIEwkKEwhDNQgHBxMKCxIHBwgIBwcSCwoTBwcIVQUFBA0HBwwFBQUFBQUMBwcNBAUFAAAEAA7/7gHyAdIAIwAvAE4AZwAAFyImLwEuATU0NjcBPgEzFzIWFx4BFx4BFx4BFRcUBgcBDgEjJxcBJzQmJy4BIycBJSImJy4BJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BBw4BIzUiBgcOARUUFhceATMyNjc+ATU0JicuASO8AgMBpgEBAQEBLgEDAmIHDgcGDAUFCAMDAgQBAf7SAQMCmpoBJQQICAcVC1/+2wF1BQoFBAkDCAcHCAcTCgoTBwgHBwgECAUECgUHDAUFBQUFBQwHBg0FBQUFBQUMBxIBAaYBAwICAwEBLgEBBAIDAwgFBQwGBw4HYgIDAf7SAQGumgElXwsUCAgIBP7bqAIBAgYEBxMKChMHBwgIBwcTCgoTBwQGAgECVQUFBQ0GBwwFBQUFBQUMBwYNBQUFAAAABv/+AGkCAgFXABcAIwA8AFUAZABzAAAlISImLwEuATU0Nj8BPgEzITIWHQEUBiMlITUhBw4BFRQWHwE3IiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIwUjIiY1NDY7ATIWFRQGIxUjIiY1NDY7ATIWFRQGIwH6/mICAwJCCwoKC0MBAwIBngMFBQP+ZQGS/m5ACAgICEASCxIHBwgIBwcSCwoTBwcICAcHEwoHDQQFBQUFBA0HBwwFBQUFBQUMBwE8zQMFBQPNAwUFA80DBQUDzQMFBQNpAQFGCxkNDRkKQwEBBQPeAwURzEAIEwkKEwhDNQgHBxMKCxIHBwgIBwcSCwoTBwcIVQUFBA0HBwwFBQUFBQUMBwcNBAUFEwUEAwUFAwQFMwUDBAUFBAMFAAAAAAYAAABpAgcBVwAnAD0AVgBvAH4AjQAAJTgBMSEiJi8BLgEnLgE1NDY3PgE/AT4BMyEyFhcWBg8BFx4BFRQGIyUhJyY0PwEhBw4BBw4BFRQWFx4BHwE3IiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIxcjIiY1NDY7ATIWFRQGIxUjIiY1NDY7ATIWFRQGIwH+/mACAwFDBQgDAgMDAgMIBUMBAwIBoAIEAgEBAVJQAgIFBP5kAYpKAgJK/nVABAYCAgICAgIGBEERChMHBwgIBwcTCgsSBwcICAcHEgsHDAUFBQUFBQwHBw0EBQUFBQQNB9ZnAwUFA2cDBQUDZwMFBQNnAwUFA2kBAUYFDAYGDQcGDQYHCwVDAQECAgIFAmpoAQQCAwURYQIGAmFABAkEBQkFBQoFBAkEQzUIBwcTCgsSBwcICAcHEgsKEwcHCFUFBQQNBwcMBQUFBQUFDAcHDQQFBRMFBAMFBQMEBTMFAwQFBQQDBQAAAAAEAA7/7gHwAdIAGgAsAEsAZAAABSImJwEuATU3NDY3PgEzNzIWFwEWFA8BDgEjCQE3AQciBgcOAQcOAQcOARUHNyImJy4BJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BBw4BIzUiBgcOARUUFhceATMyNjc+ATU0JicuASMBRAIDAf7SAQEECwoKGg9iAgMBAS4CAqYBAwL+2wElmv7bXwULBQUJBAQGAgICBEoFCgQFCAQIBwcIBxMKChMHCAcHCAMJBAUKBQcMBQUFBQUFDQYHDAUFBQUFBQwHEgEBAS4BAwJiDxoKCgsEAQH+0gIHA6YBAQE5/tuaASUEAgICBgQECQUFCwVfHQICAQYEBxMKChMHBwgIBwcTCgoTBwQGAQICVQUFBQ0GBwwFBQUFBQUMBwYNBQUFABsAAAAGAu8BugAQABUAKQAuAEIARwBYAF0AhgCVAMAA1gDgAPYBAAEQARoBKgE0AUMBUgFhAXABdQF6AX8BhAAAJSMiJjcnPgE7ATIWFwcWBiMnMycjBwcjIiY3Jz4BPwE2FhceAQcXDgEjJzM3BxcFIyImJzcmNjc+AR8BHgEXBxYGIyczLwEHJyMiJjcnPgE7ATIWFwcWBiMnMycjBzciJic3LgEnLgEjIgYHDgEXBxYGIyImJzcmNjc+ATMyFhceARcHFgYjJyImNyc+ATMyFgcXDgEjEyImJzcuAScuASsBIgYHDgEHFw4BIyImNyc+ATc+ATsBMhYXHgEXBxYGIycjIiYnNyY2Nz4BMzIWFx4BFwcWBiMnMyc2JiMiBgcXFyMiJic3JjY3PgEzMhYXHgEXBxYGIyczJzYmIyIGBxclIyImJzcmNjMyFhcHFgYjJzMnNiYjIgYHFxcjIiYnNyY2MzIWFwcWBiMnMyc2JiMiBgcXNyImNyc+ATMyFgcXDgEjMyImJxMmNjMyFhcDFgYjISImNyc+ATMyFgcXDgEjIyImJxMmNjMyFhcDFgYjJTMHIyc3MxcjNwUzByMnJzMXIzcBxKsDBgEBAQQFqQUEAQEBBgOjmwGZAQd5AgYBAQEDBHYDAwIBAgEBAQQEbmUBZwEBoYgEBAEBAQIBAgMDhwQDAQEBBgKBeAF2AQirAwYBAQEEBakFBAEBAQYDo5sBmQGjBAQBAQEMCwodDhEbCwoNAQEBBgIFBAEBARAMDSIUEiMMDg4BAQEGA1YDBgEBAQQFAgYBAQEEBDQEBAEBAQYGBQ0FAwUMBAUEAQEBBAQDBgEBAQcHBhIJAwgUBgkJAQEBBgOsMgQEAQEBBgQFDAgGDgMGBAEBAQYDKyMBAQsGCAkBASkyBAQBAQEGBAUMCAYOAwYEAQEBBgMrIwEBCwYICQEBAUwiBAQBAQEHExQFAQEBBgIbEgEBBgIEBQEBGSIEBAEBAQcTFAUBAQEGAhsSAQEGAgQFAQGQAgYBAQEEBAMGAQEBBAVWBAQBAQEGAgUEAQEBBgP9dwMGAQEBBAUCBgEBAQQEVAUEAQEBBgMEBAEBAQYCAn8SARABVhABEgH9dhIBEAFUEAESAQYFBO8DBQUD7wQFEd7eEQUE2gMEARUBAQIBAwLvBAUR3RPKEQUE7wIDAQIBARUBBAPaBAURyhPd3gUEIgQFBQQiBAUREREJBQMPEBwKCwwLCgoaDxQDBQUDFBMgDAwODw0MIxMPAwVmBQQzBAUFBDMEBf6aBQOLBwsFBAUFBAULB4sDBQUDiwoSBwYIBwcGEguLAwWABQMkBw0FBQYFBQUMCCUDBREdBwoLCBuaBQQsBw0FBQYFBQUMCC0EBREmBwoLCCR4BQMkBh4cByUDBREdDAUFDhuaBQQsBh4cBy0EBREmDAUFDiQ8BQSqBAUFBKoEBQUEAQADBQUD/wAEBQUEqgQFBQSqBAUFBAEAAwUFA/8ABAU8iYlV3t5ViYlV3t4AAAcAIv/hAd4B3wAYADEAbACtAMYA3wDkAAAXIiY1NDY3PgEzMhYVFAYjIgYHDgEVFAYjISImNTQmJy4BIyImNTQ2MzIWFx4BFRQGIyciJicuAScuAScuAT0BNDY3NTQ2Nz4BMz4BMzIWFx4BFx4BFx4BBxUyFhceAR0BFAYHDgEHDgEHDgEjEyIGMSIGMSIGBw4BHQEUBgcOAR0BFBYzMhYVFBYXHgEzMjY3PgE1NDYzMjY9ATQmIyImPQE2NCcuAScuAScuASMDIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjJyIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIwczFSM1KwQFEhAQKhcEBQUEFCQNDRAFAwGqAwUQDQ0kFAQFBQQXKhAQEgUE1hcpEA8UAQUJAwMEDQQLCQkYDwQnGA0ZCgsQBgQGAgEBAgcLBAMDAgMDBwUBEhAPKBcMGScBAQsTBwcHAwIECQoFBAUPDg0kFRQjDQ0QBQMGBQoJBAUBAQEEAwURCgkTCAcLFAcICQgHBxILCxIHBwgGBQYSDAQHDAUFBQcGBQ4GBwoEBAUFBQUMBwQRERAFBBcqEBASBQQDBRANDSQUBAUFBBQkDQ0QBQMEBRIQECoXBAWVGBITLhYCBQQECQUrCQ4DJg8bCQoLAgcDBAMJBwUMBwgQCCEFBAQKBysFCQQEBQEXLxITFwFJCAEIBwgUDCsCBAECCQMrBQgFAxQrEREXFxERKxQDBQkEKwcGBQMrBw0GBQkEBggCAgL+JA8KCxkKChMHBwgIBwcTCgoYCwsPaQYEBQwHCBMICAsLCAgTCAcMBQQGWCIiAAUAP//gAcEB3wA8AFgAdAC/AS0AABMiJiMuAScuAScuATU0Njc+ATMyFhceARUUBgcGIicmNDc+ATU0JicuASMiBgcOARUUFhceARceAQcOASMXIiYnJjQ3PgE1NCYnJjQ3NjIXHgEVFAYHDgEjIyImJy4BNTQ2NzYyFxYUBw4BFRQWFxYUBw4BIxMjIiYnLgEnLgEnLgEnLgE1NDY3PgEzMhYfATU0Njc+ATMyFhceAR0BPgEzMhYXHgEXPgEzMhYXHgEXPgEzMhYXHgEdARQGByIGIwMiBgcOARUeARceARceARceARceATsBPgE3PgE9ATQmJy4BIyIGBw4BFRQGIyImPQE0JicuASMiBgcOARUUBiMiJj0BNCYnLgEjIgYHDgEVFAYjIiY9ATQmJy4BIyIGBw4BHQEUBgcGJi8BLgEjqAEBAQQJBAQHAwwMDAwMHg8QHgwMDAwMAgcDAgIKCQkKCRgNDBgJCgkJCgUNBwMDAQEEA2MCAwEDAw4PDw4DAwIHAxEREREBAwKXAgMBEREREQIIAgMDDg8PDgMDAQMC5HkSIA4PGQwFCQQECAQEBgUGBg4HCA4GHgcGBRAICQ8GBgcFDgcHDQYFCAIGDgcHDgUGCAEGDgcJDwYGB2IDAQIB8gQJAwMDAQMDBAgFBAoFChcNDRsOdgUeEA8ZBQMECQUFCQQDBAUEAwUFAwQJBQQKAwQFBQMEBQQEAwkFBQoDBAQFAwQFBAQDCgUFCQMEBAMDAgUCLQMHBAFCAQEEAwIGAwwdEA8eCwwMDAwLHg8QHQwCAgIHAwkXDQwXCQoJCQoJFwwNFwkFCAIBBwMDAwYBAQIHAw4jExIkDgIHAwICESoVFikRAQEBAREpFhUqEQICAwcCDiQSEyMOAwcCAQH+pBsVFjUaChQJCA8FBhIJCREFBgYFBiCvCA4FBQcHBQUOCF8EBAUEBAsGBAUEBAQLBwUEBgUGDgdxQE0CAQEUBAMECwYGDAUFDwkJFAsWMRUUGwMUERErG3EECAMDBAQDAwgEAwUFAxUECAMDBAQDAggFAwUFAxQFCAMDAwMDAwgEBAQEBH0FBwMDBAQDAwgExQMEAQEBAjEDAwAKAA3/7QHzAdMAGAAxAEAATwBeAG0AhgCfALwA2QAABSImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIxEiBgcOARUUFhceATMyNjc+ATU0JicuASMHIiY9ATQ2MzIWHQEUBiMRIiY9ATQ2MzIWHQEUBiMnIyImNTQ2OwEyFhUUBiMhIyImNTQ2OwEyFhUUBiMHIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIwMiJj0BNDY3PgE7ATIWFRQGKwEiBgcOAR0BFAYjNzU0JicuASsBIiY1NDY7ATIWFx4BHQEUBiMiJjUBADJZISEmJiEhWTIyWSEhJiYhIVkyL1IfHyMjHx9SLy9SHx8jIx8fUi8CBAUFBAMFBQMEBQUEAwUFA7QzAwUFAzMEBQUEAZozBAUFBDMDBQUD5BQiDAwNDg0MIRMTIQwNDg0MDCIUDxsKCgwMCwobDg4bCgsMDAoKGw9zBAUKCAgVCxwDBQUDHAgPBQYHBQPeBwYFDwgcAwUFAxwLFQgICgUEAwUTJiEhWTIyWSEhJiYhIVkyMlkhISYB1SMfH1IvL1IfHyMjHx9SLy9SHx8jLwUDIgQFBQQiAwX+ZgUEIgMFBQMiBAXWBQMEBQUEAwUFAwQFBQQDBUAdFBUuEhMhDA0ODg0MIRMSLhUUHdAMCgobDxEoEhIYGBISKBEPGwoKDP7wBQMYDBYJCAoFAwQFBwYGEQgYAwUIGAgRBgYHBQQDBQoICRYMGAMFBQMAAAoAAP/gAgAB4AAYADEAQABPAF4AbQCGAJ8AuADFAAAlIiYnLgE3JjY3PgEzMhYXHgEXDgEHDgEjAyIGBw4BBx4BFx4BMzI2Nz4BJzYmJy4BIxcjIiY3JjY7ATIWBxYGIyEjIiYnPgE7ATIWFw4BIzciJic3JjYzMhYXBxYGIwMiJjcnPgEzMhYHFw4BIzciJicuATcmNjc+ATMyFhceARcOAQcOASMDIgYHDgEHHgEXHgEzMjY3PgEnNiYnLgEjByImJy4BNyY2Nz4BMzIWFx4BFw4BBw4BIyciBhcGFjMyNjcuASMBBixMHhwiAQEiHB5MLCtOGx4gAQEgHhtOKwEnSBkbHgEBHhsZSCcpRhsaHwEBHxobRinymgMGAQEGA5oDBgEBBgP+qpgFBAEBBAWYBQQBAQQFXwUEAQEBBgMFBAEBAQYDAQMGAQEBBAUDBgEBAQQFBx81FRMYAQEYExU1Hx42ExUWAQEWFRM2HgEaMBESFAEBFBIRMBocLxIRFQEBFRESLxwFBwoFAwYBAQYDBQoHBQwDBQQBAQQFAwwFAQQJAQEJBAYHAQEHBhEhHR1NKyxNHRwhIRwdTSwrTR0dIQGVHhsaRygoRxoaHx8aGkcoKEcaGx7PBQQEBQUEBAUFBAQFBQQEBV4FBJkEBQUEmQQF/qsFBJkEBQUEmQQFcRcUFDYeHzUUFBcXFBQ1Hx42FBQXARUUEhEwGxsvEhEVFRESLxsbMBESFKQFBAQLBgYLBAQFBQQECwYGCwQEBSsIBQUICAUFCAAAAAYAC//jAfQB3QCBAQMBHwE7AV0BeQAAFyImJy4BJy4BJy4BNTQ2Nz4BNz4BNz4BMzoBFzIWFx4BFx4BFx4BMzI2Nz4BNzYWFxYGBw4BBw4BIyImJy4BJy4BJyImIyIGBx4BFx4BBx4BFx4BFx4BHQEWBgcOAQcWBgcOASMGJicuASMiBgcOARceARceAQcUBgcOAQcOASM5AQMiBgcOAQcUBgcOAQcOARUUFhceARceARceATM4ATEyNjc+ATcuAScuAScuAScmNDc+ATc+ATM+ARceARc2NCcmNDc+ATM+ATc+AScuAScuASc8ATU2JicuASciJjU+ATMyFjMeATMeARceATMyNjcyNjciJicuAScuAScuASMmIiMHIiYxLgEnLgE3NDYzHgEHBhYXHgEXHgEHDgEjFyImJy4BJyY2NzYWFx4BFx4BNzYWFxQGIw4BIzciJicuAScmBgcOASciJjU+ATMWNjc+ARceARcWBgcOASMnIiYnLgEnJjQ3NjIXHgEXMjY3NhYXFAYHIgYj/BkvFhYnEhAZCQkJDQwMJBcIFg8OJRUGCgUGDgcIEAkOHxARIxEIDgYHDgYDBgEBAQMLGQ0OHRAJEgkJEQcGDAUFCQULCgIQLBMTGAIEDwkIEQUCAwEBBAUXFQEEAQEDAwIEAgMlFAQHAwUFAQcVCgkOAQMDCxULChYKHAwcDg4ZCQICFSILDAwJCAgXDw8lFRQtFwkSCgkSCgINCQgSBQECAQECAQcEAQICCBYLCxYIAQEBAQEDAhMUBAUBAQcSCQkQBAMbFBQpCgQDAyAHBQoGBQwGCBAICREJBgwFBgsFEyQRER8OCQ8IBw0FBAoFNQEBDBoKCQoEBgQDBAEDCAgIFAoEAwEBBANcFy4UEx4GAgMDBAYCBiAVFTAXAwYBBAMGDQdvAgMBChQKCxQJCAwGAwQBBQQDCwYKFw0NGQwCAQICAgIiBw0HBgsFAgIDBwMEDwkJEQcDBgEEAwQPCR0IBwgXDg4hEhIlEyRAGhsqDxglDAwMAQMCAgUDBAkEBAUBAQECAgEDAwIGAggLBAQEAQEBAwEBAQEBBQUEEAwNIxgIEwgIDAIBBAMCBxcMDBUFChQFAwMBAgIEDAEBCRwGBRMMDBwNAwQBAwQCAQEB6QUJCSMeAgIBDScZGTwjESIQEB4NDRYHBwcBAQEDAwoWCQoPAwECAgQRCQoSBgECAgECAgYEBwwDAgQCAgIDDgkJFAcEDgkJFAoBAgEVIAsLDAMGAxgIAQECAgIBAQEBAQIBBQQECQUCBQICAwG6AQMSDQ4iEwMEAQYDDxsLCw8DAQYDAwSbDgwMHxADBgIBAwMQHgoLCQQBBAMEBgIBGQICCwsBAgMBAgEBBgMEBAECAQEDAgINDwMHAgEBiQECAgYEAwcCAwMFBAEBAQEEBAMGAQIAAAQAMv/iAc4B3gAYADEAWAB/AAAFIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjESIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIyMiJicuAScuAScuASsBIiY1NDY7ATIWFx4BFx4BFx4BMzIWFRQGIyMiJjU0NjMyNjc+ATc+ATc+ATsBMhYVFAYrASIGBw4BBw4BBw4BIwEAK0scHCAgHBxLKytLHBwgIBwcSysnRRoaHR0aGkUnJ0UaGh0dGhpFJwgRHAoLEggHDgcHEAoeBAUFBB4NFQkIEAcIEAkJFw4EBQUEAgQFBQQOGAkKEQkHEQkJFQ0SBAUFBBIKEQcIDggIEwwLHBEeIBwcSyoqSxwbISEbHEsqKkscHCABiR4ZGkQnJ0QaGR4eGRpEJydEGhkeCggIFAoIEAUGBwUDBAUJBgcRCQoSBwcIBQQDBQUDBAUICAcSCQkRBwcIBQQDBQcGBg8IChQICAoAABAAAP/0AgABzAAsAFkAfgCXAKQAvQDKAOkBCAEXAS4BMwE4AT0BQgFHAAAlISImJy4BNyc+ATc+AT8CPgE3PgE7ATIWFx4BHwIeARceARcHFgYHDgEjASIGBw4BDwEUBiMHDgEXBx4BFx4BMyEyNjc+ATcnNiYvASImNScuAScuASsBFyImJy4BJy4BNz4BFx4BFx4BMzI2Nz4BNzYWFxYUBw4BBw4BIwciJicuATcmNjc+ATMyFhceARcOAQcOASMnIgYXBhYzMjY3LgEjBSImJy4BNyY2Nz4BMzIWFx4BFw4BBw4BIyciBhcGFjMyNjcuASMFIiYnLgE3JzMHHgEXHgEzMjY3PgEnNzMXDgEHDgEjISImJy4BJzczFwYWFx4BMzI2Nz4BNyczBxYGBw4BIycjIiY3JjY7ATIWBxYGIzcjIiYnNCY/AT4BOwEyFh8BFgYHDgEjJzMnIwc3MwcjJxczFyM3BzMHIycXMxcjNwG//osPGQsKDQEBAQQFAwsEIigECAcFEAjdCBAFBwgEJyAECgIEAgEBAQsIChcO/tgHCgUDBwErBAEkBQwBAQEJCQYWCQF3ChIGBwYBAQEIBSIBAyoBBwMFCQjbbihMHiExEAECAwEIAg8uIB1JJiZHHx0xDQQGAwEDDzIfIUkorAcKBQMGAQEGAwUKBwUMAwUEAQEEBQMMBQEECQEBCQQGBwEBBwYBVgcKBQMFAQEFAwUKBwYLBAUDAQEDBQQLBgEECAEBCAQHBgEBBgf+ugsSCAYJAQESAQEFBQQNBggMBgMHAQEQAQEHCAYUCgFEChQGBwgBAREBAQYEBQwIBg0EBQUBARIBAQkGCBILVasDBgEBBgOrAwYBAQYDA6kDAwICAikCBANVAwQCKQIBAQIDA52RI0sjMxYBFAEWFAEWARYWARQBFhQBFgEzDAoKGQ49BwsFBAcCClYGCgMDBAQDAwoHVAwCBwUFCwY8DhoKCgsBEQICAgcEWQEDDAIKBz0KFAcICQkICBMKPAcLAg0DAVgEBwICAo8IBwcUDQIHAwIBAgwSBwYIBwcGEwsCAQMCBwMMEwcHCEoFBAQLBgYLBAQFBQQECwYGCwQEBSsIBQUICAUFCCsFBAQLBgYLBAQFBQQECwYGCwQEBSsIBQUICAUFCKIIBwcSCx0dBw0EBQUFBQQNBx0dCxIHBwgIBwcSCx0dBw0EBQUFBQQNBx0dCxIHBwiDBQQDBQUDBAXNAgECBAJ4AgMDAngCBAIBAhFmZmAVFRUWFhYVFRUVFQAAAAAHABEAegHvAUYAHwA2AD8AVABkAJIAlwAAJSEiJicuAScuATU0Nj8BPgEzITIWHwEeARUUBgcOASMlIgYPAQYUFx4BMyEyNjc2NC8BLgEjIRcVIxUjNSM1MxcjIiYnMCY1JyMHDgEjFAYrATczFyczJy4BNS4BNQ4BFQ4BFQc3JzM6ARUwFjMXMDYxNDYxNzQ2OwEHFyMiJjEuATUnMAYxFDAPARQGBzAGMSM3FyM1MxUBy/5qBQgEBAcCAwMBAj0GFgUBHAUWBj0CAQMDBBAK/qcKBgE9AgMDCAUBlgUIAwMCPQEGCv7kSCATH1JcDgICAQIIKwcBAQEDAQ8pFChDIQwBAQEBAQEBAQ1nIRMBAgEBFwEBFgICEiEiEwECAQEYAQEXAQECEiJeExN6AgIDBgQECQQFCQSHDQQEDYgECAUECAQHC7sEA4cECwQEBQYEBAkEiAMEIhBYWBBoAQECARUVAQIBAWhoKCIBAwECAwICAwIBAwEiDjIBASYBAQEiAgEyNgEBAQEnAQEBJAEBAQE2NmhoAAAJAAAAUgIAAW4AQQBGAF8AeACRAKoAwQDGAMsAACUjNzM3LgEnLgErASImNScuASsBIgYPAQ4BKwEXMxcjIiY3Jz4BOwE3PgE3PgE7ATIWFx4BHwEzMhYXHgEHFw4BIyUzFyM3ByImJy4BJz4BNz4BMzIWFx4BBxYGBw4BIzciBgcOARcGFhceATMyNjc+ATcuAScuASMFIiYnLgEnPgE3PgEzMhYXHgEHFgYHDgEjNyIGBw4BFwYWFx4BMzI2Nz4BNy4BJy4BIycjIiYnNCY/AT4BOwEyFh8BFgYVDgEjJzMnIwcHIQchJwH3PAEyAQEEBgQRC0wBBDgCCwWLBQsCNwEEAT8BMgE8AwYBAQEEBUA1AggEBQgGiQYIBgMIAjVFFRcHBQUBAQEEBf6kywHNASwKEwYIBwEBBwgGEwoLEggGCQEBCQYIEgsBCAwFBAYBAQYEBQwIBg0EBgQBAQQGBA0GASkJFAYIBwEBBwgGFAkMEggGCQEBCQYIEgwBCAsGAwcBAQcDBgsIBg4EBQUBAQUFBA4Ga5UDAgMBAhQCAwRpBAMCFQEBAgMDiHsNYQ1jAUYB/rwBfxELEBYGBwYCAkgFBQUFSAICRBEFA1YDBUUEBgICAwMCAgYERQ0KCxoOFAMFERERPggHBxMKCxMHBgkJBgcTCwoTBwcIVQUFBA0HBwwFBAYGBAUMBwcNBAUFVQgHBxMKCxMHBgkJBgcTCwoTBwcIVQUFBA0HBwwFBAYGBAUMBwcNBAUFgwIBAgQCNAIDAwI0AgQCAQIRIiJWEREAAAsAAAATAgABrQAYADEAWACAAKIAxgDaAOkA+AEHARkAADciJicuASc+ATc+ATMyFhceAQcWBgcOASM3IgYHDgEXBhYXHgEzMjY3PgE3LgEnLgEjEyMiJic3JjY3PgE3Fw4BBw4BBxczNy4BJy4BJzceARceAQcXDgEjJyImJy4BNyY2Nz4BMzIWFx4BFwYWBxQGIwYiJy4BJw4BBw4BIyIwIzciBgcOARcGFhU+ATc+ATc+ATcyFhceARceATcuAScuASMHIiYnNCY3PgE3PgE3Fw4BBw4BBz4BNz4BNxcOAQcOAQciMiMFIzczEyEXIzcmNjMhMhYHEw4BIwMjIiY3JjY7ATIWBxYGIxcjIiYnPgE7ATIWFw4BIxcjIiY3JjY7ATIWBxYGIwcwJjUmNj8BNjIXFgYPARQGI48TIwwNDgEBDg0MIxMUIQ4MEAEBEAwOIRQBERsMCQ0BAQ0JDBsRDx0JCwwBAQwLCR0Pef8FBAEBAQ8MDSIWBRIfCwwLAQHuAQEKCwoeEQUVIQwLDgEBAQQEzAQDAgECAQEQCw4hFQ4eCw0QBgEBAgQBDBQLChMIBRAMChwOAQFUERsMCQ0BAQEOFQoIDAEBAwMCBQEHDgkIEwgEDwgKFQx/AwIDAgECCAUHEA0GBw0DBgUECg4HBg0GDAkRCggWCwIBAQHp+AHuAf6ZARMBAQYDAXgDBgEBAQQFXIoCBgEBBgKKAgYBAQYCIaoEBAEBBASqBAQBAQQEAawCBgEBBgKsAgYBAQYCwgUDAQE+AQgCAwEBPgQBpA8NDSITFCIMDQ8PDQwiFBMiDQ0PqwwLChwQEBwKCwwMCwocEBAcCgsM/sQFBCMVKBERGggQBxcPDyMSGx4TIw4OFgYQBxkQEScWJgQF0gMDBgwFFCIMDQ8KCQkZDwIEAQICAgMDCQcOFwgJCmoMCwocEAMGAwILCAkXDQIEAQECBwsEBAMBCxEGBgeuAQIBBAIKFQoKEQYQAwwGBw4IAgMDAwgGDAgLAwQEAVsRAUVFTQQFBQT+qwQFASMFAwQFBQQDBUUFBAMFBQMEBUQFBAMFBQMEBVoBAgIHAzwCAgMHAjwCAQAACQAB//sB/wHFACUAYgBxAIoAlwCwAL0A1gDjAAA3IiYvAS4BNz4BNz4BMzIWHwEeAQcOAS8BJiIHDgEfARYUBw4BIxciJicuATU0Njc+ATc2FhcWBgcOAQcOARUUFhceATMyNjc+ATU0JicuAScuATc+ARceARceARUUBgcOASMXIyImNTQ2OwEyFhUUBiMDIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGFRQWMzI2NTQmIzEiJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYVFBYzMjY1NCYjFyImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBhUUFjMyNjU0JiN8AgMBbQUEAQIHBQUMBgYMBVkCAQICBwNZBgwFBQYGbAMDAQMCojhDEhILCwoLHhMDBwIBAQMRHAkJCggPED01Mz0QEAoKCgkbEQMCAgIHAxMeCgsLCxIRRDlWqwQFBQSrAwUFA1YVKhARFBQRECoVFSoREBUVEBEqFTEyMzAyMjIyBw0FBQUFBQUNBwgNBAUGBgUEDQgHCwsHCAsLCL0HDQUFBQUFBQ0HCA0FBAYGBAUNCAcLCwcICwsIwQECdAUNBwcNBQUFBQVDAwcCAwECRAYFBRAFdQIHAwEBtyAaG0UmFioTEx8MAgIDAwcCCh0QESYUID8ZGB8dGBhAIhQmERAdCgIHAwMCAgwfExMqFiJEHBwiDwUDBAUFBAMFAUQFBQUPCgsPBQUEBAUFDwsKDwUFBT8SBQUSEgUFEgYFBA0IBw0FBQUFBQUNBwgNBAUGNgsHCAsLCAcLvQYFBA0IBw0FBQUFBQUNBwgNBAUGNgsHCAsLCAcLAAAABP//ABECAQGvACkAUABpAIIAADciJicuAT8BLgEnLgE1NDY3PgEzMhYXHgEVFAYHDgEjIiYnLgEnByoBIxMiBgcOARUUFhceARceAQ8BNzoBMx4BFx4BMzI2Nz4BNTQmJy4BIxEiJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjLAIDAQIBASUSGwoJCikiI141NV4jIikpIiNeNQ0ZDQwZDG0BAQHUMlcgISYKCQkbEgICAh5cAQMCCxgMDRgNMlcgISYmISBXMiVAGBgcHBgYQCUlQBgYHBwYGEAlIToWFhkZFhY6ISE6FhYZGRYWOiERAQECBgJMDh8RESQTKEYaGh4eGhpGKCdGGhoeAgECBgQuAY0bGBg/JREiEBAdDAIGAz4mBAYBAgIbGBg/JCU/GBgb/swVEhMwGxwwEhMUFBMSMBwbMBMSFfkSEA8rGBcrDxASEhAPKxcYKw8QEgAAABQAQ//uAb0B0gAkAEkAaACQAKwAyAEFAUIBZQGLAaQBvQHxAiUCPgJLAmQCcQKKApcAADciJic0JjUmNDU0Njc+ATc2MhceAQcOAQcOARUUFhcWBgcqATE3MCIxLgE3PgE1NCYnLgEnJjY3NjIXHgEXHgEVHAEHFAYHDgEjByImJy4BJy4BNz4BFx4BMz4BNzYWFxYGBw4BBw4BIzciJjUuAScuASMiBgcOAQcUBiMuATU+ATc+ATMyFhceARcUBiM4ASMHIiYnLgEnJjY3PgE3NhYXHgEXFgYHDgEHIgYjJzAiIw4BBw4BFx4BFx4BNz4BNz4BJy4BJy4BIyc4ATEiJicuAScuATc+ATc+ATc+ATcyFhceARceAQcOAScuAScuASMiBgcOAQcGFhceARceATMyFhUUBiMzIiY1NDYzMjY3PgE3PgEnLgEnLgEjIgYHDgEHBiYnJjY3PgE3PgEzHgEXHgEXHgEXFgYHDgEHDgEjOAExBzEiJiMuAScuAScuAScmNDc+ATc+ARceARceAQcOAQcOASM3IgYHDgEHBhQXHgEXHgEXHgEXMhYzMTI2Nz4BNzYmJy4BJyoBIyciJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjByoBIy4BJy4BNTQ2Nz4BMzIWFx4BFxYGBwYmJy4BJy4BIyIGBw4BFRQWFx4BFx4BBw4BIzMiJicmNjc+ATc+ATU0JicuASMiBgcOAQcOAScuATc+ATc+ATMyFhceARUUBgcOAQcqASMnIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGFRQWMzI2NTQmIxciJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYVFBYzMjY1NCYjByImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBhUUFjMyNjU0JiOMAwUBAgEHBgYSDAIHAwIBAgsQBgYGAgEBBAMBAeYBBAQBAQIGBgYQCwIBAgMHAgwSBgYHAQEBAQUDcwULBQUKBAQDAQEGBAgSCQoSCAQGAQEDBAUKBQULBU4DBQEMCQoYDg4YCQoMAQYDBAQCDgwLHhISHgwLDgIEBAGhCxQHCAoCAwQGBRMNDBgKCg0DAgQGBxMNAwUDCAIBCA0EBQMDAQkHBhEJCQ4FBAMCAgoHBhAIHAYMBQ4UBgYEBAEFBAMJBQUMBgcNBwUMBQMCAgEHAwUJBQUKBQQJBAcKAgICBAUPCgUKBQMFBQTwBAUFAwUKBQoPBQQCAgIKBwQJBAUKBQUJBQMHAQICAwUMBQcNBwYMBQUJAwQFAQQEBgYUDgUMBiUCBgMGCwUECQMDBQEBAQMNCgoYDQwTBQYEAwIKCAcTDAgIDwcHCgIBAQEDAgIGBAMIBAIEAggOBQYHAgIDBQQNBwECAVwYLBAQExMQECwYGSsQEBMTEBArGRUlDg4QEA4OJRUVJQ4OEBAODiUVbgEBAQsSBgcHDAoKGg8KEQgIDQUCAQMDBwIECgYGDgcLFQcICQYFBQ0JAwMBAQQD4AMEAQEDAwkNBQUGCQgIFAwHDQYGCgQCBwMDAQIFDQgIEQkQGgoKDAcHBhILAQEBmwYLBAQFBQQECwYGCwQEBQUEBAsGBgcHBgUICAVVBgsEBAUFBAQLBgYLBAQFBQQECwYFCAgFBQgIBSsIDwYFBgYFBg8ICQ8FBgYGBgUPCQsMDAsMDAwMYwQDBAkEBQkFEyYSEiENAwICBwMMHhEQJBEJEAgEBQEBAQYDCBAIESMRER4MAwcCAgMNIRISJhMFCQQECQQDBGEBAQECAQEHAwMEAQMDAQIDAQMEAwYBAgIBAQFpBAQRIg4OEhINDiMRAwUBBQMVKBAQFBQQECkUBAV+CAcHFAwOHg0NEgMCCwsKGw4OGAoKDQIBgAINCgoYDAsQBQUEAgIJBwcSCgsVCAgJIQICAw8KCRgMBgsEBQcDAwMBAQIBBQMCBgQDAgIDAwIBAQMCBA0ICREHBwoDAQIFBAMFBQMEBQIBAwoHBxEJCA0EAgMBAQIDAwICAwQGAgMFAQIBAQMDAwcFBAsGDBgJCg8DAgKhAQEEAwMIBQULBwYNBw4bCgsLAgMSDQ0eDg0UBgcIgAkICBULBQoFBAkDBAUCAgMBAQYFBQ4KDBgKCg0CiA8NDSMTFCMMDQ8PDQwjFBMjDQ0PrQwLCh0QEBwLCwwMCwscEBAdCgsMYAQOCQkWDA8aCgoMBQQEDAcDBwICAQMGCQMDBAkIBxULCREHBwoDAgYDAwMDAwMGAgMKBwcRCQsVBwgJBAMDCQYDAQICBwMHDAQEBQwKChoPDBYJCQ4ECAQEBAsHBgsEBAQEBAQLBgcLBAQEKgcFBgcHBgUHKgQEBAsHBgsEBAQEBAQLBgcLBAQEKgcFBgcHBgUHYwQEAwoFBgkEAwQEAwQJBgUKAwQEIwcCAgcHAgIHAAAIAET/5QG8AdkAEAAVACwAOgBcAH4AoACvAAAFISImNRE0NjMhMhYVERQGIyUhESERJSMiJj0BNDY7ATIWFx4BHQEUBgcOASMnMzI2Nz4BPQE0JisBFSciJiMuATU+ATc2NCcuATc+ARceARUOAQcGFBceAQcOASMzIiYjLgE3NDY3PgEnLgE3PgEXHgEVDgEHDgEXHgEHDgEjMyImIy4BNzQ2Nz4BJy4BNz4BFx4BBxQGBw4BFx4BBw4BIwciJj0BNDYzMhYdARQGIwFe/u8EBQUEAREDBQUD/vcBAP8AATEoBAUFBCgMFAcHCAkHBxQLICAHDgUFBiAFILoBAwEGBAEEAgYDAwECAgcDBgQBBAIGAwMBAgEEAi0CAgEGBQEEAwMEBAMBAgIHAwYEAQQCAwUFAgICAgMCLAECAQcEAQUCBQEDAwICAgcDBwQBBQIFAQMDAQIBBAKWBAUFBAMFBQMbBQQBVQQFBQT+qwQFEQFF/ruJBQN4AwUGBQYQCSsKEwcHCBEGBAUMBysSB2bdAQULBQYLBAsHAgIHAwMBAgQLBgULBAsHAwIGAwICAQUMCAcQCAsXAwIHAwMBAgQNBwgQCAsWBAIGAwICAQULBQYLBAsHAgIHAwMBAgQLBgULBAsHAwIGAwIC9wUEmgMFBQOaBAUAAAAMAAD/4AIAAeAAOABlAJAAoQCmALcAvADLANoA6QD4AQcAABcjIiYnLgEnNyY2Nz4BMyciJicuASc3JjY3PgE7ATIWFx4BBxcOAQcOAQ8BHgEXHgEHFw4BBw4BIwMiBhcHHgEzMhYHFw4BIyIGFwceATsBMjY3JzYmIyImJzcmNjMyNjcnNiYrAQEhIiY3JjYzITI2Nz4BNwM2JicuASMhIiYnPgEzITIWFx4BBxMOAQcOASMDIyImJzcmNjsBMhYHFw4BIyczNyMXEyMiJic3JjY7ATIWBxcOASMnMzcjFzciJjcnPgEzMhYHFw4BIzMiJic3JjYzMhYXBxYGIzcjIiYnPgE7ATIWFw4BIxcjIiY3JjY7ATIWBxYGIwcjIiYnPgE7ATIWFw4BI4ZrBgsDBAMBAQEEAgUNCwEKDgMEAgEBAQUDBAoHaQcMBwQIAQEBBQYDDgUBBwwFBAcBAQEGBwQOBWsFBgEBAQUVAgYBAQEEBBMHAQEBBQZpBw0BAQEQCgUEAQEBBgMMDgEBAQ8FawGr/vUDBgEBBgMBCwYPBQcHAQEBCAUHDgj+9wUEAQEEBQEJDBQJBwsBAQEJCgcVChTuBAQBAQEGAvADBgEBAQQF5d0B3wHl7gQEAQEBBgLwAwYBAQEEBeXdAd8BTAMGAQEBBAUCBgEBAQQERQUEAQEBBgMEBAEBAQYCKpkFBAEBBAWZBAQBAQQEAZsDBgEBBgObAgYBAQYCAZkFBAEBBAWZBAQBAQQEIAYFBQwGawYLAwQFsAUEAwsGawcLBAQEBQQECwZrBQoEBAUBsAEFBAQJBmsGDQQFBgHvCAVrBgYFBMADBQYHawYLDAVrBAkFA8AEBQkDawQJ/iIFBAMFCAYGEAcBagcOBgUHBQMEBQoHCBQL/pYLFQkICwFEBQREBAUFBEQEBRE0NP7vBQTeAwUFA94EBRHNzQkFA5oEBQUEmgMFBQOaBAUFBJoDBYAFAwQFBQQDBTMFAwQFBQQDBTMFAwQFBQQDBQAAAAYAjP/gAXQB4AAkAEkAYABxAIgAmQAABSImJy4BNTQ2Nz4BMzIWFRQGIyIGBw4BFRQWFx4BMzIWFRQGIzUiJicuATU0Njc+ATMyFhUUBiMiBgcOARUUFhceATMyFhUUBiMXIyImPQE0NjsBMhYXHgEdARQGBw4BIyczMjY3PgE9ATQmJy4BKwEVEyMiJj0BNDY7ATIWFx4BHQEUBgcOASMnMzI2Nz4BPQE0JicuASsBFQEqIDkWFhkZFhY5IAMFBQMdMxMTFxcTFDMcAwUFAxEiDQ0REA4NIhEDBQUDDhwLCw0OCwsbDgMFBQMgIgQFBQQiCBAGBgYHBgYPCBoZBQkEBAQEBAMJBhkaIgQFBQQiCBAGBgYHBgYPCBoZBQkEBAQEBAMJBhkgKiQjXjMzXCMjKQUEAwUnICFWLy9XIiEoBQMEBZoPDg4nFhYlDQ4OBQMEBQwLCx4TEiAMDA0FBAMFmgUEmQQFBwUGDwhVCRAGBggRBQQECgVVBQgDBASJAUQFBJkEBQYGBg4JVQkQBgYIEQUEBAoFVQUJAwMEiQAADgAEABcB+QGpABwAIQA7AEAAWgBfAHkAfgCYAJ0AxADWAOgA+gAAJSImIy4BNSc8ATU+ATM3OgEXMhYfARYGDwEiBiMnFzcnBwcqAScuAS8BJjY/ATYWHwEcARUOAQ8BBiIjJxc3JwcHKgEnLgEvASY2PwE6ARcyFh8BFgYPASoBIycXNycHByImLwEmNDc+ATM3NhYfARYGFQ4BIwcqASMnFzcnBwciJi8BJjY/AToBFzIWHwEWBhUOAQ8BIgYjJxc3JwclJz4BNz4BJy4BJy4BJy4BIyIGByc+ATMyFhceARceARcWBgcOAQcHIiYnJjY/ATYWFxYGDwEwIiMHKgEnLgE/AT4BFx4BDwEOASMzIiYvASY2NzYWHwEWBgcGIiMBjQECAQEDMQEDAUYCAwIBAgExAQMDRgEBASYrNis2bAEBAQICASQBAwOLBAYBJQEDAYwBAQEZH3sfe0QBAgEBAgEYAgQDVwIDAgECARgBAwNXAQEBDRJHEkdQAwQBDAEBAQICVwMHAQwBAQEDAVcBAQEBBkcGRxwDBAEYAgQDIwEEAQICARgBAQEDASMBAQENEhMTEgG4BQoPBAQBAwIEAwMHBAUJBQYKBQYHDgYHDQYGCgQEBgIFAgYFFA7cAgUBAQMEVwMGAgEDBFcCAUMBAgEDAgJvAgcDAwECbgIDA94CBAJuAgEDAwcCbwICAwECAfQBAQICjAEEAQICGQEDAYwDBwEYAY97E3sTrgEBAgJoBAYBMQEDA2kBBAECAgEwAWxZLFgreQEBAgJFBAYBHwEDAUYEBgEfSTYZNhlWAwMjAQMCAgIfAQMDIwIDAgEDHyYTGRMZRAMDRgMGAgwBAwFGAgMCAQIBDAFJNQY2BzkQAw0ICBMJBQcEAwUCAwIBAhACAgMDAwcFBAsGDRkLCxIEbAMCBAYBHwEDBAMGAR+cAQIHA6sDAQECBwOrAgICAqsDBwIBAQOrAwcCAQAAAAAFAJf/6QFpAdcAGAAxAEAAZwCUAAAlIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIzUiJj0BNDYzMhYdARQGIwciJicuATU0Njc+ATc1NDY3PgEzMhYXHgEdAR4BFx4BFRQGBw4BIxMiBgcOAR0BFAYHDgEHDgEVFBYXHgEzMjY3PgE1NCYnLgEnLgE9ATQmJy4BIwEADRYJCAoKCAkWDQ0WCQgKCggJFg0JEQYGBwcGBhEJCREGBgcHBgYRCQQFBQQEBQUEARUmDg4RCAcHFA0IBwcSCwsSBwcIDRMHBwcRDg8mFgIHDAUFBQMCDBIGBwcODAwfEhMgDAwOBwYGEgsCAwUFBA0HFAoICBcNDBcICQoKCQgXDA0XCAgKagcGBhAJChAGBgcHBgYQCgkQBgYHCgUDiQMFBQOJAwWfEQ4OJhYOHAsMEwf3ChMHBwgIBwcTCvcHEwsMGw8WJg4OEQHdBgQFDAf9AgQCBRAKChcNEiAMDA4ODAwgEg0YCgoPBQIEAv0HDAUEBgAAAAAIAJv/7AFlAdcAGAAxAEAATwBeAG0AlAC7AAAlIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIzUiJjURNDYzMhYVERQGIzcjIiY1NDY7ATIWFRQGIxUjIiY1NDY7ATIWFRQGIxUjIiY1NDY7ATIWFRQGIwc1NCYnLgEjIgYHDgEdAQ4BBw4BFRQWFx4BMzI2Nz4BNTQmJy4BJwciJicuATU0Njc+ATcRNDY3PgEzMhYXHgEVER4BFx4BFRQGBw4BIwEADRYJCAoKCAkWDQ0WCQgKCggJFg0JEQYGBwcGBhEJCREGBgcHBgYRCQQFBQQEBQUERxEDBQUDEQQFBQQRAwUFAxEEBQUEEQMFBQMRBAUFBBEIBwcTCgsSBwcIDBQHBwcQDQ4lFRUlDg0QBwYGEQs2ER8LDA0IBwcTDAUFBA0HBwwFBQUKEgYGBw0MCx8RFAoICBcNDBcICQoKCQgXDA0XCAgKagcGBhAJChAGBgcHBgYQCgkQBgYHCgUDAQAEBQUE/wADBdUFBAMFBQMEBSIFBAMFBQMEBSIFAwQFBQQDBXL9ChMHBwgIBwcTCvoGEwsLGw4VJQ4OEBAODiUVDRkLCxIHqQ0LDB4SDRgKChAFAQQHDAUEBgYEBQwH/vkFEAoJFwwSHgwLDQAAAAAJAJj/7gFoAdMAGAAxAEAATwBeAG0AfACjAMoAACUiJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjNSImNRE0NjMyFhURFAYjNyMiJjU0NjsBMhYVFAYjFSMiJjU0NjsBMhYVFAYjFSMiJjU0NjsBMhYVFAYjFSMiJjU0NjsBMhYVFAYjBzU0JicuASMiBgcOAR0BDgEHDgEVFBYXHgEzMjY3PgE1NCYnLgEnByImJy4BNTQ2Nz4BNzU0Njc+ATMyFhceAR0BHgEXHgEVFAYHDgEjAQANFgkICgoICRYNDRYJCAoKCAkWDQkRBgYHBwYGEQkJEQYGBwcGBhEJBAUFBAQFBQRERAQFBQREBAUFBEQEBQUERAQFBQREBAUFBEQEBQUERAQFBQREBAUFBBQIBwYTCwoTBwcICxIHBwcRDg4mFRUmDg4RCAgHFA0wEiAMCw4HBwcSCwYEBQwHBw0EBQUNFAgHCA4LDCASFwoJCBcMDRcICAoKCAgXDQwXCAkKawcGBhAKCRAGBgcHBgYQCQoQBgYHAwUDAREEBQUE/u8DBeEFBAMFBQMEBSIFBAMFBQMEBSIFBAMFBQMEBSIFBAMFBQMEBU/vCxIHBwgIBwcSC/IHEwsMGg4VJg4OEBAODiYVDxwLDBMHsw4MDB8SDRgLChAF/AcMBQUFBQUFDAf6BBALCxkOEh8MDA4AAAgAK//gAdUB4AAYAB4ANgBHAEwAZQB+AI0AAAUhIiY9ATQ2PwE+ATsBMhYfAR4BHQEUBiMlITUnBxUlIxEnBxEjETQ2PwE+ATsBMhYfAR4BFREHIyImPQE0NjsBMhYdARQGIyczNSMVEyImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBgcOARUUFhceATMyNjc+ATU0JicuASMTISImNTQ2MyEyFhUUBiMBkf7eBAUEAosBAwECAgMBkAIEBQT+5gESjIYBABFpYxEDAmkBAwECAgMBbgIDTFYDBQUDVgMFBQNNREQfCA8FBgYGBgUPCAkOBgUHBwUGDgkFCAMEAwMEAwgFBQkDAwQEAwMJBdD+ZgMFBQMBmgMFBQMgBQSuAwUBLQEBAQEtAQUDrgQFEaAsLKCrAQ8jI/7xARYCBQEkAQEBASQBBQL+6rwFBGYDBQUDZgQFEVVVAVIHBQYPCAgPBgUGBgUGDwgIDwYFB0ADBAMIBQUJAwMEBAMDCQUFCAMEA/5dBQQDBQUDBAUAAAAGAAD/4AIAAeAAGAAyAEsAZQB+AJgAAAEyFhceARUUBgcOASMiJicuATU0Njc+ATM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjMRUyFhceARcOAQcOASMiJicuASc+ATc+ATM1IgYHDgEHHgEXHgEzMjY3PgE3LgEnLgEjMREyFhceARcOAQcOASMiJicuASc+ATc+ATM1IgYHDgEHHgEXHgEzMjY3PgE3LgEnLgEjMQEAMVchICYmICFXMTFXISAmJiAhVzE1XSMjKCgjI101NV0jIygoIyNdNRoxFhcoEREoFxYxGhoxFhcoEREoFxYxGh45GhksEhIsGRo5Hh45GhksEhIsGRo5HhoxFhcoEREoFxYxGhoxFhcoEREoFxYxGh45GhksEhIsGRo5Hh45GhksEhIsGRo5HgHPJiAhVzExVyEgJiYgIVcxMVchICYRKCMjXTU1XSMjKCgjI101NV0jIygRCwoKHRMTHQoKCwsKCh0TEx0KCgsRDgwNIxYWIw0MDg4MDSMWFiMNDA7+rwsKCh0TEx0KCgsLCgodExMdCgoLEQ4MDSMWFiMNDA4ODA0jFhYjDQwOAAAMACn/5QHZAdsAKgBVAGoAbwB+AIsAtgDbAP0BFgE4AVEAACUiJicuAScuATc+ATc+ATc+ATceARceARceARceAQcOAQcOAQcOAQcOAScTJgYHDgEHDgEHBhYXHgEXHgEXPgE3PgE3PgE3PgE3NiYnLgEnLgEnLgEHARUmIi8BJjQ/ATYWHwEWFA8BIgYnJxc3Jwc3Jz4BNz4BNzMUBgcOAQcXJz4BNz4BNxcnDgEHFwYmJy4BJy4BNTQ2Nz4BNz4BNx4BFx4BFx4BFx4BFRQGBw4BBw4BBw4BJzUmBgcOAQcOARUUFhceATcWNjc+ATc+ATU0JicuAScuAScuAQcXBiYnLgEnLgEnLgE1NDYXNhYXHgEXHgEXHgEVFAYjBiYHJx4BFx4BFx4BFx4BNy4BJy4BJy4BJy4BJwcuAScuAScuAScuATc0NjceARceARceARceAQcUBgcmBicnFBYXHgEXHgEXHgEXNCYnLgEnLgEnLgEHAQ8NGAoKEgcWCgYHHxMMHREQIxINGgwMFAkKDgQFAgECCAcGEQoOIxUUKhRMECAPDxoLER0GBggTBxIJChIIEicTEiENCQ8GBgcCAQIEAw0IBxIKCxYM/vQCAwEgAwNfAggCIAICXwIDARQUUxRTWQwFCQMDAwERAwMDCwkgDAUVDw4oGQEBPSsEOwcPBwcMBQsMDAsFDAcHDwcIDwYHDQUFCQIDAwMDAgkFBQ0HBg8IBgsFBgkECQgICQgWCwwWCAQGAwICAgIDBgQECgUFDAZACA8GBw0FBggDAwIFAwgQCAcNBgYIAwMCBQMBAgE7AQIDAgYDBAgFBQkGAQICAwUEBAgFBAoGBQcPBwcMBQYJAgMDAQUDCBAHBw4FBgkCAwMBBAQBAgE6AwICBgQDCQQFCgUDAgIGBAMJBAUKBaEEAwQLBxZAISI9FQoUBgcGAQEDBgMOCAoYDw0gEBAdDw0aCQ4WCQcKAQEoAQcFBxAMEDodHzgUBgsBBAEBAQcJBhYLChYNDBwNEBoNDBYHCQoFAgUB/mEBAQIfBAYDXgQBAiACCAFhAgEnElIUVFoMBhgQDyENBx8UESQIIA0ECgMEBAISAQQOBaYBBAEEBwcKHQ0QGwwFCQIDAgEBAgMCCQUGDAcGEAYJDggFDgQHBwQBBAGFAQMBAwYFCBYKDRQKBwoBAQoHBQkGBA0FBgsGBAsDBQYDAQMBRgEEAgQHBgUOBwgPCQIGAQEDAgQHBwQPBgkOCQMFAQEBSAYJBgMKAwQFAwEEAQQLAwYHBQMHAQMBAocBAgQBCgQGDQgHEAcFAwIBAgMCCgQHDAkGEQcEBAEBAQFFBAsDBgcFAwcBAwECBgkGBAkDBAUDAQQBAAUAEQADAe8BuwAYAC8APgBQAGIAACUhIiY3Jz4BMzIWBxchNyY2MzIWFwcWBiMnMCY1JzQmNyc+ATMyFgcfARYGBw4BIyciJic3JjYzMhYXBxYGIzcwJjUBLgE3NjIXAR4BBxQGIyEiJjUmNjcBNjIXFhQHARQGMQHm/jMDBgEBAQQFAgYBAQG7AQEGAgUEAQEBBgNLBaYCAQEBBAQDBgEBogMBAgICA6QEBAEBAQYCBQQBAQEGA+4F/uwBAQQBCAIBFAEBBAQB/jMBBAQBAQEQAQgCAwL+8QUDBQOABAUFBHd3BAUFBIADBQcCAcMCAgK1BAUFBLLBAgcDAQEBBQTNAwUFA80EBXgBAgEpAggCAgP+1wIIAgEBAQECBwMBKQMCAgcD/tcCAQAAAAcAq//oAVUB2AAeADQASgBZAGgAdwCGAAAFIiYnLgE1ETMRFBYXHgEzMjY3PgE1ETMRFAYHDgEjAyImNTQmIyImNTQ2MzIWFx4BFRQGIzMiJjU0Njc+ATMyFhUUBiMiBhUUBiMHIyImNTQ2OwEyFhUUBiMHIyImNTQ2OwEyFhUUBiMVIyImNTQ2OwEyFhUUBiMVIyImNTQ2OwEyFhUUBiMBAAsSBwcIEQUFBQwHBw0EBQURCAcHEgsrAwUWAwQFBQQJEAUGBgUEVgQFBgYFEAkEBQUEBBUFAwlEBAUFBEQEBQUEMxEEBQUEEQQFBQQRBAUFBBEEBQUEEQQFBQQRBAUFBBgIBwcSCwGc/mQHDQQFBQUFBA0HAZz+ZAsSBwcIAcYFBAsFBQQDBQUEBA0HBAUFBAcNBAQFBQMEBQULBAUaBQQEBQUEBAUzBQQDBQUDBAUiBQQDBQUDBAUiBQQDBQUDBAUACwCa/+kBZgHXAB4ANwBNAFwAawB6AIkAogC8AMkA4wAAFyImJy4BNREzERQWFx4BMzI2Nz4BNREzERQGBw4BIwMiJjU0JicuASMiJjU0NjMyFhceARUUBiMzIiY1NDY3PgEzMhYVFAYjIgYVFAYjByMiJjU0NjsBMhYVFAYjByMiJjU0NjsBMhYVFAYjFSMiJjU0NjsBMhYVFAYjFSMiJjU0NjsBMhYVFAYjEzIWFx4BFRQGBw4BIyImJy4BNTQ2Nz4BMzUiBgcOARUUFhceATMyNjc+ATU0JicuASMxBzIWFRQGIyImNTQ2MzUiBgcOARUUFhceATMyNjc+ATU0JicuASMx7wsSBwcIEQUFBQwHBw0EBQURCAcHEgsrAwUFAwQJBQMFBQMIDwcGBwUEVgQFBgYGDwkEBQUEBxIFAwlEBAUFBEQEBQUEIiIEBQUEIgQFBQQiBAUFBCIEBQUEIgQFBQQiBAUFBFEECAMDAwMDAwgEBQcDAwMDAwMHBQgOBQUHBwUFDggIDgUFBgYFBQ4IVQEDAwECAwMCBQgDAgQEAgMIBQQIAwMDAwMDCAQXCAcHEgsBE/7tBw0EBQUFBQQNBwET/u0LEgcHCAE9BQQFBgMCAgUEAwUEBQQNCQQFBQQIDAUFBQUDBAUHCwQFCAUDBAUFBAMFMwUDBAUFBAMFIgUDBAUFBAMFIwUEAwUFAwQFASADAwMIBAQIAwMDAwMDCAQECAMDAxEGBQUOCAgOBQUGBgUFDggIDgUFBmICAgICAgICAhEDAwMIBAQIAwMDAwMDCAQECAMDAwAAAAAJAET/4AG8AeAAEAAVACQAMwBCAEYASgBOAFIAAAUhIiY1ETQ2MyEyFhURFAYjJSERIREBIyImNTQ2OwEyFhUUBiMVIyImNTQ2OwEyFhUUBiMVIyImNTQ2OwEyFhUUBiMnIzU3ByM1NxMzFQc3MxUHAbP+mgQFBQQBZgQFBQT+ogFW/qoBEcwEBQUEzAQFBQTMBAUFBMwEBQUEzAQFBQTMBAUFBKoRESIREaoRESIRESAFBAHuBAUFBP4SBAURAd7+IgEzBQQDBQUDBAUiBQQDBQUDBAUiBQQDBQUDBAWaFxUsFxX+1BQVKRQVAA4AAP/gAgAB4AAaACQANQA6AEsAUABhAGYAdwB8AIsAmgCpALgAACUiJi8BBxQGJy4BNRM0NjsBMhYVExQGBzAGMScjBzMyNic2JiM3IyImJzcmNjsBMhYHFw4BIyczNyMXEyMiJic3JjY7ATIWBxcOASMnMzcjFwEjIiYnNyY2OwEyFgcXDgEjJzM3IxcTIyImJzcmNjsBMhYHFw4BIyczNyMXASEiJic+ATMhMhYXDgEjEyEiJjcmNjMhMhYHFgYjJSImNwM+ATMyFgcTDgEjISImJxMmNjMyFhcDFgYjAWYDBAJUVgcDBAJeBQIBAgVeAgQCHIYBiAMHAQEHA6tUBAQBAQEGAlYDBgEBAQQFS0MBRQFLVAQEAQEBBgJWAwYBAQEEBUtDAUUB/rJUBQQBAQEGA1YCBgEBAQQETEMBRQFMVAUEAQEBBgNWAgYBAQEEBExDAUUBAYj+zQQEAQEEBAEzBAQBAQQEAf7LAgYBAQYCATUCBgEBBgL+kAMGAQEBBAUCBgEBAQQEAasEBAEBAQYCBQQBAQEGA1QEAv//AwMBAQYEARcCBAQC/ukEBgEBWREFAwQFzQUDVQQFBQRVAwURRET+VQUEVQMFBQNVBAURREQBiQUDVQQFBQRVAwURRET+VQUEVQMFBQNVBAURREQBvAUDBAUFBAMF/lUFBAMFBQMEBTwFAwE0AwUFA/7MAwUFAwE0AwUFA/7MAwUAAAAABQBW//4BqgG9ABYAKAA/AE4AYAAAFyoBIy4BPwE+ATsBMhYXDgErAQcUBiM3MCYxLgE1NzQ2Fx4BFQcUBiMHMiIzLgE1EzYyFxMUBgcGJjULAQ4BIzcjIiY3JjY7ATIWBxYGIxciJjUDNDY3NhYVExQGBzIiM3ABAQICBAIqAgMEYQUEAQEEBVsqBQJAAgQCMAcDBAIwBgFUAQMBBQKDAQ0BgwIFAgd7eQIDBNOrAwYBAQYDqwMGAQEGA3ECBYMCBAMHgwIFAQMBAgEHA3YCBAUEAwZwAgO7AQEGBI0EAwEBBwOOAgSMAQYEAYUFBf57BAYBAQMDAW3+kwIDaQUDBAUFBAMFlAMDAYUDBwEBAwT+ewMHAQAAAAsACQAXAfcBqQAnADwASwBaAHYAhQCkAKoAyQDOAN0AADciJjU3NCYnLgEjIgYHDgEnLgE3PgE3PgEzMhYXHgEXFhQdAhQGIwciJicuATU0Njc+ATMyFh0BFAYrATcOAQcOARUUFhceATsBNRciJj0BNDYzMhYdARQGIxcxIyImPQE0NjMyFhceARUUBgcOAQcOAQcGIiMnMzI2Nz4BNTQmJy4BJxUXIiYnLgE/ATY0Mzc+ATMxMhYfARYUDwEUIg8BBiIjNwc/AScHNyc3PgE3NiYnLgEjDgEPASc3PgE3NhYXHgEHDgEPAQcnNxcHFyEiJjU0NjMhMhYVFAYjgAQFAQEEAgYFCAkCAQcDAwMCAgYFBAsGCA0EBAQBAQUEHAYTCQkNCwoLHxUEBQUEHBMPFgcHBwQFBA8LEysDBQUDBAUFBCgoAwUFAxUhDAwMAgICBwQECAQECQQfHwYOBAMGCAgIGBAPAQQBAgECKwEBpgEDAgEEASgCAqYBAVQBAgEzHzufHJ/NDBkEBQEBAwIDCAUFCQQZDBkHDwgIDgYFBQEBCAYZoygMKAzY/iIDBQUDAd4DBQUD3AUDagsRBAICBgMDAwIBBwMEBwMCAwUEBAkGBgwHCmADBQkBBAQSEAwcDAwPBQRoBAVoAQ4JChQHCAkDAwNXXwUDvAQFBQS8AwUJBQRoBAUPDAwcDAcLBAUHAgMCAQERAgICCQsHFAoJDgFXpQEBAgYCVAEBpgEBAQEoAwcCpgEBKwFXOx+fHJ99DBkECgUFBwMCAgEFBBkMGQcHAQEFBQYPCAgPBhmVKAwoDGcFBAQFBQQEBQAAAAIAof/tAV8B0wBNAJgAACUiJjUmNjc+ATc+ATU0JicuAS8BLgEnLgE1NDY3PgEzMhYXHgEVFAYjIiY1NCYnLgEjIgYHDgEVFBYXHgEfAR4BFx4BFRQGBw4BBzAiMQciJicuATU0NjMyFhUUFhceATMyNjc+ATU0JicuAS8BLgEnLgE1NDY3PgE3MhYXFAYjDgEHDgEVFBYXHgEfAR4BFx4BFRQGBw4BIwENAwUBBQMQGAgJCQgICBoSGxIdCgoLDgwNIxUVIwwMDgUEAwUOCwsbDg0cCwwOCAgIGhIbExwKCgsLCwoeEwENFiMMDA4FBAMFDgsLHA4OHAsLDggICBoSGxMcCgoLCwoKHRIEBQEEBA4YCAgJCAgIGhIbEh0KCgsODAwjFoYEAwQFAQEKCAkVDg4TCAgOCA4JEAkKGRISHgsLCwsLCh4TAwUFAxIYCAcHBwcIGBIOFAcIDgkNCRAJChkSERwKCg0CmQsLCh4SBAUFBBEYCAcHBwcIGBEPEwgHDgkOCQ8KCRkTEBwKCg4CBAQDBgIKCAkVDQ8TCAcOCQ4IEAoJGRMSHgoLCwAAAAcAAP/pAgAB1wAOAB8AJAAzAEIAUQBgAAAXIiY1ETQ2MzIWFREUBiMlISImNRE0NjMhMhYVERQGIyUhESERASEiJjU0NjMhMhYVFAYjFSEiJjU0NjMhMhYVFAYjFSEiJjU0NjMhMhYVFAYjFSEiJjU0NjMhMhYVFAYjCQQFBQQDBQUDAe7+EgQFBQQB7gQFBQT+GgHe/iIB3v4iAwUFAwHeAwUFA/4iAwUFAwHeAwUFA/4iAwUFAwHeAwUFA/4iAwUFAwHeAwUFAxcFAwHeAwUFA/4iAwWABQMBVQQFBQT+qwMFEQFE/rwBAAUDBAUFBAMFNAUEAwUFAwQFdwUDBAUFBAMFMwUDBAUFBAMFAAAAHgAA//EDJQHPAEIARwBMAGIAZgBrAHoAiQCYAKkArgC/AMQA1QDaAOsA8AEBAQYBFwEcAS0BMgFDAUgBWQFeAXcBiAGNAAAFISImJzQmPwInNCY3NDYzITIWBxYGKwEXBhYHFwYUDwEhJyY2JzcmNiM3IyImNyY2OwEyFhcWBhcHHwEWBhUOASMBMxMjEyEzAyMDMyIyIyEiJic0Nj8BNjIfAR4BFw4BIyUzJwc3MxcjNxcjIiYnPgE7ATIWFw4BIwciJic3JjYzMhYXBxYGIzMiJjcnPgEzMhYHFw4BIxMjIiY3Jz4BOwEyFhcHFgYjJzMnIwcBIyImNyc+ATsBMhYXBxYGIyczJyMHNyMiJjcnPgE7ATIWFwcWBiMnMycjBxcjIiY3Jz4BOwEyFhcHFgYjJzMnIwc3IyImNyc+ATsBMhYXBxYGIyczJyMHBSMiJjcnPgE7ATIWFwcWBiMnMycjBzcjIiY3Jz4BOwEyFhcHFgYjJzMnIwcXIyImNyc+ATsBMhYXBxYGIyczJyMHNyMiJjcnPgE7ATIWFwcWBiMnMycjBwcjNy4BIyIGFwcjJz4BNz4BMzIWFx4BBxcnIyImJzcmNjsBMhYHFw4BIyczNyMXAx386wMDAgECFgEYAQIFAQEAAgYBAQYC8BEBAgEBAQIOAvgJAQEBAQEBAQvpAwYBAQYD9gEEAQIBAQ8BDAIBAwID/eoQARIBARASARABHAEBAf7BBAQBAgOTAwIDqgQDAQEEBf7l8oJxaBABEgGZ/wUEAQEEBf8EBAEBBATVBAQBAQEGAgUEAQEBBgOZAgYBAQEEBAMGAQEBBAUSZwMGAQEBBAVlBQQBAQEGA19XAVUB/ug1AgYBAQEEBDMEBAEBAQYCLCMBIQEsNQIGAQEBBAQzBAQBAQEGAiwjASEBgTQDBgEBAQQFMgUEAQEBBgMsIwEhASw0AwYBAQEEBTIFBAEBAQYDLCMBIQEB6CMDBgEBAQQFIQQEAQEBBgIbEgEQARsjAwYBAQEEBSEEBAEBAQYCGxIBEAFwIwMGAQEBBAUhBQQBAQEGAxsTAREBGyMDBgEBAQQFIQUEAQEBBgMbEwERAf8SAQEQCQcTAQEQAQEIBwYPBgcOCAUJAQEJQwUEAQEBBgNFAgYBAQEEBDsyATQBDwIDAgQCI40lAgUCAgIFBAMFGgECApECAgEYGAEBAZYBAhkFBAMFAgIBBQIikyICBAICAgER/wABAP8AAQAEAwMFAUsBAUoBBAMEBRE5Obx4eO8FBAMFBQMEBeYFA94EBQUE3gMFBQPeBAUFBN4DBQGABQMzBAUFBDMDBREiIv6ZBQQiAwUFAyIEBREREUUFAyIEBQUEIgMFERERZwUEIgMFBQMiBAURERFFBQMiBAUFBCIDBREREWcFBCIDBQUDIgQFERERRQUDIgQFBQQiAwURERFnBQQiAwUFAyIEBREREUUFAyIEBQUEIgMFERERiTgGCwsGODgHDQQFBQUFBA0HOHgFAzMEBQUEMwMFESIiAAgAAP/eAgAB3gAEAAkADgAkACgALQBDAEcAAAUhNSEVJSE1IRUTMxEjETM4ATEjIiYnJjQ/ATYyHwEeARUUBiMnMycHBTMRIxEzOAExIyImJyY0PwE2Mh8BHgEVFAYjJzMnBwIA/gACAP4RAd7+IngREUiAAgQCAQJAAgoCPwECBQRxYjExARcSEkmAAgQCAQJAAgoCPwECBQRxYjExIlVVETMzAXj+uwFFAgICBQFrBARpAQMCAwURUVER/rsBRQICAgUBawQEaQEDAgMFEVFRAAAACgAmACEB2QGfABgAJQBcAIEApgDLAPABFQE6AWIAABMiJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHHgEzMjY3LgEjESImJy4BNTQ2Nz4BNzYWFxYGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BNz4BFx4BFx4BFRQGBw4BIxEiJicuASciJjU+ARceARceATMyNjc+ATcyFhcUBgcOAQcOASMVIiYnLgEnLgE1PgEzHgEXHgEzMjY3PgE3NhYXFAYHDgEHDgEjFSImJy4BJy4BNT4BFx4BFx4BMzI2Nz4BNzYWFxQGIw4BBw4BIxUiJicuASciJjU+ARceARceATMyNjc+ATcyFhcUBgcOAQcOASMVIiYnLgEnLgE1PgEzHgEXHgEzMjY3PgE3NhYXFAYHDgEHDgEjFSImJy4BJy4BNT4BFx4BFx4BMzI2Nz4BNzYWFxQGIw4BBw4BIzciJicuAScmBgcGJicmNjc+ARceARceATMyNjc2FhcWBgcOAQcOASPqCD8jIzc3IyM/CAc/IyM4OCMjPwdTXQQEXVNSXQQEXVIaQx8eKgUFBRALAwYCAQQDEwsXFxZDLCtDFxYYDRQEAwEBBgMMEQUGBiofHkQZESAPEBwNAwQBBgMMHA8PIBAPHw4OGw0DBgEEAw0cDw4fEBEgDxAcDQMEAQYDDBwPDyAQDx8ODhsNAwYBBAMNHA8OHxARIA8QHA0DBAEGAwwcDw8gEA8fDg4bDQMGAQQDDRwPDh8QESAPEBwNAwQBBgMMHA8PIBAPHw4OGw0DBgEEAw0cDw4fEBEgDxAcDQMEAQYDDBwPDyAQDx8ODhsNAwYBBAMNHA8OHxARIA8QHA0DBAEGAwwcDw8gEA8fDg4bDQMGAQQDDRwPDh8QxwkPBwULBgcNCQMGAQEEAwoRCAcNBgcLBwYNCQMHAgIBAwYKBQUIBAFMAQQEEQ8QEAQEAgIEBBAQDxEEBAFCEwcFEhIHBhL+kwQGBhMPBQkEBQcDAQMEAwYBBgkCBAsGBQcHBQYLBAIKBgEGAwQDAQMIBAQKBQ8TBgYEAQABAQIDAwYEAwQBAgMCAQEBAQEEAgQDBAUBAgQBAQErAgEBBAIBBQQDBAMDAQECAQIBAwIBBAQDBgECAwECASoBAQEEAgEGAwQEAQIEAQEBAQEBAwIBBAQDBgMDAQEBKwEBAgMDBgQDBAECAwIBAQEBAQQCBAMEBQECBAEBASsCAQEEAgEFBAMEAwMBAQIBAgEDAgEEBAMGAQIDAQIBKgEBAQQCAQYDBAQBAgQBAQEBAQEDAgEEBAMGAwMBAQFSBAMCBAEBAQIBBAMEBgECAQECBAICBAUGAgEDAwcCBAUCAgEABgBZ/98BpgHfABYALQA8AFkAdgCNAAA3IiYvAQcGJicmND8BNjIfARYUBw4BIzciJicuAT8BNjIfARYGBwYiLwEHFAYxEyImNwM+ATMyFgcTDgEjNyMiJjcmNjsBMjY3PgE3Jz4BMzIWBxcOAQcOASMrASImJy4BNyc+ATMyFgcXBhYXHgE7ATIWFw4BIzciJi8BBwYiJyY2PwE2Mh8BHgEHFAYjywEDATEvAwYEAQQ0AwUENAQCAgIDAQMCAwEBBC8DBgMpBAECAwYEIysELgIGAQEBBAQDBgEBAQQFMikDBgEBBgMpCxcICgkBAQEEBQIGAQEBDAwKHg46HBAaCwkNAQEBBAUCBgEBAQsHCBQMHAQEAQEEBK8DAgInJwEIAgMBAS0BCAIvAQIEBAH7AQEmJgMBAwMHAisBASsCBwMCAaoCAQMHAisCAisDBwIDAyUlAgH+OgUDAd4EBQUE/iIDBaIFBAMFDgoKGQuHAwUFA4cOHw0MERANDR8OQwMFBQNDCxkKCw0FAwQFugEBJSUCAgMHAisCAisCBwMBAQADAD3/4AHDAeAAKABRANwAAAEiJj0BNCYnLgEjIgYHDgEdARQGIyImPQE0Njc+ATMyFhceAR0BFAYjFyImPQE0JicuASMiBgcOAR0BFAYjIiY9ATQ2Nz4BMzIWFx4BHQEUBiMDIyImJy4BJy4BJy4BJy4BNTQ2Nz4BNzIWHwE1NDY3PgEzMhYXHgEdARQGIyImPQE0JicuASMiBgcOAR0BFAYHBiYvAS4BByIGBw4BFR4BFx4BFx4BFx4BFx4BOwE+ATc+AT0BNCYnLgEjIgYHDgEdARQGIyImPQE0Njc+ATMyFhceAR0BFAYHBiIjATIEBQQEAwoEBQoDBAQFBAMFBwYGDwkIEAUGBwUDRAQFBAMECQUFCQQEBAUDBAUHBgYPCQgQBgYGBQMieBMgDg4ZDAUIBQQIAwUFBQYGDwcIDgYhBwUGEAgJDwYGBwUEAwUEBAMKBQUJAwQEAwMCBQIvAwgFBAgDBAMBAwMECAQECgQKFw0NHA53BB8REBsFAwQJBQUJBAMEBQQEBQcGBhAICQ8GBgdoAwECAQELBQOmBAgDAwQEAwMIBKYDBQUDpggOBQYGBgYFDwemAwUiBQOlBAgEAwMDAwMIBKYDBQUDpgcOBgUHBwUGDgilAwX+9xsVFTQaChMJCA4FBg8IBw8GBgYBBgUi1ggOBgUHBwUFDwdvAwUFA28ECAMDBAQDAwkE7AIEAQEBAjEDAwEDBAMJBQUJBAUPCQgUCxYwFBQbAhAODikbqwQIAwMEAwMDCAUuBAUFBC4IDgYFBgYGBQ4Iq0I/AQEAAAAIAAL/+gJHAcYAFgAtADwAcQCdAMkBAwE4AAATIiYnJjQ/ATYyHwEeAQcGIi8BBw4BIxcqAS8BJjQ3PgEfATc2FhcWBg8BDgEjJyImPQE0NjMyFh0BFAYjFyImLwEuATU0Njc+ATc+ATc+ATM4ATEyFh8BFhQHBiIvAS4BByIGBw4BFRQWHwEWFAcOASM3IiYvAS4BNT4BNz4BMzIWHwEWFAcGIi8BLgEjIgYHDgEHFBYfARYUBw4BIwciJi8BLgE1NDY3PgEzNhYfARYUBwYiLwEuASMiBgcOARUUFh8BFhQHDgEjFyImJyY0PwE+ATU2Ji8BLgEjIgYHDgEVFBYfARYUBwYiLwEuATU0Njc+ATMyFh8BFgYHFAYVBw4BIwciJicuAS8BLgEnLgE1NDY3PgE/ATYyFxYUDwEOARUUFh8BHgEzMjY3NjIXFhQHDgEHDgEjCQIEAQIDNgMGAjQDAQMCBwMuMQEDATYCAgI2AwICBwMxLgMHAgMBAzQBAwEBBAUFBAMFBQPsAgMCeQYFAQIBBQMDBgQECAQIDgV6AgIDBwJ6AwcFBQkDBAMDA3oCAgIDATwCAwFxBQYBBgUGDwgIDwVwAwMCBwNwAwkEBQgDBAMBAwNxAgIBAwItAgMBpwYFBgYGDggIDgZMAwMCBwNMAwkEBAkDBAMDA6cCAgIDAbUCAwEDA1ACCAENEnoDCAUECQMDBAMDHwMDAgcDHwYFBgYGDggIDwZ5LhUCAVICAwFTDBcLCxUJTQMEAgECAgECBAMOAwcCAwMNBAQEBE0PJxQUJhACBwMCAgkUCwsYCwF/AgEDBwIrAgIrAgcDAwImJgEBlQErAgcDAwEDJiYDAQMDBwIqAQEKBQSqBAUFBKoEBQMBAnkGDgcECAQEBwMCBQECAgYGeQMHAgMDeQMEAQMDBAkFBAgDeQMHAgIBHgIBcAYOCQcPBgUGBQZwAgcDAgJwAwMDBAMIBQQJA3ADBwIBAocBAacFDwgIDwUGBgEGBkwDBwIDA0wDAwMEAwkEBQgDpwIIAgEBagEBAwcCUQQdFBMrE3kDAwMEAwkEBAkDHwIIAgMDHwYOCQcPBQYGBQZ5L2gDAQEBUgEBJAQFBA4JTQMHAwQIBQQIBAQGAw4DAwIHAw4DCQUGCQNNEA8PEAICAwcCCQ4EBQQABAA8/+ABxAHgACgAUQC6AO0AAAEiJic3LgEnLgEjIgYHDgEXBxYGIyImJzcmNjc+ATMyFhceARcHFgYjMyImNyc2JicuASMiBgcOAQcXDgEjIiY3Jz4BNz4BMzIWFx4BBxcOASMDIyImJy4BJy4BJy4BJy4BNyY2Nz4BNzIWHwEeAQcGIi8BLgEHIgYHDgEXBhYXHgEXHgEXHgEXHgE7AT4BNz4BNwM2JicuASMiBgcOAQcXDgEjIiY3Jz4BNz4BMzIWFx4BBxMOAQcUIjEnIycHDgEnLgEnLgEnLgE3JjY1PgE/AT4BOwEXIwcOAQcUBhceARcWMj8BNjIXHgEHFyMBMwQEAQEBBAQDCgQGCAUCBgEBAQYCBQQBAQEIBQcOCgcRBQcGAQEBBgNDAgYBAQEGAgUIBgQKAwQDAQEBBAUCBgEBAQUHBREHCg4HBQgBAQEEBSB6ESENEBgNAwoDBgYFAwYBAgcFBw4IBw8FLgIBBAEIAi4CCQQFCAQDAwEBBAIFBwUECgQLFg4LHQ14BB8QEhkBAQEFAwQJBgQKAgUDAQEBBAUCBgEBAQYHBBEHCg4HBQgBAQFnBAKkEAErCA4JAwgCBAQDAQMBAQIECAhWAgECSgFJVAYEAwEEAQgDBgcFOAMDAwEDAQEBAQsFA1AFCAMDBAQDAwgEUQMFBQNRBw8FBQcHBQYOCFADBQUDpgQIAwMEBAMDCASmAwUFA6YIDgUGBgYGBQ8HpgMF/tUbFRU0GgoTCQgOBQYPCAcPBgYGAQYFLwIHAwICLwMDAQMEAwkFBQkEBQ8JCBQLFjAUFBsCEA4OKRsBOAQIBAMDAwMDCAWIAwUFA4gIDgYFBgYFBg4I/shCPwEB3ksXAwECAQQDAgcDBAgEBQgFBwwEOwEBETsCBwUFCwQEBgIBAh4BAQEEA1kABv///+AB9AHgABgANgBPAFwArQEEAAAFISImNwM+ATMhMhYXByMnIQMhJzMHFgYjJyMiJicTJjYzITIWBxcOASMiJjcnIQMzMhYHFgYjByImJy4BJz4BNz4BMzIWFx4BBxYGBw4BIzciBgceATMyNic2JiMXIiYnLgEnLgEnLgEnLgEnLgEnNDY3PgEzFycuATcmNjc+ATcmNjU+ATc+ATcyFhc0Njc+ATMyFh8BNDY3PgEzHgEfARYGBzIGMwcOAQcOASMnIgYHDgEXBhYXHgEXHgEXHgEXHgEzMjY/AT4BLwEuAQcGFhczHgEHBiInIycuAQcGFB8BFgYHBiIvASYiBw4BHwEWBgcGIi8BJiIHDgEfARYUFQ4BIycBkP53AwYBAQEEBQGHBQQBARAB/okBAXkBEgEBBgOSwwUEAQEBBgMBIwIGAQEBBAQDBgEB/vABvQMGAQEGAzIGDQMFBAEBBAUDDQYICgYDBgEBBgMGCggBBwgBAQgHBQoBAQoF0woaDA4ZDgYOBgcJBgUMAgUCAQQFAwwFG1gEBgEBBQQEBgUDAQIDBAIJAwYIBQQCBgoHBQwDQwUBBQoHBQ0DPCIVAgECAS8CCAQFCQeTAwMDAQIBAQUIBgoIBQ8HDRgOCxgJCQoFLAQNGjwDDAMFAgMBAQEDAggBAVUFCgUDBUoDAQEEBgNVBQoEAwEGRQMBAQQGAz0FCgQDAQZmAwIEAzAgBQQB7gQFBQTVzf4iMzsEBYkFAwEzBAUFBJEDBQUDif7eBQQDBVcFBAULBwcLBQQFBQQFCwcHCwUEBS8JBgYJCQYGCSkFBAMKBQIFAgIDAQEFBAQKBQcLBQQEAVgFCwYGCwUDBAEECAQEBwQDBAEBAQMHAwQEBQRDAwYCBQQBBAU8I00BAS8DBAIBAlUCAQIFAwQHAgEDAgIGAgUJBAMFBAMuBTsbPAQBBAQKBQIHAwICVwQBBAQLBEwCBwMCAlcEAwQLBEgCBwMCAj8EAwQLBWgCBQMCAwMAAAAGACgAHgHYAaEAIgBFAGgAyQDaAN8AACUjIiY1NDY7ATI2NTQmKwEiJjU0NjsBMhYXHgEVFAYHDgEjByMiJjU0NjsBMjY1NCYrASImNTQ2OwEyFhceARUUBgcOASMHIyImNTQ2OwEyNjU0JisBIiY1NDY7ATIWFx4BFRQGBw4BIwcjIiYnLgE9ATQ2Nz4BNz4BNz4BNz4BNz4BFx4BFx4BBw4BBw4BJy4BNz4BNz4BNzYmJyYGBw4BBw4BBw4BHQEUFhceATsBMjY1NCYrASImNTQ2OwEyFhceARUUBgcOASMnIyImNRE0NjsBMhYVERQGIyczNSMVAbcHAwUFAwcGCgoHbAQFBQRsCA0EBQQEBQQNBwEoBAUFBCgGCwoGKQQFBQQpBw0EBQQFBAUNBxE5BAUFBDkGCwsGOQQFBQQ5CAwFBAUFBQQNBxabEh8LDA0DAgMIBA0iEREeCQMLBgYNBwcLAwQDAgMfAwIHAwICAgULBQUIAQEJBwcQBAkgERIkDQUHCwoJGQ2bBwoLBTUEBQUENQcNBAUEBQQFDAjneAMFBQN4AwUFA29mZusFAwQFEgcIEgUEAwUIBwYPBwYPBgcIRAUDBAURCAgSBQMEBQkGBw4HBw8GBwdFBQQDBRIICBIFAwQFCQYHDwYGDwcGCUQTDg8jEYMFCQQECAIIFw0OHg8HCQMCAQEDCAYGDQYOMQMDAQICBwMGEQgJDwQHDQICBwcRIA4PFwgDCQaDDh0MDBARBwkSBQQDBQkGBw8HBw8GBQgRBQQBAAMFBQP/AAQFEe/vAAAGAAL/4gH+Ad4AJwBwAJUAugEBAUkAADciJicuATc+ATc+ATMyFhceARceAQcOAScuAScuASMiBgcOAQcOASMXIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEHDgEnLgE3PgE3PgE1NCYnLgEjIgYHDgEVFBYXHgEzMjY3PgE3NhYXFgYHDgEHDgEjAyImJy4BNTQ2MzIWFRQWFx4BMzI2Nz4BNTQ2MzIWFRQGBw4BIzMiJicuATU0NjMyFhUUFhceATMyNjc+ATU0NjMyFhUUBgcOASMTIiYnLgE9AS4BJy4BJy4BJy4BJy4BPQE0Njc+ATsBMhYXHgEXHgEXHgEVHgEVFgYHHgEVFAYHDgErAR4BBw4BBw4BBw4BIyceATc+ATc+ATc0JicmNjc+ATsBMjY1NCYnLgE1JjQ3PgEnLgE3NiYnLgE1NiYnLgErASIGHQEeARceARceARceARcWFB0BMXYBAwEDAQMNIRITKBUHDgcHDgcDAwEBBgMGDQYHDQYTJRARHgwCAwKKNVwjIigoIiNcNTRdIiMoAQIBBAIBBgMEAwECAwECASYgIFYxMVYgISUlISBWMQwVCwoVCwQGAgEDAwwXCwwXDFUNFwgJCQUDBAUHBgYQCgkQBgYHBQQDBQkJCBcMqg0WCQgKBQQDBQcHBhAJCREGBgcFBAMFCggIFw0cBw4HAgICBAICAgICAwICBQMBAgMDBAgGfgUKBAUGAQMGAgIBBAQBAQECAwoGBw8GNwMBAQEGBQMIBAQJBQ8FCgQFBwQEBAEDAwEBAQEEAkIHFAEBAgIBAQIBBgICAQEFBgIDAQQEAgMBfgMEBAUDAgQCAQMBAgQCAU0BAQMHAhAYCQgJAQEBAwIBBwMDBAECAwEBAQgIBxcOAQJrKCMiXTQ0XSIjKCgjIl00CRIICREJAwQBAQcDCBAICBEIMVYgISUlISBWMTFWICElAQICBgQCAwMEBgEGBgICAQEgCggJFg0EBQUECREGBgcHBgYRCQQFBQQNFgkICgoICRYNBAUFBAkRBgYHBwYGEQkEBQUEDRYJCAr+4AUEAQQCJAULBQUJBAYLBQQIAgIDAm0ECQQEBQUFBg8HAwgFBQsHBAoEBQoEBAsICA0EBAUNFwsKEQcEBgICAxUCAgEBBQQFEAoKFw0BBAICAQoHBgYBAQICAgQCAhAGAQQCDA8DAQUCBQwEAgIHAmoDCgUFDAYECQUFCwUBAgEgAAAABwAC/+AB/gHgAEgAcwCVALoA3wEjAWoAAAUiJicuASc+ATc+ATMyFhceAQcWBgcOAQcUBicuATU+ATc+ASc2JicuASMiBgcOAQceARceATMyNjc+ATc2FhcUBgcOAQcOASM3IiYnLgE3JjYzMhYXBhYXHgEzMjYzPgE3PgE3NhYXFAYHDgEHDgEjDgEjNzAiNSY0Nz4BNz4BNz4BNyY2MzIWFw4BBw4BBw4BBxQGIyciJjcuAScuASMiBgcOARcOASMiJjcmNjc+ATMyFhceARcOASMzIiYnNiYnLgEjIgYHDgEHFgYjIiYnPgE3PgEzMhYXHgEHFgYjEyMiJicuATcnPgE3PgE3PgE3PgE3PgE3Jz4BNz4BFx4BFx4BFRYGBzMyFhceAQcWBgcUFgcUBgcGFAcOAQcOAQcOASMnFwYWOwEyNjc+ATcmNjc+ATUmNjc2JicmNjU+ATMmNic2JisBIiY1JjQ1PgE3LgEnLgEjJgYHFwYWBw4BBw4BBw4BBw4BBwEANF0iIycBAScjIl00NVwjIikBAQQCAwgGCAIEAgYHBAEEAQEnHyFVMjBXHyIkAQEkIh9XMAgMCAUPBQUFAQMEBg8GCQ0IAShFGhkfAQEGAwQEAQEcFxg+JQQLBAYIBgIHAgQGAgMEAggCBgoGBQwEmQQEAQQFBAIGAQMBAQEGAgUEAQEBAwEHAwQFBQUB0AMGAQEEBgQNBggMBQQGAQEEBQIGAQEJBggRDAkUBggHAQEEBMEFBAEBBgQGCwgGDgMGBAEBBgMEBAEBBwgGEwoLEggGCQEBBgI5fQYIBAIFAQEBAQICBgEDAgMBAwEDAwMBAQEDBxIHCg0GBAcCAgI2Bg4IBgsBAQQBAgEFAwEDAQcCAgUGAwsEhgEBBQJ/AQQBBAMBAgQBBQYCAwEHAgECAQEBAwEDAQEVBkMBBQIEAgECAwUCCQQFCQYBAQEBAgUBAgICAQUBBAQFHCgjIl00NVwjIigoIiNcNQ0bDQwZDQMCAQEHAwwXDAwZDDFWISAlJSAhVjExViAgJgEBAQIBAQQDAwYBAgIBAQFAHhoaRScEBQUEJD8XFxwBAQIBAQEBAQMEAwYBAQIBAQIBAVYBAgcDBQwGCBAJCREJBAUFBAoTCQoSCQcMBgICqgUEBwwFBQUFBQUMBwQFBQQKEwcHCAgHBxMKBAUFBAcMBQUFBQUFDAcEBQUEChMHBwgIBwcTCgQF/rwEBAMJBG0CAwICCAQFCwYECQUFCwUkAgQBBQQBAQgHBhEKChcNBQQEDQkIDAQECQUFCgQGDAQFCAMHDgYFBYJqAgUCAgQLBQIFAQIMDwIEAgUQAwIEAgEDAQcGBwsBAgIDAg0XCQoQBQQFAQICIAECAQULBQQKBAYMBQUKAwAAAAACAFP/6AGsAdgAJQA8AAAXKgEnLgE/AQciJicuAT8BNDYzNzYWFx4BDwE3MhYXFhQHAw4BIzcyFhceAQ8BEwcGJicuAT8BDwE3MDIxrwEBAQMDATuFAgQCAQIBJwQDtwIEAgEBATaYAgUCAQH2AQQCPwIDAQIBATDLkgIFAgEBATeiJIcBGAEBBgPPHAEBAgQC9gMEKwECAgEFAo4oAgICBQL+kQEC7gIBAgQCqQEuJQEBAgIFAo4m5R0AAAkADv/yAfIBzgBWAGgAegCMAJ4AsADCAOsBAgAAJSImNTQ2MzI2Nz4BNTQmJy4BIyIGBw4BDwEnLgEnLgEjIgYHDgEVFBYXHgEXHgEHDgEnLgEnLgE1NDY3PgEzMhYXHgEXPgE3PgEzMhYXHgEVFAYHDgEjBSImJyY0PwE2MhcWFA8BDgEjFSImJyY0PwE2MhcWFA8BDgEjMyImJyY0PwE2MhcWFA8BDgEjNyImJyY0PwE2MhcWBg8BDgExByImNSY2PwE0MhcWBhUHFAYzMzAmNyY2PwE0MhUWBhUHFgYxBzIiMy4BJzcHFCY1JjQvASY2Jz4BOwEyFhcUFg8BNzYWFxQWBwMOASM3IhYVFhQXBzcHBiY1JjYnNyMXNzI0MwFyBAUFBBcpDw8REg8PKBcHDgcGDgYHBQobEBEkFB41FRQXCAcIFg4DAQICBwMQGAkICRoWFzwhFScSER4MBg4HBw4HGi8REhQTERIvG/7sAQQBAgIPAwcCAwMPAQMCAQQBAgIPAwcCAwMPAQMCPQIDAgICEAIHAwICDwIDAdkCAwEDAhABCAIDAQEQAQQBAQQEAQERCQEEAhEFAToFAQUCAREKBAIRAQWsAQMCBQICEXoGBAIBAgQBAwEEfgQBAwICKHAFAwQDA1oDAwQSAQQDAgxCdAEHBAEBLm0EdwMDfgUDBAUXEhMtFhcqEA8TAgICBQQEBxEaCgkKGBUVNx4SIg8QGwsCBwMDAQMMHhERJhQiPRcXGwoKCRsRAwUCAQIVEhIwGxozFRQaRQEBAwcCDwMDAgcDDwEBPQIBAgcDDwMDAggCDwECAgECBwMPAwMCCAIPAQI9AQEDBwIPAwMCBwMPAQE9AgECBwMPAwMCCAIPAQICAQIHAw8DAwIIAg8BAgoBBQOxNgEBAQEEAvMCAwEBAQECAgQChzwBAQECBQP+4AMD0QEBAQQDdcY8AQEBAgUCkN03AQAAAAoAd//gAYkB4ABFAGQAcwCCAJEAoACvAL4AzQDcAAAFIyImNTA0MTQ2MTQmJy4BIyIGBw4BFRwBFRQWMRQGIzgBMSMiJjURNDY7ATIWFRQWFx4BMzI2Nz4BNTQ2OwEyFhURFAYjJzMRIw4BBw4BIyImJy4BJyMRMzQ2Nz4BMzIWFx4BFwMjIiY1NDY7ATIWFRQGIzMjIiY1NDY7ATIWFRQGIzMjIiY1NDY7ATIWFRQGIzMjIiY1NDY7ATIWFRQGIwcjIiY1NDY7ATIWFRQGIzMjIiY1NDY7ATIWFRQGIzMjIiY1NDY7ATIWFRQGIzMjIiY1NDY7ATIWFRQGIwGAMAQFAQsJChgODhgKCQoBBQQ5BAUFBDgEBQoJChgODhkJCQsFAzAEBQUEJx4fAQ8LCx4QEB4LCw4CJycNDAsfEREfCwwNAZ0RBAUFBBEDBQUDMxEEBQUEEQMFBQMzEQMFBQMRBAUFBDMRAwUFAxEEBQUEmREEBQUEEQMFBQMzEQQFBQQRAwUFAzMRAwUFAxEEBQUEMxEDBQUDEQQFBQQgBQQBAQQOGgkJDAsKCRkOAQIBAQIEBQUEAe4EBQUEDRkJCQsLCQkZDQQFBQT+EgQFEQHeEBwKCgwMCgocEP4iEh4MCw4OCwweEgEzBQQDBQUDBAUFBAMFBQMEBQUEAwUFAwQFBQQDBQUDBAWZBQMEBQUEAwUFAwQFBQQDBQUDBAUFBAMFBQMEBQUEAwUAAAAIAK3/4gFTAd4AHQAjADcAPABOAGAAcgCEAAABIiYvAS4BNyY2NTc0NjsBMhYVFxQWBxYGDwEOATEnFzcnIwcTIiY1JzQmNxM2MhcTFgYVBxQGIycXNycHNyImJzQ2PwE2FhcUBg8BIjAjByImJzQ2PwE2FhcUBg8BIgYjByImJzQ2PwE2FhcUBg8BIjAjFyImJzQ2PwEyFhcUBg8BBjAjAQABAwFLAQIBAQIsBAFBAQQsAgEBAgFLAQQ/Pz0hOSE9AQVKAgJIAg0CSAICSgUBQUE/P0EiBAQCAwQ6BAUCAgU5AgETBAQBAgVdBQUCAwReAQEBEwQDAgIFgQQFAgIEgQICGwMEAgMEagQFAgIFaQICAWIBAUABBAECAwIqAgEBAioCAwIBBAFAAQFJNTUiIv43AgJ/AQQBAQIGBv7+AQQBfwICiG5u4eGJAwMEBgEQAQMDBAYBEUYEAwMGARsBAwQDBgEbAUUDAwMHASUBBAMEBgElOQQCBAYBHwMDBAYBHgEABAAAAFoCAAFmABgAMQCAAM8AACUiJicuATU0Njc+ATMyFhceARUUBgcOASM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjByImJy4BJy4BPQE0Njc+ATc+ATMyFh8BHgEXHgEXFgYHBiYnLgEnLgEvASYiBw4BHQEUFhcWMj8BPgE3PgE3PgEXHgEHDgEHDgEPAQ4BIyEiJi8BLgEnLgEnJjY3NhYXHgEXHgEfARYyNz4BPQE0JicmIg8BDgEHDgEHDgEnLgE3PgE3PgE/AT4BMzIWFx4BFx4BHQEUBgcOAQcOASMBBA0WCQgKCggJFg0NFgkICgoICRYNCRAHBgcHBgcQCQkRBgYHBwYGEQnfBgoFBAYCAgICAgIGBAQJBQUKBYgGCwUFCAMCAgMEBgICBwQDCQSIBgwFBAQEBAUMBokFCAMEBgMBBwMDAwIDCAUFCwWKBAkEAbkECASGBQsFBQgDAgMDAwcBAwYEAwkEhQYKAwQEBAQDCgaGBAgEAwcCAgYDBAICAwgFBQoGhgUJBQQIBAQFAgICAgICBQQECgWiCggJFg0NFgkICgoICRYNDRYJCAprBwYGEQkJEQYGBwcGBhEJCREGBgezAwMDBwQECQXABQkEBAcDAwMBAjYCCAQFCwcDBgICAwMFCAQEBgE2AgMDCQbABgkDAwI2AQYEAwkFAwIBAgYEBgsFBQcCNgIBAgE2AgcFBQsHAwYCAQIDBQkDBAYBNgICAwoGwAYKAwICNgEGBAMJBQMDAgIGAwcLBQUHAjYCAQMCAwcEBAoFwAUKBAQHAwIDAAQArf/iAVMB3gAdACMANwA8AAABIiYvAS4BNyY2NTc0NjsBMhYVFxQWBxYGDwEOATEnFzcnIwcTIiY1JzQmNxM2MhcTFgYVBxQGIycXNycHAQABAwFLAQIBAQIsBAFBAQQsAgEBAgFLAQQ/Pz0hOSE9AQVKAgJIAg0CSAICSgUBQUE/P0EBYgEBQAEEAQIDAioCAQECKgIDAgEEAUABAUk1NSIi/jcCAn8BBAEBAgYG/v4BBAF/AgKIbm7h4QAAAAMAtP/nAUwB2QAWABsAPAAAASMiJi8BJjY1PgE7ATIWFxQWDwEOASMnMzcjFxMiJjUnNiY3Ez4BFzIWDwEXNyc0NjM2FhUTHAEPAQ4BIwErVQMEAhgCAgIDA4cDAwICAhgCBANORxZzFiMBBkEBAgIpAgUEAwUCKTY4KwMFAgcrAT8CBAMBcgQCVgEEAgICAgICBAFWAgQRRET+ZAMCgAEDAQEABAQBBgP+bm7+AwYBBAT/AAEDAYACAwAAEAAM/+0B9AHTAFQAuwDUAOEA+gEHAS4BSQFYAWcBdgGFAZcBqQG7Ac0AAAUiJicuAScOAQcOASMiJicuATU8ATc+ATcuAScuATU0Njc+ATMyFhceARc+ATc+ATMyFhceARc+ATc+ATMyFhceARUUBgcOAQceARcWFBUUBgcOASMnFBYXHgEzMjY3PgE1PAEnLgEnJjY3PgE3PgE1NCYnLgEjIgYHDgEHDgEnLgEnLgEjIgYHDgEHBiYnLgEnLgEjIgYHDgEVFBYXHgEXHgEHDgEHBhQVFBYXHgEzMjY3PgE1NDYzMhYVJyImJy4BNTQ2Nz4BMzIWFx4BFRQGBw4BIzUiBhUUFjMyNjU0JiMXIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGFRQWMzI2NTQmIwciJicuAT0BNDYzMhYVFBYXHgEzMjY3PgE1NDYzMhYdARQGBw4BIycVFBYXHgEzMjY3PgE9AQ4BBw4BIyImJy4BJwMiJj0BNDYzMhYdARQGIxciJj0BNDYzMhYdARQGIzMiJj0BNDYzMhYdARQGIzciJj0BNDYzMhYdARQGIwMiJicmNj8BNhYXFgYPASIGIxciJicmNj8BNhYXFgYPAQ4BIyUiJiMnLgE3PgEfAR4BBw4BIwcqAS8BLgE3PgEfAR4BBw4BIwFrDR8PDxkICBkPDx8NGCMMDAsBAQYFDRUHBwgPDA0iFAsUCgkRBgkSCgkUCwsUCQoSCQYRCQoUCxQiDQwPCAcHFQ0FBgEBCwwMIxhjEA4NJBQUHQkKCQECBgUBAwMMEwcHBwwKCxwQCRIJCA4FAgYDCBIKCRQLCxQJChIIAwYCBQ4ICRIJEBwLCgwHBwcTDAMDAQYFAgEJCgkdFBQkDQ4PBQQDBlcGDAQEBQUEBAwGBgwEBAUFBAQMBgYICAYGCAgGnQYLBQQFBQQFCwYHCwQEBQUEBAsHBQkIBgYICAZMDxkJCQoFBAMFBwcHEwsMEwcGCAUDBAUKCQkaDzMIBgcTCwwTBgcIBQsGBw4JCA8GBgsFCAQFBQQDBQUDIgQFBQQDBQUDMwQFBQQEBQUEIgMFBQMEBQUE/AIEAgEBA0MDBwICAgNDAQIBAQIEAgEBA0MDBwICAgNDAQIBAXsCAgFDAwECAgcDQgMCAgEEAgUBAwE/AwECAgcDPwMBAgEEAhMBAwQPDg4PBAMBFBUUPioKHRIRKBQGEwsMGw4VIw0ODwUEBQ4IAwUCAgICAgIFAwgOBQQFDw4NJBQOGwwLEwYUKBESHQoqPhQVFEsUFwYGAxITEjcmCh4SEikUAwYBBQ8KChcNER0LCw0FBAUMCQICAQQGAgICAgICBgQBAgIJDAUEBQ0LCx0RDRcKCg8FAQYDFCkSEh4KJjcSExIDBgYXFAQFBQTBBQQEDAYGDAQEBQUEBAwGBwsEBAUtCAYGCAgGBggtBQQEDAYGDAQEBQUEBAwGBwsEBAUtCAYGCAgGBgj1CQgJFw43AwUFAwoUCAgKCggIFAoDBQUDNw4XCAkJRQYKEQYGBwcGBhEKBgUJBAMDAwMECQUBBAUDIgQFBQQiAwURBQNCBAUFBEIDBQUDQQQFBQRBAwURBQMiBAUFBCIDBf75AgIDBwIsAgEDAwcCLQEtAgIDBwItAQEDAwcCLAEBLQEtAgcDAwECLAIHAwICKgEqAgcDAwICKwIHAwECAAkACP/lAfgB2wBIAFoAbAB9AIIAkwCYAKkArgAAFyImJy4BJz4BNz4BMzIWFx4BBxYGFQ4BBxQGJy4BNT4BNzQ2JzYmJy4BIyIGBw4BBx4BFx4BMzI2Nz4BNzYWFxQGIw4BBw4BIzciJicuAT8BNjIXHgEPAQ4BIzMiJi8BJjY3NjIfARYGBw4BIxcjIiY3Jz4BOwEyFhcHFgYjJzMnIwc3IyImNyc+ATsBMhYXBxYGIyczJyMHFyMiJjcnPgE7ATIWFwcWBiMnMycjB/wyWSAiJgEBJiIgWTIzWCIgJwEBAgIBAgcDBAMCAgECAQElHh9SLy5THiAiAQEiIB5TLgcMCAUOBQQFAgMEBg8FCA0IAQMCAgIBBH8DBgQBAQN/AwICAQMCAj8EAQIDBgQ/AwEBAwIC9L0CBgEBAQQEuwUEAQEBBgO0rAGqAV9GAgYBAQEEBEQEBAEBAQYCPTQBMgFweQIGAQEBBAR3BAQBAQEGAnBnAWUBDCchIVgyM1ghIScnISFYMwcOBgcOBwMEAQEGAwYNBwYNBi9THh8kJB8eUy8uUx4fJAEBAQIBAQQDBAYCAgEBAesBAQMHAoADAwIHA4ABAQEBQAMHAgMDQAIHAwEB+gUEvAMFBQO8BAURq6t4BQM0AwUFAzQDBREiIpoFBEQEBQUERAQFETQ0AAAACgAUAFIB7AFtABgAMQBAAFkAcgCLAK4AyAECATwAACUiJicuASc+ATc+ATMyFhceAQcWBgcOASM3IgYHDgEXBhYXHgEzMjY3PgE3LgEnLgEjFyMnMycjJzMyFgcXDgEjISMiJjcnPgE7ATIWFw4BKwEHMzIWBxYGIwUjIiYnPgE7ATcjIiY3JjY7ATIWBxcOASMhIyImNyc+ATsBMhYXDgErAQczMhYHFgYjBSEiJic3JjY7ATIWBxYGKwEXITcjIiY3JjY7ATIWBxcOASMnIiYnLgE3Jz4BMzIWBxc3NhYXFgYPAQYwIzciJic+ATMyNjc2NCcuAScuAScmBgcOAQcOAQcUBicuATc+ATc+ATc+ARceARceARcWFAcOAQcOASMhIiYnLgEnJjQ3PgE3PgE3NhYXHgEXHgEXFgYHBiY1LgEnLgEnLgEHDgEHDgEHBhQXHgEzMhYXDgEjAQIYKw8REgEBEhEPKxgZKREPFAEBFA8RKRkBFiQODREBARENDiQWEyYMDw8BAQ8PDCYTuEwBRQFUAV8CBgEBAQQE/tZOAgYBAQEEBF0FBAEBBAVUAUUDBgEBBgMBKm4FBAEBBAVlAUUDBgEBBgNOAgYBAQEEBP74cAIGAQEBBARMBQQBAQQFQwFnAwYBAQYDAQj+iQQEAQEBBgJwAwYBAQYDZwEBZQFnAwYBAQYDcAIGAQEBBAS7AgICAQMBAQEEBQIGAQEpBQUCAQIFNAICxAUEAQEEBQoMAQMBAggIBA8HCBAJCRMGCQoFCAIEAgEFDQoHFwoMEwsIEwYKCgQBBAIJBAYMB/59BwwGBAkCBAEDCwoGEwgLEwwKFwcKDQUBAgQCCAUKCQYTCQkQCAcPBAgIAgEDAQwKBQQBAQQFbBIQECsYGCsQEBISEBArGBgrEBAS2RANDiUUFSQODg8PDg4kFRQlDg0QfBE0EQUERAQFBQREBAUFBAMFNAUDBAVEBQQDBTMFBAMFBQNEBAUFBEQDBQUDBAUzBQMEBTMFAzQDBQUDBAUiIgUEAwUFAzQDBYYBAQEEAj4DBQUDMhABAwMDBwEUARYFAwQFEQUHEQgJDwUEBQECAgICCQcGDgkDAwIBBwMKEgcICwMCAgIBBwUIEwsLFgoHDQQFBAQFBA0HChYLCxMIBQcBAgICAwsIBxIKAwcBAgMDCQ4GBwkCAgICAQUEBQ8JCBEHBREFBAMFAAAADgAAAC0CAAGTABAAFQAuAEcAYAB5AIoAjwCgAKUAtADDANUA5wAAJSEiJjcDPgEzITIWFwMWBiMlIQMhAzciJicuATcmNjc+ATMyFhceARcOAQcOASMnIgYHDgEHHgEXHgEzMjY3PgEnNiYnLgEjFyImJy4BNyY2Nz4BMzIWFx4BFw4BBw4BIyciBgcOAQceARceATMyNjc+ASc2JicuASMnIyImNyc+ATsBMhYXBxYGIyczJyMHBSMiJjcnPgE7ATIWFwcWBiMnMycjBycjIiY3JjY7ATIWBxYGIzMjIiYnPgE7ATIWFw4BIwUiJicuAT8BNjIXHgEPAQ4BIzMiJi8BJjY3NjIfARYGBw4BIwH3/hEDBgEBAQQFAe0FBAEBAQYD/hkB3wH+IwGBEh4MCg4BAQ4KDB4SEB8LDAwBAQwMCx8QAQ0ZCAoJAQEJCggZDQ8XCggLAQELCAoXD9YSHQ0KDgEBDgoNHRIQIAoMDAEBDAwKIBABDBoICgkBAQkKCBoMDxcKCAsBAQsIChcPskUDBgEBAQQFQwUEAQEBBgM9NQEzAQEKNAMGAQEBBAUyBQQBAQEGAywjASEBh3kCBgEBBgJ5AgYBAQYC3YgEBAEBBASIBAQBAQQE/ucDAgICAQQfAwYEAQEDHwICA9YCAwIfAwEBBAYDHwQBAgICAy0FAwERBAUFBP7vAwURAQD/AC8NCwweEREeDAsNDQsLHxERHwsLDZUKCQkYDg4YCQkKCgkJGA4OGAkJCpUNCwweEREeDAsNDQsLHxERHwsLDZUKCQkYDg4YCQkKCgkJGA4OGAkJCjwFA0UDBQUDRQMFETMzEQUDRQMFBQNFAwURMzMzBQQDBQUDBAUFBAMFBQMEBcsCAQIIAiADAwIIAiABAgIBIAIIAgMDIAIIAgECAAcAM//hAc0B3wAQABUAJgArAFoAhwCvAAA3IyImNRE0NjsBMhYVERQGIyczESMRFyMiJj0BNDY7ATIWHQEUBiMnMzUjFQUiJicuATU0NjMyFhUUFhceATM1IyImJy4BNTQ2MzIWFRQWFx4BOwEyFh0BFAYjJSImPQE0Njc+ATc+ATU0NjMyFhUUBgcOAQcVPgE3PgE1NDYzMhYVFAYHDgEjJSoBIy4BNz4BJy4BJy4BIyIGBwYmJyY2Nz4BFzIWFx4BFxYGBw4BI6IzBAUFBDMEBQUEKyMjo3gDBQUDeAMFBQNvZmYBGRlaLCxCBQQDBR4eHls/CwYzHRwuBQQDBRkUFTMaEwQFBQT+eAQFBAIIFwsMEAUDBAUSDQwaBwoiEBEYBQQDBRsUEywQASQBAQEEAgEFBQEBCAgEDAcGDgcDBwICAgQJEwkJEQcJCwIBBQYBBQKaBQQBMwQFBQT+zQQFEQEi/t4RBQSZBAUFBJkEBRGJicoHEhJOSQMFBQMtQRYWFoUCBgYYFgQFBQQKEAUGBgUDlwQFYgUDFgMEAQIKBwcTCwMFBQMQGAgJCwMGAQYICB4YAwUFAxwkCwsIRQIGAw8bCwwUBgQFAwQCAgMDBwIFBQEHBgkXDg8gEQIDAA4AAP/gAgAB4AAYADIASwBlAH4AkACiALEAwwDcAPUBBAETASwAABMyFhceARUUBgcOASMiJicuATU0Njc+ATM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjMQUyFhceARUUBgcOASMiJicuATU0Njc+ATM1IgYHDgEVFBYXHgEzMjY3PgE1NCYnLgEjMRMhIiY9ATQ2MzIWHQEhNTQ2MzIWHQEUBiMBIiYnJjQ/ATYyFxYUDwEOASMxIiYvASY0NzYyHwEWFAcOASMFIiY9ATQ2MzIWHQEUBiM1IiYnJjY/ATYWFxYUDwEOASMDIiYnLgE1NDY3PgEzMhYXHgEVFAYHDgEjNSIGBw4BFRQWFx4BMzI2Nz4BNTQmJy4BIxciJj0BNDYzMhYdARQGIzMiJj0BNDYzMhYdARQGIxMiJj0BIRUUBiMiJg=="}},"time_used":537,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":506,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:49.683Z","timestamp":1785129949683,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/nJ4pVzGWVH0\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 475313\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:32:16 GMT\r\nexpires: Thu, 22 Jul 2027 07:32:16 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 424413\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1597230,"size_decoded":476001,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (787)","md5":"ef473a4d0528fc7651d726fa43900068","sha1":"3b0d807a63c3244fc3fedeac020c2e81106185e1","sha256":"360a9b05bfc89caf69f220ef2473c20d1657318e21c4e0ffdab81e238b42dc61","sha512":"590afd923ebf8ce8da8def22bdf6149595740d96360cbf541954f52366a31fd5e3d3e6d8dd973044383f2cbad84c18f9f67ff69bf04c3dc6891b35b3eb29bb90","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4kf:fdhuuYnFCL4MVJBJO5DtKV2hdf","tlshash":"7e255b9977f2b46343a3f0e0286f018ab17f591454ccd46cb9a9e5f42da090e917bfac","first_seen":"2026-07-22T15:37:53.752532Z","last_seen":"2026-07-27T16:06:30.195204Z","times_seen":1773,"resource_available":false,"data":"dmFyIF95dF9wbGF5ZXI9e307KGZ1bmN0aW9uKGcpe3ZhciB3aW5kb3c9dGhpczsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIENvcHlyaWdodCBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwovKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBJPSd0b1N0cmluZztOO2Ntbz10ZDtzcGxpY2U7MTk3MC0wMS0wMVQxMTo0NTo0MS4wMDArMTE6NDU7bGVuZ3RoO21hdGNoOy87Y2xvbmU7WDtjYWxsO3Rocm93O2Ntbztqb2luO2Fzc2lnbjsvdmlkZW9wbGF5YmFjaztodHRwOi8vbG9jYWw7SjtpbmRleE9mO3d3dy55b3V0dWJlLmNvbTtzcDs7cHVzaDtzbGljZTtHRztyZXZlcnNlO3NjaGVtZTtcXC5nb29nbGV2aWRlb1xcLmNvbSQ7cGF0aDt1cmw7L2luaXRwbGF5YmFjaztuO3BsYXllcmZhbGxiYWNrO2dldDtzZXQ7c3RhcnRzV2l0aDtzcGxpdDs9O2ZhbGxiYWNrX2NvdW50O1c7MTtWO3k3O3Vuc2hpZnQ7cnI7dW5kZWZpbmVkO3BvcDssO2luZGV4Lm0zdTg7Jjtmcm9tQ2hhckNvZGU7V3NsWmtDWm96bFlyNkVCME43LV93OF87cnI/WzEtOV0uKlxcLmNcXC55b3V0dWJlXFwuY29tJDsxOTcwLTAxLTAxVDAyOjMwOjMxLjAwMCswMjozMDslM0Q7RWw7XFwuYTFcXC5nb29nbGV2aWRlb1xcLmNvbSQ7bGV0O0VJO3M7Zm9yRWFjaDt5SXkxUGEyOzE5NjktMTItMzFUMTc6MDA6MzcuMDAwLTA3OjAwO2xvY2FsO2Zvcjt5b3V0dWJlLnBsYXllci53ZWJfMjAyNjA3MjFfMDhfUkMwMDsvZmlsZS9pbmRleC5tM3U4OywiIns7Oi8vO1VudHJ1c3RlZCBVUkw7ZnZpcDthMS5nb29nbGV2aWRlby5jb207V0Q7aHR0cHM6Ly9sb2NhbDttbjsvLztmaWxlO3NpZ25hdHVyZUNpcGhlcjsvYXBpL21hbmlmZXN0O2Ntbz1wZjtyO3JlcGxhY2U7cmVkaXJlY3Rvci5nb29nbGV2aWRlby5jb207LCx9L1wnO3hpJy5zcGxpdCgiOyIpLApXWixuMncsaGksazIsdjJDLGVVLE5pLHB0LEFpLGhNaSxFdyx1eCxkcix4aU0semIsbHgsTFMxLFZqLGVNcixENCxrMyx4MyxneixxVSxKRixTaixtYyxLYixPTSxxd3QsR2JpLFYyLERlLGFNLHRVaCx2NCxucCwkaXgsaEEscmliLHhsLGUxLFhNLHFoLEc1LHNULHBwLEkxaSxTd2gsSkEsUzEsQUEsbVcsS3AsUDQsWmUseUcsVDUsS1MxLFJQLE90aSxadFosbjAsVWl3LFcyLERYLGJwLGtLLGg0LHlpdCx4SyxMMCwkSyxzQSxOeCxwMCxZSyxTdSx1aGgsemgsbHAsbzIsVUEsek0yLEMwLE14LFFsLFZsLFIyLGMyLG41LFc5LHY5LGtVLGhfLEw1LFhELHEzLE4zLHA1LEg5LGY1LFlVLEkwLFNYLG0wLEs1LE9fLFpCLFVfLEVfLHU0LEM1LEI5LG8wLHo5LEZELGpDaCxDeE0sYTAsbkcsRlMyLFdILGJXLGh2LHh2LGVXLGdnLHdaQyxHeix0dixWVVMscmcsTkUsWXYscEcsbjMyLFNXLEp2LFdjcixiYlosT0ssbV8sUEgsWlIsVUsseWcsS0csaVcsRUssb3osdVcsQ0csZGcsbFcsRkYsTUUsUnosClFnLGNILEQyLGJhLHZXLGF6LFdXLG5uLGhTLHg5LGVFLGdlLHFILFhfLFZHLHRTLCQ5LHJlLHNWLGpXLE5ILGFQLHBuLFk5LEhXLEpTLElZLEFTLEtuLFBXLHkxLHVhLG9ZLGs0MixaMixpYSx6JCxsYSxDbixqRSxGXyx3ZSxNSCxRMSxhWSxEOSxiRyxrbSx4bSxMaCx4VWosWHQsWW0sSHksSjMsSXgsU0MsQTMsbTQsS2gsT3MseW0sRXMsaUcsUHksdUcsb3gsZEcsVFMsQ2gsd0csTWYsUngsakMsVm0sYXgsbjgsWE1pLGczVSxiNixrbixoOSxMOCxxTU0sZTYsWGYsc2YsTlkscDgsSjksSV8sSzgsdGpVLHU2LG9fLHNNMixkUSxOenIsenYsbDYsVHYsajYsQzgsQk8sd1EsUl8sY08sV3gsdngsa3ksaEsscWMsWFp4LEFLLG9oLHVrLE1jLHdtLGZULHBNeCxZTXgsbkssdkwsREQsSGJTLEpGWixMSyxJNFMsZWcsZ0QsQUZaLG1VdyxTTVMsS2NoLFBfaSxaYmgsVVViLHJGdCxQTywkVU0sRzcseUZaLGVYLFhULEUzdCxpYlUsJEUsckQsTjUsbzNiLEhMLGZLLEpILElXLEFILEtLLGRVcixTZywKeTcsRTIsWkQsekJ0LE8yLG1oLGRELGw0aixUenIsak1oLHE4LCRHLHBxLFlHLFNPLGdwLEJ6aSxKJCxISixmcSxLcSxDXzEsRXUsdWUsbzUsRmNiLGRwLHozLHdNUyxsZSxUMyxqTyxSQmIsQkosRjEsd3AsUU1VLFY4LFI1LG5WLFE4LGE1LFczLERvLFZqdCx2MyxubDEsV1dyLGJwTSxibixMVix2bHIsZyQsazVaLHRxLFg2LGhIUyx4aGIsTFcyLGVIaCxnbGgsc2wsSDMsRzVoLHJBYixzUDIsTlR0LHA0aSwkaGgsdDFVLEpxLG1JLElpLFlUVSxPbCxQMyxabyx5aSxFbCxmZWIsSkF3LElldyxtaHcsU1RyLG9pLGQkLGxuLHpILEtXVSxCMyxQZjIsam0sT3BpLE12LHckLHlBMSxFbGksaXByLHVNWixSaSxuVyx6SGksVFRyLHZZLGtxLHhxLFhtLHF0LHQxLE50LHNqLENmMSxGV1osdzRyLFlxLEoxLElzLEhZLGZXLFYxVSxBMSxTUyxtRyxLVyxPaixaYSxQWSxjQVUsYWVoLG5LaSx5TixFaixpcix1cixscixvcyx6TixiMHgsZGgsVE4sQ1csalMsV3hoLHZLYixCWSxGbSx3aCxNdCxScyxRTiwKVk4sY1ksYXMsbl8sV0ssaEN4LERpLGJILHZLLGt0LHh4aixMeGksZUNVLGdLdCxYZCxZWSxoYSx4dCxMXyxxdyxzMncsclgsTldoLFl0LEhLLElGLFNBLEFhLG1hLHlLLHAyaix1SCxZQTEsbEgsVEssSDBpLGpBLENfLEJLLEo0cix3WCxNdyxSRixRSyxWSyxJWDEsY0ssYUYsbmUsV1MsRFEsYkMsa2oseGosTGUsZXYsdGsscjcscyQsTjYscGUsWWosSFMsZmUsSmssSVMsU3YsVSQsRSQsaUMsdUMsQTR4LG9TLGQ3LGxDLFRCLGp2LHc3LE02LFJTLFF0LGFTLG53LFdWLG14aixLeFUsREUsTzBpLFBwMSx2VixYJCxxTixVeGoseTQyLCRmLE5OLHB3LGZ3LFlmLEpyLG15LGkwYixQVixPdCxaRSx5Rix1dyxkMixDdyxVdCxUVzIsYUUsY1YsVzAsRHIsdjAsa1QsYmIsaHkseFQsQ3BNLGc4LEJXaixYbixxWCx3MjIsdHksTXVDLFJDVSxRMmksajJaLGFYQyxuVXcsSUssQXksSyQsZ1osWnIsVXoseUgsRXosaWIsb0sselEsbGIsVFEsQyQsQjAsRm4sUkssVkgsYzAsbnksV0IsREksYk8sdkIsCmtSLEx5LGhPLGI1dCxnSixlXyxHMSx0TywkUixOMCx2VTEsc1AscHksazlpLEFPLG1ZLEt5LFVQLHl4LGlPLGhxaCxkSix6MSxUMSxqXyxCQix3SixSOSxNMCxhOSxiUSxrdSxMRixlRixnMCxYcSwkdSxlcTEsZ1VyLHBGLFl1LE5MLEhOLFg5VSxKYyxJZyxTRixBYyxPUixaeSxVUixLRix5YyxFUix1USx0WFUsJDN4LHMwcixkMCxyX2osRzl3LHpuLE5aaSxpUSxvZyxINXgsbFEsVG4sakYsQ0YsRnEsdzAsZkJVLEpfMixJQmksY04sYWcsV3osRG0sU19aLEFfcixtM3csSzByLGI5LHZ6LFA0TSxrTyxoNyx4TyxMUCxlOSxnMyxVM3QscUIsaTVoLHVEeCwkTyxyMyx0Nyx5X3Isc0osTkIscFAsWU8sR28sRVVTLEh6LGZQLEo3LEk3LEE3LG1ULEtQLE9KLFB6LFRaaixabSxvNyxkMyxsOSxqMHgsRjBNLEJaaCx6byxGMyxWZCxNWFMsdzMsY3osbm0sYTcsRDUsYk0sV1UsUnEyLFEwUyxWWDIsY19aLGtRLGFCUyxudjIsV19DLERFeCxiR0MsdnZpLGt6aSxoSSx4USx4RXcsTF9pLGd2dyxldywKTG0sJFEscUt3LHNjLHBtLFlRLHRXdywkRXQsZm0sT2MsUFUsWjUseUosRWMsU3csVWMsaU0scnZoLHN6Uyx1TSx6VCxqdyxUVCxCVSxsTSxDbSxNYixhSSxuWCxOZ3csY1UsVkosZ0UsZVosdHAsJG8sckUsWUtqLGZSMixTS0MsSnZaLHM5LElSMSxOaixISSxwWCxJYixBcCxLWCxaQSxQSSxPOSxVOSxpeSx1eSxkRSxLXzIsT0d4LFBXMSxRUixNaixjSSxDWCxuVSxxMSxiUix2cyxrQSxUcCxzeSxwVSxpR2osS1UsRXZDLGpaLG1yLER2LGc0LE4xLGFiLEY0LEJJLHdFLFZSLHI0LHVSLG92LEV5LFRVLGp5LENVLENXaSxCcyxGUix3NCxNMSxCZ3Isd0hDLE1XdyxRNCxjcyxuNCxhdixXYSxRejEsVld4LGhQLGtCLG45dyx4QixnSyxMNCxlaSxXTlUsREh0LGhUUyxLNCxPYSxnOWksdWcsaWcsWFdqLFRxLHFWWixqaSxHJGosenEsQzR3LG9VLGxnLGRLLFBhLEZqLHRFeCwkSHQsd0ssTWcsUTUsTmUyLGFVLG5CLGtWLGhtLHBXTSxMQixnYixYQSxxUSxHdyx0bSwkVixZVlMscmIsZUwsc0gsCnBCLEhiLGZCLFlWLElMLEhucixmMmosT0gsWk0sRUgseXYsaSQsSlNyLHp3LGRiLEkyWix1JCxTVjEsakwsQ0IsQVN4LG1IMSxLTnQsQmIsRkEsb0wsVHcsUGF4LGNiLFdQLFZ2LGtELHhELGVrLHlTaCxFOWIsaW53LGRIaix1X3QsR1cscGwsSFAsZmwsSmUselRqLElqLEFlLG1FLFNrLEtsLFRlYixPbyxQUCxqWTEsWlksRk54LEJlUyxDYVUsTUV3LFVvLFZFMixsMmoseXEsRW8sY1MyLHFyLHRlLER3LHZHLGtNLGhSLHhNLExSLGU1LGdkLFhhLHFELEc2LHRSLCRNLHJkLHN4LGEyMixwUixKUixJdyxtayxLUixPeCxQRyxadyxVeCx5QSxFeCxpaCx1aCxvdyxkZCxUNixqNSxDUixCRyx3ZCxNRCxRQSxjRyxuZixXZSxERyxiQixubWgsVzRVLERmUyxrJCxYOCx0RSxiaDEsJCQsc2UsTmEscGYsa1NqLHhmUyxIZSxMNFosZWFVLGdtMixKRSxJOCxxc1UsQUUsR1N3LCRmaSxLZixyM1osT2UsbUwsc3hyLHRDaCxTWSxQZSxaRyxweXQsWXNNLEhodyxVZSxJOTIseVcsRWUsdUIsU3NaLGROLApuYyxXUSx5M3IsYjAsRW14LHg1LExjLGV0LG9tTSx0aixYeSxkZjIsRzAsJDUsemFpLGw5aSxUR2gscWUsdXQyLHJhLHNoLEhRLEJHTSxGNGIsZmMsSmosUmFTLGE5cixxNCxubjEsdFgsck0scGksWXosZmksSWYsbVUsUzIsaGp0LEFYLHhZYixLaSxPMyxlancsWnEsZ25aLFAkLExEWixpWixYT2IscWZTLHQ2QyxyOVMsR3ZVLHNfMixOUWksajIsQiQsSDhyLFFyLEo5YixmOEMsTTQsVnIsUmYsYyQsSThqLEE5UyxTZmosRkcsbVl3LFA2Uyx3TSx1Zk0sb25yLGRZTSxpOFUsRW4yLHk5dCx6ajEsYWYscE9pLGw4dCxZZmksVFFNLGpfVSxuNyxGRGIsQzZVLFduLEJRdyx3T1osUmpVLFFfMSxNNlUsbnl3LFdCaixhODIsa0Z3LGhzdyxWNnIsYzlNLExCVSx4Y2Isa2QsZXNqLGhzLGd5MSxHRkMsWHh0LHRwYixxMGIsJGN4LHhkLEw3LGVJLHJLcixzaFosZ1AsTm10LFhOLHB4aSxZMFUscUcsR0UsSFRaLGZsaixKS2osSWxqLHRzLFMwdyxBS3IsbWNyLEtCTSxPVGIsUGtDLFpUVSxVY2kseUtDLApFeTIsaVR4LHVMMixveWgsZGN0LHpzMSxsbHIsVG1yLGpoTSxDa3gsQm1qLHd4WixNcEMsclAsc24scDcsWWQsUnN4LEhuLGY3LFFodyxKcyxWcEMsSU8sQXMsbTUsSzcsWlUsVW4seXcsaUosYWx4LG9PLHpFLFRFLGdYLEM3LGhBaSxCbixlQSxGTixlQVosTUcsUk8sVncsZ0V3LERjLHZBLGtKLFhMUyx4SixlSixnRixYcCxxZCxOZCxJRGgsUzJiLFlKLEhLaSwkNXIsSlQsc1diLElyLHJGLCRKLHRnaCxHN1UscTJDLHRULGZnLHNELEhBLFBBLFpjLFVELHlMLEVELGkzLHUzLG9yLGRGLHpfLFRfLGpKLENnLEJBLEZwLHdGLFFMLFd3LFZMLGNBLHZ3LGt4LGFyLEtoMixMcyxnQSxHaixQSUMsWktaLFl4LHBzLFU1WiwkeCxyQSxzWSxOayxIdyxmcyxKWSxJQixTUCxtdCxBWSx5SHIsS3MsUHcsRUVaLE9ZLFpfLGlLVSxVWSx5ZixvRWksemosbEwsalAsVGosQncsRjUsd0EsTWssUWYsY3csbnosV18sREosZDV3LGJULHZfLGtOLHpBMixoSix4TixMeixleCxnayxYeCxsRHgsVEQxLEdQLHRKLAokTixPdixQXyxaSixVdix5cyxkayx6UCx3TFUsbFQsVFAsangsQ3osTWdNLFJBUyxRV00sVmdpLGNIaixhRFUsRngsTUksbkdTLERPLHZSLGhNLHhYLExNLGVHLFhaLHEkLEdpLHRNLCRYLHJ5LHNOLE4kLFlYLGZNLEpNLElkLFNHLFFQLE9OLG1GLEtnLE0zLFpPLFVOLHZHVSx5VCxrM3IsaTgsdTgsZHksaGdTLHppLGw4LFRpLGpHLHJrLENNLEJSLHg4aixGWixNJCxSZCxRVCxWVCxjUixhZCxuNixXRix2RixMS1UsTDYsZWcxLGU0LFhKaSxxeixxdWosRzNDLHRPWix0WixzNVUsTnBqLHBKYixJbyxZdWgsSHFoLGZ0WixHXyxmRHcsJGcsUzQsSzYsT2ssUEYsSiRVLEl0aSxaSCx5QyxBWixFayxBJGksaUEsdUEsb28sbTh0LHp4LFR4LGo0LEM2LEJGLEtLdCxGdixwNixWQyxPcXgsVThaLERLLHJIaSxKSHIsdlgsaHoseGgsTE4sZVQsZzEsRUdDLCRoLG9HdyxkOGksaXF0LHR6LHUxcixsdGIsTlYsemcyLHBOLFRwYixIWCxORFMsWTJTLE9ELFNKLENlVSxmTixKeix3SngsajVpLFNULG1WLApLTixBeixPZCxQWCxSZ1UsRWQsVk9yLGF0dCxpbyxuWUMsb24sekwsWHYsVEwsalQsQlgsRlYsUU0sY1gsbG8sYzksV0UsYmksdkUsaHUsTEUsdHUsWnFTLHZZaixmRSxKdSxTTSxBdSxWUCxLRSxMSUMsZUVpLE9tLFBFLGdZWix0bU0sWmYsWDNTLEdIdCxxbGgscnFaLHNpcixpaSx1aSxvQSxUbCxDRSx3YyxGQyxNRixSQSxZbHcsUW4sSFZ4LGZvaSxKcVosQXExLG12aixhQSxuTCxQbjEsWlZpLHlxMSxFWTEsaVYyLHU2UyxvWU0sekViLGxvaixrTCx4TCxMTCxlJCxnNix0eCxCJHgsdzNpLEdmLFJFaSwkTCxyNixRaTIsVm10LHNVLFZuLFdqLEhqLGZMLG1mLEVVLGlqLHVqLGQ2LHpmLG9RLGdxWixsaixYWWgscWpoLEdOaCxDTCxCaixGZSxKeCx3NixQMCxNcyxBSixSUSxReixOSSxWeixVdE0sY2oseTFoLEk0LGFRLG5BLGJGLFRmLGokLFN4LGhELEVxaCx4cCxLeixpV1MsdW10LG9xMSx6a1UsTEEsZTcsZ2wsWDIsZHQxLEdlLHRELCRwLHJsLEF4LE51LFlwLElULEFELGlULHB6LEtBLApPUyxQVCxUaGksY3F4LHBMLFpQLFVTLHlVLEVTLGlGLHVGLGxGLHplLGo3LGRsLE1TTSxDQSxCVCxGMix3bCxNdSxhVCxjVCxRc1MsbjIsVzcsVlNoLGtGLGhmLGMxQyx4RixMMixlQixiX0MsZ3YsWHoscXAsdGYsdnRDLGh4dyxmMixKZixJeSx4dzIsU0IsQWYsbVAsWiQsVUYseUUsRUYsaTUsenUsVHUsakIsQzIsQjcsTGF4LEZ6LHd2LE1wLFJ5LFFFLFZFLGM3LGF5LG52LGJZLFd1LERiLEdLdCxxSXcsdEFDLCR3aixyYVUsc0ZNLHZ1LGtzLE5YaCxlbixnVixZSTEsSF9VLHFXLFhyLHRCLGZpeCxyVixzYixOVyxwdixmdixZcyxKQixJNixKYWksSHUsWmIsVWIsRWIsbzYsU0laLHVZLEFhMixURCxsWSxtd3Isam4sQ3YsRnIsd1YsTVcsUWssVmssY3UsQ25pLEZJMSxhNixXcCxEeCxidSx2cCxrWixoVSx4WixMMyxlVixnQyxVd2IseWFqLGlfYixYdSx6eFMsakZNLFNWLENIaCxGYU0sd0tqLE1BTSxSeGosUUZ3LFZBUyxjYXQsYWlNLG5qMSxtZSxXJGosRDZ4LEszLE9HLGJlcixQcCwKdmp3LGg3Mix4NncsVUcsWngsTCQyLHlCLGl1LGU3YixnajEsWFNoLG9xLEdCYixya2osekkscSQyLCQ2aCxsdSxqVixzU3csTjdTLHBTUyxGdSxIZVUsd0MsUnEsSVExLFMkaCxtNncsSyRqLFZCLGNwLFBDMixhcSxaZXcsTXEsVTZDLGZRaCxPZWksQWtNLFc2LHlrcixFalosaWVpLHU5VSxvancsRGQsVDdiLGQ2cix6N1UsalNaLGJTLENDTSxsUWgsdjYseEMsTHIsZXEsa0MsQjdiLHdTVSxndSxGJHgsTXZTLFI3VSxWdnQsY2tqLFgwLGFRUyxuZngsRE4xLGJ3QyxxMixHWix0MCwkQyxRRXcsVkh4LGNyaCxEWDIsdmZ0LGtkVSxuVHcsV2paLGFFdyx2VFosSDYsSjQsZnIseWssbWksS3YsUHUsaVksS3IsSSQsaFpyLE80LHhYQyxMalUsUDYsQTAsbWQsWmQsZ1RDLFU0LEowLGc3LHlvLEU0LGlTLFNxLGtRdyxlWnQsdVMsWDB0LHF6aCxHUWIsdGRqLCRYMSxyeUMsTjhaLGR1LEprQyx6WixsUyxSNixLYTIscDBiLGpxLFZvLElyYixZemksZnJDLENyLEYwLG1YYixLamksTyRpLFokaSxQYlUsClVYWixhJCx5eXgsbkQsV2wsaSRTLEVUaixvVGosRGssdW5VLHZsLHpaaixscjIsVDhoLENidCxCOGksdzBiLGhnLGt3LEZqaixSWmgsTEQsVmR0LGVSLFFLeCx4dyxnaixYQixXWWgsblJ0LCR3LHFQLFl3LHZSdyxlU2osaFMxLExZMix4MEMsZkQsWEJ3LHFQaSxHMVMsdF9oLCQwYixyT2gsczlDLE5KaSxJayxwQngsWVBNLEh5VSxKT3csZkl0LElJYixKZyxBT00sU1IsY3laLFBsLFp5UyxpeWksdWtoLG9SdCxQT3QsRXEsdTEseXUsZDBiLFVxLGxJYixvayxaayxVMFosaTEseU9aLG0wTSxtdixqOUMsT3laLENPaixCSnQsVEpiLEZZQyx3QngsemMsTV93LFE5YixWXzIsUlNDLGNPdyxhSVosV1hoLERMYixrbnIsYkZqLHZ1TSxUYyxoUXgseEx0LExYcixndUMsalIsQ0QsWE5pLEJsLHFScixHbncsdEZ4LCRMQyxyYzIsc2d3LE4wUyxwTnQsWVJ3LEhGWixmeVUsSmNiLEl5dyxTUnQsQWNaLG1MMixLWFosT0ZDLFBRcixaRnQsVUwyLHljMixFdXQsaUZVLHVxdCxvdTIsZExpLHpRUyxseTIsClQwVSxqZ2gsQ1FDLEIwaixGWDIsTUZ4LFJRVSxWRlMsTVAsUXUsVnUsY2wsbk9NLG5DLFdUaCxEQmksYlBTLGFrLHZPMixheVosYm0saEQxLHhCaCxMVGIsdnIsa29yLE9iLGRWLFlDLFN6TSxjNixIJGgsUW8sQjYsd3UsUiQsZGoselMyLEVSUyxYemgscUoyLHQ5aCxrYywkQmkscjdoLGgyLGVEYixYYixIUGIsZm14LEo3aSxJbWkscW0sZ09DLEE3eCxzN3IsTjNDLHhjLExDLHB6aCxaUGosS1RpLE9QMixyUyxOMiwkYyxTSloseTdpLEVPaCxpUFMsbUJiLHUzeCxvT3gsZEJoLFQzaCxqN2osQzl4LHBDLEIzeCx3enIsRlR0LFJEaixRNzIsYzdyLFdnMixoOE0seGJqLEhyLG5RdyxKMixmQyxMZ3csZTh3LGJtaCxWOWksTTliLGdRdyxYVVMscWNVLEdUUyx0d00sckkxLFMwLCRiWixOb0Msc0lNLFljMSxwVWosbW4sQTIsSG1TLGY1eCxKSWIsSTUyLEtDLEFJTSxtYk0sS2d4LE9YLE9tMixQTWosUHIsWm1oLHlJcixpbXIsWlYsVVgseTMsaW0sdW0sRVgsRVFNLHVpaixvUTIsZGJTLHo4MiwKbDVVLGJBLG91LFRvaSxqSWosQ014LEJvdCxkUyxGZ2IselgsTXdoLGwxLFRYLGowLENDLEJyLEZiLHdTLFFJUyxWd00sY0lqLGE1cixSdSxXM1osRGoyLGJYdCxrcGksaHlpLGJKLHZ5TSx4amosTDN4LGV5aixYSVosYXUsV2QscTkxLG51LEQ3LGJWLHRaTSwkalosdmQscnB0LGNjWixNbSxWMyxoQyxIWDIsZkF0LEpwVSxJQWgsUzliLEFwaixtanQsSzNVLE9YMixlaCxncyxYSixQeUMscTksUjhDLFVqdyx0QyxHWSwkMCxFb2ksaVhTLHJzLHNCLHlwYixwdSx1NGIsWTAsb294LGZ1LFRFMixqYjIsSkMsRjNiLFNoLG1vLGRqcixNWjEsSGQsUnlpLFFidyxsQXQsVlppLHp5MSxhQXcsbkF4LGNwdCxQZCxaNyxMcjEsdkFqLHlhLGVwWixrVWksRDF0LGdBaSxXcmgsR1UxLFhzaSxVQix0eTIsYlVVLHI2dyx4MVUscHNyLEVCLEhVaSxmdmksWXlpLEl2aCxTeXIsU1BNLEdYLG9jLFA5VSxtMVUsSWMsbFYselksamgsQmQsRkosS3JiLHdzLFUxaSx5NlosRUFDLE05LFBSYixSYyxpVXQsQ3UsCmNkLG9BdCxRYSxWYSx1VixUWSx3c2ksTXl4LE9VaCxkcyxScFUsYnYsQTZqLGQxMixhdlosbkJDLFcxaSxiNHQsRGdDLHZCMixCNFUsUXZpLGhMWixMMWIseGdaLGVMaCxnQnIsWGFTLGtQLGg1LHFhVSxHcU0senBpLHRpUywkZ0MsTGEsclBoLHNVUyxlbCx4UCxwYU0sZzksWFksSDR0LGZwaSxKUE0sSXBDLFNhTSxZYVUsQVAyLG1naCxPNEMscVQsSzFVLEdHLFBneCxaNHgseVBqLEVCQyxVZzIsb0JyLGRndyxpNFUsdWp4LHpMWixscDIsalVVLFRLdyxSTHQsUVVaLENndCxCS0MsRjF3LHdhUyxNaWksVmliLHI5LHNyLCRQLE5ULGFweCxuVnIsV3F4LEpKLHBhLGJCeCx2VjIsa3d3LFlQLGZhLEg4LHhRdyxoYmosZ1ZoLEo1LFIwLFhiaCxJRyxxSDEsR3dVLHRMeCwkUXgscm1NLHNMYixOYmIsSEJ3LFlIaSxBNSxtQSxKbXgsS2EsU2wsZk0xLE9yLEtxcixQJEMsWkJqLFVRaSx5bWksRVZiLGlCUyxaVCxpdix1QXQsdXYsemJyLG9WMixEJCxURyxqbCxDYSxHdSxCOCxGWSxqTGosQyR3LAp3OSxSRyxRWSxGcU0sTVQsQmJoLFJieCxjbWIsVlksYU1VLG5EaixhRyxEclosVkxNLFdjLGJsWixuTyx2RDEsa1cxLGJzLHZjLHhydCxrSSxlMEMsZ0R4LExFcixYUGkscW8yLGhoLEdXYix0azEsTE8sZXMsZ2YsJHJNLHJlUyxzalMsTl9oLFlvQyx0aCxIbEMsJEksQWV0LHJmLG1yaixLRWgsUGRaLE9sTSxOSyxwTyxabGksRURqLEhjLFlJLHU3dCxkck0samp4LENkaixKaCxJZSxCX0Msc0YsZk8sRkVaLFNzLHdQMSxNa00sbVIsY2ViLHlSMSxHRCwkcyxlMCx6RCx5UyxCdSxFZyxpcyxUWixVZyxpUlosdXMsdWFVLG9NaCxkRGIselVoLHR2aSxNMixqd2osRncsQ2gxLE1LLGlwLGpzLEZraixjYyxDTyxuSixjUmIsVjVoLGx3WixXZixkZixUZGosbHMsbiRNLFdMcixEYXIsTTVpLHYkaCxodnIsZXZ0LGckUyxrcix2ZixYZWosYmwsREwseHIsTEwyLHFlaSwkYXIsdVJyLHJFUyxzOHIsWWVpLFhTLHBlVSx0YixOTncscTcsZkdTLEpFYixJR3csU2UxLEFFaSxyNSxaZncsc1osT2Z0LHlFMiwKRSRNLGlmQyxLTFosdThiLFlyLG8kVSx2NyxmSixKYixBYixQZixWUyx6djIsVVosbEd3LGo4MixDQlMseVosaWwsVWFoLHdlVSxNWU0sUnZaLFE4eCxWWXgsYUcxLFcydyxEZWIsb1gsY0VyLFZaLGswaix6QSxFWixoZDEsbngsTDJNLHhlcixXcSxERixiVSx2cSxlZFMsYVgsT1osQ0osbGwsVEEsQmYsbjVqLEZTLEtKLHVsLGRhdCxYUXgsRzBqLFNhLFFaLHR0dywkZVUseGkscmpqLHNhaSxoVixOYWIsa2ksZW8sWWhpLEhjdCxmNmg7V1o9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG50W25dLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OwpnLkQxPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG50W25dPVd9OwpuMnc9ZnVuY3Rpb24obixXKXtpZihXKWZvcih2YXIgRD0wO0Q8dloubGVuZ3RoO0QrKylrMih2WltEXSsiQXJyYXkucHJvdG90eXBlLiIrbixXKX07CmhpPWZ1bmN0aW9uKG4sVyl7VyYmazIobixXKX07CmsyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9eDI7bj1uLnNwbGl0KCIuIik7Zm9yKHZhciBiPTA7YjxuLmxlbmd0aC0xO2IrKyl7dmFyIHY9bltiXTtpZighKHYgaW4gRCkpcmV0dXJuO0Q9RFt2XX1uPW5bbi5sZW5ndGgtMV07Yj1EW25dO1c9VyhiKTtXIT1iJiZXIT1udWxsJiZXU0MoRCxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6V30pfTsKdjJDPWZ1bmN0aW9uKG4sVyl7bi5wcm90b3R5cGU9RGl4KFcucHJvdG90eXBlKTtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO2J0UyhuLFcpO24uVEI9Vy5wcm90b3R5cGV9OwplVT1mdW5jdGlvbihuKXtuPU1hdGgudHJ1bmMobil8fDA7bjwwJiYobis9dGhpcy5sZW5ndGgpO2lmKCEobjwwfHxuPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbbl19OwpnLkdiPWZ1bmN0aW9uKG4sVyxEKXtuPW4uc3BsaXQoIi4iKTtEPUR8fGcucWk7Zm9yKHZhciBiO24ubGVuZ3RoJiYoYj1uLnNoaWZ0KCkpOyluLmxlbmd0aHx8Vz09PXZvaWQgMD9EW2JdJiZEW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXT9EPURbYl06RD1EW2JdPXt9OkRbYl09V307Ck5pPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigiQ0xPU1VSRV9GTEFHUyIpO249RCYmRFtuXTtyZXR1cm4gbiE9bnVsbD9uOld9OwpnLnJyPWZ1bmN0aW9uKG4sVyl7bj1uLnNwbGl0KCIuIik7Vz1XfHxnLnFpO2Zvcih2YXIgRD0wO0Q8bi5sZW5ndGg7RCsrKWlmKFc9V1tuW0RdXSxXPT1udWxsKXJldHVybiBudWxsO3JldHVybiBXfTsKcHQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFchPSJvYmplY3QiP1c6bj9BcnJheS5pc0FycmF5KG4pPyJhcnJheSI6VzoibnVsbCJ9OwpnLlkyPWZ1bmN0aW9uKG4pe3ZhciBXPXB0KG4pO3JldHVybiBXPT0iYXJyYXkifHxXPT0ib2JqZWN0IiYmdHlwZW9mIG4ubGVuZ3RoPT0ibnVtYmVyIn07CmcuZnQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFc9PSJvYmplY3QiJiZuIT1udWxsfHxXPT0iZnVuY3Rpb24ifTsKQWk9ZnVuY3Rpb24obil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLFNVKSYmbltTVV18fChuW1NVXT0rK2tidCl9OwpoTWk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLmNhbGwuYXBwbHkobi5iaW5kLGFyZ3VtZW50cyl9OwpnLkt0PWZ1bmN0aW9uKG4sVyxEKXtnLkt0PWhNaTtyZXR1cm4gZy5LdC5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpnLlBaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBiPUQuc2xpY2UoKTtiLnB1c2guYXBwbHkoYixhcmd1bWVudHMpO3JldHVybiBuLmFwcGx5KHRoaXMsYil9fTsKZy5Vdz1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTsKZy55aj1mdW5jdGlvbihuKXtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXJSdW4iLG4pfTsKRXc9ZnVuY3Rpb24obil7cmV0dXJuIG59OwpnLml4PWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRCgpe30KRC5wcm90b3R5cGU9Vy5wcm90b3R5cGU7bi5UQj1XLnByb3RvdHlwZTtuLnByb3RvdHlwZT1uZXcgRDtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO24uQU89ZnVuY3Rpb24oYix2LGspe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLHg9Mjt4PGFyZ3VtZW50cy5sZW5ndGg7eCsrKWhbeC0yXT1hcmd1bWVudHNbeF07cmV0dXJuIFcucHJvdG90eXBlW3ZdLmFwcGx5KGIsaCl9fTsKdXg9ZnVuY3Rpb24obiwuLi5XKXtXPVcuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighVylyZXR1cm4gbjt2YXIgRD1uLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIEQ/bi5zbGljZSgwLEQuaW5kZXgrMSkrVysiJiIrbi5zbGljZShELmluZGV4KzEpOm4rKG4uaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrV307CmRyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/IiYiK24rIj0iK2VuY29kZVVSSUNvbXBvbmVudChXKToiIn07CnhpTT1mdW5jdGlvbihuKXtuPW4uWDtpZighbilyZXR1cm4iIjt2YXIgVz1kcigidWFwIixuLnBsYXRmb3JtKStkcigidWFwdiIsbi5wbGF0Zm9ybVZlcnNpb24pK2RyKCJ1YWZ2IixuLnVhRnVsbFZlcnNpb24pK2RyKCJ1YWEiLG4uYXJjaGl0ZWN0dXJlKStkcigidWFtIixuLm1vZGVsKStkcigidWFiIixuLmJpdG5lc3MpO24uZnVsbFZlcnNpb25MaXN0JiYoVys9IiZ1YWZ2bD0iK2VuY29kZVVSSUNvbXBvbmVudChuLmZ1bGxWZXJzaW9uTGlzdC5tYXAoRD0+ZW5jb2RlVVJJQ29tcG9uZW50KEQuYnJhbmQpKyI7IitlbmNvZGVVUklDb21wb25lbnQoRC52ZXJzaW9uKSkuam9pbigifCIpKSk7Cm4ud293NjQhPW51bGwmJihXKz0iJnVhdz0iK051bWJlcihuLndvdzY0KSk7cmV0dXJuIFcuc2xpY2UoMSl9Owp6Yj1mdW5jdGlvbihuLFcpe2lmKFchPT1udWxsJiZXIT09dm9pZCAwKXtpZih0eXBlb2YgVyE9PSJvYmplY3QiJiZ0eXBlb2YgVyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkLiIpO2lmKEQ9PT12b2lkIDApe2lmKCFTeW1ib2wuZGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC4iKTt2YXIgRD1XW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgRCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IG5vdCBkaXNwb3NhYmxlLiIpO24uc3RhY2sucHVzaCh7dmFsdWU6VyxkaXNwb3NlOkQsYXN5bmM6ITF9KX1yZXR1cm4gV307Cmx4PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoayl7bi5lcnJvcj1uLmhhc0Vycm9yP25ldyBTdXBwcmVzc2VkRXJyb3IoayxuLmVycm9yLCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIik6aztuLmhhc0Vycm9yPSEwfQpmdW5jdGlvbiBEKCl7Zm9yKDtiPW4uc3RhY2sucG9wKCk7KXRyeXtpZighYi5hc3luYyYmdj09PTEpcmV0dXJuIHY9MCxuLnN0YWNrLnB1c2goYiksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihEKTtpZihiLmRpc3Bvc2Upe3ZhciBrPWIuZGlzcG9zZS5jYWxsKGIudmFsdWUpO2lmKGIuYXN5bmMpcmV0dXJuIHZ8PTIsUHJvbWlzZS5yZXNvbHZlKGspLnRoZW4oRCxmdW5jdGlvbihoKXtXKGgpO3JldHVybiBEKCl9KX1lbHNlIHZ8PTF9Y2F0Y2goaCl7VyhoKX1pZih2PT09MSlyZXR1cm4gbi5oYXNFcnJvcj9Qcm9taXNlLnJlamVjdChuLmVycm9yKTpQcm9taXNlLnJlc29sdmUoKTsKaWYobi5oYXNFcnJvcil0aHJvdyBuLmVycm9yO30KdmFyIGIsdj0wO0QoKX07CmcuVGI9ZnVuY3Rpb24obixXKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLGcuVGIpO2Vsc2V7bGV0IEQ9RXJyb3IoKS5zdGFjaztEJiYodGhpcy5zdGFjaz1EKX1uJiYodGhpcy5tZXNzYWdlPVN0cmluZyhuKSk7VyE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Vyl9OwpMUzE9ZnVuY3Rpb24oKXt9OwpnLmpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ubGFzdEluZGV4T2YoVywwKT09MH07CmcuQlo9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmxlbmd0aC1XLmxlbmd0aDtyZXR1cm4gRD49MCYmbi5pbmRleE9mKFcsRCk9PUR9OwpnLkZoPWZ1bmN0aW9uKG4pe3JldHVybi9eW1xzXHhhMF0qJC8udGVzdChuKX07Cmcud3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoVy50b0xvd2VyQ2FzZSgpKSE9LTF9OwpnLmNaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtuPVN0cmluZyhuKS50cmltKCkuc3BsaXQoIi4iKTtXPVN0cmluZyhXKS50cmltKCkuc3BsaXQoIi4iKTt2YXIgYj1NYXRoLm1heChuLmxlbmd0aCxXLmxlbmd0aCk7Zm9yKGxldCBoPTA7RD09MCYmaDxiO2grKyl7dmFyIHY9bltoXXx8IiIsaz1XW2hdfHwiIjtkb3t2PS8oXGQqKShcRCopKC4qKS8uZXhlYyh2KXx8WyIiLCIiLCIiLCIiXTtrPS8oXGQqKShcRCopKC4qKS8uZXhlYyhrKXx8WyIiLCIiLCIiLCIiXTtpZih2WzBdLmxlbmd0aD09MCYma1swXS5sZW5ndGg9PTApYnJlYWs7RD1Waih2WzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KHZbMV0sMTApLGtbMV0ubGVuZ3RoPT0wPzA6cGFyc2VJbnQoa1sxXSwxMCkpfHxWaih2WzJdLmxlbmd0aD09MCxrWzJdLmxlbmd0aD09MCl8fFZqKHZbMl0sa1syXSk7dj12WzNdO2s9a1szXX13aGlsZShEPT0wKX1yZXR1cm4gRH07ClZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG48Vz8tMTpuPlc/MTowfTsKZU1yPWZ1bmN0aW9uKCl7dmFyIG49bnVsbDtpZighbmIpcmV0dXJuIG47dHJ5e2xldCBXPUQ9PkQ7Cm49bmIuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOlcsY3JlYXRlU2NyaXB0OlcsY3JlYXRlU2NyaXB0VVJMOld9KX1jYXRjaChXKXt9cmV0dXJuIG59OwpEND1mdW5jdGlvbigpe1dNPT09dm9pZCAwJiYoV009ZU1yKCkpO3JldHVybiBXTX07CmszPWZ1bmN0aW9uKG4pe3ZhciBXPUQ0KCk7bj1XP1cuY3JlYXRlU2NyaXB0VVJMKG4pOm47cmV0dXJuIG5ldyBiXyhuKX07CngzPWZ1bmN0aW9uKG4pe2lmKG4gaW5zdGFuY2VvZiBiXylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9Owpnej1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5lailyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpxVT1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFhJKFc9Plcuc3Vic3RyKDAsbi5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PW4rIjoiKX07CmcudEY9ZnVuY3Rpb24obixXPWcuRzQpe2lmKG4gaW5zdGFuY2VvZiBnLmVqKXJldHVybiBuO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7KytEKXtsZXQgYj1XW0RdO2lmKGIgaW5zdGFuY2VvZiBYSSYmYi5PVihuKSlyZXR1cm4gbmV3IGcuZWoobil9fTsKZy5yej1mdW5jdGlvbihuKXtpZihnMmoudGVzdChuKSlyZXR1cm4gbn07Cmcuc009ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLmVqP2d6KG4pOmcucnoobil9OwpnLk5VPWZ1bmN0aW9uKG4sVyl7Vz1nLnNNKFcpO1chPT12b2lkIDAmJihuLmhyZWY9Vyl9OwpnLnBiPWZ1bmN0aW9uKG4sVz1gdW5leHBlY3RlZCB2YWx1ZSAke259IWApe3Rocm93IEVycm9yKFcpO307CmcuSE09ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVIVE1MKG4pOm47cmV0dXJuIG5ldyBnLlkzKG4pfTsKZy5mYj1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5ZMylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpKRj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9d2luZG93O249Zy5zTShuKTtyZXR1cm4gbiE9PXZvaWQgMD9iLm9wZW4obixXLEQpOm51bGx9OwpTaj1mdW5jdGlvbihuPWRvY3VtZW50KXtuPW4ucXVlcnlTZWxlY3Rvcj8uKCJzY3JpcHRbbm9uY2VdIik7cmV0dXJuIG49PW51bGw/IiI6bi5ub25jZXx8bi5nZXRBdHRyaWJ1dGUoIm5vbmNlIil8fCIifTsKbWM9ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVTY3JpcHQobik6bjtyZXR1cm4gbmV3IEFGKG4pfTsKS2I9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIEFGKXJldHVybiBuLk47dGhyb3cgRXJyb3IoIiIpO307Ck9NPWZ1bmN0aW9uKG4pe3ZhciBXPVNqKG4ub3duZXJEb2N1bWVudCk7VyYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixXKX07CmcuUE09ZnVuY3Rpb24obixXKXtuLnNyYz14MyhXKTtPTShuKX07CnF3dD1mdW5jdGlvbihuKXt2YXIgVz0idHJ1ZSIudG9TdHJpbmcoKSxEPVtYWnhgZGF0YS1gXTtpZihELmxlbmd0aD09PTApdGhyb3cgRXJyb3IoIiIpO2lmKEQubWFwKGI9PntpZihiIGluc3RhbmNlb2YgWjQpYj1iLk47ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGJ9KS5ldmVyeShiPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoYikhPT0wKSl0aHJvdyBFcnJvcignQXR0cmlidXRlICJkYXRhLWxvYWRlZCIgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBhbGxvd2VkIHByZWZpeGVzLicpOwpuLnNldEF0dHJpYnV0ZSgiZGF0YS1sb2FkZWQiLFcpfTsKZy5VTT1mdW5jdGlvbihuKXtyZXR1cm4gbltuLmxlbmd0aC0xXX07CmcueTI9ZnVuY3Rpb24obixXKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG4sVyx2b2lkIDApfTsKZy5FTT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChuLFcsRCl9OwpnLmlfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChuLFcsdm9pZCAwKX07CmcudV89ZnVuY3Rpb24obixXLEQpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwobixXLEQpfTsKZy5vTT1mdW5jdGlvbihuLFcpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG4sVyx2b2lkIDApfTsKZy5kej1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG4sVyxEKX07CmcubF89ZnVuY3Rpb24obixXKXtXPWcuejQobixXKTtyZXR1cm4gVzwwP251bGw6dHlwZW9mIG49PT0ic3RyaW5nIj9uLmNoYXJBdChXKTpuW1ddfTsKZy56ND1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5sZW5ndGgsdj10eXBlb2Ygbj09PSJzdHJpbmciP24uc3BsaXQoIiIpOm47Zm9yKGxldCBrPTA7azxiO2srKylpZihrIGluIHYmJlcuY2FsbChELHZba10sayxuKSlyZXR1cm4gaztyZXR1cm4tMX07CmcuVDQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubGVuZ3RoLHY9dHlwZW9mIG49PT0ic3RyaW5nIj9uLnNwbGl0KCIiKTpuO2ZvcigtLWI7Yj49MDtiLS0paWYoYiBpbiB2JiZXLmNhbGwoRCx2W2JdLGIsbikpcmV0dXJuIGI7cmV0dXJuLTF9OwpnLmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobixXLHZvaWQgMCk+PTB9OwpnLkNiPWZ1bmN0aW9uKG4pe2lmKCFBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKWRlbGV0ZSBuW1ddO24ubGVuZ3RoPTB9OwpnLkZJPWZ1bmN0aW9uKG4sVyl7Vz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG4sVyx2b2lkIDApO3ZhciBEOyhEPVc+PTApJiZnLkJNKG4sVyk7cmV0dXJuIER9OwpnLkJNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChuLFcsMSkubGVuZ3RoPT0xfTsKR2JpPWZ1bmN0aW9uKG4sVyl7Vz1nLno0KG4sVyk7Vz49MCYmZy5CTShuLFcpfTsKZy53ej1mdW5jdGlvbihuKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhcmd1bWVudHMpfTsKZy5STT1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aDtpZihXPjApe2xldCBEPUFycmF5KFcpO2ZvcihsZXQgYj0wO2I8VztiKyspRFtiXT1uW2JdO3JldHVybiBEfXJldHVybltdfTsKZy5RMj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0xO0Q8YXJndW1lbnRzLmxlbmd0aDtEKyspe2xldCBiPWFyZ3VtZW50c1tEXTtpZihnLlkyKGIpKXtsZXQgdj1uLmxlbmd0aHx8MCxrPWIubGVuZ3RofHwwO24ubGVuZ3RoPXYraztmb3IobGV0IGg9MDtoPGs7aCsrKW5bditoXT1iW2hdfWVsc2Ugbi5wdXNoKGIpfX07CmcuY009ZnVuY3Rpb24obixXLEQsYil7QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShuLFYyKGFyZ3VtZW50cywxKSl9OwpWMj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobixXKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuLFcsRCl9OwpnLlc0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gYU0obixEfHxucCwhMSxXKX07CkRlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGFNKG4sVywhMCl9OwphTT1mdW5jdGlvbihuLFcsRCxiKXtmb3IodmFyIHY9MCxrPW4ubGVuZ3RoLGg7djxrOyl7bGV0IHg9disoay12Pj4+MSksTDtEP0w9Vy5jYWxsKHZvaWQgMCxuW3hdLHgsbik6TD1XKGIsblt4XSk7TD4wP3Y9eCsxOihrPXgsaD0hTCl9cmV0dXJuIGg/djotdi0xfTsKZy5iZj1mdW5jdGlvbihuLFcpe24uc29ydChXfHxucCl9Owp0VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1ucDtnLmJmKG4sZnVuY3Rpb24oYix2KXtyZXR1cm4gRChXKGIpLFcodikpfSl9Owp2ND1mdW5jdGlvbihuLFcsRCl7aWYoIWcuWTIobil8fCFnLlkyKFcpfHxuLmxlbmd0aCE9Vy5sZW5ndGgpcmV0dXJuITE7dmFyIGI9bi5sZW5ndGg7RD1EfHwkaXg7Zm9yKGxldCB2PTA7djxiO3YrKylpZighRChuW3ZdLFdbdl0pKXJldHVybiExO3JldHVybiEwfTsKbnA9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj5XPzE6bjxXPy0xOjB9OwokaXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PVd9OwpnLmtsPWZ1bmN0aW9uKG4sVyxEKXtEPWcuVzQobixXLEQpO0Q8MCYmZy5jTShuLC0oRCsxKSwwLFcpfTsKaEE9ZnVuY3Rpb24obixXKXtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mnx8KG4uX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyPXt9KTtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mi5zZXZlcml0eT1XfTsKcmliPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7bj09bnVsbCYmKG49J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTpuLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOlcsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgRD0hMTt0cnl7dmFyIGI9bi5saW5lTnVtYmVyfHxuLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChrKXtiPSJOb3QgYXZhaWxhYmxlIixEPSEwfXRyeXt2YXIgdj1uLmZpbGVOYW1lfHxuLmZpbGVuYW1lfHxuLnNvdXJjZVVSTHx8Zy5xaS4kZ29vZ0RlYnVnRm5hbWV8fFd9Y2F0Y2goayl7dj0iTm90IGF2YWlsYWJsZSIsRD0hMH1XPXhsKG4pO2lmKCEoIUQmJm4ubGluZU51bWJlciYmbi5maWxlTmFtZSYmbi5zdGFjayYmbi5tZXNzYWdlJiZuLm5hbWUpKXtEPW4ubWVzc2FnZTsKaWYoRD09bnVsbCl7aWYobi5jb25zdHJ1Y3RvciYmbi5jb25zdHJ1Y3RvciBpbnN0YW5jZW9mIEZ1bmN0aW9uKXtpZihuLmNvbnN0cnVjdG9yLm5hbWUpRD1uLmNvbnN0cnVjdG9yLm5hbWU7ZWxzZSBpZihEPW4uY29uc3RydWN0b3IsTHBbRF0pRD1McFtEXTtlbHNle0Q9U3RyaW5nKEQpO2lmKCFMcFtEXSl7bGV0IGs9L2Z1bmN0aW9uXHMrKFteXChdKykvbS5leGVjKEQpO0xwW0RdPWs/a1sxXToiW0Fub255bW91c10ifUQ9THBbRF19RD0nVW5rbm93biBFcnJvciBvZiB0eXBlICInK0QrJyInfWVsc2UgRD0iVW5rbm93biBFcnJvciBvZiB1bmtub3duIHR5cGUiO3R5cGVvZiBuLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyE9PW4udG9TdHJpbmcmJihEKz0iOiAiK24udG9TdHJpbmcoKSl9cmV0dXJue21lc3NhZ2U6RCxuYW1lOm4ubmFtZXx8IlVua25vd25FcnJvciIsbGluZU51bWJlcjpiLGZpbGVOYW1lOnYsc3RhY2s6V3x8Ik5vdCBhdmFpbGFibGUifX1yZXR1cm57bWVzc2FnZTpuLm1lc3NhZ2UsCm5hbWU6bi5uYW1lLGxpbmVOdW1iZXI6bi5saW5lTnVtYmVyLGZpbGVOYW1lOm4uZmlsZU5hbWUsc3RhY2s6V319Owp4bD1mdW5jdGlvbihuLFcpe1d8fChXPXt9KTtXW2UxKG4pXT0hMDt2YXIgRD1uLnN0YWNrfHwiIixiPW4uY2F1c2U7YiYmIVdbZTEoYildJiYoRCs9IlxuQ2F1c2VkIGJ5OiAiLGIuc3RhY2smJmIuc3RhY2suaW5kZXhPZihiLnRvU3RyaW5nKCkpPT0wfHwoRCs9dHlwZW9mIGI9PT0ic3RyaW5nIj9iOmIubWVzc2FnZSsiXG4iKSxEKz14bChiLFcpKTtuPW4uZXJyb3JzO2lmKEFycmF5LmlzQXJyYXkobikpe2I9MTtsZXQgdjtmb3Iodj0wO3Y8bi5sZW5ndGgmJiEoYj40KTt2KyspV1tlMShuW3ZdKV18fChEKz0iXG5Jbm5lciBlcnJvciAiK2IrKyArIjogIixuW3ZdLnN0YWNrJiZuW3ZdLnN0YWNrLmluZGV4T2Yoblt2XS50b1N0cmluZygpKT09MHx8KEQrPXR5cGVvZiBuW3ZdPT09InN0cmluZyI/blt2XTpuW3ZdLm1lc3NhZ2UrIlxuIiksRCs9eGwoblt2XSxXKSk7djxuLmxlbmd0aCYmKEQrPSJcbi4uLiAiKyhuLmxlbmd0aC12KSsiIG1vcmUgaW5uZXIgZXJyb3JzIil9cmV0dXJuIER9OwplMT1mdW5jdGlvbihuKXt2YXIgVz0iIjt0eXBlb2Ygbi50b1N0cmluZz09PSJmdW5jdGlvbiImJihXPSIiK24pO3JldHVybiBXK24uc3RhY2t9OwpnLmdUPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wYXJzZUZyb21TdHJpbmcoZy5mYihXKSxEKX07ClhNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBXb3JrZXIoeDMobiksVyl9OwpxaD1mdW5jdGlvbihuKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhuKSl9OwpHNT1mdW5jdGlvbihuKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KG4ucmVwbGFjZSgvXCsvZywiICIpKX07CmcudEE9ZnVuY3Rpb24obil7c0NoLnRlc3QobikmJihuLmluZGV4T2YoIiYiKSE9LTEmJihuPW4ucmVwbGFjZShOcmgsIiZhbXA7IikpLG4uaW5kZXhPZigiPCIpIT0tMSYmKG49bi5yZXBsYWNlKHBadywiJmx0OyIpKSxuLmluZGV4T2YoIj4iKSE9LTEmJihuPW4ucmVwbGFjZShZd2ksIiZndDsiKSksbi5pbmRleE9mKCciJykhPS0xJiYobj1uLnJlcGxhY2UoSHRVLCImcXVvdDsiKSksbi5pbmRleE9mKCInIikhPS0xJiYobj1uLnJlcGxhY2UoZjFTLCImIzM5OyIpKSxuLmluZGV4T2YoIlx4MDAiKSE9LTEmJihuPW4ucmVwbGFjZShKaVosIiYjMDsiKSkpO3JldHVybiBufTsKZy5yVD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD8iIjpTdHJpbmcobil9OwpzVD1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKVc9MzEqVytuLmNoYXJDb2RlQXQoRCk+Pj4wO3JldHVybiBXfTsKZy5OaD1mdW5jdGlvbihuKXt2YXIgVz1OdW1iZXIobik7cmV0dXJuIFc9PTAmJmcuRmgobik/TmFOOld9OwpwcD1mdW5jdGlvbihuKXtyZXR1cm4gU3RyaW5nKG4pLnJlcGxhY2UoL1wtKFthLXpdKS9nLGZ1bmN0aW9uKFcsRCl7cmV0dXJuIEQudG9VcHBlckNhc2UoKX0pfTsKSTFpPWZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoUmVnRXhwKCIoXnxbXFxzXSspKFthLXpdKSIsImciKSxmdW5jdGlvbihXLEQsYil7cmV0dXJuIEQrYi50b1VwcGVyQ2FzZSgpfSl9OwpTd2g9ZnVuY3Rpb24obil7dmFyIFc9MTtuPW4uc3BsaXQoIjoiKTtmb3IodmFyIEQ9W107Vz4wJiZuLmxlbmd0aDspRC5wdXNoKG4uc2hpZnQoKSksVy0tO24ubGVuZ3RoJiZELnB1c2gobi5qb2luKCI6IikpO3JldHVybiBEfTsKZy5IND1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD0iIjtuJiYoeCs9bisiOiIpO0QmJih4Kz0iLy8iLFcmJih4Kz1XKyJAIikseCs9RCxiJiYoeCs9IjoiK2IpKTt2JiYoeCs9dik7ayYmKHgrPSI/IitrKTtoJiYoeCs9IiMiK2gpO3JldHVybiB4fTsKZy5mcD1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXRjaChBaXIpfTsKSkE9ZnVuY3Rpb24obil7cmV0dXJuIG4/ZGVjb2RlVVJJKG4pOm59OwpnLklQPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzNdfHxudWxsKX07ClMxPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzVdfHxudWxsKX07CkFBPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChuWzFdLG5bMl0sblszXSxuWzRdKX07Cm1XPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChudWxsLG51bGwsbnVsbCxudWxsLG5bNV0sbls2XSxuWzddKX07CktwPWZ1bmN0aW9uKG4pe3ZhciBXPW4uaW5kZXhPZigiIyIpO3JldHVybiBXPDA/bjpuLnNsaWNlKDAsVyl9OwpnLk9UPWZ1bmN0aW9uKG4sVyl7aWYobil7bj1uLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe2xldCBiPW5bRF0uaW5kZXhPZigiPSIpLHYsaz1udWxsO2I+PTA/KHY9bltEXS5zdWJzdHJpbmcoMCxiKSxrPW5bRF0uc3Vic3RyaW5nKGIrMSkpOnY9bltEXTtXKHYsaz9HNShrKToiIil9fX07ClA0PWZ1bmN0aW9uKG4sVyl7aWYoIVcpcmV0dXJuIG47dmFyIEQ9bi5pbmRleE9mKCIjIik7RDwwJiYoRD1uLmxlbmd0aCk7dmFyIGI9bi5pbmRleE9mKCI/Iik7aWYoYjwwfHxiPkQpe2I9RDt2YXIgdj0iIn1lbHNlIHY9bi5zdWJzdHJpbmcoYisxLEQpO249W24uc2xpY2UoMCxiKSx2LG4uc2xpY2UoRCldO0Q9blsxXTtuWzFdPVc/RD9EKyImIitXOlc6RDtyZXR1cm4gblswXSsoblsxXT8iPyIrblsxXToiIikrblsyXX07ClplPWZ1bmN0aW9uKG4sVyxEKXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKVplKG4sU3RyaW5nKFdbYl0pLEQpO2Vsc2UgVyE9bnVsbCYmRC5wdXNoKG4rKFc9PT0iIj8iIjoiPSIrcWgoVykpKX07CnlHPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKVplKEQsbltEXSxXKTtyZXR1cm4gVy5qb2luKCImIil9OwpnLkVUPWZ1bmN0aW9uKG4sVyl7Vz15RyhXKTtyZXR1cm4gUDQobixXKX07CmcudWY9ZnVuY3Rpb24obixXLEQpe0Q9RCE9bnVsbD8iPSIrcWgoRCk6IiI7cmV0dXJuIFA0KG4sVytEKX07CmcuZFQ9ZnVuY3Rpb24obixXLEQsYil7Zm9yKHZhciB2PUQubGVuZ3RoOyhXPW4uaW5kZXhPZihELFcpKT49MCYmVzxiOyl7dmFyIGs9bi5jaGFyQ29kZUF0KFctMSk7aWYoaz09Mzh8fGs9PTYzKWlmKGs9bi5jaGFyQ29kZUF0KFcrdiksIWt8fGs9PTYxfHxrPT0zOHx8az09MzUpcmV0dXJuIFc7Vys9disxfXJldHVybi0xfTsKZy5sZj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VhcmNoKGcuejUpLGI9Zy5kVChuLDAsVyxEKTtpZihiPDApcmV0dXJuIG51bGw7dmFyIHY9bi5pbmRleE9mKCImIixiKTtpZih2PDB8fHY+RCl2PUQ7Yis9Vy5sZW5ndGgrMTtyZXR1cm4gRzUobi5zbGljZShiLHYhPT0tMT92OjApKX07ClQ1PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPW4uc2VhcmNoKGcuejUpLGI9MCx2LGs9W107KHY9Zy5kVChuLGIsVyxEKSk+PTA7KWsucHVzaChuLnN1YnN0cmluZyhiLHYpKSxiPU1hdGgubWluKG4uaW5kZXhPZigiJiIsdikrMXx8RCxEKTtrLnB1c2gobi5zbGljZShiKSk7cmV0dXJuIGsuam9pbigiIikucmVwbGFjZShtaTEsIiQxIil9OwpLUzE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLnVmKFQ1KG4sVyksVyxEKX07CmcuQ3A9ZnVuY3Rpb24obil7biYmdHlwZW9mIG4uZGlzcG9zZT09ImZ1bmN0aW9uIiYmbi5kaXNwb3NlKCl9OwpnLkI0PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wLEQ9YXJndW1lbnRzLmxlbmd0aDtXPEQ7KytXKXtsZXQgYj1hcmd1bWVudHNbV107Zy5ZMihiKT9nLkI0LmFwcGx5KG51bGwsYik6Zy5DcChiKX19OwpnLkZNPWZ1bmN0aW9uKCl7dGhpcy5IRD10aGlzLkhEO3RoaXMuQlY9dGhpcy5CVn07CmcudT1mdW5jdGlvbihuLFcpe24uYWRkT25EaXNwb3NlQ2FsbGJhY2soZy5QWihnLkNwLFcpKX07CmcuTWg9ZnVuY3Rpb24obj0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoVz0+e2lmKHdpbmRvdz09PXdpbmRvdy50b3ApdmFyIEQ9d2luZG93O2Vsc2V7dHJ5e0Q9ISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2godil7RD0hMH1EPUQ/d2luZG93OndpbmRvdy50b3B9dmFyIGI9RFtuXTtiPy5iZXZhc3JzP1cobmV3IHdUKGIuYmV2YXNycykpOihifHwoYj17bnFmYmVsOltdfSxEW25dPWIpLGIubnFmYmVsLnB1c2godj0+e1cobmV3IHdUKHYpKX0pKX0pfTsKUlA9ZnVuY3Rpb24obil7dmFyIFc9e2M6bi53XyxlOm4ueEMsbWM6bi5HcixtZTpuLkVSfTtuLmhHJiYoVy5jbz17YzpuLmhHLmFtLGE6bi5oRy5BQixzOm4uaEcucjN9KTtyZXR1cm4gV307Ck90aT1mdW5jdGlvbihuKXtuLkohPT12b2lkIDAmJihuLlcuZm9yRWFjaChXPT57bi5KPy5yZW1vdmVFdmVudExpc3RlbmVyKFcsbi5YKX0pLG4uSj12b2lkIDApfTsKWnRaPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLk8xLndwYyl0aHJvdyBuZXcgUUcoMzAsIk5XQSIpO2lmKG4uTilyZXR1cm4gbi5OO3ZhciBXPWF3YWl0IG4uTzEud3BjKCk7bi5OPW5ldyBQeFMoVyk7cmV0dXJuIG4uTn07Cm4wPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO1ZHKG4sYzQsNikuZm9yRWFjaChEPT57YVAoRCwyKTw9NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClVpdz1mdW5jdGlvbihuKXt2YXIgVz1bXTtWRyhuLGM0LDYpLmZvckVhY2goRD0+e2FQKEQsMik+NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClcyPWZ1bmN0aW9uKG4pe24udGhlbigoKT0+e30sKCk9Pnt9KX07CkRYPWZ1bmN0aW9uKG4pe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6bn19OwpicD1mdW5jdGlvbihuKXtyZXR1cm57ZmllbGRUeXBlOjMsZmllbGROYW1lOm59fTsKa0s9ZnVuY3Rpb24obil7cmV0dXJuKHYyfHwodjI9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKG4pfTsKaDQ9ZnVuY3Rpb24obil7Zy5xaS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgbjt9LDApfTsKeWl0PWZ1bmN0aW9uKG4pe3JldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwobixmdW5jdGlvbihXKXtXPVcudG9TdHJpbmcoMTYpO3JldHVybiBXLmxlbmd0aD4xP1c6IjAiK1d9KS5qb2luKCIiKX07CnhLPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCs9MilXLnB1c2gocGFyc2VJbnQobi5zdWJzdHJpbmcoRCxEKzIpLDE2KSk7cmV0dXJuIFd9OwpMMD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT01NTI5NiYmYisxPG4ubGVuZ3RoJiYobi5jaGFyQ29kZUF0KGIrMSkmNjQ1MTIpPT01NjMyMD8odj02NTUzNisoKHYmMTAyMyk8PDEwKSsobi5jaGFyQ29kZUF0KCsrYikmMTAyMyksV1tEKytdPXY+PjE4fDI0MCxXW0QrK109dj4+MTImNjN8MTI4KTpXW0QrK109dj4+MTJ8MjI0LFdbRCsrXT12Pj42JjYzfDEyOCksV1tEKytdPXYmNjN8MTI4KX1yZXR1cm4gV307CmcuWFE9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbiYmKG49bi51c2VyQWdlbnQpP246IiJ9OwokSz1mdW5jdGlvbihuKXtpZighZy5xeCYmIWcuR2h8fCFnLnQ0KXJldHVybiExO2ZvcihsZXQgVz0wO1c8Zy50NC5icmFuZHMubGVuZ3RoO1crKyl7bGV0IHticmFuZDpEfT1nLnQ0LmJyYW5kc1tXXTtpZihEJiZELmluZGV4T2YobikhPS0xKXJldHVybiEwfXJldHVybiExfTsKZy5yVz1mdW5jdGlvbihuKXtyZXR1cm4gZy5YUSgpLmluZGV4T2YobikhPS0xfTsKc0E9ZnVuY3Rpb24oKXtyZXR1cm4gZy5xeHx8Zy5HaD8hIWcudDQmJmcudDQuYnJhbmRzLmxlbmd0aD4wOiExfTsKTng9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8hMTpnLnJXKCJPcGVyYSIpfTsKcDA9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiRmlyZWZveCIpfHxnLnJXKCJGeGlPUyIpfTsKZy5IMj1mdW5jdGlvbigpe3JldHVybiBnLnJXKCJTYWZhcmkiKSYmIShZSygpfHwoc0EoKT8wOmcuclcoIkNvYXN0IikpfHxOeCgpfHwoc0EoKT8wOmcuclcoIkVkZ2UiKSl8fChzQSgpPyRLKCJNaWNyb3NvZnQgRWRnZSIpOmcuclcoIkVkZy8iKSl8fChzQSgpPyRLKCJPcGVyYSIpOmcuclcoIk9QUiIpKXx8cDAoKXx8Zy5yVygiU2lsayIpfHxnLnJXKCJBbmRyb2lkIikpfTsKWUs9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8kSygiQ2hyb21pdW0iKTooZy5yVygiQ2hyb21lIil8fGcuclcoIkNyaU9TIikpJiYhKHNBKCk/MDpnLnJXKCJFZGdlIikpfHxnLnJXKCJTaWxrIil9OwpnLmYwPWZ1bmN0aW9uKCl7cmV0dXJuIGcucXh8fGcuR2g/ISFnLnQ0JiYhIWcudDQucGxhdGZvcm06ITF9Owp2YXIgRTJVPWZ1bmN0aW9uKG4sVyxELGIsdil7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDI1LDE4NjYsbixXLEQsYix2KX07CmcuSTI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mMCgpP2cudDQucGxhdGZvcm09PT0iQW5kcm9pZCI6Zy5yVygiQW5kcm9pZCIpfTsKU3U9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiaVBob25lIikmJiFnLnJXKCJpUG9kIikmJiFnLnJXKCJpUGFkIil9OwpnLkE0PWZ1bmN0aW9uKCl7cmV0dXJuIFN1KCl8fGcuclcoImlQYWQiKXx8Zy5yVygiaVBvZCIpfTsKZy5teD1mdW5jdGlvbigpe3JldHVybiBnLmYwKCk/Zy50NC5wbGF0Zm9ybT09PSJtYWNPUyI6Zy5yVygiTWFjaW50b3NoIil9OwpnLkswPWZ1bmN0aW9uKCl7cmV0dXJuIGcuZjAoKT9nLnQ0LnBsYXRmb3JtPT09IldpbmRvd3MiOmcuclcoIldpbmRvd3MiKX07CmcuT0E9ZnVuY3Rpb24obil7Zy5PQVsiICJdKG4pO3JldHVybiBufTsKdWhoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9aXR4O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxuKT9EW25dOkRbbl09VyhuKX07CmcuWlg9ZnVuY3Rpb24obil7cmV0dXJuIHVoaChuLGZ1bmN0aW9uKCl7cmV0dXJuIGcuY1ooUDIsbik+PTB9KX07CmcuRUE9ZnVuY3Rpb24obixXKXtXPT09dm9pZCAwJiYoVz0wKTtVQSgpO1c9eWxbV107Zm9yKHZhciBEPUFycmF5KE1hdGguZmxvb3Iobi5sZW5ndGgvMykpLGI9V1s2NF18fCIiLHY9MCxrPTA7djxuLmxlbmd0aC0yO3YrPTMpe3ZhciBoPW5bdl0seD1uW3YrMV0sTD1uW3YrMl0sZT1XW2g+PjJdO2g9V1soaCYzKTw8NHx4Pj40XTt4PVdbKHgmMTUpPDwyfEw+PjZdO0w9V1tMJjYzXTtEW2srK109IiIrZStoK3grTH1lPTA7TD1iO3N3aXRjaChuLmxlbmd0aC12KXtjYXNlIDI6ZT1uW3YrMV0sTD1XWyhlJjE1KTw8Ml18fGI7Y2FzZSAxOm49blt2XSxEW2tdPSIiK1dbbj4+Ml0rV1sobiYzKTw8NHxlPj40XStMK2J9cmV0dXJuIEQuam9pbigiIil9Owp2YXIgbzJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlwW0lbMTBdXSh0aGlzLDEsMTcwOCxuLFcpfTsKZy51cD1mdW5jdGlvbihuLFcsRCl7aWYoVyl7bGV0IGI9W10sdj0wO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKXtsZXQgaD1uLmNoYXJDb2RlQXQoayk7aWYoaD4yNTUpe2xldCB4PUVycm9yKCJnby91bmljb2RlLXRvLWJ5dGUtZXJyb3IiKTtpZihEKXRocm93IHg7Ylt2KytdPWgmMjU1O2g+Pj04fWJbdisrXT1ofW49Zy5FQShiLFcpfWVsc2Ugbj1nLnFpLmJ0b2Eobik7cmV0dXJuIG59Owp6aD1mdW5jdGlvbihuKXt2YXIgVz1bXTtvMihuLGZ1bmN0aW9uKEQpe1cucHVzaChEKX0pOwpyZXR1cm4gV307CmxwPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubGVuZ3RoLEQ9VyozLzQ7RCUzP0Q9TWF0aC5mbG9vcihEKToiPS4iLmluZGV4T2YobltXLTFdKSE9LTEmJihEPSI9LiIuaW5kZXhPZihuW1ctMl0pIT0tMT9ELTI6RC0xKTt2YXIgYj1uZXcgVWludDhBcnJheShEKSx2PTA7bzIobixmdW5jdGlvbihrKXtiW3YrK109a30pOwpyZXR1cm4gdiE9PUQ/Yi5zdWJhcnJheSgwLHYpOmJ9OwpvMj1mdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQodil7Zm9yKDtiPG4ubGVuZ3RoOyl7bGV0IGs9bi5jaGFyQXQoYisrKSxoPVRoW2tdO2lmKGghPW51bGwpcmV0dXJuIGg7aWYoIWcuRmgoaykpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrayk7fXJldHVybiB2fQpVQSgpO2Zvcih2YXIgYj0wOzspe2xldCB2PUQoLTEpLGs9RCgwKSxoPUQoNjQpLHg9RCg2NCk7aWYoeD09PTY0JiZ2PT09LTEpYnJlYWs7Vyh2PDwyfGs+PjQpO2ghPTY0JiYoVyhrPDw0JjI0MHxoPj4yKSx4IT02NCYmVyhoPDw2JjE5Mnx4KSl9fTsKVUE9ZnVuY3Rpb24oKXtpZighVGgpe1RoPXt9O3ZhciBuPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLFc9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl07Zm9yKGxldCBEPTA7RDw1O0QrKyl7bGV0IGI9bi5jb25jYXQoV1tEXS5zcGxpdCgiIikpO3lsW0RdPWI7Zm9yKGxldCB2PTA7djxiLmxlbmd0aDt2Kyspe2xldCBrPWJbdl07VGhba109PT12b2lkIDAmJihUaFtrXT12KX19fX07CnpNMj1mdW5jdGlvbihuKXtyZXR1cm4gZGlVW25dfHwiIn07CkMwPWZ1bmN0aW9uKG4pe249anUudGVzdChuKT9uLnJlcGxhY2UoanUsek0yKTpuO249YXRvYihuKTt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpNeD1mdW5jdGlvbigpe3JldHVybiBCMnx8KEIyPW5ldyBGUShudWxsLHdXKSl9OwpRbD1mdW5jdGlvbihuKXtSMih3Vyk7dmFyIFc9bi5OO1c9Vz09bnVsbHx8VyE9bnVsbCYmVyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Vzp0eXBlb2YgVz09PSJzdHJpbmciP0MwKFcpOm51bGw7cmV0dXJuIFc9PW51bGw/VzpuLk49V307ClZsPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVWludDhBcnJheShRbChuKXx8MCl9OwpSMj1mdW5jdGlvbihuKXtpZihuIT09d1cpdGhyb3cgRXJyb3IoImlsbGVnYWwgZXh0ZXJuYWwgY2FsbGVyIik7fTsKYzI9ZnVuY3Rpb24obil7bj1FcnJvcihuKTtoQShuLCJ3YXJuaW5nIik7cmV0dXJuIG59OwpuNT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpe3ZhciBEPWEyPz8oYTI9e30pO3ZhciBiPURbbl18fDA7Yj49V3x8KERbbl09YisxLG49RXJyb3IoKSxoQShuLCJpbmNpZGVudCIpLGg0KG4pKX19OwpXOT1mdW5jdGlvbihuLFc9ITEpe3JldHVybiBXJiZTeW1ib2wuZm9yJiZuP1N5bWJvbC5mb3Iobik6biE9bnVsbD9TeW1ib2wobik6U3ltYm9sKCl9Owp2OT1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwP24uTiE9PURCJiYhISgyJihuLmw5W2I0XXwwKSk6ISEoMiZXKSYmbi5OIT09REJ9OwprVT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpaWYodHlwZW9mIG49PT0ic3RyaW5nIiluPW4/bmV3IEZRKG4sd1cpOk14KCk7ZWxzZSBpZihuLmNvbnN0cnVjdG9yIT09RlEpaWYobiE9bnVsbCYmbiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpbj1uLmxlbmd0aD9uZXcgRlEobmV3IFVpbnQ4QXJyYXkobiksd1cpOk14KCk7ZWxzZXtpZighVyl0aHJvdyBFcnJvcigpO249dm9pZCAwfXJldHVybiBufTsKaF89ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcmMTI4PzA6LTEsdj1uLmxlbmd0aCxrO2lmKGs9ISF2KWs9blt2LTFdLGs9ayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdDt2YXIgaD12KyhrPy0xOjApO2ZvcihXPVcmMTI4PzE6MDtXPGg7VysrKUQoVy1iLG5bV10pO2lmKGspe249blt2LTFdO2ZvcihsZXQgeCBpbiBuKSFpc05hTih4KSYmRCgreCxuW3hdKX19OwpMNT1mdW5jdGlvbihuKXtyZXR1cm4gbiYxMjg/eFU6dm9pZCAwfTsKWEQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVdebjtpZihuLTY+PjM9PTIpeyhEW2JeNTE4XT49LShiXjU1MSl8fCgoMCxEW2JeNTE1XSkoRFtiXjUyMV0sRFtiXjYwOV0pLDApKSYmKDAsRFtiXjU2M10pKERbYl42MDldKTsoMCxEWzZdKSgpOygoMCxEW2JeNTMzXSkoRFtiXjU3NF0sRFtiXjU3Ml0pLERbYl41MzNdKShEW2JeNTM4XSxEW2JeNTcyXSk7dmFyIHY9W119aWYoKG4mMTIwKT09bil0aHJvdyBEO2lmKG4tNzw8MjxuJiYobi00fDMxKT49bil7Zm9yKHZhciBrPWJeMzE1NCxoPVtdOysray1oW0lbNV1dLShiXjMxMjIpOylzd2l0Y2goayl7Y2FzZSBiXjMxMzI6az1iXjMxNDk7ZGVmYXVsdDpoW0lbYl4zMDc2XV0oU3RyaW5nW0lbYl4zMTA0XV0oaykpO2Nhc2UgYl4zMTQ4OmNhc2UgYl4zMTQ5OmNhc2UgYl4zMTg2OmJyZWFrO2Nhc2UgYl4zMTc3OmstPWJeMzE2NjtjYXNlIGJeMzE1MDpjYXNlIGJeMzE1MTpjb250aW51ZTtjYXNlIGJeMzExMjprPWJeMzEzNDtjYXNlIGJeMzE0NTp9dj0KaH0obnw1Nik9PW4mJihlWChiXjQ1MDksYl4zNTE4LEQpLChrPURbSVsxXV1bSVtiXjQ0OTRdXXx8bnVsbCkmJihrPWdaKDIsYl4yMjE3LGssRCkpLHY9W10pO3JldHVybiB2fTsKcTM9ZnVuY3Rpb24obil7bi5URj0hMDtyZXR1cm4gbn07CmcuJFU9ZnVuY3Rpb24obil7aWYoKDAsZy5HOSkobikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChuKSl0aHJvdyBFcnJvcihTdHJpbmcobikpO31lbHNlIGlmKCgwLGcudF8pKG4pJiYhTnVtYmVyLmlzU2FmZUludGVnZXIobikpdGhyb3cgRXJyb3IoU3RyaW5nKG4pKTtyZXR1cm4gQmlnSW50KG4pfTsKTjM9ZnVuY3Rpb24obil7dmFyIFc9bj4+PjA7clo9VztzXz0obi1XKS80Mjk0OTY3Mjk2Pj4+MH07CnA1PWZ1bmN0aW9uKG4pe2lmKG48MCl7TjMoMC1uKTtuPXJaO3ZhciBXPXNfO1c9flc7bj9uPX5uKzE6Vys9MTtsZXQgW0QsYl09W24sV107clo9RD4+PjA7c189Yj4+PjB9ZWxzZSBOMyhuKX07Ckg5PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vyo0Mjk0OTY3Mjk2KyhuPj4+MCk7cmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKEQpP0Q6WVUobixXKX07CmY1PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuJFUoQmlnSW50LmFzVWludE4oNjQsKEJpZ0ludChXPj4+MCk8PEJpZ0ludCgzMikpK0JpZ0ludChuPj4+MCkpKX07CmcuSl89ZnVuY3Rpb24obixXKXtyZXR1cm4gZy4kVShCaWdJbnQuYXNJbnROKDY0LChCaWdJbnQuYXNVaW50TigzMixCaWdJbnQoVykpPDxCaWdJbnQoMzIpKStCaWdJbnQuYXNVaW50TigzMixCaWdJbnQobikpKSl9OwpZVT1mdW5jdGlvbihuLFcpe1c+Pj49MDtuPj4+PTA7dmFyIEQ7Vzw9MjA5NzE1MT9EPSIiKyg0Mjk0OTY3Mjk2Klcrbik6RD0iIisoQmlnSW50KFcpPDxCaWdJbnQoMzIpfEJpZ0ludChuKSk7cmV0dXJuIER9OwpJMD1mdW5jdGlvbigpe3ZhciBuPXJaLFc9c18sRDtXJjIxNDc0ODM2NDg/RD0iIisoQmlnSW50KFd8MCk8PEJpZ0ludCgzMil8QmlnSW50KG4+Pj4wKSk6RD1ZVShuLFcpO3JldHVybiBEfTsKU1g9ZnVuY3Rpb24obil7bi5sZW5ndGg8MTY/cDUoTnVtYmVyKG4pKToobj1CaWdJbnQobiksclo9TnVtYmVyKG4mQmlnSW50KDQyOTQ5NjcyOTUpKT4+PjAsc189TnVtYmVyKG4+PkJpZ0ludCgzMikmQmlnSW50KDQyOTQ5NjcyOTUpKSl9OwpnLkFfPWZ1bmN0aW9uKG4pe2lmKG4hPW51bGwmJnR5cGVvZiBuIT09Im51bWJlciIpdGhyb3cgRXJyb3IoYFZhbHVlIG9mIGZsb2F0L2RvdWJsZSBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyLCBmb3VuZCAke3R5cGVvZiBufTogJHtufWApO3JldHVybiBufTsKbTA9ZnVuY3Rpb24obil7aWYobj09bnVsbHx8dHlwZW9mIG49PT0ibnVtYmVyIilyZXR1cm4gbjtpZihuPT09Ik5hTiJ8fG49PT0iSW5maW5pdHkifHxuPT09Ii1JbmZpbml0eSIpcmV0dXJuIE51bWJlcihuKX07Cks1PWZ1bmN0aW9uKG4pe3JldHVybiBuLmRpc3BsYXlOYW1lfHxuLm5hbWV8fCJ1bmtub3duIHR5cGUgbmFtZSJ9OwpPXz1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJib29sZWFuIil0aHJvdyBFcnJvcihgRXhwZWN0ZWQgYm9vbGVhbiBidXQgZ290ICR7cHQobil9OiAke259YCk7cmV0dXJuIG59OwpaQj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4gUDkobik7Y2FzZSAic3RyaW5nIjpyZXR1cm4gbDEyLnRlc3Qobik7ZGVmYXVsdDpyZXR1cm4hMX19OwpVXz1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJudW1iZXIiKXRocm93IGMyKCJpbnQzMiIpO2lmKCFQOShuKSl0aHJvdyBjMigiaW50MzIiKTtyZXR1cm4gbnwwfTsKZy55UD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD9uOlVfKG4pfTsKRV89ZnVuY3Rpb24obil7aWYobj09bnVsbClyZXR1cm4gbjtpZih0eXBlb2Ygbj09PSJzdHJpbmciJiZuKW49K247ZWxzZSBpZih0eXBlb2YgbiE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4gUDkobik/bnwwOnZvaWQgMH07CnU0PWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47aWYodHlwZW9mIG49PT0ic3RyaW5nIiYmbiluPStuO2Vsc2UgaWYodHlwZW9mIG4hPT0ibnVtYmVyIilyZXR1cm47cmV0dXJuIFA5KG4pP24+Pj4wOnZvaWQgMH07CmcubDQ9ZnVuY3Rpb24obil7aWYobiE9bnVsbClhOntpZighWkIobikpdGhyb3cgYzIoImludDY0Iik7c3dpdGNoKHR5cGVvZiBuKXtjYXNlICJzdHJpbmciOm49bzAobik7YnJlYWsgYTtjYXNlICJiaWdpbnQiOm49Zy4kVShkWig2NCxuKSk7YnJlYWsgYTtkZWZhdWx0Om49ejkobil9fXJldHVybiBufTsKQzU9ZnVuY3Rpb24obil7WkIobik7bj1UOShuKTtpZighalgobikpe3A1KG4pO3ZhciBXPXJaLEQ9c187aWYobj1EJjIxNDc0ODM2NDgpVz1+VysxPj4+MCxEPX5EPj4+MCxXPT0wJiYoRD1EKzE+Pj4wKTtXPUg5KFcsRCk7bj10eXBlb2YgVz09PSJudW1iZXIiP24/LVc6VzpuPyItIitXOld9cmV0dXJuIG59OwpCOT1mdW5jdGlvbihuKXtaQihuKTt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBTdHJpbmcoVyk7Vz1uLmluZGV4T2YoIi4iKTtXIT09LTEmJihuPW4uc3Vic3RyaW5nKDAsVykpO1c9bi5sZW5ndGg7KG5bMF09PT0iLSI/VzwyMHx8Vz09PTIwJiZuPD0iLTkyMjMzNzIwMzY4NTQ3NzU4MDgiOlc8MTl8fFc9PT0xOSYmbjw9IjkyMjMzNzIwMzY4NTQ3NzU4MDciKXx8KFNYKG4pLG49STAoKSk7cmV0dXJuIG59OwpvMD1mdW5jdGlvbihuKXt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBnLiRVKFcpO1c9bi5pbmRleE9mKCIuIik7VyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKTtyZXR1cm4gZy4kVShkWig2NCxCaWdJbnQobikpKX07Cno5PWZ1bmN0aW9uKG4pe2pYKG4pP249Zy4kVShDNShuKSk6KFpCKG4pLG49VDkobiksalgobik/bj1TdHJpbmcobik6KHA1KG4pLG49STAoKSksbj1nLiRVKG4pKTtyZXR1cm4gbn07CkZEPWZ1bmN0aW9uKG4pe3ZhciBXPXR5cGVvZiBuO2lmKG49PW51bGwpcmV0dXJuIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBnLiRVKGRaKDY0LG4pKTtpZihaQihuKSlyZXR1cm4gVz09PSJzdHJpbmciP28wKG4pOno5KG4pfTsKakNoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgeCBvZiBEKXtpZigheC51cmwpY29udGludWU7RD1uZXcgZy53Wih4LnVybCwhMCk7aWYoeC5zKXt2YXIgaz1ELGg9eC5zcDtsZXQgTD1lWCg4Myw2NTU4LE0zKDE3LDQyNjMseC5zKSk7a1tJWzM0XV0oaCxSMCgyOSw4NzMyLEwpKX1mb3IobGV0IEwgb2YgT2JqZWN0LmtleXMoYikpRC5zZXQoTCxiW0xdKTtrPVFQKHgudHlwZSx4LnF1YWxpdHkseC5pdGFnLHgud2lkdGgseC5oZWlnaHQpO3YucHVzaChuZXcgVHJ3KGssRCkpfXJldHVybiBWUChuLlcsdixjOShuLFcpLCExKX07CkN4TT1mdW5jdGlvbihuKXtpZihuPT1udWxsKXJldHVybiBuO3ZhciBXPXR5cGVvZiBuO2lmKFc9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKGRaKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBCOShuKTtpZihXPT09Im51bWJlciIpcmV0dXJuIEM1KG4pfX07CmEwPWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47dmFyIFc9dHlwZW9mIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoQnJoKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBaQihuKSxXPVQ5KE51bWJlcihuKSksalgoVykmJlc+PTA/bj1TdHJpbmcoVyk6KFc9bi5pbmRleE9mKCIuIiksVyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKSxuWzBdPT09Ii0iP1c9ITE6KFc9bi5sZW5ndGgsVz1XPDIwPyEwOlc9PT0yMCYmbjw9IjE4NDQ2NzQ0MDczNzA5NTUxNjE1IiksV3x8KFNYKG4pLG49WVUoclosc18pKSksbjtpZihXPT09Im51bWJlciIpcmV0dXJuIFpCKG4pLG49VDkobiksbj49MCYmalgobil8fChwNShuKSxuPUg5KHJaLHNfKSksbn19OwpuRz1mdW5jdGlvbihuKXtpZihuPT1udWxsfHx0eXBlb2Ygbj09InN0cmluZyJ8fG4gaW5zdGFuY2VvZiBGUSlyZXR1cm4gbn07CkZTMj1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpXSD1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpnLkRSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT1udWxsfHx0eXBlb2Ygbj09PSJzdHJpbmciP246dm9pZCAwfTsKYlc9ZnVuY3Rpb24obixXKXtpZighKG4gaW5zdGFuY2VvZiBXKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWQgaW5zdGFuY2VvZiAke0s1KFcpfSBidXQgZ290ICR7biYmSzUobi5jb25zdHJ1Y3Rvcil9YCk7cmV0dXJuIG59Owpodj1mdW5jdGlvbihuLFcsRCl7aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gbjtpZihBcnJheS5pc0FycmF5KG4pKXt2YXIgYj1uW2I0XXwwO0Q9YnxEJjMyfEQmMjtEIT09YiYmKG5bYjRdPUQpO3JldHVybiBuZXcgVyhuKX19Owp4dj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CmVXPWZ1bmN0aW9uKG4pe3ZhciBXPUV3KExHKTtyZXR1cm4gVz9uW1ddOnZvaWQgMH07CmdnPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4pIWlzTmFOKEQpJiZXKG4sK0QsbltEXSl9Owp3WkM9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFhGO2dnKG4sKEQsYix2KT0+e1dbYl09Wy4uLnZdfSk7Clcuajc9bi5qNztyZXR1cm4gV307Ckd6PWZ1bmN0aW9uKG4sVyl7aWYoRXcocUUpJiZFdyhMRykmJnZvaWQgMD09PXFFKXtuPW4ubDk7dmFyIEQ9bltMR107aWYoRCYmKEQ9RC5qNykpdHJ5e0QobixXLE1VaSl9Y2F0Y2goYil7aDQoYil9fX07CnR2PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RXcoTEcpO0QmJm5bRF0/LltXXSE9bnVsbCYmbjUoUk1iLDMpfTsKVlVTPWZ1bmN0aW9uKG4sVyl7VzwxMDB8fG41KFFDaSwxKX07CnJnPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWIhPT12b2lkIDA7Yj0hIWI7dmFyIGs9RXcoTEcpLGg7IXYmJmsmJihoPW5ba10pJiZnZyhoLFZVUyk7az1bXTt2YXIgeD1uLmxlbmd0aDtoPTQyOTQ5NjcyOTU7dmFyIEw9ITEsZT0hIShXJjY0KSxHPWU/VyYxMjg/MDotMTp2b2lkIDA7aWYoIShXJjEpKXt2YXIgcj14JiZuW3gtMV07ciE9bnVsbCYmdHlwZW9mIHI9PT0ib2JqZWN0IiYmci5jb25zdHJ1Y3Rvcj09PU9iamVjdD8oeC0tLGg9eCk6cj12b2lkIDA7IWV8fFcmMTI4fHx2fHwoTD0hMCxoPSgkdj8/eHYpKGgtRyxHLG4scix2b2lkIDApK0cpfVc9dm9pZCAwO2Zvcih2YXIgTj0wO048eDtOKyspe2xldCBIPW5bTl07aWYoSCE9bnVsbCYmKEg9RChILGIpKSE9bnVsbClpZihlJiZOPj1oKXtsZXQgQT1OLUc7KFc/PyhXPXt9KSlbQV09SH1lbHNlIGtbTl09SH1pZihyKWZvcihsZXQgSCBpbiByKXt4PXJbSF07aWYoeD09bnVsbHx8KHg9RCh4LGIpKT09bnVsbCljb250aW51ZTtOPQorSDtsZXQgQTtlJiYhTnVtYmVyLmlzTmFOKE4pJiYoQT1OK0cpPGg/a1tBXT14OihXPz8oVz17fSkpW0hdPXh9VyYmKEw/ay5wdXNoKFcpOmtbaF09Vyk7diYmRXcoTEcpJiYobj1lVyhuKSkmJm4gaW5zdGFuY2VvZiBYRiYmKGtbTEddPXdaQyhuKSk7cmV0dXJuIGt9OwpORT1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShuKT9uOiIiK247Y2FzZSAiYmlnaW50IjpyZXR1cm4gc0sobik/TnVtYmVyKG4pOiIiK247Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIG4/MTowO2Nhc2UgIm9iamVjdCI6aWYoQXJyYXkuaXNBcnJheShuKSl7dmFyIFc9bltiNF18MDtyZXR1cm4gbi5sZW5ndGg9PT0wJiZXJjE/dm9pZCAwOnJnKG4sVyxORSl9aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gcEcobik7aWYobiBpbnN0YW5jZW9mIEZRKXtXPW4uTjtpZihXPT1udWxsKW49IiI7ZWxzZSBpZih0eXBlb2YgVz09PSJzdHJpbmciKW49VztlbHNle2xldCBEPSIiLGI9MCx2PVcubGVuZ3RoLTEwMjQwO2Zvcig7Yjx2OylEKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsVy5zdWJhcnJheShiLGIrPTEwMjQwKSk7RCs9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGI/Vy5zdWJhcnJheShiKToKVyk7Vz1idG9hKEQpO249bi5OPVd9cmV0dXJuIG59cmV0dXJufXJldHVybiBufTsKWXY9ZnVuY3Rpb24obixXKXtpZihXKXskdj1XPT1udWxsfHxXPT09eHZ8fFdbY2lVXSE9PWExVT94djpXO3RyeXtyZXR1cm4gcEcobil9ZmluYWxseXskdj12b2lkIDB9fXJldHVybiBwRyhuKX07CnBHPWZ1bmN0aW9uKG4pe249bi5sOTtyZXR1cm4gcmcobixuW2I0XXwwLE5FKX07Cm4zMj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJvb2xlYW4iOnJldHVybiBISHx8KEhIPVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIG4+MD92b2lkIDA6bj09PTA/Zkd8fChmRz1bMCx2b2lkIDBdKTpbLW4sdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLG5dO2Nhc2UgIm9iamVjdCI6cmV0dXJuIG59fTsKU1c9ZnVuY3Rpb24obixXKXtyZXR1cm4gSnYobixXWzBdLFdbMV0pfTsKSnY9ZnVuY3Rpb24obixXLEQsYj0wKXtpZihuPT1udWxsKXt2YXIgdj0zMjtEPyhuPVtEXSx2fD0xMjgpOm49W107VyYmKHY9diYtMTY3NjA4MzN8KFcmMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IEVycm9yKCJuYXJyIik7dj1uW2I0XXwwO2lmKEF2JiYxJnYpdGhyb3cgRXJyb3IoInJmYXJyIik7MjA0OCZ2JiYhKDImdikmJldjcigpO2lmKHYmMjU2KXRocm93IEVycm9yKCJmYXJyIik7aWYodiY2NClyZXR1cm4odnxiKSE9PXYmJihuW2I0XT12fGIpLG47aWYoRCYmKHZ8PTEyOCxEIT09blswXSkpdGhyb3cgRXJyb3IoIm1pZCIpO2E6e0Q9bjt2fD02NDt2YXIgaz1ELmxlbmd0aDtpZihrKXt2YXIgaD1rLTE7bGV0IEw9RFtoXTtpZihMIT1udWxsJiZ0eXBlb2YgTD09PSJvYmplY3QiJiZMLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtXPXYmMTI4PzA6LTE7aC09VztpZihoPj0xMDI0KXRocm93IEVycm9yKCJwdnRsbXQiKTtmb3IodmFyIHggaW4gTClpZihrPQoreCxrPGgpRFtrK1ddPUxbeF0sZGVsZXRlIExbeF07ZWxzZSBicmVhazt2PXYmLTE2NzYwODMzfChoJjEwMjMpPDwxNDticmVhayBhfX1pZihXKXt4PU1hdGgubWF4KFcsay0odiYxMjg/MDotMSkpO2lmKHg+MTAyNCl0aHJvdyBFcnJvcigic3B2dCIpO3Y9diYtMTY3NjA4MzN8KHgmMTAyMyk8PDE0fX19bltiNF09dnw2NHxiO3JldHVybiBufTsKV2NyPWZ1bmN0aW9uKCl7aWYoQXYpdGhyb3cgRXJyb3IoImNhcnIiKTtuNShEVWksNSl9OwpiYlo9ZnVuY3Rpb24obixXKXtpZih0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKEFycmF5LmlzQXJyYXkobikpe3ZhciBEPW5bYjRdfDA7bi5sZW5ndGg9PT0wJiZEJjE/bj12b2lkIDA6RCYyfHwoIVd8fDQwOTYmRHx8MTYmRD9uPW1fKG4sRCwhMSxXJiYhKEQmMTYpKToobltiNF18PTM0LEQmNCYmT2JqZWN0LmZyZWV6ZShuKSkpO3JldHVybiBufWlmKG4hPW51bGwmJm5bdkhdPT09a3YpcmV0dXJuIFc9bi5sOSxEPVdbYjRdfDAsdjkobixEKT9uOktHKG4sVyxEKT9PSyhuLFcpOm1fKFcsRCk7aWYobiBpbnN0YW5jZW9mIEZRKXJldHVybiBufTsKT0s9ZnVuY3Rpb24obixXLEQpe249bmV3IG4uY29uc3RydWN0b3IoVyk7RCYmKG4uTj1EQik7bi5YPURCO3JldHVybiBufTsKbV89ZnVuY3Rpb24obixXLEQsYil7Yj8/KGI9ISEoMzQmVykpO249cmcobixXLGJiWixiKTtiPTMyO0QmJihifD0yKTtXPVcmMTY3NjkyMTd8YjtuW2I0XT1XO3JldHVybiBufTsKUEg9ZnVuY3Rpb24obil7dmFyIFc9bi5sOSxEPVdbYjRdfDA7cmV0dXJuIHY5KG4sRCk/S0cobixXLEQpP09LKG4sVywhMCk6bmV3IG4uY29uc3RydWN0b3IobV8oVyxELCExKSk6bn07ClpSPWZ1bmN0aW9uKG4pe2lmKG4uTiE9PURCKXJldHVybiExO3ZhciBXPW4ubDk7Vz1tXyhXLFdbYjRdfDApO1dbYjRdfD0yMDQ4O24ubDk9VztuLk49dm9pZCAwO24uWD12b2lkIDA7cmV0dXJuITB9OwpVSz1mdW5jdGlvbihuKXtpZighWlIobikmJnY5KG4sbi5sOVtiNF18MCkpdGhyb3cgRXJyb3IoKTt9Owp5Zz1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDAmJihXPW5bYjRdfDApO1cmMzImJiEoVyY0MDk2KSYmKG5bYjRdPVd8NDA5Nil9OwpLRz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQmMj8hMDpEJjMyJiYhKEQmNDA5Nik/KFdbYjRdPUR8MixuLk49REIsITApOiExfTsKaVc9ZnVuY3Rpb24obixXLEQsYix2KXtPYmplY3QuaXNFeHRlbnNpYmxlKG4pO1c9RUsobi5sOSxXLEQsdik7aWYoVyE9PW51bGx8fGImJm4uWCE9PURCKXJldHVybiBXfTsKRUs9ZnVuY3Rpb24obixXLEQsYil7aWYoVz09PS0xKXJldHVybiBudWxsO3ZhciB2PVcrKEQ/MDotMSksaz1uLmxlbmd0aC0xO2lmKCEoazwxKyhEPzA6LTEpKSl7aWYodj49ayl7dmFyIGg9bltrXTtpZihoIT1udWxsJiZ0eXBlb2YgaD09PSJvYmplY3QiJiZoLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtEPWhbV107dmFyIHg9ITB9ZWxzZSBpZih2PT09aylEPWg7ZWxzZSByZXR1cm59ZWxzZSBEPW5bdl07aWYoYiYmRCE9bnVsbCl7Yj1iKEQpO2lmKGI9PW51bGwpcmV0dXJuIGI7aWYoIU9iamVjdC5pcyhiLEQpKXJldHVybiB4P2hbV109YjpuW3ZdPWIsYn1yZXR1cm4gRH19Owpvej1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5O3VXKHYsdltiNF18MCxXLEQsYik7cmV0dXJuIG59Owp1Vz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPUQrKHY/MDotMSksaD1uLmxlbmd0aC0xO2lmKGg+PTErKHY/MDotMSkmJms+PWgpe2xldCB4PW5baF07aWYoeCE9bnVsbCYmdHlwZW9mIHg9PT0ib2JqZWN0IiYmeC5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4geFtEXT1iLFd9aWYoazw9aClyZXR1cm4gbltrXT1iLFc7YiE9PXZvaWQgMCYmKGg9KFc/PyhXPW5bYjRdfDApKT4+MTQmMTAyM3x8NTM2ODcwOTEyLEQ+PWg/YiE9bnVsbCYmKG5baCsodj8wOi0xKV09e1tEXTpifSk6bltrXT1iKTtyZXR1cm4gV307CmcuQkg9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLmw5LGg9a1tiNF18MDtiPXY5KG4saCk/MTpiO3Y9ISF2fHxiPT09MztiPT09MiYmWlIobikmJihrPW4ubDksaD1rW2I0XXwwKTtuPWRnKGssVyk7dmFyIHg9bj09PXp6Pzc6bltiNF18MCxMPWxXKHgsaCk7dmFyIGU9NCZMPyExOiEwO2lmKGUpezQmTCYmKG49Wy4uLm5dLHg9MCxMPWpXKEwsaCksaD11VyhrLGgsVyxuKSk7bGV0IEc9MCxyPTA7Zm9yKDtHPG4ubGVuZ3RoO0crKyl7bGV0IE49RChuW0ddKTtOIT1udWxsJiYobltyKytdPU4pfXI8RyYmKG4ubGVuZ3RoPXIpO0Q9KEx8NCkmLTUxMztMPUQmPS0xMDI1O0wmPS00MDk3fUwhPT14JiYobltiNF09TCwyJkwmJk9iamVjdC5mcmVlemUobikpO3JldHVybiBuPUNHKG4sTCxrLGgsVyx2b2lkIDAsYixlLHYpfTsKQ0c9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPVc7aD09PTF8fChoIT09ND8wOjImV3x8ISgxNiZXKSYmMzImYik/RkYoVyl8fChXfD0hbi5sZW5ndGh8fHgmJiEoNDA5NiZXKXx8MzImYiYmISg0MDk2Jld8fDE2JlcpPzI6MjU2LFchPT1lJiYobltiNF09VyksT2JqZWN0LmZyZWV6ZShuKSk6KGg9PT0yJiZGRihXKSYmKG49Wy4uLm5dLGU9MCxXPWpXKFcsYiksYj11VyhELGIsdixuLGspKSxGRihXKXx8KEx8fChXfD0xNiksVyE9PWUmJihuW2I0XT1XKSkpOzImV3x8ISg0MDk2Jld8fDE2JlcpfHx5ZyhELGIpO3JldHVybiBufTsKZGc9ZnVuY3Rpb24obixXLEQpe249RUsobixXLEQpO3JldHVybiBBcnJheS5pc0FycmF5KG4pP246enp9OwpsVz1mdW5jdGlvbihuLFcpezImVyYmKG58PTIpO3JldHVybiBufDF9OwpGRj1mdW5jdGlvbihuKXtyZXR1cm4hISgyJm4pJiYhISg0Jm4pfHwhISgyNTYmbil9OwpNRT1mdW5jdGlvbihuKXtyZXR1cm4ga1UobiwhMCl9OwpSej1mdW5jdGlvbihuLFcpe249aVcobixXLHZvaWQgMCx2b2lkIDAsTUUpO3JldHVybiBuPT1udWxsP014KCk6bn07ClFnPWZ1bmN0aW9uKG4sVyxEKXtVSyhuKTt2YXIgYj1uLmw5LHY9YltiNF18MDtpZihXPT1udWxsKXJldHVybiB1VyhiLHYsMyksbjtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBjMigpO3ZhciBrPVc9PT16ej83OldbYjRdfDAsaD1rLHg9RkYoayksTD14fHxPYmplY3QuaXNGcm96ZW4oVyk7eHx8KGs9MCk7THx8KFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSk7a3w9NTt4PSg0Jms/NTEyJms/NTEyOjEwMjQmaz8xMDI0OjA6dm9pZCAwKT8/MTAyNDtrfD14O2ZvcihsZXQgZT0wO2U8Vy5sZW5ndGg7ZSsrKXtsZXQgRz1XW2VdLHI9RChHLHgpO09iamVjdC5pcyhHLHIpfHwoTCYmKFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSksV1tlXT1yKX1rIT09aCYmKEwmJihXPVsuLi5XXSxrPWpXKGssdikpLFdbYjRdPWspO3VXKGIsdiwzLFcpO3JldHVybiBufTsKZy5WZz1mdW5jdGlvbihuLFcsRCxiLHYpe1VLKG4pO3ZhciBrPW4ubDk7dVcoayxrW2I0XXwwLFcsKGI9PT0iMCI/TnVtYmVyKEQpPT09MDpEPT09Yik/dm9pZCAwOkQsdik7cmV0dXJuIG59OwpjSD1mdW5jdGlvbihuLFcsRCl7aWYoVyYyKXRocm93IEVycm9yKCk7dmFyIGI9TDUoVyksdj1kZyhuLEQsYiksaz12PT09eno/Nzp2W2I0XXwwLGg9bFcoayxXKTtpZigyJmh8fEZGKGgpfHwxNiZoKWg9PT1rfHxGRihoKXx8KHZbYjRdPWgpLHY9Wy4uLnZdLGs9MCxoPWpXKGgsVyksdVcobixXLEQsdixiKTtoJj0tMTM7aCE9PWsmJih2W2I0XT1oKTtyZXR1cm4gdn07CkQyPWZ1bmN0aW9uKG4sVyxELGIpe1VLKG4pO3ZhciB2PW4ubDksaz12W2I0XXwwO2lmKGI9PW51bGwpe2xldCBoPWF6KHYpO2lmKG5uKGgsdixrLEQpPT09VyloLnNldChELDApO2Vsc2UgcmV0dXJuIG59ZWxzZSBrPVdXKHYsayxELFcpO3VXKHYsayxXLGIpO3JldHVybiBufTsKYmE9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bltiNF18MCxrPUw1KHYpO3Y9V1cobix2LEQsVyxrKTt1VyhuLHYsVyxiLGspfTsKdlc9ZnVuY3Rpb24obixXLEQpe249bi5sOTtyZXR1cm4gbm4oYXoobiksbix2b2lkIDAsVyk9PT1EP0Q6LTF9Owphej1mdW5jdGlvbihuKXtyZXR1cm4gbltrOV0/PyhuW2s5XT1uZXcgTWFwKX07CldXPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj09PTB8fEQuaW5jbHVkZXMoYik7dmFyIGs9YXoobiksaD1ubihrLG4sVyxELHYpO2ghPT1iJiYoaCYmKFc9dVcobixXLGgsdm9pZCAwLHYpKSxrLnNldChELGIpKTtyZXR1cm4gV307Cm5uPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5nZXQoYik7aWYoayE9bnVsbClyZXR1cm4gaztrPTA7Zm9yKGxldCBoPTA7aDxiLmxlbmd0aDtoKyspe2xldCB4PWJbaF07RUsoVyx4LHYpIT1udWxsJiYoayE9PTAmJihEPXVXKFcsRCxrLHZvaWQgMCx2KSksaz14KX1uLnNldChiLGspO3JldHVybiBrfTsKaFM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5bYjRdfDAsdj1MNShiKSxrPUVLKG4sRCx2KTtpZihrIT1udWxsJiZrW3ZIXT09PWt2KXtpZighdjkoaykpcmV0dXJuIFpSKGspLGsubDk7dmFyIGg9ay5sOX1lbHNlIEFycmF5LmlzQXJyYXkoaykmJihoPWspO2lmKGgpe2xldCB4PWhbYjRdfDA7eCYyJiYoaD1tXyhoLHgpKX1oPVNXKGgsVyk7aCE9PWsmJnVXKG4sYixELGgsdik7cmV0dXJuIGh9Owp4OT1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSExO2I9RUsobixiLHYsaD0+e3ZhciB4PWh2KGgsRCxXKTtrPXghPT1oJiZ4IT1udWxsO3JldHVybiB4fSk7CmlmKGIhPW51bGwpcmV0dXJuIGsmJiF2OShiKSYmeWcobixXKSxifTsKZUU9ZnVuY3Rpb24obixXLEQsYil7bj1uLmw5OyhEPXg5KG4sbltiNF18MCxXLEQsYikpfHwoRD1XW0xuXSl8fChiPW5ldyBXLEQ9Yi5sOSxEW2I0XXw9MzQsRD1XW0xuXT1iKTtyZXR1cm4gRH07CmdlPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4ubDksaz12W2I0XXwwO1c9eDkodixrLFcsRCxiKTtpZihXPT1udWxsKXJldHVybiBXO2s9dltiNF18MDtpZighdjkobixrKSl7bGV0IGg9UEgoVyk7aCE9PVcmJihaUihuKSYmKHY9bi5sOSxrPXZbYjRdfDApLFc9aCxrPXVXKHYsayxELFcsYikseWcodixrKSl9cmV0dXJuIFd9OwpxSD1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLmw5O3JldHVybiBYXyhuLHYsdltiNF18MCxXLEQsMSxiKX07ClhfPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCxMKXt2YXIgZT12OShuLEQpO2s9ZT8xOms7eD0hIXh8fGs9PT0zO2U9TCYmIWU7KGs9PT0yfHxlKSYmWlIobikmJihXPW4ubDksRD1XW2I0XXwwKTtuPWRnKFcsdixoKTt2YXIgRz1uPT09eno/NzpuW2I0XXwwLHI9bFcoRyxEKTtpZihMPSEoNCZyKSl7dmFyIE49bixIPUQ7bGV0IEE9ISEoMiZyKTtBJiYoSHw9Mik7bGV0IHk9IUEsVD0hMCx6PTAsQz0wO2Zvcig7ejxOLmxlbmd0aDt6Kyspe2xldCBRPWh2KE5bel0sYixIKTtpZihRIGluc3RhbmNlb2YgYil7aWYoIUEpe2xldCBWPXY5KFEpO3kmJih5PSFWKTtUJiYoVD1WKX1OW0MrK109UX19Qzx6JiYoTi5sZW5ndGg9Qyk7cnw9NDtyPVQ/ciYtNDA5NzpyfDQwOTY7cj15P3J8ODpyJi05fXIhPT1HJiYobltiNF09ciwyJnImJk9iamVjdC5mcmVlemUobikpO2lmKGUmJiEoOCZyfHwhbi5sZW5ndGgmJihrPT09MXx8KGshPT00PzA6MiZyfHwhKDE2JnIpJiYzMiZEKSkpKXtGRihyKSYmKG49ClsuLi5uXSxyPWpXKHIsRCksRD11VyhXLEQsdixuLGgpKTtiPW47ZT1yO2ZvcihHPTA7RzxiLmxlbmd0aDtHKyspTj1iW0ddLHI9UEgoTiksTiE9PXImJihiW0ddPXIpO2V8PTg7cj1lPWIubGVuZ3RoP2V8NDA5NjplJi00MDk3O25bYjRdPXJ9cmV0dXJuIG49Q0cobixyLFcsRCx2LGgsayxMLHgpfTsKVkc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubDk7cmV0dXJuIFhfKG4sYixiW2I0XXwwLFcsRCx2b2lkIDA9PT1HJD8yOjQsdm9pZCAwLCExLCEwKX07CnRTPWZ1bmN0aW9uKG4sVyl7biE9bnVsbD9iVyhuLFcpOm49dm9pZCAwO3JldHVybiBufTsKJDk9ZnVuY3Rpb24obixXLEQsYix2KXtiPXRTKGIsVyk7b3oobixELGIsdik7YiYmIXY5KGIpJiZ5ZyhuLmw5KTtyZXR1cm4gbn07CnJlPWZ1bmN0aW9uKG4sVyxELGIsdil7dj10Uyh2LFcpO0QyKG4sRCxiLHYpO3YmJiF2OSh2KSYmeWcobi5sOSk7cmV0dXJuIG59OwpzVj1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5LGs9dltiNF18MDtpZihiPT1udWxsKXJldHVybiB1Vyh2LGssRCksbjtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBjMigpO3ZhciBoPWI9PT16ej83OmJbYjRdfDAseD1oLEw9RkYoaCksZT1MfHxPYmplY3QuaXNGcm96ZW4oYiksRz0hMCxyPSEwO2ZvcihsZXQgSD0wO0g8Yi5sZW5ndGg7SCsrKXt2YXIgTj1iW0hdO2JXKE4sVyk7THx8KE49djkoTiksRyYmKEc9IU4pLHImJihyPU4pKX1MfHwoaD1HPzEzOjUsaD1yP2gmLTQwOTc6aHw0MDk2KTtlJiZoPT09eHx8KGI9Wy4uLmJdLHg9MCxoPWpXKGgsaykpO2ghPT14JiYoYltiNF09aCk7az11Vyh2LGssRCxiKTsyJmh8fCEoNDA5NiZofHwxNiZoKXx8eWcodixrKTtyZXR1cm4gbn07CmpXPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49KDImVz9ufDI6biYtMykmLTI3M307Ck5IPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWI7VUsobik7Yj1uLmw5O249WF8obixiLGJbYjRdfDAsRCxXLDIsdm9pZCAwLCEwKTt2PXYhPW51bGw/YlcodixEKTpuZXcgRDtuLnB1c2godik7Vz1EPW49PT16ej83Om5bYjRdfDA7KHY9djkodikpPyhEJj0tOSxuLmxlbmd0aD09PTEmJihEJj0tNDA5NykpOkR8PTQwOTY7RCE9PVcmJihuW2I0XT1EKTt2fHx5ZyhiKX07CmFQPWZ1bmN0aW9uKG4sVyxEPTApe3JldHVybiBFXyhpVyhuLFcpKT8/RH07CnBuPWZ1bmN0aW9uKG4sVyxEPXYzaSl7cmV0dXJuIGlXKG4sVyx2b2lkIDAsdm9pZCAwLEZEKT8/RH07Clk5PWZ1bmN0aW9uKG4sVyxEPSIiLGIpe3JldHVybiBnLkRSKGlXKG4sVyxiKSk/P0R9OwpIVz1mdW5jdGlvbihuLFcpe249aVcobixXKTtyZXR1cm4obj09bnVsbD9uOlA5KG4pP258MDp2b2lkIDApPz8wfTsKSlM9ZnVuY3Rpb24obixXKXtyZXR1cm4gZy5EUihpVyhuLFcsdm9pZCAwLGZuKSl9OwpJWT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG96KG4sVyxnLmw0KEQpKX07CmcuU0U9ZnVuY3Rpb24obixXLEQpe3JldHVybiBveihuLFcsV0goRCkpfTsKQVM9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIGcuVmcobixXLFdIKEQpLCIiLGIpfTsKS249ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpe2lmKCFQOShEKSl0aHJvdyBjMigiZW51bSIpO0R8PTB9cmV0dXJuIG96KG4sVyxEKX07ClBXPWZ1bmN0aW9uKG4sVyl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbmV3IE9WKEMwKG4pLFcpO2lmKEFycmF5LmlzQXJyYXkobikpcmV0dXJuIG5ldyBPVihuZXcgVWludDhBcnJheShuKSxXKTtpZihuLmNvbnN0cnVjdG9yPT09VWludDhBcnJheSlyZXR1cm4gbmV3IE9WKG4sITEpO2lmKG4uY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcilyZXR1cm4gbj1uZXcgVWludDhBcnJheShuKSxuZXcgT1YobiwhMSk7aWYobi5jb25zdHJ1Y3Rvcj09PUZRKXJldHVybiBXPVFsKG4pfHxuZXcgVWludDhBcnJheSgwKSxuZXcgT1YoVywhMCxuKTtpZihuIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gbj1uLmNvbnN0cnVjdG9yPT09VWludDhBcnJheT9uOm5ldyBVaW50OEFycmF5KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpLG5ldyBPVihuLCExKTt0aHJvdyBFcnJvcigpO307CmcuVVY9ZnVuY3Rpb24obixXKXt2YXIgRD0wLGI9MCx2PTAsaz1uLkosaD1uLk47ZG97dmFyIHg9a1toKytdO0R8PSh4JjEyNyk8PHY7dis9N313aGlsZSh2PDMyJiZ4JjEyOCk7aWYodj4zMilmb3IoYnw9KHgmMTI3KT4+NCx2PTM7djwzMiYmeCYxMjg7dis9Nyl4PWtbaCsrXSxifD0oeCYxMjcpPDx2O1oyKG4saCk7aWYoISh4JjEyOCkpcmV0dXJuIFcoRD4+PjAsYj4+PjApO3Rocm93IEVycm9yKCk7fTsKeTE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTAsRD1uLk4sYj1EKzEwLHY9bi5KO0Q8Yjspe2xldCBrPXZbRCsrXTtXfD1rO2lmKChrJjEyOCk9PT0wKXJldHVybiBaMihuLEQpLCEhKFcmMTI3KX10aHJvdyBFcnJvcigpO307CmcuRVY9ZnVuY3Rpb24obil7dmFyIFc9bi5KLEQ9bi5OLGI9V1tEKytdLHY9YiYxMjc7aWYoYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDw3LGImMTI4JiYoYj1XW0QrK10sdnw9KGImMTI3KTw8MTQsYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDwyMSxiJjEyOCYmKGI9V1tEKytdLHZ8PWI8PDI4LGImMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4KSkpKSl0aHJvdyBFcnJvcigpO1oyKG4sRCk7cmV0dXJuIHZ9Owp1YT1mdW5jdGlvbihuKXt2YXIgVz1uLkosRD1uLk4sYj1XW0QrMF0sdj1XW0QrMV0saz1XW0QrMl07Vz1XW0QrM107aWEobiw0KTtyZXR1cm4oYjw8MHx2PDw4fGs8PDE2fFc8PDI0KT4+PjB9OwpvWT1mdW5jdGlvbihuKXt2YXIgVz11YShuKTtuPXVhKG4pO3JldHVybiBmNShXLG4pfTsKZy5kZT1mdW5jdGlvbihuKXt2YXIgVz1uLmo7V3x8KFc9bi5KLFc9bi5qPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSk7Vz1XLmdldEZsb2F0NjQobi5OLCEwKTtpYShuLDgpO3JldHVybiBXfTsKazQyPWZ1bmN0aW9uKG4pe3JldHVybiBnLkVWKG4pfTsKWjI9ZnVuY3Rpb24obixXKXtuLk49VztpZihXPm4uVyl0aHJvdyBFcnJvcigpO307CmlhPWZ1bmN0aW9uKG4sVyl7WjIobixuLk4rVyl9Owp6JD1mdW5jdGlvbihuLFcpe2lmKFc8MCl0aHJvdyBFcnJvcigpO3ZhciBEPW4uTjtXPUQrVztpZihXPm4uVyl0aHJvdyBFcnJvcigpO24uTj1XO3JldHVybiBEfTsKbGE9ZnVuY3Rpb24obixXKXtpZihXPT0wKXJldHVybiBNeCgpO3ZhciBEPXokKG4sVyk7bi5uXyYmbi5WP0Q9bi5KLnN1YmFycmF5KEQsRCtXKToobj1uLkosVz1EK1csRD1EPT09Vz9uZXcgVWludDhBcnJheSgwKTpuLnNsaWNlKEQsVykpO3JldHVybiBELmxlbmd0aD09MD9NeCgpOm5ldyBGUShELHdXKX07CkNuPWZ1bmN0aW9uKG4sVyxELGIpe2lmKFQkLmxlbmd0aCl7bGV0IHY9VCQucG9wKCk7akUodixiKTt2Lk4uaW5pdChuLFcsRCxiKTtyZXR1cm4gdn1yZXR1cm4gbmV3IGhCUyhuLFcsRCxiKX07CmpFPWZ1bmN0aW9uKG4se0diOlc9ITF9PXt9KXtuLkdiPVd9OwpGXz1mdW5jdGlvbihuKXt2YXIgVz1uLk47aWYoVy5OPT1XLlcpcmV0dXJuITE7bi5YPW4uTi5OO3ZhciBEPWcuRVYobi5OKT4+PjA7Vz1EPj4+MztEJj03O2lmKCEoRD49MCYmRDw9NSkpdGhyb3cgRXJyb3IoKTtpZihXPDEpdGhyb3cgRXJyb3IoKTtuLlc9VztuLko9RDtyZXR1cm4hMH07CndlPWZ1bmN0aW9uKG4pe3RyeXtzd2l0Y2gobi5KKXtjYXNlIDA6bi5KIT0wP3dlKG4pOnkxKG4uTik7YnJlYWs7Y2FzZSAxOmlhKG4uTiw4KTticmVhaztjYXNlIDI6aWYobi5KIT0yKXdlKG4pO2Vsc2V7dmFyIFc9Zy5FVihuLk4pPj4+MDtpYShuLk4sVyl9YnJlYWs7Y2FzZSA1OmlhKG4uTiw0KTticmVhaztjYXNlIDM6TUgoKTtsZXQgRD1uLlc7dHJ5e2Rve2lmKCFGXyhuKSl0aHJvdyBFcnJvcigpO2lmKG4uSj09NCl7aWYobi5XIT1EKXRocm93IEVycm9yKCk7YnJlYWt9d2Uobil9d2hpbGUoMSl9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhyb3cgbmV3IFN5bnRheEVycm9yO3Rocm93IGI7fWZpbmFsbHl7Ulk+MCYmUlktLX1icmVhaztkZWZhdWx0OnRocm93IEVycm9yKCk7fX1jYXRjaChEKXtpZihEIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgRDt9fTsKTUg9ZnVuY3Rpb24oKXtpZihSWT49MTAwKXRocm93IG5ldyBTeW50YXhFcnJvcjtSWSsrfTsKUTE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5XLHY9Zy5FVihuLk4pPj4+MDt2PW4uTi5OK3Y7dmFyIGs9di1iO2s8PTAmJihuLk4uVz12LEQoVyxuLHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxrPXYtbi5OLk4pO2lmKGspdGhyb3cgRXJyb3IoKTtuLk4uTj12O24uTi5XPWJ9OwphWT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wLEQ9bi5OO249eiQoRCxXKTt2YXIgYj1ELko7KEQ9VjEpfHwoRD1WMT1uZXcgVGV4dERlY29kZXIoInV0Zi04Iix7ZmF0YWw6ITB9KSk7Vz1uK1c7Yj1uPT09MCYmVz09PWIubGVuZ3RoP2I6Yi5zdWJhcnJheShuLFcpO3RyeXt2YXIgdj1ELmRlY29kZShiKX1jYXRjaChrKXtpZihjVz09PXZvaWQgMCl7dHJ5e0QuZGVjb2RlKG5ldyBVaW50OEFycmF5KFsxMjhdKSl9Y2F0Y2goaCl7fXRyeXtELmRlY29kZShuZXcgVWludDhBcnJheShbOTddKSksY1c9ITB9Y2F0Y2goaCl7Y1c9ITF9fSFjVyYmKFYxPXZvaWQgMCk7dGhyb3cgazt9cmV0dXJuIHZ9OwpEOT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wO3JldHVybiBsYShuLk4sVyl9OwpiRz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5FVihuLk4pPj4+MDtmb3IoYj1uLk4uTitiO24uTi5OPGI7KUQucHVzaChXKG4uTikpfTsKa209ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB2eShuJjQyOTQ5NjcyOTUsTWF0aC5mbG9vcihuLzQyOTQ5NjcyOTYpKX07CnhtPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBoM3x8KGgzPW5ldyB2eSgwLDApKTtpZighL15cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgdnkoclosc18pfTsKTGg9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj09PTA/bmV3IHZ5KDAsMSt+bi5OKTpuZXcgdnkofm4uSisxLH5uLk4pfTsKeFVqPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgZUMobiY0Mjk0OTY3Mjk1LE1hdGguZmxvb3Iobi80Mjk0OTY3Mjk2KSl9OwpYdD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gZ0d8fChnRz1uZXcgZUMoMCwwKSk7aWYoIS9eLT9cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgZUMoclosc18pfTsKWW09ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBCaWdJbnQ2NEFycmF5IT09InVuZGVmaW5lZCIpcmV0dXJuIHFmfHwocWY9bmV3IEJpZ0ludDY0QXJyYXkoMSksR1M9bmV3IFVpbnQzMkFycmF5KHFmLmJ1ZmZlcikscWZbMF09QmlnSW50KDEpLHQzPUdTWzBdPT09MSkscWZbMF09bixuPXQzPzA6MSxuZXcgVyhHU1tuXSxHU1sxLW5dKTskbXx8KHJHPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksTmY9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSxwaD1CaWdJbnQoNDI5NDk2NzI5NSksJG09QmlnSW50KDMyKSk7aWYobj49ckcmJm48PU5mKXJldHVybiBEKE51bWJlcihuKSk7bj1CaWdJbnQuYXNVaW50Tig2NCxuKTtyZXR1cm4gbmV3IFcoTnVtYmVyKG4mcGgpLE51bWJlcihuPj4kbSkpfTsKSHk9ZnVuY3Rpb24obixXLEQpe2Zvcig7RD4wfHxXPjEyNzspbi5OLnB1c2goVyYxMjd8MTI4KSxXPShXPj4+N3xEPDwyNSk+Pj4wLEQ+Pj49NztuLk4ucHVzaChXKX07CkozPWZ1bmN0aW9uKG4sVyl7bi5OLnB1c2goVz4+PjAmMjU1KTtuLk4ucHVzaChXPj4+OCYyNTUpO24uTi5wdXNoKFc+Pj4xNiYyNTUpO24uTi5wdXNoKFc+Pj4yNCYyNTUpfTsKSXg9ZnVuY3Rpb24obixXKXtmb3IoO1c+MTI3OyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj49NztuLk4ucHVzaChXKX07ClNDPWZ1bmN0aW9uKG4sVyl7aWYoVz49MClJeChuLFcpO2Vsc2V7Zm9yKGxldCBEPTA7RDw5O0QrKyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj03O24uTi5wdXNoKDEpfX07CkEzPWZ1bmN0aW9uKG4sVyl7Vy5sZW5ndGghPT0wJiYobi5XLnB1c2goVyksbi5KKz1XLmxlbmd0aCl9OwptND1mdW5jdGlvbihuLFcsRCl7SXgobi5OLFcqOCtEKX07CktoPWZ1bmN0aW9uKG4sVyl7bTQobixXLDIpO1c9bi5OLmVuZCgpO0EzKG4sVyk7Vy5wdXNoKG4uSik7cmV0dXJuIFd9OwpPcz1mdW5jdGlvbihuLFcpe3ZhciBEPVcucG9wKCk7Zm9yKEQ9bi5KK24uTi5sZW5ndGgoKS1EO0Q+MTI3OylXLnB1c2goRCYxMjd8MTI4KSxEPj4+PTcsbi5KKys7Vy5wdXNoKEQpO24uSisrfTsKeW09ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpc3dpdGNoKFB5KEQpLG00KG4sVywxKSx0eXBlb2YgRCl7Y2FzZSAibnVtYmVyIjpuPW4uTjtOMyhEKTtKMyhuLHJaKTtKMyhuLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oRCx2eSxrbSk7bj1uLk47Vz1ELk47SjMobixELkopO0ozKG4sVyk7YnJlYWs7ZGVmYXVsdDpEPXhtKEQpLG49bi5OLFc9RC5OLEozKG4sRC5KKSxKMyhuLFcpfX07CkVzPWZ1bmN0aW9uKG4sVyxEKXtEIT1udWxsJiYoRD1wYXJzZUludChELDEwKSxtNChuLFcsMCksU0Mobi5OLEQpKX07CmlHPWZ1bmN0aW9uKG4sVyxEKXttNChuLFcsMik7SXgobi5OLEQubGVuZ3RoKTtBMyhuLG4uTi5lbmQoKSk7QTMobixEKX07ClB5PWZ1bmN0aW9uKG4pe3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSAic3RyaW5nIjp4bShuKX19Owp1Rz1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgInN0cmluZyI6bi5sZW5ndGgmJm5bMF09PT0iLSI/eG0obi5zdWJzdHJpbmcoMSkpOnhtKG4pfX07Cm94PWZ1bmN0aW9uKCl7dmFyIG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aHJvdyBFcnJvcigpO319O09iamVjdC5zZXRQcm90b3R5cGVPZihuLG4ucHJvdG90eXBlKTtyZXR1cm4gbn07CmRHPWZ1bmN0aW9uKG4sVyl7aWYoVz09bnVsbHx8Vz09IiIpcmV0dXJuIG5ldyBuO1c9SlNPTi5wYXJzZShXKTtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBFcnJvcigiZG5hcnIiKTtXW2I0XXw9MzI7cmV0dXJuIG5ldyBuKFcpfTsKVFM9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHpTKG4sVyxsRyl9OwpDaD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9akMoVyxiKTtXIT1udWxsJiYoRD1LaChuLEQpLHYoVyxuKSxPcyhuLEQpKX07CndHPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWJbbl07aWYodilyZXR1cm4gdjt2PXt9O3Yud2s9Yjt2LlJyPW4zMihiWzBdKTt2YXIgaz1iWzFdLGg9MTtrJiZrLmNvbnN0cnVjdG9yPT09T2JqZWN0JiYodi5leHRlbnNpb25zPWssaz1iWysraF0sdHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYodi5kJD0hMCxCeT8/KEJ5PWspLEZ0Pz8oRnQ9YltoKzFdKSxrPWJbaCs9Ml0pKTtmb3IodmFyIHg9e307ayYmQXJyYXkuaXNBcnJheShrKSYmay5sZW5ndGgmJnR5cGVvZiBrWzBdPT09Im51bWJlciImJmtbMF0+MDspe2Zvcih2YXIgTD0wO0w8ay5sZW5ndGg7TCsrKXhba1tMXV09aztrPWJbKytoXX1mb3IoTD0xO2shPT12b2lkIDA7KXt0eXBlb2Ygaz09PSJudW1iZXIiJiYoTCs9ayxrPWJbKytoXSk7bGV0IHI7dmFyIGU9dm9pZCAwO2sgaW5zdGFuY2VvZiB6Uz9yPWs6KHI9TGN0LGgtLSk7aWYocj8uTil7az1iWysraF07ZT1iO3ZhciBHPWg7dHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYoaz1rKCksCmVbR109ayk7ZT1rfWs9YlsrK2hdO0c9TCsxO3R5cGVvZiBrPT09Im51bWJlciImJms8MCYmKEctPWssaz1iWysraF0pO2Zvcig7TDxHO0wrKyl7bGV0IE49eFtMXTtlP0QodixMLHIsZSxOKTpXKHYsTCxyLE4pfX1yZXR1cm4gYltuXT12fTsKTWY9ZnVuY3Rpb24obil7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/blswXWluc3RhbmNlb2YgelM/bjpbZUJ0LG5dOltuLHZvaWQgMF19OwpSeD1mdW5jdGlvbihuLFc9IiIsRD0iIil7bj1uZXcgZy53WihuLCEwKTtuLnNldCgiYWxyIiwieWVzIik7RCYmKEQ9ZVgoODQsNjU1MyxNMygxOCw0MjYwLEQpKSxuW0lbMzRdXShXLFIwKDEzLDg3MTYsRCkpKTtyZXR1cm4gbn07CmpDPWZ1bmN0aW9uKG4sVyl7aWYobiBpbnN0YW5jZW9mIGcuUW0pcmV0dXJuIG4ubDk7aWYoQXJyYXkuaXNBcnJheShuKSlyZXR1cm4gU1cobixXKX07ClZtPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuY2o7bltXXT1iPyhrLGgseCk9PnYoayxoLHgsYik6dn07CmF4PWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9RC5jaixoLHg7bltXXT0oTCxlLEcpPT5rKEwsZSxHLHh8fCh4PXdHKGN5LFZtLGF4LGIpLlJyKSxofHwoaD1uOChiKSksdil9OwpuOD1mdW5jdGlvbihuKXt2YXIgVz1uW1dPXTtpZihXIT1udWxsKXJldHVybiBXO3ZhciBEPXdHKGN5LFZtLGF4LG4pO1c9RC5kJD8oYix2KT0+QnkoYix2LEQpOihiLHYpPT57YTp7TUgoKTsKdHJ5e2Zvcig7Rl8odikmJnYuSiE9NDspe2xldCBOPXYuVyxIPURbTl07aWYoSD09bnVsbCl7bGV0IEE9RC5leHRlbnNpb25zO2lmKEEpe2xldCB5PUFbTl07aWYoeSl7bGV0IFQ9ZzNVKHkpO1QhPW51bGwmJihIPURbTl09VCl9fX1pZihIPT1udWxsfHwhSCh2LGIsTikpe3ZhciBrPXY7bGV0IEE9ay5YO3dlKGspO2lmKGsuR2IpdmFyIGg9dm9pZCAwO2Vsc2V7bGV0IHk9ay5OLk4tQTtrLk4uTj1BO2g9bGEoay5OLHkpfWs9dm9pZCAwO3ZhciB4PWIsTD1OLGU9aDtlJiYoKGs9eFtMR10/Pyh4W0xHXT1uZXcgWEYpKVtMXT8/KGtbTF09W10pKS5wdXNoKGUpfX1sZXQgcj1lVyhiKTtyJiYoci5qNz1ELndrW0Q4XSk7dmFyIEc9ITA7YnJlYWsgYX1jYXRjaChyKXtpZihyIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgcjt9ZmluYWxseXtSWT4wJiZSWS0tfUc9dm9pZCAwfXJldHVybiBHfTsKbltXT109VztuW0Q4XT1YTWkuYmluZChuKTtyZXR1cm4gV307ClhNaT1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj10aGlzW2N5XSxrPXRoaXNbV09dLGg9U1codm9pZCAwLHYuUnIpLHg9ZVcobik7aWYoeCl7dmFyIEw9ITEsZT12LmV4dGVuc2lvbnM7aWYoZSl7dj0oRyxyLE4pPT57aWYoTi5sZW5ndGghPT0wKWlmKGVbcl0pZm9yKGxldCBIIG9mIE4pe0c9Q24oSCk7dHJ5e0w9ITAsayhoLEcpfWZpbmFsbHl7Ry5mcmVlKCl9fWVsc2UgYj8uKG4scixOKX07CmlmKFc9PW51bGwpZ2coeCx2KTtlbHNlIGlmKHghPW51bGwpe2xldCBHPXhbV107RyYmdih4LFcsRyl9aWYoTCl7bGV0IEc9bltiNF18MDtpZihHJjImJkcmMjA0OCYmIUQ/LkpTKXRocm93IEVycm9yKCk7bGV0IHI9TDUoRyksTj0oSCxBKT0+e2lmKEVLKG4sSCxyKSE9bnVsbClzd2l0Y2goRD8uaDQpe2Nhc2UgMTpyZXR1cm47ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31BIT1udWxsJiYoRz11VyhuLEcsSCxBLHIpKTtkZWxldGUgeFtIXX07Clc9PW51bGw/aF8oaCxoW2I0XXwwLChILEEpPT57TihILEEpfSk6TihXLEVLKGgsVyxyKSl9fX19OwpnM1U9ZnVuY3Rpb24obil7bj1NZihuKTt2YXIgVz1uWzBdLmNqO2lmKG49blsxXSl7bGV0IEQ9bjgobiksYj13RyhjeSxWbSxheCxuKS5ScjtyZXR1cm4odixrLGgpPT5XKHYsayxoLGIsRCl9cmV0dXJuIFd9OwpiNj1mdW5jdGlvbihuLFcsRCl7bltXXT1ELlBqfTsKa249ZnVuY3Rpb24obixXLEQsYil7dmFyIHYsayxoPUQuUGo7bltXXT0oeCxMLGUpPT5oKHgsTCxlLGt8fChrPXdHKHZPLGI2LGtuLGIpLlJyKSx2fHwodj1oOShiKSkpfTsKaDk9ZnVuY3Rpb24obil7dmFyIFc9blt4bl07aWYoIVcpe2xldCBEPXdHKHZPLGI2LGtuLG4pO1c9KGIsdik9Pkw4KGIsdixEKTsKblt4bl09V31yZXR1cm4gV307Ckw4PWZ1bmN0aW9uKG4sVyxEKXtoXyhuLG5bYjRdfDAsKGIsdik9PntpZih2IT1udWxsKXt2YXIgaz1xTU0oRCxiKTtrP2soVyx2LGIpOmI8NTAwfHxuNShHNFMsMyl9fSk7CihuPWVXKG4pKSYmZ2cobiwoYix2LGspPT57QTMoVyxXLk4uZW5kKCkpO2ZvcihiPTA7YjxrLmxlbmd0aDtiKyspQTMoVyxRbChrW2JdKXx8bmV3IFVpbnQ4QXJyYXkoMCkpfSl9OwpxTU09ZnVuY3Rpb24obixXKXt2YXIgRD1uW1ddO2lmKEQpcmV0dXJuIEQ7aWYoRD1uLmV4dGVuc2lvbnMpaWYoRD1EW1ddKXtEPU1mKEQpO3ZhciBiPURbMF0uUGo7aWYoRD1EWzFdKXtsZXQgdj1oOShEKSxrPXdHKHZPLGI2LGtuLEQpLlJyO0Q9bi5kJD9GdChrLHYpOihoLHgsTCk9PmIoaCx4LEwsayx2KX1lbHNlIEQ9YjsKcmV0dXJuIG5bV109RH19OwplNj1mdW5jdGlvbihuLFcsRCl7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9V1tiNF18MDtpZihiJjQpcmV0dXJuIFc7Zm9yKHZhciB2PTAsaz0wO3Y8Vy5sZW5ndGg7disrKXtsZXQgaD1uKFdbdl0pO2ghPW51bGwmJihXW2srK109aCl9azx2JiYoVy5sZW5ndGg9ayk7bj1ifDE7RCYmKG49KG58NCkmLTE1MzcpO24hPT1iJiYoV1tiNF09bik7RCYmbiYyJiZPYmplY3QuZnJlZXplKFcpO3JldHVybiBXfX07CmcuZ1E9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKWGY9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKZy5xWT1mdW5jdGlvbihuLFcsRCl7dVcobixuW2I0XXwwLFcsRCxMNShuW2I0XXwwKSl9OwpnLnQ5PWZ1bmN0aW9uKG4sVyxEKXtXPW0wKFcpO1chPW51bGwmJihtNChuLEQsMSksbj1uLk4sRD1Hdnx8KEd2PW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxELnNldEZsb2F0NjQoMCwrVywhMCksclo9RC5nZXRVaW50MzIoMCwhMCksc189RC5nZXRVaW50MzIoNCwhMCksSjMobixyWiksSjMobixzXykpfTsKZy4kbj1mdW5jdGlvbihuLFcsRCl7Vz1DeE0oVyk7aWYoVyE9bnVsbCl7c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOlh0KFcpfWlmKFchPW51bGwpc3dpdGNoKG00KG4sRCwwKSx0eXBlb2YgVyl7Y2FzZSAibnVtYmVyIjpuPW4uTjtwNShXKTtIeShuLHJaLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oVyxlQyx4VWopO0h5KG4uTixELkosRC5OKTticmVhaztkZWZhdWx0OkQ9WHQoVyksSHkobi5OLEQuSixELk4pfX19OwpnLnJRPWZ1bmN0aW9uKG4sVyxEKXtXPUVfKFcpO1chPW51bGwmJlchPW51bGwmJihtNChuLEQsMCksU0Mobi5OLFcpKX07CnNmPWZ1bmN0aW9uKG4sVyxEKXtXPVc9PW51bGx8fHR5cGVvZiBXPT09ImJvb2xlYW4iP1c6dHlwZW9mIFc9PT0ibnVtYmVyIj8hIVc6dm9pZCAwO1chPW51bGwmJihtNChuLEQsMCksbi5OLk4ucHVzaChXPzE6MCkpfTsKTlk9ZnVuY3Rpb24obixXLEQpe1c9Zy5EUihXKTtXIT1udWxsJiZpRyhuLEQsa0soVykpfTsKcDg9ZnVuY3Rpb24obixXLEQsYix2KXtXPWpDKFcsYik7VyE9bnVsbCYmKEQ9S2gobixEKSx2KFcsbiksT3MobixEKSl9OwpKOT1mdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxvWShuLk4pKTtyZXR1cm4hMH07CklfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKEQsYik9PnthOntsZXQgaz17aEI6ITB9O2ImJk9iamVjdC5hc3NpZ24oayxiKTtEPUNuKEQsdm9pZCAwLHZvaWQgMCxrKTt0cnl7bGV0IGg9bmV3IG4seD1oLmw5O244KFcpKHgsRCk7dmFyIHY9aDticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBoO31maW5hbGx5e0QuZnJlZSgpfXY9dm9pZCAwfXJldHVybiB2fX07CmcuQTk9ZnVuY3Rpb24obil7cmV0dXJuIFc9PlM2KFcsbil9OwpnLm1EPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBTNih0aGlzLG4pfX07Cks4PWZ1bmN0aW9uKG4pe3JldHVybiBXPT5kRyhuLFcpfTsKdGpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFFnKG4sVyxVXyl9Owp1Nj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZy5PZjtXPWcuU0UoVywxLG4uSik7dmFyIEQ9JFVNKG4pO1c9UWcoVyxELEZTMik7RD1bXTt2YXIgYj1bXTtmb3IodmFyIHYgb2Ygbi5OLmtleXMoKSliLnB1c2godi5zcGxpdCgiLCIpKTtmb3Iodj0wO3Y8Yi5sZW5ndGg7disrKXtsZXQgcj1iW3ZdO3ZhciBrPW4uVyxoPVBPKG4sLi4ucil8fFtdO2xldCBOPVtdO2Zvcih2YXIgeD0wO3g8aC5sZW5ndGg7eCsrKXt2YXIgTD1oW3hdLGU9TCYmTC5OO0w9bmV3IFo4O3N3aXRjaChrKXtjYXNlIDM6ZT1OdW1iZXIoZSk7TnVtYmVyLmlzRmluaXRlKGUpJiZEMihMLDEsVWYsZy5sNChlKSk7YnJlYWs7Y2FzZSAyOkQyKEwsMixVZixnLkFfKE51bWJlcihlKSkpfU4ucHVzaChMKX1mb3Ioaz0wO2s8Ti5sZW5ndGg7aysrKXt4PU5ba107aD1uZXcgeWU7aD0kOShoLFo4LDIseCk7eD1bXTtMPXJGdChuKTtmb3IoZT0wO2U8TC5sZW5ndGg7ZSsrKXt2YXIgRz1MW2VdO2xldCBIPXJbZV0sQT1uZXcgRWY7CnN3aXRjaChHKXtjYXNlIDM6RDIoQSwxLGk2LFdIKFN0cmluZyhIKSkpO2JyZWFrO2Nhc2UgMjpHPU51bWJlcihIKTtOdW1iZXIuaXNGaW5pdGUoRykmJkQyKEEsMixpNixnLnlQKEcpKTticmVhaztjYXNlIDE6RDIoQSwzLGk2LE9fKEg9PT0idHJ1ZSIpKX14LnB1c2goQSl9c1YoaCxFZiwxLHgpO0QucHVzaChoKX19c1YoVyx5ZSw0LEQpO3JldHVybiBXfTsKb189ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChuKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7bi5pbmRleE9mKCJibG9iOiIpPT09MCYmKG49bi5zdWJzdHJpbmcoNSkpO249bi5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07bj1uLnRvTG93ZXJDYXNlKCk7bi5pbmRleE9mKCIvLyIpPT0wJiYobj13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrbik7L15bXHdcLV0qOlwvXC8vLnRlc3Qobil8fChuPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgVz1uLnN1YnN0cmluZyhuLmluZGV4T2YoIjovLyIpKzMpLEQ9Vy5pbmRleE9mKCIvIik7RCE9LTEmJihXPVcuc3Vic3RyaW5nKDAsRCkpO0Q9bi5zdWJzdHJpbmcoMCxuLmluZGV4T2YoIjovLyIpKTtpZighRCl0aHJvdyBFcnJvcigiVVJJIGlzIG1pc3NpbmcgcHJvdG9jb2w6ICIrbik7aWYoRCE9PSJodHRwIiYmRCE9PSJodHRwcyImJkQhPT0iY2hyb21lLWV4dGVuc2lvbiImJgpEIT09Im1vei1leHRlbnNpb24iJiZEIT09ImZpbGUiJiZEIT09ImFuZHJvaWQtYXBwIiYmRCE9PSJjaHJvbWUtc2VhcmNoIiYmRCE9PSJjaHJvbWUtdW50cnVzdGVkIiYmRCE9PSJjaHJvbWUiJiZEIT09ImFwcCImJkQhPT0iZGV2dG9vbHMiKXRocm93IEVycm9yKCJJbnZhbGlkIFVSSSBzY2hlbWUgaW4gb3JpZ2luOiAiK0QpO249IiI7dmFyIGI9Vy5pbmRleE9mKCI6Iik7aWYoYiE9LTEpe3ZhciB2PVcuc3Vic3RyaW5nKGIrMSk7Vz1XLnN1YnN0cmluZygwLGIpO2lmKEQ9PT0iaHR0cCImJnYhPT0iODAifHxEPT09Imh0dHBzIiYmdiE9PSI0NDMiKW49IjoiK3Z9cmV0dXJuIEQrIjovLyIrVytufTsKc00yPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZbMF09MTczMjU4NDE5Mzt2WzFdPTQwMjMyMzM0MTc7dlsyXT0yNTYyMzgzMTAyO3ZbM109MjcxNzMzODc4O3ZbNF09MzI4NTM3NzUyMDtHPWU9MH0KZnVuY3Rpb24gVyhyKXtmb3IodmFyIE49aCxIPTA7SDw2NDtIKz00KU5bSC80XT1yW0hdPDwyNHxyW0grMV08PDE2fHJbSCsyXTw8OHxyW0grM107Zm9yKEg9MTY7SDw4MDtIKyspcj1OW0gtM11eTltILThdXk5bSC0xNF1eTltILTE2XSxOW0hdPShyPDwxfHI+Pj4zMSkmNDI5NDk2NzI5NTtyPXZbMF07dmFyIEE9dlsxXSx5PXZbMl0sVD12WzNdLHo9dls0XTtmb3IoSD0wO0g8ODA7SCsrKXtpZihIPDQwKWlmKEg8MjApe3ZhciBDPVReQSYoeV5UKTt2YXIgUT0xNTE4NTAwMjQ5fWVsc2UgQz1BXnleVCxRPTE4NTk3NzUzOTM7ZWxzZSBIPDYwPyhDPUEmeXxUJihBfHkpLFE9MjQwMDk1OTcwOCk6KEM9QV55XlQsUT0zMzk1NDY5NzgyKTtDPSgocjw8NXxyPj4+MjcpJjQyOTQ5NjcyOTUpK0MreitRK05bSF0mNDI5NDk2NzI5NTt6PVQ7VD15O3k9KEE8PDMwfEE+Pj4yKSY0Mjk0OTY3Mjk1O0E9cjtyPUN9dlswXT12WzBdK3ImNDI5NDk2NzI5NTt2WzFdPXZbMV0rQSY0Mjk0OTY3Mjk1O3ZbMl09CnZbMl0reSY0Mjk0OTY3Mjk1O3ZbM109dlszXStUJjQyOTQ5NjcyOTU7dls0XT12WzRdK3omNDI5NDk2NzI5NX0KZnVuY3Rpb24gRChyLE4pe2lmKHR5cGVvZiByPT09InN0cmluZyIpe3I9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHIpKTtmb3IodmFyIEg9W10sQT0wLHk9ci5sZW5ndGg7QTx5OysrQSlILnB1c2goci5jaGFyQ29kZUF0KEEpKTtyPUh9Tnx8KE49ci5sZW5ndGgpO0g9MDtpZihlPT0wKWZvcig7SCs2NDxOOylXKHIuc2xpY2UoSCxIKzY0KSksSCs9NjQsRys9NjQ7Zm9yKDtIPE47KWlmKGtbZSsrXT1yW0grK10sRysrLGU9PTY0KWZvcihlPTAsVyhrKTtIKzY0PE47KVcoci5zbGljZShILEgrNjQpKSxIKz02NCxHKz02NH0KZnVuY3Rpb24gYigpe3ZhciByPVtdLE49Ryo4O2U8NTY/RCh4LDU2LWUpOkQoeCw2NC0oZS01NikpO2Zvcih2YXIgSD02MztIPj01NjtILS0pa1tIXT1OJjI1NSxOPj4+PTg7VyhrKTtmb3IoSD1OPTA7SDw1O0grKylmb3IodmFyIEE9MjQ7QT49MDtBLT04KXJbTisrXT12W0hdPj5BJjI1NTtyZXR1cm4gcn0KZm9yKHZhciB2PVtdLGs9W10saD1bXSx4PVsxMjhdLEw9MTtMPDY0OysrTCl4W0xdPTA7dmFyIGUsRztuKCk7cmV0dXJue3Jlc2V0Om4sdXBkYXRlOkQsZGlnZXN0OmIsSFU6ZnVuY3Rpb24oKXtmb3IodmFyIHI9YigpLE49IiIsSD0wO0g8ci5sZW5ndGg7SCsrKU4rPSIwMTIzNDU2Nzg5QUJDREVGIi5jaGFyQXQoTWF0aC5mbG9vcihyW0hdLzE2KSkrIjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChyW0hdJTE2KTtyZXR1cm4gTn19fTsKZFE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVN0cmluZyhnLnFpLmxvY2F0aW9uLmhyZWYpO3JldHVybiBiJiZuJiZXP1tXLE56cihvXyhiKSxuLER8fG51bGwpXS5qb2luKCIgIik6bnVsbH07Ck56cj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1bXTtpZigoQXJyYXkuaXNBcnJheShEKT8yOjEpPT0xKXJldHVybiB2PVtXLG5dLGcueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KSx6dih2LmpvaW4oIiAiKSk7CnZhciBrPVtdLGg9W107Zy55MihELGZ1bmN0aW9uKHgpe2gucHVzaCh4LmtleSk7ay5wdXNoKHgudmFsdWUpfSk7CkQ9TWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWUoKS8xRTMpO3Y9ay5sZW5ndGg9PTA/W0QsVyxuXTpbay5qb2luKCI6IiksRCxXLG5dO2cueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KTsKbj16dih2LmpvaW4oIiAiKSk7bj1bRCxuXTtoLmxlbmd0aD09MHx8bi5wdXNoKGguam9pbigiIikpO3JldHVybiBuLmpvaW4oIl8iKX07Cnp2PWZ1bmN0aW9uKG4pe3ZhciBXPXNNMigpO1cudXBkYXRlKG4pO3JldHVybiBXLkhVKCkudG9Mb3dlckNhc2UoKX07Cmw2PWZ1bmN0aW9uKG4pe3RoaXMuTj1ufHx7Y29va2llOiIifX07ClR2PWZ1bmN0aW9uKG4pe249KG4uTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO3ZhciBXPVtdLEQ9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspe3ZhciBiPW5ba10udHJpbSgpO3ZhciB2PWIuaW5kZXhPZigiPSIpO3Y9PS0xPyhXLnB1c2goIiIpLEQucHVzaChiKSk6KFcucHVzaChiLnN1YnN0cmluZygwLHYpKSxELnB1c2goYi5zdWJzdHJpbmcodisxKSkpfXJldHVybntrZXlzOlcsdmFsdWVzOkR9fTsKajY9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLl9fU0FQSVNJRHx8Zy5xaS5fX0FQSVNJRHx8Zy5xaS5fXzNQU0FQSVNJRHx8Zy5xaS5fXzFQU0FQSVNJRHx8Zy5xaS5fX09WRVJSSURFX1NJRDtpZihuKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYobj1uZXcgbDYoZG9jdW1lbnQpLG49bi5nZXQoIlNBUElTSUQiKXx8bi5nZXQoIkFQSVNJRCIpfHxuLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8bi5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhbn07CkM4PWZ1bmN0aW9uKG4sVyxELGIpeyhuPWcucWlbbl0pfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KG49KG5ldyBsNihkb2N1bWVudCkpLmdldChXKSk7cmV0dXJuIG4/ZFEobixELGIpOm51bGx9OwpCTz1mdW5jdGlvbihuKXt2YXIgVz1vXyhnLnFpPy5sb2NhdGlvbi5ocmVmKSxEPVtdO2lmKGo2KCkpe1c9Vy5pbmRleE9mKCJodHRwczoiKT09MHx8Vy5pbmRleE9mKCJjaHJvbWUtZXh0ZW5zaW9uOiIpPT0wfHxXLmluZGV4T2YoImNocm9tZS11bnRydXN0ZWQ6Ly9uZXctdGFiLXBhZ2UiKT09MHx8Vy5pbmRleE9mKCJtb3otZXh0ZW5zaW9uOiIpPT0wO3ZhciBiLHY9KGI9Vyk/Zy5xaS5fX1NBUElTSUQ6Zy5xaS5fX0FQSVNJRDt2fHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KHY9bmV3IGw2KGRvY3VtZW50KSx2PXYuZ2V0KGI/IlNBUElTSUQiOiJBUElTSUQiKXx8di5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhiPXY/ZFEodixiPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLG4pOm51bGwpJiZELnB1c2goYik7VyYmKChXPUM4KCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsbikpJiZELnB1c2goVyksKG49QzgoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsbikpJiZELnB1c2gobikpfXJldHVybiBELmxlbmd0aD09MD9udWxsOkQuam9pbigiICIpfTsKZy5GZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KG4sVyksRCl9Owp3UT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4rRCooVy1uKX07CmcuTVk9ZnVuY3Rpb24obixXKXt0aGlzLng9biE9PXZvaWQgMD9uOjA7dGhpcy55PVchPT12b2lkIDA/VzowfTsKUl89ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ueD09Vy54JiZuLnk9PVcueTohMX07CmcuUWU9ZnVuY3Rpb24obixXKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9V307CmcuVmU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ud2lkdGg9PVcud2lkdGgmJm4uaGVpZ2h0PT1XLmhlaWdodDohMX07CmNPPWZ1bmN0aW9uKG4pe3JldHVybiBuLndpZHRoKm4uaGVpZ2h0fTsKZy5hXz1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4pVy5jYWxsKEQsbltiXSxiLG4pfTsKZy5uVD1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBpbiBuKVcuY2FsbCh2b2lkIDAsbltiXSxiLG4pJiYoRFtiXT1uW2JdKTtyZXR1cm4gRH07Cld4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCBiIGluIG4pRFtiXT1XLmNhbGwodm9pZCAwLG5bYl0sYixuKTtyZXR1cm4gRH07CmcuRGw9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBuKWlmKFcuY2FsbChELG5bYl0sYixuKSlyZXR1cm4hMDtyZXR1cm4hMX07CmcuYms9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZighVy5jYWxsKHZvaWQgMCxuW0RdLEQsbikpcmV0dXJuITE7cmV0dXJuITB9Owp2eD1mdW5jdGlvbihuKXtmb3IobGV0IFcgaW4gbilyZXR1cm4gV307Cmt5PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKXJldHVybiBuW1ddfTsKaEs9ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO2ZvcihsZXQgYiBpbiBuKVdbRCsrXT1uW2JdO3JldHVybiBXfTsKZy5MVD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiIGluIG4pV1tEKytdPWI7cmV0dXJuIFd9OwpnLmVwPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG59OwpnLmdtPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4paWYobltEXT09VylyZXR1cm4hMDtyZXR1cm4hMX07CmcuWEw9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZihXLmNhbGwodm9pZCAwLG5bRF0sRCxuKSlyZXR1cm4gRH07CnFjPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFc9Zy5YTChuLFcpKSYmbltXXX07CmcuR0Y9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4pcmV0dXJuITE7cmV0dXJuITB9OwpnLnRLPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKWRlbGV0ZSBuW1ddfTsKZy4keT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG4/bltXXTpEfTsKZy5ybT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBuKWlmKCEoRCBpbiBXKXx8bltEXSE9PVdbRF0pcmV0dXJuITE7Zm9yKGxldCBEIGluIFcpaWYoIShEIGluIG4pKXJldHVybiExO3JldHVybiEwfTsKZy5zMD1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQgaW4gbilXW0RdPW5bRF07cmV0dXJuIFd9OwpnLk5jPWZ1bmN0aW9uKG4pe2lmKCFufHx0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKHR5cGVvZiBuLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gbi5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChuKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQobik7aWYobiBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKG4uZ2V0VGltZSgpKTt2YXIgVz1BcnJheS5pc0FycmF5KG4pP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KG4pfHxuIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IG4uY29uc3RydWN0b3Iobi5sZW5ndGgpO2ZvcihsZXQgRCBpbiBuKVdbRF09Zy5OYyhuW0RdKTtyZXR1cm4gV307CmcuWXk9ZnVuY3Rpb24obixXKXtmb3IobGV0IHY9MTt2PGFyZ3VtZW50cy5sZW5ndGg7disrKXt2YXIgRD1hcmd1bWVudHNbdl07Zm9yKGIgaW4gRCluW2JdPURbYl07Zm9yKGxldCBrPTA7azxwVC5sZW5ndGg7aysrKXt2YXIgYj1wVFtrXTtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxiKSYmKG5bYl09RFtiXSl9fX07ClhaeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFo0KG5bMF0udG9Mb3dlckNhc2UoKSl9OwpnLkh4PWZ1bmN0aW9uKG4sLi4uVyl7aWYoVy5sZW5ndGg9PT0wKXJldHVybiBrMyhuWzBdKTt2YXIgRD1uWzBdO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKUQrPWVuY29kZVVSSUNvbXBvbmVudChXW2JdKStuW2IrMV07cmV0dXJuIGszKEQpfTsKZy5TcD1mdW5jdGlvbihuKXtyZXR1cm4gbj9uZXcgZlQoZy5KSyhuKSk6SWh8fChJaD1uZXcgZlQpfTsKQUs9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIFc9PT0ic3RyaW5nIj9uLmdldEVsZW1lbnRCeUlkKFcpOld9OwpnLktUPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8ZG9jdW1lbnQ7RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lP249RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pWzBdOihEPWRvY3VtZW50LG49bj8oV3x8RCkucXVlcnlTZWxlY3RvcihuPyIuIituOiIiKTpnLm1CKEQsIioiLG4sVylbMF18fG51bGwpO3JldHVybiBufHxudWxsfTsKZy5tQj1mdW5jdGlvbihuLFcsRCxiKXtuPWJ8fG47cmV0dXJuKFc9VyYmVyE9IioiP1N0cmluZyhXKS50b1VwcGVyQ2FzZSgpOiIiKXx8RD9uLnF1ZXJ5U2VsZWN0b3JBbGwoVysoRD8iLiIrRDoiIikpOm4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKX07CmcuUHg9ZnVuY3Rpb24obixXKXtnLmFfKFcsZnVuY3Rpb24oRCxiKXtiPT0ic3R5bGUiP24uc3R5bGUuY3NzVGV4dD1EOmI9PSJjbGFzcyI/bi5jbGFzc05hbWU9RDpiPT0iZm9yIj9uLmh0bWxGb3I9RDpPMC5oYXNPd25Qcm9wZXJ0eShiKT9uLnNldEF0dHJpYnV0ZShPMFtiXSxEKTpnLmpVKGIsImFyaWEtIil8fGcualUoYiwiZGF0YS0iKT9uLnNldEF0dHJpYnV0ZShiLEQpOm5bYl09RH0pfTsKZy5FMD1mdW5jdGlvbihuKXt2YXIgVz1uLnNjcm9sbGluZ0VsZW1lbnQ/bi5zY3JvbGxpbmdFbGVtZW50OmcuWmx8fG4uY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP24uYm9keXx8bi5kb2N1bWVudEVsZW1lbnQ6bi5kb2N1bWVudEVsZW1lbnQ7bj1uLmRlZmF1bHRWaWV3O3JldHVybiBuZXcgZy5NWShuPy5wYWdlWE9mZnNldHx8Vy5zY3JvbGxMZWZ0LG4/LnBhZ2VZT2Zmc2V0fHxXLnNjcm9sbFRvcCl9OwpnLmlrPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGVmYXVsdFZpZXc6d2luZG93fTsKZy5kbT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9YXJndW1lbnRzLHY9ZG9jdW1lbnQsaz1iWzFdLGg9dWsodixTdHJpbmcoYlswXSkpO2smJih0eXBlb2Ygaz09PSJzdHJpbmciP2guY2xhc3NOYW1lPWs6QXJyYXkuaXNBcnJheShrKT9oLmNsYXNzTmFtZT1rLmpvaW4oIiAiKTpnLlB4KGgsaykpO2IubGVuZ3RoPjImJm9oKHYsaCxiLDIpO3JldHVybiBofTsKb2g9ZnVuY3Rpb24obixXLEQsYil7ZnVuY3Rpb24gdihrKXtrJiZXLmFwcGVuZENoaWxkKHR5cGVvZiBrPT09InN0cmluZyI/bi5jcmVhdGVUZXh0Tm9kZShrKTprKX0KZm9yKDtiPEQubGVuZ3RoO2IrKyl7bGV0IGs9RFtiXTshZy5ZMihrKXx8Zy5mdChrKSYmay5ub2RlVHlwZT4wP3Yoayk6Zy55MihrJiZ0eXBlb2Ygay5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2Ygay5pdGVtPT0iZnVuY3Rpb24iP2cuUk0oayk6ayx2KX19OwpnLnpGPWZ1bmN0aW9uKG4pe3JldHVybiB1ayhkb2N1bWVudCxuKX07CnVrPWZ1bmN0aW9uKG4sVyl7Vz1TdHJpbmcoVyk7bi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoVz1XLnRvTG93ZXJDYXNlKCkpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoVyl9OwpnLmxrPWZ1bmN0aW9uKG4pe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcobikpfTsKZy5URj1mdW5jdGlvbihuKXtmb3IodmFyIFc7Vz1uLmZpcnN0Q2hpbGQ7KW4ucmVtb3ZlQ2hpbGQoVyl9OwpnLmpwPWZ1bmN0aW9uKG4sVyxEKXtuLmluc2VydEJlZm9yZShXLG4uY2hpbGROb2Rlc1tEXXx8bnVsbCl9OwpnLkNUPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLnBhcmVudE5vZGU/bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pOm51bGx9OwpnLkJ4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4mJlc/bj09V3x8bi5jb250YWlucyhXKTohMX07CmcuSks9ZnVuY3Rpb24obil7cmV0dXJuIG4ubm9kZVR5cGU9PTk/bjpuLm93bmVyRG9jdW1lbnR8fG4uZG9jdW1lbnR9OwpnLkZMPWZ1bmN0aW9uKG4sVyl7aWYoInRleHRDb250ZW50ImluIG4pbi50ZXh0Q29udGVudD1XO2Vsc2UgaWYobi5ub2RlVHlwZT09MyluLmRhdGE9U3RyaW5nKFcpO2Vsc2UgaWYobi5maXJzdENoaWxkJiZuLmZpcnN0Q2hpbGQubm9kZVR5cGU9PTMpe2Zvcig7bi5sYXN0Q2hpbGQhPW4uZmlyc3RDaGlsZDspbi5yZW1vdmVDaGlsZChuLmxhc3RDaGlsZCk7bi5maXJzdENoaWxkLmRhdGE9U3RyaW5nKFcpfWVsc2UgZy5URihuKSxuLmFwcGVuZENoaWxkKGcuSksobikuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKFcpKSl9OwpNYz1mdW5jdGlvbihuKXtyZXR1cm4gbi50YWdOYW1lPT0iQSImJm4uaGFzQXR0cmlidXRlKCJocmVmIil8fG4udGFnTmFtZT09IklOUFVUInx8bi50YWdOYW1lPT0iVEVYVEFSRUEifHxuLnRhZ05hbWU9PSJTRUxFQ1QifHxuLnRhZ05hbWU9PSJCVVRUT04iPyFuLmRpc2FibGVkJiYoIW4uaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHx3bShuKSk6bi5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJndtKG4pfTsKd209ZnVuY3Rpb24obil7bj1uLnRhYkluZGV4O3JldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiJiZuPj0wJiZuPDMyNzY4fTsKZy5SaD1mdW5jdGlvbihuLFcsRCl7biYmIUQmJihuPW4ucGFyZW50Tm9kZSk7Zm9yKEQ9MDtuOyl7aWYoVyhuKSlyZXR1cm4gbjtuPW4ucGFyZW50Tm9kZTtEKyt9cmV0dXJuIG51bGx9OwpmVD1mdW5jdGlvbihuKXt0aGlzLk49bnx8Zy5xaS5kb2N1bWVudHx8ZG9jdW1lbnR9OwpwTXg9ZnVuY3Rpb24obil7c1YoUVEsVlEsMSxuKX07CllNeD1mdW5jdGlvbihuLFc9Y3gpe2lmKCFhaCl7bj1uLm5hdmlnYXRvcj8udXNlckFnZW50RGF0YTtpZighbnx8dHlwZW9mIG4uZ2V0SGlnaEVudHJvcHlWYWx1ZXMhPT0iZnVuY3Rpb24ifHxuLmJyYW5kcyYmdHlwZW9mIG4uYnJhbmRzLm1hcCE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJVQUNIIHVuYXZhaWxhYmxlIikpO3BNeCgobi5icmFuZHN8fFtdKS5tYXAoYj0+e3ZhciB2PW5ldyBWUTt2PWcuU0UodiwxLGIuYnJhbmQpO3JldHVybiBnLlNFKHYsMixiLnZlcnNpb24pfSkpOwp0eXBlb2Ygbi5tb2JpbGU9PT0iYm9vbGVhbiImJm96KFFRLDIsT18obi5tb2JpbGUpKTthaD1uLmdldEhpZ2hFbnRyb3B5VmFsdWVzKFcpfXZhciBEPW5ldyBTZXQoVyk7cmV0dXJuIGFoLnRoZW4oYj0+e3ZhciB2PVFRLmNsb25lKCk7RC5oYXMoInBsYXRmb3JtIikmJmcuU0UodiwzLGIucGxhdGZvcm0pO0QuaGFzKCJwbGF0Zm9ybVZlcnNpb24iKSYmZy5TRSh2LDQsYi5wbGF0Zm9ybVZlcnNpb24pO0QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmZy5TRSh2LDUsYi5hcmNoaXRlY3R1cmUpO0QuaGFzKCJtb2RlbCIpJiZnLlNFKHYsNixiLm1vZGVsKTtELmhhcygidWFGdWxsVmVyc2lvbiIpJiZnLlNFKHYsNyxiLnVhRnVsbFZlcnNpb24pO3JldHVybiB2LmJZKCl9KS5jYXRjaCgoKT0+UVEuYlkoKSl9OwpuSz1mdW5jdGlvbihuKXtyZXR1cm4gS24obiwxLDEpfTsKdkw9ZnVuY3Rpb24obixXKXskOShuLk4sV0wsMSxXKTtIVyhXLDEpfHxuSyhXKTtuLmdSfHwoVz1ERChuKSxZOShXLDUpfHxnLlNFKFcsNSxuLmxvY2FsZSkpO24udWFjaCYmKFc9REQobiksZ2UoVyxiSSw5KXx8JDkoVyxiSSw5LG4udWFjaCkpfTsKREQ9ZnVuY3Rpb24obil7dmFyIFc9Z2Uobi5OLFdMLDEpO1d8fChXPW5ldyBXTCx2TChuLFcpKTtuPVc7Vz1nZShuLGtFLDExKTtXfHwoVz1uZXcga0UsJDkobixrRSwxMSxXKSk7cmV0dXJuIFd9OwpIYlM9ZnVuY3Rpb24obixXKXtuLko9V307CkpGWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdSP3ZvaWQgMDpnLmlrKCk7Vz9ZTXgoVyxjeCkudGhlbihEPT57bi51YWNoPWY0MihEPz8iW10iKTtEPUREKG4pOyQ5KEQsYkksOSxuLnVhY2gpO3JldHVybiEwfSkuY2F0Y2goKCk9PiExKTpQcm9taXNlLnJlc29sdmUoITEpfTsKZy5oSD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLlg9bjt0aGlzLmo9Vzt0aGlzLk49dGhpcy5XPW47dGhpcy5WPUR8fDA7dGhpcy5LPWJ8fDJ9OwpnLnhFPWZ1bmN0aW9uKG4pe24uTj1NYXRoLm1pbihuLmosbi5OKm4uSyk7bi5XPU1hdGgubWluKG4uaixuLk4rKG4uVj9NYXRoLnJvdW5kKG4uViooTWF0aC5yYW5kb20oKS0uNSkqMipuLk4pOjApKTtuLkorK307CkxLPWZ1bmN0aW9uKCl7cmV0dXJuImh0dHBzOi8vcGxheS5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWUifTsKSTRTPWZ1bmN0aW9uKG4sVyl7aWYoIW4uUyQpcmV0dXJuKCk9Pnt9Owp2YXIgRD0oKT0+e24uZmx1c2goKX07CnJldHVybiBXPygpPT57VygpLnRoZW4oRCl9OkR9OwplZz1mdW5jdGlvbihuKXtuLlcuaXNGaW5hbD0hMDtuLmZsdXNoKCk7bi5XLmlzRmluYWw9ITF9OwpnRD1mdW5jdGlvbihuKXtuLll8fChuLlk9TEsoKSk7dHJ5e3JldHVybihuZXcgVVJMKG4uWSkpLnRvU3RyaW5nKCl9Y2F0Y2goVyl7cmV0dXJuKG5ldyBVUkwobi5ZLGcuaWsoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07CkFGWj1mdW5jdGlvbihuKXtTTVMobiwoVyxEKT0+e1c9bmV3IFVSTChXKTtXLnNlYXJjaFBhcmFtcy5zZXQoImZvcm1hdCIsImpzb24iKTt2YXIgYj0hMTt0cnl7Yj1nLmlrKCkubmF2aWdhdG9yLnNlbmRCZWFjb24oVy50b1N0cmluZygpLEQuYlkoKSl9Y2F0Y2h7fWJ8fChuLkQ9ITEpO3JldHVybiBifSl9OwptVXc9ZnVuY3Rpb24obixXLEQ9bnVsbCxiPW4ud2l0aENyZWRlbnRpYWxzKXt2YXIgdj17fSxrPW5ldyBVUkwoZ0QobikpO0QmJih2LkF1dGhvcml6YXRpb249RCk7bi5zZXNzaW9uSW5kZXgmJih2WyJYLUdvb2ctQXV0aFVzZXIiXT1uLnNlc3Npb25JbmRleCxrLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixuLnNlc3Npb25JbmRleCkpO24ucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHYsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTpuLnBhZ2VJZH0pLGsuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixuLnBhZ2VJZCkpO3JldHVybnt1cmw6ay50b1N0cmluZygpLGJvZHk6VyxvJDoxLFpKOnYscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpiLHRpbWVvdXRNaWxsaXM6bi50aW1lb3V0TWlsbGlzfX07ClNNUz1mdW5jdGlvbihuLFcpe2lmKG4uTi5sZW5ndGghPT0wKXt2YXIgRD1uZXcgVVJMKGdEKG4pKTtELnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBiPW4ubjEoKTtiJiZELnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGIpO0Quc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLG4uc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihiPTA7YjwxMCYmbi5OLmxlbmd0aDsrK2Ipe2xldCB2PW4uTi5zbGljZSgwLDMyKSxrPW4uVy5idWlsZCh2LG4uWCxuLlYsbi5QZyxuLmNKLG4uTyk7aWYoIVcoRC50b1N0cmluZygpLGspKXsrK24uVjticmVha31uLlg9MDtuLlY9MDtuLmNKPTA7bi5PPTA7bi5OPW4uTi5zbGljZSh2Lmxlbmd0aCl9bi5KLmVuYWJsZWQmJm4uSi5zdG9wKCl9fTsKS2NoPWZ1bmN0aW9uKG4sVyl7bi5idWlsZExhYmVsPVc7cmV0dXJuIG59OwpQX2k9ZnVuY3Rpb24obil7bi5uZXR3b3JrPW5ldyBPYjE7cmV0dXJuIG59OwpaYmg9ZnVuY3Rpb24obixXKXtuLk49V307ClVVYj1mdW5jdGlvbihuKXtuLko9ITA7cmV0dXJuIG59OwpyRnQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkVHlwZSl9OwpQTz1mdW5jdGlvbihuLC4uLlcpe1c9WFQoLi4uVyk7cmV0dXJuIG4uTi5oYXMoVyk/bi5OLmdldChXKTp2b2lkIDB9OwokVU09ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkTmFtZSl9OwpHNz1mdW5jdGlvbihuLFcsLi4uRCl7RD1YVCguLi5EKTtuLk4uc2V0KEQsW25ldyBxNShXKV0pfTsKeUZaPWZ1bmN0aW9uKG4sVywuLi5EKXt2YXIgYj1QTyhuLC4uLkQpO2I/Yi5wdXNoKG5ldyBxNShXKSk6RzcobixXLC4uLkQpfTsKZVg9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9V15uO2lmKChuPj4xJjE2KTw1JiYobi0zJjExKT49OSYmRFtJWzE3XV0pdmFyIGs9UjAoOCw3NTQxLEQpO2lmKG4tMj4+ND09NCl7az12XjQ4NTA7Zm9yKHZhciBoPVtdOysray1oW0lbNV1dLSh2XjQ3NTQpOylzd2l0Y2goayl7Y2FzZSB2XjQ3NDQ6az12XjQ4MTg7Y29udGludWU7Y2FzZSB2XjQ4NDE6az12XjQ3NjY7YnJlYWs7Y2FzZSB2XjQ4NTE6az12XjQ3NjU7Y29udGludWU7Y2FzZSB2XjQ3NjQ6az12XjQ2NTE7Y2FzZSB2XjQ4MDk6ay09dl40NzQ0O2RlZmF1bHQ6aFtJW3ZeNDc3Ml1dKFN0cmluZ1tJW3ZeNDczNl1dKGspKX12YXIgeD1ofShuXjcwKT4+Mz09MiYmKGs9RFtJW3ZeNjYzM11dKElbdl42NjE2XSksdEhbSVt2XjY2NDddXShrLHZeNjYyMSksdEhbSVt2XjY2NDddXShrLDIpLHRIW0lbdl42NjEzXV0oayx2XjY2MzEpLHg9a1tJW3ZeNjU5Ml1dKElbdl42NjE2XSkpO248PDImMjd8fChlWCh2XjEzMzYsdl42NDI3LEQpLAprPU0zKHZeMTM4Nix2XjU1OTYsRFtJW3ZeMTM0OF1dKElbdl4xMzI3XSl8fElbdl4xMzkyXSlbSVt2XjEzNDVdXShJW3ZeMTM1NF0pLHg9RFtJW3ZeMTQwMV1dPT09SVt2XjEzODZdJiZrW0lbNV1dPjEmJiEha1sxXSk7KG48PDEmMTUpPT00JiZiW0lbNV1dIT0wJiYoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgwLDEsYltJWzNdXShELDEsYlswXSlbMF0pKTtuLTM+PjM9PTImJih4PUQhPT1udWxsKTtyZXR1cm4geH07ClhUPWZ1bmN0aW9uKC4uLm4pe3JldHVybiBuP24uam9pbigiLCIpOiJrZXkifTsKRTN0PWZ1bmN0aW9uKG4sLi4uVyl7cmV0dXJuKG49UE8obiwuLi5XKSkmJm4ubGVuZ3RoP25bMF06dm9pZCAwfTsKaWJVPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9MCxiPUUzdChuLC4uLlcpO2ImJihEPWIuTik7RzcobixEKzEsLi4uVyl9OwokRT1mdW5jdGlvbihuLFcpe3RoaXMudHlwZT1uO3RoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1XO3RoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLko9ITF9OwpyRD1mdW5jdGlvbihuLFcpeyRFLmNhbGwodGhpcyxuP24udHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy5OPW51bGw7biYmdGhpcy5pbml0KG4sVyl9OwpONT1mdW5jdGlvbihuKXtyZXR1cm4hKCFufHwhbltzMl0pfTsKbzNiPWZ1bmN0aW9uKG4sVyxELGIsdil7dGhpcy5saXN0ZW5lcj1uO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1XO3RoaXMudHlwZT1EO3RoaXMuY2FwdHVyZT0hIWI7dGhpcy5oYW5kbGVyPXY7dGhpcy5rZXk9Kyt1SWg7dGhpcy51Nz10aGlzLnFfPSExfTsKSEw9ZnVuY3Rpb24obil7bi51Nz0hMDtuLmxpc3RlbmVyPW51bGw7bi5wcm94eT1udWxsO24uc3JjPW51bGw7bi5oYW5kbGVyPW51bGx9OwpmSz1mdW5jdGlvbihuKXt0aGlzLnNyYz1uO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuTj0wfTsKSkg9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnR5cGU7RCBpbiBuLmxpc3RlbmVycyYmZy5GSShuLmxpc3RlbmVyc1tEXSxXKSYmKEhMKFcpLG4ubGlzdGVuZXJzW0RdLmxlbmd0aD09MCYmKGRlbGV0ZSBuLmxpc3RlbmVyc1tEXSxuLk4tLSkpfTsKSVc9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoIWsudTcmJmsubGlzdGVuZXI9PVcmJmsuY2FwdHVyZT09ISFEJiZrLmhhbmRsZXI9PWIpcmV0dXJuIHZ9cmV0dXJuLTF9OwpBSD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGImJmIub25jZSlyZXR1cm4gU2cobixXLEQsYix2KTtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylBSChuLFdba10sRCxiLHYpO3JldHVybiBudWxsfUQ9bWgoRCk7cmV0dXJuIE41KG4pP24uU18oVyxELGcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLHYpOktLKG4sVyxELCExLGIsdil9OwpLSz1mdW5jdGlvbihuLFcsRCxiLHYsayl7aWYoIVcpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO3ZhciBoPWcuZnQodik/ISF2LmNhcHR1cmU6ISF2LHg9TzIobik7eHx8KG5bUExdPXg9bmV3IGZLKG4pKTtEPXguYWRkKFcsRCxiLGgsayk7aWYoRC5wcm94eSlyZXR1cm4gRDtiPWRVcigpO0QucHJveHk9YjtiLnNyYz1uO2IubGlzdGVuZXI9RDtpZihuLmFkZEV2ZW50TGlzdGVuZXIpdj09PXZvaWQgMCYmKHY9ITEpLG4uYWRkRXZlbnRMaXN0ZW5lcihXLnRvU3RyaW5nKCksYix2KTtlbHNlIGlmKG4uYXR0YWNoRXZlbnQpbi5hdHRhY2hFdmVudChaRChXLnRvU3RyaW5nKCkpLGIpO2Vsc2UgaWYobi5hZGRMaXN0ZW5lciYmbi5yZW1vdmVMaXN0ZW5lciluLmFkZExpc3RlbmVyKGIpO2Vsc2UgdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtVMisrO3JldHVybiBEfTsKZFVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihEKXtyZXR1cm4gVy5jYWxsKG4uc3JjLG4ubGlzdGVuZXIsRCl9CnZhciBXPXpCdDtyZXR1cm4gbn07ClNnPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSl7Zm9yKGxldCBrPTA7azxXLmxlbmd0aDtrKyspU2cobixXW2tdLEQsYix2KTtyZXR1cm4gbnVsbH1EPW1oKEQpO3JldHVybiBONShuKT9uLmVGKFcsRCxnLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2KTpLSyhuLFcsRCwhMCxiLHYpfTsKeTc9ZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgaz0wO2s8Vy5sZW5ndGg7aysrKXk3KG4sV1trXSxELGIsdik7ZWxzZSBiPWcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLEQ9bWgoRCksTjUobik/bi53SChXLEQsYix2KTpuJiYobj1PMihuKSkmJihXPW4uc2MoVyxELGIsdikpJiZFMihXKX07CkUyPWZ1bmN0aW9uKG4pe2lmKHR5cGVvZiBuIT09Im51bWJlciImJm4mJiFuLnU3KXt2YXIgVz1uLnNyYztpZihONShXKSlKSChXLmRfLG4pO2Vsc2V7dmFyIEQ9bi50eXBlLGI9bi5wcm94eTtXLnJlbW92ZUV2ZW50TGlzdGVuZXI/Vy5yZW1vdmVFdmVudExpc3RlbmVyKEQsYixuLmNhcHR1cmUpOlcuZGV0YWNoRXZlbnQ/Vy5kZXRhY2hFdmVudChaRChEKSxiKTpXLmFkZExpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyKGIpO1UyLS07KEQ9TzIoVykpPyhKSChELG4pLEQuTj09MCYmKEQuc3JjPW51bGwsV1tQTF09bnVsbCkpOkhMKG4pfX19OwpaRD1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbiBpST9pSVtuXTppSVtuXT0ib24iK259Owp6QnQ9ZnVuY3Rpb24obixXKXtpZihuLnU3KW49ITA7ZWxzZXtXPW5ldyByRChXLHRoaXMpO2xldCBEPW4ubGlzdGVuZXIsYj1uLmhhbmRsZXJ8fG4uc3JjO24ucV8mJkUyKG4pO249RC5jYWxsKGIsVyl9cmV0dXJuIG59OwpPMj1mdW5jdGlvbihuKXtuPW5bUExdO3JldHVybiBuIGluc3RhbmNlb2YgZks/bjpudWxsfTsKbWg9ZnVuY3Rpb24obil7aWYodHlwZW9mIG49PT0iZnVuY3Rpb24iKXJldHVybiBuO25bdUldfHwoblt1SV09ZnVuY3Rpb24oVyl7cmV0dXJuIG4uaGFuZGxlRXZlbnQoVyl9KTsKcmV0dXJuIG5bdUldfTsKZy5vVz1mdW5jdGlvbigpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLmRfPW5ldyBmSyh0aGlzKTt0aGlzLkhkPXRoaXM7dGhpcy5sWj1udWxsfTsKZEQ9ZnVuY3Rpb24obixXLEQsYil7Vz1uLmRfLmxpc3RlbmVyc1tTdHJpbmcoVyldO2lmKCFXKXJldHVybiEwO1c9Vy5jb25jYXQoKTt2YXIgdj0hMDtmb3IobGV0IGs9MDtrPFcubGVuZ3RoOysrayl7bGV0IGg9V1trXTtpZihoJiYhaC51NyYmaC5jYXB0dXJlPT1EKXtsZXQgeD1oLmxpc3RlbmVyLEw9aC5oYW5kbGVyfHxoLnNyYztoLnFfJiZKSChuLmRfLGgpO3Y9eC5jYWxsKEwsYikhPT0hMSYmdn19cmV0dXJuIHYmJiFiLmRlZmF1bHRQcmV2ZW50ZWR9OwpnLlQ3PWZ1bmN0aW9uKG4pe249KDAsZy56Nykobik7bEl8fChsST1sNGooKSk7bEkobil9OwpsNGo9ZnVuY3Rpb24oKXtpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWwhPT0idW5kZWZpbmVkIil7bGV0IG49bmV3IE1lc3NhZ2VDaGFubmVsLFc9e30sRD1XO24ucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKCl7aWYoVy5uZXh0IT09dm9pZCAwKXtXPVcubmV4dDtsZXQgYj1XLmtBO1cua0E9bnVsbDtiKCl9fTsKcmV0dXJuIGZ1bmN0aW9uKGIpe0QubmV4dD17a0E6Yn07RD1ELm5leHQ7bi5wb3J0Mi5wb3N0TWVzc2FnZSgwKX19cmV0dXJuIGZ1bmN0aW9uKG4pe2cucWkuc2V0VGltZW91dChuLDApfX07ClR6cj1mdW5jdGlvbigpe2Zvcih2YXIgbjtuPWpnLnJlbW92ZSgpOyl7dHJ5e24uTi5jYWxsKG4uc2NvcGUpfWNhdGNoKFcpe2g0KFcpfUNLLnB1dChuKX1CTD0hMX07CmcuRlQ9ZnVuY3Rpb24oKXt9OwpqTWg9ZnVuY3Rpb24obil7dmFyIFc9V3x8MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwLFcpKX19OwpnLndEPWZ1bmN0aW9uKG4pe3ZhciBXPSExLEQ7cmV0dXJuIGZ1bmN0aW9uKCl7V3x8KEQ9bigpLFc9ITApO3JldHVybiBEfX07CmcuWDE9ZnVuY3Rpb24obixXKXt0aGlzLk49MDt0aGlzLks9dm9pZCAwO3RoaXMuWD10aGlzLko9dGhpcy5XPW51bGw7dGhpcy5qPXRoaXMuVj0hMTtpZihuIT1nLkZUKXRyeXtsZXQgRD10aGlzO24uY2FsbChXLGZ1bmN0aW9uKGIpe2dwKEQsMixiKX0sZnVuY3Rpb24oYil7Z3AoRCwzLGIpfSl9Y2F0Y2goRCl7Z3AodGhpcywzLEQpfX07CnE4PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuY29udGV4dD10aGlzLko9dGhpcy5XPXRoaXMuTj1udWxsO3RoaXMuWD0hMX07CmcudCQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUczLmdldCgpO2IuVz1uO2IuSj1XO2IuY29udGV4dD1EO3JldHVybiBifTsKJEc9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIG47dmFyIFc9bmV3IGcuWDEoZy5GVCk7Z3AoVywyLG4pO3JldHVybiBXfTsKZy5ycD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IGcuWDEoZnVuY3Rpb24oVyxEKXtEKG4pfSl9OwpwcT1mdW5jdGlvbihuLFcsRCxiKXtnLk44KG4sZy50JChXfHxnLkZULER8fG51bGwsYikpfTsKWUc9ZnVuY3Rpb24obixXKXtpZihuLk49PTApaWYobi5XKXt2YXIgRD1uLlc7aWYoRC5KKXt2YXIgYj0wLHY9bnVsbCxrPW51bGw7Zm9yKGxldCBoPUQuSjtoJiYoaC5YfHwoYisrLGguTj09biYmKHY9aCksISh2JiZiPjEpKSk7aD1oLm5leHQpdnx8KGs9aCk7diYmKEQuTj09MCYmYj09MT9ZRyhELFcpOihrPyhiPWssYi5uZXh0PT1ELlgmJihELlg9YiksYi5uZXh0PWIubmV4dC5uZXh0KTpISihEKSxmcShELHYsMyxXKSkpfW4uVz1udWxsfWVsc2UgZ3AobiwzLFcpfTsKZy5OOD1mdW5jdGlvbihuLFcpe24uSnx8bi5OIT0yJiZuLk4hPTN8fEokKG4pO24uWD9uLlgubmV4dD1XOm4uSj1XO24uWD1XfTsKU089ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9Zy50JChudWxsLG51bGwsbnVsbCk7di5OPW5ldyBnLlgxKGZ1bmN0aW9uKGssaCl7di5XPVc/ZnVuY3Rpb24oeCl7dHJ5e2xldCBMPVcuY2FsbChiLHgpO2soTCl9Y2F0Y2goTCl7aChMKX19Oms7CnYuSj1EP2Z1bmN0aW9uKHgpe3RyeXtsZXQgTD1ELmNhbGwoYix4KTtMPT09dm9pZCAwJiZ4IGluc3RhbmNlb2YgZy5JNT9oKHgpOmsoTCl9Y2F0Y2goTCl7aChMKX19Omh9KTsKdi5OLlc9bjtnLk44KG4sdik7cmV0dXJuIHYuTn07CmdwPWZ1bmN0aW9uKG4sVyxEKXtuLk49PTAmJihuPT09RCYmKFc9MyxEPW5ldyBUeXBlRXJyb3IoIlByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpLG4uTj0xLGcuQSQoRCxuLklRLG4uQVMsbil8fChuLks9RCxuLk49VyxuLlc9bnVsbCxKJChuKSxXIT0zfHxEIGluc3RhbmNlb2YgZy5JNXx8Q18xKG4sRCkpKX07CmcuQSQ9ZnVuY3Rpb24obixXLEQsYil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIHBxKG4sVyxELGIpLCEwO2lmKG4pdHJ5e3ZhciB2PSEhbi4kZ29vZ19UaGVuYWJsZX1jYXRjaChrKXt2PSExfWVsc2Ugdj0hMTtpZih2KXJldHVybiBuLnRoZW4oVyxELGIpLCEwO2lmKGcuZnQobikpdHJ5e2xldCBrPW4udGhlbjtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiIpcmV0dXJuIEJ6aShuLGssVyxELGIpLCEwfWNhdGNoKGspe3JldHVybiBELmNhbGwoYixrKSwhMH1yZXR1cm4hMX07CkJ6aT1mdW5jdGlvbihuLFcsRCxiLHYpe2Z1bmN0aW9uIGsoTCl7eHx8KHg9ITAsYi5jYWxsKHYsTCkpfQpmdW5jdGlvbiBoKEwpe3h8fCh4PSEwLEQuY2FsbCh2LEwpKX0KdmFyIHg9ITE7dHJ5e1cuY2FsbChuLGgsayl9Y2F0Y2goTCl7ayhMKX19OwpKJD1mdW5jdGlvbihuKXtuLlZ8fChuLlY9ITAsZy5tSyhuLnlzLG4pKX07CkhKPWZ1bmN0aW9uKG4pe3ZhciBXPW51bGw7bi5KJiYoVz1uLkosbi5KPVcubmV4dCxXLm5leHQ9bnVsbCk7bi5KfHwobi5YPW51bGwpO3JldHVybiBXfTsKZnE9ZnVuY3Rpb24obixXLEQsYil7aWYoRD09MyYmVy5KJiYhVy5YKWZvcig7biYmbi5qO249bi5XKW4uaj0hMTtpZihXLk4pVy5OLlc9bnVsbCxLcShXLEQsYik7ZWxzZSB0cnl7Vy5YP1cuVy5jYWxsKFcuY29udGV4dCk6S3EoVyxELGIpfWNhdGNoKHYpe091LmNhbGwobnVsbCx2KX1HMy5wdXQoVyl9OwpLcT1mdW5jdGlvbihuLFcsRCl7Vz09Mj9uLlcuY2FsbChuLmNvbnRleHQsRCk6bi5KJiZuLkouY2FsbChuLmNvbnRleHQsRCl9OwpDXzE9ZnVuY3Rpb24obixXKXtuLmo9ITA7Zy5tSyhmdW5jdGlvbigpe24uaiYmT3UuY2FsbChudWxsLFcpfSl9OwpnLkk1PWZ1bmN0aW9uKG4pe2cuVGIuY2FsbCh0aGlzLG4pfTsKZy5QSj1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLmd0PW58fDE7dGhpcy5WNz1XfHxnLnFpO3RoaXMuaEU9KDAsZy5LdCkodGhpcy5SUSx0aGlzKTt0aGlzLmpiPWcuVXcoKX07CmcuWnQ9ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBuPT09ImZ1bmN0aW9uIilEJiYobj0oMCxnLkt0KShuLEQpKTtlbHNlIGlmKG4mJnR5cGVvZiBuLmhhbmRsZUV2ZW50PT0iZnVuY3Rpb24iKW49KDAsZy5LdCkobi5oYW5kbGVFdmVudCxuKTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIGxpc3RlbmVyIGFyZ3VtZW50Iik7cmV0dXJuIE51bWJlcihXKT4yMTQ3NDgzNjQ3Py0xOmcucWkuc2V0VGltZW91dChuLFd8fDApfTsKZy5VdT1mdW5jdGlvbihuLFcpe3ZhciBEPW51bGw7cmV0dXJuKG5ldyBnLlgxKGZ1bmN0aW9uKGIsdil7RD1nLlp0KGZ1bmN0aW9uKCl7YihXKX0sbik7CkQ9PS0xJiZ2KEVycm9yKCJGYWlsZWQgdG8gc2NoZWR1bGUgdGltZXIuIikpfSkpLnNQKGZ1bmN0aW9uKGIpe2cucWkuY2xlYXJUaW1lb3V0KEQpOwp0aHJvdyBiO30pfTsKRXU9ZnVuY3Rpb24obixXLC4uLkQpe24uVy5oYXMoVyl8fG4uVy5zZXQoVyxuZXcgeTgoVyxEKSl9Owp1ZT1mdW5jdGlvbihuLFcsLi4uRCl7bi5XLmhhcyhXKXx8bi5XLnNldChXLG5ldyBpZShXLEQpKX07Cm81PWZ1bmN0aW9uKG4pe24uSi5lbmFibGVkfHxuLkouc3RhcnQoKTtuLlYrKztuLlY+PW4uWCYmbi5qKCl9OwpGY2I9ZnVuY3Rpb24obil7Zm9yKGxldCBXPTA7VzxuLmxlbmd0aDtXKyspbltXXS5jbGVhcigpfTsKZHA9ZnVuY3Rpb24obixXLC4uLkQpeyhXPW4uTihXKSkmJlcgaW5zdGFuY2VvZiBpZSYmKGliVShXLC4uLkQpLG81KG4pKX07CnozPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19Owp3TVM9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTsKbGU9ZnVuY3Rpb24oKXt9OwpUMz1mdW5jdGlvbihuLFcsRCl7aWYoVz09bnVsbClELnB1c2goIm51bGwiKTtlbHNle2lmKHR5cGVvZiBXPT0ib2JqZWN0Iil7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9VztXPWIubGVuZ3RoO0QucHVzaCgiWyIpO3ZhciB2PSIiO2Zvcih2YXIgaz0wO2s8VztrKyspRC5wdXNoKHYpLFQzKG4sYltrXSxEKSx2PSIsIjtELnB1c2goIl0iKTtyZXR1cm59aWYoVyBpbnN0YW5jZW9mIFN0cmluZ3x8VyBpbnN0YW5jZW9mIE51bWJlcnx8VyBpbnN0YW5jZW9mIEJvb2xlYW4pVz1XLnZhbHVlT2YoKTtlbHNle0QucHVzaCgieyIpO3Y9IiI7Zm9yKGIgaW4gVylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoVyxiKSYmKGs9V1tiXSx0eXBlb2YgayE9ImZ1bmN0aW9uIiYmKEQucHVzaCh2KSxqTyhiLEQpLEQucHVzaCgiOiIpLFQzKG4sayxEKSx2PSIsIikpO0QucHVzaCgifSIpO3JldHVybn19c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOmpPKFcsRCk7YnJlYWs7CmNhc2UgIm51bWJlciI6RC5wdXNoKGlzRmluaXRlKFcpJiYhaXNOYU4oVyk/U3RyaW5nKFcpOiJudWxsIik7YnJlYWs7Y2FzZSAiYm9vbGVhbiI6RC5wdXNoKFN0cmluZyhXKSk7YnJlYWs7Y2FzZSAiZnVuY3Rpb24iOkQucHVzaCgibnVsbCIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gdHlwZTogIit0eXBlb2YgVyk7fX19OwpqTz1mdW5jdGlvbihuLFcpe1cucHVzaCgnIicsbi5yZXBsYWNlKE1qWixmdW5jdGlvbihEKXt2YXIgYj1DcVtEXTtifHwoYj0iXFx1IisoRC5jaGFyQ29kZUF0KDApfDY1NTM2KS50b1N0cmluZygxNikuc2xpY2UoMSksQ3FbRF09Yik7cmV0dXJuIGJ9KSwnIicpfTsKUkJiPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDA6cmV0dXJuIk5vIEVycm9yIjtjYXNlIDE6cmV0dXJuIkFjY2VzcyBkZW5pZWQgdG8gY29udGVudCBkb2N1bWVudCI7Y2FzZSAyOnJldHVybiJGaWxlIG5vdCBmb3VuZCI7Y2FzZSAzOnJldHVybiJGaXJlZm94IHNpbGVudGx5IGVycm9yZWQiO2Nhc2UgNDpyZXR1cm4iQXBwbGljYXRpb24gY3VzdG9tIGVycm9yIjtjYXNlIDU6cmV0dXJuIkFuIGV4Y2VwdGlvbiBvY2N1cnJlZCI7Y2FzZSA2OnJldHVybiJIdHRwIHJlc3BvbnNlIGF0IDQwMCBvciA1MDAgbGV2ZWwiO2Nhc2UgNzpyZXR1cm4iUmVxdWVzdCB3YXMgYWJvcnRlZCI7Y2FzZSA4OnJldHVybiJSZXF1ZXN0IHRpbWVkIG91dCI7Y2FzZSA5OnJldHVybiJUaGUgcmVzb3VyY2UgaXMgbm90IGF2YWlsYWJsZSBvZmZsaW5lIjtkZWZhdWx0OnJldHVybiJVbnJlY29nbml6ZWQgZXJyb3IgY29kZSJ9fTsKQko9ZnVuY3Rpb24oKXt9OwpGMT1mdW5jdGlvbigpe307CndwPWZ1bmN0aW9uKG4pe2cub1cuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLlRDPW58fG51bGw7dGhpcy5KPSExO3RoaXMuTj1udWxsO3RoaXMuSz0iIjt0aGlzLlc9MDt0aGlzLmo9IiI7dGhpcy5YPXRoaXMudHc9dGhpcy5ZPXRoaXMuY0o9ITE7dGhpcy5EPTA7dGhpcy5WPW51bGw7dGhpcy5iZD0iIjt0aGlzLk89ITF9OwpRTVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9bmV3IHdwO004LnB1c2goeCk7VyYmeC5TXygiY29tcGxldGUiLFcpO3guZUYoInJlYWR5Iix4LldVKTtrJiYoeC5EPU1hdGgubWF4KDAsaykpO2gmJih4Lk89aCk7eC5zZW5kKG4sRCxiLHYpfTsKVjg9ZnVuY3Rpb24obixXKXtuLko9ITE7bi5OJiYobi5YPSEwLG4uTi5hYm9ydCgpLG4uWD0hMSk7bi5qPVc7bi5XPTU7UjUobik7UTgobil9OwpSNT1mdW5jdGlvbihuKXtuLmNKfHwobi5jSj0hMCxuLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksbi5kaXNwYXRjaEV2ZW50KCJlcnJvciIpKX07Cm5WPWZ1bmN0aW9uKG4pe2lmKG4uSiYmdHlwZW9mIGNKIT0idW5kZWZpbmVkIilpZihuLlkmJmE1KG4pPT00KXNldFRpbWVvdXQobi5OOC5iaW5kKG4pLDApO2Vsc2UgaWYobi5kaXNwYXRjaEV2ZW50KCJyZWFkeXN0YXRlY2hhbmdlIiksbi5pc0NvbXBsZXRlKCkpe24uZ2V0U3RhdHVzKCk7bi5KPSExO3RyeXtpZihuLmlzU3VjY2VzcygpKW4uZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxuLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle24uVz02O3RyeXt2YXIgVz1hNShuKT4yP24uTi5zdGF0dXNUZXh0OiIifWNhdGNoKEQpe1c9IiJ9bi5qPVcrIiBbIituLmdldFN0YXR1cygpKyJdIjtSNShuKX19ZmluYWxseXtROChuKX19fTsKUTg9ZnVuY3Rpb24obixXKXtpZihuLk4pe24uViYmKGNsZWFyVGltZW91dChuLlYpLG4uVj1udWxsKTtsZXQgRD1uLk47bi5OPW51bGw7V3x8bi5kaXNwYXRjaEV2ZW50KCJyZWFkeSIpO3RyeXtELm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsfWNhdGNoKGIpe319fTsKYTU9ZnVuY3Rpb24obil7cmV0dXJuIG4uTj9uLk4ucmVhZHlTdGF0ZTowfTsKVzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBuLk4/bi5OLnJlc3BvbnNlVGV4dDoiIn1jYXRjaChXKXtyZXR1cm4iIn19OwpEbz1mdW5jdGlvbihuKXt0cnl7aWYoIW4uTilyZXR1cm4gbnVsbDtpZigicmVzcG9uc2UiaW4gbi5OKXJldHVybiBuLk4ucmVzcG9uc2U7c3dpdGNoKG4uYmQpe2Nhc2UgIiI6Y2FzZSAidGV4dCI6cmV0dXJuIG4uTi5yZXNwb25zZVRleHQ7Y2FzZSAiYXJyYXlidWZmZXIiOmlmKCJtb3pSZXNwb25zZUFycmF5QnVmZmVyImluIG4uTilyZXR1cm4gbi5OLm1velJlc3BvbnNlQXJyYXlCdWZmZXJ9cmV0dXJuIG51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKVmp0PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249KG4uTiYmYTUobik+PTI/bi5OLmdldEFsbFJlc3BvbnNlSGVhZGVycygpfHwiIjoiIikuc3BsaXQoIlxyXG4iKTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7aWYoZy5GaChuW2JdKSljb250aW51ZTt2YXIgRD1Td2gobltiXSk7bGV0IHY9RFswXTtEPURbMV07aWYodHlwZW9mIEQhPT0ic3RyaW5nIiljb250aW51ZTtEPUQudHJpbSgpO2xldCBrPVdbdl18fFtdO1dbdl09aztrLnB1c2goRCl9cmV0dXJuIFd4KFcsZnVuY3Rpb24oYil7cmV0dXJuIGIuam9pbigiLCAiKX0pfTsKdjM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPWJuKCk7Vz1XKCk7bi5YKEQsYm4oKS1iKTtyZXR1cm4gV307Cm5sMT1mdW5jdGlvbihuLFcsRCxiKXtuPVVVYihQX2koS2NoKG5ldyBrWSxuKSkpLmtDKCk7Vy5sZW5ndGgmJlpiaChuLHRqVShuZXcgY0ZaLFcpKTtiIT09dm9pZCAwJiYobi5Saj1iKTt2YXIgdj1uZXcgYTRqKG4uYnVpbGQoKSk7Zy51KHYsbik7dmFyIGs9bmV3IGhxKHtmbHVzaChoKXt0cnl7di5mbHVzaChoKX1jYXRjaCh4KXtEKHgpfX19KTtrLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtrLmooKX1maW5hbGx5e3YuZGlzcG9zZSgpfX0pfSk7CmsuWD0xRTU7ay5mbHVzaEludGVydmFsPTNFNDtrLkouc2V0SW50ZXJ2YWwoM0U0KTtyZXR1cm4ga307CldXcj1mdW5jdGlvbihuKXtpZihuLnRpbWVyPT09dm9pZCAwKXtsZXQgVz1NYXRoLm1heCgwLG4uTituLkotYm4oKSk7bi50aW1lcj1zZXRUaW1lb3V0KCgpPT57dHJ5e24uY2FsbGJhY2soKX1maW5hbGx5e24uTj1ibigpLG4udGltZXI9dm9pZCAwfX0sVyl9fTsKYnBNPWZ1bmN0aW9uKG4sVz1bXSl7cmV0dXJuIG5ldyBEaHgobixXKX07CmJuPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9OwpMVj1mdW5jdGlvbihuLFcpe2lmKG4uZGlzYWJsZSlyZXR1cm4gbmV3IHhZO1c9Vz9uMChXKTpbXTtyZXR1cm4gYnBNKHtWajpuLlZqLFJoOm4uSnAsTFQ6bi5SaSxSajpuLlJqLHREOm4udEQscm86bi5yb30sVyl9Owp2bHI9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIG51bGw7bj1KUyhuLDQpO3JldHVybiBuPT09bnVsbHx8bj09PXZvaWQgMD9udWxsOmszKG4pfTsKZyQ9ZnVuY3Rpb24oKXtlbS5pbnN0YW5jZXx8KGVtLmluc3RhbmNlPW5ldyBlbSk7cmV0dXJuIGVtLmluc3RhbmNlfTsKazVaPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFXJiYhRClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIWIpcmV0dXJuIFg2KFcsRCk7dmFyIHY7KHY9bi5KKVtiXXx8KHZbYl09bmV3IFByb21pc2UoKGssaCk9PntYNihXLEQpLnRoZW4oKCk9PntuLk49YjtrKCl9LHg9PntkZWxldGUgbi5KW2JdOwpoKHgpfSl9KSk7CnJldHVybiBuLkpbYl19Owp0cT1mdW5jdGlvbihuLFcpe3JldHVybiBrNVoobixnZShXLHF2LDEseFUpLGdlKFcsR0gsMix4VSksWTkoVywzLHZvaWQgMCx4VSkpfTsKWDY9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz9oSFMoVyk6bj94aGIobik6UHJvbWlzZS5yZXNvbHZlKCl9OwpoSFM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKChXLEQpPT57dmFyIGI9Zy56RigiU0NSSVBUIiksdj12bHIobik7Zy5QTShiLHYpO2Iub25sb2FkPSgpPT57Zy5DVChiKTtXKCl9OwpiLm9uZXJyb3I9KCk9PntnLkNUKGIpO0QoRXJyb3IoIkVXTFMiKSl9OwooZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChiKX0pfTsKeGhiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57dmFyIEQ9Zy56RigiU0NSSVBUIik7aWYobil7dmFyIGI9SlMobiw2KTtiPWI9PT1udWxsfHxiPT09dm9pZCAwP251bGw6bWMoYil9ZWxzZSBiPW51bGw7RC50ZXh0Q29udGVudD1LYihiKTtPTShEKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChEKTtnLkNUKEQpO1coKX0pfTsKTFcyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFTKG4sMSxXKX07CmVIaD1mdW5jdGlvbihuLFcpe3JldHVybiBBUyhuLDIsVyl9OwpnbGg9ZnVuY3Rpb24obixXKXtyZXR1cm4gQVMobiwzLFcpfTsKc2w9YXN5bmMgZnVuY3Rpb24obixXLEQsYix2KXtXPWdsaChlSGgoTFcyKG5ldyAkWSxuLnJlcXVlc3RLZXkpLFcpLEQpO0Q9bi5OKCk7bj1hd2FpdCBiLlYoImMiLG4ucmVxdWVzdEtleSx2LG4uY2xpZW50LmNyZWF0ZShXLEQpKTt2YXIgaz1WbChSeihuLDIpKTtpZihrLmxlbmd0aClyZXR1cm4gdjMoYiwoKT0+e3ZhciBoPW5ldyBVaW50OEFycmF5KGsubGVuZ3RoKTtmb3IodmFyIHg9MDt4PGsubGVuZ3RoO3grKyloW3hdPWtbeF0rOTc7aWYoZy5xaS5UZXh0RGVjb2RlciloPShuZXcgVGV4dERlY29kZXIpLmRlY29kZShoKTtlbHNlIGlmKGgubGVuZ3RoPD04MTkyKWg9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGgpO2Vsc2V7eD0iIjtmb3IobGV0IEw9MDtMPGgubGVuZ3RoO0wrPTgxOTIpe2xldCBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGgsTCxMKzgxOTIpO3grPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKX1oPXh9cmV0dXJuIFg0WihoKX0sCiJVIik7CmI9Z2UobixyJCwxKTtpZighYil0aHJvdyBFcnJvcigiTWlzc2luZyBmaWVsZCIpO3JldHVybiBifTsKSDM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bi5OKCk7dmFyIGs9bmV3IE52O2s9QVMoaywxLG4ucmVxdWVzdEtleSk7dmFyIGg9QVMoaywyLFcpO1c9RC5WO2s9bi5yZXF1ZXN0S2V5O249bi5jbGllbnQ7dj1ZWShuLk4sbi5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixoLHZ8fHt9LHFUUyk7cmV0dXJuIFcuY2FsbChELCJnIixrLGIsdil9OwpHNWg9ZnVuY3Rpb24obixXLEQsYix2KXtyZXR1cm4gbiBpbnN0YW5jZW9mIGZWP3NsKG4sYix2LFcsRCk6c2wobixiLHYsbmV3IHhZLDApfTsKckFiPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGI9ZyQoKSx2PVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGspe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCB4PW51bGw7aWYoaCl7SnEobiw3KTt0cnl7eD1hd2FpdCBJaShoLnNuYXBzaG90KHt9KSxrLmpkLCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKEcpe3g9IkU6VUNFIn19bGV0IEwsZT1uZXcgZy5oSChoP2sudzg6ay5DcSxrLm96LGsuZDgsay5BaSk7CmZvcihsZXQgRz0xO0c8PWsubWF4QXR0ZW1wdHM7RysrKXtpZihHIT09MSl7SnEobiwwKTtuLk49bmV3IFNtKGUuZ2V0VmFsdWUoKSxrLnVtLGsubmIpO2xldCByPWF3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7cj09PTE/KEc9MSxlLnJlc2V0KCkpOmcueEUoZSl9dHJ5e2xldCByO0Q/cj1EOihKcShuLDUpLHI9YXdhaXQgSWkoRzVoKFcsbi5sb2dnZXIsRyxiLk4seCksay5ocCwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoIlJHRjpGZXRjaCB0aW1lZCBvdXQiKSkpKTsKSnEobiwzKTthd2FpdCBJaSh0cShiLHIpLGsuUVgsKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJEVFo6U2NyaXB0IHRpbWVkIG91dCIpKSk7CkpxKG4sOCk7YXdhaXQgdjtsZXQgTj1uZXcgQXEoe2NoYWxsZW5nZTpyLHgzOm4ub3B0aW9ucy54Myx3MzpuLm9wdGlvbnMudzN9KTthd2FpdCBJaShOLk92LGsucUssKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJRRUc6U2V0dXAgdGltZWQgb3V0IikpKTsKTD1OO2JyZWFrfWNhdGNoKHIpe24uaGFuZGxlRXJyb3IociksbUkobil9fWlmKG4ucU4oKSlicmVhaztMJiYoRD12b2lkIDAsdDFVKG4saCksaD1MLCRoaChuLEwpLG1JKG4pKTtKcShuLDIpO24uTj1uZXcgU20oay5GWixrLnVtLGsubmIpO24uaXNQYXVzZWQmJm4uTi5wYXVzZSgpO2F3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7aWYobi5xTigpKWJyZWFrfWg/LmRpc3Bvc2UoKX07CnNQMj1mdW5jdGlvbihuKXtuLks9RXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIik7bi5qLnJlc29sdmUoKTtXMihuLlYucHJvbWlzZSk7bi5WLnJlamVjdChFcnJvcigiQ2FuY2VsbGVkIGJ5IGRpc3Bvc2UiKSk7bi5sb2dnZXIuZGlzcG9zZSgpO1Byb21pc2UuYWxsKG4uWCkudGhlbihhc3luYygpPT57bi5XPy5kaXNwb3NlKCk7bi5XPXZvaWQgMH0pOwpuLlg9W107bi5OPy5KKCk7VzIobi5KLnByb21pc2UpO24uSi5yZWplY3QoRXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIikpfTsKTlR0PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4ucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO24uTj8uSigpO2F3YWl0IG4uSi5wcm9taXNlfTsKcDRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5xSjtuLnFKPSgpPT57RCgpO1coKX19OwokaGg9ZnVuY3Rpb24obixXKXtuLnFOKCl8fChuLlc9VyxuLmxvZ2dlci51cGRhdGUoVy5RRCgpKSxuLmoucmVzb2x2ZSgpLG4uVi5yZXNvbHZlKHZvaWQgMCksbi5xSigpKX07CnQxVT1mdW5jdGlvbihuLFcpe1cmJihQcm9taXNlLmFsbChuLlgpLnRoZW4oKCk9PnZvaWQgVy5kaXNwb3NlKCkpLG4uWD1bXSl9OwpKcT1mdW5jdGlvbihuLFcpe24uWT1XO24ub3B0aW9ucy5mUD8uKFcpfTsKbUk9ZnVuY3Rpb24obil7bi5xTigpfHwobi5KLnJlc29sdmUoKSxuLko9bmV3IGcuS1YpfTsKSWk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO0Q9KG5ldyBQcm9taXNlKHY9PntiPXNldFRpbWVvdXQodixXKX0pKS50aGVuKEQpOwpXMihEKTtyZXR1cm4gUHJvbWlzZS5yYWNlKFtuLmZpbmFsbHkoKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGIpKSwKRF0pfTsKWVRVPWZ1bmN0aW9uKG4sVyl7bi5lbmRUaW1lTXM9RGF0ZS5ub3coKStXO24udGljaygpfTsKT2w9ZnVuY3Rpb24obil7bi5OJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUDM9ZnVuY3Rpb24obixXKXt0cnl7cmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShuLFcpLCEwfWNhdGNoKEQpe3JldHVybiExfX07ClpvPWZ1bmN0aW9uKG4sVz0wLEQ9bi5sZW5ndGgsYil7dmFyIHY9MDtmb3IoYiYmKHY9Wm8oYikpO1c8RDtXKyspdj1IcGkoMzEsdikrKHR5cGVvZiBuPT09InN0cmluZyI/bi5jaGFyQ29kZUF0KFcpOm5bV10pfDA7cmV0dXJuIHZ9Owp5aT1mdW5jdGlvbihuKXt2YXIgW1csRF09W1pvKG4sMCxuLmxlbmd0aD4+MSxVbCksWm8obixuLmxlbmd0aD4+MSldO3JldHVybiBXLnRvU3RyaW5nKDE2KStELnRvU3RyaW5nKDE2KX07CkVsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W1pvKFcsMCxXLmxlbmd0aD4+MSx2b2lkIDApLFpvKFcsVy5sZW5ndGg+PjEpXTtuPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlcik7Vz1uWzBdO3ZhciBbYix2XT1EO2ZvcihEPTE7RDxuLmxlbmd0aDtEKz0yKXt2YXIgaz1XLGg9RCx4PWIsTD12O2ZvcihsZXQgZT0wO2U8MjI7ZSsrKWg9aD4+Pjh8aDw8MjQsaCs9a3wwLGhePXgrMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1oLEw9TD4+Pjh8TDw8MjQsTCs9eHwwLExePWUrMzgyOTMseD14PDwzfHg+Pj4yOSx4Xj1MO2s9W2ssaF07bltEXV49a1swXTtEKzE8bi5sZW5ndGgmJihuW0QrMV1ePWtbMV0pfX07CmZlYj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSg0LShVbC5sZW5ndGgrRC5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2srVWwubGVuZ3RoKzQrRC5sZW5ndGgpLHg9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxMPTA7eC5zZXRVaW50MzIoTCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO0w9TCs0K2s7aC5zZXQoVWwsTCk7TCs9VWwubGVuZ3RoO3guc2V0VWludDMyKEwsdik7aC5zZXQoRCxMKzQpO0VsKGgsYik7cmV0dXJuIG4ucXAoVyxlPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShlKSk/UDMoVyxnLkVBKGgpKT8icyI6InQiOiJpIn07CkpBdz1mdW5jdGlvbihuLFcpe3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShuKTtpZighRClyZXR1cm5bIm0iXTt0cnl7dmFyIGI9bHAoRCk7RWwoYixXKX1jYXRjaCh2KXtyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiYyJdfWZvcihXPTQ7Vzw3JiZiW1ddPT09MDspVysrO2ZvcihEPTA7RDxVbC5sZW5ndGg7RCsrKWlmKGJbVysrXSE9PVVsW0RdKXJldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0obiksWyJkIl07RD0obmV3IERhdGFWaWV3KGIuYnVmZmVyKSkuZ2V0VWludDMyKFcpO3JldHVybiBNYXRoLmZsb29yKERhdGUubm93KCkvMUUzKT49RD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiZSJdKTpbImEiLG5ldyBVaW50OEFycmF5KGIuYnVmZmVyLFcrNCldfTsKSWV3PWZ1bmN0aW9uKG4pe3ZhciBXPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiaVU1cS0hTzlAJCIpO2lmKCFXKXJldHVybiBuZXcgdW4obik7dmFyIEQ9Vy5zcGxpdCgiLCIpO2lmKEQubGVuZ3RoPDIpcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgiaVU1cS0hTzlAJCIpLG5ldyB1bihuKTtXPUQuc2xpY2UoMSk7Vy5sZW5ndGg9PT0xJiZXWzBdPT09IiImJihXPVtdKTtEPU51bWJlcihEWzBdKTtyZXR1cm4gaXNOYU4oRCl8fEQ8MHx8RD5XLmxlbmd0aD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IHVuKG4pKTpuZXcgdW4obixELFcpfTsKbWh3PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoKXtELT1iO0QtPXY7RF49dj4+PjEzO2ItPXY7Yi09RDtiXj1EPDw4O3YtPUQ7di09Yjt2Xj1iPj4+MTM7RC09YjtELT12O0RePXY+Pj4xMjtiLT12O2ItPUQ7Yl49RDw8MTY7di09RDt2LT1iO3ZePWI+Pj41O0QtPWI7RC09djtEXj12Pj4+MztiLT12O2ItPUQ7Yl49RDw8MTA7di09RDt2LT1iO3ZePWI+Pj4xNX0Kbj1TVHIobik7Zm9yKHZhciBEPTI2NTQ0MzU3NjksYj0yNjU0NDM1NzY5LHY9MzE0MTU5MjY1LGs9bi5sZW5ndGgsaD1rLHg9MDtoPj0xMjtoLT0xMix4Kz0xMilEKz1vaShuLHgpLGIrPW9pKG4seCs0KSx2Kz1vaShuLHgrOCksVygpO3YrPWs7c3dpdGNoKGgpe2Nhc2UgMTE6dis9blt4KzEwXTw8MjQ7Y2FzZSAxMDp2Kz1uW3grOV08PDE2O2Nhc2UgOTp2Kz1uW3grOF08PDg7Y2FzZSA4OmIrPW5beCs3XTw8MjQ7Y2FzZSA3OmIrPW5beCs2XTw8MTY7Y2FzZSA2OmIrPW5beCs1XTw8ODtjYXNlIDU6Yis9blt4KzRdO2Nhc2UgNDpEKz1uW3grM108PDI0O2Nhc2UgMzpEKz1uW3grMl08PDE2O2Nhc2UgMjpEKz1uW3grMV08PDg7Y2FzZSAxOkQrPW5beCswXX1XKCk7cmV0dXJuIEFBUy50b1N0cmluZyh2KX07ClNUcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2gobi5jaGFyQ29kZUF0KEQpKTtyZXR1cm4gV307Cm9pPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5bVyswXSsobltXKzFdPDw4KSsobltXKzJdPDwxNikrKG5bVyszXTw8MjQpfTsKZCQ9ZnVuY3Rpb24obixXKXt2YXIgRD1zZXRUaW1lb3V0KCgpPT57bi5YLnJlc29sdmUoKX0sVyk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KEQpKX07CmxuPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9YCR7VyhuLmVycm9yLm1lc3NhZ2UpfToke1cobi5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtXPUQubGVuZ3RoKzE7RD16SChEKTt2YXIgYj1uZXcgVWludDhBcnJheSg0K0QubGVuZ3RoKTtiLnNldChbNDIsVyYxMjd8MTI4LFc+Pjcsbi5lcnJvci5jb2RlXSk7Yi5zZXQoRCw0KTtyZXR1cm4gYn07CnpIPWZ1bmN0aW9uKG4pe3JldHVybiBnbG9iYWxUaGlzLlRleHRFbmNvZGVyPyhuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKTpMMChuKX07CktXVT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4gaW5zdGFuY2VvZiBmVj9IMyhuLEQsVywxKTpuLlpqKEQpfTsKQjM9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9dm9pZCAwO24uaisrO3ZhciBEPW5ldyBnLktWO24uTzEgaW5zdGFuY2VvZiBUSCYmbi5PMS5YLnB1c2goRC5wcm9taXNlKTtpZihuLlhsKXtsZXQgaz1uZXcgZy5LVjtzZXRUaW1lb3V0KCgpPT52b2lkIGsucmVzb2x2ZSgpKTsKYXdhaXQgay5wcm9taXNlfXZhciBiPW4ubG9nZ2VyLnNoYXJlKCk7dHJ5e24uc3RhdGU9NTtsZXQgaz1bXSxoPWF3YWl0IElpKG4uTzEuc25hcHNob3Qoe3dfOnt9LHRMOmt9KSxuLmtkLnJTLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTUsIk1EQTpUaW1lb3V0IikpKTsKam0obiwiTURBOkRpc3Bvc2VkIik7bGV0IHg9a1swXTtuLnN0YXRlPTY7bGV0IEw9YXdhaXQgSWkoS1dVKG4uVWcsYixoKSxuLmtkLlhVLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTAsIkJXQjpUaW1lb3V0IikpKTsKam0obiwiQldCOkRpc3Bvc2VkIik7bi5zdGF0ZT03O1c9djMoYiwoKT0+e3ZhciBlPU9waShuLEwsRCx4KTtlLlgucHJvbWlzZS50aGVuKCgpPT52b2lkIG4uVigpKTsKcmV0dXJuIGV9LCJpIil9Y2F0Y2goayl7Vz8uZGlzcG9zZSgpOwppZighbi5KKXtsZXQgaD1QZjIobixrKTtELnJlc29sdmUoKTt2YXIgdjtpZih2PW4uTzEgaW5zdGFuY2VvZiBUSCYmbi5qPDIpYTppZihrIGluc3RhbmNlb2YgUUcpdj1rLmNvZGUhPT0zMiYmay5jb2RlIT09MjAmJmsuY29kZSE9PTEwO2Vsc2V7aWYoayBpbnN0YW5jZW9mIENWKXN3aXRjaChrLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6dj0hMTticmVhayBhfXY9ITB9aWYodil7bGV0IHg9c2V0VGltZW91dCgoKT0+dm9pZCBuLlYoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKG4uTj82RTQ6MUUzKSk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHgpKTsKcmV0dXJufW4uSj1ofWIuSihuLk4/MTM6MTQpO24uWC5yZWplY3Qobi5KKTtyZXR1cm59ZmluYWxseXtiLmRpc3Bvc2UoKX1uLnN0YXRlPTg7bi5qPTA7bi5OPy5kaXNwb3NlKCk7bi5OPVc7bi5YLnJlc29sdmUoKX07ClBmMj1mdW5jdGlvbihuLFcpe2lmKCEoVyBpbnN0YW5jZW9mIFFHKSlpZihXIGluc3RhbmNlb2YgQ1Ype2xldCBEPUVycm9yKFcudG9TdHJpbmcoKSk7RC5zdGFjaz1XLnN0YWNrO1c9bmV3IFFHKDExLCJFQkg6RXJyb3IiLEQpfWVsc2UgVz1uZXcgUUcoMTIsIkJTTzpVbmtub3duIixXKTtyZXR1cm4gbi5yZXBvcnRFcnJvcihXKX07CmptPWZ1bmN0aW9uKG4sVyl7aWYobi5xTigpKXRocm93IG5ldyBRRyhuLk4/MjA6MzIsVyk7fTsKT3BpPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSh1NChpVyhXLDIpKT8/MCkqMUUzO2lmKHY8PTApdGhyb3cgbmV3IFFHKDMxLCJUVE06SW52YWxpZCIpO2lmKFk5KFcsNCkpcmV0dXJuIG5ldyBacHQobi5sb2dnZXIsWTkoVyw0KSx2KTtpZighKHU0KGlXKFcsMykpPz8wKSlyZXR1cm4gbmV3IFVoaihuLmxvZ2dlcixWbChSeihXLDEpKSx2KTtpZighYil0aHJvdyBuZXcgUUcoNCwiUE1EOlVuZGVmaW5lZCIpO2I9YihWbChSeihXLDEpKSk7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iKXRocm93IG5ldyBRRygxNiwiQVBGOkZhaWxlZCIpO24uSz1NYXRoLmZsb29yKChEYXRlLm5vdygpK3YpLzFFMyk7bj1uZXcgRjYobi5sb2dnZXIsYix1NChpVyhXLDMpKT8/MCx2KTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIEQucmVzb2x2ZSgpKTsKcmV0dXJuIG59OwpNdj1mdW5jdGlvbihuLFcsRCl7dHJ5e2lmKG4ucU4oKSl0aHJvdyBuZXcgUUcoMjEsIkJOVDpkaXNwb3NlZCIpO2lmKCFuLk4mJm4uSil0aHJvdyBuLko7cmV0dXJuIHlBMShuLFcsRCk/P0VsaShuLFcsRCk/P2lwcihuLFcsRCl9Y2F0Y2goYil7aWYoIVcuRVIpdGhyb3cgdyQobixiKTtyZXR1cm4gdU1aKG4sRCxiKX19Owp3JD1mdW5jdGlvbihuLFcpe1c9VyBpbnN0YW5jZW9mIFFHP1c6bmV3IFFHKDUsIlRWRDplcnJvciIsVyk7cmV0dXJuIG4ucmVwb3J0RXJyb3IoVyl9Owp5QTE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLk4/LkZwKCgpPT5SaShuLFcpLEQsYj0+e2lmKG4uTiBpbnN0YW5jZW9mIEY2JiZXLmhHPy5yMyl0cnl7bi5jYWNoZT8uTihSaShuLFcpLGIsVy5oRy5hbSxuLkstMTIwKX1jYXRjaCh2KXtuLnJlcG9ydEVycm9yKG5ldyBRRygyNCwiRUxYOndyaXRlIix2KSl9fSl9OwpFbGk9ZnVuY3Rpb24obixXLEQpe2lmKFcuaEc/LkFCKXRyeXtsZXQgYj1uLmNhY2hlPy5KKFJpKG4sVyksVy5oRy5hbSk7cmV0dXJuIGI/RD92MyhuLmxvZ2dlciwoKT0+Zy5FQShiLDIpLCJhIik6Yjp2b2lkIDB9Y2F0Y2goYil7bi5yZXBvcnRFcnJvcihuZXcgUUcoMjMsIlJYTzpyZWFkIixiKSl9fTsKaXByPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoIVcuR3IpdGhyb3cgbmV3IFFHKDI5LCJTREY6bm90cmVhZHkiKTtyZXR1cm4gemIoYixuZXcgUWkobi5sb2dnZXIsMCxuLnN0YXRlKSkuRnAoKCk9PlJpKG4sVyksRCl9Y2F0Y2godil7Yi5lcnJvcj12LGIuaGFzRXJyb3I9ITB9ZmluYWxseXtseChiKX19Owp1TVo9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgdj13JChuLEQpO3JldHVybiB6YihiLG5ldyBvbHcobi5sb2dnZXIsdikpLkZwKCgpPT5bXSxXKX1jYXRjaCh2KXtiLmVycm9yPXYsYi5oYXNFcnJvcj0hMH1maW5hbGx5e2x4KGIpfX07ClJpPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcueEM/Vy54QzpXLndfP3YzKG4ubG9nZ2VyLCgpPT5XLnhDPXpIKFcud18pLCJjIik6W119OwpuVz1mdW5jdGlvbigpe3ZhciBuPTAsVztyZXR1cm4gRD0+e1d8fChXPW5ldyB4WSk7dmFyIGI9bmV3IFFpKFcsbiwxKSx2PWIuRnAoKCk9PnpIKEQpLCEwKTsKYi5kaXNwb3NlKCk7bisrO3JldHVybiB2fX07CmcuV1k9ZnVuY3Rpb24obixXKXtpZihuKWZvcihsZXQgRCBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLEQpJiZXKG5bRF0sRCxuKX07CnpIaT1mdW5jdGlvbigpe3ZhciBuPVtdO2cuV1koZGhaLFc9PntuLnB1c2goVyl9KTsKcmV0dXJuIG59OwpUVHI9ZnVuY3Rpb24oKXt2YXIgbj1nLkRhKCJJRlJBTUUiKSxXPXt9O2cueTIobGVTKCksRD0+e24uc2FuZGJveCYmbi5zYW5kYm94LnN1cHBvcnRzJiZuLnNhbmRib3guc3VwcG9ydHMoRCkmJihXW0RdPSEwKX0pOwpyZXR1cm4gV307CmcuRGE9ZnVuY3Rpb24obixXPWRvY3VtZW50KXtyZXR1cm4gVy5jcmVhdGVFbGVtZW50KFN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKX07CmcuYnI9ZnVuY3Rpb24obixXLEQsYil7dGhpcy5sZWZ0PW47dGhpcy50b3A9Vzt0aGlzLndpZHRoPUQ7dGhpcy5oZWlnaHQ9Yn07CnZZPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49PVc/ITA6biYmVz9uLmxlZnQ9PVcubGVmdCYmbi53aWR0aD09Vy53aWR0aCYmbi50b3A9PVcudG9wJiZuLmhlaWdodD09Vy5oZWlnaHQ6ITF9OwpnLmgxPWZ1bmN0aW9uKG4sVyxEKXtpZih0eXBlb2YgVz09PSJzdHJpbmciKWtxKG4sRCxXKTtlbHNlIGZvcihsZXQgYiBpbiBXKWtxKG4sV1tiXSxiKX07CmtxPWZ1bmN0aW9uKG4sVyxEKXsoRD14cShuLEQpKSYmKGpQQy50ZXN0KEQpP24uc3R5bGUuc2V0UHJvcGVydHkoRCxXKTpuLnN0eWxlW0RdPVcpfTsKeHE9ZnVuY3Rpb24obixXKXt2YXIgRD1MV1tXXTtpZighRCl7dmFyIGI9cHAoVyk7RD1iO24uc3R5bGVbYl09PT12b2lkIDAmJihiPShnLlpsPyJXZWJraXQiOmcuZVM/Ik1veiI6bnVsbCkrSTFpKGIpLG4uc3R5bGVbYl0hPT12b2lkIDAmJihEPWIpKTtMV1tXXT1EfXJldHVybiBEfTsKZy5naD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc3R5bGVbcHAoVyldO3JldHVybiB0eXBlb2YgRCE9PSJ1bmRlZmluZWQiP0Q6bi5zdHlsZVt4cShuLFcpXXx8IiJ9OwpYbT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuSksobik7cmV0dXJuIEQuZGVmYXVsdFZpZXcmJkQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKG49RC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKG4sbnVsbCkpP25bV118fG4uZ2V0UHJvcGVydHlWYWx1ZShXKXx8IiI6IiJ9OwpxdD1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goVyl7cmV0dXJue2xlZnQ6MCx0b3A6MCxyaWdodDowLGJvdHRvbTowfX19OwpnLkdOPWZ1bmN0aW9uKG4pe3ZhciBXPWcuSksobiksRD1uZXcgZy5NWSgwLDApO2lmKG49PShXP2cuSksoVyk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudClyZXR1cm4gRDtuPXF0KG4pO1c9Zy5TcChXKTtXPWcuRTAoVy5OKTtELng9bi5sZWZ0K1cueDtELnk9bi50b3ArVy55O3JldHVybiBEfTsKZy4kcT1mdW5jdGlvbihuLFcpe249dDEobik7Vz10MShXKTtyZXR1cm4gbmV3IGcuTVkobi54LVcueCxuLnktVy55KX07Cmcucmg9ZnVuY3Rpb24obil7bj1xdChuKTtyZXR1cm4gbmV3IGcuTVkobi5sZWZ0LG4udG9wKX07CnQxPWZ1bmN0aW9uKG4pe2lmKG4ubm9kZVR5cGU9PTEpcmV0dXJuIGcucmgobik7bj1uLmNoYW5nZWRUb3VjaGVzP24uY2hhbmdlZFRvdWNoZXNbMF06bjtyZXR1cm4gbmV3IGcuTVkobi5jbGllbnRYLG4uY2xpZW50WSl9OwpOdD1mdW5jdGlvbihuLFcpe2lmKFcgaW5zdGFuY2VvZiBnLlFlKXt2YXIgRD1XLmhlaWdodDtXPVcud2lkdGh9ZWxzZSB0aHJvdyBFcnJvcigibWlzc2luZyBoZWlnaHQgYXJndW1lbnQiKTtuLnN0eWxlLndpZHRoPXNqKFcsITApO24uc3R5bGUuaGVpZ2h0PXNqKEQsITApfTsKc2o9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09Im51bWJlciImJihuPShXP01hdGgucm91bmQobik6bikrInB4Iik7cmV0dXJuIG59OwpnLnBXPWZ1bmN0aW9uKG4pe3ZhciBXPUNmMSxEOyhEPVhtKG4sImRpc3BsYXkiKSl8fChEPW4uY3VycmVudFN0eWxlP24uY3VycmVudFN0eWxlLmRpc3BsYXk6bnVsbCk7aWYoKER8fG4uc3R5bGUmJm4uc3R5bGUuZGlzcGxheSkhPSJub25lIilyZXR1cm4gVyhuKTtEPW4uc3R5bGU7dmFyIGI9RC5kaXNwbGF5LHY9RC52aXNpYmlsaXR5LGs9RC5wb3NpdGlvbjtELnZpc2liaWxpdHk9ImhpZGRlbiI7RC5wb3NpdGlvbj0iYWJzb2x1dGUiO0QuZGlzcGxheT0iaW5saW5lIjtuPVcobik7RC5kaXNwbGF5PWI7RC5wb3NpdGlvbj1rO0QudmlzaWJpbGl0eT12O3JldHVybiBufTsKQ2YxPWZ1bmN0aW9uKG4pe3ZhciBXPW4ub2Zmc2V0V2lkdGgsRD1uLm9mZnNldEhlaWdodCxiPWcuWmwmJiFXJiYhRDtyZXR1cm4oVz09PXZvaWQgMHx8YikmJm4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0PyhuPXF0KG4pLG5ldyBnLlFlKG4ucmlnaHQtbi5sZWZ0LG4uYm90dG9tLW4udG9wKSk6bmV3IGcuUWUoVyxEKX07CkZXWj1mdW5jdGlvbihuLFc9e30pe3JldHVybiBuZXcgQlR0KG4sVyl9Owp3NHI9ZnVuY3Rpb24obil7bi5WLnhWKCJkYXRhIixXPT57aWYoIjEiaW4gVyl7dmFyIEQ9V1siMSJdO2xldCBiO3RyeXtiPW4uSyhEKX1jYXRjaCh2KXtZcShuLG5ldyBDVigxMyxgRXJyb3Igd2hlbiBkZXNlcmlhbGl6aW5nIHJlc3BvbnNlIGRhdGE7IGVycm9yOiAke3Z9LCByZXNwb25zZTogJHtEfWApKX1iJiZIWShuLGIpfWlmKCIyImluIFcpZm9yKFc9ZlcobixXWyIyIl0pLEQ9MDtEPG4uai5sZW5ndGg7RCsrKW4ualtEXShXKX0pOwpuLlYueFYoImVuZCIsKCk9PntKMShuLElzKG4pKTtmb3IobGV0IFc9MDtXPG4uVy5sZW5ndGg7VysrKW4uV1tXXSgpfSk7Cm4uVi54VigiZXJyb3IiLCgpPT57aWYobi5OLmxlbmd0aCE9PTApe3ZhciBXPW4ueGhyLlc7VyE9PTB8fG4ueGhyLmlzU3VjY2VzcygpfHwoVz02KTt2YXIgRD0tMTtzd2l0Y2goVyl7Y2FzZSAwOnZhciBiPTI7YnJlYWs7Y2FzZSA3OmI9MTA7YnJlYWs7Y2FzZSA4OmI9NDticmVhaztjYXNlIDY6RD1uLnhoci5nZXRTdGF0dXMoKTtiPXozKEQpO2JyZWFrO2RlZmF1bHQ6Yj0xNH1KMShuLElzKG4pKTtXPVJCYihXKSsiLCBlcnJvcjogIituLnhoci5nZXRMYXN0RXJyb3IoKTtEIT09LTEmJihXKz1gLCBodHRwIHN0YXR1cyBjb2RlOiAke0R9YCk7WXEobixuZXcgQ1YoYixXKSl9fSl9OwpZcT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5OLmxlbmd0aDtEKyspbi5OW0RdKFcpfTsKSjE9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQ9MDtEPG4uWC5sZW5ndGg7RCsrKW4uWFtEXShXKX07CklzPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9Vmp0KG4ueGhyKTtPYmplY3Qua2V5cyhEKS5mb3JFYWNoKGI9PntXW2JdPURbYl19KTsKcmV0dXJuIFd9OwpIWT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5KLmxlbmd0aDtEKyspbi5KW0RdKFcpfTsKZlc9ZnVuY3Rpb24obixXKXt2YXIgRD0yLGI9e307dHJ5e2xldCBrO2s9TTFiKFcpO0Q9YVAoaywxKTt2YXIgdj1rLmdldE1lc3NhZ2UoKTtWRyhrLFJIaSwzKS5sZW5ndGgmJihiWyJncnBjLXdlYi1zdGF0dXMtZGV0YWlscy1iaW4iXT1XKX1jYXRjaChrKXtuLnhociYmbi54aHIuZ2V0U3RhdHVzKCk9PT00MDQ/KEQ9NSx2PSJOb3QgRm91bmQ6ICIrU3RyaW5nKG4ueGhyLkspKTooRD0xNCx2PWBVbmFibGUgdG8gcGFyc2UgUnBjU3RhdHVzOiAke2t9YCl9cmV0dXJue2NvZGU6RCxkZXRhaWxzOnYsbWV0YWRhdGE6Yn19OwpWMVU9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgUVBTO0FIKG4ueGhyLCJjb21wbGV0ZSIsKCk9PntpZihuLnhoci5pc1N1Y2Nlc3MoKSl7dmFyIGI9VzMobi54aHIpO2lmKFcmJm4ueGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKT09PSJ0ZXh0L3BsYWluIil7aWYoIWF0b2IpdGhyb3cgRXJyb3IoIkNhbm5vdCBkZWNvZGUgQmFzZTY0IHJlc3BvbnNlIik7Yj1hdG9iKGIpfXRyeXt2YXIgdj1uLksoYil9Y2F0Y2goaCl7WXEobixTUyhuZXcgQ1YoMTMsYEVycm9yIHdoZW4gZGVzZXJpYWxpemluZyByZXNwb25zZSBkYXRhOyBlcnJvcjogJHtofSwgcmVzcG9uc2U6ICR7Yn1gKSxEKSk7cmV0dXJufWI9ejMobi54aHIuZ2V0U3RhdHVzKCkpO0oxKG4sSXMobikpO2I9PT0wP0hZKG4sdik6WXEobixTUyhuZXcgQ1YoYiwiWGhyIHN1Y2NlZWRlZCBidXQgdGhlIHN0YXR1cyBjb2RlIGlzIG5vdCAyMDAiKSxEKSl9ZWxzZXtiPVczKG4ueGhyKTtsZXQgaDt2PUlzKG4pO2lmKGIpe3ZhciBrPQpmVyhuLGIpO2I9ay5jb2RlO2g9ay5kZXRhaWxzO2s9ay5tZXRhZGF0YX1lbHNlIGI9MixoPWBScGMgZmFpbGVkIGR1ZSB0byB4aHIgZXJyb3IuIHVyaTogJHtTdHJpbmcobi54aHIuSyl9LCBlcnJvciBjb2RlOiAke24ueGhyLld9LCBlcnJvcjogJHtuLnhoci5nZXRMYXN0RXJyb3IoKX1gLGs9djtKMShuLHYpO1lxKG4sU1MobmV3IENWKGIsaCxrKSxEKSl9fSl9OwpBMT1mdW5jdGlvbihuLFcpe1c9bi5pbmRleE9mKFcpO1c+LTEmJm4uc3BsaWNlKFcsMSl9OwpTUz1mdW5jdGlvbihuLFcpe1cuc3RhY2smJihuLnN0YWNrKz0iXG4iK1cuc3RhY2spO3JldHVybiBufTsKbUc9ZnVuY3Rpb24obil7dGhpcy5YPW4uWTZ8fG51bGw7dGhpcy5XPW4uWUJ8fCExO3RoaXMuSj12b2lkIDB9OwpLVz1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLnR3PW47dGhpcy5WPVc7dGhpcy5qPXZvaWQgMDt0aGlzLnN0YXR1cz10aGlzLnJlYWR5U3RhdGU9MDt0aGlzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVGV4dD10aGlzLnJlc3BvbnNlPXRoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLko9bnVsbDt0aGlzLmNKPSJHRVQiO3RoaXMuTz0iIjt0aGlzLk49ITE7dGhpcy5LPXRoaXMuVz10aGlzLlg9bnVsbDt0aGlzLlk9bmV3IEFib3J0Q29udHJvbGxlcn07Ck9qPWZ1bmN0aW9uKG4pe24uVy5yZWFkKCkudGhlbihuLmxFLmJpbmQobikpLmNhdGNoKG4uRFAuYmluZChuKSl9OwpaYT1mdW5jdGlvbihuKXtuLnJlYWR5U3RhdGU9NDtuLlg9bnVsbDtuLlc9bnVsbDtuLks9bnVsbDtQWShuKX07ClBZPWZ1bmN0aW9uKG4pe24ub25yZWFkeXN0YXRlY2hhbmdlJiZuLm9ucmVhZHlzdGF0ZWNoYW5nZS5jYWxsKG4pfTsKY0FVPWZ1bmN0aW9uKG4pe2lmKG4uejcmJnR5cGVvZiBuLno3PT0iZnVuY3Rpb24iKXJldHVybiBuLno3KCk7aWYodHlwZW9mIE1hcCE9PSJ1bmRlZmluZWQiJiZuIGluc3RhbmNlb2YgTWFwfHx0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20obi52YWx1ZXMoKSk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbi5zcGxpdCgiIik7aWYoZy5ZMihuKSl7bGV0IFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdKTtyZXR1cm4gV31yZXR1cm4gaEsobil9OwphZWg9ZnVuY3Rpb24obil7aWYobi51QiYmdHlwZW9mIG4udUI9PSJmdW5jdGlvbiIpcmV0dXJuIG4udUIoKTtpZighbi56N3x8dHlwZW9mIG4uejchPSJmdW5jdGlvbiIpe2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gQXJyYXkuZnJvbShuLmtleXMoKSk7aWYoISh0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpKXtpZihnLlkyKG4pfHx0eXBlb2Ygbj09PSJzdHJpbmciKXtsZXQgVz1bXTtuPW4ubGVuZ3RoO2ZvcihsZXQgRD0wO0Q8bjtEKyspVy5wdXNoKEQpO3JldHVybiBXfXJldHVybiBnLkxUKG4pfX19OwpuS2k9ZnVuY3Rpb24obixXLEQpe2lmKG4uZm9yRWFjaCYmdHlwZW9mIG4uZm9yRWFjaD09ImZ1bmN0aW9uIiluLmZvckVhY2goVyxEKTtlbHNlIGlmKGcuWTIobil8fHR5cGVvZiBuPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChuLFcsRCk7ZWxzZXtsZXQgYj1hZWgobiksdj1jQVUobiksaz12Lmxlbmd0aDtmb3IobGV0IGg9MDtoPGs7aCsrKVcuY2FsbChELHZbaF0sYiYmYltoXSxuKX19OwpnLlVqPWZ1bmN0aW9uKG4pe3RoaXMuTj10aGlzLlk9dGhpcy5YPSIiO3RoaXMuVj1udWxsO3RoaXMuaj10aGlzLko9IiI7dGhpcy5LPSExO3ZhciBXO24gaW5zdGFuY2VvZiBnLlVqPyh0aGlzLks9bi5LLHlOKHRoaXMsbi5YKSx0aGlzLlk9bi5ZLEVqKHRoaXMsbi5OKSxpcih0aGlzLG4uViksdGhpcy5KPW4uSix1cih0aGlzLG4uVy5jbG9uZSgpKSx0aGlzLmo9bi5qKTpuJiYoVz1nLmZwKFN0cmluZyhuKSkpPyh0aGlzLks9ITEseU4odGhpcyxXWzFdfHwiIiwhMCksdGhpcy5ZPW9zKFdbMl18fCIiKSxFaih0aGlzLFdbM118fCIiLCEwKSxpcih0aGlzLFdbNF0pLHRoaXMuSj1vcyhXWzVdfHwiIiwhMCksdXIodGhpcyxXWzZdfHwiIiwhMCksdGhpcy5qPW9zKFdbN118fCIiKSk6KHRoaXMuSz0hMSx0aGlzLlc9bmV3IGRoKG51bGwsdGhpcy5LKSl9Owp5Tj1mdW5jdGlvbihuLFcsRCl7bi5YPUQ/b3MoVywhMCk6VztuLlgmJihuLlg9bi5YLnJlcGxhY2UoLzokLywiIikpfTsKRWo9ZnVuY3Rpb24obixXLEQpe24uTj1EP29zKFcsITApOld9Owppcj1mdW5jdGlvbihuLFcpe2lmKFcpe1c9TnVtYmVyKFcpO2lmKGlzTmFOKFcpfHxXPDApdGhyb3cgRXJyb3IoIkJhZCBwb3J0IG51bWJlciAiK1cpO24uVj1XfWVsc2Ugbi5WPW51bGx9Owp1cj1mdW5jdGlvbihuLFcsRCl7VyBpbnN0YW5jZW9mIGRoPyhuLlc9VyxXeGgobi5XLG4uSykpOihEfHwoVz16TihXLER4UykpLG4uVz1uZXcgZGgoVyxuLkspKX07CmxyPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5Vaj9uLmNsb25lKCk6bmV3IGcuVWoobil9Owpvcz1mdW5jdGlvbihuLFcpe3JldHVybiBuP1c/ZGVjb2RlVVJJKG4ucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChuKToiIn07CnpOPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIj8obj1lbmNvZGVVUkkobikucmVwbGFjZShXLGIweCksRCYmKG49bi5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxuKTpudWxsfTsKYjB4PWZ1bmN0aW9uKG4pe249bi5jaGFyQ29kZUF0KDApO3JldHVybiIlIisobj4+NCYxNSkudG9TdHJpbmcoMTYpKyhuJjE1KS50b1N0cmluZygxNil9OwpkaD1mdW5jdGlvbihuLFcpe3RoaXMuSj10aGlzLk49bnVsbDt0aGlzLlc9bnx8bnVsbDt0aGlzLlg9ISFXfTsKVE49ZnVuY3Rpb24obil7bi5OfHwobi5OPW5ldyBNYXAsbi5KPTAsbi5XJiZnLk9UKG4uVyxmdW5jdGlvbihXLEQpe24uYWRkKEc1KFcpLEQpfSkpfTsKQ1c9ZnVuY3Rpb24obixXKXtUTihuKTtXPWpTKG4sVyk7cmV0dXJuIG4uTi5oYXMoVyl9OwpqUz1mdW5jdGlvbihuLFcpe1c9U3RyaW5nKFcpO24uWCYmKFc9Vy50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gV307Cld4aD1mdW5jdGlvbihuLFcpe1cmJiFuLlgmJihUTihuKSxuLlc9bnVsbCxuLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe3ZhciB2PWIudG9Mb3dlckNhc2UoKTtiIT12JiYodGhpcy5yZW1vdmUoYiksdGhpcy5yZW1vdmUodiksRC5sZW5ndGg+MCYmKHRoaXMuVz1udWxsLHRoaXMuTi5zZXQoalModGhpcyx2KSxnLlJNKEQpKSx0aGlzLko9dGhpcy5KK0QubGVuZ3RoKSl9LG4pKTsKbi5YPVd9Owp2S2I9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zy5hXyhuLGZ1bmN0aW9uKEQsYil7Vys9YjtXKz0iOiI7Vys9RDtXKz0iXHJcbiJ9KTsKcmV0dXJuIFd9OwpCWT1mdW5jdGlvbihuKXtnLkZNLmNhbGwodGhpcyk7dGhpcy5KPW47dGhpcy5OPXt9fTsKRm09ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKEFycmF5LmlzQXJyYXkoRCkpZm9yKGxldCBoPTA7aDxELmxlbmd0aDtoKyspRm0obixXLERbaF0sYix2LGspO2Vsc2V7Vz1TZyhXLEQsYnx8bi5oYW5kbGVFdmVudCx2LGt8fG4uSnx8bik7aWYoIVcpcmV0dXJuIG47bi5OW1cua2V5XT1XfXJldHVybiBufTsKd2g9ZnVuY3Rpb24obixXLEQpe24uVz0hMTt0aHJvdyBFcnJvcigiVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVyk7fTsKTXQ9ZnVuY3Rpb24oKXt0aGlzLlY9bnVsbDt0aGlzLks9W107dGhpcy5YPXRoaXMuSj10aGlzLlc9dGhpcy5OPXRoaXMuRD0wO3RoaXMuaj1udWxsO3RoaXMuWT0wfTsKUnM9ZnVuY3Rpb24obixXLEQsYil7bi5OPTM7bi5WPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIituLkQrIi8iK0QrIi4gRXJyb3I6ICIrYisiLiBXaXRoIGlucHV0OlxuIitXO3Rocm93IEVycm9yKG4uVik7fTsKUU49ZnVuY3Rpb24oKXt0aGlzLk49bnVsbDt0aGlzLko9MDt0aGlzLlc9bmV3IGtoUzt0aGlzLlg9bmV3IE10fTsKVk49ZnVuY3Rpb24obixXLEQpe24uTj0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVzt0aHJvdyBFcnJvcihuLk4pO307CmNZPWZ1bmN0aW9uKG4pe3JldHVybiBuPT0iXHIifHxuPT0iXG4ifHxuPT0iICJ8fG49PSJcdCJ9Owphcz1mdW5jdGlvbihuKXt0aGlzLkQ9bnVsbDt0aGlzLlY9W107dGhpcy5YPSIiO3RoaXMuY0o9W107dGhpcy5XPXRoaXMuSj0wO3RoaXMuSz0hMTt0aGlzLlk9MDt0aGlzLnR3PS9bXFwiXS9nO3RoaXMuTj10aGlzLmo9MDt0aGlzLk89ISghbnx8IW4uWkgpfTsKbl89ZnVuY3Rpb24obixXLEQpe24uaj0zO24uRD0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5XKyIvIitEKyIuIFdpdGggaW5wdXQ6XG4iK1c7dGhyb3cgRXJyb3Iobi5EKTt9OwpXSz1mdW5jdGlvbigpe3RoaXMuaj10aGlzLlc9bnVsbDt0aGlzLko9dGhpcy5OPTA7dGhpcy5YPVtdO3RoaXMuVj0hMX07CmhDeD1mdW5jdGlvbihuKXt2YXIgVz1uLk4/bi5OLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKTpudWxsO2lmKCFXKXJldHVybiBudWxsO1c9Vy50b0xvd2VyQ2FzZSgpO3JldHVybiBXLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24iKT9XLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiKT9uZXcgV0s6bmV3IGFzOlcuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1wcm90b2J1ZiIpPyhuPW4uTj9uLk4uZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmciKTpudWxsKT9uLnRvTG93ZXJDYXNlKCk9PSJiYXNlNjQiP25ldyBRTjpudWxsOm5ldyBNdDpudWxsfTsKRGk9ZnVuY3Rpb24obixXKXtuLmohPVcmJihuLmo9VyxuLksmJm4uSygpKX07CmJIPWZ1bmN0aW9uKG4pe24uWS5UaSgpO2lmKG4uTil7bGV0IFc9bi5OO24uTj1udWxsO1cuYWJvcnQoKTtXLmRpc3Bvc2UoKX19Owp2Sz1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXtsZXQgYj1uW0RdO1cuZm9yRWFjaChmdW5jdGlvbih2KXt0cnl7dihiKX1jYXRjaChrKXt9fSl9fTsKa3Q9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkpbV107RCYmRC5mb3JFYWNoKGZ1bmN0aW9uKGIpe3RyeXtiKCl9Y2F0Y2godil7fX0pOwooRD1uLk5bV10pJiZELmZvckVhY2goZnVuY3Rpb24oYil7YigpfSk7Cm4uTltXXT1bXX07Cnh4aj1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07Ckx4aT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07CmVDVT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5sMCx2PVcuZ2V0TWV0YWRhdGEoKSxrPWhhKG4sITApO249eHQobix2LGssRCtiLmdldE5hbWUoKSk7RD1MXyhrLGIuVywhMSk7VjFVKEQsdlsiWC1Hb29nLUVuY29kZS1SZXNwb25zZS1JZi1FeGVjdXRhYmxlIl09PT0iYmFzZTY0Iik7Vz1iLk4oVy5mdik7ay5zZW5kKG4sIlBPU1QiLFcpO3JldHVybiBEfTsKZ0t0PWZ1bmN0aW9uKG4sVyxELGIsdixrPXt9KXt2YXIgaD1XLnN1YnN0cmluZygwLFcubGVuZ3RoLXYubmFtZS5sZW5ndGgpLHg9az8uc2lnbmFsO3JldHVybiBMeGkoTD0+bmV3IFByb21pc2UoKGUsRyk9PntpZih4Py5hYm9ydGVkKXtsZXQgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX1lbHNle3ZhciByPXt9LE49ZUNVKG4sTCxoKTtOLnhWKCJlcnJvciIsSD0+dm9pZCBHKEgpKTsKTi54VigibWV0YWRhdGEiLEg9PntyPUh9KTsKTi54VigiZGF0YSIsSD0+e2UoRldaKEgscikpfSk7CngmJnguYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57Ti5jYW5jZWwoKTt2YXIgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX0pfX0pLG4uRk4pLmNhbGwobix2LkooRCxiKSkudGhlbihMPT5MLlB6KX07ClhkPWZ1bmN0aW9uKG4sVz0hMSl7ZVgoMjgsNzIzMSxuKTtpZihuW0lbMjhdXSE9PUlbMTVdKXt2YXIgRD1uW0lbOF1dKCk7RFtJWzM0XV0oSVszMl0sSVs0MF0pO3JldHVybiBEfXZhciBiPW5bSVs3Ml1dKCk7RD1uZXcgZy5VaihiKTt2YXIgdj1uW0lbMzNdXShJWzcwXSksaz1NMygxNiw0MjYyLG5bSVszM11dKElbNzRdKXx8SVsyMV0pW0lbMzZdXShJWzQ3XSk7aWYodiYmayYma1tJWzVdXT4xJiZrWzFdKXJldHVybiBiPUQuTixuPWJbSVs4MV1dKC9eW14uXSovLElbMjFdKSxFaihELGAke2JbSVsxOF1dKElbNDRdKT09PTA/SVs0NF06SVs4MF19JHt2fS0tLSR7a1sxXX0ke259YCksRD1uZXcgZy53WihEW0lbMF1dKCkpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO2lmKFcpcmV0dXJuIEQ9bltJWzhdXSgpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO3Y9RC5OW0lbNl1dKElbNTZdKTtELk5bSVs2XV0oSVsyN10pPyhFaihELElbODJdKSxiPURbSVswXV0oKSk6RC5OW0lbNl1dKElbNTJdKT8KKEVqKEQsSVsxOV0pLGI9RFtJWzBdXSgpKTooRD1lQShiKSxnWChEKSYmKGI9RCkpO0Q9bmV3IGcud1ooYik7RFtJWzM0XV0oSVs3OV0sSVs0MF0pO3YmJkRbSVszNF1dKElbMl0sSVs3MV0pO3JldHVybiBEfTsKWVk9ZnVuY3Rpb24obixXLEQsYix2LGs9e30pe3JldHVybiBnS3QobixXLEQsYix2LGspfTsKaGE9ZnVuY3Rpb24obixXKXtXPW4uTiYmIVc7cmV0dXJuIG4uU258fFc/bmV3IHdwKG5ldyBtRyh7WTY6bi5TbixZQjpXfSkpOm5ldyB3cH07Cnh0PWZ1bmN0aW9uKG4sVyxELGIpe1dbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIjtXWyJYLVVzZXItQWdlbnQiXT0iZ3JwYy13ZWItamF2YXNjcmlwdC8wLjEiO3ZhciB2PVcuQXV0aG9yaXphdGlvbjtpZih2JiZYMnIuaGFzKHYuc3BsaXQoIiAiKVswXSl8fG4ud2l0aENyZWRlbnRpYWxzKUQuTz0hMDtpZihuLllPKW49YixnLkdGKFcpP2I9bjooVz12S2IoVyksdHlwZW9mIG49PT0ic3RyaW5nIj9iPWcudWYobixxaCgiJGh0dHBIZWFkZXJzIiksVyk6KG4uVy5zZXQoIiRodHRwSGVhZGVycyIsVyksYj1uKSk7ZWxzZSBmb3IobGV0IGsgb2YgT2JqZWN0LmtleXMoVykpRC5oZWFkZXJzLnNldChrLFdba10pO3JldHVybiBifTsKTF89ZnVuY3Rpb24obixXLEQpe2lmKEQpe24uaXNBY3RpdmUoKTtEPW5ldyBxQXQobik7dmFyIGI9bmV3IEdoaShEKX1yZXR1cm4gbmV3IHR1MSh7eGhyOm4sTUU6Yn0sVyl9Owpxdz1mdW5jdGlvbigpe3RoaXMuTj1uZXcgJHhoO3RoaXMuSj0iaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20iLnJlcGxhY2UoL1wvKyQvLCIiKX07CmcuR0s9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5yZXBsYWNlKHI0MixmdW5jdGlvbihELGIpe3RyeXtsZXQgdj1nLiR5KFcsYik7aWYodj09bnVsbHx8di50b1N0cmluZygpPT1udWxsKXJldHVybiBEO3Y9di50b1N0cmluZygpO2lmKHY9PSIifHwhZy5GaChnLnJUKHYpKSlyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHYpLnJlcGxhY2UoLyUyQy9nLCIsIil9Y2F0Y2godil7fXJldHVybiBEfSl9OwpzMnc9ZnVuY3Rpb24oKXt2YXIgbj10YTskdC5pbnN0YW5jZXx8KCR0Lmluc3RhbmNlPW5ldyAkdChuKSk7cmV0dXJuICR0Lmluc3RhbmNlfTsKclg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5XP24uVzpuLlc9bmV3IFByb21pc2UoYXN5bmMgRD0+e3ZhciBiPXdpbmRvdy5BYm9ydENvbnRyb2xsZXI/bmV3IHdpbmRvdy5BYm9ydENvbnRyb2xsZXI6dm9pZCAwLHY9Yj8uc2lnbmFsLGs9ITE7dHJ5e2ImJihuLk49bi5BJC5MUygoKT0+e2IuYWJvcnQoKX0sV3x8MkU0KSksYXdhaXQgZmV0Y2goIi9nZW5lcmF0ZV8yMDQiLHttZXRob2Q6IkhFQUQiLApzaWduYWw6dn0pLGs9ITB9Y2F0Y2h7az0hMX1maW5hbGx5e24uVz12b2lkIDAsbi5OJiYobi5BJC5zTyhuLk4pLG4uTj0wKSxrIT09bi5pc09ubGluZSYmKG4uaXNPbmxpbmU9ayxuLmlzT25saW5lP24uZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTpuLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxEKGspfX0pfTsKTldoPWZ1bmN0aW9uKG4pe24uTj09PS0xJiYobi5OPW4uZGF0YS5yZWR1Y2UoKFcsRCxiKT0+VysoRD8yKipiOjApLDApKTsKcmV0dXJuIG4uTn07Cmcuc0k9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4mJlchPT1udWxsJiZXIT1XLnRvcCl7aWYoIVcudG9wKXJldHVybiBuZXcgZy5RZSgtMTIyNDU5MzMsLTEyMjQ1OTMzKTtXPVcudG9wfXRyeXtpZihEKXZhciBiPShuZXcgZy5RZShXLmlubmVyV2lkdGgsVy5pbm5lckhlaWdodCkpLnJvdW5kKCk7ZWxzZXtsZXQgdj0oV3x8d2luZG93KS5kb2N1bWVudCxrPXYuY29tcGF0TW9kZT09IkNTUzFDb21wYXQiP3YuZG9jdW1lbnRFbGVtZW50OnYuYm9keTtiPShuZXcgZy5RZShrLmNsaWVudFdpZHRoLGsuY2xpZW50SGVpZ2h0KSkucm91bmQoKX1yZXR1cm4gYn1jYXRjaCh2KXtyZXR1cm4gbmV3IGcuUWUoLTEyMjQ1OTMzLC0xMjI0NTkzMyl9fTsKZy5Odz1mdW5jdGlvbihuKXtyZXR1cm4gbi5wcmVyZW5kZXJpbmc/Mzp7dmlzaWJsZToxLGhpZGRlbjoyLHByZXJlbmRlcjozLHByZXZpZXc6NCx1bmxvYWRlZDo1LCIiOjB9W24udmlzaWJpbGl0eVN0YXRlfHxuLndlYmtpdFZpc2liaWxpdHlTdGF0ZXx8bi5tb3pWaXNpYmlsaXR5U3RhdGV8fCIiXT8/MH07CmcucF89ZnVuY3Rpb24obixXLEQpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLk49bnVsbDt0aGlzLlg9ITE7dGhpcy5WPW47dGhpcy5qPUQ7dGhpcy5KPVd8fHdpbmRvdzt0aGlzLlc9KDAsZy5LdCkodGhpcy5PdCx0aGlzKX07Cll0PWZ1bmN0aW9uKG4pe249bi5KO3JldHVybiBuLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG51bGx9OwpISz1mdW5jdGlvbihuKXtuPW4uSjtyZXR1cm4gbi5jYW5jZWxBbmltYXRpb25GcmFtZXx8bi5jYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ud2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1vekNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi5vQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1zQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxudWxsfTsKZy5mXz1mdW5jdGlvbihuLFcsRCl7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuTj1uO3RoaXMuZ3Q9V3x8MDt0aGlzLko9RDt0aGlzLlc9KDAsZy5LdCkodGhpcy5pJCx0aGlzKX07CmcuSmE9ZnVuY3Rpb24obixXKXtuLmlzQWN0aXZlKCl8fG4uc3RhcnQoVyl9OwpJRj1mdW5jdGlvbihuKXtuLlo2PWcuWnQoKCk9PntuLlo2PW51bGw7bi5OJiYhbi5KJiYobi5OPSExLElGKG4pKX0sbi5ndCk7CnZhciBXPW4uVztuLlc9bnVsbDtuLlguYXBwbHkobnVsbCxXKX07ClNBPWZ1bmN0aW9uKG4pe3JldHVybiB0eXBlb2Ygbi5jbGFzc05hbWU9PSJzdHJpbmciP24uY2xhc3NOYW1lOm4uZ2V0QXR0cmlidXRlJiZuLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9OwpBYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3Q6U0EobikubWF0Y2goL1xTKy9nKXx8W119OwptYT1mdW5jdGlvbihuLFcpe3R5cGVvZiBuLmNsYXNzTmFtZT09InN0cmluZyI/bi5jbGFzc05hbWU9VzpuLnNldEF0dHJpYnV0ZSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixXKX07CmcuS189ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QuY29udGFpbnMoVyk6Zy5qaihBYShuKSxXKX07CmcuVUk9ZnVuY3Rpb24obixXKXtpZihuLmNsYXNzTGlzdCluLmNsYXNzTGlzdC5hZGQoVyk7ZWxzZSBpZighZy5LXyhuLFcpKXtsZXQgRD1TQShuKTttYShuLEQrKEQubGVuZ3RoPjA/IiAiK1c6VykpfX07CnlLPWZ1bmN0aW9uKG4sVyl7aWYobi5jbGFzc0xpc3QpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChXLGZ1bmN0aW9uKGIpe2cuVUkobixiKX0pOwplbHNle3ZhciBEPXt9O0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoQWEobiksZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpXPSIiO2ZvcihsZXQgYiBpbiBEKVcrPVcubGVuZ3RoPjA/IiAiK2I6YjttYShuLFcpfX07CmcuRUk9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5yZW1vdmUoVyk6Zy5LXyhuLFcpJiZtYShuLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChBYShuKSxmdW5jdGlvbihEKXtyZXR1cm4gRCE9V30pLmpvaW4oIiAiKSl9OwpwMmo9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oRCl7Zy5FSShuLEQpfSk6bWEobixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoQWEobiksZnVuY3Rpb24oRCl7cmV0dXJuIWcuamooVyxEKX0pLmpvaW4oIiAiKSl9OwpnLmlIPWZ1bmN0aW9uKG4sVyxEKXtEP2cuVUkobixXKTpnLkVJKG4sVyl9Owp1SD1mdW5jdGlvbigpe307CllBMT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2Ygb0Z8fG4gaW5zdGFuY2VvZiBkWHx8biBpbnN0YW5jZW9mIHpLKXJldHVybiBuO2lmKHR5cGVvZiBuLm5leHQ9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bik7CmlmKHR5cGVvZiBuW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bltTeW1ib2wuaXRlcmF0b3JdKCkpOwppZih0eXBlb2Ygbi5ncT09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IG9GKCgpPT5uLmdxKCkpOwp0aHJvdyBFcnJvcigiTm90IGFuIGl0ZXJhdG9yIG9yIGl0ZXJhYmxlLiIpO307CmxIPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dGhpcy5OPW47dGhpcy5LPVc7dGhpcy5XPUQ7dGhpcy5qPWI7dGhpcy5YPXY7dGhpcy5WPWs7dGhpcy5KPWg7dGhpcy5ZPXh9OwpUSz1mdW5jdGlvbihuLFcpe2lmKFc9PTApcmV0dXJuIG4uTjtpZihXPT0xKXJldHVybiBuLko7dmFyIEQ9d1Eobi5OLG4uVyxXKSxiPXdRKG4uVyxuLlgsVyk7bj13UShuLlgsbi5KLFcpO0Q9d1EoRCxiLFcpO2I9d1EoYixuLFcpO3JldHVybiB3UShELGIsVyl9OwpIMGk9ZnVuY3Rpb24obixXKXt2YXIgRD0oVy1uLk4pLyhuLkotbi5OKTtpZihEPD0wKXJldHVybiAwO2lmKEQ+PTEpcmV0dXJuIDE7dmFyIGI9MCx2PTEsaz0wO2Zvcih2YXIgaD0wO2g8ODtoKyspe2s9VEsobixEKTtsZXQgeD0oVEsobixEKzFFLTYpLWspLzFFLTY7aWYoTWF0aC5hYnMoay1XKTwxRS02KXJldHVybiBEO2lmKE1hdGguYWJzKHgpPDFFLTYpYnJlYWs7ZWxzZSBrPFc/Yj1EOnY9RCxELT0oay1XKS94fWZvcihoPTA7TWF0aC5hYnMoay1XKT4xRS02JiZoPDg7aCsrKWs8Vz8oYj1ELEQ9KEQrdikvMik6KHY9RCxEPShEK2IpLzIpLGs9VEsobixEKTtyZXR1cm4gRH07CmpBPWZ1bmN0aW9uKG4pe3JldHVybihuPW4uZXhlYyhnLlhRKCkpKT9uWzFdOiIifTsKQ189ZnVuY3Rpb24obil7cmV0dXJuIGcuY1ooZlgyLG4pPj0wfTsKQks9ZnVuY3Rpb24obil7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuVj0xO3RoaXMuVz1bXTt0aGlzLlg9MDt0aGlzLk49W107dGhpcy5KPXt9O3RoaXMuSz0hIW59OwpKNHI9ZnVuY3Rpb24obixXLEQpe2cubUsoZnVuY3Rpb24oKXtuLmFwcGx5KFcsRCl9KX07CmcuRmQ9ZnVuY3Rpb24obil7dGhpcy5OPW59Owp3WD1mdW5jdGlvbihuKXt0aGlzLk49bn07Ck13PWZ1bmN0aW9uKG4pe3RoaXMuZGF0YT1ufTsKUkY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT12b2lkIDB8fG4gaW5zdGFuY2VvZiBNdz9uOm5ldyBNdyhuKX07ClFLPWZ1bmN0aW9uKG4pe3RoaXMuTj1ufTsKVks9ZnVuY3Rpb24obil7dGhpcy5OPW59OwpJWDE9ZnVuY3Rpb24oKXt9OwpjSz1mdW5jdGlvbigpe307CmFGPWZ1bmN0aW9uKG4pe3RoaXMuTj1uO3RoaXMuSj1udWxsfTsKbmU9ZnVuY3Rpb24obil7aWYobi5OPT1udWxsKXRocm93IEVycm9yKCJTdG9yYWdlIG1lY2hhbmlzbTogU3RvcmFnZSB1bmF2YWlsYWJsZSIpO24uaXNBdmFpbGFibGUoKXx8aDQoRXJyb3IoIlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIHVuYXZhaWxhYmxlIikpfTsKV1M9ZnVuY3Rpb24oKXt2YXIgbj1udWxsO3RyeXtuPWcucWkubG9jYWxTdG9yYWdlfHxudWxsfWNhdGNoKFcpe31hRi5jYWxsKHRoaXMsbil9OwpEUT1mdW5jdGlvbigpe3ZhciBuPW51bGw7dHJ5e249Zy5xaS5zZXNzaW9uU3RvcmFnZXx8bnVsbH1jYXRjaChXKXt9YUYuY2FsbCh0aGlzLG4pfTsKYkM9ZnVuY3Rpb24obixXKXt0aGlzLko9bjt0aGlzLk49VysiOjoifTsKZy52Uz1mdW5jdGlvbihuKXt2YXIgVz1uZXcgV1M7cmV0dXJuIFcuaXNBdmFpbGFibGUoKT9uP25ldyBiQyhXLG4pOlc6bnVsbH07CmtqPWZ1bmN0aW9uKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9Owp4aj1mdW5jdGlvbihuKXt2YXIgVyxELGI9bi5sZW5ndGgsdj0wO2ZvcihXPTA7VzxiO1crKyl7dmFyIGs9bi5jaGFyQ29kZUF0KFcpO2lmKChrJjY0NTEyKT09PTU1Mjk2JiZXKzE8Yil7dmFyIGg9bi5jaGFyQ29kZUF0KFcrMSk7KGgmNjQ1MTIpPT09NTYzMjAmJihrPTY1NTM2KyhrLTU1Mjk2PDwxMCkrKGgtNTYzMjApLFcrKyl9dis9azwxMjg/MTprPDIwNDg/MjprPDY1NTM2PzM6NH12YXIgeD1uZXcgaGsuT20odik7Zm9yKFc9RD0wO0Q8djtXKyspaz1uLmNoYXJDb2RlQXQoVyksKGsmNjQ1MTIpPT09NTUyOTYmJlcrMTxiJiYoaD1uLmNoYXJDb2RlQXQoVysxKSwoaCY2NDUxMik9PT01NjMyMCYmKGs9NjU1MzYrKGstNTUyOTY8PDEwKSsoaC01NjMyMCksVysrKSksazwxMjg/eFtEKytdPWs6KGs8MjA0OD94W0QrK109MTkyfGs+Pj42OihrPDY1NTM2P3hbRCsrXT0yMjR8az4+PjEyOih4W0QrK109MjQwfGs+Pj4xOCx4W0QrK109MTI4fGs+Pj4xMiY2MykseFtEKytdPTEyOHxrPj4+CjYmNjMpLHhbRCsrXT0xMjh8ayY2Myk7cmV0dXJuIHh9OwpMZT1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5sZW5ndGg7LS1XPj0wOyluW1ddPTB9Owpldj1mdW5jdGlvbihuLFcsRCxiLHYpe3RoaXMua089bjt0aGlzLmJFPVc7dGhpcy50cD1EO3RoaXMuYXo9Yjt0aGlzLnVIPXY7dGhpcy5aZD1uJiZuLmxlbmd0aH07CnZhciBTQTE9ZnVuY3Rpb24obil7cmV0dXJuIGc3W0lbMTBdXSh0aGlzLDI1LDYzMjIsbil9Owp0az1mdW5jdGlvbihuLFcpe3RoaXMuTTA9bjt0aGlzLnJPPTA7dGhpcy5BWj1XfTsKcjc9ZnVuY3Rpb24obixXKXtuLkZCW24ucGVuZGluZysrXT1XJjI1NTtuLkZCW24ucGVuZGluZysrXT1XPj4+OCYyNTV9OwpzJD1mdW5jdGlvbihuLFcsRCl7bi5ZSD4xNi1EPyhuLlJKfD1XPDxuLllIJjY1NTM1LHI3KG4sbi5SSiksbi5SSj1XPj4xNi1uLllILG4uWUgrPUQtMTYpOihuLlJKfD1XPDxuLllIJjY1NTM1LG4uWUgrPUQpfTsKTjY9ZnVuY3Rpb24obixXLEQpe3MkKG4sRFtXKjJdLERbVyoyKzFdKX07CnBlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtkbyBEfD1uJjEsbj4+Pj0xLEQ8PD0xO3doaWxlKC0tVz4wKTtyZXR1cm4gRD4+PjF9OwpZaj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9QXJyYXkoMTYpLHY9MCxrO2ZvcihrPTE7azw9MTU7aysrKWJba109dj12K0Rbay0xXTw8MTtmb3IoRD0wO0Q8PVc7RCsrKXY9bltEKjIrMV0sdiE9PTAmJihuW0QqMl09cGUoYlt2XSsrLHYpKX07CkhTPWZ1bmN0aW9uKG4pe3ZhciBXO2ZvcihXPTA7VzwyODY7VysrKW4ua0dbVyoyXT0wO2ZvcihXPTA7VzwzMDtXKyspbi5sZltXKjJdPTA7Zm9yKFc9MDtXPDE5O1crKyluLndoW1cqMl09MDtuLmtHWzUxMl09MTtuLlhSPW4uVHY9MDtuLndYPW4ubWF0Y2hlcz0wfTsKZmU9ZnVuY3Rpb24obil7bi5ZSD44P3I3KG4sbi5SSik6bi5ZSD4wJiYobi5GQltuLnBlbmRpbmcrK109bi5SSik7bi5SSj0wO24uWUg9MH07CkprPWZ1bmN0aW9uKG4sVyxEKXtmZShuKTtyNyhuLEQpO3I3KG4sfkQpO2hrLlA3KG4uRkIsbi53aW5kb3csVyxELG4ucGVuZGluZyk7bi5wZW5kaW5nKz1EfTsKSVM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9VyoyLGs9RCoyO3JldHVybiBuW3ZdPG5ba118fG5bdl09PT1uW2tdJiZiW1ddPD1iW0RdfTsKU3Y9ZnVuY3Rpb24obixXLEQpe2Zvcih2YXIgYj1uLmhlYXBbRF0sdj1EPDwxO3Y8PW4uVW47KXt2PG4uVW4mJklTKFcsbi5oZWFwW3YrMV0sbi5oZWFwW3ZdLG4uZGVwdGgpJiZ2Kys7aWYoSVMoVyxiLG4uaGVhcFt2XSxuLmRlcHRoKSlicmVhaztuLmhlYXBbRF09bi5oZWFwW3ZdO0Q9djt2PDw9MX1uLmhlYXBbRF09Yn07ClUkPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0wO2lmKG4ud1ghPT0wKXtkb3t2YXIgdj1uLkZCW24uQTgrYioyXTw8OHxuLkZCW24uQTgrYioyKzFdO3ZhciBrPW4uRkJbbi50YStiXTtiKys7aWYodj09PTApTjYobixrLFcpO2Vsc2V7dmFyIGg9QWtba107TjYobixoKzI1NisxLFcpO3ZhciB4PW0kW2hdO3ghPT0wJiYoay09S2VbaF0scyQobixrLHgpKTt2LS07aD12PDI1Nj9PJFt2XTpPJFsyNTYrKHY+Pj43KV07TjYobixoLEQpO3g9UFNbaF07eCE9PTAmJih2LT1aUVtoXSxzJChuLHYseCkpfX13aGlsZShiPG4ud1gpfU42KG4sMjU2LFcpfTsKRSQ9ZnVuY3Rpb24obixXKXt2YXIgRD1XLk0wLGI9Vy5BWi5rTyx2PVcuQVouWmQsaz1XLkFaLmF6LGgseD0tMTtuLlVuPTA7bi5PND01NzM7Zm9yKGg9MDtoPGs7aCsrKURbaCoyXSE9PTA/KG4uaGVhcFsrK24uVW5dPXg9aCxuLmRlcHRoW2hdPTApOkRbaCoyKzFdPTA7Zm9yKDtuLlVuPDI7KXt2YXIgTD1uLmhlYXBbKytuLlVuXT14PDI/Kyt4OjA7RFtMKjJdPTE7bi5kZXB0aFtMXT0wO24uWFItLTt2JiYobi5Udi09YltMKjIrMV0pfVcuck89eDtmb3IoaD1uLlVuPj4xO2g+PTE7aC0tKVN2KG4sRCxoKTtMPWs7ZG8gaD1uLmhlYXBbMV0sbi5oZWFwWzFdPW4uaGVhcFtuLlVuLS1dLFN2KG4sRCwxKSxiPW4uaGVhcFsxXSxuLmhlYXBbLS1uLk80XT1oLG4uaGVhcFstLW4uTzRdPWIsRFtMKjJdPURbaCoyXStEW2IqMl0sbi5kZXB0aFtMXT0obi5kZXB0aFtoXT49bi5kZXB0aFtiXT9uLmRlcHRoW2hdOm4uZGVwdGhbYl0pKzEsRFtoKjIrMV09RFtiKjIrMV09TCxuLmhlYXBbMV09TCsrLApTdihuLEQsMSk7d2hpbGUobi5Vbj49Mik7bi5oZWFwWy0tbi5PNF09bi5oZWFwWzFdO2g9Vy5NMDtMPVcuck87Yj1XLkFaLmtPO3Y9Vy5BWi5aZDtrPVcuQVouYkU7dmFyIGU9Vy5BWi50cCxHPVcuQVoudUgscixOPTA7Zm9yKHI9MDtyPD0xNTtyKyspbi5WbltyXT0wO2hbbi5oZWFwW24uTzRdKjIrMV09MDtmb3IoVz1uLk80KzE7Vzw1NzM7VysrKXt2YXIgSD1uLmhlYXBbV107cj1oW2hbSCoyKzFdKjIrMV0rMTtyPkcmJihyPUcsTisrKTtoW0gqMisxXT1yO2lmKCEoSD5MKSl7bi5WbltyXSsrO3ZhciBBPTA7SD49ZSYmKEE9a1tILWVdKTt2YXIgeT1oW0gqMl07bi5YUis9eSoocitBKTt2JiYobi5Udis9eSooYltIKjIrMV0rQSkpfX1pZihOIT09MCl7ZG97Zm9yKHI9Ry0xO24uVm5bcl09PT0wOylyLS07bi5WbltyXS0tO24uVm5bcisxXSs9MjtuLlZuW0ddLS07Ti09Mn13aGlsZShOPjApO2ZvcihyPUc7ciE9PTA7ci0tKWZvcihIPW4uVm5bcl07SCE9PTA7KWI9bi5oZWFwWy0tV10sCmI+THx8KGhbYioyKzFdIT09ciYmKG4uWFIrPShyLWhbYioyKzFdKSpoW2IqMl0saFtiKjIrMV09ciksSC0tKX1ZaihELHgsbi5Wbil9OwppQz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO1dbKEQrMSkqMisxXT02NTUzNTtmb3IoYj0wO2I8PUQ7YisrKXt2YXIgZT1rO2s9V1soYisxKSoyKzFdOysraDx4JiZlPT09a3x8KGg8TD9uLndoW2UqMl0rPWg6ZSE9PTA/KGUhPT12JiZuLndoW2UqMl0rKyxuLndoWzMyXSsrKTpoPD0xMD9uLndoWzM0XSsrOm4ud2hbMzZdKyssaD0wLHY9ZSxrPT09MD8oeD0xMzgsTD0zKTplPT09az8oeD02LEw9Myk6KHg9NyxMPTQpKX19Owp1Qz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO2ZvcihiPTA7Yjw9RDtiKyspe3ZhciBlPWs7az1XWyhiKzEpKjIrMV07aWYoISgrK2g8eCYmZT09PWspKXtpZihoPEwpe2RvIE42KG4sZSxuLndoKTt3aGlsZSgtLWghPT0wKX1lbHNlIGUhPT0wPyhlIT09diYmKE42KG4sZSxuLndoKSxoLS0pLE42KG4sMTYsbi53aCkscyQobixoLTMsMikpOmg8PTEwPyhONihuLDE3LG4ud2gpLHMkKG4saC0zLDMpKTooTjYobiwxOCxuLndoKSxzJChuLGgtMTEsNykpO2g9MDt2PWU7az09PTA/KHg9MTM4LEw9Myk6ZT09PWs/KHg9NixMPTMpOih4PTcsTD00KX19fTsKQTR4PWZ1bmN0aW9uKG4pe3ZhciBXPTQwOTM2MjQ0NDcsRDtmb3IoRD0wO0Q8PTMxO0QrKyxXPj4+PTEpaWYoVyYxJiZuLmtHW0QqMl0hPT0wKXJldHVybiAwO2lmKG4ua0dbMThdIT09MHx8bi5rR1syMF0hPT0wfHxuLmtHWzI2XSE9PTApcmV0dXJuIDE7Zm9yKEQ9MzI7RDwyNTY7RCsrKWlmKG4ua0dbRCoyXSE9PTApcmV0dXJuIDE7cmV0dXJuIDB9OwpvUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47aWYoIShuKzQmNykpe0Q9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO3ZhciBrPWJbMF07YlswXT1iW0RdO2JbRF09azt2YXIgaD1bRF19KG4rOSY1KT09MSYmYltJWzNdXShiW0lbNV1dLDAsRCk7cmV0dXJuIGh9OwpkNz1mdW5jdGlvbihuLFcsRCl7bi5GQltuLkE4K24ud1gqMl09Vz4+PjgmMjU1O24uRkJbbi5BOCtuLndYKjIrMV09VyYyNTU7bi5GQltuLnRhK24ud1hdPUQmMjU1O24ud1grKztXPT09MD9uLmtHW0QqMl0rKzoobi5tYXRjaGVzKyssVy0tLG4ua0dbKEFrW0RdKzI1NisxKSoyXSsrLG4ubGZbKFc8MjU2P08kW1ddOk8kWzI1NisoVz4+PjcpXSkqMl0rKyk7cmV0dXJuIG4ud1g9PT1uLktYLTF9OwpsQz1mdW5jdGlvbihuLFcpe24ubXNnPXpCW1ddO3JldHVybiBXfTsKVEI9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW4ubGVuZ3RoOy0tVz49MDspbltXXT0wfTsKanY9ZnVuY3Rpb24obil7dmFyIFc9bi5zdGF0ZSxEPVcucGVuZGluZztEPm4udVImJihEPW4udVIpO0QhPT0wJiYoaGsuUDcobi5vdXRwdXQsVy5GQixXLmhSLEQsbi51Zyksbi51Zys9RCxXLmhSKz1ELG4udEIrPUQsbi51Ui09RCxXLnBlbmRpbmctPUQsVy5wZW5kaW5nPT09MCYmKFcuaFI9MCkpfTsKdzc9ZnVuY3Rpb24obixXKXt2YXIgRD1uLk9LPj0wP24uT0s6LTEsYj1uLnFzLW4uT0ssdj0wO2lmKG4ubGV2ZWw+MCl7bi5UUi5xUz09PTImJihuLlRSLnFTPUE0eChuKSk7RSQobixuLlFmKTtFJChuLG4uYVMpO2lDKG4sbi5rRyxuLlFmLnJPKTtpQyhuLG4ubGYsbi5hUy5yTyk7RSQobixuLm1NKTtmb3Iodj0xODt2Pj0zJiZuLndoW0NlW3ZdKjIrMV09PT0wO3YtLSk7bi5YUis9MyoodisxKSs1KzUrNDt2YXIgaz1uLlhSKzMrNz4+PjM7dmFyIGg9bi5UdiszKzc+Pj4zO2g8PWsmJihrPWgpfWVsc2Ugaz1oPWIrNTtpZihiKzQ8PWsmJkQhPT0tMSlzJChuLFc/MTowLDMpLEprKG4sRCxiKTtlbHNlIGlmKG4uc3RyYXRlZ3k9PT00fHxoPT09aylzJChuLDIrKFc/MTowKSwzKSxVJChuLEJTLEY5KTtlbHNle3MkKG4sNCsoVz8xOjApLDMpO0Q9bi5RZi5yTysxO2I9bi5hUy5yTysxO3YrPTE7cyQobixELTI1Nyw1KTtzJChuLGItMSw1KTtzJChuLHYtNCw0KTtmb3Ioaz0wO2s8djtrKyspcyQobiwKbi53aFtDZVtrXSoyKzFdLDMpO3VDKG4sbi5rRyxELTEpO3VDKG4sbi5sZixiLTEpO1UkKG4sbi5rRyxuLmxmKX1IUyhuKTtXJiZmZShuKTtuLk9LPW4ucXM7anYobi5UUil9OwpNNj1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVd9OwpSUz1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVc+Pj44JjI1NTtuLkZCW24ucGVuZGluZysrXT1XJjI1NX07ClF0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5lYixiPW4ucXMsdj1uLlRhLGs9bi5PUixoPW4ucXM+bi54ci0yNjI/bi5xcy0obi54ci0yNjIpOjAseD1uLndpbmRvdyxMPW4ueWUsZT1uLlJULEc9bi5xcysyNTgscj14W2Irdi0xXSxOPXhbYit2XTtuLlRhPj1uLnIkJiYoRD4+PTIpO2s+bi5HVyYmKGs9bi5HVyk7ZG97dmFyIEg9VztpZih4W0grdl09PT1OJiZ4W0grdi0xXT09PXImJnhbSF09PT14W2JdJiZ4WysrSF09PT14W2IrMV0pe2IrPTI7Zm9yKEgrKzt4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmYjxHOyk7SD0yNTgtKEctYik7Yj1HLTI1ODtpZihIPnYpe24uUVo9Vzt2PUg7aWYoSD49aylicmVhaztyPXhbYit2LTFdO049eFtiK3ZdfX19d2hpbGUoKFc9ZVtXJkxdKT5oJiYtLUQhPT0KMCk7cmV0dXJuIHY8PW4uR1c/djpuLkdXfTsKYVM9ZnVuY3Rpb24obil7dmFyIFc9bi54cixEO2Rve3ZhciBiPW4uYlgtbi5HVy1uLnFzO2lmKG4ucXM+PVcrKFctMjYyKSl7aGsuUDcobi53aW5kb3csbi53aW5kb3csVyxXLDApO24uUVotPVc7bi5xcy09VztuLk9LLT1XO3ZhciB2PUQ9bi5BeTtkb3t2YXIgaz1uLmhlYWRbLS12XTtuLmhlYWRbdl09az49Vz9rLVc6MH13aGlsZSgtLUQpO3Y9RD1XO2RvIGs9bi5SVFstLXZdLG4uUlRbdl09az49Vz9rLVc6MDt3aGlsZSgtLUQpO2IrPVd9aWYobi5UUi5CQT09PTApYnJlYWs7dj1uLlRSO0Q9bi53aW5kb3c7az1uLnFzK24uR1c7dmFyIGg9di5CQTtoPmImJihoPWIpO2g9PT0wP0Q9MDoodi5CQS09aCxoay5QNyhELHYuaW5wdXQsdi5VWixoLGspLHYuc3RhdGUud3JhcD09PTE/di5nST1WdCh2LmdJLEQsaCxrKTp2LnN0YXRlLndyYXA9PT0yJiYodi5nST1jUyh2LmdJLEQsaCxrKSksdi5VWis9aCx2LkVtKz1oLEQ9aCk7bi5HVys9RDtpZihuLkdXK24ucXA+PTMpZm9yKGI9bi5xcy1uLnFwLApuLnBBPW4ud2luZG93W2JdLG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYisxXSkmbi5sQjtuLnFwJiYhKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYiszLTFdKSZuLmxCLG4uUlRbYiZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPWIsYisrLG4ucXAtLSxuLkdXK24ucXA8Myk7KTt9d2hpbGUobi5HVzwyNjImJm4uVFIuQkEhPT0wKX07Cm53PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO0QhPT0wJiZuLnFzLUQ8PW4ueHItMjYyJiYobi5mQT1RdChuLEQpKTtpZihuLmZBPj0zKWlmKEQ9ZDcobixuLnFzLW4uUVosbi5mQS0zKSxuLkdXLT1uLmZBLG4uZkE8PW4uUmImJm4uR1c+PTMpe24uZkEtLTtkbyBuLnFzKyssbi5wQT0obi5wQTw8bi5IY15uLndpbmRvd1tuLnFzKzMtMV0pJm4ubEIsbi5SVFtuLnFzJm4ueWVdPW4uaGVhZFtuLnBBXSxuLmhlYWRbbi5wQV09bi5xczt3aGlsZSgtLW4uZkEhPT0wKTtuLnFzKyt9ZWxzZSBuLnFzKz1uLmZBLG4uZkE9MCxuLnBBPW4ud2luZG93W24ucXNdLG4ucEE9KG4ucEE8PG4uSGNeCm4ud2luZG93W24ucXMrMV0pJm4ubEI7ZWxzZSBEPWQ3KG4sMCxuLndpbmRvd1tuLnFzXSksbi5HVy0tLG4ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9bi5xczwyP24ucXM6MjtyZXR1cm4gVz09PTQ/KHc3KG4sITApLG4uVFIudVI9PT0wPzM6NCk6bi53WCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKT8xOjJ9OwpXVj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRCxiOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO24uVGE9bi5mQTtuLkx2PW4uUVo7bi5mQT0yO0QhPT0wJiZuLlRhPG4uUmImJm4ucXMtRDw9bi54ci0yNjImJihuLmZBPVF0KG4sRCksbi5mQTw9NSYmKG4uc3RyYXRlZ3k9PT0xfHxuLmZBPT09MyYmbi5xcy1uLlFaPjQwOTYpJiYobi5mQT0yKSk7aWYobi5UYT49MyYmbi5mQTw9bi5UYSl7Yj1uLnFzK24uR1ctMztEPWQ3KG4sbi5xcy0xLW4uTHYsbi5UYS0zKTtuLkdXLT1uLlRhLTE7bi5UYS09Mjtkbysrbi5xczw9YiYmKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbbi5xcyszLTFdKSZuLmxCLG4uUlRbbi5xcyZuLnllXT0Kbi5oZWFkW24ucEFdLG4uaGVhZFtuLnBBXT1uLnFzKTt3aGlsZSgtLW4uVGEhPT0wKTtuLlJGPTA7bi5mQT0yO24ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfWVsc2UgaWYobi5SRil7aWYoKEQ9ZDcobiwwLG4ud2luZG93W24ucXMtMV0pKSYmdzcobiwhMSksbi5xcysrLG4uR1ctLSxuLlRSLnVSPT09MClyZXR1cm4gMX1lbHNlIG4uUkY9MSxuLnFzKyssbi5HVy0tfW4uUkYmJihkNyhuLDAsbi53aW5kb3dbbi5xcy0xXSksbi5SRj0wKTtuLnFwPW4ucXM8Mj9uLnFzOjI7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKbXhqPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBELGIsdixrPW4ud2luZG93Ozspe2lmKG4uR1c8PTI1OCl7YVMobik7aWYobi5HVzw9MjU4JiZXPT09MClyZXR1cm4gMTtpZihuLkdXPT09MClicmVha31uLmZBPTA7aWYobi5HVz49MyYmbi5xcz4wJiYoYj1uLnFzLTEsRD1rW2JdLEQ9PT1rWysrYl0mJkQ9PT1rWysrYl0mJkQ9PT1rWysrYl0pKXtmb3Iodj1uLnFzKzI1ODtEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZiPHY7KTtuLmZBPTI1OC0odi1iKTtuLmZBPm4uR1cmJihuLmZBPW4uR1cpfW4uZkE+PTM/KEQ9ZDcobiwxLG4uZkEtMyksbi5HVy09bi5mQSxuLnFzKz1uLmZBLG4uZkE9MCk6KEQ9ZDcobiwwLG4ud2luZG93W24ucXNdKSxuLkdXLS0sbi5xcysrKTtpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9MDtyZXR1cm4gVz09PQo0Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKS3hVPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c9PT0wJiYoYVMobiksbi5HVz09PTApKXtpZihXPT09MClyZXR1cm4gMTticmVha31uLmZBPTA7RD1kNyhuLDAsbi53aW5kb3dbbi5xc10pO24uR1ctLTtuLnFzKys7aWYoRCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKREU9ZnVuY3Rpb24obixXLEQsYix2KXt0aGlzLm5rPW47dGhpcy5ZOD1XO3RoaXMuRWs9RDt0aGlzLlNSPWI7dGhpcy5mdW5jPXZ9OwpPMGk9ZnVuY3Rpb24oKXt0aGlzLlRSPW51bGw7dGhpcy5zdGF0dXM9MDt0aGlzLkZCPW51bGw7dGhpcy53cmFwPXRoaXMucGVuZGluZz10aGlzLmhSPXRoaXMueXY9MDt0aGlzLkZRPW51bGw7dGhpcy5HST0wO3RoaXMubWV0aG9kPTg7dGhpcy5obz0tMTt0aGlzLnllPXRoaXMuclo9dGhpcy54cj0wO3RoaXMud2luZG93PW51bGw7dGhpcy5iWD0wO3RoaXMuaGVhZD10aGlzLlJUPW51bGw7dGhpcy5PUj10aGlzLnIkPXRoaXMuc3RyYXRlZ3k9dGhpcy5sZXZlbD10aGlzLlJiPXRoaXMuZWI9dGhpcy5UYT10aGlzLkdXPXRoaXMuUVo9dGhpcy5xcz10aGlzLlJGPXRoaXMuTHY9dGhpcy5mQT10aGlzLk9LPXRoaXMuSGM9dGhpcy5sQj10aGlzLll2PXRoaXMuQXk9dGhpcy5wQT0wO3RoaXMua0c9bmV3IGhrLm1LKDExNDYpO3RoaXMubGY9bmV3IGhrLm1LKDEyMik7dGhpcy53aD1uZXcgaGsubUsoNzgpO1RCKHRoaXMua0cpO1RCKHRoaXMubGYpO1RCKHRoaXMud2gpO3RoaXMubU09dGhpcy5hUz0KdGhpcy5RZj1udWxsO3RoaXMuVm49bmV3IGhrLm1LKDE2KTt0aGlzLmhlYXA9bmV3IGhrLm1LKDU3Myk7VEIodGhpcy5oZWFwKTt0aGlzLk80PXRoaXMuVW49MDt0aGlzLmRlcHRoPW5ldyBoay5tSyg1NzMpO1RCKHRoaXMuZGVwdGgpO3RoaXMuWUg9dGhpcy5SSj10aGlzLnFwPXRoaXMubWF0Y2hlcz10aGlzLlR2PXRoaXMuWFI9dGhpcy5BOD10aGlzLndYPXRoaXMuS1g9dGhpcy50YT0wfTsKUHAxPWZ1bmN0aW9uKG4sVyl7aWYoIW58fCFuLnN0YXRlfHxXPjV8fFc8MClyZXR1cm4gbj9sQyhuLC0yKTotMjt2YXIgRD1uLnN0YXRlO2lmKCFuLm91dHB1dHx8IW4uaW5wdXQmJm4uQkEhPT0wfHxELnN0YXR1cz09PTY2NiYmVyE9PTQpcmV0dXJuIGxDKG4sbi51Uj09PTA/LTU6LTIpO0QuVFI9bjt2YXIgYj1ELmhvO0QuaG89VztpZihELnN0YXR1cz09PTQyKWlmKEQud3JhcD09PTIpbi5nST0wLE02KEQsMzEpLE02KEQsMTM5KSxNNihELDgpLEQuRlE/KE02KEQsKEQuRlEudGV4dD8xOjApKyhELkZRLnZMPzI6MCkrKEQuRlEuZXh0cmE/NDowKSsoRC5GUS5uYW1lPzg6MCkrKEQuRlEuY29tbWVudD8xNjowKSksTTYoRCxELkZRLnRpbWUmMjU1KSxNNihELEQuRlEudGltZT4+OCYyNTUpLE02KEQsRC5GUS50aW1lPj4xNiYyNTUpLE02KEQsRC5GUS50aW1lPj4yNCYyNTUpLE02KEQsRC5sZXZlbD09PTk/MjpELnN0cmF0ZWd5Pj0yfHxELmxldmVsPDI/NDowKSxNNihELEQuRlEub3MmCjI1NSksRC5GUS5leHRyYSYmRC5GUS5leHRyYS5sZW5ndGgmJihNNihELEQuRlEuZXh0cmEubGVuZ3RoJjI1NSksTTYoRCxELkZRLmV4dHJhLmxlbmd0aD4+OCYyNTUpKSxELkZRLnZMJiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLDApKSxELkdJPTAsRC5zdGF0dXM9NjkpOihNNihELDApLE02KEQsMCksTTYoRCwwKSxNNihELDApLE02KEQsMCksTTYoRCxELmxldmVsPT09OT8yOkQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj80OjApLE02KEQsMyksRC5zdGF0dXM9MTEzKTtlbHNle3ZhciB2PTgrKEQuclotODw8NCk8PDg7dnw9KEQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj8wOkQubGV2ZWw8Nj8xOkQubGV2ZWw9PT02PzI6Myk8PDY7RC5xcyE9PTAmJih2fD0zMik7RC5zdGF0dXM9MTEzO1JTKEQsdisoMzEtdiUzMSkpO0QucXMhPT0wJiYoUlMoRCxuLmdJPj4+MTYpLFJTKEQsbi5nSSY2NTUzNSkpO24uZ0k9MX1pZihELnN0YXR1cz09PTY5KWlmKEQuRlEuZXh0cmEpe2Zvcih2PQpELnBlbmRpbmc7RC5HSTwoRC5GUS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoRC5wZW5kaW5nIT09RC55dnx8KEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZyE9PUQueXYpKTspTTYoRCxELkZRLmV4dHJhW0QuR0ldJjI1NSksRC5HSSsrO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO0QuR0k9PT1ELkZRLmV4dHJhLmxlbmd0aCYmKEQuR0k9MCxELnN0YXR1cz03Myl9ZWxzZSBELnN0YXR1cz03MztpZihELnN0YXR1cz09PTczKWlmKEQuRlEubmFtZSl7dj1ELnBlbmRpbmc7ZG97aWYoRC5wZW5kaW5nPT09RC55diYmKEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZz09PUQueXYpKXt2YXIgaz0xO2JyZWFrfWs9RC5HSTxELkZRLm5hbWUubGVuZ3RoPwpELkZRLm5hbWUuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5HST0wLEQuc3RhdHVzPTkxKX1lbHNlIEQuc3RhdHVzPTkxO2lmKEQuc3RhdHVzPT09OTEpaWYoRC5GUS5jb21tZW50KXt2PUQucGVuZGluZztkb3tpZihELnBlbmRpbmc9PT1ELnl2JiYoRC5GUS52TCYmRC5wZW5kaW5nPnYmJihuLmdJPWNTKG4uZ0ksRC5GQixELnBlbmRpbmctdix2KSksanYobiksdj1ELnBlbmRpbmcsRC5wZW5kaW5nPT09RC55dikpe2s9MTticmVha31rPUQuR0k8RC5GUS5jb21tZW50Lmxlbmd0aD9ELkZRLmNvbW1lbnQuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5zdGF0dXM9MTAzKX1lbHNlIEQuc3RhdHVzPQoxMDM7RC5zdGF0dXM9PT0xMDMmJihELkZRLnZMPyhELnBlbmRpbmcrMj5ELnl2JiZqdihuKSxELnBlbmRpbmcrMjw9RC55diYmKE02KEQsbi5nSSYyNTUpLE02KEQsbi5nST4+OCYyNTUpLG4uZ0k9MCxELnN0YXR1cz0xMTMpKTpELnN0YXR1cz0xMTMpO2lmKEQucGVuZGluZyE9PTApe2lmKGp2KG4pLG4udVI9PT0wKXJldHVybiBELmhvPS0xLDB9ZWxzZSBpZihuLkJBPT09MCYmKFc8PDEpLShXPjQ/OTowKTw9KGI8PDEpLShiPjQ/OTowKSYmVyE9PTQpcmV0dXJuIGxDKG4sLTUpO2lmKEQuc3RhdHVzPT09NjY2JiZuLkJBIT09MClyZXR1cm4gbEMobiwtNSk7aWYobi5CQSE9PTB8fEQuR1chPT0wfHxXIT09MCYmRC5zdGF0dXMhPT02NjYpe2I9RC5zdHJhdGVneT09PTI/S3hVKEQsVyk6RC5zdHJhdGVneT09PTM/bXhqKEQsVyk6YndbRC5sZXZlbF0uZnVuYyhELFcpO2lmKGI9PT0zfHxiPT09NClELnN0YXR1cz02NjY7aWYoYj09PTF8fGI9PT0zKXJldHVybiBuLnVSPT09MCYmKEQuaG89Ci0xKSwwO2lmKGI9PT0yJiYoVz09PTE/KHMkKEQsMiwzKSxONihELDI1NixCUyksRC5ZSD09PTE2PyhyNyhELEQuUkopLEQuUko9MCxELllIPTApOkQuWUg+PTgmJihELkZCW0QucGVuZGluZysrXT1ELlJKJjI1NSxELlJKPj49OCxELllILT04KSk6VyE9PTUmJihzJChELDAsMyksSmsoRCwwLDApLFc9PT0zJiYoVEIoRC5oZWFkKSxELkdXPT09MCYmKEQucXM9MCxELk9LPTAsRC5xcD0wKSkpLGp2KG4pLG4udVI9PT0wKSlyZXR1cm4gRC5obz0tMSwwfWlmKFchPT00KXJldHVybiAwO2lmKEQud3JhcDw9MClyZXR1cm4gMTtELndyYXA9PT0yPyhNNihELG4uZ0kmMjU1KSxNNihELG4uZ0k+PjgmMjU1KSxNNihELG4uZ0k+PjE2JjI1NSksTTYoRCxuLmdJPj4yNCYyNTUpLE02KEQsbi5FbSYyNTUpLE02KEQsbi5FbT4+OCYyNTUpLE02KEQsbi5FbT4+MTYmMjU1KSxNNihELG4uRW0+PjI0JjI1NSkpOihSUyhELG4uZ0k+Pj4xNiksUlMoRCxuLmdJJjY1NTM1KSk7anYobik7RC53cmFwPjAmJgooRC53cmFwPS1ELndyYXApO3JldHVybiBELnBlbmRpbmchPT0wPzA6MX07CnZWPWZ1bmN0aW9uKG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIHZWKSlyZXR1cm4gbmV3IHZWKG4pO249dGhpcy5vcHRpb25zPWhrLmFzc2lnbih7bGV2ZWw6LTEsbWV0aG9kOjgsY2h1bmtTaXplOjE2Mzg0LHRnOjE1LEJrOjgsc3RyYXRlZ3k6MCx0bzoiIn0sbnx8e30pO24ucmF3JiZuLnRnPjA/bi50Zz0tbi50ZzpuLkJUJiZuLnRnPjAmJm4udGc8MTYmJihuLnRnKz0xNik7dGhpcy5lcnI9MDt0aGlzLm1zZz0iIjt0aGlzLmVuZGVkPSExO3RoaXMuY2h1bmtzPVtdO3RoaXMuVFI9bmV3IGtmO3RoaXMuVFIudVI9MDt2YXIgVz10aGlzLlRSO3ZhciBEPW4ubGV2ZWwsYj1uLm1ldGhvZCx2PW4udGcsaz1uLkJrLGg9bi5zdHJhdGVneTtpZihXKXt2YXIgeD0xO0Q9PT0tMSYmKEQ9Nik7djwwPyh4PTAsdj0tdik6dj4xNSYmKHg9Mix2LT0xNik7aWYoazwxfHxrPjl8fGIhPT04fHx2PDh8fHY+MTV8fEQ8MHx8RD45fHxoPDB8fGg+NClXPWxDKFcsLTIpO2Vsc2V7dj09PTgmJih2PTkpO3ZhciBMPQpuZXcgTzBpO1cuc3RhdGU9TDtMLlRSPVc7TC53cmFwPXg7TC5GUT1udWxsO0wuclo9djtMLnhyPTE8PEwuclo7TC55ZT1MLnhyLTE7TC5Zdj1rKzc7TC5BeT0xPDxMLll2O0wubEI9TC5BeS0xO0wuSGM9fn4oKEwuWXYrMy0xKS8zKTtMLndpbmRvdz1uZXcgaGsuT20oTC54cioyKTtMLmhlYWQ9bmV3IGhrLm1LKEwuQXkpO0wuUlQ9bmV3IGhrLm1LKEwueHIpO0wuS1g9MTw8ays2O0wueXY9TC5LWCo0O0wuRkI9bmV3IGhrLk9tKEwueXYpO0wuQTg9MSpMLktYO0wudGE9MypMLktYO0wubGV2ZWw9RDtMLnN0cmF0ZWd5PWg7TC5tZXRob2Q9YjtpZihXJiZXLnN0YXRlKXtXLkVtPVcudEI9MDtXLnFTPTI7RD1XLnN0YXRlO0QucGVuZGluZz0wO0QuaFI9MDtELndyYXA8MCYmKEQud3JhcD0tRC53cmFwKTtELnN0YXR1cz1ELndyYXA/NDI6MTEzO1cuZ0k9RC53cmFwPT09Mj8wOjE7RC5obz0wO2lmKCFocil7Yj1BcnJheSgxNik7Zm9yKGs9aD0wO2s8Mjg7aysrKWZvcihLZVtrXT1oLHY9MDt2PAoxPDxtJFtrXTt2KyspQWtbaCsrXT1rO0FrW2gtMV09aztmb3Ioaz1oPTA7azwxNjtrKyspZm9yKFpRW2tdPWgsdj0wO3Y8MTw8UFNba107disrKU8kW2grK109aztmb3IoaD4+PTc7azwzMDtrKyspZm9yKFpRW2tdPWg8PDcsdj0wO3Y8MTw8UFNba10tNzt2KyspTyRbMjU2K2grK109aztmb3Iodj0wO3Y8PTE1O3YrKyliW3ZdPTA7Zm9yKHY9MDt2PD0xNDM7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7Zm9yKDt2PD0yNTU7KUJTW3YqMisxXT05LHYrKyxiWzldKys7Zm9yKDt2PD0yNzk7KUJTW3YqMisxXT03LHYrKyxiWzddKys7Zm9yKDt2PD0yODc7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7WWooQlMsMjg3LGIpO2Zvcih2PTA7djwzMDt2KyspRjlbdioyKzFdPTUsRjlbdioyXT1wZSh2LDUpO3hmPW5ldyBldihCUyxtJCwyNTcsMjg2LDE1KTtMdz1uZXcgZXYoRjksUFMsMCwzMCwxNSk7ZUg9bmV3IGV2KFtdLFowdywwLDE5LDcpO2hyPSEwfUQuUWY9bmV3IHRrKEQua0cseGYpO0QuYVM9Cm5ldyB0ayhELmxmLEx3KTtELm1NPW5ldyB0ayhELndoLGVIKTtELlJKPTA7RC5ZSD0wO0hTKEQpO0Q9MH1lbHNlIEQ9bEMoVywtMik7RD09PTAmJihXPVcuc3RhdGUsVy5iWD0yKlcueHIsVEIoVy5oZWFkKSxXLlJiPWJ3W1cubGV2ZWxdLlk4LFcuciQ9YndbVy5sZXZlbF0ubmssVy5PUj1id1tXLmxldmVsXS5FayxXLmViPWJ3W1cubGV2ZWxdLlNSLFcucXM9MCxXLk9LPTAsVy5HVz0wLFcucXA9MCxXLmZBPVcuVGE9MixXLlJGPTAsVy5wQT0wKTtXPUR9fWVsc2UgVz0tMjtpZihXIT09MCl0aHJvdyBFcnJvcih6QltXXSk7bi5oZWFkZXImJihXPXRoaXMuVFIpJiZXLnN0YXRlJiZXLnN0YXRlLndyYXA9PT0yJiYoVy5zdGF0ZS5GUT1uLmhlYWRlcik7aWYobi5Dbyl7dmFyIGU7dHlwZW9mIG4uQ289PT0ic3RyaW5nIj9lPXhqKG4uQ28pOmcyLmNhbGwobi5Dbyk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2U9bmV3IFVpbnQ4QXJyYXkobi5Dbyk6ZT1uLkNvO249dGhpcy5UUjtrPWU7aD0Kay5sZW5ndGg7aWYobiYmbi5zdGF0ZSlpZihlPW4uc3RhdGUsVz1lLndyYXAsVz09PTJ8fFc9PT0xJiZlLnN0YXR1cyE9PTQyfHxlLkdXKVc9LTI7ZWxzZXtXPT09MSYmKG4uZ0k9VnQobi5nSSxrLGgsMCkpO2Uud3JhcD0wO2g+PWUueHImJihXPT09MCYmKFRCKGUuaGVhZCksZS5xcz0wLGUuT0s9MCxlLnFwPTApLEQ9bmV3IGhrLk9tKGUueHIpLGhrLlA3KEQsayxoLWUueHIsZS54ciwwKSxrPUQsaD1lLnhyKTtEPW4uQkE7Yj1uLlVaO3Y9bi5pbnB1dDtuLkJBPWg7bi5VWj0wO24uaW5wdXQ9aztmb3IoYVMoZSk7ZS5HVz49Mzspe2s9ZS5xcztoPWUuR1ctMjtkbyBlLnBBPShlLnBBPDxlLkhjXmUud2luZG93W2srMy0xXSkmZS5sQixlLlJUW2smZS55ZV09ZS5oZWFkW2UucEFdLGUuaGVhZFtlLnBBXT1rLGsrKzt3aGlsZSgtLWgpO2UucXM9aztlLkdXPTI7YVMoZSl9ZS5xcys9ZS5HVztlLk9LPWUucXM7ZS5xcD1lLkdXO2UuR1c9MDtlLmZBPWUuVGE9MjtlLlJGPTA7bi5VWj1iO24uaW5wdXQ9CnY7bi5CQT1EO2Uud3JhcD1XO1c9MH1lbHNlIFc9LTI7aWYoVyE9PTApdGhyb3cgRXJyb3IoekJbV10pO3RoaXMuWGg9ITB9fTsKWCQ9ZnVuY3Rpb24obil7dmFyIFc9V3x8e307Vy5CVD0hMDtXPW5ldyB2VihXKTtXLnB1c2gobiwhMCk7aWYoVy5lcnIpdGhyb3cgVy5tc2d8fHpCW1cuZXJyXTtyZXR1cm4gVy5yZXN1bHR9OwpxTj1mdW5jdGlvbiguLi5uKXtyZXR1cm4gbi5sZW5ndGg9PT0wP1c9Plc6bi5sZW5ndGg9PT0xP25bMF06bi5yZWR1Y2UoKFcsRCk9PiguLi5iKT0+VyhEKC4uLmIpKSl9OwpVeGo9ZnVuY3Rpb24oKXt2YXIgbj1bXTtyZXR1cm4gVz0+KEQsYik9PntEPVcoRCxiKTt2YXIgdj0oKT0+e3Rocm93IEVycm9yKCJEaXNwYXRjaGluZyB3aGlsZSBjb25zdHJ1Y3RpbmcgeW91ciBtaWRkbGV3YXJlIGlzIG5vdCBhbGxvd2VkLiBPdGhlciBtaWRkbGV3YXJlIHdvdWxkIG5vdCBiZSBhcHBsaWVkIHRvIHRoaXMgZGlzcGF0Y2guIik7fSxrPXtnZXRTdGF0ZTpELmdldFN0YXRlLApkaXNwYXRjaDooaCwuLi54KT0+dihoLC4uLngpfTsKYj1uLm1hcChoPT5oKGspKTsKdj1xTiguLi5iKShELmRpc3BhdGNoKTtyZXR1cm57Li4uRCxkaXNwYXRjaDp2fX19Owp5NDI9ZnVuY3Rpb24obil7T2JqZWN0LmtleXMobikuZm9yRWFjaChXPT57dmFyIEQ9bltXXTtpZih0eXBlb2YgRCh2b2lkIDAse3R5cGU6R2R9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKGBUaGUgc2xpY2UgcmVkdWNlciBmb3Iga2V5ICIke1d9IiByZXR1cm5lZCB1bmRlZmluZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBJZiB0aGUgc3RhdGUgcGFzc2VkIHRvIHRoZSByZWR1Y2VyIGlzIHVuZGVmaW5lZCwgeW91IG11c3QgZXhwbGljaXRseSByZXR1cm4gdGhlIGluaXRpYWwgc3RhdGUuIFRoZSBpbml0aWFsIHN0YXRlIG1heSBub3QgYmUgdW5kZWZpbmVkLiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBzZXQgYSB2YWx1ZSBmb3IgdGhpcyByZWR1Y2VyLCB5b3UgY2FuIHVzZSBudWxsIGluc3RlYWQgb2YgdW5kZWZpbmVkLmApO2lmKHR5cGVvZiBEKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7dHIoKX1gfSk9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcihgVGhlIHNsaWNlIHJlZHVjZXIgZm9yIGtleSAiJHtXfSIgcmV0dXJuZWQgdW5kZWZpbmVkIHdoZW4gcHJvYmVkIHdpdGggYSByYW5kb20gdHlwZS4gRG9uJ3QgdHJ5IHRvIGhhbmRsZSAnJHtHZH0nIG9yIG90aGVyIGFjdGlvbnMgaW4gInJlZHV4LyoiIG5hbWVzcGFjZS4gVGhleSBhcmUgY29uc2lkZXJlZCBwcml2YXRlLiBJbnN0ZWFkLCB5b3UgbXVzdCByZXR1cm4gdGhlIGN1cnJlbnQgc3RhdGUgZm9yIGFueSB1bmtub3duIGFjdGlvbnMsIHVubGVzcyBpdCBpcyB1bmRlZmluZWQsIGluIHdoaWNoIGNhc2UgeW91IG11c3QgcmV0dXJuIHRoZSBpbml0aWFsIHN0YXRlLCByZWdhcmRsZXNzIG9mIHRoZSBhY3Rpb24gdHlwZS4gVGhlIGluaXRpYWwgc3RhdGUgbWF5IG5vdCBiZSB1bmRlZmluZWQsIGJ1dCBjYW4gYmUgbnVsbC5gKTsKfSl9OwokZj1mdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuZ2V0U3RhdGUoKSB3aGlsZSB0aGUgcmVkdWNlciBpcyBleGVjdXRpbmcuIFRoZSByZWR1Y2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIHRoZSBzdGF0ZSBhcyBhbiBhcmd1bWVudC4gUGFzcyBpdCBkb3duIGZyb20gdGhlIHRvcCByZWR1Y2VyIGluc3RlYWQgb2YgcmVhZGluZyBpdCBmcm9tIHRoZSBzdG9yZS4iKTtyZXR1cm4geH0KZnVuY3Rpb24gdihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59J2ApO2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuc3Vic2NyaWJlKCkgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBJZiB5b3Ugd291bGQgbGlrZSB0byBiZSBub3RpZmllZCBhZnRlciB0aGUgc3RvcmUgaGFzIGJlZW4gdXBkYXRlZCwgc3Vic2NyaWJlIGZyb20gYSBjb21wb25lbnQgYW5kIGludm9rZSBzdG9yZS5nZXRTdGF0ZSgpIGluIHRoZSBjYWxsYmFjayB0byBhY2Nlc3MgdGhlIGxhdGVzdCBzdGF0ZS4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL2FwaS9zdG9yZSNzdWJzY3JpYmVsaXN0ZW5lciBmb3IgbW9yZSBkZXRhaWxzLiIpO3ZhciBIPSEwO2U9PT1MJiYoZT1MLnNsaWNlKCkpO2UucHVzaChOKTtyZXR1cm4gZnVuY3Rpb24oKXtpZihIKXtpZihHKXRocm93IEVycm9yKCJZb3UgbWF5IG5vdCB1bnN1YnNjcmliZSBmcm9tIGEgc3RvcmUgbGlzdGVuZXIgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBTZWUgaHR0cHM6Ly9yZWR1eC5qcy5vcmcvYXBpL3N0b3JlI3N1YnNjcmliZWxpc3RlbmVyIGZvciBtb3JlIGRldGFpbHMuIik7Ckg9ITE7ZT09PUwmJihlPUwuc2xpY2UoKSk7ZS5zcGxpY2UoZS5pbmRleE9mKE4pLDEpO0w9bnVsbH19fQpmdW5jdGlvbiBrKE4pe2lmKHR5cGVvZiBOIT09Im9iamVjdCJ8fE49PT1udWxsKXZhciBIPSExO2Vsc2V7Zm9yKEg9TjtPYmplY3QuZ2V0UHJvdG90eXBlT2YoSCkhPT1udWxsOylIPU9iamVjdC5nZXRQcm90b3R5cGVPZihIKTtIPU9iamVjdC5nZXRQcm90b3R5cGVPZihOKT09PUh9aWYoIUgpdGhyb3cgRXJyb3IoYEFjdGlvbnMgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBJbnN0ZWFkLCB0aGUgYWN0dWFsIHR5cGUgd2FzOiAnJHt0eXBlb2YgTn0nLiBZb3UgbWF5IG5lZWQgdG8gYWRkIG1pZGRsZXdhcmUgdG8geW91ciBzdG9yZSBzZXR1cCB0byBoYW5kbGUgZGlzcGF0Y2hpbmcgb3RoZXIgdmFsdWVzLCBzdWNoIGFzICdyZWR1eC10aHVuaycgdG8gaGFuZGxlIGRpc3BhdGNoaW5nIGZ1bmN0aW9ucy4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC00LXN0b3JlI21pZGRsZXdhcmUgYW5kIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC02LWFzeW5jLWxvZ2ljI3VzaW5nLXRoZS1yZWR1eC10aHVuay1taWRkbGV3YXJlIGZvciBleGFtcGxlcy5gKTsKaWYodHlwZW9mIE4udHlwZT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCdBY3Rpb25zIG1heSBub3QgaGF2ZSBhbiB1bmRlZmluZWQgInR5cGUiIHByb3BlcnR5LiBZb3UgbWF5IGhhdmUgbWlzc3BlbGxlZCBhbiBhY3Rpb24gdHlwZSBzdHJpbmcgY29uc3RhbnQuJyk7aWYoRyl0aHJvdyBFcnJvcigiUmVkdWNlcnMgbWF5IG5vdCBkaXNwYXRjaCBhY3Rpb25zLiIpO3RyeXtHPSEwLHg9aCh4LE4pfWZpbmFsbHl7Rz0hMX1IPUw9ZTtmb3IobGV0IEE9MDtBPEgubGVuZ3RoO0ErKykoMCxIW0FdKSgpO3JldHVybiBOfQppZih0eXBlb2YgVz09PSJmdW5jdGlvbiImJnR5cGVvZiBEPT09ImZ1bmN0aW9uInx8dHlwZW9mIEQ9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSXQgbG9va3MgbGlrZSB5b3UgYXJlIHBhc3Npbmcgc2V2ZXJhbCBzdG9yZSBlbmhhbmNlcnMgdG8gY3JlYXRlU3RvcmUoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBJbnN0ZWFkLCBjb21wb3NlIHRoZW0gdG9nZXRoZXIgdG8gYSBzaW5nbGUgZnVuY3Rpb24uIFNlZSBodHRwczovL3JlZHV4LmpzLm9yZy90dXRvcmlhbHMvZnVuZGFtZW50YWxzL3BhcnQtNC1zdG9yZSNjcmVhdGluZy1hLXN0b3JlLXdpdGgtZW5oYW5jZXJzIGZvciBhbiBleGFtcGxlLiIpO3R5cGVvZiBXPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEQ9PT0idW5kZWZpbmVkIiYmKEQ9VyxXPXZvaWQgMCk7aWYodHlwZW9mIEQhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIEQhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgZW5oYW5jZXIgdG8gYmUgYSBmdW5jdGlvbi4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBEfSdgKTsKcmV0dXJuIEQoJGYpKG4sVyl9aWYodHlwZW9mIG4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgcm9vdCByZWR1Y2VyIHRvIGJlIGEgZnVuY3Rpb24uIEluc3RlYWQsIHJlY2VpdmVkOiAnJHt0eXBlb2Ygbn0nYCk7dmFyIGg9bix4PVcsTD1bXSxlPUwsRz0hMTtrKHt0eXBlOkdkfSk7dmFyIHI9e2Rpc3BhdGNoOmssc3Vic2NyaWJlOnYsZ2V0U3RhdGU6YixyZXBsYWNlUmVkdWNlcjpmdW5jdGlvbihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBuZXh0UmVkdWNlciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59YCk7aD1OO2soe3R5cGU6RUtDfSk7cmV0dXJuIHJ9LApbcjJdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShOKXtmdW5jdGlvbiBIKCl7Ti5uZXh0JiZOLm5leHQoYigpKX0KaWYodHlwZW9mIE4hPT0ib2JqZWN0Inx8Tj09PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdGhlIG9ic2VydmVyIHRvIGJlIGFuIG9iamVjdC4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBOfSdgKTtIKCk7cmV0dXJue3Vuc3Vic2NyaWJlOnYoSCl9fSxbcjJdKCl7cmV0dXJuIHRoaXN9fX19OwpyZXR1cm4gcn07Ck5OPWZ1bmN0aW9uKG4pe3JldHVybiBuPyhuPW4ucHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlU2FmZVNjcmlwdFdyYXBwZWRWYWx1ZSk/bWMobik6bnVsbDpudWxsfTsKcHc9ZnVuY3Rpb24obil7cmV0dXJuIG4/KG49bi5wcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUpP2szKG4pOm51bGw6bnVsbH07CmcuSFY9ZnVuY3Rpb24obil7bj1ZZihuKTtyZXR1cm4gZy5ITShuKX07CmZ3PWZ1bmN0aW9uKG4pe249WWYobik7cmV0dXJuIGszKG4pfTsKWWY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT1udWxsPyJudWxsIjpuPT09dm9pZCAwPyJ1bmRlZmluZWQiOm59OwpKcj1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIn07CmcuU0g9ZnVuY3Rpb24oLi4ubil7bj1hcmd1bWVudHM7dmFyIFc9SUU7bi5sZW5ndGg+MT9XW25bMF1dPW5bMV06bi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKFcsblswXSl9OwpnLkFyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4gaW4gSUU/SUVbbl06V307Cm15PWZ1bmN0aW9uKG4pe3ZhciBXPUlFLkVYUEVSSU1FTlRfRkxBR1M7cmV0dXJuIFc/V1tuXTp2b2lkIDB9OwppMGI9ZnVuY3Rpb24obil7S3cuZm9yRWFjaChXPT5XKG4pKX07ClBWPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZ3aW5kb3cueXRlcnI/ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKFcpe090KFcpfX06bn07Ck90PWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO1c/VyhuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk6KFc9Zy5BcigiRVJST1JTIixbXSksVy5wdXNoKFtuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMF0pLGcuU0goIkVSUk9SUyIsVykpO2kwYihuKX07ClpFPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9Zy5ycigieXQubG9nZ2luZy5lcnJvcnMubG9nIik7az9rKG4sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2KTooaz1nLkFyKCJFUlJPUlMiLFtdKSxrLnB1c2goW24sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2XSksZy5TSCgiRVJST1JTIixrKSl9Owp5Rj1mdW5jdGlvbihuLFcpe1c9bi5zcGxpdChXKTt2YXIgRD17fTtmb3IobGV0IGs9MCxoPVcubGVuZ3RoO2s8aDtrKyspe2xldCB4PVdba10uc3BsaXQoIj0iKTtpZih4Lmxlbmd0aD09PTEmJnhbMF18fHgubGVuZ3RoPT09Mil0cnl7bGV0IEw9VXQoeFswXXx8IiIpLGU9VXQoeFsxXXx8IiIpO2lmKEwgaW4gRCl7bGV0IEc9RFtMXTtBcnJheS5pc0FycmF5KEcpP2cuUTIoRyxlKTpEW0xdPVtHLGVdfWVsc2UgRFtMXT1lfWNhdGNoKEwpe3ZhciBiPUwsdj14WzBdO2xldCBlPVN0cmluZyh5Rik7Yi5hcmdzPVt7a2V5OnYsdmFsdWU6eFsxXSxxdWVyeTpuLG1ldGhvZDp1UWg9PT1lPyJ1bmNoYW5nZWQiOmV9XTtvS2kuaGFzT3duUHJvcGVydHkodil8fFpFKGIpfX1yZXR1cm4gRH07CmcuRXQ9ZnVuY3Rpb24obil7dmFyIFc9W107Zy5hXyhuLChELGIpPT57dmFyIHY9cWgoYik7Zy55MihBcnJheS5pc0FycmF5KEQpP0Q6W0RdLGs9PntrPT0iIj9XLnB1c2godik6Vy5wdXNoKGAke3Z9PSR7cWgoayl9YCl9KX0pOwpyZXR1cm4gVy5qb2luKCImIil9OwpnLml3PWZ1bmN0aW9uKG4pe24uY2hhckF0KDApPT09Ij8iJiYobj1uLnN1YnN0cmluZygxKSk7cmV0dXJuIHlGKG4sIiYiKX07CnV3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNwbGl0KCIsIikubWFwKFc9PmcuaXcoVykpfTsKZy5vRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCI/IikhPT0tMT8obj0obnx8IiIpLnNwbGl0KCIjIilbMF0sbj1uLnNwbGl0KCI/IiwyKSxnLml3KG4ubGVuZ3RoPjE/blsxXTpuWzBdKSk6e319OwpnLnpkPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGQyKG4sV3x8e30sITApfTsKZy5sdz1mdW5jdGlvbihuLFcpe3JldHVybiBkMihuLFd8fHt9LCExKX07CmQyPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLnNwbGl0KCIjIiwyKTtuPWJbMF07Yj1iLmxlbmd0aD4xPyIjIitiWzFdOiIiO3ZhciB2PW4uc3BsaXQoIj8iLDIpO249dlswXTt2PWcuaXcodlsxXXx8IiIpO2ZvcihsZXQgayBpbiBXKWlmKER8fCFnLmVwKHYsaykpdltrXT1XW2tdO3JldHVybiBnLkVUKG4sdikrYn07CmcuVGQ9ZnVuY3Rpb24obil7aWYoIVcpdmFyIFc9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIEQ9Zy5mcChuKVsxXXx8bnVsbCxiPWcuSVAobik7RCYmYj8obj1nLmZwKG4pLFc9Zy5mcChXKSxuPW5bM109PVdbM10mJm5bMV09PVdbMV0mJm5bNF09PVdbNF0pOm49Yj9nLklQKFcpPT09YiYmKE51bWJlcihnLmZwKFcpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKGcuZnAobilbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gbn07Cmcuakg9ZnVuY3Rpb24obil7bnx8KG49ZG9jdW1lbnQubG9jYXRpb24uaHJlZik7bj1nLmZwKG4pWzFdfHxudWxsO3JldHVybiBuIT09bnVsbCYmbj09PSJodHRwcyJ9OwpnLkJWPWZ1bmN0aW9uKG4pe249Q3cobik7cmV0dXJuIG49PT1udWxsPyExOm5bMF09PT0iY29tIiYmblsxXS5tYXRjaCgvXnlvdXR1YmUoPzpraWRzfC1ub2Nvb2tpZSk/JC8pPyEwOiExfTsKZy5GJD1mdW5jdGlvbihuKXtuPUN3KG4pO3JldHVybiBuPT09bnVsbD8hMTpuWzFdPT09Imdvb2dsZSI/ITA6blsyXT09PSJnb29nbGUiP25bMF09PT0iYXUiJiZuWzFdPT09ImNvbSI/ITA6blswXT09PSJ1ayImJm5bMV09PT0iY28iPyEwOiExOiExfTsKQ3c9ZnVuY3Rpb24obil7bj1nLklQKG4pO3JldHVybiBuIT09bnVsbD9uLnNwbGl0KCIuIikucmV2ZXJzZSgpOm51bGx9OwpVdD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmbi5tYXRjaChkeGkpP246RzUobil9OwpnLk1OPWZ1bmN0aW9uKG4pe2E6e2xldCBEO3RyeXtEPW4uTi50b3AubG9jYXRpb24uaHJlZn1jYXRjaChiKXtuPTI7YnJlYWsgYX1uPUQ/RD09PW4uSi5sb2NhdGlvbi5ocmVmPzA6MToyfW49e2R0OnpDdyxmbGFzaDoiMCIsZnJtOm59O3RyeXtuLnVfdHo9LShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt0cnl7dmFyIFc9Zy53Mi5oaXN0b3J5Lmxlbmd0aH1jYXRjaChEKXtXPTB9bi51X2hpcz1XO24udV9oPWcudzIuc2NyZWVuPy5oZWlnaHQ7bi51X3c9Zy53Mi5zY3JlZW4/LndpZHRoO24udV9haD1nLncyLnNjcmVlbj8uYXZhaWxIZWlnaHQ7bi51X2F3PWcudzIuc2NyZWVuPy5hdmFpbFdpZHRoO24udV9jZD1nLncyLnNjcmVlbj8uY29sb3JEZXB0aH1jYXRjaChEKXt9cmV0dXJuIG59OwpnLlFGPWZ1bmN0aW9uKG49SnIoKSl7dmFyIFc9Zy5SRSxEPU9iamVjdCxiPUQuYXNzaWduLHY9Zy5NTihXKTt2YXIgaz1XLk47dHJ5e3ZhciBoPWsuc2NyZWVuWDt2YXIgeD1rLnNjcmVlbll9Y2F0Y2goVCl7fXRyeXt2YXIgTD1rLm91dGVyV2lkdGg7dmFyIGU9ay5vdXRlckhlaWdodH1jYXRjaChUKXt9dHJ5e3ZhciBHPWsuaW5uZXJXaWR0aDt2YXIgcj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIE49ay5zY3JlZW5MZWZ0O3ZhciBIPWsuc2NyZWVuVG9wfWNhdGNoKFQpe310cnl7Rz1rLmlubmVyV2lkdGgscj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIEE9ay5zY3JlZW4uYXZhaWxXaWR0aDt2YXIgeT1rLnNjcmVlbi5hdmFpbFRvcH1jYXRjaChUKXt9az1bTixILGgseCxBLHksTCxlLEcscl07aD1nLnNJKCExLFcuTi50b3ApO3g9bmV3IGxYcjsiU1ZHRWxlbWVudCJpbiBnLnFpJiYiY3JlYXRlRWxlbWVudE5TImluIGcucWkuZG9jdW1lbnQmJnguc2V0KDApOwpMPVRUcigpO0xbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZ4LnNldCgxKTtMWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmeC5zZXQoMik7Zy5xaS5jcnlwdG8mJmcucWkuY3J5cHRvLnN1YnRsZSYmeC5zZXQoMyk7IlRleHREZWNvZGVyImluIGcucWkmJiJUZXh0RW5jb2RlciJpbiBnLnFpJiZ4LnNldCg0KTtXPXtiYzpOV2goeCksYmloOmguaGVpZ2h0LGJpdzpoLndpZHRoLGJyZGltOmsuam9pbigpLHZpczpnLk53KFcuSiksd2dsOiEhZy53Mi5XZWJHTFJlbmRlcmluZ0NvbnRleHR9O0Q9Yi5jYWxsKEQsdixXKTtELmNhX3R5cGU9ImltYWdlIjtuJiYoRC5iaWQ9bik7cmV0dXJuIER9OwpUVzI9ZnVuY3Rpb24oKXtpZighVkYpcmV0dXJuIG51bGw7dmFyIG49VkYoKTtyZXR1cm4ib3BlbiJpbiBuP246bnVsbH07CmFFPWZ1bmN0aW9uKG4pe3N3aXRjaChjVihuKSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDM6Y2FzZSAyMDQ6Y2FzZSAyMDU6Y2FzZSAyMDY6Y2FzZSAzMDQ6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19OwpjVj1mdW5jdGlvbihuKXtyZXR1cm4gbiYmInN0YXR1cyJpbiBuP24uc3RhdHVzOi0xfTsKZy5uJD1mdW5jdGlvbihuLFcpe3R5cGVvZiBuPT09ImZ1bmN0aW9uIiYmKG49UFYobikpO3JldHVybiB3aW5kb3cuc2V0VGltZW91dChuLFcpfTsKVzA9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09PSJmdW5jdGlvbiImJihuPVBWKG4pKTtyZXR1cm4gd2luZG93LnNldEludGVydmFsKG4sVyl9OwpEcj1mdW5jdGlvbihuKXt3aW5kb3cuY2xlYXJJbnRlcnZhbChuKX07CmcubD1mdW5jdGlvbihuLFcpe249YmIobixXKTtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIiYmbj09PSJmYWxzZSI/ITE6ISFufTsKdjA9ZnVuY3Rpb24obixXKXtyZXR1cm4gTnVtYmVyKGJiKG4sVyl8fDApfTsKa1Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5BcigiRVhQRVJJTUVOVFNfVE9LRU4iLCIiKX07CmJiPWZ1bmN0aW9uKG4sVyl7bj1nLkFyKCJFWFBFUklNRU5UX0ZMQUdTIix7fSlbbl07cmV0dXJuIG4hPT12b2lkIDA/bjpXfTsKaHk9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPWcuQXIoIkVYUEVSSU1FTlRTX0ZPUkNFRF9GTEFHUyIse30pO2Zvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhXKSluLnB1c2goe2tleTpELHZhbHVlOlN0cmluZyhXW0RdKX0pO0Q9Zy5BcigiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhEKSliLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZXW2JdPT09dm9pZCAwJiZuLnB1c2goe2tleTpiLHZhbHVlOlN0cmluZyhEW2JdKX0pO3JldHVybiBufTsKeFQ9ZnVuY3Rpb24obixXLEQ9IkdFVCIsYj0iIix2LGssaCx4PSExLEwpe3ZhciBlPVRXMigpO2lmKCFlKXJldHVybiBudWxsO3ZhciBHPSgpPT57KGUmJiJyZWFkeVN0YXRlImluIGU/ZS5yZWFkeVN0YXRlOjApPT09NCYmVyYmUFYoVykoZSl9Owoib25sb2FkZW5kImluIGU/ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixHLCExKTplLm9ucmVhZHlzdGF0ZWNoYW5nZT1HO2cubCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYobj1qMloobikpO2Uub3BlbihELG4sITApO2smJihlLnJlc3BvbnNlVHlwZT1rKTtoJiYoZS53aXRoQ3JlZGVudGlhbHM9ITApO0Q9RD09PSJQT1NUIiYmKHdpbmRvdy5Gb3JtRGF0YT09PXZvaWQgMHx8IShiIGluc3RhbmNlb2YgRm9ybURhdGEpKTtpZih2PUNwTShuLHYpKWZvcihsZXQgciBpbiB2KWUuc2V0UmVxdWVzdEhlYWRlcihyLHZbcl0pLCJjb250ZW50LXR5cGUiPT09ci50b0xvd2VyQ2FzZSgpJiYoRD0hMSk7RCYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTtMJiYib25wcm9ncmVzcyJpbiBlJiYoZS5vbnByb2dyZXNzPSgpPT57TChlLnJlc3BvbnNlVGV4dCl9KTsKaWYoeCYmInNldEF0dHJpYnV0aW9uUmVwb3J0aW5nImluIFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZSl7bj17ZXZlbnRTb3VyY2VFbGlnaWJsZTohMCx0cmlnZ2VyRWxpZ2libGU6ITF9O3RyeXtlLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKG4pfWNhdGNoKHIpe1pFKHIpfX1lLnNlbmQoYik7cmV0dXJuIGV9OwpDcE09ZnVuY3Rpb24obixXPXt9KXt2YXIgRD1nLlRkKG4pLGI9Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIiksdj1nLmwoIndlYl9hamF4X2lnbm9yZV9nbG9iYWxfaGVhZGVyc19pZl9zZXQiKTtmb3IobGV0IHggaW4gTCQpe2xldCBMPWcuQXIoTCRbeF0pLGU9eD09PSJYLUdvb2ctQXV0aFVzZXIifHx4PT09IlgtR29vZy1QYWdlSWQiO3ghPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxMfHwoTD1nLkFyKCJWSVNJVE9SX0RBVEEiKSk7dmFyIGs7aWYoIShrPSFMKSl7aWYoIShrPUR8fChnLklQKG4pPyExOiEwKSkpe2s9bjt2YXIgaDtpZihoPWcubCgiYWRkX2F1dGhfaGVhZGVyc190b19yZW1hcmtldGluZ19nb29nbGVfZG90X2NvbV9waW5nIikmJng9PT0iQXV0aG9yaXphdGlvbiImJihiPT09IlRWSFRNTDUifHxiPT09IlRWSFRNTDVfVU5QTFVHR0VEInx8Yj09PSJUVkhUTUw1X1NJTVBMWSIpJiZnLkYkKGspKWs9UzEoayl8fCIiLGs9ay5zcGxpdCgiLyIpLGs9Ii8iKyhrLmxlbmd0aD4KMT9rWzFdOiIiKSxoPWs9PT0iL3BhZ2VhZCI7az1oPyEwOiExfWs9IWt9a3x8diYmV1t4XSE9PXZvaWQgMHx8Yj09PSJUVkhUTUw1X1VOUExVR0dFRCImJmV8fChXW3hdPUwpfSJYLUdvb2ctRU9NLVZpc2l0b3ItSWQiaW4gVyYmIlgtR29vZy1WaXNpdG9yLUlkImluIFcmJmRlbGV0ZSBXWyJYLUdvb2ctVmlzaXRvci1JZCJdO2lmKER8fCFnLklQKG4pKVdbIlgtWW91VHViZS1VdGMtT2Zmc2V0Il09U3RyaW5nKC0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO2lmKER8fCFnLklQKG4pKXtsZXQgeDt0cnl7eD0obmV3IEludGwuRGF0ZVRpbWVGb3JtYXQpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lfWNhdGNoe314JiYoV1siWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPXgpfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhRCYmZy5JUChuKXx8KFdbIlgtWW91VHViZS1BZC1TaWduYWxzIl09Zy5FdChnLlFGKCkpKTtyZXR1cm4gV307Cmc4PWZ1bmN0aW9uKG4sVyl7Vy5tZXRob2Q9IlBPU1QiO1cucG9zdFBhcmFtc3x8KFcucG9zdFBhcmFtcz17fSk7cmV0dXJuIGcuZWQobixXKX07CkJXaj1mdW5jdGlvbihuLFcpe2lmKHdpbmRvdy5mZXRjaCYmVy5mb3JtYXQhPT0iWE1MIil7dmFyIEQ9e21ldGhvZDpXLm1ldGhvZHx8IkdFVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn07Vy5oZWFkZXJzJiYoRC5oZWFkZXJzPVcuaGVhZGVycyk7Vy5wcmlvcml0eSYmKEQucHJpb3JpdHk9Vy5wcmlvcml0eSk7bj1YbihuLFcpO3ZhciBiPXFYKG4sVyk7YiYmKEQuYm9keT1iKTtXLndpdGhDcmVkZW50aWFscyYmKEQuY3JlZGVudGlhbHM9ImluY2x1ZGUiKTt2YXIgdj1XLmNvbnRleHR8fGcucWksaz0hMSxoO2ZldGNoKG4sRCkudGhlbih4PT57aWYoIWspe2s9ITA7aCYmd2luZG93LmNsZWFyVGltZW91dChoKTt2YXIgTD14Lm9rLGU9Rz0+e0c9R3x8e307TD9XLm9uU3VjY2VzcyYmVy5vblN1Y2Nlc3MuY2FsbCh2LEcseCk6Vy5vbkVycm9yJiZXLm9uRXJyb3IuY2FsbCh2LEcseCk7Vy5vbkZpbmlzaCYmVy5vbkZpbmlzaC5jYWxsKHYsRyx4KX07CihXLmZvcm1hdHx8IkpTT04iKT09PSJKU09OIiYmKEx8fHguc3RhdHVzPj00MDAmJnguc3RhdHVzPDUwMCk/eC5qc29uKCkudGhlbihlLCgpPT57ZShudWxsKX0pOmUobnVsbCl9fSkuY2F0Y2goKCk9PntXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKHYse30se30pfSk7Cm49Vy50aW1lb3V0fHwwO1cub25GZXRjaFRpbWVvdXQmJm4+MCYmKGg9Zy5uJCgoKT0+e2t8fChrPSEwLHdpbmRvdy5jbGVhclRpbWVvdXQoaCksVy5vbkZldGNoVGltZW91dC5jYWxsKFcuY29udGV4dHx8Zy5xaSkpfSxuKSl9ZWxzZSBnLmVkKG4sVyl9OwpnLmVkPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5mb3JtYXR8fCJKU09OIjtuPVhuKG4sVyk7dmFyIGI9cVgobixXKSx2PSExLGs9RngxKG4seD0+e2lmKCF2KXt2PSEwO2gmJndpbmRvdy5jbGVhclRpbWVvdXQoaCk7dmFyIEw9YUUoeCksZT1udWxsLEc9NDAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NTAwLHI9NTAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NjAwO2lmKEx8fEd8fHIpZT13MjIobixELHgsVy5jb252ZXJ0VG9TYWZlSHRtbCk7TCYmKEw9TXVDKEQseCxlKSk7ZT1lfHx7fTtHPVcuY29udGV4dHx8Zy5xaTtMP1cub25TdWNjZXNzJiZXLm9uU3VjY2Vzcy5jYWxsKEcseCxlKTpXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKEcseCxlKTtXLm9uRmluaXNoJiZXLm9uRmluaXNoLmNhbGwoRyx4LGUpfX0sVy5tZXRob2QsYixXLmhlYWRlcnMsVy5yZXNwb25zZVR5cGUsVy53aXRoQ3JlZGVudGlhbHMsITEsVy5vblByb2dyZXNzKTsKYj1XLnRpbWVvdXR8fDA7aWYoVy5vblRpbWVvdXQmJmI+MCl7bGV0IHg9Vy5vblRpbWVvdXQ7dmFyIGg9Zy5uJCgoKT0+e3Z8fCh2PSEwLGsuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLHguY2FsbChXLmNvbnRleHR8fGcucWksaykpfSxiKX1yZXR1cm4ga307ClhuPWZ1bmN0aW9uKG4sVyl7Vy5pbmNsdWRlRG9tYWluJiYobj1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKyhkb2N1bWVudC5sb2NhdGlvbi5wb3J0PyI6Iitkb2N1bWVudC5sb2NhdGlvbi5wb3J0OiIiKStuKTt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKTtpZihXPVcudXJsUGFyYW1zKVdbRF0mJmRlbGV0ZSBXW0RdLG49Zy56ZChuLFcpO3JldHVybiBufTsKcVg9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKSxiPWcuQXIoIlhTUkZfVE9LRU4iKSx2PVcucG9zdEJvZHl8fCIiLGs9Vy5wb3N0UGFyYW1zLGg9Zy5BcigiWFNSRl9GSUVMRF9OQU1FIikseDtXLmhlYWRlcnMmJih4PVcuaGVhZGVyc1siQ29udGVudC1UeXBlIl0pO1cuZXhjbHVkZVhzcmZ8fGcuSVAobikmJiFXLndpdGhDcmVkZW50aWFscyYmZy5JUChuKSE9PWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfHxXLm1ldGhvZCE9PSJQT1NUInx8eCYmeCE9PSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifHxXLnBvc3RQYXJhbXMmJlcucG9zdFBhcmFtc1toXXx8KGt8fChrPXt9KSxrW0RdPWIpO2smJnR5cGVvZiB2PT09InN0cmluZyImJih2PWcuaXcodiksZy5ZeSh2LGspLHY9Vy5wb3N0Qm9keUZvcm1hdCYmVy5wb3N0Qm9keUZvcm1hdD09PSJKU09OIj9KU09OLnN0cmluZ2lmeSh2KTp5Ryh2KSk7az12fHxrJiYhZy5HRihrKTshR1EmJgprJiZXLm1ldGhvZCE9PSJQT1NUIiYmKEdRPSEwLE90KEVycm9yKCJBSkFYIHJlcXVlc3Qgd2l0aCBwb3N0RGF0YSBzaG91bGQgdXNlIFBPU1QiKSkpO3JldHVybiB2fTsKdzIyPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW51bGw7c3dpdGNoKFcpe2Nhc2UgIkpTT04iOmxldCBrO3RyeXtrPUQucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGI9RXJyb3IoIkVycm9yIHJlYWRpbmcgcmVzcG9uc2VUZXh0IiksYi5wYXJhbXM9bixaRShiKSxoO31uPUQuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpfHwiIjtpZihrJiZuLmluZGV4T2YoImpzb24iKT49MCl7ay5zdWJzdHJpbmcoMCw1KT09PSIpXX0nXG4iJiYoaz1rLnN1YnN0cmluZyg1KSk7dHJ5e3Y9SlNPTi5wYXJzZShrKX1jYXRjaChoKXt9fWJyZWFrO2Nhc2UgIlhNTCI6aWYobj0obj1ELnJlc3BvbnNlWE1MKT9SQ1Uobik6bnVsbCl2PXt9LGcueTIobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLGg9Pnt2W2gudGFnTmFtZV09UTJpKGgpfSl9YiYmdHkodik7CnJldHVybiB2fTsKdHk9ZnVuY3Rpb24obil7aWYoZy5mdChuKSlmb3IobGV0IFcgaW4gbilXPT09Imh0bWxfY29udGVudCJ8fGcuQlooVywiX2h0bWwiKT9uW1ddPWcuSE0obltXXSk6dHkobltXXSl9OwpNdUM9ZnVuY3Rpb24obixXLEQpe2lmKFcmJlcuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChuKXtjYXNlICJKU09OIjpyZXR1cm4hIUQ7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKEQmJkQucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFEfX07ClJDVT1mdW5jdGlvbihuKXtyZXR1cm4gbj8obj0oInJlc3BvbnNlWE1MImluIG4/bi5yZXNwb25zZVhNTDpuKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicm9vdCIpKSYmbi5sZW5ndGg+MD9uWzBdOm51bGw6bnVsbH07ClEyaT1mdW5jdGlvbihuKXt2YXIgVz0iIjtnLnkyKG4uY2hpbGROb2RlcyxEPT57Vys9RC5ub2RlVmFsdWV9KTsKcmV0dXJuIFd9OwpqMlo9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxEPWcuSVAobik7Zy5sKCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IUQmJmcuVGQobikmJihEPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgYj1TMShuKTtiPShEPUQmJihELmVuZHNXaXRoKCJ5b3V0dWJlLmNvbSIpfHxELmVuZHNXaXRoKCJ5b3V0dWJlLW5vY29va2llLmNvbSIpKSkmJmImJmIuc3RhcnRzV2l0aCgiL2FwaS8iKTtpZighRHx8YilyZXR1cm4gbjt2YXIgdj1nLml3KFcpLGs9e307Zy55MihWdWIsaD0+e3ZbaF0mJihrW2hdPXZbaF0pfSk7CnJldHVybiBnLmx3KG4sayl9OwpnLnI4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5zMChXKSxiO3JldHVybihuZXcgZy5YMSgodixrKT0+e0Qub25TdWNjZXNzPWg9PnthRShoKT92KG5ldyBjNFUoaCkpOmsobmV3IGcuJFQoYFJlcXVlc3QgZmFpbGVkLCBzdGF0dXM9JHtjVihoKX1gLCJuZXQuYmFkc3RhdHVzIixoKSl9OwpELm9uRXJyb3I9aD0+e2sobmV3IGcuJFQoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIixoKSl9OwpELm9uVGltZW91dD1oPT57ayhuZXcgZy4kVCgiUmVxdWVzdCB0aW1lZCBvdXQiLCJuZXQudGltZW91dCIsaCkpfTsKYj1nLmVkKG4sRCl9KSkuc1Aodj0+e3YgaW5zdGFuY2VvZiBnLkk1JiZiPy5hYm9ydCgpOwpyZXR1cm4gZy5ycCh2KX0pfTsKZy5zej1mdW5jdGlvbihuLFcsRCxiLHY9LTEsayl7dmFyIGg9TD0+bmV3IGcuWDEoZT0+e3NldFRpbWVvdXQoZSxMKX0pLHg9KEwsZSxHKT0+TC5zUChyPT57aWYoZTw9MHx8Y1Yoci54aHIpPT09NDAzKXJldHVybiBnLnJwKG5ldyBnLiRUKCJSZXF1ZXN0IHJldHJpZWQgdG9vIG1hbnkgdGltZXMiLCJuZXQucmV0cnlleGhhdXN0ZWQiLHIueGhyKSk7CnZhciBOPU1hdGgucG93KDIsRC1lKzEpKkcsSD12PjA/TWF0aC5taW4odixOKTpOO3JldHVybiBoKEcpLnRoZW4oKCk9PntrJiZrKHIsZS0xKTtyZXR1cm4geChnLnI4KG4sVyksZS0xLEgpfSl9KTsKcmV0dXJuIHgoZy5yOChuLFcpLEQtMSxiKX07CmFYQz1mdW5jdGlvbihuLFc9bnVsbCl7bi5XPTI7bi5KPVd9OwpuVXc9ZnVuY3Rpb24obixXPW51bGwpe24uVz0xO24uSj1XfTsKZy5wJD1mdW5jdGlvbihuPW51bGwpe3ZhciBXPW5ldyBOWDthWEMoVyxuKTtyZXR1cm4gV307CmcuSDA9ZnVuY3Rpb24obj1udWxsKXt2YXIgVz1uZXcgTlg7blV3KFcsbik7cmV0dXJuIFd9OwpJSz1mdW5jdGlvbihuLFcsRCxiPSJ5b3V0dWJlLmNvbSIsdj0hMSl7ZiR8fEp5LnNldCgiIituLFcse256OkQscGF0aDoiLyIsZG9tYWluOmIsc2VjdXJlOnZ9KX07CmcuU2Q9ZnVuY3Rpb24obil7aWYoIWYkKXJldHVybiBKeS5nZXQoIiIrbix2b2lkIDApfTsKQXk9ZnVuY3Rpb24obixXPSIvIixEPSJ5b3V0dWJlLmNvbSIpe2YkfHxKeS5yZW1vdmUoIiIrbixXLEQpfTsKZy5taj1mdW5jdGlvbigpe2lmKCFKeS5pc0VuYWJsZWQoKSlyZXR1cm4hMTtpZighSnkuaXNFbXB0eSgpKXJldHVybiEwO0p5LnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse256OjYwfSk7aWYoSnkuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTtKeS5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKZy53PWZ1bmN0aW9uKG4sVyl7aWYobilyZXR1cm4gbltXLm5hbWVdfTsKSyQ9ZnVuY3Rpb24obil7dmFyIFc9Zy5BcigiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiKTtXJiYobj1TdHJpbmcoVykrU3RyaW5nKG1XKG4pKSk7cmV0dXJuIG59OwpnWj1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47dmFyIGs7KG4tNSYxMyk9PTEmJihrPURbSVsxN11dP0RbSVsxN11dW0lbMzVdXShJWzYzXSk6RFtJWzI2XV09PT1JWzYzXSk7aWYoKG4+PjEmNyk9PTEpe3ZhciBoPVAwKHZeNjQ0MCx2XjEzODcsRCk7YltJW3ZeNjQyNF1dKElbdl42NDM3XSxoKTtrPVtdfShuJjEzKT09biYmYltJWzVdXSE9MCYmKGg9b1MoNCw3NjI0LEQsYiksRD1oWzBdKTtyZXR1cm4ga307ClpyPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2cubCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKFcucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIG49Zy5sdyhuLFcpfTsKVXo9ZnVuY3Rpb24obixXPSJQT1NUIil7bj17bWV0aG9kOlcsbW9kZTpnLlRkKG4pPyJzYW1lLW9yaWdpbiI6ImNvcnMiLGNyZWRlbnRpYWxzOmcuVGQobik/InNhbWUtb3JpZ2luIjoiaW5jbHVkZSJ9O1c9e307dmFyIEQ9e307Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKFcpKVdbYl0mJihEW2JdPVdbYl0pO09iamVjdC5rZXlzKEQpLmxlbmd0aD4wJiYobi5oZWFkZXJzPUQpO3JldHVybiBufTsKeUg9ZnVuY3Rpb24obixXPXt9KXtyZXR1cm5gc2VydmljZToke259LyR7T2JqZWN0LmtleXMoVykuc29ydCgpLm1hcChEPT5EKyI6IitXW0RdKS5qb2luKCIvIil9YH07CkV6PWZ1bmN0aW9uKCl7dmFyIG49L0Nocm9tZVwvKFxkKykvLmV4ZWMoZy5YUSgpKTtyZXR1cm4gbj9wYXJzZUZsb2F0KG5bMV0pOk5hTn07CmliPWZ1bmN0aW9uKCl7dmFyIG49L1xzQ29iYWx0XC8oXFMrKVxzLy5leGVjKGcuWFEoKSk7aWYoIW4pcmV0dXJuIE5hTjt2YXIgVz1bXTtmb3IobGV0IEQgb2YgblsxXS5zcGxpdCgiLiIpKW49cGFyc2VJbnQoRCwxMCksbj49MCYmVy5wdXNoKG4pO3JldHVybiBwYXJzZUZsb2F0KFcuam9pbigiLiIpKX07Cm9LPWZ1bmN0aW9uKCl7cmV0dXJuIGcudWIoImFuZHJvaWQiKSYmZy51YigiY2hyb21lIikmJiEoZy51YigidHJpZGVudC8iKXx8Zy51YigiZWRnZS8iKSkmJiFnLnViKCJjb2JhbHQiKX07CmcuZDg9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiY29iYWx0Iil9Owp6UT1mdW5jdGlvbigpe3JldHVybiBnLnViKCJjb2JhbHQiKSYmZy51YigiYXBwbGV0diIpfTsKbGI9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiKHBzMzsgbGVhbmJhY2sgc2hlbGwpIil8fGcudWIoInBzMyIpJiZnLmQ4KCl9OwpUUT1mdW5jdGlvbigpe3JldHVybiBnLnViKCIocHM0OyBsZWFuYmFjayBzaGVsbCkiKXx8Zy51YigicHM0IikmJmcuZDgoKX07CmcuamQ9ZnVuY3Rpb24oKXtyZXR1cm4gZy5kOCgpJiYoZy51YigicHM0IHZyIil8fGcudWIoInBzNCBwcm8gdnIiKSl9OwpDJD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMCl9OwpCMD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMil9OwpGbj1mdW5jdGlvbigpe3JldHVybiBnLnViKCJpZW1vYmlsZSIpfHxnLnViKCJ3aW5kb3dzIHBob25lIikmJmcudWIoImVkZ2UiKX07ClJLPWZ1bmN0aW9uKCl7cmV0dXJuKHc4fHxNWCkmJmcudWIoImFwcGxld2Via2l0IikmJiFnLnViKCJ2ZXJzaW9uIikmJighZy51Yigic2FmYXJpIil8fGcudWIoImdzYS8iKSl9OwpWSD1mdW5jdGlvbigpe3JldHVybiBnLlFIJiZnLnViKCJ2ZXJzaW9uLyIpfTsKYzA9ZnVuY3Rpb24oKXtyZXR1cm4gZy51Yigic21hcnQtdHYiKSYmZy51Yigic2Ftc3VuZyIpfTsKZy51Yj1mdW5jdGlvbihuKXt2YXIgVz1nLlhRKCk7cmV0dXJuIFc/Vy50b0xvd2VyQ2FzZSgpLmluZGV4T2Yobik+PTA6ITF9OwpnLmFLPWZ1bmN0aW9uKCl7cmV0dXJuIGo2KCl8fFJLKCl8fFZIKCk/ITA6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpPyExOiEwfTsKbnk9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz09PXZvaWQgMHx8Vz09PW51bGw/bjpXPT09IjEifHxXPT09ITB8fFc9PT0xfHxXPT09IlRydWUiPyEwOiExfTsKV0I9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBEKWlmKERbYl09PVcpcmV0dXJuIERbYl07cmV0dXJuIG59OwpEST1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwfHxXPT09bnVsbD9uOk51bWJlcihXKX07CmJPPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc9PT12b2lkIDB8fFc9PT1udWxsP246Vy50b1N0cmluZygpfTsKdkI9ZnVuY3Rpb24obixXKXtpZihXKXtpZihuPT09ImZ1bGx3aWR0aCIpcmV0dXJuIEluZmluaXR5O2lmKG49PT0iZnVsbGhlaWdodCIpcmV0dXJuIDB9cmV0dXJuIG4mJihXPW4ubWF0Y2goVzAxKSkmJihuPU51bWJlcihXWzJdKSxXPU51bWJlcihXWzFdKSwhaXNOYU4obikmJiFpc05hTihXKSYmbj4wKT9XL246TmFOfTsKa1I9ZnVuY3Rpb24obil7dmFyIFc9bi5kb2NpZHx8bi52aWRlb19pZHx8bi52aWRlb0lkfHxuLmlkO2lmKFcpcmV0dXJuIFc7Vz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7V3x8KG49bi5wbGF5ZXJfcmVzcG9uc2UpJiYoVz1KU09OLnBhcnNlKG4pKTtyZXR1cm4gVyYmVy52aWRlb0RldGFpbHMmJlcudmlkZW9EZXRhaWxzLnZpZGVvSWR8fG51bGx9OwpnLnhSPWZ1bmN0aW9uKG4pe3JldHVybiBoTyhuLCExKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwifTsKTHk9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9GSVhFRF9QTEFZQkFDS19MSU1JVCJ8fG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIj8hMDohMX07CmhPPWZ1bmN0aW9uKG4sVz0hMSl7Vz1XPyJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIjoiRU1CRURERURfUExBWUVSX01PREVfVU5LTk9XTiI7d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluY2x1ZGVzKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpJiYoVz0iRU1CRURERURfUExBWUVSX01PREVfUEZMIik7dmFyIEQ9bi5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFEJiYobj1uLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZSkpdHJ5e0Q9SlNPTi5wYXJzZShuKX1jYXRjaChiKXtyZXR1cm4gV31yZXR1cm4gRD9XQihXLEQuZW1iZWRkZWRQbGF5ZXJNb2RlLEQzMSk6V307CmI1dD1mdW5jdGlvbihuKXtuJiYobi5kYXRhc2V0P24uZGF0YXNldFtlXygpXT0idHJ1ZSI6cXd0KG4pKX07CmdKPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGF0YXNldD9uLmRhdGFzZXRbZV8oKV06bi5nZXRBdHRyaWJ1dGUoImRhdGEtbG9hZGVkIik6bnVsbH07CmVfPWZ1bmN0aW9uKCl7cmV0dXJuIFhrLmxvYWRlZHx8KFhrLmxvYWRlZD0ibG9hZGVkIi5yZXBsYWNlKC9cLShbYS16XSkvZywobixXKT0+Vy50b1VwcGVyQ2FzZSgpKSl9OwpHMT1mdW5jdGlvbigpe3ZhciBuPWRvY3VtZW50O2lmKCJ2aXNpYmlsaXR5U3RhdGUiaW4gbilyZXR1cm4gbi52aXNpYmlsaXR5U3RhdGU7dmFyIFc9cTArIlZpc2liaWxpdHlTdGF0ZSI7aWYoVyBpbiBuKXJldHVybiBuW1ddfTsKdE89ZnVuY3Rpb24obixXKXt2YXIgRDtnLm9NKG4sYj0+e0Q9V1tiXTtyZXR1cm4hIUR9KTsKcmV0dXJuIER9OwokUj1mdW5jdGlvbihuKXtpZihuLnJlcXVlc3RGdWxsc2NyZWVuKW49bi5yZXF1ZXN0RnVsbHNjcmVlbih2b2lkIDApO2Vsc2UgaWYobi53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiluPW4ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ubW96UmVxdWVzdEZ1bGxTY3JlZW4pbj1uLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihuLm1zUmVxdWVzdEZ1bGxzY3JlZW4pbj1uLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ud2Via2l0RW50ZXJGdWxsc2NyZWVuKW49bi53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiRnVsbHNjcmVlbiBBUEkgdW5hdmFpbGFibGUiKSk7cmV0dXJuIG4gaW5zdGFuY2VvZiBQcm9taXNlP246UHJvbWlzZS5yZXNvbHZlKCl9OwpOMD1mdW5jdGlvbihuKXt2YXIgVztnLnJKKCk/c1AoKT09biYmKFc9ZG9jdW1lbnQpOlc9bjtyZXR1cm4gVyYmKG49dE8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxXKSk/KFc9bi5jYWxsKFcpLFcgaW5zdGFuY2VvZiBQcm9taXNlP1c6UHJvbWlzZS5yZXNvbHZlKCkpOlByb21pc2UucmVzb2x2ZSgpfTsKdlUxPWZ1bmN0aW9uKG4pe3JldHVybiBnLmxfKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sVz0+YG9uJHtXLnRvTG93ZXJDYXNlKCl9YGluIG4pfTsKZy5ySj1mdW5jdGlvbigpe3JldHVybiEhdE8oWyJmdWxsc2NyZWVuRW5hYmxlZCIsIndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIiwibW96RnVsbFNjcmVlbkVuYWJsZWQiLCJtc0Z1bGxzY3JlZW5FbmFibGVkIl0sZG9jdW1lbnQpfTsKc1A9ZnVuY3Rpb24obj0hMSl7dmFyIFc9dE8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO2lmKG4pZm9yKDtXJiZXLnNoYWRvd1Jvb3Q7KVc9Vy5zaGFkb3dSb290LmZ1bGxzY3JlZW5FbGVtZW50O3JldHVybiBXP1c6bnVsbH07CnB5PWZ1bmN0aW9uKG4pe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IFc9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtuLk49bi5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO24uSj1uLmNsaWVudFkrV319OwprOWk9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5hZGRFdmVudExpc3RlbmVyJiYoVyE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P1chPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9XPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoVz0iTW96TW91c2VQaXhlbFNjcm9sbCIpOlc9Im1vdXNlb3V0IjpXPSJtb3VzZW92ZXIiKTtyZXR1cm4gZy5YTChnLllSLHY9Pnt2YXIgaz10eXBlb2Ygdls0XT09PSJib29sZWFuIiYmdls0XT09ISFiLGg9Zy5mdCh2WzRdKSYmZy5mdChiKSYmZy5ybSh2WzRdLGIpO3JldHVybiEhdi5sZW5ndGgmJnZbMF09PW4mJnZbMV09PVcmJnZbMl09PUQmJihrfHxoKX0pfTsKZy5JOT1mdW5jdGlvbihuLFcsRCxiPXt9KXtpZighbnx8IW4uYWRkRXZlbnRMaXN0ZW5lciYmIW4uYXR0YWNoRXZlbnQpcmV0dXJuIiI7dmFyIHY9azlpKG4sVyxELGIpO2lmKHYpcmV0dXJuIHY7dj0rK0hCLmNvdW50KyIiO3ZhciBrPSEoVyE9Im1vdXNlZW50ZXIiJiZXIT0ibW91c2VsZWF2ZSJ8fCFuLmFkZEV2ZW50TGlzdGVuZXJ8fCJvbm1vdXNlZW50ZXIiaW4gZG9jdW1lbnQpO3ZhciBoPWs/eD0+e3g9bmV3IGZ5KHgpO2lmKCFnLlJoKHgucmVsYXRlZFRhcmdldCxMPT5MPT1uLCEwKSlyZXR1cm4geC5jdXJyZW50VGFyZ2V0PW4seC50eXBlPVcsRC5jYWxsKG4seCl9Ong9Pnt4PW5ldyBmeSh4KTsKeC5jdXJyZW50VGFyZ2V0PW47cmV0dXJuIEQuY2FsbChuLHgpfTsKaD1QVihoKTtuLmFkZEV2ZW50TGlzdGVuZXI/KFc9PSJtb3VzZWVudGVyIiYmaz9XPSJtb3VzZW92ZXIiOlc9PSJtb3VzZWxlYXZlIiYmaz9XPSJtb3VzZW91dCI6Vz09Im1vdXNld2hlZWwiJiYiTW96Qm94U2l6aW5nImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmKFc9Ik1vek1vdXNlUGl4ZWxTY3JvbGwiKSxKTygpfHx0eXBlb2YgYj09PSJib29sZWFuIj9uLmFkZEV2ZW50TGlzdGVuZXIoVyxoLGIpOm4uYWRkRXZlbnRMaXN0ZW5lcihXLGgsISFiLmNhcHR1cmUpKTpuLmF0dGFjaEV2ZW50KGBvbiR7V31gLGgpO2cuWVJbdl09W24sVyxELGgsYl07cmV0dXJuIHZ9OwpnLlNfPWZ1bmN0aW9uKG4pe24mJih0eXBlb2Ygbj09InN0cmluZyImJihuPVtuXSksZy55MihuLFc9PntpZihXIGluIGcuWVIpe3ZhciBEPWcuWVJbV107bGV0IGI9RFswXSx2PURbMV0saz1EWzNdO0Q9RFs0XTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Sk8oKXx8dHlwZW9mIEQ9PT0iYm9vbGVhbiI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKHYsayxEKTpiLnJlbW92ZUV2ZW50TGlzdGVuZXIodixrLCEhRC5jYXB0dXJlKTpiLmRldGFjaEV2ZW50JiZiLmRldGFjaEV2ZW50KGBvbiR7dn1gLGspO2RlbGV0ZSBnLllSW1ddfX0pKX07CkFPPWZ1bmN0aW9uKG4pe249bnx8d2luZG93LmV2ZW50O3ZhciBXO24uY29tcG9zZWRQYXRoJiZ0eXBlb2Ygbi5jb21wb3NlZFBhdGg9PT0iZnVuY3Rpb24iP1c9bi5jb21wb3NlZFBhdGgoKTpXPW4ucGF0aDtXJiZXLmxlbmd0aD9uPVdbMF06KG49bnx8d2luZG93LmV2ZW50LG49bi50YXJnZXR8fG4uc3JjRWxlbWVudCxuLm5vZGVUeXBlPT0zJiYobj1uLnBhcmVudE5vZGUpKTtyZXR1cm4gbn07Cm1ZPWZ1bmN0aW9uKG4pe3RoaXMuSz1uO3RoaXMuTj1udWxsO3RoaXMuWD0wO3RoaXMuVj1udWxsO3RoaXMuaj0wO3RoaXMuSj1bXTtmb3Iobj0wO248NDtuKyspdGhpcy5KLnB1c2goMCk7dGhpcy5XPTA7dGhpcy5jSj1nLkk5KHdpbmRvdywibW91c2Vtb3ZlIiwoMCxnLkt0KSh0aGlzLkQsdGhpcykpO3RoaXMuWT1XMCgoMCxnLkt0KSh0aGlzLk8sdGhpcyksMjUpfTsKS3k9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxELmxlbmd0aDt2Kyspbi5OTihXLERbdl0sYil9OwpnLlBCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1EJiZEPjA/RDowO0Q9Yj9EYXRlLm5vdygpK2IqMUUzOjA7aWYoKGI9Yj9PUC5CcCgpOk9QLnFiKCkpJiZ3aW5kb3cuSlNPTil7dHlwZW9mIFchPT0ic3RyaW5nIiYmKFc9SlNPTi5zdHJpbmdpZnkoVyx2b2lkIDApKTt0cnl7Yi5zZXQobixXLEQpfWNhdGNoKHYpe2IucmVtb3ZlKG4pfX19OwpnLlpJPWZ1bmN0aW9uKG4pe3ZhciBXPU9QLnFiKCksRD1PUC5CcCgpO2lmKCFXJiYhRHx8IXdpbmRvdy5KU09OKXJldHVybiBudWxsO3RyeXt2YXIgYj1XLmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIil0cnl7Yj1ELmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIilyZXR1cm4gbnVsbDt0cnl7Yj1KU09OLnBhcnNlKGIsdm9pZCAwKX1jYXRjaCh2KXt9cmV0dXJuIGJ9OwpVUD1mdW5jdGlvbigpe3ZhciBuPU9QLkJwKCk7aWYobiYmKG49bi5NRCgieXQtcGxheWVyLXF1YWxpdHkiKSkpcmV0dXJuIG4uY3JlYXRpb259Owp5eD1mdW5jdGlvbigpe2lmKCFnLnFpLm1hdGNoTWVkaWEpcmV0dXJuIldFQl9ESVNQTEFZX01PREVfVU5LTk9XTiI7dHJ5e3JldHVybiBnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChuKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwppTz1mdW5jdGlvbigpe0VQLmluc3RhbmNlfHwoRVAuaW5zdGFuY2U9bmV3IEVQKTtyZXR1cm4gRVAuaW5zdGFuY2V9OwpocWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFU0tUT1AiOnJldHVybiAxO2Nhc2UgIlVOS05PV05fUExBVEZPUk0iOnJldHVybiAwO2Nhc2UgIlRWIjpyZXR1cm4gMjtjYXNlICJHQU1FX0NPTlNPTEUiOnJldHVybiAzO2Nhc2UgIk1PQklMRSI6cmV0dXJuIDQ7Y2FzZSAiVEFCTEVUIjpyZXR1cm4gNX19OwpnLm85PWZ1bmN0aW9uKCl7dU98fCh1Tz1uZXcgeDNiKTtyZXR1cm4gdU99OwpkSj1mdW5jdGlvbihuKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1hdGNoOiAke259YCk7fTsKejE9ZnVuY3Rpb24obil7aWYoIS9eXHcrJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1pc21hdGNoOiAke259YCk7fTsKVDE9ZnVuY3Rpb24obil7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChuKT9wYXJzZUludChuLDE2KTpudWxsfTsKal89ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbj9uLmNvbm5lY3Rpb246dm9pZCAwfTsKQkI9ZnVuY3Rpb24oKXt2YXIgbj1qXygpO2lmKG4pe3ZhciBXPUN5W24udHlwZXx8InVua25vd24iXXx8IkNPTk5fVU5LTk9XTiI7bj1DeVtuLmVmZmVjdGl2ZVR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO1c9PT0iQ09OTl9DRUxMVUxBUl9VTktOT1dOIiYmbiE9PSJDT05OX1VOS05PV04iJiYoVz1uKTtpZihXIT09IkNPTk5fVU5LTk9XTiIpcmV0dXJuIFc7aWYobiE9PSJDT05OX1VOS05PV04iKXJldHVybiBufX07CndKPWZ1bmN0aW9uKCl7dmFyIG49al8oKTtpZihuPy5lZmZlY3RpdmVUeXBlKXJldHVybiBGay5oYXNPd25Qcm9wZXJ0eShuLmVmZmVjdGl2ZVR5cGUpP0ZrW24uZWZmZWN0aXZlVHlwZV06IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfVU5LTk9XTiJ9OwpSOT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gTTAoKSwhMH1jYXRjaChuKXtyZXR1cm4hMX19OwpNMD1mdW5jdGlvbigpe2lmKGcuQXIoIkRBVEFTWU5DX0lEIikhPT12b2lkIDApcmV0dXJuIGcuQXIoIkRBVEFTWU5DX0lEIik7dGhyb3cgbmV3IGcuUXgoIkRhdGFzeW5jIElEIG5vdCBzZXQiLCJ1bmtub3duIik7fTsKZy5jQj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGcuVngoMCxXLDAsRCl9OwphOT1mdW5jdGlvbihuKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSW1tZWRpYXRlSm9iIik7Vz9XKG4pOm4oKX07CmcuRHk9ZnVuY3Rpb24oKXtXTi5pbnN0YW5jZXx8KFdOLmluc3RhbmNlPW5ldyBXTik7cmV0dXJuIFdOLmluc3RhbmNlfTsKZy5WeD1mdW5jdGlvbihuLFcsRCxiKXtiIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGIpKSYmKGI9dm9pZCAwKTtyZXR1cm4obj1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIikpP24oVyxELGIpOmI9PT12b2lkIDA/KFcoKSxOYU4pOmcubiQoVyxifHwwKX07CmJRPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpO1cmJlcobil9OwprdT1mdW5jdGlvbigpe3JldHVybiB2TigpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTsKTEY9ZnVuY3Rpb24obil7aGN8fCh4dS5wdXNoKHt0eXBlOiJFUlJPUiIscGF5bG9hZDpufSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmVGPWZ1bmN0aW9uKG4sVyl7aGN8fCh4dS5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOm4scGF5bG9hZDpXfSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmcwPWZ1bmN0aW9uKG4pe2lmKG4uaW5kZXhPZigiOiIpPj0wKXRocm93IEVycm9yKCJEYXRhYmFzZSBuYW1lIGNhbm5vdCBjb250YWluICc6JyIpO307ClhxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnN1YnN0cigwLG4uaW5kZXhPZigiOiIpKXx8bn07CiR1PWZ1bmN0aW9uKG4sVyxELGIpe1c9WHEoVyk7dmFyIHY9biBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYFVuZXhwZWN0ZWQgZXJyb3I6ICR7bn1gKTtpZih2IGluc3RhbmNlb2YgcUwpcmV0dXJuIHY7bj17b2JqZWN0U3RvcmVOYW1lczpELGRiTmFtZTpXLGRiVmVyc2lvbjpifTtpZih2Lm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yIilyZXR1cm4gbmV3IHFMKCJRVU9UQV9FWENFRURFRCIsbik7aWYoZy5HbiYmdi5uYW1lPT09IlVua25vd25FcnJvciIpcmV0dXJuIG5ldyBxTCgiUVVPVEFfTUFZQkVfRVhDRUVERUQiLG4pO2lmKHYgaW5zdGFuY2VvZiB0YylyZXR1cm4gbmV3IHFMKCJNSVNTSU5HX0lOREVYIix7Li4ubixvYmplY3RTdG9yZTp2Lm9iamVjdFN0b3JlLGluZGV4OnYuaW5kZXh9KTtpZih2Lm5hbWU9PT0iSW52YWxpZFN0YXRlRXJyb3IiJiZMMGkuc29tZShrPT52Lm1lc3NhZ2UuaW5jbHVkZXMoaykpKXJldHVybiBuZXcgcUwoIkVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCIiwKbik7CmlmKHYubmFtZT09PSJBYm9ydEVycm9yIilyZXR1cm4gbmV3IHFMKCJVTktOT1dOX0FCT1JUIixuLHYubWVzc2FnZSk7di5hcmdzPVt7Li4ubixuYW1lOiJJZGJFcnJvciIsYTc6di5uYW1lfV07di5sZXZlbD0iV0FSTklORyI7cmV0dXJuIHZ9OwpnLnIwPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1rdSgpO3JldHVybiBuZXcgcUwoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOm4scHVibGljTmFtZTpXLHZlcnNpb246RCxoYXNTdWNjZWVkZWRPbmNlOmI/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9OwplcTE9ZnVuY3Rpb24obil7aWYoIW4pdGhyb3cgRXJyb3IoKTt0aHJvdyBuO307CmdVcj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CnBGPWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IkZVTEZJTExFRCIpdGhyb3cgRXJyb3IoImNhbGxpbmcgaGFuZGxlUmVzb2x2ZSBiZWZvcmUgdGhlIHByb21pc2UgaXMgZnVsZmlsbGVkLiIpO2xldCBrPUQobi5zdGF0ZS52YWx1ZSk7ayBpbnN0YW5jZW9mIHNSP05MKG4sVyxrLGIsdik6YihrKX1jYXRjaChrKXt2KGspfX07Cll1PWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IlJFSkVDVEVEIil0aHJvdyBFcnJvcigiY2FsbGluZyBoYW5kbGVSZWplY3QgYmVmb3JlIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLiIpO2xldCBrPUQobi5zdGF0ZS5yZWFzb24pO2sgaW5zdGFuY2VvZiBzUj9OTChuLFcsayxiLHYpOmIoayl9Y2F0Y2goayl7dihrKX19OwpOTD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9PT1EP3YobmV3IFR5cGVFcnJvcigiQ2lyY3VsYXIgcHJvbWlzZSBjaGFpbiBkZXRlY3RlZC4iKSk6RC50aGVuKGs9PntrIGluc3RhbmNlb2Ygc1I/TkwobixXLGssYix2KTpiKGspfSxrPT57dihrKX0pfTsKSE49ZnVuY3Rpb24obixXLEQpe3ZhciBiPSgpPT57dHJ5e24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsdiksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsayl9Y2F0Y2h7fX0sdj0oKT0+e1cobi5yZXN1bHQpOwpiKCl9LGs9KCk9PntEKG4uZXJyb3IpOwpiKCl9OwpuLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLHYpO24uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGspfTsKWDlVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZSgoVyxEKT0+e0hOKG4sVyxEKX0pfTsKSmM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntITihuLFcsRCl9KSl9OwpJZz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgc1IobmV3IGZGKChELGIpPT57dmFyIHY9KCk9Pnt2YXIgaz1uP1cobik6bnVsbDtrP2sudGhlbihoPT57bj1oO3YoKX0sYik6RCgpfTsKdigpfSkpfTsKU0Y9ZnVuY3Rpb24obil7cmV0dXJuIEpjKG4pLnRoZW4oVz0+Vz9uZXcgcV8yKG4sVyk6bnVsbCl9OwpBYz1mdW5jdGlvbigpe3JldHVybiBnLmwoImlkYl9pbW1lZGlhdGVfY29tbWl0Iil9OwpPUj1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj17bW9kZToicmVhZG9ubHkiLEdROiExLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIn07dHlwZW9mIEQ9PT0ic3RyaW5nIj92Lm1vZGU9RDpPYmplY3QuYXNzaWduKHYsRCk7bi50cmFuc2FjdGlvbkNvdW50Kys7RD12LkdRPzM6MTtmb3IodmFyIGs9MCxoOyFoOyl7aysrO2xldCBHPU1hdGgucm91bmQoKDAsZy5SKSgpKTt0cnl7dmFyIHg9bi5OLnRyYW5zYWN0aW9uKFcsdi5tb2RlKSxMPWIsZT0hIXYuY29tbWl0O2xldCByPW5ldyBtWCh4KSxOPWF3YWl0IEc5dyhyLEwsZSksSD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7S0YobixHLEgsayx2b2lkIDAsVy5qb2luKCksdik7cmV0dXJuIE59Y2F0Y2gocil7TD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7bGV0IE49JHUocixuLk4ubmFtZSxXLmpvaW4oKSxuLk4udmVyc2lvbik7aWYoTiBpbnN0YW5jZW9mIHFMJiYhTi5OfHxrPj1EKUtGKG4sRyxMLGssTixXLmpvaW4oKSwKdiksaD1OfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9OwpaeT1mdW5jdGlvbihuLFcsRCl7bj1uLk4uY3JlYXRlT2JqZWN0U3RvcmUoVyxEKTtyZXR1cm4gbmV3IFBOKG4pfTsKVVI9ZnVuY3Rpb24obixXKXtuLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhXKSYmbi5OLmRlbGV0ZU9iamVjdFN0b3JlKFcpfTsKS0Y9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7Vz1ELVc7dj8odiBpbnN0YW5jZW9mIHFMJiYodi50eXBlPT09IlFVT1RBX0VYQ0VFREVEInx8di50eXBlPT09IlFVT1RBX01BWUJFX0VYQ0VFREVEIikmJmVGKCJRVU9UQV9FWENFRURFRCIse2RiTmFtZTpYcShuLk4ubmFtZSksb2JqZWN0U3RvcmVOYW1lczprLHRyYW5zYWN0aW9uQ291bnQ6bi50cmFuc2FjdGlvbkNvdW50LHRyYW5zYWN0aW9uTW9kZTpoLm1vZGV9KSx2IGluc3RhbmNlb2YgcUwmJnYudHlwZT09PSJVTktOT1dOX0FCT1JUIiYmKEQtPW4uVyxEPDAmJkQ+PTIxNDc0ODM2NDgmJihEPTApLGVGKCJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCIse29iamVjdFN0b3JlTmFtZXM6ayx0cmFuc2FjdGlvbkR1cmF0aW9uOlcsdHJhbnNhY3Rpb25Db3VudDpuLnRyYW5zYWN0aW9uQ291bnQsZGJEdXJhdGlvbjpEfSksbi5KPSEwKSx5YyhuLCExLGIsayxXLGgudGFnKSxMRih2KSk6eWMobiwhMCxiLGssVyxoLnRhZyl9Owp5Yz1mdW5jdGlvbihuLFcsRCxiLHYsaz0iSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIil7ZUYoIlRSQU5TQUNUSU9OX0VOREVEIix7b2JqZWN0U3RvcmVOYW1lczpiLGNvbm5lY3Rpb25IYXNVbmtub3duQWJvcnRlZFRyYW5zYWN0aW9uOm4uSixkdXJhdGlvbjp2LGlzU3VjY2Vzc2Z1bDpXLHRyeUNvdW50OkQsdGFnOmt9KX07CkVSPWZ1bmN0aW9uKG4sVyxEKXtuLk4uY3JlYXRlSW5kZXgoVyxELHt1bmlxdWU6ITF9KX07CnVRPWZ1bmN0aW9uKG4sVyxEKXtuPW4uTi5vcGVuQ3Vyc29yKFcucXVlcnksVy5kaXJlY3Rpb24pO3JldHVybiBpUShuKS50aGVuKGI9PklnKGIsRCkpfTsKdFhVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIHVRKG4se3F1ZXJ5Old9LEQ9PkQuZGVsZXRlKCkudGhlbigoKT0+b2coRCkpKS50aGVuKCgpPT57fSl9OwokM3g9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB1UShuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwpzMHI9ZnVuY3Rpb24obil7dmFyIFc9W107cmV0dXJuIHJfaihuLEQ9PntXLnB1c2goRC5jdXJzb3IucHJpbWFyeUtleSk7RC5jdXJzb3IuY29udGludWUodm9pZCAwKTtyZXR1cm4gU0YoRC5yZXF1ZXN0KX0pLnRoZW4oKCk9PlcpfTsKZDA9ZnVuY3Rpb24obil7cmV0dXJuImdldEFsbEtleXMiaW4gSURCT2JqZWN0U3RvcmUucHJvdG90eXBlP0pjKG4uTi5nZXRBbGxLZXlzKHZvaWQgMCx2b2lkIDApKTpzMHIobil9OwpyX2o9ZnVuY3Rpb24obixXKXt2YXIgRD17cXVlcnk6dm9pZCAwfSxiPUQucXVlcnk7RD1ELmRpcmVjdGlvbjtuPSJvcGVuS2V5Q3Vyc29yImluIElEQk9iamVjdFN0b3JlLnByb3RvdHlwZT9uLk4ub3BlbktleUN1cnNvcihiLEQpOm4uTi5vcGVuQ3Vyc29yKGIsRCk7cmV0dXJuIFNGKG4pLnRoZW4odj0+SWcodixXKSl9OwpHOXc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyBQcm9taXNlKCh2LGspPT57dHJ5e2xldCBoPVcobik7RCYmbi5jb21taXQoKTtoLnRoZW4oeD0+e3YoeCl9KS5jYXRjaChrKX1jYXRjaChoKXtrKGgpLG4uYWJvcnQoKX19KTsKcmV0dXJuIFByb21pc2UuYWxsKFtiLG4uZG9uZV0pLnRoZW4oKFt2XSk9PnYpfTsKem49ZnVuY3Rpb24obixXLEQpe3ZhciB7cXVlcnk6Yj1udWxsLGRpcmVjdGlvbjp2PSJuZXh0In09VztuPW4uTi5vcGVuQ3Vyc29yKGIsdik7cmV0dXJuIGlRKG4pLnRoZW4oaz0+SWcoayxEKSl9OwpOWmk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB6bihuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwppUT1mdW5jdGlvbihuKXtyZXR1cm4gSmMobikudGhlbihXPT5XP25ldyBwOXgobixXKTpudWxsKX07Cm9nPWZ1bmN0aW9uKG4pe24uY3Vyc29yLmNvbnRpbnVlKHZvaWQgMCk7cmV0dXJuIGlRKG4ucmVxdWVzdCl9OwpINXg9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgUHJvbWlzZSgoYix2KT0+e3ZhciBrPVchPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihuLFcpOnNlbGYuaW5kZXhlZERCLm9wZW4obik7dmFyIGg9RC5ibG9ja2VkLHg9RC5ibG9ja2luZyxMPUQuQnosZT1ELnVwZ3JhZGUsRz1ELmNsb3NlZCxyLE49KCk9PntyfHwocj1uZXcgWV9yKGsucmVzdWx0LHtjbG9zZWQ6R30pKTtyZXR1cm4gcn07CmsuYWRkRXZlbnRMaXN0ZW5lcigidXBncmFkZW5lZWRlZCIsSD0+e3RyeXtpZihILm5ld1ZlcnNpb249PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IG5ld1ZlcnNpb24gb24gSURiVmVyc2lvbkNoYW5nZUV2ZW50IGlzIG51bGwiKTtpZihrLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigiSW52YXJpYW50OiB0cmFuc2FjdGlvbiBvbiBJRGJPcGVuRGJSZXF1ZXN0IGlzIG51bGwiKTtILmRhdGFMb3NzJiZILmRhdGFMb3NzIT09Im5vbmUiJiZlRigiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOkguZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpYcShuKX0pO2xldCBBPU4oKSx5PW5ldyBtWChrLnRyYW5zYWN0aW9uKTtlJiZlKEEsVD0+SC5vbGRWZXJzaW9uPFQmJkgubmV3VmVyc2lvbj49VCx5KTsKeS5kb25lLmNhdGNoKFQ9Pnt2KFQpfSl9Y2F0Y2goQSl7dihBKX19KTsKay5hZGRFdmVudExpc3RlbmVyKCJzdWNjZXNzIiwoKT0+e3ZhciBIPWsucmVzdWx0O3gmJkguYWRkRXZlbnRMaXN0ZW5lcigidmVyc2lvbmNoYW5nZSIsKCk9Pnt4KE4oKSl9KTsKSC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9PntlRigiSURCX1VORVhQRUNURURMWV9DTE9TRUQiLHtkYk5hbWU6WHEobiksZGJWZXJzaW9uOkgudmVyc2lvbn0pO0wmJkwoKX0pOwpiKE4oKSl9KTsKay5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2KGsuZXJyb3IpfSk7CmgmJmsuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntoKCl9KX0pfTsKbFE9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBINXgobixXLEQpfTsKVG49YXN5bmMgZnVuY3Rpb24obixXPXt9KXt0cnl7bGV0IEQ9c2VsZi5pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UobiksYj1XLmJsb2NrZWQ7YiYmRC5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIiwoKT0+e2IoKX0pOwphd2FpdCBYOVUoRCl9Y2F0Y2goRCl7dGhyb3cgJHUoRCxuLCIiLC0xKTt9fTsKakY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHFMKCJJTkNPTVBBVElCTEVfREJfVkVSU0lPTiIse2RiTmFtZTpuLm5hbWUsb2xkVmVyc2lvbjpuLm9wdGlvbnMudmVyc2lvbixuZXdWZXJzaW9uOld9KX07CkNGPWZ1bmN0aW9uKG4sVyl7aWYoIVcpdGhyb3cgZy5yMCgib3BlbldpdGhUb2tlbiIsWHEobi5uYW1lKSk7cmV0dXJuIG4ub3BlbigpfTsKRnE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gT1IoYXdhaXQgQ0YoQk4sVyksWyJkYXRhYmFzZXMiXSx7R1E6ITAsbW9kZToicmVhZHdyaXRlIn0sRD0+e3ZhciBiPUQub2JqZWN0U3RvcmUoImRhdGFiYXNlcyIpO3JldHVybiBiLmdldChuLmFjdHVhbE5hbWUpLnRoZW4odj0+e2lmKHY/bi5hY3R1YWxOYW1lIT09di5hY3R1YWxOYW1lfHxuLnB1YmxpY05hbWUhPT12LnB1YmxpY05hbWV8fG4udXNlcklkZW50aWZpZXIhPT12LnVzZXJJZGVudGlmaWVyOjEpcmV0dXJuIGIucHV0KG4pLnRoZW4oKCk9Pnt9KX0pfSl9Owp3MD1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBuPyhhd2FpdCBDRihCTixXKSkuZGVsZXRlKCJkYXRhYmFzZXMiLG4pOnZvaWQgMH07CmZCVT1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPVtdO1c9YXdhaXQgQ0YoQk4sVyk7YXdhaXQgT1IoVyxbImRhdGFiYXNlcyJdLHtHUTohMCxtb2RlOiJyZWFkb25seSJ9LGI9PntELmxlbmd0aD0wO3JldHVybiB1UShiLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKSx7fSx2PT57bih2LmdldFZhbHVlKCkpJiZELnB1c2godi5nZXRWYWx1ZSgpKTtyZXR1cm4gb2codil9KX0pOwpyZXR1cm4gRH07CkpfMj1mdW5jdGlvbihuLFcpe3JldHVybiBmQlUoRD0+RC5wdWJsaWNOYW1lPT09biYmRC51c2VySWRlbnRpZmllciE9PXZvaWQgMCxXKX07CklCaT1hc3luYyBmdW5jdGlvbigpe2lmKGt1KCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIG47aWYoIShuPWcuTUwmJkMkKCkmJiFCMCgpfHxnLlJnKSl7dHJ5e249c2VsZjt2YXIgVz0hIShuLmluZGV4ZWREQiYmbi5JREJJbmRleCYmbi5JREJLZXlSYW5nZSYmbi5JREJPYmplY3RTdG9yZSl9Y2F0Y2goRCl7Vz0hMX1uPSFXfWlmKG58fCEoIklEQlRyYW5zYWN0aW9uImluIHNlbGYmJiJvYmplY3RTdG9yZU5hbWVzImluIElEQlRyYW5zYWN0aW9uLnByb3RvdHlwZSkpcmV0dXJuITE7dHJ5e3JldHVybiBhd2FpdCBGcSh7YWN0dWFsTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIscHVibGljTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIsdXNlcklkZW50aWZpZXI6dm9pZCAwfSxRYyksYXdhaXQgdzAoInl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLFFjKSwhMH1jYXRjaChEKXtyZXR1cm4hMX19OwpjTj1mdW5jdGlvbigpe2lmKFZjIT09dm9pZCAwKXJldHVybiBWYztoYz0hMDtyZXR1cm4gVmM9SUJpKCkudGhlbihuPT57aGM9ITE7aWYodk4oKT8uSigpKXt2YXIgVz17aGFzU3VjY2VlZGVkT25jZTprdSgpPy5oYXNTdWNjZWVkZWRPbmNlfHxufTt2TigpPy5zZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsVywyNTkyRTMsITApfXJldHVybiBufSl9OwphZz1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dGdsb2JhbC5pZGJUb2tlbl8iKXx8dm9pZCAwfTsKZy5uUD1mdW5jdGlvbigpe3ZhciBuPWFnKCk7cmV0dXJuIG4/UHJvbWlzZS5yZXNvbHZlKG4pOmNOKCkudGhlbihXPT57Vz8oZy5HYigieXRnbG9iYWwuaWRiVG9rZW5fIixRYyksVz1RYyk6Vz12b2lkIDA7cmV0dXJuIFd9KX07Cld6PWZ1bmN0aW9uKG4pe2lmKCFSOSgpKXRocm93IG49bmV3IHFMKCJBVVRIX0lOVkFMSUQiLHtkYk5hbWU6bn0pLExGKG4pLG47dmFyIFc9TTAoKTtyZXR1cm57YWN0dWFsTmFtZTpgJHtufToke1d9YCxwdWJsaWNOYW1lOm4sdXNlcklkZW50aWZpZXI6V319OwpEbT1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1FcnJvcigpLnN0YWNrPz8iIixrPWF3YWl0IGcublAoKTtpZighayl0aHJvdyBXPWcucjAoIm9wZW5EYkltcGwiLG4sVyksZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIil8fChXLnN0YWNrPWAke1cuc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKSxMRihXKSxXO2cwKG4pO3Y9RD97YWN0dWFsTmFtZTpuLHB1YmxpY05hbWU6bix1c2VySWRlbnRpZmllcjp2b2lkIDB9Old6KG4pO3RyeXtyZXR1cm4gYXdhaXQgRnEodixrKSxhd2FpdCBsUSh2LmFjdHVhbE5hbWUsVyxiKX1jYXRjaChoKXt0cnl7YXdhaXQgdzAodi5hY3R1YWxOYW1lLGspfWNhdGNoe310aHJvdyBoO319OwpTX1o9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITEsRCl9OwpBX3I9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITAsRCl9OwptM3c9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLG49V3oobiksYXdhaXQgVG4obi5hY3R1YWxOYW1lLFcpLGF3YWl0IHcwKG4uYWN0dWFsTmFtZSxEKSl9OwpLMHI9ZnVuY3Rpb24obixXLEQpe249bi5tYXAoYXN5bmMgYj0+e2F3YWl0IFRuKGIuYWN0dWFsTmFtZSxXKTthd2FpdCB3MChiLmFjdHVhbE5hbWUsRCl9KTsKcmV0dXJuIFByb21pc2UuYWxsKG4pLnRoZW4oKCk9Pnt9KX07CmI5PWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9YXdhaXQgZy5uUCgpO0QmJihnMChuKSxuPWF3YWl0IEpfMihuLEQpLGF3YWl0IEswcihuLFcsRCkpfTsKdno9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLGF3YWl0IFRuKG4sVyksYXdhaXQgdzAobixEKSl9OwpQNE09ZnVuY3Rpb24obixXKXt2YXIgRDtyZXR1cm4oKT0+e0R8fChEPW5ldyBPNXQobixXKSk7cmV0dXJuIER9fTsKa089ZnVuY3Rpb24obixXKXtyZXR1cm4gUDRNKG4sVyl9OwpoNz1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoWjVDKCksbil9Owp4Tz1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXtuPXtjb25maWc6bixoYXNoRGF0YTpXLHRpbWVzdGFtcDpiIT09dm9pZCAwP2I6KDAsZy5SKSgpfTtEPWF3YWl0IGg3KEQpO2F3YWl0IEQuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IEQucHV0KCJob3RDb25maWdTdG9yZSIsbil9OwpMUD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYpe249e2NvbmZpZzpuLGhhc2hEYXRhOlcsY29uZmlnRGF0YTpELHRpbWVzdGFtcDp2IT09dm9pZCAwP3Y6KDAsZy5SKSgpfTtiPWF3YWl0IGg3KGIpO2F3YWl0IGIuY2xlYXIoImNvbGRDb25maWdTdG9yZSIpO3JldHVybiBhd2FpdCBiLnB1dCgiY29sZENvbmZpZ1N0b3JlIixuKX07CmU5PWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQgaDcobik7dmFyIFc9dm9pZCAwO2F3YWl0IE9SKG4sWyJjb2xkQ29uZmlnU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+em4oRC5vYmplY3RTdG9yZSgiY29sZENvbmZpZ1N0b3JlIikuaW5kZXgoImNvbGRUaW1lc3RhbXBJbmRleCIpLHtkaXJlY3Rpb246InByZXYifSxiPT57Vz1iLmdldFZhbHVlKCl9KSk7CnJldHVybiBXfTsKZzM9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCBoNyhuKTt2YXIgVz12b2lkIDA7YXdhaXQgT1IobixbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnpuKEQub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGI9PntXPWIuZ2V0VmFsdWUoKX0pKTsKcmV0dXJuIFd9OwpVM3Q9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgieXRHY2ZDb25maWciKX07CnFCPWZ1bmN0aW9uKCl7aWYoIWcuWDMuaW5zdGFuY2Upe2xldCBuPW5ldyBnLlgzO2cuWDMuaW5zdGFuY2U9bn1yZXR1cm4gZy5YMy5pbnN0YW5jZX07Cmk1aD1mdW5jdGlvbihuKXtpZighbi5KfHwhbi5OKXtpZighYWcoKSl7bGV0IFc9Zy5yMCgic2NoZWR1bGVHZXRDb25maWdzIik7WkUoVyl9bi5YfHwobi5YPXRhLkxTKGFzeW5jKCk9Pnt0cnl7YXdhaXQgeV9yKG4pfWNhdGNoe310cnl7YXdhaXQgRVVTKG4pfWNhdGNoe31uLlgmJihuLlg9MCl9LDEwMCkpfX07CnVEeD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmwoInN0YXJ0X2NsaWVudF9nY2YiKXx8Zy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpKWcubCgic3RhcnRfY2xpZW50X2djZiIpJiYoYXdhaXQgZy5uUCgpJiZSOSgpJiYhZy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpPyhuLlY9ITAsaTVoKG4pKTooR28obiksdDcobikpKSxnLmwoImRlbGV0ZV9nY2ZfY29uZmlnX2RiIikmJmF3YWl0IFUzdCgpfTsKJE89ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpfTsKdmFyIG9Vaj1mdW5jdGlvbihuLFcpe3JldHVybiBlWFtJWzEwXV0odGhpcywxMCw3MTI2LG4sVyl9OwpyMz1mdW5jdGlvbihuLFcpe24uSj1XO2cuR2IoInl0LmdjZi5jb25maWcuaG90Q29uZmlnR3JvdXAiLG4uSnx8bnVsbCl9Owp0Nz1mdW5jdGlvbihuKXtyMyhuLGcuQXIoIlJBV19IT1RfQ09ORklHX0dST1VQIikpO24uVyhnLkFyKCJTRVJJQUxJWkVEX0hPVF9IQVNIX0RBVEEiKSl9Owp5X3I9YXN5bmMgZnVuY3Rpb24obil7aWYobi5KKXJldHVybiAkTygpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0SG90Q29uZmlnIElEQiBub3QgaW5pdGlhbGl6ZWQiKSxaRShuKSxQcm9taXNlLnJlamVjdChuKTt2YXIgVz1hZygpLEQ9Zy5BcigiVElNRV9DUkVBVEVEX01TIik7aWYoVyl7dmFyIGI9YXdhaXQgZzMoVyk7aWYoYiYmYi50aW1lc3RhbXA+RClyZXR1cm4gcjMobixiLmNvbmZpZyksbi5XKGIuaGFzaERhdGEpLCRPKCl9ZWxzZSBiPWcucjAoImdldEhvdENvbmZpZyB0b2tlbiBlcnJvciIpLFpFKGIpO3Q3KG4pO1cmJm4uSiYmbi5ob3RIYXNoRGF0YSYmYXdhaXQgeE8obi5KLG4uaG90SGFzaERhdGEsVyxEKTtyZXR1cm4gbi5KPyRPKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKc0o9ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiKX07Ck5CPWZ1bmN0aW9uKG4sVyl7bi5OPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiLG4uTnx8bnVsbCl9OwpwUD1mdW5jdGlvbihuLFcpe24uY29uZmlnRGF0YT1XO2cuR2IoInl0LmdjZi5jb25maWcuY29sZENvbmZpZ0RhdGEiLG4uY29uZmlnRGF0YXx8bnVsbCl9OwpZTz1mdW5jdGlvbihuLFcpe24uY29sZEhhc2hEYXRhPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiLG4uY29sZEhhc2hEYXRhfHxudWxsKX07CkdvPWZ1bmN0aW9uKG4pe05CKG4sZy5BcigiUkFXX0NPTERfQ09ORklHX0dST1VQIikpO1lPKG4sZy5BcigiU0VSSUFMSVpFRF9DT0xEX0hBU0hfREFUQSIpKTtwUChuLG4uTj8uY29uZmlnRGF0YSl9OwpFVVM9YXN5bmMgZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBzSigpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0Q29sZENvbmZpZyBJREIgbm90IGluaXRpYWxpemVkIiksWkUobiksUHJvbWlzZS5yZWplY3Qobik7dmFyIFc9YWcoKSxEPWcuQXIoIlRJTUVfQ1JFQVRFRF9NUyIpO2lmKFcpe3ZhciBiPWF3YWl0IGU5KFcpO2lmKGImJmIudGltZXN0YW1wPkQpcmV0dXJuIE5CKG4sYi5jb25maWcpLHBQKG4sYi5jb25maWdEYXRhKSxZTyhuLGIuaGFzaERhdGEpLHNKKCl9ZWxzZSBiPWcucjAoImdldENvbGRDb25maWciKSxaRShiKTtHbyhuKTtXJiZuLk4mJm4uY29sZEhhc2hEYXRhJiZuLmNvbmZpZ0RhdGEmJmF3YWl0IExQKG4uTixuLmNvbGRIYXNoRGF0YSxuLmNvbmZpZ0RhdGEsVyxEKTtyZXR1cm4gbi5OP3NKKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKSHo9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKGcubCgic3RhcnRfY2xpZW50X2djZiIpKXtEJiZyMyhuLEQpO24uVyhXKTtsZXQgYj1hZygpO2ImJihEfHwoRD0oYXdhaXQgZzMoYikpPy5jb25maWcpLGF3YWl0IHhPKEQsVyxiKSk7aWYoRCl7bj1uLks7Zm9yKGxldCB2IG9mIG4uTil2KEQpfX19OwpmUD1hc3luYyBmdW5jdGlvbihuLFcsRCl7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJihZTyhuLFcpLG49YWcoKSkmJihEfHwoRD0oYXdhaXQgZTkobikpPy5jb25maWcpLEQmJmF3YWl0IExQKEQsVyxELmNvbmZpZ0RhdGEsbikpfTsKSjc9ZnVuY3Rpb24oKXt2YXIgbj1xQigpLFc9KDAsZy5SKSgpLW4uajtpZighKG4uaiE9PTAmJlc8djAoInNlbmRfY29uZmlnX2hhc2hfdGltZXIiKSkpe1c9Zy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnRGF0YSIpO3ZhciBEPWcucnIoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiKSxiPWcucnIoInl0LmdjZi5jb25maWcuY29sZEhhc2hEYXRhIik7VyYmRCYmYiYmKG4uaj0oMCxnLlIpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpXLGhvdEhhc2hEYXRhOkQsY29sZEhhc2hEYXRhOmJ9fX07Ckk3PWZ1bmN0aW9uKCl7cmV0dXJuIklOTkVSVFVCRV9BUElfS0VZImluIElFJiYiSU5ORVJUVUJFX0FQSV9WRVJTSU9OImluIElFfTsKZy5TOT1mdW5jdGlvbigpe3JldHVybntpbm5lcnR1YmVBcGlLZXk6Zy5BcigiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9BUElfVkVSU0lPTiIpLGNSOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9DT05GSUdfSU5GTyIpLEcwOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIiksRmQ6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpLGlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiksTWI6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSxFRTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9HTCIpLHY2OmcuQXIoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIil8fCIiLE9zOiEhZy5BcigiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSksT0Q6ISFnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIsCiExKSxhcHBJbnN0YWxsRGF0YTpnLkFyKCJTRVJJQUxJWkVEX0NMSUVOVF9DT05GSUdfREFUQSIpfX07CmcuVUo9ZnVuY3Rpb24obil7dmFyIFc9e2NsaWVudDp7aGw6bi5NYixnbDpuLkVFLGNsaWVudE5hbWU6bi5HMCxjbGllbnRWZXJzaW9uOm4uaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24sY29uZmlnSW5mbzpuLmNSfX07bmF2aWdhdG9yLnVzZXJBZ2VudCYmKFcuY2xpZW50LnVzZXJBZ2VudD1TdHJpbmcobmF2aWdhdG9yLnVzZXJBZ2VudCkpO3ZhciBEPWcucWkuZGV2aWNlUGl4ZWxSYXRpbztEJiZEIT0xJiYoVy5jbGllbnQuc2NyZWVuRGVuc2l0eUZsb2F0PVN0cmluZyhEKSk7RD1rVCgpO0QhPT0iIiYmKFcuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49RCk7RD1oeSgpO0QubGVuZ3RoPjAmJihXLnJlcXVlc3Q9e2ludGVybmFsRXhwZXJpbWVudEZsYWdzOkR9KTtBNyhuLHZvaWQgMCxXKTttVCh2b2lkIDAsVyk7S1Aodm9pZCAwLFcpO09KKG4sdm9pZCAwLFcpO1B6KHZvaWQgMCxXKTtnLmwoInN0YXJ0X2NsaWVudF9nY2YiKSYmWm0odm9pZCAwLFcpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJgohZy5sKCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoVy51c2VyPXtvbkJlaGFsZk9mVXNlcjpnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpfSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoVy51c2VyPXsuLi5XLnVzZXIsc2VyaWFsaXplZERlbGVnYXRpb25Db250ZXh0Om59KTtuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7Zy5sKCJlbmFibGVfcGVyc2lzdGVudF9kZXZpY2VfdG9rZW4iKSYmbj8uY2xpZW50Py5yb2xsb3V0VG9rZW4mJihXLmNsaWVudC5yb2xsb3V0VG9rZW49bj8uY2xpZW50Py5yb2xsb3V0VG9rZW4pO249T2JqZWN0O0Q9bi5hc3NpZ247dmFyIGI9Vy5jbGllbnQsdj1nLkFyKCJERVZJQ0UiLCIiKSxrPXt9O2ZvcihsZXQgW2gseF1vZiBPYmplY3QuZW50cmllcyhnLml3KHYpKSl2PWgsdj09PSJjYnJhbmQiPwprLmRldmljZU1ha2U9eDp2PT09ImNtb2RlbCI/ay5kZXZpY2VNb2RlbD14OnY9PT0iY2JyIj9rLmJyb3dzZXJOYW1lPXg6dj09PSJjYnJ2ZXIiP2suYnJvd3NlclZlcnNpb249eDp2PT09ImNvcyI/ay5vc05hbWU9eDp2PT09ImNvc3ZlciI/ay5vc1ZlcnNpb249eDp2PT09ImNwbGF0Zm9ybSImJihrLnBsYXRmb3JtPXgpO1cuY2xpZW50PUQuY2FsbChuLGIsayk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoVy5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsVy5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIFd9OwpBNz1mdW5jdGlvbihuLFcsRCl7bj1uLkcwO2lmKG49PT0iV0VCInx8bj09PSJNV0VCInx8bj09PTF8fG49PT0yKVc/KEQ9Z2UoVyx5ZCw5Nil8fG5ldyB5ZCxuPXl4KCksbj1PYmplY3Qua2V5cyhkM2opLmluZGV4T2Yobiksbj1uPT09LTE/bnVsbDpuLG4hPT1udWxsJiZLbihELDMsbiksJDkoVyx5ZCw5NixEKSk6RCYmKEQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPUQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPz97fSxELmNsaWVudC5tYWluQXBwV2ViSW5mby53ZWJEaXNwbGF5TW9kZT15eCgpKX07Cm1UPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpO0QmJihuPyhXPWdlKG4sRUosNyl8fG5ldyBFSixnLlNFKFcsNCxEKSwkOShuLEVKLDcsVykpOlcmJihXLnRoaXJkUGFydHk9e2VtYmVkVXJsOkR9KSl9OwpLUD1mdW5jdGlvbihuLFcpe2lmKGcubCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJmcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkpe2xldCBEPWcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnk7bj9veihuLDk1LGcubDQoRCoxRTYpKTpXJiYoVy5jbGllbnQubWVtb3J5VG90YWxLYnl0ZXM9YCR7RCoxRTZ9YCl9fTsKT0o9ZnVuY3Rpb24obixXLEQpe24uYXBwSW5zdGFsbERhdGEmJihXPyhEPWdlKFcsaTksNjIpPz9uZXcgaTksZy5TRShELDYsbi5hcHBJbnN0YWxsRGF0YSksJDkoVyxpOSw2MixEKSk6RCYmKEQuY2xpZW50LmNvbmZpZ0luZm89RC5jbGllbnQuY29uZmlnSW5mb3x8e30sRC5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1uLmFwcEluc3RhbGxEYXRhKSl9OwpQej1mdW5jdGlvbihuLFcpe3ZhciBEPUJCKCk7RCYmKG4/S24obiw2MSx6cXdbRF0pOlcmJihXLmNsaWVudC5jb25uZWN0aW9uVHlwZT1EKSk7Zy5sKCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKEQ9d0ooKSkmJihuP0tuKG4sOTQsbEJyW0RdKTpXJiYoVy5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9RCkpfTsKVFpqPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj17fTtnLkFyKCJFT01fVklTSVRPUl9EQVRBIik/Yj17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpfTpiPXsiWC1Hb29nLVZpc2l0b3ItSWQiOkQudmlzaXRvckRhdGF8fGcuQXIoIlZJU0lUT1JfREFUQSIsIiIpfTtpZihXJiZXLmluY2x1ZGVzKCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iKSlyZXR1cm4gYjtXPUQuUDF8fGcuQXIoIkFVVEhPUklaQVRJT04iKTtXfHwobj9XPWBCZWFyZXIgJHtnLnJyKCJnYXBpLmF1dGguZ2V0VG9rZW4iKSgpLmFjY2Vzc190b2tlbn1gOihuPWlPKCkuYWoodTkpLGcubCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIG5bIlgtR29vZy1QYWdlSWQiXSxiPXsuLi5iLC4uLm59KSk7VyYmKGIuQXV0aG9yaXphdGlvbj1XKTtyZXR1cm4gYn07ClptPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9SjcoKTtpZihEKXt2YXIgYj1ELmNvbGRDb25maWdEYXRhLHY9RC5jb2xkSGFzaERhdGE7RD1ELmhvdEhhc2hEYXRhO24/KFc9Z2UobixpOSw2Mik/P25ldyBpOSxiPWcuU0UoVywxLGIpLGcuU0UoYiwzLHYpLlcoRCksJDkobixpOSw2MixXKSk6VyYmKFcuY2xpZW50LmNvbmZpZ0luZm89Vy5jbGllbnQuY29uZmlnSW5mb3x8e30sYiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YiksdiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPXYpLEQmJihXLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPUQpKX19OwpvNz1mdW5jdGlvbihuKXt0aGlzLnZlcnNpb249MTt0aGlzLmFyZ3M9bn07CmQzPWZ1bmN0aW9uKG4sVyl7dGhpcy50b3BpYz1uO3RoaXMuTj1XfTsKbDk9ZnVuY3Rpb24obixXKXt2YXIgRD16bygpO0QmJkQucHVibGlzaC5jYWxsKEQsbi50b1N0cmluZygpLG4sVyl9OwpqMHg9ZnVuY3Rpb24obil7dmFyIFc9VG8sRD16bygpO2lmKCFEKXJldHVybiAwO3ZhciBiPUQuc3Vic2NyaWJlKFcudG9TdHJpbmcoKSwodixrKT0+e3ZhciBoPWcucnIoInl0UHVic3ViMlB1YnN1YjJTa2lwU3ViS2V5Iik7aCYmaD09Ynx8KGg9KCk9PntpZihqOVtiXSl0cnl7aWYoayYmVyBpbnN0YW5jZW9mIGQzJiZXIT12KXRyeXt7dmFyIHg9Vy5OLEw9aztpZighTC5hcmdzfHwhTC52ZXJzaW9uKXRocm93IEVycm9yKCJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogc2VyaWFsaXplZERhdGEgaXMgaW5jb21wbGV0ZS4iKTtsZXQgZTt0cnl7aWYoIXguQ2Ipe2xldCBHPW5ldyB4O3guQ2I9Ry52ZXJzaW9ufWU9eC5DYn1jYXRjaChHKXt9aWYoIWV8fEwudmVyc2lvbiE9ZSl0aHJvdyBFcnJvcigieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6IHNlcmlhbGl6ZWREYXRhIHZlcnNpb24gaXMgaW5jb21wYXRpYmxlLiIpO3RyeXtrPVJlZmxlY3QuY29uc3RydWN0KHgsZy5STShMLmFyZ3MpKX1jYXRjaChHKXt0aHJvdyBHLm1lc3NhZ2U9CiJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogIitHLm1lc3NhZ2UsRzt9fX1jYXRjaChlKXt0aHJvdyBlLm1lc3NhZ2U9Inl0LnB1YnN1YjIucHVic3ViMiBjcm9zcy1iaW5hcnkgY29udmVyc2lvbiBlcnJvciBmb3IgIitXLnRvU3RyaW5nKCkrIjogIitlLm1lc3NhZ2UsZTt9bi5jYWxsKHdpbmRvdyxrKX1jYXRjaChlKXtPdChlKX19LENQW1cudG9TdHJpbmcoKV0/Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/dGEuTFMoaCk6Zy5uJChoLDApOmgoKSl9KTsKajlbYl09ITA7QnpbVy50b1N0cmluZygpXXx8KEJ6W1cudG9TdHJpbmcoKV09W10pO0J6W1cudG9TdHJpbmcoKV0ucHVzaChiKTtyZXR1cm4gYn07CkYwTT1mdW5jdGlvbigpe3ZhciBuPUM0dyxXPWoweChmdW5jdGlvbihEKXtuLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO0JaaChXKX0pOwpyZXR1cm4gV307CkJaaD1mdW5jdGlvbihuKXt2YXIgVz16bygpO1cmJih0eXBlb2Ygbj09PSJudW1iZXIiJiYobj1bbl0pLGcueTIobixEPT57Vy51bnN1YnNjcmliZUJ5S2V5KEQpO2RlbGV0ZSBqOVtEXX0pKX07CnpvPWZ1bmN0aW9uKCl7cmV0dXJuIGcucnIoInl0UHVic3ViMlB1YnN1YjJJbnN0YW5jZSIpfTsKRjM9ZnVuY3Rpb24obixXLEQ9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixELnNhbXBsZVJhdGUvMTAwKSYmbDkoIm1ldGFfbG9nZ2luZ19jc2lfZXZlbnQiLHt0aW1lck5hbWU6bix0aW1lbGluZURhdGE6V30pfTsKVmQ9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9e3N0YXJ0VGltZTooMCxnLlIpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD13MyhXKTtpZihoPT1udWxsfHwhKGg+TUJ8fGg8UjcpKXt2YXIgaz1YJChRZChXKSk7bGV0IHg9KDAsZy5SKSgpO3YudGlja3MuZ2VsYz14O3c5aisrO2cubCgiZ2VsX2NvbXByZXNzaW9uX2NzaV9raWxsc3dpdGNoIil8fCFnLmwoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeSIpJiYhZy5sKCJsb2dfZ2VsX2NvbXByZXNzaW9uX2xhdGVuY3lfbHIiKXx8RjMoImdlbF9jb21wcmVzc2lvbiIsdix7c2FtcGxlUmF0ZTouMX0pO0QuaGVhZGVyc3x8KEQuaGVhZGVycz17fSk7RC5oZWFkZXJzWyJDb250ZW50LUVuY29kaW5nIl09Imd6aXAiO0QucG9zdEJvZHk9aztELnBvc3RQYXJhbXM9dm9pZCAwfWIobixEKX1jYXRjaChoKXtaRShoKSxiKG4sRCl9fTsKTVhTPWZ1bmN0aW9uKG4peygwLGcuUikoKTtpZighbi5ib2R5KXJldHVybiBuO3RyeXtsZXQgVz10eXBlb2Ygbi5ib2R5PT09InN0cmluZyI/bi5ib2R5OkpTT04uc3RyaW5naWZ5KG4uYm9keSksRD1XO2lmKHR5cGVvZiBXPT09InN0cmluZyIpe2xldCBiPXczKFcpO2lmKGIhPW51bGwmJihiPk1CfHxiPFI3KSlyZXR1cm4gbjtEPVgkKFFkKFcpKTsoMCxnLlIpKCl9bi5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihuLmhlYWRlcnN8fHt9KX07bi5ib2R5PUQ7cmV0dXJuIG59Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG59fTsKdzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybihuZXcgQmxvYihuLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG51bGx9fTsKY3o9ZnVuY3Rpb24obil7cmV0dXJuISFuLllXfHxuLld2fTsKbm09ZnVuY3Rpb24obil7Y3oobikmJiFuLk5oJiYobi5OPSEwLG4uQ3ImJk1hdGgucmFuZG9tKCk8PW4uS3ImJm4uZ0UudGkobi5ZVyksYTcobiksbi55Ry5XRygpJiZuLlcoKSxuLnlHLlNfKG4udVosbi5XLmJpbmQobikpLG4ueUcuU18obi5OQSxuLlguYmluZChuKSkpfTsKYTc9ZnVuY3Rpb24obil7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogcmV0cnlRdWV1ZWRSZXF1ZXN0cyIpO24uZ0UuaTQoIlFVRVVFRCIsbi5ZVykudGhlbihXPT57VyYmIVdVKG4sVyxuLlo0KT9uLkEkLkxTKGFzeW5jKCk9PntXLmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVyk7YTcobil9KTpuLnlHLldHKCkmJm4uVygpfSl9OwpENT1hc3luYyBmdW5jdGlvbihuLFcpe2lmKCFjeihuKSl0aHJvdyBFcnJvcigiSW5kZXhlZERCIGlzIG5vdCBzdXBwb3J0ZWQ6IGltbWVkaWF0ZVNlbmQiKTtXLmlkIT09dm9pZCAwJiYoYXdhaXQgbi5nRS5LNihXLmlkLG4uWVcpfHxuLkYyKEVycm9yKCJUaGUgcmVxdWVzdCBjYW5ub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlLiIpKSk7V1UobixXLG4uR3kpPyhXLnNraXBSZXRyeXx8KFc9UnEyKG4sVykpLFcmJihXLnNraXBSZXRyeSYmVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpLG4uTG0oVy51cmwsVy5vcHRpb25zLCEhVy5za2lwUmV0cnkpKSk6KG4uRjIoRXJyb3IoIk5ldHdvcmtsZXNzIExvZ2dpbmc6IFN0b3JlZCBsb2dzIHJlcXVlc3QgZXhwaXJlZCBhZ2UgbGltaXQiKSksVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpKX07CmJNPWZ1bmN0aW9uKG4sVyl7bi5oTCYmIW4ueUcuV0coKT9uLmhMKFcpOm4uaGFuZGxlRXJyb3IoVyl9OwpXVT1mdW5jdGlvbihuLFcsRCl7Vz1XLnRpbWVzdGFtcDtyZXR1cm4gbi5ub3coKS1XPj1EPyExOiEwfTsKUnEyPWZ1bmN0aW9uKG4sVyl7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogdXBkYXRlUmVxdWVzdEhhbmRsZXJzIik7dmFyIEQ9Vy5vcHRpb25zLm9uRXJyb3I/Vy5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9OwpXLm9wdGlvbnMub25FcnJvcj1hc3luYyh2LGspPT57dmFyIGg9UTBTKGspLHg9VlgyKGspO3gmJm4uRXEmJm4uRXEoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJm4uaGFuZGxlRXJyb3IoRXJyb3IoIlJlcXVlc3QgZmFpbGVkIGR1ZSB0byBjb21wcmVzc2lvbiIpLFcudXJsLGspO2lmKG4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmh8fG4uRXEmJiFuLkVxKCJud2xfY29uc2lkZXJfZXJyb3JfY29kZSIpJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcjw9bi5IRilpZihuLnlHLmhKJiZhd2FpdCBuLnlHLmhKKCksIW4ueUcuV0coKSl7RCh2LGspO24uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJlc/LmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMSk7cmV0dXJufW4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJiFoJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5uLkhGfHwobi5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKywKVz8uaWQhPT12b2lkIDAmJihXLnNlbmRDb3VudDxuLkExPyhhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMCx4PyExOnZvaWQgMCksbi5BJC5MUygoKT0+e24ueUcuV0coKSYmbi5XKCl9LG4uSVApKTphd2FpdCBuLmdFLlRNKFcuaWQsbi5ZVykpLEQodixrKSl9Owp2YXIgYj1XLm9wdGlvbnMub25TdWNjZXNzP1cub3B0aW9ucy5vblN1Y2Nlc3M6KCk9Pnt9OwpXLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKHYsayk9PntXPy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpO24ueUcubGMmJm4uRXEmJm4uRXEoInZzc19uZXR3b3JrX2hpbnQiKSYmbi55Ry5sYyghMCk7Yih2LGspfTsKcmV0dXJuIFd9OwpRMFM9ZnVuY3Rpb24obil7cmV0dXJuKG49bj8uZXJyb3I/LmNvZGUpJiZuPj00MDAmJm48PTU5OT8hMTohMH07ClZYMj1mdW5jdGlvbihuKXtuPW4/LmVycm9yPy5jb2RlO3JldHVybiEobiE9PTQwMCYmbiE9PTQxNSl9OwpjX1o9ZnVuY3Rpb24oKXtpZih2VSlyZXR1cm4gdlUoKTt2VT1rTygiTG9nc0RhdGFiYXNlVjIiLHtLYzp7TG9nc1JlcXVlc3RzU3RvcmU6e3Z4OjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcsRCl7VygyKSYmWnkobiwiTG9nc1JlcXVlc3RzU3RvcmUiLHtrZXlQYXRoOiJpZCIsYXV0b0luY3JlbWVudDohMH0pO1coMyk7Vyg1KSYmKEQ9RC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSxELk4uaW5kZXhOYW1lcy5jb250YWlucygibmV3UmVxdWVzdCIpJiZELk4uZGVsZXRlSW5kZXgoIm5ld1JlcXVlc3QiKSxFUihELCJuZXdSZXF1ZXN0VjIiLFsic3RhdHVzIiwiaW50ZXJmYWNlIiwidGltZXN0YW1wIl0pKTtXKDcpJiZVUihuLCJzYXBpc2lkIik7Vyg5KSYmVVIobiwiU1dIZWFsdGhMb2ciKX0sdmVyc2lvbjo5fSk7cmV0dXJuIHZVKCl9OwprUT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoY19aKCksbil9OwphQlM9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD17c3RhcnRUaW1lOigwLGcuUikoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtXPWF3YWl0IGtRKFcpO249ey4uLm4sb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG4ub3B0aW9ucykpLGludGVyZmFjZTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCl9O249YXdhaXQgVy5wdXQoIkxvZ3NSZXF1ZXN0c1N0b3JlIixuKTtELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4gbn07Cm52Mj1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPXtzdGFydFRpbWU6KDAsZy5SKSgpLGluZm9zOnt0cmFuc2FjdGlvblR5cGU6IllUX0lEQl9UUkFOU0FDVElPTl9UWVBFX1JFQUQifSx0aWNrczp7fX07Vz1hd2FpdCBrUShXKTt2YXIgYj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksdj1bbixiLDBdO2I9W24sYiwoMCxnLlIpKCldO3ZhciBrPUlEQktleVJhbmdlLmJvdW5kKHYsYiksaD0icHJldiI7Zy5sKCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiKSYmKGg9Im5leHQiKTt2YXIgeD12b2lkIDA7dj1uPT09Ik5FVyI/InJlYWR3cml0ZSI6InJlYWRvbmx5IjtnLmwoInVzZV9yZWFkb25seV9mb3JfZ2V0X21vc3RfcmVjZW50X2J5X3N0YXR1c19raWxsc3dpdGNoIikmJih2PSJyZWFkd3JpdGUiKTthd2FpdCBPUihXLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTp2LEdROiEwfSxMPT56bihMLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmssZGlyZWN0aW9uOmh9LGU9PntlLmdldFZhbHVlKCkmJih4PWUuZ2V0VmFsdWUoKSxuPT09Ik5FVyImJih4LnN0YXR1cz0iUVVFVUVEIixlLnVwZGF0ZSh4KSkpfSkpOwpELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4geH07CldfQz1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBPUihhd2FpdCBrUShXKSxbIkxvZ3NSZXF1ZXN0c1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pnt2YXIgYj1ELm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpO3JldHVybiBiLmdldChuKS50aGVuKHY9PntpZih2KXJldHVybiB2LnN0YXR1cz0iUVVFVUVEIixiLnB1dCh2KS50aGVuKCgpPT52KX0pfSl9OwpERXg9YXN5bmMgZnVuY3Rpb24obixXLEQ9ITAsYil7cmV0dXJuIE9SKGF3YWl0IGtRKFcpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sdj0+e3ZhciBrPXYub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGsuZ2V0KG4pLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsRCYmKGguc2VuZENvdW50Kz0xKSxiIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWIpLGsucHV0KGgpLnRoZW4oKCk9PmgpKTpzUi5yZXNvbHZlKHZvaWQgMCkpfSl9OwpiR0M9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4oYXdhaXQga1EoVykpLmRlbGV0ZSgiTG9nc1JlcXVlc3RzU3RvcmUiLG4pfTsKdnZpPWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQga1Eobik7dmFyIFc9KDAsZy5SKSgpLTI1OTJFNjthd2FpdCBPUihuLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+dVEoRC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxiPT57aWYoYi5nZXRWYWx1ZSgpLnRpbWVzdGFtcDw9VylyZXR1cm4gYi5kZWxldGUoKS50aGVuKCgpPT5vZyhiKSl9KSl9Owpremk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgiTG9nc0RhdGFiYXNlVjIiKX07CmhJPWZ1bmN0aW9uKG4pe2cubCgibndsX2NzaV9raWxsc3dpdGNoIil8fEYzKCJuZXR3b3JrbGVzc19wZXJmb3JtYW5jZSIsbix7c2FtcGxlUmF0ZToxfSl9Owp4UT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoaF94KCksbil9Owp4RXc9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCB4UShuKTt2YXIgVz0oMCxnLlIpKCktMjU5MkU2O2F3YWl0IE9SKG4sWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwfSxEPT51UShELm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGI9PntpZihiLmdldFZhbHVlKCkudGltZXN0YW1wPD1XKXJldHVybiBiLmRlbGV0ZSgpLnRoZW4oKCk9Pm9nKGIpKX0pKX07CkxfaT1hc3luYyBmdW5jdGlvbihuKXthd2FpdCAoYXdhaXQgeFEobikpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKZy5nbz1mdW5jdGlvbihuLFcsRCxiLHY9IiIsaz0hMSxoPSExKXtpZihuKWlmKEQmJiFnLmQ4KCkpWkUobmV3IGcuUXgoIkxlZ2FjeSByZWZlcnJlci1zY3J1YmJlZCBwaW5nIGRldGVjdGVkIikpLG4mJkxtKG4sdm9pZCAwLHtzY3J1YlJlZmVycmVyOiEwfSk7ZWxzZSBpZih2KXhUKG4sVywiUE9TVCIsdixiKTtlbHNlIGlmKGcuQXIoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8Ynx8aCl4VChuLFcsIkdFVCIsIiIsYix2b2lkIDAsayxoKTtlbHNle2I6e3RyeXtjOnt2YXIgeD1uZXcgZV93KHt1cmw6bn0pO2lmKHguTi5kc2g9PT0iMSIpdmFyIEw9bnVsbDtlbHNle3ZhciBlPXguTi5hZTtpZihlPT09IjEiKXtsZXQgcj14Lk4uYWR1cmw7aWYocil0cnl7TD17dmVyc2lvbjozLFViOmRlY29kZVVSSUNvbXBvbmVudChyKSxERzp1eCh4LkosImFjdD0xIiwicmk9MSIseGlNKHgpKX07YnJlYWsgY31jYXRjaChOKXt9fUw9ZT09PSIyIj97dmVyc2lvbjo0LFViOnV4KHguSiwKImRjdD0xIiwic3VpZD0iK3guVywicmk9MSIpLERHOnV4KHguSiwiYWN0PTEiLCJyaT0xIiwic3VpZD0iK3guVyl9Om51bGx9fWlmKEwpe2xldCByPVMxKG4pO3ZhciBHPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxnLmxmKG4sInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31HPSExfUc/ZXcobik/KFcmJlcoKSxEPSEwKTpEPSExOkQ9ITE7RHx8TG0obixXKX19Owpndnc9ZnVuY3Rpb24obixXPSIiKXtldyhuLFcpfHxnLmdvKG4sdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyl9Owpldz1mdW5jdGlvbihuLFc9IiIpe3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihuLFcpKXJldHVybiEwfWNhdGNoKEQpe31yZXR1cm4hMX07CkxtPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj1uZXcgSW1hZ2Usdj0iIitYSHcrKztYaVt2XT1iO2Iub25sb2FkPWIub25lcnJvcj0oKT0+e1cmJlhpW3ZdJiZXKCk7ZGVsZXRlIFhpW3ZdfTsKRC5zY3J1YlJlZmVycmVyJiYoYi5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtiLnNyYz1ufTsKZy5xYj1mdW5jdGlvbihuKXtyZXR1cm4gZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP24rIiZuaXM9NiI6bisiJm5pcz01In07CiRRPWZ1bmN0aW9uKCl7R1R8fChHVD1uZXcgdEkoInl0Lm9mZmxpbmUiKSk7cmV0dXJuIEdUfTsKcUt3PWZ1bmN0aW9uKG4pe2lmKGcubCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgVz0kUSgpLmdldCgiZXJyb3JzIiwhMCl8fHt9O1dbbi5tZXNzYWdlXT17bmFtZTpuLm5hbWUsc3RhY2s6bi5zdGFja307bi5sZXZlbCYmKFdbbi5tZXNzYWdlXS5sZXZlbD1uLmxldmVsKTskUSgpLnNldCgiZXJyb3JzIixXLDI1OTJFMywhMCl9fTsKc2M9ZnVuY3Rpb24oKXtpZighcm8uaW5zdGFuY2Upe2xldCBuPWcucnIoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIpfHxuZXcgcm87Zy5HYigieXQubmV0d29ya1JlcXVlc3RNb25pdG9yLmluc3RhbmNlIixuKTtyby5pbnN0YW5jZT1ufXJldHVybiByby5pbnN0YW5jZX07CnBtPWZ1bmN0aW9uKCl7aWYoIU5iLmluc3RhbmNlKXtsZXQgbj1nLnJyKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcgTmI7Zy5HYigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLG4pO05iLmluc3RhbmNlPW59cmV0dXJuIE5iLmluc3RhbmNlfTsKWVE9ZnVuY3Rpb24obixXKXtuLnJhdGVMaW1pdD9uLk4/KHRhLnNPKG4uWCksbi5YPXRhLkxTKCgpPT57bi5XIT09VyYmKG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKX0sbi5yYXRlTGltaXQtKCgwLGcuUikoKS1uLk4pKSk6KG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKTpuLmRpc3BhdGNoRXZlbnQoVyl9OwpnLkhVPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIpO258fChuPW5ldyBHemgsZy5HYigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsbiksZy5sKCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJmcublAoKS50aGVuKFc9PntuLllXPVc7bm0obik7bi5qLnJlc29sdmUoKTtuLkNyJiZNYXRoLnJhbmRvbSgpPD1uLktyJiZuLllXJiZ4RXcobi5ZVyk7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX3N3X2hlYWx0aF9zdG9yZSIpJiZ0V3cobil9KSk7CnJldHVybiBufTsKdFd3PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLllXKXRocm93IGcucjAoImNsZWFyU1dIZWFsdGhMb2dzRGIiKTtMX2kobi5ZVykuY2F0Y2goVz0+e24uaGFuZGxlRXJyb3IoVyl9KX07CiRFdD1mdW5jdGlvbihuLFcsRCl7Vz1nLmwoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sVyk6VztnLmwoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Vy5oZWFkZXJzJiZnLlRkKG4pJiYoVy5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxnLlIpKCkpKSk6Vy5wb3N0UGFyYW1zPy5yZXF1ZXN0VGltZU1zJiYoVy5wb3N0UGFyYW1zLnJlcXVlc3RUaW1lTXM9TWF0aC5yb3VuZCgoMCxnLlIpKCkpKTtEJiZPYmplY3Qua2V5cyhXKS5sZW5ndGg9PT0wP2cuZ28obik6Vy5jb21wcmVzcz9XLnBvc3RCb2R5Pyh0eXBlb2YgVy5wb3N0Qm9keSE9PSJzdHJpbmciJiYoVy5wb3N0Qm9keT1KU09OLnN0cmluZ2lmeShXLnBvc3RCb2R5KSksVmQobixXLnBvc3RCb2R5LFcsZy5lZCkpOlZkKG4sSlNPTi5zdHJpbmdpZnkoVy5wb3N0UGFyYW1zKSxXLGc4KTpnLmVkKG4sVyl9OwpmbT1mdW5jdGlvbihuLFcpe2cubCgidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIikmJmcuVGQobikmJihXLmhlYWRlcnN8fChXLmhlYWRlcnM9e30pLFcuaGVhZGVyc1siWC1Hb29nLUV2ZW50LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gV307CmcuSUk9ZnVuY3Rpb24obixXLEQsYil7IWcuQXIoIlZJU0lUT1JfREFUQSIpJiZXIT09InZpc2l0b3JfaWQiJiZNYXRoLnJhbmRvbSgpPC4wMSYmWkUobmV3IGcuUXgoIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLFcsRCxiKSk7aWYoIW4uaXNSZWFkeSgpKXRocm93IG49bmV3IGcuUXgoImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixXLEQsYiksT3Qobiksbjt2YXIgdj17aGVhZGVyczpiLmhlYWRlcnN8fHt9LG1ldGhvZDoiUE9TVCIscG9zdFBhcmFtczpELHBvc3RCb2R5OmIucG9zdEJvZHkscG9zdEJvZHlGb3JtYXQ6Yi5wb3N0Qm9keUZvcm1hdHx8IkpTT04iLG9uVGltZW91dDooKT0+e2Iub25UaW1lb3V0KCl9LApvbkZldGNoVGltZW91dDpiLm9uVGltZW91dCxvblN1Y2Nlc3M6KGUsRyk9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhHKX0sCm9uRmV0Y2hTdWNjZXNzOmU9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhlKX0sCm9uUHJvZ3Jlc3M6ZT0+e2lmKGIub25Qcm9ncmVzcyliLm9uUHJvZ3Jlc3MoZSl9LApvbkVycm9yOihlLEcpPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihHKX0sCm9uRmV0Y2hFcnJvcjplPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihlKX0sCnRpbWVvdXQ6Yi50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpiLmNvbXByZXNzfTt2LmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwodi5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO0Q9IiI7dmFyIGs9bi5jb25maWdfLnY2O2smJihEPWspO2s9bi5jb25maWdfLk9zfHwhMTt2YXIgaD1UWmooayxELGIpO09iamVjdC5hc3NpZ24odi5oZWFkZXJzLGgpO3YuaGVhZGVycy5BdXRob3JpemF0aW9uJiYhRCYmayYmKHYuaGVhZGVyc1sieC1vcmlnaW4iXT13aW5kb3cubG9jYXRpb24ub3JpZ2luKTt2YXIgeD1nLnpkKGAke0R9JHtgL3lvdXR1YmVpLyR7bi5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7V31gfWAse2FsdDoianNvbiJ9KSxMPShlPSExKT0+e3RyeXtpZihlJiZiLnJldHJ5JiYhYi5uZXR3b3JrbGVzc09wdGlvbnMuYnlwYXNzTmV0d29ya2xlc3Mpdi5tZXRob2Q9IlBPU1QiLGIubmV0d29ya2xlc3NPcHRpb25zLndyaXRlVGhlblNlbmQ/CmcuSFUoKS53cml0ZVRoZW5TZW5kKHgsdik6Zy5IVSgpLnNlbmRBbmRXcml0ZSh4LHYpO2Vsc2UgaWYoYi5jb21wcmVzcylpZih2LnBvc3RCb2R5KXtsZXQgRz12LnBvc3RCb2R5O3R5cGVvZiBHIT09InN0cmluZyImJihHPUpTT04uc3RyaW5naWZ5KHYucG9zdEJvZHkpKTtWZCh4LEcsdixnLmVkKX1lbHNlIFZkKHgsSlNPTi5zdHJpbmdpZnkodi5wb3N0UGFyYW1zKSx2LGc4KTtlbHNlIGc4KHgsdil9Y2F0Y2goRyl7aWYoRy5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpWkUoRXJyb3IoIkFuIGV4dGVuc2lvbiBpcyBibG9ja2luZyBuZXR3b3JrIHJlcXVlc3QuIikpO2Vsc2UgdGhyb3cgRzt9fTsKZy5ycigieXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnMiKSYmSkkuaXNOd2xJbml0aWFsaXplZD9jTigpLnRoZW4oZT0+e0woZSl9KTpMKCExKX07Ck9jPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1TdygpO2lmKGImJlcpe2xldCB2PWIuc3Vic2NyaWJlKG4sZnVuY3Rpb24oKXt2YXIgaz1hcmd1bWVudHMsaD0oKT0+e0FJW3ZdJiZXLmFwcGx5JiZ0eXBlb2YgVy5hcHBseT09ImZ1bmN0aW9uIiYmVy5hcHBseShEfHx3aW5kb3csayl9Owp0cnl7bWdbbl0/aCgpOmcubiQoaCwwKX1jYXRjaCh4KXtPdCh4KX19LEQpOwpBSVt2XT0hMDtLbVtuXXx8KEttW25dPVtdKTtLbVtuXS5wdXNoKHYpO3JldHVybiB2fXJldHVybiAwfTsKUFU9ZnVuY3Rpb24obil7dmFyIFc9U3coKTtXJiYodHlwZW9mIG49PT0ibnVtYmVyIj9uPVtuXTp0eXBlb2Ygbj09PSJzdHJpbmciJiYobj1bcGFyc2VJbnQobiwxMCldKSxnLnkyKG4sRD0+e1cudW5zdWJzY3JpYmVCeUtleShEKTtkZWxldGUgQUlbRF19KSl9OwpaNT1mdW5jdGlvbihuLFcpe3ZhciBEPVN3KCk7cmV0dXJuIEQ/RC5wdWJsaXNoLmFwcGx5KEQsYXJndW1lbnRzKTohMX07CnlKPWZ1bmN0aW9uKG4pe3ZhciBXPVN3KCk7aWYoVylpZihXLmNsZWFyKG4pLG4pVWMobik7ZWxzZSBmb3IobGV0IEQgaW4gS20pVWMoRCl9OwpFYz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPVdebjtpZighKG4tNj4+Mykpe2VYKGteMjk5MCxrXjYwMjksRCk7dmFyIGg9RFtJW2teMjk4Nl1dKyhEW0lba14yOTg2XV0/SVtrXjMwNjBdOklba14zMDY3XSkrRFtJW2teMjk2N11dK0RbSVtrXjI5ODhdXTtpZihQMChrXjMwNDUsa140NjE4LEQpKXtsZXQgTD1bXTtnLmFfKERbSVsxXV0sKEcscik9PntHIT09bnVsbCYmTFtJW2teMjk4Ml1dKGAke3J9PSR7R31gKX0pOwpsZXQgZT1MW0lba14zMDA1XV0oSVtrXjI5NDVdKTtoKz1gPyR7ZX1gfXZhciB4PWh9KG4rMl43KTxuJiYobi01fDIzKT49biYmKGI9PT1JW2teNjU4OV0mJigoaD12W0lba142NTYzXV0oSVtrXjY1NDhdKSk+PTA/KGI9YGNtbz0ke3ZbSVtrXjY1NjZdXSgwLGgpfWAsdj12W0lba142NTY2XV0oaCsxKSk6KGg9dltJW2teNjU2M11dKElba142NTM1XSkpPj0wJiYoYj1gY21vPSR7dltJW2teNjU2Nl1dKDAsaCl9YCx2PXZbSVtrXjY1NjZdXShoKzMpKSksRFtiXT12KTtyZXR1cm4geH07ClN3PWZ1bmN0aW9uKCl7cmV0dXJuIGcucWkueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07ClVjPWZ1bmN0aW9uKG4pe0ttW25dJiYobj1LbVtuXSxnLnkyKG4sVz0+e0FJW1ddJiZkZWxldGUgQUlbV119KSxuLmxlbmd0aD0wKX07CmlNPWZ1bmN0aW9uKG4sVyxEPW51bGwpe3J2aChuLFcsRCl9Owpydmg9ZnVuY3Rpb24obixXLEQ9bnVsbCl7dmFyIGI9dU0odHlwZW9mIG49PT0ic3RyaW5nIj9uOm4udG9TdHJpbmcoKSksdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxrPXYmJmdKKHYpLGg9diYmIWs7az9XJiZXKCk6KFcmJihrPU9jKGIsVyksVz1gJHtBaShXKX1gLG9JW1ddPWspLGh8fCh2PXN6UyhuLGIsKCk9PntnSih2KXx8KGI1dCh2KSxaNShiKSxnLm4kKCgpPT57eUooYil9LDApKX0sRCkpKX07CnN6Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwpe3ZhciB2PWcuekYoIlNDUklQVCIpO3YuaWQ9Vzt2Lm9ubG9hZD0oKT0+e0QmJnNldFRpbWVvdXQoRCwwKX07CnYub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57c3dpdGNoKHYucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6di5vbmxvYWQoKX19OwpiJiZ2LnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpO2cuUE0odix0eXBlb2Ygbj09PSJzdHJpbmciP2Z3KG4pOm4pO249ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTtuLmluc2VydEJlZm9yZSh2LG4uZmlyc3RDaGlsZCk7cmV0dXJuIHZ9Owp1TT1mdW5jdGlvbihuKXt2YXIgVz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Zy5OVShXLG4pO249Vy5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIik7cmV0dXJuYGpzLSR7c1Qobil9YH07CnpUPWZ1bmN0aW9uKG4sVyl7aWYobj09PVcpbj0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkobikmJkFycmF5LmlzQXJyYXkoVykpbj12NChuLFcselQpO2Vsc2UgaWYoZy5mdChuKSYmZy5mdChXKSlhOmlmKGcuTFQobikubGVuZ3RoIT1nLkxUKFcpLmxlbmd0aCluPSExO2Vsc2V7Zm9yKGxldCBEIGluIG4paWYoIXpUKG5bRF0sV1tEXSkpe249ITE7YnJlYWsgYX1uPSEwfWVsc2Ugbj0hMTtyZXR1cm4gbn07Cmp3PWZ1bmN0aW9uKG4sLi4uVyl7aWYoIWxNKG4pfHxXLnNvbWUoRD0+IWxNKEQpKSl0aHJvdyBFcnJvcigiT25seSBvYmplY3RzIG1heSBiZSBtZXJnZWQuIik7CmZvcihsZXQgRCBvZiBXKVRUKG4sRCl9OwpUVD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBXKWlmKGxNKFdbRF0pKXtpZihEIGluIG4mJiFsTShuW0RdKSl0aHJvdyBFcnJvcigiQ2Fubm90IG1lcmdlIGFuIG9iamVjdCBpbnRvIGEgbm9uLW9iamVjdC4iKTtEIGluIG58fChuW0RdPXt9KTtUVChuW0RdLFdbRF0pfWVsc2UgaWYoQ20oV1tEXSkpe2lmKEQgaW4gbiYmIUNtKG5bRF0pKXRocm93IEVycm9yKCJDYW5ub3QgbWVyZ2UgYW4gYXJyYXkgaW50byBhIG5vbi1hcnJheS4iKTtEIGluIG58fChuW0RdPVtdKTtCVShuW0RdLFdbRF0pfWVsc2UgbltEXT1XW0RdO3JldHVybiBufTsKQlU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgVylsTShEKT9uLnB1c2goVFQoe30sRCkpOkNtKEQpP24ucHVzaChCVShbXSxEKSk6bi5wdXNoKEQpO3JldHVybiBufTsKbE09ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KG4pfTsKQ209ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJkFycmF5LmlzQXJyYXkobil9OwpnLkZpPWZ1bmN0aW9uKG49ITEpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLlkkPW5ldyBCSyhuKTtnLnUodGhpcyx0aGlzLlkkKX07Ck1iPWZ1bmN0aW9uKG4pe2lmKHdpbmRvdy5jcnlwdG8mJndpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXRyeXt2YXIgVz1BcnJheShuKSxEPW5ldyBVaW50OEFycmF5KG4pO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKEQpO2Zvcih2YXIgYj0wO2I8Vy5sZW5ndGg7YisrKVdbYl09RFtiXTtyZXR1cm4gV31jYXRjaCh2KXt9Vz1BcnJheShuKTtmb3IoRD0wO0Q8bjtEKyspe2I9RGF0ZS5ub3coKTtmb3IobGV0IHY9MDt2PGIlMjM7disrKVdbRF09TWF0aC5yYW5kb20oKTtXW0RdPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTYpfWlmKHdvKWZvcihEPTEsYj0wO2I8d28ubGVuZ3RoO2IrKylXW0Qlbl1ePVdbKEQtMSklbl0vNF53by5jaGFyQ29kZUF0KGIpLEQrKztyZXR1cm4gV307CmcuUkk9ZnVuY3Rpb24obil7bj1NYihuKTt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJBdChuW0RdJjYzKSk7cmV0dXJuIFcuam9pbigiIil9OwpnLlFKPWZ1bmN0aW9uKCl7cmV0dXJuIGcuaV8oTWIoMTYpLG49PihuJjE1KS50b1N0cmluZygxNikpLmpvaW4oIiIpfTsKYUk9ZnVuY3Rpb24oKXsoe0NQOlc9ITEsTTY6bj0hMH09e30pO3ZhciBuLFc7aWYoZy5ycigiX2xhY3QiLHdpbmRvdyk9PW51bGwpe3ZhciBEPXBhcnNlSW50KGcuQXIoIkxBQ1QiKSwxMCk7RD1pc0Zpbml0ZShEKT9EYXRlLm5vdygpLU1hdGgubWF4KEQsMCk6LTE7Zy5HYigiX2xhY3QiLEQsd2luZG93KTtnLkdiKCJfZmFjdCIsRCx3aW5kb3cpO0Q9PS0xJiZWSigpO05ndyhXLG4pO25ldyBtWSgoKT0+e2NVKCJtb3VzZSIsMTAwKX0pfX07Cm5YPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IGcud1ooVyk7KFc9RC5nZXQoInJlcV9pZCIpKSYmbi5zZXQoInJlcV9pZCIsVyk7Zy5hXyhuLk4sKGIsdik9PntEWyJzZXQiXSh2LG51bGwpfSk7CnJldHVybiBEfTsKTmd3PWZ1bmN0aW9uKG49ITEsVz0hMCl7dmFyIEQ9d2luZG93O2cuSTkoRC5kb2N1bWVudCwia2V5ZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwia2V5dXAiLFZKKTtnLkk5KEQuZG9jdW1lbnQsIm1vdXNlZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwibW91c2V1cCIsVkopO24/Zy5JOShELCJ0b3VjaG1vdmUiLCgpPT57Y1UoInRvdWNobW92ZSIsMjAwKX0se3Bhc3NpdmU6ITB9KTooZy5JOShELCJyZXNpemUiLCgpPT57Y1UoInJlc2l6ZSIsMjAwKX0pLFcmJmcuSTkoRCwic2Nyb2xsIiwoKT0+e2NVKCJzY3JvbGwiLDIwMCl9KSk7CmcuSTkoRC5kb2N1bWVudCwidG91Y2hzdGFydCIsVkose3Bhc3NpdmU6ITB9KTtnLkk5KEQuZG9jdW1lbnQsInRvdWNoZW5kIixWSix7cGFzc2l2ZTohMH0pfTsKY1U9ZnVuY3Rpb24obixXKXtieVtuXXx8KGJ5W25dPSEwLHRhLkxTKCgpPT57VkooKTtieVtuXT0hMX0sVykpfTsKVko9ZnVuY3Rpb24oKXtnLnJyKCJfbGFjdCIsd2luZG93KT09bnVsbCYmKGFJKCksZy5ycigiX2xhY3QiLHdpbmRvdykpO3ZhciBuPURhdGUubm93KCk7Zy5HYigiX2xhY3QiLG4sd2luZG93KTtnLnJyKCJfZmFjdCIsd2luZG93KT09LTEmJmcuR2IoIl9mYWN0IixuLHdpbmRvdyk7KG49Zy5ycigieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJm4oKX07Cmcudkk9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJfbGFjdCIsd2luZG93KTtyZXR1cm4gbj09bnVsbD8tMTpNYXRoLm1heChEYXRlLm5vdygpLW4sMCl9OwpnLmhwPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcga28obil9OwpnLnhvPWZ1bmN0aW9uKG4sVyl7bi5KLnNldChXLk5ILFcpO3ZhciBEPW4uVy5nZXQoVy5OSCk7aWYoRCl0cnl7RC5RNChuLnJlc29sdmUoVy5OSCkpfWNhdGNoKGIpe0QuSlkoYil9fTsKZ0U9ZnVuY3Rpb24obixXLEQsYj0hMSl7aWYoRC5pbmRleE9mKFcpPi0xKXRocm93IEVycm9yKGBEZXBzIGN5Y2xlIGZvcjogJHtXfWApO2lmKG4uTi5oYXMoVykpcmV0dXJuIG4uTi5nZXQoVyk7aWYoIW4uSi5oYXMoVykpe2lmKGIpcmV0dXJuO3Rocm93IEVycm9yKGBObyBwcm92aWRlciBmb3I6ICR7V31gKTt9Yj1uLkouZ2V0KFcpO0QucHVzaChXKTtpZihiLlBmIT09dm9pZCAwKXZhciB2PWIuUGY7ZWxzZSBpZihiLlJjKXY9YltnLkxYXT9lWihuLGJbZy5MWF0sRCk6W10sdj1iLlJjKC4uLnYpO2Vsc2UgaWYoYi5ZTCl7dj1iLllMO2xldCBrPXZbZy5MWF0/ZVoobix2W2cuTFhdLEQpOltdO3Y9bmV3IHYoLi4uayl9ZWxzZSB0aHJvdyBFcnJvcihgQ291bGQgbm90IHJlc29sdmUgcHJvdmlkZXJzIGZvcjogJHtXfWApO0QucG9wKCk7Yi5wbnx8bi5OLnNldChXLHYpO3JldHVybiB2fTsKZVo9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXP1cubWFwKGI9PmIgaW5zdGFuY2VvZiBrbz9nRShuLGIua2V5LEQsITApOmdFKG4sYixEKSk6W119OwpnLnFqPWZ1bmN0aW9uKCl7WDR8fChYND1uZXcgcEhyKTtyZXR1cm4gWDR9Owp0cD1mdW5jdGlvbigpe3JldHVybiJoNXZjYyJpbiBHcCYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VCZWdpbiYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VFbmQ/MToicGVyZm9ybWFuY2UiaW4gR3AmJkdwLnBlcmZvcm1hbmNlLm1hcmsmJkdwLnBlcmZvcm1hbmNlLm1lYXN1cmU/MjowfTsKJG89ZnVuY3Rpb24obil7dmFyIFc9dHAoKTtzd2l0Y2goVyl7Y2FzZSAxOkdwLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsbik7YnJlYWs7Y2FzZSAyOkdwLnBlcmZvcm1hbmNlLm1hcmsoYCR7bn0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpnLnBiKFcsInVua25vd24gdHJhY2UgdHlwZSIpfX07CnJFPWZ1bmN0aW9uKG4pe3ZhciBXPXRwKCk7c3dpdGNoKFcpe2Nhc2UgMTpHcC5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixuKTticmVhaztjYXNlIDI6Vz1gJHtufS1zdGFydGA7bGV0IEQ9YCR7bn0tZW5kYDtHcC5wZXJmb3JtYW5jZS5tYXJrKEQpO0dwLnBlcmZvcm1hbmNlLm1lYXN1cmUobixXLEQpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0OmcucGIoVywidW5rbm93biB0cmFjZSB0eXBlIil9fTsKWUtqPWZ1bmN0aW9uKG4pe3ZhciBXPUFycmF5LmZyb20obi5OLmtleXMoKSkuc29ydCgoRCxiKT0+KG4uTltiXS5wcmlvcml0eT8/MCktKG4uTltEXS5wcmlvcml0eT8/MCkpOwpmb3IobGV0IEQgb2YgVylXPW4uTltEXSxXLmpvYklkPT09dm9pZCAwfHxXLk1KfHwobi5zY2hlZHVsZXIuc08oVy5qb2JJZCksZy5WeCgwLFcuSmEsMTApKX07CmZSMj1mdW5jdGlvbihuLFcsRCl7SEd0JiZjb25zb2xlLmdyb3VwQ29sbGFwc2VkJiZjb25zb2xlLmdyb3VwRW5kJiYoY29uc29sZS5ncm91cENvbGxhcHNlZChgWyR7bi5jb25zdHJ1Y3Rvci5uYW1lfV0gJyR7bi5zdGF0ZX0nIHRvICcke1d9J2ApLGNvbnNvbGUubG9nKCJ3aXRoIG1lc3NhZ2U6ICIsRCksY29uc29sZS5ncm91cEVuZCgpKX07ClNLQz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuZmlsdGVyKHY9PihuLko/P3YucHJpb3JpdHk/PzApPT09MTApLGI9Vy5maWx0ZXIodj0+KG4uSj8/di5wcmlvcml0eT8/MCkhPT0xMCk7CnJldHVybiBuLlguS0c/YXN5bmMoLi4udik9Pnthd2FpdCBKdlooRCwuLi52KTtzOShuLGIsLi4udil9OiguLi52KT0+e0lSMShELC4uLnYpOwpzOShuLGIsLi4udil9fTsKSnZaPWFzeW5jIGZ1bmN0aW9uKG4sLi4uVyl7Zy5EeSgpO2ZvcihsZXQgRCBvZiBuKXtsZXQgYjthOSgoKT0+e05qKEQubmFtZSk7dmFyIHY9cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpZbyh2KT9iPWcubCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIik/di50aGVuKCgpPT57SEkoRC5uYW1lKX0pOnYudGhlbigoKT0+e0hJKEQubmFtZSl9LGs9Pnt3aW5kb3cub25lcnJvcj8uKGsubWVzc2FnZSwiIiwwLDAsayk7CkhJKEQubmFtZSl9KTpISShELm5hbWUpfSk7CmImJmF3YWl0IGJ9fTsKczk9ZnVuY3Rpb24obixXLC4uLkQpe1c9Vy5tYXAoYj0+KHtKYTooKT0+e05qKGIubmFtZSk7cFgoKCk9PmIuY2FsbGJhY2soLi4uRCkpOwpISShiLm5hbWUpfSwKcHJpb3JpdHk6bi5KPz9iLnByaW9yaXR5Pz8wfSkpOwpXLmxlbmd0aCYmKG4uVz1uZXcgQXZqKFcpKX07CklSMT1mdW5jdGlvbihuLC4uLlcpe2cuRHkoKTtmb3IobGV0IEQgb2YgbilhOSgoKT0+e05qKEQubmFtZSk7cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpISShELm5hbWUpfSl9OwpOaj1mdW5jdGlvbihuKXtmWCYmbiYmJG8obil9OwpIST1mdW5jdGlvbihuKXtmWCYmbiYmckUobil9OwpwWD1mdW5jdGlvbihuKXtpZihnLmwoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpKXJldHVybiBuKCk7dHJ5e3JldHVybiBuKCl9Y2F0Y2goVyl7d2luZG93Lm9uZXJyb3I/LihXLm1lc3NhZ2UsIiIsMCwwLFcpfX07CkliPWZ1bmN0aW9uKCl7SnB8fChKcD1uZXcgbUV3KTtyZXR1cm4gSnB9OwpBcD1mdW5jdGlvbigpe1NafHwoU1o9cHcoZy5BcigiV09SS0VSX1NFUklBTElaQVRJT05fVVJMIikpKTtyZXR1cm4gU1p8fHZvaWQgMH07CktYPWZ1bmN0aW9uKCl7dmFyIG49QXAoKTttM3x8bj09PXZvaWQgMHx8KG0zPVhNKG4pKTtyZXR1cm4gbTN9OwpaQT1mdW5jdGlvbihuLFcpe3ZhciBEPU85KFcpO2lmKG4uTltEXSlyZXR1cm4gbi5OW0RdO3ZhciBiPU9iamVjdC5rZXlzKG4uc3RvcmUpfHxbXTtpZihiLmxlbmd0aDw9MSYmTzkoVyk9PT1iWzBdKXJldHVybiBiO3ZhciB2PVtdO2ZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXtsZXQgeD1iW2hdLnNwbGl0KCIvIik7aWYoUEkoVy5hdXRoLHhbMF0pKXt2YXIgaz1XLmlzSnNwYjtQSShrPT09dm9pZCAwPyJ1bmRlZmluZWQiOms/InRydWUiOiJmYWxzZSIseFsxXSkmJlBJKFcuY3R0QXV0aEluZm8seFsyXSkmJihrPVcudGllcixrPWs9PT12b2lkIDA/InVuZGVmaW5lZCI6SlNPTi5zdHJpbmdpZnkoayksUEkoayx4WzNdKSYmdi5wdXNoKGJbaF0pKX19cmV0dXJuIG4uTltEXT12fTsKUEk9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PXZvaWQgMHx8bj09PSJ1bmRlZmluZWQiPyEwOm49PT1XfTsKTzk9ZnVuY3Rpb24obil7cmV0dXJuW24uYXV0aD09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmF1dGgsbi5pc0pzcGI9PT12b2lkIDA/InVuZGVmaW5lZCI6bi5pc0pzcGIsbi5jdHRBdXRoSW5mbz09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmN0dEF1dGhJbmZvLG4udGllcj09PXZvaWQgMD8idW5kZWZpbmVkIjpuLnRpZXJdLmpvaW4oIi8iKX07ClU5PWZ1bmN0aW9uKCl7cmV0dXJuIGcubCgiaHRtbDVfc2VuZF9xb2Vfb25fZ2VsIil8fGcubCgid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIil9OwppeT1mdW5jdGlvbihuKXt5Uj1uO1U5KCkmJihnLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1uKTtFOT1uZXcgbn07CnV5PWZ1bmN0aW9uKG4pe3JldHVybiBuP246VTkoKT95Unx8Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRSZWdpc3RlcmVkQ2xpZW50Q3Rvcl98fG51bGw6bnVsbH07CmRFPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubG9nZ2luZy5pbXMiKTtufHwobj1uZXcgb2IsZy5HYigieXQubG9nZ2luZy5pbXMiLG4pKTtyZXR1cm4gbn07CktfMj1mdW5jdGlvbigpe2lmKHR5cGVvZiBXb3JrZXI9PT0iZnVuY3Rpb24iJiZBcCgpJiYhenApe3ZhciBuPUQ9PntEPUQuZGF0YTtpZihELm9wPT09InNlcmlhbGl6ZWRHZWxCYXRjaCIpe3ZhciBiPWx5LmdldChELmtleSk7YiYmKFRwKEQuc2VyaWFsaXplZEJhdGNoLGIuY2xpZW50LGIucmVzb2x2ZSxiLm5ldHdvcmtsZXNzT3B0aW9ucyxiLmlzSXNvbGF0ZWQsYi51c2VWU1NFbmRwb2ludCxiLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24sYi5yZXF1ZXN0c091dHN0YW5kaW5nKSxseS5kZWxldGUoRC5rZXkpKX19LFc9S1goKTsKVyYmKFcuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbiksVy5vbmVycm9yPSgpPT57bHkuY2xlYXIoKX0pOwp6cD0hMH19OwpPR3g9ZnVuY3Rpb24obixXKXtpZihuLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKG4pO3ZhciBEPUNYKG4pLGI9Qkkobi5wYXlsb2FkKXx8IiIsdj1GNChiKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe01qKG4sVyk7cmV0dXJufX1SYltEXT0hMDtEPXtjdHRBdXRoSW5mbzpELGlzSnNwYjohMSx0aWVyOmt9O2RFKCkuc3RvcmVQYXlsb2FkKEQsbi5wYXlsb2FkKTtRUihXLCExLEQsVlIoYikpfX07ClBXMT1mdW5jdGlvbihuLFcsRCl7aWYoVy5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtqWih2b2lkIDAsVyk7dmFyIGI9Q1goVywhMCksdj1GNChuKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe2NJKG4sVyxEKTtyZXR1cm59fVJiW2JdPSEwO2I9e2N0dEF1dGhJbmZvOmIsaXNKc3BiOiEwLHRpZXI6a307ZEUoKS5zdG9yZVBheWxvYWQoYixZdihXLnBheWxvYWQpKTtRUihELCEwLGIsVlIobikpfX07ClFSPWZ1bmN0aW9uKG4sVz0hMSxELGI9ITEpe24mJml5KG4pO249djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2giKXx8djAoIndlYl9sb2dnaW5nX21heF9iYXRjaCIpfHwxMDA7dmFyIHY9KDAsZy5SKSgpLGs9YWIoVyxELnRpZXIpLGg9ay5YO2ImJihrLk49ITApO2I9MDtEJiYoYj1kRSgpLmdldFNlcXVlbmNlQ291bnQoRCkpO2I+PTFFMz9uVSh7d3JpdGVUaGVuU2VuZDohMH0sVyxELnRpZXIpOmI+PW4/V3N8fChXcz1EdigoKT0+e25VKHt3cml0ZVRoZW5TZW5kOiEwfSxXLEQudGllcik7V3M9dm9pZCAwfSwwKSk6di1oPj0xMCYmKGJSKFcsRC50aWVyKSxrLlg9dil9OwpNaj1mdW5jdGlvbihuLFcpe2lmKG4uZW5kcG9pbnQ9PT0ibG9nX2V2ZW50Iil7Zy5sKCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmZEUoKS5zdG9yZVBheWxvYWQoe2lzSnNwYjohMX0sbi5wYXlsb2FkKTtqWihuKTt2YXIgRD1DWChuKSxiPW5ldyBNYXA7Yi5zZXQoRCxbbi5wYXlsb2FkXSk7dmFyIHY9Qkkobi5wYXlsb2FkKXx8IiI7KG49dXkoVykpJiZpeShuKTtyZXR1cm4gbmV3IGcuWDEoKGssaCk9PntFOSYmRTkuaXNSZWFkeSgpP3ZzKGIsRTksayxoLHtieXBhc3NOZXR3b3JrbGVzczohMH0sITAsVlIodikpOmsoKX0pfX07CmNJPWZ1bmN0aW9uKG4sVyxEKXtpZihXLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKHZvaWQgMCxXKTt2YXIgYj1DWChXLCEwKSx2PW5ldyBNYXA7di5zZXQoYixbWXYoVy5wYXlsb2FkKV0pOyhXPXV5KEQpKSYmaXkoVyk7cmV0dXJuIG5ldyBnLlgxKGs9PntFOSYmRTkuaXNSZWFkeSgpP2tBKHYsRTksayx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFZSKG4pKTprKCl9KX19OwpDWD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPSIiO2lmKG4uZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbilEPSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtlbHNlIGlmKG4uY3R0QXV0aEluZm8pe2lmKFcpe1c9bi5jdHRBdXRoSW5mby50b2tlbjtEPW4uY3R0QXV0aEluZm87bGV0IGI9bmV3IGg2O0QudmlkZW9JZD9iLnNldFZpZGVvSWQoRC52aWRlb0lkKTpELnBsYXlsaXN0SWQmJkQyKGIsMix4QSxXSChELnBsYXlsaXN0SWQpKTtMVVtXXT1ifWVsc2UgVz1uLmN0dEF1dGhJbmZvLEQ9e30sVy52aWRlb0lkP0QudmlkZW9JZD1XLnZpZGVvSWQ6Vy5wbGF5bGlzdElkJiYoRC5wbGF5bGlzdElkPVcucGxheWxpc3RJZCksZXlbbi5jdHRBdXRoSW5mby50b2tlbl09RDtEPW4uY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIER9OwpuVT1mdW5jdGlvbihuPXt9LFc9ITEsRCl7bmV3IGcuWDEoKGIsdik9Pnt2YXIgaz1hYihXLEQpLGg9ay5OO2suTj0hMTtpZihnLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpJiZnLmwoIndlYl92c3Nfcm91dGluZ19jaGVja19hbGxfdGllcl9wb2xpY2llcyIpKXtsZXQgeD1hYihXLDMwMCksTD1hYihXLDIwMCk7aD1ofHx4Lk58fEwuTjt4Lk49ITE7TC5OPSExfWc0KGsuVyk7ZzQoay5KKTtrLko9MDtFOSYmRTkuaXNSZWFkeSgpP0Q9PT12b2lkIDAmJmcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/cTEoYix2LG4sVywzMDAsaCk6cTEoYix2LG4sVyxELGgpOihiUihXLEQpLGIoKSl9KX07CnExPWZ1bmN0aW9uKG4sVyxEPXt9LGI9ITEsdj0yMDAsaz0hMSl7dmFyIGg9RTkseD1uZXcgTWFwLEw9bmV3IE1hcCxlPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDAsdGllcjp2fSxHPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDB9O2lmKGIpe2ZvcihsZXQgciBvZiBPYmplY3Qua2V5cyhSYikpVz1nLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2RFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOltlLEddLHNpemVMaW1pdDoxRTN9KTpkRSgpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMCxjdHRBdXRoSW5mbzpyfSksVy5sZW5ndGg+MCYmeC5zZXQocixXKSwoZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSYmRC53cml0ZVRoZW5TZW5kfHwhZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSkmJmRlbGV0ZSBSYltyXTtrQSh4LGgsbixELCExLGspfWVsc2V7Zm9yKGxldCByIG9mIE9iamVjdC5rZXlzKFJiKSl4PWcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/CmRFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOlt7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnIsdGllcjp2fSx7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnJ9XSxzaXplTGltaXQ6MUUzfSk6ZEUoKS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtpc0pzcGI6ITEsY3R0QXV0aEluZm86cn0pLHgubGVuZ3RoPjAmJkwuc2V0KHIseCksKGcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJkQud3JpdGVUaGVuU2VuZHx8IWcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgUmJbcl07dnMoTCxoLG4sVyxELCExLGspfX07CmJSPWZ1bmN0aW9uKG49ITEsVz0yMDApe3ZhciBEPSgpPT57blUoe3dyaXRlVGhlblNlbmQ6ITB9LG4sVyl9LGI9YWIobixXKSx2PWI9PT1HVXx8Yj09PXQ2PzVFMzpaR1o7CmcubCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhYi5KJiYodj1EdigoKT0+e0QoKX0sdiksYi5KPXYpOwpnNChiLlcpO3Y9Zy5BcigiTE9HR0lOR19CQVRDSF9USU1FT1VUIix2MCgid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Zy5sKCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmJEEmJih2PVVFdyk7dj1EdigoKT0+e3YwKCJnZWxfbWluX2JhdGNoX3NpemUiKT4wP2RFKCkuZ2V0U2VxdWVuY2VDb3VudCh7Y3R0QXV0aEluZm86dm9pZCAwLGlzSnNwYjpuLHRpZXI6V30pPj15dlMmJkQoKTpEKCl9LHYpOwpiLlc9dn07CnZzPWZ1bmN0aW9uKG4sVyxELGIsdj17fSxrLGgpe3ZhciB4PU1hdGgucm91bmQoKDAsZy5SKSgpKSxMPW4uc2l6ZSxlPXI0KGgpO2ZvcihsZXQgW0cscl1vZiBuKXtuPUc7aD1yO2xldCBOPWcuTmMoe2NvbnRleHQ6Zy5VSihXLmNvbmZpZ198fGcuUzkoKSl9KTtpZighZy5ZMihoKSYmIWcubCgidGhyb3dfZXJyX3doZW5fbG9nZXZlbnRfbWFsZm9ybWVkX2tpbGxzd2l0Y2giKSl7YigpO2JyZWFrfU4uZXZlbnRzPWg7KGg9ZXlbbl0pJiZFdkMoTixuLGgpO2RlbGV0ZSBleVtuXTtsZXQgSD1uPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO2lHaihOLHgsSCk7c3kodik7bGV0IEE9ej0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoeil9KTsKTC0tO0x8fEQoKX0seT0wLFQ9KCk9Pnt5Kys7CmlmKHYuYnlwYXNzTmV0d29ya2xlc3MmJnk9PT0xKXRyeXtnLklJKFcsZSxOLHBVKHt3cml0ZVRoZW5TZW5kOiEwfSxILEEsVCxrKSksJEE9ITF9Y2F0Y2goeil7T3QoeiksYigpfUwtLTtMfHxEKCl9Owp0cnl7Zy5JSShXLGUsTixwVSh2LEgsQSxULGspKSwkQT0hMX1jYXRjaCh6KXtPdCh6KSxiKCl9fX07CmtBPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrKXt2YXIgaD1NYXRoLnJvdW5kKCgwLGcuUikoKSkseD17dmFsdWU6bi5zaXplfSxMPW5ldyBNYXAoWy4uLm5dKTtmb3IobGV0IFtUXW9mIEwpe3ZhciBlPVQsRz1uLmdldChlKTtMPW5ldyB1RjI7dmFyIHI9Vy5jb25maWdffHxnLlM5KCksTj1uZXcgWUEsSD1uZXcgSHM7Zy5TRShILDEsci5NYik7Zy5TRShILDIsci5FRSk7S24oSCwxNixyLkZkKTtnLlNFKEgsMTcsci5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbik7aWYoci5jUil7dmFyIEE9ci5jUix5PW5ldyBpOTtBLmNvbGRDb25maWdEYXRhJiZnLlNFKHksMSxBLmNvbGRDb25maWdEYXRhKTtBLmFwcEluc3RhbGxEYXRhJiZnLlNFKHksNixBLmFwcEluc3RhbGxEYXRhKTtBLmNvbGRIYXNoRGF0YSYmZy5TRSh5LDMsQS5jb2xkSGFzaERhdGEpO0EuaG90SGFzaERhdGEmJnkuVyhBLmhvdEhhc2hEYXRhKTskOShILGk5LDYyLHkpfShBPWcucWkuZGV2aWNlUGl4ZWxSYXRpbykmJgpBIT0xJiZveihILDY1LGcuQV8oQSkpO0E9a1QoKTtBIT09IiImJmcuU0UoSCw1NCxBKTtBPWh5KCk7aWYoQS5sZW5ndGg+MCl7eT1uZXcgZlU7Zm9yKGxldCB6PTA7ejxBLmxlbmd0aDt6Kyspe2xldCBDPW5ldyBKNjtnLlNFKEMsMSxBW3pdLmtleSk7RDIoQywyLEl2LFdIKEFbel0udmFsdWUpKTtOSCh5LDE1LEo2LEMpfSQ5KE4sZlUsNSx5KX1BNyhyLEgpO21UKE4pO0tQKEgpO09KKHIsSCk7UHooSCk7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJlptKEgpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJiFnLmwoInBhZ2VpZF9hc19oZWFkZXJfd2ViIikmJihyPW5ldyBTeSxnLlNFKHIsMyxnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpKSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihBPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoeT1nZShOLFN5LDMpfHxuZXcgU3ksCnI9TixBPWcuU0UoeSwxOCxBKSwkOShyLFN5LDMsQSkpO3I9SDtBPWcuQXIoIkRFVklDRSIsIiIpO2ZvcihsZXQgW3osQ11vZiBPYmplY3QuZW50cmllcyhnLml3KEEpKSlBPXosQT09PSJjYnJhbmQiP2cuU0UociwxMixDKTpBPT09ImNtb2RlbCI/Zy5TRShyLDEzLEMpOkE9PT0iY2JyIj9nLlNFKHIsODcsQyk6QT09PSJjYnJ2ZXIiP2cuU0Uociw4OCxDKTpBPT09ImNvcyI/Zy5TRShyLDE4LEMpOkE9PT0iY29zdmVyIj9nLlNFKHIsMTksQyk6QT09PSJjcGxhdGZvcm0iJiZLbihyLDQyLGhxaChDKSk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYob3ooSCw1NSxnLnlQKHdpbmRvdy5pbm5lcldpZHRoKSksb3ooSCw1NixnLnlQKHdpbmRvdy5pbm5lckhlaWdodCkpKTtOLlcoSCk7JDkoTCxZQSwxLE4pO2lmKEg9TFVbZV0pYTp7aWYoSC5FMSgpKU49MTtlbHNlIGlmKEguZ2V0UGxheWxpc3RJZCgpKU49MjtlbHNlIGJyZWFrIGE7JDkoTCxoNiw0LEgpO0g9Z2UoTCwKWUEsMSl8fG5ldyBZQTtyPWdlKEgsU3ksMyl8fG5ldyBTeTtBPW5ldyBBNjtBLnNldFRva2VuKGUpO0tuKEEsMSxOKTtOSChyLDEyLEE2LEEpOyQ5KEgsU3ksMyxyKX1kZWxldGUgTFVbZV07ZT1lPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO21yKCl8fElZKEwsMixoKTshZSYmKE49Zy5BcigiRVZFTlRfSUQiKSkmJihIPUtVKCkscj1uZXcgT3ksZy5TRShyLDEsTiksSVkociwyLEgpLCQ5KEwsT3ksNSxyKSk7c3koYik7aWYoZy5sKCJqc3BiX3NlcmlhbGl6ZV93aXRoX3dvcmtlciIpJiYoTj1LWCgpKSYmYi53cml0ZVRoZW5TZW5kKXtseS5zZXQoUHMse2NsaWVudDpXLHJlc29sdmU6RCxuZXR3b3JrbGVzc09wdGlvbnM6Yixpc0lzb2xhdGVkOnYsdXNlVlNTRW5kcG9pbnQ6ayxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOmUscmVxdWVzdHNPdXRzdGFuZGluZzp4fSk7Ti5wb3N0TWVzc2FnZSh7b3A6ImdlbEJhdGNoVG9TZXJpYWxpemUiLGJhdGNoUmVxdWVzdDpZdihMKSxjbGllbnRFdmVudHM6RywKa2V5OlBzfSk7UHMrKzticmVha31pZihHKXtOPVtdO2ZvcihIPTA7SDxHLmxlbmd0aDtIKyspdHJ5e04ucHVzaChuZXcgWnYoR1tIXSkpfWNhdGNoe090KG5ldyBnLlF4KCJUcmFuc3BvcnQgZmFpbGVkIHRvIGRlc2VyaWFsaXplICIrU3RyaW5nKEdbSF0pKSl9Rz1OfWVsc2UgRz1bXTtmb3IobGV0IHogb2YgRylOSChMLDMsWnYseik7Rz17c3RhcnRUaW1lOigwLGcuUikoKSx0aWNrczp7fSxpbmZvczp7fX07TD1MLmJZKCk7Ry50aWNrcy5nZWxqc3BjPSgwLGcuUikoKTtnLmwoImxvZ19qc3BiX3NlcmlhbGl6ZV9sYXRlbmN5IikmJkYzKCJnZWxfanNwYl9zZXJpYWxpemUiLEcse3NhbXBsZVJhdGU6LjF9KTtUcChMLFcsRCxiLHYsayxlLHgpfX07ClRwPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrLGgseD17dmFsdWU6MH0pe2s9cjQoayk7Yj1wVShiLGgsTD0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoTCl9KTsKeC52YWx1ZS0tO3gudmFsdWV8fEQoKX0sKCk9Pnt4LnZhbHVlLS07CngudmFsdWV8fEQoKX0sdik7CmIuaGVhZGVyc1siQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiO2IucG9zdEJvZHlGb3JtYXQ9IkpTUEIiO2IucG9zdEJvZHk9bjtnLklJKFcsaywiIixiKTskQT0hMX07CnN5PWZ1bmN0aW9uKG4pe2cubCgiYWx3YXlzX3NlbmRfYW5kX3dyaXRlIikmJihuLndyaXRlVGhlblNlbmQ9ITEpfTsKcFU9ZnVuY3Rpb24obixXLEQsYix2KXtuPXtyZXRyeTohMCxvblN1Y2Nlc3M6RCxvbkVycm9yOmIsbmV0d29ya2xlc3NPcHRpb25zOm4sZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpXLFRVOiEhdixoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOmcubCgiY29tcHJlc3NfZ2VsIil8fGcubCgiY29tcHJlc3NfZ2VsX2xyIil9O21yKCkmJihuLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gbn07CmlHaj1mdW5jdGlvbihuLFcsRCl7bXIoKXx8KG4ucmVxdWVzdFRpbWVNcz1TdHJpbmcoVykpO2cubCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYobi51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFEJiYoVz1nLkFyKCJFVkVOVF9JRCIpKSYmKEQ9S1UoKSxuLnNlcmlhbGl6ZWRDbGllbnRFdmVudElkPXtzZXJpYWxpemVkRXZlbnRJZDpXLGNsaWVudENvdW50ZXI6U3RyaW5nKEQpfSl9OwpLVT1mdW5jdGlvbigpe3ZhciBuPWcuQXIoIkJBVENIX0NMSUVOVF9DT1VOVEVSIil8fDA7bnx8KG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKTtuKys7bj42NTUzNSYmKG49MSk7Zy5TSCgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLG4pO3JldHVybiBufTsKRXZDPWZ1bmN0aW9uKG4sVyxEKXtpZihELnZpZGVvSWQpdmFyIGI9IlZJREVPIjtlbHNlIGlmKEQucGxheWxpc3RJZCliPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47bi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPUQ7bi5jb250ZXh0PW4uY29udGV4dHx8e307bi5jb250ZXh0LnVzZXI9bi5jb250ZXh0LnVzZXJ8fHt9O24uY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOlcsc2NvcGU6Yn1dfTsKalo9ZnVuY3Rpb24obixXKXt2YXIgRD1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiKSxiPWJiKCJpbF9wYXlsb2FkX3NjcmFwaW5nIik7Yj0oYiE9PXZvaWQgMD9TdHJpbmcoYik6IiIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighRClpZihiKVV5PVtdLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmVuYWJsZVNjcmFwaW5nRm9yVGVzdCIsITApLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLFV5KSxnLkdiKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5wYXlsb2FkVG9TY3JhcGUiLCJ2aXN1YWxFbGVtZW50U2hvd24gdmlzdWFsRWxlbWVudEhpZGRlbiB2aXN1YWxFbGVtZW50QXR0YWNoZWQgc2NyZWVuQ3JlYXRlZCB2aXN1YWxFbGVtZW50R2VzdHVyZWQgdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIuc3BsaXQoIiAiKSksZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZFBheWxvYWRGcm9tQ2xpZW50RXZlbnRzRnVuY3Rpb24iKSwKZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuc2NyYXBlQ2xpZW50RXZlbnQiLCEwKTtlbHNlIHJldHVybjtEPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciKTtiPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnBheWxvYWRUb1NjcmFwZSIpO1cmJihXPVcucGF5bG9hZCwoVz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5nZXRTY3JhcGVkUGF5bG9hZEZyb21DbGllbnRFdmVudHNGdW5jdGlvbiIpLmJpbmQoVykoKSkmJkQucHVzaChXKSk7Vz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGImJmIubGVuZ3RoPj0xKWZvcihsZXQgdj0wO3Y8Yi5sZW5ndGg7disrKW4mJm4ucGF5bG9hZFtiW3ZdXSYmKFc/RC5wdXNoKG4ucGF5bG9hZCk6RC5wdXNoKChuPy5wYXlsb2FkKVtiW3ZdXSkpO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLEQpfTsKbXI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5sKCJ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlciIpfHxnLmwoImxyX3VzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil9OwpEdj1mdW5jdGlvbihuLFcpe3JldHVybiBnLmwoInRyYW5zcG9ydF91c2Vfc2NoZWR1bGVyIik9PT0hMT9nLm4kKG4sVyk6Zy5sKCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIil8fGcubCgibHJfbG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpP2cuY0IoMCwoKT0+e0liKCkuY3VycmVudFN0YXRlPT09Im5vbmUiP24oKTpJYigpLmluc3RhbGwoe25vbmU6e2NhbGxiYWNrOm59fSl9LFcpOmcuY0IoMCxuLFcpfTsKZzQ9ZnVuY3Rpb24obil7Zy5sKCJ0cmFuc3BvcnRfdXNlX3NjaGVkdWxlciIpP3RhLnNPKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9OwpOMT1hc3luYyBmdW5jdGlvbihuKXtuPW4/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIFc9Zy53KG4sb3Z0KSxEPW4/LmhvdEhhc2hEYXRhLGI9Zy53KG4sZEUyKSx2PW4/LmNvbGRIYXNoRGF0YSxrPWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpO2smJihEJiYoVz9hd2FpdCBIeihrLEQsVyk6YXdhaXQgSHooayxEKSksdiYmKGI/YXdhaXQgZlAoayx2LGIpOmF3YWl0IGZQKGssdikpKTtXPW4/LnJhd0ZpbmNoU3RhdGljQ29uZmlnR3JvdXA7KG49bj8uZmluY2hTdGF0aWNIYXNoRGF0YSk/KEQ9Zy5xaigpLnJlc29sdmUoZy5ocCh6X3QpKSk/YXdhaXQgRC5OVSh7Y29uZmlnOld8fHt9LFlVOm58fCIifSk6KFd8fG4pJiZaRShuZXcgZy5ReCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSBpcyBub3QgcHJlc2VudCwgYnV0IEZpbmNoIGNvbmZpZyBkYXRhIGlzIHByZXNlbnQuIikpOlcmJlpFKG5ldyBnLlF4KCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFiPWZ1bmN0aW9uKG4sVz0yMDApe3JldHVybiBuP1c9PT0zMDA/R1U6bFJDOlc9PT0zMDA/dDY6VGdpfTsKRjQ9ZnVuY3Rpb24obil7aWYoZy5sKCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7bj15NFtufHwiIl07dmFyIFc9Zy5xaigpLnJlc29sdmUoZy5ocChnLlgzKSk/LkxYKCk/LmxvZ2dpbmdIb3RDb25maWc/LmV2ZW50TG9nZ2luZ0NvbmZpZz8ucGF5bG9hZFBvbGljaWVzO2lmKFcpZm9yKGxldCBEPTA7RDxXLmxlbmd0aDtEKyspaWYoV1tEXS5wYXlsb2FkTnVtYmVyPT09bilyZXR1cm4gV1tEXX19OwpCST1mdW5jdGlvbihuKXtuPU9iamVjdC5rZXlzKG4pO2ZvcihsZXQgVyBvZiBuKWlmKHk0W1ddKXJldHVybiBXfTsKd0U9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07ClZSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09ImdlbERlYnVnZ2luZ0V2ZW50Inx8bj09PSJ3YXRjaFRpbWVTZWdtZW50In07CnI0PWZ1bmN0aW9uKG49ITEpe3JldHVybiBuJiZnLmwoInZzc190aHJvdWdoX2dlbF92aWRlb19zdGF0cyIpPyJ2aWRlb19zdGF0cyI6ImxvZ19ldmVudCJ9Owp1Uj1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj17fSxrPU1hdGgucm91bmQoYi50aW1lc3RhbXB8fCgwLGcuUikoKSk7di5ldmVudFRpbWVNcz1rPE51bWJlci5NQVhfU0FGRV9JTlRFR0VSP2s6MDt2W25dPVc7bj1nLnZJKCk7di5jb250ZXh0PXtsYXN0QWN0aXZpdHlNczpTdHJpbmcoYi50aW1lc3RhbXB8fCFpc0Zpbml0ZShuKT8tMTpuKX07Yi5zZXF1ZW5jZUdyb3VwJiYhZy5sKCJ3ZWJfZ2VsX3NlcXVlbmNlX2luZm9fa2lsbHN3aXRjaCIpJiYobj12LmNvbnRleHQsVz1iLnNlcXVlbmNlR3JvdXAsVz17aW5kZXg6RXkoVyksZ3JvdXBLZXk6V30sbi5zZXF1ZW5jZT1XLGIuZW5kT2ZTZXF1ZW5jZSYmZGVsZXRlIGlSW2Iuc2VxdWVuY2VHcm91cF0pO2cubCgid2ViX3RhZ19hdXRvbWF0ZWRfbG9nX2V2ZW50cyIpJiYodi5jb250ZXh0LmF1dG9tYXRlZExvZ0V2ZW50U291cmNlPWIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpOyhiLnNlbmRJc29sYXRlZFBheWxvYWQ/TWo6T0d4KSh7ZW5kcG9pbnQ6ImxvZ19ldmVudCIsCnBheWxvYWQ6dixjdHRBdXRoSW5mbzpiLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246Yi5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxEKX07Cm92PWZ1bmN0aW9uKG49ITEpe25VKHZvaWQgMCxuKX07CkV5PWZ1bmN0aW9uKG4pe2lSW25dPW4gaW4gaVI/aVJbbl0rMTowO3JldHVybiBpUltuXX07CmcuelU9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPWcuZDQ7Zy5BcigieXRMb2dnaW5nRXZlbnRzRGVmYXVsdERpc2FibGVkIiwhMSkmJmcuZDQ9PT1nLmQ0JiYoYj1udWxsKTt1UihuLFcsYixEKX07ClRVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgbFIoe3RyYWNraW5nUGFyYW1zOm59KX07Cmp5PWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD1qelorKztyZXR1cm4gbmV3IGxSKHt2ZVR5cGU6bix2ZUNvdW50ZXI6aCxlbGVtZW50SW5kZXg6RCxkYXRhRWxlbWVudDpXLHlvdXR1YmVEYXRhOmIsanNwYllvdXR1YmVEYXRhOnYsbG9nZ2luZ0RpcmVjdGl2ZXM6a30pfTsKQ1U9ZnVuY3Rpb24obj0wKXtyZXR1cm4gZy5BcigiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIse30pW25dfTsKQ1dpPWZ1bmN0aW9uKG4sVz0wKXt2YXIgRD1nLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7RHx8KEQ9e30sZy5TSCgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsRCkpO0RbV109bn07CkJzPWZ1bmN0aW9uKG49MCl7cmV0dXJuIG49PT0wPyJST09UX1ZFX1RZUEUiOmBST09UX1ZFX1RZUEUuJHtufWB9OwpGUj1mdW5jdGlvbihuPTApe3JldHVybiBnLkFyKEJzKG4pKX07Cnc0PWZ1bmN0aW9uKG49MCl7cmV0dXJuKG49RlIobikpP25ldyBsUih7dmVUeXBlOm4seW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTsKTTE9ZnVuY3Rpb24oKXt2YXIgbj1nLkFyKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIpO258fChuPXt9LGcuU0goImNzbi10by1jdHQtYXV0aC1pbmZvIixuKSk7cmV0dXJuIG59OwpCZ3I9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhnLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSkpLmZpbHRlcihuPT5uIT09dm9pZCAwKX07CmcuUnY9ZnVuY3Rpb24obj0wKXtuPUNVKG4pO2lmKCFuJiYhZy5BcigiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO258fChuPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIG4/bjpudWxsfTsKd0hDPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBPYmplY3QudmFsdWVzKEZfVSkpaWYoZy5SdihXKT09PW4pcmV0dXJuITA7cmV0dXJuITF9OwpNV3c9ZnVuY3Rpb24obixXLEQpe3ZhciBiPU0xKCk7KEQ9Zy5SdihEKSkmJmRlbGV0ZSBiW0RdO1cmJihiW25dPVcpfTsKUTQ9ZnVuY3Rpb24obil7cmV0dXJuIE0xKClbbl19Owpjcz1mdW5jdGlvbihuLFcsRD0wLGIpe2lmKG4hPT1DVShEKXx8VyE9PWcuQXIoQnMoRCkpKWlmKE1XdyhuLGIsRCksQ1dpKG4sRCksZy5TSChCcyhEKSxXKSxXPSgpPT57c2V0VGltZW91dCgoKT0+e24mJmcuelUoImZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkIix7Y2xpZW50RG9jdW1lbnROb25jZTpWNCxjbGllbnRTY3JlZW5Ob25jZTpufSl9LDApfSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdyl0cnl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShXKX1jYXRjaCh2KXtXKCl9ZWxzZSBXKCl9OwpuND1mdW5jdGlvbihuLFcpe3ZhciBEPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pLGI9Zy5JUCh3aW5kb3cubG9jYXRpb24uaHJlZik7YiYmRC5wdXNoKGIpO2I9Zy5JUChuKTtpZihnLmpqKEQsYil8fCFiJiZnLmpVKG4sIi8iKSlpZihEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxnLk5VKEQsbiksbj1ELmhyZWYpaWYobj1tVyhuKSxuPUtwKG4pKWlmKCFXLmNzbiYmKFcuaXRjdHx8Vy52ZWQpJiYoVz1PYmplY3QuYXNzaWduKHtjc246Zy5SdigpfSxXKSksdil7dmFyIHY9cGFyc2VJbnQodiwxMCk7aXNGaW5pdGUodikmJnY+MCYmYXYobixXLHYpfWVsc2UgYXYobixXKX07CmF2PWZ1bmN0aW9uKG4sVyxEKXtuPVdhKG4pO1c9Vz95RyhXKToiIjtEPUR8fDU7Zy5hSygpJiZJSyhuLFcsRCl9OwpXYT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgUl9NKW49VDUobixXKTtyZXR1cm4iU1QtIitzVChuKS50b1N0cmluZygzNil9OwpnLkRwPWZ1bmN0aW9uKG4pe2lmKG4uc2ltcGxlVGV4dClyZXR1cm4gbi5zaW1wbGVUZXh0O2lmKG4ucnVucyl7bGV0IFc9W107Zm9yKGxldCBEIG9mIG4ucnVucylELnRleHQmJlcucHVzaChELnRleHQpO3JldHVybiBXLmpvaW4oIiIpfXJldHVybiIifTsKZy5iZz1mdW5jdGlvbihuKXtpZihuLnNpbXBsZVRleHQpcmV0dXJuIG49ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobi5zaW1wbGVUZXh0KSxuO3ZhciBXPVtdO2lmKG4ucnVucylmb3IobGV0IHg9MDt4PG4ucnVucy5sZW5ndGg7eCsrKXt2YXIgRD1uLnJ1bnNbeF07aWYoRC50ZXh0KXt2YXIgYj1XLHY9Yi5wdXNoLGs9bnVsbDt2YXIgaD1ELnRleHQ7RC5ib2xkJiYoaz1nLmRtKCJCIixudWxsLGt8fGgpKTtELml0YWxpY3MmJihrPWcuZG0oIkkiLG51bGwsa3x8aCkpO0Quc3RyaWtldGhyb3VnaCYmKGs9Zy5kbSgiU1RSSUtFIixudWxsLGt8fGgpKTtELm5hdmlnYXRpb25FbmRwb2ludCYmRC5uYXZpZ2F0aW9uRW5kcG9pbnQudXJsRW5kcG9pbnQmJihEPUQubmF2aWdhdGlvbkVuZHBvaW50LnVybEVuZHBvaW50LGs9Zy5kbSgiQSIsbnVsbCxrfHxoKSxnLk5VKGssRC51cmwpLEQudGFyZ2V0PT0iVEFSR0VUX05FV19XSU5ET1ciJiYoay50YXJnZXQ9Il9ibGFuayIpKTtoPWt8fGcuZG0oIlNQQU4iLApudWxsLGgpO3YuY2FsbChiLGgpfX1yZXR1cm4gVy5sZW5ndGg9PTE/V1swXTpnLmRtKCJTUEFOIixudWxsLFcpfTsKUXoxPWZ1bmN0aW9uKG4pe2lmKG4ubmFtZT09PSJKYXZhRXhjZXB0aW9uIilyZXR1cm4hMDtuPW4uc3RhY2s7cmV0dXJuIG4uaW5jbHVkZXMoImNocm9tZTovLyIpfHxuLmluY2x1ZGVzKCItZXh0ZW5zaW9uOi8vIil8fG4uaW5jbHVkZXMoIndlYmtpdC1tYXNrZWQtdXJsOi8vIil9OwpWV3g9ZnVuY3Rpb24obil7aWYoIW4uc3RhY2spcmV0dXJuITA7dmFyIFc9IW4uc3RhY2suaW5jbHVkZXMoIlxuIik7cmV0dXJuIFcmJm4uc3RhY2suaW5jbHVkZXMoIkVycm9yVHlwZTogIil8fFcmJm4uc3RhY2suaW5jbHVkZXMoIkFub255bW91cyBmdW5jdGlvbiAoVW5rbm93biBzY3JpcHQiKXx8bi5zdGFjay50b0xvd2VyQ2FzZSgpPT09Im5vdCBhdmFpbGFibGUifHxuLmZpbGVOYW1lPT09InVzZXItc2NyaXB0Inx8bi5maWxlTmFtZS5zdGFydHNXaXRoKCJ1c2VyLXNjcmlwdDoiKT8hMDohMX07CmhQPWZ1bmN0aW9uKCl7aWYoIXZhKXt2YXIgbj12YT1uZXcgY3ZoO24uTjkubGVuZ3RoPTA7bi5rby5sZW5ndGg9MDtrQihuLGFSUyl9cmV0dXJuIHZhfTsKa0I9ZnVuY3Rpb24obixXKXtXLk45JiZuLk45LnVuc2hpZnQuYXBwbHkobi5OOSxXLk45KTtXLmtvJiZuLmtvLnVuc2hpZnQuYXBwbHkobi5rbyxXLmtvKX07Cm45dz1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aCxEPTAsYj0oKT0+bi5jaGFyQ29kZUF0KEQrKyk7CmRve3ZhciB2PXhCKGIpO2lmKHY9PT1JbmZpbml0eSlicmVhaztsZXQgaz12Pj4zO3N3aXRjaCh2Jjcpe2Nhc2UgMDp2PXhCKGIpO2lmKGs9PT0yKXJldHVybiB2O2JyZWFrO2Nhc2UgMTppZihrPT09MilyZXR1cm47RCs9ODticmVhaztjYXNlIDI6dj14QihiKTtpZihrPT09MilyZXR1cm4gbi5zdWJzdHIoRCx2KTtEKz12O2JyZWFrO2Nhc2UgNTppZihrPT09MilyZXR1cm47RCs9NDticmVhaztkZWZhdWx0OnJldHVybn19d2hpbGUoRDxXKX07CnhCPWZ1bmN0aW9uKG4pe3ZhciBXPW4oKSxEPVcmMTI3O2lmKFc8MTI4KXJldHVybiBEO1c9bigpO0R8PShXJjEyNyk8PDc7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7RHw9KFcmMTI3KTw8MTQ7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7cmV0dXJuIFc8MTI4P0R8KFcmMTI3KTw8MjE6SW5maW5pdHl9OwpnSz1mdW5jdGlvbihuLFcsRCxiKXtpZihuKWlmKEFycmF5LmlzQXJyYXkobikpe3ZhciB2PWI7Zm9yKGI9MDtiPG4ubGVuZ3RoJiYhKG5bYl0mJih2Kz1MNChiLG5bYl0sVyxEKSx2PjUwMCkpO2IrKyk7Yj12fWVsc2UgaWYodHlwZW9mIG49PT0ib2JqZWN0Iilmb3IodiBpbiBuKXtpZihuW3ZdKXthOnt2YXIgaz12O3ZhciBoPW5bdl0seD1XLEw9RDtpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxrIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZrIT09InRyYWNraW5nUGFyYW1zIil7az0wO2JyZWFrIGF9az0oaD1uOXcoYXRvYihoLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSkpP0w0KGAke2t9LnZlYCxoLHgsTCk6MH1iKz1rO2IrPUw0KHYsblt2XSxXLEQpO2lmKGI+NTAwKWJyZWFrfX1lbHNlIERbV109ZWkobiksYis9RFtXXS5sZW5ndGg7ZWxzZSBEW1ddPWVpKG4pLGIrPURbV10ubGVuZ3RoO3JldHVybiBifTsKTDQ9ZnVuY3Rpb24obixXLEQsYil7RCs9YC4ke259YDtuPWVpKFcpO2JbRF09bjtyZXR1cm4gRC5sZW5ndGgrbi5sZW5ndGh9OwplaT1mdW5jdGlvbihuKXt0cnl7cmV0dXJuKHR5cGVvZiBuPT09InN0cmluZyI/bjpTdHJpbmcoSlNPTi5zdHJpbmdpZnkobikpKS5zdWJzdHIoMCw1MDApfWNhdGNoKFcpe3JldHVybmB1bmFibGUgdG8gc2VyaWFsaXplICR7dHlwZW9mIG59ICgke1cubWVzc2FnZX0pYH19OwpXTlU9ZnVuY3Rpb24obixXPXt9KXtpZihuPW4uelope2xldCBEPW4uSngsYj1uLmQ2O249W1siY29tcG9uZW50U3RhY2siLG4ubUldLFsid2l6VGFnTmFtZSIsbi50YWdOYW1lXSxbIndpek93bmVyVHJhY2UiLG4uRHU/LmpvaW4oIiA+ICIpXSxbImVycm9yU2V2ZXJpdHkiLEQ/LnRvU3RyaW5nKCldLFsid2l6RmVhdHVyZUZsYWdzIixiP09iamVjdC5lbnRyaWVzKGIpLmpvaW4oIlxuIik6dm9pZCAwXV07Zm9yKGxldCBbdixrXW9mIG4pbj1rLG4hPT12b2lkIDAmJihXW3ZdPW4pfXJldHVybiBXfTsKZy5xZz1mdW5jdGlvbihuKXtnLlhqKG4pfTsKZy5HcT1mdW5jdGlvbihuKXtnLlhqKG4sIldBUk5JTkciKX07CmcuWGo9ZnVuY3Rpb24obixXPSJFUlJPUiIpe3ZhciBEPXt9O0QubmFtZT1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSk7RC52ZXJzaW9uPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7REh0KG4sRCxXKX07CkRIdD1mdW5jdGlvbihuLFcsRD0iRVJST1IiKXtpZihuKXtuLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZuLmxldmVsJiYoRD1uLmxldmVsKTtpZihnLmwoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBiPVc7aWYoIWI/LmNvbXBvbmVudFN0YWNrKXt2YXIgdj1uLnpaPy5tSTt2JiYoYnx8KGI9e30pLGIuY29tcG9uZW50U3RhY2s9dil9Vz1ifHxXfWVsc2UgVz1XTlUobixXKSxiPW4uelo/Lkp4LGIhPT12b2lkIDAmJkQhPT0iSUdOT1JFRCImJihEPWI+PTM/IkVSUk9SIjoiV0FSTklORyIpO2lmKGcubCgiY29uc29sZV9sb2dfanNfZXhjZXB0aW9ucyIpfHxbInRlc3QiLCJkZXYiLCJhdXRvcHVzaCIsInN0YWdpbmciXS5pbmNsdWRlcyhnLkFyKCJTRVJWRVJfVkVSU0lPTiIpKSliPVtdLGIucHVzaChgTmFtZTogJHtuLm5hbWV9YCksYi5wdXNoKGBNZXNzYWdlOiAke24ubWVzc2FnZX1gKSxuLmhhc093blByb3BlcnR5KCJwYXJhbXMiKSYmYi5wdXNoKGBFcnJvciBQYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkobi5wYXJhbXMpfWApLApuLmhhc093blByb3BlcnR5KCJhcmdzIikmJmIucHVzaChgRXJyb3IgYXJnczogJHtKU09OLnN0cmluZ2lmeShuLmFyZ3MpfWApLGIucHVzaChgRmlsZSBuYW1lOiAke24uZmlsZU5hbWV9YCksYi5wdXNoKGBTdGFja3RyYWNlOiAke24uc3RhY2t9YCksYj1iLmpvaW4oIlxuIiksd2luZG93LmNvbnNvbGUubG9nKGIsbik7aWYoISh0UD49NSkpe2I9W107Zm9yKGsgb2YgYm4yKXRyeXtrKCkmJmIucHVzaChrKCkpfWNhdGNoKEEpe312YXIgaz1iO2s9Wy4uLnY5MiwuLi5rXTt2YXIgaD1yaWIobik7Yj1oLm1lc3NhZ2V8fCJVbmtub3duIEVycm9yIjt2PWgubmFtZXx8IlVua25vd25FcnJvciI7dmFyIHg9aC5zdGFja3x8bi5TdHx8Ik5vdCBhdmFpbGFibGUiO2lmKHguc3RhcnRzV2l0aChgJHt2fTogJHtifWApKXt2YXIgTD14LnNwbGl0KCJcbiIpO0wuc2hpZnQoKTt4PUwuam9pbigiXG4iKX1MPWgubGluZU51bWJlcnx8Ik5vdCBhdmFpbGFibGUiO2g9aC5maWxlTmFtZXx8Ik5vdCBhdmFpbGFibGUiOwpsZXQgSD0wO2lmKG4uaGFzT3duUHJvcGVydHkoImFyZ3MiKSYmbi5hcmdzJiZuLmFyZ3MubGVuZ3RoKWZvcih2YXIgZT0wO2U8bi5hcmdzLmxlbmd0aCYmIShIPWdLKG4uYXJnc1tlXSxgcGFyYW1zLiR7ZX1gLFcsSCksSD49NTAwKTtlKyspO2Vsc2UgaWYobi5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJm4ucGFyYW1zKXtsZXQgQT1uLnBhcmFtcztpZih0eXBlb2Ygbi5wYXJhbXM9PT0ib2JqZWN0Iilmb3IoZSBpbiBBKXtpZighQVtlXSljb250aW51ZTtsZXQgeT1gcGFyYW1zLiR7ZX1gLFQ9ZWkoQVtlXSk7V1t5XT1UO0grPXkubGVuZ3RoK1QubGVuZ3RoO2lmKEg+NTAwKWJyZWFrfWVsc2UgVy5wYXJhbXM9ZWkoQSl9aWYoay5sZW5ndGgpZm9yKGU9MDtlPGsubGVuZ3RoJiYhKEg9Z0soa1tlXSxgcGFyYW1zLmNvbnRleHQuJHtlfWAsVyxIKSxIPj01MDApO2UrKyk7bmF2aWdhdG9yLnZlbmRvciYmIVcuaGFzT3duUHJvcGVydHkoInZlbmRvciIpJiYoV1siZGV2aWNlLnZlbmRvciJdPQpuYXZpZ2F0b3IudmVuZG9yKTtlPXttZXNzYWdlOmIsbmFtZTp2LGxpbmVOdW1iZXI6TCxmaWxlTmFtZTpoLHN0YWNrOngscGFyYW1zOlcsc2FtcGxlV2VpZ2h0OjF9O1c9TnVtYmVyKG4uY29sdW1uTnVtYmVyKTtpc05hTihXKXx8KGUubGluZU51bWJlcj1gJHtlLmxpbmVOdW1iZXJ9OiR7V31gKTtpZihuLmxldmVsPT09IklHTk9SRUQiKXZhciBHPTA7ZWxzZSBhOntuPWhQKCk7Zm9yKEcgb2Ygbi5OOSlpZihlLm1lc3NhZ2UmJmUubWVzc2FnZS5tYXRjaChHLktSKSl7Rz1HLndlaWdodDticmVhayBhfWZvcih2YXIgciBvZiBuLmtvKWlmKHIuY2FsbGJhY2soZSkpe0c9ci53ZWlnaHQ7YnJlYWsgYX1HPTF9ZS5zYW1wbGVXZWlnaHQ9RztHPWU7Zm9yKHZhciBOIG9mIGskYil7aWYoIU4uWXpbRy5uYW1lXSljb250aW51ZTtyPU4uWXpbRy5uYW1lXTtmb3IobGV0IEEgb2Ygcil7cj1HLm1lc3NhZ2UubWF0Y2goQS53Yik7aWYoIXIpY29udGludWU7Ry5wYXJhbXNbInBhcmFtcy5lcnJvci5vcmlnaW5hbCJdPQpyWzBdO249QS5ncm91cHM7ZT17fTtmb3IoVz0wO1c8bi5sZW5ndGg7VysrKWVbbltXXV09cltXKzFdLEcucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHtuW1ddfWBdPXJbVysxXTtHLm1lc3NhZ2U9Ti5HMShlKTticmVha319Ry5wYXJhbXN8fChHLnBhcmFtcz17fSk7Tj1oUCgpO0cucGFyYW1zWyJwYXJhbXMuZXJyb3JTZXJ2aWNlU2lnbmF0dXJlIl09YG1zZz0ke04uTjkubGVuZ3RofSZjYj0ke04ua28ubGVuZ3RofWA7Ry5wYXJhbXNbInBhcmFtcy5zZXJ2aWNlV29ya2VyIl09ImZhbHNlIjtnLnFpLmRvY3VtZW50JiZnLnFpLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihHLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3ICRCKHJLLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT0kQiYmKEcucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09InRydWUiKTt3aW5kb3cueXRlcnImJgp0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKEcpO0cuc2FtcGxlV2VpZ2h0PT09MHx8SVUuaGFzKEcubWVzc2FnZSl8fGhUUyhHLEQpfX19OwpoVFM9ZnVuY3Rpb24obixXPSJFUlJPUiIpe2lmKFc9PT0iRVJST1IiKXtTaS5XSigiaGFuZGxlRXJyb3IiLG4pO2lmKGcubCgicmVjb3JkX2FwcF9jcmFzaGVkX3dlYiIpJiZBUD09PTAmJm4uc2FtcGxlV2VpZ2h0PT09MSl7QVArKzt2YXIgRD17YXBwQ3Jhc2hUeXBlOiJBUFBfQ1JBU0hfVFlQRV9CUkVBS1BBRCJ9O2cubCgicmVwb3J0X2NsaWVudF9lcnJvcl93aXRoX2FwcF9jcmFzaF9rcyIpfHwoRC5zeXN0ZW1IZWFsdGg9e2NyYXNoRGF0YTp7Y2xpZW50RXJyb3I6e2xvZ01lc3NhZ2U6e21lc3NhZ2U6bi5tZXNzYWdlfX19fSk7Zy56VSgiYXBwQ3Jhc2hlZCIsRCl9eEhNKyt9ZWxzZSBXPT09IldBUk5JTkciJiZTaS5XSigiaGFuZGxlV2FybmluZyIsbik7aWYoZy5sKCJrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmciKSl7RD17fTtiOntmb3IoYiBvZiBMTkMpaWYoZy51YihiLnRvTG93ZXJDYXNlKCkpKXt2YXIgYj0hMDticmVhayBifWI9ITF9aWYoYilEPXZvaWQgMDtlbHNle3ZhciB2PQp7c3RhY2tUcmFjZTpuLnN0YWNrfTtuLmZpbGVOYW1lJiYodi5maWxlbmFtZT1uLmZpbGVOYW1lKTtiPW4ubGluZU51bWJlciYmbi5saW5lTnVtYmVyLnNwbGl0P24ubGluZU51bWJlci5zcGxpdCgiOiIpOltdO2IubGVuZ3RoIT09MCYmKGIubGVuZ3RoIT09MXx8aXNOYU4oTnVtYmVyKGJbMF0pKT9iLmxlbmd0aCE9PTJ8fGlzTmFOKE51bWJlcihiWzBdKSl8fGlzTmFOKE51bWJlcihiWzFdKSl8fCh2LmxpbmVOdW1iZXI9TnVtYmVyKGJbMF0pLHYuY29sdW1uTnVtYmVyPU51bWJlcihiWzFdKSk6di5saW5lTnVtYmVyPU51bWJlcihiWzBdKSk7Yj17bGV2ZWw6IkVSUk9SX0xFVkVMX1VOS05PV04iLG1lc3NhZ2U6bi5tZXNzYWdlLGVycm9yQ2xhc3NOYW1lOm4ubmFtZSxzYW1wbGVXZWlnaHQ6bi5zYW1wbGVXZWlnaHR9O1c9PT0iRVJST1IiP2IubGV2ZWw9IkVSUk9SX0xFVkVMX0VSUk9SIjpXPT09IldBUk5JTkciJiYoYi5sZXZlbD0iRVJST1JfTEVWRUxfV0FSTk5JTkciKTt2PXtpc09iZnVzY2F0ZWQ6ITAsCmJyb3dzZXJTdGFja0luZm86dn07RC5wYWdlVXJsPXdpbmRvdy5sb2NhdGlvbi5ocmVmO0Qua3ZQYWlycz1bXTtnLkFyKCJGRVhQX0VYUEVSSU1FTlRTIikmJihELmV4cGVyaW1lbnRJZHM9Zy5BcigiRkVYUF9FWFBFUklNRU5UUyIpKTt2YXIgaz1nLkFyKCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighbXkoIndlYl9kaXNhYmxlX2dlbF9zdHBfZWNhdGNoZXJfa2lsbHN3aXRjaCIpJiZrKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhrKSlELmt2UGFpcnMucHVzaCh7a2V5OmgsdmFsdWU6U3RyaW5nKGtbaF0pfSk7aWYoaD1uLnBhcmFtcylmb3IodmFyIHggb2YgT2JqZWN0LmtleXMoaCkpRC5rdlBhaXJzLnB1c2goe2tleTpgY2xpZW50LiR7eH1gLHZhbHVlOlN0cmluZyhoW3hdKX0pO2lmKHg9bi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZClELnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoeCk7eD1nLkFyKCJTRVJWRVJfTkFNRSIpO2g9Zy5BcigiU0VSVkVSX1ZFUlNJT04iKTsKeCYmaCYmKEQua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTp4fSksRC5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KHg9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiZELmt2UGFpcnMucHVzaCh7a2V5OiJjbGllbnQucGxheWVyLnZlcnNpb24iLHZhbHVlOnh9KTtEPXtlcnJvck1ldGFkYXRhOkQsc3RhY2tUcmFjZTp2LGxvZ01lc3NhZ2U6Yn19aWYoRCYmKGcuelUoImNsaWVudEVycm9yIixEKSxXPT09IkVSUk9SInx8Zy5sKCJlcnJvcnNfZmx1c2hfZ2VsX2Fsd2F5c19raWxsc3dpdGNoIikpKWE6e2lmKGcubCgid2ViX2ZwX3ZpYV9qc3BiIikpe0Q9bTE7bTE9W107aWYoRClmb3IodmFyIEwgb2YgRCl1UihMLnBheWxvYWROYW1lLEwucGF5bG9hZCxnLmQ0LEwub3B0aW9ucyk7b3YoITApO2lmKCFnLmwoIndlYl9mcF92aWFfanNwYl9hbmRfanNvbiIpKWJyZWFrIGF9b3YoKX19aWYoIWcubCgic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciKSl7TD0Kbi5wYXJhbXN8fHt9O1c9e3VybFBhcmFtczp7YToibG9nZXJyb3IiLHQ6ImpzZXJyb3IiLHR5cGU6bi5uYW1lLG1zZzpuLm1lc3NhZ2Uuc3Vic3RyKDAsMjUwKSxsaW5lOm4ubGluZU51bWJlcixsZXZlbDpXLCJjbGllbnQubmFtZSI6TC5uYW1lfSxwb3N0UGFyYW1zOnt1cmw6Zy5BcigiUEFHRV9OQU1FIix3aW5kb3cubG9jYXRpb24uaHJlZiksZmlsZTpuLmZpbGVOYW1lfSxtZXRob2Q6IlBPU1QifTtMLnZlcnNpb24mJihXWyJjbGllbnQudmVyc2lvbiJdPUwudmVyc2lvbik7aWYoVy5wb3N0UGFyYW1zKXtuLnN0YWNrJiYoVy5wb3N0UGFyYW1zLnN0YWNrPW4uc3RhY2spO2Zvcih2YXIgZSBvZiBPYmplY3Qua2V5cyhMKSlXLnBvc3RQYXJhbXNbYGNsaWVudC4ke2V9YF09TFtlXTtpZihlPWcuQXIoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgRyBvZiBPYmplY3Qua2V5cyhlKSlXLnBvc3RQYXJhbXNbR109ZVtHXTsoRz1nLkFyKCJMQVZBX1ZFUlNJT04iKSkmJgooVy5wb3N0UGFyYW1zWyJsYXZhLnZlcnNpb24iXT1HKTtHPWcuQXIoIlNFUlZFUl9OQU1FIik7ZT1nLkFyKCJTRVJWRVJfVkVSU0lPTiIpO0cmJmUmJihXLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09RyxXLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09ZSk7KEc9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiYoVy5wb3N0UGFyYW1zWyJjbGllbnQucGxheWVyLnZlcnNpb24iXT1HKX1nLmVkKGAke2cuQXIoIkVDQVRDSEVSX1JFUE9SVF9IT1NUIiwiIil9L2Vycm9yXzIwNGAsVyl9dHJ5e0lVLmFkZChuLm1lc3NhZ2UpfWNhdGNoKHIpe310UCsrfTsKSzQ9ZnVuY3Rpb24obiwuLi5XKXtuLmFyZ3N8fChuLmFyZ3M9W10pO0FycmF5LmlzQXJyYXkobi5hcmdzKSYmbi5hcmdzLnB1c2goLi4uVyl9OwpPYT1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVc9VyozMStuLmNoYXJDb2RlQXQoRCksRDxuLmxlbmd0aC0xJiYoVyU9MHg4MDAwMDAwMDAwMDApO3JldHVybiBXJTFFNX07Cmc5aT1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCl7dmFyIGU9ZVRoKCk7az1uZXcgbFIoe3ZlVHlwZTpXLHlvdXR1YmVEYXRhOmssanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO0w9UGEoe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOkx9LGUpO3YmJihMLmN0dEF1dGhJbmZvPXYpO3Y9e2NzbjplLHBhZ2VWZTprLmdldEFzSnNvbigpfTtnLmwoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmeCYmeC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKHYuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9eC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7RCYmRC52aXN1YWxFbGVtZW50Pyh2LmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOkQuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpELnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJih2LmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6RCYmZy5HcShuZXcgZy5ReCgibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKVykpO2ImJih2LmNsb25lQ3NuPWIpO24/dVIoInNjcmVlbkNyZWF0ZWQiLHYsbixMKTpnLnpVKCJzY3JlZW5DcmVhdGVkIix2LEwpO2w5KFRvLG5ldyBacChlKSk7VWEuY2xlYXIoKTt5NS5jbGVhcigpO0VhLmNsZWFyKCk7cmV0dXJuIGV9Owp1Zz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7aWcobixXLEQsW2JdLHYsayl9OwppZz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7T2JqZWN0LmFzc2lnbihrLFBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwfSxXKSk7Zm9yKGxldCB4IG9mIGIpe3ZhciBoPXguZ2V0QXNKc29uKCk7KGcuR0YoaCl8fCFoLnRyYWNraW5nUGFyYW1zJiYhaC52ZVR5cGUpJiZnLkdxKEVycm9yKCJDaGlsZCBWRSBsb2dnZWQgd2l0aCBubyBkYXRhIikpO2lmKGcubCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7bGV0IEw9b1UoeCxXKTtpZihoLnZlVHlwZSYmIXk1LmhhcyhMKSYmIUVhLmhhcyhMKSYmIXYpe2lmKCFnLmwoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxVYS5zaXplPDFFMyl7VWEuc2V0KEwsW24sVyxELHhdKTtyZXR1cm59Zy5sKCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiKSYmVWEuc2l6ZT4xRTMmJmcuR3EobmV3IGcuUXgoIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPW9VKEQsVyk7VWEuaGFzKGgpP2RLKEQsVyk6RWEuc2V0KGgsCiEwKX19Yj1iLmZpbHRlcih4PT57eC5jc24hPT1XPyh4LmNzbj1XLHg9ITApOng9ITE7cmV0dXJuIHh9KTsKRD17Y3NuOlcscGFyZW50VmU6RC5nZXRBc0pzb24oKSxjaGlsZFZlczpnLmlfKGIseD0+eC5nZXRBc0pzb24oKSl9OwpXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGssRCk6bj91UigidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELG4sayk6Zy56VSgidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELGspfTsKWFdqPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe2xnKEQsVyk7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpofSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZToxfTt2JiYoRC5jbGllbnREYXRhPXYpO1c9PT0iVU5ERUZJTkVEX0NTTiI/enEoInZpc3VhbEVsZW1lbnRTaG93biIsYixEKTpuP3VSKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsYil9OwpUcT1mdW5jdGlvbihuLFcsRCxiPSExKXt2YXIgdj1iPzE2Ojg7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmIsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZTp2fTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRIaWRkZW4iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixELGIpfTsKcVZaPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtqaShuLFcsRCxiLGspfTsKamk9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12b2lkIDA7bGcoRCxXKTtrPWt8fCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIjt2PVBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZ9LFcpO0Q9e2NzbjpXLHZlOkQuZ2V0QXNKc29uKCksZ2VzdHVyZVR5cGU6a307YiYmKEQuY2xpZW50RGF0YT1iKTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50R2VzdHVyZWQiLHYsRCk6bj91UigidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELG4sdik6Zy56VSgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELHYpfTsKRyRqPWZ1bmN0aW9uKCl7dmFyIG49TWIoMTYpO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVcucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KG5bRF0mNjMpKTtyZXR1cm4gVy5qb2luKCIiKX07CnpxPWZ1bmN0aW9uKG4sVyxEKXtDNC5wdXNoKHtwYXlsb2FkTmFtZTpuLHBheWxvYWQ6RCxwUDp2b2lkIDAsb3B0aW9uczpXfSk7QmF8fChCYT1GME0oKSl9OwpDNHc9ZnVuY3Rpb24obil7aWYoQzQpe2ZvcihsZXQgVyBvZiBDNClXLnBheWxvYWQmJihXLnBheWxvYWQuY3NuPW4uY3NuLGcuelUoVy5wYXlsb2FkTmFtZSxXLnBheWxvYWQsVy5vcHRpb25zKSk7QzQubGVuZ3RoPTB9QmE9MH07Cm9VPWZ1bmN0aW9uKG4sVyl7cmV0dXJuYCR7bi5nZXRBc0pzb24oKS52ZVR5cGV9JHtuLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke1d9YH07CmxnPWZ1bmN0aW9uKG4sVyl7aWYoZy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXt2YXIgRD1vVShuLFcpO3k1LnNldChELCEwKTtkSyhuLFcpfX07CmRLPWZ1bmN0aW9uKG4sVyl7bj1vVShuLFcpO1VhLmhhcyhuKSYmKFc9VWEuZ2V0KG4pfHxbXSx1ZyhXWzBdLFdbMV0sV1syXSxXWzNdLCEwKSxVYS5kZWxldGUobikpfTsKUGE9ZnVuY3Rpb24obixXKXtnLmwoImxvZ19zZXF1ZW5jZV9pbmZvX29uX2dlbF93ZWIiKSYmKG4uc2VxdWVuY2VHcm91cD1XKTtyZXR1cm4gbn07CkZqPWZ1bmN0aW9uKG4sVyxELGIpe1BWKFhXaikodm9pZCAwLG4sVyxELGIsdm9pZCAwKX07CnRFeD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntsZyhELG4pO3ZhciBiPVBhKHtjdHRBdXRoSW5mbzpRNChuKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZvaWQgMH0sbik7RD17Y3NuOm4sdmU6RC5nZXRBc0pzb24oKSxldmVudFR5cGU6NH07bj09PSJVTkRFRklORURfQ1NOIj96cSgidmlzdWFsRWxlbWVudFNob3duIixiLEQpOmcuelUoInZpc3VhbEVsZW1lbnRTaG93biIsRCxiKX0pfSkoKX07CiRIdD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntUcSh2b2lkIDAsbixEKX0pfSkoKX07CndLPWZ1bmN0aW9uKCl7dmFyIG49ITE7dHJ5e249ISF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKX1jYXRjaHtuPSEwfXJldHVybihnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiIpJiZufTsKTWc9ZnVuY3Rpb24oKXt0cnl7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInN0aWNraW5lc3NfcmVsb2FkIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInNlc3Npb25fbG9naW5pbmZvIik7Zy5TSCgiTE9HSU5fSU5GTyIsIiIpO3dpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJmcm9tX3N3aXRjaF9hY2NvdW50IiwiMSIpO3ZhciBuO2xldCBEPXJTaDtEfHwoRD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGVyc2lzdF9pZGVudGl0eSIpKTtpZihuPUQpe3ZhciBXPW4uc3JjPyhuZXcgVVJMKG4uc3JjKSkub3JpZ2luOiIqIjtuLmNvbnRlbnRXaW5kb3c/LnBvc3RNZXNzYWdlKHthY3Rpb246ImNsZWFyIn0sVyl9fWNhdGNoe319OwpnLlJVPWZ1bmN0aW9uKG4pe24mJihuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9BZGRTZXNzaW9uIik/TWcoKTpuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKT9NZygpOm4uc3RhcnRzV2l0aCgiaHR0cHM6Ly9teWFjY291bnQuZ29vZ2xlLmNvbSIpJiZscihuKS5KLmVuZHNXaXRoKCIveW91dHViZW9wdGlvbnMiKSYmTWcoKSk7aWYoZy5BcigiTE9HR0VEX0lOIiwhMCkmJndLKCkpe3ZhciBXPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBEPWcuSVAod2luZG93LmxvY2F0aW9uLmhyZWYpO0QmJlcucHVzaChEKTtEPWcuSVAobik7Zy5qaihXLEQpfHwhRCYmZy5qVShuLCIvIik/KFc9bVcobiksKFc9S3AoVykpPyhXPVdhKFcpLFc9KFc9Zy5TZChXKXx8bnVsbCk/Zy5pdyhXKTp7fSk6Vz1udWxsKTpXPW51bGw7Vz09bnVsbCYmKFc9e30pO0Q9Vzt2YXIgYj12b2lkIDA7CndLKCk/KGJ8fChiPWcuQXIoIkxPR0lOX0lORk8iKSksYj8oRC5zZXNzaW9uX2xvZ2luaW5mbz1iLEQ9ITApOkQ9ITEpOkQ9ITE7RCYmbjQobixXKX19OwpRNT1mdW5jdGlvbihuLFc9e30pe3ZhciBEPWcuQXIoIkVWRU5UX0lEIik7RCYmKFcuZWl8fChXLmVpPUQpKTtXJiZuNChuLFcpfTsKZy5jYT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe0QmJm40KG4sRCk7RD1nLnRGKG4sZy5HNCl8fGcuVjU7dmFyIGs9Z3ooRCk7biE9ayYmWkUoRXJyb3IoYFVuc2FmZSB3aW5kb3cub3BlbiBVUkw6ICR7bn1gKSk7bj1rO1c9V3x8c1QobikudG9TdHJpbmcoMzYpO3RyeXtpZih2KXJldHVybiB2PW4sdj1nLnFiKHYpLGcuUlUodiksSkYodixXLCJhdHRyaWJ1dGlvbnNyYyIpfWNhdGNoKGgpe090KGgpfWcuUlUobik7cmV0dXJuIEpGKEQsVyxiKX07Ck5lMj1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5ocmVmO2lmKGcubCgia2V2bGFyX2Rpc2FibGVfdGhlbWVfcGFyYW0iKSlyZXR1cm4gbnVsbDtTMShuKTt0cnl7bGV0IFc9Zy5vRShuKS50aGVtZTtyZXR1cm4gc1lVLmdldChXKXx8bnVsbH1jYXRjaChXKXt9cmV0dXJuIG51bGx9OwphVT1mdW5jdGlvbihuLFcpe2lmKFcuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPVcsdHlwZW9mIFcuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBEPU51bWJlcihXLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxEKjFFMyk7Cm4uSiYmSUsoIkNPTlNJU1RFTkNZIixXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHMsRCx2b2lkIDAsITApfX07Cm5CPWZ1bmN0aW9uKG4pe3JldHVybiBuLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgdEkoInl0LWNsaWVudC1sb2NhdGlvbiIpOm4ubG9jYWxTdG9yYWdlfTsKZy52Yj1mdW5jdGlvbihuLFc9ITEsRD0hMSxiLHYpe3ZhciBrPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7aWYoIWspcmV0dXJuIGcuWGooRXJyb3IoIkVycm9yOiBObyBJbm5lclR1YmVDb250ZXh0IHNoZWxsIHByb3ZpZGVkIGluIHl0Y29uZmlnLiIpKSx7fTtrPWcuTmMoayk7Zy5sKCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGsuY2xpY2tUcmFja2luZztrLmNsaWVudHx8KGsuY2xpZW50PXt9KTt2YXIgaD1rLmNsaWVudDtoLmNsaWVudE5hbWU9PT0iTVdFQiImJmguY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGguY2xpZW50Rm9ybUZhY3Rvcj1nLkFyKCJJU19UQUJMRVQiKT8iTEFSR0VfRk9STV9GQUNUT1IiOiJTTUFMTF9GT1JNX0ZBQ1RPUiIpO2guc2NyZWVuV2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGg7aC5zY3JlZW5IZWlnaHRQb2ludHM9d2luZG93LmlubmVySGVpZ2h0O2guc2NyZWVuUGl4ZWxEZW5zaXR5PQpNYXRoLnJvdW5kKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKTtoLnNjcmVlbkRlbnNpdHlGbG9hdD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtoLnV0Y09mZnNldE1pbnV0ZXM9LU1hdGguZmxvb3IoKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgeD1nLm85KCk7dmFyIEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjt4LlFRKDE2NSk/TD0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6eC5RUSgxNzQpP0w9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjohZy5sKCJrZXZsYXJfbGVnYWN5X2Jyb3dzZXJzIikmJndpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lKSIpLm1hdGNoZXMmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyYmKEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiKTt4PU5lMigpfHxMO2gudXNlckludGVyZmFjZVRoZW1lPQp4O2cubCgid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIikmJmcucWkuZG9jdW1lbnQmJihoLmFwcGxpY2F0aW9uU3RhdGU9Zy5xaS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFXKXtpZih4PUJCKCkpaC5jb25uZWN0aW9uVHlwZT14O2cubCgid2ViX2xvZ19lZmZlY3RpdmVfY29ubmVjdGlvbl90eXBlIikmJih4PXdKKCkpJiYoay5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9eCl9Zy5sKCJ3ZWJfbG9nX21lbW9yeV90b3RhbF9rYnl0ZXMiKSYmZy5xaS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGsuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke2cucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkqMUU2fWApO1cmJmImJiFnLmwoIndlYl9pdF9jb250ZXh0X3NldF9vcmlnaW5hbF91cmxfa3MiKSYmKHg9YixMPWcucWkubG9jYXRpb24uaHJlZixMIGluc3RhbmNlb2YKZy5Vanx8KEw9bHIoTCkpLHggaW5zdGFuY2VvZiBnLlVqfHwoeD1scih4KSkseD1MLnJlc29sdmUoeCksaC5vcmlnaW5hbFVybD14LnRvU3RyaW5nKCkpO2lmKGcubCgid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIikpe3ZhciBlPUo3KCk7ZSYmKHg9ZS5jb2xkQ29uZmlnRGF0YSxMPWUuY29sZEhhc2hEYXRhLGU9ZS5ob3RIYXNoRGF0YSxrLmNsaWVudC5jb25maWdJbmZvPWsuY2xpZW50LmNvbmZpZ0luZm98fHt9LHgmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRDb25maWdEYXRhPXgpLEwmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRIYXNoRGF0YT1MKSxlJiYoay5jbGllbnQuY29uZmlnSW5mby5ob3RIYXNoRGF0YT1lKSl9eD1nLm9FKGcucWkubG9jYXRpb24uaHJlZik7IWcubCgid2ViX3BvcHVsYXRlX2ludGVybmFsX2dlb19raWxsc3dpdGNoIikmJnguaW50ZXJuYWxjb3VudHJ5Y29kZSYmKGguaW50ZXJuYWxHZW89eC5pbnRlcm5hbGNvdW50cnljb2RlKTshZy5sKCJ3ZWJfcG9wdWxhdGVfY2xpZW50X3NjcmVlbl9raWxsc3dpdGNoIikmJgp2JiYoaC5jbGllbnRTY3JlZW49dik7aC5jbGllbnROYW1lPT09Ik1XRUIifHxoLmNsaWVudE5hbWU9PT0iV0VCIj8oaC5tYWluQXBwV2ViSW5mb3x8KGgubWFpbkFwcFdlYkluZm89e30pLGgubWFpbkFwcFdlYkluZm8uZ3JhZnRVcmw9Ynx8Zy5xaS5sb2NhdGlvbi5ocmVmLGcubCgia2V2bGFyX3dvZmZsZSIpJiZXYi5pbnN0YW5jZSYmKGI9V2IuaW5zdGFuY2UsaC5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hYi5OJiZiLko/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfVU5LTk9XTiIpLGgubWFpbkFwcFdlYkluZm8ud2ViRGlzcGxheU1vZGU9eXgoKSxoLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmguY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFnLmwoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJgooYj1nLkFyKCJMSVZJTkdfUk9PTV9BUFBfUVVBTElUWSIpKSYmKGgudHZBcHBJbmZvPU9iamVjdC5hc3NpZ24oaC50dkFwcEluZm98fHt9LHthcHBRdWFsaXR5OmJ9KSksYj1nLkFyKCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoaC50dkFwcEluZm89T2JqZWN0LmFzc2lnbihoLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpifSkpO2lmKCFnLmwoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIEc9KG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTticmVhayBhfWNhdGNoe31HPXZvaWQgMH1HJiYoaC50aW1lWm9uZT1HKX0oRz1rVCgpKT9oLmV4cGVyaW1lbnRzVG9rZW49RzpkZWxldGUgaC5leHBlcmltZW50c1Rva2VuO2g9aHkoKTtETS5pbnN0YW5jZXx8KERNLmluc3RhbmNlPW5ldyBETSk7Rz1oSyhETS5pbnN0YW5jZS5OKTsKay5yZXF1ZXN0PXsuLi5rLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6aCxjb25zaXN0ZW5jeVRva2VuSmFyczpHfTshZy5sKCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihoPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1BSRVFVRVNUX0NPTlRFWFQiKSkmJihrLnJlcXVlc3QuZXh0ZXJuYWxQcmVxdWVzdENvbnRleHQ9aCk7Rz1nLm85KCk7aD1HLlFRKDU4KTtHPUcuZ2V0KCJnc21sIiwiIik7ay51c2VyPXsuLi5rLnVzZXJ9O2gmJihrLnVzZXIuZW5hYmxlU2FmZXR5TW9kZT1oKTtHJiYoay51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO2cubCgid2FybV9vcF9jc25fY2xlYW51cCIpP0QmJihXPWcuUnYoKSkmJihrLmNsaWVudFNjcmVlbk5vbmNlPVcpOiFXJiYoVz1nLlJ2KCkpJiYoay5jbGllbnRTY3JlZW5Ob25jZT1XKTtuJiYoay5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOm59KTtpZihuPWcucnIoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWsucmVtb3RlQ2xpZW50PQpuO2IkLmdldEluc3RhbmNlKCkuc2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQoayk7dHJ5e3ZhciByPWcuUUYoKSxOPXIuYmlkO2RlbGV0ZSByLmJpZDtrLmFkU2lnbmFsc0luZm89e3BhcmFtczpbXSxiaWQ6Tn07Zm9yKGxldCBbSCxBXW9mIE9iamVjdC5lbnRyaWVzKHIpKXI9SCxOPUEsay5hZFNpZ25hbHNJbmZvLnBhcmFtcz8ucHVzaCh7a2V5OnIsdmFsdWU6YCR7Tn1gfSk7aWYoay5jbGllbnQ/LmNsaWVudE5hbWU9PT0iVFZIVE1MNSJ8fGsuY2xpZW50Py5jbGllbnROYW1lPT09IlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IEg9Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFQiKTtILmFkU2lnbmFsc0luZm8mJihrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZD1ILmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZCxrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZFNpZ25hbFR5cGU9IkRFVklDRV9JRF9UWVBFX0NPTk5FQ1RFRF9UVl9JRkEiLGsuYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmc9CkguYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmcsSC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cyE9PXZvaWQgMCYmKGsuYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXM9SC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cykpfX1jYXRjaChIKXtnLlhqKEgpfXJldHVybiBrfTsKa1Y9ZnVuY3Rpb24obil7dmFyIFc9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP1dbIlgtR29vZy1FT00tVmlzaXRvci1JZCJdPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKTpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKFdbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO1dbIlgtWW91dHViZS1Cb290c3RyYXAtTG9nZ2VkLUluIl09Zy5BcigiTE9HR0VEX0lOIiwhMSk7Zy5BcigiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKFdbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1nLkFyKCJERUJVR19TRVRUSU5HU19NRVRBREFUQSIpKTtuIT09ImNvcnMiJiYoKG49Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSkmJihXWyJYLVlvdXR1YmUtQ2xpZW50LU5hbWUiXT1uKSwobj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKFdbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQpuKSwobj1nLkFyKCJDSFJPTUVfQ09OTkVDVEVEX0hFQURFUiIpKSYmKFdbIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIl09biksKG49Zy5BcigiRE9NQUlOX0FETUlOX1NUQVRFIikpJiYoV1siWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSJdPW4pLChuPWIkLmdldEluc3RhbmNlKCkuZ2V0WEdlb0hlYWRlcj8uKCkpJiYoV1siWC1HZW8iXT1uKSk7KG49Zy5BcigiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoV1siWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1uKTtyZXR1cm4gV307CmhtPWZ1bmN0aW9uKG4pe3JldHVybigpPT5uZXcgbn07CnBXTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTEpcmV0dXJuIG5bMF07dmFyIFc9eFYuVU5LTk9XTl9JTlRFUkZBQ0U7aWYoVyl7Vz1uZXcgUmVnRXhwKFcpO2Zvcih2YXIgRCBvZiBuKWlmKFcuZXhlYyhEKSlyZXR1cm4gRH12YXIgYj1bXTtPYmplY3QuZW50cmllcyh4VikuZm9yRWFjaCgoW3Ysa10pPT57IlVOS05PV05fSU5URVJGQUNFIiE9PXYmJmIucHVzaChrKX0pOwpEPW5ldyBSZWdFeHAoYi5qb2luKCJ8IikpO24uc29ydCgodixrKT0+di5sZW5ndGgtay5sZW5ndGgpOwpmb3IobGV0IHYgb2YgbilpZighRC5leGVjKHYpKXJldHVybiB2O3JldHVybiBuWzBdfTsKTEI9ZnVuY3Rpb24obil7cmV0dXJuYC95b3V0dWJlaS92MS8ke3BXTShuKX1gfTsKZ2I9ZnVuY3Rpb24obil7cmV0dXJuIGcucnIoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iKXx8ZUwobil9OwpYQT1mdW5jdGlvbigpe3ZhciBuPWdiKCk7bi5pbmZvfHwobi5pbmZvPXt9KTtyZXR1cm4gbi5pbmZvfTsKcVE9ZnVuY3Rpb24obil7bj1nYihuKTtuLm1ldGFkYXRhfHwobi5tZXRhZGF0YT17fSk7cmV0dXJuIG4ubWV0YWRhdGF9OwpHdz1mdW5jdGlvbihuKXtuPWdiKG4pO24udGlja3x8KG4udGljaz17fSk7cmV0dXJuIG4udGlja307CnRtPWZ1bmN0aW9uKG4pe249Z2Iobik7aWYobi5nZWwpe2xldCBXPW4uZ2VsO1cuZ2VsSW5mb3N8fChXLmdlbEluZm9zPXt9KTtXLmdlbFRpY2tzfHwoVy5nZWxUaWNrcz17fSl9ZWxzZSBuLmdlbD17Z2VsVGlja3M6e30sZ2VsSW5mb3M6e319O3JldHVybiBuLmdlbH07CiRWPWZ1bmN0aW9uKG4pe249dG0obik7bi5nZWxJbmZvc3x8KG4uZ2VsSW5mb3M9e30pO3JldHVybiBuLmdlbEluZm9zfTsKWVZTPWZ1bmN0aW9uKCl7dmFyIG49dG0oKTtuLnByZUxvZ2dlZEdlbEluZm9zfHwobi5wcmVMb2dnZWRHZWxJbmZvcz1bXSk7cmV0dXJuIG4ucHJlTG9nZ2VkR2VsSW5mb3N9OwpyYj1mdW5jdGlvbihuKXt2YXIgVz1nYihuKS5ub25jZTtXfHwoVz1nLlJJKDE2KSxnYihuKS5ub25jZT1XKTtyZXR1cm4gV307CmVMPWZ1bmN0aW9uKG4pe3ZhciBXPXt0aWNrOnt9LGluZm86e319O2cuR2IoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iLFcpO3JldHVybiBXfTsKc0g9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5kZWJ1ZyIpO258fChuPVtdLGcuR2IoInl0Y3NpLmRlYnVnIixuKSxnLkdiKCJ5dGNzaS5yZWZlcmVuY2UiLHt9KSk7cmV0dXJuIG59OwpwQj1mdW5jdGlvbihuKXt2YXIgVz1zSCgpO1cucHVzaChuKTtnLmwoImxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemUiKSYmVy5sZW5ndGg+TlEmJlcuc3BsaWNlKDAsVy5sZW5ndGgtTlEpfTsKSGI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO2lmKFdbbl0pcmV0dXJuIFdbbl07dmFyIEQ9e3RpbWVyTmFtZTpuLGluZm86e30sdGljazp7fSxzcGFuOnt9LGpzcGJJbmZvOltdfTtwQihEKTtyZXR1cm4gV1tuXT1EfTsKZkI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO1dbbl0mJmRlbGV0ZSBXW25dO3ZhciBEPXt0aW1lck5hbWU6bixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07cEIoRCk7V1tuXT1EfTsKWVY9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5yZWZlcmVuY2UiKTtpZihuKXJldHVybiBuO3NIKCk7cmV0dXJuIGcucnIoInl0Y3NpLnJlZmVyZW5jZSIpfTsKSUw9ZnVuY3Rpb24obil7cmV0dXJuIEptW25dfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9OwpIbnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPU1hdGgucm91bmQoRC50aW1lc3RhbXB8fCgwLGcuUikoKSk7SVkobiwxLGI8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/YjowKTtiPW5ldyBTTDtpZihELmxhY3QpSVkoYiwxLGlzRmluaXRlKEQubGFjdCk/RC5sYWN0Oi0xKTtlbHNlIGlmKEQudGltZXN0YW1wKUlZKGIsMSwtMSk7ZWxzZXt2YXIgdj1nLnZJKCk7SVkoYiwxLGlzRmluaXRlKHYpP3Y6LTEpfWlmKEQuc2VxdWVuY2VHcm91cCYmIWcubCgid2ViX2dlbF9zZXF1ZW5jZV9pbmZvX2tpbGxzd2l0Y2giKSl7dj1ELnNlcXVlbmNlR3JvdXA7bGV0IGs9RXkodiksaD1uZXcgQW07SVkoaCwyLGspO2cuU0UoaCwxLHYpOyQ5KGIsQW0sMyxoKTtELmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBtcVtELnNlcXVlbmNlR3JvdXBdfSQ5KG4sU0wsMzMsYik7KEQuc2VuZElzb2xhdGVkUGF5bG9hZD9jSTpQVzEpKCJsYXRlbmN5QWN0aW9uSW5mbyIse2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6biwKY3R0QXV0aEluZm86RC5jdHRBdXRoSW5mbyxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOkQuZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbn0sVyl9OwpmMmo9ZnVuY3Rpb24obixXPXt9KXt2YXIgRD0hMTtnLkFyKCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmKEQ9ITApO0hucihuLEQ/bnVsbDpnLmQ0LFcpfTsKT0g9ZnVuY3Rpb24oKXtLQi5pbnN0YW5jZXx8KEtCLmluc3RhbmNlPW5ldyBLQik7cmV0dXJuIEtCLmluc3RhbmNlfTsKWk09ZnVuY3Rpb24obixXKXtQYltXXT1QYltXXXx8e2NvdW50OjB9O3ZhciBEPVBiW1ddO0QuY291bnQrKztELnRpbWU9KDAsZy5SKSgpO24uTnx8KG4uTj1nLmNCKDAsKCk9Pnt2YXIgYj0oMCxnLlIpKCk7Zm9yKGxldCB2IGluIFBiKVBiW3ZdJiZiLVBiW3ZdLnRpbWU+NkU0JiZkZWxldGUgUGJbdl07biYmKG4uTj0wKX0sNUUzKSk7CnJldHVybiBELmNvdW50PjU/KEQuY291bnQ9PT02JiZNYXRoLnJhbmRvbSgpKjFFNTwxJiYoRD1uZXcgZy5ReCgiQ1NJIGRhdGEgZXhjZWVkZWQgbG9nZ2luZyBsaW1pdCB3aXRoIGtleSIsVy5zcGxpdCgiXyIpKSxXLmluZGV4T2YoInBsZXYiKT49MHx8Zy5HcShEKSksITApOiExfTsKRUg9ZnVuY3Rpb24oKXt2YXIgbjtnLmwoImNzaV91c2VfcGVyZm9ybWFuY2VfbmF2aWdhdGlvbl90aW1pbmciKT8obj1VSD8uZ2V0RW50cmllc0J5VHlwZT8uKCJuYXZpZ2F0aW9uIik/LlswXT8udG9KU09OPy4oKSk/KG4ucmVxdWVzdFN0YXJ0PXl2KG4ucmVxdWVzdFN0YXJ0KSxuLnJlc3BvbnNlRW5kPXl2KG4ucmVzcG9uc2VFbmQpLG4ucmVkaXJlY3RTdGFydD15dihuLnJlZGlyZWN0U3RhcnQpLG4ucmVkaXJlY3RFbmQ9eXYobi5yZWRpcmVjdEVuZCksbi5kb21haW5Mb29rdXBFbmQ9eXYobi5kb21haW5Mb29rdXBFbmQpLG4uY29ubmVjdFN0YXJ0PXl2KG4uY29ubmVjdFN0YXJ0KSxuLmNvbm5lY3RFbmQ9eXYobi5jb25uZWN0RW5kKSxuLnJlc3BvbnNlU3RhcnQ9eXYobi5yZXNwb25zZVN0YXJ0KSxuLnNlY3VyZUNvbm5lY3Rpb25TdGFydD15dihuLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksbi5kb21haW5Mb29rdXBTdGFydD15dihuLmRvbWFpbkxvb2t1cFN0YXJ0KSxuLmlzUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nPQohMCk6bj1VSC50aW1pbmc6bj1nLmwoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShVSC50aW1pbmcpKTpVSC50aW1pbmc7cmV0dXJuIG59Owp5dj1mdW5jdGlvbihuKXtyZXR1cm4gTWF0aC5yb3VuZChpJCgpK24pfTsKaSQ9ZnVuY3Rpb24oKXtyZXR1cm4oZy5sKCJjc2lfdXNlX3RpbWVfb3JpZ2luIil8fGcubCgiY3NpX3VzZV90aW1lX29yaWdpbl90dmh0bWw1IikpJiZVSC50aW1lT3JpZ2luP01hdGguZmxvb3IoVUgudGltZU9yaWdpbik6VUgudGltaW5nLm5hdmlnYXRpb25TdGFydH07CkpTcj1mdW5jdGlvbigpe3ZhciBuPVlWUygpLFc9JFYoKSxEPXZvaWQgMDtmb3IodmFyIGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHg9bltiXTtpZih4LmxvYWRUeXBlKXtEPXgubG9hZFR5cGU7YnJlYWt9fWlmKHFRKCkubG9hZFR5cGU9PT0iY29sZCImJihXLmxvYWRUeXBlPT09ImNvbGQifHxEPT09ImNvbGQiKSl7RD1HdygpO2I9dG0oKTtiPWIuZ2VsVGlja3M/Yi5nZWxUaWNrczpiLmdlbFRpY2tzPXt9O2Zvcih2YXIgdiBpbiBEKXYgaW4gYnx8dHlwZW9mIERbdl09PT0ibnVtYmVyIiYmdSQodixvTCh2KSk7dmFyIGs9e30saD0hMTt2PXg9PntqdyhXLHgpO2p3KGsseCk7aD0hMH07CmZvcihsZXQgeCBvZiBuKXYoeCk7aCYmZGIoayl9fTsKenc9ZnVuY3Rpb24obixXKXt1JCgiX3N0YXJ0IixuLFcpfTsKZGI9ZnVuY3Rpb24obixXKXtpZighZy5sKCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFnYihXKS5hY3Rpb25EaXNhYmxlZCl7dmFyIEQ9SGIoV3x8IiIpO2p3KEQuaW5mbyxuKTtuLmxvYWRUeXBlJiYoRD1uLmxvYWRUeXBlLHFRKFcpLmxvYWRUeXBlPUQpO2p3KCRWKFcpLG4pO0Q9cmIoVyk7Vz1nYihXKS5jdHRBdXRoSW5mbztPSCgpLmluZm8obixELFcpfX07CkkyWj1mdW5jdGlvbigpe3JldHVybihnLnFqKCkucmVzb2x2ZShnLmhwKGcuWDMpKT8uTFgoKT8ubG9nZ2luZ0hvdENvbmZpZz8uY3NpQ29uZmlnPy5kZWJ1Z1RpY2tzPz9bXSkubWFwKG49Pk9iamVjdC52YWx1ZXMobilbMF0pfTsKdSQ9ZnVuY3Rpb24obixXLEQpe2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8IWdiKEQpLmFjdGlvbkRpc2FibGVkKXt2YXIgYj1yYihEKSx2O2lmKHY9Zy5sKCJ3ZWJfY3NpX2RlYnVnX3NhbXBsZV9lbmFibGVkIikmJmIpe2cucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpJiYhbCQmJihsJD0hMCx1JCgiZ2NmbCIsKDAsZy5SKSgpLEQpKTt2PWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnU2FtcGxlV2VpZ2h0fHwwO3ZhciBrO2lmKGs9diE9PTApYjp7az1JMlooKTtpZihrLmxlbmd0aD4wKWZvcih2YXIgaD0wO2g8ay5sZW5ndGg7aCsrKWlmKG49PT1rW2hdKXtrPSEwO2JyZWFrIGJ9az0hMX1rPyh2PU9hKGIpJXYhPT0wLGdiKEQpLmRlYnVnVGlja3NFeGNsdWRlZExvZ2dlZHx8KGs9e30say5kZWJ1Z1RpY2tzRXhjbHVkZWQ9dixkYihrLEQpKSxnYihEKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTp2PSExfWlmKCF2KXtpZihuWzBdIT09Il8iJiYodj1uLFVILm1hcmspKXt2LnN0YXJ0c1dpdGgoIm1hcmtfIil8fCh2PSJtYXJrXyIrdik7RCYmKHYrPWAgKCR7RH0pYCk7az12O2g9e307aWYoVyE9PXZvaWQgMCYmIWcubCgid2ViX2NzaV9kaXNhYmxlX2FsdF90aW1lX3BlcmZvcm1hbmNlX21hcmsiKSl7bGV0IEw9VztMPWcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP0wtVUgudGltZU9yaWdpbjpMLShVSC50aW1lT3JpZ2lufHxVSC50aW1pbmcubmF2aWdhdGlvblN0YXJ0KTtoLnN0YXJ0VGltZT1MfWcubCgiY3NpX2VuYWJsZV9jaHJvbWVfZGV2dG9vbHNfcGVyZm9ybWFuY2VfdGltZWxpbmVfaW50ZWdyYXRpb24iKSYmKGguZGV0YWlsPXtHVTp7ZGF0YVR5cGU6Im1hcmtlciIsY29sb3I6InByaW1hcnkiLHRvb2x0aXBUZXh0Omt9fSk7az1PYmplY3Qua2V5cyhoKS5sZW5ndGg+MD9oOnZvaWQgMDt0cnl7VUgubWFyayh2LGspfWNhdGNoKEwpe1VILm1hcmsodil9fXY9CkhiKER8fCIiKTt2LnRpY2tbbl09V3x8KDAsZy5SKSgpO2lmKHYuY2FsbGJhY2smJnYuY2FsbGJhY2tbbl0pZm9yKHZhciB4IG9mIHYuY2FsbGJhY2tbbl0peCgpO3g9dG0oRCk7eC5nZWxUaWNrcyYmKHguZ2VsVGlja3Nbbl09ITApO3Y9R3coRCk7eD1XfHwoMCxnLlIpKCk7dltuXT14O3Y9Z2IoRCkuY3R0QXV0aEluZm87bj09PSJfc3RhcnQiPyhuPU9IKCksWk0obixgYmFzZWxpbmVfJHtifWApfHxnLnpVKCJsYXRlbmN5QWN0aW9uQmFzZWxpbmVkIix7Y2xpZW50QWN0aW9uTm9uY2U6Yn0se3RpbWVzdGFtcDpXLGN0dEF1dGhJbmZvOnZ9KSk6T0goKS50aWNrKG4sYixXLHYpO1R3KEQpO3JldHVybiB4fX19OwpTVjE9ZnVuY3Rpb24oKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlPy4oIm1hcmsiKTtuJiZuLmZvckVhY2goVz0+e1cubmFtZS5zdGFydHNXaXRoKCJtYXJrXyIpJiZVSC5jbGVhck1hcmtzPy4oVy5uYW1lKX0pfTsKakw9ZnVuY3Rpb24oKXtzd2l0Y2goRzEoKSl7Y2FzZSAiaGlkZGVuIjpyZXR1cm4gMDtjYXNlICJ2aXNpYmxlIjpyZXR1cm4gMTtjYXNlICJwcmVyZW5kZXIiOnJldHVybiAyO2Nhc2UgInVubG9hZGVkIjpyZXR1cm4gMztkZWZhdWx0OnJldHVybi0xfX07CkNCPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9KGIsdixrKT0+e3Y9di5tYXRjaCgiX3JpZCIpP3Yuc3BsaXQoIl9yaWQiKVswXTp2O3R5cGVvZiBrPT09Im51bWJlciImJihrPUpTT04uc3RyaW5naWZ5KGspKTtiLnJlcXVlc3RJZHM/Yi5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OnYsaWQ6a30pOmIucmVxdWVzdElkcz1be2VuZHBvaW50OnYsaWQ6a31dfTsKZm9yKGxldCBbYix2XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtuPWI7bGV0IGs9djtzd2l0Y2gobil7Y2FzZSAiR2V0QnJvd3NlX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0R3VpZGVfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRIb21lX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0UGxheWVyX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2VhcmNoX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2V0dGluZ3NfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRUcmVuZGluZ19yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgInl0X3JlZCI6Vy5pc1JlZFN1YnNjcmliZXI9ISFrO2JyZWFrO2Nhc2UgInl0X2FkIjpXLmlzTW9uZXRpemVkPSEha319cmV0dXJuIFd9OwpBU3g9ZnVuY3Rpb24obixXKXtuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iobik7aWYoIW4pcmV0dXJuITE7dmFyIEQ9IiIsYj1uLm5vZGVOYW1lO2I9PT0iU0NSSVBUIj8oRD1uLnNyYyxEfHwoRD1uLmdldEF0dHJpYnV0ZSgiZGF0YS10aW1pbmctaHJlZiIpKSYmKEQ9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK0QpKTpiPT09IkxJTksiJiYoRD1uLmhyZWYpO1NqKGRvY3VtZW50KSYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixTaihkb2N1bWVudCkpO3JldHVybiBEPyhuPVVILmdldEVudHJpZXNCeU5hbWUoRCkpJiZuWzBdJiYobj1uWzBdLEQ9aSQoKSx1JCgicnNmXyIrVyxEK01hdGgucm91bmQobi5mZXRjaFN0YXJ0KSksdSQoInJzZV8iK1csRCtNYXRoLnJvdW5kKG4ucmVzcG9uc2VFbmQpKSxuLnRyYW5zZmVyU2l6ZSE9PXZvaWQgMCYmbi50cmFuc2ZlclNpemU9PT0wKT8hMDohMTohMX07Cm1IMT1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxXPVVILmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Vz1nLkVNKFcsRD0+RC5uYW1lLmluZGV4T2YoYCR7bn0vL2ZvbnRzLmdzdGF0aWMuY29tL3MvYCk9PT0wKTsKKFc9Zy51XyhXLChELGIpPT5iLmR1cmF0aW9uPkQuZHVyYXRpb24/YjpELHtkdXJhdGlvbjowfSkpJiZXLnN0YXJ0VGltZT4wJiZXLnJlc3BvbnNlRW5kPjAmJih1JCgid2ZmcyIseXYoVy5zdGFydFRpbWUpKSx1JCgid2ZmZSIseXYoVy5yZXNwb25zZUVuZCkpKX07CktOdD1mdW5jdGlvbihuLFcsRCl7VUgmJlVILm1lYXN1cmUmJihuLnN0YXJ0c1dpdGgoIm1lYXN1cmVfIil8fChuPSJtZWFzdXJlXyIrbiksRD9VSC5tZWFzdXJlKG4sVyxEKTpXP1VILm1lYXN1cmUobixXKTpVSC5tZWFzdXJlKG4pKX07CkJiPWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJhZnQiLG4pO2lmKFcpcmV0dXJuIFc7Vz1nLkFyKChufHwiIikrIlRJTUlOR19BRlRfS0VZUyIsWyJvbCJdKTt2YXIgRD1XLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKXtsZXQgdj1vTChXW2JdLG4pO2lmKHYpcmV0dXJuIHZ9cmV0dXJuIE5hTn07CkZBPWZ1bmN0aW9uKG4sVyl7Zy5HYigieXRnbG9iYWwudGltaW5nIisoV3x8IiIpKyJyZWFkeV8iLG4pfTsKb0w9ZnVuY3Rpb24obixXKXtpZihuPUd3KFcpW25dKXJldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiP246bltuLmxlbmd0aC0xXX07ClR3PWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJfc3RhcnQiLG4pLEQ9QmIobiksYj0hd2I7VyYmRCYmYiYmKGw5KE9udCxuZXcgTVEoTWF0aC5yb3VuZChELVcpLG4pKSx3Yj0hMCl9OwpQYXg9ZnVuY3Rpb24oKXtpZihVSC5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpO2lmKG49Zy5sXyhuLEQ9PkQubmFtZT09PSJmaXJzdC1wYWludCIpKXJldHVybiB5dihuLnN0YXJ0VGltZSl9dmFyIFc7CmcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP1c9VUguZ2V0RW50cmllc0J5VHlwZSgiZmlyc3QtcGFpbnQiKVswXS5zdGFydFRpbWU6Vz1VSC50aW1pbmcubDI7cmV0dXJuIFc/TWF0aC5tYXgoMCxXKTowfTsKZy5STD1mdW5jdGlvbihuKXtlTChuKTtabmkoKTtTVjEoKTtufHwoZy5BcigiVElNSU5HX0FDVElPTiIpJiZnLlNIKCJQUkVWSU9VU19BQ1RJT04iLGcuQXIoIlRJTUlOR19BQ1RJT04iKSksZy5TSCgiVElNSU5HX0FDVElPTiIsIiIpKX07CmNiPWZ1bmN0aW9uKG4sVyl7UFYoKCk9PntIYigiIikuaW5mby5hY3Rpb25UeXBlPW47VyYmZy5TSCgiVElNSU5HX0FGVF9LRVlTIixXKTtnLlNIKCJUSU1JTkdfQUNUSU9OIixuKTt2YXIgRD1DQihnLkFyKCJUSU1JTkdfSU5GTyIse30pKTtPYmplY3Qua2V5cyhEKS5sZW5ndGg+MCYmZGIoRCk7RD17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKX07dmFyIGI9Zy5BcigiUFJFVklPVVNfQUNUSU9OIik7YiYmKEQucHJldmlvdXNBY3Rpb249SUwoYikpO2lmKGI9Zy5BcigiQ0xJRU5UX1BST1RPQ09MIikpRC5odHRwUHJvdG9jb2w9YjtpZihiPWcuQXIoIkNMSUVOVF9UUkFOU1BPUlQiKSlELnRyYW5zcG9ydFByb3RvY29sPWI7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Yj1qTCgpO2lmKGI9PT0xfHxiPT09LTEpRC5pc1Zpc2libGU9ITA7Yj1xUSgpLmxvYWRUeXBlPT09ImNvbGQiOwp2YXIgdj1YQSgpO2J8fChiPXYueXRfbHQ9PT0iY29sZCIpO2lmKGIpe0QubG9hZFR5cGU9ImNvbGQiO2I9WEEoKTt2PUVIKCk7bGV0IHg9aSQoKSxMPWcuQXIoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtMPjAmJiFnLmwoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJih4PUwpO3gmJih1JCgic3J0Iix2LnJlc3BvbnNlU3RhcnQpLGIucHJlcmVuZGVyIT09MSYmencoeCkpO2I9UGF4KCk7Yj4wJiZ1JCgiZnB0IixiKTtiPUVIKCk7Yi5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmZGIoe3BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzohMH0sdm9pZCAwKTt1JCgibnJlcXMiLGIucmVxdWVzdFN0YXJ0LHZvaWQgMCk7dSQoIm5yZXNzIixiLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTt1JCgibnJlc2UiLGIucmVzcG9uc2VFbmQsdm9pZCAwKTtiLnJlZGlyZWN0RW5kLWIucmVkaXJlY3RTdGFydD4wJiYodSQoIm5ycyIsYi5yZWRpcmVjdFN0YXJ0LAp2b2lkIDApLHUkKCJucmUiLGIucmVkaXJlY3RFbmQsdm9pZCAwKSk7Yi5kb21haW5Mb29rdXBFbmQtYi5kb21haW5Mb29rdXBTdGFydD4wJiYodSQoIm5kbnNzIixiLmRvbWFpbkxvb2t1cFN0YXJ0LHZvaWQgMCksdSQoIm5kbnNlIixiLmRvbWFpbkxvb2t1cEVuZCx2b2lkIDApKTtiLmNvbm5lY3RFbmQtYi5jb25uZWN0U3RhcnQ+MCYmKHUkKCJudGNwcyIsYi5jb25uZWN0U3RhcnQsdm9pZCAwKSx1JCgibnRjcGUiLGIuY29ubmVjdEVuZCx2b2lkIDApKTtiLnNlY3VyZUNvbm5lY3Rpb25TdGFydD49aSQoKSYmYi5jb25uZWN0RW5kLWIuc2VjdXJlQ29ubmVjdGlvblN0YXJ0PjAmJih1JCgibnN0Y3BzIixiLnNlY3VyZUNvbm5lY3Rpb25TdGFydCx2b2lkIDApLHUkKCJudGNwZSIsYi5jb25uZWN0RW5kLHZvaWQgMCkpO1VIJiYiZ2V0RW50cmllc0J5VHlwZSJpbiBVSCYmbUgxKCk7Yj1bXTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZVSCYmVUguZ2V0RW50cmllc0J5TmFtZSlmb3IoayBpbiBRdilRdi5oYXNPd25Qcm9wZXJ0eShrKSYmCih2PVF2W2tdLEFTeChrLHYpJiZiLnB1c2godikpO3ZhciBrPWI7aWYoay5sZW5ndGg+MCl7RC5yZXNvdXJjZUluZm89W107Zm9yKHZhciBoIG9mIGspRC5yZXNvdXJjZUluZm8ucHVzaCh7cmVzb3VyY2VDYWNoZTpofSl9fWRiKEQpO0pTcigpO0ZBKCEwKTtoPWcuQXIoIlRJTUlOR19BQ1RJT04iKTtnLnJyKCJ5dGdsb2JhbC50aW1pbmdyZWFkeV8iKSYmaCYmVnYoKSYmQmIoKSYmVHcoKX0pKCl9OwpXUD1mdW5jdGlvbigpe3ZhciBuPXt9O1BWKCgpPT57VnYoKSYmZy5hTCgiYWEiLHZvaWQgMCx2b2lkIDApO2ZCKCk7Zy5STCgpO0ZBKCExKTtuLmN0dEF1dGhJbmZvJiYoZ2IoKS5jdHRBdXRoSW5mbz1uLmN0dEF1dGhJbmZvKTtnLlNIKCJUSU1JTkdfQUZUX0tFWVMiLFtdKTtuLnJQP2cubmwoe2xvYWRUeXBlOiJob3QifSk6Zy5ubCh7bG9hZFR5cGU6Indhcm0ifSk7Zy5TSCgiVElNSU5HX0FDVElPTiIsIiIpO2RlbGV0ZSBnLkFyKCJUSU1JTkdfSU5GTyIse30pLnl0X2x0O1BWKHp3KShuLnN0YXJ0VGltZSx2b2lkIDApfSkoKX07CmcuYmQ9ZnVuY3Rpb24obixXPXt9KXtQVigoKT0+e2cuRFkobik7dmFyIEQ9Vy5zYW1wbGVSYXRlO2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8RD09PXZvaWQgMHx8RDw9MSlEPSExO2Vsc2V7dmFyIGI9cmIobik7RD1PYShiKSVEIT09MH1EJiYoZ2IobikuYWN0aW9uRGlzYWJsZWQ9ITApO0hiKG58fCIiKS5pbmZvLmFjdGlvblR5cGU9bjtXLmN0dEF1dGhJbmZvJiYoZ2IobikuY3R0QXV0aEluZm89Vy5jdHRBdXRoSW5mbyk7Zy5TSChuKyJUSU1JTkdfQUNUSU9OIixuKTtQVih6dykoVy5zdGFydFRpbWUsbik7RD17YWN0aW9uVHlwZTpJTChuKX07Vy5leiYmKEQucHJldmlvdXNBY3Rpb249SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKSk7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Zy5ubChELG4pO0ZBKCEwLG4pfSkoKX07CmcuRFk9ZnVuY3Rpb24obil7UFYoKCk9PntWdihuKSYmZy5hTCgiYWEiLHZvaWQgMCxuKTtmQihuKTtnLlJMKG4pfSkoKX07ClZ2PWZ1bmN0aW9uKG4pe3JldHVybiBQVigoKT0+Zy52UCgiX3N0YXJ0IixuKSkoKX07Cmcubmw9ZnVuY3Rpb24obixXLEQ9ITEpe1BWKGRiKShuLFcsRCl9OwpnLmFMPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYodSQpKG4sVyxEKX07CmtEPWZ1bmN0aW9uKG4pe1BWKEtOdCkoImFjdGlvbl9maW5pc2hlZCIsbix2b2lkIDApfTsKZy52UD1mdW5jdGlvbihuLFcpe3JldHVybiBQVigoKT0+e3ZhciBEPUd3KFcpO3JldHVybiBuIGluIER9KSgpfTsKeEQ9ZnVuY3Rpb24obil7aWYoIWcubCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuIiI7bj1TMShuKXx8IiI7dmFyIFc9T2JqZWN0LmtleXMoaGUpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtsZXQgYj1XW0RdO2lmKG4uaW5jbHVkZXMoYikpcmV0dXJuIGJ9cmV0dXJuIiJ9Owplaz1mdW5jdGlvbihuKXtpZighZy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4oKT0+e307CnZhciBXPWhlW25dO3JldHVybiBXPyhnLkxsKFcpLCgpPT57dmFyIEQ9Zy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oRD1VSE1bbl0pP2cuTGwoRCk6ITE6ITE7cmV0dXJuIER9KTooKT0+e319OwpnLkxsPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYoKCk9PntpZihnLnZQKG4sRCkpcmV0dXJuITE7Zy5hTChuLFcsRCk7cmV0dXJuITB9KSgpfTsKZy5nXz1mdW5jdGlvbihuLFcsRCl7UFYoKCk9PntpZighVnYoRCl8fGcudlAobixEKSlyZXR1cm4hMTtnLmFMKG4sVyxEKTtyZXR1cm4hMH0pKCl9Owp5U2g9ZnVuY3Rpb24oKXtQVigoKT0+e3ZhciBuPXJiKCk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57c2V0VGltZW91dCgoKT0+e249PT1yYigpJiZnLmFMKCJmdGwiLHZvaWQgMCx2b2lkIDApfSwwKX0pfSkoKX07CkU5Yj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFg3Lmluc3RhbmNlIT09dm9pZCAwKXtpZihiPVg3Lmluc3RhbmNlLG49W24hPT1iLmosVyE9PWIueUcsRCE9PWIuVyx2IT09Yi5KLCExLCExLCExXSxuLnNvbWUoaz0+aykpdGhyb3cgbmV3IGcuUXgoIklubmVyVHViZVRyYW5zcG9ydFNlcnZpY2UgaXMgYWxyZWFkeSBpbml0aWFsaXplZCIsbik7Cn1lbHNlIFg3Lmluc3RhbmNlPW5ldyBYNyhuLFcsRCxiLHYpfTsKaW53PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtuPWF3YWl0ICRHKG4uVy5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsuLi5rVihEKSwuLi5ufSl9OwpkSGo9YXN5bmMgZnVuY3Rpb24obixXLEQsYj0oKT0+e30pe3ZhciB2PVcuY29uZmlnPy5Ibj8uUkw7CmlmKHYmJm4uSiYmbi5KLmhhcyh2KSYmIVcuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz1hd2FpdCBuLkouZ2V0KHYpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGsuaXNQcm9jZXNzZWQoKXx8KEdXKG4sYixXKSxhd2FpdCB0ZShuLkosdikpLFByb21pc2UucmVzb2x2ZShiKX1hd2FpdCB1X3QoVyk7KHY9Vy5jb25maWc/LnJlcXVlc3RLZXkpJiZuLk4uaGFzKHYpP0Q9bi5OLmdldCh2KTooaz1KU09OLnN0cmluZ2lmeShXLmlubmVyVHViZVJlcXVlc3QpLFcuUGk9ey4uLlcuUGksaGVhZGVyczp7Li4uKFcuUGk/LmhlYWRlcnM/P3t9KSwuLi5EfX0sRD17Li4uVy5QaX0sVy5QaS5tZXRob2Q9PT0iUE9TVCImJihEPXsuLi5ELGJvZHk6a30pLFcuY29uZmlnPy5MYSYmZy5hTChXLmNvbmZpZy5MYSksRD1uLnlHLmZldGNoKFcuaW5wdXQsRCxXLmNvbmZpZyksdiYmbi5OLnNldCh2LEQpKTtpZigoRD1hd2FpdCBEKSYmImVycm9yImluIEQmJkQ/LmVycm9yPy5kZXRhaWxzKXtrPQpELmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGspKGs9aFsiQHR5cGUiXSkmJm85ai5pbmRleE9mKGspPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sRD1oKX12JiZuLk4uaGFzKHYpJiZuLk4uZGVsZXRlKHYpO1cuY29uZmlnPy5SViYmZy5hTChXLmNvbmZpZy5SVik7R1cobixELFcpO1cuY29uZmlnPy5HdCYmZy5hTChXLmNvbmZpZy5HdCk7YigpO3JldHVybiBEfHx2b2lkIDB9OwpnLnJfPWZ1bmN0aW9uKG4sVyxELGIsdj17Qkc6e2lkZW50aXR5OnU5fX0pe3ZhciBrPWcucWooKS5yZXNvbHZlKGcuaHAoJEQpKT8uKCk7aWYoKGcubCgibWF3X25ldHdvcmtfbWFjaGluZV9yYXdfcmVxdWVzdCIpfHxnLmwoImFsbF93ZWJfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0IikpJiZrKXJldHVybiB6VGoobDJqKGsse2lubmVyVHViZVJlcXVlc3Q6VyxhcGlQYXRoOkQsY2xpY2tUcmFja2luZ1BhcmFtczpiLGNvbmZpZzp2LGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbih4PT54LCgpPT57fSk7CnZhciBoPSgpPT57fTsKaD1layh4RChEKSk7Vy5jb250ZXh0fHwoVy5jb250ZXh0PWcudmIoYiwhMCkpO3JldHVybiBuZXcgZy5YMShhc3luYyB4PT57dmFyIEw9SyQoRCk7TD1nLlRkKEwpPyJzYW1lLW9yaWdpbiI6ImNvcnMiO2lmKG4uVy5zQil7dmFyIGU9bi5XLmFqKHY/LkJHPy5pZGVudGl0eXx8dTkse3Nlc3Npb25JbmRleDp2Py5CRz8uc2Vzc2lvbkluZGV4fSk7TD17Li4ua1YoTCksLi4uZX19ZWxzZSBMPWF3YWl0IGludyhuLHYsTCk7ZT1acihLJChEKSk7ZT17aW5wdXQ6ZSxQaTpVeihlKSxpbm5lclR1YmVSZXF1ZXN0OlcsY29uZmlnOnZ9O3goZEhqKG4sZSxMLGgpKX0pfTsKdV90PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe249bi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBXIG9mW10pYXdhaXQgVy5CcyhuKX19OwpHVz1mdW5jdGlvbihuLFcsRCl7aWYoVyYmIVc/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZuLlgpZm9yKGxldCBiIG9mIHNvKW4uWFtiXSYmbi5YW2JdLmhhbmRsZVJlc3BvbnNlKFcsRCl9OwpwbD1mdW5jdGlvbigpe3ZhciBuLFc7cmV0dXJue3JGOm5ldyBOcigoRCxiKT0+e249RDtXPWJ9KSwKcmVzb2x2ZTpuLHJlamVjdDpXfX07CkhQPWZ1bmN0aW9uKG4pe3JldHVybiBZRChuKT9uOllvKG4pP25ldyBOcigoVyxEKT0+e24udGhlbihXLEQpfSk6bmV3IE5yKFc9PntXKG4pfSl9OwpmbD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IE5yKChXLEQpPT57RChuKX0pfTsKSmU9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBIUChuKCkpfWNhdGNoKFcpe3JldHVybiBmbChXKX19Owp6VGo9ZnVuY3Rpb24obil7cmV0dXJuIElqKG4sZy5YMSl9OwpJaj1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgVygoRCxiKT0+e1NrKG4sRCxiKX0pfTsKQWU9YXN5bmMgZnVuY3Rpb24obil7cmV0dXJuIElqKG4sUHJvbWlzZSl9OwptRT1mdW5jdGlvbihuKXtpZihuLk49PT0iZnVsZmlsbGVkIil7dmFyIFc9bi5KO24uSj1bXTtuLlc9W107Zm9yKHZhciBEIG9mIFcpRChuLnJlc3VsdCl9ZWxzZSBpZihuLk49PT0icmVqZWN0ZWQiKXtEPW4uVztuLko9W107bi5XPVtdO2ZvcihXIG9mIEQpVyhuLmVycm9yKX19OwpTaz1mdW5jdGlvbihuLFcsRCl7dmFyIHtyRjpiLHJlc29sdmU6dixyZWplY3Q6a309cGwoKTtuLkoucHVzaChoPT57aWYoVyl0cnl7bGV0IHg9VyhoKTt2KHgpfWNhdGNoKHgpe2soeCl9ZWxzZSB2KGgpfSk7Cm4uVy5wdXNoKGg9PntpZihEKXRyeXtsZXQgeD1EKGgpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIGsoaCl9KTsKbUUobik7cmV0dXJuIGJ9OwpLbD1mdW5jdGlvbihuLFcpe3JldHVybiBTayhuLHZvaWQgMCxXKX07ClRlYj1mdW5jdGlvbihuLFcpe1NrKG4sRD0+U2soSFAoVygpKSwoKT0+RCksRD0+U2soSFAoVygpKSwoKT0+ZmwoRCkpKX07Ck9vPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGpZMShXLmNhbGwobikpfTsKUFA9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKigpe3JldHVybiB5aWVsZHtyRjpIUChuKX19KCl9OwpqWTE9ZnVuY3Rpb24obil7cmV0dXJuIEplKCgpPT5aWShuLG4ubmV4dCgpKSl9OwpaWT1mdW5jdGlvbihuLFcpe3JldHVybiBXLmRvbmU/SFAoVy52YWx1ZSk6S2woU2soVy52YWx1ZS5yRixEPT5aWShuLG4ubmV4dChEKSkpLEQ9PlpZKG4sbi50aHJvdyhEKSkpfTsKRk54PWZ1bmN0aW9uKG4pe3ZhciBXPUNhVShuKTtyZXR1cm4gU2soQmVTKFcpLCgpPT5XLm1hcChEPT5ELnN0YXRlKCkpKX07CkJlUz1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIEhQKE5hTik7dmFyIHtyRjpXLHJlc29sdmU6RH09cGwoKSxiPW4ubGVuZ3RoO2ZvcihsZXQgdj0wO3Y8bi5sZW5ndGg7disrKVRlYihuW3ZdLCgpPT57Vy5OPT09InBlbmRpbmciJiYod1dqKHZvaWQgMCkmJih2b2lkIDApKHYpJiZXLk49PT0icGVuZGluZyI/RCh2KTooLS1iLGI9PT0wJiZEKE5hTikpKX0pOwpyZXR1cm4gV307CkNhVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+SFAoVykpfTsKTUV3PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciB2PSRHKGIuTi5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTt2PXlpZWxkKlBQKEhQKHYpKTtyZXR1cm57Li4ua1YoRCksLi4udn19KCl9KX07ClVvPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09MXx8bj09PTJ9OwpWRTI9ZnVuY3Rpb24obixXLEQ9ITEpe3ZhciBiLHY9Zy53KFcsUlRoKT8ucmVxdWVzdDt2JiZuLk4uaVQmJihiPW4uTi5pVFt2XSk7Ynx8RHx8KHY9Zy53KFcsUVlNKT8uc2lnbmFsKSYmbi5OLndkJiYoYj1uLk4ud2Rbdl0pO2lmKCFiJiYobj1EP24uTi51STpuLk4uemcpKWZvcihsZXQgayBpbiBXKWlmKG5ba10pe2I9bltrXTticmVha31pZighYil7aWYoRCl0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHN0cmVhbWluZyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQgZm9yIGNvbW1hbmQiKTt0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZC4iKTt9Vz1iKCk7cmV0dXJuIEhQKFcpfTsKbDJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ucnVuKCJSRVFVRVNUX0lOSVQiLFcpfTsKeXE9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5ydW4oIlBST0NFU1NfUkVTUE9OU0UiLFcsIlJlc3BvbnNlTWFjaGluZSAoQ2FjaGUpIil9OwpFbz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4ucnVuKCJJTklUIixXLEQhPT12b2lkIDA/YFJlc3BvbnNlTWFjaGluZSAoQ2h1bmsgJHtEfSlgOiJSZXNwb25zZU1hY2hpbmUiKX07CmNTMj1mdW5jdGlvbigpe3ZhciBuPWcucWooKTtnLnhvKG4se05IOmlkLFJjOigpPT5uZXcgTWFwfSk7CmcueG8obix7Tkg6dWQsWUw6dWQscG46ITB9KTtnLnhvKG4se05IOm9qLFlMOm9qLHBuOiEwfSk7Zy54byhuLHtOSDpkXyxZTDpkXyxwbjohMH0pO2cueG8obix7Tkg6elcsWUw6elcscG46ITB9KTtnLnhvKG4se05IOmxkLFlMOmxkLHBuOiEwfSk7Zy54byhuLHtOSDpUVyxZTDpUVyxwbjohMH0pO2cueG8obix7Tkg6amssWUw6amsscG46ITB9KTtnLnhvKG4se05IOkNsLFlMOkNsLHBuOiEwfSk7Zy54byhuLHtOSDpCUCxZTDpCUCxwbjohMH0pO2cueG8obix7Tkg6RjcsWUw6RjcscG46ITB9KTtnLnhvKG4se05IOndfLFJjOihXLEQsYix2LGssaCx4LEwsZSxHKT0+KHtDT01NQU5EX0lOSVQ6TCxSRVFVRVNUX0lOSVQ6ZSxDQUNIRTpELExPQ0FMX1JPVVRFUjp4LENPTlRFWFQ6YixBVVRIOlcsREVEVVBFOnYsRkVUQ0g6aCxSRVRSWTpHLEZBTExCQUNLOmt9KSwKW2cuTFhdOlt1ZCxvaixkXyx6VyxsZCxUVyxqayxDbCxCUCxGN10scG46ITB9KTtnLnhvKG4se05IOiRELFJjOlc9PigpPT5uZXcgZy5NcihXKSwKW2cuTFhdOlt3X10scG46ITB9KTtnLnhvKG4se05IOlJqLFlMOlJqLHBuOiEwfSk7Zy54byhuLHtOSDpRcSxZTDpRcSxwbjohMH0pO2cueG8obix7Tkg6VnEsWUw6VnEscG46ITB9KTtnLnhvKG4se05IOmNQLFlMOmNQLHBuOiEwfSk7Zy54byhuLHtOSDphaixSYzooVyxELGIsdik9Pih7SU5JVDp2LEVSUk9SX1VOUEFDS0VSOkQsUFJPQ0VTU19SRVNQT05TRTpiLENBTExCQUNLX0RJU1BBVENIRVI6V30pLApbZy5MWF06W1JqLFFxLFZxLGNQXSxwbjohMH0pO2cueG8obix7Tkg6blIsUmM6Vz0+KCk9Pm5ldyBXRyhXKSwKW2cuTFhdOlthal0scG46ITB9KX07CnFyPWZ1bmN0aW9uKG4pe3JldHVybnsuLi5uLmRhdGEuaW5uZXJ0dWJlUmVzcG9uc2UsY2FjaGVNZXRhZGF0YTp7aXNDYWNoZUhpdDohMH19fTsKdGU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihELmVudHJ5RGF0YS5pc1Byb2Nlc3NlZD0hMCxhd2FpdCBEdyhuLFcsRC5lbnRyeURhdGEpKX07CkR3PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLko7aWYoRC5leHBpcmVUaW1lc3RhbXBNcyl7Yj1OdW1iZXIoRC5leHBpcmVUaW1lc3RhbXBNcyktTWF0aC5yb3VuZCgoMCxnLlIpKCkpO2xldCB2PXYwKCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiKTt2PjAmJnY8YiYmKGI9dil9Yj1zZXRUaW1lb3V0KCgpPT57bi5yZW1vdmUoVyl9LGIpOwpuLk4uc2V0KFcse2VudHJ5RGF0YTpELHRpbWVyOmJ9KX07CnZHPWZ1bmN0aW9uKG4sVyl7aWYobj1uLk4uZ2V0KFcpKXJldHVybiBuZXcgYmgobi5lbnRyeURhdGEpfTsKa009ZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihjbGVhclRpbWVvdXQoRC50aW1lciksbi5OLmRlbGV0ZShXKSl9OwpoUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9ey4uLm59O2ZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhXKSl7bGV0IGs9blt2XSxoPVdbdl07aWYoaD09PXZvaWQgMClkZWxldGUgYlt2XTtlbHNlIGlmKGs9PT12b2lkIDApYlt2XT1oO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShoKSYmQXJyYXkuaXNBcnJheShrKSliW3ZdPUQ/Wy4uLmssLi4uaF06aDtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGgpJiZnLmZ0KGgpJiYhQXJyYXkuaXNBcnJheShrKSYmZy5mdChrKSliW3ZdPWhSKGssaCxEKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGspYlt2XT1oO2Vsc2UgcmV0dXJuIFc9bmV3IGcuUXgoIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6dixGVzprLHVwZGF0ZVZhbHVlOmh9KSxnLlhqKFcpLG59cmV0dXJuIGJ9Owp4TT1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ubGVuZ3RoPT09MD8hMToobj1uLk5bbi5OLmxlbmd0aC0xXSkmJm4uYnVmZmVyPT09Vy5idWZmZXImJm4uYnl0ZU9mZnNldCtuLmxlbmd0aD09PVcuYnl0ZU9mZnNldH07CkxSPWZ1bmN0aW9uKG4pe24uWD12b2lkIDA7bi5KPTA7bi5XPTB9OwplNT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXLk4pbi5hcHBlbmQoRCl9OwpnZD1mdW5jdGlvbihuLFcsRCl7dmFyIHtDczpiLFk5OnZ9PW4uc3BsaXQoVyk7KHtDczpifT12LnNwbGl0KEQpKTtyZXR1cm4gYn07ClhhPWZ1bmN0aW9uKG4sVyxEKXtuLmlzRm9jdXNlZChXKTtyZXR1cm4gVy1uLlcrRDw9bi5OW24uSl0ubGVuZ3RofTsKcUQ9ZnVuY3Rpb24obil7aWYoIW4uWCl7bGV0IFc9bi5OW24uSl07bi5YPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5sZW5ndGgpfXJldHVybiBuLlh9OwpHNj1mdW5jdGlvbihuLFc9MCxEPS0xKXtpZighbi50b3RhbExlbmd0aHx8IUQpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO0Q8MCYmKEQ9bi50b3RhbExlbmd0aC1XKTtuLmZvY3VzKFcpO2lmKCFYYShuLFcsRCkpe3ZhciBiPW4uSix2PW4uVztuLmZvY3VzKFcrRC0xKTt2PW5ldyBVaW50OEFycmF5KG4uVytuLk5bbi5KXS5sZW5ndGgtdik7bGV0IGs9MDtmb3IobGV0IGg9YjtoPD1uLko7aCsrKXYuc2V0KG4uTltoXSxrKSxrKz1uLk5baF0ubGVuZ3RoO24uTi5zcGxpY2UoYixuLkotYisxLHYpO0xSKG4pO24uZm9jdXMoVyl9Yj1uLk5bbi5KXTtyZXR1cm4gbmV3IERhdGFWaWV3KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCtXLW4uVyxEKX07CnRSPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249RzYobixXLEQpO3JldHVybiBuZXcgVWludDhBcnJheShuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoKX07CiRNPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249dFIobixXLEQpO1c9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO3RyeXtXLnNldChuKX1jYXRjaChiKXtmb3IoRD0wO0Q8bi5sZW5ndGg7RCsrKVdbRF09bltEXX1yZXR1cm4gV307CnJkPWZ1bmN0aW9uKG4sVyl7bi5mb2N1cyhXKTtyZXR1cm4gbi5OW24uSl1bVy1uLlddfTsKc3g9ZnVuY3Rpb24obixXKXtuLmZvY3VzKFcpO3JldHVybiBYYShuLFcsNCk/cUQobikuZ2V0VWludDMyKFctbi5XKToyNTYqKDI1NiooMjU2KnJkKG4sVykrcmQobixXKzEpKStyZChuLFcrMikpK3JkKG4sVyszKX07CmEyMj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpwUj1mdW5jdGlvbihuKXtyZXR1cm4gbi5sZW5ndGg/TkQ/TkQuZGVjb2RlKG4pOlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKToiIn07CmcuSEc9ZnVuY3Rpb24obil7aWYoIW4ubGVuZ3RoKXJldHVybiIiO3RyeXtpZihORClyZXR1cm4gTkQuZGVjb2RlKG4pO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgobil9Y2F0Y2h7fWZvcih2YXIgVz0wLEQ9W10sYj1uLmxlbmd0aDtXPGI7KXtsZXQgaz0wO2Zvcig7azwxMDI0JiZXPGI7KXt2YXIgdj1uW1crK107aWYodjwxMjgpe1lNW2srK109djtjb250aW51ZX1pZih2PDIyNCl2PSh2JjMxKTw8NnxuW1crK10mNjM7ZWxzZSBpZih2PDI0MCl2PSh2JjE1KTw8MTJ8KG5bVysrXSY2Myk8PDZ8bltXKytdJjYzO2Vsc2V7aWYoaysxPT09MTAyNCl7LS1XO2JyZWFrfXY9KHYmNyk8PDE4fChuW1crK10mNjMpPDwxMnwobltXKytdJjYzKTw8NnxuW1crK10mNjM7di09NjU1MzY7WU1baysrXT01NTI5Nnx2Pj4xMDt2PTU2MzIwfHYmMTAyM31ZTVtrKytdPXZ9dj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKWU0pO2s8MTAyNCYmKHY9di5zdWJzdHJpbmcoMCxrKSk7RC5wdXNoKHYpfXJldHVybiBELmpvaW4oIiIpfTsKSlI9ZnVuY3Rpb24obixXKXtpZihmUj8uZW5jb2RlSW50byl7bGV0IHtyZWFkOmIsd3JpdHRlbjp2fT1mUi5lbmNvZGVJbnRvKG4sVyk7cmV0dXJuIGI8bi5sZW5ndGg/bi5sZW5ndGgqNDp2fXZhciBEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT09NTUyOTYmJmIrMTxuLmxlbmd0aCYmKG4uY2hhckNvZGVBdChiKzEpJjY0NTEyKT09PTU2MzIwPyh2PTY1NTM2KygodiYxMDIzKTw8MTApKyhuLmNoYXJDb2RlQXQoKytiKSYxMDIzKSxXW0QrK109dj4+MTh8MjQwLFdbRCsrXT12Pj4xMiY2M3wxMjgpOldbRCsrXT12Pj4xMnwyMjQsV1tEKytdPXY+PjYmNjN8MTI4KSxXW0QrK109diY2M3wxMjgpfXJldHVybiBEfTsKSXc9ZnVuY3Rpb24obil7aWYoZlIpcmV0dXJuIGZSLmVuY29kZShuKTt2YXIgVz1uZXcgVWludDhBcnJheShNYXRoLmNlaWwobi5sZW5ndGgqMS4yKSksRD1KUihuLFcpO1cubGVuZ3RoPEQmJihXPW5ldyBVaW50OEFycmF5KEQpLEQ9SlIobixXKSk7Vy5sZW5ndGg+RCYmKFc9Vy5zdWJhcnJheSgwLEQpKTtyZXR1cm4gV307Cm1rPWZ1bmN0aW9uKG4sVyl7bj1uIGluc3RhbmNlb2YgVWludDhBcnJheT9uZXcgUzUoW25dKTpuO3JldHVybiBXKG5ldyBBUihuKSl9OwpLUj1mdW5jdGlvbihuKXt2YXIgVz1yZChuLk4sbi5wb3MpOysrbi5wb3M7aWYoVzwxMjgpcmV0dXJuIFc7Zm9yKHZhciBEPVcmMTI3LGI9MTtXPj0xMjg7KVc9cmQobi5OLG4ucG9zKSwrK24ucG9zLGIqPTEyOCxEKz0oVyYxMjcpKmI7cmV0dXJuIER9OwpPeD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uSjtmb3Iobi5KPS0xO24ucG9zKzE8PW4uTi50b3RhbExlbmd0aDspe0Q8MCYmKEQ9S1IobikpO3ZhciBiPUQ+PjM7bGV0IHY9RCY3O2lmKGI9PT1XKXJldHVybiEwO2lmKGI+Vyl7bi5KPUQ7YnJlYWt9RD0tMTtzd2l0Y2godil7Y2FzZSAwOktSKG4pO2JyZWFrO2Nhc2UgMTpuLnBvcys9ODticmVhaztjYXNlIDI6Yj1LUihuKTtuLnBvcys9YjticmVhaztjYXNlIDU6bi5wb3MrPTR9fXJldHVybiExfTsKUEc9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXJldHVybiBLUihuKX07Clp3PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4gVz10UihuLk4sbi5wb3MsOCksbi5wb3MrPTgsKG5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSkuZ2V0RmxvYXQ2NCgwLCEwKX07ClV4PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4hIUtSKG4pfTsKeUE9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXtXPUtSKG4pO3ZhciBEPXRSKG4uTixuLnBvcyxXKTtuLnBvcys9VztyZXR1cm4gRH19OwpFeD1mdW5jdGlvbihuLFcpe2lmKG49eUEobixXKSlyZXR1cm4gZy5IRyhuKX07CmloPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXlBKG4sVykpcmV0dXJuIEQobmV3IEFSKG5ldyBTNShbbl0pKSl9Owp1aD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1bXTtPeChuLFcpOylELnB1c2goS1IobikpO3JldHVybiBELmxlbmd0aD9EOnZvaWQgMH07Cm93PWZ1bmN0aW9uKG4sVyxEKXtmb3IodmFyIGI9W10sdjt2PXlBKG4sVyk7KWIucHVzaChEKG5ldyBBUihuZXcgUzUoW3ZdKSkpKTtyZXR1cm4gYi5sZW5ndGg/Yjp2b2lkIDB9OwpkZD1mdW5jdGlvbihuLFcsRCl7aWYoVyYmRCYmRC5idWZmZXI9PT1XLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcil7bGV0IGI9Vy5tZW1vcnkucmVhbGxvYyhELmJ5dGVPZmZzZXQsbik7aWYoYilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsYixuKX1uPVc/bmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsVy5tZW1vcnkubWFsbG9jKG4pLG4pOm5ldyBVaW50OEFycmF5KG4pO0QmJm4uc2V0KEQpO3JldHVybiBufTsKZy5saD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyB6Nig0MDk2KTtXKEQsbik7cmV0dXJuIG5ldyBVaW50OEFycmF5KEQuTi5idWZmZXIsRC5OLmJ5dGVPZmZzZXQsRC5wb3MpfTsKVDY9ZnVuY3Rpb24obixXKXtXPW4ucG9zK1c7aWYoIShuLk4ubGVuZ3RoPj1XKSl7Zm9yKHZhciBEPW4uTi5sZW5ndGgqMjtEPFc7KUQqPTI7bi5OPWRkKEQsbi5XVixuLk4uc3ViYXJyYXkoMCxuLnBvcykpO24udmlldz1uZXcgRGF0YVZpZXcobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCxuLk4uYnl0ZUxlbmd0aCl9fTsKajU9ZnVuY3Rpb24obixXKXtpZihXPjI2ODQzNTQ1NSl7VDYobiw0KTtsZXQgRD1XJjEwNzM3NDE4MjM7Zm9yKGxldCBiPTA7Yjw0O2IrKyluLnZpZXcuc2V0VWludDgobi5wb3MsRCYxMjd8MTI4KSxEPj4+PTcsbi5wb3MrPTE7Vz1NYXRoLmZsb29yKFcvMjY4NDM1NDU2KX1mb3IoVDYobiw0KTtXPjEyNzspbi52aWV3LnNldFVpbnQ4KG4ucG9zLFcmMTI3fDEyOCksVz4+Pj03LG4ucG9zKz0xO24udmlldy5zZXRVaW50OChuLnBvcyxXKTtuLnBvcys9MX07CkNSPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgpLGo1KG4sRCkpfTsKQkc9ZnVuY3Rpb24obixXLEQpe0QhPT12b2lkIDAmJkNSKG4sVyxEPzE6MCl9OwpnLkZhPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgrMiksVz1ELmxlbmd0aCxqNShuLFcpLFQ2KG4sVyksbi5OLnNldChELG4ucG9zKSxuLnBvcys9Vyl9Owp3ZD1mdW5jdGlvbihuLFcsRD0yKXtqNShuLFcqOCsyKTtuLkoucHVzaChuLnBvcyk7bi5KLnB1c2goRCk7bi5wb3MrPUR9OwpNRD1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5KLnBvcCgpLEQ9bi5KLnBvcCgpLGI9bi5wb3MtRC1XO1ctLTspe2xldCB2PVc/MTI4OjA7bi52aWV3LnNldFVpbnQ4KEQrKyxiJjEyN3x2KTtiPj49N319OwpnLlJ3PWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYod2QobixXLE1hdGguY2VpbChNYXRoLmxvZzIoRC5sZW5ndGgqNCsyKS83KSksVDYobixELmxlbmd0aCoxLjIpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSxuLnBvcytXPm4uTi5sZW5ndGgmJihUNihuLFcpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSksbi5wb3MrPVcsTUQobikpfTsKUUE9ZnVuY3Rpb24obixXLEQsYix2PTMpe0QmJih3ZChuLFcsdiksYihuLEQpLE1EKG4pKX07CmNHPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBBUihuZXcgUzUoW2xwKGRlY29kZVVSSUNvbXBvbmVudChuKSldKSk7bj1FeChXLDIpO1c9UEcoVyw0KTt2YXIgRD1WQVtXXTtpZih0eXBlb2YgRD09PSJ1bmRlZmluZWQiKXRocm93IG49bmV3IGcuUXgoIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGZpZWxkTnVtYmVyOld9KSxnLlhqKG4pLG47cmV0dXJue0RYOlcsZW50aXR5VHlwZTpELGVudGl0eUlkOm59fTsKbmY9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgejY7Zy5GYShELDIsSXcobikpO249YXdbV107aWYodHlwZW9mIG49PT0idW5kZWZpbmVkIil0aHJvdyBXPW5ldyBnLlF4KCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6V30pLGcuWGooVyksVztDUihELDQsbik7Q1IoRCw1LDEpO1c9bmV3IFVpbnQ4QXJyYXkoRC5OLmJ1ZmZlcixELk4uYnl0ZU9mZnNldCxELnBvcyk7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChnLkVBKFcsMCkpfTsKV2U9ZnVuY3Rpb24obil7bj1uLmtleXx8bi5pZDtpZighbil0aHJvdyBFcnJvcigiRW50aXR5IGtleSBpcyBtaXNzaW5nIik7cmV0dXJuIG59OwpERz1mdW5jdGlvbihuLFcsRCxiKXtpZihiPT09dm9pZCAwKXtsZXQge1tEXTp2LC4uLmt9PW5bV118fHt9O3JldHVybnsuLi5uLFtXXTprfX1yZXR1cm57Li4ubixbV106ey4uLm5bV10sW0RdOmJ9fX07CmJCPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bltXXXx8e30saD1rW0RdO2lmKCFoJiYhZy5sKCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIG47Yj1oUihofHx7fSxiLHY9PT0iUkVQRUFURURfRklFTERTX01FUkdFX09QVElPTl9BUFBFTkQiKTtyZXR1cm57Li4ubixbV106ey4uLmssW0RdOmJ9fX07Cm5taD1mdW5jdGlvbihuPXt9LFcpe3N3aXRjaChXLnR5cGUpe2Nhc2UgIkVOVElUWV9MT0FERUQiOnJldHVybiBXLnBheWxvYWQucmVkdWNlKChELGIpPT57dmFyIHY9Yi5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtpZih2JiZ2IT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fVU5LTk9XTiImJnYhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9JTk1FTU9SWV9BTkRfUEVSU0lTVCIpcmV0dXJuIEQ7aWYoIWIuZW50aXR5S2V5KXJldHVybiBnLlhqKEVycm9yKCJNaXNzaW5nIGVudGl0eSBrZXkiKSksRDtpZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFiLnBheWxvYWQpcmV0dXJuIGI9bmV3IGcuUXgoIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmIuZW50aXR5S2V5fSksZy5YaihiKSxEO3ZhciBrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIERHKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10pfWlmKGIudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7Yj1iLmVudGl0eUtleTt0cnl7bGV0IGg9Y0coYikuZW50aXR5VHlwZTtrPURHKEQsaCxiKTticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBFcnJvcil7Yj1uZXcgZy5ReCgiRmFpbGVkIHRvIGRlc2VyaWFsaXplIGVudGl0eSBrZXkiLHtlbnRpdHlLZXk6YixvcmlnaW5hbE1lc3NhZ2U6aC5tZXNzYWdlfSk7Zy5YaihiKTtrPUQ7YnJlYWsgYX10aHJvdyBoO31rPXZvaWQgMH1yZXR1cm4ga31pZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIil7aWYoIWIucGF5bG9hZClyZXR1cm4gYj1uZXcgZy5ReCgiVVBEQVRFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpiLmVudGl0eUtleX0pLGcuWGooYiksRDtrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIGJCKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10sYi5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIER9LApuKTsKY2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBERyhuLFcucGF5bG9hZC5lbnRpdHlUeXBlLFcucGF5bG9hZC5rZXksVy5wYXlsb2FkLmc4KTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoVy5wYXlsb2FkKS5yZWR1Y2UoKEQsYik9Pnt2YXIgdj1XLnBheWxvYWRbYl07cmV0dXJuIE9iamVjdC5rZXlzKHYpLnJlZHVjZSgoayxoKT0+REcoayxiLGgsdltoXSksRCl9LG4pOwpjYXNlICJVUERBVEVfRU5USVRZIjpyZXR1cm4gYkIobixXLnBheWxvYWQuZW50aXR5VHlwZSxXLnBheWxvYWQua2V5LFcucGF5bG9hZC5nOCxXLnBheWxvYWQublApO2RlZmF1bHQ6cmV0dXJuIG59fTsKVzRVPWZ1bmN0aW9uKCl7aWYodmUpcmV0dXJuIHZlKCk7dmU9a08oIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7S2M6e0VudGl0eVN0b3JlOnt2eDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOnt2eDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDEpJiZFUihaeShuLCJFbnRpdHlTdG9yZSIse2tleVBhdGg6ImtleSJ9KSwiZW50aXR5VHlwZSIsImVudGl0eVR5cGUiKTtXKDIpJiYobj1aeShuLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxFUihuLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLEVSKG4sImJ5Q2hpbGRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSIpKX0sdmVyc2lvbjozfSk7cmV0dXJuIHZlKCl9OwpEZlM9ZnVuY3Rpb24obil7cmV0dXJuIENGKFc0VSgpLG4pfTsKayQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KG4pOkFycmF5KG4pfTsKWDg9ZnVuY3Rpb24obil7dmFyIFc9bi5rZXksRD1uLmNvdW50ZXJbMF1eV1swXSxiPW4uY291bnRlclsxXV5XWzFdLHY9bi5jb3VudGVyWzJdXldbMl0saz1uLmNvdW50ZXJbM11eV1szXTtmb3IodmFyIGg9MztoPj0wJiYhKG4uY291bnRlcltoXT0tfm4uY291bnRlcltoXSk7aC0tKTtmb3IodmFyIHgsTCxlPTQ7ZTw0MDspaD1oRVtEPj4+MjRdXngkW2I+PjE2JjI1NV1eTGZbdj4+OCYyNTVdXmVZW2smMjU1XV5XW2UrK10seD1oRVtiPj4+MjRdXngkW3Y+PjE2JjI1NV1eTGZbaz4+OCYyNTVdXmVZW0QmMjU1XV5XW2UrK10sTD1oRVt2Pj4+MjRdXngkW2s+PjE2JjI1NV1eTGZbRD4+OCYyNTVdXmVZW2ImMjU1XV5XW2UrK10saz1oRVtrPj4+MjRdXngkW0Q+PjE2JjI1NV1eTGZbYj4+OCYyNTVdXmVZW3YmMjU1XV5XW2UrK10sRD1oLGI9eCx2PUw7bj1uLko7aD1XWzQwXTtuWzBdPWdOW0Q+Pj4yNF1eaD4+PjI0O25bMV09Z05bYj4+MTYmMjU1XV5oPj4xNiYyNTU7blsyXT1nTlt2Pj44JgoyNTVdXmg+PjgmMjU1O25bM109Z05bayYyNTVdXmgmMjU1O2g9V1s0MV07bls0XT1nTltiPj4+MjRdXmg+Pj4yNDtuWzVdPWdOW3Y+PjE2JjI1NV1eaD4+MTYmMjU1O25bNl09Z05baz4+OCYyNTVdXmg+PjgmMjU1O25bN109Z05bRCYyNTVdXmgmMjU1O2g9V1s0Ml07bls4XT1nTlt2Pj4+MjRdXmg+Pj4yNDtuWzldPWdOW2s+PjE2JjI1NV1eaD4+MTYmMjU1O25bMTBdPWdOW0Q+PjgmMjU1XV5oPj44JjI1NTtuWzExXT1nTltiJjI1NV1eaCYyNTU7aD1XWzQzXTtuWzEyXT1nTltrPj4+MjRdXmg+Pj4yNDtuWzEzXT1nTltEPj4xNiYyNTVdXmg+PjE2JjI1NTtuWzE0XT1nTltiPj44JjI1NV1eaD4+OCYyNTU7blsxNV09Z05bdiYyNTVdXmgmMjU1fTsKdEU9ZnVuY3Rpb24oKXtpZighcWEmJiFnLlJnKXtpZihHcilyZXR1cm4gR3I7R3I9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKEdyPy5pbXBvcnRLZXkmJkdyPy5zaWduJiZHcj8uZW5jcnlwdClyZXR1cm4gR3I7R3I9dm9pZCAwfX07CmJoMT1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJBRVMtQ1RSIn0sITEsWyJlbmNyeXB0Il0pKTtuPWF3YWl0IG4uSi5lbmNyeXB0KHtuYW1lOiJBRVMtQ1RSIixjb3VudGVyOkQsbGVuZ3RoOjEyOH0sbi5OLFcpO3JldHVybiBuZXcgVWludDhBcnJheShuKX07CiQkPWZ1bmN0aW9uKG4pe24uTj1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdO24uSz1bXTtuLksubGVuZ3RoPTY0O24uWD0wO24uSj0wfTsKc2U9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSyx2PW4uTlswXSxrPW4uTlsxXSxoPW4uTlsyXSx4PW4uTlszXSxMPW4uTls0XSxlPW4uTls1XSxHPW4uTls2XSxyPW4uTls3XSxOO2ZvcihsZXQgeT0wO3k8NjQ7KXtpZih5PDE2KWJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NDtlbHNle3ZhciBIPWJbeS0yXTt2YXIgQT1iW3ktMTVdO049Ylt5LTddK2JbeS0xNl0rKChIPj4+MTd8SDw8MTUpXihIPj4+MTl8SDw8MTMpXkg+Pj4xMCkrKChBPj4+N3xBPDwyNSleKEE+Pj4xOHxBPDwxNCleQT4+PjMpO2JbeV09Tn1IPXIrck5beV0rTisoKEw+Pj42fEw8PDI2KV4oTD4+PjExfEw8PDIxKV4oTD4+PjI1fEw8PDcpKSsoTCZlXn5MJkcpO0E9KCh2Pj4+Mnx2PDwzMCleKHY+Pj4xM3x2PDwxOSleKHY+Pj4yMnx2PDwxMCkpKyh2JmtediZoXmsmaCk7cj1IK0E7eCs9SDt5Kys7eTwxNj8oYlt5XT1OPVdbRF08PDI0fFdbRCsxXTw8MTZ8V1tEKzJdPDw4fFdbRCsKM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9RytyTlt5XStOKygoeD4+PjZ8eDw8MjYpXih4Pj4+MTF8eDw8MjEpXih4Pj4+MjV8eDw8NykpKyh4JkxefngmZSk7QT0oKHI+Pj4yfHI8PDMwKV4ocj4+PjEzfHI8PDE5KV4ocj4+PjIyfHI8PDEwKSkrKHImdl5yJmtediZrKTtHPUgrQTtoKz1IO3krKzt5PDE2PyhiW3ldPU49V1tEXTw8MjR8V1tEKzFdPDwxNnxXW0QrMl08PDh8V1tEKzNdLEQrPTQpOihIPWJbeS0yXSxBPWJbeS0xNV0sTj1iW3ktN10rYlt5LTE2XSsoKEg+Pj4xN3xIPDwxNSleKEg+Pj4xOXxIPDwxMyleSD4+PjEwKSsoKEE+Pj43fEE8PDI1KV4oQT4+PjE4fEE8PDE0KV5BPj4+MyksYlt5XT1OKTtIPWUrck5beV0rTisoKGg+Pj42fGg8PDI2KV4oaD4+PjExfGg8PDIxKV4oaD4+PjI1fApoPDw3KSkrKGgmeF5+aCZMKTtBPSgoRz4+PjJ8Rzw8MzApXihHPj4+MTN8Rzw8MTkpXihHPj4+MjJ8Rzw8MTApKSsoRyZyXkcmdl5yJnYpO2U9SCtBO2srPUg7eSsrO3k8MTY/KGJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9TCtyTlt5XStOKygoaz4+PjZ8azw8MjYpXihrPj4+MTF8azw8MjEpXihrPj4+MjV8azw8NykpKyhrJmhefmsmeCk7QT0oKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKSkrKGUmR15lJnJeRyZyKTtOPXI7cj14O3g9TjtOPUc7Rz1oO2g9TjtOPWU7ZT1rO2s9TjtMPXYrSDt2PUgrQTt5Kyt9bi5OWzBdPXYrbi5OWzBdfDA7bi5OWzFdPWsrbi5OWzFdfDA7bi5OWzJdPWgrbi5OWzJdfAowO24uTlszXT14K24uTlszXXwwO24uTls0XT1MK24uTls0XXwwO24uTls1XT1lK24uTls1XXwwO24uTls2XT1HK24uTls2XXwwO24uTls3XT1yK24uTls3XXwwfTsKTmE9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMzIpLEQ9NjQtbi5KO24uSj41NSYmKEQrPTY0KTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiWzBdPTEyODt2YXIgdj1uLlgqODtmb3IobGV0IGs9MTtrPDk7aysrKXtsZXQgaD12JTI1NjtiW0Qta109aDt2PSh2LWgpLzI1Nn1uLnVwZGF0ZShiKTtmb3IoRD0wO0Q8ODtEKyspV1tEKjRdPW4uTltEXT4+PjI0LFdbRCo0KzFdPW4uTltEXT4+PjE2JjI1NSxXW0QqNCsyXT1uLk5bRF0+Pj44JjI1NSxXW0QqNCszXT1uLk5bRF0mMjU1OyQkKG4pO3JldHVybiBXfTsKcGY9ZnVuY3Rpb24obixXLEQpe249bmV3IHZtaShuLk4pO24udXBkYXRlKFcpO24udXBkYXRlKEQpO1c9TmEobik7bi51cGRhdGUobi5qKTtuLnVwZGF0ZShXKTtXPU5hKG4pO24ucmVzZXQoKTtyZXR1cm4gV307CmtTaj1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJITUFDIixoYXNoOiJTSEEtMjU2In0sITEsWyJzaWduIl0pKTt2YXIgYj1uZXcgVWludDhBcnJheShXLmxlbmd0aCtELmxlbmd0aCk7Yi5zZXQoVyk7Yi5zZXQoRCxXLmxlbmd0aCk7bj1hd2FpdCBuLkouc2lnbih7bmFtZToiSE1BQyIsaGFzaDoiU0hBLTI1NiJ9LG4uTixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobil9Owp4ZlM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7bi5KfHwobi5KPW5ldyBoYXcobi5OLGIpKTtyZXR1cm4ga1NqKG4uSixXLEQpfTsKSGU9ZnVuY3Rpb24obixXLEQpe24uV3x8KG4uVz1uZXcgWSQobi5OKSk7cmV0dXJuIHBmKG4uVyxXLEQpfTsKTDRaPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10RSgpO2lmKGIpdHJ5e3JldHVybiBhd2FpdCB4ZlMobixXLEQsYil9Y2F0Y2godil7cmV0dXJuIGcuR3EodikscWE9ITAsSGUobixXLEQpfWVsc2UgcmV0dXJuIEhlKG4sVyxEKX07CmVhVT1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIEVycm9yP25ldyBmZigiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6bi5tZXNzYWdlfSk6bmV3IGZmKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTsKZ20yPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgRXJyb3I/bmV3IGZmKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTpuLm1lc3NhZ2V9KTpuZXcgZmYoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpKRT1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIGZmP246VyhuKTtnLlhqKG4pO3Rocm93IG47fTsKSTg9ZnVuY3Rpb24obil7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUobikuc3ViYXJyYXkoMCwxNik7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMTYpO1cuc2V0KG4pO3JldHVybiBXfTsKcXNVPWZ1bmN0aW9uKCl7dmFyIG49WHlVLnZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTtpZihuKXJldHVybiBuO2cuR3EobmV3IGcuUXgoIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5In0pKX07CkFFPWZ1bmN0aW9uKG4sVyl7YTp7bj1TWShuLlcsVy52ZXJzaW9uKTt0cnl7dmFyIEQ9bi5KKFcuZGF0YSxXLmtleSk7YnJlYWsgYX1jYXRjaChiKXtKRShiLGdtMil9RD12b2lkIDB9cmV0dXJuIER9OwpHU3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmluZGV4KCJlbnRpdHlUeXBlIikuZ2V0QWxsKElEQktleVJhbmdlLm9ubHkoVykpLnRoZW4oRD0+RC5tYXAoYj0+QUUobixiKSkpfTsKJGZpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V2UoVyk7cmV0dXJuIG1MKG4sRCkudGhlbigoKT0+dENoKG4sVykpfTsKS2Y9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSltEXTtifHwoYj1uZXcgU2V0LG4uSltEXT1iKTtiLmFkZChXKX07CnIzWj1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9U1kobi5XLDEpLHY9ey4uLld9O3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZ2V0KEQpLnRoZW4oaz0+e2lmKGspe2lmKGsuZW50aXR5VHlwZSE9PSJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKXRocm93IEVycm9yKCJJbmNvcnJlY3QgZW50aXR5IHR5cGUiKTt2LmVudGl0eU1ldGFkYXRhfHwoaz1BRShuLGspLHYuZW50aXR5TWV0YWRhdGE9ay5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e2E6e3RyeXt2YXIgaz1iLlcodixEKTsKYnJlYWsgYX1jYXRjaChoKXtKRShoLGVhVSl9az12b2lkIDB9az17a2V5OkQsZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IixkYXRhOmssdmVyc2lvbjoxfTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikucHV0KGspLCRmaShuLHYpXSl9KS50aGVuKCgpPT57S2YobixELCJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKTsKcmV0dXJuIER9KX07Ck9lPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Y0coVykuZW50aXR5VHlwZTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZGVsZXRlKFcpLG1MKG4sVyldKS50aGVuKCgpPT57S2YobixXLEQpfSl9OwptTD1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShXKSl9OwpzeHI9ZnVuY3Rpb24obixXKXtXPVcubWFwKEQ9Pk9lKG4sRCkpOwpyZXR1cm4gc1IuYWxsKFcpLnRoZW4oKCk9Pnt9KX07CnRDaD1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9cXNVKCk7aWYoIWIpcmV0dXJuIHNSLnJlc29sdmUoW10pO1c9bmV3IGIoVyk7bj1uLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtiPVtdO2ZvcihsZXQgdiBvZiBXLkooKSliLnB1c2gobi5wdXQoe3BhcmVudEVudGl0eUtleTpELGNoaWxkRW50aXR5S2V5OnZ9KSk7cmV0dXJuIHNSLmFsbChiKS50aGVuKHY9PnYubWFwKGs9PmtbMV0pKX07ClNZPWZ1bmN0aW9uKG4sVz0wKXtuPW4uTltXXTtpZighbil0aHJvdyBXPW5ldyBmZigiSU5WQUxJRF9FTkNPREVSX1ZFUlNJT04iLHtPQTpXfSksZy5YaihXKSxXO3JldHVybiBufTsKUGU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5vYnNlcnZlcnMpRChXKX07ClpHPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1hd2FpdCBEZlMobi50b2tlbiksdjtXPWF3YWl0IE9SKGIsWyJFbnRpdHlTdG9yZSIsIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiXSxXLGs9Pnt2PW5ldyBOR3coayxuLk4pO3JldHVybiBEKHYpfSk7CnYmJihiPXYuSixPYmplY3Qua2V5cyhiKS5sZW5ndGg+MCYmKG4uY2hhbm5lbC5wb3N0TWVzc2FnZShiKSxQZShuLGIpKSk7cmV0dXJuIFd9OwpweXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gWkcobix7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+cjNaKEQsVykpfTsKWXNNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pk9lKEQsVykpfTsKSGh3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnN4cihELFcpKX07ClVlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWRvbmx5IixHUTohMH0sRD0+R1N3KEQsVykpfTsKSTkyPWFzeW5jIGZ1bmN0aW9uKCl7dHJ5e2xldCBXPWF3YWl0IGcublAoKTtpZihXJiZSOSgpJiZ0eXBlb2YgZy5xaS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBuPW5ldyBmOWk7cmV0dXJuIG5ldyBKM2koVyxuKX19Y2F0Y2goVyl7VyBpbnN0YW5jZW9mIEVycm9yJiZnLlhqKFcpfX07CnlXPWZ1bmN0aW9uKCl7dmFyIG49WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLmZldGNoO3JldHVybiEhbiYmbi5sZW5ndGg9PT0zfTsKRWU9ZnVuY3Rpb24obixXKXtXPU51bWJlcihXKSoxRTM7dmFyIEQ9TWF0aC5yb3VuZCgoMCxnLlIpKCkpLGI9RC50b1N0cmluZygpO249e2lubmVydHViZVJlc3BvbnNlOm4sc2VydmVyRGF0ZVRpbWVzdGFtcE1zOmIsbGFzdE1vZGlmaWVkVGltZXN0YW1wTXM6YixleHBpcmVUaW1lc3RhbXBNczooRCtXKS50b1N0cmluZygpLGlzUHJvY2Vzc2VkOiEwfTtpZihXPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpbi5jbGllbnROYW1lPVc7cmV0dXJuIG59Owp1Qj1mdW5jdGlvbihuLFcsRCl7aWYoIWcubCgic3RhdGVfdGFnc19raWxsc3dpdGNoIikpe3ZhciBiPW5ldyBpQihXKTtpZigoYi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W10pLmxlbmd0aD4wKXt2YXIgdj1uLk4udUIoKTtmb3IobGV0IGggb2Ygdil7dmFyIGs9dkcobi5OLGgpO2lmKGspe2E6e3Y9Yi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W107az0obmV3IGlCKHFyKGspKSkuTj8ucmVsZXZhbnRTdGF0ZVRhZ3N8fFtdO2ZvcihsZXQgeCBvZiBrKWlmKHguc3RhdGVUYWchPW51bGwmJnYuaW5jbHVkZXMoeC5zdGF0ZVRhZykmJngub25TdGF0ZVRhZ01vZGlmaWVkPT09IlNUQVRFX1RBR19DQUNIRV9JTlNUUlVDVElPTl9FVklDVF9SRVNQT05TRSIpe3Y9ITA7YnJlYWsgYX12PSExfXYmJmtNKG4uTixoKX19fX1iPVcucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzO0QmJmImJk51bWJlcihiKT4wJiYoVz1FZShXLGIpLG4uTi5wdXQoRCxuZXcgYmgoVykpKX07ClNzWj1mdW5jdGlvbihuLFcsRCl7aWYobi5OKXtsZXQgYj1TMShUNShXLCJrZXkiKSl8fCIvVU5LTk9XTl9QQVRIIjtuLk4uc3RhcnQoYil9bj1EO2cubCgid3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0IikmJihuPU1YUyhEKSk7cmV0dXJuIG5ldyB3aW5kb3cuUmVxdWVzdChXLG4pfTsKZE49YXN5bmMgZnVuY3Rpb24obixXLEQsYix2LGspe2lmKGs/LmFib3J0ZWQpcmV0dXJuIFcuY2FuY2VsKCksYjt2YXIge3ZhbHVlOmgsZG9uZTp4fT1hd2FpdCBXLnJlYWQoKTtpZih4KXJldHVybiBuLk4/LnN1Y2Nlc3MoKSxiO3RyeXt2YXIgTD1ELnBhcnNlKGgpfWNhdGNoKGUpe3Rocm93IG5ldyBvOCgiRmFpbGVkIHRvIHBhcnNlIHN0cmVhbWluZyByZXNwb25zZSIsaCk7fWlmKEwhPW51bGwpZm9yKGxldCBlIG9mIEwpYi5wdXNoKGUpLHY/LihlKTtyZXR1cm4gZE4obixXLEQsYix2LGspfTsKbmM9ZnVuY3Rpb24obixXLEQpe2lmKCF6cil7bGV0IGs9Zy5xaigpO2cueG8oayx7Tkg6bEIsWUw6VHJ9KTtpZihEPy5vUyl7Zy54byhrLHtOSDpqWSxQZjpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsRC5jbGllbnRJbnRlcmZhY2UpfSk7Zy54byhrLHtOSDpDZixQZjo1MTg0RTZ9KTtnLnhvKGsse05IOkJlLFlMOkEzaixbZy5MWF06W2pZLENmXX0pO2cueG8oayx7Tkg6RjgsWUw6d059KTt2YXIgYj1rLnJlc29sdmUoRjgpO2xldCBoPXdpbmRvdztpZihoLnl0SW5pdGlhbFZpZGVvSWQpe3ZhciB2PWgueXRJbml0aWFsVmlkZW9JZDtoLnl0SW5pdGlhbFBsYXllclJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsUGxheWVyUmVzcG9uc2UseUgoInBsYXllciIse3ZpZGVvSWQ6dn0pKTtoLnl0SW5pdGlhbFdhdGNoTmV4dFJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsV2F0Y2hOZXh0UmVzcG9uc2UseUgoIm5leHQiLHt2aWRlb0lkOnZ9KSk7aC55dEluaXRpYWxSZWVsSXRlbVdhdGNoUmVzcG9uc2UmJgp1QihiLGgueXRJbml0aWFsUmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHlIKCJyZWVsX2l0ZW1fd2F0Y2giLHt2aWRlb0lkOnZ9KSl9fWcueG8oayx7Tkg6TWEsUGY6e3pnOntmZWVkYmFja0VuZHBvaW50OmhtKG1mUyksbW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludDpobShLNGkpLHBsYXlsaXN0RWRpdEVuZHBvaW50OmhtKE9ociksc2hhcmVFbnRpdHlFbmRwb2ludDpobShSOCksc3Vic2NyaWJlRW5kcG9pbnQ6aG0oUEd4KSx1bnN1YnNjcmliZUVuZHBvaW50OmhtKFpodCksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6aG0oVWZaKX19fSk7dj1iJC5nZXRJbnN0YW5jZSgpO2I9e307diYmKGIuY2xpZW50X2xvY2F0aW9uPXYpO0Q/Lm9TJiYodj1rLnJlc29sdmUoRjgpLGIuc3RvcmU9dixiLnJlc29sdmVfdXJsX3ByZWZldGNoPWsucmVzb2x2ZShRVykpO2cueG8oayx7Tkg6VlcsUGY6Yn0pO2cueG8oayx7Tkg6Y2UsUGY6biE9PXZvaWQgMD8KbjppTygpfSk7Vz09PXZvaWQgMCYmKFc9ay5yZXNvbHZlKGxCKSk7Zy5sKCJhbGxfd2ViX2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmY1MyKCk7RTliKGsucmVzb2x2ZShNYSksVyxrLnJlc29sdmUoY2UpLGsucmVzb2x2ZShWVyksRD8ub1M/ay5yZXNvbHZlKEJlKTp2b2lkIDApO2cueG8oayx7Tkg6YTgsUGY6WDcuaW5zdGFuY2V9KTt6cj1rLnJlc29sdmUoYTgpfXJldHVybiB6cn07CldRPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249bi5zcGxpdCgiJiIpO2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09MiYmKFdbblswXV09blsxXSk7cmV0dXJuIFd9Owp5M3I9YXN5bmMgZnVuY3Rpb24oKXt2YXIgbj13aW5kb3c7YXdhaXQgZy5NaChnLkQ2KCkpO3ZhciBXPW4uYmdldm1jO2lmKCFXKXRocm93IEVycm9yKCJCR0UgQ29udHJvbHMgbm90IGV4cG9zZWQiKTtyZXR1cm57cGF1c2U6KCk9PntXLnAoKX0sCnJlc3VtZTooKT0+e1cucigpfSwKY2hlY2tGb3JSZWZyZXNoOigpPT5XLmNyKCl9fTsKZy5ENj1mdW5jdGlvbigpe3JldHVybiBnLmwoImJnX3N0X2hyIik/ImhhdnVva21oaHMtMCI6YGhhdnVva21oaHMtJHtNYXRoLmZsb29yKGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/LnRpbWVPcmlnaW58fDApfWB9OwpiMD1mdW5jdGlvbihuKXt3aW5kb3cuYmdlbnM9bn07CkVteD1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShuPT57dmFyIFc9d2luZG93O1cubnRwZXZhc3JzIT09dm9pZCAwP24obmV3IHZRKFcubnRwZXZhc3JzKSk6KFcubnRwcWZiZWw9PT12b2lkIDAmJihXLm50cHFmYmVsPVtdKSxXLm50cHFmYmVsLnB1c2goRD0+e24obmV3IHZRKEQpKX0pKX0pfTsKeDU9ZnVuY3Rpb24oKXtpZihnLmFLKCkpe3ZhciBuPWcuQXIoIlBMQVlFUl9WQVJTIix7fSk7aWYoZy4keShuLCJwcml2ZW1iZWQiLCExKSE9IjEiJiYhZy54UihuKSl7dmFyIFc9KCk9PntrNT0hMDsiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3c/Zy5TSCgiRENMS1NUQVQiLDEpOmcuU0goIkRDTEtTVEFUIiwyKX07CnRyeXtsZXQgRD1Taihkb2N1bWVudCk7aU0oaGosVyxEKX1jYXRjaChEKXt9aWhDLnB1c2godGEuTFMoKCk9PntpZighKGs1fHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7aWYoaGoudG9TdHJpbmcoKSYmVyl7dmFyIEQ9YCR7QWkoVyl9YCxiPW9JW0RdO2ImJlBVKGIpfX1jYXRjaCh2KXt9azU9ITA7Zy5TSCgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07CkxjPWZ1bmN0aW9uKCl7dmFyIG49TnVtYmVyKGcuQXIoIkRDTEtTVEFUIiwwKSk7cmV0dXJuIGlzTmFOKG4pPzA6bn07CmV0PWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpvbU09YXN5bmMgZnVuY3Rpb24obil7aWYoZy5xaS55dEF0UCYmIWcubCgieXRhdHBfa3MiKSl7dmFyIFc9YXdhaXQgZy5xaS55dEF0UDtkZWxldGUgZy5xaS55dEF0UDt2YXIgRD1XPy5SO3ZhciBiPVc/LlQ7Vz11dDIoRCk7bGV0IGs9ISFiO24uSi5KKEQ/Vz9rPzc6MTA6az8xOjg6az8yOjksbi5XKyspO2lmKCFEfHxXKUQ9YXdhaXQgWHkobixxZShiLG51bGwpKSxEPUpTT04uc3RyaW5naWZ5KEQpO2cucWkueXRBdFJDP2cucWkueXRBdFJDKEQpOmcuR3EoRXJyb3IoInl0QXRSQyBub3QgZGVmaW5lZCBmb3IgeXRBdFAuIikpfWVsc2UgZy5xaS55dEF0UkM/Zy5WeCgwLGFzeW5jKCk9PntiPWcucWkueXRBdFQ7ZGVsZXRlIGcucWkueXRBdFQ7aWYoZy5xaS55dEF0UkMpe24uSi5KKDIsbi5XKyspO3ZhciBrPWF3YWl0IFh5KG4scWUoYixudWxsKSk7Zy5xaS55dEF0UkMmJmcucWkueXRBdFJDKEpTT04uc3RyaW5naWZ5KGspKX1lbHNlIG4uSi5KKDYsbi5XKyspfSwyLHYwKCJhdHRfaW5pdF9kZWxheSIsCjApKTooYj1nLnFpLnl0QXRULGRlbGV0ZSBnLnFpLnl0QXRULG4uSi5KKDEsbi5XKyspKTsKRD1hd2FpdCBFbXgoKTtELmJpbmRJbm5lcnR1YmVDaGFsbGVuZ2VGZXRjaGVyKGs9PntuLkouSigzLG4uVysrKTtyZXR1cm4gWHkobixxZShiLGspKX0pOwpELnJlZ2lzdGVyQ2hhbGxlbmdlRmV0Y2hlZENhbGxiYWNrKGs9PntrPWsuY2hhbGxlbmdlO2lmKCFrKXRocm93IEVycm9yKCJCR0VfTUFDUiIpO2s9e2NoYWxsZW5nZTprLFJSOldRKGspLE8xOnYsYmdDaGFsbGVuZ2U6bmV3IHIkfTtrPVByb21pc2UucmVzb2x2ZShrKTtuLk49a30pOwp2YXIgdj1hd2FpdCBnLk1oKGcuRDYoKSk7RD1ELmdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCkuY2hhbGxlbmdlO2lmKCFEKXRocm93IEVycm9yKCJCR0VfTUFDSUwiKTtyZXR1cm57Y2hhbGxlbmdlOkQsUlI6V1EoRCksTzE6dixiZ0NoYWxsZW5nZTpuZXcgciR9fTsKdGo9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9cWUodm9pZCAwLGckKCkuTik7dHJ5e3ZhciBEPWF3YWl0IGRmMihuLFcpfWNhdGNoKHgpe3JldHVybiBnLkdxKEVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggYXR0ZXN0YXRpb24gY2hhbGxlbmdlIGFmdGVyIDUgYXR0ZW1wdHM7IG5vdCByZXRyeWluZyBmb3IgMjRoLiIpKSxHMChuLDg2NEU1KSx7Y2hhbGxlbmdlOiIiLFJSOnt9LE8xOnZvaWQgMCxiZ0NoYWxsZW5nZTp2b2lkIDB9fVc9RC5RRjt2YXIgYj1ELlR0O0cwKG4sKE51bWJlcihiLnQpfHw3MjAwKSoxRTMpO249dm9pZCAwO2lmKCJjMWEiaW4gYiYmRC5iZ0NoYWxsZW5nZSl7RD1ELmJnQ2hhbGxlbmdlO3ZhciB2PW5ldyByJDtpZihELmludGVycHJldGVySmF2YXNjcmlwdCl7dmFyIGs9Tk4oRC5pbnRlcnByZXRlckphdmFzY3JpcHQpO2s9S2IoaykudG9TdHJpbmcoKTt2YXIgaD1uZXcgcXY7Zy5TRShoLDYsayk7JDkodixxdiwxLGgseFUpfWVsc2UgRC5pbnRlcnByZXRlclVybCYmCihrPXB3KEQuaW50ZXJwcmV0ZXJVcmwpLGs9eDMoaykudG9TdHJpbmcoKSxoPW5ldyBHSCxnLlNFKGgsNCxrKSwkOSh2LEdILDIsaCx4VSkpO0QuaW50ZXJwcmV0ZXJIYXNoJiZBUyh2LDMsRC5pbnRlcnByZXRlckhhc2gseFUpO0QucHJvZ3JhbSYmQVModiw0LEQucHJvZ3JhbSx4VSk7RC5nbG9iYWxOYW1lJiZBUyh2LDUsRC5nbG9iYWxOYW1lLHhVKTtELmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iJiZBUyh2LDcsRC5jbGllbnRFeHBlcmltZW50c1N0YXRlQmxvYix4VSk7dHJ5e2F3YWl0IHRxKGckKCksdil9Y2F0Y2goeCl7cmV0dXJuIGcuR3EoeCkse2NoYWxsZW5nZTpXLFJSOmIsTzE6bixiZ0NoYWxsZW5nZTp2fX10cnl7bj1uZXcgQXEoe2NoYWxsZW5nZTp2LHgzOntWajoiYUdJZiJ9fSksYXdhaXQgbi5Pdn1jYXRjaCh4KXtnLkdxKHgpLG49dm9pZCAwfX1yZXR1cm57Y2hhbGxlbmdlOlcsUlI6YixPMTpuLGJnQ2hhbGxlbmdlOnZ9fTsKWHk9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLlg7aWYoIUR8fEQuV0coKSlyZXR1cm4gJDUobixXKTtnLmdfKCJhdHRfcG5hIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBuZXcgUHJvbWlzZShiPT57RC5lRigicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PnskNShuLFcpLnRoZW4oYil9KX0pfTsKZGYyPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPXZvaWQgMCxiPTA7Yjw1Oyl7aWYoYj4wKXtsZXQgdj0xRTMqTWF0aC5wb3coMixiLTEpK01hdGgucmFuZG9tKCkqMUUzO2F3YWl0IG5ldyBQcm9taXNlKGs9PntnLmNCKDAsKCk9PntrKHZvaWQgMCl9LHYpfSl9dHJ5e24uSi5KKDQsbi5XKyspOwpsZXQgdj1hd2FpdCBYeShuLFcpO3JldHVybiB6YWkodil9Y2F0Y2godil7RD12LHYgaW5zdGFuY2VvZiBFcnJvciYmZy5HcSh2KX1iKyt9dGhyb3cgRDt9OwpHMD1mdW5jdGlvbihuLFcpe3ZhciBEPURhdGUubm93KCkrVyxiPWFzeW5jKCk9Pnt2YXIgdj1ELURhdGUubm93KCk7djwxRTM/YXdhaXQgbDlpKG4pOmcuY0IoMCxiLE1hdGgubWluKHYsNkU0KSl9OwpiKCl9OwokNT1hc3luYyBmdW5jdGlvbihuLFcpe2IwKDIpO3RyeXtsZXQgRD1hd2FpdCBYeShuLm5ldHdvcmssVyk7RD9ELmNoYWxsZW5nZSYmIUQuYmdDaGFsbGVuZ2U/YjAoMSk6YjAoNCk6YjAoMyk7cmV0dXJuIER9Y2F0Y2goRCl7YjAoMyl9fTsKemFpPWZ1bmN0aW9uKG4pe2lmKCFuKXRocm93IEVycm9yKCJGZXRjaGluZyBBdHRlc3RhdGlvbiBjaGFsbGVuZ2UgcmV0dXJuZWQgZmFsc3kiKTtpZighbi5jaGFsbGVuZ2UpdGhyb3cgRXJyb3IoIk1pc3NpbmcgQXR0ZXN0YXRpb24gY2hhbGxlbmdlIik7dmFyIFc9bi5jaGFsbGVuZ2UsRD1XUShXKTtpZigiYzFhImluIEQmJighbi5iZ0NoYWxsZW5nZXx8IW4uYmdDaGFsbGVuZ2UucHJvZ3JhbSkpdGhyb3cgRXJyb3IoIkV4cGVjdGVkIGJnIGNoYWxsZW5nZSBidXQgbWlzc2luZy4iKTtyZXR1cm57Li4ubixRRjpXLFR0OkR9fTsKbDlpPWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPWF3YWl0IFByb21pc2UucmFjZShbbi5OLG51bGxdKSxEPXRqKG4pO24uTj1EO1c/Lk8xPy5kaXNwb3NlKCl9OwpUR2g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IFByb21pc2UoRD0+e2cuY0IoMCwoKT0+e0QoVygpKX0sbil9KX07CnFlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e2VuZ2FnZW1lbnRUeXBlOiJFTkdBR0VNRU5UX1RZUEVfVU5CT1VORCJ9O24mJihELmVhY3JUb2tlbj1uKTtXJiYoRC5pbnRlcnByZXRlckhhc2g9Vyk7cmV0dXJuIER9Owp1dDI9ZnVuY3Rpb24obil7aWYoIW58fCFnLmwoInJvc2NhcyIpKXJldHVybiExO3RyeXt2YXIgVz1KU09OLnBhcnNlKG4pfWNhdGNoKEQpe3JldHVybiExfW49Vy5jaGFsbGVuZ2U7aWYoIW4pcmV0dXJuITE7Vz1XUShuKTtuPU51bWJlcihXLmMpfHx2b2lkIDA7Vz1OdW1iZXIoVy50KXx8NzIwMDtyZXR1cm4hIW4mJkRhdGUubm93KCk+KG4rVykqMUUzfTsKcmE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2Uobj0+e3ZhciBXPXdpbmRvdztXLmF0dG1wIT09dm9pZCAwP24oVy5hdHRtcCk6KFcuYXR0bXE9PT12b2lkIDAmJihXLmF0dG1xPVtdKSxXLmF0dG1xLnB1c2goRD0+e24oRCl9KSl9KX07CmcucGM9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKHNoKCkpe3ZhciBiPXdpbmRvdztyZXR1cm4gYi5hdHRtcCE9PXZvaWQgMD9iLmF0dG1wLnMobixXLEQpOihhd2FpdCByYSgpKS5zKG4sVyxEKX1yZXR1cm4oYj0oYj1nLnJyKCJ5dC5hYmEuYXR0IikpP2I6TmUuaW5zdGFuY2UhPT12b2lkIDA/TmUuaW5zdGFuY2UuZFEuYmluZChOZS5pbnN0YW5jZSk6bnVsbCk/YihuLFcsRCk6UHJvbWlzZS5yZXNvbHZlKHtlcnJvcjoiQVRURVNUQVRJT05fRVJST1JfQVBJX05PVF9SRUFEWSJ9KX07CmcuWTU9YXN5bmMgZnVuY3Rpb24oKXtpZihzaCgpKXJldHVybiB3aW5kb3cuYXR0bXA9PT12b2lkIDA/ITE6KGF3YWl0IHJhKCkpLmlyKCk7dmFyIG47cmV0dXJuKG49KG49Zy5ycigieXQuYWJhLmF0dDIiKSk/bjpOZS5pbnN0YW5jZSE9PXZvaWQgMD9OZS5pbnN0YW5jZS55Zi5iaW5kKE5lLmluc3RhbmNlKTpudWxsKT9uKCk6UHJvbWlzZS5yZXNvbHZlKCExKX07CnNoPWZ1bmN0aW9uKCl7cmV0dXJuKGcubCgiYXR0bXVzaSIpfHxnLmwoImF0dG11c2l3IikpJiZnLmwoImF0dG11c2lfdWUiKX07CkhRPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIik7RHx8KEQ9e30sZy5HYigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIixEKSk7aWYoZy5sKCJ3ZWJfZGRfaXUiKXx8anhTLmluY2x1ZGVzKG4pKURbbl09V307CkJHTT1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17Y29udGV4dDpnLnZiKCksc2V0dGluZ0l0ZW1JZDpXLG5ld1ZhbHVlOkR9O0Q9TEIoQ0diKTtuPWF3YWl0IGcucl8obixXLEQpO2lmKCFufHxuLmVycm9yTWV0YWRhdGEpbj9uLmVycm9yTWV0YWRhdGEmJmcuR3EobmV3IGcuUXgoYFNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAke24uZXJyb3JNZXRhZGF0YS5zdGF0dXN9YCkpOmcuR3EobmV3IGcuUXgoIlNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIGVtcHR5IHJlc3BvbnNlIikpfTsKRjRiPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtEPyhuLnZWKDIpLGlNKGZ3KEQpLCgpPT57aWYod2luZG93LnRyYXlyaWRlKWZjKG4sYix2KTtlbHNle24udlYoMyk7bGV0IGg9dU0oRCkseD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChoKTt4JiYoeUooaCkseC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHgpKTtnLkdxKG5ldyBnLlF4KCJCTDpVTEIiLGAke0R9YCkpfX0saykpOlc/KGs9Zy56RigiU0NSSVBUIiksVyBpbnN0YW5jZW9mIEFGPyhrLnRleHRDb250ZW50PUtiKFcpLE9NKGspKTprLnRleHRDb250ZW50PVcsay5ub25jZT1Taihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChrKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGspLHdpbmRvdy50cmF5cmlkZT9mYyhuLGIsdik6KG4udlYoNCksZy5HcShuZXcgZy5ReCgiQkw6VUxCSiIpKSkpOmcuR3EobmV3IGcuUXgoIkJMOlVMViIpKX07CmZjPWZ1bmN0aW9uKG4sVyxEKXtuLnZWKDUpO3ZhciBiPSEhbi5EYSYmd3loLmluY2x1ZGVzKGcuSVAobi5EYSl8fCIiKTt0cnl7bGV0IHY9bmV3IEFxKHtwcm9ncmFtOlcsZ2xvYmFsTmFtZToidHJheXJpZGUiLHgzOntkaXNhYmxlOiFnLmwoImF0dF93ZWJfcmVjb3JkX21ldHJpY3MiKXx8IWcubCgiYXR0X3NraXBfbWV0cmljc19mb3JfY29va2llbGVzc19kb21haW5zX2tzIikmJmIsVmo6ImFHSWYifX0pO3YuT3YudGhlbigoKT0+e24udlYoNik7RCYmRChXKX0pOwpuLk4odil9Y2F0Y2godil7bi52Vig3KSx2IGluc3RhbmNlb2YgRXJyb3ImJmcuR3Eodil9fTsKdmFyIE1DYj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDEsODEzOCxuLFcsRCl9OwpKaj1mdW5jdGlvbigpe3ZhciBuPWcucnIoInl0LmFidXNlLnBsYXllckF0dExvYWRlciIpO3JldHVybiBuJiZbImJndm1hIiwiYmd2bWIiLCJiZ3ZtYyJdLmV2ZXJ5KFc9PlcgaW4gbik/bjpudWxsfTsKUmFTPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDI6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiAyO2Nhc2UgMDpyZXR1cm4gMztjYXNlIDQ6Y2FzZSAzOnJldHVybiAxO2RlZmF1bHQ6Zy5wYihuLCJ1bmtub3duIHJlc3VsdCB0eXBlIil9fTsKZy5JYT1mdW5jdGlvbihuKXtyZXR1cm4gbj8ubGF5b3V0SWQhPW51bGwmJm4/LmxheW91dFR5cGUhPW51bGx9OwpnLlo2PWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuU3QpfHxnLncobixnLkFqKXx8Zy53KG4sZy5tMil8fGcudyhuLGcuS2MpfHxnLncobixnLk9oKXx8Zy53KG4sZy5QUSk/ITA6ITF9OwpnLnUwPWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuVWgpfHxnLncobixnLnlWKXx8Zy53KG4sUXhNKXx8Zy53KG4sZy5FaCl8fGcudyhuLGcuaTApPyEwOiExfTsKZy56MD1mdW5jdGlvbihuKXtyZXR1cm4gZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpP2cudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5vYSl8fGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5kYSk/ITA6ITE6ITF9OwpnLmwwPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclZhcnMhPT12b2lkIDAmJm4ucGluZ3MhPT12b2lkIDAmJm4uZXh0ZXJuYWxWaWRlb0lkIT09dm9pZCAwfTsKZy5NZT1mdW5jdGlvbihuKXtpZighZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpKXJldHVybiExO249bi5yZW5kZXJpbmdDb250ZW50O3ZhciBXPWcudyhuLGcuVDApO3JldHVybiBXP2cuanQoVyk6KFc9Zy53KG4sZy5DYykpP2cubDAoVyk6KFc9Zy53KG4sZy5CUSkpP1cucGxheWVyVmFycyE9PXZvaWQgMDooVz1nLncobixnLlVoKSk/Vy5kdXJhdGlvbk1pbGxpc2Vjb25kcyE9PXZvaWQgMDpnLncobixnLkZ5KXx8Zy53KG4sZy53YSk/ITA6ITF9OwpnLmp0PWZ1bmN0aW9uKG4pe249KG4uc2VxdWVudGlhbExheW91dHN8fFtdKS5tYXAoVz0+Zy53KFcsZy5SYSkpOwpyZXR1cm4gbi5sZW5ndGg+MCYmbi5ldmVyeShnLk1lKX07CmcuVlY9ZnVuY3Rpb24obil7cmV0dXJuIGcuSWEobi5hZExheW91dE1ldGFkYXRhKT8obj1nLncobi5yZW5kZXJpbmdDb250ZW50LGcuUVYpKSYmbi5waW5ncz8hMDohMTohMX07CmcuRHE9ZnVuY3Rpb24obil7aWYoIWcuSWEobi5hZExheW91dE1ldGFkYXRhKSlyZXR1cm4hMTtpZihnLncobi5yZW5kZXJpbmdDb250ZW50LGcuY1EpfHxnLncobi5yZW5kZXJpbmdDb250ZW50LGcub2EpKXJldHVybiEwO3ZhciBXPWcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5hYSk7cmV0dXJuIGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5uaSl8fGcudyhXPy5zaWRlUGFuZWwsVkMyKXx8Zy53KFc/LnNpZGVQYW5lbCxnLlckKXx8Zy53KFc/LnNpZGVQYW5lbCxjM2gpPyEwOiExfTsKZy5nTT1mdW5jdGlvbihuKXt2YXIgVzsoVz0hbil8fChXPW4uYWRTbG90TWV0YWRhdGEsVz0hKFc/LnNsb3RJZCE9PXZvaWQgMCYmVz8uc2xvdFR5cGUhPT12b2lkIDApKTtpZihXfHwhKGcuYloobil8fG4uc2xvdEVudHJ5VHJpZ2dlciYmbi5zbG90RnVsZmlsbG1lbnRUcmlnZ2VycyYmbi5zbG90RXhwaXJhdGlvblRyaWdnZXJzKSlyZXR1cm4hMTtuPW4uZnVsZmlsbG1lbnRDb250ZW50Py5mdWxmaWxsZWRMYXlvdXQ7cmV0dXJuKFc9Zy53KG4sZy5SYSkpP2cuTWUoVyk6KFc9Zy53KG4sZy52JCkpP2cuRHEoVyk6KFc9Zy53KG4sZy5reikpP2cudTAoVyk6KFc9Zy53KG4sZy5oWCkpP2cuWjYoVyk6KFc9Zy53KG4sZy54eikpP2cuSWEoVy5hZExheW91dE1ldGFkYXRhKT9nLncoVy5yZW5kZXJpbmdDb250ZW50LGcuU3QpPyEwOiExOiExOihXPWcudyhuLGcuTGkpKT9nLlZWKFcpOihuPWcudyhuLGcuZTIpKT9nLnowKG4pOiExfTsKZy5iWj1mdW5jdGlvbihuKXtyZXR1cm4obj1nLncobi5mdWxmaWxsbWVudENvbnRlbnQ/LmZ1bGZpbGxlZExheW91dCxnLnYkKSkmJm4uYWRMYXlvdXRNZXRhZGF0YT8ubGF5b3V0VHlwZT09PSJMQVlPVVRfVFlQRV9QQU5FTF9RUl9DT0RFIiYmbi5sYXlvdXRFeGl0Tm9ybWFsVHJpZ2dlcnM9PT12b2lkIDB9OwphOXI9ZnVuY3Rpb24obil7Zm9yKGxldCBXIG9mIG58fFtdKXtuPWcudyhXLGcuWEcpO2lmKG49PT12b2lkIDB8fCFnLmdNKG4pKWJyZWFrO2lmKChuPWcudyhuLmZ1bGZpbGxtZW50Q29udGVudD8uZnVsZmlsbGVkTGF5b3V0LGcuTGkpKSYmZy5WVihuKSlyZXR1cm4hMH1yZXR1cm4hMX07CnE0PWZ1bmN0aW9uKG4pe2lmKCFufHwhbi5hZFBsYWNlbWVudHMmJiFuLmFkU2xvdHMpcmV0dXJuITE7Zm9yKGxldCBXIG9mIG4uYWRQbGFjZW1lbnRzfHxbXSl7aWYoIVcpY29udGludWU7bGV0IEQ9Vy5hZFBsYWNlbWVudFJlbmRlcmVyO2lmKEQhPW51bGwmJihELmNvbmZpZyYmRC5jb25maWcuYWRQbGFjZW1lbnRDb25maWcmJkQuY29uZmlnLmFkUGxhY2VtZW50Q29uZmlnLmtpbmQpPT09IkFEX1BMQUNFTUVOVF9LSU5EX1NUQVJUIilyZXR1cm4hMH1mb3IobGV0IFcgb2Ygbi5hZFNsb3RzfHxbXSlpZihnLncoVyxnLlhHKT8uYWRTbG90TWV0YWRhdGE/LnRyaWdnZXJFdmVudD09PSJTTE9UX1RSSUdHRVJfRVZFTlRfQkVGT1JFX0NPTlRFTlQiKXJldHVybiEwO3JldHVybiExfTsKbm4xPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Vz9XLmlzVHJ1c3RlZD09PSEwP0QucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRCIpOlcuaXNUcnVzdGVkPT09ITE/RC5wdXNoKCJCSVNDT1RUSV9CQVNFRF9ERVRFQ1RJT05fU1RBVEVfQVNfU0VFS19FVkVOVF9OT1RfVFJVU1RFRCIpOkQucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRF9QUk9QRVJUWV9VTkRFRklORUQiKTpELnB1c2goIkJJU0NPVFRJX0JBU0VEX0RFVEVDVElPTl9TVEFURV9BU19TRUVLX0VWRU5UX1VOREVGSU5FRCIpO2cuR0MoMCwiYS5zXyIse21ldGFkYXRhOm4sc3RhdGVzOkR9KTtnLlNIKCJBU0RTVEFUIiwwKX07CmcuR0M9ZnVuY3Rpb24obixXLEQpe1c9V0RDW1ddO3ZhciBiPXtkZXRlY3RlZDpuPT09MCxzb3VyY2U6YCR7Vy5KfSR7RC50cmlnZ2VyQ29udGV4dD8/IiJ9JHtELk0zPz8iIn1gLGRldGVjdGlvblN0YXRlczpELnN0YXRlcyxkdXJhdGlvbk1zOkQuRXd9O0QubWV0YWRhdGEmJihiLmNvbnRlbnRDcG49RC5tZXRhZGF0YS5jb250ZW50Q3BuLGIuYWRDcG49RC5tZXRhZGF0YS5hZENwbik7Zy56VSgiYmlzY290dGlCYXNlZERldGVjdGlvbiIsYik7Vy5OIT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpLFcuTiE9PXZvaWQgMD8oVz1XLk4sbj1SYVMobiksbj1EJn4oMzw8Vyl8bjw8Vyk6bj1ELGcuU0goIkNBVFNUQVQiLG4pKX07CnRYPWZ1bmN0aW9uKG4sVyl7bj1uLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKWlmKG5bRF0uc2NvcGU9PT1XKXJldHVybiBuW0RdLnRva2VufHx2b2lkIDB9OwpnLk40PWZ1bmN0aW9uKG4pe3ZhciBXPWcudyhuLCR6KTtpZihXKXJldHVybiBXO2lmKChXPWcudyhuLERZcikpJiZXLmNvbW1hbmRzKXJldHVybiByTShXLmNvbW1hbmRzKTtpZigoVz1nLncobixiOGIpKSYmVy5jb21tYW5kcylyZXR1cm4gck0oVy5jb21tYW5kcyk7aWYoKG49Zy53KG4sdm5NKSkmJm4uaWRlbnRpZmllciYmbi5jb21tYW5kJiYoczN8fChzMz1bXSksIXMzLmluY2x1ZGVzKG4uaWRlbnRpZmllcikpKXJldHVybiBzMy5wdXNoKG4uaWRlbnRpZmllciksZy53KG4uY29tbWFuZCwkeil9OwpyTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aCE9PTApe3ZhciBXPVtdO2ZvcihsZXQgRCBvZiBuKShuPWcuTjQoRCkpJiZXLnB1c2gobik7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOld9fX19OwpwaT1mdW5jdGlvbihuKXtpZihuJiZuLnNpbXBsZVRleHQpcmV0dXJuIG4uc2ltcGxlVGV4dDt2YXIgVz0iIjtpZihuJiZuLnJ1bnMpZm9yKGxldCBEPTA7RDxuLnJ1bnMubGVuZ3RoO0QrKyluLnJ1bnNbRF0udGV4dCYmKFcrPW4ucnVuc1tEXS50ZXh0KTtyZXR1cm4gV307Cll6PWZ1bmN0aW9uKG4pe3JldHVybiBuP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChXKXtnLlhqKFcpfX06bn07CmZpPWZ1bmN0aW9uKCl7SCQuaW5zdGFuY2V8fChIJC5pbnN0YW5jZT1uZXcgSCQpO3JldHVybiBIJC5pbnN0YW5jZX07CklmPWZ1bmN0aW9uKCl7SlguaW5zdGFuY2V8fChKWC5pbnN0YW5jZT1uZXcgSlgpO3JldHVybiBKWC5pbnN0YW5jZX07Cm1VPWZ1bmN0aW9uKG4sVyxELGI9e30pe1BWKCgpPT57a3ZNLmluY2x1ZGVzKFcpfHwoZy5HcShuZXcgZy5ReCgiY3JlYXRlQ2xpZW50U2NyZWVuKCkgY2FsbGVkIHdpdGggYSBub24tcGFnZSBWRSIsVykpLFc9ODM3NjkpO2lmKCFiLmlzSGlzdG9yeU5hdmlnYXRpb24pe2xldCB2PWIubGF5ZXJ8fDA7bi5UQy5zZXQodixbXSk7UzIobix2KS5wdXNoKHtyb290VmU6VyxrZXk6Yi5rZXl8fCIifSl9bi5EPVtdO24uTz1bXTtiLlVBP2hqdChuLFcsRCxiKTpBWChuLFcsRCxiKX0pKCl9OwpTMj1mdW5jdGlvbihuLFcpe24uSy5oYXMoVyl8fG4uSy5zZXQoVyxbXSk7cmV0dXJuIG4uSy5nZXQoVyl9OwpoanQ9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5OLmFkZChiLmxheWVyfHwwKTtuLmo9KCk9PntBWChuLFcsRCxiKTt2YXIgdj13NChiLmxheWVyKTtpZih2KXtsZXQgaz1nLlJ2KGIubGF5ZXIpO2ZvcihsZXQgaCBvZiBuLkQpe2xldCB4PWhbMF0sTD1oWzFdfHx2O2s/S2kobix4LEwsYi5sYXllcixrKTpPMyhuLHgsTCxiLmxheWVyKX1mb3IobGV0IGggb2Ygbi5PKVAkKG4saFswXSxoWzFdKX19OwpEfHxnLlJ2KGIubGF5ZXIpfHxuLmooKTtpZihiLlVBKWZvcihsZXQgdiBvZiBiLlVBKXhZYihuLHYsYi5sYXllcik7ZWxzZSBnLlhqKEVycm9yKCJEZWxheWVkIHNjcmVlbiBuZWVkcyBhIGRhdGEgcHJvbWlzZS4iKSl9OwpBWD1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj12b2lkIDA7Yi5sYXllcnx8KGIubGF5ZXI9MCk7dj1iLnBhcmVudExheWVyIT09dm9pZCAwP2IucGFyZW50TGF5ZXI6Yi5sYXllcjt2YXIgaz1nLlJ2KHYpO3Y9dzQodik7dmFyIGg9RHx8dix4O2gmJihiLnBhcmVudENzbiE9PXZvaWQgMD94PXtjbGllbnRTY3JlZW5Ob25jZTpiLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmsmJmshPT0iVU5ERUZJTkVEX0NTTiImJih4PXtjbGllbnRTY3JlZW5Ob25jZTprLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgTCxlPWcuQXIoIkVWRU5UX0lEIik7az09PSJVTkRFRklORURfQ1NOIiYmZSYmKEw9e3NlcnZsZXREYXRhOntzZXJpYWxpemVkU2VydmxldEV2ZW50SWQ6ZX19KTtnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikmJmsmJlpxKG4sayk7Zy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZrJiZkSyhoLGspO3RyeXt2YXIgRz1nOWkobi5jbGllbnQsVyx4LGIuTDgsCmIuY3R0QXV0aEluZm8sTCxiLmltcGxpY2l0R2VzdHVyZVR5cGUsYi5sb2dnaW5nRXhwZWN0YXRpb25zLGIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKE4pe0s0KE4se2w3Olcscm9vdFZlOnYsSTc6RCxsQTprLGdQOngsTDg6Yi5MOH0pO2cuWGooTik7cmV0dXJufWNzKEcsVyxiLmxheWVyLGIuY3R0QXV0aEluZm8pO2smJmshPT0iVU5ERUZJTkVEX0NTTiImJnYmJiF3SEMoaykmJihUcShuLmNsaWVudCxrLHYsITApLG4uSi5kZWxldGUoaykpO1c9UzIobixiLmxheWVyfHwwKTtXLmxlbmd0aD4wJiYhV1tXLmxlbmd0aC0xXS5jc24mJihXW1cubGVuZ3RoLTFdLmNzbj1HfHwiIik7Zy5ubCh7Y2xpZW50U2NyZWVuTm9uY2U6R30pO1UzLmluc3RhbmNlfHwoVTMuaW5zdGFuY2U9bmV3IFUzKTtQVihmaSgpLk4pLmJpbmQoZmkoKSkoKTt2YXIgcj13NChiLmxheWVyKTtrJiZrIT09IlVOREVGSU5FRF9DU04iJiZyJiZnLmwoIm11c2ljX3dlYl9tYXJrX3Jvb3RfdmlzaWJsZSIpJiYKRmooRyxyKTtuLk4uZGVsZXRlKGIubGF5ZXJ8fDApO24uaj12b2lkIDA7bi5TJC5nZXQoYi5sYXllcik/LmZvckVhY2goKE4sSCk9PntOP08zKG4sSCxOLGIubGF5ZXIpOnImJk8zKG4sSCxyLGIubGF5ZXIpfSk7CkxEWihuKX07CnhZYj1mdW5jdGlvbihuLFcsRD0wKXtQVigoKT0+e1cudGhlbihiPT57bi5OLmhhcyhEKSYmbi5qJiZuLmooKTt2YXIgdj1nLlJ2KEQpLGs9dzQoRCk7aWYodiYmayl7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2I/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpO2I/LnBsYXllclJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07CktpPWZ1bmN0aW9uKG4sVyxELGI9MCx2KXtuLkouaGFzKHYpfHxuLkouc2V0KHYsbmV3IFNldCk7dmFyIGs9RHx8dzQoYik7az1gJHtXLnRvU3RyaW5nKCl9fCR7az9rLnRvU3RyaW5nKCk6IiJ9YDtuLkouZ2V0KHYpLmhhcyhrKXx8KE8zKG4sVyxELGIpLG4uSi5nZXQodikuYWRkKGspKX07Ck8zPWZ1bmN0aW9uKG4sVyxELGI9MCl7cmV0dXJuIFBWKCgpPT57aWYobi5OLmhhcyhiKSlyZXR1cm4gbi5ELnB1c2goW1csRF0pLCEwO3ZhciB2PWcuUnYoYiksaz1EfHx3NChiKTtpZih2JiZrKXtpZihnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikpe2xldCBoPW4uWC5nZXQoay50b1N0cmluZygpKTtoP2gucHVzaChXKToobi5ZLnNldChrLnRvU3RyaW5nKCksayksbi5YLnNldChrLnRvU3RyaW5nKCksW1ddKSk7bi50d3x8KG4udHc9Zy5jQigwLCgpPT57WnEobix2KX0sMTIwMCkpfWVsc2UgdWcobi5jbGllbnQsdixrLFcpOwpyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpnLnlyPWZ1bmN0aW9uKG4pe3ZhciBXPUlmKCk7UFYoKCk9Pnt2YXIgRD1UVShuKSxiPWcuUnYoMCk7YiYmIVcuTi5oYXMoMCk/S2koVyxELHZvaWQgMCwwLGIpOk8zKFcsRCx2b2lkIDAsMCk7cmV0dXJuIER9KSgpfTsKZWp3PWZ1bmN0aW9uKG4pe3ZhciBXPXt2ZVR5cGU6MjUzMjQ2fTtyZXR1cm4gUFYoKCk9PntpZighVy52ZVR5cGUpcmV0dXJuIGcucWcobmV3IGcuUXgoIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihXLnZpc2liaWxpdHlUeXBlcyl7dmFyIEQ9Vy52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChiLHYpPT5ifHYpOwpEPXt2aXNpYmlsaXR5Ont0eXBlczpTdHJpbmcoRCl9fX1EPWp5KFcudmVUeXBlLFcudmlzdWFsRWxlbWVudCxXLmVsZW1lbnRJbmRleCxXLmNsaWVudFlvdVR1YmVEYXRhLHZvaWQgMCxEKTtyZXR1cm4gTzMobixEKT9EOm51bGx9KSgpfTsKWnE9ZnVuY3Rpb24obixXKXtpZihXPT09dm9pZCAwKXtsZXQgRD1CZ3IoKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKylEW2JdIT09dm9pZCAwJiZacShuLERbYl0pfWVsc2Ugbi5YLmZvckVhY2goKEQsYik9PnsoYj1uLlkuZ2V0KGIpKSYmaWcobi5jbGllbnQsVyxiLEQpfSksbi5YLmNsZWFyKCksbi5ZLmNsZWFyKCksbi50dz12b2lkIDB9Owpnblo9ZnVuY3Rpb24obixXLEQsYj0wKXtpZighVylyZXR1cm4hMTtiPWcuUnYoYik7aWYoIWIpcmV0dXJuITE7amkobi5jbGllbnQsYixUVShXKSxEKTtyZXR1cm4hMH07ClAkPWZ1bmN0aW9uKG4sVyxELGI9MCl7dmFyIHY9Zy5SdihiKTtXPVd8fHc0KGIpO3YmJlcmJihuPW4uY2xpZW50LGI9UGEoe2N0dEF1dGhJbmZvOlE0KHYpfHx2b2lkIDB9LHYpLEQ9e2Nzbjp2LHZlOlcuZ2V0QXNKc29uKCksY2xpZW50RGF0YTpEfSx2PT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixELGIpKX07CkxEWj1mdW5jdGlvbihuKXtmb3IodmFyIFc9MDtXPG4uVi5sZW5ndGg7VysrKXt2YXIgRD1uLlZbV107dHJ5e0QoKX1jYXRjaChiKXtnLlhqKGIpfX1uLlYubGVuZ3RoPTA7Zm9yKFc9MDtXPG4uY0oubGVuZ3RoO1crKyl7RD1uLmNKW1ddO3RyeXtEKCl9Y2F0Y2goYil7Zy5YaihiKX19fTsKaVo9ZnVuY3Rpb24oKXtFMy5pbnN0YW5jZXx8KEUzLmluc3RhbmNlPW5ldyBFMyk7cmV0dXJuIEUzLmluc3RhbmNlfTsKWE9iPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgWE1MSHR0cFJlcXVlc3Q7RD8ubGcmJihiLm9ucmVhZHlzdGF0ZWNoYW5nZT12PT57RC5sZyhiLHYpfSk7CmIub3BlbihXLm1ldGhvZD8/IkdFVCIsbiwhMCk7Yi5yZXNwb25zZVR5cGU9InRleHQiO2Iud2l0aENyZWRlbnRpYWxzPSEwO2lmKFcuaGVhZGVycylmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMoVy5oZWFkZXJzKSliLnNldFJlcXVlc3RIZWFkZXIodixrKTtyZXR1cm4gYn07CnFmUz1mdW5jdGlvbigpe3ZhciBuPW5hdmlnYXRvcjtyZXR1cm4gbmV3IFByb21pc2UoKFcsRCk9PntuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YT9uLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2UucXVlcnlVc2FnZUFuZFF1b3RhKChiLHYpPT57Vyh7dXNhZ2U6YixxdW90YTp2fSl9LGI9PntEKGIpfSk6RChFcnJvcigid2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkLiIpKX0pfTsKdDZDPWZ1bmN0aW9uKG4sVyl7R3ZVKG4ucHJvZ3JhbSxXLkQzKSYmKGcuZ18oImJnX2kiLHZvaWQgMCwicGxheWVyX2F0dCIpLGcudVouaW5pdGlhbGl6ZShuLCgpPT57Zy5nXygiYmdfbCIsdm9pZCAwLCJwbGF5ZXJfYXR0Iik7b2Y9KDAsZy5SKSgpfSxXLmNzcE5vbmNlLFcuRGEpKX07CnZhciAkWWo9ZnVuY3Rpb24oKXtyZXR1cm4gSjRbSVsxMF1dKHRoaXMsMTYsNDYyNil9OwpyOVM9ZnVuY3Rpb24obj17fSl7cmV0dXJuIGcudVouaW52b2tlKG4pfTsKR3ZVPWZ1bmN0aW9uKG4sVyl7aWYobil7dmFyIEQ7Zy51Wi5pc0xvYWRpbmcoKT9EPSExOkQ9IW9mfHwoMCxnLlIpKCktb2Y+VztuPUR9ZWxzZSBuPSExO3JldHVybiBufTsKc18yPWZ1bmN0aW9uKG4sVyl7aWYoVy5wYXJ0bmVySWQ9PT0zOCYmbi5wbGF5ZXJTdHlsZT09PSJib29rcyIpe3ZhciBEPVcudmlkZW9JZC5pbmRleE9mKCI6Iik7bj1XLnZpZGVvSWQuc2xpY2UoMCxEKTtEPVcudmlkZW9JZC5zbGljZShEKzEpO3JldHVybiBnLkVUKGAvL3BsYXkuZ29vZ2xlLmNvbS9ib29rcy92b2x1bWVzLyR7bn0vY29udGVudC9tZWRpYWAse2FpZDpELHNpZzpXLnlkfSl9aWYoVy5wYXJ0bmVySWQ9PT0zMCYmbi5wbGF5ZXJTdHlsZT09PSJkb2NzIilyZXR1cm4gZy5FVCgiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZ2V0X3ZpZGVvX2luZm8iLHtkb2NpZDpXLnZpZGVvSWQsYXV0aHVzZXI6Vy5rcCxhdXRoa2V5OlcudkYsZXVybDpuLlFyfSk7aWYoVy5wYXJ0bmVySWQ9PT0zMyYmbi5wbGF5ZXJTdHlsZT09PSJnb29nbGUtbGl2ZSIpcmV0dXJuIGcuRVQoIi8vZ29vZ2xlLWxpdmVwbGF5ZXIuYXBwc3BvdC5jb20vZ2V0X3ZpZGVvX2luZm8iLHtrZXk6Vy52aWRlb0lkfSk7CnRocm93IEVycm9yKCJnZXRWaWRlb0luZm9VcmwgZm9yIGludmFsaWQgbmFtZXNwYWNlOiAiK24uVik7fTsKTlFpPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O24uY0wmJihXLnl0cmV4dD1uLmNMKTtyZXR1cm4gZy5HRihXKT92b2lkIDA6V307CmcuekM9ZnVuY3Rpb24obixXKXt0NkMobix7RDM6Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIiksY3NwTm9uY2U6Vy5jc3BOb25jZSxEYTpXLkRhfHwiIn0pfTsKZy5sWj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YSYmbi52aWRlb0RhdGEucEspe2xldCBXPVtuLnZpZGVvRGF0YS5wS107Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uTikpaWYobi5SUltEXSYmbi5OW0RdKXtsZXQgYj1uLk5bRF0obi5SUik7YiYmVy5wdXNoKGIpfXJldHVybiBXLmpvaW4oIiYiKX1yZXR1cm4gbnVsbH07CmcuVEM9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobilmb3IobGV0IFtiLHZdb2YgT2JqZWN0LmVudHJpZXMobikpe249Yjt2YXIgRD12O2lmKEQ9PT12b2lkIDApY29udGludWU7RD10eXBlb2YgRD09PSJib29sZWFuIj9gJHsrRH1gOmAke0R9YC5yZXBsYWNlKC9bOiw9XS9nLCJfIik7Vy5wdXNoKGAke259LiR7RH1gKX1yZXR1cm4gVy5qb2luKCI7Iil9OwpqMj1mdW5jdGlvbihuKXtyZXR1cm4gbj09PTF8fG49PT0yfTsKQiQ9ZnVuY3Rpb24obixXPTApe2lmKG4gaW5zdGFuY2VvZiBnLkNpKXJldHVybiBuO249biYmbiBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYCR7bn1gKTtqMihXKT9nLlhqKG4pOmcuR3Eobik7cmV0dXJuIG5ldyBnLkNpKFc9PT0xPyJwbGF5ZXIuZmF0YWxleGNlcHRpb24iOiJwbGF5ZXIuZXhjZXB0aW9uIix7bmFtZTpgJHtuLm5hbWV9YCxtZXNzYWdlOmAke24ubWVzc2FnZX1gfSxXKX07Ckg4cj1mdW5jdGlvbihuLFcpe1FBKG4sMixXLkNuLEZHLDMpO1FBKG4sMyxXLmlubmVydHViZVJlcXVlc3QscE9pLDMpO2cuRmEobiw0LFcub25lc2llVXN0cmVhbWVyQ29uZmlnKTtnLkZhKG4sOSxXLkJ4KTtRQShuLDEwLFcubUgsd00sMyk7UUEobiwxNSxXLnJlbG9hZFBsYXliYWNrUGFyYW1zLFlmaSwzKTtnLlJ3KG4sMTgsVy5Vayl9OwpRcj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLmZvcm1hdElkLE00LDMpO0NSKG4sMixXLnN0YXJ0VGltZU1zKTtDUihuLDMsVy5kdXJhdGlvbk1zKTtDUihuLDQsVy5BQyk7Q1Iobiw1LFcuaTkpO1FBKG4sOSxXLmo2LGY4QywzKTtRQShuLDExLFcuQUYsUmYsMSk7UUEobiwxMixXLkVqLFJmLDEpfTsKSjliPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy52aWRlb0lkKTtDUihuLDIsVy5sbXQpfTsKZjhDPWZ1bmN0aW9uKG4sVyl7aWYoVy5Geilmb3IobGV0IEQ9MDtEPFcuRnoubGVuZ3RoO0QrKylRQShuLDEsVy5GeltEXSxKOWIsMyl9OwpNND1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLml0YWcpO0NSKG4sMixXLmxtdCk7Zy5SdyhuLDMsVy54dGFncyl9OwpWcj1mdW5jdGlvbihuKXtyZXR1cm57aXRhZzpQRyhuLDEpLGxtdDpQRyhuLDIpLHh0YWdzOkV4KG4sMyl9fTsKUmY9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5zdGFydFRpY2tzKTtDUihuLDIsVy5sOCk7Q1IobiwzLFcudGltZXNjYWxlKX07CmMkPWZ1bmN0aW9uKG4pe3JldHVybntzdGFydFRpY2tzOlBHKG4sMSksbDg6UEcobiwyKSx0aW1lc2NhbGU6UEcobiwzKX19OwpJOGo9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5kZWZhdWx0UG9saWN5KTtDUihuLDIsVy5zbW9vdGgpO0NSKG4sMyxXLnZpc2liaWxpdHkpO0NSKG4sNCxXLk9iKTtDUihuLDUsVy5wZXJmb3JtYW5jZSk7Q1Iobiw2LFcuc3BlZWQpfTsKQTlTPWZ1bmN0aW9uKG4sVyl7aWYoVy5hdXRob3JpemVkRm9ybWF0cylmb3IobGV0IEQ9MDtEPFcuYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoO0QrKylRQShuLDEsVy5hdXRob3JpemVkRm9ybWF0c1tEXSxTZmosMSk7Zy5GYShuLDIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpfTsKU2ZqPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudHJhY2tUeXBlKTtCRyhuLDIsVy5pc0hkcil9OwpGRz1mdW5jdGlvbihuLFcpe0NSKG4sMTMsVy50aW1lU2luY2VMYXN0TWFudWFsRm9ybWF0U2VsZWN0aW9uTXMpO3ZhciBEPVcubGFzdE1hbnVhbERpcmVjdGlvbjtEIT09dm9pZCAwJiYoajUobiwxMTIpLGo1KG4sRDw8MV5EPj4zMSkpO0NSKG4sMTYsVy5pSCk7Q1IobiwxNyxXLmRldGFpbGVkTmV0d29ya1R5cGUpO0NSKG4sMTgsVy5zQSk7Q1IobiwxOSxXLllBKTtDUihuLDIxLFcuVE4pO0NSKG4sMjMsVy5JJCk7Q1IobiwyOCxXLm5SKTtDUihuLDI5LFcubHEpO0NSKG4sMzQsVy52aXNpYmlsaXR5KTtEPVcucGxheWJhY2tSYXRlO2lmKEQhPT12b2lkIDApe3ZhciBiPW5ldyBBcnJheUJ1ZmZlcig0KTsobmV3IEZsb2F0MzJBcnJheShiKSlbMF09RDtEPShuZXcgVWludDMyQXJyYXkoYikpWzBdO2lmKEQhPT12b2lkIDApZm9yKGo1KG4sMjg1KSxUNihuLDQpLGI9MDtiPDQ7KW4udmlldy5zZXRVaW50OChuLnBvcyxEJjI1NSksRD4+PTgsbi5wb3MrPTEsYis9MX1DUihuLDM2LFcuZnEpOwpRQShuLDM4LFcubWVkaWFDYXBhYmlsaXRpZXMsbVl3LDMpO0NSKG4sMzksVy5aSSk7Q1Iobiw0MCxXLllmKTtDUihuLDQ0LFcucGxheWVyU3RhdGUpO0JHKG4sNDYsVy5FYik7Q1Iobiw0OCxXLmo0KTtDUihuLDUwLFcua0UpO0NSKG4sNTEsVy5VbSk7Q1Iobiw1NCxXLkc3KTtpZihXLnlLKWZvcihEPTA7RDxXLnlLLmxlbmd0aDtEKyspQ1Iobiw1NSxXLnlLW0RdKTtCRyhuLDU2LFcuWkMpO0NSKG4sNTcsVy5YRCk7Qkcobiw1OCxXLmJ2KTtDUihuLDU5LFcublMpO0NSKG4sNjAsVy5HRik7Qkcobiw2MSxXLmlzUHJlZmV0Y2gpO0NSKG4sNjIsVy5TZik7Zy5GYShuLDYzLFcuc2FickxpY2Vuc2VDb25zdHJhaW50KTtDUihuLDY0LFcuazgpO0NSKG4sNjYsVy5WWCk7Q1Iobiw2NyxXLkJaKTtDUihuLDY4LFcucDYpO2cuUncobiw2OSxXLmF1ZGlvVHJhY2tJZCk7Qkcobiw3MSxXLnIwKTtRQShuLDcyLFcuTk8sSThqLDEpO0NSKG4sNzMsVy5pQik7Q1Iobiw3NCxXLllzKTtDUihuLDc1LFcuZXEpOwpDUihuLDc2LFcucU0pO1FBKG4sNzksVy5rYyxBOVMsMyk7Q1Iobiw4MCxXLkokKTtCRyhuLDg1LFcudXEpfTsKbVl3PWZ1bmN0aW9uKG4sVyl7aWYoVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllcylmb3IodmFyIEQ9MDtEPFcudmlkZW9Gb3JtYXRDYXBhYmlsaXRpZXMubGVuZ3RoO0QrKylRQShuLDEsVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllc1tEXSxLRDEsMSk7aWYoVy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcylmb3IoRD0wO0Q8Vy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcy5sZW5ndGg7RCsrKVFBKG4sMixXLmF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzW0RdLE84TSwxKTtRQShuLDQsVy5wZXJQbGF5YmFja0F0dHJpYnV0ZXMsUDZTLDMpO0NSKG4sNSxXLmhkck1vZGVCaXRtYXNrKX07CnZhciBaODE9ZnVuY3Rpb24oKXtyZXR1cm4gZzdbSVsxMF1dKHRoaXMsNDEsODk3NSl9Owp2YXIgS0QxPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudmlkZW9Db2RlYyk7QkcobiwyLFcuZWZmaWNpZW50KTtDUihuLDMsVy5tYXhIZWlnaHQpO0NSKG4sNCxXLm1heFdpZHRoKTtDUihuLDExLFcubWF4RnJhbWVyYXRlKTtDUihuLDEyLFcubWF4Qml0cmF0ZUJwcyk7QkcobiwxNSxXLmlzMTBCaXRTdXBwb3J0ZWQpfSxPOE09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5hdWRpb0NvZGVjKTsKQ1IobiwyLFcubnVtQ2hhbm5lbHMpO0NSKG4sMyxXLm1heEJpdHJhdGVCcHMpO0NSKG4sNixXLnNwYXRpYWxDYXBhYmlsaXR5Qml0bWFzayl9Owp2YXIgVVloPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDUxLDIyNDksbixXKX07ClA2Uz1mdW5jdGlvbihuLFcpe2lmKFcuaXRhZ0RlbnlsaXN0KWZvcihsZXQgRD0wO0Q8Vy5pdGFnRGVueWxpc3QubGVuZ3RoO0QrKylDUihuLDEsVy5pdGFnRGVueWxpc3RbRF0pfTsKd009ZnVuY3Rpb24obixXKXtRQShuLDEsVy5jbGllbnRJbmZvLHk5dCwzKTtnLkZhKG4sMixXLmROKTtnLkZhKG4sMyxXLnBsYXliYWNrQ29va2llKTtnLkZhKG4sNCxXLkJ4KTtpZihXLnJxKWZvcih2YXIgRD0wO0Q8Vy5ycS5sZW5ndGg7RCsrKVFBKG4sNSxXLnJxW0RdLEVuMiwzKTtpZihXLnV0KWZvcihEPTA7RDxXLnV0Lmxlbmd0aDtEKyspQ1Iobiw2LFcudXRbRF0pO2cuUncobiw3LFcucEcpO1FBKG4sOCxXLnEkLGk4VSwzKX07CnVmTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLlN6KTtDUihuLDIsVy5SNyl9OwpvbnI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmNvZGU7RCE9PXZvaWQgMCYmKGo1KG4sOCksajUobixEPDwxXkQ+PjMxKSk7Zy5SdyhuLDIsVy5tZXNzYWdlKX07CmRZTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmNsaWVudFN0YXRlKTtRQShuLDIsVy5adSx1Zk0sMSl9OwppOFU9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLll0KTtRQShuLDIsVy5TaixvbnIsMyk7UUEobiwzLFcuY29sZFN0YXJ0SW5mbyxkWU0sMyl9OwpFbjI9ZnVuY3Rpb24obixXKXtDUihuLDEsVy50eXBlKTtnLkZhKG4sMixXLnZhbHVlKX07Cnk5dD1mdW5jdGlvbihuLFcpe2cuUncobiwxLFcuaGwpO2cuUncobiwxMixXLmRldmljZU1ha2UpO2cuUncobiwxMyxXLmRldmljZU1vZGVsKTtDUihuLDE2LFcuY2xpZW50TmFtZSk7Zy5SdyhuLDE3LFcuY2xpZW50VmVyc2lvbik7Zy5SdyhuLDE4LFcub3NOYW1lKTtnLlJ3KG4sMTksVy5vc1ZlcnNpb24pfTsKemoxPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5uYW1lKTtnLlJ3KG4sMixXLnZhbHVlKX07CmFmPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy51cmwpO2lmKFcuZTMpZm9yKGxldCBEPTA7RDxXLmUzLmxlbmd0aDtEKyspUUEobiwyLFcuZTNbRF0semoxLDMpO2cuRmEobiwzLFcucG9zdEJvZHkpO0JHKG4sNCxXLkVhKTtCRyhuLDYsVy5lOCl9OwpwT2k9ZnVuY3Rpb24obixXKXtnLkZhKG4sMixXLnZVKTtnLkZhKG4sNSxXLmVuY3J5cHRlZENsaWVudEtleSk7Zy5GYShuLDYsVy5pdik7Zy5GYShuLDcsVy5kZik7QkcobiwxMCxXLm13KTtCRyhuLDEzLFcuRkQpO0JHKG4sMTQsVy5EWSk7Zy5GYShuLDE2LFcud1MpO0JHKG4sMTcsVy55Sil9OwpsOHQ9ZnVuY3Rpb24obil7cmV0dXJue1dzOlBHKG4sMSksaHR0cFN0YXR1czpQRyhuLDIpLGJvZHk6eUEobiw0KX19OwpZZmk9ZnVuY3Rpb24obixXKXtnLlJ3KG4sMSxXLnRva2VuKX07ClRRTT1mdW5jdGlvbihuKXtyZXR1cm57dG9rZW46RXgobiwxKX19OwpqX1U9ZnVuY3Rpb24obil7Zm9yKHZhciBXPVtdLEQ7RD1FeChuLDEpOylXLnB1c2goRCk7cmV0dXJue3VybDpXLmxlbmd0aD9XOnZvaWQgMH19OwpuNz1mdW5jdGlvbihuKXtyZXR1cm57QWg6UEcobiwxKSx2eTpQRyhuLDIpfX07CkZEYj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2lmKFcuY0UpZm9yKHZhciBEPTA7RDxXLmNFLmxlbmd0aDtEKyspUUEobiwyLFcuY0VbRF0sTTQsMyk7aWYoVy5lVylmb3IoRD0wO0Q8Vy5lVy5sZW5ndGg7RCsrKVFBKG4sMyxXLmVXW0RdLFFyLDMpO2cuRmEobiw1LFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7aWYoVy5CaSlmb3IoRD0wO0Q8Vy5CaS5sZW5ndGg7RCsrKVFBKG4sNixXLkJpW0RdLEM2VSwzKTtpZihXLkdoKWZvcihEPTA7RDxXLkdoLmxlbmd0aDtEKyspUUEobiwxNixXLkdoW0RdLE00LDMpO2lmKFcuTSQpZm9yKEQ9MDtEPFcuTSQubGVuZ3RoO0QrKylRQShuLDE3LFcuTSRbRF0sTTQsMyk7aWYoVy5Fdilmb3IoRD0wO0Q8Vy5Fdi5sZW5ndGg7RCsrKVFBKG4sMTgsVy5FdltEXSxNNCwzKTtRQShuLDE5LFcubUgsd00sMyk7UUEobiwyMSxXLk15LFduLDMpO0NSKG4sMjIsVy51TSk7Q1IobiwyMyxXLnJHKTtpZihXLmJLKWZvcihEPTA7RDxXLmJLLmxlbmd0aDtEKyspUUEobiwKMjQsVy5iS1tEXSxXbiwzKTtnLkZhKG4sMjUsVy5kUyk7aWYoVy5qcilmb3IoRD0wO0Q8Vy5qci5sZW5ndGg7RCsrKVFBKG4sMUUzLFcuanJbRF0sQlF3LDMpfTsKQzZVPWZ1bmN0aW9uKG4sVyl7UUEobiwxLFcuZm9ybWF0SWQsTTQsMyk7Q1IobiwyLFcudkQpO0NSKG4sMyxXLnNlcXVlbmNlTnVtYmVyKTtRQShuLDQsVy5oeCxSZiwxKTtDUihuLDUsVy5TMCk7Q1Iobiw2LFcudTMpfTsKV249ZnVuY3Rpb24obixXKXtpZihXLmFEKWZvcihsZXQgRD0wO0Q8Vy5hRC5sZW5ndGg7RCsrKWcuUncobiwxLFcuYURbRF0pO2cuRmEobiwyLFcuYWRzQ29uZmlnKTtnLlJ3KG4sMyxXLkJmKTtDUihuLDQsVy5ESik7Q1Iobiw1LFcub3YpO2cuUncobiw2LFcuZDMpO2cuUncobiw3LFcuY3VlcG9pbnRJZCk7Q1Iobiw4LFcuczEpO2cuUncobiw5LFcudGlsZUNvbnRleHQpO0NSKG4sMTAsVy5zdGFydFRpbWVNcyk7Q1IobiwxMSxXLmR1cmF0aW9uTXMpfTsKQlF3PWZ1bmN0aW9uKG4sVyl7aWYoVy5jRSlmb3IodmFyIEQ9MDtEPFcuY0UubGVuZ3RoO0QrKylRQShuLDEsVy5jRVtEXSxNNCwzKTtpZihXLmVXKWZvcihEPTA7RDxXLmVXLmxlbmd0aDtEKyspUUEobiwyLFcuZVdbRF0sUXIsMyk7Zy5SdyhuLDMsVy5jbGlwSWQpfTsKZy5EVT1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2cuRmEobiwzLFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7UUEobiw1LFcubUgsd00sMyk7UUEobiw2LFcuTXksV24sMyl9Owp3T1o9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKX19OwpSalU9ZnVuY3Rpb24obixXKXtpZihXLk8zKWZvcihsZXQgRD0wO0Q8Vy5PMy5sZW5ndGg7RCsrKVFBKG4sMSxXLk8zW0RdLE02VSwzKX07ClFfMT1mdW5jdGlvbihuLFcpe1FBKG4sMTA0NyxXLmJMLFJqVSwzKX07Ck02VT1mdW5jdGlvbihuLFcpe2lmKFcualYpZm9yKHZhciBEPTA7RDxXLmpWLmxlbmd0aDtEKyspZy5GYShuLDEsVy5qVltEXSk7aWYoVy5yWClmb3IoRD0wO0Q8Vy5yWC5sZW5ndGg7RCsrKWcuRmEobiwyLFcuclhbRF0pfTsKbnl3PWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5jcG4pO0NSKG4sMixXLnNlcXVlbmNlTnVtYmVyKTtnLlJ3KG4sMyxXLnNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQpO2lmKFcuZGVjb2RlckluZm8pZm9yKHZhciBEPTA7RDxXLmRlY29kZXJJbmZvLmxlbmd0aDtEKyspUUEobiw2LFcuZGVjb2RlckluZm9bRF0sVjZyLDMpO2cuUncobiw5LFcucGxheWVyUmVzcG9uc2VDcG4pO0NSKG4sMTAsVy50cmFuc2l0aW9uU3RpdGNoVHlwZSk7Zy5SdyhuLDExLFcucW9lUGluZ1VybCk7Q1IobiwxMixXLnRpbWVzdGFtcE9mZnNldE1zZWNzKTtDUihuLDE1LFcucmVtb3RlQ29udHJvbE1vZGUpO2lmKFcucmVtb3RlQ29ubmVjdGVkRGV2aWNlcylmb3IoRD0wO0Q8Vy5yZW1vdGVDb25uZWN0ZWREZXZpY2VzLmxlbmd0aDtEKyspUUEobiwxNixXLnJlbW90ZUNvbm5lY3RlZERldmljZXNbRF0sYzlNLDMpO2cuRmEobiwxNyxXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0KTsKaWYoVy5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLmxlbmd0aDtEKyspZy5GYShuLDE5LFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhW0RdKTtpZihXLmRhaUN1ZVBvaW50RXZlbnRzKWZvcihEPTA7RDxXLmRhaUN1ZVBvaW50RXZlbnRzLmxlbmd0aDtEKyspUUEobiwyMCxXLmRhaUN1ZVBvaW50RXZlbnRzW0RdLGE4MiwzKTtpZihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YS5sZW5ndGg7RCsrKWcuRmEobiwyMSxXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGFbRF0pfTsKV0JqPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5pZGVudGlmaWVyKTtnLlJ3KG4sMixXLnRpbGVDb250ZXh0KX07Cmcudm49ZnVuY3Rpb24obil7dmFyIFc9e25zOm4uUmEsZWw6bi5ldmVudExhYmVsLGNwbjpuLmNsaWVudFBsYXliYWNrTm9uY2UsdmVyOjIsY210Om4uSihuLk4pLGZtdDpuLnZpZGVvRm9ybWF0LGZzOm4ualc/IjEiOiIwIixydDpuLkoobi53YSksYWRmb3JtYXQ6bi5hZEZvcm1hdCxjb250ZW50X3Y6bi5jb250ZW50VmlkZW9JZCxldXJpOm4uTWQsbGFjdDpuLk5kLGxpdmU6bi5UUSxjbDooOTUxNzc5MTA0KS50b1N0cmluZygpLG1vczpuLlJ0LHN0YXRlOm4ucGxheWVyU3RhdGUsdm9sdW1lOm4uZ1R9O24uc3Vic2NyaWJlZCYmKFcuc3Vic2NyaWJlZD0iMSIpO09iamVjdC5hc3NpZ24oVyxuLlkkKTtuLkQ9PT0iYWxsIj9PYmplY3QuYXNzaWduKFcsbi55RSk6bi5EPT09Im9uY2UiJiZuLlcmJk9iamVjdC5hc3NpZ24oVyxuLnlFKTtuLmF1dG9wbGF5JiYoVy5hdXRvcGxheT0iMSIpO24uTEImJihXLnNhdXRvcGxheT0iMSIpO24uQ3UmJihXLmRuaT0iMSIpOyFuLlgmJm4uSEomJihXLmVwbT0KRGMxW24uSEpdKTtuLmlzRmluYWwmJihXWyJmaW5hbCJdPSIxIik7bi5udSYmKFcuc3BsYXk9IjEiKTtuLm9EJiYoVy5kZWxheT1uLm9EKTtuLkR0JiYoVy5obD1uLkR0KTtuLnJlZ2lvbiYmKFcuY3I9bi5yZWdpb24pO24udXNlckdlbmRlckFnZSYmKFcudWdhPW4udXNlckdlbmRlckFnZSk7bi51c2VyQWdlIT09dm9pZCAwJiZuLkdDJiYoVy51Z2E9bi5HQytuLnVzZXJBZ2UpO24uZSQhPT12b2lkIDAmJihXLmxlbj1uLkoobi5lJCkpOyghbi5YfHxuLkJWKSYmbi5leHBlcmltZW50SWRzLmxlbmd0aD4wJiYoVy5mZXhwPW4uZXhwZXJpbWVudElkcy50b1N0cmluZygpKTtuLkshPT1udWxsJiYoVy5ydG49bi5KKG4uSykpO24uUzkmJihXLmZlYXR1cmU9bi5TOSk7bi5pNSYmKFcuY3RybD1uLmk1KTtuLlVLJiYoVy55dHI9bi5VSyk7bi52SiYmKFcuYWZtdD1uLnZKKTtuLm9mZmxpbmVEb3dubG9hZFVzZXJDaG9pY2UmJihXLk9EVUM9bi5vZmZsaW5lRG93bmxvYWRVc2VyQ2hvaWNlKTtuLlkmJgooVy5saW89bi5KKG4uWSkpO24uWD8oVy5pZHBqPW4uRTUsVy5sZHBqPW4uUXIsbi5kZWxheVRocmVzaG9sZE1ldCYmKFcuZHRtPSIxIiksbi5PIT1udWxsJiYoVy5ydGk9bi5KKG4uTykpLG4uRkwmJihXLmFsZD1uLkZMKSxuLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbiYmKFcuY2xpbz1uLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbikpOm4uYWRUeXBlIT09dm9pZCAwJiYoVy5hdD1uLmFkVHlwZSk7bi5mQiYmKG4uV3x8bi5YKSYmKFcuc2l6ZT1uLmZCKTtuLlcmJm4uVi5sZW5ndGgmJihXLnBic3R5bGU9bi5WLmpvaW4oIiwiKSk7bi5IRCE9bnVsbCYmKG4uV3x8bi5YKSYmKFcuaW52aWV3PW4uSihuLkhEKSk7bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4mJihXLmhiX2RhdGE9bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4pO24uWCYmKFcudm9sdW1lPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQudm9sdW1lKSksVy5zdD1iSihuLGcuaV8obi5zZWdtZW50cywKRD0+RC5zdGFydFRpbWUpKSxXLmV0PWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQuZW5kVGltZSkpLGcub00obi5zZWdtZW50cyxEPT5ELnBsYXliYWNrUmF0ZSE9PTEpJiYoVy5yYXRlPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQucGxheWJhY2tSYXRlKSkpLGcub00obi5zZWdtZW50cyxEPT5ELk4hPT0iLSIpJiYoVy5hbHM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuTikuam9pbigiLCIpKSxnLm9NKG4uc2VnbWVudHMsRD0+RC5wcmV2aW91c2x5RW5kZWQpJiYoVy5wZT1nLmlfKG4uc2VnbWVudHMsRD0+YCR7K0QucHJldmlvdXNseUVuZGVkfWApLmpvaW4oIiwiKSkpOwpXLm11dGVkPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQubXV0ZWQ/MTowKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELnZpc2liaWxpdHlTdGF0ZSE9PTApJiYoVy52aXM9YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC52aXNpYmlsaXR5U3RhdGUpKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELmNvbm5lY3Rpb25UeXBlIT09MCkmJihXLmNvbm49YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5jb25uZWN0aW9uVHlwZSkpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuVyE9PTApJiYoVy5ibG89YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5XKSkpOwpnLm9NKG4uc2VnbWVudHMsRD0+ISFELmopJiYoVy5ibG89Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuaikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW4pJiYoVy5jYnM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuY29tcG9zaXRlTGl2ZVN0YXR1c1Rva2VuKS5qb2luKCIsIikpOwpnLm9NKG4uc2VnbWVudHMsRD0+RC5KIT09Ii0iKSYmKFcuY2M9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuSikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuY2xpcElkIT09Ii0iKSYmKFcuY2xpcGlkPWcuaV8obi5zZWdtZW50cyxEPT5ELmNsaXBJZCkuam9pbigiLCIpKTsKaWYoZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5hdWRpb0lkKSl7bGV0IEQ9ImF1IjsKbi5XJiYoRD0iYXVfZCIpO1dbRF09Zy5pXyhuLnNlZ21lbnRzLGI9PmIuYXVkaW9JZCkuam9pbigiLCIpfWcuakgoKSYmbi50dyYmKFcuY3R0PW4udHcsVy5jdHR5cGU9bi5QWCxXLm1keF9lbnZpcm9ubWVudD1uLm1keEVudmlyb25tZW50KTsKbi55dyYmKFcuZXR5cGU9bi5iZCE9PXZvaWQgMD9uLmJkOjApO24uRkYmJihXLnVvbz1uLkZGKTtuLmxpdmluZ1Jvb21BcHBNb2RlJiZuLmxpdmluZ1Jvb21BcHBNb2RlIT09IkxJVklOR19ST09NX0FQUF9NT0RFX1VOU1BFQ0lGSUVEIiYmKFcuY2xyYW09YlR3W24ubGl2aW5nUm9vbUFwcE1vZGVdfHxuLmxpdmluZ1Jvb21BcHBNb2RlKTtuLmo/dnlNKG4sVyk6KFcuZG9jaWQ9bi52aWRlb0lkLFcucmVmZXJyZXI9bi5yZWZlcnJlcixXLmVpPW4uZXZlbnRJZCxXLm9mPW4uUkgsVy5vc2lkPW4ub3NpZCxXLnZtPW4udmlkZW9NZXRhZGF0YSxuLmFkUXVlcnlJZCYmKFcuYXFpPW4uYWRRdWVyeUlkKSxuLmF1dG9uYXYmJihXLmF1dG9uYXY9IjEiKSxuLnBsYXlsaXN0SWQmJihXLmxpc3Q9bi5wbGF5bGlzdElkKSxuLkFSJiYoVy5zc3J0PSIxIiksbi5IcSYmKFcudXB0PW4uSHEpKTtuLlcmJihuLmVtYmVkc1JjdCYmKFcucmN0PW4uZW1iZWRzUmN0KSxuLmVtYmVkc1JjdG4mJihXLnJjdG49Cm4uZW1iZWRzUmN0biksbi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4mJihXLmNsaW89bi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4pKTtuLmhvc3RDcG4mJihXLmhvc3RfY3BuPW4uaG9zdENwbik7cmV0dXJuIFd9OwphODI9ZnVuY3Rpb24obixXKXtRQShuLDEsVy5pZGVudGlmaWVyLFdCaiwzKTtpZihXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMpZm9yKHZhciBEPTA7RDxXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMubGVuZ3RoO0QrKylRQShuLDIsVy5yZWNlaXZlZEN1ZVBvaW50RXZlbnRzW0RdLGtGdywxKTtpZihXLnJlY2VpdmVkQWRFdmVudHMpZm9yKEQ9MDtEPFcucmVjZWl2ZWRBZEV2ZW50cy5sZW5ndGg7RCsrKVFBKG4sMyxXLnJlY2VpdmVkQWRFdmVudHNbRF0saHN3LDMpfTsKa0Z3PWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Q1IobiwyLFcuc2VnbWVudFN0YXJ0VGltZU1zKTtDUihuLDMsVy5jdWVwb2ludEV2ZW50KTtDUihuLDQsVy5hZEJyZWFrRnVsZmlsbG1lbnRTdGF0ZSk7Q1Iobiw1LFcudHJhY2tUeXBlKTtDUihuLDYsVy5zZWdtZW50TnVtYmVyKTtDUihuLDcsVy5ub0Fkc1N0aXRjaGVkUmVhc29uKX07Cmhzdz1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmVsYXBzZWRUaW1lTXMpO2cuUncobiwyLFcuYWRDcG4pO0NSKG4sMyxXLmFkQWRkZWRMYXRlbmN5VGltZU1zKTtnLlJ3KG4sNCxXLmFkVmlkZW9JZCk7Q1Iobiw1LFcuYWRTdGFydFRpbWVNcyk7Q1Iobiw2LFcuYWREdXJhdGlvbk1zKTtDUihuLDcsVy5hZFJlamVjdGlvblJlYXNvbik7Q1Iobiw4LFcudGltZUVsYXBzZWRTaW5jZUN1ZXBvaW50TXMpfTsKVjZyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Zy5SdyhuLDMsVy52aWRlb0RlY29kZXJOYW1lKX07CmM5TT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmRldmljZUludGVyZmFjZSk7Zy5SdyhuLDIsVy5kZXZpY2VWZXJzaW9uKTtCRyhuLDMsVy5pc1NsZWVwaW5nKX07CkxCVT1mdW5jdGlvbihuKXtyZXR1cm57ZmY6aWgobiwxLHhjYiksdHJhY2tUeXBlOlBHKG4sMiksUFA6UEcobiwzKSx0aW1lUmFuZ2U6aWgobiw0LGMkKSx0aWxlQ29udGV4dDpFeChuLDUpLGJ4OlBHKG4sNiksRzM6UEcobiw3KSxvcHBvcnR1bml0eUlkOkV4KG4sOCksc2VyaWFsaXplZFByZWZldGNoQ29udGV4dDp5QShuLDkpfX07CnhjYj1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLGV2ZW50OlBHKG4sMiksTUs6WncobiwzKSxUeTpadyhuLDQpLHVUOkV4KG4sNSksaWRlbnRpZmllcjpFeChuLDYpLEFDOlBHKG4sOSl9fTsKa2Q9ZnVuY3Rpb24obil7cmV0dXJue2ZpcnN0OlBHKG4sMSksSjc6UEcobiwyKX19Owplc2o9ZnVuY3Rpb24obil7cmV0dXJue2JpdHJhdGU6UEcobiw2KSx3aWR0aDpQRyhuLDcpLGhlaWdodDpQRyhuLDgpLGZwczpQRyhuLDI1KSxhdmVyYWdlQml0cmF0ZTpQRyhuLDMxKSxhdWRpb1NhbXBsZVJhdGU6UEcobiw0NSksYXVkaW9DaGFubmVsczpQRyhuLDQ2KSxxdWFsaXR5T3JkaW5hbDpQRyhuLDU2KX19Owpocz1mdW5jdGlvbihuKXtyZXR1cm57aXRhZ0RlbnlsaXN0OnVoKG4sMSl9fTsKZ3kxPWZ1bmN0aW9uKG4pe3JldHVybntZazpVeChuLDEpLFhXOlBHKG4sMiksc1E6VXgobiwzKSxOVDpadyhuLDQpLGNyeXB0b1BlcmlvZEluZGV4OlBHKG4sNSksWlg6UEcobiw2KSxMRzpQRyhuLDcpfX07CkdGQz1mdW5jdGlvbihuKXtyZXR1cm57SzU6UEcobiwxKSxpdGFnOkV4KG4sMyksUXQ6aWgobiw0LFh4dCksbG10OlBHKG4sNSksQ2U6UEcobiw3KSx4dGFnczpFeChuLDE1KSxuNjppaChuLDIzLHEwYiksWHQ6aWgobiwzNCxocyl9fTsKWHh0PWZ1bmN0aW9uKG4pe3JldHVybntpdjp5QShuLDUpLE5FOlV4KG4sNyl9fTsKdHBiPWZ1bmN0aW9uKG4pe3JldHVybntnazp1aChuLDIpLHZpZGVvSWQ6RXgobiwzKSxRbzpQRyhuLDQpfX07CnEwYj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDIpfX07CiRjeD1mdW5jdGlvbihuKXtyZXR1cm57d2Y6UEcobiwzKSx2NzpQRyhuLDQpLEtOOlBHKG4sNSksWjM6VXgobiw4KSxXWjpQRyhuLDEwKSxITzpQRyhuLDEyKSxVUjpQRyhuLDEzKSxzUjpQRyhuLDE0KSx1MDpQRyhuLDE1KSxMejpQRyhuLDE2KX19Owp4ZD1mdW5jdGlvbihuKXtyZXR1cm57dGFyZ2V0QXVkaW9SZWFkYWhlYWRNczpQRyhuLDEpLHRhcmdldFZpZGVvUmVhZGFoZWFkTXM6UEcobiwyKSxiYWNrb2ZmVGltZU1zOlBHKG4sNCkscGxheWJhY2tDb29raWU6eUEobiw3KSx2aWRlb0lkOkV4KG4sOCl9fTsKTDc9ZnVuY3Rpb24obil7cmV0dXJue21pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjOlBHKG4sMSksbWluUmVhZGFoZWFkTXM6UEcobiwyKX19OwplST1mdW5jdGlvbihuKXtyZXR1cm57c3RhcnRNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwxLEw3KSxyZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwyLEw3KX19OwpyS3I9ZnVuY3Rpb24obil7cmV0dXJue2xhYmVsOkV4KG4sMSksdGV4dDpFeChuLDIpfX07CnNoWj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDEpLGZvcm1hdElkOmloKG4sMixWciksZGVidWdJbmZvOm93KG4sMyxyS3IpfX07CmdQPWZ1bmN0aW9uKG4pe3JldHVybntKMDpvdyhuLDEsc2haKX19OwpObXQ9ZnVuY3Rpb24obil7cmV0dXJue0ZrOlBHKG4sMSksZno6UEcobiwyKSxtaW5SZWFkYWhlYWRNczpQRyhuLDMpfX07ClhOPWZ1bmN0aW9uKG4pe3JldHVybntwdjpQRyhuLDEpLGl0ZW1zOm93KG4sMixObXQpLFBuOlBHKG4sMyl9fTsKcHhpPWZ1bmN0aW9uKG4pe3JldHVybnt0b2tlbjpFeChuLDEpLHZpZGVvSWQ6RXgobiwyKX19OwpZMFU9ZnVuY3Rpb24obil7cmV0dXJue2V3OlBHKG4sMSl9fTsKcUc9ZnVuY3Rpb24obil7cmV0dXJue1FxOkV4KG4sMSksYWN0aW9uOlBHKG4sMiksQ3Y6aWgobiwzLFkwVSl9fTsKR0U9ZnVuY3Rpb24obil7cmV0dXJue0pKOlBHKG4sMSksUUI6UEcobiwyKSxzZWVrU291cmNlOlBHKG4sMyl9fTsKSFRaPWZ1bmN0aW9uKG4pe3JldHVybnt6SDpQRyhuLDEpLHg6UEcobiwyKSx5OlBHKG4sMyksd2lkdGg6UEcobiw0KSxoZWlnaHQ6UEcobiw1KX19OwpmbGo9ZnVuY3Rpb24obil7cmV0dXJue3JlZ2lvbjppaChuLDEsSFRaKSx1MTppaChuLDIsYyQpLGNwbjpFeChuLDUpLGxvZ2dpbmdNZXRhZGF0YTp5QShuLDYpLGJUOmloKG4sNyxjJCksTlI6UEcobiw4KSxxUjpVeChuLDkpfX07CkpLaj1mdW5jdGlvbihuKXtyZXR1cm57UjE6b3cobiwxLGZsail9fTsKSWxqPWZ1bmN0aW9uKG4pe3JldHVybnttZXRhZGF0YTpvdyhuLDEsSktqKSx0cmFja1R5cGU6UEcobiwyKX19Owp0cz1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLHNjb3BlOlBHKG4sMiksdmFsdWU6eUEobiwzKSxzZW5kQnlEZWZhdWx0OlV4KG4sNCksd3JpdGVQb2xpY3k6UEcobiw1KX19OwpTMHc9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Zy5SdyhuLDIsVy51cmwpfTsKQUtyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuaWQpO2cuUncobiwyLFcubmFtZSk7Q1IobiwzLFcucmVzb3VyY2VJZCk7Q1Iobiw0LFcubGluZSk7Q1Iobiw1LFcuY29sdW1uKX07Cm1jcj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmlkKTtDUihuLDIsVy50aW1lc3RhbXBNcyk7Q1IobiwzLFcuc3RhY2tJZCl9OwpLQk09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Q1IobiwyLFcuZnJhbWVJZCk7Q1IobiwzLFcucGFyZW50SWQpfTsKT1RiPWZ1bmN0aW9uKG4sVyl7aWYoVy5yZXNvdXJjZXMpZm9yKHZhciBEPTA7RDxXLnJlc291cmNlcy5sZW5ndGg7RCsrKVFBKG4sMSxXLnJlc291cmNlc1tEXSxTMHcsMyk7aWYoVy5mcmFtZXMpZm9yKEQ9MDtEPFcuZnJhbWVzLmxlbmd0aDtEKyspUUEobiwyLFcuZnJhbWVzW0RdLEFLciwzKTtpZihXLnNhbXBsZXMpZm9yKEQ9MDtEPFcuc2FtcGxlcy5sZW5ndGg7RCsrKVFBKG4sMyxXLnNhbXBsZXNbRF0sbWNyLDEpO2lmKFcuc3RhY2tzKWZvcihEPTA7RDxXLnN0YWNrcy5sZW5ndGg7RCsrKVFBKG4sNCxXLnN0YWNrc1tEXSxLQk0sMSl9OwpQa0M9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpfTsKWlRVPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKVWNpPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuTXcpfTsKeUtDPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKRXkyPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5CQil9OwppVHg9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpO0NSKG4sMixXLlM3KX07CnVMMj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLnR5cGUpO3ZhciBEPVcucUw7aWYoRCE9PXZvaWQgMCl7dmFyIGI9bmV3IEFycmF5QnVmZmVyKDgpOyhuZXcgRmxvYXQ2NEFycmF5KGIpKVswXT1EO0Q9bmV3IFVpbnQzMkFycmF5KGIpO2I9RFswXTtEPURbMV07aWYoYiE9PXZvaWQgMCYmRCE9PXZvaWQgMCl7ajUobiwxNyk7VDYobiw4KTtmb3IobGV0IHY9MDt2PDQ7disrKW4udmlldy5zZXRVaW50OChuLnBvcyxiJjI1NSksYj4+Pj04LG4ucG9zKz0xO2I9RDtmb3IoRD0wO0Q8NDtEKyspbi52aWV3LnNldFVpbnQ4KG4ucG9zLGImMjU1KSxiPj4+PTgsbi5wb3MrPTF9fVFBKG4sMyxXLmE5LFBrQywzKTtRQShuLDQsVy5seCxaVFUsMSk7UUEobiw1LFcucTAsVWNpLDEpO1FBKG4sNixXLmlzVHlwZVN1cHBvcnRlZCx5S0MsMSk7UUEobiw3LFcueTgsRXkyLDMpO1FBKG4sOCxXLkpMLGlUeCwzKX07Cm95aD1mdW5jdGlvbihuKXtyZXR1cm57ZGF0YTp5QShuLDEpfX07CmRjdD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19Owp6czE9ZnVuY3Rpb24obil7cmV0dXJue0hTOlp3KG4sMSl9fTsKbGxyPWZ1bmN0aW9uKG4pe3JldHVybntwbGFjZWhvbGRlcjpVeChuLDEpfX07ClRtcj1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpqaE09ZnVuY3Rpb24obil7cmV0dXJue2RhdGE6eUEobiwxKSxrazpQRyhuLDIpfX07CkNreD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpCbWo9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKSxxTDpadyhuLDIpLFFKOlp3KG4sMyksVG86Wncobiw0KSxpbml0OmloKG4sNSxDa3gpLGE5OmloKG4sNixveWgpLGx4OmloKG4sNyxkY3QpLHEwOmloKG4sOCx6czEpLGlzVHlwZVN1cHBvcnRlZDppaChuLDksbGxyKSx5ODppaChuLDEwLFRtciksSkw6aWgobiwxMSxqaE0pfX07Cnd4Wj1mdW5jdGlvbihuKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhGQlUpLmluY2x1ZGVzKG4pfTsKTXBDPWZ1bmN0aW9uKG4peyRkPTI1OTJFMyoobnx8MSl9OwpyUD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci12b2x1bWUiKXx8e30sVz1uLnZvbHVtZTtyZXR1cm57dm9sdW1lOmlzTmFOKFcpPzEwMDpnLkZmKE1hdGguZmxvb3IoVyksMCwxMDApLG11dGVkOiEhbi5tdXRlZH19Owpzbj1mdW5jdGlvbihuKXtnLlBCKCJ5dC1wbGF5ZXItYmFuZHdpZHRoIixuLDI1OTJFMyl9OwpwNz1mdW5jdGlvbihuPSRkKXtpZihuPjAmJiEoVVAoKT4oMCxnLlIpKCktbioxRTMpKXJldHVybiAwO249Zy5aSSgieXQtcGxheWVyLXF1YWxpdHkiKTtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXtpZihuPU5HW25dLG4+MClyZXR1cm4gbn1lbHNlIGlmKG4gaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIG4ucXVhbGl0eTtyZXR1cm4gMH07CllkPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLXByb3hpbWEtcHJlZiIpO3JldHVybiBuPT1udWxsP251bGw6bn07ClJzeD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci1xdWFsaXR5Iik7aWYobiBpbnN0YW5jZW9mIE9iamVjdCYmbi5xdWFsaXR5JiZuLnByZXZpb3VzUXVhbGl0eSl7aWYobi5xdWFsaXR5Pm4ucHJldmlvdXNRdWFsaXR5KXJldHVybiAxO2lmKG4ucXVhbGl0eTxuLnByZXZpb3VzUXVhbGl0eSlyZXR1cm4tMX1yZXR1cm4gMH07CkhuPWZ1bmN0aW9uKCl7dmFyIG49e3ZhbHVlczp7fSxGWTp7fX07dHJ5e2xldCBXPUpTT04ucGFyc2UoSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlWyJ5dC1wbGF5ZXItbWVtb3J5Il0pLmRhdGEpO24udmFsdWVzPVcudmFsdWVzO24uaGFsZkxpdmVzPVcuaGFsZkxpdmVzfWNhdGNoe31yZXR1cm4gbn07CmY3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiKXx8e319OwpRaHc9ZnVuY3Rpb24obj0hMSl7aWYobil7bj1mNygpO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSlXLmluZGV4T2YoIjEiKSE9PTAmJmRlbGV0ZSBuW1ddO2cuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLG4sMjU5MkUzKX1lbHNlIHRyeXtsZXQgVz1PUC5xYigpLEQ9T1AuQnAoKTtXJiZXLnJlbW92ZSgieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcCIpO0QmJkQucmVtb3ZlKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwIil9Y2F0Y2goVyl7fX07CkpzPWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAtYWN0aXZlLXNldCIpPz9bXX07ClZwQz1mdW5jdGlvbihuPSExKXtuPyhuPUpzKCkuZmlsdGVyKFc9Plcuc3RhcnRzV2l0aCgiMSIpKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLG4sMjU5MkUzKSk6Zy5QQigieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcC1hY3RpdmUtc2V0IixbXSwyNTkyRTMpfTsKSU89ZnVuY3Rpb24oKXtyZXR1cm4hIWcuWkkoInl0LXBsYXllci1oZWFkZXJzLXJlYWRhYmxlIil9OwpnLlNJPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLWNhcHRpb24tbGFuZ3VhZ2UtcHJlZmVyZW5jZXMiKTtyZXR1cm4gbj9uOltdfTsKQXM9ZnVuY3Rpb24oKXt2YXIgbj1nLlpJKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIpLFc9bmV3IE1hcDtpZihuKWZvcihsZXQgW0QsYl1vZiBPYmplY3QuZW50cmllcyhuKSlXLnNldChELGIpO3JldHVybiBXfTsKbTU9ZnVuY3Rpb24oKXtyZXR1cm4gZy5aSSgieXQtcGxheWVyLXZvaWNlLWJvb3N0Iik/P3ZvaWQgMH07Cks3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1hdWRpby1xdWFsaXR5LXNldHRpbmciKT8/Mn07ClpVPWZ1bmN0aW9uKCl7dHJ5e2xldCBuPXdpbmRvdy5uYXZpZ2F0b3I7aWYobi5nZXRBdXRvcGxheVBvbGljeSYmdHlwZW9mIG4uZ2V0QXV0b3BsYXlQb2xpY3k9PT0iZnVuY3Rpb24iKXtsZXQgVz1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGcuT24uV0MpLEQ7RD1XLmxlbmd0aD4wJiZXWzBdP24uZ2V0QXV0b3BsYXlQb2xpY3koV1swXSk6bi5nZXRBdXRvcGxheVBvbGljeSgibWVkaWFlbGVtZW50Iik7aWYoUG5bRF0pcmV0dXJuIFBuW0RdfX1jYXRjaChuKXt9cmV0dXJuIkFVVE9QTEFZX0JST1dTRVJfUE9MSUNZX1VOU1BFQ0lGSUVEIn07ClVuPWZ1bmN0aW9uKG4pe3JldHVybiBuLlBYfHxuLkd1fHxuLm11dGVkQXV0b3BsYXl9Owp5dz1mdW5jdGlvbihuLFcpe3JldHVybiBVbihuKT9XIT09MSYmVyE9PTImJlchPT0wPyJBVVRPUExBWV9TVEFUVVNfVU5BVkFJTEFCTEUiOm4uc1o/IkFVVE9QTEFZX1NUQVRVU19CTE9DS0VEIjoiQVVUT1BMQVlfU1RBVFVTX09DQ1VSUkVEIjoiQVVUT1BMQVlfU1RBVFVTX05PVF9BVFRFTVBURUQifTsKZy5Fbj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5HKCk7bi50aGlyZFBhcnR5fHwobi50aGlyZFBhcnR5PXt9KTtuLnRoaXJkUGFydHk9ey4uLm4udGhpcmRQYXJ0eSxlbWJlZFVybDpiLmxvYWRlclVybH07Yi5hbmNlc3Rvck9yaWdpbnMmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGFuY2VzdG9yT3JpZ2luczpiLmFuY2VzdG9yT3JpZ2luc30pO2IuZUshPW51bGwmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LHZpc2liaWxpdHlGcmFjdGlvbjpOdW1iZXIoYi5lSyl9KTtiLkxLJiYobi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dD17Li4ubi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dCx2aXNpYmlsaXR5RnJhY3Rpb25Tb3VyY2U6Yi5MS30pO24udGhpcmRQYXJ0eS5lbWJlZGRlZFBsYXllckNvbnRleHQ9CnsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGF1dG9wbGF5QnJvd3NlclBvbGljeTpaVSgpLGF1dG9wbGF5SW50ZW5kZWQ6VW4oVyksYXV0b3BsYXlTdGF0dXM6eXcoVyxEKX19OwppSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5zcGxpdCgiLCIpKXtpZighRCljb250aW51ZTsobj1ELnN0YXJ0c1dpdGgoIiEiKSkmJihEPUQuc3Vic3RyaW5nKDEpKTtsZXQgYj1ELnNwbGl0KCItIik7Yi5sZW5ndGg8M3x8Vy5wdXNoKHtoajpiWzBdLHBsYXRmb3JtOmJbMV0sZGV2aWNlVmVyc2lvbjpiWzJdLEVzOm59KX1yZXR1cm4gV307CmFseD1mdW5jdGlvbihuKXtyZXR1cm4gaUoobikubWFwKCh7aGo6VyxkZXZpY2VWZXJzaW9uOkQsRXM6Yn0pPT4oe2RldmljZUludGVyZmFjZTpjS01bdUpbV11dfHwwLGRldmljZVZlcnNpb246RHx8IiIsaXNTbGVlcGluZzpifSkpfTsKb089ZnVuY3Rpb24obixXLEQ9ITEsYj0iIil7IW4mJkQmJmcuR3EoRXJyb3IoYFBsYXllciBVUkwgdmFsaWRhdG9yIGRldGVjdHMgaW52YWxpZCB1cmwuICR7Yn06ICR7V31gKSk7cmV0dXJuIG59Owp6RT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcmJlcudGVzdChuKXx8ZFAmJkQmJkQudGVzdChuKT8hMDohMX07ClRFPWZ1bmN0aW9uKG4pe3JldHVybihuPWxKJiZsSi5leGVjKG4pKT9uWzBdOiIifTsKZ1g9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sbkV3LFdoWiksbiwhMSwiVHJ1c3RlZCBTdHJlYW0gVVJMIil9OwpnLmpJPWZ1bmN0aW9uKG4pe3JldHVybiBvTyh6RShuLEQ1VSxiS1opLG4sITEsIlRydXN0ZWQgSW1hZ2UgVVJMIil9OwpDNz1mdW5jdGlvbihuKXtyZXR1cm4gb08oekUobix2RWgsbnVsbCksbiwhMSwiVHJ1c3RlZCBQcm9tb3RlZCBWaWRlbyBEb21haW4gVVJMIil9OwpoQWk9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sazdyLG51bGwpLG4sITEsIkRybSBMaWNlbnNvciBVUkwiKX07CkJuPWZ1bmN0aW9uKG4sVz0hMSl7cmV0dXJuIG9PKHpFKG4seDVyLExodCksbixXLCJDYXB0aW9ucyBVUkwiKX07CmVBPWZ1bmN0aW9uKG4pe249bmV3IGcuVWoobik7eU4obixkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk7RWoobixkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSk7ZG9jdW1lbnQubG9jYXRpb24ucG9ydCYmaXIobixkb2N1bWVudC5sb2NhdGlvbi5wb3J0KTtyZXR1cm4gbi50b1N0cmluZygpfTsKRk49ZnVuY3Rpb24obil7bj1uZXcgZy5VaihuKTt5TihuLGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKTtyZXR1cm4gbi50b1N0cmluZygpfTsKZUFaPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5uYW1lLFsyXTpuLmlkLFszXTpuLmlzRGVmYXVsdCxbNF06bi5pc0F1dG9EdWJiZWR9fTsKTUc9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB3UChuWzFdLG5bMl0sblszXSxuWzRdKX07ClJPPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5sYW5ndWFnZUNvZGUsWzJdOm4ubGFuZ3VhZ2VOYW1lLFszXTpuLmtpbmQsWzRdOm4ubmFtZSxbNV06bi5kaXNwbGF5TmFtZSxbNl06bi5pZCxbN106bi54dGFncyxbOF06bi5OLFs5XTpuLmlzVHJhbnNsYXRlYWJsZSxbMTBdOm4udXJsLFsxMV06bi52c3NJZCxbMTJdOm4uaXNEZWZhdWx0LFsxM106bi50cmFuc2xhdGlvbkxhbmd1YWdlLFsxNF06bi5jYXB0aW9uSWR9fTsKVnc9ZnVuY3Rpb24obil7dmFyIFc9bmV3IGcuUXcoe2xhbmd1YWdlQ29kZTpuWzFdLGxhbmd1YWdlTmFtZTpuWzJdLGtpbmQ6blszXSxuYW1lOm5bNF0saWQ6bls2XSxpc19zZXJ2YWJsZTpuWzhdLGlzX3RyYW5zbGF0ZWFibGU6bls5XSx1cmw6blsxMF0sdnNzX2lkOm5bMTFdLGlzX2RlZmF1bHQ6blsxMl0seHRhZ3M6bls3XSxjYXB0aW9uSWQ6blsxNF19KTtXLmRpc3BsYXlOYW1lPW5bNV07Vy50cmFuc2xhdGlvbkxhbmd1YWdlPW5bMTNdO3JldHVybiBXfTsKZy5jbj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRpc3BsYXlOYW1lKVcucHVzaChuLmRpc3BsYXlOYW1lKTtlbHNle2xldCBEPW4ubGFuZ3VhZ2VOYW1lfHwiIjtXLnB1c2goRCk7bi5raW5kPT09ImFzciImJkQuaW5kZXhPZigiKCIpPT09LTEmJlcucHVzaCgiIChBdXRvbWF0aWMgQ2FwdGlvbnMpIik7bi5uYW1lJiZXLnB1c2goYCAtICR7bi5uYW1lfWApfW4udHJhbnNsYXRpb25MYW5ndWFnZSYmVy5wdXNoKGAgPj4gJHtuLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VOYW1lfWApO3JldHVybiBXLmpvaW4oIiIpfTsKZy5hTz1mdW5jdGlvbihuKXtyZXR1cm4gbi50cmFuc2xhdGlvbkxhbmd1YWdlP24udHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGU6bi5sYW5ndWFnZUNvZGV9OwpnLm5nPWZ1bmN0aW9uKG4pe3ZhciBXPW4udnNzSWQ7bi50cmFuc2xhdGlvbkxhbmd1YWdlJiZXJiYoVz1gdCR7V30uJHtnLmFPKG4pfWApO3JldHVybiBXfTsKZ0V3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uVyxEPW4uTixiPW4uWDtyZXR1cm57WzFdOm4uY2FwdGlvbnNJbml0aWFsU3RhdGUsWzJdOm4uSixbM106bi5jYXB0aW9uVHJhY2tzLm1hcCh2PT5STyh2KSksCls0XTpXP1JPKFcpOm51bGwsWzVdOkQ/Uk8oRCk6bnVsbCxbNl06bi5pZCxbN106bi5qLFs4XTpuLlYsWzldOmVBWihuLmtaKSxbMTBdOmI/Uk8oYik6bnVsbCxbMTFdOm4ueHRhZ3N9fTsKRGM9ZnVuY3Rpb24obil7dmFyIFc9bls0XSxEPW5bNV0sYj1uWzEwXSx2PW5ldyBXQShuWzZdLE1HKG5bOV0pKTt2LmNhcHRpb25zSW5pdGlhbFN0YXRlPW5bMV07di5jYXB0aW9uVHJhY2tzPW5bM10ubWFwKGs9PlZ3KGspKTsKdi5KPW5bMl07di5XPVc/VncoVyk6bnVsbDt2Lk49RD9WdyhEKTpudWxsO3Yuaj1uWzddO3YuVj1uWzhdO3YuWD1iP1Z3KGIpOm51bGw7di54dGFncz1uWzExXTtyZXR1cm4gdn07CnZBPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBuZXcgYjMoTkdbbl18fDAsTkdbV118fDAsRCxiKX07CmtKPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5KLFsyXTpuLk4sWzNdOm4uVyxbNF06bi5yZWFzb24sWzVdOm4uTnN9fTsKWExTPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgYjMoblsxXSxuWzJdLG5bM10sbls0XSxuWzVdKX07CnhKPWZ1bmN0aW9uKG4pe2lmKGhUJiZuLk5zKXJldHVybiExO3ZhciBXPU5HLmF1dG87cmV0dXJuIG4uSj09PVcmJm4uTj09PVd9OwplSj1mdW5jdGlvbihuKXtyZXR1cm4gTGdbbi5OfHxuLkpdfHwiYXV0byJ9OwpnRj1mdW5jdGlvbihuLFcpe1c9TkdbV107cmV0dXJuIG4uSjw9VyYmKCFuLk58fG4uTj49Vyl9OwpYcD1mdW5jdGlvbihuKXtyZXR1cm4hIW5bIjEiXT8ubGVuZ3RofHwhIW5bIjFoIl0/Lmxlbmd0aHx8ISFuWyIxZSJdPy5sZW5ndGh9OwpxZD1mdW5jdGlvbihuKXtyZXR1cm4gbj09PSIxInx8bj09PSIxaCJ8fG49PT0iMWUifTsKTmQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9ITE7aWYobi5KKXJldHVybiBuLko7dmFyIEw9e30sZT1uZXcgU2V0LEc9e307aWYoR18oYikpe2Zvcih2YXIgciBpbiBiLk4pe2lmKCFiLk4uaGFzT3duUHJvcGVydHkocikpY29udGludWU7bj1iLk5bcl07R1tuLmluZm8uSUJdPVtuLmluZm9dfXJldHVybiBHfXI9dFQoVyxiLEwpO2lmKFcuSil7KHg9WHAocikpfHwoVy5OLm5vQXYxUmVhc29uPSJub0Zvcm1hdCIpO3ZhciBOPUQuWT8iZGlzYWJsZUF2MUZvclNlc3Npb24iOiIiO04mJihXLk4ubm9BdjFSZWFzb249Tik7dih7bm9BdjFSZWFzb246Vy5OLm5vQXYxUmVhc29ufSl9ayYmdih7YWZ0c3J0OiRKKHIpfSk7Tj17fTt2YXIgSD0iIjtmb3IobGV0IEEgb2YgT2JqZWN0LmtleXMocikpe2xldCB5PUE7Zm9yKGxldCBUIG9mIHJbeV0pe2xldCB6PVQuaXRhZyxDPXJGKHksVCxXKTtpZihOLmhhc093blByb3BlcnR5KEMpKXtOW0NdPT09ITA/R1t5XS5wdXNoKFQpOkxbel09Ck5bQ107Y29udGludWV9bGV0IFE9c0QoVyxULEQsYi5pc0xpdmUsZSk7USE9PSEwPyhoLmFkZCh5KSxMW3pdPVEsVy5KJiZULk1XKCkmJihIKz1gOyR7en07JHtRfWApLFE9PT0iZGlzYWJsZXZwOWhmciImJihOW0NdPSJkaXNhYmxldnA5aGZyIikpOihHW3ldPUdbeV18fFtdLEdbeV0ucHVzaChUKSxOW0NdPSEwKX19Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj1ILHYoe25vQXYxUmVhc29uOlcuTi5ub0F2MVJlYXNvbn0pKTtrJiZ2KHtiZmZsdDokSihHKX0pO2ZvcihsZXQgQSBpbiBHKXtpZighRy5oYXNPd25Qcm9wZXJ0eShBKSljb250aW51ZTtiPUE7R1tiXSYmR1tiXVswXS5mWSgpJiYoaD1HW2JdLmxlbmd0aCxHW2JdPUdbYl0sVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9MCYmKGg9R1tiXS5sZW5ndGgsdih7bm9BdjFGbXQ6ImZpbHRlclZwOVVsdGxvdyIsY29kZWM6Yn0pKSxHW2JdPXEyQyhXLEdbYl0sTCksVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9CjAmJihoPUdbYl0ubGVuZ3RoLHYoe25vQXYxRm10OiJmaWx0ZXJRdWFsaXRpZXMiLGNvZGVjOmJ9KSksR1tiXT1HN1UoR1tiXSxMKSxXLkomJnFkKGIpJiZoPjAmJkdbYl0ubGVuZ3RoPD0wJiZ2KHtub0F2MUZtdDoiZmlsdGVySGZyIixjb2RlYzpifSkpfWsmJk9iamVjdC5rZXlzKEwpLmxlbmd0aD4wJiZ2KHtyanI6Zy5UQyhMKX0pO2ZvcihsZXQgQSBvZiBlLnZhbHVlcygpKShMPUQuVy5nZXQoQSkpJiYtLUwuZzE7ayYmdih7YWZ0Zmx0OiRKKEcpfSk7Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj0iZmlsdGVyIix2KHtub0F2MVJlYXNvbjpXLk4ubm9BdjFSZWFzb259KSk7bi5KPWcublQoRyxBPT4hIUEubGVuZ3RoKTsKcmV0dXJuIG4uSn07CklEaD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1XLld8fCEhdixMPXgmJlcuTEI/azp2b2lkIDAsZT1uZXcgU2V0LEc9TmQobixXLEQsYixrLHgsZSk7Yi5YKCkmJihHPXRnaChELEcsdix4LGssVykseCYmayh7ZW5mbHQ6JEooRyl9KSk7Vy55RT0kNXIoRyxXKTt2PUx0PT4hIUdbTHRdOwp2YXIgcj1ySGkoVyk7RD1bXTtmb3IodmFyIE4gb2YgT2JqZWN0LnZhbHVlcyhHKSlOPy5sZW5ndGgmJk5bMF0uZVMoKSYmRC5wdXNoKC4uLk4pO2lmKEdfKGIpKXJldHVybiBrPWcubF8oT2JqZWN0LnZhbHVlcyhHKSxMdD0+ISFMdC5sZW5ndGgmJiEhTHRbMF0uYXVkaW8pLHg9Zy5sXyhPYmplY3QudmFsdWVzKEcpLEx0PT4hIUx0Lmxlbmd0aCYmISFMdFswXS52aWRlbyksayYmeHx8Zy5wJCgpLGcuSDAobmV3IHBnKHgsayxMLEQpKTsKTj1HLmE7dmFyIEg9ITE7Vy5IaSYmclswXSE9PSJhIiYmc1diKE4pJiYoci51bnNoaWZ0KCJhIiksSD0hMCk7eCYmKGsoe2F1ZGlvUHJlZk9yZGVyOnIuam9pbigiXyIpfSksayh7cHJlZmVySGlnaFF1YWxpdHlBdWRpbzpXLkhpfSksayh7Zm9yY2VkQWFjRm9ySHFhOkh9KSk7Tj1bXTtpZihXLnZYKXtyPWcuRU0ocix2KTtIPW5ldyBTZXQ7Zm9yKHZhciBBIG9mIHIpe3ZhciB5PUdbQV07bGV0IEx0PW5ldyBTZXQ7Zm9yKHZhciBUIG9mIHkpaWYoeT1ULmtaPy5pZClILmhhcyh5KT9MdC5oYXMoeSkmJk4ucHVzaChUKTooTHQuYWRkKHkpLEguYWRkKHkpLE4ucHVzaChUKSl9aWYoTi5sZW5ndGg9PT0wKXtpZihyLmxlbmd0aD09PTApcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbclswXV19fWVsc2V7Tj1nLmxfKHIsdik7aWYoIU4pcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbTl19R1siOSJdJiZHLmgmJmIuelcmJiFXLkZGJiYoeCYmayh7ZGx0dnA5OjF9KSwKZGVsZXRlIEdbIjkiXSk7aWYoaCl7eCYmayh7YmZzZmx0OiRKKEcpLGJmc2ZsdGE6WUoobil9KTtXLkR0P24uTj1ORFMoZSxuLk4pOm4uTi5jbGVhcigpO3gmJmsoe2Jmc2ZsdGI6WUoobil9KTtmb3IodmFyIHogaW4gRyl7aWYoIUcuaGFzT3duUHJvcGVydHkoeikpY29udGludWU7aD16O2lmKCEoaD09PSJmInx8Vy54ZD09PTAmJnBMai5oYXMoaCkpKWZvcih2YXIgQyBvZiBHW2hdKVcuRHQ/WTJTKGgsQyxuLk4pOkhLaShuLGgsQyl9eCYmayh7YWZ0c2ZsdDpZSihuKX0pfXo9R1siMWgiXT8iMWgiOiIxIjtuPUdbIjloIl0/IjloIjoiOSI7aD1HW3pdO2U9R1siMiJdO0E9R1tuXTtoJiZoLmxlbmd0aCYmKFcuTi5oaWdoZXN0QXYxUmVzb2x1dGlvbj1oW2gubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtBJiZBLmxlbmd0aCYmKFcuTi5oaWdoZXN0VnA5UmVzb2x1dGlvbj1BW0EubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtDPVtdO1Q9W107aWYoVy55dyYmZSlDPQplLFQ9WyIyIl07ZWxzZSBpZihXLk1kJiZoKUM9aCxUPVt6XSxrKHtmb3JjZUF2MTp6fSk7ZWxzZSBpZihXLkQmJiFXLmJ2KXtUPWZEdyhiKT9HWyIxaCJdfHxHWyI5aCJdP1siMWgiLCI5aCJdOlsiOSIsImgiXTpbIjEiLCI5IiwiaCJdO3gmJmsoe25ld2h5YnByZWY6VC5qb2luKCIuIil9KTtmb3IodmFyIFEgb2YgVClDPUMuY29uY2F0KEdbUV0pLmZpbHRlcihMdD0+THQpfWVsc2UgVy5uUz4wJiZBJiZoJiYoVD1beiwKbl0sQz1oLmNvbmNhdChBKS5maWx0ZXIoTHQ9Pkx0KSk7CmlmKEMubGVuZ3RoJiYhVy5idil7SEEoQyxUKTtpZih4KXt4PVtdO2Zvcih2YXIgViBvZiBDKXgucHVzaChWLml0YWcpO2soe2hiZGZtdDp4LmpvaW4oIi4iKX0pfXJldHVybiBnLkgwKG5ldyBwZyhDLE4sTCxEKSl9Vj1KSHIoVyk7Vj1nLmxfKFYsdik7aWYoIVYpe2lmKEdbel0pcmV0dXJuIGs9R1t6XSxIQShrKSxnLkgwKG5ldyBwZyhrLE4sTCxEKSk7eCYmayh7bm92aWRlbzoxfSk7cmV0dXJuIGcucCQoKX1WIT09IjEiJiZWIT09IjFoInx8IUdbbl18fChRPWZnKEdbVl0pLHY9ZmcoR1tuXSksdj5RP1Y9bjooUT12PT09USx2PUpUKEdbbl0pLHo9SlQoR1tWXSksIVF8fCF2fHxXLllaJiZ6fHwoVj1uKSkpO1Y9PT0iOSImJkcuaCYmZmcoRy5oKT5mZyhHWyI5Il0pJiYoVj0iaCIpO1cuQlYmJmIuaXNMaXZlJiZWPT09IigiJiZHLkgmJmZnKEdbIigiXSk8MTQ0MCYmKFY9IkgiKTt4JiZrKHt2Zm1seTpJcihWKX0pO1c9R1tWXTtpZighVy5sZW5ndGgpcmV0dXJuIHgmJmsoe25vdmZtbHk6SXIoVil9KSwKZy5wJCgpO0hBKFcpO3JldHVybiBnLkgwKG5ldyBwZyhXLE4sTCxEKSl9OwpTMmI9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4PSExKXtpZihXLkU1JiZoJiZoLmxlbmd0aD4xJiYhKFcublM+MHx8Vy5EKSl7bGV0IHI9Vy5XfHwhIXYsTj1yJiZXLkxCP2s6dm9pZCAwLEg9dFQoVyxiKSxBPVtdLHk9W10sVD17fTtmb3IobGV0IHo9MDt6PGgubGVuZ3RoO3orKyl7dmFyIEw9aFt6XSxlPWIuSi5nZXQoTCk7aWYoZSYmZS5pbmZvKXt2YXIgRz1lLmluZm87ZT1HLklCO2lmKHNEKFcsRyxELGIuaXNMaXZlKSl7TD1HLmZZKCk/QTp5O0c9SFtlXTtmb3IobGV0IEMgb2YgRylHPXJGKGUsQyxXKSxULmhhc093blByb3BlcnR5KEcpP1RbR109PT0hMCYmTC5wdXNoKEMpOnNEKFcsQyxELGIuaXNMaXZlKSYmKEwucHVzaChDKSxUW0ddPSEwKX1lbHNlIHImJmsoe29wZnU6TH0pfX1pZihBLmxlbmd0aCYmeS5sZW5ndGgpcmV0dXJuIHImJmsoe29wZm06QVswXS5pdGFnKyIsIit5WzBdLml0YWd9KSxnLkgwKG5ldyBwZyhBLHksTikpfXJldHVybiBJRGgobixXLEQsYix2LGsseCl9OwpZSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5OLmtleXMoKSl7bGV0IGI9bi5OLmdldChEKTtXLnB1c2goYCR7RH1fJHtiLm1heFdpZHRofV8ke2IubWF4SGVpZ2h0fWApfXJldHVybiBXLmpvaW4oIi4iKX07CkhLaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9RC52aWRlbz8uZnBzfHwwLHY9YCR7V31fJHtifWAsaz0hIUQuYXVkaW8saD1uLk4uZ2V0KHYpLHg9bi5OLmdldCh2KSxMPSEhRC5hdWRpbzt4JiYoTHx8IUwmJkQudmlkZW8/LmhlaWdodCYmeC5tYXhIZWlnaHQmJngubWF4SGVpZ2h0Pj1ELnZpZGVvPy5oZWlnaHQpfHwoeD1ELml0YWcsVz1oP2g6e2l0YWc6eCxJQjpXLGVTOmt9LGs/Vy5udW1DaGFubmVscz1ELmF1ZGlvLm51bUNoYW5uZWxzOihrPUQudmlkZW8sVy5tYXhXaWR0aD1rPy53aWR0aCxXLm1heEhlaWdodD1rPy5oZWlnaHQsVy5tYXhGcmFtZXJhdGU9YixXLm1heEJpdHJhdGVCcHM9RC5Ocyo4LFcuejk9az8uaXNIZHIoKSksbi5OLnNldCh2LFcpKX07CiQ1cj1mdW5jdGlvbihuLFcpe3ZhciBEPSEoIW4ubSYmIW4uTSksYj0hKCFuLm1hYzMmJiFuLk1BQzMpLHY9ISghbi5tZWFjMyYmIW4uTUVBQzMpO249ISghbi5pJiYhbi5JKTtXLlFyPW47cmV0dXJuIER8fGJ8fHZ8fG59OwpKVD1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLml0YWcmJkFIUy5oYXMoVy5pdGFnKSlyZXR1cm4hMDtyZXR1cm4hMX07CnNXYj1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLmF1ZGlvLmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giKXJldHVybiEwO3JldHVybiExfTsKSXI9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIioiOnJldHVybiJ2OGUiO2Nhc2UgIigiOnJldHVybiJ2OWUiO2Nhc2UgIihoIjpyZXR1cm4idjloZSI7ZGVmYXVsdDpyZXR1cm4gbn19OwpyRj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQuVEM/YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59XyR7ISFXLnZpZGVvPy5YfWA6YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59YH07CiRKPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKXtpZighbi5oYXNPd25Qcm9wZXJ0eShEKSljb250aW51ZTtsZXQgYj1EO1cucHVzaChJcihiKSk7Zm9yKGxldCB2IG9mIG5bYl0pVy5wdXNoKHYuaXRhZyl9cmV0dXJuIFcuam9pbigiLiIpfTsKdGdoPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17fSx4PXt9O2cuYV8oVywoTCxlKT0+e0w9TC5maWx0ZXIoRz0+e3ZhciByPUcuaXRhZztpZighRy5jb250ZW50UHJvdGVjdGlvbilyZXR1cm4geFtyXT0ibm9lbmMiLCExO2lmKGsuSEQmJkcuSUI9PT0iKGgiJiZrLmJkKXJldHVybiB4W3JdPSJsaWNoZHIiLCExO2lmKCFuLlgmJkcuSUI9PT0iMWUiKXJldHVybiB4W3JdPSJub2F2MWVuYyIsITE7aWYoRy5JQj09PSIoInx8Ry5JQj09PSIoaCIpe2lmKG4uSiYmRCYmRC5mbGF2b3I9PT0id2lkZXZpbmUiKXt2YXIgTj1HLm1pbWVUeXBlKyI7IGV4cGVyaW1lbnRhbD1hbGxvd2VkIjsoTj0hIUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiYhIUQuSltOXSl8fCh4W3JdPUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdPyJ1bnNwdCI6Im5vZmx2Iik7cmV0dXJuIE59aWYoIVNKKG4sQVQuQ1JZUFRPQkxPQ0tGT1JNQVQpJiYhbi5UQ3x8bi50dylyZXR1cm4geFtyXT1uLnR3PwoiZGlzdnAiOiJ2cHN1YiIsITF9cmV0dXJuIEQmJkcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiZELkpbRy5taW1lVHlwZV0/ITA6KHhbcl09RD9HLmNvbnRlbnRQcm90ZWN0aW9uW0QuZmxhdm9yXT8idW5zcHQiOiJub2ZsdiI6Im5vc3lzIiwhMSl9KTsKTC5sZW5ndGgmJihoW2VdPUwpfSk7CmImJk9iamVjdC5lbnRyaWVzKHgpLmxlbmd0aCYmdih7cmpyOmcuVEMoeCl9KTtpZihrLkopZm9yKGxldCBMIG9mIE9iamVjdC52YWx1ZXMoVykpaWYoTClmb3IobGV0IGUgb2YgTClXPXhbZS5pdGFnXSxlLk1XKCkmJlchPT12b2lkIDAmJihrLk5bZS5pdGFnXT1XKTtyZXR1cm4gaH07Ckc3VT1mdW5jdGlvbihuLFcpe3ZhciBEPWcudV8obiwoYix2KT0+di52aWRlby5KKCk/TWF0aC5taW4oYix2LnZpZGVvLndpZHRoKTpiLEluZmluaXR5KTsKRDxJbmZpbml0eSYmKG49bi5maWx0ZXIoYj0+e2lmKGIudmlkZW8uSigpfHxiLnZpZGVvLndpZHRoPEQpcmV0dXJuITA7V1tiLml0YWddPSJoZnJmaXJzdCI7cmV0dXJuITF9KSk7CmxiKCkmJihuPW4uZmlsdGVyKGI9PntpZihiLml0YWchPT0iMjk5IilyZXR1cm4hMDtXW2IuaXRhZ109InBzM2hmcjEwODAiO3JldHVybiExfSkpOwpyZXR1cm4gbn07CnEyQz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFc9Vy5maWx0ZXIoYj0+e2lmKGIudmlkZW8ucXVhbGl0eU9yZGluYWw8PW4ud2EpcmV0dXJuITA7RFtiLml0YWddPSJtYXhxdWFsaXR5IjtyZXR1cm4hMX0pfTsKdFQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2ZvcihsZXQgdiBpbiBXLk4pe2lmKCFXLk4uaGFzT3duUHJvcGVydHkodikpY29udGludWU7bGV0IGs9Vy5OW3ZdLmluZm87aWYobi5ZJiZrLnZpZGVvJiZrLnZpZGVvLnF1YWxpdHlPcmRpbmFsPG4uWSl7RCYmKERbay5pdGFnXT1gbWluJHtuLll9YCk7Y29udGludWV9bGV0IGg9ay5JQjtiW2hdPWJbaF18fFtdO2JbaF0ucHVzaChrKX1mb3IobGV0IHYgb2YgT2JqZWN0LmtleXMoYikpSEEoYlt2XSk7cmV0dXJuIGJ9OwpmZz1mdW5jdGlvbihuKXtyZXR1cm4gZy51XyhuLChXLEQpPT5NYXRoLm1heChXLEQudmlkZW8ucXVhbGl0eU9yZGluYWwpLDApfTsKc0Q9ZnVuY3Rpb24obixXLEQsYj0hMSx2PW5ldyBTZXQpe2lmKFcuSUI9PT0iIilyZXR1cm4idW5rbiI7aWYoKFcuaXRhZz09PSIzMDQifHxXLml0YWc9PT0iMjY2IikmJm4udHcpcmV0dXJuImJsazJraGZyIjtpZihuLksmJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5LKXJldHVybmBtYXgke24uS31gO2lmKG4uQ3UmJlcuSUI9PT0iaCImJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MClyZXR1cm4iYmxraGlnaDI2NCI7aWYoVy5JQj09PSIoaCImJiFELkspcmV0dXJuImVuY2hkciI7aWYoYiYmbUYoVykmJiFuLm51KXJldHVybiJibGs1MWxpdmUiO2lmKChXLklCPT09Ik1BQzMifHxXLklCPT09Im1hYzMiKSYmIW4uailyZXR1cm4iYmxrYWMzIjtpZigoVy5JQj09PSJNRUFDMyJ8fFcuSUI9PT0ibWVhYzMiKSYmIW4uVilyZXR1cm4iYmxrZWFjMyI7aWYoVy5JQj09PSJNInx8Vy5JQj09PSJtIilyZXR1cm4iYmxrYWFjNTEiO2lmKChXLklCPT09InNvInx8ClcuSUI9PT0ic2EiKSYmIW4uY0opcmV0dXJuImJsa2FtYiI7aWYoIW4uSEQmJktnKFcpJiYoIUQuWHx8Vy5JQiE9PSIxZSIpKXJldHVybiJjYmMiO2lmKCFELlgmJktnKFcpJiZXLklCPT09IjFlIilyZXR1cm4iY2JjYXYxIjtpZigoVy5JQj09PSJpInx8Vy5JQj09PSJJIikmJiFuLlZRKXJldHVybiJibGtpYW1mIjtpZihuLlJhJiZXLmF1ZGlvPy5OPT09ITApcmV0dXJuImJsa3ZiY2FiciI7aWYobi5UQyYmVy52aWRlbz8uWD09PSExKXJldHVybiJibGttdHZjYWJyIjtpZihuLnZKJiYoVy5JQj09PSIxInx8Vy5JQj09PSIxaCJ8fEQuWCYmVy5JQj09PSIxZSIpJiZXLnZpZGVvPy5xdWFsaXR5T3JkaW5hbCYmVy52aWRlbz8ucXVhbGl0eU9yZGluYWw+bi52SilyZXR1cm4iYXYxY2FwIjtiPUQuVy5nZXQoVy5JQik7aWYoIW4ualcmJmImJmIuZzE+MClyZXR1cm4gdi5hZGQoVy5JQiksImJ5ZXJyIjtpZihXLnZpZGVvPy5KKCkpe2lmKCFELmJkJiYhU0ooRCxBVC5GUkFNRVJBVEUpKXJldHVybiJjYXBIZnIiOwppZihuLlBYJiZXLnZpZGVvLnF1YWxpdHlPcmRpbmFsPj00MzIwKXJldHVybiJibGs4a2hmciI7aWYoVy5YKCkmJm4uVTUmJlcuY29udGVudFByb3RlY3Rpb24mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+PTE0NDApcmV0dXJuImRpc2FibGV2cDloZnIifWlmKG4uTnMmJlcuTnM+bi5OcylyZXR1cm4icmF0ZWNhcCI7aWYobi5TJD4wJiZXLmZZKCkmJlcudmlkZW8uaGVpZ2h0Pm4uUyQpcmV0dXJuIm12aGNhcCI7bj1PRChELFcpO3JldHVybiBuIT09ITA/bjohMH07CkhBPWZ1bmN0aW9uKG4sVz1bXSl7Zy5iZihuLChELGIpPT57dmFyIHY9Yi5Ocy1ELk5zO2lmKCFELmZZKCl8fCFiLmZZKCkpcmV0dXJuIHY7dmFyIGs9Yi52aWRlby5oZWlnaHQqYi52aWRlby53aWR0aC1ELnZpZGVvLmhlaWdodCpELnZpZGVvLndpZHRoOyFrJiZXJiZXLmxlbmd0aD4wJiYoRD1XLmluZGV4T2YoRC5JQikrMSxiPVcuaW5kZXhPZihiLklCKSsxLGs9RD09PTB8fGI9PT0wP2J8fC0xOkQtYik7a3x8KGs9dik7cmV0dXJuIGt9KX07ClBBPWZ1bmN0aW9uKG4sVyl7aWYoVz5uLngkKCkpbi5zZWdtZW50cz1bXTtlbHNle3ZhciBEPWcuejQobi5zZWdtZW50cyxiPT5iLmokPj1XLG4pOwpEPjAmJm4uc2VnbWVudHMuc3BsaWNlKDAsRCl9fTsKWmM9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K24uTik7bi5OKz0xO3JldHVybiBXfTsKVUQ9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQxNihuLm9mZnNldCtuLk4pO24uTis9MjtyZXR1cm4gV307CnlMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRJbnQzMihuLm9mZnNldCtuLk4pO24uTis9NDtyZXR1cm4gV307CkVEPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50MzIobi5vZmZzZXQrbi5OKTtuLk4rPTQ7cmV0dXJuIFd9OwppMz1mdW5jdGlvbihuKXt2YXIgVz1uLmRhdGE7dmFyIEQ9bi5vZmZzZXQrbi5OO1c9Vy5nZXRVaW50MzIoRCkqNDI5NDk2NzI5NitXLmdldFVpbnQzMihEKzQpO24uTis9ODtyZXR1cm4gV307CnUzPWZ1bmN0aW9uKG4sVz1OYU4pe2lmKGlzTmFOKFcpKXZhciBEPW4uc2l6ZTtlbHNlIGZvcihEPW4uTjtEPG4uc2l6ZSYmbi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K0QpIT09VzspKytEO1c9bmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLk4rbi5kYXRhLmJ5dGVPZmZzZXQsRC1uLk4pO24uTj1NYXRoLm1pbihEKzEsbi5zaXplKTtyZXR1cm4gcFIoVyl9Owpvcj1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLmRhdGEuYnl0ZU9mZnNldCxuLnNpemUpfTsKZEY9ZnVuY3Rpb24obixXLEQsYil7KG5ldyBVaW50OEFycmF5KG4uZGF0YS5idWZmZXIsbi5vZmZzZXQsYikpLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixEK1cuYnl0ZU9mZnNldCxiKSk7bi5vZmZzZXQrPWJ9Owp6Xz1mdW5jdGlvbihuLFcpe3JldHVybiBOdW1iZXIobi5kYXRhW1ddKXx8MH07ClRfPWZ1bmN0aW9uKG4pe3JldHVybiBuLmRhdGFbIkN1ZXBvaW50LVR5cGUiXT9uZXcgZy5sMygtKE51bWJlcihuLmRhdGFbIkN1ZXBvaW50LVBsYXloZWFkLVRpbWUtU2VjIl0pfHwwKSxOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1Ub3RhbC1EdXJhdGlvbi1TZWMiXSl8fDAsbi5kYXRhWyJDdWVwb2ludC1Db250ZXh0Il0sbi5kYXRhWyJDdWVwb2ludC1JZGVudGlmaWVyIl18fCIiLG01altuLmRhdGFbIkN1ZXBvaW50LUV2ZW50Il18fCIiXXx8InVua25vd24iLChOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1QbGF5aGVhZC1UaW1lLVNlYyJdKXx8MCkqMUUzKTpudWxsfTsKako9ZnVuY3Rpb24obil7cmV0dXJuIE51bWJlcihuLmRhdGFbIlN0YXJ0LU1lZGlhLVRpbWUtVXMiXSkvMUU2fHwwfTsKQ2c9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tSWQiXT9uLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKTpbXX07CkJBPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXSlmb3IobGV0IEQgb2Ygbi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1EdXJhdGlvbi1VcyJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSkpVy5wdXNoKChOdW1iZXIoRCl8fDApLzFFNik7cmV0dXJuIFd9OwpGcD1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LUZyYW1lLUluZGV4Il0pZm9yKGxldCBEIG9mIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tU3RhcnQtRnJhbWUtSW5kZXgiXS5zcGxpdCgiLCIpLnNsaWNlKDAsLTEpKVcucHVzaChOdW1iZXIoRCl8fDApO3JldHVybiBXfTsKd0Y9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1UaW1lLVdpdGhpbi1BZC1VcyJdKWZvcihsZXQgRCBvZiBuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LVRpbWUtV2l0aGluLUFkLVVzIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKSlXLnB1c2goKE51bWJlcihEKXx8MCkvMUU2KTtyZXR1cm4gV307CmcuTWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdP24uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdOiIifTsKZy5Scj1mdW5jdGlvbihuKXtzd2l0Y2gobi5kYXRhWyJJcy1BZC1CcmVhay1GaW5pc2hlZCJdKXtjYXNlICJ0cnVlIjpyZXR1cm4gMTtjYXNlICJmYWxzZSI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19OwpRTD1mdW5jdGlvbihuKXt2YXIgVz17fTtuPW4uc3BsaXQoIlxyXG4iKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKyl7aWYobltEXS5sZW5ndGg9PT0wKXJldHVybiBXO2xldCBiPW5bRF0ubWF0Y2goLyhbXjpdKyk6XHMrKFtcU1xzXSspLyk7YiE9bnVsbCYmKFdbYlsxXV09YlsyXSl9cmV0dXJuIG51bGx9OwpnLm5zPWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vz1hcihiLnR5cGUpP1crODpXK2Iuc2l6ZX1yZXR1cm4gbnVsbH07Cld3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTk1Mjg2ODQ1Mik7bj1nLm5zKG4sMCwxOTUzNjU4MjIyKTtpZihEJiZuKXtELnNraXAoMSk7dmFyIGI9WmMoRCk8PDE2fFVEKEQpO0Quc2tpcCg0KTtiJjEmJkQuc2tpcCg4KTtiJjImJkQuc2tpcCg0KTtpZihiJjgpe2I9RC5OO3ZhciB2PUVEKEQpO0QuZGF0YS5zZXRVaW50MzIoRC5vZmZzZXQrYixXPjE/TWF0aC5jZWlsKHYqVyk6TWF0aC5mbG9vcih2KlcpKX1uLnNraXAoMSk7RD1aYyhuKTw8MTZ8VUQobik7aWYoRCYyNTYpe2I9RCYxO3Y9RCY0O3ZhciBrPUQmNTEyLGg9RCYxMDI0LHg9RCYyMDQ4O0Q9RUQobik7YiYmbi5za2lwKDQpO3YmJm4uc2tpcCg0KTtiPShrPzQ6MCkrKGg/NDowKSsoeD80OjApO2Zvcih2PTA7djxEO3YrKylrPW4uTixoPUVEKG4pLG4uZGF0YS5zZXRVaW50MzIobi5vZmZzZXQrayxXPjE/TWF0aC5jZWlsKGgqVyk6TWF0aC5mbG9vcihoKlcpKSxuLnNraXAoYil9fX07ClZMPWZ1bmN0aW9uKG4sVyl7aWYobi5ieXRlTGVuZ3RoLVc8OClyZXR1cm4hMTt2YXIgRD1uLmdldFVpbnQzMihXKTtpZihEPDh8fG4uYnl0ZUxlbmd0aC1XPEQpcmV0dXJuITE7Zm9yKEQ9NDtEPDg7RCsrKXtsZXQgYj1uLmdldEludDgoVytEKTtpZihiPDQ4fHxiPjEyMilyZXR1cm4hMX1yZXR1cm4hMH07CmNBPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRVaW50MzIoVyksYj1uLmdldFVpbnQzMihXKzQpO3JldHVybiBuZXcgRF8obixXLEQsYil9OwpnLmJMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50OChuLmRhdGFPZmZzZXQpPzIwOjEyO3JldHVybiBuLmRhdGEuZ2V0VWludDMyKG4uZGF0YU9mZnNldCtXKX07CnZ3PWZ1bmN0aW9uKG4pe249bmV3IERhdGFWaWV3KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpO3JldHVybihuPWcubnMobiwwLDE4MzY0NzY1MTYpKT9nLmJMKG4pOk5hTn07Cmt4PWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vys9Yi5zaXplfXJldHVybiBudWxsfTsKYXI9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0xNzAxMDgyMjI3fHxuPT09MTgzNjAxOTU1OHx8bj09PTE4MzYwMTk1NzR8fG49PT0xODM1Mjk3MTIxfHxuPT09MTgzNTYyNjA4Nnx8bj09PTE5MzcwMDcyMTJ8fG49PT0xOTUzNjUzMDk0fHxuPT09MTk1MzY1MzA5OXx8bj09PTE4MzY0NzU3Njh9OwpLaDI9ZnVuY3Rpb24obil7dmFyIFc9Zy5ucyhuLDAsMTkzNzAxMTU1Nik7aWYoIVcpcmV0dXJuIG51bGw7Vz1reChuLFcuZGF0YU9mZnNldCs4LDE2MzUxNDg1OTMpfHxreChuLFcuZGF0YU9mZnNldCs4LDE2MzUxMzU1MzcpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPWt4KG4sVy5kYXRhT2Zmc2V0Kzc4LDE5MzY5OTUxNzIpLGI9a3gobixXLmRhdGFPZmZzZXQrNzgsMTkzNzEyNjI0NCk7aWYoIWIpcmV0dXJuIG51bGw7Vz1udWxsO2lmKEQpc3dpdGNoKEQuc2tpcCg0KSxaYyhEKSl7ZGVmYXVsdDpXPTA7YnJlYWs7Y2FzZSAxOlc9MjticmVhaztjYXNlIDI6Vz0xO2JyZWFrO2Nhc2UgMzpXPTI1NX12YXIgdj1EPW51bGwsaz1udWxsO2lmKGI9a3gobixiLmRhdGFPZmZzZXQsMTg4NjU0NzgxOCkpe2xldCBoPWt4KG4sYi5kYXRhT2Zmc2V0LDE4ODY1NDYwMjApLHg9a3gobixiLmRhdGFPZmZzZXQsMjAzNzY3MzMyOCk7aWYoIXgmJih4PWt4KG4sYi5kYXRhT2Zmc2V0LDE4MzYyNzk5MjApLAoheCkpcmV0dXJuIG51bGw7aCYmKGguc2tpcCg0KSxEPXlMKGgpLzY1NTM2LGs9eUwoaCkvNjU1MzYsdj15TChoKS82NTUzNik7bj1vcih4KTtuPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQrOCxuLmJ5dGVMZW5ndGgtOCk7cmV0dXJuIG5ldyBoWShXLEQsayx2LG4pfXJldHVybiBudWxsfTsKZy54eD1mdW5jdGlvbihuKXtpZihuLmRhdGEuZ2V0VWludDgobi5kYXRhT2Zmc2V0KSl7dmFyIFc9bi5kYXRhO249bi5kYXRhT2Zmc2V0KzQ7Vz1XLmdldFVpbnQzMihuKSo0Mjk0OTY3Mjk2K1cuZ2V0VWludDMyKG4rNCl9ZWxzZSBXPW4uZGF0YS5nZXRVaW50MzIobi5kYXRhT2Zmc2V0KzQpO3JldHVybiBXfTsKTHM9ZnVuY3Rpb24obil7bj1uZXcgRF8obi5kYXRhLG4ub2Zmc2V0LG4uc2l6ZSxuLnR5cGUsbi5KKTt2YXIgVz1aYyhuKTtuLnNraXAoNyk7dmFyIEQ9RUQobik7aWYoVz09PTApe1c9RUQobik7dmFyIGI9RUQobil9ZWxzZSBXPWkzKG4pLGI9aTMobik7bi5za2lwKDIpO3ZhciB2PVVEKG4pLGs9W10saD1bXTtmb3IobGV0IHg9MDt4PHY7eCsrKXtsZXQgTD1FRChuKTtrLnB1c2goTCk7aC5wdXNoKEVEKG4pKTtuLnNraXAoNCl9cmV0dXJue3RpbWVzY2FsZTpELGY4OlcsTm86YixIczprLHFnOmh9fTsKZy5lUD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wLGI9W107VkwobixEKTspe2xldCB2PWNBKG4sRCk7di50eXBlPT09VyYmYi5wdXNoKHYpO0Q9YXIodi50eXBlKT9EKzg6RCt2LnNpemV9cmV0dXJuIGJ9OwpnQT1mdW5jdGlvbihuKXtuLnNraXAoNCk7cmV0dXJue1d6OnUzKG4sMCksdmFsdWU6dTMobiwwKSx0aW1lc2NhbGU6RUQobiksbzc6RUQobiksZXZlbnREdXJhdGlvbjpFRChuKSxpZDpFRChuKSxadzp1MyhuKSxvZmZzZXQ6bi5vZmZzZXR9fTsKZy5xaz1mdW5jdGlvbihuKXt2YXIgVz1reChuLDAsMTcwMTY3MTc4Myk7aWYoIVcpcmV0dXJuIG51bGw7dmFyIEQ9Z0EoVyksYj1ELld6O0Q9UUwoRC5adyk7aWYobj1reChuLFcub2Zmc2V0K1cuc2l6ZSwxNzAxNjcxNzgzKSlpZihuPWdBKG4pLG49UUwobi5adyksRCYmbilmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobikpRFt2XT1uW3ZdO3JldHVybiBEP25ldyBYNShELGIpOm51bGx9OwpHaj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1reChuLDAsVyk7RDspe3ZhciBiPUQ7Yi50eXBlPTE5MzY0MTkxODQ7Yi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpO0Q9a3gobixELm9mZnNldCtELnNpemUsVyl9fTsKUElDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTkzNzAxMTU1NiksYj1nLm5zKG4sMCwxOTUzNjU0MTM2KTtpZighRHx8IWJ8fG4uZ2V0VWludDMyKEQub2Zmc2V0KzEyKT49MilyZXR1cm4gbnVsbDt2YXIgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoKSxrPWcubnModiwwLDE5MzcwMTE1NTYpO2lmKCFrKXJldHVybiBudWxsO1c9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzgpO2I9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzEyKTtpZihiIT09MTcwMTczMzIxNyYmYiE9PTE3MDE3MzMyMzgpcmV0dXJuIG51bGw7Yj1uZXcgT0t0KG4uYnl0ZUxlbmd0aCtXKTtkRihiLG4sMCxELm9mZnNldCsxMik7Yi5kYXRhLnNldEludDMyKGIub2Zmc2V0LDIpO2Iub2Zmc2V0Kz00O2RGKGIsbixELm9mZnNldCsxNixELnNpemUtMTYpO2RGKGIsdix2LmJ5dGVPZmZzZXQray5kYXRhT2Zmc2V0KzgsVyk7ZEYoYixuLEQub2Zmc2V0K0Quc2l6ZSxuLmJ5dGVMZW5ndGgtCihELm9mZnNldCtELnNpemUpKTtEPVsxODM2MDE5NTc0LDE5NTM2NTMwOTksMTgzNTI5NzEyMSwxODM1NjI2MDg2LDE5MzcwMDcyMTIsMTkzNzAxMTU1Nl07Zm9yKGxldCBoIG9mIEQpRD1nLm5zKG4sMCxoKSxiLmRhdGEuc2V0VWludDMyKEQub2Zmc2V0LEQuc2l6ZStXKTtuPWcubnMoYi5kYXRhLDAsMTk1MzY1NDEzNik7Yi5kYXRhLnNldFVpbnQzMihuLm9mZnNldCsxNiwyKTtyZXR1cm4gYi5kYXRhfTsKWktaPWZ1bmN0aW9uKG4pe3ZhciBXPWcubnMobiwwLDE5MzcwMTE1NTYpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPW4uZ2V0VWludDMyKFcuZGF0YU9mZnNldCsxMik7aWYoRCE9PTE3MDE3MzMyMTcmJkQhPT0xNzAxNzMzMjM4KXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCsyNCsoRD09PTE3MDE3MzMyMTc/Mjg6NzgpLDE5MzYyODkzODIpO2lmKCFXKXJldHVybiBudWxsO0Q9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzcpO2lmKCFEfHxuLmdldFVpbnQzMihELm9mZnNldCsxMikhPT0xNjY3MzkyMzcxKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzMpO2lmKCFXKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5NTI4MDQ0NTEpO2lmKCFXKXJldHVybiBudWxsO0Q9bmV3IFVpbnQ4QXJyYXkoMTYpO2ZvcihsZXQgYj0wO2I8MTY7YisrKURbYl09bi5nZXRJbnQ4KFcub2Zmc2V0KzE2K2IpO3JldHVybiBEfTsKWXg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyB0WShEKTtpZighJHgoYixuKSlyZXR1cm4hMTtiPXJBKGIpO2lmKCFzWShiLFcpKXJldHVybiExO2ZvcihuPTA7VzspVz4+Pj04LG4rKztXPWIuc3RhcnQrYi5wb3M7dmFyIHY9TmsoYiwhMCk7Yj1uKyhiLnN0YXJ0K2IucG9zLVcpK3Y7Yj1iPjk/cHMoYi05LDgpOnBzKGItMiwxKTtuPVctbjtELnNldFVpbnQ4KG4rKywyMzYpO2ZvcihXPTA7VzxiLmxlbmd0aDtXKyspRC5zZXRVaW50OChuKyssYltXXSk7cmV0dXJuITB9Owpwcz1mdW5jdGlvbihuLFcpe1d8fChXPU1hdGguY2VpbChNYXRoLmxvZyhuKzIpL01hdGgubG9nKDIpLzcpKTtmb3IodmFyIEQ9MTw8OC1XLGI9W107Yi5sZW5ndGg8Vy0xOyliLnVuc2hpZnQobiUyNTYpLG49TWF0aC5mbG9vcihuLzI1Nik7Yi51bnNoaWZ0KG58RCk7cmV0dXJuIGJ9OwpVNVo9ZnVuY3Rpb24obil7dmFyIFc9bmV3IHRZKG4pO1cuT0ooKTtpZigkeChXLFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdKSlXPXJBKFcpO2Vsc2UgcmV0dXJuIG51bGw7Zm9yKHZhciBEPW49bnVsbDshSHcoVyk7KXt2YXIgYj1OayhXLCExKTtpZihiPT09MjE0MzIpc3dpdGNoKGZzKFcpKXtkZWZhdWx0Om49MDticmVhaztjYXNlIDE6bj0xO2JyZWFrO2Nhc2UgMzpuPTI7YnJlYWs7Y2FzZSAxNTpuPTI1NX1lbHNlIGI9PT0zMDMyMD9EPXJBKFcpOkpZKFcpfWlmKCFEKXJldHVybiBudWxsO2Zvcih2YXIgdixrPWI9Vz1udWxsOyFIdyhEKTspc3dpdGNoKE5rKEQsITEpKXtjYXNlIDMwMzIxOmlmKGZzKEQpIT09MylyZXR1cm4gbnVsbDticmVhaztjYXNlIDMwMzI0Olc9SUIoRCk7YnJlYWs7Y2FzZSAzMDMyMzprPUlCKEQpO2JyZWFrO2Nhc2UgMzAzMjU6Yj1JQihEKTticmVhaztjYXNlIDMwMzIyOnY9TmsoRCwhMCk7dj1TUChELHYpO3Y9bmV3IERhdGFWaWV3KHYuYnVmZmVyLAp2LmJ5dGVPZmZzZXQsdi5ieXRlTGVuZ3RoKTticmVhaztkZWZhdWx0OkpZKEQpfXJldHVybiB2P25ldyBoWShuLFcsayxiLHYpOm51bGx9OwokeD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtpZighc1kobixXW0RdKSlyZXR1cm4hMTtEIT09Vy5sZW5ndGgtMSYmTmsobiwhMCl9cmV0dXJuITB9OwpyQT1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPW4uTi5ieXRlT2Zmc2V0K24ucG9zO0Q9bmV3IERhdGFWaWV3KG4uTi5idWZmZXIsRCxNYXRoLm1pbihXLG4uTi5idWZmZXIuYnl0ZUxlbmd0aC1EKSk7RD1uZXcgdFkoRCxuLnN0YXJ0K24ucG9zKTtuLnBvcys9VztyZXR1cm4gRH07CnNZPWZ1bmN0aW9uKG4sVyxEPSExKXtpZihIdyhuKSlyZXR1cm4hMTtmb3IodmFyIGI9bi5wb3M7TmsobiwhMSkhPT1XOylpZihKWShuKSxiPW4ucG9zLEh3KG4pKXJldHVybiExO0QmJihuLnBvcz1iKTtyZXR1cm4hMH07Ck5rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QVkobik7aWYoRD09PTEpe0Q9MDtmb3IoVz0wO1c8NztXKyspRD1EKjI1NitBWShuKTtyZXR1cm4gRH12YXIgYj0xMjg7Zm9yKGxldCB2PTA7djw2JiZiPkQ7disrKUQ9RCoyNTYrQVkobiksYio9MTI4O3JldHVybiBXP0QtYjpEfTsKSHc9ZnVuY3Rpb24obil7cmV0dXJuIG4ucG9zPj1uLk4uYnl0ZUxlbmd0aH07CmZzPWZ1bmN0aW9uKG4pe3ZhciBXPU5rKG4sITApLEQ9QVkobik7Zm9yKGxldCBiPTE7YjxXO2IrKylEPUQqMjU2K0FZKG4pO3JldHVybiBEfTsKSlk9ZnVuY3Rpb24obil7dmFyIFc9TmsobiwhMCk7bi5wb3MrPVd9OwpJQj1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPTA7Vz09PTQ/RD1uLk4uZ2V0RmxvYXQzMihuLnBvcyk6Vz09PTgmJihEPW4uTi5nZXRGbG9hdDY0KG4ucG9zKSk7bi5wb3MrPVc7cmV0dXJuIER9OwpTUD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrbi5wb3MsVyk7bi5wb3MrPVc7cmV0dXJuIER9OwptdD1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKTtyZXR1cm4gcFIoU1AobixXKSl9OwpBWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmdldFVpbnQ4KG4ucG9zKyspfTsKeUhyPWZ1bmN0aW9uKG4pe2lmKCFzWShuLDQ0MDc4Njg1MSwhMCkpcmV0dXJuIG51bGw7dmFyIFc9bi5wb3M7TmsobiwhMSk7dmFyIEQ9TmsobiwhMCkrbi5wb3MtVztuLnBvcz1XK0Q7aWYoIXNZKG4sNDA4MTI1NTQzLCExKSlyZXR1cm4gbnVsbDtOayhuLCEwKTtpZighc1kobiwzNTcxNDkwMzAsITApKXJldHVybiBudWxsO3ZhciBiPW4ucG9zO05rKG4sITEpO3ZhciB2PU5rKG4sITApK24ucG9zLWI7bi5wb3M9Yit2O2lmKCFzWShuLDM3NDY0ODQyNywhMCkpcmV0dXJuIG51bGw7dmFyIGs9bi5wb3M7TmsobiwhMSk7dmFyIGg9TmsobiwhMCkrbi5wb3Mtayx4PW5ldyBVaW50OEFycmF5KEQrMTIrditoKSxMPW5ldyBEYXRhVmlldyh4LmJ1ZmZlcik7eC5zZXQobmV3IFVpbnQ4QXJyYXkobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCtXLEQpKTtMLnNldFVpbnQzMihELDQwODEyNTU0Myk7TC5zZXRVaW50MzIoRCs0LDMzNTU0NDMxKTtMLnNldFVpbnQzMihEKzgsNDI5NDk2NzI5NSk7Cnguc2V0KG5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrYix2KSxEKzEyKTt4LnNldChuZXcgVWludDhBcnJheShuLk4uYnVmZmVyLG4uTi5ieXRlT2Zmc2V0K2ssaCksRCsxMit2KTtyZXR1cm4geH07CktzPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9zO24ucG9zPTA7dmFyIEQ9MUU2OyR4KG4sWzQwODEyNTU0MywzNTcxNDkwMzAsMjgwNzcyOV0pJiYoRD1mcyhuKSk7bi5wb3M9VztyZXR1cm4gRH07ClB3PWZ1bmN0aW9uKG4pe2lmKCFPWShuKXx8IXNZKG4sNTI0NTMxMzE3KSlyZXR1cm4hMTtOayhuLCEwKTtyZXR1cm4hMH07CkVFWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucG9zO24ucG9zPTA7aWYobi5OLmdldFVpbnQ4KG4ucG9zKSE9PTE2MCYmIVB3KG4pfHwhc1kobiwxNjApKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTt2YXIgYj1uLnBvcztpZighc1kobiwxNjEpKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTtBWShuKTt2YXIgdj1BWShuKTw8OHxBWShuKTtuLnBvcz1iO2lmKCFzWShuLDE1NSkpcmV0dXJuIG4ucG9zPUQsTmFOO2I9ZnMobik7bi5wb3M9RDtyZXR1cm4oditiKSpXLzFFOX07Ck9ZPWZ1bmN0aW9uKG4pe2lmKG4uT0ooKSl7aWYoIXNZKG4sNDA4MTI1NTQzKSlyZXR1cm4hMTtOayhuLCEwKX1yZXR1cm4hMH07ClpfPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5pbmRleE9mKCI/Iik7aWYoRD4wKXtsZXQgYj1nNygxLDUwLFcuc3Vic3RyaW5nKEQrMSkpO2cuYV8oYixmdW5jdGlvbih2LGspe3RoaXMuc2V0KGssdil9LG4pOwpXPVcuc3Vic3RyaW5nKDAsRCl9Vz1pcCgxNSw4MjUsVyk7Zy5hXyhXLGZ1bmN0aW9uKGIsdil7dGhpcy5zZXQodixiKX0sbil9OwppS1U9ZnVuY3Rpb24obil7dmFyIFc9bi5BTy5XRCgpLEQ9W107Zy5hXyhuLk4sKHYsayk9PntELnB1c2goYCR7a309JHt2fWApfSk7CmlmKCFELmxlbmd0aClyZXR1cm4gVzt2YXIgYj1ELmpvaW4oIiYiKTtuPVAwKDgzLDY1ODgsbi5BTyk/IiYiOiI/IjtyZXR1cm4gVytuK2J9OwpVWT1mdW5jdGlvbihuLFcpe25bV118fChuW1ddPW5ldyB1VGkpO3JldHVybiBuW1ddfTsKeWY9ZnVuY3Rpb24obixXPSExKXtXJiYobi5KKz0xKTtuLk4rPTF9OwpvRWk9ZnVuY3Rpb24obixXPSExKXtuLnRpbWVkT3V0Kz0xO1cmJnlmKG4sITApfTsKemo9ZnVuY3Rpb24obixXPSExKXtXJiYobi5YPSgwLGcuUikoKSxuLko9MCk7bi5WPSgwLGcuUikoKTtuLnN0YXJ0ZWQ9MDtuLnRpbWVkT3V0PTA7bi5OPTB9OwpsTD1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRClyZXR1cm4gMTw8TWF0aC5taW4obi5KLDUpO0Q9bi5zdGFydGVkK24uTio0O1cmJihEKz1uLlcpO0Q9TWF0aC5tYXgoMCxELTMpO3JldHVybiAxLjYqKkR9OwpqUD1mdW5jdGlvbihuLFcsRCl7aWYoZ1ooMzgsMTIwMixuLk4pKXJldHVybiExO3ZhciBiPVVZKEQsUjAoMzUsMzUwNyxuLk4pKTtpZihiLnRpbWVkT3V0PDEmJmIuTjwxKXJldHVybiExO2I9Yi50aW1lZE91dCtiLk47bj1UaihuLFcpO0Q9VVkoRCxSMCgzMiwzNTA0LG4pKTtyZXR1cm4gRC50aW1lZE91dCtELk4rMDxifTsKVGo9ZnVuY3Rpb24obixXKXtXPVc/Vy5vTTohMTtuLlh8fChuLlg9WGQobi5XLFcpKTtyZXR1cm4gbi5YfTsKQnc9ZnVuY3Rpb24obixXLEQpe249Vz9UaihuLEQpOm4uTjtyZXR1cm4gbmV3IENzKG4pfTsKRjU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBSMCgzNSwzNTA3LFc/VGoobixEKTpuLk4pfTsKd0E9ZnVuY3Rpb24obixXLEQsYix2KXsrK24uSjtXJiYrK24uVjtSMCgzMiwzNTA0LEQuQU8pLnN0YXJ0c1dpdGgoInJlZGlyZWN0b3IuIikmJihuLk49bi5XLmNsb25lKCksZGVsZXRlIG4uWCxiLnBFJiZkZWxldGUgdltSMCg2NywzNTM5LG4uTildKX07Ck1rPWZ1bmN0aW9uKG4pe3JldHVybiBuP2Ake24uaXRhZ3x8IiJ9OyR7bi5sbXR8fDB9OyR7bi54dGFnc3x8IiJ9YDoiIn07ClFmPWZ1bmN0aW9uKG4sVyl7bi5pbmZvJiZuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIiYmIW4uTyYmKGcuUkIobi5pbmZvKT9uLk89S2gyKFcpOm4uaW5mby5xSCgpJiYobi5PPVU1WihXKSkpfTsKY3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWsoZy5WZihuLmluZm8sVykpfTsKbno9ZnVuY3Rpb24obil7bj1uLnNwbGl0KCItIik7dmFyIFc9TnVtYmVyKG5bMF0pLEQ9TnVtYmVyKG5bMV0pO2lmKCFpc05hTihXKSYmIWlzTmFOKEQpJiZuLmxlbmd0aD09PTImJihuPW5ldyBhQihXLEQpLCFpc05hTihuLnN0YXJ0KSYmIWlzTmFOKG4uZW5kKSYmIWlzTmFOKG4ubGVuZ3RoKSYmbi5sZW5ndGg+MCkpcmV0dXJuIG59OwpXXz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgYUIobixuK1ctMSl9OwpESj1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gbmV3IGFCKDAsMCk7dmFyIFc9TnVtYmVyKG4uc3RhcnQpO249TnVtYmVyKG4uZW5kKTtpZighaXNOYU4oVykmJiFpc05hTihuKSYmKFc9bmV3IGFCKFcsbiksVy5sZW5ndGg+MCkpcmV0dXJuIFd9OwpkNXc9ZnVuY3Rpb24obil7bi5sZW5ndGg9PT0xfHxnLmR6KG4sRD0+ISFELnJhbmdlKTsKZm9yKHZhciBXPTE7VzxuLmxlbmd0aDtXKyspO1c9bltuLmxlbmd0aC0xXTtyZXR1cm4gbmV3IGFCKG5bMF0ucmFuZ2Uuc3RhcnQrblswXS5OLFcucmFuZ2Uuc3RhcnQrVy5OK1cuSi0xKX07CmJUPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUEo9PT1XLlBKP24ucmFuZ2UmJlcucmFuZ2U/bi5yYW5nZS5zdGFydCtuLk4rbi5KPT09Vy5yYW5nZS5zdGFydCtXLk46bi5qJD09PVcuaiQ/bi5OK24uSj09PVcuTjpuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaOiExfTsKdl89ZnVuY3Rpb24obil7bi5YPW4uc2VnbWVudFN0YXJ0VGltZTtuLks9bi5XO24uaj1uLlgrbi5LfTsKa049ZnVuY3Rpb24obil7cmV0dXJuIG4ucmFuZ2U/bi5qOk1hdGgubWluKG4uc2VnbWVudFN0YXJ0VGltZStNYXRoLm1pbihuLk4vbi5QSi5pbmZvLk5zLG4uVykrKG4ucmFuZ2U/bi5LOk1hdGgubWluKG4uVyxuLkovbi5QSi5pbmZvLk5zKSksbi5zZWdtZW50U3RhcnRUaW1lK24uVyl9Owp6QTI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPSEoIVd8fFcuUEohPT1uLlBKfHxXLnR5cGUhPT1uLnR5cGV8fFcuaiQhPT1uLmokKTtyZXR1cm4gRD9iJiYhIVcmJihuLnJhbmdlJiZXLnJhbmdlP1cucmFuZ2UuZW5kPT09bi5yYW5nZS5lbmQ6Vy5yYW5nZT09PW4ucmFuZ2UpJiZXLk4rVy5KPT09bi5OK24uSjpifTsKaEo9ZnVuY3Rpb24obil7cmV0dXJuIG4udHlwZT09PTF8fG4udHlwZT09PTJ9Owp4Tj1mdW5jdGlvbihuKXtyZXR1cm4gbi50eXBlPT09M3x8bi50eXBlPT09Nn07Ckx6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGJUKG4sVyl8fE1hdGguYWJzKG4uai1XLlgpPD0xRS02fHxuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaPyEwOiExfTsKZXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5qJCE9PVcuaiQmJlcuaiQhPT1uLmokKzF8fG4udHlwZSE9PVcudHlwZT8hMTpiVChuLFcpPyEwOk1hdGguYWJzKG4uWC1XLlgpPD0xRS02JiZuLmokPT09Vy5qJD8hMTpMeihuLFcpfTsKZ2s9ZnVuY3Rpb24obil7cmV0dXJuIG4uaiQrKG4uYVo/MTowKX07Clh4PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O1cuaXRhZz1uLlBKLmluZm8uaXRhZztXLnR5cGU9YCR7bi50eXBlfWA7Vy5zcmM9YCR7bi5zb3VyY2V9YDtXLnNlZ3NyYz1uLlk7Vy5zZWc9U3RyaW5nKG4uaiQpO24ucmFuZ2UmJihXLnJhbmdlPWAke24ucmFuZ2Uuc3RhcnQrbi5OfS0ke24ucmFuZ2Uuc3RhcnQrbi5OK24uSi0xfWApO1cudGltZT1gJHtuLlgudG9GaXhlZCgxKX0tJHsobi5YK24uSykudG9GaXhlZCgxKX1gO1cub2ZmPVN0cmluZyhuLk4pO1cubGVuPVN0cmluZyhuLkopO24uYVomJihXLmVuZD0iMSIpO24uVigpJiYoVy5lb3M9IjEiKTtuLmNsaXBJZCYmKFcuY2lkPW4uY2xpcElkKTtyZXR1cm4gV307CmxEeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IHFJKG4udHlwZSxuLlBKLG4ucmFuZ2UsImdldEVtcHR5U3R1YkJlZm9yZSIrbi5ZLG4uaiQsbi5zZWdtZW50U3RhcnRUaW1lLDAsbi5OLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKVEQxPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgcUkobi50eXBlLG4uUEosbi5yYW5nZSwiZ2V0RW1wdHlTdHViQWZ0ZXIiK24uWSxuLmokLG4uc2VnbWVudFN0YXJ0VGltZStuLlcsMCxuLk4rbi5KLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKR1A9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIG5ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJyZXNsaWNlIituLlksbi5qJCxuLnNlZ21lbnRTdGFydFRpbWUsbi5XLFcsRCxiLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKdEo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5yYW5nZSYmVy5yYW5nZT9uLnJhbmdlLnN0YXJ0K24uTj49Vy5yYW5nZS5zdGFydCtXLk4mJm4ucmFuZ2Uuc3RhcnQrbi5OK24uSjw9Vy5yYW5nZS5zdGFydCtXLk4rVy5KOm4uaiQ9PT1XLmokJiZuLk4+PVcuTiYmKG4uTituLko8PVcuTitXLkp8fFcuYVopfTsKJE49ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5jSigpJiZXLnR5cGU9PT0zJiZuLlBKLk4oKT8obj1uLlBKLlZRKG4pLGcub00obixEPT4kTihELFcpKSk6bi5qJD09PVcuaiQmJiEhVy5KJiZXLk4rVy5KPm4uTiYmVy5OK1cuSjw9bi5OK24uSn07Ck92PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCksRD1uLmg1KCksYj1ELmVfKCksdj1uLkcoKSxrPW4uZDAoKSxoPWsuVDEqOC8xMDI0LHg9ay54WS8xMDI0LEw9ay5LVCxlPWsuU1UsRz1rLk1BLHI9RC5nZXRDdXJyZW50VGltZSgpLnRvRml4ZWQoMiksTj1yayhELkooKSwiLCIsMyk7dmFyIEg9IiI7aWYoVy5pc0RhaUVuYWJsZWQoKSl7SD1OSShXKT9IKyJNViI6Vy5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaT9IKyJTUyI6SCsiQ1MiO0g9Vy5ERigpP0grIkxJRkEsICI6SCsiREFJLCAiO1cuYlYmJihIKz0iREFJRkIsICIpO3ZhciBBPWsuZEM7QSYmKEgrPUEpfWVsc2UgVy5LZj9IKz0iQ1NEQUksICI6Vy5KbD9IKz0iRFNEQUksICI6Vy5qRiYmKEgrPSJVU0RBSSwgIik7cHooVykmJiFXLkRGKCkmJihIKz0iTElGQUUsICIpO2cuWU4oVykmJihIKz0iU0FCUiwgIik7aWYoVy5mZXRjaFR5cGUpe3N3aXRjaChXLmZldGNoVHlwZSl7Y2FzZSAib25lc2llIjpBPSJvIjticmVhazsKY2FzZSAiZ3AiOkE9ImdwIjticmVhaztkZWZhdWx0OkE9Imd2aSJ9SCs9YHZkOiR7QX0sIGB9KEE9di5qXygpKSYmKEg9QS5pc0FzbWpzP0grIndhLCAiOkgrIncsICIpO0grPWBzOiR7R30gdDoke3J9IGI6JHtOfSBgO0QuaXNTZWVraW5nKCkmJihIKz0iUyIpO0QuaXNQYXVzZWQoKSYmKEgrPSJQIik7RC5pc0VuZGVkKCkmJihIKz0iRSIpO24uaXNPcmNoZXN0cmF0aW9uTGVhZGVyKCkmJihIKz0iIEwiKTsoRD1rLmVJKSYmKEgrPWAgbDoke0QudG9GaXhlZCgpfWApO0Q9ay5jdXJyZW50VGltZTtHPVcueW47RCYmRD5HLnN0YXJ0JiZEPEcuZW5kJiYoSCs9IiBhcyIpO0Q9UFYob0wpKCJfc3RhcnQiLHZvaWQgMCk7Rz1bXTtmb3IoeSBvZlsicGxfaSIsInZpciIsIm9yX3AiLCJvcmZiIiwicGJzIl0pKHI9UFYob0wpKHksdm9pZCAwKSkmJkQmJihyLT1ELEcucHVzaChgJHt5fToke01hdGgucm91bmQocil9YCkpO3ZhciB5PUcuam9pbigiICIpO0Q9Zy5IXygpO0c9Zy5meihuKS52VDtyPQpXLlcmJiFXLlcuTigpPyJkaXNwbGF5Om5vbmUiOiIiO2lmKChOPVcuY2xpZW50UGxheWJhY2tOb25jZSkmJk4ubGVuZ3RoPT0xNil7Tis9IkFBQUEiO0E9MDt2YXIgVD0iIjtmb3IobGV0IEM9MDtDPDIwO0MrKylpZihBPShBPDw2KSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuaW5kZXhPZihOLmNoYXJBdChDKSksQyU1PT00KXtsZXQgUT0iIjtmb3IobGV0IFY9MDtWPDY7VisrKVE9IjAxMjM0NTY3ODlBQkNERUZHSEpLTU5QUVJTVFZXWFlaIi5jaGFyQXQoQSYzMSkrUSxBPj49NTtUKz1RfU49YCR7VC5zdWJzdHIoMCw0KX0gJHtULnN1YnN0cig0LDQpfSAke1Quc3Vic3RyKDgsNCl9ICR7VC5zdWJzdHIoMTIsNCl9ICR7VC5zdWJzdHIoMTYsNCl9YH1lbHNlIE49IiI7aD17dmlkZW9faWRfYW5kX2NwbjpTdHJpbmcoVy52aWRlb0lkKSsiIC8gIitOLGNvZGVjczoiIixkaW1zX2FuZF9mcmFtZXM6IiIsYmFuZHdpZHRoX2ticHM6YCR7aC50b0ZpeGVkKDApfSBLYnBzYCwKYnVmZmVyX2hlYWx0aF9zZWNvbmRzOmAke0wudG9GaXhlZCgyKX0gc2AsZGF0ZTpgJHsobmV3IERhdGUpLnRvU3RyaW5nKCl9YCxkcm1fc3R5bGU6ZT8iIjoiZGlzcGxheTpub25lIixkcm06ZSxkZWJ1Z19pbmZvOkgsZXh0cmFfZGVidWdfaW5mbzoiIixiYW5kd2lkdGhfc3R5bGU6cixuZXR3b3JrX2FjdGl2aXR5X3N0eWxlOnIsbmV0d29ya19hY3Rpdml0eV9ieXRlczpgJHt4LnRvRml4ZWQoMCl9IEtCYCxzaGFkZXJfaW5mbzpHLHNoYWRlcl9pbmZvX3N0eWxlOkc/IiI6ImRpc3BsYXk6bm9uZSIscGxheWJhY2tfY2F0ZWdvcmllczoiIn07eD1gJHtiLmNsaWVudFdpZHRofXgke2IuY2xpZW50SGVpZ2h0fWArKEQ+MT9gKiR7RC50b0ZpeGVkKDIpfWA6IiIpO0w9Ii0iO2sudG90YWxWaWRlb0ZyYW1lcyYmKEw9YCR7ay5kcm9wcGVkVmlkZW9GcmFtZXN8fDB9IGRyb3BwZWQgb2YgJHtrLnRvdGFsVmlkZW9GcmFtZXN9YCk7aC5kaW1zX2FuZF9mcmFtZXM9YCR7eH0gLyAke0x9YDtlPW4uZ2V0Vm9sdW1lKCk7Cm49Vy5oZzt4PW4uTjtMPU1hdGgucm91bmQoZSk7ZT1NYXRoLnJvdW5kKGUqKHg/LlpyPz8xKSk7SD0iIjtXLlg/LmF1ZGlvLk4/SD0iIFZCIjpXLlg/LmF1ZGlvLlcmJihIPSIgRFJDIik7RD0iIjt4Py5mZCE9bnVsbD9EKz1gY29udC4ke3guZmQudG9GaXhlZCgxKX1kQmA6bi5RTyE9bnVsbCYmKEQrPWBsaXZlLiR7bi5RTy50b0ZpeGVkKDEpfWRCYCk7eD8ucHkhPW51bGwmJihEKz1gIHRndC4ke3gucHkudG9GaXhlZCgxKX1kQmApO0QmJihEPWAgKCR7RH0pYCk7aC52b2x1bWU9YCR7TH0lLyR7ZX0lJHtIfSR7RH1gO2gucmVzb2x1dGlvbj1gJHtiLnZpZGVvV2lkdGh9eCR7Yi52aWRlb0hlaWdodH1gO2lmKGI9Vy5KKXtpZihuPWIudmlkZW8peD1uLmZwcyx4PjEmJihoLnJlc29sdXRpb24rPWBAJHt4fWApLCh4PWsuTHQpJiZ4LnZpZGVvJiYoaC5yZXNvbHV0aW9uKz1gIC8gJHt4LnZpZGVvLndpZHRofXgke3gudmlkZW8uaGVpZ2h0fWAseC52aWRlby5mcHM+MSYmKGgucmVzb2x1dGlvbis9CmBAJHt4LnZpZGVvLmZwc31gKSksaC5jb2RlY3M9SkooYiksIVcuWHx8Yi5hdWRpbyYmYi52aWRlbz9iLkFhJiYoaC5jb2RlY3MrPWAgLyAke2IuQWF9QWApOmguY29kZWNzKz1gIC8gJHtKSihXLlgpfWAsbi5OfHxuLnByaW1hcmllcz8oeD1uLk58fCJ1bmtub3duIix4PT09InNtcHRlMjA4NCI/eD1gJHt4fSAoUFEpYDp4PT09ImFyaWItc3RkLWI2NyImJih4PWAke3h9IChITEcpYCksaC5jb2xvcj1gJHt4fSAvICR7bi5wcmltYXJpZXN8fCJ1bmtub3duIn1gLGguY29sb3Jfc3R5bGU9IiIpOmguY29sb3Jfc3R5bGU9ImRpc3BsYXk6bm9uZSI7aWYoYi5kZWJ1Z0luZm8pe2guZm10X2RlYnVnX2luZm89IiI7Zm9yKHZhciB6IG9mIGIuZGVidWdJbmZvKWguZm10X2RlYnVnX2luZm8rPWAke3oubGFiZWx9OiR7ei50ZXh0fSBgfWguZm10X2RlYnVnX2luZm9fc3R5bGU9aC5mbXRfZGVidWdfaW5mbyYmaC5mbXRfZGVidWdfaW5mby5sZW5ndGg+MD8iIjoiZGlzcGxheTpub25lIn16PVcuaXNMaXZlUGxheWJhY2s7CmI9Vy5YZztoLmxpdmVfbW9kZV9zdHlsZT16fHxiPyIiOiJkaXNwbGF5Om5vbmUiO2gubGl2ZV9sYXRlbmN5X3N0eWxlPXo/IiI6ImRpc3BsYXk6bm9uZSI7aWYoYiloLmxpdmVfbW9kZT0iUG9zdC1MaXZlIisoSTQoVyk/IiBNYW5pZmVzdGxlc3MiOiIiKTtlbHNlIGlmKHope2I9ay5wVDtoLmxpdmVfbGF0ZW5jeV9zZWNzPWAke2IudG9GaXhlZCgyKX1zYDt6PUk0KFcpPyJNYW5pZmVzdGxlc3MsICI6IiI7Vy5SSSYmKHorPSJXaW5kb3dlZCwgIik7bj0iVW5jZXJ0YWluIjtpZihiPj0wJiZiPDEyMClpZihXLmxhdGVuY3lDbGFzcyYmVy5sYXRlbmN5Q2xhc3MhPT0iVU5LTk9XTiIpc3dpdGNoKFcubGF0ZW5jeUNsYXNzKXtjYXNlICJOT1JNQUwiOm49Ik9wdGltaXplZCBmb3IgTm9ybWFsIExhdGVuY3kiO2JyZWFrO2Nhc2UgIkxPVyI6bj0iT3B0aW1pemVkIGZvciBMb3cgTGF0ZW5jeSI7YnJlYWs7Y2FzZSAiVUxUUkFMT1ciOm49Ik9wdGltaXplZCBmb3IgVWx0cmEgTG93IExhdGVuY3kiOwpicmVhaztkZWZhdWx0Om49IlVua25vd24gTGF0ZW5jeSBTZXR0aW5nIn1lbHNlIG49U3goVyk/Ik9wdGltaXplZCBmb3IgTG93IExhdGVuY3kiOiJPcHRpbWl6ZWQgZm9yIFNtb290aCBTdHJlYW1pbmciO3orPW47KGI9ay5GSSkmJih6Kz1gLCBzZXEgJHtiLnNlcXVlbmNlfWApO2gubGl2ZV9tb2RlPXp9di5leHBlcmltZW50cy5adCgpLk4uUVEoaldTKT9rLmlzR2FwbGVzcyYmIWsuZFQmJihoLnBsYXliYWNrX2NhdGVnb3JpZXM9ay5Ibz9oLnBsYXliYWNrX2NhdGVnb3JpZXMrIkdhcGxlc3MgIjpoLnBsYXliYWNrX2NhdGVnb3JpZXMrIlF1ZXVlZCAiKTohay5pc0dhcGxlc3N8fEFKKFcpJiZrLmRUfHwoaC5wbGF5YmFja19jYXRlZ29yaWVzKz0iR2FwbGVzcyAiKTtoLnBsYXliYWNrX2NhdGVnb3JpZXNfc3R5bGU9aC5wbGF5YmFja19jYXRlZ29yaWVzPyIiOiJkaXNwbGF5Om5vbmUiO2guYmFuZHdpZHRoX3NhbXBsZXM9ay5VJDtoLm5ldHdvcmtfYWN0aXZpdHlfc2FtcGxlcz1rLmRjOwpoLmxpdmVfbGF0ZW5jeV9zYW1wbGVzPWsuc0k7aC5idWZmZXJfaGVhbHRoX3NhbXBsZXM9ay5qeDt2PWcubU0oVyk7aWYoVy5jb3RufHx2KWguY290bl9hbmRfbG9jYWxfbWVkaWE9YCR7Vy5jb3RuP1cuY290bjoibnVsbCJ9IC8gJHt2fWA7aC5jb3RuX2FuZF9sb2NhbF9tZWRpYV9zdHlsZT1oLmNvdG5fYW5kX2xvY2FsX21lZGlhPyIiOiJkaXNwbGF5Om5vbmUiO0t6KFcsIndlYl9wbGF5ZXJfcmVsZWFzZV9kZWJ1ZyIpPyhoLnJlbGVhc2VfbmFtZT1JWzY1XSxoLnJlbGVhc2Vfc3R5bGU9IiIpOmgucmVsZWFzZV9zdHlsZT0iZGlzcGxheTpub25lIjtoLmRlYnVnX2luZm8mJnkubGVuZ3RoPjAmJmguZGVidWdfaW5mby5sZW5ndGgreS5sZW5ndGg8PTYwP2guZGVidWdfaW5mbys9IiAiK3k6aC5leHRyYV9kZWJ1Z19pbmZvPXk7aC5leHRyYV9kZWJ1Z19pbmZvX3N0eWxlPWguZXh0cmFfZGVidWdfaW5mbyYmaC5leHRyYV9kZWJ1Z19pbmZvLmxlbmd0aD4wPyIiOiJkaXNwbGF5Om5vbmUiOwpyZXR1cm4gaH07ClBfPWZ1bmN0aW9uKG4sVyxEKXtuLkorPVcuSjtuLnJhbmdlJiYobi5LKz1XLkspO24uaj1XLmo7bi5hWj1XLmFaO0QmJlcuYVomJihuLlc9Vy5XLG4uc2VnbWVudFN0YXJ0VGltZT1XLnNlZ21lbnRTdGFydFRpbWUsbi5YPW4uc2VnbWVudFN0YXJ0VGltZSxuLnJhbmdlfHwobi5LPW4uVykpfTsKWko9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmokO24uWT0idXBkYXRlV2l0aFNlZ21lbnRJbmZvIjtuLmokPUQ7aWYobi5zZWdtZW50U3RhcnRUaW1lIT09Vy5zdGFydFRpbWV8fG4uVyE9PVcuZHVyYXRpb24pbi5zZWdtZW50U3RhcnRUaW1lPVcuc3RhcnRUaW1lLG4uVz1XLmR1cmF0aW9uLHZfKG4pfTsKVXY9ZnVuY3Rpb24obil7cmV0dXJuIWhKKG4uQXdbbi5Bdy5sZW5ndGgtMV0pfTsKeXM9ZnVuY3Rpb24obil7cmV0dXJuIG4uQXdbbi5Bdy5sZW5ndGgtMV0uY0ooKX07CmcuRXY9ZnVuY3Rpb24obixXLEQpe0Q9bi5wUz09PW51bGw/bi5YYi5wUyhXLEQsbi5Bd1swXS50eXBlKTpuLnBTO2lmKG4uTil7Vz1EP1hkKG4uTixXLm9NKTpuLk47dmFyIGI9bmV3IENzKFcpO2IuZ2V0KCJhbHIiKXx8Yi5zZXQoImFsciIsInllcyIpO24uSiYmWl8oYixuLkopfWVsc2UvaHR0cFtzXT86XC9cLy8udGVzdChuLkopP2I9bmV3IENzKG5ldyBnLndaKG4uSikpOihiPUJ3KG4uWGIsRCxXKSxuLkomJlpfKGIsbi5KKSk7KFc9bi5yYW5nZSk/Yi5zZXQoInJhbmdlIixXLnRvU3RyaW5nKCkpOm4uQXdbMF0uUEouRCgpJiZuLkF3Lmxlbmd0aD09PTEmJm4uQXdbMF0uTiYmYi5zZXQoInJhbmdlIixgJHtuLkF3WzBdLk59LWApO24ucmVxdWVzdElkJiZiLnNldCgicmVxX2lkIixuLnJlcXVlc3RJZCk7aXNOYU4obi5aQSl8fGIuc2V0KCJoZWFkbSIsbi5aQS50b1N0cmluZygpKTtpc05hTihuLmopfHxiLnNldCgibWZmYSIsYCR7bi5qfW1zYCk7bi51cmxQYXJhbXMmJmcuYV8obi51cmxQYXJhbXMsCih2LGspPT57Yi5zZXQoayx2KX0pOwpyZXR1cm4gYn07CmRrPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkcoKSx2PXtodG1sNVByZWZlcmVuY2U6IkhUTUw1X1BSRUZfV0FOVFMiLGxhY3RNaWxsaXNlY29uZHM6U3RyaW5nKGcudkkoKSkscmVmZXJlcjpkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpLHNpZ25hdHVyZVRpbWVzdGFtcDoyMDY1NX0saz1nLm85KCk7bi5pc0F1dG9uYXYmJih2LmF1dG9uYXY9ITApO2suUVEoMTQxKSYmKHYuYXV0b25hdlN0YXRlPWsuUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTt2LmF1dG9DYXB0aW9uc0RlZmF1bHRPbj1rLlFRKDY2KTtpVChuKSYmKHYuYXV0b3BsYXk9ITApO2IuSyYmbi5jeWNUb2tlbiYmKHYuY3ljVG9rZW49bi5jeWNUb2tlbik7Yi5lbmFibGVQcml2YWN5RmlsdGVyJiYodi5lbmFibGVQcml2YWN5RmlsdGVyPSEwKTtuLmlzRmxpbmcmJih2LmZsaW5nPSEwKTt2YXIgaD1uLmZvcmNlQWRzVXJsO2lmKGgpe2s9e307dmFyIHg9W107aD1oLnNwbGl0KCIsIik7Zm9yKHZhciBMIG9mIGgpe3ZhciBlPQpMLnNwbGl0KCJ8Iik7ZS5sZW5ndGghPT0zfHxMLmluY2x1ZGVzKCI9Iil8fChlWzBdPWBicmVha3R5cGU9JHtlWzBdfWAsZVsxXT1gb2Zmc2V0PSR7ZVsxXX1gLGVbMl09YHVybD0ke2VbMl19YCk7aD17YWR0eXBlOiJ2aWRlb19hZCJ9O2Zvcih2YXIgRyBvZiBlKXtsZXQgW3osLi4uQ109Ry5zcGxpdCgiPSIpO2hbel09Qy5qb2luKCI9Iil9ZT1oLnVybDtsZXQgSD1oLnByZXNldGFkLEE9aC52aXJhbHJlc3BvbnNldXJsLHk9TnVtYmVyKGguY2FtcGFpZ25pZCksVD1oLmJpYmxpb3RlY2FhZGlkO2lmKGguYWR0eXBlPT09ImluX2Rpc3BsYXlfYWQiKWUmJihrLnVybD1lKSxIJiYoay5wcmVzZXRBZD1IKSxBJiYoay52aXJhbEFkUmVzcG9uc2VVcmw9QSkseSYmKGsudmlyYWxDYW1wYWlnbklkPVN0cmluZyh5KSksVCYmKGsuYmlibGlvdGVjYUFkSWQ9VCk7ZWxzZSBpZihoLmFkdHlwZT09PSJ2aWRlb19hZCIpe2xldCB6PXtvZmZzZXQ6e2tpbmQ6Ik9GRlNFVF9NSUxMSVNFQ09ORFMiLHZhbHVlOlN0cmluZyhOdW1iZXIoaC5vZmZzZXQpfHwKMCl9fTtpZihoPUNJWltoLmJyZWFrdHlwZV0pei5icmVha1R5cGU9aDtlJiYoei51cmw9ZSk7SCYmKHoucHJlc2V0QWQ9SCk7QSYmKHoudmlyYWxBZFJlc3BvbnNlVXJsPUEpO3kmJih6LnZpcmFsQ2FtcGFpZ25JZD1TdHJpbmcoeSkpO1QmJih6LmJpYmxpb3RlY2FBZElkPVQpO3gucHVzaCh6KX19T2JqZWN0LmtleXMoaykubGVuZ3RoPjA/di5mb3JjZUFkUGFyYW1ldGVycz17dmlkZW9BZHM6eCxpbkRpc3BsYXlBZDprfTp2LmZvcmNlQWRQYXJhbWV0ZXJzPXt2aWRlb0Fkczp4fX1uLmlzSW5saW5lUGxheWJhY2tOb0FkJiYodi5pc0lubGluZVBsYXliYWNrTm9BZD0hMCk7bi5pc0xpdmluZ1Jvb21EZWVwbGluayYmKHYuaXNMaXZpbmdSb29tRGVlcGxpbms9ITApO0w9bi5zUztpZihMIT1udWxsKXtMPXtzdGFydFdhbGx0aW1lOlN0cmluZyhMKX07aWYoRz1uLnptKUwubWFuaWZlc3REdXJhdGlvbj1TdHJpbmcoR3x8MTQ0MDApO3YubGl2ZUNvbnRleHQ9TH1uLm11dGVkQXV0b3BsYXkmJgoodi5tdXRlZEF1dG9wbGF5PSEwLEw9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCksTD8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd011dGVkQXV0b3BsYXlEdXJhdGlvbk1vZGUmJkw/LmVtYmVkc0hvc3RGbGFncz8uYWxsb3dNdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlLmluY2x1ZGVzKHVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pJiYodi5tdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlPXVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pKTtpZihuLmZCPzA6bi5QWCl2LnNwbGF5PSEwO0w9bi52bmQ7TD09PTUmJih2LnZuZD1MKTtMPXt9O2lmKEc9bi5pc01keFBsYXliYWNrKUwudHJpZ2dlcmVkQnlNZHg9RztpZihHPW4uRmYpTC5za2lwcGFibGVBZHNTdXBwb3J0ZWQ9Ry5zcGxpdCgiLCIpLmluY2x1ZGVzKCJza2EiKTtpZih4PW4uVUspe0c9bi5jTDtrPVtdO2Zvcih2YXIgciBvZiBpSih4KSl7eD1yLnBsYXRmb3JtO3g9e2FwcGxpY2F0aW9uU3RhdGU6ci5Fcz8KIklOQUNUSVZFIjoiQUNUSVZFIixjbGllbnRGb3JtRmFjdG9yOkJEalt4XXx8IlVOS05PV05fRk9STV9GQUNUT1IiLGNsaWVudE5hbWU6dUpbci5oal18fCJVTktOT1dOX0lOVEVSRkFDRSIsY2xpZW50VmVyc2lvbjpyLmRldmljZVZlcnNpb258fCIiLHBsYXRmb3JtOkZoaVt4XXx8IlVOS05PV05fUExBVEZPUk0ifTtoPXt9O2lmKEcpe3ZhciBOPXZvaWQgMDt0cnl7Tj1KU09OLnBhcnNlKEcpfWNhdGNoKEgpe2cuR3EoSCl9TiYmKGg9e3BhcmFtczpbe2tleToibXMiLHZhbHVlOk4ubXN9XX0sTi5hZHZlcnRpc2luZ19pZCYmKGguYWR2ZXJ0aXNpbmdJZD1OLmFkdmVydGlzaW5nX2lkKSxOLmxpbWl0X2FkX3RyYWNraW5nIT09dm9pZCAwJiZOLmxpbWl0X2FkX3RyYWNraW5nIT09bnVsbCYmKGgubGltaXRBZFRyYWNraW5nPU4ubGltaXRfYWRfdHJhY2tpbmcpLHgub3NOYW1lPU4ub3NfbmFtZSx4LnVzZXJBZ2VudD1OLnVzZXJfYWdlbnQseC53aW5kb3dIZWlnaHRQb2ludHM9Ti53aW5kb3dfaGVpZ2h0X3BvaW50cywKeC53aW5kb3dXaWR0aFBvaW50cz1OLndpbmRvd193aWR0aF9wb2ludHMpfWsucHVzaCh7YWRTaWduYWxzSW5mbzpoLHJlbW90ZUNsaWVudDp4fSl9TC5yZW1vdGVDb250ZXh0cz1rfXI9bi5zb3VyY2VDb250YWluZXJQbGF5bGlzdElkO049bi5zZXJpYWxpemVkTWR4TWV0YWRhdGE7aWYocnx8TilHPXt9LHImJihHLm1keFBsYXliYWNrQ29udGFpbmVySW5mbz17c291cmNlQ29udGFpbmVyUGxheWxpc3RJZDpyfSksTiYmKEcuc2VyaWFsaXplZE1keE1ldGFkYXRhPU4pLEwubWR4UGxheWJhY2tTb3VyY2VDb250ZXh0PUc7di5tZHhDb250ZXh0PUw7cj1XLndpZHRoO3I+MCYmKHYucGxheWVyV2lkdGhQaXhlbHM9TWF0aC5yb3VuZChyKSk7aWYoVz1XLmhlaWdodCl2LnBsYXllckhlaWdodFBpeGVscz1NYXRoLnJvdW5kKFcpO0QhPT0wJiYodi52aXM9RCk7aWYoRD1iLndpZGdldFJlZmVycmVyKXYud2lkZ2V0UmVmZXJyZXI9RC5zdWJzdHJpbmcoMCwxMjgpO2cubzQoYikmJnYmJih2LmFuY2VzdG9yT3JpZ2lucz0KYi5hbmNlc3Rvck9yaWdpbnMpO24uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQmJih2LmNvbXBvc2l0ZVZpZGVvQ29udGV4dD17ZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ6bi5kZWZhdWx0QWN0aXZlU291cmNlVmlkZW9JZH0pO2lmKG49Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCkpdi5lbmNyeXB0ZWRIb3N0RmxhZ3M9bi5lbmNyeXB0ZWRIb3N0RmxhZ3M7cmV0dXJuIHZ9Owp6UD1mdW5jdGlvbihuKXtpZihuLnJhbmdlKXJldHVybiBuLlc7bj1uLkF3WzBdO3JldHVybiBNYXRoLnJvdW5kKG4uSypuLlBKLmluZm8uTnMpfTsKd0xVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE1hdGgubWF4KDAsbi5Bd1swXS5YLVcpfTsKbFQ9ZnVuY3Rpb24obixXLEQpe2Zvcig7bjtuPW4ucGFyZW50Tm9kZSl7aWYoIW4uYXR0cmlidXRlc3x8RCYmbi5ub2RlTmFtZSE9PUQpY29udGludWU7bGV0IGI9bi5nZXRBdHRyaWJ1dGUoVyk7aWYoYilyZXR1cm4gYn1yZXR1cm4iIn07ClRQPWZ1bmN0aW9uKG4sVyl7Zm9yKDtuO249bi5wYXJlbnROb2RlKXtsZXQgRD1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKFcpO2lmKEQubGVuZ3RoPjApcmV0dXJuIERbMF19cmV0dXJuIG51bGx9OwpqeD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gMDt2YXIgVz1uLm1hdGNoKC9QVCgoWzAtOV0qKUgpPygoWzAtOV0qKU0pPygoWzAtOS5dKilTKT8vKTtyZXR1cm4gVz8oTnVtYmVyKFdbMl0pfDApKjM2MDArKE51bWJlcihXWzRdKXwwKSo2MCsoTnVtYmVyKFdbNl0pfDApOk51bWJlcihuKXwwfTsKQ3o9ZnVuY3Rpb24obil7cmV0dXJuIG4ubWF0Y2goL14oXGR7NH0pLShcZHsyfSktKFxkezJ9KVQoXGR7Mn0pOihcZHsyfSk6KFxkezJ9KVwuKFxkezN9KSQvKT9gJHtufVpgOm59OwpNZ009ZnVuY3Rpb24obil7dmFyIFc9bi5XO24uVz1bXTtyZXR1cm4gV307ClJBUz1mdW5jdGlvbihuKXtuLk58fChuLk49bmV3IEJfKTtyZXR1cm4gbi5OfTsKUVdNPWZ1bmN0aW9uKG4sVyl7bi5KW1ddfHwobi5KW1ddPW5ldyBCXyk7cmV0dXJuIG4uSltXXX07ClZnaT1mdW5jdGlvbihuLFcpe24uV1tXXXx8KG4uV1tXXT1uZXcgQl8pO3JldHVybiBuLldbV119OwpjSGo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtXPUFycmF5LmZyb20oVy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikpO2ZvcihsZXQgYiBvZiBXKXtXPWIucGFyZW50Tm9kZS5wYXJlbnROb2RlO2xldCB2PW51bGw7Vy5ub2RlTmFtZT09PSJQZXJpb2QiP3Y9UkFTKG4pOlcubm9kZU5hbWU9PT0iQWRhcHRhdGlvblNldCI/KFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fFcuZ2V0QXR0cmlidXRlKCJtaW1ldHlwZSIpfHwiIix2PVFXTShuLFcpKTpXLm5vZGVOYW1lPT09IlJlcHJlc2VudGF0aW9uIiYmKFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fCIiLHY9VmdpKG4sVykpO2lmKHY9PW51bGwpcmV0dXJuO3YudXBkYXRlKGIpO2cuUTIoRCxNZ00odikpfWcuUTIobi5YLEQpO3RVaChuLlgsYj0+Yi5zdGFydFNlY3MqMUUzK2IuTil9OwphRFU9ZnVuY3Rpb24obil7bi5OJiYobi5OLk49W10pO2cuYV8obi5KLFc9PntXLk49W119KTsKZy5hXyhuLlcsVz0+e1cuTj1bXX0pfTsKRng9ZnVuY3Rpb24obixXKXtyZXR1cm4gRGUobi5zZWdtZW50cyxEPT5XLUQuaiQpfTsKTUk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uaW5kZXguVihXKSx2PW4uaW5kZXguZ2V0U3RhcnRUaW1lKFcpLGs9bi5pbmRleC5nZXREdXJhdGlvbihXKTtEP2s9RD0wOkQ9bi5pbmZvLk5zKms7cmV0dXJuIG5ldyB3ayhbbmV3IHFJKDMsbix2b2lkIDAsIm90ZkNyZWF0ZVJlcXVlc3RJbmZvRm9yU2VnbWVudCIsVyx2LGssMCxEKV0sYil9OwpuR1M9ZnVuY3Rpb24obixXKXtpZighbi5pbmRleC5pc0xvYWRlZCgpKXt2YXIgRD1bXSxiPVcuajtXPVcuSy5zcGxpdCgiLCIpLmZpbHRlcihlPT5lLmxlbmd0aD4wKTsKdmFyIHY9MCxrPTAsaD0wLHg9L14oXGQrKS8sTD0vcj0oXGQrKS87Zm9yKGxldCBlPTA7ZTxiO2UrKyl7aWYoaDw9MClpZihoPVcuc2hpZnQoKSxrPShrPXguZXhlYyhoKSk/K2tbMV0vMUUzOjApaD0oaD1MLmV4ZWMoaCkpPytoWzFdOjAsaCs9MTtlbHNlIHJldHVybjtELnB1c2gobmV3IFI0KGUsdixrLE5hTiwic3EvIisoZSsxKSkpO3YrPWs7aC0tfW4uaW5kZXguYXBwZW5kKEQpfX07CmcuY189ZnVuY3Rpb24obixXLC4uLkQpe2cuUXMoNSxuIGluc3RhbmNlb2YgZy5Wcz9uLnRhZzpuLFcsLi4uRCl9OwpnLlFzPWZ1bmN0aW9uKG4sVyxELC4uLmIpe3ZhciB2PW49PT02PyJFUlJPUiI6IldBUk5JTkciO0Q9YGIke0R9YDtnLlhqKG5ldyBnLlF4KEQsLi4uYiksdik7Yi51bnNoaWZ0KEQpO2I9Yi5qb2luKCIsICIpO3Y9YTQuZ2V0KFcpO2lmKCF2KXt2PWB5dHBsb2cuJHtXfWA7RD01O3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5sb2NhbFN0b3JhZ2Vbdl0pJiYoRD0rd2luZG93LmxvY2FsU3RvcmFnZVt2XSksd2luZG93LnNlc3Npb25TdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5zZXNzaW9uU3RvcmFnZVt2XSkmJihEPSt3aW5kb3cuc2Vzc2lvblN0b3JhZ2Vbdl0pfWNhdGNoe31hNC5zZXQoVyxEKTt2PUR9bjx2fHwobj1XS3csdj1uLk4uZ2V0KFcpLHZ8fCh2PW5ldyBEODIsbi5OLnNldChXLHYpKSxuPXYsdj1EYXRlLm5vdygpLEQ9TWF0aC5mbG9vcigodi1uLkopKi4wMSksRD4wJiYobi5OPU1hdGgubWluKG4uTitELDEwKSxuLko9diksbi5OPjA/KG4uTi0tLG49CiEwKTpuPSExLG4/KHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmKGI9YigpKSxjb25zb2xlLmxvZyhgcGx5ci4ke1d9YCxiKSk6KGI9KG5NLmdldChXKT8/MCkrMSxuTS5zZXQoVyxiKSxiJTEwMD09PTEmJmNvbnNvbGUud2FybigicGx5ciIsYHBseXIuJHtXfSBpcyBjaGF0dHksIGRyb3BwaW5nIGxvZ3MuYCkpKX07CkRPPWZ1bmN0aW9uKG4pe2lmKCFuLkspe2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPWt4KFcsMCwxODM2MDE5NTc0KTtpZihEKXtEPUQub2Zmc2V0K0Quc2l6ZTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsRCkpO1c9Yn1lbHNlIFc9bnVsbH1lbHNlIFc9eUhyKG5ldyB0WShnLldSKG4pKSk7VyYmKG4uaW5mby5QSi5KPVcsbi5LPSEwKX19OwpnLldSPWZ1bmN0aW9uKG4pe3JldHVybiBHNihuLkopfTsKdlI9ZnVuY3Rpb24obixXKXtXPU1hdGgubWluKFcsbi5pbmZvLkopO3ZhciB7Q3M6RCxZOTpifT1uLkouc3BsaXQoVyksdj1uZXcgYjgobmV3IHFJKG4uaW5mby50eXBlLG4uaW5mby5QSixuLmluZm8ucmFuZ2Usbi5pbmZvLlksbi5pbmZvLmokLG4uaW5mby5zZWdtZW50U3RhcnRUaW1lLG4uaW5mby5XLG4uaW5mby5OLFcsITEsbi5pbmZvLnZELG4uaW5mby5jbGlwSWQsbi5pbmZvLkQpLEQpO3YuWD1uLlg7di5XPW4uVztXPW5ldyBiOChuZXcgcUkobi5pbmZvLnR5cGUsbi5pbmZvLlBKLG4uaW5mby5yYW5nZSxuLmluZm8uWSxuLmluZm8uaiQsbi5pbmZvLnNlZ21lbnRTdGFydFRpbWUsbi5pbmZvLlcsbi5pbmZvLk4rVyxuLmluZm8uSi1XLG4uaW5mby5hWixuLmluZm8udkQsbi5pbmZvLmNsaXBJZCxuLmluZm8uRCksYik7Vy5YPW4uWDtXLlc9bi5XO3JldHVyblt2LFddfTsKZy5rWD1mdW5jdGlvbihuKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtpZihuLlchPT0tMSlyZXR1cm4gbi5XO2lmKG4uTiYmakoobi5OKSlyZXR1cm4gbi5XPWpKKG4uTiksbi5XO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPW4uaW5mby5QSi5KLGI9TmFOO2xldCB2PU5hTixrPTA7Zm9yKDtWTChXLGspOyl7bGV0IGg9Y0EoVyxrKTtoLnR5cGU9PT0xOTM2Mjg2ODQwP3Y9aC5kYXRhLmdldFVpbnQzMihoLmRhdGFPZmZzZXQrOCk6aC50eXBlPT09MTgzNjQ3NjUxNj92PWcuYkwoaCk6aC50eXBlPT09MTk1Mjg2NzQ0NCYmaXNOYU4oYikmJihiPWcueHgoaCkpO2s9YXIoaC50eXBlKT9rKzg6aytoLnNpemV9IXYmJkQmJih2PXZ3KEQpKTtXPWIvdn1lbHNlIFc9bmV3IHRZKGcuV1IobikpLEQ9bi5WP1c6bmV3IHRZKG5ldyBEYXRhVmlldyhuLmluZm8uUEouSi5idWZmZXIpKSxiPUtzKEQpLEQ9Vy5wb3MsVy5wb3M9MCxQdyhXKT8Kc1koVywyMzEpPyhiPWZzKFcpKmIvMUU5LFcucG9zPUQsVz1iKTooVy5wb3M9RCxXPU5hTik6KFcucG9zPUQsVz1OYU4pO24uVz1XfHxuLmluZm8uWDtyZXR1cm4gbi5XfTsKaE09ZnVuY3Rpb24obixXKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtuLlc9VztpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIEQ9Zy5XUihuKTtuPW4uaW5mby5QSi5KO3ZhciBiPU5hTix2PU5hTjtsZXQgTD0wO2Zvcig7VkwoRCxMKTspe2xldCBlPWNBKEQsTCk7aXNOYU4oYikmJihlLnR5cGU9PT0xOTM2Mjg2ODQwP2I9ZS5kYXRhLmdldFVpbnQzMihlLmRhdGFPZmZzZXQrOCk6ZS50eXBlPT09MTgzNjQ3NjUxNiYmKGI9Zy5iTChlKSkpO2lmKGUudHlwZT09PTE5NTI4Njc0NDQpeyFiJiZuJiYoYj12dyhuKSk7dmFyIGs9Zy54eChlKTtpc05hTih2KSYmKHY9TWF0aC5yb3VuZChXKmIpLWspO3ZhciBoPWU7ays9djtpZihoLmRhdGEuZ2V0VWludDgoaC5kYXRhT2Zmc2V0KSl7dmFyIHg9aC5kYXRhO2g9aC5kYXRhT2Zmc2V0KzQ7eC5zZXRVaW50MzIoaCxNYXRoLmZsb29yKGsvNDI5NDk2NzI5NikpO3guc2V0VWludDMyKGgrNCxrJjQyOTQ5NjcyOTUpfWVsc2UgaC5kYXRhLnNldFVpbnQzMihoLmRhdGFPZmZzZXQrCjQsayl9TD1hcihlLnR5cGUpP0wrODpMK2Uuc2l6ZX1yZXR1cm4hMH1EPW5ldyB0WShnLldSKG4pKTtuPW4uVj9EOm5ldyB0WShuZXcgRGF0YVZpZXcobi5pbmZvLlBKLkouYnVmZmVyKSk7Yj1LcyhuKTtuPUQucG9zO0QucG9zPTA7aWYoUHcoRCkmJnNZKEQsMjMxKSlpZih2PU5rKEQsITApLFc9TWF0aC5mbG9vcihXKjFFOS9iKSxNYXRoLmNlaWwoTWF0aC5sb2coVykvTWF0aC5sb2coMikvOCk+dilXPSExO2Vsc2V7Zm9yKGI9di0xO2I+PTA7Yi0tKUQuTi5zZXRVaW50OChELnBvcytiLFcmMjU1KSxXPj4+PTg7RC5wb3M9bjtXPSEwfWVsc2UgVz0hMTtyZXR1cm4gV307CnhYPWZ1bmN0aW9uKG4sVyl7bi50aW1lc3RhbXBPZmZzZXQ+MCYmKFctPW4udGltZXN0YW1wT2Zmc2V0KTt2YXIgRD1nLmtYKG4pK1c7aE0obixEKTtuLnRpbWVzdGFtcE9mZnNldD1XfTsKTE09ZnVuY3Rpb24obil7Zy5SQihuLmluZm8uUEouaW5mbyl8fG4uaW5mby5QSi5pbmZvLnFIKCk7aWYobi5OJiZuLmluZm8udHlwZT09PTYpcmV0dXJuIG4uTi5yYjtpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIFc9Zy5XUihuKTt2YXIgRD0wO1c9Zy5lUChXLDE5MzYyODY4NDApO2Zvcih2YXIgYiBvZiBXKVc9THMoYiksRCs9Vy5xZ1swXS9XLnRpbWVzY2FsZTtEPUR8fE5hTjtpZighKEQ+PTApKWE6e0Q9Zy5XUihuKTtiPW4uaW5mby5QSi5KO2xldCByPVc9MDtmb3IodmFyIHY9MDtWTChELFcpOyl7bGV0IE49Y0EoRCxXKTtpZihOLnR5cGU9PT0xODM2NDc2NTE2KXI9Zy5iTChOKTtlbHNlIGlmKE4udHlwZT09PTE4MzYwMTk1NTgpeyFyJiZiJiYocj12dyhiKSk7aWYoIXIpe0Q9TmFOO2JyZWFrIGF9dmFyIGs9a3goTi5kYXRhLE4uZGF0YU9mZnNldCwxOTUzNjUzMDk0KSxoPWs7az1yO3ZhciB4PWt4KGguZGF0YSxoLmRhdGFPZmZzZXQsMTk1Mjg2ODQ1Mik7aD1reChoLmRhdGEsCmguZGF0YU9mZnNldCwxOTUzNjU4MjIyKTt2YXIgTD15TCh4KTt5TCh4KTtMJjImJnlMKHgpO3g9TCY4P3lMKHgpOjA7dmFyIGU9eUwoaCksRz1lJjE7TD1lJjQ7bGV0IEg9ZSYyNTYsQT1lJjUxMix5PWUmMTAyNDtlJj0yMDQ4O2xldCBUPUVEKGgpO0cmJnlMKGgpO0wmJnlMKGgpO0c9MDtmb3IobGV0IHo9MDt6PFQ7eisrKXtsZXQgQz1IP3lMKGgpOng7QSYmeUwoaCk7TCYmej09PTB8fCF5fHx5TChoKTtlJiZ5TChoKTtHKz1DfXYrPUcva31XPWFyKE4udHlwZSk/Vys4OlcrTi5zaXplfUQ9dnx8TmFOfUR8fGcuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcGFyc2luZyBibWZmIixuLmluZm8uZ2EoKSkpfWVsc2UgRD1uZXcgdFkoZy5XUihuKSksbj1uLlY/RDpuZXcgdFkobmV3IERhdGFWaWV3KG4uaW5mby5QSi5KLmJ1ZmZlcikpLEQ9RUVaKEQsS3MobikpO3JldHVybiBEfTsKZUc9ZnVuY3Rpb24obixXPSExKXt2YXIgRD1MTShuKTtuPVc/MDpuLmluZm8uSztyZXR1cm4gRHx8bn07CmcuZ3k9ZnVuY3Rpb24obil7aWYobi5pbmZvLlBKLlcoKSlyZXR1cm4gbi5pbmZvLlc7bi5YPT09LTEmJihuLlg9TE0obikpO3JldHVybiBuLlh8fG4uaW5mby5XfTsKWFo9ZnVuY3Rpb24obil7dmFyIFc9Zy5XUihuKSxEPWcubnMoVywwLDE5MzYyODY4NDApO0Q9RD9ELmRhdGEuZ2V0VWludDMyKEQuZGF0YU9mZnNldCs4KTpOYU47aXNOYU4oRCkmJihuPW4uaW5mby5QSi5KLEQ9KFc9Zy5ucyhXLDAsMTgzNjQ3NjUxNikpP2cuYkwoVyk6bj92dyhuKTpOYU4pO3JldHVybiBEfTsKcSQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uaW5mby5QSi5pbmZvLnFIKCkmJnJkKG4uSiwwKT09PTE2MH07CkdpPWZ1bmN0aW9uKG4pe2lmKCFuLk4pe2cuUkIobi5pbmZvLlBKLmluZm8pfHxuLmluZm8uUEouaW5mby5xSCgpO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXZhciBXPWcucWsoZy5XUihuKSk7ZWxzZXtXPW5ldyB0WShnLldSKG4pKTtsZXQgYj1XLnBvcztXLnBvcz0wO2xldCB2PW51bGwsaz1udWxsO2lmKCR4KFcsWzQwODEyNTU0MywzMDc1NDQ5MzVdKSl7bGV0IGg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxoOyl7aWYoTmsoVywhMSkhPT0yOTU1NSl7SlkoVyk7Y29udGludWV9bGV0IHg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczx4Oyl7aWYoTmsoVywhMSkhPT0yNjU2OCl7SlkoVyk7Y29udGludWV9bGV0IEw9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxMOyl7dmFyIEQ9TmsoVywhMSk7aWYoRD09PTE3NTQzKXtpZihEPW10KFcpLEQ9UUwoRCkpaWYoaylmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoRCkpa1tlXT1EW2VdO2Vsc2Ugaz1EfWVsc2UgRD09PTE3ODI3PyhEPQptdChXKSx2fHwodj1EKSk6SlkoVyl9fX19Vy5wb3M9YjtXPWs/bmV3IFg1KGssdik6bnVsbH1uLk49V319Owp0TT1mdW5jdGlvbihuLFcpe3JldHVybiBXKzE8bi5jb3VudHx8bi5XP24ub2Zmc2V0c1tXKzFdLW4ub2Zmc2V0c1tXXTotMX07CiRYPWZ1bmN0aW9uKG4pe24ub2Zmc2V0cy5sZW5ndGg8bi5jb3VudCsxJiZuLnJlc2l6ZShuLm9mZnNldHMubGVuZ3RoKjIpfTsKcnk9ZnVuY3Rpb24obixXLEQpe24uY291bnQrKzskWChuKTtuLm9mZnNldHNbbi5jb3VudF09bi5vZmZzZXRzW24uY291bnQtMV0rVztuLnN0YXJ0VGlja3Nbbi5jb3VudF09bi5zdGFydFRpY2tzW24uY291bnQtMV0rRH07CnNOPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgaz1XO2s8PW4uaW5kZXgueCQoKTtrKyspe2xldCBoPVdfKG4uaW5kZXguTihrKSx0TShuLmluZGV4LGspKSx4PW4uaW5kZXguZ2V0U3RhcnRUaW1lKGspLEw9bi5pbmRleC5nZXREdXJhdGlvbihrKSxlPU1hdGgubWF4KDAsRC1oLnN0YXJ0KSxHPU1hdGgubWluKGguZW5kKzEsRCtiKS0oaC5zdGFydCtlKTt2LnB1c2gobmV3IHFJKDMsbixoLCJnZXRSZXF1ZXN0SW5mb0ZvclJhbmdlIixrLHgsTCxlLEcpKTtpZihoLnN0YXJ0K2UrRz49RCtiKWJyZWFrfXYubGVuZ3RofHwobj1uZXcgZy5ReCgiYjE4OTYxOTU5MyIsYCR7V31gLGAke0R9YCxgJHtifWApLGcuWGoobikpO3JldHVybiBuZXcgd2sodil9OwpOJD1mdW5jdGlvbihuKXtpZihuPW4uY29sb3JJbmZvKWlmKG49bi50cmFuc2ZlckNoYXJhY3RlcmlzdGljcylyZXR1cm4gYnFVW25dO3JldHVybiBudWxsfTsKWVg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1heChuLFcpO249TWF0aC5taW4obixXKTtXPXBNWzBdO2ZvcihsZXQgYj0wO2I8cE0ubGVuZ3RoO2IrKyl7bGV0IHY9cE1bYl0saz1OR1t2XTtpZihEPj1NYXRoLmZsb29yKGsqMTYvOSkqMS4zfHxuPj1rKjEuMylyZXR1cm4gVztXPXZ9cmV0dXJuInRpbnkifTsKZk09ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBIUihuWzFdLG5bMl0sblszXSxuWzRdLG5bNV0sbls2XSxuWzddLG5bOF0sbls5XSxuWzEwXSl9OwpKTT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCIvbXA0Iik+PTA/MTpuLmluZGV4T2YoIi93ZWJtIik+PTA/MjpuLmluZGV4T2YoIi94LWZsdiIpPj0wPzM6bi5pbmRleE9mKCIvdnR0Iik+PTA/NDowfTsKSWQ9ZnVuY3Rpb24obil7cmV0dXJuLyhvcHVzfG1wNGF8ZHRzZXxhYy0zfGVjLTN8aWFtZikvLnRlc3Qobil9OwpTRz1mdW5jdGlvbihuKXtyZXR1cm4vKHZwOXx2cDA5fHZwOHxhdmMxfGF2MDF8YXYwMikvLnRlc3Qobil9OwpRUD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1uZXcgQU07VyBpbiBOR3x8KFc9InNtYWxsIik7Vz09PSJsaWdodCImJihXPSJ0aW55Iik7YiYmdj8odj1OdW1iZXIodiksYj1OdW1iZXIoYikpOih2PU5HW1ddLGI9TWF0aC5yb3VuZCh2KjE2LzkpKTtrPW5ldyBIUihiLHYsMCxudWxsLHZvaWQgMCxXLGssaCk7bj11bmVzY2FwZShuLnJlcGxhY2UoLyZxdW90Oy9nLCciJykpO3JldHVybiBuZXcgbXUoRCxuLHthdWRpbzp4LHZpZGVvOmt9KX07Ck9OPWZ1bmN0aW9uKG4pe3ZhciBXPW5bN10sRD1uWzExXSxiPW5bOV0sdj1uWzhdO3JldHVybiBuZXcgbXUoblsxXSxuWzJdLHtYbjpuWzNdLE5zOm5bNF0sbGFzdE1vZGlmaWVkOm5bNV0sY29udGVudExlbmd0aDpuWzZdLGF1ZGlvOlc/bmV3IEFNKFdbMV0sV1syXSxXWzNdLFdbNF0sV1s1XSxXWzZdLFdbN10sV1s4XSk6dm9pZCAwLHZpZGVvOnY/Zk0odik6dm9pZCAwLGtaOmI/TUcoYik6dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOm5bMTBdLGNhcHRpb25UcmFjazpEP25ldyBLTShEWzFdLERbMl0sRFszXSxEWzRdLERbNV0sRFs2XSk6dm9pZCAwLHN0cmVhbVR5cGU6blsxMl0sQWE6blsxM10sYXBwcm94RHVyYXRpb25NczpuWzE0XX0pfTsKbUY9ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iTUFDMyJ8fG4uSUI9PT0iTUVBQzMifHxuLklCPT09Ik0ifHxuLklCPT09IkkifTsKS2c9ZnVuY3Rpb24obil7cmV0dXJuISFuLmNvbnRlbnRQcm90ZWN0aW9uJiYhIW4uY29udGVudFByb3RlY3Rpb24uZmFpcnBsYXkmJihuLklCPT09IigifHxuLklCPT09IihoInx8bi5JQj09PSJBInx8bi5JQj09PSJNRUFDMyIpfHxQUiYmISFuLmNvbnRlbnRQcm90ZWN0aW9uJiZuLklCPT09IjFlIn07CmcuUkI9ZnVuY3Rpb24obil7cmV0dXJuIG4uY29udGFpbmVyVHlwZT09PTF9OwpNMz1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlLEcscil7dmFyIE49V15uO3ZhciBIOyhuJjc2KT09biYmKEg9YihoLHgsTCxlLEcscikpOyhuPj4xJjE1KT09MSYmKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dLGJbSVszXV0oRCwxKSk7bis5Pj4zPT0zJiYoSD1kZWNvZGVVUklDb21wb25lbnQoRCkpO24tOTwyMyYmKG4+PjEmMTUpPj0xMyYmKERbTl41MjY0XTwoTl41MzQzKSYmKERbTl41MjcwXTw9LTEmJigoKDAsRFtOXjUzMjhdKShEW25ldyBEYXRlKElbTl41MzQ2XSkvKE5eNTk1MSldLERbTl41MjY4XSksRFtOXjUzNDVdKShEW05eNTM2MV0sRFtOXjUyNjhdKSwxKXx8KDAsRFtOXjUzNTFdKSgoMCxEW05eNTM0NF0pKERbTl41MzY2XSxEW05eNTMxOV0pLERbMV0sRFtOXjUzMjBdLERbTl41MzQ4XSkpLERbTl41MjY4XT49LTImJigoMCxEW05eNTM1MV0pKCgwLERbM10pKERbTl41MzcyXSwoMCxEW25ldyBEYXRlKElbNF0pLyhOXjU5NTEpXSkoKSxEW05eNTMxNV0pLApEW05eNTM1Nl0sRFtOXjUyNzFdLERbTl41MzY1XSksRFtOXjUzMjZdKShEW05eNTMyMV0sRFtOXjUzNTZdKSxEWzVdPD0tMiYmKERbTl41Mjc2XTwoTl41MzQxKXx8KCgoKDAsRFtOXjUzMjZdKShEW05eNTMxOV0sRFtOXjUzNzNdKSxEW05eNTI2OV0pKCgwLERbTl41MjY4XSkoRFtOXjUzNTNdLERbTl41MzQ3XSksRFtOXjUzMzZdLCgwLERbNF0pKCgwLERbTl41MzYyXSkoRFtOXjUzNDldLCgwLERbTl41Mjc2XSkoKSxEW05eNTM3NV0pLERbTl41MjY2XSxEW05eNTM1NV0sRFtOXjUzMjhdKSxEW05eNTM2MV0sRFswXSksRFtOXjUzMThdKShEW05eNTM3M10sRFtOXjUzNDBdKSxJW05eNTMxNF0pKSYmKCgwLERbTl41MzI2XSkoKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbbmV3IERhdGUoSVtOXjUzNTNdKS8oTl41OTUxKV0pKCksRFtOXjUzNzBdKSxEW05eNTMyN10pKERbTl41MzQyXSksRFtOXjUzMTNdLCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzI4XSkoKSwKRFtOXjUyNzBdKSxEW05eNTI3NF0sRFtOXjUzNDJdKSxEW05eNTMzNl0pKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzYyXSkoKSxEW05eNTM0OF0pLERbTl41MzI1XSxEW05eNTI2Nl0sRFtOXjUzNTldKSxIPVtdKTtyZXR1cm4gSH07CmcuVmY9ZnVuY3Rpb24obixXKXtyZXR1cm57aXRhZzorbi5pdGFnLGxtdDpXPzA6bi5sYXN0TW9kaWZpZWQseHRhZ3M6bi5KfHwiIn19OwpaTz1mdW5jdGlvbihuKXtyZXR1cm4gbi5JQj09PSI5aCJ8fG4uSUI9PT0iKGgifTsKVU49ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iKCJ8fG4uSUI9PT0iKGgifHxuLklCPT09IkgifHxQUiYmbi5JQj09PSIxZSJ9Owp2R1U9ZnVuY3Rpb24obixXPTEpe3ZhciBEPXt9O24udmlkZW8mJihuLnZpZGVvLndpZHRoJiYoRFtBVC5XSURUSC5uYW1lXT1uLnZpZGVvLndpZHRoKSxuLnZpZGVvLmhlaWdodCYmKERbQVQuSEVJR0hULm5hbWVdPW4udmlkZW8uaGVpZ2h0KSxuLnZpZGVvLmZwcyYmKERbQVQuRlJBTUVSQVRFLm5hbWVdPW4udmlkZW8uZnBzKlcpLG4udmlkZW8uTiYmKERbQVQuRU9URi5uYW1lXT1uLnZpZGVvLk4pLG4uTnMmJihEW0FULkJJVFJBVEUubmFtZV09bi5Ocyo4KlcpLG4uSUI9PT0iKCImJihEW0FULkNSWVBUT0JMT0NLRk9STUFULm5hbWVdPSJzdWJzYW1wbGUiKSxuLnZpZGVvLnByb2plY3Rpb25UeXBlPT09IkVRVUlSRUNUQU5HVUxBUiJ8fG4udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSX1RIUkVFRF9UT1BfQk9UVE9NInx8bi52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIikmJihEW0FULkRFQ09ERVRPVEVYVFVSRS5uYW1lXT0idHJ1ZSIpO24uYXVkaW8/Lm51bUNoYW5uZWxzJiYKbi5JQiE9PSJpIiYmbi5JQiE9PSJJIiYmKERbQVQuQ0hBTk5FTFMubmFtZV09bi5hdWRpby5udW1DaGFubmVscyk7cmV0dXJuIER9Owp5VD1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIEVycm9yP24ubWVzc2FnZTpTdHJpbmcobik7dmFyIEQ9IiI7dHJ5e0Q9SlNPTi5zdHJpbmdpZnkoVyl9Y2F0Y2goYil7RD0iZmFpbGVkIHRvIHN0cmluZ2lmeSBjb25maWcifWcuY18oImRhc2giLDUxOTE5NjY0OSxuLEQpfTsKazNyPWZ1bmN0aW9uKG4pe3ZhciBXPW5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcztpZighVz8uZGVjb2RpbmdJbmZvfHxuLklCPT09ImYiKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgRD17dHlwZTpuLmF1ZGlvJiZuLnZpZGVvPyJmaWxlIjoibWVkaWEtc291cmNlIn07bi52aWRlbyYmKEQudmlkZW89e2NvbnRlbnRUeXBlOm4ubWltZVR5cGUsd2lkdGg6bi52aWRlby53aWR0aHx8NjQwLGhlaWdodDpuLnZpZGVvLmhlaWdodHx8MzYwLGJpdHJhdGU6bi5Ocyo4fHwxRTYsZnJhbWVyYXRlOm4udmlkZW8uZnBzfHwzMH0pO24uYXVkaW8mJihELmF1ZGlvPXtjb250ZW50VHlwZTpuLm1pbWVUeXBlLGNoYW5uZWxzOmAke24uYXVkaW8ubnVtQ2hhbm5lbHN8fDJ9YCxiaXRyYXRlOm4uTnMqOHx8MTI4RTMsc2FtcGxlcmF0ZTpuLmF1ZGlvLnNhbXBsZVJhdGV8fDQ0MTAwfSk7aWYoRU4pdHJ5e3JldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pLmNhdGNoKGI9Pgp7eVQoYixEKX0pfWNhdGNoKGIpe3JldHVybiB5VChiLEQpLFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pfTsKaTg9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dC5wbGF5ZXIudXRpbHMudmlkZW9FbGVtZW50XyIpO258fChuPWcuekYoIlZJREVPIiksZy5HYigieXQucGxheWVyLnV0aWxzLnZpZGVvRWxlbWVudF8iLG4pKTtyZXR1cm4gbn07CnU4PWZ1bmN0aW9uKG4pe3ZhciBXPWk4KCk7cmV0dXJuISEoVyYmVy5jYW5QbGF5VHlwZSYmVy5jYW5QbGF5VHlwZShuKSl9OwpkeT1mdW5jdGlvbihuKXtpZigvb3B1cy8udGVzdChuKSYmZy5vZCYmIUNfKCIzOCIpJiYhZy5kOCgpKXJldHVybiExO2lmKHNlbGYuTWVkaWFTb3VyY2UmJnNlbGYuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZChuKTtpZihzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZSYmc2VsZi5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobik7aWYoL3dlYm0vLnRlc3QobikmJiFUUSgpKXJldHVybiExO249PT0nYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInJiYobj0ndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNGQ0MDFmIicpO3JldHVybiEhdTgobil9OwpoZ1M9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWR5KCd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MjAwMUUiJyl8fGR5KCd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInKTtyZXR1cm4oZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fGR5KCdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiJykpJiYoV3x8IW4pfHx1OCgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFLCBtcDRhLjQwLjIiJyk/bnVsbDoiZm10Lm5vbmVhdmFpbGFibGUifWNhdGNoe3JldHVybiJodG1sNS5taXNzaW5nYXBpIn19Owp6aT1mdW5jdGlvbigpe3ZhciBuPWk4KCk7cmV0dXJuISghbi53ZWJraXRTdXBwb3J0c1ByZXNlbnRhdGlvbk1vZGV8fHR5cGVvZiBuLndlYmtpdFNldFByZXNlbnRhdGlvbk1vZGUhPT0iZnVuY3Rpb24iKX07Cmw4PWZ1bmN0aW9uKCl7dmFyIG49aTgoKTt0cnl7bGV0IFc9bi5tdXRlZDtuLm11dGVkPSFXO3JldHVybiBuLm11dGVkIT09V31jYXRjaHt9cmV0dXJuITF9OwpUaT1mdW5jdGlvbihuLFcpe3JldHVybntzdGFydChEKXtyZXR1cm4gbltEXX0sZW5kKEQpe3JldHVybiBXW0RdfSxsZW5ndGg6bi5sZW5ndGh9fTsKakc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdLHY9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspYi5wdXNoKG4uc3RhcnQoaykpLHYucHVzaChuLmVuZChrKSk7Yi5wdXNoKFcpO3YucHVzaChEKTtiLnNvcnQoKGssaCk9PmstaCk7CnYuc29ydCgoayxoKT0+ay1oKTsKcmV0dXJuIFRpKGIsdil9Owpyaz1mdW5jdGlvbihuLFc9IiwiLEQ9bj9uLmxlbmd0aDowKXt2YXIgYj1bXTtpZihuKWZvcihEPU1hdGgubWF4KG4ubGVuZ3RoLUQsMCk7RDxuLmxlbmd0aDtEKyspYi5wdXNoKGAke24uc3RhcnQoRCkudG9GaXhlZCgzKX0tJHtuLmVuZChEKS50b0ZpeGVkKDMpfWApO3JldHVybiBiLmpvaW4oVyl9OwpDTT1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybi0xO3RyeXtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylpZihuLnN0YXJ0KEQpPD1XJiZuLmVuZChEKT49VylyZXR1cm4gRH1jYXRjaChEKXt9cmV0dXJuLTF9OwpCUj1mdW5jdGlvbihuLFcpe3JldHVybiBDTShuLFcpPj0wfTsKeDhqPWZ1bmN0aW9uKG4sVyl7aWYoIW4pcmV0dXJuIE5hTjtXPUNNKG4sVyk7cmV0dXJuIFc+PTA/bi5zdGFydChXKTpOYU59OwpGWj1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBOYU47Vz1DTShuLFcpO3JldHVybiBXPj0wP24uZW5kKFcpOk5hTn07Cmcud3k9ZnVuY3Rpb24obil7cmV0dXJuIG4mJm4ubGVuZ3RoP24uZW5kKG4ubGVuZ3RoLTEpOk5hTn07Ck0kPWZ1bmN0aW9uKG4pe3JldHVybiBnLnd5KG4pPjB9OwpSZD1mdW5jdGlvbihuLFcpe249RloobixXKTtyZXR1cm4gbj49MD9uLVc6MH07ClFUPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVtdO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKW4uZW5kKGspPFd8fG4uc3RhcnQoayk+RHx8KGIucHVzaChNYXRoLm1heChXLG4uc3RhcnQoaykpLVcpLHYucHVzaChNYXRoLm1pbihELG4uZW5kKGspKS1XKSk7cmV0dXJuIFRpKGIsdil9OwpWVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuU291cmNlQnVmZmVyPyEhU291cmNlQnVmZmVyLnByb3RvdHlwZS5jaGFuZ2VUeXBlOiExfTsKY1I9ZnVuY3Rpb24oKXtyZXR1cm4hISh3aW5kb3cuTWVkaWFTb3VyY2V8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V8fHdpbmRvdy5XZWJLaXRNZWRpYVNvdXJjZXx8d2luZG93LkhUTUxNZWRpYUVsZW1lbnQmJkhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLndlYmtpdFNvdXJjZUFkZElkKX07CmFkPWZ1bmN0aW9uKCl7cmV0dXJuISghd2luZG93Lk1lZGlhU291cmNlfHwhd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCl8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V9OwpuNj1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uVygpPT09Im9wZW4ifWNhdGNoKFcpe3JldHVybiExfX07CldGPWZ1bmN0aW9uKG4sVyl7bjYobik/Zy5tSygoKT0+e1cobil9KTpuLmNhbGxiYWNrPVd9Owp2Rj1mdW5jdGlvbihuLFcsRCl7REgmJihiQShuLm1lZGlhRWxlbWVudCx7bDoibXN3c3NiIixzcjpuLm1lZGlhRWxlbWVudC5ZYT8ucGcoKX0sITEpLFcuaCQobi5MTCxuKSxELmgkKG4uTEwsbikpO24uTj1XO24uSj1EO2cudShuLFcpO2cudShuLEQpfTsKTEtVPWZ1bmN0aW9uKG4sVyxELGI9IiIpe2I9Vy5taW1lVHlwZStiO3ZhciB2PUQubWltZVR5cGU7Vz1XLklCO0Q9RC5JQjtuLlZRPW4ubWVkaWFTb3VyY2U/LmFkZFNvdXJjZUJ1ZmZlcih2KTtuLmUkPWIuc3BsaXQoIjsiKVswXT09PSJmYWtlc2IiP3ZvaWQgMDpuLm1lZGlhU291cmNlPy5hZGRTb3VyY2VCdWZmZXIoYik7bi5FViYmKG4uRVYud2Via2l0U291cmNlQWRkSWQoIjAiLHYpLG4uRVYud2Via2l0U291cmNlQWRkSWQoIjEiLGIpKTtEPW5ldyBrZyhuLlZRLG4uRVYsIjAiLEpNKHYpLEQsITEpO2I9bmV3IGtnKG4uZSQsbi5FViwiMSIsSk0oYiksVywhMCk7dkYobixELGIpfTsKTDY9ZnVuY3Rpb24obixXLEQsYil7aWYoIW4uTnx8IW4uSilyZXR1cm4gbnVsbDt2YXIgdj1uLk4uaXNWaWV3KCk/bi5OLmskOm4uTixrPW4uSi5pc1ZpZXcoKT9uLkouayQ6bi5KLGg9bmV3IGhaKG4ubWVkaWFFbGVtZW50LG4ubWVkaWFTb3VyY2UsITApO2guaj1uLmo7dkYoaCxuZXcgeGcodixXLEQsYiksbmV3IHhnKGssVyxELGIpKTtuNihuKXx8bi5OLnlPKG4uTi5TVygpKTtyZXR1cm4gaH07CmVnMT1mdW5jdGlvbihuKXtyZXR1cm4gZTQoKFcsRCk9Pmcuc3ooVyxELDQsMUUzKSxuLHtmb3JtYXQ6IlJBVyIsCm1ldGhvZDoiR0VUIix3aXRoQ3JlZGVudGlhbHM6ITB9KX07CmcuZ3Q9ZnVuY3Rpb24obil7dmFyIFc7bi5yZXNwb25zZVR5cGUmJm4ucmVzcG9uc2VUeXBlIT09InRleHQiP24ucmVzcG9uc2VUeXBlPT09ImFycmF5YnVmZmVyIiYmKFc9cFIobmV3IFVpbnQ4QXJyYXkobi5yZXNwb25zZSkpKTpXPW4ucmVzcG9uc2VUZXh0O3JldHVybiFXfHxXLmxlbmd0aD4yMDQ4PyIiOlcuaW5kZXhPZigiaHR0cHM6Ly8iKT09PTA/VzoiIn07CmU0PWZ1bmN0aW9uKG4sVyxEKXtXLm1hdGNoKGdHcik7cmV0dXJuIG4oVyxEKS50aGVuKGI9Pnt2YXIgdj1nLmd0KGIueGhyKTtyZXR1cm4gdj9lNChuLHYsRCk6Yi54aHJ9KX07ClhKaT1mdW5jdGlvbihuLFcsRCl7aWYoIW4/LldjKCkpcmV0dXJuITE7dmFyIGI9Vy5zb21lKGg9PmgucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSInx8aC5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iKSx2PVcuc29tZShoPT5oLnByb2plY3Rpb25UeXBlPT09Ik1FU0giKSxrPVcuc29tZShoPT5oLnN0ZXJlb0xheW91dD09PTEpOwpXPVcuc29tZShoPT5oLmlzSGRyKCkpOwpuPSFEJiYhVyYmbi5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBifHx2fHxrfHxufTsKcXo9ZnVuY3Rpb24obixXLEQsYil7aWYoWEppKG4sVyxEKSlyZXR1cm4hMDtpZighbj8udE0oKXx8IVh2KG4sYikpcmV0dXJuITE7bj1XLnNvbWUodj0+di5pc0hkcigpKTsKcmV0dXJuIER8fG4/ITE6ITB9OwpxdWo9ZnVuY3Rpb24obil7cmV0dXJuIGcub00obixXPT4iRk9STUFUX1NUUkVBTV9UWVBFX09URiI9PT1XLnR5cGUpPyJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIjoiRk9STUFUX1NUUkVBTV9UWVBFX1VOS05PV04ifTsKRzNDPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uZXcgZy5HeCgiIixiLmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4pe249dFooaCxXLGsuZHVyYXRpb24sYix2KTtsZXQge0VsOngsczpMLHk3OmV9PVAwKDE1LDcwMCxoKTsoRD1SeCh4fHxoLnVybHx8IiIsZSxMKSkmJihuLnN0cmVhbVR5cGU9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/JGcoayxuZXcgcnQoRCxuKSk6JGcoayxuZXcgc2soRCxuLERKKGguaW5pdFJhbmdlKSxESihoLmluZGV4UmFuZ2UpKSkpfWsuaXNPdGY9ITA7cmV0dXJuIGt9Owp0T1o9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGIuZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj10WihoLFcsay5kdXJhdGlvbixiLHYpO0Q9REooaC5pbml0UmFuZ2UpO2xldCB4PURKKGguaW5kZXhSYW5nZSkse0VsOkwsczplLHk3Okd9PVAwKDEzLDcwMixoKSxyPVJ4KEx8fGgudXJsfHwiIixHLGUpO3ImJiRnKGssbmV3IHNrKHIsbixELHgpKX1yZXR1cm4ga307CnRaPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uLm1pbWVUeXBlfHwiIixoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO2g9aD9oLnRvU3RyaW5nKCk6IiI7eCYmKGgrPWA7JHt4fWApO3g9aDtpZihTRyhrKSl7dmFyIEw9bi53aWR0aHx8NjQwO2g9bi5oZWlnaHR8fDM2MDtsZXQgeT1uLmZwcyxUPW4ucXVhbGl0eUxhYmVsLHo9bi5xdWFsaXR5T3JkaW5hbCxDPW4uY29sb3JJbmZvLFE9bi5wcm9qZWN0aW9uVHlwZTt2YXIgZTtuLnN0ZXJlb0xheW91dCYmKGU9JDh4W24uc3RlcmVvTGF5b3V0XSk7bGV0IFY9TiQobil8fHZvaWQgMDt2YXIgRztDPy5wcmltYXJpZXMmJihHPXIkeFtDLnByaW1hcmllc118fHZvaWQgMCk7TD1uZXcgSFIoTCxoLHksUSxlLHZvaWQgMCxULHomJk56W3pdLFYsRywobi52aWRlb1RyYWNrPy5hc3NvY2lhdGVkQXVkaW9UcmFja0lkPy5sZW5ndGg/PzApPT09MCk7az1wNihrLEwsWWdbbi5pdGFnfHwiIl0pO0hGJiYoays9IjsgZW5hYmxlZmx1c2hkdXJpbmdzZWVrPXRydWUiKTsKZjYmJihrKz0iOyBlbmFibGVyZXNldGF1ZGlvZGVjb2Rlcj10cnVlIik7cXooYixbTF0sVyx2KSYmKGsrPSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUiKX12YXIgcjtpZihJZChrKSl7dmFyIE49bi5hdWRpb1NhbXBsZVJhdGU7Yj1uLmF1ZGlvVHJhY2s7Tj1uZXcgQU0oTj8rTjp2b2lkIDAsbi5hdWRpb0NoYW5uZWxzLG4uc3BhdGlhbEF1ZGlvVHlwZSxuLmlzRHJjLG4ubG91ZG5lc3NEYixuLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMsbi5hdWRpb1F1YWxpdHl8fCJBVURJT19RVUFMSVRZX1VOS05PV04iLG4uaXNWYik7YiYmKHY9Yi5kaXNwbGF5TmFtZSxlPWIuaWQsRz1iLmF1ZGlvSXNEZWZhdWx0LGI9Yi5pc0F1dG9EdWJiZWQsdiYmKHI9bmV3IHdQKHYsZXx8IiIsISFHLCEhYikpKX12YXIgSDtuLmNhcHRpb25UcmFjayYmKGI9bi5jYXB0aW9uVHJhY2suZGlzcGxheU5hbWUsdj1uLmNhcHRpb25UcmFjay52c3NJZCxlPW4uY2FwdGlvblRyYWNrLmxhbmd1YWdlQ29kZSxHPW4uY2FwdGlvblRyYWNrLmtpbmQsCmg9bi5jYXB0aW9uVHJhY2suaWQsYiYmdiYmZSYmKEg9bmV3IEtNKGIsdixlLEcsbi54dGFncyxoKSkpO2I9TnVtYmVyKG4uYml0cmF0ZSkvODt2PU51bWJlcihuLmNvbnRlbnRMZW5ndGgpO2U9TnVtYmVyKG4ubGFzdE1vZGlmaWVkKTtoPW4uZHJtRmFtaWxpZXM7Rz1uLnR5cGU7bj1OdW1iZXIobi5hcHByb3hEdXJhdGlvbk1zKTtpZihXJiZoKXt2YXIgQT17fTtmb3IobGV0IHkgb2YgaCkoaD1KWlt5XSkmJihBW2hdPVdbaF0pfXJldHVybiBuZXcgbXUoeCxrLHthdWRpbzpOLHZpZGVvOkwsa1o6cixjb250ZW50UHJvdGVjdGlvbjpBLE5zOmIsWG46RCYmdj92L0Q6MCxjb250ZW50TGVuZ3RoOnYsbGFzdE1vZGlmaWVkOmUsY2FwdGlvblRyYWNrOkgsc3RyZWFtVHlwZTpHLGFwcHJveER1cmF0aW9uTXM6bn0pfTsKczVVPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4sVz0+IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiPT09Vy5zdHJlYW1fdHlwZSk/IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiOiJGT1JNQVRfU1RSRUFNX1RZUEVfVU5LTk9XTiJ9OwpOcGo9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGI/LmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4paWYobj1JbyhoLFcsay5kdXJhdGlvbixiLHYpLEQ9UngoaC51cmwsaC5zcCxoLnMpKWlmKG4uc3RyZWFtVHlwZT09PSJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIikkZyhrLG5ldyBydChELG4pKTtlbHNle2xldCB4PW56KGguaW5pdCksTD1ueihoLmluZGV4KTskZyhrLG5ldyBzayhELG4seCxMKSl9ay5pc090Zj0hMDtyZXR1cm4ga307CnBKYj1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bmV3IGcuR3goIiIsYj8uZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj1JbyhoLFcsay5kdXJhdGlvbixiLHYpO0Q9bnooaC5pbml0KTtsZXQgeD1ueihoLmluZGV4KSxMPVJ4KGgudXJsLGguc3AsaC5zKTtMJiYkZyhrLG5ldyBzayhMLG4sRCx4KSl9cmV0dXJuIGt9OwpJbz1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bi50eXBlO3ZhciBoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO3gmJihoPW4uaXRhZysiOyIreCk7aWYoU0coaykpe3ZhciBMPShuLnNpemV8fCI2NDB4MzYwIikuc3BsaXQoIngiKTtMPW5ldyBIUigrTFswXSwrTFsxXSwrbi5mcHMsbi5wcm9qZWN0aW9uX3R5cGUsK24uc3RlcmVvX2xheW91dCx2b2lkIDAsbi5xdWFsaXR5X2xhYmVsLCtuLnF1YWxpdHlfb3JkaW5hbCxuLmVvdGYsbi5wcmltYXJpZXMsIW4udmlkZW9fdHJhY2tfYXNzb2NpYXRlZF9hdWRpb190cmFja19pZCk7az1wNihrLEwsWWdbbi5pdGFnXSk7SEYmJihrKz0iOyBlbmFibGVmbHVzaGR1cmluZ3NlZWs9dHJ1ZSIpO2Y2JiYoays9IjsgZW5hYmxlcmVzZXRhdWRpb2RlY29kZXI9dHJ1ZSIpO3F6KGIsW0xdLFcsdikmJihrKz0iOyBkZWNvZGUtdG8tdGV4dHVyZT10cnVlIil9dmFyIGU7aWYoSWQoaykpe3ZhciBHPW5ldyBBTSgrbi5hdWRpb19zYW1wbGVfcmF0ZXx8dm9pZCAwLAorbi5hdWRpb19jaGFubmVsc3x8MCxuLnNwYXRpYWxfYXVkaW9fdHlwZSwhIW4uZHJjKTtuLm5hbWUmJihlPW5ldyB3UChuLm5hbWUsbi5hdWRpb190cmFja19pZCxuLmlzRGVmYXVsdD09PSIxIixuLmlzQXV0b0R1YmJlZD09PSIxIikpfXZhciByO24uY2FwdGlvbl9kaXNwbGF5X25hbWUmJm4uY2FwdGlvbl92c3NfaWQmJm4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlJiYocj1uZXcgS00obi5jYXB0aW9uX2Rpc3BsYXlfbmFtZSxuLmNhcHRpb25fdnNzX2lkLG4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlLG4uY2FwdGlvbl9raW5kLG4ueHRhZ3Msbi5jYXB0aW9uX2lkKSk7Yj1OdW1iZXIobi5iaXRyYXRlKS84O3Y9TnVtYmVyKG4uY2xlbik7eD1OdW1iZXIobi5sbXQpO0Q9RCYmdj92L0Q6MDtpZihXJiZuLmRybV9mYW1pbGllcyl7dmFyIE49e307Zm9yKGxldCBIIG9mIG4uZHJtX2ZhbWlsaWVzLnNwbGl0KCIsIikpTltIXT1XW0hdfXJldHVybiBuZXcgbXUoaCxrLHthdWRpbzpHLHZpZGVvOkwsCmtaOmUsY29udGVudFByb3RlY3Rpb246TixOczpiLFhuOkQsY29udGVudExlbmd0aDp2LGxhc3RNb2RpZmllZDp4LGNhcHRpb25UcmFjazpyLHN0cmVhbVR5cGU6bi5zdHJlYW1fdHlwZSxhcHByb3hEdXJhdGlvbk1zOk51bWJlcihuLmFwcHJveF9kdXJhdGlvbl9tcyl9KX07Cll1aD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAiZXF1aXJlY3Rhbmd1bGFyIjpyZXR1cm4iRVFVSVJFQ1RBTkdVTEFSIjtjYXNlICJlcXVpcmVjdGFuZ3VsYXJfdGhyZWVkX3RvcF9ib3R0b20iOnJldHVybiJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iO2Nhc2UgIm1lc2giOnJldHVybiJNRVNIIjtjYXNlICJyZWN0YW5ndWxhciI6cmV0dXJuIlJFQ1RBTkdVTEFSIjtkZWZhdWx0OnJldHVybiJVTktOT1dOIn19OwpIcWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9hbWJpc29uaWNzXzVfMSI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTXzVfMSI7Y2FzZSAic3BhdGlhbF9hdWRpb190eXBlX2FtYmlzb25pY3NfcXVhZCI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTX1FVQUQiO2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9mb2Ffd2l0aF9ub25fZGllZ2V0aWMiOnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfRk9BX1dJVEhfTk9OX0RJRUdFVElDIjtkZWZhdWx0OnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSJ9fTsKZnRaPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUzQobmV3IGcuR3gobixXLEQpLG4pfTsKR189ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PmdaKDI0LDExNjQsVy5YYi5OKSl9OwpmRHc9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PiEhVy5pbmZvLnZpZGVvJiZXLmluZm8udmlkZW8uaXNIZHIoKSl9OwokZz1mdW5jdGlvbihuLFcpe24uTltXLmluZm8uaWRdPVc7bi5KLnNldChjdyhXLG4uelcpLFcpfTsKUzQ9ZnVuY3Rpb24obixXPSIiKXtuLnN0YXRlPTE7bi5TJD0oMCxnLlIpKCk7cmV0dXJuIGVnMShXfHxuLnNvdXJjZVVybCkudGhlbihEPT57aWYoIW4ucU4oKSl7bi5sTj1ELnN0YXR1cztEPUQucmVzcG9uc2VUZXh0O2xldCB2PW5ldyBET01QYXJzZXI7RD1nLmdUKHYsZy5IVihEKSwidGV4dC94bWwiKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiTVBEIilbMF07bi5jSj1qeChsVChELCJtaW5pbXVtVXBkYXRlUGVyaW9kIikpKjFFM3x8SW5maW5pdHk7Yjp7aWYoRC5hdHRyaWJ1dGVzKWZvcihiIG9mIEQuYXR0cmlidXRlcylpZihiLnZhbHVlPT09Imh0dHA6Ly95b3V0dWJlLmNvbS95dC8yMDEyLzEwLzEwIil7dmFyIGI9Yi5uYW1lLnNwbGl0KCI6IilbMV07YnJlYWsgYn1iPSIifW4uaj1iO24uaXNMaXZlPW4uY0o8SW5maW5pdHkmJm4uaXNMaXZlUGxheWJhY2s7bi5ISj1OdW1iZXIobFQoRCxuLmorIjplYXJsaWVzdE1lZGlhU2VxdWVuY2UiKSl8fDA7aWYoYj1EYXRlLnBhcnNlKEN6KGxUKEQsCm4uaisiOm1wZFJlc3BvbnNlVGltZSIpKSkpbi5lJD0oKDAsZy5SKSgpLWIpLzFFMztuLmlzTGl2ZSYmRC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikubGVuZ3RoPD0wfHxnLmR6KEQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlBlcmlvZCIpLG4ueUUsbik7bi5zdGF0ZT0yO24uV0ooImxvYWRlZCIpO0FaKG4pfXJldHVybiBufSkuc1AoRD0+e2lmKEQgaW5zdGFuY2VvZiBnLiRUKXt2YXIgYj1ELnhocjsKbi5sTj1iLnN0YXR1c31uLnN0YXRlPTM7bi5XSigibG9hZGVycm9yIik7cmV0dXJuIGcucnAoYil9KX07CmcubUg9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby5OKCkpfTsKSzY9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby52aWRlbz9XLmluZm8udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSIjohMSl9OwpPaz1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOiExKX07ClBGPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRsKG4uTixXPT5XLmluZm8udmlkZW8/Vy5pbmZvLnZpZGVvLnByb2plY3Rpb25UeXBlPT09Ik1FU0giOiExKX07CkokVT1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5zdGVyZW9MYXlvdXQ9PT0xOiExKX07Ckl0aT1mdW5jdGlvbihuKXtyZXR1cm4gZy5iayhuLk4sVz0+Vy5pbmZvLnZpZGVvP1cubnUoKTohMCl9OwpaSD1mdW5jdGlvbihuLFcsRCl7Vz1nLlZmKFcuaW5mbyxuLnpXKTtpZihEKXtsZXQgYj1Nayh7aXRhZzpXLml0YWcsbG10Om4uelc/MDpXLmxtdHx8MCx4dGFnczpXLnh0YWdzfSk7aWYobi52SltiXSlyZXR1cm47bi52SltiXT1EfW4uR0MucHVzaChXKX07CnlDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bFQoVywiaWQiKTtEPUQucmVwbGFjZSgiOiIsIjsiKTt2YXIgYj1sVChXLCJtaW1lVHlwZSIpLHY9bFQoVywiY29kZWNzIik7Yj12P2Ake2J9OyBjb2RlY3M9IiR7dn0iYDpiO3Y9TnVtYmVyKGxUKFcsImJhbmR3aWR0aCIpKS84O3ZhciBrPU51bWJlcihUUChXLCJCYXNlVVJMIikuZ2V0QXR0cmlidXRlKG4uaisiOmNvbnRlbnRMZW5ndGgiKSksaD1uLmR1cmF0aW9uJiZrP2svbi5kdXJhdGlvbjowO2lmKFNHKGIpKXt2YXIgeD1OdW1iZXIobFQoVywid2lkdGgiKSksTD1OdW1iZXIobFQoVywiaGVpZ2h0IikpLGU9TnVtYmVyKGxUKFcsImZyYW1lUmF0ZSIpKTtsZXQgQT1ZdWgobFQoVyxuLmorIjpwcm9qZWN0aW9uVHlwZSIpKTthOnN3aXRjaChsVChXLG4uaisiOnN0ZXJlb0xheW91dCIpKXtjYXNlICJsYXlvdXRfbGVmdF9yaWdodCI6dmFyIEc9MTticmVhayBhO2Nhc2UgImxheW91dF90b3BfYm90dG9tIjpHPTI7YnJlYWsgYTtkZWZhdWx0Okc9CjB9Rz1uZXcgSFIoeCxMLGUsQSxHKX1pZihJZChiKSl7dmFyIHI9TnVtYmVyKGxUKFcsImF1ZGlvU2FtcGxpbmdSYXRlIikpO3ZhciBOPU51bWJlcihsVChXLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJBdWRpb0NoYW5uZWxDb25maWd1cmF0aW9uIilbMF0sInZhbHVlIikpO3g9SHFoKGxUKFcsbi5qKyI6c3BhdGlhbEF1ZGlvVHlwZSIpKTtyPW5ldyBBTShyLE4seCk7YTp7TD1sVChXLCJsYW5nIil8fCJ1bmQiO2lmKE49VFAoVywiUm9sZSIpKWlmKGU9bFQoTiwidmFsdWUiKXx8IiIsZy5lcChVayxlKSl7Tj1gJHtMfS4ke1VrW2VdfWA7eD1lPT09Im1haW4iO249bFQoVyxuLmorIjpsYW5nTmFtZSIpfHxgJHtMfSAtICR7ZX1gO049bmV3IHdQKG4sTix4KTticmVhayBhfU49dm9pZCAwfX1pZihXPVRQKFcsIkNvbnRlbnRQcm90ZWN0aW9uIikpaWYoVy5nZXRBdHRyaWJ1dGUoInNjaGVtZUlkVXJpIik9PT0iaHR0cDovL3lvdXR1YmUuY29tL2RybS8yMDEyLzEwLzEwIil7dmFyIEg9e307Zm9yKFc9ClcuZmlyc3RDaGlsZDtXIT1udWxsO1c9Vy5uZXh0U2libGluZyl7aWYoIShXIGluc3RhbmNlb2YgRWxlbWVudCkpY29udGludWU7aWYoIS9TeXN0ZW1VUkwvLnRlc3QoVy5ub2RlTmFtZSkpY29udGludWU7bj1XLmdldEF0dHJpYnV0ZSgidHlwZSIpO3g9Vy50ZXh0Q29udGVudDtuJiZ4JiYoSFtuXT14LnRyaW0oKSl9fWVsc2UgSD12b2lkIDA7cmV0dXJuIG5ldyBtdShELGIse2F1ZGlvOnIsdmlkZW86RyxrWjpOLGNvbnRlbnRQcm90ZWN0aW9uOkgsTnM6dixYbjpoLGNvbnRlbnRMZW5ndGg6a30pfTsKQVo9ZnVuY3Rpb24obil7dmFyIFc9bi5jSjtpc0Zpbml0ZShXKSYmKEVrKG4pP24ucmVmcmVzaCgpOihXPU1hdGgubWF4KDAsbi5TJCtXLSgwLGcuUikoKSksbi5LfHwobi5LPW5ldyBnLmZfKG4ucmVmcmVzaCxXLG4pLGcudShuLG4uSykpLG4uSy5zdGFydChXKSkpfTsKdmFyIFN1eD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsNCwxNjk5LG4sVyxELGIsdixrLGgseCxMLGUpfTsKRWs9ZnVuY3Rpb24obil7cmV0dXJuIG4uaXNMaXZlJiYoMCxnLlIpKCktbi5TJD49bi5jSn07CkEkaT1mdW5jdGlvbihuKXtuPW4uTjtmb3IobGV0IFcgaW4gbil7bGV0IEQ9bltXXS5pbmRleDtpZihELmlzTG9hZGVkKCkpcmV0dXJuIEQueCQoKSsxfXJldHVybiAwfTsKaUE9ZnVuY3Rpb24obil7cmV0dXJuIG4ub1I/bi5vUi0obi5EfHxuLnRpbWVzdGFtcE9mZnNldCk6MH07CnVBPWZ1bmN0aW9uKG4pe3JldHVybiBuLkpVP24uSlUtKG4uRHx8bi50aW1lc3RhbXBPZmZzZXQpOjB9Owpvbz1mdW5jdGlvbihuKXtpZighaXNOYU4obi5UQykpcmV0dXJuIG4uVEM7dmFyIFc9bi5OO2Zvcih2YXIgRCBpbiBXKXt2YXIgYj1XW0RdLmluZGV4O2lmKGIuaXNMb2FkZWQoKSYmIVdbRF0uaW5mby5OKCkpe1c9MDtmb3IoRD1iLlpPKCk7RDw9Yi54JCgpO0QrKylXKz1iLmdldER1cmF0aW9uKEQpO1cvPWIuSDcoKTtXPU1hdGgucm91bmQoVy8uNSkqLjU7Yi5INygpPjEwJiYobi5UQz1XKTtyZXR1cm4gV31pZihuLmlzTGl2ZSYmKGI9V1tEXSxiLnJiKSlyZXR1cm4gYi5yYn1yZXR1cm4gTmFOfTsKbTh0PWZ1bmN0aW9uKG4sVyl7bj1xYyhuLk4sYj0+Yi5pbmRleC5pc0xvYWRlZCgpKTsKaWYoIW4pcmV0dXJuIE5hTjtuPW4uaW5kZXg7dmFyIEQ9bi5SMyhXKTtyZXR1cm4gbi5nZXRTdGFydFRpbWUoRCk9PT1XP1c6RDxuLngkKCk/bi5nZXRTdGFydFRpbWUoRCsxKTpOYU59Owp6eD1mdW5jdGlvbihuLFcpe2lmKCFuLk5bIjAiXSl7dmFyIEQ9bmV3IG11KCIwIiwiZmFrZXNiIix7dmlkZW86bmV3IEhSKDAsMCwwLHZvaWQgMCx2b2lkIDAsImF1dG8iKX0pO24uTlsiMCJdPVc/bmV3IGR0KG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELCJmYWtlIik6bmV3IHNrKG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELG5ldyBhQigwLDApLG5ldyBhQigwLDApKX19OwpnLmxBPWZ1bmN0aW9uKG4pe2lmKG4uaXNNYW5pZmVzdGxlc3MpZm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5kZXguc2VnbWVudHM9W119OwpUeD1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4uTil7bGV0IHY9bi5OW2JdLmluZm8uTigpfHxuLk5bYl0uaW5mby5mWSgpO0Q9PT12JiZuLk5bYl0uaW5kZXg/Lk8oVyl9fTsKajQ9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5mby5OKCl8fFBBKG4uTltXXS5pbmRleCxJbmZpbml0eSl9OwpDNj1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBoIGluIG4uTil7dmFyIGI9bi5OW2hdLmluZGV4LHY9VyxrPUQ7Yi5PVCYmKHYmJihiLnFxPU1hdGgubWF4KGIucXEsdikpLGsmJihiLkRuPU1hdGgubWF4KGIuRG58fDAsaykpKX1EJiYobi50dz1ELzFFMyl9OwpCRj1mdW5jdGlvbihuLFcsRCxiPSExKXtiJiZEPT09bi5QWHx8KG4uYmQucHVzaChXKSxuLlBYPUQsbi5XSigiY3VlcG9pbnRzYWRkZWQiLEQpKX07CktLdD1mdW5jdGlvbihuKXtuLkpVPTA7bi5vUj0wO24uSVQ9MH07CkZ2PWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRJiZuLmlzTWFuaWZlc3RsZXNzP24uaXNMaXZlSGVhZFBsYXlhYmxlOm4uaXNMaXZlfTsKcDY9ZnVuY3Rpb24obixXLEQpe3d0PT09bnVsbCYmKHd0PXdpbmRvdy5NZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMi41MS4xMC4wMS4wOS4xNi4wOS4wMCInKSYmIU1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAyLjUxLjEwLjAxLjA5Ljk5Ljk5LjAwIicpKTtpZihNeiYmd2luZG93Lk1lZGlhU291cmNlJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQhPT12b2lkIDApcmV0dXJuIHd0fHxEIT09IjkiJiZEIT09IigiP3d0fHxEIT09IjloIiYmRCE9PSIoaCJ8fChuPSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicpOm49J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicsbjtpZighd3QmJiFSb3x8biE9PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInJiZuIT09J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5LjIiJylyZXR1cm4gbjsKRD0iMDAiO3ZhciBiPSIwOCIsdj0iMDEiLGs9IjAxIixoPSIwMSI7bj09PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicmJihEPSIwMiIsYj0iMTAiLFcucHJpbWFyaWVzPT09ImJ0MjAyMCImJihoPXY9IjA5IiksVy5OPT09InNtcHRlMjA4NCImJihrPSIxNiIpLFcuTj09PSJhcmliLXN0ZC1iNjciJiYoaz0iMTgiKSk7cmV0dXJuYHZpZGVvL3dlYm07IGNvZGVjcz0iJHtbInZwMDkiLEQsIjUxIixiLCIwMSIsdixrLGgsIjAwIl0uam9pbigiLiIpfSJgfTsKVkM9ZnVuY3Rpb24obixXLEQpe249YCR7bn0ke1c+NDk/InA2MCI6Vz4zMj8icDQ4IjoiIn1gO1c9ZjcoKVtuXTtpZihXIT1udWxsJiZXPjApcmV0dXJuIFc7Vz1RQy5nZXQobik7aWYoVyE9bnVsbCYmVz4wKXJldHVybiBXO0Q9RD8uZ2V0KG4pO3JldHVybiBEIT1udWxsJiZEPjA/RDo4MTkyfTsKT3F4PWZ1bmN0aW9uKG4sVz0hMSl7UWh3KFcpO1ZwQyhXKTtpZihXKXtmb3IobGV0IEQgb2YgUUMua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxRQy5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIGNGLnZhbHVlcygpKUQuc3RhcnRzV2l0aCgiMSIpfHxjRi5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIG4ua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxuLmRlbGV0ZShEKX1lbHNlIFFDLmNsZWFyKCksY0YuY2xlYXIoKSxuLmNsZWFyKCl9OwpVOFo9ZnVuY3Rpb24obix7aXNPdGY6VyxtVjpELHlYOmIsSVI6dixPdzprLEhpOmgsbFU6eCxvTDpMLHhkOmUsZGlzYWJsZUF2MTpHLGRCOnJ9KXt2YXIgTj1uZXcgUGVNKG4pO2lmKG4uV1goKXx8bi5TKCJodG1sNV9sb2dnaW5nX2Zvcm1hdF9zZWxlY3Rpb24iKSlOLlc9ITA7Ti5HQz1rO04uSGk9aCYmbi5LO04ueGQ9ZTtnLnViKCJ3aW5kb3dzIG50IDUuMSIpJiYhZy5hbyYmKE4uYnY9ITApO2lmKGs9RClrPWcubk4obik/WnFTKG4pOiExO2smJihOLmNKPSEwKTt4JiYoTi5idj0hMCxOLk5kPSEwKTtXJiYhbi5TKCJodG1sNV9vdGZfcHJlZmVyX3ZwOSIpJiYoTi5idj0hMCk7bi5wbGF5ZXJTdHlsZT09PSJwaWNhc2F3ZWIiJiYoVyYmKE4uYnY9ITEpLE4udHc9ITEpO3YmJihOLmJ2PSEwKTtTSihuLlcsQVQuQ0hBTk5FTFMpJiYobi5TKCJodG1sNV9lbmFibGVfYWMzIikmJihOLmo9ITApLG4uUygiaHRtbDVfZW5hYmxlX2VhYzMiKSYmKE4uVj0hMCksbi5TKCJodG1sNV9lbmFibGVfYWMzX2dhcGxlc3MiKSYmCihOLkhKPSEwKSk7bi5TKCJodG1sNV9ibG9ja184a19oZnIiKSYmKE4uUFg9ITApO04uSz1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO04uWT1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO2cuV1gmJihOLndhPTQ4MCk7aWYoYnx8RClOLnR3PSExO04uQ3U9ITE7Ti5kaXNhYmxlQXYxPUc7Ti5KPW4uUygiaHRtbDVfbG9nX25vX2F2MV9yZWFzb24iKTtXPURLKG4sTi5OLHZvaWQgMCxOLmRpc2FibGVBdjEpO1c+MCYmVzwyMTYwJiYoVlQoKXx8bi5TKCJodG1sNV9mb3JtYXRfaHlicmlkaXphdGlvbiIpKSYmKE4uTi5zdXBwb3J0c0NoYW5nZVR5cGU9K1ZUKCksTi5uUz1XKTtXPj0yMTYwJiYoTi5lJD0hMCk7Ti5vTD1MO04uRkY9Zy5SZ3x8YzAoKSYmIUw/ITE6ITA7Ti5EPW4uUygiaHRtbDVfZm9ybWF0X2h5YnJpZGl6YXRpb24iKTtOLkJWPW4uUygiaHRtbDVfZGlzYWJsZV9lbmNyeXB0ZWRfdnA5X2xpdmVfbm9uXzJrXzRrIik7Ck4ualc9cjtyZXR1cm4gTn07CkRLPWZ1bmN0aW9uKG4sVz17fSxELGI9ITEpe2lmKGIpcmV0dXJuIFcuZGlzYWJsZWQ9MSwwO2lmKFNKKG4uVyxBVC5BVjFfQ09ERUNTKSYmU0oobi5XLEFULkhFSUdIVCkmJlNKKG4uVyxBVC5CSVRSQVRFKSlyZXR1cm4gVy5pc0NhcGFiaWxpdHlVc2FibGU9MSw4MTkyO2I9MTA4MDt2YXIgdj1uYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeTt2PD0yJiYoYj00ODApO1cuY29yZUNvdW50PXY7aWYodj1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYXYxX3RocmVzaG9sZCIpKWI9V1siZGVmYXVsdCJdPXY7aWYodj1uLlcuY0opVy5tY2FwPXYsYj1NYXRoLm1heChiLHYpO2lmKEQpe2lmKHY9RC52aWRlb0luZm9zLmZpbmQoaD0+aC5NVygpKT8uaj8ucG93ZXJFZmZpY2llbnQpYj04MTkyLFcuaXNFZmZpY2llbnQ9MTsKRD1ELnZpZGVvSW5mb3NbMF0udmlkZW87bGV0IGs9TWF0aC5taW4oVkMoIjEiLEQuZnBzKSxWQygiMSIsMzApKTtXLnBlcmZDYXA9aztiPU1hdGgubWluKGIsayk7IUQuaXNIZHIoKXx8dnx8bi5adCgpLk4uUVEoeSRqKXx8KFcuaGRyPTEsYio9Ljc1KX1lbHNlIG49VkMoIjEiLDMwKSxXLnBlcmZDYXAzMD1uLGI9TWF0aC5taW4oYixuKSxuPVZDKCIxIiw2MCksVy5wZXJmQ2FwNjA9bixiPU1hdGgubWluKGIsbik7cmV0dXJuIFcuYXYxVGhyZXNob2xkPWJ9OwpySGk9ZnVuY3Rpb24obil7dmFyIFc9WyJvIiwiYSIsIkEiXTtpZihuLnhkPT09MSYmKG4uaiYmKFc9WyJtYWMzIiwiTUFDMyJdLmNvbmNhdChXKSksbi5WJiYoVz1bIm1lYWMzIiwiTUVBQzMiXS5jb25jYXQoVykpLG4uVlF8fG4uZkIpKXtsZXQgRD1bXTtuLlZRJiZELnB1c2goImkiKTtuLmZCJiZELnB1c2goIkkiKTtXPUQuY29uY2F0KFcpfW4uY0omJihXPVsic28iLCJzYSJdLmNvbmNhdChXKSk7IW4uTmR8fG4uSEp8fG4uWHx8bi5zNXx8Vy51bnNoaWZ0KCJhIik7bi5YJiYoVz0oYm9bbi5YXXx8W24uWF0pLmNvbmNhdChXKSk7cmV0dXJuIFd9OwpKSHI9ZnVuY3Rpb24obil7aWYobi5HQylyZXR1cm5bImYiXTtpZihnLnViKCJhcHBsZXR2NSIpKXJldHVybiJoIDloIDkgOCBIIChoICggKiIuc3BsaXQoIiAiKTt2YXIgVz1bIjloIiwiOSIsImgiLCI4Il07bi5ZJCYmVy5wdXNoKCIxZSIpO1c9Vy5jb25jYXQoWyIoaCIsIigiLCJIIiwiKiJdKTtuLmUkJiYoVy51bnNoaWZ0KCIxIiksVy51bnNoaWZ0KCIxaCIpKTtuLmJ2JiZXLnVuc2hpZnQoImgiKTtuLk8mJihXPShib1tuLk9dfHxbbi5PXSkuY29uY2F0KFcpKTtyZXR1cm4gV307CnZYPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93LFc9bi5NU01lZGlhS2V5cztDJCgpJiYhVyYmKFc9bi5XZWJLaXRNZWRpYUtleXMpO3JldHVybiBXJiZXLmlzVHlwZVN1cHBvcnRlZD9XOm51bGx9Owpoej1mdW5jdGlvbihuKXtyZXR1cm4gbmF2aWdhdG9yLnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzcz9nLm9kJiYhZy5kOCgpP0NfKCI0NSIpOmcuUmd8fGcua2g/bi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTpnLmFvP0NfKCI0NyIpOmcuR24mJm4uRXEoImh0bWw1X2VuYWJsZV9zYWZhcmlfZmFpcnBsYXkiKT8hMTohMDohMX07CnhoPWZ1bmN0aW9uKG4pe3JldHVybiBuLlg/ITE6IW4ua2V5U3lzdGVtQWNjZXNzJiYhIXZYKCkmJm4ua2V5U3lzdGVtPT09ImNvbS5taWNyb3NvZnQucGxheXJlYWR5In07CkxOPWZ1bmN0aW9uKG4pe3JldHVybiBuLmtleVN5c3RlbT09PSJjb20ubWljcm9zb2Z0LnBsYXlyZWFkeSJ9OwplVD1mdW5jdGlvbihuKXtyZXR1cm4hbi5rZXlTeXN0ZW1BY2Nlc3MmJiEhdlgoKSYmbi5rZXlTeXN0ZW09PT0iY29tLmFwcGxlLmZwcy4xXzAifTsKZzE9ZnVuY3Rpb24obil7cmV0dXJuIG4ua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5In07CmcuWFY9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmxhdm9yPT09ImZhaXJwbGF5In07CkVHQz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj16USgpLGs9KEQ9dnx8RCYmQyQoKSk/WyJjb20ueW91dHViZS5mYWlycGxheSJdOlsiY29tLndpZGV2aW5lLmFscGhhIl07VyYmay51bnNoaWZ0KCJjb20ueW91dHViZS53aWRldmluZS5sMyIpO3YmJmImJmsudW5zaGlmdCgiY29tLnlvdXR1YmUuZmFpcnBsYXkuc2JkbCIpO3JldHVybiBEP2s6bj9bLi4uaywuLi5xVi5wbGF5cmVhZHldOlsuLi5xVi5wbGF5cmVhZHksLi4ua119OwokaD1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uSi5sZW5ndGg9PT0wKW4uY2FsbGJhY2sobi5YKTtlbHNle3ZhciBXPW4uSlswXSxEPW4uV1tXXSxiPWlxdChuLEQpO0dMJiZHTC5rZXlTeXN0ZW09PT1XJiZHTC5JMT09PUpTT04uc3RyaW5naWZ5KGIpPyhuLlUoInJlbWtzYSIse3JlOiEwfSksdHoobixELEdMLmtleVN5c3RlbUFjY2VzcykpOihuLlUoInJlbWtzYSIse3JlOiExLG9rOkdMPy5rZXlTeXN0ZW0/PyIifSksR0w9dm9pZCAwLG5hdmlnYXRvci5yZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoVyxiKS50aGVuKFl6KHY9Pnt0eihuLEQsdixiKX0pLFl6KCgpPT57bi5qPSFuLmomJm4uV1tuLkpbMF1dLmZsYXZvcj09PSJ3aWRldmluZSI7Cm4uanx8bi5KLnNoaWZ0KCk7JGgobil9KSkpfX07Cm9Hdz1mdW5jdGlvbihuKXtpZih2WCgpJiYoZy5Hbnx8dzgpKW4uWC5wdXNoKG5ldyByMSgiZmFpcnBsYXkiLCJjb20uYXBwbGUuZnBzLjFfMCIsIiIsbi55US5leHBlcmltZW50cykpO2Vsc2V7dmFyIFc9dTFyKCksRD1nLmxfKG4uSixiPT57dmFyIHY9bi5XW2JdLGs9ITEsaD0hMTtmb3IobGV0IHggaW4gbi5OW3YuZmxhdm9yXSlXKHgsYikmJih2LkpbeF09ITAsaz1rfHx4LmluZGV4T2YoImF1ZGlvLyIpPT09MCxoPWh8fHguaW5kZXhPZigidmlkZW8vIik9PT0wKTtyZXR1cm4gayYmaH0pOwpEJiZuLlgucHVzaChuLldbRF0pO24uSj1bXX1uLmNhbGxiYWNrKG4uWCl9OwpkOGk9ZnVuY3Rpb24obixXKXtuLmNhbGxiYWNrPVc7bi5YPVtdO2h6KG4ueVEuZXhwZXJpbWVudHMpPyRoKG4pOm9HdyhuKX07CmlxdD1mdW5jdGlvbihuLFcpe3ZhciBEPXtpbml0RGF0YVR5cGVzOlsiY2VuYyIsIndlYm0iXSxhdWRpb0NhcGFiaWxpdGllczpbXSx2aWRlb0NhcGFiaWxpdGllczpbXX07aWYobi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikmJmcxKFcpKXJldHVybiBELmF1ZGlvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC41Iid9KSxELnZpZGVvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOid2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40ZDQwMGIiJ30pLFtEXTtMTihXKSYmKEQuaW5pdERhdGFUeXBlcz1bImtleWlkcyIsImNlbmMiXSk7Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKXt2YXIgYj12LmluZGV4T2YoImF1ZGlvLyIpPT09MDtsZXQgaz1iP0QuYXVkaW9DYXBhYmlsaXRpZXM6RC52aWRlb0NhcGFiaWxpdGllcztXLmZsYXZvciE9PSJ3aWRldmluZSJ8fG4uaj9rLnB1c2goe2NvbnRlbnRUeXBlOnZ9KToKYj9rLnB1c2goe2NvbnRlbnRUeXBlOnYscm9idXN0bmVzczoiU1dfU0VDVVJFX0NSWVBUTyJ9KTooZy5vZCYmZy51Yigid2luZG93cyBudCIpJiYhbi5TKCJodG1sNV9kcm1fZW5hYmxlX21vaG8iKXx8ay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IkhXX1NFQ1VSRV9BTEwifSksYj12LG4ueVEuVy5KJiZ2LmluY2x1ZGVzKCJ2cDA5IikmJihiPXYrIjsgZXhwZXJpbWVudGFsPWFsbG93ZWQiKSxrLnB1c2goe2NvbnRlbnRUeXBlOmIscm9idXN0bmVzczoiU1dfU0VDVVJFX0RFQ09ERSJ9KSxnLnNkKG4ueVEpJiYoVkgoKXx8b0soKSkmJihuLlUoInN3Y3J5cHRvIix7fSksay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IlNXX1NFQ1VSRV9DUllQVE8ifSkpKX1yZXR1cm5bRF19Owp0ej1mdW5jdGlvbihuLFcsRCxiKXtpZighbi5xTigpKXtiJiYoR0w9e2tleVN5c3RlbTpXLmtleVN5c3RlbSxrZXlTeXN0ZW1BY2Nlc3M6RCxJMTpKU09OLnN0cmluZ2lmeShiKX0pO1cua2V5U3lzdGVtQWNjZXNzPUQ7aWYoTE4oVykpe3ZhciB2PWk4KCk7Zm9yKHZhciBrIG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKVcuSltrXT0hIXYuY2FuUGxheVR5cGUoayl9ZWxzZXtrPVcua2V5U3lzdGVtQWNjZXNzLmdldENvbmZpZ3VyYXRpb24oKTtpZihrLmF1ZGlvQ2FwYWJpbGl0aWVzKWZvcih2IG9mIGsuYXVkaW9DYXBhYmlsaXRpZXMpVy5KW3YuY29udGVudFR5cGVdPSEwO2lmKGsudmlkZW9DYXBhYmlsaXRpZXMpZm9yKGxldCBoIG9mIGsudmlkZW9DYXBhYmlsaXRpZXMpVy5KW2guY29udGVudFR5cGVdPSEwfW4uWC5wdXNoKFcpO24udXNlQ29iYWx0V2lkZXZpbmV8fG4uUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZXLk4oKT8obi5KLnNoaWZ0KCksJGgobikpOm4uY2FsbGJhY2sobi5YKX19Owp1MXI9ZnVuY3Rpb24oKXt2YXIgbj12WCgpO2lmKG4pe2xldCBEPW4uaXNUeXBlU3VwcG9ydGVkO3JldHVybihiLHYpPT5EKHYsYil9dmFyIFc9aTgoKTsKcmV0dXJuIFcmJihXLmFkZEtleXx8Vy53ZWJraXRBZGRLZXkpPyhELGIpPT4hIVcuY2FuUGxheVR5cGUoRCxiKTooKT0+ITF9OwpsdGI9ZnVuY3Rpb24obixXKXtzd2l0Y2goVy5VMCl7Y2FzZSAiYm9vbCI6cmV0dXJuIG4uRXEoVy5ueCk7Y2FzZSAiaW50IjpyZXR1cm4gbj1OVihuLFcubngpLGcuJFUobik7Y2FzZSAiZG91YmxlIjpyZXR1cm4gTlYobixXLm54KTtjYXNlICJzdHJpbmciOnJldHVybiB6ZzIobixXLm54KTtjYXNlICJpbnQzMl9saXN0IjpyZXR1cm4gcE4obixXLm54KTtjYXNlICJpbnQ2NF9saXN0IjpyZXR1cm4gcE4obixXLm54KS5tYXAoRD0+Zy4kVShEKSk7CmNhc2UgInN0cmluZ19saXN0Ijp0aHJvdyBFcnJvcigiU3RyaW5nIGxpc3QgZmxhZ3MgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gV1BDQyIpO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gZmxhZyB0eXBlIik7fX07Ck5WPWZ1bmN0aW9uKG4sVyl7bj1uLmZsYWdzLmdldChgJHtXfWApO3JldHVybiBOdW1iZXIobil8fDB9Owp6ZzI9ZnVuY3Rpb24obixXKXtyZXR1cm4obj1uLmZsYWdzLmdldChgJHtXfWApKT9uLnRvU3RyaW5nKCk6IiJ9OwpwTj1mdW5jdGlvbihuLFcpe2lmKG49bi5mbGFncy5nZXQoYCR7V31gKSlpZihuPW4ucmVwbGFjZSgvXFsgKiguKj8pICpcXS8sIiQxIikpcmV0dXJuIG4uc3BsaXQoIiwiKS5tYXAoTnVtYmVyKTtyZXR1cm5bXX07CmcuZE09ZnVuY3Rpb24obixXLEQ9MCl7bj1uLlFRKFcpO0pTT04uc3RyaW5naWZ5KG4pO3JldHVybiBuPT09dm9pZCAwP0Q6TnVtYmVyKG4pfTsKZy5ZaD1mdW5jdGlvbihuLFcpe3JldHVybihuPW4uUVEoVykpP24udG9TdHJpbmcoKToiIn07ClRwYj1mdW5jdGlvbihuKXtpZihuPW4uUVEoImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpKWlmKG49bi5yZXBsYWNlKC9cWyAqKC4qPykgKlxdLywiJDEiKSlyZXR1cm4gbi5zcGxpdCgiLCIpLm1hcChOdW1iZXIpO3JldHVybltdfTsKSFg9ZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBuLk47aWYobi5leHBlcmltZW50SWRzLmxlbmd0aDw9MSlyZXR1cm4gbi5OPW4uZXhwZXJpbWVudElkcyxuLk47dmFyIFc9Wy4uLm4uZXhwZXJpbWVudElkc10ubWFwKEQ9Pk51bWJlcihEKSk7Clcuc29ydCgpO2ZvcihsZXQgRD1XLmxlbmd0aC0xO0Q+MDstLUQpV1tEXS09V1tELTFdO24uTj1XLm1hcChEPT5ELnRvU3RyaW5nKCkpOwpuLk4udW5zaGlmdCgidjEiKTtyZXR1cm4gbi5OfTsKTkRTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE1hcDtmb3IobGV0IGIgb2YgVy5rZXlzKCkpe2xldCB2PWIuc3BsaXQoIl8iKVswXTtuLmhhcyh2KXx8RC5zZXQoYixXLmdldChiKSl9cmV0dXJuIER9OwpZMlM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW8/LmZwc3x8MCx2PWAke259XyR7Yn1gLGs9ISFXLmF1ZGlvLGg9e2l0YWc6Vy5pdGFnLElCOm4sZVM6a307aWYoayloLm51bUNoYW5uZWxzPVcuYXVkaW8ubnVtQ2hhbm5lbHM7ZWxzZXt2YXIgeD1XLnZpZGVvO2gubWF4V2lkdGg9eD8ud2lkdGg7aC5tYXhIZWlnaHQ9eD8uaGVpZ2h0O2gubWF4RnJhbWVyYXRlPWI7aC5tYXhCaXRyYXRlQnBzPVcuTnMqODtoLno5PXg/LmlzSGRyKCl9eD1ELmdldCh2KTt4P2t8fChXPU1hdGgubWF4KHgubWF4V2lkdGh8fDAseC5tYXhIZWlnaHR8fDApPk1hdGgubWF4KGgubWF4V2lkdGh8fDAsaC5tYXhIZWlnaHR8fDApP3g6aCxuPXtpdGFnOlcuaXRhZyxJQjpuLGVTOmssbWF4V2lkdGg6TWF0aC5tYXgoeC5tYXhXaWR0aHx8MCxoLm1heFdpZHRofHwwKSxtYXhIZWlnaHQ6TWF0aC5tYXgoeC5tYXhIZWlnaHR8fDAsaC5tYXhIZWlnaHR8fDApLG1heEZyYW1lcmF0ZTpiLHo5Olcuejl9LG4ubWF4Qml0cmF0ZUJwcz0KVy5tYXhCaXRyYXRlQnBzLEQuc2V0KHYsbikpOkQuc2V0KHYsaCl9OwpPRD1mdW5jdGlvbihuLFcsRD0xKXt2YXIgYj1XLml0YWc7aWYoYj09PSIwIilyZXR1cm4hMDt2YXIgdj1XLm1pbWVUeXBlO2lmKFcuSUI9PT0iMWUiJiYhbi5YKXJldHVybiJkYXYxZW5jIjtpZihXLk1XKCkmJm4uWSlyZXR1cm4iZGF2MSI7aWYoVy52aWRlbyYmKFcudmlkZW8uaXNIZHIoKXx8Vy52aWRlby5wcmltYXJpZXM9PT0iYnQyMDIwIikmJiEoU0oobixBVC5FT1RGKXx8d2luZG93Lm1hdGNoTWVkaWEmJih3aW5kb3cubWF0Y2hNZWRpYSgiKGR5bmFtaWMtcmFuZ2U6IGhpZ2gpLCAodmlkZW8tZHluYW1pYy1yYW5nZTogaGlnaCkiKS5tYXRjaGVzfHx3aW5kb3cuc2NyZWVuLnBpeGVsRGVwdGg+MjQmJndpbmRvdy5tYXRjaE1lZGlhKCIoY29sb3ItZ2FtdXQ6IHAzKSIpLm1hdGNoZXMpKSlyZXR1cm4iZGhkciI7aWYoYj09PSIzMzgiJiYhKGcub2Q/Q18oNTMpOmcuYW8mJkNfKDY0KSkpcmV0dXJuImRvcHVzIjtEPXZHVShXLEQpO24uSiYmVy5YKCkmJihEW0FULkVYUEVSSU1FTlRBTC5uYW1lXT0KImFsbG93ZWQiKTtmb3IobGV0IHggb2YgT2JqZWN0LmtleXMoQVQpKXtsZXQgTD1BVFt4XTt2YXIgaztpZihrPURbTC5uYW1lXSlpZihrPSEoTD09PUFULkVPVEYmJlcubWltZVR5cGUuaW5kZXhPZigidnAwOS4wMiIpPjApKXtrPUw7dmFyIGg9VztrPSEobi5leHBlcmltZW50cy5FcSgiaHRtbDVfaWdub3JlX2gyNjRfZnJhbWVyYXRlX2NhcCIpJiZrPT09QVQuRlJBTUVSQVRFJiYoaC5JQj09PSJIInx8aC5JQj09PSJoIikpfWlmKGspaWYoU0oobixMKSlpZihuLmope2lmKG4ualtMLm5hbWVdPERbTC5uYW1lXSlyZXR1cm4gTC5uYW1lfWVsc2Ugdj1gJHt2fTsgJHtMLm5hbWV9PSR7RFtMLm5hbWVdfWA7ZWxzZSBpZihaTyhXKSYmTD09PUFULkVPVEYpcmV0dXJuImR2cDkyIn1uLk8mJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmVy5jb250ZW50UHJvdGVjdGlvbiYmKHYrPSI7IGhkY3A9Mi4yIik7cmV0dXJuIGI9PT0iMjI3Ij8iaHFjZW5jIjpiPT09IjU4NSJ8fApiPT09IjU4OCJ8fGI9PT0iNTgzInx8Yj09PSI1ODYifHxiPT09IjU4NCJ8fGI9PT0iNTg3Inx8Yj09PSI1OTEifHxiPT09IjU5MiI/Im5ld2h2YyI6elEoKSYmaWIoKT49MjEmJmcudWIoImFwcGxldHY1IikmJihiPT09IjQxMCJ8fGI9PT0iODQ1Iik/ITA6bi5pc1R5cGVTdXBwb3J0ZWQodik/ITA6InRwdXMifTsKU0o9ZnVuY3Rpb24obixXKXtXLm5hbWUgaW4gbi5EfHwobi5EW1cubmFtZV09ajVpKG4sVykpO3JldHVybiBuLkRbVy5uYW1lXX07CkNlVT1mdW5jdGlvbihuKXtuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyYmbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7dHlwZToibWVkaWEtc291cmNlIix2aWRlbzp7Y29udGVudFR5cGU6J3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTJNLjA4Iicsd2lkdGg6Mzg0MCxoZWlnaHQ6MjE2MCxiaXRyYXRlOjMyRTYsZnJhbWVyYXRlOjYwfX0pLnRoZW4oVz0+e1cuc21vb3RoJiZXLnBvd2VyRWZmaWNpZW50JiYobi5jSj0yMTYwKX0pfTsKZk49ZnVuY3Rpb24oKXt2YXIgbj1vSygpJiYhQ18oMjkpLFc9Zy51YigiZ29vZ2xlIHR2IikmJmcudWIoImNocm9tZSIpJiYhQ18oMzApO3JldHVybiBufHxXPyExOmNSKCl9OwpKej1mdW5jdGlvbihuLFcsRCl7dmFyIGI9NDgwLHY9MTA4MCxrO2lmKGs9bi5leHBlcmltZW50cy5adCgpLk4uUVEoQnB0KSluLlY9PT1udWxsJiYobi5WPSExLFNKKG4sQVQuV0lEVEgpJiZTSihuLEFULkhFSUdIVCkmJihuLlY9ZHkoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTdNLjA4Ijsgd2lkdGg9NzY4MDsgaGVpZ2h0PTQzMjAnKSkpLGs9bi5WO2smJih2PTIxNjApO2ZvcihsZXQgaCBvZiBXKVc9aC52aWRlby5xdWFsaXR5T3JkaW5hbCxXPD12JiZXPmImJk9EKG4saCxEKT09PSEwJiYoYj1XKTtyZXR1cm4gYn07CmcuSW49ZnVuY3Rpb24obixXPSExKXtyZXR1cm4gZk4oKSYmbi5pc1R5cGVTdXBwb3J0ZWQoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fCFXJiZuLmNhblBsYXlUeXBlKGk4KCksImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIpPyEwOiExfTsKd0p4PWZ1bmN0aW9uKG4pe0ZLQygoKT0+e2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhBVCkpU0oobixBVFtXXSl9KX07Cmo1aT1mdW5jdGlvbihuLFcpe2lmKG4uailyZXR1cm4hIW4ualtXLm5hbWVdO2lmKFc9PT1BVC5CSVRSQVRFJiZuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwJykmJiFuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwMCcpKXJldHVybiExO2lmKFc9PT1BVC5BVjFfQ09ERUNTKXJldHVybiBuLmlzVHlwZVN1cHBvcnRlZChgdmlkZW8vbXA0OyBjb2RlY3M9JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYHZpZGVvL21wNDsgY29kZWNzPSR7Vy52R31gKTtpZihXLnZpZGVvKXt2YXIgRD0ndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiJztuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjRkNDAxZSInKX1lbHNlIEQ9J2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLApuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyk7cmV0dXJuIG4uaXNUeXBlU3VwcG9ydGVkKGAke0R9OyAke1cubmFtZX09JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYCR7RH07ICR7Vy5uYW1lfT0ke1cudkd9YCl9OwpTVD1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bi5XLmhhcyhXKSYmKEQ9bi5XLmdldChXKS56RSk7bi5XLnNldChXLHt6RTpEKzEsZzE6MioqKEQrMSl9KTtuLk49ITB9OwptVj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFcmJnR5cGVvZiBXPT09Im9iamVjdCIpe2xldCBrPWg9PkF6KG4saCxELGIsdik7CmlmKFlvKFcpKXJldHVybiBXLnRoZW4oayk7aWYoWUQoVykpcmV0dXJuIFNrKFcsayl9cmV0dXJuIEF6KG4sVyxELGIsdil9OwpLTj1mdW5jdGlvbihuLFcsRCxiPTEpe0Q+PTAmJihXIGluIG4uTnx8KG4uTltXXT1uZXcgTU9pKSxuLk5bV10uZEUoRCxiKSl9OwpBej1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSgwLGcuUikoKTt2PXY/dihXKTp2b2lkIDA7dmFyIGg9dj8uVF8/PzE7aCE9PTAmJktOKG4sdj8ucHJvZmlsZT8/RCxrLWIsaCk7cmV0dXJuIFd9OwpPZD1mdW5jdGlvbihuKXt2YXIgVz13aW5kb3c7Vy55d2N8fChXLnl3Yz17fSk7dmFyIEQ9Vy55d2Nbbl07aWYoRClyZXR1cm4gRDtEPXt9O3JldHVybiBXLnl3Y1tuXT1EfTsKUFg9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93O1cueXdjJiZkZWxldGUgVy55d2Nbbl19OwpSZ1U9ZnVuY3Rpb24obil7dmFyIFc9T2Qobik7aWYoVy5iaW5QKXJldHVybiBXLmJpblA7Vy5iaW5QPVByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmZldGNoKG4pKS50aGVuKEQ9PntpZighRC5vayl0aHJvdyBFcnJvcihgSFRUUCR7RC5zdGF0dXNUZXh0fWApOwpyZXR1cm4gRC5hcnJheUJ1ZmZlcigpfSk7ClcuYmluUC50aGVuKEQ9PntXLmJpbj1EfSwoKT0+e1BYKG4pfSk7CnJldHVybiBXLmJpblB9OwpFZD1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1aSy50WCgpLHY9biYmVWQ7aWYoIXYmJiFXKXJldHVybiBEPy4oIndhc21ucyIse3A6bj8iMSI6IjAiLGE6Vz8iMSI6IjAiLHM6VWQ/IjEiOiIwIn0pLGZsKEVycm9yKCJ3YXNtLndtLm5zIikpO3ZhciBrPW5ldyBRNXI7aWYodil0cnl7bGV0IGg9eWllbGQqUFAoVk9yKGssbikpLHg9bmV3IHlNKGgsaywhMSk7WksuZVUoIndpbml0IixiKTtEPy4oIndhc21zdyIse30pO3JldHVybiB4fWNhdGNoKGgpe2lmKEQ/Ligid2FzbWVycnciLHtlOmAke2h9YH0pLCFXKXRocm93IEVycm9yKCJ3YXNtLndtLml3Iix7Y2F1c2U6aH0pO31pZighVyl0aHJvdyBFcnJvcigid2FzbS53bS54eCIpO3RyeXtsZXQgaD15aWVsZCpQUChXKGspKSx4PW5ldyB5TSh7ZXhwb3J0czpofSxrLCEwKTtaSy5lVSgid2luaXRqcyIsYik7RD8uKCJ3YXNtc2EiLHt9KTtyZXR1cm4geH1jYXRjaChoKXt0aHJvdyBEPy4oIndhc21lcnJhIiwKe2U6YCR7aH1gfSksRXJyb3IoYHdhc20ud20uaWE6ICR7aH1gKTt9fSgpfSl9OwpWT3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28oYyR0LGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7aWYoIUQuTil0aHJvdyJ3YXNtLnBzLm5zIjt2YXIgYj15aWVsZCpQUChhdHQoRCxXKSk7aWYoIWIpdGhyb3cid2FzbS5wcy51bSI7cmV0dXJuIHlpZWxkKlBQKFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGIsbikpfSgpfSl9OwphdHQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBEPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPVtdLHY9KCk9PiJ3YXNtLnBzLmM6IFsiK2IubWFwKHg9PmAiJHt4fSJgKS5qb2luKCIsICIpKyJdIixrPU9kKFcpOwppZihrLm1vZClyZXR1cm4gay5tb2Q7aWYoay5tb2RQKXRyeXtyZXR1cm4geWllbGQqUFAoay5tb2RQKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBjbSIpfXZhciBoPWsuYmluO2lmKCFoJiZrLmJpblApdHJ5e2g9eWllbGQqUFAoay5iaW5QKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBmYiIpfWlmKCFoKXRyeXtoPXlpZWxkKlBQKFJnVShXKSl9Y2F0Y2goeCl7dGhyb3cgRC5OPSExLGIudW5zaGlmdChgZmI6ICR7eH1gKSx2KCk7fXRyeXtyZXR1cm4geWllbGQqUFAoV2ViQXNzZW1ibHkuY29tcGlsZShoKSl9Y2F0Y2goeCl7UFgoVyksYi51bnNoaWZ0KGBjYTogJHt4fWApfXRocm93IHYoKTt9KCl9KX07CmlvPWZ1bmN0aW9uKG4sVyxELGIpe0Q9bi5XVi5tZW1vcnkuY29weUluKEQpO3ZhciB2PW4uTjt2LldWLmV4cG9ydHMuQUVTMTI4Q1RSQ2lwaGVyX3NldENvdW50ZXIodi5jaXBoZXIsRC5ieXRlT2Zmc2V0KTtXPW4uV1YubWVtb3J5LmNvcHlJbihXKTtuLk4uZW5jcnlwdChXKTt2PXZvaWQgMDtpZihiKXtiPW4uV1Y7dj1uLko7bGV0IGs9Yi5tZW1vcnkuYnVmZmVyKGIubWVtb3J5Lm1hbGxvYygzMiksMzIpO2IuZXhwb3J0cy5TaGEyNTZIbWFjKHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgsRC5ieXRlT2Zmc2V0LEQuYnl0ZUxlbmd0aCxXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoLGsuYnl0ZU9mZnNldCk7dj1uLldWLm1lbW9yeS5tb3ZlT3V0KGspfW4uV1YubWVtb3J5LmZyZWUoRC5ieXRlT2Zmc2V0KTtyZXR1cm57RzQ6bi5XVi5tZW1vcnkubW92ZU91dChXKSxzaWduYXR1cmU6dn19OwpuWUM9ZnVuY3Rpb24obil7bi5FaC5leHBvcnRzLlRyYWNrZWRQb2ludGVyX3JlbGVhc2Uobi5pZCl9Owpvbj1mdW5jdGlvbihuKXtuLlh8fChuLlg9bmV3IHVvKG4uSikpO3JldHVybiBuLlh9OwpnLmQxPWZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gbHAobil9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKekw9ZnVuY3Rpb24obil7dmFyIFc9SG4oKTtpZihXLnZhbHVlcyl7Vz1XLnZhbHVlcztsZXQgaD17fTtmb3IodmFyIEQgb2YgT2JqZWN0LmtleXMobi52YWx1ZXMpKXtXW0RdJiZuLkpbRF0mJihuLnZhbHVlc1tEXSs9V1tEXS1uLkpbRF0pO3ZhciBiPW4sdj1iO2lmKCF2LnZhbHVlc1tEXSl7dmFyIGs9SG4oKTt2LnZhbHVlcz1rLnZhbHVlc3x8e307di5GWT1rLmhhbGZMaXZlc3x8e307di5KPWsudmFsdWVzP09iamVjdC5hc3NpZ24oe30say52YWx1ZXMpOnt9fWhbRF09Yi52YWx1ZXNbRF0mJmIuRllbRF0/Yi52YWx1ZXNbRF0vMioqKGIuTi9iLkZZW0RdKTowfW4uSj1ofUQ9bi5GWTtXPXt9O1cudmFsdWVzPW4uSjtXLmhhbGZMaXZlcz1EO2cuUEIoInl0LXBsYXllci1tZW1vcnkiLFcsMjU5MkUzKX07Clh2PWZ1bmN0aW9uKG4sVyl7cmV0dXJuISFXJiYhIW4uWnQoKS5OLlFRKFdJTSkmJihXLnN0YXJ0c1dpdGgoImciKXx8Vy5zdGFydHNXaXRoKCJsIikpfTsKZy5zZD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iTVdFQiJ9OwpUTD1mdW5jdGlvbihuKXtuLmdUPT09bnVsbCYmKG4uZ1Q9d2luZG93Lk1lZGlhU291cmNlJiZ3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkP3dpbmRvdy5NZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUnKTohMSk7cmV0dXJuIG4uZ1R9OwpqVD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9TSU1QTFlfRU1CRURERURfUExBWUVSIn07CmcubzQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uSiYmZy5DTihuKSYmIUJYKG4pJiYhbi5YfTsKQlg9ZnVuY3Rpb24obil7cmV0dXJuIG4uWT09PSJhZHVuaXQifHxuLnBsYXllclN0eWxlPT09Imd2biJ9OwpGVj1mdW5jdGlvbihuKXtyZXR1cm4gbi5ZPT09ImRldGFpbHBhZ2UifTsKZy53MT1mdW5jdGlvbihuKXtyZXR1cm4gdzgmJiFuLnhofHxnLnViKCJuaW50ZW5kbyB3aWl1Iik/ITA6ITF9OwpnLkNOPWZ1bmN0aW9uKG4pe3JldHVybiBuLlk9PT0iZW1iZWRkZWQifTsKZy5NVj1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX1JFTUlYIn07ClFNPWZ1bmN0aW9uKG4pe2lmKCFuLndlYlBsYXllckNvbnRleHRDb25maWc/LmVtYmVkc0hvc3RGbGFncz8uZW5hYmxlTGl0ZVV4fHxuLnZKfHxuLlh8fG4uRHx8bi5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiKXJldHVybiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX05PTkUiO249Zy5kTShuLmV4cGVyaW1lbnRzLCJlbWJlZHNfd2ViX2xpdGVfbW9kZSIpO3JldHVybiBuPT09dm9pZCAwPyJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04iOm4+PTAmJm48Um4ubGVuZ3RoP1JuW25dOiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04ifTsKY1g9ZnVuY3Rpb24obixXLEQ9ITEpe24uUyQ9Yk8obi5TJCxXLnZpZGVvX2lkKTtuLmZCPWJPKG4uZkIsVy5ldmVudGlkKTtuLmZCJiYod289bi5mQik7dmFyIGI9W107Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKFZNKSl7bGV0IGs9Vk1bdl0saD1XW2tdO2ghPW51bGwmJihoIT09bi5OW2tdJiZiLnB1c2goayksbi5OW2tdPWgpfSFEJiZiLmxlbmd0aD4wJiZuLm9NJiYoYi5zb3J0KCksZy5HcShuZXcgZy5ReCgiUGxheWVyIGNsaWVudCBwYXJhbWV0ZXJzIGNoYW5nZWQgYWZ0ZXIgc3RhcnR1cCIsYikpKTtuLnVzZXJBZ2U9REkobi51c2VyQWdlLFcudXNlcl9hZ2UpO24udXNlckRpc3BsYXlJbWFnZT1iTyhuLnVzZXJEaXNwbGF5SW1hZ2UsVy51c2VyX2Rpc3BsYXlfaW1hZ2UpO2cuakkobi51c2VyRGlzcGxheUltYWdlKXx8KG4udXNlckRpc3BsYXlJbWFnZT0iIik7bi51c2VyRGlzcGxheU5hbWU9Yk8obi51c2VyRGlzcGxheU5hbWUsVy51c2VyX2Rpc3BsYXlfbmFtZSk7bi55dz1iTyhuLnl3LApXLnVzZXJfZ2VuZGVyKTtuLmNzaVBhZ2VUeXBlPWJPKG4uY3NpUGFnZVR5cGUsVy5jc2lfcGFnZV90eXBlKTtuLmNzaVNlcnZpY2VOYW1lPWJPKG4uY3NpU2VydmljZU5hbWUsVy5jc2lfc2VydmljZV9uYW1lKTtuLmVWPW55KG4uZVYsVy5lbmFibGVjc2kpO24ucGFnZUlkPWJPKG4ucGFnZUlkLFcucGFnZWlkKTtpZihEPVcuZW5hYmxlZF9lbmdhZ2VfdHlwZXMpbi5lbmFibGVkRW5nYWdlVHlwZXM9bmV3IFNldChELnNwbGl0KCIsIikpO1cubGl2aW5nX3Jvb21fc2Vzc2lvbl9wb190b2tlbiYmKG4ualc9Vy5saXZpbmdfcm9vbV9zZXNzaW9uX3BvX3Rva2VuLnRvU3RyaW5nKCkpfTsKZy5hbj1mdW5jdGlvbihuKXtyZXR1cm4vd2ViL2kudGVzdChsbyhuKSl9Owpsbz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmN9OwpjOT1mdW5jdGlvbihuLFcpe3JldHVybiFuLlgmJm9LKCkmJkNfKDU1KSYmbi5jb250cm9sc1R5cGU9PT0iMyImJiFXfTsKV0U9ZnVuY3Rpb24obil7bj1nLm5FKG4uRGEpO3JldHVybiBuPT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSI/Ind3dy55b3V0dWJlLmNvbSI6bn07CmcuRGY9ZnVuY3Rpb24obil7cmV0dXJuIGxvKG4pPT09IldFQl9VTlBMVUdHRUQifTsKYmk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLnByb3RvY29sKyI6Ly9pMS55dGltZy5jb20vdmkvIitXKyIvIisoRHx8ImhxZGVmYXVsdC5qcGciKX07CnZFPWZ1bmN0aW9uKG4pe3JldHVybiBGVihuKSYmIWcuRGYobil9OwpnLms2PWZ1bmN0aW9uKG4pe3JldHVybi9eVFZIVE1MNS8udGVzdChsbyhuKSl9OwpodT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9DQVNUInx8bG8obik9PT0iVFZIVE1MNSImJihuLk4uY3Zlci5zdGFydHNXaXRoKCI2LjIwMTMwNzI1Iil8fG4uTi5jdmVyLnN0YXJ0c1dpdGgoIjYuMjAxMzA3MjYiKSl9OwpnLng2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1In07CkxFPWZ1bmN0aW9uKG4pe3JldHVybiBuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QgVUxUUkEvU1RFQUsifHxuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QvU1RFQUsifTsKZy5IXz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjF9OwpnLmVNPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKS50b1VwcGVyQ2FzZSgpPT09IldFQiJ9OwpnLlhDPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfS0lEUyJ9OwpnLnFGPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1X1VOUExVR0dFRCJ9OwpnLkdsPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRmKG4pfHxsbyhuKT09PSJUVl9VTlBMVUdHRURfQ0FTVCJ8fGcucUYobil9Owp0dT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX01VU0lDX0lOVEVHUkFUSU9OUyJ9OwpnLiQ2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfRU1CRURERURfUExBWUVSIn07Cmcubk49ZnVuY3Rpb24obil7cmV0dXJuKG4uZGV2aWNlSXNBdWRpb09ubHl8fCFnLm9kfHxnLk1MfHxuLmNvbnRyb2xzVHlwZT09PSIzIj8hMTpnLlFIP24uSiYmZy5aWCg1MSk6ITApfHwobi5kZXZpY2VJc0F1ZGlvT25seXx8IWcuYW98fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDQ4KTpnLlpYKDM4KSl8fChuLmRldmljZUlzQXVkaW9Pbmx5fHwhcmN8fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDM3KTpnLlpYKDI3KSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLnNtJiYhRm4oKSYmZy5aWCgxMSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLkduJiZnLlpYKCI2MDQuNCIpfHxuLldjKCl9OwpacVM9ZnVuY3Rpb24obil7aWYoZy5DTihuKSYmTkYpcmV0dXJuITE7aWYoZy5hbyl7aWYoIWcuWlgoNDcpfHwhZy5aWCg1MikmJmcuWlgoNTEpKXJldHVybiExfWVsc2UgaWYoZy5HbilyZXR1cm4hMTtyZXR1cm4gd2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dD8hMDohMX07CmcucEU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5lbmFibGVkRW5nYWdlVHlwZXMuaGFzKFcudG9TdHJpbmcoKSl8fER2aS5pbmNsdWRlcyhXKX07CnZZaj1mdW5jdGlvbihuKXt2YXIgVz1XRShuKTtiVmkuaW5jbHVkZXMoVykmJihXPSJ3d3cueW91dHViZS5jb20iKTtyZXR1cm4gbi5wcm90b2NvbCsiOi8vIitXfTsKZy5IRT1mdW5jdGlvbihuLFc9IiIpe2lmKG4uSFkpe2xldCBEPW5ldyBZNixiLHY9bi5IWSgpO3Yuc2lnbmVkT3V0P2I9IiI6di50b2tlbj9iPXYudG9rZW46di5wZW5kaW5nUmVzdWx0LnRoZW4oaz0+e3Yuc2lnbmVkT3V0P0QucmVzb2x2ZSgiIik6RC5yZXNvbHZlKGsudG9rZW4pfSxrPT57Zy5HcShuZXcgZy5ReCgiYjE4OTM0ODMyOF9vYXV0aF9jYWxsYmFja19mYWlsZWQiLHtlcnJvcjprfSkpOwpELnJlc29sdmUoVyl9KTsKcmV0dXJuIGIhPT12b2lkIDA/Zy5IMChiKTpuZXcgTlgoRCl9cmV0dXJuIGcuSDAoVyl9OwpmRT1mdW5jdGlvbihuLFc9IiIpe3JldHVybiBuLllyP0hQKCEwKTpLbChTayhIUChnLkhFKG4sVykpLEQ9PkhQKCEhRCkpLCgpPT5IUCghMSkpfTsKSnU9ZnVuY3Rpb24obixXKXtpZihuLldWPVcpbi5QWD8uTj8uVihXKSxXLmlzQXNtanM/bi5reS5wdXNoKCJhc21qcyIpOm4ua3kucHVzaCgid2FzbSIpfTsKZy5uRT1mdW5jdGlvbihuKXt2YXIgVz1nLklQKG4pO3JldHVybihuPU51bWJlcihnLmZwKG4pWzRdfHxudWxsKXx8bnVsbCk/YCR7V306JHtufWA6V307ClNNPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9WWdbbl0sYj1JQVtEXSx2PWtIcltuXTtpZighdnx8IWIpcmV0dXJuIG51bGw7Vz1uZXcgSFIoVz92LmhlaWdodDp2LndpZHRoLFc/di53aWR0aDp2LmhlaWdodCx2LmZwcyk7Yj1wNihiLFcsRCk7cmV0dXJuIG5ldyBtdShuLGIse3ZpZGVvOlcsTnM6di5iaXRyYXRlLzh9KX07CkF1PWZ1bmN0aW9uKG4pe3ZhciBXPUlBW1lnW25dXSxEPWhFU1tuXTtyZXR1cm4gRCYmVz9uZXcgbXUobixXLHthdWRpbzpuZXcgQU0oRC5hdWRpb1NhbXBsZVJhdGUsRC5udW1DaGFubmVscyl9KTpudWxsfTsKVlA9ZnVuY3Rpb24obixXLEQsYil7aWYoRClyZXR1cm4gZy5wJCgpO0Q9e307dmFyIHY9aTgoKTtmb3IobGV0IGsgb2YgVylpZihuLmNhblBsYXlUeXBlKHYsay5rTCgpLm1pbWVUeXBlKXx8YilpZihXPWsuTi52aWRlby5xdWFsaXR5LCFEW1ddfHxEW1ddLmtMKCkucUgoKSlEW1ddPWs7bj1bXTtELmF1dG8mJm4ucHVzaChELmF1dG8pO2ZvcihsZXQgayBvZiBwTSkoYj1EW2tdKSYmbi5wdXNoKGIpO3JldHVybiBuLmxlbmd0aD9nLkgwKG4pOmcucCQoKX07CktFPWZ1bmN0aW9uKG4sVz0hMSxEPSEwLGI9e30pe3ZhciB2PXt9O2ZvcihsZXQgaCBvZiBuKXtpZihXJiZNZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiYobj1oLnR5cGUsaC5hdWRpb19jaGFubmVscyYmKG49bisiOyBjaGFubmVscz0iK2guYXVkaW9fY2hhbm5lbHMpLCFNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobikpKXtiW2guaXRhZ109InRwdXMiO2NvbnRpbnVlfWlmKCFEJiZoLmRybV9mYW1pbGllcyYmKGguZW90Zj09PSJzbXB0ZTIwODQifHxoLmVvdGY9PT0iYXJpYi1zdGQtYjY3Iikpe2JbaC5pdGFnXT0iZW5jaGRyIjtjb250aW51ZX1uPXZvaWQgMDtsZXQgeD17YnQ3MDk6IlNEUiIsYnQyMDIwOiJTRFIiLHNtcHRlMjA4NDoiUFEiLCJhcmliLXN0ZC1iNjciOiJITEcifTt2YXIgaz1oLnR5cGUubWF0Y2goL2NvZGVjcz0iKFteIl0qKSIvKTtrPWs/a1sxXToiIjtoLmF1ZGlvX3RyYWNrX2lkJiYobj1uZXcgd1AoaC5uYW1lLGguYXVkaW9fdHJhY2tfaWQsCiEhaC5pc19kZWZhdWx0KSk7bGV0IEw9aC5lb3RmO249bmV3IG04KHtpdGFnOmguaXRhZyx1cmw6aC51cmwsY29kZWNzOmssd2lkdGg6TnVtYmVyKGgud2lkdGgpLGhlaWdodDpOdW1iZXIoaC5oZWlnaHQpLGZwczpOdW1iZXIoaC5mcHMpLGJpdHJhdGU6TnVtYmVyKGguYml0cmF0ZSksYXVkaW9JdGFnOmguYXVkaW9faXRhZyxVaDpMP3hbTF06dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOmguZHJtX2ZhbWlsaWVzLGtaOm4sYXVkaW9DaGFubmVsczpOdW1iZXIoaC5hdWRpb19jaGFubmVscyl9KTt2W24uaXRhZ109dltuLml0YWddfHxbXTt2W24uaXRhZ10ucHVzaChuKX1yZXR1cm4gdn07CnZhciB4dlU9ZnVuY3Rpb24obixXKXtyZXR1cm4gZ1pbSVsxMF1dKHRoaXMsMSw3ODUyLG4sVyl9OwpMSUM9ZnVuY3Rpb24obixXKXtuLlcuc29tZShEPT5ELmtaPy5nZXRJZCgpPT09Vyk7Cm4uTj1XfTsKZUVpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9W107Zm9yKGxldCBiIG9mIG4uSiliLmJpdHJhdGU8PW4uWD9XLnB1c2goYik6RC5wdXNoKGIpO1cuc29ydCgoYix2KT0+di5iaXRyYXRlLWIuYml0cmF0ZSk7CkQuc29ydCgoYix2KT0+Yi5iaXRyYXRlLXYuYml0cmF0ZSk7Cm4uSj1XLmNvbmNhdChEKX07Ck9tPWZ1bmN0aW9uKG4sVyxEKXtuLmNwbiYmKFc9Zy5FVChXLHtjcG46bi5jcG59KSk7RCYmKFc9Zy5FVChXLHt2WjpEfSkpO3JldHVybiBXfTsKUEU9ZnVuY3Rpb24obixXKXtuPW4uaXRhZy50b1N0cmluZygpO1chPT1udWxsJiYobis9Vy5pdGFnLnRvU3RyaW5nKCkpO3JldHVybiBufTsKZ1laPWZ1bmN0aW9uKG4sVyl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gbnVsbDtuPUtFKFcsbi5TKCJodG1sNV9maWx0ZXJfZm1wNF9pbl9obHMiKSk7aWYoIW4pcmV0dXJuIG51bGw7Vz1bXTt2YXIgRD17fTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobikpZm9yKGxldCB2IG9mIG5bYl0paWYodi5rWil7bGV0IGs9di5rWi5nZXRJZCgpO2lmKCFEW2tdKXtsZXQgaD1uZXcgV0Eoayx2LmtaKTtEW2tdPWg7Vy5wdXNoKGgpfX1yZXR1cm4gVy5sZW5ndGg+MD9XOm51bGx9Owp0bU09ZnVuY3Rpb24obixXLEQsYix2LGssaCl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gZy5wJCgpO3ZhciB4PXt9LEw9WDNTKEQpLGU9S0UoRCxuLlMoImh0bWw1X2ZpbHRlcl9mbXA0X2luX2hscyIpLG4uVy5LLHgpO2lmKCFlKXJldHVybiBoKHtub3Bsc3Q6MX0pLGcucCQoKTtxbGgoZSk7dmFyIEc9e2ZhaXJwbGF5OiJodHRwczovL3lvdXR1YmUuY29tL2FwaS9kcm0vZnBzP2VrPXVuaW5pdGlhbGl6ZWQifSxyO0Q9W107dmFyIE49W10sSD1bXSxBPW51bGwseT0iIjtiPWImJmIubWF0Y2goL2hsc190aW1lZHRleHRfcGxheWxpc3QvKT9uZXcgbTgoe2l0YWc6IjAiLHVybDpiLGNvZGVjczoidnR0Iix3aWR0aDowLGhlaWdodDowLGZwczowLGJpdHJhdGU6MCxrWjpuZXcgd1AoIkVuZ2xpc2giLCJlbiIsITEpfSk6bnVsbDtmb3IobGV0IFEgb2YgT2JqZWN0LmtleXMoZSkpaWYoIW4uUygiaHRtbDVfZGlzYWJsZV9kcm1faGZyXzEwODAiKXx8USE9PSIzODMiJiZRIT09IjM3MyIpZm9yKGxldCBWIG9mIGVbUV0paWYoVi53aWR0aCl7Zm9yKGxldCBIWiBvZiBWLkopaWYoZVtIWl0pe1YuTj0KSFo7YnJlYWt9Vi5OfHwoVi5OPUdIdChlLFYpKTtsZXQgTHQ9ZVtWLk5dO2lmKCFMdCljb250aW51ZTtELnB1c2goVik7Vi5jb250ZW50UHJvdGVjdGlvbj09PSJmYWlycGxheSImJihyPUcpO2xldCB0aT0iIjtWLlVoPT09IlBRIj90aT0ic21wdGUyMDg0IjpWLlVoPT09IkhMRyImJih0aT0iYXJpYi1zdGQtYjY3Iik7dGkmJih5PXRpKTtILnB1c2goWmYoTHQsW1ZdLGIsayxWLml0YWcsVi53aWR0aCxWLmhlaWdodCxWLmZwcyxMLHZvaWQgMCx2b2lkIDAscix0aSkpO2lmKCFBfHxWLndpZHRoKlYuaGVpZ2h0KlYuZnBzPkEud2lkdGgqQS5oZWlnaHQqQS5mcHMpQT1WfWVsc2UgTi5wdXNoKFYpO2Vsc2UgeFtRXT0iZGlzZHJtaGZyIjtILnJlZHVjZSgoUSxWKT0+Vi5rTCgpLmlzRW5jcnlwdGVkKCkmJlEsITApJiYocj1HKTsKdj1NYXRoLm1heCh2LDApO3ZhciB7ZnBzOlQ9MCx3aWR0aDp6PTAsaGVpZ2h0OkM9MH09QXx8e307QT1uLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKTtILnB1c2goWmYoTixELGIsaywiOTMiLHosQyxULEwsImF1dG8iLHYscix5LEEpKTtPYmplY3QuZW50cmllcyh4KS5sZW5ndGgmJmgoeCk7cmV0dXJuIFZQKG4uVyxILGM5KG4sVyksITEpfTsKWmY9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSxHLHIsTixIKXt2YXIgQT0wLHk9IiI7Zm9yKGxldCBUIG9mIG4peXx8KHk9VC5pdGFnKSxULmF1ZGlvQ2hhbm5lbHMmJlQuYXVkaW9DaGFubmVscz5BJiYoQT1ULmF1ZGlvQ2hhbm5lbHMseT1ULml0YWcpO3Y9bmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2F1ZGlvOm5ldyBBTSgwLEEpLHZpZGVvOm5ldyBIUihrLGgseCxudWxsLHZvaWQgMCxlLHZvaWQgMCx2b2lkIDAsTiksY29udGVudFByb3RlY3Rpb246cixBYTp5fSk7bj1uZXcgJHYxKG4sVyxEP1tEXTpbXSxiLCEhSCk7bi5YPUc/RzoxMzY5ODQzO3JldHVybiBuZXcgVW0odixuLEwpfTsKWDNTPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuKWlmKFcudXJsJiYobj1XLnVybC5zcGxpdCgiZXhwaXJlLyIpLCEobi5sZW5ndGg8PTEpKSlyZXR1cm4rblsxXS5zcGxpdCgiLyIpWzBdO3JldHVybiBOYU59OwpHSHQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgT2JqZWN0LmtleXMobikpe2xldCBiPW5bRF1bMF07aWYoIWIud2lkdGgmJmIuY29udGVudFByb3RlY3Rpb249PT1XLmNvbnRlbnRQcm90ZWN0aW9uJiYhYi5hdWRpb0NoYW5uZWxzKXJldHVybiBEfXJldHVybiIifTsKcWxoPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBTZXQ7Zm9yKHZhciBEIG9mIE9iamVjdC52YWx1ZXMobikpaWYoRC5sZW5ndGgpe3ZhciBiPURbMF07Yi5oZWlnaHQmJmIuY29kZWNzLnN0YXJ0c1dpdGgoInZwMDkiKSYmVy5hZGQoYi5oZWlnaHQpfUQ9W107aWYoVy5zaXplKWZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhuKSluW3ZdLmxlbmd0aCYmKGI9blt2XVswXSxiLmhlaWdodCYmVy5oYXMoYi5oZWlnaHQpJiYhYi5jb2RlY3Muc3RhcnRzV2l0aCgidnAwOSIpJiZELnB1c2godikpO2ZvcihsZXQgdiBvZiBEKWRlbGV0ZSBuW3ZdfTsKcnFaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHYgb2YgRCl7aWYoIXZ8fCF2LnVybCljb250aW51ZTtEPVFQKHYudHlwZSwibWVkaXVtIiwiMCIpO2IucHVzaChuZXcgeW4oRCx2LnVybCkpfXJldHVybiBWUChuLlcsYixjOShuLFcpLCExKX07CnNpcj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdLGI9UVAoVy50eXBlLCJhdXRvIixXLml0YWcpO0QucHVzaChuZXcgeW4oYixXLnVybCkpO3JldHVybiBWUChuLlcsRCwhMSwhMCl9OwppaT1mdW5jdGlvbihuKXtyZXR1cm4gbiYmRW1bbl0/RW1bbl06bnVsbH07CnVpPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJtdWx0aXZpZXcudXN0cmVhbWVyX2Rpc2FibGVkIjpjYXNlICJzYWJyLmludmFsaWRfaW5wdXRfc3RyZWFtIjpjYXNlICJzYWJyLmxpdmVfbm9fbWF4X3NxIjpjYXNlICJzYWJyLmxpdmVfdW5hdXRob3JpemVkX3JlcXVlc3QiOmNhc2UgInNhYnIubWFsZm9ybWVkX2NvbmZpZyI6Y2FzZSAic2Fici5tZWRpYV9zZXJ2aW5nX2VuZm9yY2VtZW50X2lkX2Vycm9yIjpjYXNlICJzYWJyLm1ldGFkYXRhX2ZldGNoZXJfZXJyb3IiOmNhc2UgInNhYnIubm9fYXVkaW9fc2VsZWN0ZWQiOmNhc2UgInNhYnIubm9fYXZhaWxhYmxlX2Zvcm1hdHMiOmNhc2UgInNhYnIubm9fcmVkaXJlY3RfdXJsIjpjYXNlICJzYWJyLm5vX3ZpZGVvX3NlbGVjdGVkIjpjYXNlICJzYWJyLm90Zl9ub3Rfc3VwcG9ydGVkIjpjYXNlICJzYWJyLnRvb19tYW55X2NodW5rX3JlYWRlcl9lcnJvcl9yZXRyaWVzIjpyZXR1cm4gbjtkZWZhdWx0OnJldHVybiJzYWJyLmNvbmZpZyJ9fTsKb0E9ZnVuY3Rpb24obixXKXtpZihXPVc/LndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRPbmVzaWVDb25maWc/Lmh0bWw1UGxheWJhY2tPbmVzaWVDb25maWcpbi5RYT1uZXcgTiR3KFcpfTsKVGw9ZnVuY3Rpb24obixXLEQsYil7bnx8KG49VyYmZGMuaGFzT3duUHJvcGVydHkoVykmJnpsLmhhc093blByb3BlcnR5KFcpP3psW1ddKyJfIitkY1tXXTp2b2lkIDApO1c9bjtpZighVylyZXR1cm4gbnVsbDtuPVcubWF0Y2gobGkpO2lmKCFufHxuLmxlbmd0aCE9PTUpcmV0dXJuIG51bGw7e2xldCBrPVcubWF0Y2gobGkpO2lmKGspe249TnVtYmVyKGtbM10pO3ZhciB2PVs3LDgsMTAsNSw2XTtuPSEoTnVtYmVyKGtbMV0pPT09MSYmbj09PTgpJiZ2LmluZGV4T2Yobik+PTB9ZWxzZSBuPSExfXJldHVybiBEfHxifHxuP1c6bnVsbH07CkNFPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKGpNKSl7dmFyIGI9Vz9XK3Y6djtiPW5bYisiX3dlYnAiXXx8bltiXTtnLmpJKGIpJiYoRFtqTVt2XV09Yil9cmV0dXJuIER9Owp3Yz1mdW5jdGlvbihuKXt2YXIgVz17fTtpZighbnx8IW4udGh1bWJuYWlscylyZXR1cm4gVztuPW4udGh1bWJuYWlscy5maWx0ZXIodj0+ISF2LnVybCk7Cm4uc29ydCgodixrKT0+di53aWR0aC1rLndpZHRofHx2LmhlaWdodC1rLmhlaWdodCk7CmZvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhCRSkpe3ZhciBiPU51bWJlcihEKTtsZXQgdj1CRVtiXTtmb3IobGV0IGsgb2YgbilpZihrLndpZHRoPj1iKXtiPUZDKGsudXJsKTtnLmpJKGIpJiYoV1t2XT1iKTticmVha319KEQ9bi5wb3AoKSkmJkQud2lkdGg+PTEyODAmJihEPUZDKEQudXJsKSxnLmpJKEQpJiYoV1sibWF4cmVzZGVmYXVsdC5qcGciXT1EKSk7cmV0dXJuIFd9OwpGQz1mdW5jdGlvbihuKXtyZXR1cm4gbi5zdGFydHNXaXRoKCIvLyIpPyJodHRwczoiK246bn07Ck1GPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLmJhc2VVcmx8fCIifTsKUkE9ZnVuY3Rpb24obil7bj1nLm9FKG4pO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSl7bGV0IEQ9bltXXTtuW1ddPUFycmF5LmlzQXJyYXkoRCk/RFswXTpEfXJldHVybiBufTsKWWx3PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEIG9mIFcpaWYoVz1ELnBsYXllckFubm90YXRpb25zVXJsc1JlbmRlcmVyKXtXLmFkc09ubHkmJihuLlJtPSEwKTtpZihEPVcubG9hZFBvbGljeSluLmFubm90YXRpb25zTG9hZFBvbGljeT1wM01bRF07aWYoRD1XLmludmlkZW9Vcmwpbi5lYT1GTihEKTtuLnk1PSEwO2JyZWFrfX07ClFuPWZ1bmN0aW9uKG4sVyl7bi5ib3RndWFyZERhdGE9Vy5wbGF5ZXJBdHRlc3RhdGlvblJlbmRlcmVyLmJvdGd1YXJkRGF0YTtXPVcucGxheWVyQXR0ZXN0YXRpb25SZW5kZXJlci5jaGFsbGVuZ2U7VyE9bnVsbCYmKG4ucEs9Vyl9OwpIVng9ZnVuY3Rpb24obixXKXtuLmNhcHRpb25UcmFja3M9W107aWYoVy5jYXB0aW9uVHJhY2tzKWZvcih2YXIgRCBvZiBXLmNhcHRpb25UcmFja3Mpe3ZhciBiPVZuKEQuYmFzZVVybCk7aWYoIWIpcmV0dXJuO2I9e2lzX3RyYW5zbGF0ZWFibGU6ISFELmlzVHJhbnNsYXRhYmxlLGxhbmd1YWdlQ29kZTpELmxhbmd1YWdlQ29kZSxsYW5ndWFnZU5hbWU6RC5uYW1lJiZnLkRwKEQubmFtZSksdXJsOmIsdnNzX2lkOkQudnNzSWQsa2luZDpELmtpbmR9O2IubmFtZT1ELnRyYWNrTmFtZTtiLmRpc3BsYXlOYW1lPUQubmFtZSYmZy5EcChELm5hbWUpO24uY2FwdGlvblRyYWNrcy5wdXNoKG5ldyBnLlF3KGIpKX1uLlR3PVcuYXVkaW9UcmFja3N8fFtdO24uTyQ9Vy5kZWZhdWx0QXVkaW9UcmFja0luZGV4fHwwO24ucnA9W107aWYoVy50cmFuc2xhdGlvbkxhbmd1YWdlcylmb3IobGV0IHYgb2YgVy50cmFuc2xhdGlvbkxhbmd1YWdlcyl7RD17fTtELmxhbmd1YWdlQ29kZT12Lmxhbmd1YWdlQ29kZTsKRC5sYW5ndWFnZU5hbWU9Zy5EcCh2Lmxhbmd1YWdlTmFtZSk7aWYodi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyl7RC50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcz1bXTtmb3IobGV0IGsgb2Ygdi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcylELnRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzLnB1c2goayl9aWYodi5leGNsdWRlQXVkaW9UcmFja0luZGljZXMpe0QuZXhjbHVkZUF1ZGlvVHJhY2tJbmRpY2VzPVtdO2ZvcihsZXQgayBvZiB2LmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcylELmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcy5wdXNoKGspfW4ucnAucHVzaChEKX1uLmc1PVtdO2lmKFcuZGVmYXVsdFRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzKWZvcihsZXQgdiBvZiBXLmRlZmF1bHRUcmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyluLmc1LnB1c2godil9Owpmb2k9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcuZXJyb3JTY3JlZW47aWYoIShiJiYoYi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcnx8Yi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyfHxiLnlwY1RyYWlsZXJSZW5kZXJlcil8fEQmJkQuaXNVcGNvbWluZ3x8WyJPSyIsIkxJVkVfU1RSRUFNX09GRkxJTkUiLCJGVUxMU0NSRUVOX09OTFkiXS5pbmNsdWRlcyhXLnN0YXR1cykpKXtuLmVycm9yQ29kZT1paShXLmVycm9yQ29kZSl8fCJhdXRoIjtpZihEPWImJmIucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIpe24ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI9RDtsZXQgdj1ELnJlYXNvbjt2JiYobi5lcnJvclJlYXNvbj1nLkRwKHYpKTtpZihEPUQuc3VicmVhc29uKW4ud2k9Zy5EcChEKSxuLlRZPUR9ZWxzZSBuLmVycm9yUmVhc29uPVcucmVhc29ufHxudWxsO0Q9Vy5zdGF0dXM7RD09PSJMT0dJTl9SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0KIjEiOkQ9PT0iQ09OVEVOVF9DSEVDS19SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0iMiI6RD09PSJBR0VfQ0hFQ0tfUkVRVUlSRUQiPyhXPShXPVcuZXJyb3JTY3JlZW4pJiZXLnBsYXllckthdlJlbmRlcmVyLG4uZXJyb3JEZXRhaWw9VyYmVy5rYXZVcmw/IjQiOiIzIik6KGI9Yj8ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI/LnByb2NlZWRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5jb21tYW5kLG4uZXJyb3JEZXRhaWw9Vy5pc0Jsb2NrZWRJblJlc3RyaWN0ZWRNb2RlPyI1IjpnLncoYixnLmNFKT8uc2lnbmFsPT09IlJFTE9BRF9QQUdFIj8iNyI6IjAiKX19OwpKcVo9ZnVuY3Rpb24obixXKXtuLllpPSEwO3ZhciBEPVcuaGVhcnRiZWF0VG9rZW47bi5kcm1TZXNzaW9uSWQ9Vy5kcm1TZXNzaW9uSWR8fCIiO24uaGVhcnRiZWF0VG9rZW49RHx8IiI7bi5zRT1OdW1iZXIoVy5pbnRlcnZhbE1pbGxpc2Vjb25kcyk7bi5sND1OdW1iZXIoVy5tYXhSZXRyaWVzKTtuLkg2PSEhVy5zb2Z0RmFpbE9uRXJyb3I7bi5EZD0hIVcudXNlSW5uZXJ0dWJlSGVhcnRiZWF0c0ZvckRybTtuLmhlYXJ0YmVhdFNlcnZlckRhdGE9Vy5oZWFydGJlYXRTZXJ2ZXJEYXRhO24uUE09ISFXLmhlYXJ0YmVhdEF0dGVzdGF0aW9uQ29uZmlnPy5yZXF1aXJlc0F0dGVzdGF0aW9ufTsKQXExPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9RC5pbnRlcnN0aXRpYWxzLm1hcChiPT57dmFyIHY9Zy53KGIsSW9iKTtpZih2KXJldHVybntpc195dG9faW50ZXJzdGl0aWFsOiEwLHJhd19wbGF5ZXJfcmVzcG9uc2U6dn07aWYoYj1nLncoYixTbE0pKXJldHVybiBPYmplY3QuYXNzaWduKHtpc195dG9faW50ZXJzdGl0aWFsOiEwfSxnLml3KGIpKX0pOwpmb3IobGV0IGIgb2YgVylzd2l0Y2goRC5wb2RDb25maWcucGxheWJhY2tQbGFjZW1lbnQpe2Nhc2UgIklOVEVSU1RJVElBTF9QTEFZQkFDS19QTEFDRU1FTlRfUFJFIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZTowLHBsYXllclZhcnM6YixrcTo1fSk7YnJlYWs7Y2FzZSAiSU5URVJTVElUSUFMX1BMQVlCQUNLX1BMQUNFTUVOVF9QT1NUIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZToweDdmZmZmZmZmZmZmZmYscGxheWVyVmFyczpiLGtxOjZ9KTticmVhaztjYXNlICJJTlRFUlNUSVRJQUxfUExBWUJBQ0tfUExBQ0VNRU5UX0lOU0VSVF9BVF9WSURFT19USU1FIjpXPU51bWJlcihELnBvZENvbmZpZy50aW1lVG9JbnNlcnRBdE1pbGxpcyksbi5pbnRlcnN0aXRpYWxzPW4uaW50ZXJzdGl0aWFscy5jb25jYXQoe3RpbWU6VyxwbGF5ZXJWYXJzOmIsa3E6Vz09PTA/NTo3fSl9fX07Cm12aj1mdW5jdGlvbihuLFcpe2lmKFc9Vy5maW5kKEQ9PiEoIUR8fCFELnRvb2x0aXBSZW5kZXJlcikpKW4udG9vbHRpcFJlbmRlcmVyPVcudG9vbHRpcFJlbmRlcmVyfTsKYUE9ZnVuY3Rpb24obixXKXtXLnN1YnNjcmliZUNvbW1hbmQmJihuLnN1YnNjcmliZUNvbW1hbmQ9Vy5zdWJzY3JpYmVDb21tYW5kKTtXLnVuc3Vic2NyaWJlQ29tbWFuZCYmKG4udW5zdWJzY3JpYmVDb21tYW5kPVcudW5zdWJzY3JpYmVDb21tYW5kKTtXLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQmJihuLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQ9Vy5hZGRUb1dhdGNoTGF0ZXJDb21tYW5kKTtXLnJlbW92ZUZyb21XYXRjaExhdGVyQ29tbWFuZCYmKG4ucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kPVcucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kKTtXLmdldFNoYXJlUGFuZWxDb21tYW5kJiYobi5nZXRTaGFyZVBhbmVsQ29tbWFuZD1XLmdldFNoYXJlUGFuZWxDb21tYW5kKX07Cm5MPWZ1bmN0aW9uKG4sVyl7VyE9bnVsbD8obi5yUj1XLG4uaU49ITApOihuLnJSPSIiLG4uaU49ITEpfTsKUG4xPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKW5MKG4sVy5jb250cm9sQmdIdG1sKSxXLm11dGVkQXV0b3BsYXk/KFc9Zy53KFcubXV0ZWRBdXRvcGxheSxLSTEpKSYmVy5lbmRTY3JlZW4mJihXPWcudyhXLmVuZFNjcmVlbixPVngpKSYmVy50ZXh0JiYobi5NVj1nLkRwKFcudGV4dCkpOm4ubXV0ZWRBdXRvcGxheT0hMX07ClpWaT1mdW5jdGlvbihuLFcpe3ZhciBEPVcuYmFja2dyb3VuZGFiaWxpdHk7RCYmRC5iYWNrZ3JvdW5kYWJpbGl0eVJlbmRlcmVyLmJhY2tncm91bmRhYmxlJiYobi5iYWNrZ3JvdW5kYWJsZT0hMCk7Vy5vZmZsaW5lYWJpbGl0eT8ub2ZmbGluZWFiaWxpdHlSZW5kZXJlcj8ub2ZmbGluZWFibGUmJihuLm9mZmxpbmVhYmxlPSEwKTtpZihEPVcuY29udGV4dFBhcmFtcyluLmNvbnRleHRQYXJhbXM9RDsoRD1XLnBpY3R1cmVJblBpY3R1cmUpJiZELnBpY3R1cmVJblBpY3R1cmVSZW5kZXJlci5wbGF5YWJsZUluUGlwJiYobi5waXBhYmxlPSEwKTtXLnBsYXlhYmxlSW5FbWJlZCYmKG4uYWxsb3dFbWJlZD0hMCk7aWYoRD1XLnlwY0NsaWNrd3JhcClXPUQucGxheWVyTGVnYWN5RGVza3RvcFlwY0NsaWNrd3JhcFJlbmRlcmVyLEQ9RC55cGNSZW50YWxBY3RpdmF0aW9uUmVuZGVyZXIsVz8obi5Jaz1XLmR1cmF0aW9uTWVzc2FnZXx8IiIsbi5EbD0hMCk6RCYmKFc9RC5kdXJhdGlvbk1lc3NhZ2UsCm4uSWs9Vz9nLkRwKFcpOiIiLG4uRGw9ITApfTsKeXExPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1NRihXLmdvb2dsZVJlbWFya2V0aW5nVXJsKTtiJiYobi5nb29nbGVSZW1hcmtldGluZ1VybD1iKTtpZihiPU1GKFcueW91dHViZVJlbWFya2V0aW5nVXJsKSluLnlvdXR1YmVSZW1hcmtldGluZ1VybD1iO2lmKGI9Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW4pbi5oZWFydGJlYXRMb2dnaW5nVG9rZW49YjtiPXt9O3ZhciB2PU1GKFcucHRyYWNraW5nVXJsKTtpZih2KXt2PVJBKHYpO3ZhciBrPXYub2lkO2smJihuLlhvPWspO2lmKGs9di5wbHR5cGUpbi5xOD1rO2lmKGs9di5wdGNobiluLmgxPWs7aWYoaz12LnB0ayluLnh6PWVuY29kZVVSSUNvbXBvbmVudChrKTtpZih2PXYubSluLnk5PXZ9aWYodj1NRihXLnFvZVVybCkpe3Y9Zy5vRSh2KTtmb3IoaCBvZiBPYmplY3Qua2V5cyh2KSlrPXZbaF0sdltoXT1BcnJheS5pc0FycmF5KGspP2suam9pbigiLCIpOms7dmFyIGg9djtuLnpiPWg7aWYodj1oLmNhdCluLlMoImh0bWw1X2VuYWJsZV9xb2VfY2F0X2xpc3QiKT8Kbi5rSz1uLmtLLmNvbmNhdCh2LnNwbGl0KCIsIikpOm4ua3k9djtpZih2PWgubGl2ZSluLnVoPXY7aWYoaD1oLmRybV9wcm9kdWN0KW4uZHJtUHJvZHVjdD1ofWlmKGg9TUYoVy52aWRlb3N0YXRzUGxheWJhY2tVcmwpKXtoPVJBKGgpO2lmKHY9aC5hZGZvcm1hdClpZihELmFkZm9ybWF0PXYsaz1uLkcoKSxrPVRsKHYsbi5GdyxrLkosay5LKSluLmFkRm9ybWF0PWs7aWYoaz1oLmFxaSlELmFkX3F1ZXJ5X2lkPWs7aWYoRD1oLmF1dG9wbGF5KW4uR3U9RD09IjEiLG4uVlQ9RD09IjEiO2lmKEQ9aC5hdXRvbmF2KW4uaXNBdXRvbmF2PUQ9PSIxIjtpZihEPWguZGVsYXkpbi5vRD1nLk5oKEQpO2lmKEQ9aC5laSluLmV2ZW50SWQ9RDtpZihEPWcuZDEoaC5hZGNvbnRleHQpKXRyeXt2YXIgeD1VdjIoRCk7eCYmKG4uZk49eCl9Y2F0Y2goTCl7Zy5HcShFcnJvcigiTWFsZm9ybWVkIGFkQ29udGV4dCIpKX1pZihEfHx2KW4uR3U9ITA7aWYoeD1oLmZlYXR1cmUpbi5TOT14O2lmKHg9aC5saXN0KW4ucGxheWxpc3RJZD0KeDtpZih4PWgub2Ypbi5SSD14O2lmKHg9aC5vc2lkKW4ub3NpZD14O2lmKHg9aC5yZWZlcnJlciluLnJlZmVycmVyPXg7aWYoeD1oLnNkZXRhaWwpbi53dT14O2lmKHg9aC5zb3VyY2VpZCluLmJJPXg7aWYoeD1oLnNzcnQpbi5BUj14PT0iMSI7aWYoeD1oLnN1YnNjcmliZWQpbi5zdWJzY3JpYmVkPXg9PSIxIjtpZih4PWgudWdhKW4udXNlckdlbmRlckFnZT14O2lmKHg9aC51cHQpbi5IcT14O2lmKHg9aC52bSluLnZpZGVvTWV0YWRhdGE9eDtiLnBsYXliYWNrPWh9aWYoeD1NRihXLnZpZGVvc3RhdHNXYXRjaHRpbWVVcmwpKXt4PVJBKHgpO2lmKEQ9eC5hbGQpbi5GTD1EO2Iud2F0Y2h0aW1lPXh9aWYoeD1NRihXLmF0clVybCkpeD1SQSh4KSxiLmF0cj14O2lmKHg9TUYoVy5lbmdhZ2VVcmwpKXg9UkEoeCksYi5lbmdhZ2U9eDtuLlhUPWI7Vy5wcm9tb3RlZFBsYXliYWNrVHJhY2tpbmcmJihiPVcucHJvbW90ZWRQbGF5YmFja1RyYWNraW5nLGIuc3RhcnRVcmxzJiYobi5Gcj1iLnN0YXJ0VXJscyksCmIuZmlyc3RRdWFydGlsZVVybHMmJihuLndOPWIuZmlyc3RRdWFydGlsZVVybHMpLGIuc2Vjb25kUXVhcnRpbGVVcmxzJiYobi5DdD1iLnNlY29uZFF1YXJ0aWxlVXJscyksYi50aGlyZFF1YXJ0aWxlVXJscyYmKG4ub0g9Yi50aGlyZFF1YXJ0aWxlVXJscyksYi5jb21wbGV0ZVVybHMmJihuLkF0PWIuY29tcGxldGVVcmxzKSxiLmVuZ2FnZWRWaWV3VXJscyYmKGIuZW5nYWdlZFZpZXdVcmxzLmxlbmd0aD4xJiZnLkdxKG5ldyBnLlF4KCJUaGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBlbmdhZ2VkX3ZpZXdfdXJscy4iKSksbi5EeD1iLmVuZ2FnZWRWaWV3VXJsc1swXSkpO1cuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKG4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1XLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpO1cudnNzM0NvbmZpZz8uc2VyaWFsaXplZFdhdGNoVGltZUNvbnRleHREYXRhJiYobi5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGE9ClcudnNzM0NvbmZpZy5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGEpfTsKRVkxPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVylpZihiJiYoVz1iLnBsYXllckxlZ2FjeURlc2t0b3BXYXRjaEFkc1JlbmRlcmVyKSYmKFc9Vy5wbGF5ZXJBZFBhcmFtcykpe1cuYXV0b3BsYXk9PSIxIiYmKG4uR3U9ITAsbi5WVD0hMCk7bi5Jbz1XLmVuY29kZWRBZFNhZmV0eVJlYXNvbnx8bnVsbDtXLnNob3dDb250ZW50VGh1bWJuYWlsIT09dm9pZCAwJiYobi5xMj0hIVcuc2hvd0NvbnRlbnRUaHVtYm5haWwpO0QuZW5hYmxlZF9lbmdhZ2VfdHlwZXM9Vy5lbmFibGVkRW5nYWdlVHlwZXM7YnJlYWt9fTsKaVYyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5tYW5pZmVzdGxlc3NXaW5kb3dlZExpdmVDb25maWc7aWYoRCl7dmFyIGI9TnVtYmVyKEQubWluRHZyU2VxdWVuY2UpLHY9TnVtYmVyKEQubWF4RHZyU2VxdWVuY2UpLGs9TnVtYmVyKEQubWluRHZyTWVkaWFUaW1lTXMpLGg9TnVtYmVyKEQubWF4RHZyTWVkaWFUaW1lTXMpO0Q9TnVtYmVyKEQuc3RhcnRXYWxsdGltZU1zKTtiJiYobi5JdD1iKTtrJiYobi5KVT1rLzFFMyxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJmcuWU4obikmJihuLkgyPWsvMUUzKSk7diYmKG4uSFA9dik7aCYmKG4ub1I9aC8xRTMsbi5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpJiZnLllOKG4pJiYobi5XTT1oLzFFMykpO0QmJihuLklUPUQvMUUzKTsoYnx8aykmJih2fHxoKSYmKG4uUkk9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCxuLmFsbG93TGl2ZUR2cj0KITAsbi5YZz0hMSl9aWYoYj1XLmRhaUNvbmZpZyl7aWYoYi5lbmFibGVEYWkpe24uTFk9ITA7aWYodj1iLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpKW4uZW5hYmxlU2VydmVyU3RpdGNoZWREYWk9djtpZih2PWIuZW5hYmxlUHJlcm9sbCluLktkPXZ9aWYoYi5kYWlUeXBlPT09IkRBSV9UWVBFX1NTX0RJU0FCTEVEInx8Yi5kZWJ1Z0luZm8/LmlzRGlzYWJsZWRVbnBsdWdnZWRDaGFubmVsKW4uSmw9ITA7IW4uUygiaHRtbDVfdW1wX3N0aXRjaGVkX21ldGFkYXRhX3Vuc3BlY2lmaWVkX2hhbmRsaW5nIil8fGIuZGFpVHlwZSE9PSJEQUlfVFlQRV9VTlNQRUNJRklFRCImJmIuZGFpVHlwZSE9PXZvaWQgMHx8KG4uakY9ITApO2IuZGFpVHlwZT09PSJEQUlfVFlQRV9DTElFTlRfU1RJVENIRUQiJiYobi5DVT0hMCk7Yi5hbGxvd1VzdHJlYW1lclJlcXVlc3RBZGNvbmZpZyYmKG4uUTY9ITApO2Iuc2VuZFNzZGFpTWlzc2luZ0FkQnJlYWtSZWFzb25zJiYobi5LVj0hMCl9aWYoYj1XLmF1ZGlvQ29uZmlnKXt2PQpuLmhnO2IudHJhY2tBYnNvbHV0ZUxvdWRuZXNzTGtmcyE9bnVsbCYmKHYuSj1iLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMpO2IubG91ZG5lc3NUYXJnZXRMa2ZzIT1udWxsJiYodi5sb3VkbmVzc1RhcmdldExrZnM9Yi5sb3VkbmVzc1RhcmdldExrZnMpO2IubG91ZG5lc3NEYiE9bnVsbCYmKHYuVz1iLmxvdWRuZXNzRGIpO2lmKGs9Yi5sb3VkbmVzc05vcm1hbGl6YXRpb25Db25maWcpay5hcHBseVN0YXRlZnVsTm9ybWFsaXphdGlvbiYmKHYuYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb249ITApLGsucHJlc2VydmVTdGF0ZWZ1bExvdWRuZXNzVGFyZ2V0JiYodi5wcmVzZXJ2ZVN0YXRlZnVsTG91ZG5lc3NUYXJnZXQ9ITApLGsubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyE9bnVsbCYmKHYubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcz1rLm1pbmltdW1Mb3VkbmVzc1RhcmdldExrZnMpO3Y9Yi5sb3VkbmVzc0RiO3YhPW51bGwmJihuLllLPXYpO2IuYXVkaW9NdXRlZCYmKG4ueWw9CiEwKTtiLm11dGVPblN0YXJ0JiYobi5OMD0hMCk7Yi5wbGF5QXVkaW9Pbmx5JiYobi5KZz0hMCl9aWYodj1XLnBsYXliYWNrRW5kQ29uZmlnKWI9di5lbmRTZWNvbmRzLHY9di5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcyxuLm11dGVkQXV0b3BsYXkmJihiJiYobi5lbmRTZWNvbmRzPWIpLHYmJihuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPXYpKTtpZihiPVcuZmFpclBsYXlDb25maWcpe2lmKHY9Yi5jZXJ0aWZpY2F0ZSluLkNpPWcuZDEodik7dj1OdW1iZXIoYi5rZXlSb3RhdGlvblBlcmlvZE1zKTt2PjAmJihuLlY5PXYpO2I9TnVtYmVyKGIua2V5UHJlZmV0Y2hNYXJnaW5Ncyk7Yj4wJiYobi5qaT1iKX1pZigoYj1XLnBsYXliYWNrU3RhcnRDb25maWcpJiYhbi5OVil7bi52RT1OdW1iZXIoYi5zdGFydFNlY29uZHMpO2s9Yi5saXZlVXRjU3RhcnRTZWNvbmRzO3Y9ISFuLmxpdmVVdGNTdGFydFNlY29uZHMmJm4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz4wOwprJiYhdiYmKG4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz1OdW1iZXIoaykpO2lmKGs9Yi5zdGFydFBvc2l0aW9uKWlmKChoPWsudXRjVGltZU1pbGxpcykmJiF2JiYobi5saXZlVXRjU3RhcnRTZWNvbmRzPU51bWJlcihoKSouMDAxKSx2PWsuc3RyZWFtVGltZU1pbGxpcyluLlVyPU51bWJlcih2KSouMDAxO24ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPWIucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uO24ucHJvZ3Jlc3NCYXJFbmRQb3NpdGlvbj1iLnByb2dyZXNzQmFyRW5kUG9zaXRpb259ZWxzZSBpZihiPVcuc2tpcHBhYmxlU2VnbWVudHNDb25maWcpe2lmKHY9Yi5pbnRyb1NraXBEdXJhdGlvbk1zKW4uUEU9TnVtYmVyKHYpLzFFMztpZihiPWIub3V0cm9Ta2lwRHVyYXRpb25NcyluLm50PU51bWJlcihiKS8xRTN9aWYodj1XLnNraXBwYWJsZUludHJvQ29uZmlnKWI9TnVtYmVyKHYuc3RhcnRNcyksdj1OdW1iZXIodi5lbmRNcyksaXNOYU4oYil8fGlzTmFOKHYpfHwobi53Qj1iLG4uQXA9CnYpO2lmKGI9Vy5zdHJlYW1TZWxlY3Rpb25Db25maWcpbi5HZj1OdW1iZXIoYi5tYXhCaXRyYXRlKTtpZihiPVcudnJDb25maWcpbi5Kbz1iLnBhcnRpYWxTcGhlcmljYWw9PSIxIjtpZihiPVcud2ViRHJtQ29uZmlnKXtiLnNraXBXaWRldmluZSYmKG4uSmo9ITApO2lmKHY9Yi53aWRldmluZVNlcnZpY2VDZXJ0KW4uRmM9Zy5kMSh2KTtiLnVzZUNvYmFsdFdpZGV2aW5lJiYobi51c2VDb2JhbHRXaWRldmluZT0hMCk7Yi5zdGFydFdpdGhOb1F1YWxpdHlDb25zdHJhaW50JiYobi5aOT0hMCl9aWYoYj1XLm1lZGlhQ29tbW9uQ29uZmlnKXtpZih2PWIuZHluYW1pY1JlYWRhaGVhZENvbmZpZyl7bi5tYXhSZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1heFJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1pblJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5yZWFkQWhlYWRHcm93dGhSYXRlTXM9di5yZWFkQWhlYWRHcm93dGhSYXRlTXN8fE5hTjsKaWYodj1iPy5tZWRpYVVzdHJlYW1lclJlcXVlc3RDb25maWc/LnZpZGVvUGxheWJhY2tVc3RyZWFtZXJDb25maWcpbi5hST1nLmQxKHYpO2lmKCh2PWI/LnNhYnJDb250ZXh0VXBkYXRlcykmJnYubGVuZ3RoPjApZm9yKHZhciB4IG9mIHYpeC50eXBlJiZ4LnZhbHVlJiYodj17dHlwZTp4LnR5cGUsc2NvcGU6eC5zY29wZSx2YWx1ZTpnLmQxKHgudmFsdWUpfHx2b2lkIDAsc2VuZEJ5RGVmYXVsdDp4LnNlbmRCeURlZmF1bHR9LG4uc2FickNvbnRleHRVcGRhdGVzLnNldCh4LnR5cGUsdikpfWlmKHg9Yi5zZXJ2ZXJQbGF5YmFja1N0YXJ0Q29uZmlnKW4uc2VydmVyUGxheWJhY2tTdGFydENvbmZpZz14O2IudXNlU2VydmVyRHJpdmVuQWJyJiYobi5ERT0hMCk7aWYoeD1iLnJlcXVlc3RQaXBlbGluaW5nQ29uZmlnKW4ucmVxdWVzdFBpcGVsaW5pbmdDb25maWc9eH1pZih4PVcuaW5saW5lUGxheWJhY2tDb25maWcpbi52MT0hIXguc2hvd0F1ZGlvQ29udHJvbHM7aWYoeD1XLmVtYmVkZGVkUGxheWVyQ29uZmlnKXtuLmVtYmVkZGVkUGxheWVyQ29uZmlnPQp4O2lmKHY9eC5lbWJlZGRlZFBsYXllck1vZGUpYj1uLkcoKSxiLmNKPXYsYi5EPXY9PT0iRU1CRURERURfUExBWUVSX01PREVfUEZMIjtpZih4PXgucGVybWlzc2lvbnMpbi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hIXguYWxsb3dJbWFNb25ldGl6YXRpb259aWYoeD1XLndlYlBsYXllckNvbmZpZylpZih4LmdhdGV3YXlFeHBlcmltZW50R3JvdXAmJihuLmdhdGV3YXlFeHBlcmltZW50R3JvdXA9eC5nYXRld2F5RXhwZXJpbWVudEdyb3VwKSx4LmlzUHJveGltYUVsaWdpYmxlJiYobi5pc1Byb3hpbWFMYXRlbmN5RWxpZ2libGU9ITApLHg9eC5tdWx0aUFzcGVjdFN0cmVhbWluZ0NvbmZpZyluLldrPSEwLG4ucGxheWVyT3JpZW50YXRpb249eC5wbGF5ZXJPcmllbnRhdGlvbix4LnBsYXllck9yaWVudGF0aW9uPT09IlBMQVlFUl9PUklFTlRBVElPTl9IT1JJWk9OVEFMIj9uLkJqPXgudmVydGljYWxDb21tYW5kfHxudWxsOngucGxheWVyT3JpZW50YXRpb249PT0iUExBWUVSX09SSUVOVEFUSU9OX1ZFUlRJQ0FMIiYmCihuLkJqPXguaG9yaXpvbnRhbENvbW1hbmR8fG51bGwpO1c9Vy5wbGF5ZXJDb250cm9sc0NvbmZpZztXPy5pc1NlZWthYmxlIT09dm9pZCAwJiYobi5pc1NlZWthYmxlPSEhVy5pc1NlZWthYmxlKX07CnU2Uz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5mb3JtYXRzO2lmKGIpe3ZhciB2PVtdO2Zvcih2YXIgayBvZiBiKXYucHVzaChgJHtrLml0YWd9LyR7ay53aWR0aH14JHtrLmhlaWdodH1gKTtuLkdqPXYuam9pbigiLCIpO3Y9W107Zm9yKHZhciBoIG9mIGIpe2I9e2l0YWc6aC5pdGFnLHR5cGU6aC5taW1lVHlwZSxxdWFsaXR5OmgucXVhbGl0eX07KGs9aC51cmwpJiYoYi51cmw9ayk7bGV0IHt4aTpOLEVsOkgseTc6QSxzOnl9PVAwKDcsNjkyLGgpO04mJihiLnVybD1ILGIuc3A9QSxiLnM9eSk7di5wdXNoKHlHKGIpKX1uLmNmPXYuam9pbigiLCIpfWlmKGg9Vy5obHNGb3JtYXRzKXt2PXt9O2lmKEQmJihEPUQuYXVkaW9QYWlyaW5nQ29uZmlnKSYmRC5wYWlycylmb3IodmFyIHggb2YgRC5wYWlycylEPXgudmlkZW9JdGFnLHZbRF18fCh2W0RdPVtdKSx2W0RdLnB1c2goeC5hdWRpb0l0YWcpO3g9e307Zm9yKHZhciBMIG9mIGgpeFtMLml0YWddPUwuYml0cmF0ZTtMPVtdO2ZvcihHIG9mIGgpe0Q9CntpdGFnOkcuaXRhZyx0eXBlOkcubWltZVR5cGUsdXJsOkcudXJsLGJpdHJhdGU6Ry5iaXRyYXRlLHdpZHRoOkcud2lkdGgsaGVpZ2h0OkcuaGVpZ2h0LGZwczpHLmZwc307aWYoaD1HLmF1ZGlvVHJhY2spaWYoYj1oLmRpc3BsYXlOYW1lKUQubmFtZT1iLEQuYXVkaW9fdHJhY2tfaWQ9aC5pZCxoLmF1ZGlvSXNEZWZhdWx0JiYoRC5pc19kZWZhdWx0PSIxIik7aWYoRy5kcm1GYW1pbGllcyl7aD1bXTtmb3IodmFyIGUgb2YgRy5kcm1GYW1pbGllcyloLnB1c2goSlpbZV0pO0QuZHJtX2ZhbWlsaWVzPWguam9pbigiLCIpfShoPXZbRy5pdGFnXSkmJmgubGVuZ3RoJiYoRC5hdWRpb19pdGFnPWguam9pbigiLCIpLChoPXhbaFswXV0pJiYoRC5iaXRyYXRlKz1oKSk7KGg9TiQoRykpJiYoRC5lb3RmPWgpO0cuYXVkaW9DaGFubmVscyYmKEQuYXVkaW9fY2hhbm5lbHM9Ry5hdWRpb0NoYW5uZWxzKTtMLnB1c2goeUcoRCkpfXZhciBHPUwuam9pbigiLCIpO24uaGxzRm9ybWF0cz1HfWlmKChlPQpXLmxpY2Vuc2VJbmZvcykmJmUubGVuZ3RoPjApe0c9e307Zm9yKHZhciByIG9mIGUpZT1yLmRybUZhbWlseSx2PXIudXJsLGUmJnYmJihHW0paW2VdXT12KTtuLmNvbnRlbnRQcm90ZWN0aW9uPUd9aWYocj1XLmRybVBhcmFtcyluLmRybVBhcmFtcz1yO2lmKHI9Vy5kYXNoTWFuaWZlc3RVcmwpbi5UZj1nLkVUKHIse2NwbjpuLmNsaWVudFBsYXliYWNrTm9uY2V9KTtpZihyPVcuaGxzTWFuaWZlc3RVcmwpbi5obHN2cD1yO2lmKHI9Vy5wcm9iZVVybCluLnByb2JlVXJsPUZOKGcuRVQocix7Y3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pKTtpZihXPVcuc2VydmVyQWJyU3RyZWFtaW5nVXJsKW4ubEM9bmV3IGcud1ooVywhMCl9OwpvWU09ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW9JZDtiJiYobi52aWRlb0lkPWIsRC52aWRlb19pZHx8KEQudmlkZW9faWQ9YikpO2lmKGI9Vy50aXRsZSluLnRpdGxlPWIsRC50aXRsZXx8KEQudGl0bGU9Yik7aWYoYj1XLmxlbmd0aFNlY29uZHMpbi5sZW5ndGhTZWNvbmRzPU51bWJlcihiKSxELmxlbmd0aF9zZWNvbmRzfHwoRC5sZW5ndGhfc2Vjb25kcz1iKTtpZihiPVcua2V5d29yZHMpbi5rZXl3b3Jkcz1XaihiKTtpZihiPVcuY2hhbm5lbElkKW4uRjk9YixELnVjaWR8fChELnVjaWQ9Yik7aWYoYj1XLnZpZXdDb3VudCluLnJhd1ZpZXdDb3VudD1OdW1iZXIoYik7aWYoYj1XLmF1dGhvciluLmF1dGhvcj1iLEQuYXV0aG9yfHwoRC5hdXRob3I9Yik7aWYoRD1XLnNob3J0RGVzY3JpcHRpb24pbi5zaG9ydERlc2NyaXB0aW9uPUQ7aWYoRD1XLmlzQ3Jhd2xhYmxlKW4uaXNMaXN0ZWQ9RDtpZihEPVcubXVzaWNWaWRlb1R5cGUpbi5tdXNpY1ZpZGVvVHlwZT1EO0Q9Vy5pc0xpdmU7CkQhPW51bGwmJihuLmlzTGl2ZVBsYXliYWNrPUQpO2lmKER8fFcuaXNVcGNvbWluZyluLmlzUHJlbWllcmU9IVcuaXNMaXZlQ29udGVudDtpZihEPVcudGh1bWJuYWlsKW4udE89d2MoRCk7aWYoRD1XLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3Qpbi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0PUQ7KEQ9Vy5zdGF0aW9uVHlwZSkmJkQhPT0iU1RBVElPTl9UWVBFX1VOS05PV04iJiYobi56Mz0hMCk7RD1XLnZpZXdlckxpdmVzdHJlYW1Kb2luUG9zaXRpb247RD8udXRjVGltZU1pbGxpcyYmKG4uRHo9Zy5OaChELnV0Y1RpbWVNaWxsaXMpKTtuLkcoKS5leHBlcmltZW50cy5FcSgiZW5hYmxlX2NlbnRlcmVkX2NhcHRpb25fZm9yX3R2ZmlsbV92aWRlbyIpJiZXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmlzVHZmaWxtVmlkZW89Vy5pc1R2ZmlsbVZpZGVvKTtXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmNPPVcuaXNUdmZpbG1WaWRlbyYmbi5pc0xpdmVQbGF5YmFjayl9Owp6RWI9ZnVuY3Rpb24obixXKXtpZihXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXIpe3ZhciBEPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlcjtuLk1nPUQudHJhaWxlclZpZGVvSWR8fCIiO3ZhciBiPShiPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlci55cGNUcmFpbGVyKSYmYi55cGNUcmFpbGVyUmVuZGVyZXJ9ZWxzZSBXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNPZmZlclJlbmRlcmVyP0Q9Vy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcjpXLnlwY1RyYWlsZXJSZW5kZXJlciYmKGI9Vy55cGNUcmFpbGVyUmVuZGVyZXIsVz1iLmZ1bGxWaWRlb01lc3NhZ2Usbi5IQj1XP2cuRHAoVyk6IiIsbi5NZz1nLncoYixEeik/LnZpZGVvRGV0YWlscz8udmlkZW9JZHx8IiIpO0QmJihuLlU5PUQuaXRlbVRpdGxlfHwiIixELml0ZW1VcmwmJihuLndWPUQuaXRlbVVybCksRC5pdGVtQnV5VXJsJiYobi5nVj0KRC5pdGVtQnV5VXJsKSxuLkFKPUQuaXRlbVRodW1ibmFpbHx8IiIsbi5kVj1ELm9mZmVySGVhZGxpbmV8fCIiLG4uR249RC5vZmZlckRlc2NyaXB0aW9ufHwiIixuLk9oPUQub2ZmZXJJZHx8IiIsbi5Daj1ELm9mZmVyQnV0dG9uVGV4dHx8IiIsbi51Vz1ELm9mZmVyQnV0dG9uRm9ybWF0dGVkVGV4dHx8bnVsbCxuLkU5PUQub3ZlcmxheUR1cmF0aW9uTXNlY3x8TmFOLG4uSEI9RC5mdWxsVmlkZW9NZXNzYWdlfHwiIixuLnZNPSEwKTtiJiYoKEQ9Zy53KGIsRHopKT9uLkljPXtyYXdfcGxheWVyX3Jlc3BvbnNlOkR9OihEPWcudyhiLGR2aSksbi5JYz1EP2cuaXcoRCk6bnVsbCksbi52TT0hMCl9Owpsb2o9ZnVuY3Rpb24obixXLEQsYil7Vy5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0JiYobi5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0PSEwKTtXLmlzVXBjb21pbmcmJihuLmlzVXBjb21pbmc9ITApO2lmKFcuaXNQb3N0TGl2ZUR2cil7bi5YZz0hMDtpZihiPVcubGF0ZW5jeUNsYXNzKW4ubGF0ZW5jeUNsYXNzPWJqW2JdfHwiVU5LTk9XTiI7Vy5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtJiYobi5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtPSEwKX1lbHNle2xldCB2PSExO24uSVI/KG4uYWxsb3dMaXZlRHZyPWZOKCk/ITA6TVgmJnZqPDU/ITE6ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk6Vy5pc0xpdmU/KGIubGl2ZXN0cmVhbT0iMSIsbi5hbGxvd0xpdmVEdnI9Vy5pc0xpdmVEdnJFbmFibGVkP2ZOKCk/ITA6TVgmJnZqPDU/ITE6ITA6ITEsbi5wYXJ0bmVySWQ9Mjcsdj0hMCk6Vy5pc1VwY29taW5nJiYodj0hMCk7aWYoVy5pc0xpdmV8fG4uSVIpe1cuaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbSYmKG4uaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbT0KITApO2xldCBrPVcubGF0ZW5jeUNsYXNzO2smJihuLmxhdGVuY3lDbGFzcz1ialtrXXx8IlVOS05PV04iKTtpZihXPVcubGl2ZUNodW5rUmVhZGFoZWFkKW4ubGl2ZUNodW5rUmVhZGFoZWFkPVc7aWYoVz1EJiZELmxpdmVQbGF5ZXJDb25maWcpe1cuaGFzU3ViZnJhZ21lbnRlZEZtcDQmJihuLmhhc1N1YmZyYWdtZW50ZWRGbXA0PSEwKTtXLmhhc1N1YmZyYWdtZW50ZWRXZWJtJiYobi5JMj0hMCk7Vy5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzJiYobi5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzPSEwKTtpZihEPVcubGl2ZUV4cGVyaW1lbnRhbENvbnRlbnRJZCluLmxpdmVFeHBlcmltZW50YWxDb250ZW50SWQ9TnVtYmVyKEQpO1c9Vy5pc0xpdmVIZWFkUGxheWFibGU7bi5TKCJodG1sNV9saXZlX2hlYWRfcGxheWFibGUiKSYmVyE9bnVsbCYmKG4uaXNMaXZlSGVhZFBsYXlhYmxlPVcpfX12JiYobi5pc0xpdmVQbGF5YmFjaz0hMCxiLmFkZm9ybWF0JiZiLmFkZm9ybWF0LnNwbGl0KCJfIilbMV0hPT0KIjgifHxuLklKLnB1c2goImhlYXJ0YmVhdCIpKX19OwprTD1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzOyhuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0cyl8fChuPVc/LmVuZFNjcmVlbj8uZW5kU2NyZWVuPy5yZXN1bHRzKTtyZXR1cm4gbn07CnhMPWZ1bmN0aW9uKCl7aWYoaHg9PT12b2lkIDApe3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInl0LXBsYXllci1sdiIpfWNhdGNoKFcpe31hOnt0cnl7dmFyIG49ISFzZWxmLmxvY2FsU3RvcmFnZX1jYXRjaHtuPSExfWlmKG4mJihuPWcudlMoYCR7TTAoKX06Onl0LXBsYXllcmApKSl7aHg9bmV3IFQkYihuKTticmVhayBhfWh4PXZvaWQgMH19cmV0dXJuIGh4fTsKTEw9ZnVuY3Rpb24oKXt2YXIgbj14TCgpO2lmKCFuKXJldHVybnt9O3RyeXtsZXQgVz1uLmdldCgieXQtcGxheWVyLWx2Iik7cmV0dXJuIEpTT04ucGFyc2UoV3x8Int9Iil9Y2F0Y2goVyl7cmV0dXJue319fTsKZSQ9ZnVuY3Rpb24obil7cmV0dXJuIExMKClbbl18fDB9OwpnNj1mdW5jdGlvbihuLFcpe3ZhciBEPUxMKCk7VyE9PURbbl0mJihXIT09MD9EW25dPVc6ZGVsZXRlIERbbl0sbj14TCgpKSYmKEQ9SlNPTi5zdHJpbmdpZnkoRCksbi5zZXQoInl0LXBsYXllci1sdiIsRCkpfTsKZy5YZT1hc3luYyBmdW5jdGlvbihuKXtyZXR1cm4gQ0YoamlVKCksbil9Owp0eD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2lmKGUkKG4pPT09NClyZXR1cm4gNDt2YXIgTD1hd2FpdCBnLm5QKCk7aWYoIUwpdGhyb3cgZy5yMCgid2lhYyIpO3gmJmghPT12b2lkIDAmJihoPWF3YWl0IENuaSh4LGgpKTt2YXIgZT1ELmxhc3RNb2RpZmllZHx8IjAiO3g9YXdhaXQgZy5YZShMKTt0cnl7cmV0dXJuIHFzKyssYXdhaXQgT1IoeCxbImluZGV4IiwibWVkaWEiXSx7bW9kZToicmVhZHdyaXRlIix0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfV0lBQyIsR1E6ITB9LEc9PntpZihrIT09dm9pZCAwJiZoIT09dm9pZCAwKXt2YXIgcj1gJHtufXwke1cuaWR9fCR7ZX18JHtTdHJpbmcoaykucGFkU3RhcnQoMTAsIjAiKX1gO3I9Ry5vYmplY3RTdG9yZSgibWVkaWEiKS5wdXQoaCxyKX1lbHNlIHI9c1IucmVzb2x2ZSh2b2lkIDApO3ZhciBOPUdmKG4sVy5mWSgpKSxIPUdmKG4sIVcuZlkoKSksQT17Zm10czpnLkV0KHtkbHQ6Yi5kb3dubG9hZGVkRW5kVGltZS50b1N0cmluZygpLApta2V0OmIubWF4S25vd25FbmRUaW1lLnRvU3RyaW5nKCksYXZicjpiLmF2ZXJhZ2VCeXRlUmF0ZS50b1N0cmluZygpfSksZm9ybWF0OkR8fHt9fTtOPUcub2JqZWN0U3RvcmUoImluZGV4IikucHV0KEEsTik7dmFyIHk9Yi5kb3dubG9hZGVkRW5kVGltZT09PS0xO0E9eT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLmdldChIKTpzUi5yZXNvbHZlKHZvaWQgMCk7dmFyIFQ9e2ZtdHM6Im11c2ljIixmb3JtYXQ6e319O0c9eSYmdiYmIVcuZlkoKT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLnB1dChULEgpOnNSLnJlc29sdmUodm9pZCAwKTtyZXR1cm4gc1IuYWxsKFtHLEEscixOXSkudGhlbigoWyx6XSk9Pntxcy0tO3ZhciBDPWUkKG4pLFE7IShRPUMhPT00JiZ5JiZ2KSYmKFE9eiE9PXZvaWQgMCkmJihRPSh6PXouZm10cyk/ej09PSJtdXNpYyI/ITA6ei5pbmNsdWRlcygiZGx0PS0xIil8fCF6LmluY2x1ZGVzKCJkbHQ9Iik6ITEpO1EmJihDPTEsZzYobixDKSk7cmV0dXJuIEN9KX0pfWNhdGNoKEcpe3FzLS07Cng9ZSQobik7aWYoeD09PTQpcmV0dXJuIHg7ZzYobiw0KTt0aHJvdyBHO319OwpCJHg9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9YXdhaXQgZy5uUCgpO2lmKCFXKXRocm93IGcucjAoInJpIik7cmV0dXJuIE9SKGF3YWl0IGcuWGUoVyksWyJpbmRleCJdLHttb2RlOiJyZWFkb25seSIsdGFnOiJJREJfVFJBTlNBQ1RJT05fVEFHX0xNUkkifSxEPT57dmFyIGI9SURCS2V5UmFuZ2UuYm91bmQobisifCIsbisifiIpO3JldHVybiBELm9iamVjdFN0b3JlKCJpbmRleCIpLmdldEFsbChiKS50aGVuKHY9PnYubWFwKGs9Pms/ay5mb3JtYXQ6e30pKX0pfTsKdzNpPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9YXdhaXQgZy5uUCgpO2lmKCFrKXRocm93IGcucjAoInJjIik7az1PUihhd2FpdCBnLlhlKGspLFsibWVkaWEiXSx7bW9kZToicmVhZG9ubHkiLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19MTVJNIn0saD0+e3ZhciB4PWAke259fCR7V318JHtEfXwke1N0cmluZyhiKS5wYWRTdGFydCgxMCwiMCIpfWA7cmV0dXJuIGgub2JqZWN0U3RvcmUoIm1lZGlhIikuZ2V0KHgpfSk7CnJldHVybiB2P2sudGhlbihoPT57aWYoaD09PXZvaWQgMCl0aHJvdyBFcnJvcigiTm8gZGF0YSBmcm9tIGluZGV4RGIiKTtyZXR1cm4gRkkxKHYsaCl9KS5jYXRjaChoPT57dGhyb3cgbmV3IGcuUXgoYEVycm9yIHdoaWxlIHJlYWRpbmcgY2h1bms6ICR7aC5uYW1lfSwgJHtoLm1lc3NhZ2V9YCk7Cn0pOmt9OwpHZj1mdW5jdGlvbihuLFcpe3JldHVybmAke259fCR7Vz8idiI6ImEifWB9OwpSRWk9ZnVuY3Rpb24obil7dmFyIFc9e30sRD17fTtmb3IobGV0IGsgb2Ygbil7dmFyIGI9ay5zcGxpdCgifCIpO2lmKCFrLm1hdGNoKE1tQykpe0Rba109Ij8iO2NvbnRpbnVlfW49TnVtYmVyKGIucG9wKCkpO2lmKGlzTmFOKG4pKXtEW2tdPSI/Ijtjb250aW51ZX12YXIgdj1iLmpvaW4oInwiKTsoYj1XW3ZdKT8odj1iW2IubGVuZ3RoLTFdLG49PT12LmVuZCsxP3YuZW5kPW46Yi5wdXNoKHtzdGFydDpuLGVuZDpufSkpOldbdl09W3tzdGFydDpuLGVuZDpufV19Zm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKFcpKURba109V1trXS5tYXAoaD0+YCR7aC5zdGFydH0tJHtoLmVuZH1gKS5qb2luKCIsIik7CnJldHVybiBEfTsKJEw9ZnVuY3Rpb24obixXKXt2YXIgRD1uLlYoKSxiPW4uWCgpLHY9MSxrPTAsaD1nLmRNKG4ueVEuZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYWRfZ2FpbiIpO2ghPW51bGwmJkQmJih2PWgpO2lmKGI/LkQoKSl7az1iLmF1ZGlvPy5KPz9uLko7aWYoaz09bnVsbHx8aXNOYU4oaykpaz12b2lkIDA7cmV0dXJue0R5OjAsWnI6MSx3RzoxLGZkOmsscHk6ayxSUzprLGZvcm1hdElkOmIuaWQsYUc6VyxJejpuLnlRLlZRLFFPOm4uUU99fUQ9Yj8uYXVkaW8/Lko/P24uSjtiIT1udWxsJiZiLmF1ZGlvPy5KPT1udWxsJiZuLlUoImFnYyIse25vX2FiOjF9KTtpZihEPT1udWxsfHxpc05hTihEKSlyZXR1cm4gVz1iPy5hdWRpbz8uWCE9bnVsbD9iLmF1ZGlvLlg6bi5XLGlzTmFOKFcpfHwoaz00KSxXPS1XLHtEeTpXLFpyOk1hdGgubWluKDEsMTAqKihXLzIwKSl8fHYsd0c6ayxmb3JtYXRJZDpiPy5pZCxRTzpuLlFPfTtrPTE7aD1uLmxvdWRuZXNzVGFyZ2V0TGtmczt2YXIgeD1uLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uIik7CmlmKG4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24mJngpe2lmKFchPW51bGwpdmFyIEw9VztlbHNlIGlzRmluaXRlKG4ueVEuVlEpJiYoTD1uLnlRLlZRKTtMIT1udWxsJiYoaz0yLGg9Zy5GZihMLG4ubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyxuLmxvdWRuZXNzVGFyZ2V0TGtmcykpfXZhciBlPU1hdGgubWluKGgtRCwwKTt2YXIgRz1EK2U7dj1NYXRoLm1pbigxLDEwKiooZS8yMCkpfHx2O3gmJm4uVSgiYWdjIix7c3Rub3JtOm4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24saHN0OlcsZW52Om4ueVEuVlEsZm1sOkQsc3RndDpMLHRtaW46bi5taW5pbXVtTG91ZG5lc3NUYXJnZXRMa2ZzLHRtYXg6bi5sb3VkbmVzc1RhcmdldExrZnMsbmc6ZX0pO3JldHVybntEeTplLFpyOnYsd0c6ayxmZDpELHB5OmgsUlM6Ryxmb3JtYXRJZDpiPy5pZCxhRzpXLEl6Om4ueVEuVlEsUU86bi5RT319OwpyNj1mdW5jdGlvbihuLFcpe1c9JEwobixXKTtuLk49VztuLnByZXNlcnZlU3RhdGVmdWxMb3VkbmVzc1RhcmdldCYmVy5SUyE9bnVsbCYmKG4ueVEuVlE9Vy5SUyk7cmV0dXJuIFcuWnJ9OwpRaTI9ZnVuY3Rpb24obixXLEQpe1c9e2NwbjpXfTtuLmluZGV4T2YoIi9pYncvIik9PT0tMSYmKFcuaWJ3PUQ/U3RyaW5nKEQpOiIxMzY5ODQzIik7cmV0dXJue3VybDpnLkVUKG4sVyksdHlwZToiYXBwbGljYXRpb24veC1tcGVnVVJMIixxdWFsaXR5OiJhdXRvIixpdGFnOiI5MyJ9fTsKVm10PWZ1bmN0aW9uKG4pe3RyeXtsZXQgVz0obmV3IGcud1oobiwhMCkpLmdldCgibiIpO2lmKFcpe2xldCBEPW4ubWF0Y2goL1wvblwvKFteL10rKS8pO2lmKEQmJkRbMV0mJkRbMV0hPT1XKXJldHVybiBuLnJlcGxhY2UoYC9uLyR7RFsxXX1gLGAvbi8ke1d9YCl9fWNhdGNoKFcpe2cuR3EoVyl9cmV0dXJuIG59OwpzVT1mdW5jdGlvbihuKXtpZihuLmlzQWQoKSYmKG4uVlE/bi52aWRlb0lkIT09bi55US5TJDpuLnZpZGVvSWQhPW4ueVEuUyQpKXJldHVybiBuLnlRLlMkfTsKVm49ZnVuY3Rpb24obil7aWYobil7aWYoQm4obikpcmV0dXJuIG47bj1lQShuKTtpZihCbihuLCEwKSlyZXR1cm4gbn1yZXR1cm4iIn07CmcuWU49ZnVuY3Rpb24obil7aWYoZy4kNihuLnlRKSYmbi55US5WPT09Inl0IiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25feXRfZW1iZWRzIikpcmV0dXJuITE7aWYobi5abylyZXR1cm4gbi5ERSYmbi5VKCJmZHMiLHtmZHM6ITB9LCEwKSwhMTtpZihuLnlRLlYhPT0ieXQiJiYhY3F4KG4pKXJldHVybiBuLkRFJiZuLlUoImRzdm4iLHtuczpuLnlRLlZ9LCEwKSwhMTtpZihuLmNvdG58fCFuLk58fG4uTi5pc090ZiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpfHxuLlcmJiFuLlcuTigpfHxuLkNVJiYhbi5TKCJodG1sNV9lbmFibGVfc2Ficl9jc2RhaSIpKXJldHVybiExO2lmKG4uUygiaHRtbDVfdXNlX3NhYnJfcmVxdWVzdHNfZm9yX2RlYnVnZ2luZyIpKXJldHVybiEwO24uREUmJm4uVSgiZXNmdyIse3VzYmM6bi5ERSxoc3U6ISFuLmxDfSwhMCk7aWYobi5ERSYmbi5sQylyZXR1cm4hMDtpZihuLlMoImh0bWw1X3JlbW92ZV9jbGllbnRfc2Ficl9kZXRlcm1pbmF0aW9uIikpcmV0dXJuITE7CnZhciBXPSFuLk4uelcmJiFuLk1pKCksRD1XJiZOcyYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl92b2Rfc3RyZWFtaW5nX3hociIpO1c9VyYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3ZvZF9ub25fc3RyZWFtaW5nX3hociIpO3ZhciBiPXBMKG4pLHY9bi5TKCJodG1sNV9lbmFibGVfc2Ficl9kcm1fdm9kX3N0cmVhbWluZ194aHIiKSYmTnMmJm4uTWkoKSYmIW4uTi56VyYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCk7KEQ9RHx8V3x8Ynx8dikmJiFuLmxDJiZuLlUoInNhYnIiLHtsb2M6Im0ifSwhMCk7cmV0dXJuIEQmJiEhbi5sQ307CldqPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09Mj9XW25bMF1dPW5bMV06V1tEXT0hMDtyZXR1cm4gV307CkhqPWZ1bmN0aW9uKG4pe2lmKG4uUygiaHRtbDVfb25lc2llIikmJm4uZXJyb3JDb2RlKXJldHVybiExO3ZhciBXPWcuamoobi5JSiwieXBjIik7bi55cGNQcmV2aWV3JiYoVz0hMSk7cmV0dXJuIG4uT1YoKSYmIW4ubG9hZGluZyYmKGcuWUwobil8fGcuamoobi5JSiwiaGVhcnRiZWF0Iil8fFcpfTsKZkw9ZnVuY3Rpb24obil7bi5xTigpfHwobi5sb2FkaW5nPSExLG4uV0ooImRhdGFsb2FkZWQiKSl9OwptZj1mdW5jdGlvbihuLFcpe3ZhciBEPVcucmF3X2VtYmVkZGVkX3BsYXllcl9yZXNwb25zZTtpZighRCl7dmFyIGI9Vy5lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9RCYmKG4uTz1EKTtpZihuLk8pe24uZW1iZWRkZWRQbGF5ZXJDb25maWc9bi5PLmVtYmVkZGVkUGxheWVyQ29uZmlnfHxudWxsO2lmKEQ9bi5PLnZpZGVvRmxhZ3MpRC5wbGF5YWJsZUluRW1iZWQmJihuLmFsbG93RW1iZWQ9ITApLEQuaXNQcml2YXRlJiYobi5pc1ByaXZhdGU9ITApLEQudXNlckRpc3BsYXlOYW1lJiYoVy51c2VyX2Rpc3BsYXlfbmFtZT1ELnVzZXJEaXNwbGF5TmFtZSksRC51c2VyRGlzcGxheUltYWdlJiYoVy51c2VyX2Rpc3BsYXlfaW1hZ2U9RC51c2VyRGlzcGxheUltYWdlKTtpZigoRD1uLk8uZW1iZWRQcmV2aWV3KSYmRC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpe0Q9RC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI7bkwobixELmNvbnRyb2xCZ0h0bWwpO2lmKGI9CkQuZGVmYXVsdFRodW1ibmFpbCluLnRPPXdjKGIpOyhiPWcudyhEPy52aWRlb0RldGFpbHMsYW9VKSkmJkp4KG4sVyxiKTtiPWcudyhEPy52aWRlb0RldGFpbHMsbnFNKTtuLkU1PSEhRC5hZGRUb1dhdGNoTGF0ZXJCdXR0b247bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO2I/Lm11c2ljVmlkZW9UeXBlJiYobi5tdXNpY1ZpZGVvVHlwZT1iLm11c2ljVmlkZW9UeXBlKTtpZihiPWcudyhuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKT8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LnBsYXlCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsZy5JUSkpb0EobixiKSxuLnZpZGVvSWQ9Yi52aWRlb0lkfHxuLnZpZGVvSWQ7RC52aWRlb0R1cmF0aW9uU2Vjb25kcyYmKG4ubGVuZ3RoU2Vjb25kcz1nLk5oKEQudmlkZW9EdXJhdGlvblNlY29uZHMpKTtELndlYlBsYXllckFjdGlvbnNQb3J0aW5nJiZhQShuLEQud2ViUGxheWVyQWN0aW9uc1BvcnRpbmcpOwppZihEPWcudyhEPy5wbGF5bGlzdCxXR2kpKXtuLk1kPSEwO2I9W107dmFyIHY9TnVtYmVyKEQuY3VycmVudEluZGV4KTtpZihELmNvbnRlbnRzKWZvcihsZXQgaz0wLGg9RC5jb250ZW50cy5sZW5ndGg7azxoO2srKyl7bGV0IHg9RC5jb250ZW50c1trXS5wbGF5bGlzdFBhbmVsVmlkZW9SZW5kZXJlcjtpZigheCljb250aW51ZTtsZXQgTD14LnNob3J0QnlsaW5lVGV4dD9nLkRwKHguc2hvcnRCeWxpbmVUZXh0KToiIixlPXgudGl0bGU/Zy5EcCh4LnRpdGxlKToiIjtiLnB1c2goe2F1dGhvcjpMLGVuY3J5cHRlZF9pZDp4LnZpZGVvSWQsdGl0bGU6ZSxjaGFubmVsX3BhdGg6az09PXY/Vy5jaGFubmVsX3BhdGg6IiIscHJvZmlsZV9waWN0dXJlOms9PT12P1cucHJvZmlsZV9waWN0dXJlOiIiLGlzX3ByaXZhdGU6az09PXY/bi5pc1ByaXZhdGU6ITAsaXNfZG5pOms9PT12P24uaU46ITEsZG5pX2NvbG9yOms9PT12P24uclI6IiJ9KX1XPXtpbmRleDpELmN1cnJlbnRJbmRleCxsaXN0OkQucGxheWxpc3RJZCwKcGxheWxpc3RfbGVuZ3RoOkQudG90YWxWaWRlb3MsdmlkZW86Yn07RC50aXRsZVRleHQmJihXLnRpdGxlPWcuRHAoRC50aXRsZVRleHQpKTtELnNob3J0QnlsaW5lVGV4dCYmKFcuYXV0aG9yPWcuRHAoRC5zaG9ydEJ5bGluZVRleHQpKTtuLlE3PVd9aWYoVz1nLncobi5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCk/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKFc/LmR1cmF0aW9uTXMpfHxOYU4sVz8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPVc/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxXPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYobi5Saz1XPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsKX1pZihuLk8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzKXtpZihuLmVCPW4uTy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsVz1uLmVCLCFbIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKFcuc3RhdHVzKSl7bi5lcnJvckNvZGU9CmlpKFcuZXJyb3JDb2RlKTtEPVcuZXJyb3JTY3JlZW47aWYoYj1EPy5wbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcil7bi5mbT1iO2lmKHY9Yi5yZWFzb24pbi5lcnJvclJlYXNvbj1nLkRwKHYpO2lmKGI9Yi5zdWJyZWFzb24pbi53aT1nLkRwKGIpfWVsc2Ugbi5lcnJvclJlYXNvbj1XLnJlYXNvbnx8bnVsbDtzd2l0Y2goVy5zdGF0dXMpe2Nhc2UgIkxPR0lOX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIxIjticmVhaztjYXNlICJDT05URU5UX0NIRUNLX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIyIjticmVhaztjYXNlICJBR0VfQ0hFQ0tfUkVRVUlSRUQiOm4uZXJyb3JEZXRhaWw9RD8ucGxheWVyS2F2UmVuZGVyZXI/LmthdlVybD8iNCI6IjMiO2JyZWFrO2RlZmF1bHQ6bi5lcnJvckRldGFpbD1XLmlzQmxvY2tlZEluUmVzdHJpY3RlZE1vZGU/IjUiOiIwIn19fWVsc2Ugbi5PLnBsYXlhYmlsaXR5U3RhdHVzJiYobi5SdD1uLk8ucGxheWFiaWxpdHlTdGF0dXMsQXgobikmJihuLmVycm9yRGV0YWlsPQoiMCIsbi5SdCYmKChXPW4uUnQuZW1iZWRkZWRQbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcik/bi5mbT1nLncoVyxEdEMpOm4uZXJyb3JSZWFzb249bi5SdC5yZWFzb258fG51bGwpKSk7KFc9bi5PLmF0dGVzdGF0aW9uKSYmUW4obixXKTsoVz1uLk8ucGVybWlzc2lvbnMpJiZXLmFsbG93SW1hTW9uZXRpemF0aW9uJiYobi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hMCl9fTsKRVU9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnJhd193YXRjaF9uZXh0X3Jlc3BvbnNlO2lmKCFEKXt2YXIgYj1XLndhdGNoX25leHRfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9aWYoRCl7bi53YXRjaE5leHRSZXNwb25zZT1EOyhEPW4ud2F0Y2hOZXh0UmVzcG9uc2UucGxheWVyQ3VlUmFuZ2VTZXQpJiZnLktMKG4sRCk7RD1uLndhdGNoTmV4dFJlc3BvbnNlLnBsYXllck92ZXJsYXlzO2lmKEQmJihEPUQucGxheWVyT3ZlcmxheVJlbmRlcmVyKSl7aWYoYj1ELmF1dG9uYXZUb2dnbGUpbi5hdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyPWcudyhiLGJXWiksbi5TKCJ3ZWJfcGxheWVyX2F1dG9uYXZfdXNlX3NlcnZlcl9wcm92aWRlZF9zdGF0ZSIpJiZuLkFWKCkmJihuLmF1dG9uYXZTdGF0ZT1uLmF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIuZW5hYmxlZD8yOjEpO2lmKGI9RC52aWRlb0RldGFpbHMpe3ZhciB2PWIuZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXI7CmlmKGI9Yi5wbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIpYi50aXRsZSYmKFcudGl0bGU9Zy5EcChiLnRpdGxlKSksYi5zdWJ0aXRsZSYmKFcuc3VidGl0bGU9Zy5EcChiLnN1YnRpdGxlKSl9Zy5DTihuLnlRKSYmKG4uRTU9ISFELmFkZFRvTWVudSk7bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO0Quc3RhcnRQb3NpdGlvbiYmRC5lbmRQb3NpdGlvbiYmKG4ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPUQuc3RhcnRQb3NpdGlvbixuLnByb2dyZXNzQmFyRW5kUG9zaXRpb249RC5lbmRQb3NpdGlvbik7aWYoYj1nLncobi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKGI/LmR1cmF0aW9uTXMpfHxOYU4sYj8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPWI/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxiPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYKKG4uUms9Yj8uaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbCk7bi5zaG93U2Vla2luZ0NvbnRyb2xzPSEhRC5zaG93U2Vla2luZ0NvbnRyb2xzfWlmKEQ9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5jb250ZW50cz8udHdvQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cylpZihEPUQuZGVza3RvcE92ZXJsYXkmJmcudyhELmRlc2t0b3BPdmVybGF5LHZxdCkpRC5zdXBwcmVzc1NoYXJlQnV0dG9uJiYobi5zaG93U2hhcmVCdXR0b249ITEpLEQuc3VwcHJlc3NXYXRjaExhdGVyQnV0dG9uJiYobi5FNT0hMSk7diYmSngobixXLHYpO0Q9REkoMCxXLmF1dG9wbGF5X2NvdW50KTt2YXIgaz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk7Yj1rLmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzO3Y9ay5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI7dmFyIGg9a0wobik7aWYoKGs9ay5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cykmJgprLmF1dG9wbGF5Py5hdXRvcGxheSYmIWsucGxheWxpc3Qpe2xldCB5PWsuYXV0b3BsYXkuYXV0b3BsYXkuc2V0cztrPXt9O3ZhciB4PW5ldyBPVShuLkcoKSksTD1udWxsLGU7aWYoeSl7Zm9yKHZhciBHIG9mIHkpaWYoKGU9Ry5hdXRvcGxheVZpZGVvUmVuZGVyZXIpJiZlLmNvbXBhY3RWaWRlb1JlbmRlcmVyKXtMPWUuY29tcGFjdFZpZGVvUmVuZGVyZXI7YnJlYWt9aWYoZT15WzBdLmF1dG9wbGF5VmlkZW8pKEc9ZS5jbGlja1RyYWNraW5nUGFyYW1zKSYmKGsuaXRjdD1HKSxrLmF1dG9uYXY9IjEiLGsucGxheW5leHQ9U3RyaW5nKEQpfWVsc2Ugay5mZWF0dXJlPSJyZWxhdGVkLWF1dG8iO2U9Zy53KGUsZy5JUSk7aWYoTCl7eC52aWRlb0lkPUwudmlkZW9JZDtpZihlPUwuc2hvcnRCeWxpbmVUZXh0KXguYXV0aG9yPWcuRHAoZSk7aWYoZT1MLnRpdGxlKXgudGl0bGU9Zy5EcChlKX1lbHNlIGUhPW51bGwmJmUudmlkZW9JZCYmKHgudmlkZW9JZD1lLnZpZGVvSWQpO3gueXo9aztuLnN1Z2dlc3Rpb25zPQpbXTtuLlU1PXh9aWYoaCl7ZT1bXTtmb3IodmFyIHIgb2YgaCl7aD12b2lkIDA7Rz1udWxsO2lmKHIuZW5kU2NyZWVuVmlkZW9SZW5kZXJlcil7az1yLmVuZFNjcmVlblZpZGVvUmVuZGVyZXI7eD1rLnRpdGxlO0c9bmV3IE9VKG4uRygpKTtHLnZpZGVvSWQ9ay52aWRlb0lkO0cubGVuZ3RoU2Vjb25kcz1rLmxlbmd0aEluU2Vjb25kc3x8MDtpZihMPWsucHVibGlzaGVkVGltZVRleHQpRy5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKEwpO2lmKEw9ay5zaG9ydEJ5bGluZVRleHQpRy5hdXRob3I9Zy5EcChMKTtpZihMPWsuc2hvcnRWaWV3Q291bnRUZXh0KUcuc2hvcnRWaWV3Q291bnQ9Zy5EcChMKTt4JiYoRy50aXRsZT1nLkRwKHgpLCh4PXguYWNjZXNzaWJpbGl0eSkmJih4PXguYWNjZXNzaWJpbGl0eURhdGEpJiZ4LmxhYmVsJiYoRy5hcmlhTGFiZWw9eC5sYWJlbCkpO2lmKEw9ay5uYXZpZ2F0aW9uRW5kcG9pbnQpaD1MLmNsaWNrVHJhY2tpbmdQYXJhbXMseD1nLncoTCxnLklRKSxMPWcudyhMLApnLlBqKSx4P0cuczA9eDpMIT1udWxsJiYoRy53YXRjaFVybD1MLnVybCk7aWYoeD1rLnRodW1ibmFpbE92ZXJsYXlzKWZvcih2YXIgTiBvZiB4KWlmKHg9Ti50aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyKWlmKHguc3R5bGU9PT0iTElWRSIpe0cuaXNMaXZlUGxheWJhY2s9ITA7YnJlYWt9ZWxzZSBpZih4LnN0eWxlPT09IlVQQ09NSU5HIil7Ry5pc1VwY29taW5nPSEwO2JyZWFrfUcudE89d2Moay50aHVtYm5haWwpfWVsc2UgaWYoci5lbmRTY3JlZW5QbGF5bGlzdFJlbmRlcmVyKXtrPXIuZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjtoPWsubmF2aWdhdGlvbkVuZHBvaW50O2lmKCFoKWNvbnRpbnVlO0c9Zy53KGgsZy5JUSk7aWYoIUcpY29udGludWU7eD1HLnZpZGVvSWQ7Rz1uZXcgWnoobi5HKCkpO0cucGxheWxpc3RJZD1rLnBsYXlsaXN0SWQ7Ry5wbGF5bGlzdExlbmd0aD1OdW1iZXIoay52aWRlb0NvdW50KXx8MDtHLk49eHx8bnVsbDtHLnZpZGVvSWQ9eDtpZih4PQprLnRpdGxlKUcudGl0bGU9Zy5EcCh4KTtpZih4PWsuc2hvcnRCeWxpbmVUZXh0KUcuYXV0aG9yPWcuRHAoeCk7aD1oLmNsaWNrVHJhY2tpbmdQYXJhbXM7Ry50Tz13YyhrLnRodW1ibmFpbCl9RyYmKGgmJihHLnNlc3Npb25EYXRhPXtpdGN0Omh9KSxlLnB1c2goRykpfW4uc3VnZ2VzdGlvbnM9ZX1pZih2KXtuLkozPSEhdi5wcmVmZXJJbW1lZGlhdGVSZWRpcmVjdDtuLkcoKS5adCgpLk4uUVEoa05qKSYmKG4uaDM9ISF2LnNob3dQYXVzZWRXaGVuRGlzYWJsZWQpO24uclc9bi5yV3x8ISF2LndlYlNob3dOZXdBdXRvbmF2Q291bnRkb3duO2lmKG4uclcpe049djtiPWJ8fG51bGw7cj1uZXcgT1Uobi5HKCkpO3IudmlkZW9JZD1OLnZpZGVvSWQ7aWYoZT1OLnZpZGVvVGl0bGUpci50aXRsZT1nLkRwKGUpLChlPWUuYWNjZXNzaWJpbGl0eSkmJihlPWUuYWNjZXNzaWJpbGl0eURhdGEpJiZlLmxhYmVsJiYoci5hcmlhTGFiZWw9ZS5sYWJlbCk7aWYoZT1OLmJ5bGluZSlyLmF1dGhvcj1nLkRwKGUpOwppZihlPU4ucHVibGlzaGVkVGltZVRleHQpci5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKGUpO2lmKGU9Ti5zaG9ydFZpZXdDb3VudFRleHQpci5zaG9ydFZpZXdDb3VudD1nLkRwKGUpO2lmKGU9Ti50aHVtYm5haWxPdmVybGF5cylmb3IodmFyIEggb2YgZSlpZihlPUgudGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcilpZihlLnN0eWxlPT09IkxJVkUiKXtyLmlzTGl2ZVBsYXliYWNrPSEwO2JyZWFrfWVsc2UgaWYoZS5zdHlsZT09PSJVUENPTUlORyIpe3IuaXNVcGNvbWluZz0hMDticmVha31lbHNlIGlmKGUuc3R5bGU9PT0iREVGQVVMVCImJmUudGV4dCl7ci5sZW5ndGhUZXh0PWcuRHAoZS50ZXh0KTsoSD1lLnRleHQuYWNjZXNzaWJpbGl0eSkmJihIPUguYWNjZXNzaWJpbGl0eURhdGEpJiZILmxhYmVsJiYoci5pZz1ILmxhYmVsfHwiIik7YnJlYWt9ci50Tz13YyhOLmJhY2tncm91bmQpO2lmKEg9Ti5uZXh0QnV0dG9uKWlmKEg9SC5idXR0b25SZW5kZXJlcilpZihIPUgubmF2aWdhdGlvbkVuZHBvaW50KWlmKEg9CmcudyhILGcuSVEpKXIuczA9SDtOLnRvcEJhZGdlcyYmKEg9Ti50b3BCYWRnZXNbMF0pJiYoSD1nLncoSCxoazIpKSYmSC5zdHlsZT09PSJCQURHRV9TVFlMRV9UWVBFX1BSRU1JVU0iJiYoci5OPSEwKTtpZihIPU4uYWx0ZXJuYXRpdmVUaXRsZSlyLko5PWcuRHAoSCk7SD1yO0Q9e2F1dG9uYXY6IjEiLHBsYXluZXh0OlN0cmluZyhEKX07SC5wbGF5bGlzdElkJiYoRC5hdXRvcGxheT0iMSIpO2lmKGIpe2lmKE49Yi5hdXRvcGxheT8uYXV0b3BsYXk/LnNldHM/LlswXT8uYXV0b3BsYXlWaWRlbylpZigoYj1OLmNsaWNrVHJhY2tpbmdQYXJhbXMpJiYoRC5pdGN0PWIpLE49Zy53KE4sZy5JUSkpSC50RT1OfWVsc2UgTiYmKE49Ti5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zKSYmKEQuaXRjdD1OKTtELml0Y3R8fChELmZlYXR1cmU9InJlbGF0ZWQtYXV0byIpO0gueXo9RDtuLnN1Z2dlc3Rpb25zfHwobi5zdWdnZXN0aW9ucz0KW10pO24uVTU9cn12LmNvdW50RG93blNlY3MhPW51bGwmJihuLk9OPXYuY291bnREb3duU2VjcyoxRTMpO3YuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4hPW51bGwmJihuLnMzPXYuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4+PTA/di5jb3VudERvd25TZWNzRm9yRnVsbHNjcmVlbioxRTM6LTEpfWlmKHY9a0wobikpdj12Py5bMF0/LmVuZFNjcmVlblZpZGVvUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludD8uY2xpY2tUcmFja2luZ1BhcmFtcyxIPW4uVTV8fG4uc3VnZ2VzdGlvbnM/LlswXXx8bnVsbCx2JiZIJiYoSC5zZXNzaW9uRGF0YT17aXRjdDp2fSk7bi53YXRjaE5leHRSZXNwb25zZS5jdXJyZW50VmlkZW9UaHVtYm5haWwmJihuLnRPPXdjKG4ud2F0Y2hOZXh0UmVzcG9uc2UuY3VycmVudFZpZGVvVGh1bWJuYWlsKSk7KHY9bi53YXRjaE5leHRSZXNwb25zZT8uY29udGVudHM/LnR3b0NvbHVtbldhdGNoTmV4dFJlc3VsdHM/LnJlc3VsdHM/LnJlc3VsdHM/LmNvbnRlbnRzKSYmCnZbMF0mJihIPXZbMF0udmlkZW9QcmltYXJ5SW5mb1JlbmRlcmVyKSYmSCYmSC5zdWJ0aXRsZSYmKG4uWDQ9Zy5EcChILnN1YnRpdGxlKSk7diYmdlsxXSYmKHY9dlsxXS52aWRlb1NlY29uZGFyeUluZm9SZW5kZXJlcj8ub3duZXI/LnZpZGVvT3duZXJSZW5kZXJlcj8udGh1bWJuYWlsPy50aHVtYm5haWxzKSYmdi5sZW5ndGgmJihuLnByb2ZpbGVQaWN0dXJlPXZbdi5sZW5ndGgtMV0udXJsKTtXPWtSKFcpO2lmKHY9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHMpZm9yKHZhciBBIG9mIHYpZy53KEEsVVUpJiYobi5ScT1nLncoQSxVVSkpLHY9Zy53KEEseHRNKSx2Py5lbnRpdHlLZXlzJiYobi5MTj12LmVudGl0eUtleXN8fFtdLHYudmlzaWJsZU9uTG9hZEtleXMmJihuLnZpc2libGVPbkxvYWRLZXlzPXYudmlzaWJsZU9uTG9hZEtleXMpKTtuLlMoIndlYl9rZXlfbW9tZW50c19tYXJrZXJzIikmJihBPXl6LmdldFN0YXRlKCkuZW50aXRpZXMsCnY9bmYoInZpc2liaWxpdHlfb3ZlcnJpZGUiLCJtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5IiksQT1BLm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk/QS5tYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5W3ZdfHxudWxsOm51bGwsbi5IeD1BPy52aWRlb0lkPT09KG4udmlkZW9JZHx8VykmJkE/LnZpc2liaWxpdHlPdmVycmlkZU1hcmtlcnNLZXk/QS52aXNpYmlsaXR5T3ZlcnJpZGVNYXJrZXJzS2V5Om4udmlzaWJsZU9uTG9hZEtleXMsbi52aXNpYmxlT25Mb2FkS2V5cz1bLi4ubi5IeF0pfX07CmlqPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnJhd19yZWVsX2l0ZW1fd2F0Y2hfcmVzcG9uc2Upbi5yZWVsSXRlbVdhdGNoUmVzcG9uc2U9V307CnVqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5yYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U7RHx8KFc9Vy5yZXNvbHZlX3VybF9yZXNwb25zZSkmJihEPUpTT04ucGFyc2UoVykpO0QmJihuLnBvPUQpfTsKZDY9ZnVuY3Rpb24obixXKXtuLmZmbGFncz1iTyhuLmZmbGFncyxXLmZmbGFncyk7dmFyIEQ9Vy5pdl9pbnZpZGVvX3VybDtEJiYobi5lYT1GTihEKSk7bi5SbT1ueShuLlJtLFcuaXZfYWRzX29ubHkpO2lmKEQ9Vy5jdGFfY29udmVyc2lvbl91cmxzKW4ubE09RDtuLmlzUGhhcm1hPW55KG4uaXNQaGFybWEsVy5pc19waGFybWEpO24uYXV0aG9yPWJPKG4uYXV0aG9yLFcuYXV0aG9yKTtuLndhPVZuKFcudHRzdXJsKXx8bi53YTtuLldjPW55KG4uV2MsVy5jY19hc3IpO2lmKEQ9Vy5wcm9maWxlX3BpY3R1cmUpbi5wcm9maWxlUGljdHVyZT1iTyhuLnByb2ZpbGVQaWN0dXJlLEQpO24udmlkZW9Db3VudFRleHQ9Yk8obi52aWRlb0NvdW50VGV4dCxXLnZpZGVvX2NvdW50X3RleHQpO24uYXV0b25hdlN0YXRlPVdCKG4uYXV0b25hdlN0YXRlLFcuYXV0b25hdl9zdGF0ZSxMRzEpO24uY2xpZW50UGxheWJhY2tOb25jZT1iTyhuLmNsaWVudFBsYXliYWNrTm9uY2UsVy5jcG4pO24uc3Vic2NyaWJlZD0Kbnkobi5zdWJzY3JpYmVkLFcuc3Vic2NyaWJlZCk7bi5yYXdWaWV3Q291bnQ9REkobi5yYXdWaWV3Q291bnQsVy52aWV3X2NvdW50KTtuLnNob3J0Vmlld0NvdW50PWJPKG4uc2hvcnRWaWV3Q291bnQsVy5zaG9ydF92aWV3X2NvdW50X3RleHQpO24ucHVibGlzaGVkVGltZVRleHQ9Yk8obi5wdWJsaXNoZWRUaW1lVGV4dHx8IiIsVy5wdWJsaXNoZWRUaW1lVGV4dCk7bi5sZW5ndGhUZXh0PWJPKG4ubGVuZ3RoVGV4dHx8IiIsVy5sZW5ndGhUZXh0KTtuLmlnPWJPKG4uaWd8fCIiLFcuaWcpO24uSjk9Yk8obi5KOXx8IiIsVy5KOSk7bi50aXRsZT1iTyhuLnRpdGxlLFcudGl0bGUpO24uc3VidGl0bGU9Yk8obi5zdWJ0aXRsZSxXLnN1YnRpdGxlKTtuLmV4cGFuZGVkVGl0bGU9Yk8obi5leHBhbmRlZFRpdGxlLFcuZXhwYW5kZWRfdGl0bGUpO24uZXhwYW5kZWRTdWJ0aXRsZT1iTyhuLmV4cGFuZGVkU3VidGl0bGUsVy5leHBhbmRlZF9zdWJ0aXRsZSk7bi55cGNQcmV2aWV3PWJPKG4ueXBjUHJldmlldywKVy55cGNfcHJldmlldyk7bi5EVD1iTyhuLkRULFcueXBjX29yaWdpbik7bi5MQj1ueShuLkxCLFcueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXIpO24uSWs9Yk8obi5JayxXLnlwY19jbGlja3dyYXBfbWVzc2FnZSk7bi5wYXlnYXRlZD1ueShuLnBheWdhdGVkLFcucGF5Z2F0ZWQpO24uS289bnkobi5LbyxXLnJlcXVpcmVzX3B1cmNoYXNlKTtuLnNob3dTaGFyZUJ1dHRvbj0hbnkoIW4uc2hvd1NoYXJlQnV0dG9uLFcuc3MpO24uRTU9bnkobi5FNSxXLnNob3d3YXRjaGxhdGVyKTtpZihEPVcuZWwpbi5ldmVudExhYmVsPUQ7aWYoRD1XLmtleXdvcmRzKW4ua2V5d29yZHM9V2ooRC5zcGxpdCgiLCIpKTtpZihEPVcucnZzKW4uc3VnZ2VzdGlvbnM9dXcoRCkubWFwKGI9PmIucGxheWxpc3R8fGIubGlzdHx8Yi5hcGk/bmV3IFp6KG4ueVEsYik6bmV3IE9VKG4ueVEsYikpOwpuLmNvbnRlbnRDaGVja09rPW55KG4uY29udGVudENoZWNrT2ssVy5jY28pO24ucmFjeUNoZWNrT2s9bnkobi5yYWN5Q2hlY2tPayxXLnJjbyk7bi5pc0xpdmluZ1Jvb21EZWVwbGluaz1ueShuLmlzTGl2aW5nUm9vbURlZXBsaW5rLFcuaXNfbGl2aW5nX3Jvb21fZGVlcGxpbmspO24ub2F1dGhUb2tlbj1iTyhuLm9hdXRoVG9rZW4sVy5vYXV0aF90b2tlbik7bi5ISj1iTyhuLkhKLFcua3B0KTtuLnZpc2l0b3JEYXRhPWJPKG4udmlzaXRvckRhdGEsVy52aXNpdG9yX2RhdGEpO2lmKEQ9Vy5zZXNzaW9uX2RhdGEpbi5zZXNzaW9uRGF0YT15RihELCImIik7bi5XSz1iTyhuLldLLFcudHJhY2tpbmdfbGlzdCk7bi5EdD1ueShuLkR0LFcucGF1c2VfYXRfc3RhcnQpO29RKG4sVyl9Owp6Zj1mdW5jdGlvbihuLFcsRCxiKXtXJiZXLmNwbiYmZy5HcShuZXcgZy5ReCgiQ1BOIHByb3ZpZGVkIGluIFZpZGVvRGF0YSB1cGRhdGUiLHtIWjpXLmNwbixLWTpuLmNsaWVudFBsYXliYWNrTm9uY2UsdEY6RH0pKTtiJiYobi5lcnJvckNvZGU9bnVsbCxuLmVycm9yRGV0YWlsPSIiLG4uZXJyb3JSZWFzb249bnVsbCxuLndpPW51bGwpO0Q/KGtSKFcpLG4uc2V0RGF0YShXKSxIaihuKSYmZkwobikpOihXPVd8fHt9LG1mKG4sVyksRVUobixXKSxpaihuLFcpLHVqKG4sVyksZDYobixXKSxuLldKKCJkYXRhdXBkYXRlZCIpKX07Cm9RPWZ1bmN0aW9uKG4sVyl7Vy5pbmxpbmVNZXRyaWNFbmFibGVkJiYobi5pbmxpbmVNZXRyaWNFbmFibGVkPSEwKTtXLnBsYXliYWNrX3Byb2dyZXNzXzBzX3VybCYmKG4uVEk9bmV3IGVrdChXKSk7aWYoVz1XLnZpZGVvX21hc3RoZWFkX2FkX3F1YXJ0aWxlX3VybHMpbi5OZj1XLnF1YXJ0aWxlXzBfdXJsLG4uYmU9Vy5xdWFydGlsZV8yNV91cmwsbi56ND1XLnF1YXJ0aWxlXzUwX3VybCxuLm1EPVcucXVhcnRpbGVfNzVfdXJsLG4uV0g9Vy5xdWFydGlsZV8xMDBfdXJsLG4uRnI9Vy5xdWFydGlsZV8wX3VybHMsbi53Tj1XLnF1YXJ0aWxlXzI1X3VybHMsbi5DdD1XLnF1YXJ0aWxlXzUwX3VybHMsbi5vSD1XLnF1YXJ0aWxlXzc1X3VybHMsbi5BdD1XLnF1YXJ0aWxlXzEwMF91cmxzfTsKZy5LTD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXKUQuY3VlUmFuZ2VTZXRJZGVudGlmaWVyJiZuLmJOLnNldChELmN1ZVJhbmdlU2V0SWRlbnRpZmllcixELnBsYXllckN1ZVJhbmdlcz8/W10pfTsKZ3FaPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBudWxsO2ZvcihsZXQgVyBvZiBuKWlmKG49Vy5hZFBsYWNlbWVudFJlbmRlcmVyPy5yZW5kZXJlcj8udmlkZW9BZFRyYWNraW5nUmVuZGVyZXIpcmV0dXJuIG47cmV0dXJuIG51bGx9Owpsaj1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5zb3VyY2VDb25maWdzO249bi5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5jb21wb3NpdGVWaWRlb0NvbmZpZz8uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ7aWYoIVd8fCFXLmxlbmd0aClyZXR1cm4iIjtufHwobj1XWzBdLnZpZGVvSWR8fCIiKTtmb3IobGV0IEQgb2YgVylpZihELnZpZGVvSWQ9PT1uJiZELmF1ZGlvVHJhY2tzKWZvcihsZXQgYiBvZiBELmF1ZGlvVHJhY2tzKWlmKGIuaXNEZWZhdWx0Rm9yU291cmNlKXJldHVybiBiLmlkfHwiIjtyZXR1cm4iIn07ClhZaD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgIkVNQkVEREVEX1BMQVlFUl9MSVRFX01PREVfRklYRURfUExBWUJBQ0tfTElNSVQiOkQ+MzA/bi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0zMDpEPDMwJiZEPjEwJiYobi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0xMCk7YnJlYWs7Y2FzZSAiRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIjpuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPUQqLjJ9fTsKcWpoPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFchPW51bGw/bnkobi5LLFcpOm4uSz9uLks6bi55US5wcmVmZXJHYXBsZXNzJiZuLnlRLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKR05oPWZ1bmN0aW9uKG4pe3JldHVybiEhbiYmaXNGaW5pdGUobikmJm4+MUU5fTsKQ0w9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCkmJlRmKG4pPyExOmokKG4pJiYoZy5HbChuLnlRKT8hbi5pc0xpdmVQbGF5YmFjazpuLmhsc3ZwKXx8IWZOKCl8fG4uVVQ/ITA6ITF9OwpCaj1mdW5jdGlvbihuKXtuPWcub0Uobik7cmV0dXJuIE51bWJlcihuLmV4cGlyZSl8fDB9OwpGZT1mdW5jdGlvbihuKXt2YXIgVz1uLkcoKTtyZXR1cm4gbi55US5WPT09ImhtInx8bi55US5WPT09ImdkInx8Vy5leHBlcmltZW50cy5adCgpLk4uUVEodFMyKSYmbi55US5YJiZuLnlRLlYhPT0iZ2wiPyEwOiExfTsKSng9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUQuY2hhbm5lbFRodW1ibmFpbDtiJiYoYj1iLnRodW1ibmFpbHMpJiYoYj1iWzBdKSYmKFcucHJvZmlsZV9waWN0dXJlPWIudXJsKTtpZihiPWcudyhnLncoRD8uY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LCR0TSk/LnVybEVuZHBvaW50LGcuUGopKVcuY2hhbm5lbF9wYXRoPWIudXJsO2lmKGI9RC5jb2xsYXBzZWRSZW5kZXJlcilpZihiPWcudyhiLHIxcikpe2xldCB2PWIudGl0bGU7diYmKFcudGl0bGU9Zy5EcCh2KSk7aWYoYj1iLnN1YnRpdGxlKVcuc3VidGl0bGU9Zy5EcChiKX1pZihEPUQuZXhwYW5kZWRSZW5kZXJlcilpZihEPWcudyhELHNzQykpe2lmKGI9RC50aXRsZSlXLmV4cGFuZGVkX3RpdGxlPWcuRHAoYik7aWYoYj1ELnN1YnRpdGxlKVcuZXhwYW5kZWRfc3VidGl0bGU9Zy5EcChiKTtpZihEPUQuc3Vic2NyaWJlQnV0dG9uKW4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI9Zy53KEQsTmgxKSxuLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyJiYKKFcudWNpZD1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLmNoYW5uZWxJZCxXLnN1YnNjcmliZWQ9bi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5zdWJzY3JpYmVkLG4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmbi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uLnRvZ2dsZUJ1dHRvblJlbmRlcmVyJiYoVz1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24udG9nZ2xlQnV0dG9uUmVuZGVyZXIsVy5pc1RvZ2dsZWQ/KG4ubGU9Vy50b2dnbGVkU2VydmljZUVuZHBvaW50fHxudWxsLG4uWTA9Vy5kZWZhdWx0U2VydmljZUVuZHBvaW50fHxudWxsKToobi5sZT1XLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnR8fG51bGwsbi5ZMD1XLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnR8fG51bGwpKSl9fTsKdzY9ZnVuY3Rpb24obil7cmV0dXJuISFuLkR4fHwhIW4uTmZ8fCEhbi5Gcnx8ISFuLlRJfHxuLmZafTsKUDA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47aWYoKG4mMTA3KT09bil7dmFyIGg9YltJWzVdXTtEW0lba144MTgzXV0oZnVuY3Rpb24ocixOLEgpe3RoaXNbSVtrXjgxNTddXShIW05dPWJbKGJbSVtrXjgxNTNdXShyKS1iW0lba144MTUzXV0odGhpc1tOXSkrTitoLS0pJWJbSVs1XV1dKX0sdltJW2teODE3NV1dKElba144MTU4XSkpfWlmKChuXjcxKT49NiYmKG4tMiYxNik8MylhOnt2YXIgeD1nLncoRCxwWVopfHxEW0lba143NjZdXSxMPXt4aTohMSwKRWw6SVtrXjY3OF0seTc6SVtrXjY3OF0sczpJW2teNjc4XX07aWYoIXgpe3ZhciBlPUw7YnJlYWsgYX14PWcuaXcoeCk7TFtJW2teNzQzXV09ITA7TFtJW2teNjQ0XV09eFtJW2teNjg2XV07TFtJW2teNjY1XV09eFtJW2teNjc5XV07TFtJW2teNjQ4XV09eFtJW2teNjQ4XV07ZT1MfWlmKChuJjEyNik9PW4pYTp7TD1EW0lba143MjcxXV0oSVtrXjcyNTRdKTt4PVsvWy8sLTQsL11bfSxdXFsnLyxJW2teNzE4NF0sLShrXjE4MTg5Njc3MzgpLC0oa14zMzc1NjY4NzMpLGteOTg5NTU4NzU4LG51bGwsVVloLC0oa144MjEyMzQxMTApLGteODc1MzU2NTIyLC0oa145NDM2MTYyODUpLC0oa144MzYxOTg2MDIpLGteMTU5ODMxMjY5MixaODEsa143MDczMDE3OTAsa14xMTcyOTI1ODk4LG51bGwsa140MTk5NDUxMywtKGteMjc3NDM3NjUyKSxrXjE0MzEzMjI2NzcsRTJVLC0oa14xNDYyMzMwNzMxKSx4dlUsbnVsbCxrXjE2MDQ0MTY1LGteNDg4OTU0MTc0LGteODIyNTEwODUxLFlqWixMLEhXdCwKZmFpLG8yaiwtKGteMjAyOTQ4MDMyNyksa14xMjgxODQ0NjYsa142NjMwMjAxNDQsU0ExLC0oa14xMjYwMTUwODE1KSwtKGteMTM4NTgyODA1NiksLShrXjE2NjI1MTc4MzcpLGteMTQ3ODUyMTA0NCwkWWosa14xODcwOTA2Mjg1LGteODIyNTEwODUxLFN1eCwtKGteMTExOTIxMzExNCksLShrXjg3NDEwNjcxMCksa14yMDc2NDU3OTE4LGteMTc0Njc4MTY5NCxJW2teNzI0MF0sb1VqLGteMTM4NDIyNjkxNSxNQ2IsLShrXjE2MjA0NjE3NTYpLGteMTI3MjM0ODc2MCxJW2teNzI5NF0sLShrXjkxMjQ2MDk4MSksa14xODg3MTM4NTY5LEoxWixJW2teNzE3MV0sTCwtKGteMTg5NjQ1NTA0KSwtKGteMTM1NTU3MzkzMSksLShrXjE0MTE5OTc0MjkpLGteMTk0Mzk0NjQxMyxMLElhMixTalUsa14xODcwOTA2Mjg1LElba143MjkwXSxBMTEsa14xMDM5NzI3ODI1LGteOTQxOTgzMTg4LC0oa14xODUwNDM2ODczKSxJW2teNzE2OF0sa14yMTYzOTkwMjEsbXR4LC0oa140NjQ5MjEzOSldO3hbNV09Cng7eFtrXjcyNDRdPXg7eFtrXjcyNTNdPXg7aWYodHlwZW9mIEtHdD09PUlba143Mjc4XSl7ZT1EO2JyZWFrIGF9dHJ5e3RyeXt4W2teNzI1NV09PT0tMyYmKCgoMCx4W2teNzI1NF0pKHhba143MTczXSx4W2teNzI0NF0pLCgoMCx4W2teNzI4MV0pKHhba143MjU2XSwoMCx4W2teNzI5MV0pKCkseFtrXjcyOTBdKSx4W2teNzI4MV0pKHhba143Mjg5XSwoMCx4W2teNzI0N10pKCkseFtrXjcyOTBdKSx4W2teNzI2M10pKHhba143MjUzXSksMSl8fCgoMCx4W2teNzI1NF0pKHhba143MjUxXSx4W2teNzI1Nl0pLHhba143MjYxXSkoeFtrXjcyNzJdLHhba143MjkyXSk+PigoMCx4W2teNzI2M10pKHhba143MjU2XSl8KDAseFtrXjcxNzVdKSh4W2teNzI1Ml0seFs1XSkpfWNhdGNoKHIpeygwLHhba143MjU1XSkoeFtrXjcyODJdKX1maW5hbGx5e3ZhciBHPU0zKGteNzI1NyxrXjIxOTAseCl9dHJ5e0c9WEQoa143MjUzLGteNzgwMCx4KX1jYXRjaChyKXt4W2teNzE3OV0hPS0zJiYoKCgoMCx4W2teCjcyOTJdKSgoMCx4W2teNzI0N10pKHhba143MTc3XSx4W2teNzE3NF0pLHhba143MjgzXSx4W2teNzE2OF0pLCgwLHhba143MTY5XSkoeFs1XSx4W2teNzI0OV0pLHhba143MTgxXSkoeFtrXjcyNDBdLHhba143MjgyXSkseFszXSkoeFtrXjcyNzBdLHhba143MjY5XSkseFtrXjcyNzhdKSgoMCx4W2teNzI3N10pKHhba143MjYxXSx4W2teNzI1MF0pLHhba143MjQ4XSwoMCx4W2teNzI2NF0pKHhba143Mjg3XSx4W2teNzI0NF0pLHhba143MjgzXSx4W2teNzI3MV0pLHhba143MjYwXSE9PTAmJih4W2teNzE2OF08PS0zPygwLHhba143MjY0XSkoeFtrXjcyNjldLHhba143MTc3XSk6KDAseFtrXjcxNjldKSh4W2teNzI2OF0sKDAseFtrXjcyNThdKSgpLHhbNF0pKX1maW5hbGx5e3hba143MTczXSE9PTQmJih4W2teNzI0N108PS00PygwLHhba143Mjg5XSkoKCgwLHhba143Mjc5XSkoeFtrXjcxODNdLHhba143MjQ0XSkseFtrXjcyNjhdKSh4W2teNzE4M10seFtrXjcyNDVdKSx4W2teNzI0OV0sCigwLHhba143MjQzXSkoKDAseFtrXjcyNDhdKSh4W2teNzI1N10seFtrXjcyODJdKSx4W2teNzI2OF0seFtrXjcyNDJdLHhba143MTcyXSksKCgoKCgoMCx4W2teNzI5NF0pKHhba143MjgxXSx4W2teNzI0MF0pLHhba143Mjc1XSkoeFtrXjcxODddLHhba143MjYzXSkseFtrXjcyNTVdKSh4W2teNzE3N10sKDAseFtrXjcyNDJdKSgpLHhba143MjU2XSkseFtrXjcyNDldKSh4W2teNzI2Nl0seFtrXjcyOTNdKSx4W2teNzE3NV0pKCgwLHhba143MTgwXSkoeFtrXjcyNDhdLHhba143MjkzXSkseFtrXjcxNzNdLHhbMV0seFtrXjcyOTNdKSx4W2teNzI0OV0pKHhba143MTY4XSx4W2teNzI2M10pLCgwLHhba143Mjc1XSkoeFtrXjcyODhdLHhba143MjkzXSk8PSgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143Mjc5XSkoKSx4W2teNzI1MF0pLHhba143MTc2XSwoMCx4W2teNzE3Nl0pKHhba143MjUxXSx4W2teNzI2M10pLHhbMF0seFtrXjcxNzddKTooKCgwLHhba143MTgxXSkoKCgwLHhba14KNzE3Nl0pKHhba143MTY5XSx4W2teNzI2M10pLHhba143Mjc1XSkoeFtrXjcyOTFdLHhba143MjYzXSklKDAseFtrXjcxODJdKSh4W2teNzE3Ml0pLHhba143MjU1XSwoMCx4W2teNzE3Nl0pKHhbNF0seFtrXjcxNzJdKSx4W2teNzI5M10sKDAseFtrXjcyNzBdKSgpLHhba143MjU2XSksKDAseFtrXjcxODJdKSh4W2teNzI4MV0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pPT09KCgoMCx4W2teNzI1NV0pKHhba143MTc3XSwoMCx4W2teNzI1N10pKCkseFtrXjcyNTBdKSx4W2teNzI3NV0pKHhba143MjU5XSx4W2teNzE3MV0pLCgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143Mjc5XSkoKSx4W2teNzI1Nl0pXigwLHhba143Mjc1XSkoeFtrXjcyNzZdLHhba143MTcyXSksKDAseFtrXjcxNzVdKSgoMCx4W2teNzE3M10pKHhba143Mjc0XSx4W2teNzE3Ml0pLAp4W2teNzI1NV0seFtrXjcyOTNdLCgwLHhba143MjcwXSkoKSx4W2teNzI1MF0pLHhba143MTc2XSkoeFtrXjcyOTRdLHhba143MjYzXSkpfX1jYXRjaChyKXtlPUlba143MjgwXStEO2JyZWFrIGF9ZT1MW0lba143MjQ2XV0oSVtrXjcyNTRdKX0obl45MSk8MTYmJm4rMT4+Mz49MiYmKGVYKGteNjY0MixrXjE0ODksRCksZT1nLkRsKERbSVsxXV0sT1d0KSk7bis5Pj40Pj0zJiYobj4+MiYyNCk8MTImJmJbSVsyMl1dKEQpO3JldHVybiBlfTsKTXM9ZnVuY3Rpb24obil7cmV0dXJuISEobi5XJiZuLlcudmlkZW9JbmZvcyYmbi5XLnZpZGVvSW5mb3MubGVuZ3RoKX07CkFKPWZ1bmN0aW9uKG4pe3JldHVybiBuLk5QKCkmJm4uRygpLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKUlE9ZnVuY3Rpb24obil7dmFyIFc9WyJNVVNJQ19WSURFT19UWVBFX0FUViIsIk1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIl0sRD1sbyhuLnlRKT09PSJUVkhUTUw1X1NJTVBMWSImJm4ueVEuTi5jdGhlbWU9PT0iTVVTSUMiOyFuLkpnJiYoZy5NVihuLnlRKXx8dHUobi55USl8fEQpJiYoVy5pbmNsdWRlcyhuLm11c2ljVmlkZW9UeXBlKXx8bi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0KSYmKG4uSmc9ITApO2lmKFc9Zy5kOCgpKVc9L1N0YXJib2FyZFwvKFswLTldKykvLmV4ZWMoZy5YUSgpKSxXPShXP3BhcnNlSW50KFdbMV0sMTApOk5hTik8MTA7RD1odShuLnlRKSYmbi55US5OLmN0aGVtZT09PSJNVVNJQyI7dmFyIGI7aWYoYj0hbi5KZylEfHwoRD1uLnlRLEQ9bG8oRCk9PT0iVFZIVE1MNSImJkQuTi5jdmVyLnN0YXJ0c1dpdGgoIjciKSksYj1EO2ImJiFXJiYoVz1uLm11c2ljVmlkZW9UeXBlPT09Ik1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIiwKRD0obi5TKCJjYXN0X3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKXx8bi5TKCJrYWJ1a2lfcGFuZ2VhX3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKSkmJm4ubXVzaWNWaWRlb1R5cGU9PT0iTVVTSUNfVklERU9fVFlQRV9BVFYiLFd8fER8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCkmJihuLkpnPSEwKTtyZXR1cm4gbi55US5kZXZpY2VJc0F1ZGlvT25seXx8bi5KZyYmbi55US5LfTsKUXo9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuUygiaHRtbDVfZGlzYWJsZV9hdjEiKT8hMDohMX07Ck5JPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5jb21wb3NpdGVCcm9hZGNhc3RUeXBlPT09IkNPTVBPU0lURV9CUk9BRENBU1RfVFlQRV9DT01QUkVTU0VEX0RPTUFJTl9DT01QT1NJVEUifTsKVno9ZnVuY3Rpb24obil7dmFyIFc9bi5LO24uUygiaHRtbDVfZ2FwbGVzc191bmxpbWl0X2Zvcm1hdF9zZWxlY3Rpb24iKSYmQUoobikmJihXPSExKTt2YXIgRD0hIW4uTiYmbi5OLnpXO1c9VThaKG4ueVEse21WOm4ubVYoKSx5WDpELE93OlJRKG4pLEhpOm4uSGksbFU6Vyxpc090ZjpuLmlzT3RmKCksb0w6bi5vTCgpLElSOm4uSVIseGQ6bi5nZXRVc2VyQXVkaW81MVByZWZlcmVuY2UoKSxkaXNhYmxlQXYxOlF6KG4pLGRCOk5JKG4pfSk7Zy5ZTihuKSYmKFcudlg9ITApO3pRKCkmJm4ucGxheWVyUmVzcG9uc2UmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnJiZuLnBsYXllclJlc3BvbnNlLnBsYXllckNvbmZpZy53ZWJQbGF5ZXJDb25maWcmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnLndlYlBsYXllckNvbmZpZy51c2VDb2JhbHRUdm9zRG9nZm9vZEZlYXR1cmVzJiYoVy5qPSEwLFcuVj0hMCk7bi5LJiZuLmlzQWQoKSYmKG4uWXImJihXLk89bi5Zciksbi5TViYmCihXLlg9bi5TVikpO24uTlAoKSYmKFcuUyQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzIikpO1cubnU9bi5pc0xpdmVQbGF5YmFjayYmbi5NaSgpJiZuLnlRLlMoImh0bWw1X2RybV9saXZlX2F1ZGlvXzUxIik7Vy5iZD1uLkVUO24uUygiaHRtbDVfZGlzYWJsZV92cDlfaGRyX2ZhaXJwbGF5IikmJnpRKCkmJihXLmJkPSEwKTtXLlJhPSFnLllOKG4pO1cuVEM9IWcuWU4obikmJm4ueVEuZXhwZXJpbWVudHMuWnQoKS5OLlFRKFByaSk7cmV0dXJuIG4uZSQ9V307ClV0TT1mdW5jdGlvbihuKXtnLmFMKCJkcm1fcGJfcyIsdm9pZCAwLG4uelIpO24uQ2l8fG4uTiYmbi5OLlgoKTt2YXIgVz17fTtuLk4mJihXPU5kKG4ueXcsVnoobiksbi55US5XLG4uTixEPT5uLldKKCJjdG1wIiwiZm10Zmx0IixEKSwhMCxuZXcgU2V0KSk7Clc9bmV3IFpXUyhXLG4ueVEsbi5KaixuLnVzZUNvYmFsdFdpZGV2aW5lP3pRKCk/VGYobik6ITE6ITEsKEQsYik9PntuLlUoRCxiKX0pOwpnLnUobixXKTtuLlEkPSExO24ubG9hZGluZz0hMDtkOGkoVyxEPT57Zy5hTCgiZHJtX3BiX2YiLHZvaWQgMCxuLnpSKTtmb3IodmFyIGIgb2YgRClzd2l0Y2goYi5mbGF2b3Ipe2Nhc2UgImZhaXJwbGF5IjpiLkNpPW4uQ2k7Yi5WOT1uLlY5O2Iuamk9bi5qaTticmVhaztjYXNlICJ3aWRldmluZSI6Yi5GYz1uLkZjfW4uVFE9RDtpZihuLlRRLmxlbmd0aD4wJiYobi5qPW4uVFFbMF0sbi55US5XWCgpKSl7RD17fTtmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMobi5qLkopKXtiPWs7bGV0IGg9InVuayIseD12Lm1hdGNoKC8oLiopY29kZWNzPSIoLiopIi8pO3gmJihoPXhbMl0pO0RbaF09Yn1uLlUoImRybVByb2JlIixEKX1mTChuKX0pfTsKY2o9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz0hIW4uY290bilXPW4udmlkZW9JZCxXPSEhVyYmZSQoVyk9PT0xO3JldHVybiBXJiYhbi5XaX07CnkxaD1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5zdHJlYW1pbmdEYXRhPy5hZGFwdGl2ZUZvcm1hdHN8fFtdLEQ9bnVsbDtpZihXLmxlbmd0aD4wKUQ9YVEobixXKTtlbHNlIGlmKCFuLlMoImh0bWw1X2RlcHJlY2F0ZV9hZGFwdGl2ZV9mb3JtYXRzX3N0cmluZyIpKXtuLlUoInBhZm10c3RyIix7czpuLmFkYXB0aXZlRm9ybWF0cy5zdWJzdHJpbmcoMCw1MCl9KTtpZigoVz1uLmFkYXB0aXZlRm9ybWF0cykmJiFqJChuKSl7bi55US5XLkomJihSbz0hMCk7Vz1uQShXKTtEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9czVVKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaD8uZXhwZXJpbWVudHMsITApO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLlc9IWs7Yi5pc0xpdmU9IWs7Yi5YZz1rO2ZvcihHIG9mIFcpe3Y9SW8oRywKRCwwLGgseCk7TD1SeChHLnVybCxHLnNwLEcucyk7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aD8uZXhwZXJpbWVudHM/LkVxKCJodG1sNV9tYXhfa25vd25fZW5kX3RpbWVfcmViYXNlIik7bGV0IHI9TnVtYmVyKEcudGFyZ2V0X2R1cmF0aW9uX3NlYyl8fDUsTj1OdW1iZXIoRy5tYXhfZHZyX2R1cmF0aW9uX3NlYyl8fDE0NDAwLEg9TnVtYmVyKEwuZ2V0KCJtaW5kc3EiKXx8TC5nZXQoIm1pbl9zcSIpfHwiMCIpLEE9TnVtYmVyKEwuZ2V0KCJtYXhkc3EiKXx8TC5nZXQoIm1heF9zcSIpfHwiMCIpfHxJbmZpbml0eTtiLkl0PWIuSXR8fEg7Yi5IUD1iLkhQfHxBO2xldCB5PSF2Lk4oKTtMJiYkZyhiLG5ldyBXVChMLHYse3JiOnIsT1Q6eSx1YjpOLEl0OkgsSFA6QSx1azozMDAsWGc6ayxFMzplfSkpfXZhciBHPWJ9ZWxzZSBHPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/TnBqKFcsRCxiLGgseCk6cEpiKFcsRCxiLGgseCk7Vy5sZW5ndGg+CjAmJihXPVdbMF0sRmUobikmJlcudXJsJiYobi5SYT1uLlJhfHxCaihXLnVybCkpKTtXPW4uaXNMaXZlUGxheWJhY2smJiFuLlhnJiYhbi5SSSYmIW4uaXNQcmVtaWVyZTtuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiYoIWcuRFAobikmJlcmJm4uVSgibWlzc2luZ0xpdmVIZWFkUGxheWFibGUiLHt9KSxuLnlRLlY9PT0ieXQiJiYoRy5WUT0hMCkpO0Q9R31lbHNlIEQ9bnVsbDtuLlUoInBhZm10cyIse2lzTWFuaWZlc3RGaWxsZWQ6ISFEfSl9aWYoIUQpcmV0dXJuITE7YkYobixEKTtyZXR1cm4hMH07Ckk0PWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uTnx8IW4uTi5pc01hbmlmZXN0bGVzcyl9OwpnLkRQPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiZJNChuKSYmbi55US5WPT09Inl0Ij9uLmlzTGl2ZUhlYWRQbGF5YWJsZTpuLmlzTGl2ZVBsYXliYWNrfTsKYVE9ZnVuY3Rpb24obixXKXtpZihXLmxlbmd0aD09PTB8fGokKG4pKXJldHVybiBudWxsO24ueVEuVy5KJiYoUm89ITApO3ZhciBEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9cXVqKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaC5leHBlcmltZW50cywhMCk7Yi5XPSFrO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLmlzTGl2ZT0haztiLlhnPWs7Zm9yKGxldCBHIG9mIFcpe3Y9dFooRyxELDAsaCx4KTtsZXQge0VsOnIsczpOLHk3Okh9PVAwKDUsNjk0LEcpO0w9Ungocnx8Ry51cmx8fCIiLEgsTik7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aC5leHBlcmltZW50cz8uRXEoImh0bWw1X21heF9rbm93bl9lbmRfdGltZV9yZWJhc2UiKTtsZXQgQT1OdW1iZXIoRy50YXJnZXREdXJhdGlvblNlY3x8CjUpLHk9TnVtYmVyKEcubWF4RHZyRHVyYXRpb25TZWN8fDE0NDAwKSxUPU51bWJlcihMLmdldCgibWluZHNxIil8fEwuZ2V0KCJtaW5fc3EiKXx8IjAiKSx6PU51bWJlcihMLmdldCgibWF4ZHNxIil8fEwuZ2V0KCJtYXhfc3EiKXx8IjAiKXx8SW5maW5pdHk7Yi5JdD1iLkl0fHxUO2IuSFA9Yi5IUHx8ejtsZXQgQz0hdi5OKCk7TCYmJGcoYixuZXcgV1QoTCx2LHtyYjpBLE9UOkMsdWI6eSxJdDpULEhQOnosdWs6MzAwLFhnOmssRTM6ZX0pKX1EPWJ9ZWxzZSBEPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/RzNDKFcsRCxiLGgseCk6dE9aKFcsRCxiLGgseCk7Vy5sZW5ndGg+MCYmKFc9V1swXSxGZShuKSYmVy51cmwmJihuLlJhPW4uUmF8fEJqKFcudXJsKSkpO1c9bi5pc0xpdmVQbGF5YmFjayYmIW4uWGcmJiFuLlJJJiYhbi5pc1ByZW1pZXJlO24uUygiaHRtbDVfbGl2ZV9oZWFkX3BsYXlhYmxlIikmJighZy5EUChuKSYmVyYmbi5VKCJtaXNzaW5nTGl2ZUhlYWRQbGF5YWJsZSIsCnt9KSxuLnlRLlY9PT0ieXQiJiYoRC5WUT0hMCkpO3JldHVybiBEfTsKbkE9ZnVuY3Rpb24obixXKXtuPXV3KG4pO3ZhciBEPXt9O2lmKFcpZm9yKHZhciBiIG9mIFcuc3BsaXQoIiwiKSkoVz1iLm1hdGNoKC9eKFswLTldKylcLyhbMC05XSspeChbMC05XSspKFwvfCQpLykpJiYoRFtXWzFdXT17d2lkdGg6V1syXSxoZWlnaHQ6V1szXX0pO2ZvcihsZXQgdiBvZiBuKWlmKGI9RFt2Lml0YWddKXYud2lkdGg9Yi53aWR0aCx2LmhlaWdodD1iLmhlaWdodDtyZXR1cm4gbn07CmJGPWZ1bmN0aW9uKG4sVyxEPSExKXtuLmVWPXZvaWQgMDtuLk49VztnLnUobixXKTtXLkl0PW4uSXQ7Vy5IUD1uLkhQO1cuSlU9bi5KVTtXLm9SPW4ub1I7Vy5JVD1uLklUO24ubEMmJihXLlk9bmV3IHZUKG4ubEMpKTsobi5tVigpfHxnLmtwKG4pKSYmbi5JSi5wdXNoKCJ3ZWJnbCIpO24uTi5pc0xpdmV8fChuLmlzTGl2ZVBsYXliYWNrPSExKTt2YXIgYj1XLnNvdXJjZVVybC5zcGxpdCgiLyIpO2lmKG4uVlE/Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT09LTE6Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT0tMSluLnptPU51bWJlcihiW2IuaW5kZXhPZigibWFuaWZlc3RfZHVyYXRpb24iKSsxXSk7aWYoVy5XfHxXLmlzTWFuaWZlc3RsZXNzKVcuc3Vic2NyaWJlKCJjbGllbnR0ZW1wIixuLlUsbiksRD9XLnN1YnNjcmliZSgicmVmcmVzaCIsbi5QSCxuKTpXLnN1YnNjcmliZSgiY3VlcG9pbnRzYWRkZWQiLG4uRVosbik7Vy5YKCk/bi5RJD0hMDpHTD12b2lkIDA7Cm4uUkkmJihXLmlzV2luZG93ZWRMaXZlPW4uUkksVy5pc0xpdmU9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk7Vy5pc1ByZW1pZXJlPW4uaXNQcmVtaWVyZTtXLmlzTGl2ZUhlYWRQbGF5YWJsZT1uLmlzTGl2ZUhlYWRQbGF5YWJsZX07ClRmPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X3R2b3Nfc2tpcF9kYXNoX2F1ZGlvX2NoZWNrIil8fE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicpfTsKaiQ9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCk/IVRmKG4pOkMkKCk/bi5DaSYmbi5jTz8hMDohKCFuLkNpfHwhbi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJmZOKCkpOiExfTsKU3g9ZnVuY3Rpb24obil7cmV0dXJuIG4ubGF0ZW5jeUNsYXNzPT09IkxPVyJ8fG4ubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIn07CmhEPWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRP1N4KG4pJiZuLk4hPW51bGwmJm9vKG4uTik+PTU6U3gobikmJm4uTiE9dm9pZCAwJiZvbyhuLk4pPj01fTsKRXFoPWZ1bmN0aW9uKG4pe24ubG9hZGluZz0hMDtuLkN1PSExO2lmKGNqKG4pKUIkeChuLnZpZGVvSWQpLnRoZW4oYj0+e2lmKG4ucGxheWVyUmVzcG9uc2U/LnN0cmVhbWluZ0RhdGEpe3ZhciB2PVtdO2ZvcihsZXQgayBvZiBiKWI9T2JqZWN0LmFzc2lnbih7fSxrKSxiLnNpZ25hdHVyZUNpcGhlcj0iIix2LnB1c2goYik7di5sZW5ndGg8MiYmbi5VKCJvZmZtbGYiLHtsZW46di5sZW5ndGh9KTt2PWFRKG4sdik7UlEobikmJnp4KHYsITEpO2JGKG4sdik7bi5VKCJkbHIiLHt9KX1lbHNlIG4uVSgib2Zmc2RtIix7Y290bjpuLkNtP24uQ20uY290bjoiMCIsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pfSkudGhlbigoKT0+e2ZMKG4pfSk7CmVsc2V7Z1gobi5UZil8fGcuR3EobmV3IGcuUXgoIkRBU0ggTVBEIE9yaWdpbiBpbnZhbGlkOiAiLG4uVGYpKTt2YXIgVz1uLlRmLEQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJkYXNoX21hbmlmZXN0X3ZlcnNpb24iKXx8NDtXPWcuRVQoVyx7bXBkX3ZlcnNpb246RH0pO1N4KG4pJiZuLmxhdGVuY3lDbGFzcyE9PSJOT1JNQUwifHwoVz1nLkVUKFcse3BhY2luZzowfSkpO2Z0WihXLG4ueVEuZXhwZXJpbWVudHMsbi5pc0xpdmVQbGF5YmFjaykudGhlbihiPT57bi5xTigpfHwoYkYobixiLCEwKSxnLmFMKCJtcmMiLHZvaWQgMCxuLnpSKSxmTChuKSl9LGI9PntuLnFOKCl8fChuLmxvYWRpbmc9ITEsbi5XSigiZGF0YWxvYWRlcnJvciIsbmV3IGcuQ2koIm1hbmlmZXN0Lm5ldC5yZXRyeWV4aGF1c3RlZCIse2JhY2tlbmQ6Im1hbmlmZXN0IiwKcmM6Yi5zdGF0dXN9LDEpKSl9KTsKZy5hTCgibXJzIix2b2lkIDAsbi56Uil9fTsKeHA9ZnVuY3Rpb24obil7aWYoIW4uaXNQcm94aW1hTGF0ZW5jeUVsaWdpYmxlKXJldHVybiAwO3ZhciBXPVlkKCk7cmV0dXJuIG4ueVEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmFibGVQcm94aW1hTG93TGF0ZW5jeT8yOlc9PT0xPzE6bi5TKCJodG1sNV9lbmFibGVfcHJveGltYSIpPzI6MH07Ckt6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUyhXKT8hMDoobi5mZmxhZ3N8fCIiKS5pbmNsdWRlcyhXKyI9dHJ1ZSIpfTsKaVdTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8Q0wobil8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdDtpZighbi5OfHxEKXJldHVybiBuLlUoInNraXBEYXNoIix7ZG06ISFuLk4sYWlyOlcsZGQ6bi5VVCxtc3M6Zk4oKSwiM3BwIjpuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3R9KSxnLnAkKCk7UlEobikmJnp4KG4uTixuLmlzTGl2ZVBsYXliYWNrKTtyZXR1cm4gZy5IMCgpLnRoZW4oKCk9PlMyYihuLnl3LFZ6KG4pLG4ueVEuVyxuLk4sbi5qLGI9Pm4uV0ooImN0bXAiLCJmbXRmbHQiLGIpLG4ub00sTEEobikpLnRoZW4oYj0+e2U3KG4sYik7Cm4ueXcuSj1udWxsOy9eYXYvLnRlc3Qobi5jbGllbnRQbGF5YmFja05vbmNlKSYmbi5lJCYmbi5VKCJhdjEiLG4uZSQuTil9KSl9Owp1bXQ9ZnVuY3Rpb24obixXKXtpZihXJiZuLmhsc3ZwKXJldHVybiBnLnAkKCk7aWYobi5obHNGb3JtYXRzKXtpZihXPW5BKG4uaGxzRm9ybWF0cykpe2xldCBiPVtdO2Zvcih2YXIgRCBvZiBXKUQudXJsJiYoRC51cmw9Vm10KEQudXJsKSksbi5lJD8uVyYmYi5wdXNoKEQuaXRhZyk7bi5lJD8uVyYmYi5sZW5ndGg+MCYmbi5VKCJobHNmbXQiLHtpdGFnczpiLmpvaW4oIi4iKX0pfW4ueUU9Z1laKG4ueVEsVyk7bi55RSYmZ2wobixuLnlFKTtEPW4uY2xpZW50UGxheWJhY2tOb25jZTtyZXR1cm4gdG1NKG4ueVEsbi5pc0FkKCksVyxuLnBsYXllclJlc3BvbnNlPy5jYXB0aW9ucz8ucGxheWVyQ2FwdGlvbnNSZW5kZXJlcj8uYmFzZVVybD8/bnVsbCxuLkdmLEQsYj0+bi5XSigiY3RtcCIsImhsc2ZsdCIsYikpLnRoZW4oYj0+e3ZhciB2PTAsaz1bXTsKZm9yKGxldCBoIG9mIGIpay5wdXNoKGgua0woKT8uaXRhZyksaC5rTCgpPy5ZKCk/Lm51bUNoYW5uZWxzPnYmJih2PWgua0woKS5hdWRpby5udW1DaGFubmVscyk7dj4yJiZuLlUoImhsc2NobCIse21uOnZ9KTtuLmUkPy5XJiZuLlUoImhsc2ZtdGFmIix7aXRhZ3M6ay5qb2luKCIuIil9KTtpZihuLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5qPy5OKCkpe24uVSgiZHJtIix7c2JkbGZiazoxfSk7Zm9yKGxldCBoIG9mIG4uVFEpaWYoZzEoaCkpe24uaj1oO2JyZWFrfX1YMihuLGIpfSl9cmV0dXJuIGcucCQoKX07Cm9xMT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QmJm4uY2Ype2xldCBXPW5BKG4uY2YpO2lmKCFXWzBdKXJldHVybiBnLnAkKCk7bi5xdz1XWzBdO3JldHVybiBzaXIobi55USxXWzBdKS50aGVuKEQ9PntYMihuLEQpfSl9cmV0dXJuIG4uUXImJm4ub2M/cnFaKG4ueVEsbi5pc0FkKCksbi5RcikudGhlbihXPT57WDIobixXKX0pOmcucCQoKX07CnprVT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QpcmV0dXJuIGcucCQoKTt2YXIgVz1uQShuLmNmLG4uR2opO2lmKG4uaGxzdnApe2xldCBEPVFpMihuLmhsc3ZwLG4uY2xpZW50UGxheWJhY2tOb25jZSxuLkdmKTtXLnB1c2goRCl9cmV0dXJuIGpDaChuLnlRLG4uaXNBZCgpLFcsZHQxKG4pKS50aGVuKEQ9PntYMihuLEQpfSl9OwpMQT1mdW5jdGlvbihuKXt2YXIgVz1uLlMoImh0bWw1X2VuYWJsZV9zZXJ2ZXJfZm9ybWF0X2ZpbHRlciIpJiYhbi5NaSgpLEQ9bi5TKCJodG1sNV9lbmFibGVfc2VydmVyX2Zvcm1hdF9maWx0ZXJfZm9yX2RybSIpJiZuLk1pKCk7cmV0dXJuIGcuWU4obikmJihXfHxEKX07CmU3PWZ1bmN0aW9uKG4sVyl7bi5XPVc7Z2wobixuLlcuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKSk7aWYobi5XKWZvcih2YXIgRCBvZiBuLlcudmlkZW9JbmZvcylXPUQuY29udGFpbmVyVHlwZSxXIT09MCYmKG4uYkJbV109RC5pZCk7RD1uLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7RD1ELmNvbmNhdChuLnZYKTtmb3IoVz0wO1c8bi5Udy5sZW5ndGg7VysrKXtsZXQgdj1uLlR3W1ddO2ZvcihsZXQgaz0wO2s8RC5sZW5ndGg7aysrKXtsZXQgaD1EW2tdO3ZhciBiPWgua1ouaWQ9PT12LmF1ZGlvVHJhY2tJZDtpZihoLmtaLmlzRGVmYXVsdCYmVz09PW4uTyR8fGIpe2lmKHYuY2FwdGlvblRyYWNrSW5kaWNlcylmb3IoYj0wO2I8di5jYXB0aW9uVHJhY2tJbmRpY2VzLmxlbmd0aDtiKyspaC5jYXB0aW9uVHJhY2tzW2JdPW4uY2FwdGlvblRyYWNrc1t2LmNhcHRpb25UcmFja0luZGljZXNbYl1dO3YuZGVmYXVsdENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5XPW4uY2FwdGlvblRyYWNrc1t2LmRlZmF1bHRDYXB0aW9uVHJhY2tJbmRleF0pOwp2LmZvcmNlZENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5OPW4uY2FwdGlvblRyYWNrc1t2LmZvcmNlZENhcHRpb25UcmFja0luZGV4XSk7aC5KPXYudmlzaWJpbGl0eXx8IlVOS05PV04iO2guY2FwdGlvbnNJbml0aWFsU3RhdGU9di5jYXB0aW9uc0luaXRpYWxTdGF0ZXx8IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiJ9fX1pZihuLmomJm4uVyYmbi5XLnZpZGVvSW5mb3MmJiEobi5XLnZpZGVvSW5mb3MubGVuZ3RoPD0wKSYmKEQ9bi5XLnZpZGVvSW5mb3NbMF0uVygpLG4uai5mbGF2b3I9PT0iZmFpcnBsYXkiIT09RCkpZm9yKGxldCB2IG9mIG4uVFEpaWYoRD09PSh2LmZsYXZvcj09PSJmYWlycGxheSIpKXtuLmo9djticmVha319OwpnbD1mdW5jdGlvbihuLFcpe1cuc29ydCgoRCxiKT0+RC50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUoYi50b1N0cmluZygpLG4ueVEuaG9zdExhbmd1YWdlKSl9OwpYMj1mdW5jdGlvbihuLFcpe24ubnU9VztlNyhuLG5ldyBwZyhnLmlfKG4ubnUsRD0+RC5rTCgpKSkpfTsKZHQxPWZ1bmN0aW9uKG4pe3ZhciBXPXtjcG46bi5jbGllbnRQbGF5YmFja05vbmNlLGM6bi55US5OLmMsY3ZlcjpuLnlRLk4uY3Zlcn07bi54eiYmKFcucHRrPW4ueHosVy5vaWQ9bi5YbyxXLnB0Y2huPW4uaDEsVy5wbHR5cGU9bi5xOCxuLnk5JiYoVy5tPW4ueTkpKTtyZXR1cm4gV307CmcucXU9ZnVuY3Rpb24obil7cmV0dXJuIGokKG4pJiZuLkNpP3tmYWlycGxheToiaHR0cHM6Ly95b3V0dWJlLmNvbS9hcGkvZHJtL2Zwcz9laz11bmluaXRpYWxpemVkIn06bi5KJiZuLkouY29udGVudFByb3RlY3Rpb258fG51bGx9OwpHZT1mdW5jdGlvbihuKXtyZXR1cm4gbi5wbGF5ZXJSZXNwb25zZSYmbi5wbGF5ZXJSZXNwb25zZS5wYWlkQ29udGVudE92ZXJsYXkmJm4ucGxheWVyUmVzcG9uc2UucGFpZENvbnRlbnRPdmVybGF5LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfHxnLncobi53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8ucGxheWVyRGlzY2xvc3VyZSxsYVMpfHxudWxsfTsKdEQ9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcudGV4dD9nLkRwKFcudGV4dCk6bi5wYWlkQ29udGVudE92ZXJsYXlUZXh0fTsKJHA9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcuZHVyYXRpb25Ncz9nLk5oKFcuZHVyYXRpb25Ncyk6bi5wYWlkQ29udGVudE92ZXJsYXlEdXJhdGlvbk1zfTsKcmw9ZnVuY3Rpb24obil7dmFyIFc9IiI7aWYobi51aClyZXR1cm4gbi51aDtuLmlzTGl2ZVBsYXliYWNrJiYoVz1uLmFsbG93TGl2ZUR2cj8iZHZyIjpuLmlzUHJlbWllcmU/ImxwIjpuLlJJPyJ3aW5kb3ciOiJsaXZlIik7bi5YZyYmKFc9InBvc3QiKTtyZXR1cm4gV307Cmcuc1M9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIG4ua2V5d29yZHNbV10hPT0ic3RyaW5nIj9udWxsOm4ua2V5d29yZHNbV119OwpnLllMPWZ1bmN0aW9uKG4pe3JldHVybiEhKG4uVGZ8fG4uY2Z8fG4uUXJ8fG4uaGxzdnB8fG4uSXAoKSl9OwpBeD1mdW5jdGlvbihuKXtyZXR1cm4obj1uLlJ0KSYmbi5zaG93RXJyb3I/bi5zaG93RXJyb3I6ITF9OwpOdT1mdW5jdGlvbihuKXtuLm11dGVkQXV0b3BsYXk9ITE7bi5lbmRTZWNvbmRzPU5hTjtuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPU5hTjt6ZihuKX07CmcucEE9ZnVuY3Rpb24obil7cmV0dXJuIGcuRFAobikmJiFuLmFsbG93TGl2ZUR2cn07CllwPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRQKG4pJiZuLmFsbG93TGl2ZUR2cn07CmcuSFQ9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJks2KG4uTil9OwpnLmZBPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZPayhuLk4pfTsKZy5rcD1mdW5jdGlvbihuKXtyZXR1cm4hIW4uTiYmSiRVKG4uTil9OwpnLkpEPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZQRihuLk4pfTsKSVQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uYWRGb3JtYXQmJihuLlZRP24uYWRGb3JtYXQhPT0iMV81IjpuLmFkRm9ybWF0IT0iMV81Iik/ImFkdW5pdCI6bi5ldmVudExhYmVsfHxuLnlRLll9OwpnLlM3PWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJzaG9ydHNwYWdlIn07CkFEPWZ1bmN0aW9uKG4pe3JldHVybiBuLkd1fHxJVChuKT09PSJkZXRhaWxwYWdlInx8SVQobik9PT0ic2hvcnRzcGFnZSJ8fG4ubXV0ZWRBdXRvcGxheX07CmlUPWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJhZHVuaXQiP24uVlQ6QUQobik/SVQobik9PT0iZGV0YWlscGFnZSJ8fElUKG4pPT09InNob3J0c3BhZ2UiP24uaXNBdXRvbmF2fHxuLlMkPjA6bi5mQj8hMTpuLnlRLlU1fHxuLnlRLk1kfHwhZy5vNChuLnlRKT8hMDohMToobi5mQj8wOm4uUFgpJiZnLm80KG4ueVEpPyEwOiExfTsKZy5tTz1mdW5jdGlvbihuKXtyZXR1cm4gbi56VygpJiZnLllOKG4pfTsKcHo9ZnVuY3Rpb24obil7cmV0dXJuISFuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/Lm1lZGlhQ29tbW9uQ29uZmlnPy5zcGxpdFNjcmVlbkVsaWdpYmxlfTsKS0E9ZnVuY3Rpb24obil7cmV0dXJuIGlzTmFOKG4pPzA6TWF0aC5tYXgoKERhdGUubm93KCktbikvMUUzLTMwLDApfTsKT1M9ZnVuY3Rpb24obil7cmV0dXJuISghbi5XaXx8IW4ueVEuSykmJm4uSXAoKX07ClBUPWZ1bmN0aW9uKG4pe3JldHVybiBuLktkJiZuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpfTsKVGhpPWZ1bmN0aW9uKG4pe3JldHVybiBuLkRFJiYhbi5sQ307CmNxeD1mdW5jdGlvbihuKXtzd2l0Y2gobi55US5WKXtjYXNlICJnZCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fZHJpdmUiKTtjYXNlICJncCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fcGxheV9zdG9yZSIpO2Nhc2UgImRkIjpyZXR1cm4hMDtjYXNlICJwdyI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpO2RlZmF1bHQ6cmV0dXJuITF9fTsKcEw9ZnVuY3Rpb24obil7dmFyIFc7aWYoIShXPU5zJiZuLnpXKCkmJm4uTWkoKSYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCkmJm4uUygiaHRtbDVfc2Ficl9saXZlX2RybV9zdHJlYW1pbmdfeGhyIikpKXtXPW4uelcoKSYmIW4uTWkoKSYmTnM7dmFyIEQ9bi56VygpJiZuLmxhdGVuY3lDbGFzcyE9PSJVTFRSQUxPVyImJiFTeChuKSYmbi5TKCJodG1sNV9zYWJyX2xpdmVfbm9ybWFsX2xhdGVuY3lfc3RyZWFtaW5nX3hociIpLGI9U3gobikmJm4uUygiaHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtsZXQgdj1uLmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyImJm4uUygiaHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtXPVcmJihEfHxifHx2KX1EPVc7Vz1uLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZEJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3NzZGFpX3N0cmVhbWluZ194aHIiKTtEPSFuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYKRDtiPW4uelcoKSYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX2xpdmVfbm9uX3N0cmVhbWluZ194aHIiKTtuPU5zJiYobi5ERigpfHxweihuKSYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl9mb3JfbGlmYV9lbGlnaWJsZV9zdHJlYW1zIikpO3JldHVybiBXfHxEfHxifHxufTsKZy5tTT1mdW5jdGlvbihuKXtpZighbi5OfHwhbi5KfHwhbi5YKXJldHVybiExO3ZhciBXPW4uTi5OLEQ9ISFXW24uSi5pZF0mJmdaKDU2LDExOTYsV1tuLkouaWRdLlhiLk4pO1c9ISFXW24uWC5pZF0mJmdaKDIyLDExNTQsV1tuLlguaWRdLlhiLk4pO3JldHVybihuLkouaXRhZz09PSIwInx8RCkmJld9OwpaUD1mdW5jdGlvbihuKXtyZXR1cm4gbi5lQj9bIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKG4uZUIuc3RhdHVzKTohMH07ClVTPWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uaXNMaXZlUGxheWJhY2t8fCFuLmhhc1Byb2dyZXNzQmFyQm91bmRhcmllcygpKX07CnlVPWZ1bmN0aW9uKG4pe3JldHVybiBuLnlRLmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqc1opJiZuLk5QKCl8fG4uUygiZW5hYmxlX3BsYXllcl9yZXNwb25zZV9jYWNoZV9mb3JfbGl2ZSIpfTsKRVM9ZnVuY3Rpb24obil7cmV0dXJuISFuLmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckZsYWdzPy5lbmFibGVNdXNpY1V4fTsKaUY9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuSiYmbi5pc1ByaXZhdGV9OwpnLm9UPWZ1bmN0aW9uKG4pe3ZhciBXPW4uRygpLEQ9dUYoVyksYj1XLlFyO2cuQ04oVykmJihiJiYoRC50aGlyZFBhcnR5PXsuLi5ELnRoaXJkUGFydHksZW1iZWRVcmw6Yn0pLGcuRW4oRCxuKSk7KGI9bi50dyk/RC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmJ9OmcuQ04obi5HKCkpJiZnLkFyKCJFVkVOVF9JRCIpJiYoRC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmcuQXIoIkVWRU5UX0lEIil9KTtiPUQuY2xpZW50fHx7fTt2YXIgdj0iRU1CRUQiLGs9SVQobik7az09PSJsZWFuYmFjayI/dj0iV0FUQ0giOlcuUygiZ3ZpX2NoYW5uZWxfY2xpZW50X3NjcmVlbiIpJiZrPT09InByb2ZpbGVwYWdlIj92PSJDSEFOTkVMIjpuLklSP3Y9IkxJVkVfTU9OSVRPUiI6az09PSJkZXRhaWxwYWdlIj92PSJXQVRDSF9GVUxMX1NDUkVFTiI6az09PSJhZHVuaXQiP3Y9IkFEVU5JVCI6az09PSJzcG9uc29yc2hpcHNvZmZlciImJih2PSJVTktOT1dOIik7Yi5jbGllbnRTY3JlZW49CnY7aWYodj1uLmtpZHNBcHBJbmZvKWIua2lkc0FwcEluZm89SlNPTi5wYXJzZSh2KTsoaz1uLkFtKSYmIXYmJihiLmtpZHNBcHBJbmZvPXtjb250ZW50U2V0dGluZ3M6e2FnZVVwTW9kZTpDcmJba119fSk7aWYodj1uLnRHKWIudW5wbHVnZ2VkQXBwSW5mbz17ZW5hYmxlRmlsdGVyTW9kZTohMH07KGs9bi51bnBsdWdnZWRGaWx0ZXJNb2RlVHlwZSkmJiF2JiYoYi51bnBsdWdnZWRBcHBJbmZvPXtmaWx0ZXJNb2RlVHlwZTpCaGhba119KTtpZih2PW4uWFkpYi51bnBsdWdnZWRMb2NhdGlvbkluZm89djtELmNsaWVudD1iO2I9RC5yZXF1ZXN0fHx7fTtuLllaJiYoYi5pc1ByZWZldGNoPSEwKTtpZih2PW4ubWR4RW52aXJvbm1lbnQpYi5tZHhFbnZpcm9ubWVudD12O2lmKHY9bi5tZHhDb250cm9sTW9kZSliLm1keENvbnRyb2xNb2RlPUZHeFt2XTtELnJlcXVlc3Q9YjtiPUQudXNlcnx8e307aWYodj1uLkQpYi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnM9W3t0b2tlbjp2LHNjb3BlOiJWSURFTyJ9XTsKaWYodj1uLkhKKWIuZGVsZWdhdGVQdXJjaGFzZXM9e29hdXRoVG9rZW46dn0sYi5raWRzUGFyZW50PXtvYXV0aFRva2VuOnZ9O3Y9Vy5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk/LnVzZXJDb250ZW50UmF0aW5nOyF2JiZXLlMoImVuYWJsZV9icmF6aWxfYWdlX2dhdGluZ193ZWIiKSYmKHY9Zy5vOSgpLmdldCgiYnJfYWdlX3JhdGluZyIpKTt2JiYoYi5zZXJpYWxpemVkVXNlckNvbnRlbnRSYXRpbmc9dik7RC51c2VyPWI7aWYoVz1uLmNvbnRleHRQYXJhbXMpRC5hY3RpdmVQbGF5ZXJzPVt7cGxheWVyQ29udGV4dFBhcmFtczpXfV07aWYobj1uLmNsaWVudFNjcmVlbk5vbmNlKUQuY2xpZW50U2NyZWVuTm9uY2U9bjtyZXR1cm4gRH07CnVGPWZ1bmN0aW9uKG4pe3ZhciBXPWcudmIoKSxEPVcuY2xpZW50fHx7fTtpZihuLmZvcmNlZEV4cGVyaW1lbnRzKXt2YXIgYj1uLmZvcmNlZEV4cGVyaW1lbnRzLnNwbGl0KCIsIik7bGV0IHY9W107Zm9yKGxldCBrIG9mIGIpdi5wdXNoKE51bWJlcihrKSk7RC5leHBlcmltZW50SWRzPXZ9aWYoYj1uLmhvbWVHcm91cEluZm8pRC5ob21lR3JvdXBJbmZvPUpTT04ucGFyc2UoYik7aWYoYj1uLmdldFBsYXllclR5cGUoKSlELnBsYXllclR5cGU9YjtpZihiPW4uTi5jdGhlbWUpRC50aGVtZT1iO2lmKGI9bi5saXZpbmdSb29tQXBwTW9kZSlELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sbGl2aW5nUm9vbUFwcE1vZGU6Yn07Yj1uLmRldmljZVllYXI7bi5TKCJodG1sNV9wcm9wYWdhdGVfZGV2aWNlX3llYXIiKSYmYiYmKEQudHZBcHBJbmZvPXsuLi5ELnR2QXBwSW5mbyxkZXZpY2VZZWFyOmJ9KTtpZihiPW4ubGl2aW5nUm9vbVBvVG9rZW5JZClELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sCmxpdmluZ1Jvb21Qb1Rva2VuSWQ6Yn07Vy5jbGllbnQ9RDtiPVcudXNlcnx8e307bi5lbmFibGVTYWZldHlNb2RlJiYoYj17Li4uYixlbmFibGVTYWZldHlNb2RlOiEwfSk7IUQudHZBcHBJbmZvPy51c2VQYWdlaWRBc0hlYWRlciYmbi5wYWdlSWQmJihiPXsuLi5iLG9uQmVoYWxmT2ZVc2VyOm4ucGFnZUlkfSk7Vy51c2VyPWI7cmV0dXJuIFd9OwpsRj1mdW5jdGlvbihuLFcsRCl7Vz17dmlkZW9JZDpuLnZpZGVvSWQsY29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhuLFcsRCl9fTtuLmdUJiYoVy5wbGF5YmFja0NvbnRleHQucmVsb2FkUGxheWJhY2tDb250ZXh0PXtyZWxvYWRQbGF5YmFja1BhcmFtczpuLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtc30pO24uY29udGVudENoZWNrT2smJihXLmNvbnRlbnRDaGVja09rPSEwKTtpZihEPW4uY2xpZW50UGxheWJhY2tOb25jZSlXLmNwbj1EO2lmKEQ9bi5wbGF5ZXJQYXJhbXMpVy5wYXJhbXM9RDtlbHNlIGlmKEQ9bi5nZXRSZXNvbHZlVXJsUmVzcG9uc2UoKSlpZihEPWRsKEQpKVcucGFyYW1zPUQ7aWYoRD1uLnBsYXlsaXN0SWQpVy5wbGF5bGlzdElkPUQ7bi5yYWN5Q2hlY2tPayYmKFcucmFjeUNoZWNrT2s9ITApO0Q9bi5HKCk7dmFyIGI9RC5lbWJlZENvbmZpZztuLk5kP1cuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz0Kbi5OZDpiJiYoVy5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWIpO1cuY2FwdGlvblBhcmFtcz17fTtiPWcubzkoKS5RUSg2NSk7bi5kZXZpY2VDYXB0aW9uc09uIT1udWxsP1cuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc09uPW4uZGV2aWNlQ2FwdGlvbnNPbjpnLmVNKEQpJiYoVy5jYXB0aW9uUGFyYW1zLmRldmljZUNhcHRpb25zT249YiE9bnVsbD8hYjohMSk7bi5LTCYmKFcuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc0xhbmdQcmVmPW4uS0wpO2I9bi5TKCJ3ZWJfZW5hYmxlX3BsYXllcl9yZXF1ZXN0X2NhcHRpb25zX2xhc3RfbGFuZ3VhZ2Vfb25seSIpO2lmKG4uRmUubGVuZ3RoKVcuY2FwdGlvblBhcmFtcy52aWV3ZXJTZWxlY3RlZENhcHRpb25MYW5ncz1iP1tuLkZlLmF0KC0xKV06bi5GZTtlbHNlIGlmKGcuZU0oRCkpe3ZhciB2PWcuU0koKTt2Py5sZW5ndGgmJihXLmNhcHRpb25QYXJhbXMudmlld2VyU2VsZWN0ZWRDYXB0aW9uTGFuZ3M9Yj9bdi5hdCgtMSldOgp2KX1iPW4uZmV0Y2hUeXBlPT09Im9uZXNpZSImJm4uUygiaHRtbDVfb25lc2llX2F0dGFjaF9wb190b2tlbiIpO3Y9bi5mZXRjaFR5cGUhPT0ib25lc2llIiYmbi5TKCJodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlbiIpO2lmKGJ8fHYpYj1uLkcoKSxiLmpXJiYoVy5zZXJ2aWNlSW50ZWdyaXR5RGltZW5zaW9ucz17fSxXLnNlcnZpY2VJbnRlZ3JpdHlEaW1lbnNpb25zLnBvVG9rZW49Yi5qVyk7RC5TKCJmZXRjaF9hdHRfaW5kZXBlbmRlbnRseSIpJiYoVy5hdHRlc3RhdGlvblJlcXVlc3Q9e29taXRCb3RndWFyZERhdGE6ITB9KTtXLnBsYXliYWNrQ29udGV4dHx8KFcucGxheWJhY2tDb250ZXh0PXt9KTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcz16ZShuKTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcy5zdXBwb3J0c1ZwOUVuY29kaW5nPT09ITEmJm4uVSgibm9WcDkiLHt9KTtyZXR1cm4gV307CnplPWZ1bmN0aW9uKG4pe3ZhciBXPSFuPy5vTCgpJiZuPy56VygpJiZjMCgpO3JldHVybntzdXBwb3J0c1ZwOUVuY29kaW5nOiEoIW4/LllqKCl8fFcpLHN1cHBvcnRYaHI6TnN9fTsKajc9ZnVuY3Rpb24obil7aWYobj1uPy5lbmRwb2ludClyZXR1cm4gZy53KG4sZy5JUSl8fGcudyhuLFRlKX07CmRsPWZ1bmN0aW9uKG4pe3JldHVybiBqNyhuKT8ucGxheWVyUGFyYW1zfTsKTVNNPWFzeW5jIGZ1bmN0aW9uKG4sVyl7bj17Y29udGV4dDp1RihuLkcoKSksZW5nYWdlbWVudFR5cGU6IkVOR0FHRU1FTlRfVFlQRV9QTEFZQkFDSyIsaWRzOlt7cGxheWJhY2tJZDp7dmlkZW9JZDpuLnZpZGVvSWQsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX19XX07dmFyIEQ9TEIod1laKTtyZXR1cm4gYXdhaXQgZy5yXyhXLG4sRCl9OwpDQT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIik7KCFvZnx8KDAsZy5SKSgpLW9mPmIpJiZNU00obixEKS50aGVuKHY9Pnt2JiYodj12LmJvdGd1YXJkRGF0YSkmJmcuekModixXKX0sdj0+e24ucU4oKXx8KHY9QiQodiksbi5VKCJhdHRmIix2LmRldGFpbHMpKX0pfTsKQlQ9ZnVuY3Rpb24obixXLEQpe24uc3RhdGUuTltXXT0oLi4uYik9PkQuYXBwbHkobixiKX07CkYyPWZ1bmN0aW9uKG4sVyxEKXtuLnN0YXRlLk4uaGFzT3duUHJvcGVydHkoVyl8fEJUKG4sVyxEKTtuLnN0YXRlLmpbV109KC4uLmIpPT5ELmFwcGx5KG4sYik7Cm4uc3RhdGUuSy5hZGQoVyl9Owp3bD1mdW5jdGlvbihuLFcsRCl7bi5zdGF0ZS5OLmhhc093blByb3BlcnR5KFcpfHxCVChuLFcsRCk7bi5hcHAuRygpLksmJihuLnN0YXRlLlZbV109KC4uLmIpPT5ELmFwcGx5KG4sYiksbi5zdGF0ZS5LLmFkZChXKSl9OwpNdT1mdW5jdGlvbihuLFcpe24uc3RhdGUuTi5hZGRFbWJlZHNDb252ZXJzaW9uVHJhY2tpbmdQYXJhbXMoLi4uVyl9OwpnLlJUPWZ1bmN0aW9uKG4sVywuLi5EKXtuLnN0YXRlLlcuV0ooVywuLi5EKTtuLnN0YXRlLkouV0ooVywuLi5EKX07CmcuUVU9ZnVuY3Rpb24obixXLC4uLkQpe24uc3RhdGUuVy5XSihXLC4uLkQpO24uc3RhdGUuSi5XSihXLC4uLkQpO24uc3RhdGUuWC5XSihXLC4uLkQpfTsKZy5WVT1mdW5jdGlvbihuLFcsLi4uRCl7bi5zdGF0ZS5XLldKKFcsLi4uRCk7bi5zdGF0ZS5KLldKKFcsLi4uRCk7bi5zdGF0ZS5YLldKKFcsLi4uRCk7bi5zdGF0ZS5ZLldKKFcsLi4uRCl9OwphVD1mdW5jdGlvbihuLFcsRCl7dHlwZW9mIG49PT0ic3RyaW5nIiYmKG49e21lZGlhQ29udGVudFVybDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH0pO2E6e2lmKChXPW4ubWVkaWFDb250ZW50VXJsKSYmKFc9L1wvKFt2ZV18ZW1iZWQpXC8oW14jP10rKS8uZXhlYyhXKSkmJldbMl0pe1c9V1syXTticmVhayBhfVc9bnVsbH1uLnZpZGVvSWQ9VztyZXR1cm4gY1Qobil9OwpjVD1mdW5jdGlvbihuLFcsRCl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57dmlkZW9JZDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH07Vz17fTtmb3IobGV0IGIgb2YgUmtaKW5bYl0mJihXW2JdPW5bYl0pOyhuPW4uZW1iZWRDb25maWd8fG4uZW1iZWRfY29uZmlnKSYmKFcuZW1iZWRfY29uZmlnPW4yKG4pKTtyZXR1cm4gV307ClFzUz1mdW5jdGlvbihuLFcsRCxiKXtpZihnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKSl7Vz0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtEPXt9O2ZvcihiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07blt2XSYmKERbdl09blt2XSl9cmV0dXJuIER9Vz17aW5kZXg6VyxzdGFydFNlY29uZHM6RCxzdWdnZXN0ZWRRdWFsaXR5OmJ9O3R5cGVvZiBuPT09InN0cmluZyImJm4ubGVuZ3RoPT09MTY/Vy5saXN0PSJQTCIrbjpXLnBsYXlsaXN0PW47cmV0dXJuIFd9OwpuMj1mdW5jdGlvbihuKXtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXJldHVybiBuO2lmKGcuZnQobikpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShuKX1jYXRjaChXKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLFcpfX07Clc3PWZ1bmN0aW9uKG4sVz0xKXt2YXIgRD17fTtXPW4uYXBwLlZFKHtwbGF5ZXJUeXBlOld9KS5nZXRWaWRlb0RhdGEoKTtpZihpRihXKSlyZXR1cm57fTtELnZpZGVvX2lkPVcudmlkZW9JZDtELmF1dGhvcj1XLmF1dGhvcjtELnRpdGxlPVcudGl0bGU7RC5pc1BsYXlhYmxlPVpQKFcpO0QuZXJyb3JDb2RlPVcuZXJyb3JDb2RlO2lmKFcuSiYmVy5KLnZpZGVvKXtELnZpZGVvX3F1YWxpdHk9Vy5KLnZpZGVvLnF1YWxpdHk7Vz1XLkoudmlkZW87bGV0IGI9W107Vy5KKCkmJmIucHVzaCgiaGZyIik7Vy5pc0hkcigpJiZiLnB1c2goImhkciIpO1cucHJpbWFyaWVzPT09ImJ0MjAyMCImJmIucHVzaCgid2NnIik7RC52aWRlb19xdWFsaXR5X2ZlYXR1cmVzPWJ9aWYobj1uLmdldFBsYXlsaXN0SWQoKSlELmxpc3Q9bjtyZXR1cm4gRH07ClZTaD1mdW5jdGlvbihuKXtGMihuLCJjdWVWaWRlb0J5SWQiLG4uY0opO0YyKG4sImxvYWRWaWRlb0J5SWQiLG4uWSQpO0YyKG4sImN1ZVZpZGVvQnlVcmwiLG4uYmQpO0YyKG4sImxvYWRWaWRlb0J5VXJsIixuLlFyKTtGMihuLCJwbGF5VmlkZW8iLG4ueXcpO0YyKG4sInBhdXNlVmlkZW8iLG4ucGF1c2VWaWRlbyk7RjIobiwic3RvcFZpZGVvIixuLnptKTtGMihuLCJjbGVhclZpZGVvIixuLmNsZWFyVmlkZW8pO0YyKG4sImdldFZpZGVvQnl0ZXNMb2FkZWQiLG4uWVopO0YyKG4sImdldFZpZGVvQnl0ZXNUb3RhbCIsbi5SYSk7RjIobiwiZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbiIsbi5YKTtGMihuLCJnZXRWaWRlb1N0YXJ0Qnl0ZXMiLG4uTEIpO0YyKG4sImN1ZVBsYXlsaXN0IixuLmN1ZVBsYXlsaXN0KTtGMihuLCJsb2FkUGxheWxpc3QiLG4uTmQpO0YyKG4sIm5leHRWaWRlbyIsbi5VNSk7RjIobiwicHJldmlvdXNWaWRlbyIsbi5RJCk7RjIobiwicGxheVZpZGVvQXQiLG4uTWQpOwpGMihuLCJzZXRTaHVmZmxlIixuLnNldFNodWZmbGUpO0YyKG4sInNldExvb3AiLG4uc2V0TG9vcCk7RjIobiwiZ2V0UGxheWxpc3QiLG4ualcpO0YyKG4sImdldFBsYXlsaXN0SW5kZXgiLG4uZ2V0UGxheWxpc3RJbmRleCk7RjIobiwiZ2V0UGxheWxpc3RJZCIsbi5nZXRQbGF5bGlzdElkKTtGMihuLCJsb2FkTW9kdWxlIixuLmopO0YyKG4sInVubG9hZE1vZHVsZSIsbi5WKTtGMihuLCJzZXRPcHRpb24iLG4uSik7RjIobiwiZ2V0T3B0aW9uIixuLnZKKTtGMihuLCJnZXRPcHRpb25zIixuLk4pO0YyKG4sIm11dGUiLG4uczUpO0YyKG4sInVuTXV0ZSIsbi5taCk7RjIobiwiaXNNdXRlZCIsbi5pc011dGVkKTtGMihuLCJzZXRWb2x1bWUiLG4uYlYpO0YyKG4sImdldFZvbHVtZSIsbi5nZXRWb2x1bWUpO0YyKG4sInNlZWtUbyIsbi5TVik7RjIobiwiZ2V0UGxheWVyTW9kZSIsbi5nZXRQbGF5ZXJNb2RlKTtGMihuLCJnZXRQbGF5ZXJTdGF0ZSIsbi55RSk7RjIobiwiZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyIsCm4uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyk7RjIobiwiZ2V0UGxheWJhY2tRdWFsaXR5IiwoKT0+bi5nZXRQbGF5YmFja1F1YWxpdHkoMSkpOwpGMihuLCJzZXRQbGF5YmFja1F1YWxpdHkiLG4uZVYpO0YyKG4sImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiLG4uVlEpO0YyKG4sImdldEN1cnJlbnRUaW1lIixuLkhKKTtGMihuLCJnZXREdXJhdGlvbiIsbi5udSk7RjIobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5PKTtGMihuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLmdUKTtGMihuLCJnZXREZWJ1Z1RleHQiLG4uRHQpO0YyKG4sImdldFZpZGVvRGF0YSIsKCk9Plc3KG4pKTsKRjIobiwiYWRkQ3VlUmFuZ2UiLG4uWSk7RjIobiwicmVtb3ZlQ3VlUmFuZ2UiLG4ucmVtb3ZlQ3VlUmFuZ2UpO0YyKG4sInNldFNpemUiLG4uc2V0U2l6ZSk7RjIobiwiZ2V0QXBpSW50ZXJmYWNlIixuLmdldEFwaUludGVyZmFjZSk7RjIobiwiZGVzdHJveSIsbi5kZXN0cm95KTtGMihuLCJtdXRlZEF1dG9wbGF5IixuLm11dGVkQXV0b3BsYXkpO3ZhciBXPW4uYXBwLkcoKTtGMihuLCJnZXRWaWRlb0VtYmVkQ29kZSIsbi5nZXRWaWRlb0VtYmVkQ29kZSk7RjIobiwiZ2V0VmlkZW9VcmwiLG4ud2EpO0YyKG4sImdldE1lZGlhUmVmZXJlbmNlVGltZSIsbi5HQyk7RjIobiwiZ2V0U2l6ZSIsbi5nZXRTaXplKTtGMihuLCJzZXRGYXV4RnVsbHNjcmVlbiIsbi51NSk7Vy5TKCJlbWJlZHNfZW5hYmxlX21vdmVfc2V0X2NlbnRlcl9jcm9wX3RvX3B1YmxpYyIpJiZGMihuLCJzZXRDZW50ZXJDcm9wIixuLnNldENlbnRlckNyb3ApO1cuWHx8RjIobiwibG9nSW1hQWRFdmVudCIsbi5sb2dJbWFBZEV2ZW50KTsKRjIobiwicHJlbG9hZFZpZGVvQnlJZCIsbi5SdCk7RjIobiwid2FrZVVwQ29udHJvbHMiLG4ud2FrZVVwQ29udHJvbHMpfTsKZy5iNT1mdW5jdGlvbihuKXtyZXR1cm4obj1EJChuLmFwcC5KNSgpKSk/bi5CNygpOm51bGx9OwprRj1mdW5jdGlvbihuKXt2YXIgVz1RTShuLmFwcC5HKCkpLEQ9bi5hcHAuZ2V0VmlkZW9EYXRhKCk/Lk1kO249djcobi5hcHApO3JldHVybiBMeShXKSYmIUR8fG4/ITE6ITB9OwpoZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIHR5cGVvZiBuPT09Im51bWJlciI/e3BsYXllclR5cGU6bix2bzpXLGNwbjpEfTpufHx7fX07CmMxQz1mdW5jdGlvbihuKXt2YXIgVz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7aWYoIVcpe3ZhciBEPW4ucGxheWVyX3Jlc3BvbnNlO0QmJihXPUpTT04ucGFyc2UoRCkpfWRlbGV0ZSBuLnBsYXllcl9yZXNwb25zZTtkZWxldGUgbi5yYXdfcGxheWVyX3Jlc3BvbnNlO1cmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9e3N0cmVhbWluZ0RhdGE6Vy5zdHJlYW1pbmdEYXRhLHBsYXllckNvbmZpZzpXLnBsYXllckNvbmZpZ30sVy5wbGF5YmFja1RyYWNraW5nPy5xb2VVcmwmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9ey4uLm4ucmF3X3BsYXllcl9yZXNwb25zZSxwbGF5YmFja1RyYWNraW5nOntxb2VVcmw6Vy5wbGF5YmFja1RyYWNraW5nLnFvZVVybH19KSxXLmNhcHRpb25zJiYobi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsY2FwdGlvbnM6Vy5jYXB0aW9uc30pLFcudmlkZW9EZXRhaWxzJiYoVy52aWRlb0RldGFpbHMudmlkZW9JZHx8Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcykmJgooRD17fSxXLnZpZGVvRGV0YWlscy52aWRlb0lkJiYoRC52aWRlb0lkPVcudmlkZW9EZXRhaWxzLnZpZGVvSWQpLFcudmlkZW9EZXRhaWxzLmxlbmd0aFNlY29uZHMmJihELmxlbmd0aFNlY29uZHM9Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcyksbi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsdmlkZW9EZXRhaWxzOkR9KSl9Owp4Rj1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2lmKG4uYXBwLkcoKS5PKXtmb3IobGV0IGIgb2YgYWF4KVcuaGFzT3duUHJvcGVydHkoYikmJihEW2JdPVdbYl0pO2lmKG49RC5xb2VfY2F0KVc9IiIsdHlwZW9mIG49PT0ic3RyaW5nIiYmbi5sZW5ndGg+MCYmKFc9bi5zcGxpdCgiLCIpLmZpbHRlcihiPT5udDIuaW5jbHVkZXMoYikpLmpvaW4oIiwiKSksRC5xb2VfY2F0PVc7CmMxQyhEKX1lbHNlIGZvcihsZXQgYiBvZiBXYXcpVy5oYXNPd25Qcm9wZXJ0eShiKSYmKERbYl09V1tiXSk7cmV0dXJuIER9OwpMMj1mdW5jdGlvbihuKXtyZXR1cm4gbj9Ed1Vbbl18fDU6NX07CmVCPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKFcpKXtsZXQgYj1XW0RdO249bi5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrRCwiZ2kiKSwoKT0+Yil9cmV0dXJuIG59OwpiX0M9ZnVuY3Rpb24obil7QlQobiwiZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UiLG4uZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UpO0JUKG4sImdldFRydXN0ZWRBcGkiLG4uZ2V0VHJ1c3RlZEFwaSk7QlQobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5EKTtCVChuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLlRRKTtCVChuLCJjdWVWaWRlb0J5UGxheWVyVmFycyIsbi50dyk7QlQobiwibG9hZFZpZGVvQnlQbGF5ZXJWYXJzIixuLkU1KTtCVChuLCJwcmVsb2FkVmlkZW9CeVBsYXllclZhcnMiLG4uWmgpO0JUKG4sImdldEFkU3RhdGUiLG4uZ2V0QWRTdGF0ZSk7QlQobiwic2VuZEFiYW5kb25tZW50UGluZyIsbi5zZW5kQWJhbmRvbm1lbnRQaW5nKTtCVChuLCJzZXRMb29wUmFuZ2UiLG4uc2V0TG9vcFJhbmdlKTtCVChuLCJnZXRMb29wUmFuZ2UiLG4uZ2V0TG9vcFJhbmdlKTtCVChuLCJzZXRBdXRvbmF2U3RhdGUiLG4uc2V0QXV0b25hdlN0YXRlKTtCVChuLCJzZWVrVG8iLG4uYk4pO0JUKG4sCiJzZWVrQnkiLG4uc1YpO0JUKG4sInNlZWtUb0xpdmVIZWFkIixuLnNlZWtUb0xpdmVIZWFkKTtCVChuLCJyZXF1ZXN0U2Vla1RvV2FsbFRpbWVTZWNvbmRzIixuLnJlcXVlc3RTZWVrVG9XYWxsVGltZVNlY29uZHMpO0JUKG4sInNlZWtUb1N0cmVhbVRpbWUiLG4uc2Vla1RvU3RyZWFtVGltZSk7QlQobiwic3RhcnRTZWVrQ3NpQWN0aW9uIixuLnN0YXJ0U2Vla0NzaUFjdGlvbik7QlQobiwiZ2V0U3RyZWFtVGltZU9mZnNldCIsbi5nZXRTdHJlYW1UaW1lT2Zmc2V0KTtCVChuLCJnZXRWaWRlb0RhdGEiLG4uZkIpO0JUKG4sImdldEFwcFN0YXRlIixuLmdldEFwcFN0YXRlKTtCVChuLCJ1cGRhdGVMYXN0QWN0aXZlVGltZSIsbi51cGRhdGVMYXN0QWN0aXZlVGltZSk7QlQobiwic2V0VXNlckVuZ2FnZW1lbnQiLG4uc2V0VXNlckVuZ2FnZW1lbnQpO0JUKG4sInVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3MpO0JUKG4sImdldFByZXNlbnRpbmdQbGF5ZXJUeXBlIiwKbi5XKTtCVChuLCJjYW5QbGF5VHlwZSIsbi5jYW5QbGF5VHlwZSk7QlQobiwidXBkYXRlUGxheWxpc3QiLG4udXBkYXRlUGxheWxpc3QpO0JUKG4sInVwZGF0ZVZpZGVvRGF0YSIsbi51cGRhdGVWaWRlb0RhdGEpO0JUKG4sInVwZGF0ZUVudmlyb25tZW50RGF0YSIsbi51cGRhdGVFbnZpcm9ubWVudERhdGEpO0JUKG4sInNlbmRWaWRlb1N0YXRzRW5nYWdlRXZlbnQiLG4uWXIpO0JUKG4sInNldFNhZmV0eU1vZGUiLG4uc2V0U2FmZXR5TW9kZSk7QlQobiwiaXNBdExpdmVIZWFkIixXPT5uLmlzQXRMaXZlSGVhZCh2b2lkIDAsVykpOwpCVChuLCJnZXRWaWRlb0FzcGVjdFJhdGlvIixuLmdldFZpZGVvQXNwZWN0UmF0aW8pO0JUKG4sImdldFByZWZlcnJlZFF1YWxpdHkiLG4uZ2V0UHJlZmVycmVkUXVhbGl0eSk7QlQobiwiZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwiLG4uZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwpO0JUKG4sInNldFBsYXliYWNrUXVhbGl0eVJhbmdlIixuLldpKTtCVChuLCJvbkFkVXhDbGlja2VkIixuLm9uQWRVeENsaWNrZWQpO0JUKG4sImdldEZlZWRiYWNrUHJvZHVjdERhdGEiLG4uZ2V0RmVlZGJhY2tQcm9kdWN0RGF0YSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lIixuLmdldFN0b3J5Ym9hcmRGcmFtZSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgiLG4uZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgpO0JUKG4sImdldFN0b3J5Ym9hcmRMZXZlbCIsbi5nZXRTdG9yeWJvYXJkTGV2ZWwpO0JUKG4sImdldE51bWJlck9mU3Rvcnlib2FyZExldmVscyIsbi5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMpOwpCVChuLCJnZXRDYXB0aW9uV2luZG93Q29udGFpbmVySWQiLG4uZ2V0Q2FwdGlvbldpbmRvd0NvbnRhaW5lcklkKTtCVChuLCJnZXRBdmFpbGFibGVRdWFsaXR5TGFiZWxzIixuLmdldEF2YWlsYWJsZVF1YWxpdHlMYWJlbHMpO0JUKG4sImFkZEN1ZVJhbmdlIixuLmFkZEN1ZVJhbmdlKTtCVChuLCJhZGRVdGNDdWVSYW5nZSIsbi5hZGRVdGNDdWVSYW5nZSk7QlQobiwic2hvd0FpcnBsYXlQaWNrZXIiLG4uc2hvd0FpcnBsYXlQaWNrZXIpO0JUKG4sImRpc3BhdGNoUmVkdXhBY3Rpb24iLG4uZGlzcGF0Y2hSZWR1eEFjdGlvbik7QlQobiwiZ2V0UGxheWVyUmVzcG9uc2UiLG4uUFgpO0JUKG4sImdldFdhdGNoTmV4dFJlc3BvbnNlIixuLnZYKTtCVChuLCJnZXRIZWFydGJlYXRSZXNwb25zZSIsbi5GRik7QlQobiwiZ2V0Q3VycmVudFRpbWUiLG4uZSQpO0JUKG4sImdldER1cmF0aW9uIixuLm1aKTtCVChuLCJnZXRQbGF5ZXJTdGF0ZSIsbi5nZXRQbGF5ZXJTdGF0ZSk7QlQobiwiZ2V0UGxheWVyU3RhdGVPYmplY3QiLApuLkN1KTtCVChuLCJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIixuLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24pO0JUKG4sImdldFByb2dyZXNzU3RhdGUiLG4uZ2V0UHJvZ3Jlc3NTdGF0ZSk7QlQobiwiZ2V0Vm9sdW1lIixuLmdldFZvbHVtZSk7QlQobiwic2V0Vm9sdW1lIixuLmtGKTtCVChuLCJpc011dGVkIixuLmlzTXV0ZWQpO0JUKG4sIm11dGUiLG4uZ0cpO0JUKG4sInVuTXV0ZSIsbi5sbSk7QlQobiwibG9hZE1vZHVsZSIsbi5sb2FkTW9kdWxlKTtCVChuLCJ1bmxvYWRNb2R1bGUiLG4udW5sb2FkTW9kdWxlKTtCVChuLCJnZXRPcHRpb24iLG4uanUpO0JUKG4sImdldE9wdGlvbnMiLG4uZ2V0T3B0aW9ucyk7QlQobiwic2V0T3B0aW9uIixuLnNldE9wdGlvbik7QlQobiwibG9hZFZpZGVvQnlJZCIsbi5ydyk7QlQobiwibG9hZFZpZGVvQnlVcmwiLG4uSzApO0JUKG4sInBsYXlWaWRlbyIsbi5VRyk7QlQobiwic3RvcFZpZGVvIixuLkspO0JUKG4sImxvYWRQbGF5bGlzdCIsbi5sb2FkUGxheWxpc3QpOwpCVChuLCJuZXh0VmlkZW8iLG4ubmV4dFZpZGVvKTtCVChuLCJwcmV2aW91c1ZpZGVvIixuLnByZXZpb3VzVmlkZW8pO0JUKG4sInBsYXlWaWRlb0F0IixuLnBsYXlWaWRlb0F0KTtCVChuLCJnZXREZWJ1Z1RleHQiLG4uZ2V0RGVidWdUZXh0KTtCVChuLCJnZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnIixuLmdldFdlYlBsYXllckNvbnRleHRDb25maWcpO0JUKG4sImdldFZpZGVvQ29udGVudFJlY3QiLG4uZ2V0VmlkZW9Db250ZW50UmVjdCk7QlQobiwidG9nZ2xlU3VidGl0bGVzT24iLG4udG9nZ2xlU3VidGl0bGVzT24pO0JUKG4sImlzU3VidGl0bGVzT24iLG4uaXNTdWJ0aXRsZXNPbik7QlQobiwiZ2V0QXVkaW9UcmFjayIsbi5UQyk7QlQobiwic2V0QXVkaW9UcmFjayIsbi5zeik7QlQobiwiZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MiLG4uUyQpO0JUKG4sImlzT3JjaGVzdHJhdGlvbkxlYWRlciIsbi5pc09yY2hlc3RyYXRpb25MZWFkZXIpO0JUKG4sIm5vdGlmeVNob3J0c0FkU3dpcGVFdmVudCIsCm4ubm90aWZ5U2hvcnRzQWRTd2lwZUV2ZW50KTtCVChuLCJwcmVmZXRjaEtleVBsYXkiLG4ucHJlZmV0Y2hLZXlQbGF5KTtCVChuLCJwcmVmZXRjaEp1bXBBaGVhZCIsbi5wcmVmZXRjaEp1bXBBaGVhZCk7QlQobiwicHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQiLG4ucHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQpO0JUKG4sInNldEJsYWNrb3V0IixuLnNldEJsYWNrb3V0KTtCVChuLCJzZXRJbmxpbmVQcmV2aWV3IixuLnNldElubGluZVByZXZpZXcpO0JUKG4sInNldFNxdWVlemViYWNrIixuLnNldFNxdWVlemViYWNrKTtCVChuLCJyZXBvcnRQbGF5YmFja0lzc3VlIixuLnJlcG9ydFBsYXliYWNrSXNzdWUpO0JUKG4sInNldEF1dG9uYXYiLG4uc2V0QXV0b25hdik7QlQobiwiaXNOb3RTZXJ2YWJsZSIsbi5pc05vdFNlcnZhYmxlKTtCVChuLCJjaGFubmVsU3Vic2NyaWJlZCIsbi5jaGFubmVsU3Vic2NyaWJlZCk7QlQobiwiY2hhbm5lbFVuc3Vic2NyaWJlZCIsCm4uY2hhbm5lbFVuc3Vic2NyaWJlZCk7QlQobiwidG9nZ2xlUGljdHVyZUluUGljdHVyZSIsbi50b2dnbGVQaWN0dXJlSW5QaWN0dXJlKTtCVChuLCJzdXBwb3J0c0dhcGxlc3NBdWRpbyIsbi5zdXBwb3J0c0dhcGxlc3NBdWRpbyk7QlQobiwic3VwcG9ydHNHYXBsZXNzU2hvcnRzIixuLnN1cHBvcnRzR2FwbGVzc1Nob3J0cyk7QlQobiwiaXNHYXBsZXNzVHJhbnNpdGlvblJlYWR5IixuLmlzR2FwbGVzc1RyYW5zaXRpb25SZWFkeSk7QlQobiwic2V0U2hvcnRzQXV0b0FkdmFuY2VkRW5hYmxlZCIsbi5zZXRTaG9ydHNBdXRvQWR2YW5jZWRFbmFibGVkKTtCVChuLCJlbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMiLFc9PnZvaWQgbi5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMoVykpOwpCVChuLCJjbGVhclF1ZXVlIixuLmNsZWFyUXVldWUpO0JUKG4sImdldE1heFBsYXliYWNrUXVhbGl0eSIsbi5nZXRNYXhQbGF5YmFja1F1YWxpdHkpO0JUKG4sImdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlIixuLmdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlKTtCVChuLCJnZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3MiLG4uZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKTtCVChuLCJyZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi5yZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyk7QlQobiwic2V0TWluaW1pemVkIixuLnNldE1pbmltaXplZCk7QlQobiwic2V0T3ZlcmxheVZpc2liaWxpdHkiLG4uc2V0T3ZlcmxheVZpc2liaWxpdHkpO0JUKG4sImNvbmZpcm1ZcGNSZW50YWwiLG4uY29uZmlybVlwY1JlbnRhbCk7QlQobiwicXVldWVOZXh0VmlkZW8iLG4ucXVldWVOZXh0VmlkZW8pO0JUKG4sImhhbmRsZUV4dGVybmFsQ2FsbCIsbi5oYW5kbGVFeHRlcm5hbENhbGwpOwpCVChuLCJsb2dBcGlDYWxsIixuLmxvZ0FwaUNhbGwpO0JUKG4sImlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUiLG4uaXNFeHRlcm5hbE1ldGhvZEF2YWlsYWJsZSk7QlQobiwic2V0U2NyZWVuTGF5ZXIiLG4uc2V0U2NyZWVuTGF5ZXIpO0JUKG4sImdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlIixuLmdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlKTtCVChuLCJnZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSIsbi5nZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSk7QlQobiwic2hvdWxkU2VuZFZpc2liaWxpdHlTdGF0ZSIsbi5zaG91bGRTZW5kVmlzaWJpbGl0eVN0YXRlKTtCVChuLCJzeW5jVm9sdW1lIixuLnN5bmNWb2x1bWUpO0JUKG4sImhpZ2hsaWdodFNldHRpbmdzTWVudUl0ZW0iLG4uaGlnaGxpZ2h0U2V0dGluZ3NNZW51SXRlbSk7QlQobiwib3BlblNldHRpbmdzTWVudUl0ZW0iLG4ub3BlblNldHRpbmdzTWVudUl0ZW0pO0JUKG4sImdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UiLApuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UpO0JUKG4sImdldFZpc2liaWxpdHlTdGF0ZSIsbi5nZXRWaXNpYmlsaXR5U3RhdGUpO0JUKG4sImlzTXV0ZWRCeU11dGVkQXV0b3BsYXkiLG4uaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSk7QlQobiwiaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheSIsbi5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KTtCVChuLCJzZXRHbG9iYWxDcm9wIixuLnNldEdsb2JhbENyb3ApO0JUKG4sInNldEludGVybmFsU2l6ZSIsbi5zZXRJbnRlcm5hbFNpemUpO0JUKG4sInNldEZhdXhGdWxsc2NyZWVuIixuLnNldEZhdXhGdWxsc2NyZWVuKTtCVChuLCJzZXRBcHBGdWxsc2NyZWVuIixuLnNldEFwcEZ1bGxzY3JlZW4pO0JUKG4sImlzS2V5Ym9hcmREaXNhYmxlZCIsbi5pc0tleWJvYXJkRGlzYWJsZWQpO0JUKG4sImdldEN1cnJlbnRUaW1lRm9yVXgiLG4uZ2V0Q3VycmVudFRpbWVGb3JVeCk7QlQobiwiZ2V0RHVyYXRpb25Gb3JVeCIsbi5nZXREdXJhdGlvbkZvclV4KX07Cmd2PWZ1bmN0aW9uKG4pe24uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKT09PTM/bi5XSigibWR4YXV0b3BsYXljYW5jZWwiKTpnLlJUKG4sIm9uQXV0b25hdkNhbmNlbGxlZCIsITApfTsKWHo9ZnVuY3Rpb24obil7bj1uLko1KCkuTmkuZ2V0KCJlbmRzY3JlZW4iKTtyZXR1cm4hIW4mJlh6KG4pfTsKcXA9ZnVuY3Rpb24obil7bj1uLko1KCk7dmFyIFc9bi5OaS5nZXQoImVuZHNjcmVlbiIpO3JldHVybiBXJiZXLlhjKCk/ITA6bi5JVigpfTsKdGY9ZnVuY3Rpb24obil7dmFyIFc9R3Uobi5KNSgpKTtyZXR1cm4gbi5hcHAuWlYmJiFuLmlzRnVsbHNjcmVlbigpfHxuLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0zJiZXJiZXLmhhc05leHQoKSYmVy5oYXNQcmV2aW91cygpfHwhIW4uZ2V0UGxheWxpc3QoKX07CmcuZno9ZnVuY3Rpb24obil7cmV0dXJuKG49Zy4kRihuLko1KCkpKT9uLkhwKCk6e319OwpnLnJ2PWZ1bmN0aW9uKG4sVyxEKXtuPW4ubGooKS5lbGVtZW50O3ZhciBiPURlKG4uY2hpbGRyZW4sdj0+e3Y9TnVtYmVyKHYuZ2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIikpO3JldHVybiBELXZ8fDF9KTsKYjwwJiYoYj0tKGIrMSkpO2cuanAobixXLGIpO1cuc2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIixTdHJpbmcoRCkpfTsKdnRDPWZ1bmN0aW9uKG4sVyl7bj1zRihuLmFwcC5Wci5YKTtmb3IobGV0IEQgb2Ygbil7bj1ELmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7bGV0IGI9bnVsbDtmb3IobGV0IHYgb2YgbilpZih2LmdldExhbmd1YWdlSW5mbygpLmdldElkKCk9PT1XKXtiPXY7YnJlYWt9YiYmRC5MeShiLCEwKX19OwpnLnAyPWZ1bmN0aW9uKCl7TnB8fChOcD1uZXcga0t4KTtyZXR1cm4gTnB9OwpnLllGPWZ1bmN0aW9uKG4sVyl7Vz9uLlpKLkF1dGhvcml6YXRpb249YEJlYXJlciAke1d9YDpkZWxldGUgbi5aSi5BdXRob3JpemF0aW9ufTsKaHh3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9KC4uLmIpPT57bi5yZW1vdmVFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKTtXKC4uLmIpfTsKbi5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKX07CmcuSDc9ZnVuY3Rpb24obil7dmFyIFc9TWF0aC5hYnMoTWF0aC5mbG9vcihuKSksRD1NYXRoLmZsb29yKFcvODY0MDApLGI9TWF0aC5mbG9vcihXJTg2NDAwLzM2MDApLHY9TWF0aC5mbG9vcihXJTM2MDAvNjApO1c9TWF0aC5mbG9vcihXJTYwKTt2YXIgaz0iIjtEPjAmJihrKz1gJHtEfTpgLGI8MTAmJihrKz0iMCIpKTtpZihEPjB8fGI+MClrKz1gJHtifTpgLHY8MTAmJihrKz0iMCIpO2srPWAke3Z9OmA7VzwxMCYmKGsrPSIwIik7RD1rK1c7cmV0dXJuIG4+PTA/RDpgLSR7RH1gfTsKZjI9ZnVuY3Rpb24obil7cmV0dXJuKCEoImJ1dHRvbiJpbiBuKXx8dHlwZW9mIG4uYnV0dG9uIT09Im51bWJlciJ8fG4uYnV0dG9uPT09MCkmJiEoInNoaWZ0S2V5ImluIG4mJm4uc2hpZnRLZXkpJiYhKCJhbHRLZXkiaW4gbiYmbi5hbHRLZXkpJiYhKCJtZXRhS2V5ImluIG4mJm4ubWV0YUtleSkmJiEoImN0cmxLZXkiaW4gbiYmbi5jdHJsS2V5KX07CkpmPWZ1bmN0aW9uKG4sVyxELGIpe2lmKGIuc3Vic3RyaW5nKDAsMik9PT0ie3siKW4uWVpbYl09W1csRF07ZWxzZSByZXR1cm4gYn07Ckl5PWZ1bmN0aW9uKG4sVyxELGIpe2lmKEQ9PT0iY2hpbGQiKXtnLlRGKFcpO2xldCBrO2I9PT12b2lkIDA/az12b2lkIDA6az0hQXJyYXkuaXNBcnJheShiKXx8YiYmdHlwZW9mIGIuWj09PSJzdHJpbmciP1tiXTpiO0Q9eHcyKG4sayk7Zm9yKHZhciB2IG9mIEQpVy5hcHBlbmRDaGlsZCh2KX1lbHNlIEQ9PT0ic3R5bGUiP2cuaDEoVywiY3NzVGV4dCIsYj9iOiIiKTpiPT09bnVsbHx8Yj09PXZvaWQgMD9XLnJlbW92ZUF0dHJpYnV0ZShEKToodj1iLnRvU3RyaW5nKCksRD09PSJocmVmIiYmKHY9Z3ooZy50Rih2LGcuRzQpfHxnLlY1KSksVy5zZXRBdHRyaWJ1dGUoRCx2KSl9Owp4dzI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVylyZXR1cm4gRDtmb3IobGV0IGIgb2YgVyl7aWYoYj09bnVsbCljb250aW51ZTtXPWIubm9kZVR5cGU7Vz09PTF8fFc9PT0zP0QucHVzaChiKTpiJiZ0eXBlb2YgYi5aPT09InN0cmluZyI/RC5wdXNoKG4uY3JlYXRlRWxlbWVudChiKSk6Yi5lbGVtZW50P0QucHVzaChiLmVsZW1lbnQpOnR5cGVvZiBiPT09InN0cmluZyImJmIuaW5kZXhPZigiXG4iKSE9PS0xP2Iuc3BsaXQoIlxuIikuZm9yRWFjaCgodixrKT0+e2s+MCYmRC5wdXNoKGcuekYoIkJSIikpO0QucHVzaChnLmxrKHYpKX0pOkQucHVzaChnLmxrKGIpKX1yZXR1cm4gRH07ClNCPWZ1bmN0aW9uKG4sVyl7bj1uLmVsZW1lbnQuZWxlbWVudDtXP24uc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTpuLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKX07CkFmPWZ1bmN0aW9uKG4pe3JldHVybiBuLkomJm4uZmFkZS5zdGF0ZSE9PTR9OwptUD1mdW5jdGlvbihuKXtuLnNvdXJjZUVsZW1lbnQmJihkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZnLkJ4KG4uZWxlbWVudCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmbi5zb3VyY2VFbGVtZW50LmZvY3VzKCksbi5zb3VyY2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksbi5zb3VyY2VFbGVtZW50PXZvaWQgMCk7bi5OLkooKTtuLlc9dm9pZCAwfTsKZy5LMj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsdmlld0JveDoiMCAwIDMyIDMyIix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik0gMTkuNDEsMjAuMDkgMTQuODMsMTUuNSAxOS40MSwxMC45MSAxOCw5LjUgbCAtNiw2IDYsNiB6IixmaWxsOiIjZmZmIn19XX19OwpnLk9GPWZ1bmN0aW9uKCl7cmV0dXJue1o6InN2ZyIseGE6e2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMzIgMzIiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoibSAxMi41OSwyMC4zNCA0LjU4LC00LjU5IC00LjU4LC00LjU5IDEuNDEsLTEuNDEgNiw2IC02LDYgeiIsZmlsbDoiI2ZmZiJ9fV19fTsKZy5QNz1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjEwMCUifSxYRjpbe1o6InBhdGgiLHhhOntkOiJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIsZmlsbDoiI2ZmZiJ9fV19fTsKWiQ9ZnVuY3Rpb24oKXtyZXR1cm57Wjoic3ZnIix4YTp7aGVpZ2h0OiIxMDAlIix2ZXJzaW9uOiIxLjEiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIixLeTohMCxKdzoieXRwLXN2Zy1maWxsIix4YTp7ZDoiTSAxNi42OCwuOTkgQyAxMy41NSwxLjAzIDcuMDIsMS4xNiA0Ljk5LDEuNjggYyAtMS40OSwuNCAtMi41OSwxLjYgLTIuOTksMyAtMC42OSwyLjcgLTAuNjgsOC4zMSAtMC42OCw4LjMxIDAsMCAtMC4wMSw1LjYxIC42OCw4LjMxIC4zOSwxLjUgMS41OSwyLjYgMi45OSwzIDIuNjksLjcgMTMuNDAsLjY4IDEzLjQwLC42OCAwLDAgMTAuNzAsLjAxIDEzLjQwLC0wLjY4IDEuNSwtMC40IDIuNTksLTEuNiAyLjk5LC0zIC42OSwtMi43IC42OCwtOC4zMSAuNjgsLTguMzEgMCwwIC4xMSwtNS42MSAtMC42OCwtOC4zMSAtMC40LC0xLjUgLTEuNTksLTIuNiAtMi45OSwtMyBDIDI5LjExLC45OCAxOC40MCwuOTkgMTguNDAsLjk5IGMgMCwwIC0wLjY3LC0wLjAxIC0xLjcxLDAgeiBtIDcyLjIxLC45MCAwLDIxLjI4IDIuNzgsMCAuMzEsLTEuMzcgLjA5LDAgYyAuMywuNSAuNzEsLjg4IDEuMjEsMS4xOCAuNSwuMyAxLjA4LC40MCAxLjY4LC40MCAxLjEsMCAxLjk5LC0wLjQ5IDIuNDksLTEuNTkgLjUsLTEuMSAuODEsLTIuNzAgLjgxLC00LjkwIGwgMCwtMi40MCBjIDAsLTEuNiAtMC4xMSwtMi45MCAtMC4zMSwtMy45MCAtMC4yLC0wLjg5IC0wLjUsLTEuNTkgLTEsLTIuMDkgLTAuNSwtMC40IC0xLjEwLC0wLjU5IC0xLjkwLC0wLjU5IC0wLjU5LDAgLTEuMTgsLjE5IC0xLjY4LC40OSAtMC40OSwuMyAtMS4wMSwuODAgLTEuMjEsMS40MCBsIDAsLTcuOTAgLTMuMjgsMCB6IG0gLTQ5Ljk5LC43OCAzLjkwLDEzLjkwIC4xOCw2LjcxIDMuMzEsMCAwLC02LjcxIDMuODcsLTEzLjkwIC0zLjM3LDAgLTEuNDAsNi4zMSBjIC0wLjQsMS44OSAtMC43MSwzLjE5IC0wLjgxLDMuOTkgbCAtMC4wOSwwIGMgLTAuMiwtMS4xIC0wLjUxLC0yLjQgLTAuODEsLTMuOTkgbCAtMS4zNywtNi4zMSAtMy40MCwwIHogbSAyOS41OSwwIDAsMi43MSAzLjQwLDAgMCwxNy45MCAzLjI4LDAgMCwtMTcuOTAgMy40MCwwIGMgMCwwIC4wMCwtMi43MSAtMC4wOSwtMi43MSBsIC05Ljk5LDAgeiBtIC01My40OSw1LjEyIDguOTAsNS4xOCAtOC45MCw1LjA5IDAsLTEwLjI4IHogbSA4OS40MCwuMDkgYyAtMS43LDAgLTIuODksLjU5IC0zLjU5LDEuNTkgLTAuNjksLjk5IC0wLjk5LDIuNjAgLTAuOTksNC45MCBsIDAsMi41OSBjIDAsMi4yIC4zMCwzLjkwIC45OSw0LjkwIC43LDEuMSAxLjgsMS41OSAzLjUsMS41OSAxLjQsMCAyLjM4LC0wLjMgMy4xOCwtMSAuNywtMC43IDEuMDksLTEuNjkgMS4wOSwtMy4wOSBsIDAsLTAuNSAtMi45MCwtMC4yMSBjIDAsMSAtMC4wOCwxLjYgLTAuMjgsMiAtMC4xLC40IC0wLjUsLjYyIC0xLC42MiAtMC4zLDAgLTAuNjEsLTAuMTEgLTAuODEsLTAuMzEgLTAuMiwtMC4zIC0wLjMwLC0wLjU5IC0wLjQwLC0xLjA5IC0wLjEsLTAuNSAtMC4wOSwtMS4yMSAtMC4wOSwtMi4yMSBsIDAsLTAuNzggNS43MSwtMC4wOSAwLC0yLjYyIGMgMCwtMS42IC0wLjEwLC0yLjc4IC0wLjQwLC0zLjY4IC0wLjIsLTAuODkgLTAuNzEsLTEuNTkgLTEuMzEsLTEuOTkgLTAuNywtMC40IC0xLjQ4LC0wLjU5IC0yLjY4LC0wLjU5IHogbSAtNTAuNDksLjA5IGMgLTEuMDksMCAtMi4wMSwuMTggLTIuNzEsLjY4IC0wLjcsLjQgLTEuMiwxLjEyIC0xLjQ5LDIuMTIgLTAuMywxIC0wLjUsMi4yNyAtMC41LDMuODcgbCAwLDIuMjEgYyAwLDEuNSAuMTAsMi43OCAuNDAsMy43OCAuMiwuOSAuNzAsMS42MiAxLjQwLDIuMTIgLjY5LC41IDEuNzEsLjY4IDIuODEsLjc4IDEuMTksMCAyLjA4LC0wLjI4IDIuNzgsLTAuNjggLjY5LC0wLjQgMS4wOSwtMS4wOSAxLjQ5LC0yLjA5IC4zOSwtMSAuNDksLTIuMzAgLjQ5LC0zLjkwIGwgMCwtMi4yMSBjIDAsLTEuNiAtMC4yLC0yLjg3IC0wLjQ5LC0zLjg3IC0wLjMsLTAuODkgLTAuOCwtMS42MiAtMS40OSwtMi4xMiAtMC43LC0wLjUgLTEuNTgsLTAuNjggLTIuNjgsLTAuNjggeiBtIDEyLjE4LC4wOSAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjE4LC0wLjcwIC0wLjE4LC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjE4LDIuMzkgLjY4LDMuMDkgLjQ5LC43IDEuMjEsMSAyLjIxLDEgMS40LDAgMi40OCwtMC42OSAzLjE4LC0yLjA5IGwgLjA5LDAgLjMxLDEuNzggMi41OSwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMTcuMzEsMCAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjIxLC0wLjcwIC0wLjIxLC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjIxLDIuMzkgLjcxLDMuMDkgLjUsLjcgMS4xOCwxIDIuMTgsMSAxLjM5LDAgMi41MSwtMC42OSAzLjIxLC0yLjA5IGwgLjA5LDAgLjI4LDEuNzggMi42MiwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMjAuOTAsMi4wOSBjIC40LDAgLjU4LC4xMSAuNzgsLjMxIC4yLC4zIC4zMCwuNTkgLjQwLDEuMDkgLjEsLjUgLjA5LDEuMjEgLjA5LDIuMjEgbCAwLDEuMDkgLTIuNSwwIDAsLTEuMDkgYyAwLC0xIC0wLjAwLC0xLjcxIC4wOSwtMi4yMSAwLC0wLjQgLjExLC0wLjggLjMxLC0xIC4yLC0wLjMgLjUxLC0wLjQwIC44MSwtMC40MCB6IG0gLTUwLjQ5LC4xMiBjIC41LDAgLjgsLjE4IDEsLjY4IC4xOSwuNSAuMjgsMS4zMCAuMjgsMi40MCBsIDAsNC42OCBjIDAsMS4xIC0wLjA4LDEuOTAgLTAuMjgsMi40MCAtMC4yLC41IC0wLjUsLjY4IC0xLC42OCAtMC41LDAgLTAuNzksLTAuMTggLTAuOTksLTAuNjggLTAuMiwtMC41IC0wLjMxLC0xLjMwIC0wLjMxLC0yLjQwIGwgMCwtNC42OCBjIDAsLTEuMSAuMTEsLTEuOTAgLjMxLC0yLjQwIC4yLC0wLjUgLjQ5LC0wLjY4IC45OSwtMC42OCB6IG0gMzkuNjgsLjA5IGMgLjMsMCAuNjEsLjEwIC44MSwuNDAgLjIsLjMgLjI3LC42NyAuMzcsMS4zNyAuMSwuNiAuMTIsMS41MSAuMTIsMi43MSBsIC4wOSwxLjkwIGMgMCwxLjEgLjAwLDEuOTkgLTAuMDksMi41OSAtMC4xLC42IC0wLjE5LDEuMDggLTAuNDksMS4yOCAtMC4yLC4zIC0wLjUwLC40MCAtMC45MCwuNDAgLTAuMywwIC0wLjUxLC0wLjA4IC0wLjgxLC0wLjE4IC0wLjIsLTAuMSAtMC4zOSwtMC4yOSAtMC41OSwtMC41OSBsIDAsLTguNSBjIC4xLC0wLjQgLjI5LC0wLjcgLjU5LC0xIC4zLC0wLjMgLjYwLC0wLjQwIC45MCwtMC40MCB6In19XX19OwpVRj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntmaWxsOiJub25lIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxNDMgNTEiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoiTTU4LjM3IDQxLjM5SDYyLjc5VjI3LjIzQzYyLjc5IDIzLjAzIDYyLjY5IDE4LjY5IDYyLjQzIDEzLjU5SDYyLjkzTDYzLjY5IDE2Ljg5TDY4LjY3IDQxLjM5SDczLjE3TDc4LjA3IDE2Ljg5TDc4Ljg5IDEzLjU5SDc5LjM3Qzc5LjE1IDE4LjQ1IDc5LjAzIDIyLjg5IDc5LjAzIDI3LjIzVjQxLjM5SDgzLjQ1VjguNzlINzUuOTVMNzMuNDEgMjAuODFDNzIuMzUgMjUuODUgNzEuNTEgMzIuMDEgNzEuMDEgMzUuMTlINzAuNzNDNzAuMzMgMzEuOTUgNjkuNDkgMjUuODEgNjguNDEgMjAuODVMNjUuODEgOC43OUg1OC4zN1Y0MS4zOVoiLGZpbGw6IndoaXRlIn19LHtaOiJwYXRoIix4YTp7ZDoiTTkxLjQ1IDQxLjczQzkzLjkxIDQxLjczIDk1LjgzIDQwLjU5IDk3LjE3IDM4LjEzSDk3LjM1TDk3LjY5IDQxLjM5SDEwMS40M1YxNy43M0g5Ni40N1YzNi42MUM5NS45MSAzNy42NyA5NC44MSAzOC4yOSA5My43MyAzOC4yOUM5Mi4zMyAzOC4yOSA5MS44OSAzNy4xNyA5MS44OSAzNS4xM1YxNy43M0g4Ni45M1YzNS40M0M4Ni45MyAzOS40OSA4OC4xOSA0MS43MyA5MS40NSA0MS43M1oiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMTAuNzkgNDEuODlDMTE1LjE1IDQxLjg5IDExNy43NSAzOS44MyAxMTcuNzUgMzUuNjVDMTE3Ljc1IDMxLjc5IDExNS45MyAzMC4zOSAxMTEuODUgMjcuNDdDMTA5LjY3IDI1LjkxIDEwOC4zOSAyNS4wOSAxMDguMzkgMjIuOTVDMTA4LjM5IDIxLjQ3IDEwOS4yNyAyMC42MSAxMTAuODkgMjAuNjFDMTEyLjY5IDIwLjYxIDExMy4zMyAyMS44MSAxMTMuMzMgMjUuMjlMMTE3LjQ1IDI1LjA3QzExNy43NyAxOS41NyAxMTUuNzEgMTcuMjMgMTEwLjk3IDE3LjIzQzEwNi41NyAxNy4yMyAxMDQuMTcgMTkuMjcgMTA0LjE3IDIzLjQ1QzEwNC4xNyAyNy4yNSAxMDUuOTcgMjguODMgMTA4LjkzIDMxLjAzQzExMS44OSAzMy4yMyAxMTMuNTUgMzQuNTMgMTEzLjU1IDM2LjIzQzExMy41NSAzNy43NSAxMTIuNTEgMzguNjEgMTExLjAxIDM4LjYxQzEwOS4xMyAzOC42MSAxMDguMTEgMzYuOTcgMTA4LjI5IDM0LjQxTDEwNC4yMSAzNC40OUMxMDMuNTEgMzkuMjUgMTA1Ljg5IDQxLjg5IDExMC43OSA0MS44OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMjIuNSAxNC41OUMxMjQuMjIgMTQuNTkgMTI1LjA0IDEzLjk5IDEyNS4wNCAxMS41OUMxMjUuMDQgOS4zMyAxMjQuMTYgOC42NSAxMjIuNSA4LjY1QzEyMC44NCA4LjY1IDExOS45NCA5LjI3IDExOS45NCAxMS41OUMxMTkuOTQgMTMuOTkgMTIwLjgyIDE0LjU5IDEyMi41IDE0LjU5Wk0xMjAuMiA0MS4zOUgxMjVWMTcuNzNIMTIwLjJWNDEuMzlaIixmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMzQuOTUgNDEuNzlDMTM3LjMxIDQxLjc5IDEzOC42MyA0MS40OSAxMzkuNzEgNDAuNDdDMTQxLjMxIDM5LjAxIDE0MS45NyAzNi42MyAxNDEuODUgMzMuMTFMMTM3LjQxIDMyLjg3QzEzNy40MSAzNi44NyAxMzYuODEgMzguNDUgMTM1LjAzIDM4LjQ1QzEzMy4xMyAzOC40NSAxMzIuNzcgMzYuNDUgMTMyLjc3IDMxLjk3VjI3LjIxQzEzMi43NyAyMi40MSAxMzMuMjMgMjAuNTEgMTM1LjA3IDIwLjUxQzEzNi42NyAyMC41MSAxMzcuMjkgMjIuMDEgMTM3LjI5IDI2LjQ3TDE0MS42NSAyNi4xNUMxNDEuOTcgMjIuOTMgMTQxLjU5IDIwLjI5IDE0MC4wOSAxOC44M0MxMzkuMDEgMTcuNzcgMTM3LjM3IDE3LjI5IDEzNS4xNSAxNy4yOUMxMjkuNjUgMTcuMjkgMTI3Ljc1IDIwLjczIDEyNy43NSAyOC4wM1YzMS4xN0MxMjcuNzUgMzguNDcgMTI5LjIzIDQxLjc5IDEzNC45NSA0MS43OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6eyJjbGlwLXJ1bGUiOiJldmVub2RkIixkOiJNMjQuOTkgNDlDMjkuNzQgNDkuMDAgMzQuMzggNDcuNTkgMzguMzIgNDQuOTVDNDIuMjcgNDIuMzIgNDUuMzUgMzguNTcgNDcuMTcgMzQuMThDNDguOTggMjkuODAgNDkuNDYgMjQuOTcgNDguNTMgMjAuMzJDNDcuNjEgMTUuNjYgNDUuMzIgMTEuMzggNDEuOTcgOC4wM0MzOC42MSA0LjY3IDM0LjMzIDIuMzggMjkuNjggMS40NkMyNS4wMiAuNTMgMjAuMjAgMS4wMSAxNS44MSAyLjgyQzExLjQzIDQuNjQgNy42OCA3LjcxIDUuMDQgMTEuNjZDMi40MCAxNS42MSAxIDIwLjI1IDEgMjVDMC45OSAyOC4xNSAxLjYxIDMxLjI3IDIuODIgMzQuMThDNC4wMyAzNy4wOSA1Ljc5IDM5Ljc0IDguMDIgNDEuOTdDMTAuMjUgNDQuMTkgMTIuODkgNDUuOTYgMTUuODEgNDcuMTdDMTguNzIgNDguMzcgMjEuODQgNDkgMjQuOTkgNDlaTTI0Ljk5IDEyLjM2QzI3LjQ5IDEyLjM2IDI5Ljk0IDEzLjEwIDMyLjAyIDE0LjQ4QzM0LjEwIDE1Ljg3IDM1LjcyIDE3Ljg0IDM2LjY4IDIwLjE1QzM3LjY0IDIyLjQ2IDM3Ljg5IDI1LjAxIDM3LjQxIDI3LjQ2QzM2LjkyIDI5LjkxIDM1LjcyIDMyLjE3IDMzLjk1IDMzLjk0QzMyLjE4IDM1LjcwIDI5LjkzIDM2LjkxIDI3LjQ4IDM3LjQwQzI1LjAyIDM3Ljg5IDIyLjQ4IDM3LjY0IDIwLjE3IDM2LjY4QzE3Ljg2IDM1LjcyIDE1Ljg4IDM0LjEwIDE0LjUwIDMyLjAyQzEzLjExIDI5Ljk0IDEyLjM3IDI3LjUwIDEyLjM3IDI1QzEyLjM3IDIxLjY1IDEzLjcwIDE4LjQ0IDE2LjA3IDE2LjA3QzE4LjQzIDEzLjcwIDIxLjY0IDEyLjM3IDI0Ljk5IDEyLjM2Wk0yNC45OSAxMC40M0MyMi4xMSAxMC40MyAxOS4yOSAxMS4yOCAxNi44OSAxMi44OEMxNC41MCAxNC40OCAxMi42MyAxNi43NiAxMS41MyAxOS40MkMxMC40MiAyMi4wOSAxMC4xMyAyNS4wMiAxMC43MCAyNy44NUMxMS4yNiAzMC42NyAxMi42NSAzMy4yNyAxNC42OSAzNS4zMUMxNi43MyAzNy4zNSAxOS4zMiAzOC43MyAyMi4xNSAzOS4zMEMyNC45OCAzOS44NiAyNy45MSAzOS41NyAzMC41NyAzOC40NkMzMy4yMyAzNy4zNiAzNS41MSAzNS40OSAzNy4xMSAzMy4wOUMzOC43MSAzMC43MCAzOS41NyAyNy44OCAzOS41NiAyNUMzOS41NiAyMy4wOCAzOS4xOSAyMS4xOSAzOC40NiAxOS40MkMzNy43MiAxNy42NSAzNi42NSAxNi4wNCAzNS4zMCAxNC42OUMzMy45NCAxMy4zNCAzMi4zNCAxMi4yNyAzMC41NyAxMS41M0MyOC44MCAxMC44MCAyNi45MCAxMC40MyAyNC45OSAxMC40M1pNMzIuNjMgMjQuOTlMMjAuMzYgMzIuMDlWMTcuOTFMMzIuNjMgMjQuOTlaIiwKZmlsbDoid2hpdGUiLCJmaWxsLXJ1bGUiOiJldmVub2RkIn19XX19Owp5RT1mdW5jdGlvbihuPXt9LFc9W10pe1cucHVzaCgieXRwLW1lbnVpdGVtIik7InJvbGUiaW4gbnx8KG4ucm9sZT0ibWVudWl0ZW0iKTsidGFiaW5kZXgiaW4gbnx8KG4udGFiaW5kZXg9IjAiKTtyZXR1cm57WjoiZGl2IixLQjpXLHhhOm4sWEY6W3taOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0taWNvbiIsT3E6Int7aWNvbn19In0se1o6ImRpdiIsSnc6Inl0cC1tZW51aXRlbS1sYWJlbCIsT3E6Int7bGFiZWx9fSJ9LHtaOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0tY29udGVudCIsT3E6Int7Y29udGVudH19In1dfX07CkVGPWZ1bmN0aW9uKG4pe3JldHVybiBuP2cuRHAobik6IiJ9OwppNT1mdW5jdGlvbihuKXtyZXR1cm4gbj09PS0weDgwMDAwMDAwMDAwMDA/IkJFRk9SRV9NRURJQV9TVEFSVCI6bj09PTA/Ik1FRElBX1NUQVJUIjpuPT09MHg3ZmZmZmZmZmZmZmZmPyJNRURJQV9FTkQiOm49PT0weDgwMDAwMDAwMDAwMDA/IkFGVEVSX01FRElBX0VORCI6bi50b1N0cmluZygpfTsKZy51NT1mdW5jdGlvbihuLFcpe3JldHVybiBuLnN0YXJ0LVcuc3RhcnR8fG4ucHJpb3JpdHktVy5wcmlvcml0eXx8bi5KLVcuSn07Cmcub3k9ZnVuY3Rpb24obil7cmV0dXJuYGNybl8ke259YH07CmcuZHY9ZnVuY3Rpb24obil7cmV0dXJuYGNyeF8ke259YH07Cnp1PWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5zdGFydCxbMl06bi5lbmQsWzNdOm4uaWQsWzRdOm4ucHJpb3JpdHksWzVdOm4ubmFtZXNwYWNlLFs2XTpuLnZpc2libGUsWzddOm4uc3R5bGUsWzhdOm4udG9vbHRpcCxbOV06bi5jb2xvcixbMTBdOm4uaWNvbnMsWzExXTpuLmFzc29jaWF0ZWRDbGlwSWQsWzEyXTpuLm1hcmtlclBvc2l0aW9uTXN9fTsKVHU9ZnVuY3Rpb24obixXLEQsYil7VyBpbiBuLk58fChEPW5ldyBnLmw1KEQsYix7aWQ6Vyxwcmlvcml0eToyLG5hbWVzcGFjZToiYXBwYWQifSksbi5hcGkuZ2goW0RdLDEpLG4uTltXXT1EKX07CmpCPWZ1bmN0aW9uKG4sVyl7TGF4KG4sVykudGhlbihEPT57Zy5nbyhXLHZvaWQgMCx2b2lkIDAsRCl9KX07CkMyPWZ1bmN0aW9uKG4sVyl7Vy5mb3JFYWNoKEQ9PntqQihuLEQpfSl9OwpCNz1mdW5jdGlvbihuLFcsRCl7aWYoIShEIGluIFcpKXJldHVybiExO1c9V1tEXTtBcnJheS5pc0FycmF5KFcpfHwoVz1bV10pO2ZvcihsZXQgYiBvZiBXKVc9e0NQTjpuLmFwaS5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlfSxXPWcuR0soYixXKSxnLmdvKFcsdm9pZCAwLG9PKHpFKFcsZXh4LG51bGwpLFcsITEsIkFjdGl2ZSBWaWV3IDNyZCBQYXJ0eSBJbnRlZ3JhdGlvbiBVUkwiKXx8b08oekUoVyxndGosbnVsbCksVywhMSwiR29vZ2xlL1lvdVR1YmUgQnJhbmQgTGlmdCBVUkwiKXx8b08oekUoVyxYSzIsbnVsbCksVywhMSwiTmllbHNlbiBPQ1IgVVJMIikpO3JldHVybiEwfTsKTGF4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5hcGkuRygpKSYmZy5CVihXKSYmZy5qSChXKT9nLkhFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKS5WKCkpLnRoZW4oRD0+e3ZhciBiO0QmJihiPXtBdXRob3JpemF0aW9uOmBCZWFyZXIgJHtEfWB9KTtyZXR1cm4gYn0sdm9pZCAwKTpnLkgwKCl9OwpGej1mdW5jdGlvbihuLFcpe24uY2hlY2tlZD1XO24uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsU3RyaW5nKG4uY2hlY2tlZCkpfTsKd3Y9ZnVuY3Rpb24obixXKXtuLmVuYWJsZWQ9VztuLmVuYWJsZWQ/bi5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIpOm4uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIil9OwpNcD1mdW5jdGlvbihuLFcsRD0hMSxiKXt2YXIgdj1uLmN1cnJlbnRUYXJnZXQ7aWYoIUQmJmYyKG4pKXJldHVybiBuLnByZXZlbnREZWZhdWx0KCksITA7Vy5wYXVzZVZpZGVvKCk7bj12LmdldEF0dHJpYnV0ZSgiaHJlZiIpO1E1KG4sYik7cmV0dXJuITF9OwpSeT1mdW5jdGlvbihuLFcsRCl7aWYodkUoVy5HKCkpJiZXLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCkhPT0yKWYyKEQpJiYoVy5pc0Z1bGxzY3JlZW4oKSYmIVcuRygpLmV4dGVybmFsRnVsbHNjcmVlbiYmVy50b2dnbGVGdWxsc2NyZWVuKCksRC5wcmV2ZW50RGVmYXVsdCgpKTtlbHNle2xldCBiPWYyKEQpO2ImJlcucGF1c2VWaWRlbygpO1E1KG4pO2ImJihnLmNhKG4pLEQucHJldmVudERlZmF1bHQoKSl9fTsKUUU9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/LmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giJiYhbi5WKCl9OwpWRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5hdWRpbz8uVz09PSEwfTsKYzc9ZnVuY3Rpb24obil7cmV0dXJuIG4uVigpfTsKYXk9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/Lk49PT0hMH07Cm52PWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg8MilyZXR1cm4hMTt2YXIgRD1XKG5bMF0pO3JldHVybiBuLnNvbWUoYj0+VyhiKSE9PUQpfTsKYlk9ZnVuY3Rpb24obixXKXtuPXFJdyhuLFcubGFuZ3VhZ2VJZCk7bj1XdShuLCEhVy5nTyk7cmV0dXJuIG49RGIobiwhIVcuajkpfTsKV3U9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+YXkoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+VkUoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKR0t0PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcuaWQhPT0idW5kIj9nLkVNKG4sRD0+e3ZhciBiPVcuZ2V0TGFuZ3VhZ2VJbmZvKCk/Lm5hbWU7cmV0dXJuIEQua1o/Lm5hbWU9PT1ifSk6bn07CnFJdz1mdW5jdGlvbihuLFcpe2lmKFcmJlchPT0idW5kIilpZih0eXBlb2YgVz09PSJzdHJpbmciKXt2YXIgRD1nLmxfKG4sdj0+di5pZD09PVcpOwppZihEPy5rWil2YXIgYj1ELmtaLmlkfWVsc2UgYj1XLmtaPy5pZDtpZihiJiYoRD1nLkVNKG4sdj0+di5rWj8uaWQ9PT1iKSxELmxlbmd0aD4wKSlyZXR1cm4gRDsKRD1nLkVNKG4sdj0+ISF2LmtaPy5pc0RlZmF1bHQpOwpyZXR1cm4gRC5sZW5ndGg+MD9EOm59Owp0QUM9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PmM3KEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59Owokd2o9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PlFFKEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59OwpyYVU9ZnVuY3Rpb24obixXKXtuPW5ldyBTZXQobi5tYXAoVykpO24uZGVsZXRlKHZvaWQgMCk7cmV0dXJuIG4uc2l6ZT49Mn07CnNGTT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnByaW9yaXR5LW4ucHJpb3JpdHl9Owp2dT1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRCluLml0ZW1zLnB1c2goVyksbi5tZW51SXRlbXMuZWxlbWVudC5hcHBlbmRDaGlsZChXLmVsZW1lbnQpO2Vsc2V7RD1nLlc0KG4uaXRlbXMsVyxzRk0pO2lmKEQ+PTApcmV0dXJuO0Q9fkQ7Zy5jTShuLml0ZW1zLEQsMCxXKTtnLmpwKG4ubWVudUl0ZW1zLmVsZW1lbnQsVy5lbGVtZW50LEQpfVcuc3Vic2NyaWJlKCJzaXplLWNoYW5nZSIsbi5xQSxuKTtuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKX07CmtzPWZ1bmN0aW9uKG4sVyl7Vy51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLG4ucUEsbik7bi5xTigpfHwoZy5GSShuLml0ZW1zLFcpLG4ubWVudUl0ZW1zLmVsZW1lbnQucmVtb3ZlQ2hpbGQoVy5lbGVtZW50KSxuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKSl9OwpnLmhCPWZ1bmN0aW9uKG4sVyl7aWYobi5XKXt2YXIgRD1uLm9wdGlvbnNbbi5XXTtELmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiKTtELmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCJmYWxzZSIpO24uVz1udWxsfWlmKEQ9bi5vcHRpb25zW1ddKUQuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsInRydWUiKSxuLlgobi5qKFcpKSxuLlc9V307Ck5YaD1mdW5jdGlvbihuLFcsRCxiKXtEPW5ldyB4cyh7WjoiZGl2IixLQjpbInl0cC1tZW51aXRlbSIsIiJdLHhhOnt0YWJpbmRleDoiMCIscm9sZToibWVudWl0ZW1yYWRpbyIsImFyaWEtY2hlY2tlZCI6Yj8idHJ1ZSI6ImZhbHNlIn0sWEY6W3taOiJkaXYiLEtCOlsieXRwLW1lbnVpdGVtLWxhYmVsIl0sT3E6Int7bGFiZWx9fSJ9XX0sRCxuLmooVykpO0QuU18oImNsaWNrIiwoKT0+e24uRChXKX0pOwpyZXR1cm4gRH07CmcuTHY9ZnVuY3Rpb24obixXKXt2YXIgRD1uLks7Zm9yKHZhciBiIG9mIEQuaXRlbXMpYi51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLEQucUEsRCk7RC5pdGVtcz1bXTt0cnl7Zy5URihELm1lbnVJdGVtcy5lbGVtZW50KX1jYXRjaCh2KXtnLkdxKG5ldyBnLlF4KCJGYWlsZWQgdG8gcmVtb3ZlIG1lbnUgaXRlbXMgZnJvbSBwYW5lbCBtZW51LiIse2Vycm9yOnYubWVzc2FnZSxvcmlnaW5hbFN0YWNrOnYuc3RhY2ssY2hpbGRUb0JlUmVtb3ZlZDpELm1lbnVJdGVtcy5lbGVtZW50LmZpcnN0Q2hpbGQ/LnRleHRDb250ZW50Pz8iY2hpbGQgZWxlbWVudCBub3QgZm91bmQifSkpfUQubWVudUl0ZW1zLldKKCJzaXplLWNoYW5nZSIpO0Q9e307Yj0hMTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XSxoPW4ub3B0aW9uc1trXSx4PWs9PT1uLlc7eCYmKGI9ITApO2gmJmgucHJpb3JpdHk9PT0tdj8obi5vcHRpb25zW2tdLnVwZGF0ZVZhbHVlKCJsYWJlbCIsbi5qKGspKSwKZGVsZXRlIG4ub3B0aW9uc1trXSk6aD1OWGgobixrLC12LHgpO0Rba109aDt2dShuLkssaCwhMCl9Ynx8KG4uVz1udWxsKTtmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobi5vcHRpb25zKSluLm9wdGlvbnNbdl0uZGlzcG9zZSgpO24ub3B0aW9ucz1EfTsKZW49ZnVuY3Rpb24obil7aWYobi5tZW51SXRlbSl7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk7bi5tZW51SXRlbS5lbmFibGUoISFXJiYhIVcuV2spfX07CmdWPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tQb3NpdGlvbj8udXRjVGltZU1pbGxpcykvMUUzO2xldCBiPWBlbWJhcmdvXyR7V31gO24uYXBpLmFkZFV0Y0N1ZVJhbmdlKGIsVyxXK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSwiZW1iYXJnbyIsITEpO0Qub25FbnRlciYmKG4uTltiXT1ELm9uRW50ZXIuZmlsdGVyKG4uSikpfX07CllJMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRSb290Tm9kZSgpO1c9bi5hcGkuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLmVtYmVkc0VuYWJsZUVtYzNkcz9XLnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnR8fFc6VztuLk49bmV3IHBLcihXLEQ9PntEIT1udWxsJiYobi5hcGkuRygpLmVLPUQsbi5hcGkuRygpLkxLPSJFTUJFRERFRF9QTEFZRVJfVklTSUJJTElUWV9GUkFDVElPTl9TT1VSQ0VfSU5URVJTRUNUSU9OX09CU0VSVkVSIil9KTsKZy51KG4sbi5OKTtuLmV2ZW50cy5OTihuLmFwaSwidmlkZW9TdGF0c1BpbmdDcmVhdGVkIixEPT57dmFyIGI9bi5OO2I9Yi5OPT1udWxsP251bGw6TWF0aC5yb3VuZChiLk4qMTAwKS8xMDA7RC5pbnZpZXc9YiE9bnVsbD9iOnZvaWQgMDtiPW4uYXBpLmdldFBsYXllclNpemUoKTtpZihiLmhlaWdodD4wJiZiLndpZHRoPjApe2I9W01hdGgucm91bmQoYi53aWR0aCksTWF0aC5yb3VuZChiLmhlaWdodCldO2xldCB2PWcuSF8oKTt2PjEmJmIucHVzaCh2KTtiPWIuam9pbigiOiIpfWVsc2UgYj12b2lkIDA7RC5zaXplPWJ9KX07CkhfVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+bmV3IG11KFcuaWQsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2taOlcua1p9KSl9OwpxVz1mdW5jdGlvbihuLFcsRCxiKXtmdW5jdGlvbiB2KGgpe3ZhciB4PSEoaC5zdGF0dXMhPT0yMDQmJmguc3RhdHVzIT09MjAwJiYhaC5yZXNwb25zZSk7aD17c3VjYzpgJHsreH1gLHJjOmguc3RhdHVzLGxiOmgucmVzcG9uc2U/LmJ5dGVMZW5ndGh8fDAscnQ6KCgwLGcuUikoKS1rKS50b0ZpeGVkKCksc2hvc3Q6Zy5JUChuKSx0cmlnZ2VyOld9O1hyKGgsbik7RCYmRChoKTtiJiYheCYmYihuZXcgZy5DaSgicGF0aHByb2JlLm5ldCIsaCkpfQp2YXIgaz0oMCxnLlIpKCk7Zy5lZChuLHtmb3JtYXQ6IlJBVyIscmVzcG9uc2VUeXBlOiJhcnJheWJ1ZmZlciIsdGltZW91dDoxRTQsb25GaW5pc2g6dixvblRpbWVvdXQ6dn0pfTsKWHI9ZnVuY3Rpb24obixXKXt3aW5kb3cucGVyZm9ybWFuY2U/LmdldEVudHJpZXNCeU5hbWUmJihXPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoVykpJiZXLmxlbmd0aCYmKFc9V1swXSxuLnBlZG5zPShXLmRvbWFpbkxvb2t1cEVuZC1XLnN0YXJ0VGltZSkudG9GaXhlZCgpLG4ucGVjb249KFcuY29ubmVjdEVuZC1XLmRvbWFpbkxvb2t1cEVuZCkudG9GaXhlZCgpLG4ucGVycXM9KFcucmVxdWVzdFN0YXJ0LVcuY29ubmVjdEVuZCkudG9GaXhlZCgpKX07CnRCPWZ1bmN0aW9uKG4pe3JldHVybiBHRChuLmlqLCFuLnBvbGljeS5mUixuLnBvbGljeS5RSCl9OwpmaXg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1pbihuLnBvbGljeS5UNiwkcyhuLmlqKSk7bj10QihuKTtyZXR1cm4gVy1EKm59OwpyVj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLm1heChNYXRoLm1heChuLnBvbGljeS5abSxuLnBvbGljeS5UNCpEKSxNYXRoLm1pbihNYXRoLm1pbihuLnBvbGljeS5ISiwzMSpEKSxNYXRoLmNlaWwoVypEKSkpKXx8bi5wb2xpY3kuWm19OwpzYj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe2lmKG4ucG9saWN5LlE3KXJldHVybiBNYXRoLmNlaWwobi5wb2xpY3kuUTcqVyk7bi5wb2xpY3kudm4mJihiPU1hdGguYWJzKGIpKTtiLz1uLnBsYXliYWNrUmF0ZTt2YXIgaz0xL0dEKG4uaWopO0Q9TWF0aC5tYXgoLjkqKGItMyksJHMobi5paikrbi5pai5KLk4qaykvayouOC8oVytEKTtEPU1hdGgubWluKEQsYik7bi5wb2xpY3kuSFk+MCYmdiYmKEQ9TWF0aC5tYXgoRCxuLnBvbGljeS5IWSkpO3JldHVybiByVihuLEQsVyl9OwpOVz1mdW5jdGlvbihuKXtyZXR1cm4gdEIobikvbi5wbGF5YmFja1JhdGV9Owpwdj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5yZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3l8fFtdLHY9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5zdGFydE1pblJlYWRhaGVhZFBvbGljeXx8W107bj1JbmZpbml0eTtXPVcmJmIubGVuZ3RoPjA/Yjp2O2ZvcihsZXQgayBvZiBXKVc9ay5taW5SZWFkYWhlYWRNc3x8MCxEPChrLm1pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjfHwwKXx8bj5XJiYobj1XKTtyZXR1cm4gbjxJbmZpbml0eT9uLzFFMzpufTsKZnY9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5pbmZvLmFaKXJldHVybiBELmxlbmd0aD09PTA/RC5wdXNoKGIpOihuPUQucG9wKCk/LmooYikpP0QucHVzaChuKTpELnB1c2goYiksdjsoRD1ELnBvcCgpPy5qKGIpKXx8KEQ9Yik7aWYoRC5pbmZvLk4pcmV0dXJuIG4ubG9nZ2VyJiZuLmxvZ2dlcih7aW5jb21wbGV0ZVNlZ21lbnQ6RC5pbmZvLmdhKCl9KSx2O3ZhciB7Zm9ybWF0SWQ6ayxqJDpoLHN0YXJ0VGltZU1zOngsY2xpcElkOkwscjk6ZX09bi5LKEQpO2I9e2NsaXBJZDpMLGZvcm1hdElkOmssc3RhcnRUaW1lTXM6eCxkdXJhdGlvbk1zOmUsQUM6aCxpOTpofTt2PVlzKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRztpZihHPUQpe0c9Yjt2YXIgcj12LE49RC5zdGFydFRpbWVNcytELmR1cmF0aW9uTXMsSD1HLnN0YXJ0VGltZU1zK0cuZHVyYXRpb25NcztpZihHLnN0YXJ0VGltZU1zLU4+bi5OKUc9ITE7ZWxzZSBpZihIdShuLEQuZm9ybWF0SWQsRy5mb3JtYXRJZCkpRC5kdXJhdGlvbk1zPQpNYXRoLm1heChOLEgpLUQuc3RhcnRUaW1lTXMsRC5pOT1NYXRoLm1heChELmk5LEcuaTkpLEc9ITA7ZWxzZSBpZihNYXRoLmFicyhELnN0YXJ0VGltZU1zLUcuc3RhcnRUaW1lTXMpPD1uLk4paWYoRC5kdXJhdGlvbk1zPkcuZHVyYXRpb25NcytuLk4pe3I9RC5mb3JtYXRJZDt2YXIgQT1ELkFDLHk9RC5pOTtELmZvcm1hdElkPUcuZm9ybWF0SWQ7RC5kdXJhdGlvbk1zPUcuZHVyYXRpb25NcztELkFDPUcuQUM7RC5pOT1HLmk5O0cuZm9ybWF0SWQ9cjtHLnN0YXJ0VGltZU1zPUg7Ry5kdXJhdGlvbk1zPU4tSDtHLkFDPUE7Ry5pOT15O0c9ITF9ZWxzZSBELmZvcm1hdElkPUcuZm9ybWF0SWQsRz0hMDtlbHNlIE4+Ry5zdGFydFRpbWVNcyYmKE4+SCYmKFcuc3BsaWNlKHIrMSwwLHtmb3JtYXRJZDpELmZvcm1hdElkLHN0YXJ0VGltZU1zOkgsZHVyYXRpb25NczpOLUgsQUM6Ry5pOSsxLGk5OkQuaTl9KSxuLmxvZ2dlciYmbi5sb2dnZXIoe3NwbGl0T2xkU3RhcnQ6RC5zdGFydFRpbWVNcz8udG9GaXhlZCgzKSwKc3BsaXRPbGRFbmQ6Tj8udG9GaXhlZCgzKSxzcGxpdE5ld1N0YXJ0Okcuc3RhcnRUaW1lTXM/LnRvRml4ZWQoMyksc3BsaXROZXdFbmQ6SD8udG9GaXhlZCgzKX0pKSxELmR1cmF0aW9uTXM9Ry5zdGFydFRpbWVNcy1ELnN0YXJ0VGltZU1zLEQuaTk9Ry5BQy0xKSxHPSExfUc/Yj1EOih2Kz0xLFcuc3BsaWNlKHYsMCxiKSk7RD0wO2ZvcihHPXYrMTtHPFcubGVuZ3RoO0crKyl7Tj1uO0g9V1tHXTtyPWI7QT1ILnN0YXJ0VGltZU1zK0guZHVyYXRpb25Nczt5PXIuc3RhcnRUaW1lTXMrci5kdXJhdGlvbk1zO3k+PUErTi5OP049ITA6eStOLk48SC5zdGFydFRpbWVNcz9OPSExOkh1KE4sSC5mb3JtYXRJZCxyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKWXM9ZnVuY3Rpb24obixXKXtuPWcuVzQobix7c3RhcnRUaW1lTXM6V30sKEQsYik9PkQuc3RhcnRUaW1lTXMtYi5zdGFydFRpbWVNcyk7CnJldHVybiBuPj0wP246LW4tMn07CkpCPWZ1bmN0aW9uKG4sVyxEKXtpZihuLmxvZ2dlcil7dmFyIGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl07ay5Faj8uc3RhcnRUaWNrcyYmYi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9wc3N0LiR7ay5Faj8uc3RhcnRUaWNrc31fcHNkLiR7ay5Faj8ubDh9YCk7Yi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9lLiR7ay5zdGFydFRpbWVNcytrLmR1cmF0aW9uTXN9X2QuJHtrLmR1cmF0aW9uTXN9X3NuLiR7ay5BQ31fZW4uJHtrLmk5fWApfW4ubG9nZ2VyKHtwOmAke0R9YCxicjpiLmpvaW4oIjsiKX0pfX07Ckk2PWZ1bmN0aW9uKG4sVyxEPSExKXtpZihuLlFFKXt2YXIgYj1uLlFFLlpGKCk7aWYoYi5sZW5ndGghPT0wKXtpZihuLlcmJlcpe3ZhciB2PW4uVyxrPXYuaW5mby5YOyFCUihiLGspJiZ2LmluZm8uSz4wJiYoMCxnLlIpKCktbi5EPDVFMyYmKG4ubG9nZ2VyJiZuLmxvZ2dlcih7ZGVuZDp2LmluZm8uZ2EoKX0pLGI9akcoYixrLGsrLjAxKSl9dj1bXTtmb3IodmFyIGg9az0wO2s8Yi5sZW5ndGgmJmg8bi5lVy5sZW5ndGg7KXt2YXIgeD1iLnN0YXJ0KGspO2xldCBOPWIuZW5kKGspO3ZhciBMPW4uZVdbaF0uc3RhcnRUaW1lTXMvMUUzO2xldCBIPShuLmVXW2hdLnN0YXJ0VGltZU1zK24uZVdbaF0uZHVyYXRpb25NcykvMUUzO2lmKEw8PU4mJkg+PXgpe2xldCBBPXsuLi5uLmVXW2hdfTt2YXIgZT1uLkt1LkouZ2V0KE1rKG4uZVdbaF0uZm9ybWF0SWQpKSxHPU1hdGgubWF4KEwseCk7eD1lLmluZGV4LlIzKEcrbi5OLzFFMyk7TD1lLmluZGV4LmdldFN0YXJ0VGltZSh4KTt2YXIgcj14KworKE1hdGguYWJzKEwtRyk+bi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uaW5mby5XfHwxMTshRCYmaD09PW4uSiYmTjxIJiZILU48PXgqMS4wMSYmIShuLnBvbGljeS5TdyYmbi5RRSYmbi5RRS55dSgpKSYmKE49SCk7eD1NYXRoLm1pbihILE4pO0w9ZS5pbmRleC5SMyh4LW4uTi8xRTMpO0c9ZS5pbmRleC5qRShMKTtMLT0rKE1hdGguYWJzKEcteCk+bi5OLzFFMyk7eD1MK24uWDtlPWUuaW5kZXguakUoTCkqMUUzO0EuaTk9eDtBLmR1cmF0aW9uTXM9ZS1BLnN0YXJ0VGltZU1zO0EuQUM8PUEuaTkmJnYucHVzaChBKX1IPE4/aCs9MTprKz0xfW4uZVc9dn19fTsKSmFpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9Wy4uLm4uUDNdO24uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5UQy5aUCgpLHY9bi5KO2ZvcihsZXQgayBvZiBiKXY9ZnYobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLFAzOkR9fTsKSHU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXLml0YWchPT1ELml0YWd8fFcueHRhZ3MhPT1ELnh0YWdzPyExOm4uS3Uueld8fFcubG10PT09RC5sbXR9OwpaYj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCFXLlBKLk4oKSl7aWYoISh2PUQ9PT0wfHwhIVcuSi5sZW5ndGgmJlcuSlswXWluc3RhbmNlb2YgU24pKWE6e2lmKFcuSi5sZW5ndGgmJih2PVcuSlswXSx2IGluc3RhbmNlb2YgQUImJnYuSk8mJnYuYUkpKXt2PSEwO2JyZWFrIGF9dj0hMX12fHxuLnBvbGljeS5OfHxtaShXKTtyZXR1cm4gRH12YXIgaz1LdihXLEQpO2lmKCFpc05hTihrKSlyZXR1cm4gaztpZihuLmxvYWRlci5DNyhEKjFFMykpcmV0dXJuIEQ7di5BTT9uLnBvbGljeS5WSCYmKG49T2Iobi5sb2FkZXIsVyksVy5zTShEK24sITApKTooVy56aSgpLG4ubG9hZGVyLlgkKCExLGBzdGFfJHsrVy5QSi5pbmZvLmVTKCl9YCkpO3JldHVybiBiJiYobj1GWihiLlpGKCksRCksIWlzTmFOKG4pKT8oUHUoVyxuK0lpYix2KSxEKTpQdShXLEQsdil9OwpVYj1mdW5jdGlvbihuLFcsRCl7aWYoIW4ucG9saWN5Lmope249Vy5QSi5pbmRleDt2YXIgYj1XLk4uaiQ7bi5NSShiKXx8RCYmRC5qJD09PWI/KFcuUEQ9IW4uTUkoYiksVy5EPSFuLk1JKGIpKTooVy5QRD0hMCxXLkQ9ITApfX07CkViPWZ1bmN0aW9uKG4pe3ZhciBXPU1hdGgubWF4KG4udmlkZW9UcmFjay5TRSgpLG4uYXVkaW9UcmFjay5TRSgpKTt5ayhuLnZpZGVvVHJhY2spO3lrKG4uYXVkaW9UcmFjayk7bi5wb2xpY3kuanx8ajQobi5LdSk7bi5LdS5pc01hbmlmZXN0bGVzcyYmIW4ucG9saWN5LmomJihuLk49ITAsbi5KPTApO3ZhciBEPW4ubG9hZGVyO2lmKCFELnBvbGljeS5sbnx8RC5wb2xpY3kuR0MpRC5jdXJyZW50VGltZT1XO24uc2Vla2luZz0hMDtuLlc9bmV3IFk2O3JldHVybiBuLld9OwpvNj1mdW5jdGlvbihuKXt2YXIgVz1uLnZpZGVvVHJhY2suWCE9PS0xLEQ9bi5hdWRpb1RyYWNrLlghPT0tMTtpZighV3x8IUQpaWYoVz0hVyYmaVkobi52aWRlb1RyYWNrKSxEPSFEJiZpWShuLmF1ZGlvVHJhY2spLFd8fEQpaWYoRD1XP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2ssVz1XP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2ssRC5YPWlZKEQpLmluZm8uaiQsbi5wb2xpY3kuaiYmKFcuWD1pWShXKT8uaW5mby5UQygpfHxXLlgpLFcuWCE9PS0xKXtsZXQgYj1NYXRoLm1heChXLlBKLmluZGV4LmdldFN0YXJ0VGltZShXLlgpLEQuUEouaW5kZXguZ2V0U3RhcnRUaW1lKEQuWCkpO3VBKG4uS3UpJiZNYXRoLmFicyhiLXVBKG4uS3UpKT40MzJFMyYmS0t0KG4uS3UpO24uSiYmKGI9bi5KLG4uSj0wKTtnLm1LKCgpPT57bi5wb2xpY3kuanx8dVkobixiLDEwMil9KTsKbi5sb2FkZXIuVSgiaW5pdE1hbmlmZXN0bGVzc1N5bmMiLHtzdDpiLG9zdDpiK24ubG9hZGVyLlNXKCksYTpuLmF1ZGlvVHJhY2suWCx2Om4udmlkZW9UcmFjay5YfSk7bi5XJiYobi5XLnJlc29sdmUoYisuMSksbi5XPW51bGwpO24ucG9saWN5LmomJnVZKG4sYiwxMDIpfX07ClNJWj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uaXNTZWVraW5nKCkpcmV0dXJuLTE7RD0oRD9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5QSi5pbmRleDt2YXIgYj1ELlIzKG4udGFyZ2V0VGltZSk7cmV0dXJuKEQuTUkobi5LdS5JdCl8fFcuaiQ9PT1uLkt1Lkl0KSYmYjxuLkt1Lkl0P24uS3UuTGYoKTotMX07CnVZPWZ1bmN0aW9uKG4sVyxEKXtuLk4mJm4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEmJihuLk49ITEsbi50YXJnZXRUaW1lPVcsZFYobi5sb2FkZXIsVysuMSx7QTk6ITAscWQ6ImNodW5rU2VsZWN0b3JTeW5jaHJvbml6ZSIscWE6ITAsc2Vla1NvdXJjZTpEfSkpfTsKQWEyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4ucG9saWN5LmopIWJ8fCFuLk4mJm4ucG9saWN5LkJWfHxnLm1LKCgpPT57bzYobil9KTsKZWxzZXtpZihuLmlzU2Vla2luZygpJiZuLnRhcmdldFRpbWUpe2xldCBrPVNJWihuLFcsRCk7aWYoayE9PS0xKXtuLnZpZGVvVHJhY2suUEQ9ITE7bi5hdWRpb1RyYWNrLlBEPSExO24uTj0hMDtuLko9MDtnLm1LKCgpPT57bi5sb2FkZXIuVSgic2Vla3JlYXNvbiIse3JlYXNvbjoiYmVoaW5kTWluU3EiLHRndDprfSk7dVkobixrKX0pOwpyZXR1cm59fUQ/bi52aWRlb1RyYWNrLkQ9ITE6bi5hdWRpb1RyYWNrLkQ9ITE7dmFyIHY9IW4uTjtLdihuLnZpZGVvVHJhY2ssbi50YXJnZXRUaW1lKT49MCYmS3Yobi5hdWRpb1RyYWNrLG4udGFyZ2V0VGltZSk+PTAmJnY/KG4uUEQoKSYmbi5sb2FkZXIuVSgiaXRlcmF0aXZlU2Vla2luZyIse3N0YXR1czoiZG9uZSIsY291bnQ6bi5zZWVrQ291bnR9KSxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExKTpiJiZnLm1LKCgpPT57aWYobi5OfHwhbi5wb2xpY3kuQlYpbzYobik7ZWxzZXt2YXIgaz1XLnN0YXJ0VGltZSxoPVcuZHVyYXRpb247aWYoIW4ucG9saWN5Lmope3ZhciB4PW4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEsTD0hbi52aWRlb1RyYWNrLkQmJiFuLmF1ZGlvVHJhY2suRDsoRD9uLnZpZGVvVHJhY2suUEQ6bi5hdWRpb1RyYWNrLlBEKSYmeCYmTCYmKG4udGFyZ2V0VGltZT49ayYmbi50YXJnZXRUaW1lPGsraCsuMT8oKEQ/bi52aWRlb1RyYWNrOgpuLmF1ZGlvVHJhY2spLlBEPSExLG4uUEQoKXx8KG4ubG9hZGVyLlUoIml0ZXJhdGl2ZVNlZWtpbmciLHtzdGF0dXM6ImRvbmUiLHRhcmdldDprLG9yaWdpbmFsVGltZTprK24ubG9hZGVyLlNXKCksY291bnQ6bi5zZWVrQ291bnR9KSxuLnNlZWtDb3VudD0wKSk6bi5zZWVrQ291bnQ8OD8obi5zZWVrQ291bnQrKyxuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbnByb2dyZXNzIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprLGR1cmF0aW9uOmgsaXNWaWRlbzpEfSksbi5zZWVrKG4udGFyZ2V0VGltZSx7fSkpOihuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbmNvbXBsZXRlIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprfSksbi5zZWVrQ291bnQ9MCxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExLGRWKG4ubG9hZGVyLGsrLjEse0E5OiEwLHFkOiJjaHVua1NlbGVjdG9yU3luY2hyb25pemVNZWRpYSIsCnFhOiEwfSkpKX19fSl9fTsKVEQ9ZnVuY3Rpb24obixXLEQpe3pEKG4uaWosVyk7bi5EdCYmKG4uRHQuYWRkKE1hdGguY2VpbChXKS1NYXRoLmNlaWwobi5LKSksbi5EdC5hZGQoTWF0aC5tYXgoMCxNYXRoLmNlaWwoRC8xMDI0KS1NYXRoLmNlaWwobi5YLzEwMjQpKSkpO3ZhciBiPVctbi5LLHY9RC1uLlg7bi5VNT12O24ualc9TWF0aC5tYXgobi5qVyx2LyhiKy4wMSkqMUUzKTtuLks9VztuLlg9RDtuLkhKJiZEPm4uSEomJmxZKG4pfTsKbFk9ZnVuY3Rpb24obil7bi5udT1NYXRoLm1heChuLm51LG4uWC1uLlJ0KTtuLlZRPU1hdGgubWF4KG4uVlEsbi5LLW4uWmgpO24uSEo9MH07Cm13cj1mdW5jdGlvbihuLFcpe24udXJsPVc7d2luZG93LnBlcmZvcm1hbmNlJiYhcGVyZm9ybWFuY2Uub25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwmJihwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbD0oKT0+e3BlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCl9KX07CmpuPWZ1bmN0aW9uKG4pe24uaXNBY3RpdmUmJihuLmlzQWN0aXZlPSExKX07CkN2PWZ1bmN0aW9uKG4pe24uZSQ9bi5OK24uc25hcHNob3QuZGVsYXkqMUUzO24udlg9ITF9OwpGcj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uZGlzYWJsZVJlY29yZGluZyl7Vz1NYXRoLm1heChXLC4wMSk7dmFyIGI9bi5xWT9NYXRoLm1heChXLEQvbi5xWSk6Vyx2PW4uaWouSi5XO3YmJihiPVcsbi5xWSYmKGI9TWF0aC5tYXgoVyxEL24ucVkqdikpKTtCdShuLmlqLFcsRCxiKX19Owp3Vj1mdW5jdGlvbihuKXt2YXIgVz1uLkZGfHxuLkdDO3JldHVybiBXP24uc25hcHNob3QuZGVsYXkrTWF0aC5taW4obi5POCwobi5jSi1uLnR3KS8xRTMpK1c6bi5zNX07Ck1XPWZ1bmN0aW9uKG4pe3JldHVybihuLlktbi5OKS8xRTN9OwpRaz1mdW5jdGlvbihuLFcpe2lmKG4uaG4mJm4uaiQhPT12b2lkIDAmJm4uWkEhPT12b2lkIDApe3ZhciBEPU1hdGgsYj1ELm1pbix2PW4uVjt2YXIgaz1uLmhuO3ZhciBoPW4uTjtpZihSNihrLG4uaiQpKWs9VztlbHNle3ZhciB4PTA7ay50SSYmKHg9LjIpO2s9aCsoay5POCt4KSoxRTN9bi5WPWIuY2FsbChELHYsayk7RD1NYXRoO2I9RC5taW47dj1uLk87az1uLmhuO2g9bi5OO3g9S2EyKGssbi5qJCxuLlpBKTt4IT09MiYmKFc9eD9XOmgray5POCoxRTMsay50SSYmKFcrPWsuTzgqMUUzKSk7bi5PPWIuY2FsbChELHYsVyk7bi5WPD1uLk4/Q3Yobik6KG4uZSQ9bi5WLG4udlg9ITApfX07ClZrPWZ1bmN0aW9uKG4sVyl7aWYoVysxPD1uLnRvdGFsTGVuZ3RoKXt2YXIgRD1yZChuLFcpO0Q9RDwxMjg/MTpEPDE5Mj8yOkQ8MjI0PzM6RDwyNDA/NDo1fWVsc2UgRD0wO2lmKEQ8MXx8IShXK0Q8PW4udG90YWxMZW5ndGgpKXJldHVyblstMSxXXTtpZihEPT09MSluPXJkKG4sVysrKTtlbHNlIGlmKEQ9PT0yKUQ9cmQobixXKyspLG49cmQobixXKyspLG49KEQmNjMpKzY0Km47ZWxzZSBpZihEPT09Myl7RD1yZChuLFcrKyk7dmFyIGI9cmQobixXKyspO249cmQobixXKyspO249KEQmMzEpKzMyKihiKzI1NipuKX1lbHNlIGlmKEQ9PT00KXtEPXJkKG4sVysrKTtiPXJkKG4sVysrKTtsZXQgdj1yZChuLFcrKyk7bj1yZChuLFcrKyk7bj0oRCYxNSkrMTYqKGIrMjU2Kih2KzI1NipuKSl9ZWxzZSBEPVcrMSxuLmZvY3VzKEQpLFhhKG4sRCw0KT9uPXFEKG4pLmdldFVpbnQzMihELW4uVywhMCk6KGI9cmQobixEKzIpKzI1NipyZChuLEQrMyksbj1yZChuLEQpKzI1NioocmQobixEKzEpKwoyNTYqYikpLFcrPTU7cmV0dXJuW24sV119OwpjdT1mdW5jdGlvbihuKXtyZXR1cm4gZy5keihuLmluZm8uQXcsVz0+Vy50eXBlPT09Myl9OwpDbmk9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz8obmV3IHVvKG4uSikpLmVuY3J5cHQoVyxuLk4pOld9OwpGSTE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz9hd2FpdCAobmV3IHVvKG4uSikpLmRlY3J5cHQoVyxuLk4pOld9OwphNj1mdW5jdGlvbihuKXtuLlcucmVhZCgpLnRoZW4obi5ZLG4ub25FcnJvcikudGhlbih2b2lkIDAsZy5xZyl9OwpXcD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGdaKDYsMTE3MCxuLkFPKSlyZXR1cm4gbmV3IE9fcihuLEQpO249bi5XRCgpO3JldHVybiBiP3lXKCk/bmV3IG4zKG4sVyxELHYpOm5ldyBQSGoobixXLEQsdik6bmV3IFpfQyhuLEQsdil9OwpEeD1mdW5jdGlvbihuLFcsRCl7bi5OJiYoZTUobi5OLFcpLFc9bi5OLG4uTj1udWxsKTt2YXIgYj0wLHY9MDtmb3IobGV0IEwgb2Ygbi5Bdyl7aWYoTC5yYW5nZSYmYitMLko8PW4uSil7Yis9TC5KO2NvbnRpbnVlfWlmKGhKKEwpJiYhRCYmbi5KK1cudG90YWxMZW5ndGgtdjxiK0wuSil7KHtZOTpuLk59PVcuc3BsaXQodikpO2JyZWFrfWE6e3ZhciBrPW47dmFyIGg9TCx4PW4uSi1iO2xldCBlPVcudG90YWxMZW5ndGgtdjtoLnJhbmdlJiYoZT1NYXRoLm1pbihoLkoteCxlKSk7aD1HUChoLGguTit4LGUsaC5yYW5nZT9oLk4reCtlPT09aC5yYW5nZS5sZW5ndGg6ISFEKTt4PWdkKFcsdixlKTtoPW5ldyBiOChoLHgpO2lmKGsualMubGVuZ3RoJiYoeD1rLmpTW2sualMubGVuZ3RoLTFdLmooaCkpKXtrLmpTW2sualMubGVuZ3RoLTFdPXg7az1lO2JyZWFrIGF9ay5qUy5wdXNoKGgpO2s9ZX1uLkorPWs7dis9aztiKz1MLko7aWYodj09PVcudG90YWxMZW5ndGgpYnJlYWt9fTsKYnU9ZnVuY3Rpb24obil7cmV0dXJuIFVZKG4ubm4sUjAoNjQsMzUzNixuLlNPLkFPKSl9Owp2cD1mdW5jdGlvbihuKXtuLlhiLk89KDAsZy5SKSgpO249YnUobik7bi5qPSgwLGcuUikoKTtuLnN0YXJ0ZWQrPTF9OwprWj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe24udGltaW5nLkhEKCgwLGcuUikoKSxXLEQpO1c9bi5YYjtXLko9MDtXLlY9MDtXLkQ9MDt6aihidShuKSx2KTtiJiYoYj1idShuKSxiLlcrPTEpO24uVWo/Lk8obi5TTy5BTyl9OwpoVT1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubGFzdEVycm9yPT09InVtcC5zcHNyZWplY3RmYWlsdXJlIiluLnRpbWluZy5iZHx8d0Eobi5YYiwhMSxuLlNPLG4ucG9saWN5LG4ubm4pO2Vsc2V7aWYobi5sYXN0RXJyb3I9PT0ibmV0LnRpbWVvdXQiKW4udGltaW5nLnlFKCgwLGcuUikoKSk7ZWxzZXt2YXIgRD1uLnRpbWluZztURChELCgwLGcuUikoKSxELlgpfW4ubGFzdEVycm9yPT09Im5ldC5ub2NvbnRlbnQiPysrbi5YYi5EOigoRD1uLmxhc3RFcnJvcj09PSJuZXQudGltZW91dCJ8fG4ubGFzdEVycm9yPT09Im5ldC5jb25uZWN0Inx8bi5sYXN0RXJyb3I9PT0ibmV0LmNsb3NlZCIpJiYhZ1ooNiwxMTcwLG4uU08uQU8pP29FaShidShuKSxXKTp5ZihidShuKSxXKSxuLnRpbWluZy5iZHx8d0Eobi5YYixELG4uU08sbi5wb2xpY3ksbi5ubikpfW4uWWEudlYoNSl9Owp4Wj1mdW5jdGlvbihuLFcsRCxiPSExLHY9ITEsaz0hMSl7cmV0dXJuIFc+PTQwMHx8az8obi5sYXN0RXJyb3I9az8icHJvYmUubmV0LmJhZHN0YXR1cyI6Im5ldC5iYWRzdGF0dXMiLCEwKTp2PyhuLmxhc3RFcnJvcj0idW1wLnNwc3JlamVjdGZhaWx1cmUiLCEwKTpEfHxiPyExOihuLmxhc3RFcnJvcj1XPT09MjA0PyJuZXQubm9jb250ZW50IjoibmV0LmNvbm5lY3QiLCEwKX07CkwzPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuYiQpcmV0dXJuITE7dmFyIEQ9Vy5nZXRSZXNwb25zZUhlYWRlcigiY29udGVudC10eXBlIiksYj1XLmlpKCk7bj0hYnx8Yjw9bi5wb2xpY3kub2M7cmV0dXJuKCFXLkdwKCl8fCFEfHxELmluZGV4T2YoInRleHQvcGxhaW4iKSE9PS0xKSYmbn07CmVWPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9IiI7Vz1XLnNOKCk7Vy50b3RhbExlbmd0aDw9bi5wb2xpY3kub2MmJihuPXRSKFcpLG49cFIobiksRD1nWChuKT9uOiIiKTtyZXR1cm4gRH07CmdDPWZ1bmN0aW9uKG4pe3ZhciBXPW4udGltaW5nLkQoKTtXLnNob3N0PVIwKDk2LDM1Njgsbi5TTy5BTyk7bi5wb2xpY3kuQ3UmJm4ucG9saWN5LnZYJiYoVy5jc3JjPTEpO3JldHVybiBXfTsKVXdiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4/Lm1heFdpZHRoPlc/Lm1heFdpZHRofHxuPy5tYXhIZWlnaHQ+Vz8ubWF4SGVpZ2h0fTsKeWFqPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcua2V5cygpKXtsZXQgYj1XLmdldChEKTtpZihiLmxlbmd0aD09PTApY29udGludWU7Zy5iZihiLChoLHgpPT54Lm1heEZyYW1lcmF0ZS1oLm1heEZyYW1lcmF0ZSk7CmxldCB2PVtiWzBdXSxrPTA7Zm9yKGxldCBoPTE7aDxiLmxlbmd0aDtoKyspVXdiKGJbaF0sdltrXSkmJih2LnB1c2goYltoXSksaysrKTtuPW4uY29uY2F0KHYpfXJldHVybiBufTsKaV9iPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpVz1FdGpbYl18fDAsbi5OJiZXPm4uTnx8RC5wdXNoKGIpO3JldHVybiBEfTsKWHU9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXVkWltuXXx8W107RC5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4IikmJihiPW90dFtuXXx8W10pO1cucHVzaCguLi5iKTtELlMoImh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9kcm0iKSYmVy5wdXNoKC4uLihkd3Rbbl18fFtdKSl9Owp6eFM9ZnVuY3Rpb24obixXKXt2YXIgRD1WeihuKSxiPW4uRygpLHY9Yi5XO2I9Yi5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4Iik7dmFyIGs9bi5OUCgpO2lmKGIpe2lmKCF2Lk4pe2lmKGsmJnFxKXJldHVybiBxcTtpZihHSSlyZXR1cm4gR0l9fWVsc2UgaWYoR0kmJiF2Lk4pcmV0dXJuIEdJO3ZhciBoPVtdLHg9W10sTD17fSxlPXRVLmNvbmNhdCgkWik7YiYmKGU9dFUuY29uY2F0KHJDKSk7bi5TKCJodG1sNV9lYXJseV9tZWRpYV9mb3JfZHJtIikmJihlPWUuY29uY2F0KHNHKSxuLlMoImFsbG93X3ZwOV8xMDgwcF9tcV9lbmMiKSYmZS5wdXNoKE5xKSk7dmFyIEc9Wy4uLnAzXTtuLlMoImh0bWw1X2lhbWZfYXVkaW9fb25lc2llX2ZtdCIpJiZHLnB1c2goWyI3NzMiXSk7Zm9yKHZhciByIG9mIGUpe2U9ITE7Zm9yKGxldCBIIG9mIHIpe3ZhciBOPVNNKEgsayYmYik7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2lmKE4uTVcoKSYmIUQuZSQmJk4udmlkZW8ucXVhbGl0eU9yZGluYWw+CkQublMpY29udGludWU7bGV0IEE9Zy5kTShuLkcoKS5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7aWYoQT4wJiZVTihOKSYmTi5Ocz5BKWNvbnRpbnVlO2lmKGUpe2gucHVzaChIKTtYdShILGgsbik7Y29udGludWV9Tj1zRChELE4sdik7Tj09PSEwPyhlPSEwLGgucHVzaChIKSxYdShILGgsbikpOkxbSF09Tn19Zm9yKGxldCBIIG9mIEcpZm9yKGxldCBBIG9mIEgpe3I9QXUoQSk7aWYoIXJ8fCFyLmF1ZGlvfHwhbi5TKCJodG1sNV9vbmVzaWVfNTFfYXVkaW8iKSYmci5WKCkpY29udGludWU7cj1zRChELHIsdik7aWYocj09PSEwKXt4LnB1c2goQSk7WHUoQSx4LG4pO2JyZWFrfWVsc2UgTFtBXT1yfWlmKCFuLlMoImh0bWw1X2VuYWJsZV9hdWRpb19xdWFsaXR5X3NldHRpbmciKSl7bj1bIjE0MSIsIjc3NCJdO2ZvcihsZXQgSCBvZiBuKXguaW5jbHVkZXMoSCkmJihnLkZJKHgsSCksTFtIXT0iYmxraHFhIil9RC5XJiZXKCJvcmZtdHMiLEwpO2lmKGIpcmV0dXJuIHYuTiYmCih2Lk49ITEscXE9R0k9dm9pZCAwKSxrP3FxPXt2aWRlbzpoLGF1ZGlvOnh9OkdJPXt2aWRlbzpoLGF1ZGlvOnh9O0dJPXt2aWRlbzpoLGF1ZGlvOnh9O3YuTj0hMTtyZXR1cm4gR0l9OwpqRk09ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLkwsYj1uLnlRLHY9bi5paixrPUQuZ2V0VmlkZW9EYXRhKCksaD1wNygwKTt2YXIgeD1ELmdldFZpc2liaWxpdHlTdGF0ZSgpO2IuUygiaHRtbDVfZW5hYmxlX2F1ZGlvX3F1YWxpdHlfc2V0dGluZyIpJiYoVy5pQj1iLmlCKTtoJiYoVy5pSD1oLFcubGFzdE1hbnVhbERpcmVjdGlvbj1Sc3goKSxoPVVQKCl8fDAsaD4wJiYoaD0oYi5TKCJodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2UiKT9EYXRlLm5vdygpOigwLGcuUikoKSktaCxiLlMoImh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZSIpP2g+MCYmKFcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpOlcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpKTtpZih2Lk98fGIuUygiaHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lIikmJnc4KWg9CmIuUygiaHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmUiKT8hIW4ub1o/LmZSOiExLFcuSSQ9R0QodiwhaCk7dmFyIEw9TkcubWVkaXVtLGU9TWF0aC5mbG9vcihMKjE2LzkpLEc9ay5OUCgpfHwoay5OJiZrLlcmJmsuVy52aWRlb0luZm9zLmxlbmd0aCE9PTA/ay5XLnZpZGVvSW5mb3NbMF0uaXNWZXJ0aWNhbCgpOiExKTtoPUc/TDplO2U9Rz9lOkw7Rz1ELlNpKCk7TD1HLndpZHRoO0c9Ry5oZWlnaHQ7Vy5zQT1NYXRoLm1heChMLGgpO1cuWUE9TWF0aC5tYXgoRyxlKTtiLlMoImh0bWw1X2VuYWJsZV9jbGllbnRfdmlld3BvcnRfc2l6ZV9sb2dnaW5nIikmJmIuV1goKSYmKGg9RC5NaCgpLEQuVSgiY3Z3Iix7dzpMLGg6Ryxjdnc6Vy5zQSxjdmg6Vy5ZQSxjdnU6aC5OfSkpO1cudmlzaWJpbGl0eT14O1cuWkk9Zy52SSgpO1cuZnE9RC5sNSgpKjFFMzt4PW4uTC52JCgpO1cuTk89e2RlZmF1bHRQb2xpY3k6eD8uRHI/Lk58fDAsc21vb3RoOng/LnpOPy5OfHwKMCx2aXNpYmlsaXR5Ong/LmN3Py5OfHwwLE9iOng/LkFFPy5OfHwwLHBlcmZvcm1hbmNlOng/LmlQPy5OfHwwLHNwZWVkOng/LlhOPy5OfHwwfTtXLlROPXg/LlFZPy5OfHwwO2lmKG4uaHF8fG4uQ3gmJiFuLmdEKWg9Yi5adCgpLk4uUVEobGlaKT8/MCxoPjAmJiFXLlROJiYoTD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLGgsITEsInAiKSksVy5OTy5kZWZhdWx0UG9saWN5PUwuTixELlUoImxzbCIse3FjOmh9KSksay5saXZlUHJlbG9hZCYmay5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIikmJiFrLkcoKS5adCgpLk4uUVEoSHApJiYoeD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLDI0MCwhMSwicCIpKSxXLk5PLmRlZmF1bHRQb2xpY3k9eC5OKTt4PW4uaHF8fGsuWjk/W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9LHt0cmFja1R5cGU6Myxpc0hkcjohMX0se3RyYWNrVHlwZTozLAppc0hkcjohMH0se3RyYWNrVHlwZTo0LGlzSGRyOiExfSx7dHJhY2tUeXBlOjQsaXNIZHI6ITB9LHt0cmFja1R5cGU6NSxpc0hkcjohMX0se3RyYWNrVHlwZTo1LGlzSGRyOiEwfV06W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9XTtXLmtjPW4uYXV0aG9yaXplZEZvcm1hdHMmJm4uYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoPjA/e2F1dGhvcml6ZWRGb3JtYXRzOm4uYXV0aG9yaXplZEZvcm1hdHN9OnthdXRob3JpemVkRm9ybWF0czp4fTtuLnNhYnJMaWNlbnNlQ29uc3RyYWludCYmKFcua2Muc2FickxpY2Vuc2VDb25zdHJhaW50PW4uc2FickxpY2Vuc2VDb25zdHJhaW50KTtpZihiLlMoImh0bWw1X29uZXNpZV9tZWRpYV9jYXBhYmlsaXRpZXMiKXx8TEEoaykpVy5ZZj0zO2lmKGIuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEoayl8fG4ub1o/Lk4mJmxvKGIpPT09IlRWSFRNTDVfQVVESU8iKVcuWWY9CjE7bi5vWj8ueUUmJm4ub0cmJihXLllmPVcuWWY9PT12b2lkIDA/NzpXLllmfDQpO3g9ay5lJD9rLmUkOlZ6KGspO2lmKGIuUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtoPWIuVztMPVtdO2U9W107Rz1iLlMoImh0bWw1X3Nob3J0c19vbmVzaWVfbWlzbWF0Y2hlZF9maXgiKTt2YXIgcj1rLk5QKCksTj10VS5jb25jYXQoJFopO0cmJihOPXRVLmNvbmNhdChyQykpO2IuUygiaHRtbDVfZWFybHlfbWVkaWFfZm9yX2RybSIpJiYoTj1OLmNvbmNhdChzRyksYi5TKCJhbGxvd192cDlfMTA4MHBfbXFfZW5jIikmJk4ucHVzaChOcSkpO3ZhciBIPVsuLi5wM107Yi5TKCJodG1sNV9pYW1mX2F1ZGlvX29uZXNpZV9mbXQiKSYmSC5wdXNoKFsiNzczIl0pO2Zvcih2YXIgQSBvZiBOKWZvcih2YXIgeSBvZiBBKXtOPVNNKHksciYmRyk7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2xldCBRPWcuZE0oYi5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7CmlmKCEoUT4wJiZVTihOKSYmTi5Ocz5RKSYmc0QoeCxOLGgpPT09ITApe0wucHVzaCh7dmlkZW9Db2RlYzpmM1tZZ1t5XV0sbWF4V2lkdGg6Ti52aWRlby53aWR0aCxtYXhIZWlnaHQ6Ti52aWRlby5oZWlnaHQsbWF4RnJhbWVyYXRlOk4udmlkZW8uZnBzfSk7YnJlYWt9fWZvcih2YXIgVCBvZiBIKWZvcih2YXIgeiBvZiBUKWlmKChBPUF1KHopKSYmQS5hdWRpbyYmKGIuUygiaHRtbDVfb25lc2llXzUxX2F1ZGlvIil8fCFBLlYoKSkmJnNEKHgsQSxoKT09PSEwKXtlLnB1c2goe2F1ZGlvQ29kZWM6SlVbWWdbel1dLG51bUNoYW5uZWxzOkEuYXVkaW8ubnVtQ2hhbm5lbHN9KTticmVha31XLm1lZGlhQ2FwYWJpbGl0aWVzPXt2aWRlb0Zvcm1hdENhcGFiaWxpdGllczpMLGF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzOmV9fWlmKG4ub1o/LkR0KCkpe0E9bi5JODt5PW4ubGw7aD1uLm9aPy5OcztUPVtdO3o9W107TD1uZXcgTWFwO2U9KGU9ay5KKT9lLml0YWc6dm9pZCAwO0c9ay5XPy52aWRlb0luZm9zOwpHPUc/Lmxlbmd0aD9HW0cubGVuZ3RoLTFdLml0YWc6dm9pZCAwO2U9IVZUKCkmJmUhPT12b2lkIDAmJkE/LmluY2x1ZGVzKE51bWJlcihHKSk7Rz1rLnl3Lk47Zm9yKHZhciBDIG9mIEcudmFsdWVzKCkpQy5lUz96LnB1c2goe2F1ZGlvQ29kZWM6SlVbQy5JQl0sbnVtQ2hhbm5lbHM6Qy5udW1DaGFubmVscyxzcGF0aWFsQ2FwYWJpbGl0eUJpdG1hc2s6VFhNW0MuSUJdfSk6KEc9ZjNbQy5JQl0scj1DLm1heEJpdHJhdGVCcHN8fDAsSD1oP2gqODowLHI9e3ZpZGVvQ29kZWM6RyxtYXhXaWR0aDp5JiYhZT84NTQ6Qy5tYXhXaWR0aHx8MCxtYXhIZWlnaHQ6eSYmIWU/NDgwOkMubWF4SGVpZ2h0fHwwLG1heEZyYW1lcmF0ZTpDLm1heEZyYW1lcmF0ZXx8MCxpczEwQml0U3VwcG9ydGVkOkMuejl8fCExLG1heEJpdHJhdGVCcHM6SCYmcj9NYXRoLm1pbihILHIpOkh8fHIsZWZmaWNpZW50OiEwfSxHPWAke0d9XyR7Qy56OX1gLEg9TC5nZXQoRyl8fFtdLEgucHVzaChyKSxMLnNldChHLEgpKTsKVD15YWooVCxMKTtDPUEmJiFlP1suLi5BXTpbXTtrLlMoImh0bWw1X3NzZmZfZGVueWxpc3Rfb3B1c19sb3ciKSYmQy5wdXNoKDI0OSwzNTApO1Z6KGspO1cubWVkaWFDYXBhYmlsaXRpZXM9e3ZpZGVvRm9ybWF0Q2FwYWJpbGl0aWVzOlQsYXVkaW9Gb3JtYXRDYXBhYmlsaXRpZXM6eixoZHJNb2RlQml0bWFzazozLHBlclBsYXliYWNrQXR0cmlidXRlczpDLmxlbmd0aD97aXRhZ0RlbnlsaXN0OkN9Ont9fX1XLnVxPVZUKCk7bi5vWj8uTiYmKFcuYnY9eC5idixXLm5TPW4ub1o/Lm5TKTtiLnlFJiYoVy5FYj1iLnlFKTtXLm5SPW4ublI7Vy5Zcz1uLllzO1cuZXE9bi5lcTtXLmo0PW4uajQ7bi5weiYmKFcubHE9KDAsZy5SKSgpLW4ucHopO24uSiQmJihXLkokPW4uSiQpO05zfHwoVy5aQz0hMCk7Qz0kcyh2KSoxRTM7Qz4wJiYoVy5YRD1DKTtEPUQuZ2V0UGxheWJhY2tSYXRlKCk7RCE9PTEmJihXLnBsYXliYWNrUmF0ZT1EKTtuLm9aPy5MQiYmbi5HNyYmKFcua0U9bi5rRSxXLlVtPW4uVW0sClcuRzc9bi5HNyk7WWQoKT09PTEmJihXLms4PTEpO2IuUygiaHRtbDVfc2Ficl9mb3JjZV9wcm94aW1hIikmJihXLlZYPTEpO0Q9Zy5kTShiLmV4cGVyaW1lbnRzLCJodG1sNV9zYWJyX2ZvcmNlX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tcyIpO1cucDY9RD4wP0Q6di5pbnRlcnJ1cHRpb25zWzBdfHwwO24ub1o/LllaJiYoVy5yMD1uLnIwKTtiLkhKJiYoVy5hdWRpb1RyYWNrSWQ9Yi5ISik7ay5aaCgpJiYhVy5hdWRpb1RyYWNrSWQmJihiLlMoImh0bWw1X2ZpbGxfZGVmYXVsdF9tb3NhaWNfYXVkaW9fdHJhY2tfaWQiKXx8KG49bGooayksVy5hdWRpb1RyYWNrSWQ9biksaz8uVSgibWlzc3Rya2NoZyIseyJkZWZhdWx0IjpXLmF1ZGlvVHJhY2tJZH0pKTtpZihuPW5hdmlnYXRvci5jb25uZWN0aW9uPy50eXBlfHwiIilXLmRldGFpbGVkTmV0d29ya1R5cGU9SXFbbl18fElxLm90aGVyOyFiLlMoImh0bWw1X2VuYWJsZV92b2ljZV9ib29zdCIpfHxrLk5QKCl8fGsuaXNBZCgpfHwKKFcucU09Yi5taCk7cmV0dXJuIFd9OwpTVj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD17fTtXJiYoeC5xJD1XKTtpZighbilyZXR1cm4geDt4LnBsYXliYWNrQ29va2llPUQ/LnBsYXliYWNrQ29va2llO3YmJih4LmROPXYpO3gudXQ9W107eC5ycT1bXTtpZihoPy5zaXplKWZvcihsZXQgTCBvZiBoLnZhbHVlcygpKXgucnEucHVzaChMKTtpZihuLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKGxldCBMIG9mIG4uc2FickNvbnRleHRVcGRhdGVzLnZhbHVlcygpKUNIaCh4LEwsYik7Zy5ZTihuKSYmayYmQ0hoKHgsayxiKTtXPW4uRygpLk47eC5jbGllbnRJbmZvPXtjbGllbnROYW1lOkJYdFtXLmMudG9VcHBlckNhc2UoKV18fDB9O1cuY2JyYW5kJiYoeC5jbGllbnRJbmZvLmRldmljZU1ha2U9Vy5jYnJhbmQpO1cuY21vZGVsJiYoeC5jbGllbnRJbmZvLmRldmljZU1vZGVsPVcuY21vZGVsKTtXLmN2ZXImJih4LmNsaWVudEluZm8uY2xpZW50VmVyc2lvbj1XLmN2ZXIpO1cuY29zJiYoeC5jbGllbnRJbmZvLm9zTmFtZT0KVy5jb3MpO1cuY29zdmVyJiYoeC5jbGllbnRJbmZvLm9zVmVyc2lvbj1XLmNvc3Zlcik7Vz1uLkcoKTtXLlMoImh0bWw1X3NhYnJfZW5hYmxlX3NlcnZlcl94dGFnX3NlbGVjdGlvbiIpJiZXLlJhJiYoeC5jbGllbnRJbmZvLmhsPVcuUmEpO24uQngmJih4LkJ4PW4uQngpO3JldHVybiB4fTsKQ0hoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XLnR5cGV8fDA7RD8uaGFzKGIpP24ucnEucHVzaChXKTpuLnV0LnB1c2goYil9OwpGYU09ZnVuY3Rpb24obil7aWYoISh5cyhuLmluZm8pJiZuLmluZm8uUW4oKSYmbi5wb2xpY3kuc1YmJm4uZTEpfHxuLmluZm8uWGIuSj49Mnx8cDcoKT4wfHwhSU8oKSlyZXR1cm4hMTt2YXIgVz1uLlNPLmdldCgiYWl0YWdzIik7aWYoIVcpcmV0dXJuITE7Vz1HNShXKS5zcGxpdCgiLCIpO3ZhciBEPVtdO2ZvcihsZXQgYiBvZiBuLmUxKWcuamooVyxiKSYmRC5wdXNoKGIpO2lmKCFELmxlbmd0aClyZXR1cm4hMTtuLlNPLnNldCgiYWx0aXRhZ3MiLHFoKEQuam9pbigiLCIpKSk7cmV0dXJuITB9Owp3S2o9ZnVuY3Rpb24obixXLEQ9ITEpe2cuWGooVyk7bi50NS5sYXN0RXJyb3I9InBsYXllci5leGNlcHRpb24iO24uZXJyb3JNZXNzYWdlPWAke1cubmFtZX1fJHtXLm1lc3NhZ2V9YDtEP2cubUsoKCk9PntoVShuLnQ1KX0pOmhVKG4udDUpfTsKTUFNPWZ1bmN0aW9uKG4pe24uZXcmJihuLnhoci5zdGF0dXM9bi5ldyxuLmxOPW4uZXcpfTsKUnhqPWZ1bmN0aW9uKG4sVyl7bi50aW1pbmcuYmQ9ITA7bi54aHIuR3AoKSYmbi50aW1pbmcuVEMoKTtuLnBvbGljeS5OZCYmbi5UMj8uc3RvcCgpO0R4KG4uV28sVywhMSl9OwpRRnc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ucVk/TWF0aC5tYXgoVyxEL24ucVkpOlcsdj1uLmlqLkouVzt2JiYoYj1XLG4ucVkmJihiPU1hdGgubWF4KFcsRC9uLnFZKnYpKSk7QnUobi5paixXLEQsYil9OwpWQVM9ZnVuY3Rpb24obixXLEQsYix2LGspe24uTyYmKG4uTy5hZGQoTWF0aC5yb3VuZChXKSksbi5PLmFkZChNYXRoLnJvdW5kKEQpKSxuLk8uYWRkKE1hdGgucm91bmQoYikpLG4uTy5hZGQoTWF0aC5yb3VuZCh2KSksbi5PLmFkZChNYXRoLnJvdW5kKGspKSxuLk8uYWRkKE1hdGgucm91bmQobi52WCkpKX07CmNhdD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgNjg6bi5aYihEKTticmVhaztjYXNlIDM1Om4uc3koRCk7YnJlYWs7Y2FzZSA0NDpuLklyKEQpO2JyZWFrO2Nhc2UgNDM6bi5yTihEKTticmVhaztjYXNlIDUzOm4ua0ooRCk7YnJlYWs7Y2FzZSA1NjpuLk9lKCk7YnJlYWs7Y2FzZSA1NzpuLnlUKEQpO2JyZWFrO2Nhc2UgNDI6bi5XbChEKTticmVhaztjYXNlIDQ1Om4udVEoRCk7YnJlYWs7Y2FzZSA1OTpuLmdZKEQpO2JyZWFrO2Nhc2UgNTE6bi5DWChEKTticmVhaztjYXNlIDQ5Om4uTiQoRCk7YnJlYWs7Y2FzZSA1MDpuLkZYKEQpO2JyZWFrO2Nhc2UgNDc6bi5BcShEKTticmVhaztjYXNlIDU4Om4uc1coRCk7YnJlYWs7Y2FzZSA2MTpuLkhFKEQpO2JyZWFrO2Nhc2UgNzI6bi5ZYS5UcSgpO2JyZWFrO2Nhc2UgNjY6bi56cChEKTticmVhaztjYXNlIDQ2Om4udnQoRCk7YnJlYWs7Y2FzZSA2NzpuLm9uU25hY2tiYXJNZXNzYWdlKEQpO2JyZWFrO2Nhc2UgNzE6Vz1tayhELApJbGopLG4uWWEuSUYoVyl9fTsKYWlNPWZ1bmN0aW9uKG4pe0FVPW59OwpuajE9ZnVuY3Rpb24obixXLEQpe24udTkuZ2V0KFcpLm9uUHJvZ3Jlc3M9RH07Cm1lPWZ1bmN0aW9uKG4sVyl7bi5nRihXKSYmKEFVP24udTkuZ2V0KFcpLkZtLmNsZWFyKCk6bi51OS5nZXQoVykualM9bmV3IFM1LG4uSihXKSxuLlg9ITApfTsKVyRqPWZ1bmN0aW9uKG4pe2ZvcihsZXQgW1csRF1vZiBuLnU5KXtsZXQgYj1XO0QuRG98fG1lKG4sYil9fTsKRDZ4PWZ1bmN0aW9uKG4sVyl7bj1uLnU5LmdldChXKTtpZighbilyZXR1cm4gMDtXPTA7aWYobi5Bdy5sZW5ndGg+MCl7Zm9yKGxldCBEIG9mIG4uQXcpVys9RC5yYW5nZT8ubGVuZ3RofHwwO3JldHVybiBXfWlmKG4uQnQubGVuZ3RoPjApZm9yKGxldCBEIG9mIG4uQnQpVys9RC5lSHx8MDtyZXR1cm4gVytuLk1vfTsKSzM9ZnVuY3Rpb24obixXKXtpZihBVSl7bGV0IEQ9MDtuPW4udTkuZ2V0KFcpO2lmKCFuPy5GbSlyZXR1cm4gMDtmb3IobGV0IGIgb2Ygbi5GbS52YWx1ZXMoKSlEKz1iLmRhdGEudG90YWxMZW5ndGg7cmV0dXJuIER9cmV0dXJuIG4udTkuZ2V0KFcpPy5qUy5qKCl8fDB9OwpPRz1mdW5jdGlvbihuLFcpe249bi51OS5nZXQoVyk7aWYoQVUpe2lmKCFuPy5EbylyZXR1cm4hMTtXPW4uRm0uc2l6ZT4wO3JldHVybiBuLnBKLmxlbmd0aD4wfHxXfXJldHVybiEhbj8uRG8mJiEhbj8ualMuaigpfTsKYmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi51OS5nZXQoVyksYj1ENngobixXKSx2PSFiJiYhIUQuYnl0ZXNSZWNlaXZlZDtpZihBVSl7aWYobi5LdT8uelcpe2Zvcih2YXIgayBvZiBELkZtLnZhbHVlcygpKWlmKCFrLmtuKXJldHVybiExO3JldHVybiB2fX1lbHNlIGlmKGs9bi5tNihXKSx2JiZuLlcmJmshPT12b2lkIDApcmV0dXJuIGs7cmV0dXJuKHZ8fEQuYnl0ZXNSZWNlaXZlZD09PWIpJiZELmJ5K0szKG4sVyk9PT1ELmJ5dGVzUmVjZWl2ZWR9OwpQcD1mdW5jdGlvbihuLFcsRCxiKXtXPXZqdyhuLFcsRCk7RD1ELmF1O2IuQXcucHVzaCguLi5XKTtpZihBVSliLmNCLmhhcyhEKXx8Yi5jQi5zZXQoRCxbXSksYi5jQi5nZXQoRCkucHVzaCguLi5XKTtlbHNlIGlmKGIuV28pZm9yKGxldCB2IG9mIFcpYi5Xby5Bdy5wdXNoKHYpO2Vsc2UgYi5Xbz1uZXcga0JoKFsuLi5iLkF3XSksbi5vWj8uSHgmJmcudShuLGIuV28pO3JldHVybiBXfTsKdmp3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkt1Py5KLmdldChXKTtpZighYilyZXR1cm5bXTtpZihELk9KKXJldHVybiBiLlkoMCxELmNsaXBJZCk/LkF3fHxbXTtpZihiLlcoKSl7dmFyIHY9RC5zdGFydE1zLGs9RC5kdXJhdGlvbk1zLGg9MUUzO24ub1o/Lk4mJkQudGltZVJhbmdlJiYodj1ELnRpbWVSYW5nZS5zdGFydFRpY2tzPz8tMSxrPUQudGltZVJhbmdlLmw4Pz8tMSxoPUQudGltZVJhbmdlLnRpbWVzY2FsZT8/LTEpO2lmKEQuenY8MHx8RC5QUDwwfHxrPDB8fHY8MHx8RC5lSDwwfHxoPDApcmV0dXJuIG1lKG4sVyksW107bj1XXyhELnp2LEQuZUgpO1c9RC5kR3x8MDtyZXR1cm5bbmV3IHFJKDMsYixuLCJtYWtlU2xpY2VJbmZvc01lZGlhQnl0ZXMiLEQuUFAtMSx2L2gsay9oLFcsbi5sZW5ndGgtVyx2b2lkIDAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV19aWYoRC5QUDwwKXJldHVybiBtZShuLFcpLFtdO2lmKG4uS3U/LnpXKXJldHVybiBrPWIucmIsaD1rKmIuaW5mby5OcywKVz1ELmRHLG4ub1o/Lk4mJm4uVi50ZCgpIT09Ik9ORVNJRSImJkQudGltZVJhbmdlJiYhVyYmKHY9RC50aW1lUmFuZ2Uuc3RhcnRUaWNrcy9ELnRpbWVSYW5nZS50aW1lc2NhbGUpLFtuZXcgcUkoMyxiLHZvaWQgMCwibWFrZVNsaWNlSW5mb3NNZWRpYUJ5dGVzIixELlBQLHYsayxXLGgsITAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV07aWYobi5vWj8uUXImJmIgaW5zdGFuY2VvZiBydCl7aWYoIWIuTigpKXJldHVybiBuLnU5LmdldChXKS5XcS5zZXQoRC5hdSxEKSxbXTtuPUQuUFAtMTt2PWIuaW5kZXguZ2V0U3RhcnRUaW1lKG4pO2s9Yi5pbmRleC5nZXREdXJhdGlvbihuKTtyZXR1cm5bbmV3IHFJKDMsYix2b2lkIDAsIm1ha2VTbGljZUluZm9zTWVkaWFCeXRlcyIsbix2LGssMCxrKmIuaW5mby5Ocyx2b2lkIDAsdm9pZCAwLHZvaWQgMCxELkhmIT09dm9pZCAwKV19cmV0dXJuW119OwpoNzI9ZnVuY3Rpb24obixXLEQpe24uS3U9VztuLm9aPUQ7Zm9yKGxldCBbYix2XW9mIG4udTkpe1c9YjtEPXY7Zm9yKGxldCBrIG9mIEQucDkpUHAobixXLGssRCl9fTsKeDZ3PWZ1bmN0aW9uKG4pe3JldHVybiBuLndEKCkmJiFuLkFkfTsKVUc9ZnVuY3Rpb24obil7aWYobi5VOCE9PXZvaWQgMCl7dmFyIFc9bi5wb2xpY3kual8oKTtpZihXKXt2YXIgRD1XLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRFdmVudHNDb3VudChuLlU4KTtpZihEPjApe3ZhciBiPVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2dldEJhdGNoZWRFdmVudHMobi5VOCk7aWYoYil7Yj1XLm1lbW9yeS5idWZmZXIoYixEKjE2KTtiPW5ldyBVaW50MzJBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsRCo0KTtsZXQgaz0wO2ZvcihsZXQgaD0wO2g8RDtoKyspe3ZhciB2PWJba107bGV0IHg9YltrKzFdLEw9YltrKzJdLGU9YltrKzNdO3Y9PT0wP2UhPT0wJiYodj14JiZMPjA/bmV3IFM1KFtXLm1lbW9yeS5idWZmZXIoeCxMKS5zbGljZSgpXSk6bmV3IFM1KFtuZXcgVWludDhBcnJheSgwKV0pLG4ueUQud20oZSx2KSk6dj09PTEmJm4ueGhyLkdwKCkmJlp4KG4pO2srPTR9fVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NsZWFyRXZlbnRzKG4uVTgpfX19fTsKWng9ZnVuY3Rpb24obil7bi5wb2xpY3kuWTAmJm4uUHEmJiFuLmdVP24uZ1U9ITA6bi5uZi5UQygpfTsKTCQyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9LTEsYj0tMSx2PS0xO2lmKG4udFk/Lml0ZW1zKWZvcihsZXQgayBvZiBuLnRZLml0ZW1zKVc8ay5Ga3x8ay5GazxEfHwoRD1rLkZrLGI9ay5meix2PWsubWluUmVhZGFoZWFkTXMpO3JldHVybntxRTpELGZ6OmIsRFE6dn19Owp5Qj1mdW5jdGlvbihuKXtpZihuLlU4IT09dm9pZCAwKXJldHVybiBuLnBvbGljeS5qXygpLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRNZWRpYUJ5dGVzKG4uVTgpfTsKZy5FRz1mdW5jdGlvbihuLFcsRCl7Zy52UChuLEQpfHxnLmdfKG4sVyxEKTtnLnZQKG4sInZpZGVvX3RvX2FkIil8fGcuZ18obixXLCJ2aWRlb190b19hZCIpO2cudlAobiwiYWRfdG9fdmlkZW8iKXx8Zy5nXyhuLFcsImFkX3RvX3ZpZGVvIik7Zy52UChuLCJhZF90b19hZCIpfHxnLmdfKG4sVywiYWRfdG9fYWQiKX07Cml1PWZ1bmN0aW9uKG4pe24uT3x8KG4uTz0oMCxnLlIpKCksZy5FRygibWJfcyIsbi5PLG4uelIpKX07CmU3Yj1mdW5jdGlvbihuKXtuLnR3fHwobi50dz0oMCxnLlIpKCksZy5FRygib3Zmc19ycCIsbi50dyxuLnpSKSl9OwpnajE9ZnVuY3Rpb24obil7bi5jSnx8KG4uY0o9KDAsZy5SKSgpLGcuRUcoIm9hZnNfcnAiLG4uY0osbi56UikpfTsKWFNoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XIGluc3RhbmNlb2YgdXUmJiFuLlgmJiFuLk4sdj0hbi5YJiZEPy5pbmZvLnZpZGVvO0Q9IW4uTiYmRD8uaW5mby5hdWRpbztXLnN0YXRlPT09Mz8oKHZ8fGIpJiZuLnRpY2soInZyciIpLChEfHxiKSYmbi50aWNrKCJhcnIiKSk6Vy5zdGF0ZT09PTQ/dj8obi5YPVcuV0QoKSxnLkR5KCksYlEoNCkpOkQmJihuLk49Vy5XRCgpKTpXIGluc3RhbmNlb2YgQUImJlcuUXkoKSYmdiYmKGcuRHkoKSxiUSg0KSl9OwpvcT1mdW5jdGlvbihuLFcsRCl7bi5KIT09VyYmKG4uVSgic2RhaSIse3NldHNzdDpXLG9sZDpuLkoscjpEfSksbi5KPVcpfTsKR0JiPWZ1bmN0aW9uKG4sVyxELGI9ITApe2lmKEQmJiFuLlRDLmhhcyhXLmokKSl7dmFyIHY9Vy5zdGFydFRpbWUsaz1bXTtmb3IodmFyIGg9MDtoPEQuTi5sZW5ndGg7aCsrKXt2YXIgeD1ELk5baF0sTD12O3Y9TCtELkpbaF07ay5wdXNoKHtzdGFydFRpbWU6TCxlbmRUaW1lOnYsYWRDcG46eH0pfW4uVEMuc2V0KFcuaiQsayl9bi5wb2xpY3kuZVYmJih2PW4uRCYmVy5qJD09PW4uRC5qJCsxLG4uRD1XLGs9bi5OJiZXLmokPT09bi5OLmokKzEsaz1uLk4mJnYmJmsmJm4uTi5mZi5ldmVudCE9PSJzdG9wIiYmbi5OLmZmLmV2ZW50IT09InByZWRpY3RTdGFydCIsaD1XLmZmfHxudWxsLHg9bi52aWRlb1RyYWNrLlBKLmluZGV4LngkKCkseD1XLmokPj14LEw9bi5LdS5pc01hbmlmZXN0bGVzcyxoPyhuLk4/LmZmLmV2ZW50PT09InByZWRpY3RTdGFydCImJm4uTi5qJDxXLmokJiZoLmV2ZW50PT09InN0b3AiJiZuLmxvYWRlci5oYW5kbGVFcnJvcigic3NkYWkubWlzc2luZ3N0YXJ0Y3VlZXZlbnQiLAp7bGFzdHByZWRpY3Q6bi5OPy5qJHx8MCxjc3E6Vy5qJH0sMCksbi5OPXtmZjpoLGokOlcuaiQsZks6ISFELGZZOmJ9LHg/bi5WaShoLFcuaiQpOkwmJih2P2s/bi5WaShoLFcuaiQpOmguZXZlbnQ9PT0iY29udGludWUifHxoLmV2ZW50PT09InN0b3AiP3EkMihuLFcpOm4uVmkoaCxXLmokKTpuLlZpKGgsVy5qJCkpKTooayYmcSQyKG4sVyksbi5KPT09NCYmb3Eobiw1LCJxZW5kIikpKX07CnJraj1mdW5jdGlvbihuLFcsRCxiLHYpe1chPT1uLk4/LmokfHxuLko9PT0xfHxifHxuLk4uZmYuZXZlbnQ9PT0icHJlZGljdFN0YXJ0Inx8bi5VKCJzZGFpIix7dW5kZWNldnQ6MSxzcTpXLG10OkQsZXZ0Om4uTi5mZi5ldmVudH0sITApO1c+bi5qJiYobi5qPU5hTixuLlY9TmFOKTtpZihuLk4mJm4uTi5qJD09PVcpe2lmKGI9bi5OLCFuLnBvbGljeS5YfHwhbi5wb2xpY3kuVTEpaWYodiYmYil7dmFyIGs9Yi5mZixoPXYuU0Qoayk7ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5jSj1XKTtuLlUoInNkYWkiLHtvbnFldnQ6ay5ldmVudCxzcTpXLG10OkQsZ2FiOmgsY3N0Omsuc3RhcnRTZWNzLGN1ZWlkOm4ucG9saWN5LnlkJiYoaHx8ay5ldmVudD09PSJzdGFydCIpP2suaWRlbnRpZmllcjp2b2lkIDB9LCEwKTtoP2suZXZlbnQhPT0icHJlZGljdFN0YXJ0Ij8oay5ldmVudD09PSJzdGFydCImJm4uY0o9PT1XLTEmJm4uVSgic2RhaSIse2dhYm9uc3RhcnQ6V30pLGIuZks/b3EobiwKNCwiY3VlIik6KG4uaj1XLG4uVj1ELG4uVSgic2RhaSIse2pvaW5hZDpuLkosc2c6bi5qLHN0Om4uVi50b0ZpeGVkKDMpfSksbi5ZPURhdGUubm93KCksb3EobiwyLG4uSj09PTM/InN0YWZ0cHJlZCI6ImpvaW4iKSx0dmkodixiLmZmKSkpOihoPSQ2aChuKSxXKz1NYXRoLm1heChNYXRoLmNlaWwoLWsuTi9oKSwxKSxrPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLnBvbGljeS5VMT9uLlc9azpuLlg9VyxuLlUoInNkYWkiLHtvbnByZWQ6RCxlc3RzcTpXLGVzdG10OmsudG9GaXhlZCgzKX0pLGcuZEMobi5sb2FkZXIsayxrLFcsaCksbi5ZPURhdGUubm93KCksb3EobiwzLCJwcmVkaWN0IiksdHZpKHYsYi5mZikpOm4uSj09PTE/bi5zVT8uR2coRCk/KGcuZEMobi5sb2FkZXIsRCxELFcpLG9xKG4sNCwic2syaGVhZCIpKTpvcShuLDUsIm5vZ2FiIik6ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5wb2xpY3kuVTEmJm4uVz4wPyhEPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLlchPT1EJiYKbi5VKCJzZGFpIix7dXBkYXRlU3Q6RCxvbGQ6bi5XfSksbi5XPUQpOm4uWD4wJiYoRD1XK01hdGgubWF4KE1hdGguY2VpbCgtay5OLyQ2aChuKSksMSksbi5YIT09RCYmKG4uVSgic2RhaSIse3VwZGF0ZVN0OkQsb2xkOm4uWH0pLG4uWD1EKSkpfWVsc2Ugbi5VKCJzZGFpIix7bnVsbGRlYzoxLHNxOlcsbXQ6RC50b0ZpeGVkKDMpLGV2dDpiPy5mZj8uZXZlbnR8fCJub25lIn0pfWVsc2Ugbi5KPT09MSYmb3Eobiw1LCJub2FkIil9Owp6ST1mdW5jdGlvbihuLFcsRCl7cmV0dXJuKEQ8MHx8RD09PW4uaikmJiFpc05hTihuLlYpP24uVjpXfTsKcSQyPWZ1bmN0aW9uKG4sVyl7aWYobi5OKXt2YXIgRD1uLk4uZmYuQ2YtKFcuc3RhcnRUaW1lK24uSy1uLk4uZmYuc3RhcnRTZWNzKTtEPD0wfHwoRD1uZXcgZy5sMyhuLk4uZmYuc3RhcnRTZWNzLShpc05hTihuLkspPzA6bi5LKSxELG4uTi5mZi5jb250ZXh0LG4uTi5mZi5pZGVudGlmaWVyLCJzdG9wIixuLk4uZmYuTitXLmR1cmF0aW9uKjFFMyksbi5VKCJjdWVwb2ludGRpc2NvbnRpbnVpdHkiLHtzZWdOdW06Vy5qJH0pLG4uVmkoRCxXLmokKSl9fTsKJDZoPWZ1bmN0aW9uKG4pe3N3aXRjaChuLnBvbGljeS5sYXRlbmN5Q2xhc3Mpe2Nhc2UgIkxPVyI6cmV0dXJuIDJFMztjYXNlICJVTFRSQUxPVyI6cmV0dXJuIDFFMztkZWZhdWx0OnJldHVybiA1RTN9fTsKbHU9ZnVuY3Rpb24obixXLEQsYj0hMSl7Yj9vcShuLDEsInNlZWsiKTpXPjAmJk1hdGguYWJzKFctRCk+PTUmJm4uSj09PTQmJm9xKG4sNSwic2sydCIpfTsKZy5UST1mdW5jdGlvbihuKXtyZXR1cm4gbi50aWxlQ29udGV4dD9gJHtuLlNTfTske24udGlsZUNvbnRleHR9YDpuLlNTfTsKalY9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuInVua25vd24iO3N3aXRjaChuKXtjYXNlIDU6cmV0dXJuInByZWRpY3RTdGFydCI7Y2FzZSAxOnJldHVybiJzdGFydCI7Y2FzZSAyOnJldHVybiJjb250aW51ZSI7Y2FzZSAzOnJldHVybiJzdG9wIjtjYXNlIDY6cmV0dXJuInByZWZldGNoIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpzU3c9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInByZWRpY3RTdGFydCI6cmV0dXJuIDU7Y2FzZSAic3RhcnQiOnJldHVybiAxO2Nhc2UgImNvbnRpbnVlIjpyZXR1cm4gMjtjYXNlICJzdG9wIjpyZXR1cm4gMztjYXNlICJwcmVmZXRjaCI6cmV0dXJuIDY7ZGVmYXVsdDpyZXR1cm4gMH19OwpON1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDE6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gMH19OwpwU1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgNjpyZXR1cm4gNztjYXNlIDU6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgMTE6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiA0O2Nhc2UgMTpyZXR1cm4gNTtjYXNlIDEyOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9fTsKZy5DMz1mdW5jdGlvbihuKXtyZXR1cm4gbj9uLnRpbGVDb250ZXh0P2Ake24uaWRlbnRpZmllcn07JHtuLnRpbGVDb250ZXh0fWA6bi5pZGVudGlmaWVyOiIifTsKZy5CcD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAwOnJldHVybiJ1bmtub3duIjtjYXNlIDE6cmV0dXJuInRpbWVvdXQiO2Nhc2UgMjpyZXR1cm4icmF0ZWNvbnRyb2wiO2Nhc2UgMTE6cmV0dXJuInJhdGVjb250cm9sX2NsaWVudCI7Y2FzZSAzOnJldHVybiJzdmVyciI7Y2FzZSA0OnJldHVybiJkZWxldGVkIjtjYXNlIDU6cmV0dXJuIndhaXRpbmciO2Nhc2UgNjpyZXR1cm4icmVhZHkiO2Nhc2UgNzpyZXR1cm4ic3NkaXNhYmxlZCI7Y2FzZSA5OnJldHVybiJzc2Rpc2FibGVkX3VzdHJlYW1lciI7Y2FzZSAxMDpyZXR1cm4ic3NkaXNhYmxlZF9ub19jb25maWciO2Nhc2UgMTI6cmV0dXJuIm5vZ2FiY29uZmlnIjtjYXNlIDg6cmV0dXJuImluYWN0aXZlIjtjYXNlIDEzOnJldHVybiJjYWNoZW1pc3MiO2RlZmF1bHQ6cmV0dXJuInVua25vd24ifX07CkZ1PWZ1bmN0aW9uKG4pe3ZhciBXPS0obi5mZj8uVHl8fDApO24udGltZVJhbmdlJiYoVys9KG4udGltZVJhbmdlLnN0YXJ0VGlja3N8fDApLyhuLnRpbWVSYW5nZS50aW1lc2NhbGV8fDEpKTtyZXR1cm4gbmV3IGcubDMoVyxuLmZmPy5NS3x8MCxuLmZmPy51VHx8IiIsbi5mZj8uaWRlbnRpZmllcnx8IiIsalYobi5mZj8uZXZlbnQpLChuLmZmPy5UeXx8MCkqMUUzLG4udGlsZUNvbnRleHQpfTsKZy5ZJEM9ZnVuY3Rpb24obixXKXt2YXIgRD0iIixiPVtdO2ZvcihsZXQgW3Ysa11vZiBuLk4uZW50cmllcygpKXtsZXQgaD12LHg9azt4Py5zdGFydFRpbWVTZWNzPD1XJiZXPD14Py5zdGFydFRpbWVTZWNzK3g/LkNmJiZiLnB1c2goaCk7RCs9YCR7aH06JHt4Py5zdGFydFRpbWVTZWNzLnRvRml4ZWQoMyl9OiR7eD8uQ2YudG9GaXhlZCgzKX07YH1iLmxlbmd0aD09PTAmJihXPXtub19jaWQ6MSxtdDpXLnRvRml4ZWQoMyksYWRDb25maWdNYXA6RC5zdWJzdHJpbmcoMCwxMDI0KX0sbi5wb2xpY3kuRlImJm4uVSgiY2xzZGFpIixXKSk7cmV0dXJuIGJ9OwpIZVU9ZnVuY3Rpb24obixXLEQ9ITEpe0QmJihuLlY9ITApOysrbi5qO0Q9NkU0KjIqKm4uajtEPSgwLGcuUikoKStEO24uVy5zZXQoVy5pbmZvLmlkLEQpfTsKd0M9ZnVuY3Rpb24obil7Zm9yKGxldCBbVyxEXW9mIG4uVy5lbnRyaWVzKCkpe2xldCBiPVc7RDwoMCxnLlIpKCkmJm4uVy5kZWxldGUoYil9cmV0dXJuIG4uV307ClJxPWZ1bmN0aW9uKG4sVyl7bi5OPVc7dmFyIEQ9bi5LLnZpZGVvSW5mb3M7aWYoIW4uTi5pc0xvY2tlZCgpKXtsZXQgaz0oMCxnLlIpKCk7RD1nLkVNKEQsZnVuY3Rpb24oaCl7aWYoaC5Ocz50aGlzLnBvbGljeS5OcylyZXR1cm4hMTt2YXIgeD10aGlzLkt1Lk5baC5pZF07cmV0dXJuIHdDKHRoaXMuaikuZ2V0KGguaWQpPmt8fHguWGIuSj40fHx4LkZGPjQ/ITE6dGhpcy50dy5oYXMoK2guaXRhZyk/ITE6ITB9LG4pOwpuLmoubGwoKSYmKEQ9Zy5FTShELGg9PmgudmlkZW8ud2lkdGg8PTg1NCYmaC52aWRlby5oZWlnaHQ8PTQ4MCkpfUQubGVuZ3RofHwoRD1uLksudmlkZW9JbmZvcyk7CnZhciBiPUQ7bi5wb2xpY3kuUm8mJihiPWZRaChuLGIsVykpO2I9Zy5FTShiLFcuWCxXKTtpZihuLk4uaXNMb2NrZWQoKSYmbi5qLk4pe3ZhciB2PWcubF8oRCxrPT5rLmlkPT09bi5qLk4pOwp2P2I9W3ZdOm4uRGUoIiIpfW4ucG9saWN5LlJvfHwoYj1mUWgobixiLFcpKTtiLmxlbmd0aHx8KGI9W0RbMF1dKTtiLnNvcnQoKGssaCk9Pk1xKG4sayktTXEobixoKSk7CmZvcihXPTE7VzxiLmxlbmd0aDtXKyspRD1iW1ctMV0sdj1iW1ddLEQudmlkZW8ud2lkdGg+di52aWRlby53aWR0aD8oZy5CTShiLFcpLFctLSk6TXEobixEKSpuLnBvbGljeS5LPk1xKG4sdikmJihnLkJNKGIsVy0xKSxXLS0pO1c9YltiLmxlbmd0aC0xXTtuLkR0PSEhbi5XJiYhIW4uVy5pbmZvJiZuLlcuaW5mby5JQiE9PVcuSUI7bi5YPWI7bi5lJC5jbGVhcigpO0Q9ITE7Zm9yKHY9MDt2PGIubGVuZ3RoO3YrKylEP24uZSQuYWRkKGJbdl0uaXRhZyk6Ylt2XS52aWRlby5xdWFsaXR5T3JkaW5hbD49MTA4MCYmKEQ9ITApO0prQyhuLnBvbGljeSxXLG4uS3UuelcpfTsKSVExPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9saWN5LmNKLEQ9Tlcobi5JZykvVy1NcShuLG4uSi5pbmZvKTtXPWcuVDQobi5YLGZ1bmN0aW9uKGIpe3JldHVybiBNcSh0aGlzLGIpPER9LG4pOwpXPDAmJihXPTApO24udmlkZW9JbmRleD1XO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdfTsKUyRoPWZ1bmN0aW9uKG4pe24uUyQ/bi5TJD0hMTpuLlk9KDAsZy5SKSgpO24uRD0hMTtuLlZRPSExO3JldHVybiBuZXcgUUIobi5WLG4uVyxuLk4ucmVhc29uKX07Cm02dz1mdW5jdGlvbihuLFcsRCl7UnEobixXKTt2YXIgYj1uLmo7Vz1iLlguSjtEPWJZKFcse2dPOmIucG9saWN5LmdPLGo5OmIucG9saWN5Lmo5LGxhbmd1YWdlSWQ6RH0pO24uSj1uLkt1Lk5bKEQubGVuZ3RoPjA/RFswXTpXWzBdKS5pZF07VkIobik7bi5WPW4uSjtJUTEobik7bi5UQy5sZW5ndGgmJihuLm5leHRWaWRlbz1Ba00obixuLm5leHRWaWRlbyxuLksudmlkZW9JbmZvcyksbi5KPUFrTShuLG4uSixuLksuSikpO24uVz1uLm5leHRWaWRlbztuLlY9bi5KO3JldHVybiBTJGgobil9OwpLJGo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmVxdWFscyhXKSYmKCFuLmouTnx8IW4uTi5pc0xvY2tlZCgpfHxuLm5leHRWaWRlbz8uaW5mby5pZD09PW4uai5OKX07ClZCPWZ1bmN0aW9uKG4pe2lmKCFuLkp8fCFuLnBvbGljeS5KJiYhbi5KLmluZm8ua1ope3ZhciBXPW4uSy5KO24uSiYmKFc9YlkoVyx7bGFuZ3VhZ2VJZDpuLkouaW5mby5rWj8uaWQsZ086bi5wb2xpY3kuZ08sajk6bi5wb2xpY3kuajl9KSxXLmxlbmd0aHx8KFc9bi5LLkopKTtuLko9bi5LdS5OW1dbMF0uaWRdO2lmKFcubGVuZ3RoPjEmJiFuLnBvbGljeS5IaSl7aWYoIW4ucG9saWN5LnRHKXt2YXIgRD1nLmxfKFcsYj0+Yi5hdWRpby5hdWRpb1F1YWxpdHkhPT0iQVVESU9fUVVBTElUWV9ISUdIIik7CkQmJihuLko9bi5LdS5OW0QuaWRdKX1EPSExO2lmKEQ9bi5wb2xpY3kuWSQ/ITA6bi5OLmlzTG9ja2VkKCk/bi5OLk48MjQwOk9laShuLG4uSikpbi5KPW4uS3UuTltnLlVNKFcpLmlkXX19fTsKY3A9ZnVuY3Rpb24obil7aWYoIW4ubmV4dFZpZGVvfHwhbi5wb2xpY3kuSilpZihuLk4uaXNMb2NrZWQoKSluLm5leHRWaWRlbz1uLk4uTjw9MzYwP24uS3UuTltuLlhbMF0uaWRdOm4uS3UuTltnLlVNKG4uWCkuaWRdO2Vsc2V7Zm9yKHZhciBXPU1hdGgubWluKG4udmlkZW9JbmRleCxuLlgubGVuZ3RoLTEpLEQ9Tlcobi5JZyksYj1NcShuLG4uSi5pbmZvKSx2PUQvbi5wb2xpY3kuY0otYjtXPjAmJiEoTXEobixuLlhbV10pPD12KTtXLS0pO2ZvcihEPUQvbi5wb2xpY3kuSy1iO1c8bi5YLmxlbmd0aC0xJiYhKE1xKG4sbi5YW1crMV0pPj1EKTtXKyspO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdO24udmlkZW9JbmRleD1XfX07ClBDMj1mdW5jdGlvbihuLFcpe2lmKFcuUEouaW5mby52aWRlbyYmVy5hWil7bGV0IEQ9KFcuTitXLkopL1cuVyxiPVcuUEouaW5mby5OcztEJiZiJiYobi5udS5JSSgxLEQvYiksbi5wb2xpY3kuVyYmRC9iPjEuNSYmbi5sb2FkZXIuVSgib3ZlcnNob290Iix7c3E6Vy5qJCxicjpELG1heDpifSkpfX07CmFxPWZ1bmN0aW9uKG4sVyxEPSExKXtIZVUobi5qLFcsRCk7bi5ZPS0xO1JxKG4sbi5OKX07Clpldz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgUUIobi5WLG4uVyxXfHxuLk4ucmVhc29uKX07Ck1xPWZ1bmN0aW9uKG4sVyl7aWYoIW4uYmRbVy5pZF0pe3ZhciBEPW4uS3UuTltXLmlkXS5pbmRleC5YZChuLmNKLDE1KTtEPVcuWG4mJm4uVyYmbi5XLmluZGV4LmlzTG9hZGVkKCk/RHx8Vy5YbjpEfHxXLk5zO24uYmRbVy5pZF09RH1EPW4uYmRbVy5pZF07bi5lJC5oYXMoVy5pdGFnKSYmKEQqPTEuNSk7cmV0dXJuIEQqPU1hdGgubWF4KDEsbi5udS5MZygpfHwwKX07ClU2Qz1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBvZiBXKXtpZighYnx8IWIudmlkZW8pY29udGludWU7Vz1iLnZpZGVvLnF1YWxpdHlPcmRpbmFsO2xldCB2PURbV10saz12JiZ2Lk1XKCkmJnYudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5wb2xpY3kublMsaD1XPD1uLnBvbGljeS5uUz9iLk1XKCk6Yi5YKCk7aWYoIXZ8fGt8fGgpRFtXXT1ifXJldHVybiBEfTsKZlFoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1ELnJlYXNvbj09PSJtInx8RC5yZWFzb249PT0icyI7bi5wb2xpY3kuUnEmJm5yJiZnLkduJiYoIWJ8fEQuTjwxMDgwKSYmKFc9Vy5maWx0ZXIodj0+di52aWRlbyYmKCF2Lmp8fHYuai5wb3dlckVmZmljaWVudCkpKTsKaWYoVy5sZW5ndGg+MClpZihWVCgpKXtsZXQgdj1VNkMobixXKTtXPVcuZmlsdGVyKGs9PiEhayYmISFrLnZpZGVvJiZrLklCPT09dltrLnZpZGVvLnF1YWxpdHlPcmRpbmFsXS5JQil9ZWxzZXtsZXQgdj1XWzBdPy52aWRlbz8ucXVhbGl0eU9yZGluYWw7CmlmKHYpe0Q9Vy5maWx0ZXIoaD0+ISFoJiYhIWgudmlkZW8mJmgudmlkZW8ucXVhbGl0eU9yZGluYWw9PT12KTsKbGV0IGs9VTZDKG4sRClbdl0uSUI7Vz1XLmZpbHRlcihoPT4hIWgmJiEhaC52aWRlbyYmaC5JQj09PWspfX1yZXR1cm4gV307Ck9laT1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wO0QrMTxuLlgubGVuZ3RoJiZuLlhbRF0udmlkZW8ucXVhbGl0eT09PSJ0aW55IjspRCsrO3ZhciBiPU5XKG4uSWcpL24ucG9saWN5Lks7cmV0dXJuIE1xKG4sVy5pbmZvKStNcShuLG4uWFtEXSk+Yn07CkFrTT1mdW5jdGlvbihuLFcsRCl7aWYoVy5pbmZvLklCPT09ImYifHxuLlRDLmluY2x1ZGVzKGN3KFcsbi5LdS56VykpKXJldHVybiBXO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKXtsZXQgdj1uLkt1Lk5bRFtiXS5pZF07aWYoIW4uVEMuaW5jbHVkZXMoY3codixuLkt1LnpXKSkpY29udGludWU7bGV0IGs9Vy5pbmZvLklCLGg9di5pbmZvLklCO2lmKGs9PT1ofHxWVCgpKXtpZihXLmluZm8udmlkZW8/Vy5pbmZvLkohPT12LmluZm8uSjpXLmluZm8ua1o/LmlkIT09di5pbmZvLmtaPy5pZHx8YXkoVy5pbmZvKSE9PWF5KHYuaW5mbyl8fFZFKFcuaW5mbykhPT1WRSh2LmluZm8pKXJldHVybiBXNihuLHttaXNtYXRjaDoieHRhZyIsZjpXLmluZm8uaWQsdDp2LmluZm8uaWR9KSxXO1c2KG4se2Y6Vy5pbmZvLml0YWcsdDp2LmluZm8uaXRhZ30pO24uUyQ9ITA7cmV0dXJuIHZ9VzYobix7bWlzbWF0Y2g6ImVmZmljaWVudCIsZmM6ayx0YzpofSl9VzYobix7bWlzbWF0Y2g6InVuc2VsZWN0YWJsZSIsCmZtdHM6bi5UQy5qb2luKCIuIil9KTtyZXR1cm4gV307Clc2PWZ1bmN0aW9uKG4sVyl7bi5wb2xpY3kuRUQ/bi5sb2FkZXIuaGFuZGxlRXJyb3IoIm9uZXNpZS5mbXQubWlzbWF0Y2giLFcsMCk6bi5sb2FkZXIuVSgib21iaWZhIixXKX07Cnlrcj1mdW5jdGlvbihuLFcpe249cWMobi5LdS5OLEQ9PkQuaW5mby5pdGFnPT09Vyk7CmlmKCFuKXRocm93IEVycm9yKCJJdGFnICIrVysiIGZyb20gc2VydmVyIG5vdCBrbm93bi4iKTtyZXR1cm4gbn07CkVqWj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLk4ucmVhc29uPT09Im0ifHxuLk4ucmVhc29uPT09InMiKXJldHVybiBXO2lmKEl0aShuLkt1KSl7Zm9yKGxldCBEPU1hdGgubWF4KDAsbi52aWRlb0luZGV4LTIpO0Q8bi52aWRlb0luZGV4JiZEPG4uWC5sZW5ndGg7RCsrKVcucHVzaChuLlhbRF0uaXRhZyk7Vy5yZXZlcnNlKCl9cmV0dXJuIFd9OwppZWk9ZnVuY3Rpb24obixXKXtuLkRrKCJpc21wX3AiKTtuLko9V307CnU5VT1mdW5jdGlvbihuKXtuLk4mJihuLk4uZGlzcG9zZSgpLG4uRGsoImlzbXBfZCIpKX07Cm9qdz1mdW5jdGlvbih7dEk6bj0hMSxzSjpXPSExLGU0OkQ9ITF9PXt9KXtyZXR1cm4gbj9EPzM6MjpXPy0xOjF9OwpEZD1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1uLnRyYWNrLlFFO2lmKHYpe3Y9di5aRigpO2Zvcih2YXIgaz0wO2s8di5sZW5ndGg7aysrKWIucHVzaChNYXRoLnJvdW5kKHYuc3RhcnQoaykqMUUzKSksYi5wdXNoKE1hdGgucm91bmQodi5lbmQoaykqMUUzKSl9dj0xO2s9Yi5sZW5ndGg7aWYoaz09PW4uYnVmZmVyZWQubGVuZ3RoKXtmb3IodmFyIGg9MDtoPD1rJiZiW2hdPT09bi5idWZmZXJlZFtoXTtoKyspO2g+az92PTA6YltoXT5uLmJ1ZmZlcmVkW2hdJiYoaD09PWstMT92PTI6aD09PWstMiYmYltoKzFdPm4uYnVmZmVyZWRbaCsxXSYmKHY9MykpfW4uTi5hZGQoVzw8M3woRCYmNCl8dik7Vz1NYXRoLmNlaWwobi50cmFjay5sNSgpKjFFMyk7bi5OLmFkZChXLW4uaik7bi5qPVc7aWYodj09PTEpZm9yKG4uTi5hZGQoayksVz0wLGg9MDtoPGs7aCsrKW4uTi5hZGQoYltoXS1XKSxXPWJbaF07dj09PTMmJm4uTi5hZGQoYltrLTJdLW4uYnVmZmVyZWRbay0yXSk7dj49MiYmbi5OLmFkZChiW2stCjFdLW4uYnVmZmVyZWRbay0xXSk7RCYmbi5OLmFkZChEKTtuLmJ1ZmZlcmVkPWJ9OwpUN2I9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5hWilyZXR1cm4gRC5sZW5ndGg9PT0wP0QucHVzaChiLmNsb25lKCkpOihuPShXPUQucG9wKCkpP2Q2cihuLFcsYik6bnVsbCk/RC5wdXNoKG4pOkQucHVzaChiLmNsb25lKCkpLHY7KEQ9KEQ9RC5wb3AoKSk/ZDZyKG4sRCxiKTpudWxsKXx8KEQ9Yik7aWYoRC5OKXJldHVybiBuLmxvZ2dlciYmbi5sb2dnZXIoe2luY29tcGxldGVTZWdtZW50OkQuZ2EoKX0pLHY7dmFyIHtmb3JtYXRJZDprLGokOmgsc3RhcnRUaW1lTXM6eCxjbGlwSWQ6TCxyOTplfT17Zm9ybWF0SWQ6Zy5WZihELlBKLmluZm8sbi5LdS56VyksaiQ6RC5qJCtuLlgsc3RhcnRUaW1lTXM6RC5zZWdtZW50U3RhcnRUaW1lKjFFMyxjbGlwSWQ6RC5jbGlwSWQscjk6RC5XKjFFM307Yj17Y2xpcElkOkwsZm9ybWF0SWQ6ayxzdGFydFRpbWVNczp4LGR1cmF0aW9uTXM6ZSxBQzpoLGk5Omh9O3Y9ejdVKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRzsKaWYoRz1EKXtHPWI7dmFyIHI9dixOPUQuc3RhcnRUaW1lTXMrRC5kdXJhdGlvbk1zLEg9Ry5zdGFydFRpbWVNcytHLmR1cmF0aW9uTXM7aWYoRy5zdGFydFRpbWVNcy1OPm4uTilHPSExO2Vsc2UgaWYobFFoKG4sRC5mb3JtYXRJZCxHLmZvcm1hdElkKSlELmR1cmF0aW9uTXM9TWF0aC5tYXgoTixIKS1ELnN0YXJ0VGltZU1zLEQuaTk9TWF0aC5tYXgoRC5pOSxHLmk5KSxHPSEwO2Vsc2UgaWYoTWF0aC5hYnMoRC5zdGFydFRpbWVNcy1HLnN0YXJ0VGltZU1zKTw9bi5OKWlmKEQuZHVyYXRpb25Ncz5HLmR1cmF0aW9uTXMrbi5OKXtyPUQuZm9ybWF0SWQ7dmFyIEE9RC5BQyx5PUQuaTk7RC5mb3JtYXRJZD1HLmZvcm1hdElkO0QuZHVyYXRpb25Ncz1HLmR1cmF0aW9uTXM7RC5BQz1HLkFDO0QuaTk9Ry5pOTtHLmZvcm1hdElkPXI7Ry5zdGFydFRpbWVNcz1IO0cuZHVyYXRpb25Ncz1OLUg7Ry5BQz1BO0cuaTk9eTtHPSExfWVsc2UgRC5mb3JtYXRJZD1HLmZvcm1hdElkLEc9ITA7ZWxzZSBOPgpHLnN0YXJ0VGltZU1zJiYoTj5IJiYoVy5zcGxpY2UocisxLDAse2Zvcm1hdElkOkQuZm9ybWF0SWQsc3RhcnRUaW1lTXM6SCxkdXJhdGlvbk1zOk4tSCxBQzpHLmk5KzEsaTk6RC5pOX0pLG4ubG9nZ2VyJiZuLmxvZ2dlcih7c3BsaXRPbGRTdGFydDpELnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0T2xkRW5kOk4/LnRvRml4ZWQoMyksc3BsaXROZXdTdGFydDpHLnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0TmV3RW5kOkg/LnRvRml4ZWQoMyl9KSksRC5kdXJhdGlvbk1zPUcuc3RhcnRUaW1lTXMtRC5zdGFydFRpbWVNcyxELmk5PUcuQUMtMSksRz0hMX1HP2I9RDoodis9MSxXLnNwbGljZSh2LDAsYikpO0Q9MDtmb3IoRz12KzE7RzxXLmxlbmd0aDtHKyspe049bjtIPVdbR107cj1iO0E9SC5zdGFydFRpbWVNcytILmR1cmF0aW9uTXM7eT1yLnN0YXJ0VGltZU1zK3IuZHVyYXRpb25Nczt5Pj1BK04uTj9OPSEwOnkrTi5OPEguc3RhcnRUaW1lTXM/Tj0hMTpsUWgoTixILmZvcm1hdElkLApyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKZDZyPWZ1bmN0aW9uKG4sVyxEKXtpZighYlQoVyxEKXx8Vy5hWilyZXR1cm4gbnVsbDtQXyhXLEQsbi5wb2xpY3kuZUspO3JldHVybiBXfTsKejdVPWZ1bmN0aW9uKG4sVyl7bj1nLlc0KG4se3N0YXJ0VGltZU1zOld9LChELGIpPT5ELnN0YXJ0VGltZU1zLWIuc3RhcnRUaW1lTXMpOwpyZXR1cm4gbj49MD9uOi1uLTJ9OwpqU1o9ZnVuY3Rpb24obixXLEQpe2lmKG4ubG9nZ2VyKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XTtrLkVqPy5zdGFydFRpY2tzJiZiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X3Bzc3QuJHtrLkVqPy5zdGFydFRpY2tzfV9wc2QuJHtrLkVqPy5sOH1gKTtiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9bi5sb2dnZXIoe3A6YCR7RH1gLGJyOmIuam9pbigiOyIpfSl9fTsKYlM9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4uUUUpe3ZhciBiPW4uUUUuWkYoKTtpZihiLmxlbmd0aCE9PTApe2lmKG4uVyYmVyl7dmFyIHY9bi5XLGs9di5YOyFCUihiLGspJiZ2Lks+MCYmKDAsZy5SKSgpLW4uSzw1RTMmJihuLmxvZ2dlciYmbi5sb2dnZXIoe2RlbmQ6di5nYSgpfSksYj1qRyhiLGssaysuMDEpKX12PVtdO2Zvcih2YXIgaD1rPTA7azxiLmxlbmd0aCYmaDxuLmVXLmxlbmd0aDspe3ZhciB4PWIuc3RhcnQoayk7bGV0IE49Yi5lbmQoayk7dmFyIEw9bi5lV1toXS5zdGFydFRpbWVNcy8xRTM7bGV0IEg9KG4uZVdbaF0uc3RhcnRUaW1lTXMrbi5lV1toXS5kdXJhdGlvbk1zKS8xRTM7aWYoTDw9TiYmSD49eCl7bGV0IEE9ey4uLm4uZVdbaF19O3ZhciBlPW4uS3UuSi5nZXQoTWsobi5lV1toXS5mb3JtYXRJZCkpLEc9TWF0aC5tYXgoTCx4KTt4PWUuaW5kZXguUjMoRytuLk4vMUUzKTtMPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHgpO3ZhciByPXgrICsoTWF0aC5hYnMoTC1HKT4Kbi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uV3x8MTE7IUQmJmg9PT1uLkomJk48SCYmSC1OPD14KjEuMDEmJiEobi5wb2xpY3kuU3cmJm4uUUUmJm4uUUUueXUoKSkmJihOPUgpO3g9TWF0aC5taW4oSCxOKTtMPWUuaW5kZXguUjMoeC1uLk4vMUUzKTtHPWUuaW5kZXguakUoTCk7TC09KyhNYXRoLmFicyhHLXgpPm4uTi8xRTMpO3g9TCtuLlg7ZT1lLmluZGV4LmpFKEwpKjFFMztBLmk5PXg7QS5kdXJhdGlvbk1zPWUtQS5zdGFydFRpbWVNcztBLkFDPD1BLmk5JiZ2LnB1c2goQSl9SDxOP2grPTE6ays9MX1uLmVXPXZ9fX07CkNDTT1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPW4uTTcubWFwKGs9PmsuY2xvbmUoKSk7Cm4uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5ELmYzKCksdj1uLko7Zm9yKGxldCBrIG9mIGIpdj1UN2IobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLE03OkR9fTsKbFFoPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gVy5pdGFnIT09RC5pdGFnfHxXLnh0YWdzIT09RC54dGFncz8hMTpuLkt1LnpXfHxXLmxtdD09PUQubG10fTsKdjY9ZnVuY3Rpb24obil7cmV0dXJue2Rvd25sb2FkZWRFbmRUaW1lOk1hdGgucm91bmQobi5kSD9uLmRILmo6MCksbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19Owp4Qz1mdW5jdGlvbihuLFc9ITEpeyFXfHxuLmluZGV4UmFuZ2UmJm4uaW5pdFJhbmdlJiZuLmRIfHxrQyhuLG5ldyBoMCgiV29mZmxlOiBFeHBlY3QgaXNGaW5hbCB0byBhbHdheXMgaGF2ZSBpbmRleFJhbmdlIGFuZCBpbml0UmFuZ2UgYW5kIGxhc3RTbGljZSIpKTtXPXtsbXQ6bi5OLmluZm8ubGFzdE1vZGlmaWVkLGRvY2lkOm4ucG9saWN5LkosZm10aWQ6bi5OLmluZm8uaWQsdHlwZTpuLk4uaW5mby5taW1lVHlwZS5zcGxpdCgiOyIpWzBdLGNzejpuLmNodW5rU2l6ZSxjbGVuOm4uVypuLmNodW5rU2l6ZStuLkp9O24uY3J5cHRvJiYoVy5jaz1uLlksVy5jaXY9bi5LKTtXPSJsb2NhbDovL2xvY2FsaG9zdC92aWRlb3BsYXliYWNrPyIrZy5FdChXKTtXPXtpdGFnOituLk4uaW5mby5pdGFnLG1pbWVUeXBlOm4uTi5pbmZvLm1pbWVUeXBlLGJpdHJhdGU6bi5OLmluZm8uTnMqOCxsYXN0TW9kaWZpZWQ6U3RyaW5nKG4uTi5pbmZvLmxhc3RNb2RpZmllZCksaW5pdFJhbmdlOm4uaW5pdFJhbmdlPy5OKCksCmluZGV4UmFuZ2U6bi5pbmRleFJhbmdlPy5OKCksdXJsOld9O3ZhciBEPW4uTi5pbmZvLko7RCYmKFcueHRhZ3M9RCk7aWYoRD1uLk4uaW5mby52aWRlbylpZihXLnF1YWxpdHk9RC5xdWFsaXR5LFcucXVhbGl0eUxhYmVsPUQucXVhbGl0eUxhYmVsLFcud2lkdGg9RC53aWR0aCxXLmhlaWdodD1ELmhlaWdodCxEPUQuZnBzKVcuZnBzPUQ7aWYobj1uLk4uaW5mby5hdWRpbyl7aWYoRD1uLnNhbXBsZVJhdGUpVy5hdWRpb1NhbXBsZVJhdGU9U3RyaW5nKEQpO2lmKG49bi5udW1DaGFubmVscylXLmF1ZGlvQ2hhbm5lbHM9bn1yZXR1cm4gV307CkxyPWZ1bmN0aW9uKG4sVyxEPSExKXtXLnRoZW4oYj0+e24uTy5kZWxldGUoVyk7KER8fGI9PT00KSYmbi5WLnJlc29sdmUoYil9LGI9PntuLlYucmVqZWN0KGIpfSl9OwplcT1mdW5jdGlvbihuKXtyZXR1cm4hIW4uZEgmJm4uZEguVigpfTsKa0M9ZnVuY3Rpb24obixXKXtlJChuLnBvbGljeS5KKSE9PTQmJihnNihuLnBvbGljeS5KLDQpLGcuR3EoVyksbi5WLnJlamVjdChuZXcgaDAoVy5tZXNzYWdlKSkpfTsKQjdiPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPXRSKFcuSik7aWYobi5XPG4uWCl7RD1uLlgqbi5jaHVua1NpemUtKChXLmluZm8ucmFuZ2U/LnN0YXJ0fHwwKStXLmluZm8uTik7aWYoRD49Yi5sZW5ndGgpcmV0dXJuO2lmKEQ8MCl0aHJvdyBFcnJvcigiTWlzc2luZyBkYXRhIik7bi5XPW4uWDtuLko9MH1mb3IoO0Q8Yi5sZW5ndGg7KXt2YXIgdj1NYXRoLm1pbihiLmxlbmd0aC1ELG4uai5ieXRlTGVuZ3RoLW4uSik7bGV0IGs9bmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0K0Qsdik7bi5qLnNldChrLG4uSik7bi5KKz12O0QrPXY7aWYobi5KPT09bi5qLmxlbmd0aCl7aWYoVy5pbmZvPT09bi5kSCYmZXEobikmJkQ9PT1iLmxlbmd0aClicmVhazt2PXY2KG4pO3Y9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSx2LG4ucG9saWN5LmJkLG4uVyxuLmosbi5jcnlwdG8pO24uTy5hZGQodik7THIobix2KTtuLnFOKCl8fCh2PXY2KG4pLG4uYmQoeEMobiksdiE9PXZvaWQgMD8KKHYuZG93bmxvYWRlZEVuZFRpbWV8fDApKnYuYXZlcmFnZUJ5dGVSYXRlOnYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlLHYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlKSk7bi5qPW5ldyBVaW50OEFycmF5KG4uY2h1bmtTaXplKTtuLko9MDtuLlcrPTF9fX07CndTVT1mdW5jdGlvbihuKXtpZihlcShuKSlpZihuLmRIJiZuLmluZGV4UmFuZ2UpaWYobi5KKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmouYnVmZmVyLDAsbi5KKSxEPUYkeChuKSxiPW4ucG9saWN5Lko7UHJvbWlzZS5hbGwobi5PKS50aGVuKCgpPT57dmFyIHY9dHgoYixuLmRILlBKLmluZm8seEMobiwhMCksRCxuLnBvbGljeS5iZCxuLlcsVyxuLmNyeXB0byk7THIobix2LCEwKX0pfWVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGFsd2F5cyByZS1tYXJrIGN1cnJlbnRDaHVua09mZnNldCBhdCBFT1MiKSk7CmVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGF0IEVPUyB0byBhbHdheXMgaGF2ZSBsYXN0U2xpY2Ugb3IgaW5kZXhSYW5nZSIpKX07Cmd1PWZ1bmN0aW9uKG4sVyl7aWYoIWVxKG4pJiYhbi5xTigpKXtpZighKG4udHd8fChuLnR3PSEwLG4uWD4wKSkpe3ZhciBEPXY2KG4pO0Q9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSxELG4ucG9saWN5LmJkKTtMcihuLEQpfWlmKFcuaW5mby50eXBlPT09MSl7aWYobi5kSCl7a0MobixFcnJvcigiV29mZmxlOiBFeHBlY3QgSU5JVCBzbGljZXMgdG8gYWx3YXlzIHN0YXJ0IHVzIG9mZiIpKTtyZXR1cm59bi5pbml0UmFuZ2U9V18oMCxXLkoudG90YWxMZW5ndGgpfWVsc2UgaWYoVy5pbmZvLnR5cGU9PT0yKW4uZEgmJm4uZEgudHlwZT09PTF8fGtDKG4sRXJyb3IoIldvZmZsZTogSW5kZXggYmVmb3JlIGluaXQiKSksbi5pbmRleFJhbmdlPVdfKG4uaW5pdFJhbmdlLmVuZCsxLFcuSi50b3RhbExlbmd0aCk7ZWxzZSBpZihXLmluZm8udHlwZT09PTMpe2lmKCFuLmRIKXtrQyhuLEVycm9yKCJXb2ZmbGU6IEV4cGVjdCBNRURJQSBzbGljZXMgdG8gYWx3YXlzIGhhdmUgbGFzdFNsaWNlIikpOwpyZXR1cm59aWYobi5kSC50eXBlPT09MyYmIWJUKG4uZEgsVy5pbmZvKSYmKG4uRD1bXSxXLmluZm8uaiQhPT1nayhuLmRIKXx8Vy5pbmZvLk4hPT0wKSlyZXR1cm47aWYoVy5pbmZvLmFaKXtmb3IobGV0IGIgb2Ygbi5EKUI3YihuLGIpO24uRD1bXX1lbHNle24uRC5wdXNoKFcpO24uZEg9Vy5pbmZvO3JldHVybn19ZWxzZXtrQyhuLEVycm9yKCJXb2ZmbGU6IFVuZXhwZWN0ZWQgc2xpY2UgdHlwZSIpKTtyZXR1cm59bi5kSD1XLmluZm87QjdiKG4sVyk7d1NVKG4pfX07CkYkeD1mdW5jdGlvbihuKXtyZXR1cm57ZG93bmxvYWRlZEVuZFRpbWU6LTEsbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19OwpNdlM9ZnVuY3Rpb24obil7bj1nLmVQKG4sMTg4NjYxNDM3Nik7Zm9yKGxldCBXIG9mIG4pO3JldHVybiBnLmlfKG4sVz0+b3IoVykpfTsKUjdVPWZ1bmN0aW9uKG4pe3ZhciBXPWcudV8obiwoYix2KT0+Yit2Lmxlbmd0aCwwKTsKVz1uZXcgVWludDhBcnJheShXKTt2YXIgRD0wO2ZvcihsZXQgYiBvZiBuKVcuc2V0KGIsRCksRCs9Yi5sZW5ndGg7cmV0dXJuIFd9OwpWdnQ9ZnVuY3Rpb24obil7YTp7dmFyIFc9bi5pbml0RGF0YTt0cnl7dmFyIEQ9MDtsZXQgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIpO2Zvcig7RDx2LmJ5dGVMZW5ndGgtODspe2xldCBrPXYuZ2V0VWludDMyKEQpO2lmKGs8PTEpYnJlYWs7aWYodi5nZXRVaW50MzIoRCs0KSE9PTE4ODY2MTQzNzYpe0QrPWs7Y29udGludWV9bGV0IGg9MzI7aWYodi5nZXRVaW50OChEKzgpPjApe2xldCBMPXYuZ2V0VWludDMyKEQrMjgpO2grPUwqMTYrNH1sZXQgeD12LmdldFVpbnQzMihEK2gtNCk7dHJ5e2xldCBMPVFTeChXLnN1YmFycmF5KEQraCxEK2greCkpO2lmKEwhPT1udWxsKXt2YXIgYj1MO2JyZWFrIGF9fWNhdGNoKEwpe31EKz1rfWI9bnVsbDticmVhayBhfWNhdGNoKHYpe2I9bnVsbDticmVhayBhfWI9dm9pZCAwfWlmKGIhPW51bGwpe1c9dTQoaVcoYiw3LHZvaWQgMCxmbikpO1c9PW51bGx8fG4ucUh8fChuLmNyeXB0b1BlcmlvZEluZGV4PVcpO1c9dTQoaVcoYiwxMCx2b2lkIDAsZm4pKTsKVyE9bnVsbCYmVz4wJiYhbi5xSCYmKG4uTj1XKTtmb3IobGV0IHYgb2YgZy5CSChiLDIsTUUsdm9pZCAwPT09RyQ/Mjo0KSliPW4uSixXPWIucHVzaCxEPVZsKHYpLEQ9Zy5FQShELDQpLFcuY2FsbChiLEQpfX07CmNraj1mdW5jdGlvbihuKXtyZXR1cm4gaXNOYU4obi5jcnlwdG9QZXJpb2RJbmRleCk/Zy5FQShuLmluaXREYXRhKTpgJHtuLmNyeXB0b1BlcmlvZEluZGV4fWB9OwpYMD1mdW5jdGlvbihuKXtpZihuLm9mZnNldD49bi5KLnRvdGFsTGVuZ3RoKXRocm93IEVycm9yKCk7cmV0dXJuIHJkKG4uSixuLm9mZnNldCsrKX07CmFRUz1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPVgwKG4pO2lmKEQ9PT0xKXtXPS0xO2ZvcihEPTA7RDw3O0QrKyl7dmFyIGI9WDAobik7Vz09PS0xJiZiIT09MjU1JiYoVz0wKTtXPi0xJiYoVz1XKjI1NitiKX1yZXR1cm4gV31iPTEyODtmb3IobGV0IHY9MDt2PDYmJmI+RDt2KyspRD1EKjI1NitYMChuKSxiKj0xMjg7cmV0dXJuIFc/RDpELWJ9OwpuZng9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWFRUyhuLCEwKSxEPWFRUyhuLCExKTtyZXR1cm57aWQ6VyxzaXplOkR9fWNhdGNoKFcpe3JldHVybntpZDotMSxzaXplOi0xfX19OwpETjE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW5ldyBXeWoobiksRD0tMSxiPTAsdj0wOyFifHwhdjspe2xldCB7aWQ6ayxzaXplOmh9PW5meChXKTtpZihrPDApcmV0dXJuO2lmKGs9PT0xNzYpe2lmKGghPT0yKXJldHVybjtiPVcuTigpfWVsc2UgaWYoaz09PTE4Nil7aWYoaCE9PTIpcmV0dXJuO3Y9Vy5OKCl9az09PTM3NDY0ODQyNz9EPVcuTigpK2g6ayE9PTQwODEyNTU0MyYmayE9PTE3NCYmayE9PTIyNCYmVy5za2lwKGgpfVc9JE0obiwwLEQpO0Q9bmV3IERhdGFWaWV3KFcuYnVmZmVyKTtELnNldFVpbnQxNihiLDM4NDApO0Quc2V0VWludDE2KHYsMjE2MCk7Yj1uZXcgUzUoW1ddKTtlNShiLG4pO3JldHVybiBifTsKYndDPWZ1bmN0aW9uKCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoMTY0RTQpO2ZvcihsZXQgVz0wO1c8bi5sZW5ndGg7Vys9NjU1MzYpY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuLnN1YmFycmF5KFcsTWF0aC5taW4oVys2NTUzNixuLmxlbmd0aCkpKTtuZXcgUzUoW25dKX07CnEyPWZ1bmN0aW9uKG4pe24uYm4/LmRpc3Bvc2UoKTtuLmJuPW51bGx9OwpHWj1mdW5jdGlvbihuLFcpe1c9e3JzdDRkaXNjOlcsY2Q6bi5UOC50b0ZpeGVkKDMpLHNxOm4ubTE/bi5tMS5qJDotMX07bi5acT1OYU47bi5UOD0wO24uc0w9LTE7bi5tMT1udWxsO24uaWg9TmFOO24uWXA9TmFOO24uU0Y9bnVsbDtuLmxvYWRlci5VKCJtZHN0bSIsVyl9Owp0MD1mdW5jdGlvbihuKXtuLmJSPW51bGw7bi5FZz0tMTtuLlZwPTA7bi5qaz1udWxsO24uTDE9TmFOO24uWUU9MDtuLkwyPW51bGx9OwokQz1mdW5jdGlvbihuLFcpe2lmKFcuaW5mby5hWil7bi5JOT1XLmluZm87aWYobi5qayl7dmFyIEQ9bi5qayxiPXZmdChuLCExKTtEPWtkVShEKTtuLmxvYWRlci5SMChuLlBKLGIsRCk7bi5wb2xpY3kuZUsmJlpKKFcuaW5mbyxiKTtuLkwyfHxuLnBvbGljeS5lVnx8bi5WaSgpO24uTDI9bnVsbH10MChuKX1uLmJuJiZndShuLmJuLFcpO2lmKGI9bi5XeCgpKWlmKGI9Yi5qKFcsbi5wb2xpY3kuQW0sbi5wb2xpY3kuZkIpKXtuLlZ3LnBvcCgpO24uVncucHVzaChiKTtyZXR1cm59bi5Wdy5wdXNoKFcpfTsKUUV3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5XUihXKTtpZihaTyhXLmluZm8uUEouaW5mbykmJlcuaW5mby5QSi5pbmZvLnZpZGVvLnByaW1hcmllcz09PSJidDIwMjAiKXt2YXIgYj1uZXcgdFkoRCk7JHgoYixbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0LDIxOTM2LDIxOTM3XSkmJihiPWIuc3RhcnQrYi5wb3MsRC5nZXRVaW50OChiKT09PTEyOSYmRC5nZXRVaW50OChiKzEpPT09MSYmRC5zZXRVaW50OChiKzEsOSkpfWI9Vy5pbmZvLlBKLmluZm87Yi5YKCkmJiFaTyhiKSYmKGI9Zy5XUihXKSwobmV3IHRZKGIpKS5PSigpLFl4KFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdLDIxOTM2LGIpKTtXLmluZm8uUEouaW5mby5mWSgpJiZRZihXLmluZm8uUEosRCk7Vy5pbmZvLlBKLmluZm8ucUgoKSYmVy5pbmZvLmZZKCkmJihEPWcuV1IoVyksKG5ldyB0WShEKSkuT0ooKSxZeChbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0XSwzMDMyMCxEKSYmWXgoWzQwODEyNTU0MywzNzQ2NDg0MjcsCjE3NCwyMjRdLDIxNDMyLEQpKTtpZihuLnBvbGljeS54MCYmVy5pbmZvLlBKLmluZm8ucUgoKSl7Yj1nLldSKFcpO3ZhciB2PW5ldyB0WShiKTtpZigkeCh2LFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyOTYzN10pKXtEPU5rKHYsITApO3Y9di5zdGFydCt2LnBvcztmb3IodmFyIGs9MDtrPEQtMTtrKyspYi5zZXRVaW50OCh2K2ssMCk7Yi5zZXRVaW50OCh2K0QtMSwxKX19aWYobi5lUygpJiZnLlJCKFcuaW5mby5QSi5pbmZvKSl7RD1nLldSKFcpO2I9Zy5ucyhELDAsMTcwMTYwNjI2MCk7RD1nLm5zKEQsMCwxODM2NDc2NTE2KTtpZihiJiZEKXtiLnNraXAoMik7dmFyIGg9VUQoYik7az1FRChiKTtsZXQgeD1bXTt2PVtdO2xldCBMPVtdLGU9W107aWYoaClmb3IoaD0wO2g8azsrK2gpeC5wdXNoKGkzKGIpKSx2LnB1c2goaTMoYikpLEwucHVzaChVRChiKSksZS5wdXNoKFVEKGIpKTtlbHNlIGZvcihoPTA7aDxrOysraCl4LnB1c2goeUwoYikpLHYucHVzaCh5TChiKSksTC5wdXNoKFVEKGIpKSwKZS5wdXNoKFVEKGIpKTtiPXg7RD1nLmJMKEQpO0Q9bmV3IFJlaCh2WzBdL0QsYlswXS9EKX1lbHNlIEQ9bnVsbDtpZih2PUQpe2lmKGcuUkIoVy5pbmZvLlBKLmluZm8pKWZvcihEPWcuV1IoVyksaz1nLm5zKEQsMCwxNzAxMDgyMjI3KTtrOyliPWssYi50eXBlPTE5MzY0MTkxODQsYi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpLGs9Zy5ucyhELGsub2Zmc2V0K2suc2l6ZSwxNzAxMDgyMjI3KTtuLmYwPSEwO1cuaW5mby5QSi5WPXZ9fVcuaW5mby5QSi5XKCl8fFcuaW5mby5QSi5KfHxXLmluZm8uUEouaW5kZXhSYW5nZXx8RE8oVyl9OwpWSHg9ZnVuY3Rpb24obixXKXtpZihuLmlzRHJtKCkpe2lmKFcuaW5mby5QSi5pbmZvLnFIKCkpe3ZhciBEPW5ldyB0WShnLldSKFcpKTtpZigkeChELFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyODAzMiwyNTE1MiwyMDUzMywxODQwMl0pKXt2YXIgYj1OayhELCEwKTtEPWIhPT0xNj9udWxsOlNQKEQsYil9ZWxzZSBEPW51bGw7Yj0id2VibSJ9ZWxzZSBXLmluZm8uTz1NdlMoZy5XUihXKSksRD1SN1UoVy5pbmZvLk8pLGI9ImNlbmMiO0QmJkQubGVuZ3RoJiYoRD1uZXcgcnUoRCxiKSxuLnBvbGljeS5QSCYmZy5SQihXLmluZm8uUEouaW5mbykmJihiPVpLWihnLldSKFcpKSkmJihELlVXPWIpLEQucUg9Vy5pbmZvLlBKLmluZm8ucUgoKSxXLk4mJlcuTi5jcnlwdG9QZXJpb2RJbmRleCYmKEQuY3J5cHRvUGVyaW9kSW5kZXg9Vy5OLmNyeXB0b1BlcmlvZEluZGV4KSxXLk4mJlcuTi5YJiYoRC5OPVcuTi5YKSxuLmxvYWRlci5XbihEKSl9fTsKY3JoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5iUjtXPU1hdGgubWluKFcsRC5KLnRvdGFsTGVuZ3RoKTtpZihXPT09RC5KLnRvdGFsTGVuZ3RoKXJldHVybiBuLmJSPW51bGwsRDtEPXZSKEQsVyk7bi5iUj1EWzFdO3JldHVybiBEWzBdfTsKRFgyPWZ1bmN0aW9uKG4sVyxEKXtpZihELmluZm8uUEouVygpKXtpZihuLmYwJiZhRXcoRCkpe1c9Zy5XUihEKTt2YXIgYj1nLm5zKFcsMCwxOTUzNjU4MjIyKTtpZihiKXtiLnNraXAoMSk7dmFyIHY9WmMoYik8PDE2fFVEKGIpLGs9diYxLGg9diY0O2lmKHYmMjU2KXtXPXYmNTEyO3ZhciB4PXYmMTAyNDt2Jj0yMDQ4O3ZhciBMPUVEKGIpO0w8Mnx8KGsmJmIuc2tpcCg0KSxoJiZiLnNraXAoNCksaz1FRChiKSxiLnNraXAoKEwtMSkqKDQrKFc/NDowKSsoeD80OjApKyh2PzQ6MCkpLTQpLGIuZGF0YS5zZXRVaW50MzIoYi5vZmZzZXQrYi5OLGspKX19fWlmKFc9bi5xOSYmbi5xOS5PNygpKWlmKFc9RC5pbmZvLmZZKCkpVz1YWihEKSx4PW4ucTksczQ/KGI9MS9XLFc9bi5WeihXKT49eC5WeigpK2IpOlc9bi5nZXREdXJhdGlvbigpPj14LmdldER1cmF0aW9uKCksVz0hVztXJiZhRXcoRCkmJihXPW4ucTksczQ/KGI9WFooRCkseD0xL2IsYj1uLlZ6KGIpLFc9Vy5WeigpK3gtYik6Vz1XLmdldER1cmF0aW9uKCktCm4uZ2V0RHVyYXRpb24oKSxXPTErVy9ELmluZm8uVyxXdyhnLldSKEQpLFcpKX1lbHNle2I9ITE7bi5qa3x8KEdpKEQpLEQuTiYmKG4uams9RC5OLGI9ITAsaz1ELmluZm8saD1ELk4uc2VnbWVudE51bWJlcixrLlk9InVwZGF0ZVdpdGhFbXNnIixrLmokPWgsaz1ELk4say5WJiZuLlBKLnR3KCFrLlYsImVtc2ciKSxrPUQuaW5mby5QSi5pbmZvLGg9Zy5XUihEKSxnLlJCKGspP0dqKGgsMTcwMTY3MTc4Myk6ay5xSCgpJiZZeChbNDA4MTI1NTQzXSwzMDc1NDQ5MzUsaCkpKTthOmlmKChrPWVHKEQsbi5wb2xpY3kuUFgpKSYmcSQoRCkpaD1uVHcobixEKSxuLlQ4Kz1oLGstPWgsbi5ZRSs9ayxuLlpxPW4ucG9saWN5LlNWP24uWnErazpOYU47ZWxzZXtpZihuLnBvbGljeS5Zcil7aWYoaD1MPW4ubG9hZGVyLnFhKGcua1goRCksMSksbi5acT49MCYmRC5pbmZvLnR5cGUhPT02KXtpZihuLnBvbGljeS5TViYmaXNOYU4obi5ZcCkpe2cuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcHJvY2Vzc2luZyBwcmV2aW91cyBjaHVuayIsCkQuaW5mby5nYSgpKSk7bi5sb2FkZXIuaXNPZmZsaW5lKCkmJiFuLnBvbGljeS5UUXx8V2paKG4sRCxoKTtHWihuLCJtIik7YnJlYWsgYX12PUwtbi5acTt2YXIgZT12LW4uVDg7bGV0IEc9RC5pbmZvLmokLHI9bi5tMT9uLm0xLmokOi0xLE49bi5paCxIPW4uWXAsQT1uLnBvbGljeS5RJCYmdj5uLnBvbGljeS5RJCx5PU1hdGguYWJzKGUpPjEwLFQ9TWF0aC5hYnMobi5acS1oKTwxRS03O2lmKE1hdGguYWJzKGUpPjFFLTQpe24uSVMrPTE7bGV0IHo9bi5qaz8uSigpO2U9e2F1ZGlvOmAkeytuLmVTKCl9YCxzcTpHLnRvRml4ZWQoKSxzbGljZVN0YXJ0OkwsbGFzdFNxOnIudG9GaXhlZCgpLGxhc3RTbGljZVN0YXJ0Ok4sbGFzdFNsaWNlRHVyYXRpb246SCx0b3RhbERyaWZ0Oih2KjFFMykudG9GaXhlZCgpLHNlZ0RyaWZ0OihlKjFFMykudG9GaXhlZCgpLHNraXBSZXdyaXRlOmAkeysoQXx8eSl9YH07ej8ubGVuZ3RoJiYoZS5hZENwbj16WzBdKTtuLmxvYWRlci5oYW5kbGVFcnJvcigicW9lLmF2c3luYyIsCmUpO24uc0w9R31BfHx5fHxUfHwoaD1uLlpxKTtMPW5UdyhuLEQsTCk7ay09TDtuLlQ4PXYrTH19ZWxzZSBoPWlzTmFOKG4uWnEpP0QuaW5mby5zZWdtZW50U3RhcnRUaW1lOm4uWnE7V2paKG4sRCxoKSYmKG4uWUUrPWssbi5acT1oK2ssbi5wb2xpY3kuWmgmJm4uSVM+PW4ucG9saWN5LlpoJiYobi5JUz0wLG4ubG9hZGVyLkdtKHtyZXNldEZvclJld3JpdGVzOiJjb3VudCJ9KSkpfW4ubTE9RC5pbmZvO24uWXA9TE0oRCk7RC5XPj0wJiYobi5paD1ELlcpO2lmKGImJm4uamspe2I9dmZ0KG4sITApO1pKKEQuaW5mbyxiKTtuLmJSJiZaSihuLmJSLmluZm8sYik7Zm9yKHggb2YgVyluLnBvbGljeS5qJiZ4LmokIT09bi5qaz8uc2VnbWVudE51bWJlcnx8WkooeCxiKTsoRC5pbmZvLmFafHxuLmJSJiZuLmJSLmluZm8uYVopJiZELmluZm8udHlwZSE9PTZ8fChuLkwyPWIsbi5wb2xpY3kuVTE/KFc9a2RVKG4uamspLG4ubG9hZGVyLlIwKG4uUEosYixXKSk6KFc9bi5sb2FkZXIsVy5LdS5pc01hbmlmZXN0bGVzcyYmCk4yKFcsYixudWxsLCEhbi5QSi5pbmZvLnZpZGVvKSksbi5wb2xpY3kuZVZ8fG4uVmkoKSl9fVZIeChuLEQpO24udGltZXN0YW1wT2Zmc2V0JiZ4WChELG4udGltZXN0YW1wT2Zmc2V0KX07CnZmdD1mdW5jdGlvbihuLFcpe3ZhciBELGI9bi5qaztpZihEPVRfKGIpKUQuc3RhcnRTZWNzKz1uLkwxO3ZhciB2PW4uTDEsaz0wO24uUEogaW5zdGFuY2VvZiBkdCYmKGs9bi5QSi5yYik7cmV0dXJuIG5ldyBSNChiLnNlZ21lbnROdW1iZXIsdixXP2s6bi5ZRSxiLmluZ2VzdGlvblRpbWUsYHNxLyR7Yi5zZWdtZW50TnVtYmVyfWAsdm9pZCAwLHZvaWQgMCxXLEQsbi5wb2xpY3kueUg/Yi5OOm51bGwpfTsKa2RVPWZ1bmN0aW9uKG4pe3JldHVybiBuLmZLKCk/bmV3IHByKENnKG4pLG4uSigpLEJBKG4pLEZwKG4pLHdGKG4pLGcuTWQobiksZy5ScihuKSk6bnVsbH07Cm5Udz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtpZihXLmluZm8uUEouaW5mby5xSCgpJiYhcSQoVykpcmV0dXJuIDA7aWYobi5xOSYmIW4uZVMoKSl7bGV0IGU9MDtEJiZnLlJCKFcuaW5mby5QSi5pbmZvKT9lPUQtbi5acTpXLmluZm8uUEouaW5mby5xSCgpJiYoZT1uLlQ4KTt2YXIgdj1XLmluZm8uaiQ7RD1lRyhXLG4ucG9saWN5LlBYKTtsZXQge1Y1OkcsVGo6cn09bi5xOS5iNCgpO3Y9dj09PUd8fHY+RyYmdj5uLnNMO3ZhciBrPU1hdGguYWJzKHItZSk+LjAyO2lmKG4ucG9saWN5LlJ0KXt2YXIgaD1NYXRoLmFicyhyLWUpO2lmKHYmJmg+bi5wb2xpY3kuUnQmJmg8MTApcmV0dXJuIG4ubG9hZGVyLkdtKHthdkRlc3luYzoiY291bnQifSksMH1pZihXLmluZm8uUEouaW5mby5xSCgpJiZuLnBvbGljeS5WZilyZXR1cm4gMDtpZih2JiZrKXtiPU1hdGgubWF4KC45NSxNYXRoLm1pbigxLjA1LChELShyLWUpKS9EKSk7aWYoZy5SQihXLmluZm8uUEouaW5mbykpV3coZy5XUihXKSxiKTsKZWxzZSBpZihXLmluZm8uUEouaW5mby5xSCgpJiYoaz1lLXIsIWcuUkIoVy5pbmZvLlBKLmluZm8pJiYoVy5pbmZvLlBKLmluZm8ucUgoKSxiPW5ldyB0WShnLldSKFcpKSx2PVcuVj9iOm5ldyB0WShuZXcgRGF0YVZpZXcoVy5pbmZvLlBKLkouYnVmZmVyKSksZUcoVywhMCkpKSl7dmFyIHg9ayoxRTMsTD1Lcyh2KTt2PWIucG9zO2IucG9zPTA7aWYoYi5OLmdldFVpbnQ4KGIucG9zKT09PTE2MHx8UHcoYikpaWYoc1koYiwxNjApKWlmKE5rKGIsITApLHNZKGIsMTU1KSl7aWYoaz1iLnBvcyxoPU5rKGIsITApLGIucG9zPWsseD14KjFFOS9MLEw9ZnMoYikseD1MK01hdGgubWF4KC1MKi43LE1hdGgubWluKEwseCkpLHg9TWF0aC5zaWduKHgpKk1hdGguZmxvb3IoTWF0aC5hYnMoeCkpLCEoTWF0aC5jZWlsKE1hdGgubG9nKHgpL01hdGgubG9nKDIpLzgpPmgpKXtiLnBvcz1rKzE7Zm9yKGs9aC0xO2s+PTA7ay0tKWIuTi5zZXRVaW50OChiLnBvcytrLHgmMjU1KSx4Pj4+PTg7Yi5wb3M9CnZ9fWVsc2UgYi5wb3M9djtlbHNlIGIucG9zPXY7ZWxzZSBiLnBvcz12fWI9ZUcoVyxuLnBvbGljeS5QWCk7Yj1ELWJ9YiYmVy5pbmZvLlBKLmluZm8ucUgoKSYmbi5sb2FkZXIuVSgid2VibUR1cmF0aW9uQWRqdXN0bWVudCIse2R1cmF0aW9uQWRqdXN0bWVudDpiLHZpZGVvRHJpZnQ6ZStiLGF1ZGlvRHJpZnQ6cn0pfXJldHVybiBifTsKV2paPWZ1bmN0aW9uKG4sVyxEKXtpZighaE0oVyxEKSlyZXR1cm4gVz1YeChXLmluZm8pLFcuc21zdD0iMSIsWUMobi5sb2FkZXIsV3x8e30pLCExO2lzTmFOKG4uTDEpJiYobi5MMT1EKTtyZXR1cm4hMH07CmFFdz1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmZvLlBKLlcoKSYmbi5pbmZvLmokPT09bi5pbmZvLlBKLmluZGV4LngkKCl9Owp2VFo9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSl7dmFyIEc9Vy5leHBvcnRzLk1lZGlhU3RyZWFtX2dldEJhdGNoZWRTdHJlYW1FdmVudHMoRCk7aWYoRyl0cnl7dmFyIHI9Vy5tZW1vcnkuYnVmZmVyKEcsYio4OCk7bGV0IHk9bmV3IERhdGFWaWV3KHIuYnVmZmVyLHIuYnl0ZU9mZnNldCxiKjg4KSxUPVcubWVtb3J5LmhlYXAoKTtHPVtdO2ZvcihyPTA7cjxiO3IrKyl7bGV0IHo9bmV3IGIkQyh5LHIqODgsVyxUKTtHLnB1c2goe09mOnouT2YsYjM6ei5iMyxLOTp6Lks5LGx3OnoubHcsU2g6ei5TaCxnQzp6LmdDLHZXOnoudlcsR0s6ei5HSyxVVzp6LlVXLFckOnouVyQsZm9ybWF0SWQ6ei5mb3JtYXRJZCxyQzp6LnJDfSl9Yj12O2ZvcihsZXQgeiBvZiBHKXt6LmZvcm1hdElkJiZlJiYoYj1lKHouZm9ybWF0SWQpKTtsZXQgQz16Lk9mLFE9ei5iMyxWPXouSzksTHQ9ei5sdyx0aT16LlNoLEhaPXouZ0MsWjE9ei52VyxRaj16LkdLLE1pPXouVVcsTVU9ei5XJCxJQz16LmZvcm1hdElkLApJTT16LnJDO3N3aXRjaChIWil7Y2FzZSAxOmxldCBZbDt0cnl7bGV0IFVUPUpTT04ucGFyc2UoWjEpO1VUJiZ0eXBlb2YgVVQ9PT0ib2JqZWN0Ij9ZbD1VVDpZbD17cmVhc29uOlN0cmluZyhaMSl9fWNhdGNoKFVUKXtZbD17cmVhc29uOloxfX1ZQyhuLmxvYWRlcixZbCk7cmV0dXJuO2Nhc2UgMjpsZXQgajE7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCI/ajE9VVQ6ajE9e3JlYXNvbjpTdHJpbmcoWjEpfX1jYXRjaChVVCl7ajE9e3JlYXNvbjpaMX19ajEuYXZEZXN5bmMhPT12b2lkIDA/bi5sb2FkZXIuR20oajEpOm4ubG9hZGVyLmhhbmRsZUVycm9yKCJxb2UuYXZzeW5jIixqMSk7YnJlYWs7Y2FzZSAzOmxldCBUej1uZXcgcnUoUWosWjEpO01pLmxlbmd0aD4wJiYoVHouVVc9TWkpO01VIT09NDI5NDk2NzI5NSYmKFR6LmNyeXB0b1BlcmlvZEluZGV4PU1VKTtRPj0wJiYoVHouTj1RKTtUei5xSD1iLmluZm8/LnFIKCk/PyExO24ubG9hZGVyLlduKFR6KTsKYnJlYWs7Y2FzZSA0OmxldCBmaD1wUihRaiksT0k9UUwoZmgpO2lmKE9JKXtsZXQgVVQ9bmV3IFg1KE9JLFoxKTtuLk49VVQ7VVQuViYmYi50dz8uKCFVVC5WLCJlbXNnIik7bGV0IFBLPVRfKFVUKTtQSyYmKFBLLnN0YXJ0U2Vjcys9QyxuLmxvYWRlci5NZShiLFBLLFVULnNlZ21lbnROdW1iZXIsVVQuZksoKSkpfWJyZWFrO2Nhc2UgNzpsZXQgcEs7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCImJihwSz1VVCl9Y2F0Y2goVVQpe31pZihwSyYmcEsucmVzZXRGb3JSZXdyaXRlcyE9PXZvaWQgMCl7bi5sb2FkZXIuR20ocEspO2JyZWFrfWlmKFoxLnN0YXJ0c1dpdGgoImRpc2NvbnRpbnVpdHlfIikpe24ubG9hZGVyLlUoIm1kc3RtIix7cnN0NGRpc2M6WjEuc3Vic3RyaW5nKDE0KSxjZDpDLnRvRml4ZWQoMyksc3E6U3RyaW5nKElNKX0pO2JyZWFrfWxldCBPej1aMS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIik7bi5sb2FkZXIuVSgic2xpY2Vfbm90X2Z1bGx5X3Byb2Nlc3NlZCIsCnttc2c6T3p9KTticmVhaztjYXNlIDg6bGV0IEJXO3RyeXtCVz1KU09OLnBhcnNlKFoxKX1jYXRjaChVVCl7bi5sb2FkZXIuVSgid2FzbV9qc29uX3BhcnNlX2Vycm9yIix7ZXY6SFoudG9TdHJpbmcoKX0pO2NvbnRpbnVlfXgoQlcpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLG4uVyk7YnJlYWs7Y2FzZSA5OmxldCBZRTt0cnl7WUU9SlNPTi5wYXJzZShaMSl9Y2F0Y2goVVQpe24ubG9hZGVyLlUoIndhc21fanNvbl9wYXJzZV9lcnJvciIse2V2OkhaLnRvU3RyaW5nKCl9KTtjb250aW51ZX1MKFlFKTtiLk4oKSYmayYmWkgobi5sb2FkZXIuS3UsYixuLlcpO2JyZWFrO2Nhc2UgMTA6dj1aMTtuLlc9djtJQyYmZSYmKGI9ZShJQykpO2IuSj1RajtoPy5KKFFqLHYpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLHYpO2JyZWFrO2Nhc2UgMTE6Yi5WPW5ldyBSZWgodGksVik7YnJlYWs7Y2FzZSAxNDpsZXQgWmk9bmV3IFI0KElNLEMsVixMdCxgc3EvJHtJTX1gLHZvaWQgMCx2b2lkIDAsCiExLG4uSixuLk4/Lk4pO3Y9bnVsbDtuLk4mJm4uTi5mSygpJiYodj1uZXcgcHIoQ2cobi5OKSxuLk4uSigpLEJBKG4uTiksRnAobi5OKSx3RihuLk4pLGcuTWQobi5OKSxnLlJyKG4uTikpKTtuLmxvYWRlci5SMChiLFppLHYpO2JyZWFrO2Nhc2UgMTU6bGV0IFdJPU51bWJlcihaMSk7aXNOYU4oV0kpfHxuLmxvYWRlci5wWj8uKFdJKTticmVhaztjYXNlIDY6bGV0IERBPW5ldyBSNChJTSxDLFYsTHQsYHNxLyR7SU19YCx2b2lkIDAsdm9pZCAwLCEwLG4uSixuLk4/Lk4pO2lmKG4ucG9saWN5Py5VMT8/ITApdj1udWxsLG4uTiYmbi5OLmZLKCkmJih2PW5ldyBwcihDZyhuLk4pLG4uTi5KKCksQkEobi5OKSxGcChuLk4pLHdGKG4uTiksZy5NZChuLk4pLGcuUnIobi5OKSkpLG4ubG9hZGVyLlIwKGIsREEsdik7ZWxzZXt2YXIgTj1uLmxvYWRlcjtOLkt1LmlzTWFuaWZlc3RsZXNzJiZOMihOLERBLG51bGwsISFiLmluZm8udmlkZW8pfWJyZWFrO2Nhc2UgMTI6dmFyIEg9bi5sb2FkZXI7dj0KYjt2YXIgQT1uZXcgUjQoSU0sQyxWLEx0LGBzcS8ke0lNfWAsdm9pZCAwLHZvaWQgMCwhMCxuLkosbi5OPy5OKTtILkt1LmlzTWFuaWZlc3RsZXNzJiZUeChILkt1LEEuaiQsISF2LmluZm8udmlkZW8pO2JyZWFrO2Nhc2UgNTpsZXQgcFY7dHJ5e3BWPUpTT04ucGFyc2UoWjEpfWNhdGNoKFVUKXtuLmxvYWRlci5VKCJ3YXNtX2pzb25fcGFyc2VfZXJyb3IiLHtldjpIWi50b1N0cmluZygpfSk7Y29udGludWV9cFYuc3RhcnRTZWNzKz1DO24uSj1wVjtuLmxvYWRlci5NZShiLHBWLElNLG4uTj8uZksoKT8/ITEpO2JyZWFrO2Nhc2UgMTM6UWYoYixuZXcgRGF0YVZpZXcoUWouYnVmZmVyLFFqLmJ5dGVPZmZzZXQsUWouYnl0ZUxlbmd0aCkpO2JyZWFrO2RlZmF1bHQ6bi5sb2FkZXIuVSgid2FzbV91bmtub3duX2V2Iix7ZXY6SFoudG9TdHJpbmcoKX0pfX19ZmluYWxseXtXLmV4cG9ydHMuTWVkaWFTdHJlYW1fY2xlYXJQZW5kaW5nRXZlbnRzKEQpfWVsc2UgVy5leHBvcnRzLk1lZGlhU3RyZWFtX2NsZWFyUGVuZGluZ0V2ZW50cyhEKX07Ckg2PWZ1bmN0aW9uKG4pe24uVWwmJihuLlVsLmRpc3Bvc2UoKSxuLlVsPW51bGwpO24uU0s9dm9pZCAwO24uWFY9dm9pZCAwfTsKSjQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9V15uO3ZhciBMOyhufDIpPj0yNyYmbisyPDMzJiYoTD1iKHYsayxoKSk7aWYoISgobnw0KT4+NCkpZm9yKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO0QtLTspYltJW3heNDM4NF1dKGJbSVt4XjQzODldXSgpKTtpZigobi0yfDU4KT49biYmKG4tOHwxNSk8bil7Zm9yKHZhciBlPXheNDY3NCxHPVtdOysrZS1HW0lbNV1dLSh4XjQ2NDIpOyl7c3dpdGNoKGUpe2Nhc2UgeF40Njk3OmU9eF40NjU0O2NvbnRpbnVlO2Nhc2UgeF40NzI5OmU9eF40Njc1O2JyZWFrO2Nhc2UgeF40Njc1OmUtPXheNDYyNDtjb250aW51ZTtjYXNlIHheNDY2NDplPXheNDcwNjtjb250aW51ZTtjYXNlIHheNDY1MjplPXheNDcwMX1HW0lbeF40NjI4XV0oU3RyaW5nW0lbeF40NjU2XV0oZSkpfUw9R31yZXR1cm4gTH07CmZyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qXygpLGI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0VHlwZShXKSx2PUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFNlZ051bShXKSxrPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFN0YXJ0VGltZShXKSxoPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldER1cmF0aW9uKFcpLHg9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNFbmRPZlNlZ21lbnQoVykhPT0wLEw9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0U2xpY2VPZmZzZXQoVyksZT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TG10KFcpLEc9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNGYXN0U2Vla2FibGUoVykhPT0wLHI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkKFcpLE49RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkTGVuZ3RoKFcpLEg9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Rm9ybWF0SWQoVyksQT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRGb3JtYXRJZExlbmd0aChXKSwKeT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TWVkaWFTb3VyY2UoVyksVD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW4oVyksej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW5MZW5ndGgoVyksQz1ELm1lbW9yeS5oZWFwKCksUT0iIjtyJiZOPjAmJihRPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxyLE4pKS5yZXBsYWNlKC9cMC9nLCIiKSk7cj0iIjtIJiZBPjAmJihyPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxILEEpKS5yZXBsYWNlKC9cMC9nLCIiKSk7SD0iIjtUJiZ6PjAmJihIPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxULHopKS5yZXBsYWNlKC9cMC9nLCIiKSk7VD1yJiZuLkVlP24uRWUocik6bi5QSjtDPUQubWVtb3J5LmhlYXAoKTtBPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldERhdGEoVyk7ej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRMZW5ndGgoVyk7Qz1uZXcgUzUoWyhuZXcgVWludDhBcnJheShDLEEseikpLnNsaWNlKCldKTtBPQpELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50Qnl0ZVJhbmdlU3RhcnQoVyk7RD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TGVuZ3RoQnl0ZXMoVyk7Vz12b2lkIDA7RD4wJiZULlcoKSYmKFc9V18oQSxEKSk7aHx8dHlwZW9mIFQucmIhPT0ibnVtYmVyInx8KGg9VC5yYik7Yj1uZXcgcUkoYixULFcsIndhc20iLHYsayxoLEwseix4LGUsUSxHLHksSCk7eD1uZXcgYjgoYixDKTtpZihuLnBvbGljeS5Zcnx8bi5wb2xpY3kuUyQpYj0hIWIuTiYmdj09PW4ueHAseC5XPWI/bi5tOTprLHguWD1iP24uenI6aCxifHwobi54cD12LG4ubTk9eC5XLG4uenI9eC5YKTtyZXR1cm4geH07CnlrPWZ1bmN0aW9uKG4pe24uaj0hMDtuLlBEPSEwO24uWD0tMTtQdShuLEluZmluaXR5KX07Cm1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLkopSjAobixXKTtuLko9W107bi5OPW51bGx9OwpLdj1mdW5jdGlvbihuLFcsRD0hMSl7aWYobi5RRSl7bGV0IGI9bi5RRS5aRigpLHY9RlooYixXKSxrPU5hTixoPUkkKG4pO2gmJihrPUZaKGIsaC5QSi5pbmRleC5nZXRTdGFydFRpbWUoaC5qJCkpKTtpZih2PT09ayYmbi5OJiZuLk4uSiYma1F3KFNxKG4pLDApKXJldHVybiBXfW49QTAobixXLEQpO3JldHVybiBuPj0wP246TmFOfTsKUHU9ZnVuY3Rpb24obixXLEQpe24uUEouTigpO3ZhciBiPUEwKG4sVyk7aWYoYj49MClyZXR1cm4gYjtuLlY/LmNKKFcsRCk7Vz1NYXRoLm1pbihXLG4uVy5McygpKTtuLk49bi5wb2xpY3kudHc/bnVsbDpuLlBKLksoVykuQXdbMF07bWQobikmJihuLnBvbGljeS5YWSYmRD8uc2Vla1NvdXJjZT09PTYwfHxuLlFFJiZuLlFFLmFib3J0KCksbi5wb2xpY3kucG8mJm4uVj8uWSgpKTtuLlMkPTA7cmV0dXJuIG4uTj9uLk4uc2VnbWVudFN0YXJ0VGltZTpXfTsKaVk9ZnVuY3Rpb24obil7cmV0dXJuIG4uVy5XMigpfTsKS3I9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSl7VyYmczQmJm4uVy5CVyhXLml3KCkpO0R8fG4uVj8uVigpO24uUUU9VztuLlY/LnR3KG4uUUUsYil9OwpJJD1mdW5jdGlvbihuKXtyZXR1cm4gbi5wb2xpY3kuZkM/bi5WPy5iZCgpfHxudWxsOm4uUUUmJm4uUUUuWmcoKX07Cmhacj1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQ9MDtEPG4uTy5sZW5ndGg7RCsrKVdbYHIke0R9YF09bi5PW0RdO3JldHVybiBXfTsKTzQ9ZnVuY3Rpb24obixXKXtpc05hTihuLlkpfHxuLlUoImFzd3IiLHtzcTpXLmluZm8uQXdbMF0uaiQsaWQ6Vy5pbmZvLkF3WzBdLlBKLmluZm8uaXRhZyx4dGFnOlcuaW5mby5Bd1swXS5QSi5pbmZvLkosZXA6RGF0ZS5ub3coKS1uLll9KTtuLkoucHVzaChXKTtuLk49Zy5VTShXLmluZm8uQXcpO24uTy5wdXNoKFcuZ2EoKSk7bi5PLmxlbmd0aD40JiZuLk8uc2hpZnQoKX07CnhYQz1mdW5jdGlvbihuLFcpe2lmKFcuUUEoKSl7bGV0IEQ9Vy54OSgpO2ZvcihsZXQgYiBvZiBEKW4ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBTbiYmbi5VKCJvbWJsc3MiLHtzOmIuaW5mby5nYSgpfSksbi5XZyhXLmluZm8uQXcsYixXLlh2KCkpfX07CkxqVT1mdW5jdGlvbihuKXtuLkoubGVuZ3RoP24uTj1nLlVNKGcuVU0obi5KKS5pbmZvLkF3KTpuLlcuUkMoKT9uLk49bi5XLld4KCkuaW5mbzpuLk49SSQobil9OwpQNj1mdW5jdGlvbihuLFcpe3ZhciBEPXtlVzpbXSxCaTpbXX07cmV0dXJuIG4uVj8uTyhXKT8/RH07CkEwPWZ1bmN0aW9uKG4sVyxEPSExKXtpZighbi5OfHwhbi5OLkopcmV0dXJuIE5hTjtuPVNxKG4pO1c9ZVp0KG4sVysuMDIsRCk7cmV0dXJuIFc8MD9OYU46a1F3KG4sRD9XOjApP25bV10uc2VnbWVudFN0YXJ0VGltZTpOYU59OwptZD1mdW5jdGlvbihuKXtpZihuLlBKLmluZm8uSUI9PT0iZiJ8fG4ucG9saWN5LkomJm4uVy5vQygpKXJldHVybiEwO3ZhciBXPUkkKG4pO2lmKCFXKXJldHVybiExO3ZhciBEPVpkKFcpJiZXLmFaO3JldHVybiBuLmlzTWFuaWZlc3RsZXNzJiZuLnR3PjA/RHx8Vy5qJD49bi50dzpEfTsKWmQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/bi5WKCk6ITF9OwpnVEM9ZnVuY3Rpb24obil7dmFyIFc9SSQobik7cmV0dXJuIFc/Vy5qLW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk6MH07ClU0PWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFuLlBKLmluZGV4Lk1JKFcsITApKXJldHVybiExO3RyeXttaShuKTtuLlcuSzgoVyk7aWYobi5wb2xpY3kuTilyZXR1cm4gbi5OPW51bGwsITA7Yj5EP1B1KG4sYik6bi5OPW4uUEouaihXLTEsITEpLkF3WzBdfWNhdGNoKHYpe3JldHVybiBXPUIkKHYpLFcuZGV0YWlscy5yZWFzb249InJvbGxia2VyciIsbi5sb2FkZXIuaGFuZGxlRXJyb3IoVy5lcnJvckNvZGUsVy5kZXRhaWxzLFcuc2V2ZXJpdHkpLCExfXJldHVybiEwfTsKSjA9ZnVuY3Rpb24obixXLEQ9ITEpe24uY3EoVyxEKTtXLmRpc3Bvc2UoKX07Cmc3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XXm47aWYoISgobnw3KT4+NCkpe3ZhciB2PURbSVtiXjIzXV0oSVtiXjJdKSxrPXt9O2ZvcihsZXQgTD0wO0w8dltJWzVdXTtMKyspdmFyIGg9UjAoNixiXjczMjUsdixMLGspO3ZhciB4PWt9aWYoKG4tOV4yMSk8biYmbi03PDwxPj1uKWZvcih2PURbSVs1XV07djspRFtJW2JeNjMzM11dKERbSVszXV0oLS12LDEpWzBdKTtpZigobnw0MCk9PW4pe3Y9Yl45MDYyO2ZvcihrPVtdOysrdi1rW0lbNV1dLShiXjg5NjYpOyl7c3dpdGNoKHYpe2Nhc2UgYl44OTg4OnYtPWJeOUUzO2Nhc2UgYl45MDg1OmNhc2UgYl45MDgyOmNhc2UgYl45MDgzOmNvbnRpbnVlO2Nhc2UgYl45MDUzOnY9Yl44OTY5O2Nhc2UgYl45MDgwOmNhc2UgYl45MDgxOmNhc2UgYl45MDMwOmNvbnRpbnVlO2Nhc2UgYl44OTY4OnY9Yl45MDgxfWtbSVtiXjkwMDhdXShTdHJpbmdbSVtiXjg5ODBdXSh2KSl9eD1rfXJldHVybiB4fTsKeW89ZnVuY3Rpb24obil7dmFyIFc9bi5XLld4KCk7cmV0dXJuIFc/Vy5pbmZvOkkkKG4pfTsKRTQ9ZnVuY3Rpb24obixXKXt2YXIgRDtmb3IoRD0wO0Q8bi5KLmxlbmd0aCYmVyE9PW4uSltEXTtEKyspO2lmKEQ9PT1uLkoubGVuZ3RoKUowKG4sVyk7ZWxzZXtmb3IoO0Q8bi5KLmxlbmd0aDspSjAobixuLkoucG9wKCkpO3ZhciBiPXlvKG4pO2ImJmIuUEouRCgpJiZnLm9NKFcuaW5mby5Bdyx2PT4kTih2LGIpKT8obi5OPWIsbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6ImxzcCIsCmxzcDpiLmdhKCl9KSk6KHhOKFcuaW5mby5Bd1swXSk/KG4uTj1XLldvJiZXLldvLlc/VEQxKFcuV28uVyk6bER4KFcuaW5mby5Bd1swXSksbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6bi5OLmdhKCksbHNwOmI/LmdhKCl9KSk6KG4uTj1udWxsLG4ucG9saWN5LlcmJm4uVSgiY2VyIix7bHNyOiJudWxsIixsc3A6Yj8uZ2EoKX0pKSxuLmxvYWRlci5pc09mZmxpbmUoKSYmIW4ucG9saWN5LlRRfHxKMChuLFcsITApKX19OwppUz1mdW5jdGlvbihuKXtyZXR1cm4gbWQobil8fFpkKG4uVy5XeCgpPy5pbmZvKX07ClNxPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9SSQobik7RCYmVy5wdXNoKEQpO1c9Zy53eihXLG4uVy5mMygpKTtmb3IobGV0IGIgb2Ygbi5KKWZvcihsZXQgdiBvZiBiLmluZm8uQXcpYi5TMyYmKFc9Zy5FTShXLGs9PiF0SihrLHYpKSksKHhOKHYpfHx2LmNKKCkpJiZXLnB1c2godik7Cm4uTiYmIXpBMihuLk4sZy5VTShXKSxuLk4uUEouVygpKSYmVy5wdXNoKG4uTik7cmV0dXJuIFd9OwprUXc9ZnVuY3Rpb24obixXKXtpZighbi5sZW5ndGgpcmV0dXJuITE7Zm9yKFcrPTE7VzxuLmxlbmd0aDtXKyspaWYoIUx6KG5bVy0xXSxuW1ddKSlyZXR1cm4hMTtyZXR1cm4hMH07CmVadD1mdW5jdGlvbihuLFcsRD0hMSl7dmFyIGI9LTE7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoay5YPD1XKWlmKEQpYj12O2Vsc2UgaWYoay5zZWdtZW50U3RhcnRUaW1lK2suVz49VylyZXR1cm4gdn1yZXR1cm4gYn07CnZhciBZalo9ZnVuY3Rpb24obixXKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsMiw0OTA2LG4sVyl9Owp1Uz1mdW5jdGlvbihuKXtyZXR1cm4hKCFuLk58fG4uTi5QSj09PW4uUEopfTsKWDB0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wb2xpY3kuTj9uLnpzKCEwKTxEOihuPXlvKG4pKSYmIVpkKG4pP24uaj5XJiZuLmo8VytEOiExfTsKZy5vJD1mdW5jdGlvbihuKXtuLlY/LlYoKTtuLmtJKCl9Owpxemg9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJm4uTi5qJCE9PS0xJiZuLk4uaiQ8bi5QSi5pbmRleC5aTygpfTsKR1FiPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTjtXJiZXLmokPT09LTEmJihuPW4uVy5XeCgpKSYmeE4obi5pbmZvKSYmKG49bi5pbmZvLmokLFcuWT0idXBkYXRlTGFzdFNsaWNlUmVxdWVzdGVkIixXLmokPW4pfTsKdGRqPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4uSixXPT5XLmZKKX07CiRYMT1mdW5jdGlvbihuLFcpe3ZhciBEPWlZKG4pO3JldHVybiBEJiZELmluZm8udHlwZSE9PTY/IVcuTyhuLEQuaW5mby5qJCk6ITF9OwpyeUM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5jSilpZihELnNlZ21lbnROdW1iZXI9PT1XKXJldHVybiBELnBWPzI6MTtyZXR1cm4gMH07Ck44Wj1mdW5jdGlvbih7aGFzU3ViZnJhZ21lbnRlZEZtcDQ6bj0hMSxJMjpXPSExfT17fSl7dmFyIEQ9bmV3IHNLaTtELnRJPW58fFc7cmV0dXJuIER9OwpkdT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OJiZuLkZlJiZuLnBsYXliYWNrU3RhcnRQb2xpY3l9OwpKa0M9ZnVuY3Rpb24obixXLEQ9ITEpe1cudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmIW4uV0gmJihuLmUkPTM2NzAwMTYwLG4udko9NTI0Mjg4MCxuLkhKPU1hdGgubWF4KDQxOTQzMDQsbi5ISiksbi5XSD0hMCk7Vy52aWRlby5xdWFsaXR5T3JkaW5hbD4yMTYwJiYhbi5iZSYmKG4uZSQ9MTA0ODU3NjAwLG4uTnM9MTMxMDcyMDAsbi5iZT0hMCk7Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSE9PTA/Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoInNhbXN1bmciKSYmKGcudWIoImthbnQiKXx8Zy51YigibXVzZSIpKSYmKG4uTnM9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSk6Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoImthbnQiKSYmKG4uTnM9MTMxMDcyMCk7bi55UCE9PTAmJlcuaXNFbmNyeXB0ZWQoKSYmKG4uTnM9bi55UCk7bi5KRyE9PQowJiZXLmlzRW5jcnlwdGVkKCkmJkQmJihuLk5zPW4uSkcpO1cuTnMmJihuLlFIPU1hdGgubWF4KG4uWm0sTWF0aC5taW4obi5ISiw1KlcuTnMpKSl9Owp6Wj1mdW5jdGlvbihuLFcsRD0wKXtyZXR1cm4gZy5kTShuLnlRLmV4cGVyaW1lbnRzLFcpfHxEfTsKbFM9ZnVuY3Rpb24obixXLEQsYil7bi5GZSYmKG4ucGxheWJhY2tTdGFydFBvbGljeT1XLG4uTTU9RCxuLkRDPWIpfTsKUjY9ZnVuY3Rpb24obixXKXtpZihXPDApcmV0dXJuITA7dmFyIEQ9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYhbi5zSnx8Vz09PUQmJihuPW4uT2coKSkmJlc9PT1uLmokPyEwOiExfTsKS2EyPWZ1bmN0aW9uKG4sVyxEKXtpZighUjYobixXKSlyZXR1cm4gMDtpZighbi50SXx8IWlzTmFOKEQpJiZEPjApcmV0dXJuIDI7aWYoVzwwKXJldHVybiAxO0Q9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYobj1uLk9nKCkpJiZXPT09bi5qJCYmIW4ucGVuZGluZz8yOjF9OwpwMGI9ZnVuY3Rpb24obixXLEQpe2lmKCEoVy5YZiYmbi5pc0NvbXBsZXRlKCkmJm4uY2FuUmV0cnkoKSYmbi5pbmZvLlhiLnBTKFcsRCkpKXJldHVybiAwO3ZhciBiPW4uaW5mby5YYi5qO2lmKGImJiFXLmVuYWJsZVNhYnJQcm9iZU9uU2VydmVySW5pdGlhdGVkSG9zdEZhbGxiYWNrKXJldHVybiAwO249VVkoRCxGNShuLmluZm8uWGIsITEsVykpO3JldHVybiBiJiYoRD0oMCxnLlIpKCktbi5YLG4uWD4wJiZEPFcuc2FiclN1Y2Nlc3NmdWxQcm9iZVRpbWVvdXRNcyk/MDpuLmorVy5YZipsTChuLCEwLGIpPigwLGcuUikoKT8wOjF9OwpqcT1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kuem0pcmV0dXJuITE7dmFyIGI9bi5KQzt2YXIgdj1XLk4/LlRDKCl8fC0xO2IuSj09PTMmJnYrMT49Yi5YPyhiLlUoInNkYWkiLHtoYWx0cnE6disxLGVzdDpiLlh9KSxiPSExKTpiPWIuSiE9PTI7aWYoIWJ8fCEoVy5OP1cuTi5QSi5YYjpXLlBKLlhiKS5ZKG4ucG9saWN5LG4ubm4sbi5sb2FkZXIuSXcpfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmKCFUWihuLnNjaGVkdWxlKXx8bi5sb2FkZXIuT00pKXJldHVybiExO2lmKG4ucG9saWN5LkomJnFzPj01KXJldHVybiBnLkphKG4ubG9hZGVyLmoyKSwhMTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzKXtpZihXLkoubGVuZ3RoPjAmJlcuTiYmVy5OLmokPT09LTF8fFcuSi5sZW5ndGg+PW4ucG9saWN5LndvfHwhbi5wb2xpY3kuWE0mJlcuSi5sZW5ndGg+MCYmIW4ucG9saWN5LlYudEkpcmV0dXJuITE7aWYoVy5qKXJldHVybiFuLkt1LmlzTGl2ZXx8IWlzTmFOKG4uWkEpfWlmKHRkaihXKSlyZXR1cm4hMTsKaWYoIVcuTil7aWYoIVcuUEouTigpKXJldHVybiExO1B1KFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSl9aWYoaVkoVykmJihXLld4KCkhPT1pWShXKXx8bi5sb2FkZXIuaXNTdXNwZW5kZWQpKXJldHVybiExO3Y9KGI9bi5wb2xpY3kuc1MpJiYhVy5KLmxlbmd0aCYmVy56cyghMCk8TWF0aC5taW4oYixELnpzKCkpO2I9Vy5KLmxlbmd0aCtELkoubGVuZ3RoO3ZhciBrPShXLkoubGVuZ3RoP1cuSlswXS5ReSgpOiExKXx8KEQuSi5sZW5ndGg/RC5KWzBdLlF5KCk6ITEpfHxuLkt1LmlzTGl2ZTsodnx8aykmJi0tYjtpZihiKzE+PW4ucG9saWN5LkN5KXJldHVybiExO2I9Vy5OO2lmKCFiKXJldHVybiEwO2IuY0ooKSYmYi5QSi5OKCkmJihXLk49Zy5VTShiLlBKLlZRKGIpKSxiPVcuTik7aWYoIWIuVigpJiYhYi5QSi5YKGIpKXJldHVybiExO2s9bi5LdS5YZ3x8bi5LdS5pc1dpbmRvd2VkTGl2ZTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzJiZrKXtrPVcuUEouaW5kZXgueCQoKTt2YXIgaD0KRC5QSi5pbmRleC54JCgpO2s9TWF0aC5taW4oayxoKTtpZihXLlBKLmluZGV4LlRYKCk+MCYmaz4wJiZiLmokPj1rKXJldHVybiBXLnR3PWssRC50dz1rLCExfWlmKGIuUEouaW5mby5hdWRpbyYmYi5jSigpfHxiLlYoKSlyZXR1cm4hMTtrPSFXLlBEJiYhRC5QRDtpZih2PSF2KXY9Yi5qLHY9ISEoRC5OJiYhWmQoRC5OKSYmRC5OLmo8dik7aD1XPT09bi52aWRlb1RyYWNrJiZuLnBvbGljeS5UQztyZXR1cm4gdiYmKCFuLkt1LmlzTWFuaWZlc3RsZXNzfHxELk4mJkQuTi5qJiZiLmopJiZrJiYhaHx8bi5wb2xpY3kuQlYmJiFXLlBEJiZELlBEPyExOnhOKGIpJiZiLmo+WXppKG4sVyk/KFl6aShuLFcpLCExKToobj1XLlFFKSYmbi5pc0xvY2tlZCgpPyExOiEwfTsKVm89ZnVuY3Rpb24obixXKXtIJGgobi5sb2FkZXIsVyk7dmFyIEQ9elAoVyksYj1uLmxvYWRlci5sdSgpO0Q9e2lqOm4uc2NoZWR1bGUsczQ6RCxCbDpmaXgobi5JZyxEKSxRbjpoSihXLkF3WzBdKSxkaXNhYmxlUmVjb3JkaW5nOmdaKDQwLDEyMTIsVy5YYi5OKSxORDpuLnBvbGljeS5XLEJlOih2LGspPT57bi5sb2FkZXIuS2EodixrKX19OwpuLnNjaGVkdWxlLkouViYmKEQucVk9KG4udmlkZW9UcmFjay5QSj8uaW5mby5Oc3x8MCkrKG4uYXVkaW9UcmFjay5QSj8uaW5mby5Oc3x8MCkpO24uaG4mJihELmokPVcuQXdbMF0uaiQsRC5aQT1XLlpBLEQuaG49bi5obik7Yj17Vzc6d0xVKFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSksZTE6bi5wb2xpY3kuc1YmJnlzKFcpJiZXLkF3WzBdLlBKLmluZm8udmlkZW8/RWpaKG4uY1YpOnZvaWQgMCxTTjpuLnBvbGljeS5UQyxwb1Rva2VuOm4ubG9hZGVyLk1ZKCksVWo6bi5sb2FkZXIuVTQoKSxKTzppc05hTihuLkpPKT9udWxsOm4uSk8sYUk6bi5hSSxQbjpuLlBuLHEkOmJ9O3JldHVybiBuZXcgQUIobi5wb2xpY3ksVyxELG4ubm4sKHYsayk9Pnt0cnl7YTp7bGV0IE1pPXYuaW5mby5Bd1swXS5QSixNVT1NaS5pbmZvLnZpZGVvP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2s7aWYoISh2LnN0YXRlPj0yKXx8di5pc0NvbXBsZXRlKCl8fHYuQWcoKXx8ISghbi5sb2FkZXIubWVkaWFTb3VyY2V8fApuLmxvYWRlci5pc1N1c3BlbmRlZHx8TVUuenMoKT4zKSl7e3ZhciBoPW4ucG9saWN5LHg9bi5ubjtsZXQgSUM9di5BZygpO2lmKHYuaXNDb21wbGV0ZSgpfHwhSUN8fHYuaW5mby5YYi5wUyhoLHgpKXZhciBMPTA7ZWxzZXt2YXIgZT1oLnpmO2lmKCFlfHxJQzxlKUw9MDtlbHNle3ZhciBHPVVZKHgsRjUodi5pbmZvLlhiLCEwLGgpKTtMPUcuTnx8Ry50aW1lZE91dHx8Ry5zdGFydGVkPzA6Mn19fUw9PT0xJiYobi5WPSEwKTtmckMobix2LEwpO2lmKHYuaXNDb21wbGV0ZSgpfHx2LnFOKCkmJms8Myl7aWYobi5wb2xpY3kuVyl7bGV0IElDPXYudGltaW5nLkQoKTtJQy5yc3Q9di5zdGF0ZTtJQy5zdHJtPXYueGhyLkdwKCk7SUMuY25jbD12LnhociYmdi50NS5YPzE6MDtuLmxvYWRlci5VKCJycXMiLElDKX12Lm9QJiZuLmxvYWRlci5VKCJzYndlMyIse30sITApfWlmKCFuLnFOKCkmJnYuc3RhdGU+PTIpe1hTaChuLnRpbWluZyx2LE1pKTt2YXIgcj1uLmxvYWRlcjtuLkpPJiZ2Lnp3JiYKciYmKG4uSk89TmFOLG4ubG9hZGVyLm45KHYuencpLG4ubG9hZGVyLk1qKCksbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWsiLHttZWRpYVRpbWVTZWNvbmRzOnYuend9KSk7di50ViYmbi5KTyYmdi50ViYmIXYudFYuYWN0aW9uJiYobi5sb2FkZXIud1Iobi5KTyksbi5KTz1OYU4sbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWtGYWxsYmFjayIse3RhcmdldFV0Y1RpbWVTZWNvbmRzOm4uSk99KSk7di5BaCYmbi5sb2FkZXIuc1codi5BaCk7bi5wb2xpY3kuTmQmJihuLlBuPXYuUG4pO2lmKHYuc3RhdGU9PT0zKXtFNChNVSx2KTt5cyh2LmluZm8pJiZDcihuLE1VLE1pLCEwKTtpZihuLnNVKXtsZXQgSUM9di5pbmZvLllsKCk7SUMmJm4uc1UuWjUodi5pbmZvLkF3WzBdLmokLE1pLmluZm8uaWQsSUMpfW4ubG9hZGVyLkJZKCl9ZWxzZSBpZih2LmlzQ29tcGxldGUoKSYmdi5pbmZvLkF3WzBdLnR5cGU9PT01KXtpZih2LnN0YXRlIT09NCl2LnRuKCkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKHYuVkcoKSwKdi55MCgpKTtlbHNle3ZhciBOPSh2LmluZm8uQXdbMF0uUEouaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5KWzBdfHxudWxsO04mJk4gaW5zdGFuY2VvZiBBQiYmTi5BZygpJiZOLk1CKCl9di5kaXNwb3NlKCl9ZWxzZXtpZighdi50bigpJiZ2LmZKJiZ2LnN0YXRlPj0yJiZ2LnN0YXRlIT09Myl7dmFyIEg9di54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIlgtUmVzcG9uc2UtSXRhZyIpO2lmKEgpe3ZhciBBPXlrcihuLmNWLEgpLHk9di5pbmZvLlc7aWYoeSl7dmFyIFQ9eS1BLkhKKCk7QS5jSj0hMDt2LmluZm8uQXdbMF0uUEouY0o9ITE7dmFyIHo9QS5ZKFQpO3YuaW5mbz16O2lmKHYuV28pe3ZhciBDPXYuV28sUT16LkF3OyhRLmxlbmd0aCE9PUMuQXcubGVuZ3RofHxRLmxlbmd0aDxDLmpTLmxlbmd0aCkmJmcuY18oImRhc2gvcmVxdWVzdCIsMjYwNTExMTE5LGAke1EubGVuZ3RofWAsYCR7Qy5Bdy5sZW5ndGh9YCxgJHtDLmpTLmxlbmd0aH1gKTtDLkF3PVE7bGV0IElDPQpRWzBdLnJhbmdlLElNPW5ldyBTNTtmb3Ioaz0wO2s8Qy5qUy5sZW5ndGg7aysrKWU1KElNLEMualNba10uSik7Zm9yKGs9MDtrPEMualMubGVuZ3RoO2srKyl7Qy5qU1trXS5pbmZvPVFba107bGV0IFlsPVFba10ucmFuZ2U7Qy5qU1trXS5KPWdkKElNLFlsLnN0YXJ0LUlDLnN0YXJ0LFlsLmxlbmd0aCl9fXYuZko9ITE7QjYobi5sb2FkZXIsbi52aWRlb1RyYWNrLEEpO3ZhciBWPW4udmlkZW9UcmFjaztWLk4mJihWLk4uUEo9QSk7bi5sb2FkZXIuWUooQS5pbmZvLnZpZGVvLnF1YWxpdHkpO3ZhciBMdD12Llh2KCk7THQmJkEuaW5mby5sYXN0TW9kaWZpZWQmJkEuaW5mby5sYXN0TW9kaWZpZWQhPT0rTHQmJkU0KG4udmlkZW9UcmFjayx2KX19ZWxzZSB2LmZKPSExfXYuWHQ/Lml0YWdEZW55bGlzdCYmbi5sb2FkZXIuV0Yodi5YdC5pdGFnRGVueWxpc3QpO2lmKHYuc3RhdGU9PT00KUYwKG4sdiksbi5KQyYmbi5KQy5TJCh2LmluZm8sbi5zVSk7ZWxzZSBpZihuLnBvbGljeS5lNCYmdi5RQSgpJiYKIXYuaXNDb21wbGV0ZSgpJiYhRjAobix2KSYmIXYudG4oKSlicmVhayBhO2lmKHYudG4oKSl7bGV0IElDPXYuaW5mby5Bd1swXS5QSixJTT12LlZHKCk7aWYoZ1ooMjQsMTE2NCxJQy5YYi5OKSl7bGV0IFR6PWcudXAodi5zOCgpLDMpO24ubG9hZGVyLlUoImRsZGJyZXJyIix7ZW06VHp8fCJub25lIn0pfWxldCBZbD12LmluZm8uQXdbMF0uaiQsajE9ekkobi5KQyx2LmluZm8uQXdbMF0uWCxZbCk7SU09PT0ibmV0LmJhZHN0YXR1cyImJihuLk4rPTEpO2lmKHYuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpKXtpZighKHYuaW5mby5YYi5KPj1uLnBvbGljeS5sTSYmbi5zVSYmdi5pbmZvLmlzRGVjb3JhdGVkKCkmJklNPT09Im5ldC5iYWRzdGF0dXMiJiZNMihuLnNVLGoxLFlsKSkpe3ZhciB0aT0oSUMuaW5mby52aWRlbyYmSUMuWGIuSj4xfHx2LmxOPT09NDEwfHx2LmxOPT09NTAwfHx2LmxOPT09NTAzKSYmISh3QyhuLmNWLmopLnNpemU+MCkmJiFnWig1NCwxMTg2LElDLlhiLk4pLEhaPQp2LnkwKCksWjE9SUMuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3RpJiYoSFouc3R1bj0iMSIpO24ubG9hZGVyLmhhbmRsZUVycm9yKElNLEhaKTtuLnFOKCl8fCh0aSYmYXEobi5jVixJQyksRTQoWjEsdiksbi5sb2FkZXIuQlkoKSl9fWVsc2UgQT0xLG4uc1UmJnYuaW5mby5pc0RlY29yYXRlZCgpJiZJTT09PSJuZXQuYmFkc3RhdHVzIiYmTTIobi5zVSxqMSxZbCkmJihBPTApLG4uS3UuaXNMaXZlJiZ2LlZHKCk9PT0ibmV0LmJhZHN0YXR1cyImJm4uTjw9bi5wb2xpY3kueGgqMj8oajQobi5LdSksbi5LdS5YZ3x8bi5LdS5pc1ByZW1pZXJlP2RWKG4ubG9hZGVyLDAse3FkOiJiYWRTdGF0dXNXb3JrYXJvdW5kIn0pOm4uS3UuaXNXaW5kb3dlZExpdmU/ZFYobi5sb2FkZXIsbi5LdS5KVSx7cWQ6ImJhZFN0YXR1c1dvcmthcm91bmQiLHFhOiEwfSk6UiQobi5sb2FkZXIpKTpuLmxvYWRlci5oYW5kbGVFcnJvcihJTSx2LnkwKCksQSk7aXNOYU4obi5KTyl8fChuLmxvYWRlci53UihuLkpPKSwKbi5KTz1OYU4pfW4ucG9saWN5LkhEJiYhdi5pc0NvbXBsZXRlKCk/UW8obi5sb2FkZXIpOm4ubG9hZGVyLkJZKCk7dmFyIFFqPXAwYih2LG4ucG9saWN5LG4ubm4pO2ZyQyhuLHYsUWopfX19fX1jYXRjaChNaSl7UWo9bi5qPzE6MCxuLmo9ITAsdj1qMihRaiksUWo9QiQoTWksUWopLG4ubG9hZGVyLmhhbmRsZUVycm9yKFFqLmVycm9yQ29kZSxRai5kZXRhaWxzLFFqLnNldmVyaXR5KSx2fHxuLmxvYWRlci56aSgpfX0sYil9OwpJcmI9ZnVuY3Rpb24obixXLEQpe2lmKGpxKG4sVyxEKSl7RD1uLkooVyxEKTtpZihuLnNVKXt2YXIgYj1ELkF3WzBdLlBKLmluZm8uaWQ7dmFyIHY9bi5KQzt2YXIgaz1ELkF3WzBdLmokO3Y9azwwJiYhaXNOYU4odi5qKT92Lmo6aztrPXpJKG4uSkMsRC5Bd1swXS5YLHYpO2xldCBMPVc9PT1uLmF1ZGlvVHJhY2s/MToyLGU9RC5Bd1swXS5QSi5pbmZvLklCLEc9Yi5zcGxpdCgiOyIpWzBdO2E6e3ZhciBoPW4uSkM7aWYoaC5OKXt2YXIgeD1oLk4uZmYuZXZlbnQ7aWYoaC5OLmokPT09dil7aD14PT09InByZWRpY3RTdGFydCI/dm9pZCAwOmguTi5mZi5ldmVudDticmVhayBhfWlmKGguTi5qJD09PXYtMSl7aD14PT09InN0YXJ0Inx8eD09PSJjb250aW51ZSI/eDp2b2lkIDA7YnJlYWsgYX19aD12b2lkIDB9aWYobi5wb2xpY3kuVlEmJm4uSkMuSiE9PTApYj1nLkp5aShuLnNVLGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYiYmKG4ubG9hZGVyLlUoInNkYWkiLAp7c3NkYWlpbmZvOiIxIixkczpiLk15Py5CZnx8IiIsc2tpcHNxOmIuTXk/LkRKfHwtMSxpdGFnOkcsZjplLHNnOnYsc3Q6ay50b0ZpeGVkKDMpfSksRC5YPWIpO2Vsc2UgaWYoYj1uLnNVLllsKGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYil7az17ZGVjX3NxOnYsaXRhZzpHLHN0OmsudG9GaXhlZCgzKX07aWYobi5wb2xpY3kubiQmJlcuaXNSZXF1ZXN0UGVuZGluZyh2LTEpKXtuLmxvYWRlci5VKCJzZGFpIix7d3RfZGFpc3RhdGVfb25fc2c6di0xfSk7cmV0dXJufW4ubG9hZGVyLlUoInNkYWkiLGspO2ImJihELk49bmV3IGcud1ooYikpO24ucG9saWN5LlcmJih2PUQuWGIuVy5nZXQoImlkIil8fCIiLGI9RC5OPy5nZXQoImlkIil8fCIiLHYhPT1iJiZuLmxvYWRlci5VKCJzdG1pZG1pc21hdGNoIix7Y2lkOnYsYWlkOmJ9KSl9ZWxzZSBuLkpDLkohPT01JiZuLmxvYWRlci5VKCJzZGFpIix7bm9kZWNfc3E6dixpdGFnOkcsc3Q6ay50b0ZpeGVkKDMpfSl9bi5wb2xpY3kuQ20mJgpELkF3WzBdLmokIT09LTEmJkQuQXdbMF0uaiQ8bi5LdS5JdCYmKEQ9Vy5QSi5qKG4uS3UuSXQsITEpKTtPNChXLFZvKG4sRCkpO2l1KG4udGltaW5nKTtuLlc/Lk4oRC5YYil9fTsKWXppPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5KQztEPUQuTj9ELk4uZmY6bnVsbDtpZihuLnBvbGljeS5UQyYmRClyZXR1cm4gRC5zdGFydFNlY3MrRC5DZisxNTtXPU9iKG4ubG9hZGVyLFcpO24ucG9saWN5LmpXPjAmJihEPSgoMCxnLlIpKCktbi5sb2FkZXIucUcpLzFFMyxXPU1hdGgubWluKFcsbi5wb2xpY3kualcrbi5wb2xpY3kuTEsqRCkpO1c9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKStXO3JldHVybiBuLnBvbGljeS56NCYmKEQ9U3pNKG4ubG9hZGVyKStuLnBvbGljeS56NCxEPFcpPyhuLmxvYWRlci5VKCJtcmwiLHtvcmk6Vyxtb2Q6RH0sITApLG4ucG9saWN5LmxXJiZjNihuLmxvYWRlciksRCk6V307CmZyQz1mdW5jdGlvbihuLFcsRCl7aWYoRCE9PTApe2E6aWYoVz1XLmluZm8sRD1EPT09MixXLk4pVz1udWxsO2Vsc2V7dmFyIGI9Vy5Bd1swXTtpZihXLnJhbmdlKXZhciB2PVdfKFcucmFuZ2Uuc3RhcnQsTWF0aC5taW4oNDA5NixXLlcpKTtlbHNle2lmKFcuSiYmVy5KLmluZGV4T2YoIi9yYW5nZS8iKT49MHx8Vy5YYi5XLmdldCgiZGVmcmFnIik9PT0iMSJ8fFcuWGIuVy5nZXQoIm90ZiIpPT09IjEiKXtXPW51bGw7YnJlYWsgYX12PVdfKDAsNDA5Nil9dj1uZXcgd2soW25ldyBxSSg1LGIuUEosdiwiY3JlYXRlUHJvYmVSZXF1ZXN0SW5mbyIrYi5ZLGIuaiQpXSxXLkopO3YucFM9RDt2Lk49Vy5OO1c9dn1XJiZWbyhuLFcpfX07CkNyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCEoRC5OKCl8fEQuUyQoKXx8RC5jSnx8IUQuWGIuWShuLnBvbGljeSxuLm5uLG4ubG9hZGVyLkl3KXx8RC5pbmZvLklCPT09ImYifHxuLnBvbGljeS5OKSl7aWYoYil7Yj1uLklnO3ZhciB2PUQuaW5mbztiPXJWKGIsdi52aWRlbz9iLnBvbGljeS5SazpiLnBvbGljeS5JTSx2Lk5zKX1lbHNlIGI9MDtiPUQuWShiKTtuPVZvKG4sYik7VXYoYikmJk80KFcsbik7RC5jSj0hMH19OwpGMD1mdW5jdGlvbihuLFcpe2lmKFcucU4oKSlyZXR1cm4hMTt0cnl7dmFyIEQ9Vy5pbmZvLkF3WzBdLlBKO2xldCBoPUQuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3ZhciBiPWg7aWYobi5LdS5pc01hbmlmZXN0bGVzcyYmYil7bi5OPTA7Yi5qJiYoVy5xTigpLFcuaXNDb21wbGV0ZSgpfHxXLlFBKCksYi5qPSExKTtXLkloKCkmJm4ubG9hZGVyLkxyLklJKDEsVy5JaCgpKTt2YXIgdj1XLlRYKCksaz1XLmgwKCk7QzYobi5LdSx2LGspfWlmKFcuaW5mby5RbigpJiYhVXYoVy5pbmZvKSlmb3IobGV0IEwgb2YgVy54OSgpKWgudksoTCk7Yj1oO2ZvcihuLmxvYWRlci5nZXRDdXJyZW50VGltZSgpO2IuSi5sZW5ndGgmJmIuSlswXS5zdGF0ZT09PTQ7KXtsZXQgTD1iLkouc2hpZnQoKTt4WEMoYixMKTtiLlZRPUwuekQoKX1iLkoubGVuZ3RoJiZ4WEMoYixiLkpbMF0pO2xldCB4PSEhaVkoaCk7eCYmVyBpbnN0YW5jZW9mIFNuJiYoRC5pbmZvLmVTKCk/Z2oxKG4udGltaW5nKToKZTdiKG4udGltaW5nKSk7cmV0dXJuIHh9Y2F0Y2goaCl7Vz1XLnkwKCk7Vy5vcmlnaW49ImhyaHMiO2E6e249bi5sb2FkZXI7RD1oO2lmKEQgaW5zdGFuY2VvZiBFcnJvcil7Vy5tc2d8fChXLm1zZz1gJHtELm1lc3NhZ2V9YCk7Vy5uYW1lfHwoVy5uYW1lPWAke0QubmFtZX1gKTtpZihEIGluc3RhbmNlb2YgZy5ReCYmRC5hcmdzKWZvcihsZXQgW3gsTF1vZiBPYmplY3QuZW50cmllcyhELmFyZ3MpKVdbYGFyZyR7eH1gXT1gJHtMfWA7Zy5HcShEKTtpZihELmxldmVsPT09IldBUk5JTkciKXtuLkwuR20oVyk7YnJlYWsgYX19bi5oYW5kbGVFcnJvcigiZm10LnVucGxheWFibGUiLFcsMSl9cmV0dXJuITF9fTsKbVhiPWZ1bmN0aW9uKG4pe3ZhciBXPW4udmlkZW9UcmFjay5QSi5pbmRleDtuLmhuPW5ldyBBeVooe3NKOm4ucG9saWN5LnNKLHRJOm4ucG9saWN5LlYudEksTzg6Vy5VYygpLHgkOigpPT5XLngkKCksCk9nOigpPT5XLk9nKCl9KX07CktqaT1mdW5jdGlvbihuKXtpZihuLko/LmlzTG9ja2VkKCkpcmV0dXJuIG4udmlkZW9JbmZvczt2YXIgVz13QyhuLk4pLEQ9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi5Ocz5uLm9aLk5zPyExOiFXLmhhcyhiLmlkKSk7Cm4uTi5sbCgpJiYoRD1nLkVNKEQsYj0+Yi52aWRlby53aWR0aDw9ODU0JiZiLnZpZGVvLmhlaWdodDw9NDgwKSk7CnJldHVybiBEfTsKTyRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpRC5wdXNoKGcuVmYoYixuLkt1LnpXKSk7cmV0dXJuIER9OwpaJGk9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj8ucmVhc29uPT09Im0iPyJtIjpuLko/LnJlYXNvbj09PSJzIj8icyI6bi5KJiZQYlUobixuLkopP24uSi5yZWFzb246ImEifTsKUGJVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ub1ouSHcmJlcucmVhc29uPT09ImwifHxuLm9aLnFqPyExOm4ub1ouWWo/ITA6Vy5yZWFzb249PT0ibCJ8fFcucmVhc29uPT09ImIifHxXLnJlYXNvbj09PSJvIn07ClVYWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTi5OO2lmKEQpe24udmlkZW9JbmZvcz1uLlY7dmFyIGI9Zy5sXyhuLnZpZGVvSW5mb3Msdj0+di5pZD09PUQpOwpiJiZiLnZpZGVvLnF1YWxpdHlPcmRpbmFsPT09Vz9uLnZpZGVvSW5mb3M9W2JdOihiPW4udmlkZW9JbmZvcy5tYXAodj0+di5pZCksbi5sb2FkZXIuVSgic2FicnBmIix7cGZpZDpgJHtEfWAsCnZmaWRzOmAke2Iuam9pbigiLiIpfWB9KSxhJChuLFcsVyksbi5OLkRlKCIiKSl9ZWxzZSBhJChuLFcsVyl9OwphJD1mdW5jdGlvbihuLFcsRCl7bi52aWRlb0luZm9zPW4uVjtuLnZpZGVvSW5mb3M9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi52aWRlby5xdWFsaXR5T3JkaW5hbD49VyYmYi52aWRlby5xdWFsaXR5T3JkaW5hbDw9RCl9Owp5eXg9ZnVuY3Rpb24obixXKXtpZihuLlkpe3ZhciBEPWcuRU0obi5XLGI9PmIuaWQ9PT1uLlkpOwpyZXR1cm4gbkQobixEKS5pbmNsdWRlcyhXKX1EPWcuRU0obi5XLGI9PiEhYi5rWj8uaXNEZWZhdWx0KTsKcmV0dXJuIEQubGVuZ3RoPjA/bkQobixEKS5pbmNsdWRlcyhXKTpuRChuLG4uVykuaW5jbHVkZXMoVyl9OwpuRD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uS3Uuelc7cmV0dXJuIFcubWFwKGI9Pk1rKGcuVmYoYixEKSkpfTsKV2w9ZnVuY3Rpb24obixXLEQ9ITEpe0hlVShuLk4sVyxEKX07CmkkUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLkt1LGs9bi5MLmdldFZpZGVvRGF0YSgpLGg9bi5Fdix4PWpGTSh7aWo6bi5paix5UTprLkcoKSxMOm4uTCxuUjpuLm5SLG9aOm4ub1oscHo6bi5weixrRTpuLmtFLFVtOm4uVW0sRzc6bi5HNyxKJDpuLkokLFNmOm4uU2Ysc2FickxpY2Vuc2VDb25zdHJhaW50Omsuc2FickxpY2Vuc2VDb25zdHJhaW50LGo0Om4uajQscjA6bi5yMCxZczpuLllzLGVxOm4uZXEsb0c6ISFoLGF1dGhvcml6ZWRGb3JtYXRzOmsuYXV0aG9yaXplZEZvcm1hdHMsSTg6bi5JOCxsbDpuLmxsLEN4Om4uQ3gsZ0Q6bi5nRH0pLEw9U1YoayxuLnEkLG4ubmV4dFJlcXVlc3RQb2xpY3ksbi5SQSxuLmROLG4uYkosbi5yOCk7RCYmVyYmKEQ9TC5ycT9MLnJxLm1hcChyPT5yLnR5cGUpOltdLFcoInNhYnIiLHtzdG1jdHh0OkQuam9pbigiXyIpLAp1bnNudGN0eHQ6TC51dD9MLnV0LmpvaW4oIl8iKToiIn0pKTtXPW4uR2g7RD1uLk0kO0Q9PT12b2lkIDAmJlc9PT12b2lkIDAmJihEPUVUaih2LnpXLG4uZGs/LnZpZGVvKSxXPUVUaih2LnpXLG4uZGs/LmF1ZGlvKSk7aWYoay5hSSl2YXIgZT1rLmFJO3ZhciBHOyhrPW4ub1o/LlNhKSYmaz4wJiYobi5DeHx8bi5IZSkmJihHPW5ldyBVaW50OEFycmF5KGspKTtoPXtDbjp4LEJpOm4uQmksR2g6VyxNJDpELEV2OmgsdmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZzplLG1IOkwsZFM6R307YiYmbi5iSz9uLmJLLmxlbmd0aD4wJiYoaC5iSz1uLmJLKTpuLk15JiYoaC5NeT1uLk15KTtuLm9aPy5EdCgpJiYhVlQoKSYmKG4udU0mJihoLnVNPW4udU0pLG4uckcmJihoLnJHPW4uckcpKTtoLmVXPW4uZVc7aC5jRT12LkdDO3JldHVybiBofTsKRVRqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/W2cuVmYoVy5pbmZvLG4pXTpbXX07Cm9Uaj1mdW5jdGlvbihuLFcsRCl7Vz1CdyhuLlhiLHVuVShuLFcsRCksVyk7bi5ENSgpJiZXLnNldCgicHJvYmUiLCIxIik7bi5raCgpJiZXLnNldCgic2Jwcm9iZSIsIjEiKTtyZXR1cm4gV307CkRrPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9W10sYj1bXTtpZighbi5kYXRhKXJldHVybiBXO2Zvcih2YXIgdj0wO3Y8bi5kYXRhLmVXLmxlbmd0aDt2Kyspe3ZhciBrPW4uZGF0YS5lV1t2XTtELnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9Zm9yKHY9MDt2PG4uZGF0YS5CaS5sZW5ndGg7disrKWs9bi5kYXRhLkJpW3ZdLGIucHVzaChgaS4ke2suZm9ybWF0SWQ/Lml0YWd9X3NuLiR7ay5zZXF1ZW5jZU51bWJlcn1fc2wuJHtrLnZEfHxOYU59X2xiLiR7ay5TMH1fdHIuc18ke2suaHg/LnN0YXJ0VGlja3N9X2RfJHtrLmh4Py5sOH1fdF8ke2suaHg/LnRpbWVzY2FsZX1fZWRfJHtrLnUzfWApO1cucHRpbWU9bi5OPy5Dbj8ublJ8fDA7Vy5ydHlwZT1uLnJlcXVlc3RUeXBlO1cuYnJsPUQuam9pbigiOyIpO1cucHM9Yi5qb2luKCI7Iik7CnJldHVybiBXfTsKdW5VPWZ1bmN0aW9uKG4sVyxEKXtuLnBTPT09dm9pZCAwJiYobi5wUz1uLlhiLnBTKFcsRCkpO3JldHVybiBuLnBTfTsKdmw9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5OPy5lbmNyeXB0KFcsRCk7cmV0dXJuIGI/YjoobmV3IGIxKG4uTi5KKSkuZW5jcnlwdChXLEQpfTsKelpqPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt7dmFyIGI9bi5OO2xldCB2PXRFKCk7Yj12P25ldyBkWE0oYi5KLHYpOnZvaWQgMH1pZihiKXRyeXtyZXR1cm4gYXdhaXQgYi5lbmNyeXB0KFcsRCl9Y2F0Y2godil7fXJldHVybiB2bChuLFcsRCl9OwpscjI9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OP3paaihuLFcsbi5pdik6b24obi5OKS5lbmNyeXB0KFcsbi5pdil9OwpUOGg9ZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OPy5KKFcsbi5pdil9OwpDYnQ9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7dmFyIEQ9bi5OO0Quanx8KEQuaj1uZXcgaksxKEQuVykpO3JldHVybiBMNFooRC5qLFcsbi5pdil9OwpCOGk9YXN5bmMgZnVuY3Rpb24obixXLEQpeygwLGcuUikoKTtyZXR1cm4gbi5OLk4/elpqKG4sVyxEKTpvbihuLk4pLmRlY3J5cHQoVyxEKX07CncwYj1mdW5jdGlvbihuLFcpe3ZhciBEPVc/LnByaW1hcnk7a3cobiwwLEQpO0Q9RD9GamooRCk6dm9pZCAwO2t3KG4sMixEKTtrdyhuLDEsVz8uc2Vjb25kYXJ5KX07CmhnPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gbmV3IGcud1ooYCR7RD8iaHR0cCI6Imh0dHBzIn06Ly8ke1d9JHtuLkIuUFguYmFzZVVybH1gKX07Cmt3PWZ1bmN0aW9uKG4sVyxEKXtEPyhEPUQgaW5zdGFuY2VvZiBnLndaP0Q6aGcobixEKSxuLk4uZ2V0KFcpPy5OKCkhPT1SMCg5OCwzNTcwLEQpJiZuLk4uc2V0KFcsbmV3IE1kaihELFcpKSk6bi5OLmRlbGV0ZShXKX07CkZqaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKC8oXGQrKS0tLS9nLChXLEQpPT57Vz1OdW1iZXIoRCk7cmV0dXJuYCR7Vz09PTE/MjpXLTF9LS0tYH0pfTsKUlpoPWZ1bmN0aW9uKG4sVz0hMSxEKXt2YXIgYj1nLlloKG4uQi5leHBlcmltZW50cywiZGVidWdfYmFuZGFpZF9ob3N0bmFtZSIpO3JldHVybiBiPyhXPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJkZWJ1Z19iYW5kYWlkX3BvcnQiKSxiPVc+MD9gJHtifToke1d9YDpiLFc9bi5CLmV4cGVyaW1lbnRzLkVxKCJkZWJ1Z19iYW5kYWlkX2luc2VjdXJlX3NjaGVtZSIpLGhnKG4sYixXKSk6VyYmRD8udXJsJiYhbi5KPyhiPVIwKDY3LDM1MzksbmV3IGcud1ooRC51cmwpKSxoZyhuLGIpKTpuLk4uZ2V0KDApPy5sb2NhdGlvbi5jbG9uZSgpfTsKTEQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1oZyhuLCJyZWRpcmVjdG9yLmdvb2dsZXZpZGVvLmNvbSIpO0Quc2V0KCJhbHIiLCJ5ZXMiKTtELnNldCgiaWQiLGAke01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTUpfWApO2lmKFc9PT0xfHxXPT09MilELnNldCgiY21vPXNlbnNpdGl2ZV9jb250ZW50IiwieWVzIiksRC5zZXQoInNjIiwieWVzIik7Vz09PTImJkQuc2V0KCJjbW89dGQiLCJjLnlvdXR1YmUuY29tIik7dmFyIGI9YXdhaXQgZy5yOChELldEKCkse2Zvcm1hdDoiUkFXIix0aW1lb3V0OjVFM30pO2lmKGIueGhyLnN0YXR1cyE9PTIwMHx8IWIueGhyLnJlc3BvbnNlVGV4dClyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfbm9faG9zdCIsRC5XRCgpLGIueGhyLnN0YXR1cykpO3ZhciB2PW5ldyBnLndaKGIueGhyLnJlc3BvbnNlVGV4dCk7RD1SMCgzNCwzNTA2LHYpO2I9di5nZXQoIm1zIik7bj1oZyhuLEQpO3Y9di5nZXQoIm1tIik7bi5zZXQoIm1zIiwKYik7bi5zZXQoIm1tIix2KTtyZXR1cm4gRCYmUUt4KEQpP1chPT0yfHx4dyhEKT9uOlByb21pc2UucmVqZWN0KG5ldyBnLlF4KCJiMjA0MjU4MzcxX3VudHJ1c3RlZCIsRCxiKSk6UHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfaW52YWxpZCIsRCxiKSl9Owp2YXIgSFd0PWZ1bmN0aW9uKG4pe3JldHVybiBSMFtJWzEwXV0odGhpcyw0MSw1ODQ5LG4pfTsKVmR0PWZ1bmN0aW9uKG4sVyl7bj1gaHR0cHM6Ly8ke1cuTigpfS9pbml0cGxheWJhY2s/Yz0ke2xvKG4uQil9Jm93Yz0xYDtxVyhuLCJwdyIsRD0+e0QuaHQ9Vy5KfSl9OwplUj1mdW5jdGlvbihuLFcsRCxiKXtxVyhgaHR0cHM6Ly8ke1d9L3ZpZGVvcGxheWJhY2s/cHJvYmU9MWAsRCx2PT57IWIuUygiaHRtbDVfb25lc2llX2hvc3RfcmFjaW5nIil8fGIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHxiLlMoImh0bWw1X29uZXNpZV9wcm9iZV9lY19ob3N0cyIpfHxiLldSfHxjeVooYik7bi5XLnB1c2godil9LHY9PntuLlcucHVzaCh2LmRldGFpbHMpfSl9OwpRS3g9ZnVuY3Rpb24obil7cmV0dXJuLy4qKFwuY1wueW91dHViZVwuY29tfC4qXC5nb29nbGV2aWRlb1wuY29tKS8udGVzdChuKX07Cnh3PWZ1bmN0aW9uKG4pe3ZhciBXPS9zbi1bXi5dKi0vO3JldHVybi8uKlwuY1wueW91dHViZVwuY29tLy50ZXN0KG4pJiYhVy50ZXN0KG4pfTsKZ2o9ZnVuY3Rpb24obil7Zm9yKDtuLk4ubGVuZ3RoJiYhbi5OWzBdLmlzRW5jcnlwdGVkOyl7bGV0IHt2aWRlb0lkOkQsYXU6Yixmb3JtYXRJZDp2LGJ1ZmZlcjprLGlFOmh9PW4uTi5zaGlmdCgpO2lmKGspbi5OSS5ZYS5uQT8uZ2V0KEQpPy5OKGIsdixrKTtlbHNlIGlmKGgpbi5OSS5ZYS5ZaChELGIsdik7ZWxzZXt2YXIgVz1uLk5JO1cuTlt2XS5TdT0hMDtXPVcuWWEubkE/LmdldChEKTtXPy5nRih2KSYmVz8uSih2KX19fTsKZy5EMHI9ZnVuY3Rpb24obil7Zm9yKDshbi5YJiYhbi5lcnJvcjspe3ZhciBXPW47Vy5YPSEhWEIoVywxKTtzd2l0Y2goWEIoVywyKSl7Y2FzZSAyOnZhciBEPXZvaWQgMCxiPVtdLHY9W107di5sZW5ndGg9MTk7di5maWxsKDApO3ZhciBrPVhCKFcsNSkrMjU3O0Q9WEIoVyw1KSsxO3ZhciBoPVhCKFcsNCkrNDtmb3IodmFyIHg9MDt4PGg7eCsrKXZbYXJ4W3hdXT1YQihXLDMpO3Y9cVAodik7Zm9yKGg9aytEO2IubGVuZ3RoPGg7KXt4PW5SdChXLHYpO2xldCBMO3N3aXRjaCh4KXtjYXNlIDE2Ong9YltiLmxlbmd0aC0xXTtMPVhCKFcsMikrMzticmVhaztjYXNlIDE3Ong9MDtMPVhCKFcsMykrMzticmVhaztjYXNlIDE4Ong9MDtMPVhCKFcsNykrMTE7YnJlYWs7ZGVmYXVsdDpMPTF9Zm9yKDtMPjA7TC0tKWIucHVzaCh4KX1iLmxlbmd0aCE9PWg/Vy5lcnJvcj0hMDooRD1iLnNsaWNlKC1EKSxiLmxlbmd0aD1rLFdZaChXLGIsRCkpO2JyZWFrO2Nhc2UgMTpXWWgoVyxHYyx0Zyk7YnJlYWs7CmNhc2UgMDokdyhXLFcuTiY3KTtiPVhCKFcsMTYpO2s9WEIoVywxNik7KGJeaykhPT02NTUzNSYmKFcuZXJyb3I9ITApO2s9Vy5kYXRhLnN1YmFycmF5KFcuSixXLkorYik7Vy5vdXRwdXQuc2V0KGssVy5XKTtXLkorPWI7Vy5XKz1iO2JyZWFrO2RlZmF1bHQ6Vy5lcnJvcj0hMH1uLlc+bi5vdXRwdXQubGVuZ3RoJiYobi5vdXRwdXQ9bmV3IFVpbnQ4QXJyYXkobi5XKjIpLG4uVz0wLG4uSj0wLG4uWD0hMSxuLk49MCxuLnJlZ2lzdGVyPTApfW4ub3V0cHV0Lmxlbmd0aCE9PW4uVyYmKG4ub3V0cHV0PW4ub3V0cHV0LnN1YmFycmF5KDAsbi5XKSk7cmV0dXJuIG4uZXJyb3I/bmV3IFVpbnQ4QXJyYXkoMCk6bi5vdXRwdXR9OwpYQj1mdW5jdGlvbihuLFcpe2Zvcig7bi5OPFc7KXtpZihuLko+PW4uZGF0YS5sZW5ndGgpcmV0dXJuIG4uZXJyb3I9ITAsMDtuLnJlZ2lzdGVyfD1uLmRhdGFbbi5KKytdPDxuLk47bi5OKz04fXZhciBEPW4ucmVnaXN0ZXImKDE8PFcpLTE7bi5yZWdpc3Rlcj4+PVc7bi5OLT1XO3JldHVybiBEfTsKV1loPWZ1bmN0aW9uKG4sVyxEKXtXPXFQKFcpO0Q9cVAoRCk7Zm9yKHZhciBiPW4uZGF0YSx2PW4ub3V0cHV0LGs9bi5XLGg9bi5yZWdpc3Rlcix4PW4uTixMPW4uSjs7KXtpZih4PDE1KXtpZihMPmIubGVuZ3RoKzEpe24uZXJyb3I9ITA7YnJlYWt9aHw9KGJbTCsxXTw8OCkrYltMXTw8eDtMKz0yO3grPTE2fXZhciBlPVdbaCYxMjddO2lmKGU8MClmb3IoaD4+PTc7ZTwwOyllPVdbKGgmMSktZV0saD4+PTE7ZWxzZSBoPj49ZSYxNTt4LT1lJjE1O2U+Pj00O2lmKGU8MjU2KXZbaysrXT1lO2Vsc2UgaWYobi5yZWdpc3Rlcj1oLG4uTj14LG4uSj1MLGU+MjU2KXtoPXJqW2VdO2grPVhCKG4sc3FbZV0pO0w9blJ0KG4sRCk7eD1OUFtMXTt4Kz1YQihuLHBEW0xdKTtpZihieVomJmg8eCl4PWsteCx2LmNvcHlXaXRoaW4oayx4LHgraCk7ZWxzZSBmb3IoTD1rK2gsZT1rO2U8TDtlKz00KXZbZV09dltlLXhdLHZbZSsxXT12W2UteCsxXSx2W2UrMl09dltlLXgrMl0sdltlKzNdPXZbZS14KzNdOwprKz1oO2g9bi5yZWdpc3Rlcjt4PW4uTjtMPW4uSn1lbHNlIGJyZWFrfW4uVz1rfTsKblJ0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPDcpe3ZhciBEPW4uZGF0YTtsZXQgYj1uLko7Yj5ELmxlbmd0aCYmKG4uZXJyb3I9ITApO24ucmVnaXN0ZXJ8PShEW2IrMV08PDgpK0RbYl08PG4uTjtuLkorPTI7bi5OKz0xNn1EPVdbbi5yZWdpc3RlciYxMjddO2lmKEQ+PTApcmV0dXJuICR3KG4sRCYxNSksRD4+NDtmb3IoJHcobiw3KTtEPDA7KUQ9V1tYQihuLDEpLURdO3JldHVybiBEPj40fTsKJHc9ZnVuY3Rpb24obixXKXtuLk4tPVc7bi5yZWdpc3Rlcj4+PVd9OwpxUD1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IodmFyIEQgb2YgbilXW0RdfHwoV1tEXT0wKSxXW0RdKys7dmFyIGI9V1swXT0wO0Q9W107dmFyIHY9MCxrPTA7Zm9yKHZhciBoPTE7aDxXLmxlbmd0aDtoKyspV1toXT9rPWg6V1toXT0wLGI9YitXW2gtMV08PDEsRFtoXT1iLGg+NyYmKHYrPVdbaF0pO2ZvcihiPTE7Yjx2OyliPDw9MTtXPTEyODtrPW5ldyBJbnQxNkFycmF5KDEyOCsoYitrKSoyKTtmb3Iodj0wO3Y8bi5sZW5ndGg7disrKXtoPW5bdl07aWYoIWgpY29udGludWU7dmFyIHg9RFtoXSsrO2I9MDtmb3IodmFyIEw9MDtMPGg7TCsrKWI9Yjw8MXx4Pj5MJjE7eD12PDw0fGg7aWYoaDw9Nylmb3IoTD0xPDw3LWg7TC0tOylrW0w8PGh8Yl09eDtlbHNle0w9YiYxMjc7aC09Nztmb3IoYj4+PTc7aC0tOyl7a1tMXXx8KGtbTF09LVcsVys9Mik7bGV0IGU9YiYxO2I+Pj0xO0w9ZS1rW0xdfWtbTF09eH19cmV0dXJuIGt9OwpZdz1mdW5jdGlvbihuLFcpe24uVyhgZGNtcHJzXyR7bi5jb250ZXh0fV8ke24uTn1fZ3pfJHtXfWApfTsKdlJ3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE9vKG4sZnVuY3Rpb24oKXt2YXIgRD10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1EYXRlLm5vdygpO3RyeXtZdyhELCJzIik7dmFyIHY9eWllbGQqUFAoVygpKTtpZighdil0aHJvdyBFcnJvcigibm8gcmVzdWx0Iik7WXcoRCwiZSIpO3JldHVybiB2fWNhdGNoKGgpe1l3KEQsImYiKTt2YXIgaz1oO0QuSihrLCJneiIpO3Rocm93IGg7fWZpbmFsbHl7dj1EYXRlLm5vdygpLEQuYmooImd6Iix2LWIsayl9fSgpfSl9OwplU2o9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgdj0oayxoKT0+dlJ3KG5ldyBrMWkoayxELGIpLCgpPT5IUChoKG4pKSk7CmlmKEhsKXRyeXtyZXR1cm4geWllbGQqUFAodigibiIsaFMxKSl9Y2F0Y2goayl7fWlmKFcpdHJ5e3JldHVybiB5aWVsZCpQUCh2KFcuaXNBc21qcz8iYSI6InciLGs9PngwQyhrLFcpKSl9Y2F0Y2goayl7fXJldHVybiB5aWVsZCpQUCh2KCJwIixMWTIpKX0oKX0pfTsKaFMxPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFIbCl0aHJvdyBFcnJvcigiRGVjb21wcmVzc2lvblN0cmVhbSBpcyBub3Qgc3VwcG9ydGVkIik7dmFyIFc9WksudFgoKSxEPW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYj1ELndyaXRhYmxlLmdldFdyaXRlcigpO2Iud3JpdGUobik7Yi5jbG9zZSgpO249RC5yZWFkYWJsZS5nZXRSZWFkZXIoKTtmb3IoRD1uZXcgUzUoW10pOzspe2xldCB7dmFsdWU6dixkb25lOmt9PWF3YWl0IG4ucmVhZCgpO2lmKGspYnJlYWs7RC5hcHBlbmQodil9bj10UihEKTtaSy5lVSgiZ3puYiIsVyxNYXRoLmNlaWwobi5ieXRlTGVuZ3RoLzE2KSk7cmV0dXJuIG59OwpMWTI9ZnVuY3Rpb24obil7dmFyIFc9WksudFgoKTtuPWcuRDByKG5ldyBnLmdSYihuKSk7WksuZVUoImd6amIiLFcsTWF0aC5jZWlsKG4uYnl0ZUxlbmd0aC8xNikpO3JldHVybiBufTsKeDBDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9WksudFgoKTtuPVcubWVtb3J5LmNvcHlJbihuKTt0cnl7bGV0IHY9bi5ieXRlT2Zmc2V0LGs9bi5ieXRlTGVuZ3RoLGg9Vy5leHBvcnRzLmdldEluZmxhdGVkU2l6ZSh2LGspO2lmKGg9PT0wKXRocm93IEVycm9yKCJ3YXNtX2d6OiBiYWQgaW5wdXQiKTtsZXQgeD1XLm1lbW9yeS5tYWxsb2MoaCksTD1XLmV4cG9ydHMuaW5mbGF0ZUd6aXAodixrLHgpO2lmKEwpdGhyb3cgVy5tZW1vcnkuZnJlZSh4KSxFcnJvcihgd2FzbV9nejogZmFpbCR7TH1gKTt2YXIgYj1XLm1lbW9yeS5idWZmZXIoeCxoKX1maW5hbGx5e1cubWVtb3J5LmZyZWUobi5ieXRlT2Zmc2V0KX1XPVcubWVtb3J5Lm1vdmVPdXQoYik7WksuZVUoImd6d2IiLEQsTWF0aC5jZWlsKFcuYnl0ZUxlbmd0aC8xNikpO3JldHVybiBXfTsKZkQ9ZnVuY3Rpb24obil7dmFyIFc9bi5xdWV1ZTtXLk4ubGVuZ3RoJiZXLk5bMF0uaXNFbmNyeXB0ZWQmJiFXLkomJihXLk4ubGVuZ3RoPTApO2ZvcihsZXQgRCBvZiBPYmplY3Qua2V5cyhuLk4pKXtsZXQgYj1uLk5bRF07Yi5TdXx8KFc9bi5xdWV1ZSxXLk4ucHVzaCh7dmlkZW9JZDpiLnZpZGVvSWQsZm9ybWF0SWQ6RCxpc0VuY3J5cHRlZDohMX0pLFcuSnx8Z2ooVykpfX07ClhCdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcudG90YWxMZW5ndGgsYj0hMTtzd2l0Y2gobi5XKXtjYXNlIDA6bi5qcChXLG4uWCkudGhlbih2PT57dmFyIGs9bi5ZYTtrLkRrKCJvcHJyIik7ay5wbGF5ZXJSZXNwb25zZT12O2suVUl8fChrLkIyPSExKTtKZyhrKX0sdj0+e24uWWEuZmFpbCh2KX0pOwpicmVhaztjYXNlIDI6bi5Eaygib3JtayIpO1c9dFIoVyk7bi5xdWV1ZS5kZWNyeXB0KFcpO2JyZWFrO2RlZmF1bHQ6Yj0hMH1uLllhLnhHJiZuLllhLlUoIm9tYnVwIixgaWQuMTE7cHQuJHtuLld9O2xlbi4ke0R9JHtiPyI7aWdub3JlZC4xIjoiIn1gKTtuLlc9bnVsbH07CnFQaT1mdW5jdGlvbihuLFcpe24uWWEuRGsoIm9wcmd6Ml9zIik7Vz1lU2ooVyxuLllhLkcoKS5qXygpLG4uWWEueEc/bi5ZYS5VLmJpbmQobi5ZYSk6KCk9Pnt9LEQ9PntuLllhLkRrKEQpfSk7ClNrKFcsKCk9PntuLllhLkRrKCJvcHJnejJfZSIpfSwoKT0+e24uWWEuRGsoIm9wcmd6Ml9mIil9KTsKcmV0dXJuIFd9OwpHMVM9YXN5bmMgZnVuY3Rpb24obixXKXtuLllhLkRrKCJvcHJnel9zIik7aWYoSGwpdHJ5e3ZhciBEPWF3YWl0IGhTMShXKTtuLllhLkRrKCJvcHJnel9uIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJuIn0pO3JldHVybiBEfWNhdGNoKGIpe24uWWEuVSgiZ3plcnIiLHtpbXBsOiJuYXRpdmUiLGVycjpgJHtifWB9KX1pZihEPW4uWWEuRygpLmpfKCkpdHJ5e2xldCBiPXgwQyhXLEQpO24uWWEuRGsoIm9wcmd6X3ciKTtuLllhLlUoIm9wcnNneiIse2k6IncifSk7cmV0dXJuIGJ9Y2F0Y2goYil7bi5ZYS5VKCJnemVyciIse2ltcGw6Indhc20iLGVycjpgJHtifWB9KX1XPUxZMihXKTtuLllhLkRrKCJvcHJnel9wIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJqIn0pO3JldHVybiBXfTsKdF9oPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57c2V0VGltZW91dChXLG4pfSl9OwokMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkcoKTtEPW4uWVomJkQuUygiaHRtbDVfb25lc2llX3ByZWxvYWRfdXNlX2NvbnRlbnRfb3duZXIiKTtpZigoVz1SWmgoVyxELG4uUWEpKSYmbi52aWRlb0lkKXtuPWcuZDEobi52aWRlb0lkKTtEPVtdO2lmKG4pZm9yKGIgb2YgbilELnB1c2goYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKTt2YXIgYj1ELmpvaW4oIiIpO1cuc2V0KCJpZCIsYik7cmV0dXJuIFd9fTsKck9oPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPTApe3ZhciBiPVtdO2IucHVzaChXLmxvYWQoKSk7RD4wJiZiLnB1c2godF9oKEQpKTthd2FpdCBQcm9taXNlLnJhY2UoYik7cmV0dXJuICQwYihuLFcpfTsKczlDPWZ1bmN0aW9uKG4sVyxELGI9ITEpe24uc2V0KCJjcG4iLFcuY2xpZW50UGxheWJhY2tOb25jZSk7bi5zZXQoIm9wciIsIjEiKTt2YXIgdj1XLkcoKTtuLnNldCgicG9yIiwiMSIpO3RFKCl8fG4uc2V0KCJvbmVtIiwiMSIpO1cuc3RhcnRTZWNvbmRzPjAmJm4uc2V0KCJvc3RzIixgJHtXLnN0YXJ0U2Vjb25kc31gKTtifHwodi5TKCJodG1sNV9vbmVzaWVfZGlzYWJsZV9wYXJ0aWFsX3NlZ21lbnRzIikmJm4uc2V0KCJvc2VzIiwiMSIpLFc9di5TKCJodG1sNV9nYXBsZXNzX29uZXNpZV9ub19tZWRpYV9ieXRlcyIpJiZBSihXKSYmVy5ZWixEJiYhVz8oVz1ELmF1ZGlvLG4uc2V0KCJwdmkiLEQudmlkZW8uam9pbigiLCIpKSxuLnNldCgicGFpIixXLmpvaW4oIiwiKSksTnN8fG4uc2V0KCJvc2giLCIxIikpOihuLnNldCgib2FkIiwiMCIpLG4uc2V0KCJvdmQiLCIwIiksbi5zZXQoIm9hYWQiLCIwIiksbi5zZXQoIm9hdmQiLCIwIikpKX07Ck5KaT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe3ZhciBrPWBodHRwczovL3lvdXR1YmVpLmdvb2dsZWFwaXMuY29tL3lvdXR1YmVpLyR7Vy5TVi5pbm5lcnR1YmVBcGlWZXJzaW9ufS9wbGF5ZXJgLGg9W3tuYW1lOiJDb250ZW50LVR5cGUiLHZhbHVlOiJhcHBsaWNhdGlvbi9qc29uIn1dO2ImJmgucHVzaCh7bmFtZToiQXV0aG9yaXphdGlvbiIsdmFsdWU6YEJlYXJlciAke2J9YH0pO2gucHVzaCh7bmFtZToiVXNlci1BZ2VudCIsdmFsdWU6Zy5YUSgpfSk7Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP2gucHVzaCh7bmFtZToiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIix2YWx1ZTpnLkFyKCJFT01fVklTSVRPUl9EQVRBIil9KTooRD1ELnZpc2l0b3JEYXRhfHxnLkFyKCJWSVNJVE9SX0RBVEEiKSkmJmgucHVzaCh7bmFtZToiWC1Hb29nLVZpc2l0b3ItSWQiLHZhbHVlOkR9KTsoRD1nLkFyKCJTRVJJQUxJWkVEX0xBVkFfREVWSUNFX0NPTlRFWFQiKSkmJmgucHVzaCh7bmFtZToiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiLAp2YWx1ZTpEfSk7KFc9Zy5ZaChXLmV4cGVyaW1lbnRzLCJkZWJ1Z19zaGVybG9nX3VzZXJuYW1lIikpJiZoLnB1c2goe25hbWU6IlgtWW91dHViZS1TaGVybG9nLVVzZXJuYW1lIix2YWx1ZTpXfSk7bj1JdyhKU09OLnN0cmluZ2lmeShuKSk7cmV0dXJue3VybDprLGUzOmgscG9zdEJvZHk6bixFYTp2LGU4OnZ9fTsKSWs9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPW4uWUMsRz1uLmRmO249bi5DVjt2YXIgcj1lIT09dm9pZCAwJiZHIT09dm9pZCAwLE49Yi5nZXRWaWRlb0RhdGEoKSxIPVcuTi5lbmNyeXB0ZWRDbGllbnRLZXk7Vz1yP1cuaXY6dm9pZCAwO3I9R0QoaywhMCk7dj12fHwhIXRFKCkmJnI+MTU3Mjg2NDtyZXR1cm57aW5uZXJ0dWJlUmVxdWVzdDp7d1M6bix2VTplLGRmOkcsZW5jcnlwdGVkQ2xpZW50S2V5OkgsaXY6VyxtdzohMCxGRDohMCxEWToiRGVjb21wcmVzc2lvblN0cmVhbSJpbiB3aW5kb3d8fCF2LHlKOiEwfSxDbjpqRk0oe2lqOmsseVE6RCxMOmIsblI6Ti5zdGFydFNlY29uZHMqMUUzLGhxOiEwfSksb25lc2llVXN0cmVhbWVyQ29uZmlnOmgsQng6eCxtSDpTVihOKSxyZWxvYWRQbGF5YmFja1BhcmFtczpOLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtcyxVazpMfX07CnBCeD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPWcubGgobixhZiksZTtpZighbi5lOClpZihlPVQ4aChXLEwpKXt2YXIgRz1lLkc0O2U9ZS5zaWduYXR1cmV9ZWxzZSBlPUc9Vy5lbmNyeXB0KEwpLCgwLGcuUikoKSxlPXBmKG5ldyBZJChXLk4uVyksZSxXLml2KTtyZXR1cm4gSWsoRyYmZT97WUM6RyxkZjplfTp7Q1Y6TH0sVyxELGIsISFuLmU4LHYsayxoLHgpfTsKWVBNPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dmFyIEw9Zy5saChuLGFmKTtMPWF3YWl0IGxyMihXLEwpO3ZhciBlPWF3YWl0IENidChXLEwpO3JldHVybiBJayh7WUM6TCxkZjplfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpIeVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4KXt2YXIgTD1nLmxoKG4sYWYpO2lmKEw9VDhoKFcsTCkpcmV0dXJuIElrKHtZQzpMLkc0LGRmOkwuc2lnbmF0dXJlfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpKT3c9YXN5bmMgZnVuY3Rpb24obixXLEQpe24uRGsoIm9wcmRfcyIpO1c9Zkl0KG4pP2F3YWl0IEI4aShuLnlxLFcsRCk6bi55cS5kZWNyeXB0KFcsRCk7bi5Eaygib3ByZF9jIik7cmV0dXJuIFd9OwpmSXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5TKCJodG1sNV9vbmVzaWVfc3luY19yZXF1ZXN0X2VuY3J5cHRpb24iKXx8Vz8uZTg/ITE6ISF0RSgpfTsKSUliPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X29uZXNpZV9ob3N0X3Byb2JpbmciKXx8bi54Rz9OczohMX07CkpnPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclJlc3BvbnNlKXJldHVybiExO2lmKG4uYmspcmV0dXJuITA7dmFyIFc9bi52aWRlb0RhdGEuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEobi52aWRlb0RhdGEpO2lmKG4ubkEmJm4uQjIpe2lmKCFuLm5BLmhhcyhuLkxjKSlyZXR1cm4hMTtsZXQgYj1uLm5BLmdldChuLkxjKTt2YXIgRDtpZihEPWIpe0Q9ITE7Zm9yKGxldCB2IG9mIGIudTkua2V5cygpKXtsZXQgaz1iLnU5LmdldCh2KTtpZihrKWZvcihsZXQgaCBvZiBrLkJ0KWguZUg+MCYmKGsuZVM/RD0hMDpXPSEwKX1EPSEoVyYmRCl9aWYoRClyZXR1cm4hMX1uLkRrKCJvZnIiKTtuLkNSLnJlc29sdmUobi5wbGF5ZXJSZXNwb25zZSk7cmV0dXJuIG4uYms9ITB9OwpBT009ZnVuY3Rpb24obil7aWYobi5uQSYmIW4uUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtuLkRrKCJvZ3NmX3MiKTt2YXIgVz16eFMobi5MLmdldFZpZGVvRGF0YSgpLChiLHYpPT57bi5VKGIsdil9KSxEPVNQTShuLkwpOwpXLnZpZGVvPWlfYihELFcudmlkZW8pO24uRGsoIm9nc2ZfYyIpO2lmKFcudmlkZW8ubGVuZ3RoKXJldHVybiBXO24uVSgib21ic3BmIixgbC4ke0QuSn07dS4ke0QuTn07by4ke0QuV307ci4ke0QucmVhc29ufWApfX07ClNSPWZ1bmN0aW9uKG4pe2lmKCFuLm5mKXJldHVybnt9O3ZhciBXPW4ubmYuRCgpO1cuZD1uLm5mLkR0Py5iWSgpO1cuc2hvc3Q9bi56YztXLnR5PSJvIjtyZXR1cm4gV307CmN5Wj1mdW5jdGlvbihuKXtuLkIyPSExO2lmKCFKZyhuKSl7dmFyIFc9U1Iobik7Vy50aW1lb3V0PSIxIjtuLmZhaWwobmV3IGcuQ2koIm9uZXNpZS5yZXF1ZXN0IixXKSl9fTsKUGw9ZnVuY3Rpb24obixXKXtpZihXLnFOKCl8fG4ucU4oKSluLnBvbGljeS5QTHx8KG4ucG9saWN5Lmo/Zy5BZyhuLmxvYWRlcik6bi5sb2FkZXIuQlkoKSk7ZWxzZXtpZihuLnBvbGljeS5XJiZXLmlzQ29tcGxldGUoKSYmVyBpbnN0YW5jZW9mIHV1KXt2YXIgRD1uLmxvYWRlcixiPUQuVTt2YXIgdj1PYmplY3QuYXNzaWduKFcubmYuRCgpLHtyc3Q6Vy5zdGF0ZSxzdHJtOlcueGhyLkdwKCksZDpXLm5mLkR0Py5iWSgpLGNuY2w6Vy54aHImJlcudDUuWD8xOjAscnFiOlcuRUYsY3d0OlcudDUuVyxzd3Q6Vy5QcT8uS059KTt2PU9iamVjdC5hc3NpZ24oRGsoVy5pbmZvKSx2KTtiLmNhbGwoRCwicnFzIix2KX1pZihXLmlzQ29tcGxldGUoKSYmVy5ENSgpJiZXIGluc3RhbmNlb2YgdXUpVy5kaXNwb3NlKCksbi5sb2FkZXIuQlkoKTtlbHNle2lmKFcucVEoKSluLkhlPSEwLFcgaW5zdGFuY2VvZiB1dSYmWFNoKG4udGltaW5nLFcpLG0wTShuKSxtdihuKTtlbHNlIGlmKFcudG4oKSlEPW4uTC5lSigpLApXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJkQmJihuLkIuWnQoKS5OLlFRKEtZeCl8fG4ubG9hZGVyLndSKEQpKSxXIGluc3RhbmNlb2YgdXUmJlcua2goKT8oVy5WRygpJiZuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLDApLFcuZGlzcG9zZSgpKTpXIGluc3RhbmNlb2YgdXUmJng2dyhXKT9uLmxvYWRlci5ETz8uVygpOlcgaW5zdGFuY2VvZiBLRD9uLk4ucG9wKCk6KEQ9MSxXLmNhblJldHJ5KCkmJnd1KG4ubG9hZGVyKSYmKE95WihuLFcpLEQ9MCksYj1uLkwuZUooKSxXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJmImJm4uQi5adCgpLk4uUVEoS1l4KSYmKFcuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpP24ubG9hZGVyLlUoInV0Y1NlZWtpbmdSZXRyeSIse3RhcmdldFV0Y1RpbWVTZWM6Yn0pOm4ubG9hZGVyLndSKGIpKSxuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLEQpKTtlbHNle2lmKG4ubG9hZGVyLmlzU3VzcGVuZGVkJiYKIVcuaXNDb21wbGV0ZSgpKXJldHVybjttdihuKX1XLnFOKCl8fFcgaW5zdGFuY2VvZiBLRHx8KEQ9MCxXLmlzQ29tcGxldGUoKSYmKEQ9cDBiKFcsbi5wb2xpY3ksbi5ubikpLEQhPT0wJiYoVy5pbmZvLlhiLmo/KEQ9Vy5pbmZvLEQ9bmV3IE9xKDIsRC5YYixELllhKSxELnBTPSExKTooYj1uZXcgT3EoMSxXLmluZm8uWGIpLGIucFM9RD09PTIsRD1iKSxQT3QobixEKSkpO2lmKFcuaXNDb21wbGV0ZSgpKXtpZihuLnBvbGljeS5RciYmbi52aWRlb0RhdGEuaXNPdGYoKSYmbi5CLlY9PT0icHciJiYhbi5PJiYhVy5xUSgpJiYhVy50bigpJiYhUlEobi52aWRlb0RhdGEpJiYhbi52aWRlb1RyYWNrLlRDKXtuLkN4PSExO24uTz0hMDtuLmxvYWRlci5ncCh7cmVhc29uOiJzYWJyLm5vX3ZpZGVvX3JlY2VpdmVkX29uX3N0YXJ0IixhY3Rpb246MH0pO3JldHVybn1uLkN4PSExO1cucVEoKXx8KG4uTz0hMCxuLkhlPSExKTtuLkIuUygiaHRtbDVfdXNlX21lZGlhX2ZldGNoX2NvbnRyb2xsZXIiKSYmCm4ubG9hZGVyLkwuV0ooInJlcXVlc3Rjb21wbGV0ZWQiKX1uLnBvbGljeS5IRCYmIVcuaXNDb21wbGV0ZSgpP1FvKG4ubG9hZGVyKTpuLmxvYWRlci5CWSgpfX19OwpaeVM9ZnVuY3Rpb24obil7bi5wb2xpY3kuTEImJihuLlZRPXZvaWQgMCxuLkc3PTApfTsKaXlpPWZ1bmN0aW9uKG4pe2lmKG4ubG9hZGVyLkFiKXJldHVybiBaayhuLCJwcmVwYXJpbmduZXh0bG9vcCIpLCExO2lmKCFVMFoobixuLlMkKSlyZXR1cm4gWmsobiwicmF0ZWxpbWl0ZWQiKSwhMTtpZihpUyhuLmF1ZGlvVHJhY2spJiZpUyhuLnZpZGVvVHJhY2spKXJldHVybiBaayhuLCJlbmRvZnN0cmVhbSIpLCExO2lmKG4ucG9saWN5LlUxKWlmKG4ucG9saWN5Llgpe2lmKG4uVk8/LmNKKCkpcmV0dXJuIFprKG4sInNzZGFpYmxvY2tlZCIpLCExfWVsc2V7dmFyIFc9ITE7aWYobi5KQy5KPT09MilXPSEwO2Vsc2UgaWYobi5KQy5KPT09Myl7VXEobik7bi5sb2FkZXIuU1coKTt2YXIgRD1QNihuLmF1ZGlvVHJhY2ssbi5sb2FkZXIuaXNTZWVraW5nKCkpLmVXO3ZhciBiPVA2KG4udmlkZW9UcmFjayxuLmxvYWRlci5pc1NlZWtpbmcoKSkuZVc7dmFyIHY9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKXx8MDtEPXl1KG4sRCx2KTtiPXl1KG4sYix2KTtiPU1hdGgubWluKEQsYik7dj1uLkpDOwpiPj12Llc/KHYuVSgic2RhaSIse2hhbHRycTpiLGVzdDp2Lld9KSxiPSEwKTpiPSExO2ImJihXPSEwKX1pZihXKXJldHVybiBaayhuLCJ3YWl0aW5nZm9yYWRzIiksITF9bi5wb2xpY3kudTUmJihuLnR3PUVxKG4sbi5hdWRpb1RyYWNrKSxuLmJkPUVxKG4sbi52aWRlb1RyYWNrKSk7aWYoIW4uSilyZXR1cm4gaTEobix7bm9wb2xpY3k6MX0pLCEwO2lmKG4uTC5lSigpKXJldHVybiBpMShuLHt1dGM6MX0pLCEwO2lmKG4uazYuSylyZXR1cm4gaTEobix7YXVkaW86MX0pLCEwO2lmKG4ucG9saWN5LnNaJiZuLms2LkQpcmV0dXJuIGkxKG4se2NvbnN0cmFpbnQ6MX0pLCEwO2lmKCFuLkoudGFyZ2V0QXVkaW9SZWFkYWhlYWRNc3x8IW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zKXJldHVybiBpMShuLHtub3JlYWRhaGVhZDoxfSksITA7aWYobi5wb2xpY3kuaiYmbi5sb2FkZXIuWFgoKSlyZXR1cm4gaTEobix7c2Vla1RvSGVhZDoxfSksITA7Vz1NYXRoLm1pbihPYihuLmxvYWRlcixuLmF1ZGlvVHJhY2spKgoxRTMsbi5KLnRhcmdldEF1ZGlvUmVhZGFoZWFkTXMpO2I9TWF0aC5taW4oT2Iobi5sb2FkZXIsbi52aWRlb1RyYWNrKSoxRTMsbi5KLnRhcmdldFZpZGVvUmVhZGFoZWFkTXMpO3Y9TWF0aC5taW4oVyxiKTt2YXIgaz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTMse0IxOmgsbDE6eCxjdjpMLGFrOmV9PXlPWihuLGspO0Q9aDx2O3ZhciBHPXg8djtpZih1MShuKSl7az1vayhuLlcsayk7dmFyIHI9azx2O24uTC5XWCgpJiZyJiYhRCYmIUcmJm4ubG9hZGVyLlUoInNhYnJjcm5tIix7Y3JhOmssbXByYTp2LGNicmw6bi5XLmxlbmd0aH0pfWlmKCEoRHx8R3x8dTEobikmJnIpKXJldHVybiBuLnBvbGljeS51NSYmbi5MLldYKCkmJihMPHZ8fGU8dikmJm4ubG9hZGVyLlUoInNhYnJuY3JxIix7Y2FyOmgsdmFjOngsYWJoOkwsdmJoOmUsbWFyOlcsbXZyOmJ9KSxaayhuLCJyZWFkYWhlYWRtZXQiKSwhMTtpZihuLnBvbGljeS5SVyYmRVJTKG4ubG9hZGVyKSYmbi52aWRlb0RhdGEuTlAoKSlyZXR1cm4gWmsobiwKInNob3J0c2J1ZmZlcmVkdG9lbmQiKSwhMTtpZihuLnBvbGljeS5XZCYmRVJTKG4ubG9hZGVyKSlyZXR1cm4gWmsobiwidm9kYnVmZmVyZWR0b2VuZCIpLCExO3I9bi5sb2FkZXIueXIoKTtyLmNhcj1oO3IudmFjPXg7ci5tYXI9VztyLm12cj1iO3IudGFyPW4uSi50YXJnZXRBdWRpb1JlYWRhaGVhZE1zO3IudHZyPW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zO3IucGNsPW4uSi5wbGF5YmFja0Nvb2tpZT8ubGVuZ3RofHwwO3IudmJ1PXJrKG4uTC5oNSgpPy5KKCl8fG51bGwpO3IuYWJoPUw7ci52Ymg9ZTtpMShuLHIpO3JldHVybiEwfTsKdWtoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE9xKDAsbi5LdS5ZLG4pO24uazYuRD0hMTtuLnBvbGljeS52WCYmbi5sb2FkZXIuVSgic2FicmNzYyIse3RvOm4ucG9saWN5LlRJLHJsOm4ucG9saWN5LnN6LHNidDpuLnBvbGljeS5DdT8xOjB9LCEwKTtuPVBPdChuLEQsVyk7bi5wb2xpY3kuRkYmJihuLlU4PW4ucG9saWN5LmpfKCkuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NyZWF0ZSgpKTtyZXR1cm4gbn07Cm9SdD1mdW5jdGlvbihuLFcpe2l5aShuKSYmKFc9dWtoKG4sVyksbi5OLnB1c2goVyksbi5ZPy5OKG4uS3UuWSksbi5WPjAmJm4uUyQuRXkrKyl9OwpQT3Q9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtpajpuLmlqLEJlOihrLGgpPT57bi5MLkthKGssaCl9LApORDpuLnBvbGljeS5XLEtwOm4ucG9saWN5LktwfTtuLmlqLkouViYmKGIucVk9KG4udmlkZW9UcmFjay5QSi5pbmZvLk5zfHwwKSsobi5hdWRpb1RyYWNrLlBKLmluZm8uTnN8fDApKTtuLnBvbGljeS5VVCYmKGIuTzg9bi5hdWRpb1RyYWNrLlBKLmluZGV4LlVjKCksYi5Rbj0hMSk7dmFyIHY9dW5VKFcsbi5wb2xpY3ksbi5ubik/MjoxO3YhPT1uLm51JiYobi5udT12LG0wTShuKSk7RD1kMGIobixEKTtpZihuLnBvbGljeS5ZJiZuLnBvbGljeS5XJiZELlJBKXtsZXQgaz12PSIiO2ZvcihsZXQgaCBvZiBELlJBKW4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5oYXMoaCl8fG4ucG9saWN5LlkmJkQuYkomJkQuYkoudHlwZT09PWg/dis9YF8ke2h9YDprKz1gXyR7aH1gO24ubG9hZGVyLlUoInNhYnJibGRycXMiLHtjdHh0czp2LG1pc2N0eHRzOmt9KX0hVy5zZXREYXRhKEQsbi5wb2xpY3ksbi5ubikmJm4ucG9saWN5LlkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKCJwbGF5ZXIuZXhjZXB0aW9uIiwKe3JlYXNvbjoiYnVpbGRzYWJycmVxdWVzdGRhdGFmYWlsZWQifSwxKTtiPW5ldyB1dShuLnBvbGljeSxXLG4uS3Usbi5ubixuLGIsbi5sb2FkZXIuVTQoKSk7aXUobi50aW1pbmcpO24ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyY3JxaW5mbyIse3JuOmIuY0EoKSxwcm9iZTpXLkQ1KCl9KTtyZXR1cm4gbi5GRj1ifTsKRXE9ZnVuY3Rpb24obixXKXtVcShuKTtuLmxvYWRlci5TVygpO3JldHVybiBQNihXLG4ubG9hZGVyLmlzU2Vla2luZygpKX07CnUxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBvbGljeS55RSYmISFuLlh9Owp5dT1mdW5jdGlvbihuLFcsRCl7bj1uLmxvYWRlci5TVygpfHwwO3JldHVybiBvayhXLChEK24pKjFFMykvMUUzK0R9OwpkMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1kaihuLmxvYWRlcikmJlcmJlcuU3MhPT12b2lkIDAmJiFXLmJNP01hdGguY2VpbCgoVy5Tcysobi5sb2FkZXIuU1coKXx8MCkpKjFFMyk6VXEobik7aWYobi5wb2xpY3kudTUpe3ZhciBiPW4udHc7dmFyIHY9bi5iZH1lbHNlIGI9RXEobixuLmF1ZGlvVHJhY2spLHY9RXEobixuLnZpZGVvVHJhY2spO3ZhciBrPVsuLi5iLmVXLC4uLnYuZVddO3UxKG4pJiZrLnB1c2goLi4ubi5XKTt2YXIgaD1bLi4uYi5CaSwuLi52LkJpXSx4PVtdO2Zvcih2YXIgTCBvZiBoKUwudkQhPT12b2lkIDAmJkwudkQ+TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/bi5sb2FkZXIuVSgic2FicnBzZWdsbXQiLHtsbXQ6TC52RCxpdGFnOkwuZm9ybWF0SWQ/Lml0YWcsc3E6TC5zZXF1ZW5jZU51bWJlcn0pOngucHVzaChMKTtoPW4ubG9hZGVyLmx1KCk7bi5wb2xpY3kuWW4mJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEw9bi52aWRlb0RhdGEubGVuZ3RoU2Vjb25kcyoKMUUzLEQ+PUwmJm4ubG9hZGVyLlUoImludmFsaWRTYWJyQ210Iix7Y210OkQsdmQ6TH0pKTtMPW4uaWo7dmFyIGU9bi5MLEc9bi5LdSxyPW4uSixOPW4udmlkZW9EYXRhLmJkLEg9bi5wb2xpY3ksQT1uLmxvYWRlci5xRyx5PW4uVlE/LmtFLFQ9bi5WUT8uVW0sej1uLkc3LEM9TnVtYmVyKG4uazYuWD8uaW5mby5pdGFnKXx8MCxRPU51bWJlcihuLms2Lmo/LmluZm8uaXRhZyl8fDAsVj1uLkwudzkoKTt2YXIgTHQ9Vz8uSiQ/Vy5KJDpuLmxvYWRlci5pc1N1c3BlbmRlZD80OnZvaWQgMDtEPXtpajpMLEw6ZSxLdTpHLGVXOmssQmk6eCxuUjpELG5leHRSZXF1ZXN0UG9saWN5OnIsUkE6TixvWjpILHB6OkEsa0U6eSxVbTpULEc3OnosdU06QyxyRzpRLHEkOmgscjg6VixKJDpMdCxDeDpuLkN4LGdEOm4uUFgsSGU6bi5IZX07az1uLmxvYWRlci5NWSgpO3g9Zy5kMShrKTtrJiYoRC5kTj14KTtpZihXPWRqKG4ubG9hZGVyKSYmVz8uYk0/Vy5TczpuLkwuZUooKSlELmo0PVcqMUUzO1c9bi5rNjsKaz1XLnR3O2lmKFcub1o/LkR0KCkmJiFrKWZvcih0aSBvZiBXLlcpaWYodGkua1ope2s9ITA7YnJlYWt9dmFyIHRpPVcub1ouRHQoKSYmIWs/W106TyRpKFcsVy5XKTtELkdoPXRpO3RpPW4uazY7dGkub1ouRHQoKSYmIXRpLmJkP3RpPVtdOihXPUtqaSh0aSksVy5sZW5ndGg9PT0wJiYoVz10aS5WKSx0aT1PJGkodGksVykpO0QuTSQ9dGk7RC5Fdj11MShuKT9bbi5YXTp2b2lkIDA7RC5JOD1BcnJheS5mcm9tKHdDKG4uazYuTikua2V5cygpLE51bWJlcik7RC5sbD1uLms2LmxsKCk7bi5wb2xpY3kuS0UmJihELllzPXpTMihuLmxvYWRlcixuLmF1ZGlvVHJhY2spLEQuZXE9elMyKG4ubG9hZGVyLG4udmlkZW9UcmFjaykpO3RpPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk7Yj15dShuLGIuZVcsdGkpO3Y9eXUobix2LmVXLHRpKTt2PU1hdGgubWluKGIsdik7bi5UQz12O24ucG9saWN5LlUxJiYodTEobikmJihiPXl1KG4sbi5XLHRpKSxuLkwuV1goKSYmYjx2JiZuLmxvYWRlci5VKCJzYWJyY2ZiIiwKe21ldDp2LGNldDpiLGNicmw6bi5XLmxlbmd0aH0pLHY9TWF0aC5taW4odixiKSksIW4ucG9saWN5LlgmJihiPW4uc1U/LlNQKHYpKSkmJihELk15PWIsbi5sb2FkZXIuVSgic2RhaSIse3NzaW5mbzpiLmN1ZXBvaW50SWR9KSk7bi5wb2xpY3kuWCYmKGI9bi52aWRlb0RhdGEuYkJbbi52aWRlb0RhdGEuSj8uY29udGFpbmVyVHlwZXx8MF0sdis9bi5sb2FkZXIuU1coKSxELmJLPW4uVk8/LlkodixiKSxELmJLJiZuLmxvYWRlci5VKCJjbHNkYWkiLHtzc2luZm9zOkQuYksubGVuZ3RofSksbi5WTz8uTygpKTtuLnBvbGljeS5ZJiZuLk4ubGVuZ3RoPjAmJm4uTlswXS5ETCgpJiYoRC5iSj1uLk5bMF0ubWYoKSk7cmV0dXJuIER9OwpVcT1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5qJiZuLmxvYWRlcj8uWFgoKSxEPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCl8fDA7RD1sSWIobixEKTthOmlmKG4ucG9saWN5LmZtJiZuLmxvYWRlci5pc1NlZWtpbmcoKSl7dmFyIGI9QTAobi52aWRlb1RyYWNrLEQpO24ubG9hZGVyLlUoImFzbXRmbmN0diIse2I6RCxhOmJ9KTtpZighaXNOYU4oYikpe0Q9YjticmVhayBhfX1iPW4ubG9hZGVyLlNXKCl8fDA7RCs9YjtiPVlwKG4udmlkZW9EYXRhKXx8Zy5wQShuLnZpZGVvRGF0YSk7dmFyIHY9MDtXPyhiJiYodj1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUiksbi52aWRlb0RhdGEuUkkmJih2PU1hdGguY2VpbChuLnZpZGVvRGF0YS5KVSoxRTMpKSk6dj1NYXRoLmNlaWwoRCoxRTMpO3JldHVybiBNYXRoLm1pbihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUix2KX07CmxJYj1mdW5jdGlvbihuLFcpe2lmKG4ubG9hZGVyLmlzU2Vla2luZygpKXJldHVybiBXO3ZhciBEPW4uTC5oNSgpO2lmKCFEKXJldHVybiBXO0Q9RC5KKCk7aWYoRC5sZW5ndGg9PT0wfHxCUihELFcpKXJldHVybiBXO2lmKCFuLnZpZGVvVHJhY2suZnAoVykmJiFuLmF1ZGlvVHJhY2suZnAoVykpcmV0dXJuIG4ubG9hZGVyLlUoInN1bmRybiIse2I6MCxsdDpXfSksVzt2YXIgYj1XLHY9SW5maW5pdHk7Zm9yKGxldCBrPTA7azxELmxlbmd0aDtrKyspe2lmKEQuc3RhcnQoayk+Vyljb250aW51ZTtsZXQgaD1XLUQuZW5kKGspO2g8diYmKHY9aCxiPUQuZW5kKGspKX1yZXR1cm4gYiE9PVcmJihuLmxvYWRlci5VKCJzdW5kcm4iLHticmU6YixsdDpXfSksdj49MjApPyhuLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIse3JlYXNvbjoiYnVmZmVydW5kZXJydW5leGNlZWRzbGltaXQifSksVyk6Yn07Cm9rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPS0xO2ZvcihsZXQgdiBvZiBuKWlmKCEodi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXM8Vykpe2lmKGI8MCYmdi5zdGFydFRpbWVNcz5XfHxiPj0wJiZ2LkFDPmIrMSlicmVhaztEPU1hdGgubWF4KEQsdi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXMpO2I9TWF0aC5tYXgoYix2Lmk5KX1yZXR1cm4gTWF0aC5tYXgoMCxELVcpfTsKWms9ZnVuY3Rpb24obixXKXtuLkdDPVc7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcmIiLHtyZWFzb246V30pfTsKVTBaPWZ1bmN0aW9uKG4sVyl7YTp7aWYobi5WPjApe3ZhciBEPU1hdGguZmxvb3IoKDAsZy5SKSgpLzFFNCk7aWYoRD09PVcuWGope2lmKFcuRXk+PW4uVil7aWYoVy5FeT09PW4uVil7RD17cmVhc29uOiJ0b29tYW55cmVxdWVzdHMifTtELmxpbWl0PVcuRXk7aWYobi5GRil7bGV0IGI9RGsobi5GRi5pbmZvKTtELmxyX3B0aW1lPWIucHRpbWU7RC5scl9ydHlwZT1iLnJ0eXBlO0QubHJfYnJsPWIuYnJsO0QubHJfcHM9Yi5wc31uLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIsRCk7Vy5FeSs9MX1XPSExO2JyZWFrIGF9fWVsc2UgVy5Yaj1ELFcuRXk9MH1XPSEwfXJldHVybiFXfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmbi5sb2FkZXIuT00/ITE6bi5qJiYoMCxnLlIpKCk8bi5qPyhnLkphKG4ubG9hZGVyLmoyKSwhMSk6bi5OLmxlbmd0aD4wJiYoIW4ucG9saWN5Lll8fG4uTi5sZW5ndGghPT0xfHwhbi5OWzBdLkRMKCkpfHwhbi5LdS5ZPy5ZKG4ucG9saWN5LG4ubm4sCm4ubG9hZGVyLkl3KXx8bi5EdD8hMTohMH07CmkxPWZ1bmN0aW9uKG4sVyl7bi5HQz12b2lkIDA7bi5ZWj0oMCxnLlIpKCk7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcnEiLFcpfTsKeU9aPWZ1bmN0aW9uKG4sVyl7dmFyIHtjdjpELGFrOmJ9PVRKYihuKTtpZihuLnBvbGljeS51NSl7dmFyIHY9b2sobi50dy5lVyxXKTtuPW9rKG4uYmQuZVcsVyl9ZWxzZSB2PUQsbj1iO3JldHVybntCMTp2LGwxOm4sY3Y6RCxhazpifX07Cm0wTT1mdW5jdGlvbihuKXtuLnZpZGVvRGF0YS5iZC5jbGVhcigpO2lmKG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKHZhciBXIG9mIG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5rZXlzKCkpbi52aWRlb0RhdGEuc2FickNvbnRleHRVcGRhdGVzLmdldChXKT8uc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcpO2lmKG4ucG9saWN5LlkmJm4uTi5sZW5ndGgpZm9yKGxldCBEIG9mIG4uTikoVz1ELm1mKCkpJiZXLnR5cGUmJlcuc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcudHlwZSl9Owptdj1mdW5jdGlvbihuKXtmb3IoO24uTi5sZW5ndGgmJm4uTlswXS5CNihuLkUxKCkpOyl7bGV0IFc9bi5OLnNoaWZ0KCk7ajlDKG4sVyl9bi5OLmxlbmd0aCYmajlDKG4sbi5OWzBdKX07Cmo5Qz1mdW5jdGlvbihuLFcpe1cgaW5zdGFuY2VvZiB1dSYmKG4uZSQ9Vyk7dmFyIEQ9bmV3IFNldChXLlNKKG4uRTEoKSkpO2ZvcihsZXQgaCBvZiBEKXtpZihEPVcgaW5zdGFuY2VvZiBLRCl7RD1uLms2O3ZhciBiPXl5eChELGgpLHY9bkQoRCxELnZpZGVvSW5mb3MpLmluY2x1ZGVzKGgpOyFELm9aLlRQfHxifHx2fHxELmxvYWRlci5VKCJzYWJyY3BmIix7ZmlkOmAke2h9YCx2ZmlkczpgJHtuRChELEQudmlkZW9JbmZvcykuam9pbigiLiIpfWAsc2FpZDpELll8fCIifSk7RD0hKGJ8fHYpfWlmKEQpY29udGludWU7RD1XIGluc3RhbmNlb2YgdXU/eUIoVyk6dm9pZCAwO2lmKEQhPT12b2lkIDApe2lmKCFXLlFBKGgsbi5FMSgpKSljb250aW51ZTtiPW4uS3UuSi5nZXQoaCk7aWYoIWIpY29udGludWU7bi5wb2xpY3kueUUmJmIuaW5mby5OKCl8fChiLmluZm8uZVMoKT9uLmF1ZGlvVHJhY2s6bi52aWRlb1RyYWNrKS5aYyhELGgpO2NvbnRpbnVlfUQ9Vy5mMyhoLG4uRTEoKSk7Yj1uLnBvbGljeS55RSYmCkQubGVuZ3RoPjAmJkRbMF0uUEouaW5mby5OKCk7aWYoIVcuUUEoaCxuLkUxKCkpKWNvbnRpbnVlO3Y9Vy54OShoLG4uRTEoKSk7Zm9yKGxldCB4IG9mIHYpe24ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBLRCYmbi5sb2FkZXIuVSgib21ibHNzIix7czp4LmluZm8uZ2EoKX0pO2lmKGIpe3Y9bi50aW1pbmc7di5EfHwodi5EPSgwLGcuUikoKSxnLkVHKCJmY2JfciIsdi5ELHYuelIpKTtpZihuLnBvbGljeS5rdSl7dj1nLlZmKHguaW5mby5QSi5pbmZvLG4uS3UuelcpO3ZhciBrPXguaW5mby5qJDtpZihuLksmJk1rKG4uSyk9PT1Nayh2KSYmazw9bi5jSiljb250aW51ZTt4LmluZm8uYVomJihuLks9dixuLmNKPWspfXY9bjt2LnZpZGVvRGF0YS56VygpJiZ2LlgmJk1rKHYuWCk9PT1NayhnLlZmKHguaW5mby5QSi5pbmZvLHYuS3UuelcpKSYmdi5MLldKKCJzYWJyQ2FwdGlvbnNEYXRhTG9hZGVkIix4LHYueUUuYmluZCh2KSk7Y29udGludWV9dj14LmluZm8uUEouaW5mby5lUygpO2s9eC5pbmZvLlBKOwpsZXQgTD1XIGluc3RhbmNlb2YgS0Q/MToyO2lmKHYpe2lmKG4uazYuWHIoayxMLFcuSmQobi5FMSgpKT8udG9rZW4pKWNvbnRpbnVlfWVsc2Ugbi5rNi5EUihrLEwsVy5KZChuLkUxKCkpPy50b2tlbik7az12P24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7VyBpbnN0YW5jZW9mIEtEJiYoay5qPSExLFcgaW5zdGFuY2VvZiBLRCYmKHY/Z2oxKG4udGltaW5nKTplN2Iobi50aW1pbmcpKSk7dHJ5e2suV2coRCx4KX1jYXRjaChlKXt2PUIkKGUpLG4ubG9hZGVyLmhhbmRsZUVycm9yKHYuZXJyb3JDb2RlLHYuZGV0YWlscyx2LnNldmVyaXR5KSxrLnppKCksbi5YJCghMSwicHVzaFNsaWNlIiksZy5BZyhuLmxvYWRlcil9fX19OwpPeVo9ZnVuY3Rpb24obixXKXtuLnBvbGljeS5ZP24uTi5zcGxpY2Uobi5OLmluZGV4T2YoVykpLmZvckVhY2goRD0+e0QuZGlzcG9zZSgpfSk6KG4uTi5wb3AoKSxXPy5kaXNwb3NlKCkpfTsKQ09qPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PG4uTi5sZW5ndGg7disrKVcmJm4uTlt2XWluc3RhbmNlb2YgS0Q/Yi5wdXNoKG4uTlt2XSk6KG4ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyZGlzIix7ZDpuLk5bdl0uY0EoKSxzcmM6RH0pLG4uTlt2XS5kaXNwb3NlKCkpO24uTj1ifTsKQkp0PWZ1bmN0aW9uKG4sVyl7aWYoVy50bigpfHxXLnFOKCkpe3ZhciBEPW4ubG9hZGVyLGI9RC5VLHY9Vy5zdGF0ZTtuPW4uRTEoKTtXPVcubkE/LmdldChuKT8uWSgpPz8tMTtiLmNhbGwoRCwic2Ficm9tYiIse3M6dix0Ynl0ZXM6V30pfWVsc2V7RD1XLlNKKG4uRTEoKSk7Yj0hMTtmb3IobGV0IGsgb2YgRClpZih2PW4uazYsbkQodix2LnZpZGVvSW5mb3MpLmluY2x1ZGVzKGspKXtiPSEwO2JyZWFrfWlmKEQubGVuZ3RoPT09MHx8YiluLlBYPSEwO24uTi5wdXNoKFcpO1cuWEwucHVzaChuKTtpdShuLnRpbWluZyk7bi5wb2xpY3kuclcmJlcuYlAmJm4udVEoVy5iUCxXLmNBKCkpfX07ClRKYj1mdW5jdGlvbihuKXt2YXIgVz1uLmF1ZGlvVHJhY2suenMoITApKjFFMztuPW4udmlkZW9UcmFjay56cyghMCkqMUUzO3JldHVybntjdjpXLGFrOm59fTsKRllDPWZ1bmN0aW9uKG4se1NzOlcsYk06RH0pe2lmKFc9PT12b2lkIDApcmV0dXJuITE7Vz1EP24uTC5sSyhXKTpXO2lmKFc9IW4ubG9hZGVyLmZwKFcpJiZVMFoobixuLkN1KSl7Vz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTM7bGV0IHtCMTpiLGwxOnZ9PXlPWihuLFcpO1c9Yj49N0UzJiZ2Pj03RTN9cmV0dXJuIFd9Owp3Qng9ZnVuY3Rpb24obixXKXtuLmRlbGF5Py5kaXNwb3NlKCk7bi5kZWxheT1udWxsO3ZhciBEPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KChiLHYpPT5iLm1lZGlhVGltZS12Lm1lZGlhVGltZSk7CkQubGVuZ3RoIT09MCYmKFc9KERbMF0ubWVkaWFUaW1lLVcpKjFFMy9uLkwuZ2V0UGxheWJhY2tSYXRlKCksbi5kZWxheT1uZXcgZy5mXygoKT0+e3pjKG4pfSxXPjUwMD9XLTUwMDpXKSxuLmRlbGF5LnN0YXJ0KCkpfTsKemM9ZnVuY3Rpb24obixXKXtpZihsMShuLkwuZ2V0UGxheWVyU3RhdGUoKSkmJm4uTi5zaXplIT09MCl7Vz1XPz9BcnJheS5mcm9tKG4uTi52YWx1ZXMoKSkuc29ydCgodixrKT0+di5tZWRpYVRpbWUtay5tZWRpYVRpbWUpOwp2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj0oV1swXS5tZWRpYVRpbWUtRCkqMUUzL24uTC5nZXRQbGF5YmFja1JhdGUoKTtpZihiPDUwMCl7RD1iPjA/bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpOkQ7Zm9yKGxldCB2IG9mIFcpaWYoRD49di5tZWRpYVRpbWUpdi5yZXNvbHZlKFt2Lm1lZGlhVGltZSx2LmlkXSksbi5OLmRlbGV0ZSh2LmlkKTtlbHNlIGJyZWFrfXdCeChuLEQpfX07Ck1fdz1mdW5jdGlvbihuLFcsRCl7bi5OLmRlbGV0ZShEKTtyZXR1cm4gbmV3IFByb21pc2UoYj0+e24uTi5zZXQoRCx7aWQ6RCxtZWRpYVRpbWU6VyxyZXNvbHZlOmJ9KTtiPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KCh2LGspPT52Lm1lZGlhVGltZS1rLm1lZGlhVGltZSk7CkQ9PT1iWzBdLmlkJiZ6YyhuLGIpfSl9OwpROWI9ZnVuY3Rpb24obil7dmFyIFc9bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpLEQ9bi5YLlIzKFcpO1JTQyhuLEQsVyk7bi5pc1NlZWtpbmc9ITE7dmFyIGI9QXJyYXkuZnJvbShuLk4ua2V5cygpKS5maWx0ZXIodj0+dj49RCkuc29ydCgodixrKT0+di1rKTsKZm9yKGxldCB2IG9mIGIpYj12PT09RD9XLW4uWC5nZXRTdGFydFRpbWUoRCk6MCxuLksodixuLk4uZ2V0KHYpLGIpfTsKVl8yPWZ1bmN0aW9uKG4sVyxELGI9ITEpe1chPT1uLktZJiYobi5LWT1XLG4uTC5XSigicGxheWJhY2tzdGFydGVkIixXLEQrbi5MLlNXKCksYikpfTsKUlNDPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLk4uZ2V0KFcpLHY9bi5YLmdldFN0YXJ0VGltZShXKSxrPW4uWC5nZXREdXJhdGlvbihXKSxoPXY7KGI/Lk4/P1tuLmNwbl0pLmZvckVhY2goKHgsTCk9Pnt2YXIgZT1iPy5KW0xdPz9rO0Q+PWgmJkQ8aCtlJiYoTD14IT09bi5jcG4/aC0oYj8uWFtMXT8/MCk6aCxuLko9eCxWXzIobix4LEwsITApKTtoKz1lfSl9OwpjT3c9ZnVuY3Rpb24obixXKXsobi5XLmdldChXKT8/W10pLmZvckVhY2goRD0+e24uai5OLmRlbGV0ZShEKX0pOwpuLlcuZGVsZXRlKFcpfTsKYUlaPWZ1bmN0aW9uKG4sVyxELGIpe24uSj1EO0Q9YCR7V30uJHtEfWA7bi5XLmhhcyhXKT9uLlcuZ2V0KFcpLnB1c2goRCk6bi5XLnNldChXLFtEXSk7TV93KG4uaixiLEQpLnRoZW4oKFt2LGtdKT0+e3ZhciBbaCx4XT1rLnNwbGl0KCIuIik7WyxrXT1bTnVtYmVyKGgpLHhdO1ZfMihuLGssdil9KX07CldYaD1mdW5jdGlvbihuLFcsRCxiLHYsayl7cmV0dXJuIFcuVDcmJlcuRTUmJkQ9PT0zP25ldyBudTEobixXLGIsdixrKTpudWxsfTsKRExiPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuRDIpe3ZhciBEPVcuaW5mby5OcyxiPUdEKG4uc2NoZWR1bGUpO1c9Vy5pbmRleC5VYygpO0Q9TWF0aC5tYXgoMSxiL0QpO24uWT1NYXRoLnJvdW5kKE1hdGgubWF4KCgoRC0xKSpXK24ucG9saWN5LndhKS9ELFctbi5wb2xpY3kuTWwpKjFFMyl9fTsKa25yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RGF0ZS5ub3coKS8xRTMsYj1ELW4uc3RhcnRUaW1lU2Vjcyx2PUQtbi5WLGs9dj49bi5wb2xpY3kuT04saD0hMTtpZihrKXtsZXQgeD0wOyFpc05hTihXKSYmVz5uLmomJih4PVctbi5qLG4uaj1XKTt4L3Y8bi5wb2xpY3kuSVcmJihoPSEwKTtuLlY9RH1EPWI+PW4ucG9saWN5Lk1sJiYhbi5XO2lmKCFrJiYhRCYmYkZqKG4sVykpcmV0dXJuIE5hTjtEJiYobi5XPSEwKTthOntiPWg7RD0oMCxnLlIpKCkvMUUzLShuLnF6LkxnKCl8fDApLW4uSy5XLW4ucG9saWN5LndhO2s9bi5KLnNlZ21lbnRTdGFydFRpbWU7RD1rK0Q7aWYoYil7aWYoaXNOYU4oVykpe1RjKG4sTmFOLCJuIixXKTtrPU5hTjticmVhayBhfWI9Vy1uLnBvbGljeS5FVDtiPEQmJihEPWIpfWVsc2Ugbi5XJiYoYj1EK24ucG9saWN5LndhLW4uTytuLnBvbGljeS5BTCxpc05hTihXKXx8KGI9TWF0aC5tYXgoYixNYXRoLm1pbihELFctbi5wb2xpY3kuRVQpKSksRD1iKTtrPUQ9TWF0aC5tYXgoRCwKayl9bi5OPWs7aWYoaXNOYU4obi5OKSlyZXR1cm4gbi5jbGVhcigpLE5hTjtpZighaCYmYkZqKG4sVykpcmV0dXJuIHZ1TShuLFcpLE5hTjtpZihuLk48PW4uSi5zZWdtZW50U3RhcnRUaW1lKXJldHVybiBUYyhuLE5hTiwieSIsVyksbi5jbGVhcigpLE5hTjtpZighbi5EKG4uTiwhMSkpcmV0dXJuIXZ1TShuLFcpJiZoJiYoVGMobixOYU4sInQiLFcpLG4uY2xlYXIoKSksTmFOO2g9bi5OO1RjKG4saCwicyIsVyk7bi5jbGVhcigpO3JldHVybiBofTsKYkZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlzTmFOKFcpPyEwOmlzTmFOKG4uTik/ITE6VzxuLk4rKG4uVz9uLnBvbGljeS5FVDpuLnBvbGljeS5neCl9Owp2dU09ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5EKG4uTiwhMCk/ITE6KFRjKG4sTmFOLCJucyIsVyksbi5jbGVhcigpLCEwKX07ClRjPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4uWC55MCgpO3Yuc3NyX3NrPShXKjFFMykudG9GaXhlZCgwKTt2LnNzcl90PShuLk4qMUUzKS50b0ZpeGVkKDApO3Yuc3NyX3I9RDt2LnNzcl9zdD0obi5zdGFydFRpbWVTZWNzKjFFMykudG9GaXhlZCgwKTt2LnNzcl9uPSgwLGcuUikoKS50b0ZpeGVkKDApO3Yuc3NyX2Y9KG4uSy5XKjFFMykudG9GaXhlZCgwKTt2LnNzcl9mYT1uLlc/IjEiOiIwIjt2LnNzcl9vPShuLnF6LkxnKCkqMUUzfHwwKS50b0ZpeGVkKDApO3Yuc3NyX3Y9KGIqMUUzKS50b0ZpeGVkKDApO1c9bi5KLlBKLmluZGV4O1cuTUkobi5KLmokLCEwKSYmKHYuc3NyX2lzdD0oVy5nZXRTdGFydFRpbWUobi5KLmokKSoxRTMpLnRvRml4ZWQoMCksdi5zc3JfaWQ9KFcuZ2V0RHVyYXRpb24obi5KLmokKSoxRTMpLnRvRml4ZWQoMCkpO24ubG9hZGVyLlUoInNzciIsdil9OwpoUXg9ZnVuY3Rpb24oKXt2YXIgbj17fSxXPXdpbmRvdy5wZXJmb3JtYW5jZTtpZihXKXtsZXQgRD1XLm1lbW9yeTtEJiYobi5qc1RvdGFsPUQudG90YWxKU0hlYXBTaXplLG4uanNVc2VkPUQudXNlZEpTSGVhcFNpemUsbi5qc0xpbWl0PUQuanNIZWFwU2l6ZUxpbWl0LG4ubXNUb3RhbD1ELmdldE1lZGlhU291cmNlVG90YWxBbGxvY2F0ZWRNZW1vcnk/LigpPz9ELnRvdGFsTWVkaWFTb3VyY2VTaXplLG4ubXNMaW1pdD1ELmdldE1lZGlhU291cmNlTWF4aW11bU1lbW9yeUNhcGFjaXR5Py4oKT8/RC5tZWRpYVNvdXJjZVNpemVMaW1pdCxuLm1zVXNlZD1ELmdldE1lZGlhU291cmNlQ3VycmVudE1lbW9yeUNhcGFjaXR5Py4oKT8/RC51c2VkTWVkaWFTb3VyY2VNZW1vcnlTaXplKTtXLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkmJihuLmNiRnJlZT1XLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkoKSk7Vy5tZWFzdXJlVXNlZENwdU1lbW9yeSYmKG4uY2JVc2VkPVcubWVhc3VyZVVzZWRDcHVNZW1vcnkoKSl9d2luZG93Lmg1dmNjPy5jVmFsJiYKKG4uY2JGcmVlPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuQ1BVLkZyZWUiKSxuLmNiVXNlZD13aW5kb3cuaDV2Y2MuY1ZhbC5nZXRWYWx1ZSgiTWVtb3J5LkNQVS5Vc2VkIiksbi5jYkpzPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuSlMiKSk7cmV0dXJuIG59Owp4THQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5QcmVzc3VyZU9ic2VydmVyJiZuZXcgd2luZG93LlByZXNzdXJlT2JzZXJ2ZXIobil9OwpMWHI9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2F3YWl0IG4uan1jYXRjaHt9bi5XPy5kaXNjb25uZWN0KCl9OwpndUM9ZnVuY3Rpb24obixXKXtXP2VRai50ZXN0KG4pOihuPWcub0UobiksT2JqZWN0LmtleXMobikuaW5jbHVkZXMoImNwbiIpKX07CmpSPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17Zm9ybWF0OiJSQVcifSx4PXt9O2lmKGcuVGQobikmJmcuakgoKSl7bGV0IEw9Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpO0w/eFsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09TDpiP3hbIlgtR29vZy1WaXNpdG9yLUlkIl09YjpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKHhbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO0QmJih4WyJYLUdvb2ctUGFnZUlkIl09RCk7KGI9Vy5UQykmJiFnLnFGKFcpJiYoeFsiWC1Hb29nLUF1dGhVc2VyIl09Yik7diYmKHguQXV0aG9yaXphdGlvbj1gQmVhcmVyICR7dn1gKTtXLlMoImVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5ncyIpJiZXLllyJiZXLmRhdGFzeW5jSWQmJih4WyJYLVlvdVR1YmUtRGF0YVN5bmMtSWQiXT1XLmRhdGFzeW5jSWQpO2lmKFcuUygiZW5hYmxlX3JvbGxvdXRfdG9rZW5faGVhZGVyIikpe2xldCBlPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik/LmNsaWVudD8ucm9sbG91dFRva2VuOwplJiYoeFsiWC1Zb3VUdWJlLVJvbGxvdXQtVG9rZW4iXT1lKX1MfHx4WyJYLUdvb2ctVmlzaXRvci1JZCJdfHx2fHxEfHxiP2gud2l0aENyZWRlbnRpYWxzPSEwOlcuUygiaHRtbDVfc2VuZF9jcG5fd2l0aF9vcHRpb25zIikmJmVRai50ZXN0KG4pJiYoaC53aXRoQ3JlZGVudGlhbHM9ITApfU9iamVjdC5rZXlzKHgpLmxlbmd0aD4wJiYoaC5oZWFkZXJzPXgpO2smJihoLm9uRmluaXNoPWspO3JldHVybiBPYmplY3Qua2V5cyhoKS5sZW5ndGg+MT9oOm51bGx9OwpDRD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2cuakgoKSYmRC50b2tlbiYmKG49Zy56ZChuLHtjdHQ6RC50b2tlbixjdHR5cGU6RC55byxtZHhfZW52aXJvbm1lbnQ6RC5tZHhFbnZpcm9ubWVudH0pKTtiLlMoIm5ldF9waW5nc19sb3dfcHJpb3JpdHkiKSYmKFd8fChXPXt9KSxXLnByaW9yaXR5PSJsb3ciKTtrfHx4JiZiLlMoIm53bF9za2lwX3JldHJ5Iik/KFc9PW51bGw/Vz17fTpndUMobixiLlMoImh0bWw1X2Fzc2VydF9jcG5fd2l0aF9yZWdleCIpKSxoP2cuSFUoKS5zZW5kQW5kV3JpdGUobixXKTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShuLFcseCkpOlc/KGd1QyhuLGIuUygiaHRtbDVfYXNzZXJ0X2Nwbl93aXRoX3JlZ2V4IikpLEJXaihuLFcpKTpnLmdvKG4sdil9OwpYTmk9ZnVuY3Rpb24obil7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuO0QrKyl7bGV0IGI9e30sdj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOSoxRTgpKzFFOCxrPSIiO2ZvcihsZXQgaD0wO2g8OTtoKyspays9ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MildO2IudmlkZW9EZWNvZGVyTmFtZT1rO2IuZWxhcHNlZFRpbWVNcz12O1cucHVzaChiKX1yZXR1cm4gV307CkJsPWZ1bmN0aW9uKG4sVyl7bj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5zZXQobixXKTtyZXR1cm4gWW8obik/U2soSFAobiksKCk9PiEwLCgpPT4hMSk6SFAoISFuKX07CnFScj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VCdWZmZXJlZFJhbmdlIixuPzE6MCl9OwpHbnc9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJIVFRQMyIsbj8xOjApfTsKdEZ4PWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUF0dGFjaG1lbnRNZXRob2RzIixuPzE6MCl9OwokTEM9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJRVUlDIixuPzE6MCl9OwpyYzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BdWRpb1dyaXRlRHVyYXRpb25Mb2NhbCIsbil9OwpzZ3c9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsbj8xOjApfTsKTjBTPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsbil9OwpwTnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb1JlbmRlcmVyTWluSW5wdXRCdWZmZXJzIixuKX07CllSdz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvUmVuZGVyZXJNaW5EZWNvZGVkRnJhbWVzIixuKX07CkhGWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLG4/MTowKX07CmZ5VT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVJlc2V0QXVkaW9EZWNvZGVyIixuPzE6MCl9OwpKY2I9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVGbHVzaER1cmluZ1NlZWsiLG4/MTowKX07Ckl5dz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsbil9OwpTUnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLG4/MTowKX07CkFjWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLG4/MTowKX07Cm1MMj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbj8xOjApfTsKS1haPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuRXhwZXJpbWVudGFsTWF4UGVuZGluZ0J5dGVzUGVyUGFyc2UiLG4pfTsKdmFyIE9XdD1mdW5jdGlvbihuKXtyZXR1cm4gZVhbSVsxMF1dKHRoaXMsMTksNzA4NyxuKX07Ck9GQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsbil9OwpQUXI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5NZWRpYUNvZGVjUmVzZXREZWxheU1zIixuKX07ClpGdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRpc2FibGVMb3dQZXJmb3JtYW5jZVNvZnR3YXJlRGVjb2RlIixuPzE6MCl9OwpVTDI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVBdjFTdGFydHVwT3B0aW1pemF0aW9uIixuPzE6MCl9Owp5YzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Vc2VEdWFsVGhyZWFkc0ZvclZpZGVvIixuPzE6MCl9OwpFdXQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CmlGVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CnVxdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIixuPzE6MCl9OwpvdTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG4/MTowKX07CmRMaT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLG4/MTowKX07CnpRUz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIixuPzE6MCl9OwpseTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLG4/MTowKX07ClQwVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixuPzE6MCl9OwpqZ2g9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Ta2lwVmlkZW9GcmFtZXNPdmVyNjBGcHMiLG4/MTowKX07CkNRQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZsdXNoQXVkaW9UcmFja0R1cmluZ1NlZWsiLG4/MTowKX07CkIwaj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkJ5cGFzc01vam9Gb3JNZWRpYSIsbj8xOjApfTsKRlgyPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuSWdub3JlTWVkaWFDb2RlY0NhbGxiYWNrc0R1cmluZ0ZsdXNoaW5nIixuPzE6MCl9OwpNRng9ZnVuY3Rpb24oKXt2YXIgbj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5nZXRQZXJzaXN0ZW50U2V0dGluZ0FzU3RyaW5nPy4oImNwdV91c2FnZV90cmFja2VyX2ludGVydmFscyIpO2lmKG4hPW51bGwpe249SlNPTi5wYXJzZShuKT8/W107dmFyIFc9bi5maWx0ZXIoRD0+RC50eXBlPT09InRvdGFsIikubWFwKEQ9PkQuc2Vjb25kcyk7CmZvcihsZXQgRCBvZiB3TjIpVy5pbmRleE9mKEQpPT09LTEmJm4ucHVzaCh7dHlwZToidG90YWwiLHNlY29uZHM6RH0pO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzX2VuYWJsZWQiLDEpO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzIixKU09OLnN0cmluZ2lmeShuKSl9fTsKUlFVPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93Lkg1dmNjUGxhdGZvcm1TZXJ2aWNlLFc9IiI7aWYobiYmbi5oYXMoImRldi5jb2JhbHQuY29hdC5jbGllbnRsb2dpbmZvIikmJihuPW4ub3BlbigiZGV2LmNvYmFsdC5jb2F0LmNsaWVudGxvZ2luZm8iLCgpPT57fSkpKXtsZXQgRD1uLnNlbmQobmV3IEFycmF5QnVmZmVyKDApKTsKRCYmKFc9U3RyaW5nLmZyb21DaGFyQ29kZSguLi4obmV3IFVpbnQ4QXJyYXkoRCkpKSk7bi5jbG9zZSgpfXJldHVybiBXfTsKVkZTPWZ1bmN0aW9uKG4pe3ZhciBXPXdpbmRvdy5INXZjY1BsYXRmb3JtU2VydmljZTtpZihXKXt2YXIgRD1RZ2kuZmluZChiPT5XLmhhcyhiKSk7CkQmJihEPVcub3BlbihELCgpPT57fSkpJiYoRC5zZW5kKEl3KGBjcG46ICR7bn1gKS5idWZmZXIpLEQuY2xvc2UoKSl9fTsKZy53aj1mdW5jdGlvbihuLFcsRCxiKXtnLkZCKG4sRCxgJHtXLnRvRml4ZWQoMyl9OiR7Yi5qb2luKCI6Iil9YCl9OwpNUD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtnLndqKG4sVywiY210IixbRC50b0ZpeGVkKDMpXSk7dmFyIGI9RD1uLnByb3ZpZGVyLm90KCk7aWYoKCFuLmp8fEFKKG4ucHJvdmlkZXIudmlkZW9EYXRhKT8wOmIqMUUzPm4uai52TysxMDApJiZuLmope2I9bi5qLmlzQWQ7RD1EKjFFMy1uLmoudk87bi5lST1XKjFFMy1uLmoudFMtRC1uLmouT2E7dmFyIHY9KDAsZy5SKSgpLUQ7Vz1uLmVJO0Q9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIGs9RC5pc0FkKCk7aWYoYnx8ayl7az1gJHtiPyJhZCI6InZpZGVvIn1fdG9fJHtrPyJhZCI6InZpZGVvIn1gO3ZhciBoPXt9O0Qua1cmJihoLmN0dEF1dGhJbmZvPXt0b2tlbjpELmtXLHZpZGVvSWQ6RC52aWRlb0lkfSk7aC5zdGFydFRpbWU9di1XO2cuYmQoayxoKTtnLm5sKHt0YXJnZXRWaWRlb0lkOkQudmlkZW9JZCx0YXJnZXRDcG46RC5jbGllbnRQbGF5YmFja05vbmNlfSxrKTtnLmFMKCJwYnMiLHYsCmspfWVsc2Ugdj1uLnByb3ZpZGVyLkwuZUcoKSx2LlYhPT1ELmNsaWVudFBsYXliYWNrTm9uY2U/KHYuaj1ELmNsaWVudFBsYXliYWNrTm9uY2Usdi5KPVcpOkQuTlAoKXx8Zy5HcShuZXcgZy5ReCgiQ1NJIHRpbWluZyBsb2dnZWQgYmVmb3JlIGdsbGF0Iix7Y3BuOkQuY2xpZW50UGxheWJhY2tOb25jZX0pKTtuLlUoImdsbGF0Iix7bDpuLmVJLnRvRml4ZWQoKSxwcmV2X2FkOitifSk7ZGVsZXRlIG4uan19OwpnLkZCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkouZ2V0KFcpO2I/Yi5wdXNoKEQpOm4uSi5zZXQoVyxbRF0pfTsKUXU9ZnVuY3Rpb24obixXKXtuLmlzT2ZmbGluZT1XO2cud2oobixnLlJrKG4ucHJvdmlkZXIpLCJpc19vZmZsaW5lIixbbi5pc09mZmxpbmU/IjEiOiIwIl0pfTsKVnU9ZnVuY3Rpb24obixXLEQpe2lmKCFpc05hTihELlc3KSl7bGV0IGI9RC5XNztELko8YiYmKGI9RC5KKTtnLndqKG4sVywiYmgiLFtiLnRvRml4ZWQoMyldKX19OwpjbD1mdW5jdGlvbihuLFc9TmFOKXtXPVc+PTA/VzpnLlJrKG4ucHJvdmlkZXIpO3ZhciBEPW4ucHJvdmlkZXIuTC5ISygpLGI9RC5Fci0obi52Snx8MCk7Yj4wJiZnLndqKG4sVywiYndtIixbYiwoRC5vdy0obi5FNXx8MCkpLnRvRml4ZWQoMyldKTtpc05hTihuLnZKKSYmRC5FciYmbi5pc09mZmxpbmUmJlF1KG4sITEpO24udko9RC5FcjtuLkU1PUQub3c7aXNOYU4oRC5iYW5kd2lkdGhFc3RpbWF0ZSl8fGcud2oobixXLCJid2UiLFtELmJhbmR3aWR0aEVzdGltYXRlLnRvRml4ZWQoMCldKTtuLnByb3ZpZGVyLkIuV1goKSYmT2JqZWN0LmtleXMoRC5OKS5sZW5ndGghPT0wJiZuLlUoImJ3aW5mbyIsRC5OKTtpZihuLnByb3ZpZGVyLkIuV1goKXx8bi5wcm92aWRlci5CLlMoImh0bWw1X2xvZ19tZW1pbmZvIikpYj1oUXgoKSxPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9PXZvaWQgMCkmJm4uVSgibWVtaW5mbyIsYik7Cm4ucHJvdmlkZXIuQi5XWCgpJiYoYj1uLnlFPy5YKCkpJiZPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9bnVsbCkmJm4uVSgiY3B1aW5mbyIsYik7Cm4uVEMmJmcud2oobixXLCJiYXQiLFtuLlRDLmxldmVsLG4uVEMuY2hhcmdpbmc/IjEiOiIwIl0pO2I9bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO24uVTUhPT1iJiYoZy53aihuLFcsInZpcyIsW2JdKSxuLlU1PWIpO01QKG4sVyk7KGI9Y2NaKG4ucHJvdmlkZXIpKSYmYiE9PW4uWSQmJihnLndqKG4sVywiY29ubiIsW2JdKSxuLlkkPWIpO1Z1KG4sVyxEKX07Cm5PTT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5SayhuLnByb3ZpZGVyKTtheVoobixiLFcsMCxEKTtjbChuLGIpO2FrKG4pfTsKbkM9ZnVuY3Rpb24obixXKXtnLkZCKG4sImNhdCIsVyl9OwpXVGg9ZnVuY3Rpb24obixXKXtXPXtjcG46bi5wcm92aWRlci52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxzZXF1ZW5jZU51bWJlcjpXLHNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQ6bi5wcm92aWRlci52aWRlb0RhdGEubTB9O24uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQmJihXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0PWxwKG4uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQpfHx2b2lkIDApO24ucHJvdmlkZXIudmlkZW9EYXRhLnBsYXllclJlc3BvbnNlQ3BuJiYoVy5wbGF5ZXJSZXNwb25zZUNwbj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5wbGF5ZXJSZXNwb25zZUNwbik7V3IubGVuZ3RoJiYoVy5kZWNvZGVySW5mbz1Xcik7bi5yZW1vdGVDb250cm9sTW9kZSYmKFcucmVtb3RlQ29udHJvbE1vZGU9bi5yZW1vdGVDb250cm9sTW9kZSk7Cm4ucmVtb3RlQ29ubmVjdGVkRGV2aWNlcy5sZW5ndGgmJihXLnJlbW90ZUNvbm5lY3RlZERldmljZXM9bi5yZW1vdGVDb25uZWN0ZWREZXZpY2VzKTtpZihuLlBYPy5sZW5ndGgpe1cuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhPVtdO2Zvcih2YXIgRCBvZiBuLlBYKXtsZXQgYj1nLmQxKEQpO2ImJlcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLnB1c2goYil9fSFuLmpXJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhJiYoVy5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhPVtdLEQ9Zy5kMShuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhKSkmJihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEucHVzaChEKSxuLmpXPSEwKTtuLlkuc2l6ZSYmKFcuZGFpQ3VlUG9pbnRFdmVudHM9QXJyYXkuZnJvbShuLlkudmFsdWVzKCkpKTtuLlkuY2xlYXIoKTtyZXR1cm4gV307CkRCaT1mdW5jdGlvbihuKXt2YXIgVz17Li4ubn07bi5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEmJihXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YS5tYXAoRD0+RCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Zy5FQShEKTpEKSk7Cm4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEubWFwKEQ9PkQgaW5zdGFuY2VvZiBVaW50OEFycmF5P2cuRUEoRCk6RCkpOwpuLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0JiYobj1uLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0LG4gaW5zdGFuY2VvZiBVaW50OEFycmF5JiYoVy5zZXJpYWxpemVkSG91c2VCcmFuZFBsYXllclNlcnZpY2VMb2dnaW5nQ29udGV4dD1nLkVBKG4pKSk7cmV0dXJuIFd9OwpiUFM9ZnVuY3Rpb24obixXLEQpe2cuSEUobi5wcm92aWRlci5CLG4ucHJvdmlkZXIudmlkZW9EYXRhLlYoKSkudGhlbihiPT57dmFyIHY9ITE7Vy5pbmNsdWRlcygiJmR0PSIpfHxXLmluY2x1ZGVzKCImY290bj0iKT92PSEwOm4ucHJvdmlkZXIuQi5TKCJxb2Vfd2l0aF9uZXR3b3JrbGVzcyIpJiYodj0hMCk7dmFyIGs9bi5wcm92aWRlci5CLlMoInFvZV9zZW5kX2FuZF93cml0ZSIpLGg9bi5wcm92aWRlci5CO2I9alIoVyxoLG4ucHJvdmlkZXIuQi5wYWdlSWQsbi5wcm92aWRlci5CLnNlbmRWaXNpdG9ySWRIZWFkZXI/bi5wcm92aWRlci52aWRlb0RhdGEudmlzaXRvckRhdGE6dm9pZCAwLGIpO2guUygiaHRtbDVfc2ltcGxpZnlfcGluZ3MiKSYmKGI9Ynx8e30pO2I/KGIubWV0aG9kPSJQT1NUIixiLnBvc3RCb2R5PUQsQ0QoVyxiLHt0b2tlbjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5rVyx5bzpuLnByb3ZpZGVyLnZpZGVvRGF0YS5RdixtZHhFbnZpcm9ubWVudDpuLnByb3ZpZGVyLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudH0sCmgsdm9pZCAwLHYsayYmbi5TJCkpOnY/KHY9bi5wcm92aWRlci5CLlMoIm5ldHdvcmtsZXNzX2FqYXgiKSxoPXttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9LGsmJm4uUyQ/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLGgpOnY/Zy5lZChXLHttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9KTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShXLGgpKTpndncoVyxEKX0pfTsKYWs9ZnVuY3Rpb24obil7aWYoIW4ucHJvdmlkZXIuQi5TKCJodG1sNV9xb2Vfbm9fbGVuX2NoZWNrIikpe3ZhciBXPTA7Zm9yKGxldCBbRCxiXW9mIG4uSi5lbnRyaWVzKCkpVys9RC5sZW5ndGgrTnVtYmVyKGcudV8oYiwodixrKT0+ditrLmxlbmd0aCwwKSk7Clc+OTZFMyYmKG5ldyBnLmZfKG4ucmVwb3J0U3RhdHMsMCxuKSkuc3RhcnQoKX19Owp2TzI9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuWVomJm5DKG4sInByZWZldGNoIik7bi5wcm92aWRlci52aWRlb0RhdGEuUyQmJm4uVSgicmVsb2FkIix7cjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5yZWxvYWRSZWFzb24sY3Q6bi5wcm92aWRlci52aWRlb0RhdGEuUyR9KTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5JUiYmbkMobiwibW9uaXRvciIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuQyhuLCJsaXZlIik7TnMmJm5DKG4sInN0cmVhbWluZyIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmk1JiZuLlUoImN0cmwiLHttb2RlOm4ucHJvdmlkZXIudmlkZW9EYXRhLmk1fSwhMCk7aWYobi5wcm92aWRlci52aWRlb0RhdGEuVUspe3ZhciBXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlVLLnJlcGxhY2UoLywvZywiXyIpO24uVSgieXRwIix7dHlwZTpXfSwhMCl9bi5wcm92aWRlci52aWRlb0RhdGEuVDQmJihXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlQ0LnJlcGxhY2UoLywvZywKIi4iKSxuLlUoInl0cmV4cCIse2lkczpXfSwhMCkpO24ucHJvdmlkZXIuQi5XWCgpJiZuLlUoIm5vdyIse3d0OigwLGcuUikoKX0pO1c9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIEQ9bi5wcm92aWRlci5CLlMoImVuYWJsZV93aGl0ZV9ub2lzZSIpfHxuLnByb3ZpZGVyLkIuUygiZW5hYmxlX3dlYmdsX25vb3AiKSxiPWcua3AoVyl8fGcuSFQoVyl8fGcuZkEoVyl8fGcuSkQoVyk7KER8fGIpJiYoRD0oMCxnLkRWKSgpKSYmbi5KLnNldCgiZ3B1IixbRF0pO09TKG4ucHJvdmlkZXIudmlkZW9EYXRhKSYmZy53aihuLGcuUmsobi5wcm92aWRlciksImR0IixbIjEiXSk7Vy5jb3RuJiYhT1MoVykmJlF1KG4sITApO24ucHJvdmlkZXIuQi5XWCgpJiYoVz0oMCxnLlIpKCktbi5wcm92aWRlci5CLkN1LG4uVSgicGxheWVyYWdlIix7c2VjczooMS42KipNYXRoLnJvdW5kKE1hdGgubG9nKFcvMUUzKS9NYXRoLmxvZygxLjYpKSkudG9GaXhlZCgpfSkpO24uVj0hMDtuLks9VzAoKCk9PntuLnJlcG9ydFN0YXRzKCl9LAoxRTQpfTsKYXlaPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5wcm92aWRlci5CLk4uY2JydmVyO24ucHJvdmlkZXIuQi5OLmNicj09PSJDaHJvbWUiJiYvXjk2Wy5dLy50ZXN0KGspJiZEPT09Im5ldC5iYWRzdGF0dXMiJiYvcmNcLjUwMC8udGVzdCh2KSYmYm0obiwzKTsvYjI0ODE4MDI3OC8udGVzdCh2KSYmYm0obiw0KTtrPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtiPWI9PT0xPyJmYXRhbCI6IiI7RD1bRCxiLGsudG9GaXhlZCgzKV07YiYmKHYrPWA7YTZzLiR7TGMoKX1gKTt2JiZELnB1c2goa29yKHYpKTtnLndqKG4sVywiZXJyb3IiLEQpO24uVj0hMH07CmJtPWZ1bmN0aW9uKG4sVyl7bi5ZWnx8KGcuRkIobiwiZmNueiIsYCR7V31gKSxuLllaPSEwKX07CmhEMT1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKEQhPT1uLk4pe24uZSR8fFc8bi5XfHwobi5OPT09IlBMIj9uLnBsYXlUaW1lU2Vjcys9Vy1uLlc6bi5OPT09IkIiJiZuLmlzQnVmZmVyaW5nJiYobi5pc0J1ZmZlcmluZz0hMSxuLnJlYnVmZmVyVGltZVNlY3MrPVctbi5WUSwhbi5SYSYmbi5yZWJ1ZmZlclRpbWVTZWNzPj0xMCYmbi5wbGF5VGltZVNlY3M8PTE4MCYmKG4uSi5zZXQoInFvZWFsZXJ0IixbIjEiXSksbi5SYT0hMCkpLEQhPT0iQiJ8fG4uTiE9PSJQTCImJm4uTiE9PSJQQiJ8fChuLmlzQnVmZmVyaW5nPSEwKSxuLlc9Vyk7bi5OPT09IlBMIiYmKEQ9PT0iQiJ8fEQ9PT0iUyIpfHxuLnByb3ZpZGVyLkIuV1goKT9jbChuLFcpOihuLmZCfHxEIT09IlBMInx8KG4uZkI9ITAsVnUobixXLG4ucHJvdmlkZXIuTC5ISygpKSksTVAobixXKSk7RD09PSJQTCImJmcuSmEobi5NZCk7dmFyIGs9W0RdO0Q9PT0iUyImJmImJmsucHVzaChgc3MuJHtifWApO0Q9PT0iUEEiJiZ2JiZrLnB1c2goYHNyLiR7dn1gKTsKZy53aihuLFcsInZwcyIsayk7bi5OPUQ7bi5WUT1XO24uVz1XO24uVj0hMH19Owp4Qmg9ZnVuY3Rpb24obil7aWYoIShuLlg+PTApKWlmKG4ucHJvdmlkZXIuQi5OZHx8bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpIT09Myl7dmFyIFc9bi5wcm92aWRlci5MLnpzKCExKSxEPW4ucHJvdmlkZXIuTC56cyghMCk7bi5VKCJ1c2VyX2ludGVudF9iaCIse2JoOlcudG9GaXhlZCgzKSx0aDpELnRvRml4ZWQoMyl9KTtuLlg9Zy5SayhuLnByb3ZpZGVyKX1lbHNlIG4uQ3U9ITB9OwpMVGI9ZnVuY3Rpb24obixXKXtpZihnLm1NKG4ucHJvdmlkZXIudmlkZW9EYXRhKSl7bj00O3ZhciBEPTF9ZWxzZSBuPVcuc291cmNlPz8wO249YHNtcy4ke259YDtEIT09dm9pZCAwJiYobis9YF8ke0R9YCk7cmV0dXJuIG59Owp2YXIgQTExPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDEsNDM2MixuLFcpfTsKdnI9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9Zy5SayhuLnByb3ZpZGVyKTtEIT09MSYmRCE9PTMmJkQhPT01fHxnLndqKG4seCwidnBzIixbbi5OXSk7Zy5GQihuLCJ4dnQiLGB0LiR7eC50b0ZpeGVkKDMpfTttLiR7aC50b0ZpeGVkKDMpfTtnLiR7V307dHQuJHtEfTtucC4ke2J9O2MuJHt2fTtkLiR7a31gKX07Cmtvcj1mdW5jdGlvbihuKXsvW15hLXpBLVowLTk7LiFfLV0vLnRlc3QobikmJihuPW4ucmVwbGFjZSgvWytdL2csIi0iKS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIikpO3JldHVybiBufTsKT2I9ZnVuY3Rpb24obixXKXtpZihuLlpEJiYhbi5PbilyZXR1cm4gMztpZihuLmlzU3VzcGVuZGVkKXJldHVybiAxO2lmKG4ubWVkaWFTb3VyY2U/LmJkKCkpcmV0dXJuIDQ7dmFyIEQ9KFcuUEouaW5mby5hdWRpbz9uLnBvbGljeS52SjpuLnBvbGljeS5lJCkvKFcuTnMqbi5wb2xpY3kud3kpO2lmKG4ucG9saWN5LmNIPjAmJm4ubWVkaWFTb3VyY2UmJm42KG4ubWVkaWFTb3VyY2UpJiYoVz1XLlBKLmluZm8udmlkZW8/bi5tZWRpYVNvdXJjZS5KOm4ubWVkaWFTb3VyY2UuTikmJiFXLnl1KCkpe1c9Vy5aRigpO2xldCBiPUNNKFcsbi5nZXRDdXJyZW50VGltZSgpKTtiPj0wJiYoVz1uLmdldEN1cnJlbnRUaW1lKCktVy5zdGFydChiKSxEKz1NYXRoLm1heCgwLE1hdGgubWluKFctbi5wb2xpY3kuY0gsbi5wb2xpY3kuQmQpKSl9bi5wb2xpY3kuTz4wJiYoRD1NYXRoLm1pbihELG4ucG9saWN5Lk8pKTtyZXR1cm4gRH07CmRWPWZ1bmN0aW9uKG4sVyxEKXtlRGIobixELnFkfHwidW5rbm93biIpO24uTC5zZWVrVG8oVyxEKX07CmcuZEM9ZnVuY3Rpb24obixXLEQsYix2KXtuLkwuZ2V0VmlkZW9EYXRhKCkuREYoKT92JiZuLnhXLlRDK3YvMUUzPkQmJihuLlUoInNkYWkiLHtzZWc6YixyYnQ6RC50b0ZpeGVkKDMpLGVuZDpuLnhXLlRDLnRvRml4ZWQoMyksc2Q6di50b0ZpeGVkKDMpfSksbi5YJCghMSwicm9sbGJhY2siKSk6bi5wb2xpY3kuVTEmJm4uWCQoITEsInJvbGxiYWNrIik7aWYobi5LdS5pc01hbmlmZXN0bGVzcyl7dj1VNChuLmF1ZGlvVHJhY2ssYixELFcpO3ZhciBrPVU0KG4udmlkZW9UcmFjayxiLEQsVyk7bi5wb2xpY3kuczV8fChrJiZUeChuLkt1LGIsITApLHYmJlR4KG4uS3UsYiwhMSkpO2smJm4udmlkZW9UcmFjay5rSSgpO3YmJm4uYXVkaW9UcmFjay5rSSgpO24uVSgic2RhaSIse3JvbGxiazJfc2VnOmIscmJ0OkQudG9GaXhlZCgzKSxsdDpXLnRvRml4ZWQoMyksYTp2LHY6a30pOyh2fHxrKSYmbi5wb2xpY3kuVTEmJmcuQWcobil9fTsKWUM9ZnVuY3Rpb24obixXKXtuLmhhbmRsZUVycm9yKCJmbXQudW5wYXJzZWFibGUiLFcsMSl9OwpnLkFnPWZ1bmN0aW9uKG4pe2cuSmEobi5uTil9OwpTek09ZnVuY3Rpb24obil7dmFyIFc9bi5qbCgpLmZpbHRlcihEPT5ELm5hbWVzcGFjZT09PSJhZCIpOwpmb3IobGV0IEQgb2YgVylpZihELnN0YXJ0LzFFMz5uLmdldEN1cnJlbnRUaW1lKCkpcmV0dXJuIEQuc3RhcnQvMUUzO3JldHVybiBJbmZpbml0eX07CmM2PWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLnFHPVd9OwpIJGg9ZnVuY3Rpb24obixXKXtpZih4TihXLkF3W1cuQXcubGVuZ3RoLTFdKSl7YTp7dmFyIEQ9bi5jVjtXPVcuQXdbMF0uUEo7aWYoVy5pbmZvLnZpZGVvKXtpZihELlchPT1XKXtELlc9VztEPVMkaChEKTticmVhayBhfX1lbHNlIEQuSEo9RC5WIT09VyxELlY9VztEPW51bGx9Z09DKG4sRCl9fTsKUW89ZnVuY3Rpb24obil7bi5wb2xpY3kuSEQmJm4ucG9saWN5LmU0JiZNYXRoLm1pbihnVEMobi52aWRlb1RyYWNrKSxnVEMobi5hdWRpb1RyYWNrKSkqMUUzPm4ucG9saWN5Lm0kP2cuSmEobi5aSyk6bi5oVCgpfTsKQjY9ZnVuY3Rpb24obixXLEQsYj0hMSl7YiYmIVcuVEMmJihWVCgpfHwoYj1XLlFFKSYmIWIudFooRC5pbmZvKSYmbi5MLkJvKCksVy5UQz0hMCk7Vy5QSiE9PUQmJihXLlBKPUQpfTsKd3U9ZnVuY3Rpb24obil7cmV0dXJuIG4uSXc8bi5peH07ClIkPWZ1bmN0aW9uKG4pe24uemkoKTtuLlhhLmlzU2Vla2luZygpO24uUXUmJkRMYihuLlF1LG4udmlkZW9UcmFjay5QSik7Zy5BZyhuKTtyZXR1cm4gRWIobi5YYSl9Owpkaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFZpZGVvRGF0YSgpLnpXKCl8fG4ucG9saWN5Lm1EfTsKelMyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKE9iKG4sVykrbi5wb2xpY3kualIpKlcuTnN9OwpFUlM9ZnVuY3Rpb24obil7aWYobi5MLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXJldHVybiExO3ZhciBXPW4uTC5oNSgpO2lmKCFXKXJldHVybiExO1c9Vy5nZXREdXJhdGlvbigpO2lmKG4ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KKXt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj1uLm1lZGlhU291cmNlLk4uWkYoKTtuPW4ubWVkaWFTb3VyY2UuSi5aRigpO2I9Yj9GWihiLEQpOkQ7RD1uP0ZaKG4sRCk6RDtEPU1hdGgubWluKGIsRCk7Vz1pc05hTihEKT8hMTpEPj1XLS4wMX1lbHNlIFc9ITE7cmV0dXJuIFd9OwpYemg9ZnVuY3Rpb24obixXLEQpe2lmKCEobi52aWRlb1RyYWNrLlBKLk4oKSYmbi5hdWRpb1RyYWNrLlBKLk4oKSYmbi5tZWRpYVNvdXJjZSYmbi5tZWRpYVNvdXJjZS5KJiZuLm1lZGlhU291cmNlLk4pKXJldHVybiExO2lmKEQmJm4uS3UuaXNNYW5pZmVzdGxlc3MmJihuLnZpZGVvVHJhY2suWD09PS0xfHxuLmF1ZGlvVHJhY2suWD09PS0xKSlyZXR1cm4hMDt2YXIgYj1LdihuLnZpZGVvVHJhY2ssVyxEKTtpZihpc05hTihiKSlyZXR1cm4hMTtuPUt2KG4uYXVkaW9UcmFjayxuLnBvbGljeS5FNT9XOmIsRCk7cmV0dXJuIGlzTmFOKG4pPyExOiEwfTsKcUoyPWZ1bmN0aW9uKG4pe24uUWo/Llh0Py5pdGFnRGVueWxpc3QmJm4uV0Yobi5Raj8uWHQuaXRhZ0RlbnlsaXN0KTtuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5JiZsUyhuLnBvbGljeSxuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5LDMsbi5Raj8uY0EoKSk7aWYobi5wb2xpY3kuY0wpe3ZhciBXPW4uRTEoKTsoVz1XP24uUWo/LkR3LmdldChXKTp2b2lkIDApJiZuLnhXLnN5KFcsLTEpfW4uS3UuT3x8bi5wb2xpY3kuV2l8fChXPW4uUWo/LlFXLFc/LndmJiZXPy52NyYmbi5LdS56VyYmQzYobi5LdSxXLndmLFcudjcpKTtpZihuLlFqPy5NUyl7Vz1uLlFqLk1TLmdldChuLkUxKCl8fCIiKTtpZighVylyZXR1cm47aWYobi5LdSYmVy5mb3JtYXRJZCl7bGV0IEQ9bi5LdS5KLmdldChNayhXLmZvcm1hdElkKSk7RCYmKEQuaW5mby5kZWJ1Z0luZm89Vy5kZWJ1Z0luZm8pfX1uLnBvbGljeS5EJiYobi5Raj8uckIoKS5mb3JFYWNoKEQ9PntuLmk4KEQpfSksbi5Raj8uRm8oKSl9Owp0OWg9ZnVuY3Rpb24obil7aWYoIW4uS3UuelcpcmV0dXJuITA7dmFyIFc9bi5MLmdldFZpZGVvRGF0YSgpO2lmKG4uTC5PUCgpKXJldHVybiBuLlUoIm9tYnBhIix7fSksITE7aWYoISFuLlFqPy5RVz8uWjMhPT1uLkt1LlhnKXJldHVybiBuLlUoIm9tYnBsbW0iLHt9KSwhMTt2YXIgRD1XLlRDfHxXLmxpdmVVdGNTdGFydFNlY29uZHN8fFcuVXI7aWYobi5LdS5YZyYmRClyZXR1cm4gbi5VKCJvbWJwbHN0Iix7fSksITE7aWYobi5LdS5PfHxuLnBvbGljeS5XaSlyZXR1cm4gbi5VKCJvbWJhYiIse30pLCExO0Q9RGF0ZS5ub3coKTtpZighVy5saXZlUHJlbG9hZCYmRnYobi5LdSkmJiFpc05hTihuLkNIKSYmRC1uLkNIPm4ucG9saWN5LkZVKjFFMylyZXR1cm4gbi5VKCJvbWJ0dGwiLHt9KSwhMTtpZih4cChXKSE9PTAmJiFuLnBvbGljeS5OfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9tb3NhaWMiKSYmVy5aaCgpfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9saWZhX2VsaWdpYmxlIikmJgpweihXKSlyZXR1cm4hMTtpZihuLkwuRygpLlp0KCkuTi5RUShHb00pJiYoVz1uLlFqPy5waygpPz8wLFc+PTAmJm4uS3UuaXNXaW5kb3dlZExpdmUmJihXPG4uS3UuSlUqMUUzfHxXPm4uS3Uub1IqMUUzKSkpcmV0dXJuIG4uVSgib21id25kIix7c3Q6VyxtaW46bi5LdS5KVSoxRTMsbWF4Om4uS3Uub1IqMUUzfSksITE7aWYobi5LdS5JdCYmbi5LdS5pc1dpbmRvd2VkTGl2ZSlpZihuLkwuRygpLlMoImh0bWw1X3VzZV9vbmVzaWVfd2luZG93ZWRfbGl2ZV9tZWRpYSIpKW4uVSgib21hbWluc3EiLHt9KTtlbHNlIHJldHVybiBuLlUoIm9tYm1pbnNxIix7fSksITE7cmV0dXJuITB9OwprYz1mdW5jdGlvbihuLFcpe3ZhciBEPWN3KFcuUEosbi5LdS56VyksYj1uLmhtPy5mMyhEKXx8W107aWYoYi5sZW5ndGg9PT0wKXJldHVybiBuLlUoIm9tYm1zaSIse30pLCExO2I9bmV3IHdrKGIpO2lmKCghbi5wb2xpY3kudHd8fGlzRmluaXRlKG4uZ2V0Q3VycmVudFRpbWUoKSl8fG4uTC5lSigpKSYmIWIua2Yobi5nZXRDdXJyZW50VGltZSgpKSYmIW4uTC5nZXRWaWRlb0RhdGEoKS5saXZlUHJlbG9hZClyZXR1cm4gbi5VKCJvc3RtZiIse2N0Om4uZ2V0Q3VycmVudFRpbWUoKSxhOlcuUEouaW5mby5lUygpfSksITE7bi5obT8uRVMoRCk7cmV0dXJuITB9OwokQmk9ZnVuY3Rpb24obixXKXt2YXIgRD1XLlBKLGI9bi5LdS56VztpZih0OWgobikpaWYobi5obSYmbi5obS5nRihjdyhELGIpKSl7aWYoYj1jdyhELGIpLGtjKG4sVykpe3ZhciB2PW5ldyB3ayhuLmhtLmYzKGIpKSxrPWg9Pnt0cnl7aC50bigpPyhuLmhhbmRsZUVycm9yKGguVkcoKSxoLnkwKCkpLEU0KFcsaCkseXMoaC5pbmZvKSYmQ3Iobi5OeSxXLEQsITApLG4uaFQoKSk6RjAobi5OeSxoKSYmKG4uSkM/LlMkKGguaW5mbyxuLnNVKSxuLmhUKCkpfWNhdGNoKHgpe2g9QiQoeCksbi5oYW5kbGVFcnJvcihoLmVycm9yQ29kZSxoLmRldGFpbHMsaC5zZXZlcml0eSksbi56aSgpfX07CkQuY0o9ITA7VXYodikmJihPNChXLG5ldyBTbihuLnBvbGljeSxiLHYsbi5obSxrKSksaXUobi50aW1pbmcpKX19ZWxzZSBuLlUoIm9tYmZtdCIse30pfTsKcjdoPWZ1bmN0aW9uKG4pe24ucG9saWN5LlgmJm4uUWomJihuLlFqLkd3LmZvckVhY2goVz0+e24uSm0oVywtMSl9KSxuLlFqLkd3PVtdKX07CmgyPWZ1bmN0aW9uKG4sVyl7Vz1XfHxuLnZpZGVvVHJhY2smJm4udmlkZW9UcmFjay5OJiZuLnZpZGVvVHJhY2suTi5zZWdtZW50U3RhcnRUaW1lfHxuLmdldEN1cnJlbnRUaW1lKCk7dmFyIEQ9QjYsYj1uLnZpZGVvVHJhY2ssdj1uLmNWO1c9di5uZXh0VmlkZW8mJnYubmV4dFZpZGVvLmluZGV4LlIzKFcpfHwwO3YuY0ohPT1XJiYodi5iZD17fSx2LmNKPVcsUnEodix2Lk4pKTtXPSF2Lk4uaXNMb2NrZWQoKSYmdi5ZPi0xJiYoMCxnLlIpKCktdi5ZPHYucG9saWN5LkFrKjFFMzt2YXIgaz12Lm5leHRWaWRlbyYmTXEodix2Lm5leHRWaWRlby5pbmZvKSozPE5XKHYuSWcpO2lmKCFXfHxrKVZCKHYpLGNwKHYpLHYuTz12Lk98fHYubmV4dFZpZGVvIT09di5XO3YubmV4dFZpZGVvJiYhdi5uZXh0VmlkZW8uaW5kZXguaXNMb2FkZWQoKSYmKHYuY0o9LTEpO0QobixiLHYubmV4dFZpZGVvKTtCNihuLG4uYXVkaW9UcmFjayxuLmNWLkopfTsKZURiPWZ1bmN0aW9uKG4sVyl7aWYoIWlzTmFOKG4uajApKXtsZXQgRD1EYXRlLm5vdygpLW4uajA7RDwxRTQmJm4uVSgiYmZhc3d0Y2giLHtlcDpELHNrOlchPT12b2lkIDA/IjEiOiIwIixzcjpXfHwiIn0pfX07ClhiPWZ1bmN0aW9uKG4pe2E6e2lmKG4uSGcoKSYmbWQobi52aWRlb1RyYWNrKSYmbWQobi5hdWRpb1RyYWNrKSYmbi5MLkhvKCkmJiFuLkwuVjAoKSYmIW4ubWVkaWFTb3VyY2U/Lk4/LmlRKCkmJiFuLm1lZGlhU291cmNlPy5KPy5pUSgpJiYhbi5BYil7dmFyIFc9bi5MLlhTPy5YKCk7aWYoIVcpYnJlYWsgYTtuLmF1ZGlvVHJhY2suSlgoKTtuLnZpZGVvVHJhY2suSlgoKTtuLkFiPVd9aWYoVz1uLkhnKCkmJm4uTC5IbygpJiYhbi5MLlYwKCkpaWYobi5BYiYmbi5BYi5KJiZuLkFiLk4mJm4udmlkZW9UcmFjay5EZygpJiZuLmF1ZGlvVHJhY2suRGcoKSl7dmFyIEQ9bi52aWRlb1RyYWNrLlcuYjcoKTtXPW4uYXVkaW9UcmFjay5XLmI3KCk7dmFyIGI9bi5BYj8uSi5aRigpLHY9bi5BYj8uTi5aRigpO0QmJlc/KEQ9QlIoYixrTihELmluZm8pLS4xKSxXPUJSKHYsa04oVy5pbmZvKS0uMSksVz1EJiZXKTpXPSExfWVsc2UgVz0hMTtXJiZuLkwuWFM/LlcoKX1pZihuLm1lZGlhU291cmNlKWlmKFc9Cm4uQWJ8fG4ubWVkaWFTb3VyY2Usdj1XLk4sRD1XLkosczdyKG4sbi5hdWRpb1RyYWNrKSxzN3IobixuLnZpZGVvVHJhY2spLGI9TjNDKG4pKXtpZihuLnBvbGljeS5lNCl7aWYoIXYuRDkoKSYmKFc9aVkobi5hdWRpb1RyYWNrKSkpe2lmKCF4YyhuLG4uYXVkaW9UcmFjayx2LFcuaW5mbykpcmV0dXJuO0xDKG4sbi5hdWRpb1RyYWNrLHYsVyl9aWYoIUQuRDkoKSYmKFc9aVkobi52aWRlb1RyYWNrKSkpe2lmKCF4YyhuLG4udmlkZW9UcmFjayxELFcuaW5mbykpcmV0dXJuO0xDKG4sbi52aWRlb1RyYWNrLEQsVyl9fW4ubXh8fChuLm14PSgwLGcuUikoKSxuLnBvbGljeS5XJiZuLlUoImFwZHBzIix7cjpifSkpfWVsc2V7aWYobi5teCl7Yj1uLm14O3ZhciBrPSgwLGcuUikoKS1iO2xldCBoPW4uYXVkaW9UcmFjay56cyghMCkqMUUzLHg9bi52aWRlb1RyYWNrLnpzKCEwKSoxRTM7bi5wb2xpY3kuVyYmKG4uVSgiYXBkcGUiLHtkdXI6ay50b0ZpeGVkKCksYWJ1ZjpoLnRvRml4ZWQoKSx2YnVmOngudG9GaXhlZCgpfSksCmR1KG4ucG9saWN5KSYmKGs9Tlcobi5JZyksbi5VKCJzZHBzIix7Y3Q6YixhaDpoLnRvRml4ZWQoKSx2aDp4LnRvRml4ZWQoKSxtcjpwdihuLklnLG4uT24sayksYnc6ay50b0ZpeGVkKCksanM6bi5pc1NlZWtpbmcoKSxyZTorbi5Pbixwczoobi5wb2xpY3kuTTV8fCIiKS50b1N0cmluZygpLHJuOihuLnBvbGljeS5EQ3x8IiIpLnRvU3RyaW5nKCl9KSkpO24ubXg9MH1uLlF1JiYoYj1uLlF1LmhUKG4uYXVkaW9UcmFjayxnLnd5KG4ubWVkaWFTb3VyY2UuSi5aRigpKSkpJiZuLkwuc2Vla1RvKGIse0E5OiEwLHFkOiJwb2xsU3Vic2VnbWVudFJlYWRhaGVhZCIscWE6ITB9KTtiPSExO3B6aChuLG4udmlkZW9UcmFjayxEKSYmKGI9ITAsRD1uLnRpbWluZyxELld8fChELlc9KDAsZy5SKSgpLGcuRUcoInZkYSIsRC5XLEQuelIpLEQuSiYmKGcuRHkoKSxiUSg0KSkpLEQ9bi50aW1pbmcsRC5WUXx8KEQuVlE9KDAsZy5SKSgpLGcuRUcoInZyYl9mIixELlZRLEQuelIpKSk7VyYmIVcuUEEoKSYmCihwemgobixuLmF1ZGlvVHJhY2ssdikmJihiPSEwLHY9bi50aW1pbmcsdi5KfHwodi5KPSgwLGcuUikoKSxnLkVHKCJhZGEiLHYuSix2LnpSKSx2LlcmJihnLkR5KCksYlEoNCkpKSx2PW4udGltaW5nLHYuWXx8KHYuWT0oMCxnLlIpKCksZy5FRygiYXJiX2YiLHYuWSx2LnpSKSkpLCFuLnFOKCkmJm4ubWVkaWFTb3VyY2UmJighbi5wb2xpY3kuVjYmJm1kKG4udmlkZW9UcmFjaykmJm1kKG4uYXVkaW9UcmFjaykmJm42KFcpJiYhVy55dSgpJiYodj1JJChuLmF1ZGlvVHJhY2spLlBKLHY9PT1uLkt1Lk5bdi5pbmZvLmlkXSYmKG4uTC5HKCkuV1goKSYmbi5MLlUoInNlcyIse2VvczoxfSksbjYoVykmJihXLm1lZGlhU291cmNlP1cubWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTpXLkVWLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKFcuRVYuRU9TX05PX0VSUk9SKSksdj1uLnNjaGVkdWxlLHNuKGUwKHYpKSx2LmNKPSgwLGcuUikoKSx2Lk89ITAsdj0odj1uLnZpZGVvVHJhY2suUEopJiZ2LmluZGV4IGluc3RhbmNlb2YKZ1M/di5pbmRleC5LOnZvaWQgMCxuLkwuRygpLlp0KCkuTi5RUShZSmIpP3Y9PT0iZW1zZyImJm4ucG0oImUiKTpuLnBtKCJlIikpKSxiJiYoVy5OPyFXLk4uc3VwcG9ydHMoMCk6IWFkKCkpJiZnLkFnKG4pKSl9fTsKSFBiPWZ1bmN0aW9uKG4pe24ucG9saWN5LlY2PSExO3RyeXtYYihuKX1jYXRjaChXKXtnLlhqKFcpfX07CmZteD1mdW5jdGlvbihuLFc9ITEpe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KJiYobi5tZWRpYVNvdXJjZS5OLk05KG4uTEwsbiksbi5tZWRpYVNvdXJjZS5KLk05KG4uTEwsbikpO0tyKG4uYXVkaW9UcmFjayxudWxsLFcpO0tyKG4udmlkZW9UcmFjayxudWxsLFcpO24ubWVkaWFTb3VyY2UmJihuLm1lZGlhU291cmNlLlY9ITEpO24ubWVkaWFTb3VyY2U9bnVsbDtuLkFiPW51bGw7bi5MLlhTPy5yZXNldCgpfTsKSjdpPWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdj0hMSl7S3Iobi52aWRlb1RyYWNrLFcuSnx8bnVsbCxiLHYpO0tyKG4uYXVkaW9UcmFjayxXLk58fG51bGwsYix2KTtuLm1lZGlhU291cmNlPVc7bi5tZWRpYVNvdXJjZS5WPSEwO0R8fG4ucmVzdW1lKCk7Vy5OLmgkKG4uTEwsbik7Vy5KLmgkKG4uTEwsbil9OwpJbWk9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSx2PSExKXtuLnBvbGljeS5UQyYmKG4ucG9saWN5LlZRJiZuLlUoImxvYWRlciIse3NldHNtYjowfSksbi56aSgpLG4ucG9saWN5LlRDPSExKTtmbXgobixiKTtpZighVy5YKCkpe3ZhciBrPWlZKG4udmlkZW9UcmFjayk7az1rP2suaW5mby5QSjpuLnZpZGVvVHJhY2suUEo7bGV0IGg9aVkobi5hdWRpb1RyYWNrKTtMS1UoVyxrLmluZm8sKGg/aC5pbmZvLlBKOm4uYXVkaW9UcmFjay5QSikuaW5mbyxuLnBvbGljeS5wUil9SjdpKG4sVyxELGIsdik7dHJ5e24uaFQoKX1jYXRjaChoKXtnLlhqKGgpfX07CnFtPWZ1bmN0aW9uKG4pe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuUEEoKSYmbi5LMSgpfTsKZ09DPWZ1bmN0aW9uKG4sVyl7VyYmR1gobi5MLG5ldyB0MihXLnZpZGVvLFcucmVhc29uKSk7bi5jVi5ISiYmKFc9WmV3KG4uY1YsImEiKSxuLkwuZ20obmV3IHQyKFcuYXVkaW8sVy5yZWFzb24pKSl9OwpBN3g9ZnVuY3Rpb24obil7bi5CdiYmIW4uaXNTdXNwZW5kZWQmJlRaKG4uc2NoZWR1bGUpJiYoU0paKG4sbi5Cdiksbi5Cdj0iIil9OwpzN3I9ZnVuY3Rpb24obixXKXtpWShXKT8uaXNMb2NrZWQmJm1CYihXKSYmKG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bXVubG9jazppWShXKT8uaW5mby5nYSgpfSksJGMobixXPT09bi5hdWRpb1RyYWNrKSl9OwpOM0M9ZnVuY3Rpb24obil7aWYodGRqKG4udmlkZW9UcmFjaykpcmV0dXJuInNzZiI7aWYobi5wb2xpY3kubnUmJmlZKG4udmlkZW9UcmFjayk/LmlzTG9ja2VkJiZpWShuLmF1ZGlvVHJhY2spPy5pc0xvY2tlZClyZXR1cm4idXBkYXRlRW5kIjtpZihpUyhuLmF1ZGlvVHJhY2spfHxpUyhuLnZpZGVvVHJhY2spJiZuLnZpZGVvVHJhY2suUEouaW5mby5JQiE9PSJmIilyZXR1cm4iIjtpZihuLlhhLmlzU2Vla2luZygpKXt2YXIgVz1uLklnO3ZhciBEPW4udmlkZW9UcmFjazt2YXIgYj1uLmF1ZGlvVHJhY2s7aWYoVy5wb2xpY3kuTil7dmFyIHY9Vy5wb2xpY3kuV2M7ZHUoVy5wb2xpY3kpJiYodj1wdihXLCExLE5XKFcpKSk7Vz12O0Q9Yi56cyghMCk+PVcmJkQuenMoITApPj1XfWVsc2UgRC5KLmxlbmd0aHx8Yi5KLmxlbmd0aD8odj1ELlBKLmluZm8uTnMrYi5QSi5pbmZvLk5zLHY9MTAqKDEtTlcoVykvdiksVz1NYXRoLm1heCh2LFcucG9saWN5LldjKSxEPWIuenMoITApPj1XJiZELnpzKCEwKT49ClcpOkQ9ITA7aWYoIUQpcmV0dXJuImFiciI7RD1uLnZpZGVvVHJhY2s7aWYoRC5KLmxlbmd0aD4wJiZELlcua2koKT09PTEmJkQuVy5XMigpLmluZm8uSzxELlZRKXJldHVybiJzZWVrIn1pZihuLnBvbGljeS5VMSYmJFgxKG4udmlkZW9UcmFjayxuLkpDKSYmJFgxKG4uYXVkaW9UcmFjayxuLkpDKSlyZXR1cm4ic3NkYWkiO0Q9IW4ucG9saWN5LnRNfHxuLmdldEN1cnJlbnRUaW1lKCk8MTA7bi5wb2xpY3kuTnx8KEQ9RHx8bi52aWRlb1RyYWNrLlBKLmluZm8udmlkZW8ucXVhbGl0eU9yZGluYWw+MzYwKTtpZighbi5Pbnx8RClyZXR1cm4iIjtEPW4ucG9saWN5LnRNO2R1KG4ucG9saWN5KSYmKEQ9cHYobi5JZyxuLk9uLE5XKG4uSWcpKSk7RD1YMHQobi52aWRlb1RyYWNrLG4uZ2V0Q3VycmVudFRpbWUoKSxEKXx8WDB0KG4uYXVkaW9UcmFjayxuLmdldEN1cnJlbnRUaW1lKCksRCk7cmV0dXJuIGR1KG4ucG9saWN5KT9EPyJtYm5tIjoiIjoobi52aWRlb1RyYWNrLkoubGVuZ3RoPjB8fApuLmF1ZGlvVHJhY2suSi5sZW5ndGg+MHx8anEobi5OeSxuLnZpZGVvVHJhY2ssbi5hdWRpb1RyYWNrKXx8anEobi5OeSxuLmF1ZGlvVHJhY2ssbi52aWRlb1RyYWNrKSkmJkQ/Im5vcmQiOiIifTsKeGM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9SSQoVyk7IXZ8fHYuYVp8fGJUKHYsYil8fChELmFib3J0KCksbi5wb2xpY3kuZkMmJlcuVj8uWSgpLFcuSz8uVigpKTtpZighRC5LcygpfHxWVCgpKXRyeXtuLnBvbGljeS5Kaz9ELm5hKGIuUEouaW5mby5jb250YWluZXJUeXBlLGIuUEouaW5mby5JQikmJkQuVm8oYi5QSi5pbmZvLmNvbnRhaW5lclR5cGUsYi5QSi5pbmZvLklCLGIuUEouaW5mby5taW1lVHlwZSk6RC5qbihiLlBKLmluZm8uY29udGFpbmVyVHlwZSxiLlBKLmluZm8ubWltZVR5cGUpfWNhdGNoKGspe3JldHVybiBnLkdxKGspLG4uVSgiY3RleHAiLHtuYW1lOmsubmFtZSxtc2c6ay5tZXNzYWdlfSksITF9ZWxzZSBiLlBKLmluZm8uY29udGFpbmVyVHlwZSE9PUQuS3MoKSYmbi5VKCJjdHUiLHtjdDpWVCgpLHByZXZfYzpELktzKCksY3Vycl9jOmIuUEouaW5mby5jb250YWluZXJUeXBlfSk7Yj1iLlBKLlY7bi5wb2xpY3kuRFQmJmImJihXPTArYi5kdXJhdGlvbixiPS1iLk4sCjA9PT1ELk1yKCkmJlc9PT1ELktGKCl8fEQuZTcoMCxXKSxiIT09RC5TVygpJiYoRC55TyhiKSxzNCYmbi5hdWRpb1RyYWNrLlcuQlcoRC5pdygpKSkpO3JldHVybiEwfTsKTEM9ZnVuY3Rpb24obixXLEQsYil7Yi5pbmZvLlBKLk4oKTt2YXIgdj1iLmluZm8uUEouSjtpZighdnx8IUQuam8oKXx8RC5EOSgpPT09dilyZXR1cm4hMTt2YXIgaz12LGg9RC5MRigpO2lmKG4ucG9saWN5LktvJiZoJiZELmlzVmlldygpJiZnLlJCKGIuaW5mby5QSi5pbmZvKSl7bGV0IEw9bmV3IERhdGFWaWV3KHYuYnVmZmVyLHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgpOyhoPVBJQyhMLGgpKT9rPW5ldyBVaW50OEFycmF5KGguYnVmZmVyLGguYnl0ZU9mZnNldCxoLmJ5dGVMZW5ndGgpOm4uVSgiZmVuYyIse30pfW4ucG9saWN5LmtwJiYoaD1LVGkobixiLG5ldyBTNShba10pKSkmJihrPXRSKGgpKTt2YXIgeDsoaD1iLmluZm8uUEouWSgwLGIuaW5mby5jbGlwSWQpKSYmKHg9aC5Bd1swXSk7aWYoYj09PW4uaDcpe2lmKG4uQzErPTEsbi5MLmdldFZpZGVvRGF0YSgpLlMoImh0bWw1X3Nob3J0c19nYXBsZXNzX3Jlc3RhcnRfb25faW5pdF9zZWdfcmV0cmllcyIpJiZuLkMxPjUpcmV0dXJuIG4uQzE9CjAsbi5MLkdtKHtpbml0U2VnU3R1Y2s6MSxhczpiLmluZm8uZ2EoKX0pLCEwfWVsc2Ugbi5DMT0wLG4uaDc9YjtuLnBvbGljeS54aiYmKEQuYWJvcnQoKSxXLks/LlYoKSk7bi5BYiYmRC5pUSgpJiYoRC5hYm9ydCgpLFcuSz8uVigpKTt2PU9QMihuLEQsayx4LHYpO1cuSz8uRCh2LHgpO2lmKHYhPT0wKXJldHVybiBuLnBvbGljeS5aTiYmQUoobi5MLmdldFZpZGVvRGF0YSgpKT8obi5MLm9BKCl8fHJTKG4sInNlcEluaXQiLHYsYi5pbmZvKSxQOVUobi5MLCJzaWUiKSk6clMobiwic2VwSW5pdCIsdixiLmluZm8pLCEwO2IuaW5mby5mWSgpPyhXPW4udGltaW5nLFcuVEN8fChXLlRDPSgwLGcuUikoKSxnLkVHKCJ2aXNfYSIsVy5UQyxXLnpSKSkpOihXPW4udGltaW5nLFcuVnx8KFcuVj0oMCxnLlIpKCksZy5FRygiYWlzX2EiLFcuVixXLnpSKSkpOyhiPWIuaW5mby5QSi5TVSkmJm4uTC5XbihuZXcgcnUoYi5rZXksYi50eXBlKSk7cmV0dXJuIEQueXUoKX07CnB6aD1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kubnUmJmlZKFcpPy5pc0xvY2tlZClyZXR1cm4hMTtpZihELkRjKCkpcmV0dXJuITA7aWYoIUQuam8oKSlyZXR1cm4hMTt2YXIgYj1pWShXKTtpZighYnx8Yi5pbmZvLnR5cGU9PT02KXJldHVybiExO2lmKG4ucG9saWN5LmllfHxuLkpDPy5PKFcsYi5pbmZvLmokKSluLkxvPTA7ZWxzZSByZXR1cm4gbi5YYS5pc1NlZWtpbmcoKSYmZy5BZyhuKSxuLkxvPW4uTG98fCgwLGcuUikoKSwhMTtpZigheGMobixXLEQsYi5pbmZvKSlyZXR1cm4hMTtpZihuLkt1LlcmJmIuaW5mby5OPT09MCl7dmFyIHY7aWYoRC5EOSgpPT1udWxsKXt2YXIgaz1JJChXKTtpZighKHY9IWt8fGsuUEohPT1iLmluZm8uUEopKXtiOmlmKHY9ay5PLGs9Yi5pbmZvLk8sdi5sZW5ndGghPT1rLmxlbmd0aCl2PSExO2Vsc2V7Zm9yKGxldCBoPTA7aDx2Lmxlbmd0aDtoKyspaWYoIXY0KHZbaF0sa1toXSkpe3Y9ITE7YnJlYWsgYn12PSEwfXY9IXZ9fWVsc2Ugdj1ELkQ5KCksCmIuaW5mby5QSi5TJCgpJiZETyhiKSxrPWIuaW5mby5QSi5KLHY9diE9PWsmJiF2NCh2LGspO3YmJihrPUkkKFcpLG4uVSgiaW5pdGNoZyIse2l0OmIuaW5mby5QSi5pbmZvLmlkLHNyOiEhayYmay5QSj09PWIuaW5mby5QSix0eTpiLmluZm8udHlwZSxzZWc6Yi5pbmZvLmokfSkpO2s9Zy5SQihiLmluZm8uUEouaW5mbyk7bi5wb2xpY3kubWgmJmsmJiF2JiYoZy5SQihiLmluZm8uUEouaW5mbyk/KEdqKGcuV1IoYiksMTgzNjAxOTU3NCksR2ooZy5XUihiKSwxNzE4OTA5Mjk2KSk6KHY9bmV3IHRZKGcuV1IoYikpLE9ZKHYpLHNZKHYsNTI0NTMxMzE3LCEwKSxiLko9Yi5KLnNwbGl0KHYuc3RhcnQrdi5wb3MpLlk5KSxiLlY9ITEpfWs9bi5RdSYmISFuLlF1LlgmJlcuUEouaW5mby5hdWRpbzt2PW4uS3UuaXNNYW5pZmVzdGxlc3N8fGIuVjtpZighKG4uS3UuVyYmYi5pbmZvLk4hPT0wfHx2JiYhaykmJkxDKG4sVyxELGIpKXJldHVybiEwO2lmKGspcmV0dXJuITE7az1PYihuLFcpO2s9bi5nZXRDdXJyZW50VGltZSgpKwprO2lmKGIuaW5mby5YPmspcmV0dXJuIG4ucG9saWN5Lk4mJihXPT09bi52aWRlb1RyYWNrP24uYzc9bi5jN3x8KDAsZy5SKSgpOm4uTno9bi5Oenx8KDAsZy5SKSgpKSwhMTtXPT09bi52aWRlb1RyYWNrP24uYzc9MDpuLk56PTA7bi5wb2xpY3kuVTUmJkQ9PT1uLm1lZGlhU291cmNlPy5OJiZuLk9MJiYoRC5mRigpPT09MD8obi5PTD0hMSxuLnBvbGljeS5VNT0hMSk6bi5HSj1ELmZGKCkpO2lmKCFaUGoobixELGIsVykpcmV0dXJuITE7bi5wb2xpY3kubnUmJmIuaW5mby5WKCk/KG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bHM6Yi5pbmZvLmdhKCl9KSxiLmlzTG9ja2VkPSEwKTooVy5aJChiKSxQQzIobi5jVixiLmluZm8pKTt2JiYoVz1iLmluZm8uUEouU1UpJiZuLkwuV24obmV3IHJ1KFcua2V5LFcudHlwZSkpO3JldHVybiEwfTsKWlBqPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uTC5HKCkuWnQoKS5OLlFRKFVCYikmJkQuaW5mby5OJiYhVy5pUSgpKXJldHVybiBuLlUoImRyb3BfY2h1bmsiLHtzcTpELmluZm8uaiQsc3Q6RC5pbmZvLlh9KSwhMDt2YXIgdj1uLnBvbGljeS5SYT8oMCxnLlIpKCk6MCxrPUQuViYmRC5pbmZvLlBKLkp8fHZvaWQgMCxoPUQuSjtELlYmJihoPUtUaShuLEQsaCl8fGgpO3ZhciB4PXRSKGgpO2g9bi5wb2xpY3kuUmE/KDAsZy5SKSgpOjA7Vz1PUDIobixXLHgsRC5pbmZvLGspO2IuSz8uWShELmluZm8sVyxoLXYsKDAsZy5SKSgpLWgpO24uQzE9MDtpZihXPT09MClyZXR1cm4gbi5aRCYmKG4uWkQ9ITEsbi5xTz0hMSksbi5hQT0wLCEwO2lmKFc9PT0yfHxXPT09NSlyZXR1cm4gclMobiwiY2hlY2tlZCIsVyxELmluZm8pLCExO2lmKFc9PT0xKXtpZighbi5aRClyZXR1cm4gbi5aRD0hMCwhMTtpZighbi5xTylyZXR1cm4gbi5xTz0hMCxuLkwuc2Vla1RvKG4uZ2V0Q3VycmVudFRpbWUoKSx7cWQ6InF1b3RhRXhjZWVkZWQiLApxYTohMH0pLCExO0QuaW5mby5mWSgpPyhiPW4ucG9saWN5LGIuZSQ9TWF0aC5mbG9vcihiLmUkKi44KSxiLk89TWF0aC5mbG9vcihiLk8qLjgpKTooYj1uLnBvbGljeSxiLnZKPU1hdGguZmxvb3IoYi52SiouOCksYi5PPU1hdGguZmxvb3IoYi5PKi44KSk7bi5wb2xpY3kuTj9XbChuLms2LEQuaW5mby5QSik6YXEobi5jVixELmluZm8uUEopfW4uTC5HbSh7cmVhdHRhY2hPbkFwcGVuZDpXfSk7cmV0dXJuITF9OwpLVGk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO2lmKGI9bi5wb2xpY3kua3AmJm4ubWVkaWFTb3VyY2UmJiFuLm1lZGlhU291cmNlLk8mJiFuLkwuUHAoKSlXPVcuaW5mby5QSi5pbmZvLGI9Vy5xSCgpJiZXLlgoKSYmVy52aWRlbyYmVy52aWRlby53aWR0aDwzODQwJiZXLnZpZGVvLndpZHRoPlcudmlkZW8uaGVpZ2h0O2lmKGImJihuLm1lZGlhU291cmNlLk89ITAsZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MC4wOC4wMS4wMS4wMS4wMS4wMCI7IHdpZHRoPTM4NDA7IGhlaWdodD0yMTYwJykpKXJldHVybiBEPUROMShEKSxuLnBvbGljeS5XJiZuLlUoInNwNGsiLHtzOiEhRH0pLER9OwpPUDI9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkFifHxuLm1lZGlhU291cmNlO3RyeXtsZXQgaD1XPT09ay5OP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7aWYobi5wb2xpY3kubnUmJmI/LlYoKSl7aWYoYj8udHc+MSlyZXR1cm4gNjtoLmJkPW5ldyBnLmZfKCgpPT57dmFyIHg9aVkoaCk7bi5xTigpfHwheD8uaXNMb2NrZWQ/bi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHtkZWxheUE6eD8uaW5mby5nYSgpfSk6bUJiKGgpPyhuLkwuRygpLldYKCkmJm4uVSgiZW9zbCIse2R1bmxvY2s6eD8uaW5mby5nYSgpfSksJGMobixoPT09bi5hdWRpb1RyYWNrKSk6KG4uVSgibnVlIix7bHM6eC5pbmZvLmdhKCl9KSx4LmluZm8udHcrPTEsbi5tZWRpYVNvdXJjZSYmWGIobikpfSwxRTQsbik7Cm4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7ZGVsYXlTOmIuZ2EoKX0pO2guYmQuc3RhcnQoKX1uLnBvbGljeS5zMyYmYj8uUEogaW5zdGFuY2VvZiBkdCYmYi5WKCkmJm4uVSgicG9zZW9zIix7aXRhZzpiLlBKLmluZm8uaXRhZyxzZWc6Yi5qJCxsc2VnOmIuUEouaW5kZXgueCQoKSxlczpiLlBKLmluZGV4Lkt9KTtXLmFwcGVuZEJ1ZmZlcihELGIsdil9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbil7aWYoaC5uYW1lPT09IkludmFsaWRTdGF0ZUVycm9yInx8aC5jb2RlPT09MTEpcmV0dXJuIG4uTC5HKCkuV1goKSYmbi5VKCJhZWlzIix7bXNnOmcudXAoaC5tZXNzYWdlLDMpfSksMjtpZihoLm5hbWU9PT0iU3ludGF4RXJyb3IifHxoLmNvZGU9PT0xMilyZXR1cm4gNTtpZihoLm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yInx8aC5jb2RlPT09MjJ8fGgubWVzc2FnZS5pbmRleE9mKCJOb3QgZW5vdWdoIHN0b3JhZ2UiKT09PTApcmV0dXJuIFc9T2JqZWN0LmFzc2lnbih7bmFtZToiUXVvdGFFeGNlZWRlZEVycm9yIiwKYnVmZmVyZWQ6cmsoVy5aRigpKS5yZXBsYWNlKC8sL2csIl8iKSx2aGVhcDpuLnZpZGVvVHJhY2suUnUoKSxhaGVhcDpuLmF1ZGlvVHJhY2suUnUoKSxtZXNzYWdlOmcudXAoaC5tZXNzYWdlLDMpLHRyYWNrOms/Vz09PWsuSj8idiI6ImEiOiJ1In0saFF4KCkpLG4uaGFuZGxlRXJyb3IoInBsYXllci5leGNlcHRpb24iLFcpLDE7Zy5YaihoKX1yZXR1cm4gNH1yZXR1cm4gay5QQSgpPzM6MH07CnJTPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSJmbXQudW5wbGF5YWJsZSIsaz0xO0Q9PT01fHxEPT09Mz8odj0iZm10LnVucGFyc2VhYmxlIixuLnBvbGljeS5OPyFiLlBKLmluZm8udmlkZW98fHdDKG4uazYuTikuc2l6ZT4wfHxXbChuLms2LGIuUEopOiFiLlBKLmluZm8udmlkZW98fHdDKG4uY1Yuaikuc2l6ZT4wfHxhcShuLmNWLGIuUEopKTpEPT09MiYmKG4uYUE8MTU/KG4uYUErKyx2PSJodG1sNS5pbnZhbGlkc3RhdGUiLGs9MCk6dj0iZm10LnVucGxheWFibGUiKTtiPVh4KGIpO2IubXJzPW4ubWVkaWFTb3VyY2U/LlcoKTtiLm9yaWdpbj1XO2IucmVhc29uPUQ7Yi50cmc9ImFwcGVuZGVyciI7bi5oYW5kbGVFcnJvcih2LGIsayl9OwpOMj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uS3U7dmFyIGg9bi5wb2xpY3kuTix4PSExLEw9LTE7Zm9yKGxldCByIGluIGsuTil7dmFyIGU9ay5OW3JdLmluZm8uTigpfHxrLk5bcl0uaW5mby5mWSgpO2lmKGI9PT1lKWlmKGU9ay5OW3JdLmluZGV4LGUuTUkoVy5qJCkpe3t4PWU7dmFyIEc9VztsZXQgTj14LlcoRy5qJCk7TiYmTi5zdGFydFRpbWUhPT1HLnN0YXJ0VGltZT8oeC5zZWdtZW50cz1bXSx4LmooRykseD0hMCk6eD0hMX14P0w9Vy5qJDohVy5wZW5kaW5nJiZoJiYoRz1lLmdldER1cmF0aW9uKFcuaiQpLEchPT1XLmR1cmF0aW9uJiYoay5XSigiY2xpZW50dGVtcCIsIm1mbGR1clVwZGF0ZSIse2l0YWc6ay5OW3JdLmluZm8uaXRhZyxzZWc6Vy5qJCxvZDpHLG5kOlcuZHVyYXRpb259LCExKSxlLmooVykseD0hMCkpfWVsc2UgZS5qKFcpLHg9ITB9TD49MCYmay5XSigiY2xpZW50dGVtcCIsInJlc2V0TWZsSW5kZXgiLHtbYj8idiI6ImEiXTpMfSwhMSk7az14O0FhMihuLlhhLApXLGIsayk7bi5wb2xpY3kuRHx8bi5KQy5SMChXLEQsYix2KTtXLmokPT09bi5LdS5JdCYmayYmdUEobi5LdSkmJlcuc3RhcnRUaW1lPnVBKG4uS3UpJiYobi5LdS5KVT1XLnN0YXJ0VGltZSsoaXNOYU4obi50aW1lc3RhbXBPZmZzZXQpPzA6bi50aW1lc3RhbXBPZmZzZXQpLG4uWGEuaXNTZWVraW5nKCkmJm4uWGEudGFyZ2V0VGltZTxuLkt1LkxmKCkmJm4uWGEuc2VlayhuLkt1LkxmKCkse30pKX07CiRjPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kubnUmJm4ubWVkaWFTb3VyY2Upe3ZhciBEPVc/bi5tZWRpYVNvdXJjZT8uTjpuLm1lZGlhU291cmNlPy5KO2xldCBiPVc/bi5hdWRpb1RyYWNrOm4udmlkZW9UcmFjaztXPWlZKGIpO1c/LmlzTG9ja2VkJiYobi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHt1bmxvY2s6Vy5pbmZvLmdhKCl9KSxiLmJkPy5zdG9wKCksVy5pc0xvY2tlZD0hMSxiLlokKFcpLFBDMihuLmNWLFcuaW5mbyksRD1EPy5aZygpLEQ/LmdhKCkhPT1XLmluZm8uZ2EoKSYmbi5VKCJvdWUiLHtibHM6RD8uZ2EoKSx0bHM6Vy5pbmZvLmdhKCl9KSl9fTsKU0paPWZ1bmN0aW9uKG4sVyl7cVcoVywiY21zIixEPT57bi5wb2xpY3kuVyYmbi5VKCJwYXRocHJvYmUiLEQpfSxEPT57bi5MLmhhbmRsZUVycm9yKEQpfSl9Owp5N2k9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiZuLm1lZGlhU291cmNlLkomJihXLT1pc05hTihuLnRpbWVzdGFtcE9mZnNldCk/MDpuLnRpbWVzdGFtcE9mZnNldCxpc05hTihuLlE1KXx8bi5RNT09PVd8fG4ucmVzdW1lKCksbi5RNT1XKX07CkVPaD1mdW5jdGlvbihuLFcsRCxiKXtkaihuKSYmbi5ETyYmYiYmYj09PTk2JiYoYj1EP24uTC5sSyhXKTpXLG4uZnAoYil8fG4uRE8uTnx8bi5VKCJwcmVidWZmZXIiLHttaXNzOjEsdDpXLnRvRml4ZWQoMyksaXNVdGM6RH0pKX07CmlQUz1mdW5jdGlvbihuLFcpe3ZhciBEPVNxKG4udmlkZW9UcmFjaykuZmluZChiPT5iLnNlZ21lbnRTdGFydFRpbWU+PVcmJlh6aChuLGIuc2VnbWVudFN0YXJ0VGltZSwhMSkpOwpyZXR1cm4gRCYmRC5zZWdtZW50U3RhcnRUaW1lPFcrRC5XKjEuNT9ELnNlZ21lbnRTdGFydFRpbWUrLjE6MH07Cm1CYj1mdW5jdGlvbihuKXt2YXIgVz1pWShuKT8uaW5mbztyZXR1cm4hV3x8bi5mcChNYXRoLm1pbihXLlgrc1gsVy5qKSl9Owp1M3g9ZnVuY3Rpb24obil7aWYoIShuLmxlbmd0aDw9MjgpKWZvcih2YXIgVz0oMCxnLk5tKShbNjAsMCw3NSwwLDczLDAsNjgsMCw2MiwwXSksRD0yODtEPG4ubGVuZ3RoOyl7YTppZihuLmxlbmd0aC1EPFcubGVuZ3RoKXZhciBiPSExO2Vsc2V7Zm9yKGI9MDtiPFcubGVuZ3RoOysrYilpZihuW0QrYl0hPT1XW2JdKXtiPSExO2JyZWFrIGF9Yj0hMH1pZihiKXtEKz1XLmxlbmd0aDtpZihuLmxlbmd0aDw9RCs0OClicmVhaztXPW5ldyBVaW50OEFycmF5KDI0KTtmb3IoYj0wO2I8MjQ7KytiKVdbYl09bltEK2IqMl07bj1wUihXKTtuPWxwKG4pO2lmKCFuKWJyZWFrO0Q9blswXTtuWzBdPW5bM107blszXT1EO0Q9blsxXTtuWzFdPW5bMl07blsyXT1EO0Q9bls0XTtuWzRdPW5bNV07bls1XT1EO0Q9bls2XTtuWzZdPW5bN107bls3XT1EO3JldHVybiBufUQrK319OwpvT3g9ZnVuY3Rpb24obixXKXthOnt2YXIgRD1XLmNyeXB0b1BlcmlvZEluZGV4O2lmKGlzTmFOKEQpJiZuLlcuc2l6ZT4wKUQ9ITA7ZWxzZXtmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKWlmKGIuY3J5cHRvUGVyaW9kSW5kZXg9PT1EKXtEPSEwO2JyZWFrIGF9RD0hMX19bi5XSigibG9nX3FvZSIse3d2YWd0OiJyZXFuZXdzIixjYW5za2lwOkR9KTtEfHxuLldKKCJyb3RhdGVkX25lZWRfa2V5X2luZm9fcmVhZHkiLFcpfTsKZEJoPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJEUk1fVFJBQ0tfVFlQRV9BVURJTyI6cmV0dXJuIDE7Y2FzZSAiRFJNX1RSQUNLX1RZUEVfU0QiOnJldHVybiAyO2Nhc2UgIkRSTV9UUkFDS19UWVBFX0hEIjpyZXR1cm4gMztjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQxIjpyZXR1cm4gNDtjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQyIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfX07ClQzaD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPW4uc3RhdHVzPT09IkxJQ0VOU0VfU1RBVFVTX09LIj8wOjk5OTksYj1udWxsO2lmKG4ubGljZW5zZSl0cnl7Yj1scChuLmxpY2Vuc2UpfWNhdGNoKHYpe2cuWGoodil9aWYoRD09PTAmJiFiKXJldHVybiBudWxsO2I9bmV3IHpEWihELGIpO0QhPT0wJiZuLnJlYXNvbiYmKGIuZXJyb3JNZXNzYWdlPW4ucmVhc29uKTtpZihuLmF1dGhvcml6ZWRGb3JtYXRzKXtEPXt9O2xldCB2PVtdLGs9e307Zm9yKGxldCBoIG9mIG4uYXV0aG9yaXplZEZvcm1hdHMpe2lmKCFoLnRyYWNrVHlwZXx8IWgua2V5SWQpY29udGludWU7VyYmYi5KLnB1c2goe3RyYWNrVHlwZTpkQmgoaC50cmFja1R5cGUpLGlzSGRyOiEhaC5pc0hkcn0pO2xldCB4PWxtVVtoLnRyYWNrVHlwZV07aWYoeCl7eD09PSJIRCImJm4uaXNIZDcyMCYmKHg9IkhENzIwIik7aC5pc0hkciYmKHgrPSJIRFIiKTtEW3hdfHwodi5wdXNoKHgpLERbeF09ITApO2xldCBMPW51bGw7dHJ5e0w9bHAoaC5rZXlJZCl9Y2F0Y2goZSl7Zy5YaihlKX1MJiYKKGtbZy5FQShMLDQpXT14KX19Yi5XPXY7Yi5OPWt9bi5uZXh0RmFpcnBsYXlLZXlJZCYmKGIubmV4dEZhaXJwbGF5S2V5SWQ9bi5uZXh0RmFpcnBsYXlLZXlJZCk7bi5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJihiLnNhYnJMaWNlbnNlQ29uc3RyYWludD1scChuLnNhYnJMaWNlbnNlQ29uc3RyYWludCkpO3JldHVybiBifTsKajdqPWZ1bmN0aW9uKG4sVyxEKXtuLm9uU3VjY2Vzcz1XO24ub25FcnJvcj1EfTsKQzl4PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXt0aW1lb3V0OjNFNCxvblN1Y2Nlc3M6az0+e2lmKCFuLnFOKCkpaWYoZy5hTCgiZHJtX25ldF9yIix2b2lkIDAsbi50aW1lciksaz1UM2goayxuLkopKW4ub25TdWNjZXNzKGssbi5yZXF1ZXN0TnVtYmVyKTtlbHNlIG4ub25FcnJvcihuLCJkcm0ubmV0IiwidC5wO3AuaSIpfSwKb25FcnJvcjprPT57aWYoIW4ucU4oKSlpZihrJiZrLmVycm9yKWs9ay5lcnJvcixuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLGB0LnI7cC5pO2MuJHtrLmNvZGV9O3MuJHtrLnN0YXR1c31gLGsuY29kZSk7ZWxzZSBuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLCJ0LnI7cC5pO2MubiIpfSwKb25UaW1lb3V0OigpPT57bi5vbkVycm9yKG4sImRybS5uZXQiLGBydC5yZXEuJHtuLnJlcXVlc3ROdW1iZXJ9YCl9fTsKYiYmKHYuUDE9YEJlYXJlciAke2J9YCk7Zy5JSShELCJwbGF5ZXIvZ2V0X2RybV9saWNlbnNlIixXLHYpfTsKcEM9ZnVuY3Rpb24obixXLEQ9ITEpe2cuVEMoVyk7KER8fG4uQi5XWCgpKSYmbi5XSigiY3RtcCIsImRybWxvZyIsVyl9OwpCM3g9ZnVuY3Rpb24obil7dmFyIFc9bi5iYXNlVXJsO2hBaShXKXx8bi5lcnJvcigiZHJtLm5ldCIsMiwidC54Iik7aWYoIWcubGYoVywiZmV4cCIpKXtsZXQgRD1bIjIzODk4MzA3IiwiMjM5MTQwNjIiLCIyMzkxNjEwNiIsIjIzODgzMDk4Il0uZmlsdGVyKGI9Pm4uQi5leHBlcmltZW50cy5leHBlcmltZW50c1tiXSk7CkQubGVuZ3RoPjAmJihuLmouZmV4cD1ELmpvaW4oKSl9Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uaikpVz1LUzEoVyxELG4ualtEXSk7cmV0dXJuIFd9Owp3enI9ZnVuY3Rpb24obixXKXt2YXIgRD1udWxsO3RyeXtEPVcuY3JlYXRlU2Vzc2lvbihuLlksYj0+e3BDKG4se206Yn0pfSksRlR0KG4sRCl9Y2F0Y2goYil7Vz0idC5nIixiIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtjLiR7Yi5jb2RlfWApLG4uV0ooImxpY2Vuc2VlcnJvciIsImRybS51bmF2YWlsYWJsZSIsMSxXLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIpfXJldHVybiBEfTsKRlR0PWZ1bmN0aW9uKG4sVyl7TTliKFcsKEQsYik9PntSRGoobixELGIpfSwoRCxiLHYpPT57bi5xTigpfHwoYj12b2lkIDAsZy5YVihuLkopJiZnLkRmKG4uQikmJm4uQi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJnY9PT0xMjEyNDMzMjMyJiYoYj0iRVJST1JfSERDUCIpLG4uZXJyb3IoImRybS5rZXllcnJvciIsMSxELGIpKX0sKCk9PntuLnFOKCl8fChwQyhuLHtvbmt5YWRkOjF9KSxuLmNKfHwobi5XSigic2Vzc2lvbnJlYWR5Iiksbi5jSj0hMCkpfSxEPT57bi5ZVihEKX0pfTsKUkRqPWZ1bmN0aW9uKG4sVyxEKXtpZighbi5xTigpKWlmKFcpe3BDKG4se29ua210eXA6RH0pO24uc3RhdHVzPSJrbSI7c3dpdGNoKEQpe2Nhc2UgImxpY2Vuc2UtcmVuZXdhbCI6Y2FzZSAibGljZW5zZS1yZXF1ZXN0IjpjYXNlICJsaWNlbnNlLXJlbGVhc2UiOmJyZWFrO2Nhc2UgImluZGl2aWR1YWxpemF0aW9uLXJlcXVlc3QiOlE3MihuLFcpO3JldHVybjtkZWZhdWx0Om4uV0ooImN0bXAiLCJtZXNzYWdlX3R5cGUiLHt0OkQsbDpXLmJ5dGVMZW5ndGh9KX1uLnR3fHwoZy5hTCgiZHJtX2drX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uiksbi50dz0hMCxuLldKKCJuZXdzZXNzaW9uIixuKSk7aWYoTE4obi5KKSYmKFc9VjlpKFcpLCFXKSlyZXR1cm47dmFyIGI9ITE7aWYobi5CLlp0KCkuTi5RUShZYykpdHJ5e2I9bWsoVyx3T1opLnR5cGU9PT00fWNhdGNoKHYpe3BDKG4se2NlcnRfY2hlY2tfZmFpbGVkOjF9LCEwKX1pZihiJiZuLmRoPy5jZXJ0aWZpY2F0ZSl7cEMobix7Y2VydF9jYWNoZV9oaXQ6MX0sCiEwKTsrK24ucmVxdWVzdE51bWJlcjtsZXQgdj1uLmRoLmNlcnRpZmljYXRlO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntjN3IobixuZXcgekRaKDAsdiksYil9KX1lbHNlIFc9bmV3IGFtcihXLCsrbi5yZXF1ZXN0TnVtYmVyLG4udmlkZW9EYXRhLnpSLG4uQi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikpLGo3aihXLHY9PntjN3Iobix2LGIpfSwodixrLGgpPT57aWYoIW4ucU4oKSl7dmFyIHg9MDsKdi5OLko+PTMmJih4PTEsaz0iZHJtLm5ldC5yZXRyeWV4aGF1c3RlZCIpO3BDKG4se29ubGNzcnFlcnI6ayxpbmZvOmh9KTtuLmVycm9yKGsseCxoKTtuLnNob3VsZFJldHJ5KGoyKHgpLHYpJiZuUXcobix2KX19KSxnLnUobixXKSxXZzIobixXKX1lbHNlIG4uZXJyb3IoImRybS51bmF2YWlsYWJsZSIsMSwia20uZW1wdHkiKX07ClE3Mj1mdW5jdGlvbihuLFcpe3BDKG4se3NkcHZycToxfSk7bi5WPXBlcmZvcm1hbmNlLm5vdygpO2lmKG4uSi5mbGF2b3IhPT0id2lkZXZpbmUiKW4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuZmxhdm9yO2YuJHtuLkouZmxhdm9yfTtsLiR7Vy5ieXRlTGVuZ3RofWApO2Vsc2V7dmFyIEQ9e2NwbjpuLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlfTtPYmplY3QuYXNzaWduKEQsbi5CLk4pO0Q9Zy5FVCgiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY2VydGlmaWNhdGVwcm92aXNpb25pbmcvdjEvZGV2aWNlY2VydGlmaWNhdGVzL2NyZWF0ZT9rZXk9QUl6YVN5Qi01T0xLVHgyaVU1bWtvMThEZmR3SzU2MTFKSWpiVWhFIixEKTtXPXtmb3JtYXQ6IlJBVyIsaGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkpTT04uc3RyaW5naWZ5KHtzaWduZWRSZXF1ZXN0OlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwKVyl9KSxyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIn07Zy5zeihELFcsMyw1MDApLnRoZW4oWXooYj0+e2I9Yi54aHI7aWYoIW4ucU4oKSl7Yj1uZXcgVWludDhBcnJheShiLnJlc3BvbnNlKTt2YXIgdj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7dHJ5e3ZhciBrPUpTT04ucGFyc2Uodil9Y2F0Y2goaCl7fWsmJmsuc2lnbmVkUmVzcG9uc2U/KG4uV0ooImN0bXAiLCJkcm1pbmZvIix7cHJvdmlzaW9uaW5nOjF9KSxrPShwZXJmb3JtYW5jZS5ub3coKS1uLlYpLzFFMyxuLlY9TmFOLG4uV0ooImN0bXAiLCJwcm92cyIse2V0OmsudG9GaXhlZCgzKX0pLG4uWCYmbi5YLnVwZGF0ZShiKSk6KGs9ayYmay5lcnJvciYmay5lcnJvci5tZXNzYWdlLGI9ImUucGFyc2UiLGsmJihiKz1gO20uJHtrfWApLG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYikpfX0pLFl6KGI9PntuLnFOKCl8fG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuJHtiLmVycm9yQ29kZX07Yy4ke2IueGhyJiYKYi54aHIuc3RhdHVzfWApfSkpfX07CmM3cj1mdW5jdGlvbihuLFcsRCl7bi5xTigpfHwoKHBDKG4se29ubGNzcnNwOjF9KSxuLnN0YXR1cz0icnIiLFcuc3RhdHVzQ29kZSE9PTApP24uZXJyb3IoImRybS5hdXRoIiwxLGB0LmY7Yy4ke1cuc3RhdHVzQ29kZX1gLFcuZXJyb3JNZXNzYWdlfHx2b2lkIDApOihEJiZuLmRoJiZuLkIuWnQoKS5OLlFRKFljKSYmKG4uZGguY2VydGlmaWNhdGU9Vy5tZXNzYWdlKSxnLmFMKCJkcm1fa3JfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKSxXLmhlYXJ0YmVhdFBhcmFtcyYmVy5oZWFydGJlYXRQYXJhbXMudXJsJiZuLnZpZGVvRGF0YS5TKCJvdXRlcnR1YmVfc3RyZWFtaW5nX2RhdGFfYWx3YXlzX3VzZV9zdGFnaW5nX2xpY2Vuc2Vfc2VydmljZSIpJiYoRD1uLkouVy5tYXRjaCgvKC4qKXlvdXR1YmUuY29tL2cpKSYmKFcuaGVhcnRiZWF0UGFyYW1zLnVybD1EWzBdK1cuaGVhcnRiZWF0UGFyYW1zLnVybCksVy5oZWFydGJlYXRQYXJhbXMmJm4uV0ooIm5ld2xpY2Vuc2UiLFcuaGVhcnRiZWF0UGFyYW1zKSwKVy5XJiYobi5XPVcuVyxuLnZpZGVvRGF0YS5hTXx8bi5XSigibmV3bGljZW5zZSIsbmV3IERiaiksbi52aWRlb0RhdGEuYU09ITAsbi5LPWcub00obi5XLGI9PmIuaW5jbHVkZXMoIkhEUiIpKSksVy5KJiYobi5EPVcuSiksVy5OJiYobi5CLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5KLk4oKT8oRD1nLkVBKHhLKG4uZmFpcnBsYXlLZXlJZCksNCksbi5OW0RdPXt0eXBlOlcuTltEXSwKc3RhdHVzOiJ1bmtub3duIn0pOm4uTj1XeChXLk4sYj0+KHt0eXBlOmIsc3RhdHVzOiJ1bmtub3duIn0pKSksZzEobi5KKSYmKFcubWVzc2FnZT1hMjIoZy5FQShXLm1lc3NhZ2UpKSksbi5YJiYocEMobix7dXBkdGtzOjF9KSxuLnN0YXR1cz0ia3UiLG4uWC51cGRhdGUoVy5tZXNzYWdlKS50aGVuKCgpPT57Zy5hTCgiZHJtX2tyX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uik7CkhyKG4pfHwocEMobix7a3NBcGlVbnN1cDoxfSksbi5XSigia2V5c3RhdHVzZXNjaGFuZ2UiLG4pKX0sYj0+e2I9YG1zdWYucmVxLiR7bi5yZXF1ZXN0TnVtYmVyfTttc2cuJHtnLnVwKGIubWVzc2FnZSwzKX1gOwpuLmVycm9yKCJkcm0ua2V5ZXJyb3IiLDEsYil9KSksZy5YVihuLkopJiZuLldKKCJmYWlycGxheV9uZXh0X25lZWRfa2V5X2luZm8iLG4uYmFzZVVybCxXLm5leHRGYWlycGxheUtleUlkKSxuLkIuUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZuLkouTigpJiZuLldKKCJxdWFsaXR5Y2hhbmdlIixibWgobi5XKSksVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJm4uV0ooInNhYnJsaWNlbnNlY29uc3RyYWludCIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpKSl9OwpXZzI9ZnVuY3Rpb24obixXKXtuLnN0YXR1cz0ia20iO2cuYUwoImRybV9uZXRfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKTt2YXIgRD1uZXcgZy5kNChuLkIuU1YpLGI9e2NvbnRleHQ6Zy5VSihELmNvbmZpZ198fGcuUzkoKSl9O2IuZHJtU3lzdGVtPXZRQ1tuLkouZmxhdm9yXTtiLnZpZGVvSWQ9bi52aWRlb0RhdGEudmlkZW9JZDtiLmNwbj1uLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlO2Iuc2Vzc2lvbklkPW4uc2Vzc2lvbklkO2IubGljZW5zZVJlcXVlc3Q9Zy5FQShXLm1lc3NhZ2UpO2IuZHJtUGFyYW1zPW4udmlkZW9EYXRhLmRybVBhcmFtcztpc05hTihuLmNyeXB0b1BlcmlvZEluZGV4KXx8KGIuaXNLZXlSb3RhdGVkPSEwLGIuY3J5cHRvUGVyaW9kSW5kZXg9bi5jcnlwdG9QZXJpb2RJbmRleCk7dmFyIHY9ISFuLnZpZGVvRGF0YS5KPy5LKCk/LmlzSGRyKCk7Yi5kcm1WaWRlb0ZlYXR1cmU9dj8iRFJNX1ZJREVPX0ZFQVRVUkVfUFJFRkVSX0hEUiI6IkRSTV9WSURFT19GRUFUVVJFX1NEUiI7Cm4uQi5leHBlcmltZW50cy5adCgpLk4uUVEoa1RiKSYmKGIuY29udGV4dD1nLm9UKG4udmlkZW9EYXRhKSk7aWYoYi5jb250ZXh0JiZiLmNvbnRleHQuY2xpZW50KXtpZih2PW4uQi5OKWIuY29udGV4dC5jbGllbnQuZGV2aWNlTWFrZT12LmNicmFuZCxiLmNvbnRleHQuY2xpZW50LmRldmljZU1vZGVsPXYuY21vZGVsLGIuY29udGV4dC5jbGllbnQuYnJvd3Nlck5hbWU9di5jYnIsYi5jb250ZXh0LmNsaWVudC5icm93c2VyVmVyc2lvbj12LmNicnZlcixiLmNvbnRleHQuY2xpZW50Lm9zTmFtZT12LmNvcyxiLmNvbnRleHQuY2xpZW50Lm9zVmVyc2lvbj12LmNvc3ZlcjtuLkIuZXhwZXJpbWVudHMuWnQoKS5OLlFRKGtUYil8fChiLmNvbnRleHQudXNlcj1iLmNvbnRleHQudXNlcnx8e30sbi52aWRlb0RhdGEuRCYmKGIuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOm4udmlkZW9EYXRhLkQsc2NvcGU6IlZJREVPIn1dKSxuLnZpZGVvRGF0YS5ISiYmKGIuY29udGV4dC51c2VyLmtpZHNQYXJlbnQ9CntvYXV0aFRva2VuOm4udmlkZW9EYXRhLkhKfSkpO2IuY29udGV4dC5yZXF1ZXN0PWIuY29udGV4dC5yZXF1ZXN0fHx7fTtiLmNvbnRleHQucmVxdWVzdC5tZHhFbnZpcm9ubWVudD1uLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudHx8Yi5jb250ZXh0LnJlcXVlc3QubWR4RW52aXJvbm1lbnQ7Zy5YVihuLkopJiYoYi5mYWlycGxheUtleUlkPWcuRUEoeEsobi5mYWlycGxheUtleUlkKSkpO2cuSEUobi5CLG4udmlkZW9EYXRhLlYoKSkudGhlbihrPT57Qzl4KFcsYixELGspO24uc3RhdHVzPSJycyJ9KX1lbHNlIG4uZXJyb3IoImRybS5uZXQiLDIsInQucjtpYy4wIil9OwpoOE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2IuaXNIZHI9Vy5pbmNsdWRlcygiSERSIik7c3dpdGNoKFcucmVwbGFjZSgiSERSIiwiIikucmVwbGFjZSgiNzIwIiwiIikpe2Nhc2UgIkFVRElPIjpiLnRyYWNrVHlwZT0xO2JyZWFrO2Nhc2UgIlNEIjpiLnRyYWNrVHlwZT0yO2JyZWFrO2Nhc2UgIkhEIjpiLnRyYWNrVHlwZT0zO2JyZWFrO2Nhc2UgIlVIRDEiOmIudHJhY2tUeXBlPTQ7YnJlYWs7Y2FzZSAiVUhEMiI6Yi50cmFja1R5cGU9NTticmVhaztkZWZhdWx0OmIudHJhY2tUeXBlPTB9IWIudHJhY2tUeXBlfHxEW1ddfHxIcihuKSYmIWZDKG4sVyl8fChuLmF1dGhvcml6ZWRGb3JtYXRzLnB1c2goYiksRFtXXT0hMCl9Owp4Ymo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobi5OKSlELnB1c2goYCR7Yn1fJHtuLk5bYl0udHlwZX1fJHtuLk5bYl0uc3RhdHVzfWApO3JldHVybiBELmpvaW4oVyl9OwpIcj1mdW5jdGlvbihuKXt2YXIgVztpZihXPW4uTyYmbi5YIT1udWxsKW49bi5YLFc9ISghbi5OfHwhbi5OLmtleVN0YXR1c2VzKTtyZXR1cm4gV307Cm5Rdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuTi5nZXRWYWx1ZSgpO0Q9bmV3IGcuZl8oKCk9PntXZzIobixXKX0sRCk7CmcudShuLEQpO0Quc3RhcnQoKTtnLnhFKFcuTik7cEMobix7cnR5cnE6MX0pfTsKSjI9ZnVuY3Rpb24obil7dmFyIFc9e307V1tuLnN0YXR1c109SHIobik/eGJqKG4sIi4iKTpuLlcuam9pbigiLiIpO3JldHVybiBXfTsKZkM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbi5OKWlmKG4uTltEXS5zdGF0dXM9PT0idXNhYmxlIiYmbi5OW0RdLnR5cGU9PT1XKXJldHVybiEwO3JldHVybiExfTsKTGd3PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4uTilpZihuLk5bRF0udHlwZT09PVcpcmV0dXJuIG4uTltEXS5zdGF0dXN9OwplOHc9ZnVuY3Rpb24obil7dmFyIFc9blswXTtuWzBdPW5bM107blszXT1XO1c9blsxXTtuWzFdPW5bMl07blsyXT1XO1c9bls0XTtuWzRdPW5bNV07bls1XT1XO1c9bls2XTtuWzZdPW5bN107bls3XT1XfTsKYm1oPWZ1bmN0aW9uKG4pe3JldHVybiBnLmpqKG4sIlVIRDIiKXx8Zy5qaihuLCJVSEQySERSIik/ImhpZ2hyZXMiOmcuamoobiwiVUhEMSIpfHxnLmpqKG4sIlVIRDFIRFIiKT8iaGQyMTYwIjpnLmpqKG4sIkhEIil8fGcuamoobiwiSERIRFIiKT8iaGQxMDgwIjpnLmpqKG4sIkhENzIwIil8fGcuamoobiwiSEQ3MjBIRFIiKT8iaGQ3MjAiOiJsYXJnZSJ9OwpWOWk9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0yKVcrPVN0cmluZy5mcm9tQ2hhckNvZGUobltEXSk7bj1nLmdUKG5ldyBET01QYXJzZXIsZy5ITShXKSwidGV4dC94bWwiKTtpZighbilyZXR1cm4gbnVsbDsoVz1uLnF1ZXJ5U2VsZWN0b3IoIkNoYWxsZW5nZSIpKSYmVy5jaGlsZE5vZGVzJiZXLmNoaWxkTm9kZXMubGVuZ3RoIT09MD8obj1VaW50OEFycmF5LFc9emgoVy5jaGlsZE5vZGVzWzBdLm5vZGVWYWx1ZSksVz0oMCxnLk5tKShXKS5idWZmZXIsbj1uZXcgbihXKSk6bj1udWxsO3JldHVybiBufTsKTTliPWZ1bmN0aW9uKG4sVyxELGIsdil7bi5qPVc7bi5XPUQ7bi5WPWI7bi5LPXZ9OwpnUXc9ZnVuY3Rpb24obil7bi5OPyhuLlguTk4obi5OLCJtZXNzYWdlIixuLmJkKSxuLlguTk4obi5OLCJrZXlzdGF0dXNlc2NoYW5nZSIsbi5ZViksbi5OLmNsb3NlZCYmbi5OLmNsb3NlZC50aGVuKFl6KCgpPT57bi5xTigpfHxnLnViKCJ4Ym94b25lIikmJm4uVyYmbi5XKCJjbG9zZWRTaG91bGROb3RSZXRyeSIpfSksbnVsbCkpOm4uSiYmKEt5KG4uWCxuLkosWyJtc2tleW1lc3NhZ2UiLAoid2Via2l0a2V5bWVzc2FnZSJdLG4uY0opLEt5KG4uWCxuLkosWyJtc2tleWVycm9yIiwid2Via2l0a2V5ZXJyb3IiXSxuLk8pLEt5KG4uWCxuLkosWyJtc2tleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLkQpKX07ClhVUz1mdW5jdGlvbihuLFcsRCl7Zy5YaihEKTtuLlcmJihEIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtuLiR7RC5uYW1lfTttLiR7RC5tZXNzYWdlfWApLG4uVyhXKSl9OwpxY1U9ZnVuY3Rpb24obil7S3kobi5YLG4uZWxlbWVudCxbImtleW1lc3NhZ2UiLCJ3ZWJraXRrZXltZXNzYWdlIl0sbi5PKTtLeShuLlgsbi5lbGVtZW50LFsia2V5ZXJyb3IiLCJ3ZWJraXRrZXllcnJvciJdLG4uRCk7S3kobi5YLG4uZWxlbWVudCxbImtleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLlkpfTsKR1RTPWZ1bmN0aW9uKG4sVz1udWxsKXtpZihuLk4ua2V5U3lzdGVtQWNjZXNzKXJldHVybiBuLks9bi5LLnRoZW4oKCk9Pm4ubWVkaWFLZXlzP1Byb21pc2UucmVzb2x2ZSgpOlc/Lm1lZGlhS2V5cyYmVy5ZYT8ucGcoKT8obi5tZWRpYUtleXM9Vz8ubWVkaWFLZXlzLFByb21pc2UucmVzb2x2ZSgpKTpuLk4ua2V5U3lzdGVtQWNjZXNzLmNyZWF0ZU1lZGlhS2V5cygpLnRoZW4oRD0+e24ucU4oKXx8KG4ubWVkaWFLZXlzPUQsVz8uWWE/LnBnKCkmJihXLm1lZGlhS2V5cz1EKSl9KSkudGhlbigoKT0+e3ZhciBEPVc/LmVfKCk7CnJldHVybiBuLmVsZW1lbnQmJm4uZWxlbWVudCE9PUQmJm4uZWxlbWVudC5tZWRpYUtleXM/bi5lbGVtZW50LnNldE1lZGlhS2V5cyhudWxsKTpQcm9taXNlLnJlc29sdmUoKX0pLnRoZW4oKCk9PntuLmVsZW1lbnQ9Vz8uZV8oKTsKcmV0dXJuIG4uZWxlbWVudCYmbi5lbGVtZW50Lm1lZGlhS2V5cyE9PW4ubWVkaWFLZXlzP24uZWxlbWVudC5zZXRNZWRpYUtleXMobi5tZWRpYUtleXMpOlByb21pc2UucmVzb2x2ZSgpfSksbi5LOwp4aChuLk4pP24uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pOmVUKG4uTik/KG4uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pLG4uZWxlbWVudD8ud2Via2l0U2V0TWVkaWFLZXlzKG4uSikpOnFjVShuKTtyZXR1cm4gbnVsbH07CnR3TT1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KDI3MCk7Zm9yKGxldCBiPTA7YjwxMzU7YisrKURbYioyXT0nPFBsYXlSZWFkeUNETURhdGEgdHlwZT0iTGljZW5zZUFjcXVpc2l0aW9uIj48TGljZW5zZUFjcXVpc2l0aW9uIHZlcnNpb249IjEuMCIgUHJvYWN0aXZlPSJ0cnVlIj48L0xpY2Vuc2VBY3F1aXNpdGlvbj48L1BsYXlSZWFkeUNETURhdGE+Jy5jaGFyQ29kZUF0KGIpO249bi5KLmNyZWF0ZVNlc3Npb24oInZpZGVvL21wNCIsVyxEKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsbil9OwpySTE9ZnVuY3Rpb24obixXKXtXPSRiWihXLG4uTi5DaSk7Vz1uLkouY3JlYXRlU2Vzc2lvbigidmlkZW8vbXA0IixXKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsVyxuLlYpfTsKUzA9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmpbVy5zZXNzaW9uSWRdOyFEJiZuLlcmJihEPW4uVyxuLlc9bnVsbCxELnNlc3Npb25JZD1XLnNlc3Npb25JZCxuLmpbVy5zZXNzaW9uSWRdPUQpO3JldHVybiBEfTsKJGJaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5zdWJhcnJheSg0KTtEPW5ldyBVaW50MTZBcnJheShELmJ1ZmZlcixELmJ5dGVPZmZzZXQsRC5ieXRlTGVuZ3RoLzIpO0Q9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEQpLm1hdGNoKC9laz0oWzAtOWEtZl0rKS8pWzFdO3ZhciBiPSIiO2Zvcih2YXIgdj0wO3Y8RC5sZW5ndGg7dis9MiliKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KEQuc3Vic3RyaW5nKHYsdisyKSwxNikpO0Q9YjtiPW5ldyBBcnJheUJ1ZmZlcihELmxlbmd0aCoyKTt2PW5ldyBVaW50MTZBcnJheShiKTtmb3IodmFyIGs9MDtrPEQubGVuZ3RoO2srKyl2W2tdPUQuY2hhckNvZGVBdChrKTtEPW5ldyBVaW50OEFycmF5KGIpO2I9MDtrPW5ldyBBcnJheUJ1ZmZlcihuLmJ5dGVMZW5ndGgrNCtELmJ5dGVMZW5ndGgrNCtXLmJ5dGVMZW5ndGgpO3Y9bmV3IFVpbnQ4QXJyYXkoayk7az1uZXcgRGF0YVZpZXcoayk7di5zZXQobik7Yis9bi5ieXRlTGVuZ3RoOwprLnNldFVpbnQzMihiLEQubGVuZ3RoLCEwKTtiKz00O3Yuc2V0KEQsYik7Yis9RC5sZW5ndGg7ay5zZXRVaW50MzIoYixXLmJ5dGVMZW5ndGgsITApO3Yuc2V0KFcsYis0KTtyZXR1cm4gdn07Ck5vQz1mdW5jdGlvbihuKXt2YXIgVz1HVFMobi5tZWRpYUtleXMsbi5tZWRpYUVsZW1lbnQpO1c/Vy50aGVuKFl6KCgpPT57c0lNKG4pfSksWXooRD0+e2lmKCFuLnFOKCkpe2cuWGooRCk7CnZhciBiPSJ0LmEiO0QgaW5zdGFuY2VvZiBET01FeGNlcHRpb24mJihiKz0iO24uIitELm5hbWUrIjttLiIrRC5tZXNzYWdlKTtuLldKKCJsaWNlbnNlZXJyb3IiLCJkcm0udW5hdmFpbGFibGUiLDEsYiwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siKX19KSk6KG4uSih7bWRrcmR5OjF9KSxuLkQ9ITApOwpuLk8mJihXPUdUUyhuLk8sbi5tZWRpYUVsZW1lbnQpKX07CnNJTT1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uQi5TKCJodG1sNV9kcm1fc2V0X3NlcnZlcl9jZXJ0Iil8fG4uTi5OKCkpe2xldCBXPW4ubWVkaWFLZXlzLnNldFNlcnZlckNlcnRpZmljYXRlKCk7Vz9XLnRoZW4oWXooRD0+e24uQi5XWCgpJiZuLldKKCJjdG1wIiwic3NjIix7c3VjY2VzczpEfSl9KSxZeihEPT57bi5XSigiY3RtcCIsInNzY2UiLHtuOkQubmFtZSwKbTpELm1lc3NhZ2V9KX0pKS50aGVuKFl6KCgpPT57QTIobil9KSk6QTIobil9ZWxzZSBBMihuKX07ClljMT1mdW5jdGlvbihuLFcsRCl7bi5QWD0hMDtEPW5ldyBydShXLEQpO24uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmKG4uVi5nZXQoVyl8fG4uVi5zZXQoVyxEKSk7cFVqKG4sRCl9OwpwVWo9ZnVuY3Rpb24obixXKXtpZighbi5xTigpKXtuLkooe29uSW5pdERhdGE6MX0pO2lmKG4uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBEPW4uSy5nZXQoVy5pbml0RGF0YSk7Vz1uLlYuZ2V0KFcuaW5pdERhdGEpO2lmKCFEfHwhVylyZXR1cm47Vz1EO0Q9Vy5pbml0RGF0YTtuLlYucmVtb3ZlKEQpO24uSy5yZW1vdmUoRCl9bi5KKHtpbml0ZDpXLmluaXREYXRhLmxlbmd0aCxjdDpXLmNvbnRlbnRUeXBlfSk7aWYobi5OLmZsYXZvcj09PSJ3aWRldmluZSIpaWYobi5WUSYmIW4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrKW1uKG4pO2Vsc2V7aWYoIShuLkIuUygidnA5X2RybV9saXZlIikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZXLnFIKSl7bi5WUT0hMDtEPVcuY3J5cHRvUGVyaW9kSW5kZXg7dmFyIGI9Vy5OO1Z2dChXKTtXLnFIfHwoYiYmVy5OIT09Yj9uLldKKCJjdG1wIiwiY3BzbW0iLHtlbXNnOmIsCnBzc2g6Vy5OfSk6RCYmVy5jcnlwdG9QZXJpb2RJbmRleCE9PUQmJm4uV0ooImN0bXAiLCJjcGltbSIse2Vtc2c6RCxwc3NoOlcuY3J5cHRvUGVyaW9kSW5kZXh9KSk7bi5XSigid2lkZXZpbmVfc2V0X25lZWRfa2V5X2luZm8iLFcpfX1lbHNlIG4uUyQoVyl9fTsKbW49ZnVuY3Rpb24obil7aWYobi5QWCYmbi5EJiYhbi5iZCl7Zm9yKDtuLlgubGVuZ3RoOyl7bGV0IFc9bi5YWzBdLEQ9SG1TKG4pP2NraihXKTpnLkVBKFcuaW5pdERhdGEpO2lmKG4uTi5OKCkmJiFXLlVXKW4uWC5zaGlmdCgpO2Vsc2V7aWYobi5XLmdldChEKSlpZihuLk4uZmxhdm9yIT09ImZhaXJwbGF5Inx8bi5OLk4oKSl7bi5YLnNoaWZ0KCk7Y29udGludWV9ZWxzZSBuLlcuZGVsZXRlKEQpO1Z2dChXKTticmVha319bi5YLmxlbmd0aCYmbi5jcmVhdGVTZXNzaW9uKG4uWFswXSl9fTsKQTI9ZnVuY3Rpb24obil7bi5xTigpfHwobi5EPSEwLG4uSih7b25tZGtyZHk6MX0pLG1uKG4pKX07CkhtUz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmZsYXZvcj09PSJ3aWRldmluZSImJm4udmlkZW9EYXRhLlMoImh0bWw1X2RybV9jcGlfbGljZW5zZV9rZXkiKX07CmY1eD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmQ4KCkmJm4ubWVkaWFLZXlzLm1lZGlhS2V5cz8uZ2V0TWV0cmljcyl7dmFyIFc9YXdhaXQgbi5tZWRpYUtleXMuZ2V0TWV0cmljcygpO1cmJigoMCxnLkc5KShXKXx8KFc9Zy5IRyhXKSksL15bQS1aYS16MC05Xy1dKz17MCwzfSQvLnRlc3QoVyl8fChXPWcudXAoVyx2b2lkIDAsITApKSxuLldKKCJjdG1wIiwiZHJtIix7bWV0cmljczpXfSkpfX07CkpJYj1mdW5jdGlvbihuLFcpe2lmKG4udmlkZW9EYXRhLlkpcmV0dXJuITE7bi55US5udSs9MTtpZihuLnlRLm51PD0xMClyZXR1cm4hMTtXLmV4aWxlZD1gJHtuLnlRLm51fWA7bi5HcygicW9lLnN0YXJ0MTVzIixXKTtuLkwuV0ooInBsYXliYWNrc3RhbGxlZGF0c3RhcnQiKTtyZXR1cm4hMH07Ckk1Mj1mdW5jdGlvbihuKXtpZighbi5KKXtuLko9ITA7dmFyIFc9bi5MLmdldFBsYXllclN0YXRlKCk7Vz1XLmlzUGF1c2VkKCl8fFcuaXNTdXNwZW5kZWQoKTtuLkwub0ooKTtXJiYhT1Mobi52aWRlb0RhdGEpfHxuLkwuV0ooInNpZ25hdHVyZWV4cGlyZWQiKX19OwpLQz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi52aWRlb0RhdGEuSix2PW4udmlkZW9EYXRhLlgsaz1uLnlRLlMoImh0bWw1X2Rpc2FibGVfY29kZWNfZmFsbGJhY2tfZm9yX2RybSIpJiZuLnZpZGVvRGF0YS5NaSgpO0FKKG4uTC5nZXRWaWRlb0RhdGEoKSkmJlA5VShuLkwsInBlIik7bi55US5adCgpLk4uUVEoU2N0KSYmKEQuYmtnPW4uTC5YTygpLmlzQmFja2dyb3VuZCgpPyIxIjoiMCIpO2lmKChXPT09InByb2dyZXNzaXZlLm5ldC5yZXRyeWV4aGF1c3RlZCJ8fFc9PT0iZm10LnVucGxheWFibGUifHxXPT09ImZtdC5kZWNvZGUiKSYmIW4uTC5oVS5qJiZiJiZiLml0YWc9PT0iMjIiKXJldHVybiBuLkwuaFUuaj0hMCxuLkdzKCJxb2UucmVzdGFydCIse3JlYXNvbjoiZm10LnVucGxheWFibGUuMjIifSksbi5MLlZ2KCksITA7dmFyIGg9ITE7aWYobi52aWRlb0RhdGEuaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCl7aWYoaD1uLnZpZGVvRGF0YS5xdylELm1pbWVUeXBlPWgudHlwZSwKbi5VKCIzcHAiLHt1cmw6aC51cmx9KTtELm5zPSIzcHAiO24uTC5QVihXLDEsIlZJREVPX1VOQVZBSUxBQkxFIixnLlRDKChuZXcgZy5DaShXLEQsMSkpLmRldGFpbHMpKTtyZXR1cm4hMH12YXIgeD1uLmtzKzNFNDwoMCxnLlIpKCl8fG4uTi5pc0FjdGl2ZSgpO2lmKG4ueVEuUygiaHRtbDVfZW1wdHlfc3JjIikmJm4udmlkZW9EYXRhLmlzQWQoKSYmVz09PSJmbXQudW5wbGF5YWJsZSImJi9FbXB0eSBzcmMvLnRlc3QoYCR7RC5tc2d9YCkpcmV0dXJuIEQub3JpZ2luPSJlbXB0eXNyYyIsbi5HcygiYXV0aCIsRCksITA7dmFyIEw7aWYoTD0heClMPW4uTC5YTygpLEw9ISEoTC5CUCgpfHxMLmlzSW5saW5lKCl8fEwuaXNCYWNrZ3JvdW5kKCl8fEwuQW4oKXx8TC5qSSgpfHxMLlNJKCl8fEwuUTAoKSk7TCYmKEQubm9uZmc9InBhdXNlZCIseD0hMCxuLkwucGF1c2VWaWRlbygpKTtXIT09ImZtdC5kZWNvZGUiJiZXIT09ImZtdC51bnBsYXlhYmxlInx8IXY/LlYoKXx8KFNUKG4ueVEuVyx2LklCKSwKRC5hY2ZhbGxleHA9di5JQixoPXg9ITApOyF4JiZuLlc+MCYmKG4uTi5zdGFydCgpLHg9ITAsRC5kZWxheWVkPSIxIiwtLW4uVyk7dj1uLkwubG9hZGVyO3h8fCFiPy5NVygpJiYhYj8uWCgpfHxrfHwoU1Qobi55US5XLGIuSUIpLGg9eD0hMCxELmNmYWxsZXhwPWIuSUIpO2lmKCF4KXJldHVybiBKSWIobixEKTtrPSExO24uaj9uLmtzPSgwLGcuUikoKTprPW4uaj0hMDt4PW4udmlkZW9EYXRhO3guY0o/KHg9eC5jSi5qKCksTD1EYXRlLm5vdygpLzFFMysxODAwLHg9eDxMKTp4PSExO0QuZT1XO3gmJihELnN0YWxlcHJvZz0iMSIpO24uR3MoInFvZS5yZXN0YXJ0IixEKTtpZih4JiZuLlExKCkpcmV0dXJuIEk1MihuKSwhMDtpZighKCFnLnViKCJwaGlsaXBzIil8fFc9PT0iZm10LnVucGxheWFibGUiJiZ2JiZ2LkNIfHxuLnlRLk4uY3BsYXRmb3JtPT09IkdBTUVfQ09OU09MRSIpKXRyeXt3aW5kb3cuY2xvc2UoKX1jYXRjaHt9YiYmYi5NVygpJiYhbi55US5TKCJodG1sNV9hbGxvd19hdjFfcmV0cnlfaW5fc2Vzc2lvbiIpPwooaD1uLnlRLlcsaC5ZPSEwLGg9aC5OPSEwKTp2PyhXPW4ueVEuUygiaHRtbDVfZGlzYWJsZV9zdHVubmluZ19mb3Jfc2QiKSxEPW4udmlkZW9EYXRhLlcsRD1EPy52aWRlb0luZm9zPy5sZW5ndGg/RC52aWRlb0luZm9zW0QudmlkZW9JbmZvcy5sZW5ndGgtMV06bnVsbCxiPWImJkQmJmIudmlkZW8mJkQudmlkZW8mJmIudmlkZW8ucXVhbGl0eU9yZGluYWw9PT1ELnZpZGVvLnF1YWxpdHlPcmRpbmFsLGt8fFcmJmJ8fChiPShiPUkkKHYudmlkZW9UcmFjayl8fHYudmlkZW9UcmFjay5OKT9iLlBKOnYudmlkZW9UcmFjay5QSixiLkZGKz0xLHYucG9saWN5Lk4/V2wodi5rNixiLCEwKTphcSh2LmNWLGIsITApKSk6bi52aWRlb0RhdGEuY0omJm4udmlkZW9EYXRhLmNKLlgoKTtuLk4uaXNBY3RpdmUoKXx8bi5MLkJvKGgpO3JldHVybiEwfTsKQUlNPWZ1bmN0aW9uKG4sVyl7aWYoKG49bi5MLmg1KCkpJiYoVy5lcnJvckNvZGU9PT0iZm10LnVucGxheWFibGUifHxXLmVycm9yQ29kZT09PSJodG1sNS5pbnZhbGlkc3RhdGUiKSl7bGV0IEQ9bi5WRygpO1cuZGV0YWlscy5tZXJyPUQ/RC50b1N0cmluZygpOiIwIjtXLmRldGFpbHMubW1zZz1uLnM4KCl9fTsKbWJNPWZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yQ29kZT09PSJuZXQuYmFkc3RhdHVzIiYmKG4uc2V2ZXJpdHk9PT0xfHwhIW4uZGV0YWlscy5mbXRfdW5hdil9OwpLZ3g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi55US5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIikmJlcuZGV0YWlscy5yYz09PTQwM3x8Vy5kZXRhaWxzLnJjPT09IjQwMyI/KG49Vy5lcnJvckNvZGUsbj09PSJuZXQuYmFkc3RhdHVzInx8bj09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiKTohMX07Ck9YPWZ1bmN0aW9uKG4sVyxEKXt0cnl7Vz17ZGV0YWlsOmBwci4ke1d9YH0sZy54NihuLnlRKXx8bG8obi55USk9PT0iVFZIVE1MNV9GT1JfS0lEUyI/bi5MLlBWKCJxb2UucmVzdGFydCIsRD8xOjIsdm9pZCAwLGcuVEMoVyksIjciKToobi5HcygicW9lLnJlc3RhcnQiLFcpLHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSl9Y2F0Y2h7fX07Ck9tMj1mdW5jdGlvbihuLFcpe2lmKCFLZ3gobixXKSYmIW4uSilyZXR1cm4hMTtXLmRldGFpbHMuc3RzPSIyMDY1NSI7aWYobi5RMSgpKXJldHVybiBqMihXLnNldmVyaXR5KSYmKFc9T2JqZWN0LmFzc2lnbih7ZTpXLmVycm9yQ29kZX0sVy5kZXRhaWxzKSxXPW5ldyBnLkNpKCJxb2UucmVzdGFydCIsVykpLG4uR3MoVy5lcnJvckNvZGUsVy5kZXRhaWxzKSxJNTIobiksITA7KDAsZy5SKSgpLW4ueVEuQ3U+NjA0OEU1JiZPWChuLCJzaWduYXR1cmUiLCEwKTtyZXR1cm4hMX07ClBNaj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YS5lcnJvckRldGFpbD09PSI3IiYmZy5rNihuLnlRKSl7bGV0IFc9IW4udmlkZW9EYXRhLmlzSW5saW5lUGxheWJhY2tOb0FkO1cmJm4ueVEuVFErKztPWChuLCJpbm5lcnR1YmVfcGxheWVyX3JlbG9hZF9yZXF1aXJlZCIsVyYmbi55US5UUT4xKTtyZXR1cm4hMH1yZXR1cm4hMX07ClByPWZ1bmN0aW9uKG4sVz0iZm10Lm5vbmVhdmFpbGFibGUiKXt2YXIgRD1uLnlRLlc7RC5LPSExO0QuTj0hMDtuLkdzKCJxb2UucmVzdGFydCIse2U6VyxkZXRhaWw6ImhkciJ9KTtuLkwuQm8oITApfTsKWm1oPWZ1bmN0aW9uKG4pe2lmKG4uTC5YTygpLmlzSW5saW5lKCkpcmV0dXJuIFlaO249TGdbcDcoKV07cmV0dXJuIHZBKCJhdXRvIixuLCExLCJzIil9Owp5SXI9ZnVuY3Rpb24obixXKXt2YXIgRDthOmlmKChEPVcuTikmJkQudmlkZW9JbmZvcy5sZW5ndGgpe2Zvcih2YXIgYiBvZiBELnZpZGVvSW5mb3MpaWYoYi5qPy5zbW9vdGgpe0Q9Yi52aWRlby5xdWFsaXR5T3JkaW5hbDticmVhayBhfUQ9RC52aWRlb0luZm9zWzBdLnZpZGVvLnF1YWxpdHlPcmRpbmFsfWVsc2UgRD0wO2I9ITA7bi5CLlMoIndlYl9yZWxheF9hcm1fY2FwIikmJm5hdmlnYXRvci5KRiYmKGI9ITEpO2ImJihnLnViKCJhcm12NyIpfHxnLnViKCJhYXJjaDY0Iil8fGcudWIoImFuZHJvaWQiKSkmJiFnLms2KG4uQikmJlcuTi52aWRlb0luZm9zWzBdLlgoKSYmKEQ9TWF0aC5taW4oRCxORy5sYXJnZSkpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2NoaXBzZXRfc29mdF9jYXAiKTtiPjAmJihEPU1hdGgubWluKEQsYikpO2I9bi5CLncwKCkuTi5RUShVYlMpO2I+MCYmKEQ9TWF0aC5taW4oRCxiKSk7aWYoYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb24iKSl7bGV0IGg9CjQzMjA7Zm9yKHZhciB2PTA7djxXLk4udmlkZW9JbmZvcy5sZW5ndGg7disrKXt2YXIgaz1XLk4udmlkZW9JbmZvc1t2XTtrLnZpZGVvLmhlaWdodD5iJiYoaD1NYXRoLm1pbihoLGsudmlkZW8ucXVhbGl0eU9yZGluYWwpKX1pZihoPDQzMjApe3Y9MDtmb3Ioaz0wO2s8Vy5OLnZpZGVvSW5mb3MubGVuZ3RoO2srKyl7bGV0IHg9Vy5OLnZpZGVvSW5mb3Nba10udmlkZW8ucXVhbGl0eU9yZGluYWw7eDxoJiYodj1NYXRoLm1heCh2LHgpKX12JiYoRD1NYXRoLm1pbih2LEQpKX1uLkwuVSgibXZyIix7aDpiLGNwOkR9KX1yZXR1cm4gbmV3IGIzKDAsRCwhMSwibyIpfTsKaW1yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9NDMyMDshbi5CLmp8fGcuQ04obi5CKXx8bi5CLlMoImhsc19mb3Jfdm9kIil8fG4uQi5TKCJtd2ViX3JlbW92ZV8zNjBwX2NhcCIpfHwoRD1ORy5tZWRpdW0pO3ZhciBiPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwIik7YiYmVy5OLk4oKSYmKG4uQi5TKCJodG1sNV9hbHdheXNfYXBwbHlfZGVmYXVsdF9xdWFsaXR5X2NhcCIpfHwhVy52aWRlb0RhdGEuaTUmJiFXLnZpZGVvRGF0YS5jb250ZW50UHJvdGVjdGlvbikmJihEPU1hdGgubWluKEQsYikpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXAiKTt2YXIgdj0vW2EtaF0kLztiJiZ2LnRlc3QoVy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSkmJihEPU1hdGgubWluKEQsYikpO2lmKHY9Yj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfaGZyX3F1YWxpdHlfY2FwIikpYTp7dj1XLk47aWYodi5OKCkpZm9yKHZhciBrIG9mIHYudmlkZW9JbmZvcylpZihrLnZpZGVvLkooKSl7dj0KITA7YnJlYWsgYX12PSExfXYmJihEPU1hdGgubWluKEQsYikpOyhrPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9saXZlX3F1YWxpdHlfY2FwIikpJiZXLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEQ9TWF0aC5taW4oRCxrKSk7RD1FUU0obixXLEQpO249Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIik7cmV0dXJuIG5ldyBiMygwLEQ9PT00MzIwPzA6RCwhMSwiZCIsbil9OwpaVj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTC5YTygpO3JldHVybiBELmlzSW5saW5lKCkmJiFXLnVuY2FwSW5saW5lUXVhbGl0eT9uZXcgYjMoMCw0ODAsITEsInYiKTpnLllOKFcpP1laOkQuaXNCYWNrZ3JvdW5kKCkmJmcudkkoKS8xRTM+NjAmJiFnLms2KG4uQik/bmV3IGIzKDAsMzYwLCExLCJ2Iik6WVp9OwpVWD1mdW5jdGlvbihuLFcsRCl7aWYobi5CLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIikmJlcuaHEoKXx8Zy5rNihuLkIpJiYocDcoLTEpPj0xMDgwfHxXLm9zaWQpKXJldHVybiBZWjt2YXIgYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcCIpLHY9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2F1dG9uYXZfY2FwX2lkbGVfc2VjcyIpO3JldHVybiBiJiZXLmlzQXV0b25hdiYmZy52SSgpLzFFMz52PyhEJiYoYj1FUU0obixELGIpKSxuZXcgYjMoMCxiLCExLCJlIikpOllafTsKeTM9ZnVuY3Rpb24obixXKXtpZighVy5OLk4oKSlyZXR1cm4gbi5qP25ldyBiMygwLDM2MCwhMSwiYiIpOllaO3ZhciBEPSExLGI9ITE7Zm9yKHZhciB2IG9mIFcuTi52aWRlb0luZm9zKXYuTVcoKT9EPSEwOmI9ITA7RD1EJiZiO2I9MDt2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3IiKTt2PW4uQi5qPzI0MDp2O2ZvcihsZXQgayBvZiBXLk4udmlkZW9JbmZvcyl7aWYoRCYmay5NVygpKWNvbnRpbnVlO1c9VkMoay5JQixrLnZpZGVvLmZwcyxuLlcpO2xldCBoPWsudmlkZW8ucXVhbGl0eU9yZGluYWw7aWYoTWF0aC5tYXgoVyx2KT49aCl7Yj1oO2JyZWFrfX1yZXR1cm4gbmV3IGIzKDAsYiwhMSwiYiIpfTsKaW09ZnVuY3Rpb24obixXKXt2YXIgRD1FWChuLFcuTj8udmlkZW9JbmZvcyksYj1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7cmV0dXJuIGI+MSYmRD8obj1KeihuLkIuVyxXLk4udmlkZW9JbmZvcyxiKSxuZXcgYjMoMCxuLCEwLCJvIikpOm5ldyBiMygwLDAsITEsIm8iKX07CnVtPWZ1bmN0aW9uKG4sVyxEKXtnLms2KG4uQikmJihEPUQuY29tcG9zZShuLk1oKFcpKSk7cmV0dXJuIER9OwpFWD1mdW5jdGlvbihuLFcpe3JldHVybiBXJiZnLms2KG4uQik/Vy5zb21lKEQ9PkQudmlkZW8uSigpKTohMX07CkVRTT1mdW5jdGlvbihuLFcsRCl7aWYobi5TKCJodG1sNV9vcHRpbWFsaXR5X2RlZmF1bHRzX2Nob29zZXNfbmV4dF9oaWdoZXIiKSYmRClmb3Iobj1XLk4udmlkZW9JbmZvcyxXPTE7VzxuLmxlbmd0aDtXKyspaWYobltXXS52aWRlby5xdWFsaXR5T3JkaW5hbDxEKXJldHVybiBuW1ctMV0udmlkZW8ucXVhbGl0eU9yZGluYWw7cmV0dXJuIER9Owp1aWo9YXN5bmMgZnVuY3Rpb24obil7aWYoIW4uTi5OKCl8fHR5cGVvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2F3YWl0IFByb21pc2UucmVzb2x2ZSgpO2ZvcihsZXQgVyBvZiBuLk4udmlkZW9JbmZvcylhd2FpdCBrM3IoVyl9OwpvUTI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLklCLGI9Vy52aWRlby5mcHMsdj1XLnZpZGVvLnF1YWxpdHlPcmRpbmFsLTEsaz1uLlc7Vz1gJHtEfSR7Yj40OT8icDYwIjpiPjMyPyJwNDgiOiIifWA7RD1WQyhELGIsayk7dj4wJiYoRD1NYXRoLm1pbihELHYpKTshY0YuaGFzKFcpJiZKcygpLmluY2x1ZGVzKFcpPyhiPWY3KCksK2JbV10+MCYmKEQ9TWF0aC5taW4oK2JbV10sRCkpLGJbV10hPT1EJiYoYltXXT1ELGcuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLGIsMjU5MkUzKSkpOmNGLmhhcyhXKXx8az09bnVsbD8oYj1KcygpLnNsaWNlKCksYi5pbmNsdWRlcyhXKXx8KGIucHVzaChXKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLGIsMjU5MkUzKSksUUMuc2V0KFcsRCkpOihjRi5hZGQoVyksaz8uc2V0KFcsRCkpO24uTC5zVCgpfTsKZGJTPWZ1bmN0aW9uKCl7cmV0dXJuIFd4KGY3KCksbj0+YCR7bn1gKX07Cno4Mj1mdW5jdGlvbihuLFcsRCxiKXtpZighV3x8IUR8fCFXLnZpZGVvRGF0YS5KKXJldHVybiExO3ZhciB2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoIiksaz1uLlMoImh0bWw1X2xvZ19tZWRpYV9wZXJmX2luZm8iKTtpZighKCgwLGcuUikoKS1uLlg8NUUzPzA6a3x8dj4wKSlyZXR1cm4hMTt2YXIgaD0oKDAsZy5SKSgpLW4uWCkvMUUzO24uWD0oMCxnLlIpKCk7RD1ELmdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7aWYoIUQpcmV0dXJuITE7dmFyIHg9RC5kcm9wcGVkVmlkZW9GcmFtZXMtbi5WLEw9RC50b3RhbFZpZGVvRnJhbWVzLW4udG90YWxGcmFtZXM7bi5WPUQuZHJvcHBlZFZpZGVvRnJhbWVzO24udG90YWxGcmFtZXM9RC50b3RhbFZpZGVvRnJhbWVzO3ZhciBlPUQuZGlzcGxheUNvbXBvc2l0ZWRWaWRlb0ZyYW1lcz09PTA/MDpELmRpc3BsYXlDb21wb3NpdGVkVmlkZW9GcmFtZXN8fC0xO2smJm4uQi5XWCgpJiZuLkwuVSgiZGRmIiwKe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lcyxjb21wOmV9KTtpZihiKXJldHVybiBuLk49MCwhMTtpZigoTC14KS9oPm4uWXx8IXZ8fGcuazYobi5CKSlyZXR1cm4hMTtuLk49KEw+NjA/eC9MOjApPnY/bi5OKzE6MDtpZihuLk4hPT0zKXJldHVybiExO29RMihuLFcudmlkZW9EYXRhLkopO24uTC5VKCJkZmQiLE9iamVjdC5hc3NpZ24oe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lc30sZGJTKCkpKTtyZXR1cm4hMH07Cmw1VT1mdW5jdGlvbihuLFcpe24uUygiaHRtbDVfbG9nX21lZGlhX3BlcmZfaW5mbyIpJiYobi5MLlUoInBlcmZkYiIsZGJTKCkpLG4uTC5VKCJzZXNzaW9ucGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMoUUMuZW50cmllcygpKSksbi5MLlUoInBsYXliYWNrcGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMobi5XLmVudHJpZXMoKSkpLG4uTC5VKCJod2MiLHtuY2g6bmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3l9LCEwKSxXJiZuLkwuVSgibWNkYiIse2l0YWdzOlcuTi52aWRlb0luZm9zLmZpbHRlcihEPT5ELmo/LnNtb290aD09PSExKS5tYXAoRD0+RC5pdGFnKS5qb2luKCItIil9KSl9OwpiQT1mdW5jdGlvbihuLFcsRD0hMSl7bi5ZYT8uV1goKSYmbi5ZYS5VKCJybXMiLFcsRCl9OwpvdT1mdW5jdGlvbihuKXtuPW4uTygpO3JldHVybiBuLmxlbmd0aDwxP05hTjpuLmVuZChuLmxlbmd0aC0xKX07ClRvaT1mdW5jdGlvbihuLFcpe24uWGImJm4uWGIuZXF1YWxzKFcpfHwobi5YYiYmbi5YYi5kaXNwb3NlKCksbi5YYj1XKX07CmpJaj1mdW5jdGlvbihuKXshbi5XJiZjUigpJiYobi5qP24uai50aGVuKCgpPT5qSWoobikpOm4uWF8oKXx8KG4uVz1uLlV6KCkpKX07CkNNeD1mdW5jdGlvbihuLFcsRCl7bi5pc1BhdXNlZCgpfHxuLmdldEN1cnJlbnRUaW1lKCk+V3x8RD4xMHx8KG4ucGxheSgpLGcubiQoKCk9PntDTXgobixuLmdldEN1cnJlbnRUaW1lKCksRCsxKX0sNTAwKSl9OwpCb3Q9ZnVuY3Rpb24obixXKXtpZihuLlgoKT09PTB8fG4uaGFzRXJyb3IoKSlyZXR1cm4hMTt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gVz49MCYmKG49bi5PKCksbi5sZW5ndGh8fCFEKT9CUihuLFcpOkR9OwpkUz1mdW5jdGlvbihuKXtpZihuLlhfKCl8fG4uVEMoKSluLllhJiZuLllhLkNjKCJyc19zIiksZy5NTCYmbi5nZXRDdXJyZW50VGltZSgpPjAmJm4uc2Vla1RvKDApLG4uVlEoKSxuLmUkKCksbi5sb2FkKCksVG9pKG4sbnVsbCk7ZGVsZXRlIG4uan07CkZnYj1mdW5jdGlvbihuKXt2YXIgVz1uLkooKTtyZXR1cm4gTSQoVykmJm4uZ2V0RHVyYXRpb24oKT9XLmVuZChXLmxlbmd0aC0xKTowfTsKelg9ZnVuY3Rpb24obil7c3dpdGNoKG4uVkcoKSl7Y2FzZSAyOnJldHVybiJwcm9ncmVzc2l2ZS5uZXQucmV0cnlleGhhdXN0ZWQiO2Nhc2UgMzpyZXR1cm4gbj1uLnM4KCksbj8uaW5jbHVkZXMoIk1FRElBX0VSUl9DQVBBQklMSVRZX0NIQU5HRUQiKXx8d1VNJiZuPy5pbmNsdWRlcygiYXVkaW9fb3V0cHV0X2NoYW5nZSIpPyJjYXBhYmlsaXR5LmNoYW5nZWQiOiJmbXQuZGVjb2RlIjtjYXNlIDQ6cmV0dXJuImZtdC51bnBsYXlhYmxlIjtjYXNlIDU6cmV0dXJuImRybS51bmF2YWlsYWJsZSI7Y2FzZSAxRTM6cmV0dXJuImNhcGFiaWxpdHkuY2hhbmdlZCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19OwpNd2g9ZnVuY3Rpb24obil7dmFyIFc9bnVsbDtuWzRdJiYoVz1uWzRdLFc9e2Vycm9yQ29kZTpXWzVdLGVycm9yRGV0YWlsOldbNl0sZXJyb3JNZXNzYWdlOldbN10saHk6V1s4XSxUaDpXWzldLHdpOldbMTBdLEp4OldbMTFdLGNwbjpXWzEyXX0pO3JldHVybiBuZXcgZy5sbShuWzFdLFcsblsyXSxuWzNdKX07CmwxPWZ1bmN0aW9uKG4pe3JldHVybiBuLmlzUGxheWluZygpJiYhbi5OKDE2KSYmIW4uTigzMil9OwpUWD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OKDEyOCk/LTE6bi5OKDIpPzA6bi5OKDIwNDgpPzM6bi5OKDY0KT8tMTpuLk4oMSkmJiFuLk4oMzIpPzM6bi5OKDgpPzE6bi5OKDQpPzI6LTF9OwpqMD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCEoVz09PW4uc3RhdGUmJkQ9PT1uLmhPJiZiPT09bi5zZWVrU291cmNlJiZ2PT09bi5zdG9wcGFnZVJlYXNvbnx8VyE9PXZvaWQgMCYmKFcmMTI4JiYhRHx8VyYyJiZXJjE2KSkpe3ZhciBrO2lmKGs9VylrPVd8fG4uc3RhdGUsaz0hIShrJjE2fHxrJjMyKTtuPW5ldyBnLmxtKFcsRCxrP2I/YjpuLnNlZWtTb3VyY2U6bnVsbCx2KX1yZXR1cm4gbn07CkNDPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gUjhDKG4sVy5nZXRDdXJyZW50VGltZSgpLCgwLGcuUikoKSxXLnpzKCksRCl9OwpCcj1mdW5jdGlvbihuLFcsRD1udWxsLGI9bnVsbCl7cmV0dXJuIGowKG4sbi5zdGF0ZXxXLG51bGwsRCxiKX07CkZiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGowKG4sbi5zdGF0ZSZ+VyxudWxsLG51bGwsbnVsbCl9Owp3Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwsdj1udWxsKXtyZXR1cm4gajAobiwobi5zdGF0ZXxXKSZ+RCxudWxsLGIsdil9OwpRSVM9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zdGF0ZT09PW4uc3RhdGUmJlcuaE89PT1uLmhPfTsKVndNPWZ1bmN0aW9uKG4pe3N3aXRjaChuLkIucGxheWVyQ2FuYXJ5U3RhZ2U/LnRvTG93ZXJDYXNlKCkpe2Nhc2UgInhzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWFNNQUxMIjtjYXNlICJzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfU01BTEwiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTUVESVVNIjtjYXNlICJsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTEFSR0UiO2Nhc2UgInhsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWExBUkdFIjtkZWZhdWx0OnJldHVybiJIVE1MNV9QTEFZRVJfQ0FOQVJZX1NUQUdFX1VOU1BFQ0lGSUVEIn19OwpjSWo9ZnVuY3Rpb24obil7bi5OPj0wfHwobi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09Mz9uLlY9ITA6KG4uTj1nLlJrKG4ucHJvdmlkZXIpLG4uZGVsYXkuc3RhcnQoKSkpfTsKYTVyPWZ1bmN0aW9uKG4pe2lmKCEobi5KPDApKXt2YXIgVz1nLlJrKG4ucHJvdmlkZXIpLEQ9Vy1uLmo7bi5qPVc7bi5wbGF5ZXJTdGF0ZS5KKCk/bi5wbGF5VGltZVNlY3MrPUQ6bi5wbGF5ZXJTdGF0ZS5pc0J1ZmZlcmluZygpJiYhbi5wbGF5ZXJTdGF0ZS5OKDE2KSYmKG4ucmVidWZmZXJUaW1lU2Vjcys9RCl9fTsKUnU9ZnVuY3Rpb24obixXPSExKXtuLk4uWD1XO24uTi5zdGFydFRpbWU9bi5XO24uTi5lbmRUaW1lPW4uSjtuLmpWPy5sZW5ndGgmJihuLk4ualY9bi5qVik7bi5yWD8ubGVuZ3RoJiYobi5OLnJYPW4uclgpO1c9ITE7dmFyIEQ9Zy5VTShuLnNlZ21lbnRzKTtuLnNlZ21lbnRzLmxlbmd0aCYmIUQ/LlgmJkQ/LmlzRW1wdHkoKT8obi5zZWdtZW50c1tuLnNlZ21lbnRzLmxlbmd0aC0xXS5wcmV2aW91c2x5RW5kZWQmJihuLk4ucHJldmlvdXNseUVuZGVkPSEwKSxuLnNlZ21lbnRzW24uc2VnbWVudHMubGVuZ3RoLTFdPW4uTixXPSEwKTpuLnNlZ21lbnRzLmxlbmd0aCYmbi5OLmlzRW1wdHkoKSYmIW4uTi5YfHwobi5zZWdtZW50cy5wdXNoKG4uTiksVz0hMCk7Vz8obi5OLmVuZFRpbWU9PT0wJiYobi5wcmV2aW91c2x5RW5kZWQ9ITEpLG4uTi5yWD8ubGVuZ3RoJiZuLnByb3ZpZGVyLkwuVSgic2RhaSIse2F0dGFjaF9tZXRhOjEsc3Q6bi5OLnN0YXJ0VGltZSxldDpuLk4uZW5kVGltZSxzZWdfaWR4Om4uc2VnbWVudHMubGVuZ3RoLQoxfSkpOm4uTi5wcmV2aW91c2x5RW5kZWQmJihuLnByZXZpb3VzbHlFbmRlZD0hMCk7bi5WKz1uLkotbi5XO24uTj1NbShuLnByb3ZpZGVyKTtuLk4ucHJldmlvdXNseUVuZGVkPW4ucHJldmlvdXNseUVuZGVkO24ucHJvdmlkZXIuQi5adCgpLk4uUVEobm9yKSYmKG4uais9SlNPTi5zdHJpbmdpZnkobi5OKS5sZW5ndGgpO24ucHJldmlvdXNseUVuZGVkPSExO24uVz1uLko7cmV0dXJuIFc/Zy5VTShuLnNlZ21lbnRzKTp2b2lkIDB9OwpXM1o9ZnVuY3Rpb24obil7RHIobi5LKTtuLks9TmFOfTsKRGoyPWZ1bmN0aW9uKG4pe1czWihuKTtuLks9VzAoKCk9PntuLnVwZGF0ZSgpfSwxMDApOwpuLnJ6PWcuUmsobi5wcm92aWRlcik7bi5OPU1tKG4ucHJvdmlkZXIpfTsKYlh0PWZ1bmN0aW9uKG4sVyxEKXtELT1uLnJ6O3JldHVybiBXPT09bi5KJiZEPi41fTsKZy5RMz1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnZpc2l0b3JEYXRhOnZvaWQgMDtyZXR1cm4gZy5IRShuLkIsbi5hY2Nlc3NUb2tlbikudGhlbihiPT5qUihuLnVyaSxuLkIsbi5wYWdlSWQsRCxiLFcpKX07Cmcudm9qPWZ1bmN0aW9uKG4pe24uaW5kZXhPZigid2F0Y2h0aW1lIikhPT0tMSYmZy56VSgiZ2VsRGVidWdnaW5nRXZlbnQiLHt2c3MzZGVidWdnaW5nRXZlbnQ6e3ZzczJQaW5nOm59fSl9OwprcGk9ZnVuY3Rpb24obixXKXtuLmF0dGVzdGF0aW9uUmVzcG9uc2UmJmcuUTMobikudGhlbihEPT57RD1EfHx7fTtELm1ldGhvZD0iUE9TVCI7RC5wb3N0UGFyYW1zPXthdHI6bi5hdHRlc3RhdGlvblJlc3BvbnNlfTtuLlMkP24uVlE/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLEQpOmcuSFUoKS5zZW5kVGhlbldyaXRlKFcsRCk6Zy5lZChXLEQpfSl9OwpoeWk9ZnVuY3Rpb24obil7dmFyIFc9e08zOltdfTtpZihnLm9NKG4uc2VnbWVudHMsRD0+ISFELmpWfHwhIUQuclgpKXtmb3IobGV0IEQgb2Ygbi5zZWdtZW50cylXLk8zLnB1c2goe2pWOkQualZ8fFtdLApyWDpELnJYfHxbXX0pO249Zy5saCh7Ykw6V30sUV8xKTtyZXR1cm4gZy5FQShuLDQpfX07CmJKPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuaV8oVyxuLkopLmpvaW4oIiwiKX07CnZ5TT1mdW5jdGlvbihuLFcpe2lmKFcmJm4uail7dmFyIEQ9bmV3IFNldChbInEiLCJmZWF0dXJlIiwibW9zIl0pLGI9bmV3IFNldCgiYXV0b3BsYXkgY2wgbGVuIGZleHAgZGVsYXkgZWwgbnMgYWRmb3JtYXQiLnNwbGl0KCIgIikpLHY9bmV3IFNldChbImFxaSIsImF1dG9uYXYiLCJsaXN0Iiwic3NydCIsInVwdCJdKTtuLmoubnM9PT0iM3BwIiYmKFcubnM9IjNwcCIpO2ZvcihsZXQgayBvZiBPYmplY3Qua2V5cyhuLmopKWIuaGFzKGspfHxELmhhcyhrKXx8di5oYXMoaykmJiFuLmpba118fChXW2tdPW4ualtrXSl9fTsKeGpqPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJwbGF5aW5nIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX1BMQVlJTkciO2Nhc2UgInBhdXNlZCI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9QQVVTRUQiO2Nhc2UgImJ1ZmZlcmluZyI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9CVUZGRVJJTkciO2Nhc2UgInNlZWtpbmciOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU0VFS0lORyI7Y2FzZSAiZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfRU5ERUQiO2Nhc2UgImVycm9yIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX0VSUk9SIjtjYXNlICJzdXNwZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU1VTUEVOREVEIjtjYXNlICJ1bnN0YXJ0ZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5TVEFSVEVEIjtkZWZhdWx0OnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5LTk9XTiJ9fTsKTDN4PWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDE6cmV0dXJuIlZJU19NSU5JTUlaRUQiO2Nhc2UgMjpyZXR1cm4iVklTX0ZVTExTQ1JFRU4iO2Nhc2UgMzpyZXR1cm4iVklTX0JBQ0tHUk9VTkQiO2Nhc2UgNDpyZXR1cm4iVklTX0FJUlBMQVkiO2Nhc2UgNTpyZXR1cm4iVklTX0lOTElORSI7Y2FzZSA2OnJldHVybiJWSVNfVlIiO2Nhc2UgNzpyZXR1cm4iVklTX1BJQ1RVUkVfSU5fUElDVFVSRSI7Y2FzZSA4OnJldHVybiJWSVNfSU1NRVJTSVZFX1BSRVZJRVciO2Nhc2UgOTpyZXR1cm4iVklTX1NRVUVFWkVCQUNLIjtjYXNlIDEwOnJldHVybiJWSVNfVEhFQVRFUiI7Y2FzZSAzMTpyZXR1cm4iVklTX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIlZJU19ERUZBVUxUIn19OwpleWo9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4iQ09OTl9VTktOT1dOIjtjYXNlIDI6cmV0dXJuIkNPTk5fTk9ORSI7Y2FzZSAzOnJldHVybiJDT05OX1dJRkkiO2Nhc2UgNDpyZXR1cm4iQ09OTl9DRUxMVUxBUl8yRyI7Y2FzZSA1OnJldHVybiJDT05OX0NFTExVTEFSXzNHIjtjYXNlIDY6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNEciO2Nhc2UgNzpyZXR1cm4iQ09OTl9DRUxMVUxBUl9VTktOT1dOIjtjYXNlIDg6cmV0dXJuIkNPTk5fRElTQ08iO2Nhc2UgOTpyZXR1cm4iQ09OTl9DRUxMVUxBUl81RyI7Y2FzZSAxMDpyZXR1cm4iQ09OTl9XSUZJX01FVEVSRUQiO2Nhc2UgMTE6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfU0EiO2Nhc2UgMTI6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfTlNBIjtjYXNlIDMwOnJldHVybiJDT05OX1dJUkVEIjtjYXNlIDMxOnJldHVybiJDT05OX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIkNPTk5fREVGQVVMVCJ9fTsKZy5jcj1mdW5jdGlvbihuLFcpe3ZhciBEPVYzKG4ucHJvdmlkZXIpO09iamVjdC5hc3NpZ24oRCx7c3RhdGU6bi5YfSk7Vz1uZXcgZ29oKG4ucHJvdmlkZXIudmlkZW9EYXRhLG4ucHJvdmlkZXIuQixXLEQpO1cuTj1uLnByb3ZpZGVyLkwub3QoKTtEPW4ucHJvdmlkZXIudmlkZW9EYXRhLmNsaWVudFBsYXliYWNrTm9uY2U7Vy5OPW4ucHJvdmlkZXIuTC5vaChEKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFcuZSQ9bi5wcm92aWRlci5MLmdldER1cmF0aW9uKEQpKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5OJiYoRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKFcuTikpJiYoVy5ZPUQtVy5OKTtEPW4ucHJvdmlkZXIuTC5TVygpO1cuTis9RDtXLlkhPW51bGwmJihXLlktPUQpO1cud2E9Zy5SayhuLnByb3ZpZGVyKTtXLnNlZ21lbnRzPVtNbShuLnByb3ZpZGVyKV07cmV0dXJuIFd9OwpYSVo9ZnVuY3Rpb24obil7dmFyIFc9bi5wcm92aWRlci52aWRlb0RhdGEubFEsRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5IWSxiPVsxMCtXLDEwLDEwLDQwK0QtVyw0MF0sdj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nLGs9dj8udmlkZW9zdGF0c1NjaGVkdWxlZEZsdXNoV2FsbHRpbWVTZWNvbmRzO3Y9dj8udmlkZW9zdGF0c0RlZmF1bHRGbHVzaEludGVydmFsU2Vjb25kcztpZighKGsmJmsubGVuZ3RoPjAmJnYpKXJldHVybiBiO1c9W2tbMF0rVywuLi5rLnNsaWNlKDEpLm1hcCgoaCx4KT0+aC1rW3hdKSwKditELVcsdl07cmV0dXJuIFcuc29tZShoPT5oPDApPyhnLmNfKG4ubG9nZ2VyLDM0NzExMTg1NSxgTmVnIHZzcyBzY2hlZHVsZWQgcGluZ3MgJHtrfSAke3Z9YCksYik6V307CmF1PWZ1bmN0aW9uKG4sVz1OYU4pe3ZhciBEPWcuUmsobi5wcm92aWRlcik7Vz1pc05hTihXKT9EOlc7Vz1NYXRoLmNlaWwoVyk7dmFyIGI9bi5lJFtuLnR3XTtuLnR3KzE8bi5lJC5sZW5ndGgmJm4udHcrKzt2YXIgdj1XK2I7bi5ZPWcubiQoKCk9PntpZighbi5xTigpKXtuLlk9TmFOO3ZhciBrPW4uUyQoKSxoPXE5MShuLGspO2guTz12O3ZhciB4PW4ubnU+MUUzOyEoay5sZW5ndGg+MSkmJmtbMF0uaXNFbXB0eSgpfHx4fHwoaC5LPWF1KG4sdikpO2lmKG4uY0ope2s9a1trLmxlbmd0aC0xXTtpZih4PW4uVEMpe3g9azt2YXIgTD1uLlRDO3g9eC5zdGFydFRpbWU9PT1MLnN0YXJ0VGltZSYmeC5lbmRUaW1lPT09TC5lbmRUaW1lfXh8fG51KG4sW2tdKX1oLnNlbmQoKTtuLm51Kyt9fSwodi1EKSoxRTMpOwpyZXR1cm4gbi5KPXZ9OwpXZD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuQjtnLkhFKG4ucHJvdmlkZXIuQixuLnByb3ZpZGVyLnZpZGVvRGF0YS5WKCkpLnRoZW4oYj0+e3ZhciB2PW4ucHJvdmlkZXIuQi5wYWdlSWQsaz1uLnByb3ZpZGVyLkIuc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnByb3ZpZGVyLnZpZGVvRGF0YS52aXNpdG9yRGF0YTp2b2lkIDAsaD1uLnByb3ZpZGVyLkIuUygidnNzX3BpbmdzX3VzaW5nX25ldHdvcmtsZXNzIil8fG4ucHJvdmlkZXIuQi5TKCJrZXZsYXJfd29mZmxlIikseD1uLnByb3ZpZGVyLkIuUygiYWxsb3dfc2tpcF9uZXR3b3JrbGVzcyIpO2I9alIoVyxELHYsayxiKTtDRChXLGIse3Rva2VuOm4ucHJvdmlkZXIudmlkZW9EYXRhLmtXLHlvOm4ucHJvdmlkZXIudmlkZW9EYXRhLlF2LG1keEVudmlyb25tZW50Om4ucHJvdmlkZXIudmlkZW9EYXRhLm1keEVudmlyb25tZW50fSxELHZvaWQgMCxoJiYheCwhMSwhMCl9KX07CnE5MT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuY3Iobiwid2F0Y2h0aW1lIik7RDcobikmJihELmRlbGF5VGhyZXNob2xkTWV0PSEwLG4uRHQ9ITApO2lmKG4uaj4wKXtsZXQgYj1uLnByb3ZpZGVyLkwuU1coKTtmb3IobGV0IHYgb2YgVyl2LnN0YXJ0VGltZS09bi5qK2Isdi5lbmRUaW1lLT1uLmorYjtELk4tPW4uaitifWVsc2UgRC5OPW4uTi5KO0Quc2VnbWVudHM9VztyZXR1cm4gRH07Cm51PWZ1bmN0aW9uKG4sVyxEPSExKXtmb3IobGV0IFt4LExdb2YgVy5lbnRyaWVzKCkpe2xldCBlPXgsRz1MO3ZhciBiPW4sdj1WMyhiLnByb3ZpZGVyKTtPYmplY3QuYXNzaWduKHYse3N0YXRlOmIuWH0pO09iamVjdC5hc3NpZ24odix7c2VxdWVuY2VJZDpiLnNlcXVlbmNlSWR9KTtiLnByb3ZpZGVyLkIuUygid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIikmJk9iamVjdC5hc3NpZ24odix7c2VuZElzb2xhdGVkUGF5bG9hZDohMH0pO3ZhciBrPWIsaD1rLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nPy52c3MzQ29uZmlnPy52c3MzU2NoZWR1bGluZ0NvbmZpZztoJiYoaD1oLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3MmJihEYXRlLm5vdygpLWsuR0MpLzFFMzxoLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3M/aC5lYXJseVNlZ21lbnRNYXhpbXVtTGVuZ3RoU2VjczpoLmRlZmF1bHRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3MsCkcuc2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWsuVEM/Lm5leHRTY2hlZHVsZWRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3M/P2gsRy5uZXh0U2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWgpO2s9bmV3IEdwYihHLGIucHJvdmlkZXIudmlkZW9EYXRhLHYpO2IuSEomJihrLmlzRG91YmxlTG9nZ2VkPSExKTt2PWs7Yi5wcm92aWRlci52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2t8fCh2Lm1lZGlhTGVuZ3RoU2VjPWIucHJvdmlkZXIuTC5nZXREdXJhdGlvbihiLnByb3ZpZGVyLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlKSk7aWYoYi5wcm92aWRlci52aWRlb0RhdGEuTil7aD1iLnByb3ZpZGVyLkwub3QoKTtsZXQgcj1iLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKGgpO3ImJih2LmxpdmVJbmdlc3Rpb25PZmZzZXRVc2VjPShyLWgpKjFFNil9RDcoYikmJih2LmRlbGF5VGhyZXNob2xkTWV0PSEwLGIuRHQ9ITApO0QmJmU9PT1XLmxlbmd0aC0xJiYoay5pc0ZpbmFsPQohMCxuLkZGPSEwKTtrLnNlbmQoKTtuLnNlcXVlbmNlSWQrKztuLlRDPUd9fTsKRDc9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz1uLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xvYWRlZCgpJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5vRCYmbi5XJiYhbi5EdClXPW4uTixXPVcuVitXLm90KCktVy5XPj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5vRDtyZXR1cm4hIVd9OwpiVj1mdW5jdGlvbihuLFcsRD0hMSl7RD1uLksoIWlzTmFOKG4uSiksITEsRCk7VyYmKG4uSj1OYU4pO3JldHVybiBEfTsKdFpNPWZ1bmN0aW9uKG4pe24ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCYmIW4uQ3UmJihXZChuLG4ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCksbi5DdT0hMCl9Owokalo9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuZ29vZ2xlUmVtYXJrZXRpbmdVcmwmJiFuLlBYJiYoV2QobixuLnByb3ZpZGVyLnZpZGVvRGF0YS5nb29nbGVSZW1hcmtldGluZ1VybCksbi5QWD0hMCl9Owp2ZD1mdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlcpe24uWD0icGF1c2VkIjt2YXIgVz1iVihuLCExLCEwKTtXLmlzRmluYWw9ITA7Vy5zZW5kKCk7bi5kaXNwb3NlKCl9fTsKcnB0PWZ1bmN0aW9uKG4sVyxEKXtpZighbi52Sil7RHx8KEQ9Zy5jcihuLCJhdHIiKSk7RC5hdHRlc3RhdGlvblJlc3BvbnNlPVc7dHJ5e0Quc2VuZCgpfWNhdGNoKGIpe2lmKGIubWVzc2FnZSE9PSJVbmtub3duIEVycm9yIil0aHJvdyBiO31uLnZKPSEwfX07CmcuUms9ZnVuY3Rpb24obil7cmV0dXJuIGcuc2JyKG4pKCl9OwpjY1o9ZnVuY3Rpb24obil7dmFyIFc9bmF2aWdhdG9yLmNvbm5lY3Rpb24/LnR5cGV8fCIiO2lmKFcpcmV0dXJuIE5FcltXXXx8TkVyLm90aGVyO2lmKGcuazYobi5CKSl7bj1uYXZpZ2F0b3IudXNlckFnZW50O2lmKC9bV3ddaXJlbGVzc1spXS8udGVzdChuKSlyZXR1cm4gMztpZigvW1d3XWlyZWRbKV0vLnRlc3QobikpcmV0dXJuIDMwfXJldHVybiAwfTsKTW09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHBJMjtXLko9VjMobikuY2M/LnRvU3RyaW5nKCl8fCItIjtXLnBsYXliYWNrUmF0ZT1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7dmFyIEQ9bi5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO0QhPT0wJiYoVy52aXNpYmlsaXR5U3RhdGU9RCk7bi5CLkR0JiYoVy5XPTEpO1cuaj1uLnZpZGVvRGF0YS5wUjtXLmNvbXBvc2l0ZUxpdmVTdGF0dXNUb2tlbj1uLnZpZGVvRGF0YS5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW47Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW49bi52aWRlb0RhdGEuaGVhcnRiZWF0TG9nZ2luZ1Rva2VuO0Q9bi5MLmdldEF1ZGlvVHJhY2soKTtELmtaJiZELmtaLmlkJiZELmtaLmlkIT09InVuZCImJihXLmF1ZGlvSWQ9RC5rWi5pZCk7Vy5jb25uZWN0aW9uVHlwZT1jY1oobik7Vy52b2x1bWU9bi5MLmdldFZvbHVtZSgpO1cubXV0ZWQ9bi5MLmlzTXV0ZWQoKTtXLmNsaXBJZD1uLkwuRm4oKXx8Ii0iO1cuTj1uLnZpZGVvRGF0YS5WZnx8CiItIjtyZXR1cm4gV307ClYzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTC5oaCgpfHx7fTtXLmZzPW4uTC52MygpO1cudm9sdW1lPW4uTC5nZXRWb2x1bWUoKTtXLm11dGVkPW4uTC5pc011dGVkKCk/MTowO1cubW9zPVcubXV0ZWQ7Vy5jbGlwaWQ9bi5MLkZuKCk7Vy5wbGF5ZXJoZWlnaHQ9bi5MLmdldFBsYXllclNpemUoKT8uaGVpZ2h0fHwwO1cucGxheWVyd2lkdGg9bi5MLmdldFBsYXllclNpemUoKT8ud2lkdGh8fDA7bj1uLnZpZGVvRGF0YTt2YXIgRD17fTtuLkomJihELmZtdD1uLkouaXRhZyxuLlgmJihuLlZRP24uWC5pdGFnIT09bi5KLml0YWc6bi5YLml0YWchPW4uSi5pdGFnKSYmKEQuYWZtdD1uLlguaXRhZykpO0QuZWk9bi5ldmVudElkO0QubGlzdD1uLnBsYXlsaXN0SWQ7RC5jcG49bi5jbGllbnRQbGF5YmFja05vbmNlO24udmlkZW9JZCYmKEQudj1uLnZpZGVvSWQpO24ueWwmJihELmluZnJpbmdlPTEpOyhuLmZCPzA6bi5QWCkmJihELnNwbGF5PTEpO3ZhciBiPXJsKG4pO2ImJihELmxpdmU9Yik7bi5WVCYmCihELnNhdXRvcGxheT0xKTtuLkd1JiYoRC5hdXRvcGxheT0xKTtuLnd1JiYoRC5zZGV0YWlsPW4ud3UpO24ucGFydG5lcklkJiYoRC5wYXJ0bmVyaWQ9bi5wYXJ0bmVySWQpO24ub3NpZCYmKEQub3NpZD1uLm9zaWQpO24uWm0mJihELmNjPWcubmcobi5abSkpO3JldHVybiBPYmplY3QuYXNzaWduKFcsRCl9OwpnLnNicj1mdW5jdGlvbihuKXtpZighbi5OKXtsZXQgVz0oMCxnLlIpKCk7bi5OPSgpPT5NYXRoLnJvdW5kKCgwLGcuUikoKS1XKS8xRTM7Cm4uTC5RYigpfXJldHVybiBuLk59OwpnLmswPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uc3RhdGUuTihXKSYmIW4ub2xkU3RhdGUuTihXKT8xOiFuLnN0YXRlLk4oVykmJm4ub2xkU3RhdGUuTihXKT8tMTowfTsKaEM9ZnVuY3Rpb24obil7bi5KJiZjSWoobi5KKTtuLnFvZSYmeEJoKG4ucW9lKX07CkhYMj1mdW5jdGlvbihuLFcsRCxiKXtELmFkRm9ybWF0PUQuRkY7dmFyIHY9Vy5MO1c9bmV3IGcueDAobmV3IFk5UyhELFcuQix7Z2V0RHVyYXRpb246KCk9PkQubGVuZ3RoU2Vjb25kcywKZ2V0Q3VycmVudFRpbWU6KCk9PnYuZ2V0Q3VycmVudFRpbWUoKSwKb3Q6KCk9PnYub3QoKSwKb2g6KCk9PnYub2goKSwKSEs6KCk9PnYuSEsoKSwKZ2V0UGxheWVyU2l6ZTooKT0+di5nZXRQbGF5ZXJTaXplKCksCmdldEF1ZGlvVHJhY2s6KCk9PkQuZ2V0QXVkaW9UcmFjaygpLApnZXRQbGF5YmFja1JhdGU6KCk9PnYuZ2V0UGxheWJhY2tSYXRlKCksCkVjOigpPT52LkVjKCksCmdldFZpc2liaWxpdHlTdGF0ZTooKT0+di5nZXRWaXNpYmlsaXR5U3RhdGUoKSwKZUc6KCk9PnYuZUcoKSwKaGg6KCk9PnYuaGgoKSwKZ2V0Vm9sdW1lOigpPT52LmdldFZvbHVtZSgpLAppc011dGVkOigpPT52LmlzTXV0ZWQoKSwKdjM6KCk9PnYudjMoKSwKRm46KCk9PnYuRm4oKSwKZ2V0UHJveGltYUxhdGVuY3lQcmVmZXJlbmNlOigpPT52LmdldFByb3hpbWFMYXRlbmN5UHJlZmVyZW5jZSgpLApRYigpe3YuUWIoKX0sVShrLGgpe3YuVShrLGgpfSxPMDooKT0+di5PMCgpLApTVzooKT0+di5TVygpLAp6czprPT52LnpzKGspfSkpOwpXLmo9YjtnLnUobixXKTtyZXR1cm4gV307CmZBdD1mdW5jdGlvbihuKXtuLkomJm4uSi5zZW5kKCk7aWYobi5xb2Upe3ZhciBXPW4ucW9lO2lmKFcuVil7Vy5OPT09IlBMIiYmKFcuTj0iTiIpO3ZhciBEPWcuUmsoVy5wcm92aWRlcik7Zy53aihXLEQsInZwcyIsW1cuTl0pO1cuRHx8KFcuWD49MCYmVy5KLnNldCgidXNlcl9pbnRlbnQiLFtXLlgudG9TdHJpbmcoKV0pLFcuRD0hMCk7Vy5wcm92aWRlci5CLldYKCkmJlcuVSgiZmluYWxpemVkIix7fSk7Vy5TJD0hMDtXLnJlcG9ydFN0YXRzKEQpfX1pZihuLnByb3ZpZGVyLnZpZGVvRGF0YS5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaSlmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKXZkKGIpO2Vsc2Ugbi5OJiZ2ZChuLk4pO24uZGlzcG9zZSgpfTsKSnBVPWZ1bmN0aW9uKG4pe2lmKCFuLk4pcmV0dXJuIG51bGw7dmFyIFc9Zy5jcihuLk4sImF0ciIpO3JldHVybiBEPT57bi5OJiZycHQobi5OLEQsVyl9fTsKSUFoPWZ1bmN0aW9uKG4sVyl7bj1EZShuLmFycmF5LEQ9PlctRC5zdGFydHx8MSk7CnJldHVybiBuPDA/LShuKzEpOm59OwpTOWI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO2ZvcihXPUlBaChuLFcpO1c8bi5hcnJheS5sZW5ndGg7KytXKXtsZXQgdj1uLmFycmF5W1ddOyh2LmVuZDw9RHx8di5jb250YWlucyhEKSkmJmIucHVzaCh2KTtpZih2LnN0YXJ0PkQpYnJlYWt9cmV0dXJuIGJ9OwpnLkx1PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIG4uYXJyYXkpaWYoYi5jb250YWlucyhXKSYmRC5wdXNoKGIpLGIuc3RhcnQ+VylicmVhaztyZXR1cm4gRH07CkFwaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5hcnJheS5zbGljZShJQWgobiwweDdmZmZmZmZmZmZmZmYpLG4uYXJyYXkubGVuZ3RoKX07Cm1qdD1mdW5jdGlvbihuLFcpe3ZhciBEPU5hTjtmb3IobGV0IGIgb2Ygbi5hcnJheSlpZihiLmNvbnRhaW5zKFcpJiYoaXNOYU4oRCl8fGIuZW5kPEQpJiYoRD1iLmVuZCksYi5zdGFydD5XJiYoaXNOYU4oRCl8fGIuc3RhcnQ8RCkpe0Q9Yi5zdGFydDticmVha31yZXR1cm4gRH07CkszVT1mdW5jdGlvbihuLFcpe24uYXJyYXk9bi5hcnJheS5maWx0ZXIoRD0+IVcuaGFzKEQpKX07Ck9YMj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFBsYXllclN0YXRlKCkuTigyKT8weDgwMDAwMDAwMDAwMDA6bi5MLmdldEN1cnJlbnRUaW1lKCkqMUUzfTsKZWg9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVy5sZW5ndGgpcmV0dXJuIEQ7Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07di5hY3RpdmUmJm4uVy5pbmRleE9mKHYpPT09LTEmJihuLlcucHVzaCh2KSxELnB1c2goWzEsdl0pKX1yZXR1cm4gRH07CmdzPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpVz1EWzFdLERbMF09PT0xP24uTC5DSihnLm95KFcubmFtZXNwYWNlKSxXKTpuLkwuQ0ooZy5kdihXLm5hbWVzcGFjZSksVyl9OwpYSj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdO2lmKCFXLmxlbmd0aClyZXR1cm4gRDtXLnNvcnQoZy51NSk7Zm9yKGxldCBiIG9mIFcpbi5XLnNwbGljZShuLlcuaW5kZXhPZihiKSwxKSxELnB1c2goWzIsYl0pO3JldHVybiBEfTsKUHlDPWZ1bmN0aW9uKG4pe2lmKG4uc3RhcnRlZCYmIW4ucU4oKSl7bi5qLnN0b3AoKTt2YXIgVz1uLkwuZ2V0UGxheWVyU3RhdGUoKTtXLk4oMzIpJiZuLlkuc3RhcnQoKTt2YXIgRD1PWDIobiksYj1uLmlzRW5kZWQoVyxEKSx2PVtdLGs9W107Zm9yKHZhciBoIG9mIG4uVyloLmFjdGl2ZSYmKGI/aC5lbmQ8MHg4MDAwMDAwMDAwMDAwOiFoLmNvbnRhaW5zKEQpKSYmay5wdXNoKGgpO3Y9di5jb25jYXQoWEoobixrKSk7aD1rPW51bGw7Yj8oVz1nLkx1KG4uTiwweDdmZmZmZmZmZmZmZmYpLGs9Vy5maWx0ZXIoeD0+eC5lbmQ8MHg4MDAwMDAwMDAwMDAwKSxoPUFwaihuLk4pKTpXPW4uWDw9RCYmbDEoVyk/UzliKG4uTixuLlgsRCk6Zy5MdShuLk4sRCk7CnY9di5jb25jYXQoZWgobixXKSk7ayYmKHY9di5jb25jYXQoWEoobixrKSkpO2gmJih2PXYuY29uY2F0KGVoKG4saCkpKTtuLlg9RDtncyhuLHYpfX07CnE5PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+bi5tZWRpYVRpbWUrbi5YJiZXPG4ubWVkaWFUaW1lKzV9OwpSOEM9ZnVuY3Rpb24obixXLEQsYix2PSExKXtpZihuLmxuJiYhaXNGaW5pdGUoVykpcmV0dXJuITE7aWYoYj1iPjEpbi5XPSEwO2lmKHZ8fGlzTmFOKG4uTikpbi5OPVc7aWYobi5zZWVraW5nKVchPT1uLm1lZGlhVGltZSYmKG4uc2Vla2luZz0hMSk7ZWxzZSBpZihXPjAmJm4ubWVkaWFUaW1lPT09Vyl7dj0xNTAwO2lmKG4uQi5TKCJodG1sNV9idWZmZXJfdW5kZXJydW5fdHJhbnNpdGlvbl9maXgiKSl7dj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzIik7bGV0IGs9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zIik7dj12PjAmJms+MCYmTWF0aC5hYnMoVy1uLk4pPHY/azoxNTAwfXJldHVybiBELW4uSj4oYnx8IW4uVz92OjQwMCl9bi5tZWRpYVRpbWU9VztuLko9RDtyZXR1cm4hMX07ClVqdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcudEEoRCkudGhlbigoKT0+Zy5IMChuZXcgWlhoKFcsVy5XKSksYj0+e2IgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShiKTsKdmFyIHY9dTgoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSwgbXA0YS40MC4yIicpLGs9ZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyksaD12fHxrLHg9Vy5pc0xpdmVQbGF5YmFjayYmIWcuSW4obi5XLCEwKTtiPSJmbXQubm9uZWF2YWlsYWJsZSI7eD9iPSJodG1sNS51bnN1cHBvcnRlZGxpdmUiOmh8fChiPSJodG1sNS5taXNzaW5nYXBpIik7aD14fHwhaD8yOjE7dj17YnVpbGRSZWo6IjEiLGE6Vy5JcCgpLGQ6ISFXLlRmLGRybTpXLk1pKCksZjE4OlcuY2YuaW5kZXhPZigiaXRhZz0xOCIpPj0wLGMxODp2fTtXLk4mJihXLk1pKCk/KHYuZjE0Mj0hIVcuTi5OWyIxNDIiXSx2LmYxNDk9ISFXLk4uTlsiMTQ5Il0sdi5mMjc5PSEhVy5OLk5bIjI3OSJdKToodi5mMTMzPSEhVy5OLk5bIjEzMyJdLHYuZjE0MD0hIVcuTi5OWyIxNDAiXSx2LmYyNDI9ISFXLk4uTlsiMjQyIl0pLHYuY0FBQz1rLHYuY0FWQz1keSgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFIicpLAp2LmNWUDk9ZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicpKTtXLmomJih2LmRybXN5cz1XLmoua2V5U3lzdGVtLGs9MCxXLmouSiYmKGs9T2JqZWN0LmtleXMoVy5qLkopLmxlbmd0aCksdi5kcm1zdD1rKTtyZXR1cm4gbmV3IGcuQ2koYix2LGgpfSl9Owp0Qz1mdW5jdGlvbihuLFcpe1c9TWF0aC5tYXgoTWF0aC5tYXgoMSxNYXRoLmNlaWwobi5wb2xpY3kuWC9HWShuKSkpLFcpO3JldHVybiBNYXRoLm1pbihNYXRoLm1pbig4LE1hdGguZmxvb3Iobi5wb2xpY3kuRC9HWShuKSkpLFcpfTsKR1k9ZnVuY3Rpb24obil7cmV0dXJuIG4udmlkZW9EYXRhLk4/b28obi52aWRlb0RhdGEuTil8fDU6NX07CiQwPWZ1bmN0aW9uKG4pe3JldHVybiBHWShuKSpuLk59OwpFb2k9ZnVuY3Rpb24obixXKXtpZihXKXJldHVybiBXPW4udmlkZW9EYXRhLFc9eXBiKG4saXNOYU4oVy5saXZlQ2h1bmtSZWFkYWhlYWQpPzM6Vy5saXZlQ2h1bmtSZWFkYWhlYWQsVyksdEMobixXKTtpZihuLkoubGVuZ3RoKXtpZihNYXRoLm1pbi5hcHBseShudWxsLG4uSik+MSlyZXR1cm4gdEMobixuLk4tMSk7aWYobi5wb2xpY3kuWSlyZXR1cm4gdEMobixuLk4rMSl9cmV0dXJuIG4uTn07CmlYUz1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLkoubGVuZ3RoKXJldHVybiExO3ZhciBEPW4uTjtuLk49RW9pKG4sVyk7aWYoVz1EIT09bi5OKW4uSj1bXSxuLmp4PTA7cmV0dXJuIFd9Owpycz1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5OO24uWHx8KFc9TWF0aC5tYXgoVy0xLDApKTtyZXR1cm4gVypHWShuKX07CnNCPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+PW4uTlcoKS1ycyhuKX07CnlwYj1mdW5jdGlvbihuLFcsRCl7RC5JUiYmVy0tO2hEKEQpJiYoVz0xKTt4cChEKSE9PTAmJihuPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfbGl2ZV9jaHVua19yZWFkYWhlYWRfcHJveGltYV9vdmVycmlkZSIpKSYmKFc9bixELk4/Lm51KCkmJlcrKyk7cmV0dXJuIFd9OwpwdT1mdW5jdGlvbihuLFcsRD1udWxsKXtyZXR1cm4gbmV3IE45KGcuZE0obi5CLmV4cGVyaW1lbnRzLFcpfHwwLEQ/bi5CLlMoRCk6ITEpfTsKdTRiPWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpZMD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe1c/Vy50ZXN0KEQpPyhuLkdzKHYsVyxoKSxXLlZ8fGsoKSk6KCFXLkp8fFcuWD9EPSExOihEPSgwLGcuUikoKSxiP1cuTnx8KFcuTj1EKTpXLk49MCxrPSFiJiZELVcuSj4zRTQsRD1XLk4mJkQtVy5OPjFFM3x8az9XLlg9ITA6ITEpLEQmJih4PXsuLi5uLnlyKFcpLC4uLnh9LHgud249aCx4LndlPXYseC53c3VjPWIsbi5MLlUoIndvcmthcm91bmRSZXBvcnQiLHgpLGImJihXLnJlc2V0KCksbi5YW3ZdPSExKSkpOm4uTC5QVigiYXV0aCIsMiwiQlJPV1NFUl9PUl9FWFRFTlNJT05fRVJST1IiLGcuVEMoe3NvdXJjZToid2F0Y2hkb2ciLG5hbWU6aH0pKX07Cm9veD1mdW5jdGlvbihuLFcpe2lmKG4uTil7dmFyIEQ9bi5OO3ZhciBiPW4uZ2V0Q3VycmVudFRpbWUoKSx2PUQuTlcoKTt2YXIgaz1ELnBvbGljeS5KO0QuWHx8KGs9TWF0aC5tYXgoay0xLDApKTtrKj1HWShEKTtiPj12LWt8fCFELmpYKCk/RD1iPEQudmlkZW9EYXRhLkxmKCk/TWF0aC5taW4oRC52aWRlb0RhdGEuTGYoKSsxMCxELk5XKCkpOk5hTjooRC5wb2xpY3kuaiYmKEQucG9saWN5Lk8/KEQucG9saWN5Lko9TWF0aC5taW4oRC5wb2xpY3kuSitELnBvbGljeS5LLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5taW4oRC5wb2xpY3kuTisxLDEwKSk6KEQucG9saWN5Lko9TWF0aC5tYXgoRC5wb2xpY3kuSisxLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5tYXgoRC5wb2xpY3kuTisxLDEwKSkpLEQ9SW5maW5pdHkpO2lmKCFpc05hTihEKSl7aWYobi5sb2FkZXImJlcmJihXPW4uUyQuaXNBY3RpdmUoKSxiPW4uTi5OVygpLChiPWlQUyhuLmxvYWRlcixiLW4uU1coKSkpJiYKIVcpKXtuLlMkLnN0YXJ0KCk7bi5MLlUoImluQnVmZmVyUHRsIix7Y210Om4uZ2V0Q3VycmVudFRpbWUoKSxzZWVrVG86YituLlNXKCl9KTtuLnNlZWtUbyhiK24uU1coKSx7cWQ6InNlZWt0aW1lbGluZV9pbkJ1ZmZlclNlZWsiLHNlZWtTb3VyY2U6MzR9KTtyZXR1cm59bi5zZWVrVG8oRCx7cWQ6InNlZWt0aW1lbGluZV9wZWdUb0xpdmUiLHNlZWtTb3VyY2U6MzR9KX19fTsKZnU9ZnVuY3Rpb24obixXKXtpZihuLlgpe24udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuLnZpZGVvRGF0YS5XJiYhbi52aWRlb0RhdGEuVy5OKCkmJm4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5YKCk+MCYmb3Uobi5tZWRpYUVsZW1lbnQpPjAmJihuLko9SGQobixuLkosITEpKTt2YXIgRD1uLlMoImh0bWw1X3BzZXVkb2dhcGxlc3Nfc2hvcnRzX3NlZWtfdG9fbmV4dF9zdGFydCIpJiZXPy5zZWVrU291cmNlPT09NjA7aWYoIW4ubWVkaWFFbGVtZW50fHwhZGpyKG4sRCkpbi5SYS5zdGFydCg3NTApO2Vsc2UgaWYoIWlzTmFOKG4uSikmJmlzRmluaXRlKG4uSikmJihEPW4uSEotKG4uSi1uLnRpbWVzdGFtcE9mZnNldCksIShEPT09MHx8TWF0aC5hYnMoRCk8LjAwNSkpKWlmKEQ9bi5tZWRpYUVsZW1lbnQuZ2V0Q3VycmVudFRpbWUoKS1uLkosTWF0aC5hYnMoRCk8PW4uRHR8fE1hdGguYWJzKEQpPC4wMDUpenkxKG4pO2Vsc2V7aWYobi52aWRlb0RhdGEuTWwpbi52aWRlb0RhdGEuTWw9CiExO2Vsc2UgaWYoIWcuRFAobi52aWRlb0RhdGEpJiZuLko+PW4uckkoKS0uMSYmKG4uckkoKSE9PTB8fFc/LnFkIT09InNlZWt0aW1lbGluZV9zZXR1cE1lZGlhRWxlbWVudCIpKXtuLko9bi5ySSgpO24uWC5yZXNvbHZlKG4uckkoKSk7bi5CLldYKCkmJm4uTC5VKCJzZXRFbmRlZEluU2VlayIse3RndDpgJHtuLkp9YCxtYXhzdDpgJHtuLnJJKCl9YH0pO24uTC5rTigpO3JldHVybn10cnl7bGV0IGI9bi5KLW4udGltZXN0YW1wT2Zmc2V0O24ubWVkaWFFbGVtZW50LnNlZWtUbyhiKTtuLk8uTj1iO24uSEo9YjtuLlc9bi5KO24uY0o9ITF9Y2F0Y2goYil7fX19fTsKVEUyPWZ1bmN0aW9uKG4sVyl7bi5UQz0hMDtuLmxuKCkmJihuLko9bi5WLG4uVz1uLkosbi5WPU5hTik7bEF0KG4sVyl9OwpqYjI9ZnVuY3Rpb24obil7dmFyIFc9MCxEPU5hTixiPSIiO2lmKCFuLkQpcmV0dXJue3N0YXJ0U2Vjb25kczpXLE12OkQsc291cmNlOmJ9O24udmlkZW9EYXRhLlJJP1c9bi52aWRlb0RhdGEuSlU6Zy5EUChuLnZpZGVvRGF0YSkmJihXPUluZmluaXR5KTtpZihnLnBBKG4udmlkZW9EYXRhKSlyZXR1cm57c3RhcnRTZWNvbmRzOlcsTXY6RCxzb3VyY2U6Yn07bi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzPyhiPSJzcyIsVz1uLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpOm4udmlkZW9EYXRhLlVyJiYoYj0ic3RzcyIsVz1uLnZpZGVvRGF0YS5Vcik7bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyYmKEQ9bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyk7aWYoaXNGaW5pdGUoVykmJihXPm4uckkoKXx8VzxuLkxmKCkpKXtsZXQgdj17fTt2Lm1pblNlZWthYmxlVGltZT1uLkxmKCk7di5tYXhTZWVrYWJsZVRpbWU9bi5ySSgpO3YuY210PW4uZ2V0Q3VycmVudFRpbWUoKTt2LnNzPQpXO3YudXRjPUQ7di5zcmM9YjtuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLHYpO24udmlkZW9EYXRhLnpXKCkmJihXPUhkKG4sVywhMSkpfXJldHVybntzdGFydFNlY29uZHM6VyxNdjpELHNvdXJjZTpifX07CkpDPWZ1bmN0aW9uKG4pe3JldHVybiEhbi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzJiZpc0Zpbml0ZShuLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpJiZuLnZpZGVvRGF0YS5zdGFydFNlY29uZHM+MUU5fTsKRjNiPWZ1bmN0aW9uKG4sVyl7bi5wbGF5YmFja0RhdGE9VztuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKG4uWT1uZXcgQ3laKCgpPT57YTp7aWYobi5wbGF5YmFja0RhdGEmJm4ucGxheWJhY2tEYXRhLk4uTigpKXtpZihJNChuLnZpZGVvRGF0YSkmJm4ubG9hZGVyKXt2YXIgRD1uLmxvYWRlci5xaCgpO2JyZWFrIGF9aWYobi52aWRlb0RhdGEuTil7RD1uLnZpZGVvRGF0YS5OLnFoKCk7YnJlYWsgYX19RD0wfXJldHVybiBEfSksbi5OPW5ldyBCRWIobi52aWRlb0RhdGEsbi5CLmV4cGVyaW1lbnRzLCgpPT5uLnJJKCEwKSkpOwpJYyhuLkwpPyhuLnZpZGVvRGF0YS5nVD8uQWp8fChXPWpiMihuKSxXLk12PyhnLllOKG4udmlkZW9EYXRhKSYmbi5odShXLk12LFcuc3RhcnRTZWNvbmRzKSxuLlc9Vy5zdGFydFNlY29uZHMpOlcuc3RhcnRTZWNvbmRzPjAmJm4uc2Vla1RvKFcuc3RhcnRTZWNvbmRzLHtxZDoic2Vla3RpbWVsaW5lX3N0YXJ0UGxheWJhY2siLHNlZWtTb3VyY2U6MTUsQU06ITB9KSksbi5EPSExKTpKQyhuKXx8KG4uVz1uLld8fG4udmlkZW9EYXRhLnN0YXJ0U2Vjb25kc3x8MCxuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFc9bi5MLnZpZGVvRGF0YS5ySSgpLG4uVz5XJiYobi5TKCJodG1sNV9zYWJyX2xvZ19pbnZhbGlkX3NhYnJfY3VycmVudF90aW1lIikmJm4uTC5VKCJpbnZhbGlkU2FickNtdFN0YXJ0Iix7cnQ6bi5XLG1zdDpXfSksbi5TKCJodG1sNV9zYWJyX3ZvZF9pbnZhbGlkX3N0YXJ0X3RpbWVfZmFsbGJhY2siKSYmKG4uVz0wKSkpKX07ClNoPWZ1bmN0aW9uKG4sVyl7aWYobi5OJiZuLmxvYWRlcil7dmFyIEQ9ITE7Vz9EPSEwOlN4KG4udmlkZW9EYXRhKT9EPWlYUyhuLk4pOm4uQ3UmJihuLkN1PSExLEQ9aVhTKG4uTiwhMCkpO0QmJihEPW4uTC5CWCxXPSQwKG4uTiksRC5xb2UmJihEPUQucW9lLGcud2ooRCxnLlJrKEQucHJvdmlkZXIpLCJscmEiLFtXXSksRC5VKCJsaXZlLXJlYWRhaGVhZC1zZWNvbmRzIix7djpXfSkpKTtXPW4ubG9hZGVyO0Q9bi5OLk47bj1uLk47bj0obi5OLTErbi5wb2xpY3kuTikqR1kobik7dmFyIGI9TmFOO3ZhciB2PVcuVHI7dj09PTJ8fHY9PT0tMT8odj1ELGhEKFcuTC5nZXRWaWRlb0RhdGEoKSkmJihiPVcucG9saWN5LnpQKSk6dj1ELTE7dj1NYXRoLm1heCh2LDApO0Q9Vy5OeTtELlpBPXY7RC5YPWI7Vy5RdSYmKFcuUXUuTz1uKX19Owptbz1mdW5jdGlvbihuLFcpeyhuLmxvYWRlcj1XKT9TaChuLCEwKTpnLkFDKG4pfTsKZGpyPWZ1bmN0aW9uKG4sVz0hMSl7aWYoIW4ubWVkaWFFbGVtZW50fHxuLm1lZGlhRWxlbWVudC5YKCk9PT0wfHxuLm1lZGlhRWxlbWVudC5oYXNFcnJvcigpKXJldHVybiExO3ZhciBEPW4ubWVkaWFFbGVtZW50LmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCl8fG4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHwhbi52aWRlb0RhdGEuTWkoKT9uLko+PTAmJiFXJiYoVz1uLm1lZGlhRWxlbWVudC5PKCksVy5sZW5ndGh8fCFEKT9CUihXLG4uSi1uLnRpbWVzdGFtcE9mZnNldCk6RDpEfTsKTVoxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRDdXJyZW50VGltZSgpLGI9bi5pc0F0TGl2ZUhlYWQoRCk7aWYobi5ZJiZiKXt2YXIgdj1uLlk7aWYodi5OJiYhKEQ+PXYuSiYmRDx2LlgpKXt2YXIgaz12Lk4uUjMoRCk7ayE9PS0xJiYodi5KPXYuTi5nZXRTdGFydFRpbWUoayksdi5YPXYuSit2Lk4uZ2V0RHVyYXRpb24oayksaz0oMCxnLlIpKCkvMUUzLXYuTi5oQyhrKSxrLT12LmooKSx2LlcuYWRkKGspKX19bi5OJiYoYiYmKHY9bi5OLGs9bi56cygpLHYuangrKyx2Lmp4PDN8fERhdGUubm93KCktdi5WPDNFM3x8KHYuVj1EYXRlLm5vdygpLHYuSi5wdXNoKGspLHYuSi5sZW5ndGg+NTAmJnYuSi5zaGlmdCgpKSksbi5OLlUzKEQsVyksVyYmb294KG4sITApKTtiIT09bi5QWCYmKG4uQi5adCgpLk4uUVEod0kxKSYmbi52aWRlb0RhdGEuUkk/bi5QWD1iOihXPShuLkIuWnQoKS5OLlFRKHdJMSk/KG4uZ2V0Q3VycmVudFRpbWUoKS1uLkdDKSoxRTM6bi5nZXRDdXJyZW50VGltZSgpLQpuLkdDKTw9NTAwLEQ9bi5ZWj49MUUzLFd8fER8fChXPW4uTC5CWCxXLnFvZSYmKFc9Vy5xb2UsRD1nLlJrKFcucHJvdmlkZXIpLGcud2ooVyxELCJsaCIsW2I/IjEiOiIwIl0pKSxuLlBYPWIsbi5ZWisrLG4uR0M9bi5nZXRDdXJyZW50VGltZSgpKSkpfTsKZy5LdT1mdW5jdGlvbihuLFcpe3ZhciBEPW4uWDtEfHwobi5YPW5ldyBZNixEPW4uWCxmdShuLFcpKTtyZXR1cm4gRH07CkhkPWZ1bmN0aW9uKG4sVyxEKXtpZihpc05hTihXKSlyZXR1cm4gTmFOO3ZhciBiPW4uTGYoKTtEPW4uckkoRCk7cmV0dXJuIG4uUygiaHRtbDVfY2xhbXBfaW52YWxpZF9zZWVrX3RvX21pbl9zZWVrYWJsZV90aW1lIikmJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmVz5EKzEmJlc8SW5maW5pdHk/KG4uQi5XWCgpJiZuLkwuVSgiY2xhbXBJbnZhbGlkU2VlayIse3RndDpgJHtXfWAsbWF4c3Q6YCR7RH1gfSksYik6Zy5GZihXLGIsRCl9OwpSeWk9ZnVuY3Rpb24obixXKXtuLlc9V307ClFidz1mdW5jdGlvbihuLFc9ITEpe24uanx8IShuLlc+MCl8fG4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpPjB8fChXPXtxZDoic2Vla3RpbWVsaW5lX3Jlc3VtZVRpbWUiLEFNOld9LG4udmlkZW9EYXRhLll8fChXLnNlZWtTb3VyY2U9MTUpLG4uc2Vla1RvKG4uVyxXKSl9OwpsQXQ9ZnVuY3Rpb24obixXKXtWWmkobixXKS50aGVuKHZvaWQgMCwoKT0+e2cuQUMobil9KTsKZy5LdShuLFcpLnRoZW4oRD0+e2cuT0IobixEKX0sKCk9PntnLkFDKG4pfSk7Cm4uTC53WShXKTtuLkIuV1goKSYmKFc9bi55cigpLFdbIm5hdGl2ZSJdPWAkeytuLmNKfWAsVy50Z3Q9YCR7bi5KfWAsVy5vdGd0PWAke24uSituLnRpbWVzdGFtcE9mZnNldH1gLFcubWF4c3Q9YCR7bi5ySSgpfWAsbi5OJiZuLlMoImh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZyIpJiYoVy50aHQ9YCR7bi5OLmooKX1gLFcuaHQ9YCR7bi5OLk5XKCl9YCxXLmFkZnQ9YCR7cnMobi5OKX1gKSxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJm4udmlkZW9EYXRhLk4mJmcuWU4obi52aWRlb0RhdGEpJiYoVy5taW5zdD1gJHtuLnZpZGVvRGF0YS5OLkgyfWAsVy5jbWluc3Q9YCR7bi52aWRlb0RhdGEuTi5MZigpK24udGltZXN0YW1wT2Zmc2V0fWAsVy5tYXhzdD1gJHtuLnZpZGVvRGF0YS5OLldNfWAsVy5odHM9YCR7bi52aWRlb0RhdGEuTi50d31gLFcuY21heHN0PWAke24udmlkZW9EYXRhLk4uckkoKStuLnRpbWVzdGFtcE9mZnNldH1gKSwKbi5MLlUoInN0YXJ0U2VlayIsVykpfTsKVlppPWZ1bmN0aW9uKG4sVyl7bi50d3x8KG4ubG9hZGVyP2lzRmluaXRlKG4uSik/bi50dz1uLmxvYWRlci5zZWVrKG4uSi1uLnRpbWVzdGFtcE9mZnNldCxXKTooZy5EUChuLnZpZGVvRGF0YSksbi5MLmhhPTAsbi50dz1SJChuLmxvYWRlcikscEwobi52aWRlb0RhdGEpfHwobi5KPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCkrbi50aW1lc3RhbXBPZmZzZXQpKTpuLnR3PSRHKG4uSi1uLnRpbWVzdGFtcE9mZnNldCkpO3JldHVybiBuLnR3fTsKZy5PQj1mdW5jdGlvbihuLFcpe24uaiYmKG4uai5yZXNvbHZlKFcpLG4uTC5LdCgpLG4uQi5XWCgpJiYoVz1uLnlyKCksV1sibmF0aXZlIl09YCR7K24uY0p9YCxXLm90Z3Q9YCR7bi5KK24udGltZXN0YW1wT2Zmc2V0fWAsbi5MLlUoInNlZWtFbmQiLFcpKSk7Zy5BQyhuKX07Cnp5MT1mdW5jdGlvbihuKXtuLlgmJihuLlgucmVzb2x2ZShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpKSxuLk8uSj1udWxsKX07CmcuQUM9ZnVuY3Rpb24obil7bi5KPU5hTjtuLlY9TmFOO24uSEo9TmFOO24uWD1udWxsO24udHc9bnVsbDtuLmo9bnVsbDtuLlRDPSExO24uY0o9ITE7bi5EdD0wO24uUyQuc3RvcCgpO24ubnUuc3RvcCgpfTsKYUF3PWZ1bmN0aW9uKG4pe2lmKG4uRClpZihuLnZpZGVvRGF0YS5nVD8uQWopbi5EPSExO2Vsc2UgaWYoZy5wQShuLnZpZGVvRGF0YSkpbi5EPSExO2Vsc2V7dmFyIFc9InNzIixEPTA7bi52aWRlb0RhdGEuTj8uaXNNYW5pZmVzdGxlc3MmJm4udmlkZW9EYXRhLlRDJiYhSkMobikmJihXPSJtc3MiLEQ9bi52aWRlb0RhdGEuVEMpOyhuLnZpZGVvRGF0YS5SST9uLlMoImh0bWw1X3ByaW9yaXRpemVfd2luZG93ZWRfc3Rfc3RhcnRfc2Vjb25kcyIpOm4uUygiaHRtbDVfcHJpb3JpdGl6ZV9zdF9zdGFydF9zZWNvbmRzIikpJiYhRCYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTshRCYmY3B0KG4pJiYoRD1uLnZpZGVvRGF0YS5saXZlVXRjU3RhcnRTZWNvbmRzfHxuLnZpZGVvRGF0YS5UQyxXPSJ1dGMiLEQ9bi5ySSgpLW4uaEMobi5ySSgpKStEKTshRCYmbi52aWRlb0RhdGEuelcoKSYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTsKdmFyIGI9e307aWYoRCl7aWYoRD5uLnJJKCl8fEQ8bi5MZigpKWIubWluU2Vla2FibGVUaW1lPW4uTGYoKSxiLm1heFNlZWthYmxlVGltZT1uLnJJKCksYi5jbXQ9bi5nZXRDdXJyZW50VGltZSgpLGIuaXQ9bi5oQyhuLmdldEN1cnJlbnRUaW1lKCkpLGIuc3M9RCxiLnV0Yz1jcHQobik/bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kc3x8bi52aWRlb0RhdGEuVEM6MCxuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLGIpLG4udmlkZW9EYXRhLnpXKCkmJihEPUhkKG4sRCwhMSkpO24uc2Vla1RvKEQse3FkOiJzZWVrdGltZWxpbmVfc3RhcnRTZWNvbmRzIn0pO2JbV109RDtuLkwuVSgic3RhcnRTZWNvbmRzIixiKTtuLkQ9ITF9ZWxzZSBuLnZpZGVvRGF0YS5UQyYmKGJbV109bi52aWRlb0RhdGEuVEMrbi5TVygpLG4uTC5VKCJzdGFydFNlY29uZHMiLGIpKX19OwpuQXg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLm1lZGlhRWxlbWVudCxiPVcudHlwZTtzd2l0Y2goYil7Y2FzZSAic2Vla2luZyI6bGV0IHY9RC5nZXRDdXJyZW50VGltZSgpK24udGltZXN0YW1wT2Zmc2V0O2lmKCFuLlh8fG4uY0omJnYhPT1uLkopbi5YPW5ldyBZNixuLlgudGhlbihrPT57Zy5PQihuLGspfSwoKT0+e2cuQUMobil9KSxuLnZpZGVvRGF0YS5pc0FkKCkmJm5uMSh7YWRDcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSwKY29udGVudENwbjpuLnZpZGVvRGF0YS5ob3N0Q3BuPz8iIn0sVy5OKSxuLkhKPXYsdTRiKG4uTyxELmdldEN1cnJlbnRUaW1lKCkpLG4uc2Vla1RvKHYse3NlZWtTb3VyY2U6MTA0LHFkOiJzZWVrdGltZWxpbmVfbWVkaWFFbGVtZW50RXZlbnQifSksbi5jSj0hMDticmVhaztjYXNlICJzZWVrZWQiOnp5MShuKTticmVhaztjYXNlICJsb2FkZWRtZXRhZGF0YSI6SWMobi5MKXx8YUF3KG4pO2Z1KG4pO2JyZWFrO2Nhc2UgInByb2dyZXNzIjpmdShuKTticmVhaztjYXNlICJwYXVzZSI6bi5LPW4uZ2V0Q3VycmVudFRpbWUoKX1uLksmJigoYj09PSJwbGF5Inx8Yj09PSJwbGF5aW5nInx8Yj09PSJ0aW1ldXBkYXRlInx8Yj09PSJwcm9ncmVzcyIpJiZuLmdldEN1cnJlbnRUaW1lKCktbi5LPjEwJiYobi5TKCJodG1sNV9za3lfc2tpcF9wYXVzZV9qdW1wIik/bi5MLlUoInNraXBQYXVzZUp1bXAiLHtldnQ6YixjbXQ6bi5nZXRDdXJyZW50VGltZSgpLGxwdDpuLkt9KTpuLnNlZWtUbyhuLkssCntxZDoicGF1c2VKdW1wIn0pKSxiIT09InBhdXNlIiYmYiE9PSJwbGF5IiYmYiE9PSJwbGF5aW5nIiYmYiE9PSJwcm9ncmVzcyImJihuLks9MCkpfTsKY3B0PWZ1bmN0aW9uKG4pe3JldHVybihZcChuLnZpZGVvRGF0YSl8fCEhbi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcykmJighIW4udmlkZW9EYXRhLmxpdmVVdGNTdGFydFNlY29uZHN8fEpDKG4pKSYmISFuLnZpZGVvRGF0YS5OfTsKUGQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmdldChXKT8uYnVmZmVyLlcoKXx8W119OwpaNz1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4uZ2V0KFcpPy5idWZmZXIuWCgpfHwwfTsKTHIxPWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRChrKXtyZXR1cm4gYi5WIT09Inl0IiYmKHYucGFydG5lcklkPT09MzgmJmIucGxheWVyU3R5bGU9PT0iYm9va3MifHx2LnBhcnRuZXJJZD09PTMwJiZiLnBsYXllclN0eWxlPT09ImRvY3MifHx2LnBhcnRuZXJJZD09PTMzJiZiLnBsYXllclN0eWxlPT09Imdvb2dsZS1saXZlIik/V3JoKG4sdixrKTpEMXQobix2KS50aGVuKCgpPT57Yi5TKCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpJiZuLkcoKS5UNyYmdi5pc0VtYmVkc1Nob3J0c01vZGUobmV3IGcuUWUoMCwwKSwhIXYucGxheWxpc3RJZCk/YlVVKG4sdik6VUIobix2KX0saD0+e1VCKG4sdiwhMCk7CnRocm93IGg7fSl9CnZhciBiPW4uRygpLHY9bi5nZXRWaWRlb0RhdGEoKTt2LnFOKCk7di5sb2FkaW5nPSEwO3JldHVybiB2QWoobik/a1VpKG4sdixXKS50aGVuKCgpPT57VUIobix2KX0saz0+e2s9QiQoayk7CmlmKGoyKGsuc2V2ZXJpdHkpKXJldHVybiBVQihuLHYsITApLFByb21pc2UucmVqZWN0KGspO2suZXJyb3JDb2RlPT09Im9uZXNpZS5yZXNwb25zZS5iYWRwcm94eXN0YXR1cyImJmAke2suZGV0YWlscy5zdH1gPT09IjMiJiYoaHBTPSEwKTtuLmhhbmRsZUVycm9yKGspO3JldHVybiBEKCJvbmVzaWUiKX0pOmIuUygiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmYi5UNz94MVUobix2KS50aGVuKCgpPT5EKCJndmkiKSk6RCgiZ3ZpIil9Owp2QWo9ZnVuY3Rpb24obil7dmFyIFc9bi5HKCk7aWYoVy5TKCJodG1sNV9kaXNhYmxlX29uZXNpZSIpfHwhVy5TKCJodG1sNV9vbmVzaWUiKXx8IVcuUygiaHRtbDVfb25lc2llX2lubGluZSIpJiZuLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09NXx8Vy5WIT09Inl0IilyZXR1cm4hMTt2YXIgRD1XLlBYO2lmKCFEfHwhRC5OKXJldHVybiBuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJvbmVzaWUudW5hdmFpbGFibGUuaG90Y29uZmlnIix7a2V5OiIwIn0pKSwhMTtpZihELk4uSzwoMCxnLlIpKCkmJihuLlUoIm9rZXhwIiwiMSIpLChEPW4uVTQoKSkmJlcuUygiaHRtbDVfcHJlZmVyX3RydXN0ZWRfaG9zdF9vbl9rZXlfZXhwaXJhdGlvbiIpKSl7RC5KPSEwO2xldCBiPUQuTi5nZXQoMCk/Lk4oKTtiJiYheHcoYikmJkQuTi5kZWxldGUoMCl9aWYoaHBTKXJldHVybiBuLlUoIm9zdDMiLCIxIiksITE7RD17fTtyZXR1cm4gT2JqZWN0LmtleXMoRCkubGVuZ3RoPjA/KEQub25lc2llPSIwIixuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJodG1sNS5taXNzaW5nYXBpIiwKRCkpLCExKTpuLmdldFZpZGVvRGF0YSgpLmxpdmVQcmVsb2FkJiZXLlp0KCkuTi5RUShIcCk/ITE6ITB9Owp5YT1mdW5jdGlvbihuLFcpe3ZhciBEPWcucDIoKTtnLllGKEQsVyk7cmV0dXJuIG5jKEQsaVooKSx7b1M6bi5KLGNsaWVudEludGVyZmFjZTpsbyhuKX0pfTsKZXBaPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5HKCkpJiZXLnZKKCk/YCR7bi5nZXRQbGF5ZXJUeXBlKCl9XyR7Vy52aWRlb0lkfV8ke1cuS2Z9YDpgJHtuLmdldFBsYXllclR5cGUoKX1fJHtXLnZpZGVvSWR9XyR7Vy5LZn1fJHsrVy5pc0F1dG9uYXZ9JHsrVy5WVH1gfTsKa1VpPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtXLmZldGNoVHlwZT0ib25lc2llIjt2YXIgYj12b2lkIDA7aWYoeVUoVykpaWYoYj1uLmk3KXt2YXIgdj1lcFoobixXKTtiPWIuZ2V0KHYpfWVsc2UgYj12b2lkIDA7dj1uLnRiLlFwO2lmKGIpe2lmKFcubG9hZGluZz0hMSxXLk5WPSEwLHpmKFcse3BsYXllcl9yZXNwb25zZTpifSwhMCksVy5sb2FkaW5nfHxIaihXKSlyZXR1cm4gbi5VKCJwcnIiLCIxIiksUHJvbWlzZS5yZXNvbHZlKCl9ZWxzZXtiPWxGKFcsbi5nZXRQbGF5ZXJTaXplKCksbi5nZXRWaXNpYmlsaXR5U3RhdGUoKSk7RD1uZXcgS0QobixiLEQpO2I9YXdhaXQgRC5mZXRjaCgpO2xldCBoPXtwbGF5ZXJfcmVzcG9uc2U6Yn07Vy5sb2FkaW5nPSExO2lmKEQubkEpe2ZvcihsZXQgW3gsTF1vZiBELm5BLmVudHJpZXMoKSl7dmFyIGs9eDtsZXQgZT1MO3YuTi5zZXQoayxlLDE4MCk7az09PVcudmlkZW9JZCYmKGs9ZS5TSigpLFcub009ayl9di5VZz1EfWZvcihsZXQgW3gsTF1vZiBELnQwLmVudHJpZXMoKSl2Lkouc2V0KHgsCkwsMTgwKTt6ZihXLGgsITApO2lmKFcubG9hZGluZ3x8SGooVykpcmV0dXJuIHlVKFcpJiYodj1lcFoobixXKSxXPVcuZ2V0UGxheWVyUmVzcG9uc2UoKSkmJihXPVcucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9XLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLG4uaTc/LnB1dCh2LGIsVykpLFByb21pc2UucmVzb2x2ZSgpfXYuTi5UaSgpO3YuSi5UaSgpO1cub009W107bj17fTt2PSJvbmVzaWUucmVzcG9uc2UiO0Q9MDtXLmVycm9yQ29kZT8odj0iYXV0aCIsbi5lYz1XLmVycm9yQ29kZSxuLmVkPVcuZXJyb3JEZXRhaWwsbi5lcz1XLndpfHwiIixEPTIpOihuLnN1Y2Nlc3NCdXRVbnBsYXlhYmxlPSIxIixuLmRpc3Bvc2VkPWAkeytXLnFOKCl9YCxuLmFmbXRzPWAkeysvYWRhcHRpdmVGb3JtYXRzLy50ZXN0KGIpfWAsbi5jcG49Vy5jbGllbnRQbGF5YmFja05vbmNlKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kodiwKbixEKSl9OwpEMXQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1XLmlzQWQoKSxiPSFELHY9RD8xOjM7Zm9yKGxldCBoPTA7aDx2O2grKyl7aWYoaD4wKXthd2FpdCBnLlV1KDVFMyk7dmFyIGs9bmV3IGcuUXgoIlJldHJ5aW5nIE9uZVBsYXRmb3JtIHJlcXVlc3QiLHthdHRlbXB0Omh9KTtnLkdxKGspfXRyeXthd2FpdCBnQWkobixXKTtyZXR1cm59Y2F0Y2goeCl7bGV0IEw9QiQoeCk7az1MLmVycm9yQ29kZTtsZXQgZT1uLkcoKS5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/NDAxOiI0MDEiO2ImJms9PT0ibWFuaWZlc3QubmV0LmJhZHN0YXR1cyImJkwuZGV0YWlscy5yYz09PWUmJihiPSExLGg9PT12LTEmJih2Kz0xKSk7aWYoaD09PXYtMSlyZXR1cm4gbj1Yc2koRCxMLmRldGFpbHMpLG4uZGV0YWlscy5iYWNrZW5kPSJvcCIsbi5kZXRhaWxzLm9yaWdpbmVjPWssUHJvbWlzZS5yZWplY3Qobik7aWYoaz09PSJhdXRoInx8az09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQifHwKZy5DTihuLkcoKSkpcmV0dXJuIFByb21pc2UucmVqZWN0KEwpO24uaGFuZGxlRXJyb3IoTCk7aWYoajIoTC5zZXZlcml0eSkpYnJlYWt9fXJldHVybiBQcm9taXNlLnJlamVjdChYc2koRCx7YmFja2VuZDoib3AifSkpfTsKZ0FpPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Vy5mZXRjaFR5cGU9ImdwIjt2YXIgRD1uLkcoKSxiPWcuSEUoRCxXLlYoKSk7Yj1iLk4/YXdhaXQgYi5OOmIuZ2V0VmFsdWUoKTt2YXIgdj15YShELGIpLGs9bEYoVyxuLmdldFBsYXllclNpemUoKSxuLmdldFZpc2liaWxpdHlTdGF0ZSgpKSxoPUxCKHF5aikseD1XLlYoKSxMPSgwLGcuUikoKSxlPSExLEc9ImVtcHR5IjtiPTA7bi5EaygicHNucyIpO3ZhciByPXtsZzpmdW5jdGlvbihOKXtOLnJlYWR5U3RhdGU9PT0yJiZuLkRrKCJwc19jIil9fTsKaWYoRC5KKXtsZXQgTj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX0sSD1kbChXLmdldFJlc29sdmVVcmxSZXNwb25zZSgpKTtIJiYoTi5wYXJhbXM9SCk7Vy5wbGF5bGlzdElkJiYoTi5wbGF5bGlzdElkPVN0cmluZyhXLnBsYXlsaXN0SWQpKTtyLkhuPXtSTDp5SCgicGxheWVyIixOKX19dj1hd2FpdCBnLnJfKHYsayxoLHZvaWQgMCxyKTtuLkRrKCJwc25yIik7aWYoIVcucU4oKSl7dj8iZXJyb3IiaW4gdiYmdi5lcnJvcj8oZT0hMCxHPWBlc2Y6JHt2LmVycm9yLm1lc3NhZ2V9YCxiPXYuZXJyb3IuY29kZSk6di5lcnJvck1ldGFkYXRhJiYoZT0hMCxHPSJpdHMiLGI9di5lcnJvck1ldGFkYXRhLnN0YXR1cyk6ZT0hMDtpZihlKXJldHVybiBlPTAsdj0oKDAsZy5SKSgpLUwpLnRvRml4ZWQoKSxMPXt9LEw9RC5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/e2JhY2tlbmQ6Im9wIixyYzpiLHJ0OnYscmVhc29uOkcsaGFzX2twdDpXLkhKPyIxIjoiMCIsaGFzX21keF9lbnY6Vy5tZHhFbnZpcm9ubWVudD8KIjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8iMSI6IjAiLG1keF9jdHJsOlcuaTV8fCIiLHRva2VuX2VxOng9PT1XLlYoKT8iMSI6IjAifTp7YmFja2VuZDoib3AiLHJjOmAke2J9YCxydDp2LHJlYXNvbjpHLGhhc19rcHQ6Vy5ISj8iMSI6IjAiLGhhc19tZHhfZW52OlcubWR4RW52aXJvbm1lbnQ/IjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8KIjEiOiIwIixtZHhfY3RybDpXLmk1fHwiIix0b2tlbl9lcTp4PT09Vy5WKCk/IjEiOiIwIn0sVz0ibWFuaWZlc3QubmV0LmNvbm5lY3QiLGI9PT00Mjk/KFc9ImF1dGgiLGU9Mik6Yj4yMDAmJihXPSJtYW5pZmVzdC5uZXQuYmFkc3RhdHVzIixiPT09NDAwJiYoZT0yKSksUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koVyxMLGUpKTtXLmxvYWRpbmc9ITE7emYoVyx7cmF3X3BsYXllcl9yZXNwb25zZTp2fSwhMCk7Zy5DTihXLkcoKSkmJnYmJnYudHJhY2tpbmdQYXJhbXMmJmcueXIodi50cmFja2luZ1BhcmFtcyk7aWYoVy5lcnJvckNvZGUpcmV0dXJuIEQ9e2VjOlcuZXJyb3JDb2RlLGVkOlcuZXJyb3JEZXRhaWwsZXM6Vy53aXx8IiJ9LGI9ImF1dGgiLGcuQ04oVy5HKCkpJiZXLmVycm9yQ29kZSYmKGI9Vy5lcnJvckNvZGUpLFByb21pc2UucmVqZWN0KG5ldyBnLkNpKGIsRCwyKSk7aWYoIVcubG9hZGluZyYmIUhqKFcpKXJldHVybiBEPVcuaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIiwKUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koRCx7c3VjY2Vzc0J1dFVucGxheWFibGU6IjEiLGhhc01lZGlhOmcuWUwoVyk/IjEiOiIwIn0sMikpfX07CldyaD1hc3luYyBmdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe3JldHVybiEwfQpmdW5jdGlvbiB2KGUpe2U9QiQoZSk7aWYoajIoZS5zZXZlcml0eSkpcmV0dXJuIFByb21pc2UucmVqZWN0KGUpO24uaGFuZGxlRXJyb3IoZSk7cmV0dXJuITF9CnZhciBrPXNfMihuLkcoKSxXLG4uZ2V0UGxheWVyU2l6ZSgpLG4uZ2V0VmlzaWJpbGl0eVN0YXRlKCksbi5pc0Z1bGxzY3JlZW4oKSksaD1XLmlzQWQoKSx4PWg/MTozO2ZvcihsZXQgZT0wO2U8eDtlKyspe3ZhciBMPWs7ZT4wJiYoYXdhaXQgZy5VdSg1RTMpLEw9e3BsYXllcnJldHJ5OmUscGxheWVycmV0cnlzcmM6RH0saHx8KEwucmVjb3Zlcj0iZW1iZWRkZWQiKSxMPWcubHcoayxMKSk7aWYoYXdhaXQgR1UxKFcsTCkudGhlbihiLHYpKXJldHVybn1XPWg/ImF1dGgiOiJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiO0Q9aD8yOjE7aWYoIWgmJk1hdGgucmFuZG9tKCk8MUUtNCl0cnl7Zy5HcShuZXcgZy5ReCgiYi8xNTIxMzE1NzEiLGJ0b2EoaykpKX1jYXRjaHt9cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBnLkNpKFcse2JhY2tlbmQ6Imd2aSJ9LEQpKX07CkdVMT1hc3luYyBmdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQoTCl7aWYoIW4ucU4oKSl7TD1MP0wuc3RhdHVzOi0xO3ZhciBlPTAsRz0oKDAsZy5SKSgpLXgpLnRvRml4ZWQoKTtHPWIuUygiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpP3tiYWNrZW5kOiJndmkiLHJjOkwscnQ6R306e2JhY2tlbmQ6Imd2aSIscmM6YCR7TH1gLHJ0Okd9O3ZhciByPSJtYW5pZmVzdC5uZXQuY29ubmVjdCI7TD09PTQyOT8ocj0iYXV0aCIsZT0yKTpMPjIwMCYmKHI9Im1hbmlmZXN0Lm5ldC5iYWRzdGF0dXMiLEw9PT00MDAmJihlPTIpKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kocixHLGUpKX19Cm4uZmV0Y2hUeXBlPSJndmkiO3ZhciBiPW4uRygpLHY7KHY9TlFpKG4pKT8odj17Zm9ybWF0OiJSQVciLG1ldGhvZDoiUE9TVCIsd2l0aENyZWRlbnRpYWxzOiEwLHRpbWVvdXQ6M0U0LHBvc3RQYXJhbXM6dn0sVz1nLmx3KFcse2FjdGlvbl9kaXNwbGF5X3Bvc3Q6MX0pKTp2PXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHdpdGhDcmVkZW50aWFsczohMCx0aW1lb3V0OjNFNH07dmFyIGs9e307Yi5zZW5kVmlzaXRvcklkSGVhZGVyJiZuLnZpc2l0b3JEYXRhJiYoa1siWC1Hb29nLVZpc2l0b3ItSWQiXT1uLnZpc2l0b3JEYXRhKTt2YXIgaD1nLlloKGIuZXhwZXJpbWVudHMsImRlYnVnX3NoZXJsb2dfdXNlcm5hbWUiKTtoJiYoa1siWC1Zb3V0dWJlLVNoZXJsb2ctVXNlcm5hbWUiXT1oKTtPYmplY3Qua2V5cyhrKS5sZW5ndGg+MCYmKHYuaGVhZGVycz1rKTt2YXIgeD0oMCxnLlIpKCk7dj1hd2FpdCBlNChnLnI4LFcsdikudGhlbih2b2lkIDAsZnVuY3Rpb24oTCl7cmV0dXJuIEQoTC54aHIpfSk7CmlmKCF2fHwhdi5yZXNwb25zZVRleHQpcmV0dXJuIEQodik7bi5sb2FkaW5nPSExO3Y9Zy5pdyh2LnJlc3BvbnNlVGV4dCk7emYobix2LCEwKTtpZihuLmVycm9yQ29kZSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koImF1dGgiLHtlYzpuLmVycm9yQ29kZSxlZDpuLmVycm9yRGV0YWlsLGVzOm4ud2l8fCIifSwyKSk7aWYoIW4ubG9hZGluZyYmIUhqKG4pKXJldHVybiB2PW4uaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixQcm9taXNlLnJlamVjdChuZXcgZy5DaSh2LHtzdWNjZXNzQnV0VW5wbGF5YWJsZToiMSJ9LDIpKX07ClhzaT1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgZy5DaShuPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixXLG4/MjoxKX07ClVCPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPSExKXt2YXIgYj1uLkcoKTtEJiYoIWcuJDYoYil8fElUKFcpIT09ImVtYmVkZGVkIil8fFcuZkN8fElUKFcpIT09ImFkdW5pdCImJihnLms2KGIpfHxnLlhDKGIpfHxnLk1WKGIpfHx0dShiKXx8Zy5EZihiKXx8bG8oYik9PT0iV0VCX0NSRUFUT1IiKXx8KEQ9Zy5IRShiLFcuVigpKSxEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpLHR5MihuLFcsRCkpfTsKdHkyPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt0cnl7bGV0IGs9bi5HKCksaD15YShrLEQpO3ZhciBiPVcuRygpO2xldCB4PWcubzkoKSxMPXtjb250ZXh0Omcub1QoVyksdmlkZW9JZDpXLnZpZGVvSWQscmFjeUNoZWNrT2s6Vy5yYWN5Q2hlY2tPayxjb250ZW50Q2hlY2tPazpXLmNvbnRlbnRDaGVja09rLGF1dG9uYXZTdGF0ZToiU1RBVEVfTk9ORSJ9O0lUKFcpPT09ImFkdW5pdCImJihMLmlzQWRQbGF5YmFjaz0hMCk7Yi5lbWJlZENvbmZpZyYmKEwuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iLmVtYmVkQ29uZmlnKTtiLlluJiYoTC5zaG93Q29udGVudE93bmVyT25seT0hMCk7Vy5TYSYmKEwuc2hvd1Nob3J0c09ubHk9ITApO3guUVEoMTQxKSYmKEwuYXV0b25hdlN0YXRlPXguUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTtpZihnLmVNKGIpKXtsZXQgTj14LlFRKDY1KTtEPU4hPW51bGw/IU46ITE7bGV0IEg9ISFnLlpJKCJ5dC1wbGF5ZXItc3RpY2t5LWNhcHRpb24iKTsKTC5jYXB0aW9uc1JlcXVlc3RlZD1EJiZIfWxldCBlPWIuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmNyeXB0ZWRIb3N0RmxhZ3M7ZSYmKEwucGxheWJhY2tDb250ZXh0PXtlbmNyeXB0ZWRIb3N0RmxhZ3M6ZX0pO3ZhciB2PUw7bGV0IEc9TEIoJDFDKTtuLkRrKCJ3bl9zIik7Yj17fTtrLkomJihiLkhuPXtSTDp5SCgibmV4dCIse3ZpZGVvSWQ6U3RyaW5nKFcudmlkZW9JZCl9KX0pO2xldCByPWF3YWl0IGcucl8oaCx2LEcsdm9pZCAwLGIpO24uRGsoInduX3IiKTshcnx8ImVycm9yImluIHImJnIuZXJyb3J8fChnLkNOKFcuRygpKSYmci50cmFja2luZ1BhcmFtcyYmZy55cihyLnRyYWNraW5nUGFyYW1zKSx6ZihXLHtyYXdfd2F0Y2hfbmV4dF9yZXNwb25zZTpyfSwhMSkpfWNhdGNoKGspe319OwpiVVU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1nLkhFKG4uRygpLFcuVigpKTtEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpO3I2dyhuLFcsRCl9OwpyNnc9YXN5bmMgZnVuY3Rpb24obixXLEQpe249bi5HKCk7dHJ5e2xldCBoPXlhKG4sRCk7bGV0IHg9e2NvbnRleHQ6Zy5vVChXKSxwbGF5ZXJSZXF1ZXN0Ont2aWRlb0lkOlcudmlkZW9JZH0sZGlzYWJsZVBsYXllclJlc3BvbnNlOiEwfSxMPVcuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7aWYoTCl7bGV0IHI9ZGwoTCk7ciYmKHgucGxheWVyUmVxdWVzdC5wYXJhbXM9cik7bGV0IE49ajcoTCk/LnBhcmFtcztOJiYoeC5wYXJhbXM9Til9dmFyIGI9eDtsZXQgZT1MQihzdjIpO0Q9e307aWYobi5KKXtsZXQgcj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX07dmFyIHYsaz1XLmdldFJlc29sdmVVcmxSZXNwb25zZSgpOyh2PWo3KGspPy5wYXJhbXMpJiYoci5wYXJhbXM9dik7RC5Ibj17Ukw6eUgoInJlZWxfaXRlbV93YXRjaCIscil9fWxldCBHPWF3YWl0IGcucl8oaCxiLGUsdm9pZCAwLEQpOyFHfHwiZXJyb3IiaW4gRyYmRy5lcnJvcnx8emYoVyx7cmF3X3JlZWxfaXRlbV93YXRjaF9yZXNwb25zZTpHfSl9Y2F0Y2goaCl7fX07CngxVT1hc3luYyBmdW5jdGlvbihuLFcpe3RyeXtsZXQgaz1uLkcoKSxoPWcuSEUoayxXLlYoKSkseD1oLk4/YXdhaXQgaC5OOmguZ2V0VmFsdWUoKSxMPXlhKGsseCk7dmFyIEQ9bi5nZXRQbGF5ZXJTaXplKCksYj1uLmdldFZpc2liaWxpdHlTdGF0ZSgpO3ZhciB2PXtjb250ZXh0Omcub1QoVyksdXJsOmBodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke1cudmlkZW9JZH1gLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhXLEQsYil9fTtsZXQgZT1MQihONGgpLEc9YXdhaXQgZy5yXyhMLHYsZSk7Vy5xTigpfHxHJiZ6ZihXLHtyYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U6R30sITApfWNhdGNoKGspe319Owpwc3I9ZnVuY3Rpb24obixXKXtuLkRrKCJ2aXIiKTtuLkRrKCJwc19zIik7Zy5nXygidmlyIix2b2lkIDAsInZpZGVvX3RvX2FkIik7Vz1McjEobixXKTtXLnRoZW4oZnVuY3Rpb24oKXtuLkRrKCJ2aXJjIik7Zy5nXygidmlyYyIsdm9pZCAwLCJ2aWRlb190b19hZCIpO24uRGsoInBzX3IiKTtnLmdfKCJwc19yIix2b2lkIDAsInZpZGVvX3RvX2FkIil9LGZ1bmN0aW9uKCl7bi5EaygidmlyYyIpOwpnLmdfKCJ2aXJjIix2b2lkIDAsInZpZGVvX3RvX2FkIil9KTsKcmV0dXJuIFd9OwpFQj1mdW5jdGlvbigpe3ZhciBuPUcxKCk7cmV0dXJuISghbnx8bj09PSJ2aXNpYmxlIil9OwpIVWk9ZnVuY3Rpb24obil7dmFyIFc9WXlpKCk7VyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihXLG4sITEpfTsKZnZpPWZ1bmN0aW9uKG4pe3ZhciBXPVl5aSgpO1cmJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoVyxuLCExKX07Cll5aT1mdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSl2YXIgbj0idmlzaWJpbGl0eWNoYW5nZSI7ZWxzZXtpZighZG9jdW1lbnRbcTArIlZpc2liaWxpdHlTdGF0ZSJdKXJldHVybiIiO249cTArInZpc2liaWxpdHljaGFuZ2UifXJldHVybiBufTsKSXZoPWZ1bmN0aW9uKG4pe0o2cj1ufTsKU3lyPWZ1bmN0aW9uKG4pe2lWPW59OwpTUE09ZnVuY3Rpb24obil7dmFyIFc9bi5oVTtuPW4udmlkZW9EYXRhO3ZhciBEPVpWKFcsbik7Vy5TKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIil8fEQuY29tcG9zZShVWChXLG4pKTtyZXR1cm4gRH07CkdYPWZ1bmN0aW9uKG4sVyl7dVYobixXLnJlYXNvbixXLk4uaW5mbyxXLnNvdXJjZSxXLnRva2VuKX07Cm9jPWZ1bmN0aW9uKG4sVyl7bi5XSigibG9jYWxtZWRpYWNoYW5nZSIsVyl9OwpQOVU9ZnVuY3Rpb24obixXKXtuLnRiLmRUKCl8fChuLlUoInNnYXAiLHtmOld9KSxuLnRiLmNsZWFyUXVldWUoITEsVz09PSJwZSIpKX07Cm0xVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmKG4ubWVkaWFTb3VyY2U/KGRzKG4pLG4ubXkoKSxBNmoobiwhMSkpOihuLnZpZGVvRGF0YS5jSiYmbi52aWRlb0RhdGEuY0ouWCgpLG4ubWVkaWFFbGVtZW50LnN0b3BWaWRlbygpKSxuLnBsYXlWaWRlbygpKX07CkljPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2Rpc2FibGVfdmlkZW9fcGxheWVyX2luaXRpYXRlZF9zZWVrcyIpJiZnLllOKG4udmlkZW9EYXRhKX07CmxWPWZ1bmN0aW9uKG4sVyl7bi54byYmelkobik7bi54bz1uZXcgZy5sNShXKjFFMywweDdmZmZmZmZmZmZmZmYpO24ueG8ubmFtZXNwYWNlPSJlbmRjciI7bi5hZGRDdWVSYW5nZShuLnhvKX07CnpZPWZ1bmN0aW9uKG4pe24ucmVtb3ZlQ3VlUmFuZ2Uobi54byk7bi54bz1udWxsfTsKamg9ZnVuY3Rpb24obil7aWYobi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBXPVRZKG4pO24ubG9hZGVyJiZuLmxvYWRlci5tbyhXKX19OwpCZD1mdW5jdGlvbihuLFc9ITApe24uQi5BbSYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlJiZuLm1lZGlhRWxlbWVudCYmIW4uRTgoKSYmKG4uaXNCYWNrZ3JvdW5kKCkmJm4ubWVkaWFFbGVtZW50LkdDKCk/KG4uVSgiYmdtb2JpbGUiLHtzdXNwZW5kOjF9KSxuLm9KKCEwLCEwKSk6IW4uaXNCYWNrZ3JvdW5kKCkmJlcmJkN1KG4pJiZuLlUoImJnbW9iaWxlIix7cmVzdW1lOjF9KSl9OwpGSj1mdW5jdGlvbihuKXtpZighZy5EUChuLnZpZGVvRGF0YSkpcmV0dXJuIE5hTjt2YXIgVz0wO24ubG9hZGVyJiZuLnZpZGVvRGF0YS5OJiYoVz1JNChuLnZpZGVvRGF0YSk/bi5sb2FkZXIucWgoKTpuLnZpZGVvRGF0YS5OLnFoKCkpO3JldHVybigwLGcuUikoKS8xRTMtbi5oQygpLVd9OwpLcmI9ZnVuY3Rpb24obixXKXtpZihuLnBsYXllclR5cGU9PT0yfHxuLkIuQ20pVy5vYz0hMDt2YXIgRD1UbChXLkZGLFcuRncsbi5CLkosbi5CLkspO0QmJihXLmFkRm9ybWF0PUQpO24ucGxheWVyVHlwZT09PTImJihXLkd1PSEwKTtpZihuLmlzRnVsbHNjcmVlbigpfHxuLkIuSilEPWcuWkkoInl0LXBsYXllci1hdXRvbmF2c3RhdGUiKSxXLmF1dG9uYXZTdGF0ZT1EfHwobi5CLko/MjpuLnZpZGVvRGF0YS5hdXRvbmF2U3RhdGUpO1cuZW5kU2Vjb25kcyYmVy5lbmRTZWNvbmRzPlcuc3RhcnRTZWNvbmRzJiZsVihuLFcuZW5kU2Vjb25kcyl9Owp3cz1mdW5jdGlvbihuKXtuLmxvYWRlciYmKG4ubG9hZGVyLmRpc3Bvc2UoKSxuLmxvYWRlcj1udWxsLG1vKG4uZGEsbnVsbCkpO24ucGcoKT9PVWgobik6bi5teSgpfTsKVTFpPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclN0YXRlLk4oMTI4KSlpZihuLnZpZGVvRGF0YS5pc0xvYWRlZCgpLG4uaWw9Zy5STShuLnZpZGVvRGF0YS5JSiksZy5ZTChuLnZpZGVvRGF0YSkpe24ubVEudGljaygiYnBkX3MiKTtNOShuKS50aGVuKCgpPT57bi5tUS50aWNrKCJicGRfYyIpO2lmKCFuLnFOKCkpe24uTkwmJihuLkJOKEJyKEJyKG4ucGxheWVyU3RhdGUsNTEyKSwxKSksQ3UobikpO3ZhciBEPW4udmlkZW9EYXRhO0QuZW5kU2Vjb25kcyYmRC5lbmRTZWNvbmRzPkQuc3RhcnRTZWNvbmRzJiZsVihuLEQuZW5kU2Vjb25kcyk7bi5MUi5maW5pc2hlZD0hMDtSYyhuLCJkYXRhbG9hZGVkIik7bi5qSC5zdGFydGVkJiZRYShuKTtsNVUobi5oVSxuLkRoKX19KTsKbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgibG91ZG5lc3MiLHt2Om4udmlkZW9EYXRhLllLLnRvRml4ZWQoMyl9LCEwKTt2YXIgVz1uLm1lZGlhRWxlbWVudD8uZV8oKTtpZihXJiYiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiaW4gVyYmbi5CLkh4KXRyeXtXLmRpc2FibGVQaWN0dXJlSW5QaWN0dXJlPW4uQi5MQiYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlfWNhdGNoKEQpe2cuR3EoRCl9UFJiKG4pO24uQkg9bmV3IFpVcihuLnZpZGVvRGF0YSl9ZWxzZSBSYyhuLCJkYXRhbG9hZGVkIil9Owp5Nlo9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGE7cHNyKG4sbi5paikudGhlbih2b2lkIDAsRD0+e24udmlkZW9EYXRhIT09V3x8Vy5xTigpfHwoRD1CJChEKSxELmVycm9yQ29kZT09PSJhdXRoIiYmbi52aWRlb0RhdGEuZXJyb3JEZXRhaWwmJm4udmlkZW9EYXRhLmVycm9yRGV0YWlsIT09IjciP24uUFYoRC5lcnJvckNvZGUsMix1bmVzY2FwZShuLnZpZGVvRGF0YS5lcnJvclJlYXNvbiksZy5UQyhELmRldGFpbHMpLG4udmlkZW9EYXRhLmVycm9yRGV0YWlsLG4udmlkZW9EYXRhLndpfHx2b2lkIDApOm4uaGFuZGxlRXJyb3IoRCkpfSl9OwpFQUM9ZnVuY3Rpb24obil7cmV0dXJuIGcuazYobi5CKSYmbi52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2smJighbi5CLlMoImh0bWw1X2FsbG93X211bHRpdmlld190aWxlX3ByZWxvYWQiKXx8IW4udmlkZW9EYXRhLmxpdmVQcmVsb2FkKX07Ck05PWZ1bmN0aW9uKG4pe3dzKG4pO24uRGg9bnVsbDt2YXIgVz1Vancobi5CLG4udmlkZW9EYXRhLG4uRTgoKSk7bi50Uj1XO24udFIudGhlbihEPT57aVV0KG4sRCl9LEQ9PntuLnFOKCl8fChEPUIkKEQpLG4udmlzaWJpbGl0eS5pc0JhY2tncm91bmQoKT8oVmEobiwidnBfbm9uZV9hdmFpbCIpLG4udFI9bnVsbCxuLkxSLnJlc2V0KCkpOihuLkxSLmZpbmlzaGVkPSEwLG4uUFYoRC5lcnJvckNvZGUsRC5zZXZlcml0eSwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siLGcuVEMoRC5kZXRhaWxzKSkpKX0pOwpyZXR1cm4gV307ClBSYj1mdW5jdGlvbihuKXtpZihLeihuLnZpZGVvRGF0YSwiaHRtbDVfc2V0X2RlYnVnZ2luZ19vcHRfaW4iKSl7bGV0IFc9Zy5vOSgpO2lmKCFXLlFRKDE4Mykpe249YGYke01hdGguZmxvb3IoMTgzLzMxKSsxfWA7bGV0IEQ9VDEobil8fDA7RHw9MjY4NDM1NDU2O0Q9PT0wP2RlbGV0ZSBsT1tuXTpsT1tuXT1ELnRvU3RyaW5nKDE2KS50b1N0cmluZygpO1cuc2F2ZSgpfX19OwpSYz1mdW5jdGlvbihuLFc9ImRhdGF1cGRhdGVkIil7bi5XSigiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiLFcsbi52aWRlb0RhdGEpfTsKaVV0PWZ1bmN0aW9uKG4sVyl7aWYoIW4ucU4oKSYmIVcudmlkZW9EYXRhLnFOKCkpe24uRGg9VztGM2Iobi5kYSxuLkRoKTtpZihuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayl7dmFyIEQ9dVJyKG4udGIuUXAsbi52aWRlb0RhdGEudmlkZW9JZCl8fG4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpO0Q9bi5TKCJodG1sNV9vbmVzaWVfbGl2ZSIpJiZEO0ljKG4pfHxuLnZpZGVvRGF0YS5UQz4wJiYhSTQobi52aWRlb0RhdGEpfHxEfHxuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9wbGF5YmFja0RhdGEiLHNlZWtTb3VyY2U6MTh9KX1pZihuLnZpZGVvRGF0YS5XLk4oKSl7aWYoVGhpKG4udmlkZW9EYXRhKSl7bi5QVigiZm10Lm1pc3NpbmciLDIsIkJST1dTRVJfT1JfRVhURU5TSU9OX0VSUk9SIixnLlRDKHttaXNzYWJydXJsOjF9KSk7cmV0dXJufWlmKG4ubG9hZGVyKWcuR3EoRXJyb3IoIkR1cGxpY2F0ZWQgTG9hZGVyIikpO2Vsc2V7RD1nLmRNKG4uQi5leHBlcmltZW50cywKImh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tcyIpO2xldCBiPSgpPT57Y2QobiwoKT0+e24ucU4oKXx8bi5sb2FkZXJ8fG9BdChuKX0pfTsKRCYmbi5PUCgpJiZ1UnIobi50Yi5RcCxuLnZpZGVvRGF0YS5Xaik/Zy5uJChiLEQpOmIoKX19ZWxzZSFuLnZpZGVvRGF0YS5XLk4oKSYmT1Mobi52aWRlb0RhdGEpJiZvYyhuLG5ldyBhYyhuLnZpZGVvRGF0YS52aWRlb0lkfHwiIiw0KSk7bi51digpO3VpaihXKS50aGVuKCgpPT57dmFyIGI9e307bi5zVChiKTtuLkIuV1goKSYmbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgiYXYxSW5mbyIsYik7amgobil9KX19OwpDdT1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLm1lZGlhRWxlbWVudHx8IW4udmlkZW9EYXRhLlcpcmV0dXJuITE7dmFyIEQ9ZDEyKG4sVyksYj1uLm1lZGlhRWxlbWVudC5HQygpLHY9ITE7YiYmYi5lcXVhbHMoRCl8fCh6cGkobixEKSx2PSEwKTtuLnBsYXllclN0YXRlLk4oMil8fFFidyhuLmRhLFcpO2E6e1c9djtpZihnLllOKG4udmlkZW9EYXRhKSl7aWYoIW4udmlkZW9EYXRhLk1pKCkpYnJlYWsgYX1lbHNlIGlmKCFnLnF1KG4udmlkZW9EYXRhKSlicmVhayBhO2lmKG4ubWVkaWFFbGVtZW50KWlmKChEPW4udmlkZW9EYXRhLmopJiZuLm1lZGlhRWxlbWVudC5LKCkpe2I9bi5tZWRpYUVsZW1lbnQuZV8oKTtpZihuLkxBKWlmKGIhPT1uLkxBLmVsZW1lbnQpZHMobik7ZWxzZSBpZihXJiZELmZsYXZvcj09PSJmYWlycGxheSImJiF6USgpKWRzKG4pO2Vsc2UgYnJlYWsgYTtpZihuLlMoImh0bWw1X3JlcG9ydF9lcnJvcl9mb3JfdW5zdXBwb3J0ZWRfdHZvc193aWRldmluZSIpJiZ6USgpJiYKRC5mbGF2b3I9PT0id2lkZXZpbmUiKW4uUFYoImZtdC51bnBsYXlhYmxlIiwxLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInRyZy51bnNwdHR2b3N3aWRldmluZSIpO2Vsc2V7bi5MQT1uZXcgbHZ3KGIsbi52aWRlb0RhdGEsbi5CLG4ubWVkaWFFbGVtZW50LG4uZGgpO24uTEEuc3Vic2NyaWJlKCJsaWNlbnNlZXJyb3IiLG4uYm8sbik7bi5MQS5zdWJzY3JpYmUoInF1YWxpdHljaGFuZ2UiLG4uVzQsbik7bi5MQS5zdWJzY3JpYmUoImhlYXJ0YmVhdHBhcmFtcyIsbi5iWixuKTtuLkxBLnN1YnNjcmliZSgia2V5c3RhdHVzZXNjaGFuZ2UiLG4uWVYsbik7bi5MQS5zdWJzY3JpYmUoImN0bXAiLG4uVSxuKTtmb3IobGV0IGsgb2Ygbi5EYi5rZXlzKVc9bi5EYi5nZXQoayksbi5MQS5XbihXKTtuLlMoImh0bWw1X2VtZV9sb2FkZXJfc3luYyIpfHxuLkRiLlRpKCl9fWVsc2Ugbi5QVigiZm10LnVucGxheWFibGUiLDEsIkhUTUw1X05PX0FWQUlMQUJMRV9GT1JNQVRTX0ZBTExCQUNLIiwKInRyZy51cGRhdGVkcm0iKX1yZXR1cm4gdn07CmNkPWZ1bmN0aW9uKG4sVyl7bi5CLmVCJiZuLkIuWnQoKS5OLlFRKG5hKT9TayhuLkIuZUIsVywoKT0+e0p1KG4uQik7bi5CLmVCPXZvaWQgMDtXKCl9KTpXKCl9OwpvQXQ9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGEuTixEPXtjcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxjOm4uQi5OLmMsY3ZlcjpuLkIuTi5jdmVyfTtmb3IobGV0IFtoLHhdb2YgT2JqZWN0LmVudHJpZXMoRCkpe0Q9aDt2YXIgYj14O2Zvcih2YXIgdiBvZiBPYmplY3QudmFsdWVzKFcuTikpdi5YYi5jSihELGIpO1cuWT8uY0ooRCxiKX12PW4uQjtEPW4udmlkZW9EYXRhO2I9bi5pajtXPW5ldyBnLlQ0Mih2KTt2YXIgaz1OOFooe2hhc1N1YmZyYWdtZW50ZWRGbXA0OkQuaGFzU3ViZnJhZ21lbnRlZEZtcDQsSTI6RC5JMn0pO1cuVj1rO1cuTz1ELm1heFJlYWRBaGVhZE1lZGlhVGltZU1zLzFFM3x8Vy5PO2IuWC5MZygpPT09Yi5wb2xpY3kuTj9XLmpXPTEwOlcualc9RC5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcy8xRTN8fFcualc7Vy5MSz1ELnJlYWRBaGVhZEdyb3d0aFJhdGVNcy8xRTN8fFcuTEs7RC5RNiYmKFcuWD0hMCk7Vy5OZj0hYWQoKTtnLms2KHYpfHwKIWFkKCk/KFcuZSQ9ODM4ODYwOCxXLnZKPTUyNDI4OCxXLklNPTUsVy5ISj0xMDQ4NTc2LFcuVDQ9MS41LFcuTnM9NDU4NzUyMCxsYigpJiYoVy5Ocz03ODY0MzIpLFcuSyo9MS4xLFcuY0oqPTEuMSxXLm1oPSEwKTp2LmomJihXLksqPTEuMyxXLmNKKj0xLjMpO2cub2QmJmcudWIoImNya2V5IikmJihrPXYuTi5jbW9kZWw9PT0iQ0hST01FQ0FTVC9BTkNIT1ZZIixXLmUkPTIwOTcxNTIwLFcudko9MTU3Mjg2NCxrJiYoVy5Ocz04MTI1MDAsVy5iTj0xRTMsVy5Saz01LFcuSEo9MjA5NzE1MikpO2cuYW8mJihXLm1oPSEwKTt2LnN1cHBvcnRzR2FwbGVzc0F1ZGlvKCl8fChXLkRUPSExKTtnLldYJiYoVy5ZJD0hMCk7Vy5zVj12LlMoImh0bWw1X3BlYWtfc2hhdmUiKTtELmhxKCkmJnYuUygiaHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWUiKSYmKFcuc1Y9ITEpO2s9RC5OPy5YKCk7aWYoSTQoRCkpe1cuZVY9ITA7Vy5VVHx8KFcuZlI9ITApO1cuUFg9ITA7Vy5TVj0hMDtXLllyPQohMDtpZihELmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyJ8fEQubGF0ZW5jeUNsYXNzPT09IkxPVyImJiF2LlMoImh0bWw1X2Rpc2FibGVfbG93X3BpcGVsaW5lIikpVy53bz0yLFcuQ3k9NDtXLnNKPUQuZGVmcmFnZ2VkRnJvbVN1YmZyYWdtZW50cztnLnBBKEQpJiYoVy5CVj0hMSk7Vy5DbT1nLkdsKHYpfUQuaXNBZCgpJiYoVy50TT0wLFcuSFk9MCk7Vy5UNz12LlMoImh0bWw1X3VsdHJhX2xvd19sYXRlbmN5X3N1YnNlZ21lbnRfcmVhZGFoZWFkIikmJkQubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIjtXLlc9di5XWCgpO2IuSi5YPUk0KEQpPy41OjA7RC5pc0xpdmVQbGF5YmFjayYmKFcuV2M9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzIil8fC4yNSxXLm51PSExKTtELk1pKCkmJihXLm51PSExKTtXLnFqPSF2LlMoImh0bWw1X3NhYnJfa2VlcF9hbGxfcXVhbGl0eV9jb25zdHJhaW50cyIpO1cuQjM9CkxBKEQpO2hEKEQpJiYoVy5UNz0hMCxELmxhdGVuY3lDbGFzcz09PSJMT1ciP1cud2E9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0Iik6RC5sYXRlbmN5Q2xhc3M9PT0iVUxUUkFMT1ciJiYoVy53YT1nLmRNKHYuZXhwZXJpbWVudHMsImh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXQiKSksVy5iQj0hMCk7RC56VygpJiYoVy53eT0xLjMpO1cuWSQ9Vy5ZJHx8RC5mUjtXLkhpPShXLkhpfHxELkhpKSYmdi5LO1cuVjY9RC5LO3YuV1goKSYmKFcuUmE9ITApO0QuSyYmIWsmJihXLktvPSEwKTtELksmJkQuaXNBZCgpJiYoVy5LKj0xLjYsVy5jSio9MS42KTtPUyhEKSYmKFcuSj1ELnZpZGVvSWQsVy52bj0hMCxXLnN6PTEwMCxELnhoJiZELnhoLmxlbmd0aD4wJiYoVy5iVj1ELnhoKSk7Vy5lQj1ELlo5O1cublM9REsodix7fSxELld8fHZvaWQgMCxReihEKSk7Vy5iZD1SUShEKSYmKGcuTVYodil8fAp0dSh2KSk7Zy5ZTihEKSYmKFcuaj0hMCxXLkU1PWcuazYodikmJiFnLmQ4KCk/ITE6ITAsIVcuZTQmJnYuUygiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9jbGllbnRfcmVxdWVzdF9jYW5jZWxsYXRpb24iKSYmKFcudlg9ITAsVy5DdT0hMCxXLlRJPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9yZXF1ZXN0X2NhbmNlbGxhdGlvbl90aW1lb3V0X21zIil8fDhFMyxXLnN6PWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0Iil8fDMpLHYuUygiaHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvbiIpJiYoVy5SRD0hMCksVy5OPSEwLFcudkY9di5TKCJodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29yayIpLFcuSjg9di5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpLApXLmNMPXYuUygiaHRtbDVfY29uc3VtZV9vbmVzaWVfbmV4dF9yZXF1ZXN0X3BvbGljeV9mb3Jfc2FiciIpLFcuQVY9di5TKCJodG1sNV9sb2dfaGlnaF9yZXNfYnVmZmVyX3RpbWVsaW5lIikmJnYuV1goKSxXLmZDPXYuUygiaHRtbDVfZ2FwbGVzc19zYWJyX2J0bF9sYXN0X3NsaWNlIikmJkFKKEQpLFcucG89di5TKCJodG1sNV9yZXNldF9sYXN0X2FwcGVuZGVkX3NsaWNlX29uX3NlZWsiKSYmQUooRCksSTQoRCkmJihXLlZIPSEwLFcuUyQ9ITAsdi5TKCJodG1sNV9zaW1wbGlmaWVkX2JhY2t1cF90aW1lb3V0X3NhYnJfbGl2ZSIpJiYoVy5DdT0hMCxXLmJOPVcuZlopKSxXLmg4PXYuUygiaHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2FiciIpLFcuczU9di5TKCJodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXQiKSxXLlk9Zy5ZTihEKSxXLm9UPXYuUygiaHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkIiksCnYuUygiaHRtbDVfaW5jbHVkZV9wYXJ0aWFsX3NlZ21lbnRfZm9yX2p1bWJvX2xsIikmJmhEKEQpJiYoVy5vVD0hMSksVy5zMz12LlMoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIiksVy5sbj12LlMoImh0bWw1X2NlbnRyYWxpemVkX3BsYXllcl90aW1lX2xpdmUiKSYmZy5ZTihEKSYmRC5pc0xpdmVQbGF5YmFja3x8di5TKCJodG1sNV91c2VfY2VudHJhbGl6ZWRfcGxheWVyX3RpbWUiKSYmZy5ZTihEKSxXLkdDPXYuUygiaHRtbDVfbG9nX2NlbnRyYWxpemVkX3BsYXllcl90aW1lIiksVy5BeD12LlMoImh0bWw1X3VzZV9jZW50cmFsaXplZF9wbGF5ZXJfdGltZV9maXhlcyIpJiZnLllOKEQpLFcuclc9di5TKCJodG1sNV9jb25zdW1lX29uZXNpZV9zYWJyX3NlZWsiKSxXLnR3PXYuUygiaHRtbDVfZW5hYmxlX3NhYnJfc2Vla19sb2FkZXJfcmVmYWN0b3IiKSxELmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYoVy5VMT0hMCxXLldLPXYuUygiaHRtbDVfcmVzZXRfc2VydmVyX3N0aXRjaF9zdGF0ZV9mb3Jfbm9uX3NhYnJfc2VlayIpLApXLmllPXYuUygiaHRtbDVfcmVtb3ZlX3NzZGFpX2FwcGVuZF9wYXVzZSIpJiYhRC5ERigpLFcueXc9di5TKCJodG1sNV9zc2RhaV9sb2dfc3NldnRfaW5fbG9hZGVyX3RpbWVycyIpKSxXLkVaPXYuV1goKSxXLmxhdGVuY3lDbGFzcz1ELmxhdGVuY3lDbGFzcyxXLm1EPSFELnpXKCkmJnYuUygiaHRtbDVfcHJlYnVmZmVyX2luc3RyZWFtX21lZGlhX3ZvZCIpKTtXLnlFPWcubU8oRCk7Vy5Rcj12LlMoImh0bWw1X2VuYWJsZV9zYWJyX290Zl9pbl9jbGllbnQiKTtpZihELk5QKCl8fEQuaXNBZCgpKVcuZ089ITE7RC56VygpJiZ2LmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqdk0pJiYoYj1ELmxDPy5nZXQoImlkIikpJiZiLmluY2x1ZGVzKCIlN0UiKSYmKFcuV2k9ITApO1NKKHYuVyxBVC5CSVRSQVRFKSYmKFcuTnM9TmFOKTtpZihiPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfcmVxdWVzdF9zaXplX21heF9rYiIpKVcuSEo9YioxMDI0O2lmKHYuVy5KKVcucFI9IjsgIitBVC5FWFBFUklNRU5UQUwubmFtZSsKIj1hbGxvd2VkIjtlbHNlIGlmKHYuZXhwZXJpbWVudHMudzAoKS5OLlFRKENSaSkmJmcuZDgoKSl7bGV0IHtuYW1lOmgsdmFsaWQ6eH09QVQuVFVOTkVMTU9ERTtXLnBSPWA7ICR7aH09JHt4fWB9dj1ELnNlcnZlclBsYXliYWNrU3RhcnRDb25maWc7dj8uZW5hYmxlJiZ2Py5wbGF5YmFja1N0YXJ0UG9saWN5JiYoVy5GZT0hMCxsUyhXLHYucGxheWJhY2tTdGFydFBvbGljeSwyKSk7dj1CNFUobik7bi5EYi5UaSgpO2E6e0Q9bi50Yi5RcDtpZihiPW4udmlkZW9EYXRhLnZpZGVvSWQpaWYoaz1ELk4uZ2V0KGIpKXtELk4ucmVtb3ZlKGIpO0Q9azticmVhayBhfUQ9dm9pZCAwfW4ubG9hZGVyPW5ldyBnLlc4KG4sbi5paixXLG4udmlkZW9EYXRhLk4sbi52aWRlb0RhdGEuVyxUWShuKSx2LG4udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpLEQsbi52aWRlb0RhdGEuelIpO2lmKG4udmlkZW9EYXRhLlMoImh0bWw1X2Rpc2FibGVfcHJlbG9hZF9mb3Jfc3NkYWlfd2l0aF9wcmVyb2xsIikmJgpuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmbi5PUCgpKVc9ITA7ZWxzZSBpZihXPW4uTkwpVz1nLms2KG4uQikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiYoIW4uQi5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIil8fCFuLnZpZGVvRGF0YS5saXZlUHJlbG9hZHx8bi5CLlp0KCkuTi5RUShIcCkpO24ubG9hZGVyLmluaXRpYWxpemUobi5nZXRDdXJyZW50VGltZSgpLFRZKG4pLFcpO24udmlkZW9EYXRhLnByb2JlVXJsJiYobi5sb2FkZXIuQnY9bi52aWRlb0RhdGEucHJvYmVVcmwpO2lmKG4uaWwubGVuZ3RofHxuLk5MKW4udmlkZW9EYXRhLmNvdG58fG4ucEMoITEpO21vKG4uZGEsbi5sb2FkZXIpO24uc1UmJihuLmxvYWRlci5FVyhuLnNVKSxuLlUoInNkYWkiLHtzZGw6MX0pKTtnLm1NKG4udmlkZW9EYXRhKSYmKG49bi5sb2FkZXIsbi5wb2xpY3kueGg9bi5wb2xpY3kuVnMpfTsKUWE9ZnVuY3Rpb24obil7bi5xTigpO2lmKCFuLmpILmZpbmlzaGVkJiZuLkxSLmZpbmlzaGVkJiYhbi5wbGF5ZXJTdGF0ZS5OKDEyOCkmJiFuLmlsLmxlbmd0aCl7aWYoIW4ud0kuc3RhcnRlZCl7dmFyIFc9bi53STtXLnN0YXJ0ZWQ9ITA7Vy5KKCl9aWYoIW4uSm4oKSl7bi5sb2FkZXImJihuLm5VPW4ubG9hZGVyLnpzKCEwKT4wKTtuLmpILmZpbmlzaGVkfHwobi5qSC5maW5pc2hlZD0hMCk7Vz1uLlMoImh0bWw1X29uZXNpZV9saXZlIikmJm4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpOyFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8bi52aWRlb0RhdGEuVEM+MCYmIUk0KG4udmlkZW9EYXRhKXx8V3x8SWMobil8fChuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9yZWFkeWluZyIsc2Vla1NvdXJjZToxOH0pLG4uaXNCYWNrZ3JvdW5kKCkmJihuLlRsPSEwKSk7Vz1uLkJYO2lmKFcucW9lKXtXPVcucW9lO2xldCBiPVcucHJvdmlkZXIudmlkZW9EYXRhLHY9Vy5wcm92aWRlci5COwpmb3IodmFyIEQgb2Ygdi5reSluQyhXLEQpO2lmKFcucHJvdmlkZXIuUygiaHRtbDVfZW5hYmxlX3FvZV9jYXRfbGlzdCIpKWZvcihsZXQgayBvZiBiLmtLKW5DKFcsayk7ZWxzZSBiLmt5JiZuQyhXLFcucHJvdmlkZXIudmlkZW9EYXRhLmt5KTtiLnpXKCkmJihEPWIuTixJNChiKSYmbkMoVywibWFuaWZlc3RsZXNzIiksRCYmb28oRCkmJm5DKFcsYGxpdmUtc2VnbWVudC0ke29vKEQpLnRvRml4ZWQoMSl9YCkpO2cuWU4oYik/bkMoVywic2FiciIpOlcueiQoeHAoYikpO2lmKHB6KGIpfHxiLkRGKCkpYi5ERigpJiZuQyhXLCJzc2EiKSxuQyhXLCJsaWZhIik7TkkoYikmJm5DKFcsImNkbSIpO2IuZ2F0ZXdheUV4cGVyaW1lbnRHcm91cCYmKEQ9Yi5nYXRld2F5RXhwZXJpbWVudEdyb3VwLEQ9PT0iRVhQRVJJTUVOVF9HUk9VUF9TUElLWV9BRF9CUkVBS19FWFBFUklNRU5UIj9EPSJzcGthZHRydCI6RD09PSJFWFBFUklNRU5UX0dST1VQX1NQSUtZX0FEX0JSRUFLX0NPTlRST0wiJiYoRD0KInNwa2FkY3RybCIpLG5DKFcsRCkpO3YuViE9PSJ5dCImJlcuSi5zZXQoImxlbiIsW2IubGVuZ3RoU2Vjb25kcy50b0ZpeGVkKDIpXSk7Yi5jb3RuJiYhT1MoYikmJlF1KFcsITApO3YuV1goKSYmKEQ9UlFVKCkpJiZXLlUoImNibHQiLHttOkR9KTt2LlMoImh0bWw1X2xvZ19zY3JlZW5fZGlhZ29uYWwiKSYmVy5VKCJjYmx0ZGlhZyIse3Y6d2luZG93Lkg1dmNjU2NyZWVuPy5HZXREaWFnb25hbD93aW5kb3cuSDV2Y2NTY3JlZW4uR2V0RGlhZ29uYWwoKTowfSl9bi5XSigicGxheWJhY2tyZWFkeSIpO2cudlAoInBsX2MiLG4ubVEudGltZXJOYW1lKXx8KG4ubVEudGljaygicGxfYyIpLGcuZ18oInBsX2MiLHZvaWQgMCwidmlkZW9fdG9fYWQiKSk7Zy52UCgicGJyIixuLm1RLnRpbWVyTmFtZSl8fChuLm1RLnRpY2soInBiciIpLGcuZ18oInBiciIsdm9pZCAwLCJ2aWRlb190b19hZCIpKX19fTsKVmE9ZnVuY3Rpb24obixXKXtuLnBsYXllclN0YXRlLk4oMTI4KXx8KG4uQk4od1Mobi5wbGF5ZXJTdGF0ZSwxMDI4LDkpKSxuLlUoImRvbXBhdXNlZCIse3I6V30pLG4uV0ooIm9uQXV0b3BsYXlCbG9ja2VkIikpfTsKZy5EVD1mdW5jdGlvbihuKXt2YXIgVz1UWShuKTtyZXR1cm4geEooVyl8fCFuLkRoP251bGw6Zy5sXyhuLkRoLk4udmlkZW9JbmZvcyxEPT5XLlgoRCkpfTsKdVY9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aC5KPUQ7dmFyIHg9Zy5EVChuKTtEPW5ldyBGck0oRCxXLHg/eC5pdGFnOiIiLGIsdik7aWYoay5xb2Upe2s9ay5xb2U7Yj12PWcuUmsoay5wcm92aWRlcik7eD1bRC5OLmlkLEQuSixrLnM1LEQucmVhc29uXTtrLkR0fHx4LnB1c2goTFRiKGssRCkpO0QudG9rZW4mJngucHVzaChELnRva2VuKTtnLndqKGssYiwidmZzIix4KTtrLnM1PUQuTi5pZDt4PWsucHJvdmlkZXIuTC5nZXRQbGF5ZXJTaXplKCk7aWYoeC53aWR0aD4wJiZ4LmhlaWdodD4wKXt4PVtNYXRoLnJvdW5kKHgud2lkdGgpLE1hdGgucm91bmQoeC5oZWlnaHQpXTtsZXQgTD1nLkhfKCk7TD4xJiZ4LnB1c2goTCk7Zy53aihrLGIsInZpZXciLHgpfWsuRHR8fChrLnByb3ZpZGVyLkIuV1goKSYmKG5DKGssInJxcyIpLG5DKGssInJxczIiKSksay5wcm92aWRlci52aWRlb0RhdGEuTiYmR18oay5wcm92aWRlci52aWRlb0RhdGEuTikmJmsuSi5zZXQoInByZWxvYWQiLApbIjEiXSkpO2suRHQ9ITA7ay5WPSEwO0QucmVhc29uPT09Im0iJiYrK2suc1Y9PT0xMDAmJmJtKGssMik7Zy53aihrLHYsInZwcyIsW2suTl0pO2suZSR8fGsucmVwb3J0U3RhdHModil9RD1uLmhVO0QuSj0wO0QuTj0wO24uV0ooImludGVybmFsdmlkZW9mb3JtYXRjaGFuZ2UiLGgsVz09PSJtIil9OwpUWT1mdW5jdGlvbihuKXtpZihuLkRoKXt2YXIgVz1uLmhVO3ZhciBEPW4uRGg7bj1uLmcwKCk7dmFyIGI9Wm1oKFcpO2lmKHhKKGIpKXtpZihiPVcuTWgoRCkuY29tcG9zZSh5SXIoVyxEKSkuY29tcG9zZShpbXIoVyxEKSkuY29tcG9zZShaVihXLEQudmlkZW9EYXRhKSkuY29tcG9zZShVWChXLEQudmlkZW9EYXRhLEQpKS5jb21wb3NlKHkzKFcsRCkpLmNvbXBvc2UoaW0oVyxEKSkseEoobil8fFcuUygiaHRtbDVfYXBwbHlfcGJyX2NhcF9mb3JfZHJtIikpe3ZhciB2PWIuY29tcG9zZTtpZihXLlMoImh0bWw1X2Rpc2FibGVfdXN0cmVhbWVyX2NvbnN0cmFpbnRfZm9yX3NhYnIiKSYmZy5ZTihELnZpZGVvRGF0YSkpdmFyIGs9WVo7ZWxzZSBrPVcuTC51dSgpLFcuUygiaHRtbDVfdXNlX3ZpZGVvX3F1YWxpdHlfY2FwX2Zvcl91c3RyZWFtZXJfY29uc3RyYWludCIpJiZrJiZrLlFvPjAmJnhKKEQudmlkZW9EYXRhLkIzKSYmKGs9ay5RbyxELnZpZGVvRGF0YS5CMz1uZXcgYjMoMCxrLCExLAoidSIpKSxrPUQudmlkZW9EYXRhLkIzO2I9di5jYWxsKGIsayl9fWVsc2UgVy5TKCJodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3kiKSYmKGI9Yi5jb21wb3NlKHkzKFcsRCkpKTtiPWIuY29tcG9zZShpbShXLEQpKTtXPUQudmlkZW9EYXRhLkxLLmNvbXBvc2UoYikuY29tcG9zZShELnZpZGVvRGF0YS5MSCkuY29tcG9zZShuKX1lbHNlIFc9WVo7cmV0dXJuIFd9Owp3c2k9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aWYoRCE9PWguWCl7dmFyIHg9IWguWDtoLlg9RDt2YXIgTD1XPT09Im0ifHxXPT09InQiO0x8fChXPXg/ImkiOiJhIik7Vz1uZXcgRnJNKEQsVywiIixiLHYpO2lmKGsucW9lKXtrPWsucW9lO0Q9Zy5SayhrLnByb3ZpZGVyKTtsZXQgRz1bXTtpZihXLk4uaWQhPT1rLkZGKXtiPVtXLk4uaWQsay5GRixXLnJlYXNvbl07dj1HO3ZhciBlPXYucHVzaDtsZXQgcj1bXSxOPWsucHJvdmlkZXIudmlkZW9EYXRhLmhnLk4sSD1XLk4uYXVkaW8/Lko/P04/LlFPO0g9PW51bGx8fGlzTmFOKEgpfHxyLnB1c2goYGZsLiR7SH1gKTtOJiYoTi5mb3JtYXRJZCYmTi5mb3JtYXRJZCE9PVcuTi5pZCYmay5VKCJhZ2MiLHtxb2VtaXNtYXRjaDoiMSIsYWdjX2ZtdDpOLmZvcm1hdElkLGFmbXQ6Vy5OLmlkfSksTi5weT09bnVsbHx8aXNOYU4oTi5weSl8fHIucHVzaChgdGwuJHtOLnB5fWApLE4uRHk9PW51bGx8fGlzTmFOKE4uRHkpfHwKci5wdXNoKGB2Zy4ke04uRHl9YCksTi53RyE9PTAmJnIucHVzaChgbm0uJHtOLndHfWApKTtlLmNhbGwodiwuLi5yKTtXLnJlYXNvbj09PSJpIiYmRy5wdXNoKExUYihrLFcpKTtHLmxlbmd0aD4wJiZiLnB1c2goRy5qb2luKCI7IikpO1cudG9rZW4mJmIucHVzaChXLnRva2VuKTtnLndqKGssRCwiYWZzIixiKTtrLkZGPVcuTi5pZH19bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsaCwheCYmTCl9fTsKTXl4PWZ1bmN0aW9uKG4pe3ZhciBXPSJsb2Fkc3RhcnQgbG9hZGVkbWV0YWRhdGEgcGxheSBwbGF5aW5nIHByb2dyZXNzIHBhdXNlIGVuZGVkIHN1c3BlbmQgc2Vla2luZyBzZWVrZWQgdGltZXVwZGF0ZSBkdXJhdGlvbmNoYW5nZSByYXRlY2hhbmdlIGVycm9yIHdhaXRpbmcgcmVzaXplIi5zcGxpdCgiICIpO2ZvcihsZXQgRCBvZiBXKW4uczkuTk4obi5tZWRpYUVsZW1lbnQsRCxuLmlVLG4pO24uQi5EVCYmbi5tZWRpYUVsZW1lbnQuSygpJiYobi5zOS5OTihuLm1lZGlhRWxlbWVudCwid2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkIixuLnZrLG4pLG4uczkuTk4obi5tZWRpYUVsZW1lbnQsIndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkIixuLk9rLG4pKX07Ck9VaD1mdW5jdGlvbihuKXtpZihuLm1lZGlhU291cmNlKWlmKG4uSzEoKSxuLm1lZGlhU291cmNlLkspdHJ5e24uQi5XWCgpJiZuLlUoInJtcyIse2w6InZwcm1zIixzcjpuLnBnKCkscnM6bi5tZWRpYVNvdXJjZS5XKCl9KSxuLm1lZGlhU291cmNlLmNsZWFyKCksbi5tZWRpYUVsZW1lbnQ/LkhKKG4ubWVkaWFTb3VyY2UpLG4ubWVkaWFTb3VyY2U9bnVsbH1jYXRjaChEKXt2YXIgVz1uZXcgZy5ReChgRXJyb3Igd2hpbGUgY2xlYXJpbmcgTWVkaWEgU291cmNlIGluIFZpZGVvUGxheWVyOiAke0QubmFtZX0sICR7RC5tZXNzYWdlfWApO1c9QiQoVyk7bi5oYW5kbGVFcnJvcihXKTtuLm15KCl9ZWxzZSBuLm15KCl9Owpkcz1mdW5jdGlvbihuKXtuLkxBJiYobi5MQS5kaXNwb3NlKCksbi5MQT1udWxsKX07ClJwVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmbi5tZWRpYUVsZW1lbnQuRTgoKSYmKG4uVFY9KDAsZy5SKSgpKTtuLkIudEc/Zy5uJCgoKT0+e2J2KG4pfSwwKTpidihuKX07CmJ2PWZ1bmN0aW9uKG4pe2lmKCFuLm1lZGlhU291cmNlPy5nWCgpKXtpZihuLm1lZGlhRWxlbWVudCl0cnl7bi5Mdz1uLm1lZGlhRWxlbWVudC5wbGF5VmlkZW8oKX1jYXRjaChXKXtWYShuLGBlcnIuJHtXfWApfWlmKG4uTHcpe2xldCBXPW4uTHc7Vy50aGVuKHZvaWQgMCxEPT57aWYoIShuLnBsYXllclN0YXRlLk4oNCl8fG4ucGxheWVyU3RhdGUuTigyNTYpfHxuLkx3IT09V3x8RCYmRC5uYW1lPT09IkFib3J0RXJyb3IiJiZELm1lc3NhZ2UmJkQubWVzc2FnZS5pbmNsdWRlcygibG9hZCIpKSl7bGV0IGI9InByb21pc2UiO0QmJkQubmFtZSYmKGIrPWA7bS4ke0QubmFtZX1gKTtWYShuLGIpO24uVzE9ITA7bi52aWRlb0RhdGEuZkI9ITB9fSl9fX07CkE2aj1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubWVkaWFTb3VyY2UpcmV0dXJuIG4ubWVkaWFTb3VyY2UuajtRdmkobixXKTtyZXR1cm4gbi5VeigpPy50dygpfHxudWxsfTsKZDEyPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9bnVsbDtuLnZpZGVvRGF0YS5XPy5OKCk/KEQ9QTZqKG4sVyksbi5sb2FkZXI/LnJlc3VtZSgpKTood3Mobiksbi52aWRlb0RhdGEuY0omJihEPW4udmlkZW9EYXRhLmNKLkooKSkpO3JldHVybiBEfTsKYXZaPWZ1bmN0aW9uKG4sVyl7aWYoVy5OLnZpZGVvLnF1YWxpdHk9PT0iYXV0byImJlcua0woKS5XKCkpaWYobi5TKCJodG1sNV9obHNfcmVwb3J0X3BzZXVkb19pdGFnIikmJm4udmlkZW9EYXRhLmhsc3ZwKXt2YXIgRD1uLlVKKCk7aWYoRCYmRC52aWRlb0hlaWdodD4wJiZELnZpZGVvV2lkdGg+MCl7dmFyIGI9RC52aWRlb0hlaWdodDtEPUQudmlkZW9XaWR0aDthOntuPW4uTEE/Lk4uZmxhdm9yPT09ImZhaXJwbGF5Ij9WeVU6YzZaO2Zvcih2IG9mIG4paWYoYj49di5taW5IZWlnaHQpe3ZhciB2PXYuaXRhZzticmVhayBhfXY9IiJ9aWYodilyZXR1cm4gbmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse3ZpZGVvOm5ldyBIUihELGIpfSl9fWVsc2UgaWYobi52aWRlb0RhdGEubnUpZm9yKGIgb2Ygbi52aWRlb0RhdGEubnUpaWYoYi5nZXRIZWlnaHQoKT09PW4uejEmJmIuTi52aWRlby5xdWFsaXR5IT09ImF1dG8iKXJldHVybiBiLmtMKCk7cmV0dXJuIFcua0woKX07Cm5CQz1mdW5jdGlvbihuKXtyZXR1cm4hIShuLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKSYmZy5HbiYmbi52aWRlb0RhdGEuSj8uVygpKX07ClcxaT1mdW5jdGlvbihuKXtpZighbkJDKG4pKXJldHVybiExO249bi5tZWRpYUVsZW1lbnQ/LmF1ZGlvVHJhY2tzKCk7cmV0dXJuISEobiYmbi5sZW5ndGg+MSl9OwpiNHQ9ZnVuY3Rpb24obil7dmFyIFc9RGdDKG4pO2lmKFcpe3ZhciBEPXY4W1ddfHxXO3JldHVybiBuLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLmZpbmQoYj0+Yi5rWi5nZXROYW1lKCk9PT1EKX19OwpEZ0M9ZnVuY3Rpb24obil7aWYobj1uLm1lZGlhRWxlbWVudD8uYXVkaW9UcmFja3MoKSlmb3IobGV0IFc9MDtXPG4ubGVuZ3RoOysrVyl7bGV0IEQ9bltXXTtpZihELmVuYWJsZWQpcmV0dXJuIEQubGFiZWx9fTsKdkIyPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpO2lmKFcpe3ZhciBEPVtdO2ZvcihsZXQgdj0wO3Y8Vy5sZW5ndGg7Kyt2KXt2YXIgYj1XW3ZdO2I9bmV3IFdBKGIubGFiZWwsbmV3IHdQKHY4W2IubGFiZWxdfHxiLmxhYmVsLGIubGFiZWwsITEpKTtELnB1c2goYil9bi52aWRlb0RhdGEudm49RH19OwpCNFU9ZnVuY3Rpb24obil7dmFyIFcsRD1uLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLGI9bi5CLkhKO2ImJihXPUQuZmluZCh2PT52LmdldExhbmd1YWdlSW5mbygpLmlkPT09YikpOwppZihuLkIuZXhwZXJpbWVudHMuRXEoImVuYWJsZV9hdWRpb19kZXNjcmlwdGlvbl9zZXR0aW5nIikmJmcubzkoKS5RUSgxOTgpKWZvcihsZXQgdiBvZiBEKWlmKHYuail7Vz12O2JyZWFrfW4uWnQoKS5OLlFRKGtxTSkmJm4udmlkZW9EYXRhLmNvdG4mJihXPUQuZmluZCh2PT4hIXYuVikpOwpXfHwobj1uLmdldEF1ZGlvVHJhY2soKSxXPW4ua1ouaXNEZWZhdWx0P3ZvaWQgMDpuKTtyZXR1cm4gV307ClF2aT1mdW5jdGlvbihuLFc9ITEpe3RyeXtnLmQ4KCkmJm4udmlkZW9EYXRhLm1WKCkmJm4ubWVkaWFFbGVtZW50LlBYKCk7bGV0IGI9bi5veSgpLHY9bi5DZCgpO2lmKG4ubWVkaWFFbGVtZW50LmlzVmlldygpJiZuLm1lZGlhRWxlbWVudC5NZCYmKCFuLkZTKCl8fCFuLm1lZGlhRWxlbWVudC5ZJChiLHYpKSl7bi5CLldYKCkmJm4uVSgidXNtIix7ZmFsbGJhY2s6ITAscmVhc29uOm4uRlMoKT8iY29kZWMiOiJwb2xpY3kifSk7bGV0IGs9bi5tZWRpYUVsZW1lbnQubWVkaWFFbGVtZW50O2s/LlBYKCk7az8uc3RvcFZpZGVvKCk7bi5kYS5zZXRNZWRpYUVsZW1lbnQobnVsbCk7bi5zZXRNZWRpYUVsZW1lbnQoaywhMCl9dmFyIEQ9bi5tZWRpYUVsZW1lbnQuVXooYix2KX1jYXRjaChiKXtpZihLQyhuLkFJLCJodG1sNS5taXNzaW5nYXBpIix7dXBkYXRlTXM6IjEifSkpcmV0dXJuO2NvbnNvbGUuZXJyb3IoIndpbmRvdy5VUkwgb2JqZWN0IG92ZXJ3cml0dGVuIGJ5IGV4dGVybmFsIGNvZGUiLApiKTtuLlBWKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInVwZGF0ZU1zLjEiKTtyZXR1cm59bi5ubShELCExLCExLFcpfTsKaExaPWZ1bmN0aW9uKG4sVz0hMSl7aWYobi5sb2FkZXIpe24udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZuLmxvYWRlci5rSSgpO2xldCBEPW4uZ2V0Q3VycmVudFRpbWUoKS1uLlNXKCk7bi5sb2FkZXIuc2VlayhELHtBTTpXfSkuc1AoKCk9Pnt9KX1lbHNlIGNkKG4sKCk9PntuLnFOKCl8fG4ubG9hZGVyfHxvQXQobil9KX07CkwxYj1mdW5jdGlvbihuLFcsRD0hMSxiPSExLHY9ITEpeyFuLm1lZGlhU291cmNlfHxXJiZuLm1lZGlhU291cmNlIT09V3x8KFc9bi5nZXREdXJhdGlvbigpLCFXJiZJNChuLnZpZGVvRGF0YSkmJihXPTI1MjAwLG4ubG4oKSYmKFc9NDY4MDApKSxuLm1lZGlhU291cmNlLmlzVmlldz9XPm4ubWVkaWFTb3VyY2UuZ2V0RHVyYXRpb24oKSYmeGdaKG4sVyk6eGdaKG4sVyksVz0oKT0+e24ucU4oKXx8KEltaShuLmxvYWRlcixuLm1lZGlhU291cmNlLEQsYix2KSxuLldKKCJtZWRpYXNvdXJjZWF0dGFjaGVkIikpfSxuLmxvYWRlcj9XKCk6Y2QobixXKSl9Owp4Z1o9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiYobi5tZWRpYVNvdXJjZS5hVChXKSxuLmxvYWRlcj8uaFcoVykpfTsKZUxoPWZ1bmN0aW9uKG4sVyl7aWYobi5CLldYKCkmJm4ubWVkaWFFbGVtZW50KXtsZXQgRD1uLm1lZGlhRWxlbWVudC55cigpO0Qub210PShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpK24uU1coKSkudG9GaXhlZCgzKTtELnBzPW4ucGxheWVyU3RhdGUuc3RhdGUudG9TdHJpbmcoMTYpO0QucnQ9KGcuUmsobi5CWC5wcm92aWRlcikqMUUzKS50b0ZpeGVkKCk7RC5lPVc7bi5CRltuLmtRKyslNV09RH19OwpnQnI9ZnVuY3Rpb24obil7aWYoZy51YigiY29iYWx0IikmJmcudWIoIm5pbnRlbmRvIHN3aXRjaCIpKXt2YXIgVz0hd2luZG93Lm1hdGNoTWVkaWEoInNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcyMHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyMDBkcGkpIikubWF0Y2hlcztuLlUoIm54ZG9jayIse2Q6V30pfX07ClhhUz1mdW5jdGlvbihuKXtEcihuLm53KTtrUChuKXx8KG4ubnc9VzAoKCk9PmtQKG4pLDEwMCkpfTsKa1A9ZnVuY3Rpb24obil7dmFyIFc9bi5tZWRpYUVsZW1lbnQ7VyYmbi5BbCYmIW4udmlkZW9EYXRhLlkmJiFnLnZQKCJ2ZnAiLG4ubVEudGltZXJOYW1lKSYmVy5YKCk+PTImJiFXLmlzRW5kZWQoKSYmTSQoVy5KKCkpJiZuLm1RLnRpY2soInZmcCIpO3JldHVybihXPW4ubWVkaWFFbGVtZW50KSYmIW4udmlkZW9EYXRhLlkmJlcuZ2V0RHVyYXRpb24oKT4wJiYoVy5pc1BhdXNlZCgpJiZXLlgoKT49MiYmTSQoVy5KKCkpJiYoZy52UCgicGJwIixuLm1RLnRpbWVyTmFtZSl8fG4ubVEudGljaygicGJwIiksIW4udmlkZW9EYXRhLkR0fHxuLlZ0fHxXLmlzU2Vla2luZygpfHwobi5WdD0hMCxuLldKKCJvblBsYXliYWNrUGF1c2VBdFN0YXJ0IikpKSxXPVcuZ2V0Q3VycmVudFRpbWUoKSxxOShuLlZlLFcpJiYoIW4udmlkZW9EYXRhLlJvfHwhbi5wbGF5ZXJTdGF0ZS5OKDE2KSkpPyhuLmUyKCksITApOiExfTsKaDU9ZnVuY3Rpb24obixXKXtuLkIuUygiaHRtbDVfbG9nX3JlYnVmZmVyX3JlYXNvbiIpJiYoVz17cjpXLGxhY3Q6Zy52SSgpfSxuLm1lZGlhRWxlbWVudCYmKFcuYmg9bi5tZWRpYUVsZW1lbnQuenMoKSksbi5VKCJidWZyZWFzb24iLFcpKX07CnFhVT1mdW5jdGlvbihuKXtuLkJYLm9uUHJvZ3Jlc3MoKTtpZihnLkRQKG4udmlkZW9EYXRhKSYmRGF0ZS5ub3coKT5uLmhhKzYyODMpe2lmKG4udmlkZW9EYXRhLk4mJiFFayhuLnZpZGVvRGF0YS5OKSl7dmFyIFc9bi5CWDtpZihXLnFvZSl7Vz1XLnFvZTt2YXIgRD1XLnByb3ZpZGVyLkwuSEsoKSxiPWcuUmsoVy5wcm92aWRlcik7VnUoVyxiLEQpO2xldCB2PUQuVztEPUQuWDtpc05hTih2KXx8KCFpc05hTihEKSYmRD9nLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKSxELnRvRml4ZWQoMyldKTpnLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKV0pKX19Vz1nLkdsKG4uQik7Yj1uLlMoImh0bWw1X2Fsd2F5c19sb2dfcmF3bGF0Iik7KFd8fGIpJiZuLlUoInJhd2xhdCIse2w6Wjcobi5GNSwicmF3bGl2ZWxhdGVuY3kiKS50b0ZpeGVkKDMpfSk7bi5oYT1EYXRlLm5vdygpfW4udmlkZW9EYXRhLkomJm4udmlkZW9EYXRhLkouVygpJiYoVz1uLlVKKCkpJiZXLnZpZGVvSGVpZ2h0IT09Cm4uejEmJihuLnoxPVcudmlkZW9IZWlnaHQsdVYobiwiYSIsYXZaKG4sbi52aWRlb0RhdGEuY0opKSl9OwpHcU09ZnVuY3Rpb24obil7aWYobi5CLldYKCkpe24uQkYuc29ydCgoVyxEKT0+K1cucnQtK0QucnQpOwpmb3IobGV0IFcgb2Ygbi5CRiluLlUoInZwZSIsT2JqZWN0LmFzc2lnbih7dDpXLnJ0fSxXKSk7bi5CRj1bXTtuLmtRPTB9fTsKenBpPWZ1bmN0aW9uKG4sVyl7bi5tUS50aWNrKCJ2dGEiKTtnLmdfKCJ2dGEiLHZvaWQgMCwidmlkZW9fdG9fYWQiKTtuLmdldEN1cnJlbnRUaW1lKCk+MCYmUnlpKG4uZGEsbi5nZXRDdXJyZW50VGltZSgpKTtuLm1lZGlhRWxlbWVudC5EKFcpO24ubWVkaWFTb3VyY2UmJmJRKDQpOyFuLnZpZGVvRGF0YS5ZJiZuLnBsYXllclN0YXRlLmlzT3JXaWxsQmVQbGF5aW5nKCkmJm4uQl8uc3RhcnQoKTtuQkMobikmJihXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpKSYmKFcub25hZGR0cmFjaz0oKT0+e3ZCMihuKX0sVy5vbnJlbW92ZXRyYWNrPSgpPT57dkIyKG4pfSxXLm9uY2hhbmdlPSgpPT57bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsbi52aWRlb0RhdGEsITApfSl9Owp0aVM9ZnVuY3Rpb24obil7bj1uLmFwaS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO249bi5pc0N1ZWQoKXx8bi5pc0Vycm9yKCk/Im5vbmUiOm4uaXNPcldpbGxCZVBsYXlpbmcoKT8icGxheWluZyI6InBhdXNlZCI7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5wbGF5YmFja1N0YXRlPW59OwokZ0M9ZnVuY3Rpb24obil7aWYobi5OKWlmKG4uYXBpLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXRyeXt4UCh7ZHVyYXRpb246SW5maW5pdHl9KX1jYXRjaChXKXt4UCgpfWVsc2V7aWYobi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnpLKCkpe2xldCBXPW4uYXBpLmdldFByb2dyZXNzU3RhdGUoKS5zZWVrYWJsZUVuZCxEPU1hdGgubWluKG4uYXBpLmdldEN1cnJlbnRUaW1lKCksVyk7aWYoVyYmTnVtYmVyLmlzRmluaXRlKEQpKXt4UCh7ZHVyYXRpb246VyxwbGF5YmFja1JhdGU6bi5hcGkuZ2V0UGxheWJhY2tSYXRlKCkscG9zaXRpb246RH0pO3JldHVybn19eFAoKX19OwpMYT1mdW5jdGlvbihuLFcpe3RyeXtuYXZpZ2F0b3IubWVkaWFTZXNzaW9uLnNldEFjdGlvbkhhbmRsZXIobixXKX1jYXRjaChEKXt9fTsKclBoPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKCFufHwhbi50aHVtYm5haWxzKXJldHVybiBXO2ZvcihsZXQgRCBvZiBuLnRodW1ibmFpbHMpRC51cmwmJighRC53aWR0aHx8RC53aWR0aDw9MHx8IUQuaGVpZ2h0fHxELmhlaWdodDw9MHx8Zy5qSShELnVybCkmJlcucHVzaCh7c3JjOkQudXJsfHwiIixzaXplczpgJHtELndpZHRofXgke0QuaGVpZ2h0fWAsdHlwZToiaW1hZ2UvanBlZyJ9KSk7cmV0dXJuIFd9OwpzVVM9ZnVuY3Rpb24obil7TGEoInBsYXkiLCgpPT57bi5hcGkucGxheVZpZGVvKCk7ZWwobil9KTsKTGEoInBhdXNlIiwoKT0+e24uYXBpLnBhdXNlVmlkZW8oKTtlbChuKX0pOwpMYSgic2Vla2JhY2t3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSgtNSpuLmFwaS5nZXRQbGF5YmFja1JhdGUoKSk7ZWwobil9KTsKTGEoInNlZWtmb3J3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSg1Km4uYXBpLmdldFBsYXliYWNrUmF0ZSgpKTtlbChuKX0pOwpMYSgic2Vla3RvIixXPT57Vz1XLnNlZWtUaW1lO1chPW51bGwmJm4uYXBpLnNlZWtUbyhXKTtlbChuKX0pfTsKZWw9ZnVuY3Rpb24obil7bi5hcGkuUygid2ViX3Jlc2V0X2xhY3Rfb25fbWVkaWFfYWN0aW9ucyIpJiZuLmFwaS51cGRhdGVMYXN0QWN0aXZlVGltZSgpfTsKeFA9ZnVuY3Rpb24obil7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5zZXRQb3NpdGlvblN0YXRlKG4pfTsKcGFNPWZ1bmN0aW9uKG4pe2lmKG49bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LmdldFBsYXllclJlc3BvbnNlKCk/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKWlmKG49Zy53KG4uY29tcG9zaXRlVmlkZW9PdmVybGF5LE5LeCksbj8uc291cmNlcz8ubGVuZ3RoKWZvcihsZXQgVyBvZiBuPy5zb3VyY2VzKWlmKFcuaXNBY3RpdmUpcmV0dXJuIFd9OwpnOT1mdW5jdGlvbihuKXtuLk49dm9pZCAwO24uVy5jbGVhcigpO24uYXBpLk5wKCJjb21wb3NpdGVlbWJhcmdvIiwxKX07ClhZPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tSZWxhdGl2ZVBvc2l0aW9uPy51dGNUaW1lTXMpLzFFMztsZXQgYj1XK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSx2PWBjb21wb3NpdGVfZW1iYXJnb18ke1d9YDtpZihELm9uRW50ZXIpe2xldCBrPUQub25FbnRlci5maWx0ZXIobi5WKTtrLmxlbmd0aCYmKG4uVy5zZXQodixrKSxuLmFwaS5hZGRVdGNDdWVSYW5nZSh2LFcsYiwiY29tcG9zaXRlZW1iYXJnbyIsITEpKX19fTsKSDR0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPy5pZCE9PVcuaWQmJihuLmFwaS5xVyghMCksbi5XLmhhcyhXLmlkKSkpe3ZhciBEPW4uVy5nZXQoVy5pZCksYj1uLmFwaS5nZXRWaWRlb0RhdGEoKTtmb3IobGV0IHYgb2YgRClEPXYuY29tcG9zaXRlRW1iYXJnbz8uZW1iYXJnb1N0YXR1c1Rva2VuLGIucFIhPT1EJiYoYi5wUj1ELG4uYXBpLm5DKCkpLFlhVShuLFcpfX07CmZwaT1mdW5jdGlvbihuLFcpe2lmKG4uTj8uaWQ9PT1XLmlkJiYobi5hcGkucVcoITEpLG4uVy5oYXMoVy5pZCkpKXtpZihXPW4uYXBpLmdldFZpZGVvRGF0YSgpKVcucFI9dm9pZCAwO24uYXBpLm5DKCk7WWFVKG4pfX07CkpQTT1mdW5jdGlvbihuLFcpe24uY29tcG9zaXRlVmlkZW9TdGF0ZSE9PW51bGwmJihXLnBsYXliYWNrU3RhdGV8fChXLnBsYXliYWNrU3RhdGU9e30pLFcucGxheWJhY2tTdGF0ZS5jb21wb3NpdGVWaWRlb1N0YXRlPW4uY29tcG9zaXRlVmlkZW9TdGF0ZSl9OwpJcEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uYXBpLmdldFZpZGVvRGF0YSh7dm86ITF9KTtiPy5VKCJhdHJrY2hnIix7aWQ6VyxtOkR9KTtpZihiJiYhYi5JTSgpKXtEPW4uYXBpLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7Zm9yKGxldCB2IG9mIEQpaWYodi5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Vyl7bi5hcGkuRygpLkhKPVc7YnJlYWt9fX07ClNhTT1mdW5jdGlvbihuLFcpe1chPT1uLksmJihuLks9VyxuLkouSigpLFcmJihuLkouTk4obi5hcGksIm1vZHVsZWNyZWF0ZWQiLEQ9Pnt2YXIgYj1wYU0obik7RD09PSJjYXB0aW9ucyImJmI/LnRvcExlZnRDb3JuZXJYIT09dm9pZCAwJiZiPy50b3BMZWZ0Q29ybmVyWSE9PXZvaWQgMCYmYj8ud2lkdGghPT12b2lkIDAmJmI/LmhlaWdodCE9PXZvaWQgMCYmbi5hcGkuVG4oe3RvcDpiLnRvcExlZnRDb3JuZXJZLHJpZ2h0OjEtYi50b3BMZWZ0Q29ybmVyWC1iLndpZHRoLGJvdHRvbToxLWIudG9wTGVmdENvcm5lclktYi5oZWlnaHQsbGVmdDpiLnRvcExlZnRDb3JuZXJYfSl9KSxuLkouTk4obi5hcGksZy5veSgiY29tcG9zaXRlZW1iYXJnbyIpLEQ9PntINHQobixEKX0pLG4uSi5OTihuLmFwaSxnLmR2KCJjb21wb3NpdGVlbWJhcmdvIiksRD0+e2ZwaShuLEQpfSksbi5KLk5OKG4uYXBpLCJoZWFydGJlYXRSZXF1ZXN0IixEPT57SlBNKG4sRCl9KSxuLkouTk4obi5hcGksImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiLAooRCxiKT0+e0lwQyhuLEQsYil9KSxuLkouTk4obi5hcGksIm9uUGxheWJhY2tBdWRpb0NoYW5nZSIsKCk9PntuLmFwaS5uQygpfSkpKX07CllhVT1mdW5jdGlvbihuLFcpe24uTj8uaWQhPT1XPy5pZCYmKG4uTiYmKG4uVy5kZWxldGUobi5OLmlkKSxuLmFwaS5VTyhbbi5OXSwxKSksbi5OPVcpfTsKQVAyPWZ1bmN0aW9uKG4pe249bj8ucXVhbGl0eURldGFpbHN8fFtdO3JldHVybiBnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKT9uOm4ucmVkdWNlKChXLHtrZXk6RCx2YWx1ZTpifSk9PntEJiZiJiYoV1tEXT1iKTtyZXR1cm4gV30se30pfTsKbWdoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVc/MTU2NTk1OjE1MTg3NDtmb3IobGV0IGggb2Ygbil7dmFyIGs9aC52aWRlbztuPXtmb3JtYXRJZDpoLmlkLHF1YWxpdHlMYWJlbDprLnF1YWxpdHlMYWJlbCxxdWFsaXR5OmsucXVhbGl0eSxpc1BsYXlhYmxlOld9O2lmKGs9RFtrLnF1YWxpdHlMYWJlbF0pbi5wYXlnYXRlZFF1YWxpdHlEZXRhaWxzPXtwYXlnYXRlZEluZGljYXRvclRleHQ6ay5wYXlnYXRlZEluZGljYXRvclRleHQsZW5kcG9pbnQ6ay5lbmRwb2ludCx2ZVR5cGU6dix0cmFja2luZ1BhcmFtczprLnRyYWNraW5nUGFyYW1zfTtiLnB1c2gobil9cmV0dXJuIGJ9OwpPNEM9ZnVuY3Rpb24obil7cVQoKSYmKG4ubVE9bi5hcGkuZUcoKSxuLk49bmV3IFk2LG4uVz0yLG4ubVEuU2woInB0X3Bpc2giKSx3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz93aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+e0sxVShuKX0pOksxVShuKSl9OwpxVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuYW5kcm9pZCYmd2luZG93LmFuZHJvaWQud2VidmlldyYmd2luZG93LmFuZHJvaWQud2Vidmlldy5nZXRFeHBlcmltZW50YWxNZWRpYUludGVncml0eVRva2VuUHJvdmlkZXJ9OwpLMVU9ZnVuY3Rpb24obil7aWYocVQoKSl7bi5tUT1uLmFwaS5lRygpO24ubVEuU2woInB0X3BpcyIpO3RyeXt3aW5kb3cuYW5kcm9pZC53ZWJ2aWV3LmdldEV4cGVyaW1lbnRhbE1lZGlhSW50ZWdyaXR5VG9rZW5Qcm92aWRlcih7Y2xvdWRQcm9qZWN0TnVtYmVyOjg2ODYxODY3Njk1Mn0pLnRoZW4oVz0+e24uSj1XO24uTj8ucmVzb2x2ZSgpO24ubVEuU2woInB0X3BpZiIpfSkuY2F0Y2goVz0+e0dHKFcsInBsYXllcl9zdGFydCIpOwpuLm1RLlNsKCJwdF9waWUiKTtuLk4/LnJlamVjdChXKX0pfWNhdGNoKFcpe0dHKFcsInBsYXllcl9zdGFydF9jYXRjaCIpLG4uYXBpLlUoInBmZXMiLHt9KSxuLk4/LnJlamVjdChXKX19fTsKR0c9ZnVuY3Rpb24obixXKXtuLm1lc3NhZ2UmJmcuR3EoRXJyb3IoYCR7V31fJHtuLm1lc3NhZ2V9YCkpfTsKUGd4PWZ1bmN0aW9uKG4sVyl7aWYobi5KKXt2YXIgRD1XLnZpZGVvSWQ7bi5XPTM7bi5tUS5TbCgicHRfbXMiKTt0cnl7bi5KLnJlcXVlc3RUb2tlbihEKS50aGVuKGI9PntuLm1RLlNsKCJwdF9tZiIpO2lmKGI9Zy5kMShiKSlXLnpmPXtZdDpifX0pLmNhdGNoKGI9PntuLm1RLlNsKCJwdF9tZSIpOwpHRyhiLCJwbGF5ZXJfZ2VuZXJhdGUiKTtuLmhhbmRsZUVycm9yKGIsVyl9KX1jYXRjaChiKXtHRyhiLCJwbGF5ZXJfZ2VuZXJhdGVfY2F0Y2giKSxuLmhhbmRsZUVycm9yKGIsVyl9fX07Clo0eD1mdW5jdGlvbihuLFcpe2cueDYobi5hcGkuRygpKSYmKFc/bi5qLnNob3coKTpuLmouaGlkZSgpKX07CnlQaj1mdW5jdGlvbihuKXtuLlg8bi5KLmxlbmd0aD9VZzIobik6KG4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KDEpLk4oMikmJihuLlY9ITApLG4uTj0hMCxuLlg9MCxuLkoubGVuZ3RoPTAsbi5hcGkuWDkoKSxuLk49ITEpfTsKRUJDPWZ1bmN0aW9uKG4pe3ZhciB7aW50ZXJzdGl0aWFsczpXfT1uLmFwaS5nZXRWaWRlb0RhdGEoKSxEPVtdO2ZvcihsZXQgTCBvZiBXKXtXPUQ7dmFyIGI9Vy5wdXNoLHY9bixrPUwucGxheWVyVmFycyxoPUwua3EseD1MLnRpbWU7bGV0IGU9YHl0by0ke3YuWSsrfWA7eD1uZXcgZy5sNSh4LHgse2lkOmUscHJpb3JpdHk6NyxuYW1lc3BhY2U6Inl0byJ9KTt2LktbZV09e3BsYXllclZhcnM6ayxwbGF5ZXJUeXBlOmh9O2IuY2FsbChXLHgpO1c9bi5hcGkuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KTtXPU9iamVjdC5hc3NpZ24oe29hdXRoX3Rva2VuOlcub2F1dGhUb2tlbn0sTC5wbGF5ZXJWYXJzKTtuLmFwaS5wcmVsb2FkVmlkZW9CeVBsYXllclZhcnMoVyxMLmtxKX1uLmFwaS5naChELDEpfTsKVWcyPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSltuLlhdO2lmKFcpe3ZhciB7cGxheWVyVmFyczpELHBsYXllclR5cGU6Yn09bi5LW1ddO24uTj0hMDtuLlgrKztXPW4uYXBpLmdldFZpZGVvRGF0YSh7cGxheWVyVHlwZToxfSk7Vz1PYmplY3QuYXNzaWduKHtvYXV0aF90b2tlbjpXLm9hdXRoVG9rZW59LEQpO24uYXBpLmxvYWRWaWRlb0J5UGxheWVyVmFycyhXLCEwLGIsITApO24uTj0hMX19OwpvQnI9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7aWYoYXdhaXQgaTRVKG4pKXRyeXtsZXQgdj17a2V5Om5mKFcsInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSIpLHZpZGVvSWQ6VyxsYXN0UGxheWJhY2tQb3NpdGlvblNlY29uZHM6RC50b1N0cmluZygpLGxhc3RVcGRhdGVkQ2xpZW50VGltZXN0YW1wTXM6Yi50b1N0cmluZygpfTthd2FpdCBweXQobi5OLHYpO24uSiE9PVcmJihhd2FpdCB1angobiksbi5KPVcpfWNhdGNoKHYpe24uaGFuZGxlRXJyb3IoIkZhaWxlZCB0byBhZGQgb3IgdXBkYXRlIHBsYXliYWNrIHBvc2l0aW9uIix2KX1lbHNlIG4uYXBpLlUoInZwcGUiLHtwdToiYXUifSl9OwpkZ3c9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvSWQ7aWYoVyl7dmFyIEQ9bi5hcGkuZ2V0Q3VycmVudFRpbWUoKSxiPURhdGUubm93KCk7b0JyKG4sVyxELGIpfX07Cmk0VT1hc3luYyBmdW5jdGlvbihuKXtpZighbi5OKXt0NXx8KHQ1PUk5MigpKTtsZXQgVz1hd2FpdCB0NTtpZighVylyZXR1cm4hMTtuLk49V31yZXR1cm4hMH07CnVqeD1hc3luYyBmdW5jdGlvbihuKXtpZihuLk4pdHJ5e3ZhciBXPWF3YWl0IFVlKG4uTiwidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IiksRD1hd2FpdCBVZShuLk4sIm1haW5WaWRlb0VudGl0eSIpO2xldCBiPW5ldyBTZXQoRC5tYXAoaD0+aC52aWRlb0lkKSksdj1XLmZpbHRlcihoPT4hYi5oYXMoaC52aWRlb0lkKSk7CnYuc29ydCgoaCx4KT0+TnVtYmVyKHgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcyktTnVtYmVyKGgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcykpOwpsZXQgaz1EYXRlLm5vdygpLTg2NEU1O1c9W107Zm9yKEQ9MDtEPHYubGVuZ3RoO0QrKyl7bGV0IGg9dltEXTsoRD49bi5XfHxOdW1iZXIoaC5sYXN0VXBkYXRlZENsaWVudFRpbWVzdGFtcE1zKTxrKSYmaC5rZXkmJlcucHVzaChoLmtleSl9Vy5sZW5ndGg+MCYmKG4uYXBpLlUoInZwcGUiLHtleHA6Vy5sZW5ndGh9KSxhd2FpdCBIaHcobi5OLFcpKX1jYXRjaChiKXtuLmhhbmRsZUVycm9yKCJGYWlsZWQgdG8gZXhwaXJlIHBsYXliYWNrIHBvc2l0aW9uIixiKX19Owp6TFo9ZnVuY3Rpb24obil7L1teYS16QS1aMC05Oy4hXy1dLy50ZXN0KG4pJiYobj1uLnJlcGxhY2UoL1srXS9nLCItIikucmVwbGFjZSgvW15hLXpBLVowLTk7LiFfLV0vZywiXyIpKTtyZXR1cm4gbn07CmxwMj1mdW5jdGlvbihuKXtyZXR1cm4gd2luZG93LlByb2ZpbGVyJiZuZXcgd2luZG93LlByb2ZpbGVyKG4pfTsKalVVPWZ1bmN0aW9uKG4pe3ZhciBXPW4uc2FtcGxlSW50ZXJ2YWwsRD1uLm1heEJ1ZmZlclNpemU7aWYoIW4ucU4oKSYmVz4wJiZEPjAmJiFuLk4mJm4uVzwxRTcpdHJ5e24uWD1scDIoe3NhbXBsZUludGVydmFsOlcsbWF4QnVmZmVyU2l6ZTpEfSksbi5YPy5hZGRFdmVudExpc3RlbmVyKCJzYW1wbGVidWZmZXJmdWxsIixhc3luYygpPT57YXdhaXQgVEt3KG4pO2pVVShuKX0pfWNhdGNoKGIpe24uTj16TFooYi5tZXNzYWdlKSxuLkooKX19OwpUS3c9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2xldCBXPWF3YWl0IG4uWD8uc3RvcCgpO1cmJm4ubG9nVHJhY2UoVyl9Y2F0Y2goVyl7bi5OPXpMWihXLm1lc3NhZ2UpLG4uSigpfX07ClJMdD1mdW5jdGlvbihuLFcsRCl7aWYoRCl7dmFyIGI9IiI7Q2d0KG4sVykmJihiPVcsbi5hcGkuRygpLkhKPVcpO2ImJkJLQyhuLGIpJiYodnRDKG4uYXBpLGIpLFNrKGZFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKT8uVigpKSx2PT57dmFyIGs9YjtGMXcodikhPT1rJiZ3YVMobixNaWkodikse3N0cmluZ1ZhbHVlOmt9KX0pKX19OwpRVVo9ZnVuY3Rpb24obil7QXMoKT8uc2l6ZSYmU2soZkUobi5hcGkuRygpLG4uYXBpLmdldFZpZGVvRGF0YSgpPy5WKCkpLFc9PnsoVz1GMXcoVykpJiZCS0MobixXKSYmKG4uYXBpLkcoKS5ISj1XKX0pfTsKQ2d0PWZ1bmN0aW9uKG4sVyl7bj1uLmFwaS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2ZvcihsZXQgRCBvZiBuKWlmKEQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PVcpcmV0dXJuIEQ7cmV0dXJuIG51bGx9OwpCS0M9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zcGxpdCgiLiIpWzBdIT09IiImJm4uYXBpLmdldFZpZGVvRGF0YSgpPy5JTSgpfTsKRjF3PWZ1bmN0aW9uKG4pe3tuPU1paShuKTtsZXQgVz1BcygpO249Vz9XLmdldChuKTp2b2lkIDB9cmV0dXJuIG4mJm4uc3RyaW5nVmFsdWU/bi5zdHJpbmdWYWx1ZToiIn07CndhUz1mdW5jdGlvbihuLFcsRCl7VmliKFt7c2V0dGluZ0l0ZW1JZDpXLHNldHRpbmdPcHRpb25WYWx1ZTpEfV0pO1NrKG4uWW8oKSxiPT57QkdNKGIsVyxEKX0pfTsKTWlpPWZ1bmN0aW9uKG4pe3ZhciBXPSg0ODQpLnRvU3RyaW5nKCk7biYmKFc9KDQ4MykudG9TdHJpbmcoKSk7cmV0dXJuIFd9OwpWaWI9ZnVuY3Rpb24obil7dmFyIFc9QXMoKTtXfHwoVz1uZXcgTWFwKTtmb3IobGV0IEQgb2YgbilXLnNldChELnNldHRpbmdJdGVtSWQsRC5zZXR0aW5nT3B0aW9uVmFsdWUpO249SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKFcpKTtnLlBCKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIsbiwyNTkyRTMpfTsKcjk9ZnVuY3Rpb24obil7bi5qPW51bGw7bi5LPW51bGw7bi5OTigkUCgib3ZlciIpLG4uWjEpO24uTk4oInRvdWNoc3RhcnQiLG4uWSk7bi5OJiZuLk5OKCRQKCJkb3duIiksbi5WUSl9Owpzcj1mdW5jdGlvbihuKXtuLlguSighbi5OKX07CiRQPWZ1bmN0aW9uKG4pe3JldHVybiB3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQ/YE1TUG9pbnRlciR7bi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke24uc3Vic3RyaW5nKDEpfWA6YG1vdXNlJHtufWB9OwpOVD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmY1BiP2cuSksobil8fGRvY3VtZW50OmRvY3VtZW50fTsKYXB4PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEPTA7RDxXLmNoYW5nZWRUb3VjaGVzLmxlbmd0aDtEKyspe2xldCBiPVcuY2hhbmdlZFRvdWNoZXNbRF07aWYoYi5pZGVudGlmaWVyPT09bi5LKXJldHVybiBifXJldHVybiBudWxsfTsKblZyPWZ1bmN0aW9uKG4pe2NQYj1ufTsKV3F4PWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVyl7Vz1OdW1iZXIoYi5wbGF5YmFja1JlbGF0aXZlUG9zaXRpb24/LnV0Y1RpbWVNcykvMUUzO2xldCB2PVcrTnVtYmVyKGIuZHVyYXRpb24/LnNlY29uZHMpLGs9YHN0YXRpb25zOiR7RH06JHtXfWA7bi5KLmhhcyhrKXx8KG4uSi5hZGQoayksYi5vbkVudGVyJiYobi5OW2tdPWIub25FbnRlciksbi5hcGkuYWRkVXRjQ3VlUmFuZ2UoayxXLHYsRCwhMSkpfX07CkpKPWZ1bmN0aW9uKG4pe3ZhciBXPS9jb2RlY3M9IihbXiJdKikiLy5leGVjKG4ubWltZVR5cGUpO3JldHVybiBXJiZXWzFdP1dbMV0rIiAoIituLml0YWcrIikiOm4uaXRhZ307CnBhPWZ1bmN0aW9uKG4sVyl7aWYobi5oZWlnaHRQeD09PS0xKXt2YXIgRD1udWxsO3RyeXtEPWcuekYoIkNBTlZBUyIpLG4uVz1ELmdldENvbnRleHQoIjJkIil9Y2F0Y2goaCl7fWlmKG4uVyl7dmFyIGI9bi5OKm4uc2FtcGxlQ291bnQ7bi5qPUQ7bi5qLndpZHRoPWI7bi5qLnN0eWxlLndpZHRoPWAke2J9cHhgO24uZWxlbWVudC5hcHBlbmRDaGlsZChuLmopfWVsc2UgZm9yKG4uc2FtcGxlQ291bnQ9TWF0aC5mbG9vcihuLnNhbXBsZUNvdW50LzQpLG4uTio9NCxEPTA7RDxuLnNhbXBsZUNvdW50O0QrKyliPWcuekYoIlNQQU4iKSxiLnN0eWxlLndpZHRoPWAke24uTn1weGAsYi5zdHlsZS5sZWZ0PWAke24uTipEfXB4YCxuLmVsZW1lbnQuYXBwZW5kQ2hpbGQoYil9RD1uLmVsZW1lbnQuY2xpZW50SGVpZ2h0fHwyNDtEIT09bi5oZWlnaHRQeCYmKG4uaGVpZ2h0UHg9RCxuLlcmJihEPSh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk+MT8yOjEsbi5qLmhlaWdodD1uLmhlaWdodFB4KgpELG4uai5zdHlsZS5oZWlnaHQ9YCR7bi5oZWlnaHRQeH1weGAsbi5XLnNjYWxlKDEsRCkpKTtmb3IodmFyIHYgb2YgVyl7Vz1uO3ZhciBrPW4uaW5kZXg7Zm9yKEQ9MDtEKzI8Vy5WLmxlbmd0aCYmVy5WW0QrMV08djspRCsrO2I9TWF0aC5taW4oMSwodi1XLlZbRF0pLyhXLlZbRCsxXS1XLlZbRF0pKTtpZihXLlcpVy5XLmZpbGxTdHlsZT1XLktbRF0sVy5XLmZpbGxSZWN0KGsqVy5OLDAsVy5OLFcuaGVpZ2h0UHgpLFcuVy5maWxsU3R5bGU9Vy5LW0QrMV0sVy5XLmZpbGxSZWN0KGsqVy5OLFcuaGVpZ2h0UHgqKDEtYiksVy5OLFcuaGVpZ2h0UHgpO2Vsc2V7az1XLmVsZW1lbnQuY2hpbGRyZW5ba107bGV0IGg9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7Yj1NYXRoLm1pbihXLmhlaWdodFB4LE1hdGgucm91bmQoVy5oZWlnaHRQeCpiKmgpL2gpfHwwO2suc3R5bGUuaGVpZ2h0PWAke2J9cHhgO2suc3R5bGUuYmFja2dyb3VuZENvbG9yPVcuS1tEKzFdO2suc3R5bGUuYm9yZGVyVG9wPQpgc29saWQgJHtXLmhlaWdodFB4LWJ9cHggJHtXLktbRF19YH1uLmluZGV4PShuLmluZGV4KzEpJW4uc2FtcGxlQ291bnR9dj1uLmluZGV4O24uVz9uLlcuY2xlYXJSZWN0KHYqbi5OLDAsbi5OLG4uaGVpZ2h0UHgpOihuPW4uZWxlbWVudC5jaGlsZHJlblt2XSxuLnN0eWxlLmhlaWdodD0iMHB4IixuLnN0eWxlLmJvcmRlclRvcD0iIil9OwpiQng9ZnVuY3Rpb24obixXKXt2YXIgRD0hIW4uTj8uRTUoKTtuLk58fChuLk49bmV3IERRTShuLmFwaSksZy51KG4sbi5OKSxnLnJ2KG4uYXBpLG4uTi5lbGVtZW50LDQpKTtuLk4uTUwoVyk7dmFyIGI9R3Uobi5hcGkuSjUoKSk7YiYmYi5sb2FkZWQmJkQhPT1XJiZiLm5HKCk7VyYmbi5hcGkuVSgic2ZuIix7fSwhMCl9Owp2VjI9ZnVuY3Rpb24obixXKXtpZihuLlc9PT12b2lkIDApcmV0dXJuITE7aWYoVy5zZWVrRGlyZWN0aW9uPT09IlRJTUVMWV9BQ1RJT05fVFJJR0dFUl9ESVJFQ1RJT05fRk9SV0FSRCImJk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzKXtpZihXPW4uVz09PTcyKW4uWD0iVElNRUxZX0FDVElPTl9UUklHR0VSX1NPVVJDRV9LRVlCT0FSRF9GT1JXQVJEX1NFRUtfRklWRV9TRUNPTkRTIjtyZXR1cm4gV31pZihXLnNlZWtEaXJlY3Rpb249PT0iVElNRUxZX0FDVElPTl9UUklHR0VSX0RJUkVDVElPTl9GT1JXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQpe2lmKFc9bi5XPT09NzQpbi5YPSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfU09VUkNFX0tFWUJPQVJEX0ZPUldBUkRfU0VFS19URU5fU0VDT05EUyI7cmV0dXJuIFd9cmV0dXJuIFcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmCk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzP24uVz09PTcxOlcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQ/bi5XPT09NzM6ITF9Owprd3c9ZnVuY3Rpb24obil7bi50aW1lbHlBY3Rpb25zJiYobi5qPW4udGltZWx5QWN0aW9ucy5yZWR1Y2UoKFcsRCk9PntpZihELmN1ZVJhbmdlSWQ9PT12b2lkIDApcmV0dXJuIFc7V1tELmN1ZVJhbmdlSWRdPTA7cmV0dXJuIFd9LHt9KSl9OwpZUD1mdW5jdGlvbihuKXtuLmNKJiZjbGVhclRpbWVvdXQobi5jSik7bi5jSj12b2lkIDA7bi5PPSExfTsKZmE9ZnVuY3Rpb24obil7aWYobi5OIT09dm9pZCAwKXt2YXIgVz0oVz1IOChuLG4uTikpJiZXLm9uQ3VlUmFuZ2VFbnRlcj9nLk40KFcub25DdWVSYW5nZUVudGVyKTp2b2lkIDA7dmFyIEQ9SDgobixuLk4pO2E6aWYoRCYmRC5hZGRpdGlvbmFsVHJpZ2dlcil7Zm9yKGIgb2YgRC5hZGRpdGlvbmFsVHJpZ2dlcilpZihiLnR5cGUmJigwLG4uYmRbYi50eXBlXSk/LihiLmFyZ3M/P3t9KSl7dmFyIGI9ITA7YnJlYWsgYX1iPSExfWVsc2UgYj0hMDtXJiZiJiYoZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsVyksaGJqKG4sRCksbi5qW24uTl0hPT12b2lkIDAmJm4ualtuLk5dKyssbi5PPSEwKX19OwpIOD1mdW5jdGlvbihuLFcpe2lmKG4udGltZWx5QWN0aW9ucylmb3IobGV0IEQgb2Ygbi50aW1lbHlBY3Rpb25zKWlmKEQuY3VlUmFuZ2VJZD09PVcpcmV0dXJuIER9Owp4UXc9ZnVuY3Rpb24obixXKXtpZigobj1IOChuLFcpKSYmbi5vbkN1ZVJhbmdlRXhpdClyZXR1cm4gZy5ONChuLm9uQ3VlUmFuZ2VFeGl0KX07Cmhiaj1mdW5jdGlvbihuLFcpe3ZhciBEPU51bWJlcihXPy5tYXhWaXNpYmxlRHVyYXRpb25NaWxsaXNlY29uZHMpO0QmJihZUChuKSxuLmNKPXNldFRpbWVvdXQoKCk9PntpZihuLk4hPT12b2lkIDAmJlc/LmN1ZVJhbmdlSWQ9PT1uLk4pe24uTz0hMTtuLlg9dm9pZCAwO3ZhciBiPXhRdyhuLG4uTik7YiYmZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsYil9fSxEKSl9Owp2YXIgZmFpPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtyZXR1cm4gaXBbSVsxMF1dKHRoaXMsNCw1ODg5LG4sVyxELGIsdixrKX07CmdWaD1mdW5jdGlvbihuKXtpZihuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSlpZihuPWcudyhuLnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnRpbWVseUFjdGlvbnNPdmVybGF5Vmlld01vZGVsLExxQyksbj8udGltZWx5QWN0aW9ucylyZXR1cm4gbj8udGltZWx5QWN0aW9ucy5tYXAoVz0+Zy53KFcsZWJyKSkuZmlsdGVyKFc9PiEhVyl9OwpKNT1mdW5jdGlvbihuKXtuLk4hPT1udWxsJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUjA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47KG48PDEmMTUpPT0yJiZEW0lbMjVdXSgpO2lmKChuLTh8MTcpPG4mJihuLTZeMjIpPj1uKXt2YXIgaD1EW2JdLHg9aFtJW2teNzM1NF1dKElba143MzA5XSk7eD4wP0VjKGteNzM1NSxrXjEyOTAsdixoW0lba143MzU5XV0oMCx4KSxoW0lba143MzU5XV0oeCsxKSk6aCYmKHZbaF09SVtrXjczNTddKTt2YXIgTD1bXX1pZigobiYyNyk9PW4pe2lmKCEoZ1goRFtJW2teNzUzMl1dKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0OTBdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0NzZdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc1MzNdKSkpdGhyb3cgbmV3IGcuUXgoSVtrXjc0ODBdLERbSVtrXjc1MzJdXSk7aD1scihEW0lba143NTMyXV0pO0RbSVtrXjc1MjddXT1oW0lba143NTQwXV07RFtJW2teNzUxNF1dPWhbSVsxXV0rKGhbSVtrXjc1MDhdXSE9bnVsbD9gOiR7aFtJW2teNzUwOF1dfWA6Cklba143NTI4XSk7eD1oW0lba143NTMyXV07eFtJW2teNzUxOF1dKElba143NTM4XSk/KERbSVtrXjc1MjFdXT1JW2teNzUzOF0seD14W0lba143NTMwXV0oa143NTM5KSk6eFtJW2teNzUxOF1dKElba143NTIzXSk/KERbSVtrXjc1MjFdXT1JW2teNzUyM10seD14W0lba143NTMwXV0oa143NTM2KSk6eFtJW2teNzUxOF1dKElba143NDc1XSk/KHg9aXAoa143NTI5LGteODgwLHgsRCkseD14WzBdKTooRFtJW2teNzUyMV1dPXgseD1JW2teNzUyOF0pO3ZhciBlPURbSVsxXV07RFtJWzFdXT1pcChrXjc1MzMsa143NzcxLHgpO09iamVjdFtJW2teNzUzOV1dKERbSVsxXV0sZzcoMixrXjc1MDAsaFtJW2teNzUxNF1dW0lbMF1dKCkpKTtPYmplY3RbSVtrXjc1MzldXShEW0lbMV1dLGUpO0RbSVsxXV1bSVtrXjc0NzNdXT09PUlba143NTAxXSYmKGRlbGV0ZSBEW0lbMV1dW0lba143NDczXV0sRFtJW2teNzUyMV1dKz1JW2teNzQ4N10pO0RbSVtrXjc1MzJdXT1JW2teNzUyOF07RFtJW2teNzUyMF1dPQpJW2teNzUyOF07RFtJW2teNzU0MF1dJiYoaD1YRChrXjc0OTIsa14zMjg1LEQpKTtMPVtdfShuJjk5KT09biYmKGVYKGteMzQ4NSxrXjQ1NDIsRCksTD1EW0lba14zNTExXV0pO24rMyYxNXx8KEw9ZW5jb2RlVVJJQ29tcG9uZW50KEQpKTtyZXR1cm4gTH07ClhiaD1mdW5jdGlvbihuKXtKNShuKTtuLk49c2V0VGltZW91dCgoKT0+e24uaGlkZSgpfSwzRTMpfTsKSUc9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuVUooKTtpZihXKXtsZXQgRD1uLmFwaS5nZXRQbGF5ZXJTaXplKCk7Vy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke24uTipELndpZHRoKigxLW4uc2NhbGUpfXB4LCAke24uSipELmhlaWdodCooMS1uLnNjYWxlKX1weCkgc2NhbGUoJHtuLnNjYWxlfSlgO1cuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSIwIDAiO1c9bi5pbmRpY2F0b3I7Vy5XLnRleHRDb250ZW50PWAke051bWJlcihuLnNjYWxlLnRvRml4ZWQoMSkpfXhgO1cuTj09PW51bGwmJlhiaChXKTtuLnNjYWxlPjE/bi5pbmRpY2F0b3Iuc2hvdygpOm4uaW5kaWNhdG9yLmhpZGUoKTtXPW4uc2NhbGU+MT8iWk9PTV9TVEFURV9GUkVFIjoiWk9PTV9TVEFURV9PUklHSU5BTCI7VyE9PW4uem9vbVN0YXRlJiYobi56b29tU3RhdGU9VyxnLnpVKCJ3YXRjaFpvb21TdGF0ZUNoYW5nZSIse3pvb21TdGF0ZTpuLnpvb21TdGF0ZX0pKX19OwpxSDE9ZnVuY3Rpb24obil7bj1uLldEKCk7aWYoIW4pcmV0dXJuITE7bj1nLm9FKG4pLmV4cHx8IiI7cmV0dXJuIG4uaW5jbHVkZXMoInhwdiIpfHxuLmluY2x1ZGVzKCJ4cGUiKX07Ckd3VT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2Ygbi5OKCEwKSlpZihxSDEoVykpcmV0dXJuITA7cmV0dXJuITF9Owp0THg9ZnVuY3Rpb24obixXKXtmb3IobGV0IGIgb2Ygbi5OKCEwKSlpZihxSDEoYikpe249Yjt2YXIgRD17cG90YzoiMSIscG90Old9O24udXJsJiYobi51cmw9Zy56ZChuLnVybCxEKSl9fTsKJFF4PWFzeW5jIGZ1bmN0aW9uKG4pe3RyeXthd2FpdCBufWNhdGNoKFcpe319OwpybU09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHF3LEQ9e1siWC1Hb29nLUFwaS1LZXkiXToiQUl6YVN5RHlUNVcwSmg0OUYzMFBxcXR5ZmRmN3BETEZLTEpvQW53In07cmV0dXJuIG5ldyBmVihXLG4sKCk9PkQpfTsKc0xiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVEgobil9OwpOYmI9ZnVuY3Rpb24obil7bi5KJiYobi5YPW5ldyBZNixuLmoucHJvbWlzZS50aGVuKCgpPT57bi5tUS5TbCgicG90X2lmIik7U2wobil9KSl9OwpIQnc9ZnVuY3Rpb24obil7dmFyIFc9KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpfHxuLlMoImh0bWw1X2dlbmVyYXRlX2NvbnRlbnRfcG9fdG9rZW4iKSkmJiFuLnVzZUxpdmluZ1Jvb21Qb1Rva2VuO3RyeXtpZihuLlMoImh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlIil8fG4uYXBpLkcoKS5adCgpLk4uUVEocGJNKSlZSGkobik7ZWxzZSBpZihXKXtuLm1RLlNsKCJwb3RfaXNjIik7bGV0IEQ9Zy5kTShuLmFwaS5HKCkuZXhwZXJpbWVudHMsImh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXMiKTtEPyhBNShuKSxnLm4kKCgpPT57bUEobil9LEQpKTpuLlMoImh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iIik/KEE1KG4pLGcuY0IoZy5EeSgpLCgpPT57bUEobil9KSk6bUEobil9fWNhdGNoKEQpe0QgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShEKX19OwpZSGk9YXN5bmMgZnVuY3Rpb24obil7S2Eobiwic3dwb19pIik7QTUobik7U2wobik7dmFyIFc9YXdhaXQgZy5NaChnLkQ2KCkpO0thKG4sInN3cG9fY28iKTtXPWF3YWl0IFp0WihXKTtuLlMoImh0bWw1X3dlYl9wb190b2tlbl9kaXNhYmxlX2NhY2hpbmciKXx8Vy55aCgxNTApO24uSj1XO0thKG4sInN3cG9fY2MiKTskUXgoVy5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCk7S2Eobiwic3dwb19yZSIpfSk7CmcubiQoKCk9PnttQShuKTtLYShuLCJzd3BvX3NpIil9LDApfTsKQTU9ZnVuY3Rpb24obil7bi5XfHwobi5XPW5XKCkpfTsKbUE9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuRygpO24ubVEuU2woInBvdF9pc3QiKTtuLkp8fGZNMShuKTtuLlMoImh0bWw1X2JhbmRhaWRfYXR0YWNoX2NvbnRlbnRfcG9fdG9rZW4iKXx8KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpJiYoU2wobiksTmJiKG4pKSxXPWcuZE0oVy5leHBlcmltZW50cywiaHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zIil8fDAsVz4wJiYobi5ZPVcwKCgpPT57U2wobil9LFcpKSxuLks9ITApfTsKSm14PWZ1bmN0aW9uKG4pe3ZhciBXPWcuWWgobi5leHBlcmltZW50cywiaHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5Iik7cmV0dXJuIFc/VzpnLms2KG4pPyJaMWVsTmtBS0xwU1Izb1BPVU1TTiI6Ik80M3owZHBqaGdYMjBTQ3g0S0FvIn07CkthPWZ1bmN0aW9uKG4sVyl7bi5TKCJodG1sNV93ZWJwb19iZ2VfY3RtcCIpJiZuLmFwaS5VKFcse2h3cG86ISFuLkosaHdwb3I6bi5OfSl9OwpTbD1hc3luYyBmdW5jdGlvbihuKXtpZihuLlMoImh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW4iKSYmIW4udXNlTGl2aW5nUm9vbVBvVG9rZW4pe3ZhciBXPW4uYXBpLkcoKSxEPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKXx8Zy5BcigiVklTSVRPUl9EQVRBIik7RD1XLllyP1cuZGF0YXN5bmNJZDpEO0Q9Zy5ZaChXLmV4cGVyaW1lbnRzLCJodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlbiIpfHxXLmxpdmluZ1Jvb21Qb1Rva2VuSWR8fEQ7Vy5qVz1PcihuLEQpfX07CmZNMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5HKCksRD1KbXgoVyk7RD1ybU0oRCk7dmFyIGI9RC5aai5iaW5kKEQpO0QuWmo9YXN5bmMgaz0+e2s9YXdhaXQgYihrKTtuLmFwaS5VKCJpdHIiLHt9KTtyZXR1cm4ga307CnRyeXt2YXIgdj1zTGIoe1VnOkQsa2Q6e21heEF0dGVtcHRzOjV9LHgzOntWajoiQ0xFbiIsZGlzYWJsZTpXLmV4cGVyaW1lbnRzLkVxKCJodG1sNV93ZWJfcG9fZGlzYWJsZV9yZW1vdGVfbG9nZ2luZyIpLEpwOlRwYihXLmV4cGVyaW1lbnRzKSxybzpoPT57dmFyIHg9SU0yLmdldChoKTt4fHwoeD1uZXcgU0hpKGgpLHg9bmV3IGhxKHgpLElNMi5zZXQoaCx4KSk7cmV0dXJuIHh9LApSaTpuLlMoIndwb19kaXNfbGZkbXMiKT8wOjFFM30sdDY6Zy5HcX0pO2xldCBrPW5ldyBBbXQoe08xOnYsVWc6RCxvbkVycm9yOmcuR3F9KTskUXgoay5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCl9KTsKbi5TKCJodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nIil8fGsueWgoMTUwKTtnLnUobix2KTtnLnUobixrKTtuLko9a31jYXRjaChrKXtnLkdxKGspLHY/LmRpc3Bvc2UoKX19OwpPcj1mdW5jdGlvbihuLFcpe2lmKCFuLkope2lmKG4uVyl0cnl7cmV0dXJuIG4uVyhXKX1jYXRjaChEKXtnLkdxKEQpfXJldHVybiIifXRyeXtuLm1RLlNsKG4uTj8icG90X2NtcyI6InBvdF9jc21zIik7bGV0IEQ9e0dyOiEwLEVSOiEwLHdfOld9O24uUygiaHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZyIpfHwoRC5oRz17YW06VyxBQjohMCxyMzohMH0pO2xldCBiPW4uSi5aUihEKTtuLm1RLlNsKG4uTj8icG90X2NtZiI6InBvdF9jc21mIik7bi5OJiYobi5YPy5yZXNvbHZlKCksbi5YPW51bGwsbi5WJiYobi5WPSExLG4uYXBpLmFwcC5NTigpLmpEKCExKSkpO3JldHVybiBifWNhdGNoKEQpe3JldHVybiBnLkdxKEQpLCIifX07Cktxcj1mdW5jdGlvbihuKXt2YXIgVz1nLnFqKCk7bi5KJiZnLnhvKFcse05IOlFXLFlMOm1RU30pfTsKZy5QOD1mdW5jdGlvbihuLFcsRCl7Zy5hTCgicGJzIixXPz8oMCxnLlIpKCksRD8/bi50aW1lck5hbWUpfTsKZy5PQk09ZnVuY3Rpb24obixXLEQpe3ZhciBiPWcuQ04oVy55USkmJiFXLnlRLlg7aWYoVy55US5lViYmKEZWKFcueVEpfHxXLnlRLlk9PT0ic2hvcnRzcGFnZSJ8fFcueVEuWT09PSJsZWFuYmFjayJ8fGIpJiYhbi5XKXtuLlc9ITA7bi5WPVcuY2xpZW50UGxheWJhY2tOb25jZTtnLkFyKCJUSU1JTkdfQUNUSU9OIil8fGcuU0goIlRJTUlOR19BQ1RJT04iLG4uQi5jc2lQYWdlVHlwZSk7bi5CLmNzaVNlcnZpY2VOYW1lJiZnLlNIKCJDU0lfU0VSVklDRV9OQU1FIixuLkIuY3NpU2VydmljZU5hbWUpO2lmKG4uTil7Yj1uLk4uZUcoKTtmb3IodmFyIHYgb2YgT2JqZWN0LmtleXMoYikpZy5hTCh2LGJbdl0sbi50aW1lck5hbWUpO3Y9UFYoQ0IpKG4uTi5Idik7Zy5ubCh2LG4udGltZXJOYW1lKTt2PW4uTjt2Lko9e307di5Idj17fX1nLm5sKHtwbGF5ZXJJbmZvOnt2aXNpYmlsaXR5U3RhdGU6UFYoakwpKCl9LHBsYXllclR5cGU6IkxBVEVOQ1lfUExBWUVSX0hUTUw1In0sbi50aW1lck5hbWUpOwpuLmohPT1XLmNsaWVudFBsYXliYWNrTm9uY2V8fE51bWJlci5pc05hTihuLkopfHwoZy52UCgiX3N0YXJ0IixuLnRpbWVyTmFtZSk/RD1QVihvTCkoIl9zdGFydCIsbi50aW1lck5hbWUpK24uSjpnLkdxKG5ldyBnLlF4KCJhdHRlbXB0ZWQgdG8gbG9nIGdhcGxlc3MgcGJzIGJlZm9yZSBDU0kgdGltZWxpbmUgc3RhcnRlZCIse2NwbjpXLmNsaWVudFBsYXliYWNrTm9uY2V9KSkpOyFEfHxnLnZQKCJwYnMiLG4udGltZXJOYW1lKXx8Vy5HU3x8Zy5QOChuLEQpfX07ClAkQz1mdW5jdGlvbihuKXtXUCgpO2NiKCJ3YXRjaCIsWyJwYnMiLCJwYnUiXSk7bi50aW1lck5hbWU9IiJ9OwpaQmo9ZnVuY3Rpb24obil7aWYobi5OKXt2YXIgVz1uLk47Vy5KPXt9O1cuSHY9e319bi5XPSExO24uaj12b2lkIDA7bi5KPU5hTn07ClVRaT1mdW5jdGlvbihuLFcpe3ZhciBEPSExLGI9bi5xdWV1ZS5maW5kSW5kZXgodj0+di5ncz09PVcpOwpiPj0wJiYobi5xdWV1ZS5zcGxpY2UoYiwxKSxEPSEwLFcucU4oKXx8Vy51bnN1YnNjcmliZSgicmVxdWVzdGNvbXBsZXRlZCIsbi5XLG4pLG4uVShXLCJkZXFfcXVldWUiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO2I9bi5KLmZpbmRJbmRleCh2PT52LmdzPT09Vyk7CmI+PTAmJihuLkouc3BsaWNlKGIsMSksRD0hMCxXLnFOKCl8fFcudW5zdWJzY3JpYmUoInJlcXVlc3Rjb21wbGV0ZWQiLG4uVyxuKSxuLlUoVywiZGVxX3dhaXQiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO3JldHVybiBEfTsKeW1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLnF1ZXVlKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtmb3IobGV0IFcgb2Ygbi5KKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtuLnF1ZXVlPVtdO24uSj1bXX07CkVWYj1mdW5jdGlvbihuLFcpe24uVShXLCJyZXFfbG9hZCIse3RjcG46Vy5XTigpfHwibm9uZSIsdHlwZToicHJlIn0pO2lmKCFuLnF1ZXVlLnNvbWUoYj0+Yi5ncz09PVcpJiYhbi5KLnNvbWUoYj0+Yi5ncz09PVcpKXt2YXIgRD17Z3M6VywKc3RhcnRlZDohMX07bi5xdWV1ZS5sZW5ndGg8bi5wb2xpY3kuTj9uLnF1ZXVlLnB1c2goRCk6KG4uSi5wdXNoKEQpLG4uVShXLCJ3YWl0Iix7dGNwbjpXLldOKCl8fCJub25lIn0pKTtuLlcoKX19OwppQlM9ZnVuY3Rpb24obil7dmFyIFc9bi5OP24uTi5XTigpfHwibm9uZSI6Im5vbmUiLEQ9bi5xdWV1ZS5tYXAoYj0+Yi5ncy5XTigpfHwibm9uZSIpLmpvaW4oIiwiKTsKcmV0dXJue3BjcG46Vyx3czpuLkoubGVuZ3RoLGNwbnM6RH19OwpaVD1mdW5jdGlvbihuKXtyZXR1cm4hIShuLnBsYXlsaXN0fHxuLmxpc3R8fG4uYXBpKX07Cml2PWZ1bmN0aW9uKG4sVyxELGIpe1c9VyE9PXZvaWQgMD9XOm4uaW5kZXg7Vz1uLml0ZW1zJiZXIGluIG4uaXRlbXM/bi5pdGVtc1tuLm9yZGVyW1ddXTpudWxsO3ZhciB2PW51bGw7VyYmKEQmJihXLmF1dG9wbGF5PSIxIiksYiYmKFcuYXV0b25hdj0iMSIpLHY9bmV3IGcuVXIobi55USxXKSxnLnUobix2KSx2Lk1kPSEwLHYuc3RhcnRTZWNvbmRzPW4uc3RhcnRTZWNvbmRzfHx2LmNsaXBTdGFydHx8MCxuLmxpc3RJZCYmKHYucGxheWxpc3RJZD1uLmxpc3RJZC50b1N0cmluZygpKSk7cmV0dXJuIHZ9Owp1QXQ9ZnVuY3Rpb24obixXKXtpZihXLnZpZGVvJiZXLnZpZGVvLmxlbmd0aCl7bi50aXRsZT1XLnRpdGxlfHwiIjtuLmRlc2NyaXB0aW9uPVcuZGVzY3JpcHRpb247bi52aWV3cz1XLnZpZXdzO24ubGlrZXM9Vy5saWtlcztuLmRpc2xpa2VzPVcuZGlzbGlrZXM7bi5hdXRob3I9Vy5hdXRob3J8fCIiO3ZhciBEPVcubG9vcDtEJiYobi5sb29wPUQpO0Q9aXYobik7bi5pdGVtcz1bXTtmb3IobGV0IGIgb2YgVy52aWRlbyliJiYoYi52aWRlb19pZD1iLmVuY3J5cHRlZF9pZCxuLml0ZW1zLnB1c2goYikpO24ubGVuZ3RoPW4uaXRlbXMubGVuZ3RoOyhXPVcuaW5kZXgpP24uaW5kZXg9VzpuLmZpbmRJbmRleChEKTtuLnNldFNodWZmbGUoITEpO24ubG9hZGVkPSEwO24uTiYmbi5OKCl9fTsKdXY9ZnVuY3Rpb24obixXKXtuLmluZGV4PWcuRmYoVywwLG4ubGVuZ3RoLTEpO24uc3RhcnRTZWNvbmRzPTB9Owp6YnI9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uYygpLGI9bi5HKCksdj17Y29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDp7YW5jZXN0b3JPcmlnaW5zOmIuYW5jZXN0b3JPcmlnaW5zfX19LGs9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7az8uZW5jcnlwdGVkSG9zdEZsYWdzJiYodi5wbGF5YmFja0NvbnRleHQuY29udGVudFBsYXliYWNrQ29udGV4dC5lbmNyeXB0ZWRIb3N0RmxhZ3M9ay5lbmNyeXB0ZWRIb3N0RmxhZ3MpO2s/LmhpZGVJbmZvJiYodi5wbGF5ZXJQYXJhbXM9e3Nob3dpbmZvOiExfSk7Yj1iLmVtYmVkQ29uZmlnO2s9bi5OZDt2YXIgaD1XLmRvY2lkfHxXLnZpZGVvX2lkfHxXLnZpZGVvSWR8fFcuaWQ7aWYoIWgpe2g9Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFoKXt2YXIgeD1XLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZTt4JiYoaD1KU09OLnBhcnNlKHgpKX1oPWg/Zy53KGg/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5wbGF5QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LApnLklRKT8udmlkZW9JZHx8bnVsbDpudWxsfWg9aD9oOnZvaWQgMDt4PW4ucGxheWxpc3RJZD9uLnBsYXlsaXN0SWQ6Vy5saXN0O3ZhciBMPVcubGlzdFR5cGU7aWYoeCl7dmFyIGU7TD09PSJ1c2VyX3VwbG9hZHMiP2U9e3VzZXJuYW1lOnh9OmU9e3BsYXlsaXN0SWQ6eH07b1YyKGIsayxoLFcsZSk7di5wbGF5bGlzdFJlcXVlc3Q9ZX1lbHNlIFcucGxheWxpc3Q/KGU9e3RlbXBsaXN0VmlkZW9JZHM6Vy5wbGF5bGlzdC50b1N0cmluZygpLnNwbGl0KCIsIil9LG9WMihiLGssaCxXLGUpLHYucGxheWxpc3RSZXF1ZXN0PWUpOmgmJihlPXt2aWRlb0lkOmh9LGs/ZS5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWs6YiYmKGUuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iKSx2LnNpbmdsZVZpZGVvUmVxdWVzdD1lKTtiPUxCKGRRWik7dHJ5e2xldCBHPWF3YWl0IGcucl8oRCx2LGIpLHI9bi5HKCk7Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlPUc7ci5jSj0KaE8oVyxnLm80KHIpKTtyLkQ9ci5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiO0cmJkcudHJhY2tpbmdQYXJhbXMmJmcueXIoRy50cmFja2luZ1BhcmFtcyk7cmV0dXJuIG5ldyBnLlVyKHIsVyl9Y2F0Y2goRyl7cmV0dXJuIEcgaW5zdGFuY2VvZiBFcnJvcnx8KEc9RXJyb3IoImIyNTk4MDI3NDgiKSksZy5YaihHKSxufX07Cm9WMj1mdW5jdGlvbihuLFcsRCxiLHYpe2IuaW5kZXgmJih2LnBsYXlsaXN0SW5kZXg9U3RyaW5nKE51bWJlcihiLmluZGV4KSsxKSk7di52aWRlb0lkPUQ/RDoiIjtXP3Yuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1XOm4mJih2LnNlcmlhbGl6ZWRUaGlyZFBhcnR5RW1iZWRDb25maWc9bil9OwpnLmQ5PWZ1bmN0aW9uKG4sVyl7b0cuZ2V0KG4pO29HLnNldChuLFcpfTsKZy5sTVU9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5HKCkuUygiaHRtbDVfdXNlX2hsc19uYXRpdmVfY2FwdGlvbnMiKSYmZy5HbiYmbi56VygpJiYhIW4uSj8uVygpfTsKZy56Rz1mdW5jdGlvbihuLFcpe3JldHVybiBuLkcoKS5TKCJzYWZhcmlfbGl2ZV9kcm1fY2FwdGlvbnNfZml4IikmJm4uZ2V0VmlkZW9EYXRhKCk/Lk1pKCk/ITE6Zy5HbChuLkcoKSkmJiFXLmlzTWFuaWZlc3RsZXNzfTsKZy5sdj1mdW5jdGlvbihuLFcpe3JldHVybiBuLmluZm8uTigpP1c/bi5pbmZvLml0YWc9PT1XOiEwOiExfTsKZy5UYmk9ZnVuY3Rpb24obixXKXtpZihuLk4hPW51bGwmJmcuekcoVyxuLk4pJiZuLk4uTi5yYXdjYyE9bnVsbClyZXR1cm4hMDtpZighbi56VygpKXJldHVybiExO1c9ISFuLk4mJm4uTi5pc01hbmlmZXN0bGVzcyYmT2JqZWN0LnZhbHVlcyhuLk4uTikuc29tZShEPT5nLmx2KEQsIjM4NiIpKTsKbj0hIW4uTiYmIW4uTi5pc01hbmlmZXN0bGVzcyYmZy5tSChuLk4pO3JldHVybiBXfHxufTsKRCQ9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5lJClyZXR1cm4gbi5OaS5nZXQoInV4Iil9OwpURz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFkIil9OwpqbD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImNhcHRpb25zIil9OwpDYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFubm90YXRpb25zX21vZHVsZSIpfTsKR3U9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5GZSlyZXR1cm4gbi5OaS5nZXQoInJlbW90ZSIpfTsKQjg9ZnVuY3Rpb24obil7cmV0dXJuIG4uTmkuZ2V0KCJjcmVhdG9yZW5kc2NyZWVuIil9OwpGWT1mdW5jdGlvbihuKXtpZihnLlhDKG4uQS5HKCkpKXJldHVybiBuLk5pLmdldCgia2lkcyIpfTsKZy4kRj1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoIndlYmdsIil9OwpqTGo9ZnVuY3Rpb24obixXKXtuLlc9V307CkMkdz1mdW5jdGlvbihuKXt2YXIgVz1uLkEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGcubE1VKFcsbi5BKXx8ISFXLndhfHwhIVcuY2FwdGlvblRyYWNrcy5sZW5ndGh8fGcuVGJpKFcsbi5BKX07Cnc5PWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdil7dmFyIGssaD1uLk5pLmdldChXKTtpZighaHx8YilpZih2fHwodj0oKT0+e3c5KG4sVyxELGIpfSksa3x8KGs9KCk9PntNVChuLFcpfSksaD1ofHxCYmgobixXLEZxTShuLFcpLHYsaykpbi5OaS5zZXQoVyxoKSxoLmNyZWF0ZSgpLG4uQS5XSigibW9kdWxlY3JlYXRlZCIsVyksRCYmZy5WVShuLkEsIm9uQXBpQ2hhbmdlIil9OwpSRz1mdW5jdGlvbihuKXtpZihuLkEuRygpLkQpcmV0dXJuITE7aWYobj1uLkEuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KS5nZXRQbGF5ZXJSZXNwb25zZSgpKXtsZXQgVz1uLmFkUGxhY2VtZW50cztpZihXKWZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKWlmKFdbRF0uYWRQbGFjZW1lbnRSZW5kZXJlcilyZXR1cm4hMDtpZihuLmFkU2xvdHMpcmV0dXJuITB9cmV0dXJuITF9OwpRWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5BLkcoKS5TKCJodG1sNV9hbGxvd19hc21qcyIpfHxuLkEuRygpLlp0KCkuTi5RUSh3YlMpfTsKRnFNPWZ1bmN0aW9uKG4sVyl7c3dpdGNoKFcpe2Nhc2UgImFkIjpyZXR1cm4gUkcobik7Y2FzZSAiYW5ub3RhdGlvbnNfbW9kdWxlIjpyZXR1cm4hMTtjYXNlICJhc21qcyI6cmV0dXJuIFFZKG4pO2Nhc2UgImNyZWF0b3JlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImVtYmVkIjpyZXR1cm4gZy5vNChuLkEuRygpKTtjYXNlICJlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImhlYXJ0YmVhdCI6cmV0dXJuIG4ueVAoKTtjYXNlICJraWRzIjpyZXR1cm4gZy5YQyhuLkEuRygpKTtjYXNlICJyZW1vdGUiOnJldHVybiBuLkEuRygpLkZlO2Nhc2UgIm1pbmlwbGF5ZXIiOnJldHVybiBuLkEuRygpLnNob3dNaW5pcGxheWVyVWlXaGVuTWluaW1pemVkO2Nhc2UgIm9mZmxpbmUiOnJldHVybiBuLkEuRygpLlpoO2Nhc2UgImNhcHRpb25zIjpyZXR1cm4gQyR3KG4pO2Nhc2UgInVucGx1Z2dlZCI6cmV0dXJuIGcuRGYobi5BLkcoKSk7Y2FzZSAidXgiOnJldHVybiBuLkEuRygpLmUkO2Nhc2UgIndlYmdsIjpXPQpuLkEuZ2V0VmlkZW9EYXRhKCk7dmFyIEQ9bi5BLkcoKTtuPWcuamQoKTtsZXQgYj1nLm5OKEQpLHY9Vy5KPy52aWRlbz8uaXNIZHIoKTtEPSFnLnF1KFcpJiYhdiYmRC5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBnLkpEKFcpfHxnLkhUKFcpfHxnLmZBKFcpP258fGI6Zy5rcChXKT9iOkQ/YjohMTtjYXNlICJ5cGMiOnJldHVybiBuLklWKCk7ZGVmYXVsdDpyZXR1cm4gZy5YaihFcnJvcihgTW9kdWxlIGRlc2NyaXB0b3IgJHtXfSBkb2VzIG5vdCBtYXRjaGApKSwhMX19OwpNVD1mdW5jdGlvbihuLFcpe1c9TUxiW1ddO2ZvcihsZXQgRCBvZiBXKW4uQS5HaShEKX07CkJiaD1mdW5jdGlvbihuLFcsRCxiLHYpe3RyeXtpZihEKXtsZXQgaz1vRy5nZXQoVyk7aWYoaylyZXR1cm4gbmV3IGsobi5BKTtSYngobixXLGIsdil9ZWxzZSBNVChuLFcpfWNhdGNoKGspe01UKG4sVyksZy5YaihrKX1yZXR1cm4gbnVsbH07ClJieD1mdW5jdGlvbihuLFcsRCxiKXtpZihuLkQpe3ZhciB2PVFMaVtXXTtXPW4uRCt2O24uSyYmKFcrPWA/Y2I9JHtuLkt9YCk7VkxNKG4sVywoKT0+e24uai5hZGQodik7RC5jYWxsKG4pfSxiKX19OwpjbWI9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi5OaS5nZXQoImFzbWpzIik7aWYoVylyZXR1cm4gVztXPW9HLmdldCgiYXNtanMiKT8/YXdhaXQgbmV3IFByb21pc2UoKEQsYik9PntSYngobiwiYXNtanMiLCgpPT57dmFyIHY9b0cuZ2V0KCJhc21qcyIpO3Y/RCh2KTpiKCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKX0sYil9KTsKaWYoIVcpcmV0dXJuIFByb21pc2UucmVqZWN0KCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKTtXPW5ldyBXKG4uQSk7bi5OaS5zZXQoImFzbWpzIixXKTtXLmNyZWF0ZSgpO3JldHVybiBXfTsKVlk9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpO2lmKG49Vy5TKCJ3ZWJfcGxheWVyX2RlZmVyX2FkIikpe2lmKGcuamooVy5JSiwiYWQiKXx8dzYoVyl8fFcuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkpdmFyIEQ9ITE7ZWxzZXtuPVcuc3RhcnRTZWNvbmRzO3ZhciBiPVcucGxheWVyUmVzcG9uc2U/LmFkUGxhY2VtZW50cztpZihXPWIpe1c9TnVtYmVyLk1BWF9WQUxVRTtmb3IoRCBvZiBiKWlmKGI9RC5hZFBsYWNlbWVudFJlbmRlcmVyKXtsZXQgdj1iLmNvbmZpZz8uYWRQbGFjZW1lbnRDb25maWc7dj8ua2luZD09PSJBRF9QTEFDRU1FTlRfS0lORF9NSUxMSVNFQ09ORFMiJiYoYj0oTnVtYmVyKHY/LmFkVGltZU9mZnNldD8ub2Zmc2V0U3RhcnRNaWxsaXNlY29uZHMpfHwwKS1OdW1iZXIoYi5yZW5kZXJlcj8uYWRCcmVha1NlcnZpY2VSZW5kZXJlcj8ucHJlZmV0Y2hNaWxsaXNlY29uZHN8fDApLGI8VyYmKFc9YikpfVc9Vy01RTM8PW4qMUUzfUQ9Vz8hMTohMH1uPQpEfXJldHVybiBufTsKYU1VPWFzeW5jIGZ1bmN0aW9uKG4pe3JldHVybiBhd2FpdCBjbWIobil9OwpuRGo9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpLEQ9bi5PJiYhVy5pc0lubGluZVBsYXliYWNrTm9BZDtuLkEuUygiaHRtbDVfZGVmZXJfbW9kdWxlc19vbl9hZHNfb25seSIpJiYhVy5pc0FkKCkmJihEPSExKTtyZXR1cm4gRH07CmcuYzg9ZnVuY3Rpb24obil7VlkobikmJm4uWCgpO25EaihuKSYmKHc5KG4sImNhcHRpb25zIiwhMCksdzkobiwiZW5kc2NyZWVuIiksbi5OKCksdzkobiwiY3JlYXRvcmVuZHNjcmVlbiIsITApKX07CmFHPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgV0VpKXtsZXQgdj1uLk5pLmdldChiKTt2JiYoRHx8di5oVihXKSkmJihnLkNwKHYpLG4uTmkuZGVsZXRlKGIpKX1uLkEuV0ooIm1vZHVsZXNEZXN0cm95ZWQiLFcpfTsKRHJaPWZ1bmN0aW9uKG4pe3JldHVybiBKZSgoKT0+bi5OaS5nZXQoImFzbWpzIik/P2FNVShuKSl9OwpWTE09ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNDUklQVCIpLGs9ITE7Zm9yKGxldCBIPTA7SDx2Lmxlbmd0aDtIKyspe2xldCBBPXZbSF07aWYoQS5zcmM9PT1XfHxBLmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiKT09PVcpdmFyIGg9QX1ofHwoaD1nLnpGKCJTQ1JJUFQiKSxoLnNldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiLFcpLGs9ITApO3ZhciB4PSgpPT57bi5xTigpfHxELmNhbGwobil9LEw9KCk9PntuLnFOKCl8fGIuY2FsbChuKX0sZT1oLm9ubG9hZDsKaC5vbmxvYWQ9SD0+e2cuVDcoeCk7ZSYmZS5hcHBseSh3aW5kb3csW0hdKX07CnZhciBHPWgub25lcnJvcjtoLm9uZXJyb3I9SD0+e2lmKE1hdGgucmFuZG9tKCk8LjAxKXtsZXQgQT1uZXcgZy5ReCgiVW5hYmxlIHRvIGxvYWQgcGxheWVyIG1vZHVsZSIsVyxkb2N1bWVudC5sb2NhdGlvbiYmZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luKTtnLlhqKEEpfWcuVDcoTCk7RyYmRyhIKX07CnZhciByPWgsTj1yLm9ucmVhZHlzdGF0ZWNoYW5nZTtyLm9ucmVhZHlzdGF0ZWNoYW5nZT1IPT57c3dpdGNoKHIucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6Zy5UNyh4KX1OJiZOKEgpfTsKayYmKCh2PW4uQS5HKCkuY3NwTm9uY2UpJiZoLnNldEF0dHJpYnV0ZSgibm9uY2UiLHYpLGcuUE0oaCxmdyhXKSksdj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5ib2R5LHYuaW5zZXJ0QmVmb3JlKGgsdi5maXJzdENoaWxkKSxuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57aC5wYXJlbnROb2RlJiZoLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaCl9KSl9OwpXYz1mdW5jdGlvbihuLFcsRCl7bi5xTigpO3ZhciBiPW5PKG4pO0Q/KG4uSnw9VyxXJjEmJm4uRC5zdGFydCgpLFcmMiYmbi5PLnN0YXJ0KCksVyYyMDQ4JiZuLmNKLnN0YXJ0KCkpOihuLkomPX5XLFcmMSYmbi5ELnN0b3AoKSxXJjImJm4uTy5zdG9wKCksVyYyMDQ4JiZuLmNKLnN0b3AoKSxXJjUxMiYmbi50dy5zdG9wKCkpO24uSiY1MTImJiEobi5KJjEyOCkmJmcuSmEobi50dyxuLlZRKTtXPW5PKG4pO2IhPT1XJiZuLldKKCJhdXRvaGlkZXVwZGF0ZSIsVyl9OwpibFo9ZnVuY3Rpb24obil7V2Mobiw0LCExKTtuLksmJihuLk4ud0gobi5LKSxuLks9bnVsbCxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKTtuLlcmJihuLk4ud0gobi5XKSxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKX07Cm5PPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSjtuLmFwaS5HKCkuZlImJihXJj0tMTI5KTtuLmFwaS5TKCJ3ZWJfcGxheWVyX2RlZmF1bHRfYXV0b2hpZGUiKSYmKFcmPS01MTMpO3JldHVybiFXfTsKdkQxPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9bi5hcGkuRygpO2ZvcihsZXQgayBvZiBXKXtpZigha3x8ayBpbnN0YW5jZW9mIGcuVXImJiFrLnZpZGVvSWQpY29udGludWU7dmFyIGI9bi5hcGkubGooKS5nZXRQbGF5ZXJTaXplKCk7dmFyIHY9Zy5IXygpO1c9Yi53aWR0aCp2O3YqPWIuaGVpZ2h0O2lmKFc+MTI4MHx8dj43MjApaWYoYj1rLkdCKCJtYXhyZXNkZWZhdWx0LmpwZyIpKWJyZWFrO2lmKFc+NjQwfHx2PjQ4MClpZihiPWsuR0IoIm1heHJlc2RlZmF1bHQuanBnIikpYnJlYWs7aWYoVz4zMjB8fHY+MTgwKWlmKGI9ay5HQigic2RkZWZhdWx0LmpwZyIpfHxrLkdCKCJocWRlZmF1bHQuanBnIil8fGsuR0IoIm1xZGVmYXVsdC5qcGciKSlicmVhaztpZihiPWsuR0IoImRlZmF1bHQuanBnIikpYnJlYWt9Zy4kNihEKSYmKEQ9bmV3IEltYWdlLEQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt5U2goKX0pLEQuc3JjPWI/YjoiIixuLmFwaS5lRygpLnRpY2soImZ0ciIpKTsKbi5ZLnN0eWxlLmJhY2tncm91bmRJbWFnZT1iP2B1cmwoJHtifSlgOiIifTsKa1cxPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8bi5rZXlzLmxlbmd0aDtXKyspbi53SChuLmtleXNbV10pO24ua2V5cz1bXX07CmJzPWZ1bmN0aW9uKG4sVyxELGI9ITEsdj0hMSxrLGg9ITApe3Z8fCh2PW4uYXBpLkcoKS5KKTt2YXIgeD1uLmFwaS5nZXRWaWRlb0RhdGEoKTtXPWVCKGcuRHVbV118fCIiLGI/e0NQTjp4LmNsaWVudFBsYXliYWNrTm9uY2V9Ont9KS5zcGxpdCgvXCQoQkVHSU58RU5EKV9MSU5LLyk7Yj1bXTtrJiZiLnB1c2goe1o6ImgyIixPcTprfSk7Yi5wdXNoKFdbMF0pO2gmJmIucHVzaCh7WjoiYnIifSk7Yi5wdXNoKHtaOiJhIix4YTp7aHJlZjpELHRhcmdldDp2PyJfYmxhbmsiOm51bGx9LEp3OiJ5dHAtZXJyb3ItbGluayIsT3E6V1syXX0pO24uaj0hMDtiLnB1c2goV1s0XSk7cmV0dXJue1o6InNwYW4iLFhGOmJ9fTsKdmM9ZnVuY3Rpb24obil7bj1uLnNwbGl0KGgwWik7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0zKXtsZXQgYj1uW0QrK10uc3BsaXQoIlxuIik7Vy5wdXNoKGJbMF0pO2ZvcihsZXQgdj0xO3Y8Yi5sZW5ndGg7disrKVcucHVzaCh7WjoiYnIifSksVy5wdXNoKGJbdl0pO0Q8bi5sZW5ndGgmJlcucHVzaCh7WjoiYSIseGE6e2hyZWY6bltEXSx0YXJnZXQ6bltEKzFdfSxPcTpuW0QrMl19KX1yZXR1cm57Wjoic3BhbiIsWEY6V319Owp4cnQ9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKyl7bGV0IHY9bi5OTihEW2JdLCJjbGljayIsVyk7bi5rZXlzLnB1c2godil9fTsKa0k9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9TnVtYmVyKFcuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJsYXktb3JkZXIiKSl8fDAsaz0wLGg9bnVsbDtmb3IobGV0IHggb2YgRC5jaGlsZHJlbil7aWYoYiYmeC5jbGFzc0xpc3QuY29udGFpbnMoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSl7aD14O2JyZWFrfWlmKHY8KE51bWJlcih4LmdldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIikpfHwwKSlicmVhaztrKyt9aD9rSShuLFcsaCwhMSk6Yj8obj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuLmNsYXNzTGlzdC5hZGQoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIixgJHt2fWApLGg9bixoLmFwcGVuZENoaWxkKFcpLGcuanAoRCxoLGspKTpnLmpwKEQsVyxrKX07CmUwQz1mdW5jdGlvbihuLFcpe3ZhciBEPXREKFcpLGI9JHAoVyk7Vy5EbCYmbi5BLkpuKCl8fChuLk58fG4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iik/Vy52aWRlb0lkJiZXLnZpZGVvSWQhPT1uLnZpZGVvSWQmJihuLk4/LmplKCksIW4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iil8fEQmJmI/KG4udmlkZW9JZD1XLnZpZGVvSWQsbi5LPSEhYixuLksmJkQmJkxFcihuLGIsRCxXKSk6bi5LPSExKTpEJiZiJiYhbi5BLlMoImVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXgiKSYmTEVyKG4sYixELFcpKX07CmdEeD1mdW5jdGlvbihuLFcpe24uTiYmKFcuTig4KSYmbi5LPyhuLks9ITEsbi5XP24uVy5zdGFydCgpOm4uaigpKTooVy5OKDIpfHxXLk4oNjQpKSYmbi52aWRlb0lkJiYobi52aWRlb0lkPW51bGwsbi5XJiZuLlcuc3RvcCgpKSl9OwpMRXI9ZnVuY3Rpb24obixXLEQsYil7bi5OJiZuLk4uZGlzcG9zZSgpO24uTj1uZXcgZy5mXyhuLnV5LFcsbik7Zy51KG4sbi5OKTtiPUdlKGIpO1c9Yj8ubmF2aWdhdGlvbkVuZHBvaW50O2I9Yj8uaWNvbj8uaWNvblR5cGU7dmFyIHY9Zy53KFcsZy5Qaik/LnVybDtuLkEuc2V0VHJhY2tpbmdQYXJhbXMobi5lbGVtZW50LFc/LmNsaWNrVHJhY2tpbmdQYXJhbXN8fG51bGwpO1cmJiF2PyhuLmlubmVydHViZUNvbW1hbmQ9Vyx2PSIjISIpOm4uaW5uZXJ0dWJlQ29tbWFuZD1udWxsO24uVi51cGRhdGUoe2hyZWY6dj8/IiMiLHRleHQ6RCxpY29uOmI9PT0iTU9ORVlfSEFORCI/e1o6InN2ZyIseGE6e2ZpbGw6Im5vbmUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik02IDlINVY1VjRINkgxOVY1SDZWOVpNMjEuNzIgMTYuMDRDMjEuNTYgMTYuOCAyMS4xNSAxNy41IDIwLjU1IDE4LjA1QzIwLjQ3IDE4LjEzIDE4LjQyIDIwLjAxIDE0LjAzIDIwLjAxQzEzLjg1IDIwLjAxIDEzLjY3IDIwLjAxIDEzLjQ4IDIwQzExLjMgMTkuOTIgOC41MSAxOS4yMyA1LjQgMThIMlYxMEg1SDZIN1Y2SDIxVjEzSDE2LjcyQzE2LjM3IDEzLjU5IDE1Ljc0IDE0IDE1IDE0SDEyLjdDMTMuMDEgMTQuNDYgMTMuNTYgMTUgMTQuNSAxNUgxNS4wMkMxNi4wNyAxNSAxNy4xIDE0LjY0IDE3LjkyIDEzLjk4QzE4LjgyIDEzLjI2IDIwLjAzIDEzLjIyIDIwLjkxIDEzLjg0QzIxLjU4IDE0LjMyIDIxLjkgMTUuMTkgMjEuNzIgMTYuMDRaTTE1IDEwQzE1IDkuNDUgMTQuNTUgOSAxNCA5QzEzLjQ1IDkgMTMgOS40NSAxMyAxMEgxNVpNMjAgMTFDMTkuNDUgMTEgMTkgMTEuNDUgMTkgMTJIMjBWMTFaTTE5IDdDMTkgNy41NSAxOS40NSA4IDIwIDhWN0gxOVpNOCA4QzguNTUgOCA5IDcuNTUgOSA3SDhWOFpNOCAxMEgxMkMxMiA4LjkgMTIuOSA4IDE0IDhDMTUuMSA4IDE2IDguOSAxNiAxMFYxMC4yOEMxNi41OSAxMC42MyAxNyAxMS4yNiAxNyAxMkgxOEMxOCAxMC45IDE4LjkgMTAgMjAgMTBWOUMxOC45IDkgMTggOC4xIDE4IDdIMTBDMTAgOC4xIDkuMSA5IDggOVYxMFpNNSAxMy41VjExSDNWMTdINVYxMy41Wk0yMC4zMyAxNC42NkMxOS44MSAxNC4yOSAxOS4xIDE0LjMxIDE4LjYgMTQuNzFDMTcuNTUgMTUuNTYgMTYuMjkgMTYgMTUuMDIgMTZIMTQuNUMxMi42MiAxNiAxMS42NyAxNC40NiAxMS40MyAxMy42NEwxMS4yNCAxM0gxNUMxNS41NSAxMyAxNiAxMi41NSAxNiAxMkMxNiAxMS40NSAxNS41NSAxMSAxNSAxMUg2VjEzLjVWMTcuMTZDOC45IDE4LjI5IDExLjUgMTguOTMgMTMuNTIgMTlDMTcuODUgMTkuMTUgMTkuODUgMTcuMzQgMTkuODcgMTcuMzJDMjAuMzMgMTYuOSAyMC42MiAxNi40IDIwLjc0IDE1Ljg0QzIwLjg0IDE1LjM3IDIwLjY4IDE0LjkxIDIwLjMzIDE0LjY2WiIsCmZpbGw6IndoaXRlIn19XX06bnVsbCxjaGV2cm9uOnZ8fG4uaW5uZXJ0dWJlQ29tbWFuZD9nLk9GKCk6bnVsbH0pfTsKWFBpPWZ1bmN0aW9uKG4pe24uVnx8KG4uVj0hMCxuLmFwaS5sb2dWaXNpYmlsaXR5KG4uZWxlbWVudCwhMCkpfTsKcW8yPWZ1bmN0aW9uKG4pe3ZhciBXPW9LKCkmJkV6KCk+PTY3JiYhbi5hcGkuRygpLnR3O249bi5hcGkuRygpLmRpc2FibGVPcmdhbmljVWk7cmV0dXJuIWcudWIoInRpemVuIikmJiFnLldYJiYhVyYmIW59OwpoaD1mdW5jdGlvbihuKXt2YXIgVz0hIW4uVjImJiFYeihuLmFwaSkmJiFuLmt0O3ZhciBEPW4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yLGI9bi5hcGkuRygpO0Q/KGI9VEcobi5hcGkuSjUoKSksVz1XJiZiLmpRKCkpOihEPWIuUygid2ViX3BsYXllcl9pbWF4X3RoZWF0ZXJfbW9kZSIpJiZuLmFwaS5RMCgpJiYhbi5hcGkuaXNJbmxpbmUoKSxXPVcmJihiLnNafHxEfHxuLmFwaS5pc0Z1bGxzY3JlZW4oKXx8Yi5neSkpO24uQTAhPT1XJiYobi5BMD1XLGcuaUgobi5hcGkuZ2V0Um9vdE5vZGUoKSwieXRwLWhpZGUtaW5mby1iYXIiLCFXKSl9OwpHV2I9ZnVuY3Rpb24obixXKXtpZighVylyZXR1cm4hMTt2YXIgRD1uLmFwaS5oNSgpO2lmKEQuSygpJiYoRD1ELmVfKCkpJiZnLkJ4KEQsVykpcmV0dXJuIEQuY29udHJvbHM7Zm9yKEQ9MDtEPG4uSW4ubGVuZ3RoO0QrKylpZihnLkJ4KG4uSW5bRF0sVykpcmV0dXJuITE7Zm9yKGxldCBiIG9mIG4ua1gpaWYoZy5LXyhXLGIpKXJldHVybiExO3JldHVybiBXPT09bi5hcGkuZ2V0Um9vdE5vZGUoKT8hMTohMH07CnRrMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpPT09MiYmKG4uYXBpLmxqKCkud0Z8fG4uYXBpLkcoKS5kaXNhYmxlT3JnYW5pY1VpKSYmbi5hcGkuRygpLmomJnhJJiZ2aj49MTE7bj1uLmFwaS5HKCkudHcmJnhJO3JldHVybiEoIVcmJiFuKX07CkxPPWZ1bmN0aW9uKG4sVyl7bi5qSi5MaigpO2lmKG4uYlcmJm4uUCQpbi5QJD0hMTtlbHNlIGlmKCFuLmFwaS5HKCkuc1YmJiFuLmVoKCkpe2xldCBEPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCk7RC5OKDIpJiZxcChuLmFwaSl8fG4uc2hvd1BsYXliYWNrSWNvbihEKTtXJiYkck0obixXKT9yZVMobik6IW4uYXBpLkcoKS5SdHx8RC5pc0N1ZWQoKXx8RC5OKDEwMjQpP24uUGIoKTpuLmVOLmlzQWN0aXZlKCk/bi5lTi5zdG9wKCk6bi5lTi5zdGFydCgpfX07CmVzPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIW4uYXBpLmlzSW5saW5lKCkmJiFHV2IobixBTyhXKSkmJmYyKFcpfTsKZ2Y9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5hcGkuZ2V0VmlkZW9EYXRhKCk/Lm11dGVkQXV0b3BsYXkmJlcudGFyZ2V0Py5jbGFzc05hbWU/LmluY2x1ZGVzKCJ5dHAtaW5mby1wYW5lbCIpPyExOmYyKFcpJiZuLmFwaS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCk/KG4uYXBpLnVuTXV0ZSgpLG4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yJiZuLmFwaS5wbGF5VmlkZW8oKSxXPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCksIVcuTig0KXx8Vy5OKDgpfHxXLk4oMil8fG4uUGIoKSwhMCk6ITF9Owokck09ZnVuY3Rpb24obixXKXtpZighbi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfaW52aXNpYmxlX2Z1bGxzY3JlZW5fYnV0dG9uIikpcmV0dXJuITE7dmFyIEQ9bi5hcGkuZ2V0Um9vdE5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihXLnRhcmdldFRvdWNoZXMmJlcudGFyZ2V0VG91Y2hlcy5sZW5ndGgpe3ZhciBiPVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRYO3ZhciB2PVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZfWVsc2UgVy5jbGllbnRYIT09dm9pZCAwJiYoYj1XLmNsaWVudFgsdj1XLmNsaWVudFkpO3JldHVybiBiIT09dm9pZCAwJiZ2IT09dm9pZCAwJiYoVz1iLUQubGVmdCxEPXYtRC50b3Asbj1uLmFwaS5nZXRQbGF5ZXJTaXplKCksRD49bi5oZWlnaHQtNDAmJlc+PW4ud2lkdGgtNDApPyEwOiExfTsKcmVTPWZ1bmN0aW9uKG4pe2lmKG4uYXBpLkcoKS5SdCYmbi5hcGkuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSE9PTMpdHJ5e24uYXBpLnRvZ2dsZUZ1bGxzY3JlZW4oKS5jYXRjaChXPT57c2pTKFcpfSksbi5hcGkuUygid2ViX3BsYXllcl9mdWxsc2NyZWVuX2RvdWJsZV9jbGlja192ZSIpJiZuLmFwaS5sb2dDbGljayhuLmFwaS5saigpLmVsZW1lbnQpfWNhdGNoKFcpe3NqUyhXKX19OwpzalM9ZnVuY3Rpb24obil7U3RyaW5nKG4pLmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIik/Zy5HcShuKTpnLlhqKG4pfTsKTl9oPWZ1bmN0aW9uKG4sVyxEKXtuLmFwaS5pc0Z1bGxzY3JlZW4oKT9EPDEtVyYmbi5hcGkudG9nZ2xlRnVsbHNjcmVlbigpOkQ+MStXJiZuLmFwaS50b2dnbGVGdWxsc2NyZWVuKCl9OwpZb0M9ZnVuY3Rpb24oKXtwUGp8fCh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihYdz8idG91Y2hzdGFydCI6ImNsaWNrIiwoKT0+e2ZvcihsZXQgbj1xSy5sZW5ndGg7bjw0O24rKyl7bGV0IFc9Zy56RigiVklERU8iKTtXLmxvYWQoKTtxSy5wdXNoKG5ldyBnLkdWKFcpKX19LHtjYXB0dXJlOiEwLApwYXNzaXZlOiEwfSkscFBqPSEwKX07CnRoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuZ2V0VmlkZW9EYXRhKCksaz1XLmdldFZpZGVvRGF0YSgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5pc0Vycm9yKCkpcmV0dXJue21zZzoicGxheWVyLWVycm9yIn07dmFyIGg9ay5XO2lmKFcub3QoKT5iLzFFMysxKXJldHVybnttc2c6ImluLXRoZS1wYXN0In07aWYoay5pc0xpdmVQbGF5YmFjayYmIWlzRmluaXRlKGIpKXJldHVybnttc2c6ImxpdmUtaW5maW5pdGUifTtiPVcuaDUoKTt2YXIgeD1udWxsO2ImJih4PWIuaXNWaWV3KCk/Yi5tZWRpYUVsZW1lbnQuVigpOmIuVigpKTtpZih4JiZ4Lmxlbmd0aD4xMiYmZy5xdSh2KSlyZXR1cm57bXNnOiJwbGF5ZWQtcmFuZ2VzIn07aWYoIXYuVylyZXR1cm4gbnVsbDtpZighaClyZXR1cm57bXNnOiJuby1wdmQtZm9ybWF0cyJ9O2lmKCF2LlcuTigpfHwhaC5OKCkpcmV0dXJue21zZzoibm9uLWRhc2gifTtiPWgudmlkZW9JbmZvc1swXTt4PXYuVy52aWRlb0luZm9zWzBdO24uVEMmJkFKKGspJiYKKGI9Vy5veSgpLHg9RC5veSgpKTtpZighYnx8IXgpcmV0dXJue21zZzoibm8tdmlkZW8taW5mbyJ9O2lmKG4uTyYmKGIuTVcoKXx8eC5NVygpKSlyZXR1cm57bXNnOiJhdjEifTtXPW4uWSYmay5OUCgpJiZWVCgpO2lmKHguY29udGFpbmVyVHlwZSE9PWIuY29udGFpbmVyVHlwZSlpZihXKWsuVSgic2dhcCIse2llcnI6ImNvbnRhaW5lciJ9KTtlbHNlIHJldHVybnttc2c6ImNvbnRhaW5lciJ9O2lmKG4uRCYmIVcmJih4LklCIT09Yi5JQnx8eC5JQj09PSIifHxiLklCPT09IiIpKXJldHVybnttc2c6ImNvZGVjIn07aWYobi5jSiYmeC52aWRlbyYmYi52aWRlbyYmTWF0aC5hYnMoeC52aWRlby53aWR0aC94LnZpZGVvLmhlaWdodC1iLnZpZGVvLndpZHRoL2IudmlkZW8uaGVpZ2h0KT4uMDEpcmV0dXJue21zZzoicmF0aW8ifTtpZihnLnF1KGspJiZnLnF1KHYpKXJldHVybnttc2c6ImNvbnRlbnQtcHJvdGVjdGlvbiJ9O2g9aC5KWzBdO3Y9di5XLkpbMF07RD1oLmF1ZGlvO3ZhciBMPXYuYXVkaW87CmlmKEQuc2FtcGxlUmF0ZSE9PUwuc2FtcGxlUmF0ZSYmIWcub2QpaWYoVylrLlUoInNnYXAiLHtpZXJyOiJzcmF0ZSJ9KTtlbHNlIHJldHVybnttc2c6InNhbXBsZS1yYXRlIixjaTpoLml0YWcsY3I6RC5zYW1wbGVSYXRlLG5pOnYuaXRhZyxucjpMLnNhbXBsZVJhdGV9O3JldHVybihELm51bUNoYW5uZWxzfHwyKSE9PShMLm51bUNoYW5uZWxzfHwyKT97bXNnOiJjaGFubmVsLWNvdW50In06bi50dyYmay5OUCgpJiZiLnZpZGVvLmZwcyE9PXgudmlkZW8uZnBzP3ttc2c6ImZwcyJ9Om51bGx9OwpIbEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uZ2V0VmlkZW9EYXRhKCksdj1XLmdldFZpZGVvRGF0YSgpO2lmKCFiLkcoKS5zdXBwb3J0c0dhcGxlc3NTaG9ydHMoKSlyZXR1cm57bnE6ImVudiJ9O2lmKCEoRC5iZCYmIShiLkd1JiYhYi5pc0FkKCl8fHYuR3UmJiF2LmlzQWQoKSl8fEQuViYmKCFiLkd1fHxiLmlzQWQoKSkmJiF2Lkd1fHxELksmJighdi5HdXx8di5pc0FkKCkpJiYhYi5HdXx8Yi52SigpJiZ2LnZKKCkmJiFiLmlzQWQoKXx8IWIuR3UmJiF2Lkd1KSlyZXR1cm57bnE6ImF1dG9wbGF5In07aWYoYi5lbmRTZWNvbmRzPjApcmV0dXJue25xOiJlbmRjciJ9O2lmKCFiLkspcmV0dXJue25xOiJjbGllbnQifTtpZighbi5kVCgpKXJldHVybntucToibm8tZW1wdHkifTtuPXRoKEQsbixXLEluZmluaXR5KTtyZXR1cm4gbiE9bnVsbD97bnE6bi5tc2d9Om51bGx9OwokST1mdW5jdGlvbihuKXtuLkomJm4uTiYmKG4uSi51bnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsbi5YLG4pLG4uTi51bnN1YnNjcmliZSgiZGF0YWxvYWRlZCIsbi5YLG4pKX07CkFldD1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZlloO1cuWT1uLlMoImg1X2dhcGxlc3Nfc3VwcG9ydF90eXBlc19kaWZmIik7Vy50dz0hMTtXLlRDPW4uUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4Iik7Vy5PPW4uUygiaHRtbDVfZ2FwbGVzc19kaXNhYmxlX29uX2F2MSIpJiYhbi5TKCJodG1sNV9nYXBsZXNzX2VuYWJsZV9vbl9hdjEiKTtXLkQ9bi5TKCJodG1sNV9nYXBsZXNzX2NoZWNrX2NvZGVjX2RpZmZfc3RyaWN0bHkiKTtXLmJkPW4uUygiaHRtbDVfZ2FwbGVzc19vbl9hZF9hdXRvcGxheSIpO1cuY0o9bi5TKCJodG1sNV9nYXBsZXNzX2Rpc2FibGVfZGlmZl9hc3BlY3RfcmFkaW8iKTtXLlY9bi5TKCJodG1sNV9nYXBsZXNzX2FkX2F1dG9wbGF5X29uX2FkX3RvX3ZpZGVvX29ubHkiKSYmIW4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIik7Vy5XPW4uUygiaHRtbDVfcHNldWRvZ2FwbGVzc19zaG9ydHNfc2Vla190b19uZXh0X3N0YXJ0Iik7Clcuaj1uLlp0KCkuTi5RUShKZTEpO1cuSz1uLlMoImh0bWw1X2dhcGxlc3NfYWRfYXV0b3BsYXlfb25fdmlkZW9fdG9fYWRfb25seSIpO1cuTj1OdW1iZXIobi5adCgpLk4uUVEoSVlpKSk7Vy5KPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfc2hvcnRzX2dhcGxlc3NfbmV4dF9idWZmZXJfaW5fc2Vjb25kcyIpPz9XLko7Vy5YPU51bWJlcihuLlp0KCkuTi5RUShTb1MpPz9XLlgpO3JldHVybiBXfTsKcmY9ZnVuY3Rpb24obixXKXtXPD1uLnN0YXR1cy5zdGF0dXN8fChuLnN0YXR1cz17c3RhdHVzOlcsZXJyb3I6bnVsbH0sVz09PTUmJm4uQ1IucmVzb2x2ZSgpKX07Cm1yaj1mdW5jdGlvbihuLFcsRCxiKXtuPW4uaXNWaWV3KCk/bi5tZWRpYUVsZW1lbnQ6bjtyZXR1cm4gbmV3IGcuc2cobixXLEQsYil9OwpLRWg9YXN5bmMgZnVuY3Rpb24obil7aWYobi5xTigpKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8ImRpc3Bvc2VkIikpO24udGltZW91dC5zdGFydCgpO2F3YWl0IG4uQ1I7dmFyIFc9bi5OLmg1KCk7aWYoVy5pc0VuZGVkKCkpcmV0dXJuIG4uS2coImVuZGVkX2luX2ZpbmlzaFRyYW5zaXRpb24iKSxQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8IiIpKTtpZighbi5BYnx8IW42KG4uQWIpKXJldHVybiBuLlYmJm4uTi5VKCJubWMiLHtubXM6ISFuLkFiLG5tcnM6bi5BYj8uVygpfSksbi5LZygibmV4dF9tc2VfY2xvc2VkIiksUHJvbWlzZS5yZWplY3QoRXJyb3Iobi5zdGF0dXMuZXJyb3J8fCIiKSk7aWYobi5KLlV6KCkhPT1uLkFiKXJldHVybiBuLktnKCJuZXh0X21zZV9taXNtYXRjaCIpLFByb21pc2UucmVqZWN0KEVycm9yKG4uc3RhdHVzLmVycm9yfHwiIikpO3ZhciB7SF86RCxSOTpiLEYzOnZ9PW4uSygpO24uTi5jUCghMSwKITApO2lmKG4uVil7dmFyIGs9bi5BYi5OLGg9bi5BYi5KO2suVnUoITApO2guVnUoITApO2lmKGsuaVEoKSl7dmFyIHg9ay5aZygpO2xldCBMPWsuayQuTXIoKTt4JiZ4LnNlZ21lbnRTdGFydFRpbWUrTDxEJiZrLmFib3J0KCl9aC5pUSgpJiYoaz1oLlpnKCkseD1oLmskLk1yKCksayYmay5zZWdtZW50U3RhcnRUaW1lK3g8RCYmaC5hYm9ydCgpKX1uLnBvbGljeS5OPjAmJihuLlZ1KG4uQWIsITApLG4uSi51bCgpKTtoPW1yaihXLEQsdiwhbi5KLmdldFZpZGVvRGF0YSgpLmlzQWQoKSk7bi5KLnNldE1lZGlhRWxlbWVudChoKTsoaz1uLk4uTHAoKSkmJm4uSi5CbihrLkFvLGsud08pO24udHcmJihuLnBvbGljeS5XfHxuLkouc2Vla1RvKG4uSi5nZXRDdXJyZW50VGltZSgpKy4wMDEse0E5OiEwLFpVOjMscWQ6ImdhcGxlc3NfcHNldWRvIn0pLGgucGxheSgpKTtXPVcueXIoKTtXLmNwbj1uLk4uZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZTtXLnN0PWAke0R9YDtXLmV0PQpgJHt2fWA7bi5KLlUoImdhcGxlc3MiLFcpO24uTi5VKCJnYXBsZXNzVG8iLHtjcG46bi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2V9KTtXPW4uTi5nZXRQbGF5ZXJUeXBlKCk9PT1uLkouZ2V0UGxheWVyVHlwZSgpO24uTi5OMihiLCEwLCExLFcsbi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2Usbi5KLmdldFZpZGVvRGF0YSgpLnZpZGVvSWQpO24uSi5OMihuLkouZ2V0Q3VycmVudFRpbWUoKSwhMCwhMCxXLG4uTi5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlLG4uTi5nZXRWaWRlb0RhdGEoKS52aWRlb0lkKTtuLkouUDIoKTtnLm1LKCgpPT57IW4uSi5nZXRWaWRlb0RhdGEoKS5ZJiZuLkouZ2V0UGxheWVyU3RhdGUoKS5pc09yV2lsbEJlUGxheWluZygpJiZuLkouZTIoKX0pOwpyZihuLDYpO24uZGlzcG9zZSgpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07ClBkWj1mdW5jdGlvbihuKXtpZihuLkouZ2V0VmlkZW9EYXRhKCkuVyl7dmFyIFc9bi50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc19zdXNwZW5kX25leHRfbG9hZGVyIikmJm4uaj09PTE7bi5KLm5tKG4uQWIsVyxuLmo9PT0xJiZnLllOKG4uTi5nZXRWaWRlb0RhdGEoKSkpO3JmKG4sMyk7T2xNKG4pO3ZhciB7Z2Q6RCxUYzpifT1OSyhuKTtELnN1YnNjcmliZSgidXBkYXRlZW5kIixuLmVYLG4pO2Iuc3Vic2NyaWJlKCJ1cGRhdGVlbmQiLG4uZVgsbik7bi5lWChEKTtuLmVYKGIpfX07Ck9sTT1mdW5jdGlvbihuKXtuLk4udW5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixuLlgsbik7bi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsbi5YLG4pO24udGIuRygpLlMoImh0bWw1X2dhcGxlc3NfdXNlX2Zvcm1hdF9pbmZvX2ZpeCIpJiYobi5OLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbiksbi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbikpO24uTi51bnN1YnNjcmliZSgibWVkaWFzb3VyY2VhdHRhY2hlZCIsbi5YLG4pO24uSi51bnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLG4uVEMsbil9OwpOSz1mdW5jdGlvbihuKXtyZXR1cm57Z2Q6bi5XLk4uayQsVGM6bi5XLkouayR9fTsKcE89ZnVuY3Rpb24obixXKXtpZighbilyZXR1cm4hMTt2YXIgRD1uLko7cmV0dXJuIEJSKG4uTj8uWkYoKSxXKSYmQlIoRD8uWkYoKSxXKX07ClpsaT1mdW5jdGlvbihuKXtpZighbilyZXR1cm4hMTt2YXIgVz1uLko7cmV0dXJuIG4uTj8uaVEoKXx8Vz8uaVEoKX07CkVEaj1hc3luYyBmdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlgmJm4uTil7bi5PJiZuLmFwcC5NTigpLmtOKCEwLCExKTt2YXIgVz1udWxsO2lmKG4uVyl0cnl7YXdhaXQgS0VoKG4uVyl9Y2F0Y2goYil7Vz1ifWlmKG4uTiYmKFVydy5jVygidnFzcCIsKCk9PntuLmFwcC5RVChuLk4pfSksbi5OKSl7dmFyIEQ9bi5OLmg1KCk7Cm4uYXBwLkcoKS5TKCJodG1sNV9nYXBsZXNzX3NlZWtfb25fbmVnYXRpdmVfdGltZSIpJiZEJiZELmdldEN1cnJlbnRUaW1lKCk8LS4wMSYmbi5OLnNlZWtUbygwKTtVcncuY1coInZxcHYiLCgpPT57bi5hcHAucGxheVZpZGVvKCl9KTsKVyYmKG4uTj8oVz1XP1cubWVzc2FnZToiZm9yY2VkIixuLko/LlUoImdhcGZ1bGZiayIse3I6V30pLG4uYXBwLkcoKS5adCgpLk4uUVEoeWVpKSYmKG4uTi5nZXRWaWRlb0RhdGEoKS5HUz0hMSksbi5OLk9jKFcpKTpuLko/LlUoImdhcHNwIix7fSkpO1c9bi5YO1lJKG4pO1cmJlcucmVzb2x2ZSgpO1Byb21pc2UucmVzb2x2ZSgpfX19OwpIYz1mdW5jdGlvbihuKXtuLkQmJm4uaiYmbi5ELnJlbW92ZUV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLG4uaik7bi5qPW51bGw7bi5EPW51bGx9OwpZST1mdW5jdGlvbihuLFc9ITEpe2lmKG4uSil7aWYobi5WKXt2YXIgRD1uLko7bi5hcHAuUkIucmVtb3ZlRXZlbnRMaXN0ZW5lcihnLm95KCJ2cXVldWVkIiksbi5ZKTtELnJlbW92ZUN1ZVJhbmdlKG4uVil9bi5KPW51bGw7bi5WPW51bGx9bi5XJiYobi5XLnN0YXR1cy5zdGF0dXMhPT02JiYoRD1uLlcsRC5zdGF0dXMuc3RhdHVzIT09SW5maW5pdHkmJkQuaiE9PTEmJkQuS2coIkNhbmNlbGVkIikpLG4uVz1udWxsKTtuLlg9bnVsbDtuLk4mJiFXJiZuLk4hPT1uLmFwcC5jWCgpJiZuLk4hPT1uLmFwcC5NTigpJiZuLk4uZGlzcG9zZSgpO24uTiYmVyYmbi5OLm15KCk7bi5OPW51bGw7bi5PPSExfTsKdTd0PWZ1bmN0aW9uKG4sVyxEPSEwKXt2YXIgYj1uLmFwcC5NTigpLHY9Yi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjaz9JbmZpbml0eTpiLlBHKCEwKSoxRTM7Vz52JiYoVz12LTIwMCwhbi5hcHAuRygpLlp0KCkuTi5RUShpbGkpfHxEKSYmKG4uTz0hMCk7RCYmYi5nZXRDdXJyZW50VGltZSgpPj1XLzFFMz9uLlkoKToobi5KPWIsRCYmKEQ9VyxXPW4uSixuLmFwcC5SQi5hZGRFdmVudExpc3RlbmVyKGcub3koInZxdWV1ZWQiKSxuLlkpLEQ9aXNGaW5pdGUoRCl8fEQvMUUzPlcuZ2V0RHVyYXRpb24oKT9EOjB4ODAwMDAwMDAwMDAwMCxuLlY9bmV3IGcubDUoRCwweDgwMDAwMDAwMDAwMDAse25hbWVzcGFjZToidnF1ZXVlZCJ9KSxXLmFkZEN1ZVJhbmdlKG4uVikpKX07CmRyTT1mdW5jdGlvbihuLFcsRCxiPTAsdj0wKXtuLmRUKCl8fChIYyhuKSxZSShuKSk7bi5YPW5ldyBZNjtuLk49Vzt1N3QobixELHY9PT0wKTt2YXIgaz1iLz0xRTMsaD1XLmdldFZpZGVvRGF0YSgpLk47aWYoYiYmaCYmbi5KKXtsZXQgeD1iLEw9MDtXLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrJiYoaz1NYXRoLm1pbihELzFFMyxuLkouUEcoITApKSxMPU1hdGgubWF4KDAsay1uLkouZ2V0Q3VycmVudFRpbWUoKSkseD1NYXRoLm1pbihiLFcuUEcoKStMKSk7az1tOHQoaCx4KXx8YjtrIT09YiYmbi5OLlUoInF2YWxuIix7c3Q6YixhdDprLHJtOkwsY3Q6eH0pfVc9aztiPW4uTjtiLmdldFZpZGVvRGF0YSgpLllaPSEwO2IuZ2V0VmlkZW9EYXRhKCkuSz0hMDtiLmd6KCEwKTtoPXt9O24uSiYmKGg9bi5KLmw1KCksaz1uLkouZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZSxoPXtjcnQ6KGgqMUUzKS50b0ZpeGVkKCksY3BuOmt9KTtiLlUoInF1ZXVlZCIsaCk7VyE9PQowJiZiLnNlZWtUbyhXKy4wMSx7QTk6ITAsWlU6MyxxZDoidmlkZW9xdWV1ZXJfcXVldWVkIn0pO24uVz1uZXcgb0RiKG4uSyxuLmFwcC5NTigpLG4uTixELG4uYXBwLHYpO0Q9bi5XO0Quc3RhdHVzLnN0YXR1cyE9PUluZmluaXR5JiYocmYoRCwxKSxELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsRC5YLEQpLEQuSi5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixELlgsRCksRC50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4IikmJihELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixELlgsRCksRC5KLnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsRC5YLEQpKSxELk4uc3Vic2NyaWJlKCJtZWRpYXNvdXJjZWF0dGFjaGVkIixELlgsRCksRC5KLnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLEQuVEMsRCksRC5OLnN1YnNjcmliZSgibmV3ZWxlbWVudHJlcXVpcmVkIixELlZRLApEKSxELlgoKSk7cmV0dXJuIG4uWH07CmpqeD1mdW5jdGlvbihuLFcpe2lmKG4uYXBwLkcoKS5adCgpLk4uUVEoejBpKSl7dmFyIEQ9bi5hcHAuRygpLlp0KCkuTi5RUShsWWgpO2lmKCEoRDw9MCkpe0hjKG4pO3ZhciBiPW4uYXBwLk1OKCk/Lmg1KCk7YiYmbi5OJiYobi5hcHAuRygpLlp0KCkuTi5RUShUX0MpP24uTi5nZXRWaWRlb0RhdGEoKS5Sbz0hMDpuLk4uZ2V0VmlkZW9EYXRhKCkuR1M9ITAsbi5qPSgpPT57dmFyIHY9Yi5nZXRDdXJyZW50VGltZSgpO3Y+PVcrRC8xRTMmJih2PURhdGUubm93KCktKHYtVykqMUUzLG4uYXBwLmVHKCkudGljaygicGJzIix2KSxIYyhuKSl9LG4uRD1iLGIuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsbi5qKSl9fX07CkNkaj1mdW5jdGlvbihuLFcsRCl7aWYobi5kVCgpKXJldHVybiJxaWUiO2lmKG4uTj09bnVsbHx8bi5OLnFOKCl8fG4uTi5nZXRWaWRlb0RhdGEoKT09bnVsbClyZXR1cm4icXBkIjtpZihXLnZpZGVvSWQhPT1uLk4uRTEoKSlyZXR1cm4idmlubSI7aWYoKG4uVz8uYmQoKXx8LTEpPD0wKXJldHVybiJpdmQiO2lmKEQhPT0xKXJldHVybiJ1cHQiO249bi5XPy5lJCgpO3JldHVybiBuIT1udWxsP246bnVsbH07CkpoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLmRhdGEuZm9yRWFjaChEPT57RC5leHBpcmU8VyYmZk8obixELCEwKX0pOwpuLmRhdGE9Zy5FTShuLmRhdGEsRD0+IShELmV4cGlyZTxXKSl9OwpJZT1mdW5jdGlvbihuKXtuLk4uc3RvcCgpO3ZhciBXPUluZmluaXR5O2ZvcihsZXQgRCBvZiBuLmRhdGEpRC5leHBpcmU8VyYmKFc9RC5leHBpcmUpO1cmJmlzRmluaXRlKFcpJiYoVz1NYXRoLm1heChXLURhdGUubm93KCksMTAwKSxuLk4uc3RhcnQoVykpfTsKQl9DPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLmRhdGEuZmluZCh2PT52LmtleT09PVcpOwpiJiYoRCo9MUUzLGIuZXhwaXJlPSgwLGcuUikoKStELEllKG4pKX07CnNGPWZ1bmN0aW9uKG4pe0poKG4pO3JldHVybiBuLmRhdGEubWFwKFc9PlcudmFsdWUpfTsKZk89ZnVuY3Rpb24obixXLEQpe0QmJm4uSiYmbi5KKFcudmFsdWUpfTsKRkVaPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTj9bbi5OXTpbXTtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLmopKUQuZGlzcG9zZSgpLG4uS3x8ZGVsZXRlIG4uVltELldOKCldO24uaj17fTtuLk49bnVsbDtuLlk9bnVsbDtuLkQuY2xlYXIoKTtTcyhuLFtdLFcpfTsKU3M9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtuLkpdO24uTiYmYi5wdXNoKG4uTik7bi5hcGkuV0ooInBsYXliYWNrQ2hhbmdlIix7YWN0aXZlOmIuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKSwKc3RhcnRlZDpXLmZpbHRlcih2PT52LmdldFBsYXllclR5cGUoKSE9PTApLm1hcCh2PT4oe2Nwbjp2LldOKCl9KSksCmVuZGVkOkQuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKX0pfTsKd1AxPWZ1bmN0aW9uKG4sVyl7aWYobi5LKXtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLlcpKWlmKEQuV04oKT09PVcpcmV0dXJuIEQ7aWYobi5PPy5XTigpPT09VylyZXR1cm4gbi5PO2lmKHZvaWQgMD09PVcpcmV0dXJuIG51bGw7aWYobi5qW1ddKXJldHVybiBuLmpbV107Zm9yKGxldCBEIG9mIHNGKG4uWCkpaWYoRC5XTigpPT09VylyZXR1cm4gRDtyZXR1cm4gbnVsbH1pZihuLmFwaS5HKCkuWnQoKS5OLlFRKGcuQWgpKXJldHVybiBuLlZbV118fG51bGw7Zm9yKGxldCBEIG9mIE9iamVjdC52YWx1ZXMobi5XKSlpZihELldOKCk9PT1XKXJldHVybiBEO3JldHVybiBuLmpbV118fG51bGx9OwpNa009ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9RC5nZXRWaWRlb0RhdGEoKTtpZighdi5saXZlUHJlbG9hZCl7dmFyIGs9KCk9PntpZihuLlguZ2V0KFcpPT09RCl7dmFyIGg9di5nZXRQbGF5ZXJSZXNwb25zZSgpO2gmJihoPWgucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9oLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLGghPT12b2lkIDAmJihoPGImJkQuVSgidHRsZCIse3ByZXY6Yi50b1N0cmluZygpLCJuZXciOmgudG9TdHJpbmcoKX0pLGg9PT0wP24uWC5yZW1vdmUoVywhMCk6Ql9DKG4uWCxXLGgpKSl9fTsKaWYodi5pc0xvYWRlZCgpKWsoKTtlbHNle2xldCBoPSgpPT57aygpO3YudW5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfTsKdi5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfX19OwptUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W1ddLHY9bi5OP1tuLk5dOltdO24ualtXLldOKCldPVc7bi5LfHwobi5WW1cuV04oKV09Vyk7bi5OPVc7RCYmKG4uWT1XKTtuLkQuc2V0KCIiLFcpO1NzKG4sYix2KX07CmNlYj1mdW5jdGlvbihuKXt2YXIgVz1uLmV4cGVyaW1lbnRzLEQ9Vy5FcS5iaW5kKFcpO0tPPUQoImh0bWw1X3VzZV9hc3luY19zdG9wVmlkZW8iKTtSMGk9RCgiaHRtbDVfcGF1c2VfZm9yX2FzeW5jX3N0b3BWaWRlbyIpO09nPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO0QoImh0bWw1X2xpc3Rlbl9mb3JfYXVkaW9fb3V0cHV0X2NoYW5nZWQiKSYmKHdVTT0hMCk7REg9RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZSIpfHxEKCJodG1sNV9ub3RfcmVzZXRfbWVkaWFfc291cmNlX25vbl9kcm1fdm9kIik7UWpaPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO1BjPUQoImh0bWw1X3JldGFpbl9zb3VyY2VfYnVmZmVyX2FwcGVuZHNfZm9yX2RlYnVnZ2luZyIpO25WcihEKCJ3ZWJfd2F0Y2hfcGlwIil8fApEKCJ3ZWJfc2hvcnRzX3BpcCIpKTtJdmgoRCgibG9nX2ZvcmVncm91bmRfbm90X2ZvY3VzZWRfYXNfYmFja2dyb3VuZCIpKTtTeXIoRCgid2ViX3BsYXllcl9waXBfbG9nZ2luZ19maXgiKSk7RCgiaHRtbDVfbWVkaWFzdHJlYW1fYXBwbGllc190aW1lc3RhbXBfb2Zmc2V0IikmJihzND0hMCk7bi5XWCgpJiZNRngoKTtFcnJvci5zdGFja1RyYWNlTGltaXQ9NTA7dmFyIGI9Zy5kTShXLCJodG1sNV9pZGxlX3JhdGVfbGltaXRfbXMiKTtiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJyZXF1ZXN0SWRsZUNhbGxiYWNrIix7dmFsdWU6dj0+d2luZG93LnNldFRpbWVvdXQodixiKX0pOwp3Sngobi5XKTthaU0oRCgiaHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlciIpKTtEKCJodG1sNV9kaXNhYmxlX3N0cmVhbWluZ194aHIiKSYmKE5zPSExKTtEKCJodG1sNV9ieXRlcmF0ZV9jb25zdHJhaW50cyIpJiYoaFQ9ITApO0QoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIikmJihadT0hMCk7RCgiaHRtbDVfZW5hYmxlX2VuY3J5cHRlZF9hdjEiKSYmKFBSPSEwKTtXLlp0KCkuTi5RUShWa3cpJiYoRU49ITApO01wQyhnLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3MiKSl9Owp5UjE9ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLmV4cGVyaW1lbnRzLncwKCksYj1bXTtuPShrLGgseCk9PntiLnB1c2goU2soaCh4KSxMPT57V1trXT1MfSkpfTsKdmFyIHY9RC5OLlFRKGFZeCk7diYmbigiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUJ1ZmZlcmVkUmFuZ2UiLHFScix2PT09MSk7KHY9RC5OLlFRKG5NdykpJiZuKCJIVFRQMyIsR253LHY9PT0xKTsodj1ELk4uUVEoV2t0KSkmJm4oIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VBdHRhY2htZW50TWV0aG9kcyIsdEZ4LHY9PT0xKTsodj1ELk4uUVEoRERaKSkmJm4oIlFVSUMiLCRMQyx2PT09MSk7KHY9RC5OLlFRKGJSdykpJiZuKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsc2d3LHY9PT0xKTsodj1ELk4uUVEodk1TKSkmJm4oIk1lZGlhLkF1ZGlvV3JpdGVEdXJhdGlvbkxvY2FsIixyYzIsTnVtYmVyKHYpKTsodj1ELk4uUVEoazZ3KSkmJm4oIk1lZGlhLkV4cGVyaW1lbnRhbE1heFBlbmRpbmdCeXRlc1BlclBhcnNlIixLWFosTnVtYmVyKHYpKTsodj1ELk4uUVEoaFVpKSkmJm4oIk1lZGlhLkVuYWJsZUZsdXNoRHVyaW5nU2VlayIsCkpjYixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoeERaKSkmJm4oIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsSXl3LE51bWJlcih2KSk7KHY9RC5OLlFRKExrQykpJiZuKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLFNSdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZVVVKSkmJm4oIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLEFjWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZ014KSkmJm4oIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbUwyLE51bWJlcih2KT09PTEpOyh2PUQuTi5RUShYR1UpKSYmbigiTWVkaWEuRW5hYmxlUmVzZXRBdWRpb0RlY29kZXIiLGZ5VSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocXhoKSkmJm4oIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLEhGWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoRzYyKSkmJm4oIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsCk9GQyxOdW1iZXIodikpOyh2PUQuTi5RUSh0NWkpKSYmbigiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsTjBTLHYpOyh2PUQuTi5RUSgkRDEpKSYmbigiTWVkaWEuTWVkaWFDb2RlY1Jlc2V0RGVsYXlNcyIsUFFyLHYpOyh2PUQuTi5RUShyUmkpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbklucHV0QnVmZmVycyIscE50LHYpOyh2PUQuTi5RUShzd2kpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbkRlY29kZWRGcmFtZXMiLFlSdyx2KTsodj1ELk4uUVEoTmRTKSkmJm4oIk1lZGlhLlVzZUR1YWxUaHJlYWRzRm9yVmlkZW8iLHljMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocEcxKSkmJm4oIk1lZGlhLlZpZGVvQnVmZmVyU2l6ZUNsYW1wTWIiLEV1dCx2KTsodj1ELk4uUVEoWXhyKSkmJm4oIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixpRlUsdik7KHY9RC5OLlFRKEhScikpJiZuKCJNZWRpYS5EaXNhYmxlTG93UGVyZm9ybWFuY2VTb2Z0d2FyZURlY29kZSIsClpGdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZndqKSkmJm4oIk1lZGlhLkVuYWJsZUF2MVN0YXJ0dXBPcHRpbWl6YXRpb24iLFVMMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSlIxKSkmJm4oIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLGRMaSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSXd4KSkmJm4oIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIix1cXQsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFN4aSkpJiZuKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG91MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoQVJNKSkmJm4oIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIix6UVMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKG1EaCkpJiZuKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLGx5MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoS2tpKSkmJm4oIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixUMFUsTnVtYmVyKHYpPT09CjEpOyh2PUQuTi5RUShPUlUpKSYmbigiTWVkaWEuU2tpcFZpZGVvRnJhbWVzT3ZlcjYwRnBzIixqZ2gsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFBoaikpJiZuKCJNZWRpYS5GbHVzaEF1ZGlvVHJhY2tEdXJpbmdTZWVrIixDUUMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFpSeCkpJiZuKCJNZWRpYS5CeXBhc3NNb2pvRm9yTWVkaWEiLEIwaixOdW1iZXIodik9PT0xKTsoRD1ELk4uUVEoVUQyKSkmJm4oIk1lZGlhLklnbm9yZU1lZGlhQ29kZWNDYWxsYmFja3NEdXJpbmdGbHVzaGluZyIsRlgyLE51bWJlcihEKT09PTEpO3JldHVybiBTayhGTngoYiksKCk9PlcpfTsKR0Q9ZnVuY3Rpb24obixXPSExLEQ9MTA0ODU3Nil7dmFyIGI9VWcobik7Yj0xLygobi5LLkxnKCl8fDApKm4ucG9saWN5LkQrMS9iKTt2YXIgdj1uLlMkLkxnKCk7dj12PjA/djoxO3ZhciBrPU1hdGgubWF4KGIsdik7bi5wb2xpY3kuWD4wJiZ2PGImJihrPU1hdGgubWluKG4ucG9saWN5LlgsMSksaz0oMS1rKSpiK2sqdik7aWYoIVcpcmV0dXJuIGs7Vz0xRS05KyRzKG4pO0Q9aypNYXRoLm1pbigxLEQvKGsqVykpO24ucG9saWN5Lkp8fChuPSgobi5ELnBlcmNlbnRpbGUoLjk4KXx8MCktMSkvMixuPU1hdGgubWF4KDAsTWF0aC5taW4oMSxuKSksRCo9MS0uNSpuKTtyZXR1cm4gRH07CiRzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uWS5MZygpK24uVEMuTGcoKXx8MDtXPWlzTmFOKFcpPy41Olc7bi5wb2xpY3kuVDY+PTAmJihXPU1hdGgubWluKFcsbi5wb2xpY3kuVDYpKTtyZXR1cm4gV307CmUwPWZ1bmN0aW9uKG4pe3ZhciBXPXtkZWxheTokcyhuKSxzdGFsbDpuLksuTGcoKXx8MCxieXRlcmF0ZTpVZyhuKSxpbml0Om4uVlF9LEQ9bi5XWzBdO0Quc3RhbXA9TWF0aC5yb3VuZChuLlYvMzZFNSkqMzZFNTtELm5ldD1NYXRoLmNlaWwobi5iZCk7RC5tYXg9bi5pbnRlcnJ1cHRpb25zWzBdfHwwO1cuaW50ZXJydXB0aW9ucz1uLlc7cmV0dXJuIFd9Owp6RD1mdW5jdGlvbihuLFcpe2lmKG4uail7bGV0IEQ9Vy1uLmo7aWYoRDw2RTQpe2lmKEQ+MUUzKXtsZXQgYj1uLmludGVycnVwdGlvbnM7Yi5wdXNoKE1hdGguY2VpbChEKSk7Yi5zb3J0KCh2LGspPT5rLXYpOwpiLmxlbmd0aD4xNiYmYi5wb3AoKX1uLmJkKz1EfX1uLmo9V307CnlTPWZ1bmN0aW9uKG4sVyxEKXtpc05hTihEKXx8KG4udHcrPUQpO2lzTmFOKFcpfHwobi5EdCs9Vyl9OwpCdT1mdW5jdGlvbihuLFcsRCxiPVcpe24uWC5JSShiLEQvVyk7bi5WPSgwLGcuUikoKX07CkVnPWZ1bmN0aW9uKG4sVyxEKXtXPU1hdGgubWF4KFcsbi5KLk4pO24uSy5JSSgxLEQvVyl9Owppcz1mdW5jdGlvbihuLFcsRCxiLHYsaz0hMSl7bi5TJC5JSShXLEQvVyk7bi5WPSgwLGcuUikoKTt2fHxuLkQuSUkoMSxXLWIpO2t8fChuLmo9MCk7bi5jSj4tMSYmKDAsZy5SKSgpLW4uY0o+M0U0JiYoc24oZTAobikpLG4uY0o9KDAsZy5SKSgpLG4uTz0hMCl9OwpUWj1mdW5jdGlvbihuKXtyZXR1cm4oMCxnLlIpKCktbi5WPj00RTN9OwpVZz1mdW5jdGlvbihuKXtuPW4uWC5MZygpO3JldHVybiBuPjA/bjoxfTsKaVJaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgRU1NKEQpO24mJihiLlc9ITAsYi5qPS4xKTtELkVxKCJodG1sNV9tZWRpYV90aW1lX3dlaWdodCIpJiYoYi5XPSExKTtXJiYoYi5OPVcvOCk7Yi5KPXA3KCk+PTQ4MDtyZXR1cm4gYn07CnVzPWZ1bmN0aW9uKG4pe24uTi5jbGVhcigpO24uVy5jbGVhcigpO24uSi5jbGVhcigpfTsKdWFVPWZ1bmN0aW9uKG4sVyxEKXtuPW4uSjt2YXIgYj1nLlc0KG4se29hOld9LCh2LGspPT52Lm9hLWsub2EpOwpiPWI8MD8oYisyKSotMTpiO2lmKGI+PTApZm9yKGxldCB2PWI7djw9YisxJiZ2PG4ubGVuZ3RoO3YrKyl7bGV0IGs9blt2XTtpZihXPj1rLm9hLUQmJlc8PWsuZEkrRClyZXR1cm4ga319OwpvTWg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5nZXQoVyk7Yj8oYi5wdXNoKEQpLGcuYmYoYiwodixrKT0+di5vYS1rLm9hKSk6bi5OLnNldChXLFtEXSl9OwpkRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2Ygbi5KKVcoYil8fEQucHVzaChiKTtpZihuLkIuUygiaHRtbDVfc3N0bV9maXhlcyIpKWZvcihsZXQgYiBvZiBuLkopVyhiKSYmbi5XLmRlbGV0ZShiLmNwbik7bi5KPUR9Owp6VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkouaW5kZXhPZihXKTtEPj0wJiZuLkouc3BsaWNlKEQsMSk7bi5XLmRlbGV0ZShXLmNwbil9Owp0dmk9ZnVuY3Rpb24obixXKXtpZihuLnVLfHxXLmlkZW50aWZpZXImJm4ueXcuaGFzKFcuaWRlbnRpZmllcikpbi5iaih7c3RhcnRub2FkOlcuaWRlbnRpZmllcn0pLGcub2Uobik7ZWxzZSBpZihnLm9NKG4uY0osRD0+RC5pZGVudGlmaWVyPT09Vy5pZGVudGlmaWVyKSluLmJqKHt0aW1lZG91dGNwOjF9KSxuLlkuc3RhcnQoMCk7CmVsc2UgaWYoZy5vTShuLkR0LEQ9PkQuaWRlbnRpZmllcj09PVcuaWRlbnRpZmllcikpbi5iaih7ZmV0Y2hlZGNwOjF9KSxnLm9lKG4pOwplbHNlIGlmKG4uWS5pc0FjdGl2ZSgpKW4uYmooe3JhY2luZ2NwOmAke24uVj8uaWRlbnRpZmllcn1fJHtXLmlkZW50aWZpZXJ9YH0pO2Vsc2V7bi5DdT0obmV3IERhdGUpLmdldFRpbWUoKS8xRTM7bi5iaih7YWRmOjF9KTtsZXQgRD01RTM7RCYmVy5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYoRC09Vy5OKTtuLnZKPU1hdGgubWF4KEQsMTVFMyk7bi5EPSExO24uWS5zdGFydChuLnZKKTtuLlY9Vzt1cyhuLlRDKTtuLkZGPVtdfX07CmcuSnlpPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe3ZhciB4PXY9PT0zLEw9bHdaKG4sVyxELHYsYixoKTtpZighTClyZXR1cm4gZGYobixELHgpLEw9Zy56VihuLEQpPyJ1bmRlYyI6Im5jcCIsbi5iaih7Z3ZwcnA6TCxtdDpXLHNlZzpELHR0OnYsaXRhZzpiLGNlOmh9KSxudWxsO3h8fG4uWXEuc2V0KEQsTCk7aD1MLnZQO3Y9bi5HTShELTEsdixrKT8uQmZ8fCIiO3Y9PT0iIiYmbi5iaih7ZWRzOjF9KTtrPVRkaihuLEwuc3NkYWlBZHNDb25maWcpO3g9bi5ncy5nZXRWaWRlb0RhdGEoKTt4PXguYkJbeC5KPy5jb250YWluZXJUeXBlfHwwXTtMPUwubUYmJkQ+PUwubUY/TC5tRjp2b2lkIDA7dj17YUQ6aD9scyhuLGgpOltdLGFkc0NvbmZpZzprLEJmOnYsREo6TCxvdjpnLk5oKHguc3BsaXQoIjsiKVswXSksZDM6eC5zcGxpdCgiOyIpWzFdfHwiIn07TD17TXk6dn07bi5HQyYmKFc9e2d2cHJwcm86InYiLHNxOkQsbXQ6Vy50b0ZpeGVkKDMpLGl0YWc6YixhY3Buczp2LmFEPy5qb2luKCJfIil8fAoibm9uZSIsYWJpZDpofSxuLmJqKFcpKTtyZXR1cm4gTH07Ck0yPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj1ifHx7cmVhc29uOiJkaXNhYmxlc3NkYWkifTtpZihXJiZEKXtpZighZy5UVihuLFcsRCkpcmV0dXJuITE7Yi5zcT1EfWlmKG4udUspcmV0dXJuITE7bi51Sz0hMDtuLnVmPjAmJihuLnVmPTAsbi51Tj0iIixqcyhuLG4uZ3MuV04oKSwwKSxuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpKTtuLmdzLmRuKGIsdik7cmV0dXJuITB9Owpqd2o9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uald8fG4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKTtDTyhuLCEwKTtuLmdzLnNlZWtUbyhXLEQpO249bi5hcHAuTU4oKTtXPW4uZ2V0UGxheWVyU3RhdGUoKTtiLmlzT3JXaWxsQmVQbGF5aW5nKCkmJiFXLmlzT3JXaWxsQmVQbGF5aW5nKCk/bi5wbGF5VmlkZW8oKTpiLmlzUGF1c2VkKCkmJiFXLmlzUGF1c2VkKCkmJm4ucGF1c2VWaWRlbygpfTsKZy5CYz1mdW5jdGlvbihuKXtuLkdDJiZuLmJqKHthZGY6YDBfJHsobmV3IERhdGUpLmdldFRpbWUoKS8xRTMtbi5DdX1faXNUaW1lb3V0XyR7bi5EfWB9KX07Cmcub2U9ZnVuY3Rpb24obil7bi5EPSExO24uWS5pc0FjdGl2ZSgpJiZnLkJjKG4pO24uWS5zdG9wKCk7bi5SZighMSl9OwpGdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJue3NzdmM6VyxjcG46RD8uY3BufHwiIix2aWQ6RD8udmlkZW9EYXRhLnZpZGVvSWR8fCIiLGN0OihuLmdzLmdldEN1cnJlbnRUaW1lKCl8fDApLnRvRml4ZWQoMyksY210OihuLmdzLm90KCl8fDApLnRvRml4ZWQoMyl9fTsKQ2gxPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbmV3IGcubDUobixXLHtpZDpELG5hbWVzcGFjZToic2VydmVyc3RpdGNoZWRjdWVyYW5nZSIscHJpb3JpdHk6OX0pfTsKZy53Zj1mdW5jdGlvbihuKXtyZXR1cm57Y3BuOm4uZ3MuV04oKSxkdXJhdGlvbk1zOjAsb2E6MCxwbGF5ZXJUeXBlOjEsZEk6MCx2aWRlb0RhdGE6bi5ncy5nZXRWaWRlb0RhdGEoKSxlcnJvckNvdW50OjAsdlA6IiJ9fTsKTUs9ZnVuY3Rpb24obixXLEQsYil7bi5CLlMoImh0bWw1X3NzZGFpX2xvZ19zc2V2dF9pbl9sb2FkZXJfdGltZXJzIikmJihiPW4uYmQ/MDpNYXRoLnJvdW5kKChiLUQpKjFFMyksbi5ncy5VKCJzc2V2dCIse3RhZzoic3N0bWUiLGFkOlchPT1uLmdzLldOKCksY3BuOlcsc3Q6RC1uLmdzLkgzKCksbGF0ZTpifSkpfTsKZy5RUz1mdW5jdGlvbihuLFcpe24uanx8bi5iZHx8Zy5SZShuLG4udU4pO3ZhciBEPVcucUQsYj1XLnpZO2lmKGIuY3BuPT09bi51TiluLmJqKHtpZ3RyYW5zc2FtZToxLGVudGVyOmIuY3BuLGV4aXQ6RC5jcG59KTtlbHNle3ZhciB2PW4uYmQsaz0hIW4uajtuLmo9IiI7dmFyIGg9Vy5tNyx4PUQucGxheWVyVHlwZT09PTI/RC5vYS8xRTMrRC52aWRlb0RhdGEuR0M6Zy53ZihuKS52aWRlb0RhdGEuR0M7bi5hcGkuUygiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiKSYmKGt8fHZ8fEQucGxheWVyVHlwZSE9PTI/KHZ8fGspJiZuLmJqKHttZWNyOjAsc2Vlazp2LHNraXA6a30pOm4uYXBpLk5hKEQuY3BuKSk7aWYoRC5wbGF5ZXJUeXBlPT09MiYmYi5wbGF5ZXJUeXBlPT09MilrP24uYmooe2lndHJhbnNza2lwOjEsZW50ZXI6Yi5jcG4sZXhpdDpELmNwbixzZWVrOnYsc2tpcDpuLmp9KTpnLkJkdChuLEQsYix4LGgsdixrKTtlbHNle24udU49Yi5jcG47anMobixiLmNwbiwKYi5zdGFydFRpbWVTZWNzfHxoKTtXPVcuUXg7aWYoRC5wbGF5ZXJUeXBlPT09MSYmYi5wbGF5ZXJUeXBlPT09Mil7bi5TJD0wO0ZraihuLGIpO3ZhciBMPUZ3KG4sImMyYSIsYik7bi5iaihMKTtuLnVmKyt9ZWxzZSBpZihELnBsYXllclR5cGU9PT0yJiZiLnBsYXllclR5cGU9PT0xKXtuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpO0w9RncobiwiYTJjIik7bi5iaihMKTtuLnVmPTA7bi5TJD14O0w9RC5jcG47dmFyIGU9bi5TJDtpZihMIT09bi5ncy5XTigpKXtsZXQgRz1uLnR3LmdldChMKTtHP0cuTj1lOm4uYmooe25vcF9lOkx9KX1nLndHMShuLEQudlApfUw9TTVpKG4pO24uZ3MuY00oRCxiLHgsaCx2LGssVyxMKX1nLlJVaShuKX19OwppcD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPVdebjtpZigobi0xXjI3KT49biYmKG4rMV4yNCk8bil7dmFyIGU9RFtJW0xeNzg2XV0oSVtMXjgxN10pLEc9MDtlWzBdfHxHKys7bGV0IE49e307Zm9yKDtHPGVbSVs1XV07Rys9MillW0ddJiZFYyg1LExeNjc4NixOLGVbR10sZVtHKzFdKTt2YXIgcj1OfShuXjEzKTwyNiYmbi0yPj0xOCYmKGU9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxMXjc3MDEpLEc9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxlKzEpLGU+MCYmRz4wPyhiW0lbTF43Njg1XV09RFtJW0xeNzY5NF1dKDAsRyksRD1EW0lbTF43Njk0XV0oRysxKSk6KGJbSVtMXjc2ODVdXT1ELEQ9SVtMXjc2OTJdKSxyPVtEXSk7bi0zPj4zfHwocj1iKGssaCx4KSk7bj4+MiY3fHwoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgtRClbSVtMXjE3MTZdXSgpW0lbTF4xNjgxXV0oZnVuY3Rpb24oTil7YltJW0xeMTY3MF1dKE4pfSkpOwpyZXR1cm4gcn07CmpzPWZ1bmN0aW9uKG4sVyxEKXtpZihXPT09bi5ncy5XTigpKW1SKG4uYXBwLlZyLG4uZ3MsITEpO2Vsc2V7bGV0IGI9bi50dy5nZXQoVyk7Yj8oVz1iLFcuTj0wLFcuc3RhcnRUaW1lU2Vjcz1ELG1SKG4uYXBwLlZyLGIsITApKTpuLmJqKHtub3BfczpXfSl9fTsKRmtqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcHA7UFQoVlMoRCkpJiZELlZyLldbMl0mJmcuY18obi5sb2dnZXIsMzYwNzE3ODA2LCJTU1RNIGxpbmdlcmluZyBwbGF5YmFjayIpO24uYXBpLlNvKCk7bi5hcGkuV0ooInNlcnZlcnN0aXRjaGVkdmlkZW9jaGFuZ2UiLFcuY3BuLFcuTDMpfTsKY2M9ZnVuY3Rpb24obixXLEQ9MCl7cmV0dXJue0lEOnVhVShuLk4sVyoxRTMsRCoxRTMpLEJFOld9fTsKZy5SZT1mdW5jdGlvbihuLFcpe3ZhciBEPVd8fG4udU4sYj1uLk4uVkUoRCk7Yj8oVz1iLnZpZGVvRGF0YSxEPWIuTDN8fChuLlcuZ2V0KEQpPy5zdGFydD8/MCkvMUUzLG49bi5ncy5nZXRDdXJyZW50VGltZSgpLUQsVy5HQz1uPjA/bjowKTpnLndmKG4pLnZpZGVvRGF0YS5HQz1uLmdzLmdldEN1cnJlbnRUaW1lKCl9OwpnLlF3aT1mdW5jdGlvbihuLFcsRCl7bi5ncy5CbygpO24uZ3Muc2Vla1RvKFcsRCk7bi5ncy5wbGF5VmlkZW8oKX07CkNPPWZ1bmN0aW9uKG4sVyl7bi5MQj1OYU47bi5mQj1udWxsO24uUmEuc3RvcCgpO24uZSQmJlcmJm4uZSQuR18oKTtuLmpXPW51bGw7bi5lJD1udWxsfTsKbko9ZnVuY3Rpb24obil7VjVoKG4pO2Zvcih2YXIgVyBvZiBuLlcudmFsdWVzKCkpVy5zdGFydD49LTEmJlcuZW5kPD1JbmZpbml0eSYmKG4uZ3MucmVtb3ZlQ3VlUmFuZ2UoVyksbi5XLmRlbGV0ZShXLmdldElkKCkpLG4uYmooe3JtQWRDUjoxfSkpO3ZhciB7SUQ6RCxCRTpifT1jYyhuLC0uMDAxKTtEJiYoVz1iKjFFMy1ELm9hLGcuYWUobixELFcsRC5vYStXKSxXPW4uVy5nZXQoRC5jcG4pKSYmKFcuc3RhcnQ9RC5vYSxXLmVuZD1ELm9hK0QuZHVyYXRpb25Ncyk7KHtJRDpXfT1jYyhuLEluZmluaXR5KSk7VyYmbi5KKGBJbnZhbGlkX2NsZWFyRW5kVGltZU1zXyR7SW5maW5pdHl9X3RoYXRfZmFsbHNfZHVyaW5nXyR7YHBsYXliYWNrX2Nwbl8ke1cuY3BufV92aWRlb19pZF8ke1cudmlkZW9EYXRhPy52aWRlb0lkfV9kdXJhdGlvbk1zXyR7Vy5kdXJhdGlvbk1zfV9lbnRlclRpbWVNc18ke1cub2F9X3BhcmVudFJldHVyblRpbWVNc18ke1cuZEl9YH0uX0NoaWxkX3BsYXliYWNrc19jYW5fb25seV9oYXZlX2R1cmF0aW9uX3VwZGF0ZWRfbm90X3RoZWlyX3N0YXJ0LmApfTsKY1JiPWZ1bmN0aW9uKG4pe3VzKG4uVEMpO24uVy5jbGVhcigpO24uTi5jbGVhcigpO24uWXEuY2xlYXIoKTtuLkZGPVtdO24uVj1udWxsO24ueXcuY2xlYXIoKTtuLm51LmNsZWFyKCk7bi5jSj1bXTtuLkR0PVtdO24uczU9W107bi5FNT1bXTtuLlFyLmNsZWFyKCk7bi5NZC5jbGVhcigpO24uVTUuY2xlYXIoKTtuLnlFLmNsZWFyKCk7bi5EPSExO24uUyQ9MDtuLmJkPSExO24uWVo9ITE7bi51Zj0wO24uQ3U9MDtuLlkkPSExO24udUs9ITE7bi5qPSIiO0ZFWihuLmFwcC5Wcik7bVIobi5hcHAuVnIsbi5ncywhMSk7aWYobi5CLlp0KCk/LkooKSlmb3IobGV0IFcgb2Ygbi50dy52YWx1ZXMoKSlXLmRpc3Bvc2UoKTtuLnR3LmNsZWFyKCk7bi5ZLmlzQWN0aXZlKCkmJmcub2Uobil9OwpWNWg9ZnVuY3Rpb24obil7ZERiKG4uTixXPT5XLm9hPj0tMSYmVy5kSTw9SW5maW5pdHkpfTsKZy5hZT1mdW5jdGlvbihuLFcsRCxiKXtXLmR1cmF0aW9uTXM9RDtXLmRJPWI7KGI9bi50dy5nZXQoVy5jcG4pKT9iLmFUKEQvMUUzKTpuLmJqKHtub3BfZDpXLmNwbn0pfTsKZy56Vj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBuLkZGKWlmKFc+PUQuc3RhcnQmJlc8PUQuZW5kKXJldHVybiEwO3JldHVybiExfTsKZy5UVj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uWXEuZ2V0KEQpO2lmKCFrKXtpZihrPVdmKG4sVykpcmV0dXJuIGs7Vz1uLkdNKEQtMSxiPz8yKTtpZih2KXJldHVybiBuLmJqKHttaXNzY3VlOnYsc3E6RCx0eXBlOmIscHJldnNzdGF0ZTpXPy5zbCxwcmV2cmVjb3JkOm4uWXEuaGFzKEQtMSl9KSxuLllxLmdldChELTEpO2lmKFc/LnNsPT09MilyZXR1cm4gbi5iaih7YWRuZjoxLHNxOkQsdHlwZTpiLHByZXZyZWNvcmQ6bi5ZcS5oYXMoRC0xKX0pLG4uWXEuZ2V0KEQtMSl9cmV0dXJuIGt9Owpsd1o9ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKCFuLnVLKWlmKGcuelYobixEKSluLmJqKHtnZHU6InVuZGVjIixzZWc6RCxpdGFnOnZ9KTtlbHNlIGlmKFc9Zy5UVihuLFcsRCxiLGspLCFuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCl8fCFXPy5QTylyZXR1cm4gV307CldmPWZ1bmN0aW9uKG4sVyl7Vys9bi5IMygpO2lmKG4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSl7YTp7dmFyIEQ9bi5OO249VyoxRTM7Zm9yKGIgb2YgRC5KKWlmKEQ9Yi5MMz9iLkwzKjFFMzpiLm9hLG4+PWIub2EtMUUzJiZuPD1EK2IuZHVyYXRpb25NcysxRTMpYnJlYWsgYTt2YXIgYj12b2lkIDB9Yj17SUQ6YixCRTpXfX1lbHNlIGI9Y2MobixXKSxiPy5JRHx8KGI9Y2MobixXLDEpKTtyZXR1cm4gYj8uSUR9OwpkZj1mdW5jdGlvbihuLFcsRD0hMSl7aWYoIUQpe2ZvcihsZXQgYiBvZiBuLkZGKXtpZihXPj1iLnN0YXJ0JiZXPD1iLmVuZClyZXR1cm47aWYoVz09PWIuZW5kKzEpe2IuZW5kKz0xO3JldHVybn19bi5GRi5wdXNoKG5ldyBhd1MoVykpfX07ClRkaj1mdW5jdGlvbihuLFc9IiIpe3ZhciBEPWcuZDEoVyl8fHZvaWQgMDtXJiZEfHxuLmJqKHthZGNmZzpXPy5sZW5ndGgsZGNmZzpEPy5sZW5ndGh9KTtyZXR1cm4gRH07CmxzPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuW107Zm9yKGxldCBiIG9mIG4pYi5jcG4mJkQucHVzaChiLmNwbik7cmV0dXJuIER9OwpuJE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPSExO2lmKEQ9bi5OLk4uZ2V0KEQpKWZvcihsZXQgdiBvZiBEKXYuZHVyYXRpb25NcyE9PTAmJnYuZEkhPT12Lm9hJiYoRD12LmNwbixXPT09RCYmKGI9ITApLGImJiFuLk1kLmhhcyhEKSYmKG4uYmooe2RlY29yYXRlZEFkOkR9KSxuLk1kLmFkZChEKSkpfTsKdmFyIElhMj1mdW5jdGlvbihuLFcpe3JldHVybiBvU1tJWzEwXV0odGhpcywyLDQ0MzksbixXKX07CldMcj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtuPW4uTi5OLmdldChEKTtpZighbilyZXR1cm4tMTtmb3IobGV0IHYgb2Ygbil7aWYodi5jcG49PT1XKXJldHVybiBiO2IrK31yZXR1cm4tMX07CkRhcj1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuIDA7Zm9yKGxldCBiIG9mIG4pYi5kdXJhdGlvbk1zIT09MCYmYi5kSSE9PWIub2EmJkQrKztyZXR1cm4gRH07CmcuYmZ4PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLlcudmFsdWVzKCkpbi5ncy5yZW1vdmVDdWVSYW5nZShXKTtuLlcuY2xlYXIoKTt1cyhuLlRDKX07Ck01aT1mdW5jdGlvbihuKXt2YXIgVz1BcnJheS5mcm9tKG4uYXBwLlZyLkQudmFsdWVzKCkpLEQ9W10sYj1bXSx2PVtdLGs9W10saD1bXSx4PVtdO2Zvcih2YXIgTCBvZiBXKWlmKFc9bi5OLlZFKEwuV04oKSkpbi5iaih7YXR0YWNoX3RyYW5zX21ldGE6Vy5jcG4saGFzX3ZfbWV0YTpXLnNmPzE6MCxoYXNfYV9tZXRhOlcuWU0/MTowLGhhc19jdHhfbWV0YTpXLmpWPzE6MH0pLFcualYmJkQucHVzaChXLmpWKSxXLnNmJiZiLnB1c2goVy5zZiksVy5ZTSYmYi5wdXNoKFcuWU0pLGsucHVzaChXLmNwbiksaC5wdXNoKFcudmlkZW9EYXRhLnZpZGVvSWR8fCIiKSx4LnB1c2goVy52aWRlb0RhdGEuYWRGb3JtYXR8fFcudmlkZW9EYXRhLkZGKSxXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YSE9bnVsbCYmdi5wdXNoKFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhKTtMPXZvaWQgMDtuLnZYJiYobi5iaih7aGFzX2N0eF9saXN0OkQubGVuZ3RoPzE6MCxoYXNfY2xpcF9saXN0OmIubGVuZ3RoPwoxOjB9KSxMPXtqVjpELHJYOmJ9KTtyZXR1cm57UHc6TCxSUDp7YUQ6ayxhcTpoLGFkRm9ybWF0czp4LHNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YTp2fX19OwpnLkJkdD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtpZihXJiZEKXtuLnVOPUQuY3BuO2pzKG4sRC5jcG4sRC5zdGFydFRpbWVTZWNzfHx2KTtGa2oobixEKTt2YXIgeD1GdyhuLCJhMmEiLEQpO24uYmooeCk7bi51ZisrO3g9TTVpKG4pO24uZ3MuY00oVyxELGJ8fDAsdnx8MCwhIWssISFoLHZvaWQgMCx4KX1lbHNlIG4uYmooe21pc3NwYmtvbmFkdHJhbnM6MSxlbnRlcjpEPy5jcG58fCIiLGV4aXQ6Vz8uY3BufHwiIixzZWVrOmssc2tpcDpofSl9OwpnLlJVaT1mdW5jdGlvbihuKXtuLnlFLmFkZChuLmopO24uaj0iIjtuLmJkPSExfTsKdiRoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYjtpZihiPW4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSliPShiPW4uTi5WRShXKSkmJmIudlA/KG49bi5OLk4uZ2V0KGI/LnZQKSkmJm4uc2xpY2UoLTEpWzBdLmNwbj09PVc6ITE7cmV0dXJuIGImJkQ9PT0yPzFFMzowfTsKZy53RzE9ZnVuY3Rpb24obixXKXtpZihuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCkpe3ZhciBEPW4uTi5OLmdldChXKTtpZihEKXtmb3IodmFyIGIgb2YgRCl7bi5iaih7cmVtX21ldGE6Yi5jcG59KTtEPW47bGV0IHY9RC5XLmdldChiLmNwbik7RC5XLmRlbGV0ZShiLmNwbik7diYmRC5ncy5yZW1vdmVDdWVSYW5nZSh2KTt6VWgoRC5OLGIpfW4uWXEuY2xlYXIoKTtiPW4uTjtEPWIuTi5nZXQoVyk/P1tdO2ZvcihsZXQgdiBvZiBEKXpVaChiLHYpO2IuTi5kZWxldGUoVyk7KFc9bi5aaC5nZXQoVykpJiZuLlJ0JiZuLmdzLll5KFcpfX19OwpodnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPW4uVnx8bi5hcHAuTU4oKS5nZXRQbGF5ZXJTdGF0ZSgpO0RMKG4sITApO1c9aXNGaW5pdGUoVyk/VzpuLk4uTlcoKTt2YXIge0lEOnYsQkU6a309YmwobixXKTtXPXYmJiF2ZihuLHYpfHwhdiYmbi5OIT09bi5hcHAuTU4oKTt2YXIgaD1rKjFFMztoPW4uVyYmbi5XLnN0YXJ0PD1oJiZoPD1uLlcuZW5kOyFXJiZofHxrcihuKTt2P2cua3JaKG4sdixrLEQsYik6eHIobixrLEQsYiwiX2V4ZWN1dGUiKX07CmcuTEo9ZnVuY3Rpb24obixXLEQsYil7bi5OLlUoInRpbWVsaW5lZXJyb3IiLHtlOlcsY3BuOkQ/RDp2b2lkIDAsdmlkZW9JZDpiP2I6dm9pZCAwfSl9OwpnLmVhPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBnLmw1KE1hdGgubWF4KDAsbi01RTMpLFc/MHg4MDAwMDAwMDAwMDAwOm4tMSx7bmFtZXNwYWNlOiJjaGlsZHBsYXliYWNrIixwcmlvcml0eTo5fSl9OwpnLnhhaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5MeDtXLkx4PUQ7dmYobixXKSYmKEQ9bi5hcHAuTU4oKSxiLm9JPT09bi5XJiZrcihuKSxELnJlbW92ZUN1ZVJhbmdlKGIub0kpLEQuYWRkQ3VlUmFuZ2UoVy5MeC5vSSkpfTsKZy5rclo9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12ZihuLFcpO2lmKCFrKXtXLnBsYXllclZhcnMucHJlZmVyX2dhcGxlc3M9ITA7dmFyIGg9bmV3IGcuVXIobi5CLFcucGxheWVyVmFycyk7aC5LZj1XLktmO24uYXBpLnoyKGgsVy5wbGF5ZXJUeXBlKX1oPW4uYXBwLk1OKCk7a3x8aC5hZGRDdWVSYW5nZShXLkx4Lm9JKTtoLnNlZWtUbyhELHtxZDoiYXBwbGljYXRpb25fdGltZWxpbmVtYW5hZ2VyIiwuLi5ifSk7TEwyKG4sdil9OwpldnQ9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7Yj1XLktmO3ZhciB2PVcucGxheWVyVmFycyxrPVcucGxheWVyVHlwZTtuLks9Vzt2JiZuLmFwaS5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnModixrLEQsYil9OwpnJFM9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7bi5hcGkuV3Aobi5OLEQsVyl9Owprcj1mdW5jdGlvbihuKXtuLks9bnVsbDtuLlc9bnVsbDtuLmFwaS5kVCgpfHxuLmFwaS5jbGVhclF1ZXVlKCl9Owp2Zj1mdW5jdGlvbihuLFcpe249bi5hcHAuTU4oKTtyZXR1cm4hIW4mJm4uZ2V0VmlkZW9EYXRhKCkuS2Y9PT1XLktmfTsKWGVqPWZ1bmN0aW9uKG4sVyl7dmYobixXKXx8Zy5MSihuLCJjaGlsZFBsYXliYWNrSXNOb3RQcmVzZW50aW5nIik7cmV0dXJuIFcuZEk9PT1XLm9hK1cuZHVyYXRpb25Ncz9XLm9hK24uYXBwLk1OKCkuZ2V0Q3VycmVudFRpbWUoKSoxRTM6Vy5kSX07CmJsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtmb3IobGV0IGIgb2Ygbi5KKXtuPWIub2EvMUUzK0Q7bGV0IHY9bitiLmR1cmF0aW9uTXMvMUUzO2lmKG4+VylicmVhaztpZih2PlcpcmV0dXJue0lEOmIsQkU6Vy1ufTtEPXYtYi5kSS8xRTN9cmV0dXJue0lEOm51bGwsQkU6Vy1EfX07CkRMPWZ1bmN0aW9uKG4sVyl7bi5PPU5hTjtuLkQ9bnVsbDtuLlkuc3RvcCgpO24uWCYmVyYmbi5YLkdfKCk7bi5WPW51bGw7bi5YPW51bGx9Owp4cj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uTjtrIT09bi5hcHAuTU4oKSYmbi5hcHAuWDkoKTtuLkIuUygiaHRtbDVfc2Ficl9jc2RhaV9zZWVrX2xvZyIpfHwodj0iIik7ay5zZWVrVG8oVyx7cWQ6ImFwcGxpY2F0aW9uX3RpbWVsaW5lbWFuYWdlciIrKHY/PyIiKSwuLi5EfSk7TEwyKG4sYil9OwpMTDI9ZnVuY3Rpb24obixXKXtuPW4uYXBwLk1OKCk7dmFyIEQ9bi5nZXRQbGF5ZXJTdGF0ZSgpO1cuaXNPcldpbGxCZVBsYXlpbmcoKSYmIUQuaXNPcldpbGxCZVBsYXlpbmcoKT9uLnBsYXlWaWRlbygpOlcuaXNQYXVzZWQoKSYmIUQuaXNQYXVzZWQoKSYmbi5wYXVzZVZpZGVvKCl9OwpxZWk9ZnVuY3Rpb24obil7dmFyIFc9bi5KLmZpbmQoRD0+dmYobixEKSk7CmlmKFcpe2xldCBEPW4uYXBwLk1OKCk7a3Iobik7bGV0IGI9bmV3IGcubG0oOCk7Vz1YZWoobixXKS8xRTM7eHIobixXLHt9LGIsIl9mb3JjZSIpO0QuVSgiZm9yY2VQYXJlbnRUcmFuc2l0aW9uIix7Y2hpbGRQbGF5YmFjazoxfSk7bi5OLlUoImZvcmNlUGFyZW50VHJhbnNpdGlvbiIse3BhcmVudFBsYXliYWNrOjF9KX19OwpnLmc1PWZ1bmN0aW9uKG4sVz0tMSxEPUluZmluaXR5KXtmb3IobGV0IFt4LExdb2Ygbi5qKXt2YXIgYj14LHY9TDt2LnFJPj1XJiZ2LnRhcmdldCYmdi50YXJnZXQuZEk8PUQmJihuLk4ucmVtb3ZlQ3VlUmFuZ2UoYiksbi5qLmRlbGV0ZShiKSl9Yj1bXTtmb3IobGV0IHggb2Ygbi5KKXgub2E+PVcmJnguZEk8PUQ/KHY9bix2Lks9PT14JiZrcih2KSx2Zih2LHgpJiZ2LmFwcC5YOSgpKTpiLnB1c2goeCk7bi5KPWI7dmFyIHtJRDprLEJFOmh9PWJsKG4sVy8xRTMpO2smJihXPWgqMUUzLGcuR3IxKG4sayxXLGsuZEk9PT1rLm9hK2suZHVyYXRpb25Ncz9rLm9hK1c6ay5kSSkpOyh7SUQ6V309YmwobixELzFFMykpO1cmJmcuTEoobixgSW52YWxpZCBjbGVhckVuZFRpbWVNcz0ke0R9IHRoYXQgZmFsbHMgZHVyaW5nICR7YHBsYXliYWNrPXt0aW1lbGluZVBsYXliYWNrSWQ9JHtXLktmfSB2aWRlb19pZD0ke1cucGxheWVyVmFycy52aWRlb19pZH0gZHVyYXRpb25Ncz0ke1cuZHVyYXRpb25Nc30gZW50ZXJUaW1lTXM9JHtXLm9hfSBwYXJlbnRSZXR1cm5UaW1lTXM9JHtXLmRJfX1gfS5DaGlsZCBwbGF5YmFja3MgY2FuIG9ubHkgaGF2ZSBkdXJhdGlvbiB1cGRhdGVkIG5vdCB0aGVpciBzdGFydC5gKX07CmcuR3IxPWZ1bmN0aW9uKG4sVyxELGIpe1cuZHVyYXRpb25Ncz1EO1cuZEk9YjtiPXtvSTpnLmVhKEQsITApLHFJOkQsdGFyZ2V0Om51bGx9O2cueGFpKG4sVyxiKTt2ZihuLFcpJiZuLmFwcC5NTigpLmdldEN1cnJlbnRUaW1lKCkqMUUzPkQmJihXPVhlaihuLFcpLzFFMyxEPW4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKSx4cihuLFcse30sRCwiX3VwZGF0ZSIpKX07CiRhcj1mdW5jdGlvbihuKXtuJiZuIT09IndlYiImJnRZaS5pbmNsdWRlcyhuKX07CnVScj1mdW5jdGlvbihuLFcpe3JldHVybiBXPyEhbi5OLmdldChXKTohMX07CnJFUz1mdW5jdGlvbihuLFcpe24uZGF0YXNldC52ZXJzaW9uPVd9OwpzOHI9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuUkIsRD0oKT0+e24uRU49bmV3IGcuYnIoMCwwLDAsMCk7bi5JMD1uZXcgZy5icigwLDAsMCwwKX0sYj1oPT57aC5nZXRWaWRlb0RhdGEoKSYmbi51cGRhdGVWaWRlb0RhdGEoaC5nZXRWaWRlb0RhdGEoKSl9LHY9KGgseCk9PntuLmYxKGgseCl9LGs9aD0+e24ubkImJlhTKG4pOwpxNyhuKSE9PW4uUDAmJm4ucmVzaXplKCk7bi5hcHAuRygpLlMoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZuLm04JiYoaC5zdGF0ZS5pc1BhdXNlZCgpP24ubTgucGF1c2UoKTpoLlhRKDgpJiZuLm04LnBsYXlTdGF0ZT09PSJwYXVzZWQiJiZuLm04LnBsYXkoKSl9OwpXLmFkZEV2ZW50TGlzdGVuZXIoImluaXRpYWxpemluZ21vZGUiLEQpO1cuYWRkRXZlbnRMaXN0ZW5lcigidmlkZW9wbGF5ZXJyZXNldCIsYik7Vy5hZGRFdmVudExpc3RlbmVyKCJ2aWRlb2RhdGFjaGFuZ2UiLHYpO1cuYWRkRXZlbnRMaXN0ZW5lcigicHJlc2VudGluZ3BsYXllcnN0YXRlY2hhbmdlIixrKTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57Vy5yZW1vdmVFdmVudExpc3RlbmVyKCJpbml0aWFsaXppbmdtb2RlIixEKTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpZGVvcGxheWVycmVzZXQiLGIpO1cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlkZW9kYXRhY2hhbmdlIix2KTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInByZXNlbnRpbmdwbGF5ZXJzdGF0ZWNoYW5nZSIsayl9KX07ClllaT1mdW5jdGlvbihuKXt2YXIgVz1uLkV6KCksRD0xLGI9ITEsdj1OTncobixXLG4uZ2V0VmlkZW9Bc3BlY3RSYXRpbygpKSxrPW4uYXBwLkcoKSxoPWsuUygiZW5hYmxlX2Rlc2t0b3BfcGxheWVyX3VuZGVybGF5IikseD1GbigpLEw9Zy5kTShrLmV4cGVyaW1lbnRzLCJwbGF5ZXJfdW5kZXJsYXlfbWluX3BsYXllcl93aWR0aCIpO0w9aCYmbi5hSCYmbi5nZXRQbGF5ZXJTaXplKCkud2lkdGg+TDtpZihxNyhuKSl7dmFyIGU9cGVVKG4pO3ZhciBHPWlzTmFOKGUpfHxnLlJnfHxuciYmZy5Hbnx8TDtnLk1MJiYhZy5aWCg2MDEpP2U9di5hc3BlY3RSYXRpbzpHPUd8fGsuY29udHJvbHNUeXBlPT09IjMiO0c/TD8oRz1rLlMoInBsYWNlX3NocnVua2VuX3ZpZGVvX29uX2xlZnRfb2ZfcGxheWVyIik/MTY6bi5nZXRQbGF5ZXJTaXplKCkud2lkdGgtVy53aWR0aC0xNixlPU1hdGgubWF4KChuLmdldFBsYXllclNpemUoKS5oZWlnaHQtVy5oZWlnaHQpLzIsMCksRz1uZXcgZy5icihHLGUsVy53aWR0aCwKVy5oZWlnaHQpLG4ubkIuc3R5bGUuc2V0UHJvcGVydHkoImJvcmRlci1yYWRpdXMiLCIxMnB4IikpOkc9bmV3IGcuYnIoMCwwLFcud2lkdGgsVy5oZWlnaHQpOihEPXYuYXNwZWN0UmF0aW8vZSxHPW5ldyBnLmJyKChXLndpZHRoLXYud2lkdGgvRCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aC9ELHYuaGVpZ2h0KSxEPT09MSYmZy5HbiYmKGU9Ry53aWR0aC1XLmhlaWdodCplLGU+MCYmKEcud2lkdGgrPWUsRy5oZWlnaHQrPWUpKSk7Zy5pSChuLmVsZW1lbnQsInl0cC1maXQtY292ZXItdmlkZW8iLE1hdGgubWF4KEcud2lkdGgtdi53aWR0aCxHLmhlaWdodC12LmhlaWdodCk8MSk7aWYoeHx8bi5jSSluLm5CLnN0eWxlLmRpc3BsYXk9IiI7bi5QMD0hMH1lbHNle0c9LVcuaGVpZ2h0O2cuTUw/Ryo9d2luZG93LmRldmljZVBpeGVsUmF0aW86Zy5zbSYmKEctPXdpbmRvdy5zY3JlZW4uaGVpZ2h0KTtHPW5ldyBnLmJyKDAsRyxXLndpZHRoLFcuaGVpZ2h0KTtpZih4fHxuLmNJKW4ubkIuc3R5bGUuZGlzcGxheT0KIm5vbmUiO24uUDA9ITF9dlkobi5FTixHKXx8KG4uRU49RyxnLkRmKGspPyhuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJ3aWR0aCIsRy53aWR0aCsicHgiLCJpbXBvcnRhbnQiKSxuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLEcuaGVpZ2h0KyJweCIsImltcG9ydGFudCIpKTpOdChuLm5CLEcuZ2V0U2l6ZSgpKSxHPW5ldyBnLk1ZKEcubGVmdCxHLnRvcCksYj1uLm5CLHg9TWF0aC5yb3VuZChHLngpLHggaW5zdGFuY2VvZiBnLk1ZPyhrPXgueCx4PXgueSk6KGs9eCx4PU1hdGgucm91bmQoRy55KSksYi5zdHlsZS5sZWZ0PXNqKGssITEpLGIuc3R5bGUudG9wPXNqKHgsITEpLGI9ITApO1c9bmV3IGcuYnIoKFcud2lkdGgtdi53aWR0aCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aCx2LmhlaWdodCk7dlkobi5JMCxXKXx8KG4uSTA9VyxiPSEwKTtnLmgxKG4ubkIsInRyYW5zZm9ybSIsRD09PTE/IiI6YHNjYWxlWCgke0R9KWApO2gmJkwhPT1uLlp4JiYoTCYmKG4ubkIuYWRkRXZlbnRMaXN0ZW5lcihHQSwKbi5reiksbi5uQi5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uY2FuY2VsIixuLmt6KSxuLm5CLmNsYXNzTGlzdC5hZGQoZy5Pbi5WSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORykpLG4uWng9TCxuLmFwcC5SQi5XSigicGxheWVyVW5kZXJsYXlWaXNpYmlsaXR5Q2hhbmdlIixuLlp4PyJ0cmFuc2l0aW9uaW5nIjoiaGlkZGVuIikpO3JldHVybiBifTsKWFM9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuRygpLmNvbnRyb2xzVHlwZT09PSIzIiYmIW4ud0YmJnE3KG4pJiYhbi5hcHAuc2p8fCExO24ubkIuY29udHJvbHM9VztuLm5CLnRhYkluZGV4PVc/MDotMTtuLmFwcC5HKCkuSiYmKG4ubkIuYXJpYUhpZGRlbj0idHJ1ZSIpO1c/bi5uQi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCk6bi5uQi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCl9OwpwZVU9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuTU4oKTtpZihXPVc/Vy5nZXRWaWRlb0RhdGEoKTpudWxsKXtpZihnLkhUKFcpfHxnLmZBKFcpfHxnLkpEKFcpKXJldHVybiAxNi85O2lmKE1zKFcpJiZXLlcuTigpKXJldHVybiBuPVcuVy52aWRlb0luZm9zWzBdLnZpZGVvLHRiKG4ud2lkdGgsbi5oZWlnaHQpfXJldHVybihuPW4ubkIpP3RiKG4udmlkZW9XaWR0aCxuLnZpZGVvSGVpZ2h0KToxNi85fTsKdGI9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWF0aC5hYnMoJHIqVy1uKTwxfHxNYXRoLmFicygkci9uLVcpPDE/JHI6bi9XfTsKTk53PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQsaz10YihXLndpZHRoLFcuaGVpZ2h0KTtuLnJVP3Y9RDxrP0luZmluaXR5OjA6aXNOYU4obi5WUik/aXNOYU4obi5mVCl8fCh2PW4uZlQpOnY9bi5WUjtpc0Zpbml0ZSh2KT92PT09MCYmbi5hcHAuRygpLlp0KCkuTi5RUShIZngpJiYodj1NYXRoLm1pbihELGspKTp2PU1hdGgubWF4KEQsayk7bj12Pms/e3dpZHRoOlcud2lkdGgsaGVpZ2h0Olcud2lkdGgvdixhc3BlY3RSYXRpbzp2fTp2PGs/e3dpZHRoOlcuaGVpZ2h0KnYsaGVpZ2h0OlcuaGVpZ2h0LGFzcGVjdFJhdGlvOnZ9Ont3aWR0aDpXLndpZHRoLGhlaWdodDpXLmhlaWdodCxhc3BlY3RSYXRpbzprfTtifHxpc05hTihEKXx8KEQ+dj9uLndpZHRoPW4uaGVpZ2h0KkQ6RDx2JiYobi5oZWlnaHQ9bi53aWR0aC9EKSxuLmFzcGVjdFJhdGlvPUQpO3JldHVybiBufTsKcTc9ZnVuY3Rpb24obil7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTEpcmV0dXJuITE7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTYpcmV0dXJuITA7dmFyIFc9bi5hcHAuTU4oKTtpZighV3x8Vy5KbigpKXJldHVybiExO249bi5hcHAuUkIuZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtXPSFuLk4oMil8fFcmJlcuZ2V0VmlkZW9EYXRhKCkuSzt2YXIgRD1uLk4oMTAyNCk7cmV0dXJuIG4mJlcmJiFEJiYhbi5pc0N1ZWQoKX07CmZHUz1mdW5jdGlvbihuKXtpZihuLmNzbiE9PWcuUnYoKSlpZihuLmNzbj09PSJVTkRFRklORURfQ1NOIiluLmNzbj1nLlJ2KCk7ZWxzZXt2YXIgVz1nLlJ2KCksRD13NCgpO2lmKFcmJkQpe24uY3NuPVc7Zm9yKGxldCBiIG9mIG4uZWxlbWVudHMpe2xldCB2PWIudmlzdWFsRWxlbWVudDt2JiZ2LmlzQ2xpZW50VmUoKSYmVyYmRCYmKGcubCgiY29tYmluZV92ZV9ncmFmdHMiKT9PMyhJZigpLHYsRCk6UFYodWcpKHZvaWQgMCxXLEQsdikpfX1pZihXKWZvcihsZXQgYiBvZiBuLk4pKG49Yi52aXN1YWxFbGVtZW50KSYmbi5pc0NsaWVudFZlKCkmJkZqKFcsbil9fTsKSkViPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLlk2KXtuLlk2PW4uRChuLlkpO3RyeXtsZXQgRD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt2YXIgVz1zZXRUaW1lb3V0KCgpPT57RC5yZWplY3QoInRpbWVvdXQiKX0sMUU0KTsKbi5ZNi5vbmVycm9yPSgpPT57RC5yZWplY3QoImVycm9yIil9OwpuLlk2Lm9ubWVzc2FnZT0oKT0+e0QucmVzb2x2ZSgpO2NsZWFyVGltZW91dChXKX07CmF3YWl0IEQucHJvbWlzZTtuLlk2Lm9ubWVzc2FnZT1udWxsO24uWTYub25lcnJvcj1udWxsO24uWTYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+dm9pZCBuLnJlY2VpdmUoYikpOwpuLlUoIndvcmtlckN0b3IiLHt9KX1jYXRjaChEKXtjbGVhclRpbWVvdXQoVyksbi5ZNj8udGVybWluYXRlKCksbi5ZNi5vbm1lc3NhZ2U9bnVsbCxuLlk2Lm9uZXJyb3I9bnVsbCxuLlk2PXZvaWQgMCxuLlUoIndvcmtlckVyciIse2U6YCR7RH1gfSl9fX07CklHdz1mdW5jdGlvbihuLFcpe2lmKG4uTiYmbi5OLmJ5dGVMZW5ndGg9PT1XKXJldHVybiBuLk47Zm9yKHZhciBEPW5ldyBVaW50OEFycmF5KFcpLGI9MDtXPjA7KXtsZXQgdj1uZXcgVWludDhBcnJheShNYXRoLm1pbihXLDY1NTM2KSk7Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyh2KTtELnNldCh2LGIpO1ctPXYubGVuZ3RoO2IrPXYubGVuZ3RofXJldHVybiBuLk49RH07ClNlMT1mdW5jdGlvbihuLFcpe24uWTYmJihXPUlHdyhuLFcpLFcubGVuZ3RoPjAmJldbMF0rKyxXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjEsYTk6e2RhdGE6V319LG4ucmVxdWVzdChXKSl9OwpBRWk9YXN5bmMgZnVuY3Rpb24obil7bi5KIT09dm9pZCAwfHxuLld8fChuLlc9ITAsYXdhaXQgSkViKG4pLG4uVz0hMSxuLlk2JiYoU2UxKG4sbi5LKSxuLko9c2V0SW50ZXJ2YWwoKCk9Pnt2YXIgVz1bMSwyLDMsNF07bi5CQiYmKFcucHVzaCg1KSxuLlgmJlcucHVzaCg2KSk7c3dpdGNoKFdbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKlcubGVuZ3RoKV0pe2Nhc2UgMTpTZTEobixuLmopO2JyZWFrO2Nhc2UgMjpuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZToyLGx4OntwbGFjZWhvbGRlcjohMH19LG4ucmVxdWVzdChXKSk7YnJlYWs7Y2FzZSAzOlc9bi5NdztuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZTozLHEwOntNdzpXfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDQ6bi5ZNiYmKFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NCxpc1R5cGVTdXBwb3J0ZWQ6e3BsYWNlaG9sZGVyOiEwfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDU6bi5CQiYmCihXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjUseTg6e0JCOm4uQkJ9fSxuLnJlcXVlc3QoVykpO2JyZWFrO2Nhc2UgNjp2YXIgRD1uLmo7Vz1uLlM3O24uWTYmJihEPUlHdyhuLEQpLFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NixKTDp7ZGF0YTpELFM3Old9fSxuLnJlcXVlc3QoVykpfX0sbi5pbnRlcnZhbE1zKSkpfTsKcjU9ZnVuY3Rpb24obixXLEQpe24uc2VuZE1lc3NhZ2Uoe1sxNjFdOjIsWzExNl06VyxbMTM5XTpEfSl9OwpaZnc9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi50Yi5HKCksRD1XLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKS50cnVzdGVkUGxheWJhY2tXb3JrZXJVcmw7aWYoRD1wdyhEfHxudWxsKSluLlk2PVhNKEQpLG4uTj1uZXcgbWFVKG4uWTYpLG4uWTYuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntnLlhqKGIuZXJyb3IpfSksbi5ZNi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixiPT57dmFyIHY9Yi5kYXRhOwpiPXZbMTE4XTt2YXIgaz12WzE4MF07aWYoaylmb3IodmFyIGggb2Yga1sxMjJdKShrPW4uVy5nZXQoaFsxMTldKSkmJktMWihrLGhbMTUxXSk7c3dpdGNoKGJbMTYxXSl7Y2FzZSAxOmxldCB7WzEwM106ZSxbM106R309YlsxN107c3dpdGNoKGUpe2Nhc2UgMTpsZXQgW3IsTl09RztuLnRiLmNsZWFyUXVldWUocixOKTticmVhaztjYXNlIDI6W2JdPUc7bi50Yi5vblBsYXllclJlcXVlc3RTZW50KGIpO2JyZWFrO2Nhc2UgMzpsZXQgW0gsQSx5XT1HO2lmKGI9eT9uLkouZ2V0KHkpOm51bGwpYj1iLmdldFZpZGVvRGF0YSgpLG4udGIuVmEoSCxBLGIpO2JyZWFrO2Nhc2UgNDpsZXQgW1QseixDXT1HO2I9bi5YLmdldCh6KTtpZighYil0aHJvdyBFcnJvcihgVW5rbm93biBtaXJyb3JlZCBDdWVSYW5nZTogJHt6fWApO24udGIuQ0ooVCxiLEMpO2JyZWFrO2Nhc2UgNTpbYl09RzsoYj1uLkouZ2V0KGIpKSYmbi50Yi5ueShiLmdldFZpZGVvRGF0YSgpKTticmVhaztjYXNlIDY6W2JdPUc7KGI9Cm4uSi5nZXQoYikpJiZuLnRiLmZMKGIuZ2V0VmlkZW9EYXRhKCkpO2JyZWFrO2Nhc2UgNzpuLnRiLkdjKCk7YnJlYWs7ZGVmYXVsdDpnLnBiKGUsdm9pZCAwKX1icmVhaztjYXNlIDI6dj1uLk47aD1iWzExNl07Yj1iWzEzOV07az12Lk4uZ2V0KGgpO3RyeXtrJiZrLnJlamVjdChiKX1maW5hbGx5e3YuTi5kZWxldGUoaCl9YnJlYWs7Y2FzZSAzOnY9bi5OO2g9YlsxMTZdO2I9YlsxMzldO2s9di5OLmdldChoKTt0cnl7ayYmay5yZXNvbHZlKGIpfWZpbmFsbHl7di5OLmRlbGV0ZShoKX1icmVhaztjYXNlIDQ6T2Z0KG4sdik7YnJlYWs7Y2FzZSA1OmJyZWFrO2Nhc2UgNjpiPXZbMTE4XTtoPW4uSy5nZXQoYls5OF0pO3Y9dlsxMzhdO2lmKGgpe2xldCB7WzEwM106cixbM106Tn09YlsxN107c3dpdGNoKHIpe2Nhc2UgImxvYWQiOmgubG9hZCguLi5OKTt2JiZyNShuLk4sdik7YnJlYWs7Y2FzZSAicGxheSI6Yj1oLnBsYXkoLi4uTik7diYmc1oobix2LGJ8fHZvaWQgMCk7YnJlYWs7Y2FzZSAicGF1c2UiOmgucGF1c2UoLi4uTiksCnYmJnI1KG4uTix2KX19YnJlYWs7Y2FzZSA3OmlmKHY9bi5LLmdldChiWzk4XSkpe3ZhciB7WzEzNV06eCxbMTY1XTpMfT1iWzE0NF07Yj12LmVfKCk7c3dpdGNoKHgpe2Nhc2UgImN1cnJlbnRUaW1lIjpiLmN1cnJlbnRUaW1lPUw7YnJlYWs7Y2FzZSAiZGVmYXVsdFBsYXliYWNrUmF0ZSI6Yi5kZWZhdWx0UGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAibG9vcCI6Yi5sb29wPUw7YnJlYWs7Y2FzZSAibXV0ZWQiOmIubXV0ZWQ9TDticmVhaztjYXNlICJwbGF5YmFja1JhdGUiOmIucGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAic3JjIjpMPyhiPW4uRC5nZXQoTCkpJiZ2LnM1KGIpOih2LlZRKCksdi5lJCgpKTticmVhaztkZWZhdWx0OmcucGIoeCx2b2lkIDApfX1icmVhaztjYXNlIDg6aWYodj1uLlcuZ2V0KGJbMTE5XSkpe2xldCB7dHlwZTpyLGFyZ3M6TixsVDpIfT17dHlwZTpiWzQ3XVsxNjFdLGFyZ3M6Yls0N11bM10sbFQ6Wy4uLmJbNDddWzNdXX07c3dpdGNoKHIpe2Nhc2UgImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiOmI9Ck5bMF1bNV07di52aWRlb0RhdGEuWD1iP09OKGIpOm51bGw7SFswXT12LnZpZGVvRGF0YTticmVhaztjYXNlICJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIjpiPU5bMF1bNDhdO3YudmlkZW9EYXRhLko9Yj9PTihiKTpudWxsO0hbMF09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiOmI9TlsxXTtoPSEhdi52aWRlb0RhdGEuZ2V0UGxheWVyUmVzcG9uc2UoKTt6Zih2LnZpZGVvRGF0YSx7cmF3X3BsYXllcl9yZXNwb25zZTpiWzEyNV18fHZvaWQgMH0sIWgsITEpO0hbMV09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaGVhcnRiZWF0cGFyYW1zIjpiPU5bMF07SFswXT17dXJsOmJbMTYyXSxpbnRlcnZhbDpiWzU2XSxyZXRyaWVzOmJbMTQwXX07YnJlYWs7Y2FzZSAibm9uZmF0YWxlcnJvciI6Yj1OWzBdO0hbMF09bmV3IGcuQ2koYls0NV0sYlszOF0sYlsxNDVdKTticmVhaztjYXNlICJzdGF0ZWNoYW5nZSI6Yj1OWzBdO2g9TXdoKGJbMTUxXSk7SFswXT0KbmV3IGcuTjcoaCxNd2goYlsxMTNdKSk7di5wbGF5ZXJTdGF0ZT1oO2JyZWFrO2Nhc2UgInZpZGVvZWxlbWVudGV2ZW50IjpIWzBdPW5ldyBQQlModi5tZWRpYUVsZW1lbnQsTlswXVsxNjFdKX12LmV2ZW50cy5XSihyLC4uLkgpfWJyZWFrO2Nhc2UgOTpuLkQuc2V0KGJbMTAxXSxiWzEwMF0pO2JyZWFrO2RlZmF1bHQ6Zy5wYihiLHZvaWQgMCl9fSksbi5ZNi5wb3N0TWVzc2FnZSh7dHlwZToiQk9PVFNUUkFQIiwKZGF0YTp7aG9zdG5hbWU6d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLGhyZWY6d2luZG93LmxvY2F0aW9uLmhyZWYscHJvdG9jb2w6d2luZG93LmxvY2F0aW9uLnByb3RvY29sLHNlYXJjaDp3aW5kb3cubG9jYXRpb24uc2VhcmNoLHl0Q29uZmlnOntJTk5FUlRVQkVfSE9TVF9PVkVSUklERTp3aW5kb3cubG9jYXRpb24ub3JpZ2luLC4uLmcucWkueXQuY29uZmlnX319fSksbi5zZW5kTWVzc2FnZSh7WzE2MV06MyxbMTc1XTpXLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKX0pfTsKc1o9ZnVuY3Rpb24obixXLEQpe0Q/RC50aGVuKGI9PntyNShuLk4sVyxiKX0sYj0+e24uTi5zZW5kTWVzc2FnZSh7WzE2MV06MSwKWzExNl06VyxbMTM5XTpifSl9KTpyNShuLk4sVyxudWxsKX07Ck9mdD1mdW5jdGlvbihuLFcpe3ZhciBEPVdbMTE4XTtzd2l0Y2goRFsxMDNdKXtjYXNlIDE6bGV0IFtiLHYsa109RFszXTtEPW4udGIuZFEoYix2LGspOyhXPVdbMTM4XSkmJnNaKG4sVyxEKTticmVhaztjYXNlIDI6bGV0IFtoLHhdPURbM107RD1VYWgoeCxoKTsoVz1XWzEzOF0pJiZzWihuLFcsQWUoU2soRCxMPT4oe1sxNl06Zy5sWihMKSxbMTQ2XToiYzFhImluIEwuUlI/IWcudVouaXNJbml0aWFsaXplZCgpOiExfSkpKSk7CmJyZWFrO2Nhc2UgMzpEPW4udGIueWYoKTsoVz1XWzEzOF0pJiZzWihuLFcsRCk7YnJlYWs7ZGVmYXVsdDpnLnBiKERbMTAzXSx2b2lkIDApfX07CnlFMj1mdW5jdGlvbihuKXt2YXIgVz1uLnRiLkcoKSxEPW4udGIubGooKSxiPW4udGIuaGgoKSx2PUQuZ2V0UGxheWVyU2l6ZSgpO0Q9RC5FeigpO1c9e1syM106bi50Yi5GbigpLFs0NF06e1sxXTpXLlMkLFsxMjRdOlcuQ3UsWzEzMV06Vy55RSxbMTQzXTpXLmpXLFsxNTVdOlcuRVp9LFs1OV06bi50Yi5FOCgpLFs2MV06bi50Yi52MygpLFs2Nl06bi50Yi5pc0Z1bGxzY3JlZW4oKSxbNjddOiExLFs3MF06bi50Yi5qSSgpLFs3MV06bi50Yi5pc0lubGluZSgpLFs3Ml06bi50Yi5CUCgpLFs3M106bi50Yi5pc011dGVkKCksWzc1XTpuLnRiLmlzT3JjaGVzdHJhdGlvbkxlYWRlcigpLFs3N106bi50Yi5BbigpLFs4MF06ITEsWzgyXTohMSxbODNdOm4udGIuU0koKSxbODRdOm4udGIuUTAoKSxbMTA2XTpuLnRiLmlzTXV0ZWQoKSxbMTI2XTp7WzE3OV06di53aWR0aCxbNTNdOnYuaGVpZ2h0fSxbMTMzXTpuLnRiLk1OKCkuSEwoKSxbMTM0XTpuLnRiLk1OKCkuVXUoKSxbMTY2XTp7WzE3OV06RC53aWR0aCwKWzUzXTpELmhlaWdodH0sWzE3MV06YixbMTc0XTpuLnRiLmdldFZvbHVtZSgpfTtiPVtdO2ZvcihsZXQgW2ssaF1vZiBuLlcuZW50cmllcygpKXY9ayxEPWguZ2V0VmlkZW9EYXRhKCksYi5wdXNoKHtbMTE5XTp2LFsxNTFdOntbMTY3XTp7WzI1XTpELlJEfX19KTtuLlkmJk9iamVjdC5hc3NpZ24oVyx7WzY3XTpuLnRiLkhvKCksWzgwXTpuLnRiLmdXKCksWzgyXTpuLnRiLmRUKCl9KTtyZXR1cm57WzJdOlcsWzEyMl06Yn19OwpFJE09ZnVuY3Rpb24obixXKXt2YXIgRD1gbWFpbi5jdWVSYW5nZToke24uTysrfWA7aWYobi5YLmdldChEKSlyZXR1cm4gRDtuLlguc2V0KEQsVyk7bi5qLnNldChXLEQpO3JldHVybiBEfTsKaWZDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qLmdldChXKTtpZihEKXJldHVybiBuLmouZGVsZXRlKFcpLG4uWC5kZWxldGUoRCksRH07CktMWj1mdW5jdGlvbihuLFcpe1cmJihPYmplY3QuYXNzaWduKG4uTixXKSxuLmF1ZGlvVHJhY2s9RGMoV1s3XSksbi5YPVhMUyhXWzE0N10pLFc9V1sxNjddKSYmKG4udmlkZW9EYXRhLlR3PVdbMThdLG4udmlkZW9EYXRhLmNhcHRpb25UcmFja3M9V1syMF0ubWFwKEQ9PlZ3KEQpKSxuLnZpZGVvRGF0YS53YT1XWzIxXSxuLnZpZGVvRGF0YS5PJD1XWzE5XSxuLnZpZGVvRGF0YS5HQz1XWzMwXSxuLnZpZGVvRGF0YS52WD1EYyhXWzM1XSksbi52aWRlb0RhdGEuU3c9V1sxNzZdKX07CnU4Yj1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtyZXR1cm4gbi5mYSh7WzE2MV06OSxbMTddOlcsWzExOV06RH0pfTsKZy5wSj1mdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtuLnNlbmRNZXNzYWdlKHtbMTYxXTo5LFsxN106VyxbMTE5XTpEfSl9OwpZcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goe1sxNTBdOm4uc3RhcnQoRCksWzQyXTpuLmVuZChEKX0pO3JldHVybiBXfTsKbyRVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJlc9PT0yPyhuLkIuWnQoKS5OLlFRKEhmKT9uLlZyLk4/LmlzQWQoKT8/ITE6bi5Rdz8uTmQobi5nZXRDdXJyZW50VGltZSgpKSk/bi5pdTotMTpXIT09Mnx8bi5MWSgpP24uaXU6bi5CJH07CnY3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNqJiZuLmdldFZpZGVvRGF0YSgpLm11dGVkQXV0b3BsYXl9Owp2YXIgbXR4PWZ1bmN0aW9uKG4pe3JldHVybiBYRFtJWzEwXV0odGhpcywxNiw0MDI5LG4pfTsKZko9ZnVuY3Rpb24obixXLEQpe1cmJihXPW4uVkUoe3BsYXllclR5cGU6RH0pLFc9PT1uLmNYKCkmJihXLmdldFZpZGVvRGF0YSgpLlBYPSEwKSl9OwpKYj1mdW5jdGlvbihuLFcsRD0hMCxiLHYsayl7dmFyIGg9bi5WRSh7cGxheWVyVHlwZTp2fSkseD1oLmdldFZpZGVvRGF0YSgpO2guZ2V0UGxheWVyVHlwZSgpPT09MiYmIW4uTFkoaCkmJiF4LmlzU2Vla2FibGV8fGcucEEoeCl8fChoJiZoPT09bi5jWCgpJiZuLkhOJiYhZGF0KG4sVykmJm4uc2V0TG9vcFJhbmdlKG51bGwpLG4uc2Vla1RvKFcsRCxiLHYsaywiX3JlcXVlc3QiKSl9OwpBYj1mdW5jdGlvbihuLFcpe1c9bi5WRSh7cGxheWVyVHlwZTpXfSk7Vz1nLklYKG4sVyk7cmV0dXJuIFNhKG4sVy5QRygpLFcpfTsKUGY9ZnVuY3Rpb24obixXLEQpe24uQi5iTiYmKG4uRl89VyxXLm11dGVkfHxLSihuLCExKSxEJiZuLkIuc3RvcmVVc2VyVm9sdW1lJiYhbi5CLnM1JiYoRD17dm9sdW1lOk1hdGguZmxvb3IoVy52b2x1bWUpLG11dGVkOlcubXV0ZWR9LEQudW5zdG9yYWJsZXx8KGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQpLGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQsMjU5MkUzKSkpLE9aKG4pLEQ9Zy5vZCYmbi5tZWRpYUVsZW1lbnQmJiFuLm1lZGlhRWxlbWVudC5YXygpJiYhbi5tZWRpYUVsZW1lbnQuVEMoKSxuLkIuczUmJiFEfHxnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIix7bXV0ZWQ6Vy5tdXRlZCx2b2x1bWU6Vy52b2x1bWUsdW5zdG9yYWJsZTohbi5CLnN0b3JlVXNlclZvbHVtZX0pKX07ClZTPWZ1bmN0aW9uKG4pe3JldHVybiBuLmNYKCkuZ2V0VmlkZW9EYXRhKCl9Owp6djI9ZnVuY3Rpb24obixXPSExKXt2YXIgRD0hMTtuLkIuR0MmJihuLlJCLldKKCJwYWdlVHJhbnNpdGlvbiIpLEQ9ITApO24uc3RvcFZpZGVvKEQsVyl9OwpVWj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtXPXtpZDpXLG5hbWVzcGFjZTpoPz8iYXBwYXBpIn07az09PSJjaGFwdGVyIj8oVy5zdHlsZT1aTC5DSEFQVEVSX01BUktFUixXLnZpc2libGU9ITApOmlzTmFOKHYpfHwoaz09PSJhZCI/Vy5zdHlsZT1aTC5BRF9NQVJLRVI6KFcuc3R5bGU9WkwuVElNRV9NQVJLRVIsVy5jb2xvcj12KSxXLnZpc2libGU9ITApO24uWEgoW25ldyBnLmw1KEQqMUUzLGIqMUUzLFcpXSwxKTtyZXR1cm4hMH07CmxHdz1mdW5jdGlvbihuLFcsRD0hMCxiLHYpe3ZhciBrPW4uVkUoe3BsYXllclR5cGU6MX0pLGg9MDtrLmdldFN0cmVhbVRpbWVPZmZzZXQoKSYmIWsuU1coKSYmKGg9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO0piKG4sVy1oLEQsYiwxLHYpfTsKajgyPWZ1bmN0aW9uKG4pe2lmKG4uQi5zdG9yZVVzZXJWb2x1bWUpcmV0dXJuIHJQKCk7dmFyIFc9bi5pc0lubGluZSgpfHxuLndlYlBsYXllckNvbnRleHRDb25maWcuY29udGV4dElkPT09IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0lOTElORV9QUkVWSUVXIjtyZXR1cm4gbi5adCgpLk4uUVEoVE5DKSYmVz97dm9sdW1lOnJQKCkudm9sdW1lLG11dGVkOm4uQi5tdXRlfTp7dm9sdW1lOjEwMCxtdXRlZDpuLkIubXV0ZX19OwpDQlM9ZnVuY3Rpb24obixXLEQsYix2LGs9ITApe3ZhciBoPW4uaEMoKTtpZighaClyZXR1cm4gayYmbi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjayYmbi5KVi5wdXNoKHtpZDpXLFd1OkQsdHY6Yn0pLCExO2s9aC1uLmdldEN1cnJlbnRUaW1lKCk7cmV0dXJuIFVaKG4sVyxELWssYi1rLHZvaWQgMCx2b2lkIDAsdil9Owp5Wj1mdW5jdGlvbihuLFcpe24ucGxheWxpc3QmJihnLkNwKG4ucGxheWxpc3QpLG4ucGxheWxpc3Q9bnVsbCk7VyYmKG4uWlYmJihXLmZldGNoPTApLG4ucGxheWxpc3Q9bmV3IEJOYihuLkIsVykpfTsKaWw9ZnVuY3Rpb24obixXLEQpe1c9bi5WRSh7cGxheWVyVHlwZTpEfSkuTnAoVyk7RCYmbi5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpIT09RHx8RVoobiwiY3VlcmFuZ2VzcmVtb3ZlZCIsVyl9OwpVYWg9ZnVuY3Rpb24obixXKXtyZXR1cm4gSFAobmV3IGcuRkxVKHtwSzpXLGNsaWVudFBsYXliYWNrTm9uY2U6bn0pKX07CndlVT1mdW5jdGlvbihuLFcsRCxiPUluZmluaXR5LHY9MCl7dmFyIGs9bi5NTigpO0Q9RHx8ay5nZXRQbGF5ZXJUeXBlKCk7KGs9dWwobixELFcsITApKXx8KGs9b1gobixELFcsITApKTtXPW4uY1goKTtEPT09MiYmVyYmKEQ9ay5nZXRWaWRlb0RhdGEoKSxXLlV5KEQuY2xpZW50UGxheWJhY2tOb25jZSxELkZGfHwiIixELmJyZWFrVHlwZXx8MCxELllLLEQudmlkZW9JZHx8IiIpKTtuLldwKGssYiwwLHYpfTsKTVlNPWZ1bmN0aW9uKG4pe3ZhciBXPW4ud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmw7cmV0dXJuIFc/cHcoVykudG9TdHJpbmcoKTpuLndlYlBsYXllckNvbnRleHRDb25maWcuanNVcmx9OwpSdlo9ZnVuY3Rpb24obil7dmFyIFc9IiIsRD0iIixiPU1ZTShuKSx2PWcubGYoYiwiY2IiKTt2JiYvXltcdy1dKyQvLnRlc3QodikmJihEPXYpO2IuaW5kZXhPZigiLy8iKT09PTAmJihiPW4uQi5wcm90b2NvbCsiOiIrYik7dj1iLmxhc3RJbmRleE9mKCIvYmFzZS5qcyIpO3YhPT0tMSYmKFc9Yi5zdWJzdHJpbmcoMCx2KzEpKTtpZihiPUVycm9yKCkuc3RhY2spaWYoYj1iLm1hdGNoKC9cKCguKj9cLyhkZWJ1Zy0pP3BsYXllci0uKj8pOlxkKzpcZCtcKS8pKWI9YlsxXSxiLmluY2x1ZGVzKFcpfHxnLkdxKEVycm9yKGBQbGF5ZXIgbW9kdWxlIFVSTCBtaXNtYXRjaDogJHtifSB2cyAke1d9LmApKTtXPW5ldyBnLmQ1KG4uUkIsVyxEKTtqTGooVyx7ZGVzdHJveWVkOigpPT57bi5vbkFwaUNoYW5nZSgpfX0pOwpyZXR1cm4gV307ClE4eD1mdW5jdGlvbihuKXtpZihuLkIuWnQoKS5OLlFRKG5hKSl7bi5tUS50aWNrKCJ3YXNtX3MiKTtsZXQgVz1FZChuLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCx2b2lkIDAsbi5JbC5iaW5kKG4pKTtuLkIuZUI9U2soVyxEPT57bi5tUS50aWNrKEQuaXNBc21qcz8id2FzbV9mYSI6Indhc21fZnciKTtKdShuLkIsRCk7cmV0dXJuIER9LEQ9PntuLm1RLnRpY2soIndhc21fZmVyciIpOwp0aHJvdyBEO30pfWVsc2UgT28obixmdW5jdGlvbigpe3ZhciBXPXRoaXM7CnJldHVybiBmdW5jdGlvbiooKXtXLm1RLnRpY2soIndhc21fcyIpO3ZhciBEPVFZKFcueDYpP2I9PlNrKERyWihXLng2KSx2PT52LmdCKGIpKTp2b2lkIDA7CnRyeXtsZXQgYj1FZChXLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCxELFcuSWwuYmluZChXKSksdj15aWVsZCpQUChiKTtXLm1RLnRpY2sodi5pc0FzbWpzPyJ3YXNtX2ZhIjoid2FzbV9mdyIpO0p1KFcuQix2KX1jYXRjaChiKXtXLm1RLnRpY2soIndhc21fZmVyciIpfX0oKX0pfTsKVll4PWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBnLlVyKG4uQixuLk5RKTtuLlJCLldKKCJpbml0aWFsdmlkZW9kYXRhY3JlYXRlZCIsVyk7cmV0dXJuIG9YKG4sMSxXLCExKX07CmFHMT1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7Vy5zZXRQbGF5YmFja1JhdGUobi5CLko/MTpjRXIobixOdW1iZXIoZy5aSSgieXQtcGxheWVyLXBsYXliYWNrLXJhdGUiKSl8fDEpKTtXLmgkKG4uWkwsbik7Vy5zbSgpfTsKVzJ3PWZ1bmN0aW9uKG4pe24uamgoKTt2YXIgVz1uLk5RO3pBKG4pO24uZXZlbnRzLk5OKHdpbmRvdywicmVzaXplIixuLkE2KTt2YXIgRD1WUyhuKTtnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIixuLkZfKTtpZihXJiZaVChXKSl7bGV0IGI9dkUobi5CKTtiJiYhbi5aViYmKFcuZmV0Y2g9MCk7bGV0IHY9Zy5vNChuLkIpO3YmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9wcl9zIik7aWYoIWJ8fG4uWlYpaWYodiYmIW4uWlYpbGwobik7ZWxzZSBpZighRC5PVigpKW4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSl9bi5RVChuLmNYKCksITEsITApOwpuLmNYKCkuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCl8fChXPWhnUyghbi5CLmRldmljZUlzQXVkaW9Pbmx5KSxXPT09ImZtdC5ub25lYXZhaWxhYmxlIj9uLktnKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsIm5vY29kZWNzLjEiKTpXPT09Imh0bWw1Lm1pc3NpbmdhcGkiP24uS2coVywyLCJVTlNVUFBPUlRFRF9ERVZJQ0UiLCJub2NhbnBsYXltZWRpYS4xIik6RCYmRC5PVigpJiZDSihuKSYmKG4uQi5VNXx8bi5CLk1kKT9CZihuKTpELkpHP24uUkIubXV0ZWRBdXRvcGxheSh7ZHVyYXRpb25Nb2RlOkQubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZX0pOmcuWkkoInl0LXBsYXllci1wbGF5YmFjay1vbi1yZWxvYWQiKT8oZy56VSgiZW1iZWRzSXRwUGxheWVkT25SZWxvYWQiLHtwbGF5ZWRPblJlbG9hZDohMCxpc0xvZ2dlZEluOiEhbi5CLlRDfSksZy5QQigieXQtcGxheWVyLXBsYXliYWNrLW9uLXJlbG9hZCIsITEpLEJmKG4pKToKbi5CLlk9PT0ibGVhbmJhY2sifHxuNWoobiksZy5lTShuLkIpfHxnLnNkKG4uQik/KGcuY0IoZy5EeSgpLCgpPT57RlMobil9KSxnLmNCKGcuRHkoKSwoKT0+e3g1KCl9KSk6KEZTKG4pLHg1KCkpKX07CkRlYj1mdW5jdGlvbihuKXt2YXIgVz1EPT57RC5zdGFjayYmRC5zdGFjay5pbmRleE9mKCJwbGF5ZXIiKSE9PS0xJiZuLk1OKCkuVWUoRCl9OwpTaS5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTtLdy5wdXNoKFcpO3JldHVybigpPT57U2kudW5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTt2YXIgRD1Ldy5pbmRleE9mKFcpO0QhPT0tMSYmS3cuc3BsaWNlKEQsMSl9fTsKb1g9ZnVuY3Rpb24obixXLEQsYix2KXtpZihuLmZnJiZELk9WKCkpbj1uZXcgZy53NShuLkIsbi5mZyxXLEQpO2Vsc2V7bGV0IGs9bi5tUTtXPT09MiYmKGs9bmV3IGJjUyhuLkIpKTtXPW5ldyBnLk03KG4sbi5CLFcsayxuLnRlbXBsYXRlLG4udmlzaWJpbGl0eSxuLmlqLEQsdixuLmRoLG4uaTcpO24uQi5adCgpLk4uUVEodjVpKSYmbi5uVChELmNsaWVudFBsYXliYWNrTm9uY2UpO249bmV3IGcuUlgoVyl9YiYmbi5zbSgpO3JldHVybiBufTsKY0VyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5SQi5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7Vz1OdW1iZXIoVy50b0ZpeGVkKDIpKTtuPURbMF07RD1EW0QubGVuZ3RoLTFdO1c8PW4/Vz1uOlc+PUQ/Vz1EOihuPU1hdGguZmxvb3IoVyoxMDArLjAwMSklNSxuIT09MCYmKFctPW4qLjAxLFc9TWF0aC5mbG9vcihXKjEwMCsuMDAxKS8xMDApKTtyZXR1cm4gV307ClZaPWZ1bmN0aW9uKG4pe1FaKG4pO24uc2V0TG9vcFZpZGVvKCExKTtuLnNldExvb3BSYW5nZShudWxsKTtuLlJCLldKKCJsZWdhY3lhZHRyYWNraW5ncGluZ3Jlc2V0Iik7bi5hbD17fTtuLkpWPVtdO1pCaihuLm1RKTtpZihuLlF3KXt2YXIgVz1uLlF3LEQ9bi5jWCgpO0QuZ2V0UGxheWVyVHlwZSgpO0NPKFcsITEpO25KKFcpO2NSYihXKTtXLmdzPUR9Vz1uLnNVO249bi5jWCgpO24uZ2V0UGxheWVyVHlwZSgpIT09MSYmZy5MSihXLCJpbnZhbGlkUGFyZW50VmlkZW9QbGF5ZXJUeXBlIik7REwoVywhMSk7Zy5nNShXKTtXLk49bn07Cmswaj1mdW5jdGlvbihuKXt2YXIgVz1uLm1lZGlhRWxlbWVudDt6aSgpP24ua1YuTk4oVywid2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQiLG4udFcpOndpbmRvdy5kb2N1bWVudC5waWN0dXJlSW5QaWN0dXJlRW5hYmxlZCYmKG4ua1YuTk4oVywiZW50ZXJwaWN0dXJlaW5waWN0dXJlIiwoKT0+e24ucEwoITApfSksbi5rVi5OTihXLCJsZWF2ZXBpY3R1cmVpbnBpY3R1cmUiLCgpPT57bi5wTCghMSl9KSk7Cnc4JiYobi5rVi5OTihXLCJ3ZWJraXRiZWdpbmZ1bGxzY3JlZW4iLCgpPT57bi5GTygzKX0pLG4ua1YuTk4oVywid2Via2l0ZW5kZnVsbHNjcmVlbiIsKCk9PntuLkZPKDApfSkpfTsKekE9ZnVuY3Rpb24obil7bi5tZWRpYUVsZW1lbnQ9bi5CLmRldmljZUlzQXVkaW9Pbmx5P25ldyBnLkdWKGcuekYoIkFVRElPIikpOnFLLnBvcCgpfHxuZXcgZy5HVihnLnpGKCJWSURFTyIpKTtuLkIuWnQoKS5OLlFRKGNmKXx8Zy51KG4sbi5tZWRpYUVsZW1lbnQpO24uTU4oKS5zZXRNZWRpYUVsZW1lbnQobi5tZWRpYUVsZW1lbnQpO3RyeXtuLkIuczU/KG4uR3YmJm4uZXZlbnRzLndIKG4uR3YpLG4uR3Y9bi5ldmVudHMuTk4obi5tZWRpYUVsZW1lbnQsInZvbHVtZWNoYW5nZSIsbi56ZCkpOihuLm1lZGlhRWxlbWVudC5jSihuLkZfLm11dGVkKSxuLm1lZGlhRWxlbWVudC5zZXRWb2x1bWUobi5GXy52b2x1bWUvMTAwKSl9Y2F0Y2godil7bi5LZygiaHRtbDUubWlzc2luZ2FwaSIsMiwiVU5TVVBQT1JURURfREVWSUNFIixgc2V0dm9sdW1lLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09Im9iamVjdCImJiJtZXNzYWdlImluIHYmJnR5cGVvZiB2Lm1lc3NhZ2U9PT0ic3RyaW5nIiYmdi5tZXNzYWdlLnJlcGxhY2UoL1s7OixdL2csCiJfIil9YCk7cmV0dXJufW4ua1YuSigpO2swaihuKTt2YXIgVz1uLnRlbXBsYXRlLEQ9bi5tZWRpYUVsZW1lbnQuZV8oKTtXLm5CPUQ7Vy53Rj0hMTtXLm5CLnBhcmVudE5vZGV8fGcuanAoVy5WUCxXLm5CLDApO1cuRU49bmV3IGcuYnIoMCwwLDAsMCk7WWVpKFcpO1hTKFcpO0Q9Vy5uQjtnLlVJKEQsInZpZGVvLXN0cmVhbSIpO2cuVUkoRCxnLk9uLk1BSU5fVklERU8pO3ZhciBiPVcuYXBwLkcoKTtiLmxRJiZELnNldEF0dHJpYnV0ZSgiZGF0YS1uby1mdWxsc2NyZWVuIiwidHJ1ZSIpO2IueGgmJihELnNldEF0dHJpYnV0ZSgid2Via2l0LXBsYXlzaW5saW5lIiwiIiksRC5zZXRBdHRyaWJ1dGUoInBsYXlzaW5saW5lIiwiIikpO2IuSkcmJlcubkImJlcuTk4oRCwiY2xpY2siLEQucGxheSxEKTt0cnl7bi5tZWRpYUVsZW1lbnQuRCgpfWNhdGNoKHYpe24uS2coImh0bWw1Lm1pc3NpbmdhcGkiLDIsIlVOU1VQUE9SVEVEX0RFVklDRSIsYGFjdGl2YXRlLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09CiJvYmplY3QiJiYibWVzc2FnZSJpbiB2JiZ0eXBlb2Ygdi5tZXNzYWdlPT09InN0cmluZyImJnYubWVzc2FnZS5yZXBsYWNlKC9bOzosXS9nLCJfIil9YCl9fTsKRVo9ZnVuY3Rpb24obixXLEQpe24uUkIuV0ooVyxEKTt2YXIgYj1nLms2KG4uQil8fGcuRGYobi5CKXx8Zy5NVihuLkIpO2lmKEQmJmIpe2xldCB2O3N3aXRjaChXKXtjYXNlICJjdWVyYW5nZW1hcmtlcnN1cGRhdGVkIjp2PSJvbkN1ZVJhbmdlTWFya2Vyc1VwZGF0ZWQiO2JyZWFrO2Nhc2UgImN1ZXJhbmdlc2FkZGVkIjp2PSJvbkN1ZVJhbmdlc0FkZGVkIjticmVhaztjYXNlICJjdWVyYW5nZXNyZW1vdmVkIjp2PSJvbkN1ZVJhbmdlc1JlbW92ZWQifXYmJmcuUlQobi5SQix2LEQubWFwKGs9Pih7Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH0sZW5kOmsuZW5kLGlkOmsuZ2V0SWQoKSxuYW1lc3BhY2U6ay5uYW1lc3BhY2U9PT0iYWQiPyJhZCI6IiIsc3RhcnQ6ay5zdGFydCxzdHlsZTprLnN0eWxlLHZpc2libGU6ay52aXNpYmxlLG1hcmtlclBvc2l0aW9uTXM6ay5tYXJrZXJQb3NpdGlvbk1zfSkpKX19OwpoZDE9ZnVuY3Rpb24obixXPSEwKXt2YXIgRDtpZihEPW4uckgpe0Q9bi5ySDt2YXIgYj1uLm1lZGlhRWxlbWVudDtEPSEhYiYmYj09PUQubWVkaWFFbGVtZW50fUQmJihuLmNQKCksekEobikpO0Q9bi5NTigpO0QuY1AoIVcpO0QuTTkobi5zRixuKTtELmdldFBsYXllclR5cGUoKSE9PTEmJkQuZGlzcG9zZSgpO249bi5WcjtXPVtuLkpdO24uSj1uLmNKO1NzKG4sW10sVyl9OwpueD1mdW5jdGlvbihuLFcsRCxiKXtEJiYobi5jUCgpLHpBKG4pKTtEPW4uTU4oKTtELnhLKFcpO3ZhciB2PW4uZ2V0VmlkZW9EYXRhKCksaz17fTtrLnZpZGVvX2lkPXYudmlkZW9JZDtrLmFkZm9ybWF0PXYuYWRGb3JtYXQ7di5pc0xpdmVQbGF5YmFja3x8KGsuc3RhcnQ9RC5nZXRDdXJyZW50VGltZSgpLGsucmVzdW1lPSIxIik7di5pc0xpdmVQbGF5YmFjayYmSTQodikmJmcuR2wobi5CKSYmKGsubGl2ZV91dGNfc3RhcnQ9RC5oQygpLGsucmVzdW1lPSIxIik7di5EJiYoay52dnQ9di5EKTt2LmtXJiYoay52c3NfY3JlZGVudGlhbHNfdG9rZW49di5rVyxrLnZzc19jcmVkZW50aWFsc190b2tlbl90eXBlPXYuUXYpO3Yub2F1dGhUb2tlbiYmKGsub2F1dGhfdG9rZW49di5vYXV0aFRva2VuKTtrLmF1dG9wbGF5PTE7ay5yZWxvYWRfY291bnQ9di5TJCsxO2sucmVsb2FkX3JlYXNvbj1XO3Yub1QmJihrLnVucGx1Z2dlZF9wYXJ0bmVyX29wdF9vdXQ9di5vVCk7di5MQiYmKGsueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXI9CnYuTEIpO3YucGxheWVyUGFyYW1zJiYoay5wbGF5ZXJfcGFyYW1zPXYucGxheWVyUGFyYW1zKTt2LnR3JiYoay5pdGN0PXYudHcpO24ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGssdm9pZCAwLCEwLHZvaWQgMCx2b2lkIDAsYik7Vz09PSJzaWduYXR1cmUiJiZuLlF3JiZhWChuKX07CkwyTT1mdW5jdGlvbihuKXtpZigheGVyKG4pKXt2YXIgVz1uLmNYKCkuaDUoKTtXJiYoVz1XLmJkKCksVyBpbnN0YW5jZW9mIFByb21pc2UmJlcuY2F0Y2goKCk9Pnt9KSk7CldxKG4sVFgobi5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSl9fTsKeGVyPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXlsaXN0JiYoZy5DTihuLkIpfHxuLkIuWT09PSJiYWNrZ3JvdW5kX2F1ZGlvX3BsYXliYWNrIikmJm4ueGwoKT8obi5uZXh0VmlkZW8oITEsITApLCEwKTohMX07CldxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpLGI9RC5nZXRQbGF5ZXJUeXBlKCk7aWYoYiE9PTJ8fG4uTFkoKSl7aWYoYj09PTImJm4uTFkoKXx8Yj09PTV8fGI9PT02fHxiPT09NylpZihXPT09LTF8fFc9PT0wfHxXPT09NSlyZXR1cm47aWYoVz09PTApe2lmKG4uSE4pcmV0dXJuO2lmKEQuY0coKSYmZy5rNihuLkIpKXtuLnBsYXlWaWRlbygpO3JldHVybn19bi5pdSE9PVcmJihuLml1PVcsZy5WVShuLlJCLCJvblN0YXRlQ2hhbmdlIixXKSl9ZWxzZSBuLkIkIT09VyYmKG4uQiQ9VyxnLlZVKG4uUkIsIm9uQWRTdGF0ZUNoYW5nZSIsVykpfTsKREY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5Wci5WRShXKX07CmcuSVg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5MWShXKT9uLmNYKCk6V307CmJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpO3JldHVybiBXPT09bi5jWCgpJiZuLkxZKFcpJiZuLkxZKEQpP0Q6V307CnZxPWZ1bmN0aW9uKG4pe249R3Uobi54Nik7cmV0dXJuISFuJiZuLmxvYWRlZH07CmVkUz1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpLEQ9bi54NjtWWShEKXx8RC5YKCk7IVVkJiZRWShEKSYmYU1VKEQpO3c5KEQsImVtYmVkIik7dzkoRCwia2lkcyIpO3c5KEQsInJlbW90ZSIpO3c5KEQsIm1pbmlwbGF5ZXIiKTt3OShELCJvZmZsaW5lIik7dzkoRCwidW5wbHVnZ2VkIik7dzkoRCwieXBjIiwhMSwhMCk7dzkoRCwid2ViZ2wiLCExLCEwKTtuRGooRCl8fCh3OShELCJjYXB0aW9ucyIsITApLHc5KEQsImVuZHNjcmVlbiIpLEQuTigpLHc5KEQsImNyZWF0b3JlbmRzY3JlZW4iLCEwKSk7RC5ZKCk7RC5BLldKKCJtb2R1bGVzQ3JlYXRlZCIpO24uUkIuV0ooInZpZGVvcmVhZHkiLFcpfTsKYVg9ZnVuY3Rpb24obil7aWYoIXZxKG4pKXtsZXQgVz1URyhuLng2KTtXJiYhVy5jcmVhdGVkJiZSRyhuLng2KSYmVy5jcmVhdGUoKX19OwpPWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpO2lmKCFXLnlsKXt2YXIgRDtuLkIuZXhwZXJpbWVudHMuRXEoImh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb24iKSYmVy5ob3N0Q3BuJiYoRD1raShuLFcuaG9zdENwbik/LmdldFZpZGVvRGF0YSgpLmhnLmooKSk7Vz1uLkIuczU/MTpyNihXLmhnLEQpO0Q9bi5tZWRpYUVsZW1lbnQ7RC5jSihuLkZfLm11dGVkKTt0cnl7RC5zZXRWb2x1bWUobi5GXy52b2x1bWUqVy8xMDApfWNhdGNoe2cuR3EobmV3IGcuUXgoImIxODM3NDIzMDciLGBtdWx0aXBsaWVyOiAke1d9LCB2b2x1bWU6ICR7bi5GXy52b2x1bWV9YCkpfX19Owp2YXIgSjFaPWZ1bmN0aW9uKCl7cmV0dXJuIGVYW0lbMTBdXSh0aGlzLDY3LDQ4NDkpfTsKQ0o9ZnVuY3Rpb24obil7bj1WUyhuKTtuLk9WKCk7cmV0dXJuIEFEKG4pfTsKbGw9ZnVuY3Rpb24obixXKXt2YXIgRD0oVz9XOlZTKG4pKS5RNztuLm1RLnRpY2soImVwX3ByX3IiKTtpZihEIT1udWxsJiYodUF0KG4ucGxheWxpc3QsRCksbi5sSikpbi5wbGF5bGlzdC5vblJlYWR5KCgpPT57VEEobixXKX0pfTsKVEE9ZnVuY3Rpb24obixXKXt2YXIgRD1nLm80KG4uQikmJiFuLkIuTyxiPUQmJlc/VzppdihuLnBsYXlsaXN0KTtXPUQmJlc/VzpuLmdldFZpZGVvRGF0YSgpO2ImJihXLkd1JiYobi5CLlU1fHxuLkIuTWQpfHwhbi5LSD8oVz1XLlBYLGI9bi56MihiLDEpLFcmJmZKKG4sYikpOmhWKG4sYiwxKSk7Zy5vNChuLkIpJiZuLm1RLnRpY2soImVwX3BfbCIpO24ubEo9ITE7Zy5RVShuLlJCLCJvblBsYXlsaXN0VXBkYXRlIil9OwpCZj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoVy5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4hMTtXPVcuZ2V0VmlkZW9EYXRhKCk7Q0oobikmJm4uQi5NZCYmKHFLLmxlbmd0aCYmbi5zaj8oUGYobix7bXV0ZWQ6ITEsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMSkpOnFLLmxlbmd0aHx8bi5GXy5tdXRlZHx8KFBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpLEtKKG4sITApKSk7Q0oobikmJmcubzQobi5CKSYmVy5tdXRlZEF1dG9wbGF5JiYoUGYobix7bXV0ZWQ6ITAsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMCkpO1cuTjAmJlBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpO3VsKG4sMSxXLCExKTt2YXIgRD1uLmNYKCk7bi5SQi5XSigiaW5pdGlhbGl6aW5nbW9kZSIpO24uUVQoRCk7bi5HMigzKTt2YXIgYjtpZighKGI9IW4uQi5HUykpe2lmKGI9bi5ySCl7Yj1uLnJIO3ZhciB2PW4ubWVkaWFFbGVtZW50OwpiPSEhdiYmdj09PWIubWVkaWFFbGVtZW50fWI9YiYmbi5hQ31iJiYobi5jUCgpLHpBKG4pLEQuc2V0TWVkaWFFbGVtZW50KG4ubWVkaWFFbGVtZW50KSk7RC5uTCgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCkpcmV0dXJuITE7Vy5EdHx8V3EobiwzKTtyZXR1cm4gbi5hQz0hMH07Cm41aj1mdW5jdGlvbihuKXtuLlJCLldKKCJpbml0aWFsaXppbmdtb2RlIik7bi5HMigyKTt3OShuLng2LCJyZW1vdGUiKTt3OShuLng2LCJtaW5pcGxheWVyIil9OwpGUz1mdW5jdGlvbihuKXtpZighbi5TKCJ1c2VfcnRhX2Zvcl9wbGF5ZXIiKSlpZihuLlMoImZldGNoX2F0dF9pbmRlcGVuZGVudGx5IikpZy5KYShuLkNOKTtlbHNle3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkuYm90Z3VhcmREYXRhO1cmJmcuekMoVyxuLkIsbi5nZXRWaWRlb0RhdGEoKS5wS3x8IiIpfX07CktKPWZ1bmN0aW9uKG4sVyl7VyE9PW4uc2omJihuLnNqPVcsZy5RVShuLlJCLCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLFcpKX07CnVsPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXhpKG4sVyxEKSxrPW4uVnIuWC5nZXQodil8fG51bGw7aWYoIWspcmV0dXJuIG51bGw7bi5Wci5YLnJlbW92ZSh2KTtpZihrLnFOKCkpcmV0dXJuIG51bGw7aWYoay5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4gay5kaXNwb3NlKCksbnVsbDtpZihrPT09REYobix7cGxheWVyVHlwZTpXfSkpcmV0dXJuIG4ubVEuaW5mb0dlbCh7aXNDYWNoZUhpdDohMH0pLGs7aWYoKGsuZ2V0VmlkZW9EYXRhKCkub2F1dGhUb2tlbnx8RC5vYXV0aFRva2VuKSYmay5nZXRWaWRlb0RhdGEoKS5vYXV0aFRva2VuIT09RC5vYXV0aFRva2VuKXJldHVybiBudWxsO1c9PT0xJiYoVz1uLk1OKCkuZ2V0VmlkZW9EYXRhKCksQUooVykmJlcuaXNBZCgpJiZifHxRWihuKSk7Ynx8bi5RVChrLCEwKTtuLm1RLmluZm9HZWwoe2lzQ2FjaGVIaXQ6ITB9KTtyZXR1cm4ga307CmcuZzVoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKSxEPW4uZ2V0Q3VycmVudFRpbWUoKTtuPW4uZ2V0VmlkZW9EYXRhKCk7RD0xRTMqKEQtbi5zdGFydFNlY29uZHMpO24uaXNMaXZlUGxheWJhY2smJihEPTApO3JldHVybiBXLU1hdGgubWF4KEQsMCl9OwpkYXQ9ZnVuY3Rpb24obixXKXtpZighbi5ITilyZXR1cm4hMTt2YXIgRD1uLkhOLnN0YXJ0VGltZU1zKi4wMDEtMSxiPW4uSE4uZW5kVGltZU1zKi4wMDE7bi5ITi50eXBlPT09InJlcGVhdENoYXB0ZXIiJiZiLS07cmV0dXJuIE1hdGguYWJzKFctRCk8PTFFLTZ8fE1hdGguYWJzKFctYik8PTFFLTZ8fFc+PUQmJlc8PWJ9OwpYUXg9ZnVuY3Rpb24obil7dmFyIFc9bi5NTigpO2lmKG4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIikmJlcuZ2V0VmlkZW9EYXRhKCkuaXNBZCgpPzA6QUooVy5nZXRWaWRlb0RhdGEoKSkmJiFXLklLKCkpVz1BYihuKSoxRTMtbi5nZXRWaWRlb0RhdGEoKS5QTCxuPW4uVGUsaWwobi5hcHAsImdhcGxlc3NzaG9ydHNsb29wcmFuZ2UiKSxXPW5ldyBnLmw1KDAsVyx7aWQ6ImdhcGxlc3Nsb29wcmFuZ2UiLG5hbWVzcGFjZToiZ2FwbGVzc3Nob3J0c2xvb3ByYW5nZSJ9KSwobj1uLmFwcC5NTigpKSYmbi5hZGRDdWVSYW5nZShXKX07Ckcwaj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoIShXLmdldFBsYXllclN0YXRlKCkuTig2NCkmJlZTKG4pLmlzTGl2ZVBsYXliYWNrJiZuLkhOLnN0YXJ0VGltZU1zPDVFMykpe2lmKG4uSE4udHlwZT09PSJyZXBlYXRDaGFwdGVyIil7dmFyIEQ9RCQobi5KNSgpKT8uQjcoKTtsZXQgYj1uLmdldFZpZGVvRGF0YSgpPy5iJDtpZihEIGluc3RhbmNlb2YgcWhTJiZiKXtsZXQgdj0wO2ZvcihsZXQgayBvZiBiKXtpZihrLnN0YXJ0VGltZT5uLkhOLnN0YXJ0VGltZU1zKWJyZWFrO3YrK31ELnJlbmRlckNoYXB0ZXJTZWVraW5nQW5pbWF0aW9uKDAsYlt2PT09MD92OnYtMV0udGl0bGUpfWlzTmFOKE51bWJlcihuLkhOLmxvb3BDb3VudCkpP24uSE4ubG9vcENvdW50PTA6bi5ITi5sb29wQ291bnQrKztuLkhOLmxvb3BDb3VudD09PTEmJmcuUlQobi5SQiwiaW5uZXJ0dWJlQ29tbWFuZCIsbi5nZXRWaWRlb0RhdGEoKS5aTil9RD17cWQ6ImFwcGxpY2F0aW9uX2xvb3BSYW5nZVN0YXJ0In07CmlmKG4uSE4udHlwZT09PSJjbGlwcyJ8fG4uSE4udHlwZT09PSJzaG9ydHNMb29wIilELnNlZWtTb3VyY2U9NTg7Vy5zZWVrVG8obi5ITi5zdGFydFRpbWVNcyouMDAxLEQpfX07ClNhPWZ1bmN0aW9uKG4sVyxEKXtpZihuLkxZKEQpJiYoRD1ELmdldFZpZGVvRGF0YSgpLCFnLkx4KG4pKSl7bj1uLnNVO2Zvcih2YXIgYiBvZiBuLkopaWYoRC5LZj09PWIuS2Ype1crPWIub2EvMUUzO2JyZWFrfWI9Vztmb3IobGV0IHYgb2Ygbi5KKXtpZihELktmPT09di5LZilicmVhaztuPXYub2EvMUUzO2lmKG48VyliKz12LmR1cmF0aW9uTXMvMUUzK24tdi5kSS8xRTM7ZWxzZSBicmVha31yZXR1cm4gYn1yZXR1cm4gV307CmcuTHg9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJiEhbi5Rd307ClFaPWZ1bmN0aW9uKG4peyhuPVRHKG4uSjUoKSkpJiZuLmNyZWF0ZWQmJm4uZGVzdHJveSgpfTsKdHR3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkueWwsRD1uLkIuRHQsYj1uLmlzSW5saW5lKCkmJiFuLmdldFZpZGVvRGF0YSgpLnYxLHY9bi5tZWRpYUVsZW1lbnQ7V3x8RHx8Yj92LmZCKCk6KHYuTEIoKSxQZihuLG4uRl8pKX07CiRlVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5TKCJ3ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5lTShuLkIpfHxuLlMoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5zZChuLkIpfTsKeGk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLms2KG4uQikmJkQudkooKT9gJHtXfV8ke0QudmlkZW9JZH1fJHtELktmfWA6YCR7V31fJHtELnZpZGVvSWR9XyR7RC5LZn1fJHsrRC5pc0F1dG9uYXZ9JHsrRC5WVH1gfTsKcmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcmJm4uQi5MQiYmIW4uZ2V0VmlkZW9EYXRhKCk/LmJhY2tncm91bmRhYmxlPyhuLkZqP24uRmouc3RhcnQoKTpuLlZLKCksITApOiExfTsKc2FpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtpZihXKXRyeXtsZXQgaz1kZWNvZGVVUklDb21wb25lbnQoVyksaD1scChrKTt2YXIgYj1uZXcgQVIobmV3IFM1KFtoXSkpO3ZhciB2PVBHKGIsMzIpO0Q9TnVtYmVyKHZ8fDApfWNhdGNoKGspe24uY1goKS5VKCJnZXRfbHVzdHNfZXJyIix7fSl9cmV0dXJuIER9OwpoVj1mdW5jdGlvbihuLFcsRD0xKXtpZihXLk9WKCkpe3ZhciBiPW9YKG4sRCxXLCExKTtuLmNhbmNlbFBsYXliYWNrKDQsRCk7bi5RVChiKTtiLnNtKCk7RD09PTEmJihuLkcyKDEpLGcubzQobi5CKSYmIVpQKFcpPyhXLmRpc3Bvc2UoKSxuLmNYKCkuZGlzcG9zZSgpKTpuNWoobikpfWVsc2UgVy5kaXNwb3NlKCksKFc9REYobix7cGxheWVyVHlwZTpEfSkpJiZXLmRpc3Bvc2UoKSxQVChWUyhuKSkmJkQ9PT0yJiZuLlNvKCl9OwpOYWI9ZnVuY3Rpb24obixXLEQsYix2KXtXPVFzUyhXLEQsYix2KTsoRD1nLm80KG4uQikmJiFuLkIuTykmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3MiKTtpZihEJiYhbi5aVilEPVZTKG4pLHpicihELFcpLnRoZW4oaz0+e24ubEo9ITA7bGwobixrKX0pOwplbHNlIG4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSk7CmcubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3IiKX07CmtpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9REYobix7cGxheWVyVHlwZToxfSk7aWYoRCl7aWYoRC5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlPT09VylyZXR1cm4gRDtpZigobj1uLlNHLk4pJiZuLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2U9PT1XKXJldHVybiBufXJldHVybiBudWxsfTsKZW89ZnVuY3Rpb24obil7dmFyIFc9c1AoITApO3JldHVybiBXJiYoVz09PW4udGVtcGxhdGUuZWxlbWVudHx8bi5tZWRpYUVsZW1lbnQmJlc9PT1uLm1lZGlhRWxlbWVudC5lXygpKT9XOm51bGx9OwpZaGk9ZnVuY3Rpb24obixXKXt2YXIgRD13aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbjtpZihuLkIudHcmJkQmJkQubG9jayYmKCFnLm9kfHwhcFFqKSlpZihXKXtXPUQudHlwZS5pbmRleE9mKCJwb3J0cmFpdCIpPT09MDtsZXQgYj1uLnRlbXBsYXRlLmdldFZpZGVvQXNwZWN0UmF0aW8oKSx2PVc7YjwxP3Y9ITA6Yj4xJiYodj0hMSk7bi5KUiYmdj09PVd8fChEPUQubG9jayh2PyJwb3J0cmFpdCI6ImxhbmRzY2FwZSIpLEQhPW51bGwmJkQuY2F0Y2goKCk9Pnt9KSxuLkpSPSEwKX1lbHNlIG4uSlImJihuLkpSPSExLEQudW5sb2NrKCkpfTsKSGN0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5VeigpLGI9Vy5oNSgpO2lmKEQmJmImJm42KEQpKXt2YXIgdj1iLmlzVmlldygpP2IubWVkaWFFbGVtZW50OmI7bGV0IGg9Yi5pc1ZpZXcoKT9iLnN0YXJ0OjA7Yj1GZ2IoYikraDt2YXIgaz1MNihELGgsYiwhMCk7bGV0IHg9bmV3IGcuc2codixoLGIsITApO1cubm0oaywhMSwhMCwhMSk7Vy5zZXRNZWRpYUVsZW1lbnQoeCk7az1iKzEwO0Q9TDYoRCxrLEluZmluaXR5LCEwKTt2PW5ldyBnLnNnKHYsayxJbmZpbml0eSwhMSwhMCk7di5ISihEKTtuLlZxPXY7bi5CLldYKCkmJlcuVSgidXNtIix7cG1lOiEwLGNzOmgsY2U6YixuczprfSk7cmV0dXJuITB9cmV0dXJuITF9OwpmNmg9ZnVuY3Rpb24obixXKXtXLmJvdW5kcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBEPVsiZGlzcGxheSIsIm9wYWNpdHkiLCJ2aXNpYmlsaXR5IiwiekluZGV4Il07Zm9yKGxldCBiIG9mIEQpV1tiXT1YbShuLGIpO1cuaGlkZGVuPSEhbi5oaWRkZW59Owp2YXIgU2pVPWZ1bmN0aW9uKCl7cmV0dXJuIFhEW0lbMTBdXSh0aGlzLDQsMzA5NCl9Owp2YXIgSmoyPWZ1bmN0aW9uKG4pe3JldHVybiBuLm5hbWU9PT0iVHlwZUVycm9yIiYmbi5zdGFjay5pbmNsdWRlcygiL3MvcGxheWVyLyIpJiZFeigpPD0xMDV9LGdxPWZ1bmN0aW9uKG4sVyl7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBEPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uaituLlcpKTsKbGV0IGI9TWF0aC5taW4oRCtuLmNvbHVtbnMsbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgpLTE7Zm9yKDtEPD1iO0QrKyluLmFwaS5sb2dWaXNpYmlsaXR5KG4uTltEXS5lbGVtZW50LFcpfX0sWFA9ZnVuY3Rpb24obil7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke24uS31weGA7Cm4ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7bi5LfXB4YDt2YXIgVz1uLnNjcm9sbFBvc2l0aW9uLEQ9bi5jb250YWluZXJXaWR0aC1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aCoobi5qK24uVyk7Zy5pSChuLmVsZW1lbnQsInl0cC1zY3JvbGwtbWluIixXPj0wKTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1tYXgiLFc8PUQpfSxJNlo9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTA7VzxuLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDtXKyspe3ZhciBEPW4uc3VnZ2VzdGlvbkRhdGFbV107CmxldCBrPW4uTltXXTt2YXIgYj1ELnNob3J0Vmlld0NvdW50P0Quc2hvcnRWaWV3Q291bnQ6RC5hdXRob3I7bGV0IGg9RC5NZigpLHg9bi5hcGkuRygpO2lmKGcubzQoeCkmJiF4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciB2PXt9O011KG4uYXBpLFt2XSk7aD1nLkVUKGgsdil9ay5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi10aXRsZSIpO3FsLnRlc3QuY2FsbChxbCxELnRpdGxlKT92LmRpcj0icnRsIjpHZy50ZXN0LmNhbGwoR2csRC50aXRsZSkmJih2LmRpcj0ibHRyIik7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi1hdXRob3IiKTtxbC50ZXN0LmNhbGwocWwsYik/di5kaXI9InJ0bCI6R2cudGVzdC5jYWxsKEdnLGIpJiYodi5kaXI9Imx0ciIpO2sudXBkYXRlKHt2aWV3c19vcl9hdXRob3I6YixkdXJhdGlvbjpELmlzTGl2ZVBsYXliYWNrPyJMaXZlIjpELmxlbmd0aFNlY29uZHM/CmcuSDcoRC5sZW5ndGhTZWNvbmRzKToiIixsaW5rOmgsaG92ZXJfdGl0bGU6RC50aXRsZSx0aXRsZTpELnRpdGxlLGFyaWFfbGFiZWw6RC5hcmlhTGFiZWx8fG51bGwsaXNfbGl2ZTpELmlzTGl2ZVBsYXliYWNrfSk7Yj1ELkdCKCk7ay5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9Yj9gdXJsKCR7Yn0pYDoiIjt4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikmJihuLmFwaS5jcmVhdGVTZXJ2ZXJWZShrLmVsZW1lbnQsayksKEQ9KEQ9RC5zZXNzaW9uRGF0YSkmJkQuaXRjdCkmJm4uYXBpLnNldFRyYWNraW5nUGFyYW1zKGsuZWxlbWVudCxEKSl9Zm9yKDtXPG4uTi5sZW5ndGg7VysrKW4uTltXXS5lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiO1hQKG4pfSxTaFU9ZnVuY3Rpb24obixXLEQpe1cucHJldmVudERlZmF1bHQoKTsKbi5hcGkubG9nQ2xpY2soRCk7Vz1ELmdldEF0dHJpYnV0ZSgiaHJlZiIpO0Q9e307TXUobi5hcGksW0RdKTtXPWcuR0YoRCk/VzpnLkVUKFcsRCk7SkYoVyl9LEFqTT1mdW5jdGlvbihuLFcpe24uQkooInl0cC1lcnJvci1jb250ZW50Iikuc3R5bGUucGFkZGluZ1RvcD0iMHB4IjsKdmFyIEQ9bi5CSigieXRwLWVycm9yLWNvbnRlbnQiKSxiPUQuY2xpZW50SGVpZ2h0O24uTiYmbi5OLnJlc2l6ZShXLFcuaGVpZ2h0LWIpO0Quc3R5bGUucGFkZGluZ1RvcD1gJHsoVy5oZWlnaHQtKG4uTj9uLk4uZWxlbWVudC5jbGllbnRIZWlnaHQ6MCkpLzItYi8yfXB4YH0sSzJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcGkuRygpLGI7ClcucmVhc29uJiYodFYoVy5yZWFzb24pP2I9Zy5iZyhXLnJlYXNvbik6Yj12YyhnLkRwKFcucmVhc29uKSksbi5YKGIsImNvbnRlbnQiKSk7dmFyIHY7Vy5zdWJyZWFzb24mJih0VihXLnN1YnJlYXNvbik/dj1nLmJnKFcuc3VicmVhc29uKTp2PXZjKGcuRHAoVy5zdWJyZWFzb24pKSxuLlgodiwic3VicmVhc29uIikpO2lmKFcucHJvY2VlZEJ1dHRvbiYmVy5wcm9jZWVkQnV0dG9uLmJ1dHRvblJlbmRlcmVyKXtiPW4uQkooInl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uIik7Vz1XLnByb2NlZWRCdXR0b24uYnV0dG9uUmVuZGVyZXI7bGV0IGs9Zy56RigiQSIpO1cudGV4dCYmVy50ZXh0LnNpbXBsZVRleHQmJih2PVcudGV4dC5zaW1wbGVUZXh0LGsudGV4dENvbnRlbnQ9dixtZVUoYix2KXx8RC5EJiYhRC5lbWJlZHNFcnJvckxpbmtzfHwoRD1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy51cmwsVz1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy50YXJnZXQsCkQmJihrLnNldEF0dHJpYnV0ZSgiaHJlZiIsRCksbi5hcGkuY3JlYXRlQ2xpZW50VmUoayxuLDE3ODQyNCksbi5OTihrLCJjbGljayIsaD0+e1NoVShuLGgsayl9KSksVyYmay5zZXRBdHRyaWJ1dGUoInRhcmdldCIsVyksRD1nLnpGKCJESVYiKSxELmFwcGVuZENoaWxkKGspLGIuYXBwZW5kQ2hpbGQoRCkpKX19LHRWPWZ1bmN0aW9uKG4pe2lmKG4ucnVucylmb3IobGV0IFc9MDtXPG4ucnVucy5sZW5ndGg7VysrKWlmKG4ucnVuc1tXXS5uYXZpZ2F0aW9uRW5kcG9pbnQpcmV0dXJuITA7CnJldHVybiExfSxtZVU9ZnVuY3Rpb24obixXKXtuPShufHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkEiKTsKZm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspaWYobltEXS50ZXh0Q29udGVudD09PVcpcmV0dXJuITA7cmV0dXJuITF9LE9jYj1mdW5jdGlvbihuKXt2YXIgVz17fTsKTXUobi5hcGksW1ddKTtuPW4uYXBpLmdldFZpZGVvVXJsKCk7cmV0dXJuIG49Zy5FVChuLFcpfSxQMHQ9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCksRD1uLmFwaS5HKCkuYlYmJiFuLnN0YXRlLk4oMikmJiFuLmFwaS5nZXRWaWRlb0RhdGEoe3BsYXllclR5cGU6MX0pLmlOOwpXLm11dGVkQXV0b3BsYXl8fG4uTUwoRCk7bi5hcGkubG9nVmlzaWJpbGl0eShuLmVsZW1lbnQsRCl9LFVlaj1mdW5jdGlvbihuKXtuLndhdGVybWFya3x8KG4ud2F0ZXJtYXJrPW5ldyBaY3Iobi5hcGkpLGcudShuLG4ud2F0ZXJtYXJrKSxuLndhdGVybWFyay5MdShuLmJvdHRvbUJ1dHRvbnMsMCksZy5pSChuLndhdGVybWFyay5lbGVtZW50LCJ5dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrIiwhMCksbi5OPW5ldyBnLiRpKG4ud2F0ZXJtYXJrLDAsITAsMTAwKSxnLnUobixuLk4pKX0seWpqPWZ1bmN0aW9uKG4pe24uSiYmbi5OJiYobi5OLnNob3coKSxuLlYuc3RhcnQoKSl9LEU1VT1mdW5jdGlvbihuKXtmb3IobGV0IFc9MDtXPDE2OysrVyl7bGV0IEQ9bmV3IGcucnEoe1o6ImEiLApKdzoieXRwLXN1Z2dlc3Rpb24tbGluayIseGE6e2hyZWY6Int7bGlua319Iix0YXJnZXQ6bi5hcGkuRygpLllaLCJhcmlhLWxhYmVsIjoie3thcmlhX2xhYmVsfX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWltYWdlIn0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLW92ZXJsYXkiLHhhOntzdHlsZToie3tibGlua19yZW5kZXJpbmdfaGFja319IiwiYXJpYS1oaWRkZW4iOiJ7e2FyaWFfaGlkZGVufX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLXRpdGxlIixPcToie3t0aXRsZX19In0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWF1dGhvciIsT3E6Int7YXV0aG9yX2FuZF92aWV3c319In0se1o6ImRpdiIseGE6eyJkYXRhLWlzLWxpdmUiOiJ7e2lzX2xpdmV9fSJ9LEp3OiJ5dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbiIsT3E6Int7ZHVyYXRpb259fSJ9XX1dfSk7Zy51KG4sRCk7bGV0IGI9RC5CSigieXRwLXN1Z2dlc3Rpb24tbGluayIpO2cuaDEoYiwKInRyYW5zaXRpb25EZWxheSIsYCR7Vy8yMH1zYCk7bi5qLk5OKGIsImNsaWNrIix2PT57dmFyIGs9VztpZihuLlcpe3ZhciBoPW4uc3VnZ2VzdGlvbkRhdGFba10seD1oLnNlc3Npb25EYXRhO24uSyYmbi5hcGkuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKT8obi5hcGkubG9nQ2xpY2sobi5OW2tdLmVsZW1lbnQpLGs9aC5NZigpLGg9e30sTXUobi5hcGksW2hdKSxrPWcuRVQoayxoKSxSeShrLG4uYXBpLHYpKTpNcCh2LG4uYXBpLG4uSyx4fHx2b2lkIDApJiZuLmFwaS5NMihoLnZpZGVvSWQseCxoLnBsYXlsaXN0SWQpfWVsc2Ugdi5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpfSk7CkQuTHUobi5zdWdnZXN0aW9ucy5lbGVtZW50KTtuLk4ucHVzaChEKTtuLmFwaS5jcmVhdGVTZXJ2ZXJWZShELmVsZW1lbnQsRCl9fSxpY3I9ZnVuY3Rpb24obil7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBXPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uVis4KSk7CmxldCBEPU1hdGgubWluKFcrbi5jb2x1bW5zLG4uc3VnZ2VzdGlvbkRhdGEubGVuZ3RoKS0xO2Zvcig7Vzw9RDtXKyspbi5hcGkubG9nVmlzaWJpbGl0eShuLk5bV10uZWxlbWVudCwhMCl9fSxzNj1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS55WigpPzMyOjE2OwpXPW4uRC8yK1c7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke1d9cHhgO24ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7V31weGA7Vz1uLnNjcm9sbFBvc2l0aW9uO3ZhciBEPW4uY29udGFpbmVyV2lkdGgtbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgqKG4uVis4KTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1taW4iLFc+PTApO2cuaUgobi5lbGVtZW50LCJ5dHAtc2Nyb2xsLW1heCIsVzw9RCl9LG81dz1mdW5jdGlvbihuKXt2YXIgVz1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDsKZm9yKGxldCBrPTA7azxXOysrayl7dmFyIEQ9dm9pZCAwLGI9dm9pZCAwO2xldCBoPXZvaWQgMDtEPW47dmFyIHY9RC5hcGkuRygpO2xldCB4PUQuc3VnZ2VzdGlvbkRhdGFba10sTD1ELk5ba107aD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LnNob3J0Vmlld0NvdW50fHwiIjp4LnNob3J0Vmlld0NvdW50P2Ake3guYXV0aG9yfSBcdTIwMjIgJHt4LnNob3J0Vmlld0NvdW50fWA6eC5hdXRob3I7TC5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7Zy5oMShMLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJpbmxpbmUtYmxvY2siKTt1eWkudGVzdCh4LnRpdGxlKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLXRpdGxlIikuZGlyPSJydGwiKTt1eWkudGVzdChoKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLWF1dGhvciIpLmRpcj0icnRsIik7Yj14LmlzTGl2ZVBsYXliYWNrPyJMaXZlIjp4Lmxlbmd0aFNlY29uZHM/Zy5INyh4Lmxlbmd0aFNlY29uZHMpOiIiO2xldCBlPQp4Lk1mKEQuYXBpLmlzRW1iZWRzU2hvcnRzTW9kZSgpKTtpZihnLm80KHYpJiYhdi5TKCJ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtcyIpKXtsZXQgRz17fTtNdShELmFwaSxbR10pO2U9Zy5FVChlLEcpfXYuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKSYmKHY9KHY9eC5zZXNzaW9uRGF0YSkmJnYuaXRjdCkmJkQuYXBpLnNldFRyYWNraW5nUGFyYW1zKEwuZWxlbWVudCx2KTtMLnVwZGF0ZSh7YXV0aG9yX2FuZF92aWV3czpoLGR1cmF0aW9uOmIsbGluazplLHRpdGxlOngudGl0bGUsYXJpYV9sYWJlbDp4LmFyaWFMYWJlbHx8eC50aXRsZSxpc19saXZlOnguaXNMaXZlUGxheWJhY2ssYXJpYV9oaWRkZW46ISF4LmFyaWFMYWJlbCxibGlua19yZW5kZXJpbmdfaGFjazpnLm9kfHxyYz8id2lsbC1jaGFuZ2U6IG9wYWNpdHkiOnZvaWQgMH0pO2I9TC5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKTsKRD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LkdCKCJocTIuanBnIik6eC5HQigpO2Iuc3R5bGUuYmFja2dyb3VuZEltYWdlPUQ/YHVybCgke0R9KWA6IiJ9aWYoVzwxNilmb3IoO1c8MTY7KytXKWcuaDEobi5OW1ddLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJub25lIik7czYobil9LE5sPWZ1bmN0aW9uKG4pe2lmKCFuLlcpe3ZhciBXPU1hdGgubWluKCgwLGcuUikoKS1uLlYsbi5qKTsKdmFyIEQ9bi5qLVc7Vz1uLmo9PT0wPzA6TWF0aC5tYXgoRC9uLmosMCk7RD1NYXRoLnJvdW5kKEQvMUUzKTtuLlkuc2V0QXR0cmlidXRlKCJzdHJva2UtZGFzaG9mZnNldCIsYCR7LTIxMSooVysxKX1gKTtuLnVwZGF0ZVZhbHVlKCJkdXJhdGlvbiIsRCk7Vzw9MCYmbi5OP24uc3RvcFRpbWVyKCk6bi5OJiZuLk4uc3RhcnQoKX19LGRleD1mdW5jdGlvbihuKXtuLk58fChuLmo9NUUzLG4uVj0oMCxnLlIpKCksbi5OPW5ldyBnLnBfKCgpPT57Tmwobil9LG51bGwpLE5sKG4pKX0scHg9ZnVuY3Rpb24obil7dmFyIFc9bi5BOwpuPSEhVy5pc0VtYmVkc1Nob3J0c01vZGUoKTtnLmlIKFcuZ2V0Um9vdE5vZGUoKSwieXRwLXNob3J0cy1tb2RlIixuKTtpZihXPVcuZ2V0VmlkZW9EYXRhKCkpVy5TYT1ufSxUYXg9ZnVuY3Rpb24obil7e3ZhciBXPW4uQTsKbGV0IEQ9Vy5HKCk7RC5XaSYmIUQuRCYmZy5vNChEKT9XLmlzRW1iZWRzU2hvcnRzTW9kZSgpPyhXPVcuRTQoKSxXPU1hdGgubWluKFcud2lkdGgsVy5oZWlnaHQpPj0zMTUpOlc9IVcuejYoKTpXPSExfVchPT1uLkQmJihuLkQ9VyxuLmomJihuLmouZGlzcG9zZSgpLG4uaj1udWxsKSxuLlcmJihuLlcuZGlzcG9zZSgpLG4uVz1udWxsKSxuLlgmJihuLlguZGlzcG9zZSgpLG4uWD1udWxsKSxuLkomJihuLkouc3RvcCgpLG4uSi5kaXNwb3NlKCksbi5KPW51bGwpLFcmJihnLmI1KG4uQSksbi5BLmlzRW1iZWRzU2hvcnRzTW9kZSgpJiYobi5YPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1iYWNrZHJvcCIseGE6e3RhYkluZGV4OiItMSJ9fSksZy51KG4sbi5YKSxnLnJ2KG4uQSxuLlguZWxlbWVudCw0KSxuLko9bmV3IGcuJGkobi5YLDFFMywhMSwxMDApLGcudShuLG4uSiksbi5YLmhpZGUoKSksbi5qPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1jb250YWluZXIiLAp4YTp7dGFiSW5kZXg6Ii0xIn19KSxnLnUobixuLmopLG4uVz1uZXcgemRVKG4uQSksZy51KG4sbi5XKSxuLlcuTHUobi5qLmVsZW1lbnQpLGcucnYobi5BLG4uai5lbGVtZW50LDQpLGw2QyhuLG4uQS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSkpfSxsNkM9ZnVuY3Rpb24obixXKXtuLkomJighVy5OKDQpJiYhVy5OKDIpfHxXLk4oMTAyNCk/bi5KLmhpZGUoKTpuLkouc2hvdygpKX0sWWk9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkEuRygpOwpuPXthZFNvdXJjZToiRU1CRURTX0FEX1NPVVJDRV9ZT1VUVUJFIixicmVha1R5cGU6bi5BLmdldEN1cnJlbnRUaW1lKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QUkVfUk9MTCI6bi5BLmdldFBsYXllclN0YXRlKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QT1NUX1JPTEwiOiJFTUJFRFNfQURfQlJFQUtfVFlQRV9NSURfUk9MTCIsZW1iZWRVcmw6QUEobi5BLkcoKS5sb2FkZXJVcmwpLGV2ZW50VHlwZTpXLHlvdXR1YmVIb3N0OmcuSVAobi5BLkcoKS5EYSl8fCIifTtuLmVtYmVkZGVkUGxheWVyTW9kZT1ELmNKO2cuelUoImVtYmVkc0FkRXZlbnQiLG4pfSxudD1bXSxEaXg9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihuKXtmdW5jdGlvbiBXKCl7fQpXLnByb3RvdHlwZT1uO3JldHVybiBuZXcgV30sV1NDPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24obixXLEQpe2lmKG49PUFycmF5LnByb3RvdHlwZXx8bj09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gbjsKbltXXT1ELnZhbHVlO3JldHVybiBufSx4Mj1nbG9iYWxUaGlzLHZaPSJJbnQ4IFVpbnQ4IFVpbnQ4Q2xhbXBlZCBJbnQxNiBVaW50MTYgSW50MzIgVWludDMyIEZsb2F0MzIgRmxvYXQ2NCIuc3BsaXQoIiAiKTsKeDIuQmlnSW50NjRBcnJheSYmKHZaLnB1c2goIkJpZ0ludDY0IiksdloucHVzaCgiQmlnVWludDY0IikpO3ZhciBidFM9T2JqZWN0LnNldFByb3RvdHlwZU9mO2hpKCJTeW1ib2wuZGlzcG9zZSIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjpTeW1ib2woIlN5bWJvbC5kaXNwb3NlIil9KTsKaGkoIlN1cHByZXNzZWRFcnJvciIsZnVuY3Rpb24obil7ZnVuY3Rpb24gVyhELGIsdil7aWYoISh0aGlzIGluc3RhbmNlb2YgVykpcmV0dXJuIG5ldyBXKEQsYix2KTt2PUVycm9yKHYpOyJzdGFjayJpbiB2JiYodGhpcy5zdGFjaz12LnN0YWNrKTt0aGlzLm1lc3NhZ2U9di5tZXNzYWdlO3RoaXMuZXJyb3I9RDt0aGlzLnN1cHByZXNzZWQ9Yn0KaWYobilyZXR1cm4gbjt2MkMoVyxFcnJvcik7Vy5wcm90b3R5cGUubmFtZT0iU3VwcHJlc3NlZEVycm9yIjtyZXR1cm4gV30pOwpoaSgiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsIixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmZ1bmN0aW9uKFcsRCl7aWYoVyBpbnN0YW5jZW9mIFJlZ0V4cCYmIVcuZ2xvYmFsKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCBjYWxsZWQgd2l0aCBhIG5vbi1nbG9iYWwgUmVnRXhwIGFyZ3VtZW50LiIpO3JldHVybiBXIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShXLEQpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhXKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxEKX19KTsKaGkoIkFycmF5LnByb3RvdHlwZS5hdCIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjplVX0pOwpuMncoImF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJTdHJpbmcucHJvdG90eXBlLmF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJQcm9taXNlLndpdGhSZXNvbHZlcnMiLGZ1bmN0aW9uKG4pe3JldHVybiBuP246ZnVuY3Rpb24oKXt2YXIgVyxEO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGIsdil7Vz1iO0Q9dn0pLApyZXNvbHZlOlcscmVqZWN0OkR9fX0pO3ZhciBjSixTVSxrYnQ7Y0o9Y0p8fHt9O2cucWk9dGhpc3x8c2VsZjtTVT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtrYnQ9MDt2YXIgZV93PWNsYXNze2NvbnN0cnVjdG9yKHt1cmw6bixadjpXfSl7dGhpcy5KPW47dGhpcy5YPVc7dGhpcy5XPShuZXcgRGF0ZSkuZ2V0VGltZSgpLTE3MDQwNjcyRTU7dGhpcy5OPXt9O2Zvcih2YXIgRD0vWz8mXShbXiY9XSspPShbXiZdKikvZztXPUQuZXhlYyhuKTspdGhpcy5OW1dbMV1dPVdbMl19fTtnLml4KGcuVGIsRXJyb3IpO2cuVGIucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjt2YXIgSWg7dmFyIE5yaD0vJi9nLHBadz0vPC9nLFl3aT0vPi9nLEh0VT0vIi9nLGYxUz0vJy9nLEppWj0vXHgwMC9nLHNDaD0vW1x4MDAmPD4iJ10vO3ZhciBuYj1nbG9iYWxUaGlzLnRydXN0ZWRUeXBlcyxXTTt2YXIgYl89Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07Zy5laj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk59fTtnLlY1PW5ldyBnLmVqKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO3ZhciBYSSxnMmo7WEk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5PVj1ufX07Zy5HND1bcVUoImRhdGEiKSxxVSgiaHR0cCIpLHFVKCJodHRwcyIpLHFVKCJtYWlsdG8iKSxxVSgiZnRwIiksbmV3IFhJKG49Pi9eW146XSooWy8/I118JCkvLnRlc3QobikpXTsKZzJqPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7Zy5ZMz1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk4rIiJ9fTt2YXIgQUY9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07dmFyIFo0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19O3ZhciBMcD17fTt2YXIgQWlyLG1pMTtBaXI9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtnLno1PS8jfCQvO21pMT0vWz8mXSgkfCMpLzt2YXIgUUc9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihuLFcsRD1FcnJvcigpKXtzdXBlcigpO3RoaXMuY29kZT1uO1crPSI6IjtEIGluc3RhbmNlb2YgRXJyb3I/KHRoaXMubWVzc2FnZT1XK0QubWVzc2FnZSx0aGlzLnN0YWNrPUQuc3RhY2t8fCIiKToodGhpcy5tZXNzYWdlPVcrU3RyaW5nKEQpLHRoaXMuc3RhY2s9IiIpO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O2cuRk0ucHJvdG90eXBlLkhEPSExO2cuRk0ucHJvdG90eXBlLnFOPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSER9OwpnLkZNLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5IRHx8KHRoaXMuSEQ9ITAsdGhpcy5tQSgpKX07CmcuRk0ucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTsKZy5GTS5wcm90b3R5cGUuYWRkT25EaXNwb3NlQ2FsbGJhY2s9ZnVuY3Rpb24obixXKXt0aGlzLkhEP1chPT12b2lkIDA/bi5jYWxsKFcpOm4oKToodGhpcy5CVnx8KHRoaXMuQlY9W10pLFcmJihuPW4uYmluZChXKSksdGhpcy5CVi5wdXNoKG4pKX07CmcuRk0ucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7aWYodGhpcy5CVilmb3IoO3RoaXMuQlYubGVuZ3RoOyl0aGlzLkJWLnNoaWZ0KCkoKX07dmFyIFB4Uz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLndwYz1ufUgkKCl7cmV0dXJuIHRoaXMud3BjLmYoKX15aChuKXt0aGlzLndwYy5jKG4pfVcobil7cmV0dXJuIHRoaXMud3BjLm0oUlAobikpfVpSKG4pe3JldHVybiB0aGlzLndwYy5td3MoUlAobikpfX0sd1Q9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5PMT1uO3RoaXMuVz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTsKdGhpcy5KPXZvaWQgMDt0aGlzLk92PXRoaXMuTzEucDt0aGlzLlg9dGhpcy5TMS5iaW5kKHRoaXMpO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgT3RpKHRoaXMpKX1zbmFwc2hvdChuKXtyZXR1cm4gdGhpcy5PMS5zKHsuLi4obi53XyYme2M6bi53X30pLAouLi4obi5HbCYme3M6bi5HbH0pLC4uLihuLk1PIT09dm9pZCAwJiZ7cDpuLk1PfSl9KX1TMShuKXt0aGlzLk8xLmUobil9UUQoKXtyZXR1cm4gdGhpcy5PMS5sKCl9fTt2YXIgamExPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5iZD0xfXNoYXJlKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJFOkFEIik7dGhpcy5iZCsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuYmR8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciBDMHg9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsYnAoIm1rIikpfWRFKG4sVyl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvZnJzIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiKX19LEJhaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLko9bjtFdShuLCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIixicCgibW4iKSxEWCgiYWMiKSxEWCgic2MiKSxicCgicmsiKSxicCgibWsiKSl9ZEUobixXLEQsYix2LGspe3RoaXMuSi5kRSgiL2NsaWVudF9zdHJlYW16L2JnL3dybCIsbixXLEQsYix2LGspfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy93cmwiKX19LEYyWj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLGJwKCJlbiIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLApuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lYyIpfX0sd1FyPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuSj1uO0V1KG4sIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYnAoImVuIiksYnAoIm1rIikpfWRFKG4sVyxEKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0sTXQxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLERYKCJlYyIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LFJkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIixEWCgiY3MiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywKIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0sUWF4PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixicCgiYXYiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LFZ0aT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsYnAoInN1IiksYnAoIm1rIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxjang9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwKIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixicCgibWsiKSl9ZEUobixXKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIil9fSxhNnc9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGJwKCJldCIpLGJwKCJtayIpKX1kRShuLFcsRCl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9uIil9fTt2YXIgY1c9ITAsVjEsdjI7dmFyIEhxO0hxPU5pKDEsITApO2cucXg9TmkoNjEwNDAxMzAxLCExKTtOaSg4OTk1ODg0MzcsITEpO05pKDc3MjY1Nzc2OCwhMCk7TmkoNTEzNjU5NTIzLCExKTtOaSg1NjgzMzM5NDUsITApO05pKDEzMzE3NjE0MDMsITApO05pKDY1MTE3NTgyOCwhMSk7TmkoNzIyNzY0NTQyLCExKTtOaSg3NDg0MDIxNDUsITEpO05pKDc0ODQwMjE0NiwhMSk7dmFyIEF2PU5pKDc0ODQwMjE0NywhMCk7TmkoMTYwMjYxMzE4NSwhMSk7TmkoODYxMzc3NzIzLCExKTtOaSg4NjEzNzc3MjQsSHEpO05pKDg2OTMzNjkwMywhMSk7TmkoODgyNjc0NTA3LCExKTtOaSg4NjkzMzY5MDQsSHEpO05pKDg2OTMzNjkwNSxIcSk7TmkoMjgzOTUzMTU1LCExKTtOaSg5MTk0NDQ4MjQsITEpO05pKDkzMTQ2ODA0NywhMSk7TmkoOTI4ODc1Mzk4LCExKTtOaSg2ODM3NDkyMDEsITEpO05pKDIxNDc0ODM2NDQsITEpO05pKDIxNDc0ODM2NDUsITEpO05pKDIxNDc0ODM2NDYsSHEpO05pKDIxNDc0ODM2NDcsITApO2cuR2g9ISFnLnJyKCJ5dC5jb25maWdfLkVYUEVSSU1FTlRTX0ZMQUdTLmh0bWw1X2VuYWJsZV9jbGllbnRfaGludHNfb3ZlcnJpZGUiKTt2YXIgbnpiO256Yj1nLnFpLm5hdmlnYXRvcjtnLnQ0PW56Yj9uemIudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO2cuT0FbIiAiXT1mdW5jdGlvbigpe307dmFyIHJjLG5yLHBRaixXVVosRDRpLGJpVSxYdyxmeDtyYz1OeCgpO2cua2g9c0EoKT8hMTpnLnJXKCJUcmlkZW50Iil8fGcuclcoIk1TSUUiKTtnLlJnPWcuclcoIkVkZ2UiKTtnLnNtPWcuUmd8fGcua2g7Zy5lUz1nLnJXKCJHZWNrbyIpJiYhKGcud3IoZy5YUSgpLCJXZWJLaXQiKSYmIWcuclcoIkVkZ2UiKSkmJiEoZy5yVygiVHJpZGVudCIpfHxnLnJXKCJNU0lFIikpJiYhZy5yVygiRWRnZSIpO2cuWmw9Zy53cihnLlhRKCksIldlYktpdCIpJiYhZy5yVygiRWRnZSIpO25yPWcubXgoKTtwUWo9Zy5LMCgpO2cuUUg9Zy5JMigpO1dVWj1TdSgpO0Q0aT1nLnJXKCJpUGFkIik7YmlVPWcuclcoImlQb2QiKTtYdz1nLkE0KCk7Zy5XWD1nLndyKGcuWFEoKSwiS2FpT1MiKTsKYTp7bGV0IG49IiIsVz1mdW5jdGlvbigpe3ZhciBEPWcuWFEoKTtpZihnLmVTKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoRCk7aWYoZy5SZylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKEQpO2lmKGcua2gpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKEQpO2lmKGcuWmwpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoRCk7aWYocmMpcmV0dXJuLyg/OlZlcnNpb24pWyBcL10/KFxTKykvLmV4ZWMoRCl9KCk7ClcmJihuPVc/V1sxXToiIik7aWYoZy5raCl7dmFyIEpWO2xldCBEPWcucWkuZG9jdW1lbnQ7SlY9RD9ELmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoSlYhPW51bGwmJkpWPnBhcnNlRmxvYXQobikpe2Z4PVN0cmluZyhKVik7YnJlYWsgYX19Zng9bn12YXIgUDI9ZngsaXR4PXt9O3ZhciB3OCxNWDtnLmFvPXAwKCk7dzg9U3UoKXx8Zy5yVygiaVBvZCIpO01YPWcuclcoImlQYWQiKTtnLkltPWcuclcoIkFuZHJvaWQiKSYmIShZSygpfHxwMCgpfHxOeCgpfHxnLnJXKCJTaWxrIikpO2cub2Q9WUsoKTtnLkduPWcuSDIoKSYmIWcuQTQoKTt2YXIgeWw9e30sVGg9bnVsbDt2YXIganU9L1stXy5dL2csZGlVPXsiLSI6IisiLF86Ii8iLCIuIjoiPSJ9LHdXPXt9O3ZhciBGUT1jbGFzc3tpc0VtcHR5KCl7cmV0dXJuIHRoaXMuTj09bnVsbH1zaXplQnl0ZXMoKXt2YXIgbj1RbCh0aGlzKTtyZXR1cm4gbj9uLmxlbmd0aDowfWNvbnN0cnVjdG9yKG4sVyl7UjIoVyk7dGhpcy5OPW47aWYobiE9bnVsbCYmbi5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJCeXRlU3RyaW5nIHNob3VsZCBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vbi1lbXB0eSB2YWx1ZXMiKTt9fSxCMjt2YXIgYTI9dm9pZCAwO3ZhciBiND1XOSgiamFzIiwhMCksTG49VzkoKSxrOT1XOSgpLExHPVc5KCksUk1iPVc5KCksUUNpPVc5KCksRzRTPVc5KCksRFVpPVc5KCksdkg9VzkoIm1fbSIsITApLGNpVT1XOSgpLHFFPVc5KCk7Wy4uLk9iamVjdC52YWx1ZXMoe014OjEsRVk6MixHTDo0LFltOjgsalo6MTYsVFQ6MzIsUFE6NjQsTng6MTI4LGZoOjI1NixhTjo1MTIsYVU6MTAyNCxQbToyMDQ4LHI0OjQwOTYsYU86ODE5Mn0pXTt2YXIgenosdnp4PVtdO3Z6eFtiNF09Nzt6ej1PYmplY3QuZnJlZXplKHZ6eCk7dmFyIGt2PXt9LERCPXt9LEckPU9iamVjdC5mcmVlemUoe30pLFNvPXt9LHhVPXt9O3ZhciBZbyx3V2osa0N4O2cudF89cTMobj0+dHlwZW9mIG49PT0ibnVtYmVyIik7CmcuRzk9cTMobj0+dHlwZW9mIG49PT0ic3RyaW5nIik7CllvPXEzKG49Pm4hPW51bGwmJnR5cGVvZiBuPT09Im9iamVjdCImJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iKTsKd1dqPXEzKG49PnR5cGVvZiBuPT09ImZ1bmN0aW9uIik7CmtDeD1xMyhuPT4hIW4mJih0eXBlb2Ygbj09PSJvYmplY3QifHx0eXBlb2Ygbj09PSJmdW5jdGlvbiIpKTt2YXIgc0s9cTMobj0+bj49aDNqJiZuPD14NGopLGgzaj1CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpLHg0aj1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO3ZhciByWj0wLHNfPTAsR3Y7dmFyIGRaPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwLEJyaD10eXBlb2YgQmlnSW50PT09ImZ1bmN0aW9uIj9CaWdJbnQuYXNVaW50Tjp2b2lkIDAsalg9TnVtYmVyLmlzU2FmZUludGVnZXIsUDk9TnVtYmVyLmlzRmluaXRlLFQ5PU1hdGgudHJ1bmMsbDEyPS9eLT8oWzEtOV1bMC05XSp8MCkoXC5bMC05XSspPyQvO3ZhciBhMVU9e307dmFyIFhGPWNsYXNze30sTVVpPXtKUzohMH07dmFyICR2O3ZhciBISCxmRzt2YXIgdjNpPWcuJFUoMCksZm49e307dmFyIE9WPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmJ1ZmZlcj1uO2lmKEQmJiFXKXRocm93IEVycm9yKCk7dGhpcy5OPVd9fTt2YXIgTFVyPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIpe3RoaXMuSj1udWxsO3RoaXMuVj0hMTt0aGlzLmo9bnVsbDt0aGlzLk49dGhpcy5XPXRoaXMuWD0wO3RoaXMuaW5pdChuLFcsRCxiKX1pbml0KG4sVyxELHtuXzpiPSExLGhCOnY9ITF9PXt9KXt0aGlzLm5fPWI7dGhpcy5oQj12O24mJihuPVBXKG4sdGhpcy5oQiksdGhpcy5KPW4uYnVmZmVyLHRoaXMuVj1uLk4sdGhpcy5qPW51bGwsdGhpcy5YPVd8fDAsdGhpcy5XPUQhPT12b2lkIDA/dGhpcy5YK0Q6dGhpcy5KLmxlbmd0aCx0aGlzLk49dGhpcy5YKX1mcmVlKCl7dGhpcy5jbGVhcigpO0FWLmxlbmd0aDwxMDAmJkFWLnB1c2godGhpcyl9Y2xlYXIoKXt0aGlzLko9bnVsbDt0aGlzLlY9ITE7dGhpcy5qPW51bGw7dGhpcy5OPXRoaXMuVz10aGlzLlg9MDt0aGlzLm5fPSExfXJlc2V0KCl7dGhpcy5OPXRoaXMuWH19LEFWPVtdO3ZhciBSWT0wLGhCUz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiKXtpZihBVi5sZW5ndGgpe2xldCB2PUFWLnBvcCgpO3YuaW5pdChuLFcsRCxiKTtuPXZ9ZWxzZSBuPW5ldyBMVXIobixXLEQsYik7dGhpcy5OPW47dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTE7akUodGhpcyxiKX1mcmVlKCl7dGhpcy5OLmNsZWFyKCk7dGhpcy5KPXRoaXMuVz0tMTtUJC5sZW5ndGg8MTAwJiZUJC5wdXNoKHRoaXMpfXJlc2V0KCl7dGhpcy5OLnJlc2V0KCk7dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTF9fSxUJD1bXTt2YXIgZTNyPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoU28hPT1Tbyl0aHJvdyBFcnJvcigpO319O3ZhciB2eT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxoMyxlQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxnRyxyRyxOZixwaCwkbSx0MyxxZixHUzt2YXIgZ3pNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLk4ubGVuZ3RofWVuZCgpe3ZhciBuPXRoaXMuTjt0aGlzLk49W107cmV0dXJuIG59fTt2YXIgWCQyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPVtdO3RoaXMuSj0wO3RoaXMuTj1uZXcgZ3pNfX07dmFyIGxHLHEzWixtNyxHQzIsdDJoLCQ0aSxyWEMsUHEsc2YyLE5NVSxwJFU7bEc9b3goKTtxM1o9b3goKTttNz1veCgpO2cuS3g9b3goKTtHQzI9b3goKTt0Mmg9b3goKTskNGk9b3goKTtnLk82PW94KCk7clhDPW94KCk7UHE9b3goKTtzZjI9b3goKTtnLlpGPW94KCk7Tk1VPW94KCk7cCRVPW94KCk7Zy5RbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5sOT1KdihuLFcsRCwyMDQ4KX10b0pTT04oKXtyZXR1cm4gWXYodGhpcyl9Ylkobil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFl2KHRoaXMsbikpfWNsb25lKCl7dmFyIG49dGhpcy5sOSxXPW5bYjRdfDA7cmV0dXJuIEtHKHRoaXMsbixXKT9PSyh0aGlzLG4sITApOm5ldyB0aGlzLmNvbnN0cnVjdG9yKG1fKG4sVywhMSkpfX07Zy5RbS5wcm90b3R5cGVbdkhdPWt2O2cuUW0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubDkudG9TdHJpbmcoKX07dmFyIHpTPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmNqPW47dGhpcy5Qaj1XO249RXcobEcpO3RoaXMuTj0hIW4mJkQ9PT1ufHwhMX19LExjdD1UUyhmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7UTEobixoUyhXLGIsRCksdik7cmV0dXJuITB9LENoKSxlQnQ9VFMoZnVuY3Rpb24obixXLEQsYix2KXtpZihuLkohPT0yKXJldHVybiExOwpRMShuLGhTKFcsYixEKSx2KTtyZXR1cm4hMH0sQ2gpLHZPPVN5bWJvbCgpLGN5PVN5bWJvbCgpLFdPPVN5bWJvbCgpLHhuPVN5bWJvbCgpLEQ4PVN5bWJvbCgpLEJ5LEZ0O3ZhciBTNixVNix5cCxZM0MsaVUsSGl3LGZxdyx1VSx6ZyxsVSxUZyxqbyxKWFMsSXFqO1M2PShuLFcpPT57dmFyIEQ9bmV3IFgkMjtMOChuLmw5LEQsd0codk8sYjYsa24sVykpO0EzKEQsRC5OLmVuZCgpKTtuPW5ldyBVaW50OEFycmF5KEQuSik7Vz1ELlc7dmFyIGI9Vy5sZW5ndGgsdj0wO2ZvcihsZXQgaz0wO2s8YjtrKyspe2xldCBoPVdba107bi5zZXQoaCx2KTt2Kz1oLmxlbmd0aH1ELlc9W25dO3JldHVybiBufTsKVTY9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxnLmRlKG4uTikpO3JldHVybiEwfSxnLnQ5LGcuWkYpOwp5cD1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO3ZhciBiPXVhKG4uTik7bj0oYj4+MzEpKjIrMTt2YXIgdj1iPj4+MjMmMjU1O2ImPTgzODg2MDc7Zy5xWShXLEQsdj09MjU1P2I/TmFOOm4qSW5maW5pdHk6dj09MD9uKjEuNDAxMjk4NDY0MzI0ODE3RS00NSpiOm4qTWF0aC5wb3coMix2LTE1MCkqKGIrODM4ODYwOCkpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1tMChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixEPUd2fHwoR3Y9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLEQuc2V0RmxvYXQzMigwLCtXLCEwKSxzXz0wLHJaPUQuZ2V0VWludDMyKDAsITApLEozKG4sclopKX0sc2YyKTsKZy5FNj1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtuLkohPT0wP249ITE6KGcucVkoVyxELGcuVVYobi5OLGcuSl8pKSxuPSEwKTtyZXR1cm4gbn0sZy4kbixnLk82KTsKWTNDPWcuZ1EoZnVuY3Rpb24obixXLEQpe24uSiE9PTA/bj0hMTooZy5xWShXLEQsZy5VVihuLk4sZjUpKSxuPSEwKTtyZXR1cm4gbn0sZnVuY3Rpb24obixXLEQpe1c9YTAoVyk7CmlmKFchPW51bGwmJihQeShXKSxXIT1udWxsKSlzd2l0Y2gobTQobixELDApLHR5cGVvZiBXKXtjYXNlICJudW1iZXIiOm49bi5OO3A1KFcpO0h5KG4sclosc18pO2JyZWFrO2Nhc2UgImJpZ2ludCI6RD1ZbShXLHZ5LGttKTtIeShuLk4sRC5KLEQuTik7YnJlYWs7ZGVmYXVsdDpEPXhtKFcpLEh5KG4uTixELkosRC5OKX19LHJYQyk7CmlVPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pKTtyZXR1cm4hMH0sZy5yUSxnLkt4KTsKSGl3PWcuZ1EoZnVuY3Rpb24obixXLEQpe3JldHVybiBKOShuLFcsRCl9LGZ1bmN0aW9uKG4sVyxEKXtXPWEwKFcpOwppZihXIT1udWxsKXN3aXRjaCh1RyhXKSxtNChuLEQsMSksbj1uLk4sdUcoVyksdHlwZW9mIFcpe2Nhc2UgIm51bWJlciI6VzwwPyhXPUxoKGttKC1XKSksRD1XLk4sSjMobixXLkopLEozKG4sRCkpOihOMyhXKSxKMyhuLHJaKSxKMyhuLHNfKSk7YnJlYWs7Y2FzZSAiYmlnaW50IjpXPVc8QmlnSW50KDApP0xoKFltKC1XLHZ5LGttKSk6WW0oVyx2eSxrbSk7RD1XLk47SjMobixXLkopO0ozKG4sRCk7YnJlYWs7ZGVmYXVsdDpXPVcubGVuZ3RoJiZXWzBdPT09Ii0iP0xoKHhtKFcuc3Vic3RyaW5nKDEpKSk6eG0oVyksRD1XLk4sSjMobixXLkopLEozKG4sRCl9fSxQcSk7CmZxdz1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO2cucVkoVyxELHVhKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz11NChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxKMyhuLk4sVykpfSx0MmgpOwp1VT1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wKXJldHVybiExO2cucVkoVyxELHkxKG4uTikpO3JldHVybiEwfSxzZixxM1opOwpnLm9tPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7Zy5xWShXLEQsYVkobikpO3JldHVybiEwfSxOWSxtNyk7CmcuZHE9ZnVuY3Rpb24obixXLEQ9bEcpe3JldHVybiBuZXcgelMobixXLEQpfShmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7CmI9U1codm9pZCAwLGIpO2NIKFcsV1tiNF18MCxEKS5wdXNoKGIpO1ExKG4sYix2KTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylwOChuLFdba10sRCxiLHYpOwpuPVdbYjRdfDA7biYxfHwoV1tiNF09bnwxKX19KTsKemc9VFMoZnVuY3Rpb24obixXLEQsYix2LGspe2lmKG4uSiE9PTIpcmV0dXJuITE7dmFyIGg9V1tiNF18MDtXVyhXLGgsayxELEw1KGgpKTtXPWhTKFcsYixEKTtRMShuLFcsdik7cmV0dXJuITB9LHA4KTsKbFU9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MilyZXR1cm4hMTtnLnFZKFcsRCxEOShuKSk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPW5HKFcpOwpXIT1udWxsJiZpRyhuLEQsUFcoVywhMCkuYnVmZmVyKX0sTk1VKTsKVGc9WGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1EOShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYobkcsVywhMSk7CmlmKFchPW51bGwpZm9yKGxldCBoPTA7aDxXLmxlbmd0aDtoKyspe3ZhciBiPW4sdj1ELGs9V1toXTtrIT1udWxsJiZpRyhiLHYsUFcoaywhMCkuYnVmZmVyKX19LE5NVSk7CmpvPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pPj4+MCk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPXU0KFcpOwpXIT1udWxsJiZXIT1udWxsJiYobTQobixELDApLEl4KG4uTixXKSl9LEdDMik7CmcuQ3g9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MClyZXR1cm4hMTtnLnFZKFcsRCxnLkVWKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7RXMobixELEVfKFcpKX0scCRVKTsKSlhTPVhmKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wJiZuLkohPT0yKXJldHVybiExO1c9Y0goVyxXW2I0XXwwLEQpO24uSj09Mj9iRyhuLGs0MixXKTpXLnB1c2goZy5FVihuLk4pKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoRV8sVywhMCk7CmlmKFchPW51bGwpZm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspRXMobixELFdbYl0pfSxwJFUpOwpJcWo9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09NSlyZXR1cm4hMTtuPW4uTjt2YXIgYj1uLkosdj1uLk4saz1iW3YrMF0saD1iW3YrMV0seD1iW3YrMl07Yj1iW3YrM107aWEobiw0KTtnLnFZKFcsRCxrPDwwfGg8PDh8eDw8MTZ8Yjw8MjQpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1FXyhXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixuLk4ucHVzaChXPj4+MCYyNTUpLG4uTi5wdXNoKFc+Pj44JjI1NSksbi5OLnB1c2goVz4+PjE2JjI1NSksbi5OLnB1c2goVz4+PjI0JjI1NSkpfSwkNGkpO3ZhciBTMzE9bmV3IE1hcCxBWHg9Y2xhc3MgZXh0ZW5kcyBlM3J7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudHlwZU5hbWU9bjt0aGlzLk49VztpZihTbyE9PVNvKXRocm93IEVycm9yKCk7UzMxLnNldChuLHRoaXMpfX07dmFyIG00Wj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5OPW47dGhpcy5KPUQ7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5YPWdlO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLlc9Vy5tZXNzYWdlSWQhPW51bGw/eFU6dm9pZCAwfXJlZ2lzdGVyKCl7Zy5PQSh0aGlzKX19O3ZhciBjRlo9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVmPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGk2PVsxLDIsM107dmFyIFo4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LFVmPVsxLDIsM107dmFyIHllPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBLVUM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIE9peD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxQWmg9WzEsMiwzXTtnLk9mPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O2cuT2YucHJvdG90eXBlLkpoPVdaKDApO2cuT2YucHJvdG90eXBlLko9Zy5tRChbMCxnLm9tLFswLFBaaCx6ZyxbMCxnLm9tLC0xLHVVXSx6ZyxbMCxnLm9tLC0xLGlVLHVVXSx6ZyxbMCxnLm9tXV0sWGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1hWShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoZy5EUixXLCEwKTsKaWYoVyE9bnVsbClmb3IobGV0IGg9MDtoPFcubGVuZ3RoO2grKyl7dmFyIGI9bix2PUQsaz1XW2hdO2shPW51bGwmJmlHKGIsdixrSyhrKSl9fSxtNyksCmcuZHEsWzAsZy5kcSxbMCxpNixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTIpcmV0dXJuITE7YmEoVyxELGIsYVkobikpO3JldHVybiEwfSxOWSxtNyksCmcuZ1EoZnVuY3Rpb24obixXLEQsYil7aWYobi5KIT09MClyZXR1cm4hMTtiYShXLEQsYixnLkVWKG4uTikpO3JldHVybiEwfSxnLnJRLGcuS3gpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTApcmV0dXJuITE7YmEoVyxELGIseTEobi5OKSk7cmV0dXJuITB9LHNmLHEzWildLApbMCxVZixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe24uSiE9PTA/bj0hMTooYmEoVyxELGIsZy5VVihuLk4sZy5KXykpLG49ITApO3JldHVybiBufSxnLiRuLGcuTzYpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTEpcmV0dXJuITE7YmEoVyxELGIsZy5kZShuLk4pKTtyZXR1cm4hMH0sZy50OSxnLlpGKSwKemcsWzAsZy5kcSxbMCxVNixnLkU2XV1dXSxnLmdRKGZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gSjkobixXLEQpfSxmdW5jdGlvbihuLFcsRCl7eW0obixELGEwKFcpKX0sUHEpLApYZihmdW5jdGlvbihuLFcsRCl7bi5KIT09MSYmbi5KIT09Mj9uPSExOihXPWNIKFcsV1tiNF18MCxEKSxuLko9PTI/YkcobixvWSxXKTpXLnB1c2gob1kobi5OKSksbj0hMCk7cmV0dXJuIG59LGZ1bmN0aW9uKG4sVyxEKXtXPWU2KGEwLFcsITEpOwppZihXIT1udWxsKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXltKG4sRCxXW2JdKX0sUHEpXSk7dmFyIFppeD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTtnLkU9bDYucHJvdG90eXBlO2cuRS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtpZighZy5xaS5uYXZpZ2F0b3IuY29va2llRW5hYmxlZClyZXR1cm4hMTtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuITA7dGhpcy5zZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIsIjEiLHtuejo2MH0pO2lmKHRoaXMuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTt0aGlzLnJlbW92ZSgiVEVTVENPT0tJRVNFTkFCTEVEIik7cmV0dXJuITB9OwpnLkUuc2V0PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0hMTtpZih0eXBlb2YgRD09PSJvYmplY3QiKXt2YXIgdj1ELnNhbWVTaXRlO2I9RC5zZWN1cmV8fCExO3ZhciBrPUQuZG9tYWlufHx2b2lkIDA7dmFyIGg9RC5wYXRofHx2b2lkIDA7dmFyIHg9RC5uen1pZigvWzs9XHNdLy50ZXN0KG4pKXRocm93IEVycm9yKCdJbnZhbGlkIGNvb2tpZSBuYW1lICInK24rJyInKTtpZigvWztcclxuXS8udGVzdChXKSl0aHJvdyBFcnJvcignSW52YWxpZCBjb29raWUgdmFsdWUgIicrVysnIicpO3g9PT12b2lkIDAmJih4PS0xKTtEPWs/Ijtkb21haW49IitrOiIiO2g9aD8iO3BhdGg9IitoOiIiO2I9Yj8iO3NlY3VyZSI6IiI7eD14PDA/IiI6eD09MD8iO2V4cGlyZXM9IisobmV3IERhdGUoMTk3MCwxLDEpKS50b1VUQ1N0cmluZygpOiI7ZXhwaXJlcz0iKyhuZXcgRGF0ZShEYXRlLm5vdygpK3gqMUUzKSkudG9VVENTdHJpbmcoKTt0aGlzLk4uY29va2llPW4rIj0iK1crRCtoK3grYisodiE9bnVsbD8KIjtzYW1lc2l0ZT0iK3Y6IiIpfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe3ZhciBEPW4rIj0iLGI9KHRoaXMuTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO2ZvcihsZXQgdj0wLGs7djxiLmxlbmd0aDt2Kyspe2s9Ylt2XS50cmltKCk7aWYoay5sYXN0SW5kZXhPZihELDApPT0wKXJldHVybiBrLnNsaWNlKEQubGVuZ3RoKTtpZihrPT1uKXJldHVybiIifXJldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9dGhpcy5nZXQobikhPT12b2lkIDA7dGhpcy5zZXQobiwiIix7bno6MCxwYXRoOlcsZG9tYWluOkR9KTtyZXR1cm4gYn07CmcuRS51Qj1mdW5jdGlvbigpe3JldHVybiBUdih0aGlzKS5rZXlzfTsKZy5FLno3PWZ1bmN0aW9uKCl7cmV0dXJuIFR2KHRoaXMpLnZhbHVlc307CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuTi5jb29raWV9OwpnLkUuY2xlYXI9ZnVuY3Rpb24oKXt2YXIgbj1Udih0aGlzKS5rZXlzO2ZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKXRoaXMucmVtb3ZlKG5bV10pfTsKdmFyIEp5PW5ldyBsNih0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBVNHg9Y2xhc3N7YXN5bmMgY29tcHJlc3Mobil7dmFyIFc9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksRD0obmV3IFJlc3BvbnNlKFcucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO1c9Vy53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBXLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKSk7YXdhaXQgVy5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBEKX1pc1N1cHBvcnRlZChuKXtyZXR1cm4gbjwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIHlYTT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgRXppPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pbnRlcnZhbE1zPW47dGhpcy5jYWxsYmFjaz1XO3RoaXMuZW5hYmxlZD0hMTt0aGlzLk49KCk9PmcuVXcoKTsKdGhpcy5KPXRoaXMuTigpfXNldEludGVydmFsKG4pe3RoaXMuaW50ZXJ2YWxNcz1uO3RoaXMudGltZXImJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnRpbWVyJiZ0aGlzLnN0b3AoKX1zdGFydCgpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcyksdGhpcy5KPXRoaXMuTigpKX1zdG9wKCl7dGhpcy5lbmFibGVkPSExOwp0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKX10aWNrKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1NYXRoLm1heCh0aGlzLk4oKS10aGlzLkosMCk7bjx0aGlzLmludGVydmFsTXMqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcy1uKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5jYWxsYmFjaygpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfWVsc2UgdGhpcy50aW1lcj12b2lkIDB9fTt2YXIgaWl4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciB1R2I9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07Zy5FPWcuTVkucHJvdG90eXBlO2cuRS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5NWSh0aGlzLngsdGhpcy55KX07CmcuRS5lcXVhbHM9ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLk1ZJiZSXyh0aGlzLG4pfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGgucm91bmQodGhpcy54KTt0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy54Kj1uO3RoaXMueSo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O2cuRT1nLlFlLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuUWUodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpnLkUuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIWNPKHRoaXMpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy53aWR0aCo9bjt0aGlzLmhlaWdodCo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O3ZhciBwVD0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO3ZhciAkQj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uPT09cksmJld8fCIifXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19LHJLPXt9O25ldyAkQihySywiIik7dmFyIE8wPXtjZWxscGFkZGluZzoiY2VsbFBhZGRpbmciLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY29sc3BhbjoiY29sU3BhbiIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixoZWlnaHQ6ImhlaWdodCIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLG5vbmNlOiJub25jZSIscm9sZToicm9sZSIscm93c3Bhbjoicm93U3BhbiIsdHlwZToidHlwZSIsdXNlbWFwOiJ1c2VNYXAiLHZhbGlnbjoidkFsaWduIix3aWR0aDoid2lkdGgifTtnLkU9ZlQucHJvdG90eXBlO2cuRS5lXz1mdW5jdGlvbigpe3JldHVybiBBSyh0aGlzLk4pfTsKZy5FLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFd8fHRoaXMuTikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKG4pKX07CmcuRS5CSj1mdW5jdGlvbihuKXtyZXR1cm4gZy5LVChuLHRoaXMuTil9OwpnLkUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihuKXtyZXR1cm4gdWsodGhpcy5OLG4pfTsKZy5FLmFwcGVuZENoaWxkPWZ1bmN0aW9uKG4sVyl7bi5hcHBlbmRDaGlsZChXKX07CmcuRS5hcHBlbmQ9ZnVuY3Rpb24obixXKXtvaChnLkpLKG4pLG4sYXJndW1lbnRzLDEpfTsKZy5FLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihuKXtpZihuLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChuLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07CmcuRS5yZW1vdmVOb2RlPWcuQ1Q7Zy5FLmNvbnRhaW5zPWcuQng7Zy5FLmlzRm9jdXNhYmxlPU1jO3ZhciBvek09Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfUdZKCl7cmV0dXJuIEhXKHRoaXMsMSl9fTt2YXIgVlE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGJJPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGY0Mj1LOChiSSk7dmFyIGtFPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBjeD1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sUVE9bmV3IGJJLGFoPW51bGw7dmFyIFdMPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBkNGg9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHozdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw0KX19O3ZhciBCcT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiwzNyl9Uygpe3ZhciBuPXRoaXMubDk7cmV0dXJuIHg5KG4sbltiNF18MCxkNGgsNykhPT12b2lkIDB9fTt2YXIgbHF0PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDE5KX1hVihuKXtyZXR1cm4gS24odGhpcywyLG4pfX07dmFyIFRNQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuZ1I9Vzt0aGlzLnVhY2g9dGhpcy5sb2NhbGU9bnVsbDt0aGlzLko9MDt0aGlzLmlzRmluYWw9ITE7dGhpcy5OPW5ldyBscXQ7TnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5OLmFWKG4pO1d8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO3ZMKHRoaXMsbmV3IFdMKX1hVihuKXt0aGlzLk4uYVYobik7cmV0dXJuIHRoaXN9YnVpbGQobixXPTAsRD0wLGI9bnVsbCx2PTAsaz0wKXtpZighdGhpcy5nUil7dmFyIGg9REQodGhpcyk7dmFyIHg9bmV3IG96TTt4PUtuKHgsMSx0aGlzLkopO3g9b3ooeCwyLE9fKHRoaXMuaXNGaW5hbCkpO0Q9b3ooeCwzLGcueVAoRD4wP0Q6dm9pZCAwKSk7dj1veihELDQsZy55UCh2PjA/djp2b2lkIDApKTtrPW96KHYsNSxnLnlQKGs+MD9rOnZvaWQgMCkpO3Y9ay5sOTtEPXZbYjRdfDA7az12OShrLEQpP2s6S0coayx2LEQpP09LKGssCnYpOm5ldyBrLmNvbnN0cnVjdG9yKG1fKHYsRCwhMCkpOyQ5KGgsb3pNLDEwLGspfWg9dGhpcy5OLmNsb25lKCk7az1EYXRlLm5vdygpLnRvU3RyaW5nKCk7aD1veihoLDQsZy5sNChrKSk7bj1uLnNsaWNlKCk7bj1zVihoLEJxLDMsbik7YiYmKGg9bmV3IGlpeCxiPW96KGgsMTMsZy55UChiKSksaD1uZXcgdUdiLGI9JDkoaCxpaXgsMixiKSxoPW5ldyB6M3QsYj0kOShoLHVHYiwxLGIpLGI9S24oYiwyLDkpLCQ5KG4sejN0LDE4LGIpKTtXJiZJWShuLDE0LFcpO3JldHVybiBufX07dmFyIEdBO0dBPWcuWmw/IndlYmtpdFRyYW5zaXRpb25FbmQiOiJ0cmFuc2l0aW9uZW5kIjtnLmhILnByb3RvdHlwZS5KPTA7Zy5oSC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLk49dGhpcy5XPXRoaXMuWDt0aGlzLko9MH07CmcuaEgucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuV307dmFyIGpmdz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw4KX19LENaaD1LOChqZncpO3ZhciBGUDtGUD1uZXcgbTRaKDE3NTIzNzM3NSxqZncsY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX0pO3ZhciBCTVo9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5jb21wb25lbnRJZD0iIjt0aGlzLk49W107dGhpcy5WUT0iIjt0aGlzLnBhZ2VJZD1udWxsO3RoaXMuZSQ9dGhpcy50dz0tMTt0aGlzLks9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5PPXRoaXMuY0o9dGhpcy5WPXRoaXMuWD0wO3RoaXMuSEo9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLmJkPSExO3RoaXMubG9nU291cmNlPW4ubG9nU291cmNlO3RoaXMubjE9bi5uMXx8KCgpPT57fSk7CnRoaXMuVz1uZXcgVE1DKG4ubG9nU291cmNlLG4uZ1IpO3RoaXMubmV0d29yaz1uLm5ldHdvcmt8fG51bGw7dGhpcy5QZz1uLlBnfHxudWxsO3RoaXMuWT1uLmN1fHxudWxsO3RoaXMuc2Vzc2lvbkluZGV4PW4uc2Vzc2lvbkluZGV4fHxudWxsO3RoaXMub3g9bi5veHx8ITE7dGhpcy5sb2dnZXI9bnVsbDt0aGlzLndpdGhDcmVkZW50aWFscz0hbi5rQzt0aGlzLmdSPW4uZ1J8fCExO3RoaXMuRD0hdGhpcy5nUiYmISFnLmlrKCkmJiEhZy5paygpLm5hdmlnYXRvciYmZy5paygpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUyQ9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKExLKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoTEsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIFc9bksobmV3IFdMKTt2TCh0aGlzLlcsVyk7dGhpcy5qPW5ldyBnLmhIKDFFNCwzRTUsLjEpO249STRTKHRoaXMsbi5iMSk7dGhpcy5KPW5ldyBFemkodGhpcy5qLmdldFZhbHVlKCksCm4pO3RoaXMuVEM9bmV3IEV6aSg2RTUsbik7dGhpcy5veHx8dGhpcy5UQy5zdGFydCgpO3RoaXMuZ1J8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iJiZlZyh0aGlzKX0pLGcuaWsoKT8uYWRkRXZlbnRMaXN0ZW5lcj8uKCJwYWdlaGlkZSIsKCk9PntlZyh0aGlzKX0pKX1tQSgpe2VnKHRoaXMpOwp0aGlzLkouc3RvcCgpO3RoaXMuVEMuc3RvcCgpO3N1cGVyLm1BKCl9ZGlzcGF0Y2gobil7aWYobiBpbnN0YW5jZW9mIEJxKXRoaXMubG9nKG4pO2Vsc2UgdHJ5e3ZhciBXPW5ldyBCcSxEPW4uYlkoKTt2YXIgYj1nLlNFKFcsOCxEKTt0aGlzLmxvZyhiKX1jYXRjaHt9fWxvZyhuKXtpZih0aGlzLlMkKXtuPW4uY2xvbmUoKTt2YXIgVz10aGlzLkhKKys7bj1JWShuLDIxLFcpO3RoaXMuY29tcG9uZW50SWQmJmcuU0UobiwyNix0aGlzLmNvbXBvbmVudElkKTtXPW47e3ZhciBEPWlXKFcsMSk7bGV0IGI9dHlwZW9mIEQ7RD1EPT1udWxsP0Q6Yj09PSJiaWdpbnQiP1N0cmluZyhkWig2NCxEKSk6WkIoRCk/Yj09PSJzdHJpbmciP0I5KEQpOkM1KEQpOnZvaWQgMH1EPT1udWxsJiYoRD1EYXRlLm5vdygpLEQ9TnVtYmVyLmlzRmluaXRlKEQpP0QudG9TdHJpbmcoKToiMCIsb3ooVywxLGcubDQoRCkpKTtEPWlXKFcsMTUsdm9pZCAwLHZvaWQgMCxGRCk7RCE9bnVsbCYmKHR5cGVvZiBEPT09ImJpZ2ludCI/CnNLKEQpP0Q9TnVtYmVyKEQpOihEPWRaKDY0LEQpLEQ9c0soRCk/TnVtYmVyKEQpOlN0cmluZyhEKSk6RD1aQihEKT90eXBlb2YgRD09PSJudW1iZXIiP0M1KEQpOkI5KEQpOnZvaWQgMCk7RCE9bnVsbHx8SVkoVywxNSwobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkqNjApO3RoaXMuZXhwZXJpbWVudElkcyYmKEQ9dGhpcy5leHBlcmltZW50SWRzLmNsb25lKCksJDkoVyx5WE0sMTYsRCkpO1c9dGhpcy5OLmxlbmd0aC0xRTMrMTtXPjAmJih0aGlzLk4uc3BsaWNlKDAsVyksdGhpcy5YKz1XKTt0aGlzLk4ucHVzaChuKTt0aGlzLm94fHx0aGlzLkouZW5hYmxlZHx8dGhpcy5KLnN0YXJ0KCl9fWZsdXNoKG4sVyl7aWYodGhpcy5OLmxlbmd0aD09PTApbiYmbigpO2Vsc2UgaWYodGhpcy5iZCYmdGhpcy5EKXRoaXMuVy5KPTMsQUZaKHRoaXMpO2Vsc2V7dmFyIEQ9RGF0ZS5ub3coKTtpZih0aGlzLmUkPkQmJnRoaXMudHc8RClXJiZXKCJ0aHJvdHRsZWQiKTtlbHNle3RoaXMubmV0d29yayYmCih0eXBlb2YgdGhpcy5uZXR3b3JrLkdZPT09ImZ1bmN0aW9uIj9IYlModGhpcy5XLHRoaXMubmV0d29yay5HWSgpKTp0aGlzLlcuSj0wKTt2YXIgYj10aGlzLlcuYnVpbGQodGhpcy5OLHRoaXMuWCx0aGlzLlYsdGhpcy5QZyx0aGlzLmNKLHRoaXMuTyksdj10aGlzLm4xKCk7aWYodiYmdGhpcy5WUT09PXYpVyYmVygic3RhbGUtYXV0aC10b2tlbiIpO2Vsc2V7dGhpcy5OPVtdO3RoaXMuSi5lbmFibGVkJiZ0aGlzLkouc3RvcCgpO3RoaXMuWD0wO0Q9Yi5iWSgpO2xldCBrO3RoaXMuSyYmdGhpcy5LLmlzU3VwcG9ydGVkKEQubGVuZ3RoKSYmKGs9dGhpcy5LLmNvbXByZXNzKEQpKTtsZXQgaD1tVXcodGhpcyxELHYpLHg9Rz0+e3RoaXMuai5yZXNldCgpO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7aWYoRyl7dmFyIHI9bnVsbDt0cnl7bGV0IE49SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShHLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cj1DWmgoTil9Y2F0Y2goTil7fXImJgooRz1OdW1iZXIocG4ociwxLGcuJFUoIi0xIikpKSxHPjAmJih0aGlzLnR3PURhdGUubm93KCksdGhpcy5lJD10aGlzLnR3K0cpLHR2KHIubDksRlAuTiksR3oocixGUC5OKSxyPUZQLko/RlAuWChyLEZQLkosRlAuTixGUC5XKTpGUC5YKHIsRlAuTixudWxsLEZQLlcpLHI9cj09PW51bGw/dm9pZCAwOnIpJiYocj1hUChyLDEsLTEpLHIhPT0tMSYmKHRoaXMuaj1uZXcgZy5oSChyPDE/MTpyLDNFNSwuMSksdGhpcy5KLnNldEludGVydmFsKHRoaXMuai5nZXRWYWx1ZSgpKSkpfW4mJm4oKTt0aGlzLlY9MH0sTD0oRyxyKT0+e3ZhciBOPVZHKGIsQnEsMyk7CnZhciBIPU51bWJlcihwbihiLDE0KSk7Zy54RSh0aGlzLmopO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7Rz09PTQwMSYmdiYmKHRoaXMuVlE9dik7SCYmKHRoaXMuWCs9SCk7cj09PXZvaWQgMCYmKHI9dGhpcy5pc1JldHJ5YWJsZShHKSk7ciYmKHRoaXMuTj1OLmNvbmNhdCh0aGlzLk4pLHRoaXMub3h8fHRoaXMuSi5lbmFibGVkfHx0aGlzLkouc3RhcnQoKSk7VyYmVygibmV0LXNlbmQtZmFpbGVkIixHKTsrK3RoaXMuVn0sZT0oKT0+e3RoaXMubmV0d29yayYmdGhpcy5uZXR3b3JrLnNlbmQoaCx4LEwpfTsKaz9rLnRoZW4oRz0+e2guWkpbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5aSlsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PUc7aC5vJD0yO2UoKX0sKCk9PntlKCl9KTplKCl9fX19aXNSZXRyeWFibGUobil7cmV0dXJuIDUwMDw9biYmbjw2MDB8fG49PT00MDF8fG49PT0wfX07dmFyIEZVaj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuUiQ9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifWFzeW5jIHNlbmQobixXLEQpe3ZhciBiPXRoaXMuUiQ/bmV3IEFib3J0Q29udHJvbGxlcjp2b2lkIDAsdj1iJiZuLnRpbWVvdXRNaWxsaXM+MD9zZXRUaW1lb3V0KCgpPT57Yi5hYm9ydCgpfSxuLnRpbWVvdXRNaWxsaXMpOnZvaWQgMDsKdHJ5e2xldCBrPWF3YWl0IGZldGNoKG4udXJsLHttZXRob2Q6bi5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5uLlpKfSwuLi4obi5ib2R5JiZ7Ym9keTpuLmJvZHl9KSwuLi4obi53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6bi50aW1lb3V0TWlsbGlzJiZiP2Iuc2lnbmFsOm51bGx9KTtrLnN0YXR1cz09PTIwMD9XPy4oYXdhaXQgay50ZXh0KCkpOkQ/LihrLnN0YXR1cyl9Y2F0Y2goayl7c3dpdGNoKGs/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOkQ/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6RD8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KHYpfX1HWSgpe3JldHVybiA0fX07dmFyIGtZPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5Saj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5OPXRoaXMuUGc9bnVsbDt0aGlzLko9ITE7dGhpcy5sb2dnZXI9dGhpcy5wYWdlSWQ9bnVsbH1rQygpe3RoaXMuVz0hMDtyZXR1cm4gdGhpc31idWlsZCgpe3RoaXMubmV0d29ya3x8KHRoaXMubmV0d29yaz1uZXcgRlVqKTt2YXIgbj1uZXcgQk1aKHtsb2dTb3VyY2U6dGhpcy5sb2dTb3VyY2UsbjE6dGhpcy5uMT90aGlzLm4xOkJPLHNlc3Npb25JbmRleDp0aGlzLnNlc3Npb25JbmRleCxjdTp0aGlzLlJqLGdSOiExLG94OiExLGtDOnRoaXMuVyxiMTp0aGlzLmIxLG5ldHdvcms6dGhpcy5uZXR3b3JrfSk7Zy51KHRoaXMsCm4pO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIFc9dGhpcy5idWlsZExhYmVsLEQ9REQobi5XKTtnLlNFKEQsNyxXKX1uLks9bmV3IFU0eDt0aGlzLmNvbXBvbmVudElkJiYobi5jb21wb25lbnRJZD10aGlzLmNvbXBvbmVudElkKTt0aGlzLlBnJiYobi5QZz10aGlzLlBnKTt0aGlzLnBhZ2VJZCYmKG4ucGFnZUlkPXRoaXMucGFnZUlkKTt0aGlzLk4mJigoRD10aGlzLk4pPyhuLmV4cGVyaW1lbnRJZHN8fChuLmV4cGVyaW1lbnRJZHM9bmV3IHlYTSksVz1uLmV4cGVyaW1lbnRJZHMsRD1ELmJZKCksZy5TRShXLDQsRCkpOm4uZXhwZXJpbWVudElkcyYmb3oobi5leHBlcmltZW50SWRzLDQpKTt0aGlzLkomJihuLmJkPW4uRCk7SkZaKG4uVyk7dGhpcy5uZXR3b3JrLmFWJiZ0aGlzLm5ldHdvcmsuYVYodGhpcy5sb2dTb3VyY2UpO3RoaXMubmV0d29yay5oUyYmdGhpcy5uZXR3b3JrLmhTKG4pO3JldHVybiBufX07dmFyIGE0aj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7bnx8KG49bmV3IGtZLG4uY29tcG9uZW50SWQ9IiIsZy51KHRoaXMsbiksbj1uLmJ1aWxkKCkpO3RoaXMuTj1ufWZsdXNoKG4pe249bnx8W107aWYobi5sZW5ndGgpe2xldCBXPW5ldyBaaXgsRD1bXTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHY9bltiXSxrPXU2KHYpO0QucHVzaChrKTt2LmNsZWFyKCl9c1YoVyxnLk9mLDEsRCk7dGhpcy5OLmRpc3BhdGNoKFcpO3RoaXMuTi5mbHVzaCgpfX19O3ZhciBxNT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19O3ZhciB3JGI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuSj1uO3RoaXMuVz1XO3RoaXMuZmllbGRzPUR8fFtdO3RoaXMuTj1uZXcgTWFwfWNsZWFyKCl7dGhpcy5OLmNsZWFyKCl9fTt2YXIgaWU9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDMsVyl9fTt2YXIgeTg9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDIsVyl9ZEUobiwuLi5XKXt5RloodGhpcyxuLC4uLlcpfX07JEUucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuSj0hMH07CiRFLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Zy5peChyRCwkRSk7CnJELnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9dGhpcy50eXBlPW4udHlwZSxiPW4uY2hhbmdlZFRvdWNoZXMmJm4uY2hhbmdlZFRvdWNoZXMubGVuZ3RoP24uY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1uLnRhcmdldHx8bi5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1XO1c9bi5yZWxhdGVkVGFyZ2V0O1d8fChEPT0ibW91c2VvdmVyIj9XPW4uZnJvbUVsZW1lbnQ6RD09Im1vdXNlb3V0IiYmKFc9bi50b0VsZW1lbnQpKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9VztiPyh0aGlzLmNsaWVudFg9Yi5jbGllbnRYIT09dm9pZCAwP2IuY2xpZW50WDpiLnBhZ2VYLHRoaXMuY2xpZW50WT1iLmNsaWVudFkhPT12b2lkIDA/Yi5jbGllbnRZOmIucGFnZVksdGhpcy5zY3JlZW5YPWIuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Yi5zY3JlZW5ZfHwwKToodGhpcy5jbGllbnRYPW4uY2xpZW50WCE9PXZvaWQgMD9uLmNsaWVudFg6bi5wYWdlWCx0aGlzLmNsaWVudFk9Cm4uY2xpZW50WSE9PXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWSx0aGlzLnNjcmVlblg9bi5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1uLnNjcmVlbll8fDApO3RoaXMuYnV0dG9uPW4uYnV0dG9uO3RoaXMua2V5Q29kZT1uLmtleUNvZGV8fDA7dGhpcy5rZXk9bi5rZXl8fCIiO3RoaXMuY2hhckNvZGU9bi5jaGFyQ29kZXx8KEQ9PSJrZXlwcmVzcyI/bi5rZXlDb2RlOjApO3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5hbHRLZXk9bi5hbHRLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5wb2ludGVySWQ9bi5wb2ludGVySWR8fDA7dGhpcy5wb2ludGVyVHlwZT1uLnBvaW50ZXJUeXBlO3RoaXMuc3RhdGU9bi5zdGF0ZTt0aGlzLk49bjtuLmRlZmF1bHRQcmV2ZW50ZWQmJnJELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9OwpyRC5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7ckQuVEIuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5OLnN0b3BQcm9wYWdhdGlvbj90aGlzLk4uc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5OLmNhbmNlbEJ1YmJsZT0hMH07CnJELnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3JELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyk7dmFyIG49dGhpcy5OO24ucHJldmVudERlZmF1bHQ/bi5wcmV2ZW50RGVmYXVsdCgpOm4ucmV0dXJuVmFsdWU9ITF9O3ZhciBzMj0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApO3ZhciB1SWg9MDtnLkU9ZksucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLnRvU3RyaW5nKCk7bj10aGlzLmxpc3RlbmVyc1trXTtufHwobj10aGlzLmxpc3RlbmVyc1trXT1bXSx0aGlzLk4rKyk7dmFyIGg9SVcobixXLGIsdik7aD4tMT8oVz1uW2hdLER8fChXLnFfPSExKSk6KFc9bmV3IG8zYihXLHRoaXMuc3JjLGssISFiLHYpLFcucV89RCxuLnB1c2goVykpO3JldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCxiKXtuPW4udG9TdHJpbmcoKTtpZighKG4gaW4gdGhpcy5saXN0ZW5lcnMpKXJldHVybiExO3ZhciB2PXRoaXMubGlzdGVuZXJzW25dO1c9SVcodixXLEQsYik7cmV0dXJuIFc+LTE/KEhMKHZbV10pLGcuQk0odixXKSx2Lmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1tuXSx0aGlzLk4tLSksITApOiExfTsKZy5FLlRpPWZ1bmN0aW9uKCl7dmFyIG49MDtmb3IobGV0IFcgaW4gdGhpcy5saXN0ZW5lcnMpe2xldCBEPXRoaXMubGlzdGVuZXJzW1ddO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKSsrbixITChEW2JdKTtkZWxldGUgdGhpcy5saXN0ZW5lcnNbV107dGhpcy5OLS19fTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe249dGhpcy5saXN0ZW5lcnNbbi50b1N0cmluZygpXTt2YXIgdj0tMTtuJiYodj1JVyhuLFcsRCxiKSk7cmV0dXJuIHY+LTE/blt2XTpudWxsfTsKZy5FLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9biE9PXZvaWQgMCxiPUQ/bi50b1N0cmluZygpOiIiLHY9VyE9PXZvaWQgMDtyZXR1cm4gZy5EbCh0aGlzLmxpc3RlbmVycyxmdW5jdGlvbihrKXtmb3IobGV0IGg9MDtoPGsubGVuZ3RoOysraClpZighKEQmJmtbaF0udHlwZSE9Ynx8diYma1toXS5jYXB0dXJlIT1XKSlyZXR1cm4hMDtyZXR1cm4hMX0pfTt2YXIgUEw9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksaUk9e30sVTI9MCx1ST0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO2cuaXgoZy5vVyxnLkZNKTtnLm9XLnByb3RvdHlwZVtzMl09ITA7Zy5FPWcub1cucHJvdG90eXBlO2cuRS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKG4sVyxELGIpe0FIKHRoaXMsbixXLEQsYil9OwpnLkUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihuLFcsRCxiKXt5Nyh0aGlzLG4sVyxELGIpfTsKZy5FLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5sWjtpZihXKXt2YXIgRD1bXTtmb3IodmFyIGI9MTtXO1c9Vy5sWilELnB1c2goVyksKytifVc9dGhpcy5IZDtiPW4udHlwZXx8bjtpZih0eXBlb2Ygbj09PSJzdHJpbmciKW49bmV3ICRFKG4sVyk7ZWxzZSBpZihuIGluc3RhbmNlb2YgJEUpbi50YXJnZXQ9bi50YXJnZXR8fFc7ZWxzZXt2YXIgdj1uO249bmV3ICRFKGIsVyk7Zy5ZeShuLHYpfXY9ITA7dmFyIGs7aWYoRClmb3Ioaz1ELmxlbmd0aC0xOyFuLkomJms+PTA7ay0tKXt2YXIgaD1uLmN1cnJlbnRUYXJnZXQ9RFtrXTt2PWREKGgsYiwhMCxuKSYmdn1uLkp8fChoPW4uY3VycmVudFRhcmdldD1XLHY9ZEQoaCxiLCEwLG4pJiZ2LG4uSnx8KHY9ZEQoaCxiLCExLG4pJiZ2KSk7aWYoRClmb3Ioaz0wOyFuLkomJms8RC5sZW5ndGg7aysrKWg9bi5jdXJyZW50VGFyZ2V0PURba10sdj1kRChoLGIsITEsbikmJnY7cmV0dXJuIHZ9OwpnLkUubUE9ZnVuY3Rpb24oKXtnLm9XLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5kXyYmdGhpcy5kXy5UaSgpO3RoaXMubFo9bnVsbH07CmcuRS5TXz1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITEsRCxiKX07CmcuRS5lRj1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITAsRCxiKX07CmcuRS53SD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLmRfLnJlbW92ZShTdHJpbmcobiksVyxELGIpfTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiB0aGlzLmRfLnNjKFN0cmluZyhuKSxXLEQsYil9OwpnLkUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24obixXKXtyZXR1cm4gdGhpcy5kXy5oYXNMaXN0ZW5lcihuIT09dm9pZCAwP1N0cmluZyhuKTp2b2lkIDAsVyl9O2cuejc9dHlwZW9mIEFzeW5jQ29udGV4dCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgQXN5bmNDb250ZXh0LlNuYXBzaG90PT09ImZ1bmN0aW9uIj9uPT5uJiZBc3luY0NvbnRleHQuU25hcHNob3Qud3JhcChuKTpuPT5uO3ZhciBNMlM9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLlg9Vzt0aGlzLko9MDt0aGlzLk49bnVsbH1nZXQoKXtpZih0aGlzLko+MCl7dGhpcy5KLS07dmFyIG49dGhpcy5OO3RoaXMuTj1uLm5leHQ7bi5uZXh0PW51bGx9ZWxzZSBuPXRoaXMuVygpO3JldHVybiBufXB1dChuKXt0aGlzLlgobik7dGhpcy5KPDEwMCYmKHRoaXMuSisrLG4ubmV4dD10aGlzLk4sdGhpcy5OPW4pfX07dmFyIGxJO3ZhciBSM2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5OPW51bGx9YWRkKG4sVyl7dmFyIEQ9Q0suZ2V0KCk7RC5zZXQobixXKTt0aGlzLko/dGhpcy5KLm5leHQ9RDp0aGlzLk49RDt0aGlzLko9RH1yZW1vdmUoKXt2YXIgbj1udWxsO3RoaXMuTiYmKG49dGhpcy5OLHRoaXMuTj10aGlzLk4ubmV4dCx0aGlzLk58fCh0aGlzLko9bnVsbCksbi5uZXh0PW51bGwpO3JldHVybiBufX0sQ0s9bmV3IE0yUygoKT0+bmV3IFFmMSxuPT5uLnJlc2V0KCkpLFFmMT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuTj1udWxsfXNldChuLFcpe3RoaXMuTj1uOwp0aGlzLnNjb3BlPVc7dGhpcy5uZXh0PW51bGx9cmVzZXQoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLk49bnVsbH19O3ZhciB3cSxCTCxqZyxWMng7Qkw9ITE7amc9bmV3IFIzYjtnLm1LPShuLFcpPT57d3F8fFYyeCgpO0JMfHwod3EoKSxCTD0hMCk7amcuYWRkKG4sVyl9OwpWMng9KCk9Pnt2YXIgbj1Qcm9taXNlLnJlc29sdmUodm9pZCAwKTt3cT0oKT0+e24udGhlbihUenIpfX07cTgucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0PXRoaXMuSj10aGlzLlc9dGhpcy5OPW51bGw7dGhpcy5YPSExfTsKdmFyIEczPW5ldyBNMlMoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHE4fSxmdW5jdGlvbihuKXtuLnJlc2V0KCl9KTsKZy5YMS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFNPKHRoaXMsKDAsZy56NykodHlwZW9mIG49PT0iZnVuY3Rpb24iP246bnVsbCksKDAsZy56NykodHlwZW9mIFc9PT0iZnVuY3Rpb24iP1c6bnVsbCksRCl9OwpnLlgxLnByb3RvdHlwZS4kZ29vZ19UaGVuYWJsZT0hMDtnLkU9Zy5YMS5wcm90b3R5cGU7Zy5FLmZpbmFsbHk9ZnVuY3Rpb24obil7bj0oMCxnLno3KShuKTtyZXR1cm4gbmV3IGcuWDEoKFcsRCk9PntwcSh0aGlzLGI9PntuKCk7VyhiKX0sYj0+e24oKTsKRChiKX0pfSl9OwpnLkUuc1A9ZnVuY3Rpb24obixXKXtyZXR1cm4gU08odGhpcyxudWxsLCgwLGcuejcpKG4pLFcpfTsKZy5FLmNhdGNoPWcuWDEucHJvdG90eXBlLnNQO2cuRS5jYW5jZWw9ZnVuY3Rpb24obil7aWYodGhpcy5OPT0wKXtsZXQgVz1uZXcgZy5JNShuKTtnLm1LKGZ1bmN0aW9uKCl7WUcodGhpcyxXKX0sdGhpcyl9fTsKZy5FLklRPWZ1bmN0aW9uKG4pe3RoaXMuTj0wO2dwKHRoaXMsMixuKX07CmcuRS5BUz1mdW5jdGlvbihuKXt0aGlzLk49MDtncCh0aGlzLDMsbil9OwpnLkUueXM9ZnVuY3Rpb24oKXtmb3IodmFyIG47bj1ISih0aGlzKTspZnEodGhpcyxuLHRoaXMuTix0aGlzLkspO3RoaXMuVj0hMX07CnZhciBPdT1oNDtnLml4KGcuSTUsZy5UYik7Zy5JNS5wcm90b3R5cGUubmFtZT0iY2FuY2VsIjtnLml4KGcuUEosZy5vVyk7Zy5FPWcuUEoucHJvdG90eXBlO2cuRS5lbmFibGVkPSExO2cuRS5aNj1udWxsO2cuRS5zZXRJbnRlcnZhbD1mdW5jdGlvbihuKXt0aGlzLmd0PW47dGhpcy5aNiYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMuWjYmJnRoaXMuc3RvcCgpfTsKZy5FLlJRPWZ1bmN0aW9uKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1nLlV3KCktdGhpcy5qYjtuPjAmJm48dGhpcy5ndCouOD90aGlzLlo2PXRoaXMuVjcuc2V0VGltZW91dCh0aGlzLmhFLHRoaXMuZ3Qtbik6KHRoaXMuWjYmJih0aGlzLlY3LmNsZWFyVGltZW91dCh0aGlzLlo2KSx0aGlzLlo2PW51bGwpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGljayIpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfX07CmcuRS5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLlo2fHwodGhpcy5aNj10aGlzLlY3LnNldFRpbWVvdXQodGhpcy5oRSx0aGlzLmd0KSx0aGlzLmpiPWcuVXcoKSl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMTt0aGlzLlo2JiYodGhpcy5WNy5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsKX07CmcuRS5tQT1mdW5jdGlvbigpe2cuUEouVEIubUEuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5WN307dmFyIGhxPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuRD1uO3RoaXMuVj0wO3RoaXMuWD0xMDA7dGhpcy5LPSExO3RoaXMuVz1uZXcgTWFwO3RoaXMuWT1uZXcgU2V0O3RoaXMuZmx1c2hJbnRlcnZhbD0zRTQ7dGhpcy5KPW5ldyBnLlBKKHRoaXMuZmx1c2hJbnRlcnZhbCk7dGhpcy5KLlNfKCJ0aWNrIix0aGlzLmosITEsdGhpcyk7Zy51KHRoaXMsdGhpcy5KKX1zZW5kSXNvbGF0ZWRQYXlsb2FkKG4pe3RoaXMuSz1uO3RoaXMuWD0xfWooKXt2YXIgbj1bLi4udGhpcy5XLnZhbHVlcygpXS5maWx0ZXIoVz0+Vy5OLnNpemUpOwpuLmxlbmd0aCYmdGhpcy5ELmZsdXNoKG4sdGhpcy5LKTtGY2Iobik7dGhpcy5WPTA7dGhpcy5KLmVuYWJsZWQmJnRoaXMuSi5zdG9wKCl9TihuKXtyZXR1cm4gdGhpcy5ZLmhhcyhuKT92b2lkIDA6dGhpcy5XLmdldChuKX1kRShuLFcsLi4uRCl7KG49dGhpcy5OKG4pKSYmbiBpbnN0YW5jZW9mIHk4JiYobi5kRShXLC4uLkQpLG81KHRoaXMpKX19O3ZhciBDVj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyxEPXt9KXtzdXBlcihXKTt0aGlzLmNvZGU9bjt0aGlzLm1ldGFkYXRhPUQ7dGhpcy5uYW1lPSJScGNFcnJvciI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfXRvU3RyaW5nKCl7dmFyIG49YFJwY0Vycm9yKCR7d01TKHRoaXMuY29kZSl8fFN0cmluZyh0aGlzLmNvZGUpfSlgO3RoaXMubWVzc2FnZSYmKG4rPSI6ICIrdGhpcy5tZXNzYWdlKTtyZXR1cm4gbn19O2xlLnByb3RvdHlwZS5iWT1mdW5jdGlvbihuKXt2YXIgVz1bXTtUMyh0aGlzLG4sVyk7cmV0dXJuIFcuam9pbigiIil9Owp2YXIgQ3E9eyciJzonXFwiJywiXFwiOiJcXFxcIiwiLyI6IlxcLyIsIlxiIjoiXFxiIiwiXGYiOiJcXGYiLCJcbiI6IlxcbiIsIlxyIjoiXFxyIiwiXHQiOiJcXHQiLCJcdiI6IlxcdTAwMGIifSxNalo9L1x1ZmZmZi8udGVzdCgiXHVmZmZmIik/L1tcXCJceDAwLVx4MWZceDdmLVx1ZmZmZl0vZzovW1xcIlx4MDAtXHgxZlx4N2YtXHhmZl0vZzt2YXIgY1hDO2cuaXgoRjEsQkopO0YxLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07CmNYQz1uZXcgRjE7Zy5peCh3cCxnLm9XKTt2YXIgYXEyPS9eaHR0cHM/JC9pLG5kTT1bIlBPU1QiLCJQVVQiXSxNOD1bXTtnLkU9d3AucHJvdG90eXBlO2cuRS5XVT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpO2cuRkkoTTgsdGhpcyl9OwpnLkUuc2VuZD1mdW5jdGlvbihuLFcsRCxiKXtpZih0aGlzLk4pdGhyb3cgRXJyb3IoIltnb29nLm5ldC5YaHJJb10gT2JqZWN0IGlzIGFjdGl2ZSB3aXRoIGFub3RoZXIgcmVxdWVzdD0iK3RoaXMuSysiOyBuZXdVcmk9IituKTtXPVc/Vy50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuSz1uO3RoaXMuaj0iIjt0aGlzLlc9MDt0aGlzLmNKPSExO3RoaXMuSj0hMDt0aGlzLk49dGhpcy5UQz90aGlzLlRDLk4oKTpjWEMuTigpO3RoaXMuTi5vbnJlYWR5c3RhdGVjaGFuZ2U9KDAsZy56NykoKDAsZy5LdCkodGhpcy5OOCx0aGlzKSk7dHJ5e3RoaXMuZ2V0U3RhdHVzKCksdGhpcy50dz0hMCx0aGlzLk4ub3BlbihXLFN0cmluZyhuKSwhMCksdGhpcy50dz0hMX1jYXRjaChrKXt0aGlzLmdldFN0YXR1cygpO1Y4KHRoaXMsayk7cmV0dXJufW49RHx8IiI7RD1uZXcgTWFwKHRoaXMuaGVhZGVycyk7aWYoYilpZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoYik9PT1PYmplY3QucHJvdG90eXBlKWZvcih2YXIgdiBpbiBiKUQuc2V0KHYsCmJbdl0pO2Vsc2UgaWYodHlwZW9mIGIua2V5cz09PSJmdW5jdGlvbiImJnR5cGVvZiBiLmdldD09PSJmdW5jdGlvbiIpZm9yKGxldCBrIG9mIGIua2V5cygpKUQuc2V0KGssYi5nZXQoaykpO2Vsc2UgdGhyb3cgRXJyb3IoIlVua25vd24gaW5wdXQgdHlwZSBmb3Igb3B0X2hlYWRlcnM6ICIrU3RyaW5nKGIpKTtiPUFycmF5LmZyb20oRC5rZXlzKCkpLmZpbmQoaz0+ImNvbnRlbnQtdHlwZSI9PWsudG9Mb3dlckNhc2UoKSk7CnY9Zy5xaS5Gb3JtRGF0YSYmbiBpbnN0YW5jZW9mIGcucWkuRm9ybURhdGE7IWcuamoobmRNLFcpfHxifHx2fHxELnNldCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiKTtmb3IobGV0IFtrLGhdb2YgRCl0aGlzLk4uc2V0UmVxdWVzdEhlYWRlcihrLGgpO3RoaXMuYmQmJih0aGlzLk4ucmVzcG9uc2VUeXBlPXRoaXMuYmQpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5OJiZ0aGlzLk4ud2l0aENyZWRlbnRpYWxzIT09dGhpcy5PJiYodGhpcy5OLndpdGhDcmVkZW50aWFscz10aGlzLk8pO3RyeXt0aGlzLlYmJihjbGVhclRpbWVvdXQodGhpcy5WKSx0aGlzLlY9bnVsbCksdGhpcy5EPjAmJih0aGlzLmdldFN0YXR1cygpLHRoaXMuVj1zZXRUaW1lb3V0KHRoaXMuVTIuYmluZCh0aGlzKSx0aGlzLkQpKSx0aGlzLmdldFN0YXR1cygpLHRoaXMuWT0hMCx0aGlzLk4uc2VuZChuKSx0aGlzLlk9ITF9Y2F0Y2goayl7dGhpcy5nZXRTdGF0dXMoKSwKVjgodGhpcyxrKX19OwpnLkUuVTI9ZnVuY3Rpb24oKXt0eXBlb2YgY0ohPSJ1bmRlZmluZWQiJiZ0aGlzLk4mJih0aGlzLmo9IlRpbWVkIG91dCBhZnRlciAiK3RoaXMuRCsibXMsIGFib3J0aW5nIix0aGlzLlc9OCx0aGlzLmdldFN0YXR1cygpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTsKZy5FLmFib3J0PWZ1bmN0aW9uKG4pe3RoaXMuTiYmdGhpcy5KJiYodGhpcy5nZXRTdGF0dXMoKSx0aGlzLko9ITEsdGhpcy5YPSEwLHRoaXMuTi5hYm9ydCgpLHRoaXMuWD0hMSx0aGlzLlc9bnx8Nyx0aGlzLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksdGhpcy5kaXNwYXRjaEV2ZW50KCJhYm9ydCIpLFE4KHRoaXMpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuTiYmKHRoaXMuSiYmKHRoaXMuSj0hMSx0aGlzLlg9ITAsdGhpcy5OLmFib3J0KCksdGhpcy5YPSExKSxROCh0aGlzLCEwKSk7d3AuVEIubUEuY2FsbCh0aGlzKX07CmcuRS5OOD1mdW5jdGlvbigpe3RoaXMucU4oKXx8KHRoaXMudHd8fHRoaXMuWXx8dGhpcy5YP25WKHRoaXMpOnRoaXMuZ0soKSl9OwpnLkUuZ0s9ZnVuY3Rpb24oKXtuVih0aGlzKX07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5OfTsKZy5FLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gYTUodGhpcyk9PTR9OwpnLkUuaXNTdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIG49dGhpcy5nZXRTdGF0dXMoKTthOnN3aXRjaChuKXtjYXNlIDIwMDpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwNDpjYXNlIDIwNjpjYXNlIDMwNDpjYXNlIDEyMjM6dmFyIFc9ITA7YnJlYWsgYTtkZWZhdWx0Olc9ITF9aWYoIVcpe2lmKG49bj09PTApbj1nLmZwKFN0cmluZyh0aGlzLkspKVsxXXx8bnVsbCwhbiYmZy5xaS5zZWxmJiZnLnFpLnNlbGYubG9jYXRpb24mJihuPWcucWkuc2VsZi5sb2NhdGlvbi5wcm90b2NvbC5zbGljZSgwLC0xKSksbj0hYXEyLnRlc3Qobj9uLnRvTG93ZXJDYXNlKCk6IiIpO1c9bn1yZXR1cm4gV307CmcuRS5nZXRTdGF0dXM9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGE1KHRoaXMpPjI/dGhpcy5OLnN0YXR1czotMX1jYXRjaChuKXtyZXR1cm4tMX19OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7aWYodGhpcy5OJiZ0aGlzLmlzQ29tcGxldGUoKSlyZXR1cm4gbj10aGlzLk4uZ2V0UmVzcG9uc2VIZWFkZXIobiksbj09PW51bGw/dm9pZCAwOm59OwpnLkUuZ2V0TGFzdEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiB0aGlzLmo9PT0ic3RyaW5nIj90aGlzLmo6U3RyaW5nKHRoaXMuail9O3ZhciBPYjE9Y2xhc3N7c2VuZChuLFc9KCk9Pnt9LEQ9KCk9Pnt9KXtRTVUobi51cmwsYj0+e2I9Yi50YXJnZXQ7CmIuaXNTdWNjZXNzKCk/VyhXMyhiKSk6RChiLmdldFN0YXR1cygpKX0sbi5yZXF1ZXN0VHlwZSxuLmJvZHksbi5aSixuLnRpbWVvdXRNaWxsaXMsbi53aXRoQ3JlZGVudGlhbHMpfUdZKCl7cmV0dXJuIDF9fTt2YXIgTWw9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmxvZ2dlcj1uO3RoaXMuZXZlbnQ9Vzt0aGlzLnN0YXJ0VGltZT1ibigpfWRvbmUoKXt0aGlzLmxvZ2dlci5YKHRoaXMuZXZlbnQsYm4oKS10aGlzLnN0YXJ0VGltZSl9fSxSbT1jbGFzcyBleHRlbmRzIGphMXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyl9fSx4WT1jbGFzcyBleHRlbmRzIFJte2ooKXt9Tigpe31YKCl7fUooKXt9RCgpe31ZKCl7fVcoKXt9VihuLFcsRCxiKXtyZXR1cm4gYn1jSigpe31LKCl7fU8oKXt9fSxXNTE9Y2xhc3MgZXh0ZW5kcyBSbXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCB0aGlzLmxvZ2dlci5kaXNwb3NlKCkpfXVwZGF0ZShuKXt0aGlzLmxvZ2dlci5kaXNwb3NlKCk7CnRoaXMubG9nZ2VyPW59TihuKXt0aGlzLmxvZ2dlci5OKG4pfVgobixXKXt0aGlzLmxvZ2dlci5YKG4sVyl9SihuKXt0aGlzLmxvZ2dlci5KKG4pfUQobil7dGhpcy5sb2dnZXIuRChuKX1ZKG4sVyl7dGhpcy5sb2dnZXIuWShuLFcpfVcoKXt0aGlzLmxvZ2dlci5XKCl9VihuLFcsRCxiKXtyZXR1cm4gdGhpcy5sb2dnZXIuVihuLFcsRCxiKX1jSihuKXt0aGlzLmxvZ2dlci5jSihuKX1LKG4pe3RoaXMubG9nZ2VyLksobil9TyhuKXt0aGlzLmxvZ2dlci5PKG4pfWoobil7dGhpcy5sb2dnZXIuaihuKX19LERHUz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9bjt0aGlzLko9Vzt0aGlzLk49LVc7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQodGhpcy50aW1lcikpfX0sYjdpPWNsYXNzIGV4dGVuZHMgUm17Y29uc3RydWN0b3IobixXKXtzdXBlcigpOwp0aGlzLm1ldHJpY3M9bjt0aGlzLlZqPVd9aihuKXt0aGlzLm1ldHJpY3MuVGsuZEUobix0aGlzLlZqKX1OKG4pe3RoaXMubWV0cmljcy5ldmVudENvdW50Lkoobix0aGlzLlZqKX1YKG4sVyl7dGhpcy5tZXRyaWNzLlBULmRFKFcsbix0aGlzLlZqKX1KKG4pe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lkoobix0aGlzLlZqKX1WKG4sVyxELGIpe3ZhciB2PWJuKCksaz1oPT57aWYoIXRoaXMucU4oKSl7dmFyIHg9Ym4oKS12O3RoaXMubWV0cmljcy5pTC5kRSh4LG4sRCxoLFcsdGhpcy5Wail9fTsKYi50aGVuKCgpPT52b2lkIGsoMCksaD0+dm9pZCBrKGggaW5zdGFuY2VvZiBDVj9oLmNvZGU6LTEpKTsKcmV0dXJuIGJ9Y0oobil7dGhpcy5tZXRyaWNzLlZKLkoobix0aGlzLlZqKX1LKG4pe3RoaXMubWV0cmljcy5jVS5KKG4sdGhpcy5Wail9TyhuKXt0aGlzLm1ldHJpY3MuakMuSihuLHRoaXMuVmopfUQobil7dGhpcy5tZXRyaWNzLnBheWxvYWRTaXplLmRFKG4sdGhpcy5Wail9WShuLFcpe3RoaXMubWV0cmljcy5mNi5kRShXLG4sdGhpcy5Wail9fSxEaHg9Y2xhc3MgZXh0ZW5kcyBiN2l7Y29uc3RydWN0b3IobixXPVtdKXt2YXIgRD17Vmo6bi5Wanx8Il8iLFJoOm4uUmh8fFtdLExUOm4uTFR8MCxSajpuLlJqLHREOm4udER8fCgoKT0+e30pLApybzpuLnJvfHwoKHYsayk9Pm5sMSh2LGssRC50RCxELlJqKSl9LGI9RC5ybygiNTMiLEQuUmguY29uY2F0KFcpKTsKc3VwZXIoe1RrOm5ldyBDMHgoYiksZXJyb3JDb3VudDpuZXcgTXQxKGIpLGV2ZW50Q291bnQ6bmV3IEYyWihiKSxQVDpuZXcgd1FyKGIpLGlMOm5ldyBCYWkoYiksVko6bmV3IFJkYihiKSxjVTpuZXcgUWF4KGIpLGpDOm5ldyBWdGkoYikscGF5bG9hZFNpemU6bmV3IGNqeChiKSxmNjpuZXcgYTZ3KGIpfSxELlZqKTt0aGlzLm9wdGlvbnM9RDt0aGlzLnNlcnZpY2U9Yjt0aGlzLlRDPSFuLnJvO3RoaXMudHc9bmV3IERHUygoKT0+dm9pZCB0aGlzLnNlcnZpY2UuaigpLEQuTFQpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy50dy5kaXNwb3NlKCk7dGhpcy5UQyYmdGhpcy5zZXJ2aWNlLmRpc3Bvc2UoKX0pOwpnLmJmKFcuc2xpY2UoKSl9Vygpe1dXcih0aGlzLnR3KX19O3ZhciBxdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgR0g9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHIkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDAsciQubWVzc2FnZUlkKX19LFg0Wj1LOChyJCksdmRiPWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT5XIGluc3RhbmNlb2YgbiYmIXY5KFcpKX0ociQpOwpyJC5tZXNzYWdlSWQ9ImJma2oiO3ZhciBjND1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIga0VpPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGhZWj1LOChrRWkpO2cuS1Y9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKG4sVyk9Pnt0aGlzLnJlc29sdmU9bjt0aGlzLnJlamVjdD1XfSl9fTt2YXIgQXE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5KPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMDApO3RoaXMuTj1uZXcga0VpO2lmKCJjaGFsbGVuZ2UiaW4gbiYmdmRiKG4uY2hhbGxlbmdlKSl7dmFyIFc9WTkobi5jaGFsbGVuZ2UsNCx2b2lkIDAseFUpO3ZhciBEPVk5KG4uY2hhbGxlbmdlLDUsdm9pZCAwLHhVKTtZOShuLmNoYWxsZW5nZSw3LHZvaWQgMCx4VSkmJih0aGlzLk49aFlaKFk5KG4uY2hhbGxlbmdlLDcsdm9pZCAwLHhVKSkpfWVsc2Uoe3Byb2dyYW06VyxnbG9iYWxOYW1lOkR9PW4pO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soYXN5bmMoKT0+e3ZhciB7Vng6R309YXdhaXQgdGhpcy5XO0c/LigpfSk7CnRoaXMubG9nZ2VyPUxWKG4ueDN8fHt9LHRoaXMuTik7Zy51KHRoaXMsdGhpcy5sb2dnZXIpO3ZhciBiPW5ldyBnLktWO3RoaXMuVz1iLnByb21pc2U7dGhpcy5sb2dnZXIuTigidCIpO3ZhciB2PXRoaXMubG9nZ2VyLnNoYXJlKCksaz1uZXcgTWwodiwidCIpLGg9KEcscixOLEgpPT57aWYoIXRoaXMubG9nZ2VyLnFOKCkpe3ZhciBBPSJrIjtyP0E9ImgiOk4mJihBPSJ1Iik7QSE9PSJrIj9IIT09MCYmKHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpKTp0aGlzLko8PTA/KHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpLHRoaXMuSj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKSk6dGhpcy5KLS19fSx4PShHLHIsTixIKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntrLmRvbmUoKTsKdi5XKCk7di5kaXNwb3NlKCk7Yi5yZXNvbHZlKHtGeTpHLFZ4OnIscDU6Tix4VTpIfSl9KX0sTD1bKEcscik9Pnt0aGlzLmxvZ2dlci5YKEcscil9LApHPT57dGhpcy5sb2dnZXIuSihHKX0sCkc9Pnt0aGlzLmxvZ2dlci5EKEcpfSwKKEcscik9Pnt0aGlzLmxvZ2dlci5ZKEcscil9XTsKaWYoIWcucWlbRF0pdGhyb3cgdGhpcy5sb2dnZXIuSigyNSksRXJyb3IoIkVHT1UiKTtpZighZy5xaVtEXS5hKXRocm93IHRoaXMubG9nZ2VyLkooMjYpLEVycm9yKCJFTElVIik7dHJ5e2xldCBHPWcucWlbRF0uYTtEPVtdO2xldCByPVtdO3ZhciBlPW4wKHRoaXMuTik7Zm9yKGxldCBBPTA7QTxlLmxlbmd0aDtBKyspRC5wdXNoKGVbQV0pLHIucHVzaCgxKTtsZXQgTj1VaXcodGhpcy5OKTtmb3IoZT0wO2U8Ti5sZW5ndGg7ZSsrKUQucHVzaChOW2VdKSxyLnB1c2goMik7bGV0IFtIXT1HKFcseCwhMCxuLnczLGgsW0Qscl0sWTkodGhpcy5OLDUpLCExLEwpO3RoaXMuWD1IO3RoaXMuT3Y9Yi5wcm9taXNlLnRoZW4oKCk9Pnt9KX1jYXRjaChHKXt0aHJvdyB0aGlzLmxvZ2dlci5KKDI4KSxHOwp9fXNuYXBzaG90KG4pe2lmKHRoaXMucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO3RoaXMubG9nZ2VyLk4oIm4iKTt2YXIgVz10aGlzLmxvZ2dlci5zaGFyZSgpO3JldHVybiB0aGlzLlcudGhlbigoe0Z5OkR9KT0+bmV3IFByb21pc2UoYj0+e3ZhciB2PW5ldyBNbChXLCJuIik7RChrPT57di5kb25lKCk7Vy5qKGsubGVuZ3RoKTtXLlcoKTtXLmRpc3Bvc2UoKTtiKGspfSxbbi53XywKbi5HbCxuLnRMLG4uTU9dKX0pKX1tNShuKXtpZih0aGlzLnFOKCkpdGhyb3cgRXJyb3IoIkFscmVhZHkgZGlzcG9zZWQiKTsKdGhpcy5sb2dnZXIuTigibiIpO3ZhciBXPXYzKHRoaXMubG9nZ2VyLCgpPT50aGlzLlgoW24ud18sbi5HbCxuLnRMLG4uTU9dKSwibiIpOwp0aGlzLmxvZ2dlci5qKFcubGVuZ3RoKTt0aGlzLmxvZ2dlci5XKCk7cmV0dXJuIFd9UzEobil7dGhpcy5XLnRoZW4oKHtwNTpXfSk9PntXPy4obil9KX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX07dmFyIGVtPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5KPXt9O3RoaXMuTj1udWxsfX07dmFyICRZPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBOdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgZlY9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuY2xpZW50PW47dGhpcy5yZXF1ZXN0S2V5PVc7dGhpcy5OPUR9Wmoobil7cmV0dXJuIEgzKHRoaXMsbixuZXcgeFksMCl9fTt2YXIgVEg9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5vcHRpb25zPW47dGhpcy5WPW5ldyBnLktWO3RoaXMuT3Y9dGhpcy5WLnByb21pc2U7dGhpcy5qPW5ldyBnLktWO3RoaXMuWT0xO3RoaXMuSj1uZXcgZy5LVjt0aGlzLlg9W107dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnFKPW4ucUp8fCgoKT0+e30pOwp0aGlzLmxvZ2dlcj1uZXcgVzUxKExWKG4ueDN8fHt9KSk7ckFiKHRoaXMsbi5VZyxuLnFULG4ucVUsbi5USCx7Li4ueEdqLC4uLihuLmtkfHx7fSl9KTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHNQMih0aGlzKSl9YXN5bmMgc25hcHNob3Qobil7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7CnRoaXMuV3x8dGhpcy5LfHxhd2FpdCB0aGlzLmoucHJvbWlzZTtpZih0aGlzLlcpcmV0dXJuIGF3YWl0IHRoaXMuVy5zbmFwc2hvdChuKTt0aHJvdyB0aGlzLks7fXBhdXNlKCl7dGhpcy5xTigpfHx0aGlzLmlzUGF1c2VkfHwodGhpcy5pc1BhdXNlZD0hMCx0aGlzLk4mJnRoaXMuTi5wYXVzZSgpKX1yZXN1bWUoKXshdGhpcy5xTigpJiZ0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLk4mJnRoaXMuTi5yZXN1bWUoKSl9YXN5bmMgY2hlY2tGb3JSZWZyZXNoKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7aWYodGhpcy5OKXt2YXIgbj10aGlzLk47bi5pc0V4cGlyZWQoKT8oT2wobiksbi5RNCgwKSxuPSEwKTpuPSExO24mJmF3YWl0IHRoaXMuSi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy5KLnByb21pc2V9UzEobil7dGhpcy5XPy5TMT8uKG4pfWhhbmRsZUVycm9yKG4pe3RoaXMucU4oKXx8KHRoaXMuSz1uLHRoaXMuai5yZXNvbHZlKCksCnRoaXMub3B0aW9ucy50Nj8uKG4pKX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX0seEdqPXtGWjo0MzJFNSx1bTozRTUsbmI6MTAsamQ6MUU0LGhwOjNFNCxRWDozRTQscUs6NkU0LENxOjFFMyx3ODo2RTQsb3o6NkU1LGQ4Oi4yNSxBaToyLG1heEF0dGVtcHRzOjEwfSxTbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5lbmRUaW1lTXM9MDt0aGlzLk49bnVsbDt0aGlzLmlzUGF1c2VkPSExO3RoaXMudGljaz0oKT0+e2lmKCF0aGlzLmlzUGF1c2VkKXt2YXIgYj10aGlzLmVuZFRpbWVNcy1EYXRlLm5vdygpO2I8PXRoaXMuVz8odGhpcy5OPW51bGwsdGhpcy5RNCgwKSk6dGhpcy5OPXNldFRpbWVvdXQodGhpcy50aWNrLE1hdGgubWluKGIsdGhpcy51bSkpfX07CnRoaXMudW09Vzt0aGlzLlc9RDt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoYj0+e3RoaXMuUTQ9Yn0pOwpZVFUodGhpcyxuKX1wYXVzZSgpe3RoaXMuaXNQYXVzZWR8fCh0aGlzLmlzUGF1c2VkPSEwLE9sKHRoaXMpKX1yZXN1bWUoKXt0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLnRpY2soKSl9Sigpe09sKHRoaXMpO3RoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlE0KDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIEhwaT1NYXRoLmltdWw/PygobixXKT0+bipXfDApLFVsPVsxOTYsCjIwMCwyMjQsMThdLHVuPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0wLEQ9W10pe3RoaXMubWF4SXRlbXM9bjt0aGlzLk49Vzt0aGlzLko9RH1iWSgpe3JldHVybiBTdHJpbmcodGhpcy5OKSsiLCIrdGhpcy5KLmpvaW4oKX1xcChuLFcpe3ZhciBEPXZvaWQgMDtpZih0aGlzLkpbdGhpcy5OXSE9PW4pe2xldCBiPXRoaXMuSi5pbmRleE9mKG4pO2IhPT0tMT8odGhpcy5KLnNwbGljZShiLDEpLGI8dGhpcy5OJiZ0aGlzLk4tLSx0aGlzLkouc3BsaWNlKHRoaXMuTiwwLG4pKTooRD10aGlzLkpbdGhpcy5OXSx0aGlzLkpbdGhpcy5OXT1uKX10aGlzLk49KHRoaXMuTisxKSV0aGlzLm1heEl0ZW1zO249UDMoImlVNXEtIU85QCQiLHRoaXMuYlkoKSk7RCYmbiYmVyhEKTtyZXR1cm4gbn19LEw1Uz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMubG9nZ2VyPVc7dHJ5e3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UmJiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtfWNhdGNoKGIpe0Q9ITF9RCYmKHRoaXMuaW5kZXg9SWV3KG4pKX1OKG4sVyxELGIpe3ZhciB2PXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PmZlYih0aGlzLmluZGV4LHlpKG4pLFcsRCxiKSwiVyIpOiJ1IjsKdGhpcy5sb2dnZXIuTyh2KX1KKG4sVyl7dmFyIFtELGJdPXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PkpBdyh5aShuKSxXKSwiUiIpOlsidSJdOwp0aGlzLmxvZ2dlci5LKEQpO3JldHVybiBifX07dmFyIEFBUz17dG9TdHJpbmc6ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO24tPS0yMTQ3NDgzNjQ4O1dbRCsrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIuY2hhckF0KG4lNTIpO2ZvcihuPU1hdGguZmxvb3Iobi81Mik7bj4wOylXW0QrK109ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5Ii5jaGFyQXQobiU2Miksbj1NYXRoLmZsb29yKG4vNjIpO3JldHVybiBXLmpvaW4oIiIpfX07dmFyIFFwPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5YPW5ldyBnLktWfVpSKG4sVyl7dmFyIEQ9dGhpcy5XKG4pO1c/LihEKTtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9PmcuRUEoRCwyKSx0aGlzLkopfUZwKG4sVyxEKXtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9Plc/dGhpcy5aUihuLEQpOnRoaXMuVyhuLEQpLHRoaXMuTil9fSxGNj1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyxELGIpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLks9RDt0aGlzLk49Im0iO3RoaXMuSj0ieCI7dGhpcy5WPTA7ZCQodGhpcyxiKX1XKG4sVyl7dGhpcy5sb2dnZXIuTih0aGlzLk4pOysrdGhpcy5WPj10aGlzLksmJnRoaXMuWC5yZXNvbHZlKCk7dmFyIEQ9bigpO249djModGhpcy5sb2dnZXIsKCk9PnRoaXMuaihEKSwiQyIpOwppZihuPT09dm9pZCAwKXRocm93IG5ldyBRRygxNywiWU5KOlVuZGVmaW5lZCIpO2lmKCEobiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXRocm93IG5ldyBRRygxOCwiT0RNOkludmFsaWQiKTtXPy4obik7cmV0dXJuIG59fSxVaGo9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJmIjt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB0aGlzLmp9fSxacHQ9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJ3Ijt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB2Myh0aGlzLmxvZ2dlciwoKT0+bHAodGhpcy5qKSwiZCIpfVpSKCl7cmV0dXJuIHRoaXMuan19LG9sdz1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIobik7CnRoaXMuZXJyb3I9Vzt0aGlzLk49ImUiO3RoaXMuSj0ieSJ9Vygpe2lmKHRoaXMuailyZXR1cm4gdGhpcy5qO3RoaXMuaj1sbih0aGlzLG49PiJfIittaHcobikpOwpyZXR1cm4gbG4odGhpcyxuPT5uKX19LFFpPWNsYXNzIGV4dGVuZHMgUXB7Y29uc3RydWN0b3IobixXLEQpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLmNsaWVudFN0YXRlPUQ7dGhpcy5OPSJTIjt0aGlzLko9InEifVcoKXt2YXIgbj1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxXPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sRD1XLmNvbmNhdChbdGhpcy5qJjI1NSx0aGlzLmNsaWVudFN0YXRlXSxbbj4+MjQmMjU1LG4+PjE2JjI1NSxuPj44JjI1NSxuJjI1NV0pO249bmV3IFVpbnQ4QXJyYXkoMitELmxlbmd0aCk7blswXT0zNDtuWzFdPUQubGVuZ3RoO24uc2V0KEQsMik7RD1uLnN1YmFycmF5KDIpO1c9Vy5sZW5ndGg7Zm9yKGxldCBiPVc7YjxELmxlbmd0aDsrK2IpRFtiXV49RFtiJVddO3RoaXMubG9nZ2VyLmNKKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBufX07dmFyIGVZaT17WFU6M0U0LHJTOjJFNH0sQW10PWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD1uZXcgZy5LVjt0aGlzLmo9MDt0aGlzLko9dm9pZCAwO3RoaXMuc3RhdGU9Mjt0aGlzLk8xPW4uTzE7dGhpcy5VZz1uLlVnO3RoaXMua2Q9ey4uLmVZaSwuLi4obi5rZHx8e30pfTt0aGlzLmxvZ2dlcj1uLk8xLlFEKCk7dGhpcy5vbkVycm9yPW4ub25FcnJvcj8/KCgpPT57fSk7CnRoaXMuWGw9bi5YbHx8ITE7aWYoZ2R0KG4pKXtsZXQgYj10aGlzLk8xO3RoaXMuVj0oKT0+TlR0KGIpLmNhdGNoKHY9Pnt0aGlzLko9dj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRyh0aGlzLk4/MjA6MzIsIlRSRzpEaXNwb3NlZCIsdikpO3RoaXMuTj8uZGlzcG9zZSgpO3RoaXMuTj12b2lkIDA7dGhpcy5YLnJlamVjdCh2KX0pOwpwNGkoYiwoKT0+dm9pZCBCMyh0aGlzKSk7CmIuWT09PTImJkIzKHRoaXMpfWVsc2UgdGhpcy5WPW4uRTYsQjModGhpcyk7dmFyIFc9dGhpcy5sb2dnZXIuc2hhcmUoKTtXLk4oIm8iKTt2YXIgRD1uZXcgTWwoVywibyIpO3RoaXMuWC5wcm9taXNlLnRoZW4oKCk9PntELmRvbmUoKTtXLlcoKTtXLmRpc3Bvc2UoKX0sKCk9PnZvaWQgVy5kaXNwb3NlKCkpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5OPyh0aGlzLk4uZGlzcG9zZSgpLHRoaXMuTj12b2lkIDApOnRoaXMuSj90aGlzLmxvZ2dlci5XKCk6KHRoaXMuSj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRygzMiwiVE5QOkRpc3Bvc2VkIikpLHRoaXMubG9nZ2VyLlcoKSx0aGlzLlgucmVqZWN0KHRoaXMuSikpfSk7CmcudSh0aGlzLHRoaXMubG9nZ2VyKX1IJCgpe3JldHVybiB0aGlzLlgucHJvbWlzZX1XKG4pe3JldHVybiBNdih0aGlzLHsuLi5ufSwhMSl9WlIobil7cmV0dXJuIE12KHRoaXMsey4uLm59LCEwKX15aChuKXtpZighKG4+MTUwKSl0cnl7dGhpcy5jYWNoZT1uZXcgTDVTKG4sdGhpcy5sb2dnZXIpfWNhdGNoKFcpe3RoaXMucmVwb3J0RXJyb3IobmV3IFFHKDIyLCJHQko6aW5pdCIsVykpfX1yZXBvcnRFcnJvcihuKXt0aGlzLmxvZ2dlci5KKG4uY29kZSk7dGhpcy5vbkVycm9yKG4pO3JldHVybiBufX0sZ2R0PWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT57aWYoIWtDeChXKSlyZXR1cm4hMTtmb3IobGV0IFtELGJdb2YgT2JqZWN0LmVudHJpZXMobikpe2xldCB2PUQsaz1iO2lmKCEodiBpbiBXKSl7aWYoay5LUD09PSEwKWNvbnRpbnVlO3JldHVybiExfWlmKCFrKFdbdl0pKXJldHVybiExfXJldHVybiEwfSl9KHtPMTpxMyhuPT5uIGluc3RhbmNlb2YgVEgpfSwiIik7dmFyIHFuaT1jbGFzc3tjb25zdHJ1Y3Rvcigpe2lmKCFWcCl7VnA9bmV3IGhxKG5ldyBYbkMpO3ZhciBuPXYwKCJjbGllbnRfc3RyZWFtel93ZWJfZmx1c2hfY291bnQiLC0xKTtuIT09LTEmJihWcC5YPW4pfXRoaXMuVz1uPVZwO3VlKG4sIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLERYKCJ0eXBlIiksRFgoInNlcXVlbmNlIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L3lvdXR1YmUvYWJhL2dhYyIpfX07Zy5jcT1kb2N1bWVudDtnLncyPXdpbmRvdzt2YXIgZGhaPXtIdToiYWxsb3ctZm9ybXMiLFVpOiJhbGxvdy1tb2RhbHMiLEdvOiJhbGxvdy1vcmllbnRhdGlvbi1sb2NrIixFaToiYWxsb3ctcG9pbnRlci1sb2NrIixNTToiYWxsb3ctcG9wdXBzIixmRToiYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IixGODoiYWxsb3ctcHJlc2VudGF0aW9uIixEczoiYWxsb3ctc2FtZS1vcmlnaW4iLHZ1OiJhbGxvdy1zY3JpcHRzIixPaToiYWxsb3ctdG9wLW5hdmlnYXRpb24iLGdNOiJhbGxvdy10b3AtbmF2aWdhdGlvbi1ieS11c2VyLWFjdGl2YXRpb24ifSxsZVM9Zy53RCgoKT0+ekhpKCkpO2cuRT1nLmJyLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuYnIodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNvbnRhaW5zPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5NWT9uLng+PXRoaXMubGVmdCYmbi54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmbi55Pj10aGlzLnRvcCYmbi55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PW4ubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PW4ubGVmdCtuLndpZHRoJiZ0aGlzLnRvcDw9bi50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1uLnRvcCtuLmhlaWdodH07CmcuRS5nZXRTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBnLlFlKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpnLkUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307CmcuRS5zY2FsZT1mdW5jdGlvbihuLFcpe1c9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47dGhpcy5sZWZ0Kj1uO3RoaXMud2lkdGgqPW47dGhpcy50b3AqPVc7dGhpcy5oZWlnaHQqPVc7cmV0dXJuIHRoaXN9O3ZhciBqUEM9L14tLS4rLyxMVz17fTtnLkdFMj1nLndEKCgpPT57dmFyIG49ITE7dHJ5e2xldCBXPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldCgpe249ITB9fSk7Zy5xaS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLFcpfWNhdGNoKFcpe31yZXR1cm4gbn0pO3ZhciB6Q3c9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIHRJdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgJEcxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmZ2PW47dGhpcy5sMD1XO3RoaXMubWV0YWRhdGE9RH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfX07dmFyIEJUdD1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30pe3RoaXMuUHo9bjt0aGlzLm1ldGFkYXRhPVc7dGhpcy5zdGF0dXM9bnVsbH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfWdldFN0YXR1cygpe3JldHVybiB0aGlzLnN0YXR1c319O3ZhciByc3c9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLm5hbWU9bjt0aGlzLm1ldGhvZFR5cGU9InVuYXJ5Ijt0aGlzLnJlcXVlc3RUeXBlPVc7dGhpcy5yZXNwb25zZVR5cGU9RDt0aGlzLk49Yjt0aGlzLlc9dn1KKG4sVz17fSl7cmV0dXJuIG5ldyAkRzEobix0aGlzLFcpfWdldE5hbWUoKXtyZXR1cm4gdGhpcy5uYW1lfX07dmFyIHNPTT1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvQ3JlYXRlIiwkWSx0SXQsbj0+bi5iWSgpLEs4KHRJdCkpO3ZhciBOUDI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHFUUz1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvR2VuZXJhdGVJVCIsTnYsTlAyLG49Pm4uYlkoKSxLOChOUDIpKTt2YXIgWDJyPW5ldyBTZXQoWyJTQVBJU0lESEFTSCIsIkFQSVNJREhBU0giXSk7dmFyIFJIaT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0VmFsdWUoKXt2YXIgbj1pVyh0aGlzLDIpO2lmKEFycmF5LmlzQXJyYXkobil8fG4gaW5zdGFuY2VvZiBnLlFtKXRocm93IEVycm9yKCJDYW5ub3QgYWNjZXNzIHRoZSBBbnkudmFsdWUgZmllbGQgb24gQW55IHByb3RvcyBlbmNvZGVkIHVzaW5nIHRoZSBqc3BiIGZvcm1hdCwgY2FsbCB1bnBhY2tKc3BiIGluc3RlYWQiKTtyZXR1cm4gUnoodGhpcywyKX19O3ZhciBNMWI9SzgoY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE1lc3NhZ2UoKXtyZXR1cm4gWTkodGhpcywyKX19KTt2YXIgdHUxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPVtdO3RoaXMuWD1bXTt0aGlzLmo9W107dGhpcy5XPVtdO3RoaXMuTj1bXTt0aGlzLlY9bi5NRTt0aGlzLks9Vzt0aGlzLnhocj1uLnhocjt0aGlzLlYmJnc0cih0aGlzKX14VihuLFcpe249PT0iZGF0YSI/dGhpcy5KLnB1c2goVyk6bj09PSJtZXRhZGF0YSI/dGhpcy5YLnB1c2goVyk6bj09PSJzdGF0dXMiP3RoaXMuai5wdXNoKFcpOm49PT0iZW5kIj90aGlzLlcucHVzaChXKTpuPT09ImVycm9yIiYmdGhpcy5OLnB1c2goVyl9cmVtb3ZlTGlzdGVuZXIobixXKXtuPT09ImRhdGEiP0ExKHRoaXMuSixXKTpuPT09Im1ldGFkYXRhIj9BMSh0aGlzLlgsVyk6bj09PSJzdGF0dXMiP0ExKHRoaXMuaixXKTpuPT09ImVuZCI/QTEodGhpcy5XLFcpOm49PT0iZXJyb3IiJiZBMSh0aGlzLk4sVyk7cmV0dXJuIHRoaXN9Y2FuY2VsKCl7dGhpcy54aHIuYWJvcnQoKX19LFFQUz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoKTsKdGhpcy5uYW1lPSJBc3luY1N0YWNrIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTtnLml4KG1HLEJKKTttRy5wcm90b3R5cGUuTj1mdW5jdGlvbigpe3ZhciBuPW5ldyBLVyh0aGlzLlgsdGhpcy5XKTt0aGlzLkomJm4uc2V0Q3JlZGVudGlhbHNNb2RlKHRoaXMuSik7cmV0dXJuIG59OwptRy5wcm90b3R5cGUuc2V0Q3JlZGVudGlhbHNNb2RlPWZ1bmN0aW9uKG4pe3RoaXMuSj1ufTsKZy5peChLVyxnLm9XKTtnLkU9S1cucHJvdG90eXBlO2cuRS5vcGVuPWZ1bmN0aW9uKG4sVyl7aWYodGhpcy5yZWFkeVN0YXRlIT0wKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcigiRXJyb3IgcmVvcGVuaW5nIGEgY29ubmVjdGlvbiIpO3RoaXMuY0o9bjt0aGlzLk89Vzt0aGlzLnJlYWR5U3RhdGU9MTtQWSh0aGlzKX07CmcuRS5zZW5kPWZ1bmN0aW9uKG4pe2lmKHRoaXMucmVhZHlTdGF0ZSE9MSl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIm5lZWQgdG8gY2FsbCBvcGVuKCkgZmlyc3QuICIpO2lmKHRoaXMuWS5zaWduYWwuYWJvcnRlZCl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIik7dGhpcy5OPSEwO3ZhciBXPXtoZWFkZXJzOnRoaXMuRCxtZXRob2Q6dGhpcy5jSixjcmVkZW50aWFsczp0aGlzLmosY2FjaGU6dm9pZCAwLHNpZ25hbDp0aGlzLlkuc2lnbmFsfTtuJiYoVy5ib2R5PW4pOyh0aGlzLnR3fHxnLnFpKS5mZXRjaChuZXcgUmVxdWVzdCh0aGlzLk8sVykpLnRoZW4odGhpcy5HRS5iaW5kKHRoaXMpLHRoaXMuRFAuYmluZCh0aGlzKSl9OwpnLkUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLnN0YXR1cz0wO3RoaXMuWS5hYm9ydCgiUmVxdWVzdCB3YXMgYWJvcnRlZC4iKTt0aGlzLlcmJnRoaXMuVy5jYW5jZWwoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIikuY2F0Y2goKCk9Pnt9KTsKdGhpcy5yZWFkeVN0YXRlPj0xJiZ0aGlzLk4mJnRoaXMucmVhZHlTdGF0ZSE9NCYmKHRoaXMuTj0hMSxaYSh0aGlzKSk7dGhpcy5yZWFkeVN0YXRlPTB9OwpnLkUuR0U9ZnVuY3Rpb24obil7aWYodGhpcy5OJiYodGhpcy5YPW4sdGhpcy5KfHwodGhpcy5zdGF0dXM9dGhpcy5YLnN0YXR1cyx0aGlzLnN0YXR1c1RleHQ9dGhpcy5YLnN0YXR1c1RleHQsdGhpcy5KPW4uaGVhZGVycyx0aGlzLnJlYWR5U3RhdGU9MixQWSh0aGlzKSksdGhpcy5OJiYodGhpcy5yZWFkeVN0YXRlPTMsUFkodGhpcyksdGhpcy5OKSkpaWYodGhpcy5yZXNwb25zZVR5cGU9PT0iYXJyYXlidWZmZXIiKW4uYXJyYXlCdWZmZXIoKS50aGVuKHRoaXMuSFQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpO2Vsc2UgaWYodHlwZW9mIGcucWkuUmVhZGFibGVTdHJlYW0hPT0idW5kZWZpbmVkIiYmImJvZHkiaW4gbil7dGhpcy5XPW4uYm9keS5nZXRSZWFkZXIoKTtpZih0aGlzLlYpe2lmKHRoaXMucmVzcG9uc2VUeXBlKXRocm93IEVycm9yKCdyZXNwb25zZVR5cGUgbXVzdCBiZSBlbXB0eSBmb3IgInN0cmVhbUJpbmFyeUNodW5rcyIgbW9kZSByZXNwb25zZXMuJyk7dGhpcy5yZXNwb25zZT0KW119ZWxzZSB0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiLHRoaXMuSz1uZXcgVGV4dERlY29kZXI7T2oodGhpcyl9ZWxzZSBuLnRleHQoKS50aGVuKHRoaXMuVUQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpfTsKZy5FLmxFPWZ1bmN0aW9uKG4pe2lmKHRoaXMuTil7aWYodGhpcy5WJiZuLnZhbHVlKXRoaXMucmVzcG9uc2UucHVzaChuLnZhbHVlKTtlbHNlIGlmKCF0aGlzLlYpe3ZhciBXPW4udmFsdWU/bi52YWx1ZTpuZXcgVWludDhBcnJheSgwKTtpZihXPXRoaXMuSy5kZWNvZGUoVyx7c3RyZWFtOiFuLmRvbmV9KSl0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0Kz1XfW4uZG9uZT9aYSh0aGlzKTpQWSh0aGlzKTt0aGlzLnJlYWR5U3RhdGU9PTMmJk9qKHRoaXMpfX07CmcuRS5VRD1mdW5jdGlvbihuKXt0aGlzLk4mJih0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PW4sWmEodGhpcykpfTsKZy5FLkhUPWZ1bmN0aW9uKG4pe3RoaXMuTiYmKHRoaXMucmVzcG9uc2U9bixaYSh0aGlzKSl9OwpnLkUuRFA9ZnVuY3Rpb24oKXt0aGlzLk4mJlphKHRoaXMpfTsKZy5FLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24obixXKXt0aGlzLkQuYXBwZW5kKG4sVyl9OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuSj90aGlzLkouZ2V0KG4udG9Mb3dlckNhc2UoKSl8fCIiOiIifTsKZy5FLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe2lmKCF0aGlzLkopcmV0dXJuIiI7Zm9yKHZhciBuPVtdLFc9dGhpcy5KLmVudHJpZXMoKSxEPVcubmV4dCgpOyFELmRvbmU7KUQ9RC52YWx1ZSxuLnB1c2goRFswXSsiOiAiK0RbMV0pLEQ9Vy5uZXh0KCk7cmV0dXJuIG4uam9pbigiXHJcbiIpfTsKZy5FLnNldENyZWRlbnRpYWxzTW9kZT1mdW5jdGlvbihuKXt0aGlzLmo9bn07Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShLVy5wcm90b3R5cGUsIndpdGhDcmVkZW50aWFscyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0iaW5jbHVkZSJ9LApzZXQ6ZnVuY3Rpb24obil7dGhpcy5zZXRDcmVkZW50aWFsc01vZGUobj8iaW5jbHVkZSI6InNhbWUtb3JpZ2luIil9fSk7Zy5Vai5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPXRoaXMuWDtXJiZuLnB1c2goek4oVyxwbngsITApLCI6Iik7dmFyIEQ9dGhpcy5OO2lmKER8fFc9PSJmaWxlIiluLnB1c2goIi8vIiksKFc9dGhpcy5ZKSYmbi5wdXNoKHpOKFcscG54LCEwKSwiQCIpLG4ucHVzaChxaChEKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxEPXRoaXMuVixEIT1udWxsJiZuLnB1c2goIjoiLFN0cmluZyhEKSk7aWYoRD10aGlzLkopdGhpcy5OJiZELmNoYXJBdCgwKSE9Ii8iJiZuLnB1c2goIi8iKSxuLnB1c2goek4oRCxELmNoYXJBdCgwKT09Ii8iP1luTTpIN2osITApKTsoRD10aGlzLlcudG9TdHJpbmcoKSkmJm4ucHVzaCgiPyIsRCk7KEQ9dGhpcy5qKSYmbi5wdXNoKCIjIix6TihELGZVYikpO3JldHVybiBuLmpvaW4oIiIpfTsKZy5Vai5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihuKXt2YXIgVz10aGlzLmNsb25lKCksRD0hIW4uWDtEP3lOKFcsbi5YKTpEPSEhbi5ZO0Q/Vy5ZPW4uWTpEPSEhbi5OO0Q/RWooVyxuLk4pOkQ9bi5WIT1udWxsO3ZhciBiPW4uSjtpZihEKWlyKFcsbi5WKTtlbHNlIGlmKEQ9ISFuLkope2lmKGIuY2hhckF0KDApIT0iLyIpaWYodGhpcy5OJiYhdGhpcy5KKWI9Ii8iK2I7ZWxzZXt2YXIgdj1XLkoubGFzdEluZGV4T2YoIi8iKTt2IT0tMSYmKGI9Vy5KLnNsaWNlKDAsdisxKStiKX12PWI7aWYodj09Ii4uInx8dj09Ii4iKWI9IiI7ZWxzZSBpZih2LmluZGV4T2YoIi4vIikhPS0xfHx2LmluZGV4T2YoIi8uIikhPS0xKXtiPWcualUodiwiLyIpO3Y9di5zcGxpdCgiLyIpO2xldCBrPVtdO2ZvcihsZXQgaD0wO2g8di5sZW5ndGg7KXtsZXQgeD12W2grK107eD09Ii4iP2ImJmg9PXYubGVuZ3RoJiZrLnB1c2goIiIpOng9PSIuLiI/KChrLmxlbmd0aD4xfHxrLmxlbmd0aD09MSYma1swXSE9CiIiKSYmay5wb3AoKSxiJiZoPT12Lmxlbmd0aCYmay5wdXNoKCIiKSk6KGsucHVzaCh4KSxiPSEwKX1iPWsuam9pbigiLyIpfWVsc2UgYj12fUQ/Vy5KPWI6RD1uLlcudG9TdHJpbmcoKSE9PSIiO0Q/dXIoVyxuLlcuY2xvbmUoKSk6RD0hIW4uajtEJiYoVy5qPW4uaik7cmV0dXJuIFd9OwpnLlVqLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5Vaih0aGlzKX07CnZhciBwbng9L1sjXC9cP0BdL2csSDdqPS9bI1w/Ol0vZyxZbk09L1sjXD9dL2csRHhTPS9bI1w/QF0vZyxmVWI9LyMvZztnLkU9ZGgucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLlc9bnVsbDtuPWpTKHRoaXMsbik7dmFyIEQ9dGhpcy5OLmdldChuKTtEfHx0aGlzLk4uc2V0KG4sRD1bXSk7RC5wdXNoKFcpO3RoaXMuSj10aGlzLkorMTtyZXR1cm4gdGhpc307CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7VE4odGhpcyk7bj1qUyh0aGlzLG4pO3JldHVybiB0aGlzLk4uaGFzKG4pPyh0aGlzLlc9bnVsbCx0aGlzLko9dGhpcy5KLXRoaXMuTi5nZXQobikubGVuZ3RoLHRoaXMuTi5kZWxldGUobikpOiExfTsKZy5FLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5OPXRoaXMuVz1udWxsO3RoaXMuSj0wfTsKZy5FLmlzRW1wdHk9ZnVuY3Rpb24oKXtUTih0aGlzKTtyZXR1cm4gdGhpcy5KPT0wfTsKZy5FLmZvckVhY2g9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe0QuZm9yRWFjaChmdW5jdGlvbih2KXtuLmNhbGwoVyx2LGIsdGhpcyl9LHRoaXMpfSx0aGlzKX07CmcuRS51Qj1mdW5jdGlvbigpe1ROKHRoaXMpO3ZhciBuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKSxXPUFycmF5LmZyb20odGhpcy5OLmtleXMoKSksRD1bXTtmb3IobGV0IGI9MDtiPFcubGVuZ3RoO2IrKyl7bGV0IHY9bltiXTtmb3IobGV0IGs9MDtrPHYubGVuZ3RoO2srKylELnB1c2goV1tiXSl9cmV0dXJuIER9OwpnLkUuejc9ZnVuY3Rpb24obil7VE4odGhpcyk7dmFyIFc9W107aWYodHlwZW9mIG49PT0ic3RyaW5nIilDVyh0aGlzLG4pJiYoVz1XLmNvbmNhdCh0aGlzLk4uZ2V0KGpTKHRoaXMsbikpKSk7ZWxzZXtuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXPVcuY29uY2F0KG5bRF0pfXJldHVybiBXfTsKZy5FLnNldD1mdW5jdGlvbihuLFcpe1ROKHRoaXMpO3RoaXMuVz1udWxsO249alModGhpcyxuKTtDVyh0aGlzLG4pJiYodGhpcy5KPXRoaXMuSi10aGlzLk4uZ2V0KG4pLmxlbmd0aCk7dGhpcy5OLnNldChuLFtXXSk7dGhpcy5KPXRoaXMuSisxO3JldHVybiB0aGlzfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBXO249dGhpcy56NyhuKTtyZXR1cm4gbi5sZW5ndGg+MD9TdHJpbmcoblswXSk6V307CmcuRS50b1N0cmluZz1mdW5jdGlvbigpe2lmKHRoaXMuVylyZXR1cm4gdGhpcy5XO2lmKCF0aGlzLk4pcmV0dXJuIiI7dmFyIG49W10sVz1BcnJheS5mcm9tKHRoaXMuTi5rZXlzKCkpO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXt2YXIgRD1XW2JdO2xldCB2PXFoKEQpO0Q9dGhpcy56NyhEKTtmb3IobGV0IGs9MDtrPEQubGVuZ3RoO2srKyl7bGV0IGg9djtEW2tdIT09IiImJihoKz0iPSIrcWgoRFtrXSkpO24ucHVzaChoKX19cmV0dXJuIHRoaXMuVz1uLmpvaW4oIiYiKX07CmcuRS5jbG9uZT1mdW5jdGlvbigpe3ZhciBuPW5ldyBkaDtuLlc9dGhpcy5XO3RoaXMuTiYmKG4uTj1uZXcgTWFwKHRoaXMuTiksbi5KPXRoaXMuSik7cmV0dXJuIG59OwpnLkUuZXh0ZW5kPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8YXJndW1lbnRzLmxlbmd0aDtXKyspbktpKGFyZ3VtZW50c1tXXSxmdW5jdGlvbihELGIpe3RoaXMuYWRkKGIsRCl9LHRoaXMpfTtnLml4KEJZLGcuRk0pO3ZhciBKc2o9W107Zy5FPUJZLnByb3RvdHlwZTtnLkUuU189ZnVuY3Rpb24obixXLEQsYil7QXJyYXkuaXNBcnJheShXKXx8KFcmJihKc2pbMF09Vy50b1N0cmluZygpKSxXPUpzaik7Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPUFIKG4sV1t2XSxEfHx0aGlzLmhhbmRsZUV2ZW50LGJ8fCExLHRoaXMuSnx8dGhpcyk7aWYoIWspYnJlYWs7dGhpcy5OW2sua2V5XT1rfXJldHVybiB0aGlzfTsKZy5FLmVGPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBGbSh0aGlzLG4sVyxELGIpfTsKZy5FLndIPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSlmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKyl0aGlzLndIKG4sV1trXSxELGIsdik7ZWxzZSBEPUR8fHRoaXMuaGFuZGxlRXZlbnQsYj1nLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2PXZ8fHRoaXMuSnx8dGhpcyxEPW1oKEQpLGI9ISFiLFc9TjUobik/bi5zYyhXLEQsYix2KTpuPyhuPU8yKG4pKT9uLnNjKFcsRCxiLHYpOm51bGw6bnVsbCxXJiYoRTIoVyksZGVsZXRlIHRoaXMuTltXLmtleV0pfTsKZy5FLlRpPWZ1bmN0aW9uKCl7Zy5hXyh0aGlzLk4sZnVuY3Rpb24obixXKXt0aGlzLk4uaGFzT3duUHJvcGVydHkoVykmJkUyKG4pfSx0aGlzKTsKdGhpcy5OPXt9fTsKZy5FLm1BPWZ1bmN0aW9uKCl7QlkuVEIubUEuY2FsbCh0aGlzKTt0aGlzLlRpKCl9OwpnLkUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiRXZlbnRIYW5kbGVyLmhhbmRsZUV2ZW50IG5vdCBpbXBsZW1lbnRlZCIpO307dmFyIGtoUz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuVz0hMDt0aGlzLko9MDt0aGlzLk49IiJ9aXNJbnB1dFZhbGlkKCl7cmV0dXJuIHRoaXMuV319O010LnByb3RvdHlwZS5pc0lucHV0VmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OIT0zfTsKTXQucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVn07Ck10LnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiEwfTsKTXQucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7TCYxMjgmJlJzKGssaCx4LCJpbnZhbGlkIHRhZyIpOyhMJjcpIT0yJiZScyhrLGgseCwiaW52YWxpZCB3aXJlIHR5cGUiKTtrLlc9TD4+PjM7ay5XIT0xJiZrLlchPTImJmsuVyE9MTUmJlJzKGssaCx4LCJ1bmV4cGVjdGVkIHRhZyIpO2suTj0xO2suSj0wO2suWD0wfQpmdW5jdGlvbiBEKEwpe2suWCsrO2suWD09NSYmTCYyNDAmJlJzKGssaCx4LCJtZXNzYWdlIGxlbmd0aCB0b28gbG9uZyIpO2suSnw9KEwmMTI3KTw8KGsuWC0xKSo3O0wmMTI4fHwoay5OPTIsay5ZPTAsdHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIj9rLmo9bmV3IFVpbnQ4QXJyYXkoay5KKTprLmo9QXJyYXkoay5KKSxrLko9PTAmJnYoKSl9CmZ1bmN0aW9uIGIoTCl7ay5qW2suWSsrXT1MO2suWT09ay5KJiZ2KCl9CmZ1bmN0aW9uIHYoKXtpZihrLlc8MTUpe2xldCBMPXt9O0xbay5XXT1rLmo7ay5LLnB1c2goTCl9ay5OPTB9CmZvcih2YXIgaz10aGlzLGg9biBpbnN0YW5jZW9mIEFycmF5P246bmV3IFVpbnQ4QXJyYXkobikseD0wO3g8aC5sZW5ndGg7KXtzd2l0Y2goay5OKXtjYXNlIDM6UnMoayxoLHgsInN0cmVhbSBhbHJlYWR5IGJyb2tlbiIpO2JyZWFrO2Nhc2UgMDpXKGhbeF0pO2JyZWFrO2Nhc2UgMTpEKGhbeF0pO2JyZWFrO2Nhc2UgMjpiKGhbeF0pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoInVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlOiAiK2suTik7fWsuRCsrO3grK31uPWsuSztrLks9W107cmV0dXJuIG4ubGVuZ3RoPjA/bjpudWxsfTtRTi5wcm90b3R5cGUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTj09PW51bGx9OwpRTi5wcm90b3R5cGUuczg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTsKUU4ucHJvdG90eXBlLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpRTi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24obil7dGhpcy5OIT09bnVsbCYmVk4odGhpcyxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTt2YXIgVz1udWxsO3RyeXt7dmFyIEQ9dGhpcy5XO0QuV3x8d2goRCxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTtELk4rPW47bGV0IGs9TWF0aC5mbG9vcihELk4ubGVuZ3RoLzQpO2lmKGs9PTApdmFyIGI9bnVsbDtlbHNle3RyeXt2YXIgdj16aChELk4uc2xpY2UoMCxrKjQpKX1jYXRjaChoKXt3aChELEQuTixoLm1lc3NhZ2UpfUQuSis9ayo0O0QuTj1ELk4uc2xpY2Uoayo0KTtiPXZ9fVc9Yj09PW51bGw/bnVsbDp0aGlzLlgucGFyc2UoYil9Y2F0Y2goayl7Vk4odGhpcyxuLGsubWVzc2FnZSl9dGhpcy5KKz1uLmxlbmd0aDtyZXR1cm4gV307Zy5FPWFzLnByb3RvdHlwZTtnLkUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaiE9M307CmcuRS5zOD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkR9OwpnLkUuZG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0yfTsKZy5FLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpnLkUucGFyc2U9ZnVuY3Rpb24obil7ZnVuY3Rpb24gVygpe2Zvcig7cjxuLmxlbmd0aDspaWYoY1kobltyXSkpcisrLGsuVysrO2Vsc2UgYnJlYWs7cmV0dXJuIHI8TH0KZnVuY3Rpb24gRCgpe2Zvcih2YXIgSDs7KXtIPW5bcisrXTtpZighSClicmVhaztrLlcrKztzd2l0Y2goay5OKXtjYXNlIDA6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00OmNZKEgpfHxuXyhrLG4scik7Y29udGludWU7Y2FzZSA3OmNhc2UgMjppZihjWShIKSljb250aW51ZTtpZihrLk49PT03KWgucHVzaCg4KTtlbHNlIGlmKEg9PT0ifSIpe3YoInt9Iik7ay5OPWIoKTtjb250aW51ZX1lbHNlIGgucHVzaCgzKTtIPT09JyInP2suTj02Om5fKGssbixyKTtjb250aW51ZTtjYXNlIDg6Y2FzZSAzOmlmKGNZKEgpKWNvbnRpbnVlO0g9PT0iOiI/KGsuTj09PTMmJihoLnB1c2goMyksay5KKyspLGsuTj0xKTpIPT09In0iPyhrLkotLSx2KCksay5OPWIoKSk6SD09PSIsIj8oay5OPT09MyYmaC5wdXNoKDMpLGsuTj03KTpuXyhrLG4scik7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZihjWShIKSljb250aW51ZTtpZihrLk49PT00KWlmKGsuSisrLGsuTj0xLEg9PT0iXSIpe2suSi0tO2lmKGsuSj09PQowKXtrLk49NTtyZXR1cm59digiW10iKTtrLk49YigpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDUpO0g9PT0nIic/ay5OPTY6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00Okg9PT0idCI/ay5OPTk6SD09PSJmIj9rLk49MTI6SD09PSJuIj9rLk49MTY6SCE9PSItIiYmKCIwMTIzNDU2Nzg5Ii5pbmRleE9mKEgpIT09LTE/ay5OPTIwOm5fKGssbixyKSk7Y29udGludWU7Y2FzZSA1OmlmKEg9PT0iLCIpaC5wdXNoKDUpLGsuTj0xLGsuSj09PTEmJihHPXIpO2Vsc2UgaWYoSD09PSJdIil7ay5KLS07aWYoay5KPT09MClyZXR1cm47digpO2suTj1iKCl9ZWxzZSBpZihjWShIKSljb250aW51ZTtlbHNlIG5fKGssbixyKTtjb250aW51ZTtjYXNlIDY6bGV0IEE9cjthOmZvcig7Oyl7Zm9yKDtrLlk+MDspaWYoSD1uW3IrK10say5ZPT09ND9rLlk9MDprLlkrKywhSClicmVhayBhO2lmKEg9PT0nIicmJiFrLkspe2suTj1iKCk7YnJlYWt9aWYoSD09PSJcXCImJiFrLksmJihrLks9ITAsSD1uW3IrK10sCiFIKSlicmVhaztpZihrLkspaWYoay5LPSExLEg9PT0idSImJihrLlk9MSksSD1uW3IrK10pY29udGludWU7ZWxzZSBicmVhazt4Lmxhc3RJbmRleD1yO0g9eC5leGVjKG4pO2lmKCFIKXtyPW4ubGVuZ3RoKzE7YnJlYWt9cj1ILmluZGV4KzE7SD1uW0guaW5kZXhdO2lmKCFIKWJyZWFrfWsuVys9ci1BO2NvbnRpbnVlO2Nhc2UgOTppZighSCljb250aW51ZTtIPT09InIiP2suTj0xMDpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMDppZighSCljb250aW51ZTtIPT09InUiP2suTj0xMTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMTppZighSCljb250aW51ZTtIPT09ImUiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTI6aWYoIUgpY29udGludWU7SD09PSJhIj9rLk49MTM6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIUgpY29udGludWU7SD09PSJsIj9rLk49MTQ6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIUgpY29udGludWU7SD09PSJzIj9rLk49MTU6Cm5fKGssbixyKTtjb250aW51ZTtjYXNlIDE1OmlmKCFIKWNvbnRpbnVlO0g9PT0iZSI/ay5OPWIoKTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNjppZighSCljb250aW51ZTtIPT09InUiP2suTj0xNzpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNzppZighSCljb250aW51ZTtIPT09ImwiP2suTj0xODpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxODppZighSCljb250aW51ZTtIPT09ImwiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTk6SD09PSIuIj9rLk49MjA6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMjA6aWYoIjAxMjM0NTY3ODkuZUUrLSIuaW5kZXhPZihIKSE9PS0xKWNvbnRpbnVlO2Vsc2Ugci0tLGsuVy0tLGsuTj1iKCk7Y29udGludWU7ZGVmYXVsdDpuXyhrLG4scil9fX0KZnVuY3Rpb24gYigpe3ZhciBIPWgucG9wKCk7cmV0dXJuIEghPW51bGw/SDoxfQpmdW5jdGlvbiB2KEgpe2suSj4xfHwoSHx8KEg9Rz09PS0xP2suWCtuLnN1YnN0cmluZyhlLHIpOm4uc3Vic3RyaW5nKEcscikpLGsuTz9rLlYucHVzaChIKTprLlYucHVzaChKU09OLnBhcnNlKEgpKSxHPXIpfQpmb3IodmFyIGs9dGhpcyxoPWsuY0oseD1rLnR3LEw9bi5sZW5ndGgsZT0wLEc9LTEscj0wO3I8TDspc3dpdGNoKGsuail7Y2FzZSAzOnJldHVybiBuXyhrLG4sciksbnVsbDtjYXNlIDI6cmV0dXJuIFcoKSYmbl8oayxuLHIpLG51bGw7Y2FzZSAwOmlmKFcoKSl7dmFyIE49bltyKytdO2suVysrO2lmKE49PT0iWyIpe2suaj0xO2U9cjtrLk49NDtjb250aW51ZX1lbHNlIG5fKGssbixyKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIEQoKSxrLko9PT0wJiZrLk49PTU/KGsuaj0yLGsuWD1uLnN1YnN0cmluZyhyKSk6ay5YPUc9PT0tMT9rLlgrbi5zdWJzdHJpbmcoZSk6bi5zdWJzdHJpbmcoRyksay5WLmxlbmd0aD4wPyhOPWsuVixrLlY9W10sTik6bnVsbH1yZXR1cm4gbnVsbH07V0sucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT1udWxsfTsKV0sucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07CldLLnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiExfTsKV0sucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7ay5KPTY7ay5qPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIitrLk4rIi8iK2grIi4gRXJyb3I6ICIrTCsiLiBXaXRoIGlucHV0OlxuIjt0aHJvdyBFcnJvcihrLmopO30KZnVuY3Rpb24gRCgpe2suVz1uZXcgYXMoe1ZMOiEwLFpIOiEwfSl9CmZ1bmN0aW9uIGIoTCl7aWYoTClmb3IobGV0IGU9MDtlPEwubGVuZ3RoO2UrKyl7bGV0IEc9e307R1sxXT1MW2VdO2suWC5wdXNoKEcpfX0KZnVuY3Rpb24gdihMKXtpZihMKXsoay5WfHxMLmxlbmd0aD4xKSYmVygiZXh0cmEgc3RhdHVzOiAiK0wpO2suVj0hMDtsZXQgZT17fTtlWzJdPUxbMF07ay5YLnB1c2goZSl9fQpmb3IodmFyIGs9dGhpcyxoPTA7aDxuLmxlbmd0aDspe3ZhciB4O2lmKHg9ay5KIT09Mil7YTp7Zm9yKDtoPG4ubGVuZ3RoOyl7aWYoIWNZKG5baF0pKXt4PSEwO2JyZWFrIGF9aCsrO2suTisrfXg9ITF9eD0heH1pZih4KXJldHVybiBudWxsO3N3aXRjaChrLkope2Nhc2UgNjpXKCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTticmVhaztjYXNlIDA6bltoXT09PSJbIj8oay5KPTEsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAxOm5baF09PT0iWyI/KGsuSj0yLEQoKSk6bltoXT09PSIsInx8bi5zbGljZShoLGgrNSk9PSJudWxsLCI/ay5KPTM6bltoXT09PSJdIj8oay5KPTUsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAyOng9ay5XLnBhcnNlKG4uc3Vic3RyaW5nKGgpKTtiKHgpO2suVy5kb25lKCk/KGsuSj0zLHg9ay5XLlgsay5OKz1uLmxlbmd0aC1oLXgubGVuZ3RoLG49eCxoPTApOihrLk4rPW4ubGVuZ3RoLQpoLGg9bi5sZW5ndGgpO2JyZWFrO2Nhc2UgMzpuW2hdPT09IiwifHxuLnNsaWNlKGgsaCs1KT09Im51bGwsIj8oay5KPTQsRCgpLGsuVy5wYXJzZSgiWyIpLGgrPW5baF09PT0iLCI/MTo1LGsuTisrKTpuW2hdPT09Il0iJiYoay5KPTUsaCsrLGsuTisrKTticmVhaztjYXNlIDQ6eD1rLlcucGFyc2Uobi5zdWJzdHJpbmcoaCkpO3YoeCk7ay5XLmRvbmUoKT8oay5KPTUseD1rLlcuWCxrLk4rPW4ubGVuZ3RoLWgteC5sZW5ndGgsbj14LGg9MCk6KGsuTis9bi5sZW5ndGgtaCxoPW4ubGVuZ3RoKTticmVhaztjYXNlIDU6VygiZXh0cmEgaW5wdXQgYWZ0ZXIgc3RyZWFtIGVuZCIpfX1yZXR1cm4gay5YLmxlbmd0aD4wPyhuPWsuWCxrLlg9W10sbik6bnVsbH07dmFyIHFBdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bnVsbDt0aGlzLmo9dGhpcy5XPTA7dGhpcy5EPSExO3RoaXMuWD10aGlzLks9dGhpcy5WPW51bGw7dGhpcy5ZPW5ldyBCWSh0aGlzKTt0aGlzLlkuU18odGhpcy5OLCJyZWFkeXN0YXRlY2hhbmdlIix0aGlzLk8pfWdldFN0YXR1cygpe3JldHVybiB0aGlzLmp9TyhuKXtuPW4udGFyZ2V0O3RyeXtpZihuPT10aGlzLk4pYTp7bGV0IGs9YTUodGhpcy5OKTt2YXIgVz10aGlzLk4uVyxEPXRoaXMuTi5nZXRTdGF0dXMoKTtsZXQgaD1XMyh0aGlzLk4pO249W107aWYoRG8odGhpcy5OKWluc3RhbmNlb2YgQXJyYXkpe2xldCB4PURvKHRoaXMuTik7eC5sZW5ndGg+MCYmeFswXWluc3RhbmNlb2YgVWludDhBcnJheSYmKHRoaXMuRD0hMCxuPXgpfWlmKCEoazwzfHxrPT0zJiYhaCYmbi5sZW5ndGg9PTApKWlmKEQ9RD09MjAwfHxEPT0yMDYsaz09NCYmKFc9PTg/RGkodGhpcyw3KTpXPT03P0RpKHRoaXMsOCk6RHx8CkRpKHRoaXMsMykpLHRoaXMuSnx8KHRoaXMuSj1oQ3godGhpcy5OKSx0aGlzLko9PW51bGwmJkRpKHRoaXMsNSkpLHRoaXMuaj4yKWJIKHRoaXMpO2Vsc2V7aWYobi5sZW5ndGg+dGhpcy5XKXtsZXQgeD1uLmxlbmd0aDtXPVtdO3RyeXtpZih0aGlzLkouYW8oKSlmb3IodmFyIGI9MDtiPHg7YisrKXt2YXIgdj10aGlzLkoucGFyc2UoQXJyYXkuZnJvbShuW2JdKSk7diYmKFc9Vy5jb25jYXQodikpfWVsc2V7dj0iIjtpZighdGhpcy5WKXtpZih0eXBlb2YgVGV4dERlY29kZXI9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiVGV4dERlY29kZXIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIik7dGhpcy5WPW5ldyBUZXh0RGVjb2Rlcn1mb3IoYj0wO2I8eDtiKyspdis9dGhpcy5WLmRlY29kZShuW2JdLHtzdHJlYW06az09NCYmYj09eC0xfSk7Vz10aGlzLkoucGFyc2Uodil9bi5zcGxpY2UoMCx4KTtXJiZ0aGlzLlgoVyl9Y2F0Y2goTCl7RGkodGhpcyw1KTtiSCh0aGlzKTsKYnJlYWsgYX19ZWxzZSBpZihoLmxlbmd0aD50aGlzLlcpe2I9aC5zbGljZSh0aGlzLlcpO3RoaXMuVz1oLmxlbmd0aDt0cnl7bGV0IHg9dGhpcy5KLnBhcnNlKGIpO3ghPW51bGwmJnRoaXMuWCYmdGhpcy5YKHgpfWNhdGNoKHgpe0RpKHRoaXMsNSk7YkgodGhpcyk7YnJlYWsgYX19az09ND8oaC5sZW5ndGghPTB8fHRoaXMuRD9EaSh0aGlzLDIpOkRpKHRoaXMsNCksYkgodGhpcykpOkRpKHRoaXMsMSl9fX1jYXRjaChrKXtEaSh0aGlzLDYpLGJIKHRoaXMpfX19O3ZhciBHaGk9Y2xhc3N7Y29uc3RydWN0b3Iobil7bj10aGlzLlc9bjt2YXIgVz0oMCxnLkt0KSh0aGlzLlgsdGhpcyk7bi5YPVc7bj10aGlzLlc7Vz0oMCxnLkt0KSh0aGlzLmosdGhpcyk7bi5LPVc7dGhpcy5KPXt9O3RoaXMuTj17fX14VihuLFcpe3ZhciBEPXRoaXMuSltuXTtEfHwoRD1bXSx0aGlzLkpbbl09RCk7RC5wdXNoKFcpfWFkZExpc3RlbmVyKG4sVyl7dGhpcy54VihuLFcpO3JldHVybiB0aGlzfXJlbW92ZUxpc3RlbmVyKG4sVyl7dmFyIEQ9dGhpcy5KW25dO0QmJmcuRkkoRCxXKTsobj10aGlzLk5bbl0pJiZnLkZJKG4sVyk7cmV0dXJuIHRoaXN9b25jZShuLFcpe3ZhciBEPXRoaXMuTltuXTtEfHwoRD1bXSx0aGlzLk5bbl09RCk7RC5wdXNoKFcpO3JldHVybiB0aGlzfVgobil7dmFyIFc9dGhpcy5KLmRhdGE7VyYmdksobixXKTsoVz10aGlzLk4uZGF0YSkmJnZLKG4sVyk7dGhpcy5OLmRhdGE9W119aigpe3N3aXRjaCh0aGlzLlcuZ2V0U3RhdHVzKCkpe2Nhc2UgMTprdCh0aGlzLAoicmVhZGFibGUiKTticmVhaztjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDc6Y2FzZSAzOmt0KHRoaXMsImVycm9yIik7YnJlYWs7Y2FzZSA4Omt0KHRoaXMsImNsb3NlIik7YnJlYWs7Y2FzZSAyOmt0KHRoaXMsImVuZCIpfX19O3ZhciAkeGg9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj17Zm9ybWF0OiJqc3BiIn07dGhpcy5ZTz1uLllPfHxnLnJyKCJzdXBwcmVzc0NvcnNQcmVmbGlnaHQiLG4pfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz1uLndpdGhDcmVkZW50aWFsc3x8Zy5ycigid2l0aENyZWRlbnRpYWxzIixuKXx8ITE7dGhpcy5LYj1uLktifHxbXTt0aGlzLkZOPW4uRk58fFtdO3RoaXMuU249bi5Tbjt0aGlzLk49bi5sSXx8ITF9c2VydmVyU3RyZWFtaW5nKG4sVyxELGIpe3ZhciB2PW4uc3Vic3RyaW5nKDAsbi5sZW5ndGgtYi5uYW1lLmxlbmd0aCk7cmV0dXJuIHh4aihrPT57dmFyIGg9ay5sMCx4PWsuZ2V0TWV0YWRhdGEoKSxMPWhhKHRoaXMsITEpO3g9eHQodGhpcyx4LEwsditoLmdldE5hbWUoKSk7dmFyIGU9TF8oTCxoLlcsITApO2s9aC5OKGsuZnYpO0wuc2VuZCh4LCJQT1NUIixrKTtyZXR1cm4gZX0sdGhpcy5LYikuY2FsbCh0aGlzLGIuSihXLEQpKX19O3F3LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBZWSh0aGlzLk4sdGhpcy5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9DcmVhdGUiLG4sV3x8e30sc09NLEQpfTt2YXIgYW09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iYm9vbCJ9fSxuaj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZDU9Mzt0aGlzLm54PW47dGhpcy5kZWZhdWx0VmFsdWU9Vzt0aGlzLlUwPSJpbnQifX0sV0M9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iZG91YmxlIn19O3ZhciBTY3QsSVV3LFljLEFzVSxub3IsV0lNLG1HWixLNVUsTzcxLEhwLFo3VSxVR0MsUHJpLHlzeCxFZGksaTdDLHVOYixVQmIsZEd0LHpZaSxsVXIsVFBVLGpPaSxDSmksa3FNLERaLEY1aSxjZix3bjIsSGZ4LFNvUyxJWWksTUl4LHowaSxsWWgsVE5DLEJwdCxSWXcsUU94LFZJaixpbGksa1RiLFZrdyxjc3IsYVVNLGJELG5KaSxXRlMsbmEsRGRTLGJnaSx2NWksdkpDLFRfQyx0UzIsa19pLGhGaix4ZGgsZUZVLGdKMSxYQU0scURTLEdfcix0SlMsJGQyLHJUaixzcjIsanNaLE5GVSxHb00seSRqLHllaSxwQXQsanZNLEtZeCxZRFosSGdaLHZDLEplMSxmY3Qsa05qLEpUeCxJY2ksSGYsaldTLFNEUyxZSmIsQVRaLG1kdyxsaVosS0ZyLE9nMixwYk0sd2JTLFpnTSx5VDIsRUpNLHdJMTtTY3Q9bmV3IGFtKDQ1NzU5NTgwLCExKTtJVXc9bmV3IGFtKDQ1NzY2MjczLCExKTtnLlNuaj1uZXcgYW0oNDU3NTc4NzgsITEpO1ljPW5ldyBhbSg0NTc0OTM5NiwhMSk7CkFzVT1uZXcgYW0oNDU4MDg1MjgsITEpO25vcj1uZXcgYW0oNDU3NDIxMTksITEpO1dJTT1uZXcgYW0oNDU3ODQxNjgsITEpO21HWj1uZXcgYW0oNDU4MDEwNjgsITEpO0s1VT1uZXcgYW0oNDU3Nzg2OTYsITEpO083MT1uZXcgYW0oNDU3NTY0NDYsITEpO2cuUEpNPW5ldyBhbSg0NTgwODE1MCwhMSk7SHA9bmV3IGFtKDQ1ODA3NzY0LCExKTtaN1U9bmV3IGFtKDQ1Nzk3NzIxLCExKTtVR0M9bmV3IGFtKDQ1Nzk4OTMyLCExKTtQcmk9bmV3IGFtKDQ1NzYwMDE4LCExKTt5c3g9bmV3IGFtKDQ1NzM5MTk2LCExKTtFZGk9bmV3IGFtKDQ1Nzk0ODY4LCExKTtpN0M9bmV3IGFtKDQ1NzM5MTk4LCExKTt1TmI9bmV3IGFtKDQ1Nzk0ODY3LCExKTtVQmI9bmV3IGFtKDQ1Nzc3MzU2LCExKTtnLm9kWj1uZXcgbmooNDU3NTA5NDcsZy4kVSgiMCIpKTtkR3Q9bmV3IGFtKDQ1Nzk5OTEyLCExKTt6WWk9bmV3IFdDKDQ1NzQ2OTY2LDApO2xVcj1uZXcgV0MoNDU3NDY5NjcsMCk7ClRQVT1uZXcgV0MoNDU3Mzc0ODgsMCk7ak9pPW5ldyBXQyg0NTczNzQ4OSwwKTtDSmk9bmV3IGFtKDQ1Nzk1NTczLCExKTtnLkJQUz1uZXcgYW0oNDU3NjU2ODAsITEpO2txTT1uZXcgYW0oNDU3MzI3OTEsITApO0RaPW5ldyBhbSg0NTc4MTExMiwhMSk7RjVpPW5ldyBhbSg0NTgwODY1MCwhMSk7Y2Y9bmV3IGFtKDQ1ODExODU3LCExKTt3bjI9bmV3IGFtKDQ1ODA1OTY4LCExKTtIZng9bmV3IGFtKDQ1NzY5MTE5LCEwKTtTb1M9bmV3IG5qKDQ1ODA2NTU1LGcuJFUoIjIiKSk7SVlpPW5ldyBuaig0NTc4NDQzOSxnLiRVKCIwIikpO01JeD1uZXcgYW0oNDU4MTc0MDksITEpO3owaT1uZXcgYW0oNDU3Mzc0ODIsITEpO2xZaD1uZXcgV0MoNDU3NDE3NzMsMCk7VE5DPW5ldyBhbSg0NTgwNTg0OCwhMSk7QnB0PW5ldyBhbSg0NTc3MzY3MywhMSk7Ull3PW5ldyBhbSg0NTgwMDYzMywhMSk7UU94PW5ldyBhbSg0NTc5ODA3OCwhMSk7VklqPW5ldyBhbSg0NTczMTA4MywhMSk7CmlsaT1uZXcgYW0oNDU3OTcyNzksITEpO2tUYj1uZXcgYW0oNDU3Mjg1NTMsITEpO1Zrdz1uZXcgYW0oNDU3OTY3NTAsITEpO2Nzcj1uZXcgYW0oNDU3OTQ2ODAsITEpO2FVTT1uZXcgYW0oNDU4MTMwMjcsITEpO2JEPW5ldyBhbSg0NTczNDE5MSwhMSk7bkppPW5ldyBhbSg0NTc5Njc3NywhMSk7V0ZTPW5ldyBhbSg0NTc5Njc3OCwhMSk7bmE9bmV3IGFtKDQ1ODEwNjYxLCExKTtnLkFoPW5ldyBhbSg0NTc0NTYxMCwhMSk7RGRTPW5ldyBhbSg0NTgxNjU3MSwhMSk7YmdpPW5ldyBhbSg0NTc3MzI3MywhMSk7djVpPW5ldyBhbSg0NTc1NjYxOSwhMSk7dkpDPW5ldyBhbSg0NTc1ODI5MCwhMSk7VF9DPW5ldyBhbSg0NTgxMzgzMSwhMSk7dFMyPW5ldyBhbSg0NTczNTUyMywhMSk7a19pPW5ldyBXQyg0NTc3MTg5MCwwKTtoRmo9bmV3IFdDKDQ1ODA3NzczLDApO3hkaD1uZXcgV0MoNDU3MzU0MjgsNEUzKTtnLkxGaT1uZXcgYW0oNDU3ODkwNzcsITEpO2VGVT1uZXcgYW0oNDU3NDgwMDksITEpOwpnSjE9bmV3IGFtKDQ1NzUyNjA0LCExKTtYQU09bmV3IFdDKDQ1NzY5MjE0LDApO3FEUz1uZXcgYW0oNDU3MzU0NjIsITEpO0dfcj1uZXcgYW0oNDU4MTUwNzMsITEpO3RKUz1uZXcgYW0oNDU3NTE5NDMsITEpOyRkMj1uZXcgYW0oNDU3NTE5NDQsITEpO3JUaj1uZXcgYW0oNDU3NTE5NDUsITEpO3NyMj1uZXcgbmooNDU4MDg3NjIsZy4kVSgiMCIpKTtqc1o9bmV3IGFtKDQ1NzY0NTkyLCExKTtORlU9bmV3IFdDKDQ1NzY0NTkzLDApO0dvTT1uZXcgYW0oNDU3NjY1MTEsITEpO3kkaj1uZXcgYW0oNDU4MDYzODgsITEpO3llaT1uZXcgYW0oNDU4MDYzNjMsITEpO3BBdD1uZXcgYW0oNDU4MTU1OTIsITEpO2p2TT1uZXcgYW0oNDU4MTQ0ODAsITEpO0tZeD1uZXcgYW0oNDU4MTA0NjcsITEpO1lEWj1uZXcgYW0oNDU3OTEzMjYsITEpO0hnWj1uZXcgYW0oNDU3ODc3NzEsITEpO3ZDPW5ldyBhbSg0NTc5MTA4NywhMSk7SmUxPW5ldyBhbSg0NTc3Mjg5MSwhMSk7CmZjdD1uZXcgYW0oNDU3OTU4NDQsITEpO2tOaj1uZXcgYW0oNDU3ODM4NzUsITApO0pUeD1uZXcgYW0oNDU3OTU1NzQsITEpO0ljaT1uZXcgYW0oNDU3NzE4OTEsITEpO0hmPW5ldyBhbSg0NTcyODE4MSwhMSk7aldTPW5ldyBhbSg0NTc1NjU0MywhMSk7U0RTPW5ldyBhbSg0NTc1NjYyMCwhMSk7WUpiPW5ldyBhbSg0NTgwODc1NCwhMSk7QVRaPW5ldyBuaig0NTc2MTc2MCxnLiRVKCIyMDAiKSk7bWR3PW5ldyBhbSg0NTc3NjgzMiwhMSk7bGlaPW5ldyBXQyg0NTc2ODQzMCwwKTtLRnI9bmV3IGFtKDQ1Nzc2NTgwLCExKTtPZzI9bmV3IGFtKDQ1NzU1NzYwLCExKTtwYk09bmV3IGFtKDQ1NzYwMDE3LCExKTt3YlM9bmV3IGFtKDQ1NzMyNzc1LCExKTtnLlAzMT1uZXcgYW0oNDU3ODc5NDgsITEpO1pnTT1uZXcgYW0oNDU3NjU4MTgsITEpO2cuVWRDPW5ldyBhbSg0NTczNDc3NiwhMSk7eVQyPW5ldyBhbSg0NTgxNjgxMSwhMSk7RUpNPW5ldyBhbSg0NTc2MDEyMCwhMSk7Cmcua0g9bmV3IGFtKDQ1NzcwNDc2LCExKTt3STE9bmV3IGFtKDQ1ODA4MDUzLCExKTt2YXIgWXhyPW5ldyBXQyg0NTgwMzc1NCwwKSxtRGg9bmV3IFdDKDQ1NzkxMTE3LDApLHZNUz1uZXcgV0MoNDU3MjU1NDIsMCksWlJ4PW5ldyBXQyg0NTc5NDQ0MSwwKSxlVVU9bmV3IFdDKDQ1ODA3NzcxLDApLEhScj1uZXcgV0MoNDU3NzM2MDMsMCksZndqPW5ldyBXQyg0NTc3MzYwNCwwKSx4RFo9bmV3IFdDKDQ1Nzk3OTYzLDApLGJSdz1uZXcgV0MoNDU3MjU1NDMsMCksUGhqPW5ldyBXQyg0NTc5MzcxMCwwKSxoVWk9bmV3IFdDKDQ1NzU3NDI2LDApLG5Ndz1uZXcgV0MoNDU3MjU1MzksMCksSlIxPW5ldyBXQyg0NTgwNTY5NSwwKSxERFo9bmV3IFdDKDQ1NzI1NTQxLDApLFhHVT1uZXcgV0MoNDU3NTc0MjcsMCksQ1JpPW5ldyBhbSg0NTc5MTIwNiwhMSksV2t0PW5ldyBXQyg0NTcyNTU0MCwwKSxhWXg9bmV3IFdDKDQ1NzI1NTM4LDApLEtraT1uZXcgV0MoNDU3OTExMTgsMCksazZ3PW5ldyBXQyg0NTc2NDUyMywwKSxTeGk9bmV3IFdDKDQ1ODA0NzcxLDApLEl3eD1uZXcgV0MoNDU3ODY0NDMsCjApLFVEMj1uZXcgV0MoNDU4MDIxMjMsMCkscXhoPW5ldyBXQyg0NTc2NDIxNywwKSxHNjI9bmV3IFdDKDQ1NzY0NTI0LDApLCREMT1uZXcgV0MoNDU3NjU2MDIsMCksTGtDPW5ldyBXQyg0NTgwNzQzMiwwKSxBUk09bmV3IFdDKDQ1Nzc2MTkwLDApLE9SVT1uZXcgV0MoNDU3OTExMTksMCksVWJTPW5ldyBXQyg0NTgxNTAxMSwwKSxOZFM9bmV3IFdDKDQ1Nzc4NjcxLDApLHBHMT1uZXcgV0MoNDU3NDEzMzksMCksdDVpPW5ldyBXQyg0NTc2Nzc2MywwKSxnTXg9bmV3IFdDKDQ1ODA3NzcyLDApLHN3aT1uZXcgV0MoNDU3NzAwMDIsMCksclJpPW5ldyBXQyg0NTc3MDAwMSwwKTt2YXIgaWd0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIHVwMj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1KKCl7cmV0dXJuIHRoaXMuTi5RUShHX3IpfX07dmFyIHI0Mj0vKD86XFt8JTVCKShbYS16QS1aMC05X10rKSg/OlxdfCU1RCkvZzt2YXIgb0pVPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fTt2YXIgaEw9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4sNTAwKX19O3ZhciBkZFM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE5hbWUoKXtyZXR1cm4gWTkodGhpcywxKX1nZXRPcHRpb25zKCl7cmV0dXJuIGdlKHRoaXMsaEwsMyl9Y2xlYXJPcHRpb25zKCl7cmV0dXJuIG96KHRoaXMsMyl9fTt2YXIgekZpPWZ1bmN0aW9uKG4pe3JldHVybiBXPT57Vz1KU09OLnBhcnNlKFcpO2lmKCFBcnJheS5pc0FycmF5KFcpKXRocm93IEVycm9yKCJFeHBlY3RlZCBqc3BiIGRhdGEgdG8gYmUgYW4gYXJyYXksIGdvdCAiK3B0KFcpKyI6ICIrVyk7V1tiNF18PTM0O3JldHVybiBuZXcgbihXKX19KGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXROYW1lKCl7cmV0dXJuIFk5KHRoaXMsMSl9Z2V0T3B0aW9ucygpe3JldHVybiBnZSh0aGlzLG9KVSwzKX1jbGVhck9wdGlvbnMoKXtyZXR1cm4gb3oodGhpcywzKX1YTygpe3JldHVybiBIVyh0aGlzLDYpfU1MKG4pe0tuKHRoaXMsNixuKX19KTt2YXIgbGNyPVN5bWJvbCgpO3ZhciBURnI7VEZyPW5ldyBtNFooOTk4LGhMLGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19KTt2YXIgeEg9U3ltYm9sKCk7dmFyICR0PWNsYXNzIGV4dGVuZHMgZy5vV3tjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD10aGlzLk49MDt0aGlzLkEkPW4/P3tMUzooVyxEKT0+c2V0VGltZW91dChXLEQpLApzTzpXPT57Y2xlYXJUaW1lb3V0KFcpfX07CnRoaXMuaXNPbmxpbmU9d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lPz8hMDt0aGlzLko9YXN5bmMoKT0+e2F3YWl0IHJYKHRoaXMpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLlh8fHRoaXMuaFQoKX1kaXNwb3NlKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLkEkLnNPKHRoaXMuWCk7ZGVsZXRlICR0Lmluc3RhbmNlfVdHKCl7cmV0dXJuIHRoaXMuaXNPbmxpbmV9aFQoKXt0aGlzLlg9dGhpcy5BJC5MUyhhc3luYygpPT57dGhpcy5pc09ubGluZT93aW5kb3cubmF2aWdhdG9yPy5vbkxpbmV8fGF3YWl0IHJYKHRoaXMpOmF3YWl0IHJYKHRoaXMpO3RoaXMuaFQoKX0sM0U0KX19O3ZhciBqcjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEMzcj1bMCxJcWosLTFdO3ZhciBMaj1bMCxIaXcsLTFdO3ZhciBCRnQ9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEZGaT1nLkE5KFswLGcuQ3gsLTEsZy5FNixnLm9tLEMzciwtMSx5cCxpVSxnLkN4LExqLGcub20sZy5DeCwtMSxbMCxDM3IsLTFdLGlVLFkzQyxMaix5cCxbMCwxLGlVLC00LFU2LFswLHlwLC0xLGlVXSxnLm9tLHlwLGcuZHEsWzAsZy5DeCxpVV0saVUsLTEsZy5DeCwtMix5cCwtMSxnLkN4LHlwLGcuQ3gsaVUsWzAsMyxpVSwtMSw0LFRnXSxVNixqbyxbMCxnLkN4LC0xLGcub21dLHVVXSxnLm9tLEpYUyxnLmRxLFswLExqLGcuZHEsWzAsZy5vbSxnLkN4XSx5cCxnLkN4LC0xXSwxLGcuZHEsWzAsWTNDLC0xLGpvXSxnLkN4LExqXSk7dmFyIFV2Mj1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Sigpe3JldHVybiBIVyh0aGlzLDUpfX0sWzAsZy5DeCxbMCxnLkU2LGZxdywtMV0saVUsZy5DeCwtMixpVSxnLkU2XSk7dmFyIGxYcj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLk49LTF9c2V0KG4sVz0hMCl7MDw9biYmbjw1MiYmTnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5kYXRhW25dIT09VyYmKHRoaXMuZGF0YVtuXT1XLHRoaXMuTj0tMSl9Z2V0KG4pe3JldHVybiEhdGhpcy5kYXRhW25dfX07Zy5peChnLnBfLGcuRk0pO2cuRT1nLnBfLnByb3RvdHlwZTtnLkUuc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLlg9ITE7dmFyIG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT8odGhpcy5OPUFIKHRoaXMuSiwiTW96QmVmb3JlUGFpbnQiLHRoaXMuVyksdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZShudWxsKSx0aGlzLlg9ITApOnRoaXMuTj1uJiZXP24uY2FsbCh0aGlzLkosdGhpcy5XKTp0aGlzLkouc2V0VGltZW91dChqTWgodGhpcy5XKSwyMCl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBY3RpdmUoKSl7bGV0IG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT9FMih0aGlzLk4pOm4mJlc/Vy5jYWxsKHRoaXMuSix0aGlzLk4pOnRoaXMuSi5jbGVhclRpbWVvdXQodGhpcy5OKX10aGlzLk49bnVsbH07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4hPW51bGx9OwpnLkUuT3Q9ZnVuY3Rpb24oKXt0aGlzLlgmJnRoaXMuTiYmRTIodGhpcy5OKTt0aGlzLk49bnVsbDt0aGlzLlYuY2FsbCh0aGlzLmosZy5VdygpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuc3RvcCgpO2cucF8uVEIubUEuY2FsbCh0aGlzKX07Zy5peChnLmZfLGcuRk0pO2cuRT1nLmZfLnByb3RvdHlwZTtnLkUudDg9MDtnLkUubUE9ZnVuY3Rpb24oKXtnLmZfLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5zdG9wKCk7ZGVsZXRlIHRoaXMuTjtkZWxldGUgdGhpcy5KfTsKZy5FLnN0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuc3RvcCgpO3RoaXMudDg9Zy5adCh0aGlzLlcsbiE9PXZvaWQgMD9uOnRoaXMuZ3QpfTsKZy5FLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzQWN0aXZlKCkmJmcucWkuY2xlYXJUaW1lb3V0KHRoaXMudDgpO3RoaXMudDg9MH07CmcuRS5qZT1mdW5jdGlvbigpe3RoaXMuaXNBY3RpdmUoKSYmKHRoaXMuc3RvcCgpLHRoaXMuaSQoKSl9OwpnLkUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50OCE9MH07CmcuRS5pJD1mdW5jdGlvbigpe3RoaXMudDg9MDt0aGlzLk4mJnRoaXMuTi5jYWxsKHRoaXMuSil9O3ZhciB3QWk9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLlg9VyE9bnVsbD9uLmJpbmQoVyk6bjt0aGlzLmd0PTM1MDt0aGlzLlc9bnVsbDt0aGlzLk49ITE7dGhpcy5KPTA7dGhpcy5aNj1udWxsfWoobil7dGhpcy5XPWFyZ3VtZW50czt0aGlzLlo2fHx0aGlzLko/dGhpcy5OPSEwOklGKHRoaXMpfXN0b3AoKXt0aGlzLlo2JiYoZy5xaS5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsLHRoaXMuTj0hMSx0aGlzLlc9bnVsbCl9cGF1c2UoKXt0aGlzLkorK31yZXN1bWUoKXt0aGlzLkotLTt0aGlzLkp8fCF0aGlzLk58fHRoaXMuWjZ8fCh0aGlzLk49ITEsSUYodGhpcykpfW1BKCl7c3VwZXIubUEoKTt0aGlzLnN0b3AoKX19O3ZhciB1eWksR2cscWw7dXlpPVJlZ0V4cCgiXltcdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdIik7R2c9UmVnRXhwKCJeW15cdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdKltBLVphLXpcdTAwYzAtXHUwMGQ2XHUwMGQ4LVx1MDBmNlx1MDBmOC1cdTAyYjhcdTAzMDAtXHUwNTkwXHUwOTAwLVx1MWZmZlx1MjAwZVx1MmMwMC1cdWQ4MDFcdWQ4MDQtXHVkODM5XHVkODNjLVx1ZGJmZlx1ZjkwMC1cdWZiMWNcdWZlMDAtXHVmZTZmXHVmZWZkLVx1ZmZmZl0iKTtxbD1SZWdFeHAoIl5bXkEtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSpbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSIpOwpnLk1KaT1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO0ludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuIi5yZXBsYWNlKCJfIiwiLSIpXSk7dUgucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gUkZNfTsKdmFyIFJGTT17ZG9uZTohMCx2YWx1ZTp2b2lkIDB9O3VILnByb3RvdHlwZS5ncT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgb0Y9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59Z3EoKXtyZXR1cm4gbmV3IGRYKHRoaXMuTigpKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeksodGhpcy5OKCkpfUooKXtyZXR1cm4gbmV3IHpLKHRoaXMuTigpKX19LGRYPWNsYXNzIGV4dGVuZHMgdUh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1uZXh0KCl7cmV0dXJuIHRoaXMuTi5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHpLKHRoaXMuTil9Sigpe3JldHVybiBuZXcgeksodGhpcy5OKX19LHpLPWNsYXNzIGV4dGVuZHMgb0Z7Y29uc3RydWN0b3Iobil7c3VwZXIoKCk9Pm4pOwp0aGlzLlc9bn1uZXh0KCl7cmV0dXJuIHRoaXMuVy5uZXh0KCl9fTtsSC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGxIKHRoaXMuTix0aGlzLkssdGhpcy5XLHRoaXMuaix0aGlzLlgsdGhpcy5WLHRoaXMuSix0aGlzLlkpfTsKbEgucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5OPT1uLk4mJnRoaXMuSz09bi5LJiZ0aGlzLlc9PW4uVyYmdGhpcy5qPT1uLmomJnRoaXMuWD09bi5YJiZ0aGlzLlY9PW4uViYmdGhpcy5KPT1uLkomJnRoaXMuWT09bi5ZfTsoZnVuY3Rpb24oKXtpZihwUWope3ZhciBuPS9XaW5kb3dzIE5UIChbMC05Ll0rKS87cmV0dXJuKG49bi5leGVjKGcuWFEoKSkpP25bMV06IjAifXJldHVybiBucj8obj0vMVswfDFdW18uXVswLTlfLl0rLywobj1uLmV4ZWMoZy5YUSgpKSk/blswXS5yZXBsYWNlKC9fL2csIi4iKToiMTAiKTpnLlFIPyhuPS9BbmRyb2lkXHMrKFteXCk7XSspKFwpfDspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXToiIik6V1VafHxENGl8fGJpVT8obj0vKD86aVBob25lfENQVSlccytPU1xzKyhcUyspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXS5yZXBsYWNlKC9fL2csIi4iKToiIik6IiJ9KSgpO3ZhciBmWDI9ZnVuY3Rpb24oKXtpZihnLmFvKXJldHVybiBqQSgvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoZy5raHx8Zy5SZ3x8cmMpcmV0dXJuIFAyO2lmKGcub2Qpe2lmKGcuQTQoKXx8Zy5teCgpKXt2YXIgbj1qQSgvQ3JpT1NcLyhbMC05Ll0rKS8pO2lmKG4pcmV0dXJuIG59cmV0dXJuIGpBKC9DaHJvbWVcLyhbMC05Ll0rKS8pfWlmKGcuR24mJiFnLkE0KCkpcmV0dXJuIGpBKC9WZXJzaW9uXC8oWzAtOS5dKykvKTtpZih3OHx8TVgpe2lmKG49L1ZlcnNpb25cLyhcUyspLipNb2JpbGVcLyhcUyspLy5leGVjKGcuWFEoKSkpcmV0dXJuIG5bMV0rIi4iK25bMl19ZWxzZSBpZihnLkltKXJldHVybihuPWpBKC9BbmRyb2lkXHMrKFswLTkuXSspLykpP246akEoL1ZlcnNpb25cLyhbMC05Ll0rKS8pO3JldHVybiIifSgpO2cuaXgoQkssZy5GTSk7Zy5FPUJLLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10aGlzLkpbbl07Ynx8KGI9dGhpcy5KW25dPVtdKTt2YXIgdj10aGlzLlY7dGhpcy5OW3ZdPW47dGhpcy5OW3YrMV09Vzt0aGlzLk5bdisyXT1EO3RoaXMuVj12KzM7Yi5wdXNoKHYpO3JldHVybiB2fTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXRoaXMuSltuXSl7bGV0IGI9dGhpcy5OO2lmKG49bi5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiBiW3YrMV09PVcmJmJbdisyXT09RH0pKXJldHVybiB0aGlzLmpLKG4pfXJldHVybiExfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3ZhciBXPXRoaXMuTltuXTtpZihXKXtsZXQgRD10aGlzLkpbV107dGhpcy5YIT0wPyh0aGlzLlcucHVzaChuKSx0aGlzLk5bbisxXT0oKT0+e30pOihEJiZnLkZJKEQsbiksZGVsZXRlIHRoaXMuTltuXSxkZWxldGUgdGhpcy5OW24rMV0sZGVsZXRlIHRoaXMuTltuKzJdKX1yZXR1cm4hIVd9OwpnLkUuV0o9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLkpbbl07aWYoRCl7bGV0IHY9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTt2YXIgYj1hcmd1bWVudHMubGVuZ3RoO2xldCBrO2ZvcihrPTE7azxiO2srKyl2W2stMV09YXJndW1lbnRzW2tdO2lmKHRoaXMuSylmb3Ioaz0wO2s8RC5sZW5ndGg7aysrKWI9RFtrXSxKNHIodGhpcy5OW2IrMV0sdGhpcy5OW2IrMl0sdik7ZWxzZXt0aGlzLlgrKzt0cnl7Zm9yKGs9MCxiPUQubGVuZ3RoO2s8YiYmIXRoaXMucU4oKTtrKyspe2xldCBoPURba107dGhpcy5OW2grMV0uYXBwbHkodGhpcy5OW2grMl0sdil9fWZpbmFsbHl7aWYodGhpcy5YLS0sdGhpcy5XLmxlbmd0aD4wJiZ0aGlzLlg9PTApZm9yKDtEPXRoaXMuVy5wb3AoKTspdGhpcy5qSyhEKX19cmV0dXJuIGshPTB9cmV0dXJuITF9OwpnLkUuY2xlYXI9ZnVuY3Rpb24obil7aWYobil7bGV0IFc9dGhpcy5KW25dO1cmJihXLmZvckVhY2godGhpcy5qSyx0aGlzKSxkZWxldGUgdGhpcy5KW25dKX1lbHNlIHRoaXMuTi5sZW5ndGg9MCx0aGlzLko9e319OwpnLkUubUE9ZnVuY3Rpb24oKXtCSy5UQi5tQS5jYWxsKHRoaXMpO3RoaXMuY2xlYXIoKTt0aGlzLlcubGVuZ3RoPTB9O2cuRmQucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDA/dGhpcy5OLnJlbW92ZShuKTp0aGlzLk4uc2V0KG4sKG5ldyBsZSkuYlkoVykpfTsKZy5GZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3RyeXt2YXIgVz10aGlzLk4uZ2V0KG4pfWNhdGNoKEQpe3JldHVybn1pZihXIT09bnVsbCl0cnl7cmV0dXJuIEpTT04ucGFyc2UoVyl9Y2F0Y2goRCl7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO319OwpnLkZkLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5OLnJlbW92ZShuKX07Zy5peCh3WCxnLkZkKTt3WC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyl7d1guVEIuc2V0LmNhbGwodGhpcyxuLFJGKFcpKX07CndYLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXtuPXdYLlRCLmdldC5jYWxsKHRoaXMsbik7aWYobj09PXZvaWQgMHx8biBpbnN0YW5jZW9mIE9iamVjdClyZXR1cm4gbjt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fTsKd1gucHJvdG90eXBlLmdldD1mdW5jdGlvbihuKXtpZihuPXRoaXMuTUQobikpe2lmKG49bi5kYXRhLG49PT12b2lkIDApdGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO31lbHNlIG49dm9pZCAwO3JldHVybiBufTtnLml4KFFLLHdYKTtRSy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyxEKXtpZihXPVJGKFcpKXtpZihEKXtpZihEPGcuVXcoKSl7UUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7cmV0dXJufVcuZXhwaXJhdGlvbj1EfVcuY3JlYXRpb249Zy5VdygpfVFLLlRCLnNldC5jYWxsKHRoaXMsbixXKX07ClFLLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXt2YXIgVz1RSy5UQi5NRC5jYWxsKHRoaXMsbik7aWYoVyl7bGV0IEQ9Vy5jcmVhdGlvbixiPVcuZXhwaXJhdGlvbjtpZihiJiZiPGcuVXcoKXx8RCYmRD5nLlV3KCkpUUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7ZWxzZSByZXR1cm4gV319O2cuaXgoVkssUUspO2cuaXgoY0ssSVgxKTtjSy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBZQTEodGhpcy5ncSghMCkpLkooKX07CmNLLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBuPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBXIG9mIG4pdGhpcy5yZW1vdmUoVyl9O2cuaXgoYUYsY0spO2cuRT1hRi5wcm90b3R5cGU7Zy5FLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5KPT09bnVsbCl7dmFyIG49dGhpcy5OO2lmKG4pdHJ5e24uc2V0SXRlbSgiX19zYWsiLCIxIik7bi5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBXPSEwfWNhdGNoKEQpe1c9RCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKEQubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxELmNvZGU9PT0yMnx8RC5jb2RlPT09MTAxNHx8RC5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJm4mJm4ubGVuZ3RoIT09MH1lbHNlIFc9ITE7dGhpcy5KPVd9cmV0dXJuIHRoaXMuSn07CmcuRS5zZXQ9ZnVuY3Rpb24obixXKXtuZSh0aGlzKTt0cnl7dGhpcy5OLnNldEl0ZW0obixXKX1jYXRjaChEKXtpZih0aGlzLk4ubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319OwpnLkUuZ2V0PWZ1bmN0aW9uKG4pe25lKHRoaXMpO249dGhpcy5OLmdldEl0ZW0obik7aWYodHlwZW9mIG4hPT0ic3RyaW5nIiYmbiE9PW51bGwpdGhyb3ciU3RvcmFnZSBtZWNoYW5pc206IEludmFsaWQgdmFsdWUgd2FzIGVuY291bnRlcmVkIjtyZXR1cm4gbn07CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7bmUodGhpcyk7dGhpcy5OLnJlbW92ZUl0ZW0obil9OwpnLkUuZ3E9ZnVuY3Rpb24obil7bmUodGhpcyk7dmFyIFc9MCxEPXRoaXMuTixiPW5ldyB1SDtiLm5leHQ9ZnVuY3Rpb24oKXtpZihXPj1ELmxlbmd0aClyZXR1cm4gUkZNO3ZhciB2PUQua2V5KFcrKyk7aWYobilyZXR1cm57dmFsdWU6dixkb25lOiExfTt2PUQuZ2V0SXRlbSh2KTtpZih0eXBlb2YgdiE9PSJzdHJpbmciKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7cmV0dXJue3ZhbHVlOnYsZG9uZTohMX19OwpyZXR1cm4gYn07CmcuRS5jbGVhcj1mdW5jdGlvbigpe25lKHRoaXMpO3RoaXMuTi5jbGVhcigpfTsKZy5FLmtleT1mdW5jdGlvbihuKXtuZSh0aGlzKTtyZXR1cm4gdGhpcy5OLmtleShuKX07Zy5peChXUyxhRik7Zy5peChEUSxhRik7Zy5peChiQyxjSyk7YkMucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe3RoaXMuSi5zZXQodGhpcy5OK24sVyl9OwpiQy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLkouZ2V0KHRoaXMuTituKX07CmJDLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5KLnJlbW92ZSh0aGlzLk4rbil9OwpiQy5wcm90b3R5cGUuZ3E9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5KW1N5bWJvbC5pdGVyYXRvcl0oKSxEPXRoaXMsYj1uZXcgdUg7Yi5uZXh0PWZ1bmN0aW9uKCl7dmFyIHY9Vy5uZXh0KCk7aWYodi5kb25lKXJldHVybiB2O2Zvcih2PXYudmFsdWU7di5zbGljZSgwLEQuTi5sZW5ndGgpIT1ELk47KXt2PVcubmV4dCgpO2lmKHYuZG9uZSlyZXR1cm4gdjt2PXYudmFsdWV9cmV0dXJue3ZhbHVlOm4/di5zbGljZShELk4ubGVuZ3RoKTpELkouZ2V0KHYpLGRvbmU6ITF9fTsKcmV0dXJuIGJ9O2tqLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkp9Owprai5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtqKHRoaXMuTix0aGlzLkopfTt2YXIgZWM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPVtdO2lmKG4pYTp7bGV0IEQ7aWYobiBpbnN0YW5jZW9mIGVjKXtpZihEPW4udUIoKSxuPW4uejcoKSx0aGlzLk4ubGVuZ3RoPD0wKXt2YXIgVz10aGlzLk47Zm9yKGxldCBiPTA7YjxELmxlbmd0aDtiKyspVy5wdXNoKG5ldyBraihEW2JdLG5bYl0pKTticmVhayBhfX1lbHNlIEQ9Zy5MVChuKSxuPWhLKG4pO2ZvcihXPTA7VzxELmxlbmd0aDtXKyspdGhpcy5xcChEW1ddLG5bV10pfX1xcChuLFcpe3ZhciBEPXRoaXMuTjtELnB1c2gobmV3IGtqKG4sVykpO249RC5sZW5ndGgtMTtXPXRoaXMuTjtmb3IoRD1XW25dO24+MDspe2xldCBiPW4tMT4+MTtpZihXW2JdLk4+RC5OKVdbbl09V1tiXSxuPWI7ZWxzZSBicmVha31XW25dPUR9cmVtb3ZlKCl7dmFyIG49dGhpcy5OLFc9bi5sZW5ndGgsRD1uWzBdO2lmKCEoVzw9MCkpe2lmKFc9PTEpbi5sZW5ndGg9MDtlbHNle25bMF09bi5wb3AoKTtuPTA7Vz10aGlzLk47bGV0IHY9Vy5sZW5ndGgsCms9V1tuXTtmb3IoO248dj4+MTspe3ZhciBiPW4qMisxO2xldCBoPW4qMisyO2I9aDx2JiZXW2hdLk48V1tiXS5OP2g6YjtpZihXW2JdLk4+ay5OKWJyZWFrO1dbbl09V1tiXTtuPWJ9V1tuXT1rfXJldHVybiBELmdldFZhbHVlKCl9fXo3KCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLmdldFZhbHVlKCkpO3JldHVybiBXfXVCKCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLk4pO3JldHVybiBXfWNsb25lKCl7cmV0dXJuIG5ldyBlYyh0aGlzKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuTi5sZW5ndGg9PT0wfWNsZWFyKCl7dGhpcy5OLmxlbmd0aD0wfX07dmFyIFFyaD1jbGFzcyBleHRlbmRzIGVje307dmFyIGhrPXt9LFZKaT10eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgVWludDE2QXJyYXkhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEludDMyQXJyYXkhPT0idW5kZWZpbmVkIjtoay5hc3NpZ249ZnVuY3Rpb24obil7Zm9yKHZhciBXPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtXLmxlbmd0aDspe3ZhciBEPVcuc2hpZnQoKTtpZihEKXtpZih0eXBlb2YgRCE9PSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoRCsibXVzdCBiZSBub24tb2JqZWN0Iik7Zm9yKHZhciBiIGluIEQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsYikmJihuW2JdPURbYl0pfX1yZXR1cm4gbn07CmhrLlVmPWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg9PT1XKXJldHVybiBuO2lmKG4uc3ViYXJyYXkpcmV0dXJuIG4uc3ViYXJyYXkoMCxXKTtuLmxlbmd0aD1XO3JldHVybiBufTsKdmFyIGNUMj17UDc6ZnVuY3Rpb24obixXLEQsYix2KXtpZihXLnN1YmFycmF5JiZuLnN1YmFycmF5KW4uc2V0KFcuc3ViYXJyYXkoRCxEK2IpLHYpO2Vsc2UgZm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7dmFyIFcsRDt2YXIgYj1EPTA7Zm9yKFc9bi5sZW5ndGg7YjxXO2IrKylEKz1uW2JdLmxlbmd0aDt2YXIgdj1uZXcgVWludDhBcnJheShEKTtiPUQ9MDtmb3IoVz1uLmxlbmd0aDtiPFc7YisrKXt2YXIgaz1uW2JdO3Yuc2V0KGssRCk7RCs9ay5sZW5ndGh9cmV0dXJuIHZ9fSxhY0M9e1A3OmZ1bmN0aW9uKG4sVyxELGIsdil7Zm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLG4pfX07CmhrLlhHPWZ1bmN0aW9uKCl7VkppPyhoay5PbT1VaW50OEFycmF5LGhrLm1LPVVpbnQxNkFycmF5LGhrLlN2PUludDMyQXJyYXksaGsuYXNzaWduKGhrLGNUMikpOihoay5PbT1BcnJheSxoay5tSz1BcnJheSxoay5Tdj1BcnJheSxoay5hc3NpZ24oaGssYWNDKSl9Owpoay5YRygpO3ZhciBueGk9ITA7dHJ5e25ldyBVaW50OEFycmF5KDEpfWNhdGNoKG4pe254aT0hMX07dmFyIFZ0PXt9O1Z0PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4mNjU1MzV8MDtuPW4+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgaztEIT09MDspe2s9RD4yRTM/MkUzOkQ7RC09aztkbyB2PXYrV1tiKytdfDAsbj1uK3Z8MDt3aGlsZSgtLWspO3YlPTY1NTIxO24lPTY1NTIxfXJldHVybiB2fG48PDE2fDB9O2Zvcih2YXIgY1M9e30sZ24sV3RyPVtdLFhzPTA7WHM8MjU2O1hzKyspe2duPVhzO2Zvcih2YXIgRGtaPTA7RGtaPDg7RGtaKyspZ249Z24mMT8zOTg4MjkyMzg0XmduPj4+MTpnbj4+PjE7V3RyW1hzXT1nbn1jUz1mdW5jdGlvbihuLFcsRCxiKXtEPWIrRDtmb3Iobl49LTE7YjxEO2IrKyluPW4+Pj44Xld0clsobl5XW2JdKSYyNTVdO3JldHVybiBuXi0xfTt2YXIgekI9e307ekI9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgbSQ9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sUFM9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLFowdz1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDMsN10sQ2U9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdLEJTPUFycmF5KDU3Nik7TGUoQlMpO3ZhciBGOT1BcnJheSg2MCk7TGUoRjkpO3ZhciBPJD1BcnJheSg1MTIpO0xlKE8kKTt2YXIgQWs9QXJyYXkoMjU2KTtMZShBayk7dmFyIEtlPUFycmF5KDI5KTtMZShLZSk7dmFyIFpRPUFycmF5KDMwKTtMZShaUSk7dmFyIHhmLEx3LGVILGhyPSExO3ZhciBidztidz1bbmV3IERFKDAsMCwwLDAsZnVuY3Rpb24obixXKXt2YXIgRD02NTUzNTtmb3IoRD5uLnl2LTUmJihEPW4ueXYtNSk7Oyl7aWYobi5HVzw9MSl7YVMobik7aWYobi5HVz09PTAmJlc9PT0wKXJldHVybiAxO2lmKG4uR1c9PT0wKWJyZWFrfW4ucXMrPW4uR1c7bi5HVz0wO3ZhciBiPW4uT0srRDtpZihuLnFzPT09MHx8bi5xcz49YilpZihuLkdXPW4ucXMtYixuLnFzPWIsdzcobiwhMSksbi5UUi51Uj09PTApcmV0dXJuIDE7aWYobi5xcy1uLk9LPj1uLnhyLTI2MiYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7aWYoVz09PTQpcmV0dXJuIHc3KG4sITApLG4uVFIudVI9PT0wPzM6NDtuLnFzPm4uT0smJnc3KG4sITEpO3JldHVybiAxfSksCm5ldyBERSg0LDQsOCw0LG53KSxuZXcgREUoNCw1LDE2LDgsbncpLG5ldyBERSg0LDYsMzIsMzIsbncpLG5ldyBERSg0LDQsMTYsMTYsV1YpLG5ldyBERSg4LDE2LDMyLDMyLFdWKSxuZXcgREUoOCwxNiwxMjgsMTI4LFdWKSxuZXcgREUoOCwzMiwxMjgsMjU2LFdWKSxuZXcgREUoMzIsMTI4LDI1OCwxMDI0LFdWKSxuZXcgREUoMzIsMjU4LDI1OCw0MDk2LFdWKV07dmFyIGtmPXt9O2tmPWZ1bmN0aW9uKCl7dGhpcy5pbnB1dD1udWxsO3RoaXMuRW09dGhpcy5CQT10aGlzLlVaPTA7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLnRCPXRoaXMudVI9dGhpcy51Zz0wO3RoaXMubXNnPSIiO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnFTPTI7dGhpcy5nST0wfTt2YXIgZzI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdlYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLlRSLGI9dGhpcy5vcHRpb25zLmNodW5rU2l6ZTtpZih0aGlzLmVuZGVkKXJldHVybiExO3ZhciB2PVc9PT1+flc/VzpXPT09ITA/NDowO3R5cGVvZiBuPT09InN0cmluZyI/RC5pbnB1dD14aihuKTpnMi5jYWxsKG4pPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIj9ELmlucHV0PW5ldyBVaW50OEFycmF5KG4pOkQuaW5wdXQ9bjtELlVaPTA7RC5CQT1ELmlucHV0Lmxlbmd0aDtkb3tELnVSPT09MCYmKEQub3V0cHV0PW5ldyBoay5PbShiKSxELnVnPTAsRC51Uj1iKTtuPVBwMShELHYpO2lmKG4hPT0xJiZuIT09MClyZXR1cm4gdGhpcy5IdChuKSx0aGlzLmVuZGVkPSEwLCExO2lmKEQudVI9PT0wfHxELkJBPT09MCYmKHY9PT00fHx2PT09MikpaWYodGhpcy5vcHRpb25zLnRvPT09InN0cmluZyIpe3ZhciBrPWhrLlVmKEQub3V0cHV0LEQudWcpO1c9aztrPWsubGVuZ3RoO2lmKGs8NjU1MzcmJihXLnN1YmFycmF5JiYKbnhpfHwhVy5zdWJhcnJheSkpVz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsaGsuVWYoVyxrKSk7ZWxzZXtmb3IodmFyIGg9IiIseD0wO3g8azt4KyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShXW3hdKTtXPWh9dGhpcy5jaHVua3MucHVzaChXKX1lbHNlIFc9aGsuVWYoRC5vdXRwdXQsRC51ZyksdGhpcy5jaHVua3MucHVzaChXKX13aGlsZSgoRC5CQT4wfHxELnVSPT09MCkmJm4hPT0xKTtpZih2PT09NClyZXR1cm4oRD10aGlzLlRSKSYmRC5zdGF0ZT8oYj1ELnN0YXRlLnN0YXR1cyxiIT09NDImJmIhPT02OSYmYiE9PTczJiZiIT09OTEmJmIhPT0xMDMmJmIhPT0xMTMmJmIhPT02NjY/bj1sQyhELC0yKTooRC5zdGF0ZT1udWxsLG49Yj09PTExMz9sQyhELC0zKTowKSk6bj0tMix0aGlzLkh0KG4pLHRoaXMuZW5kZWQ9ITAsbj09PTA7dj09PTImJih0aGlzLkh0KDApLEQudVI9MCk7cmV0dXJuITB9Owp2Vi5wcm90b3R5cGUuSHQ9ZnVuY3Rpb24obil7bj09PTAmJih0aGlzLnJlc3VsdD10aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj90aGlzLmNodW5rcy5qb2luKCIiKTpoay5QNih0aGlzLmNodW5rcykpO3RoaXMuY2h1bmtzPVtdO3RoaXMuZXJyPW47dGhpcy5tc2c9dGhpcy5UUi5tc2d9O3ZhciB0cj0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIiksR2Q9YEBAcmVkdXgvSU5JVCR7dHIoKX1gLEVLQz1gQEByZWR1eC9SRVBMQUNFJHt0cigpfWA7dmFyIHIyPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7dmFyIFFTeD1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxbMCxnLkN4LFRnLGcub20sbFUsZy5vbSwtMSxqbyxsVSxqbywtMSxnLkN4LGpvLFRnLGcuZHEsWzAsbFUsLTMsam9dLGcub20sLTEsam9dKTt2YXIgS0d0PS0zMDE3MTcyMTc7dmFyIGJzdD1mdW5jdGlvbihuLFcpe3JldHVybigoKT0+e3ZhciBEPW5ldyBBWHgobixXKTtyZXR1cm4oKT0+RH0pKCl9KCJ5b3V0dWJlLmFwaS5pbm5lcnR1YmUuQXR0ZXN0YXRpb25FcnJvciIsJ1tudWxsLFtbIkFUVEVTVEFUSU9OX0VSUk9SX1VOS05PV04iLDBdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fTk9UX0lOSVRJQUxJWkVEIiwxXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PX1JFU1BPTlNFIiwyXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiLDNdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fSU5URVJOQUxfRVJST1IiLDRdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVkFMSUQiLDVdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX05FVFdPUktfRVJST1IiLDZdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX09GRkxJTkUiLDddLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVEVSTkFMX0VSUk9SIiw4XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0FQSV9OT1RfUkVBRFkiLDldLFsiQVRURVNUQVRJT05fRVJST1JfREVWSUNFX09GRkxJTkUiLDEwXSxbIkFUVEVTVEFUSU9OX0VSUk9SX0tFWV9QQUlSX0lOSVRfRkFJTEVEIiwxMl0sWyJBVFRFU1RBVElPTl9FUlJPUl9TSUdOSU5HX0RBVEFfTUlTU0lORyIsMTNdLFsiQVRURVNUQVRJT05fRVJST1JfU0lHTklOR19GQUlMRUQiLDE0XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0NFUlRfQ0hBSU5fUkVUUklFVkFMX0ZBSUxFRCIsMTVdXSxudWxsLFtbMTEsMTFdXV0nKTtnLnFNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMubmFtZT1ufX07Zy5TdD1uZXcgZy5xTSgiYWN0aW9uQ29tcGFuaW9uQWRSZW5kZXJlciIpO2cuVWg9bmV3IGcucU0oImFkQWN0aW9uSW50ZXJzdGl0aWFsUmVuZGVyZXIiKTtnLm0yPW5ldyBnLnFNKCJhZHNFbmdhZ2VtZW50UGFuZWxSZW5kZXJlciIpO2cuVyQ9bmV3IGcucU0oImRpc21pc3NhYmxlUGFuZWxUZXh0UG9ydHJhaXRJbWFnZVJlbmRlcmVyIik7Zy5vYT1uZXcgZy5xTSgiYWRzRW5nYWdlbWVudFBhbmVsU2VjdGlvbkxpc3RWaWV3TW9kZWwiKTtnLkFqPW5ldyBnLnFNKCJpbWFnZUNvbXBhbmlvbkFkUmVuZGVyZXIiKTtnLkVoPW5ldyBnLnFNKCJpbnN0cmVhbUFkUGxheWVyT3ZlcmxheVJlbmRlcmVyIik7Zy5GeT1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFJlbmRlcmVyIik7Zy5HOD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFNpbmdsZVNlbGVjdFF1ZXN0aW9uUmVuZGVyZXIiKTtnLnRMPW5ldyBnLnFNKCJpbnN0cmVhbVN1cnZleUFkTXVsdGlTZWxlY3RRdWVzdGlvblJlbmRlcmVyIik7Zy4kSD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZEFuc3dlclJlbmRlcmVyIik7Zy52eHg9bmV3IGcucU0oImluc3RyZWFtU3VydmV5QWRBbnN3ZXJOb25lT2ZUaGVBYm92ZVJlbmRlcmVyIik7Zy5DYz1uZXcgZy5xTSgiaW5zdHJlYW1WaWRlb0FkUmVuZGVyZXIiKTtnLmkwPW5ldyBnLnFNKCJwbGF5ZXJPdmVybGF5TGF5b3V0UmVuZGVyZXIiKTtnLnlWPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbEJ1dHRvbmVkQ2VudGVyZWRMYXlvdXRSZW5kZXJlciIpO2cuaFg9bmV3IGcucU0oImFib3ZlRmVlZEFkTGF5b3V0UmVuZGVyZXIiKTtnLnh6PW5ldyBnLnFNKCJiZWxvd1BsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmt6PW5ldyBnLnFNKCJpblBsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmUyPW5ldyBnLnFNKCJpblBsYXllck9yZ2FuaWNPdmVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuUmE9bmV3IGcucU0oInBsYXllckJ5dGVzQWRMYXlvdXRSZW5kZXJlciIpO2cuTGk9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVuY2VJdGVtQWRMYXlvdXRSZW5kZXJlciIpO2cudiQ9bmV3IGcucU0oInBsYXllclVuZGVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuQlE9bmV3IGcucU0oImFkSW50cm9SZW5kZXJlciIpO2cuVDA9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVudGlhbExheW91dFJlbmRlcmVyIik7Zy53YT1uZXcgZy5xTSgic3VydmV5VGV4dEludGVyc3RpdGlhbFJlbmRlcmVyIik7Zy5RVj1uZXcgZy5xTSgidmlkZW9BZFRyYWNraW5nUmVuZGVyZXIiKTt2YXIgUXhNPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbENlbnRlcmVkTGF5b3V0Vmlld01vZGVsIik7Zy5kYT1uZXcgZy5xTSgicGxheWVyT3JnYW5pY1RyYW5zaXRpb25PdmVybGF5UmVuZGVyZXIiKTtnLlhHPW5ldyBnLnFNKCJhZFNsb3RSZW5kZXJlciIpO2cuYWE9bmV3IGcucU0oInNxdWVlemViYWNrUGxheWVyU2lkZVBhbmVsUmVuZGVyZXIiKTtnLktjPW5ldyBnLnFNKCJiYW5uZXJJbWFnZUxheW91dFZpZXdNb2RlbCIpO2cuT2g9bmV3IGcucU0oInRvcEJhbm5lckltYWdlVGV4dEljb25CdXR0b25lZExheW91dFZpZXdNb2RlbCIpO2cuUFE9bmV3IGcucU0oImFkc0VuZ2FnZW1lbnRQYW5lbExheW91dFZpZXdNb2RlbCIpO2cubmk9bmV3IGcucU0oImRpc3BsYXlVbmRlcmxheVRleHRHcmlkQ2FyZHNMYXlvdXRWaWV3TW9kZWwiKTt2YXIgcm49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59fSxzQz1jbGFzcyBleHRlbmRzIHJue2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLk4uZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKG4pe3RoaXMuTi5lbnRpdHlNZXRhZGF0YT1ufX07dmFyIGtqTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBoNGo9bmV3IGcucU0oImNvbW1hbmRDb250ZXh0Iik7dmFyIHhrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBMdHc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZEUyPW5ldyBnLnFNKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgb3Z0PW5ldyBnLnFNKCJyYXdIb3RDb25maWdHcm91cCIpO2cuTk09bmV3IGcucU0oImNvbW1hbmRFeGVjdXRvckNvbW1hbmQiKTt2YXIgZTR3PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBneHQ9e1ZDOjAsZVo6MSxFcDozMixPcDo2MSxkNzo2NyxBSzoxMDMsSVg6ODYsR0E6NDIsTVg6NjAsTEk6NjIsRGk6NzMsYVg6NzYsdzc6ODgsQ0k6OTAsTjY6OTksSHI6OTgsb1g6MTAwLEZBOjEwMixjODo0MSxQODo2OSx5TDo3MCxKcjo3MSx5TToyLEs0OjI3LEFORFJPSUQ6MyxBdjo1NCx3TToxNCx6ejo5MSxDRTo1NSxkTToyNCxOdToxMDUsYzk6MjAsUDk6MTgsSkg6MjEsdEg6MTA0LFg2OjMwLGpMOjI5LFYzOjI4LHBJOjEwMSxtQjoxMDcsa0Q6MzQsaEg6MzYseTM6MzgsSU9TOjUsVEw6MTUsblE6OTIscmo6NDAscFE6MjUseDc6MTA2LFNBOjE3LFk3OjE5LHNZOjY0LHVPOjY2LGVBOjI2LFpwOjIyLGxPOjMzLEhtOjY4LFVZOjM1LExROjUzLEJtOjEwOCxSTzozNyxLUTozOSxkMjo3LFByOjU3LHlDOjQzLHRLOjU5LEpLOjkzLGlwOjc0LFdyOjc1LGJGOjg1LHpBOjY1LGhLOjgwLFhBOjgsQ006MTAsaUY6NTgscVg6NjMsbVU6NzIscXU6MjMsYkE6MTEselU6MTMsd0o6MTIsCm9OOjE2LFVwOjU2LGc3OjMxLGttOjc3LEFROjg0LGZJOjg3LENoOjg5LHdMOjk0LHpUOjk1LGxMOjEwOX07dmFyIGk5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1XKG4pe2cuU0UodGhpcyw1LG4pfX07dmFyIHlkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBYd1U9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEhzPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIEhXKHRoaXMsMzYpfXNldEhvbWVHcm91cEluZm8obil7cmV0dXJuICQ5KHRoaXMsWHdVLDgxLG4pfWNsZWFyTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKCl7cmV0dXJuIG96KHRoaXMsODkpfX07dmFyIEo2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRWYWx1ZSgpe3JldHVybiBZOSh0aGlzLHZXKHRoaXMsSXYsMikpfX0sSXY9WzIsMyw0LDUsNl07dmFyIHFZUz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VHJhY2tpbmdQYXJhbXMobil7cmV0dXJuIG96KHRoaXMsMSxrVShuLCExKSl9fTt2YXIgZlU9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVKPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBBNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VG9rZW4obil7cmV0dXJuIGcuU0UodGhpcywyLG4pfX07dmFyIFN5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1zZXRTYWZldHlNb2RlKG4pe3JldHVybiBLbih0aGlzLDUsbil9fTt2YXIgWUE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfVcobil7cmV0dXJuICQ5KHRoaXMsSHMsMSxuKX19O3ZhciBHajE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdFBVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRrYj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBSVGg9bmV3IGcucU0oImNvbnRpbnVhdGlvbkNvbW1hbmQiKTtnLmNFPW5ldyBnLnFNKCJzaWduYWxBY3Rpb24iKTt2YXIgcGo9bmV3IGcucU0oIndlYkNvbW1hbmRNZXRhZGF0YSIpO3ZhciBoazI9bmV3IGcucU0oIm1ldGFkYXRhQmFkZ2VSZW5kZXJlciIpO3ZhciBRWU09bmV3IGcucU0oInNpZ25hbFNlcnZpY2VFbmRwb2ludCIpO3ZhciAkej1uZXcgZy5xTSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBEMzE9e1NUOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIixyTDoiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVCIseHc6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCIsS2g6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCJ9O3ZhciAkdE09bmV3IGcucU0oImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCIpO3ZhciBEdEM9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIiKTt2YXIgYW9VPW5ldyBnLnFNKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlciIpLHIxcj1uZXcgZy5xTSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxzc0M9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgUyQ9bmV3IGcucU0oImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyIHJZcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBzQng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTkEyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHB3Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbCYmbi5wdXNoKHRoaXMuTi5hbHRlcm5hdGVDaGFubmVsKTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QmJm4ucHVzaCguLi50aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QpO3RoaXMuTi5vbmVvZkNoYW5uZWxFbnRpdHkmJm4ucHVzaCh0aGlzLk4ub25lb2ZDaGFubmVsRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBZWXI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmVudHJ5Q29sbGVjdGlvbiYmbi5wdXNoKHRoaXMuTi5lbnRyeUNvbGxlY3Rpb24pO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sZl94PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRQbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wYXJlbnRQbGF5bGlzdCk7aWYodGhpcy5OLmVudHJpZXMpZm9yKGxldCBXIG9mIHRoaXMuTi5lbnRyaWVzKW4ucHVzaCguLi4obmV3IEhzaChXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEhzaD1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIEpZYj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkmJm4ucHVzaCh0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuTi5jcmVhdG9ycyYmbi5wdXNoKC4uLnRoaXMuTi5jcmVhdG9ycyk7dGhpcy5OLnRoZUJpZ2dlc3RGYW4mJm4ucHVzaCh0aGlzLk4udGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxJX3c9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgU1l3PW5ldyBnLnFNKCJmZWVkYmFja0VuZHBvaW50Iik7dmFyIEFZeD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBta2g9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgS3R4PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE9zaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQTHI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgWnNyPW5ldyBnLnFNKCJpbnRlcmFjdGlvbkxvZ2dpbmdDb21tYW5kTWV0YWRhdGEiKTt2YXIgZDNqPXtsRjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIixuSToiV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIixSWDoiV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIixaaToiV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIixCcjoiV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIn07dmFyIFVrcj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0UGxheWVyVHlwZSgpe3JldHVybiBIVyh0aGlzLDcpfUUxKCl7cmV0dXJuIFk5KHRoaXMsMTkpfXNldFZpZGVvSWQobil7cmV0dXJuIGcuU0UodGhpcywxOSxuKX19O3ZhciBBbT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgU0w9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIFp2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fSx5WTE9WzIsMyw1LDYsNywxMSwxMywyMCwyMSwyMiwyMywyNCwyOCwzMiwzNyw0NSw1OSw3Miw3Myw3NCw3Niw3OCw3OSw4MCw4NSw5MSw5NywxMDAsMTAyLDEwNSwxMTEsMTE3LDExOSwxMjYsMTI3LDEzNiwxNDYsMTQ4LDE1MSwxNTYsMTU3LDE1OCwxNTksMTYzLDE2NCwxNjgsMTc2LDE3NywxNzgsMTc5LDE4NCwxODgsMTg5LDE5MCwxOTEsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDgsMjA5LDIxNSwyMTksMjIyLDIyNSwyMjYsMjI3LDIyOSwyMzIsMjMzLDIzNCwyNDAsMjQxLDI0NCwyNDcsMjQ4LDI0OSwyNTEsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjYsMjcwLDI3MiwyNzgsMjg4LDI5MSwyOTMsMzAwLDMwNCwzMDgsMzA5LDMxMCwzMTEsMzEzLDMxNCwzMTksMzIwLDMyMSwzMjMsMzI0LDMyNywzMjgsCjMzMCwzMzEsMzMyLDMzNCwzMzcsMzM4LDM0MCwzNDQsMzQ4LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM2MSwzNjMsMzY0LDM2OCwzNjksMzcwLDM3MywzNzQsMzc1LDM3OCwzODAsMzgxLDM4MywzODgsMzg5LDM5OSw0MDIsNDAzLDQxMCw0MTEsNDEyLDQxMyw0MTQsNDE1LDQxNiw0MTcsNDE4LDQyMyw0MjQsNDI1LDQyNiw0MjcsNDI5LDQzMCw0MzEsNDM5LDQ0MSw0NDQsNDQ4LDQ1OCw0NjksNDcxLDQ3Myw0NzQsNDgwLDQ4MSw0ODIsNDg0LDQ4NSw0ODYsNDkxLDQ5NSw0OTYsNTA2LDUwNyw1MDksNTExLDUxMiw1MTMsNTE0LDUxNSw1MTYsNTE3LDUxOCw1MTksNTIwLDUyMiw1MjMsNTI0LDUyNSw1MjYsNTI3LDUyOCw1MjksNTMwLDUzMSw1MzYsNTM3LDUzOCw1MzksNTQxLDU0NSw1NDcsNTQ4LDU0OSw1NTAsNTUxLDU1Miw1NTMsNTU0LDU1N107Zy5FeGk9bmV3IGcucU0oImxvZ2dpbmdDb250ZXh0Iik7dmFyIE95PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBoNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9RTEoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDEpKX1zZXRWaWRlb0lkKG4pe3JldHVybiBEMih0aGlzLDEseEEsV0gobikpfWdldFBsYXlsaXN0SWQoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDIpKX19LHhBPVsxLDJdO3ZhciB1RjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGlzWj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB1NXQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgb3hoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGRrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZHNMaXN0KTt0aGlzLk4uc21hcnREb3dubG9hZHNMaXN0JiZuLnB1c2godGhpcy5OLnNtYXJ0RG93bmxvYWRzTGlzdCk7dGhpcy5OLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGxfWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtpZih0aGlzLk4uZG93bmxvYWRzKWZvcihsZXQgVyBvZiB0aGlzLk4uZG93bmxvYWRzKW4ucHVzaCguLi4obmV3IHo0dyhXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LHo0dz1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3RoaXMuTi5wbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wbGF5bGlzdCk7dGhpcy5OLnZpZGVvSXRlbSYmbi5wdXNoKHRoaXMuTi52aWRlb0l0ZW0pO3RoaXMuTi5wbGF5bGlzdEl0ZW0mJm4ucHVzaCh0aGlzLk4ucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBUQTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGpCaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgQ0xpPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJBVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZmFrZUNoaWxkcmVuJiZuLnB1c2goLi4udGhpcy5OLmZha2VDaGlsZHJlbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgRnRoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi52aWRlbyYmbi5wdXNoKHRoaXMuTi52aWRlbyk7dGhpcy5OLnBsYXliYWNrRGF0YSYmbi5wdXNoKHRoaXMuTi5wbGF5YmFja0RhdGEpO3RoaXMuTi5vZmZsaW5lVmlkZW9Qb2xpY3kmJm4ucHVzaCh0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciB3d1M9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTVB3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5jaGFubmVsT3duZXImJm4ucHVzaCh0aGlzLk4uY2hhbm5lbE93bmVyKTt0aGlzLk4udmlkZW9zJiZuLnB1c2goLi4udGhpcy5OLnZpZGVvcyk7dGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZuLnB1c2goLi4udGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLk4uZG93bmxvYWRTdGF0ZSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXRlKTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBSNGk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnZpZGVvJiZuLnB1c2godGhpcy5OLnZpZGVvKTt0aGlzLk4uY2hhbm5lbENvbnRyaWJ1dG9yJiZuLnB1c2godGhpcy5OLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgVlBVPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFFCcih0aGlzLk4ucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LFFCcj1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4ubG9jYWxJbWFnZUVudGl0aWVzJiZuLnB1c2goLi4udGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBjWWk9Y2xhc3MgZXh0ZW5kcyBybntKKCl7dmFyIG49W107dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgYV9qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vd25lciYmbi5wdXNoKHRoaXMuTi5vd25lcik7dGhpcy5OLmRvd25sb2FkU3RhdGUmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRTdGF0ZSk7dGhpcy5OLnVzZXJTdGF0ZSYmbi5wdXNoKC4uLihuZXcgY1lpKHRoaXMuTi51c2VyU3RhdGUpKS5KKCkpO3RoaXMuTi5hZGRpdGlvbmFsTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFZQVSh0aGlzLk4uYWRkaXRpb25hbE1ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBuTjI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnVzZXJDaGFubmVsRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyQ2hhbm5lbERldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFdNWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uY2hhbm5lbE93bmVyJiZuLnB1c2godGhpcy5OLmNoYW5uZWxPd25lcik7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi5kb3dubG9hZFN0YXR1cyYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXR1cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgREkxPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJ6dD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB2TnQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIga1ByPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGhPdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB4SVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTE13PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGVPcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBnTnI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgVVU9bmV3IGcucU0oImNoYW5nZUtleWVkTWFya2Vyc1Zpc2liaWxpdHlDb21tYW5kIik7dmFyIHh0TT1uZXcgZy5xTSgibG9hZE1hcmtlcnNDb21tYW5kIik7dmFyIGVicj1uZXcgZy5xTSgidGltZWx5QWN0aW9uVmlld01vZGVsIik7dmFyIExxQz1uZXcgZy5xTSgidGltZWx5QWN0aW9uc092ZXJsYXlWaWV3TW9kZWwiKTt2YXIgWF9TPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHF2Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBHUE09Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdHhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRJTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBySmI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmNvbXBvc2l0ZVNvdXJjZUtleXMmJm4ucHVzaCguLi50aGlzLk4uY29tcG9zaXRlU291cmNlS2V5cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgczR0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIE5rUz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRlZFRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLk4uc21hcnREb3dubG9hZGVkVHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5OLmRvd25sb2FkZWRFcGlzb2RlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJm4ucHVzaCguLi50aGlzLk4uc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLmRvd25sb2FkZWRQbGF5bGlzdHMmJm4ucHVzaCguLi50aGlzLk4uZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmbi5wdXNoKC4uLnRoaXMuTi5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpOwp0aGlzLk4ubWV0YWRhdGFPbmx5VHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgcF9yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFl2dD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgSHppPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4ucHJpbWFyeUFydGlzdHMmJm4ucHVzaCguLi50aGlzLk4ucHJpbWFyeUFydGlzdHMpO3RoaXMuTi5kZXRhaWxzJiZuLnB1c2godGhpcy5OLmRldGFpbHMpO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmRvd25sb2FkTWV0YWRhdGEmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnJlZnJlc2gmJm4ucHVzaCh0aGlzLk4ucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxmSlU9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmCm4ucHVzaCh0aGlzLk4uYWxidW1SZWxlYXNlKTt0aGlzLk4udHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxKSjE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIElKVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sU3ZaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRBcnRpc3QmJm4ucHVzaCh0aGlzLk4ucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEFKaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGFyZW50QXJ0aXN0JiZuLnB1c2godGhpcy5OLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgbUliPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEtNdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQVHg9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLk4uc2lkZWxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3RoaXMuTi5lbnRyeUNvbGxlY3Rpb24mJm4ucHVzaCh0aGlzLk4uZW50cnlDb2xsZWN0aW9uKTt0aGlzLk4uc2hhcmUmJm4ucHVzaCh0aGlzLk4uc2hhcmUpO3RoaXMuTi5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmCm4ucHVzaCguLi4obmV3IE96aSh0aGlzLk4ucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5KKCkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sT3ppPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5jcmVhdG9yRW50aXR5JiZuLnB1c2godGhpcy5OLmNyZWF0b3JFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFp6aT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBVSVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmbi5wdXNoKHRoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuTi5hcnRpc3RzJiZuLnB1c2goLi4udGhpcy5OLmFydGlzdHMpO3RoaXMuTi5hdWRpb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuTi52aWRlb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLmRldGFpbHMmJm4ucHVzaCh0aGlzLk4uZGV0YWlscyk7dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmxpYnJhcnlFZGl0JiZuLnB1c2godGhpcy5OLmxpYnJhcnlFZGl0KTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmCm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmx5cmljcyYmbi5wdXNoKHRoaXMuTi5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0seUpTPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRUcmFjayYmbi5wdXNoKHRoaXMuTi5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxFTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnBhcmVudFRyYWNrJiZuLnB1c2godGhpcy5OLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBucU09bmV3IGcucU0oIm11c2ljRW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKTt2YXIgaXpTPW5ldyBnLnFNKCJzaGFyZUVuZHBvaW50IiksdXhDPW5ldyBnLnFNKCJzaGFyZUVudGl0eUVuZHBvaW50Iiksb05pPW5ldyBnLnFNKCJzaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpLGRJeD1uZXcgZy5xTSgid2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtnLlBqPW5ldyBnLnFNKCJ1cmxFbmRwb2ludCIpO2cuSVE9bmV3IGcucU0oIndhdGNoRW5kcG9pbnQiKTt2YXIgek93PW5ldyBnLnFNKCJ3YXRjaFBsYXlsaXN0RW5kcG9pbnQiKTt2YXIgbEoyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFRrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBqNFo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQ1R3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4udHJhbnNmZXImJm4ucHVzaCh0aGlzLk4udHJhbnNmZXIpO3RoaXMuTi5hZHNQbGF5YmFja0RhdGEmJm4ucHVzaCguLi50aGlzLk4uYWRzUGxheWJhY2tEYXRhKTt0aGlzLk4uZHJtTGljZW5zZSYmbi5wdXNoKHRoaXMuTi5kcm1MaWNlbnNlKTt0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5JiZuLnB1c2godGhpcy5OLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBGTXc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgd19NPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vZmZsaW5lVmlkZW9TdHJlYW1zJiZuLnB1c2goLi4udGhpcy5OLm9mZmxpbmVWaWRlb1N0cmVhbXMpO3RoaXMuTi5jYXB0aW9uVHJhY2smJm4ucHVzaCguLi50aGlzLk4uY2FwdGlvblRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBNeFM9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgUk8xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFE0cj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBWeGI9bmV3IGcucU0oInByZWZldGNoV2F0Y2hDb21tYW5kIik7dmFyIGNKWj1uZXcgZy5xTSgidXBkYXRlUHJvZ3Jlc3NCYXJDb21tYW5kIik7dmFyIE5LeD1uZXcgZy5xTSgiY29tcG9zaXRlVmlkZW9PdmVybGF5UmVuZGVyZXIiKTt2YXIgbGFTPW5ldyBnLnFNKCJwYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlciIpO3ZhciBLSTE9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxPVng9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBJb2I9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksRHo9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksYUp3PW5ldyBnLnFNKCJwbGF5ZXJSZXNwb25zZSIpO3ZhciBuWEM9bmV3IGcucU0oInBsYXlsaXN0RWRpdEVuZHBvaW50Iik7dmFyIFd1Wj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBUZT1uZXcgZy5xTSgicmVlbFdhdGNoRW5kcG9pbnQiKTt2YXIgRCRyPW5ldyBnLnFNKCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiKTtnLllIPW5ldyBnLnFNKCJidXR0b25SZW5kZXJlciIpO2cuSEM9bmV3IGcucU0oInRvZ2dsZUJ1dHRvblJlbmRlcmVyIik7Zy5jUT1uZXcgZy5xTSgiY291bnRlcmZhY3R1YWxSZW5kZXJlciIpO3ZhciBiTXI9bmV3IGcucU0oInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTt2YXIgdlhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGtpdz1uZXcgZy5xTSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO3ZhciBoblU9bmV3IGcucU0oInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgeCRaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE5oMT1uZXcgZy5xTSgic3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIiKTt2YXIgTHUxPW5ldyBnLnFNKCJzdWJzY3JpYmVFbmRwb2ludCIpO3ZhciBlbmk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZ1hVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFhSUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBxTlo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgR2lNPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHRHdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciAkJDI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgck0xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHNkaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBOeTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFJ0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFZDMj1uZXcgZy5xTSgicXJDb2RlUmVuZGVyZXIiKTt2YXIgWU5aPXtkajoiTElWSU5HX1JPT01fQVBQX01PREVfVU5TUEVDSUZJRUQiLHdqOiJMSVZJTkdfUk9PTV9BUFBfTU9ERV9NQUlOIixBXzoiTElWSU5HX1JPT01fQVBQX01PREVfS0lEUyIsQ1E6IkxJVklOR19ST09NX0FQUF9NT0RFX01VU0lDIixvTzoiTElWSU5HX1JPT01fQVBQX01PREVfVU5QTFVHR0VEIixJTzoiTElWSU5HX1JPT01fQVBQX01PREVfR0FNSU5HIn07dmFyIEhNdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBmTzI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgSk0yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJXWj1uZXcgZy5xTSgiYXV0b3BsYXlTd2l0Y2hCdXR0b25SZW5kZXJlciIpO3ZhciB2cXQ9bmV3IGcucU0oImRlc2t0b3BPdmVybGF5Q29uZmlnUmVuZGVyZXIiKTt2YXIgYzNoPW5ldyBnLnFNKCJlbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyIik7dmFyIFdHaT1uZXcgZy5xTSgicGxheWxpc3RQYW5lbFJlbmRlcmVyIik7dmFyIElPdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBTTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQU14PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIG0kUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBLdWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgT01qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFA4dz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBaTWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFlaPW5ldyBnLnFNKCJjaXBoZXIiKTt2YXIgU2xNPW5ldyBnLnFNKCJwbGF5ZXJWYXJzIik7dmFyIGR2aT1uZXcgZy5xTSgicGxheWVyVmFycyIpO3ZhciBVJFU9Zy5xaS53aW5kb3csSUU9VSRVPy55dD8uY29uZmlnX3x8VSRVPy55dGNmZz8uZGF0YV98fHt9O2cuR2IoInl0LmNvbmZpZ18iLElFKTt2YXIgS3c9W107dmFyIGR4aT0vXltcdy5dKiQvLG9LaT17cTohMCxzZWFyY2hfcXVlcnk6ITB9LHVRaD1TdHJpbmcoeUYpO2cuUkU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtnLkdiKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24obil7cmV0dXJuIGcuRXQoZy5RRihuKSl9KTtnLlV3KCk7dmFyIFZGPSJYTUxIdHRwUmVxdWVzdCJpbiBnLnFpPygpPT5uZXcgWE1MSHR0cFJlcXVlc3Q6bnVsbDt2YXIgeU1TPSJhYnNvbHV0ZV9leHBlcmltZW50cyBjbGllbnRfZGV2X2RvbWFpbiBjbGllbnRfZGV2X2V4cGZsYWcgY2xpZW50X2Rldl9yZWdleF9tYXAgY2xpZW50X2Rldl9yb290X3VybCBjbGllbnRfcm9sbG91dF9vdmVycmlkZSBleHBmbGFnIGZvcmNlZENhcGFiaWxpdHkganNmZWF0IGpzbW9kZSBtb2RzIHRoZW1lIi5zcGxpdCgiICIpO1suLi55TVNdO3ZhciBMJD17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxWdWI9WyJhcHAiLCJkZWJ1Z2NzcyIsImRlYnVnanMiLCJleHBmbGFnIiwiZm9yY2VfYWRfcGFyYW1zIiwiZm9yY2VfYWRfZW5jcnlwdGVkIiwiZm9yY2VfdmlyYWxfYWRfcmVzcG9uc2VfcGFyYW1zIiwiZm9yY2VkX2V4cGVyaW1lbnRzIiwiaW5uZXJ0dWJlX3NuYXBzaG90cyIsImlubmVydHViZV9nb2xkZW5zIiwiaW50ZXJuYWxjb3VudHJ5Y29kZSIsImludGVybmFsaXBvdmVycmlkZSIsImFic29sdXRlX2V4cGVyaW1lbnRzIiwiY29uZGl0aW9uYWxfZXhwZXJpbWVudHMiLCJzYmIiLCJzcl9ibnNfYWRkcmVzcyIsLi4ueU1TXSxHUT0hMSxGeDE9eFQ7dmFyIGM0VTtnLiRUPWNsYXNzIGV4dGVuZHMgZy5UYntjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoYCR7bn0sIGVycm9yQ29kZT0ke1d9YCk7dGhpcy5lcnJvckNvZGU9Vzt0aGlzLnhocj1EO3RoaXMubmFtZT0iUHJvbWlzZUFqYXhFcnJvciJ9fTtjNFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy54aHI9bn19O3ZhciBOWD1jbGFzc3tjb25zdHJ1Y3RvcihuPW51bGwpe3RoaXMuTj1uO3RoaXMuVz0wO3RoaXMuSj1udWxsfXRoZW4obixXLEQpe3JldHVybiB0aGlzLk4/dGhpcy5OLnRoZW4obixXLEQpOnRoaXMuVz09PTEmJm4/KG49bi5jYWxsKEQsdGhpcy5KKSkmJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iP246Zy5IMChuKTp0aGlzLlc9PT0yJiZXPyhuPVcuY2FsbChELHRoaXMuSikpJiZ0eXBlb2Ygbi50aGVuPT09ImZ1bmN0aW9uIj9uOmcucCQobik6dGhpc31nZXRWYWx1ZSgpe3JldHVybiB0aGlzLkp9fTtOWC5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIGYkPSExO2cuTUw9dzh8fE1YO3ZhciBXMDE9L14oWzAtOVwuXSspOihbMC05XC5dKykkLzt2YXIgWGs9e307dmFyIEVYaD0wLHEwPWcuWmw/IndlYmtpdCI6Zy5lUz8ibW96IjpnLmtoPyJtcyI6cmM/Im8iOiIiLGlNeD1nLnJyKCJ5dERvbURvbUdldE5leHRJZCIpfHwoKCk9PisrRVhoKTsKZy5HYigieXREb21Eb21HZXROZXh0SWQiLGlNeCk7dmFyIHVaYj17c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOjEsc3RvcFByb3BhZ2F0aW9uOjEscHJldmVudE1vdXNlRXZlbnQ6MSxwcmV2ZW50TWFuaXB1bGF0aW9uOjEscHJldmVudERlZmF1bHQ6MSxsYXllclg6MSxsYXllclk6MSxzY3JlZW5YOjEsc2NyZWVuWToxLHNjYWxlOjEscm90YXRpb246MSx3ZWJraXRNb3ZlbWVudFg6MSx3ZWJraXRNb3ZlbWVudFk6MX0sZnk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50eXBlPSIiO3RoaXMuc3RhdGU9dGhpcy5zb3VyY2U9dGhpcy5kYXRhPXRoaXMuY3VycmVudFRhcmdldD10aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuY3RybEtleT10aGlzLmFsdEtleT0hMTt0aGlzLnJvdGF0aW9uPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9MDt0aGlzLnNjYWxlPTE7dGhpcy5jaGFuZ2VkVG91Y2hlcz10aGlzLnRvdWNoZXM9Cm51bGw7dHJ5e2lmKG49bnx8d2luZG93LmV2ZW50KXt0aGlzLmV2ZW50PW47Zm9yKGxldCBiIGluIG4pYiBpbiB1WmJ8fCh0aGlzW2JdPW5bYl0pO3RoaXMuc2NhbGU9bi5zY2FsZTt0aGlzLnJvdGF0aW9uPW4ucm90YXRpb247dmFyIFc9bi50YXJnZXR8fG4uc3JjRWxlbWVudDtXJiZXLm5vZGVUeXBlPT0zJiYoVz1XLnBhcmVudE5vZGUpO3RoaXMudGFyZ2V0PVc7dmFyIEQ9bi5yZWxhdGVkVGFyZ2V0O2lmKEQpdHJ5e0Q9RC5ub2RlTmFtZT9EOm51bGx9Y2F0Y2goYil7RD1udWxsfWVsc2UgdGhpcy50eXBlPT0ibW91c2VvdmVyIj9EPW4uZnJvbUVsZW1lbnQ6dGhpcy50eXBlPT0ibW91c2VvdXQiJiYoRD1uLnRvRWxlbWVudCk7dGhpcy5yZWxhdGVkVGFyZ2V0PUQ7dGhpcy5jbGllbnRYPW4uY2xpZW50WCE9dm9pZCAwP24uY2xpZW50WDpuLnBhZ2VYO3RoaXMuY2xpZW50WT1uLmNsaWVudFkhPXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWTt0aGlzLmtleUNvZGU9bi5rZXlDb2RlP24ua2V5Q29kZToKbi53aGljaDt0aGlzLmNoYXJDb2RlPW4uY2hhckNvZGV8fCh0aGlzLnR5cGU9PSJrZXlwcmVzcyI/dGhpcy5rZXlDb2RlOjApO3RoaXMuYWx0S2V5PW4uYWx0S2V5O3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5OPW4ucGFnZVg7dGhpcy5KPW4ucGFnZVl9fWNhdGNoKGIpe319cHJldmVudERlZmF1bHQoKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5yZXR1cm5WYWx1ZT0hMSx0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0JiZ0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0KCkpfXN0b3BQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJih0aGlzLmV2ZW50LmNhbmNlbEJ1YmJsZT0hMCx0aGlzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24oKSl9c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQuY2FuY2VsQnViYmxlPSEwLAp0aGlzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fTtnLllSPWcucWkueXRFdmVudHNFdmVudHNMaXN0ZW5lcnN8fHt9O2cuR2IoInl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzIixnLllSKTt2YXIgSEI9Zy5xaS55dEV2ZW50c0V2ZW50c0NvdW50ZXJ8fHtjb3VudDowfTtnLkdiKCJ5dEV2ZW50c0V2ZW50c0NvdW50ZXIiLEhCKTt2YXIgb1hoPWcud0QoZnVuY3Rpb24oKXt2YXIgbj0hMTt0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSksSk89Zy53RChmdW5jdGlvbigpe3ZhciBuPSExOwp0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJjYXB0dXJlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSk7dmFyIGZqO2ZqPXdpbmRvdztnLlI9ZmoueXRjc2kmJmZqLnl0Y3NpLm5vdz9mai55dGNzaS5ub3c6ZmoucGVyZm9ybWFuY2UmJmZqLnBlcmZvcm1hbmNlLnRpbWluZyYmZmoucGVyZm9ybWFuY2Uubm93JiZmai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0PygpPT5mai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K2ZqLnBlcmZvcm1hbmNlLm5vdygpOigpPT4obmV3IERhdGUpLmdldFRpbWUoKTtnLml4KG1ZLGcuRk0pO21ZLnByb3RvdHlwZS5EPWZ1bmN0aW9uKG4pe24uTj09PXZvaWQgMCYmcHkobik7dmFyIFc9bi5OO24uSj09PXZvaWQgMCYmcHkobik7dGhpcy5OPW5ldyBnLk1ZKFcsbi5KKX07Cm1ZLnByb3RvdHlwZS5FdT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk58fG5ldyBnLk1ZfTsKbVkucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtpZih0aGlzLk4pe3ZhciBuPSgwLGcuUikoKTtpZih0aGlzLlghPTApe3ZhciBXPXRoaXMuVixEPXRoaXMuTixiPVcueC1ELng7Vz1XLnktRC55O2I9TWF0aC5zcXJ0KGIqYitXKlcpLyhuLXRoaXMuWCk7dGhpcy5KW3RoaXMuV109TWF0aC5hYnMoKGItdGhpcy5qKS90aGlzLmopPi41PzE6MDtXPTA7Zm9yKEQ9MDtEPDQ7RCsrKVcrPXRoaXMuSltEXXx8MDtXPj0zJiZ0aGlzLksoKTt0aGlzLmo9Yn10aGlzLlg9bjt0aGlzLlY9dGhpcy5OO3RoaXMuVz0odGhpcy5XKzEpJTR9fTsKbVkucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7RHIodGhpcy5ZKTtnLlNfKHRoaXMuY0opfTtnLkpMPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuVz1bXTt0aGlzLks9bnx8dGhpc31OTihuLFcsRCxiLHYpe0Q9UFYoKDAsZy5LdCkoRCxifHx0aGlzLkspKTtEPXt0YXJnZXQ6bixuYW1lOlcsY2FsbGJhY2s6RH07dmFyIGs7diYmb1hoKCkmJihrPXtwYXNzaXZlOiEwfSk7bi5hZGRFdmVudExpc3RlbmVyKFcsRC5jYWxsYmFjayxrKTt0aGlzLlcucHVzaChEKTtyZXR1cm4gRH13SChuKXtmb3IobGV0IFc9MDtXPHRoaXMuVy5sZW5ndGg7VysrKWlmKHRoaXMuV1tXXT09bil7dGhpcy5XLnNwbGljZShXLDEpO24udGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIobi5uYW1lLG4uY2FsbGJhY2spO2JyZWFrfX1KKG4pe2Zvcig7dGhpcy5XLmxlbmd0aDspe2xldCBXPXRoaXMuVy5wb3AoKSxEO24mJm9YaCgpJiYoRD17cGFzc2l2ZTohMH0pO1cudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoVy5uYW1lLFcuY2FsbGJhY2ssRCl9fW1BKCl7dGhpcy5KKCk7CnN1cGVyLm1BKCl9fTt2YXIgd1laPVsiYXR0L2dldCJdLGRRWj1bImVtYmVkZGVkX3BsYXllciJdLGQkUz1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLHpudD1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0sbE9NPVsiZmVlZGJhY2siXSxUeXc9WyJub3RpZmljYXRpb24vbW9kaWZ5X2NoYW5uZWxfcHJlZmVyZW5jZSJdLHF5aj1bInBsYXllciJdLGpkeD1bImJyb3dzZS9lZGl0X3BsYXlsaXN0Il0sc3YyPVsicmVlbC9yZWVsX2l0ZW1fd2F0Y2giXSxONGg9WyJuYXZpZ2F0aW9uL3Jlc29sdmVfdXJsIl0sQ0diPVsiYWNjb3VudC9zZXRfc2V0dGluZyJdLEM4Yj1bInN1YnNjcmlwdGlvbi9zdWJzY3JpYmUiXSxCeWk9WyJzdWJzY3JpcHRpb24vdW5zdWJzY3JpYmUiXSwkMUM9WyJuZXh0IiwidW5wbHVnZ2VkL3dhdGNoX25leHQiXTt2YXIgT1A9e0JwOmcud0QoZnVuY3Rpb24oKXt0cnl7bGV0IFc9bmV3IFdTO3ZhciBuPVcuaXNBdmFpbGFibGUoKT9XOm51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9cmV0dXJuIG4/bmV3IFZLKG4pOm51bGx9KSwKcWI6Zy53RChmdW5jdGlvbigpe3ZhciBuPW5ldyBEUTtyZXR1cm4gbi5pc0F2YWlsYWJsZSgpP25ldyBWSyhuKTpudWxsfSl9O2cuSVY9d2luZG93Lnl0JiZ3aW5kb3cueXQubXNnc198fHdpbmRvdy55dGNmZyYmd2luZG93Lnl0Y2ZnLm1zZ3N8fHt9O2cuR2IoInl0Lm1zZ3NfIixnLklWKTt2YXIgV2I9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPXZvaWQgMDt0aGlzLk49ITE7bi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixXPT57Vy5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuSj1XfSk7Cm4uYWRkRXZlbnRMaXN0ZW5lcigiYXBwaW5zdGFsbGVkIiwoKT0+e3RoaXMuTj0hMH0se29uY2U6ITB9KX19O3ZhciBFUD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc0I9ITB9YWoobixXKXtuPXt9O3ZhciBEPVtdOyJVU0VSX1NFU1NJT05fSUQiaW4gSUUmJkQucHVzaCh7a2V5OiJ1Iix2YWx1ZTpnLkFyKCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKEQ9Qk8oRCkpbi5BdXRob3JpemF0aW9uPUQsRD1XPVc/LnNlc3Npb25JbmRleCxEPT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiU0VTU0lPTl9JTkRFWCIsMCkpLEQ9aXNOYU4oRCk/MDpEKSxnLmwoInZvaWNlX3NlYXJjaF9hdXRoX2hlYWRlcl9yZW1vdmFsIil8fChuWyJYLUdvb2ctQXV0aFVzZXIiXT1ELnRvU3RyaW5nKCkpLCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSJpbiBJRXx8KG5bIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksVz09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIElFJiYoblsiWC1Hb29nLVBhZ2VJZCJdPWcuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikpO3JldHVybiBufX07dmFyIHU5PXtpZGVudGl0eVR5cGU6IlVOQVVUSEVOVElDQVRFRF9JREVOVElUWV9UWVBFX1VOS05PV04ifTt2YXIgbE89Zy5ycigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iKXx8e307Zy5HYigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iLGxPKTsKdmFyIHgzYj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1nLkFyKCJBTFRfUFJFRl9DT09LSUVfTkFNRSIsIlBSRUYiKTt0aGlzLko9Zy5BcigiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIG49Zy5TZCh0aGlzLk4pO24mJnRoaXMucGFyc2Uobil9Z2V0KG4sVyl7ejEobik7ZEoobik7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGw/bjpXP1c6IiJ9c2V0KG4sVyl7ejEobik7ZEoobik7aWYoVz09bnVsbCl0aHJvdyBFcnJvcigiRXhwZWN0ZWROb3ROdWxsIik7bE9bbl09Vy50b1N0cmluZygpfVFRKG4pe3JldHVybiEhKChUMShgZiR7TWF0aC5mbG9vcihuLzMxKSsxfWApfHwwKSYxPDxuJTMxKX1yZW1vdmUobil7ejEobik7ZEoobik7ZGVsZXRlIGxPW25dfXNhdmUoKXtJSyh0aGlzLk4sdGhpcy5kdW1wKCksNjMwNzJFMyx0aGlzLkosITApfWNsZWFyKCl7Zy50SyhsTyl9ZHVtcCgpe3ZhciBuPVtdO2ZvcihsZXQgVyBpbiBsTylsTy5oYXNPd25Qcm9wZXJ0eShXKSYmCm4ucHVzaChgJHtXfT1gK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcobE9bV10pKSk7cmV0dXJuIG4uam9pbigiJiIpfXBhcnNlKG4pe249ZGVjb2RlVVJJQ29tcG9uZW50KG4pLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe3ZhciBXPW5bRF0uc3BsaXQoIj0iKTtsZXQgYj1XWzBdOyhXPVdbMV0pJiYobE9bYl09Vy50b1N0cmluZygpKX19fSx1Tzt2YXIgQ3k9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LHpxdz17Q09OTl9ERUZBVUxUOjAsQ09OTl9VTktOT1dOOjEsQ09OTl9OT05FOjIsQ09OTl9XSUZJOjMsQ09OTl9DRUxMVUxBUl8yRzo0LENPTk5fQ0VMTFVMQVJfM0c6NSxDT05OX0NFTExVTEFSXzRHOjYsQ09OTl9DRUxMVUxBUl9VTktOT1dOOjcsQ09OTl9ESVNDTzo4LENPTk5fQ0VMTFVMQVJfNUc6OSxDT05OX1dJRklfTUVURVJFRDoxMCxDT05OX0NFTExVTEFSXzVHX1NBOjExLApDT05OX0NFTExVTEFSXzVHX05TQToxMixDT05OX1dJUkVEOjMwLENPTk5fSU5WQUxJRDozMX0sbEJyPXtFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1VOS05PV046MCxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX09GRkxJTkU6MSxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1NMT1dfMkc6MixFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHOjMsRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRzo0LEVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfNEc6NX0sRms9eyJzbG93LTJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9TTE9XXzJHIiwiMmciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHIiwiM2ciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzNHIiwiNGciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzRHIn07Zy5ReD1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobik7dGhpcy5hcmdzPVsuLi5XXTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgRnVNPWNsYXNze0xTKG4sVyl7cmV0dXJuIGcuVngoMCxuLDEsVyl9fTtnLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UudGltZXJJZE1hcF8iKTt2YXIgV049Y2xhc3MgZXh0ZW5kcyBGdU17c08obil7aWYobj09PXZvaWQgMHx8IU51bWJlci5pc05hTihOdW1iZXIobikpKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIik7Vz9XKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9fXN0YXJ0KCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnN0YXJ0Iik7biYmbigpfXBhdXNlKCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnBhdXNlIik7biYmbigpfX0sdGE9Zy5EeSgpO3ZhciB0ST1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49KG49Zy52UyhuKSk/bmV3IFFLKG4pOm51bGw7dGhpcy5XPWRvY3VtZW50LmRvbWFpbnx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lfUooKXtyZXR1cm4hIXRoaXMuTn1zZXQobixXLEQsYil7RD1EfHwzMTEwNEUzO3RoaXMucmVtb3ZlKG4pO2lmKHRoaXMuSigpKXRyeXt0aGlzLk4uc2V0KG4sVyxEYXRlLm5vdygpK0QqMUUzKTtyZXR1cm59Y2F0Y2goayl7fXZhciB2PSIiO2lmKGIpdHJ5e3Y9ZXNjYXBlKChuZXcgbGUpLmJZKFcpKX1jYXRjaChrKXtyZXR1cm59ZWxzZSB2PWVzY2FwZShXKTtJSyhuLHYsRCx0aGlzLlcpfWdldChuLFcpe3ZhciBEPXZvaWQgMCxiPSF0aGlzLkooKTtpZighYil0cnl7RD10aGlzLk4uZ2V0KG4pfWNhdGNoKHYpe2I9ITB9aWYoYiYmKEQ9Zy5TZChuKSkmJihEPXVuZXNjYXBlKEQpLFcpKXRyeXtEPUpTT04ucGFyc2UoRCl9Y2F0Y2godil7dGhpcy5yZW1vdmUobiksRD12b2lkIDB9cmV0dXJuIER9cmVtb3ZlKG4pe3RoaXMuSigpJiYKdGhpcy5OLnJlbW92ZShuKTtBeShuLCIvIix0aGlzLlcpfX07dmFyIHZOPSgoKT0+e3ZhciBuO3JldHVybigpPT57bnx8KG49bmV3IHRJKCJ5dGlkYiIpKTtyZXR1cm4gbn19KSgpO3ZhciB4dT1bXSxoYz0hMTt2YXIgd1JNPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LE1HUz17QVVUSF9JTlZBTElEOiJFUlJPUiIsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6IldBUk5JTkciLEVYUExJQ0lUX0FCT1JUOiJJR05PUkVEIixJREJfTk9UX1NVUFBPUlRFRDoiRVJST1IiLE1JU1NJTkdfSU5ERVg6IldBUk5JTkciLE1JU1NJTkdfT0JKRUNUX1NUT1JFUzoiRVJST1IiLApEQl9ERUxFVEVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzoiV0FSTklORyIsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixRVU9UQV9FWENFRURFRDoiV0FSTklORyIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IldBUk5JTkciLFVOS05PV05fQUJPUlQ6IldBUk5JTkciLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiJXQVJOSU5HIn0sUm5pPXtBVVRIX0lOVkFMSUQ6ITEsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6ITEsRVhQTElDSVRfQUJPUlQ6ITEsSURCX05PVF9TVVBQT1JURUQ6ITEsTUlTU0lOR19JTkRFWDohMSxNSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLFFVT1RBX0VYQ0VFREVEOiExLFFVT1RBX01BWUJFX0VYQ0VFREVEOiEwLFVOS05PV05fQUJPUlQ6ITAsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046ITF9LApxTD1jbGFzcyBleHRlbmRzIGcuUXh7Y29uc3RydWN0b3IobixXPXt9LEQ9d1JNW25dLGI9TUdTW25dLHY9Um5pW25dKXtzdXBlcihELHtuYW1lOiJZdElkYktub3duRXJyb3IiLGlzU3c6c2VsZi5kb2N1bWVudD09PXZvaWQgMCxpc0lmcmFtZTpzZWxmIT09c2VsZi50b3AsdHlwZTpuLC4uLld9KTt0aGlzLnR5cGU9bjt0aGlzLm1lc3NhZ2U9RDt0aGlzLmxldmVsPWI7dGhpcy5OPXY7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMscUwucHJvdG90eXBlKX19LFFkUz1jbGFzcyBleHRlbmRzIHFMe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOlcsZm91bmRPYmplY3RTdG9yZXM6bn0sd1JNLk1JU1NJTkdfT0JKRUNUX1NUT1JFUyk7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUWRTLnByb3RvdHlwZSl9fSx0Yz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLmluZGV4PQpuO3RoaXMub2JqZWN0U3RvcmU9VztPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyx0Yy5wcm90b3R5cGUpfX0sTDBpPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBmRj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LHNSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuTj1bXTt0aGlzLko9W107bj1uLk47dmFyIFc9Yj0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6Yn07Zm9yKGxldCB2IG9mIHRoaXMuTil2KCl9fSxEPWI9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIsCnJlYXNvbjpifTtmb3IobGV0IHYgb2YgdGhpcy5KKXYoKX19Owp0cnl7bihXLEQpfWNhdGNoKGIpe0QoYil9fXN0YXRpYyBhbGwobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9Pnt2YXIgYj1bXSx2PW4ubGVuZ3RoO3Y9PT0wJiZXKGIpO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7KytrKXNSLnJlc29sdmUobltrXSkudGhlbihoPT57YltrXT1oO3YtLTt2PT09MCYmVyhiKX0pLmNhdGNoKGg9PntEKGgpfSl9KSl9c3RhdGljIHJlc29sdmUobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntuIGluc3RhbmNlb2Ygc1I/bi50aGVuKFcsRCk6VyhuKX0pKX1zdGF0aWMgcmVqZWN0KG4pe3JldHVybiBuZXcgc1IobmV3IGZGKChXLEQpPT57RChuKX0pKX10aGVuKG4sVyl7dmFyIEQ9bj8/Z1VyLGI9Vz8/ZXExOwpyZXR1cm4gbmV3IHNSKG5ldyBmRigodixrKT0+e3RoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciPyh0aGlzLk4ucHVzaCgoKT0+e3BGKHRoaXMsdGhpcyxELHYsayl9KSx0aGlzLkoucHVzaCgoKT0+e1l1KHRoaXMsdGhpcyxiLHYsayl9KSk6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iRlVMRklMTEVEIj9wRih0aGlzLHRoaXMsRCx2LGspOnRoaXMuc3RhdGUuc3RhdHVzPT09IlJFSkVDVEVEIiYmWXUodGhpcyx0aGlzLGIsdixrKX0pKX1jYXRjaChuKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxuKX19O3ZhciBxXzI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnJlcXVlc3Q9bjt0aGlzLmN1cnNvcj1XfX07dmFyIFlfcj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMub3B0aW9ucz1XO3RoaXMudHJhbnNhY3Rpb25Db3VudD0wO3RoaXMuVz1NYXRoLnJvdW5kKCgwLGcuUikoKSk7dGhpcy5KPSExfWFkZChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwLGNvbW1pdDpBYygpfSxiPT5iLm9iamVjdFN0b3JlKG4pLmFkZChXLEQpKX1jbGVhcihuKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWR3cml0ZSIsCkdROiEwfSxXPT5XLm9iamVjdFN0b3JlKG4pLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5OLmNsb3NlKCk7CnRoaXMub3B0aW9ucz8uY2xvc2VkJiZ0aGlzLm9wdGlvbnMuY2xvc2VkKCl9Y291bnQobixXKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IixHUTohMCxjb21taXQ6QWMoKX0sRD0+RC5vYmplY3RTdG9yZShuKS5jb3VudChXKSl9ZGVsZXRlKG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKSYmIShXIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmRlbGV0ZShXKSl9Z2V0KG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkb25seSIsCkdROiEwLGNvbW1pdDpBYygpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmdldChXKSl9Z2V0QWxsKG4sVyxEKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IiwKR1E6ITB9LGI9PmIub2JqZWN0U3RvcmUobikuZ2V0QWxsKFcsRCkpfXB1dChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKX0sYj0+Yi5vYmplY3RTdG9yZShuKS5wdXQoVyxEKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuTi5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfX0sUE49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59YWRkKG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5hZGQobixXKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLk4uYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBKYyh0aGlzLk4uY2xlYXIoKSkudGhlbigoKT0+e30pfWNvdW50KG4pe3JldHVybiBKYyh0aGlzLk4uY291bnQobikpfWRlbGV0ZShuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIElEQktleVJhbmdlP3RYVSh0aGlzLG4pOkpjKHRoaXMuTi5kZWxldGUobikpfWdldChuKXtyZXR1cm4gSmModGhpcy5OLmdldChuKSl9Z2V0QWxsKG4sVyl7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/SmModGhpcy5OLmdldEFsbChuLApXKSk6JDN4KHRoaXMsbixXKX1pbmRleChuKXt0cnl7cmV0dXJuIG5ldyBWR2godGhpcy5OLmluZGV4KG4pKX1jYXRjaChXKXtpZihXIGluc3RhbmNlb2YgRXJyb3ImJlcubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgdGMobix0aGlzLk4ubmFtZSk7CnRocm93IFc7fX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfWtleVBhdGgoKXtyZXR1cm4gdGhpcy5OLmtleVBhdGh9cHV0KG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5wdXQobixXKSl9fSxtWD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bmV3IE1hcDt0aGlzLmFib3J0ZWQ9ITE7dGhpcy5kb25lPW5ldyBQcm9taXNlKChXLEQpPT57dGhpcy5OLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e1coKX0pOwp0aGlzLk4uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntiLmN1cnJlbnRUYXJnZXQ9PT1iLnRhcmdldCYmRCh0aGlzLk4uZXJyb3IpfSk7CnRoaXMuTi5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9Pnt2YXIgYj10aGlzLk4uZXJyb3I7aWYoYilEKGIpO2Vsc2UgaWYoIXRoaXMuYWJvcnRlZCl7Yj1xTDt2YXIgdj10aGlzLk4ub2JqZWN0U3RvcmVOYW1lcztsZXQgaz1bXTtmb3IobGV0IGg9MDtoPHYubGVuZ3RoO2grKyl7bGV0IHg9di5pdGVtKGgpO2lmKHg9PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IGl0ZW0gaW4gRE9NU3RyaW5nTGlzdCBpcyBudWxsIik7ay5wdXNoKHgpfWI9bmV3IGIoIlVOS05PV05fQUJPUlQiLHtvYmplY3RTdG9yZU5hbWVzOmsuam9pbigpLGRiTmFtZTp0aGlzLk4uZGIubmFtZSxtb2RlOnRoaXMuTi5tb2RlfSk7RChiKX19KX0pfWFib3J0KCl7dGhpcy5OLmFib3J0KCk7CnRoaXMuYWJvcnRlZD0hMDt0aHJvdyBuZXcgcUwoIkVYUExJQ0lUX0FCT1JUIik7fWNvbW1pdCgpe3RoaXMuYWJvcnRlZHx8dGhpcy5OLmNvbW1pdD8uKCl9b2JqZWN0U3RvcmUobil7bj10aGlzLk4ub2JqZWN0U3RvcmUobik7dmFyIFc9dGhpcy5KLmdldChuKTtXfHwoVz1uZXcgUE4obiksdGhpcy5KLnNldChuLFcpKTtyZXR1cm4gV319LFZHaD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1jb3VudChuKXtyZXR1cm4gSmModGhpcy5OLmNvdW50KG4pKX1kZWxldGUobil7cmV0dXJuIHpuKHRoaXMse3F1ZXJ5Om59LFc9PlcuZGVsZXRlKCkudGhlbigoKT0+b2coVykpKX1nZXQobil7cmV0dXJuIEpjKHRoaXMuTi5nZXQobikpfWdldEFsbChuLFcpe3JldHVybiJnZXRBbGwiaW4gSURCSW5kZXgucHJvdG90eXBlP0pjKHRoaXMuTi5nZXRBbGwobixXKSk6TlppKHRoaXMsbixXKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuTi5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLk4udW5pcXVlfX0sCnA5eD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMucmVxdWVzdD1uOwp0aGlzLmN1cnNvcj1XfWRlbGV0ZSgpe3JldHVybiBKYyh0aGlzLmN1cnNvci5kZWxldGUoKSkudGhlbigoKT0+e30pfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMuY3Vyc29yLnZhbHVlfXVwZGF0ZShuKXtyZXR1cm4gSmModGhpcy5jdXJzb3IudXBkYXRlKG4pKX19O3ZhciBjTTE9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLm5hbWU9bjt0aGlzLm9wdGlvbnM9Vzt0aGlzLlc9ITA7dGhpcy5qPXRoaXMuWD0wfUoobixXLEQ9e30pe3JldHVybiBsUShuLFcsRCl9ZGVsZXRlKG49e30pe3JldHVybiBUbih0aGlzLm5hbWUsbil9b3Blbigpe2lmKCF0aGlzLlcpdGhyb3cgakYodGhpcyk7aWYodGhpcy5OKXJldHVybiB0aGlzLk47dmFyIG4sVz0oKT0+e3RoaXMuTj09PW4mJih0aGlzLk49dm9pZCAwKX0sRD17YmxvY2tpbmc6dj0+e3YuY2xvc2UoKX0sCmNsb3NlZDpXLEJ6OlcsdXBncmFkZTp0aGlzLm9wdGlvbnMudXBncmFkZX0sYj1hc3luYygpPT57dmFyIHY9RXJyb3IoKS5zdGFjaz8/IiI7dHJ5e2xldCB4PWF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdGhpcy5vcHRpb25zLnZlcnNpb24sRCk7dmFyIGs9eCxoPXRoaXMub3B0aW9ucztsZXQgTD1bXTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoaC5LYykpe2xldCB7dng6RyxtUjpyPU51bWJlci5NQVhfVkFMVUV9PWguS2NbZV07IShrLk4udmVyc2lvbj49Ryl8fGsuTi52ZXJzaW9uPj1yfHxrLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhlKXx8TC5wdXNoKGUpfWlmKEwubGVuZ3RoIT09MCl7bGV0IGU9T2JqZWN0LmtleXModGhpcy5vcHRpb25zLktjKSxHPXgub2JqZWN0U3RvcmVOYW1lcygpO2lmKHRoaXMuajx2MCgieXRpZGJfcmVvcGVuX2RiX3JldHJpZXMiLDApKXJldHVybiB0aGlzLmorKyx4LmNsb3NlKCksTEYobmV3IHFMKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLAp7ZGJOYW1lOnRoaXMubmFtZSxleHBlY3RlZE9iamVjdFN0b3JlczplLGZvdW5kT2JqZWN0U3RvcmVzOkd9KSksYigpO2lmKHRoaXMuWDx2MCgieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiLDEpKXJldHVybiB0aGlzLlgrKyxhd2FpdCB0aGlzLmRlbGV0ZSgpLExGKG5ldyBxTCgiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOmUsZm91bmRPYmplY3RTdG9yZXM6R30pKSxiKCk7dGhyb3cgbmV3IFFkUyhHLGUpO31yZXR1cm4geH1jYXRjaCh4KXtpZih4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP3gubmFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZ4IGluc3RhbmNlb2YgRE9NRXJyb3I/eC5uYW1lPT09IlZlcnNpb25FcnJvciI6eCBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4geCYmeC5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe3Y9CmF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdm9pZCAwLHsuLi5ELHVwZ3JhZGU6dm9pZCAwfSk7az12Lk4udmVyc2lvbjtpZih0aGlzLm9wdGlvbnMudmVyc2lvbiE9PXZvaWQgMCYmaz50aGlzLm9wdGlvbnMudmVyc2lvbisxKXRocm93IHYuY2xvc2UoKSx0aGlzLlc9ITEsakYodGhpcyxrKTtyZXR1cm4gdn1XKCk7eCBpbnN0YW5jZW9mIEVycm9yJiYhZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIikmJih4LnN0YWNrPWAke3guc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKTt0aHJvdyAkdSh4LHRoaXMubmFtZSwiIix0aGlzLm9wdGlvbnMudmVyc2lvbj8/LTEpO319OwpyZXR1cm4gdGhpcy5OPW49YigpfX07dmFyIEJOPW5ldyBjTTEoIll0SWRiTWV0YSIse0tjOntkYXRhYmFzZXM6e3Z4OjF9fSx1cGdyYWRlKG4sVyl7VygxKSYmWnkobiwiZGF0YWJhc2VzIix7a2V5UGF0aDoiYWN0dWFsTmFtZSJ9KX19KTt2YXIgVmMsUWM9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0obmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0pO25ldyBnLktWO3ZhciBPNXQ9Y2xhc3MgZXh0ZW5kcyBjTTF7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLFcpO3RoaXMub3B0aW9ucz1XO2cwKG4pfUoobixXLEQ9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP0FfcjpTX1opKG4sVyx7Li4uRH0pfWRlbGV0ZShuPXt9KXtyZXR1cm4odGhpcy5vcHRpb25zLnNoYXJlZD92ejptM3cpKHRoaXMubmFtZSxuKX19O3ZhciBaNUM9a08oInl0R2NmQ29uZmlnIix7S2M6e2NvbGRDb25maWdTdG9yZTp7dng6MX0saG90Q29uZmlnU3RvcmU6e3Z4OjF9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcpe1coMSkmJihFUihaeShuLCJob3RDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJob3RUaW1lc3RhbXBJbmRleCIsInRpbWVzdGFtcCIpLEVSKFp5KG4sImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBhTzE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9W107dGhpcy5OPVtdO3ZhciBuPWcucnIoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIik7bj8odGhpcy5KPVsuLi5uXSx0aGlzLk49bik6KHRoaXMuTj1bXSxnLkdiKCJ5dC5nY2YuY29uZmlnLmhvdFVwZGF0ZUNhbGxiYWNrcyIsdGhpcy5OKSl9bUEoKXtmb3IobGV0IFcgb2YgdGhpcy5KKXt2YXIgbj10aGlzLk47bGV0IEQ9bi5pbmRleE9mKFcpO0Q+PTAmJm4uc3BsaWNlKEQsMSl9dGhpcy5KLmxlbmd0aD0wO3N1cGVyLm1BKCl9fTtnLlgzPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5WPSExO3RoaXMuaj10aGlzLlg9MDt0aGlzLks9bmV3IGFPMX1MWCgpe3JldHVybiAkTygpPz9nLkFyKCJSQVdfSE9UX0NPTkZJR19HUk9VUCIpfVcobil7dGhpcy5ob3RIYXNoRGF0YT1uO2cuR2IoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiLHRoaXMuaG90SGFzaERhdGF8fG51bGwpfX07dmFyIG5naD10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6bnVsbCxRZD1uZ2g/bj0+bmdoLmVuY29kZShuKTpuPT57bj1MMChuKTsKdmFyIFc9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKVdbRF09bltEXTtyZXR1cm4gV307dmFyIGhlPXtuZXh0OiJ3bl9zIixicm93c2U6ImJyX3MiLHNlYXJjaDoic3JfcyIscmVlbDoicl93cnMiLHBsYXllcjoicHNfcyJ9LFVITT17bmV4dDoid25fciIsYnJvd3NlOiJicl9yIixzZWFyY2g6InNyX3IiLHJlZWw6InJfd3JyIixwbGF5ZXI6InBzX3IifTtvNy5wcm90b3R5cGUuYlk9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtkMy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b3BpY307dmFyIFdIUz1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKXx8bmV3IEJLO0JLLnByb3RvdHlwZS5zdWJzY3JpYmU9QksucHJvdG90eXBlLnN1YnNjcmliZTtCSy5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1CSy5wcm90b3R5cGUuaks7QksucHJvdG90eXBlLnB1Ymxpc2g9QksucHJvdG90eXBlLldKO0JLLnByb3RvdHlwZS5jbGVhcj1CSy5wcm90b3R5cGUuY2xlYXI7Zy5HYigieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixXSFMpO3ZhciBqOT1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Zy5HYigieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixqOSk7dmFyIEJ6PWcucnIoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtnLkdiKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLEJ6KTt2YXIgQ1A9Zy5ycigieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307CmcuR2IoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixDUCk7Zy5HYigieXRQdWJzdWIyUHVic3ViMlNraXBTdWJLZXkiLG51bGwpO3ZhciBNQj12MCgibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KSxSNz12MCgibWluX2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNTAwKSx3OWo9MDt2YXIgRHoxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuV3Y9dGhpcy5OPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuSj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9Owp0aGlzLkYyPSgpPT57fTsKdGhpcy5ub3c9RGF0ZS5ub3c7dGhpcy5OaD0hMTt0aGlzLnV4PW4udXg/PzEwMDt0aGlzLkExPW4uQTE/PzE7dGhpcy5HeT1uLkd5Pz8yNTkyRTY7dGhpcy5aND1uLlo0Pz8xMkU0O3RoaXMuSVA9bi5JUD8/NUUzO3RoaXMuWVc9bi5ZVz8/dm9pZCAwO3RoaXMuQ3I9ISFuLkNyO3RoaXMuS3I9bi5Lcj8/LjE7dGhpcy5IRj1uLkhGPz8xMDtuLmhhbmRsZUVycm9yJiYodGhpcy5oYW5kbGVFcnJvcj1uLmhhbmRsZUVycm9yKTtuLkYyJiYodGhpcy5GMj1uLkYyKTtuLk5oJiYodGhpcy5OaD1uLk5oKTtuLld2JiYodGhpcy5Xdj1uLld2KTt0aGlzLkVxPW4uRXE7dGhpcy5BJD1uLkEkO3RoaXMuZ0U9bi5nRTt0aGlzLnlHPW4ueUc7dGhpcy5MbT1uLkxtO3RoaXMudVo9bi51Wjt0aGlzLk5BPW4uTkE7Y3oodGhpcykmJighdGhpcy5FcXx8dGhpcy5FcSgibmV0d29ya2xlc3NfbG9nZ2luZyIpKSYmbm0odGhpcyl9d3JpdGVUaGVuU2VuZChuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPQp7dXJsOm4sb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH07dGhpcy5nRS5zZXQoRCx0aGlzLllXKS50aGVuKGI9PntELmlkPWI7dGhpcy55Ry5XRygpJiZENSh0aGlzLEQpfSkuY2F0Y2goYj0+e0Q1KHRoaXMsRCk7CmJNKHRoaXMsYil9KX1lbHNlIHRoaXMuTG0obixXKX1zZW5kVGhlbldyaXRlKG4sVz17fSxEKXtpZihjeih0aGlzKSYmdGhpcy5OKXtsZXQgYj17dXJsOm4sCm9wdGlvbnM6Vyx0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9O3RoaXMuRXEmJnRoaXMuRXEoIm53bF9za2lwX3JldHJ5IikmJihiLnNraXBSZXRyeT1EKTtpZih0aGlzLnlHLldHKCl8fHRoaXMuRXEmJnRoaXMuRXEoIm53bF9hZ2dyZXNzaXZlX3NlbmRfdGhlbl93cml0ZSIpJiYhYi5za2lwUmV0cnkpe2lmKCFiLnNraXBSZXRyeSl7bGV0IHY9Vy5vbkVycm9yP1cub25FcnJvcjooKT0+e307Clcub25FcnJvcj1hc3luYyhrLGgpPT57YXdhaXQgdGhpcy5nRS5zZXQoYix0aGlzLllXKS5jYXRjaCh4PT57Yk0odGhpcyx4KX0pOwp2KGssaCl9fXRoaXMuTG0obixXLGIuc2tpcFJldHJ5KX1lbHNlIHRoaXMuZ0Uuc2V0KGIsdGhpcy5ZVykuY2F0Y2godj0+e3RoaXMuTG0obixXLGIuc2tpcFJldHJ5KTsKYk0odGhpcyx2KX0pfWVsc2UgRD10aGlzLkVxJiZ0aGlzLkVxKCJud2xfc2tpcF9yZXRyeSIpJiZELHRoaXMuTG0obixXLEQpfXNlbmRBbmRXcml0ZShuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPXt1cmw6biwKb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH0sYj0hMSx2PVcub25TdWNjZXNzP1cub25TdWNjZXNzOigpPT57fTsKRC5vcHRpb25zLm9uU3VjY2Vzcz0oayxoKT0+e0QuaWQhPT12b2lkIDA/dGhpcy5nRS5UTShELmlkLHRoaXMuWVcpOmI9ITA7dGhpcy55Ry5sYyYmdGhpcy5FcSYmdGhpcy5FcSgidnNzX25ldHdvcmtfaGludCIpJiZ0aGlzLnlHLmxjKCEwKTt2KGssaCl9Owp0aGlzLkxtKEQudXJsLEQub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuZ0Uuc2V0KEQsdGhpcy5ZVykudGhlbihrPT57RC5pZD1rO2ImJnRoaXMuZ0UuVE0oRC5pZCx0aGlzLllXKX0pLmNhdGNoKGs9PntiTSh0aGlzLGspfSl9ZWxzZSB0aGlzLkxtKG4sVyx2b2lkIDAsITApfVcoKXtpZighY3oodGhpcykpdGhyb3cgRXJyb3IoIkluZGV4ZWREQiBpcyBub3Qgc3VwcG9ydGVkOiB0aHJvdHRsZVNlbmQiKTsKdGhpcy5KfHwodGhpcy5KPXRoaXMuQSQuTFMoYXN5bmMoKT0+e3ZhciBuPWF3YWl0IHRoaXMuZ0UuaTQoIk5FVyIsdGhpcy5ZVyk7bj8oYXdhaXQgRDUodGhpcyxuKSx0aGlzLkomJih0aGlzLko9MCx0aGlzLlcoKSkpOnRoaXMuWCgpfSx0aGlzLnV4KSl9WCgpe3RoaXMuQSQuc08odGhpcy5KKTsKdGhpcy5KPTB9fTt2YXIgdlU7dmFyIHk0PXthY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRJbjoyMyxhY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRPdXQ6MjQsZGVsYXllZEV2ZW50TWV0cmljQ2FwdHVyZWQ6MTEsbGF0ZW5jeUFjdGlvbkJhc2VsaW5lZDo2LGxhdGVuY3lBY3Rpb25JbmZvOjcsbGF0ZW5jeUFjdGlvblRpY2tlZDo1LG9mZmxpbmVUcmFuc2ZlclN0YXR1c0NoYW5nZWQ6MixvZmZsaW5lSW1hZ2VEb3dubG9hZDozMzUscGxheWJhY2tTdGFydFN0YXRlQ2hhbmdlZDo5LHN5c3RlbUhlYWx0aENhcHR1cmVkOjMsbWFuZ29PbmJvYXJkaW5nQ29tcGxldGVkOjEwLG1hbmdvUHVzaE5vdGlmaWNhdGlvblJlY2VpdmVkOjIzMCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uRXJyb3I6MTIxLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdW1tYXJ5OjEyMixtYW5nb1VuZm9ya0RiTWlncmF0aW9uUHJldW5mb3JrRGJWZXJzaW9uTnVtYmVyOjEzMyxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVNZXRhZGF0YToxMzQsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblBob25lU3RvcmFnZToxMzUsCm1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdGVwOjE0MixtYW5nb0FzeW5jQXBpTWlncmF0aW9uRXZlbnQ6MjIzLG1hbmdvRG93bmxvYWRWaWRlb1Jlc3VsdDoyMjQsbWFuZ29Ib21lcGFnZVZpZGVvQ291bnQ6Mjc5LG1hbmdvSG9tZVYzU3RhdGU6Mjk1LG1hbmdvSW1hZ2VDbGllbnRDYWNoZUhpdEV2ZW50OjI3MyxzZENhcmRTdGF0dXNDaGFuZ2VkOjk4LGZyYW1lc0Ryb3BwZWQ6MTIsdGh1bWJuYWlsSG92ZXJlZDoxMyxkZXZpY2VSZXRlbnRpb25JbmZvQ2FwdHVyZWQ6MTQsdGh1bWJuYWlsTG9hZGVkOjE1LGJhY2tUb0FwcEV2ZW50OjMxOCxzdHJlYW1pbmdTdGF0c0NhcHR1cmVkOjE3LG9mZmxpbmVWaWRlb1NoYXJlZDoxOSxhcHBDcmFzaGVkOjIwLHlvdVRoZXJlOjIxLG9mZmxpbmVTdGF0ZVNuYXBzaG90OjIyLG1keFNlc3Npb25TdGFydGVkOjI1LG1keFNlc3Npb25Db25uZWN0ZWQ6MjYsbWR4U2Vzc2lvbkRpc2Nvbm5lY3RlZDoyNyxiZWRyb2NrUmVzb3VyY2VDb25zdW1wdGlvblNuYXBzaG90OjI4LApuZXh0R2VuV2F0Y2hXYXRjaFN3aXBlZDoyOSxraWRzQWNjb3VudHNTbmFwc2hvdDozMCx6ZXJvU3RlcENoYW5uZWxDcmVhdGVkOjMxLHR2aHRtbDVTZWFyY2hDb21wbGV0ZWQ6MzIsb2ZmbGluZVNoYXJlUGFpcmluZzozNCxvZmZsaW5lU2hhcmVVbmxvY2s6MzUsbWR4Um91dGVEaXN0cmlidXRpb25TbmFwc2hvdDozNixiZWRyb2NrUmVwZXRpdGl2ZUFjdGlvblRpbWVkOjM3LHVucGx1Z2dlZERlZ3JhZGF0aW9uSW5mbzoyMjksdXBsb2FkTXA0SGVhZGVyTW92ZWQ6MzgsdXBsb2FkVmlkZW9UcmFuc2NvZGVkOjM5LHVwbG9hZFByb2Nlc3NvclN0YXJ0ZWQ6NDYsdXBsb2FkUHJvY2Vzc29yRW5kZWQ6NDcsdXBsb2FkUHJvY2Vzc29yUmVhZHk6OTQsdXBsb2FkUHJvY2Vzc29yUmVxdWlyZW1lbnRQZW5kaW5nOjk1LHVwbG9hZFByb2Nlc3NvckludGVycnVwdGVkOjk2LHVwbG9hZEZyb250ZW5kRXZlbnQ6MjQxLGFzc2V0UGFja0Rvd25sb2FkU3RhcnRlZDo0MSxhc3NldFBhY2tEb3dubG9hZGVkOjQyLAphc3NldFBhY2tBcHBsaWVkOjQzLGFzc2V0UGFja0RlbGV0ZWQ6NDQsYXBwSW5zdGFsbEF0dHJpYnV0aW9uRXZlbnQ6NDU5LHBsYXliYWNrU2Vzc2lvblN0b3BwZWQ6NDUsYWRCbG9ja2VyTWVzc2FnaW5nU2hvd246NDgsZGlzdHJpYnV0aW9uQ2hhbm5lbENhcHR1cmVkOjQ5LGRhdGFQbGFuQ3BpZFJlcXVlc3RlZDo1MSxkZXRhaWxlZE5ldHdvcmtUeXBlQ2FwdHVyZWQ6NTIsc2VuZFN0YXRlVXBkYXRlZDo1MyxyZWNlaXZlU3RhdGVVcGRhdGVkOjU0LHNlbmREZWJ1Z1N0YXRlVXBkYXRlZDo1NSxyZWNlaXZlRGVidWdTdGF0ZVVwZGF0ZWQ6NTYsa2lkc0Vycm9yZWQ6NTcsbWR4TXNuU2Vzc2lvblN0YXRzRmluaXNoZWQ6NTgsYXBwU2V0dGluZ3NDYXB0dXJlZDo1OSxtZHhXZWJTb2NrZXRTZXJ2ZXJIdHRwRXJyb3I6NjAsbWR4V2ViU29ja2V0U2VydmVyOjYxLHN0YXJ0dXBDcmFzaGVzRGV0ZWN0ZWQ6NjIsY29sZFN0YXJ0SW5mbzo0MzUsb2ZmbGluZVBsYXliYWNrU3RhcnRlZDo2MyxsaXZlQ2hhdE1lc3NhZ2VTZW50OjIyNSwKbGl2ZUNoYXRVc2VyUHJlc2VudDo0MzQsbGl2ZUNoYXRCZWluZ01vZGVyYXRlZDo0NTcsbGl2ZUNoYXRHaWZ0QnV0dG9uSW1wcmVzc2VkOjU1OCxsaXZlQ3JlYXRpb25DYW1lcmFVcGRhdGVkOjY0LGxpdmVDcmVhdGlvbkVuY29kaW5nQ2FwdHVyZWQ6NjUsbGl2ZUNyZWF0aW9uRXJyb3I6NjYsbGl2ZUNyZWF0aW9uSGVhbHRoVXBkYXRlZDo2NyxsaXZlQ3JlYXRpb25WaWRlb0VmZmVjdHNDYXB0dXJlZDo2OCxsaXZlQ3JlYXRpb25TdGFnZU9jY3VyZWQ6NzUsb2ZmbGluZVN5c3RlbUZhaWx1cmU6NTQ2LGxpdmVDcmVhdGlvbkJyb2FkY2FzdFNjaGVkdWxlZDoxMjMsbGl2ZUNyZWF0aW9uQXJjaGl2ZVJlcGxhY2VtZW50OjE0OSxsaXZlQ3JlYXRpb25Db3N0cmVhbWluZ0Nvbm5lY3Rpb246NDIxLGxpdmVDcmVhdGlvblBsYXlhYmxlc01ldHJpY3M6NTMzLGxpdmVDcmVhdGlvblN0cmVhbVdlYnJ0Y1N0YXRzOjI4OCxsaXZlQ3JlYXRpb25XZWJydGNFcnJvcjo1MjYsbWR4U2Vzc2lvblJlY292ZXJ5U3RhcnRlZDo2OSwKbWR4U2Vzc2lvblJlY292ZXJ5Q29tcGxldGVkOjcwLG1keFNlc3Npb25SZWNvdmVyeVN0b3BwZWQ6NzEsdmlzdWFsRWxlbWVudFNob3duOjcyLHZpc3VhbEVsZW1lbnRIaWRkZW46NzMsdmlzdWFsRWxlbWVudEdlc3R1cmVkOjc4LHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQ6MjA4LHNjcmVlbkNyZWF0ZWQ6MTU2LHBsYXliYWNrQXNzb2NpYXRlZDoyMDIsdmlzdWFsRWxlbWVudEF0dGFjaGVkOjIxNSxwbGF5YmFja0NvbnRleHRFdmVudDoyMTQsY2xvdWRDYXN0aW5nUGxheWJhY2tTdGFydGVkOjc0LHdlYlBsYXllckFwaUNhbGxlZDo3Nix0dmh0bWw1QWNjb3VudERpYWxvZ09wZW5lZDo3OSxmb3JlZ3JvdW5kSGVhcnRiZWF0OjgwLGZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkOjExMSxraWRzT2ZmbGluZVNuYXBzaG90OjgxLG1keEVuY3J5cHRpb25TZXNzaW9uU3RhdHNGaW5pc2hlZDo4MixwbGF5ZXJSZXF1ZXN0Q29tcGxldGVkOjgzLGxpdGVTY2hlZHVsZXJTdGF0aXN0aWNzOjg0LAptZHhTaWduSW46ODUsc3BhY2VjYXN0TWV0YWRhdGFMb29rdXBSZXF1ZXN0ZWQ6ODYsc3BhY2VjYXN0QmF0Y2hMb29rdXBSZXF1ZXN0ZWQ6ODcsc3BhY2VjYXN0U3VtbWFyeVJlcXVlc3RlZDo4OCxzcGFjZWNhc3RQbGF5YmFjazo4OSxzcGFjZWNhc3REaXNjb3Zlcnk6OTAsdHZodG1sNUxhdW5jaFVybENvbXBvbmVudENoYW5nZWQ6OTEsbWR4QmFja2dyb3VuZFBsYXliYWNrUmVxdWVzdENvbXBsZXRlZDo5MixtZHhCcm9rZW5BZGRpdGlvbmFsRGF0YURldmljZURldGVjdGVkOjkzLHR2aHRtbDVMb2NhbFN0b3JhZ2U6OTcsdHZodG1sNURldmljZVN0b3JhZ2VTdGF0dXM6MTQ3LGF1dG9DYXB0aW9uc0F2YWlsYWJsZTo5OSxwbGF5YmFja1NjcnViYmluZ0V2ZW50OjMzOSxmbGV4eVN0YXRlOjEwMCxpbnRlcmZhY2VPcmllbnRhdGlvbkNhcHR1cmVkOjEwMSxtYWluQXBwQnJvd3NlRnJhZ21lbnRDYWNoZToxMDIsb2ZmbGluZUNhY2hlVmVyaWZpY2F0aW9uRmFpbHVyZToxMDMsb2ZmbGluZVBsYXliYWNrRXhjZXB0aW9uRGlnZXN0OjIxNywKdnJDb3ByZXNlbmNlU3RhdHM6MTA0LHZyQ29wcmVzZW5jZVN5bmNTdGF0czoxMzAsdnJDb3ByZXNlbmNlQ29tbXNTdGF0czoxMzcsdnJDb3ByZXNlbmNlUGFydHlTdGF0czoxNTMsdnJDb3ByZXNlbmNlRW1vamlTdGF0czoyMTMsdnJDb3ByZXNlbmNlRXZlbnQ6MTQxLHZyQ29wcmVzZW5jZUZsb3dUcmFuc2l0RXZlbnQ6MTYwLHZyQ293YXRjaFBhcnR5RXZlbnQ6NDkyLHZyQ293YXRjaFVzZXJTdGFydE9ySm9pbkV2ZW50OjUwNCx2clBsYXliYWNrRXZlbnQ6MzQ1LGtpZHNBZ2VHYXRlVHJhY2tpbmc6MTA1LG9mZmxpbmVEZWxheUFsbG93ZWRUcmFja2luZzoxMDYsbWFpbkFwcEF1dG9PZmZsaW5lU3RhdGU6MTA3LHZpZGVvQXNUaHVtYm5haWxEb3dubG9hZDoxMDgsdmlkZW9Bc1RodW1ibmFpbFBsYXliYWNrOjEwOSxsaXRlU2hvd01vcmU6MTEwLHJlbmRlcmluZ0Vycm9yOjExOCxraWRzUHJvZmlsZVBpbkdhdGVUcmFja2luZzoxMTksYWJyVHJhamVjdG9yeToxMjQsc2Nyb2xsRXZlbnQ6MTI1LApzdHJlYW16SW5jcmVtZW50ZWQ6MTI2LGtpZHNQcm9maWxlU3dpdGNoZXJUcmFja2luZzoxMjcsa2lkc1Byb2ZpbGVDcmVhdGlvblRyYWNraW5nOjEyOSxidXlGbG93U3RhcnRlZDoxMzYsaW50ZWdyYXRpb25BdHRyaWJ1dGlvbkV2ZW50OjU1NixtYnNDb25uZWN0aW9uSW5pdGlhdGVkOjEzOCxtYnNQbGF5YmFja0luaXRpYXRlZDoxMzksbWJzTG9hZENoaWxkcmVuOjE0MCxsaXRlUHJvZmlsZUZldGNoZXI6MTQ0LG1keFJlbW90ZVRyYW5zYWN0aW9uOjE0NixyZWVsUGxheWJhY2tFcnJvcjoxNDgscmVhY2hhYmlsaXR5RGV0ZWN0aW9uRXZlbnQ6MTUwLG1vYmlsZVBsYXliYWNrRXZlbnQ6MTUxLGNvdXJ0c2lkZVBsYXllclN0YXRlQ2hhbmdlZDoxNTIsbXVzaWNQZXJzaXN0ZW50Q2FjaGVDaGVja2VkOjE1NCxtdXNpY1BlcnNpc3RlbnRDYWNoZUNsZWFyZWQ6MTU1LHBsYXliYWNrSW50ZXJydXB0ZWQ6MTU3LHBsYXliYWNrSW50ZXJydXB0aW9uUmVzb2x2ZWQ6MTU4LGZpeEZvcEZsb3c6MTU5LAphbnJEZXRlY3Rpb246MTYxLGJhY2tzdGFnZVBvc3RDcmVhdGlvbkZsb3dFbmRlZDoxNjIsY2xpZW50RXJyb3I6MTYzLGdhbWluZ0FjY291bnRMaW5rU3RhdHVzQ2hhbmdlZDoxNjQsbGl0ZUhvdXNld2FybWluZzoxNjUsYnV5Rmxvd0V2ZW50OjE2NyxraWRzUGFyZW50YWxHYXRlVHJhY2tpbmc6MTY4LGtpZHNTaWduZWRPdXRTZXR0aW5nc1N0YXR1czo0Mzcsa2lkc1NpZ25lZE91dFBhdXNlSGlzdG9yeUZpeFN0YXR1czo0MzgsdHZodG1sNVdhdGNoZG9nVmlvbGF0aW9uOjQ0NCx5cGNVcGdyYWRlRmxvdzoxNjkseW9uZ2xlU3R1ZHk6MTcwLHlwY1VwZGF0ZUZsb3dTdGFydGVkOjE3MSx5cGNVcGRhdGVGbG93Q2FuY2VsbGVkOjE3Mix5cGNVcGRhdGVGbG93U3VjY2VlZGVkOjE3Myx5cGNVcGRhdGVGbG93RmFpbGVkOjE3NCxsaXRlR3Jvd3Roa2l0UHJvbW86MTc1LHBheW1lbnRGbG93U3RhcnRlZDozNDEsdHJhbnNhY3Rpb25GbG93U2hvd1BheW1lbnREaWFsb2c6NDA1LHRyYW5zYWN0aW9uRmxvd1N0YXJ0ZWQ6MTc2LAp0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdGFydGVkOjIyMix0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTaWduZWRPdXRTdGFydGVkOjM4Myx0cmFuc2FjdGlvbkZsb3dDYW5jZWxsZWQ6MTc3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRDYWxsQmFja1JlY2VpdmVkOjM4Nyx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VibWl0dGVkOjQ2MCx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VjY2VlZGVkOjMyOSx0cmFuc2FjdGlvbkZsb3dTdWNjZWVkZWQ6MTc4LHRyYW5zYWN0aW9uRmxvd0ZhaWxlZDoxNzksdHJhbnNhY3Rpb25GbG93UGxheUJpbGxpbmdDb25uZWN0aW9uU3RhcnRFdmVudDo0MjgsdHJhbnNhY3Rpb25GbG93U2Vjb25kYXJ5RGV2aWNlU3VjY2Vzczo0NTgsdHJhbnNhY3Rpb25GbG93RXJyb3JFdmVudDo0MTEsbGl0ZVZpZGVvUXVhbGl0eUNoYW5nZWQ6MTgwLHdhdGNoQnJlYWtFbmFibGVtZW50U2V0dGluZ0V2ZW50OjE4MSx3YXRjaEJyZWFrRnJlcXVlbmN5U2V0dGluZ0V2ZW50OjE4MiwKdmlkZW9FZmZlY3RzQ2FtZXJhUGVyZm9ybWFuY2VNZXRyaWNzOjE4MyxhZE5vdGlmeToxODQsc3RhcnR1cFRlbGVtZXRyeToxODUscGxheWJhY2tPZmZsaW5lRmFsbGJhY2tVc2VkOjE4NixvdXRPZk1lbW9yeToxODcseXBjUGF1c2VGbG93U3RhcnRlZDoxODgseXBjUGF1c2VGbG93Q2FuY2VsbGVkOjE4OSx5cGNQYXVzZUZsb3dTdWNjZWVkZWQ6MTkwLHlwY1BhdXNlRmxvd0ZhaWxlZDoxOTEsdXBsb2FkRmlsZVNlbGVjdGVkOjE5Mix5cGNSZXN1bWVGbG93U3RhcnRlZDoxOTMseXBjUmVzdW1lRmxvd0NhbmNlbGxlZDoxOTQseXBjUmVzdW1lRmxvd1N1Y2NlZWRlZDoxOTUseXBjUmVzdW1lRmxvd0ZhaWxlZDoxOTYsYWRzQ2xpZW50U3RhdGVDaGFuZ2U6MTk3LHlwY0NhbmNlbEZsb3dTdGFydGVkOjE5OCx5cGNDYW5jZWxGbG93Q2FuY2VsbGVkOjE5OSx5cGNDYW5jZWxGbG93U3VjY2VlZGVkOjIwMCx5cGNDYW5jZWxGbG93RmFpbGVkOjIwMSx5cGNDYW5jZWxGbG93R29Ub1BheW1lbnRQcm9jZXNzb3I6NDAyLAp5cGNEZWFjdGl2YXRlRmxvd1N0YXJ0ZWQ6MzIwLHlwY1JlZGVlbUZsb3dTdGFydGVkOjIwMyx5cGNSZWRlZW1GbG93Q2FuY2VsbGVkOjIwNCx5cGNSZWRlZW1GbG93U3VjY2VlZGVkOjIwNSx5cGNSZWRlZW1GbG93RmFpbGVkOjIwNix5cGNGYW1pbHlDcmVhdGVGbG93U3RhcnRlZDoyNTgseXBjRmFtaWx5Q3JlYXRlRmxvd0NhbmNlbGxlZDoyNTkseXBjRmFtaWx5Q3JlYXRlRmxvd1N1Y2NlZWRlZDoyNjAseXBjRmFtaWx5Q3JlYXRlRmxvd0ZhaWxlZDoyNjEseXBjRmFtaWx5TWFuYWdlRmxvd1N0YXJ0ZWQ6MjYyLHlwY0ZhbWlseU1hbmFnZUZsb3dDYW5jZWxsZWQ6MjYzLHlwY0ZhbWlseU1hbmFnZUZsb3dTdWNjZWVkZWQ6MjY0LHlwY0ZhbWlseU1hbmFnZUZsb3dGYWlsZWQ6MjY1LHJlc3RvcmVDb250ZXh0RXZlbnQ6MjA3LGVtYmVkc0FkRXZlbnQ6MzI3LGF1dG9wbGF5VHJpZ2dlcmVkOjIwOSxjbGllbnREYXRhRXJyb3JFdmVudDoyMTAsZXhwZXJpbWVudGFsVnNzVmFsaWRhdGlvbjoyMTEsCnR2aHRtbDVUcmlnZ2VyZWRFdmVudDoyMTIsdHZodG1sNUZyYW1ld29ya3NGaWVsZFRyaWFsUmVzdWx0OjIxNix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxTdGFydDoyMjAsbXVzaWNPZmZsaW5lUHJlZmVyZW5jZXM6MjE4LHdhdGNoVGltZVNlZ21lbnQ6MjE5LGFwcFdpZHRoTGF5b3V0RXJyb3I6MjIxLGFjY291bnRSZWdpc3RyeUNoYW5nZToyMjYsdXNlck1lbnRpb25BdXRvQ29tcGxldGVCb3hFdmVudDoyMjcsZG93bmxvYWRSZWNvbW1lbmRhdGlvbkVuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MjI4LG11c2ljUGxheWJhY2tDb250ZW50TW9kZUNoYW5nZUV2ZW50OjIzMSxvZmZsaW5lRGJPcGVuQ29tcGxldGVkOjIzMixraWRzRmxvd0V2ZW50OjIzMyxraWRzRmxvd0NvcnB1c1NlbGVjdGVkRXZlbnQ6MjM0LHZpZGVvRWZmZWN0c0V2ZW50OjIzNSx1bnBsdWdnZWRPcHNFb2dBbmFseXRpY3NFdmVudDoyMzYscGxheWJhY2tBdWRpb1JvdXRlRXZlbnQ6MjM3LGludGVyYWN0aW9uTG9nZ2luZ0RlYnVnTW9kZUVycm9yOjIzOCwKb2ZmbGluZVl0YlJlZnJlc2hlZDoyMzksa2lkc0Zsb3dFcnJvcjoyNDAsbXVzaWNBdXRvcGxheU9uTGF1bmNoQXR0ZW1wdGVkOjI0MixkZXZpY2VDb250ZXh0QWN0aXZpdHlFdmVudDoyNDMsZGV2aWNlQ29udGV4dEV2ZW50OjI0NCx0ZW1wbGF0ZVJlc29sdXRpb25FeGNlcHRpb246MjQ1LG11c2ljU2lkZWxvYWRlZFBsYXlsaXN0U2VydmljZUNhbGxlZDoyNDYsZW1iZWRzU3RvcmFnZUFjY2Vzc05vdENoZWNrZWQ6MjQ3LGVtYmVkc0hhc1N0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjQ4LGVtYmVkc0l0cFBsYXllZE9uUmVsb2FkOjI0OSxlbWJlZHNSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTAsZW1iZWRzU2hvdWxkUmVxdWVzdFN0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjUxLGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzU3RhdGU6MjU2LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzRmFpbGVkU3RhdGU6MjU3LGVtYmVkc0l0cFdhdGNoTGF0ZXJSZXN1bHQ6MjY2LHNlYXJjaFN1Z2dlc3REZWNvZGluZ1BheWxvYWRGYWlsdXJlOjI1MiwKc2lyaVNob3J0Y3V0QWN0aXZhdGVkOjI1Myx0dmh0bWw1S2V5Ym9hcmRQZXJmb3JtYW5jZToyNTQsbGF0ZW5jeUFjdGlvblNwYW46MjU1LGVsZW1lbnRzTG9nOjI2Nyx5dGJGaWxlT3BlbmVkOjI2OCx0ZmxpdGVNb2RlbEVycm9yOjI2OSxhcGlUZXN0OjI3MCx5b25nbGVVc2JTZXR1cDoyNzEsdG91U3RyaWtlSW50ZXJzdGl0aWFsRXZlbnQ6MjcyLGxpdGVTdHJlYW1Ub1NhdmU6Mjc0LGFwcEJ1bmRsZUNsaWVudEV2ZW50OjI3NSx5dGJGaWxlQ3JlYXRpb25GYWlsZWQ6Mjc2LGFkTm90aWZ5RmFpbHVyZToyNzgseXRiVHJhbnNmZXJGYWlsZWQ6MjgwLGJsb2NraW5nUmVxdWVzdEZhaWxlZDoyODEsbGl0ZUFjY291bnRTZWxlY3RvcjoyODIsbGl0ZUFjY291bnRVaUNhbGxiYWNrczoyODMsZHVtbXlQYXlsb2FkOjI4NCxicm93c2VSZXNwb25zZVZhbGlkYXRpb25FdmVudDoyODUsZW50aXRpZXNFcnJvcjoyODYsbXVzaWNJb3NCYWNrZ3JvdW5kRmV0Y2g6Mjg3LG1keE5vdGlmaWNhdGlvbkV2ZW50OjI4OSwKbGF5ZXJzVmFsaWRhdGlvbkVycm9yOjI5MCxtdXNpY1B3YUluc3RhbGxlZDoyOTEsbGl0ZUFjY291bnRDbGVhbnVwOjI5MixodG1sNVBsYXllckhlYWx0aEV2ZW50OjI5Myx3YXRjaFJlc3RvcmVBdHRlbXB0OjI5NCxsaXRlQWNjb3VudFNpZ25JbjoyOTYsbm90YWlyZUV2ZW50OjI5OCxraWRzVm9pY2VTZWFyY2hFdmVudDoyOTksYWROb3RpZnlGaWxsZWQ6MzAwLGRlbGF5ZWRFdmVudERyb3BwZWQ6MzAxLGFuYWx5dGljc1NlYXJjaEV2ZW50OjMwMixzeXN0ZW1EYXJrVGhlbWVPcHRPdXRFdmVudDozMDMsZmxvd0V2ZW50OjMwNCxuZXR3b3JrQ29ubmVjdGl2aXR5QmFzZWxpbmVFdmVudDozMDUseXRiRmlsZUltcG9ydGVkOjMwNixkb3dubG9hZFN0cmVhbVVybEV4cGlyZWQ6MzA3LGRpcmVjdFNpZ25JbkV2ZW50OjMwOCxseXJpY0ltcHJlc3Npb25FdmVudDozMDksYWNjZXNzaWJpbGl0eVN0YXRlRXZlbnQ6MzEwLHRva2VuUmVmcmVzaEV2ZW50OjMxMSxnZW5lcmljQXR0ZXN0YXRpb25FeGVjdXRpb246MzEyLAp0dmh0bWw1VmlkZW9TZWVrOjMxMyx1bnBsdWdnZWRBdXRvUGF1c2U6MzE0LHNjcnViYmluZ0V2ZW50OjMxNSxiZWR0aW1lUmVtaW5kZXJFdmVudDozMTcsdHZodG1sNVVuZXhwZWN0ZWRSZXN0YXJ0OjMxOSx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXRzOjUzNSx0dmh0bWw1U3RhYmlsaXR5VHJhY2VFdmVudDo0NzgsdHZodG1sNU9wZXJhdGlvbkhlYWx0aDo0NjcsdHZodG1sNVdhdGNoS2V5RXZlbnQ6MzIxLHZvaWNlTGFuZ3VhZ2VDaGFuZ2VkOjMyMix0dmh0bWw1TGl2ZUNoYXRTdGF0dXM6MzIzLHBhcmVudFRvb2xzQ29ycHVzU2VsZWN0ZWRFdmVudDozMjQsb2ZmZXJBZHNFbnJvbGxtZW50SW5pdGlhdGVkOjMyNSxuZXR3b3JrUXVhbGl0eUludGVydmFsRXZlbnQ6MzI2LGRldmljZVN0YXJ0dXBNZXRyaWNzOjMyOCxoZWFydGJlYXRBY3Rpb25QbGF5ZXJUcmFuc2l0aW9uZWQ6MzMwLHR2aHRtbDVMaWZlY3ljbGU6MzMxLGhlYXJ0YmVhdEFjdGlvblBsYXllckhhbHRlZDozMzIsYWRhcHRpdmVJbmxpbmVNdXRlZFNldHRpbmdFdmVudDozMzMsCm1haW5BcHBMaWJyYXJ5TG9hZGluZ1N0YXRlOjMzNCx0aGlyZFBhcnR5TG9nTW9uaXRvcmluZ0V2ZW50OjMzNixhcHBTaGVsbEFzc2V0TG9hZFJlcG9ydDozMzcsdHZodG1sNUFuZHJvaWRBdHRlc3RhdGlvbjozMzgsdHZodG1sNVN0YXJ0dXBTb3VuZEV2ZW50OjM0MCxpb3NCYWNrZ3JvdW5kUmVmcmVzaFRhc2s6MzQyLGlvc0JhY2tncm91bmRQcm9jZXNzaW5nVGFzazozNDMsc2xpRXZlbnRCYXRjaDozNDQscG9zdEltcHJlc3Npb25FdmVudDozNDYsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RFeHBvcnQ6MzQ3LGlkYlVuZXhwZWN0ZWRseUNsb3NlZDozNDgsdm9pY2VTZWFyY2hFdmVudDozNDksbWR4U2Vzc2lvbkNhc3RFdmVudDozNTAsaWRiUXVvdGFFeGNlZWRlZDozNTEsaWRiVHJhbnNhY3Rpb25FbmRlZDozNTIsaWRiVHJhbnNhY3Rpb25BYm9ydGVkOjM1Myx0dmh0bWw1S2V5Ym9hcmRMb2dnaW5nOjM1NCxpZGJJc1N1cHBvcnRlZENvbXBsZXRlZDozNTUsY3JlYXRvclN0dWRpb01vYmlsZUV2ZW50OjM1NiwKaWRiRGF0YUNvcnJ1cHRlZDozNTcscGFyZW50VG9vbHNBcHBDaG9zZW5FdmVudDozNTgsd2ViVmlld0JvdHRvbVNoZWV0UmVzaXplZDozNTksYWN0aXZlU3RhdGVDb250cm9sbGVyU2Nyb2xsUGVyZm9ybWFuY2VTdW1tYXJ5OjM2MCxuYXZpZ2F0b3JWYWxpZGF0aW9uOjM2MSxtZHhTZXNzaW9uSGVhcnRiZWF0OjM2MixjbGllbnRIaW50c1BvbHlmaWxsRGlhZ25vc3RpY3M6MzYzLGNsaWVudEhpbnRzUG9seWZpbGxFdmVudDozNjQscHJvb2ZPZk9yaWdpblRva2VuRXJyb3I6MzY1LGtpZHNBZGRlZEFjY291bnRTdW1tYXJ5OjM2NixtdXNpY1dlYXJhYmxlRGV2aWNlOjM2Nyx5cGNSZWZ1bmRGbG93RXZlbnQ6MzY4LHR2aHRtbDVQbGF5YmFja01lYXN1cmVtZW50RXZlbnQ6MzY5LHR2aHRtbDVXYXRlcm1hcmtNZWFzdXJlbWVudEV2ZW50OjM3MCxjbGllbnRFeHBHY2ZQcm9wYWdhdGlvbkV2ZW50OjM3MSxtYWluQXBwUmVmZXJyZXJJbnRlbnQ6MzcyLGxlYWRlckxvY2tFbmRlZDozNzMsbGVhZGVyTG9ja0FjcXVpcmVkOjM3NCwKZ29vZ2xlSGF0c0V2ZW50OjM3NSxwZXJzaXN0ZW50TGVuc0xhdW5jaEV2ZW50OjM3NixwYXJlbnRUb29sc0NoaWxkV2VsY29tZUNob3NlbkV2ZW50OjM3OCxicm93c2VUaHVtYm5haWxQcmVsb2FkRXZlbnQ6Mzc5LGZpbmFsUGF5bG9hZDozODAsbWR4RGlhbEFkZGl0aW9uYWxEYXRhVXBkYXRlRXZlbnQ6MzgxLHdlYk9yY2hlc3RyYXRpb25UYXNrTGlmZWN5Y2xlUmVjb3JkOjM4MixzdGFydHVwU2lnbmFsRXZlbnQ6Mzg0LGFjY291bnRFcnJvcjozODUsZ21zRGV2aWNlQ2hlY2tFdmVudDozODYsYWNjb3VudFNlbGVjdG9yRXZlbnQ6Mzg4LGFjY291bnRVaUNhbGxiYWNrczozODksbWR4RGlhbEFkZGl0aW9uYWxEYXRhUHJvYmVFdmVudDozOTAsZG93bmxvYWRzU2VhcmNoSWNpbmdBcGlTdGF0czozOTEsZG93bmxvYWRzU2VhcmNoSW5kZXhVcGRhdGVkRXZlbnQ6Mzk3LGRvd25sb2Fkc1NlYXJjaEluZGV4U25hcHNob3Q6Mzk4LGRhdGFQdXNoQ2xpZW50RXZlbnQ6MzkyLGtpZHNDYXRlZ29yeVNlbGVjdGVkRXZlbnQ6MzkzLAptZHhEZXZpY2VNYW5hZ2VtZW50U25hcHNob3RFdmVudDozOTQscHJlZmV0Y2hSZXF1ZXN0ZWQ6Mzk1LHByZWZldGNoYWJsZUNvbW1hbmRFeGVjdXRlZDozOTYsZ2VsRGVidWdnaW5nRXZlbnQ6Mzk5LHdlYkxpbmtUdHNQbGF5RW5kOjQwMCxjbGlwVmlld0ludmFsaWQ6NDAxLHBlcnNpc3RlbnRTdG9yYWdlU3RhdGVDaGVja2VkOjQwMyxjYWNoZVdpcGVvdXRFdmVudDo0MDQscGxheWVyRXZlbnQ6NDEwLHNmdkVmZmVjdFBpcGVsaW5lU3RhcnRlZEV2ZW50OjQxMixzZnZFZmZlY3RQaXBlbGluZVBhdXNlZEV2ZW50OjQyOSxzZnZFZmZlY3RQaXBlbGluZUVuZGVkRXZlbnQ6NDEzLHNmdkVmZmVjdENob3NlbkV2ZW50OjQxNCxzZnZFZmZlY3RMb2FkZWRFdmVudDo0MTUsc2Z2RWZmZWN0VXNlckludGVyYWN0aW9uRXZlbnQ6NDY1LHNmdkVmZmVjdEZpcnN0RnJhbWVQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE2LHNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE3LApzZnZFZmZlY3RBZ2dyZWdhdGVkRnJhbWVzRHJvcHBlZEV2ZW50OjQxOCxzZnZFZmZlY3RQaXBlbGluZUVycm9yRXZlbnQ6NDMwLHNmdkVmZmVjdEdyYXBoRnJvemVuRXZlbnQ6NDE5LHNmdkVmZmVjdEdsVGhyZWFkQmxvY2tlZEV2ZW50OjQyMCxtZGVRb3NFdmVudDo1MTAsbWRlVmlkZW9DaGFuZ2VkRXZlbnQ6NDQyLG1kZVBsYXllclBlcmZvcm1hbmNlTWV0cmljczo0NzIsbWRlRXhwb3J0ZXJFdmVudDo0OTcsZ2VuZXJpY0NsaWVudEV4cGVyaW1lbnRFdmVudDo0MjMsaG9tZVByZWxvYWRUYXNrU2NoZWR1bGVkOjQyNCxob21lUHJlbG9hZFRhc2tFeGVjdXRlZDo0MjUsaG9tZVByZWxvYWRDYWNoZUhpdDo0MjYscG9seW1lclByb3BlcnR5Q2hhbmdlZEluT2JzZXJ2ZXI6NDI3LGFwcGxpY2F0aW9uU3RhcnRlZDo0MzEsbmV0d29ya0Nyb25ldFJ0dEJhdGNoOjQzMixuZXR3b3JrQ3JvbmV0UnR0U3VtbWFyeTo0MzMscmVwZWF0Q2hhcHRlckxvb3BFdmVudDo0MzYsc2Vla0NhbmNlbGxhdGlvbkV2ZW50OjQ2MiwKbG9ja01vZGVUaW1lb3V0RXZlbnQ6NDgzLGV4dGVybmFsVmlkZW9TaGFyZVRvWW91dHViZUF0dGVtcHQ6NTAxLHBhcmVudENvZGVFdmVudDo1MDIsb2ZmbGluZVRyYW5zZmVyU3RhcnRlZDo0LG11c2ljT2ZmbGluZU1peHRhcGVQcmVmZXJlbmNlc0NoYW5nZWQ6MTYsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkF0dGVtcHQ6NDAsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkVycm9yOjc3LGR0d3NQbGF5YmFja1N0YXJ0ZWQ6MTEyLGR0d3NUaWxlRmV0Y2hTdGFydGVkOjExMyxkdHdzVGlsZUZldGNoQ29tcGxldGVkOjExNCxkdHdzVGlsZUZldGNoU3RhdHVzQ2hhbmdlZDoxNDUsZHR3c0tleWZyYW1lRGVjb2RlckJ1ZmZlclNlbnQ6MTE1LGR0d3NUaWxlVW5kZXJmbG93ZWRPbk5vbmtleWZyYW1lOjExNixkdHdzQmFja2ZpbGxGZXRjaFN0YXR1c0NoYW5nZWQ6MTQzLGR0d3NCYWNrZmlsbFVuZGVyZmxvd2VkOjExNyxkdHdzQWRhcHRpdmVMZXZlbENoYW5nZWQ6MTI4LApibG9ja2luZ1Zpc2l0b3JJZFRpbWVvdXQ6Mjc3LGxpdGVTb2NpYWw6MTgsbW9iaWxlSnNJbnZvY2F0aW9uOjI5NyxiaXNjb3R0aUJhc2VkRGV0ZWN0aW9uOjQzOSxjb1dhdGNoU3RhdGVDaGFuZ2U6NDQwLGVtYmVkc1ZpZGVvRGF0YURpZENoYW5nZTo0NDEsc2hvcnRzRmlyc3Q6NDQzLGNydWlzZUNvbnRyb2xFdmVudDo0NDUscW9lQ2xpZW50TG9nZ2luZ0NvbnRleHQ6NDQ2LGF0dlJlY29tbWVuZGF0aW9uSm9iRXhlY3V0ZWQ6NDQ3LHR2aHRtbDVVc2VyRmVlZGJhY2s6NDQ4LHByb2R1Y2VyUHJvamVjdENyZWF0ZWQ6NDQ5LHByb2R1Y2VyUHJvamVjdE9wZW5lZDo0NTAscHJvZHVjZXJQcm9qZWN0RGVsZXRlZDo0NTEscHJvZHVjZXJQcm9qZWN0RWxlbWVudEFkZGVkOjQ1Myxwcm9kdWNlclByb2plY3RFbGVtZW50UmVtb3ZlZDo0NTQscHJvZHVjZXJBcHBTdGF0ZUNoYW5nZTo1MDkscHJvZHVjZXJQcm9qZWN0RGlza0luc3VmZmljaWVudEV4cG9ydEZhaWx1cmU6NTE2LHByb2R1Y2VyTWVkaWFTZXJ2aWNlc1Jlc2V0RGV0YWlsczo1MjIsCnR2aHRtbDVTaG93Q2xvY2tFdmVudDo0NTUsZGV2aWNlQ2FwYWJpbGl0eUNoZWNrTWV0cmljczo0NTYseW91dHViZUNsZWFyY3V0RXZlbnQ6NDYxLG9mZmxpbmVCcm93c2VGYWxsYmFja0V2ZW50OjQ2MyxnZXRDdHZUb2tlbkV2ZW50OjQ2NCxzdGFydHVwRHJvcHBlZEZyYW1lc1N1bW1hcnk6NDY2LHNjcmVlbnNob3RFdmVudDo0NjgsbWluaUFwcFBsYXlFdmVudDo0NjksZWxlbWVudHNEZWJ1Z0NvdW50ZXJzOjQ3MCxmb250TG9hZEV2ZW50OjQ3MSx3ZWJLaWxsc3dpdGNoUmVjZWl2ZWQ6NDczLHdlYktpbGxzd2l0Y2hFeGVjdXRlZDo0NzQsY2FtZXJhT3BlbkV2ZW50OjQ3NSxtYW51YWxTbW9vdGhuZXNzTWVhc3VyZW1lbnQ6NDc2LHR2aHRtbDVBcHBRdWFsaXR5RXZlbnQ6NDc3LHBvbHltZXJQcm9wZXJ0eUFjY2Vzc0V2ZW50OjQ3OSxtaW5pQXBwU2RrVXNhZ2U6NDgwLGNvYmFsdFRlbGVtZXRyeUV2ZW50OjQ4MSxjcm9zc0RldmljZVBsYXliYWNrOjQ4MixjaGFubmVsQ3JlYXRlZFdpdGhPYmFrZUltYWdlOjQ4NCwKY2hhbm5lbEVkaXRlZFdpdGhPYmFrZUltYWdlOjQ4NSxvZmZsaW5lRGVsZXRlRXZlbnQ6NDg2LGNyb3NzRGV2aWNlTm90aWZpY2F0aW9uVHJhbnNmZXI6NDg3LGFuZHJvaWRJbnRlbnRFdmVudDo0ODgsdW5wbHVnZ2VkQW1iaWVudEludGVybHVkZXNDb3VudGVyZmFjdHVhbEV2ZW50OjQ4OSxrZXlQbGF5c1BsYXliYWNrOjQ5MCxzaG9ydHNDcmVhdGlvbkZhbGxiYWNrRXZlbnQ6NDkzLHZzc0RhdGE6NDkxLGNhc3RNYXRjaDo0OTQsbWluaUFwcFBlcmZvcm1hbmNlTWV0cmljczo0OTUsdXNlckZlZWRiYWNrRXZlbnQ6NDk2LGtpZHNHdWVzdFNlc3Npb25NaXNtYXRjaDo0OTgsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RNaWdyYXRpb25FdmVudDo0OTksc2xlZXBUaW1lclNlc3Npb25GaW5pc2hFdmVudDo1MDAsd2F0Y2hFcFByb21vQ29uZmxpY3Q6NTAzLGlubmVydHViZVJlc3BvbnNlQ2FjaGVNZXRyaWNzOjUwNSxtaW5pQXBwQWRFdmVudDo1MDYsZGF0YVBsYW5VcHNlbGxFdmVudDo1MDcsCnByb2R1Y2VyUHJvamVjdFJlbmFtZWQ6NTA4LHByb2R1Y2VyTWVkaWFTZWxlY3Rpb25FdmVudDo1MTEsZW1iZWRzQXV0b3BsYXlTdGF0dXNDaGFuZ2VkOjUxMixyZW1vdGVDb25uZWN0RXZlbnQ6NTEzLGNvbm5lY3RlZFNlc3Npb25NaXNhdHRyaWJ1dGlvbkV2ZW50OjUxNCxwcm9kdWNlclByb2plY3RFbGVtZW50TW9kaWZpZWQ6NTE1LGFkc1NlZW5DbGllbnRMb2dnaW5nOjUxNyxwcm9kdWNlckV2ZW50OjUxOCx0dmh0bWw1Q2xlYW5TdGFydDo1MTksZGV2aWNlQWNjb3VudE1ldHJpY3NFdmVudDo1MjAsZGVycExvZ0V2ZW50OjUyMSxwbGF5YWJsZXNQb3J0YWxFdmVudDo1MjMsaXBWYWxpZGF0aW9uU3RhcnRlZDo1MjQsaXBWYWxpZGF0aW9uUmVjZWl2ZWQ6NTI1LHJlZWxzU2VxdWVuY2VNdXRhdGlvbkV2ZW50OjUyNyx3YXRjaFpvb21TdGF0ZUNoYW5nZTo1MjgsbWV0YWRhdGFFZGl0b3JFdmVudDo1Mjksa2lkc1ByaXNtYURlZXBsaW5rc0V2ZW50OjUzMCxjcmVhdGlvbk9yY2hlc3RyYXRpb25FdmVudDo1MzEsCmNvb3JkaW5hdGVkU2FtcGxpbmdUcmlnZ2VyZWQ6NTMyLHJlY2FwU2NyZWVuc2hvdEV2ZW50OjUzNCxtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVxdWVzdEV2ZW50OjUzNixtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVzcG9uc2VFdmVudDo1Mzcsc2Vzc2lvblJlcGxheUV2ZW50OjUzOCxzZXNzaW9uUmVwbGF5U3RhdHVzRXZlbnQ6NTM5LGxvZ2dpbmdSZWxpYWJpbGl0eVByb2JlOjU0MCxrZXlWYWx1ZVN0b3JlU3RhdHNFdmVudDo1NDEsZGV2aWNlTG9jYXRpb25QZXJtaXNzaW9uRXZlbnQ6NTQyLHJlbW90ZUNvbnRyb2xTdGFydGVkOjU0MyxyZW1vdGVDb250cm9sQ29tcGxldGVkOjU0NCxyZWVsc0Fkc0V2ZW50czo1NDUseXRsckxvYWRlclRlc3RIYXJuZXNzRXZlbnQ6NTQ3LGJpb21ldHJpY0F1dGhlbnRpY2F0aW9uRXZlbnQ6NTQ4LG1haW5BcHBMaWZlY3ljbGVFdmVudDo1NDksbXVzaWNEb3dubG9hZEJhY2tncm91bmRDb250aW51ZWRQcm9jZXNzaW5nVGFzazo1NTAsbXVzaWNNZXRhZGF0YU1pc21hdGNoRXZlbnQ6NTUxLApzY3JvbGxUb0NvbXBvbmVudENvbXBsZXRlZDo1NTIsZW50aXR5U3RvcmVUZWxlbWV0cnk6NTUzLHN0cmVhbWluZ0RhcmtMYXVuY2hFdmVudDo1NTQsY2hpbGRBY2NvdW50c0Rpc3BsYXlFdmVudDo1NTUsdHZmYXNQbGF5YmFja0NvbnRleHQ6NTU3LG1kZUMyUGFFdmVudDo1NTl9O3ZhciBoX3g9a08oIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtLYzp7U1dIZWFsdGhMb2c6e3Z4OjF9fSxzaGFyZWQ6ITAsdXBncmFkZToobixXKT0+e1coMSkmJkVSKFp5KG4sIlNXSGVhbHRoTG9nIix7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KSwic3dIZWFsdGhOZXdSZXF1ZXN0IixbImludGVyZmFjZSIsInRpbWVzdGFtcCJdKX0sCnZlcnNpb246MX0pO3ZhciBYaT17fSxYSHc9MDt2YXIgR1Q7dmFyIHJvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXA7dGhpcy5KPSExfXJlcXVlc3RDb21wbGV0ZShuLFcpe1cmJih0aGlzLko9ITApO249dGhpcy5yZW1vdmVQYXJhbXMobik7dGhpcy5OLmdldChuKXx8dGhpcy5OLnNldChuLFcpfWlzRW5kcG9pbnRDRlIobil7bj10aGlzLnJlbW92ZVBhcmFtcyhuKTtyZXR1cm4obj10aGlzLk4uZ2V0KG4pKT8hMTpuPT09ITEmJnRoaXMuSj8hMDpudWxsfXJlbW92ZVBhcmFtcyhuKXtyZXR1cm4gbi5zcGxpdCgiPyIpWzBdfX07cm8ucHJvdG90eXBlLnJlbW92ZVBhcmFtcz1yby5wcm90b3R5cGUucmVtb3ZlUGFyYW1zO3JvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSPXJvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSO3JvLnByb3RvdHlwZS5yZXF1ZXN0Q29tcGxldGU9cm8ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZTtyby5nZXRJbnN0YW5jZT1zYzt2YXIgTmI9Y2xhc3MgZXh0ZW5kcyBnLm9Xe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9ITE7dGhpcy5OPXMydygpO3RoaXMuTi5TXygibmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57aWYodGhpcy5KJiZnLmwoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIG49JFEoKS5nZXQoImVycm9ycyIsITApO2lmKG4pe2ZvcihsZXQgVyBpbiBuKWlmKG5bV10pe2xldCBEPW5ldyBnLlF4KFcsInNlbnQgdmlhIG9mZmxpbmVfZXJyb3JzIik7RC5uYW1lPW5bV10ubmFtZTtELnN0YWNrPW5bV10uc3RhY2s7RC5sZXZlbD1uW1ddLmxldmVsO090KEQpfSRRKCkuc2V0KCJlcnJvcnMiLHt9LDI1OTJFMywhMCl9fX0pfVdHKCl7cmV0dXJuIHRoaXMuTi5XRygpfWxjKG4pe3RoaXMuTi5pc09ubGluZT1ufUxrKCl7dmFyIG49d2luZG93Lm5hdmlnYXRvci5vbkxpbmU7CnJldHVybiBuPT09dm9pZCAwPyEwOm59REgoKXt0aGlzLko9ITB9U18obixXKXtyZXR1cm4gdGhpcy5OLlNfKG4sVyl9aEoobil7cmV0dXJuIHJYKHRoaXMuTixuKX19O05iLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1OYi5wcm90b3R5cGUuaEo7TmIucHJvdG90eXBlLmxpc3Rlbj1OYi5wcm90b3R5cGUuU187TmIucHJvdG90eXBlLmVuYWJsZUVycm9yRmx1c2hpbmc9TmIucHJvdG90eXBlLkRIO05iLnByb3RvdHlwZS5nZXRXaW5kb3dTdGF0dXM9TmIucHJvdG90eXBlLkxrO05iLnByb3RvdHlwZS5uZXR3b3JrU3RhdHVzSGludD1OYi5wcm90b3R5cGUubGM7TmIucHJvdG90eXBlLmlzTmV0d29ya0F2YWlsYWJsZT1OYi5wcm90b3R5cGUuV0c7TmIuZ2V0SW5zdGFuY2U9cG07dmFyIGI2Wj1jbGFzcyBleHRlbmRzIGcub1d7Y29uc3RydWN0b3IoKXt2YXIgbj17dTI6ITAsRW86ITB9O3N1cGVyKCk7dGhpcy5OPXRoaXMuWD0wO3RoaXMuSj1wbSgpO3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy5KKTtXJiYobi5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PW4ucmF0ZUxpbWl0LFcoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e1lRKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9PntZUSh0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihXKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVdHKCl7dmFyIG49CmcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpOwpyZXR1cm4gbj9uLmJpbmQodGhpcy5KKSgpOiEwfWxjKG4pe3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLm5ldHdvcmtTdGF0dXNIaW50IikuYmluZCh0aGlzLkopO1cmJlcobil9YXN5bmMgaEoobil7dmFyIFc9Zy5ycigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2Uuc2VuZE5ldHdvcmtDaGVja1JlcXVlc3QiKS5iaW5kKHRoaXMuSik7cmV0dXJuIGcubCgic2tpcF9uZXR3b3JrX2NoZWNrX2lmX2NmciIpJiZzYygpLmlzRW5kcG9pbnRDRlIoImdlbmVyYXRlXzIwNCIpP25ldyBQcm9taXNlKEQ9Pnt0aGlzLmxjKHdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZXx8ITApO0QodGhpcy5XRygpKX0pOlc/VyhuKTohMH19O3ZhciBTYyxHemg9Y2xhc3MgZXh0ZW5kcyBEejF7Y29uc3RydWN0b3IoKXtTY3x8KFNjPW5ldyBiNlopO3N1cGVyKHtnRTp7dGk6dnZpLFRNOmJHQyxpNDpudjIsSzY6V19DLGhZOkRFeCxzZXQ6YUJTfSx5RzpTYyxoYW5kbGVFcnJvcjoobixXLEQpPT57dmFyIGI9RD8uZXJyb3I/LmNvZGU7Yj09PTQwMHx8Yj09PTQxNT8obj1uZXcgZy5ReChuLm1lc3NhZ2UsVyxEPy5lcnJvcj8uY29kZSksWkUobix2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOk90KG4pfSwKRjI6WkUsTG06JEV0LG5vdzpnLlIsaEw6cUt3LEEkOmcuRHkoKSx1WjoicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsTkE6InB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIixDcjohMCxLcjouMSxIRjp2MCgicG90ZW50aWFsX2VzZl9lcnJvcl9saW1pdCIsMTApLEVxOmcubCxOaDohKFI5KCkmJmcuSVAoZG9jdW1lbnQubG9jYXRpb24udG9TdHJpbmcoKSkhPT0id3d3LnlvdXR1YmUtbm9jb29raWUuY29tIil9KTt0aGlzLmo9bmV3IGcuS1Y7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiZremkoKTt2eigiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKG4sVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKG4sVyl9c2VuZFRoZW5Xcml0ZShuLFcsRCl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKG4sVyxEKX1zZW5kQW5kV3JpdGUobiwKVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kQW5kV3JpdGUobixXKX1hd2FpdEluaXRpYWxpemF0aW9uKCl7cmV0dXJuIHRoaXMuai5wcm9taXNlfX07dmFyIEpJPWcucWkueXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnN8fHtpc053bEluaXRpYWxpemVkOiExfTtnLkdiKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsSkkpO2cuZDQ9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5jb25maWdfPW51bGw7bj90aGlzLmNvbmZpZ189bjpJNygpJiYodGhpcy5jb25maWdfPWcuUzkoKSl9aXNSZWFkeSgpeyF0aGlzLmNvbmZpZ18mJkk3KCkmJih0aGlzLmNvbmZpZ189Zy5TOSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciB2Z3c9Zy5xaS55dFB1YnN1YlB1YnN1Ykluc3RhbmNlfHxuZXcgQkssQUk9Zy5xaS55dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzfHx7fSxLbT1nLnFpLnl0UHVic3ViUHVic3ViVG9waWNUb0tleXN8fHt9LG1nPWcucWkueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtCSy5wcm90b3R5cGUuc3Vic2NyaWJlPUJLLnByb3RvdHlwZS5zdWJzY3JpYmU7QksucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9QksucHJvdG90eXBlLmpLO0JLLnByb3RvdHlwZS5wdWJsaXNoPUJLLnByb3RvdHlwZS5XSjtCSy5wcm90b3R5cGUuY2xlYXI9QksucHJvdG90eXBlLmNsZWFyO2cuR2IoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLHZndyk7Zy5HYigieXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5cyIsS20pO2cuR2IoInl0UHVic3ViUHVic3ViSXNTeW5jaHJvbm91cyIsbWcpO2cuR2IoInl0UHVic3ViUHVic3ViU3Vic2NyaWJlZEtleXMiLEFJKTt2YXIgb0k9e307Zy5peChnLkZpLGcuRk0pO2cuRT1nLkZpLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPzA6dGhpcy5ZJC5zdWJzY3JpYmUobixXLEQpfTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPyExOnRoaXMuWSQudW5zdWJzY3JpYmUobixXLEQpfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5qSyhuKX07CmcuRS5XSj1mdW5jdGlvbihuLFcpe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5XSi5hcHBseSh0aGlzLlkkLGFyZ3VtZW50cyl9OwpnLkUuaCQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnN1YnNjcmliZShELG5bRF0sVyl9OwpnLkUuTTk9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnVuc3Vic2NyaWJlKEQsbltEXSxXKX07dmFyIHdvPURhdGUubm93KCkudG9TdHJpbmcoKTt2YXIgYnk9e307Zy5MWD1TeW1ib2woImluamVjdGlvbkRlcHMiKTt2YXIga289Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5rZXk9bn19O3ZhciBwSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9bmV3IE1hcDt0aGlzLlc9bmV3IE1hcDt0aGlzLk49bmV3IE1hcH1yZXNvbHZlKG4pe3JldHVybiBuIGluc3RhbmNlb2Yga28/Z0UodGhpcyxuLmtleSxbXSwhMCk6Z0UodGhpcyxuLFtdKX19O2cuQUw9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5uYW1lPW59dG9TdHJpbmcoKXtyZXR1cm5gSW5qZWN0aW9uVG9rZW4oJHt0aGlzLm5hbWV9KWB9fTt2YXIgWDQ7dmFyIEdwPXdpbmRvdzt2YXIgZlg9Zy5sKCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIikmJnRwKCkhPT0wLEhHdD1nLmwoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKTt2YXIgQXZqPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc2NoZWR1bGVyPWcuRHkoKTt0aGlzLko9bmV3IGcuS1Y7dGhpcy5OPW47Zm9yKGxldCBXPTA7Vzx0aGlzLk4ubGVuZ3RoO1crKyl7bGV0IEQ9dGhpcy5OW1ddO249KCk9PntELkphKCk7dGhpcy5OW1ddLk1KPSEwO3RoaXMuTi5ldmVyeSh2PT52Lk1KPT09ITApJiZ0aGlzLkoucmVzb2x2ZSgpfTsKbGV0IGI9Zy5WeCgwLG4sRC5wcmlvcml0eT8/MCk7dGhpcy5OW1ddPXsuLi5ELEphOm4sam9iSWQ6Yn19fWNhbmNlbCgpe2ZvcihsZXQgbiBvZiB0aGlzLk4pbi5qb2JJZD09PXZvaWQgMHx8bi5NSnx8dGhpcy5zY2hlZHVsZXIuc08obi5qb2JJZCksbi5NSj0hMDt0aGlzLkoucmVzb2x2ZSgpfX07dmFyIGt4aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RhdGU9Im5vbmUiO3RoaXMucGx1Z2lucz1bXTt0aGlzLko9dm9pZCAwO3RoaXMuWD17fTtmWCYmJG8odGhpcy5zdGF0ZSl9Z2V0IGN1cnJlbnRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlfWluc3RhbGwobil7dGhpcy5wbHVnaW5zLnB1c2gobik7cmV0dXJuIHRoaXN9dW5pbnN0YWxsKC4uLm4pe24uZm9yRWFjaChXPT57Vz10aGlzLnBsdWdpbnMuaW5kZXhPZihXKTtXPi0xJiZ0aGlzLnBsdWdpbnMuc3BsaWNlKFcsMSl9KX10cmFuc2l0aW9uKG4sVyl7ZlgmJnJFKHRoaXMuc3RhdGUpOwp2YXIgRD10aGlzLnRyYW5zaXRpb25zLmZpbmQoYj0+QXJyYXkuaXNBcnJheShiLmZyb20pP2IuZnJvbS5maW5kKHY9PnY9PT10aGlzLnN0YXRlJiZiLnRvPT09bik6Yi5mcm9tPT09dGhpcy5zdGF0ZSYmYi50bz09PW4pOwppZihEKXt0aGlzLlcmJihZS2oodGhpcy5XKSx0aGlzLlc9dm9pZCAwKTtmUjIodGhpcyxuLFcpO3RoaXMuc3RhdGU9bjtmWCYmJG8odGhpcy5zdGF0ZSk7RD1ELmFjdGlvbi5iaW5kKHRoaXMpO2xldCBiPXRoaXMucGx1Z2lucy5maWx0ZXIodj0+dltuXSkubWFwKHY9PnZbbl0pOwpEKFNLQyh0aGlzLGIpLFcpfWVsc2UgdGhyb3cgRXJyb3IoYG5vIHRyYW5zaXRpb24gc3BlY2lmaWVkIGZyb20gJHt0aGlzLnN0YXRlfSB0byAke259YCk7fX07dmFyIG1Fdz1jbGFzcyBleHRlbmRzIGt4aHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5OPW51bGw7dGhpcy5KPTEwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJub25lIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOnRoaXMuan0se2Zyb206ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLHRvOiJub25lIixhY3Rpb246dGhpcy5WfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLGFjdGlvbjooKT0+e319LAp7ZnJvbToibm9uZSIsdG86Im5vbmUiLGFjdGlvbjooKT0+e319XX1qKG4sVyl7dGhpcy5OPWcuY0IoMCwoKT0+e3RoaXMuY3VycmVudFN0YXRlPT09ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciJiZ0aGlzLnRyYW5zaXRpb24oIm5vbmUiKX0sNUUzKTsKbihXPy5ldmVudCl9VihuLFcpe3RoaXMuTiYmKHRhLnNPKHRoaXMuTiksdGhpcy5OPW51bGwpO24oVz8uZXZlbnQpfX0sSnA7dmFyIFV5PVtdO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRHZWxQYXlsb2FkcyIsZnVuY3Rpb24oKXtyZXR1cm4gVXl9KTt2YXIgbTM9dm9pZCAwLFNaPXZvaWQgMDt2YXIgb2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0b3JlPXt9O3RoaXMuTj17fX1zdG9yZVBheWxvYWQobixXKXtuPU85KG4pO3RoaXMuc3RvcmVbbl0/dGhpcy5zdG9yZVtuXS5wdXNoKFcpOih0aGlzLk49e30sdGhpcy5zdG9yZVtuXT1bV10pO2cubCgibW9yZV9hY2N1cmF0ZV9nZWxfcGFyc2VyIikmJihXPW5ldyBDdXN0b21FdmVudCgiVFJBTlNQT1JUSU5HX05FV19FVkVOVCIpLHdpbmRvdy5kaXNwYXRjaEV2ZW50KFcpKTtyZXR1cm4gbn1zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7aWYoIW4ua2V5cy5sZW5ndGgpcmV0dXJuW107dmFyIFc9WkEodGhpcyxuLmtleXMuc3BsaWNlKDAsMSlbMF0pLEQ9W107Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspdGhpcy5zdG9yZVtXW2JdXSYmbi5zaXplTGltaXQmJih0aGlzLnN0b3JlW1dbYl1dLmxlbmd0aDw9bi5zaXplTGltaXQ/KEQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dKSxkZWxldGUgdGhpcy5zdG9yZVtXW2JdXSk6CkQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dLnNwbGljZSgwLG4uc2l6ZUxpbWl0KSkpO24/LnNpemVMaW1pdCYmRC5sZW5ndGg8bj8uc2l6ZUxpbWl0JiYobi5zaXplTGltaXQtPUQubGVuZ3RoLEQucHVzaCguLi50aGlzLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhuKSkpO3JldHVybiBEfWV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7bj1aQSh0aGlzLG4pO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXRoaXMuc3RvcmVbbltEXV0mJihXLnB1c2goLi4udGhpcy5zdG9yZVtuW0RdXSksZGVsZXRlIHRoaXMuc3RvcmVbbltEXV0pO3JldHVybiBXfWdldFNlcXVlbmNlQ291bnQobil7bj1aQSh0aGlzLG4pO3ZhciBXPTA7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspVys9dGhpcy5zdG9yZVtuW0RdXT8ubGVuZ3RofHwwO3JldHVybiBXfX07b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ9b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ7Cm9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzPW9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzO29iLnByb3RvdHlwZS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXM9b2IucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcztvYi5wcm90b3R5cGUuc3RvcmVQYXlsb2FkPW9iLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ7dmFyIHpfdD1uZXcgZy5BTCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSIpO3ZhciBVRXc9djAoImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiLDJFMyksWkdaPXYwKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCkseXZTPXYwKCJnZWxfbWluX2JhdGNoX3NpemUiLDUpLEU5PXZvaWQgMCx5Uj1udWxsLG1zPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPXRoaXMuSj10aGlzLlc9MDt0aGlzLk49ITF9fSxUZ2k9bmV3IG1zLGxSQz1uZXcgbXMsdDY9bmV3IG1zLEdVPW5ldyBtcyxXcywkQT0hMCxQcz0xLGx5PW5ldyBNYXAsZXk9Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZXkpO3ZhciBMVT1nLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc18iLExVKTt2YXIgUmI9e30senA9ITE7dmFyIGlSPWcucWkueXRMb2dnaW5nR2VsU2VxdWVuY2VJZE9ial98fHt9O2cuR2IoInl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpfIixpUik7dmFyIG0xPVtdO3ZhciBWNCxLaj1nLnFpLnl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfO0tqfHwoS2o9Zy5SSSgxNiksZy5HYigieXRMb2dnaW5nRG9jRG9jdW1lbnROb25jZV8iLEtqKSk7VjQ9S2o7dmFyIEZfVT17Qnc6MCxGNjoxLFdROjIsTjM6MyxxdDo0LFlTOjUsUWM6NixMTTo3LEk2Ojgsc0M6OSxaTToxMCxiUzoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07dmFyIGp6Wj0xLGxSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufWdldEFzSnNvbigpe3ZhciBuPXt9O3RoaXMuTi50cmFja2luZ1BhcmFtcyE9PXZvaWQgMD9uLnRyYWNraW5nUGFyYW1zPXRoaXMuTi50cmFja2luZ1BhcmFtczoobi52ZVR5cGU9dGhpcy5OLnZlVHlwZSx0aGlzLk4udmVDb3VudGVyIT09dm9pZCAwJiYobi52ZUNvdW50ZXI9dGhpcy5OLnZlQ291bnRlciksdGhpcy5OLmVsZW1lbnRJbmRleCE9PXZvaWQgMCYmKG4uZWxlbWVudEluZGV4PXRoaXMuTi5lbGVtZW50SW5kZXgpKTt0aGlzLk4uZGF0YUVsZW1lbnQhPT12b2lkIDAmJihuLmRhdGFFbGVtZW50PXRoaXMuTi5kYXRhRWxlbWVudC5nZXRBc0pzb24oKSk7dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYobi55b3V0dWJlRGF0YT10aGlzLk4ueW91dHViZURhdGEpO3RoaXMuTi5pc0NvdW50ZXJmYWN0dWFsJiYobi5pc0NvdW50ZXJmYWN0dWFsPSEwKTtyZXR1cm4gbn1nZXRBc0pzcGIoKXt2YXIgbj1uZXcgcVlTOwp0aGlzLk4udHJhY2tpbmdQYXJhbXMhPT12b2lkIDA/bi5zZXRUcmFja2luZ1BhcmFtcyh0aGlzLk4udHJhY2tpbmdQYXJhbXMpOih0aGlzLk4udmVUeXBlIT09dm9pZCAwJiZveihuLDIsZy55UCh0aGlzLk4udmVUeXBlKSksdGhpcy5OLnZlQ291bnRlciE9PXZvaWQgMCYmb3oobiw2LGcueVAodGhpcy5OLnZlQ291bnRlcikpLHRoaXMuTi5lbGVtZW50SW5kZXghPT12b2lkIDAmJm96KG4sMyxnLnlQKHRoaXMuTi5lbGVtZW50SW5kZXgpKSx0aGlzLk4uaXNDb3VudGVyZmFjdHVhbCYmb3oobiw1LE9fKCEwKSkpO2lmKHRoaXMuTi5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIFc9dGhpcy5OLmRhdGFFbGVtZW50LmdldEFzSnNwYigpOyQ5KG4scVlTLDcsVyl9dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYkOShuLGU0dyw4LHRoaXMuTi5qc3BiWW91dHViZURhdGEpO3JldHVybiBufXRvU3RyaW5nKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0QXNKc29uKCkpfWlzQ2xpZW50VmUoKXtyZXR1cm4hdGhpcy5OLnRyYWNraW5nUGFyYW1zJiYKISF0aGlzLk4udmVUeXBlfWdldExvZ2dpbmdEaXJlY3RpdmVzKCl7cmV0dXJuIHRoaXMuTi5sb2dnaW5nRGlyZWN0aXZlc319O2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLmdldFJvb3RWZVR5cGUiLEZSKTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdXJyZW50Q3NuIixnLlJ2KTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdHRBdXRoSW5mbyIsUTQpO2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLGNzKTt2YXIgUl9NPSJhYnNvbHV0ZV9leHBlcmltZW50cyBhcHAgY29uZGl0aW9uYWxfZXhwZXJpbWVudHMgZGVidWdjc3MgZGVidWdqcyBleHBmbGFnIGZvcmNlZF9leHBlcmltZW50cyBwYmogcGJqcmVsb2FkIHNiYiBzcGYgc3BmcmVsb2FkIHNyX2Juc19hZGRyZXNzIHN0dGljayIuc3BsaXQoIiAiKTt2YXIgayRiPVt7RzE6bj0+YENhbm5vdCByZWFkIHByb3BlcnR5ICcke24ua2V5fSdgLApZejp7RXJyb3I6W3t3YjovKFBlcm1pc3Npb24gZGVuaWVkKSB0byBhY2Nlc3MgcHJvcGVydHkgIihbXiddKykiLyxncm91cHM6WyJyZWFzb24iLCJrZXkiXX1dLFR5cGVFcnJvcjpbe3diOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3diOi9cdTY1ZTBcdTZjZDVcdTgzYjdcdTUzZDZcdTY3MmFcdTViOWFcdTRlNDlcdTYyMTYgKG51bGx8dW5kZWZpbmVkKSBcdTVmMTVcdTc1MjhcdTc2ODRcdTVjNWVcdTYwMjdcdTIwMWMoW15cdTIwMWRdKylcdTIwMWQvLGdyb3VwczpbInZhbHVlIiwia2V5Il19LHt3YjovXHVjODE1XHVjNzU4XHViNDE4XHVjOWMwIFx1YzU0YVx1Yzc0YyBcdWI2MTBcdWIyOTQgKG51bGx8dW5kZWZpbmVkKSBcdWNjMzhcdWM4NzBcdWM3NzggJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc0NCBcdWFjMDBcdWM4MzhcdWM2MmMgXHVjMjE4IFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7d2I6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHt3YjovVW5hYmxlIHRvIGdldCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKHVuZGVmaW5lZCBvciBudWxsKSByZWZlcmVuY2UvLGdyb3VwczpbImtleSIsInZhbHVlIl19LHt3YjovKG51bGwpIGlzIG5vdCBhbiBvYmplY3QgXChldmFsdWF0aW5nICcoPzooW14uXSspXC4pPyhbXiddKyknXCkvLGdyb3VwczpbInZhbHVlIiwiYmFzZSIsImtleSJdfV19fSx7RzE6bj0+YENhbm5vdCBjYWxsICcke24ua2V5fSdgLApZejp7VHlwZUVycm9yOlt7d2I6Lyg/OihbXiBdKyk/XC4pPyhbXiBdKykgaXMgbm90IGEgZnVuY3Rpb24vLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3diOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7d2I6L09iamVjdCAoLiopIGhhcyBubyBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJiYXNlIiwia2V5Il19LHt3YjovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3diOi9cdTMwYWFcdTMwZDZcdTMwYjhcdTMwYTdcdTMwYWZcdTMwYzhcdTMwNmYgJyhbXiddKyknIFx1MzBkN1x1MzBlZFx1MzBkMVx1MzBjNlx1MzBhM1x1MzA3ZVx1MzA1Zlx1MzA2Zlx1MzBlMVx1MzBiZFx1MzBjM1x1MzBjOVx1MzA5Mlx1MzBiNVx1MzBkZFx1MzBmY1x1MzBjOFx1MzA1N1x1MzA2Nlx1MzA0NFx1MzA3ZVx1MzA1Ylx1MzA5My8sZ3JvdXBzOlsia2V5Il19LAp7d2I6L1x1YWMxY1x1Y2NiNFx1YWMwMCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzc0XHViMDk4IFx1YmE1NFx1YzExY1x1YjRkY1x1Yjk3YyBcdWM5YzBcdWM2ZDBcdWQ1NThcdWM5YzAgXHVjNTRhXHVjMmI1XHViMmM4XHViMmU0Li8sZ3JvdXBzOlsia2V5Il19XX19LHtHMTpuPT5gJHtuLmtleX0gaXMgbm90IGRlZmluZWRgLApZejp7UmVmZXJlbmNlRXJyb3I6W3t3YjovKC4qKSBpcyBub3QgZGVmaW5lZC8sZ3JvdXBzOlsia2V5Il19LHt3YjovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgYVJTPXtOOTpbXSxrbzpbe2NhbGxiYWNrOlF6MSx3ZWlnaHQ6NTAwfSx7Y2FsbGJhY2s6Vld4LHdlaWdodDo1MDB9XX07dmFyIGN2aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMua289W107dGhpcy5OOT1bXX19LHZhO3ZhciBTaT1uZXcgQks7dmFyIElVPW5ldyBTZXQsdFA9MCx4SE09MCxBUD0wLHY5Mj1bXSxibjI9W10sTE5DPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO0RhdGUubm93KCk7dmFyIFpwPWNsYXNzIGV4dGVuZHMgbzd7Y29uc3RydWN0b3Iobil7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1ufX0sVG89bmV3IGQzKCJzY3JlZW4tY3JlYXRlZCIsWnApLEM0PVtdLGVUaD1HJGosQmE9MCxVYT1uZXcgTWFwLHk1PW5ldyBNYXAsRWE9bmV3IE1hcDt2YXIgaHIyPWNsYXNze2ZsdXNoKG49W10sVz0hMSl7aWYoZy5sKCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBEIG9mIG4pbj11NihEKSx0aGlzLk4mJiQ5KG4sT2l4LDIsdGhpcy5OKSxuPXtzZXJpYWxpemVkSW5jcmVtZW50QmF0Y2g6Zy5FQShuLkooKSl9LGcuelUoInN0cmVhbXpJbmNyZW1lbnRlZCIsbix7c2VuZElzb2xhdGVkUGF5bG9hZDpXfSl9fSxYbkM9Y2xhc3MgZXh0ZW5kcyBocjJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0sU0hpPWNsYXNzIGV4dGVuZHMgaHIye2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dmFyIFc9bmV3IE9peDt2YXIgRD1uZXcgS1VDO0Q9Zy5TRShELDEsImJvdGd1YXJkIik7bj1nLlNFKEQsMixuKTt0aGlzLk49cmUoVyxLVUMsMSxQWmgsbil9fTt2YXIgVnAsSU0yPW5ldyBNYXA7dmFyIFQkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bmV3IFFLKG4pfXNldChuLFcsRCl7RD1EIT09dm9pZCAwP0RhdGUubm93KCkrRDp2b2lkIDA7dGhpcy5OLnNldChuLFcsRCl9Z2V0KG4pe3JldHVybiB0aGlzLk4uZ2V0KG4pfXJlbW92ZShuKXt0aGlzLk4ucmVtb3ZlKG4pfX07dmFyIHJTaD1udWxsO3ZhciBzbz0idG9rZW5zIGNvbnNpc3RlbmN5IHNlcnZpY2VfcGFyYW1zIG1zcyBjbGllbnRfbG9jYXRpb24gZW50aXRpZXMgYWRibG9ja19kZXRlY3Rpb24gcmVzcG9uc2VfcmVjZWl2ZWRfY29tbWFuZHMgc3RvcmUgbWFuaWZlc3QgcGxheWVyX3ByZWxvYWQgc2hvcnRzX3ByZWZldGNoIHJlc29sdmVfdXJsX3ByZWZldGNoIi5zcGxpdCgiICIpO3ZhciBzWVU9bmV3IE1hcChbWyJkYXJrIiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyJdLFsibGlnaHQiLCJVU0VSX0lOVEVSRkFDRV9USEVNRV9MSUdIVCJdXSk7dmFyIERNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPXt9O2lmKHRoaXMuSj1nLm1qKCkpe2xldCBuPWcuU2QoIkNPTlNJU1RFTkNZIik7biYmYVUodGhpcyx7ZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50czpufSl9fWhhbmRsZVJlc3BvbnNlKG4sVyl7aWYoIVcpdGhyb3cgRXJyb3IoInJlcXVlc3QgbmVlZHMgdG8gYmUgcGFzc2VkIGludG8gQ29uc2lzdGVuY3lTZXJ2aWNlIik7Vz1XLmlubmVyVHViZVJlcXVlc3QuY29udGV4dD8ucmVxdWVzdD8uY29uc2lzdGVuY3lUb2tlbkphcnN8fFtdOyhuPW4ucmVzcG9uc2VDb250ZXh0Py5jb25zaXN0ZW5jeVRva2VuSmFyKSYmdGhpcy5yZXBsYWNlKFcsbil9cmVwbGFjZShuLFcpe2ZvcihsZXQgRCBvZiBuKWRlbGV0ZSB0aGlzLk5bRC5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzXTthVSh0aGlzLFcpfX07dmFyIHh6cj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKS5zbGljZSgtMikuam9pbigiLiIpLGIkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPS0xO3ZhciBuPWcuQXIoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iVFZIVE1MNSImJih0aGlzLmxvY2FsU3RvcmFnZT1uQih0aGlzKSkmJihuPXRoaXMubG9jYWxTdG9yYWdlLmdldCgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKSk7biYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPW4sdGhpcy5KPXRoaXMuTj12b2lkIDApfXN0YXRpYyBnZXRJbnN0YW5jZSgpe09DPWcucnIoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIpO09DfHwoT0M9bmV3IGIkLGcuR2IoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIsT0MpKTtyZXR1cm4gT0N9c2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQobil7bi5jbGllbnR8fAoobi5jbGllbnQ9e30pO2lmKHRoaXMuTiluLmNsaWVudC5sb2NhdGlvbkluZm98fChuLmNsaWVudC5sb2NhdGlvbkluZm89e30pLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sYXRpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5OLmNvb3Jkcy5sYXRpdHVkZSoxRTcpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sb25naXR1ZGVFNz1NYXRoLmZsb29yKHRoaXMuTi5jb29yZHMubG9uZ2l0dWRlKjFFNyksbi5jbGllbnQubG9jYXRpb25JbmZvLmhvcml6b250YWxBY2N1cmFjeU1ldGVycz1NYXRoLnJvdW5kKHRoaXMuTi5jb29yZHMuYWNjdXJhY3kpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5mb3JjZUxvY2F0aW9uUGxheWFiaWxpdHlUb2tlblJlZnJlc2g9ITA7ZWxzZSBpZih0aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKW4uY2xpZW50LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbj10aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VufWdldFhHZW9IZWFkZXIoKXtpZih0aGlzLkope3ZhciBuPQp0aGlzLko7dmFyIFc9TWF0aC5mbG9vcihuLmNvb3Jkcy5sb25naXR1ZGUqMUU3KTt2YXIgRD1NYXRoLmZsb29yKG4uY29vcmRzLmxhdGl0dWRlKjFFNyk7dmFyIGI9bmV3IGpyMjtEPW96KGIsMSxnLnlQKEQpKTtXPW96KEQsMixnLnlQKFcpKTtEPW5ldyBCRnQ7RD1LbihELDEsMSk7RD1LbihELDIsMTIpO0Q9S24oRCw5LDgpO0Q9SVkoRCwzLG4udGltZXN0YW1wKjFFMyk7bj1veihELDcsZy5BXyhuLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTtuPUtuKG4sMjUsMik7bj0kOShuLGpyMiw1LFcpO249YHcgJHtnLkVBKEZGaShuKSw0KX1gfWVsc2Ugbj1udWxsO3JldHVybiBufWhhbmRsZVJlc3BvbnNlKG4pe249bi5yZXNwb25zZUNvbnRleHQ/LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbjtuIT09dm9pZCAwJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49bix0aGlzLko9dGhpcy5OPXZvaWQgMCxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9Cm5CKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsbiwxNTU1MkUzKTpJSygiWVRfQ0wiLEpTT04uc3RyaW5naWZ5KHtsb2N0b2s6bn0pLDE1NTUyRTMseHpyLCEwKSl9Y2xlYXJMb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4obil7bj09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9bkIodGhpcykpJiZ0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmUoInl0LWxvY2F0aW9uLXBsYXlhYmlsaXR5LXRva2VuIik6QXkoIllUX0NMIik7dGhpcy5YPXZvaWQgMDt0aGlzLlchPT0tMSYmKGNsZWFyVGltZW91dCh0aGlzLlcpLHRoaXMuVz0tMSl9Y2xlYXJDdXJyZW50UG9zaXRpb24oKXt0aGlzLko9dGhpcy5OPXZvaWQgMH1nZXRDdXJyZW50UG9zaXRpb25Gcm9tR2VvbG9jYXRpb24obil7aWYoIShuYXZpZ2F0b3ImJm5hdmlnYXRvci5nZW9sb2NhdGlvbiYmbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbikpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJHZW9sb2NhdGlvbiB1bnN1cHBvcnRlZCIpKTsKdmFyIFc9ITEsRD0xRTQ7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihXPSEwLEQ9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChiLHYpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihrPT57dGhpcy5KPW4/LmFkZFRvSGVhZGVycz9rOnZvaWQgMDt0aGlzLk49aztiKGspfSxrPT57dihrKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpXLAptYXhpbXVtQWdlOjAsdGltZW91dDpEfSl9KX1jcmVhdGVVbnBsdWdnZWRMb2NhdGlvbkluZm8obil7dmFyIFc9e307Cm49bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtuPy5hY2N1cmFjeSYmKFcubG9jYXRpb25SYWRpdXNNZXRlcnM9TWF0aC5yb3VuZChuLmFjY3VyYWN5KSk7cmV0dXJuIFd9Y3JlYXRlTG9jYXRpb25JbmZvKG4pe3ZhciBXPXt9O249bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtyZXR1cm4gV319LE9DO3ZhciBMSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49e319Y29udGFpbnMobil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLk4sbil9Z2V0KG4pe2lmKHRoaXMuY29udGFpbnMobikpcmV0dXJuIHRoaXMuTltuXX1zZXQobixXKXt0aGlzLk5bbl09V311Qigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLk4pfXJlbW92ZShuKXtkZWxldGUgdGhpcy5OW25dfX07bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXBwaW5ncz1uZXcgTEhyfWdldChuKXthOnt2YXIgVz10aGlzLm1hcHBpbmdzLmdldChuLnRvU3RyaW5nKCkpO3N3aXRjaChXLnR5cGUpe2Nhc2UgIm1hcHBpbmciOm49Vy52YWx1ZTticmVhayBhO2Nhc2UgImZhY3RvcnkiOlc9Vy52YWx1ZSgpO3RoaXMubWFwcGluZ3Muc2V0KG4udG9TdHJpbmcoKSx7dHlwZToibWFwcGluZyIsdmFsdWU6V30pO249VzticmVhayBhO2RlZmF1bHQ6bj1nLnBiKFcsdm9pZCAwKX19cmV0dXJuIG59fTt2YXIgeFY9e1dFQl9VTlBMVUdHRUQ6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09OQk9BUkRJTkc6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09QUzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfUFVCTElDOiJedW5wbHVnZ2VkLyIsV0VCX0NSRUFUT1I6Il5jcmVhdG9yLyIsV0VCX0tJRFM6Il5raWRzLyIsV0VCX0VYUEVSSU1FTlRTOiJeZXhwZXJpbWVudHMvIixXRUJfTVVTSUM6Il5tdXNpYy8iLFdFQl9SRU1JWDoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm1haW5fYXBwL3xec2Z2LyJ9O3ZhciBlcjE9Y2xhc3N7RChuLFc9e30sRD11OSl7dmFyIGI9e2NvbnRleHQ6dGhpcy5PKCk/Zy52YihuLmNsaWNrVHJhY2tpbmdQYXJhbXMsITAsITEsZy53KG4/LmNvbW1hbmRNZXRhZGF0YSxwaik/LnVybCx0aGlzLksoVykpOmcudmIobi5jbGlja1RyYWNraW5nUGFyYW1zLCExLHRoaXMuail9O3ZhciB2PXRoaXMuTihuKTtpZih2KXt0aGlzLkooYix2LFcpO3Y9TEIodGhpcy5XKCkpO3ZhciBrPWcudyhuLmNvbW1hbmRNZXRhZGF0YSxwaik/LmFwaVVybDtrJiYodj1rKTt2PVpyKEskKHYpKTtrPXtjb21tYW5kOm4sLi4udGhpcy5WKG4pfTtiPXtpbnB1dDp2LFBpOlV6KHYpLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6a307Yi5jb25maWcuQkc/Yi5jb25maWcuQkcuaWRlbnRpdHk9RDpiLmNvbmZpZy5CRz17aWRlbnRpdHk6RH07KG49dGhpcy5ZKG4pKSYmIWIuY29uZmlnLnJlcXVlc3RLZXkmJihiLmNvbmZpZy5yZXF1ZXN0S2V5PW4pO1cuYWJvcnRTaWduYWwmJihiLlBpLnNpZ25hbD0KVy5hYm9ydFNpZ25hbCk7cmV0dXJuIGJ9Vz1uZXcgZy5ReCgiRXJyb3I6IEZhaWxlZCB0byBjcmVhdGUgUmVxdWVzdCBmcm9tIENvbW1hbmQuIixuKTtnLlhqKFcpfU8oKXtyZXR1cm4hMX1nZXQgaigpe3JldHVybiExfUsoKXt9WSgpe31WKCl7fX0sUEM9Y2xhc3MgZXh0ZW5kcyBlcjF7WCgpe31ZKG4pe2cubCgid2ViX2VuYWJsZV9yZXF1ZXN0X2tleV9raWxsc3dpdGNoIikmJnRoaXMuWChuKTtyZXR1cm4gZy53KG4uY29tbWFuZE1ldGFkYXRhLHBqKT8ucmVxdWVzdEtleT8/dGhpcy5YKG4pfX07dmFyIGdnMT17R0VUX0RBVEFTWU5DX0lEUzpobShjbGFzcyBleHRlbmRzIFBDe0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50IixQaTpVeigiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX1XKCl7cmV0dXJuW119Tigpe31KKCl7fX0pfTt2YXIgd189bmV3IGcuQUwoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLCREPW5ldyBnLkFMKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLGlkPW5ldyBnLkFMKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBOUT12MCgieXRjc2lfZGVidWdfbWF4X3NpemUiLDEwMCk7dmFyIEptPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9OwpPYmplY3QuYXNzaWduKEptLHsiYW5hbHl0aWNzLmV4cGxvcmUiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FOQUxZVElDU19FWFBMT1JFIiwiYXJ0aXN0LmFuYWx5dGljcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX0FOQUxZVElDUyIsImFydGlzdC5ldmVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FSVElTVF9DT05DRVJUUyIsImFydGlzdC5wcmVzc2tpdCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX1BST0ZJTEUiLCJhc3NldC5jbGFpbWVkX3ZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NMQUlNRURfVklERU9TIiwiYXNzZXQuY29tcG9zaXRpb24iOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9DT01QT1NJVElPTiIsImFzc2V0LmNvbXBvc2l0aW9uX293bmVyc2hpcCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX09XTkVSU0hJUCIsImFzc2V0LmNvbXBvc2l0aW9uX3BvbGljeSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX1BPTElDWSIsCiJhc3NldC5lbWJlZHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9FTUJFRFMiLCJhc3NldC5oaXN0b3J5IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfSElTVE9SWSIsImFzc2V0Lmlzc3VlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0lTU1VFUyIsImFzc2V0LmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfTElDRU5TRVMiLCJhc3NldC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX01FVEFEQVRBIiwiYXNzZXQub3duZXJzaGlwIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfT1dORVJTSElQIiwiYXNzZXQucG90ZW50aWFsX2VtYmVkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX1BPVEVOVElBTF9FTUJFRFMiLCJhc3NldC5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9QT0xJQ1kiLCJhc3NldC5yZWZlcmVuY2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfUkVGRVJFTkNFUyIsCiJhc3NldC5zaGFyZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9TSEFSRVMiLCJhc3NldC5zb3VuZF9yZWNvcmRpbmdzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfU09VTkRfUkVDT1JESU5HUyIsImFzc2V0X2dyb3VwLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0FTU0VUUyIsImFzc2V0X2dyb3VwLmNhbXBhaWducyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0NBTVBBSUdOUyIsImFzc2V0X2dyb3VwLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfR1JPVVBfQ0xBSU1FRF9WSURFT1MiLCJhc3NldF9ncm91cC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX01FVEFEQVRBIiwic29uZy5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1NPTkdfQU5BTFlUSUNTIixjcmVhdG9yX2NoYW5uZWxfZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfREFTSEJPQVJEIiwKImNoYW5uZWwuYW5hbHl0aWNzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0FOQUxZVElDUyIsY2hhbm5lbF9hcHBlYWw6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9BUFBFQUwiLCJjaGFubmVsLmNvbW1lbnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0NPTU1FTlRTIiwiY2hhbm5lbC5jb250ZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DT05URU5UIiwiY2hhbm5lbC5jb250ZW50LnBvc3RzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QT1NUX0xJU1QiLCJjaGFubmVsLmNvbnRlbnQucHJvbW90aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUFJPTU9USU9OX0xJU1QiLCJjaGFubmVsLmNvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9DT1BZUklHSFQiLCJjaGFubmVsLmVkaXRpbmciOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfRURJVElORyIsImNoYW5uZWwubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01PTkVUSVpBVElPTiIsCiJjaGFubmVsLm11c2ljIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDIiwiY2hhbm5lbC5tdXNpY19zdG9yZWZyb250IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDX1NUT1JFRlJPTlQiLCJjaGFubmVsLnBsYXlsaXN0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9QTEFZTElTVFMiLCJjaGFubmVsLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9UUkFOU0xBVElPTlMiLCJjaGFubmVsLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9WSURFT1MiLCJjaGFubmVsLmxpdmVfc3RyZWFtaW5nIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9MSVZFX1NUUkVBTUlORyIsImRpYWxvZy5jb3B5cmlnaHRfc3RyaWtlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX0NPUFlSSUdIVF9TVFJJS0VTIiwiZGlhbG9nLnZpZGVvX2NvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1ZJREVPX0NPUFlSSUdIVCIsCiJkaWFsb2cudXBsb2FkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1VQTE9BRFMiLG93bmVyOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19EQVNIQk9BUkQiLCJvd25lci5hbGxvd2xpc3QiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTExPV0xJU1QiLCJvd25lci5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTkFMWVRJQ1MiLCJvd25lci5hcnRfdHJhY2tzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVJUX1RSQUNLUyIsIm93bmVyLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUUyIsIm93bmVyLmFzc2V0X2dyb3VwcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQUyIsIm93bmVyLmJ1bGsiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19CVUxLX0hJU1RPUlkiLCJvd25lci5jYW1wYWlnbnMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DQU1QQUlHTlMiLAoib3duZXIuY2hhbm5lbF9pbnZpdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0hBTk5FTF9JTlZJVEVTIiwib3duZXIuY2hhbm5lbHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DSEFOTkVMUyIsIm93bmVyLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0xBSU1FRF9WSURFT1MiLCJvd25lci5jbGFpbXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19NQU5VQUxfQ0xBSU1JTkciLCJvd25lci5jbGFpbXMubWFudWFsIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTUFOVUFMX0NMQUlNSU5HIiwib3duZXIuZGVsaXZlcnkiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DT05URU5UX0RFTElWRVJZIiwib3duZXIuZGVsaXZlcnlfdGVtcGxhdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfREVMSVZFUllfVEVNUExBVEVTIiwib3duZXIuaXNzdWVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfSVNTVUVTIiwKIm93bmVyLmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTElDRU5TRVMiLCJvd25lci5waXRjaF9tdXNpYyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1BJVENIX01VU0lDIiwib3duZXIucG9saWNpZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19QT0xJQ0lFUyIsIm93bmVyLnJlbGVhc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVMRUFTRVMiLCJvd25lci5yZXBvcnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVQT1JUUyIsIm93bmVyLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1ZJREVPUyIsInBsYXlsaXN0LnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUExBWUxJU1RfVklERU9fTElTVCIsInBvc3QuY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfQ09NTUVOVFMiLCJwb3N0LmVkaXQiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfRURJVCIsInByb21vdGlvbi5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QUk9NT1RJT05fRURJVCIsCiJ2aWRlby5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0FOQUxZVElDUyIsInZpZGVvLmNsYWltcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fQ0xBSU1TIiwidmlkZW8uY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0NPTU1FTlRTIiwidmlkZW8uY29weXJpZ2h0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19DT1BZUklHSFQiLCJ2aWRlby5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUIiwidmlkZW8uZWRpdG9yIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUT1IiLCJ2aWRlby5lZGl0b3JfYXN5bmMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0VESVRPUl9BU1lOQyIsInZpZGVvLmxpdmVfc2V0dGluZ3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0xJVkVfU0VUVElOR1MiLCJ2aWRlby5saXZlX3N0cmVhbWluZyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fTElWRV9TVFJFQU1JTkciLAoidmlkZW8ubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19NT05FVElaQVRJT04iLCJ2aWRlby5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX1BPTElDWSIsInZpZGVvLnJpZ2h0c19tYW5hZ2VtZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19SSUdIVFNfTUFOQUdFTUVOVCIsInZpZGVvLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fVFJBTlNMQVRJT05TIn0pO3ZhciBNUT1jbGFzcyBleHRlbmRzIG83e2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLk49bjt0aGlzLnRpbWVyPVd9fSxPbnQ9bmV3IGQzKCJhZnQtcmVjb3JkZWQiLE1RKTt2YXIgWEZ0PXthX2JpZF9mOjQ4MixhX2JpZF9zOjQ4MSxhYToyLGFhY2k6NDMzLGFhY3I6NDM0LGFiX3I6MTEsYWJfczoxMCxhYmM6NTc5LGFjOjE5MyxhY2M6NTExLGFjaTo1MTIsYWRfMF9lOjEzLGFkXzBfczoxMixhZF9ibDoxNCxhZF9pOjE1LGFkX21iczoxNixhZF9wcjo1NjIsYWRfdmk6MTcsYWRfdmlyOjE4LGFkYToxOTQsYWRiY19mOjU3NixhZGM6MTk1LGFkZmxfZjoxOSxhZGZsX3M6MjAsYWRsOjE5NixhZG5zOjE5NyxhZHNfZToyMixhZHNfczoyMSxhZmI6NTEzLGFmYzoxOTgsYWZsOjE5OSxhZnQ6MSxhaGI6NTE0LGFpOjIwMCxhaXNfYTo1MDMsYWlzX3I6NTAyLGFpc2Y6MjMsYWlzaToyNCxhaXNyOjI1LGFpc3M6MjYsYW1sOjIwMSxhcGFfYToyMDMsYXBhX2I6MjAyLGFwYnM6MjA0LGFwcF9sOjMsYXBwX3NpOjYxMixhcHBfc2llOjY2MSxhcHBkZWxfaToyNyxhcHBpX2U6NjE2LGFwcGlfczo2MTUsYXByOjIwNSxhcHJlczo0MzYsYXBzdXM6NDM1LGFyOjIwNixhcjQwazoyOCwKYXJiX2Y6NTA0LGFyYzoyMDcsYXJlcToyMDgsYXJmYjoyOSxhcmk6NCxhcnI6MjA5LGFycmg6MzAsYXNjZTo3ODgsYXNjZjo3ODksYXNjczo3ODcsYXNpc2ZiOjMxLGFzaXNyOjMyLGFzaXNyaDozMyxhc2lzczozNCxhc3I6MjEwLGFzeW5jX29yY2hfdF9hY3Q6NzEyLGFzeW5jX29yY2hfdF9ub3RpZnk6NzExLGF0cnI6NTE1LGF0cnM6NTE2LGF0dF9lOjIxMSxhdHRfZjoyMTIsYXR0X2ZjOjc5NyxhdHRfZnJyOjc5NixhdHRfZnM6NzkzLGF0dF9mc3I6Nzk1LGF0dF9wbmE6Nzk0LGF0dF9zOjIxMyxhdHRfd2I6MjE0LGF3ZmxfZjo1NTcsYXdmbF9zOjU1OCxiYXNlX2pzX3I6NDQxLGJjcDoyMTUsYmY6MjE2LGJnX2U6MjE3LGJnX2k6MjE4LGJnX2w6MjIwLGJnX3M6MjIxLGJnX3Y6MjE5LGJwZF9jOjQ4NCxicGRfczo0ODMsYnB0OjIyMyxicl9lOjM3LGJyX2xkOjM4LGJyX2xycHI6MzksYnJfbHJyOjQwLGJyX2x3bTo1NzcsYnJfcjo0MSxicl9zOjQyLGJyZXI6MzUsYnJlczozNixicm5yOjQzLApicm5zOjQ0LGJycGU6NDUsYnJwczo0NixicnJfZTo0NyxicnJfaTo0OCxicnJfaXVzOjQ5LGJzOjIyMixjX2M6NTAsY19jczo1MSxjX2NzZnM6NTIsY19kOjUzLGNfbGFmOjU5LGNfbGFzOjU4LGNfcm5mOjQzOCxjX3Juczo0MzcsY2M6NDY3LGNjX2M6NTQsY2NfY2Y6NTYsY2NfY3NhbGE6NTUsY2NfbGE6NTcsY2ZnOjIyNCxjaGxzOjIyNSxjaHBzOjIyNixjbDo0ODAsY21jOjIyNyxjbWRfaDo2MjksY21obDoyMjksY21pOjIyOCxjbWw6MjMwLGNtcDo3NzksY212OjIzMSxjcHQ6MjMyLGNyOjM2NCxjcl9lcnI6NjY5LGNyX3I6NjcwLGNyX3M6NjY4LGNzbDoyMzMsY3NyX3Q6NjMxLGN0OjUsY3RfbGk6NjAsZF9sOjYxLGRfbGFmOjYyLGRfbGFyOjYzLGRfbGFzOjY0LGRfbGY6NjUsZF9sczo2NixkX2x3OjY3LGRfbHdmOjY4LGRfbHdzOjY5LGRhc19jOjM2NixkYXNfczozNjUsZGNwOjIzNCxkZ19wYl9jOjIzNixkZ19wYl9yOjIzNyxkZ19wYl9zOjIzNSxkaGljOjIzOCxkbDoyMzksZG5zXzoyNDAsCmRybV9na19mOjM4OCxkcm1fZ2tfczozODcsZHJtX2tyX3I6MzkyLGRybV9rcl9zOjM5MSxkcm1fbmV0X3I6MzkwLGRybV9uZXRfczozODksZHJtX3BiX2Y6Mzg2LGRybV9wYl9zOjM4NSxkc19hYzo3MzYsZHNfYXM6NzM1LGRzX2NsYzo3NDAsZHNfY3M6NzM3LGRzX2RjOjczOSxkc19kczo3MzgsZW1wYTo0MzIsZW1wdTo0MzEsZW5wX2Vycjo2ODUsZW5wX2ZpOjY4NCxlbnBfc3Q6NjgzLGVvcHJfcjo2NzMsZXBfYV9wcl9yOjUzMixlcF9hX3ByX3M6NTMxLGVwX2hhdl9lbmQ6NTI2LGVwX2hhdl9zdGFydDo1MjUsZXBfaW5pdF9hcjo2OTksZXBfaW5pdF9jdWU6NjM1LGVwX2luaXRfY3VzOjYzNCxlcF9pbml0X2VwZTo2MzcsZXBfaW5pdF9lcHM6NjM2LGVwX2luaXRfaWplOjYzOSxlcF9pbml0X2lqczo2MzgsZXBfaW5pdF9wcjo1MjcsZXBfaW5pdF9yZTo2NDEsZXBfaW5pdF9yczo2NDAsZXBfaW5pdF93ZWU6NjQzLGVwX2luaXRfd2VzOjY0MixlcF9tYV9yZXByOjU0MyxlcF9tYV9ycjo1MzMsCmVwX21hX3NlcHI6NTQyLGVwX21hX3Nwcjo1MzQsZXBfcF9sOjUzMCxlcF9wcl9yOjUyOSxlcF9wcl9zOjUyOCxlcF9yX3ByZV9yOjU0MSxlcF9yX3JyOjUzNSxlcF9yX3NtYXI6NTM2LGVwX3JlY19lbmQ6NTM4LGVwX3JlY19zdGFydDo1MzcsZXBfcmVwc19lbmQ6NTQwLGVwX3JlcHNfc3RhcnQ6NTM5LGVwZTo2MTgsZXBzOjYxNyxlcl9jbDo2NTMsZXJfbnM6NjUyLGVyX3BlOjY1MCxlcl9wczo2NDksZXJfczo2NDgsZXJfc19ucjo3OTAsZXJfc19uczo3ODQsZXJfdDo2NTEsZmFiX3I6MjQ2LGZjYl9yOjUwNixmaXJlOjcwLGZpcnM6NzEsZm10aDoyNDEsZm9vdF9qczoyNDIsZnB0OjI0Myxmcl9zOjU2MSxmczoyNDQsZnNjOjI0NSxmc3NiMF9hOjc1LGZzc2IwX2ZyOjc0LGZzc2IwX25yOjczLGZzc2IwX25zOjcyLGZ0Xzo0MzksZnRsOjcsZnRyOjQ3NSxmdmJfcjoyNDcsZnZmOjI0OCxmeWRfZ2Y6NzY3LGZ5ZF9nczo3NjYsZ2NjOjI0OSxnY2ZsOjI1MCxnY3NyOjc2LGdlcF9lcnI6ODAwLApnZXBfcmVxOjc5OCxnZXBfcmVzOjc5OSxnZ3NyOjc3LGdpd2FfYTo2MjcsZ2l3YV9kOjYyOCxnbGM6NTkzLGdsZToyNTEsZ2xzOjI1MixncGU6MjUzLGdyYzoyNTQsZ3Jpd19ucjo3ODYsZ3Jpd19uczo3ODUsZ3Nfcjo3MzQsZ3Nfczo3MzMsZ3NtZDo1ODYsZ3Vfcjo2MjAsZ3Y6NDg1LGd3X2FpZXI6NzcxLGd3X2FyZjo3NzIsZ3dfYXJuYWY6Nzc1LGd3X2Fybm5hZjo3NzYsZ3dfYXJuczo3NzcsZ3dfYXJuc3U6Nzc4LGd3X2Fyczo3NzQsZ3dfYXJzdTo3NzMsZ3dfbWFhZjo2MzMsZ3dfbWFhczo2MzIsaGJmZzo2NzcsaGdjcjoyNTUsaHI6MjU2LGhyZTozNjMsaHJzOjM2MixoczozNzMsaHRtbF9mYl9yOjc1NSxodG1sX2ZlOjc0OCxodG1sX2ZzOjc0NyxodG1sX2Z3ZTo3NTIsaHRtbF9md3M6NzUxLGh0bWxfamNlOjc1NCxodG1sX2pjczo3NTMsaHRtbF9sYl9yOjc1NixodG1sX3NlOjc1MCxodG1sX3NzOjc0OSxpX3JwOjQ3NyxpX3JxOjQ3NixpcF9zOjY0NixpcGM6MjU3LGlwczoyNTgsCmlzbXBfYTo4MzYsaXNtcF9jOjgzOCxpc21wX2Q6ODM5LGlzbXBfaTo4MzUsaXNtcF9wOjg0MCxpc21wX3JjOjgzNyxpdF9ncDo3OCxpdl9zOjUwNSxqc3A6MjU5LGpzcjoyNjAsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yQ2FuY2VsbGVkOjgwMSxrWVRMYXRlbmN5TURFUHJvZHVjdFN0aWNrZXJFZGl0b3JGaW5pc2hlZDo4MDIsbDJzOjI2MSxsY19mcnI6NjYwLGxjX3Nfczo2NTksbGNfc191OjY1OCxsY3A6MjYyLGxkX3M6NDQwLGxpbToyNjMsbHBjZjoyNjQsbHBjczoyNjUsbHBzOjI2Nixsc19jOjM2OCxsc19zOjM2Nyxsc3M6MjY3LGx2OjI2OCxtYV9jbDo1NTEsbWFfZmZyOjU1MixtYV9mdWE6NTU0LG1hX2dyOjU1MyxtYV9pbDo1NzMsbWFpbjo3OSxtYWluX2pzX3I6NDQyLG1haW5fanNfcnE6NDQzLG1iX3M6NTA3LG1iYXBfYzozODQsbWJjX2FsYzo3MzIsbWJjX2FzbDo3MzEsbWJjX2M6Mzc1LG1iY19zOjM3NCxtYmdjaGlkX3JyOjc0NCxtYmdjaGlkX3JzOjc0NiwKbWJncl9yZjo2NTcsbWJncl9ycjozNzksbWJncl9yczozNzgsbWJsY19jOjM3NyxtYmxjX3M6Mzc2LG1ibGNoaWRfYzo3NDUsbWJsY2hpZF9zOjc0MyxtYmxjcmlkX2M6NzQyLG1ibGNyaWRfczo3NDEsbWJzX2M6MzgxLG1ic19ycjozODMsbWJzX3JzOjM4MixtYnNfczozODAsbWR4X2NjcDo4MCxtZHhfY2NzOjgxLG1keF9jY3N0OjgyLG1keF9jcjo4MyxtZHhfY3M6ODQsbWR4X2xzOjg1LG1keF9vZmY6ODYsbWR4X3NjOjg3LG1lX2I6NTU1LG1lX2M6Njg3LG1lX2Y6NTU2LG1lX2ZhOjY4OCxtZXN2X3M6NTA5LG1tX2llOjcyMCxtbV9pczo3MTksbXJjOjI2OSxtcnM6MjcwLG1zYToyNzEsbXN0aTo4OCxtc3RyOjg5LG5fY3Q6NzAyLG5fc3I6Njk3LG5fc3c6Njk4LCJuY1swLTldIjoyNzIsbmNsOjI3MyxuY3Q6Mjc0LG5kOjI3NSxuZG5zZToyNzYsbmRuc3M6Mjc3LCJucFswLTldIjoyNzgsbnI6Mjc5LG5yZToyODAsbnJlcXM6MjgxLG5yZXNlOjI4MixucmVzczoyODMsbnJycHM6OTAsCm5yczoyODQsbnN0Y3BzOjI4NSxudGNwZToyODYsbnRjcHM6Mjg3LG53cDoyODgsb2FkMnM6NDI1LG9hZnNfcjo0MDcsb2Fmc19ycDo0MDksb2Fpc3I6NDA1LG9hcjJzOjQxMixvYXJwMnM6NDI3LG9jc2lfejo5MSxvY3RrOjYyMSxvY3RwOjYyMixvZmFycDo0MjMsb2Zkbzo0MDAsb2Zkb3M6Mzk4LG9mcjo0MTcsb2Z2cnA6NDI0LG9nc2ZfYzozOTUsb2dzZl9zOjM5NCxvaHJfcjo3NjUsb2hyX3M6NzY0LG9sOjYsb2xfaTo4LG9sb2NfZTo4MzAsb2xvY19zYTo4Mjksb2xvY19zczo4Mjgsb21kX2M6NDIyLG9tZF9zOjQyMSxvbXBfYzo0MTksb21wX3I6NDE4LG9wZmM6NjgwLG9wcl9yOjQxNCxvcHJkX3M6NDE1LG9wcmd6Ml9lOjg0MixvcHJnejJfZjo4NDMsb3ByZ3oyX3M6ODQxLG9wcmd6X3M6Njg5LG9wcnI6NDE2LG9yMTAwazo0MTEsb3JfZmU6NDI5LG9yX2ZzOjQzMCxvcl9pOjM5Myxvcl9wOjM5NyxvcmNoX3JfZDo2OTQsb3JjaF9yX3M6Njk1LG9yY2hfdF9wbWQ6NzcwLG9yY2hfdF9wbXM6NzY5LApvcmNoX3RfdGNlZDo3MDgsb3JjaF90X3RjZXM6NzA1LG9yY2hfdF90ZDo2OTIsb3JjaF90X3RtZDo4MDQsb3JjaF90X3Rtczo4MDMsb3JjaF90X3VkOjY5MyxvcmNoX3RfdXM6Njk2LG9yZmI6NDA0LG9yaF9yOjQwMyxvcm1rOjQyMCxvcnFwYl9hOjgzMSxvcnFwYl9lOjgzNCxvcnFwYl9zOjgzMixvcnFwYl93OjgzMyxvc2RvOjQwMSxvc2RvZjo0MDIsb3Nkb3M6Mzk5LG9zb3I6Mzk2LG92ZDJzOjQyNixvdmZzX3I6NDA4LG92ZnNfcnA6NDEwLG92aXNyOjQwNixvdnIyczo0MTMsb3ZycDJzOjQyOCxwYWM6Mjg5LHBhcmk6NTE3LHBhdDoyOTAscGIwX3M6NjExLHBiX3JxX2F1dGh6OjQ0NixwYl9ycV9jdHRfY2ZtOjQ0NyxwYmNfZTo2NjMscGJjX3M6NjYyLHBiZl9jOjkyLHBicDo0ODYscGJyZXN1bWU6MjkyLHBiczo0ODcscGJ1OjI5MyxwYzo0ODgscGNjOjU0NixwY2U6NTQ3LHBjcTo1NDQscGNyOjU0NSxwY3VfYXA6ODA5LHBjdV9jZTo1ODEscGN1X2NzOjU4MCxwY3VfcmU6ODA4LHBjdV9yczo4MDcsCnBjdV9zOjgwNSxwY3Vfc2U6ODA2LHBkYToyOTQscGRjOjI5NSxwZHI6Mjk2LHBlOjI5NyxwZW1fcjo0NDQscGVtX3JxOjQ0NSxwZmplOjMwOSxwZnJyOjMwNSxwZnJzOjMwNixwZnM6MzA3LHBmdDozMDgscGZ0X2k6OTMscGxfYzoyOTEscGxfaTo0ODkscGxfaW50OjQ5MCxwbF9yOjQ5MSxwbF9yYzo3MDMscGxfczo0OTIscGxfc3M6NDkzLHBsZXY6MzEwLHBsanNfcjo0NDgscGxqc19ycTo0NDkscGx2czo3MjMscG90X2FmOjk3LHBvdF9hczo5Nixwb3RfY21lOjU2OSxwb3RfY21mOjI5OSxwb3RfY21zOjI5OCxwb3RfY3NtZTo1NzAscG90X2NzbWY6MzAxLHBvdF9jc21zOjMwMCxwb3RfaWY6MzA0LHBvdF9pbml0Zjo5NSxwb3RfaXNjOjMwMixwb3RfaXN0OjMwMyxwb3Rfc2U6NTY1LHBvdF9zZjo1NjQscG90X3NzOjU2Myxwb3RfeGU6NTY4LHBvdF94Zjo1NjcscG90X3hzOjU2Nixwb3RwZTo5NCxwcHU6OTgscHJvY19rOjYxMyxwcm9jX2tfbDo2MTQscHM6MzExLHBzX2JzOjY0Nyxwc19jOjQ5NCwKcHNfZXM6OTkscHNfcGE6NjgxLHBzX3BpaGY6NTk3LHBzX3BpaHM6NTk2LHBzX3I6MzYwLHBzX3M6MzYxLHBzX3NnZjo1OTUscHNfc2dzOjU5NCxwc25yOjQ5NSxwc25zOjQ5Nixwc3BlOjEwMCxwc3BzOjEwMSxwdF9tZTo4MTUscHRfbWY6ODE0LHB0X21zOjgxMyxwdF9waWU6ODEyLHB0X3BpZjo4MTEscHRfcGlzOjgxMCxwdF9waXNoOjYwNixwdnJpOjUxOCxwd2M6MzEyLHFvZXM6MzEzLHJfY19zbGQ6NDUwLHJfY19zcnE6NDUxLHJfY29ubmVjdF9iYWNrZW5kOjQ1MixyX2Nvbm5lY3RfYmFja2VuZF9zdWNjZXNzOjQ1MyxyX2Nvbm5lY3RlZDo0NTQscl9jb25zdHJ1Y3Rpb246NDU1LHJfZGlzY29ubmVjdGVkOjQ1NixyX2ViaTo2NjQscl9lb2Q6NTg1LHJfZjo0NTcscl9vcjo3MTMscl9wbDoxMDUscl9wczoxMDYscl9ycV9wbHk6NDU4LHJfc19wbHlsc3Q6NDU5LHJfc192aWQ6NDYwLHJfc3RhdHVzX3VwZGF0ZTo0NjEscl90cjoxMDcscl92dGM6MTA0LHJfd2lwYmM6NTg0LHJfd25yOjc5MiwKcl93bnM6NzkxLHJfd3JyOjEwMyxyX3dyczoxMDIscl93c3JwOjYwOSxyX3dzcnI6NjA4LHJfd3Nyczo2MDcscmN2XzozMTQscmVtb3ZlX3NwbGFzaDo0NjIscmVxXzozMTUscmZnOjMxNixyZ3JfbnJmOjYwMCxyZ3Jfczo1OTkscnBlOjgxNixycGx5X3JxZDo0NjMscnBzOjgxNyxyc19zOjUwOCxyc2FlX3BjOjMzMixyc2FlX3BlajozMzQscnNhZV9wajozMzMscnNiZV9wYzozMjMscnNiZV9wZWo6MzI1LHJzYmVfcGo6MzI0LHJzZV9wYzozMjAscnNlX3BlajozMjIscnNlX3BqOjMyMSxyc2VmX3BjOjMyOSxyc2VmX3BlajozMzEscnNlZl9wajozMzAscnNlc19wYzozMjYscnNlc19wZWo6MzI4LHJzZXNfcGo6MzI3LHJzZl9wYzozMTcscnNmX3BlajozMTkscnNmX3BqOjMxOCxydGltZV86MzM1LHJ1cmxfZToxMDgscnVybF9yOjEwOSxydXJsX3M6MTEwLHJ1cmxwZToxMTEscnVybHBzOjExMixzM3Rfcjo0NzIsc2FfZjo2MjQsc2FfZm86NjI1LHNhX3M6NjIzLHNhZl9mcDo2NjUsc2FmX3I6NjY2LApzYWZfcmU6NjY3LHNhc19pOjYyNixzY2dhdF9mZnM6NTYwLHNjZ2F0X2ZzOjU1OSxzZGFfZjo2MDUsc2RhX2k6NjA0LHNkYV9yZWNwOjYwMSxzZGFfcnNwcDo2MDMsc2RhX3JzcHI6NjAyLHNkbF9lOjY1NSxzZGxfczo2NTQsc2RsX3Q6NjU2LHNmX2k6MTEzLHNnc2Nfcjo3ODEsc2dzY19zOjc4MCxzaG93X2NhbGxfdG9fY2FzdDo0NjQsc2hyYl9jOjE2NSxzaHJvX2M6MTcwLHNocm9fcjoxNjcsc2hycF9jOjE2OSxzaHJwX2xkOjE2NixzaHJwX3A6MTY4LHNvX3I6MTE5LHNvX3JlOjExOCxzb19ycToxMjAsc3BhOjExNCxzcGQ6MTE1LHNwZjoxMTYsc3Bucl9oOjY3MixzcG5yX3M6NjcxLHNwcjo2Nzgsc3JfZToxMTcsc3JfcDoxMjEsc3JfcGE6MTIyLHNyX3I6MTIzLHNyX3JlOjEyNCxzcl9zOjEyNSxzcl91aToxMjYsc3J0OjMzNixzc19yOjQ2OSxzc19zOjQ2OCxzc19zZl9zOjcyNCxzc19zZl93OjcyNSxzc25yOjEyNyxzc25zOjEyOCxzdGNwXzozMzcsc3RlX2FsZjo1ODksc3RlX2M6NTkyLApzdGVfZWxmOjU5MCxzdGVfZjo1OTEsc3RlX2Z0bDo1ODgsc3RlX2w6NTg3LHN0dHNfYjo1ODIsc3R0c19mOjU4MyxzdHZzX2Y6NjkxLHN0dnNfczo2OTAsc3ZlOjQ2NixzdnM6NDY1LHN3X2ZiOjUxMCxzd19pOjc4Myxzd19yOjQ5Nyxzd19zOjQ5OCxzd3Nucjo4MTksc3dzbnM6ODE4LHN3c3BlOjgyMSxzd3Nwczo4MjAsdGNwXzozMzgsdGVueF9sOjQ3MSx0ZW54X3I6NDcwLHRoMF9oOjYxMCx0aDBfbmM6Njc1LHRoMF9uZTo2NzYsdGgwX25yOjEyOSx0aDBfbnM6Njc0LHRoX2NfMTo3MDksdGhfZF8xOjcxMCx0aF9sXzE6MTMwLHRoX3NfMTo1NzgsdGhzYjBfZnI6MTM0LHRoc2IwX25lOjEzMSx0aHNiMF9ucjoxMzIsdGhzYjBfbnM6MTMzLHR0YzozMzksdHRjcjozNDAsdWlfbDoxMzUsdWliZl9jOjE0MSx1aWJmX3I6MTQzLHVpYmZfczoxNDIsdWlzZl9yOjE0NCx1aXd3YV9iYzo2MTksdWl3d2FfYzoxMzYsdWl3d2FfZToxNDAsdWl3d2FfcHI6MTM5LHVpd3dhX3I6MTM4LHVpd3dhX3M6MTM3LAp1bHJzX2M6MzcwLHVscnNfczozNjksdW5rbm93bjowLHVyOjM0MSx2Yzo2ODIsdmNjOjUxOSx2Y2k6NTIwLHZkYTozNDIsdmRldWM6MzQzLHZkZXVyOjM0NCx2ZGV1czozNDUsdmRuczozNDYsdmZiOjUyMSx2ZnA6MzQ3LHZoYjo1MjIsdmlyOjM0OCx2aXJjOjM0OSx2aXNfYTo1MDAsdmlzX3I6NDk5LHZpc2Y6MTQ1LHZpc2k6MTQ2LHZpc3I6MTQ3LHZpc3M6MTQ4LHZvel9jeDoxNzksdm96X2VvdToxODcsdm96X2VycjoxODQsdm96X2Vycl9tczoxODAsdm96X2Vycl9ubXA6MTgxLHZvel9lcnJfb2ZmOjE4Myx2b3pfZXJyX3VhcjoxODIsdm96X2Z0cjoxODgsdm96X2Z2YzoxODksdm96X2xyX2xzbzoxODUsdm96X2xyX21kOjE4Nix2b3pfbWY6MTcyLHZvel9tczoxNzEsdm96X3JxZjoxNzQsdm96X3JxczoxNzMsdm96X3NmOjE3OCx2b3pfc3M6MTc3LHZvel92cDoxNzUsdm96X3Z0OjE3Nix2cGw6MzUwLHZyOjM1MSx2cjEwMGs6MTQ5LHZyYl9mOjUwMSx2cmM6MzUyLHZyZXE6MzUzLHZyZmI6MTUwLAp2cmk6OSx2cnI6MzU0LHZycl9yOjQ3NCx2cnJfczo0NzMsdnJyaDoxNTEsdnNpc2ZiOjE1Mix2c2lzcjoxNTMsdnNpc3JoOjE1NCx2c2lzczoxNTUsdnRhOjM1NSx2dHJyOjUyMyx2dHJzOjUyNCx3X3N0OjE1Nix3YXNtX2ZhOjgyNix3YXNtX2ZlcnI6ODI3LHdhc21fZnc6ODI1LHdhc21fczo4MjQsd2M6MzcyLHdjcjozNTYsd2ViZmVfZTo3Mjgsd2ViZmVfZ2JtX3I6NzU4LHdlYmZlX2dibV9zOjc1Nyx3ZWJmZV9nbF9yOjc2Mix3ZWJmZV9nbF9zOjc2MSx3ZWJmZV9nc19yOjc2MCx3ZWJmZV9nc19zOjc1OSx3ZWJmZV9ndXNfcjo3MzAsd2ViZmVfZ3VzX3M6NzI5LHdlYmZlX2d2bV9zOjc2Myx3ZWJmZV9zOjcyNyx3ZmZlOjM1Nyx3ZmZzOjM1OCx3Zmc6MzU5LHduX2U6MTYyLHduX2w6MzcxLHduX3I6MTU5LHduX3JwOjQ3OCx3bl9zOjE2MCx3bl9zbDoxNjEsd25sOjE1OCx3bmxfZDo4MjMsd25sX21wOjU3MSx3bmxfcGQ6ODIyLHdubHI6NTcyLHdubHM6MTU3LHducGU6MTYzLHducHM6MTY0LAp3cDo0Nzksd3NfY2U6MTkwLHdzX3NzOjE5MSx3c19zc3I6MTkyLHljZWM6NTQ5LHljZWY6NTQ4LHljZnRyOjY0NSx5Y2lmOjU1MCx5Y21zZjo2NDQseWNyYzo3MTgseWNyZjo3MTcseWNyczo3MTQseWNyc2M6NzE1LHljcnVlYTo3MTZ9O3ZhciBtcT1nLnFpLnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtnLkdiKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsbXEpO3ZhciBQYj1nLnFpLnl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzX3x8e307Zy5HYigieXRMb2dnaW5nTGF0ZW5jeVVzYWdlU3RhdHNfIixQYik7CnZhciBLQj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj0wfXRpY2sobixXLEQsYil7Wk0odGhpcyxgdGlja18ke259XyR7V31gKXx8KEQ9e3RpbWVzdGFtcDpELGN0dEF1dGhJbmZvOmJ9LFc9e3RpY2tOYW1lOm4sY2xpZW50QWN0aW9uTm9uY2U6V30sZy5sKCJ5b3V0dWJlX3dlYl9jc2lfdGlja3NfbWlncmF0aW9uIikmJihuPVhGdFtuXSxuIT09dm9pZCAwJiYoVy50aWNrPW4sZGVsZXRlIFcudGlja05hbWUpKSxnLnpVKCJsYXRlbmN5QWN0aW9uVGlja2VkIixXLEQpKX1pbmZvKG4sVyxEKXt2YXIgYj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtaTSh0aGlzLGBpbmZvXyR7Yn1fJHtXfWApfHwobj1PYmplY3QuYXNzaWduKHt9LG4pLG4uY2xpZW50QWN0aW9uTm9uY2U9VyxnLnpVKCJsYXRlbmN5QWN0aW9uSW5mbyIsbix7Y3R0QXV0aEluZm86RH0pKX1qc3BiSW5mbyhuLFcsRCl7dmFyIGI9IiI7Zm9yKGxldCB2PTA7djxZdihuKS5sZW5ndGg7disrKVl2KG4pW3ZdIT09dm9pZCAwJiYKKGI9dj09PTA/Yi5jb25jYXQoYCR7dn1gKTpiLmNvbmNhdChgXyR7dn1gKSk7Wk0odGhpcyxgaW5mb18ke2J9XyR7V31gKXx8KGcuU0UobiwyLFcpLFc9e2N0dEF1dGhJbmZvOkR9LEQ9Zy5sKCJqc3BiX3NwYXJzZV9lbmNvZGVkX3Bpdm90Iik/bmV3IFp2KFt7fV0pOm5ldyBadixyZShELFVrciw3LHlZMSxuKSxmMmooRCxXKSl9c3BhbihuLFcsRCxiKXt2YXIgdj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtpZihifHwhWk0odGhpcyxgc3Bhbl8ke3Z9XyR7V31gKSluLmNsaWVudEFjdGlvbk5vbmNlPVcsZy56VSgibGF0ZW5jeUFjdGlvblNwYW4iLG4se2N0dEF1dGhJbmZvOkR9KX19O3ZhciBaWj13aW5kb3cscWtyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy50aW1pbmc9e307dGhpcy5jbGVhclJlc291cmNlVGltaW5ncz0oKT0+e307CnRoaXMud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9Owp0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5tc0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5vQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9fX0sVUg9WloucGVyZm9ybWFuY2V8fFpaLm1velBlcmZvcm1hbmNlfHxaWi5tc1BlcmZvcm1hbmNlfHxaWi53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IHFrcjt2YXIgd2I9ITEsbCQ9ITEsUXY9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9InBsYXllci93d3ctcGxheWVyIl0nOiJwYyIsJ3NjcmlwdFtuYW1lPSJkZXNrdG9wX3BvbHltZXIvZGVza3RvcF9wb2x5bWVyIl0nOiJkcGoiLCdsaW5rW3JlbD0iaW1wb3J0Il1bbmFtZT0iZGVza3RvcF9wb2x5bWVyIl0nOiJkcGgiLCdzY3JpcHRbbmFtZT0ibW9iaWxlLWMzIl0nOiJtY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1jMyJdJzoibWNjIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXBob25lL2Jhc2UiXSc6Im1jcHBqIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXRhYmxldC9iYXNlIl0nOiJtY3B0aiIsCidsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX2NzcyJdJzoibWJjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX2luX3VzZXJzX21vZCJdJzoibWJsaXVqIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX291dF91c2Vyc19tb2QiXSc6Im1ibG91aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX25vbmNvcmVfbW9kIl0nOiJtYm5qIiwiI3BsYXllcl9jc3MiOiJtYnBjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfZGVza3RvcHBsYXllcl9tb2QiXSc6Im1icGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZV9ibGF6ZXJfdGFibGV0X2NzcyJdJzoibWJ0YyIsCidzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSxabmk9KDAsZy5LdCkoVUguY2xlYXJSZXNvdXJjZVRpbWluZ3N8fFVILndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzfHxVSC5tb3pDbGVhclJlc291cmNlVGltaW5nc3x8VUgubXNDbGVhclJlc291cmNlVGltaW5nc3x8VUgub0NsZWFyUmVzb3VyY2VUaW1pbmdzfHxnLkZULFVIKTt2YXIgVUM9d2luZG93O1VDLnl0Y3NpJiYoVUMueXRjc2kuaW5mb0dlbD1nLm5sLFVDLnl0Y3NpLnRpY2s9Zy5hTCk7dmFyIG85aj1bInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuQnJvd3NlUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBsYXllclJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QYW5lbFJlc3BvbnNlIl0sWDc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLmo9bjt0aGlzLnlHPVc7dGhpcy5XPUQ7dGhpcy5YPWI7dGhpcy5KPXY7dGhpcy5OPW5ldyBNYXA7bi53ZHx8KG4ud2Q9e30pO24ud2Q9ey4uLmdnMSwuLi5uLndkfX19O3ZhciBhOD1uZXcgZy5BTCgiSU5ORVJUVUJFX1RSQU5TUE9SVF9UT0tFTiIpLFZXPW5ldyBnLkFMKCJSRVNQT05TRV9QUk9DRVNTT1JfTUFQX1RPS0VOIik7dmFyIE1hPW5ldyBnLkFMKCJFTkRQT0lOVF9NQVAiKTt2YXIgeVg9Y2xhc3N7fTt2YXIgTnI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPSJwZW5kaW5nIjt0aGlzLko9W107dGhpcy5XPVtdO3RyeXtuKHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpfWNhdGNoKFcpe3RoaXMucmVqZWN0KFcpfX1zdGF0ZSgpe3JldHVybiB0aGlzLk49PT0iZnVsZmlsbGVkIj97c3RhdGU6ImZ1bGZpbGxlZCIsdmFsdWU6dGhpcy5yZXN1bHR9OnRoaXMuTj09PSJyZWplY3RlZCI/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fVgobil7WW8obil8fFlEKG4pP1NrKEhQKG4pLHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLk49ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9bixtRSh0aGlzKSl9cmVqZWN0KG4pe3RoaXMuTj0icmVqZWN0ZWQiO3RoaXMuZXJyb3I9bjttRSh0aGlzKX19LFlEPXEzKG49PmtDeChuKT9uIGluc3RhbmNlb2YgTnI6ITEpO3ZhciBjZT1uZXcgZy5BTCgiQVVUSF9TRVJWSUNFX1RPS0VOIik7dmFyIHVkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIEQ9bi55dFJlcXVlc3Q7Zy5SVShELmlucHV0KTt2YXIgYj1ELlBpPy5tb2RlPT09ImNvcnMiPyJjb3JzIjp2b2lkIDA7aWYoVy5OLnNCKXt2YXIgdj1ELmNvbmZpZzt2PVcuTi5haih2Py5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6dj8uQkc/LnNlc3Npb25JbmRleH0pO2I9ey4uLmtWKGIpLC4uLnZ9fWVsc2UgYj15aWVsZCpQUChNRXcoVyxELmNvbmZpZyxiKSk7RC5QaT17Li4uRC5QaSxoZWFkZXJzOnsuLi4oRC5QaT8uaGVhZGVycz8/e30pLC4uLmJ9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczpufX0oKX0pfX07CnVkW2cuTFhdPVtjZV07dmFyIGFqPW5ldyBnLkFMKCJSRVNQT05TRV9NQUNISU5FX1JFR0lTVFJZX1RPS0VOIiksblI9bmV3IGcuQUwoIlJFU1BPTlNFX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpO3ZhciBCZT1uZXcgZy5BTCgiRVBIRU1FUkFMX1NUT1JFX1RPS0VOIik7dmFyIG9qPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuTj1uO3RoaXMuSj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5KLEQ9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9Yi5jb25maWc/LkhuPy5STDtpZih2JiZXJiZXLmhhcyh2KSYmIWIuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz15aWVsZCpQUChIUChXLmdldCh2KSkpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGcubCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFrLmlzUHJvY2Vzc2VkKCk/KGs9RCgpLGI9eWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOmIseXRSZXF1ZXN0Om4ueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmJ9KSksCnlpZWxkKlBQKEhQKHRlKFcsdikpKSx7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpifSk6e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Yn19cmV0dXJue25leHRTdGF0ZToiTE9DQUxfUk9VVEVSIixwYXJhbXM6bn19KCl9KX19OwpvaltnLkxYXT1bblIsZy5ocChCZSldO3ZhciBkXz1jbGFzcyBleHRlbmRzIHlYe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLko9bjt0aGlzLk49V31leGVjdXRlKG4pe3ZhciBXPXRoaXMuSixEPXRoaXMuTixiPW4ueXRSZXF1ZXN0LHY9Yj8uaW5uZXJUdWJlUmVxdWVzdD8uY29udGV4dDtpZighdilyZXR1cm4gSFAoe25leHRTdGF0ZToiQVVUSCIscGFyYW1zOm59KTt2YXIgaz1bXTtpZihEJiZELmxlbmd0aD4wKWZvcihsZXQgaCBvZiBEKUQ9aC5CcyhiKSxELk4mJmsucHVzaChELk4pO2ZvcihsZXQgaCBvZiBXfHxbXSloLkJzKHYpO3JldHVybiBrLmxlbmd0aD4wP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7eWllbGQqUFAoSFAoUHJvbWlzZS5hbGwoaykpKTtyZXR1cm57bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6bn19KCl9KTpIUCh7bmV4dFN0YXRlOiJBVVRIIiwKcGFyYW1zOm59KX19O2RfW2cuTFhdPVtnLmhwKG5ldyBnLkFMKCJDT05URVhUX1BST0NFU1NPUl9NQVAiKSksZy5ocChuZXcgZy5BTCgiQVNZTkNfQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpXTt2YXIgelc9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuTj1ufWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBEPW4ueXRSZXF1ZXN0LmNvbmZpZz8ucmVxdWVzdEtleTtyZXR1cm4gRCYmVy5oYXMoRCkmJihEPVcuZ2V0KEQpLEQ9eWllbGQqUFAoSFAoRCkpKT97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpEfTp7bmV4dFN0YXRlOiJGRVRDSCIscGFyYW1zOm59fSgpfSl9fTsKeldbZy5MWF09W2lkXTt2YXIgR3h0PW5ldyBnLkFMKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIGxkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuSj1uO3RoaXMuTj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OLEQ9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9bi5jaHVua0NhbGxiYWNrLGs9e3R5cGU6IlBBR0VfQ09OVFJBQ1QifTtpZihXPy5yNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpe2xldCB4PXlpZWxkKlBQKEhQKFcuWVIoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpKSk7aWYoeCl7bGV0IEw9ITE7dmFyIGg9ZnVuY3Rpb24oZSxHKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHI9RCgpO3lpZWxkKlBQKHlxKHIse3dpcmVSZXNwb25zZTpHLHl0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6dixyZXNwb25zZVBheWxvYWQ6a30pKTtMPSEwfSgpfTsKeC5wbGF5ZXJSZXNwb25zZSYmKHlpZWxkKmgoeC5wbGF5ZXJSZXNwb25zZSx7cGxheWVyUmVzcG9uc2U6eC5wbGF5ZXJSZXNwb25zZX0pKTt4LndhdGNoTmV4dFJlc3BvbnNlJiYoeWllbGQqaCh4LndhdGNoTmV4dFJlc3BvbnNlLHt3YXRjaE5leHRSZXNwb25zZTp4LndhdGNoTmV4dFJlc3BvbnNlfSkpO0x8fChoPUQoKSx5aWVsZCpQUCh5cShoLHt3aXJlUmVzcG9uc2U6eCx5dFJlcXVlc3Q6YixjaHVua0NhbGxiYWNrOnYscmVzcG9uc2VQYXlsb2FkOmt9KSkpO2lmKHYpcmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6a307aD1rLmNvbnRlbnR8fGsucGxheWVyfHxrLnlCO3JldHVybiBrLnR5cGU9PT0iUEFHRV9DT05UUkFDVCImJmg/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aH06e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6eH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkZhbGxiYWNrTm9kZSBmYWlsZWQgdG8gcHJvZHVjZSBhIHZhbGlkIHJlc3BvbnNlIil9fSgpfSl9fTsKbGRbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIEVDPWNsYXNzIGV4dGVuZHMgZy5ReHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoVyx7c3RhdHVzOkQsLi4uW119KTt0aGlzLnR5cGU9bjt0aGlzLnN0YXR1cz1EO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBsQj1uZXcgZy5BTCgiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFRXPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXLEQsYil7c3VwZXIoKTt0aGlzLnlHPW47dGhpcy5OPVc7dGhpcy5XPUQ7dGhpcy5KPWJ9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLnlHLEQ9dGhpcy5OLGI9dGhpcy5XLHY9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBrPW4ueXRSZXF1ZXN0LGg9bi5jaHVua0NhbGxiYWNrLHg9ay5jb25maWc/LnJlcXVlc3RLZXksTD1KU09OLnN0cmluZ2lmeShrLmlubmVyVHViZVJlcXVlc3QpLGU9ey4uLmsuUGksYm9keTprLlBpLm1ldGhvZD09PSJQT1NUIj9MOnZvaWQgMH07ay5jb25maWc/LkxhJiZnLmFMKGsuY29uZmlnLkxhKTt2YXIgRz17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHI9MCxOPXk9PntFbyhiKCkse3dpcmVSZXNwb25zZTp5LHl0UmVxdWVzdDprLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6R30scisrKX07Ckw9KCk9Pmg/Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcsTik6Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcpOwp0cnl7dmFyIEg9dj92LlFOKGssTCk6TCgpfWNhdGNoKHkpe0g9UHJvbWlzZS5yZWplY3QoeSl9eCYmRCYmRC5zZXQoeCxIKTt0cnl7dmFyIEE9eWllbGQqUFAoSFAoSCkpfWNhdGNoKHkpe3JldHVybiBnLmwoIndlYl9lbmFibGVfcmV0cmllcyIpJiYoQT15IGluc3RhbmNlb2YgVHlwZUVycm9yJiZ5Lm1lc3NhZ2U9PT0iRmFpbGVkIHRvIGZldGNoIj8xOjAsVW8oQSkpP3tuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLm4sZXJyb3I6bmV3IEVDKEEseS5tZXNzYWdlKSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTp7bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX19eCYmRCYmRC5kZWxldGUoeCk7ZWsoeEQoay5pbnB1dCkpKCk7ay5jb25maWc/LlJWJiZnLmFMKGsuY29uZmlnLlJWKTtpZighQSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX07aWYoQSYmdHlwZW9mIEE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoQSkmJih4PUEseC5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJgooeD14LmVycm9yTWV0YWRhdGEuc3RhdHVzLEg9eD09PTUwM3x8eD09PTUwNHx8eD09PTQyOT8yOng+PTQwMCYmeDw1MDB8fHg+PTUwMD8zOjAsVW8oSCkmJmcubCgid2ViX2VuYWJsZV9yZXRyaWVzIikpKSlyZXR1cm57bmV4dFN0YXRlOiJSRVRSWSIscGFyYW1zOnsuLi5uLGVycm9yOm5ldyBFQyhILGBIVFRQIFN0YXR1cyAke3h9YCx4KSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTshaCYmQSYmKHg9YigpLHg9eWllbGQqUFAoRW8oeCx7d2lyZVJlc3BvbnNlOkEseXRSZXF1ZXN0OmsscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn19KSksSD14LmNvbnRlbnR8fHgucGxheWVyfHx4LnlCLHgudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmSCYmKEE9SCkpO3g9QTtpZihBcnJheS5pc0FycmF5KEEpKWlmKEE9QS5maWx0ZXIoeT0+ISh5LnBsYXllclJlc3BvbnNlfHx5LndhdGNoTmV4dFJlc3BvbnNlfHx5KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLEEubGVuZ3RoPT09CjEpeD1BWzBdOwplbHNlIGlmKEEubGVuZ3RoPjEpeD1BLmZpbmQoeT0+eS53YXRjaE5leHRSZXNwb25zZSl8fEFbMF07CmVsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmV0Y2hOb2RlIHByb2R1Y2VkIG9ubHkgZnJhbWV3b3JrLW9ubHkgcmVzcG9uc2VzIil9O3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmgmJiFnLmwoIndlYl9ubV9mZXRjaF9jaHVua19jYWxsYmFja19rcyIpP0c6eH19KCl9KX19OwpUV1tnLkxYXT1bbEIsaWQsblIsZy5ocChuZXcgZy5BTCgiUkVRVUVTVF9TRVFVRU5DSU5HIikpXTt2YXIgams9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKCk7dGhpcy5KPW47dGhpcy5OPVd9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLk4sRD10aGlzLkosYj1uLnl0UmVxdWVzdDtyZXR1cm4gVz8uckEoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHY9eWllbGQqUFAoSFAoVy5zNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpKTt2YXIgaz1EKCk7di5wbGF5ZXJSZXNwb25zZSYmdi53YXRjaE5leHRSZXNwb25zZT8oeWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTp2LnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6bi55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazpuLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6di5wbGF5ZXJSZXNwb25zZX0pKSxrPXlpZWxkKlBQKHlxKGssCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOnYud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2LndhdGNoTmV4dFJlc3BvbnNlfSkpKTprPXlpZWxkKlBQKHlxKGsse3dpcmVSZXNwb25zZTp2LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2fSkpO3ZhciBoPWsuY29udGVudHx8ay5wbGF5ZXJ8fGsueUI7ay50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZoJiYodj1oKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTp2fX0oKX0pOkhQKHtuZXh0U3RhdGU6IkNPTlRFWFQiLApwYXJhbXM6bn0pfX07amtbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIENsPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dHJ5e3ZhciBEPXlpZWxkKlBQKFZFMihXLG4uY29tbWFuZCwhIW4uY2h1bmtDYWxsYmFjaykpfWNhdGNoKGIpe3JldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6Yn19cmV0dXJuKEQ9RC5EKG4uY29tbWFuZCxuLmZvcm0sbi5pZGVudGl0eSkpP3tuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDpELGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrfX06e25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmFpbGVkIHRvIGJ1aWxkIHJlcXVlc3QgZm9yIGNvbW1hbmQiKX19KCl9KX19OwpDbFtnLkxYXT1bTWFdO3ZhciBCUD1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OlcsYXBpUGF0aDpELGNsaWNrVHJhY2tpbmdQYXJhbXM6Yixjb25maWc6dj17Qkc6e2lkZW50aXR5OnU5fX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTprPSEwLGNodW5rQ2FsbGJhY2s6aH09bjtXLmNvbnRleHR8fChXLmNvbnRleHQ9Zy52YihiLGspKTt2YXIgeD1acihLJChEKSk7cmV0dXJue25leHRTdGF0ZToiQ0FDSEUiLHBhcmFtczp7eXRSZXF1ZXN0OntpbnB1dDp4LFBpOlV6KHgpLGlubmVyVHViZVJlcXVlc3Q6Vyxjb25maWc6dn0sY2h1bmtDYWxsYmFjazpofX19KCl9KX19O3ZhciB0NE09Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50ZT1ufXJ1bihuLFcpe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBiPW4sdj1XLGs9W107Oyl7ay5wdXNoKFN0cmluZyhiKSk7dj15aWVsZCpQUChELnRlW2JdLmV4ZWN1dGUodikpO2lmKHYubmV4dFN0YXRlPT09IkRPTkUiKXJldHVybiBrLnB1c2goIkRPTkUiKSx2LnZhbHVlO2lmKHYubmV4dFN0YXRlPT09IkZBSUxFRCIpdGhyb3cgay5wdXNoKGBGQUlMRUQoJHt2LmVycm9yLm1lc3NhZ2V8fCJlcnJvciJ9KWApLHYuZXJyb3I7Yj12Lm5leHRTdGF0ZTt2PXYucGFyYW1zfX0oKX0pfX07Zy5Ncj1jbGFzcyBleHRlbmRzIHQ0TXt9O2cuTXIucHJvdG90eXBlLkQ9V1ooMSk7Zy5NcltnLkxYXT1bd19dO3ZhciBGNz1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIFc9bi55dFJlcXVlc3QsRD1uLmVycm9yLGI9bi5hdHRlbXB0LHY9bi5jaHVua0NhbGxiYWNrLGs9Vy5jb25maWc/Llh4O2lmKCEoayYmRCBpbnN0YW5jZW9mIEVDJiZVbyhELnR5cGUpKXx8Yj4oay5tYXhSZXRyaWVzPz8wKSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnt5dFJlcXVlc3Q6VyxjaHVua0NhbGxiYWNrOnZ9fTt2YXIgaD0oRD1rLmtVKT9ELlBaKGIpOi0xO2g9PT0tMSYmKGg9MUUzKTtrLlQ2IT09dm9pZCAwJiYoaD1NYXRoLm1pbihoLGsuVDYpKTt5aWVsZCpQUChIUChuZXcgUHJvbWlzZSh4PT57Zy5WeCgwLHgsNCxoKX0pKSk7CnJldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpXLGNodW5rQ2FsbGJhY2s6dixhdHRlbXB0OmJ9fX0oKX0pfX07dmFyIFJqPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLmNodW5rQ2FsbGJhY2ssRD1uLnJlc3BvbnNlUGF5bG9hZCxiPW4ud2lyZVJlc3BvbnNlO1cmJihXKEQpLCJwbGF5ZXJSZXNwb25zZSJpbiBiJiZiLnBsYXllclJlc3BvbnNlJiYoZy5EeSgpLGJRKDQpKSk7cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6RH19KCl9KX19O3ZhciAkejI9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLFFxPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLm9uZVBsYXRmb3JtRXJyb3I7aWYoVyYmImRldGFpbHMiaW4gVyYmVy5kZXRhaWxzKXtXPVcuZGV0YWlscztmb3IobGV0IEQgb2YgVylpZigoVz1EWyJAdHlwZSJdKSYmJHoyLmluZGV4T2YoVyk+LTEpcmV0dXJuIGRlbGV0ZSBEWyJAdHlwZSJdLHtuZXh0U3RhdGU6IlBST0NFU1NfUkVTUE9OU0UiLApwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkVycm9yIHJlc3BvbnNlIGNvdWxkIG5vdCBiZSB1bnBhY2tlZCIpfX0oKX0pfX07dmFyIFZxPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3ZhciBXPXRoaXMuTjtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgRD1uLmV4dHJhY3RlZFJlc3BvbnNlLGI9bi55dFJlcXVlc3Qsdj1uLnJlc3BvbnNlUGF5bG9hZCxrPW4ud2lyZVJlc3BvbnNlO2lmKEQmJiEoImNvZGUiaW4gRHx8ImVycm9yImluIEQpJiYhRC5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2Ygc28pV1toXSYmV1toXS5oYW5kbGVSZXNwb25zZShELGIpO2sud2F0Y2hOZXh0UmVzcG9uc2V8fGsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2sud2F0Y2hOZXh0UmVzcG9uc2U/di5jb250ZW50PWsud2F0Y2hOZXh0UmVzcG9uc2U6di5jb250ZW50PWsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2U/di5wbGF5ZXI9ay5wbGF5ZXJSZXNwb25zZTprLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CnYueUI9ay5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOnYuY29udGVudD1rO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczpufX0oKX0pfX07ClZxW2cuTFhdPVtWV107dmFyIFdHPWNsYXNzIGV4dGVuZHMgdDRNe307V0dbZy5MWF09W2FqXTt2YXIgY1A9Y2xhc3MgZXh0ZW5kcyB5WHtleGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBXPW4ud2lyZVJlc3BvbnNlLEQ7QXJyYXkuaXNBcnJheShXKT9EPVdbMF06dHlwZW9mIFc9PT0ib2JqZWN0IiYmVyE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gV3x8IndhdGNoTmV4dFJlc3BvbnNlImluIFd8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gV3x8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gVyk/RD1XLnBsYXllclJlc3BvbnNlfHxXLndhdGNoTmV4dFJlc3BvbnNlfHxXLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Vy5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOkQ9VztyZXR1cm4gRCYmImVycm9yImluIEQ/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4ubixvbmVQbGF0Zm9ybUVycm9yOkQuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fSgpfSl9fTt2YXIgUEd4PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBDOGJ9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixMdTEpfHx2b2lkIDB9SihuLFcsRD17fSl7Vy5jaGFubmVsSWRzJiYobi5jaGFubmVsSWRzPVcuY2hhbm5lbElkcyk7Vy5zaWxvTmFtZSYmKG4uc2lsb05hbWU9Vy5zaWxvTmFtZSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7RC5ib3RndWFyZFJlc3BvbnNlJiYobi5ib3RndWFyZFJlc3BvbnNlPUQuYm90Z3VhcmRSZXNwb25zZSk7RC5mZWF0dXJlJiYobi5jbGllbnRGZWF0dXJlPUQuZmVhdHVyZSl9fTt2YXIgWmh0PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBCeWl9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixoblUpfHx2b2lkIDB9SihuLFcpe1cuY2hhbm5lbElkcyYmKG4uY2hhbm5lbElkcz1XLmNoYW5uZWxJZHMpO1cuc2lsb05hbWUmJihuLnNpbG9OYW1lPVcuc2lsb05hbWUpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpfX07dmFyIFI4PWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNKPW59Vygpe3JldHVybiBkJFN9TihuKXtyZXR1cm4gZy53KG4sdXhDKXx8Zy53KG4sb05pKXx8Zy53KG4saXpTKX1KKG4sVyl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO1cuY2xpZW50UGFyYW1JZGVudGlmaWVyJiZ0aGlzLmNKPy5OKFcuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKG4uY2xpZW50UGFyYW1zPXRoaXMuY0ouSihXLmNsaWVudFBhcmFtSWRlbnRpZmllcikpfX07UjhbZy5MWF09W25ldyBnLkFMKCJTSEFSRV9DTElFTlRfUEFSQU1TX1BST1ZJREVSX1RPS0VOIildO3ZhciBtZlM9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGxPTX1nZXQgaigpe3JldHVybiEwfU4obil7cmV0dXJuIGcudyhuLFNZdyl8fHZvaWQgMH1KKG4sVyxEKXtuLmZlZWRiYWNrVG9rZW5zPVtdO1cuZmVlZGJhY2tUb2tlbiYmbi5mZWVkYmFja1Rva2Vucy5wdXNoKFcuZmVlZGJhY2tUb2tlbik7aWYoVz1XLmNwbnx8RC5jcG4pbi5mZWVkYmFja0NvbnRleHQ9e2NwbjpXfTtuLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPSEhRC5pc19mZWVkYmFja190b2tlbl91bmVuY3J5cHRlZDtuLnNob3VsZE1lcmdlPSExO0QuZXh0cmFfZmVlZGJhY2tfdG9rZW5zJiYobi5zaG91bGRNZXJnZT0hMCxuLmZlZWRiYWNrVG9rZW5zPW4uZmVlZGJhY2tUb2tlbnMuY29uY2F0KEQuZXh0cmFfZmVlZGJhY2tfdG9rZW5zKSl9fTt2YXIgSzRpPWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBUeXd9TihuKXtyZXR1cm4gZy53KG4sa2l3KXx8dm9pZCAwfUoobixXKXtXLnBhcmFtcyYmKG4ucGFyYW1zPVcucGFyYW1zKTtXLnNlY29uZGFyeVBhcmFtcyYmKG4uc2Vjb25kYXJ5UGFyYW1zPVcuc2Vjb25kYXJ5UGFyYW1zKX19O3ZhciBPaHI9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGpkeH1OKG4pe3JldHVybiBnLncobixuWEMpfHx2b2lkIDB9SihuLFcpe1cuYWN0aW9ucyYmKG4uYWN0aW9ucz1XLmFjdGlvbnMpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpO1cucGxheWxpc3RJZCYmKG4ucGxheWxpc3RJZD1XLnBsYXlsaXN0SWQpfX07dmFyIFVmWj1jbGFzcyBleHRlbmRzIFBDe1coKXtyZXR1cm4gem50fU4obil7cmV0dXJuIGcudyhuLGRJeCl9SihuLFcsRD17fSl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO0QuaW5jbHVkZUxpc3RJZCYmKG4uaW5jbHVkZUxpc3RJZD0hMCl9fTt2YXIgUVc9bmV3IGcuQUwoIlJFU09MVkVfVVJMX1BSRUZFVENIX1RPS0VOIik7dmFyIGpZPW5ldyBnLkFMKCJDTElFTlRfTkFNRV9UT0tFTiIpO3ZhciBDZj1uZXcgZy5BTCgiREVGQVVMVF9TVE9SRV9FWFBJUkFUSU9OX1RPS0VOIik7dmFyIHJaaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuY2xpZW50TmFtZT1uO3RoaXMuSj1XfWFzeW5jIHB1dChuLFcpe1c9ey4uLlcuZGF0YX07Vy5rZXk9bjtXLmNsaWVudE5hbWU9dGhpcy5jbGllbnROYW1lO1cuZXhwaXJlVGltZXN0YW1wTXM9PT12b2lkIDAmJihXLmV4cGlyZVRpbWVzdGFtcE1zPShNYXRoLnJvdW5kKCgwLGcuUikoKSkrdGhpcy5KKS50b1N0cmluZygpKTtyZXR1cm4gRHcodGhpcyxuLFcpfX07clpoW2cuTFhdPVtqWSxDZl07dmFyIGJoPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuZGF0YT17Li4ubn07ZGVsZXRlIHRoaXMuZGF0YS5pbm5lcnR1YmVSZXNwb25zZT8uZnJhbWV3b3JrVXBkYXRlc31pc0V4cGlyZWQoKXtyZXR1cm4gTnVtYmVyKHRoaXMuZGF0YS5leHBpcmVUaW1lc3RhbXBNc3x8MCk8KDAsZy5SKSgpfWlzUHJvY2Vzc2VkKCl7cmV0dXJuISF0aGlzLmRhdGEuaXNQcm9jZXNzZWR9fTt2YXIgQTNqPWNsYXNzIGV4dGVuZHMgclpoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLk49bmV3IE1hcH1hc3luYyBnZXQobil7cmV0dXJuIHZHKHRoaXMsbil9YXN5bmMgcmVtb3ZlKG4pe2tNKHRoaXMsbil9YXN5bmMgVGkoKXt0aGlzLk4uZm9yRWFjaChuPT57Y2xlYXJUaW1lb3V0KG4udGltZXIpfSk7CnRoaXMuTi5jbGVhcigpfWhhcyhuKXtyZXR1cm4hIXRoaXMuTi5nZXQobil9dUIoKXtyZXR1cm4gdGhpcy5OLmtleXMoKX19O3ZhciBzb2I9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIHN2Mn1OKG4pe3JldHVybiBnLncobixUZSl9SihuLFcpe1cudmlkZW9JZCYmKG4ucGxheWVyUmVxdWVzdD17dmlkZW9JZDpXLnZpZGVvSWR9LFcucGxheWVyUGFyYW1zJiYobi5wbGF5ZXJSZXF1ZXN0LnBhcmFtcz1XLnBsYXllclBhcmFtcyksVy5yYWN5Q2hlY2tPayYmKG4ucGxheWVyUmVxdWVzdC5yYWN5Q2hlY2tPaz0hIVcucmFjeUNoZWNrT2spLFcuY29udGVudENoZWNrT2smJihuLnBsYXllclJlcXVlc3QuY29udGVudENoZWNrT2s9ISFXLmNvbnRlbnRDaGVja09rKSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7Vy5pbnB1dFR5cGUmJihuLmlucHV0VHlwZT1XLmlucHV0VHlwZSk7bi5kaXNhYmxlUGxheWVyUmVzcG9uc2U9ITB9VihuKXt2YXIgVzsobj10aGlzLlgobikpJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3JlZWxzX3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InJfd3JzIixXLlJWPSJyX3dyciIpOwpyZXR1cm4gV31YKG4pe249dGhpcy5OKG4pO2lmKG4/LnZpZGVvSWQpe3ZhciBXPXt2aWRlb0lkOm4udmlkZW9JZH07bi5wYXJhbXMmJihXLnBhcmFtcz1uLnBhcmFtcyk7cmV0dXJuIHlIKCJyZWVsX2l0ZW1fd2F0Y2giLFcpfX19O3ZhciBOdE09bmV3IGcuQUwoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBZa1M9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj1wRmksVz1xTihVeGooKSk7dGhpcy5zdG9yZT0kZihuLHZvaWQgMCxXKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2gobil7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2gobil9c3Vic2NyaWJlKG4pe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShuKX1yZXBsYWNlUmVkdWNlcihuKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihuKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgUzU9Y2xhc3N7Y29uc3RydWN0b3Iobj1bXSl7dGhpcy5OPVtdO3RoaXMuVz10aGlzLko9MDt0aGlzLlg9dm9pZCAwO3RoaXMudG90YWxMZW5ndGg9MDtuLmZvckVhY2goVz0+e3RoaXMuYXBwZW5kKFcpfSl9aigpe3JldHVybiB0aGlzLnRvdGFsTGVuZ3RofWFwcGVuZChuKXtpZih4TSh0aGlzLG4pKXtsZXQgVz10aGlzLk5bdGhpcy5OLmxlbmd0aC0xXTsKdGhpcy5OW3RoaXMuTi5sZW5ndGgtMV09bmV3IFVpbnQ4QXJyYXkoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoK24ubGVuZ3RoKTtMUih0aGlzKX1lbHNlIHRoaXMuTi5wdXNoKG4pO3RoaXMudG90YWxMZW5ndGgrPW4ubGVuZ3RofXNwbGl0KG4pe3ZhciBXPW5ldyBTNSxEPW5ldyBTNTtmb3IobGV0IGIgb2YgdGhpcy5OKW4+PWIubGVuZ3RoPyhXLmFwcGVuZChiKSxuLT1iLmxlbmd0aCk6bj8oVy5hcHBlbmQobmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0LG4pKSxELmFwcGVuZChuZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQrbixiLmxlbmd0aC1uKSksbj0wKTpELmFwcGVuZChiKTtyZXR1cm57Q3M6VyxZOTpEfX1pc0ZvY3VzZWQobil7cmV0dXJuIG4+PXRoaXMuVyYmbjx0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RofWZvY3VzKG4pe2lmKCF0aGlzLmlzRm9jdXNlZChuKSl7Zm9yKG48dGhpcy5XJiZMUih0aGlzKTt0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RoPD0KbiYmdGhpcy5KPHRoaXMuTi5sZW5ndGg7KXRoaXMuVys9dGhpcy5OW3RoaXMuSl0ubGVuZ3RoLHRoaXMuSis9MTt0aGlzLlg9dm9pZCAwfX19O3ZhciBZTSxORCxmUjtnLk5tPSgoKT0+e3ZhciBuPWI9Pm5ldyBVaW50OEFycmF5KGIpLFc9Yj0+e3ZhciB2PW5ldyBVaW50OEFycmF5KGIubGVuZ3RoKTsKZm9yKGxldCBrPTA7azxiLmxlbmd0aDtrKyspdltrXT1iW2tdO3JldHVybiB2fSxEPW5ldyBVaW50OEFycmF5KFsxXSk7CnJldHVybiBELmxlbmd0aD09PTEmJkRbMF09PT0xP246V30pKCk7CllNPUFycmF5KDEwMjQpO05EPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7ZlI9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDt2YXIgQVI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW47dGhpcy5wb3M9MDt0aGlzLko9LTF9fTt2YXIgejY9Y2xhc3N7Y29uc3RydWN0b3Iobj00MDk2KXt0aGlzLldWPXZvaWQgMDt0aGlzLnBvcz0wO3RoaXMuSj1bXTt0aGlzLk49ZGQobik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLk4uYnVmZmVyLHRoaXMuTi5ieXRlT2Zmc2V0LHRoaXMuTi5ieXRlTGVuZ3RoKX19O3ZhciBhdz17YW5pbWF0aW9uRW50aXR5OjMwMixhY2NvdW50TGlua1N0YXR1c0VudGl0eToxMjIsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTo2MzAsYm9vbGVhbkVudGl0eTozMDcsYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTo2MzcsYnV0dG9uRW50aXR5OjM1OCxjYXB0aW9uVHJhY2s6MjI1LGNoYW5uZWxIYW5kbGU6Mjc1LGNoaXBFbnRpdHk6NDk4LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OjI3Nixjb21tZXJjZUNhcnRMaXN0RW50aXR5OjIzNixjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTo1MzIsY29tcG9zaXRlU291cmNlRW50aXR5OjU5NCxjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOjQ4Myxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOjU3Nixjb250aW51YXRpb25Ub2tlbkVudGl0eTo0MDYsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OjIwMixkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OjI5OSwKZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OjI2NCxkb3dubG9hZFN0YXR1c0VudGl0eToxNDEsZGlzbWlzc1N0YXRlOjU0MCxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OjE4NixlbW9qaUZvdW50YWluRGF0YUVudGl0eTozOTMsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OjQ5NixmYWtlQ2hhbm5lbDoyLGZha2VQbGF5bGlzdDoyNzksZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOjI4MCxmYWtlVmlkZW86MTgyLGZha2VWaWRlb0Rlc2NyaXB0aW9uOjI3OCxmZWF0dXJlZFByb2R1Y3RzRW50aXR5OjM5MixzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHk6NTk4LGZsb3dTdGF0ZUVudGl0eToyNTIsaWNvbkJhZGdlRW50aXR5OjIyOSxpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5OjQ0MyxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OjU2NyxsaXZlQ2hhdFBvbGxTdGF0ZUVudGl0eToyMTcsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTo1NjMsCmxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eTo1NjQsbGl2ZVJlYWN0aW9uc0RhdGFFbnRpdHk6NTAzLGxvZ29FbnRpdHk6MjQ1LG1hY3JvTWFya2VyRW50aXR5OjMyOSxtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eToxNTgsbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6MTY0LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6MzczLG1haW5QbGF5bGlzdEVudGl0eTozMDYsbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6MzY4LG1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6MjYyLG1haW5WaWRlb0VudGl0eToyNjEsbWFya2Vyc0VuZ2FnZW1lbnRQYW5lbFN5bmNFbnRpdHk6MTk2LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6MzEyLG11c2ljQWxidW1SZWxlYXNlRGV0YWlsOjE4LG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eToyNTksbXVzaWNBbGJ1bVJlbGVhc2U6MTcsbXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsOjE5LG11c2ljQXJ0aXN0RGV0YWlsOjIxLAptdXNpY0FydGlzdDoyMCxtdXNpY0FydGlzdFVzZXJEZXRhaWw6MjIsbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OjI1NyxtdXNpY0xpYnJhcnlFZGl0OjEyMSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6MzE4LG11c2ljUGxheWxpc3Q6MjQsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjQ4LG11c2ljU2hhcmU6MTAwLG11c2ljVHJhY2tEZXRhaWw6MjksbXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjM0LG11c2ljVHJhY2s6MjgsbXVzaWNUcmFja1VzZXJEZXRhaWw6MzAsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OjE2OSxvZmZsaW5lVmlkZW9Qb2xpY3k6MTMwLG9mZmxpbmVWaWRlb1N0cmVhbXM6MTk4LG9mZmxpbmVhYmlsaXR5RW50aXR5OjI0NixvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6MjQyLHBhZ2VIZWFkZXJFbnRpdHk6NDk1LHBhcnR5R2FtZVBhbmVsRW50aXR5OjYxOCxzbGlkZXJHYW1lUGFuZWxFbnRpdHk6NjMzLApwZHBTdGF0ZUVudGl0eTo1MjQscGlubmVkUHJvZHVjdEVudGl0eToyNzMscGxheWJhY2tEYXRhOjExOSxwbGF5ZXJTdGF0ZUVudGl0eTozMjMscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTo1MzkscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTozNTYscmVmcmVzaDoxNDgsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OjIzMSxzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6NDc5LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTo2MzQsc2V0dGluZ0VudGl0eToyOTcsc3RyaW5nRW50aXR5OjM4MixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTo0ODUsdHJhbnNmZXI6MTIwLHRyZW5kaW5nT2ZmZXJFbnRpdHk6NDY5LHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OjYzNSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTo0NjEsdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTo1NDUsdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5Ojc2LHZvdGluZ0VudGl0eTo1NjEsCnl0TWFpbkNoYW5uZWxFbnRpdHk6MTUyLHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6NTUzLHl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eToxNTUseXRNYWluVmlkZW9FbnRpdHk6MTUxfSxWQT17fTtmb3IobGV0IFtuLFddb2YgT2JqZWN0LmVudHJpZXMoYXcpKXtsZXQgRD1uLGI9VztiJiYoVkFbYl09RCl9O3ZhciB2ZTt2YXIgSDZ0PSExLGdOLGhFLHgkLExmLGVZLGZIYj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNvdW50ZXI9WzAsMCwwLDBdO3RoaXMuSj1uZXcgVWludDhBcnJheSgxNik7dGhpcy5OPTE2O2lmKCFINnQpe3ZhciBXLEQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxiPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIHY9MTtmb3IoVz0wO1c8MjU2O1crKylEW3ZdPVcsYltXXT12LHZePXY8PDFeKHY+PjcmJjI4Myk7Z049bmV3IFVpbnQ4QXJyYXkoMjU2KTtoRT1rJCgyNTYpO3gkPWskKDI1Nik7TGY9ayQoMjU2KTtlWT1rJCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7dj1oP2JbMjU1XkRbaF1dOjA7dl49djw8MV52PDwyXnY8PDNedjw8NDt2PXYmMjU1XnY+Pj44Xjk5O2dOW2hdPXY7Vz12PDwxXih2Pj43JiYyODMpO3ZhciBrPVdedjtoRVtoXT1XPDwyNHx2PDwxNnx2PDw4fGs7eCRbaF09azw8MjR8aEVbaF0+Pj44O0xmW2hdPXY8PDI0fHgkW2hdPj4+Cjg7ZVlbaF09djw8MjR8TGZbaF0+Pj44fUg2dD0hMH12PWskKDQ0KTtmb3IoRD0wO0Q8NDtEKyspdltEXT1uWzQqRF08PDI0fG5bNCpEKzFdPDwxNnxuWzQqRCsyXTw8OHxuWzQqRCszXTtmb3IoYj0xO0Q8NDQ7RCsrKW49dltELTFdLEQlNHx8KG49KGdOW24+PjE2JjI1NV1eYik8PDI0fGdOW24+PjgmMjU1XTw8MTZ8Z05bbiYyNTVdPDw4fGdOW24+Pj4yNF0sYj1iPDwxXihiPj43JiYyODMpKSx2W0RdPXZbRC00XV5uO3RoaXMua2V5PXZ9ZW5jcnlwdChuKXt2YXIgVz1uLmxlbmd0aDtuPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyLnNsaWNlKG4uYnl0ZU9mZnNldCxuLmJ5dGVPZmZzZXQrVykpO2Zvcih2YXIgRD10aGlzLkosYj0wO2I8VyYmdGhpcy5OPDE2OyluW2IrK11ePURbdGhpcy5OKytdO2Zvcih2YXIgdj1XLShXLWIpJTE2O2I8djspWDgodGhpcyksbltiKytdXj1EWzBdLG5bYisrXV49RFsxXSxuW2IrK11ePURbMl0sbltiKytdXj1EWzNdLG5bYisrXV49RFs0XSxuW2IrK11ePQpEWzVdLG5bYisrXV49RFs2XSxuW2IrK11ePURbN10sbltiKytdXj1EWzhdLG5bYisrXV49RFs5XSxuW2IrK11ePURbMTBdLG5bYisrXV49RFsxMV0sbltiKytdXj1EWzEyXSxuW2IrK11ePURbMTNdLG5bYisrXV49RFsxNF0sbltiKytdXj1EWzE1XTtpZihiPFcpZm9yKFg4KHRoaXMpLHRoaXMuTj0wO2I8VzspbltiKytdXj1EW3RoaXMuTisrXTtyZXR1cm4gbn19O3ZhciBxYT0hMTsoKCk9Pnt2YXIgbj1iPT5uZXcgVWludDhBcnJheShiKSxXPWI9Pnt2YXIgdj1uZXcgVWludDhBcnJheShiLmxlbmd0aCk7CmZvcihsZXQgaz0wO2s8Yi5sZW5ndGg7aysrKXZba109YltrXTtyZXR1cm4gdn0sRD1uZXcgVWludDhBcnJheShbMV0pOwpyZXR1cm4gRC5sZW5ndGg9PT0xJiZEWzBdPT09MT9uOld9KSgpOwp2YXIgR3I7dmFyIHVvPWNsYXNze2NvbnN0cnVjdG9yKG4pe3ZhciBXPXRFKCk7VyYmKHRoaXMuTj1uZXcgZFhNKG4sVykpO3RoaXMuSj1uZXcgYjEobil9YXN5bmMgZW5jcnlwdChuLFcpe2lmKHRoaXMuTil0cnl7cmV0dXJuIGF3YWl0IHRoaXMuTi5lbmNyeXB0KG4sVyl9Y2F0Y2goRCl7Zy5HcShEKSxxYT0hMCx0aGlzLk49dm9pZCAwfXJldHVybiB0aGlzLkouZW5jcnlwdChuLFcpfWRlY3J5cHQobixXKXtyZXR1cm4gdGhpcy5lbmNyeXB0KG4sVyl9fSxkWE09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLko9V31hc3luYyBlbmNyeXB0KG4sVyl7dHJ5e3JldHVybiBhd2FpdCBiaDEodGhpcyxuLFcpfWNhdGNoKEQpe3Rocm93IGcuR3EoRCkscWE9ITAsRDt9fX0sYjE9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW59ZW5jcnlwdChuLFcpe3RoaXMuTnx8KHRoaXMuTj1uZXcgZkhiKHRoaXMuSikpO3ZhciBEPXRoaXMuTjtmb3IobGV0IGI9MDtiPDQ7YisrKUQuY291bnRlcltiXT0KV1tiKjRdPDwyNHxXW2IqNCsxXTw8MTZ8V1tiKjQrMl08PDh8V1tiKjQrM107RC5OPTE2O3JldHVybiB0aGlzLk4uZW5jcnlwdChuKX1kZWNyeXB0KG4sVyl7cmV0dXJuIHRoaXMuZW5jcnlwdChuLFcpfX07dmFyIHZtaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLmo9bmV3IFVpbnQ4QXJyYXkoNjQpO3RoaXMuVz1uZXcgVWludDhBcnJheSg2NCk7dGhpcy5YPTA7dGhpcy5WPW5ldyBVaW50OEFycmF5KDY0KTt0aGlzLko9MDt0aGlzLmouc2V0KG4pO3RoaXMuVy5zZXQobik7Zm9yKG49MDtuPDY0O24rKyl0aGlzLmpbbl1ePTkyLHRoaXMuV1tuXV49NTQ7dGhpcy5yZXNldCgpfXJlc2V0KCl7JCQodGhpcyk7dGhpcy51cGRhdGUodGhpcy5XKX11cGRhdGUobil7dmFyIFc9MCxEPW4ubGVuZ3RoO3RoaXMuWCs9RDt0aGlzLkomJnRoaXMuSitEPj02NCYmKHRoaXMuVi5zZXQobi5zdWJhcnJheSgwLDY0LXRoaXMuSiksdGhpcy5KKSxXPTY0LXRoaXMuSix0aGlzLko9MCxzZSh0aGlzLHRoaXMuViwwKSk7Zm9yKDtXKzY0PD1EO1crPTY0KXNlKHRoaXMsbixXKTtXPEQmJihuPW4uc3ViYXJyYXkoVyksdGhpcy5WLnNldChuLHRoaXMuSiksdGhpcy5KKz1uLmxlbmd0aCl9fSxyTj1bMTExNjM1MjQwOCwKMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCwKNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO3ZhciBZJD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LGhhdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuVz1uO3RoaXMuSj1XfX0saksxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIEpacj17SU5WQUxJRF9FTkNPREVSX1ZFUlNJT046IkludmFsaWQgZW5jb2RlciB2ZXJzaW9uIixLRVlfQ1JFQVRJT05fRkFJTEVEOiJGYWlsZWQgdG8gY3JlYXRlIGVuY29kZXIga2V5IixVTktOT1dOX0RFQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGRlY29kZSBQRVMgZGF0YSIsVU5LTk9XTl9FTkNPREVfRVJST1I6IkZhaWxlZCB0byBlbmNvZGUgUEVTIGRhdGEiLFdST05HX0RBVEFfVFlQRToiRW5jb2RlciBjYW5ub3QgcHJvY2VzcyB0aGUgZGF0YSB0eXBlIn0sZmY9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sVz17fSl7c3VwZXIoSlpyW25dLHtuYW1lOiJQRVNFbmNvZGVyRXJyb3IiLHR5cGU6biwuLi5XfSk7dGhpcy50eXBlPW47dGhpcy5sZXZlbD0iV0FSTklORyI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsZmYucHJvdG90eXBlKX19O3ZhciBJSGk9Y2xhc3N7fTt2YXIgU2t0PWNsYXNzIGV4dGVuZHMgSUhpe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5OPW59VyhuLFcpe1c9STgoVyk7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiB0aGlzLk4uZW5jcnlwdChuLFcpfUoobixXKXtpZighKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgZmYoIldST05HX0RBVEFfVFlQRSIse09BOjF9KTt2YXIgRD1uZXcgVGV4dERlY29kZXI7Vz1JOChXKTtuPXRoaXMuTi5kZWNyeXB0KG4sVyk7cmV0dXJuIEpTT04ucGFyc2UoRC5kZWNvZGUobikpfX07dmFyIFh5VT17YW5pbWF0aW9uRW50aXR5OmVuaSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpta2gsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTp0UFUsYm9vbGVhbkVudGl0eTpyWXIsYnV0dG9uRW50aXR5OkhNdCxjYXB0aW9uVHJhY2s6bEoyLGNoYW5uZWxIYW5kbGU6a2pNLGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6SU93LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6R2oxLGNoaXBFbnRpdHk6Z1hVLGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OlNOeCxjb21tZXJjZUNhcnRMaXN0RW50aXR5OkFNeCxjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTptJFMsY29tcG9zaXRlU291cmNlRW50aXR5OiRJTSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OnJKYixjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOnhrdCxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOkx0dyxjb250aW51YXRpb25Ub2tlbkVudGl0eTp3d1MsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmlzWiwKZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpveGgsZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OkRJMSxkb3dubG9hZFN0YXR1c0VudGl0eTp1NXQsZGlzbWlzc1N0YXRlOlhSUyxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5Old1WixlbW9qaUZvdW50YWluRGF0YUVudGl0eTpyTTEsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OiQkMixmYWtlQ2hhbm5lbDpwd0MsZmFrZVBsYXlsaXN0OllZcixmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246Zl94LGZha2VWaWRlbzpKWWIsZmFrZVZpZGVvRGVzY3JpcHRpb246SV93LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6cXZDLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpYX1MsZmxvd1N0YXRlRW50aXR5OkFZeCxpY29uQmFkZ2VFbnRpdHk6S3VqLGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6T3NpLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Ynp0LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OlBMciwKZGF0YUZyZXNobmVzc0VudGl0eTp0R3QsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTpSTzEsbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OlE0cixsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpzZGksbG9nb0VudGl0eTpLdHgsbWFjcm9NYXJrZXJFbnRpdHk6dk50LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmRrdCxtYWluRG93bmxvYWRzTGlzdEVudGl0eTpsX1osbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpUQTEsbWFpblBsYXlsaXN0RW50aXR5Ok1QdyxtYWluUGxheWxpc3RWaWRlb0VudGl0eTpSNGksbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eTpqQmksbWFpblZpZGVvRW50aXR5OmFfaixtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTprUHIsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTpoT3QsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6ZkpVLG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eTpzNHQsCm11c2ljQWxidW1SZWxlYXNlOkh6aSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6SkoxLG11c2ljQXJ0aXN0RGV0YWlsOlN2WixtdXNpY0FydGlzdDpJSlUsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOkFKaSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6TmtTLG11c2ljTGlicmFyeUVkaXQ6bUliLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpLTXcsbXVzaWNQbGF5bGlzdDpQVHgsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6cF9yLG11c2ljU2hhcmU6WnppLG11c2ljVHJhY2tEZXRhaWw6eUpTLG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5Oll2dCxtdXNpY1RyYWNrOlVJWixtdXNpY1RyYWNrVXNlckRldGFpbDpFTngsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OlRrdyxvZmZsaW5lVmlkZW9Qb2xpY3k6ajRaLG9mZmxpbmVWaWRlb1N0cmVhbXM6Q1R3LG9mZmxpbmVhYmlsaXR5RW50aXR5OkNMaSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6QkFVLApwYWdlSGVhZGVyRW50aXR5OnFOWixwYXJ0eUdhbWVQYW5lbEVudGl0eTpwUnQsc2xpZGVyR2FtZVBhbmVsRW50aXR5Ok55MSxwZHBTdGF0ZUVudGl0eTpPTWoscGlubmVkUHJvZHVjdEVudGl0eTpHUE0scGxheWJhY2tEYXRhOkJrdyxwbGF5ZXJTdGF0ZUVudGl0eTp4SVoscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eToka2IscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpQOHcscmVmcmVzaDpGTXcsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OnZYaixzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6TE13LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTpzQngsc2V0dGluZ0VudGl0eTp4JFosc3RyaW5nRW50aXR5Ok5BMixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTplT3IsdHJhbnNmZXI6d19NLHRyZW5kaW5nT2ZmZXJFbnRpdHk6dHhqLHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OmZPMix2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpNeFMsCnZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6Wk1qLHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpKTTIsdm90aW5nRW50aXR5OkdpTSx5dE1haW5DaGFubmVsRW50aXR5Om5OMix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmdOcix5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6RnRoLHl0TWFpblZpZGVvRW50aXR5OldNWn07dmFyIE5Hdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuVz1XO3RoaXMuSj17fX19O3ZhciBBWlo9Y2xhc3MgZXh0ZW5kcyBJSGl7VyhuKXtyZXR1cm4gbn1KKG4pe2lmKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBmZigiV1JPTkdfREFUQV9UWVBFIix7T0E6MH0pO3JldHVybiBufX07dmFyIGY5aT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj17fTt0aGlzLk5bMF09bmV3IEFaWjtpZighZy5sKCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgbj10aGlzLk47dHJ5e2xldCBiPU0wKCk7dmFyIFc9STgoYik7dmFyIEQ9bmV3IFNrdChuZXcgYjEoVyksbmV3IHVvKFcpKX1jYXRjaChiKXt0aHJvdyBuPWIgaW5zdGFuY2VvZiBFcnJvcj9uZXcgZmYoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6Yi5tZXNzYWdlfSk6bmV3IGZmKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksZy5YaihuKSxuO31uWzFdPUR9fX07dmFyIEozaT1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudG9rZW49bjt0aGlzLk49Vzt0aGlzLm9ic2VydmVycz1bXTtuPW5ldyBnLnFpLkJyb2FkY2FzdENoYW5uZWwoYFBFUlNJU1RFTlRfRU5USVRZX1NUT1JFX1NZTkM6JHtNMCgpfWApO24ub25tZXNzYWdlPXRoaXMuSi5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1ufW9ic2VydmUobil7dGhpcy5vYnNlcnZlcnMucHVzaChuKTtyZXR1cm4oKT0+e3ZhciBXPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2Yobik7Vz49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKFcsMSl9fUoobil7UGUodGhpcyxuLmRhdGEpfW1BKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fSx0NTt2YXIgbXpiPWcud0QoKCk9PntpZih3aW5kb3cuTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkPT09ImZ1bmN0aW9uIilyZXR1cm4gd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjUxLjA4LjAxLjAxLjAxLjAxLjAwIicpO2lmKHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWFuYWdlZE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZD09PSJmdW5jdGlvbiIpcmV0dXJuIHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKCd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuNTEuMDguMDEuMDEuMDEuMDEuMDAiJyk7dmFyIG49Zy5ycigieXQud2ViLmNvbnRyaWIuaW5uZXJ0dWJlLnJlcXVlc3RzLndhdGNoX3VpLnV0aWxzLnZpZGVvRWxlbWVudF8iKTtufHwobj1nLnpGKCJWSURFTyIpLGcuR2IoInl0LndlYi5jb250cmliLmlubmVydHViZS5yZXF1ZXN0cy53YXRjaF91aS51dGlscy52aWRlb0VsZW1lbnRfIiwKbikpO3JldHVybiEhKG4mJm4uY2FuUGxheVR5cGUmJm4uY2FuUGxheVR5cGUoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MS4wOC4wMS4wMS4wMS4wMS4wMCInKSl9KTt2YXIgTnM9eVcoKT8hMDp0eXBlb2Ygd2luZG93LmZldGNoPT09ImZ1bmN0aW9uIiYmd2luZG93LlJlYWRhYmxlU3RyZWFtJiZ3aW5kb3cuQWJvcnRDb250cm9sbGVyJiYhZy5SZz8hMDohMTt2YXIgS0hTPWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3IoKXtzdXBlcigpfVcoKXtyZXR1cm4gcXlqfU4obil7cmV0dXJuIGcudyhuLGcuSVEpfHxnLncobixUZSl8fGcudyhuLFZ4Yil9Tygpe3JldHVybiEwfVgobil7aWYoKGcubCgia2V2bGFyX2NhY2hlX29uX3R0bF9wbGF5ZXIiKXx8Zy5sKCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaCIpfHxnLmwoIndlYl9zaG9ydHNfcHJlZmV0Y2hfc2VydmljZV9lbmFibGVkIil8fGcubCgiZW1iZWRzX2VuYWJsZV9wcmVmZXRjaF92aWFfcmVzb2x2ZV91cmwiKSkmJihuPXRoaXMuTihuKSkmJm4udmlkZW9JZCl7dmFyIFc9e3ZpZGVvSWQ6bi52aWRlb0lkfTtuLnBsYXlsaXN0SWQmJihXLnBsYXlsaXN0SWQ9bi5wbGF5bGlzdElkKTtuLnBsYXllclBhcmFtcyYmKFcucGFyYW1zPW4ucGxheWVyUGFyYW1zKTtyZXR1cm4geUgoInBsYXllciIsVyl9fUsobil7cmV0dXJuIG4uY29udGVudFBsYXliYWNrQ29udGV4dD8udmlzPT09CjI/IldBVENIX0ZVTExfU0NSRUVOIjoiV0FUQ0gifUoobixXLEQpe2lmKGcubCgiZW5hYmxlX2ludGVyc3RpdGlhbF9lbnRpdHlfY2hlY2siKSYmVy52aWRlb0lkKWZvcih2YXIgYiBvZlsiQ09OVEVOVF9DSEVDS19SRVFVSVJFRCIsIkFHRV9DSEVDS19SRVFVSVJFRCJdKTtXLnZpZGVvSWQmJihuLnZpZGVvSWQ9Vy52aWRlb0lkKTtXLnBsYXlsaXN0SWQmJihuLnBsYXlsaXN0SWQ9Vy5wbGF5bGlzdElkKTtXLmluZGV4IT09dm9pZCAwJiYobi5wbGF5bGlzdEluZGV4PVcuaW5kZXgrMSk7Vy5wbGF5ZXJQYXJhbXMmJihuLnBhcmFtcz1XLnBsYXllclBhcmFtcyk7InN0YXJ0VGltZVNlY29uZHMiaW4gVyYmVy5zdGFydFRpbWVTZWNvbmRzJiYoZy5sKCJlbmFibGVfcGxheWVyX3JlcXVlc3RfYnVpbGRlcl9zdGFydF90aW1lX2Zsb29yIik/bi5zdGFydFRpbWVTZWNzPU1hdGguZmxvb3IoVy5zdGFydFRpbWVTZWNvbmRzKTpuLnN0YXJ0VGltZVNlY3M9Vy5zdGFydFRpbWVTZWNvbmRzKTtELmNvbnRlbnRQbGF5YmFja0NvbnRleHQmJgoobi5wbGF5YmFja0NvbnRleHQ9e2NvbnRlbnRQbGF5YmFja0NvbnRleHQ6RC5jb250ZW50UGxheWJhY2tDb250ZXh0fSk7RC5wcmVmZXRjaFBsYXliYWNrQ29udGV4dCYmKG4ucGxheWJhY2tDb250ZXh0PXsuLi5uLnBsYXliYWNrQ29udGV4dCxwcmVmZXRjaFBsYXliYWNrQ29udGV4dDpELnByZWZldGNoUGxheWJhY2tDb250ZXh0fSxuLmNvbnRleHQucmVxdWVzdHx8KG4uY29udGV4dC5yZXF1ZXN0PXt9KSxuLmNvbnRleHQucmVxdWVzdC5pc1ByZWZldGNoPSEwKTtuLnBsYXliYWNrQ29udGV4dHx8KG4ucGxheWJhY2tDb250ZXh0PXt9KTtiPW16YigpO24ucGxheWJhY2tDb250ZXh0LmRldmljZVBsYXliYWNrQ2FwYWJpbGl0aWVzPXtzdXBwb3J0c1ZwOUVuY29kaW5nOiEhYixzdXBwb3J0WGhyOk5zfTtELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0JiYobi5vdmVycmlkZU11dGVkQXRTdGFydD1ELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0KTtuLnJhY3lDaGVja09rPSEhVy5yYWN5Q2hlY2tPazsKbi5jb250ZW50Q2hlY2tPaz0hIVcuY29udGVudENoZWNrT2s7Zy5sKCJjYXB0aW9uc19wcmVmc19raWxsc3dpdGNoIil8fChEPShEPWcuWkkoInl0LXBsYXllci1jYXB0aW9uLWxhbmd1YWdlLXByZWZlcmVuY2VzIikpP0Q6W10sVz1nLmwoIndlYl9lbmFibGVfcGxheWVyX3JlcXVlc3RfY2FwdGlvbnNfbGFzdF9sYW5ndWFnZV9vbmx5IiksRD8ubGVuZ3RoJiYoRD1XP1tELmF0KC0xKV06RCxuLmNhcHRpb25QYXJhbXM9e3ZpZXdlclNlbGVjdGVkQ2FwdGlvbkxhbmdzOkR9KSl9VihuKXtuPXRoaXMuWChuKTt2YXIgVztuJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3BsYXllcl93YXRjaF9uZXh0X3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InBzX3MiLFcuUlY9InBzX3IiKTtyZXR1cm4gV319O0tIU1tnLkxYXT1bTnRNXTt2YXIgaUI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW4ucmVzcG9uc2VDb250ZXh0Py5zdGF0ZVRhZ3N9fTt2YXIgd049Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZighVyl0aHJvdyBFcnJvcigicmVxdWVzdCBuZWVkcyB0byBiZSBwYXNzZWQgaW50byBTdG9yZVJlc3BvbnNlUHJvY2Vzc29yU2VydmljZSIpO3VCKHRoaXMsbixXLmNvbmZpZz8uSG4/LlJMKX19O3dOW2cuTFhdPVtCZV07dmFyIEY4PW5ldyBnLkFMKCJTVE9SRV9SRVNQT05TRV9QUk9DRVNTT1JfVE9LRU4iKTt2YXIgbzg9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobixXKTt0aGlzLmVycm9yVHlwZT0xO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBUcj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1hc3luYyBmZXRjaChuLFcsRCxiKXtuPVNzWih0aGlzLG4sVyk7dHJ5e2xldCB2PWF3YWl0IGZldGNoKG4pO2lmKGImJnYub2smJnYuYm9keSYmdHlwZW9mIHYuYm9keS5nZXRSZWFkZXI9PT0iZnVuY3Rpb24iKXtsZXQgaz12LmNsb25lKCkuYm9keS5nZXRSZWFkZXIoKSx7dmFsdWU6aH09YXdhaXQgay5yZWFkKCk7ay5jYW5jZWwoKS5jYXRjaCgoKT0+e30pOwppZihoJiZoWzBdPT09OTEpe2xldCB4PXYuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBkTih0aGlzLHgsbmV3IGFzLFtdLGIpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZSh2LEQpfWNhdGNoKHYpe2lmKGcuR3EodiksRD8uTGQmJnYgaW5zdGFuY2VvZiBvOCYmdi5lcnJvclR5cGU9PT0xKXRocm93IHY7fX1oYW5kbGVSZXNwb25zZShuLFcpe3ZhciBEPW4udGV4dCgpLnRoZW4oYj0+e2lmKFc/LmhQJiZuLm9rKXJldHVybiBkRyhXLmhQLGIpO2I9Yi5yZXBsYWNlKCIpXX0nIiwiIik7aWYoVz8uTGQmJmIpdHJ5e3ZhciB2PUpTT04ucGFyc2UoYil9Y2F0Y2goayl7dGhyb3cgbmV3IG84KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiB2Pz9KU09OLnBhcnNlKGIpfSk7Cm4ucmVkaXJlY3RlZHx8bi5vaz90aGlzLk4mJnRoaXMuTi5zdWNjZXNzKCk6KHRoaXMuTiYmdGhpcy5OLm9ZKCksRD1ELnRoZW4oYj0+e2cuR3EobmV3IGcuUXgoIkVycm9yOiBBUEkgZmV0Y2ggZmFpbGVkIixuLnN0YXR1cyxuLnVybCxiKSk7cmV0dXJuey4uLmIsZXJyb3JNZXRhZGF0YTp7c3RhdHVzOm4uc3RhdHVzfX19KSk7CnJldHVybiBEfX07VHJbZy5MWF09W2cuaHAobmV3IGcuQUwoIk5FVFdPUktfU0xJX1RPS0VOIikpXTt2YXIgenI7dmFyIERZcj1uZXcgZy5xTSgicGFyYWxsZWxDb21tYW5kIik7dmFyIHZuTT1uZXcgZy5xTSgicGVyZm9ybU9uY2VDb21tYW5kIik7dmFyIGI4Yj1uZXcgZy5xTSgic2VyaWFsQ29tbWFuZCIpO3ZhciB2UT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihuKXt0aGlzLk4uYmljZihuKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhuKXt0aGlzLk4uYmNyKG4pfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuTi5ibGMoKX19O3ZhciBpaEM9W10saGo9KDAsZy5IeClgaHR0cHM6Ly9zdGF0aWMuZG91YmxlY2xpY2submV0L2luc3RyZWFtL2FkX3N0YXR1cy5qc2AsazU9ITE7dmFyIGlEPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPW47dGhpcy5OPVd9fSxXREM9W25ldyBpRCgiYi5mXyIsMCksbmV3IGlEKCJqLnNfIiwyKSxuZXcgaUQoInIuc18iLDQpLG5ldyBpRCgiZS5oXyIsNiksbmV3IGlEKCJpLnNfIiw4KSxuZXcgaUQoInMudF8iLDEwKSxuZXcgaUQoInAuaF8iLDEyKSxuZXcgaUQoInMuaV8iLDE0KSxuZXcgaUQoImYuaV8iLDE2KSxuZXcgaUQoImEuYl8iLDE4KSxuZXcgaUQoImEub18iKSxuZXcgaUQoImcub18iLDIyKSxuZXcgaUQoInAuaV8iLDI0KSxuZXcgaUQoInAubV8iKSxuZXcgaUQoIm4ua18iLDIwKSxuZXcgaUQoImkuZl8iKSxuZXcgaUQoImEuc18iKSxuZXcgaUQoIm0uY18iKSxuZXcgaUQoIm4uaF8iLDI2KSxuZXcgaUQoIm8ucF8iKSxuZXcgaUQoIm0ucF8iLDI4KSxuZXcgaUQoIm8uYV8iKSxuZXcgaUQoImQucF8iKSxuZXcgaUQoImUuaV8iKV0ucmVkdWNlKChuLFcpPT57bltXLkpdPVc7cmV0dXJuIG59LHt9KTt2YXIgTmU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMubmV0d29yaz1uO3RoaXMub3B0aW9ucz1XO3RoaXMuWD1EO3RoaXMuVz0wO3RoaXMuTj1udWxsO3RoaXMuSj1uZXcgcW5pO1cuUHU/ZXQodGhpcyxvbU0odGhpcykpOlcucHJlbG9hZCYmZXQodGhpcyxuZXcgUHJvbWlzZShiPT57Zy5jQigwLCgpPT57Yih0aih0aGlzKSl9LDApfSkpfWFzeW5jIHlmKCl7cmV0dXJuISFhd2FpdCBQcm9taXNlLnJhY2UoW3RoaXMuTiwKbnVsbF0pfWFzeW5jIGRRKG4sVyxEKXt0aGlzLk49PT1udWxsJiZldCh0aGlzLHRqKHRoaXMpKTt2YXIgYj0hMSx2PXt9O3JldHVybiBQcm9taXNlLnJhY2UoWyhhc3luYygpPT57dGhpcy5vcHRpb25zLkZoJiZ0aGlzLm9wdGlvbnMuUHUmJmF3YWl0IChhd2FpdCB5M3IoKSk/LmNoZWNrRm9yUmVmcmVzaCgpO3ZhciBrPWF3YWl0IHRoaXMuTjt2LmNoYWxsZW5nZT1rLmNoYWxsZW5nZTtpZihrLk8xKXt2YXIgaD17YzprLmNoYWxsZW5nZSxlOm4sLi4uV307dHJ5e2I9ITA7bGV0IHg7KHg9YXdhaXQgay5PMS5zbmFwc2hvdCh7d186aH0pKT92LndlYlJlc3BvbnNlPXg6di5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe3YuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gay5SUiYmKHYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO249PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmCihrPWsuUlIsaD17fSxrLmM2YSYmKGgucmVwb3J0aW5nU3RhdHVzPVN0cmluZyhOdW1iZXIoay5jKV5MYygpKSksay5jNmImJihoLmJyb2FkU3BlY3RydW1EZXRlY3Rpb25SZXN1bHQ9U3RyaW5nKE51bWJlcihrLmMpXk51bWJlcihnLkFyKCJDQVRTVEFUIiwwKSkpKSx2LmFkYmxvY2tSZXBvcnRpbmc9aCk7cmV0dXJuIHZ9KSgpLApUR2goRCwoKT0+e3ZhciBrPU9iamVjdC5hc3NpZ24oe30sdik7YiYmKGsuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTtyZXR1cm4ga30pXSl9fTt2YXIganhTPVsiQVBQX1NUQVRFIiwiUEkiXTt2YXIga3ZNPVszNjExLDI3Njg2LDIyMTA1OCw4NTAxMywyMzQ2MiwyNDExODcsMTU3NTU3LDQyMDE2LDI2OTI2LDUxMjM2LDc5MTQ4LDUwMTYwLDc3NTA0LDMxMDI4MSwxNTM1ODcsODc5MDcsMTg2MzAsMTc3MDE4LDE3NzAyMyw1NDQ0NSwzMjE2NjYsMzI2MzUzLDMyNjM1NCw4MDkzNSwxNTIxNzIsMTg0NTUzLDEwNTY3NSwxNTA3MjMsMzc1MjEsMTQ3Mjg1LDQ3Nzg2LDIzMTI1NSwyMzEyNTQsMjMxMjU4LDIzMTI1OSw5ODM0OSwyMzcyOTksMTY4MjcxLDE2ODk1NCwxNjgyNzcsMTY4MjczLDE2ODI3MCwxMjM2OTUsMjcyMDE4LDMzODQ5NywyMjY5ODcsMjI2OTkwLDIyNjk4OCw2ODI3LDI5NDM0LDI1NTAxMCwxNzEzODgsMjQ0MTg5LDIzNjIwOCw3MjgyLDEyNDQ0OCwyOTk5MDMsMjk5ODk3LDI5OTkwNCwyOTk5MDEsMjk5ODk5LDI5OTkwMiwyOTk5MDAsMjk5ODk4LDE5NjA4OCwyNTA4OTcsMTk4MTA0LDMyMjc2LDE5NTExNSwxOTUxMTQsNzYyNzgsMjAwNjM1LDIzMDU5NCwxNDc4NjgsCjE0Nzg2OSwyNzYyNDMsOTM5MTEsMjc0MTg4LDI3NjY1MSwzMTM2ODAsMTA2NTMxLDI1NzIzNCwyNTI1OTgsMjUyNTk3LDI1MjYwMCwyNTI1OTksMjUyNTk2LDIyNTAzMSwxNzc4NDMsMjcyNTksMjcyNjIsMjcyNjMsMjE3NTksMjgzNjcwLDE2MDg2NiwyMDQyNDksMjIyOTAwLDIwNDI1MCwxODA2MjYsMTc3OTU5LDE3Nzk1NywxODA2MjgsMjA1NzE2LDE5Nzg3OCwyNzM3NjYsMTcxMjQzLDE2MDc4OSwxNzEyNDQsMTcxMjQxLDE3MTI0NSwxNzEyNDIsMjI1NTYwLDE4MDYyNywxNzc5NjAsMjMxNTg5LDE3Nzk1OCwxODA2MjksMjA1NzE3LDE5Nzg3OSwxNzc1NjUsMjEyNTczLDIxMDcwOSw5OTQ0MTIsMjMwNjg0LDIyOTgwMSwyMzA2ODUsMzM0MzEwLDMzNDMxMSwzMzQzMTIsMTk3MzM3LDIwOTAxMCwxOTczMzYsMTk3MzM4LDE5ODYxOCwzMDA4ODQsMTc1NDkyLDE5ODA1MiwxOTgwNTEsMTk3ODUyLDE5Nzk3NiwzMTczNzcsMTc1NDkzLDE3NTQ5NCwxNzU0OTUsMTg5MjU0LDE3NTQ5NiwxNzU0OTcsCjM4NDA4LDE3NTQ5OCwxNzU1MDMsMTc1NTA0LDE3NTUwNSwxNzU1MDYsMTc1NTA3LDE3NTUwOCw4MDYzNyw2ODcyNywyMDY5MzMsMjA3OTQ0LDIwNjkzNCwzMDMxMjMsMjA2OTI5LDIyMTU3NSw2ODcyOCwyMjE1NzYsODAzNTMsODAzNTYsMzA4MDMzLDI0OTEwNywxODA2MzUsNzQ2MTAsNDU3MDcsODM5NjIsODM5NzAsNDY3MTMsMTY2NTkxLDg5NzExLDc0NjEyLDIxMzgwOSwxNzk2MDcsMjQ1MDA2LDE1NTc5Miw5MzI2NSw3NDYxMSwxMzEzODAsMTI4OTc5LDEzOTMxMSwxMjg5NzgsMTMxMzkxLDEwNTM1MCwxMzkzMTIsMzMzNjM3LDEzNDgwMCwxMzEzOTIsMTEzNTMzLDIyOTI5OCw5MzI1Miw5OTM1Nyw5NDUyMSwxMTQyNTIsMTEzNTMyLDk0NTIyLDk0NTgzLDIwMjM3MSw4OEUzLDEzOTU4MCw5MzI1Myw5MzI1NCw5NDM4Nyw5NDM4OCw5MzI1NSw5NzQyNCw3MjUwMiwyMTk4NjgsMjEyOTkxLDExMDExMSw3NjAxOSwxMTcwOTIsMTE3MDkzLDg5NDMxLDE5MTgzMSwxMTA0NjYsMjMxMzQ2LAo3NzI0MCw2MDUwOCwxODYwOTEsMTQ4MTIzLDE0ODEyNCwxMzc0MDEsMTM3NDAyLDEzNzA0Niw3MzM5MywyNDY3NzYsMTEzNTM0LDI3NjIwMCw5MjA5OCwxMzEzODEsODQ1MTcsODM3NTksMzA5NTgwLDIzMDY3NiwyNDkxODMsMjMwNjc5LDIzMDY3OCwyMzA2NzcsMjMwNjgxLDIzMDY4MCwxNjI3MTEsMjM1MjM0LDE2MjcxMiw4MDM1Nyw5OTQ0MTEsMjQzMzE1LDMxMzUwNiwzMjE5NjQsODYxMTMsNzI1OTgsMTY4NDEzLDcyNzMzLDEwNzM0OSwxMjQyNzUsMTE4MjAzLDIwMDQxMCwxMzMyNzUsMTYwMTU3LDE1MjU2OSwxNTY2NTEsMTMzMjc0LDE2MDE1OSwxNjAxNTgsMTMzMjcyLDEzMzI3MywxMzMyNzYsMTQ0NTA3LDE0MzI0NywxNzU5OTQsMTU2NjUyLDE0MzI0OCwxNDMyNDksMTQzMjUwLDE0MzI1MSwxODk4OTIsMTg5ODk0LDE4OTg5MywxNTY2NTMsMjE0MjM2LDE0NDQwMSwxMTc0MzEsMTMzNzk3LDIyNTEzNywyNzM5MDUsMjIyNjEyLDIyMjYxMywxNTM5NjQsMjAxMTMzLDIwMTEzNCwKMjAxMTM1LDIwMTEzNiwyMDExMzcsMTI4NTcyLDIwMDQxMSwyMDA0MTIsMTkwMzM3LDEzMzQwNSwxMTc0MjksMTE3NDMwLDE3Nzk1MCwxNzQ3MzQsMTc3OTUxLDIwMTEzOCwyMDExMzksMjAxMTQwLDIwMTE0MSwyMDExNDIsMTE3NDMyLDE3Mzk5NiwxNzM5OTUsMTc0OTUzLDE3Mzk5NCwxNzM5OTcsMTIwMDgwLDExNzI1OSwxNzg1NDYsMjk3NzUyLDE5Nzg5MSwxNTY2NTUsMTU2NjU0LDEyMTY5MiwyMTE0MTQsMjExNDExLDIxMTQxMiwyMTE0MTMsMjExNDAzLDE4NDg0NiwxODU5OTMsMzM1MDQ4LDE0NTY1NiwxNTY2NTYsMTQ1NjU1LDE0NTY1MywxNDU2NTQsMTQ1NjU3LDEzMjk3MiwxMzMwNTEsMTMzNjU4LDEzMjk3MSwzMzY3MjgsOTc2MTUsMTgxMjYyLDE5MDc2MiwyNTAzNDQsMjU0MDI3LDE0MzM1OSwxNDMzNTYsMTQzMzYxLDE0MzM1OCwxNDMzNjAsMTQzMzU3LDE0MjMwMywxNDMzNTMsMjgyMTU5LDE3Mjg1OSwxNDMzNTQsMTQ0NDc5LDE0MzM1NSwzMTQwMiwxODE1OTAsMTMzNjI0LAoxNDY0NzcsMTMzNjIzLDEzMzYyMiwxMzM2MjEsMTkyNDE4LDg0Nzc0LDMwNDc3NiwxOTc5OTMsMjQxNDYwLDE2MDgwMSwxOTc5OTUsOTUxMTcsMTcyNzIxLDE1MDQ5Nyw5ODkzMCw5ODkzMSw5ODkzMiwzMzg1NzAsMzM4NDc0LDMzODQ3OCwzMzg0NzMsMTUzMzIwLDE1MzMyMSw0MzM0NywzMDUyNjgsMjQ5Mjk1LDIxMDAxNiwyMTAwMTcsMjYyNjg2LDIxMTg1MSwyMTE4NTIsMzA3MjE5LDIxMTg1MywzMjc4MTAsMTI5ODg5LDE5Nzg4OCwxOTc4ODksMTQ5MTIzLDIyMTk1OSwyMjE2MjcsMjIxOTU4LDQ1NDc0LDEwMDM1Miw5ODQ0MywxMTc5ODUsMzMzNzA4LDc0NjEzLDE1NTkxMSw3NDYxNCw2NDUwMiwxMzYwMzIsNzQ2MTUsNzQ2MTYsMTIyMjI0LDc0NjE3LDc3ODIwLDc0NjE4LDI2Mjk4OCwyNjI5ODksMjI2OTgxLDkzMjc4LDkzMjc0LDkzMjc1LDkzMjc2LDIwMDY4OCwyMDA2ODYsMjAwNjg3LDE5OTg0MSwyMjExMCwyOTQzMywxMzM3OTgsMTMyMjk1LDI4MTMzMiwxMjA1NDEsMjIyMTEyLAo4MjA0NywxMTM1NTAsNzU4MzYsNzU4MzcsMzAzODgyLDE5MjQwOSwyMDMyMjEsNDIzNTIsODQ1MTIsNzYwNjUsNzU5ODksMjA1OTExLDIwNTkxMiwyNTI2NDksMjA1OTEzLDI1MjY1MCwyNTI2NTEsNTE4NzksMTY2MjMsMzI1OTQsMjcyNDAsMzM4MTA5LDI5MzMyNCwzMjYzMyw3NDg1OCwzMDQxNTAsMjk3MDQ1LDI3NTE5OCwyNzE4ODQsMjIyOTMyLDI3OTExOSwzMTI1ODEsMjcxODg2LDIxMzkxNSwyNzUxOTksMzEwNzQ4LDIyNTIxNiwyNTEyNDQsMjU4MjUxLDIxODY3NCwyNTEyNjYsMjU4MjUwLDI1MTI2NSwzMDE2NjIsMjUxMjQ1LDI3MTg4NSwzMTU4MTgsMTU2OTk5LDM5NDUsMTY5ODksNDU1MjAsMjU0ODgsMjU0OTIsMjU0OTQsMjMyMTEzLDU1NzYwLDE0MDU3LDE4NDUxLDU3MjA0LDU3MjAzLDE3ODk3LDE4MTk4LDE3ODk4LDE3OTA5LDQzOTgwLDIyMTA1MywxOTU1MjksMTg5NjYwLDMwODA4OCwzMDY0NDgsMzA2NDQ3LDMwODA4NywzMDgwODYsNDYyMjAsMTE3MjEsMTQ3OTk0LDQ5OTU0LAo5NjM2OSwzODU0LDIxNzY0MCwxNTE2MzMsNTYyNTEsMjA1MTkyLDIxNjc5NywxNTkxMDgsMTgxNTY4LDIzNDc4OSwyNTYyNCwxNTIwMzYsMTY5MDYsOTk5OTksNjgxNzIsNDc5NzMsNzI3NzMsMjY5NzAsMjY5NzEsOTY4MDUsMTc3NTIsMjgyMTgxLDI3ODkyNiw3MzIzMywyMDU5MjMsMTA5NTEyLDIyMjU2LDE0MTE1LDIyNjk2LDIzNDQwOSwyMzQ0MDgsODkyNzgsODkyNzcsMTk1NzQ1LDEwOTUxMyw0MzI3OCw0MzQ1OSw0MzQ2NCw4OTI3OSw0MzcxNyw1NTc2NCwyMjI1NSwxNDc5MTIsODkyODEsNDA5NjMsNDMyNzcsNDM0NDIsOTE4MjQsMjgzODk4LDEyMDEzNywxODYzNTAsMTg2MzUxLDI1NjY5MCwyNjQzNDksMjY0MzUxLDI2NDM1MCwyNjQzNTIsMjExMDI2LDI1MDg5Niw5NjM2NywzNjg1MCw3MjY5NCwzNzQxNCwzNjg1MSwxMjQ4NjMsMTIxMzQzLDczNDkxLDU0NDczLDE2Njg2MSw0MzM3NSw0NjY3NCwzMDI2MzEsMzMxNDczLDI0MjUyOCwxNDM4MTUsMTM5MDk1LDE0NDQwMiwxNDk5NjgsCjE0OTk2OSwzMjQ3Myw3MjkwMSw3MjkwNiw1MDYxMiw1MDYxMyw1MDk0Miw4NDkzOCw4NDk0Myw4NDkzOSw4NDk0MSw4NDk0NCw4NDk0MCw4NDk0MiwzNTU4NSw1MTkyNiw3OTk4MywxODkyMSw1Nzg5Myw0MTE4MiwxMzU3MzIsMzM0MjQsMjIyMDcsMzYyMjksMjIyMDYsMjIyMDUsNDQ3NjMsMzM0MjcsNjc3OTMsMjIxODIsMzcwOTEsMzQ2NTAsNTA2MTcsMjIyODcsMjUxNDQsOTc5MTcsMjIwMTIyLDYyMzk3LDE1MDg3MSwxNTA4NzQsMTI1NTk4LDEzNzkzNSwzNjk2MSwxMDgwMzUsMzIzNDkzLDI3NDI2LDI3ODU3LDI3ODQ2LDI3ODU0LDY5NjkyLDYxNDExLDM5Mjk5LDM4Njk2LDYyNTIwLDM2MzgyLDEwODcwMSwxOTI2ODIsMjc5NTMxLDUwNjYzLDM2Mzg3LDE0OTA4LDM3NTMzLDEwNTQ0Myw2MTYzNSw2MjI3NCwxNjE2NzAsMTMzODE4LDE4MjExOSw2NTcwMiw2NTcwMyw2NTcwMSwzMjA0NjQsNzYyNTYsMjk4MTU3LDI2Mzg0MywzMTUyMzQsMTk2MDc1LDE5NDc2OCwyNTIyMDEsMTk0NzY5LAoxOTE4ODUsMjgxNDgwLDIzMzYzNCwyNjU4MTAsMTk0NzcwLDI5NjkzMywxOTUzNTAsMzI3Mzg1LDMyNDU4NiwzMDE2MDcsMTk1MzQ5LDE5NDc3MSwyOTMwNDEsMzAxMTIxLDI5MzA0MiwyOTMwNDMsMzAxMTE2LDE2NjM4MiwzNzY3MSw0OTk1MywyMjA2NjksNjAwMDAxLDYwMDAwMiw2RTUsMzM1MTM0LDI0OTIyOSwyMTM3NzQsMjA0NTcyLDE5MTM4OSwyNzIyNTQsMjcyMjUzLDI1MzgzMCwyNTM4MzEsMjUzODMyLDI3MjI1MiwyNTM4MzMsMjUzODM0LDIwNDU3NCwxOTEzOTAsMTc5NTU2LDIzODU5NiwyMTI2NjEsMTkxMzkyLDE5NzgyNiwxOTEzOTMsMjA0NTczLDM2MjE2LDI4MjM3LDI0MTIxMiwyNzIwNDksMTczNzE4LDM5NTUzLDE5MjU0NywyOTIyMiwzMDQ4NDUsMjYxMDcsMjQxMjExLDM4MDUwLDI2MTA4LDI3NTgxMCwxMjA3NDUsMjYxMDksMjYxMTAsNjY4ODEsMjgyMzYsMTQ1ODYsMjk3NjcyLDE2MDU5OCw1NzkyOSwyMjY3MzYsNzQ3MjMsNDQwOTgsMTczNjg5LDQ0MDk5LDIzNTI4LAo2MTY5OSwxMzQxMDQsMTM0MTAzLDE5ODMxMyw1OTE0OSwxODEwMTMsMjc4MzA2LDI4MjQ3MiwyNzc4NDgsMTczMTkxLDE3MzE5MiwxNzMxOTMsMTAxOTUxLDE3MTUwMiwxOTYwNDMsMTk4MzA1LDk3MzQ2LDExODA1MSw5NTEwMiw2NDg4MiwxMTk1MDUsNjM1OTUsMjk0MTE5LDI1NzI2OCw2MzM0OSwyODExMjcsMjQwNTUzLDk1MTAxLDc1MjQwLDI3MDM5LDY4ODIzLDIxNTM3LDgzNDY0LDc1NzA3LDI1MjkwNCwxNzAyMTUsMjIzMDMzLDgzMTEzLDEwMTk1MiwxMDE5NTMsNzk2MTAsMTI1NzU1LDI0NDAyLDI0NDAwLDMyOTI1LDE5MzQwNiw1NzE3MywxODMzNTEsMTU2NDIxLDEyMjUwMiwxNDUyNjgsMTM4NDgwLDY0NDIzLDY0NDI0LDMzOTg2LDEwMDgyOCwxMjkwODksMjk5NTQxLDIxNDA5LDI4MjIxOCwyOTk1MDYsMzMzOTU2LDI5OTU0MCwyOTk1MDcsMjk5NTA5LDI5OTUzOSwyOTk1MDgsMjk5NTEwLDE4NTYxMiwyMjI4MjUsMzIzMzMxLDI0NTM2NiwxMzUxNTUsMTM1MTU2LDEzNTE1NywKMTM1MTU4LDE1ODIyNSwxMzUxNTksMTM1MTYwLDE2NzY1MSwxMzUxNjEsMTM1MTYyLDEzNTE2MywxNTgyMjYsMTU4MjI3LDEzNTE2NCwxMzUxNjUsMTM1MTY2LDExMDcwLDExMDc0LDE3ODgwLDI3MDU2MCwzMDcwOSwzMDcwNywzMDcxMSwzMDcxMCwzMDcwOCwxODUyMTMsMTg1MjczLDE0NjE0Myw2MzY0OCw2MzY0OSwyMjEwNTYsMjY0NDkwLDIxMTE4OSwxMTEwNTksMjExMTg4LDU3NTQsMjY0NDkxLDIwNDQ1LDIzMzQ3MSwxNTEzMDgsMzEzNzUwLDE1MTE1MiwyMjgwNjcsMTMwOTc1LDEzMDk3NiwyNDcyNDQsMjcxNjIyLDI3MTgxMywyNjEyMTAsMjEwODE1LDI5NTA2OSwyNDYxMjcsMzE2ODU4LDI0NTI1NiwyNDQ5NTAsMTkxOTI1LDE2NzYzNywyMzQ1NDUsMTk3MTk2LDMwMjczNSwyMTQyOTUsMTEwMzg2LDIyMTA1NCwyNzM5NjAsMjgyMTExLDMxMjI5MCwxMTM3NDYsMzI1NTkzLDI2ODg4Niw2NjU1NywxODMyMTUsMTczMTAsMjg2MzEsMjAxOTM1LDIxNTg5LDI0MjAzNiwyMzgzNTEsCjE2NDgxNywxNjgwMTEsMTU0OTQ2LDY4MDEyLDE2MjYxNyw2MDQ4MCwxODQ0MzEsMTM4NjY0LDI5NDA4OSwyNDk4MjcsMTk0RTMsMTQxMTIxLDE2NDUwMiwzMTU3MSwxOTUwMDIsMjA2NzkzLDE0MTk3OCwyMzM5ODUsMjUwODk1LDI1NDA1MiwyNTQwNTMsMjU0MDU0LDI1NDA1MSwyNTQwNTAsMjU0MDU1LDE1MDEwNSwzMDQxNjksMTUwMTA2LDE1MDEwNywxNTAxMDgsNzY5ODAsNDE1NzcsNDU0NjksMzg2NjksMTM3NjgsMTM3NzcsMTQxODQyLDYyOTg1LDIxMzE5MCw0NzI0LDIyMzA1Miw1OTM2OSw0MzkyNyw0MzkyOCwxMjkyNCwxOTc4NTMsMTAwMzU1LDU2MjE5LDI3NjY5LDIwOTkyOCwxMDMzNywyMDM2NDgsMjAzNjQ5LDQ3ODk2LDMyNjkzNywxMjI2MjksMTg2MjA0LDIyMjgyNCwyNzU4NjksMzEyMjk1LDI3MTY3MywyNzQ2MzcsMzE3NDYyLDEzOTcyMywxMzk3MjIsMTIxMjU4LDI1Mzc4OSwyNTM3ODcsMjUzNzg2LDI1Mzc4OCwyNTM3OTAsMTA3NTk4LDEyNzk5MSw5NjYzOSwxMDc1MzYsCjEzMDE2OSwyMTY1MjIsMjk2MzE2LDk2NjYxLDE0NTE4OCwzMjA0MjgsMjEzOTA0LDI2OTM0Miw5NjY1OCwxMTY2NDYsMTU5NDI4LDE2ODYxMSwxNjg2MTIsMTIxMTIyLDIxOTg2Miw5NjY2MCwyODIyMDgsMTI3NzM4LDEyNzA4MywxNTUyODEsMTYyOTU5LDIyMDg4NiwyMjczNTYsMjQ4MDA3LDE2MzU2NiwzMDc2NDYsMTg2NjQxLDE0Nzg0MiwyNzM2NDYsMjczNjQ3LDIxNzkzMiwxMDQ0NDMsOTY2NTksMTQ3NTk1LDEwNjQ0MiwyNDcxNjIsMjMxNDkzLDIxMzQyNywyOTY4MTMsMjQ2NTc1LDE4MjQyMywxNjI3NzYsMjI4OTA4LDEzNDg0MCw2MzY2Nyw2MzY2OCw2MzY2OSwxMzA2ODYsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBtUVM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZihXLmlucHV0Lm1hdGNoKExCKE40aCkpKXt2YXIgRD1uPy5lbmRwb2ludDtXPWcudyhELFRlKT8udW5zZXJpYWxpemVkUHJlZmV0Y2hEYXRhO2lmKEQmJlcpe249dGhpcy5OO3ZhciBiPShuZXcgc29iKS5YKEQpLHY9Zy53KFcsRCRyKTtsZXQgaz12Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMmJk51bWJlcih2Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpPjA/TnVtYmVyKHY/LnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcyk6NjAwO3YmJmImJms+MCYmKHY9RWUodixrKSxuLnB1dChiLG5ldyBiaCh2KSkpO0Q9KG5ldyBLSFMpLlgoRCk7Vz1nLncoVyxhSncpO2I9Vz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzJiZOdW1iZXIoVz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzKT4wP051bWJlcihXPy5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpOgo2MDA7VyYmRCYmYj4wJiYoVz1FZShXLGIpLG4ucHV0KEQsbmV3IGJoKFcpKSl9fX19O21RU1tnLkxYXT1bQmVdO25mKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX01BTlVBTF9ET1dOTE9BRFMiLCJtYWluRG93bmxvYWRzTGlzdEVudGl0eSIpO25mKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtuZigiU01BUlRfRE9XTkxPQURTX0VOQUJMRUQiLCJzZXR0aW5nRW50aXR5Iik7dmFyIHd5aD1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSxPNng9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy5PMT1udWxsO3RoaXMuRGE9dm9pZCAwfWluaXRpYWxpemUobixXLEQsYil7dGhpcy5EYT1iO2lmKG4ucHJvZ3JhbSl7dmFyIHY7Yj1uLmludGVycHJldGVyVXJsPz9udWxsO24uaW50ZXJwcmV0ZXJTYWZlU2NyaXB0P3Y9Tk4obi5pbnRlcnByZXRlclNhZmVTY3JpcHQpOnY9bi5pbnRlcnByZXRlclNjcmlwdD8/bnVsbDtuLmludGVycHJldGVyU2FmZVVybCYmKGI9cHcobi5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO0Y0Yih0aGlzLHYsYixuLnByb2dyYW0sVyxEKX1lbHNlIGcuR3EoRXJyb3IoIkJMOkNJUCIpKX1pc0luaXRpYWxpemVkKCl7cmV0dXJuIHRoaXMuSigpfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuc3RhdGV9aXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0KMn1pbnZva2Uobj17fSl7cmV0dXJuIHRoaXMuSigpP3RoaXMuVyh7d186bn0pOm51bGx9ZGlzcG9zZSgpe3RoaXMuTihudWxsKTt0aGlzLnZWKDgpfUooKXtyZXR1cm4hIXRoaXMuTzF9VyhuKXtyZXR1cm4gdGhpcy5PMS5tNShuKX1OKG4pe2cuQ3AodGhpcy5PMSk7dGhpcy5PMT1ufXZWKG4pe3RoaXMuc3RhdGU9bn19O3ZhciBQQU09Y2xhc3MgZXh0ZW5kcyBPNnh7TihuKXtKaigpPy5iZ3ZtYSgpO2lmKG4pe2xldCBXPXtiZ3ZtYTpuLmRpc3Bvc2UuYmluZChuKSxiZ3ZtYjpuLnNuYXBzaG90LmJpbmQobiksYmd2bWM6bi5tNS5iaW5kKG4pfTtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLFcpO2cueWooRD0+bi5zbmFwc2hvdChEKSl9ZWxzZSBnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLGcuR2IoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9Sigpe3JldHVybiEhSmooKX1XKG4pe3JldHVybiBKaigpLmJndm1jKG4pfX07dmFyIFpMPXtBRF9NQVJLRVI6Inl0cC1hZC1wcm9ncmVzcyIsQ0hBUFRFUl9NQVJLRVI6Inl0cC1jaGFwdGVyLW1hcmtlciIsVElNRV9NQVJLRVI6Inl0cC10aW1lLW1hcmtlciJ9O3ZhciBzMz12b2lkIDA7dmFyIEgkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPW5ldyBTZXQ7dGhpcy5KPW5ldyBTZXQ7dGhpcy5qPW5ldyBNYXA7dGhpcy5jbGllbnQ9dm9pZCAwO3RoaXMuY3NuPW51bGx9VyhuKXt0aGlzLmNsaWVudD1ufU4oKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Zy5SdigpfWNsZWFyKCl7dGhpcy5YLmNsZWFyKCk7dGhpcy5KLmNsZWFyKCk7dGhpcy5qLmNsZWFyKCk7dGhpcy5jc249bnVsbH19O3ZhciBVMz1jbGFzc3tXKG4pe1BWKGZpKCkuVykuYmluZChmaSgpKShuKX1jbGVhcigpe1BWKGZpKCkuY2xlYXIpLmJpbmQoZmkoKSkoKX19O3ZhciBKWD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1bXTt0aGlzLk89W107dGhpcy5LPW5ldyBNYXA7dGhpcy5UQz1uZXcgTWFwO3RoaXMuVj1bXTt0aGlzLmNKPVtdO3RoaXMuWD1uZXcgTWFwO3RoaXMuWT1uZXcgTWFwO3RoaXMuSj1uZXcgTWFwO3RoaXMuTj1uZXcgU2V0O3RoaXMuUyQ9bmV3IE1hcH1XKG4pe3RoaXMuY2xpZW50PW59YmQobixXPXt9KXtQVigoKT0+e3ZhciBEPWcudyhuPy5jb21tYW5kTWV0YWRhdGEscGopPy5yb290VmV8fGcudyhuPy5jb21tYW5kTWV0YWRhdGEsWnNyKT8uc2NyZWVuVmlzdWFsRWxlbWVudD8udWlUeXBlO2lmKEQpe3ZhciBiPWcudyhuPy5jb21tYW5kTWV0YWRhdGEsYk1yKTtpZihiPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIHY9VFUoYi5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoYi5wYXJlbnRDc24pdmFyIGs9Yi5wYXJlbnRDc259ZWxzZSBXLmNsaWNrZWRWaXN1YWxFbGVtZW50P3Y9Vy5jbGlja2VkVmlzdWFsRWxlbWVudDpuLmNsaWNrVHJhY2tpbmdQYXJhbXMmJgoodj1UVShuLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntiPWcudyhuLGcuSVEpO3ZhciBoPWcudyhuLHpPdyk7aWYoYil7aWYoaD10WChiLCJWSURFTyIpKXtiPXt0b2tlbjpoLHZpZGVvSWQ6Yi52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGgmJihiPXRYKGgsIlBMQVlMSVNUIikpKXtiPXt0b2tlbjpiLHBsYXlsaXN0SWQ6aC5wbGF5bGlzdElkfTticmVhayBhfWI9dm9pZCAwfVc9e2N0dEF1dGhJbmZvOmIscGFyZW50Q3NuOmssLi4uV307Zy5sKCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihXLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Zy53KG4/LmNvbW1hbmRNZXRhZGF0YSxac3IpPy5sb2dnaW5nRXhwZWN0YXRpb25zfHx2b2lkIDApO21VKHRoaXMsRCx2LFcpfWVsc2UgZy5HcShuZXcgZy5ReCgiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixuKSl9KSgpfWNsaWNrQ29tbWFuZChuLFcsRD0wKXtyZXR1cm4gZ25aKHRoaXMsbi5jbGlja1RyYWNraW5nUGFyYW1zLApXLEQpfXN0YXRlQ2hhbmdlZChuLFcsRD0wKXt0aGlzLnZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQoVFUobiksVyxEKX12aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKG4sVyxEPTApe0Q9PT0wJiZ0aGlzLk4uaGFzKEQpP3RoaXMuTy5wdXNoKFtuLApXXSk6UCQodGhpcyxuLFcsRCl9blQobil7dmFyIFc9bi5jcG4sRD1TMih0aGlzLDApO2lmKEQubGVuZ3RoJiZEW0QubGVuZ3RoLTJdPy5jcG4hPT1XJiYoRD1nLlJ2KCksVyYmRCYmRCE9PSJVTkRFRklORURfQ1NOIikpe3ZhciBiO24uaXRjdCYmKGI9VFUobi5pdGN0fHwiIikpO2xldCB2PXt9O2cubCgid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfbG9nX2N0dCIpJiZuLmtXJiYodi5jdHRBdXRoSW5mbz17dG9rZW46bi5rVyx2aWRlb0lkOm4udmlkZW9JZH0pO249e2NwbjpXLGNzbjpEfTtnLmwoIndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlIikmJmImJihGaihELGIpLG4ucGxheWJhY2tWZT1iLmdldEFzSnNvbigpKTtnLnpVKCJwbGF5YmFja0Fzc29jaWF0ZWQiLG4sdik7Yj1TMih0aGlzLDApO2JbYi5sZW5ndGgtMV0uY3BuPVd9fX07dmFyIEUzPWNsYXNze2ZldGNoKG4sVyxEKXt2YXIgYj1YT2IobixXLEQpO3JldHVybiBuZXcgUHJvbWlzZSgodixrKT0+e3ZhciBoPSgpPT57aWYoRD8uTGQpdHJ5e2xldCB4PXRoaXMuaGFuZGxlUmVzcG9uc2UobixiLnN0YXR1cyxiLnJlc3BvbnNlLEQpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIHYodGhpcy5oYW5kbGVSZXNwb25zZShuLGIuc3RhdHVzLGIucmVzcG9uc2UsRCkpfTsKYi5vbmVycm9yPWg7Yi5vbmxvYWQ9aDtiLnNlbmQoVy5ib2R5Pz9udWxsKX0pfWhhbmRsZVJlc3BvbnNlKG4sVyxELGIpe0Q9KER8fCIiKS5yZXBsYWNlKCIpXX0nIiwiIik7CnRyeXt2YXIgdj1KU09OLnBhcnNlKEQpfWNhdGNoKGspe2cuR3EobmV3IGcuUXgoIkpTT04gcGFyc2luZyBmYWlsZWQgYWZ0ZXIgWEhSIGZldGNoIixuLFcsRCkpO2lmKGI/LkxkJiZEKXRocm93IG5ldyBvOCgiSlNPTiBwYXJzaW5nIGZhaWxlZCBhZnRlciBYSFIgZmV0Y2giKTt2PXt9fVchPT0yMDAmJihnLkdxKG5ldyBnLlF4KCJYSFIgQVBJIGZldGNoIGZhaWxlZCIsbixXLEQpKSx2PXsuLi52LGVycm9yTWV0YWRhdGE6e3N0YXR1czpXfX0pO3JldHVybiB2fX07dmFyIFo2aj1jbGFzc3tzdGF0aWMgZ2V0SW5zdGFuY2UoKXt2YXIgbj1nLnJyKCJ5dGdsb2JhbC5zdG9yYWdlXyIpO258fChuPW5ldyBaNmosZy5HYigieXRnbG9iYWwuc3RvcmFnZV8iLG4pKTtyZXR1cm4gbn1hc3luYyBlc3RpbWF0ZSgpe3ZhciBuPW5hdmlnYXRvcjtpZihuLnN0b3JhZ2U/LmVzdGltYXRlKXJldHVybiBuLnN0b3JhZ2UuZXN0aW1hdGUoKTtpZihuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YSlyZXR1cm4gcWZTKCl9fTtnLkdiKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixaNmopO3ZhciBqaVU9a08oInl0LXBsYXllci1sb2NhbC1tZWRpYSIse0tjOntpbmRleDp7dng6Mn0sbWVkaWE6e3Z4OjJ9LGNhcHRpb25zOnt2eDo1fX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDIpJiYoWnkobiwiaW5kZXgiKSxaeShuLCJtZWRpYSIpKTtXKDUpJiZaeShuLCJjYXB0aW9ucyIpO1coNikmJihVUihuLCJtZXRhZGF0YSIpLFVSKG4sInBsYXllcmRhdGEiKSl9LHZlcnNpb246NX0pO3ZhciBVeng9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHVEO2E6e3ZhciBvVj1nLlhRKCk7b1Y9b1YudG9Mb3dlckNhc2UoKTtpZihvVi5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeVpoPW9WLm1hdGNoKC9hbmRyb2lkXHMqKFxkKyhcLlxkKyk/KVteO3wpXSpbOyldLyk7aWYoeVpoKXtsZXQgbj1wYXJzZUZsb2F0KHlaaFsxXSk7aWYobjwxMDApe3VEPW47YnJlYWsgYX19dmFyIEVnYj1vVi5tYXRjaCgiKCIrT2JqZWN0LmtleXMoVXp4KS5qb2luKCJ8IikrIikiKTt1RD1FZ2I/VXp4W0VnYlswXV06MH1lbHNlIHVEPXZvaWQgMH12YXIgZG49dUQsTkY9ZG4+PTA7dmFyIHo4O3t2YXIgaTZoPWcuWFEoKTtsZXQgbj1pNmgubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighbnx8bi5sZW5ndGg8Mil6OD12b2lkIDA7ZWxzZXt2YXIgbEQ9aTZoLm1hdGNoKC9cKChpUGFkfGlQaG9uZXxpUG9kKSggU2ltdWxhdG9yKT87IChVOyApP0NQVSAoaVBob25lICk/T1MgKFxkK19cZClbXyBdLyk7ejg9bEQmJmxELmxlbmd0aD09PTY/TnVtYmVyKGxEWzVdLnJlcGxhY2UoIl8iLCIuIikpOjB9fXZhciB2aj16OCx4ST12aj49MDt2YXIgb2Y7Zy51Wj1uZXcgUEFNO29mPTA7Zy5GTFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy52aWRlb0RhdGE9bjt0aGlzLk49e2MxYTooKT0+e3ZhciBXPVtdO2lmKGcudVouaXNJbml0aWFsaXplZCgpKXt2YXIgRD0iIjt0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEsmJihEPXRoaXMudmlkZW9EYXRhLnBLK2AmcjFiPSR7dGhpcy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZX1gKTtEPXthdHJfY2hhbGxlbmdlOkR9O2cuZ18oImJnX3YiLHZvaWQgMCwicGxheWVyX2F0dCIpOyhEPXI5UyhEKSk/KGcuZ18oImJnX3MiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaChgcjFhPSR7RH1gKSk6KGcuZ18oImJnX2UiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaCgicjFjPTIiKSl9ZWxzZSBnLmdfKCJiZ19lIix2b2lkIDAsInBsYXllcl9hdHQiKSx3aW5kb3cudHJheXJpZGV8fHdpbmRvdy5ib3RndWFyZD9XLnB1c2goInIxYz0xIik6Vy5wdXNoKCJyMWM9NCIpO1cucHVzaChgcjFkPSR7Zy51Wi5nZXRTdGF0ZSgpfWApOwpyZXR1cm4gVy5qb2luKCImIil9LApjNmE6Vz0+InI2YT0iKyhOdW1iZXIoVy5jKV5MYygpKSwKYzZiOlc9PmByNmI9JHtOdW1iZXIoVy5jKV5OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpfWB9Owp0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEs/dGhpcy5SUj1nLml3KHRoaXMudmlkZW9EYXRhLnBLKTp0aGlzLlJSPXt9fX07Zy5DaT1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30sRD0wKXt0aGlzLmVycm9yQ29kZT1uO3RoaXMuZGV0YWlscz1XO3RoaXMuc2V2ZXJpdHk9RH19O3ZhciB0SD17RUk6ZnVuY3Rpb24obixXKXt2YXIgRD1uWzBdO25bMF09bltXJW5bSVs1XV1dO25bVyVuW0lbNV1dXT1EfSwKT1c6ZnVuY3Rpb24obixXKXtuW0lbM11dKDAsVyl9LApHRzpmdW5jdGlvbihuKXtuW0lbMjVdXSgpfX07dmFyIHV2TT17UmQ6ImFkdW5pdCIsaFE6ImRldGFpbHBhZ2UiLGt3OiJlZGl0cGFnZSIsVE86ImVtYmVkZGVkIixEcDoibGVhbmJhY2siLEY3OiJwcmV2aWV3cGFnZSIsRE06InByb2ZpbGVwYWdlIixrUzoidW5wbHVnZ2VkIixNbjoicGxheWxpc3RvdmVydmlldyIsVUM6InNwb25zb3JzaGlwc29mZmVyIixCYToic2hvcnRzcGFnZSIsZEw6ImhhbmRsZXNjbGFpbWluZyIsaF86ImltbWVyc2l2ZWxpdmVwYWdlIix6TzoiY3JlYXRvcm11c2ljIixYSjoiaW1tZXJzaXZlbGl2ZXByZXZpZXdwYWdlIixZWDoiYWRtaW50b29seXVydCIsbk06InNob3J0c2F1ZGlvcGl2b3QiLHlfOiJjb25zdW1wdGlvbiIsZUw6ImJhY2tncm91bmRfYXVkaW9fcGxheWJhY2siLFVfOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RzX3BhZ2UiLEdPOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RfZGV0YWlsc19wYWdlIn07dmFyIG9nMj1bImgiLCJIIl0sZHppPVsiOSIsIigiXSx6cmg9WyI5aCIsIihoIl0sbEhoPVsiOCIsIioiXSxUdGk9WyJhIiwiQSJdLGpvaT1bIm8iLCJPIl0sQ0FiPVsibSIsIk0iXSxCdGk9WyJtYWMzIiwiTUFDMyJdLEZIdz1bIm1lYWMzIiwiTUVBQzMiXSxibz17aDpvZzIsSDpvZzIsWyI5Il06ZHppLFsiKCJdOmR6aSxbIjloIl06enJoLFsiKGgiXTp6cmgsWyI4Il06bEhoLFsiKiJdOmxIaCxhOlR0aSxBOlR0aSxvOmpvaSxPOmpvaSxtOkNBYixNOkNBYixtYWMzOkJ0aSxNQUMzOkJ0aSxtZWFjMzpGSHcsTUVBQzM6Rkh3fSx3Rlo9bmV3IFNldCgibyBPIGEgYWggQSBtIE0gbWFjMyBNQUMzIG1lYWMzIE1FQUMzIHNvIHNhIi5zcGxpdCgiICIpKSxwTGo9bmV3IFNldCgibSBNIG1hYzMgTUFDMyBtZWFjMyBNRUFDMyIuc3BsaXQoIiAiKSk7dmFyIEZCVT17ak06MCxObToxMjQsZDQ6MTQ0LEp6OjIyMCx5VjoyNDAsYjY6MzQwLFdhOjM2MCx6NTo0ODAsaHo6NTg4LG1wOjYwOCxYczo3MjAscW06NzQwLHc0OjEwODAsQzQ6MTEwMCxvNjoxNDQwLFBhOjIxNjAsaTY6OTk5OSwwOiJRVUFMSVRZX09SRElOQUxfVU5LTk9XTiIsMTI0OiJRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUiIsMTQ0OiJRVUFMSVRZX09SRElOQUxfMTQ0UCIsMjIwOiJRVUFMSVRZX09SRElOQUxfMjQwUF9TQVZFUiIsMjQwOiJRVUFMSVRZX09SRElOQUxfMjQwUCIsMzQwOiJRVUFMSVRZX09SRElOQUxfMzYwUF9TQVZFUiIsMzYwOiJRVUFMSVRZX09SRElOQUxfMzYwUCIsNDgwOiJRVUFMSVRZX09SRElOQUxfNDgwUCIsNTg4OiJRVUFMSVRZX09SRElOQUxfNjA4UF9TQVZFUiIsNjA4OiJRVUFMSVRZX09SRElOQUxfNjA4UCIsNzIwOiJRVUFMSVRZX09SRElOQUxfNzIwUCIsNzQwOiJRVUFMSVRZX09SRElOQUxfNzIwUF9FTkhBTkNFRCIsMTA4MDoiUVVBTElUWV9PUkRJTkFMXzEwODBQIiwKMTEwMDoiUVVBTElUWV9PUkRJTkFMXzEwODBQX0VOSEFOQ0VEIiwxNDQwOiJRVUFMSVRZX09SRElOQUxfMTQ0MFAiLDIxNjA6IlFVQUxJVFlfT1JESU5BTF8yMTYwUCIsOTk5OToiUVVBTElUWV9PUkRJTkFMX0hJR0hSRVMifTt2YXIgTkc9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9LExnPXswOiJhdXRvIiwxNDQ6InRpbnkiLDI0MDoic21hbGwiLDM2MDoibWVkaXVtIiw0ODA6ImxhcmdlIiw3MjA6ImhkNzIwIiwxMDgwOiJoZDEwODAiLDE0NDA6ImhkMTQ0MCIsMjE2MDoiaGQyMTYwIiwyODgwOiJoZDI4ODAiLDQzMjA6ImhpZ2hyZXMifSxOej17UVVBTElUWV9PUkRJTkFMX1VOS05PV046MCxRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUjoxMjQsUVVBTElUWV9PUkRJTkFMXzE0NFA6MTQ0LFFVQUxJVFlfT1JESU5BTF8yNDBQX1NBVkVSOjIyMCxRVUFMSVRZX09SRElOQUxfMjQwUDoyNDAsUVVBTElUWV9PUkRJTkFMXzM2MFBfU0FWRVI6MzQwLFFVQUxJVFlfT1JESU5BTF8zNjBQOjM2MCxRVUFMSVRZX09SRElOQUxfNDgwUDo0ODAsClFVQUxJVFlfT1JESU5BTF82MDhQX1NBVkVSOjU4OCxRVUFMSVRZX09SRElOQUxfNjA4UDo2MDgsUVVBTElUWV9PUkRJTkFMXzcyMFA6NzIwLFFVQUxJVFlfT1JESU5BTF83MjBQX0VOSEFOQ0VEOjc0MCxRVUFMSVRZX09SRElOQUxfMTA4MFA6MTA4MCxRVUFMSVRZX09SRElOQUxfMTA4MFBfRU5IQU5DRUQ6MTEwMCxRVUFMSVRZX09SRElOQUxfMTQ0MFA6MTQ0MCxRVUFMSVRZX09SRElOQUxfMjE2MFA6MjE2MCxRVUFMSVRZX09SRElOQUxfSElHSFJFUzo5OTk5fTt2YXIgJGQ9MjU5MkUzO2cuT249e1NUT1BfRVZFTlRfUFJPUEFHQVRJT046Imh0bWw1LXN0b3AtcHJvcGFnYXRpb24iLElWX0RSQVdFUl9FTkFCTEVEOiJ5dHAtaXYtZHJhd2VyLWVuYWJsZWQiLElWX0RSQVdFUl9PUEVOOiJ5dHAtaXYtZHJhd2VyLW9wZW4iLE1BSU5fVklERU86Imh0bWw1LW1haW4tdmlkZW8iLFZJREVPX0NPTlRBSU5FUjoiaHRtbDUtdmlkZW8tY29udGFpbmVyIixWSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORzoiaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmciLEhPVVNFX0JSQU5EOiJob3VzZS1icmFuZCJ9O3ZhciBQbj17YWxsb3dlZDoiQVVUT1BMQVlfQlJPV1NFUl9QT0xJQ1lfQUxMT1dFRCIsImFsbG93ZWQtbXV0ZWQiOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9BTExPV0VEX01VVEVEIixkaXNhbGxvd2VkOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9ESVNBTExPV0VEIn07dmFyIGNLTT17QU5EUk9JRDozLEFORFJPSURfS0lEUzoxOCxBTkRST0lEX01VU0lDOjIxLEFORFJPSURfVU5QTFVHR0VEOjI5LFdFQjoxLFdFQl9SRU1JWDo2NyxXRUJfVU5QTFVHR0VEOjQxLElPUzo1LElPU19LSURTOjE5LElPU19NVVNJQzoyNixJT1NfVU5QTFVHR0VEOjMzfSx1Sj17YW5kcm9pZDoiQU5EUk9JRCIsImFuZHJvaWQuayI6IkFORFJPSURfS0lEUyIsImFuZHJvaWQubSI6IkFORFJPSURfTVVTSUMiLCJhbmRyb2lkLnVwIjoiQU5EUk9JRF9VTlBMVUdHRUQiLHlvdXR1YmU6IldFQiIsInlvdXR1YmUubSI6IldFQl9SRU1JWCIsInlvdXR1YmUudXAiOiJXRUJfVU5QTFVHR0VEIix5dGlvczoiSU9TIiwieXRpb3MuayI6IklPU19LSURTIiwieXRpb3MubSI6IklPU19NVVNJQyIsInl0aW9zLnVwIjoiSU9TX1VOUExVR0dFRCJ9LE00Uz17Im1keC1wYWlyIjoxLCJtZHgtZGlhbCI6MiwibWR4LWNhc3QiOjMsIm1keC12b2ljZSI6NCwibWR4LWluYXBwZGlhbCI6NX07dmFyIExHMT17aV86MSxZdzoyLFBBVVNFRDozLDE6IkRJU0FCTEVEIiwyOiJFTkFCTEVEIiwzOiJQQVVTRUQifTt2YXIgZXh4PVJlZ0V4cCgiXmh0dHBzPzovLyhbXi5dKlxcLm1vYXRhZHNcXC5jb20vfGVbMC05XStcXC55dFxcLnNyc1xcLmRvdWJsZXZlcmlmeVxcLmNvbXxwYWdlYWQyXFwuZ29vZ2xlc3luZGljYXRpb25cXC5jb20vcGFnZWFkL2dlbl8yMDRcXD9pZD15dDNwJnNyPTEmfHBtXFwuYWRzYWZlcHJvdGVjdGVkXFwuY29tL3lvdXR1YmV8cG1cXC50ZXN0LWFkc2FmZXByb3RlY3RlZFxcLmNvbS95b3V0dWJlfHlvdXR1YmVbMC05XStcXC5tb2F0cGl4ZWxcXC5jb20vKSIpLGxKPVJlZ0V4cCgiXmh0dHBzOi8vKFthLXpdK1xcLik/WzAtOWEtZl17MSw2M31cXC5zc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20vfF5odHRwczovLyhbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbS98Xmh0dHBzPzovLygoWy1cXHddKnd3d1stXFx3XSpcXC58Wy1cXHddKndlYlstXFx3XSpcXC58Wy1cXHddKmNhbmFyeVstXFx3XSpcXC58Wy1cXHddKmRldlstXFx3XSpcXC58Wy1cXHddezEsM31cXC4pKyhjb3JwXFwuKT95b3V0dWJlKC1ub2Nvb2tpZXxraWRzfGVkdWNhdGlvbik/XFwuY29tL3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooeW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuKFthLXpdezN9fGkpXFwuY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPy98KGRvY3N8ZHJpdmUpXFwuZ29vZ2xlXFwuY29tLyhhL1teL1xcXFwlXSsvfCl8KG11c2ljfG11c2ljLWdyZWVuLXFhfG11c2ljLXJlbGVhc2UtcWF8eXQtbXVzaWMtZ3JlZW5cXC5jb3JwKVxcLnlvdXR1YmVcXC5jb20vfCh0dnx0di1ncmVlbi1xYXx0di1ncmVlbi1xYVxcLmNvcnB8dHYtcmVsZWFzZS1xYXx0di1yZWxlYXNlLXFhXFwuY29ycHx0di1pbnRlZ3JhdGlvbi1xYXx0di1pbnRlZ3JhdGlvbi1xYVxcLmNvcnB8eXQtdHYtYXV0b3B1c2hcXC5jb3JwfHl0LXR2LWludGVncmF0aW9uXFwuY29ycHx5dC10di1zdGFnaW5nXFwuY29ycClcXC55b3V0dWJlXFwuY29tL3xbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vKSIpLApndGo9UmVnRXhwKCJeaHR0cHM/Oi8vKHd3d1xcLmdvb2dsZVxcLmNvbS9wYWdlYWQveHN1bHx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9zbGF2KSIpLHg1cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bWFpbFxcLmdvb2dsZVxcLmNvbXx5b3V0dWJlXFwuY29tfHlvdXR1YmVlZHVjYXRpb25cXC5jb218eW91dHViZVxcLW5vY29va2llXFwuY29tfHlvdXR1YmVraWRzXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpKSIpLApMaHQ9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLGs3cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbSlbLl0/KDpbMC05XSspPy98KFtBLVphLXowLTktXXsxLDYzfVxcLikqKHNhbmRib3hcXC5nb29nbGVcXC5jb20pKDpbMC05XSspPygvKD8hdXJsXFxiKXwkKSkiKSwKRDVVPVJlZ0V4cCgiXigoaHR0cChzKT8pOik/XFwvXFwvKCgoKGxoWzMtNl0oLXR0fC1kW2EtZyx6XSk/XFwuKChnZ3BodCl8KGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKXwoc2FuZGJveFxcLmdvb2dsZSkpKXwobGg3XFwtKGV1fHVzfHF3fHJ0fHh4KVxcLigoZ29vZ2xldXNlcmNvbnRlbnQpfChnb29nbGUpKSl8KChwaG90b3N8dGVzdG9ubHl8d29yaylcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfChbXFx3XFwtXStcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfCgoWzEtNF1cXC5icFxcLmJsb2dzcG90KXwoYnBbMC0zXVxcLmJsb2dnZXIpKXwoY2NwLWxoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfCgoKChjcHxjaXxncClbMy02XSl8KGFwWzEtMl0pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpfChnbVsxLTRdXFwuZ2dwaHQpfChwbGF5LSh0aS0pP2xoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChnelswLTFdXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChsaDNcXC1nbVxcLmdvb2dsZSl8KCgoeXRbMy00XSl8KHNwWzEtM10pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpKVxcLmNvbSl8KGRyaXZlXFwuZ29vZ2xlXFwuY29tXFwvZHJpdmVcXC0odXNlcmNvbnRlbnR8dmlld2VyKSl8KGRwWzMtNl1cXC5nb29nbGV1c2VyY29udGVudFxcLmNuKXwoZHA0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20pfCgocGhvdG9zfGRyaXZlfGNvbnRyaWJ1dGlvbilcXC1pbWFnZVxcLShkZXZ8cWEpKC11c3wtZXUpPygtYXV0aHwtY29va2llKT9cXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwocGhvdG9zXFwtaW1hZ2VcXC1kZXZcXC1kbFxcLShhdXRofGV1fHVzKVxcLmNvcnBcXC5nb29nbGVcXC5jb20pfCgoZGV2fGRldjJ8ZGV2M3xxYXxxYTJ8cWEzfHFhLXJlZHxxYS1ibHVlfGNhbmFyeSlbLS5dbGlnaHRob3VzZVxcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC9pbWFnZSl8KGltYWdlXFwtKGRldnxxYSlcXC1saWdodGhvdXNlKC1hdXRoKT9cXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tKFxcL2ltYWdlKT8pfChkcml2ZVxcLXFhXFwuY29ycFxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkb2NzKFxcLShkZXZ8cWEpXFwuY29ycCk/XFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pPyhkb2NzfHNoZWV0c3xzbGlkZXN8ZHJhd2luZ3N8Zm9ybXN8dmlkZW9zfHBpY3R1cmVzKVxcLWltYWdlc1xcLShydHxxdykpfChkb2NzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXMpfChzaXRlc1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXNcXC0ocnR8cXcpKXwoYXRhcmktZ3JlZW4tdGVzdFxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KHNpdGVzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXMpKVxcL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzPzovLygoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY29ycFxcLmdvb2dsZVxcLmNvbXxwcm94eVxcLmdvb2dsZXByb2RcXC5jb218Y1xcLmdvb2dsZXJzXFwuY29tfHByb3h5XFwuZ29vZ2xlcnNcXC5jb218Ym9yZ1xcLmdvb2dsZVxcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfGdvb2dsZXBsZXhcXC5jb218cGxheVxcLmdvb2dsZVxcLmNvbXxwcm9kXFwuZ29vZ2xlXFwuY29tfHZpZGVvXFwuZ29vZ2xlXFwuY29tfHlvdXR1YmVcXC5jb218eXRpbWdcXC5jb218eXRpbWdcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tfGNoYXRcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbQS1aYS16MC05LV17MSw2M31cXC4pKihzYW5kYm94XFwuZ29vZ2xlXFwuY29tKSg6WzAtOV0rKT8oLyg/IXVybFxcYil8JCl8czJcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbS9zMi9mYXZpY29uc1xcP3x5dFszLTRdXFwuZ2dwaHRcXC5jb20vKSIpLApiS1o9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFhLMj1SZWdFeHAoIl5odHRwcz8uKiNvY3IkfF5odHRwcz86Ly8oYWtzZWN1cmVcXC5pbXJ3b3JsZHdpZGVcXC5jb20vfGNkblxcLmltcndvcmxkd2lkZVxcLmNvbS98c2VjdXJlXFwtLi5cXC5pbXJ3b3JsZHdpZGVcXC5jb20vKSIpLHZFaD1SZWdFeHAoIl5odHRwcz86Ly8oZ29vZ2xlYWRzXFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0LyhhY2xrfHBhZ2VhZC9jb252ZXJzaW9uKXx3d3dcXC5nb29nbGVcXC5jb20vKGFjbGt8cGFnZWFkL2NvbnZlcnNpb24pfHd3d1xcLmdvb2dsZWFkc2VydmljZXNcXC5jb20vKGFjbGt8cGFnZWFkLyhhY2xrfGNvbnZlcnNpb24pKXx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9jb252ZXJzaW9uKSIpLG5Fdz1SZWdFeHAoIl4oKGh0dHAocyk/KTopP1xcL1xcLygoKChsaFszLTZdKC10dHwtZFthLWcsel0pP1xcLigoZ2dwaHQpfChnb29nbGV1c2VyY29udGVudCl8KGdvb2dsZSl8KHNhbmRib3hcXC5nb29nbGUpKSl8KGxoN1xcLShldXx1c3xxd3xydHx4eClcXC4oKGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKSkpfCgocGhvdG9zfHRlc3Rvbmx5fHdvcmspXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoW1xcd1xcLV0rXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoKFsxLTRdXFwuYnBcXC5ibG9nc3BvdCl8KGJwWzAtM11cXC5ibG9nZ2VyKSl8KGNjcC1saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoKCgoY3B8Y2l8Z3ApWzMtNl0pfChhcFsxLTJdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKXwoZ21bMS00XVxcLmdncGh0KXwocGxheS0odGktKT9saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoZ3pbMC0xXVxcLmdvb2dsZXVzZXJjb250ZW50KXwobGgzXFwtZ21cXC5nb29nbGUpfCgoKHl0WzMtNF0pfChzcFsxLTNdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKSlcXC5jb20pfChkcml2ZVxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkcFszLTZdXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jbil8KGRwNFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKXwoKHBob3Rvc3xkcml2ZXxjb250cmlidXRpb24pXFwtaW1hZ2VcXC0oZGV2fHFhKSgtdXN8LWV1KT8oLWF1dGh8LWNvb2tpZSk/XFwuY29ycFxcLmdvb2dsZVxcLmNvbSl8KHBob3Rvc1xcLWltYWdlXFwtZGV2XFwtZGxcXC0oYXV0aHxldXx1cylcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwoKGRldnxkZXYyfGRldjN8cWF8cWEyfHFhM3xxYS1yZWR8cWEtYmx1ZXxjYW5hcnkpWy0uXWxpZ2h0aG91c2VcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tXFwvaW1hZ2UpfChpbWFnZVxcLShkZXZ8cWEpXFwtbGlnaHRob3VzZSgtYXV0aCk/XFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbShcXC9pbWFnZSk/KXwoZHJpdmVcXC1xYVxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC9kcml2ZVxcLSh1c2VyY29udGVudHx2aWV3ZXIpKXwoZG9jcyhcXC0oZGV2fHFhKVxcLmNvcnApP1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXNcXC0ocnR8cXcpKXwoZG9jc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/KGRvY3N8c2hlZXRzfHNsaWRlc3xkcmF3aW5nc3xmb3Jtc3x2aWRlb3N8cGljdHVyZXMpXFwtaW1hZ2VzKXwoc2l0ZXNcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KGF0YXJpLWdyZWVuLXRlc3RcXC5jb3JwXFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pP3NpdGVzKHYpP1xcLWltYWdlc1xcLShydHxxdykpfChzaXRlc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzKSlcXC98Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC8oPyF1cmxcXGIpfCQpfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK3NzbHByb3h5XFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVwbGV4XFwuY29tfGdvb2dsZXZpZGVvXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bGgzXFwucGhvdG9zXFwuZ29vZ2xlXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5dFxcLmFrYW1haXplZFxcLm5ldHxjaGF0XFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfChbQS1aYS16MC05LV17MSw2M31cXC4pKmNcXC5saDMoLWRbYS1neXpdfC10ZXN0b25seSk/XFwuKGdvb2dsZXVzZXJjb250ZW50fHBob3Rvc1xcLmdvb2dsZSlcXC5jb20vLiokKSIpLApXaFo9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFJyaT1SZWdFeHAoIl5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGltYXNka1xcLmdvb2dsZWFwaXNcXC5jb218Mm1kblxcLm5ldHxnb29nbGVzeW5kaWNhdGlvblxcLmNvbXxjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfGdvb2dsZWFkc1xcLmdcXC5kb3VibGVjbGlja1xcLm5ldHxwcm9kXFwuZ29vZ2xlXFwuY29tfHN0YXRpY1xcLmRvdWJsZWNsaWNrXFwubmV0fHN0YXRpY1xcLmdvb2dsZWFkc3NlcnZpbmdcXC5jbnxzdHVkaW9hcGlcXC5kb3VibGVjbGlja1xcLm5ldHx5b3V0dWJlXFwuY29tfHlvdXR1YmVcXC5nb29nbGVhcGlzXFwuY29tfHlvdXR1YmVcXC1ub2Nvb2tpZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbXx5dGltZ1xcLmNvbXx5dGltZ1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfGxpZ2h0Ym94LShkZW1vc3xidWlsZGVyKVxcLmFwcHNwb3RcXC5jb20vfHNbMDFdKHFhKT9cXC4ybWRuXFwubmV0L2Fkcy9yaWNobWVkaWEvc3R1ZGlvL211L3RlbXBsYXRlcy90ZXRyaXN8d3d3XFwuZ3N0YXRpY1xcLmNvbS9kb3VibGVjbGljay9zdHVkaW8vaW5ub3ZhdGlvbi9oNS9sYXlvdXRzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL3l0cGxheWVyKSIpLApRb009UmVnRXhwKCJeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY3Jvd2Rzb3VyY2V8ZGF0YWNvbXB1dGUpXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzOi8vKGFkc3xhZHdvcmRzXFwuY29ycClcXC5nb29nbGVcXC5jb20vKGF3Lyhhc3NldGdyb3VwLyhlZGl0fG5ldyl8Y2FtcGFpZ25zLyhuZXcvKHBlcmZvcm1hbmNlbWF4fGRlbWFuZGdlbil8ZWRpdC9kZW1hbmRnZW4pKXwkKXxeaHR0cHM6Ly8oYWR3b3Jkcy0pP2NhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vKGJvb2tzfHBsYXktYm9va3MtKGF1dG9wdXNofGludGVybmFsfHByZXByb2R8c3RhZ2luZykoLXNhbmRib3h8XFwuY29ycCkpXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oL3wkKXxeaHR0cHM6Ly9hZHMoLWV4dGVybmFsKT8tcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vY2FudmFzdGVzdGVyLTNmZDBiXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL2xvY2FsaG9zdFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKDpcXGQrKT8oL3wkKXxeaHR0cHM6Ly9uYXJyYXRpdmUtbmV3cy1jYXN0LXJlY2VpdmVyLWRcXC5hcHBzcG90XFwuY29tKC98JCl8Xmh0dHBzOi8vbmFycmF0aXZlLW5ld3MtY2FzdC1yZWNlaXZlci1mXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL29uZVxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwczovL3d3d1xcLmdvb2dsZVxcLmNvbS9jdWx0dXJhbGluc3RpdHV0ZS9tYW5hZ2UvLiokfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vYW9nX2hvd3RvfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vbmFycmF0aXZlX2Nhc3RfcmVjZWl2ZXIvbmV3c3xeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihpbWFzZGtcXC5nb29nbGVhcGlzXFwuY29tfGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVhZHNcXC5nXFwuZG91YmxlY2xpY2tcXC5uZXR8Z29vZ2xlcGxleFxcLmNvbXxwbGF5XFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218cGhvdG9zXFwuZ29vZ2xlXFwuY29tfGdldFxcLmdvb2dsZVxcLmNvbXxibG9nZ2VyXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218c3VydmV5XFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0fHlvdXR1YmVcXC5jb218eW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb218eW91dHViZWVkdWNhdGlvblxcLmNvbXx5b3V0dWJlXFwtbm9jb29raWVcXC5jb218eXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218eW91dHViZWtpZHNcXC5jb218dmV2b1xcLmNvbXxjaGF0XFwuZ29vZ2xlXFwuY29tfG1lZXRcXC5nb29nbGVcXC5jb218YXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8oL3wkKXwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfCh3d3dcXC58ZW5jcnlwdGVkXFwuKT9nb29nbGVcXC4oY2F0fGNvbShcXC4oYVtmZ2lydV18YltkaG5vcnpdfGNbb3V5XXxkb3xlW2NndF18Zmp8Z1toaXRdfGhrfGptfGtofGt3fGxbYmN5XXxtW210eHldfG5bYWZnaXBdfG9tfHBbYWVnaGtyeV18cWF8c1thYmdsdl18dFtqbnJ3XXx1YXx1eXx2Y3x2bikpP3xhW2NkZWxtc3R6XXxjW2FjZGZnaGlsbW52el18YlthZWZnaWpzdHldfGVlfGVzfGRbZWprbXpdfGdbYWVmZ2xtcHJ5XXxmW2ltcl18aVtlbW9xcnN0XXxoW25ydHVdfGtbZ2l6XXxqZXxqb3xtW2RlZ2tsbnN1dnddfGxbYWlrdHV2XXxuW2Vsb3J1XXxwW2xuc3RdfHNbY2VoaWttbm9ydF18cltvc3V3XXx1c3x0W2Rna2xtbm90XXx3c3x2Z3x2dXxjb1xcLihhb3xid3xja3xjcnxpW2Rsbl18anB8a2V8a3J8bHN8bWF8bXp8bnp8dGh8dHp8dVtna3pdfHZlfHZpfHpbYW13XSkpLyhzZWFyY2h8d2ViaHApXFw/fCh3d3dcXC58ZW5jcnlwdGVkXFwuKWdvb2dsZVxcLihjYXR8Y29tKFxcLihhW2ZnaXJ1XXxiW2Robm9yel18Y1tvdXldfGRvfGVbY2d0XXxmanxnW2hpdF18aGt8am18a2h8a3d8bFtiY3ldfG1bbXR4eV18blthZmdpcF18b218cFthZWdoa3J5XXxxYXxzW2FiZ2x2XXx0W2pucnddfHVhfHV5fHZjfHZuKSk/fGFbY2RlbG1zdHpdfGNbYWNkZmdoaWxtbnZ6XXxiW2FlZmdpanN0eV18ZWV8ZXN8ZFtlamttel18Z1thZWZnbG1wcnldfGZbaW1yXXxpW2Vtb3Fyc3RdfGhbbnJ0dV18a1tnaXpdfGplfGpvfG1bZGVna2xuc3V2d118bFthaWt0dXZdfG5bZWxvcnVdfHBbbG5zdF18c1tjZWhpa21ub3J0XXxyW29zdXddfHVzfHRbZGdrbG1ub3RdfHdzfHZnfHZ1fGNvXFwuKGFvfGJ3fGNrfGNyfGlbZGxuXXxqcHxrZXxrcnxsc3xtYXxtenxuenx0aHx0enx1W2drel18dmV8dml8elthbXddKSkvPyR8bGlnaHRib3gtKGRlbW9zfGJ1aWxkZXIpXFwuYXBwc3BvdFxcLmNvbS98czBcXC4ybWRuXFwubmV0L2luc3RyZWFtL2h0bWw1L25hdGl2ZS98c1swMV0ocWEpP1xcLjJtZG5cXC5uZXQvYWRzL3JpY2htZWRpYS9zdHVkaW8vbXUvdGVtcGxhdGVzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL2g1L2xheW91dHMvdGV0cmlzKSIpLApWNGk9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/KC98JCkiKSxjWlM9UmVnRXhwKCJeKGh0dHBzOi8vcGxheVxcLmdvb2dsZVxcLmNvbXxodHRwczovL3Bob3Rvc1xcLmdvb2dsZVxcLmNvbXxodHRwczovL2dldFxcLmdvb2dsZVxcLmNvbXxodHRwczovL21haWxcXC5nb29nbGVcXC5jb218aHR0cHM6Ly95dFxcLXdlYlxcLWVtYmVkZGVkXFwtcGxheWVyXFwuYXBwc3BvdFxcLmNvbXxodHRwOi8veXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218aHR0cHM6Ly9jaGF0XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vb25lXFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHN0cmFuc3BhcmVuY3lcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHNcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHdvcmRzXFwuY29ycFxcLmdvb2dsZVxcLmNvbXxodHRwczovL2Fkc1xcLWV4dGVybmFsXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWRzXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWR3b3Jkc1xcLWNhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vY2FuYXJ5XFwucWFcXC5hZHpcXC5nb29nbGVcXC5jb20pJHxeaHR0cDovL1swLTldK1xcLlthLXowLTlcXC1fXStcXC5bYS16MC05XFwtX10rXFwuW2EtejAtOVxcLV9dK1xcLihbYS16XXsyfXxpKVxcLmJvcmdcXC5nb29nbGVcXC5jb20oOlswLTldKyk/JHxeaHR0cHM6Ly8oKGF1dG9wdXNofGJldGEtbG9va3VwfGRhaWx5LVswLTZdfG1hbnVhbC1xdWFsfHByZXByb2R8c3RyZWFtKVxcLik/bWVldFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNyb3dkc291cmNlfGRhdGFjb21wdXRlKVxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKHlvdXR1YmV8eW91dHViZWtpZHN8eW91dHViZWVkdWNhdGlvbilcXC5jb20kfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc2FuZGJveFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tJHxeaHR0cHM6Ly8oYm9va3N8cGxheS1ib29rcy0oYXV0b3B1c2h8aW50ZXJuYWx8cHJlcHJvZHxzdGFnaW5nKSgtc2FuZGJveHxcXC5jb3JwKSlcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbSR8Xmh0dHBzOi8vKGRyYWZ0fHd3d3wod3d3XFwuKT9kZXZcXC5zYW5kYm94fCh3d3dcXC4pP2F1dG9wdXNoXFwuc2FuZGJveHwod3d3XFwuKT9zdGFnaW5nXFwuc2FuZGJveHwod3d3XFwuKT9yZXN0b3JlXFwuc2FuZGJveClcXC5ibG9nZ2VyXFwuY29tJHxeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbSR8Xmh0dHBzOi8vbG9jYWxob3N0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oOlxcZCspPyR8Xmh0dHBzPzovLygoKGRvY3N8bXxzaW5nfHNzfHNzc3x3d3cpXFwuKT9kcml2ZVxcLmdvb2dsZVxcLmNvbSR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfChbQS1aYS16MC05LV17MSw2M31cXC4pKmdvb2dsZXBsZXhcXC5jb20oOlswLTldKyk/JHwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSpwcm94eVxcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KHd3d1xcLnxlbmNyeXB0ZWRcXC4pZ29vZ2xlXFwuKGNhdHxjb20oXFwuKGFbZmdpcnVdfGJbZGhub3J6XXxjW291eV18ZG98ZVtjZ3RdfGZqfGdbaGl0XXxoa3xqbXxraHxrd3xsW2JjeV18bVttdHh5XXxuW2FmZ2lwXXxvbXxwW2FlZ2hrcnldfHFhfHNbYWJnbHZdfHRbam5yd118dWF8dXl8dmN8dm4pKT98YVtjZGVsbXN0el18Y1thY2RmZ2hpbG1udnpdfGJbYWVmZ2lqc3R5XXxlZXxlc3xkW2Vqa216XXxnW2FlZmdsbXByeV18ZltpbXJdfGlbZW1vcXJzdF18aFtucnR1XXxrW2dpel18amV8am98bVtkZWdrbG5zdXZ3XXxsW2Fpa3R1dl18bltlbG9ydV18cFtsbnN0XXxzW2NlaGlrbW5vcnRdfHJbb3N1d118dXN8dFtkZ2tsbW5vdF18d3N8dmd8dnV8Y29cXC4oYW98Ynd8Y2t8Y3J8aVtkbG5dfGpwfGtlfGtyfGxzfG1hfG16fG56fHRofHR6fHVbZ2t6XXx2ZXx2aXx6W2Ftd10pKS8/JHxbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfGRvY3NcXC5nb29nbGVcXC5jb20kKSIpLAphSFU9UmVnRXhwKCJeKGh0dHBzOi8vY3VycmVudHNcXC5nb29nbGVcXC5jb20pJCIpO3ZhciBkUD0hMTtnLndaPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0hMSl7dGhpc1tJWzE3XV09bjt0aGlzW0lbOV1dPVc7dGhpc1tJWzM5XV09dGhpc1tJWzI4XV09dGhpc1tJWzI2XV09SVsyMV07dGhpc1tJWzFdXT17fTt0aGlzW0lbMjldXT1JWzIxXX1zZXQobixXKXt0aGlzW0lbMV1dW25dIT09VyYmKHRoaXNbSVsxXV1bbl09Vyx0aGlzW0lbMjldXT1JWzIxXSl9Z2V0KG4pe2VYKDE0LDcyMTMsdGhpcyk7cmV0dXJuIHRoaXNbSVsxXV1bbl18fG51bGx9V0QoKXt0aGlzW0lbMjldXXx8KHRoaXNbSVsyOV1dPUVjKDYsMjk5OCx0aGlzKSk7cmV0dXJuIHRoaXNbSVsyOV1dfWNsb25lKCl7dmFyIG49bmV3IGcud1oodGhpc1tJWzE3XV0sdGhpc1tJWzldXSk7bltJWzI2XV09dGhpc1tJWzI2XV07bltJWzI4XV09dGhpc1tJWzI4XV07bltJWzM5XV09dGhpc1tJWzM5XV07bltJWzFdXT1nLnMwKHRoaXNbSVsxXV0pO25bSVsyOV1dPXRoaXNbSVsyOV1dO3JldHVybiBufX07dmFyIEpaPXtGQUlSUExBWToiZmFpcnBsYXkiLFBMQVlSRUFEWToicGxheXJlYWR5IixXSURFVklORToid2lkZXZpbmUiLENMRUFSS0VZOm51bGwsRkxBU0hBQ0NFU1M6bnVsbCxVTktOT1dOOm51bGwsV0lERVZJTkVfQ0xBU1NJQzpudWxsfTt2YXIgd1A9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0hMSl7dGhpcy5uYW1lPW47dGhpcy5pZD1XO3RoaXMuaXNEZWZhdWx0PUQ7dGhpcy5pc0F1dG9EdWJiZWQ9Yn1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1nZXRJZCgpe3JldHVybiB0aGlzLmlkfWdldElzRGVmYXVsdCgpe3JldHVybiB0aGlzLmlzRGVmYXVsdH1nZXRJc0F1dG9EdWJiZWQoKXtyZXR1cm4gdGhpcy5pc0F1dG9EdWJiZWR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5uYW1lfX07d1AucHJvdG90eXBlLmdldE5hbWU9d1AucHJvdG90eXBlLmdldE5hbWU7d1AucHJvdG90eXBlLmdldElkPXdQLnByb3RvdHlwZS5nZXRJZDt3UC5wcm90b3R5cGUuZ2V0SXNEZWZhdWx0PXdQLnByb3RvdHlwZS5nZXRJc0RlZmF1bHQ7d1AucHJvdG90eXBlLmdldElzQXV0b0R1YmJlZD13UC5wcm90b3R5cGUuZ2V0SXNBdXRvRHViYmVkO2cuUXc9Y2xhc3N7Y29uc3RydWN0b3Iobj17fSl7dGhpcy5sYW5ndWFnZUNvZGU9bi5sYW5ndWFnZUNvZGV8fCIiO3RoaXMubGFuZ3VhZ2VOYW1lPW4ubGFuZ3VhZ2VOYW1lfHxudWxsO3RoaXMua2luZD1uLmtpbmR8fCIiO3RoaXMubmFtZT1uLm5hbWU9PT12b2lkIDA/bnVsbDpuLm5hbWU7dGhpcy5kaXNwbGF5TmFtZT1uLmRpc3BsYXlOYW1lfHxudWxsO3RoaXMuaWQ9bi5pZHx8bnVsbDt0aGlzLk49bi5pc19zZXJ2YWJsZXx8ITE7dGhpcy5pc1RyYW5zbGF0ZWFibGU9bi5pc190cmFuc2xhdGVhYmxlfHwhMTt0aGlzLnVybD1uLnVybHx8bnVsbDt0aGlzLnZzc0lkPW4udnNzX2lkfHwiIjt0aGlzLmlzRGVmYXVsdD1uLmlzX2RlZmF1bHR8fCExO3RoaXMudHJhbnNsYXRpb25MYW5ndWFnZT1uLnRyYW5zbGF0aW9uTGFuZ3VhZ2V8fG51bGw7dGhpcy54dGFncz1uLnh0YWdzfHwiIjt0aGlzLmNhcHRpb25JZD1uLmNhcHRpb25JZHx8IiJ9Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1pc1NlcnZhYmxlKCl7cmV0dXJuIHRoaXMuTn1XRCgpe3JldHVybiB0aGlzLnVybH1nZXRYdGFncygpe3JldHVybiB0aGlzLnh0YWdzfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubGFuZ3VhZ2VDb2RlKwoiOiAiK2cuY24odGhpcykrIiAtICIrdGhpcy52c3NJZCsiIC0gIisodGhpcy5jYXB0aW9uSWR8fCIiKX1lcXVhbHMobil7cmV0dXJuIG4/dGhpcy50b1N0cmluZygpPT09bi50b1N0cmluZygpOiExfU9WKCl7cmV0dXJuISghdGhpcy5sYW5ndWFnZUNvZGV8fHRoaXMudHJhbnNsYXRpb25MYW5ndWFnZSYmIXRoaXMudHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGUpfX07dmFyIFdBPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pZD1uO3RoaXMua1o9Vzt0aGlzLmNhcHRpb25UcmFja3M9W107dGhpcy5XPXRoaXMuWD1udWxsO3RoaXMueHRhZ3M9IiI7dGhpcy5WPXRoaXMuaj0hMTt0aGlzLk49bnVsbDt0aGlzLko9IlVOS05PV04iO3RoaXMuY2FwdGlvbnNJbml0aWFsU3RhdGU9IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiI7bj10aGlzLmtaLmlkLnNwbGl0KCIuIik7bi5sZW5ndGg+MSYmKHRoaXMuaj1uWzFdPT09IjIiLHRoaXMuVj1uWzFdPT09IjQiKX1nZXRMYW5ndWFnZUluZm8oKXtyZXR1cm4gdGhpcy5rWn1nZXRYdGFncygpe2lmKCF0aGlzLnh0YWdzKXtsZXQgbj10aGlzLmlkLnNwbGl0KCI7Iik7bi5sZW5ndGg+MSYmKHRoaXMueHRhZ3M9blsxXSl9cmV0dXJuIHRoaXMueHRhZ3N9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5rWi5uYW1lfWlzQXV0b0R1YmJlZCgpe3JldHVybiB0aGlzLmtaLmdldElzQXV0b0R1YmJlZCgpfX07CldBLnByb3RvdHlwZS5nZXRMYW5ndWFnZUluZm89V0EucHJvdG90eXBlLmdldExhbmd1YWdlSW5mbztXQS5wcm90b3R5cGUuaXNBdXRvRHViYmVkPVdBLnByb3RvdHlwZS5pc0F1dG9EdWJiZWQ7dmFyIGIzPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdj0wKXt0aGlzLko9bjt0aGlzLk49Vzt0aGlzLlc9RDt0aGlzLnJlYXNvbj1iO3RoaXMuTnM9dn1lcXVhbHMobil7cmV0dXJuIHRoaXMuSj09PW4uSiYmdGhpcy5OPT09bi5OJiZ0aGlzLlc9PT1uLlcmJnRoaXMucmVhc29uPT09bi5yZWFzb24mJighaFR8fHRoaXMuTnM9PT1uLk5zKX1pc0xvY2tlZCgpe3JldHVybiB0aGlzLlcmJiEhdGhpcy5KJiZ0aGlzLko9PT10aGlzLk59Y29tcG9zZShuKXtpZihuLlcmJnhKKG4pKXJldHVybiBZWjtpZihuLld8fHhKKHRoaXMpKXJldHVybiBuO2lmKHRoaXMuV3x8eEoobikpcmV0dXJuIHRoaXM7dmFyIFc9dGhpcy5KJiZuLko/TWF0aC5tYXgodGhpcy5KLG4uSik6dGhpcy5KfHxuLkosRD10aGlzLk4mJm4uTj9NYXRoLm1pbih0aGlzLk4sbi5OKTp0aGlzLk58fG4uTjtXPU1hdGgubWluKFcsRCk7dmFyIGI9MDtoVCYmKGI9dGhpcy5OcyE9PTAmJm4uTnMhPT0wP01hdGgubWluKHRoaXMuTnMsCm4uTnMpOnRoaXMuTnM9PT0wP24uTnM6dGhpcy5Ocyk7cmV0dXJuIGhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OJiZiPT09dGhpcy5Oc3x8IWhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OP3RoaXM6aFQ/bmV3IGIzKFcsRCwhMSxEPT09dGhpcy5OJiZiPT09dGhpcy5Ocz90aGlzLnJlYXNvbjpuLnJlYXNvbixiKTpuZXcgYjMoVyxELCExLEQ9PT10aGlzLk4/dGhpcy5yZWFzb246bi5yZWFzb24pfVgobil7cmV0dXJuIW4udmlkZW98fGhUJiZ0aGlzLk5zIT09MCYmdGhpcy5OczxuLk5zPyExOmdGKHRoaXMsbi52aWRlby5xdWFsaXR5KX19LG5oVT12QSgiYXV0byIsImhkMTA4MCIsITEsImwiKSxUOD12QSgiYXV0byIsImxhcmdlIiwhMSwibCIpLFlaPXZBKCJhdXRvIiwiYXV0byIsITEsInAiKSxoVD0hMTt2YXIgcGc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy52aWRlb0luZm9zPW47dGhpcy5KPVc7dGhpcy5hdWRpb1RyYWNrcz1bXTt0aGlzLlc9Ynx8W107aWYodGhpcy5KKXtuPW5ldyBTZXQ7RD8uKHthaW5mb2xlbjp0aGlzLkoubGVuZ3RofSk7Zm9yKGxldCB2IG9mIHRoaXMuSil7aWYoIXYua1p8fG4uaGFzKHYua1ouaWQpKXtEPy4oe2F0a2VycjohIXYua1osaXRhZzp2Lml0YWcseHRhZzp2LkosbGFuZzp2LmtaPy5uYW1lfHwiIixsYW5naWQ6di5rWj8uaWR8fCIifSk7Y29udGludWV9Vz1uZXcgV0Eodi5pZCx2LmtaKTtuLmFkZCh2LmtaLmlkKTt0aGlzLmF1ZGlvVHJhY2tzLnB1c2goVyl9RD8uKHthdGtsZW46dGhpcy5hdWRpb1RyYWNrcy5sZW5ndGh9KX19Y1kobil7bj1ufHxZWjt2YXIgVz1nLkVNKHRoaXMudmlkZW9JbmZvcyx2PT5uLlgodikpLEQ9W10sYj17fTsKZm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl0udmlkZW87YltrLnF1YWxpdHldfHwoRC5wdXNoKGspLGJbay5xdWFsaXR5XT0hMCl9cmV0dXJuIER9TnEobil7bj1ufHxZWjtyZXR1cm4gZy5FTSh0aGlzLnZpZGVvSW5mb3MsVz0+bi5YKFcpKX1nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpe3JldHVybiB0aGlzLmF1ZGlvVHJhY2tzfU4oKXtyZXR1cm4hIXRoaXMuSn19O3ZhciBBSFM9bmV3IFNldChbIjM1NiIsIjcyMSJdKSxXVnI9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLko9bnVsbDt0aGlzLk49bmV3IE1hcH1tQSgpe3N1cGVyLm1BKCl9fTt2YXIgUjQ9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSl7dGhpcy5qJD1uO3RoaXMuc3RhcnRUaW1lPVc7dGhpcy5kdXJhdGlvbj1EO3RoaXMuaW5nZXN0aW9uVGltZT1iO3RoaXMuc291cmNlVVJMPXY7dGhpcy5mZj1MO3RoaXMuUU89ZTt0aGlzLmVuZFRpbWU9VytEO3RoaXMuTj1ofHwwO3RoaXMucmFuZ2U9a3x8bnVsbDt0aGlzLnBlbmRpbmc9eHx8ITE7dGhpcy5mZj1MfHxudWxsfX07Zy5qYz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2VnbWVudHM9W107dGhpcy5KPW51bGw7dGhpcy5ZPSEwO3RoaXMuSz0iIn1qKG4pe3RoaXMuc2VnbWVudHMucHVzaChuKX1NSShuKXtyZXR1cm4hIXRoaXMuVyhuKX1nZXREdXJhdGlvbihuKXtyZXR1cm4obj10aGlzLlcobikpP24uZHVyYXRpb246MH1EKG4pe3JldHVybiB0aGlzLmdldER1cmF0aW9uKG4pfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1swXS5qJDotMX1oQyhuKXtyZXR1cm4obj10aGlzLlcobikpP24uaW5nZXN0aW9uVGltZTpOYU59eCQoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJDotMX1xZShuKXtyZXR1cm4gdGhpcy54JCgpPT09biYmIXRoaXMuWSYmbj49MH1iUSgpe3ZhciBuPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07cmV0dXJuIG4/bi5lbmRUaW1lOgpOYU59TGYoKXtyZXR1cm4gdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWV9SDcoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGh9Tigpe3JldHVybiAwfVIzKG4pe3JldHVybihuPXRoaXMuWChuKSk/bi5qJDotMX1WKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zb3VyY2VVUkw6IiJ9Z2V0U3RhcnRUaW1lKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zdGFydFRpbWU6MH1qRShuKXtyZXR1cm4gdGhpcy5nZXRTdGFydFRpbWUobikrdGhpcy5nZXREdXJhdGlvbihuKX1pc0xvYWRlZCgpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD4wfVcobil7aWYodGhpcy5KJiZ0aGlzLkouaiQ9PT1uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMsbmV3IFI0KG4sMCwwLDAsIiIpLChXLEQpPT5XLmokLUQuaiQpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTpudWxsfVgobil7aWYodGhpcy5KJiZ0aGlzLkouc3RhcnRUaW1lPD1uJiZuPHRoaXMuSi5zdGFydFRpbWUrdGhpcy5KLmR1cmF0aW9uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMse3N0YXJ0VGltZTpufSwoVyxEKT0+Vy5zdGFydFRpbWUtRC5zdGFydFRpbWUpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTp0aGlzLnNlZ21lbnRzW01hdGgubWF4KDAsLW4tMildfWFwcGVuZChuKXtpZihuLmxlbmd0aClpZihuPWcuUk0obiksdGhpcy5zZWdtZW50cy5sZW5ndGgpe3ZhciBXPXRoaXMuc2VnbWVudHMubGVuZ3RoP2cuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZTowLEQ9blswXS5qJC10aGlzLngkKCk7RD4xJiZnLkNiKHRoaXMuc2VnbWVudHMpO0Q9RD4wPzA6LUQrMTtmb3IobGV0IGI9RDtiPG4ubGVuZ3RoO2IrKylEPW5bYl0sRC5zdGFydFRpbWU9VyxELmVuZFRpbWU9RC5zdGFydFRpbWUrRC5kdXJhdGlvbixXKz1uW2JdLmR1cmF0aW9uLHRoaXMuc2VnbWVudHMucHVzaChuW2JdKX1lbHNlIHRoaXMuc2VnbWVudHM9bn1YZCgpe3JldHVybiAwfXR3KG4sVyl7dGhpcy5ZPW47dGhpcy5LPVd9fTtnLmpjLnByb3RvdHlwZS5VNz1XWigzKTt2YXIgRF89Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2PSExKXt0aGlzLmRhdGE9bjt0aGlzLm9mZnNldD1XO3RoaXMuc2l6ZT1EO3RoaXMudHlwZT1iO3RoaXMuTj0odGhpcy5KPXYpPzA6ODt0aGlzLmRhdGFPZmZzZXQ9dGhpcy5vZmZzZXQrdGhpcy5OfXNraXAobil7dGhpcy5OKz1ufX07dmFyIE9LdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLm9mZnNldD0wO3RoaXMuZGF0YT1uZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKG4pKX19O3ZhciBEVmk7Zy5sMz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiLHYsayxoKXt0aGlzLnN0YXJ0U2Vjcz1uO3RoaXMuQ2Y9Vzt0aGlzLmNvbnRleHQ9RDt0aGlzLmlkZW50aWZpZXI9Yjt0aGlzLmV2ZW50PXY7dGhpcy5OPWs7dGhpcy50aWxlQ29udGV4dD1ofX07RFZpPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLlBCPW47dGhpcy5vcHBvcnR1bml0eUlkPVc7dGhpcy5zZXJpYWxpemVkUHJlZmV0Y2hDb250ZXh0PUR9fTt2YXIgYk5VPXtwcmVkaWN0U3RhcnQ6InByZWRpY3RTdGFydCIsc3RhcnQ6InN0YXJ0IixbImNvbnRpbnVlIl06ImNvbnRpbnVlIixzdG9wOiJzdG9wIixwcmVmZXRjaDoicHJlZmV0Y2gifSxtNWo9e0VWRU5UX1BSRURJQ1RfU1RBUlQ6InByZWRpY3RTdGFydCIsRVZFTlRfU1RBUlQ6InN0YXJ0IixFVkVOVF9DT05USU5VRToiY29udGludWUiLEVWRU5UX1NUT1A6InN0b3AiLEVWRU5UX1BSRUZFVENIOiJwcmVmZXRjaCJ9O3ZhciBYNT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZGF0YT1uO3RoaXMudXJpPVd8fCJodHRwOi8veW91dHViZS5jb20vc3RyZWFtaW5nL21ldGFkYXRhL3NlZ21lbnQvMTAyMDE1Ijt0aGlzLnNlZ21lbnROdW1iZXI9el8odGhpcywiU2VxdWVuY2UtTnVtYmVyIik7dGhpcy5qPXpfKHRoaXMsIlNlZ21lbnQtQ291bnQiKTt0aGlzLks9dGhpcy5kYXRhWyJTZWdtZW50LUR1cmF0aW9ucy1NcyJdfHwiIjt0aGlzLmluZ2VzdGlvblRpbWU9el8odGhpcywiSW5nZXN0aW9uLVdhbGx0aW1lLVVzIikvMUU2O3RoaXMuVz0oel8odGhpcywiRmlyc3QtRnJhbWUtVGltZS1VcyIpK3pfKHRoaXMsIkZpcnN0LUZyYW1lLVVuY2VydGFpbnR5LVVzIikpLzFFNjt0aGlzLnJiPXpfKHRoaXMsIlRhcmdldC1EdXJhdGlvbi1VcyIpLzFFNjt0aGlzLlY9dGhpcy5kYXRhWyJTdHJlYW0tRmluaXNoZWQiXT09PSJUIjt0aGlzLmlzU3RyZWFtaW5nPXRoaXMuZGF0YS5TdHJlYW1hYmxlPT09IlQiO3RoaXMuY3J5cHRvUGVyaW9kSW5kZXg9CnpfKHRoaXMsIkNyeXB0by1QZXJpb2QtSW5kZXgiKTt0aGlzLlg9el8odGhpcywiQ3J5cHRvLVBlcmlvZC1TZWNvbmRzIik7dGhpcy5OPSJDdXJyZW50LUFic29sdXRlLUxvdWRuZXNzLUxrZnMiaW4gdGhpcy5kYXRhP051bWJlcih0aGlzLmRhdGFbIkN1cnJlbnQtQWJzb2x1dGUtTG91ZG5lc3MtTGtmcyJdKXx8MDpudWxsfUooKXtyZXR1cm4gdGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1DcG4iXT90aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUNwbiJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSk6W119ZksoKXtyZXR1cm4hISh0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tQ3BuIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXXx8dGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1GcmFtZS1JbmRleCJdfHx0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUFic29sdXRlLUxvdWRuZXNzLUxrZnMiXXx8CnRoaXMuZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdfHx0aGlzLmRhdGFbIklzLUFkLUJyZWFrLUZpbmlzaGVkIl0pfX07dmFyIFJlaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuZHVyYXRpb249V319O3ZhciAkOHg9e1NURVJFT19MQVlPVVRfVU5LTk9XTjowLFNURVJFT19MQVlPVVRfTEVGVF9SSUdIVDoxLFNURVJFT19MQVlPVVRfVE9QX0JPVFRPTToyfTt2YXIgaFk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLko9djt0aGlzLk49bnx8MDt0aGlzLnBpdGNoPVd8fDA7dGhpcy55YXc9RHx8MDt0aGlzLnJvbGw9Ynx8MDt2LmdldFVpbnQzMig0KX19O3ZhciB0WT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMucG9zPTA7dGhpcy5zdGFydD1XfHwwfU9KKCl7dmFyIG49dGhpcy5wb3M7dGhpcy5wb3M9MDt2YXIgVz0hMTt0cnl7c1kodGhpcyw0NDA3ODY4NTEpJiYodGhpcy5wb3M9MCxzWSh0aGlzLDQwODEyNTU0MykmJihXPSEwKSl9Y2F0Y2goRCl7aWYoRCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhpcy5wb3M9MCxXPSExLGcuR3EoRCk7ZWxzZSB0aHJvdyBEO310aGlzLnBvcz1uO3JldHVybiBXfX07dmFyIENzPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuQU89bjt0aGlzLk49e307dGhpcy51cmw9IiJ9c2V0KG4sVyl7dGhpcy5BTy5nZXQobik7dGhpcy5OW25dPVc7dGhpcy51cmw9IiJ9Z2V0KG4pe3JldHVybiB0aGlzLk5bbl18fHRoaXMuQU8uZ2V0KG4pfVdEKCl7dGhpcy51cmx8fCh0aGlzLnVybD1pS1UodGhpcykpO3JldHVybiB0aGlzLnVybH19O3ZhciB1VGk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5YPXRoaXMuVz10aGlzLk49dGhpcy50aW1lZE91dD10aGlzLnN0YXJ0ZWQ9dGhpcy5WPXRoaXMuaj0wfX07dmFyIHZUPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTz10aGlzLkQ9dGhpcy5WPXRoaXMuSj0wO3RoaXMuaj10aGlzLks9ITE7dGhpcy5OPW47dGhpcy5XPW4uY2xvbmUoKX1wUyhuLFcpe3JldHVybiBuLllaP3RoaXMuaj90aGlzLks9ITA6dGhpcy5LPWpQKHRoaXMsbixXKTpqUCh0aGlzLG4sVyl9WShuLFcsRD0wKXtEPjE/bj1uLk1jOihXPVVZKFcsRjUodGhpcyx0aGlzLnBTKG4sVyksbikpLG49TWF0aC5tYXgodGhpcy5WLFcudGltZWRPdXQpK24uVFoqKHRoaXMuSi10aGlzLlYpKy4yNSp0aGlzLkQsbj1uPjM/MUUzKjEuNioqKG4tMyk6MCk7cmV0dXJuIG49PT0wPyEwOnRoaXMuTytuPCgwLGcuUikoKX1jSihuLFcpe3RoaXMuTi5zZXQobixXKTt0aGlzLlcuc2V0KG4sVyk7dGhpcy5YJiZ0aGlzLlguc2V0KG4sVyl9V04oKXtyZXR1cm4gdGhpcy5XLmdldCgiY3BuIil8fCIifVo1KG4sVyl7bi5BTz09PXRoaXMuTiYmKHRoaXMuTj1uWChuLFcpKTtuLkFPPT09dGhpcy5YJiYodGhpcy5YPQpuWChuLFcpKX10dygpe3RoaXMuaj0hMH1yMCgpe3JldHVybiB0aGlzLk4hPT10aGlzLlgmJiF0aGlzLkt9fTt2YXIgQ2o9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5pbml0UmFuZ2U9RDt0aGlzLmluZGV4UmFuZ2U9Yjt0aGlzLko9bnVsbDt0aGlzLmNKPSExO3RoaXMuRkY9MDt0aGlzLlY9dGhpcy5TVT10aGlzLk89bnVsbDt0aGlzLmluZm89Vzt0aGlzLlhiPW5ldyB2VChuKX1OKCl7cmV0dXJuISF0aGlzLkomJnRoaXMuaW5kZXguaXNMb2FkZWQoKX1TJCgpe3JldHVybiExfUdDKG4pe3JldHVybltuXX1WUShuKXtyZXR1cm5bbl19fTt2YXIgYUI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnN0YXJ0PW47dGhpcy5lbmQ9Vzt0aGlzLmxlbmd0aD1XLW4rMX10b1N0cmluZygpe3JldHVybiB0aGlzLnN0YXJ0KyItIisodGhpcy5lbmQ9PW51bGw/IiI6dGhpcy5lbmQpfU4oKXtyZXR1cm4gdGhpcy5lbmQ9PW51bGw/e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KX06e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KSxlbmQ6U3RyaW5nKHRoaXMuZW5kKX19fTt2YXIgcUk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0iIix2LGssaCx4LEwsZSxHLHI9IiIsTixILEEpe3RoaXMudHlwZT1uO3RoaXMuUEo9Vzt0aGlzLnJhbmdlPUQ7dGhpcy5zb3VyY2U9Yjt0aGlzLnZEPUc7dGhpcy5jbGlwSWQ9cjt0aGlzLkQ9Tjt0aGlzLmJkPUg7dGhpcy5yZXF1ZXN0VG9rZW49QTt0aGlzLk89W107dGhpcy5ZPSIiO3RoaXMuaiQ9LTE7dGhpcy50dz0wO3RoaXMuWT1iO3RoaXMuaiQ9dj49MD92Oi0xO3RoaXMuc2VnbWVudFN0YXJ0VGltZT1rfHwwO3RoaXMuVz1ofHwwO3RoaXMuTj14fHwwO3RoaXMuSj1MPj0wP0w6dGhpcy5yYW5nZT90aGlzLnJhbmdlLmxlbmd0aDpOYU47dGhpcy5yYW5nZT8obj10aGlzLk4rdGhpcy5KPT09dGhpcy5yYW5nZS5sZW5ndGgsZT10aGlzLnNvdXJjZT09PSJ3YXNtIj9lPz9uOm4pOmU9ZT09PXZvaWQgMD8hIXRoaXMuSjplO3RoaXMuYVo9ZTt0aGlzLnJhbmdlPyh0aGlzLlg9dGhpcy5zZWdtZW50U3RhcnRUaW1lK3RoaXMuVyoKdGhpcy5OL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuSz10aGlzLlcqdGhpcy5KL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuaj10aGlzLlgrdGhpcy5LKTp2Xyh0aGlzKX1WKCl7cmV0dXJuIHRoaXMuYVomJnRoaXMuUEouaW5kZXgucWUodGhpcy5qJCl9a2Yobil7cmV0dXJuIG4+PXRoaXMuWCYmbjw9dGhpcy5qfWlzRW5jcnlwdGVkKCl7cmV0dXJuIHRoaXMuUEouaW5mby5pc0VuY3J5cHRlZCgpfWVxdWFscyhuKXtyZXR1cm4hKCFufHxuLlBKIT09dGhpcy5QSnx8bi50eXBlIT09dGhpcy50eXBlfHwodGhpcy5yYW5nZSYmbi5yYW5nZT9uLnJhbmdlLnN0YXJ0IT09dGhpcy5yYW5nZS5zdGFydHx8bi5yYW5nZS5lbmQhPT10aGlzLnJhbmdlLmVuZDpuLnJhbmdlIT09dGhpcy5yYW5nZSl8fG4uaiQhPT10aGlzLmokfHxuLk4hPT10aGlzLk58fG4uSiE9PXRoaXMuSil9Y0ooKXtyZXR1cm4gdGhpcy50eXBlPT09NH1mWSgpe3JldHVybiEhdGhpcy5QSi5pbmZvLnZpZGVvfVRDKCl7cmV0dXJuIHRoaXMuaiR9Z2EoKXt2YXIgbj0KWHgodGhpcyksVz0iIjtnLmFfKG4sKEQsYik9PntXKz1gJHtifV8ke0R9X2B9KTsKcmV0dXJuIFcuc2xpY2UoMCwtMSl9Y2xvbmUoKXt2YXIgbj1uZXcgcUkodGhpcy50eXBlLHRoaXMuUEosdGhpcy5yYW5nZSx0aGlzLnNvdXJjZSx0aGlzLmokLHRoaXMuc2VnbWVudFN0YXJ0VGltZSx0aGlzLlcsdGhpcy5OLHRoaXMuSix0aGlzLmFaLHRoaXMudkQsdGhpcy5jbGlwSWQsdGhpcy5ELHRoaXMuYmQsdGhpcy5yZXF1ZXN0VG9rZW4pO24uWT10aGlzLlk7dGhpcy5PLmxlbmd0aD4wJiYobi5PPVsuLi50aGlzLk9dKTtuLlg9dGhpcy5YO24uSz10aGlzLks7bi5qPXRoaXMuajtuLnR3PXRoaXMudHc7cmV0dXJuIG59fTt2YXIgd2s9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLkF3PW47dGhpcy5YPXRoaXMuTj1udWxsO3RoaXMuaj10aGlzLlpBPU5hTjt0aGlzLnBTPXRoaXMucmVxdWVzdElkPW51bGw7dGhpcy5YYj1uWzBdLlBKLlhiO3RoaXMuSj1XfHwiIjtpZih0aGlzLkF3WzBdLnJhbmdlJiZ0aGlzLkF3WzBdLko+MCl7YTp7Zm9yKFc9MTtXPG4ubGVuZ3RoO1crKylpZighYlQobltXLTFdLG5bV10pKXtXPSExO2JyZWFrIGF9Vz0hMH1pZihXKXRoaXMucmFuZ2U9ZDV3KG4pLHRoaXMuVz10aGlzLnJhbmdlLmxlbmd0aDtlbHNle3RoaXMucmFuZ2U9dGhpcy5Bd1t0aGlzLkF3Lmxlbmd0aC0xXS5yYW5nZTtXPTA7Zm9yKGxldCBEIG9mIG4pVys9RC5yYW5nZS5sZW5ndGg7dGhpcy5XPVd9fX1ZbCgpe3JldHVybiB0aGlzLk4/dGhpcy5OLldEKCk6IiJ9aXNEZWNvcmF0ZWQoKXtyZXR1cm4hISh0aGlzLk58fHRoaXMuWCYmdGhpcy5YLk15KX1Rbigpe3JldHVybiBoSih0aGlzLkF3WzBdKX1rZihuKXtmb3IobGV0IFcgb2YgdGhpcy5BdylpZihXLnR5cGU9PT0KMyYmVy5rZihuKSlyZXR1cm4hMDtyZXR1cm4hMX1aNShuLFcpe3RoaXMuWGIuWjUobixXKTtpZih0aGlzLk4pe3RoaXMuTj1uWChuLFcpO2ZvcihsZXQgRCBvZlsiYWNwbnMiLCJjcG4iLCJkYWlzdGF0ZSIsInNraXBzcSJdKXRoaXMuTlsic2V0Il0oRCxudWxsKX10aGlzLnJlcXVlc3RJZD1uLmdldCgicmVxX2lkIil9fTt2YXIgZHQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiLHYsaz0wKXtzdXBlcihuLFcsYik7dGhpcy52Sj1EO3RoaXMucmI9azt0aGlzLmluZGV4PXZ8fG5ldyBnLmpjfVcoKXtyZXR1cm4hMX1EKCl7cmV0dXJuITB9VEMoKXtyZXR1cm4hMX1TJCgpe3JldHVybiF0aGlzLnZKfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHRoaXMuaW5pdFJhbmdlLCJnZXRNZXRhZGF0YVJlcXVlc3RJbmZvIildLHRoaXMudkopfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiB0aGlzLkQoKSYmbi5KJiYhbi5hWj9uZXcgd2soW25ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJsaXZlR2V0TmV4dFJlcXVlc3RJbmZvQnlTZWdtZW50IixuLmokLG4uc2VnbWVudFN0YXJ0VGltZSxuLlcsbi5OK24uSixOYU4sITApXSx0aGlzLmluZGV4LlYobi5qJCkpOnRoaXMuaihnayhuKSwhMSl9SyhuLFc9ITEpe249dGhpcy5pbmRleC5SMyhuKTtXJiYobj1NYXRoLm1pbih0aGlzLmluZGV4LngkKCksCm4rMSkpO3JldHVybiB0aGlzLmoobiwhMCl9RHQobil7RE8obil9WChuKXtyZXR1cm4gbi5KPT09MD8hMDp0aGlzLmluZGV4LngkKCk+bi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9dXBkYXRlKG4sVyxEKXt0aGlzLmluZGV4LmFwcGVuZChuKTtQQSh0aGlzLmluZGV4LEQpO3RoaXMudHcoVywidXBkYXRlIil9Tigpe3JldHVybiB0aGlzLlMkKCk/ITA6c3VwZXIuTigpfWoobixXKXt2YXIgRD10aGlzLmluZGV4LlYobiksYj10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSx2PXRoaXMuaW5kZXguZ2V0RHVyYXRpb24obiksaztXP3Y9az0wOms9dGhpcy5pbmZvLk5zPjA/dGhpcy5pbmZvLk5zKnY6MUUzO3JldHVybiBuZXcgd2soW25ldyBxSSgzLHRoaXMsdm9pZCAwLCJsaXZlQ3JlYXRlUmVxdWVzdEluZm9Gb3JTZWdtZW50IixuLGIsdiwwLGssIVcpXSxEKX1ISigpe3JldHVybiB0aGlzLlMkKCk/MDp0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4hMX10dyhuLFcpe3RoaXMuaW5kZXgudHcobiwKVyl9fTt2YXIgdmhiPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdil7dGhpcy5qJD1uO3RoaXMuc3RhcnRTZWNzPVc7dGhpcy5DZj1EO3RoaXMuTj1ifHxOYU47dGhpcy5KPXZ8fE5hTn19O3ZhciBCXz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1bXTt0aGlzLko9bnVsbDt0aGlzLlY9MDt0aGlzLlc9W107dGhpcy5qPSExO3RoaXMuSz0iIjt0aGlzLlg9LTF9dXBkYXRlKG4pe3ZhciBXPXZvaWQgMDt0aGlzLkomJihXPXRoaXMuSik7e2xldCBBPW5ldyBCXzt2YXIgRD1BcnJheS5mcm9tKG4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlMiKSk7aWYoRC5sZW5ndGgpe3ZhciBiPStsVChuLCJ0aW1lc2NhbGUiKXx8MSx2PSgrRFswXS5nZXRBdHRyaWJ1dGUoInQiKXx8MCkvYixrPStsVChuLCJzdGFydE51bWJlciIpfHwwO0EuWD12O3ZhciBoPVc/Vy5zdGFydFNlY3MrVy5DZjowLHg9RGF0ZS5wYXJzZShDeihsVChuLCJ5dDpzZWdtZW50SW5nZXN0VGltZSIpKSkvMUUzO0Euaj1uLnBhcmVudEVsZW1lbnQudGFnTmFtZT09PSJTZWdtZW50VGVtcGxhdGUiO0EuaiYmKEEuSz1sVChuLCJtZWRpYSIpKTtuPVc/ay1XLmokOjE7QS5WPW4+MD8wOi1uKzE7Zm9yKEggb2YgRCl7bj0rSC5nZXRBdHRyaWJ1dGUoImQiKS8KYjtEPSgrSC5nZXRBdHRyaWJ1dGUoInl0OnNpZCIpfHwwKS9iO2xldCB5PStILmdldEF0dHJpYnV0ZSgiciIpfHwwO2ZvcihsZXQgVD0wO1Q8PXk7VCsrKXtpZihXJiZrPD1XLmokKXtrKys7Y29udGludWV9dmFyIEw9bmV3IHZoYihrLGgsbix4K0Qsdik7QS5OLnB1c2goTCk7Yjp7dmFyIGU9SDt2YXIgRz1iLHI9TC5zdGFydFNlY3M7TD1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRUaW1lT2Zmc2V0Iik7dmFyIE49ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50RHVyYXRpb24iKTtpZighTHx8IU4pe2U9bnVsbDticmVhayBifUw9TnVtYmVyKEwpO3I9LUwvRytyO0c9TnVtYmVyKE4pL0c7Tj1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRDb250ZXh0Iil8fG51bGw7bGV0IHo9ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50SWRlbnRpZmllciIpfHwiIjtlPWUuZ2V0QXR0cmlidXRlKCJ5dDpjdWVwb2ludEV2ZW50Iil8fCIiO2U9bmV3IGcubDMocixHLE4seixiTlVbZV18fCJ1bmtub3duIiwKTCl9ZSYmQS5XLnB1c2goZSk7aysrO2grPW47dis9bjt4Kz1uK0R9fUEuTi5sZW5ndGgmJihBLko9Zy5VTShBLk4pKX12YXIgSD1BfXRoaXMuVj1ILlY7dGhpcy5KPUguSnx8dGhpcy5KO2cuUTIodGhpcy5OLEguTik7Zy5RMih0aGlzLlcsSC5XKTt0aGlzLmo9SC5qO3RoaXMuSz1ILks7dGhpcy5YPT09LTEmJih0aGlzLlg9SC5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5YPT09LTE/MDp0aGlzLlh9fTt2YXIga0xDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPVtdO3RoaXMuTj1udWxsO3RoaXMuSj17fTt0aGlzLlc9e319fTt2YXIgZ1M9Y2xhc3MgZXh0ZW5kcyBnLmpje2NvbnN0cnVjdG9yKHtyYjpuPTAsT1Q6Vz0hMSx1YjpEPTAsSXQ6Yj0wLEhQOnY9SW5maW5pdHksdWs6az0wLFhnOmg9ITEsRTM6eD0hMX09e30pe3N1cGVyKCk7dGhpcy5Ebj10aGlzLnFxPS0xO3RoaXMuTzg9bjt0aGlzLnViPUQ7dGhpcy5PVD1XO3RoaXMuSXQ9Yjt0aGlzLkhQPXY7dGhpcy51az1rOygodGhpcy5YZz1oKXx8aXNGaW5pdGUodikmJnRoaXMuSFA+MCkmJlcmJlp1JiZ0aGlzLnR3KCExLCJwb3N0TGl2ZSIpO3RoaXMuRTM9eH1VYygpe3JldHVybiB0aGlzLk84fU1JKG4sVyl7bj1GeCh0aGlzLG4pO3JldHVybiBuPj0wJiYoV3x8IXRoaXMuc2VnbWVudHNbbl0ucGVuZGluZyl9Wk8oKXtyZXR1cm4gdGhpcy5PVD90aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLlgodGhpcy5MZigpKS5qJDotMTpzdXBlci5aTygpfUxmKCl7aWYodGhpcy5YZylyZXR1cm4gMDtpZighdGhpcy5PVClyZXR1cm4gc3VwZXIuTGYoKTtpZighdGhpcy5zZWdtZW50cy5sZW5ndGgpcmV0dXJuIDA7CnZhciBuPU1hdGgubWF4KGcuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZS10aGlzLnViLDApO3JldHVybiB0aGlzLkl0PjAmJnRoaXMuWChuKS5qJDx0aGlzLkl0P3RoaXMuVyh0aGlzLkl0KS5zdGFydFRpbWU6bn1iUSgpe2lmKHRoaXMuRTMmJnRoaXMuRG4mJnRoaXMuRG4+MClyZXR1cm4gdGhpcy5Ebi8xRTM7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBzdXBlci5iUSgpO3ZhciBuPXRoaXMueCQoKTtpZighdGhpcy5PVHx8bjw9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJCluPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07ZWxzZXt2YXIgVz10aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdO249bmV3IFI0KG4sTWF0aC5tYXgoMCxXLnN0YXJ0VGltZS0oVy5qJC1uKSp0aGlzLk84KSx0aGlzLk84LDAsYHNxLyR7bn1gLHZvaWQgMCx2b2lkIDAsITApfXJldHVybiB0aGlzLlhnP01hdGgubWluKHRoaXMudWIsCm4uZW5kVGltZSk6bi5lbmRUaW1lfUg3KCl7cmV0dXJuIHRoaXMuT1Q/dGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy54JCgpLXRoaXMuWk8oKSsxOjA6c3VwZXIuSDcoKX14JCgpe3ZhciBuPU1hdGgubWluKHRoaXMuSFAsTWF0aC5tYXgoc3VwZXIueCQoKSx0aGlzLnFxKSksVz10aGlzLnViKjFFMztXPXRoaXMuRG4+MCYmdGhpcy5EbjxXO3RoaXMuWGcmJnRoaXMudWI+MCYmdGhpcy5xcT4wJiYhVyYmKFc9dGhpcy5YKHRoaXMudWIpKSYmKG49TWF0aC5taW4oVy5qJC0xLG4pKTtyZXR1cm4gbn1PZygpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdOm51bGx9aihuKXt2YXIgVz1GeCh0aGlzLG4uaiQpO2lmKFc+PTApdGhpcy5zZWdtZW50c1tXXT1uO2Vsc2UgaWYodGhpcy5zZWdtZW50cy5zcGxpY2UoLShXKzEpLDAsbiksdGhpcy51ayYmbi5qJCUoMzAwL3RoaXMuTzgpPT09MCl7dmFyIEQ9dGhpcy5zZWdtZW50c1swXS5qJCwKYj1NYXRoLmZsb29yKHRoaXMudWsvdGhpcy5POCk7bj1uLmokLWI7Vz0tKFcrMSktYjtXPjAmJm4+RCYmKHRoaXMuc2VnbWVudHM9dGhpcy5zZWdtZW50cy5zbGljZShXKSl9fU8obil7bj1GeCh0aGlzLG4pO24+PTAmJnRoaXMuc2VnbWVudHMuc3BsaWNlKG4sMSl9VFgoKXtyZXR1cm4gdGhpcy5xcX1xZShuKXtyZXR1cm4gWnU/IXRoaXMuWSYmbj49MCYmdGhpcy54JCgpPD1uOnN1cGVyLnFlKG4pfVgobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlgobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07aWYobjx0aGlzLnNlZ21lbnRzWzBdLnN0YXJ0VGltZSlXPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5qJC1NYXRoLmNlaWwoKHRoaXMuc2VnbWVudHNbMF0uc3RhcnRUaW1lLW4pL3RoaXMuTzgpKTtlbHNlIGlmKG4+PVcuZW5kVGltZSlXPVcuaiQrTWF0aC5mbG9vcigobi1XLmVuZFRpbWUpLwp0aGlzLk84KzEpO2Vsc2V7Vz1EZSh0aGlzLnNlZ21lbnRzLGI9Pm48Yi5zdGFydFRpbWU/LTE6bj49Yi5lbmRUaW1lPzE6MCk7CmlmKFc+PTApcmV0dXJuIHRoaXMuc2VnbWVudHNbV107dmFyIEQ9LShXKzEpO1c9dGhpcy5zZWdtZW50c1tELTFdO0Q9dGhpcy5zZWdtZW50c1tEXTtXPU1hdGguZmxvb3IoKG4tVy5lbmRUaW1lKS8oKEQuc3RhcnRUaW1lLVcuZW5kVGltZSkvKEQuaiQtVy5qJC0xKSkrMSkrVy5qJH1yZXR1cm4gdGhpcy5XKFcpfVcobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlcobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPUZ4KHRoaXMsbik7aWYoVz49MClyZXR1cm4gdGhpcy5zZWdtZW50c1tXXTt2YXIgRD0tKFcrMSk7Vz10aGlzLk84O2lmKEQ9PT0wKXZhciBiPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWUtKHRoaXMuc2VnbWVudHNbMF0uaiQtbikqVyk7ZWxzZSBEPT09dGhpcy5zZWdtZW50cy5sZW5ndGg/KGI9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpOihiPQp0aGlzLnNlZ21lbnRzW0QtMV0sVz10aGlzLnNlZ21lbnRzW0RdLFc9KFcuc3RhcnRUaW1lLWIuZW5kVGltZSkvKFcuaiQtYi5qJC0xKSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpO3JldHVybiBuZXcgUjQobixiLFcsMCxgc3EvJHtufWAsdm9pZCAwLHZvaWQgMCwhMCl9fSxadT0hMTt2YXIgV1Q9Y2xhc3MgZXh0ZW5kcyBkdHtjb25zdHJ1Y3RvcihuLFcsRD17fSl7c3VwZXIobixXLCIiLHZvaWQgMCx2b2lkIDAsRC5yYnx8MCk7dGhpcy5pbmRleD1uZXcgZ1MoRCl9VEMoKXtyZXR1cm4hMH1OKCl7cmV0dXJuITB9WChuKXtyZXR1cm4gdGhpcy5EKCkmJm4uSiYmIW4uYVp8fCFuLlBKLmluZGV4LnFlKG4uaiQpfVkoKXt9SyhuLFc9ITEpe3JldHVybiB0eXBlb2YgbiE9PSJudW1iZXIifHxpc0Zpbml0ZShuKT9zdXBlci5LKG4sVyk6bmV3IHdrKFtuZXcgcUkoMyx0aGlzLHZvaWQgMCwibWxMaXZlR2V0UmVxSW5mb1N0dWJGb3JUaW1lIiwtMSx2b2lkIDAsdGhpcy5yYix2b2lkIDAsdGhpcy5yYip0aGlzLmluZm8uTnMpXSwiIil9aihuLFcpe2lmKHRoaXMuaW5kZXguTUkobikpcmV0dXJuIHN1cGVyLmoobixXKTt2YXIgRD10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSxiPU1hdGgucm91bmQodGhpcy5yYip0aGlzLmluZm8uTnMpLHY9dGhpcy5yYjtXJiYodj1iPTApO3JldHVybiBuZXcgd2soW25ldyBxSSgzLAp0aGlzLHZvaWQgMCwibWxMaXZlQ3JlYXRlUmVxSW5mb0ZvclNlZyIsbixELHYsdm9pZCAwLGIsIVcpXSxuPj0wP2BzcS8ke259YDoiIil9fTt2YXIgcnQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKG4sVyk7dGhpcy5pbmRleD1uZXcgZy5qYzt0aGlzLmluZGV4LnR3KCExLCJkIil9Vygpe3JldHVybiExfUQoKXtyZXR1cm4hMX1UQygpe3JldHVybiExfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHZvaWQgMCwib3RmSW5pdCIpXSwic3EvMCIpfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiBNSSh0aGlzLGdrKG4pLCExKX1LKG4sVz0hMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gTUkodGhpcyxuLCEwKX1EdChuKXtuLmluZm8udHlwZT09PTEmJih0aGlzLkp8fCh0aGlzLko9JE0obi5KKSksbi5OJiZuLk4udXJpPT09Imh0dHA6Ly95b3V0dWJlLmNvbS9zdHJlYW1pbmcvb3RmL2R1cmF0aW9ucy8xMTIwMTUiJiZuR1ModGhpcyxuLk4pKX1YKG4pe3JldHVybiBuLko9PT0wPyEwOnRoaXMuaW5kZXgueCQoKT4Kbi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9SEooKXtyZXR1cm4gMH1udSgpe3JldHVybiExfX07dmFyIGE0LGhoYixEODIsbk0sV0t3O2cuVnM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50YWc9bn19O2E0PW5ldyBNYXA7aGhiPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXB9fTtEODI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49MTA7dGhpcy5KPURhdGUubm93KCl9fTtuTT1uZXcgTWFwO1dLdz1uZXcgaGhiO3ZhciBiOD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuaW5mbz1uO3RoaXMuSj1XO3RoaXMuTj1udWxsO3RoaXMuWD10aGlzLlc9LTE7dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLmlzTG9ja2VkPXRoaXMuSz0hMTt0aGlzLlY9dGhpcy5pbmZvLlBKLlMkKCkmJiF0aGlzLmluZm8uTn1qKG4sVz0hMSxEPTApe2lmKHRoaXMuaXNMb2NrZWR8fG4uaXNMb2NrZWR8fCFiVCh0aGlzLmluZm8sbi5pbmZvKXx8dGhpcy5pbmZvLmFaKXJldHVybiBudWxsO2lmKEQpe2lmKHRoaXMuSi50b3RhbExlbmd0aCtuLkoudG90YWxMZW5ndGg+RClyZXR1cm4gbnVsbH1lbHNlIGlmKFcmJihXPXRoaXMuSixEPW4uSixXPSEoRC5OLmxlbmd0aD94TShXLEQuTlswXSk6MSkpLFcpcmV0dXJuIG51bGw7Vz1uZXcgcUkodGhpcy5pbmZvLnR5cGUsdGhpcy5pbmZvLlBKLHRoaXMuaW5mby5yYW5nZSx0aGlzLmluZm8uWSx0aGlzLmluZm8uaiQsdGhpcy5pbmZvLnNlZ21lbnRTdGFydFRpbWUsdGhpcy5pbmZvLlcsCnRoaXMuaW5mby5OLHRoaXMuaW5mby5KLHRoaXMuaW5mby5hWix0aGlzLmluZm8udkQsdGhpcy5pbmZvLmNsaXBJZCx0aGlzLmluZm8uRCk7UF8oVyxuLmluZm8pO0Q9bmV3IFM1O2U1KEQsdGhpcy5KKTtlNShELG4uSik7Vz1uZXcgYjgoVyxEKTtXLk4hPW51bGwmJm4uTiE9bnVsbCYmZy5jXygiZGFzaCIsNDE0NjI3OTU3LGBtZXJnZWQgc2xpY2UgZW1zZyBvdmVycmlkZGVuOyBwcmV2OiAke1cuTi5mSygpfSBuZXh0OiAke24uTi5mSygpfWApO1cuTj1uLk58fHRoaXMuTjtXLlc9dGhpcy5XIT09LTE/dGhpcy5XOm4uVztXLlg9dGhpcy5YIT09LTE/dGhpcy5YOm4uWDtyZXR1cm4gV319O2cuQkM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmNvdW50PTA7dGhpcy5KPTE7dGhpcy5XPSExO3RoaXMub2Zmc2V0cz1uZXcgRmxvYXQ2NEFycmF5KDEyOCk7dGhpcy5zdGFydFRpY2tzPW5ldyBGbG9hdDY0QXJyYXkoMTI4KX1NSShuKXtyZXR1cm4gbjw9dGhpcy54JCgpfU4obil7cmV0dXJuIHRoaXMub2Zmc2V0c1tuXX1nZXRTdGFydFRpbWUobil7cmV0dXJuIHRoaXMuc3RhcnRUaWNrc1tuXS90aGlzLkp9akUobil7cmV0dXJuIHRoaXMuZ2V0U3RhcnRUaW1lKG4pK3RoaXMuZ2V0RHVyYXRpb24obil9aEMoKXtyZXR1cm4gTmFOfWdldER1cmF0aW9uKG4pe249dGhpcy5EKG4pO3JldHVybiBuPj0wP24vdGhpcy5KOi0xfUQobil7cmV0dXJuIG4rMTx0aGlzLmNvdW50fHx0aGlzLlc/dGhpcy5zdGFydFRpY2tzW24rMV0tdGhpcy5zdGFydFRpY2tzW25dOi0xfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gMH14JCgpe3JldHVybiB0aGlzLmNvdW50LTF9cWUobil7cmV0dXJuIHRoaXMueCQoKT09PQpuJiZuPj0wfWJRKCl7cmV0dXJuIHRoaXMuVz90aGlzLnN0YXJ0VGlja3NbdGhpcy5jb3VudF0vdGhpcy5KOk5hTn1MZigpe3JldHVybiAwfUg3KCl7cmV0dXJuIHRoaXMuY291bnR9Vigpe3JldHVybiIifVIzKG4pe24qPXRoaXMuSjtuPWcuVzQodGhpcy5zdGFydFRpY2tzLnN1YmFycmF5KDAsdGhpcy5jb3VudCksbik7cmV0dXJuIG4+PTA/bjpNYXRoLm1heCgwLC1uLTIpfWlzTG9hZGVkKCl7cmV0dXJuIHRoaXMueCQoKT49MH1YZChuLFcpe2lmKG4+PXRoaXMueCQoKSlyZXR1cm4gMDt2YXIgRD0wO2ZvcihXPXRoaXMuZ2V0U3RhcnRUaW1lKG4pK1c7bjx0aGlzLngkKCkmJlc+dGhpcy5nZXRTdGFydFRpbWUobik7bisrKUQ9TWF0aC5tYXgoRCx0TSh0aGlzLG4pL3RoaXMuZ2V0RHVyYXRpb24obikpO3JldHVybiBEfXJlc2l6ZShuKXtuKz0yO3ZhciBXPXRoaXMub2Zmc2V0czt0aGlzLm9mZnNldHM9bmV3IEZsb2F0NjRBcnJheShuKzEpO3ZhciBEPXRoaXMuc3RhcnRUaWNrczt0aGlzLnN0YXJ0VGlja3M9Cm5ldyBGbG9hdDY0QXJyYXkobisxKTtmb3Iobj0wO248dGhpcy5jb3VudCsxO24rKyl0aGlzLm9mZnNldHNbbl09V1tuXSx0aGlzLnN0YXJ0VGlja3Nbbl09RFtuXX1jYXAobixXKXskWCh0aGlzKTt0aGlzLlc9ITA7dGhpcy5zdGFydFRpY2tzW3RoaXMuY291bnRdPVc7dGhpcy5vZmZzZXRzW3RoaXMuY291bnRdPW59fTtnLkJDLnByb3RvdHlwZS5VNz1XWigyKTt2YXIgc2s9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcihuLFcsRCxiKTt0aGlzLmo9bnVsbDt0aGlzLmluZGV4PW5ldyBnLkJDfVkobixXKXt2YXIgRD1uZXcgcUkoMix0aGlzLHRoaXMuaW5kZXhSYW5nZSwiaW5kZXhJbmZvIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyksYj1bbmV3IHFJKDEsdGhpcyx0aGlzLmluaXRSYW5nZSwiaW5pdEluZm8iLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxXKSxEXTt0aGlzLmluZm8uY29udGVudExlbmd0aD4wJiZuJiYoRD1ELnJhbmdlLmVuZCsxLG49TWF0aC5taW4obix0aGlzLmluZm8uY29udGVudExlbmd0aC1EKSxuPjAmJmIucHVzaChuZXcgcUkoNCx0aGlzLFdfKEQsbiksInRiZFJhbmdlIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVykpKTtyZXR1cm4gbmV3IHdrKGIpfUR0KG4pe2lmKG4uaW5mby50eXBlPT09CjEpe2lmKHRoaXMuSilyZXR1cm47dGhpcy5KPSRNKG4uSil9ZWxzZSBpZihuLmluZm8udHlwZT09PTIpe2lmKHRoaXMuanx8dGhpcy5pbmRleC54JCgpPj0wKXJldHVybjtpZihnLlJCKHRoaXMuaW5mbykpe3ZhciBXPXRoaXMuaW5kZXgsRD1nLldSKG4pO249bi5pbmZvLnJhbmdlLnN0YXJ0O3ZhciBiPWcubnMoRCwwLDE5MzYyODY4NDApO0Q9THMoYik7Vy5KPUQudGltZXNjYWxlO3ZhciB2PUQuZjg7Vy5vZmZzZXRzWzBdPUQuTm8rbitiLnNpemU7Vy5zdGFydFRpY2tzWzBdPXY7Vy5XPSEwO249RC5xZy5sZW5ndGg7Zm9yKHY9MDt2PG47disrKXJ5KFcsRC5Ic1t2XSxELnFnW3ZdKX1lbHNlIHRoaXMuaj1nLldSKG4pfWlmKHRoaXMuaW5mby5xSCgpJiZ0aGlzLkomJnRoaXMuail7bj1uZXcgRGF0YVZpZXcodGhpcy5KLmJ1ZmZlcik7Vz10aGlzLmluZGV4O3Y9dGhpcy5qO0Q9dGhpcy5pbmRleFJhbmdlLmVuZDtiPW5ldyB0WShuKTtuPWI7Yj1uLnBvczt2YXIgaz17Qzk6MUU2LG84OjFFOSwKZHVyYXRpb246MCx4TTowLGJtOjB9O2lmKHNZKG4sNDA4MTI1NTQzKSlpZihrLnhNPU5rKG4sITApLGsuYm09bi5zdGFydCtuLnBvcyxzWShuLDM1NzE0OTAzMCkpe2Zvcih2YXIgaD1yQShuKTshSHcoaCk7KXt2YXIgeD1OayhoLCExKTt4PT09MjgwNzcyOT9rLkM5PWZzKGgpOng9PT0yODA3NzMwP2subzg9ZnMoaCk6eD09PTE3NTQ1P2suZHVyYXRpb249SUIoaCk6SlkoaCl9bi5wb3M9YjtuPWt9ZWxzZSBuLnBvcz1iLG49bnVsbDtlbHNlIG4ucG9zPWIsbj1udWxsO2lmKG4hPT1udWxsKXtXLko9bi5vOC9uLkM5O2I9bmV3IHRZKHYpO3Y9YjtoPW4uYm07Yj12LnBvcztrPVtdO2lmKHNZKHYsNDc1MjQ5NTE1KSl7Zm9yKHg9ckEodik7c1koeCwxODcpOyl7bGV0IEw9ckEoeCk7aWYoIXNZKEwsMTc5KSljb250aW51ZTtsZXQgZT1mcyhMKTtpZighc1koTCwxODMpKWNvbnRpbnVlO0w9ckEoTCk7bGV0IEc9aDtmb3IoO3NZKEwsMjQxKTspRz1mcyhMKStoO2sucHVzaCh7Zm86RyxuODplfSl9aWYoay5sZW5ndGg+CjAmJkQ9PT1rWzBdLmZvKWZvcihEPTA7RDxrLmxlbmd0aDtEKyspa1tEXS5mbys9MTt2LnBvcz1iO0Q9a31lbHNlIHYucG9zPWIsRD1udWxsO2lmKEQhPT1udWxsKXtmb3IobGV0IEwgb2YgRClEPVcsdj1MLmZvLGI9TC5uOCwkWChEKSxELm9mZnNldHNbRC5jb3VudF09dixELnN0YXJ0VGlja3NbRC5jb3VudF09YixELmNvdW50Kys7Vy5jYXAobi54TStuLmJtLG4uZHVyYXRpb24pfX10aGlzLmo9bnVsbH19R0Mobil7dmFyIFc9dGhpcy5WUShuLmluZm8pLEQ9bi5pbmZvLnJhbmdlLnN0YXJ0K24uaW5mby5OLGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPWdkKG4uSixXW3ZdLnJhbmdlLnN0YXJ0K1dbdl0uTi1ELFdbdl0uSik7Yi5wdXNoKG5ldyBiOChXW3ZdLGspKX1yZXR1cm4gYn1WUShuKXtmb3IodmFyIFc9bi5yYW5nZS5zdGFydCtuLk4sRD0wO0Q8dGhpcy5pbmRleC54JCgpJiZXPj10aGlzLmluZGV4Lk4oRCsxKTspRCsrO3JldHVybiBzTih0aGlzLEQsVywKbi5KKS5Bd31YKG4pe24uVigpO3JldHVybiB0aGlzLk4oKT8hMDpuLnJhbmdlLmVuZCsxPHRoaXMuaW5mby5jb250ZW50TGVuZ3RofWJkKG4sVyl7dGhpcy5YKG4pO2lmKCF0aGlzLk4oKSlyZXR1cm4gVz1XXyhuLnJhbmdlLmVuZCsxLFcpLFcuZW5kKzE+dGhpcy5pbmZvLmNvbnRlbnRMZW5ndGgmJihXPW5ldyBhQihXLnN0YXJ0LHRoaXMuaW5mby5jb250ZW50TGVuZ3RoLTEpKSxuZXcgd2soW25ldyBxSSg0LG4uUEosVywiZ2V0TmV4dFJlcXVlc3RJbmZvQnlMZW5ndGgiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxuLmNsaXBJZCldKTtuLnR5cGU9PT00JiYobj10aGlzLlZRKG4pLG49bltuLmxlbmd0aC0xXSk7dmFyIEQ9MCxiPW4ucmFuZ2Uuc3RhcnQrbi5OK24uSjtuLnR5cGU9PT0zJiYobi5WKCksRD1uLmokLGI9PT1uLnJhbmdlLmVuZCsxJiYoRCs9MSkpO3JldHVybiBzTih0aGlzLEQsYixXKX1lJCgpe3JldHVybiBudWxsfUsobixXPQohMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gc04odGhpcyxuLHRoaXMuaW5kZXguTihuKSwwKX1XKCl7cmV0dXJuITB9RCgpe3JldHVybiEwfVRDKCl7cmV0dXJuITF9SEooKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlLmxlbmd0aCt0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlJiZ0aGlzLmluaXRSYW5nZSYmdGhpcy5pbml0UmFuZ2UuZW5kKzE9PT10aGlzLmluZGV4UmFuZ2Uuc3RhcnQ/ITA6ITF9fTt2YXIgQU09Y2xhc3N7Y29uc3RydWN0b3Iobj0wLFc9MCxEPSJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSIsYj0hMSx2LGssaD0iQVVESU9fUVVBTElUWV9VTktOT1dOIix4PSExKXt0aGlzLnNhbXBsZVJhdGU9bjt0aGlzLm51bUNoYW5uZWxzPVc7dGhpcy5zcGF0aWFsQXVkaW9UeXBlPUQ7dGhpcy5XPWI7dGhpcy5YPXY7dGhpcy5KPWs7dGhpcy5hdWRpb1F1YWxpdHk9aDt0aGlzLk49eH1pc011bHRpQ2hhbm5lbEF1ZGlvKCl7cmV0dXJuIHRoaXMubnVtQ2hhbm5lbHM+Mn19O3ZhciBLTT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiPSIiLHY9IiIsaz0iIil7dGhpcy5kaXNwbGF5TmFtZT1uO3RoaXMudnNzSWQ9Vzt0aGlzLmxhbmd1YWdlQ29kZT1EO3RoaXMua2luZD1iO3RoaXMueHRhZ3M9djt0aGlzLmlkPWt9fTt2YXIgciR4PXtDT0xPUl9QUklNQVJJRVNfQlQ3MDk6ImJ0NzA5IixDT0xPUl9QUklNQVJJRVNfQlQyMDIwOiJidDIwMjAiLENPTE9SX1BSSU1BUklFU19VTktOT1dOOm51bGwsQ09MT1JfUFJJTUFSSUVTX1VOU1BFQ0lGSUVEOm51bGx9LGJxVT17Q09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUNzA5OiJidDcwOSIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUMjAyMF8xMDoiYnQyMDIwIixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfU01QVEVTVDIwODQ6InNtcHRlMjA4NCIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0FSSUJfU1REX0I2NzoiYXJpYi1zdGQtYjY3IixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfVU5LTk9XTjpudWxsLENPTE9SX1RSQU5TRkVSX0NIQVJBQ1RFUklTVElDU19VTlNQRUNJRklFRDpudWxsfTt2YXIgQVQ9e1dJRFRIOntuYW1lOiJ3aWR0aCIsdmlkZW86ITAsdmFsaWQ6NjQwLHZHOjk5OTk5fSxIRUlHSFQ6e25hbWU6ImhlaWdodCIsdmlkZW86ITAsdmFsaWQ6MzYwLHZHOjk5OTk5fSxGUkFNRVJBVEU6e25hbWU6ImZyYW1lcmF0ZSIsdmlkZW86ITAsdmFsaWQ6MzAsdkc6OTk5OX0sQklUUkFURTp7bmFtZToiYml0cmF0ZSIsdmlkZW86ITAsdmFsaWQ6M0U1LHZHOjJFOX0sRU9URjp7bmFtZToiZW90ZiIsdmlkZW86ITAsdmFsaWQ6ImJ0NzA5Iix2RzoiY2F0YXZpc2lvbiJ9LENIQU5ORUxTOntuYW1lOiJjaGFubmVscyIsdmlkZW86ITEsdmFsaWQ6Mix2Rzo5OX0sQ1JZUFRPQkxPQ0tGT1JNQVQ6e25hbWU6ImNyeXB0b2Jsb2NrZm9ybWF0Iix2aWRlbzohMCx2YWxpZDoic3Vic2FtcGxlIix2RzoiaW52YWxpZGZvcm1hdCJ9LERFQ09ERVRPVEVYVFVSRTp7bmFtZToiZGVjb2RlLXRvLXRleHR1cmUiLHZpZGVvOiEwLHZhbGlkOiJmYWxzZSIsdkc6Im5vcGUifSxBVjFfQ09ERUNTOntuYW1lOiJjb2RlY3MiLAp2aWRlbzohMCx2YWxpZDoiYXYwMS4wLjA1TS4wOCIsdkc6ImF2OTkuMC4wNU0uMDgifSxFWFBFUklNRU5UQUw6e25hbWU6ImV4cGVyaW1lbnRhbCIsdmlkZW86ITAsdmFsaWQ6ImFsbG93ZWQiLHZHOiJpbnZhbGlkIn0sVFVOTkVMTU9ERTp7bmFtZToidHVubmVsbW9kZSIsdmlkZW86ITAsdmFsaWQ6InRydWUiLHZHOiJmYWxzZSJ9fTt2YXIgWWc9e1siMCJdOiJmIixbIjE2MCJdOiJoIixbIjEzMyJdOiJoIixbIjEzNCJdOiJoIixbIjEzNSJdOiJoIixbIjEzNiJdOiJoIixbIjEzNyJdOiJoIixbIjI2NCJdOiJoIixbIjI2NiJdOiJoIixbIjEzOCJdOiJoIixbIjI5OCJdOiJoIixbIjI5OSJdOiJoIixbIjMwNCJdOiJoIixbIjMwNSJdOiJoIixbIjIxNCJdOiJoIixbIjIxNiJdOiJoIixbIjM3NCJdOiJoIixbIjM3NSJdOiJoIixbIjE0MCJdOiJhIixbIjE0MSJdOiJhIixbIjMyNyJdOiJzYSIsWyIyNTgiXToibSIsWyIzODAiXToibWFjMyIsWyIzMjgiXToibWVhYzMiLFsiMTYxIl06IkgiLFsiMTQyIl06IkgiLFsiMTQzIl06IkgiLFsiMTQ0Il06IkgiLFsiMjIyIl06IkgiLFsiMjIzIl06IkgiLFsiMTQ1Il06IkgiLFsiMjI0Il06IkgiLFsiMjI1Il06IkgiLFsiMTQ2Il06IkgiLFsiMjI2Il06IkgiLFsiMjI3Il06IkgiLFsiMTQ3Il06IkgiLFsiMzg0Il06IkgiLFsiMzc2Il06IkgiLFsiMzg1Il06IkgiLFsiMzc3Il06IkgiLApbIjE0OSJdOiJBIixbIjI2MSJdOiJNIixbIjM4MSJdOiJNQUMzIixbIjMyOSJdOiJNRUFDMyIsWyI1OTgiXToiOSIsWyIyNzgiXToiOSIsWyIyNDIiXToiOSIsWyIyNDMiXToiOSIsWyIyNDQiXToiOSIsWyI3NzUiXToiOSIsWyI3NzYiXToiOSIsWyI3NzciXToiOSIsWyI3NzgiXToiOSIsWyI3NzkiXToiOSIsWyI3ODAiXToiOSIsWyI3ODEiXToiOSIsWyI3ODIiXToiOSIsWyI3ODMiXToiOSIsWyIyNDciXToiOSIsWyIyNDgiXToiOSIsWyIzNTMiXToiOSIsWyIzNTUiXToiOSIsWyIzNTYiXToiOSIsWyIyNzEiXToiOSIsWyI1NzciXToiOSIsWyIzMTMiXToiOSIsWyI1NzkiXToiOSIsWyIyNzIiXToiOSIsWyIzMDIiXToiOSIsWyIzMDMiXToiOSIsWyI0MDciXToiOSIsWyI0MDgiXToiOSIsWyIzMDgiXToiOSIsWyIzMTUiXToiOSIsWyIzMzAiXToiOWgiLFsiMzMxIl06IjloIixbIjMzMiJdOiI5aCIsWyIzMzMiXToiOWgiLFsiMzM0Il06IjloIixbIjMzNSJdOiI5aCIsWyIzMzYiXToiOWgiLApbIjMzNyJdOiI5aCIsWyIzMzgiXToic28iLFsiNjAwIl06Im8iLFsiMjUwIl06Im8iLFsiMjUxIl06Im8iLFsiNzc0Il06Im8iLFsiMTk0Il06IioiLFsiMTk1Il06IioiLFsiMjIwIl06IioiLFsiMjIxIl06IioiLFsiMTk2Il06IioiLFsiMTk3Il06IioiLFsiMjc5Il06IigiLFsiMjgwIl06IigiLFsiMzE3Il06IigiLFsiMzE4Il06IigiLFsiMjczIl06IigiLFsiMjc0Il06IigiLFsiMzU3Il06IigiLFsiMzU4Il06IigiLFsiMjc1Il06IigiLFsiMzU5Il06IigiLFsiMzYwIl06IigiLFsiMjc2Il06IigiLFsiNTgzIl06IigiLFsiNTg0Il06IigiLFsiMzE0Il06IigiLFsiNTg1Il06IigiLFsiNTYxIl06IigiLFsiMjc3Il06IigiLFsiMzYxIl06IihoIixbIjM2MiJdOiIoaCIsWyIzNjMiXToiKGgiLFsiMzY0Il06IihoIixbIjM2NSJdOiIoaCIsWyIzNjYiXToiKGgiLFsiNTkxIl06IihoIixbIjU5MiJdOiIoaCIsWyIzNjciXToiKGgiLFsiNTg2Il06IihoIixbIjU4NyJdOiIoaCIsClsiMzY4Il06IihoIixbIjU4OCJdOiIoaCIsWyI1NjIiXToiKGgiLFsiNDA5Il06IigiLFsiNDEwIl06IigiLFsiNDExIl06IigiLFsiNDEyIl06IigiLFsiNTU3Il06IigiLFsiNTU4Il06IigiLFsiMzk0Il06IjEiLFsiMzk1Il06IjEiLFsiMzk2Il06IjEiLFsiMzk3Il06IjEiLFsiMzk4Il06IjEiLFsiMzk5Il06IjEiLFsiNzIwIl06IjEiLFsiNzIxIl06IjEiLFsiNDAwIl06IjEiLFsiNDAxIl06IjEiLFsiNTcxIl06IjEiLFsiNDAyIl06IjEiLFsiNjk0Il06IjFoIixbIjY5NSJdOiIxaCIsWyI2OTYiXToiMWgiLFsiNjk3Il06IjFoIixbIjY5OCJdOiIxaCIsWyI2OTkiXToiMWgiLFsiNzAwIl06IjFoIixbIjcwMSJdOiIxaCIsWyI3MDIiXToiMWgiLFsiNzAzIl06IjFoIixbIjM4NiJdOiIzIixbIjM4NyJdOiJ3IixbIjQwNiJdOiI2IixbIjc4NyJdOiIxIixbIjc4OCJdOiIxIixbIjU0OCJdOiIxZSIsWyI1NDkiXToiMWUiLFsiNTUwIl06IjFlIixbIjU1MSJdOiIxZSIsWyI4MDkiXToiMWUiLApbIjgxMCJdOiIxZSIsWyI1NTIiXToiMWUiLFsiODExIl06IjFlIixbIjgxMiJdOiIxZSIsWyI1NTMiXToiMWUiLFsiODEzIl06IjFlIixbIjgxNCJdOiIxZSIsWyI1NTQiXToiMWUiLFsiODE1Il06IjFlIixbIjgxNiJdOiIxZSIsWyI1NTUiXToiMWUiLFsiODE3Il06IjFlIixbIjgxOCJdOiIxZSIsWyI1NzIiXToiMWUiLFsiNTU2Il06IjFlIixbIjY0NSJdOiIoIixbIjY0NiJdOiIoIixbIjY0NyJdOiIoIixbIjY0OCJdOiIoIixbIjY0OSJdOiIoIixbIjY1MCJdOiIoIixbIjY1MSJdOiIoIixbIjY1MiJdOiIoIixbIjY1MyJdOiIoIixbIjY1NCJdOiIoIixbIjY1NSJdOiIoIixbIjY1NiJdOiIoIixbIjY1NyJdOiIoIixbIjY1OCJdOiIoIixbIjY1OSJdOiIoIixbIjY2MCJdOiIoIixbIjY2MSJdOiIoIixbIjY2MiJdOiIoIixbIjY2MyJdOiIoIixbIjY2NCJdOiIoIixbIjY2NSJdOiIoIixbIjY2NiJdOiIoIixbIjY2NyJdOiIoIixbIjY2OCJdOiIoIixbIjY2OSJdOiIoIixbIjY3MCJdOiIoIiwKWyI2NzEiXToiKCIsWyI2NzIiXToiKCIsWyI2NzMiXToiKCIsWyI2NzQiXToiKGgiLFsiNjc1Il06IihoIixbIjY3NiJdOiIoaCIsWyI2NzciXToiKGgiLFsiNjc4Il06IihoIixbIjY3OSJdOiIoaCIsWyI2ODAiXToiKGgiLFsiNjgxIl06IihoIixbIjY4MiJdOiIoaCIsWyI2ODMiXToiKGgiLFsiNjg0Il06IihoIixbIjY4NSJdOiIoaCIsWyI2ODYiXToiKGgiLFsiNjg3Il06IihoIixbIjY4OCJdOiJBIixbIjY4OSJdOiJBIixbIjY5MCJdOiJBIixbIjY5MSJdOiJNRUFDMyIsWyI3NzMiXToiaSIsWyI4MDYiXToiSSIsWyI4MDUiXToiSSIsWyI4MjkiXToiOSIsWyI4MzAiXToiOSIsWyI4MzEiXToiOSIsWyI4MzIiXToiOSIsWyI4MzMiXToiOSIsWyI4MzQiXToiOSIsWyI4MzUiXToiOSIsWyI4MzYiXToiOSIsWyI4OTIiXToiOSIsWyI4OTMiXToiOSIsWyI4MzciXToiOSIsWyI4MzgiXToiOSIsWyI4MzkiXToiOSIsWyI4NDAiXToiOSIsWyI4NDEiXToiKCIsWyI4NDIiXToiKCIsWyI4NDMiXToiKCIsClsiODQ0Il06IigiLFsiODQ1Il06IigiLFsiODQ2Il06IigiLFsiODQ3Il06IigiLFsiODQ4Il06IigiLFsiODk0Il06IigiLFsiODk1Il06IigiLFsiODQ5Il06IigiLFsiODUwIl06IigiLFsiODUxIl06IigiLFsiODUyIl06IigiLFsiODY1Il06IjkiLFsiODY2Il06IjkiLFsiODY3Il06IjkiLFsiODY4Il06IjkiLFsiODY5Il06IjkiLFsiODcwIl06IjkiLFsiODcxIl06IjkiLFsiODcyIl06IjkiLFsiODk2Il06IjkiLFsiODk3Il06IjkiLFsiODczIl06IjkiLFsiODc0Il06IjkiLFsiODc1Il06IjkiLFsiODc2Il06IjkiLFsiODc3Il06IigiLFsiODc4Il06IigiLFsiODc5Il06IigiLFsiODgwIl06IigiLFsiODgxIl06IigiLFsiODgyIl06IigiLFsiODgzIl06IigiLFsiODg0Il06IigiLFsiODk4Il06IigiLFsiODk5Il06IigiLFsiODg1Il06IigiLFsiODg2Il06IigiLFsiODg3Il06IigiLFsiODg4Il06IigiLFsiOTAwIl06IjIiLFsiOTAxIl06IjIiLFsiOTAyIl06IjIiLApbIjkwMyJdOiIyIixbIjkwNCJdOiIyIixbIjkwNSJdOiIyIixbIjkwNiJdOiIyIixbIjkwNyJdOiIyIixbIjkwOCJdOiIyIn07dmFyIHBNPSJoaWdocmVzIGhkMjg4MCBoZDIxNjAgaGQxNDQwIGhkMTA4MCBoZDcyMCBsYXJnZSBtZWRpdW0gc21hbGwgdGlueSIuc3BsaXQoIiAiKTt2YXIgSFI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSxHKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9Vzt0aGlzLlc9eDt0aGlzLnF1YWxpdHk9a3x8WVgobixXKTt0aGlzLnF1YWxpdHlPcmRpbmFsPU5HW3RoaXMucXVhbGl0eV07dGhpcy5mcHM9RHx8MDt0aGlzLnN0ZXJlb0xheW91dD0hdnx8YiE9bnVsbCYmYiE9PSJVTktOT1dOIiYmYiE9PSJSRUNUQU5HVUxBUiI/MDp2O3RoaXMucHJvamVjdGlvblR5cGU9Yj9iPT09IkVRVUlSRUNUQU5HVUxBUiImJnY9PT0yPyJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOmI6IlVOS05PV04iOyhuPWgpfHwoRD1OR1t0aGlzLnF1YWxpdHldLEQ9PT0wP249IkF1dG8iOihuPXRoaXMucHJvamVjdGlvblR5cGUsVz10aGlzLmZwcyxuPUQudG9TdHJpbmcoKSsobj09PSJFUVVJUkVDVEFOR1VMQVIifHxuPT09IkVRVUlSRUNUQU5HVUxBUl9USFJFRURfVE9QX0JPVFRPTSJ8fG49PT0iTUVTSCI/InMiOiJwIikrCihXPjU1PyI2MCI6Vz40OT8iNTAiOlc+Mzk/IjQ4IjoiIikpKTt0aGlzLnF1YWxpdHlMYWJlbD1uO3RoaXMuTj1MfHwiIjt0aGlzLnByaW1hcmllcz1lfHwiIjt0aGlzLlg9Rz8/ITB9Sigpe3JldHVybiB0aGlzLmZwcz4zMn1pc0hkcigpe3JldHVybiB0aGlzLk49PT0ic21wdGUyMDg0Inx8dGhpcy5OPT09ImFyaWItc3RkLWI2NyJ9fTt2YXIgbXU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQ9e30pe3RoaXMuaWQ9bjt0aGlzLm1pbWVUeXBlPVc7RC5Ocz4wfHwoRC5Ocz0xNkUzKTtPYmplY3QuYXNzaWduKHRoaXMsRCk7W3RoaXMuaXRhZyx0aGlzLkpdPXRoaXMuaWQuc3BsaXQoIjsiKTt0aGlzLmNvbnRhaW5lclR5cGU9Sk0oVyk7dGhpcy5JQj1ZZ1t0aGlzLml0YWddfHwiIn1LKCl7cmV0dXJuIHRoaXMudmlkZW99WSgpe3JldHVybiB0aGlzLmF1ZGlvfXFIKCl7cmV0dXJuIHRoaXMuY29udGFpbmVyVHlwZT09PTJ9WCgpe3JldHVybiB0aGlzLklCPT09IjkifHx0aGlzLklCPT09IigifHx0aGlzLklCPT09IjloInx8dGhpcy5JQj09PSIoaCJ9TVcoKXtyZXR1cm4gdGhpcy5JQj09PSIxInx8dGhpcy5JQj09PSIxaCJ8fFBSJiZ0aGlzLklCPT09IjFlIn1WKCl7cmV0dXJuIHRoaXMuSUI9PT0ibWFjMyJ8fHRoaXMuSUI9PT0ibWVhYzMifHx0aGlzLklCPT09Im0ifHx0aGlzLklCPT09ImkifHxtRih0aGlzKX1EKCl7cmV0dXJuIHRoaXMuSUI9PT0KIk1BQzMifHx0aGlzLklCPT09Im1hYzMifHx0aGlzLklCPT09Ik1FQUMzInx8dGhpcy5JQj09PSJtZWFjMyJ9aXNFbmNyeXB0ZWQoKXtyZXR1cm4hIXRoaXMuY29udGVudFByb3RlY3Rpb259ZVMoKXtyZXR1cm4hIXRoaXMuYXVkaW99ZlkoKXtyZXR1cm4hIXRoaXMudmlkZW99Vygpe3JldHVybiB0aGlzLm1pbWVUeXBlPT09ImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCJ9Tigpe3ZhciBuPXRoaXMubWltZVR5cGU7cmV0dXJuIG4uaW5jbHVkZXMoInZ0dCIpfHxuLmluY2x1ZGVzKCJ0ZXh0L21wNCIpfWlzVmVydGljYWwoKXtyZXR1cm4hIXRoaXMudmlkZW8mJnRoaXMudmlkZW8ud2lkdGg8dGhpcy52aWRlby5oZWlnaHR9fSxQUj0hMSxFTj0hMTtnLkZzPWNsYXNzIGV4dGVuZHMgZy5KTHtOTihuLFcsRCxiLHYpe3JldHVybiBzdXBlci5OTihuLFcsRCxiLHYpfX07dmFyIHhnPWNsYXNzIGV4dGVuZHMgZy5GaXtjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcigpO3RoaXMuayQ9bjt0aGlzLnN0YXJ0PVc7dGhpcy5lbmQ9RDt0aGlzLmlzQWN0aXZlPWI7dGhpcy5hcHBlbmRXaW5kb3dTdGFydD0wO3RoaXMuYXBwZW5kV2luZG93RW5kPUluZmluaXR5O3RoaXMudGltZXN0YW1wT2Zmc2V0PTA7dGhpcy5LVT17ZXJyb3I6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJlcnJvciIsdGhpcyl9LAp1cGRhdGVlbmQ6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJ1cGRhdGVlbmQiLHRoaXMpfX07CnRoaXMuayQuaCQodGhpcy5LVSk7dGhpcy5wTj10aGlzLmlzQWN0aXZlfWFwcGVuZEJ1ZmZlcihuLFcsRCl7aWYodGhpcy5rJC5NcigpIT09dGhpcy5hcHBlbmRXaW5kb3dTdGFydCt0aGlzLnN0YXJ0fHx0aGlzLmskLktGKCkhPT10aGlzLmFwcGVuZFdpbmRvd0VuZCt0aGlzLnN0YXJ0fHx0aGlzLmskLlNXKCkhPT10aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KXRoaXMuayQuc3VwcG9ydHMoMSksdGhpcy5rJC5lNyh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0K3RoaXMuc3RhcnQsdGhpcy5hcHBlbmRXaW5kb3dFbmQrdGhpcy5zdGFydCksdGhpcy5rJC55Tyh0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KTt0aGlzLmskLmFwcGVuZEJ1ZmZlcihuLFcsRCl9YWJvcnQoKXt0aGlzLmskLmFib3J0KCl9cmVtb3ZlKG4sVyl7dGhpcy5rJC5yZW1vdmUobit0aGlzLnN0YXJ0LFcrdGhpcy5zdGFydCl9VGkoKXt0aGlzLnJlbW92ZSh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0LHRoaXMuYXBwZW5kV2luZG93RW5kKX1jbGVhcigpe3RoaXMuayQuY2xlYXIoKX1lNyhuLApXKXt0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0PW47dGhpcy5hcHBlbmRXaW5kb3dFbmQ9V31pdygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0fU1yKCl7cmV0dXJuIHRoaXMuYXBwZW5kV2luZG93U3RhcnR9S0YoKXtyZXR1cm4gdGhpcy5hcHBlbmRXaW5kb3dFbmR9eU8obil7dGhpcy50aW1lc3RhbXBPZmZzZXQ9bn1TVygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldH1aRihuPSExKXtuPXRoaXMuayQuWkYobik7cmV0dXJuIFFUKG4sdGhpcy5zdGFydCx0aGlzLmVuZCl9eXUoKXtyZXR1cm4gdGhpcy5rJC55dSgpfWZGKCl7cmV0dXJuIHRoaXMuayQuZkYoKX1nWCgpe3JldHVybiB0aGlzLmskLmdYKCl9RGMoKXtyZXR1cm4gdGhpcy5rJC5EYygpfWg5KCl7dGhpcy5rJC5oOSgpfXRaKG4pe3JldHVybiB0aGlzLmskLnRaKG4pfUQ5KCl7cmV0dXJuIHRoaXMuayQuRDkoKX1MRigpe3JldHVybiB0aGlzLmskLkxGKCl9am4obixXLEQpe3RoaXMuayQuam4obiwKVyxEKX1WbyhuLFcsRCl7dGhpcy5rJC5WbyhuLFcsRCl9bmEobixXKXtyZXR1cm4gdGhpcy5rJC5uYShuLFcpfXN1cHBvcnRzKG4pe3JldHVybiB0aGlzLmskLnN1cHBvcnRzKG4pfVpnKCl7cmV0dXJuIHRoaXMuayQuWmcoKX1pUSgpe3JldHVybiB0aGlzLmskLmlRKCl9aXNWaWV3KCl7cmV0dXJuITB9am8oKXtyZXR1cm4gdGhpcy5rJC5qbygpP3RoaXMuaXNBY3RpdmU6ITF9aXNMb2NrZWQoKXtyZXR1cm4gdGhpcy5wTiYmIXRoaXMuaXNBY3RpdmV9eXIobil7bj10aGlzLmskLnlyKG4pO24udnc9YCR7dGhpcy5zdGFydH0tJHt0aGlzLmVuZH1gO3JldHVybiBufW5GKCl7cmV0dXJuIHRoaXMuayQubkYoKX1Lcygpe3JldHVybiB0aGlzLmskLktzKCl9ejAoKXtyZXR1cm4gdGhpcy5rJC56MCgpfW1BKCl7dGhpcy5rJC5NOSh0aGlzLktVKTtzdXBlci5tQSgpfUtpKCl7cmV0dXJuIHRoaXMuaXNBY3RpdmV9VnUobil7dGhpcy5pc0FjdGl2ZT1uO3RoaXMucE49dGhpcy5wTnx8dGhpcy5pc0FjdGl2ZX19O3ZhciBzND0hMTt2YXIga2c9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG4sVyxELGIsdixrKXtzdXBlcigpO3RoaXMuUUU9bjt0aGlzLkVWPVc7dGhpcy5pZD1EO3RoaXMuY29udGFpbmVyVHlwZT1iO3RoaXMuSUI9djt0aGlzLmZZPWs7dGhpcy5tTz10aGlzLmpxPXRoaXMuZEg9bnVsbDt0aGlzLmVvPSExO3RoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLkY0PVRpKFtdLFtdKTt0aGlzLkhIPSExO3RoaXMuaWs9W107dGhpcy55Nj1QYz9bXTp2b2lkIDA7dGhpcy5oYW5kbGVyPWg9PnRoaXMuV0ooaC50eXBlLHRoaXMpOwp0aGlzLlFFPy5hZGRFdmVudExpc3RlbmVyJiYodGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVlbmQiLHRoaXMuaGFuZGxlciksdGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5oYW5kbGVyKSl9YXBwZW5kQnVmZmVyKG4sVyxEKXt0aGlzLkhIPSExO0QmJih0aGlzLmpxPUQpO24ubGVuZ3RoJiYodGhpcy5RRT8uYXBwZW5kQnVmZmVyP3RoaXMuUUUuYXBwZW5kQnVmZmVyKG4pOnRoaXMuUUU/dGhpcy5RRS5hcHBlbmQobik6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5pZCxuKSk7VyYmKFcuaXNFbmNyeXB0ZWQoKSYmKHRoaXMubU89dGhpcy5qcSksVy50eXBlPT09MyYmKHRoaXMuZEg9VyksdGhpcy5pay5wdXNoKFcuZ2EoKSksdGhpcy5pay5sZW5ndGg+NCYmdGhpcy5pay5zaGlmdCgpKTt0aGlzLnk2JiYodGhpcy55Ni5sZW5ndGg+PTJ8fG4ubGVuZ3RoPjEwNDg1NzY/ZGVsZXRlIHRoaXMueTY6dGhpcy55Ni5wdXNoKG4pKX1hYm9ydCgpe3RyeXt0aGlzLlFFPwp0aGlzLlFFLmFib3J0KCk6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBYm9ydCh0aGlzLmlkKX1jYXRjaChuKXtRalomJmcuR3EobmV3IGcuUXgoYEVycm9yIHdoaWxlIGFib3J0IHRoZSBzb3VyY2UgYnVmZmVyOiAke24ubmFtZX0sICR7bi5tZXNzYWdlfWApKX10aGlzLmpxPXRoaXMuZEg9bnVsbH1yZW1vdmUobixXLEQpe3RoaXMuSEg9ITE7dGhpcy5RRT8ucmVtb3ZlJiYoRCYmRCh7Yjpyayh0aGlzLlpGKCkpLHM6bixlOld9KSx0aGlzLlFFLnJlbW92ZShuLFcpKX1UaSgpe3RoaXMucmVtb3ZlKHRoaXMuTXIoKSx0aGlzLktGKCkpfWNsZWFyKCl7dGhpcy5nWCgpfHwodGhpcy5hYm9ydCgpLHRoaXMuVGkoKSx0aGlzLm1PPXRoaXMuanE9dGhpcy5kSD1udWxsLHRoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MCx0aGlzLkY0PVRpKFtdLFtdKSx0aGlzLkhIPSExLHRoaXMueTY9UGM/W106dm9pZCAwLHRoaXMuZW89ITApfU1yKCl7cmV0dXJuIHM0JiYKdGhpcy5mWT90aGlzLmFwcGVuZFdpbmRvd1N0YXJ0OnRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwfUtGKCl7cmV0dXJuIHRoaXMuUUU/LmFwcGVuZFdpbmRvd0VuZHx8MH1lNyhuLFcpe3RoaXMuUUUmJihzNCYmdGhpcy5mWT8odGhpcy5hcHBlbmRXaW5kb3dTdGFydD1uLHRoaXMuUUUuYXBwZW5kV2luZG93RW5kPVcpOm4+dGhpcy5NcigpPyh0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XLHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bik6KHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bix0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XKSl9aXcoKXtyZXR1cm4gdGhpcy50aW1lc3RhbXBPZmZzZXR9eU8obil7czQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ9bjp0aGlzLnN1cHBvcnRzKDEpJiYodGhpcy5RRS50aW1lc3RhbXBPZmZzZXQ9bil9U1coKXtyZXR1cm4gczQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ6dGhpcy5zdXBwb3J0cygxKT90aGlzLlFFLnRpbWVzdGFtcE9mZnNldDowfVpGKG49CiExKXtpZihuKXJldHVybiB0aGlzLkhIfHx0aGlzLnl1KCl8fCh0aGlzLkY0PXRoaXMuWkYoITEpLHRoaXMuSEg9ITApLHRoaXMuRjQ7dHJ5e3JldHVybiB0aGlzLlFFP3RoaXMuUUUuYnVmZmVyZWQ6dGhpcy5FVj90aGlzLkVWLndlYmtpdFNvdXJjZUJ1ZmZlcmVkKHRoaXMuaWQpOlRpKFswXSxbSW5maW5pdHldKX1jYXRjaChXKXtyZXR1cm4gVGkoW10sW10pfX15dSgpe3JldHVybiB0aGlzLlFFPy51cGRhdGluZ3x8ITF9Z1goKXtyZXR1cm4gdGhpcy5lb31EYygpe3JldHVybiF0aGlzLmVvJiZ0aGlzLnl1KCl9aDkoKXt0aGlzLmVvPSExfXRaKG4pe3ZhciBXPW4/LklCO249bj8uY29udGFpbmVyVHlwZTtyZXR1cm4hVyYmIW58fFc9PT10aGlzLklCJiZuPT09dGhpcy5jb250YWluZXJUeXBlfUQ5KCl7cmV0dXJuIHRoaXMuanF9TEYoKXtyZXR1cm4gdGhpcy5tT31uYShuLFcpe3JldHVybiB0aGlzLmNvbnRhaW5lclR5cGUhPT1ufHx0aGlzLklCIT09V31qbihuLFcsRCl7aWYodGhpcy5jb250YWluZXJUeXBlIT09Cm58fEQmJnRoaXMubmEobixEKSl0aGlzLnN1cHBvcnRzKDQpLFZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShXKSxEJiYodGhpcy5JQj1EKTt0aGlzLmNvbnRhaW5lclR5cGU9bn1WbyhuLFcsRCl7dGhpcy5jb250YWluZXJUeXBlJiZ0aGlzLm5hKG4sVykmJlZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShEKTt0aGlzLmNvbnRhaW5lclR5cGU9bjt0aGlzLklCPVd9WmcoKXtyZXR1cm4gdGhpcy5kSH1pUSgpe3JldHVybiEhdGhpcy5kSCYmIXRoaXMuZEguYVp9aXNWaWV3KCl7cmV0dXJuITF9c3VwcG9ydHMobil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4gdGhpcy5RRT8udGltZXN0YW1wT2Zmc2V0IT09dm9pZCAwO2Nhc2UgMDpyZXR1cm4hIXRoaXMuUUU/LmFwcGVuZEJ1ZmZlcjtjYXNlIDI6cmV0dXJuISF0aGlzLlFFPy5yZW1vdmU7Y2FzZSAzOnJldHVybiEoIXRoaXMuUUU/LmFkZEV2ZW50TGlzdGVuZXJ8fCF0aGlzLlFFPy5yZW1vdmVFdmVudExpc3RlbmVyKTtjYXNlIDQ6cmV0dXJuISghdGhpcy5RRXx8CiF0aGlzLlFFLmNoYW5nZVR5cGUpO2RlZmF1bHQ6cmV0dXJuITF9fWpvKCl7cmV0dXJuIXRoaXMueXUoKX1pc0xvY2tlZCgpe3JldHVybiExfXlyKG4pe24udG89dGhpcy5TVygpO24udXA9dGhpcy55dSgpO24uYXc9YCR7KHRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwKS50b0ZpeGVkKDMpfS0keyh0aGlzLlFFPy5hcHBlbmRXaW5kb3dFbmR8fEluZmluaXR5KS50b0ZpeGVkKDMpfWA7cmV0dXJuIG59ZkYoKXtyZXR1cm4gdGhpcy5RRT8ud3JpdGVIZWFkfHwwfW5GKCl7dmFyIG49e307Zm9yKGxldCBXPTA7Vzx0aGlzLmlrLmxlbmd0aDtXKyspbltgcyR7V31gXT10aGlzLmlrW1ddO3JldHVybiBufW1BKCl7dGhpcy5zdXBwb3J0cygzKSYmKHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidXBkYXRlZW5kIix0aGlzLmhhbmRsZXIpLHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuaGFuZGxlcikpO3N1cGVyLm1BKCl9S3MoKXtyZXR1cm4gdGhpcy5jb250YWluZXJUeXBlfXowKCl7cmV0dXJuIHRoaXMueTZ9fSwKUGM9ITEsUWpaPSExO3ZhciB3bj1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuWGI9bjt0aGlzLk49Vzt0aGlzLko9ITF9ZGlzcG9zZSgpe2lmKCF0aGlzLnFOKCkpe2lmKHRoaXMuTil0cnl7VVJMLnJldm9rZU9iamVjdFVSTCh0aGlzLlhiKX1jYXRjaChuKXt9dGhpcy5KPSEwfX1xTigpe3JldHVybiB0aGlzLkp9Vygpe3JldHVybiB0aGlzLk59ZXF1YWxzKG4pe3JldHVybiBuIT09bnVsbCYmbi5YYj09PXRoaXMuWGJ9dG9TdHJpbmcoKXtyZXR1cm5gTWVkaWFSZXNvdXJjZSB7JHt0aGlzLlhifX1gfX07dmFyIGhaPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuLFcsRD0hMSl7c3VwZXIoKTt0aGlzLm1lZGlhRWxlbWVudD1uO3RoaXMubWVkaWFTb3VyY2U9Vzt0aGlzLmlzVmlldz1EO3RoaXMuWT0wO3RoaXMuVj0hMTt0aGlzLks9ITA7dGhpcy5jSj0wO3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLk89ITE7dGhpcy5tZWRpYVNvdXJjZXx8KHRoaXMuRVY9dGhpcy5tZWRpYUVsZW1lbnQuZV8oKSk7dGhpcy5ldmVudHM9bmV3IGcuRnModGhpcyk7Zy51KHRoaXMsdGhpcy5ldmVudHMpO3RoaXMuaj1uZXcgd24odGhpcy5tZWRpYVNvdXJjZT93aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLm1lZGlhU291cmNlKTp0aGlzLkVWLndlYmtpdE1lZGlhU291cmNlVVJMLCEwKTtuPXRoaXMubWVkaWFTb3VyY2V8fHRoaXMuRVY7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZW9wZW4iLCJ3ZWJraXRzb3VyY2VvcGVuIl0sdGhpcy5TJCk7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZWNsb3NlIiwKIndlYmtpdHNvdXJjZWNsb3NlIl0sdGhpcy5UQyk7dGhpcy5MTD17dXBkYXRlZW5kOnRoaXMuZVh9fXR3KCl7cmV0dXJuIHRoaXMuan1nZXREdXJhdGlvbigpe3JldHVybiB0aGlzLm1lZGlhU291cmNlPy5kdXJhdGlvbnx8dGhpcy5jSn1hVChuKXt0cnl7dGhpcy5tZWRpYVNvdXJjZT90aGlzLm1lZGlhU291cmNlLmR1cmF0aW9uPW46KHRoaXMuY0o9bix0aGlzLkVWLndlYmtpdFNvdXJjZVNldER1cmF0aW9uKG4pKX1jYXRjaChXKXt9fVgoKXtyZXR1cm4hIXRoaXMuTnx8ISF0aGlzLkp9UEEoKXt0cnl7cmV0dXJuIHRoaXMuVygpPT09ImNsb3NlZCJ9Y2F0Y2gobil7cmV0dXJuITB9fVcoKXtpZih0aGlzLm1lZGlhU291cmNlKXJldHVybiB0aGlzLm1lZGlhU291cmNlLnJlYWR5U3RhdGU7c3dpdGNoKHRoaXMuRVYud2Via2l0U291cmNlU3RhdGUpe2Nhc2UgdGhpcy5FVi5TT1VSQ0VfT1BFTjpyZXR1cm4ib3BlbiI7Y2FzZSB0aGlzLkVWLlNPVVJDRV9FTkRFRDpyZXR1cm4iZW5kZWQiOwpkZWZhdWx0OnJldHVybiJjbG9zZWQifX15dSgpe3JldHVybiEhKHRoaXMuTiYmdGhpcy5OLnl1KCl8fHRoaXMuSiYmdGhpcy5KLnl1KCkpfVMkKCl7IXRoaXMucU4oKSYmbjYodGhpcykmJnRoaXMuY2FsbGJhY2smJih0aGlzLmNhbGxiYWNrKHRoaXMpLHRoaXMuY2FsbGJhY2s9bnVsbCl9VEMoKXt0aGlzLmRpc3Bvc2UoKX1lWChuKXtESCYmIXRoaXMuViYmbi5nWCgpJiZuLlpGKCkubGVuZ3RoPT09MCYmKGJBKHRoaXMubWVkaWFFbGVtZW50LHtsOiJtc3dvdWUiLHNyOnRoaXMubWVkaWFFbGVtZW50LllhPy5wZygpfSwhMSksbi5oOSgpLHRoaXMuZ1goKXx8KHRoaXMubWVkaWFFbGVtZW50LkNGPSEwLHRoaXMubWVkaWFFbGVtZW50LnNldEN1cnJlbnRUaW1lKDApKSl9Y2xlYXIoKXtXRih0aGlzLCgpPT57fSk7CnRoaXMuTj8uY2xlYXIoKTt0aGlzLko/LmNsZWFyKCl9RCgpe3RoaXMuTj8uaDkoKTt0aGlzLko/Lmg5KCk7dGhpcy5LPSExfWdYKCl7cmV0dXJuIHRoaXMuSj8uZ1goKXx8dGhpcy5OPy5nWCgpfXRaKG4sVyl7cmV0dXJuISF0aGlzLk4mJiEhdGhpcy5KJiZ0aGlzLk4udFooVykmJnRoaXMuSi50WihuKX1iZCgpe3JldHVybiEhdGhpcy5tZWRpYVNvdXJjZSYmdGhpcy5tZWRpYVNvdXJjZS5zdHJlYW1pbmc9PT0hMX19LERIPSExO3ZhciBnR3I9L2FjdGlvbl9kaXNwbGF5X3Bvc3QvO2cuR3g9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG49IiIsVz1udWxsLEQ9ITEpe3N1cGVyKCk7dGhpcy5zb3VyY2VVcmw9bjt0aGlzLmlzTGl2ZVBsYXliYWNrPUQ7dGhpcy5ISj10aGlzLmR1cmF0aW9uPTA7dGhpcy5pc1ByZW1pZXJlPXRoaXMuWGc9dGhpcy5pc1dpbmRvd2VkTGl2ZT10aGlzLmlzTGl2ZUhlYWRQbGF5YWJsZT10aGlzLmlzTGl2ZT10aGlzLlc9ITE7dGhpcy5IUD10aGlzLkl0PTA7dGhpcy5pc090Zj10aGlzLnpXPSExO3RoaXMuUyQ9KDAsZy5SKSgpO3RoaXMuY0o9SW5maW5pdHk7dGhpcy5OPXt9O3RoaXMuSj1uZXcgTWFwO3RoaXMuc3RhdGU9dGhpcy5sTj0wO3RoaXMuVj1udWxsO3RoaXMuaXNNYW5pZmVzdGxlc3M9ITE7dGhpcy5iZD1bXTt0aGlzLks9bnVsbDt0aGlzLmUkPTA7dGhpcy5qPSIiO3RoaXMuVEM9TmFOO3RoaXMuSlU9dGhpcy5vUj10aGlzLnRpbWVzdGFtcE9mZnNldD10aGlzLkQ9MDt0aGlzLldNPXRoaXMuSDI9TmFOO3RoaXMuSVQ9MDsKdGhpcy5WUT10aGlzLk89ITE7dGhpcy5HQz1bXTt0aGlzLnZKPXt9O3RoaXMuUFg9dGhpcy50dz1OYU47dGhpcy5DdT1XPy5FcSgiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpO016PSEhVyYmVy5FcSgiaHRtbDVfbW9kZXJuX3ZwOV9taW1lX3R5cGUiKTtIRj0hIVc/LkVxKCJodG1sNV9lbmFibGVfZmx1c2hfZHVyaW5nX3NlZWsiKSYmZy5kOCgpO2Y2PSEhVz8uRXEoImh0bWw1X2VuYWJsZV9yZXNldF9hdWRpb19kZWNvZGVyIikmJmcuZDgoKX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTF9dG4oKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTN9bnUoKXtyZXR1cm4gZy5EbCh0aGlzLk4sbj0+ISFuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5xdWFsaXR5T3JkaW5hbD49MjE2MCl9WCgpe3JldHVybiBnLkRsKHRoaXMuTixuPT4hIW4uaW5mby5jb250ZW50UHJvdGVjdGlvbil9eUUobil7dmFyIFc9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiUmVwcmVzZW50YXRpb24iKTsKaWYobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudExpc3QiKS5sZW5ndGg+MHx8bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRlbXBsYXRlIikubGVuZ3RoPjApe3RoaXMuelc9dGhpcy5XPSEwO3RoaXMuVnx8KHRoaXMuVj1uZXcga0xDKTtjSGoodGhpcy5WLG4pO3RoaXMuV0ooInJlZnJlc2giKTtmb3Iobj0wO248Vy5sZW5ndGg7bisrKXt2YXIgRD15Qyh0aGlzLFdbbl0pO2lmKCF0aGlzLk5bRC5pZF0pe3ZhciBiPVJ4KFRQKFdbbl0sIkJhc2VVUkwiKS50ZXh0Q29udGVudCksdj1UUChXW25dLCJJbml0aWFsaXphdGlvbiIpLGs9bFQodiwic291cmNlVVJMIik7dj1ueihsVCh2LCJyYW5nZSIpKTt0aGlzLk5bRC5pZF09bmV3IGR0KGIsRCxrLHYpfUQ9dGhpcy5OW0QuaWRdO2s9bFQoV1tuXSwiaWQiLCJBZGFwdGF0aW9uU2V0Iik7az1rIT09IiI/azpsVChXW25dLCJtaW1ldHlwZSIsIkFkYXB0YXRpb25TZXQiKTtiPXRoaXMuVjtrPWIuV1tELmluZm8uaWRdfHxiLkpba118fApiLk58fG51bGw7Yj1rLk47IXRoaXMuRCYmay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkmJih0aGlzLkQ9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO2lmKGsuail7dj1bXTtmb3IodmFyIGggb2YgYil7Yj1ELmluZm8uaWQ7dmFyIHg9RC5pbmZvLk5zKjgsTD1oLmokLGU9aC5zdGFydFNlY3MsRz1rLksuc3BsaXQoIiQkIik7Zm9yKHZhciByPTA7cjxHLmxlbmd0aDtyKyspR1tyXT1HW3JdLnJlcGxhY2UoIiRSZXByZXNlbnRhdGlvbklEJCIsYiksR1tyXT1HW3JdLnJlcGxhY2UoIiROdW1iZXIkIixMLnRvU3RyaW5nKCkpLEdbcl09R1tyXS5yZXBsYWNlKCIkQmFuZHdpZHRoJCIseC50b1N0cmluZygpKSxHW3JdPUdbcl0ucmVwbGFjZSgiJFRpbWUkIixlLnRvU3RyaW5nKCkpO2I9Ry5qb2luKCIkIik7di5wdXNoKG5ldyBSNChoLmokLGguc3RhcnRTZWNzLGguQ2YsaC5OLGIsbnVsbCxoLkopKX1iPXZ9ZWxzZXtMPVYyKFRQKFdbbl0sIlNlZ21lbnRMaXN0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNlZ21lbnRVUkwiKSwKay5WKTtlPVtdO2ZvcihHPTA7RzxMLmxlbmd0aDtHKyspe2s9ZTt2PWsucHVzaDtyPXZvaWQgMDt2YXIgTj1MW0ddO3g9YltHXTtsZXQgSD1OLmdldEF0dHJpYnV0ZSgibWVkaWEiKTtpZihOPU4uZ2V0QXR0cmlidXRlKCJtZWRpYVJhbmdlIikpe2xldCBBPU4uc3BsaXQoIi0iKTtBWzFdJiZOdW1iZXIoQVsxXSk+PTA/cj1ueihOKTpIPWAke0h9P3JhbmdlPSR7Tn1gfXYuY2FsbChrLG5ldyBSNCh4LmokLHguc3RhcnRTZWNzLHguQ2YseC5OLEgscix4LkopKX1iPWV9RC51cGRhdGUoYix0aGlzLmlzTGl2ZSx0aGlzLkhKKX1hRFUodGhpcy5WKTtyZXR1cm4hMH10aGlzLmR1cmF0aW9uPWp4KGxUKG4sIm1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24iKSk7YTp7Zm9yKGg9MDtoPFcubGVuZ3RoO2grKyl7Yj1XW2hdO249eUModGhpcyxiKTtEPVJ4KFRQKGIsIkJhc2VVUkwiKS50ZXh0Q29udGVudCk7az1UUChiLCJTZWdtZW50QmFzZSIpO2I9bnooay5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgiaW5kZXhSYW5nZSIpLnZhbHVlKTsKaz1ueihrLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJJbml0aWFsaXphdGlvbiIpWzBdLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKCJyYW5nZSIpLnZhbHVlKTtuPW5ldyBzayhELG4sayxiKTtpZighbil7Vz0hMTticmVhayBhfSRnKHRoaXMsbil9Vz0hMH1yZXR1cm4gV31EdChuKXtyZXR1cm4gdGhpcy5WP1YyKHRoaXMuVi5YLG4pOnRoaXMuYmQubGVuZ3RoP1YyKHRoaXMuYmQsbik6W119cmVmcmVzaCgpe2lmKCF0aGlzLmlzTG9hZGluZygpJiYhdGhpcy5xTigpKXt2YXIgbj1nLkVUKHRoaXMuc291cmNlVXJsLHtzdGFydF9zZXE6QSRpKHRoaXMpLnRvU3RyaW5nKCl9KTtTNCh0aGlzLG4pLnNQKCgpPT57fSl9fXN1c3BlbmQoKXt0aGlzLksmJnRoaXMuSy5zdG9wKCl9cmVzdW1lKCl7QVoodGhpcyl9ckkoKXtpZih0aGlzLmlzTWFuaWZlc3RsZXNzJiZ0aGlzLmlzV2luZG93ZWRMaXZlJiZpQSh0aGlzKSlyZXR1cm4gaUEodGhpcyk7CnZhciBuPXRoaXMuTixXPSExLEQ9TmFOLGI9TmFOO2ZvcihsZXQgayBpbiBuKXtsZXQgaD1uW2tdO3ZhciB2PWguaW5kZXg7aWYoIXYuaXNMb2FkZWQoKXx8aC5pbmZvLk4oKSljb250aW51ZTtoLlYmJihXPSEwKTt2PXYuYlEoKTtoLmluZm8uZVMoKSYmKGlzTmFOKEQpfHx2PEQpP0Q9djpoLmluZm8uZlkoKSYmKGlzTmFOKGIpfHx2PGIpJiYoYj12KX1yZXR1cm4gV3x8aXNOYU4oYik/RDpNYXRoLm1pbihELGIpfUxmKCl7aWYodGhpcy5pc01hbmlmZXN0bGVzcyl7aWYodUEodGhpcykpcmV0dXJuIHVBKHRoaXMpO2lmKHRoaXMuSVQpe3ZhciBuPXRoaXMuaEModGhpcy5ySSgpKTtpZihuJiYobi09dGhpcy5JVCxuPjApKXJldHVybiB0aGlzLnJJKCktbn19bj10aGlzLk47Zm9yKGxldCBXIGluIG4pe2xldCBEPW5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpJiYhbltXXS5pbmZvLk4oKSlyZXR1cm4gRC5MZigpfXJldHVybiAwfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5EfWhDKG4pe2ZvcihsZXQgVyBpbiB0aGlzLk4pe2xldCBEPQp0aGlzLk5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpKXtsZXQgYj1ELlIzKG4pLHY9RC5oQyhiKTtpZih2KXJldHVybiB2K24tRC5nZXRTdGFydFRpbWUoYil9fXJldHVybiBOYU59cWgoKXtyZXR1cm4gdGhpcy5lJH1qVygpe2ZvcihsZXQgbiBpbiB0aGlzLk4pdGhpcy5OLmhhc093blByb3BlcnR5KG4pJiYodGhpcy5OW25dLko9bnVsbCx0aGlzLk5bbl0uY0o9ITEpfX07Zy5HeC5wcm90b3R5cGUuRkY9V1ooNCk7dmFyIE16LEhGLGY2LHd0PW51bGwsUm89ISFuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyxVaz17Y29tbWVudGFyeToxLGFsdGVybmF0ZToyLGR1YjozLG1haW46NH07dmFyIGNGPW5ldyBTZXQsUUM9bmV3IE1hcDt2YXIgUGVNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMueVE9bjt0aGlzLk5kPXRoaXMuYnY9dGhpcy5ISj10aGlzLlY9dGhpcy5qPXRoaXMuSGk9dGhpcy5HQz10aGlzLmNKPSExO3RoaXMuWT10aGlzLks9MDt0aGlzLkN1PSExO3RoaXMudHc9ITA7dGhpcy5QWD0hMTt0aGlzLm5TPTA7dGhpcy5GRj10aGlzLm51PXRoaXMub0w9dGhpcy5lJD0hMTt0aGlzLk49e307dGhpcy5qVz10aGlzLlJhPXRoaXMudlg9dGhpcy5kaXNhYmxlQXYxPXRoaXMuYmQ9dGhpcy5Rcj10aGlzLnlFPXRoaXMuWVo9dGhpcy5CVj10aGlzLko9dGhpcy5XPXRoaXMuRD0hMTt0aGlzLlMkPTA7dGhpcy5UQz0hMTt0aGlzLnM1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9hYWNfcHJlZmVyZW5jZSIpO3RoaXMud2E9SW5maW5pdHk7dGhpcy54ZD0wO3RoaXMuTEI9dGhpcy55US5XWCgpO3RoaXMuSEQ9dGhpcy55US5leHBlcmltZW50cy5FcSgiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpO3RoaXMuTWQ9dGhpcy55US5TKCJodG1sNV9mb3JjZV9hdjFfZm9yX3Rlc3RpbmciKTsKdGhpcy55dz10aGlzLnlRLlp0KCkuTi5RUShWSWopO3RoaXMudko9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9hdjFfb3JkaW5hbF9jYXAiKTt0aGlzLlU1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9oZnJfd2hlbl92cDlfZW5jcnlwdGVkXzJrNGtfdW5zdXBwb3J0ZWQiKTt0aGlzLkU1PXRoaXMueVEuUygiaHRtbDVfYWNjb3VudF9vbmVzaWVfZm9ybWF0X3NlbGVjdGlvbl9kdXJpbmdfZm9ybWF0X2ZpbHRlciIpO3RoaXMuTnM9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9tYXhfYnl0ZXJhdGUiKTt0aGlzLlZRPXRoaXMueVEuUygiaHRtbDVfZW5hYmxlX2lhbWZfYXVkaW8iKTt0aGlzLmZCPXRoaXMueVEuWnQoKS5OLlFRKFFPeCk7dGhpcy5EdD10aGlzLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9hbGxvd19jYXBhYmlsaXR5X21lcmdlIik7dGhpcy5ZJD10aGlzLnlRLlMoImh0bWw1X2VuYWJsZV9lbmNyeXB0ZWRfYXYxIik7dGhpcy5ZWj10aGlzLnlRLlp0KCkuTi5RUShaN1UpfHwKdGhpcy55US5TKCJkaXNhYmxlX3ByZWZlcl9oYnJfdnA5Iil9fTt2YXIgcjE9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5mbGF2b3I9bjt0aGlzLmtleVN5c3RlbT1XO3RoaXMuVz1EO3RoaXMuZXhwZXJpbWVudHM9Yjt0aGlzLko9e307dGhpcy5DaT10aGlzLmtleVN5c3RlbUFjY2Vzcz1udWxsO3RoaXMuamk9dGhpcy5WOT0tMTt0aGlzLkZjPW51bGw7dGhpcy5YPSEhYiYmYi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTtiJiZiLkVxKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5Iil9Y2xvbmUobil7cmV0dXJuIG5ldyByMSh0aGlzLmZsYXZvcixuLHRoaXMuVyx0aGlzLmV4cGVyaW1lbnRzKX1OKCl7cmV0dXJuIHRoaXMua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwifXlyKCl7cmV0dXJue2ZsYXZvcjp0aGlzLmZsYXZvcixrZXlTeXN0ZW06dGhpcy5rZXlTeXN0ZW19fWtMKCl7c3dpdGNoKHRoaXMua2V5U3lzdGVtKXtjYXNlICJjb20ueW91dHViZS5wbGF5cmVhZHkiOnJldHVybiJQUlkiO2Nhc2UgImNvbS5taWNyb3NvZnQucGxheXJlYWR5IjpyZXR1cm4iUFJNIjsKY2FzZSAiY29tLndpZGV2aW5lLmFscGhhIjpyZXR1cm4iV1ZBIjtjYXNlICJjb20ueW91dHViZS53aWRldmluZS5sMyI6cmV0dXJuIldWWSI7Y2FzZSAiY29tLnlvdXR1YmUuZmFpcnBsYXkiOnJldHVybiJGUFkiO2Nhc2UgImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwiOnJldHVybiJGUEMiO2Nhc2UgImNvbS5hcHBsZS5mcHMuMV8wIjpyZXR1cm4iRlBBIjtkZWZhdWx0OnJldHVybiB0aGlzLmtleVN5c3RlbX19fSxxVj17cGxheXJlYWR5OlsiY29tLnlvdXR1YmUucGxheXJlYWR5IiwiY29tLm1pY3Jvc29mdC5wbGF5cmVhZHkiXSx3aWRldmluZTpbImNvbS55b3V0dWJlLndpZGV2aW5lLmwzIiwiY29tLndpZGV2aW5lLmFscGhhIl19LHZRQz17d2lkZXZpbmU6IkRSTV9TWVNURU1fV0lERVZJTkUiLGZhaXJwbGF5OiJEUk1fU1lTVEVNX0ZBSVJQTEFZIixwbGF5cmVhZHk6IkRSTV9TWVNURU1fUExBWVJFQURZIn0seFZpPXt3aWRldmluZToxLGZhaXJwbGF5OjIscGxheXJlYWR5OjN9O3ZhciBaV1M9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyxELGI9ITEsdil7c3VwZXIoKTt0aGlzLnlRPVc7dGhpcy51c2VDb2JhbHRXaWRldmluZT1iO3RoaXMuVT12O3RoaXMuSj1bXTt0aGlzLlc9e307dGhpcy5OPXt9O3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLmo9ITE7dGhpcy5YPVtdO3RoaXMuaW5pdGlhbGl6ZShuLCFEKX1pbml0aWFsaXplKG4sVyl7Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKG4pKXt2YXIgRD1iO2ZvcihsZXQgdiBvZiBuW0RdKWlmKHYuY29udGVudFByb3RlY3Rpb24pZm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKHYuY29udGVudFByb3RlY3Rpb24pKXtEPWs7bGV0IGg9cVZba107IWgmJnRoaXMuUygiaHRtbA=="}},"time_used":25,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":16,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/www-player.css","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:49.910Z","timestamp":1785129949910,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/www-player.css HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/EjB5qFW0bJ8\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 57346\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:28:48 GMT\r\nexpires: Thu, 22 Jul 2027 07:28:48 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/css\r\nvary: Accept-Encoding, Origin\r\nage: 424621\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":525369,"size_decoded":58026,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (65534), with no line terminators","md5":"839a152020ccf30ae48724d0b0c7b838","sha1":"dc9e04d667f3ebd589549aaa4cfc8a8e887505e1","sha256":"921b6856085a224b1ca2e5db139b1788c01d4dd1e70daca7006b6a7b381bdae1","sha512":"efc3700ca9d21022fb13b33c526a2f9f6c73c6c063957504b3b8ed58ef9512fa815c7f915f522af2f3fa73dd7cbfd6634566ad1dc6c86f11f4ed0a4b74f824ce","ssdeep":"6144:s8d5Fe/qoMOg7USBfUIoImM5Kia68Oi4u7:3YxMOg7USiIoIr5Kia6Tg","tlshash":"8eb4d972f0a1233cb2278d59a7d9d54d7339d983e2e12aeff11166dacbc77811326206","first_seen":"2026-07-14T08:36:18.809394Z","last_seen":"2026-07-28T16:17:31.518857Z","times_seen":5127,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsuaHRtbDUtdmlkZW8tcGxheWVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MDtvdXRsaW5lOjA7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtjb2xvcjojZWVlO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lmh0bWw1LXZpZGVvLXBsYXllciwueXRwLWNvbnRleHRtZW51ey1tcy1oaWdoLWNvbnRyYXN0LWFkanVzdDpub25lO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLC5odG1sNS12aWRlby1wbGF5ZXIudW5zdGFydGVkLW1vZGUsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dGQtdmlkZW8tbWFzdGhlYWQtYWQtcHJpbWFyeS12aWRlby1yZW5kZXJlciAuaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmcsLnl0ZC12aWRlby1tYXN0aGVhZC1hZC1wcmltYXJ5LXZpZGVvLXJlbmRlcmVyIC5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllci51bnN0YXJ0ZWQtbW9kZSwueXRkLXZpZGVvLW1hc3RoZWFkLWFkLXByaW1hcnktdmlkZW8tcmVuZGVyZXIgLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10cmFuc3BhcmVudCl7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWJpZy1tb2Rle2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGV7Y3Vyc29yOm5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllciBhe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3V0bGluZTowfS5odG1sNS12aWRlby1wbGF5ZXIgYTpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgYTpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0uaHRtbDUtdmlkZW8tcGxheWVyIGgxLC5odG1sNS12aWRlby1wbGF5ZXIgaDJ7bWFyZ2luOjB9Lmh0bWw1LXZpZGVvLXBsYXllciBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOiM0MjQyNDJ9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE1cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC10b3VjaC1tb2RlKSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNre2JhY2tncm91bmQtY29sb3I6IzQyNDI0Mn0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojOGU4ZThlO2JvcmRlcjoxcHggc29saWQgIzQyNDI0Mjtib3JkZXItcmFkaXVzOjVweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXRvdWNoLW1vZGUpIDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7Ym9yZGVyLXJhZGl1czo4cHh9Lmh0bWw1LXZpZGVvLWNvbnRhaW5lcnt6LWluZGV4OjEwO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtZW1iZWQtZXJyb3IgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lmh0bWw1LW1haW4tdmlkZW97cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3V0bGluZTowfS55dHAtZml0LWNvdmVyLXZpZGVvIC5odG1sNS1tYWluLXZpZGVvey1vLW9iamVjdC1maXQ6Y292ZXI7b2JqZWN0LWZpdDpjb3Zlcn0uaHRtbDUtbWFpbi12aWRlb1tkYXRhLW5vLWZ1bGxzY3JlZW49dHJ1ZV06Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b257ZGlzcGxheTpub25lfS5odG1sNS1tYWluLXZpZGVvOm5vdChbY29udHJvbHNdKTo6LXdlYmtpdC1tZWRpYS1jb250cm9scywuaHRtbDUtbWFpbi12aWRlbzpub3QoW2NvbnRyb2xzXSk6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZXtkaXNwbGF5OmlubGluZX0udW5zdGFydGVkLW1vZGUgLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjMyNXB4KXsuaHRtbDUtbWFpbi12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy13aXJlbGVzcy1wbGF5YmFjay1waWNrZXItYnV0dG9ue2Rpc3BsYXk6bm9uZX19Lmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksLmh0bWw1LW1haW4tdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZS1yZW1haW5pbmctZGlzcGxheXtkaXNwbGF5Oi13ZWJraXQtZmxleH0ueXRwLXBsYXllci1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDo0OHB4O2JvdHRvbTo2MXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWhhcy1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA5NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKTpub3QoLmFkLXNob3dpbmcpLnl0cC1iaWctbW9kZS55dHAtaGFzLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpOm5vdCguYWQtc2hvd2luZykueXRwLWJpZy1tb2RlLnl0cC1oYXMtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgOTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjQ5cHh9Lnl0cC1lbWJlZCAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbTo1M3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCl7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50e3RvcDo2OXB4O2JvdHRvbTo3MHB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLnl0cC11cG5leHQpe3RvcDo4OXB4fS55dHAtcGxheWVyLWNvbnRlbnQueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoxMnB4O3JpZ2h0OjEycHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLXBsYXllci1jb250ZW50Lnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e3JpZ2h0OmNhbGMoMjJweCArIHZhcigtLWJyYW5kaW5nLWltYWdlLXdpZHRoKSl9Lnl0cC1iaWctbW9kZSAueXRwLXBsYXllci1jb250ZW50Lnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWJpZy1tb2RlIC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnR7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Lnl0cC1icmFuZGluZy1zaG93bi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5ZXItY29udGVudC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudHtyaWdodDpjYWxjKDIycHggKyB2YXIoLS1icmFuZGluZy1pbWFnZS13aWR0aCkpfS55dHAtYXV0b2hpZGUgLnl0cC1wbGF5ZXItY29udGVudDpub3QoLmh0bWw1LWVuZHNjcmVlbiksLnl0cC1hdXRvaGlkZSAueXRwLXBsYXllci1jb250ZW50Om5vdCgueXRwLXVwbmV4dCksLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGxheWVyLWNvbnRlbnR7dG9wOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC15cGMtcGxheWVyLWNvbnRlbnQsLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtdGltZWx5LWFjdGlvbnMtY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1pdi1wbGF5ZXItY29udGVudCwueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToxMnB4fS55dHAtdGltZWx5LWFjdGlvbnMtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDowO3otaW5kZXg6MzU7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMzNzO3RyYW5zaXRpb24tZGVsYXk6LjMzc30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0IC55dHAtcGxheWVyLWNvbnRlbnQueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWJvdHRvbS1yaWdodCAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLXRpbWVseS1hY3Rpb25zLW92ZXJsYXl7ZGlzcGxheTpub25lfS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjE1MXB4fS55dHAtc21hbGwtbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjEzOXB4fS55dHAtZW1iZWQueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hZC1vdmVybGF5LW9wZW4pIC55dHAtaXYtcGxheWVyLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGU6bm90KC55dHAtYWQtb3ZlcmxheS1vcGVuKSAueXRwLXRpbWVseS1hY3Rpb25zLWNvbnRlbnQsLnl0cC1iaWctbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWl2LXBsYXllci1jb250ZW50LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtY29udHJvbHMgLnl0cC10aW1lbHktYWN0aW9ucy1jb250ZW50e2JvdHRvbToyNHB4fS55dHAtYmlnLW1vZGUueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50e2JvdHRvbToxNjBweH0ueXRwLWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MDtjb2xvcjppbmhlcml0O3RleHQtYWxpZ246aW5oZXJpdDtmb250LXNpemU6MTAwJTtmb250LWZhbWlseTppbmhlcml0O2N1cnNvcjpkZWZhdWx0O2xpbmUtaGVpZ2h0OmluaGVyaXR9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24ueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo5cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbikgc3Zne3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7cGFkZGluZzo3cHh9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWJ1dHRvbiwueXRwLWJ1dHRvbjpmb2N1c3tvdXRsaW5lOjB9Lnl0cC1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7cGFkZGluZzowO2JvcmRlcjowfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1idXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSwuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYnV0dG9uW2Rpc2FibGVkXXtvcGFjaXR5Oi41fS55dHAtYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6bm90KFtkaXNhYmxlZF0pOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1idXR0b246Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1jaHJvbWUtYm90dG9tLC55dHAtY2hyb21lLXRvcHtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpfS55dHAtZG5pIC55dHAtY2hyb21lLWJvdHRvbXt0ZXh0LXNoYWRvdzpub25lfS55dHAtY2hyb21lLXRvcHtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bGVmdDoxMnB4O3JpZ2h0OjEycHg7dG9wOjA7ei1pbmRleDo1OH0ueXRwLXNob3J0cy1tb2RlIC55dHAtY2hyb21lLXRvcHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cmlnaHQ6MH0ueXRwLWd2biAueXRwLWNocm9tZS10b3AsLnl0cC1ndm4ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcHt0b3A6MjBweH0ueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOjA7aGVpZ2h0OjQ4cHg7d2lkdGg6MTAwJTt6LWluZGV4OjU5O3BhZGRpbmctdG9wOjNweDt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cn0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtcG9wb3Zlci1zaG93aW5ne3otaW5kZXg6MTAwMH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDozNnB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDo0MHB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1ib3R0b20sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scywueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1ib3R0b217aGVpZ2h0OjU0cHg7cGFkZGluZy10b3A6NHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO3BhZGRpbmctdG9wOjB9Lnl0cC1jaHJvbWUtdG9wIC55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1yZXBsYXktYnV0dG9ue29wYWNpdHk6Ljk7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MzZweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLC55dHAtcmVwbGF5LWJ1dHRvbntvcGFjaXR5Oi45O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjQ4cHg7cGFkZGluZzowIDJweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1tdXRlLWJ1dHRvbntwYWRkaW5nOjZweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b257cGFkZGluZzowfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbiwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjAgNHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZCAueXRwLXJlcGxheS1idXR0b257d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbXV0ZS1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtbmV4dC1idXR0b24sLnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcmVtb3RlLWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czoyOHB4O3BhZGRpbmc6MCAxNnB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246ZW5kOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1lbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257b3BhY2l0eTp1bnNldDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW11dGUtYnV0dG9ue292ZXJmbG93OnZpc2libGU7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbiAueXRwLXZvbHVtZS1pY29ue292ZXJmbG93OnZpc2libGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJlcGxheS1idXR0b257b3BhY2l0eTp1bnNldH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxlZnQtY29udHJvbHN7bWluLXdpZHRoOjA7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze3BhZGRpbmc6MCA0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7dG9wOjUwJTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtib3JkZXItcmFkaXVzOjQwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO3dpZHRoOjQ4cHg7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsIDQ4cHgpIC0gOHB4KX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmhvdmVyOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uOmFjdGl2ZTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgNHB4IDAgMDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+KikueXRwLXBsYXlsaXN0LXVpe21hcmdpbi1sZWZ0OjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2luc2V0OjRweCA0cHggNHB4IDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbjpiZWZvcmV7aGVpZ2h0OmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gOHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LCA1NnB4KSAtIDI0cHgpLzIpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtbHVtaW5vc2l0eS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbmV4dC1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmx1bWlub3NpdHk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLW5leHQtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb247LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigxNnB4KX0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b246bm90KC55dHAteW91dHViZS1idXR0b24pIHN2ZywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoLnl0cC15b3V0dWJlLWJ1dHRvbikgc3Zne3dpZHRoOjQwcHg7cGFkZGluZy1sZWZ0OjRweH0ueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b257cGFkZGluZy10b3A6NnB4O2hlaWdodDo0MnB4O3ZlcnRpY2FsLWFsaWduOnRvcH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbntwYWRkaW5nLXRvcDo5cHg7aGVpZ2h0OjYzcHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b257aGVpZ2h0OjEwMCV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbiwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLWJ1dHRvbnt3aWR0aDo1NHB4fS55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLXByZXYtYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6LTEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlci1yYWRpdXM6MjdweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjphZnRlcntib3JkZXItcmFkaXVzOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkvMil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXktYnV0dG9uOmFjdGl2ZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1wbGF5LWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpO21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO21hcmdpbi1ib3R0b206Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDtwYWRkaW5nOjAgMCAwIDRweDttYXJnaW4tdG9wOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KTttYXJnaW4tbGVmdDo4cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJldi1idXR0b246bm90KC55dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHg7aW5zZXQ6NHB4IDAgNHB4IDRweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKTphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIscmdiYSgyNTUsMjU1LDI1NSwuMikpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXByZXYtYnV0dG9uOm5vdCh5dHAtbWluaXBsYXllci1idXR0b24tY29udGFpbmVyPiope21hcmdpbi10b3A6Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpO2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbjpub3QoeXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKSBzdmd7cGFkZGluZzpjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkgLSAyNHB4KS8yKX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByZXYtYnV0dG9uOm5vdCgueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcj4qKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtZGVsaGktbW9kZXJuLXdpdGgtZXhjbHVzaW9uLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kil7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZXhjbHVzaW9uOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NXB4O2JvdHRvbTowO2xlZnQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheS1idXR0b246bm90KC55dHAtcGxheS1idXR0b24tcGxheWxpc3QpOmJlZm9yZSwueXRwLWJpZy1tb2RlIC55dHAtcHJldi1idXR0b246YmVmb3Jle3dpZHRoOjI0cHg7bGVmdDotMjRweH0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOm5vdChbZGlzYWJsZWRdKTpob3ZlciwueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLWV4cGFuZGVkPXRydWVdLC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXSwueXRwLWNocm9tZS10b3AgLnl0cC1idXR0b246aG92ZXIsLnl0cC1yZXBsYXktYnV0dG9uOmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zdmctZmlsbHtmaWxsOiNmZmZ9Lnl0cC1zdmctc2hhZG93e3N0cm9rZTojMDAwO3N0cm9rZS1vcGFjaXR5Oi4xNTtzdHJva2Utd2lkdGg6MnB4O2ZpbGw6bm9uZX0ueXRwLWRuaSAueXRwLXN2Zy1zaGFkb3d7ZGlzcGxheTpub25lfS55dHAtc3ZnLXNoYWRvdy1maWxse2ZpbGw6IzAwMDtmaWxsLW9wYWNpdHk6LjE1O3N0cm9rZTpub25lfS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF17cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6M3B4O2JvcmRlci1yYWRpdXM6M3B4O2xlZnQ6MjRweDtib3R0b206OXB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpOy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHdpZHRoIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bGVmdCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjJweDtib3JkZXItcmFkaXVzOjJweDtsZWZ0OjIwcHg7Ym90dG9tOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZF06YWZ0ZXJ7aGVpZ2h0OjNweDtib3JkZXItcmFkaXVzOjNweDtsZWZ0OjI3cHg7Ym90dG9tOjEwcHh9Lnl0cC1kbmkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI0cHg7bGVmdDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpsZWZ0IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSx3aWR0aCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlcnt3aWR0aDoxOHB4O2xlZnQ6OXB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjIwcHg7bGVmdDoxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkPXRydWVdOmFmdGVye3dpZHRoOjI3cHg7bGVmdDoxNHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXTphZnRlciwueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV06YWZ0ZXJ7bGVmdDoxNXB4fS55dHAtY29sb3Itd2hpdGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b25bYXJpYS1wcmVzc2VkXTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvblthcmlhLXByZXNzZWRdOmFmdGVyey13ZWJraXQtYW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtY2hyb21lLXRvcC1idXR0b25zIC55dHAtYnV0dG9ue3RleHQtc2hhZG93OmluaGVyaXR9W2Rpcj1ydGxdIC55dHAtc2hvcnRzLW1vZGUgLnl0cC1jaHJvbWUtdG9wLWJ1dHRvbnN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0OHB4fS55dHAtY29weWxpbmstYnV0dG9uOm5vdCgueXRwLWNvcHlsaW5rLWJ1dHRvbi12aXNpYmxlKSwueXRwLW92ZXJmbG93LWJ1dHRvbjpub3QoLnl0cC1vdmVyZmxvdy1idXR0b24tdmlzaWJsZSksLnl0cC1zaGFyZS1idXR0b246bm90KC55dHAtc2hhcmUtYnV0dG9uLXZpc2libGUpe2Rpc3BsYXk6bm9uZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDo0OHB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpsZWZ0O2RpcmVjdGlvbjpsdHJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsNzJweCk7bGluZS1oZWlnaHQ6dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDk2cHgpO2xpbmUtaGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsOTZweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xze2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9sc3toZWlnaHQ6NDBweDtsaW5lLWhlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTRweH06bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtbGVmdC1jb250cm9sc3tmbG9hdDpsZWZ0fS55dHAtbGVmdC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMueXRwLWxlZnQtY29udHJvbHMtd2l0aC12b2x1bWV7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtbGVmdC1jb250cm9sc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtcmlnaHQtY29udHJvbHN7ZmxvYXQ6cmlnaHR9Lnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MDttaW4td2lkdGg6MDttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIC55dHAtYnV0dG9ue3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1tdXRlLWJ1dHRvbi55dHAtc3RhbmRhbG9uZS1tdXRlLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHggNnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1sZWZ0LWNvbnRyb2xzIC55dHAtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTttYXJnaW46Y2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSB2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCwgNTZweCkpLzIpIDEycHg7cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9sc3toZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdHtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtcmlnaHR7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1yaWdodC1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xzLWxlZnQ6YWZ0ZXJ7aGVpZ2h0OjI4cHg7bWFyZ2luOjEwcHggMTRweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9te2hlaWdodDp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LXhzbWFsbC13aWR0aC1tb2RlLDY0cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uLnl0cC1saXZlLWJhZGdle3dpZHRoOmF1dG99Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbjpub3QoLnl0cC1saXZlLWJhZGdlKTpiZWZvcmV7Ym9yZGVyLXJhZGl1czo1MCU7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHN7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW5leHQtYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWxlZnQtY29udHJvbHMgLnl0cC1wcmV2LWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtbGVmdC1jb250cm9scyAueXRwLW11dGUtYnV0dG9uLnl0cC1zdGFuZGFsb25lLW11dGUtYnV0dG9ue2hlaWdodDo0MHB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xze2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b257ZGlzcGxheTpub25lO21hcmdpbjo0cHggMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMtbGVmdDphZnRlcntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXNldHRpbmdzLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1yaWdodC1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtZXhwYW5kLXJpZ2h0LWJvdHRvbS1zZWN0aW9uLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1ib3R0b20ueXRwLXhzbWFsbC13aWR0aC1yaWdodC1jb250cm9scy1leHBhbmRlZCAueXRwLXJpZ2h0LWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1leHBhbmQtcmlnaHQtYm90dG9tLXNlY3Rpb24tYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWJvdHRvbS55dHAteHNtYWxsLXdpZHRoLXJpZ2h0LWNvbnRyb2xzLWV4cGFuZGVkIC55dHAtbGVmdC1jb250cm9scyAueXRwLXRpbWUtZGlzcGxheXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWV4cC1ib3R0b20tY29udHJvbC1mbGV4Ym94IC55dHAtdm9sdW1lLWFyZWF7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWF7bWFyZ2luOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAwIHZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXtwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC12b2x1bWUtaWNvbiBzdmd7cGFkZGluZzp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWE6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo0cHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtwb2ludGVyLWV2ZW50czpub25lO2JvcmRlci1yYWRpdXM6MjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLnl0cC12b2x1bWUtc2xpZGVyLWFjdGl2ZSAueXRwLXZvbHVtZS1hcmVhe3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXZvbHVtZS1hcmVhe21hcmdpbjp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCkgMCAwIDEycHg7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtYXJlYXttYXJnaW46dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDAgdmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpIDhweDtoZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLWFyZWEgLnl0cC1idXR0b257aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1hcmVhIHN2Z3t3aWR0aDoxOHB4O2hlaWdodDoxOHB4O3BhZGRpbmc6MTFweH0ueXRwLWF1dG9oaWRlLWZhZGUtdHJhbnNpdGlvbiwueXRwLWNocm9tZS1ib3R0b206bm90KC55dHAtZnJvc3RlZC1nbGFzcy1vcGFjaXR5LWFuaW1hdGlvbiksLnl0cC1jaHJvbWUtdG9wey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYXV0b2hpZGUtZmFkZS10cmFuc2l0aW9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtYm90dG9tOm5vdCgueXRwLWZyb3N0ZWQtZ2xhc3Mtb3BhY2l0eS1hbmltYXRpb24pLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1hdXRvaGlkZSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGUgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCwueXRwLWF1dG9oaWRlIC55dHAtdGl0bGUsLnl0cC1hdXRvaGlkZSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLWJvdHRvbVthcmlhLWhpZGRlbj10cnVlXSwueXRwLWNocm9tZS10b3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtb3ZlcmZsb3ctYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLXRpdGxlLWNoYW5uZWwsLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpOm5vdCgueXRwLWNhcmRzLXRlYXNlci1zaG93bikgLnl0cC1jYXJkcy1idXR0b257ZGlzcGxheTpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3BhZGRpbmctcmlnaHQ6OHB4fS55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtdG9we3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBRUFBQURHQ0FZQUFBQVQrT3FGQUFBQWRrbEVRVlFvejQyUVFRN0FJQWdFRi9UL0Qra2JxL1JXQWxuUXl5YXpBNGFvQUI0RnNCU0EvYkZqdUYxRU9MN1ZicklyQnV1c21ydDRaWk9SZmI2ZWhiV2RuUkhFSWlJVGFFVUthNUVKcVVha1JTYUVZQkpTQ1kyZEVzdFFZN0F1eGFod1hGcnZabVdsMnJoNEpaMDd6OWRMdGVzZk5qNXEwRlUzQTVPYmJ3QUFBQUJKUlU1RXJrSmdnZz09KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbSwueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFFbUNBWUFBQUNqeS9xekFBQUFoa2xFUVZRNHk1MlJVUTZBTUF4Q0tkNy9KSjdSNmFlSkFkcjUwN1RqUVpxT0FFNENXQVJ3eDdKRTk0NHJjaC9rNnFPV1M3YnE1Ymg3MnpHRjgrTFRhNmdvSmVSUGdYRFlOeFdGZmtTMFFYQ0luTElOMUd4VFhBMGR0UzBvdFdKbnVYSlIxWTlXWVA5R0YxVUNZUlFZSFJTbFhNQVJiVk80dGgzc2Q3WTNPUDVkWTNCbitTa1BzR0oxK0hHR1Z0Y0FBQUFBU1VWT1JLNUNZSUk9KX0ueXRwLWF1dG9oaWRlIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZ3JhZGllbnQtYm90dG9tW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtZ3JhZGllbnQtdG9wW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpIC55dHAtZ3JhZGllbnQtdG9wLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZyk6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSkgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo0OHB4O3BhZGRpbmctYm90dG9tOjUwcHg7dG9wOjA7ei1pbmRleDoyNTtiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcH0ueXRwLWVtYmVkLXBmbC55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NzBweDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSksdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLHJnYmEoMCwwLDAsLjc1KSksdG8odHJhbnNwYXJlbnQpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwuNzUpIDAsdHJhbnNwYXJlbnQpO3BhZGRpbmctYm90dG9tOjB9Lnl0cC1zaG9ydHMtbW9kZS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1ncmFkaWVudC10b3AsLnl0cC1zaG9ydHMtbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmF1dG8gMjAwJTtiYWNrZ3JvdW5kLXNpemU6YXV0byAyMDAlfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6NDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ3JhZGllbnQtdG9we2hlaWdodDo2OXB4O3BhZGRpbmctYm90dG9tOjc3cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLWdyYWRpZW50LXRvcHtoZWlnaHQ6ODlweDtwYWRkaW5nLWJvdHRvbTo1N3B4fS55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo2MXB4O3BhZGRpbmctdG9wOjM3cHg7Ym90dG9tOjA7ei1pbmRleDoyNDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1ncmFkaWVudC1ib3R0b217aGVpZ2h0OjQ5cHg7cGFkZGluZy10b3A6NDlweH0ueXRwLWVtYmVkIC55dHAtZ3JhZGllbnQtYm90dG9te2hlaWdodDo1M3B4O3BhZGRpbmctdG9wOjQ1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdyYWRpZW50LWJvdHRvbXtoZWlnaHQ6NzBweDtwYWRkaW5nLXRvcDo3NnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZ3JhZGllbnQtYm90dG9tLC55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nOm5vdCgueXRwLWRpc2FibGUtYm90dG9tLWdyYWRpZW50KSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDcwJSAtIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWdyYWRpZW50LWJvdHRvbXtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcChyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44NSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAscmdiYSgwLDAsMCwwKSBjYWxjKDIwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKSxyZ2JhKDAsMCwwLC44NSkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCxyZ2JhKDAsMCwwLDApIGNhbGMoMjAlICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpLHJnYmEoMCwwLDAsLjg1KSAxMDAlKX0ueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9we2hlaWdodDowfS55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b24sLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZSwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9uLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWdyYWRpZW50LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLW92ZXJmbG93LWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXNoYXJlLWJ1dHRvbiwueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1vdmVybGF5LXRvcC1yaWdodCAueXRwLXdhdGNoLWxhdGVyLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUueXRwLWZ1bGwtYmxlZWQtcGxheWVyOm5vdCgueXRwLWdyaWQtc2Nyb2xsYWJsZSkgLnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1kaXNhYmxlLWJvdHRvbS1ncmFkaWVudC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIgLnl0cC1ncmFkaWVudC1ib3R0b217ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKSAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGMoNzAlIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6dmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybi55dHAtYXV0b2hpZGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtY2hyb21lLWJvdHRvbSwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1mdWxsLWJsZWVkLXBsYXllci55dHAtZGVsaGktbW9kZXJuOm5vdCgueXRwLWF1dG9oaWRlKSAueXRwLWNocm9tZS1ib3R0b217b3BhY2l0eTpjYWxjKDEgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZnVsbC1ibGVlZC1wbGF5ZXIueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1ib3R0b217Ym90dG9tOmNhbGModmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLWNocm9tZS1ib3R0b217cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZTpub3QoLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlKTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1jaHJvbWUtYm90dG9te2Rpc3BsYXk6bm9uZX0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1jaHJvbWUtYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAueXRwLWdyYWRpZW50LWJvdHRvbXtkaXNwbGF5Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSl7Lnl0cC1ncmFkaWVudC1ib3R0b20sLnl0cC1ncmFkaWVudC10b3B7YmFja2dyb3VuZDojMDAwO3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy10b3A6MH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1wYXJ0eS1iYWNrZ3JvdW5kLWNvbG9yezAle2JhY2tncm91bmQtY29sb3I6I2YwMH0yMCV7YmFja2dyb3VuZC1jb2xvcjojMGYwfTQwJXtiYWNrZ3JvdW5kLWNvbG9yOiMwMGZ9NjAle2JhY2tncm91bmQtY29sb3I6I2YwZn04MCV7YmFja2dyb3VuZC1jb2xvcjojZmYwfXRve2JhY2tncm91bmQtY29sb3I6IzBmZn19QGtleWZyYW1lcyB5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvcnswJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMDB9MjAle2JhY2tncm91bmQtY29sb3I6IzBmMH00MCV7YmFja2dyb3VuZC1jb2xvcjojMDBmfTYwJXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGZ9ODAle2JhY2tncm91bmQtY29sb3I6I2ZmMH10b3tiYWNrZ3JvdW5kLWNvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktY29sb3J7MCV7Y29sb3I6I2YwMH0yMCV7Y29sb3I6IzBmMH00MCV7Y29sb3I6IzAwZn02MCV7Y29sb3I6I2YwZn04MCV7Y29sb3I6I2ZmMH10b3tjb2xvcjojMGZmfX1Aa2V5ZnJhbWVzIHl0cC1wYXJ0eS1jb2xvcnswJXtjb2xvcjojZjAwfTIwJXtjb2xvcjojMGYwfTQwJXtjb2xvcjojMDBmfTYwJXtjb2xvcjojZjBmfTgwJXtjb2xvcjojZmYwfXRve2NvbG9yOiMwZmZ9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtcGFydHktZmlsbHswJXtmaWxsOiNmMDB9MjAle2ZpbGw6IzBmMH00MCV7ZmlsbDojMDBmfTYwJXtmaWxsOiNmMGZ9ODAle2ZpbGw6I2ZmMH10b3tmaWxsOiMwZmZ9fUBrZXlmcmFtZXMgeXRwLXBhcnR5LWZpbGx7MCV7ZmlsbDojZjAwfTIwJXtmaWxsOiMwZjB9NDAle2ZpbGw6IzAwZn02MCV7ZmlsbDojZjBmfTgwJXtmaWxsOiNmZjB9dG97ZmlsbDojMGZmfX0ueXRwLW1lbnUtc2hvd24gLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lnl0cC1hZC1kaXNwbGF5LW92ZXJyaWRlIC52aWRlby1hZHN7ZGlzcGxheTppbmhlcml0fS55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyl9Lnl0cC1kbmkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3Itc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6I2FhYX0ueXRwLWNvbG9yLXBhcnR5IC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3IsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9yLC55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvci1zZWNvbmRhcnl7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTtiYWNrZ3JvdW5kOm5vbmV9Lnl0cC1zd2F0Y2gtY29sb3J7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpfS55dHAtc3dhdGNoLWNvbG9yLXdoaXRle2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSl9Lnl0cC1wcmVtaXVtLWxhYmVse2ZvbnQtc2l6ZTo4My4zMzMzJTtjb2xvcjojY2NjfS55dHAtZG5pIC55dHAtc3dhdGNoLWNvbG9ye2NvbG9yOiNmZmZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXN3YXRjaC1jb2xvcntjb2xvcjojZGRkfS55dHAtY29sb3ItcGFydHkgLnl0cC1zd2F0Y2gtY29sb3J7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWNvbG9yIC4xNXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGV9QG1lZGlhIHByaW50ey5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpICp7dmlzaWJpbGl0eTpoaWRkZW59Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcil7Ym9yZGVyOjFweCBzb2xpZCAjMDAwOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY2hyb21lLXRvcCw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtbGFyZ2UtcGxheS1idXR0b257b3BhY2l0eToxIWltcG9ydGFudDtkaXNwbGF5OmJsb2NrIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbiAqLDpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC10aXRsZSw6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdGl0bGUgKntjb2xvcjojMDAwIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fX0ueXRwLXBsYXllci1pbi1iYXItZGlzYWJsZS11aT46bm90KC5odG1sNS12aWRlby1jb250YWluZXIpe2Rpc3BsYXk6bm9uZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtY29tcG9zaXRlLXZpZGVvLW92ZXJsYXktcmVuZGVyZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7ei1pbmRleDoxMH0ueXRwLWFkLW1vZHVsZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXR7aGVpZ2h0OmNhbGMoMTAwJSAtIDEycHgpO3RvcDowfS52aWRlby1hZC1zdGF0dXMtYmFye3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3otaW5kZXg6ODUwO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjojMDAwO29wYWNpdHk6Ljc7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjUzcHh9Lnl0cC1iaWctbW9kZSAudmlkZW8tYWQtc3RhdHVzLWJhcntib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LmFkLXNob3dpbmcgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7ZGlzcGxheTpibG9ja30uYWQtc2hvd2luZy55dHAtYXV0b2hpZGUgLnZpZGVvLWFkLXN0YXR1cy1iYXIsLmFkLXNob3dpbmcueXRwLWhpZGUtY29udHJvbHMgLnZpZGVvLWFkLXN0YXR1cy1iYXJ7Ym90dG9tOjB9LnZpZGVvLWFkLWxhYmVse2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo1cHh9LmFkLXNob3dpbmcgLmFkLXZpZGVve3Bvc2l0aW9uOmFic29sdXRlfS5hZC1zaG93aW5nIC5hZC12aWRlb3t0b3A6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1jbGljay10cmFja2luZywuaHRtbDUtdmlkZW8tcGxheWVyIC52aWRlby1zdHJlYW17ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLWNvbnRhaW5lci1zaW5nbGUtbWVkaWEtZWxlbWVudC1hbm5vdGF0aW9uc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1jb250YWluZXItc2luZ2xlLW1lZGlhLWVsZW1lbnQtYW5ub3RhdGlvbnMtd29ya2Fyb3VuZHt6LWluZGV4Ojg1MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC5hZC1vdmVybGF5e2JvdHRvbTo1M3B4fS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLmFkLW92ZXJsYXksLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAuYWQtb3ZlcmxheXtib3R0b206NzBweH0ueXRwLWF1dG9oaWRlLnl0cC1hZC1vdmVybGF5LWNsb3NlZCAuYWQtb3ZlcmxheXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheSAudmlkZW8tY2xpY2stdHJhY2tpbmd7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+Om5vdCguaW1hLWNvbnRhaW5lcil7ei1pbmRleDo4NzB9Lmh0bWw1LXZpZGVvLXBsYXllciAuYWQtb3ZlcmxheT4uaW1hLWNvbnRhaW5lcnt6LWluZGV4OmF1dG8haW1wb3J0YW50fS5odG1sNS12aWRlby1wbGF5ZXIgLmFkLW92ZXJsYXk+LmltYS1jb250YWluZXI+Knt6LWluZGV4Ojg3MCFpbXBvcnRhbnQ7cG9zaXRpb246cmVsYXRpdmV9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpIC5hZC1jb250YWluZXIsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCgueXRwLWFkLW92ZXJsYXktb3BlbikgLnZpZGVvLWFkc3tkaXNwbGF5Om5vbmV9Lml2LWVuZGNhcC1iYWNrZ3JvdW5ke3otaW5kZXg6ODIxfS5odG1sNS12aWRlby1wbGF5ZXIgLmF0dHJpYnV0aW9uLWJ1dHRvbnt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLWJ1dHRvbi1pY29uLC55dHAtYWQtYnV0dG9uLXRleHQsLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLC55dHAtYWQtc2tpcC1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXNraXAtYnV0dG9uLXRleHQtY2VudGVyZWR7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSBidXR0b257b3V0bGluZTowfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS11cGRhdGVkLWZvY3VzLXN0eWxlLnl0cC1hZC1wbGF5ZXItb3ZlcmxheSAueXRwLWFkLWJ1dHRvbjpmb2N1cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtYWQtcGxheWVyLW92ZXJsYXktdXBkYXRlZC1mb2N1cy1zdHlsZS55dHAtYWQtcGxheWVyLW92ZXJsYXkgYnV0dG9uOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtYnV0dG9uLWxpbmt7cGFkZGluZzowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLWFkLWJ1dHRvbi1saW5rOmFjdGl2ZSwueXRwLWFkLWJ1dHRvbi1saW5rOmhvdmVye2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWJpZy1tb2RlIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97bGVmdDoyNHB4O2JvdHRvbTo3MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1lbWJlZC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbnN0cmVhbS1pbmZvLC55dHAtZW1iZWQueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZvLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS1pbmZve2JvdHRvbTo2cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWFkLXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm8sLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206NjFweDtjdXJzb3I6ZGVmYXVsdDtsZWZ0OjE4cHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KTt6LWluZGV4Ojg1MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1lbWJlZCAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mbywueXRwLWVtYmVkIC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LWluc3RyZWFtLWluZm97Ym90dG9tOjUzcHh9Lnl0cC1hZC1jbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1hZC1kaXNjbG9zdXJlLWJhbm5lcntib3JkZXItcmFkaXVzOjA7Ym90dG9tOmF1dG87Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OmF1dG87bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjI0cHg7ei1pbmRleDo4NTB9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWFkLWRpc2Nsb3N1cmUtYmFubmVye2xlZnQ6MjRweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWZseW91dC1jdGF7Ym90dG9tOjg2cHg7bGVmdDoxMnB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDo4NTB9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3RhLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo4cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZW1iZWQgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo3OHB4fS55dHAtZmx5b3V0LWN0YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3RleHQtYWxpZ246bGVmdDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1mbHlvdXQtY3RhLWxhcmdle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZzo4cHg7bWluLXdpZHRoOjIwMHB4fS55dHAtZmx5b3V0LWN0YTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtZmx5b3V0LWN0YS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpO2JvcmRlci1yYWRpdXM6MnB4O21heC13aWR0aDo0MDBweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3dpZHRoOjEwMCU7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keS1sYXJnZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1mbHlvdXQtY3RhOmhvdmVyIC55dHAtZmx5b3V0LWN0YS1ib2R5e2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWZseW91dC1jdGE6aG92ZXIgLnl0cC1mbHlvdXQtY3RhLWJvZHktbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21heC13aWR0aDoyNTBweDtwYWRkaW5nLWxlZnQ6NThweDtwYWRkaW5nLXJpZ2h0OjIwcHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtdGV4dC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1yaWdodDoxMHB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaGVhZGxpbmUtY29udGFpbmVye2NvbG9yOiMzMzM7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbi10b3A6MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjb2xvcjojNzY3Njc2O2ZvbnQtc2l6ZToxM3B4O21hcmdpbi10b3A6M3B4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9uLWNvbnRhaW5lci1kYXJrLWJhY2tncm91bmR7Y29sb3I6I2RkZH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWRlc2NyaXB0aW9ue292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bGluZS1oZWlnaHQ6NTZweDttYXgtd2lkdGg6MTUwcHg7cG9zaXRpb246c3RhdGljOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci1sYXJnZXtsaW5lLWhlaWdodDppbmhlcml0O21hcmdpbjo4cHg7bWluLXdpZHRoOjEwMCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9ue2JhY2tncm91bmQ6IzE2N2FjNjtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjojMTY3YWM2O2JvcmRlci1yYWRpdXM6MnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAwIHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDoyOHB4O21hcmdpbjowIDhweCAwIDA7bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgMTBweDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6aW5oZXJpdH0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24tbGFyZ2V7bWluLXdpZHRoOjEwMCU7Y29sb3I6IzBmMGYwZn0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMTI2ZGIzfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0ueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWFjdGlvbi1idXR0b24ueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweDtwYWRkaW5nOjAgMTJweDtib3JkZXI6bm9uZTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7YmFja2dyb3VuZDojMDY1ZmQ0fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi55dHAtZmx5b3V0LWN0YS1hY3Rpb24tYnV0dG9uLXJvdW5kZWQtbGFyZ2V7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtZmx5b3V0LWN0YSwueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWJvZHksLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntkaXJlY3Rpb246bHRyO2hlaWdodDphdXRvfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXJ7aGVpZ2h0OjEwMCU7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDo0OHB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo4cHg7dG9wOi0yNnB4fS55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi55dHAtZmx5b3V0LWN0YS1pY29uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9Lnl0cC1mbHlvdXQtY3RhLnl0cC1mbHlvdXQtY3RhLWluYWN0aXZley13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0ueXRwLWZseW91dC1jdGEueXRwLWZseW91dC1jdGEtaW5hY3RpdmUgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpfS55dHAtZmx5b3V0LWN0YS55dHAtZmx5b3V0LWN0YS1pbmFjdGl2ZSAueXRwLWZseW91dC1jdGEtYm9keXttYXgtd2lkdGg6MDt3aWR0aDowfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1mbHlvdXQtY3Rhe2JvdHRvbTo5NXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEsLnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYm9keSwueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1ib2R5PmRpdntoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjQwcHg7bWF4LXdpZHRoOjE5MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWljb24tY29udGFpbmVye2hlaWdodDoxMDAlO3dpZHRoOjQwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLXRleHQtY29udGFpbmVye21hcmdpbi1sZWZ0OjZweDtwYWRkaW5nOjRweCAyMHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWZseW91dC1jdGEgLnl0cC1mbHlvdXQtY3RhLWhlYWRsaW5lLWNvbnRhaW5lcntmb250LXNpemU6MTJweDttYXJnaW4tdG9wOjJweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1kZXNjcmlwdGlvbi1jb250YWluZXJ7Zm9udC1zaXplOjExcHg7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1mbHlvdXQtY3RhIC55dHAtZmx5b3V0LWN0YS1pY29uLWNvbnRhaW5lcntsZWZ0OjA7dG9wOjB9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtaWNvbi1jb250YWluZXItbGFyZ2V7bGVmdDo0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZmx5b3V0LWN0YSAueXRwLWZseW91dC1jdGEtYWN0aW9uLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b24sLnl0cC1hZC1zaW1wbGUtYWQtYmFkZ2UsLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdle21hcmdpbi1sZWZ0OjVweDtvcGFjaXR5Oi43NX0ueXRwLWFkLXNpbXBsZS1hZC1iYWRnZS0tY2xlYW4tcGxheWVye21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO2xlZnQ6MDtsaW5lLWhlaWdodDoyOHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYWQtc2ltcGxlLWFkLWJhZGdlLS1zdXJ2ZXl7Zm9udC13ZWlnaHQ6NTAwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXNpbXBsZS1hZC1iYWRnZXttYXJnaW4tbGVmdDowfS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5ne21hcmdpbi1sZWZ0OjNweDtvcGFjaXR5Oi43NX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O21hcmdpbi1sZWZ0OjA7b3BhY2l0eToxO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KTtsZWZ0OjA7bGluZS1oZWlnaHQ6MjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tY2xlYW4tcGxheWVyOmJlZm9yZXtjb250ZW50OiLigKIiO3BhZGRpbmctaW5saW5lOjRweH0ueXRwLWFkLWR1cmF0aW9uLXJlbWFpbmluZy0tbXdlYntmb250LXdlaWdodDo2MDA7bWFyZ2luLWxlZnQ6M3B4fS55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLS1td2ViLWlvc3tsZXR0ZXItc3BhY2luZzotLjJweH0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI4cHg7bGluZS1oZWlnaHQ6aW5oZXJpdDttYXJnaW46MCA1cHg7bWFyZ2luLXJpZ2h0OjA7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjYWFhO2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbTozMHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojMzMzO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MTJweDtsZWZ0Oi0xOXB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtvcGFjaXR5Oi45O3BhZGRpbmc6N3B4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LXNob3J0e3doaXRlLXNwYWNlOm5vd3JhcH0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGF7Y29sb3I6IzE2N2FjNn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbjpob3ZlciAueXRwLWFkLWhvdmVyLXRleHQtY29udGFpbmVyLC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1ob3Zlci10ZXh0LWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLWhvdmVyLXRleHQtY2FsbG91dHtib3JkZXItbGVmdDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjVweCBzb2xpZCAjZmZmOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MDtsZWZ0OjIwcHg7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6MTAwJTt3aWR0aDowfS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbiwueXRwLWFkLWluZm8taWNvbi1idXR0b257LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDJweCAjMDAwKTtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi43NTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTt3aWR0aDoxM3B4fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWhvdmVyLXRleHQtYnV0dG9uLS1jbGVhbi1wbGF5ZXJ7b3BhY2l0eToxOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCA3cHggcmdiYSgwLDAsMCwuOSkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgN3B4IHJnYmEoMCwwLDAsLjkpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b24gLnl0cC1hZC1idXR0b257LXdlYmtpdC1maWx0ZXI6dW5zZXQ7ZmlsdGVyOnVuc2V0fS55dHAtYWQtaW5mby1ob3Zlci10ZXh0LWJ1dHRvbiAueXRwLWFkLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8taWNvbi1idXR0b246aG92ZXJ7b3BhY2l0eToxfS55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1iYWNrZ3JvdW5kLC55dHAtYWQtaW5mby1kaWFsb2ctYmFja2dyb3VuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO2Rpc3BsYXk6dGFibGU7aGVpZ2h0OjEwMCU7bGVmdDowO21hcmdpbjphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjIyMDF9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtY29uZmlybS1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctYmFja2dyb3VuZCwueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1pbmZvLWRpYWxvZy1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3cteTpzY3JvbGw7b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jbG9zZS1vdmVybGF5LWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jbG9zZS1idXR0b24sLnl0cC1hZC1pbmZvLWRpYWxvZy1jbG9zZS1idXR0b257aGVpZ2h0OjI0cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTRweDt0b3A6MTRweDt3aWR0aDoyNHB4fS55dHAtYWQtY29uZmlybS1kaWFsb2ctY2xvc2Utb3ZlcmxheS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVyLC55dHAtYWQtaW5mby1kaWFsb2ctY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb250YWluZXIsLnl0cC1hZC1pbmZvLWRpYWxvZy1jb250YWluZXJ7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLC55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0sLnl0cC1hZC1pbmZvLWRpYWxvZy1mb3Jte2JhY2tncm91bmQ6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCBibGFjaztjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtc2hhZG93Om5vbmU7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE4MHB4O21heC13aWR0aDo1MCU7cGFkZGluZzoxNHB4O3RleHQtYWxpZ246bGVmdH0ueXRwLWFkLWluZm8tZGlhbG9nLXJlbGF0aXZlLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjcyfS55dHAtYWQtaW5mby1kaWFsb2ctcmVsYXRpdmUtY29udGFpbmVyIC55dHAtYWQtaW5mby1kaWFsb2ctZm9ybXstd2Via2l0LWJveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMTgpO2JvcmRlci1jb2xvcjojZTJlMmUyO21heC13aWR0aDpub25lfS55dHAtYWQtZmVlZGJhY2stZGlhbG9nLWZvcm0gYSwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1mb3JtIGE6aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYSwueXRwLWFkLWluZm8tZGlhbG9nLWZvcm0gYTpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9ue2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUsLnl0cC1hZC1pbmZvLWRpYWxvZy10aXRsZXtjb2xvcjojMzMzO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdGl0bGUgYSwueXRwLWFkLWluZm8tZGlhbG9nLXRpdGxlIGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX11bC55dHAtYWQtaW5mby1kaWFsb2ctYWQtcmVhc29uc3twYWRkaW5nOjA7bWFyZ2luOjA7bWFyZ2luLWJvdHRvbTo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1hZC1yZWFzb25zIGxpe2xpc3Qtc3R5bGU6ZGlzYztsaXN0LXN0eWxlLXBvc2l0aW9uOm91dHNpZGU7bWFyZ2luLWxlZnQ6MjBweH0ueXRwLWFkLWNvbmZpcm0tZGlhbG9nLW1lc3NhZ2VzLC55dHAtYWQtaW5mby1kaWFsb2ctZmVlZGJhY2stb3B0aW9uc3ttYXJnaW4tbGVmdDo4cHh9bGFiZWwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1yZWFzb24tbGFiZWx7ZGlzcGxheTpibG9jazttYXJnaW46OHB4IDB9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWNvbnRhaW5lciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tY29udGFpbmVye21hcmdpbi10b3A6OHB4O3RleHQtYWxpZ246cmlnaHR9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b24sLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbiwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbiwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9ue2JhY2tncm91bmQ6bm9uZTtib3JkZXI6bm9uZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7bWFyZ2luOjRweCAwIDAgMTJweDtwYWRkaW5nOjEwcHg7Y29sb3I6IzE2N2FjNjtjdXJzb3I6cG9pbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1hZC1jb25maXJtLWRpYWxvZy1jYW5jZWwtYnV0dG9uOmhvdmVyLC55dHAtYWQtY29uZmlybS1kaWFsb2ctY29uZmlybS1idXR0b246aG92ZXIsLnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctY2FuY2VsLWJ1dHRvbjpob3ZlciwueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy1jb25maXJtLWJ1dHRvbjpob3ZlciwueXRwLWFkLWluZm8tZGlhbG9nLWNvbmZpcm0tYnV0dG9uOmhvdmVye2NvbG9yOiMxNjdhYzY7Y3Vyc29yOnBvaW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtYWQtaW5mby1kaWFsb2ctbXV0ZS1jb250YWluZXJ7bWFyZ2luLXRvcDo4cHh9Lnl0cC1hZC1pbmZvLWRpYWxvZy1tdXRlLWJ1dHRvbntmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn0ueXRwLWFkLWluZm8tZGlhbG9nLW11dGUtYnV0dG9uIC55dHAtYWQtYnV0dG9uLWljb257aGVpZ2h0OjE2cHg7bWFyZ2luLXJpZ2h0OjVweDt3aWR0aDoxNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWZlZWRiYWNrLWRpYWxvZy11bmRvLW11dGUtYnV0dG9ue2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tbGVmdDo1cHh9Lnl0cC1hZC1mZWVkYmFjay1kaWFsb2ctdW5kby1tdXRlLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbntsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1sZWZ0OjVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTJweDtyaWdodDotMnB4O3RvcDotN3B4O2JvdHRvbTotOHB4fS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b24gLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjEycHg7bWFyZ2luOi00cHggM3B4IC0ycHggMDtwYWRkaW5nOjVweCAwO3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtYWQtdmlzaXQtYWR2ZXJ0aXNlci1idXR0b246aG92ZXIgLnl0cC1hZC1idXR0b24tdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2N1cnNvcjpwb2ludGVyOy13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAycHggIzAwMCk7aGVpZ2h0OjEwcHg7b3BhY2l0eTouNzU7d2lkdGg6MTBweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0ueXRwLWFkLXZpc2l0LWFkdmVydGlzZXItYnV0dG9uOmhvdmVyIC55dHAtYWQtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYmlnLW1vZGUgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWJpZy1tb2RlIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo5NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjE1NnB4fS55dHAtZW1iZWQueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLWVtYmVkLnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206MjVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjg2cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0tdXNlci1zZW50aW1lbnQgLnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJ7Ym90dG9tOjcwcHh9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciwueXRwLXNldHRpbmdzLXNob3duIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntvcGFjaXR5Oi40O3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDo4NTB9Lnl0cC1zZXR0aW5ncy1zaG93biAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWFkLW1lc3NhZ2Utb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvdHRvbTowO2xlZnQ6MDtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6ODUwfS55dHAtYWQtbWVzc2FnZS1zbG90LC55dHAtYWQtcHJldmlldy1zbG90LC55dHAtYWQtc2tpcC1hZC1zbG90e3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3BvaW50ZXItZXZlbnRzOmF1dG87ei1pbmRleDo4NTB9Lnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWFkLXByZXZpZXctY29udGFpbmVyLC55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lciwueXRwLWVtYmVkIC55dHAtYWQtcHJldmlldy1jb250YWluZXIsLnl0cC1lbWJlZCAueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVye2JvdHRvbTo4NnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eToxO3JpZ2h0OjA7ei1pbmRleDoxMDAwfS55dHAtZW1iZWQgLnl0cC1hZC1tZXNzYWdlLWNvbnRhaW5lcntib3R0b206NzhweH0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyLC55dHAtYWQtcHJldmlldy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNCk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lci1kZXRhY2hlZHttYXJnaW4tcmlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjRweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtoZWlnaHQ6MzZweH0ueXRwLWFkLXByZXZpZXctY29udGFpbmVyLWRldGFjaGVkOmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDoxMDAlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7Y3Vyc29yOnBvaW50ZXI7b3BhY2l0eTouNztwb2ludGVyLWV2ZW50czphdXRvfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyLWRldGFjaGVke21hcmdpbi1yaWdodDoxMnB4O29wYWNpdHk6MX0ueXRwLWFkLW1lc3NhZ2UtY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdLC55dHAtYWQtcHJldmlldy1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWFkLXByZXZpZXctdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTJweDtoZWlnaHQ6MzBweDtsZXR0ZXItc3BhY2luZzouMXB4O21pbi13aWR0aDo4MnB4O3BhZGRpbmc6MTFweCAxMHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7bGV0dGVyLXNwYWNpbmc6LjFweDtwYWRkaW5nOjAgOHB4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aGl0ZS1zcGFjZTpwcmU7d2lkdGg6YXV0b30ueXRwLWFkLW1lc3NhZ2UtdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MTZweDtoZWlnaHQ6NTJweDtsaW5lLWhlaWdodDo1MnB4O2xldHRlci1zcGFjaW5nOi4xcHg7bWluLXdpZHRoOjgwcHg7cGFkZGluZzowIDIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtYWQtcHJldmlldy1pbWFnZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1hZC1wcmV2aWV3LWltYWdlPi55dHAtYWQtaW1hZ2V7ZGlzcGxheTpibG9jazt3aWR0aDo5MnB4O2hlaWdodDo1MnB4fS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm57ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtcHJldmlldy1pbWFnZS1tb2Rlcm4+Lnl0cC1hZC1pbWFnZXtkaXNwbGF5OmJsb2NrO2hlaWdodDozNnB4O3dpZHRoOjY1cHh9LmNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dHtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjA7cGFkZGluZzowIDhweH0uY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjQxcHg7d2lkdGg6NzNweH0ubW9kZXJuLWNvdW50ZG93bi1uZXh0LXRvLXRodW1ibmFpbCAueXRwLWFkLXByZXZpZXctdGV4dC1tb2Rlcm57Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2hlaWdodDphdXRvO21pbi13aWR0aDowO3BhZGRpbmc6MCA4cHh9Lm1vZGVybi1jb3VudGRvd24tbmV4dC10by10aHVtYm5haWwgLnl0cC1hZC1wcmV2aWV3LXRleHQtbW9kZXJuLXBvc3Ryb2xse3BhZGRpbmc6MCAxNHB4fS5tb2Rlcm4tY291bnRkb3duLW5leHQtdG8tdGh1bWJuYWlsIC55dHAtYWQtaW1hZ2V7aGVpZ2h0OjM2cHg7d2lkdGg6NjVweH0ueXRwLWFkLXNraXAtYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41KTtib3JkZXItcmlnaHQ6MDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtjb2xvcjojZmZmO2RpcmVjdGlvbjpsdHI7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6bm9ybWFsO21pbi13aWR0aDowO3BhZGRpbmc6MTBweCA2cHggOHB4IDEwcHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXNraXAtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOSk7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yaWdodDowfS55dHAtYWQtc2tpcC1idXR0b24taWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46LTE0cHggLTZweCAtMTJweCAtNHB4fS55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJue2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7Y29sb3I6I2ZmZjtkaXJlY3Rpb246bHRyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDpub3JtYWw7bWluLXdpZHRoOjA7cGFkZGluZzowIDZweCAwIDE2cHg7d2lkdGg6YXV0bzt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjE4cHg7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46aG92ZXJ7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSx0byhyZ2JhKDI1NSwyNTUsMjU1LC4yKSkpLC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiKDE1LDE1LDE1KSksdG8ocmdiKDE1LDE1LDE1KSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwuMikscmdiYSgyNTUsMjU1LDI1NSwuMikpLGxpbmVhci1ncmFkaWVudChyZ2IoMTUsMTUsMTUpLHJnYigxNSwxNSwxNSkpfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3Vze2JhY2tncm91bmQ6cmdiKDE1LDE1LDE1KTtvdXRsaW5lOm5vbmU7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS55dHAtYWQtc2tpcC1idXR0b24tY29udGFpbmVyIC55dHAtYWQtc2tpcC1idXR0b24tbW9kZXJuOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLXNraXAtYnV0dG9uLWljb24tZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW1vZGVybiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLW13ZWItZGVsaGkgLnl0cC1hZC1za2lwLWJ1dHRvbi1pY29uLWRlbGhpIC55dHAtYWQtc2tpcC1idXR0b24taWNvbi1tb2Rlcm4gc3Zne2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7cGFkZGluZzo0cHh9Lnl0cC1hZC1za2lwLWJ1dHRvbi1tb2Rlcm46Zm9jdXMtdmlzaWJsZSAueXRwLWFkLXNraXAtYnV0dG9uLWljb24tbW9kZXJuIHN2ZyBwYXRoe2ZpbGw6IzBmMGYwZn0uaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2MXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6ODUwfS55dHAtZW1iZWQuaHRtbDUtdmlkZW8tcGxheWVyIC55dHAtYWQtb3ZlcmxheS1zbG90e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hZC1vdmVybGF5LXNsb3R7Ym90dG9tOjcwcHh9Lnl0cC1hdXRvaGlkZS55dHAtYWQtb3ZlcmxheS1jbG9zZWQgLnl0cC1hZC1vdmVybGF5LXNsb3R7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLWVuaGFuY2VkLW92ZXJsYXksLnl0cC1hZC1vdmVybGF5LWNvbnRhaW5lciAueXRwLWFkLW92ZXJsYXktaW1hZ2UgaW1nLC55dHAtYWQtb3ZlcmxheS1jb250YWluZXIgLnl0cC1hZC10ZXh0LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1hZC10ZXh0LW92ZXJsYXl7aGVpZ2h0OjYzcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bzttYXgtd2lkdGg6NDQwcHg7cGFkZGluZy1sZWZ0OjEwcHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtYWQtdGV4dC1vdmVybGF5OmhvdmVye2JvcmRlcjoxcHggc29saWQgcmdiKDU4LDU4LDU4KX0ueXRwLWFkLW92ZXJsYXktdGl0bGV7Y3Vyc29yOnBvaW50ZXI7Y29sb3I6I2ZmZjtkaXNwbGF5OmJsb2NrO2ZvbnQ6NzAwIDE0cHggYXJpYWwsc2Fucy1zZXJpZjttYXJnaW46N3B4IDIycHggMCAwO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLWJvdHRvbTo0cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgLTFweCAwO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLXRleHQtb3ZlcmxheTpob3ZlciAueXRwLWFkLW92ZXJsYXktdGl0bGV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktZGVzY3tjb2xvcjojZmZmO2ZvbnQ6MTJweCBhcmlhbCxzYW5zLXNlcmlmO21hcmdpbi1ib3R0b206MnB4O21hcmdpbi10b3A6LTNweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbWFnZS1vdmVybGF5e21pbi13aWR0aDozMjBweDttYXJnaW46YXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLW92ZXJsYXktaW1hZ2V7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRwLWFkLWltYWdlLW92ZXJsYXk6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWFkLW92ZXJsYXktbGlua3tjdXJzb3I6cG9pbnRlcjtib3R0b206OXB4O2NvbG9yOiNlYWRlOTA7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246c3RhdGljO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OnJnYigwLDAsMCkgMCAtMXB4IDB9Lnl0cC1hZC1vdmVybGF5LWxpbmsueXRwLWFkLW92ZXJsYXktbGluay1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lcntjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2hlaWdodDoxNXB4O3BhZGRpbmc6NnB4IDFweCAxMHB4IDIwcHg7cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMXB4O3RvcDowO3dpZHRoOjE1cHh9Lnl0cC1hZC1vdmVybGF5LWFkLWluZm8tYnV0dG9uLWNvbnRhaW5lciAueXRwLWFkLWluZm8taG92ZXItdGV4dC1idXR0b257aGVpZ2h0OmluaGVyaXQ7d2lkdGg6aW5oZXJpdDttYXJnaW46MDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtaG92ZXItdGV4dC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjYpO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6MX0ueXRwLWFkLW92ZXJsYXktYWQtaW5mby1idXR0b24tY29udGFpbmVyIC55dHAtYWQtYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZpbGwtb3BhY2l0eTouODtoZWlnaHQ6aW5oZXJpdDtvcGFjaXR5Oi45O3dpZHRoOmluaGVyaXQ7LXdlYmtpdC1maWx0ZXI6bm9uZTtmaWx0ZXI6bm9uZTtsaW5lLWhlaWdodDpub3JtYWw7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7dmVydGljYWwtYWxpZ246dG9wfS55dHAtYWQtb3ZlcmxheS1jbG9zZS1jb250YWluZXJ7Y3Vyc29yOnBvaW50ZXI7aGVpZ2h0OjE1cHg7bWFyZ2luOjA7cGFkZGluZzo2cHggNnB4IDEwcHggMXB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MTVweH0ueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDtmaWxsLW9wYWNpdHk6Ljg7ZmxvYXQ6cmlnaHQ7aGVpZ2h0OmluaGVyaXQ7b3BhY2l0eTouOTt3aWR0aDppbmhlcml0fS55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtdGV4dC1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1jbG9zZS1idXR0b24gc3Zne2JhY2tncm91bmQ6IzAwMDtmaWxsOiNmZmZ9Lnl0cC1hZC1pbWFnZS1vdmVybGF5IC55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXIgLnl0cC1hZC1idXR0b24gc3ZnLC55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHN2Z3tiYWNrZ3JvdW5kOiNmZmY7ZmlsbDojNzU3NTc1fS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDppbmhlcml0fS55dHAtYWQtb3ZlcmxheS1hZC1pbmZvLWJ1dHRvbi1jb250YWluZXI6aG92ZXIgLnl0cC1hZC1idXR0b24sLnl0cC1hZC1vdmVybGF5LWNsb3NlLWNvbnRhaW5lcjpob3ZlciAueXRwLWFkLW92ZXJsYXktY2xvc2UtYnV0dG9ue2ZpbGwtb3BhY2l0eToxfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbntib3R0b206OHB4O2NvbG9yOiM4ODg7Y3Vyc29yOnBvaW50ZXI7Zm9udDoxMXB4IGFyaWFsLHNhbnMtc2VyaWY7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MXB4O3BhZGRpbmc6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtb3ZlcmxheS1hdHRyaWJ1dGlvbjpob3Zlcntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbjpjb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtaW1hZ2Utb3ZlcmxheSAueXRwLWFkLW92ZXJsYXktYXR0cmlidXRpb257Y29sb3I6aW5oZXJpdDt0ZXh0LXNoYWRvdzpyZ2IoMCwwLDApIDAgMCA4cHgscmdiYSgwLDAsMCwuOSkgMCAwIDRweH0ueXRwLWFkLW92ZXJsYXktdGV4dC1pbWFnZXtmbG9hdDpsZWZ0fS55dHAtYWQtb3ZlcmxheS10ZXh0LWltYWdlIGltZ3std2Via2l0LWJveC1zaGFkb3c6MCAzcHggNXB4IHJnYmEoMCwwLDAsLjQ5ODAzOSk7Ym94LXNoYWRvdzowIDNweCA1cHggcmdiYSgwLDAsMCwuNDk4MDM5KTtoZWlnaHQ6NTdweDttYXJnaW46MnB4IDEwcHggMCAwO3dpZHRoOmF1dG87bWluLXdpZHRoOjU3cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFse2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO3otaW5kZXg6NjR9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWJhY2tncm91bmQtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYmFja2dyb3VuZHtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6bm9uZTtkaXNwbGF5OmJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90e3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt6LWluZGV4OjY1fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2Rpc3BsYXk6YmxvY2s7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTE0MHB4O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3RvcDo1MCU7d2lkdGg6MjgwcHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJke21hcmdpbi1sZWZ0Oi05MHB4O3dpZHRoOjE4MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWNhcmQtdW5pZmllZHttYXJnaW4tbGVmdDotMjE1cHg7d2lkdGg6NDMwcHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtY2FyZC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1jYXJkLXVuaWZpZWR7bWFyZ2luLWxlZnQ6MDtsZWZ0OjA7dGV4dC1hbGlnbjpsZWZ0O3dpZHRoOjI0NXB4O3BhZGRpbmc6MCAwIDAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZS1jb250YWluZXItdW5pZmllZHt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjI4cHggMCAxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWhlYWRsaW5lLWNvbnRhaW5lci11bmlmaWVke3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXJnaW46MCBhdXRvIDAgMDtwYWRkaW5nOjEwcHggMH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Y29sb3I6IzMzMztkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MjBweDttYXgtaGVpZ2h0OjIuMmVtO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmV7Zm9udC1zaXplOjE2cHg7bWF4LWhlaWdodDoyLjJlbTtwYWRkaW5nLXRvcDo4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1oZWFkbGluZXtmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lcntjdXJzb3I6cG9pbnRlcjtwb2ludGVyLWV2ZW50czphdXRvO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWNvbnRhaW5lci11bmlmaWVke3doaXRlLXNwYWNlOm5vcm1hbDt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWFyZ2luOjAgYXV0bztwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbi1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtZGVzY3JpcHRpb24tY29udGFpbmVyLXVuaWZpZWR7ZGlzcGxheTpub25lfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1kZXNjcmlwdGlvbntjb2xvcjojNzY3Njc2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDttYXgtaGVpZ2h0OjEuMWVtO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctYm90dG9tOjhweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9ue3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lci11bmlmaWVke3BhZGRpbmc6NnB4IDB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiMxNjdhYzY7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIzcHg7aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDZweDttaW4td2lkdGg6MTY0cHg7cGFkZGluZzowIDIwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9ue2ZvbnQtc2l6ZToxNXB4O2hlaWdodDozNnB4O2xpbmUtaGVpZ2h0OjM2cHg7cGFkZGluZzowIDE2cHg7bWluLXdpZHRoOjEyMHB4fS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbntoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O21pbi13aWR0aDowfS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtib3JkZXItcmFkaXVzOjI4cHg7aGVpZ2h0OjU2cHg7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI4cHg7cGFkZGluZzowIDI0cHg7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE1cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtwYWRkaW5nOjAgMTZweDtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1hZHMtdGlueS1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tcm91bmRlZHtoZWlnaHQ6MjRweDtsaW5lLWhlaWdodDoyNHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVye2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87bWF4LXdpZHRoOjEwMCU7Ym9yZGVyLXJhZGl1czo1MCU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjpub25lO2hlaWdodDoxMjhweDt3aWR0aDoxMjhweH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2V7cG9pbnRlci1ldmVudHM6YXV0bzttYXgtd2lkdGg6MTAwJX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLXVuaWZpZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXJ7aGVpZ2h0OjYwcHg7d2lkdGg6NjBweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lcntoZWlnaHQ6NDBweDt3aWR0aDo0MHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXIueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLXVuaWZpZWR7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaW1hZ2UtY29udGFpbmVyLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci11bmlmaWVke21hcmdpbi1sZWZ0Oi02cHg7cGFkZGluZzo2cHg7aGVpZ2h0OjM2cHg7d2lkdGg6MzZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWltYWdlLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1pbWFnZS1jb250YWluZXItdW5pZmllZHtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1iYWNrZ3JvdW5kLWNvbnRhaW5lci11bmlmaWVkey13ZWJraXQtZmlsdGVyOmJsdXIoNzBweCk7ZmlsdGVyOmJsdXIoNzBweCl9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLXNsb3QueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC1kYXJrLWJhY2tncm91bmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUwLDUwLDUwLC44KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtc2xvdC55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1zbG90LXVuaWZpZWR7aW5zZXQ6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtbGlnaHR7Y29sb3I6I2ZmZn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyOHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDozNHB4O21heC1oZWlnaHQ6bm9uZTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy10b3A6MDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtc21hbGwtbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjkwMDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6bm9uZTtwYWRkaW5nLXRvcDowO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoxfS55dHAtYWRzLXRpbnktbW9kZSAueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtaGVhZGxpbmUtdW5pZmllZHtmb250LXNpemU6MTZweDtwYWRkaW5nLXRvcDoxMnB4O3BhZGRpbmctYm90dG9tOjB9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLWxpZ2h0e2NvbG9yOiNmZmZ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWRlc2NyaXB0aW9uLXVuaWZpZWR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNjIsMTY2LDI1NSk7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjIwcHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1tb25vLWRhcmt7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2NvbG9yOnJnYigxNSwxNSwxNSk7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToyMHB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tbW9iaWxlLWNvbXBhbmlvbi1zaXple21pbi13aWR0aDowO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6MCAxNnB4fS55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24tdW5pZmllZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYig2MiwxNjYsMjU1KTtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6cmdiKDE1LDE1LDE1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MThweDttaW4td2lkdGg6MDttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzowIDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQgLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2JhY2tncm91bmQtY29sb3I6cmdiKDYyLDE2NiwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVke2hlaWdodDoyMnB4O2xpbmUtaGVpZ2h0OjEycHh9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoyMDBweDtwYWRkaW5nOjAgMTZweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtYWN0aW9uLWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXVuaWZpZWQtbW9ubzpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDotNnB4IDA7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm8gLnl0cC1hZC1idXR0b24tdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2JvcmRlci1yYWRpdXM6MThweDtjb2xvcjpyZ2IoMTUsMTUsMTUpO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtoZWlnaHQ6MzZweDtsaW5lLWhlaWdodDoxOHB4O21pbi13aWR0aDowO21heC13aWR0aDoxNTBweDtwYWRkaW5nOjAgMTZweH0ueXRwLWFkcy10aW55LW1vZGUgLnl0cC1hZC1hY3Rpb24taW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLWFjdGlvbi1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi11bmlmaWVkLW1vbm97aGVpZ2h0OjIycHg7bGluZS1oZWlnaHQ6MTJweH0ueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTo0cHg7ZGlzcGxheTpibG9jaztsZWZ0OjZweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjY1fS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1jb250YWluZXIueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVyLXVwcGVyLXJpZ2h0e2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweH1zdmcueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd257YmFja2dyb3VuZDpub25lO2JvcmRlci1yYWRpdXM6NTAlO2hlaWdodDoyMHB4O29wYWNpdHk6LjQ7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7d2lkdGg6MjBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tYmFja2dyb3VuZHtmaWxsOm5vbmU7c3Ryb2tlOm5vbmV9Y2lyY2xlLnl0cC1hZC10aW1lZC1waWUtY291bnRkb3duLWlubmVye2ZpbGw6bm9uZTtzdHJva2U6IzAwMDtzdHJva2Utd2lkdGg6MTBweH1jaXJjbGUueXRwLWFkLXRpbWVkLXBpZS1jb3VudGRvd24tb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZTojMDAwO3N0cm9rZS13aWR0aDoxfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1pbm5lci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci55dHAtYWQtdGltZWQtcGllLWNvdW50ZG93bi1vdXRlci1saWdodHtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtwYWRkaW5nOjAgMzJweDttYXJnaW46MDtsaW5lLWhlaWdodDpub3JtYWw7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS55dHAtYWQtc3VydmV5LnJlbGF0aXZlLXBvc2l0aW9uaW5nLXN1cnZleXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojg1MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbnN7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1mbGV4LWdyb3c6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW46MCBhdXRvO2hlaWdodDoxMDAlfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3BhZGRpbmctdG9wOjA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWZ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtcG9zaXRpb246NTAlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjF9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tZm9yZWdyb3VuZHt6LWluZGV4OjJ9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtjb2xvcjojMTMxMzEzO2ZvbnQtc2l6ZToyMHB4O3RleHQtYWxpZ246bGVmdDt3aWR0aDozMDJweDttYXJnaW4tcmlnaHQ6NDhweDtsaW5lLWhlaWdodDoyOHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7cmlnaHQ6MDt0b3A6MzVweDt3aWR0aDozMDhweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zley13ZWJraXQtZmxleC1ncm93OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmV7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDtwYWRkaW5nLXRvcDo0JX0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle3BhZGRpbmctdG9wOjA7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC10b2dnbGUtYnV0dG9uLWlucHV0e2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyOHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt0ZXh0LWFsaWduOmxlZnQ7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbjpob3ZlciwueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbjpob3Zlcntmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLWJ1dHRvbnttYXJnaW4tbGVmdDoyNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlciAueXRwLWFkLXRvZ2dsZS1idXR0b24tdG9nZ2xlZHtmb250LXdlaWdodDo1MDB9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDojNjA2MDYwfS55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b2dnbGVkLWljb24gc3ZnIHBhdGg6bGFzdC1vZi10eXBle2ZpbGw6IzA0NWVkZH0ueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7LXdlYmtpdC1ib3gtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czphdXRvO2N1cnNvcjpwb2ludGVyfS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTJweDtyaWdodDowO2hlaWdodDo1MnB4O3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntiYWNrZ3JvdW5kOiMxYjdmY2M7Ym9yZGVyOjA7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czoycHg7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEzLjdweDtoZWlnaHQ6MzVweDttYXJnaW4tcmlnaHQ6NnB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6NTZweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9uLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQ6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2hlaWdodDozNnB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweH0ueXRwLWFkLXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXBsYXllci1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1za2lwLW9yLXByZXZpZXcsLnl0cC1hZC1zdXJ2ZXktcGxheWVyLW92ZXJsYXktc2tpcC1vci1wcmV2aWV3e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cmlnaHQ6MH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWx7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtvcGFjaXR5OjE7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTt6LWluZGV4OjUwMDA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1jb250ZW50c3toZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbCAueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtY29udGVudHN7aGVpZ2h0OmF1dG99Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6MzJweDttYXJnaW4tdG9wOjI1cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O2ZvbnQtc2l6ZToyNHB4O2NvbG9yOiMxMzEzMTM7d2lkdGg6MjcycHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ297YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTstbW96LWJhY2tncm91bmQtc2l6ZToxMDAlIDEwMCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO2hlaWdodDoyNXB4O21hcmdpbi1sZWZ0OjMycHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTA1cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28taW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2JvcmRlci1yYWRpdXM6MnB4O2NvbG9yOiNmZmY7Y3Vyc29yOnBvaW50ZXI7Zm9udC1zaXplOjE0cHg7bWluLXdpZHRoOjE2MXB4O3BhZGRpbmc6MTBweDttYXJnaW4tbGVmdDozMnB4O21hcmdpbi10b3A6MjVweDtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym9yZGVyOjB9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi1yb3VuZGVke2JhY2tncm91bmQtY29sb3I6IzA2NWZkNDtib3JkZXItcmFkaXVzOjE4cHg7aGVpZ2h0OjM2cHg7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO21pbi13aWR0aDowO3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDt0ZXh0LXRyYW5zZm9ybTpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjU2cHgpey55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1sb2dve21hcmdpbi1sZWZ0OjQ4cHg7bWFyZ2luLXRvcDoxNXB4fS55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC10ZXh0e2ZvbnQtc2l6ZToyMHB4O21hcmdpbi1sZWZ0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b257Zm9udC1zaXplOjE4cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbi55dHAtYWQtc3VydmV5LWludGVyc3RpdGlhbC1hY3Rpb24tYnV0dG9uLXJvdW5kZWR7Zm9udC1zaXplOjE0cHg7bWFyZ2luLWxlZnQ6NDhweH0ueXRwLWFkLXN1cnZleXtwYWRkaW5nOjAgMzJweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLXRleHR7Zm9udC1zaXplOjIwcHg7bWFyZ2luLXJpZ2h0OjMycHg7bGluZS1oZWlnaHQ6MjhweDt3aWR0aDphdXRvfS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjI0cHg7d2lkdGg6YXV0b30ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6MjJweDtmb250LXNpemU6MTBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDstd2Via2l0LWZsZXg6MCAwIDIwcHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDIwcHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NDhweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjB9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6NHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6NDBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1pbnN0cmVhbS11c2VyLXNlbnRpbWVudHtkaXNwbGF5Om5vbmV9W2Rpcj1ydGxdIC55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXByZXZpZXctY29udGFpbmVye2JvdHRvbTo0MHB4fX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyOTRweCkgYW5kIChtaW4taGVpZ2h0OjYzMHB4KXsueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtYWN0aW9uLWJ1dHRvbiwueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtbG9nbywueXRwLWFkLXN1cnZleS1pbnRlcnN0aXRpYWwtdGV4dHttYXJnaW4tbGVmdDo2NHB4fS55dHAtYWQtc3VydmV5e3dpZHRoOmF1dG87cGFkZGluZzowIDYwcHh9Lnl0cC1hZC1zdXJ2ZXktcXVlc3Rpb24tdGV4dHtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1yaWdodDo0OHB4O3dpZHRoOjM1NHB4fS55dHAtYWQtc3VydmV5LWFuc3dlcnN7dG9wOjM4cHg7d2lkdGg6MzkwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vye2hlaWdodDo2MHB4fS55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3ZlLC55dHAtYWQtc3VydmV5LXN1Ym1pdC1idXR0b257aGVpZ2h0OjQ0cHg7Zm9udC1zaXplOjE4LjJweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC55dHAtYWQtc3VydmV5LWFuc3dlci10b2dnbGUtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweDstd2Via2l0LWZsZXg6MCAwIDMycHg7LXdlYmtpdC1ib3gtZmxleDowO2ZsZXg6MCAwIDMycHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2VycyAueXRwLWFkLXN1cnZleS1ub25lLW9mLXRoZS1hYm92ZXtoZWlnaHQ6NjBweH0ueXRwLWFkLXN1cnZleS1wbGF5ZXItb3ZlcmxheS1zdWJtaXR7Ym90dG9tOjI1cHh9Lnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbnttYXJnaW4tcmlnaHQ6OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6NzBweH19QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxNzIwcHgpIGFuZCAobWluLWhlaWdodDo5ODBweCl7Lnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWFjdGlvbi1idXR0b24sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLWxvZ28sLnl0cC1hZC1zdXJ2ZXktaW50ZXJzdGl0aWFsLXRleHR7bWFyZ2luLWxlZnQ6OTZweH0ueXRwLWFkLXN1cnZleXt3aWR0aDoxMDAlO3BhZGRpbmc6MH0ueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjQzcHg7bWFyZ2luLXJpZ2h0OjgwcHg7d2lkdGg6NDUwcHh9Lnl0cC1hZC1zdXJ2ZXktYW5zd2Vyc3t0b3A6NTdweDt3aWR0aDo1MDBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJ7aGVpZ2h0Ojc2cHh9Lnl0cC1hZC1zdXJ2ZXktbm9uZS1vZi10aGUtYWJvdmUsLnl0cC1hZC1zdXJ2ZXktc3VibWl0LWJ1dHRvbntoZWlnaHQ6NjdweDtmb250LXNpemU6MjcuNHB4fS55dHAtYWQtc3VydmV5LWFuc3dlci1idXR0b24sLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b257Zm9udC1zaXplOjMycHg7bGluZS1oZWlnaHQ6NDNweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXItdG9nZ2xlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntoZWlnaHQ6MzJweDt3aWR0aDozMnB4Oy13ZWJraXQtZmxleDowIDAgMzJweDstd2Via2l0LWJveC1mbGV4OjA7ZmxleDowIDAgMzJweDttYXJnaW4tcmlnaHQ6MjBweH0ueXRwLWFkLXN1cnZleS1hbnN3ZXJzIC55dHAtYWQtc3VydmV5LW5vbmUtb2YtdGhlLWFib3Zle2hlaWdodDo3NnB4fS55dHAtYWQtc3VydmV5LXBsYXllci1vdmVybGF5LXN1Ym1pdHtib3R0b206NDVweH0ueXRwLWFkLXN1cnZleS1zdWJtaXQtYnV0dG9ue21hcmdpbi1yaWdodDoxMnB4O3BhZGRpbmctbGVmdDoyMHB4O3BhZGRpbmctcmlnaHQ6MTEwcHh9fS55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXRvZ2dsZS1idXR0b246aG92ZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvb2x0aXB7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjcpO2JvdHRvbToxNDdweDtkaXNwbGF5OmlubGluZS1ibG9jaztwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDo4NTB9Lnl0cC1lbWJlZCAueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lcntib3R0b206MTM5cHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LXNlbGVjdGVkey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtiYWNrZ3JvdW5kOiM0NzgwZWV9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiwueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWNvbnRhaW5lciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjJweDtvcGFjaXR5Oi44O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt3aWR0aDoyMnB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLWluc3RyZWFtLXVzZXItc2VudGltZW50LWxpa2UtYnV0dG9uIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi1sYWJlbHtwYWRkaW5nOjEycHggMTBweCAxMnB4IDIwcHh9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1kaXNsaWtlLWJ1dHRvbiAueXRwLWFkLXRvZ2dsZS1idXR0b24tbGFiZWx7cGFkZGluZzoxMnB4IDIwcHggMTJweCAxMHB4fS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbjpob3ZlciAueXRwLWFkLXRvZ2dsZS1idXR0b24taWNvbntvcGFjaXR5OjF9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uLnl0cC1hZC10b2dnbGUtYnV0dG9uLXRvZ2dsZWQgLnl0cC1hZC10b2dnbGUtYnV0dG9uLWljb257b3BhY2l0eToxfS55dHAtYWQtaW5zdHJlYW0tdXNlci1zZW50aW1lbnQtY29udGFpbmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JhY2tncm91bmQ6cmdiYSgzMSwzMSwzMSwuNSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OjE4cHg7bGV0dGVyLXNwYWNpbmc6MDttYXJnaW46OXB4IDA7cGFkZGluZzo4cHggMTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1hZC1pbnN0cmVhbS11c2VyLXNlbnRpbWVudC1jb250YWluZXIgLnl0cC1hZC10b2dnbGUtYnV0dG9uOmhvdmVyIC55dHAtYWQtdG9nZ2xlLWJ1dHRvbi10b29sdGlwe2JvdHRvbTo0NnB4O3JpZ2h0OjIwcHh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS10b3AtYmFyLWdyYWRpZW50c3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNDAlLHJnYmEoMCwwLDAsLjc1KSksY29sb3Itc3RvcCg5OSUscmdiYSgwLDAsMCwwKSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC43NSkgNDAlLHJnYmEoMCwwLDAsMCkgOTklKTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtib3JkZXItYm90dG9tOm5vbmU7aGVpZ2h0OjQwcHg7d2lkdGg6MTAwJTtvcGFjaXR5Oi44O3RvcDowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbjpiZWZvcmV7Y29udGVudDpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbnttYXJnaW46YXV0byAxMXB4IGF1dG8gYXV0bztwb2ludGVyLWV2ZW50czphdXRvO3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi10ZXh0e2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDpub3JtYWw7bWFyZ2luOmF1dG8gMDtwYWRkaW5nOjAgNHB4IDVweDt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTtjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtYWQtcGxheWVyLW92ZXJsYXktdG9wLWJhci1ncmFkaWVudHMgLnl0cC1hZC12aXNpdC1hZHZlcnRpc2VyLWJ1dHRvbiAueXRwLWFkLWJ1dHRvbi1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWFkLXBsYXllci1vdmVybGF5LXRvcC1iYXItZ3JhZGllbnRzIC55dHAtdmlkZW8tYWQtdG9wLWJhci10aXRsZXstd2Via2l0LWZsZXg6MTstd2Via2l0LWJveC1mbGV4OjE7ZmxleDoxO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpub3dyYXA7Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtc2hhZG93OjFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjc1KTt0ZXh0LWRlY29yYXRpb246bm9uZTtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjtmb250LXNpemU6MTRweDttYXgtd2lkdGg6NTAlO2hlaWdodDoxNnB4O2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW46MTBweCA1cHggNXB4IDEwcHg7ei1pbmRleDo4NTA7b3BhY2l0eTouOX0ueXRwLWFkLWNsaWNrYWJsZS1lbGVtZW50OmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtYWQtdW5kZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEzMXB4O2xlZnQ6MDtoZWlnaHQ6Y2FsYygxMDAlIC0gMjYycHgpO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjgwcHgpO3RvcDoxNDBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMjIycHgpO3RvcDoxMTFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC11bmRlcmxheXtoZWlnaHQ6Y2FsYygxMDAlIC0gMTUwcHgpO3RvcDo3NXB4fS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXVuZGVybGF5e2hlaWdodDpjYWxjKDEwMCUgLSAxMjJweCk7dG9wOjYxcHh9Lnl0cC1hZC11bmRlcmxheS1jb21wYW5pb257aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXRwLWFkLXVuZGVybGF5LXNpZGUtY29udGFpbmVye2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctdG9wOjEyNXB4O3BhZGRpbmctYm90dG9tOjEyNXB4fS55dHAtYWQtdW5kZXJsYXktbGVmdC1jb250YWluZXJ7bWFyZ2luLWxlZnQ6MiU7cGFkZGluZy1yaWdodDoyJX0ueXRwLWFkLXVuZGVybGF5LXJpZ2h0LWNvbnRhaW5lcnttYXJnaW4tbGVmdDo1Mi41JX0ueXRwLWFkLXVuZGVybGF5LWltYWdlLWNvbnRhaW5lcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDo3MnB4O21pbi13aWR0aDo3MnB4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi1ib3R0b206MTZweDttYXgtd2lkdGg6MTQ0cHg7bWF4LWhlaWdodDoxNDRweDstd2Via2l0LWZsZXgtc2hyaW5rOjI7ZmxleC1zaHJpbms6MjtjdXJzb3I6cG9pbnRlcn0ueXRwLWFkLXVuZGVybGF5LWltYWdle3BvaW50ZXItZXZlbnRzOmF1dG87bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmUtY29udGFpbmVye3dpZHRoOjEwMCU7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtYWQtdW5kZXJsYXktaGVhZGxpbmV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToyLjV2dztmb250LXdlaWdodDo3MDA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuO3dvcmQtd3JhcDpicmVhay13b3JkO292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTYwMHB4KXsueXRwLWFkLXVuZGVybGF5LWhlYWRsaW5le2ZvbnQtc2l6ZTo0MHB4fX0ueXRwLWFkLXVuZGVybGF5LWRlc2NyaXB0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3BhZGRpbmctYm90dG9tOjQwcHh9Lnl0cC1hZC11bmRlcmxheS1kZXNjcmlwdGlvbi1jb250YWluZXJ7LXdlYmtpdC1mbGV4LXNocmluazoxO2ZsZXgtc2hyaW5rOjF9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWNvbnRhaW5lcntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWFkLXVuZGVybGF5LWNsaWNrYWJsZXt6LWluZGV4Ojg1MH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b257YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMzAzMDM7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxOHB4O2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctbGVmdDoxMnB4O3BhZGRpbmctcmlnaHQ6MTJweDtoZWlnaHQ6MzZweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tbWVkaXVte2JvcmRlci1yYWRpdXM6MjRweDtmb250LXNpemU6MThweDtwYWRkaW5nLWxlZnQ6MTZweDtwYWRkaW5nLXJpZ2h0OjE2cHg7aGVpZ2h0OjQ4cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLWxhcmdle2JvcmRlci1yYWRpdXM6MzJweDtmb250LXNpemU6MjJweDtwYWRkaW5nLWxlZnQ6MjRweDtwYWRkaW5nLXJpZ2h0OjI0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U5ZTllOX0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6IzAzMDMwMztib3JkZXItcmFkaXVzOjJweH0ueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NmI4ZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b246Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoycHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmZ9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLWFkLXVuZGVybGF5LWFjdGlvbi1idXR0b24tYmx1ZTpmb2N1c3tvdXRsaW5lOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjM2VhNmZmO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Y29sb3I6IzNlYTZmZn0uaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmd7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIDEuNXMsaGVpZ2h0IDEuNXMsbGVmdCAxLjVzLHRvcCAxLjVzO3RyYW5zaXRpb246d2lkdGggMS41cyxoZWlnaHQgMS41cyxsZWZ0IDEuNXMsdG9wIDEuNXN9Lnl0cC1hZC11bmRlcmxheS1hY3Rpb24tYnV0dG9uLXRyYW5zaXRpb257ei1pbmRleDotMX0uY29sb3ItY29udHJhc3QtZml4Lnl0cC1hZC1zdXJ2ZXl7YmFja2dyb3VuZC1jb2xvcjpibGFja30uY29sb3ItY29udHJhc3QtZml4IC55dHAtYWQtc3VydmV5LXF1ZXN0aW9uLWJhY2tncm91bmR7b3BhY2l0eTo2MCV9LmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1hbnN3ZXItYnV0dG9uLC5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24sLmNvbG9yLWNvbnRyYXN0LWZpeCAueXRwLWFkLXN1cnZleS1xdWVzdGlvbi10ZXh0e2NvbG9yOndoaXRlfS5jb2xvci1jb250cmFzdC1maXggLnl0cC1hZC1zdXJ2ZXktYW5zd2VyLXRvZ2dsZS1idXR0b24gLnl0cC1hZC10b2dnbGUtYnV0dG9uLXVudG9nZ2xlZC1pY29uIHN2ZyBwYXRoOmZpcnN0LW9mLXR5cGV7ZmlsbDp3aGl0ZX0ueXRwLWFkLWJhZGdle2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IsK3IjtwYWRkaW5nLWlubGluZTo0cHh9Lnl0cC1hZC1iYWRnZV9fcG9kLWluZGV4OmJlZm9yZXtjb250ZW50OiLCtyI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLWJhZGdlLS1zdGFya3tjb2xvcjojZmZmO29wYWNpdHk6Ljc1O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI4cHh9Lnl0cC1hZC1iYWRnZS0tc3RhcmsgLnl0cC1hZC1iYWRnZV9fdGV4dHtmb250LXdlaWdodDo3MDB9Lnl0cC1hZC1iYWRnZS0tY2xlYW4tcGxheWVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2xlZnQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXJ7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjhweDt0ZXh0LXNoYWRvdzowIDAgOHB4IHJnYmEoMCwwLDAsLjUpO2xldHRlci1zcGFjaW5nOi4zNXB4fS55dHAtYWQtYmFkZ2UtLXN0YXJrLWNsZWFuLXBsYXllciAueXRwLWFkLWJhZGdlX190ZXh0LS1jbGVhbi1wbGF5ZXJ7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjt0ZXh0LXNoYWRvdzowIDAgMTZweCByZ2JhKDAsMCwwLC41KX0ueXRwLWFkLWJhZGdlLS1zdGFyay1jbGVhbi1wbGF5ZXItaW9ze2xldHRlci1zcGFjaW5nOi4xcHh9Lnl0cC1hZC1ncmlkLWNhcmQtY29sbGVjdGlvbntkaXNwbGF5OmdyaWQ7Z2FwOjhweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dHttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjE7LXdlYmtpdC1hbGlnbi1zZWxmOnN0cmV0Y2g7YWxpZ24tc2VsZjpzdHJldGNoOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fYnV0dG9ue21hcmdpbjoxMnB4IDE2cHggMTJweCAxMnB4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4LWdyb3c6MTtmbGV4LWdyb3c6MTttYXJnaW4tbGVmdDoxNnB4O21hcmdpbi10b3A6MTJweDttYXJnaW4tYm90dG9tOjEycHg7bWluLXdpZHRoOjB9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2hlYWRsaW5le2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47bWF4LWhlaWdodDoxLjhyZW07LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbiA6Zmlyc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjFweDt3aWR0aDotd2Via2l0LW1heC1jb250ZW50O3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnR9Lnl0cC1hZC1ncmlkLWNhcmQtdGV4dF9fbWV0YWRhdGFfX2Rlc2NyaXB0aW9uIDpub3QoOmZpcnN0LWNoaWxkKXstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxfS55dHAtYWQtZ3JpZC1jYXJkLXRleHRfX21ldGFkYXRhX19kZXNjcmlwdGlvbl9fbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ueXRwLWFkLXBvZC1pbmRleHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDtsZWZ0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1hZC1wb2QtaW5kZXg6YmVmb3Jle2NvbnRlbnQ6IuKAoiI7cGFkZGluZy1pbmxpbmU6NHB4IDNweH0ueXRwLWFkLXBvZC1pbmRleC0tc3Rhcmt7Y29sb3I6I2ZmZjtvcGFjaXR5OjE7Zm9udC1zaXplOjEycHg7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO2xpbmUtaGVpZ2h0OjI4cHg7dGV4dC1zaGFkb3c6MCAwIDE2cHggcmdiYSgwLDAsMCwuNSk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxhcmlhbCxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWFkLXBvZC1pbmRleC0tbXdlYntmb250LXdlaWdodDo2MDB9Lnl0cC1hZC1wb2QtaW5kZXgtLW13ZWItaW9ze2xldHRlci1zcGFjaW5nOi0uMnB4fS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wb2QtaW5kZXgtLWF1dG9oaWRle2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Zm9udC13ZWlnaHQ6NTAwO2JvcmRlcjpub25lOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYWQtYnV0dG9uLXZtX190ZXh0e3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWFkLWJ1dHRvbi12bV9faWNvbnstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0e2hlaWdodDozMnB4O2xpbmUtaGVpZ2h0OjMycHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmc6MCAxMnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWNvbXBhY3QgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS10cmFpbGluZ3std2Via2l0LW1hcmdpbi1zdGFydDo0cHg7bWFyZ2luLWlubGluZS1zdGFydDo0cHg7LXdlYmtpdC1tYXJnaW4tZW5kOi00cHg7bWFyZ2luLWlubGluZS1lbmQ6LTRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1jb21wYWN0IC55dHAtYWQtYnV0dG9uLXZtX19pY29uLS1sZWFkaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0Oi00cHg7bWFyZ2luLWlubGluZS1zdGFydDotNHB4Oy13ZWJraXQtbWFyZ2luLWVuZDo0cHg7bWFyZ2luLWlubGluZS1lbmQ6NHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHR7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjE4cHg7Zm9udC1zaXplOjE0cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtZGVmYXVsdCAueXRwLWFkLWJ1dHRvbi12bV9faWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLXRyYWlsaW5ney13ZWJraXQtbWFyZ2luLXN0YXJ0OjZweDttYXJnaW4taW5saW5lLXN0YXJ0OjZweDstd2Via2l0LW1hcmdpbi1lbmQ6LTZweDttYXJnaW4taW5saW5lLWVuZDotNnB4fS55dHAtYWQtYnV0dG9uLXZtLS1zaXplLWRlZmF1bHQgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LTZweDttYXJnaW4taW5saW5lLXN0YXJ0Oi02cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjZweDttYXJnaW4taW5saW5lLWVuZDo2cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2V7aGVpZ2h0OjQ4cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjI0cHg7Zm9udC1zaXplOjE4cHg7cGFkZGluZzowIDI0cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLWJ1dHRvbi12bS0tc2l6ZS1sYXJnZSAueXRwLWFkLWJ1dHRvbi12bV9faWNvbi0tdHJhaWxpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6OHB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6OHB4Oy13ZWJraXQtbWFyZ2luLWVuZDotOHB4O21hcmdpbi1pbmxpbmUtZW5kOi04cHh9Lnl0cC1hZC1idXR0b24tdm0tLXNpemUtbGFyZ2UgLnl0cC1hZC1idXR0b24tdm1fX2ljb24tLWxlYWRpbmd7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6LThweDttYXJnaW4taW5saW5lLXN0YXJ0Oi04cHg7LXdlYmtpdC1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLXRyYW5zcGFyZW50e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtdHJhbnNwYXJlbnQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yKX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDU1NmJmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtd2hpdGV7Y29sb3I6IzBmMGYwZjtiYWNrZ3JvdW5kLWNvbG9yOiNmMWYxZjF9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOWQ5ZDl9Lnl0cC1hZC1idXR0b24tdm0tLXN0eWxlLWZpbGxlZC13aGl0ZTphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZDlkOWQ5fS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1maWxsZWQtZGFya3tiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7Y29sb3I6cmdiKDE1LDE1LDE1KX0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtZmlsbGVkLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNjViOGZmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZHtjb2xvcjojZjFmMWYxO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLWFkLWJ1dHRvbi12bS0tc3R5bGUtbW9uby1maWxsZWQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1zdHlsZS1tb25vLWZpbGxlZDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojM2YzZjNmfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHl7cGFkZGluZzowfS55dHAtYWQtYnV0dG9uLXZtLS1pY29uLW9ubHkgLnl0cC1hZC1idXR0b24tdm1fX2ljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtwYWRkaW5nOjAgNnB4fS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjZmJjMDJkO2JvcmRlci1yYWRpdXM6NHB4O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5OmlubGluZS1mbGV4O2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxzYW5zLXNlcmlmO21heC13aWR0aDozMTJweDtwYWRkaW5nOjhweH0ueXRwLWFkLWRpc2Nsb3N1cmUtYmFubmVyX190ZXh0e2JhY2tncm91bmQ6bm9uZTtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxZW07cGFkZGluZzo4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtYWQtZGlzY2xvc3VyZS1iYW5uZXJfX2NoZXZyb257LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC40KTtib3R0b206ODZweDtjb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNnB4O2hlaWdodDo1MnB4O2xpbmUtaGVpZ2h0OjUycHg7bWluLXdpZHRoOjgwcHg7b3BhY2l0eToxO3BhZGRpbmc6MCAyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3otaW5kZXg6NDV9Lnl0cC1lbWJlZCAueXRwLWFkLW5vdGlmaWNhdGlvbi1jb250YWluZXJ7Ym90dG9tOjc4cHh9Lnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVyW2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLWJpZy1tb2RlIC55dHAtYWQtbm90aWZpY2F0aW9uLWNvbnRhaW5lcntib3R0b206OTVweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1ub3RpZmljYXRpb24tY29udGFpbmVye2JvdHRvbToyNXB4fS55dHAtcHJldmlldy1hZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtjdXJzb3I6ZGVmYXVsdDtwb2ludGVyLWV2ZW50czphdXRvfS55dHAtcHJldmlldy1hZFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcHJldmlldy1hZF9fdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsZXR0ZXItc3BhY2luZzouMXB4O3BhZGRpbmc6MCA4cHg7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO3doaXRlLXNwYWNlOnByZTt3aWR0aDphdXRvfS55dHAtcHJldmlldy1hZF9fdGV4dC0tZm9udC0tc21hbGx7Zm9udC1zaXplOjEycHg7aGVpZ2h0OmF1dG87bWluLXdpZHRoOjB9Lnl0cC1wcmV2aWV3LWFkX190ZXh0LS1wYWRkaW5nLS13aWRle3BhZGRpbmc6MCAxNHB4fS55dHAtcHJldmlldy1hZF9faW1hZ2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjY1cHg7aGVpZ2h0OjM2cHg7LW8tb2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtZml0OmNvdmVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXByZXZpZXctYWR7cmlnaHQ6MTJweDtib3R0b206NzVweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1wcmV2aWV3LWFke3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9Lnl0cC1oaWRlLWNvbnRyb2xzIC55dHAtcHJldmlldy1hZHtib3R0b206MjVweH0ueXRwLWF1dG9oaWRlIC55dHAtYWQtZHVyYXRpb24tcmVtYWluaW5nLWF1dG9oaWRle2Rpc3BsYXk6bm9uZX0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRze2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJ7aGVpZ2h0OjEwMCU7bWF4LWhlaWdodDoxMDAlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZy1sZWZ0OjY0cHg7cGFkZGluZy1yaWdodDo2NHB4O21hcmdpbi1sZWZ0OmNhbGMoNjAlICsgMTZweCl9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2hlYWRlcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OnN0YXJ0Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19hZF9hdmF0YXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tcmlnaHQ6MTZweH0ueXRwLWRpc3BsYXktdW5kZXJsYXktdGV4dC1ncmlkLWNhcmRzX19jb250ZW50X2NvbnRhaW5lcl9faGVhZGVyX19oZWFkbGluZXtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OllvdVR1YmUgTm90byxSb2JvdG8sYXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjE7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2J1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXJnaW4tdG9wOjI0cHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6NTAwcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1kaXNwbGF5LXVuZGVybGF5LXRleHQtZ3JpZC1jYXJkc19fY29udGVudF9jb250YWluZXJfX2FkX2dyaWRfY2FyZF9jb2xsZWN0aW9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4O292ZXJmbG93OmhpZGRlbiBhdXRvfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHNfX2NvbnRlbnRfY29udGFpbmVyX19hZF9idXR0b24+YnV0dG9ue3dpZHRoOjEwMCU7bWF4LXdpZHRoOjUwMHB4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZGlzcGxheS11bmRlcmxheS10ZXh0LWdyaWQtY2FyZHMgLnl0cC1hZC1hdmF0YXItLXNpemUtcmVzcG9uc2l2ZXt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dHAtaW1hZ2UtYmFja2dyb3VuZC0tZ3JhZGllbnQtdmVydGljYWx7aW5zZXQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDUwJSxyZ2JhKDAsMCwwLDApKSx0byhyZ2JhKDAsMCwwLC44KSkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDAsMCwwLC44KSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KX0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZHtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztwYWRkaW5nOjEycHg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjk1KTtjdXJzb3I6cG9pbnRlcjttYXgtd2lkdGg6NDAwcHg7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG87LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuNXMsbWF4LXdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0tbGFyZ2V7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7bWluLXdpZHRoOjIwMHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwJSk7d2lkdGg6MDttYXgtd2lkdGg6MH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fYXZhdGFyX2FuZF90ZXh0X2NvbnRhaW5lci0tbGFyZ2V7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1hbGlnbi1zZWxmOnN0YXJ0O2FsaWduLXNlbGY6c3RhcnR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2FkX2F2YXRhci0tbGFyZ2V7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcn0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fdGV4dF9jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MCAyMHB4IDAgOHB4O21heC13aWR0aDoxOTJweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7Y29sb3I6IzBmMGYwZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMHB4O2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZS0tbGFyZ2V7Y29sb3I6I2RkZH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb257Y29sb3I6IzYwNjA2MDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWxhcmdle2NvbG9yOiNkZGR9Lnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17bWF4LXdpZHRoOjE0MHB4fS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdle21hcmdpbi10b3A6OHB4O21pbi13aWR0aDoxMDAlOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOiMwZjBmMGY7YmFja2dyb3VuZC1jb2xvcjojM2VhNmZmfS55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19idXR0b24tLWxhcmdlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzY1YjhmZn0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJke29wYWNpdHk6Ljg2O3BhZGRpbmc6OHB4O21pbi1oZWlnaHQ6NDBweDttYXgtd2lkdGg6MTkwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1sYXJnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQtLWxhcmdle21pbi13aWR0aDphdXRvfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZC0taW5hY3RpdmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkLS1pbmFjdGl2ZXt3aWR0aDowO21heC13aWR0aDowfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZCAueXRwLWFkLWJ1dHRvbi12bSwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmQgLnl0cC1hZC1idXR0b24tdm17ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9faGVhZGxpbmUsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19oZWFkbGluZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbntmb250LXNpemU6MTBweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWFkLWF2YXRhci1sb2NrdXAtY2FyZF9fZGVzY3JpcHRpb24tLWhpZGRlbi0taW4tLXNtYWxsLS1wbGF5ZXIsLnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX19kZXNjcmlwdGlvbi0taGlkZGVuLS1pbi0tc21hbGwtLXBsYXllcntkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkX190ZXh0X2NvbnRhaW5lciwueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX3RleHRfY29udGFpbmVye3BhZGRpbmc6MCA0cHggMCA2cHg7bWF4LXdpZHRoOjE0NnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtYXZhdGFyLWxvY2t1cC1jYXJkey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2hlYWRsaW5le2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hZC1hdmF0YXItbG9ja3VwLWNhcmRfX2Rlc2NyaXB0aW9ue2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0zcHg7d2lkdGg6MTAwJTtoZWlnaHQ6M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMik7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzh9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1wcm9ncmVzcy1iYXIgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXIsLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBlcnNpc3RlbnQtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntvcGFjaXR5OjE7Ym90dG9tOjA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JhY2tncm91bmQtY29sb3I6IzIyMjtoZWlnaHQ6NHB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktcHJvZ3Jlc3MtYmFyIC55dHAtYWQtcGVyc2lzdGVudC1wcm9ncmVzcy1iYXItY29udGFpbmVyLS1jbGVhbi1wbGF5ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjIyO2hlaWdodDozcHh9Lnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmMwfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWluaXBsYXllci1hbHRlcm5hdGUtdWkgLnl0cC1hZC1wZXJzaXN0ZW50LXByb2dyZXNzLWJhci1jb250YWluZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7bGVmdDoxMnB4O2JvdHRvbToxMnB4fS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym90dG9tOjA7bGVmdDowO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTo2NXB4O2N1cnNvcjpkZWZhdWx0O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNzUpO3otaW5kZXg6ODUwOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1kdXJhdGlvbi1yZW1haW5pbmd7bWFyZ2luLWxlZnQ6MH0ueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo5NXB4O2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6ODUwO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3NraXAtb3ItcHJldmlldy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtyaWdodDowO3Bvc2l0aW9uOmFic29sdXRlfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2N1cnNvcjpkZWZhdWx0O2hlaWdodDphdXRvO2xlZnQ6MjJweDtwb2ludGVyLWV2ZW50czphdXRvO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0MnB4O3otaW5kZXg6ODUwfS55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0IC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7ei1pbmRleDoyN30ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206NzRweDtsZWZ0OjQwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6NDBweDtib3R0b206MTA0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtZGlzY2xvc3VyZS1iYW5uZXItY29udGFpbmVye2xlZnQ6NDBweDt0b3A6NjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTJweDtib3R0b206NDVweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX3BsYXllci1jYXJkLWNvbnRhaW5lcntsZWZ0OjEycHg7Ym90dG9tOjc1cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1kaXNjbG9zdXJlLWJhbm5lci1jb250YWluZXJ7bGVmdDoxMnB4O3RvcDoxMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lcntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLXBvZC1pbmRleCwueXRwLWRlbGhpLW1vZGVybiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAuYWQtc2ltcGxlLWF0dHJpYnV0ZWQtc3RyaW5nLC55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIgLnl0cC1hZC1wb2QtaW5kZXgsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciAueXRwLWFkLWJ1dHRvbnstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4ICMwMDApfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNTBweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyA1MHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206OXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2xlZnQ6MTZweDtib3R0b206MzlweH0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWRpc2Nsb3N1cmUtYmFubmVyLWNvbnRhaW5lcntsZWZ0OjE2cHg7dG9wOjE2cHh9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19hZC1pbmZvLWNvbnRhaW5lciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVye2JvdHRvbToxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1hdXRvaGlkZSAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fcGxheWVyLWNhcmQtY29udGFpbmVye2JvdHRvbTo0NXB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjNweHZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpMjRweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc21hbGwtbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXRfX2FkLWluZm8tY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtaGlkZS1jb250cm9scyAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXIsLnl0cC1zbWFsbC1tb2RlLnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWFkLXBsYXllci1vdmVybGF5LWxheW91dF9fYWQtaW5mby1jb250YWluZXJ7Ym90dG9tOjdweH0ueXRwLXNtYWxsLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0X19wbGF5ZXItY2FyZC1jb250YWluZXJ7Ym90dG9tOjM3cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHhze3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0cC1hZC1hdmF0YXItLXNpemUteHN7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS1ze3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1hZC1hdmF0YXItLXNpemUtbXt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtYWQtYXZhdGFyLS1zaXplLWx7d2lkdGg6NTZweDtoZWlnaHQ6NTZweH0ueXRwLWFkLWF2YXRhci0tc2l6ZS14bHt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtYWQtYXZhdGFyLS1jaXJjdWxhcntib3JkZXItcmFkaXVzOjUwJX0ueXRwLWFkLWF2YXRhci0tcm91bmRlZC1jb3JuZXJ7Ym9yZGVyLXJhZGl1czoyMCV9Lnl0cC1hZC1kZXRhaWxzLWxpbmV7ZGlzcGxheTpibG9ja30ueXRwLWFkLWRldGFpbHMtbGluZV9fdGV4dC0tc3R5bGUtc3RhbmRhcmR7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXR7ei1pbmRleDo2NDtiYWNrZ3JvdW5kOndoaXRlO2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2JhY2tncm91bmQtaW1hZ2UtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo2NTtib3JkZXI6bm9uZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1pbWFnZS1iYWNrZ3JvdW5kLWltYWdle2JhY2tncm91bmQtc2l6ZTpjb3ZlcjstbW96LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjpub25lO2Rpc3BsYXk6YmxvY2t9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50e3otaW5kZXg6NjU7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjB9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jaztsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0b3A6NTAlO21hcmdpbi1sZWZ0Oi0yMTVweDt3aWR0aDo0MzBweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWF2YXRhci1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2hlYWRsaW5le3BhZGRpbmc6MjhweCAwIDEwcHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjhweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjJ9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2RldGFpbHMtbGluZS1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6cG9pbnRlcjt3aGl0ZS1zcGFjZTpub3JtYWw7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG99Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXBfX2FkLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo2cHggMDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2luc3RyZWFtLWluZm8tY29udGFpbmVye2JvdHRvbTo2cHg7Y3Vyc29yOmRlZmF1bHQ7bGVmdDoxOHB4O3BvaW50ZXItZXZlbnRzOmF1dG87cG9zaXRpb246YWJzb2x1dGU7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSk7ei1pbmRleDo4NTA7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWJhZGdlOmFmdGVye3BhZGRpbmctcmlnaHQ6dW5zZXR9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYmFkZ2V7bWFyZ2luLWxlZnQ6NXB4fS55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dCAueXRwLWFkLWRldGFpbHMtbGluZXtwYWRkaW5nOjZweCAwIDIycHh9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYnV0dG9uLXZtOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0Oi02cHggMDtjdXJzb3I6cG9pbnRlcn0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX3RpbWVkLXBpZS1jb3VudGRvd24tY29udGFpbmVye2JvdHRvbTphdXRvO2xlZnQ6YXV0bzt0b3A6NHB4O3JpZ2h0OjZweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NjV9Lnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6NjRweDtoZWlnaHQ6NjRweH0ueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXQgLnl0cC1hZC1kZXRhaWxzLWxpbmVfX3RleHQtLXN0eWxlLXJlc3BvbnNpdmV7Y29sb3I6I2FhYTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0Om5vbmU7cGFkZGluZy1ib3R0b206MDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoxOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0X19jb250ZW50X19sb2NrdXB7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTpibG9jazt0b3A6NTAlO3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi1sZWZ0OjA7bGVmdDowO3RleHQtYWxpZ246bGVmdDt3aWR0aDoyNDVweDtwYWRkaW5nOjAgMCAwIDE2cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19hZC1hdmF0YXItY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOjAgYXV0byAwIC02cHg7cGFkZGluZzo2cHg7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6LXdlYmtpdC1tYXgtY29udGVudDt3aWR0aDotbW96LW1heC1jb250ZW50O3dpZHRoOm1heC1jb250ZW50fS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmUtY29udGFpbmVye3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7d2lkdGg6LXdlYmtpdC1maXQtY29udGVudDt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O21hcmdpbjowIGF1dG8gMCAwfS55dHAtc21hbGwtbW9kZSAueXRwLXZpZGVvLWludGVyc3RpdGlhbC1idXR0b25lZC1jZW50ZXJlZC1sYXlvdXRfX2NvbnRlbnRfX2xvY2t1cF9faGVhZGxpbmV7cGFkZGluZzoxMHB4IDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo5MDA7bGluZS1oZWlnaHQ6MjRweDttYXgtaGVpZ2h0Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjF9Lnl0cC1zbWFsbC1tb2RlIC55dHAtdmlkZW8taW50ZXJzdGl0aWFsLWJ1dHRvbmVkLWNlbnRlcmVkLWxheW91dF9fY29udGVudF9fbG9ja3VwX19kZXRhaWxzLWxpbmUtY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLXNtYWxsLW1vZGUgLnl0cC12aWRlby1pbnRlcnN0aXRpYWwtYnV0dG9uZWQtY2VudGVyZWQtbGF5b3V0IC55dHAtYWQtYXZhdGFyLS1zaXplLXJlc3BvbnNpdmV7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNraXAtYWR7ei1pbmRleDo4NTB9Lnl0cC1za2lwLWFkLWJ1dHRvbntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdztib3JkZXI6bm9uZTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyO2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2NvbG9yOiNmZmY7ZGlyZWN0aW9uOmx0cjttaW4td2lkdGg6MDtwYWRkaW5nOjAgNnB4IDAgMTZweDt3aWR0aDphdXRvO3BvaW50ZXItZXZlbnRzOmF1dG87Y3Vyc29yOnBvaW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIycHg7Ym90dG9tOjk1cHg7ei1pbmRleDoxMDAwOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXNraXAtYWQtYnV0dG9uW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20ocmdiYSgyNTUsMjU1LDI1NSwuMikpLHRvKHJnYmEoMjU1LDI1NSwyNTUsLjIpKSksLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoMTUsMTUsMTUpKSx0byhyZ2IoMTUsMTUsMTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmdiKDE1LDE1LDE1KSxyZ2IoMTUsMTUsMTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LC4yKSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSksbGluZWFyLWdyYWRpZW50KHJnYigxNSwxNSwxNSkscmdiKDE1LDE1LDE1KSl9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1c3tiYWNrZ3JvdW5kOnJnYigxNSwxNSwxNSk7b3V0bGluZTpub25lOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ueXRwLXNraXAtYWQtYnV0dG9uOmZvY3VzLXZpc2libGV7YmFja2dyb3VuZDojZmZmOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggIzBmMGYwZjtib3gtc2hhZG93OjAgMCAwIDJweCAjMGYwZjBmO2NvbG9yOiMwZjBmMGZ9Lnl0cC1za2lwLWFkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIC55dHAtc2tpcC1hZC1idXR0b25fX2ljb24gc3ZnIHBhdGh7ZmlsbDojMGYwZjBmfS55dHAtc2tpcC1hZC1idXR0b25fX3RleHR7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0Om5vcm1hbDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1za2lwLWFkLWJ1dHRvbl9faWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2tpcC1hZC1idXR0b246YWN0aXZlOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyLHJnYmEoMjU1LDI1NSwyNTUsLjIpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1za2lwLWFkLWJ1dHRvbntib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE0cHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1za2lwLWFkLWJ1dHRvbiBzdmd7cGFkZGluZzo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjQwcHg7Ym90dG9tOjEwNHB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXNraXAtYWQtYnV0dG9ue2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KXZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtc2tpcC1hZC1idXR0b257Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC1za2lwLWFkLWJ1dHRvbntyaWdodDoxMnB4O2JvdHRvbTo3NXB4fS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtbWVudS1zaG93biAueXRwLXNraXAtYWQtYnV0dG9ue3JpZ2h0OjE2cHg7Ym90dG9tOjM5cHh9c3ZnLnl0cC10aW1lZC1waWUtY291bnRkb3due2JhY2tncm91bmQ6bm9uZTtib3JkZXItcmFkaXVzOjUwJTtoZWlnaHQ6MjBweDtvcGFjaXR5Oi40Oy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3dpZHRoOjIwcHh9Y2lyY2xlLnl0cC10aW1lZC1waWUtY291bnRkb3duX19iYWNrZ3JvdW5ke3N0cm9rZTpub25lO2ZpbGw6bm9uZX1jaXJjbGUueXRwLXRpbWVkLXBpZS1jb3VudGRvd25fX2lubmVye2ZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MTBweDtzdHJva2U6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfWNpcmNsZS55dHAtdGltZWQtcGllLWNvdW50ZG93bl9fb3V0ZXJ7ZmlsbDpub25lO3N0cm9rZS13aWR0aDoxO3N0cm9rZTpyZ2JhKDI1NSwyNTUsMjU1LC43NSl9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmt7Y29sb3I6I2ZmZjtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTppbmxpbmUtZmxleDttYXJnaW4tbGVmdDoxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LWFsaWduOmJhc2VsaW5lOy13ZWJraXQtYWxpZ24taXRlbXM6YmFzZWxpbmU7YWxpZ24taXRlbXM6YmFzZWxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbms6YmVmb3Jle2NvbnRlbnQ6IiI7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6LThweH0ueXRwLXZpc2l0LWFkdmVydGlzZXItbGluazpob3ZlciAueXRwLXZpc2l0LWFkdmVydGlzZXItbGlua19fdGV4dHtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC12aXNpdC1hZHZlcnRpc2VyLWxpbmtfX3RleHR7Y29sb3I6I2ZmZjtjdXJzb3I6cG9pbnRlcjtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eToxO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93OjAgMCAxNnB4IHJnYmEoMCwwLDAsLjUpO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS55dHAtaXYtdmlkZW8tY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWl2LXZpZGVvLWNvbnRlbnQgLnZpZGVvLWFubm90YXRpb25ze2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDt3aWR0aDoxMDAlfS5hbm5vdGF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiMwMDA7cGFkZGluZzo1cHg7dGV4dC1hbGlnbjpsZWZ0O3dvcmQtd3JhcDpicmVhay13b3JkO3otaW5kZXg6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnZpZGVvLWxlZ2FjeS1hbm5vdGF0aW9ucyAuYW5ub3RhdGlvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MTZweDtsZWZ0OjA7b3BhY2l0eTouODU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTZweH0uYW5ub3RhdGlvbi1jbG9zZS1idXR0b246aG92ZXJ7b3BhY2l0eToxfS5hbm5vdGF0aW9uLWxpbmstaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtc2l6ZTpjb250YWluO3Bvc2l0aW9uOmFic29sdXRlfS5hbm5vdGF0aW9uLXR5cGUtY3VzdG9te3BhZGRpbmc6MDtjdXJzb3I6ZGVmYXVsdH0uYW5ub3RhdGlvbi10eXBlLWN1c3RvbT5kaXZ7ZmxvYXQ6bGVmdDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5pdi1jbGljay10YXJnZXR7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLml2LWJyYW5kaW5nLC55dHAtYWQtb3ZlcmxheS1vcGVuIC5pdi1wcm9tb3tkaXNwbGF5Om5vbmV9Lml2LWJyYW5kaW5ne2JvdHRvbTowO3JpZ2h0OjA7ei1pbmRleDozMDtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4zM3M7dHJhbnNpdGlvbi1kZWxheTouMzNzfS55dHAtaXYtZHJhd2VyLW9wZW4gLml2LWJyYW5kaW5ne29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1vdXRlcntib3R0b206MDtmbG9hdDpsZWZ0O3BhZGRpbmctcmlnaHQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtYnJhbmRpbmcgLmJyYW5kaW5nLWNvbnRleHQtY29udGFpbmVyLWlubmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym90dG9tOjA7Y29sb3I6I2VlZTttYXgtd2lkdGg6MjQ2cHg7b3BhY2l0eTowO3JpZ2h0OjA7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci1yYWRpdXM6OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtYnJhbmRpbmctYWN0aXZlIC5icmFuZGluZy1jb250ZXh0LWNvbnRhaW5lci1pbm5lcntvcGFjaXR5OjE7Ym9yZGVyLXJhZGl1czo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVyIGltZ3tkaXNwbGF5OmJsb2NrO29wYWNpdHk6Ljc7cG9zaXRpb246cmVsYXRpdmV9Lml2LWJyYW5kaW5nIC5icmFuZGluZy1pbWctY29udGFpbmVye2Zsb2F0OnJpZ2h0fS5pdi1icmFuZGluZyBpbWcuaXYtY2xpY2stdGFyZ2V0OmhvdmVye29wYWNpdHk6MX0uaXYtYnJhbmRpbmcgLml2LWJyYW5kaW5nLWNvbnRleHQtbmFtZXttYXgtd2lkdGg6MjE1cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW47cGFkZGluZzoxMHB4IDEwcHggNXB4fS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmV7cGFkZGluZzowIDEwcHggMTBweDtmb250LXNpemU6MTFweDtjb2xvcjojYWFhfS5pdi1icmFuZGluZyAuaXYtYnJhbmRpbmctY29udGV4dC1zdWJzY3JpYmUtY2FyZXR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHQgLml2LWJyYW5kaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lml2LXByb21vLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucywuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmRpdiwuaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHh9Lml2LXByb21ve2JvdHRvbTo2MXB4O2xlZnQ6MDt6LWluZGV4OjMxO21heC13aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2NjYztmb250LXNpemU6MTFweDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLml2LXByb21ve2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLml2LXByb21ve2JvdHRvbTo3MHB4fS5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjg2cHh9Lnl0cC1lbWJlZC5odG1sNS12aWRlby1wbGF5ZXIuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjc4cHh9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYmlnLW1vZGUuYWQtc2hvd2luZyAuaXYtcHJvbW97Ym90dG9tOjk1cHh9Lml2LXByb21vOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cz5hLC5pdi1wcm9tbyAuaXYtcHJvbW8tY29udGVudHM+ZGl2LC5pdi1wcm9tbz5kaXZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzPmF7Y29sb3I6I2NjY30uaXYtcHJvbW8uaXYtcHJvbW8taW5hY3RpdmV7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1ne2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWltZywuaXYtcHJvbW8gLml2LXByb21vLWltZyBpbWd7ei1pbmRleDoxO3dpZHRoOjQwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHAsLml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZywuaXYtcHJvbW8gLml2LXByb21vLWltZyAuaXYtcHJvbW8tcGxheWxpc3QtbGVuZ3RoLC5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby1iYWRnZS1saXZle21hcmdpbjo0cHggOHB4IDA7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JhY2tncm91bmQtY29sb3I6I2U2MjExNztjb2xvcjojZmZmfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGgsLml2LXByb21vIC5pdi1wcm9tby1pbWcgLml2LXByb21vLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlfS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby1wbGF5bGlzdC1sZW5ndGh7dG9wOjA7cmlnaHQ6MDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMjUpO3dpZHRoOjMwcHg7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDo0MHB4fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nIC5pdi1wcm9tby12aWRlby1kdXJhdGlvbntib3R0b206MnB4O3JpZ2h0OjJweDtwYWRkaW5nOjNweCAycHg7bWF4LXdpZHRoOjMycHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEwcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLXJpZ2h0OjMxcHg7d2lkdGg6MTAwJTttYXgtd2lkdGg6MzExcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1heC13aWR0aCAuMnMgZWFzZS1vdXQscGFkZGluZy1yaWdodCAuMnMgZWFzZS1vdXQ7dHJhbnNpdGlvbjptYXgtd2lkdGggLjJzIGVhc2Utb3V0LHBhZGRpbmctcmlnaHQgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3twYWRkaW5nLWxlZnQ6NDBweDttYXgtd2lkdGg6MzUxcHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tYnV0dG9uLWNvbnRhaW5lciwuaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7ZGlyZWN0aW9uOmx0cjttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgcHttYXJnaW46M3B4IDhweCAtNHB4O2xpbmUtaGVpZ2h0OjE4cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IHN0cm9uZ3tjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMnB4fS5pdi1wcm9tby10eHQgcCBzcGFuLC5pdi1wcm9tby10eHQgcCBzdHJvbmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjI2NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1wcm9tby13aXRoLWJ1dHRvbiAuaXYtcHJvbW8tdHh0IHAgc3BhbiwuaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLXR4dCBwIHN0cm9uZ3ttYXgtd2lkdGg6MTg0cHh9Lml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHNwYW4sLml2LXByb21vLXR4dCBwOmZpcnN0LWNoaWxkIHN0cm9uZ3ttYXJnaW4tYm90dG9tOi02cHh9Lml2LXByb21vIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MjBweDttYXgtd2lkdGg6MjQ0cHg7Y29sb3I6I2ZmZDEwMH0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtyaWdodDowO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtcHJvbW8gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQ6aG92ZXIgLml2LXByb21vLWxpbms6YWZ0ZXJ7b3BhY2l0eToxfS5pdi1wcm9tby1idXR0b24tY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjMxcHh9Lml2LWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjhweDtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O3BhZGRpbmc6MCAxMHB4O291dGxpbmU6MDtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxMXB4O3RleHQtZGVjb3JhdGlvbjpub25lO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO2xpbmUtaGVpZ2h0Om5vcm1hbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y3Vyc29yOnBvaW50ZXI7Km92ZXJmbG93OnZpc2libGU7Ym9yZGVyLXJhZGl1czoycHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLC4wNSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5pdi1idXR0b246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWJ1dHRvbjpmb2N1cywuaXYtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KTtib3gtc2hhZG93OjAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjQpfS5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzLC5uby1mb2N1cy1vdXRsaW5lIC55dC11aXgtYnV0dG9uOmZvY3VzOmhvdmVyey13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0uaXYtYnV0dG9uOjotbW96LWZvY3VzLWlubmVye2JvcmRlcjowO3BhZGRpbmc6MH0uaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7b3BhY2l0eTouNTtjdXJzb3I6YXV0bzstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9Lml2LWJ1dHRvbiwuaXYtYnV0dG9uW2Rpc2FibGVkXSwuaXYtYnV0dG9uW2Rpc2FibGVkXTphY3RpdmUsLml2LWJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsLml2LWJ1dHRvbltkaXNhYmxlZF06aG92ZXJ7Ym9yZGVyLWNvbG9yOiMxNjdhYzY7YmFja2dyb3VuZDojMTY3YWM2O2NvbG9yOiNmZmZ9Lml2LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kOiMxMjZkYjN9Lml2LWJ1dHRvbjphY3RpdmV7YmFja2dyb3VuZDojMDk1Yjk5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDAsMCwwLC41KX0uaXYtYnV0dG9uIC5pdi1idXR0b24tY29udGVudHtkaXNwbGF5OmlubGluZTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc31hLml2LWJ1dHRvbjphZnRlcntjb250ZW50OiIiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTAwJX0uaXYtcHJvbW8tYnV0dG9ue3dpZHRoOjY0cHg7bWFyZ2luOjZweCA4cHh9Lml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2UsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmR7dG9wOjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnN7d2lkdGg6MzFweH0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tZXhwYW5ke2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLW91dDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2Utb3V0fS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXIsLml2LXByb21vIC5pdi1wcm9tby1hY3Rpb25zIC5pdi1wcm9tby1leHBhbmQ6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2V7b3BhY2l0eToxfS5pdi1wcm9tbyAuaXYtcHJvbW8tYWN0aW9ucyAuaXYtcHJvbW8tY2xvc2U6YWZ0ZXJ7bWFyZ2luOjE2cHggMTBweCAxNXB4IDEycHg7b3BhY2l0eTouNX0uaXYtcHJvbW8gLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZDphZnRlcnttYXJnaW46MTZweCAxMnB4IDE1cHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcsLml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcgaW1ne3dpZHRoOjcxcHh9Lml2LXByb21vLml2LXByb21vLXZpZGVvIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctbGVmdDo3MXB4O21heC13aWR0aDozODJweH0uaXYtcHJvbW8uaXYtcHJvbW8td2l0aC1idXR0b24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZy1yaWdodDo4MHB4fS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWNsb3NlLC5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWFjdGlvbnMgLml2LXByb21vLWV4cGFuZCwuaXYtcHJvbW8uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1jb250ZW50c3std2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjVzO3RyYW5zaXRpb24tZGVsYXk6LjVzfS5pdi1wcm9tby5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MjhweDttYXgtd2lkdGg6MCFpbXBvcnRhbnR9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aXtsZWZ0OjE2cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHtwYWRkaW5nLWxlZnQ6NjBweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2xpbmUtaGVpZ2h0OjY0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSwueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cz5hLC55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NjRweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1idXR0b257bWluLXdpZHRoOjExMHB4O2hlaWdodDozNnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZ3t0b3A6NnB4O2xlZnQ6NnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWltZywueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1pbWcgaW1ne2hlaWdodDo1MnB4O3dpZHRoOjUycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7Zm9udC1zaXplOjE2cHg7cGFkZGluZy10b3A6NHB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbntmb250LXNpemU6MTVweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtbGFyZ2VyLXVpIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjEycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttaW4td2lkdGg6MjIwcHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLWxhcmdlci11aSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjM4cHg7bGVmdDo0MnB4fS55dHAtbGFyZ2Utd2lkdGgtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1sYXJnZXItdWkgLml2LXByb21vLWJ1dHRvbnttYXJnaW46MCAxMnB4IDAgMH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbnt0ZXh0LWFsaWduOmxlZnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtsZWZ0OjEycHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1nKy5pdi1wcm9tby1jb250ZW50c3ttYXgtd2lkdGg6NDAwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjA7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjVzLG1heC13aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOndpZHRoIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC41cyxtYXgtd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWcrLml2LXByb21vLWNvbnRlbnRzey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouNXM7dHJhbnNpdGlvbi1kZWxheTouNXN9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ246aG92ZXIgLml2LXByb21vLWNvbnRlbnRze2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLWNvbnRlbnRze3BhZGRpbmctcmlnaHQ6MH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dHttYXgtd2lkdGg6MjUwcHg7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWxlZnQ6NTJweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBwe2xpbmUtaGVpZ2h0OjE2cHg7bWFyZ2luLXRvcDowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b24tY29udGFpbmVye2RpcmVjdGlvbjpsdHI7bWF4LXdpZHRoOjE1MHB4O2xpbmUtaGVpZ2h0OjU2cHg7cG9zaXRpb246c3RhdGljfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1idXR0b257bWF4LXdpZHRoOjE0MHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3dpZHRoOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbjowIDhweCAwIDB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWFjdGlvbnMsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbms6YWZ0ZXJ7ZGlzcGxheTpub25lfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduLC5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cywuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+ZGl2e2RpcmVjdGlvbjpsdHI7aGVpZ2h0OjU2cHh9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZ3toZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3RvcDo0cHg7bGVmdDo0cHg7b3ZlcmZsb3c6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQ4cHg7d2lkdGg6NDhweH0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1jb2xsYXBzZWQgLml2LXByb21vLXJvdW5kLWV4cGFuZC1pY29ue29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjlzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nLWxlZnQ6MDt6LWluZGV4Ojg1MDtoZWlnaHQ6MThweDt3aWR0aDoxOHB4O2JvcmRlci1yYWRpdXM6NTAlO3RvcDozNHB4O2xlZnQ6MzhweDtiYWNrZ3JvdW5kLWNvbG9yOiM0Njg4ZjE7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAycHggMCByZ2JhKDAsMCwwLC4xMiksMCAycHggMnB4IDAgcmdiYSgwLDAsMCwuMjQpO2JveC1zaGFkb3c6MCAwIDJweCAwIHJnYmEoMCwwLDAsLjEyKSwwIDJweCAycHggMCByZ2JhKDAsMCwwLC4yNCk7b3BhY2l0eTowfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1yb3VuZC1leHBhbmQtaWNvbjphZnRlcntkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiJ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgc3Ryb25ne2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmctdG9wOjJweDtjb2xvcjojMzMzfS5pdi1wcm9tby13ZWJzaXRlLWNhcmQtY3RhLXJlZGVzaWduIC5pdi1wcm9tby1jb250ZW50cyAuaXYtcHJvbW8tdHh0IC5pdi1wcm9tby1saW5re3BhZGRpbmc6OHB4IDIwcHggMCAwO2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiM3Njc2NzZ9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWNvbnRlbnRze3dpZHRoOjB9Lml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUsLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8taW5hY3RpdmUgLml2LXByb21vLWltZ3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAlKX0uaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbi5pdi1wcm9tby1pbmFjdGl2ZSAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzLC55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHM+YSwueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzPmRpdntoZWlnaHQ6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZywueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWltZyBpbWd7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHR7cGFkZGluZzo0cHggNHB4IDRweCA0MHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tY29udGVudHMgLml2LXByb21vLXR4dCBzdHJvbmd7cGFkZGluZy10b3A6MDtmb250LXNpemU6MTJweH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWNvbnRlbnRzIC5pdi1wcm9tby10eHQgLml2LXByb21vLWxpbmt7cGFkZGluZy10b3A6NHB4O2ZvbnQtc2l6ZToxMXB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8tcm91bmQtZXhwYW5kLWljb257dG9wOjI2cHg7bGVmdDozMHB4fS55dHAtc21hbGwtbW9kZSAuaXYtcHJvbW8td2Vic2l0ZS1jYXJkLWN0YS1yZWRlc2lnbiAuaXYtcHJvbW8taW1ne3RvcDowO2xlZnQ6MH0ueXRwLXNtYWxsLW1vZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24gLml2LXByb21vLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGUgLml2LXByb21vLXdlYnNpdGUtY2FyZC1jdGEtcmVkZXNpZ24uaXYtcHJvbW8tY29sbGFwc2VkIC5pdi1wcm9tby1pbWd7b3BhY2l0eTouODstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSkgLjhzfS5pdi1kcmF3ZXIsLml2LWRyYXdlci1jb250ZW50LC5pdi1kcmF3ZXItaGVhZGVye3Bvc2l0aW9uOmFic29sdXRlfS5pdi1kcmF3ZXJ7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDt6LWluZGV4OjMzO3dpZHRoOjE3N3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMik7Y29sb3I6I2ZmZjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0uaXYtZHJhd2VyLXNtYWxsLml2LWRyYXdlcnt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZy5pdi1kcmF3ZXJ7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MjRweDt3aWR0aDoyOTVweH1bZGlyPWx0cl0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTc3cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDE3N3B4KX1bZGlyPXJ0bF0gLml2LWRyYXdlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNzdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE3N3B4KX0ueXRwLWF1dG9oaWRlLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1hdXRvaGlkZS1hY3RpdmUpLnl0cC1lbWJlZC1vdmVybGF5cy1hdXRvaGlkZSAuaXYtZHJhd2Vye2Rpc3BsYXk6bm9uZX0uaXYtZHJhd2VyLWNvbnRlbnQgKnt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1pdi1kcmF3ZXItb3BlbiAuaXYtZHJhd2Vyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0uaXYtZHJhd2VyLWhlYWRlcnt0b3A6MDtwYWRkaW5nOjE2cHggMzJweCAwIDE2cHg7d2lkdGg6MTc3cHg7aGVpZ2h0OjQxcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjlweCAyNHB4IDAgMTJweDtoZWlnaHQ6MjhweDt3aWR0aDoxMzNweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWhlYWRlcntwYWRkaW5nOjIwcHggNDhweCAwIDMycHg7aGVpZ2h0OjY0cHg7d2lkdGg6Mjk1cHh9Lml2LWRyYXdlci1oZWFkZXItdGV4dHtmb250LXdlaWdodDo1MDA7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30uaHRtbDUtdmlkZW8tcGxheWVyIC5pdi1kcmF3ZXItaGVhZGVyey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uaXYtZHJhd2VyLWNvbnRlbnR7dG9wOjQxcHg7Ym90dG9tOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgdHJhbnNwYXJlbnQ7cGFkZGluZzowIDE2cHg7d2lkdGg6MTQ1cHg7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2RpcmVjdGlvbjpsdHI7dGV4dC1hbGlnbjpsZWZ0fS5pdi1kcmF3ZXItc21hbGwgLml2LWRyYXdlci1jb250ZW50e3BhZGRpbmc6MCAxMnB4O3RvcDoyOHB4O3dpZHRoOjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1kcmF3ZXItY29udGVudHtwYWRkaW5nOjAgMzJweDt0b3A6NjRweDt3aWR0aDoyMzFweH0uaXYtZHJhd2VyLXNjcm9sbGVkIC5pdi1kcmF3ZXItY29udGVudHtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNCl9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhcntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3dpZHRoOjE2cHh9Lml2LWRyYXdlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntib3JkZXI6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6OHB4O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAyLDEwMiwxMDIsLjUpfS5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWF1dG9oaWRlIC5pdi1kcmF3ZXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uaXYtZHJhd2VyLWNvbnRlbnQ6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzY2NiFpbXBvcnRhbnR9Lml2LWRyYXdlci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtwYWRkaW5nOjE2cHg7b3BhY2l0eTouNzU7Y3Vyc29yOnBvaW50ZXJ9Lml2LWRyYXdlci1zbWFsbCAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjhweH0uaXYtZHJhd2VyLWJpZyAuaXYtZHJhd2VyLWNsb3NlLWJ1dHRvbntwYWRkaW5nOjI0cHh9Lml2LWRyYXdlci1jbG9zZS1idXR0b246YWZ0ZXJ7ZGlzcGxheTpibG9jaztjb250ZW50OiIifS5pdi1kcmF3ZXItY2xvc2UtYnV0dG9uOmhvdmVye29wYWNpdHk6MX0uaXYtY2FyZCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldCwuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpmb2N1cywuaXYtY2FyZCBhLml2LWNsaWNrLXRhcmdldDpob3ZlcntkaXNwbGF5OmJsb2NrO2NvbG9yOiM3Njc2NzY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lml2LWNhcmR7bWFyZ2luLWJvdHRvbToxNnB4O3dpZHRoOjE0NXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7d29yZC13cmFwOmJyZWFrLXdvcmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4yKTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXJhZGl1czo4cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZHt3aWR0aDoxMDlweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZHt3aWR0aDoyMzFweH0uaXYtY2FyZDpob3ZlciAuaXYtY2FyZC1wcmltYXJ5LWxpbmt7Y29sb3I6IzE2N2FjNiFpbXBvcnRhbnR9Lml2LWNhcmQgaDIsLml2LWNhcmQtYWN0aW9ue2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53ZWJraXQgLml2LWNhcmQgaDI6YWZ0ZXIsLndlYmtpdCAuaXYtY2FyZC1hY3Rpb246YWZ0ZXJ7Y29udGVudDoi4oCMIjtwb3NpdGlvbjpzdGF0aWM7dmlzaWJpbGl0eTpoaWRkZW59Lml2LWNhcmQgaDJ7bWFyZ2luOjAgMCA4cHg7LXdlYmtpdC1saW5lLWNsYW1wOjY7bWF4LWhlaWdodDo5MHB4O2NvbG9yOiMzMzM7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZCBoMntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NzJweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZCBoMntmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoyNHB4O21heC1oZWlnaHQ6MTQ0cHh9Lml2LWNhcmQgLml2LWNhcmQtYWN0aW9uLC5pdi1jYXJkIC5pdi1jYXJkLW1ldGEtaW5mbywuaXYtY2FyZCBwe21hcmdpbjotNnB4IDAgMnB4fS5pdi1jYXJkLW1ldGEtaW5mb3tsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowfS5pdi1jYXJkLWltYWdle3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlMmUyZTI7d2lkdGg6MTQ1cHg7aGVpZ2h0OjE0NXB4O2JhY2tncm91bmQ6I2YxZjFmMSBuby1yZXBlYXQgNTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtjb2xvcjojZmZmfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2V7d2lkdGg6MTA5cHg7aGVpZ2h0OjEwOXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWltYWdle3dpZHRoOjIzMXB4O2hlaWdodDoyMzFweH0uaXYtY2FyZC1pbWFnZS10ZXh0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3BhZGRpbmc6MjBweCAxMHB4IDhweDt3aWR0aDoxMDAlO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHRyYW5zcGFyZW50LHJnYmEoMCwwLDAsLjYpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCx0cmFuc3BhcmVudCksdG8ocmdiYSgwLDAsMCwuNikpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQgMCxyZ2JhKDAsMCwwLC42KSk7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtaW1hZ2UtdGV4dHtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1pbWFnZS10ZXh0e2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIwcHg7cGFkZGluZzoxMnB4IDE2cHh9Lml2LWNhcmQtaW1hZ2UtdGV4dCAueXQtYmFkZ2V7bWFyZ2luLXJpZ2h0OjVweH0uaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6OHB4IDEwcHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6NnB4IDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1jb250ZW50e3BhZGRpbmc6MTJweCAxNnB4fS5pdi1jYXJkLWNvbnRlbnQ+OmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0uaXYtY2FyZC1jb250ZW50PjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uaXYtY2FyZC1hY3Rpb24sLml2LWNhcmQtbWVzc2FnZXtmb250LXdlaWdodDo1MDB9Lml2LWNhcmQtbWVzc2FnZXttYXJnaW4tYm90dG9tOjhweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTJlMmUyO3BhZGRpbmctYm90dG9tOjhweH0uaXYtY2FyZC1hY3Rpb257LXdlYmtpdC1saW5lLWNsYW1wOjQ7bWF4LWhlaWdodDo1MnB4O3doaXRlLXNwYWNlOm5vd3JhcH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWFjdGlvbntmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxMnB4O21heC1oZWlnaHQ6NDhweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1hY3Rpb257Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjBweDttYXgtaGVpZ2h0OjgwcHh9Lml2LWNhcmQtYWN0aW9uIHNwYW57d2hpdGUtc3BhY2U6bm9ybWFsfS5pdi1jYXJkLWFjdGlvbi1pY29ue3BhZGRpbmc6MCAwIDAgMzBweDttaW4taGVpZ2h0OjE0cHg7YmFja2dyb3VuZC1wb3NpdGlvbjowO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyNHB4IGF1dG87YmFja2dyb3VuZC1zaXplOjI0cHggYXV0b30uaXYtY2FyZC1saW5rLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2t9Lml2LWNhcmQtZXBpc29kZSBoMiwuaXYtY2FyZC1tb3ZpZSBoMiwuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtY2FyZC12aWRlbyBoMnstd2Via2l0LWxpbmUtY2xhbXA6MzttYXgtaGVpZ2h0OjQ1cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtbW92aWUgaDIsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wbGF5bGlzdCBoMiwuaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6MzZweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLW1vdmllIGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IGgyLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIGgye21heC1oZWlnaHQ6NzJweH0uaXYtY2FyZC1jaGFubmVsIGgyey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6MzBweH0uaXYtZHJhd2VyLXNtYWxsIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDoyNHB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLWNoYW5uZWwgaDJ7bWF4LWhlaWdodDo0OHB4fS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5pdi1jYXJkLWVwaXNvZGUgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWNhcmQtdmlkZW8gLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjgycHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItc21hbGwgLml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2UsLml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC12aWRlbyAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6NjFweH0uaXYtZHJhd2VyLWJpZyAuaXYtY2FyZC1lcGlzb2RlIC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBsYXlsaXN0IC5pdi1jYXJkLWltYWdlLC5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXZpZGVvIC5pdi1jYXJkLWltYWdle2hlaWdodDoxMjlweH0uaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MjA5cHh9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1tb3ZpZSAuaXYtY2FyZC1pbWFnZXtoZWlnaHQ6MTU3cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtbW92aWUgLml2LWNhcmQtaW1hZ2V7aGVpZ2h0OjMzNXB4fS5pdi1jYXJkLXZpZGVvLWR1cmF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo1cHg7cmlnaHQ6NXB4O3BhZGRpbmc6MnB4IDRweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lml2LWNhcmQtcGxheWxpc3QgLml2LWNhcmQtaW1hZ2Utb3ZlcmxheXtkaXNwbGF5OnRhYmxlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NjNweDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpO2NvbG9yOiNjZmNmY2Y7Zm9udC1zaXplOjIwcHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xpbmUtaGVpZ2h0OjIxcHh9Lml2LWNhcmQtcGxheWxpc3QtdmlkZW8tY291bnR7ZGlzcGxheTp0YWJsZS1jZWxsO3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaXYtY2FyZC1wbGF5bGlzdC12aWRlby1jb3VudDphZnRlcntkaXNwbGF5OmJsb2NrO21hcmdpbjphdXRvO29wYWNpdHk6LjU7Y29udGVudDoiIn0uaXYtY2FyZC1wb2xse3Bvc2l0aW9uOnJlbGF0aXZlfS5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjEyNXB4O2xpc3Qtc3R5bGU6bm9uZTttYXJnaW46MDtwYWRkaW5nOjB9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wb2xsIHVse21heC13aWR0aDo4OXB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXBvbGwgdWx7bWF4LXdpZHRoOjIxMXB4fS5pdi1jYXJkLXBvbGwgZmllbGRzZXR7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowfS5pdi1jYXJkLXBvbGwgbGFiZWx7ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcjtwYWRkaW5nLWJvdHRvbTo1cHg7bWluLWhlaWdodDoxNHB4O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAwIHRvcCA1cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNDFOQ0lnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OEwzTjJaejQ9KTtjb2xvcjpyZ2JhKDAsMCwwLC44Nyk7LXdlYmtpdC10cmFuc2l0aW9uOmNvbG9yIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Y29sb3IgLjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAuaXYtY2FyZC1wb2xsIGxhYmVsLml2LWNhcmQtcG9sbC1jaG9pY2UtZm9jdXNlZHstd2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuNCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC40KX0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC12b3RlZCBsYWJlbHtjb2xvcjpyZ2JhKDAsMCwwLC41NCl9Lml2LWNhcmQtcG9sbC5pdi1jYXJkLXBvbGwtdm90ZWQgbGFiZWwuaXYtY2FyZC1wb2xsLWNob2ljZS1jaGVja2Vke2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE55SWdhR1ZwWjJoMFBTSXhOeUkrUEdOcGNtTnNaU0JqZUQwaU9DNDFJaUJqZVQwaU9DNDFJaUJ5UFNJM0xqWWlJR1pwYkd3OUltNXZibVVpSUhOMGNtOXJaVDBpSXpFMk4yRmpOaUlnYzNSeWIydGxMWGRwWkhSb1BTSXhMamdpTHo0OFkybHlZMnhsSUdONFBTSTRMalVpSUdONVBTSTRMalVpSUhJOUlqUXVNak1pSUdacGJHdzlJaU14TmpkaFl6WWlMejQ4TDNOMlp6ND0pO2NvbG9yOnJnYmEoMCwwLDAsLjg3KX0uaXYtY2FyZC1wb2xsIGlucHV0W3R5cGU9Y2hlY2tib3hde29wYWNpdHk6MDt3aWR0aDoxN3B4O2hlaWdodDoxN3B4O21hcmdpbjo1cHggMCAwO2Zsb2F0OmxlZnR9Lml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWxlZnQ6MjVweDtwYWRkaW5nLXRvcDo4cHh9Lml2LWRyYXdlci1iaWcgLml2LWNhcmQtcG9sbCAuaXYtY2FyZC1wb2xsLWNob2ljZS10ZXh0e3BhZGRpbmctdG9wOjJweH0uaXYtY2FyZC1wb2xsIGxpK2xpe21hcmdpbi10b3A6OHB4fS5pdi1jYXJkLXBvbGwgLml2LWNhcmQtcG9sbC1yZXN1bHR7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O2JhY2tncm91bmQtY29sb3I6I2RmZGZkZjt2aXNpYmlsaXR5OmhpZGRlbn0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtcmVzdWx0IC5pdi1jYXJkLXBvbGwtcmVzdWx0LWJhcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzE2N2FjNjstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LW1zLXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS5pdi1jYXJkLXBvbGwuaXYtY2FyZC1wb2xsLWV4cGFuZGVkIC5pdi1jYXJkLXBvbGwtcmVzdWx0e3Zpc2liaWxpdHk6dmlzaWJsZX0uaXYtY2FyZC1wb2xsIC5pdi1jYXJkLXBvbGwtY2hvaWNlLXBlcmNlbnR7ZGlzcGxheTpub25lO2Zsb2F0OnJpZ2h0O21hcmdpbi1sZWZ0OjVweH0uaXYtY2FyZC1wb2xsLml2LWNhcmQtcG9sbC1leHBhbmRlZCAuaXYtY2FyZC1wb2xsLWNob2ljZS1wZXJjZW50e2Rpc3BsYXk6YmxvY2t9Lml2LWNhcmQtc2lnbi1pbnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cGFkZGluZzo4cHggMTBweH0uaXYtY2FyZC1zaWduLWluIHB7bWFyZ2luOjAgMCA4cHh9Lml2LWNhcmQtc2lnbi1pbiBhe2NvbG9yOiNmZmZ9Lml2LWNhcmQtdW5hdmFpbGFibGU6aG92ZXIgLml2LWNhcmQtY29udGVudCwuaXYtY2FyZC11bmF2YWlsYWJsZTpob3ZlciAuaXYtY2xpY2stdGFyZ2V0e3Zpc2liaWxpdHk6aGlkZGVufS5pdi1jYXJkLXVuYXZhaWxhYmxlOmhvdmVyIC5pdi1jYXJkLXNpZ24taW57dmlzaWJpbGl0eTp2aXNpYmxlfS5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyLC5pdi1jYXJkLXNwb25zb3JlZHtwb3NpdGlvbjpyZWxhdGl2ZX0uaXYtY2FyZC1zcG9uc29yZWR7bWFyZ2luOjAgMCA4cHg7Y29sb3I6Izk5OX0uaXYtYWQtaW5mby1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NnB4fS5pdi1hZC1pbmZvLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweH0uaXYtYWQtaW5mb3tib3R0b206MjFweDtsZWZ0OjA7cmlnaHQ6MDtib3JkZXI6MXB4IHNvbGlkICMwMDA7cGFkZGluZzo3cHg7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEycHh9Lml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGEsLml2LWFkLWluZm8tY29udGFpbmVyIC5pdi1hZC1pbmZvIGE6aG92ZXJ7Y29sb3I6IzE2N2FjNn0uaXYtYWQtaW5mby1jb250YWluZXIgLml2LWFkLWluZm8gYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7bGVmdDowO2JvcmRlci1sZWZ0OjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6NXB4IHNvbGlkO3dpZHRoOjA7aGVpZ2h0OjB9Lml2LWFkLWluZm8tY2FsbG91dHtib3R0b206MTZweDtib3JkZXItdG9wLWNvbG9yOiMwMDB9Lml2LWFkLWluZm8taWNvbi1jb250YWluZXI6YWZ0ZXJ7Y29udGVudDoiIjtib3R0b206MTdweDtib3JkZXItdG9wLWNvbG9yOiNmZmZ9Lml2LWFkLWluZm8sLml2LWFkLWluZm8tY2FsbG91dCwuaXYtYWQtaW5mby1pY29uLWNvbnRhaW5lcjphZnRlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyAuMXM7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIC4xc30uaXYtYWQtaW5mby1jb250YWluZXI6aG92ZXIgLml2LWFkLWluZm8sLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWNhbGxvdXQsLml2LWFkLWluZm8tY29udGFpbmVyOmhvdmVyIC5pdi1hZC1pbmZvLWljb24tY29udGFpbmVyOmFmdGVye3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30uaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7LXdlYmtpdC1saW5lLWNsYW1wOjM7bWF4LWhlaWdodDo0NXB4O2NvbG9yOiM2NjZ9Lml2LWRyYXdlci1zbWFsbCAuaXYtY2FyZC1wcm9kdWN0LWxpc3RpbmcgaDJ7bWF4LWhlaWdodDozNnB4fS5pdi1kcmF3ZXItYmlnIC5pdi1jYXJkLXByb2R1Y3QtbGlzdGluZyBoMnttYXgtaGVpZ2h0OjcycHh9Lml2LWNhcmQtb2ZmZXItcHJpY2V7bWFyZ2luLWJvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHg7Y29sb3I6IzMzM30uaXYtY2FyZC1vZmZlci1tZXJjaGFudHtjb2xvcjojMDk3YTQxfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNjBweDtoZWlnaHQ6Y2FsYygxMDAlIC0gMzlweCk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjAgYXV0bzt6LWluZGV4OjM3fS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e3dpZHRoOjEwMCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXstLXcydy1zdGFydC1iYWNrZ3JvdW5kLWNvbG9yOiMwMDA7LS13MnctZW5kLWJhY2tncm91bmQtY29sb3I6IzAwMDtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6MTBweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjI0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNvdW50ZG93bi1udW1iZXJ7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXItb25seSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KTtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LW5vLWFsdGVybmF0aXZlLWhlYWRlciAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoyNHB4O21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgIzRjNGM0Yzstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjM2MHB4O2hlaWdodDoyMDJweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsOmhvdmVyLC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGw6aG92ZXJ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtib3R0b206NHB4O3JpZ2h0OjRweDtwYWRkaW5nOjAgNHB4O2JvcmRlci1yYWRpdXM6MnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtjb2xvcjojZmZmO3Bvc2l0aW9uOmFic29sdXRlO2xldHRlci1zcGFjaW5nOi41cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtbGlzdC1vdmVybGF5e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbG9hdDpyaWdodDt3aWR0aDo0MCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtbWl4LXRleHR7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDtmb250LXdlaWdodDo1MDA7bWFyZ2luLXRvcDozMCV9Lnl0cC1hdXRvbmF2LW1peC1pY29ue3dpZHRoOjQyJTtoZWlnaHQ6MzAlO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCMmFXVjNRbTk0UFNJd0lEQWdNellnTXpZaVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkzbDBjQzF6ZG1jdGJXbDRJaUJ6ZEhKdmEyVTlJaU13TURBaUlITjBjbTlyWlMxdmNHRmphWFI1UFNJdU1UVWlJSE4wY205clpTMTNhV1IwYUQwaU1pSXZQanh3WVhSb0lHbGtQU0o1ZEhBdGMzWm5MVzFwZUNJZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRJMUxqWTFJREU0WXkwdU1ESWdNaTR6TVMwdU9EY2dOQzQwTVMweUxqSTFJRFl1TURac0xqa3VPVFJqTVM0Mk9TMHhMamdnTWk0M0xUUXVNamNnTWk0M0xUZHpMVEV1TURFdE5TNHlNUzB5TGpjdE4yd3RMamt1T1ROQk9TNDFOQ0E1TGpVMElEQWdNQ0F4SURJMUxqWTFJREU0YlMweE5TNHpJREJqTGpBeExUSXVNekl1T0RZdE5DNDBNaUF5TGpJMUxUWXVNRGRzTFM0NUxTNDVNME14TUNBeE1pNDNPU0E1SURFMUxqSTNJRGtnTVRoek1TQTFMaklnTWk0M0lEZHNMamt0TGprMFl5MHhMak01TFRFdU5qVXRNaTR5TkMwekxqYzFMVEl1TWpVdE5pNHdObTB5TGpjZ01HTXRMakEwTFRFdU56TXVORGt0TXk0d09TQXhMak0xTFRRdU1td3RMamt0TGprMFl5MHhMakV6SURFdU1qWXRNUzQ0SURJdU9Ua3RNUzQ0SURVdU1UUWdNQ0F4TGpZM0xqWTNJRE11TkNBeExqZ2dOQzQyTm13dU9TMHVPVE5qTFM0NE5pMHhMakV5TFRFdU16a3RNaTQwTnkweExqTTFMVE11TnpOdE9TMDFMakUwTFM0NUxqazBZeTQ0TlNBeExqRXhJREV1TXpnZ01pNDBOeUF4TGpNMUlEUXVNaTR3TXlBeExqSTJMUzQxSURJdU5qRXRNUzR6TlNBekxqY3piQzQ1TGprell6RXVNVEl0TVM0eU5pQXhMamd0TWk0NU9TQXhMamd0TkM0Mk5pQXdMVEl1TVRVdExqWTRMVE11T0RndE1TNDRMVFV1TVRSdExUVXVOVFVnTWk0NElETXVOaUF4TGpnM0xUTXVOaUF5TGpNemVpSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjttYXJnaW46MCBhdXRvfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mb3ttYXJnaW4tdG9wOjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206NnB4O21hcmdpbi1sZWZ0Oi0ycHg7d2lkdGg6NzRweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSTNNQ0lnYUdWcFoyaDBQU0l4TmlJZ1ptbHNiRDBpYm05dVpTSStQSEpsWTNRZ2QybGtkR2c5SWpjd0lpQm9aV2xuYUhROUlqRTJJaUJtYVd4c1BTSWpabVptSWlCdmNHRmphWFI1UFNJdU1TSWdjbmc5SWpJaUx6NDhjR0YwYUNCbWFXeHNQU0lqWVdGaElpQmtQU0pOTWpBdU16VWdPQzQ0TTFZeE1tZ3RNUzQwT0ZZekxqUTNhRE11TWpaakxqazFJREFnTVM0M01TNHlOU0F5TGpJM0xqYzBMalUyTGpVdU9EUWdNUzR4Tmk0NE5DQXhMamszSURBZ0xqZzBMUzR5TnlBeExqUTVMUzQ0TWlBeExqazFMUzQxTlM0ME55MHhMak15TGpjdE1pNHpMamQ2YlRBdE1TNHhPV2d4TGpjNFl5NDFNeUF3SUM0NU15MHVNVElnTVM0eUxTNHpOeTR5T1MwdU1qVXVOREl0TGpZdU5ESXRNUzR3T0NBd0xTNDBOaTB1TVRRdExqZ3lMUzQwTWkweExqRmhNUzQyTWlBeExqWXlJREFnTUNBd0xURXVNVFl0TGpRemFDMHhMamd5ZW0wNUxqTTNMUzQyT0dFekxqVWdNeTQxSURBZ01DQXdMUzQxT0MwdU1EVmpMUzQyTlNBd0xURXVNRGt1TWpVdE1TNHpNUzQzTlZZeE1rZ3lOaTQwVmpVdU5qWm9NUzR6Tm13dU1EUXVOMkV4TGpZZ01TNDJJREFnTUNBeElERXVORE10TGpneVl5NHlJREFnTGpNM0xqQXpMalV1TURoMk1TNHpOSHB0TXk0MU9DQTFMakUyWXkwdU9TQXdMVEV1TmpRdExqSTVMVEl1TWkwdU9EVmhNeTR4SURNdU1TQXdJREFnTVMwdU9EUXRNaTR5T0hZdExqRTNZekF0TGpZekxqRXlMVEV1TWk0ek55MHhMamRoTWk0M01pQXlMamN5SURBZ01DQXhJREl1TlMweExqVTRZeTQ0TnlBd0lERXVOVE11TWpnZ01pQXVPRE11TkRndU5UVXVOekVnTVM0ek15NDNNU0F5TGpNMGRpNDFOMGd6TVM0M1l5NHdOQzQxTWk0eU1pNDVOQzQxTWlBeExqSTBjeTQzTGpRMklERXVNVFl1TkRaakxqWTFJREFnTVM0eE9DMHVNallnTVM0MkxTNDNPV3d1TnpZdU56TmpMUzR5TlM0ek9DMHVOaTQyT0MweExqQXlMamc1TFM0ME1pNHlMUzQ1TGpNdE1TNDBNaTR6ZW0wdExqRTNMVFV1TkROakxTNDBJREF0TGpjdU1UTXRMamsxTGpRdExqSTBMakk0TFM0MExqWTJMUzQwTmlBeExqRTFhREl1TnpKMkxTNHhZVEV1TnpJZ01TNDNNaUF3SURBZ01DMHVNemt0TVM0d09TQXhMaklnTVM0eUlEQWdNQ0F3TFM0NU1pMHVNelp0TlM0eE5pMHhMakF6TGpBMExqWTJZVEl1TWpnZ01pNHlPQ0F3SURBZ01TQXhMamd6TFM0M09HTXVPRFVnTUNBeExqUXpMak16SURFdU56UXVPVGd1TkRZdExqWTFJREV1TVRFdExqazRJREV1T1RVdExqazRMamNnTUNBeExqSXhMaklnTVM0MU5TNDFPQzR6TlM0ek9TNDFNaTQ1Tmk0MU15QXhMamN4VmpFeWFDMHhMalF5VmpjdU9EZGpNQzB1TkMwdU1Ea3RMamN0TGpJM0xTNDRPQzB1TVRjdExqRTVMUzQwTmkwdU1qZ3RMamczTFM0eU9DMHVNeklnTUMwdU5Ua3VNRGt0TGpndU1qWXRMakl1TVRjdExqTTBMalF0TGpReUxqWTRWakV5YUMweExqUXlWamN1T0ROakxTNHdNaTB1TnpVdExqUXRNUzR4TWkweExqRTBMVEV1TVRJdExqVTNJREF0TGprNExqSXpMVEV1TWpJdU4xWXhNbWd0TVM0ME1sWTFMalkyZWswME9DNDVNU0F4TW1ndE1TNDBNMVkxTGpZMmFERXVORE42VFRRM0xqUWdOQzR3TVdNd0xTNHlNaTR3TmkwdU5DNHlMUzQxTkM0eE5DMHVNVFV1TXpRdExqSXlMall0TGpJeWN5NDBOaTR3Tnk0MkxqSXlZeTR4TkM0eE5DNHlMak15TGpJdU5UUnpMUzR3Tmk0MExTNHlMalUwTFM0ek5DNHlNUzB1Tmk0eU1TMHVORFl0TGpBM0xTNDJMUzR5WVM0M05TNDNOU0F3SURBZ01TMHVNaTB1TlRWdE5pNDVJRGN1TXpkaE1pNHlJREl1TWlBd0lEQWdNUzB4TGpjNExqYzBjUzB4TGpBeUlEQXRNUzQxTmkwdU5tTXRMak0xTFM0MExTNDFNeTB4TFM0MU15MHhMamMxVmpVdU5qWm9NUzQwTTNZMExqQTVZekFnTGpndU16TWdNUzR5SURFZ01TNHlMalk1SURBZ01TNHhOaTB1TWpRZ01TNDBMUzQzTkZZMUxqWTJhREV1TkRKV01USm9MVEV1TXpSNmJUUXVNVGN0TlM0M01pNHdOQzQyTm1FeUxqSTRJREl1TWpnZ01DQXdJREVnTVM0NE15MHVOemhqTGpnMUlEQWdNUzQwTXk0ek15QXhMamMwTGprNExqUTJMUzQyTlNBeExqRXhMUzQ1T0NBeExqazFMUzQ1T0M0M0lEQWdNUzR5TVM0eUlERXVOVFV1TlRndU16VXVNemt1TlRJdU9UWXVOVE1nTVM0M01WWXhNa2cyTkM0M1ZqY3VPRGRqTUMwdU5DMHVNRGt0TGpjdExqSTNMUzQ0T0MwdU1UY3RMakU1TFM0ME5pMHVNamd0TGpnM0xTNHlPQzB1TXpJZ01DMHVOVGt1TURrdExqZ3VNall0TGpJdU1UY3RMak0wTGpRdExqUXlMalk0VmpFeWFDMHhMalF5VmpjdU9ETmpMUzR3TWkwdU56VXRMalF0TVM0eE1pMHhMakUwTFRFdU1USXRMalUzSURBdExqazRMakl6TFRFdU1qSXVOMVl4TW1ndE1TNDBNbFkxTGpZMmFERXVNelI2SWk4K1BIQmhkR2dnWm1sc2JEMGljbVZrSWlCa1BTSk5NU0F5WVRFZ01TQXdJREFnTVNBeExURm9NVE4yTVRSSU1tRXhJREVnTUNBd0lERXRNUzB4ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAyTGpVeUlEbDJNMGcwTGpjMlZqTXVORGRJT0M0eFl5NDJOQ0F3SURFdU1pNHhNaUF4TGpZNUxqTTFjeTQ0Tmk0MU55QXhMakV5SURFZ0xqUXVPVEl1TkNBeExqUTNZekFnTGpnMExTNHpJREV1TlMwdU9EY2dNUzQ1T0hFdExqZzFOUzQzTWkweUxqTTNMamN5U0RZdU5USjZiVEF0TVM0ME0yZ3hMalUzWXk0ME5pQXdJQzQ0TWkwdU1TQXhMakEyTFM0ek15NHlOUzB1TWpJdU16Y3RMalV6TGpNM0xTNDVOSE10TGpFeUxTNDNOUzB1TXpjdE1XTXRMakkxTFM0eU55MHVOVGt0TGpRdE1TNHdNaTB1TkVnMkxqVXllaUl2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXJ9LmF1dG9uYXYtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC5hdXRvbmF2LWVuZHNjcmVlbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtc3VnZ2VzdGlvbnMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxle2NvbG9yOiNmZmY7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MThweDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MjRweDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfS55dHAtYXV0b25hdi1hdXRob3ItYW5kLXZpZXcsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYXV0aG9yLC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NHB4O2NvbG9yOiNhYWE7ZGlzcGxheTotd2Via2l0LWJveDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMXB4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye3dpZHRoOjEwMCU7bWFyZ2luLXRvcDoxMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbnstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoycHg7ZGlzcGxheTppbmxpbmUtZ3JpZDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7d2lkdGg6MTc2cHg7aGVpZ2h0OjM2cHg7bGluZS1oZWlnaHQ6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyOjB9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9uLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNhbmNlbC1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtmbG9hdDpsZWZ0fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7ZmxvYXQ6cmlnaHR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyOm5vdCgueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWlzLXByZW1pdW0pIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tcHJlbWl1bS1iYWRnZXtkaXNwbGF5Om5vbmV9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtcGxheWVyLWNvbnRlbnR7Ym90dG9tOjB9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtbWluaXBsYXllci1yZXBsYXktYnV0dG9uLC5jb3VudGRvd24tcnVubmluZyAueXRwLXByZXZpZXd7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7bWFyZ2luOjQwcHggYXV0byBhdXRvIDIwcHg7d2lkdGg6MzYwcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luOjQwcHggMjBweCBhdXRvIGF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10aHVtYm5haWwtc21hbGx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjEycHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjIxcHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7bWFyZ2luLXRvcDowfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJke3dpZHRoOjM2MHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6MzYwcHg7aGVpZ2h0OjIwMnB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtbWl4LXRleHR7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDozNzRweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWwsLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlse3dpZHRoOjE4M3B4O2hlaWdodDoxMDRweDtib3JkZXItcmFkaXVzOjhweH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXRpdGxlLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4O2ZvbnQtd2VpZ2h0OjUwMH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdmlkZW8taW5mbywueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDowO3dpZHRoOjE4M3B4fS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVyLC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjEzcHh9LmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b24sLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYnV0dG9ue3dpZHRoOjE4M3B4O2hlaWdodDozNHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSA1OC41cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE1cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjIyLjVweDtsaW5lLWhlaWdodDozNnB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtYWx0ZXJuYXRpdmUtaGVhZGVye2ZvbnQtc2l6ZToxOS41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlci1vbmx5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWFsdGVybmF0aXZlLWhlYWRlcntmb250LXNpemU6MjIuNXB4O2xpbmUtaGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC10aHVtYm5haWx7d2lkdGg6NTQwcHg7aGVpZ2h0OjMwM3B4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1wcmVtaXVtLWJhZGdle21hcmdpbi1ib3R0b206OXB4O21hcmdpbi1sZWZ0Oi0zcHg7d2lkdGg6MTExcHg7aGVpZ2h0OjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXZpZGVvLWluZm97bWFyZ2luLXRvcDoxOHB4fS55dHAtYmlnLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGl0bGV7Zm9udC1zaXplOjI3cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWF1dGhvciwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjMxLjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1idXR0b257Zm9udC1zaXplOjIxcHg7d2lkdGg6MjY0cHg7aGVpZ2h0OjU0cHg7bGluZS1oZWlnaHQ6NTJweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWJ1dHRvbi5tb2Rlcm4tYnV0dG9uc3tib3JkZXItcmFkaXVzOjI3cHh9Lnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtbGl2ZS1zdGFtcCwueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10aW1lc3RhbXAsLnl0cC1iaWctbW9kZSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnt3aWR0aDo1NDBweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5e21hcmdpbjphdXRvO21hcmdpbi1yaWdodDozMHB4O2hlaWdodDo0NDRweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjMwcHg7d2lkdGg6NDMycHg7aGVpZ2h0OjQ0NHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtc3VnZ2VzdGlvbi1jYXJkLXdpdGgtbWFyZ2lue21hcmdpbi1sZWZ0OjEycHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXRodW1ibmFpbC1zbWFsbHttYXJnaW4tdG9wOjA7d2lkdGg6MjEwcHg7aGVpZ2h0OjExOHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmR7bWFyZ2luLXRvcDoxMHB4O3dpZHRoOjIxMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDoyMHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi10aXRsZS1jYXJke21hcmdpbi10b3A6MTBweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmR7bWFyZ2luLXRvcDo0cHh9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJkLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1tb3JlLXZpZGVvc3t2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXNtYWxsLW1vZGUgLnl0cC1zdWdnZXN0aW9ucy1jb250YWluZXIgLnl0cC1zdWdnZXN0aW9uLXNldDpub3QoOmZpcnN0LWNoaWxkKXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVsLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtc3VnZ2VzdGlvbi1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheSwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5ey13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2hlaWdodDpjYWxjKDEwMCUgLSAzOXB4KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLXRpbnktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5IC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1vdmVybGF5LC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtdGlueS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLW92ZXJsYXl7bWFyZ2luLXJpZ2h0OmF1dG99Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tb3ZlcmxheXttYXJnaW4tdG9wOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1saW5rLWNvbnRhaW5lcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtc3VnZ2VzdGlvbi1wYW5lbCwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tcGFuZWx7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye3dpZHRoOjM3NHB4O2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLXBsYXllci1taW5pbWl6ZWQuY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcnttYXJnaW4tdG9wOjE2cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlciwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWhlYWRlcntkaXNwbGF5Oi13ZWJraXQtYm94fS55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1hbHRlcm5hdGl2ZS1oZWFkZXJ7bWFyZ2luLXRvcDo1cHh9Lnl0cC1hdXRvbmF2LWNhbmNlbGxlZC1taW5pLW1vZGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1pcy1wcmVtaXVtIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1lbmRzY3JlZW4taXMtcHJlbWl1bSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWxpbmstY29udGFpbmVye21hcmdpbi10b3A6OHB4fS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRle2Rpc3BsYXk6LXdlYmtpdC1ib3h9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1idXR0b24tY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye21hcmdpbjphdXRvO21hcmdpbi1yaWdodDo0NXB4O3dpZHRoOjU0MHB4O2hlaWdodDo2NjZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVye2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1zdWdnZXN0aW9uLXBhbmVse21hcmdpbjphdXRvO21hcmdpbi1sZWZ0OjQ1cHg7d2lkdGg6NjQ4cHg7aGVpZ2h0OjY2NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLXN1Z2dlc3Rpb24tY2FyZC13aXRoLW1hcmdpbnttYXJnaW4tbGVmdDoxOHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGh1bWJuYWlsLXNtYWxse3dpZHRoOjMxNXB4O2hlaWdodDoxNzdweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZHttYXJnaW4tdG9wOjE1cHg7d2lkdGg6MzE1cHh9Lnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bnRoLWxhc3QtY2hpbGQoLW4rMil7bWFyZ2luLXRvcDozMHB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdGl0bGUtY2FyZHttYXJnaW4tdG9wOjE1cHg7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LWF1dGhvci1jYXJke21hcmdpbi10b3A6NnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtYXV0aG9yLWNhcmQsLnl0cC1iaWctbW9kZS55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlIC55dHAtYXV0b25hdi12aWV3LWFuZC1kYXRlLWNhcmR7Zm9udC1zaXplOjE5LjVweDtsaW5lLWhlaWdodDoyN3B4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNhbmNlbGxlZC1zdGF0ZSAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZS1jYXJke21hcmdpbi10b3A6MH0ueXRwLWJpZy1tb2RlLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jYW5jZWxsZWQtc3RhdGUgLnl0cC1hdXRvbmF2LW1peC10ZXh0e2ZvbnQtc2l6ZToyMi41cHg7bGluZS1oZWlnaHQ6MjdweH0ueXRwLWF1dG9uYXYtYXV0aG9yLWFuZC12aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtY2FuY2VsbGVkLW1pbmktbW9kZS55dHAtcGxheWVyLWNvbnRlbnQsLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi1jYW5jZWxsZWQtbWluaS1tb2RlLnl0cC1wbGF5ZXItY29udGVudHtib3R0b206MH0uY291bnRkb3duLXJ1bm5pbmcgLnl0cC1hdXRvbmF2LW92ZXJsYXl7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xfS5jb3VudGRvd24tcnVubmluZyAueXRwLWF1dG9uYXYtdmlldy1hbmQtZGF0ZXtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpc3Q9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtbGl2ZT10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmRbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjojYzAwfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtc3VnZ2VzdGlvbi1jYXJkW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0gLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCl9Lnl0cC1hdXRvbmF2LXN1Z2dlc3Rpb24tY2FyZDpub3QoW2RhdGEtaXMtdXBjb21pbmc9dHJ1ZV0pIC55dHAtYXV0b25hdi11cGNvbWluZy1zdGFtcHtkaXNwbGF5Om5vbmV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtY29udGFpbmVyW2RhdGEtaXMtbGlzdD10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LWNvbnRhaW5lcltkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1hdXRvbmF2LXRpbWVzdGFtcCwueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdGltZXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtYXV0b25hdi1saXZlLXN0YW1we3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQtY29sb3I6I2MwMH0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLWxpdmU9dHJ1ZV0pIC55dHAtYXV0b25hdi1saXZlLXN0YW1we2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXJbZGF0YS1pcy11cGNvbWluZz10cnVlXSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1jb250YWluZXI6bm90KFtkYXRhLWlzLXVwY29taW5nPXRydWVdKSAueXRwLWF1dG9uYXYtdXBjb21pbmctc3RhbXB7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1zdWdnZXN0aW9uLWNhcmQ6bm90KFtkYXRhLWlzLW1peD10cnVlXSkgLnl0cC1hdXRvbmF2LWxpc3Qtb3ZlcmxheXtkaXNwbGF5Om5vbmV9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtYXV0b25hdi1lbmRzY3JlZW4tY2FuY2VsbGVkLXN0YXRlLmVuZGVkLW1vZGV7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dHAtYWQtb3ZlcmxheS1vcGVuLmNvdW50ZG93bi1ydW5uaW5nIC55dHAtYWQtb3ZlcmxheS1jb250YWluZXJ7b3BhY2l0eTouM30ueXRwLWFkLW92ZXJsYXktb3BlbiAueXRwLXBsYXllci1jb250ZW50Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVye2hlaWdodDpjYWxjKDEwMCUgLSAxNDNweCl9Lnl0cC1iaWctbW9kZS55dHAtYWQtb3ZlcmxheS1vcGVuIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tY291bnRkb3duLWNvbnRhaW5lcntoZWlnaHQ6Y2FsYygxMDAlIC0gMTYwcHgpfS55dHAtYXV0b25hdi1vdmVybGF5LWNhbmNlbGxlZC1zdGF0ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC1oZWFkZXItY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZTt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRFNUlEWXVOREVnTVRjdU5Ua2dOU0F4TWlBeE1DNDFPU0EyTGpReElEVWdOU0EyTGpReElERXdMalU1SURFeUlEVWdNVGN1TlRrZ05pNDBNU0F4T1NBeE1pQXhNeTQwTVNBeE55NDFPU0F4T1NBeE9TQXhOeTQxT1NBeE15NDBNU0F4TW5vaUx6NDhMM04yWno0PSk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JhY2tncm91bmQtc2l6ZToyNHB4O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSk6bm90KC5hZC1zaG93aW5nKSAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtcGxheWVyLWNvbnRlbnR7cG9zaXRpb246dW5zZXR9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWNvdW50ZG93bi1jb250YWluZXJ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtoZWlnaHQ6MTAwJX0ueXRwLWF1dG9uYXYtZW5kc2NyZWVuLXVwbmV4dC11cGRhdGVkIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdG9wYmFyLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmp1c3RpZnk7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtaGVhZGVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmJsb2NrfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXJ7bWFyZ2luLXRvcDowOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi12aWRlby1pbmZve21hcmdpbi10b3A6MTJweDt3aWR0aDoxMDAlfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi1jb3VudGRvd24tY29udGFpbmVyIC55dHAtYXV0b25hdi1lbmRzY3JlZW4tbGluay1jb250YWluZXIgLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdGh1bWJuYWlsey13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtZW5kc2NyZWVuLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LWxpdmUtc3RhbXAsLnl0cC1hdXRvbmF2LWVuZHNjcmVlbi11cG5leHQtdXBkYXRlZCAueXRwLWF1dG9uYXYtdGltZXN0YW1wLC55dHAtYXV0b25hdi1lbmRzY3JlZW4tdXBuZXh0LXVwZGF0ZWQgLnl0cC1hdXRvbmF2LXVwY29taW5nLXN0YW1we2JvdHRvbTo4cHg7cmlnaHQ6OHB4O2JvcmRlci1yYWRpdXM6MTBweDtsaW5lLWhlaWdodDoxNnB4O2ZvbnQtd2VpZ2h0OjcwMDtsZXR0ZXItc3BhY2luZzp1bnNldDtwYWRkaW5nOjAgOHB4fS55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uLWNvbnRhaW5lcnt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b24sLnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxNC40cHg7d2lkdGg6MzZweDtib3JkZXItcmFkaXVzOjE0LjRweDt0b3A6NTAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlaUlnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWlCdmNHRmphWFI1UFNJdU5TSXZQanh3WVhSb0lHWnBiR3c5SWlNd01EQWlJR1pwYkd3dGIzQmhZMmwwZVQwaUxqTWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUY3VNeUF4UXpRdU16VWdNU0F5SURNdU1qRWdNaUEyY3pJdU16VWdOU0ExTGpNZ05XZ3hOUzQwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5T0NBMmJDMHVNRE10TGpVMFFUVXVNVFlnTlM0eE5pQXdJREFnTUNBeU1pNDNJREY2YlRFMUxqUWdNVEZqTXk0ME5TQXdJRFl1TXkweUxqWWdOaTR6TFRaekxUSXVPRFV0TmkwMkxqTXROa2czTGpORE15NDROU0F3SURFZ01pNDJJREVnTm5NeUxqZzFJRFlnTmk0eklEWjZJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUc5d1lXTnBkSGs5SWk0MUlpOCtQQzl6ZG1jKyk7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1pbWFnZTp1bnNldDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6OXB4O21hcmdpbjowIDlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD1mYWxzZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4xKSl9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257bWFyZ2luOjAgY2FsYygodmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsIDU2cHgpIC0gMzBweCkvMil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEzLjVweDt3aWR0aDoyMi41cHg7Ym9yZGVyLXJhZGl1czo2Ljc1cHg7bWFyZ2luOjAgNXB4fS55dHAtc21hbGwtbW9kZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbiwueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxMC44cHg7d2lkdGg6MjdweDtib3JkZXItcmFkaXVzOjEwLjhweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9ue2hlaWdodDoxOHB4O3dpZHRoOjQ1cHg7Ym9yZGVyLXJhZGl1czoxOHB4fS55dHAtZW1iZWQgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b257aGVpZ2h0OjEycHg7d2lkdGg6MzBweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJek1DSWdhR1ZwWjJoMFBTSXhNaUlnWm1sc2JEMGlibTl1WlNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTWpJdU55QXhNV015TGprMUlEQWdOUzR6TFRJdU1qRWdOUzR6TFRWekxUSXVNelV0TlMwMUxqTXROVWczTGpORE5DNHpOU0F4SURJZ015NHlNU0F5SURaek1pNHpOU0ExSURVdU15QTFlbTB0TWk0M0xTNDNOWFl0T0M0MWJEWXVOeUEwTGpJMmVpSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJ2Y0dGamFYUjVQU0l1TlNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpNaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRjdU15QXhRelF1TXpVZ01TQXlJRE11TWpFZ01pQTJjekl1TXpVZ05TQTFMak1nTldneE5TNDBRVFV1TVRZZ05TNHhOaUF3SURBZ01DQXlPQ0EyYkMwdU1ETXRMalUwUVRVdU1UWWdOUzR4TmlBd0lEQWdNQ0F5TWk0M0lERjZiVEUxTGpRZ01URmpNeTQwTlNBd0lEWXVNeTB5TGpZZ05pNHpMVFp6TFRJdU9EVXROaTAyTGpNdE5rZzNMak5ETXk0NE5TQXdJREVnTWk0MklERWdObk15TGpnMUlEWWdOaTR6SURaNklpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlJRzl3WVdOcGRIazlJaTQxSWk4K1BDOXpkbWMrKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjIwLjRweDt3aWR0aDoyMC40cHg7Ym9yZGVyLXJhZGl1czoyMC40cHg7bWFyZ2luLXRvcDotM3B4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6Y3hOekUzTVNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOT0M0MUlERTJZVGN1TlNBM0xqVWdNQ0F4SURBZ01DMHhOU0EzTGpVZ055NDFJREFnTUNBd0lEQWdNVFVpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU13TURBaUlHWnBiR3d0YjNCaFkybDBlVDBpTGpFMUlpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWsweE55QTRMalZoT0M0MUlEZ3VOU0F3SURFZ01TMHhOeUF3SURndU5TQTRMalVnTUNBd0lERWdNVGNnTUcwdE1TQXdZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREFpSUdOc2FYQXRjblZzWlQwaVpYWmxibTlrWkNJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHUTlJazAxTGpVZ01USm9NbFkxYUMweWVtMDBMVGQyTjJneVZqVjZJaTgrUEM5emRtYyspOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjstd2Via2l0LXRyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1pY29ucyAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntoZWlnaHQ6MTRweDt3aWR0aDoxNHB4O2JvcmRlci1yYWRpdXM6N3B4O21hcmdpbjoycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaWJtOXVaU0lnZG1sbGQwSnZlRDBpTUNBd0lETTJJRE0ySWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NVEl1TnpVZ05DNDFhQzB6WXkwdU5pQXdMVEV1TVRjdU1qTXRNUzQyTGpZMUxTNDBNaTQwTXkwdU5qVWdNUzB1TmpVZ01TNDJkakl5TGpWak1DQXVOVGt1TWpNZ01TNHhOaTQyTlNBeExqVTVMalF6TGpReUlERWdMalkySURFdU5pNDJObWd6WXk0MU9TQXdJREV1TVRZdExqSTBJREV1TlRrdExqWTJMalF5TFM0ME15NDJOaTB4SUM0Mk5pMHhMalU1VmpZdU56VmpNQzB1TmkwdU1qUXRNUzR4TnkwdU5qWXRNUzQyTFM0ME15MHVOREl0TVMwdU5qVXRNUzQxT1MwdU5qVnRNVE11TlNBd2FDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpVaUx6NDhMM04yWno0PSk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC5kZWxoaS1mYXN0LWZvbGxvdy1hdXRvbmF2LXRvZ2dsZSAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKTk1USXVOelVnTkM0MWFDMHpZeTB1TmlBd0xURXVNVGN1TWpNdE1TNDJMalkxTFM0ME1pNDBNeTB1TmpVZ01TMHVOalVnTVM0MmRqSXlMalZqTUNBdU5Ua3VNak1nTVM0eE5pNDJOU0F4TGpVNUxqUXpMalF5SURFZ0xqWTJJREV1Tmk0Mk5tZ3pZeTQxT1NBd0lERXVNVFl0TGpJMElERXVOVGt0TGpZMkxqUXlMUzQwTXk0Mk5pMHhJQzQyTmkweExqVTVWall1TnpWak1DMHVOaTB1TWpRdE1TNHhOeTB1TmpZdE1TNDJMUzQwTXkwdU5ESXRNUzB1TmpVdE1TNDFPUzB1TmpWdE1UTXVOU0F3YUMwell5MHVOaUF3TFRFdU1UY3VNak10TVM0MkxqWTFMUzQwTWk0ME15MHVOalVnTVMwdU5qVWdNUzQyZGpJeUxqVmpNQ0F1TlRrdU1qTWdNUzR4Tmk0Mk5TQXhMalU1TGpRekxqUXlJREVnTGpZMklERXVOaTQyTm1nell5NDFPU0F3SURFdU1UWXRMakkwSURFdU5Ua3RMalkyTGpReUxTNDBNeTQyTmkweElDNDJOaTB4TGpVNVZqWXVOelZqTUMwdU5pMHVNalF0TVM0eE55MHVOall0TVM0MkxTNDBNeTB1TkRJdE1TMHVOalV0TVM0MU9TMHVOalVpTHo0OEwzTjJaejQ9KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXByaW1hcnksI2ZmZil9Lnl0cC14c21hbGwtd2lkdGgtbW9kZS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7aGVpZ2h0OjEwLjVweDt3aWR0aDoxMC41cHg7Ym9yZGVyLXJhZGl1czo1LjI1cHg7bWFyZ2luOjFweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b246YWZ0ZXJ7bGVmdDotMnB4O2hlaWdodDoxNS4zcHg7d2lkdGg6MTUuM3B4O2JvcmRlci1yYWRpdXM6MTUuM3B4O21hcmdpbi10b3A6LTIuMjVweH0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uOmFmdGVye2xlZnQ6MDtoZWlnaHQ6MjUuNXB4O3dpZHRoOjI1LjVweDtib3JkZXItcmFkaXVzOjI1LjVweDttYXJnaW4tdG9wOi0zLjc1cHh9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvbjphZnRlcntsZWZ0OjA7aGVpZ2h0OjE3cHg7d2lkdGg6MTdweDtib3JkZXItcmFkaXVzOjE3cHg7bWFyZ2luLXRvcDotMi41cHh9Lnl0cC1hdXRvbmF2LXRvZ2dsZS1idXR0b25bYXJpYS1jaGVja2VkPXRydWVdOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SW01dmJtVWlJSFpwWlhkQ2IzZzlJakFnTUNBeE55QXhOeUkrUEhCaGRHZ2dabWxzYkQwaUl6QXdNQ0lnWm1sc2JDMXZjR0ZqYVhSNVBTSXVNVFVpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEUzSURndU5XRTRMalVnT0M0MUlEQWdNU0F4TFRFM0lEQWdPQzQxSURndU5TQXdJREFnTVNBeE55QXdiUzAxSURCTU5pNDFJRFYyTjNwdExURXVPRFlnTUV3M0xqVWdOaTQ0TW5ZekxqTTJlazA0TGpVZ01UWmhOeTQxSURjdU5TQXdJREVnTUNBd0xURTFJRGN1TlNBM0xqVWdNQ0F3SURBZ01DQXhOU0lnWTJ4cGNDMXlkV3hsUFNKbGRtVnViMlJrSWk4K1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTVRZZ09DNDFZVGN1TlNBM0xqVWdNQ0F4SURFdE1UVWdNQ0EzTGpVZ055NDFJREFnTUNBeElERTFJREJ0TFRRZ01FdzJMalVnTVRKV05Yb2lJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0l2UGp3dmMzWm5QZz09KTtsZWZ0OjFweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1LjZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTUuNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJak1EQXdJaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5cHggOXB4O2JhY2tncm91bmQtc2l6ZTo5cHg7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTJweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEycHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLmRlbGhpLWZhc3QtZm9sbG93LWF1dG9uYXYtdG9nZ2xlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXpOaUlnYUdWcFoyaDBQU0l6TmlJZ1ptbHNiRDBpYm05dVpTSWdkbWxsZDBKdmVEMGlNQ0F3SURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKdE1UY2dPQzQyTFRZdU1URXRNeTQyTVdNdE1TNDFMUzQ0T0MwekxqTTVMakl0TXk0ek9TQXhMamswZGpJeUxqRXpZekFnTVM0M05DQXhMamc1SURJdU9ESWdNeTR6T1NBeExqazBUREUzSURJM0xqUjZiVEFnTUhZeE9DNDRURE16SURFNGVpSXZQand2YzNablBnPT0pO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtc29saWQsIzBmMGYwZil9Lnl0cC1zbWFsbC1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDExLjdweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTEuN3B4KX0ueXRwLWJpZy1tb2RlIC55dHAtYXV0b25hdi10b2dnbGUtYnV0dG9uW2FyaWEtY2hlY2tlZD10cnVlXTphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE5LjVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTkuNXB4KX0ueXRwLXhzbWFsbC13aWR0aC1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWRlbGhpLW1vZGVybiAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDhweCl9Lnl0cC1lbWJlZCAueXRwLWF1dG9uYXYtdG9nZ2xlLWJ1dHRvblthcmlhLWNoZWNrZWQ9dHJ1ZV06YWZ0ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTNweCl9Lnl0cC1iZXplbHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjUycHg7aGVpZ2h0OjUycHg7ei1pbmRleDoxOTttYXJnaW4tbGVmdDotMjZweDttYXJnaW4tdG9wOi0yNnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLXJhZGl1czoyNnB4Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC1iZXplbC1mYWRlb3V0IC41cyBsaW5lYXIgMSBub3JtYWwgZm9yd2FyZHM7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVse2xlZnQ6NTAlO3RvcDo1MCU7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0IDFzIGN1YmljLWJlemllciguMDUsMCwwLDEpIDEgbm9ybWFsIGZvcndhcmRzfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtYmV6ZWwtaWNvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWJpZy1tb2RlIC55dHAtYmV6ZWx7d2lkdGg6NzhweDtoZWlnaHQ6NzhweDttYXJnaW4tbGVmdDotMzlweDttYXJnaW4tdG9wOi0zOXB4O2JvcmRlci1yYWRpdXM6MzlweH0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1iZXplbHt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbi1sZWZ0Oi0zMnB4O21hcmdpbi10b3A6LTMycHg7Ym9yZGVyLXJhZGl1czozMnB4fS55dHAtYmV6ZWwtaWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21hcmdpbjo2cHh9Lnl0cC1wbGF5ZXItY29udGVudCAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1iZXplbC1pY29uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtYmV6ZWwtaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4O21hcmdpbjoxMnB4fS55dHAtZGVsaGktbW9kZXJuLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWJlemVsLWljb257d2lkdGg6NDhweDtoZWlnaHQ6NDhweDttYXJnaW46OHB4fS55dHAtYmV6ZWwtdGV4dC13cmFwcGVye3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDoxMCU7ei1pbmRleDoxOX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHQtd3JhcHBlcnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZGVsaGktbW9kZXJuLWJlemVsLXRleHQtZmFkZW91dCAxcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAxIG5vcm1hbCBmb3J3YXJkczthbmltYXRpb246eXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXQgMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9Lnl0cC1iZXplbC10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MTBweCAyMHB4O2ZvbnQtc2l6ZToxNzUlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjNweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWJlemVsLXRleHR7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKX0ueXRwLWJlemVsLXRleHQtaGlkZSAueXRwLWJlemVsLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QGtleWZyYW1lcyB5dHAtYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtZmFkZW91dHswJXtvcGFjaXR5OjB9MjUlLDc1JXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zMyk7dHJhbnNmb3JtOnNjYWxlKDEuMzMpfXRve29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMzKTt0cmFuc2Zvcm06c2NhbGUoMS4zMyl9dG97b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1kZWxoaS1tb2Rlcm4tYmV6ZWwtdGV4dC1mYWRlb3V0ezAle29wYWNpdHk6MH0yNSUsNzUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLWRlbGhpLW1vZGVybi1iZXplbC10ZXh0LWZhZGVvdXR7MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3BvaW50ZXItZXZlbnRzOmFsbDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjYyfS55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLWNhcmRzLWJ1dHRvbi1pY29ue3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLHJnYmEoMCwwLDAsLjYpKTtib3JkZXItcmFkaXVzOjE4cHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9ue21heC13aWR0aDo4MHB4O3dpZHRoOjM2cHh9Lnl0cC1zaG93LWNhcmRzLXRpdGxlIC55dHAtY2FyZHMtYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbnttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5OmJsb2NrfS55dHAtY2FyZHMtYnV0dG9uLWljb24tc2hvcHBpbmcsLnl0cC1zbWFsbC1tb2RlIC55dHAtc2hvdy1jYXJkcy10aXRsZSAueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUgLnl0cC1jYXJkcy1idXR0b24taWNvbi1zaG9wcGluZ3tkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZSAueXRwLWNhcmRzLWJ1dHRvbi1pY29uLWRlZmF1bHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNhcmRzLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS55dHAtY2FyZHMtYnV0dG9uLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtYnV0dG9uLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLWNhcmRzLWJ1dHRvbi10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1jYXJkcy1idXR0b24tdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY2FyZHMtYnV0dG9uLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLXNoYWRvd3std2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpzdHJva2Utb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3d7c3Ryb2tlLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246c3Ryb2tlLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1czt0cmFuc2l0aW9uOnN0cm9rZS1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXN9Lnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93LWZpbGx7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsLW9wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246ZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIC4yNXM7dHJhbnNpdGlvbjpmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjI1c30ueXRwLWNhcmRzLXNob3BwaW5nLWFjdGl2ZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtYnV0dG9uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMjc5M2U2fS55dHAtY2FyZHMtc2hvcHBpbmctYWN0aXZlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy1idXR0b24gLnl0cC1zdmctc2hhZG93e3N0cm9rZTojZmZmO3N0cm9rZS1vcGFjaXR5OjF9Lnl0cC1jYXJkcy1zaG9wcGluZy1hY3RpdmUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLWJ1dHRvbiAueXRwLXN2Zy1zaGFkb3ctZmlsbHtmaWxsOiNmZmY7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjguNXB4O3JpZ2h0OjA7bWF4LXdpZHRoOjkwJTtvcGFjaXR5Oi43NTtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjYxOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2Vye3RvcDoxM3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKS55dHAtc21hbGwtbW9kZSAueXRwLWNhcmRzLXRlYXNlcnt0b3A6MTZweH0uaHRtbDUtdmlkZW8tcGxheWVyLmFkLXNob3dpbmc6bm90KC52aWRlb0FkVWlSZWRlc2lnbikgLnl0cC1jYXJkcy10ZWFzZXJ7dG9wOjQwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXIsLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcntvcGFjaXR5OjF9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTouOX0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlcjpob3ZlcntvcGFjaXR5OjF9Lnl0cC1hdXRvaGlkZTpub3QoLnl0cC1jYXJkcy10ZWFzZXItc2hvd24pIC55dHAtY2FyZHMtdGVhc2VyLC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1jYXJkcy10ZWFzZXJ7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3M7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIC4zM3N9Lnl0cC1pdi1kcmF3ZXItb3BlbiAueXRwLWNhcmRzLXRlYXNlcnstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6MHM7dHJhbnNpdGlvbi1kZWxheTowc30ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3gsLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtoZWlnaHQ6MzFweH0ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveCwueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7aGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItYm94e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czoycHg7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjMzcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMzNzIGN1YmljLWJlemllciguNCwwLDEsMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMCkgdHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDA7LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgMDt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IDB9Lnl0cC1iaWctbW9kZSAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7cmlnaHQ6MjdweH0ueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzLC13ZWJraXQtdHJhbnNmb3JtIC4zM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAuMjVzOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpOy1tcy10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDE4cHgpfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1zaG93biAueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci1ib3h7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgyN3B4KTt0cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVgoMjdweCl9W2Rpcj1ydGxdIC55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMThweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0xOHB4KX1bZGlyPXJ0bF0gLnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLWJveHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMjdweCk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKC0yN3B4KX0ueXRwLWNhcmRzLXRlYXNlciAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MCAzNnB4IDAgMTBweDttYXgtd2lkdGg6MDtvcGFjaXR5OjA7Y29sb3I6IzAwMDtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjEwOS4wOTA5MDklO2xpbmUtaGVpZ2h0OjMxcHg7dGV4dC1zaGFkb3c6bm9uZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1czt0cmFuc2l0aW9uOm9wYWNpdHkgLjE2NXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXgtd2lkdGggMHMgZWFzZSAuMTY1c30ueXRwLWJpZy1tb2RlIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7cGFkZGluZzowIDY2cHggMCAxMnB4O2xpbmUtaGVpZ2h0OjQ2cHh9Lnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHttYXgtd2lkdGg6NDE1cHg7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgLjQxNXN9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLXNob3duIC55dHAtY2FyZHMtdGVhc2VyIC55dHAtY2FyZHMtdGVhc2VyLXRleHR7bWF4LXdpZHRoOjYzNXB4fS55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye2Rpc3BsYXk6bm9uZX0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3dpZHRoOjMwcHg7bGVmdDpjYWxjKDEwMCUgLSAzMHB4KTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSk7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MThweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2hhbm5lbC1hdmF0YXJ7d2lkdGg6MjJweDtoZWlnaHQ6MjJweDttYXJnaW46NHB4O2JvcmRlci1yYWRpdXM6NTAlO2N1cnNvcjpwb2ludGVyO2Zsb2F0OmxlZnR9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWNoYW5uZWwtYXZhdGFye21hcmdpbjoxMnB4fS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlLnl0cC1jYXJkcy10ZWFzZXItc2hvd24gLnl0cC1jYXJkcy10ZWFzZXIgLnl0cC1jYXJkcy10ZWFzZXItdGV4dHt3aWR0aDoxMDAlO2xlZnQ6MDstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnMsbGVmdCAuMzNzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4yczt0cmFuc2l0aW9uOndpZHRoIC4zM3MgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjJzLGxlZnQgLjMzcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMnN9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItaW5mby1pY29ue2hlaWdodDozMHB4O3dpZHRoOjMwcHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6bGVmdH0ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1jbG9zZS1idXR0b257aGVpZ2h0OjMwcHg7d2lkdGg6MjBweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MCA1cHg7Y3Vyc29yOnBvaW50ZXI7ZmxvYXQ6cmlnaHR9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9uIHBhdGh7ZmlsbDojNzE3MTcxfS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MzBweDttYXgtd2lkdGg6MzUwcHh9Lnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItYm94e2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci1pbmZvLWljb257aGVpZ2h0OjQ1cHg7d2lkdGg6NDVweH0ueXRwLWJpZy1tb2RlLnl0cC1jYXJkcy10ZWFzZXItZGlzbWlzc2libGUgLnl0cC1jYXJkcy10ZWFzZXItY2xvc2UtYnV0dG9ue2hlaWdodDo0NXB4O3dpZHRoOjMwcHg7bWFyZ2luOjAgNy41cHh9Lnl0cC1iaWctbW9kZS55dHAtY2FyZHMtdGVhc2VyLWRpc21pc3NpYmxlIC55dHAtY2FyZHMtdGVhc2VyLWxhYmVse2xpbmUtaGVpZ2h0OjQ1cHg7bWF4LXdpZHRoOjUyNXB4fS55dHAtYmlnLW1vZGUueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNhcmRzLXRlYXNlci10ZXh0e3BhZGRpbmc6MH0ueXRwLWVtYmVkLnl0cC1jYXJkcy10ZWFzZXItc2hvd24ueXRwLWNhcmRzLXRlYXNlci1kaXNtaXNzaWJsZSAueXRwLWNocm9tZS10b3AtYnV0dG9ucz46bm90KC55dHAtY2FyZHMtdGVhc2VyKXt2aXNpYmlsaXR5OmhpZGRlbn0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZXttaW4taGVpZ2h0OjUycHh9Lnl0cC1iaWctbW9kZS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxle21pbi1oZWlnaHQ6NzVweH0ueXRwLXNob3J0cy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGV7bWluLWhlaWdodDo0MnB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC10aXRsZS10ZXh0e3BhZGRpbmctbGVmdDo1MHB4fTpub3QoLnl0cC1zaG9ydHMtbW9kZSkueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLWxlZnQ6NzVweH0ueXRwLXRpdGxlLWxpbmt7ZGlzcGxheTpibG9jazt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowO21hcmdpbjo1cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtiYWNrZ3JvdW5kLW9yaWdpbjpjb250ZW50LWJveDtmbG9hdDpsZWZ0O2JvcmRlci1yYWRpdXM6NTAlfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6NjBweDtoZWlnaHQ6NjBweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo0OHB4O2hlaWdodDo0OHB4O21hcmdpbjowfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjEwJX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbnswJXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O21heC13aWR0aDoxMCV9MjUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSl9NzUle21heC13aWR0aDoxMDAlfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXR7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MHB4fX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtb3V0ezAle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTAwcHh9NzUle2JhY2tncm91bmQtY29sb3I6cmdiYSgzNSwzNSwzNSwuOSk7d2lkdGg6NTBweH19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4tYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDttYXgtd2lkdGg6MTUlfTI1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpfTc1JXttYXgtd2lkdGg6MTAwJX19QGtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlezAle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWF4LXdpZHRoOjE1JX0yNSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KX03NSV7bWF4LXdpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLW91dC1iaWctbW9kZXswJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjUwMHB4fTc1JXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjcwcHh9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1vdXQtYmlnLW1vZGV7MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo1MDBweH03NSV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC45KTt3aWR0aDo3MHB4fX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluezAle29wYWNpdHk6MH0yNSV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC10aXRsZS1leHBhbmRlZC1mYWRlLW91dHswJXtvcGFjaXR5OjF9MjUle29wYWNpdHk6MX10b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgeXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtb3V0ezAle29wYWNpdHk6MX0yNSV7b3BhY2l0eToxfXRve29wYWNpdHk6MH19Lnl0cC10aXRsZS1jaGFubmVse2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoyNXB4O2Rpc3BsYXk6bm9uZTtoZWlnaHQ6NTBweDttYXJnaW4tbGVmdDotNXB4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6N3B4O2xlZnQ6MDt3aWR0aDo1MHB4fS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1jaGFubmVse3dpZHRoOjcwcHg7aGVpZ2h0OjcwcHg7bWFyZ2luLXRvcDoxMHB4fS55dHAtdGl0bGUtZW5hYmxlLWNoYW5uZWwtbG9nbyAueXRwLXRpdGxlLWNoYW5uZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1zaG93LWV4cGFuZGVkey13ZWJraXQtYW5pbWF0aW9uOnl0cC10aXRsZS1jaGFubmVsLWZhZGUtaW4gLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZHstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtY2hhbm5lbC1mYWRlLWluLWJpZy1tb2RlIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLXRpdGxlLWNoYW5uZWwtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1jaGFubmVsLnl0cC10aXRsZS1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzUsMzUsMzUsLjkpO2JvcmRlci1yYWRpdXM6MjVweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjE7d2lkdGg6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtY2hhbm5lbC55dHAtdGl0bGUtZXhwYW5kZWR7Ym9yZGVyLXJhZGl1czozNXB4fS55dHAtdGl0bGUtZXhwYW5kZWQtb3ZlcmxheXtkaXNwbGF5OmNvbnRlbnRzO21heC13aWR0aDoxMDAlO29wYWNpdHk6MDtwYWRkaW5nLXJpZ2h0OjhweDt3aWR0aDphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e21heC13aWR0aDoxMDAlfS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MX0ueXRwLXRpdGxlLXNob3ctZXhwYW5kZWQgLnl0cC10aXRsZS1leHBhbmRlZC1vdmVybGF5e29wYWNpdHk6MTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbiAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC10aXRsZS1leHBhbmRlZC1mYWRlLWluIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc2hvdy1leHBhbmRlZCAueXRwLXRpdGxlLWV4cGFuZGVkLW92ZXJsYXl7LXdlYmtpdC1hbmltYXRpb246eXRwLXRpdGxlLWV4cGFuZGVkLWZhZGUtaW4tYmlnLW1vZGUgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtdGl0bGUtZXhwYW5kZWQtZmFkZS1pbi1iaWctbW9kZSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjo1cHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC10aXRsZS1leHBhbmRlZC10aXRsZXtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo0MDA7bWFyZ2luOjB9Lnl0cC1iaWctbW9kZSAueXRwLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToyMnB4fS55dHAtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtZXhwYW5kZWQtc3VidGl0bGV7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC10aXRsZS1leHBhbmRlZC1zdWJ0aXRsZXtmb250LXNpemU6MTZweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2J7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW46NXB4O2hlaWdodDphdXRvO3dpZHRoOmF1dG87cGFkZGluZzowO3BhZGRpbmctbGVmdDoxNnB4O3RleHQtc2hhZG93Om5vbmU7bWFyZ2luLXJpZ2h0OjdweH0ueXRwLWNocm9tZS10b3AgLnl0cC10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLGEueXRwLXNiLXN1YnNjcmliZXttYXJnaW4tbGVmdDo2NXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtdGl0bGUtY2hhbm5lbCAueXRwLXNiLXN1YnNjcmliZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6N3B4fS55dHAtdGl0bGUtZXhwYW5kZWQgLnl0cC10aXRsZS1iZWFjb24sLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXN1YnRleHQsLnl0cC10aXRsZS1leHBhbmRlZCAueXRwLXRpdGxlLXRleHR7ZGlzcGxheTpub25lfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdGl0bGUtYmVhY29uLXB1bHNlezAle2JhY2tncm91bmQ6YmxhY2s7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtsZWZ0OjVweDt0b3A6NXB4fTUwJXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7bGVmdDowO3RvcDowfX1Aa2V5ZnJhbWVzIHl0cC10aXRsZS1iZWFjb24tcHVsc2V7MCV7YmFja2dyb3VuZDpibGFjazt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2xlZnQ6NXB4O3RvcDo1cHh9NTAle2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDtsZWZ0OjA7dG9wOjB9fS55dHAtdGl0bGUtYmVhY29ue2JvcmRlci1yYWRpdXM6MjVweDtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTstd2Via2l0LWFuaW1hdGlvbjp5dHAtdGl0bGUtYmVhY29uLXB1bHNlIDJzIDU7YW5pbWF0aW9uOnl0cC10aXRsZS1iZWFjb24tcHVsc2UgMnMgNX0udW5zdGFydGVkLW1vZGUgLnl0cC10aXRsZS1iZWFjb257ZGlzcGxheTpibG9ja30ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCwueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbi55dHAtY2hhcHRlci1jb250YWluZXItZGlzYWJsZWR7b3BhY2l0eTouOX0ueXRwLWJpZy1tb2RlIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtZW1iZWQtbW9iaWxlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDttYXgtd2lkdGg6MTAwJX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbnstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9ue2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b24gc3Zne3BhZGRpbmc6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjRweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BvaW50ZXItZXZlbnRzOm5vbmU7Ym9yZGVyLXJhZGl1czoyOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmhvdmVyOmFmdGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkscmdiYSgyNTUsMjU1LDI1NSwuMSkpOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci10aXRsZS55dHAtYnV0dG9uOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1jaGFwdGVyLWNvbnRhaW5lci1kaXNhYmxlZCAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbiwueXRwLWVtYmVkIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uLC55dHAtcHJvZmlsZS1wYWdlIC55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9ue2Rpc3BsYXk6bm9uZX0ueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCAyMHB4O2ZsZXg6MCAwIDIwcHg7d2lkdGg6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3R0b206MXB4fS55dHAtY2hhcHRlci10aXRsZS1jb250ZW50ey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIGF1dG87ZmxleDowIDEgYXV0bzt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7bGluZS1oZWlnaHQ6MjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1iaWctbW9kZSAueXRwLWNoYXB0ZXItdGl0bGUtY2hldnJvbnt3aWR0aDoyOHB4fS55dHAtY2hhcHRlci10aXRsZS1jaGV2cm9uIHN2Z3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jaGFwdGVyLXRpdGxlLXByZWZpeHtwYWRkaW5nLXJpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNoYXB0ZXItdGl0bGUtcHJlZml4LC55dHAtbGl2ZSAueXRwLWNoYXB0ZXItdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lciAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hhcHRlci1jb250YWluZXIgLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHQ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItY29udGFpbmVyIC55dHAtcHJvZmlsZS1wYWdlLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257Y3Vyc29yOnRleHR9Lnl0cC1leHAtYm90dG9tLWNvbnRyb2wtZmxleGJveCAueXRwLWNoYXB0ZXItY29udGFpbmVyey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6MCAxIDEwMCU7ZmxleDowIDEgMTAwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc306bm90KC55dHAtZXhwLWJvdHRvbS1jb250cm9sLWZsZXhib3gpIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZmxvYXQ6bGVmdH0ueXRwLWNoYXB0ZXItY29udGFpbmVye2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxMDklO3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW46MCA1cHggMCAwO3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDo0N3B4fS55dHAtZW1iZWQgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDozOXB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntsaW5lLWhlaWdodDo1M3B4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hhcHRlci1jb250YWluZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6dmFyKC0teXQtZGVsaGktcGlsbC10b3AtaGVpZ2h0LDEycHgpOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDEwMCBhdXRvO2ZsZXg6MCAxMDAgYXV0b30ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1jaGFwdGVyLWNvbnRhaW5lcntwYWRkaW5nLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNoYXB0ZXItY29udGFpbmVye2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIzMDA7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO3RleHQtYWxpZ246bGVmdDtkaXJlY3Rpb246bHRyO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjEuMzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wb3B1cC55dHAtZGVsaGktbW9kZXJuLWNvbnRleHRtZW51e2JvcmRlci1yYWRpdXM6MTJweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtY29udGV4dG1lbnUgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLWNvbnRleHRtZW51IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtZG5pLnl0cC1jb250ZXh0bWVudXt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUueXRwLWNvbnRleHRtZW51e2ZvbnQtc2l6ZToxN3B4fS55dHAtYXV0b2hpZGUueXRwLWVtYmVkLW92ZXJsYXlzLWF1dG9oaWRlLnl0cC1jb250ZXh0bWVudXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUueXRwLWNvbnRleHRtZW51e2Rpc3BsYXk6bm9uZX0ueXRwLWNvbnRleHRtZW51IGEsLnl0cC1jb250ZXh0bWVudSBhOmZvY3VzLC55dHAtY29udGV4dG1lbnUgYTpob3Zlcntjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lfS55dHAtY29weXRleHR7bWFyZ2luOjAgMTBweDttYXgtd2lkdGg6MjAwcHg7b3V0bGluZTpub25lO3RleHQtc2hhZG93Om5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LW1vei11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0Oy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dH0ueXRwLWNvcHl0ZXh0OjotbW96LXNlbGVjdGlvbntiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2NvbG9yOmJsYWNrfS55dHAtaHRtbDUtY2xpcGJvYXJke3RvcDowO2xlZnQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTstbW96LXVzZXItc2VsZWN0OnRleHQ7LW1zLXVzZXItc2VsZWN0OnRleHQ7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0fS55dHAtc2hvdy1jb3B5bGluay10aXRsZS55dHAtY29weWxpbmstYnV0dG9ue21hcmdpbi1sZWZ0OjEwcHg7bWFyZ2luLXJpZ2h0OjEwcHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXNob3ctY29weWxpbmstdGl0bGUueXRwLWNvcHlsaW5rLWJ1dHRvbnttYXJnaW4tbGVmdDoyMHB4O21hcmdpbi1yaWdodDoyMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstYnV0dG9uLC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnt3aWR0aDphdXRvO2hlaWdodDphdXRvfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLWNvcHlsaW5rLWJ1dHRvbnttaW4td2lkdGg6NDhweDttYXgtd2lkdGg6ODBweH0ueXRwLWNvcHlsaW5rLWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstaWNvbnt3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1jb3B5bGluay1pY29ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS55dHAtY29weWxpbmstdGl0bGV7Zm9udC13ZWlnaHQ6NTAwO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29weWxpbmstdGl0bGUsLnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLWNvcHlsaW5rLXRpdGxle2ZvbnQtc2l6ZToyMHB4fS55dHAtc2hvdy1jb3B5bGluay10aXRsZSAueXRwLWNvcHlsaW5rLXRpdGxle2Rpc3BsYXk6YmxvY2t9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtY29weWxpbmstdGl0bGV7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvdmVyZmxvdzpoaWRkZW59Lnl0cC1jb3VudGRvd24tdGltZXJ7d2lkdGg6MzZweDtoZWlnaHQ6MzZweDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3otaW5kZXg6Mzk7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuNik7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOjE4cHh9Lnl0cC1icmFuZGluZy1zaG93biAueXRwLWNvdW50ZG93bi10aW1lcntib3R0b206NTJweH0ueXRwLWNvdW50ZG93bi10aW1lci10aW1le2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiNGRkY7bGluZS1oZWlnaHQ6MzZweDt3aWR0aDozNnB4O2ZvbnQtd2VpZ2h0OjUwMDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2IoMCwwLDApfS55dHAtZnJlZS1wcmV2aWV3LWNvdW50ZG93bi10aW1lcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6NXB4O2xlZnQ6MjBweDtoZWlnaHQ6MjRweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO3dpZHRoOmF1dG87ei1pbmRleDo4Mjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1mcmVlLXByZXZpZXctY291bnRkb3duLXRpbWVyLXNlcGFyYXRvcntwYWRkaW5nOjAgM3B4fS55dC11aS1lbGxpcHNpc3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWw7d29yZC13cmFwOmJyZWFrLXdvcmR9Lnl0LXVpLWVsbGlwc2lzLW5vd3JhcC1zaW5nbGUtbGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOmJyZWFrLXdvcmQ7bWF4LWhlaWdodDoxLjNlbX0ueXQtdWktZWxsaXBzaXM6YWZ0ZXIsLnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7cG9zaXRpb246YWJzb2x1dGV9Lnl0LXVpLWVsbGlwc2lzOmJlZm9yZXtjb250ZW50OiLigKYiO3JpZ2h0OjB9Lnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IiI7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0ueXQtdWktZWxsaXBzaXMtMjpiZWZvcmV7dG9wOjEuM2VtfS55dC11aS1lbGxpcHNpcy0zOmJlZm9yZXt0b3A6Mi42ZW19Lnl0LXVpLWVsbGlwc2lzLTQ6YmVmb3Jle3RvcDozLjllbX0ueXQtdWktZWxsaXBzaXMtNjpiZWZvcmV7dG9wOjYuNWVtfS55dC11aS1lbGxpcHNpcy0xMDpiZWZvcmV7dG9wOjExLjdlbX0ueXQtdWktZWxsaXBzaXMtMnttYXgtaGVpZ2h0OjIuNmVtfS55dC11aS1lbGxpcHNpcy0ze21heC1oZWlnaHQ6My45ZW19Lnl0LXVpLWVsbGlwc2lzLTR7bWF4LWhlaWdodDo1LjJlbX0ueXQtdWktZWxsaXBzaXMtNnttYXgtaGVpZ2h0OjcuOGVtfS55dC11aS1lbGxpcHNpcy0xMHttYXgtaGVpZ2h0OjEzZW19LndlYmtpdCAueXQtdWktZWxsaXBzaXN7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtMnstd2Via2l0LWxpbmUtY2xhbXA6Mn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0zey13ZWJraXQtbGluZS1jbGFtcDozfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzLTR7LXdlYmtpdC1saW5lLWNsYW1wOjR9LndlYmtpdCAueXQtdWktZWxsaXBzaXMtNnstd2Via2l0LWxpbmUtY2xhbXA6Nn0ud2Via2l0IC55dC11aS1lbGxpcHNpcy0xMHstd2Via2l0LWxpbmUtY2xhbXA6MTB9LndlYmtpdCAueXQtdWktZWxsaXBzaXM6YmVmb3Jle2NvbnRlbnQ6bm9ybWFsfS53ZWJraXQgLnl0LXVpLWVsbGlwc2lzOmFmdGVye2NvbnRlbnQ6IuKAjCI7cG9zaXRpb246c3RhdGljO3Zpc2liaWxpdHk6aGlkZGVufS55dC11aS1lbGxpcHNpc1tkaXI9cnRsXTpiZWZvcmV7bGVmdDowO3JpZ2h0OmF1dG99YS55dHAtY2UtbGlua3tkaXNwbGF5OmJsb2NrfWEueXRwLWNlLWxpbmssYS55dHAtY2UtbGluazpob3ZlcixhLnl0cC1jZS1saW5rOnZpc2l0ZWR7Y29sb3I6IzE2N2FjNn1hLnl0cC1jZS1saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9Lnl0cC1jZS1zaGFkb3d7b3BhY2l0eTowO291dGxpbmU6c29saWQgIzAwMDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDoxMn0ueXRwLWNlLXNoYWRvdzpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1lbGVtZW50e2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNCk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCA0cHggcmdiYSgwLDAsMCwuNSk7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjUpO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6YmxvY2s7Zm9udC1mYW1pbHk6Um9ib3RvLEFyaWFsLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4zZW07bWFyZ2luOi0xcHg7cG9zaXRpb246YWJzb2x1dGU7LXdlYmtpdC1mb250LXNtb290aGluZzphdXRvO3otaW5kZXg6MTI7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjEycHg7cmlnaHQ6MTJweDt6LWluZGV4OjEzO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgLjJzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3Zpc2liaWxpdHk6aGlkZGVufS55dHAtY2UtaGlkZS1idXR0b24tY29udGFpbmVyLnl0cC1jZS1oaWRlLWJ1dHRvbi1sb3dlcnttYXJnaW4tdG9wOjQ4cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lcnttYXJnaW4tdG9wOjcycHh9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2UtZWxlbWVudCwuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1jZS1oaWRlLWJ1dHRvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtY2UtZWxlbWVudC55dHAtY2UtcGxhY2Vob2xkZXIgYS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtjdXJzb3I6ZGVmYXVsdH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtc2hvdywueXRwLWNlLWhpZGUtYnV0dG9uLWNvbnRhaW5lci55dHAtY2UtZWxlbWVudC1zaG93e29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5ke2JvcmRlcjoxcHggc29saWQgI2ZmZjtvdXRsaW5lOm5vbmU7ei1pbmRleDoxMztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMgbGluZWFyIDBzLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSksYm9yZGVyLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dmlzaWJpbGl0eTp2aXNpYmxlfS55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmZvY3VzLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZWxlbWVudC1zaG93OmhvdmVye291dGxpbmU6bm9uZX0ueXRwLWNlLWVsZW1lbnQtc2hhZG93e2JhY2tncm91bmQtY29sb3I6IzAwMDtib3R0b206LTFweDtsZWZ0Oi0xcHg7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0Oi0xcHg7dG9wOi0xcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6MTJ9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtc2hhZG93LXNob3cgLnl0cC1jZS1lbGVtZW50LXNoYWRvd3tvcGFjaXR5Oi4yNTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jZS1jb3ZlcmluZy1pbWFnZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO2JvdHRvbTotMnB4O2xlZnQ6LTFweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMXB4O3RvcDotMXB4fS55dHAtY2UtY292ZXJpbmctc2hhZG93LXRvcHtoZWlnaHQ6MzMlO29wYWNpdHk6Ljg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjMDAwLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjMDAwKSx0byh0cmFuc3BhcmVudCkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMDAwIDAsdHJhbnNwYXJlbnQpfS55dHAtY2UtY292ZXJpbmctb3ZlcmxheXtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3otaW5kZXg6MTJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtY2Utc2hhZG93e2Rpc3BsYXk6bm9uZX0ueXRwLWNlLXBsYXlsaXN0LC55dHAtY2UtdmlkZW97b3ZlcmZsb3c6aGlkZGVufS55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS12aWRlby10aXRsZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE0cHg7bWFyZ2luOjZweCA4cHg7bWF4LWhlaWdodDoyOHB4O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwuNCl9Lnl0cC1jZS1wbGF5bGlzdC10aXRsZS55dHAtd2Via2l0LWVsbGlwc2lzLC55dHAtY2UtdmlkZW8tdGl0bGUueXRwLXdlYmtpdC1lbGxpcHNpc3tkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1saW5lLWNsYW1wOjI7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNlLXZpZGVvLWR1cmF0aW9ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7bWFyZ2luOjAgNHB4IDRweCAwO3BhZGRpbmc6NHB4IDZweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowfS55dHAtY2UtbGl2ZS12aWRlby1kdXJhdGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMCwwKTtib3JkZXItcmFkaXVzOjJweDtib3R0b206MDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44KTttYXJnaW46MCA0cHggNHB4IDA7cGFkZGluZzo0cHggNnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjB9Lnl0cC1jZS1wbGF5bGlzdC1jb3VudHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjc1KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweH0ueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCk7aGVpZ2h0OjI0cHg7bGluZS1oZWlnaHQ6MjRweDttYXJnaW4tbGVmdDozMnB4fS55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAuMnMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dmlzaWJpbGl0eTpoaWRkZW59Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1jb250ZW50e2Rpc3BsYXk6dGFibGV9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5e2Rpc3BsYXk6dGFibGUtY2VsbDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXksLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1mb3JjZS1leHBhbmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXt6LWluZGV4OjEzO29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246dmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxib3JkZXItY29sb3IgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp2aXNpYmlsaXR5IDBzIGxpbmVhciAwcyxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGJvcmRlci1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1lbGVtZW50LWhvdmVyIC55dHAtY2UtZXhwYW5kaW5nLWltYWdlLC55dHAtY2UtZWxlbWVudC55dHAtY2UtZm9yY2UtZXhwYW5kIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle3otaW5kZXg6MTN9Lnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAwIDRweCAjMDAwO2JveC1zaGFkb3c6MCAwIDRweCAjMDAwO2hlaWdodDoxMDAlO2xlZnQ6MDttYXJnaW46LThweDtwYWRkaW5nOjhweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlfS55dHAtY2UtZXhwYW5kaW5nLWljb257YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToyMHB4IDIwcHg7YmFja2dyb3VuZC1zaXplOjIwcHggMjBweDtib3JkZXItcmFkaXVzOjJweDtib3R0b206MnB4O2hlaWdodDoyNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjJweDt3aWR0aDoyNHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWVsZW1lbnQtaG92ZXIgLnl0cC1jZS1leHBhbmRpbmctaWNvbiwueXRwLWNlLWVsZW1lbnQueXRwLWNlLWZvcmNlLWV4cGFuZCAueXRwLWNlLWV4cGFuZGluZy1pY29ue29wYWNpdHk6MH0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheXtsZWZ0OjA7cGFkZGluZy1sZWZ0OjEwMCU7dG9wOjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e3BhZGRpbmctcmlnaHQ6MTAwJTtyaWdodDowO3RvcDowfS55dHAtY2UtZWxlbWVudC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5e2JvdHRvbTowO2xlZnQ6MDtwYWRkaW5nLWxlZnQ6MTAwJX0ueXRwLWNlLWVsZW1lbnQueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXl7Ym90dG9tOjA7cGFkZGluZy1yaWdodDoxMDAlO3JpZ2h0OjB9Lnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWVsZW1lbnQtaG92ZXIsLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1jaGFubmVsLnl0cC1jZS1lbGVtZW50LXNob3cueXRwLWNlLWZvcmNlLWV4cGFuZCwueXRwLWNlLWVsZW1lbnQueXRwLWNlLW1lcmNoYW5kaXNlLnl0cC1jZS1lbGVtZW50LXNob3csLnl0cC1jZS1lbGVtZW50Lnl0cC1jZS1tZXJjaGFuZGlzZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2UtbWVyY2hhbmRpc2UueXRwLWNlLWVsZW1lbnQtc2hvdy55dHAtY2UtZm9yY2UtZXhwYW5kLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93LC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1lbGVtZW50LWhvdmVyLC55dHAtY2UtZWxlbWVudC55dHAtY2Utd2Vic2l0ZS55dHAtY2UtZWxlbWVudC1zaG93Lnl0cC1jZS1mb3JjZS1leHBhbmR7Ym9yZGVyOjA7bWFyZ2luOjB9Lnl0cC1jZS1jaGFubmVsLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJle2NvbG9yOiM3Njc2NzY7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXRvcDo0cHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1tcy10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnR9Lnl0cC1jZS1jaGFubmVsLXN1YnNjcmliZXJzLXRleHR7Y29sb3I6Izc2NzY3NjtkaXNwbGF5Om5vbmU7bWFyZ2luLWJvdHRvbToyNHB4O21hcmdpbi10b3A6NnB4fS55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtjb2xvcjojNzY3Njc2fS55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtib3JkZXItdG9wOjFweCBzb2xpZCAjZWJlYmViO2Rpc3BsYXk6bm9uZX0ueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDttYXgtaGVpZ2h0OjQycHh9Lnl0cC1jZS1jaGFubmVsLC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWVsZW1lbnQtc2hhZG93LC55dHAtY2UtY2hhbm5lbCAueXRwLWNlLWV4cGFuZGluZy1pbWFnZXtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utd2Vic2l0ZS10aXRsZXtjb2xvcjojMzMzO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tYm90dG9tOjJweH0ueXRwLWNlLW1lcmNoYW5kaXNlLW1ldGFkYXRhLC55dHAtY2UtbWVyY2hhbmRpc2UtcHJpY2UtY29udGFpbmVyLC55dHAtY2Utd2Vic2l0ZS1tZXRhZGF0YXtjb2xvcjojNzY3Njc2O21hcmdpbi10b3A6NHB4fS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2V7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1jZS13ZWJzaXRlLWdvdG97ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi10b3A6NHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoxMDAlfS55dHAtY2UtbWVyY2hhbmRpc2UgLnl0cC1jZS1leHBhbmRpbmctaW1hZ2UsLnl0cC1jZS13ZWJzaXRlIC55dHAtY2UtZXhwYW5kaW5nLWltYWdle2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM2NDY0NjQ7Zm9udC13ZWlnaHQ6ODAwO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tcmlnaHQ6NnB4fS55dHAtY2UtbWVyY2hhbmRpc2UtYWRkaXRpb25hbC1mZWVze2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiM3Njc2NzY7bWFyZ2luLXRvcDoycHg7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JvcmRlcjoxcHggIzAwMDtvcGFjaXR5Oi44O3BhZGRpbmc6MTBweCAwO3dpZHRoOjEwMCU7Ym90dG9tOjA7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YXtjb2xvcjojZmZmO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLWNlLXNpemUtMzQ2IC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lcntwYWRkaW5nOjJweCAwfS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXIsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWludmlkZW8tY3RhLWNvbnRhaW5lciwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtbWVyY2hhbmRpc2UtaW52aWRlby1jdGEtY29udGFpbmVyLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1pbnZpZGVvLWN0YS1jb250YWluZXJ7cGFkZGluZzo1cHggMH0ueXRwLWNlLWxhcmdlLXJvdW5kIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZCwueXRwLWNlLXBsYXlsaXN0Lnl0cC1jZS1sYXJnZS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1sYXJnZS1yb3VuZHtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1jZS1tZWRpdW0tcm91bmQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5kLC55dHAtY2UtcGxheWxpc3QueXRwLWNlLW1lZGl1bS1yb3VuZCwueXRwLWNlLXZpZGVvLnl0cC1jZS1tZWRpdW0tcm91bmR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1jZS1wbGF5bGlzdC55dHAtY2Utc21hbGwtcm91bmQsLnl0cC1jZS1zbWFsbC1yb3VuZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmQsLnl0cC1jZS12aWRlby55dHAtY2Utc21hbGwtcm91bmR7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0cC1jZS1tZXJjaGFuZGlzZS1nb3Rve2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MTAwJX0ueXRwLWNlLXNpemUtMzQ2e2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1jb3ZlcmluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjExNXB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTM0Ni55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAwIDAgOHB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDhweCAwIDB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJhY2tncm91bmR7bWFyZ2luOi04cHg7cGFkZGluZzo4cHh9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbToycHg7cmlnaHQ6MnB4fS55dHAtY2Utc2l6ZS0zNDYueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7bWFyZ2luLXRvcDowfS55dHAtY2Utc2l6ZS00MjZ7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWNvdmVyaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTE1cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDI2Lnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQyNi55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTQyNi55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXttYXJnaW4tdG9wOjB9Lnl0cC1jZS1zaXplLTM0NiAueXRwLWNlLXBsYXlsaXN0LXRpdGxlLC55dHAtY2Utc2l6ZS0zNDYgLnl0cC1jZS12aWRlby10aXRsZSwueXRwLWNlLXNpemUtNDI2IC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTQyNiAueXRwLWNlLXZpZGVvLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7bWF4LXdpZHRoOjg1JX0ueXRwLWNlLXNpemUtNDcwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtNDcwIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4fS55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZz46bm90KC55dHAtY2Utc3Vic2NyaWJlLWNvbnRhaW5lcil7d2lkdGg6MTM2cHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNDcwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDRweCAwIDEycHh9Lnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTQ3MC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgMTJweCAwIDRweH0ueXRwLWNlLXNpemUtNDcwIC55dHAtY2UtZXhwYW5kaW5nLWljb257Ym90dG9tOjRweDtyaWdodDo0cHh9Lnl0cC1jZS1zaXplLTUwNntmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtY2hhbm5lbC10aXRsZSwueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLWNlLXNpemUtNTA2IC55dHAtY2UtbWVyY2hhbmRpc2UtZ290bywueXRwLWNlLXNpemUtNTA2IC55dHAtY2Utd2Vic2l0ZS1nb3Rve2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjEzNnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTUwNi55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA0cHggMCAxMnB4fS55dHAtY2Utc2l6ZS01MDYueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01MDYueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDEycHggMCA0cHh9Lnl0cC1jZS1zaXplLTUwNiAueXRwLWNlLWV4cGFuZGluZy1pY29ue2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS55dHAtY2Utc2l6ZS01NzB7Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTU3MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS01NzAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNHB4IDAgMTJweH0ueXRwLWNlLXNpemUtNTcwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNTcwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxMnB4IDAgNHB4fS55dHAtY2Utc2l6ZS01NzAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206NHB4O3JpZ2h0OjRweH0ueXRwLWNlLXNpemUtNjQwe2ZvbnQtc2l6ZToxMnB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTVweDttYXgtaGVpZ2h0OjMwcHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLXRpdGxlLC55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjE1cHh9Lnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTY0MCAueXRwLWNlLXdlYnNpdGUtZ290b3tmb250LXNpemU6MTJweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21pbi13aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoxMzZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS02NDAueXRwLWNlLXRvcC1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgOHB4IDAgMTZweH0ueXRwLWNlLXNpemUtNjQwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtNjQwLnl0cC1jZS10b3AtcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgOHB4fS55dHAtY2Utc2l6ZS02NDAgLnl0cC1jZS1leHBhbmRpbmctaWNvbntib3R0b206OHB4O3JpZ2h0OjhweH0ueXRwLWNlLXNpemUtODUze2ZvbnQtc2l6ZToxNHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tdGl0bGV7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MThweDttYXJnaW46MTBweCAxMnB4O21heC1oZWlnaHQ6MzZweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgNnB4IDZweCAwfS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtODUzIC55dHAtY2Utd2Vic2l0ZS10aXRsZXtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxOHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS13ZWJzaXRlLWdvdG97Zm9udC1zaXplOjEycHh9Lnl0cC1jZS1zaXplLTg1My55dHAtY2UtY2hhbm5lbC10aGlzIC55dHAtY2UtY2hhbm5lbC1tZXRhZGF0YXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNHB4O21hcmdpbi10b3A6OHB4O3BhZGRpbmctdG9wOjhweDttYXgtaGVpZ2h0OjQycHg7ZGlzcGxheTpibG9ja30ueXRwLWNlLXNpemUtODUzLnl0cC1jZS1jaGFubmVsLXRoYXQgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjE4cHg7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDo1NHB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjE3NnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1sZWZ0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTg1My55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCA4cHggMCAxNnB4fS55dHAtY2Utc2l6ZS04NTMueXRwLWNlLWJvdHRvbS1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS04NTMueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDE2cHggMCA4cHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLWV4cGFuZGluZy1pY29uey13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI0cHggMjRweDtiYWNrZ3JvdW5kLXNpemU6MjRweCAyNHB4O2JvdHRvbTo4cHg7aGVpZ2h0OjMycHg7cmlnaHQ6OHB4O3dpZHRoOjMycHh9Lnl0cC1jZS1zaXplLTg1MyAueXRwLWNlLXBsYXlsaXN0LWljb257bGVmdDo4cHg7dG9wOjRweH0ueXRwLWNlLXNpemUtODUzIC55dHAtY2UtcGxheWxpc3QtY291bnQtdGV4dHtoZWlnaHQ6MzJweDtsaW5lLWhlaWdodDozMnB4O21hcmdpbi1sZWZ0OjQwcHh9Lnl0cC1jZS1zaXplLTEyODB7Zm9udC1zaXplOjE4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1wbGF5bGlzdC10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXZpZGVvLXRpdGxle2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjE4cHggMjBweDttYXgtaGVpZ2h0OjQ4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS12aWRlby1kdXJhdGlvbnttYXJnaW46MCAxMnB4IDEycHggMH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLWNoYW5uZWwtdGl0bGUsLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS10aXRsZSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtdGl0bGV7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLWdvdG8sLnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1tZXJjaGFuZGlzZS1tZXRhZGF0YSwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLW1lcmNoYW5kaXNlLXByaWNlLWNvbnRhaW5lciwueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtZ290bywueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXdlYnNpdGUtbWV0YWRhdGF7Zm9udC1zaXplOjE4cHg7bWFyZ2luLXRvcDo4cHh9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIxcHg7bWF4LWhlaWdodDo2M3B4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjMycHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9Lnl0cC1jZS1zaXplLTEyODAueXRwLWNlLWNoYW5uZWwtdGhhdCAueXRwLWNlLWNoYW5uZWwtc3Vic2NyaWJlcnMtdGV4dHtkaXNwbGF5OmJsb2NrfS55dHAtY2Utc2l6ZS0xMjgwLnl0cC1jZS1jaGFubmVsLXRoaXMgLnl0cC1jZS1jaGFubmVsLW1ldGFkYXRhe21hcmdpbi10b3A6MTJweDtwYWRkaW5nLXRvcDoxMnB4O2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTEyODAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWluLXdpZHRoOjI2NHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nPjpub3QoLnl0cC1jZS1zdWJzY3JpYmUtY29udGFpbmVyKXt3aWR0aDoyNjRweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtdG9wLWxlZnQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttYXJnaW46MCAxNnB4IDAgMzJweH0ueXRwLWNlLXNpemUtMTI4MC55dHAtY2UtYm90dG9tLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmcsLnl0cC1jZS1zaXplLTEyODAueXRwLWNlLXRvcC1yaWdodC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDMycHggMCAxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYmFja2dyb3VuZHttYXJnaW46LTE2cHg7cGFkZGluZzoxNnB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtZXhwYW5kaW5nLWljb257LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O2JhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7Ym90dG9tOjEwcHg7aGVpZ2h0OjQwcHg7cmlnaHQ6MTBweDt3aWR0aDo0MHB4fS55dHAtY2Utc2l6ZS0xMjgwIC55dHAtY2UtcGxheWxpc3QtaWNvbntsZWZ0OjEwcHg7dG9wOjhweH0ueXRwLWNlLXNpemUtMTI4MCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweDttYXJnaW4tbGVmdDo0NnB4fS55dHAtY2Utc2l6ZS0xOTIwe2ZvbnQtc2l6ZToyOHB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtcGxheWxpc3QtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS12aWRlby10aXRsZXtmb250LXNpemU6MzJweDtsaW5lLWhlaWdodDozOHB4O21hcmdpbjoxOHB4IDIwcHg7bWF4LWhlaWdodDo3NnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtdmlkZW8tZHVyYXRpb257bWFyZ2luOjAgMjBweCAyMHB4IDB9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1jaGFubmVsLXRpdGxlLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtdGl0bGUsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLXRpdGxle2ZvbnQtc2l6ZTozMnB4O2xpbmUtaGVpZ2h0OjM4cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1nb3RvLC55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtbWVyY2hhbmRpc2UtbWV0YWRhdGEsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1tZXJjaGFuZGlzZS1wcmljZS1jb250YWluZXIsLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLWdvdG8sLnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS13ZWJzaXRlLW1ldGFkYXRhe2ZvbnQtc2l6ZToyOHB4O21hcmdpbi10b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzRweDttYXgtaGVpZ2h0OjEwMnB4fS55dHAtY2Utc2l6ZS0xOTIwIC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmV7aGVpZ2h0OjgwcHg7bWFyZ2luLXRvcDotMTZweDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyLjUpOy1tcy10cmFuc2Zvcm06c2NhbGUoMi41KTt0cmFuc2Zvcm06c2NhbGUoMi41KX0ueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtY2hhbm5lbC10aGF0IC55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmVycy10ZXh0e2Rpc3BsYXk6YmxvY2t9Lnl0cC1jZS1zaXplLTE5MjAueXRwLWNlLWNoYW5uZWwtdGhpcyAueXRwLWNlLWNoYW5uZWwtbWV0YWRhdGF7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjE4cHg7cGFkZGluZy10b3A6MThweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZ3ttaW4td2lkdGg6MzkycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmc+Om5vdCgueXRwLWNlLXN1YnNjcmliZS1jb250YWluZXIpe3dpZHRoOjM5MnB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5nLC55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS10b3AtbGVmdC1xdWFkIC55dHAtY2UtZXhwYW5kaW5nLW92ZXJsYXktYm9keS1wYWRkaW5ne21hcmdpbjowIDI0cHggMCA0OHB4fS55dHAtY2Utc2l6ZS0xOTIwLnl0cC1jZS1ib3R0b20tcmlnaHQtcXVhZCAueXRwLWNlLWV4cGFuZGluZy1vdmVybGF5LWJvZHktcGFkZGluZywueXRwLWNlLXNpemUtMTkyMC55dHAtY2UtdG9wLXJpZ2h0LXF1YWQgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1ib2R5LXBhZGRpbmd7bWFyZ2luOjAgNDhweCAwIDI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctb3ZlcmxheS1iYWNrZ3JvdW5ke21hcmdpbjotMjRweDtwYWRkaW5nOjI0cHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1leHBhbmRpbmctaWNvbnstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo1NnB4IDU2cHg7YmFja2dyb3VuZC1zaXplOjU2cHggNTZweDtib3R0b206MjBweDtoZWlnaHQ6NjJweDtyaWdodDoyMHB4O3dpZHRoOjYycHh9Lnl0cC1jZS1zaXplLTE5MjAgLnl0cC1jZS1wbGF5bGlzdC1pY29ue2xlZnQ6MTJweDt0b3A6MTJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWljb257aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLWNlLXNpemUtMTkyMCAueXRwLWNlLXBsYXlsaXN0LWNvdW50LXRleHR7aGVpZ2h0OjU2cHg7bGluZS1oZWlnaHQ6NTZweDttYXJnaW4tbGVmdDo1NnB4fS55dHAtY2UtY2hhbm5lbC1zdWJzY3JpYmUueXRwLWNlLXN1YnNjcmliZS1idXR0b257aGVpZ2h0OmF1dG87bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfS55dHAtY2Utc2l6ZS0zNDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTM0NiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00MjYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQyNiAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS00NzAgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTQ3MCAueXRwLXNiLXVuc3Vic2NyaWJlLC55dHAtY2Utc2l6ZS01MDYgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1jZS1zaXplLTUwNiAueXRwLXNiLXVuc3Vic2NyaWJle2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6OHB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlse2JhY2tncm91bmQtc2l6ZTpjb250YWluOy1tb3otYmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbn0ueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7LW1vei1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Lnl0cC1leHAtZnJhbWUwIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXt6LWluZGV4OjEwfS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS55dHAtZXhwLWNvbnRhaW4tdGh1bWJuYWlsIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjstbW96LWJhY2tncm91bmQtc2l6ZTpjb250YWluOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW59LmVuZGVkLW1vZGUgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pLC51bnN0YXJ0ZWQtbW9kZTpub3QoLnBsYXlpbmctbW9kZSkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5Om5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtY2hhcHRlci1zZWVrLXRleHR7ZGlzcGxheTpub25lO3dpZHRoOjgwJTttYXJnaW4tbGVmdDoxMCU7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWNoYXB0ZXItc2VlayAueXRwLWNoYXB0ZXItc2Vlay10ZXh0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9ja31ALXdlYmtpdC1rZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtMXswJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6Ljl9MzMle29wYWNpdHk6LjZ9NTAle29wYWNpdHk6LjN9Njcle29wYWNpdHk6LjN9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTF7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi45fTMzJXtvcGFjaXR5Oi42fTUwJXtvcGFjaXR5Oi4zfTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QC13ZWJraXQta2V5ZnJhbWVzIGFycm93LWZhZGUtb3V0LTJ7MCV7b3BhY2l0eTowfTE3JXtvcGFjaXR5Oi4zfTMzJXtvcGFjaXR5Oi45fTUwJXtvcGFjaXR5Oi42fTY3JXtvcGFjaXR5Oi4zfTgzJXtvcGFjaXR5Oi4zfXRve29wYWNpdHk6MH19QGtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0yezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouOX01MCV7b3BhY2l0eTouNn02NyV7b3BhY2l0eTouM304MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBhcnJvdy1mYWRlLW91dC0zezAle29wYWNpdHk6MH0xNyV7b3BhY2l0eTouM30zMyV7b3BhY2l0eTouM301MCV7b3BhY2l0eTouOX02NyV7b3BhY2l0eTouNn04MyV7b3BhY2l0eTouM310b3tvcGFjaXR5OjB9fUBrZXlmcmFtZXMgYXJyb3ctZmFkZS1vdXQtM3swJXtvcGFjaXR5OjB9MTcle29wYWNpdHk6LjN9MzMle29wYWNpdHk6LjN9NTAle29wYWNpdHk6Ljl9Njcle29wYWNpdHk6LjZ9ODMle29wYWNpdHk6LjN9dG97b3BhY2l0eTowfX0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3l7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNkZGQ7ei1pbmRleDoxOX0ueXRwLWRvdWJsZXRhcC1mYXN0LWZvcndhcmQtdmUsLnl0cC1kb3VibGV0YXAtcmV3aW5kLXZle29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6IzAwMDtvcGFjaXR5Oi4yO3otaW5kZXg6LTF9Lnl0cC1kb3VibGV0YXAtc3RhdGljLWNpcmNsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7b3ZlcmZsb3c6aGlkZGVufS55dHAtZG91YmxldGFwLXJpcHBsZXtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjIxLDIyMSwyMjEsLjE1KTstd2Via2l0LWFuaW1hdGlvbjpncm93LWNpcmNsZSAuOXMgMTthbmltYXRpb246Z3Jvdy1jaXJjbGUgLjlzIDE7dmVydGljYWwtYWxpZ246bWlkZGxlfUAtd2Via2l0LWtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19QGtleWZyYW1lcyBncm93LWNpcmNsZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKTt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlWSgtMjUlKX19Lnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NTAlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeS55dHAtdGltZS1zZWVraW5nIC55dHAtZG91YmxldGFwLW92ZXJsYXktYTExeXtkaXNwbGF5Om5vbmV9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5Lnl0cC1jaGFwdGVyLXNlZWsgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcnt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWJhY2tdOm5vdCgueXRwLWNoYXB0ZXItc2VlaykgLnl0cC1kb3VibGV0YXAtc2Vlay1pbmZvLWNvbnRhaW5lcntsZWZ0OjEwJTt0ZXh0LWFsaWduOmxlZnR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1mb3J3YXJkXTpub3QoLnl0cC1jaGFwdGVyLXNlZWspIC55dHAtZG91YmxldGFwLXNlZWstaW5mby1jb250YWluZXJ7bGVmdDo4MCU7dGV4dC1hbGlnbjpsZWZ0fS55dHAtZG91YmxldGFwLXRvb2x0aXB7cGFkZGluZy10b3A6OHB4O2NvbG9yOiNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC10b29sdGlwe21hcmdpbi1sZWZ0OjhweH0ueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLXRvb2x0aXB7bWFyZ2luLWxlZnQ6LTVweH0ueXRwLWRvdWJsZXRhcC10b29sdGlwLWxhYmVse3RleHQtYWxpZ246bGVmdDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zZWVrLWljb24tdGV4dC1jb250YWluZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWxlZnQ6MTAlO3dpZHRoOjgwJX0ueXRwLXNlZWstaWNvbnttYXJnaW4tcmlnaHQ6NXB4fS55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6bm9uZTtmb250LXNpemU6MThweDtmb250LXdlaWdodDo3MDA7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtY2hhcHRlci1zZWVrIC55dHAtY2hhcHRlci1zZWVrLXRleHQtbGVnYWN5e2Rpc3BsYXk6YmxvY2t9Lnl0cC1kb3VibGV0YXAtYXJyb3dzLWNvbnRhaW5lcnt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3t3aWR0aDowO2hlaWdodDowO2JvcmRlcjoxMHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206N3B4IHNvbGlkIHRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxLjJzO2FuaW1hdGlvbi1kdXJhdGlvbjoxLjJzOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9Zm9yd2FyZF0gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvd3tib3JkZXItbGVmdDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93e2JvcmRlci1yaWdodDoxMXB4IHNvbGlkICNkZGR9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgzKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6Zmlyc3QtY2hpbGR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0xO2FuaW1hdGlvbi1uYW1lOmFycm93LWZhZGUtb3V0LTF9Lnl0cC1kb3VibGV0YXAtdWktbGVnYWN5W2RhdGEtc2lkZT1iYWNrXSAueXRwLWRvdWJsZXRhcC1iYXNlLWFycm93Om50aC1jaGlsZCgyKSwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDIpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMjthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0yfS55dHAtZG91YmxldGFwLXVpLWxlZ2FjeVtkYXRhLXNpZGU9YmFja10gLnl0cC1kb3VibGV0YXAtYmFzZS1hcnJvdzpmaXJzdC1jaGlsZCwueXRwLWRvdWJsZXRhcC11aS1sZWdhY3lbZGF0YS1zaWRlPWZvcndhcmRdIC55dHAtZG91YmxldGFwLWJhc2UtYXJyb3c6bnRoLWNoaWxkKDMpey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXJyb3ctZmFkZS1vdXQtMzthbmltYXRpb24tbmFtZTphcnJvdy1mYWRlLW91dC0zfS55dHAtc2Vlay1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MTA7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lO2RpcmVjdGlvbjpsdHJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtc2Vlay1vdmVybGF5e2Rpc3BsYXk6bm9uZX0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MH0ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24ueXRwLXNlZWstb3ZlcmxheS1hbmltYXRpb24tYmFja3tsZWZ0OjQ4cHh9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmR7cmlnaHQ6NDhweH0ueXRwLXNlZWstb3ZlcmxheS1kdXJhdGlvbntjb2xvcjp3aGl0ZTtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDoyNHB4O2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsLjgpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1iYWNrIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1yaWdodDoyMHB4fS55dHAtc2Vlay1vdmVybGF5LWFuaW1hdGlvbi1mb3J3YXJkIC55dHAtc2Vlay1vdmVybGF5LWFycm93e21hcmdpbi1sZWZ0OjIwcHh9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3Zne2Rpc3BsYXk6YmxvY2t9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3cgc3ZnIHBhdGh7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIC41cHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgLjVweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctcGVyc2lzdGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9Lnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zbGF0ZTowIC01MCV9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWJhY2sgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtsZWZ0OjB9Lnl0cC1zZWVrLW92ZXJsYXktYW5pbWF0aW9uLWZvcndhcmQgLnl0cC1zZWVrLW92ZXJsYXktYXJyb3ctYWRkaXRpb25hbHtyaWdodDowfS55dHAtc2Vlay1vdmVybGF5LW1lc3NhZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7bWF4LXdpZHRoOmNhbGMoMTAwJSAtIDE4MHB4KX0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLWljb246bm90KDplbXB0eSl7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXNlZWstb3ZlcmxheS1tZXNzYWdlLXRleHR7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NzAwO3RleHQtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwuOCk7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtbW9yZS12aWRlb3Mtdmlld3tvdmVyZmxvdzpoaWRkZW59Lnl0cC1tb3JlLXZpZGVvcy12aWV3IGEueXRwLXN1Z2dlc3Rpb24tbGluazpmb2N1czphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDt3aWR0aDppbmhlcml0O2hlaWdodDppbmhlcml0Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1tb3JlLXZpZGVvcy12aWV3Lnl0cC1zY3JvbGwtbWF4IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXN7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTo3MHB4O21hcmdpbjoyNHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MTJweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWJvdHRvbToyNHB4O2ZvbnQtc2l6ZToyOHB4O2xpbmUtaGVpZ2h0OjMycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3W2FyaWEtaGlkZGVuPXRydWVdIGEueXRwLXN1Z2dlc3Rpb24tbGlua3tvcGFjaXR5OjB9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7b3ZlcmZsb3cteDphdXRvfS55dHAtdG91Y2gtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uczo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbnN7aGVpZ2h0OjE4MHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24taW1hZ2V7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcG9zaXRpb246NTAlOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3JkZXItcmFkaXVzOjhweDtoZWlnaHQ6MTA4cHg7d2lkdGg6MTkycHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtbmV4dCwueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3tiYWNrZ3JvdW5kOiMzMzM7Ym9yZGVyLXJhZGl1czo1MCU7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgMXB4IDVweCByZ2JhKDAsMCwwLC4yKTtoZWlnaHQ6MzJweDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTAlKTt3aWR0aDozMnB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQ6aG92ZXIsLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtcHJldmlvdXM6aG92ZXJ7LXdlYmtpdC1ib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgNHB4IDVweCByZ2JhKDAsMCwwLC4yKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHQsLnl0cC1iaWctbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1wcmV2aW91c3toZWlnaHQ6NjRweDt3aWR0aDo2NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLW5leHR7cmlnaHQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXByZXZpb3Vze2xlZnQ6NHB4fS55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbmt7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDo0cHg7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpsZWZ0O3RvcDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtib3R0b206MDtmb250LXNpemU6MTJweDtsZWZ0OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjA7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgxMiwxMiwxMiwuOCksdHJhbnNwYXJlbnQgMTAwcHgpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDEyLDEyLDEyLC44KSAwLHRyYW5zcGFyZW50IDEwMHB4KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtmb250LXNpemU6MjBweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtc2hvcnRzLW1vZGUpIC55dHAtbW9yZS12aWRlb3MtdmlldyBhLnl0cC1zdWdnZXN0aW9uLWxpbms6aG92ZXIgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7b3BhY2l0eToxfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257YmFja2dyb3VuZDojMDAwO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbTo0cHg7Zm9udC1zaXplOjExcHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouNzU7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb257Zm9udC1zaXplOjE3cHh9Lnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbltkYXRhLWlzLWxpdmU9dHJ1ZV17YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb246ZW1wdHksLnl0cC1zaG9ydHMtbW9kZSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2Rpc3BsYXk6bm9uZX0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxlLC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6cHJlLXdyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy12aWV3IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNob3J0cy1tb2RlIC55dHAtbW9yZS12aWRlb3MtdmlldyAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MThweH0ueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLXNob3J0cy1tb2RlKSAueXRwLW1vcmUtdmlkZW9zLXZpZXcgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21heC1oZWlnaHQ6MzBweH0ueXRwLWltcHJlc3Npb24tbGlua3tiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjgpO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjJweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czoycHg7Ym90dG9tOjVweDtoZWlnaHQ6NDdweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLWltcHJlc3Npb24tbGluay10ZXh0e2NvbG9yOndoaXRlO2Zsb2F0OmxlZnQ7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tdG9wOjE2cHh9Lnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3tmbG9hdDpyaWdodDtoZWlnaHQ6MTZweDttYXJnaW4tbGVmdDo5cHg7bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLXRvcDoxNnB4O3dpZHRoOjcycHh9Lnl0cC1tdXNpYy1pbXByZXNzaW9uLWxpbmsgLnl0cC1pbXByZXNzaW9uLWxpbmstbG9nb3ttYXJnaW4tdG9wOjE0cHg7bWFyZ2luLWxlZnQ6MDtoZWlnaHQ6MTlweH0ueXRwLW1vYmlsZS1hMTF5LWhpZGRlbi1zZWVrLWJ1dHRvbi1mb3J3YXJkLC55dHAtbW9iaWxlLWExMXktaGlkZGVuLXNlZWstYnV0dG9uLXJld2luZHt3aWR0aDoxcHg7aGVpZ2h0OjFweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5LC55dHAtbXV0ZWQtYXV0b3BsYXktb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwMDE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7YmFja2dyb3VuZC1zaXplOmNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOmNvdmVyOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXlbYXJpYS1oaWRkZW49dHJ1ZV0sLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25ze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjExcHg7Ym90dG9tOjB9Lnl0cC1tdXRlZC1hdXRvcGxheS1ib3R0b20tYnV0dG9ucyAueXRwLWJ1dHRvbiwueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjt6LWluZGV4OnVuc2V0O21hcmdpbjowIDRweH0ueXRwLW11dGVkLWF1dG9wbGF5LWJvdHRvbS1idXR0b25zIC55dHAtd2F0ZXJtYXJre3JpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya3tvcGFjaXR5OjF9Lnl0cC13YXRlcm1hcmsueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFya1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXktZXF1YWxpemVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG87Ym90dG9tOjhweH0ueXRwLWVtYmVkLW1vYmlsZSAueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplcntib3R0b206MTBweH0ueXRwLW11dGVkLWF1dG9wbGF5LWVxdWFsaXplci1pY29ue21hcmdpbjphdXRvO3RvcDozcHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lcXVhbGl6ZXItaWNvbnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtbXV0ZWQtYXV0b3BsYXktZW5kLXBhbmVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luOjAgMTAlO2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LXNob3ctZW5kLXBhbmVsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpfS55dHAtbXV0ZWQtYXV0b3BsYXktc2hvdy1lbmQtcGFuZWwgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtcGFuZWx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXA7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHtwb3NpdGlvbjphYnNvbHV0ZTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7bWFyZ2luLXRvcDo0MHB4fS55dHAtc2hvcnRzLW1vZGUgLnl0cC1tdXRlZC1hdXRvcGxheS1lbmQtdGV4dHttYXJnaW4tdG9wOjkwcHh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX1Aa2V5ZnJhbWVzIHl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjUpO3RyYW5zZm9ybTpzY2FsZVkoLjUpfXRvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRwLWVxdWFsaXplci1iYXItbGVmdCwueXRwLWVxdWFsaXplci1iYXItbWlkZGxlLC55dHAtZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDstbXMtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uO2FuaW1hdGlvbi1uYW1lOnl0cC1lcXVhbGl6ZXItYW5pbWF0aW9uOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dHAtZXF1YWxpemVyLWJhci1sZWZ0ey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi41czthbmltYXRpb24tZHVyYXRpb246LjVzfS55dHAtZXF1YWxpemVyLWJhci1taWRkbGV7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MS4zczthbmltYXRpb24tZHVyYXRpb246MS4zc30ueXRwLWVxdWFsaXplci1iYXItcmlnaHR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjdzO2FuaW1hdGlvbi1kdXJhdGlvbjouN3N9Lnl0cC1wYXVzZS1vdmVybGF5e2JvcmRlci1yYWRpdXM6OHB4O2JvdHRvbTo0OXB4O2RpcmVjdGlvbjpsdHI7bGVmdDowO21hcmdpbjoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NDI7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wYXVzZS1vdmVybGF5W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1wYXVzZS1vdmVybGF5LWNvbnRyb2xzLWhpZGRlbiAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOjB9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAuYWQtb3ZlcmxheSwueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC5jYXB0aW9uLXdpbmRvd3tkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5IC55dHAtcGF1c2Utb3ZlcmxheXtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cmlnaHQ6MH0ueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXl7Ym90dG9tOmF1dG99Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcGF1c2Utb3ZlcmxheXtvcGFjaXR5Oi4yfS55dHAtY2Utc2hvd24gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYXVzZS1vdmVybGF5LC55dHAtbWVudS1zaG93biAueXRwLXBhdXNlLW92ZXJsYXksLnl0cC1zZXR0aW5ncy1zaG93biAueXRwLXBhdXNlLW92ZXJsYXl7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWNvbGxhcHNlLC5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZXhwYW5kLXBhdXNlLW92ZXJsYXkpIC55dHAtcGF1c2Utb3ZlcmxheSAueXRwLW5leHQsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcHJldmlvdXMsLmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSkgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZSwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWV4cGFuZC1wYXVzZS1vdmVybGF5KSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tkaXNwbGF5Om5vbmV9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5e3BhZGRpbmc6MjRweCAzMnB4IDMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2V7aGVpZ2h0OjIwcHg7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMHB4O3RvcDoxMnB4O3dpZHRoOjIwcHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6NDhweDtyaWdodDowO3RvcDowO3dpZHRoOjQ4cHh9Lnl0cC1tb2JpbGUueXRwLWVtYmVkLW1vYmlsZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZS1pY29ue21hcmdpbjphdXRvO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MzJweDtyaWdodDozNnB4O3RvcDoyNHB4O3dpZHRoOjMycHh9Lnl0cC1wYXVzZS1vdmVybGF5IC55dHAtY29sbGFwc2U6aG92ZXJ7b3BhY2l0eToxfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpO2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjMycHg7cGFkZGluZzowIDEwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9iaWxlLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2hlaWdodDo0OHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYXVzZS1vdmVybGF5IC55dHAtZXhwYW5ke2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToyNHB4O3BhZGRpbmc6MTBweCAxNXB4fS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpfS55dHAtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZCBzdmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjI0cHg7bWFyZ2luLWJvdHRvbToycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXBhdXNlLW92ZXJsYXkgLnl0cC1leHBhbmQgc3Zne3dpZHRoOjMycHg7aGVpZ2h0OjMycHh9Lnl0cC1leHBhbmQtcGF1c2Utb3ZlcmxheSAueXRwLWV4cGFuZHtkaXNwbGF5Om5vbmV9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3B7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtvcGFjaXR5OjE7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjI0Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IDFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXBhdXNlLW92ZXJsYXktYmFja2Ryb3BbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheXtib3JkZXItcmFkaXVzOjJweDtib3R0b206OHB4O2xlZnQ6OHB4O3JpZ2h0OjhweDttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwYWRkaW5nOjE2cHggMjRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXl7cGFkZGluZzoxMnB4IDI0cHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5e2JvdHRvbTozMnB4O2xlZnQ6MjhweDtyaWdodDoyOHB4fS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91cywueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS55dHAtc2Nyb2xsLW1heCAueXRwLW5leHQsLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkueXRwLXNjcm9sbC1taW4gLnl0cC1wcmV2aW91cywueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtdG91Y2gtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2Rpc3BsYXk6bm9uZX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXJlbGF0ZWQtdGl0bGV7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1yZWxhdGVkLXRpdGxle21hcmdpbi1sZWZ0OjhweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjI0cHg7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzJweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb25ze2RpcmVjdGlvbjpsdHI7b3ZlcmZsb3c6aGlkZGVuO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tdG9wOjhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3ttYXJnaW4tdG9wOjZweH0ueXRwLXRvdWNoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uc3tvdmVyZmxvdy14OmF1dG99Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWltYWdle2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwOHB4O3dpZHRoOjE5MnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2JhY2tncm91bmQ6IzMzMztib3JkZXItcmFkaXVzOjUwJTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCAxcHggNXB4IHJnYmEoMCwwLDAsLjIpO2hlaWdodDozMnB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7Ym90dG9tOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dCwueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7aGVpZ2h0OjY0cHg7d2lkdGg6NjRweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLW5leHR7cmlnaHQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0e3JpZ2h0OjMycHh9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtbmV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2xlZnQ6MjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1wcmV2aW91c3tsZWZ0OmFkZCgyNHB4LDhweCl9W2Rpcj1ydGxdIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcHJldmlvdXN7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSl9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5re21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6OHB4fS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5e2JvdHRvbTowO2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MDtvcGFjaXR5OjA7cGFkZGluZzo4cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDEyLDEyLDEyLC44KSx0cmFuc3BhcmVudCAxMDBweCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMTIsMTIsMTIsLjgpIDAsdHJhbnNwYXJlbnQgMTAwcHgpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLW92ZXJsYXl7Zm9udC1zaXplOjIwcHh9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgYS55dHAtc3VnZ2VzdGlvbi1saW5rOmZvY3VzIC55dHAtc3VnZ2VzdGlvbi1vdmVybGF5LC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IGEueXRwLXN1Z2dlc3Rpb24tbGluazpob3ZlciAueXRwLXN1Z2dlc3Rpb24tb3ZlcmxheXtvcGFjaXR5OjF9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWxpbmsgLnl0cC1zdWdnZXN0aW9uLWR1cmF0aW9ue2JhY2tncm91bmQ6IzAwMDtib3JkZXItcmFkaXVzOjJweDtib3R0b206NHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxO29wYWNpdHk6Ljk7cGFkZGluZzoycHggNHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1saW5rIC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbntmb250LXNpemU6MTdweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tbGluayAueXRwLXN1Z2dlc3Rpb24tZHVyYXRpb25bZGF0YS1pcy1saXZlPXRydWVde2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1lcnJvci1pbmRpY2F0b3IsI2UxMDAyZCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLWF1dGhvciwueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjhweDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoxOHB4O21heC1oZWlnaHQ6MzBweH0ueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXN1Z2dlc3Rpb24tYXV0aG9ye29wYWNpdHk6Ljc7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTZweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1uZXh0LC55dHAtc21hbGwtbW9kZSAueXRwLXJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheSAueXRwLXByZXZpb3Vze2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtcmVsYXRlZC10aXRsZXttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXkgLnl0cC1zdWdnZXN0aW9uLXRpdGxle21hcmdpbi10b3A6NnB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcmVsYXRlZC1vbi1lcnJvci1vdmVybGF5IC55dHAtc3VnZ2VzdGlvbi1hdXRob3J7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTJweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjExMHB4O2hlaWdodDoyNnB4O2JvdHRvbTozOHB4O3otaW5kZXg6Mjg7b3BhY2l0eTouOTtwYWRkaW5nLXRvcDoxMXB4O3BhZGRpbmctYm90dG9tOjExcHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyazpub3QoLnl0cC1tdXRlZC1hdXRvcGxheS13YXRlcm1hcmspe3JpZ2h0OjE2cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXdhdGVybWFyay55dHAtd2F0ZXJtYXJrLXNtYWxse3dpZHRoOjg1cHg7aGVpZ2h0OjIwcHh9Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJre2JvdHRvbTo1OXB4fS55dHAtaGlkZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjVweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW5hdGl2ZS1jb250cm9sczpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcmt7Ym90dG9tOjUwcHg7bGVmdDoxNnB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbm8taG92ZXIpOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayk6aG92ZXJ7b3BhY2l0eToxfTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1tdXRlZC1hdXRvcGxheS1vdmVybGF5IC55dHAtd2F0ZXJtYXJre3Bvc2l0aW9uOnJlbGF0aXZlO2JvdHRvbTowfS55dHAtYXV0b2hpZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtd2F0ZXJtYXJrOm5vdCgueXRwLW11dGVkLWF1dG9wbGF5LXdhdGVybWFyayl7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC13YXRlcm1hcms6bm90KC55dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrKXtkaXNwbGF5Om5vbmV9Om5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVue2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OmhpZGRlbjt6LWluZGV4OjM2fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tdGFrZW92ZXIuaHRtbDUtZW5kc2NyZWVue2Rpc3BsYXk6bm9uZX0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ286bm90KC55dHAtbXdlYi1wbGF5ZXIpIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLWJpZy1tb2RlLnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvOm5vdCgueXRwLW13ZWItcGxheWVyKSAuaHRtbDUtZW5kc2NyZWVuOm5vdCgueXRwLXNob3J0cy1icmFuZGVkLXVpKXttYXJnaW4tdG9wOjMycHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO3RvcDo1MCV9Lnl0cC1lbmRzY3JlZW4tdGFrZW92ZXI6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLWNvbnRlbnR7ZGlzcGxheTpub25lfTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6MzJweDtvdmVyZmxvdzp2aXNpYmxlO3JpZ2h0OjMycHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLmh0bWw1LWVuZHNjcmVlbi55dHAtZW5kc2NyZWVuLXBhZ2luYXRle2xlZnQ6NDhweDtyaWdodDo0OHB4fTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC1lbmRzY3JlZW4tbmV4dHtkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7b3BhY2l0eTouOTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotMzJweDt3aWR0aDozMnB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0e3JpZ2h0Oi00OHB4O3dpZHRoOjQ4cHh9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wYWdpbmF0ZSAueXRwLWVuZHNjcmVlbi1uZXh0e2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1uZXh0OmhvdmVye29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91c3tkaXNwbGF5Om5vbmU7aGVpZ2h0OjEwMCU7bGVmdDotMzJweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjMycHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2xlZnQ6LTQ4cHg7d2lkdGg6NDhweH06bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtZW5kc2NyZWVuLXBhZ2luYXRlIC55dHAtZW5kc2NyZWVuLXByZXZpb3Vze2Rpc3BsYXk6YmxvY2t9Om5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtbXdlYi1wbGF5ZXIuaHRtbDUtZW5kc2NyZWVue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Y3Vyc29yOmRlZmF1bHQ7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MzZ9Lmh0bWw1LWVuZHNjcmVlbi5tb2Rlcm4tdmlkZW93YWxsLWVuZHNjcmVlbntjdXJzb3I6ZGVmYXVsdDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDozNjstd2Via2l0LWFsaWduLWNvbnRlbnQ6Y2VudGVyO2FsaWduLWNvbnRlbnQ6Y2VudGVyfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2ZvbnQtc2l6ZToxMXB4fS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O3BhZGRpbmctYm90dG9tOnVuc2V0O2hlaWdodDoxMDAlfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1zaW5nbGUtaXRlbSAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudCAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle21hcmdpbi1yaWdodDoxMnB4fS55dHAtZW5kc2NyZWVuLXRha2VvdmVyIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50LC55dHAtZW5kc2NyZWVuLXRha2VvdmVyLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1lbmFibGUtY2hhbm5lbC1sb2dvIC5odG1sNS1lbmRzY3JlZW46bm90KC55dHAtc2hvcnRzLWJyYW5kZWQtdWkpe21hcmdpbi10b3A6MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdChhdXRvLWZpbGwsbWlubWF4KDMxMHB4LDFmcikpO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maWxsLG1pbm1heChjbGFtcCgyNTBweCwyNyUsNDUwcHgpLDFmcikpO2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dyaWQtYXV0by1yb3dzOjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtY29sdW1uLWdhcDoxNnB4Oy1tb3otY29sdW1uLWdhcDoxNnB4O2NvbHVtbi1nYXA6MTZweDt3aWR0aDoxMDAlOy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7cGFkZGluZzozMnB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttYXgtaGVpZ2h0OjEwMCV9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLXJvdy0wIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1vZGVybi1lbmRzY3JlZW4tbGltaXQtcm93cy0xIC55dHAtbW9kZXJuLWVuZHNjcmVlbi1jb250ZW50e2dyaWQtdGVtcGxhdGUtcm93czpyZXBlYXQoMSwxZnIpfS55dHAtbW9kZXJuLWVuZHNjcmVlbi1saW1pdC1yb3dzLTIgLnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWNvbnRlbnR7Z3JpZC10ZW1wbGF0ZS1yb3dzOnJlcGVhdCgyLDFmcil9Lnl0cC1tb2Rlcm4tZW5kc2NyZWVuLWxpbWl0LXJvd3MtMyAueXRwLW1vZGVybi1lbmRzY3JlZW4tY29udGVudHtncmlkLXRlbXBsYXRlLXJvd3M6cmVwZWF0KDMsMWZyKX0ueXRwLWVuZHNjcmVlbi1wcmV2aW91czpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50e29wYWNpdHk6MTtzY3JvbGxiYXItd2lkdGg6bm9uZTtvdmVyZmxvdzpzY3JvbGx9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtib3R0b206MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO3RvcDowfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDpjYWxjKDMwJSArIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKTtib3R0b206MH0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtZXhwYW5kLWJ1dHRvbiwuaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nKTpub3QoLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1idXR0b25zLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0b3A6MDttYXJnaW4tdG9wOmNhbGModmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpLzIqLTEgKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0KS8yKi0xKTstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMnB4O3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWJ1dHRvbnMtY29udGFpbmVye21hcmdpbi10b3A6Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCkvMiotMSArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQpLzIqLTEpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b257b3BhY2l0eToxOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpO2JvcmRlci1yYWRpdXM6NTAlO292ZXJmbG93OnZpc2libGU7c2Nyb2xsYmFyLXdpZHRoOm5vbmU7ei1pbmRleDo3Mjtwb2ludGVyLWV2ZW50czphbGw7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9ue3dpZHRoOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b24gc3Zne3BhZGRpbmc6Y2FsYygodmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktaWNvbi1zaXplLCAyNHB4KSkvMik7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwyNHB4KTt3aWR0aDp2YXIoLS15dC1kZWxoaS1pY29uLXNpemUsMjRweCl9Lnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uIHN2Z3twYWRkaW5nOmNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0KSAtIHZhcigtLXl0LWRlbGhpLWljb24tc2l6ZSwgMjRweCkpLzIpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOmNhbGMoMTAwJSAtIDhweCk7aGVpZ2h0OmNhbGMoMTAwJSAtIDhweCk7Ym9yZGVyLXJhZGl1czo1MCV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5Om5vbmU7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aW9uLWJ1dHRvbntkaXNwbGF5OmJsb2NrO3BvaW50ZXItZXZlbnRzOmFsbH06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246aG92ZXI6YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aG92ZXIgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlOmJlZm9yZSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6YWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YmVmb3JlLDpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b246YWZ0ZXIsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphY3RpdmU6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtvcGFjaXR5OjE7b3ZlcmZsb3c6aGlkZGVuO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSAtIDZweCAtIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSoxMDAlKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgLSA2cHggLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaGVhZGVye2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUgLnl0cC1mdWxsc2NyZWVuLWdyaWR7ZGlzcGxheTpibG9jaztvdmVyZmxvdzp2aXNpYmxlO3RvcDpjYWxjKDEwMCUgLSB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkgLSB2YXIoLS15dHAtZ3JpZC1zY3JvbGwtcGVyY2VudGFnZSkqMTAwJSl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZ3JpZC1zY3JvbGxhYmxlLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZHt0b3A6Y2FsYygxMDAlIC0gdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsYWJsZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7b3BhY2l0eTouNX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1ncmlkLXNjcm9sbGFibGUueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtvcGFjaXR5OjF9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5e2Rpc3BsYXk6YmxvY2s7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDoxMnB4O2JvcmRlci1yYWRpdXM6MTZweDt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmU6bm90KC5lbmRlZC1tb2RlKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1tYWluLWNvbnRlbnR7bWFyZ2luLXRvcDoxMnB4fS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5LC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXl7ZGlzcGxheTpub25lfTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1ob3Zlci1vdmVybGF5OmhhcygueXRwLWZ1bGxzY3JlZW4tZ3JpZC1leHBhbmQtYnV0dG9uOmhvdmVyKSw6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5KX06bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLWdyaWQtaG92ZXItb3ZlcmxheTphY3RpdmUsOm5vdCgueXRwLWdyaWQtc2Nyb2xsaW5nKSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtZnVsbHNjcmVlbi1ncmlkLWhvdmVyLW92ZXJsYXk6aGFzKC55dHAtZnVsbHNjcmVlbi1ncmlkLWV4cGFuZC1idXR0b246YWN0aXZlKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3Zlcil9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlOm5vdCguZW5kZWQtbW9kZSkgLnl0cC1mdWxsc2NyZWVuLWdyaWQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tZ3JpZHtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsLjc1KSAxMDBweCxyZ2JhKDAsMCwwLC44NSkpfS55dHAtZ3JpZC1yZXBsYXktYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czoxOHB4O21hcmdpbi1yaWdodDoxNnB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsLWJsZWVkLXBsYXllciAueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JvcmRlci1yYWRpdXM6MzBweH0ueXRwLWdyaWQtcmVwbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6Z3JpZDtwYWRkaW5nOjAgMjRweDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKTtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDoxNnB4Oy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2g7LXdlYmtpdC1hbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXIsLnl0cC1ncmlkLXNjcm9sbGluZy55dHAtZ3JpZC1zY3JvbGxhYmxlIC55dHAtZnVsbHNjcmVlbi1ncmlkLXN0aWxscy1jb250YWluZXJ7cG9pbnRlci1ldmVudHM6YXV0b30ueXRwLWZ1bGxzY3JlZW4tZ3JpZHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MTAwJTt3aWR0aDoxMDAlO3otaW5kZXg6NzI7cG9pbnRlci1ldmVudHM6bm9uZTttYXgtaGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6MDt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcpOm5vdCgueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUpIC55dHAtZnVsbHNjcmVlbi1ncmlke2Rpc3BsYXk6bm9uZX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1hdXRvaGlkZTpub3QoLnl0cC1ncmlkLXNjcm9sbGluZykgLnl0cC1mdWxsc2NyZWVuLWdyaWR7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7b3BhY2l0eTowfS55dHAtbW9yZS12aWRlb3MtYnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOi13ZWJraXQtZml0LWNvbnRlbnQ7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzt6LWluZGV4OjcyO3BvaW50ZXItZXZlbnRzOmFsbDtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSAxMnB4Oy13ZWJraXQtY29sdW1uLWdhcDo4cHg7LW1vei1jb2x1bW4tZ2FwOjhweDtjb2x1bW4tZ2FwOjhweDtib3JkZXItcmFkaXVzOjI4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0cHg7bGVmdDo0cHg7d2lkdGg6Y2FsYygxMDAlIC0gOHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gOHB4KTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGh1bWJuYWlse3dpZHRoOjQwcHg7YXNwZWN0LXJhdGlvOjE2Lzk7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9Lnl0cC1tb3JlLXZpZGVvcy1idXR0b24gLnl0cC1tb3JlLXZpZGVvcy1idXR0b24tdGl0bGV7Y29sb3I6dmFyKC0tT3ZlcmxheS1PdmVybGF5LVRleHQtUHJpbWFyeSwjZmZmKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDA7Zm9udC1mYW1pbHk6dmFyKC0tVHlwb2dyYXBoeS1Gb250LUZhbWlseSxSb2JvdG8pO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoyMHB4O2xldHRlci1zcGFjaW5nOi4xNnB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLmh0bWw1LWVuZHNjcmVlbntkaXNwbGF5Om5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlke3RvcDowO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LDcycHgpfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye3dpZHRoOjEwMCU7cGFkZGluZzowIDI0cHh9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtZnVsbHNjcmVlbi1ncmlkLW1haW4tY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dHAtZnVsbHNjcmVlbi1ncmlkLWFjdGl2ZS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZTpub3QoLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYpIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpudGgtY2hpbGQobis0KXtkaXNwbGF5Om5vbmV9QG1lZGlhIChtaW4td2lkdGg6MjIwMHB4KXsueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGU6bm90KC55dHAtZW5hYmxlLWhvcml6b250YWwtZW5kc2NyZWVuLXNoZWxmKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6bnRoLWNoaWxkKDQpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLWZ1bGxzY3JlZW4tZ3JpZC1zdGlsbHMtY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93LXg6YXV0bzstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlLmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlLnl0cC1lbmFibGUtaG9yaXpvbnRhbC1lbmRzY3JlZW4tc2hlbGYgLnl0cC1mdWxsc2NyZWVuLWdyaWQtbWFpbi1jb250ZW50ey13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUuaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUueXRwLWVuYWJsZS1ob3Jpem9udGFsLWVuZHNjcmVlbi1zaGVsZiAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGx7bWluLXdpZHRoOjMxJX0uaHRtbDUtdmlkZW8tcGxheWVyLmVuZGVkLW1vZGUgLnl0cC1tb3JlLXZpZGVvcy1idXR0b24ueXRwLWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1hZC1wbGF5ZXItb3ZlcmxheS1sYXlvdXQsLnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtZ3JpZC1zY3JvbGxpbmcgLmh0bWw1LWVuZHNjcmVlbiwueXRwLWdyaWQtc2Nyb2xsaW5nIC55dHAtYWQtcGxheWVyLW92ZXJsYXktbGF5b3V0LC55dHAtZ3JpZC1zY3JvbGxpbmcgLnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmc6bm90KC55dHAtZ3JpZC1zY3JvbGxpbmcpIC55dHAtbW9yZS12aWRlb3MtYnV0dG9uLnl0cC1idXR0b24sLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtZnVsbHNjcmVlbi1ncmlkLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW1vcmUtdmlkZW9zLWJ1dHRvbi55dHAtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9ye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjQ0O2xpbmUtaGVpZ2h0OjIyMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNDAsNDAsNDApfS55dHAtZW1iZWQtZXJyb3IgLnl0cC1lcnJvcntkaXNwbGF5OmJsb2NrfS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGV7bGluZS1oZWlnaHQ6MTYwJX0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZXtsaW5lLWhlaWdodDoyMjAlfS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IGF7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6ODUlOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXh9Lnl0cC1lbWJlZC1lcnJvciAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHttYXJnaW46MCBhdXRvfS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6NjRweDt3aWR0aDo2NHB4O21pbi13aWR0aDo2NHB4O21pbi1oZWlnaHQ6NjRweDtmbG9hdDpsZWZ0fS55dHAtZXJyb3IgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lciBzdmd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlfS55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5OmlubGluZTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4cHg7cmlnaHQ6OHB4O29wYWNpdHk6Ljd9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0Lm5vLWxpbmt7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWVycm9yLnJlbGF0ZWQtb24tZXJyb3Itb3ZlcmxheS12aXNpYmxlIC55dHAtc21hbGwtcmVkaXJlY3QsLnl0cC1mdWxsc2NyZWVuIC55dHAtZXJyb3IgLnl0cC1zbWFsbC1yZWRpcmVjdHtkaXNwbGF5Om5vbmV9Lnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0IGF7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJX0ueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcHttYXJnaW4tdG9wOmF1dG87bWFyZ2luLWJvdHRvbTphdXRvO21hcmdpbi1sZWZ0OjE2cHg7aGVpZ2h0OjEwMCV9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1pY29uLWNvbnRhaW5lcntoZWlnaHQ6OTZweDt3aWR0aDo5NnB4O21pbi13aWR0aDo5NnB4O21pbi1oZWlnaHQ6OTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDo2MHB4O3dpZHRoOjYwcHh9Lnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXJlYXNvbntmb250LXNpemU6MTZweH0ueXRwLWxhcmdlLXdpZHRoLW1vZGUgLnl0cC1lcnJvci5yZWxhdGVkLW9uLWVycm9yLW92ZXJsYXktdmlzaWJsZSAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToyMnB4fS55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtZXJyb3IucmVsYXRlZC1vbi1lcnJvci1vdmVybGF5LXZpc2libGUgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTRweDtwYWRkaW5nLXRvcDoycHh9Lnl0cC1sYXJnZS13aWR0aC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MThweDtwYWRkaW5nLXRvcDoxMHB4fS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudHtsaW5lLWhlaWdodDoxNTAlfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWljb24tY29udGFpbmVye2hlaWdodDozMnB4O3dpZHRoOjMycHg7bWluLXdpZHRoOjMycHg7bWluLWhlaWdodDozMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3ItaWNvbi1jb250YWluZXJ7ZGlzcGxheTpub25lfS55dHAtc21hbGwtbW9kZSAueXRwLWVycm9yIC55dHAtZXJyb3ItY29udGVudCAueXRwLWVycm9yLWNvbnRlbnQtd3JhcC1yZWFzb257Zm9udC1zaXplOjE0cHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9Lnl0cC10aW55LW1vZGUgLnl0cC1lcnJvciAueXRwLWVycm9yLWNvbnRlbnQgLnl0cC1lcnJvci1jb250ZW50LXdyYXAtcmVhc29ue2ZvbnQtc2l6ZToxMnB4fS55dHAtdGlueS1tb2RlIC55dHAtZXJyb3IgLnl0cC1lcnJvci1jb250ZW50IC55dHAtZXJyb3ItY29udGVudC13cmFwLXN1YnJlYXNvbntmb250LXNpemU6MTBweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC1lcnJvciAueXRwLXNtYWxsLXJlZGlyZWN0e2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWZ1bGxlcnNjcmVlbi1lZHUtYnV0dG9uLnl0cC1idXR0b257d2lkdGg6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1idXR0b24ueXRwLWJ1dHRvblthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI0cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbjpub3QoLnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUpIC55dHAtZnVsbGVyc2NyZWVuLWVkdS1jaGV2cm9ue2hlaWdodDo1MCV9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7aGVpZ2h0OjUwJTttYXJnaW4tdG9wOi04cHh9Lnl0cC1mdWxsZXJzY3JlZW4tZWR1LWJ1dHRvbi1zdWJ0bGUgLnl0cC1mdWxsZXJzY3JlZW4tZWR1LXRleHR7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjphZnRlcnt3aWR0aDoyNHB4fS55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAsLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMSwueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmV9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTAtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTFweCwtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpfX1Aa2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsLTFweCl9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QGtleWZyYW1lcyB5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX19QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb257NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMXB4LDFweCl9fUBrZXlmcmFtZXMgeXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbns1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xcHgsMXB4KX19Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTB7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0wLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMC1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1idXR0b246bm90KFthcmlhLWRpc2FibGVkPXRydWVdKTpob3ZlciAueXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0xey13ZWJraXQtYW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMS1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2FuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTEtYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0ueXRwLWZ1bGxzY3JlZW4tYnV0dG9uOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXIgLnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMnstd2Via2l0LWFuaW1hdGlvbjp5dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTItYW5pbWF0aW9uIC40cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTthbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0yLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1mdWxsc2NyZWVuLWJ1dHRvbjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVyIC55dHAtZnVsbHNjcmVlbi1idXR0b24tY29ybmVyLTN7LXdlYmtpdC1hbmltYXRpb246eXRwLWZ1bGxzY3JlZW4tYnV0dG9uLWNvcm5lci0zLWFuaW1hdGlvbiAuNHMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7YW5pbWF0aW9uOnl0cC1mdWxsc2NyZWVuLWJ1dHRvbi1jb3JuZXItMy1hbmltYXRpb24gLjRzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4NnB4O3JpZ2h0OjI0cHg7ei1pbmRleDo1OX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDMwcHgpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3tib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDMwcHggKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7cG9zaXRpb246YWJzb2x1dGU7bWF4LXdpZHRoOjMzJTt0b3A6MjRweDtsZWZ0OjI0cHg7ei1pbmRleDo1OX0ueXRwLW92ZXJsYXktdG9wLWxlZnQgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe21heC13aWR0aDo2MCV9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbSAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7dG9wOnVuc2V0O2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtZmVhdHVyZWQtcHJvZHVjdC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoMTQycHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLXNob3BwaW5nLXBpbGwtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDg2cHggKyB2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMzBweCl9Lnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1zaG9wcGluZy1waWxsLXNob3duIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YXtib3R0b206Y2FsYyg4NnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAzMHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tLnl0cC1iaWctbW9kZS55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWZlYXR1cmVkLXByb2R1Y3Qtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhe2JvdHRvbTpjYWxjKDE0MnB4ICsgdmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyB2YXIoLS15dHAtZ3JpZC1wZWVrLWhlaWdodCkpfS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtc2hvcHBpbmctcGlsbC1zaG93biAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGF7Ym90dG9tOmNhbGMoODZweCArIHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWNocm9tZS10b3AtYnV0dG9uc3t3aWR0aDoxMDAlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6ZW5kOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MDt6LWluZGV4OjU5Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtY2hyb21lLXRvcC1idXR0b25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjA7ei1pbmRleDo1OH0qIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwqIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLWJvdHRvbS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntvcGFjaXR5Om1heCgxIC0gMyAqIHZhcigtLXl0cC1ncmlkLXNjcm9sbC1wZXJjZW50YWdlKSwwKX0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7b3BhY2l0eTowO2Rpc3BsYXk6bm9uZX0ueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YSwueXRwLWF1dG9oaWRlIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25ze29wYWNpdHk6MH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9uc3toZWlnaHQ6MDttYXJnaW46MH0uYWQtc2hvd2luZyAueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEsLmFkLXNob3dpbmcgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLmVuZGVkLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnMsLnNlZWtpbmctbW9kZSAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLW1lbnUtc2hvd24gLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAtbWVudS1zaG93biAueXRwLWZ1bGxzY3JlZW4tcXVpY2stYWN0aW9ucywueXRwLXNldHRpbmdzLXNob3duIC55dHAtZnVsbHNjcmVlbi1xdWljay1hY3Rpb25zLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLC55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1mdWxsc2NyZWVuLXF1aWNrLWFjdGlvbnN7ZGlzcGxheTpub25lfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5e3otaW5kZXg6ODI7b3ZlcmZsb3c6aGlkZGVufS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmR7YmFja2dyb3VuZDpuby1yZXBlYXQgNTAlL2NvdmVyO2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjgyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJhY2tncm91bmQtb3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjMpO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3otaW5kZXg6ODJ9Lnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktbWluaXBsYXllci1jbG9zZS1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjhweDt6LWluZGV4OjgyfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1taW5pcGxheWVyLWNsb3NlLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1iYXJ7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgNnB4O2xlZnQ6MjBweDtoZWlnaHQ6NTZweDtib3R0b206MjBweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7Ym9yZGVyLXJhZGl1czo4cHg7Y29sb3I6I2ZmZjt3aWR0aDozODBweDt6LWluZGV4OjgyfS55dHAtYmlnLW1vZGUgLnl0cC1nYXRlZC1hY3Rpb25zLW92ZXJsYXktYmFye3BhZGRpbmc6MCA5cHg7aGVpZ2h0Ojg0cHg7Ym90dG9tOjMwcHg7bGVmdDozMHB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6ODBweDtoZWlnaHQ6MzJweDtwYWRkaW5nOjAgOHB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym9yZGVyLXJhZGl1czoyNHB4O2JvcmRlci13aWR0aDowO2N1cnNvcjpwb2ludGVyfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbi10aXRsZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luOjAgOHB4O2xpbmUtaGVpZ2h0OjMycHg7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmZ9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b25ze21hcmdpbjoxOHB4IDlweH0ueXRwLWJpZy1tb2RlIC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LWJ1dHRvbnttaW4td2lkdGg6MTIwcHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzowIDEycHg7Ym9yZGVyLXJhZGl1czozcHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1idXR0b24tdGl0bGV7bWFyZ2luOjAgMTJweDtsaW5lLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxMzAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS10ZXh0LWNvbnRhaW5lcnttaW4td2lkdGg6MjcwcHg7bWFyZ2luOjAgOXB4fS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXN1YnRpdGxlLC55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZ2F0ZWQtYWN0aW9ucy1vdmVybGF5LXRpdGxle2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLWdhdGVkLWFjdGlvbnMtb3ZlcmxheS1zdWJ0aXRsZXtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo0MDA7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1oZWF0LW1hcC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXIsLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7ZGlzcGxheTpibG9jaztvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2hlaWdodDo0MHB4O2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWhlYXQtbWFwLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206MH0ueXRwLWRlbGhpLW1vZGVybi55dHAtaGVhdC1tYXAueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZTpub3QoLmFkLXNob3dpbmcpIC55dHAtaGVhdC1tYXAtY29udGFpbmVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyOm5vdCguYWQtc2hvd2luZykgLnl0cC1oZWF0LW1hcC1jb250YWluZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpIC4xcyxtYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSAuMXMsbWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgLjFzO21hcmdpbi1ib3R0b206OHB4fS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3Zlcjpub3QoLmFkLXNob3dpbmcpIC55dHAtdGltZWQtbWFya2Vycy1lbmFibGVkIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2JvdHRvbTo3cHh9Lnl0cC1oZWF0LW1hcC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY2hhcHRlciBzdmd7aGVpZ2h0OjQwcHh9Lnl0cC1iaWctbW9kZS55dHAtaGVhdC1tYXAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLWhlYXQtbWFwLWNoYXB0ZXIgc3Zne2hlaWdodDo2MHB4fS55dHAtaGVhdC1tYXAtY29udGFpbmVye29wYWNpdHk6MDtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDowO2JvdHRvbTo1cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLWhlYXQtbWFwLnl0cC1iaWctbW9kZS55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtaGVhdC1tYXAtY29udGFpbmVye2hlaWdodDo2MHB4O2JvdHRvbTo4cHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtaGVhdC1tYXAtY2hhcHRlci55dHAtaGVhdG1hcC1ob3Zlcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWhlYXQtbWFwLWNoYXB0ZXIueXRwLWhlYXRtYXAtaG92ZXJ7Ym90dG9tOjNweH0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIgLnl0cC1oZWF0LW1hcC1ob3ZlcntoZWlnaHQ6MTAwJTtmaWxsOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtaGVhdC1tYXAtaG92ZXIsLnl0cC1oZWF0LW1hcC1wbGF5e2hlaWdodDowfS55dHAtaGVhdC1tYXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWNvbnRhaW5lcnt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDowfS55dHAtZmluZS1zY3J1YmJpbmctdGh1bWJuYWlse2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MSAwIGF1dG87ZmxleDoxIDAgYXV0b30ueXRwLWZpbmUtc2NydWJiaW5nLWRyYWdnYWJsZSwueXRwLWZpbmUtc2NydWJiaW5nLXRodW1ibmFpbHN7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO21pbi13aWR0aDoxNjBweDtoZWlnaHQ6MTAwJX0ueXRwLWZpbmUtc2NydWJiaW5nLWN1cnNvcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtoZWlnaHQ6MTAwJTt3aWR0aDozcHg7YmFja2dyb3VuZDojZWVlfS55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAueXRwLWZpbmUtc2NydWJiaW5nLWRpc21pc3MsLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5LC55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtZmluZS1zY3J1YmJpbmctc2Vlay10aW1le2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlIC55dHAtY2hyb21lLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLXBsYXl7ZGlzcGxheTpub25lO2hlaWdodDozNXB4O3dpZHRoOjM1cHg7Ym90dG9tOjExMCU7cG9zaXRpb246YWJzb2x1dGV9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMgLnl0cC1maW5lLXNjcnViYmluZy1wbGF5e2JvdHRvbToxMjAlfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtZmluZS1zY3J1YmJpbmctcGxheSBzdmd7cGFkZGluZzo4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1kaXNtaXNze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMTUlO3JpZ2h0OjEwcHg7aGVpZ2h0OjI1cHg7d2lkdGg6MjVweDtkaXNwbGF5Om5vbmV9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dvcmQtd3JhcDpicmVhay13b3JkOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1maW5lLXNjcnViYmluZy1jaGFwdGVyLXRpdGxlLWNvbnRlbnR7cGFkZGluZzoxNXB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtZmluZS1zY3J1YmJpbmctY2hhcHRlci10aXRsZXt3aWR0aDoyNDBweDtoZWlnaHQ6MTM1cHh9Lnl0cC1maW5lLXNjcnViYmluZy1lZHV7ZGlzcGxheTpub25lfS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTA3cHh9Lnl0cC1iaWctbW9kZS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWFkLW92ZXJsYXktc2xvdHtib3R0b206MTUxcHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVte2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjE2cHggMCAwIDE2cHg7d2lkdGg6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC1iaWctbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjI0cHggMCAwIDI0cHg7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW17bWFyZ2luOjhweCAxMnB4IDAgMCAwIDhweCAxMnB4IDA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYWxpZ24taXRlbXM6ZmxleC1zdGFydDstd2Via2l0LWJveC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1kaXNjbGFpbWVye2N1cnNvcjpub25lO2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmF1dG87bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1idXR0b257d2lkdGg6MTAwJTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1hY3Rpb24taXRlbS1pY29ue3dpZHRoOjcycHg7aGVpZ2h0OjU0cHh9Lnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVse21hcmdpbi1sZWZ0OjEycHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtvdmVyZmxvdzphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWFjdGlvbi1pdGVtLWxhYmVsLC55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtYWN0aW9uLWl0ZW0tbGFiZWx7bWFyZ2luLWxlZnQ6MTJweDtmb250LXNpemU6MTRweDtvdmVyZmxvdzphdXRvfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtc2tyaW17cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zKTt6LWluZGV4OjcxfS55dHAtaW5mby1wYW5lbC1kZXRhaWx7cG9zaXRpb246YWJzb2x1dGU7bGVmdDphdXRvO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7d2lkdGg6NjAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7b3ZlcmZsb3c6YXV0bztkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbCwueXRwLXNtYWxsLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbHt3aWR0aDo2MCV9W2Rpcj1sdHJdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9cnRsXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtaW5mby1wYW5lbC1kZXRhaWxbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjE2cHg7bGluZS1oZWlnaHQ6MjRweDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDo3MDA7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHAtYmlnLW1vZGUgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1oZWFkZXJ7bWFyZ2luOjI0cHh9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC10aXRsZXttYXJnaW4tcmlnaHQ6MTRweDstd2Via2l0LWZsZXgtZ3JvdzoyOy13ZWJraXQtYm94LWZsZXg6MjtmbGV4LWdyb3c6Mn0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3Nle3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KTstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2V7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWluZm8tcGFuZWwtZGV0YWlsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtaW5mby1wYW5lbC1kZXRhaWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1pbmZvLXBhbmVsLWRldGFpbC1ib2R5e2xpbmUtaGVpZ2h0OjI0cHg7bWluLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpO21hcmdpbjowIDE2cHg7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1kZXRhaWwtYm9keXttYXJnaW46MCAyNHB4fS55dHAtaW5mby1wYW5lbC1kZXRhaWwtaXRlbXN7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDE2cHggMTZweCAwfS55dHAtbXV0ZWQtYXV0b3BsYXkgLnl0cC1pbmZvLXBhbmVsLWRldGFpbC1za3JpbXt6LWluZGV4OjEwMDJ9Lmh0bWw1LXZpZGVvLXBsYXllci5lbmRlZC1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZX0ueXRwLWluZm8tcGFuZWwtcHJldmlld3toZWlnaHQ6YXV0bztib3R0b206YXV0bztsZWZ0OjEycHg7cmlnaHQ6YXV0bztvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtjdXJzb3I6cG9pbnRlcjt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6MjY7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjYpO2JvcmRlcjppbmhlcml0O2JvcmRlci1sZWZ0OjRweCBzb2xpZCAjM2VhNmZmO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MDtmb250OmluaGVyaXQ7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDI3MnB4KTtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlld1thcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZW1iZWQgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjYwcHh9Lnl0cC1lbWJlZC55dHAtc2hvcnRzLW1vZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXd7dG9wOjEyMnB4fS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3LC55dHAtYmlnLW1vZGUueXRwLWhpZGUtaW5mby1iYXIgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtYXV0b2hpZGUgLnl0cC1pbmZvLXBhbmVsLXByZXZpZXcsLnl0cC1lbWJlZC55dHAtaGlkZS1pbmZvLWJhciAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6MTJweH0ueXRwLW11dGVkLWF1dG9wbGF5IC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3otaW5kZXg6MTAwMjt0b3A6MTJweH0ueXRwLWxhcmdlci10YXAtYnV0dG9ucyAueXRwLWluZm8tcGFuZWwtcHJldmlld3t0b3A6ODFweH0ueXRwLWJpZy1tb2RlIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e3RvcDo4MXB4O2JvdHRvbTphdXRvO2xlZnQ6MjRweDtoZWlnaHQ6YXV0bztsaW5lLWhlaWdodDphdXRvfS55dHAtc21hbGwtbW9kZSAueXRwLWluZm8tcGFuZWwtcHJldmlld3ttaW4td2lkdGg6MTMwcHg7bWF4LXdpZHRoOm1pbig1MCUgLSA2NHB4LDIwOHB4KX0ueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtaW5mby1wYW5lbC1wcmV2aWV3e2Rpc3BsYXk6bm9uZTstd2Via2l0LXRyYW5zaXRpb246ZGlzcGxheSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmRpc3BsYXkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O2xpbmUtaGVpZ2h0OjBweDtwb2ludGVyLWV2ZW50czpub25lO2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctY2hldnJvbjplbXB0eSwueXRwLWluZm8tcGFuZWwtcHJldmlldy1pY29uOmVtcHR5e2hlaWdodDowO3dpZHRoOjB9Lnl0cC1pbmZvLXBhbmVsLXByZXZpZXctdGV4dHtiYWNrZ3JvdW5kOm5vbmU7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7cG9pbnRlci1ldmVudHM6bm9uZTttYXJnaW46OHB4O2NvbG9yOnJnYigyNTUsMjU1LDI1NSk7b3BhY2l0eToxO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3doaXRlLXNwYWNlOm5vcm1hbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWluZm8tcGFuZWwtcHJldmlldy10ZXh0W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9I2lubGluZS1wcmV2aWV3LXBsYXllciAuY2FwdGlvbi13aW5kb3csI2lubGluZS1wcmV2aWV3LXBsYXllciAueXRwLWNhcHRpb24td2luZG93LWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVyLC55dHAtbW9kZXJuLWNhcHRpb24ueXRwLW13ZWItcGxheWVyIC55dHAtY2FwdGlvbi13aW5kb3ctY29udGFpbmVye3dpZHRoOmNhbGMoMTAwJSAtIDQ4cHgpfS55dHAtbW9kZXJuLWNhcHRpb24jaW5saW5lLXByZXZpZXctcGxheWVyIC5jYXB0aW9uLXdpbmRvdywueXRwLW1vZGVybi1jYXB0aW9uLnl0cC1td2ViLXBsYXllciAuY2FwdGlvbi13aW5kb3d7Ym9yZGVyOjhweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweDtmb250LXdlaWdodDo1MDB9Lnl0cC1tb2Rlcm4tY2FwdGlvbiNpbmxpbmUtcHJldmlldy1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tb2Rlcm4tY2FwdGlvbi55dHAtbXdlYi1wbGF5ZXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNnB4fS55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1pbnB1dC1zbGlkZXJ7LS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudDowOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtsZWZ0OjA7cmlnaHQ6MDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MjRweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtd3JpdGluZy1tb2RlOmhvcml6b250YWwtdGI7LW1zLXdyaXRpbmctbW9kZTpsci10Yjt3cml0aW5nLW1vZGU6aG9yaXpvbnRhbC10YjtkaXJlY3Rpb246bHRyfS55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwuMikgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iey13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiNmZmY7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tdG9wOi02cHh9Lnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtaW5wdXQtc2xpZGVyOjotbXMtdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6I2ZmZjt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmFyaXNwZWVkLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsZnJvbSgjZmZmKSxjb2xvci1zdG9wKCNmZmYpLGNvbG9yLXN0b3AoIzkwOTA5MCksdG8oIzkwOTA5MCkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyey13ZWJraXQtd3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsOy1tcy13cml0aW5nLW1vZGU6YnQtcmw7d3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsO2RpcmVjdGlvbjpydGw7aGVpZ2h0OmluaGVyaXQ7d2lkdGg6MjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKCNmZmYpLGNvbG9yLXN0b3AoI2ZmZiksY29sb3Itc3RvcCgjNjY2KSx0bygjNjY2KSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM2NjYgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gdG9wLCNmZmYgMCwjZmZmIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjNjY2IDEwMCUpO3dpZHRoOjRweH0ueXRwLXZlcnRpY2FsLXNsaWRlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AsI2ZmZiAwLCNmZmYgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLHJnYmEoMjU1LDI1NSwyNTUsLjIpIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LC4yKSAxMDAlKTt3aWR0aDo0cHg7aGVpZ2h0OjEwMCV9Lnl0cC12ZXJ0aWNhbC1zbGlkZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1ie21hcmdpbi1yaWdodDotNnB4fS55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVyOjotbW96LXJhbmdlLXRodW1ie21hcmdpbi1yaWdodDowfX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3dpZHRoOjQ2cHg7LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3BhZGRpbmc6OXB4O2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVke2Rpc3BsYXk6YmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9ue3BhZGRpbmctdG9wOjEycHh9Lnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b257cGFkZGluZy10b3A6N3B4fS55dHAtc21hbGwtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWp1bXAtYnV0dG9uLnl0cC1qdW1wLWJ1dHRvbi1lbmFibGVkLC55dHAtdGlueS1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtanVtcC1idXR0b24ueXRwLWp1bXAtYnV0dG9uLWVuYWJsZWR7ZGlzcGxheTpub25lfS55dHAtanVtcC1idXR0b24tdGV4dHtmaWxsOiNmZmY7Zm9udC1zaXplOjlweDstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Zm9udC13ZWlnaHQ6OTAwfS55dHAtanVtcC1zcGluIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3BpbjthbmltYXRpb24tbmFtZTp5dHAtanVtcC1zcGluOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi4yNXM7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXJ9Lnl0cC1qdW1wLXNwaW4uYmFja3dhcmRzIC55dHAtY2lyY2xlLWFycm93ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHM7YW5pbWF0aW9uLW5hbWU6eXRwLWp1bXAtc3Bpbi1iYWNrd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtanVtcC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtanVtcC1zcGluLWJhY2t3YXJkc3swJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1qdW1wLXNwaW4tYmFja3dhcmRzezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fS55dHAtbGFyZ2UtcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTt3aWR0aDo2OHB4O2hlaWdodDo0OHB4O21hcmdpbi1sZWZ0Oi0zNHB4O21hcmdpbi10b3A6LTI0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo2M30ueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC1zaG9ydHMtbW9kZXt3aWR0aDo2OHB4O2hlaWdodDo5MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtc2hvcnRzLW1vZGV7d2lkdGg6MTAycHg7aGVpZ2h0OjEzNXB4fS55dHAtZG5pIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b24sLnl0cC1kbmkueXRwLXNtYWxsLW1vZGUgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbnt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O21hcmdpbi1sZWZ0Oi0zNy41cHg7bWFyZ2luLXRvcDotMzcuNXB4fS5ob3VzZS1icmFuZCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luLWxlZnQ6LTMwcHg7bWFyZ2luLXRvcDotMzBweH0ueXRwLWxhcmdlLXBsYXktYnV0dG9uIHN2Z3toZWlnaHQ6MTAwJTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0ueXRwLWRuaSAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXkgLnl0cC1kbmktbGFyZ2UtcGxheS1idXR0b24tYmd7LXdlYmtpdC10cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ZmlsbC1vcGFjaXR5Oi44fS55dHAtZG5pIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWRuaS1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmaWxsLW9wYWNpdHk6MX0ueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6MTAycHg7aGVpZ2h0OjcycHg7bWFyZ2luLWxlZnQ6LTUxcHg7bWFyZ2luLXRvcDotMzZweH0uaG91c2UtYnJhbmQueXRwLWJpZy1tb2RlIC55dHAtbGFyZ2UtcGxheS1idXR0b257d2lkdGg6OTBweDtoZWlnaHQ6OTBweDttYXJnaW4tbGVmdDotNDVweDttYXJnaW4tdG9wOi00NXB4fS55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheVthcmlhLWhpZGRlbj10cnVlXSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLC55dHAtbWVudS1zaG93biAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW11dGVkLWF1dG9wbGF5LWVuZC1wYW5lbCAueXRwLWxhcmdlLXBsYXktYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LXRyYW5zaXRpb246ZmlsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxmaWxsLW9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtmaWxsOiMyMTIxMjE7ZmlsbC1vcGFjaXR5Oi44fS55dHAtbGFyZ2UtcGxheS1idXR0b24tcmVkLWJnIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLXN0YXRpYy1icmFuZC1yZWQsI2YwMyk7ZmlsbC1vcGFjaXR5OjF9Lnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi55dHAtdG91Y2gtZGV2aWNlIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1tdXRlZC1hdXRvcGxheS1lbmRzY3JlZW4tb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJney13ZWJraXQtdHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmZpbGwgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksZmlsbC1vcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO2ZpbGw6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdGF0aWMtYnJhbmQtcmVkLCNmMDMpO2ZpbGwtb3BhY2l0eToxfS55dHAtY29sb3ItcGFydHkgLnl0cC1jdWVkLXRodW1ibmFpbC1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmcsLnl0cC1jb2xvci1wYXJ0eSAueXRwLWxhcmdlLXBsYXktYnV0dG9uLnl0cC10b3VjaC1kZXZpY2UgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZywueXRwLWNvbG9yLXBhcnR5IC55dHAtbXV0ZWQtYXV0b3BsYXktZW5kc2NyZWVuLW92ZXJsYXk6aG92ZXIgLnl0cC1sYXJnZS1wbGF5LWJ1dHRvbi1iZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktZmlsbCAuMTVzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWZpbGwgLjE1cyBsaW5lYXIgaW5maW5pdGV9LmhvdXNlLWJyYW5kIC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheTpob3ZlciAueXRwLWxhcmdlLXBsYXktYnV0dG9uLWJnLC5ob3VzZS1icmFuZCAueXRwLW11dGVkLWF1dG9wbGF5LWVuZHNjcmVlbi1vdmVybGF5OmhvdmVyIC55dHAtbGFyZ2UtcGxheS1idXR0b24tYmd7ZmlsbDojMDAwfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3c7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NzI7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6d2hpdGU7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7Y29sb3I6cmdiYSgxNywxNywxNywuOCk7Zm9udC1mYW1pbHk6WW91VHViZSBOb3RvLFJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtkaXNwbGF5OmJsb2NrO3dpZHRoOjQwMHB4O292ZXJmbG93LXk6YXV0b31odG1sW2RhcmtdIC55dHAtbGlua2VkLWFjY291bnQtcG9wdXB7YmFja2dyb3VuZDpyZ2JhKDMzLDMzLDMzLC45NSk7Y29sb3I6cmdiKDI1NSwyNTUsMjU1KX0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLWJ1dHRvbnN7cGFkZGluZzo4cHggOHB4IDhweCAyNHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYigyMzgsMjM4LDIzOCk7LXdlYmtpdC1ib3gtcGFjazplbmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtYnV0dG9ue2ZvbnQtd2VpZ2h0OjUwMDtsZXR0ZXItc3BhY2luZzouMDA3cHg7bGluZS1oZWlnaHQ6MjBweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MTBweCAxNnB4fWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC1idXR0b257Y29sb3I6IzNlYTZmZn0ueXRwLWxpbmtlZC1hY2NvdW50LXBvcHVwLXRpdGxle2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjI4cHg7bWFyZ2luOjE2cHggMjRweDtjb2xvcjpyZ2IoMywzLDMpfWh0bWxbZGFya10gLnl0cC1saW5rZWQtYWNjb3VudC1wb3B1cC10aXRsZXtjb2xvcjpyZ2IoMjU1LDI1NSwyNTUpfS55dHAtbGlua2VkLWFjY291bnQtcG9wdXAtZGVzY3JpcHRpb257cGFkZGluZzowIDI0cHg7bWFyZ2luOjRweCAwIDI0cHh9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jb25maXJte2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzY2Njt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1tZHgtcHJpdmFjeS1wb3B1cC1jYW5jZWx7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxNHB4O21hcmdpbjoxMnB4IDA7cGFkZGluZzoxMHB4IDIwcHg7Ym9yZGVyLXJhZGl1czoycHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbWR4LXBvcHVwLWRpYWxvZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1tZHgtcG9wdXAtZGlhbG9nLWlubmVyLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTttYXJnaW4tdG9wOi03MHB4O2xlZnQ6MDtyaWdodDowO3BhZGRpbmc6MCAyMCV9Lnl0cC1tZHgtcG9wdXAtdGl0bGV7Zm9udC1zaXplOjIwcHg7cGFkZGluZy1ib3R0b206MTZweH0ueXRwLW1keC1wb3B1cC1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLW1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDoyMHB4O2hlaWdodDo0NHB4fS55dHAtYmlnLW1vZGUgLm1keC1wcml2YWN5LXBvcHVwLWJ1dHRvbnN7bWFyZ2luLXRvcDozMHB4O2hlaWdodDo2N3B4fS5odG1sNS12aWRlby1wbGF5ZXIueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5lbmRlZC1tb2RlKTpub3QoLmN1ZWQtbW9kZSk6bm90KC51bnN0YXJ0ZWQtbW9kZSl7b3ZlcmZsb3c6dmlzaWJsZX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC15cGMtcGxheWVyLWNvbnRlbnR7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci11aXtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXt6LWluZGV4OjY4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KX0ueXRwLW1pbmlwbGF5ZXItc2NyaW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpOy13ZWJraXQtdHJhbnNpdGlvbjouMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgLjFzO3RyYW5zaXRpb246LjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpIC4xcztvcGFjaXR5OjA7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWp1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0cC1taW5pcGxheWVyLXNjcmltOmZvY3VzLXdpdGhpbntvcGFjaXR5OjF9Lmh0bWw1LXZpZGVvLXBsYXllci55dHAtcGxheWVyLW1pbmltaXplZC51bnN0YXJ0ZWQtbW9kZSAueXRwLW1pbmlwbGF5ZXItc2NyaW17b3BhY2l0eToxfS55dHAtbWluaXBsYXllci1zY3JpbTpob3ZlcntvcGFjaXR5OjF9Lnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtcGxheWVyLW1pbmltaXplZC5lbmRlZC1tb2RlIC55dHAtbWluaXBsYXllci1idXR0b25ze2Rpc3BsYXk6YmxvY2t9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLWJ1dHRvbnN7ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jbG9zZS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6OHB4O3otaW5kZXg6Njd9Lnl0cC1taW5pcGxheWVyLWV4cGFuZC13YXRjaC1wYWdlLWJ1dHRvbi55dHAtbWluaXBsYXllci1idXR0b24tYm90dG9tLXJpZ2h0e2JvdHRvbTo0cHg7cmlnaHQ6MH0ueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9uLnl0cC1taW5pcGxheWVyLWJ1dHRvbi10b3AtbGVmdHt0b3A6MDtsZWZ0OjB9Lnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo4cHg7Ym90dG9tOjhweDt3aWR0aDozMnB4O2hlaWdodDozMnB4O3otaW5kZXg6Njd9Lnl0cC1wbGF5ZXItbWluaW1pemVkLmFkLXNob3dpbmcgLnl0cC1taW5pcGxheWVyLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtbWluaXBsYXllci1jb250cm9sc3tkaXJlY3Rpb246bHRyO2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjI2NHB4Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXRwLW1pbmlwbGF5ZXItYnV0dG9uLWNvbnRhaW5lcnttaW4td2lkdGg6NjRweH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjY0cHg7aGVpZ2h0OjY0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtbmV4dC1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcHJldi1idXR0b257d2lkdGg6MzJweDtoZWlnaHQ6MzJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXJ7bWluLXdpZHRoOjMycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1taW5pcGxheWVyLXVpIC55dHAtcGxheS1idXR0b257d2lkdGg6NDJweDtoZWlnaHQ6NDJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC1taW5pcGxheWVyLWNvbnRyb2xzIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjdweDtib3R0b206MH0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLW1pbmlwbGF5ZXItdWkgLnl0cC10aW1lLWRpc3BsYXkueXRwLWxpdmUgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aXtkaXNwbGF5OmJsb2NrfS55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXByZXYtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC5hZC1zaG93aW5nIC55dHAtbWluaXBsYXllci11aSAueXRwLXRpbWUtZGlzcGxheXtkaXNwbGF5Om5vbmV9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRpdGxle3dpZHRoOjIwMCU7dGV4dC1hbGlnbjpjZW50ZXI7cmlnaHQ6NDhweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC1leHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdHtib3R0b206MXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjQpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuNCk7dHJhbnNmb3JtOnNjYWxlWSgxLjQpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyLC55dHAtc21hbGwtbW9kZS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOi0xcHg7ei1pbmRleDo2OH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC10aW1lLWRpc3BsYXl7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXJ7Ym90dG9tOjB9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC52aWRlby1hZHMsLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC52aWRlby1hZHN7ZGlzcGxheTpibG9ja30ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wbGF5ZXItb3ZlcmxheXtvdmVyZmxvdzpoaWRkZW59Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktZmx5b3V0LWN0YSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1wcmV2aWV3LWNvbnRhaW5lciwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLW1lbnUtc2hvd24gLnl0cC1hZC1za2lwLWJ1dHRvbi1jb250YWluZXJ7Ym90dG9tOjMycHh9Lnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1tZW51LXNob3duIC55dHAtYWQtcGxheWVyLW92ZXJsYXktaW5zdHJlYW0taW5mb3tib3R0b206M3B4O2xlZnQ6NnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsIC55dHAtdG9vbHRpcC10aXRsZXt0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplO2ZvbnQtc2l6ZToxMnB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3e21heC13aWR0aDpjYWxjKDEwMCUgLSAyNHB4KTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZTstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS55dHAtcGxheWVyLW1pbmltaXplZCAuaHRtbDUtbWFpbi12aWRlbywueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1taW5pcGxheWVyLXNjcmlte2JvcmRlci1yYWRpdXM6MTJweCAxMnB4IDAgMH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLmh0bWw1LW1haW4tdmlkZW97Ym9yZGVyLXJhZGl1czowfS55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZC55dHAtcGxheWVyLWRvY3VtZW50LXBpY3R1cmUtaW4tcGljdHVyZSAueXRwLW1pbmlwbGF5ZXItZXhwYW5kLXdhdGNoLXBhZ2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUgLmh0bWw1LW1haW4tdmlkZW8sLnl0cC1wbGF5ZXItbWluaW1pemVkLnl0cC1wbGF5ZXItZG9jdW1lbnQtcGljdHVyZS1pbi1waWN0dXJlIC55dHAtbWluaXBsYXllci1zY3JpbSwueXRwLXBsYXllci1taW5pbWl6ZWQueXRwLXBsYXllci1kb2N1bWVudC1waWN0dXJlLWluLXBpY3R1cmUuaHRtbDUtdmlkZW8tcGxheWVye2JvcmRlci1yYWRpdXM6MH0ueXRwLXRpdGxlLW5vdGlmaWNhdGlvbnN7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjttYXJnaW4tcmlnaHQ6NXB4O3RleHQtYWxpZ246Y2VudGVyfWJ1dHRvbi55dHAtYnV0dG9uLnl0cC10aXRsZS1ub3RpZmljYXRpb25ze21hcmdpbi1sZWZ0OjhweDt3aWR0aDo0OHB4fS55dHAtdGl0bGUtbm90aWZpY2F0aW9uczpub3QoLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQpIC55dHAtdGl0bGUtbm90aWZpY2F0aW9ucy1vbntkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1ub3RpZmljYXRpb25zLnl0cC1ub3RpZmljYXRpb25zLWVuYWJsZWQgLnl0cC10aXRsZS1ub3RpZmljYXRpb25zLW9mZntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRle3otaW5kZXg6MjE7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2JhY2tncm91bmQ6bm8tcmVwZWF0IDUwJS9jb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjIyfS55dHAtb2ZmbGluZS1zbGF0ZS55dHAtb2ZmbGluZS1zbGF0ZS1oaWRlLWJhY2tncm91bmQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhY2tncm91bmR7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUueXRwLW9mZmxpbmUtc2xhdGUtaGlkZS1iYWNrZ3JvdW5kIC55dHAtb2ZmbGluZS1zbGF0ZS1iYWNrZ3JvdW5ke2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlOm5vdCgueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlcikgLnl0cC1vZmZsaW5lLXNsYXRlLWJhci1mYWRlLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MCA2cHg7bGVmdDoxMnB4O2hlaWdodDo1NnB4O2JvdHRvbTo2MHB4Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29sb3I6I2ZmZjstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7ei1pbmRleDo0Njtib3JkZXItcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JhY2tncm91bmQtY29sb3I6cmdiYSg0MCw0MCw0MCwuNik7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1iYXIueXRwLW9mZmxpbmUtc2xhdGUtYmFyLWhpZGRlbntkaXNwbGF5Om5vbmV9Lnl0cC1lbWJlZCAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo1MnB4fS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nOjAgOXB4O2hlaWdodDo4NHB4O2JvdHRvbTo5MHB4O2xlZnQ6MThweH0ueXRwLWVtYmVkLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFye2JvdHRvbTo5MHB4fS55dHAtYXV0b2hpZGUgLnl0cC1vZmZsaW5lLXNsYXRlLWJhciwueXRwLWhpZGUtY29udHJvbHMgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntib3R0b206MTJweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUgLnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtaGlkZS1jb250cm9scyAueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1iYXJ7Ym90dG9tOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWljb257bWFyZ2luOjAgMTRweDt3aWR0aDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1pY29ue3dpZHRoOjM2cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnN7bWFyZ2luOjEycHggNnB4fS55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257bWluLXdpZHRoOjgwcHg7aGVpZ2h0OjMycHg7cGFkZGluZzowIDhweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjI1KTtib3JkZXItcmFkaXVzOjJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjE4cHg7Y29sb3I6IzI4MjgyOH0ueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uLWljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2hlaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbntoZWlnaHQ6MThweDt3aWR0aDoxOHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24taWNvbiBzdmd7ZmlsbDojMjgyODI4O2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW46MCA4cHg7bGluZS1oZWlnaHQ6MzJweDtmb250LXNpemU6MTEwJTtmb250LXdlaWdodDo1MDB9Lnl0cC1yZW1pbmRlci1tZW51e2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjU1cHg7b3V0bGluZTpub25lO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLXJlbWluZGVyLW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXJlbWluZGVyLW1lbnUtY29udGVudHN7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOiNlZWU7ZGlzcGxheTp0YWJsZTtwYWRkaW5nOjhweCAwO3dpZHRoOjEwMCV9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW17Y3Vyc29yOmRlZmF1bHQ7ZGlzcGxheTp0YWJsZS1yb3c7aGVpZ2h0OjQwcHg7b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW17aGVpZ2h0OjQ5cHh9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLXJlbWluZGVyLW1lbnUtaXRlbTpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1yZW1pbmRlci1tZW51LWl0ZW0taWNvbiwueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1sYWJlbHtkaXNwbGF5OnRhYmxlLWNlbGw7cGFkZGluZzowIDE1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWxhYmVse2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1pbmRlci1tZW51LWl0ZW0tbGFiZWx7cGFkZGluZzowIDE1cHggMCAwfS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb257cGFkZGluZzowIDEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbWluZGVyLW1lbnUtaXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtaW5kZXItbWVudS1pdGVtLWljb24gc3Zne2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9uc3ttYXJnaW46MThweCA5cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtYnV0dG9ue21pbi13aWR0aDoxMjBweDtoZWlnaHQ6NDhweDtwYWRkaW5nOjAgMTJweDtib3JkZXItcmFkaXVzOjNweH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHttYXJnaW46MCAxMnB4O2xpbmUtaGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtb2ZmbGluZS1zbGF0ZS1tZXNzYWdlc3std2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21pbi13aWR0aDoxODBweDttYXJnaW46MCA2cHh9Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtbWVzc2FnZXN7bWluLXdpZHRoOjI3MHB4O21hcmdpbjowIDlweH0ueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0LC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e3RleHQtdHJhbnNmb3JtOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtb2ZmbGluZS1zbGF0ZS1tYWluLXRleHR7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NDAwfS55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e2ZvbnQtc2l6ZToxMTAlO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcnstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dG9wOjA7Ym90dG9tOjA7bGVmdDphdXRvO3JpZ2h0OjA7cGFkZGluZzoyNXB4O3BhZGRpbmctdG9wOjQ4cHg7bWluLXdpZHRoOmF1dG87d2lkdGg6MzAwcHg7aGVpZ2h0OmF1dG87Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtdHJhbnNpdGlvbjpyaWdodCAuMjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246cmlnaHQgLjI1cyBlYXNlLWluLW91dDt6LWluZGV4OjIzfS55dHAtYmlnLW1vZGUgLnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntwYWRkaW5nLXRvcDo2OXB4fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtYmFyLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9uLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLWJhcntyaWdodDotMTAwJX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtaWNvbntkaXNwbGF5Om5vbmV9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWNsb3NlLWJ1dHRvbiwueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b257cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6NTBweDtoZWlnaHQ6NTBweDt0b3A6NTAlO3JpZ2h0OjA7bWFyZ2luLXRvcDotMjVweDt6LWluZGV4OjIzfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1jbG9zZS1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtb3Blbi1idXR0b246YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2hlaWdodDoyOHB4O2xlZnQ6MTVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt3aWR0aDoyMHB4fS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1vcGVuLWJ1dHRvbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyLnl0cC1vZmZsaW5lLXNsYXRlLWNvbGxhcHNlZCAueXRwLW9mZmxpbmUtc2xhdGUtY2xvc2UtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlci55dHAtb2ZmbGluZS1zbGF0ZS1jb2xsYXBzZWQgLnl0cC1vZmZsaW5lLXNsYXRlLW9wZW4tYnV0dG9ue2Rpc3BsYXk6YmxvY2t9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1lc3NhZ2Vzey13ZWJraXQtYm94LWZsZXg6MDstd2Via2l0LWZsZXg6bm9uZTtmbGV4Om5vbmU7bWFyZ2luOjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLW1haW4tdGV4dHtmb250LXNpemU6MjBweDtmb250LXdlaWdodDo1MDA7aGVpZ2h0OmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtbWFpbi10ZXh0e21hcmdpbi10b3A6MH0ueXRwLW9mZmxpbmUtc2xhdGUtcHJlbWllcmUtdHJhaWxlciAueXRwLW9mZmxpbmUtc2xhdGUtc3VidGl0bGUtdGV4dHtjb2xvcjojYWFhO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuM2VtO21hcmdpbjo1cHggMCAyMHB4O3doaXRlLXNwYWNlOm5vcm1hbH0ueXRwLWJpZy1tb2RlIC55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1zdWJ0aXRsZS10ZXh0e21hcmdpbi1sZWZ0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWRlc2NyaXB0aW9ue2Rpc3BsYXk6YmxvY2s7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LXNpemU6MTNweDttYXJnaW46MjBweCAwO21heC1oZWlnaHQ6MzAwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b25ze21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjB9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbnMgLnl0cC1yZW1pbmRlci1tZW51e2JvdHRvbTphdXRvfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b257YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxNHB4O2hlaWdodDphdXRvO3BhZGRpbmc6NHB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC1vZmZsaW5lLXNsYXRlLXByZW1pZXJlLXRyYWlsZXIgLnl0cC1vZmZsaW5lLXNsYXRlLWJ1dHRvbiBzdmd7ZmlsbDojZmZmfS55dHAtb2ZmbGluZS1zbGF0ZS1wcmVtaWVyZS10cmFpbGVyIC55dHAtb2ZmbGluZS1zbGF0ZS1idXR0b24tdGV4dHtmb250LXNpemU6MTEwJTtsaW5lLWhlaWdodDozMnB4O21hcmdpbjowIDhweH0ueXRwLWNocm9tZS10b3AgLnl0cC1vdmVyZmxvdy1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttaW4td2lkdGg6NDhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1vdmVyZmxvdy1idXR0b257cGFkZGluZy10b3A6MTZweH0ueXRwLW92ZXJmbG93LWljb257bWFyZ2luOmF1dG87d2lkdGg6MzZweDtoZWlnaHQ6MzZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1vdmVyZmxvdy1wYW5lbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojc0O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1vdmVyZmxvdy1wYW5lbFthcmlhLWhpZGRlbj10cnVlXXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1hdXRvaGlkZS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGU6bm90KC55dHAtYXV0b2hpZGUtYWN0aXZlKS55dHAtZW1iZWQtb3ZlcmxheXMtYXV0b2hpZGUgLnl0cC1vdmVyZmxvdy1wYW5lbHtkaXNwbGF5Om5vbmV9Lnl0cC1vdmVyZmxvdy1wYW5lbC1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3JpZ2h0OjA7bWFyZ2luLXRvcDotNDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6MTJweDtwYWRkaW5nOjA7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLW1vYmlsZS55dHAtZW1iZWQtbW9iaWxlIC55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2V7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRwLW92ZXJmbG93LXBhbmVsLWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtb3ZlcmZsb3ctcGFuZWwtY2xvc2U6aG92ZXIgcGF0aHtmaWxsOiNmZmZ9Lnl0cC1vdmVyZmxvdy1wYW5lbC1hY3Rpb24tYnV0dG9uc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpzdGFydDstd2Via2l0LWFsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDo4cHggMTJweCA3MnB4O3otaW5kZXg6NTk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLWxlZnQ+Kntwb2ludGVyLWV2ZW50czphdXRvO21hcmdpbi1ib3R0b206MTJweH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tYm90dG9tOjEycHg7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6YXV0b30ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25ze21hcmdpbi1ib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktdG9wLXJpZ2h0IC55dHAtY2hyb21lLXRvcC1idXR0b25zPip7bWFyZ2luLWJvdHRvbToxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2JvdHRvbTowfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdD4qe3BvaW50ZXItZXZlbnRzOmF1dG87bWFyZ2luLXRvcDoxMnB4fS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tcmlnaHR7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktYm90dG9tLXJpZ2h0Pip7cG9pbnRlci1ldmVudHM6YXV0bzttYXJnaW4tdG9wOjEycHg7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6MH0ueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLW92ZXJsYXktaW5saW5lLWNvbnRhaW5lcnt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Z2FwOjEycHh9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXI+Kntwb2ludGVyLWV2ZW50czphdXRvfS55dHAtb3ZlcmxheXMtY29udGFpbmVyey13ZWJraXQtdHJhbnNpdGlvbjpib3R0b20gLjFzO3RyYW5zaXRpb246Ym90dG9tIC4xczstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWZ1bGwtYmxlZWQtcGxheWVyLnl0cC1ncmlkLXNjcm9sbGluZyAueXRwLW92ZXJsYXlzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIDBzO3RyYW5zaXRpb246Ym90dG9tIDBzfS55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7aW5zZXQ6OHB4IDI0cHggNzhweH0ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7dG9wOjYwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1kZWxoaS1tb2Rlcm4pIC55dHAtb3ZlcmxheXMtY29udGFpbmVye3RvcDo2OXB4O2JvdHRvbTo3OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAyNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMjRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSArIDEwMCUqdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKX0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1vdmVybGF5cy1jb250YWluZXJ7Ym90dG9tOjI0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1vdmVybGF5cy1jb250YWluZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtb3ZlcmxheXMtY29udGFpbmVye2JvdHRvbTozNnB4fS5odG1sNS12aWRlby1wbGF5ZXIuZW5kZWQtbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257ZGlzcGxheTpub25lfS55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjUzcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1zaXplOjEwOS4wOTA5MDkwOTA5JTtoZWlnaHQ6MzBweDtsZWZ0OjI1cHg7bGluZS1oZWlnaHQ6MzBweDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgMnB4IHJnYmEoMCwwLDAsLjUpO3otaW5kZXg6Mjd9Lnl0cC1iaWctbW9kZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7cG9zaXRpb246cmVsYXRpdmU7aW5zZXQ6MH0ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym9yZGVyLXJhZGl1czowO2JvdHRvbTphdXRvO2ZvbnQtd2VpZ2h0OjQwMDtoZWlnaHQ6YXV0bztwb2ludGVyLWV2ZW50czphdXRvO3RvcDoxNnB4O2xlZnQ6MTZweDtyaWdodDphdXRvfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItbGVmdDo0cHggc29saWQgIzNlYTZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MzEycHg7cGFkZGluZzo4cHggMCA4cHggOHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1saW5rW2hyZWY9IiMiXXtwb2ludGVyLWV2ZW50czpub25lfS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZDpub25lOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXgtZ3JvdzoxO2ZsZXgtZ3JvdzoxO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6MWVtO3BhZGRpbmc6OHB4fS55dHAtZXhwLXBwcC11cGRhdGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheS1jaGV2cm9ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHg7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWNoZXZyb246ZW1wdHksLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWljb246ZW1wdHl7aGVpZ2h0OjA7d2lkdGg6MH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTphdXRvO2hlaWdodDphdXRvO2xlZnQ6MTZweDtsaW5lLWhlaWdodDppbmhlcml0fS55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXt0b3A6NjRweH0ueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWV4cC1wcHAtdXBkYXRlLnl0cC1iaWctbW9kZS55dHAtaGlkZS1pbmZvLWJhciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1hdXRvaGlkZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWVtYmVkLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7dG9wOjE2cHh9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5Om5vbmV9Lnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LC55dHAtZXhwLXBwcC11cGRhdGUueXRwLWJpZy1tb2RlIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1leHAtcHBwLXVwZGF0ZS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2luc2V0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWV4cC1wcHAtdXBkYXRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXktbGlua3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO3BhZGRpbmc6NXB4O2JvcmRlci1sZWZ0OnVuc2V0fS55dHAtZGVsaGktbW9kZXJuLnl0cC1leHAtcHBwLXVwZGF0ZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5LWluZGljYXRvcntkaXNwbGF5OmJsb2NrO3dpZHRoOjRweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kLWNvbG9yOiMzZWE2ZmY7bWFyZ2luOjAgOHB4fS55dHAtZW1iZWQgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206NDVweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MzJweDtvcGFjaXR5OjE7cGFkZGluZzowIDE0cHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXBhaWQtY29udGVudC1vdmVybGF5e2JvdHRvbTo2MnB4O2hlaWdodDo0MnB4O2xlZnQ6NDRweDtsaW5lLWhlaWdodDo0MnB4fS55dHAtYXV0b2hpZGUgLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheSwueXRwLWl2LWRyYXdlci1vcGVuIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXl7Ym90dG9tOjZweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246Ym90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUueXRwLWF1dG9oaWRlIC55dHAtcGFpZC1jb250ZW50LW92ZXJsYXksLnl0cC1iaWctbW9kZS55dHAtaXYtZHJhd2VyLW9wZW4gLnl0cC1wYWlkLWNvbnRlbnQtb3ZlcmxheXtib3R0b206MTJweH0ueXRwLXBhaWQtY29udGVudC1vdmVybGF5LXRleHRbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLW1lbnVpdGVte2Rpc3BsYXk6dGFibGUtcm93O2N1cnNvcjpkZWZhdWx0O291dGxpbmU6bm9uZX0ueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW06bm90KC55dHAtbWVudWl0ZW0td2l0aC1mb290ZXIpe2hlaWdodDo0OXB4fS55dHAtbWVudWl0ZW06bm90KFthcmlhLWRpc2FibGVkPXRydWVdKXtjdXJzb3I6cG9pbnRlcn0ueXRwLW1lbnVpdGVtOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1tZW51aXRlbS1pY29uLC55dHAtbWVudWl0ZW0tbGFiZWwsLnl0cC1tZW51aXRlbS1zZWNvbmRhcnktaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjB9Lnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxMHB4fS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmc6MCAxNXB4fS55dHAtbWVudWl0ZW0taWNvbiBzdmd7ZGlzcGxheTpibG9jazt3aWR0aDoyNHB4O2hlaWdodDoyNHB4fS55dHAtbWVudWl0ZW0tc2Vjb25kYXJ5LWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLWRlbGhpLW1vZGVybikgLnl0cC1tZW51aXRlbS1pY29uIHN2Z3t3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tbGFiZWx7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6dW5zZXR9Lnl0cC1tZW51aXRlbS1sYWJlbC13cmFwcGVye2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lnl0cC1tZW51aXRlbS1rZXlib2FyZC1zaG9ydGN1dHtmb250LXNpemU6MTE1JTtwYWRkaW5nLWxlZnQ6M3B4O2NvbG9yOiNjY2N9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1tZW51aXRlbXt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1xdWFsaXR5LW1lbnUgLnl0cC1wYW5lbC1tZW51e21hcmdpbi1yaWdodDoxMHB4fS55dHAtcXVhbGl0eS1tZW51IC55dHAtbWVudWl0ZW0tbGFiZWwgc3Vwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjB9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWNvbnRlbnQsLnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtLWxhYmVse3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1jb250ZW50e2Rpc3BsYXk6bm9uZX0ueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb10gLnl0cC1tZW51aXRlbS1sYWJlbHtwYWRkaW5nLWxlZnQ6MzVweDtwYWRkaW5nLXJpZ2h0OjIwcHg7Ym9yZGVyLWJvdHRvbTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVtyb2xlPW1lbnVpdGVtcmFkaW9dIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZy1sZWZ0OjUycHg7cGFkZGluZy1yaWdodDozNXB4fS55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS1sYWJlbHtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRUa2dNVFl1TWlBMExqZ2dNVEpzTFRFdU5DQXhMalJNT1NBeE9TQXlNU0EzYkMweExqUXRNUzQwZWlJdlBqd3ZjM1puUGc9PSk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246bGVmdCAxMHB4IGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjE4cHggMThweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZToxOHB4IDE4cHh9Lnl0cC1iaWctbW9kZSAueXRwLW1lbnVpdGVtW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tbGFiZWx7YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IDE1cHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToyN3B4IDI3cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MjdweCAyN3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjI3cHggMjdweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1pY29uey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW06Zm9jdXMgLnl0cC1tZW51aXRlbS1sYWJlbDpmaXJzdC1jaGlsZHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgMCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDJweCAycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgLTJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCl9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLW1lbnVpdGVtOmZvY3VzIC55dHAtbWVudWl0ZW0tY29udGVudHstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAwIDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpLGluc2V0IDAgMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtbWVudWl0ZW1bcm9sZT1tZW51aXRlbXJhZGlvXTpmb2N1cyAueXRwLW1lbnVpdGVtLWxhYmVsey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAycHggMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KSxpbnNldCAtMnB4IC0ycHggMCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMnB4IDJweCAwIHJnYmEoMjcsMTI3LDIwNCwuOCksaW5zZXQgLTJweCAtMnB4IDAgcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW1lbnVpdGVtLWNvbnRlbnR7Zm9udC1zaXplOjEwOSU7dGV4dC1hbGlnbjpyaWdodH0ueXRwLW1lbnVpdGVtLXN1YmxhYmVse2Zsb2F0OmxlZnR9Lnl0cC1tZW51LWxhYmVsLXNlY29uZGFyeSwueXRwLW1lbnVpdGVtLXN1YmxhYmVse2ZvbnQtc2l6ZTo5MSU7Y29sb3I6I2NjY30ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDlweCBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjMycHggMzJweDstbW96LWJhY2tncm91bmQtc2l6ZTozMnB4IDMycHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6MzJweCAzMnB4O3BhZGRpbmctcmlnaHQ6MzhweH0ueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfVtkaXI9cnRsXSAueXRwLW1lbnVpdGVtW2FyaWEtaGFzcG9wdXA9dHJ1ZV0gLnl0cC1tZW51aXRlbS1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFNUxqUXhJREl3TGpBNUxUUXVOVGd0TkM0MU9TQTBMalU0TFRRdU5UbE1NVGdnT1M0MWJDMDJJRFlnTmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEzcHggY2VudGVyO2JhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDtwYWRkaW5nLXJpZ2h0OjU3cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS1jb250ZW50e2ZvbnQtc2l6ZToxNHB4O2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10ZXh0LXNlY29uZGFyeSxyZ2JhKDI1NSwyNTUsMjU1LC43KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWhhc3BvcHVwPXRydWVdIC55dHAtbWVudWl0ZW0tY29udGVudHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEycHggY2VudGVyO2JhY2tncm91bmQtc2l6ZToxOHB4IDE4cHg7LW1vei1iYWNrZ3JvdW5kLXNpemU6MThweCAxOHB4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjE4cHggMThweDtwYWRkaW5nLXJpZ2h0OjMycHg7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKdE9TNDBJREU0TGpRdExqY3RMamNnTlM0MkxUVXVOaTAxTGpjdE5TNDNMamN0TGpjZ05pNDBJRFl1TkhvaUx6NDhMM04yWno0PSl9Lnl0cC1kZWxoaS1tb2Rlcm4gW2Rpcj1ydGxdIC55dHAtbWVudWl0ZW1bYXJpYS1oYXNwb3B1cD10cnVlXSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l5TkNJZ2FHVnBaMmgwUFNJeU5DSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJtYVd4c0xXOXdZV05wZEhrOUlpNDNJaUJrUFNKTk1UUXVPVFlnTVRndU9UWWdPQ0F4TW13MkxqazJMVFl1T1RZdU56RXVOekZNT1M0ME1TQXhNbXcyTGpJMUlEWXVNalY2SWk4K1BDOXpkbWMrKX0ueXRwLW1lbnVpdGVtIHN1cHtsaW5lLWhlaWdodDowO2ZvbnQtc2l6ZTouOGVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRwLW1lbnVpdGVtLWxhYmVsLWNvdW50e2NvbG9yOiNjY2N9Lnl0cC1tZW51aXRlbXRpdGxle3BhZGRpbmc6MCAxNXB4O21heC13aWR0aDoyMDBweDt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW10aXRsZXtwYWRkaW5nOjAgMjJweDttYXgtd2lkdGg6MzAwcHh9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNle21hcmdpbi1sZWZ0Oi44ZW07ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1tZW51aXRlbS1pbmxpbmUtc3VydmV5LXJlc3BvbnNlIHN2Z3toZWlnaHQ6MjBweDt3aWR0aDoyMHB4O21hcmdpbi1ib3R0b206LTRweH0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1zdWdnZXN0ZWQtYWN0aW9uKX0ueXRwLW1lbnVpdGVtLWhpZ2hsaWdodC10cmFuc2l0aW9uLWVuYWJsZWQueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLWhpZ2hsaWdodGVkKXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAzcyBsaW5lYXIgMXM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDNzIGxpbmVhciAxc30ueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLXRvcDoxNXB4fS55dHAtbWVudWl0ZW0tZm9vdGVye3BhZGRpbmctdG9wOjVweH0ueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7Y29sb3I6I2VlZTtwYWRkaW5nOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtLXNlY3Rpb24taGVhZGVyIC55dHAtbWVudWl0ZW0tbGFiZWx7cGFkZGluZzowfS55dHAtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MDtvdmVyZmxvdy15OmF1dG87b3ZlcmZsb3cteDpoaWRkZW59Lnl0cC1wYW5lbHttaW4td2lkdGg6MjUwcHh9Lnl0cC1wYW5lbC1oZWFkZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4yKTtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToxMDklO2NvbG9yOiNlZWU7cGFkZGluZzo4cHggMDtoZWlnaHQ6NDBweDt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC1wYW5lbC1mb290ZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7bGluZS1oZWlnaHQ6aW5oZXJpdDtmb250LXNpemU6MTE4JTtmb250LXdlaWdodDo1MDA7Y29sb3I6I2VlZTtwYWRkaW5nOjE2cHggMDttaW4taGVpZ2h0OjQwcHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI1MHB4fS55dHAtcGFuZWwtZm9vdGVyLWNvbnRlbnR7bWFyZ2luOjAgMTBweH0ueXRwLXBhbmVsLWZvb3Rlci55dHAtcGFuZWwtaGlkZS1mb290ZXJ7ZGlzcGxheTpub25lfS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1wYW5lbC1mb290ZXItY29udGVudC1saW5re2NvbG9yOiMxNjdhYzZ9Lnl0cC10b3VjaC1tb2RlIC55dHAtcGFuZWwtaGVhZGVye2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC1oZWFkZXJ7aGVpZ2h0OjQ5cHh9Lnl0cC1wYW5lbC1iYWNrLWJ1dHRvbi1jb250YWluZXJ7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NDhweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDo0OHB4fS55dHAtcGFuZWwtYmFjay1idXR0b257YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXpNaUF6TWlJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGliVEU1TGpReElESXdMakE1TFRRdU5UZ3ROQzQxT1NBMExqVTRMVFF1TlRsTU1UZ2dPUzQxYkMwMklEWWdOaUEyZWlJdlBqd3ZjM1puUGc9PSk7aGVpZ2h0OjMycHg7d2lkdGg6MzJweH0ueXRwLXBhbmVsLXRpdGxlOmhvdmVye2N1cnNvcjpwb2ludGVyfS55dHAtcGFuZWwtb3B0aW9uc3ttYXJnaW4tbGVmdDphdXRvfS55dHAtcGFuZWwtdGl0bGV7Zm9udC13ZWlnaHQ6NTAwfVtkaXI9cnRsXSAueXRwLXBhbmVsLXRpdGxle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpYlRFeUxqVTVJREl3TGpNMElEUXVOVGd0TkM0MU9TMDBMalU0TFRRdU5UbE1NVFFnT1M0M05XdzJJRFl0TmlBMmVpSXZQand2YzNablBnPT0pfS55dHAtYmlnLW1vZGUgLnl0cC1wYW5lbC10aXRsZXtiYWNrZ3JvdW5kLXNpemU6NDhweCA0OHB4Oy1tb3otYmFja2dyb3VuZC1zaXplOjQ4cHggNDhweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo0OHB4IDQ4cHg7cGFkZGluZzowIDE1cHggMCA1MnB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLXBhbmVsLXRpdGxle3BhZGRpbmc6MCAxNXB4IDAgMH0ueXRwLXBhbmVsLW9wdGlvbnN7aGVpZ2h0OjEwMCU7cGFkZGluZzowIDEwcHg7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ueXRwLWJpZy1tb2RlIC55dHAtcGFuZWwtb3B0aW9uc3twYWRkaW5nOjAgMTVweH0ueXRwLXBhbmVsLW1lbnV7cGFkZGluZzo4cHggMDtkaXNwbGF5OnRhYmxlO3dpZHRoOjEwMCU7Y29sb3I6I2VlZTstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NDZweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue3dpZHRoOjU2cHg7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDo4cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257cGFkZGluZzowfS55dHAtZGVsaGktbW9kZXJuLWljb25zIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3BhZGRpbmc6MTBweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7cGFkZGluZzoxOHB4fS55dHAtZGVsaGktbW9kZXJuLWljb25zLnl0cC1iaWctbW9kZS55dHAtYmlnLW1vZGUtY29uc2lzdGVudC1waWxsLWhlaWdodCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b257d2lkdGg6NTJweDtoZWlnaHQ6NTJweDttYXJnaW4tdG9wOjZweH0ueXRwLWRlbGhpLW1vZGVybi1pY29ucy55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjE0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4taWNvbnMueXRwLWJpZy1tb2RlLnl0cC14c21hbGwtd2lkdGgtbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uIHN2Z3twYWRkaW5nOjEycHggMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktcGlsbC1oZWlnaHQsNDhweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1waWxsLXRvcC1oZWlnaHQsMTJweCk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZGVsaGktbW9kZXJuLWNvbXBhY3QtY29udHJvbHMgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24gc3Zne3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7cGFkZGluZzo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luLXRvcDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLXRvcC1oZWlnaHQsMjBweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWRlbGhpLW1vZGVybi1jb21wYWN0LWNvbnRyb2xzLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbiBzdmd7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1wbGF5LWJ1dHRvbnt3aWR0aDo2OXB4fS55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NDBweH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24tcGxheWxpc3R7d2lkdGg6NjBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcGxheS1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXBsYXktYnV0dG9uLXBsYXlsaXN0e21hcmdpbi10b3A6MTJweDt3aWR0aDo3MnB4O2hlaWdodDo3MnB4fS55dHAtZW1iZWQueXRwLWVtYmVkLW1vYmlsZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAtcHJldi1idXR0b24sLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC1uZXh0LWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXByZXYtYnV0dG9uLC55dHAtZW1iZWQueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLW5leHQtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLW5leHQtYnV0dG9uLC55dHAtcGxheS1idXR0b24sLnl0cC1wcmV2LWJ1dHRvbnstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG99Lnl0cC1wbGF5bGlzdC1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtib3R0b206MDt3aWR0aDo0MDBweDttYXgtd2lkdGg6MTAwJTt6LWluZGV4OjczO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOCk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51e2xlZnQ6YXV0bztyaWdodDowfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51e3dpZHRoOjYwMHB4fVtkaXI9bHRyXSAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfVtkaXI9bHRyXSAueXRwLWVtYmVkLXBsYXlsaXN0IC55dHAtcGxheWxpc3QtbWVudVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKX1bZGlyPXJ0bF0gLnl0cC1wbGF5bGlzdC1tZW51W2FyaWEtaGlkZGVuPXRydWVdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX1bZGlyPXJ0bF0gLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnVbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9Lnl0cC1wbGF5bGlzdC1tZW51LWhlYWRlcntwYWRkaW5nOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzQ0NH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1oZWFkZXJ7cGFkZGluZzoyM3B4fS55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3BhZGRpbmctcmlnaHQ6MTVweDtmb250LXNpemU6MTM2JTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS10aXRsZXtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4O3BhZGRpbmctcmlnaHQ6MjNweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXBsYXlsaXN0LW1lbnUtc3VidGl0bGV7Y29sb3I6I2I4YjhiODtsaW5lLWhlaWdodDoxN3B4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LXN1YnRpdGxle2xpbmUtaGVpZ2h0OjI2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxNXB4O3JpZ2h0OjE1cHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1jbG9zZXt0b3A6MjNweDtyaWdodDoyM3B4O3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWNsb3NlIHBhdGh7ZmlsbDojYWFhfS55dHAtcGxheWxpc3QtbWVudS1jbG9zZTpob3ZlciBwYXRoe2ZpbGw6I2ZmZn0ueXRwLXBsYXlsaXN0LW1lbnUtaXRlbXN7cG9zaXRpb246YWJzb2x1dGU7dG9wOjY4cHg7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7b3ZlcmZsb3c6YXV0b30ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1pdGVtc3t0b3A6MTAzcHh9Lnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24sLnl0cC1lbWJlZC1wbGF5bGlzdC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257d2lkdGg6YXV0bztoZWlnaHQ6YXV0b30ueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykueXRwLXNtYWxsLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntwYWRkaW5nLXRvcDoxNnB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue21hcmdpbjphdXRvfS55dHAtYmlnLW1vZGUgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmctcmlnaHQ6NnB4O2xpbmUtaGVpZ2h0OjM2cHg7b3BhY2l0eToxfS55dHAtZW1iZWQtcGxheWxpc3Q6bm90KC55dHAtc21hbGwtbW9kZSkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbnttYXJnaW4tbGVmdDoxMHB4O21hcmdpbi1yaWdodDoxMHB4fS55dHAtZW1iZWQtcGxheWxpc3QgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e3BhZGRpbmc6MDtsaW5lLWhlaWdodDppbmhlcml0O29wYWNpdHk6MTtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHh9Lnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb24sLnl0cC1lbWJlZC1wbGF5bGlzdCAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7ZGlzcGxheTpibG9ja30ueXRwLWVtYmVkLXBsYXlsaXN0Lnl0cC1zbWFsbC1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRpbnkgLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbi10ZXh0e2Rpc3BsYXk6Tm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDo1NHB4fS55dHAtZW1iZWQtcGxheWxpc3QueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dHtsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtc2l6ZToyMHB4fS55dHAtcGxheWxpc3QtbWVudS1idXR0b24taWNvbiwueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLXRleHR7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWluLXdpZHRoOjQ4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257bWFyZ2luLXRvcDo5cHg7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtwYWRkaW5nOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzttaW4td2lkdGg6MzZweDttaW4taGVpZ2h0OjM2cHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW4tdG9wOjlweDtib3JkZXItcmFkaXVzOjI3cHg7bWF4LXdpZHRoOjQwMHB4Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wbGF5bGlzdC1tZW51LWJ1dHRvbiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uLWljb257LXdlYmtpdC1ib3gtZmxleDowOy13ZWJraXQtZmxleDpub25lO2ZsZXg6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9uIC55dHAtcGxheWxpc3QtbWVudS1idXR0b24tdGl0bGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtcGxheWxpc3QtbWVudS1idXR0b257cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDp1bnNldDt6LWluZGV4OjU4fS55dHAtaGlkZS1pbmZvLWJhciAueXRwLW92ZXJsYXlzLWNvbnRhaW5lciAueXRwLXBsYXlsaXN0LW1lbnUtYnV0dG9ue2Rpc3BsYXk6bm9uZX0ueXRwLXNjcnViYmVyLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTRweDtsZWZ0Oi02LjVweDt6LWluZGV4OjQzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItY29udGFpbmVye3RvcDotM3B4O2xlZnQ6LTZweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi05LjVweDtsZWZ0Oi0xMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lcnt0b3A6LTlweDtsZWZ0Oi0xMnB4fS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi02cHg7bGVmdDotMTBweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1jb250YWluZXJ7dG9wOi04cHg7bGVmdDotMTBweH0ueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6MTNweDt3aWR0aDoxM3B4O2JvcmRlci1yYWRpdXM6Ni41cHg7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9ue2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0qIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLWhpZGUtc2NydWJiZXItYnV0dG9uLC55dHAtZGVsaGktbW9kZXJuIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1oaWRlLXNjcnViYmVyLWJ1dHRvbnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTstbXMtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS41NCk7dHJhbnNmb3JtOnNjYWxlKDEuNTQpfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1idXR0b257aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7Ym90dG9tOjIwcHg7bGVmdDoxMHB4fS55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntkaXNwbGF5Om5vbmU7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9ue2Rpc3BsYXk6YmxvY2t9LnlwYy1sb2FkZWQgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXN3YXRjaC1iYWNrZ3JvdW5kLWNvbG9ye2JhY2tncm91bmQtY29sb3I6IzI3OTNlNn0uYWQtaW50ZXJydXB0aW5nIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kLWNvbG9yOiNmYzB9Lnl0cC1wcm9iYWJseS1rZXlib2FyZC1mb2N1cyAueXRwLXByb2dyZXNzLWJhcjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWRyYWcgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS42Nyk7dHJhbnNmb3JtOnNjYWxlKDEuNjcpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRyYWcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3ZlciwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtc2NydWJiZXItYnV0dG9uLnl0cC1zY3J1YmJlci1idXR0b24taG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7dHJhbnNmb3JtOnNjYWxlKDEuMTY2NjY2NjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZHJhZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1kcmFnIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbi55dHAtc2NydWJiZXItYnV0dG9uLWhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWNvbnRhaW5lciAueXRwLXNjcnViYmVyLWJ1dHRvbiwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1zY3J1YmJlci1idXR0b24ueXRwLXNjcnViYmVyLWJ1dHRvbi1ob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjE2NjY2NjY2NjcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTt0cmFuc2Zvcm06c2NhbGUoMS4xNjY2NjY2NjY3KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQyO2JvdHRvbToxNi45cHg7bGVmdDo2LjVweDstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ueXRwLXNjcnViYmVyLXB1bGwtaW5kaWNhdG9yOmFmdGVyLC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjt0b3A6MDtsZWZ0OjA7b3BhY2l0eTowO3dpZHRoOjYuNXB4O2hlaWdodDo2LjVweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjJweCAwIDAgMnB4O2JvcmRlci1jb2xvcjojZWFlYWVhfS55dHAtYmlnLW1vZGUgLnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2NydWJiZXItcHVsbC1pbmRpY2F0b3I6YmVmb3Jle3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHh9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjphZnRlcnstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xczt0cmFuc2l0aW9uOmFsbCAuMXN9Lnl0cC1zY3J1YmJlci1wdWxsLWluZGljYXRvcjpiZWZvcmV7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbjphbGwgLjJzfS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXIsLnl0cC1jaGFwdGVycy1jb250YWluZXJ7ei1pbmRleDozMjtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7aGVpZ2h0OjEwMCV9Lnl0cC1jaGFwdGVycy1jb250YWluZXJ7d2lkdGg6MTAwJX0ueXRwLWNoYXB0ZXItaG92ZXItY29udGFpbmVye2Zsb2F0OmxlZnR9Lnl0cC1wcm9ncmVzcy1saXN0e3otaW5kZXg6Mzk7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yKTtoZWlnaHQ6MTAwJTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1saXN0e292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsLjYpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWx1bWlub3NpdHkueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6bHVtaW5vc2l0eX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWRpZmZlcmVuY2UueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWxpc3R7YmFja2dyb3VuZDpyZ2JhKDgwLDgwLDgwLC42KTtiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6ZGlmZmVyZW5jZX0ueXRwLWRlbGhpLW1vZGVybi13aXRoLWV4Y2x1c2lvbi55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtbGlzdHtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpleGNsdXNpb259Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtLjVweCkgc2NhbGVZKC42MjUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0uNXB4KSBzY2FsZVkoLjYyNSl9Lnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1wcm9ncmVzcy1saXN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtdG91Y2gtbW9kZSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWxpc3QsLnl0cC1kcmFnIC55dHAtcHJvZ3Jlc3MtbGlzdHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kcmFnIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtZHJhZyAueXRwLWV4cC1jaGFwdGVyLWhvdmVyLWVmZmVjdCwueXRwLWRlbGhpLW1vZGVybi55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkueXRwLXRpbWVkLW1hcmtlcnMtZW5hYmxlZCAueXRwLXByb2dyZXNzLWxpc3R7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItY29udGFpbmVyOmhvdmVyLC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtZXhwLWNoYXB0ZXItaG92ZXItZWZmZWN0LC55dHAtZGVsaGktbW9kZXJuIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLnl0cC10aW1lZC1tYXJrZXJzLWVuYWJsZWQgLnl0cC1wcm9ncmVzcy1saXN0ey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSB1bnNldDt0cmFuc2l0aW9uOnRyYW5zZm9ybSB1bnNldCwtd2Via2l0LXRyYW5zZm9ybSB1bnNldH0ueXRwLXJlcGVhdGluZy1jaGFwdGVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxLjgpOy1tcy10cmFuc2Zvcm06c2NhbGVZKDEuOCk7dHJhbnNmb3JtOnNjYWxlWSgxLjgpfS55dHAtYm91bmQtdGltZS1sZWZ0LC55dHAtYm91bmQtdGltZS1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5Om5vbmU7dG9wOi0yOXB4O3otaW5kZXg6Mjk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZTNlM2UzO3BhZGRpbmc6NXB4IDlweDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGVhc2UtaW47dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBlYXNlLWlufS55dHAtYmlnLW1vZGUgLnl0cC1ib3VuZC10aW1lLWxlZnQsLnl0cC1iaWctbW9kZSAueXRwLWJvdW5kLXRpbWUtcmlnaHR7dG9wOi0zNnB4fS55dHAtYm91bmQtdGltZS1sZWZ0e2xlZnQ6MH0ueXRwLWJvdW5kLXRpbWUtcmlnaHR7cmlnaHQ6MH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlciwueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtib3R0b206LTVweDt3aWR0aDowO2hlaWdodDowO2JvcmRlci1zdHlsZTpzb2xpZH0ueXRwLWJvdW5kLXRpbWUtbGVmdDphZnRlcntsZWZ0OjA7Ym9yZGVyLXdpZHRoOjVweCA1cHggMCAwO2JvcmRlci1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWJvdW5kLXRpbWUtcmlnaHQ6YWZ0ZXJ7cmlnaHQ6MDtib3JkZXItd2lkdGg6MCA1cHggNXB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHJnYmEoMjgsMjgsMjgsLjkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3MsLnl0cC1hZC1wcm9ncmVzcywueXRwLWNsaXAtZW5kLWV4Y2x1ZGUsLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGUsLnl0cC1ob3Zlci1wcm9ncmVzcywueXRwLWxvYWQtcHJvZ3Jlc3MsLnl0cC1wbGF5LXByb2dyZXNzLC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVyLC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMDstbXMtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDB9Lnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjYpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC42KTt0cmFuc2Zvcm06c2NhbGVZKC42KTt0b3A6MXB4O3otaW5kZXg6NDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7LW1zLXRyYW5zZm9ybTpzY2FsZVkoLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSguNjY3KX0ueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXJzLWNvbnRhaW5lcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMS44KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjgpO3RyYW5zZm9ybTpzY2FsZVkoMS44KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dG9wOi0ycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vycy1jb250YWluZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEuNjY3KTstbXMtdHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7dHJhbnNmb3JtOnNjYWxlWSgxLjY2Nyk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVyLC55dHAtcHJvZ3Jlc3MtYmFyLWhvdmVyIC55dHAtdGltZWQtbWFya2VyLnl0cC10aW1lZC1tYXJrZXItaG92ZXJ7d2lkdGg6OXB4O2hlaWdodDozcHg7Ym90dG9tOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXIgLnl0cC10aW1lZC1tYXJrZXIueXRwLXRpbWVkLW1hcmtlci1ob3ZlciwueXRwLWRlbGhpLW1vZGVybiAueXRwLXByb2dyZXNzLWJhci1ob3ZlciAueXRwLXRpbWVkLW1hcmtlci55dHAtdGltZWQtbWFya2VyLWhvdmVye3dpZHRoOjEycHg7aGVpZ2h0OjQuOHB4O2JvdHRvbTouNnB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpob3ZlciAueXRwLXRpbWVkLW1hcmtlcnt3aWR0aDo1cHg7aGVpZ2h0OjEuNjdweDtib3R0b206MS41cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyIC55dHAtdGltZWQtbWFya2Vye3dpZHRoOjZweDtoZWlnaHQ6Mi40cHg7Ym90dG9tOjJweH0ueXRwLXByb2dyZXNzLWJhci1zdGFydHtib3JkZXItcmFkaXVzOjNweCAwIDAgM3B4fS55dHAtcHJvZ3Jlc3MtYmFyLWVuZHtib3JkZXItcmFkaXVzOjAgM3B4IDNweCAwfS55dHAtcHJvZ3Jlc3MtYmFyLXN0YXJ0Lnl0cC1wcm9ncmVzcy1iYXItZW5ke2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdGltZWQtbWFya2Vye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO3dpZHRoOjNweDtoZWlnaHQ6M3B4O2JvdHRvbToxcHg7Ym9yZGVyLXJhZGl1czo1MCU7b3BhY2l0eToxfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZWQtbWFya2Vye2JvdHRvbToycHh9Lnl0cC1jbGlwLWVuZC1leGNsdWRlLC55dHAtY2xpcC1zdGFydC1leGNsdWRle2Rpc3BsYXk6bm9uZTt6LWluZGV4OjM3O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1jbGlwLWVuZC1lbmFibGVkIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtc3RhcnQtZW5hYmxlZCAueXRwLWNsaXAtc3RhcnQtZXhjbHVkZXtkaXNwbGF5OmJsb2NrfS55dHAtbG9vcC1yYW5nZS1lbmFibGVkIC55dHAtY2xpcC1lbmQsLnl0cC1sb29wLXJhbmdlLWVuYWJsZWQgLnl0cC1jbGlwLXN0YXJ0e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1jbGlwLWhvdmVyIC55dHAtY2xpcC1lbmQtZXhjbHVkZSwueXRwLWNsaXAtaG92ZXIgLnl0cC1jbGlwLXN0YXJ0LWV4Y2x1ZGV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1saW5lYXItbGl2ZS1idWZmZXJ7ei1pbmRleDo0NTtiYWNrZ3JvdW5kOiNjMDA7b3BhY2l0eTowfS55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtcHJvZ3Jlc3MtbGluZWFyLWxpdmUtYnVmZmVye29wYWNpdHk6LjZ9Lnl0cC1hZC1wcm9ncmVzc3t6LWluZGV4OjM2O2JhY2tncm91bmQ6I2ZjMH0ueXRwLWxvYWQtcHJvZ3Jlc3N7ei1pbmRleDozMztiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjQpfS55dHAtbG9hZC1wcm9ncmVzcy55dHAtZmFzdC1sb2Fke2JhY2tncm91bmQ6IzAwODM4Zn0ueXRwLXBsYXktcHJvZ3Jlc3N7ei1pbmRleDozNDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLHJpZ2h0IHRvcCxjb2xvci1zdG9wKDgwJSwjZjAzKSx0bygjZmYyNzkxKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCNmMDMgODAlLCNmZjI3OTEpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55cGMtbG9hZGVkIC55dHAtcGxheS1wcm9ncmVzcy55dHAtc3dhdGNoLWJhY2tncm91bmQtY29sb3J7YmFja2dyb3VuZDojMjc5M2U2fS5hZC1pbnRlcnJ1cHRpbmcgLnl0cC1wbGF5LXByb2dyZXNzLnl0cC1zd2F0Y2gtYmFja2dyb3VuZC1jb2xvcntiYWNrZ3JvdW5kOiNmYzB9Lnl0cC1ob3Zlci1wcm9ncmVzc3t6LWluZGV4OjM1O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTI1KTtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1ob3Zlci1wcm9ncmVzc3tvcGFjaXR5OjF9Lnl0cC1kZWxoaS1tb2Rlcm4uYWQtaW50ZXJydXB0aW5nIC55dHAtbG9hZC1wcm9ncmVzcywueXRwLWVuYWJsZS1saXZlLWJ1ZmZlciAueXRwLWhvdmVyLXByb2dyZXNzLC55dHAtZW5hYmxlLWxpdmUtYnVmZmVyIC55dHAtbG9hZC1wcm9ncmVzc3tvcGFjaXR5OjB9Lnl0cC1ob3Zlci1wcm9ncmVzcy1saWdodHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjUpfS55dHAtMTVtLXByb2dyZXNzLC55dHAtMW0tcHJvZ3Jlc3MsLnl0cC0zMG0tcHJvZ3Jlc3MsLnl0cC02MG0tcHJvZ3Jlc3N7d2lkdGg6MXB4O2JhY2tncm91bmQ6IzAwMDt6LWluZGV4OjM2fS55dHAtMW0tcHJvZ3Jlc3N7aGVpZ2h0OjMwJX0ueXRwLTE1bS1wcm9ncmVzc3toZWlnaHQ6NTAlfS55dHAtMzBtLXByb2dyZXNze2hlaWdodDo1NSV9Lnl0cC02MG0tcHJvZ3Jlc3N7aGVpZ2h0OjYwJX0ueXRwLWNsaXAtZW5kLC55dHAtY2xpcC1zdGFydHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtib3R0b206LTQuNXB4O21hcmdpbi1sZWZ0Oi03cHg7ei1pbmRleDo0NDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLjIxNDI4NTcxNDMpOy1tcy10cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTt0cmFuc2Zvcm06c2NhbGVZKC4yMTQyODU3MTQzKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLWNsaXAtZW5kLC55dHAtYmlnLW1vZGUgLnl0cC1jbGlwLXN0YXJ0e3dpZHRoOjIxcHg7aGVpZ2h0OjIxcHg7Ym90dG9tOi02LjVweDttYXJnaW4tbGVmdDotMTAuNXB4Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTstbXMtdHJhbnNmb3JtOnNjYWxlWSguMjM4MDk1MjM4KTt0cmFuc2Zvcm06c2NhbGVZKC4yMzgwOTUyMzgpfS55dHAtZHJhZyAueXRwLWNsaXAtZW5kLC55dHAtZHJhZyAueXRwLWNsaXAtc3RhcnQsLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkgLnl0cC1jbGlwLWVuZCwueXRwLXByb2dyZXNzLWJhci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLWNsaXAtc3RhcnQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1lbmQsLnl0cC10b3VjaC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtY2xpcC1zdGFydHstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1jbGlwLWVuZCBzdmcsLnl0cC1jbGlwLXN0YXJ0IHN2Z3tkaXNwbGF5OmJsb2NrfS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7Ym90dG9tOjQ3cHg7aGVpZ2h0OjVweH0ueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7ei1pbmRleDo2MDtib3R0b206dmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCw3MnB4KTtoZWlnaHQ6NnB4fS55dHAteHNtYWxsLXdpZHRoLW1vZGUueXRwLWRlbGhpLW1vZGVybjpub3QoLnl0cC1wbGF5ZXItbWluaW1pemVkKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQteHNtYWxsLXdpZHRoLW1vZGUsNjRweCl9Lnl0cC1zbWFsbC1tb2RlIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206MzZweDtoZWlnaHQ6NXB4fS55dHAtZW1iZWQgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTozOXB4fS55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pe2N1cnNvcjpwb2ludGVyfS55dHAtYmlnLW1vZGUgLnl0cC1wcm9ncmVzcy1iYXItY29udGFpbmVye2JvdHRvbTo1Mi41cHg7aGVpZ2h0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGU6bm90KC55dHAteHNtYWxsLXdpZHRoLW1vZGUpIC55dHAtcHJvZ3Jlc3MtYmFyLWNvbnRhaW5lcntib3R0b206dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCw5NnB4KX0ueXRwLXByb2dyZXNzLWJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjMxO291dGxpbmU6bm9uZX0ueXRwLWhlYXQtbWFwLXBsYXllZF9iYXIueXRwLWhlYXQtbWFwLnl0cC1wcm9ncmVzcy1iYXItaG92ZXIgLnl0cC1wcm9ncmVzcy1iYXJ7b3BhY2l0eTowfS55dHAtbW9iaWxlIC55dHAtcHJvZ3Jlc3MtYmFye3BhZGRpbmctYm90dG9tOjEwcHh9Lnl0cC1wcm9ncmVzcy1iYXItcGFkZGluZ3twb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxNnB4O2JvdHRvbTowO3otaW5kZXg6Mjh9Lnl0cC1iaWctbW9kZSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyNHB4fS55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6aG92ZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDoyMnB4O2JvdHRvbTotNnB4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtdG91Y2gtbW9kZSkgLnl0cC1jaGFwdGVyLWhvdmVyLWNvbnRhaW5lcjpob3Zlcjpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC55dHAtcHJvZ3Jlc3MtYmFyLXBhZGRpbmd7aGVpZ2h0OjMzcHg7Ym90dG9tOi05cHh9Lnl0cC10b3VjaC1tb2RlIC55dHAtY2hhcHRlci1ob3Zlci1jb250YWluZXI6bm90KFthcmlhLWRpc2FibGVkPXRydWVdKSAueXRwLXByb2dyZXNzLWJhci1wYWRkaW5ne2hlaWdodDo0MHB4O2JvdHRvbTotMTFweH1AcHJvcGVydHkgLS1zZWVrLXNjcnViYmVyLXdpZHRoe3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1zY3J1YmJlci1jb250YWluZXIteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tcHJvZ3Jlc3Mtd2lkdGh7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXByb2dyZXNzLWxlZnQtYnVmZmVye3N5bnRheDoiPGxlbmd0aD4iO2luaXRpYWwtdmFsdWU6MDtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS1wcm9ncmVzcy1yaWdodC1idWZmZXJ7c3ludGF4OiI8bGVuZ3RoPiI7aW5pdGlhbC12YWx1ZTowO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXVuaWZpZWQtc2Vlay1vZmZzZXQteHtzeW50YXg6IjxsZW5ndGg+Ijtpbml0aWFsLXZhbHVlOjA7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxle3N5bnRheDoiPG51bWJlcj4iO2luaXRpYWwtdmFsdWU6MTtpbmhlcml0czpmYWxzZX0ueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey0tcHJvZ3Jlc3Mtd2lkdGg6MHB4Oy0tcHJvZ3Jlc3MtbGVmdC1idWZmZXI6MHB4Oy0tcHJvZ3Jlc3MtcmlnaHQtYnVmZmVyOjBweDstLXNlZWstc2NydWJiZXItd2lkdGg6MHB4Oy0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlOjE7LS1zY3J1YmJlci1jb250YWluZXIteDowcHg7LS1oYWxmLXdpZHRoOmNhbGModmFyKC0tc2Vlay1zY3J1YmJlci13aWR0aCwgMHB4KSowLjUpOy0taGFsZi1oZWlnaHQ6bWluKHZhcigtLWhhbGYtd2lkdGgpLDIwcHgpOy0tdW5pZmllZC1zZWVrLW9mZnNldC14OmNhbGMobWF4KDBweCwKICAgICAgICAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSAtIHZhcigKICAgICAgICAgICAgLS1zY3J1YmJlci1jb250YWluZXIteAogICAgICAgICAgKSAtIHZhcigtLXByb2dyZXNzLWxlZnQtYnVmZmVyKSkgKyBtaW4oMHB4LAogICAgICAgIHZhcigtLXByb2dyZXNzLXdpZHRoKSArIHZhcigtLXByb2dyZXNzLXJpZ2h0LWJ1ZmZlcikgLSB2YXIoLS1zY3J1YmJlci1jb250YWluZXIteCkgLSAodmFyKC0taGFsZi13aWR0aCkgKiB2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKSkpfS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uLC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbiwueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX19Lnl0cC11bmlmaWVkLXNlZWstY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MCAxNnB4O2hlaWdodDoxMDAlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9fS55dHAtdW5pZmllZC1zZWVrLWFjdGl2ZSAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjQ2O21hcmdpbjowO3dpZHRoOi13ZWJraXQtbWF4LWNvbnRlbnQ7d2lkdGg6LW1vei1tYXgtY29udGVudDt3aWR0aDptYXgtY29udGVudDtoZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjIwcHg7b3ZlcmZsb3c6aGlkZGVuO3RvcDo1MCU7bGVmdDo1MCU7LXdlYmtpdC1jbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTtjbGlwLXBhdGg6aW5zZXQoY2FsYyg1MCUgLSBtaW4odmFyKC0taGFsZi13aWR0aCksIHZhcigtLWhhbGYtaGVpZ2h0KSkpIGNhbGMoNTAlIC0gdmFyKC0taGFsZi13aWR0aCkpIHJvdW5kIG1pbih2YXIoLS1oYWxmLXdpZHRoKSx2YXIoLS1oYWxmLWhlaWdodCkpKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoY2FsYygtNTAlICsgdmFyKC0tdW5pZmllZC1zZWVrLW9mZnNldC14KSksLTUwJSkgc2NhbGUodmFyKC0tdW5pZmllZC1zZWVrLXNjcnViYmVyLXNjYWxlKSk7dHJhbnNmb3JtOnRyYW5zbGF0ZShjYWxjKC01MCUgKyB2YXIoLS11bmlmaWVkLXNlZWstb2Zmc2V0LXgpKSwtNTAlKSBzY2FsZSh2YXIoLS11bmlmaWVkLXNlZWstc2NydWJiZXItc2NhbGUpKTtmb250LWZhbWlseTpZb3VUdWJlIE5vdG8sUm9ib3RvLGFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjI2cHg7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsY29sb3Itc3RvcCg4MCUsI2YwMyksdG8oI2ZmMjc5MSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwjZjAzIDgwJSwjZmYyNzkxKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjpub3QoOmVtcHR5KT4ueXRwLXVuaWZpZWQtc2Vlay1pY29ue21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWxlZnQ6LTZweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6bm90KDplbXB0eSk+Lnl0cC11bmlmaWVkLXNlZWstaWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0cC11bmlmaWVkLXNlZWstYWN0aXZlIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXIgLnl0cC11bmlmaWVkLXNlZWstaWNvbi1yaWdodC13cmFwcGVyOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OjEwMCU7d2lkdGg6MjRweH0ueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLWxlZnQtd3JhcHBlcjplbXB0eSwueXRwLXVuaWZpZWQtc2Vlay1hY3RpdmUgLnl0cC11bmlmaWVkLXNlZWstd3JhcHBlciAueXRwLXVuaWZpZWQtc2Vlay1pY29uLXJpZ2h0LXdyYXBwZXI6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLXVuaWZpZWQtc2Vlay13cmFwcGVye29wYWNpdHk6MH1AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246bm8tcHJlZmVyZW5jZSl7Lnl0cC11bmlmaWVkLXNlZWstc2hyaW5raW5nIC55dHAtdW5pZmllZC1zZWVrLXdyYXBwZXJ7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfX0ueXRwLXVuaWZpZWQtc2Vlay1zaHJpbmtpbmcgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItY29udGFpbmVyIC55dHAtZGVjb3JhdGVkLXNjcnViYmVyLWJ1dHRvbntvcGFjaXR5OjF9QG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOm5vLXByZWZlcmVuY2Upey55dHAtdW5pZmllZC1zZWVrLXNocmlua2luZyAueXRwLWRlY29yYXRlZC1zY3J1YmJlci1jb250YWluZXIgLnl0cC1kZWNvcmF0ZWQtc2NydWJiZXItYnV0dG9uey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX19Lnl0cC1wcm9tb3Rvb2x0aXAtd3JhcHBlcnttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt3aWR0aDozMDBweDtoZWlnaHQ6MTQwcHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzfS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC13cmFwcGVye3dpZHRoOjQ1MHB4O2hlaWdodDoyMTBweH0ueXRwLXByb21vdG9vbHRpcC1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0O2NvbG9yOiNmZmY7Zm9udC1zaXplOjExMCU7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC10cmFuc2Zvcm06bm9uZTtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1wcm9tb3Rvb2x0aXAtY29udGVudHtwYWRkaW5nOjE2cHggMTZweCA0cHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWNvbnRlbnR7cGFkZGluZzoyNHB4IDI0cHggNnB4fS55dHAtcHJvbW90b29sdGlwLXRpdGxle21hcmdpbi1ib3R0b206OHB4O2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNnB4fS55dHAtZnVsbHNjcmVlbiAueXRwLXByb21vdG9vbHRpcC10aXRsZXttYXJnaW4tYm90dG9tOjEycHg7bGluZS1oZWlnaHQ6MjRweH0ueXRwLXByb21vdG9vbHRpcC1idXR0b25ze3BhZGRpbmc6OHB4IDRweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1wYWNrOmVuZDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWJ1dHRvbnN7cGFkZGluZzoxMnB4IDZweH0ueXRwLXByb21vdG9vbHRpcC1hY2NlcHQtYnV0dG9uLC55dHAtcHJvbW90b29sdGlwLWRpc21pc3MtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjEwcHggMTZweDtjdXJzb3I6cG9pbnRlcn0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtYWNjZXB0LWJ1dHRvbiwueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGlzbWlzcy1idXR0b257cGFkZGluZzoxNXB4IDI0cHh9Lnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1zdHlsZTpzb2xpZDt0b3A6MTAwJTtib3JkZXItd2lkdGg6MTJweDtib3JkZXItY29sb3I6IzA2NWZkNCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtcG9pbnRlcntib3JkZXItd2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb257d2lkdGg6MThweH0ueXRwLXByb21vdG9vbHRpcC1kZXRhaWxzLWljb24gc3Zne2hlaWdodDoyMnB4O3dpZHRoOjIycHg7bWFyZ2luOi03cHggLTVweH0ueXRwLWZ1bGxzY3JlZW4gLnl0cC1wcm9tb3Rvb2x0aXAtZGV0YWlscy1pY29ue3dpZHRoOjIycHh9Lnl0cC1mdWxsc2NyZWVuIC55dHAtcHJvbW90b29sdGlwLWRldGFpbHMtaWNvbiBzdmd7aGVpZ2h0OjMwcHg7d2lkdGg6MzBweDttYXJnaW46LTlweCAtN3B4fS55dHAtcmVtb3Rle2xlZnQ6MDtib3R0b206NjFweDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLWVtYmVkIC55dHAtcmVtb3Rle2JvdHRvbTo1M3B4fS55dHAtcmVtb3RlW2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246Ym90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZXtib3R0b206NzBweH0ueXRwLWhpZGUtY29udHJvbHMgLnl0cC1yZW1vdGV7Ym90dG9tOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOmJvdHRvbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze3otaW5kZXg6MTU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxMnB4O2JvdHRvbTo2MXB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7cGFkZGluZy1yaWdodDo1cHg7Ym9yZGVyLXJhZGl1czo1cHg7b3BhY2l0eTouODV9Lnl0cC1lbWJlZCAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1c3tib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVze2JvdHRvbTo3MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLWljb257ZmxvYXQ6bGVmdDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4fS55dHAtcmVtb3RlLWRpc3BsYXktc3RhdHVzLXRleHR7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTtwYWRkaW5nLXRvcDoxMHB4O3BhZGRpbmctbGVmdDo1cHg7Zm9udC1zaXplOjEzMCU7Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dHAtYmlnLW1vZGUgLnl0cC1yZW1vdGUtZGlzcGxheS1zdGF0dXMtdGV4dHtwYWRkaW5nLXRvcDoxNXB4O2xlZnQ6MTA1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlbW90ZS1kaXNwbGF5LXN0YXR1cy10ZXh0e3RvcDozMHB4fS55dHAtcmVwbGF5LWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTtib3R0b206MDttYXJnaW4tbGVmdDotMjRweDt6LWluZGV4OjU5fS55dHAtZW1iZWQgLnl0cC1yZXBsYXktYnV0dG9ue2JvdHRvbTo0cHg7bWFyZ2luLWxlZnQ6LTIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjcuNXB4O21hcmdpbi1sZWZ0Oi0yN3B4fS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjEwcHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXJlcGxheS1idXR0b257Ym90dG9tOjI0LjVweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXBsYXktYnV0dG9ue21hcmdpbi1sZWZ0OjhweH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWJ1dHRvbi55dHAtYXV0b25hdi10b2dnbGV7cGFkZGluZy1sZWZ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC12b2x1bWUtYXJlYXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdm9sdW1lLWFyZWE6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtd3JhcHBlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3BhZGRpbmc6MCA0cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1jaGFwdGVyLXRpdGxlLnl0cC1idXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXJpZ2h0LWNvbnRyb2xze2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wbGF5LWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybi55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLWNoYXB0ZXItdGl0bGUueXRwLWJ1dHRvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHAtZGVsaGktbW9kZXJuLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtcmlnaHQtY29udHJvbHMgLnl0cC1idXR0b246aG92ZXI6YmVmb3Jle2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1uZXh0LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1wcmV2LWJ1dHRvbjpub3QoLnl0cC1taW5pcGxheWVyLWJ1dHRvbi1jb250YWluZXI+Kik6aG92ZXI6YWZ0ZXJ7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b217cGFkZGluZzowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIDAgcmdiYSgyMjcsMjI3LDIyNywuNSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXByb2dyZXNzLWJhci1jb250YWluZXJ7aGVpZ2h0OjhweDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoNTAlLHJnYmEoMCwwLDAsMCkpLHRvKHJnYigxOSwxOSwxOSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2IoMTksMTksMTkpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwwKSA1MCUscmdiKDE5LDE5LDE5KSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1wcm9ncmVzcy1saXN0e2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbShyZ2IoNjgsNjgsNjgpKSx0byhyZ2IoOTUsOTUsOTUpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiKDY4LDY4LDY4KSxyZ2IoOTUsOTUsOTUpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXBsYXktcHJvZ3Jlc3N7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXNjcnViYmVyLWJ1dHRvbntoZWlnaHQ6OHB4O3dpZHRoOjhweDtib3JkZXItcmFkaXVzOjhweDtib3JkZXI6NHB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxMzcsMTM3LDEzNykpLHRvKHJnYigxODYsMTg2LDE4NikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTM3LDEzNywxMzcpLHJnYigxODYsMTg2LDE4NikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDEzNywxMzcsMTM3KSxyZ2IoMTg2LDE4NiwxODYpKTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC1jaHJvbWUtYm90dG9tIC55dHAtYnV0dG9uOm5vdCgueXRwLWNoYXB0ZXItdGl0bGUpe2JvcmRlci1yaWdodDoxcHggc29saWQgYmxhY2s7LXdlYmtpdC1ib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpO2JveC1zaGFkb3c6MXB4IDAgcmdiYSgyMjcsMjI3LDIyNywuMik7b3BhY2l0eTouOX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b24ueXRwLWF1dG9uYXYtdG9nZ2xle2JvcmRlci1sZWZ0OjFweCBzb2xpZCBibGFjaztwYWRkaW5nLWxlZnQ6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzoxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKSxpbnNldCAxcHggMCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93OjFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpLGluc2V0IDFweCAwIHJnYmEoMjI3LDIyNywyMjcsLjIpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtY2hyb21lLWJvdHRvbSAueXRwLXRpbWUtZGlzcGxheXtwYWRkaW5nLWxlZnQ6MTBweH0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLWNocm9tZS1ib3R0b20gLnl0cC1idXR0b246YWN0aXZlOmZvY3VzLC55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtc3VidGl0bGVzLWJ1dHRvblthcmlhLXByZXNzZWQ9dHJ1ZV17YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpfS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtdm9sdW1lLXBhbmVsLnl0cC12b2x1bWUtY29udHJvbC1ob3ZlcnttYXJnaW4tbGVmdDo4cHh9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOTQsMCwwKSksdG8ocmdiKDIzMCw2LDYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20scmdiKDE5NCwwLDApLHJnYigyMzAsNiw2KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTk0LDAsMCkscmdiKDIzMCw2LDYpKTttYXJnaW4tbGVmdDotNnB4fS55dHAtcmV0cm8tcGxheWVyOm5vdCguYWQtc2hvd2luZyk6bm90KC5hZC1pbnRlcnJ1cHRpbmcpIC55dHAtYmV6ZWx7Ym9yZGVyLXJhZGl1czp1bnNldDtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgYm90dG9tLGxlZnQgdG9wLGZyb20ocmdiKDE5LDE5LDE5KSksdG8ocmdiKDUyLDUyLDUyKSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLHJnYigxOSwxOSwxOSkscmdiKDUyLDUyLDUyKSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpOy13ZWJraXQtYW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHM7YW5pbWF0aW9uOmJlemVsLWZhZGUtaW4gMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSkgMSBub3JtYWwgZm9yd2FyZHN9QC13ZWJraXQta2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIGJlemVsLWZhZGUtaW57MCV7b3BhY2l0eTowfTI1JSw3NSV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpO3RyYW5zZm9ybTpzY2FsZSgyKX10b3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX0ueXRwLXJldHJvLXBsYXllcjpub3QoLmFkLXNob3dpbmcpOm5vdCguYWQtaW50ZXJydXB0aW5nKSAueXRwLXRvb2x0aXAtYmcsLnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtib3JkZXItcmFkaXVzOjB9Lnl0cC1yZXRyby1wbGF5ZXI6bm90KC5hZC1zaG93aW5nKTpub3QoLmFkLWludGVycnVwdGluZykgLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMXB4IDFweCByZ2JhKDIyNywyMjcsMjI3LC4yKTtib3gtc2hhZG93Omluc2V0IDFweCAxcHggcmdiYSgyMjcsMjI3LDIyNywuMik7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKHJnYigxOSwxOSwxOSkpLHRvKHJnYig1Miw1Miw1MikpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxyZ2IoMTksMTksMTkpLHJnYig1Miw1Miw1MikpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcscmdiKDE5LDE5LDE5KSxyZ2IoNTIsNTIsNTIpKX0ueXRwLXNldHRpbmdzLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbiBzdmd7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2V0dGluZ3MtYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gc3Zney13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzMGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzBkZWcpfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHg7aGVpZ2h0OjlweDt3aWR0aDoxM3B4O2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpO2JvcmRlci1yYWRpdXM6MXB4O2xpbmUtaGVpZ2h0Om5vcm1hbH0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiM2NjZ9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTRrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXBhcnR5IC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtY29sb3ItcGFydHkgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1jb2xvci1wYXJ0eSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7LXdlYmtpdC1hbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246eXRwLXBhcnR5LWJhY2tncm91bmQtY29sb3IgLjFzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUVWdOMmd4ZGpGSU5YcHROUzAwZGpGSU9GWXplazB6SURaV05XZ3lkakY2VFRJZ04yZ3hkakZJTW5wdE5TQXdhRE4yTVVnM2VtMHpMVEZvTVhZeGFDMHhlaUl2UGp4d1lYUm9JR1pwYkd3OUlpTm1abVlpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVFVnTjFZMVNETjJNa2d5VmpKb01YWXlhREpXTW1neGRqVjZiVFl0TVdndE1YWXhTRGRXTW1nemRqRm9NWHB0TFRFdE1sWXpTRGgyTTJneWVpSXZQand2YzNablBnPT0pfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZHItcXVhbGl0eS1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE5DQTJJajQ4Y0dGMGFDQm1hV3hzTFc5d1lXTnBkSGs5SWk0Mk5EY2lJR1E5SWsweklEVm9NWFl4U0RONmJUVXROSFl4U0RaV01YcE5NU0EwVmpOb01uWXhlazB3SURWb01YWXhTREI2YlRVZ01HZ3pkakZJTlhwdE15MHhhREYyTVVnNGVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1E5SWsweklEVldNMGd4ZGpKSU1GWXdhREYyTW1neVZqQm9NWFkxZW0wMkxURklPSFl4U0RWV01HZ3pkakZvTVhwTk9DQXlWakZJTm5ZemFESjZJaTgrUEhCaGRHZ2dabWxzYkMxdmNHRmphWFI1UFNJdU5qUTNJaUJrUFNKTk1UTWdNbWd4ZGpGb0xURjZiVEFnTTJneGRqRm9MVEY2YlMweUxUSm9Nbll4YUMweWVtMHRNU0F5YURGMk1XZ3RNWHB0TVMwMGFESjJNV2d0TW5vaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTVRRZ00zWXlhQzB4VmpONmJTMHpMVE5vTW5ZeGFDMHlkakZvTW5ZeGFDMHlkakpvTFRGV01IcHRNaUF3YURGMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KTtoZWlnaHQ6NnB4O3dpZHRoOjE0cHg7cmlnaHQ6M3B4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2UxMDAyZDtib3JkZXItd2lkdGg6MXB4fS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMDBJRGRvTVhZeFNEUjZUVElnTm1neWRqRklNbnB0TVMweWFERjJNVWd6ZWlJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFeElEVjJNbWd0TVZZMWVtMHRNU0F3U0RoMk1rZzNWakpvTVhZeWFESjZUVFFnTkVnemRqRm9NWHB0TUNBelZqWklNbFkwYURGV00yZ3hWakpvTVhZemFERjJNVWcxZGpGNmJUWXROV2d4ZGpKb0xURjZJaTgrUEM5emRtYyspfS55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMVzl3WVdOcGRIazlJaTQyTkRjaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRFd0lEUm9NWFl4YUMweGVtMHdJRE5vTVhZeGFDMHhlazA0SURWb01uWXhTRGg2VFRjZ04yZ3hkakZJTjNwTk5TQTJhREYyTVVnMWVrMHlJRGRvTTNZeFNESjZiVEF0TW1nemRqRklNbm9pTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB5SURab00zWXhTREp0TXkweWFERjJNVWcxYlRBdE1rZ3pWak5vTTFZeVNESjJNMmd6ZWlJdlBqd3ZjM1puUGc9PSl9Lnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLThrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xXOXdZV05wZEhrOUlpNDJORGNpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1pEMGlUVEV3SURSb01YWXhhQzB4ZW0wd0lETm9NWFl4YUMweGVrMDRJRFZvTW5ZeFNEaDZUVGNnTjJneGRqRklOM3BOTlNBMmFERjJNVWcxZWsweklEVm9Nbll4U0RONmJUQXRNbWd5ZGpGSU0zcHRNaUF4YURGMk1VZzFlazB5SURSb01YWXhTREo2YlRBZ01tZ3hkakZJTW5wdE1TQXhhREoyTVVnemVpSXZQanh3WVhSb0lHWnBiR3c5SWlObVptWWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRURXhJRFYyTW1ndE1WWTFlbTB0TVNBd1NEaDJNa2czVmpKb01YWXlhREo2YlRBdE0yZ3hkakpvTFRGNlRUTWdObWd5ZGpGSU0yMHdMVFZvTW5ZeFNETjZiVElnTTJneGRqRklOWHBOTXlBMGFESjJNVWd6ZW0weUxURm9NWFl4U0RWNlRUSWdOV2d4ZGpGSU1ucHRNQzB5YURGMk1VZ3llaUl2UGp3dmMzWm5QZz09KX0ueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NaUF5YURSMk5VZ3lWalpvTTFZMVNESldOR2d6VmpOSU1ucHROU0F3YUROMk1VZzRkak5vTW5ZeFNEZDZiVE1nTVdneGRqTm9MVEY2SWk4K1BIQmhkR2dnWm1sc2JDMXZjR0ZqYVhSNVBTSXVOalEzSWlCa1BTSk5NaUF6YUROMk1VZ3llbTAySURCb01uWXhTRGg2VFRJZ05XZ3pkakZJTW5wdE9DQXhhREYyTVdndE1YcE5NaUEzYURSMk1VZ3llbTAxSURCb00zWXhTRGQ2SWk4K1BDOXpkbWMrKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazAxSURkV05VZ3pkakpJTWxZeWFERjJNbWd5VmpKb01YWTFlbTAyTFRGb0xURjJNVWczVmpKb00zWXhhREY2YlMweExUSldNMGc0ZGpOb01ub2lMejQ4TDNOMlp6ND0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TkNBMUlqNDhjR0YwYUNCa1BTSk5NeUExVmpOSU1YWXlTREJXTUdneGRqSm9NbFl3YURGMk5YcHROaTB4U0RoMk1VZzFWakJvTTNZeGFERjZUVGdnTWxZeFNEWjJNMmd5ZWsweE5DQXpkakpvTFRGV00zcHRMVEVnTUdndE1uWXlhQzB4VmpCb01YWXlhREo2YlRBdE1tZ3RNMVl3YURSMk1tZ3RNWG9pTHo0OEwzTjJaejQ9KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVrMDBJRFJJTTNZeGFERjZiVEFnTTFZMlNESldOR2d4VmpOb01WWXlhREYyTTJneGRqRklOWFl4ZW0wMkxUVm9NWFl5YUMweGVpSXZQand2YzNablBnPT0pfS55dHAtY29sb3Itd2hpdGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNeUE1SWo0OGNHRjBhQ0JtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHhNU0ExZGpKb0xURldOWHB0TFRFZ01FZzRkakpJTjFZeWFERjJNbWd5ZW0wd0xUTm9NWFl5YUMweGVrMHlJRFpvTTNZeFNESnRNeTB5YURGMk1VZzFiVEF0TWtnelZqTm9NMVl5U0RKMk0yZ3plaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TXlBNUlqNDhjR0YwYUNCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB4TVNBMWRqSm9MVEZXTlhwdExURWdNRWc0ZGpKSU4xWXlhREYyTW1neWVtMHdMVE5vTVhZeWFDMHhlazB6SURab01uWXhTRE50TUMwMWFESjJNVWd6ZW0weUlETm9NWFl4U0RWNlRUTWdOR2d5ZGpGSU0zcHRNaTB4YURGMk1VZzFlazB5SURWb01YWXhTREo2YlRBdE1tZ3hkakZJTW5vaUx6NDhMM04yWno0PSl9Lnl0cC1jb2xvci13aGl0ZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWNvbG9yLXdoaXRlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE15QTVJajQ4Y0dGMGFDQmtQU0pOTWlBeWFEUjJOVWd5Vmpab00xWTFTREpXTkdnelZqTklNbnB0TlNBd2FETjJNVWc0ZGpOb01uWXhTRGQ2YlRNZ01XZ3hkak5vTFRGNklpOCtQQzl6ZG1jKyl9Lnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC1oZC1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDoxNXB4O3JpZ2h0OjZweDtwYWRkaW5nOjJweDtmb250LWZhbWlseTpWZXJkYW5hLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEwcHg7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAycHggMCByZ2JhKDAsMCwwLC42KTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLXJhZGl1czoxLjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtM2QtYmFkZ2UtZ3JleTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTVrLXF1YWxpdHktYmFkZ2U6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVyLC55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye3RvcDo0cHg7cmlnaHQ6NHB4fS55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtY29sb3Itd2hpdGUueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtNWstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtOGstcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGQtcXVhbGl0eS1iYWRnZTphZnRlciwueXRwLWNvbG9yLXdoaXRlLnl0cC1iaWctbW9kZSAueXRwLXNldHRpbmdzLWJ1dHRvbi55dHAtaGRyLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29sb3I6IzAwMDt0ZXh0LXNoYWRvdzpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkLXF1YWxpdHktYmFkZ2U6YWZ0ZXJ7Y29udGVudDoiSEQifS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLWhkci1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IkhEUiI7Zm9udC1zaXplOjhweH0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC00ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjRLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC01ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjVLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC04ay1xdWFsaXR5LWJhZGdlOmFmdGVye2NvbnRlbnQ6IjhLIn0ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtYnV0dG9uLnl0cC0zZC1iYWRnZS1ncmV5OmFmdGVyLC55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1idXR0b24ueXRwLTNkLWJhZGdlOmFmdGVye2NvbnRlbnQ6IjNEIn0ueXRwLWdlbmVyaWMtcG9wdXB7dG9wOjA7bGVmdDowO3BhZGRpbmc6NXB4IDlweDttYXgtd2lkdGg6MTQ0cHg7ei1pbmRleDo3Mn0ueXRwLWJpZy1tb2RlIC55dHAtZ2VuZXJpYy1wb3B1cHttYXgtd2lkdGg6MjE2cHh9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWdlbmVyaWMtcG9wdXAgYXt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6cmdiYSgyOCwyOCwyOCwuOSk7dGV4dC1zaGFkb3c6MCAwIDJweCByZ2JhKDAsMCwwLC41KTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXBvcHVwey13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bSxyZ2JhKDAsMCwwLC42KSl9Lnl0cC1kbmkgLnl0cC1wb3B1cHt0ZXh0LXNoYWRvdzpub25lfS55dHAtcG9wdXBbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXBvcHVwLWFuaW1hdGluZ3std2Via2l0LXRyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtcG9wdXAtYW5pbWF0aW5nIC55dHAtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9Lnl0cC1wYW5lbC1hbmltYXRlLWJhY2ssLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7b3BhY2l0eTowfVtkaXI9bHRyXSAueXRwLXBhbmVsLWFuaW1hdGUtYmFja3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX1bZGlyPWx0cl0gLnl0cC1wYW5lbC1hbmltYXRlLWZvcndhcmR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9W2Rpcj1ydGxdIC55dHAtcGFuZWwtYW5pbWF0ZS1iYWNrey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfVtkaXI9cnRsXSAueXRwLXBhbmVsLWFuaW1hdGUtZm9yd2FyZHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKX0ueXRwLXNldHRpbmdzLW1lbnV7cmlnaHQ6MTJweDtib3R0b206NjFweDt6LWluZGV4OjcwO3dpbGwtY2hhbmdlOndpZHRoLGhlaWdodDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpO29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e29wYWNpdHk6Y2FsYygxIC0gdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjMpO2JvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpICsgdmFyKC0teXRwLWdyaWQtc2Nyb2xsLXBlcmNlbnRhZ2UpKjEwMCUpfS55dHAtZW1iZWQgLnl0cC1zZXR0aW5ncy1tZW51e2JvdHRvbTo1M3B4fS55dHAtYmlnLW1vZGUgLnl0cC1zZXR0aW5ncy1tZW51e3JpZ2h0OjI0cHg7Ym90dG9tOjcwcHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC55dHAtc2V0dGluZ3MtbWVudXtib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCl9Lnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51e3otaW5kZXg6MjMwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1wYW5lbC1tZW51e3BhZGRpbmc6OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtOm5vdCgueXRwLW1lbnVpdGVtLXdpdGgtZm9vdGVyKXtoZWlnaHQ6NDhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbT46Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo4cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zZXR0aW5ncy1tZW51IC55dHAtbWVudWl0ZW0+Omxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6OHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjhweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXNldHRpbmdzLW1lbnUgLnl0cC1tZW51aXRlbS1pY29ue3BhZGRpbmctbGVmdDo4cHg7cGFkZGluZy1yaWdodDoyNHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc2V0dGluZ3MtbWVudSAueXRwLW1lbnVpdGVtLWNvbnRlbnR7cGFkZGluZy1yaWdodDo4cHh9Lnl0cC1zcGVlZHNsaWRlci1jb21wb25lbnR7aGVpZ2h0Ojk1cHg7b3V0bGluZTpub25lfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVye2hlaWdodDo0MHB4fS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50e3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtc3BlZWRzbGlkZXItY29tcG9uZW50IC55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNwZWVkc2xpZGVyLWNvbXBvbmVudCAueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2hlaWdodDo1cHh9Lnl0cC1zcGVlZHNsaWRlci10ZXh0e2ZvbnQtc2l6ZToxNTAlO3RleHQtYWxpZ246Y2VudGVyfS55dHAtc3BlZWRzbGlkZXItcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXJpZ2h0OjhweDtyaWdodDoxMDAlfS55dHAtbWVudWl0ZW0tcHJlbWl1bS1iYWRnZXt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5DSWdhR1ZwWjJoMFBTSXlOQ0lnZG1sbGQwSnZlRDBpTFRJZ0xUSWdNalFnTWpRaVBqeHdZWFJvSUdacGJHdzlJaU5qTURBaUlHUTlJazB3SURFdU5ETkRNQ0F1TmpRdU5qUWdNQ0F4TGpReklEQm9NVGN1TVRORE1Ua3VNelVnTUNBeU1DQXVOalFnTWpBZ01TNDBNM1l4Tnk0eE0yTXdJQzQzT1MwdU5qVWdNUzQwTkMweExqUTBJREV1TkRSSU1TNDBNME11TmpRZ01qQWdNQ0F4T1M0ek5TQXdJREU0TGpVMldtMHdJREFpTHo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5OeTQ0T0NBeE1TNDBNblkwTGpJNVNEVXVNemRXTXk0MU1tZzBMamMxWXk0NU1pQXdJREV1TnpJdU1UY2dNaTQwTWk0MUxqWTVMak0wSURFdU1qSXVPREVnTVM0MklERXVORE11TXpjdU5qSXVOVFlnTVM0ek1pNDFOaUF5TGpFeElEQWdNUzR4T1MwdU5ERWdNaTR4TXkweExqSXlJREl1T0RJdExqZ3lMalk1TFRFdU9UVWdNUzR3TkMwekxqUWdNUzR3TkZwdE1DMHlMakEwYURJdU1qUmpMalkzSURBZ01TNHhPQzB1TVRVZ01TNDFNaTB1TkRjdU16VXRMak14TGpVekxTNDNOUzQxTXkweExqTTBjeTB1TVRndE1TNHdOeTB1TlRNdE1TNDBOV010TGpNMUxTNHpOaTB1T0RRdExqVTFMVEV1TkRZdExqVTJhQzB5TGpOYWJUQWdNQ0l2UGp3dmMzWm5QZz09KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7bWFyZ2luLWxlZnQ6OHB4fS55dHAtbWVudWl0ZW0tY29udGFpbmVyLXdpdGgtYmFkZ2V7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXNwZWVkLXNsaWRlci1tZW51LWZvb3RlcntwYWRkaW5nOjE2cHh9Lnl0cC1zaG93LXNoYXJlLXRpdGxlLnl0cC1zaGFyZS1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy1zaGFyZS10aXRsZS55dHAtc2hhcmUtYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9uLDpub3QoLnl0cC1zaG9ydHMtbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hhcmUtYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNoYXJlLWJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmctdG9wOjRweH0uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC1zaGFyZS1idXR0b257bWluLXdpZHRoOjQ4cHg7bWF4LXdpZHRoOjgwcHh9Lnl0cC1zaGFyZS1pY29ue21hcmdpbjphdXRvO3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLWljb257d2lkdGg6NTRweDtoZWlnaHQ6NTRweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hhcmUtaWNvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O21hcmdpbi1ib3R0b206MTBweH0ueXRwLXNoYXJlLXRpdGxle2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTRweDtkaXNwbGF5Om5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXRpdGxlLC55dHAtb3ZlcmZsb3ctcGFuZWwgLnl0cC1zaGFyZS10aXRsZXtmb250LXNpemU6MjBweH0ueXRwLXNob3ctc2hhcmUtdGl0bGUgLnl0cC1zaGFyZS10aXRsZXtkaXNwbGF5OmJsb2NrfS5odG1sNS12aWRlby1wbGF5ZXI6bm90KC55dHAtYmlnLW1vZGUpIC55dHAtY2hyb21lLXRvcCAueXRwLXNoYXJlLXRpdGxle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVufS55dHAtc2hhcmUtcGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDo3NTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc2hhcmUtcGFuZWxbYXJpYS1oaWRkZW49dHJ1ZV17b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO21hcmdpbi10b3A6LTY1cHg7bGVmdDowO3JpZ2h0OjA7cGFkZGluZzowIDEwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtaW5uZXItY29udGVudHttYXJnaW4tdG9wOi05OHB4fS55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6bm9uZTttYXJnaW46MjBweCBhdXRvIDA7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye21hcmdpbi10b3A6MzBweH0ueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtbG9hZGluZy1zcGlubmVye2Rpc3BsYXk6YmxvY2t9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NnB4O3JpZ2h0OjEycHg7cGFkZGluZzo2cHg7d2lkdGg6MzZweDtoZWlnaHQ6MzZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtY2xvc2V7dG9wOjlweDtyaWdodDoyNHB4O3BhZGRpbmc6OXB4O3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1zaGFyZS1wYW5lbC1jbG9zZSBwYXRoe2ZpbGw6I2FhYX0ueXRwLXNoYXJlLXBhbmVsLWNsb3NlOmhvdmVyIHBhdGh7ZmlsbDojZmZmfS55dHAtc2hhcmUtcGFuZWwtdGl0bGV7Zm9udC1zaXplOjE1NSU7bGluZS1oZWlnaHQ6MjBweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hhcmUtcGFuZWwtdGl0bGV7bGluZS1oZWlnaHQ6MzBweH0ueXRwLXNoYXJlLXBhbmVsLWxpbmt7ZGlzcGxheTpibG9jaztoZWlnaHQ6MjhweDttYXJnaW4tdG9wOjE4cHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXNpemU6MjE4JTtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6MXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47b3V0bGluZTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1saW5re2hlaWdodDo0MnB4O21hcmdpbi10b3A6MjdweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7ZGlzcGxheTpub25lO2xpbmUtaGVpZ2h0OjE1cHg7bWFyZ2luLXRvcDoxMnB4O2ZvbnQtc2l6ZToxMTglO2NvbG9yOiM5OTl9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3R7bGluZS1oZWlnaHQ6MjIuNXB4O21hcmdpbi10b3A6MThweH0ueXRwLXNoYXJlLXBhbmVsLWluY2x1ZGUtcGxheWxpc3QgaW5wdXRbdHlwZT1jaGVja2JveF17bWFyZ2luOjAgOHB4IDAgMH0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjIwcHg7aGVpZ2h0OjQ0cHh9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9uc3ttYXJnaW4tdG9wOjMwcHg7aGVpZ2h0OjY3cHh9Lnl0cC1zaGFyZS1wYW5lbC55dHAtc2hhcmUtcGFuZWwtZmFpbCAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ucywueXRwLXNoYXJlLXBhbmVsLnl0cC1zaGFyZS1wYW5lbC1sb2FkaW5nIC55dHAtc2hhcmUtcGFuZWwtc2VydmljZS1idXR0b25ze2Rpc3BsYXk6bm9uZX0ueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6M3B4O3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXNoYXJlLXBhbmVsLXNlcnZpY2UtYnV0dG9ue3BhZGRpbmc6NXB4O3dpZHRoOjU3cHg7aGVpZ2h0OjU3cHh9Lnl0cC1zaGFyZS1wYW5lbC1lcnJvcntkaXNwbGF5Om5vbmU7bWFyZ2luLXRvcDoyMHB4O2ZvbnQtc2l6ZToxMDklfS55dHAtYmlnLW1vZGUgLnl0cC1zaGFyZS1wYW5lbC1lcnJvcnttYXJnaW4tdG9wOjMwcHh9Lnl0cC1zaGFyZS1wYW5lbC1mYWlsIC55dHAtc2hhcmUtcGFuZWwtZXJyb3J7ZGlzcGxheTpibG9ja30ueXRwLXNob3BwaW5nLXByb2R1Y3QtbWVudXt6LWluZGV4OjcyO2ZvbnQtZmFtaWx5OlJvYm90byxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjt0ZXh0LWFsaWduOmxlZnQ7ZGlyZWN0aW9uOmx0cjtmb250LXNpemU6MTFweDtsaW5lLWhlaWdodDoxLjM7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDt3aWxsLWNoYW5nZTp3aWR0aCxoZWlnaHQ7Ym9yZGVyLXJhZGl1czoxMnB4fS55dHAtc2hvcHBpbmctcHJvZHVjdC1tZW51IC55dHAtbWVudWl0ZW0tY29udGVudHttYXgtd2lkdGg6MjUwcHg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbC1sb2dve3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjVweDstd2Via2l0LWJhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2JhY2tncm91bmQtb3JpZ2luOmNvbnRlbnQtYm94O2Zsb2F0OmxlZnQ7LXdlYmtpdC1hbGlnbi1zZWxmOmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nb3t3aWR0aDo1MHB4O2hlaWdodDo1MHB4fS55dHAtZW1iZWQtbW9iaWxlIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwtbG9nbywueXRwLWVtYmVkLW1vYmlsZS55dHAtc21hbGwtbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsLWxvZ297d2lkdGg6MjRweDtoZWlnaHQ6MjRweDttYXJnaW46MH0ueXRwLXNob3J0cy10aXRsZS1leHBhbmRlZC1oZWFkaW5ne21hcmdpbjozcHg7LXdlYmtpdC1ib3gtZmxleDppbml0aWFsOy13ZWJraXQtZmxleDppbml0aWFsO2ZsZXg6aW5pdGlhbDt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowfS55dHAtYmlnLW1vZGUgLnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGV7Zm9udC1zaXplOjIycHh9Lnl0cC1zaG9ydHMtdGl0bGUtZXhwYW5kZWQtdGl0bGUgYXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle3dvcmQtYnJlYWs6YnJlYWstd29yZDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweH0ueXRwLWJpZy1tb2RlIC55dHAtc2hvcnRzLXRpdGxlLWV4cGFuZGVkLXRpdGxle2ZvbnQtc2l6ZToxOHB4fS55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjA7ZGlzcGxheTpub25lO2hlaWdodDphdXRvO21hcmdpbi1sZWZ0OjA7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnN0YXRpYzt0b3A6N3B4O2xlZnQ6OHB4O3dpZHRoOmF1dG99Lnl0cC1iaWctbW9kZSAueXRwLXNob3J0cy10aXRsZS1jaGFubmVse21hcmdpbi10b3A6MTBweH0ueXRwLXRpdGxlLWVuYWJsZS1jaGFubmVsLWxvZ28gLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNocm9tZS10b3AgLnl0cC1zaG9ydHMtdGl0bGUtY2hhbm5lbCAueXRwLXNiey13ZWJraXQtYWxpZ24tc2VsZjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXI7bWFyZ2luOjVweDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO3BhZGRpbmc6MDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LXNoYWRvdzpub25lOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowfS55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJle21hcmdpbi1sZWZ0OjB9Lnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7bWFyZ2luLWxlZnQ6MH0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLXRvcCAueXRwLXNob3J0cy10aXRsZS1jaGFubmVsIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWwgLnl0cC1zYi11bnN1YnNjcmliZXtmb250LXNpemU6MTZweDtwYWRkaW5nOjE0cHggMjBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLWF1dG9oaWRlOm5vdCgueXRwLWF1dG9oaWRlLWFjdGl2ZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtc2hvcnRzLXRpdGxlLWNoYW5uZWx7bWFyZ2luLXRvcDo3cHh9Lnl0cC1za2lwLWludHJvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjkwMTk2MDc4NDMpO2JvdHRvbTo1OHB4O2hlaWdodDo0OHB4O3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweDtyaWdodDoxMHB4O3otaW5kZXg6MTB9Lnl0cC1lbWJlZCAueXRwLXNraXAtaW50cm8tYnV0dG9ue2JvdHRvbTo1MHB4O2hlaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b246aG92ZXJ7YmFja2dyb3VuZDojMDAwfS55dHAtYmlnLW1vZGUgLnl0cC1za2lwLWludHJvLWJ1dHRvbntib3R0b206NzlweDtyaWdodDo0MHB4fS55dHAtc2tpcC1pbnRyby1idXR0b24tdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jaztmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bWF4LXdpZHRoOjIwMHB4O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2hpdGUtc3BhY2U6bm93cmFwfS55dHAtc2xpZGVyLXNlY3Rpb257ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTUwcHg7aGVpZ2h0OjEwMCU7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTowfS55dHAtc2xpZGVye2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjEwcHg7bWFyZ2luLXRvcDotMTBweDtiYWNrZ3JvdW5kOiNmZmY7b3V0bGluZTowfS55dHAtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLXNsaWRlci1oYW5kbGU6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0b3A6NTAlO2xlZnQ6MDtoZWlnaHQ6M3B4O21hcmdpbi10b3A6LTJweDt3aWR0aDoxNzBweDtvdXRsaW5lOjB9Lnl0cC1zbGlkZXItaGFuZGxlOmJlZm9yZXtsZWZ0Oi0xNjBweDtiYWNrZ3JvdW5kOiNmZmZ9Lnl0cC1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6MTBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtcHJvYmFibHkta2V5Ym9hcmQtZm9jdXMgLnl0cC1zbGlkZXItc2VjdGlvbjpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCk7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KX0ueXRwLW92ZXJsYXl7ei1pbmRleDoxMDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO2xlZnQ6MH0ueXRwLXNwZWVkbWFzdGVyLW92ZXJsYXl7dGV4dC1hbGlnbjpjZW50ZXI7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXNwZWVkbWFzdGVyLXVzZXItZWR1ey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXItcmFkaXVzOjE4cHg7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDoyMHB4O3BhZGRpbmc6NnB4IDE2cHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNil9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zcGVlZG1hc3Rlci11c2VyLWVkdXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtc3BlZWRtYXN0ZXItdXNlci1lZHUueXRwLXNwZWVkbWFzdGVyLWhhcy1pY29uey13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1zcGVlZG1hc3Rlci1pY29uLC55dHAtc3BlZWRtYXN0ZXItbGFiZWx7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6aW5saW5lLWZsZXh9Lnl0cC1zcGVlZG1hc3Rlci1pY29ue21hcmdpbi1sZWZ0OjRweH0ueXRwLXNwZWVkbWFzdGVyLWljb24gc3Zne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0OHB4O2xlZnQ6MTJweDtvcGFjaXR5Oi42O2N1cnNvcjpwb2ludGVyO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3otaW5kZXg6NDM7b3V0bGluZTpub25lfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9se3RvcDo2MHB4fS55dHAtYmlnLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjlweDt3aWR0aDo3NXB4O2hlaWdodDo3NXB4fS55dHAtYmlnLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHt0b3A6NjBweH0ueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sLnl0cC1kcmFnZ2luZywueXRwLXdlYmdsLXNwaGVyaWNhbC1jb250cm9sOmhvdmVye29wYWNpdHk6MX0ueXRwLWF1dG9oaWRlIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2wsLnl0cC1oaWRlLWluZm8tYmFyIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2x7dG9wOjEycHg7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC13ZWJnbC1zcGhlcmljYWw6bm90KC55dHAtbWVudS1zaG93bikgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcntjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFifS55dHAtd2ViZ2wtc3BoZXJpY2FsLnl0cC1kcmFnZ2luZzpub3QoLnl0cC1tZW51LXNob3duKSAuaHRtbDUtdmlkZW8tY29udGFpbmVye2N1cnNvcjptb3ZlO2N1cnNvcjotd2Via2l0LWdyYWJiaW5nO2N1cnNvcjpncmFiYmluZ30ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtd2ViZ2wtc3BoZXJpY2FsLWNvbnRyb2w6Zm9jdXN7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjcsMTI3LDIwNCwuOCl9LmVuZGVkLW1vZGUgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbCwueXRwLW1lbnUtc2hvd24gLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOnRvcCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246dG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1vdmVybGF5cy1jb250YWluZXIgLnl0cC13ZWJnbC1zcGhlcmljYWwtY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTtpbnNldDowfS55dHAtc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO3dpZHRoOjY0cHg7bWFyZ2luLWxlZnQ6LTMycHg7ei1pbmRleDoxODtwb2ludGVyLWV2ZW50czpub25lfS55dHAtYmlnLW1vZGUgLnl0cC1zcGlubmVye3dpZHRoOjEyOHB4O21hcmdpbi1sZWZ0Oi02NHB4fS55dHAtc3Bpbm5lci1tZXNzYWdle3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi10b3A6NTAlO3dpZHRoOjMwMHB4O2ZvbnQtc2l6ZToxMjclO2xpbmUtaGVpZ2h0OjE4MiU7bWFyZ2luLWxlZnQ6LTE1MHB4O2Rpc3BsYXk6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrO29wYWNpdHk6LjV9Lnl0cC1zcGlubmVyLWNvbnRhaW5lcntwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206MTAwJTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi10b3A6LTUwJTttYXJnaW4tbGVmdDotNTAlO2FuaW1hdGlvbjp5dHAtc3Bpbm5lci1saW5zcGluIDEuNTY4MjM1Mjk0MTE3NnMgbGluZWFyIGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxpbnNwaW4gMS41NjgyMzUyOTQxMTc2cyBsaW5lYXIgaW5maW5pdGV9Lnl0cC1zcGlubmVyLXJvdGF0b3J7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTstd2Via2l0LWFuaW1hdGlvbjp5dHAtc3Bpbm5lci1lYXNlc3BpbiA1MzMybXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItZWFzZXNwaW4gNTMzMm1zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9Lnl0cC1zcGlubmVyLWxlZnQsLnl0cC1zcGlubmVyLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ueXRwLXNwaW5uZXItbGVmdHtyaWdodDo0OSV9Lnl0cC1zcGlubmVyLXJpZ2h0e2xlZnQ6NDklfS55dHAtc3Bpbm5lci1jaXJjbGV7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjIwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojZGRkICNkZGQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXdpZHRoOjZweH0ueXRwLWJpZy1tb2RlIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjEycHh9Lnl0cC1zcGlubmVyLWxlZnQgLnl0cC1zcGlubmVyLWNpcmNsZXtsZWZ0OjA7cmlnaHQ6LTEwMCU7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYW5pbWF0aW9uOnl0cC1zcGlubmVyLWxlZnQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXNwaW5uZXItbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSBpbmZpbml0ZSBib3RofS55dHAtc3Bpbm5lci1yaWdodCAueXRwLXNwaW5uZXItY2lyY2xle2xlZnQ6LTEwMCU7cmlnaHQ6MDtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWFuaW1hdGlvbjp5dHAtcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkgaW5maW5pdGUgYm90aDthbmltYXRpb246eXRwLXJpZ2h0LXNwaW4gMTMzM21zIGN1YmljLWJlemllciguNCwwLC4yLDEpIGluZmluaXRlIGJvdGh9QC13ZWJraXQta2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxpbnNwaW57dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19QGtleWZyYW1lcyB5dHAtc3Bpbm5lci1saW5zcGlue3Rvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtc3Bpbm5lci1lYXNlc3BpbnsxMi41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9MzcuNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQwNWRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpfTc1JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoODEwZGVnKX04Ny41JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWVhc2VzcGluezEyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfTM3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0MDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNDA1ZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDU0MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1NDBkZWcpfTYyLjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2NzVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNjc1ZGVnKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDgxMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg4MTBkZWcpfTg3LjUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5NDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTQ1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoM3R1cm4pO3RyYW5zZm9ybTpyb3RhdGUoM3R1cm4pfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXNwaW5uZXItbGVmdC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTVkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1zcGlubmVyLWxlZnQtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEzMGRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxMzBkZWcpfX1ALXdlYmtpdC1rZXlmcmFtZXMgeXRwLXJpZ2h0LXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfX1Aa2V5ZnJhbWVzIHl0cC1yaWdodC1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMzBkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoNWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEzMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMTMwZGVnKX19Lnl0cC1zZm57YmFja2dyb3VuZDpyZ2JhKDI4LDI4LDI4LC44KTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2xlZnQ6MTBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt6LWluZGV4OjY0O21pbi13aWR0aDoyNmVtfS55dHAtc2ZuLWNsb3Nle2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjVweDt0b3A6NXB4O3BhZGRpbmc6NXB4fS55dHAtc2ZuLWNvbnRlbnR7cGFkZGluZzo1cHh9Lnl0cC1zZm4tY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC1zZm4tY3Bue2ZvbnQtZmFtaWx5OkNvbnNvbGFzLE1vbmFjbyxtb25vc3BhY2U7Zm9udC1zaXplOjEycHh9Lnl0cC1ob3Jpem9uY2hhcnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lnl0cC1ob3Jpem9uY2hhcnQ+c3BhbntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjE2O2JhY2tncm91bmQ6IzAwMDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlld3tjdXJzb3I6cG9pbnRlcn0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3W2FyaWEtaGlkZGVuPXRydWVde29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eTouNH0ueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6I2RkZDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjMpO2JvcmRlci1yYWRpdXM6MThweDtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtib3R0b206MzZweDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzo0cHggMTBweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy1pbWd7b3BhY2l0eToxfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXN0b3J5Ym9hcmQtZnJhbWVwcmV2aWV3LXRpbWVzdGFtcHtkaXNwbGF5OmluaXRpYWx9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtc3Rvcnlib2FyZC1mcmFtZXByZXZpZXctaW1ne29wYWNpdHk6MX0ueXRwLWlubGluZS1wcmV2aWV3LW1vZGUgLnl0cC1zdG9yeWJvYXJkLWZyYW1lcHJldmlldy10aW1lc3RhbXB7ZGlzcGxheTppbml0aWFsfS55dHAtc2J7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZX0ueXRwLXNiIC55dHAtc2ItdW5zdWJzY3JpYmUsLnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXN1YnNjcmliZXtkaXNwbGF5Om5vbmV9Lnl0cC1zYi55dHAtc2Itc3Vic2NyaWJlZCAueXRwLXNiLXVuc3Vic2NyaWJle2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtc2Itc3Vic2NyaWJlLC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoxOHB4O2JvcmRlcjpub25lO2RpcmVjdGlvbjpsdHI7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xldHRlci1zcGFjaW5nOi4wMDdweDtsaW5lLWhlaWdodDoxNnB4O3BhZGRpbmc6MTBweCAxNnB4O3doaXRlLXNwYWNlOm5vd3JhcDstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JvcmRlci1yYWRpdXM6M3B4O3BhZGRpbmc6M3B4IDZweDtmb250LXdlaWdodDo1MDB9Lnl0cC1zYi1zdWJzY3JpYmUsYS55dHAtc2Itc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMDMwMzAzfS55dHAtc2hvcnRzLW1vZGUgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zaG9ydHMtbW9kZSBhLnl0cC1zYi1zdWJzY3JpYmV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOCl9Lnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpO2NvbG9yOiNmZmZ9Lnl0cC1zaG9ydHMtbW9kZSAueXRwLXNiLXVuc3Vic2NyaWJle2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6I2NjYzt0ZXh0LXRyYW5zZm9ybTpub25lfS55dHAtc2Itc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZCwueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDMsMTQ0LDEzOSk7Y3Vyc29yOmRlZmF1bHR9Lnl0cC1zYi1zdWJzY3JpYmU6Zm9jdXMsLnl0cC1zYi11bnN1YnNjcmliZTpmb2N1c3tvdXRsaW5lOm5vbmV9Lnl0cC1zYi55dHAtc2ItY2xhc3NpY3tiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbjo0cHggMH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUueXRwLXNiLWRpc2FibGVkLC55dHAtc2ItY2xhc3NpYyAueXRwLXNiLXVuc3Vic2NyaWJlLnl0cC1zYi1kaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpkZWZhdWx0fS55dHAtc2ItdGV4dHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLXNiLWNvdW50e21hcmdpbi1sZWZ0OjRweH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdW5zdWJzY3JpYmV7Ym9yZGVyLXJhZGl1czoycHg7Zm9udC1zaXplOjEycHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjQwMDtwYWRkaW5nOjAhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOm5vbmV9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJle2JvcmRlcjoxcHggc29saWQgI2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXI6MXB4IHNvbGlkICNjY2N9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnQsLnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItdGV4dHtwYWRkaW5nOjNweCA2cHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItY291bnR7bWFyZ2luOi0xcHg7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjJweDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItY291bnR7Ym9yZGVyLWxlZnQ6MH0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1zdWJzY3JpYmUgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTAsMjUwLDI1MCl9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItdGV4dHtjb2xvcjojZmVmZWZlO2JhY2tncm91bmQtY29sb3I6I2U2MjExN30ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi1jb3VudCwueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLXRleHR7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhO2NvbG9yOiM3MzczNzN9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2ItaWNvbntoZWlnaHQ6MTJweDttYXJnaW4tcmlnaHQ6NnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHg7d2lkdGg6MTZweH0ueXRwLWJpZy1tb2RlIC55dHAtc2Itc3Vic2NyaWJlLC55dHAtYmlnLW1vZGUgLnl0cC1zYi11bnN1YnNjcmliZXtib3JkZXItcmFkaXVzOjIycHh9Lnl0cC1zYi1jbGFzc2ljIC55dHAtc2Itc3Vic2NyaWJlIC55dHAtc2ItaWNvbntiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJBQUFBQU1DQVlBQUFCcjV6MkJBQUFBblVsRVFWUTRUMlA4Ly8rL0p3TUR3MXdHQmdaSkJ0TEFjd1lHaG1URy8vLy9QeU5ETTh5cTV5QUQvcE5tTWFwcW5BWThrNUpnRUZteGxJSE56aG12K1RnTmVNckp5Y0Fvd01rZ05ITTZBNGRmT0U1RGNCcnduSk9UNGYvdkh3eU1iQXdNWEduSkRQd1Q1bUExaEVnRGtoajRKNEFpQ2hNUTlzS01hUXdjL2hHa2U0SGlRQ1EyYWlsTlNDOUFCbmhCazdJRXNiWkMxVDFsWUdCSUF3QlMxVXhCRTkvMmlBQUFBQUJKUlU1RXJrSmdnZz09KX0ueXRwLXNiLWNsYXNzaWMgLnl0cC1zYi11bnN1YnNjcmliZSAueXRwLXNiLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCQUFBQUFNQ0FZQUFBQnI1ejJCQUFBQS9VbEVRVlE0VDZXU01Vb0VRUkJGNjA4aWFMcVo0QW5FMERPSVlHWXVHTmpkTTRqUmlMa1lqU0lzTEYwdGdwa2dFM2dBY2NEVUc1aDZBQ01OcDc1TW9NeXV5bzVzcDlYMWZ0WC9CVm53WWNGKytSY2dwYlJHY2lJaVkrLzlReWMrR0JCajNNeXk3RnBFUm1ZMkNTR2NEUWFvNmk2QTgwNlE1TEgzL3U1cjlha0pxcXBhS2N2eW8rY0xWUFVFd0tHSXZKblpmZ2podWUvYk4wQlZqMFRrd016eVBNK2ZVa3JMSk1jQXRrbStBTmh6enIzT210NEg3QUM0RkpFbEVia2d1UVZnZytSajI3YWhLSXIzM3hLYldpSEd1QTdnQnNCcTk5bk1ycHFtT2EzcnV2MHI3aDhwcEpSR0pDT0FlK2ZjN2J3N0dSemo0QW5tS2M3V1B3RldSRjBOYzlSUXh3QUFBQUJKUlU1RXJrSmdnZz09KX0uY2FwdGlvbi13aW5kb3d7cG9zaXRpb246YWJzb2x1dGU7bGluZS1oZWlnaHQ6bm9ybWFsO3otaW5kZXg6NDE7cG9pbnRlci1ldmVudHM6YXV0bztjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFiOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0cC1jYXB0aW9uLXdpbmRvdy1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtwb2ludGVyLWV2ZW50czpub25lfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvd3t6LWluZGV4OjIxNDc0ODM2NDd9LmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDo0OHB4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxtYXJnaW4tdG9wIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjYwcHh9Lnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjY5cHh9Lnl0cC1iaWctbW9kZS55dHAtZW1iZWQ6bm90KC5hZC1zaG93aW5nKSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcHttYXJnaW4tdG9wOjg5cHh9Lnl0cC1hdXRvaGlkZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LXRvcCwueXRwLWhpZGUtaW5mby1iYXIgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy10b3B7bWFyZ2luLXRvcDowOy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG1hcmdpbi10b3AgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWF1dG9oaWRlLWFjdGl2ZSAuY2FwdGlvbi13aW5kb3d7cG9pbnRlci1ldmVudHM6bm9uZX15dGQtcmVlbC12aWRlby1yZW5kZXJlciAuc2hvcnQtdmlkZW8tY29udGFpbmVyIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctdG9we21hcmdpbi10b3A6NjlweH0uY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjYxcHg7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG1hcmdpbi10b3AgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSksbWFyZ2luLXRvcCAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWZpbmUtc2NydWJiaW5nLWVuYWJsZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOjExMHB4fS55dHAtZmluZS1zY3J1YmJpbmctZW5hYmxlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToyMDBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTVweH0ueXRwLWVtYmVkIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NTNweH0ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NzBweH0ueXRwLWF1dG9oaWRlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5IC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxtYXJnaW4tdG9wIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWF1dG9oaWRlLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtYXV0b2hpZGUueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1hdXRvaGlkZS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1oaWRlLWNvbnRyb2xzLnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtaGlkZS1jb250cm9scy55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLWhpZGUtY29udHJvbHMueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbSwueXRwLW11dGVkLWF1dG9wbGF5Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9tLC55dHAtbXV0ZWQtYXV0b3BsYXkueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b20sLnl0cC1tdXRlZC1hdXRvcGxheS55dHAtZGVsaGktbW9kZXJuLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZy55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTowfS55dHAtbmF0aXZlLWNvbnRyb2xzIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206NDVweDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9Lnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNTFweH0ueXRwLWVtYmVkLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNDNweH0ueXRwLWJpZy1tb2RlLnl0cC1hZC1vdmVybGF5LW9wZW4gLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbToxNjBweH0ueXRwLWRlbGhpLW1vZGVybiAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyAxNHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgMTRweCl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tbWV0YWRhdGEtYm90dG9tIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWJpZy1tb2RlIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDE1NHB4KX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1ncmlkLXBlZWtpbmcgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgMTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC5jYXB0aW9uLXdpbmRvdy55dHAtY2FwdGlvbi13aW5kb3ctYm90dG9te21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS15dC1kZWxoaS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA3MnB4KSArIDE1NHB4ICsgdmFyKC0teXRwLWdyaWQtcGVlay1oZWlnaHQpKX0ueXRwLWRlbGhpLW1vZGVybi55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nLnl0cC1iaWctbW9kZSAuY2FwdGlvbi13aW5kb3cueXRwLWNhcHRpb24td2luZG93LWJvdHRvbXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0teXQtZGVsaGktYmlnLW1vZGUtYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgOTZweCkgKyAxNTRweCArIHZhcigtLXl0cC1ncmlkLXBlZWstaGVpZ2h0KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLmNhcHRpb24td2luZG93Lnl0cC1jYXB0aW9uLXdpbmRvdy1ib3R0b217ZGlzcGxheTpub25lO29wYWNpdHk6MH0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtYWQtb3ZlcmxheS1vcGVuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmcsLmh0bWw1LXZpZGVvLXBsYXllci55dHAtZGVsaGktbW9kZXJuIC5jYXB0aW9uLXdpbmRvdy55dHAtZHJhZ2dpbmd7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDstd2Via2l0LXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmU7Y3Vyc29yOm1vdmU7Y3Vyc29yOi13ZWJraXQtZ3JhYmJpbmc7Y3Vyc29yOmdyYWJiaW5nfS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZXtvdmVyZmxvdzpoaWRkZW59LmNhcHRpb24td2luZG93IC55dHAtaWNvbiwuY2FwdGlvbi13aW5kb3cgc3Zne3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7dmVydGljYWwtYWxpZ246Ym90dG9tO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxZW07bWF4LWhlaWdodDoxZW19Lnl0cC1lbWJlZCAuY2FwdGlvbi13aW5kb3cgLnl0cC1pY29uLC55dHAtZW1iZWQgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS55dHAtYmlnLW1vZGUgLmNhcHRpb24td2luZG93IHN2Z3t3aWR0aDo1NHB4O2hlaWdodDo1NHB4fS55dHAtY2FwdGlvbi13aW5kb3ctcm9sbHVwLnl0cC1yb2xsdXAtbW9kZSAuY2FwdGlvbnMtdGV4dHstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjQzM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNDMzcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC40MzNzIGN1YmljLWJlemllcigwLDAsLjIsMSl9LmNhcHRpb24tZWRpdHtvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO2JhY2tncm91bmQ6cmdiYSg4LDgsOCwuNzUpO2JvcmRlcjpub25lO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcn0uY2FwdGlvbi1lZGl0IHN2Z3ttYXgtaGVpZ2h0OjYwJTttYXgtd2lkdGg6NjAlfS5jYXB0aW9uLWVkaXQ6Zm9jdXMsLmNhcHRpb24td2luZG93OmZvY3VzIC5jYXB0aW9uLWVkaXQsLnl0cC1jYXB0aW9uLXdpbmRvdy1yb2xsdXAgLmNhcHRpb24tZWRpdDpob3ZlciwueXRwLWNhcHRpb24td2luZG93LXJvbGx1cDpob3ZlciAuY2FwdGlvbi1lZGl0e29wYWNpdHk6MX0uaHRtbDUtdmlkZW8tcGxheWVyIC5jYXB0aW9uLXZpc3VhbC1saW5lIC55dHAtY2FwdGlvbi1zZWdtZW50OmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDouMjVlbTtwYWRkaW5nLXRvcDowfS5odG1sNS12aWRlby1wbGF5ZXIgLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0Oi4yNWVtO3BhZGRpbmctYm90dG9tOjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6Zmlyc3QtY2hpbGR7cGFkZGluZy10b3A6LjI1ZW07cGFkZGluZy1sZWZ0OjB9Lmh0bWw1LXZpZGVvLXBsYXllciAueXRwLXZlcnRpY2FsLWNhcHRpb24gLmNhcHRpb24tdmlzdWFsLWxpbmUgLnl0cC1jYXB0aW9uLXNlZ21lbnQ6bGFzdC1jaGlsZHtwYWRkaW5nLWJvdHRvbTouMjVlbTtwYWRkaW5nLXJpZ2h0OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9ue2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otanVzdGlmeS1jb250ZW50OmxlZnQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6bGVmdDstd2Via2l0LWJveC1wYWNrOmxlZnQ7anVzdGlmeS1jb250ZW50OmxlZnR9Lnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo2MHB4O2xlZnQ6NjBweH0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1lbmFibGUgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdle2JvdHRvbTo5MHB4O2xlZnQ6OTBweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ei1pbmRleDo2MDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTZweDtsZWZ0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpO2JvcmRlci1yYWRpdXM6MzRweDtoZWlnaHQ6MzRweDt3aWR0aDozNHB4O3BhZGRpbmc6N3B4O2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTp1bnNldH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfXl0ZC13YXRjaC1mbGV4eVt0aGVhdGVyXSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXRpbWVseS1zaGVsZi1wcmVzZW50e2Rpc3BsYXk6dW5zZXR9eXRkLXdhdGNoLWZsZXh5W3RoZWF0ZXJdIC5hZC1zaG93aW5nIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtdGltZWx5LXNoZWxmLXByZXNlbnR7ZGlzcGxheTpub25lfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7cG9zaXRpb246cmVsYXRpdmU7Ym90dG9tOjA7bGVmdDowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpO2JvcmRlcjpub25lO2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czo0MHB4O3BhZGRpbmc6MTJweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6bm90KC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCl7cGFkZGluZzowIDhweH0uYWQtc2hvd2luZyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7ZGlzcGxheTpub25lfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZVthcmlhLWhpZGRlbj10cnVlXXstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtvcGFjaXR5OjB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlOmhvdmVyey13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxiYWNrZ3JvdW5kLWNvbG9yIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLHRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JhY2tncm91bmQtY29sb3I6cmdiYSgzMywzMywzMywuOTUpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTlweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU5cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygodmFyKC0teXQtZGVsaGktYm90dG9tLWNvbnRyb2xzLWhlaWdodCwgNzJweCkgKyA2cHgpKi0xKSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDcycHgpICsgNnB4KSotMSkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoKHZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLWJvdHRvbS1jb250cm9scy1oZWlnaHQsIDk2cHgpICsgNnB4KSotMSkpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKTt0cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKCh2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1ib3R0b20tY29udHJvbHMtaGVpZ2h0LCA5NnB4KSArIDZweCkqLTEpKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZnVsbHNjcmVlbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS13aXRoLWNvbnRyb2xzey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtODBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTgwcHgpfS55dHAtb3ZlcmxheXMtY29udGFpbmVyIC55dHAtb3ZlcmxheS1ib3R0b20tbGVmdCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1jb250cm9sc3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2U6aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQpe3dpZHRoOmF1dG99Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l6TmlJZ2FHVnBaMmgwUFNJek5pSWdabWxzYkQwaUkyWm1aaUlnZG1sbGQwSnZlRDBpTUNBd0lESTBJREkwSWo0OGNHRjBhQ0JtYVd4c1BTSnViMjVsSWlCa1BTSk5NQ0F3YURJMGRqSTBTREI2SWk4K1BIQmhkR2dnWkQwaVRURTRJRFpvTFRKak1DMHlMakl4TFRFdU56a3ROQzAwTFRSVE9DQXpMamM1SURnZ05rZzJZeTB4TGpFZ01DMHlJQzQ1TFRJZ01uWXhNbU13SURFdU1TNDVJRElnTWlBeWFERXlZekV1TVNBd0lESXRMamtnTWkweVZqaGpNQzB4TGpFdExqa3RNaTB5TFRKdExUWXRNbU14TGpFZ01DQXlJQzQ1SURJZ01tZ3ROR013TFRFdU1TNDVMVElnTWkweWJUWWdNVFpJTmxZNGFESjJNbU13SUM0MU5TNDBOU0F4SURFZ01YTXhMUzQwTlNBeExURldPR2cwZGpKak1DQXVOVFV1TkRVZ01TQXhJREZ6TVMwdU5EVWdNUzB4Vmpob01ub2lMejQ4TDNOMlp6ND0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47LXdlYmtpdC1mbGV4LXNocmluazowO2ZsZXgtc2hyaW5rOjB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi1jdXN0b20taWNvbiwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtaWNvbi55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29uLWN1c3RvbS1pY29ue2JhY2tncm91bmQtaW1hZ2U6bm9uZTt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmO21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6NnB4O2N1cnNvcjpwb2ludGVyfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS10aXRsZXtmb250LXdlaWdodDo1MDB9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2V7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtib3JkZXItcmFkaXVzOjhweDt3aWR0aDoyOThweDtoZWlnaHQ6NjRweDtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI5MHB4O3BhZGRpbmc6NHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tZGV0YWlscyAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWRldGFpbHMgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLXN1YnRpdGxle292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NDAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1kZXRhaWxzIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1tZXRhZGF0YS10ZXh0e29wYWNpdHk6Ljc7Zm9udC13ZWlnaHQ6NTAwfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWd7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo0cHg7YmFja2dyb3VuZDojZmZmO2hlaWdodDo1NnB4O3dpZHRoOjU2cHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1pbWc+aW1ne3dpZHRoOmluaGVyaXQ7aGVpZ2h0OmluaGVyaXQ7LW8tb2JqZWN0LWZpdDpjb250YWluO29iamVjdC1maXQ6Y29udGFpbn06aXMoOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCksLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCkgLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWljb257ZGlzcGxheTpub25lfTppcygueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1jb2xsYXBzZWQsLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWNvbnRlbnQtZm9yd2FyZC1jb250YWluZXJ7ZGlzcGxheTotbW96LWZsZXhib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjA7b3BhY2l0eTowO3dpZHRoOjA7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSwtd2Via2l0LW1hcmdpbi1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4taW5saW5lLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246d2lkdGggLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLC13ZWJraXQtbWFyZ2luLXN0YXJ0IC4zcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTt0cmFuc2l0aW9uOm1hcmdpbi1pbmxpbmUtc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpO3RyYW5zaXRpb246bWFyZ2luLWlubGluZS1zdGFydCAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksLXdlYmtpdC1tYXJnaW4tc3RhcnQgLjNzIGN1YmljLWJlemllciguNCwwLC4yLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbHtoZWlnaHQ6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MnB4O21hcmdpbi1pbmxpbmUtc3RhcnQ6MnB4O29wYWNpdHk6MTt3aWR0aDoxOHB4fS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWV4cGFuZGVkIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDowO21hcmdpbi1pbmxpbmUtc3RhcnQ6MH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtcHJldmlldy1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWx7d2lkdGg6MjRweH06aXMoLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXByZXZpZXctY29sbGFwc2VkLC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1jb250ZW50LWZvcndhcmQueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQpIC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1wcm9kdWN0LXRodW1ibmFpbDpmaXJzdC1jaGlsZHstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHg7b3BhY2l0eToxO3dpZHRoOjE4cHg7LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDttYXJnaW4taW5saW5lLXN0YXJ0OjB9Lnl0cC1kZWxoaS1tb2Rlcm4gOmlzKC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1wcmV2aWV3LWNvbGxhcHNlZCwueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtY29udGVudC1mb3J3YXJkLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWV4cGFuZGVkKSAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tcHJvZHVjdC10aHVtYm5haWw6Zmlyc3QtY2hpbGR7d2lkdGg6MjRweH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MTJweDt3aWR0aDoycHg7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zMjstd2Via2l0LW1hcmdpbi1zdGFydDoycHg7bWFyZ2luLWlubGluZS1zdGFydDoycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLW1vcmUtcHJvZHVjdHMtaWNvbntoZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWNvbnRlbnQtZm9yd2FyZC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZCAueXRwLXN1Z2dlc3RlZC1hY3Rpb24tbW9yZS1wcm9kdWN0cy1pY29ue2Rpc3BsYXk6dW5zZXR9Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ1ptbHNiRDBpSTJabVppSWdkbWxsZDBKdmVEMGlNQ0F3SURJMElESTBJajQ4Y0dGMGFDQmtQU0pOTVRZdU1qUWdPUzR4TnlBeE15NDBNU0F4TW13eUxqZ3pJREl1T0RNdE1TNDBNU0F4TGpReFRERXlJREV6TGpReGJDMHlMamd6SURJdU9ETXRNUzQwTVMweExqUXhUREV3TGpVNUlERXlJRGN1TnpZZ09TNHhOMnd4TGpReExURXVOREZNTVRJZ01UQXVOVGxzTWk0NE15MHlMamd6ZWswMExqa3pJRFF1T1ROakxUTXVPVEVnTXk0NU1TMHpMamt4SURFd0xqSTBJREFnTVRRdU1UUWdNeTQ1TVNBekxqa3hJREV3TGpJMElETXVPVEVnTVRRdU1UUWdNQ0F6TGpreExUTXVPVEVnTXk0NU1TMHhNQzR5TkNBd0xURTBMakUwTFRNdU9TMHpMamt4TFRFd0xqSTBMVE11T1RFdE1UUXVNVFFnTUcweE15NDBNeTQzTVdNekxqVXhJRE11TlRFZ015NDFNU0E1TGpJeUlEQWdNVEl1TnpOekxUa3VNaklnTXk0MU1TMHhNaTQzTXlBd0xUTXVOVEV0T1M0eU1pQXdMVEV5TGpjell6TXVOVEl0TXk0MU1TQTVMakl5TFRNdU5URWdNVEl1TnpNZ01DSXZQand2YzNablBnPT0pOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW47b3BhY2l0eTouNjstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDtiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0krUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWkQwaVRURTVJRFl1TkRFZ01UY3VOVGtnTlNBeE1pQXhNQzQxT1NBMkxqUXhJRFVnTlNBMkxqUXhJREV3TGpVNUlERXlJRFVnTVRjdU5Ua2dOaTQwTVNBeE9TQXhNaUF4TXk0ME1TQXhOeTQxT1NBeE9TQXhPU0F4Tnk0MU9TQXhNeTQwTVNBeE1ub2lMejQ4TDNOMlp6ND0pO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZGlzbWlzcy1idXR0b24taWNvbjpob3ZlcntvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZS1leHBhbmRlZC1jb250ZW50LWNvbnRhaW5lcntkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtZmxleC1zaHJpbms6MDtmbGV4LXNocmluazowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO29wYWNpdHk6MX0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXJbYXJpYS1oaWRkZW49dHJ1ZV17LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO29wYWNpdHk6MH0ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2Utd2l0aC1vZmZsaW5lLXNsYXRle2JvdHRvbTozMnB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6OHB4O3dpZHRoOjI4MHB4O2hlaWdodDo2NHB4O3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtZmVhdHVyZWQtcHJvZHVjdC55dHAtc3VnZ2VzdGVkLWFjdGlvbi1iYWRnZXstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0scmdiYSgwLDAsMCwuNikpfS55dHAtZmVhdHVyZWQtcHJvZHVjdD4ueXRwLXN1Z2dlc3RlZC1hY3Rpb24tYmFkZ2UtZXhwYW5kZWQtY29udGVudC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWJveC1hbGlnbjpzdHJldGNoO2FsaWduLWl0ZW1zOnN0cmV0Y2g7b3ZlcmZsb3c6aGlkZGVuO3dpZHRoOjI3MnB4O3BhZGRpbmc6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1jb250YWluZXI+Lnl0cC1zdWdnZXN0ZWQtYWN0aW9uLWJhZGdlLWRpc21pc3MtYnV0dG9uLWljb257YmFja2dyb3VuZDp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXlOQ0F5TkNJK1BIQmhkR2dnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEU1SURZdU5ERWdNVGN1TlRrZ05TQXhNaUF4TUM0MU9TQTJMalF4SURVZ05TQTJMalF4SURFd0xqVTVJREV5SURVZ01UY3VOVGtnTmk0ME1TQXhPU0F4TWlBeE15NDBNU0F4Tnk0MU9TQXhPU0F4T1NBeE55NDFPU0F4TXk0ME1TQXhNbm9pTHo0OEwzTjJaejQ9KTtvcGFjaXR5Oi44O2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbHtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjRweDtiYWNrZ3JvdW5kOiNmZmY7aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRodW1ibmFpbD5pbWd7d2lkdGg6aW5oZXJpdDtoZWlnaHQ6aW5oZXJpdDstby1vYmplY3QtZml0OmNvbnRhaW47b2JqZWN0LWZpdDpjb250YWlufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vcGVuLWluLW5ld3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NHB4O3JpZ2h0OjRweDtib3JkZXItcmFkaXVzOjJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpO2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWswek9DQXpPRWd4TUZZeE1HZ3hORlkyU0RFd1l5MHlMakl4SURBdE5DQXhMamM1TFRRZ05IWXlPR013SURJdU1qRWdNUzQzT1NBMElEUWdOR2d5T0dNeUxqSXhJREFnTkMweExqYzVJRFF0TkZZeU5HZ3ROSHBOTWpnZ05uWTBhRGN1TVRkTU1UVXVOVEVnTWprdU5qWnNNaTQ0TXlBeUxqZ3pURE00SURFeUxqZ3pWakl3YURSV05ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxze2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWp1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOjEycHg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleDoxO2ZsZXg6MTtwYWRkaW5nOjAgOHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdGl0bGV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjE0cHh9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LWNvdW50ZG93bntmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtYWZmaWxpYXRlLWRpc2NsYWltZXJ7Zm9udC13ZWlnaHQ6NTAwfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWR7Zm9udC13ZWlnaHQ6NTAwO21hcmdpbi1yaWdodDo0cHg7b3BhY2l0eTouN30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtaW5mby1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlHWnBiR3c5SWlObVptWWlJSFpwWlhkQ2IzZzlJakFnTUNBME9DQTBPQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2cwT0hZME9FZ3dlaUl2UGp4d1lYUm9JR1E5SWsweU1pQXpOR2cwVmpJeWFDMDBlbTB5TFRNd1F6RXlMamsxSURRZ05DQXhNaTQ1TlNBMElESTBjemd1T1RVZ01qQWdNakFnTWpBZ01qQXRPQzQ1TlNBeU1DMHlNRk16TlM0d05TQTBJREkwSURSdE1DQXpObU10T0M0NE1pQXdMVEUyTFRjdU1UZ3RNVFl0TVRaVE1UVXVNVGdnT0NBeU5DQTRjekUySURjdU1UZ2dNVFlnTVRZdE55NHhPQ0F4TmkweE5pQXhObTB0TWkweU1tZzBkaTAwYUMwMGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxOHB4O3dpZHRoOjE4cHg7bWFyZ2luLXJpZ2h0OjhweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1vdmVyZmxvdy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlpMDFJQzAxSURNMklETTJJajQ4Y0dGMGFDQm1hV3hzUFNJalptWm1JaUJrUFNKTk1USWdPR014TGpFZ01DQXlMUzQ1SURJdE1uTXRMamt0TWkweUxUSXRNaUF1T1MweUlESWdMamtnTWlBeUlESnRNQ0F5WXkweExqRWdNQzB5SUM0NUxUSWdNbk11T1NBeUlESWdNaUF5TFM0NUlESXRNaTB1T1MweUxUSXRNbTB3SURaakxURXVNU0F3TFRJZ0xqa3RNaUF5Y3k0NUlESWdNaUF5SURJdExqa2dNaTB5TFM0NUxUSXRNaTB5SWk4K1BDOXpkbWMrKTtoZWlnaHQ6MjBweDt3aWR0aDoyMHB4O29wYWNpdHk6Ljg7YXNwZWN0LXJhdGlvOjF9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWRldGFpbHMgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXZlbmRvcntvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtdmVuZG9yLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVke2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5ne292ZXJmbG93OmhpZGRlbn0ueXRwLWZlYXR1cmVkLXByb2R1Y3Qtd2hlbi1wcm9tb3Rpb24tdGV4dC1lbmFibGVkIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy10ZXh0e29wYWNpdHk6Ljc7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXRyZW5kaW5nPi55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZy1pY29ue2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdMVGsyTUNBNU5qQWdPVFl3SWo0OGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSnRNVEl6TFRJME1DMDBNeTAwTXlBeU9USXRNamt4SURFMk55QXhOamNnTWpReExUSTBNVWcyTlROMkxUWXdhREl5TjNZeU1qZG9MVFU1ZGkweE1qTk1OVE00TFRNeU1TQXpOekV0TkRnNGVpSXZQand2YzNablBnPT0pO2hlaWdodDoxMnB4O3dpZHRoOjEycHg7bWFyZ2luLXRvcDoycHg7bWFyZ2luLXJpZ2h0OjRweDtvcGFjaXR5Oi44O2FzcGVjdC1yYXRpbzoxfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC10cmVuZGluZ3tkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVye292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByaWNlLXdoZW4tcHJvbW90aW9uLXRleHQtZW5hYmxlZHtvcGFjaXR5Oi43O2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtY29udGFpbmVyIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1wcm9tb3Rpb24tdGV4dHtmb250LXdlaWdodDo1MDA7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1kZXRhaWxzIC55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZXt0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoO21hcmdpbi1sZWZ0OjRweH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2V7bWFyZ2luLWxlZnQ6NHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1zYWxlcy1vcmlnaW5hbC1wcmljZTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LXByb21vdGlvbi10ZXh0OmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtcHJpY2UtZHJvcC1yZWZlcmVuY2UtcHJpY2U6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1hZmZpbGlhdGUtZGlzY2xhaW1lci13aGVuLXByb21vdGlvbi10ZXh0LWVuYWJsZWQ6ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtY29udGFpbmVyLC55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtY29udGFpbmVye2Rpc3BsYXk6LW1vei1mbGV4Ym94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1qdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDstd2Via2l0LWp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lnl0cC1mZWF0dXJlZC1wcm9kdWN0LWV4Y2x1c2l2ZS1iYWRnZXtkaXNwbGF5Oi1tb3otZmxleGJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGZyb20oIzdmMGU3ZiksY29sb3Itc3RvcCgjZGIxZGRiKSx0bygjZWQ1NThmKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCM3ZjBlN2YsI2RiMWRkYiwjZWQ1NThmKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmLCNkYjFkZGIsI2VkNTU4Zik7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoycHggNHB4fS55dHAtZmVhdHVyZWQtcHJvZHVjdC1leGNsdXNpdmUtYmFkZ2UtdGV4dHtsaW5lLWhlaWdodDoxMDAlO2ZvbnQtd2VpZ2h0OjcwMH0ueXRwLWZlYXR1cmVkLXByb2R1Y3QtZGV0YWlscyAueXRwLWZlYXR1cmVkLXByb2R1Y3QtZXhjbHVzaXZlLWNvdW50ZG93bnttYXJnaW4tbGVmdDo0cHg7bGluZS1oZWlnaHQ6MTAwJX0ueXRwLXRpbWUtZGlzcGxheXtmb250LXNpemU6MTA5JTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzowIDVweDt3aGl0ZS1zcGFjZTpub3dyYXA7bGluZS1oZWlnaHQ6NDdweH0ueXRwLWVtYmVkLnl0cC1lbWJlZC1tb2JpbGUgLnl0cC10aW1lLWRpc3BsYXksLnl0cC1lbWJlZC55dHAtZW1iZWQtbW9iaWxlLnl0cC1zbWFsbC1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUxcHh9Lnl0cC1lbWJlZCAueXRwLXRpbWUtZGlzcGxheSwueXRwLXNtYWxsLW1vZGUgLnl0cC10aW1lLWRpc3BsYXl7bGluZS1oZWlnaHQ6MzlweH0ueXRwLWJpZy1tb2RlIC55dHAtdGltZS1kaXNwbGF5e2xpbmUtaGVpZ2h0OjUzcHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWRpc3BsYXk6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtkaXNwbGF5OmlubGluZS1ibG9jazstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtmb250LXNpemU6MTRweDttaW4td2lkdGg6MDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLXBpbGwtdG9wLWhlaWdodCwxMnB4KSA4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtZGlzcGxheXtsaW5lLWhlaWdodDp2YXIoLS15dC1kZWxoaS1iaWctbW9kZS1waWxsLWhlaWdodCw1NnB4KTtmb250LXNpemU6MTZweDtwYWRkaW5nOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtdG9wLWhlaWdodCwyMHB4KSAxMnB4fS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC10aW1lLWRpc3BsYXktYWxsb3ctYXV0b2hpZGV7ZGlzcGxheTpub25lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7bWluLXdpZHRoOjA7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OnZhcigtLXl0LWRlbGhpLXBpbGwtaGVpZ2h0LDQ4cHgpO2JvcmRlci1yYWRpdXM6MjhweDtwYWRkaW5nOjAgMTZweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLXhzbWFsbC13aWR0aC1tb2RlIC55dHAtdGltZS13cmFwcGVyOm5vdCgueXRwLW1pbmlwbGF5ZXItdWkgKil7aGVpZ2h0OjQwcHg7bGluZS1oZWlnaHQ6NDBweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7cG9pbnRlci1ldmVudHM6bm9uZTtib3JkZXItcmFkaXVzOjI4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKTpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjEpKTstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICopOmFjdGl2ZTphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS10b25hbC1ob3ZlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4ueXRwLWJpZy1tb2RlOm5vdCgueXRwLXhzbWFsbC13aWR0aC1tb2RlKSAueXRwLXRpbWUtd3JhcHBlcntoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXdyYXBwZXI6bm90KC55dHAtbWluaXBsYXllci11aSAqKXtiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtd3JhcHBlcjpub3QoLnl0cC1taW5pcGxheWVyLXVpICope2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jdXJyZW50LC55dHAtdGltZS1kdXJhdGlvbiwueXRwLXRpbWUtc2VwYXJhdG9ye2NvbG9yOiNkZGR9Lnl0cC10aW1lLXdyYXBwZXItZGVsaGl7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLWN1cnJlbnR7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtcHJpbWFyeSwjZmZmKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtZHVyYXRpb24sLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10aW1lLXNlcGFyYXRvcntjb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdGV4dC1wcmltYXJ5LCNmZmYpO2ZvbnQtd2VpZ2h0OjQwMH0ueXRwLWxpdmUgLnl0cC10aW1lLWNvbnRlbnRze2Rpc3BsYXk6bm9uZX0qIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdle2Rpc3BsYXk6bm9uZTt3aWR0aDphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlLWJhZGdlLC55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZS1iYWRnZSwueXRwLXNtYWxsLW1vZGUueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWxpdmUtYmFkZ2V7dGV4dC10cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2UsLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1saXZlIC55dHAtbGl2ZS1iYWRnZXtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjZweDtoZWlnaHQ6NnB4O3ZlcnRpY2FsLWFsaWduOjQlO21hcmdpbi1yaWdodDo1cHg7YmFja2dyb3VuZDojNzU3NTc1O2NvbnRlbnQ6IiI7Ym9yZGVyLXJhZGl1czo2cHh9Lnl0cC1iaWctbW9kZSAueXRwLWxpdmUtYmFkZ2U6YmVmb3Jle3dpZHRoOjlweDtoZWlnaHQ6OXB4O2JvcmRlci1yYWRpdXM6OXB4fS5odG1sNS12aWRlby1wbGF5ZXIgLnl0cC1saXZlLWJhZGdlW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sLmh0bWw1LXZpZGVvLXBsYXllciAueXRwLWxpdmUtYmFkZ2VbZGlzYWJsZWRde29wYWNpdHk6MX0ueXRwLWxpdmViYWRnZS1jb2xvciAueXRwLWxpdmUtYmFkZ2UueXRwLWxpdmUtYmFkZ2UtaXMtbGl2ZWhlYWQ6YmVmb3Jle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpfS55dHAtdGltZS1kaXNwbGF5Lnl0cC1jbGlwe292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleH0ueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24sLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvciwueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6bm9uZX0ueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9yLC55dHAtY2xpcCAueXRwLXRpbWUtY2xpcC1pY29ue2Rpc3BsYXk6aW5saW5lfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2xpcCAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctdG9wOjEycHg7bWFyZ2luLWxlZnQ6OHB4O2hlaWdodDp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KTtib3JkZXItcmFkaXVzOjI4cHg7cGFkZGluZzowIDE2cHg7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbiBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtZGVsaGktbW9kZXJuLnl0cC1iaWctbW9kZTpub3QoLnl0cC14c21hbGwtd2lkdGgtbW9kZSkgLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6dmFyKC0teXQtZGVsaGktYmlnLW1vZGUtcGlsbC1oZWlnaHQsNTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1sdW1pbm9zaXR5Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpsdW1pbm9zaXR5Oy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1kaWZmZXJlbmNlLnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jbGlwIC55dHAtY2xpcC13YXRjaC1mdWxsLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoODAsODAsODAsLjYpO2JhY2tncm91bmQtYmxlbmQtbW9kZTpkaWZmZXJlbmNlOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMTZweCl9Lnl0cC1kZWxoaS1tb2Rlcm4td2l0aC1leGNsdXNpb24ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNsaXAgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2JhY2tncm91bmQ6cmdiYSg4MCw4MCw4MCwuNik7YmFja2dyb3VuZC1ibGVuZC1tb2RlOmV4Y2x1c2lvbjstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpO2JhY2tkcm9wLWZpbHRlcjpibHVyKDE2cHgpfS55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6NXB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdGltZS1jbGlwLWljb257bWFyZ2luLWxlZnQ6MH0ueXRwLXRpbWUtY2xpcC1pY29uIHN2Z3t3aWR0aDoxNnB4O2hlaWdodDoxNnB4O21hcmdpbi1ib3R0b206LTNweDtmaWxsOiNkZGR9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLXNlcGFyYXRvcnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjhweDtmb250LXdlaWdodDo3MDB9Lnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9ue2N1cnNvcjpwb2ludGVyO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLXNtYWxsLW1vZGUgLnl0cC1jbGlwLXdhdGNoLWZ1bGwtdmlkZW8tYnV0dG9uLC55dHAtc21hbGwtbW9kZSAueXRwLWNsaXAtd2F0Y2gtZnVsbC12aWRlby1idXR0b24tc2VwYXJhdG9ye2Rpc3BsYXk6bm9uZX0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtbGl2ZSAueXRwLWxpdmUtYmFkZ2V7d2lkdGg6YXV0b30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRpbWUtY29udGVudHN7b3ZlcmZsb3c6aGlkZGVufS55dHAtbm8tbGluayxzcGFuLnl0cC10aXRsZS1jaGFubmVsLW5hbWV7Y3Vyc29yOmRlZmF1bHQ7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRwLXRpdGxle292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fS55dHAtZnVsbHNjcmVlbi1tZXRhZGF0YS1ib3R0b20gLnl0cC10aXRsZSAueXRwLXRpdGxlLXRleHQsLnl0cC1mdWxsc2NyZWVuLW1ldGFkYXRhLXRvcCAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dCwueXRwLWhpZGUtZnVsbHNjcmVlbi10aXRsZSAueXRwLXRpdGxlIC55dHAtdGl0bGUtdGV4dHtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS10ZXh0e3ZlcnRpY2FsLWFsaWduOnRvcDttYXgtd2lkdGg6MTAwJTtwYWRkaW5nLXRvcDoxMnB4O2ZvbnQtc2l6ZToxOHB4Oy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTtmbGV4OjE7cGFkZGluZy1sZWZ0OjRweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxOHB4O2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmctbGVmdDo2cHh9Lnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoyMXB4fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS10ZXh0e2ZvbnQtc2l6ZToxNnB4O3doaXRlLXNwYWNlOm5vcm1hbDtwYWRkaW5nLXRvcDoxNHB4O3BhZGRpbmctcmlnaHQ6NTNweH0ueXRwLWJpZy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDozNnB4fS55dHAtYmlnLW1vZGUueXRwLXNob3J0cy1tb2RlLnl0cC1lbWJlZDpub3QoLmFkLXNob3dpbmcpIC55dHAtdGl0bGUtdGV4dHtwYWRkaW5nLXRvcDoxN3B4O2ZvbnQtc2l6ZToyM3B4O3BhZGRpbmctcmlnaHQ6NjRweH0ueXRwLXRpdGxlLXRleHQtbGFyZ2VyLWxpbmUtaGVpZ2h0IC55dHAtdGl0bGUtdGV4dHtsaW5lLWhlaWdodDoxLjM1fS55dHAtc2hvcnRzLW1vZGUueXRwLWVtYmVkOm5vdCguYWQtc2hvd2luZykgLnl0cC10aXRsZS1saW5re292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt2aXNpYmlsaXR5OnZpc2libGV9Lnl0cC10aXRsZS1zdWJ0ZXh0e2ZvbnQtc2l6ZToxNHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtdGl0bGUtY2hhbm5lbC1uYW1le21hcmdpbi10b3A6LjI1cmVtO2Rpc3BsYXk6YmxvY2s7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5KX0ueXRwLWJpZy1tb2RlIC55dHAtdGl0bGUtc3VidGV4dHtmb250LXNpemU6MjBweH0ueXRwLXRpdGxlLXN1YnRleHQgYTplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC10aXRsZS1mdWxsZXJzY3JlZW4tbGlua3tjdXJzb3I6ZGVmYXVsdH0ueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtoZWlnaHQ6MTRweDt3aWR0aDozNnB4O2Zsb2F0OnJpZ2h0O3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTRweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4wOHMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyMXB4O3dpZHRoOjU0cHg7Ym9yZGVyLXJhZGl1czoyMXB4fS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1yZWQtaW5kaWNhdG9yLCNlMTAwMmQpfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtvcGFjaXR5Oi4zfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXXtjb2xvcjojOTA5MDkwfS55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSBwYXRoe2ZpbGw6IzkwOTA5MH0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JvcmRlci1yYWRpdXM6MDtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dHAtY29udGV4dG1lbnUueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0cC1jb250ZXh0bWVudSAueXRwLW1lbnVpdGVtIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2JhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TkNBeU5DSStQSEJoZEdnZ1ptbHNiRDBpSTJabVppSWdaRDBpVFRrZ01UWXVNaUEwTGpnZ01USnNMVEV1TkNBeExqUk1PU0F4T1NBeU1TQTNiQzB4TGpRdE1TNDBlaUl2UGp3dmMzWm5QZz09KX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6bm9uZX0ueXRwLWNvbnRleHRtZW51IC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZX0ueXRwLWJpZy1tb2RlIC55dHAtY29udGV4dG1lbnUgLnl0cC1tZW51aXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfS55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoyMHB4O3dpZHRoOjIwcHg7Ym9yZGVyLXJhZGl1czoyMHB4O21hcmdpbi10b3A6LTNweDtiYWNrZ3JvdW5kLWNvbG9yOiNiZGJkYmQ7LXdlYmtpdC1ib3gtc2hhZG93OjAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjYpO2JveC1zaGFkb3c6MCAxcHggNXB4IDAgcmdiYSgwLDAsMCwuNik7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMDhzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjA4cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7bGVmdDowO2hlaWdodDozMHB4O3dpZHRoOjMwcHg7Ym9yZGVyLXJhZGl1czozMHB4O21hcmdpbi10b3A6ZGl2aWRlKHN1YigyMXB4LDMwcHgpLDIpfS55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLWJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94OmFmdGVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjRweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDI0cHgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94e2hlaWdodDoyNHB4O3dpZHRoOjQwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtbWVkaXVtLWxpZ2h0LHJnYmEoMCwwLDAsLjMpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveCwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1idXR0b24tcHJpbWFyeSxyZ2JhKDI1NSwyNTUsMjU1LC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbVthcmlhLWRpc2FibGVkPXRydWVdIC55dHAtbWVudWl0ZW0tdG9nZ2xlLWNoZWNrYm94LC55dHAtZGVsaGktbW9kZXJuLmJpZy1tb2RlIC55dHAtbWVudWl0ZW1bYXJpYS1kaXNhYmxlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveHtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXIsLnl0cC1kZWxoaS1tb2Rlcm4uYmlnLW1vZGUgLnl0cC1tZW51aXRlbS10b2dnbGUtY2hlY2tib3g6YWZ0ZXJ7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXRvcDoycHg7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlciwueXRwLWRlbGhpLW1vZGVybi5iaWctbW9kZSAueXRwLW1lbnVpdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLW1lbnVpdGVtLXRvZ2dsZS1jaGVja2JveDphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE2cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxNnB4KX0ueXRwLXRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAzO2ZvbnQtc2l6ZToxMTglO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtwb2ludGVyLWV2ZW50czpub25lfS55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7b3BhY2l0eTowfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbil7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwe2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pe29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tcy10cmFuc2Zvcm06bm9uZTt0cmFuc2Zvcm06bm9uZTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguNCwwLDEsMSksb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSxvcGFjaXR5IC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLG9wYWNpdHkgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3e3BhZGRpbmc6MnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3tib3JkZXItcmFkaXVzOjEycHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlld3std2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3BhY2l0eSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdG9wIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3Lnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbjpub3QoW2FyaWEtaGlkZGVuPXRydWVdKXtvcGFjaXR5OjF9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGl0bGV7cGFkZGluZzowIDlweDt0ZXh0LWFsaWduOnN0YXJ0O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6NXB4IDlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1iZ3ttYXJnaW46NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLXRpdGxlIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHttYXJnaW4tbGVmdDo4cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtdGV4dHtwYWRkaW5nOjAgOXB4O3doaXRlLXNwYWNlOm5vd3JhcH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXA6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JvcmRlci1yYWRpdXM6NHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcDpub3QoLnl0cC1wcmV2aWV3KSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC10b29sdGlwLWJnLC55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtwYWRkaW5nOjFweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlIC55dHAtdG9vbHRpcC10aXRsZXtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDotd2Via2l0LWZpdC1jb250ZW50O3dpZHRoOi1tb3otZml0LWNvbnRlbnQ7d2lkdGg6Zml0LWNvbnRlbnQ7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzo4cHggMTZweDtib3JkZXItcmFkaXVzOjE4cHg7dG9wOjQ1cHg7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGUgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxle21hcmdpbi1sZWZ0OjhweDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLXRpdGxlOmVtcHR5e2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXN0eWxlOm5vdCgueXRwLXByZXZpZXcpIC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItcGlsbHt0b3A6LTE2cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGwueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6MTBweDt0b3A6dW5zZXQ7bWF4LXdpZHRoOnVuc2V0O2hlaWdodDotd2Via2l0LWZpdC1jb250ZW50O2hlaWdodDotbW96LWZpdC1jb250ZW50O2hlaWdodDpmaXQtY29udGVudDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLC13ZWJraXQtdHJhbnNmb3JtIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvcGFjaXR5IC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx0b3AgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KC55dHAtcHJldmlldykgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntib3R0b206OHB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdG9vbHRpcC1wcm9ncmVzcy1iYXItc3R5bGU6bm90KFthcmlhLWhpZGRlbj10cnVlXSkgLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxsLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1waWxse2Rpc3BsYXk6bm9uZX0ueXRwLWRlbGhpLW1vZGVybi55dHAtYmlnLW1vZGUgLnl0cC10b29sdGlwLnl0cC10b29sdGlwLXByb2dyZXNzLWJhci1zdHlsZSAueXRwLXRvb2x0aXAtcHJvZ3Jlc3MtYmFyLXBpbGx7dG9wOjY3cHh9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxMnB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MTJweH0ueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVye2JvcmRlci1yYWRpdXM6M3B4fS55dHAtdG9vbHRpcC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtd3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NXB4O2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO3otaW5kZXg6MX0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjRweCAwO292ZXJmbG93OmhpZGRlbjttYXgtaGVpZ2h0OjQ2cHh9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXJ7bWFyZ2luOjZweCAwO21heC1oZWlnaHQ6NjlweH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LXdyYXBwZXIueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9uIHN2Z3std2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdCgueXRwLXRleHQtZGV0YWlsKTpub3QoW2FyaWEtaGlkZGVuPXRydWVdKSAueXRwLXRvb2x0aXAtdGV4dC13cmFwcGVyLnl0cC1mcm9zdGVkLWdsYXNzLWZhZGUtdHJhbnNpdGlvbntvcGFjaXR5OjF9Lnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KTtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjVweCA5cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtib3JkZXItcmFkaXVzOjhweDstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0teXQtZnJvc3RlZC1nbGFzcy1iYWNrZHJvcC1maWx0ZXItb3ZlcnJpZGUsYmx1cigxNnB4KSk7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1tZWRpdW0tbGlnaHQscmdiYSgwLDAsMCwuMykpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXA6bm90KC55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb24pIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCBzdmd7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdG9vbHRpcC1vcGFxdWUgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQtY29sb3I6cmdiKDI4LDI4LDI4KX0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2Rpc3BsYXk6aW5saW5lO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6MzRweH0ueXRwLWJpZy1tb2RlIC55dHAtdG9vbHRpcC1pbWFnZS1lbmFibGVkIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtwYWRkaW5nLWxlZnQ6NDVweH0ueXRwLXRvb2x0aXAueXRwLXRleHQtZGV0YWlsLnl0cC1wcmV2aWV3IC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmc6MH0ueXRwLXRvb2x0aXAtYmd7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0cC10b29sdGlwLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKS55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb246aXMoW2FyaWEtaGlkZGVuPXRydWVdKXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS55dHAtcHJvZ3Jlc3MtYmFyLXNuYXAgLnl0cC10b29sdGlwLWJne291dGxpbmU6MXB4IHNvbGlkICNmZmY7b3V0bGluZS1vZmZzZXQ6LTFweH0ueXRwLXRvb2x0aXAueXRwLXByZXZpZXcgLnl0cC10b29sdGlwLWJne2Rpc3BsYXk6YmxvY2t9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldyAueXRwLXRvb2x0aXAtYmd7ZmxvYXQ6bGVmdH0ueXRwLWRlbGhpLW1vZGVybiAueXRwLXRvb2x0aXAtYmcueXRwLWZyb3N0ZWQtZ2xhc3MtZmFkZS10cmFuc2l0aW9ue29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHRvcCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwOm5vdChbYXJpYS1oaWRkZW49dHJ1ZV0pIC55dHAtdG9vbHRpcC1iZy55dHAtZnJvc3RlZC1nbGFzcy1mYWRlLXRyYW5zaXRpb257b3BhY2l0eToxfS55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC10b29sdGlwLnl0cC10ZXh0LWRldGFpbC55dHAtcHJldmlldy55dHAtaGFzLWR1cmF0aW9uIC55dHAtdG9vbHRpcC1kdXJhdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjNweDtib3R0b206M3B4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyOCwyOCwyOCwuOSk7cGFkZGluZzoycHggNHB4O2JvcmRlci1yYWRpdXM6MnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwueXRwLXByZXZpZXcueXRwLWhhcy1kdXJhdGlvbiAueXRwLXRvb2x0aXAtZHVyYXRpb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KTtib3JkZXItcmFkaXVzOiNmZmZ9Lnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6bm9uZX0ueXRwLXRvb2x0aXAtdGl0bGUgc3Zne2Rpc3BsYXk6bm9uZX0ueXRwLWJpZy1tb2RlLnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2ZvbnQtc2l6ZToxOHB4fS55dHAtYmlnLW1vZGUueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3Zne2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0cC1maW5lLXNjcnViYmluZy1leHAgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6YmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAzJTtoZWlnaHQ6YXV0bztmb250LXNpemU6MTJweDtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLWZpbmUtc2NydWJiaW5nLWV4cCAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1lZHUgc3ZnLC55dHAtcHJvZ3Jlc3MtYmFyLWRlY29yYXRpb24gLnl0cC10b29sdGlwLXRpdGxlIHN2Z3tkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O21hcmdpbi1yaWdodDozcHg7ZmlsbDp3aGl0ZTt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjgwcHg7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7aGVpZ2h0OjE2cHg7Ym9yZGVyOjA7dG9wOjQ1cHg7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10aXRsZXt3aWR0aDoyMDAlO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjEyMHB4O3RvcDo2MXB4O2hlaWdodDoyNHB4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e2JhY2tncm91bmQ6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6NDVweDt0ZXh0LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsLjc1KX0ueXRwLWJpZy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWJvdHRvbS10ZXh0e3RvcDo2NXB4fS55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dHtkaXNwbGF5Om5vbmV9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC10b29sdGlwLWtleWJvYXJkLXNob3J0Y3V0e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zMDE5NjA3ODQzKTttaW4td2lkdGg6MTFweDtib3JkZXItcmFkaXVzOjRweDttYXJnaW4tbGVmdDo0cHg7Y29sb3I6I2ZmZjtwYWRkaW5nOjAgMnB4fS55dHAtZGVsaGktbW9kZXJuIC55dHAtdG9vbHRpcC1rZXlib2FyZC1zaG9ydGN1dDplbXB0eXtkaXNwbGF5Om5vbmU7d2lkdGg6MH0ueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDozM3B4fS55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUueXRwLW1vZGVybi10b29sdGlwLXRleHR7dG9wOjI1cHh9Lnl0cC1iaWctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC10ZXh0LW5vLXRpdGxle3RvcDo0MXB4fS55dHAtdG9vbHRpcC55dHAtdGV4dC1kZXRhaWwgLnl0cC10b29sdGlwLXRpdGxle2Rpc3BsYXk6YmxvY2s7Y29sb3I6I2FhYTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lnl0cC10b29sdGlwLWltYWdle3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxMHB4O3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTt0b3A6MnB4O2xlZnQ6N3B4Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1zaXplOmNvbnRhaW59Lnl0cC1iaWctbW9kZSAueXRwLXRvb2x0aXAtaW1hZ2V7d2lkdGg6MjVweDtoZWlnaHQ6MjVweDtib3JkZXItcmFkaXVzOjEyLjVweDt0b3A6M3B4O2xlZnQ6MTBweH0ueXRwLXRvb2x0aXAtaW1hZ2UtZW5hYmxlZCAueXRwLXRvb2x0aXAtaW1hZ2V7ZGlzcGxheTppbmhlcml0fS55dHAtaW5saW5lLXByZXZpZXctbW9kZSAueXRwLXByZXZpZXc6bm90KC55dHAtdGV4dC1kZXRhaWwpIC55dHAtdG9vbHRpcC1ib3R0b20tdGV4dCwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtYm90dG9tLXRleHR7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGUsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLXRleHQtbm8tdGl0bGV7dG9wOi00cHh9Lnl0cC1pbmxpbmUtcHJldmlldy1tb2RlIC55dHAtcHJldmlldzpub3QoLnl0cC10ZXh0LWRldGFpbCkgLnl0cC10b29sdGlwLWVkdSwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC1wcmV2aWV3Om5vdCgueXRwLXRleHQtZGV0YWlsKSAueXRwLXRvb2x0aXAtZWR1e2Rpc3BsYXk6bm9uZX0ueXRwLXVubXV0ZS55dHAtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7dG9wOnN1Yig0OHB4LDEycHgpO2xlZnQ6MDt6LWluZGV4OjEwMDE7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiMwMDA7Zm9udC1zaXplOjEyNyU7Zm9udC13ZWlnaHQ6NTAwO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nOjEycHh9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS55dHAtcG9wdXB7dG9wOnN1Yig0OHB4LDE4cHgpO3BhZGRpbmc6MThweH0ueXRwLWF1dG9oaWRlIC55dHAtdW5tdXRlLC55dHAtaGlkZS1pbmZvLWJhciAueXRwLXVubXV0ZXt0b3A6MH0ueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6M3B4O3BhZGRpbmctcmlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMTt0ZXh0LXNoYWRvdzpub25lO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pbm5lcntwYWRkaW5nLWxlZnQ6NXB4O3BhZGRpbmctcmlnaHQ6MThweH0ueXRwLXVubXV0ZS1pY29ue3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLWVtYmVkIC55dHAtdW5tdXRlLWljb257d2lkdGg6NDBweDtoZWlnaHQ6NDBweH0ueXRwLXVubXV0ZS1pY29uIC55dHAtc3ZnLWZpbGx7ZmlsbDojMDAwfS55dHAtdW5tdXRlLXRleHR7bWF4LXdpZHRoOjIwMHB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0cC1iaWctbW9kZSAueXRwLXVubXV0ZS1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC11bm11dGUueXRwLXBvcHVwLnl0cC11bm11dGUtYW5pbWF0ZWQgLnl0cC11bm11dGUtaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOm5vbmU7cGFkZGluZzowfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWljb257cGFkZGluZy1sZWZ0OjJweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEwO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtib3JkZXItcmFkaXVzOjJweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjFmMWYxfS55dHAtdW5tdXRlLWFuaW1hdGVkIC55dHAtdW5tdXRlLWJveHtkaXNwbGF5OmJsb2NrO2JhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7Ym9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2YxZjFmMX0ueXRwLXVubXV0ZS1hbmltYXRlZCAueXRwLXVubXV0ZS10ZXh0e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTA7cGFkZGluZy10b3A6MXB4O3BhZGRpbmctcmlnaHQ6MTBweH0ueXRwLXVubXV0ZS1leHBhbmQgLnl0cC11bm11dGUtYm94e3dpZHRoOjA7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuNXMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtd2lkdGgtYW5pbSAuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSAzLjVzIGZvcndhcmRzfS55dHAtdW5tdXRlLWV4cGFuZCAueXRwLXVubXV0ZS10ZXh0e29wYWNpdHk6MDstd2Via2l0LWFuaW1hdGlvbjp5dHAtdW5tdXRlLWFscGhhLWFuaW0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpIDMuOHMgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSkgMy44cyBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtYm94e3dpZHRoOjEwMCU7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkczthbmltYXRpb246eXRwLXVubXV0ZS13aWR0aC1hbmltIC41cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpIDUuNXMgcmV2ZXJzZSBmb3J3YXJkc30ueXRwLXVubXV0ZS1zaHJpbmsgLnl0cC11bm11dGUtdGV4dHtvcGFjaXR5OjE7LXdlYmtpdC1hbmltYXRpb246eXRwLXVubXV0ZS1hbHBoYS1hbmltIC4yNXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSA1LjRzIHJldmVyc2UgZm9yd2FyZHM7YW5pbWF0aW9uOnl0cC11bm11dGUtYWxwaGEtYW5pbSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSkgNS40cyByZXZlcnNlIGZvcndhcmRzfUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLXdpZHRoLWFuaW17MCV7d2lkdGg6MH10b3t3aWR0aDoxMDAlfX1Aa2V5ZnJhbWVzIHl0cC11bm11dGUtd2lkdGgtYW5pbXswJXt3aWR0aDowfXRve3dpZHRoOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19QGtleWZyYW1lcyB5dHAtdW5tdXRlLWFscGhhLWFuaW17MCV7b3BhY2l0eTowfXRve29wYWNpdHk6MX19Lnl0cC11cG5leHR7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7b3BhY2l0eToxO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjphbGwgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7ei1pbmRleDozOX0ueXRwLXVwbmV4dC10b3B7d2lkdGg6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO2JvdHRvbTo1MCU7bWFyZ2luLWJvdHRvbTo0OHB4fS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10b3B7bWFyZ2luLWJvdHRvbToyNnB4fS55dHAtc21hbGwtbW9kZS55dHAtZW1iZWQgLnl0cC11cG5leHQtbW9iaWxlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjB9Lnl0cC11cG5leHQtYm90dG9te3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bzt0b3A6NTAlO21hcmdpbi10b3A6NDhweH0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYm90dG9te21hcmdpbi10b3A6MjZweH0ueXRwLXNtYWxsLW1vZGUueXRwLWVtYmVkIC55dHAtdXBuZXh0LW1vYmlsZSAueXRwLXVwbmV4dC1ib3R0b217bWFyZ2luLXRvcDo0OHB4fS55dHAtdXBuZXh0LXRpdGxle2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowIDEwcHggMnB4O21hcmdpbi1sZWZ0OjMycHg7bWFyZ2luLXJpZ2h0OjMycHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjIwMCU7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dHAtc21hbGwtbW9kZSAueXRwLXVwbmV4dC10aXRsZXtmb250LXNpemU6MTUwJX0ueXRwLXVwbmV4dC1hdXRob3J7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjNlbTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowIDEwcHggMTBweDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxMzAlfS55dHAtdXBuZXh0LWhlYWRlcntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNDAlO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmctYm90dG9tOjhweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtaGVhZGVye3BhZGRpbmctYm90dG9tOjB9Lnl0cC11cG5leHQtY2FuY2Vse2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcn0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0Om5vbmU7cGFkZGluZzoxMHB4IDIwcHg7Zm9udC1zaXplOjE0MCU7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXVwbmV4dC1jYW5jZWwtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpO2JvcmRlci1yYWRpdXM6MnB4fS55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt3aWR0aDo2NHB4O2hlaWdodDo2NHB4O21hcmdpbjotMzJweCAwIDAgLTMycHg7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmFsbCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRwLXNtYWxsLW1vZGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O21hcmdpbjotMjVweCAwIDAgLTI1cHh9Lnl0cC1zbWFsbC1tb2RlLnl0cC1lbWJlZCAueXRwLXVwbmV4dC1tb2JpbGUgLnl0cC11cG5leHQtYXV0b3BsYXktaWNvbnttYXJnaW4tdG9wOjB9Lnl0cC1lbWJlZCAueXRwLWVuZHNjcmVlbi10YWtlb3Zlcn4ueXRwLXJlcGxheS1idXR0b257ZGlzcGxheTpub25lfS55dHAtdXBuZXh0LXBhdXNlZHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMjAlO2ZvbnQtc3R5bGU6aXRhbGljO29wYWNpdHk6MH0ueXRwLXVwbmV4dC1hdXRvcGxheS1wYXVzZWQgLnl0cC11cG5leHQtcGF1c2Vke29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246YWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfS55dHAtdXBuZXh0IC55dHAtY3VlZC10aHVtYm5haWwtb3ZlcmxheS1pbWFnZXtvcGFjaXR5Oi40fS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLWN1ZWQtdGh1bWJuYWlsLW92ZXJsYXktaW1hZ2V7b3BhY2l0eTouNjR9Lnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRvcHt0b3A6MDttYXJnaW46MTJweCAwIDAgMTJweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXIsLnl0cC1wbGF5ZXItbWluaW1pemVkIC55dHAtdXBuZXh0IC55dHAtdXBuZXh0LXRpdGxle3RleHQtYWxpZ246bGVmdDttYXJnaW4tYm90dG9tOjRweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtYXV0aG9yLC55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1oZWFkZXJ7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjcpO3BhZGRpbmc6MH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtdGl0bGV7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiNmZmY7cGFkZGluZzowIDc1cHggMCAwfS55dHAtcGxheWVyLW1pbmltaXplZCAueXRwLXVwbmV4dCAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjYycHg7aGVpZ2h0OjYycHg7bWFyZ2luOi0zMXB4IDAgMCAtMzFweH0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbiwueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtcGF1c2Vke2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLXBsYXllci1taW5pbWl6ZWQgLnl0cC11cG5leHQgLnl0cC11cG5leHQtY2FuY2VsLWJ1dHRvbntwYWRkaW5nOjhweDttYXJnaW4tdG9wOjhweH0ueXRwLWJpZy1tb2RlOm5vdCgueXRwLW13ZWItcGxheWVyKSAueXRwLXVwbmV4dC1hdXRvcGxheS1pY29ue3dpZHRoOjE0NnB4O2hlaWdodDoxNDZweDttYXJnaW46LTczcHggMCAwIC03M3B4fS55dHAtYmlnLW1vZGU6bm90KC55dHAtbXdlYi1wbGF5ZXIpIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjc2cHh9Lnl0cC1iaWctbW9kZTpub3QoLnl0cC1td2ViLXBsYXllcikgLnl0cC11cG5leHQtdG9we21hcmdpbi1ib3R0b206NzZweH0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LXRvcHttYXJnaW4tYm90dG9tOjA7Ym90dG9tOjUwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWF1dG9wbGF5LWljb257dG9wOjYwJX0ueXRwLW13ZWItcGxheWVyLnl0cC1zbWFsbC1tb2RlIC55dHAtdXBuZXh0LWJvdHRvbXttYXJnaW4tdG9wOjA7dG9wOjcwJX0ueXRwLXVzZXItaW5mby1wYW5lbHtiYWNrZ3JvdW5kOnJnYmEoMjgsMjgsMjgsLjgpO2NvbG9yOiNmZmY7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyOTJweDtoZWlnaHQ6NzRweDtib3R0b206MDt6LWluZGV4OjgwO21pbi13aWR0aDoyNmVtO2Rpc3BsYXk6dGFibGV9Lnl0cC11c2VyLWluZm8tcGFuZWwgLnl0cC1jb2xsYXBzZXtoZWlnaHQ6MjBweDtvcGFjaXR5Oi45O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjEycHg7d2lkdGg6MjBweH0ueXRwLXVzZXItaW5mby1wYW5lbCAueXRwLWNvbGxhcHNlOmhvdmVye29wYWNpdHk6MX0ueXRwLXVzZXItaW5mby1wYW5lbC1jb250ZW50e2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZzoxNHB4IDA7Zm9udC1zaXplOjE2cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtY29udGVudD5kaXY+ZGl2e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjAgLjVlbTt0ZXh0LWFsaWduOnJpZ2h0O3dpZHRoOjEwZW19Lnl0cC11c2VyLWluZm8tcGFuZWwtaWNvbntkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI0cHg7cGFkZGluZzowIDE0cHh9Lnl0cC11c2VyLWluZm8tcGFuZWwtbG9naW57Y29sb3I6IzNlYTZmZjtjdXJzb3I6cG9pbnRlcn0ueXRwLXVzZXItaW5mby1wYW5lbC1pbmZve21heC13aWR0aDoyMDBweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0cC12aWRlby1tZW51LWl0ZW17ZGlzcGxheTpibG9jaztoZWlnaHQ6NDRweDtwYWRkaW5nOjEwcHh9Lnl0cC1iaWctbW9kZSAueXRwLXZpZGVvLW1lbnUtaXRlbXtoZWlnaHQ6NjZweDtwYWRkaW5nOjE1cHh9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVde2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC12aWRlby1tZW51LWl0ZW06aG92ZXIsLnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdOmhvdmVye2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTUpfS55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne3BhZGRpbmctcmlnaHQ6OXB4O21pbi13aWR0aDoxMHB4O2hlaWdodDo0NHB4O2xpbmUtaGVpZ2h0OjQ0cHg7ZmxvYXQ6bGVmdH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4LC55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7cGFkZGluZy1yaWdodDoxM3B4O2hlaWdodDo2NnB4O2xpbmUtaGVpZ2h0OjY2cHh9Lnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTpub25lO2NvbG9yOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKX0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLW5vdy1wbGF5aW5ne2NvbG9yOiNkZGR9Lnl0cC1jb2xvci1wYXJ0eSAueXRwLXZpZGVvLW1lbnUtaXRlbS1ub3ctcGxheWluZ3std2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktY29sb3IgLjE1cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnl0cC1wYXJ0eS1jb2xvciAuMTVzIGxpbmVhciBpbmZpbml0ZX0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tbm93LXBsYXlpbmd7ZGlzcGxheTppbmxpbmV9Lnl0cC12aWRlby1tZW51LWl0ZW1bYXJpYS1jaGVja2VkPXRydWVdIC55dHAtdmlkZW8tbWVudS1pdGVtLWluZGV4e2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvLW1lbnUtaXRlbS10aXRsZXtwYWRkaW5nLWxlZnQ6OXB4O2ZvbnQtc2l6ZToxMjAlO21heC1oZWlnaHQ6Mi42ZW07b3ZlcmZsb3c6aGlkZGVufS55dHAtdmlkZW8tbWVudS1pdGVtLWF1dGhvcntwYWRkaW5nLWxlZnQ6OXB4O2NvbG9yOiNiOGI4Yjg7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9Lnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse2Zsb2F0OmxlZnQ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDttYXJnaW46NHB4O2JvcmRlcjowIHNvbGlkIHZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tc3RhdGljLWJyYW5kLXJlZCwjZjAzKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTZweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo2NHB4IDQ4cHg7YmFja2dyb3VuZC1zaXplOjY0cHggNDhweH0ueXRwLWNvbG9yLXdoaXRlIC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHtib3JkZXItY29sb3I6I2RkZH0ueXRwLWNvbG9yLXBhcnR5IC55dHAtdmlkZW8tbWVudS1pdGVtLXRodW1ibmFpbHstd2Via2l0LWFuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp5dHAtcGFydHktYmFja2dyb3VuZC1jb2xvciAuMXMgbGluZWFyIGluZmluaXRlfS55dHAtYmlnLW1vZGUgLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse3dpZHRoOjk2cHg7aGVpZ2h0OjU0cHg7bWFyZ2luOjZweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTlweDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo5NnB4IDcycHg7YmFja2dyb3VuZC1zaXplOjk2cHggNzJweH0ueXRwLXZpZGVvLW1lbnUtaXRlbVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLnl0cC12aWRlby1tZW51LWl0ZW0tdGh1bWJuYWlse21hcmdpbjoycHg7Ym9yZGVyLXdpZHRoOjJweH0ueXRwLWJpZy1tb2RlIC55dHAtdmlkZW8tbWVudS1pdGVtW2FyaWEtY2hlY2tlZD10cnVlXSAueXRwLXZpZGVvLW1lbnUtaXRlbS10aHVtYm5haWx7bWFyZ2luOjRweH0ueXRwLXZpZGVvd2FsbC1zdGlsbHtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKC4xKTt0cmFuc2Zvcm06c2NhbGUoLjEpfS55dHAtc2hvdy10aWxlcyAueXRwLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3IsLnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWR1cmF0aW9uLC55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1saXZlPXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpub25lO2hlaWdodDoyLjE1ZW07cGFkZGluZy1yaWdodDoxMHB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpfS55dHAtdmlkZW93YWxsLXN0aWxsLW1pbmkgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peCwueXRwLXZpZGVvd2FsbC1zdGlsbC1taW5pIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFye2ZvbnQtc2l6ZToxMDAlfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RjR3hoZVd4cGMzUWlJSE4wY205clpUMGlJekF3TUNJZ2MzUnliMnRsTFc5d1lXTnBkSGs5SWk0eE5TSWdjM1J5YjJ0bExYZHBaSFJvUFNJeUlpOCtQSEJoZEdnZ2FXUTlJbmwwY0MxemRtY3RjR3hoZVd4cGMzUWlJR1pwYkd3OUlpTm1abVlpSUdROUlrMHlNaTQxTXlBeU1TNDBNblkyTGpnMWJEVXVOall0TXk0ME1pMDFMalkyTFRNdU5ESjZiUzB4TVM0ek15QXdhRGt1TURaMk1pNHlPRWd4TVM0eWVtMHdMVGt1TVRSb01UTXVObll5TGpJNFNERXhMako2YlRBZ05DNDFOMmd4TXk0MmRqSXVNamhJTVRFdU1ub2lMejQ4TDNOMlp6ND0pO3dpZHRoOjIuMTVlbTtoZWlnaHQ6Mi4xNWVtfS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0YldsNElpQnpkSEp2YTJVOUlpTXdNREFpSUhOMGNtOXJaUzF2Y0dGamFYUjVQU0l1TVRVaUlITjBjbTlyWlMxM2FXUjBhRDBpTWlJdlBqeHdZWFJvSUdsa1BTSjVkSEF0YzNabkxXMXBlQ0lnWm1sc2JEMGlJMlptWmlJZ1pEMGlUVEkxTGpZMUlERTRZeTB1TURJZ01pNHpNUzB1T0RjZ05DNDBNUzB5TGpJMUlEWXVNRFpzTGprdU9UUmpNUzQyT1MweExqZ2dNaTQzTFRRdU1qY2dNaTQzTFRkekxURXVNREV0TlM0eU1TMHlMamN0TjJ3dExqa3VPVE5CT1M0MU5DQTVMalUwSURBZ01DQXhJREkxTGpZMUlERTRiUzB4TlM0eklEQmpMakF4TFRJdU16SXVPRFl0TkM0ME1pQXlMakkxTFRZdU1EZHNMUzQ1TFM0NU0wTXhNQ0F4TWk0M09TQTVJREUxTGpJM0lEa2dNVGh6TVNBMUxqSWdNaTQzSURkc0xqa3RMamswWXkweExqTTVMVEV1TmpVdE1pNHlOQzB6TGpjMUxUSXVNalV0Tmk0d05tMHlMamNnTUdNdExqQTBMVEV1TnpNdU5Ea3RNeTR3T1NBeExqTTFMVFF1TW13dExqa3RMamswWXkweExqRXpJREV1TWpZdE1TNDRJREl1T1RrdE1TNDRJRFV1TVRRZ01DQXhMalkzTGpZM0lETXVOQ0F4TGpnZ05DNDJObXd1T1MwdU9UTmpMUzQ0TmkweExqRXlMVEV1TXprdE1pNDBOeTB4TGpNMUxUTXVOek50T1MwMUxqRTBMUzQ1TGprMFl5NDROU0F4TGpFeElERXVNemdnTWk0ME55QXhMak0xSURRdU1pNHdNeUF4TGpJMkxTNDFJREl1TmpFdE1TNHpOU0F6TGpjemJDNDVMamt6WXpFdU1USXRNUzR5TmlBeExqZ3RNaTQ1T1NBeExqZ3ROQzQyTmlBd0xUSXVNVFV0TGpZNExUTXVPRGd0TVM0NExUVXVNVFJ0TFRVdU5UVWdNaTQ0SURNdU5pQXhMamczTFRNdU5pQXlMak16ZWlJdlBqd3ZjM1puUGc9PSk7d2lkdGg6Mi4xNWVtO2hlaWdodDoyLjE1ZW19Lnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC12aWRlb3dhbGwtc3RpbGwtbWluaSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbGVuZ3Roe2Rpc3BsYXk6bm9uZX0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtdmlkZW93YWxsLXN0aWxsOmZvY3VzIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1yZWd1bGFyLC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXgsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5OmJsb2NrfS55dHAtdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbWl4PXRydWVdIC55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZCAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOmNvdmVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC1yb3VuZC1sYXJnZSAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbWFnZXtib3JkZXItcmFkaXVzOjEycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtcm91bmQtbWVkaXVtIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLXJvdW5kLWxhcmdlIC55dHAtdmlkZW93YWxsLXN0aWxsLWltYWdle2JvcmRlci1yYWRpdXM6NHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tYXV0aG9ye2Zsb2F0OmxlZnQ7bWFyZ2luLXRvcDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50e2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMTIsMTIsMTIsLjgpLHRyYW5zcGFyZW50IDEwMHB4KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgxMiwxMiwxMiwuOCkgMCx0cmFuc3BhcmVudCAxMDBweCk7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2U7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlO2JvdHRvbTowO2NvbG9yOiNmZmY7bGVmdDowO29wYWNpdHk6MDtwYWRkaW5nOjEwcHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbC55dHAtdmlkZW93YWxsLXNob3ctdGV4dCAueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnQsLnl0cC12aWRlb3dhbGwtc3RpbGw6Zm9jdXMgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1jb250ZW50LC55dHAtdmlkZW93YWxsLXN0aWxsOmhvdmVyIC55dHAtdmlkZW93YWxsLXN0aWxsLWluZm8tY29udGVudHtvcGFjaXR5OjF9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czoycHg7Ym90dG9tOjJweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHh9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby1saXZle2JhY2tncm91bmQ6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJhY2tncm91bmQtYnJhbmQscmdiYSgyMjUsMCw0NSwuOSkpO2JvcmRlci1yYWRpdXM6MnB4O2JvdHRvbToycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE7b3BhY2l0eTouOTtwYWRkaW5nOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7ZGlzcGxheTpub25lO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRwLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxle2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjExOCU7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuMjttYXgtaGVpZ2h0OjMwcHg7b3ZlcmZsb3c6aGlkZGVufS55dHAtYmlnLW1vZGUgLnl0cC12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXtmb250LXdlaWdodDo0MDA7bWF4LWhlaWdodDo0OHB4fS55dHAtdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjg2KTtib3R0b206MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MH0ueXRwLXZpZGVvd2FsbC1zdGlsbDpmb2N1cyAueXRwLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwsLnl0cC12aWRlb3dhbGwtc3RpbGw6aG92ZXIgLnl0cC12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVse2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuODYpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyO3ZlcnRpY2FsLWFsaWduOnRvcDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO21hcmdpbi1ib3R0b206MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOi13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLC13ZWJraXQtYm94LXNoYWRvdyAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTtmb250LXNpemU6MTFweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1zaG93LXRpbGVzIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06bm9uZTstbXMtdHJhbnNmb3JtOm5vbmU7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLG9wYWNpdHkgLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLDAsLjIsMSksb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKSxvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbFtkYXRhLWlzLWxpdmU9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb257ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtbWl4LC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtcmVndWxhcntkaXNwbGF5Om5vbmU7aGVpZ2h0OjIuMTVlbTtwYWRkaW5nLXJpZ2h0OjEwcHg7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1saXN0bGFiZWwtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUIyYVdWM1FtOTRQU0l3SURBZ016WWdNellpUGp4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNsMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUhOMGNtOXJaVDBpSXpBd01DSWdjM1J5YjJ0bExXOXdZV05wZEhrOUlpNHhOU0lnYzNSeWIydGxMWGRwWkhSb1BTSXlJaTgrUEhCaGRHZ2dhV1E5SW5sMGNDMXpkbWN0Y0d4aGVXeHBjM1FpSUdacGJHdzlJaU5tWm1ZaUlHUTlJazB5TWk0MU15QXlNUzQwTW5ZMkxqZzFiRFV1TmpZdE15NDBNaTAxTGpZMkxUTXVOREo2YlMweE1TNHpNeUF3YURrdU1EWjJNaTR5T0VneE1TNHllbTB3TFRrdU1UUm9NVE11Tm5ZeUxqSTRTREV4TGpKNmJUQWdOQzQxTjJneE15NDJkakl1TWpoSU1URXVNbm9pTHo0OEwzTjJaejQ9KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLW1peC1pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJhV1YzUW05NFBTSXdJREFnTXpZZ016WWlQangxYzJVZ2VHeHBibXM2YUhKbFpqMGlJM2wwY0MxemRtY3RiV2w0SWlCemRISnZhMlU5SWlNd01EQWlJSE4wY205clpTMXZjR0ZqYVhSNVBTSXVNVFVpSUhOMGNtOXJaUzEzYVdSMGFEMGlNaUl2UGp4d1lYUm9JR2xrUFNKNWRIQXRjM1puTFcxcGVDSWdabWxzYkQwaUkyWm1aaUlnWkQwaVRUSTFMalkxSURFNFl5MHVNRElnTWk0ek1TMHVPRGNnTkM0ME1TMHlMakkxSURZdU1EWnNMamt1T1RSak1TNDJPUzB4TGpnZ01pNDNMVFF1TWpjZ01pNDNMVGR6TFRFdU1ERXROUzR5TVMweUxqY3ROMnd0TGprdU9UTkJPUzQxTkNBNUxqVTBJREFnTUNBeElESTFMalkxSURFNGJTMHhOUzR6SURCakxqQXhMVEl1TXpJdU9EWXROQzQwTWlBeUxqSTFMVFl1TURkc0xTNDVMUzQ1TTBNeE1DQXhNaTQzT1NBNUlERTFMakkzSURrZ01UaHpNU0ExTGpJZ01pNDNJRGRzTGprdExqazBZeTB4TGpNNUxURXVOalV0TWk0eU5DMHpMamMxTFRJdU1qVXROaTR3Tm0weUxqY2dNR010TGpBMExURXVOek11TkRrdE15NHdPU0F4TGpNMUxUUXVNbXd0TGprdExqazBZeTB4TGpFeklERXVNall0TVM0NElESXVPVGt0TVM0NElEVXVNVFFnTUNBeExqWTNMalkzSURNdU5DQXhMamdnTkM0Mk5td3VPUzB1T1ROakxTNDROaTB4TGpFeUxURXVNemt0TWk0ME55MHhMak0xTFRNdU56TnRPUzAxTGpFMExTNDVMamswWXk0NE5TQXhMakV4SURFdU16Z2dNaTQwTnlBeExqTTFJRFF1TWk0d015QXhMakkyTFM0MUlESXVOakV0TVM0ek5TQXpMamN6YkM0NUxqa3pZekV1TVRJdE1TNHlOaUF4TGpndE1pNDVPU0F4TGpndE5DNDJOaUF3TFRJdU1UVXRMalk0TFRNdU9EZ3RNUzQ0TFRVdU1UUnRMVFV1TlRVZ01pNDRJRE11TmlBeExqZzNMVE11TmlBeUxqTXplaUl2UGp3dmMzWm5QZz09KTt3aWR0aDoyLjE1ZW07aGVpZ2h0OjIuMTVlbX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLWxlbmd0aHtmb250LXdlaWdodDo0MDB9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsW2RhdGEtaXMtbGlzdD10cnVlXTpub3QoW2RhdGEtaXMtbWl4PXRydWVdKSAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtbGlzdGxhYmVsLXJlZ3VsYXJ7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGxbZGF0YS1pcy1taXg9dHJ1ZV0gLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWxpc3RsYWJlbC1taXh7ZGlzcGxheTpibG9ja30ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQgLjFzIGN1YmljLWJlemllciguNCwwLDEsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO2JhY2tncm91bmQtcG9zaXRpb246NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDstd2Via2l0LWJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYnV0dG9uLXNlY29uZGFyeSk7Ym94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LWJ1dHRvbi1zZWNvbmRhcnkpO2JvcmRlci1yYWRpdXM6OHB4fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMCA4cHggdmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRvbmFsLWhvdmVyKTtib3gtc2hhZG93OjAgMCAwIDhweCB2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktdG9uYWwtaG92ZXIpO2JvcmRlci1yYWRpdXM6OHB4fUBzdXBwb3J0cyAoYXNwZWN0LXJhdGlvOjEvMSl7Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWltYWdle2FzcGVjdC1yYXRpbzoxNi85fX1Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86MS8xKXsueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW1hZ2V7aGVpZ2h0OjA7cGFkZGluZy1ib3R0b206NTYuMjUlfX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mb3ttYXJnaW4tdG9wOjhweH0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1hdXRob3I6bm90KDplbXB0eSl7bWFyZ2luLXRvcDo0cHg7Zm9udC1zaXplOjEzMCU7bWF4LWhlaWdodDoyMHB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtdmlldy1jb3VudC1hbmQtZGF0ZS1pbmZvOm5vdCg6ZW1wdHkpe2ZvbnQtc2l6ZToxMzAlO21heC1oZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9Lnl0cC1mdWxsc2NyZWVuLWdyaWQtYWN0aXZlIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvciwueXRwLWZ1bGxzY3JlZW4tZ3JpZC1wZWVraW5nIC55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWF1dGhvcnttYXgtaGVpZ2h0OnVuc2V0fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWNvbnRlbnR7Y29sb3I6I2ZmZjt3aWR0aDoxMDAlO29wYWNpdHk6MTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb24sLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtib3JkZXItcmFkaXVzOjJweDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206OHB4O3JpZ2h0OjhweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTtvcGFjaXR5Oi43NTtwYWRkaW5nOjJweDtmb250LXNpemU6MTIwJX0ueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby1kdXJhdGlvbntiYWNrZ3JvdW5kOiMwMDA7Zm9udC13ZWlnaHQ6NTAwO29wYWNpdHk6Ljc1fS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLWxpdmV7YmFja2dyb3VuZDp2YXIoLS15dC1zeXMtY29sb3ItYmFzZWxpbmUtLW92ZXJsYXktYmFja2dyb3VuZC1icmFuZCxyZ2JhKDIyNSwwLDQ1LC45KSk7b3BhY2l0eTouOTtkaXNwbGF5Om5vbmU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbDpub3QoW2RhdGEtaXMtbGl2ZT10cnVlXSkgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tbGl2ZXtkaXNwbGF5Om5vbmV9Lnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tZHVyYXRpb246ZW1wdHl7ZGlzcGxheTpub25lfS55dHAtbW9kZXJuLXZpZGVvd2FsbC1zdGlsbC1pbmZvLXRpdGxlOm5vdCg6ZW1wdHkpe2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2ZvbnQtc2l6ZToxNTAlO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI7bWF4LWhlaWdodDo0MHB4O292ZXJmbG93OmhpZGRlbn0ueXRwLWZ1bGxzY3JlZW4tZ3JpZC1hY3RpdmUgLnl0cC1tb2Rlcm4tdmlkZW93YWxsLXN0aWxsLWluZm8tdGl0bGUsLnl0cC1mdWxsc2NyZWVuLWdyaWQtcGVla2luZyAueXRwLW1vZGVybi12aWRlb3dhbGwtc3RpbGwtaW5mby10aXRsZXttYXgtaGVpZ2h0OnVuc2V0fS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY29udGVudHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4IDE2cHggMTZweDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtaW5wdXQtc2xpZGVyLXNlY3Rpb257LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjF9Lnl0cC1zcGVlZC1kaXNwbGF5LWNvbnRhaW5lcntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjttYXJnaW4tYm90dG9tOjI0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1kaXNwbGF5e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE4cHg7Zm9udC13ZWlnaHQ6OTAwO2xpbmUtaGVpZ2h0OjIycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDoxNnB4O21hcmdpbi1ib3R0b206MjRweH0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXNsaWRlci1jb250YWluZXIgLnl0cC1pbnB1dC1zbGlkZXJ7d2lkdGg6MTAwJX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWNoaXBze2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O2dhcDo4cHg7LXdlYmtpdC1ib3gtYWxpZ246c3RhcnQ7LXdlYmtpdC1hbGlnbi1pdGVtczpmbGV4LXN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Ym9yZGVyOm5vbmU7Y3Vyc29yOnBvaW50ZXI7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKTtjb2xvcjojZmZmO2hlaWdodDozMnB4O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTZweDstd2Via2l0LXRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjMpfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtY2hpcHMgLnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1idXR0b257Zm9udC1zaXplOjEycHg7d2lkdGg6NTNweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2dhcDo0cHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1zbGlkZXItY29udGFpbmVyIC55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtYnV0dG9ue2ZvbnQtc2l6ZToyNHB4O3dpZHRoOjMycHh9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1jb250ZW50IC55dHAtc3BlZWRzbGlkZXItaW5kaWNhdG9yLWNvbnRhaW5lcntkaXNwbGF5Om5vbmV9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLXdyYXBwZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0cC12YXJpYWJsZS1zcGVlZC1wYW5lbC1wcmVzZXQtYnV0dG9uLWxhYmVsLXRleHR7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTRweDttYXJnaW4tdG9wOjRweDtmb250LXdlaWdodDo0MDA7Y29sb3I6dmFyKC0teXQtc3lzLWNvbG9yLWJhc2VsaW5lLS1vdmVybGF5LXRleHQtc2Vjb25kYXJ5LHJnYmEoMjU1LDI1NSwyNTUsLjcpKX0ueXRwLXZhcmlhYmxlLXNwZWVkLXBhbmVsLXByZW1pdW0tdXBzZWxsLWljb257ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7d2lkdGg6MTRweDtoZWlnaHQ6MTRweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMDAlO21hcmdpbi1yaWdodDo4cHg7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MjRweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOQ0lnYUdWcFoyaDBQU0l5TkNJZ2RtbGxkMEp2ZUQwaUxUSWdMVElnTWpRZ01qUWlQanh3WVhSb0lHWnBiR3c5SWlOak1EQWlJR1E5SWswd0lERXVORE5ETUNBdU5qUXVOalFnTUNBeExqUXpJREJvTVRjdU1UTkRNVGt1TXpVZ01DQXlNQ0F1TmpRZ01qQWdNUzQwTTNZeE55NHhNMk13SUM0M09TMHVOalVnTVM0ME5DMHhMalEwSURFdU5EUklNUzQwTTBNdU5qUWdNakFnTUNBeE9TNHpOU0F3SURFNExqVTJXbTB3SURBaUx6NDhjR0YwYUNCbWFXeHNQU0lqWm1abUlpQmtQU0pOTnk0NE9DQXhNUzQwTW5ZMExqSTVTRFV1TXpkV015NDFNbWcwTGpjMVl5NDVNaUF3SURFdU56SXVNVGNnTWk0ME1pNDFMalk1TGpNMElERXVNakl1T0RFZ01TNDJJREV1TkRNdU16Y3VOakl1TlRZZ01TNHpNaTQxTmlBeUxqRXhJREFnTVM0eE9TMHVOREVnTWk0eE15MHhMakl5SURJdU9ESXRMamd5TGpZNUxURXVPVFVnTVM0d05DMHpMalFnTVM0d05GcHRNQzB5TGpBMGFESXVNalJqTGpZM0lEQWdNUzR4T0MwdU1UVWdNUzQxTWkwdU5EY3VNelV0TGpNeExqVXpMUzQzTlM0MU15MHhMak0wY3kwdU1UZ3RNUzR3TnkwdU5UTXRNUzQwTldNdExqTTFMUzR6TmkwdU9EUXRMalUxTFRFdU5EWXRMalUyYUMweUxqTmFiVEFnTUNJdlBqd3ZjM1puUGc9PSk7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGxpbmVhcix2aXNpYmlsaXR5IDBzIGxpbmVhciAuMXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4xcyBsaW5lYXIsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjFzfS55dHAtdmFyaWFibGUtc3BlZWQtcGFuZWwtcHJlbWl1bS1iYWRnZS12aXNpYmxle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjBzO3RyYW5zaXRpb24tZGVsYXk6MHN9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3Zlcnt2aXNpYmlsaXR5OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjIycHg7cGFkZGluZzoxMnB4IDEwcHg7bWFyZ2luLWJvdHRvbTowOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXl0LWZyb3N0ZWQtZ2xhc3MtYmFja2Ryb3AtZmlsdGVyLW92ZXJyaWRlLGJsdXIoMTZweCkpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS15dC1mcm9zdGVkLWdsYXNzLWJhY2tkcm9wLWZpbHRlci1vdmVycmlkZSxibHVyKDE2cHgpKTtiYWNrZ3JvdW5kOnZhcigtLXl0LXN5cy1jb2xvci1iYXNlbGluZS0tb3ZlcmxheS1iYWNrZ3JvdW5kLW1lZGl1bS1saWdodCxyZ2JhKDAsMCwwLC4zKSk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgc3Zney13ZWJraXQtZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpO2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbi1ib3R0b20gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO2JvdHRvbTp2YXIoLS15dC1kZWxoaS1waWxsLWhlaWdodCw0OHB4KX1Ac3VwcG9ydHMgKCgtd2Via2l0LXdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkgb3IgKHdyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybCkpey55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXItc2VjdGlvbi55dHAtdmVydGljYWwtc2xpZGVyIC55dHAtaW5wdXQtc2xpZGVye2hlaWdodDo5NnB4fX0ueXRwLWRlbGhpLW1vZGVybiAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXZvbHVtZS1wb3BvdmVyIC55dHAtaW5wdXQtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7Ym94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuOCk7bWFyZ2luLXJpZ2h0Oi01cHh9Lnl0cC1kZWxoaS1tb2Rlcm4gLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC12b2x1bWUtcG9wb3ZlciAueXRwLWlucHV0LXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tcy10aHVtYnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre3dpZHRoOjJweDstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpO2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2t7d2lkdGg6MnB4O2JveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjgpfS55dHAtZGVsaGktbW9kZXJuIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIgLnl0cC1pbnB1dC1zbGlkZXI6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXIueXRwLXZvbHVtZS1wb3BvdmVyLWhvdmVyaW5ne3Zpc2liaWxpdHk6dmlzaWJsZTttYXJnaW4tYm90dG9tOjhweDstd2Via2l0LXRyYW5zaXRpb246bWFyZ2luLWJvdHRvbSAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7dHJhbnNpdGlvbjptYXJnaW4tYm90dG9tIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRwLWRlbGhpLW1vZGVybi55dHAteHNtYWxsLXdpZHRoLW1vZGUgLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0Oi00cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktbW9kZXJuOm5vdCguc2Vla2luZy1tb2RlKSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLXN0YW5kYWxvbmUtbXV0ZS1idXR0b24gLnl0cC12b2x1bWUtcG9wb3ZlcntsZWZ0OjRweH0ueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1tb2Rlcm46bm90KC5zZWVraW5nLW1vZGUpIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXBvcG92ZXJ7Ym90dG9tOnZhcigtLXl0LWRlbGhpLWJpZy1tb2RlLXBpbGwtaGVpZ2h0LDU2cHgpfS55dHAtdm9sdW1lLXBhbmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOjB9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXBhbmVsey13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpLHdpZHRoIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7d2lkdGg6NTJweDttYXJnaW4tcmlnaHQ6M3B4Oy13ZWJraXQtdHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjptYXJnaW4gLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSksd2lkdGggLjJzIGN1YmljLWJlemllcigwLDAsLjIsMSl9Lnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scy55dHAtdm9sdW1lLXNsaWRlci1hY3RpdmUgLnl0cC12b2x1bWUtcGFuZWx7LXdlYmtpdC10cmFuc2l0aW9uOm1hcmdpbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksd2lkdGggLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246bWFyZ2luIC4ycyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSx3aWR0aCAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItYWN0aXZlIC55dHAtdm9sdW1lLXBhbmVse3dpZHRoOjc4cHg7bWFyZ2luLXJpZ2h0OjVweH0ueXRwLXByb2JhYmx5LWtleWJvYXJkLWZvY3VzIC55dHAtdm9sdW1lLXBhbmVsOmZvY3Vzey13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAycHggcmdiYSgyNywxMjcsMjA0LC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDI3LDEyNywyMDQsLjgpfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVye21pbi1oZWlnaHQ6NTRweH0ueXRwLXZvbHVtZS1zbGlkZXJ7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDtib3JkZXItcmFkaXVzOjZweDttYXJnaW4tdG9wOi02cHg7YmFja2dyb3VuZDojZmZmfS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZXstd2Via2l0LWZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMXB4IHJnYmEoMCwwLDAsLjgpKTtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxle3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7Ym9yZGVyLXJhZGl1czo5cHg7bWFyZ2luLXRvcDotOXB4fS55dHAtYmlnLW1vZGUueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGV7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW4tdG9wOi02cHg7Ym9yZGVyLXJhZGl1czo2cHg7LXdlYmtpdC1maWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSk7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3RvcDo1MCU7bGVmdDowO2hlaWdodDozcHg7bWFyZ2luLXRvcDotMnB4O3dpZHRoOjY0cHh9Lnl0cC1iaWctbW9kZS55dHAtZGVsaGktaG9yaXpvbnRhbC12b2x1bWUtY29udHJvbHMgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTphZnRlciwueXRwLWJpZy1tb2RlLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZSwueXRwLWRlbGhpLWhvcml6b250YWwtdm9sdW1lLWNvbnRyb2xzIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1kZWxoaS1ob3Jpem9udGFsLXZvbHVtZS1jb250cm9scyAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6MnB4O21hcmdpbi10b3A6LTFweH0ueXRwLWJpZy1tb2RlIC55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YWZ0ZXIsLnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmJlZm9yZXtoZWlnaHQ6NHB4O21hcmdpbi10b3A6LTJweDt3aWR0aDo5NnB4fS55dHAtdm9sdW1lLXNsaWRlci1oYW5kbGU6YmVmb3Jle2xlZnQ6LTU4cHg7YmFja2dyb3VuZDojZmZmfS55dHAtYmlnLW1vZGUgLnl0cC12b2x1bWUtc2xpZGVyLWhhbmRsZTpiZWZvcmV7bGVmdDotODdweH0ueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6NnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC1iaWctbW9kZSAueXRwLXZvbHVtZS1zbGlkZXItaGFuZGxlOmFmdGVye2xlZnQ6OXB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMil9Lnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MWVtfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b257Ym9yZGVyLXJhZGl1czoyOHB4O2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Zm9udDo1MDAgMTZweC8xNnB4IFlvdVR1YmUgTm90byxSb2JvdG8sQXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC40cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dHAtY29udGludWUtd2F0Y2hpbmctYnV0dG9uLnl0cC13YXRjaC1vbi15b3V0dWJlLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lnl0cC1jb250aW51ZS13YXRjaGluZy1idXR0b24ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U1ZTVlNTtjb2xvcjojMGYwZjBmfS55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZX0ueXRwLWNvbnRpbnVlLXdhdGNoaW5nLWJ1dHRvbi55dHAtd2F0Y2gtb24teW91dHViZS1idXR0b246Zm9jdXN7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBmMGYwZn0ueXRwLXdhdGNoLW9uLXlvdXR1YmUtYnV0dG9uOmFjdGl2ZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguOTQpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjk0KTt0cmFuc2Zvcm06c2NhbGUoLjk0KTstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguMDUsMCwwLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSwtd2Via2l0LXRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9LndhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS53YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbnstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lcnt3aWR0aDoxMDAlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1hZ2Fpbi1vbi15b3V0dWJlLWVuZHNjcmVlbi1tb3JlLXZpZGVvcy1jb250YWluZXIgLnl0cC1tb3JlLXZpZGVvcy12aWV3e2JvdHRvbTp1bnNldH0ueXRwLXdhdGNoLWFnYWluLW9uLXlvdXR1YmUtZW5kc2NyZWVuLW1vcmUtdmlkZW9zLWNvbnRhaW5lciAueXRwLW1vcmUtdmlkZW9zLXZpZXd7Ym9yZGVyLXJhZGl1czoycHg7ZGlyZWN0aW9uOmx0cjttYXJnaW46MTJweDtiYWNrZ3JvdW5kOnJnYmEoMjMsMjMsMjMsLjkpO3BhZGRpbmc6MTJweCAxNnB4IDE2cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlLnl0cC13YXRjaC1sYXRlci1idXR0b257bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtc2hvdy13YXRjaC1sYXRlci10aXRsZS55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21hcmdpbi1sZWZ0OjIwcHg7bWFyZ2luLXJpZ2h0OjIwcHh9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci1idXR0b24sLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99Lmh0bWw1LXZpZGVvLXBsYXllcjpub3QoLnl0cC1iaWctbW9kZSkgLnl0cC1jaHJvbWUtdG9wIC55dHAtd2F0Y2gtbGF0ZXItYnV0dG9ue21pbi13aWR0aDo0OHB4O21heC13aWR0aDo4MHB4fS55dHAtd2F0Y2gtbGF0ZXItaWNvbnttYXJnaW46YXV0bzt3aWR0aDozNnB4O2hlaWdodDozNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29ue3dpZHRoOjU0cHg7aGVpZ2h0OjU0cHh9Lnl0cC1vdmVyZmxvdy1wYW5lbCAueXRwLXdhdGNoLWxhdGVyLWljb257d2lkdGg6NjBweDtoZWlnaHQ6NjBweDttYXJnaW4tYm90dG9tOjEwcHh9Lnl0cC13YXRjaC1sYXRlci10aXRsZXtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE0cHg7ZGlzcGxheTpub25lfS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci10aXRsZSwueXRwLW92ZXJmbG93LXBhbmVsIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7Zm9udC1zaXplOjIwcHh9Lnl0cC1zaG93LXdhdGNoLWxhdGVyLXRpdGxlIC55dHAtd2F0Y2gtbGF0ZXItdGl0bGV7ZGlzcGxheTpibG9ja30uaHRtbDUtdmlkZW8tcGxheWVyOm5vdCgueXRwLWJpZy1tb2RlKSAueXRwLWNocm9tZS10b3AgLnl0cC13YXRjaC1sYXRlci10aXRsZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNvbnRhaW5lcnt3aWR0aDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7bWFyZ2luLXRvcDotMTBweDttYXJnaW4tbGVmdDotMTBweH0ueXRwLWJpZy1tb2RlIC55dHAtd2F0Y2gtbGF0ZXItaWNvbiAueXRwLXNwaW5uZXItY29udGFpbmVye3dpZHRoOjM1cHg7cGFkZGluZy1ib3R0b206MzVweDttYXJnaW4tdG9wOi0xNy41cHg7bWFyZ2luLWxlZnQ6LTE3LjVweH0ueXRwLXdhdGNoLWxhdGVyLWljb24gLnl0cC1zcGlubmVyLWNpcmNsZXtib3JkZXItd2lkdGg6M3B4fS55dHAtYmlnLW1vZGUgLnl0cC13YXRjaC1sYXRlci1pY29uIC55dHAtc3Bpbm5lci1jaXJjbGV7Ym9yZGVyLXdpZHRoOjVweH0ud2ViZ2x7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjExO3dpZHRoOjEwMCV9LmVuZGVkLW1vZGUgLndlYmdse2Rpc3BsYXk6bm9uZX0ueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLWVtYmVkLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbiwueXRwLXNtYWxsLW1vZGUgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9ue3dpZHRoOjY3cHh9Lnl0cC1lbWJlZCAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue3dpZHRoOjEyMHB4fS55dHAtZW1iZWQgLnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLnl0cC15b3V0dWJlLW11c2ljLWJ1dHRvbiBzdmd7bWFyZ2luLWxlZnQ6LTI1cHg7aGVpZ2h0OjI0cHh9Lnl0cC1jaHJvbWUtY29udHJvbHMgLnl0cC1idXR0b24ueXRwLXlvdXR1YmUtYnV0dG9uLm5vLWxpbmssLnl0cC1zbWFsbC1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbi5uby1saW5re2N1cnNvcjpkZWZhdWx0O3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0cC1iaWctbW9kZSAueXRwLWNocm9tZS1jb250cm9scyAueXRwLWJ1dHRvbi55dHAteW91dHViZS1idXR0b24sLnl0cC1kbmkueXRwLWJpZy1tb2RlIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAtYnV0dG9uLnl0cC15b3V0dWJlLWJ1dHRvbnt3aWR0aDoxMDBweH0ueXRwLWVtYmVkIC55dHAtY2hyb21lLWNvbnRyb2xzIC55dHAteW91dHViZS1idXR0b24ueXRwLXlvdXR1YmUtbXVzaWMtYnV0dG9ue2hlaWdodDoyNXB4O21hcmdpbi1ib3R0b206N3B4fS55dHAtZHJhd2Vye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7d2lkdGg6MzUwcHg7dGV4dC1hbGlnbjpjZW50ZXI7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6NDc7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOndpZHRoIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2Vye3dpZHRoOjQyNXB4fS55dHAtZHJhd2VyLWNsb3NlZHt3aWR0aDoyNXB4fS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2Vke3dpZHRoOjM4cHh9Lnl0cC1kcmF3ZXItY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MzUwcHg7aGVpZ2h0OjEwMCU7cGFkZGluZzo0OHB4IDI1cHggMjVweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLWNvbnRlbnR7d2lkdGg6NDI1cHg7cGFkZGluZzo3MHB4IDE1cHggMTVweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItY29udGVudHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzIGN1YmljLWJlemllciguNCwwLDEsMSl9Lnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjVweDtmaWxsOndoaXRlfS55dHAtYmlnLW1vZGUgLnl0cC1kcmF3ZXItY2xvc2UtYnV0dG9ue3dpZHRoOjM2cHg7aGVpZ2h0OjM2cHg7cGFkZGluZzo3cHh9Lnl0cC1kcmF3ZXItY2xvc2VkIC55dHAtZHJhd2VyLWNsb3NlLWJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDowO3dpZHRoOjE1cHg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDotMTZweDtwYWRkaW5nOjEwcHggNXB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNyl9Lnl0cC1iaWctbW9kZSAueXRwLWRyYXdlci1vcGVuLWJ1dHRvbnt3aWR0aDoyM3B4O2hlaWdodDo0OHB4O21hcmdpbi10b3A6LTI0cHg7cGFkZGluZzoxNXB4IDhweH0ueXRwLWRyYXdlci1jbG9zZWQgLnl0cC1kcmF3ZXItb3Blbi1idXR0b257ZGlzcGxheTpibG9ja30ueXRwLWRyYXdlci1vcGVuLWJ1dHRvbjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXI6NXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodC1jb2xvcjojYWFhO2JvcmRlci1sZWZ0Om5vbmU7Y29udGVudDoiIn0ueXRwLWJpZy1tb2RlIC55dHAtZHJhd2VyLW9wZW4tYnV0dG9uOmFmdGVye2JvcmRlci1ib3R0b20td2lkdGg6OHB4O2JvcmRlci1yaWdodC13aWR0aDo4cHg7Ym9yZGVyLXRvcC13aWR0aDo4cHh9Lmh0bWw1LXlwYy1tb2R1bGV7bGluZS1oZWlnaHQ6MS4yO3RleHQtYWxpZ246bGVmdH0uaHRtbDUteXBjLWFjdGlvbi1oZWFkaW5ne21hcmdpbi1ib3R0b206NXB4O2ZvbnQtc2l6ZToxOHB4O2NvbG9yOiM5OTl9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtYWN0aW9uLWhlYWRpbmd7ZGlzcGxheTpub25lfS5odG1sNS15cGMtdGl0bGV7Zm9udC1zaXplOjIwcHh9Lmh0bWw1LXlwYy10aHVtYm5haWx7ZmxvYXQ6bGVmdH0uaHRtbDUteXBjLXRodW1ibmFpbCBpbWd7d2lkdGg6MTAwcHg7bWFyZ2luOjAgMTBweCAxMHB4IDB9Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmF2YXRhcntib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lmh0bWw1LXlwYy10aHVtYm5haWwgaW1nLmxhbmRzY2FwZXt3aWR0aDoxNjBweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy10aHVtYm5haWwgaW1ne3dpZHRoOjUwcHh9Lnl0cC1zbWFsbC1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6ODBweH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZ3t3aWR0aDoxNTBweDttYXJnaW46MCAxNXB4IDE4cHggMH0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtdGh1bWJuYWlsIGltZy5sYW5kc2NhcGV7d2lkdGg6MjQwcHh9Lmh0bWw1LXlwYy1kZXNjcmlwdGlvbntmb250LXNpemU6MTRweH0ueXRwLXNtYWxsLW1vZGUgLmh0bWw1LXlwYy1kZXNjcmlwdGlvbnttYXJnaW4tdG9wOjEwcHh9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLWRlc2NyaXB0aW9ue21hcmdpbi10b3A6MzhweH0uaHRtbDUteXBjLXB1cmNoYXNle2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDttYXJnaW46MTJweCAwO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6MnB4O2JhY2tncm91bmQ6IzI3OTNlNn0ueXRwLWJpZy1tb2RlIC5odG1sNS15cGMtcHVyY2hhc2V7bWFyZ2luOjE4cHggMDtwYWRkaW5nOjE1cHggMjBweDtib3JkZXItcmFkaXVzOjNweH0uaHRtbDUteXBjLXB1cmNoYXNlOmhvdmVye2JhY2tncm91bmQ6IzEyNmRiM30uaHRtbDUteXBjLXB1cmNoYXNlLmh0bWw1LXlwYy1yb3VuZGVke2JvcmRlci1yYWRpdXM6MThweH0uaHRtbDUteXBjLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2Njtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC1iaWctbW9kZSAuaHRtbDUteXBjLW92ZXJsYXl7cGFkZGluZzo4cHg7bWFyZ2luLWxlZnQ6MjRweH0uaHRtbDUteXBjLWVuZHNjcmVlbntkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7cGFkZGluZzo1MXB4IDIxcHggMjFweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjc1KTt6LWluZGV4OjM2fS55dHAtc21hbGwtbW9kZSAuaHRtbDUteXBjLWVuZHNjcmVlbntwYWRkaW5nLXRvcDoyMXB4fS55dHAteXBjLWNsaWNrd3JhcC1vdmVybGF5e3BhZGRpbmc6MjVweCAyMHB4IDA7ei1pbmRleDo2OX0ueXRwLXlwYy1jbGlja3dyYXAtaGVhZGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkICM4ODg7cGFkZGluZzowIDAgMTVweCA1cHg7Zm9udC1zaXplOjE4MiU7Zm9udC13ZWlnaHQ6NDAwfS55dHAteXBjLWNsaWNrd3JhcC1kZXNjcmlwdGlvbnttYXJnaW46MTVweCAwIDAgNXB4O2ZvbnQtc2l6ZToxMjclfS55dHAteXBjLWNsaWNrd3JhcC1jb25maXJte21hcmdpbjoyMHB4IDAgMCA1cHg7cGFkZGluZzo3cHggMTBweDtiYWNrZ3JvdW5kLWNvbG9yOiMzN2Q7Ym9yZGVyLXJhZGl1czoycHh9Lnl0cC15cGMtY2xpY2t3cmFwLWNvbmZpcm06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjZjfS55dHAteXRvLXByZXJvbGwtbWVzc2FnZXtkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cGFkZGluZzo1cHg7bWFyZ2luLWxlZnQ6MTJweDtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDo2NTtwb2ludGVyLWV2ZW50czpub25lO3RleHQtc2hhZG93OjAgMCAycHggcmdiYSgwLDAsMCwuNSl9Lnl0cC15dG8tcHJlcm9sbCAueXRwLXl0by1wcmVyb2xsLW1lc3NhZ2V7ZGlzcGxheTpibG9ja31zZW50aW5lbHt9"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/5426.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.168Z","timestamp":1785129950168,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/5426.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 3759\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Thu, 25 Jan 2024 08:50:23 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:08:27 GMT\r\ncache-control: public, max-age=86400\r\netag: \"8634cee42b68c501da8d76beee00bf86\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 4644\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: AqRdZptPO9DpLGbqw1II_GtaMRfB9tnMV7mmRodhBGythM6rulro9A==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":3759,"size_decoded":4330,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"8634cee42b68c501da8d76beee00bf86","sha1":"346a50344174ec7c53cdd48080a55f7cd3a7c164","sha256":"890b9f9ed3f5ab8390b86f93b5b8ba0c2d5d50a5dc21668734b3537bc3a65f53","sha512":"405e62a3f1c24476041f90ddb5e50801693578a1b3e108919edcde05bb429bad77fc60b0096adbaa9a2704835ebd7dc165720ad0a14ada9498b3234d361ef259","ssdeep":"","tlshash":"fa715be58e8349f8b5ce461d652892f55cc24943d9f987101ee467921800a82f0a90e2","first_seen":"2024-01-31T18:12:49Z","last_seen":"2026-08-15T04:03:51.147698Z","times_seen":3412,"resource_available":false,"data":"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"}},"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":"coinlib.io/_next/static/chunks/d71b99267b066b9b.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.489Z","timestamp":1785129949489,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/d71b99267b066b9b.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 2258565\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"d71b99267b066b9b.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"8ab91e90961bd7e4d7c2d7514a37ecf6\"\r\nlast-modified: Mon, 25 May 2026 18:12:21 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/d71b99267b066b9b.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::z8pn9-1779843301298-e28dad7012c9\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=0i06Z6b6XqAqvptAl%2FxUVDxtybJYULsfIbhaBW3v%2FU5EsIPLh8UmWn8B6SXUKS%2FPvaXOONBfaucs9yt%2B%2BHBKugEOsYeqsT%2FXdY4mSPVE62KFhxMug9ucXSviTybv\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c85d2ba0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":27443,"size_decoded":11053,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (27443), with no line terminators","md5":"8ab91e90961bd7e4d7c2d7514a37ecf6","sha1":"d2e2405837d8cd1436dae22a0c5d7f4e15168995","sha256":"6e16504cbe3f76082798a523cf9cdce3bc9321fefc36485d02c9289e5a5f6b38","sha512":"da24ae4884840b4b996fdd087c41065e590b5cf33046f6aec00157142b53b9da067a83af2cc7744429b64c02bbfb1aef428787389939a1736cb4ad1f0458ee69","ssdeep":"384:AqniNMH/fZ8oNS1VFWHcE+Ff8IiUG6AUNmXVOmitisz8Xdjz8/K4QIwATf:YO58o0fG65mXVOOKKNInf","tlshash":"bec2c725b90705be2aee83e7e06cabd5d9385a02d5098b4ce3978f319704bf56187b0d","first_seen":"2026-04-30T18:36:20.827898Z","last_seen":"2026-08-15T07:58:28.174254Z","times_seen":2176,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc1MTU3LDcyODQsZT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7Zm9yKHZhciBlLHIsbz0wLHQ9IiIsbD1hcmd1bWVudHMubGVuZ3RoO288bDtvKyspKGU9YXJndW1lbnRzW29dKSYmKHI9ZnVuY3Rpb24gZShyKXt2YXIgbyx0LGw9IiI7aWYoInN0cmluZyI9PXR5cGVvZiByfHwibnVtYmVyIj09dHlwZW9mIHIpbCs9cjtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgcilpZihBcnJheS5pc0FycmF5KHIpKXt2YXIgbj1yLmxlbmd0aDtmb3Iobz0wO288bjtvKyspcltvXSYmKHQ9ZShyW29dKSkmJihsJiYobCs9IiAiKSxsKz10KX1lbHNlIGZvcih0IGluIHIpclt0XSYmKGwmJihsKz0iICIpLGwrPXQpO3JldHVybiBsfShlKSkmJih0JiYodCs9IiAiKSx0Kz1yKTtyZXR1cm4gdH1lLnMoWyJjbHN4IiwoKT0+cl0sNzI4NCk7bGV0IG89KGU9bmV3IE1hcCxyPW51bGwsbyk9Pih7bmV4dFBhcnQ6ZSx2YWxpZGF0b3JzOnIsY2xhc3NHcm91cElkOm99KSx0PVtdLGw9KGUscixvKT0+e2lmKDA9PWUubGVuZ3RoLXIpcmV0dXJuIG8uY2xhc3NHcm91cElkO2xldCB0PWVbcl0sbj1vLm5leHRQYXJ0LmdldCh0KTtpZihuKXtsZXQgbz1sKGUscisxLG4pO2lmKG8pcmV0dXJuIG99bGV0IGE9by52YWxpZGF0b3JzO2lmKG51bGw9PT1hKXJldHVybjtsZXQgcz0wPT09cj9lLmpvaW4oIi0iKTplLnNsaWNlKHIpLmpvaW4oIi0iKSxpPWEubGVuZ3RoO2ZvcihsZXQgZT0wO2U8aTtlKyspe2xldCByPWFbZV07aWYoci52YWxpZGF0b3IocykpcmV0dXJuIHIuY2xhc3NHcm91cElkfX0sbj0oZSxyKT0+e2xldCB0PW8oKTtmb3IobGV0IG8gaW4gZSlhKGVbb10sdCxvLHIpO3JldHVybiB0fSxhPShlLHIsbyx0KT0+e2xldCBsPWUubGVuZ3RoO2ZvcihsZXQgbj0wO248bDtuKyspcyhlW25dLHIsbyx0KX0scz0oZSxyLG8sdCk9Pnsic3RyaW5nIj09dHlwZW9mIGU/aShlLHIsbyk6ImZ1bmN0aW9uIj09dHlwZW9mIGU/YyhlLHIsbyx0KTpkKGUscixvLHQpfSxpPShlLHIsbyk9PnsoIiI9PT1lP3I6bShyLGUpKS5jbGFzc0dyb3VwSWQ9b30sYz0oZSxyLG8sdCk9PntwKGUpP2EoZSh0KSxyLG8sdCk6KG51bGw9PT1yLnZhbGlkYXRvcnMmJihyLnZhbGlkYXRvcnM9W10pLHIudmFsaWRhdG9ycy5wdXNoKHtjbGFzc0dyb3VwSWQ6byx2YWxpZGF0b3I6ZX0pKX0sZD0oZSxyLG8sdCk9PntsZXQgbD1PYmplY3QuZW50cmllcyhlKSxuPWwubGVuZ3RoO2ZvcihsZXQgZT0wO2U8bjtlKyspe2xldFtuLHNdPWxbZV07YShzLG0ocixuKSxvLHQpfX0sbT0oZSxyKT0+e2xldCB0PWUsbD1yLnNwbGl0KCItIiksbj1sLmxlbmd0aDtmb3IobGV0IGU9MDtlPG47ZSsrKXtsZXQgcj1sW2VdLG49dC5uZXh0UGFydC5nZXQocik7bnx8KG49bygpLHQubmV4dFBhcnQuc2V0KHIsbikpLHQ9bn1yZXR1cm4gdH0scD1lPT4iaXNUaGVtZUdldHRlciJpbiBlJiYhMD09PWUuaXNUaGVtZUdldHRlcixiPVtdLHU9KGUscixvLHQsbCk9Pih7bW9kaWZpZXJzOmUsaGFzSW1wb3J0YW50TW9kaWZpZXI6cixiYXNlQ2xhc3NOYW1lOm8sbWF5YmVQb3N0Zml4TW9kaWZpZXJQb3NpdGlvbjp0LGlzRXh0ZXJuYWw6bH0pLGY9L1xzKy8sZz1lPT57bGV0IHI7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2xldCBvPSIiO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0mJihyPWcoZVt0XSkpJiYobyYmKG8rPSIgIiksbys9cik7cmV0dXJuIG99LGg9W10saz1lPT57bGV0IHI9cj0+cltlXXx8aDtyZXR1cm4gci5pc1RoZW1lR2V0dGVyPSEwLHJ9LHc9L15cWyg/Oihcd1tcdy1dKik6KT8oLispXF0kL2kseD0vXlwoKD86KFx3W1x3LV0qKTopPyguKylcKSQvaSx5PS9eXGQrKD86XC5cZCspP1wvXGQrKD86XC5cZCspPyQvLHY9L14oXGQrKFwuXGQrKT8pPyh4c3xzbXxtZHxsZ3x4bCkkLyx6PS9cZCsoJXxweHxyP2VtfFtzZGxdP3YoW2h3aWJdfG1pbnxtYXgpfHB0fHBjfGlufGNtfG1tfGNhcHxjaHxleHxyP2xofGNxKHd8aHxpfGJ8bWlufG1heCkpfFxiKGNhbGN8bWlufG1heHxjbGFtcClcKC4rXCl8XjAkLyxqPS9eKHJnYmE/fGhzbGE/fGh3Ynwob2spPyhsYWJ8bGNoKXxjb2xvci1taXgpXCguK1wpJC8sQz0vXihpbnNldF8pPy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApXy0/KChcZCspP1wuPyhcZCspW2Etel0rfDApLyxHPS9eKHVybHxpbWFnZXxpbWFnZS1zZXR8Y3Jvc3MtZmFkZXxlbGVtZW50fChyZXBlYXRpbmctKT8obGluZWFyfHJhZGlhbHxjb25pYyktZ3JhZGllbnQpXCguK1wpJC8sTj1lPT55LnRlc3QoZSksST1lPT4hIWUmJiFOdW1iZXIuaXNOYU4oTnVtYmVyKGUpKSxVPWU9PiEhZSYmTnVtYmVyLmlzSW50ZWdlcihOdW1iZXIoZSkpLCQ9ZT0+ZS5lbmRzV2l0aCgiJSIpJiZJKGUuc2xpY2UoMCwtMSkpLE89ZT0+di50ZXN0KGUpLFM9KCk9PiEwLFc9ZT0+ei50ZXN0KGUpJiYhai50ZXN0KGUpLEY9KCk9PiExLFA9ZT0+Qy50ZXN0KGUpLFQ9ZT0+Ry50ZXN0KGUpLE09ZT0+IVIoZSkmJiFIKGUpLEE9ZT0+ZXIoZSxlbixGKSxSPWU9PncudGVzdChlKSxEPWU9PmVyKGUsZWEsVykscT1lPT5lcihlLGVzLEkpLEI9ZT0+ZXIoZSxlYyxTKSxFPWU9PmVyKGUsZWksRiksSz1lPT5lcihlLGV0LEYpLF89ZT0+ZXIoZSxlbCxUKSxMPWU9PmVyKGUsZWQsUCksSD1lPT54LnRlc3QoZSksSj1lPT5lbyhlLGVhKSxRPWU9PmVvKGUsZWkpLFY9ZT0+ZW8oZSxldCksWD1lPT5lbyhlLGVuKSxZPWU9PmVvKGUsZWwpLFo9ZT0+ZW8oZSxlZCwhMCksZWU9ZT0+ZW8oZSxlYywhMCksZXI9KGUscixvKT0+e2xldCB0PXcuZXhlYyhlKTtyZXR1cm4hIXQmJih0WzFdP3IodFsxXSk6byh0WzJdKSl9LGVvPShlLHIsbz0hMSk9PntsZXQgdD14LmV4ZWMoZSk7cmV0dXJuISF0JiYodFsxXT9yKHRbMV0pOm8pfSxldD1lPT4icG9zaXRpb24iPT09ZXx8InBlcmNlbnRhZ2UiPT09ZSxlbD1lPT4iaW1hZ2UiPT09ZXx8InVybCI9PT1lLGVuPWU9PiJsZW5ndGgiPT09ZXx8InNpemUiPT09ZXx8ImJnLXNpemUiPT09ZSxlYT1lPT4ibGVuZ3RoIj09PWUsZXM9ZT0+Im51bWJlciI9PT1lLGVpPWU9PiJmYW1pbHktbmFtZSI9PT1lLGVjPWU9PiJudW1iZXIiPT09ZXx8IndlaWdodCI9PT1lLGVkPWU9PiJzaGFkb3ciPT09ZSxlbT0oKGUsLi4ucik9PntsZXQgbyxhLHMsaSxjPWU9PntsZXQgcj1hKGUpO2lmKHIpcmV0dXJuIHI7bGV0IHQ9KChlLHIpPT57bGV0e3BhcnNlQ2xhc3NOYW1lOm8sZ2V0Q2xhc3NHcm91cElkOnQsZ2V0Q29uZmxpY3RpbmdDbGFzc0dyb3VwSWRzOmwsc29ydE1vZGlmaWVyczpufT1yLGE9W10scz1lLnRyaW0oKS5zcGxpdChmKSxpPSIiO2ZvcihsZXQgZT1zLmxlbmd0aC0xO2U+PTA7ZS09MSl7bGV0IHI9c1tlXSx7aXNFeHRlcm5hbDpjLG1vZGlmaWVyczpkLGhhc0ltcG9ydGFudE1vZGlmaWVyOm0sYmFzZUNsYXNzTmFtZTpwLG1heWJlUG9zdGZpeE1vZGlmaWVyUG9zaXRpb246Yn09byhyKTtpZihjKXtpPXIrKGkubGVuZ3RoPjA/IiAiK2k6aSk7Y29udGludWV9bGV0IHU9ISFiLGY9dCh1P3Auc3Vic3RyaW5nKDAsYik6cCk7aWYoIWYpe2lmKCF1fHwhKGY9dChwKSkpe2k9cisoaS5sZW5ndGg+MD8iICIraTppKTtjb250aW51ZX11PSExfWxldCBnPTA9PT1kLmxlbmd0aD8iIjoxPT09ZC5sZW5ndGg/ZFswXTpuKGQpLmpvaW4oIjoiKSxoPW0/ZysiISI6ZyxrPWgrZjtpZihhLmluZGV4T2Yoayk+LTEpY29udGludWU7YS5wdXNoKGspO2xldCB3PWwoZix1KTtmb3IobGV0IGU9MDtlPHcubGVuZ3RoOysrZSl7bGV0IHI9d1tlXTthLnB1c2goaCtyKX1pPXIrKGkubGVuZ3RoPjA/IiAiK2k6aSl9cmV0dXJuIGl9KShlLG8pO3JldHVybiBzKGUsdCksdH07cmV0dXJuIGk9ZD0+e3ZhciBtO2xldCBwO3JldHVybiBhPShvPXtjYWNoZTooZT0+e2lmKGU8MSlyZXR1cm57Z2V0OigpPT52b2lkIDAsc2V0OigpPT57fX07bGV0IHI9MCxvPU9iamVjdC5jcmVhdGUobnVsbCksdD1PYmplY3QuY3JlYXRlKG51bGwpLGw9KGwsbik9PntvW2xdPW4sKytyPmUmJihyPTAsdD1vLG89T2JqZWN0LmNyZWF0ZShudWxsKSl9O3JldHVybntnZXQoZSl7bGV0IHI9b1tlXTtyZXR1cm4gdm9pZCAwIT09cj9yOnZvaWQgMCE9PShyPXRbZV0pPyhsKGUscikscik6dm9pZCAwfSxzZXQoZSxyKXtlIGluIG8/b1tlXT1yOmwoZSxyKX19fSkoKG09ci5yZWR1Y2UoKGUscik9PnIoZSksZSgpKSkuY2FjaGVTaXplKSxwYXJzZUNsYXNzTmFtZTooZT0+e2xldHtwcmVmaXg6cixleHBlcmltZW50YWxQYXJzZUNsYXNzTmFtZTpvfT1lLHQ9ZT0+e2xldCByLG89W10sdD0wLGw9MCxuPTAsYT1lLmxlbmd0aDtmb3IobGV0IHM9MDtzPGE7cysrKXtsZXQgYT1lW3NdO2lmKDA9PT10JiYwPT09bCl7aWYoIjoiPT09YSl7by5wdXNoKGUuc2xpY2UobixzKSksbj1zKzE7Y29udGludWV9aWYoIi8iPT09YSl7cj1zO2NvbnRpbnVlfX0iWyI9PT1hP3QrKzoiXSI9PT1hP3QtLToiKCI9PT1hP2wrKzoiKSI9PT1hJiZsLS19bGV0IHM9MD09PW8ubGVuZ3RoP2U6ZS5zbGljZShuKSxpPXMsYz0hMTtyZXR1cm4gcy5lbmRzV2l0aCgiISIpPyhpPXMuc2xpY2UoMCwtMSksYz0hMCk6cy5zdGFydHNXaXRoKCIhIikmJihpPXMuc2xpY2UoMSksYz0hMCksdShvLGMsaSxyJiZyPm4/ci1uOnZvaWQgMCl9O2lmKHIpe2xldCBlPXIrIjoiLG89dDt0PXI9PnIuc3RhcnRzV2l0aChlKT9vKHIuc2xpY2UoZS5sZW5ndGgpKTp1KGIsITEscix2b2lkIDAsITApfWlmKG8pe2xldCBlPXQ7dD1yPT5vKHtjbGFzc05hbWU6cixwYXJzZUNsYXNzTmFtZTplfSl9cmV0dXJuIHR9KShtKSxzb3J0TW9kaWZpZXJzOihwPW5ldyBNYXAsbS5vcmRlclNlbnNpdGl2ZU1vZGlmaWVycy5mb3JFYWNoKChlLHIpPT57cC5zZXQoZSwxZTYrcil9KSxlPT57bGV0IHI9W10sbz1bXTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKyl7bGV0IGw9ZVt0XSxuPSJbIj09PWxbMF0sYT1wLmhhcyhsKTtufHxhPyhvLmxlbmd0aD4wJiYoby5zb3J0KCksci5wdXNoKC4uLm8pLG89W10pLHIucHVzaChsKSk6by5wdXNoKGwpfXJldHVybiBvLmxlbmd0aD4wJiYoby5zb3J0KCksci5wdXNoKC4uLm8pKSxyfSksLi4uKGU9PntsZXQgcj0oZT0+e2xldHt0aGVtZTpyLGNsYXNzR3JvdXBzOm99PWU7cmV0dXJuIG4obyxyKX0pKGUpLHtjb25mbGljdGluZ0NsYXNzR3JvdXBzOm8sY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOmF9PWU7cmV0dXJue2dldENsYXNzR3JvdXBJZDplPT57aWYoZS5zdGFydHNXaXRoKCJbIikmJmUuZW5kc1dpdGgoIl0iKSl7dmFyIG87bGV0IHIsdCxsO3JldHVybiAtMT09PShvPWUpLnNsaWNlKDEsLTEpLmluZGV4T2YoIjoiKT92b2lkIDA6KHQ9KHI9by5zbGljZSgxLC0xKSkuaW5kZXhPZigiOiIpLChsPXIuc2xpY2UoMCx0KSk/ImFyYml0cmFyeS4uIitsOnZvaWQgMCl9bGV0IHQ9ZS5zcGxpdCgiLSIpLG49KygiIj09PXRbMF0mJnQubGVuZ3RoPjEpO3JldHVybiBsKHQsbixyKX0sZ2V0Q29uZmxpY3RpbmdDbGFzc0dyb3VwSWRzOihlLHIpPT57aWYocil7bGV0IHI9YVtlXSxsPW9bZV07aWYocil7aWYobCl7bGV0IGU9QXJyYXkobC5sZW5ndGgrci5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8bC5sZW5ndGg7cisrKWVbcl09bFtyXTtmb3IobGV0IG89MDtvPHIubGVuZ3RoO28rKyllW2wubGVuZ3RoK29dPXJbb107cmV0dXJuIGV9cmV0dXJuIHJ9cmV0dXJuIGx8fHR9cmV0dXJuIG9bZV18fHR9fX0pKG0pfSkuY2FjaGUuZ2V0LHM9by5jYWNoZS5zZXQsaT1jLGMoZCl9LCguLi5lKT0+aSgoKC4uLmUpPT57bGV0IHIsbyx0PTAsbD0iIjtmb3IoO3Q8ZS5sZW5ndGg7KShyPWVbdCsrXSkmJihvPWcocikpJiYobCYmKGwrPSIgIiksbCs9byk7cmV0dXJuIGx9KSguLi5lKSl9KSgoKT0+e2xldCBlPWsoImNvbG9yIikscj1rKCJmb250Iiksbz1rKCJ0ZXh0IiksdD1rKCJmb250LXdlaWdodCIpLGw9aygidHJhY2tpbmciKSxuPWsoImxlYWRpbmciKSxhPWsoImJyZWFrcG9pbnQiKSxzPWsoImNvbnRhaW5lciIpLGk9aygic3BhY2luZyIpLGM9aygicmFkaXVzIiksZD1rKCJzaGFkb3ciKSxtPWsoImluc2V0LXNoYWRvdyIpLHA9aygidGV4dC1zaGFkb3ciKSxiPWsoImRyb3Atc2hhZG93IiksdT1rKCJibHVyIiksZj1rKCJwZXJzcGVjdGl2ZSIpLGc9aygiYXNwZWN0IiksaD1rKCJlYXNlIiksdz1rKCJhbmltYXRlIikseD0oKT0+WyJhdXRvIiwiYXZvaWQiLCJhbGwiLCJhdm9pZC1wYWdlIiwicGFnZSIsImxlZnQiLCJyaWdodCIsImNvbHVtbiJdLHk9KCk9PlsiY2VudGVyIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwidG9wLWxlZnQiLCJsZWZ0LXRvcCIsInRvcC1yaWdodCIsInJpZ2h0LXRvcCIsImJvdHRvbS1yaWdodCIsInJpZ2h0LWJvdHRvbSIsImJvdHRvbS1sZWZ0IiwibGVmdC1ib3R0b20iXSx2PSgpPT5bLi4ueSgpLEgsUl0sej0oKT0+WyJhdXRvIiwiaGlkZGVuIiwiY2xpcCIsInZpc2libGUiLCJzY3JvbGwiXSxqPSgpPT5bImF1dG8iLCJjb250YWluIiwibm9uZSJdLEM9KCk9PltILFIsaV0sRz0oKT0+W04sImZ1bGwiLCJhdXRvIiwuLi5DKCldLFc9KCk9PltVLCJub25lIiwic3ViZ3JpZCIsSCxSXSxGPSgpPT5bImF1dG8iLHtzcGFuOlsiZnVsbCIsVSxILFJdfSxVLEgsUl0sUD0oKT0+W1UsImF1dG8iLEgsUl0sVD0oKT0+WyJhdXRvIiwibWluIiwibWF4IiwiZnIiLEgsUl0sZXI9KCk9Plsic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJiZXR3ZWVuIiwiYXJvdW5kIiwiZXZlbmx5Iiwic3RyZXRjaCIsImJhc2VsaW5lIiwiY2VudGVyLXNhZmUiLCJlbmQtc2FmZSJdLGVvPSgpPT5bInN0YXJ0IiwiZW5kIiwiY2VudGVyIiwic3RyZXRjaCIsImNlbnRlci1zYWZlIiwiZW5kLXNhZmUiXSxldD0oKT0+WyJhdXRvIiwuLi5DKCldLGVsPSgpPT5bTiwiYXV0byIsImZ1bGwiLCJkdnciLCJkdmgiLCJsdnciLCJsdmgiLCJzdnciLCJzdmgiLCJtaW4iLCJtYXgiLCJmaXQiLC4uLkMoKV0sZW49KCk9PltOLCJzY3JlZW4iLCJmdWxsIiwiZHZ3IiwibHZ3Iiwic3Z3IiwibWluIiwibWF4IiwiZml0IiwuLi5DKCldLGVhPSgpPT5bTiwic2NyZWVuIiwiZnVsbCIsImxoIiwiZHZoIiwibHZoIiwic3ZoIiwibWluIiwibWF4IiwiZml0IiwuLi5DKCldLGVzPSgpPT5bZSxILFJdLGVpPSgpPT5bLi4ueSgpLFYsSyx7cG9zaXRpb246W0gsUl19XSxlYz0oKT0+WyJuby1yZXBlYXQiLHtyZXBlYXQ6WyIiLCJ4IiwieSIsInNwYWNlIiwicm91bmQiXX1dLGVkPSgpPT5bImF1dG8iLCJjb3ZlciIsImNvbnRhaW4iLFgsQSx7c2l6ZTpbSCxSXX1dLGVtPSgpPT5bJCxKLERdLGVwPSgpPT5bIiIsIm5vbmUiLCJmdWxsIixjLEgsUl0sZWI9KCk9PlsiIixJLEosRF0sZXU9KCk9Plsic29saWQiLCJkYXNoZWQiLCJkb3R0ZWQiLCJkb3VibGUiXSxlZj0oKT0+WyJub3JtYWwiLCJtdWx0aXBseSIsInNjcmVlbiIsIm92ZXJsYXkiLCJkYXJrZW4iLCJsaWdodGVuIiwiY29sb3ItZG9kZ2UiLCJjb2xvci1idXJuIiwiaGFyZC1saWdodCIsInNvZnQtbGlnaHQiLCJkaWZmZXJlbmNlIiwiZXhjbHVzaW9uIiwiaHVlIiwic2F0dXJhdGlvbiIsImNvbG9yIiwibHVtaW5vc2l0eSJdLGVnPSgpPT5bSSwkLFYsS10sZWg9KCk9PlsiIiwibm9uZSIsdSxILFJdLGVrPSgpPT5bIm5vbmUiLEksSCxSXSxldz0oKT0+WyJub25lIixJLEgsUl0sZXg9KCk9PltJLEgsUl0sZXk9KCk9PltOLCJmdWxsIiwuLi5DKCldO3JldHVybntjYWNoZVNpemU6NTAwLHRoZW1lOnthbmltYXRlOlsic3BpbiIsInBpbmciLCJwdWxzZSIsImJvdW5jZSJdLGFzcGVjdDpbInZpZGVvIl0sYmx1cjpbT10sYnJlYWtwb2ludDpbT10sY29sb3I6W1NdLGNvbnRhaW5lcjpbT10sImRyb3Atc2hhZG93IjpbT10sZWFzZTpbImluIiwib3V0IiwiaW4tb3V0Il0sZm9udDpbTV0sImZvbnQtd2VpZ2h0IjpbInRoaW4iLCJleHRyYWxpZ2h0IiwibGlnaHQiLCJub3JtYWwiLCJtZWRpdW0iLCJzZW1pYm9sZCIsImJvbGQiLCJleHRyYWJvbGQiLCJibGFjayJdLCJpbnNldC1zaGFkb3ciOltPXSxsZWFkaW5nOlsibm9uZSIsInRpZ2h0Iiwic251ZyIsIm5vcm1hbCIsInJlbGF4ZWQiLCJsb29zZSJdLHBlcnNwZWN0aXZlOlsiZHJhbWF0aWMiLCJuZWFyIiwibm9ybWFsIiwibWlkcmFuZ2UiLCJkaXN0YW50Iiwibm9uZSJdLHJhZGl1czpbT10sc2hhZG93OltPXSxzcGFjaW5nOlsicHgiLEldLHRleHQ6W09dLCJ0ZXh0LXNoYWRvdyI6W09dLHRyYWNraW5nOlsidGlnaHRlciIsInRpZ2h0Iiwibm9ybWFsIiwid2lkZSIsIndpZGVyIiwid2lkZXN0Il19LGNsYXNzR3JvdXBzOnthc3BlY3Q6W3thc3BlY3Q6WyJhdXRvIiwic3F1YXJlIixOLFIsSCxnXX1dLGNvbnRhaW5lcjpbImNvbnRhaW5lciJdLGNvbHVtbnM6W3tjb2x1bW5zOltJLFIsSCxzXX1dLCJicmVhay1hZnRlciI6W3siYnJlYWstYWZ0ZXIiOngoKX1dLCJicmVhay1iZWZvcmUiOlt7ImJyZWFrLWJlZm9yZSI6eCgpfV0sImJyZWFrLWluc2lkZSI6W3siYnJlYWstaW5zaWRlIjpbImF1dG8iLCJhdm9pZCIsImF2b2lkLXBhZ2UiLCJhdm9pZC1jb2x1bW4iXX1dLCJib3gtZGVjb3JhdGlvbiI6W3siYm94LWRlY29yYXRpb24iOlsic2xpY2UiLCJjbG9uZSJdfV0sYm94Olt7Ym94OlsiYm9yZGVyIiwiY29udGVudCJdfV0sZGlzcGxheTpbImJsb2NrIiwiaW5saW5lLWJsb2NrIiwiaW5saW5lIiwiZmxleCIsImlubGluZS1mbGV4IiwidGFibGUiLCJpbmxpbmUtdGFibGUiLCJ0YWJsZS1jYXB0aW9uIiwidGFibGUtY2VsbCIsInRhYmxlLWNvbHVtbiIsInRhYmxlLWNvbHVtbi1ncm91cCIsInRhYmxlLWZvb3Rlci1ncm91cCIsInRhYmxlLWhlYWRlci1ncm91cCIsInRhYmxlLXJvdy1ncm91cCIsInRhYmxlLXJvdyIsImZsb3ctcm9vdCIsImdyaWQiLCJpbmxpbmUtZ3JpZCIsImNvbnRlbnRzIiwibGlzdC1pdGVtIiwiaGlkZGVuIl0sc3I6WyJzci1vbmx5Iiwibm90LXNyLW9ubHkiXSxmbG9hdDpbe2Zsb2F0OlsicmlnaHQiLCJsZWZ0Iiwibm9uZSIsInN0YXJ0IiwiZW5kIl19XSxjbGVhcjpbe2NsZWFyOlsibGVmdCIsInJpZ2h0IiwiYm90aCIsIm5vbmUiLCJzdGFydCIsImVuZCJdfV0saXNvbGF0aW9uOlsiaXNvbGF0ZSIsImlzb2xhdGlvbi1hdXRvIl0sIm9iamVjdC1maXQiOlt7b2JqZWN0OlsiY29udGFpbiIsImNvdmVyIiwiZmlsbCIsIm5vbmUiLCJzY2FsZS1kb3duIl19XSwib2JqZWN0LXBvc2l0aW9uIjpbe29iamVjdDp2KCl9XSxvdmVyZmxvdzpbe292ZXJmbG93OnooKX1dLCJvdmVyZmxvdy14IjpbeyJvdmVyZmxvdy14Ijp6KCl9XSwib3ZlcmZsb3cteSI6W3sib3ZlcmZsb3cteSI6eigpfV0sb3ZlcnNjcm9sbDpbe292ZXJzY3JvbGw6aigpfV0sIm92ZXJzY3JvbGwteCI6W3sib3ZlcnNjcm9sbC14IjpqKCl9XSwib3ZlcnNjcm9sbC15IjpbeyJvdmVyc2Nyb2xsLXkiOmooKX1dLHBvc2l0aW9uOlsic3RhdGljIiwiZml4ZWQiLCJhYnNvbHV0ZSIsInJlbGF0aXZlIiwic3RpY2t5Il0saW5zZXQ6W3tpbnNldDpHKCl9XSwiaW5zZXQteCI6W3siaW5zZXQteCI6RygpfV0sImluc2V0LXkiOlt7Imluc2V0LXkiOkcoKX1dLHN0YXJ0Olt7Imluc2V0LXMiOkcoKSxzdGFydDpHKCl9XSxlbmQ6W3siaW5zZXQtZSI6RygpLGVuZDpHKCl9XSwiaW5zZXQtYnMiOlt7Imluc2V0LWJzIjpHKCl9XSwiaW5zZXQtYmUiOlt7Imluc2V0LWJlIjpHKCl9XSx0b3A6W3t0b3A6RygpfV0scmlnaHQ6W3tyaWdodDpHKCl9XSxib3R0b206W3tib3R0b206RygpfV0sbGVmdDpbe2xlZnQ6RygpfV0sdmlzaWJpbGl0eTpbInZpc2libGUiLCJpbnZpc2libGUiLCJjb2xsYXBzZSJdLHo6W3t6OltVLCJhdXRvIixILFJdfV0sYmFzaXM6W3tiYXNpczpbTiwiZnVsbCIsImF1dG8iLHMsLi4uQygpXX1dLCJmbGV4LWRpcmVjdGlvbiI6W3tmbGV4Olsicm93Iiwicm93LXJldmVyc2UiLCJjb2wiLCJjb2wtcmV2ZXJzZSJdfV0sImZsZXgtd3JhcCI6W3tmbGV4Olsibm93cmFwIiwid3JhcCIsIndyYXAtcmV2ZXJzZSJdfV0sZmxleDpbe2ZsZXg6W0ksTiwiYXV0byIsImluaXRpYWwiLCJub25lIixSXX1dLGdyb3c6W3tncm93OlsiIixJLEgsUl19XSxzaHJpbms6W3tzaHJpbms6WyIiLEksSCxSXX1dLG9yZGVyOlt7b3JkZXI6W1UsImZpcnN0IiwibGFzdCIsIm5vbmUiLEgsUl19XSwiZ3JpZC1jb2xzIjpbeyJncmlkLWNvbHMiOlcoKX1dLCJjb2wtc3RhcnQtZW5kIjpbe2NvbDpGKCl9XSwiY29sLXN0YXJ0IjpbeyJjb2wtc3RhcnQiOlAoKX1dLCJjb2wtZW5kIjpbeyJjb2wtZW5kIjpQKCl9XSwiZ3JpZC1yb3dzIjpbeyJncmlkLXJvd3MiOlcoKX1dLCJyb3ctc3RhcnQtZW5kIjpbe3JvdzpGKCl9XSwicm93LXN0YXJ0IjpbeyJyb3ctc3RhcnQiOlAoKX1dLCJyb3ctZW5kIjpbeyJyb3ctZW5kIjpQKCl9XSwiZ3JpZC1mbG93IjpbeyJncmlkLWZsb3ciOlsicm93IiwiY29sIiwiZGVuc2UiLCJyb3ctZGVuc2UiLCJjb2wtZGVuc2UiXX1dLCJhdXRvLWNvbHMiOlt7ImF1dG8tY29scyI6VCgpfV0sImF1dG8tcm93cyI6W3siYXV0by1yb3dzIjpUKCl9XSxnYXA6W3tnYXA6QygpfV0sImdhcC14IjpbeyJnYXAteCI6QygpfV0sImdhcC15IjpbeyJnYXAteSI6QygpfV0sImp1c3RpZnktY29udGVudCI6W3tqdXN0aWZ5OlsuLi5lcigpLCJub3JtYWwiXX1dLCJqdXN0aWZ5LWl0ZW1zIjpbeyJqdXN0aWZ5LWl0ZW1zIjpbLi4uZW8oKSwibm9ybWFsIl19XSwianVzdGlmeS1zZWxmIjpbeyJqdXN0aWZ5LXNlbGYiOlsiYXV0byIsLi4uZW8oKV19XSwiYWxpZ24tY29udGVudCI6W3tjb250ZW50Olsibm9ybWFsIiwuLi5lcigpXX1dLCJhbGlnbi1pdGVtcyI6W3tpdGVtczpbLi4uZW8oKSx7YmFzZWxpbmU6WyIiLCJsYXN0Il19XX1dLCJhbGlnbi1zZWxmIjpbe3NlbGY6WyJhdXRvIiwuLi5lbygpLHtiYXNlbGluZTpbIiIsImxhc3QiXX1dfV0sInBsYWNlLWNvbnRlbnQiOlt7InBsYWNlLWNvbnRlbnQiOmVyKCl9XSwicGxhY2UtaXRlbXMiOlt7InBsYWNlLWl0ZW1zIjpbLi4uZW8oKSwiYmFzZWxpbmUiXX1dLCJwbGFjZS1zZWxmIjpbeyJwbGFjZS1zZWxmIjpbImF1dG8iLC4uLmVvKCldfV0scDpbe3A6QygpfV0scHg6W3tweDpDKCl9XSxweTpbe3B5OkMoKX1dLHBzOlt7cHM6QygpfV0scGU6W3twZTpDKCl9XSxwYnM6W3twYnM6QygpfV0scGJlOlt7cGJlOkMoKX1dLHB0Olt7cHQ6QygpfV0scHI6W3twcjpDKCl9XSxwYjpbe3BiOkMoKX1dLHBsOlt7cGw6QygpfV0sbTpbe206ZXQoKX1dLG14Olt7bXg6ZXQoKX1dLG15Olt7bXk6ZXQoKX1dLG1zOlt7bXM6ZXQoKX1dLG1lOlt7bWU6ZXQoKX1dLG1iczpbe21iczpldCgpfV0sbWJlOlt7bWJlOmV0KCl9XSxtdDpbe210OmV0KCl9XSxtcjpbe21yOmV0KCl9XSxtYjpbe21iOmV0KCl9XSxtbDpbe21sOmV0KCl9XSwic3BhY2UteCI6W3sic3BhY2UteCI6QygpfV0sInNwYWNlLXgtcmV2ZXJzZSI6WyJzcGFjZS14LXJldmVyc2UiXSwic3BhY2UteSI6W3sic3BhY2UteSI6QygpfV0sInNwYWNlLXktcmV2ZXJzZSI6WyJzcGFjZS15LXJldmVyc2UiXSxzaXplOlt7c2l6ZTplbCgpfV0sImlubGluZS1zaXplIjpbe2lubGluZTpbImF1dG8iLC4uLmVuKCldfV0sIm1pbi1pbmxpbmUtc2l6ZSI6W3sibWluLWlubGluZSI6WyJhdXRvIiwuLi5lbigpXX1dLCJtYXgtaW5saW5lLXNpemUiOlt7Im1heC1pbmxpbmUiOlsibm9uZSIsLi4uZW4oKV19XSwiYmxvY2stc2l6ZSI6W3tibG9jazpbImF1dG8iLC4uLmVhKCldfV0sIm1pbi1ibG9jay1zaXplIjpbeyJtaW4tYmxvY2siOlsiYXV0byIsLi4uZWEoKV19XSwibWF4LWJsb2NrLXNpemUiOlt7Im1heC1ibG9jayI6WyJub25lIiwuLi5lYSgpXX1dLHc6W3t3OltzLCJzY3JlZW4iLC4uLmVsKCldfV0sIm1pbi13IjpbeyJtaW4tdyI6W3MsInNjcmVlbiIsIm5vbmUiLC4uLmVsKCldfV0sIm1heC13IjpbeyJtYXgtdyI6W3MsInNjcmVlbiIsIm5vbmUiLCJwcm9zZSIse3NjcmVlbjpbYV19LC4uLmVsKCldfV0saDpbe2g6WyJzY3JlZW4iLCJsaCIsLi4uZWwoKV19XSwibWluLWgiOlt7Im1pbi1oIjpbInNjcmVlbiIsImxoIiwibm9uZSIsLi4uZWwoKV19XSwibWF4LWgiOlt7Im1heC1oIjpbInNjcmVlbiIsImxoIiwuLi5lbCgpXX1dLCJmb250LXNpemUiOlt7dGV4dDpbImJhc2UiLG8sSixEXX1dLCJmb250LXNtb290aGluZyI6WyJhbnRpYWxpYXNlZCIsInN1YnBpeGVsLWFudGlhbGlhc2VkIl0sImZvbnQtc3R5bGUiOlsiaXRhbGljIiwibm90LWl0YWxpYyJdLCJmb250LXdlaWdodCI6W3tmb250Olt0LGVlLEJdfV0sImZvbnQtc3RyZXRjaCI6W3siZm9udC1zdHJldGNoIjpbInVsdHJhLWNvbmRlbnNlZCIsImV4dHJhLWNvbmRlbnNlZCIsImNvbmRlbnNlZCIsInNlbWktY29uZGVuc2VkIiwibm9ybWFsIiwic2VtaS1leHBhbmRlZCIsImV4cGFuZGVkIiwiZXh0cmEtZXhwYW5kZWQiLCJ1bHRyYS1leHBhbmRlZCIsJCxSXX1dLCJmb250LWZhbWlseSI6W3tmb250OltRLEUscl19XSwiZm9udC1mZWF0dXJlcyI6W3siZm9udC1mZWF0dXJlcyI6W1JdfV0sImZ2bi1ub3JtYWwiOlsibm9ybWFsLW51bXMiXSwiZnZuLW9yZGluYWwiOlsib3JkaW5hbCJdLCJmdm4tc2xhc2hlZC16ZXJvIjpbInNsYXNoZWQtemVybyJdLCJmdm4tZmlndXJlIjpbImxpbmluZy1udW1zIiwib2xkc3R5bGUtbnVtcyJdLCJmdm4tc3BhY2luZyI6WyJwcm9wb3J0aW9uYWwtbnVtcyIsInRhYnVsYXItbnVtcyJdLCJmdm4tZnJhY3Rpb24iOlsiZGlhZ29uYWwtZnJhY3Rpb25zIiwic3RhY2tlZC1mcmFjdGlvbnMiXSx0cmFja2luZzpbe3RyYWNraW5nOltsLEgsUl19XSwibGluZS1jbGFtcCI6W3sibGluZS1jbGFtcCI6W0ksIm5vbmUiLEgscV19XSxsZWFkaW5nOlt7bGVhZGluZzpbbiwuLi5DKCldfV0sImxpc3QtaW1hZ2UiOlt7Imxpc3QtaW1hZ2UiOlsibm9uZSIsSCxSXX1dLCJsaXN0LXN0eWxlLXBvc2l0aW9uIjpbe2xpc3Q6WyJpbnNpZGUiLCJvdXRzaWRlIl19XSwibGlzdC1zdHlsZS10eXBlIjpbe2xpc3Q6WyJkaXNjIiwiZGVjaW1hbCIsIm5vbmUiLEgsUl19XSwidGV4dC1hbGlnbm1lbnQiOlt7dGV4dDpbImxlZnQiLCJjZW50ZXIiLCJyaWdodCIsImp1c3RpZnkiLCJzdGFydCIsImVuZCJdfV0sInBsYWNlaG9sZGVyLWNvbG9yIjpbe3BsYWNlaG9sZGVyOmVzKCl9XSwidGV4dC1jb2xvciI6W3t0ZXh0OmVzKCl9XSwidGV4dC1kZWNvcmF0aW9uIjpbInVuZGVybGluZSIsIm92ZXJsaW5lIiwibGluZS10aHJvdWdoIiwibm8tdW5kZXJsaW5lIl0sInRleHQtZGVjb3JhdGlvbi1zdHlsZSI6W3tkZWNvcmF0aW9uOlsuLi5ldSgpLCJ3YXZ5Il19XSwidGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzcyI6W3tkZWNvcmF0aW9uOltJLCJmcm9tLWZvbnQiLCJhdXRvIixILERdfV0sInRleHQtZGVjb3JhdGlvbi1jb2xvciI6W3tkZWNvcmF0aW9uOmVzKCl9XSwidW5kZXJsaW5lLW9mZnNldCI6W3sidW5kZXJsaW5lLW9mZnNldCI6W0ksImF1dG8iLEgsUl19XSwidGV4dC10cmFuc2Zvcm0iOlsidXBwZXJjYXNlIiwibG93ZXJjYXNlIiwiY2FwaXRhbGl6ZSIsIm5vcm1hbC1jYXNlIl0sInRleHQtb3ZlcmZsb3ciOlsidHJ1bmNhdGUiLCJ0ZXh0LWVsbGlwc2lzIiwidGV4dC1jbGlwIl0sInRleHQtd3JhcCI6W3t0ZXh0Olsid3JhcCIsIm5vd3JhcCIsImJhbGFuY2UiLCJwcmV0dHkiXX1dLGluZGVudDpbe2luZGVudDpDKCl9XSwidmVydGljYWwtYWxpZ24iOlt7YWxpZ246WyJiYXNlbGluZSIsInRvcCIsIm1pZGRsZSIsImJvdHRvbSIsInRleHQtdG9wIiwidGV4dC1ib3R0b20iLCJzdWIiLCJzdXBlciIsSCxSXX1dLHdoaXRlc3BhY2U6W3t3aGl0ZXNwYWNlOlsibm9ybWFsIiwibm93cmFwIiwicHJlIiwicHJlLWxpbmUiLCJwcmUtd3JhcCIsImJyZWFrLXNwYWNlcyJdfV0sYnJlYWs6W3ticmVhazpbIm5vcm1hbCIsIndvcmRzIiwiYWxsIiwia2VlcCJdfV0sd3JhcDpbe3dyYXA6WyJicmVhay13b3JkIiwiYW55d2hlcmUiLCJub3JtYWwiXX1dLGh5cGhlbnM6W3toeXBoZW5zOlsibm9uZSIsIm1hbnVhbCIsImF1dG8iXX1dLGNvbnRlbnQ6W3tjb250ZW50Olsibm9uZSIsSCxSXX1dLCJiZy1hdHRhY2htZW50Ijpbe2JnOlsiZml4ZWQiLCJsb2NhbCIsInNjcm9sbCJdfV0sImJnLWNsaXAiOlt7ImJnLWNsaXAiOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiLCJ0ZXh0Il19XSwiYmctb3JpZ2luIjpbeyJiZy1vcmlnaW4iOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiXX1dLCJiZy1wb3NpdGlvbiI6W3tiZzplaSgpfV0sImJnLXJlcGVhdCI6W3tiZzplYygpfV0sImJnLXNpemUiOlt7Ymc6ZWQoKX1dLCJiZy1pbWFnZSI6W3tiZzpbIm5vbmUiLHtsaW5lYXI6W3t0bzpbInQiLCJ0ciIsInIiLCJiciIsImIiLCJibCIsImwiLCJ0bCJdfSxVLEgsUl0scmFkaWFsOlsiIixILFJdLGNvbmljOltVLEgsUl19LFksX119XSwiYmctY29sb3IiOlt7Ymc6ZXMoKX1dLCJncmFkaWVudC1mcm9tLXBvcyI6W3tmcm9tOmVtKCl9XSwiZ3JhZGllbnQtdmlhLXBvcyI6W3t2aWE6ZW0oKX1dLCJncmFkaWVudC10by1wb3MiOlt7dG86ZW0oKX1dLCJncmFkaWVudC1mcm9tIjpbe2Zyb206ZXMoKX1dLCJncmFkaWVudC12aWEiOlt7dmlhOmVzKCl9XSwiZ3JhZGllbnQtdG8iOlt7dG86ZXMoKX1dLHJvdW5kZWQ6W3tyb3VuZGVkOmVwKCl9XSwicm91bmRlZC1zIjpbeyJyb3VuZGVkLXMiOmVwKCl9XSwicm91bmRlZC1lIjpbeyJyb3VuZGVkLWUiOmVwKCl9XSwicm91bmRlZC10IjpbeyJyb3VuZGVkLXQiOmVwKCl9XSwicm91bmRlZC1yIjpbeyJyb3VuZGVkLXIiOmVwKCl9XSwicm91bmRlZC1iIjpbeyJyb3VuZGVkLWIiOmVwKCl9XSwicm91bmRlZC1sIjpbeyJyb3VuZGVkLWwiOmVwKCl9XSwicm91bmRlZC1zcyI6W3sicm91bmRlZC1zcyI6ZXAoKX1dLCJyb3VuZGVkLXNlIjpbeyJyb3VuZGVkLXNlIjplcCgpfV0sInJvdW5kZWQtZWUiOlt7InJvdW5kZWQtZWUiOmVwKCl9XSwicm91bmRlZC1lcyI6W3sicm91bmRlZC1lcyI6ZXAoKX1dLCJyb3VuZGVkLXRsIjpbeyJyb3VuZGVkLXRsIjplcCgpfV0sInJvdW5kZWQtdHIiOlt7InJvdW5kZWQtdHIiOmVwKCl9XSwicm91bmRlZC1iciI6W3sicm91bmRlZC1iciI6ZXAoKX1dLCJyb3VuZGVkLWJsIjpbeyJyb3VuZGVkLWJsIjplcCgpfV0sImJvcmRlci13Ijpbe2JvcmRlcjplYigpfV0sImJvcmRlci13LXgiOlt7ImJvcmRlci14IjplYigpfV0sImJvcmRlci13LXkiOlt7ImJvcmRlci15IjplYigpfV0sImJvcmRlci13LXMiOlt7ImJvcmRlci1zIjplYigpfV0sImJvcmRlci13LWUiOlt7ImJvcmRlci1lIjplYigpfV0sImJvcmRlci13LWJzIjpbeyJib3JkZXItYnMiOmViKCl9XSwiYm9yZGVyLXctYmUiOlt7ImJvcmRlci1iZSI6ZWIoKX1dLCJib3JkZXItdy10IjpbeyJib3JkZXItdCI6ZWIoKX1dLCJib3JkZXItdy1yIjpbeyJib3JkZXItciI6ZWIoKX1dLCJib3JkZXItdy1iIjpbeyJib3JkZXItYiI6ZWIoKX1dLCJib3JkZXItdy1sIjpbeyJib3JkZXItbCI6ZWIoKX1dLCJkaXZpZGUteCI6W3siZGl2aWRlLXgiOmViKCl9XSwiZGl2aWRlLXgtcmV2ZXJzZSI6WyJkaXZpZGUteC1yZXZlcnNlIl0sImRpdmlkZS15IjpbeyJkaXZpZGUteSI6ZWIoKX1dLCJkaXZpZGUteS1yZXZlcnNlIjpbImRpdmlkZS15LXJldmVyc2UiXSwiYm9yZGVyLXN0eWxlIjpbe2JvcmRlcjpbLi4uZXUoKSwiaGlkZGVuIiwibm9uZSJdfV0sImRpdmlkZS1zdHlsZSI6W3tkaXZpZGU6Wy4uLmV1KCksImhpZGRlbiIsIm5vbmUiXX1dLCJib3JkZXItY29sb3IiOlt7Ym9yZGVyOmVzKCl9XSwiYm9yZGVyLWNvbG9yLXgiOlt7ImJvcmRlci14IjplcygpfV0sImJvcmRlci1jb2xvci15IjpbeyJib3JkZXIteSI6ZXMoKX1dLCJib3JkZXItY29sb3ItcyI6W3siYm9yZGVyLXMiOmVzKCl9XSwiYm9yZGVyLWNvbG9yLWUiOlt7ImJvcmRlci1lIjplcygpfV0sImJvcmRlci1jb2xvci1icyI6W3siYm9yZGVyLWJzIjplcygpfV0sImJvcmRlci1jb2xvci1iZSI6W3siYm9yZGVyLWJlIjplcygpfV0sImJvcmRlci1jb2xvci10IjpbeyJib3JkZXItdCI6ZXMoKX1dLCJib3JkZXItY29sb3ItciI6W3siYm9yZGVyLXIiOmVzKCl9XSwiYm9yZGVyLWNvbG9yLWIiOlt7ImJvcmRlci1iIjplcygpfV0sImJvcmRlci1jb2xvci1sIjpbeyJib3JkZXItbCI6ZXMoKX1dLCJkaXZpZGUtY29sb3IiOlt7ZGl2aWRlOmVzKCl9XSwib3V0bGluZS1zdHlsZSI6W3tvdXRsaW5lOlsuLi5ldSgpLCJub25lIiwiaGlkZGVuIl19XSwib3V0bGluZS1vZmZzZXQiOlt7Im91dGxpbmUtb2Zmc2V0IjpbSSxILFJdfV0sIm91dGxpbmUtdyI6W3tvdXRsaW5lOlsiIixJLEosRF19XSwib3V0bGluZS1jb2xvciI6W3tvdXRsaW5lOmVzKCl9XSxzaGFkb3c6W3tzaGFkb3c6WyIiLCJub25lIixkLFosTF19XSwic2hhZG93LWNvbG9yIjpbe3NoYWRvdzplcygpfV0sImluc2V0LXNoYWRvdyI6W3siaW5zZXQtc2hhZG93IjpbIm5vbmUiLG0sWixMXX1dLCJpbnNldC1zaGFkb3ctY29sb3IiOlt7Imluc2V0LXNoYWRvdyI6ZXMoKX1dLCJyaW5nLXciOlt7cmluZzplYigpfV0sInJpbmctdy1pbnNldCI6WyJyaW5nLWluc2V0Il0sInJpbmctY29sb3IiOlt7cmluZzplcygpfV0sInJpbmctb2Zmc2V0LXciOlt7InJpbmctb2Zmc2V0IjpbSSxEXX1dLCJyaW5nLW9mZnNldC1jb2xvciI6W3sicmluZy1vZmZzZXQiOmVzKCl9XSwiaW5zZXQtcmluZy13IjpbeyJpbnNldC1yaW5nIjplYigpfV0sImluc2V0LXJpbmctY29sb3IiOlt7Imluc2V0LXJpbmciOmVzKCl9XSwidGV4dC1zaGFkb3ciOlt7InRleHQtc2hhZG93IjpbIm5vbmUiLHAsWixMXX1dLCJ0ZXh0LXNoYWRvdy1jb2xvciI6W3sidGV4dC1zaGFkb3ciOmVzKCl9XSxvcGFjaXR5Olt7b3BhY2l0eTpbSSxILFJdfV0sIm1peC1ibGVuZCI6W3sibWl4LWJsZW5kIjpbLi4uZWYoKSwicGx1cy1kYXJrZXIiLCJwbHVzLWxpZ2h0ZXIiXX1dLCJiZy1ibGVuZCI6W3siYmctYmxlbmQiOmVmKCl9XSwibWFzay1jbGlwIjpbeyJtYXNrLWNsaXAiOlsiYm9yZGVyIiwicGFkZGluZyIsImNvbnRlbnQiLCJmaWxsIiwic3Ryb2tlIiwidmlldyJdfSwibWFzay1uby1jbGlwIl0sIm1hc2stY29tcG9zaXRlIjpbe21hc2s6WyJhZGQiLCJzdWJ0cmFjdCIsImludGVyc2VjdCIsImV4Y2x1ZGUiXX1dLCJtYXNrLWltYWdlLWxpbmVhci1wb3MiOlt7Im1hc2stbGluZWFyIjpbSV19XSwibWFzay1pbWFnZS1saW5lYXItZnJvbS1wb3MiOlt7Im1hc2stbGluZWFyLWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS1saW5lYXItdG8tcG9zIjpbeyJtYXNrLWxpbmVhci10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWxpbmVhci1mcm9tLWNvbG9yIjpbeyJtYXNrLWxpbmVhci1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UtbGluZWFyLXRvLWNvbG9yIjpbeyJtYXNrLWxpbmVhci10byI6ZXMoKX1dLCJtYXNrLWltYWdlLXQtZnJvbS1wb3MiOlt7Im1hc2stdC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtdC10by1wb3MiOlt7Im1hc2stdC10byI6ZWcoKX1dLCJtYXNrLWltYWdlLXQtZnJvbS1jb2xvciI6W3sibWFzay10LWZyb20iOmVzKCl9XSwibWFzay1pbWFnZS10LXRvLWNvbG9yIjpbeyJtYXNrLXQtdG8iOmVzKCl9XSwibWFzay1pbWFnZS1yLWZyb20tcG9zIjpbeyJtYXNrLXItZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXItdG8tcG9zIjpbeyJtYXNrLXItdG8iOmVnKCl9XSwibWFzay1pbWFnZS1yLWZyb20tY29sb3IiOlt7Im1hc2stci1mcm9tIjplcygpfV0sIm1hc2staW1hZ2Utci10by1jb2xvciI6W3sibWFzay1yLXRvIjplcygpfV0sIm1hc2staW1hZ2UtYi1mcm9tLXBvcyI6W3sibWFzay1iLWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS1iLXRvLXBvcyI6W3sibWFzay1iLXRvIjplZygpfV0sIm1hc2staW1hZ2UtYi1mcm9tLWNvbG9yIjpbeyJtYXNrLWItZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLWItdG8tY29sb3IiOlt7Im1hc2stYi10byI6ZXMoKX1dLCJtYXNrLWltYWdlLWwtZnJvbS1wb3MiOlt7Im1hc2stbC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtbC10by1wb3MiOlt7Im1hc2stbC10byI6ZWcoKX1dLCJtYXNrLWltYWdlLWwtZnJvbS1jb2xvciI6W3sibWFzay1sLWZyb20iOmVzKCl9XSwibWFzay1pbWFnZS1sLXRvLWNvbG9yIjpbeyJtYXNrLWwtdG8iOmVzKCl9XSwibWFzay1pbWFnZS14LWZyb20tcG9zIjpbeyJtYXNrLXgtZnJvbSI6ZWcoKX1dLCJtYXNrLWltYWdlLXgtdG8tcG9zIjpbeyJtYXNrLXgtdG8iOmVnKCl9XSwibWFzay1pbWFnZS14LWZyb20tY29sb3IiOlt7Im1hc2steC1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UteC10by1jb2xvciI6W3sibWFzay14LXRvIjplcygpfV0sIm1hc2staW1hZ2UteS1mcm9tLXBvcyI6W3sibWFzay15LWZyb20iOmVnKCl9XSwibWFzay1pbWFnZS15LXRvLXBvcyI6W3sibWFzay15LXRvIjplZygpfV0sIm1hc2staW1hZ2UteS1mcm9tLWNvbG9yIjpbeyJtYXNrLXktZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLXktdG8tY29sb3IiOlt7Im1hc2steS10byI6ZXMoKX1dLCJtYXNrLWltYWdlLXJhZGlhbCI6W3sibWFzay1yYWRpYWwiOltILFJdfV0sIm1hc2staW1hZ2UtcmFkaWFsLWZyb20tcG9zIjpbeyJtYXNrLXJhZGlhbC1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtcmFkaWFsLXRvLXBvcyI6W3sibWFzay1yYWRpYWwtdG8iOmVnKCl9XSwibWFzay1pbWFnZS1yYWRpYWwtZnJvbS1jb2xvciI6W3sibWFzay1yYWRpYWwtZnJvbSI6ZXMoKX1dLCJtYXNrLWltYWdlLXJhZGlhbC10by1jb2xvciI6W3sibWFzay1yYWRpYWwtdG8iOmVzKCl9XSwibWFzay1pbWFnZS1yYWRpYWwtc2hhcGUiOlt7Im1hc2stcmFkaWFsIjpbImNpcmNsZSIsImVsbGlwc2UiXX1dLCJtYXNrLWltYWdlLXJhZGlhbC1zaXplIjpbeyJtYXNrLXJhZGlhbCI6W3tjbG9zZXN0Olsic2lkZSIsImNvcm5lciJdLGZhcnRoZXN0Olsic2lkZSIsImNvcm5lciJdfV19XSwibWFzay1pbWFnZS1yYWRpYWwtcG9zIjpbeyJtYXNrLXJhZGlhbC1hdCI6eSgpfV0sIm1hc2staW1hZ2UtY29uaWMtcG9zIjpbeyJtYXNrLWNvbmljIjpbSV19XSwibWFzay1pbWFnZS1jb25pYy1mcm9tLXBvcyI6W3sibWFzay1jb25pYy1mcm9tIjplZygpfV0sIm1hc2staW1hZ2UtY29uaWMtdG8tcG9zIjpbeyJtYXNrLWNvbmljLXRvIjplZygpfV0sIm1hc2staW1hZ2UtY29uaWMtZnJvbS1jb2xvciI6W3sibWFzay1jb25pYy1mcm9tIjplcygpfV0sIm1hc2staW1hZ2UtY29uaWMtdG8tY29sb3IiOlt7Im1hc2stY29uaWMtdG8iOmVzKCl9XSwibWFzay1tb2RlIjpbe21hc2s6WyJhbHBoYSIsImx1bWluYW5jZSIsIm1hdGNoIl19XSwibWFzay1vcmlnaW4iOlt7Im1hc2stb3JpZ2luIjpbImJvcmRlciIsInBhZGRpbmciLCJjb250ZW50IiwiZmlsbCIsInN0cm9rZSIsInZpZXciXX1dLCJtYXNrLXBvc2l0aW9uIjpbe21hc2s6ZWkoKX1dLCJtYXNrLXJlcGVhdCI6W3ttYXNrOmVjKCl9XSwibWFzay1zaXplIjpbe21hc2s6ZWQoKX1dLCJtYXNrLXR5cGUiOlt7Im1hc2stdHlwZSI6WyJhbHBoYSIsImx1bWluYW5jZSJdfV0sIm1hc2staW1hZ2UiOlt7bWFzazpbIm5vbmUiLEgsUl19XSxmaWx0ZXI6W3tmaWx0ZXI6WyIiLCJub25lIixILFJdfV0sYmx1cjpbe2JsdXI6ZWgoKX1dLGJyaWdodG5lc3M6W3ticmlnaHRuZXNzOltJLEgsUl19XSxjb250cmFzdDpbe2NvbnRyYXN0OltJLEgsUl19XSwiZHJvcC1zaGFkb3ciOlt7ImRyb3Atc2hhZG93IjpbIiIsIm5vbmUiLGIsWixMXX1dLCJkcm9wLXNoYWRvdy1jb2xvciI6W3siZHJvcC1zaGFkb3ciOmVzKCl9XSxncmF5c2NhbGU6W3tncmF5c2NhbGU6WyIiLEksSCxSXX1dLCJodWUtcm90YXRlIjpbeyJodWUtcm90YXRlIjpbSSxILFJdfV0saW52ZXJ0Olt7aW52ZXJ0OlsiIixJLEgsUl19XSxzYXR1cmF0ZTpbe3NhdHVyYXRlOltJLEgsUl19XSxzZXBpYTpbe3NlcGlhOlsiIixJLEgsUl19XSwiYmFja2Ryb3AtZmlsdGVyIjpbeyJiYWNrZHJvcC1maWx0ZXIiOlsiIiwibm9uZSIsSCxSXX1dLCJiYWNrZHJvcC1ibHVyIjpbeyJiYWNrZHJvcC1ibHVyIjplaCgpfV0sImJhY2tkcm9wLWJyaWdodG5lc3MiOlt7ImJhY2tkcm9wLWJyaWdodG5lc3MiOltJLEgsUl19XSwiYmFja2Ryb3AtY29udHJhc3QiOlt7ImJhY2tkcm9wLWNvbnRyYXN0IjpbSSxILFJdfV0sImJhY2tkcm9wLWdyYXlzY2FsZSI6W3siYmFja2Ryb3AtZ3JheXNjYWxlIjpbIiIsSSxILFJdfV0sImJhY2tkcm9wLWh1ZS1yb3RhdGUiOlt7ImJhY2tkcm9wLWh1ZS1yb3RhdGUiOltJLEgsUl19XSwiYmFja2Ryb3AtaW52ZXJ0IjpbeyJiYWNrZHJvcC1pbnZlcnQiOlsiIixJLEgsUl19XSwiYmFja2Ryb3Atb3BhY2l0eSI6W3siYmFja2Ryb3Atb3BhY2l0eSI6W0ksSCxSXX1dLCJiYWNrZHJvcC1zYXR1cmF0ZSI6W3siYmFja2Ryb3Atc2F0dXJhdGUiOltJLEgsUl19XSwiYmFja2Ryb3Atc2VwaWEiOlt7ImJhY2tkcm9wLXNlcGlhIjpbIiIsSSxILFJdfV0sImJvcmRlci1jb2xsYXBzZSI6W3tib3JkZXI6WyJjb2xsYXBzZSIsInNlcGFyYXRlIl19XSwiYm9yZGVyLXNwYWNpbmciOlt7ImJvcmRlci1zcGFjaW5nIjpDKCl9XSwiYm9yZGVyLXNwYWNpbmcteCI6W3siYm9yZGVyLXNwYWNpbmcteCI6QygpfV0sImJvcmRlci1zcGFjaW5nLXkiOlt7ImJvcmRlci1zcGFjaW5nLXkiOkMoKX1dLCJ0YWJsZS1sYXlvdXQiOlt7dGFibGU6WyJhdXRvIiwiZml4ZWQiXX1dLGNhcHRpb246W3tjYXB0aW9uOlsidG9wIiwiYm90dG9tIl19XSx0cmFuc2l0aW9uOlt7dHJhbnNpdGlvbjpbIiIsImFsbCIsImNvbG9ycyIsIm9wYWNpdHkiLCJzaGFkb3ciLCJ0cmFuc2Zvcm0iLCJub25lIixILFJdfV0sInRyYW5zaXRpb24tYmVoYXZpb3IiOlt7dHJhbnNpdGlvbjpbIm5vcm1hbCIsImRpc2NyZXRlIl19XSxkdXJhdGlvbjpbe2R1cmF0aW9uOltJLCJpbml0aWFsIixILFJdfV0sZWFzZTpbe2Vhc2U6WyJsaW5lYXIiLCJpbml0aWFsIixoLEgsUl19XSxkZWxheTpbe2RlbGF5OltJLEgsUl19XSxhbmltYXRlOlt7YW5pbWF0ZTpbIm5vbmUiLHcsSCxSXX1dLGJhY2tmYWNlOlt7YmFja2ZhY2U6WyJoaWRkZW4iLCJ2aXNpYmxlIl19XSxwZXJzcGVjdGl2ZTpbe3BlcnNwZWN0aXZlOltmLEgsUl19XSwicGVyc3BlY3RpdmUtb3JpZ2luIjpbeyJwZXJzcGVjdGl2ZS1vcmlnaW4iOnYoKX1dLHJvdGF0ZTpbe3JvdGF0ZTplaygpfV0sInJvdGF0ZS14IjpbeyJyb3RhdGUteCI6ZWsoKX1dLCJyb3RhdGUteSI6W3sicm90YXRlLXkiOmVrKCl9XSwicm90YXRlLXoiOlt7InJvdGF0ZS16IjplaygpfV0sc2NhbGU6W3tzY2FsZTpldygpfV0sInNjYWxlLXgiOlt7InNjYWxlLXgiOmV3KCl9XSwic2NhbGUteSI6W3sic2NhbGUteSI6ZXcoKX1dLCJzY2FsZS16IjpbeyJzY2FsZS16IjpldygpfV0sInNjYWxlLTNkIjpbInNjYWxlLTNkIl0sc2tldzpbe3NrZXc6ZXgoKX1dLCJza2V3LXgiOlt7InNrZXcteCI6ZXgoKX1dLCJza2V3LXkiOlt7InNrZXcteSI6ZXgoKX1dLHRyYW5zZm9ybTpbe3RyYW5zZm9ybTpbSCxSLCIiLCJub25lIiwiZ3B1IiwiY3B1Il19XSwidHJhbnNmb3JtLW9yaWdpbiI6W3tvcmlnaW46digpfV0sInRyYW5zZm9ybS1zdHlsZSI6W3t0cmFuc2Zvcm06WyIzZCIsImZsYXQiXX1dLHRyYW5zbGF0ZTpbe3RyYW5zbGF0ZTpleSgpfV0sInRyYW5zbGF0ZS14IjpbeyJ0cmFuc2xhdGUteCI6ZXkoKX1dLCJ0cmFuc2xhdGUteSI6W3sidHJhbnNsYXRlLXkiOmV5KCl9XSwidHJhbnNsYXRlLXoiOlt7InRyYW5zbGF0ZS16IjpleSgpfV0sInRyYW5zbGF0ZS1ub25lIjpbInRyYW5zbGF0ZS1ub25lIl0sYWNjZW50Olt7YWNjZW50OmVzKCl9XSxhcHBlYXJhbmNlOlt7YXBwZWFyYW5jZTpbIm5vbmUiLCJhdXRvIl19XSwiY2FyZXQtY29sb3IiOlt7Y2FyZXQ6ZXMoKX1dLCJjb2xvci1zY2hlbWUiOlt7c2NoZW1lOlsibm9ybWFsIiwiZGFyayIsImxpZ2h0IiwibGlnaHQtZGFyayIsIm9ubHktZGFyayIsIm9ubHktbGlnaHQiXX1dLGN1cnNvcjpbe2N1cnNvcjpbImF1dG8iLCJkZWZhdWx0IiwicG9pbnRlciIsIndhaXQiLCJ0ZXh0IiwibW92ZSIsImhlbHAiLCJub3QtYWxsb3dlZCIsIm5vbmUiLCJjb250ZXh0LW1lbnUiLCJwcm9ncmVzcyIsImNlbGwiLCJjcm9zc2hhaXIiLCJ2ZXJ0aWNhbC10ZXh0IiwiYWxpYXMiLCJjb3B5Iiwibm8tZHJvcCIsImdyYWIiLCJncmFiYmluZyIsImFsbC1zY3JvbGwiLCJjb2wtcmVzaXplIiwicm93LXJlc2l6ZSIsIm4tcmVzaXplIiwiZS1yZXNpemUiLCJzLXJlc2l6ZSIsInctcmVzaXplIiwibmUtcmVzaXplIiwibnctcmVzaXplIiwic2UtcmVzaXplIiwic3ctcmVzaXplIiwiZXctcmVzaXplIiwibnMtcmVzaXplIiwibmVzdy1yZXNpemUiLCJud3NlLXJlc2l6ZSIsInpvb20taW4iLCJ6b29tLW91dCIsSCxSXX1dLCJmaWVsZC1zaXppbmciOlt7ImZpZWxkLXNpemluZyI6WyJmaXhlZCIsImNvbnRlbnQiXX1dLCJwb2ludGVyLWV2ZW50cyI6W3sicG9pbnRlci1ldmVudHMiOlsiYXV0byIsIm5vbmUiXX1dLHJlc2l6ZTpbe3Jlc2l6ZTpbIm5vbmUiLCIiLCJ5IiwieCJdfV0sInNjcm9sbC1iZWhhdmlvciI6W3tzY3JvbGw6WyJhdXRvIiwic21vb3RoIl19XSwic2Nyb2xsLW0iOlt7InNjcm9sbC1tIjpDKCl9XSwic2Nyb2xsLW14IjpbeyJzY3JvbGwtbXgiOkMoKX1dLCJzY3JvbGwtbXkiOlt7InNjcm9sbC1teSI6QygpfV0sInNjcm9sbC1tcyI6W3sic2Nyb2xsLW1zIjpDKCl9XSwic2Nyb2xsLW1lIjpbeyJzY3JvbGwtbWUiOkMoKX1dLCJzY3JvbGwtbWJzIjpbeyJzY3JvbGwtbWJzIjpDKCl9XSwic2Nyb2xsLW1iZSI6W3sic2Nyb2xsLW1iZSI6QygpfV0sInNjcm9sbC1tdCI6W3sic2Nyb2xsLW10IjpDKCl9XSwic2Nyb2xsLW1yIjpbeyJzY3JvbGwtbXIiOkMoKX1dLCJzY3JvbGwtbWIiOlt7InNjcm9sbC1tYiI6QygpfV0sInNjcm9sbC1tbCI6W3sic2Nyb2xsLW1sIjpDKCl9XSwic2Nyb2xsLXAiOlt7InNjcm9sbC1wIjpDKCl9XSwic2Nyb2xsLXB4IjpbeyJzY3JvbGwtcHgiOkMoKX1dLCJzY3JvbGwtcHkiOlt7InNjcm9sbC1weSI6QygpfV0sInNjcm9sbC1wcyI6W3sic2Nyb2xsLXBzIjpDKCl9XSwic2Nyb2xsLXBlIjpbeyJzY3JvbGwtcGUiOkMoKX1dLCJzY3JvbGwtcGJzIjpbeyJzY3JvbGwtcGJzIjpDKCl9XSwic2Nyb2xsLXBiZSI6W3sic2Nyb2xsLXBiZSI6QygpfV0sInNjcm9sbC1wdCI6W3sic2Nyb2xsLXB0IjpDKCl9XSwic2Nyb2xsLXByIjpbeyJzY3JvbGwtcHIiOkMoKX1dLCJzY3JvbGwtcGIiOlt7InNjcm9sbC1wYiI6QygpfV0sInNjcm9sbC1wbCI6W3sic2Nyb2xsLXBsIjpDKCl9XSwic25hcC1hbGlnbiI6W3tzbmFwOlsic3RhcnQiLCJlbmQiLCJjZW50ZXIiLCJhbGlnbi1ub25lIl19XSwic25hcC1zdG9wIjpbe3NuYXA6WyJub3JtYWwiLCJhbHdheXMiXX1dLCJzbmFwLXR5cGUiOlt7c25hcDpbIm5vbmUiLCJ4IiwieSIsImJvdGgiXX1dLCJzbmFwLXN0cmljdG5lc3MiOlt7c25hcDpbIm1hbmRhdG9yeSIsInByb3hpbWl0eSJdfV0sdG91Y2g6W3t0b3VjaDpbImF1dG8iLCJub25lIiwibWFuaXB1bGF0aW9uIl19XSwidG91Y2gteCI6W3sidG91Y2gtcGFuIjpbIngiLCJsZWZ0IiwicmlnaHQiXX1dLCJ0b3VjaC15IjpbeyJ0b3VjaC1wYW4iOlsieSIsInVwIiwiZG93biJdfV0sInRvdWNoLXB6IjpbInRvdWNoLXBpbmNoLXpvb20iXSxzZWxlY3Q6W3tzZWxlY3Q6WyJub25lIiwidGV4dCIsImFsbCIsImF1dG8iXX1dLCJ3aWxsLWNoYW5nZSI6W3sid2lsbC1jaGFuZ2UiOlsiYXV0byIsInNjcm9sbCIsImNvbnRlbnRzIiwidHJhbnNmb3JtIixILFJdfV0sZmlsbDpbe2ZpbGw6WyJub25lIiwuLi5lcygpXX1dLCJzdHJva2UtdyI6W3tzdHJva2U6W0ksSixELHFdfV0sc3Ryb2tlOlt7c3Ryb2tlOlsibm9uZSIsLi4uZXMoKV19XSwiZm9yY2VkLWNvbG9yLWFkanVzdCI6W3siZm9yY2VkLWNvbG9yLWFkanVzdCI6WyJhdXRvIiwibm9uZSJdfV19LGNvbmZsaWN0aW5nQ2xhc3NHcm91cHM6e292ZXJmbG93Olsib3ZlcmZsb3cteCIsIm92ZXJmbG93LXkiXSxvdmVyc2Nyb2xsOlsib3ZlcnNjcm9sbC14Iiwib3ZlcnNjcm9sbC15Il0saW5zZXQ6WyJpbnNldC14IiwiaW5zZXQteSIsImluc2V0LWJzIiwiaW5zZXQtYmUiLCJzdGFydCIsImVuZCIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwibGVmdCJdLCJpbnNldC14IjpbInJpZ2h0IiwibGVmdCJdLCJpbnNldC15IjpbInRvcCIsImJvdHRvbSJdLGZsZXg6WyJiYXNpcyIsImdyb3ciLCJzaHJpbmsiXSxnYXA6WyJnYXAteCIsImdhcC15Il0scDpbInB4IiwicHkiLCJwcyIsInBlIiwicGJzIiwicGJlIiwicHQiLCJwciIsInBiIiwicGwiXSxweDpbInByIiwicGwiXSxweTpbInB0IiwicGIiXSxtOlsibXgiLCJteSIsIm1zIiwibWUiLCJtYnMiLCJtYmUiLCJtdCIsIm1yIiwibWIiLCJtbCJdLG14OlsibXIiLCJtbCJdLG15OlsibXQiLCJtYiJdLHNpemU6WyJ3IiwiaCJdLCJmb250LXNpemUiOlsibGVhZGluZyJdLCJmdm4tbm9ybWFsIjpbImZ2bi1vcmRpbmFsIiwiZnZuLXNsYXNoZWQtemVybyIsImZ2bi1maWd1cmUiLCJmdm4tc3BhY2luZyIsImZ2bi1mcmFjdGlvbiJdLCJmdm4tb3JkaW5hbCI6WyJmdm4tbm9ybWFsIl0sImZ2bi1zbGFzaGVkLXplcm8iOlsiZnZuLW5vcm1hbCJdLCJmdm4tZmlndXJlIjpbImZ2bi1ub3JtYWwiXSwiZnZuLXNwYWNpbmciOlsiZnZuLW5vcm1hbCJdLCJmdm4tZnJhY3Rpb24iOlsiZnZuLW5vcm1hbCJdLCJsaW5lLWNsYW1wIjpbImRpc3BsYXkiLCJvdmVyZmxvdyJdLHJvdW5kZWQ6WyJyb3VuZGVkLXMiLCJyb3VuZGVkLWUiLCJyb3VuZGVkLXQiLCJyb3VuZGVkLXIiLCJyb3VuZGVkLWIiLCJyb3VuZGVkLWwiLCJyb3VuZGVkLXNzIiwicm91bmRlZC1zZSIsInJvdW5kZWQtZWUiLCJyb3VuZGVkLWVzIiwicm91bmRlZC10bCIsInJvdW5kZWQtdHIiLCJyb3VuZGVkLWJyIiwicm91bmRlZC1ibCJdLCJyb3VuZGVkLXMiOlsicm91bmRlZC1zcyIsInJvdW5kZWQtZXMiXSwicm91bmRlZC1lIjpbInJvdW5kZWQtc2UiLCJyb3VuZGVkLWVlIl0sInJvdW5kZWQtdCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC10ciJdLCJyb3VuZGVkLXIiOlsicm91bmRlZC10ciIsInJvdW5kZWQtYnIiXSwicm91bmRlZC1iIjpbInJvdW5kZWQtYnIiLCJyb3VuZGVkLWJsIl0sInJvdW5kZWQtbCI6WyJyb3VuZGVkLXRsIiwicm91bmRlZC1ibCJdLCJib3JkZXItc3BhY2luZyI6WyJib3JkZXItc3BhY2luZy14IiwiYm9yZGVyLXNwYWNpbmcteSJdLCJib3JkZXItdyI6WyJib3JkZXItdy14IiwiYm9yZGVyLXcteSIsImJvcmRlci13LXMiLCJib3JkZXItdy1lIiwiYm9yZGVyLXctYnMiLCJib3JkZXItdy1iZSIsImJvcmRlci13LXQiLCJib3JkZXItdy1yIiwiYm9yZGVyLXctYiIsImJvcmRlci13LWwiXSwiYm9yZGVyLXcteCI6WyJib3JkZXItdy1yIiwiYm9yZGVyLXctbCJdLCJib3JkZXItdy15IjpbImJvcmRlci13LXQiLCJib3JkZXItdy1iIl0sImJvcmRlci1jb2xvciI6WyJib3JkZXItY29sb3IteCIsImJvcmRlci1jb2xvci15IiwiYm9yZGVyLWNvbG9yLXMiLCJib3JkZXItY29sb3ItZSIsImJvcmRlci1jb2xvci1icyIsImJvcmRlci1jb2xvci1iZSIsImJvcmRlci1jb2xvci10IiwiYm9yZGVyLWNvbG9yLXIiLCJib3JkZXItY29sb3ItYiIsImJvcmRlci1jb2xvci1sIl0sImJvcmRlci1jb2xvci14IjpbImJvcmRlci1jb2xvci1yIiwiYm9yZGVyLWNvbG9yLWwiXSwiYm9yZGVyLWNvbG9yLXkiOlsiYm9yZGVyLWNvbG9yLXQiLCJib3JkZXItY29sb3ItYiJdLHRyYW5zbGF0ZTpbInRyYW5zbGF0ZS14IiwidHJhbnNsYXRlLXkiLCJ0cmFuc2xhdGUtbm9uZSJdLCJ0cmFuc2xhdGUtbm9uZSI6WyJ0cmFuc2xhdGUiLCJ0cmFuc2xhdGUteCIsInRyYW5zbGF0ZS15IiwidHJhbnNsYXRlLXoiXSwic2Nyb2xsLW0iOlsic2Nyb2xsLW14Iiwic2Nyb2xsLW15Iiwic2Nyb2xsLW1zIiwic2Nyb2xsLW1lIiwic2Nyb2xsLW1icyIsInNjcm9sbC1tYmUiLCJzY3JvbGwtbXQiLCJzY3JvbGwtbXIiLCJzY3JvbGwtbWIiLCJzY3JvbGwtbWwiXSwic2Nyb2xsLW14IjpbInNjcm9sbC1tciIsInNjcm9sbC1tbCJdLCJzY3JvbGwtbXkiOlsic2Nyb2xsLW10Iiwic2Nyb2xsLW1iIl0sInNjcm9sbC1wIjpbInNjcm9sbC1weCIsInNjcm9sbC1weSIsInNjcm9sbC1wcyIsInNjcm9sbC1wZSIsInNjcm9sbC1wYnMiLCJzY3JvbGwtcGJlIiwic2Nyb2xsLXB0Iiwic2Nyb2xsLXByIiwic2Nyb2xsLXBiIiwic2Nyb2xsLXBsIl0sInNjcm9sbC1weCI6WyJzY3JvbGwtcHIiLCJzY3JvbGwtcGwiXSwic2Nyb2xsLXB5IjpbInNjcm9sbC1wdCIsInNjcm9sbC1wYiJdLHRvdWNoOlsidG91Y2gteCIsInRvdWNoLXkiLCJ0b3VjaC1weiJdLCJ0b3VjaC14IjpbInRvdWNoIl0sInRvdWNoLXkiOlsidG91Y2giXSwidG91Y2gtcHoiOlsidG91Y2giXX0sY29uZmxpY3RpbmdDbGFzc0dyb3VwTW9kaWZpZXJzOnsiZm9udC1zaXplIjpbImxlYWRpbmciXX0sb3JkZXJTZW5zaXRpdmVNb2RpZmllcnM6WyIqIiwiKioiLCJhZnRlciIsImJhY2tkcm9wIiwiYmVmb3JlIiwiZGV0YWlscy1jb250ZW50IiwiZmlsZSIsImZpcnN0LWxldHRlciIsImZpcnN0LWxpbmUiLCJtYXJrZXIiLCJwbGFjZWhvbGRlciIsInNlbGVjdGlvbiJdfX0pO2Z1bmN0aW9uIGVwKC4uLmUpe3JldHVybiBlbShyKGUpKX1mdW5jdGlvbiBlYihlLHIpe3JldHVybmAvY29pbi8ke2UudG9VcHBlckNhc2UoKX0vJHtlbmNvZGVVUklDb21wb25lbnQoci50cmltKCkucmVwbGFjZSgvXHMrL2csIi0iKSl9YH1sZXQgZXU9bmV3IFNldChbImNvaW5saWIuaW8iLCJ3d3cuY29pbmxpYi5pbyIsImNvaW5saWIudmVyY2VsLmFwcCJdKTtmdW5jdGlvbiBlZihlKXtpZighZXx8ZS5zdGFydHNXaXRoKCIvIil8fGUuc3RhcnRzV2l0aCgiIyIpKXJldHVybiExO2lmKC9eKG1haWx0b3x0ZWwpOi9pLnRlc3QoZSkpcmV0dXJuITA7dHJ5e2xldCByPW5ldyBVUkwoZSk7cmV0dXJuIWV1LmhhcyhyLmhvc3RuYW1lKX1jYXRjaHtyZXR1cm4hMX19bGV0IGVnPW5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHtub3RhdGlvbjoiY29tcGFjdCIsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjJ9KTtmdW5jdGlvbiBlaChlKXtyZXR1cm4gZWcuZm9ybWF0KGUpfWZ1bmN0aW9uIGVrKGUscj0idXNkIil7cmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCgiZW4tVVMiLHtzdHlsZToiY3VycmVuY3kiLGN1cnJlbmN5OnIudG9VcHBlckNhc2UoKSxtaW5pbXVtRnJhY3Rpb25EaWdpdHM6MixtYXhpbXVtRnJhY3Rpb25EaWdpdHM6ZTwxPzY6ZTwxMDA/NDoyfSkuZm9ybWF0KGUpfWZ1bmN0aW9uIGV3KGUpe3JldHVybmAke2U+PTA/IisiOiIifSR7ZS50b0ZpeGVkKDIpfSVgfWZ1bmN0aW9uIGV4KGUpe3JldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoImVuLVVTIikuZm9ybWF0KGUpfWUucyhbImNuIiwoKT0+ZXAsImNvaW5VcmwiLCgpPT5lYiwiZm9ybWF0Q29tcGFjdCIsKCk9PmVoLCJmb3JtYXROdW1iZXIiLCgpPT5leCwiZm9ybWF0UGVyY2VudGFnZSIsKCk9PmV3LCJmb3JtYXRQcmljZSIsKCk9PmVrLCJpc0V4dGVybmFsVXJsIiwoKT0+ZWZdLDc1MTU3KX1dKTs="}},"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":"coinlib.io/_next/static/chunks/4815a758657d4bae.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.537Z","timestamp":1785129949537,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/4815a758657d4bae.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 3817465\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"4815a758657d4bae.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"9b4f6d29f92ea43b7c7ef4770fbed76a\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/4815a758657d4bae.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::98lrq-1781312483644-7e3fe14e464a\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=tVfxFHi4RpePRVWryWNGsm24HOFfJnHf8KrEMzcSV3Ud2gGKA6n4QBPDYfz0P308tq%2BaoBVJ9oCKEOvWjSrdpxOyE5NNj9mP70Layy08VlLVN5LS4W5uubD3zACI\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c89d31a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":49883,"size_decoded":17716,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (49883), with no line terminators","md5":"9b4f6d29f92ea43b7c7ef4770fbed76a","sha1":"bdad2044ced7e4c0208e62e5650f99140e88aeb6","sha256":"6fb06a5d29509dddf687974e467d8274ef9ef0f6bec7c841fd8336543c9a3f74","sha512":"06ec26c380efdf73315dfc21639732033b79b7869acaed6d4a6697c4d441500bb21f57311b543ee176e2b31b775cff20bc5e611dfff3cca3a3a5c30c8338262f","ssdeep":"1536:UIYGGTQpo7UFYEpzussak11xgaAF+j/G7qWF:UIYGKO+UFZaJgaUt7/","tlshash":"f023d4c971e5b4900bb395b1803f000bf23e1d76185d98a0d3a2dde9b8b45aed233f99","first_seen":"2026-06-13T02:21:16.211868Z","last_seen":"2026-08-15T07:58:28.199154Z","times_seen":1916,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkzMDYzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJSZWRpcmVjdFN0YXR1c0NvZGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO3ZhciByLG89KChyPXt9KVtyLlNlZU90aGVyPTMwM109IlNlZU90aGVyIixyW3IuVGVtcG9yYXJ5UmVkaXJlY3Q9MzA3XT0iVGVtcG9yYXJ5UmVkaXJlY3QiLHJbci5QZXJtYW5lbnRSZWRpcmVjdD0zMDhdPSJQZXJtYW5lbnRSZWRpcmVjdCIscik7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTA4NjIsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHIsbz17UkVESVJFQ1RfRVJST1JfQ09ERTpmdW5jdGlvbigpe3JldHVybiBhfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0saXNSZWRpcmVjdEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIHUgaW4gbylPYmplY3QuZGVmaW5lUHJvcGVydHkobix1LHtlbnVtZXJhYmxlOiEwLGdldDpvW3VdfSk7bGV0IGk9ZS5yKDkzMDYzKSxhPSJORVhUX1JFRElSRUNUIjt2YXIgbD0oKHI9e30pLnB1c2g9InB1c2giLHIucmVwbGFjZT0icmVwbGFjZSIscik7ZnVuY3Rpb24gcyhlKXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwhKCJkaWdlc3QiaW4gZSl8fCJzdHJpbmciIT10eXBlb2YgZS5kaWdlc3QpcmV0dXJuITE7bGV0IHQ9ZS5kaWdlc3Quc3BsaXQoIjsiKSxbbixyXT10LG89dC5zbGljZSgyLC0yKS5qb2luKCI7IiksdT1OdW1iZXIodC5hdCgtMikpO3JldHVybiBuPT09YSYmKCJyZXBsYWNlIj09PXJ8fCJwdXNoIj09PXIpJiYic3RyaW5nIj09dHlwZW9mIG8mJiFpc05hTih1KSYmdSBpbiBpLlJlZGlyZWN0U3RhdHVzQ29kZX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzNDY0MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17QUNUSU9OX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBpfSxGTElHSFRfSEVBREVSUzpmdW5jdGlvbigpe3JldHVybiB5fSxORVhUX0FDVElPTl9OT1RfRk9VTkRfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIEV9LE5FWFRfQUNUSU9OX1JFVkFMSURBVEVEX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBPfSxORVhUX0RJRF9QT1NUUE9ORV9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gX30sTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRTpmdW5jdGlvbigpe3JldHVybiBmfSxORVhUX0hNUl9SRUZSRVNIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBjfSxORVhUX0hUTUxfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gUn0sTkVYVF9JU19QUkVSRU5ERVJfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIG19LE5FWFRfUkVRVUVTVF9JRF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gU30sTkVYVF9SRVdSSVRURU5fUEFUSF9IRUFERVI6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sTkVYVF9SRVdSSVRURU5fUVVFUllfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBsfSxORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBzfSxORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBofSxORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBhfSxORVhUX1JTQ19VTklPTl9RVUVSWTpmdW5jdGlvbigpe3JldHVybiB2fSxORVhUX1VSTDpmdW5jdGlvbigpe3JldHVybiBkfSxSU0NfQ09OVEVOVF9UWVBFX0hFQURFUjpmdW5jdGlvbigpe3JldHVybiBwfSxSU0NfSEVBREVSOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIG8gaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixvLHtlbnVtZXJhYmxlOiEwLGdldDpyW29dfSk7bGV0IHU9InJzYyIsaT0ibmV4dC1hY3Rpb24iLGE9Im5leHQtcm91dGVyLXN0YXRlLXRyZWUiLGw9Im5leHQtcm91dGVyLXByZWZldGNoIixzPSJuZXh0LXJvdXRlci1zZWdtZW50LXByZWZldGNoIixjPSJuZXh0LWhtci1yZWZyZXNoIixmPSJfX25leHRfaG1yX3JlZnJlc2hfaGFzaF9fIixkPSJuZXh0LXVybCIscD0idGV4dC94LWNvbXBvbmVudCIseT1bdSxhLGwsYyxzXSx2PSJfcnNjIixoPSJ4LW5leHRqcy1zdGFsZS10aW1lIixfPSJ4LW5leHRqcy1wb3N0cG9uZWQiLGI9IngtbmV4dGpzLXJld3JpdHRlbi1wYXRoIixnPSJ4LW5leHRqcy1yZXdyaXR0ZW4tcXVlcnkiLG09IngtbmV4dGpzLXByZXJlbmRlciIsRT0ieC1uZXh0anMtYWN0aW9uLW5vdC1mb3VuZCIsUz0ieC1uZXh0anMtcmVxdWVzdC1pZCIsUj0ieC1uZXh0anMtaHRtbC1yZXF1ZXN0LWlkIixPPSJ4LWFjdGlvbi1yZXZhbGlkYXRlZCI7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sMjc0NTQsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e0RFRkFVTFRfU0VHTUVOVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sTk9UX0ZPVU5EX1NFR01FTlRfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFBBR0VfU0VHTUVOVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gY30sYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudDpmdW5jdGlvbigpe3JldHVybiBsfSxjb21wdXRlU2VsZWN0ZWRMYXlvdXRTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHN9LGdldFNlZ21lbnRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiB1fSxnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLHI9ITAsbz1bXSl7bGV0IGk7aWYocilpPXRbMV1bbl07ZWxzZXtsZXQgZT10WzFdO2k9ZS5jaGlsZHJlbj8/T2JqZWN0LnZhbHVlcyhlKVswXX1pZighaSlyZXR1cm4gbztsZXQgYT11KGlbMF0pO3JldHVybiFhfHxhLnN0YXJ0c1dpdGgoYyk/bzooby5wdXNoKGEpLGUoaSxuLCExLG8pKX19LGlzR3JvdXBTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzUGFyYWxsZWxSb3V0ZVNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtmdW5jdGlvbiB1KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2VbMV06ZX1mdW5jdGlvbiBpKGUpe3JldHVybiIoIj09PWVbMF0mJmUuZW5kc1dpdGgoIikiKX1mdW5jdGlvbiBhKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoIkAiKSYmIkBjaGlsZHJlbiIhPT1lfWZ1bmN0aW9uIGwoZSx0KXtpZihlLmluY2x1ZGVzKGMpKXtsZXQgZT1KU09OLnN0cmluZ2lmeSh0KTtyZXR1cm4ie30iIT09ZT9jKyI/IitlOmN9cmV0dXJuIGV9ZnVuY3Rpb24gcyhlLHQpe2lmKCFlfHwwPT09ZS5sZW5ndGgpcmV0dXJuIG51bGw7bGV0IG49ImNoaWxkcmVuIj09PXQ/ZVswXTplW2UubGVuZ3RoLTFdO3JldHVybiBuPT09Zj9udWxsOm59bGV0IGM9Il9fUEFHRV9fIixmPSJfX0RFRkFVTFRfXyIsZD0iL19ub3QtZm91bmQifSw3NTA1MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17VW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBvIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbyx7ZW51bWVyYWJsZTohMCxnZXQ6cltvXX0pO2NsYXNzIHUgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLm5hbWU9IlVucmVjb2duaXplZEFjdGlvbkVycm9yIn19ZnVuY3Rpb24gaShlKXtyZXR1cm4hIShlJiYib2JqZWN0Ij09dHlwZW9mIGUmJmUgaW5zdGFuY2VvZiB1KX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5NzA4OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiYWN0aW9uQXN5bmNTdG9yYWdlSW5zdGFuY2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPSgwLGUucig0OTIxMSkuY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2UpKCl9LDIzNzA4LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJhY3Rpb25Bc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLmFjdGlvbkFzeW5jU3RvcmFnZUluc3RhbmNlfX0pO2xldCByPWUucig5NzA4OCl9LDQxNzIxLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtnZXRSZWRpcmVjdEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvcjpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZn0scGVybWFuZW50UmVkaXJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY30scmVkaXJlY3Q6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtsZXQgdT1lLnIoOTMwNjMpLGk9ZS5yKDkwODYyKSxhPSJ1Ijx0eXBlb2Ygd2luZG93P2UucigyMzcwOCkuYWN0aW9uQXN5bmNTdG9yYWdlOnZvaWQgMDtmdW5jdGlvbiBsKGUsdCxuPXUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KXtsZXQgcj1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoaS5SRURJUkVDVF9FUlJPUl9DT0RFKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTM5NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gci5kaWdlc3Q9YCR7aS5SRURJUkVDVF9FUlJPUl9DT0RFfTske3R9OyR7ZX07JHtufTtgLHJ9ZnVuY3Rpb24gcyhlLHQpe3Rocm93IGwoZSx0Pz89YT8uZ2V0U3RvcmUoKT8uaXNBY3Rpb24/aS5SZWRpcmVjdFR5cGUucHVzaDppLlJlZGlyZWN0VHlwZS5yZXBsYWNlLHUuUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KX1mdW5jdGlvbiBjKGUsdD1pLlJlZGlyZWN0VHlwZS5yZXBsYWNlKXt0aHJvdyBsKGUsdCx1LlJlZGlyZWN0U3RhdHVzQ29kZS5QZXJtYW5lbnRSZWRpcmVjdCl9ZnVuY3Rpb24gZihlKXtyZXR1cm4oMCxpLmlzUmVkaXJlY3RFcnJvcikoZSk/ZS5kaWdlc3Quc3BsaXQoIjsiKS5zbGljZSgyLC0yKS5qb2luKCI7Iik6bnVsbH1mdW5jdGlvbiBkKGUpe2lmKCEoMCxpLmlzUmVkaXJlY3RFcnJvcikoZSkpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJOb3QgYSByZWRpcmVjdCBlcnJvciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjYwIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiBlLmRpZ2VzdC5zcGxpdCgiOyIsMilbMV19ZnVuY3Rpb24gcChlKXtpZighKDAsaS5pc1JlZGlyZWN0RXJyb3IpKGUpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiTm90IGEgcmVkaXJlY3QgZXJyb3IiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTI2MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gTnVtYmVyKGUuZGlnZXN0LnNwbGl0KCI7IikuYXQoLTIpKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwxNjg3MiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17QXBwUm91dGVyQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBpfSxHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9LExheW91dFJvdXRlckNvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sTWlzc2luZ1Nsb3RDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFRlbXBsYXRlQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBvIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbyx7ZW51bWVyYWJsZTohMCxnZXQ6cltvXX0pO2xldCB1PWUucig4MTI1OCkuXyhlLnIoNzUyMDEpKSxpPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGE9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCksbD11LmRlZmF1bHQuY3JlYXRlQ29udGV4dChudWxsKSxzPXUuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpLGM9dS5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobmV3IFNldCl9LDYzMTY1LChlLHQsbik9Pnt2YXIgcj17MjI5OmZ1bmN0aW9uKGUpe3ZhciB0LG4scixvPWUuZXhwb3J0cz17fTtmdW5jdGlvbiB1KCl7dGhyb3cgRXJyb3IoInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQiKX1mdW5jdGlvbiBpKCl7dGhyb3cgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfXRyeXt0PSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dX1jYXRjaChlKXt0PXV9dHJ5e249ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6aX1jYXRjaChlKXtuPWl9ZnVuY3Rpb24gYShlKXtpZih0PT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKCh0PT09dXx8IXQpJiZzZXRUaW1lb3V0KXJldHVybiB0PXNldFRpbWVvdXQsc2V0VGltZW91dChlLDApO3RyeXtyZXR1cm4gdChlLDApfWNhdGNoKG4pe3RyeXtyZXR1cm4gdC5jYWxsKG51bGwsZSwwKX1jYXRjaChuKXtyZXR1cm4gdC5jYWxsKHRoaXMsZSwwKX19fXZhciBsPVtdLHM9ITEsYz0tMTtmdW5jdGlvbiBmKCl7cyYmciYmKHM9ITEsci5sZW5ndGg/bD1yLmNvbmNhdChsKTpjPS0xLGwubGVuZ3RoJiZkKCkpfWZ1bmN0aW9uIGQoKXtpZighcyl7dmFyIGU9YShmKTtzPSEwO2Zvcih2YXIgdD1sLmxlbmd0aDt0Oyl7Zm9yKHI9bCxsPVtdOysrYzx0OylyJiZyW2NdLnJ1bigpO2M9LTEsdD1sLmxlbmd0aH1yPW51bGwscz0hMSxmdW5jdGlvbihlKXtpZihuPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQoZSk7aWYoKG49PT1pfHwhbikmJmNsZWFyVGltZW91dClyZXR1cm4gbj1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KGUpO3RyeXtuKGUpfWNhdGNoKHQpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsZSl9Y2F0Y2godCl7cmV0dXJuIG4uY2FsbCh0aGlzLGUpfX19KGUpfX1mdW5jdGlvbiBwKGUsdCl7dGhpcy5mdW49ZSx0aGlzLmFycmF5PXR9ZnVuY3Rpb24geSgpe31vLm5leHRUaWNrPWZ1bmN0aW9uKGUpe3ZhciB0PUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuLTFdPWFyZ3VtZW50c1tuXTtsLnB1c2gobmV3IHAoZSx0KSksMSE9PWwubGVuZ3RofHxzfHxhKGQpfSxwLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxvLnRpdGxlPSJicm93c2VyIixvLmJyb3dzZXI9ITAsby5lbnY9e30sby5hcmd2PVtdLG8udmVyc2lvbj0iIixvLnZlcnNpb25zPXt9LG8ub249eSxvLmFkZExpc3RlbmVyPXksby5vbmNlPXksby5vZmY9eSxvLnJlbW92ZUxpc3RlbmVyPXksby5yZW1vdmVBbGxMaXN0ZW5lcnM9eSxvLmVtaXQ9eSxvLnByZXBlbmRMaXN0ZW5lcj15LG8ucHJlcGVuZE9uY2VMaXN0ZW5lcj15LG8ubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfSxvLmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoInByb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkIil9LG8uY3dkPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifSxvLmNoZGlyPWZ1bmN0aW9uKGUpe3Rocm93IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0sby51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfX19LG89e307ZnVuY3Rpb24gdShlKXt2YXIgdD1vW2VdO2lmKHZvaWQgMCE9PXQpcmV0dXJuIHQuZXhwb3J0czt2YXIgbj1vW2VdPXtleHBvcnRzOnt9fSxpPSEwO3RyeXtyW2VdKG4sbi5leHBvcnRzLHUpLGk9ITF9ZmluYWxseXtpJiZkZWxldGUgb1tlXX1yZXR1cm4gbi5leHBvcnRzfXUuYWI9Ii9ST09UL25vZGVfbW9kdWxlcy8ucG5wbS9uZXh0QDE2LjEuNl9AYmFiZWwrY29yZUA3LjI5LjBfcmVhY3QtZG9tQDE5LjIuM19yZWFjdEAxOS4yLjNfX3JlYWN0QDE5LjIuMy9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3Byb2Nlc3MvIix0LmV4cG9ydHM9dSgyMjkpfSw4MjYzNywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByLG87dC5leHBvcnRzPShudWxsPT0ocj1lLmcucHJvY2Vzcyk/dm9pZCAwOnIuZW52KSYmIm9iamVjdCI9PXR5cGVvZihudWxsPT0obz1lLmcucHJvY2Vzcyk/dm9pZCAwOm8uZW52KT9lLmcucHJvY2VzczplLnIoNjMxNjUpfSw5OTI5MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50Iik7ZnVuY3Rpb24gbyhlLHQsbil7dmFyIG89bnVsbDtpZih2b2lkIDAhPT1uJiYobz0iIituKSx2b2lkIDAhPT10LmtleSYmKG89IiIrdC5rZXkpLCJrZXkiaW4gdClmb3IodmFyIHUgaW4gbj17fSx0KSJrZXkiIT09dSYmKG5bdV09dFt1XSk7ZWxzZSBuPXQ7cmV0dXJueyQkdHlwZW9mOnIsdHlwZTplLGtleTpvLHJlZjp2b2lkIDAhPT0odD1uLnJlZik/dDpudWxsLHByb3BzOm59fW4uRnJhZ21lbnQ9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxuLmpzeD1vLG4uanN4cz1vfSw5ODEzNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoOTkyOTMpfSw2MzQxNywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPWUuaSg4MjYzNyksbz1TeW1ib2wuZm9yKCJyZWFjdC50cmFuc2l0aW9uYWwuZWxlbWVudCIpLHU9U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIiksaT1TeW1ib2wuZm9yKCJyZWFjdC5mcmFnbWVudCIpLGE9U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKSxsPVN5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIikscz1TeW1ib2wuZm9yKCJyZWFjdC5jb25zdW1lciIpLGM9U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpLGY9U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKSxkPVN5bWJvbC5mb3IoInJlYWN0LnN1c3BlbnNlIikscD1TeW1ib2wuZm9yKCJyZWFjdC5tZW1vIikseT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuZm9yKCJyZWFjdC5hY3Rpdml0eSIpLGg9U3ltYm9sLmZvcigicmVhY3Qudmlld190cmFuc2l0aW9uIiksXz1TeW1ib2wuaXRlcmF0b3IsYj17aXNNb3VudGVkOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbigpe30sZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKCl7fX0sZz1PYmplY3QuYXNzaWduLG09e307ZnVuY3Rpb24gRShlLHQsbil7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10LHRoaXMucmVmcz1tLHRoaXMudXBkYXRlcj1ufHxifWZ1bmN0aW9uIFMoKXt9ZnVuY3Rpb24gUihlLHQsbil7dGhpcy5wcm9wcz1lLHRoaXMuY29udGV4dD10LHRoaXMucmVmcz1tLHRoaXMudXBkYXRlcj1ufHxifUUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9e30sRS5wcm90b3R5cGUuc2V0U3RhdGU9ZnVuY3Rpb24oZSx0KXtpZigib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlJiZudWxsIT1lKXRocm93IEVycm9yKCJ0YWtlcyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzIHRvIHVwZGF0ZSBvciBhIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgYW4gb2JqZWN0IG9mIHN0YXRlIHZhcmlhYmxlcy4iKTt0aGlzLnVwZGF0ZXIuZW5xdWV1ZVNldFN0YXRlKHRoaXMsZSx0LCJzZXRTdGF0ZSIpfSxFLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihlKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsZSwiZm9yY2VVcGRhdGUiKX0sUy5wcm90b3R5cGU9RS5wcm90b3R5cGU7dmFyIE89Ui5wcm90b3R5cGU9bmV3IFM7Ty5jb25zdHJ1Y3Rvcj1SLGcoTyxFLnByb3RvdHlwZSksTy5pc1B1cmVSZWFjdENvbXBvbmVudD0hMDt2YXIgdz1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIFQoKXt9dmFyIGo9e0g6bnVsbCxBOm51bGwsVDpudWxsLFM6bnVsbH0sQT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGsoZSx0LG4pe3ZhciByPW4ucmVmO3JldHVybnskJHR5cGVvZjpvLHR5cGU6ZSxrZXk6dCxyZWY6dm9pZCAwIT09cj9yOm51bGwscHJvcHM6bn19ZnVuY3Rpb24gQyhlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09b312YXIgTj0vXC8rL2c7ZnVuY3Rpb24gUChlLHQpe3ZhciBuLHI7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmbnVsbCE9ZS5rZXk/KG49IiIrZS5rZXkscj17Ij0iOiI9MCIsIjoiOiI9MiJ9LCIkIituLnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihlKXtyZXR1cm4gcltlXX0pKTp0LnRvU3RyaW5nKDM2KX1mdW5jdGlvbiB4KGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciByPVtdLGk9MDtyZXR1cm4hZnVuY3Rpb24gZSh0LG4scixpLGEpe3ZhciBsLHMsYyxmPXR5cGVvZiB0OygidW5kZWZpbmVkIj09PWZ8fCJib29sZWFuIj09PWYpJiYodD1udWxsKTt2YXIgZD0hMTtpZihudWxsPT09dClkPSEwO2Vsc2Ugc3dpdGNoKGYpe2Nhc2UiYmlnaW50IjpjYXNlInN0cmluZyI6Y2FzZSJudW1iZXIiOmQ9ITA7YnJlYWs7Y2FzZSJvYmplY3QiOnN3aXRjaCh0LiQkdHlwZW9mKXtjYXNlIG86Y2FzZSB1OmQ9ITA7YnJlYWs7Y2FzZSB5OnJldHVybiBlKChkPXQuX2luaXQpKHQuX3BheWxvYWQpLG4scixpLGEpfX1pZihkKXJldHVybiBhPWEodCksZD0iIj09PWk/Ii4iK1AodCwwKTppLHcoYSk/KHI9IiIsbnVsbCE9ZCYmKHI9ZC5yZXBsYWNlKE4sIiQmLyIpKyIvIiksZShhLG4sciwiIixmdW5jdGlvbihlKXtyZXR1cm4gZX0pKTpudWxsIT1hJiYoQyhhKSYmKGw9YSxzPXIrKG51bGw9PWEua2V5fHx0JiZ0LmtleT09PWEua2V5PyIiOigiIithLmtleSkucmVwbGFjZShOLCIkJi8iKSsiLyIpK2QsYT1rKGwudHlwZSxzLGwucHJvcHMpKSxuLnB1c2goYSkpLDE7ZD0wO3ZhciBwPSIiPT09aT8iLiI6aSsiOiI7aWYodyh0KSlmb3IodmFyIHY9MDt2PHQubGVuZ3RoO3YrKylmPXArUChpPXRbdl0sdiksZCs9ZShpLG4scixmLGEpO2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mKHY9bnVsbD09PShjPXQpfHwib2JqZWN0IiE9dHlwZW9mIGM/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoYz1fJiZjW19dfHxjWyJAQGl0ZXJhdG9yIl0pP2M6bnVsbCkpZm9yKHQ9di5jYWxsKHQpLHY9MDshKGk9dC5uZXh0KCkpLmRvbmU7KWY9cCtQKGk9aS52YWx1ZSx2KyspLGQrPWUoaSxuLHIsZixhKTtlbHNlIGlmKCJvYmplY3QiPT09Zil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbilyZXR1cm4gZShmdW5jdGlvbihlKXtzd2l0Y2goZS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZS52YWx1ZTtjYXNlInJlamVjdGVkIjp0aHJvdyBlLnJlYXNvbjtkZWZhdWx0OnN3aXRjaCgic3RyaW5nIj09dHlwZW9mIGUuc3RhdHVzP2UudGhlbihULFQpOihlLnN0YXR1cz0icGVuZGluZyIsZS50aGVuKGZ1bmN0aW9uKHQpeyJwZW5kaW5nIj09PWUuc3RhdHVzJiYoZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT10KX0sZnVuY3Rpb24odCl7InBlbmRpbmciPT09ZS5zdGF0dXMmJihlLnN0YXR1cz0icmVqZWN0ZWQiLGUucmVhc29uPXQpfSkpLGUuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIGUudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgZS5yZWFzb259fXRocm93IGV9KHQpLG4scixpLGEpO3Rocm93IEVycm9yKCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICIrKCJbb2JqZWN0IE9iamVjdF0iPT09KG49U3RyaW5nKHQpKT8ib2JqZWN0IHdpdGgga2V5cyB7IitPYmplY3Qua2V5cyh0KS5qb2luKCIsICIpKyJ9IjpuKSsiKS4gSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSBpbnN0ZWFkLiIpfXJldHVybiBkfShlLHIsIiIsIiIsZnVuY3Rpb24oZSl7cmV0dXJuIHQuY2FsbChuLGUsaSsrKX0pLHJ9ZnVuY3Rpb24gRChlKXtpZigtMT09PWUuX3N0YXR1cyl7dmFyIHQ9ZS5fcmVzdWx0Oyh0PXQoKSkudGhlbihmdW5jdGlvbih0KXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTEsZS5fcmVzdWx0PXQpfSxmdW5jdGlvbih0KXsoMD09PWUuX3N0YXR1c3x8LTE9PT1lLl9zdGF0dXMpJiYoZS5fc3RhdHVzPTIsZS5fcmVzdWx0PXQpfSksLTE9PT1lLl9zdGF0dXMmJihlLl9zdGF0dXM9MCxlLl9yZXN1bHQ9dCl9aWYoMT09PWUuX3N0YXR1cylyZXR1cm4gZS5fcmVzdWx0LmRlZmF1bHQ7dGhyb3cgZS5fcmVzdWx0fXZhciBNPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjpmdW5jdGlvbihlKXtpZigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmImZ1bmN0aW9uIj09dHlwZW9mIHdpbmRvdy5FcnJvckV2ZW50KXt2YXIgdD1uZXcgd2luZG93LkVycm9yRXZlbnQoImVycm9yIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiEwLG1lc3NhZ2U6Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmInN0cmluZyI9PXR5cGVvZiBlLm1lc3NhZ2U/U3RyaW5nKGUubWVzc2FnZSk6U3RyaW5nKGUpLGVycm9yOmV9KTtpZighd2luZG93LmRpc3BhdGNoRXZlbnQodCkpcmV0dXJufWVsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJiJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHQuZW1pdClyZXR1cm4gdm9pZCByLmRlZmF1bHQuZW1pdCgidW5jYXVnaHRFeGNlcHRpb24iLGUpO2NvbnNvbGUuZXJyb3IoZSl9O2Z1bmN0aW9uICQoZSl7dmFyIHQ9ai5ULG49e307bi50eXBlcz1udWxsIT09dD90LnR5cGVzOm51bGwsai5UPW47dHJ5e3ZhciByPWUoKSxvPWouUztudWxsIT09byYmbyhuLHIpLCJvYmplY3QiPT10eXBlb2YgciYmbnVsbCE9PXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLnRoZW4mJnIudGhlbihULE0pfWNhdGNoKGUpe00oZSl9ZmluYWxseXtudWxsIT09dCYmbnVsbCE9PW4udHlwZXMmJih0LnR5cGVzPW4udHlwZXMpLGouVD10fX1mdW5jdGlvbiBJKGUpe3ZhciB0PWouVDtpZihudWxsIT09dCl7dmFyIG49dC50eXBlcztudWxsPT09bj90LnR5cGVzPVtlXTotMT09PW4uaW5kZXhPZihlKSYmbi5wdXNoKGUpfWVsc2UgJChJLmJpbmQobnVsbCxlKSl9bi5BY3Rpdml0eT12LG4uQ2hpbGRyZW49e21hcDp4LGZvckVhY2g6ZnVuY3Rpb24oZSx0LG4pe3goZSxmdW5jdGlvbigpe3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxuKX0sY291bnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9MDtyZXR1cm4geChlLGZ1bmN0aW9uKCl7dCsrfSksdH0sdG9BcnJheTpmdW5jdGlvbihlKXtyZXR1cm4geChlLGZ1bmN0aW9uKGUpe3JldHVybiBlfSl8fFtdfSxvbmx5OmZ1bmN0aW9uKGUpe2lmKCFDKGUpKXRocm93IEVycm9yKCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC4iKTtyZXR1cm4gZX19LG4uQ29tcG9uZW50PUUsbi5GcmFnbWVudD1pLG4uUHJvZmlsZXI9bCxuLlB1cmVDb21wb25lbnQ9UixuLlN0cmljdE1vZGU9YSxuLlN1c3BlbnNlPWQsbi5WaWV3VHJhbnNpdGlvbj1oLG4uX19DTElFTlRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWosbi5fX0NPTVBJTEVSX1JVTlRJTUU9e19fcHJvdG9fXzpudWxsLGM6ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VNZW1vQ2FjaGUoZSl9fSxuLmFkZFRyYW5zaXRpb25UeXBlPUksbi5jYWNoZT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseShudWxsLGFyZ3VtZW50cyl9fSxuLmNhY2hlU2lnbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LG4uY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGUsdCxuKXtpZihudWxsPT1lKXRocm93IEVycm9yKCJUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkICIrZSsiLiIpO3ZhciByPWcoe30sZS5wcm9wcyksbz1lLmtleTtpZihudWxsIT10KWZvcih1IGluIHZvaWQgMCE9PXQua2V5JiYobz0iIit0LmtleSksdClBLmNhbGwodCx1KSYmImtleSIhPT11JiYiX19zZWxmIiE9PXUmJiJfX3NvdXJjZSIhPT11JiYoInJlZiIhPT11fHx2b2lkIDAhPT10LnJlZikmJihyW3VdPXRbdV0pO3ZhciB1PWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09dSlyLmNoaWxkcmVuPW47ZWxzZSBpZigxPHUpe2Zvcih2YXIgaT1BcnJheSh1KSxhPTA7YTx1O2ErKylpW2FdPWFyZ3VtZW50c1thKzJdO3IuY2hpbGRyZW49aX1yZXR1cm4gayhlLnR5cGUsbyxyKX0sbi5jcmVhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3JldHVybihlPXskJHR5cGVvZjpjLF9jdXJyZW50VmFsdWU6ZSxfY3VycmVudFZhbHVlMjplLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbH0pLlByb3ZpZGVyPWUsZS5Db25zdW1lcj17JCR0eXBlb2Y6cyxfY29udGV4dDplfSxlfSxuLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG89e30sdT1udWxsO2lmKG51bGwhPXQpZm9yKHIgaW4gdm9pZCAwIT09dC5rZXkmJih1PSIiK3Qua2V5KSx0KUEuY2FsbCh0LHIpJiYia2V5IiE9PXImJiJfX3NlbGYiIT09ciYmIl9fc291cmNlIiE9PXImJihvW3JdPXRbcl0pO3ZhciBpPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09aSlvLmNoaWxkcmVuPW47ZWxzZSBpZigxPGkpe2Zvcih2YXIgYT1BcnJheShpKSxsPTA7bDxpO2wrKylhW2xdPWFyZ3VtZW50c1tsKzJdO28uY2hpbGRyZW49YX1pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IociBpbiBpPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PW9bcl0mJihvW3JdPWlbcl0pO3JldHVybiBrKGUsdSxvKX0sbi5jcmVhdGVSZWY9ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDpudWxsfX0sbi5mb3J3YXJkUmVmPWZ1bmN0aW9uKGUpe3JldHVybnskJHR5cGVvZjpmLHJlbmRlcjplfX0sbi5pc1ZhbGlkRWxlbWVudD1DLG4ubGF6eT1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6eSxfcGF5bG9hZDp7X3N0YXR1czotMSxfcmVzdWx0OmV9LF9pbml0OkR9fSxuLm1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm57JCR0eXBlb2Y6cCx0eXBlOmUsY29tcGFyZTp2b2lkIDA9PT10P251bGw6dH19LG4uc3RhcnRUcmFuc2l0aW9uPSQsbi51bnN0YWJsZV91c2VDYWNoZVJlZnJlc2g9ZnVuY3Rpb24oKXtyZXR1cm4gai5ILnVzZUNhY2hlUmVmcmVzaCgpfSxuLnVzZT1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZShlKX0sbi51c2VBY3Rpb25TdGF0ZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VBY3Rpb25TdGF0ZShlLHQsbil9LG4udXNlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZUNhbGxiYWNrKGUsdCl9LG4udXNlQ29udGV4dD1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZUNvbnRleHQoZSl9LG4udXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sbi51c2VEZWZlcnJlZFZhbHVlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VEZWZlcnJlZFZhbHVlKGUsdCl9LG4udXNlRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VFZmZlY3QoZSx0KX0sbi51c2VFZmZlY3RFdmVudD1mdW5jdGlvbihlKXtyZXR1cm4gai5ILnVzZUVmZmVjdEV2ZW50KGUpfSxuLnVzZUlkPWZ1bmN0aW9uKCl7cmV0dXJuIGouSC51c2VJZCgpfSxuLnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBqLkgudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LG4udXNlSW5zZXJ0aW9uRWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VJbnNlcnRpb25FZmZlY3QoZSx0KX0sbi51c2VMYXlvdXRFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZUxheW91dEVmZmVjdChlLHQpfSxuLnVzZU1lbW89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gai5ILnVzZU1lbW8oZSx0KX0sbi51c2VPcHRpbWlzdGljPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGouSC51c2VPcHRpbWlzdGljKGUsdCl9LG4udXNlUmVkdWNlcj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VSZWR1Y2VyKGUsdCxuKX0sbi51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VSZWYoZSl9LG4udXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGouSC51c2VTdGF0ZShlKX0sbi51c2VTeW5jRXh0ZXJuYWxTdG9yZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGouSC51c2VTeW5jRXh0ZXJuYWxTdG9yZShlLHQsbil9LG4udXNlVHJhbnNpdGlvbj1mdW5jdGlvbigpe3JldHVybiBqLkgudXNlVHJhbnNpdGlvbigpfSxuLnZlcnNpb249IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTcifSw3NTIwMSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoNjM0MTcpfSw0NDA2NiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAsbj1uZXcgV2Vha01hcDtyZXR1cm4ocj1mdW5jdGlvbihlKXtyZXR1cm4gZT9uOnR9KShlKX1uLl89ZnVuY3Rpb24oZSx0KXtpZighdCYmZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO2lmKG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlKXJldHVybntkZWZhdWx0OmV9O3ZhciBuPXIodCk7aWYobiYmbi5oYXMoZSkpcmV0dXJuIG4uZ2V0KGUpO3ZhciBvPXtfX3Byb3RvX186bnVsbH0sdT1PYmplY3QuZGVmaW5lUHJvcGVydHkmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7Zm9yKHZhciBpIGluIGUpaWYoImRlZmF1bHQiIT09aSYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkpe3ZhciBhPXU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLGkpOm51bGw7YSYmKGEuZ2V0fHxhLnNldCk/T2JqZWN0LmRlZmluZVByb3BlcnR5KG8saSxhKTpvW2ldPWVbaV19cmV0dXJuIG8uZGVmYXVsdD1lLG4mJm4uc2V0KGUsbyksb319LDgxMjU4LChlLHQsbik9PnsidXNlIHN0cmljdCI7bi5fPWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX19LDQ5MjExLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtiaW5kU25hcHNob3Q6ZnVuY3Rpb24oKXtyZXR1cm4gc30sY3JlYXRlQXN5bmNMb2NhbFN0b3JhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sY3JlYXRlU25hcHNob3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtsZXQgdT1PYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludmFyaWFudDogQXN5bmNMb2NhbFN0b3JhZ2UgYWNjZXNzZWQgaW4gcnVudGltZSB3aGVyZSBpdCBpcyBub3QgYXZhaWxhYmxlIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1MDQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2xhc3MgaXtkaXNhYmxlKCl7dGhyb3cgdX1nZXRTdG9yZSgpe31ydW4oKXt0aHJvdyB1fWV4aXQoKXt0aHJvdyB1fWVudGVyV2l0aCgpe3Rocm93IHV9c3RhdGljIGJpbmQoZSl7cmV0dXJuIGV9fWxldCBhPSJ1Ij50eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcy5Bc3luY0xvY2FsU3RvcmFnZTtmdW5jdGlvbiBsKCl7cmV0dXJuIGE/bmV3IGE6bmV3IGl9ZnVuY3Rpb24gcyhlKXtyZXR1cm4gYT9hLmJpbmQoZSk6aS5iaW5kKGUpfWZ1bmN0aW9uIGMoKXtyZXR1cm4gYT9hLnNuYXBzaG90KCk6ZnVuY3Rpb24oZSwuLi50KXtyZXR1cm4gZSguLi50KX19fSw1NjU0OSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByPWUucig3NTIwMSk7ZnVuY3Rpb24gbyhlKXt2YXIgdD0iaHR0cHM6Ly9yZWFjdC5kZXYvZXJyb3JzLyIrZTtpZigxPGFyZ3VtZW50cy5sZW5ndGgpe3QrPSI/YXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1sxXSk7Zm9yKHZhciBuPTI7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0Kz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbbl0pfXJldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitlKyI7IHZpc2l0ICIrdCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifWZ1bmN0aW9uIHUoKXt9dmFyIGk9e2Q6e2Y6dSxyOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3Iobyg1MjIpKX0sRDp1LEM6dSxMOnUsbTp1LFg6dSxTOnUsTTp1fSxwOjAsZmluZERPTU5vZGU6bnVsbH0sYT1TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKSxsPVN5bWJvbC5mb3IoInJlYWN0Lm9wdGltaXN0aWNfa2V5Iikscz1yLl9fQ0xJRU5UX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERTtmdW5jdGlvbiBjKGUsdCl7cmV0dXJuImZvbnQiPT09ZT8iIjoic3RyaW5nIj09dHlwZW9mIHQ/InVzZS1jcmVkZW50aWFscyI9PT10P3Q6IiI6dm9pZCAwfW4uX19ET01fSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfV0FSTl9VU0VSU19USEVZX0NBTk5PVF9VUEdSQURFPWksbi5jcmVhdGVQb3J0YWw9ZnVuY3Rpb24oZSx0KXt2YXIgbj0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbDtpZighdHx8MSE9PXQubm9kZVR5cGUmJjkhPT10Lm5vZGVUeXBlJiYxMSE9PXQubm9kZVR5cGUpdGhyb3cgRXJyb3IobygyOTkpKTtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3ZhciByPTM8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjphLGtleTpudWxsPT1yP251bGw6cj09PWw/bDoiIityLGNoaWxkcmVuOmUsY29udGFpbmVySW5mbzp0LGltcGxlbWVudGF0aW9uOm59fShlLHQsbnVsbCxuKX0sbi5mbHVzaFN5bmM9ZnVuY3Rpb24oZSl7dmFyIHQ9cy5ULG49aS5wO3RyeXtpZihzLlQ9bnVsbCxpLnA9MixlKXJldHVybiBlKCl9ZmluYWxseXtzLlQ9dCxpLnA9bixpLmQuZigpfX0sbi5wcmVjb25uZWN0PWZ1bmN0aW9uKGUsdCl7InN0cmluZyI9PXR5cGVvZiBlJiYodD10PyJzdHJpbmciPT10eXBlb2YodD10LmNyb3NzT3JpZ2luKT8idXNlLWNyZWRlbnRpYWxzIj09PXQ/dDoiIjp2b2lkIDA6bnVsbCxpLmQuQyhlLHQpKX0sbi5wcmVmZXRjaEROUz1mdW5jdGlvbihlKXsic3RyaW5nIj09dHlwZW9mIGUmJmkuZC5EKGUpfSxuLnByZWluaXQ9ZnVuY3Rpb24oZSx0KXtpZigic3RyaW5nIj09dHlwZW9mIGUmJnQmJiJzdHJpbmciPT10eXBlb2YgdC5hcyl7dmFyIG49dC5hcyxyPWMobix0LmNyb3NzT3JpZ2luKSxvPSJzdHJpbmciPT10eXBlb2YgdC5pbnRlZ3JpdHk/dC5pbnRlZ3JpdHk6dm9pZCAwLHU9InN0cmluZyI9PXR5cGVvZiB0LmZldGNoUHJpb3JpdHk/dC5mZXRjaFByaW9yaXR5OnZvaWQgMDsic3R5bGUiPT09bj9pLmQuUyhlLCJzdHJpbmciPT10eXBlb2YgdC5wcmVjZWRlbmNlP3QucHJlY2VkZW5jZTp2b2lkIDAse2Nyb3NzT3JpZ2luOnIsaW50ZWdyaXR5Om8sZmV0Y2hQcmlvcml0eTp1fSk6InNjcmlwdCI9PT1uJiZpLmQuWChlLHtjcm9zc09yaWdpbjpyLGludGVncml0eTpvLGZldGNoUHJpb3JpdHk6dSxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDB9KX19LG4ucHJlaW5pdE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtpZihudWxsPT10LmFzfHwic2NyaXB0Ij09PXQuYXMpe3ZhciBuPWModC5hcyx0LmNyb3NzT3JpZ2luKTtpLmQuTShlLHtjcm9zc09yaWdpbjpuLGludGVncml0eToic3RyaW5nIj09dHlwZW9mIHQuaW50ZWdyaXR5P3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDB9KX19ZWxzZSBudWxsPT10JiZpLmQuTShlKX0sbi5wcmVsb2FkPWZ1bmN0aW9uKGUsdCl7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYic3RyaW5nIj09dHlwZW9mIHQuYXMpe3ZhciBuPXQuYXMscj1jKG4sdC5jcm9zc09yaWdpbik7aS5kLkwoZSxuLHtjcm9zc09yaWdpbjpyLGludGVncml0eToic3RyaW5nIj09dHlwZW9mIHQuaW50ZWdyaXR5P3QuaW50ZWdyaXR5OnZvaWQgMCxub25jZToic3RyaW5nIj09dHlwZW9mIHQubm9uY2U/dC5ub25jZTp2b2lkIDAsdHlwZToic3RyaW5nIj09dHlwZW9mIHQudHlwZT90LnR5cGU6dm9pZCAwLGZldGNoUHJpb3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmZldGNoUHJpb3JpdHk/dC5mZXRjaFByaW9yaXR5OnZvaWQgMCxyZWZlcnJlclBvbGljeToic3RyaW5nIj09dHlwZW9mIHQucmVmZXJyZXJQb2xpY3k/dC5yZWZlcnJlclBvbGljeTp2b2lkIDAsaW1hZ2VTcmNTZXQ6InN0cmluZyI9PXR5cGVvZiB0LmltYWdlU3JjU2V0P3QuaW1hZ2VTcmNTZXQ6dm9pZCAwLGltYWdlU2l6ZXM6InN0cmluZyI9PXR5cGVvZiB0LmltYWdlU2l6ZXM/dC5pbWFnZVNpemVzOnZvaWQgMCxtZWRpYToic3RyaW5nIj09dHlwZW9mIHQubWVkaWE/dC5tZWRpYTp2b2lkIDB9KX19LG4ucHJlbG9hZE1vZHVsZT1mdW5jdGlvbihlLHQpe2lmKCJzdHJpbmciPT10eXBlb2YgZSlpZih0KXt2YXIgbj1jKHQuYXMsdC5jcm9zc09yaWdpbik7aS5kLm0oZSx7YXM6InN0cmluZyI9PXR5cGVvZiB0LmFzJiYic2NyaXB0IiE9PXQuYXM/dC5hczp2b2lkIDAsY3Jvc3NPcmlnaW46bixpbnRlZ3JpdHk6InN0cmluZyI9PXR5cGVvZiB0LmludGVncml0eT90LmludGVncml0eTp2b2lkIDB9KX1lbHNlIGkuZC5tKGUpfSxuLnJlcXVlc3RGb3JtUmVzZXQ9ZnVuY3Rpb24oZSl7aS5kLnIoZSl9LG4udW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSh0KX0sbi51c2VGb3JtU3RhdGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBzLkgudXNlRm9ybVN0YXRlKGUsdCxuKX0sbi51c2VGb3JtU3RhdHVzPWZ1bmN0aW9uKCl7cmV0dXJuIHMuSC51c2VIb3N0VHJhbnNpdGlvblN0YXR1cygpfSxuLnZlcnNpb249IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTcifSwyOTA4MCwoZSx0LG4pPT57InVzZSBzdHJpY3QiOyFmdW5jdGlvbiBlKCl7aWYoInUiPnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18mJiJmdW5jdGlvbiI9PXR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UpdHJ5e19fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShlKX1jYXRjaChlKXtjb25zb2xlLmVycm9yKGUpfX0oKSx0LmV4cG9ydHM9ZS5yKDU2NTQ5KX0sODg3NzQsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e2dldERlcGxveW1lbnRJZDpmdW5jdGlvbigpe3JldHVybiB1fSxnZXREZXBsb3ltZW50SWRRdWVyeU9yRW1wdHlTdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgbyBpbiByKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2VudW1lcmFibGU6ITAsZ2V0OnJbb119KTtmdW5jdGlvbiB1KCl7cmV0dXJuITF9ZnVuY3Rpb24gaSgpe3JldHVybiIifX0sNDk3MDYsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgcj1lLnIoMjkwODApLG89e3N0cmVhbTohMH0sdT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGkodCl7dmFyIG49ZS5yKHQpO3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiBuLnRoZW58fCJmdWxmaWxsZWQiPT09bi5zdGF0dXM/bnVsbDoobi50aGVuKGZ1bmN0aW9uKGUpe24uc3RhdHVzPSJmdWxmaWxsZWQiLG4udmFsdWU9ZX0sZnVuY3Rpb24oZSl7bi5zdGF0dXM9InJlamVjdGVkIixuLnJlYXNvbj1lfSksbil9dmFyIGE9bmV3IFdlYWtTZXQsbD1uZXcgV2Vha1NldDtmdW5jdGlvbiBzKCl7fWZ1bmN0aW9uIGModCl7Zm9yKHZhciBuPXRbMV0scj1bXSxvPTA7bzxuLmxlbmd0aDtvKyspe3ZhciB1PWUuTChuW29dKTtpZihsLmhhcyh1KXx8ci5wdXNoKHUpLCFhLmhhcyh1KSl7dmFyIGM9bC5hZGQuYmluZChsLHUpO3UudGhlbihjLHMpLGEuYWRkKHUpfX1yZXR1cm4gND09PXQubGVuZ3RoPzA9PT1yLmxlbmd0aD9pKHRbMF0pOlByb21pc2UuYWxsKHIpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaSh0WzBdKX0pOjA8ci5sZW5ndGg/UHJvbWlzZS5hbGwocik6bnVsbH1mdW5jdGlvbiBmKHQpe3ZhciBuPWUucih0WzBdKTtpZig0PT09dC5sZW5ndGgmJiJmdW5jdGlvbiI9PXR5cGVvZiBuLnRoZW4paWYoImZ1bGZpbGxlZCI9PT1uLnN0YXR1cyluPW4udmFsdWU7ZWxzZSB0aHJvdyBuLnJlYXNvbjtyZXR1cm4iKiI9PT10WzJdP246IiI9PT10WzJdP24uX19lc01vZHVsZT9uLmRlZmF1bHQ6bjp1LmNhbGwobix0WzJdKT9uW3RbMl1dOnZvaWQgMH12YXIgZD1yLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxwPVN5bWJvbC5mb3IoInJlYWN0LnRyYW5zaXRpb25hbC5lbGVtZW50IikseT1TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iiksdj1TeW1ib2wuaXRlcmF0b3IsaD1TeW1ib2wuYXN5bmNJdGVyYXRvcixfPUFycmF5LmlzQXJyYXksYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsZz1PYmplY3QucHJvdG90eXBlLG09bmV3IFdlYWtNYXA7ZnVuY3Rpb24gRShlLHQsbil7bS5oYXMoZSl8fG0uc2V0KGUse2lkOnQsb3JpZ2luYWxCaW5kOmUuYmluZCxib3VuZDpufSl9ZnVuY3Rpb24gUyhlLHQsbil7dGhpcy5zdGF0dXM9ZSx0aGlzLnZhbHVlPXQsdGhpcy5yZWFzb249bn1mdW5jdGlvbiBSKGUpe3N3aXRjaChlLnN0YXR1cyl7Y2FzZSJyZXNvbHZlZF9tb2RlbCI6RChlKTticmVhaztjYXNlInJlc29sdmVkX21vZHVsZSI6TShlKX1zd2l0Y2goZS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpyZXR1cm4gZS52YWx1ZTtjYXNlInBlbmRpbmciOmNhc2UiYmxvY2tlZCI6Y2FzZSJoYWx0ZWQiOnRocm93IGU7ZGVmYXVsdDp0aHJvdyBlLnJlYXNvbn19ZnVuY3Rpb24gTyhlLHQsbixyKXtmb3IodmFyIG89MDtvPHQubGVuZ3RoO28rKyl7dmFyIHU9dFtvXTsiZnVuY3Rpb24iPT10eXBlb2YgdT91KG4pOkwoZSx1LG4scil9fWZ1bmN0aW9uIHcoZSx0LG4pe2Zvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz10W3JdOyJmdW5jdGlvbiI9PXR5cGVvZiBvP28obik6VShlLG8uaGFuZGxlcixuKX19ZnVuY3Rpb24gVChlLHQpe3ZhciBuPXQuaGFuZGxlci5jaHVuaztpZihudWxsPT09bilyZXR1cm4gbnVsbDtpZihuPT09ZSlyZXR1cm4gdC5oYW5kbGVyO2lmKG51bGwhPT0odD1uLnZhbHVlKSlmb3Iobj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByJiZudWxsIT09KHI9VChlLHIpKSlyZXR1cm4gcn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBqKGUsdCxuLHIpe3N3aXRjaCh0LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOk8oZSxuLHQudmFsdWUsdCk7YnJlYWs7Y2FzZSJibG9ja2VkIjpmb3IodmFyIG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIHU9bltvXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdSl7dmFyIGk9VCh0LHUpO2lmKG51bGwhPT1pKXN3aXRjaChMKGUsdSxpLnZhbHVlLHQpLG4uc3BsaWNlKG8sMSksby0tLG51bGwhPT1yJiYtMSE9PSh1PXIuaW5kZXhPZih1KSkmJnIuc3BsaWNlKHUsMSksdC5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjpPKGUsbix0LnZhbHVlLHQpO3JldHVybjtjYXNlInJlamVjdGVkIjpudWxsIT09ciYmdyhlLHIsdC5yZWFzb24pO3JldHVybn19fWNhc2UicGVuZGluZyI6aWYodC52YWx1ZSlmb3IoZT0wO2U8bi5sZW5ndGg7ZSsrKXQudmFsdWUucHVzaChuW2VdKTtlbHNlIHQudmFsdWU9bjtpZih0LnJlYXNvbil7aWYocilmb3Iobj0wO248ci5sZW5ndGg7bisrKXQucmVhc29uLnB1c2gocltuXSl9ZWxzZSB0LnJlYXNvbj1yO2JyZWFrO2Nhc2UicmVqZWN0ZWQiOnImJncoZSxyLHQucmVhc29uKX19ZnVuY3Rpb24gQShlLHQsbil7aWYoInBlbmRpbmciIT09dC5zdGF0dXMmJiJibG9ja2VkIiE9PXQuc3RhdHVzKXQucmVhc29uLmVycm9yKG4pO2Vsc2V7dmFyIHI9dC5yZWFzb247dC5zdGF0dXM9InJlamVjdGVkIix0LnJlYXNvbj1uLG51bGwhPT1yJiZ3KGUscixuKX19ZnVuY3Rpb24gayhlLHQsbil7cmV0dXJuIG5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsKG4/J3siZG9uZSI6dHJ1ZSwidmFsdWUiOic6J3siZG9uZSI6ZmFsc2UsInZhbHVlIjonKSt0KyJ9IixlKX1mdW5jdGlvbiBDKGUsdCxuLHIpe04oZSx0LChyPyd7ImRvbmUiOnRydWUsInZhbHVlIjonOid7ImRvbmUiOmZhbHNlLCJ2YWx1ZSI6JykrbisifSIpfWZ1bmN0aW9uIE4oZSx0LG4pe2lmKCJwZW5kaW5nIiE9PXQuc3RhdHVzKXQucmVhc29uLmVucXVldWVNb2RlbChuKTtlbHNle3ZhciByPXQudmFsdWUsbz10LnJlYXNvbjt0LnN0YXR1cz0icmVzb2x2ZWRfbW9kZWwiLHQudmFsdWU9bix0LnJlYXNvbj1lLG51bGwhPT1yJiYoRCh0KSxqKGUsdCxyLG8pKX19ZnVuY3Rpb24gUChlLHQsbil7aWYoInBlbmRpbmciPT09dC5zdGF0dXN8fCJibG9ja2VkIj09PXQuc3RhdHVzKXt2YXIgcj10LnZhbHVlLG89dC5yZWFzb247dC5zdGF0dXM9InJlc29sdmVkX21vZHVsZSIsdC52YWx1ZT1uLHQucmVhc29uPW51bGwsbnVsbCE9PXImJihNKHQpLGooZSx0LHIsbykpfX1TLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFByb21pc2UucHJvdG90eXBlKSxTLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHRoaXMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKHRoaXMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKHRoaXMpfXN3aXRjaCh0aGlzLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOiJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlKHRoaXMudmFsdWUpO2JyZWFrO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjoiZnVuY3Rpb24iPT10eXBlb2YgZSYmKG51bGw9PT10aGlzLnZhbHVlJiYodGhpcy52YWx1ZT1bXSksdGhpcy52YWx1ZS5wdXNoKGUpKSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKG51bGw9PT10aGlzLnJlYXNvbiYmKHRoaXMucmVhc29uPVtdKSx0aGlzLnJlYXNvbi5wdXNoKHQpKTticmVhaztjYXNlImhhbHRlZCI6YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iPT10eXBlb2YgdCYmdCh0aGlzLnJlYXNvbil9fTt2YXIgeD1udWxsO2Z1bmN0aW9uIEQoZSl7dmFyIHQ9eDt4PW51bGw7dmFyIG49ZS52YWx1ZSxyPWUucmVhc29uO2Uuc3RhdHVzPSJibG9ja2VkIixlLnZhbHVlPW51bGwsZS5yZWFzb249bnVsbDt0cnl7dmFyIG89SlNPTi5wYXJzZShuLHIuX2Zyb21KU09OKSx1PWUudmFsdWU7aWYobnVsbCE9PXUpZm9yKGUudmFsdWU9bnVsbCxlLnJlYXNvbj1udWxsLG49MDtuPHUubGVuZ3RoO24rKyl7dmFyIGk9dVtuXTsiZnVuY3Rpb24iPT10eXBlb2YgaT9pKG8pOkwocixpLG8sZSl9aWYobnVsbCE9PXgpe2lmKHguZXJyb3JlZCl0aHJvdyB4LnJlYXNvbjtpZigwPHguZGVwcyl7eC52YWx1ZT1vLHguY2h1bms9ZTtyZXR1cm59fWUuc3RhdHVzPSJmdWxmaWxsZWQiLGUudmFsdWU9b31jYXRjaCh0KXtlLnN0YXR1cz0icmVqZWN0ZWQiLGUucmVhc29uPXR9ZmluYWxseXt4PXR9fWZ1bmN0aW9uIE0oZSl7dHJ5e3ZhciB0PWYoZS52YWx1ZSk7ZS5zdGF0dXM9ImZ1bGZpbGxlZCIsZS52YWx1ZT10fWNhdGNoKHQpe2Uuc3RhdHVzPSJyZWplY3RlZCIsZS5yZWFzb249dH19ZnVuY3Rpb24gJChlLHQpe2UuX2Nsb3NlZD0hMCxlLl9jbG9zZWRSZWFzb249dCxlLl9jaHVua3MuZm9yRWFjaChmdW5jdGlvbihuKXsicGVuZGluZyI9PT1uLnN0YXR1cz9BKGUsbix0KToiZnVsZmlsbGVkIj09PW4uc3RhdHVzJiZudWxsIT09bi5yZWFzb24mJm4ucmVhc29uLmVycm9yKHQpfSl9ZnVuY3Rpb24gSShlKXtyZXR1cm57JCR0eXBlb2Y6eSxfcGF5bG9hZDplLF9pbml0OlJ9fWZ1bmN0aW9uIEgoZSx0KXt2YXIgbj1lLl9jaHVua3Mscj1uLmdldCh0KTtyZXR1cm4gcnx8KHI9ZS5fY2xvc2VkP25ldyBTKCJyZWplY3RlZCIsbnVsbCxlLl9jbG9zZWRSZWFzb24pOm5ldyBTKCJwZW5kaW5nIixudWxsLG51bGwpLG4uc2V0KHQscikpLHJ9ZnVuY3Rpb24gTChlLHQsbil7dmFyIHI9dC5oYW5kbGVyLG89dC5wYXJlbnRPYmplY3QsaT10LmtleSxhPXQubWFwLGw9dC5wYXRoO3RyeXtmb3IodmFyIHM9MTtzPGwubGVuZ3RoO3MrKyl7Zm9yKDsib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uJiZuLiQkdHlwZW9mPT09eTspe3ZhciBjPW4uX3BheWxvYWQ7aWYoYz09PXIuY2h1bmspbj1yLnZhbHVlO2Vsc2V7c3dpdGNoKGMuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKGMpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKGMpfXN3aXRjaChjLnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOm49Yy52YWx1ZTtjb250aW51ZTtjYXNlImJsb2NrZWQiOnZhciBmPVQoYyx0KTtpZihudWxsIT09Zil7bj1mLnZhbHVlO2NvbnRpbnVlfWNhc2UicGVuZGluZyI6bC5zcGxpY2UoMCxzLTEpLG51bGw9PT1jLnZhbHVlP2MudmFsdWU9W3RdOmMudmFsdWUucHVzaCh0KSxudWxsPT09Yy5yZWFzb24/Yy5yZWFzb249W3RdOmMucmVhc29uLnB1c2godCk7cmV0dXJuO2Nhc2UiaGFsdGVkIjpyZXR1cm47ZGVmYXVsdDpVKGUsdC5oYW5kbGVyLGMucmVhc29uKTtyZXR1cm59fX12YXIgZD1sW3NdO2lmKCJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4mJnUuY2FsbChuLGQpKW49bltkXTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIHJlZmVyZW5jZS4iKX1mb3IoOyJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4mJm4uJCR0eXBlb2Y9PT15Oyl7dmFyIHY9bi5fcGF5bG9hZDtpZih2PT09ci5jaHVuayluPXIudmFsdWU7ZWxzZXtzd2l0Y2godi5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkQodik7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOk0odil9aWYoImZ1bGZpbGxlZCI9PT12LnN0YXR1cyl7bj12LnZhbHVlO2NvbnRpbnVlfWJyZWFrfX12YXIgaD1hKGUsbixvLGkpO2lmKCJfX3Byb3RvX18iIT09aSYmKG9baV09aCksIiI9PT1pJiZudWxsPT09ci52YWx1ZSYmKHIudmFsdWU9aCksb1swXT09PXAmJiJvYmplY3QiPT10eXBlb2Ygci52YWx1ZSYmbnVsbCE9PXIudmFsdWUmJnIudmFsdWUuJCR0eXBlb2Y9PT1wKXt2YXIgXz1yLnZhbHVlOyIzIj09PWkmJihfLnByb3BzPWgpfX1jYXRjaChuKXtVKGUsdC5oYW5kbGVyLG4pO3JldHVybn1yLmRlcHMtLSwwPT09ci5kZXBzJiZudWxsIT09KHQ9ci5jaHVuaykmJiJibG9ja2VkIj09PXQuc3RhdHVzJiYobj10LnZhbHVlLHQuc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9ci52YWx1ZSx0LnJlYXNvbj1yLnJlYXNvbixudWxsIT09biYmTyhlLG4sci52YWx1ZSx0KSl9ZnVuY3Rpb24gVShlLHQsbil7dC5lcnJvcmVkfHwodC5lcnJvcmVkPSEwLHQudmFsdWU9bnVsbCx0LnJlYXNvbj1uLG51bGwhPT0odD10LmNodW5rKSYmImJsb2NrZWQiPT09dC5zdGF0dXMmJkEoZSx0LG4pKX1mdW5jdGlvbiBGKGUsdCxuLHIsbyx1KXtyZXR1cm4geD8ocj14LHIuZGVwcysrKTpyPXg9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sdD17aGFuZGxlcjpyLHBhcmVudE9iamVjdDp0LGtleTpuLG1hcDpvLHBhdGg6dX0sbnVsbD09PWUudmFsdWU/ZS52YWx1ZT1bdF06ZS52YWx1ZS5wdXNoKHQpLG51bGw9PT1lLnJlYXNvbj9lLnJlYXNvbj1bdF06ZS5yZWFzb24ucHVzaCh0KSxudWxsfWZ1bmN0aW9uIFgoZSx0LG4scil7aWYoIWUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZylyZXR1cm4gZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7dmFyIGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gbz8iZnVsZmlsbGVkIj09PW8uc3RhdHVzP3QocixvLnZhbHVlLmNvbmNhdChlKSk6UHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oZnVuY3Rpb24obil7cmV0dXJuIHQocixuLmNvbmNhdChlKSl9KTp0KHIsZSl9dmFyIHI9ZS5pZCxvPWUuYm91bmQ7cmV0dXJuIEUobixyLG8pLG59KHQsZS5fY2FsbFNlcnZlcik7dmFyIG89ZnVuY3Rpb24oZSx0KXt2YXIgbj0iIixyPWVbdF07aWYociluPXIubmFtZTtlbHNle3ZhciBvPXQubGFzdEluZGV4T2YoIiMiKTtpZigtMSE9PW8mJihuPXQuc2xpY2UobysxKSxyPWVbdC5zbGljZSgwLG8pXSksIXIpdGhyb3cgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIHRoZSBtb2R1bGUgIicrdCsnIiBpbiB0aGUgUmVhY3QgU2VydmVyIE1hbmlmZXN0LiBUaGlzIGlzIHByb2JhYmx5IGEgYnVnIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyBidW5kbGVyLicpfXJldHVybiByLmFzeW5jP1tyLmlkLHIuY2h1bmtzLG4sMV06W3IuaWQsci5jaHVua3Msbl19KGUuX3NlcnZlclJlZmVyZW5jZUNvbmZpZyx0LmlkKSx1PWMobyk7aWYodSl0LmJvdW5kJiYodT1Qcm9taXNlLmFsbChbdSx0LmJvdW5kXSkpO2Vsc2V7aWYoIXQuYm91bmQpcmV0dXJuIEUodT1mKG8pLHQuaWQsdC5ib3VuZCksdTt1PVByb21pc2UucmVzb2x2ZSh0LmJvdW5kKX1pZih4KXt2YXIgaT14O2kuZGVwcysrfWVsc2UgaT14PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOm51bGwsZGVwczoxLGVycm9yZWQ6ITF9O3JldHVybiB1LnRoZW4oZnVuY3Rpb24oKXt2YXIgdT1mKG8pO2lmKHQuYm91bmQpe3ZhciBhPXQuYm91bmQudmFsdWUuc2xpY2UoMCk7YS51bnNoaWZ0KG51bGwpLHU9dS5iaW5kLmFwcGx5KHUsYSl9RSh1LHQuaWQsdC5ib3VuZCksIl9fcHJvdG9fXyIhPT1yJiYobltyXT11KSwiIj09PXImJm51bGw9PT1pLnZhbHVlJiYoaS52YWx1ZT11KSxuWzBdPT09cCYmIm9iamVjdCI9PXR5cGVvZiBpLnZhbHVlJiZudWxsIT09aS52YWx1ZSYmaS52YWx1ZS4kJHR5cGVvZj09PXAmJihhPWkudmFsdWUsIjMiPT09cikmJihhLnByb3BzPXUpLGkuZGVwcy0tLDA9PT1pLmRlcHMmJm51bGwhPT0odT1pLmNodW5rKSYmImJsb2NrZWQiPT09dS5zdGF0dXMmJihhPXUudmFsdWUsdS5zdGF0dXM9ImZ1bGZpbGxlZCIsdS52YWx1ZT1pLnZhbHVlLHUucmVhc29uPW51bGwsbnVsbCE9PWEmJk8oZSxhLGkudmFsdWUsdSkpfSxmdW5jdGlvbih0KXtpZighaS5lcnJvcmVkKXtpLmVycm9yZWQ9ITAsaS52YWx1ZT1udWxsLGkucmVhc29uPXQ7dmFyIG49aS5jaHVuaztudWxsIT09biYmImJsb2NrZWQiPT09bi5zdGF0dXMmJkEoZSxuLHQpfX0pLG51bGx9ZnVuY3Rpb24gVihlLHQsbixyLG8pe3ZhciB1PXBhcnNlSW50KCh0PXQuc3BsaXQoIjoiKSlbMF0sMTYpO3N3aXRjaCgodT1IKGUsdSkpLnN0YXR1cyl7Y2FzZSJyZXNvbHZlZF9tb2RlbCI6RCh1KTticmVhaztjYXNlInJlc29sdmVkX21vZHVsZSI6TSh1KX1zd2l0Y2godS5zdGF0dXMpe2Nhc2UiZnVsZmlsbGVkIjp1PXUudmFsdWU7Zm9yKHZhciBpPTE7aTx0Lmxlbmd0aDtpKyspe2Zvcig7Im9iamVjdCI9PXR5cGVvZiB1JiZudWxsIT09dSYmdS4kJHR5cGVvZj09PXk7KXtzd2l0Y2goKHU9dS5fcGF5bG9hZCkuc3RhdHVzKXtjYXNlInJlc29sdmVkX21vZGVsIjpEKHUpO2JyZWFrO2Nhc2UicmVzb2x2ZWRfbW9kdWxlIjpNKHUpfXN3aXRjaCh1LnN0YXR1cyl7Y2FzZSJmdWxmaWxsZWQiOnU9dS52YWx1ZTticmVhaztjYXNlImJsb2NrZWQiOmNhc2UicGVuZGluZyI6cmV0dXJuIEYodSxuLHIsZSxvLHQuc2xpY2UoaS0xKSk7Y2FzZSJoYWx0ZWQiOnJldHVybiB4PyhlPXgsZS5kZXBzKyspOng9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiB4Pyh4LmVycm9yZWQ9ITAseC52YWx1ZT1udWxsLHgucmVhc29uPXUucmVhc29uKTp4PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOnUucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX11PXVbdFtpXV19Zm9yKDsib2JqZWN0Ij09dHlwZW9mIHUmJm51bGwhPT11JiZ1LiQkdHlwZW9mPT09eTspe3N3aXRjaCgodD11Ll9wYXlsb2FkKS5zdGF0dXMpe2Nhc2UicmVzb2x2ZWRfbW9kZWwiOkQodCk7YnJlYWs7Y2FzZSJyZXNvbHZlZF9tb2R1bGUiOk0odCl9aWYoImZ1bGZpbGxlZCI9PT10LnN0YXR1cyl7dT10LnZhbHVlO2NvbnRpbnVlfWJyZWFrfXJldHVybiBvKGUsdSxuLHIpO2Nhc2UicGVuZGluZyI6Y2FzZSJibG9ja2VkIjpyZXR1cm4gRih1LG4scixlLG8sdCk7Y2FzZSJoYWx0ZWQiOnJldHVybiB4PyhlPXgsZS5kZXBzKyspOng9e3BhcmVudDpudWxsLGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjEsZXJyb3JlZDohMX0sbnVsbDtkZWZhdWx0OnJldHVybiB4Pyh4LmVycm9yZWQ9ITAseC52YWx1ZT1udWxsLHgucmVhc29uPXUucmVhc29uKTp4PXtwYXJlbnQ6bnVsbCxjaHVuazpudWxsLHZhbHVlOm51bGwscmVhc29uOnUucmVhc29uLGRlcHM6MCxlcnJvcmVkOiEwfSxudWxsfX1mdW5jdGlvbiBxKGUsdCl7cmV0dXJuIG5ldyBNYXAodCl9ZnVuY3Rpb24gQihlLHQpe3JldHVybiBuZXcgU2V0KHQpfWZ1bmN0aW9uIFcoZSx0KXtyZXR1cm4gbmV3IEJsb2IodC5zbGljZSgxKSx7dHlwZTp0WzBdfSl9ZnVuY3Rpb24gRyhlLHQpe2U9bmV3IEZvcm1EYXRhO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKWUuYXBwZW5kKHRbbl1bMF0sdFtuXVsxXSk7cmV0dXJuIGV9ZnVuY3Rpb24gSihlLHQpe3JldHVybiB0W1N5bWJvbC5pdGVyYXRvcl0oKX1mdW5jdGlvbiBLKGUsdCl7cmV0dXJuIHR9ZnVuY3Rpb24geigpe3Rocm93IEVycm9yKCdUcnlpbmcgdG8gY2FsbCBhIGZ1bmN0aW9uIGZyb20gInVzZSBzZXJ2ZXIiIGJ1dCB0aGUgY2FsbFNlcnZlciBvcHRpb24gd2FzIG5vdCBpbXBsZW1lbnRlZCBpbiB5b3VyIHJvdXRlciBydW50aW1lLicpfWZ1bmN0aW9uIFkoZSx0LG4scixvLHUsaSl7dmFyIGEsbD1uZXcgTWFwO3RoaXMuX2J1bmRsZXJDb25maWc9ZSx0aGlzLl9zZXJ2ZXJSZWZlcmVuY2VDb25maWc9dCx0aGlzLl9tb2R1bGVMb2FkaW5nPW4sdGhpcy5fY2FsbFNlcnZlcj12b2lkIDAhPT1yP3I6eix0aGlzLl9lbmNvZGVGb3JtQWN0aW9uPW8sdGhpcy5fbm9uY2U9dSx0aGlzLl9jaHVua3M9bCx0aGlzLl9zdHJpbmdEZWNvZGVyPW5ldyBUZXh0RGVjb2Rlcix0aGlzLl9mcm9tSlNPTj1udWxsLHRoaXMuX2Nsb3NlZD0hMSx0aGlzLl9jbG9zZWRSZWFzb249bnVsbCx0aGlzLl90ZW1wUmVmcz1pLHRoaXMuX2Zyb21KU09OPShhPXRoaXMsZnVuY3Rpb24oZSx0KXtpZigiX19wcm90b19fIiE9PWUpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIG49YSxyPXRoaXMsbz1lLHU9dDtpZigiJCI9PT11WzBdKXtpZigiJCI9PT11KXJldHVybiBudWxsIT09eCYmIjAiPT09byYmKHg9e3BhcmVudDp4LGNodW5rOm51bGwsdmFsdWU6bnVsbCxyZWFzb246bnVsbCxkZXBzOjAsZXJyb3JlZDohMX0pLHA7c3dpdGNoKHVbMV0pe2Nhc2UiJCI6cmV0dXJuIHUuc2xpY2UoMSk7Y2FzZSJMIjpyZXR1cm4gSShuPUgobixyPXBhcnNlSW50KHUuc2xpY2UoMiksMTYpKSk7Y2FzZSJAIjpyZXR1cm4gSChuLHI9cGFyc2VJbnQodS5zbGljZSgyKSwxNikpO2Nhc2UiUyI6cmV0dXJuIFN5bWJvbC5mb3IodS5zbGljZSgyKSk7Y2FzZSJoIjpyZXR1cm4gVihuLHU9dS5zbGljZSgyKSxyLG8sWCk7Y2FzZSJUIjppZihyPSIkIit1LnNsaWNlKDIpLG51bGw9PShuPW4uX3RlbXBSZWZzKSl0aHJvdyBFcnJvcigiTWlzc2luZyBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0IGJ1dCB0aGUgUlNDIHJlc3BvbnNlIHJldHVybmVkIGEgdGVtcG9yYXJ5IHJlZmVyZW5jZS4gUGFzcyBhIHRlbXBvcmFyeVJlZmVyZW5jZSBvcHRpb24gd2l0aCB0aGUgc2V0IHRoYXQgd2FzIHVzZWQgd2l0aCB0aGUgcmVwbHkuIik7cmV0dXJuIG4uZ2V0KHIpO2Nhc2UiUSI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLHEpO2Nhc2UiVyI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLEIpO2Nhc2UiQiI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLFcpO2Nhc2UiSyI6cmV0dXJuIFYobix1PXUuc2xpY2UoMikscixvLEcpO2Nhc2UiWiI6cmV0dXJuIGVyKCk7Y2FzZSJpIjpyZXR1cm4gVihuLHU9dS5zbGljZSgyKSxyLG8sSik7Y2FzZSJJIjpyZXR1cm4gMS8wO2Nhc2UiLSI6cmV0dXJuIiQtMCI9PT11Py0wOi0xLzA7Y2FzZSJOIjpyZXR1cm4gTmFOO2Nhc2UidSI6cmV0dXJuO2Nhc2UiRCI6cmV0dXJuIG5ldyBEYXRlKERhdGUucGFyc2UodS5zbGljZSgyKSkpO2Nhc2UibiI6cmV0dXJuIEJpZ0ludCh1LnNsaWNlKDIpKTtkZWZhdWx0OnJldHVybiBWKG4sdT11LnNsaWNlKDEpLHIsbyxLKX19cmV0dXJuIHV9aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCl7aWYodFswXT09PXApe2lmKGU9eyQkdHlwZW9mOnAsdHlwZTp0WzFdLGtleTp0WzJdLHJlZjpudWxsLHByb3BzOnRbM119LG51bGwhPT14KXtpZih4PSh0PXgpLnBhcmVudCx0LmVycm9yZWQpZT1JKGU9bmV3IFMoInJlamVjdGVkIixudWxsLHQucmVhc29uKSk7ZWxzZSBpZigwPHQuZGVwcyl7dmFyIGk9bmV3IFMoImJsb2NrZWQiLG51bGwsbnVsbCk7dC52YWx1ZT1lLHQuY2h1bms9aSxlPUkoaSl9fX1lbHNlIGU9dDtyZXR1cm4gZX1yZXR1cm4gdH19KX1mdW5jdGlvbiBRKGUsdCxuKXt2YXIgcj0oZT1lLl9jaHVua3MpLmdldCh0KTtyJiYicGVuZGluZyIhPT1yLnN0YXR1cz9yLnJlYXNvbi5lbnF1ZXVlVmFsdWUobik6KG49bmV3IFMoImZ1bGZpbGxlZCIsbixudWxsKSxlLnNldCh0LG4pKX1mdW5jdGlvbiBaKGUsdCxuLHIpe3ZhciBvPWUuX2NodW5rcyx1PW8uZ2V0KHQpO3U/InBlbmRpbmciPT09dS5zdGF0dXMmJih0PXUudmFsdWUsdS5zdGF0dXM9ImZ1bGZpbGxlZCIsdS52YWx1ZT1uLHUucmVhc29uPXIsbnVsbCE9PXQmJk8oZSx0LHUudmFsdWUsdSkpOihlPW5ldyBTKCJmdWxmaWxsZWQiLG4sciksby5zZXQodCxlKSl9ZnVuY3Rpb24gZWUoZSx0LG4pe3ZhciByPW51bGwsbz0hMTtuPW5ldyBSZWFkYWJsZVN0cmVhbSh7dHlwZTpuLHN0YXJ0OmZ1bmN0aW9uKGUpe3I9ZX19KTt2YXIgdT1udWxsO1ooZSx0LG4se2VucXVldWVWYWx1ZTpmdW5jdGlvbihlKXtudWxsPT09dT9yLmVucXVldWUoZSk6dS50aGVuKGZ1bmN0aW9uKCl7ci5lbnF1ZXVlKGUpfSl9LGVucXVldWVNb2RlbDpmdW5jdGlvbih0KXtpZihudWxsPT09dSl7dmFyIG49bmV3IFMoInJlc29sdmVkX21vZGVsIix0LGUpO0QobiksImZ1bGZpbGxlZCI9PT1uLnN0YXR1cz9yLmVucXVldWUobi52YWx1ZSk6KG4udGhlbihmdW5jdGlvbihlKXtyZXR1cm4gci5lbnF1ZXVlKGUpfSxmdW5jdGlvbihlKXtyZXR1cm4gci5lcnJvcihlKX0pLHU9bil9ZWxzZXtuPXU7dmFyIG89bmV3IFMoInBlbmRpbmciLG51bGwsbnVsbCk7by50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiByLmVucXVldWUoZSl9LGZ1bmN0aW9uKGUpe3JldHVybiByLmVycm9yKGUpfSksdT1vLG4udGhlbihmdW5jdGlvbigpe3U9PT1vJiYodT1udWxsKSxOKGUsbyx0KX0pfX0sY2xvc2U6ZnVuY3Rpb24oKXtpZighbylpZihvPSEwLG51bGw9PT11KXIuY2xvc2UoKTtlbHNle3ZhciBlPXU7dT1udWxsLGUudGhlbihmdW5jdGlvbigpe3JldHVybiByLmNsb3NlKCl9KX19LGVycm9yOmZ1bmN0aW9uKGUpe2lmKCFvKWlmKG89ITAsbnVsbD09PXUpci5lcnJvcihlKTtlbHNle3ZhciB0PXU7dT1udWxsLHQudGhlbihmdW5jdGlvbigpe3JldHVybiByLmVycm9yKGUpfSl9fX0pfWZ1bmN0aW9uIGV0KCl7cmV0dXJuIHRoaXN9ZnVuY3Rpb24gZW4oZSx0LG4pe3ZhciByPVtdLG89ITEsdT0wLGk9e307aVtoXT1mdW5jdGlvbigpe3ZhciBlLHQ9MDtyZXR1cm4oZT17bmV4dDplPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PWUpdGhyb3cgRXJyb3IoIlZhbHVlcyBjYW5ub3QgYmUgcGFzc2VkIHRvIG5leHQoKSBvZiBBc3luY0l0ZXJhYmxlcyBwYXNzZWQgdG8gQ2xpZW50IENvbXBvbmVudHMuIik7aWYodD09PXIubGVuZ3RoKXtpZihvKXJldHVybiBuZXcgUygiZnVsZmlsbGVkIix7ZG9uZTohMCx2YWx1ZTp2b2lkIDB9LG51bGwpO3JbdF09bmV3IFMoInBlbmRpbmciLG51bGwsbnVsbCl9cmV0dXJuIHJbdCsrXX19KVtoXT1ldCxlfSxaKGUsdCxuP2lbaF0oKTppLHtlbnF1ZXVlVmFsdWU6ZnVuY3Rpb24odCl7aWYodT09PXIubGVuZ3RoKXJbdV09bmV3IFMoImZ1bGZpbGxlZCIse2RvbmU6ITEsdmFsdWU6dH0sbnVsbCk7ZWxzZXt2YXIgbj1yW3VdLG89bi52YWx1ZSxpPW4ucmVhc29uO24uc3RhdHVzPSJmdWxmaWxsZWQiLG4udmFsdWU9e2RvbmU6ITEsdmFsdWU6dH0sbi5yZWFzb249bnVsbCxudWxsIT09byYmaihlLG4sbyxpKX11Kyt9LGVucXVldWVNb2RlbDpmdW5jdGlvbih0KXt1PT09ci5sZW5ndGg/clt1XT1rKGUsdCwhMSk6QyhlLHJbdV0sdCwhMSksdSsrfSxjbG9zZTpmdW5jdGlvbih0KXtpZighbylmb3Iobz0hMCx1PT09ci5sZW5ndGg/clt1XT1rKGUsdCwhMCk6QyhlLHJbdV0sdCwhMCksdSsrO3U8ci5sZW5ndGg7KUMoZSxyW3UrK10sJyIkdW5kZWZpbmVkIicsITApfSxlcnJvcjpmdW5jdGlvbih0KXtpZighbylmb3Iobz0hMCx1PT09ci5sZW5ndGgmJihyW3VdPW5ldyBTKCJwZW5kaW5nIixudWxsLG51bGwpKTt1PHIubGVuZ3RoOylBKGUsclt1KytdLHQpfX0pfWZ1bmN0aW9uIGVyKCl7dmFyIGU9RXJyb3IoIkFuIGVycm9yIG9jY3VycmVkIGluIHRoZSBTZXJ2ZXIgQ29tcG9uZW50cyByZW5kZXIuIFRoZSBzcGVjaWZpYyBtZXNzYWdlIGlzIG9taXR0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgdG8gYXZvaWQgbGVha2luZyBzZW5zaXRpdmUgZGV0YWlscy4gQSBkaWdlc3QgcHJvcGVydHkgaXMgaW5jbHVkZWQgb24gdGhpcyBlcnJvciBpbnN0YW5jZSB3aGljaCBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIGRldGFpbHMgYWJvdXQgdGhlIG5hdHVyZSBvZiB0aGUgZXJyb3IuIik7cmV0dXJuIGUuc3RhY2s9IkVycm9yOiAiK2UubWVzc2FnZSxlfWZ1bmN0aW9uIGVvKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLHI9dC5sZW5ndGgsbz0wO288bjtvKyspcis9ZVtvXS5ieXRlTGVuZ3RoO3I9bmV3IFVpbnQ4QXJyYXkocik7Zm9yKHZhciB1PW89MDt1PG47dSsrKXt2YXIgaT1lW3VdO3Iuc2V0KGksbyksbys9aS5ieXRlTGVuZ3RofXJldHVybiByLnNldCh0LG8pLHJ9ZnVuY3Rpb24gZXUoZSx0LG4scixvLHUpe1EoZSx0LG89bmV3IG8oKG49MD09PW4ubGVuZ3RoJiYwPT1yLmJ5dGVPZmZzZXQldT9yOmVvKG4scikpLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoL3UpKX1mdW5jdGlvbiBlaShlKXskKGUsRXJyb3IoIkNvbm5lY3Rpb24gY2xvc2VkLiIpKX1mdW5jdGlvbiBlYShlKXtyZXR1cm4gbmV3IFkobnVsbCxudWxsLG51bGwsZSYmZS5jYWxsU2VydmVyP2UuY2FsbFNlcnZlcjp2b2lkIDAsdm9pZCAwLHZvaWQgMCxlJiZlLnRlbXBvcmFyeVJlZmVyZW5jZXM/ZS50ZW1wb3JhcnlSZWZlcmVuY2VzOnZvaWQgMCl9ZnVuY3Rpb24gZWwoZSx0LG4pe2Z1bmN0aW9uIHIodCl7JChlLHQpfXZhciB1PXtfcm93U3RhdGU6MCxfcm93SUQ6MCxfcm93VGFnOjAsX3Jvd0xlbmd0aDowLF9idWZmZXI6W119LGk9dC5nZXRSZWFkZXIoKTtpLnJlYWQoKS50aGVuKGZ1bmN0aW9uIHQoYSl7dmFyIGw9YS52YWx1ZTtpZihhLmRvbmUpcmV0dXJuIG4oKTt2YXIgcz0wLGY9dS5fcm93U3RhdGU7YT11Ll9yb3dJRDtmb3IodmFyIHA9dS5fcm93VGFnLHk9dS5fcm93TGVuZ3RoLHY9dS5fYnVmZmVyLGg9bC5sZW5ndGg7czxoOyl7dmFyIF89LTE7c3dpdGNoKGYpe2Nhc2UgMDo1OD09PShfPWxbcysrXSk/Zj0xOmE9YTw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMTo4ND09PShmPWxbc10pfHw2NT09PWZ8fDc5PT09Znx8MTExPT09Znx8OTg9PT1mfHw4NT09PWZ8fDgzPT09Znx8MTE1PT09Znx8NzY9PT1mfHwxMDg9PT1mfHw3MT09PWZ8fDEwMz09PWZ8fDc3PT09Znx8MTA5PT09Znx8ODY9PT1mPyhwPWYsZj0yLHMrKyk6NjQ8ZiYmOTE+Znx8MzU9PT1mfHwxMTQ9PT1mfHwxMjA9PT1mPyhwPWYsZj0zLHMrKyk6KHA9MCxmPTMpO2NvbnRpbnVlO2Nhc2UgMjo0ND09PShfPWxbcysrXSk/Zj00Onk9eTw8NHwoOTY8Xz9fLTg3Ol8tNDgpO2NvbnRpbnVlO2Nhc2UgMzpfPWwuaW5kZXhPZigxMCxzKTticmVhaztjYXNlIDQ6KF89cyt5KT5sLmxlbmd0aCYmKF89LTEpfXZhciBiPWwuYnl0ZU9mZnNldCtzO2lmKC0xPF8peT1uZXcgVWludDhBcnJheShsLmJ1ZmZlcixiLF8tcyksOTg9PT1wP1EoZSxhLF89PT1oP3k6eS5zbGljZSgpKTpmdW5jdGlvbihlLHQsbixyLHUsaSl7c3dpdGNoKHIpe2Nhc2UgNjU6UShlLG4sZW8odSxpKS5idWZmZXIpO3JldHVybjtjYXNlIDc5OmV1KGUsbix1LGksSW50OEFycmF5LDEpO3JldHVybjtjYXNlIDExMTpRKGUsbiwwPT09dS5sZW5ndGg/aTplbyh1LGkpKTtyZXR1cm47Y2FzZSA4NTpldShlLG4sdSxpLFVpbnQ4Q2xhbXBlZEFycmF5LDEpO3JldHVybjtjYXNlIDgzOmV1KGUsbix1LGksSW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSAxMTU6ZXUoZSxuLHUsaSxVaW50MTZBcnJheSwyKTtyZXR1cm47Y2FzZSA3NjpldShlLG4sdSxpLEludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTA4OmV1KGUsbix1LGksVWludDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgNzE6ZXUoZSxuLHUsaSxGbG9hdDMyQXJyYXksNCk7cmV0dXJuO2Nhc2UgMTAzOmV1KGUsbix1LGksRmxvYXQ2NEFycmF5LDgpO3JldHVybjtjYXNlIDc3OmV1KGUsbix1LGksQmlnSW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSAxMDk6ZXUoZSxuLHUsaSxCaWdVaW50NjRBcnJheSw4KTtyZXR1cm47Y2FzZSA4NjpldShlLG4sdSxpLERhdGFWaWV3LDEpO3JldHVybn10PWUuX3N0cmluZ0RlY29kZXI7Zm9yKHZhciBhPSIiLGw9MDtsPHUubGVuZ3RoO2wrKylhKz10LmRlY29kZSh1W2xdLG8pO3N3aXRjaCh1PWErPXQuZGVjb2RlKGkpLHIpe2Nhc2UgNzM6dmFyIHM9ZSxmPW4scD11LHk9cy5fY2h1bmtzLHY9eS5nZXQoZik7cD1KU09OLnBhcnNlKHAscy5fZnJvbUpTT04pO3ZhciBoPWZ1bmN0aW9uKGUsdCl7aWYoZSl7dmFyIG49ZVt0WzBdXTtpZihlPW4mJm5bdFsyXV0pbj1lLm5hbWU7ZWxzZXtpZighKGU9biYmblsiKiJdKSl0aHJvdyBFcnJvcignQ291bGQgbm90IGZpbmQgdGhlIG1vZHVsZSAiJyt0WzBdKyciIGluIHRoZSBSZWFjdCBTZXJ2ZXIgQ29uc3VtZXIgTWFuaWZlc3QuIFRoaXMgaXMgcHJvYmFibHkgYSBidWcgaW4gdGhlIFJlYWN0IFNlcnZlciBDb21wb25lbnRzIGJ1bmRsZXIuJyk7bj10WzJdfXJldHVybiA0PT09dC5sZW5ndGg/W2UuaWQsZS5jaHVua3MsbiwxXTpbZS5pZCxlLmNodW5rcyxuXX1yZXR1cm4gdH0ocy5fYnVuZGxlckNvbmZpZyxwKTtpZihwPWMoaCkpe2lmKHYpe3ZhciBfPXY7Xy5zdGF0dXM9ImJsb2NrZWQifWVsc2UgXz1uZXcgUygiYmxvY2tlZCIsbnVsbCxudWxsKSx5LnNldChmLF8pO3AudGhlbihmdW5jdGlvbigpe3JldHVybiBQKHMsXyxoKX0sZnVuY3Rpb24oZSl7cmV0dXJuIEEocyxfLGUpfSl9ZWxzZSB2P1Aocyx2LGgpOih2PW5ldyBTKCJyZXNvbHZlZF9tb2R1bGUiLGgsbnVsbCkseS5zZXQoZix2KSk7YnJlYWs7Y2FzZSA3Mjpzd2l0Y2gobj11WzBdLGU9SlNPTi5wYXJzZSh1PXUuc2xpY2UoMSksZS5fZnJvbUpTT04pLHU9ZC5kLG4pe2Nhc2UiRCI6dS5EKGUpO2JyZWFrO2Nhc2UiQyI6InN0cmluZyI9PXR5cGVvZiBlP3UuQyhlKTp1LkMoZVswXSxlWzFdKTticmVhaztjYXNlIkwiOm49ZVswXSxyPWVbMV0sMz09PWUubGVuZ3RoP3UuTChuLHIsZVsyXSk6dS5MKG4scik7YnJlYWs7Y2FzZSJtIjoic3RyaW5nIj09dHlwZW9mIGU/dS5tKGUpOnUubShlWzBdLGVbMV0pO2JyZWFrO2Nhc2UiWCI6InN0cmluZyI9PXR5cGVvZiBlP3UuWChlKTp1LlgoZVswXSxlWzFdKTticmVhaztjYXNlIlMiOiJzdHJpbmciPT10eXBlb2YgZT91LlMoZSk6dS5TKGVbMF0sMD09PWVbMV0/dm9pZCAwOmVbMV0sMz09PWUubGVuZ3RoP2VbMl06dm9pZCAwKTticmVhaztjYXNlIk0iOiJzdHJpbmciPT10eXBlb2YgZT91Lk0oZSk6dS5NKGVbMF0sZVsxXSl9YnJlYWs7Y2FzZSA2OTppPShyPWUuX2NodW5rcykuZ2V0KG4pLHU9SlNPTi5wYXJzZSh1KSwodD1lcigpKS5kaWdlc3Q9dS5kaWdlc3QsaT9BKGUsaSx0KTooZT1uZXcgUygicmVqZWN0ZWQiLG51bGwsdCksci5zZXQobixlKSk7YnJlYWs7Y2FzZSA4NDoocj0oZT1lLl9jaHVua3MpLmdldChuKSkmJiJwZW5kaW5nIiE9PXIuc3RhdHVzP3IucmVhc29uLmVucXVldWVWYWx1ZSh1KToodT1uZXcgUygiZnVsZmlsbGVkIix1LG51bGwpLGUuc2V0KG4sdSkpO2JyZWFrO2Nhc2UgNzg6Y2FzZSA2ODpjYXNlIDc0OmNhc2UgODc6dGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWFkIGEgUlNDIHBheWxvYWQgY3JlYXRlZCBieSBhIGRldmVsb3BtZW50IHZlcnNpb24gb2YgUmVhY3Qgb24gdGhlIHNlcnZlciB3aGlsZSB1c2luZyBhIHByb2R1Y3Rpb24gdmVyc2lvbiBvbiB0aGUgY2xpZW50LiBBbHdheXMgdXNlIG1hdGNoaW5nIHZlcnNpb25zIG9uIHRoZSBzZXJ2ZXIgYW5kIHRoZSBjbGllbnQuIik7Y2FzZSA4MjplZShlLG4sdm9pZCAwKTticmVhaztjYXNlIDExNDplZShlLG4sImJ5dGVzIik7YnJlYWs7Y2FzZSA4ODplbihlLG4sITEpO2JyZWFrO2Nhc2UgMTIwOmVuKGUsbiwhMCk7YnJlYWs7Y2FzZSA2Nzoobj1lLl9jaHVua3MuZ2V0KG4pKSYmImZ1bGZpbGxlZCI9PT1uLnN0YXR1cyYmbi5yZWFzb24uY2xvc2UoIiI9PT11PyciJHVuZGVmaW5lZCInOnUpO2JyZWFrO2RlZmF1bHQ6KGk9KHI9ZS5fY2h1bmtzKS5nZXQobikpP04oZSxpLHUpOihlPW5ldyBTKCJyZXNvbHZlZF9tb2RlbCIsdSxlKSxyLnNldChuLGUpKX19KGUsdSxhLHAsdix5KSxzPV8sMz09PWYmJnMrKyx5PWE9cD1mPTAsdi5sZW5ndGg9MDtlbHNle2w9bmV3IFVpbnQ4QXJyYXkobC5idWZmZXIsYixsLmJ5dGVMZW5ndGgtcyksOTg9PT1wPyh5LT1sLmJ5dGVMZW5ndGgsUShlLGEsbCkpOih2LnB1c2gobCkseS09bC5ieXRlTGVuZ3RoKTticmVha319cmV0dXJuIHUuX3Jvd1N0YXRlPWYsdS5fcm93SUQ9YSx1Ll9yb3dUYWc9cCx1Ll9yb3dMZW5ndGg9eSxpLnJlYWQoKS50aGVuKHQpLmNhdGNoKHIpfSkuY2F0Y2gocil9bi5jcmVhdGVGcm9tRmV0Y2g9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lYSh0KTtyZXR1cm4gZS50aGVuKGZ1bmN0aW9uKGUpe2VsKG4sZS5ib2R5LGVpLmJpbmQobnVsbCxuKSl9LGZ1bmN0aW9uKGUpeyQobixlKX0pLEgobiwwKX0sbi5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW09ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZWwodD1lYSh0KSxlLGVpLmJpbmQobnVsbCx0KSksSCh0LDApfSxuLmNyZWF0ZVNlcnZlclJlZmVyZW5jZT1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oKXt2YXIgbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiB0KGUsbil9cmV0dXJuIEUobixlLG51bGwpLG59LG4uY3JlYXRlVGVtcG9yYXJ5UmVmZXJlbmNlU2V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9LG4uZW5jb2RlUmVwbHk9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt2YXIgbz1mdW5jdGlvbihlLHQsbixyLG8pe2Z1bmN0aW9uIHUoZSx0KXt0PW5ldyBCbG9iKFtuZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKV0pO3ZhciBuPWwrKztyZXR1cm4gbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksYy5hcHBlbmQoIiIrbix0KSwiJCIrZStuLnRvU3RyaW5nKDE2KX1mdW5jdGlvbiBpKGUsdCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtzd2l0Y2godC4kJHR5cGVvZil7Y2FzZSBwOmlmKHZvaWQgMCE9PW4mJi0xPT09ZS5pbmRleE9mKCI6Iikpe3ZhciBFLFMsUixPLHcsVD1mLmdldCh0aGlzKTtpZih2b2lkIDAhPT1UKXJldHVybiBuLnNldChUKyI6IitlLHQpLCIkVCJ9dGhyb3cgRXJyb3IoIlJlYWN0IEVsZW1lbnQgY2Fubm90IGJlIHBhc3NlZCB0byBTZXJ2ZXIgRnVuY3Rpb25zIGZyb20gdGhlIENsaWVudCB3aXRob3V0IGEgdGVtcG9yYXJ5IHJlZmVyZW5jZSBzZXQuIFBhc3MgYSBUZW1wb3JhcnlSZWZlcmVuY2VTZXQgdG8gdGhlIG9wdGlvbnMuIik7Y2FzZSB5OlQ9dC5fcGF5bG9hZDt2YXIgaj10Ll9pbml0O251bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLHMrKzt0cnl7dmFyIEE9aihUKSxrPWwrKyxDPWEoQSxrKTtyZXR1cm4gYy5hcHBlbmQoIiIrayxDKSwiJCIray50b1N0cmluZygxNil9Y2F0Y2goZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil7cysrO3ZhciBOPWwrKztyZXR1cm4gVD1mdW5jdGlvbigpe3RyeXt2YXIgZT1hKHQsTiksbj1jO24uYXBwZW5kKCIiK04sZSkscy0tLDA9PT1zJiZyKG4pfWNhdGNoKGUpe28oZSl9fSxlLnRoZW4oVCxUKSwiJCIrTi50b1N0cmluZygxNil9cmV0dXJuIG8oZSksbnVsbH1maW5hbGx5e3MtLX19aWYoVD1mLmdldCh0KSwiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuKXtpZih2b2lkIDAhPT1UKWlmKGQhPT10KXJldHVybiBUO2Vsc2UgZD1udWxsO251bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLHMrKzt2YXIgUD1sKys7cmV0dXJuIGU9IiRAIitQLnRvU3RyaW5nKDE2KSxmLnNldCh0LGUpLHQudGhlbihmdW5jdGlvbihlKXt0cnl7dmFyIHQ9Zi5nZXQoZSksbj12b2lkIDAhPT10P0pTT04uc3RyaW5naWZ5KHQpOmEoZSxQKTsoZT1jKS5hcHBlbmQoIiIrUCxuKSxzLS0sMD09PXMmJnIoZSl9Y2F0Y2goZSl7byhlKX19LG8pLGV9aWYodm9pZCAwIT09VClpZihkIT09dClyZXR1cm4gVDtlbHNlIGQ9bnVsbDtlbHNlIC0xPT09ZS5pbmRleE9mKCI6IikmJnZvaWQgMCE9PShUPWYuZ2V0KHRoaXMpKSYmKGU9VCsiOiIrZSxmLnNldCh0LGUpLHZvaWQgMCE9PW4mJm4uc2V0KGUsdCkpO2lmKF8odCkpcmV0dXJuIHQ7aWYodCBpbnN0YW5jZW9mIEZvcm1EYXRhKXtudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKTt2YXIgeD1jLEQ9IiIrKGU9bCsrKSsiXyI7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlLHQpe3guYXBwZW5kKEQrdCxlKX0pLCIkSyIrZS50b1N0cmluZygxNil9aWYodCBpbnN0YW5jZW9mIE1hcClyZXR1cm4gZT1sKyssVD1hKEFycmF5LmZyb20odCksZSksbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksYy5hcHBlbmQoIiIrZSxUKSwiJFEiK2UudG9TdHJpbmcoMTYpO2lmKHQgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIGU9bCsrLFQ9YShBcnJheS5mcm9tKHQpLGUpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGMuYXBwZW5kKCIiK2UsVCksIiRXIitlLnRvU3RyaW5nKDE2KTtpZih0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpcmV0dXJuIGU9bmV3IEJsb2IoW3RdKSxUPWwrKyxudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKSxjLmFwcGVuZCgiIitULGUpLCIkQSIrVC50b1N0cmluZygxNik7aWYodCBpbnN0YW5jZW9mIEludDhBcnJheSlyZXR1cm4gdSgiTyIsdCk7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIHUoIm8iLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheSlyZXR1cm4gdSgiVSIsdCk7aWYodCBpbnN0YW5jZW9mIEludDE2QXJyYXkpcmV0dXJuIHUoIlMiLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50MTZBcnJheSlyZXR1cm4gdSgicyIsdCk7aWYodCBpbnN0YW5jZW9mIEludDMyQXJyYXkpcmV0dXJuIHUoIkwiLHQpO2lmKHQgaW5zdGFuY2VvZiBVaW50MzJBcnJheSlyZXR1cm4gdSgibCIsdCk7aWYodCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSlyZXR1cm4gdSgiRyIsdCk7aWYodCBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheSlyZXR1cm4gdSgiZyIsdCk7aWYodCBpbnN0YW5jZW9mIEJpZ0ludDY0QXJyYXkpcmV0dXJuIHUoIk0iLHQpO2lmKHQgaW5zdGFuY2VvZiBCaWdVaW50NjRBcnJheSlyZXR1cm4gdSgibSIsdCk7aWYodCBpbnN0YW5jZW9mIERhdGFWaWV3KXJldHVybiB1KCJWIix0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YgQmxvYiYmdCBpbnN0YW5jZW9mIEJsb2IpcmV0dXJuIG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGU9bCsrLGMuYXBwZW5kKCIiK2UsdCksIiRCIitlLnRvU3RyaW5nKDE2KTtpZihlPW51bGw9PT0oRT10KXx8Im9iamVjdCIhPXR5cGVvZiBFP251bGw6ImZ1bmN0aW9uIj09dHlwZW9mKEU9diYmRVt2XXx8RVsiQEBpdGVyYXRvciJdKT9FOm51bGwpcmV0dXJuKFQ9ZS5jYWxsKHQpKT09PXQ/KGU9bCsrLFQ9YShBcnJheS5mcm9tKFQpLGUpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLGMuYXBwZW5kKCIiK2UsVCksIiRpIitlLnRvU3RyaW5nKDE2KSk6QXJyYXkuZnJvbShUKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgUmVhZGFibGVTdHJlYW0mJnQgaW5zdGFuY2VvZiBSZWFkYWJsZVN0cmVhbSlyZXR1cm4gZnVuY3Rpb24oZSl7dHJ5e3ZhciB0LG4sdSxhLGYsZCxwLHk9ZS5nZXRSZWFkZXIoe21vZGU6ImJ5b2IifSl9Y2F0Y2goYSl7cmV0dXJuIHQ9ZS5nZXRSZWFkZXIoKSxudWxsPT09YyYmKGM9bmV3IEZvcm1EYXRhKSxuPWMscysrLHU9bCsrLHQucmVhZCgpLnRoZW4oZnVuY3Rpb24gZShhKXtpZihhLmRvbmUpbi5hcHBlbmQoIiIrdSwiQyIpLDA9PS0tcyYmcihuKTtlbHNlIHRyeXt2YXIgbD1KU09OLnN0cmluZ2lmeShhLnZhbHVlLGkpO24uYXBwZW5kKCIiK3UsbCksdC5yZWFkKCkudGhlbihlLG8pfWNhdGNoKGUpe28oZSl9fSxvKSwiJFIiK3UudG9TdHJpbmcoMTYpfXJldHVybiBhPXksbnVsbD09PWMmJihjPW5ldyBGb3JtRGF0YSksZj1jLHMrKyxkPWwrKyxwPVtdLGEucmVhZChuZXcgVWludDhBcnJheSgxMDI0KSkudGhlbihmdW5jdGlvbiBlKHQpe3QuZG9uZT8odD1sKyssZi5hcHBlbmQoIiIrdCxuZXcgQmxvYihwKSksZi5hcHBlbmQoIiIrZCwnIiRvJyt0LnRvU3RyaW5nKDE2KSsnIicpLGYuYXBwZW5kKCIiK2QsIkMiKSwwPT0tLXMmJnIoZikpOihwLnB1c2godC52YWx1ZSksYS5yZWFkKG5ldyBVaW50OEFycmF5KDEwMjQpKS50aGVuKGUsbykpfSxvKSwiJHIiK2QudG9TdHJpbmcoMTYpfSh0KTtpZigiZnVuY3Rpb24iPT10eXBlb2YoZT10W2hdKSlyZXR1cm4gUz10LFI9ZS5jYWxsKHQpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLE89YyxzKyssdz1sKyssUz1TPT09UixSLm5leHQoKS50aGVuKGZ1bmN0aW9uIGUodCl7aWYodC5kb25lKXtpZih2b2lkIDA9PT10LnZhbHVlKU8uYXBwZW5kKCIiK3csIkMiKTtlbHNlIHRyeXt2YXIgbj1KU09OLnN0cmluZ2lmeSh0LnZhbHVlLGkpO08uYXBwZW5kKCIiK3csIkMiK24pfWNhdGNoKGUpe28oZSk7cmV0dXJufTA9PS0tcyYmcihPKX1lbHNlIHRyeXt2YXIgdT1KU09OLnN0cmluZ2lmeSh0LnZhbHVlLGkpO08uYXBwZW5kKCIiK3csdSksUi5uZXh0KCkudGhlbihlLG8pfWNhdGNoKGUpe28oZSl9fSxvKSwiJCIrKFM/IngiOiJYIikrdy50b1N0cmluZygxNik7aWYoKGU9Yih0KSkhPT1nJiYobnVsbD09PWV8fG51bGwhPT1iKGUpKSl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcigiT25seSBwbGFpbiBvYmplY3RzLCBhbmQgYSBmZXcgYnVpbHQtaW5zLCBjYW4gYmUgcGFzc2VkIHRvIFNlcnZlciBGdW5jdGlvbnMuIENsYXNzZXMgb3IgbnVsbCBwcm90b3R5cGVzIGFyZSBub3Qgc3VwcG9ydGVkLiIpO3JldHVybiIkVCJ9cmV0dXJuIHR9aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiJaIj09PXRbdC5sZW5ndGgtMV0mJnRoaXNbZV1pbnN0YW5jZW9mIERhdGU/IiREIit0OmU9IiQiPT09dFswXT8iJCIrdDp0O2lmKCJib29sZWFuIj09dHlwZW9mIHQpcmV0dXJuIHQ7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiBOdW1iZXIuaXNGaW5pdGUodCk/MD09PXQmJi0xLzA9PTEvdD8iJC0wIjp0OjEvMD09PXQ/IiRJbmZpbml0eSI6LTEvMD09PXQ/IiQtSW5maW5pdHkiOiIkTmFOIjtpZih2b2lkIDA9PT10KXJldHVybiIkdW5kZWZpbmVkIjtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCl7aWYodm9pZCAwIT09KFQ9bS5nZXQodCkpKXJldHVybiB2b2lkIDAhPT0oZT1mLmdldCh0KSl8fChlPUpTT04uc3RyaW5naWZ5KHtpZDpULmlkLGJvdW5kOlQuYm91bmR9LGkpLG51bGw9PT1jJiYoYz1uZXcgRm9ybURhdGEpLFQ9bCsrLGMuc2V0KCIiK1QsZSksZT0iJGgiK1QudG9TdHJpbmcoMTYpLGYuc2V0KHQsZSkpLGU7aWYodm9pZCAwIT09biYmLTE9PT1lLmluZGV4T2YoIjoiKSYmdm9pZCAwIT09KFQ9Zi5nZXQodGhpcykpKXJldHVybiBuLnNldChUKyI6IitlLHQpLCIkVCI7dGhyb3cgRXJyb3IoIkNsaWVudCBGdW5jdGlvbnMgY2Fubm90IGJlIHBhc3NlZCBkaXJlY3RseSB0byBTZXJ2ZXIgRnVuY3Rpb25zLiBPbmx5IEZ1bmN0aW9ucyBwYXNzZWQgZnJvbSB0aGUgU2VydmVyIGNhbiBiZSBwYXNzZWQgYmFjayBhZ2Fpbi4iKX1pZigic3ltYm9sIj09dHlwZW9mIHQpe2lmKHZvaWQgMCE9PW4mJi0xPT09ZS5pbmRleE9mKCI6IikmJnZvaWQgMCE9PShUPWYuZ2V0KHRoaXMpKSlyZXR1cm4gbi5zZXQoVCsiOiIrZSx0KSwiJFQiO3Rocm93IEVycm9yKCJTeW1ib2xzIGNhbm5vdCBiZSBwYXNzZWQgdG8gYSBTZXJ2ZXIgRnVuY3Rpb24gd2l0aG91dCBhIHRlbXBvcmFyeSByZWZlcmVuY2Ugc2V0LiBQYXNzIGEgVGVtcG9yYXJ5UmVmZXJlbmNlU2V0IHRvIHRoZSBvcHRpb25zLiIpfWlmKCJiaWdpbnQiPT10eXBlb2YgdClyZXR1cm4iJG4iK3QudG9TdHJpbmcoMTApO3Rocm93IEVycm9yKCJUeXBlICIrdHlwZW9mIHQrIiBpcyBub3Qgc3VwcG9ydGVkIGFzIGFuIGFyZ3VtZW50IHRvIGEgU2VydmVyIEZ1bmN0aW9uLiIpfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYodD0iJCIrdC50b1N0cmluZygxNiksZi5zZXQoZSx0KSx2b2lkIDAhPT1uJiZuLnNldCh0LGUpKSxkPWUsSlNPTi5zdHJpbmdpZnkoZSxpKX12YXIgbD0xLHM9MCxjPW51bGwsZj1uZXcgV2Vha01hcCxkPWUsRT1hKGUsMCk7cmV0dXJuIG51bGw9PT1jP3IoRSk6KGMuc2V0KCIwIixFKSwwPT09cyYmcihjKSksZnVuY3Rpb24oKXswPHMmJihzPTAsbnVsbD09PWM/cihFKTpyKGMpKX19KGUsMCx0JiZ0LnRlbXBvcmFyeVJlZmVyZW5jZXM/dC50ZW1wb3JhcnlSZWZlcmVuY2VzOnZvaWQgMCxuLHIpO2lmKHQmJnQuc2lnbmFsKXt2YXIgdT10LnNpZ25hbDtpZih1LmFib3J0ZWQpbyh1LnJlYXNvbik7ZWxzZXt2YXIgaT1mdW5jdGlvbigpe28odS5yZWFzb24pLHUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGkpfTt1LmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixpKX19fSl9LG4ucmVnaXN0ZXJTZXJ2ZXJSZWZlcmVuY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gRShlLHQsbnVsbCksZX19LDkxNTk4LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig0OTcwNil9LDc1MDQ1LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPWUucig5MTU5OCl9LDU5NDMwLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByLG89e0FDVElPTl9ITVJfUkVGUkVTSDpmdW5jdGlvbigpe3JldHVybiBjfSxBQ1RJT05fTkFWSUdBVEU6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sQUNUSU9OX1JFRlJFU0g6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sQUNUSU9OX1JFU1RPUkU6ZnVuY3Rpb24oKXtyZXR1cm4gbH0sQUNUSU9OX1NFUlZFUl9BQ1RJT046ZnVuY3Rpb24oKXtyZXR1cm4gZn0sQUNUSU9OX1NFUlZFUl9QQVRDSDpmdW5jdGlvbigpe3JldHVybiBzfSxQcmVmZXRjaEtpbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gZH19O2Zvcih2YXIgdSBpbiBvKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLHUse2VudW1lcmFibGU6ITAsZ2V0Om9bdV19KTtsZXQgaT0icmVmcmVzaCIsYT0ibmF2aWdhdGUiLGw9InJlc3RvcmUiLHM9InNlcnZlci1wYXRjaCIsYz0iaG1yLXJlZnJlc2giLGY9InNlcnZlci1hY3Rpb24iO3ZhciBkPSgocj17fSkuQVVUTz0iYXV0byIsci5GVUxMPSJmdWxsIixyKTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5MTc2OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSl7cmV0dXJuIG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGUmJiJ0aGVuImluIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnRoZW59T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJpc1RoZW5hYmxlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcn19KX0sOTQ4NzksKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9e2Rpc3BhdGNoQXBwUm91dGVyQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHVzZUFjdGlvblF1ZXVlOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIG8gaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixvLHtlbnVtZXJhYmxlOiEwLGdldDpyW29dfSk7bGV0IHU9ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9ZS5yKDkxNzY4KSxhPW51bGw7ZnVuY3Rpb24gbChlKXtpZihudWxsPT09YSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7YShlKX1mdW5jdGlvbiBzKGUpe2xldFt0LG5dPXUuZGVmYXVsdC51c2VTdGF0ZShlLnN0YXRlKTthPXQ9PmUuZGlzcGF0Y2godCxuKTtsZXQgcj0oMCx1LnVzZU1lbW8pKCgpPT50LFt0XSk7cmV0dXJuKDAsaS5pc1RoZW5hYmxlKShyKT8oMCx1LnVzZSkocik6cn0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMDkzMSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiY2FsbFNlcnZlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGl9fSk7bGV0IHI9ZS5yKDc1MjAxKSxvPWUucig1OTQzMCksdT1lLnIoOTQ4NzkpO2FzeW5jIGZ1bmN0aW9uIGkoZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKG4saSk9PnsoMCxyLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCx1LmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpvLkFDVElPTl9TRVJWRVJfQUNUSU9OLGFjdGlvbklkOmUsYWN0aW9uQXJnczp0LHJlc29sdmU6bixyZWplY3Q6aX0pfSl9KX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw4OTU5NCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2xldCByO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZmluZFNvdXJjZU1hcFVSTCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9fSk7KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX1dKTs="}},"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":"digitaltradeinvest.org/css/font-icons.min.css","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:48.841Z","timestamp":1785129948841,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /css/font-icons.min.css HTTP/1.1\r\nHost: digitaltradeinvest.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:48 GMT\r\ncontent-type: text/css\r\ncontent-length: 46728\r\ncache-control: public, max-age=604800\r\nexpires: Tue, 28 Jul 2026 19:12:48 GMT\r\nlast-modified: Thu, 09 Oct 2025 21:44:33 GMT\r\netag: \"44cd0-68e82cc1-6696c05150f4e98f;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 234256\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: cc105de7f73658e00745ebb9773da012-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":281808,"size_decoded":47274,"mime_type":"text/css","magic":"ASCII text, with very long lines (59158), with CRLF line terminators","md5":"ca5dbf8407c1d702130f95eced032a85","sha1":"d07d586222ddfdceb40bc4a4ebab7c9e0c04d7a2","sha256":"15b2bcc2b13e7331ab96993fd54ff041c441b698548be5d466cae2f692fc2e0f","sha512":"3b3d9525f0b65144812bdf71f3d392d7f0da9ca52b667a7adfa727af94902394fc0357f0f7126ab32c4354d513c5e2dcea7db636e8018898e97a1d49cf1b8de7","ssdeep":"3072:hPx04YXGdFTyHjG6IQrVnuF0OrazsfWtz1:hPx0yFTSIQrJItrax11","tlshash":"6b540ef6e44d28d87732c607aba9b75c58e5f236ce844c22f01f8a1d5af125602e5b7c","first_seen":"2026-07-27T04:14:44.651993Z","last_seen":"2026-08-04T06:09:43.934235Z","times_seen":4,"resource_available":false,"data":"LyoNCkZvbnQgYXdlc29tZQ0KVmVyc2lvbjogNS4xNS4xDQpQbHVnaW4gVVJJOiBodHRwczovL2ZvbnRhd2Vzb21lLmNvbQ0KTGljZW5zZTogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSkNCiovDQouZmEsLmZhYiwuZmFkLC5mYWwsLmZhciwuZmFzey1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC1yZW5kZXJpbmc6YXV0bztsaW5lLWhlaWdodDoxfS5mYS1sZ3tmb250LXNpemU6MS4zMzMzM2VtO2xpbmUtaGVpZ2h0Oi43NWVtO3ZlcnRpY2FsLWFsaWduOi0uMDY2N2VtfS5mYS14c3tmb250LXNpemU6Ljc1ZW19LmZhLXNte2ZvbnQtc2l6ZTouODc1ZW19LmZhLTF4e2ZvbnQtc2l6ZToxZW19LmZhLTJ4e2ZvbnQtc2l6ZToyZW19LmZhLTN4e2ZvbnQtc2l6ZTozZW19LmZhLTR4e2ZvbnQtc2l6ZTo0ZW19LmZhLTV4e2ZvbnQtc2l6ZTo1ZW19LmZhLTZ4e2ZvbnQtc2l6ZTo2ZW19LmZhLTd4e2ZvbnQtc2l6ZTo3ZW19LmZhLTh4e2ZvbnQtc2l6ZTo4ZW19LmZhLTl4e2ZvbnQtc2l6ZTo5ZW19LmZhLTEweHtmb250LXNpemU6MTBlbX0uZmEtZnd7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MS4yNWVtfS5mYS11bHtsaXN0LXN0eWxlLXR5cGU6bm9uZTttYXJnaW4tbGVmdDoyLjVlbTtwYWRkaW5nLWxlZnQ6MH0uZmEtdWw+bGl7cG9zaXRpb246cmVsYXRpdmV9LmZhLWxpe2xlZnQ6LTJlbTtwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDoyZW07bGluZS1oZWlnaHQ6aW5oZXJpdH0uZmEtYm9yZGVye2JvcmRlcjouMDhlbSBzb2xpZCAjZWVlO2JvcmRlci1yYWRpdXM6LjFlbTtwYWRkaW5nOi4yZW0gLjI1ZW0gLjE1ZW19LmZhLXB1bGwtbGVmdHtmbG9hdDpsZWZ0fS5mYS1wdWxsLXJpZ2h0e2Zsb2F0OnJpZ2h0fS5mYS5mYS1wdWxsLWxlZnQsLmZhYi5mYS1wdWxsLWxlZnQsLmZhbC5mYS1wdWxsLWxlZnQsLmZhci5mYS1wdWxsLWxlZnQsLmZhcy5mYS1wdWxsLWxlZnR7bWFyZ2luLXJpZ2h0Oi4zZW19LmZhLmZhLXB1bGwtcmlnaHQsLmZhYi5mYS1wdWxsLXJpZ2h0LC5mYWwuZmEtcHVsbC1yaWdodCwuZmFyLmZhLXB1bGwtcmlnaHQsLmZhcy5mYS1wdWxsLXJpZ2h0e21hcmdpbi1sZWZ0Oi4zZW19LmZhLXNwaW57LXdlYmtpdC1hbmltYXRpb246ZmEtc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOmZhLXNwaW4gMnMgbGluZWFyIGluZmluaXRlfS5mYS1wdWxzZXstd2Via2l0LWFuaW1hdGlvbjpmYS1zcGluIDFzIHN0ZXBzKDgpIGluZmluaXRlO2FuaW1hdGlvbjpmYS1zcGluIDFzIHN0ZXBzKDgpIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUBrZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX0uZmEtcm90YXRlLTkwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5mYS1yb3RhdGUtMTgwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmZhLXJvdGF0ZS0yNzB7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MykiOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX0uZmEtZmxpcC1ob3Jpem9udGFsey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKSI7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKC0xKTt0cmFuc2Zvcm06c2NhbGVYKC0xKX0uZmEtZmxpcC12ZXJ0aWNhbHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoLTEpO3RyYW5zZm9ybTpzY2FsZVkoLTEpfS5mYS1mbGlwLWJvdGgsLmZhLWZsaXAtaG9yaXpvbnRhbC5mYS1mbGlwLXZlcnRpY2FsLC5mYS1mbGlwLXZlcnRpY2Fsey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIsIG1pcnJvcj0xKSJ9LmZhLWZsaXAtYm90aCwuZmEtZmxpcC1ob3Jpem9udGFsLmZhLWZsaXAtdmVydGljYWx7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLTEpO3RyYW5zZm9ybTpzY2FsZSgtMSl9OnJvb3QgLmZhLWZsaXAtYm90aCw6cm9vdCAuZmEtZmxpcC1ob3Jpem9udGFsLDpyb290IC5mYS1mbGlwLXZlcnRpY2FsLDpyb290IC5mYS1yb3RhdGUtOTAsOnJvb3QgLmZhLXJvdGF0ZS0xODAsOnJvb3QgLmZhLXJvdGF0ZS0yNzB7LXdlYmtpdC1maWx0ZXI6bm9uZTtmaWx0ZXI6bm9uZX0uZmEtc3RhY2t7ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjJlbTtsaW5lLWhlaWdodDoyZW07cG9zaXRpb246cmVsYXRpdmU7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjIuNWVtfS5mYS1zdGFjay0xeCwuZmEtc3RhY2stMnh7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3RleHQtYWxpZ246Y2VudGVyO3dpZHRoOjEwMCV9LmZhLXN0YWNrLTF4e2xpbmUtaGVpZ2h0OmluaGVyaXR9LmZhLXN0YWNrLTJ4e2ZvbnQtc2l6ZToyZW19LmZhLWludmVyc2V7Y29sb3I6I2ZmZn0uZmEtNTAwcHg6YmVmb3Jle2NvbnRlbnQ6IlxmMjZlIn0uZmEtYWNjZXNzaWJsZS1pY29uOmJlZm9yZXtjb250ZW50OiJcZjM2OCJ9LmZhLWFjY3Vzb2Z0OmJlZm9yZXtjb250ZW50OiJcZjM2OSJ9LmZhLWFjcXVpc2l0aW9ucy1pbmNvcnBvcmF0ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmFmIn0uZmEtYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjQxIn0uZmEtYWRkcmVzcy1ib29rOmJlZm9yZXtjb250ZW50OiJcZjJiOSJ9LmZhLWFkZHJlc3MtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYyYmIifS5mYS1hZGp1c3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDQyIn0uZmEtYWRuOmJlZm9yZXtjb250ZW50OiJcZjE3MCJ9LmZhLWFkdmVyc2FsOmJlZm9yZXtjb250ZW50OiJcZjM2YSJ9LmZhLWFmZmlsaWF0ZXRoZW1lOmJlZm9yZXtjb250ZW50OiJcZjM2YiJ9LmZhLWFpci1mcmVzaGVuZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWQwIn0uZmEtYWlyYm5iOmJlZm9yZXtjb250ZW50OiJcZjgzNCJ9LmZhLWFsZ29saWE6YmVmb3Jle2NvbnRlbnQ6IlxmMzZjIn0uZmEtYWxpZ24tY2VudGVyOmJlZm9yZXtjb250ZW50OiJcZjAzNyJ9LmZhLWFsaWduLWp1c3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMDM5In0uZmEtYWxpZ24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwMzYifS5mYS1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwMzgifS5mYS1hbGlwYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNjQyIn0uZmEtYWxsZXJnaWVzOmJlZm9yZXtjb250ZW50OiJcZjQ2MSJ9LmZhLWFtYXpvbjpiZWZvcmV7Y29udGVudDoiXGYyNzAifS5mYS1hbWF6b24tcGF5OmJlZm9yZXtjb250ZW50OiJcZjQyYyJ9LmZhLWFtYnVsYW5jZTpiZWZvcmV7Y29udGVudDoiXGYwZjkifS5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmV7Y29udGVudDoiXGYyYTMifS5mYS1hbWlsaWE6YmVmb3Jle2NvbnRlbnQ6IlxmMzZkIn0uZmEtYW5jaG9yOmJlZm9yZXtjb250ZW50OiJcZjEzZCJ9LmZhLWFuZHJvaWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTdiIn0uZmEtYW5nZWxsaXN0OmJlZm9yZXtjb250ZW50OiJcZjIwOSJ9LmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjEwMyJ9LmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwMCJ9LmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxMDEifS5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTAyIn0uZmEtYW5nbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDcifS5mYS1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjEwNCJ9LmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjEwNSJ9LmZhLWFuZ2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwNiJ9LmZhLWFuZ3J5OmJlZm9yZXtjb250ZW50OiJcZjU1NiJ9LmZhLWFuZ3J5Y3JlYXRpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmMzZlIn0uZmEtYW5ndWxhcjpiZWZvcmV7Y29udGVudDoiXGY0MjAifS5mYS1hbmtoOmJlZm9yZXtjb250ZW50OiJcZjY0NCJ9LmZhLWFwcC1zdG9yZTpiZWZvcmV7Y29udGVudDoiXGYzNmYifS5mYS1hcHAtc3RvcmUtaW9zOmJlZm9yZXtjb250ZW50OiJcZjM3MCJ9LmZhLWFwcGVyOmJlZm9yZXtjb250ZW50OiJcZjM3MSJ9LmZhLWFwcGxlOmJlZm9yZXtjb250ZW50OiJcZjE3OSJ9LmZhLWFwcGxlLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1ZDEifS5mYS1hcHBsZS1wYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNDE1In0uZmEtYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGYxODcifS5mYS1hcmNod2F5OmJlZm9yZXtjb250ZW50OiJcZjU1NyJ9LmZhLWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYzNTgifS5mYS1hcnJvdy1hbHQtY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzU5In0uZmEtYXJyb3ctYWx0LWNpcmNsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYzNWEifS5mYS1hcnJvdy1hbHQtY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjM1YiJ9LmZhLWFycm93LWNpcmNsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjBhYiJ9LmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjBhOCJ9LmZhLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwYTkifS5mYS1hcnJvdy1jaXJjbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGFhIn0uZmEtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYwNjMifS5mYS1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjA2MCJ9LmZhLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjA2MSJ9LmZhLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZjA2MiJ9LmZhLWFycm93cy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGIyIn0uZmEtYXJyb3dzLWFsdC1oOmJlZm9yZXtjb250ZW50OiJcZjMzNyJ9LmZhLWFycm93cy1hbHQtdjpiZWZvcmV7Y29udGVudDoiXGYzMzgifS5mYS1hcnRzdGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjc3YSJ9LmZhLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczpiZWZvcmV7Y29udGVudDoiXGYyYTIifS5mYS1hc3RlcmlzazpiZWZvcmV7Y29udGVudDoiXGYwNjkifS5mYS1hc3ltbWV0cmlrOmJlZm9yZXtjb250ZW50OiJcZjM3MiJ9LmZhLWF0OmJlZm9yZXtjb250ZW50OiJcZjFmYSJ9LmZhLWF0bGFzOmJlZm9yZXtjb250ZW50OiJcZjU1OCJ9LmZhLWF0bGFzc2lhbjpiZWZvcmV7Y29udGVudDoiXGY3N2IifS5mYS1hdG9tOmJlZm9yZXtjb250ZW50OiJcZjVkMiJ9LmZhLWF1ZGlibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMzczIn0uZmEtYXVkaW8tZGVzY3JpcHRpb246YmVmb3Jle2NvbnRlbnQ6IlxmMjllIn0uZmEtYXV0b3ByZWZpeGVyOmJlZm9yZXtjb250ZW50OiJcZjQxYyJ9LmZhLWF2aWFuZXg6YmVmb3Jle2NvbnRlbnQ6IlxmMzc0In0uZmEtYXZpYXRvOmJlZm9yZXtjb250ZW50OiJcZjQyMSJ9LmZhLWF3YXJkOmJlZm9yZXtjb250ZW50OiJcZjU1OSJ9LmZhLWF3czpiZWZvcmV7Y29udGVudDoiXGYzNzUifS5mYS1iYWJ5OmJlZm9yZXtjb250ZW50OiJcZjc3YyJ9LmZhLWJhYnktY2FycmlhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmNzdkIn0uZmEtYmFja3NwYWNlOmJlZm9yZXtjb250ZW50OiJcZjU1YSJ9LmZhLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0YSJ9LmZhLWJhY29uOmJlZm9yZXtjb250ZW50OiJcZjdlNSJ9LmZhLWJhY3RlcmlhOmJlZm9yZXtjb250ZW50OiJcZTA1OSJ9LmZhLWJhY3Rlcml1bTpiZWZvcmV7Y29udGVudDoiXGUwNWEifS5mYS1iYWhhaTpiZWZvcmV7Y29udGVudDoiXGY2NjYifS5mYS1iYWxhbmNlLXNjYWxlOmJlZm9yZXtjb250ZW50OiJcZjI0ZSJ9LmZhLWJhbGFuY2Utc2NhbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGY1MTUifS5mYS1iYWxhbmNlLXNjYWxlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjUxNiJ9LmZhLWJhbjpiZWZvcmV7Y29udGVudDoiXGYwNWUifS5mYS1iYW5kLWFpZDpiZWZvcmV7Y29udGVudDoiXGY0NjIifS5mYS1iYW5kY2FtcDpiZWZvcmV7Y29udGVudDoiXGYyZDUifS5mYS1iYXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyYSJ9LmZhLWJhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGM5In0uZmEtYmFzZWJhbGwtYmFsbDpiZWZvcmV7Y29udGVudDoiXGY0MzMifS5mYS1iYXNrZXRiYWxsLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDM0In0uZmEtYmF0aDpiZWZvcmV7Y29udGVudDoiXGYyY2QifS5mYS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZjI0NCJ9LmZhLWJhdHRlcnktZnVsbDpiZWZvcmV7Y29udGVudDoiXGYyNDAifS5mYS1iYXR0ZXJ5LWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMjQyIn0uZmEtYmF0dGVyeS1xdWFydGVyOmJlZm9yZXtjb250ZW50OiJcZjI0MyJ9LmZhLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjQxIn0uZmEtYmF0dGxlLW5ldDpiZWZvcmV7Y29udGVudDoiXGY4MzUifS5mYS1iZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjM2In0uZmEtYmVlcjpiZWZvcmV7Y29udGVudDoiXGYwZmMifS5mYS1iZWhhbmNlOmJlZm9yZXtjb250ZW50OiJcZjFiNCJ9LmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNSJ9LmZhLWJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxmMGYzIn0uZmEtYmVsbC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxZjYifS5mYS1iZXppZXItY3VydmU6YmVmb3Jle2NvbnRlbnQ6IlxmNTViIn0uZmEtYmlibGU6YmVmb3Jle2NvbnRlbnQ6IlxmNjQ3In0uZmEtYmljeWNsZTpiZWZvcmV7Y29udGVudDoiXGYyMDYifS5mYS1iaWtpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmODRhIn0uZmEtYmltb2JqZWN0OmJlZm9yZXtjb250ZW50OiJcZjM3OCJ9LmZhLWJpbm9jdWxhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMWU1In0uZmEtYmlvaGF6YXJkOmJlZm9yZXtjb250ZW50OiJcZjc4MCJ9LmZhLWJpcnRoZGF5LWNha2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWZkIn0uZmEtYml0YnVja2V0OmJlZm9yZXtjb250ZW50OiJcZjE3MSJ9LmZhLWJpdGNvaW46YmVmb3Jle2NvbnRlbnQ6IlxmMzc5In0uZmEtYml0eTpiZWZvcmV7Y29udGVudDoiXGYzN2EifS5mYS1ibGFjay10aWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjdlIn0uZmEtYmxhY2tiZXJyeTpiZWZvcmV7Y29udGVudDoiXGYzN2IifS5mYS1ibGVuZGVyOmJlZm9yZXtjb250ZW50OiJcZjUxNyJ9LmZhLWJsZW5kZXItcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNmI2In0uZmEtYmxpbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjlkIn0uZmEtYmxvZzpiZWZvcmV7Y29udGVudDoiXGY3ODEifS5mYS1ibG9nZ2VyOmJlZm9yZXtjb250ZW50OiJcZjM3YyJ9LmZhLWJsb2dnZXItYjpiZWZvcmV7Y29udGVudDoiXGYzN2QifS5mYS1ibHVldG9vdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMjkzIn0uZmEtYmx1ZXRvb3RoLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk0In0uZmEtYm9sZDpiZWZvcmV7Y29udGVudDoiXGYwMzIifS5mYS1ib2x0OmJlZm9yZXtjb250ZW50OiJcZjBlNyJ9LmZhLWJvbWI6YmVmb3Jle2NvbnRlbnQ6IlxmMWUyIn0uZmEtYm9uZTpiZWZvcmV7Y29udGVudDoiXGY1ZDcifS5mYS1ib25nOmJlZm9yZXtjb250ZW50OiJcZjU1YyJ9LmZhLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDJkIn0uZmEtYm9vay1kZWFkOmJlZm9yZXtjb250ZW50OiJcZjZiNyJ9LmZhLWJvb2stbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY3ZTYifS5mYS1ib29rLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmNTE4In0uZmEtYm9vay1yZWFkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWRhIn0uZmEtYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxmMDJlIn0uZmEtYm9vdHN0cmFwOmJlZm9yZXtjb250ZW50OiJcZjgzNiJ9LmZhLWJvcmRlci1hbGw6YmVmb3Jle2NvbnRlbnQ6IlxmODRjIn0uZmEtYm9yZGVyLW5vbmU6YmVmb3Jle2NvbnRlbnQ6IlxmODUwIn0uZmEtYm9yZGVyLXN0eWxlOmJlZm9yZXtjb250ZW50OiJcZjg1MyJ9LmZhLWJvd2xpbmctYmFsbDpiZWZvcmV7Y29udGVudDoiXGY0MzYifS5mYS1ib3g6YmVmb3Jle2NvbnRlbnQ6IlxmNDY2In0uZmEtYm94LW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmNDllIn0uZmEtYm94LXRpc3N1ZTpiZWZvcmV7Y29udGVudDoiXGUwNWIifS5mYS1ib3hlczpiZWZvcmV7Y29udGVudDoiXGY0NjgifS5mYS1icmFpbGxlOmJlZm9yZXtjb250ZW50OiJcZjJhMSJ9LmZhLWJyYWluOmJlZm9yZXtjb250ZW50OiJcZjVkYyJ9LmZhLWJyZWFkLXNsaWNlOmJlZm9yZXtjb250ZW50OiJcZjdlYyJ9LmZhLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDoiXGYwYjEifS5mYS1icmllZmNhc2UtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY0NjkifS5mYS1icm9hZGNhc3QtdG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTE5In0uZmEtYnJvb206YmVmb3Jle2NvbnRlbnQ6IlxmNTFhIn0uZmEtYnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxmNTVkIn0uZmEtYnRjOmJlZm9yZXtjb250ZW50OiJcZjE1YSJ9LmZhLWJ1ZmZlcjpiZWZvcmV7Y29udGVudDoiXGY4MzcifS5mYS1idWc6YmVmb3Jle2NvbnRlbnQ6IlxmMTg4In0uZmEtYnVpbGRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMWFkIn0uZmEtYnVsbGhvcm46YmVmb3Jle2NvbnRlbnQ6IlxmMGExIn0uZmEtYnVsbHNleWU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQwIn0uZmEtYnVybjpiZWZvcmV7Y29udGVudDoiXGY0NmEifS5mYS1idXJvbW9iZWxleHBlcnRlOmJlZm9yZXtjb250ZW50OiJcZjM3ZiJ9LmZhLWJ1czpiZWZvcmV7Y29udGVudDoiXGYyMDcifS5mYS1idXMtYWx0OmJlZm9yZXtjb250ZW50OiJcZjU1ZSJ9LmZhLWJ1c2luZXNzLXRpbWU6YmVmb3Jle2NvbnRlbnQ6IlxmNjRhIn0uZmEtYnV5LW4tbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmOGE2In0uZmEtYnV5c2VsbGFkczpiZWZvcmV7Y29udGVudDoiXGYyMGQifS5mYS1jYWxjdWxhdG9yOmJlZm9yZXtjb250ZW50OiJcZjFlYyJ9LmZhLWNhbGVuZGFyOmJlZm9yZXtjb250ZW50OiJcZjEzMyJ9LmZhLWNhbGVuZGFyLWFsdDpiZWZvcmV7Y29udGVudDoiXGYwNzMifS5mYS1jYWxlbmRhci1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYyNzQifS5mYS1jYWxlbmRhci1kYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNzgzIn0uZmEtY2FsZW5kYXItbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjcyIn0uZmEtY2FsZW5kYXItcGx1czpiZWZvcmV7Y29udGVudDoiXGYyNzEifS5mYS1jYWxlbmRhci10aW1lczpiZWZvcmV7Y29udGVudDoiXGYyNzMifS5mYS1jYWxlbmRhci13ZWVrOmJlZm9yZXtjb250ZW50OiJcZjc4NCJ9LmZhLWNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGYwMzAifS5mYS1jYW1lcmEtcmV0cm86YmVmb3Jle2NvbnRlbnQ6IlxmMDgzIn0uZmEtY2FtcGdyb3VuZDpiZWZvcmV7Y29udGVudDoiXGY2YmIifS5mYS1jYW5hZGlhbi1tYXBsZS1sZWFmOmJlZm9yZXtjb250ZW50OiJcZjc4NSJ9LmZhLWNhbmR5LWNhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmNzg2In0uZmEtY2FubmFiaXM6YmVmb3Jle2NvbnRlbnQ6IlxmNTVmIn0uZmEtY2Fwc3VsZXM6YmVmb3Jle2NvbnRlbnQ6IlxmNDZiIn0uZmEtY2FyOmJlZm9yZXtjb250ZW50OiJcZjFiOSJ9LmZhLWNhci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWRlIn0uZmEtY2FyLWJhdHRlcnk6YmVmb3Jle2NvbnRlbnQ6IlxmNWRmIn0uZmEtY2FyLWNyYXNoOmJlZm9yZXtjb250ZW50OiJcZjVlMSJ9LmZhLWNhci1zaWRlOmJlZm9yZXtjb250ZW50OiJcZjVlNCJ9LmZhLWNhcmF2YW46YmVmb3Jle2NvbnRlbnQ6IlxmOGZmIn0uZmEtY2FyZXQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwZDcifS5mYS1jYXJldC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjBkOSJ9LmZhLWNhcmV0LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBkYSJ9LmZhLWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE1MCJ9LmZhLWNhcmV0LXNxdWFyZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE5MSJ9LmZhLWNhcmV0LXNxdWFyZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxNTIifS5mYS1jYXJldC1zcXVhcmUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTUxIn0uZmEtY2FyZXQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ4In0uZmEtY2Fycm90OmJlZm9yZXtjb250ZW50OiJcZjc4NyJ9LmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGYyMTgifS5mYS1jYXJ0LXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjE3In0uZmEtY2FzaC1yZWdpc3RlcjpiZWZvcmV7Y29udGVudDoiXGY3ODgifS5mYS1jYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmJlIn0uZmEtY2MtYW1hem9uLXBheTpiZWZvcmV7Y29udGVudDoiXGY0MmQifS5mYS1jYy1hbWV4OmJlZm9yZXtjb250ZW50OiJcZjFmMyJ9LmZhLWNjLWFwcGxlLXBheTpiZWZvcmV7Y29udGVudDoiXGY0MTYifS5mYS1jYy1kaW5lcnMtY2x1YjpiZWZvcmV7Y29udGVudDoiXGYyNGMifS5mYS1jYy1kaXNjb3ZlcjpiZWZvcmV7Y29udGVudDoiXGYxZjIifS5mYS1jYy1qY2I6YmVmb3Jle2NvbnRlbnQ6IlxmMjRiIn0uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmV7Y29udGVudDoiXGYxZjEifS5mYS1jYy1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWY0In0uZmEtY2Mtc3RyaXBlOmJlZm9yZXtjb250ZW50OiJcZjFmNSJ9LmZhLWNjLXZpc2E6YmVmb3Jle2NvbnRlbnQ6IlxmMWYwIn0uZmEtY2VudGVyY29kZTpiZWZvcmV7Y29udGVudDoiXGYzODAifS5mYS1jZW50b3M6YmVmb3Jle2NvbnRlbnQ6IlxmNzg5In0uZmEtY2VydGlmaWNhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGEzIn0uZmEtY2hhaXI6YmVmb3Jle2NvbnRlbnQ6IlxmNmMwIn0uZmEtY2hhbGtib2FyZDpiZWZvcmV7Y29udGVudDoiXGY1MWIifS5mYS1jaGFsa2JvYXJkLXRlYWNoZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTFjIn0uZmEtY2hhcmdpbmctc3RhdGlvbjpiZWZvcmV7Y29udGVudDoiXGY1ZTcifS5mYS1jaGFydC1hcmVhOmJlZm9yZXtjb250ZW50OiJcZjFmZSJ9LmZhLWNoYXJ0LWJhcjpiZWZvcmV7Y29udGVudDoiXGYwODAifS5mYS1jaGFydC1saW5lOmJlZm9yZXtjb250ZW50OiJcZjIwMSJ9LmZhLWNoYXJ0LXBpZTpiZWZvcmV7Y29udGVudDoiXGYyMDAifS5mYS1jaGVjazpiZWZvcmV7Y29udGVudDoiXGYwMGMifS5mYS1jaGVjay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU4In0uZmEtY2hlY2stZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjU2MCJ9LmZhLWNoZWNrLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGEifS5mYS1jaGVlc2U6YmVmb3Jle2NvbnRlbnQ6IlxmN2VmIn0uZmEtY2hlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNDM5In0uZmEtY2hlc3MtYmlzaG9wOmJlZm9yZXtjb250ZW50OiJcZjQzYSJ9LmZhLWNoZXNzLWJvYXJkOmJlZm9yZXtjb250ZW50OiJcZjQzYyJ9LmZhLWNoZXNzLWtpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNDNmIn0uZmEtY2hlc3Mta25pZ2h0OmJlZm9yZXtjb250ZW50OiJcZjQ0MSJ9LmZhLWNoZXNzLXBhd246YmVmb3Jle2NvbnRlbnQ6IlxmNDQzIn0uZmEtY2hlc3MtcXVlZW46YmVmb3Jle2NvbnRlbnQ6IlxmNDQ1In0uZmEtY2hlc3Mtcm9vazpiZWZvcmV7Y29udGVudDoiXGY0NDcifS5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjEzYSJ9LmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM3In0uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTM4In0uZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTM5In0uZmEtY2hldnJvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA3OCJ9LmZhLWNoZXZyb24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwNTMifS5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjA1NCJ9LmZhLWNoZXZyb24tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDc3In0uZmEtY2hpbGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWFlIn0uZmEtY2hyb21lOmJlZm9yZXtjb250ZW50OiJcZjI2OCJ9LmZhLWNocm9tZWNhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmODM4In0uZmEtY2h1cmNoOmJlZm9yZXtjb250ZW50OiJcZjUxZCJ9LmZhLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYxMTEifS5mYS1jaXJjbGUtbm90Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWNlIn0uZmEtY2l0eTpiZWZvcmV7Y29udGVudDoiXGY2NGYifS5mYS1jbGluaWMtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY3ZjIifS5mYS1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzI4In0uZmEtY2xpcGJvYXJkLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZjQ2YyJ9LmZhLWNsaXBib2FyZC1saXN0OmJlZm9yZXtjb250ZW50OiJcZjQ2ZCJ9LmZhLWNsb2NrOmJlZm9yZXtjb250ZW50OiJcZjAxNyJ9LmZhLWNsb25lOmJlZm9yZXtjb250ZW50OiJcZjI0ZCJ9LmZhLWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZXtjb250ZW50OiJcZjIwYSJ9LmZhLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZjBjMiJ9LmZhLWNsb3VkLWRvd25sb2FkLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzODEifS5mYS1jbG91ZC1tZWF0YmFsbDpiZWZvcmV7Y29udGVudDoiXGY3M2IifS5mYS1jbG91ZC1tb29uOmJlZm9yZXtjb250ZW50OiJcZjZjMyJ9LmZhLWNsb3VkLW1vb24tcmFpbjpiZWZvcmV7Y29udGVudDoiXGY3M2MifS5mYS1jbG91ZC1yYWluOmJlZm9yZXtjb250ZW50OiJcZjczZCJ9LmZhLWNsb3VkLXNob3dlcnMtaGVhdnk6YmVmb3Jle2NvbnRlbnQ6IlxmNzQwIn0uZmEtY2xvdWQtc3VuOmJlZm9yZXtjb250ZW50OiJcZjZjNCJ9LmZhLWNsb3VkLXN1bi1yYWluOmJlZm9yZXtjb250ZW50OiJcZjc0MyJ9LmZhLWNsb3VkLXVwbG9hZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzgyIn0uZmEtY2xvdWRmbGFyZTpiZWZvcmV7Y29udGVudDoiXGUwN2QifS5mYS1jbG91ZHNjYWxlOmJlZm9yZXtjb250ZW50OiJcZjM4MyJ9LmZhLWNsb3Vkc21pdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMzg0In0uZmEtY2xvdWR2ZXJzaWZ5OmJlZm9yZXtjb250ZW50OiJcZjM4NSJ9LmZhLWNvY2t0YWlsOmJlZm9yZXtjb250ZW50OiJcZjU2MSJ9LmZhLWNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTIxIn0uZmEtY29kZS1icmFuY2g6YmVmb3Jle2NvbnRlbnQ6IlxmMTI2In0uZmEtY29kZXBlbjpiZWZvcmV7Y29udGVudDoiXGYxY2IifS5mYS1jb2RpZXBpZTpiZWZvcmV7Y29udGVudDoiXGYyODQifS5mYS1jb2ZmZWU6YmVmb3Jle2NvbnRlbnQ6IlxmMGY0In0uZmEtY29nOmJlZm9yZXtjb250ZW50OiJcZjAxMyJ9LmZhLWNvZ3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDg1In0uZmEtY29pbnM6YmVmb3Jle2NvbnRlbnQ6IlxmNTFlIn0uZmEtY29sdW1uczpiZWZvcmV7Y29udGVudDoiXGYwZGIifS5mYS1jb21tZW50OmJlZm9yZXtjb250ZW50OiJcZjA3NSJ9LmZhLWNvbW1lbnQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjI3YSJ9LmZhLWNvbW1lbnQtZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjY1MSJ9LmZhLWNvbW1lbnQtZG90czpiZWZvcmV7Y29udGVudDoiXGY0YWQifS5mYS1jb21tZW50LW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmN2Y1In0uZmEtY29tbWVudC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY0YjMifS5mYS1jb21tZW50czpiZWZvcmV7Y29udGVudDoiXGYwODYifS5mYS1jb21tZW50cy1kb2xsYXI6YmVmb3Jle2NvbnRlbnQ6IlxmNjUzIn0uZmEtY29tcGFjdC1kaXNjOmJlZm9yZXtjb250ZW50OiJcZjUxZiJ9LmZhLWNvbXBhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTRlIn0uZmEtY29tcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDY2In0uZmEtY29tcHJlc3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZjQyMiJ9LmZhLWNvbXByZXNzLWFycm93cy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzhjIn0uZmEtY29uY2llcmdlLWJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNTYyIn0uZmEtY29uZmx1ZW5jZTpiZWZvcmV7Y29udGVudDoiXGY3OGQifS5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmV7Y29udGVudDoiXGYyMGUifS5mYS1jb250YW86YmVmb3Jle2NvbnRlbnQ6IlxmMjZkIn0uZmEtY29va2llOmJlZm9yZXtjb250ZW50OiJcZjU2MyJ9LmZhLWNvb2tpZS1iaXRlOmJlZm9yZXtjb250ZW50OiJcZjU2NCJ9LmZhLWNvcHk6YmVmb3Jle2NvbnRlbnQ6IlxmMGM1In0uZmEtY29weXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjFmOSJ9LmZhLWNvdHRvbi1idXJlYXU6YmVmb3Jle2NvbnRlbnQ6IlxmODllIn0uZmEtY291Y2g6YmVmb3Jle2NvbnRlbnQ6IlxmNGI4In0uZmEtY3BhbmVsOmJlZm9yZXtjb250ZW50OiJcZjM4OCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjVlIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1ieTpiZWZvcmV7Y29udGVudDoiXGY0ZTcifS5mYS1jcmVhdGl2ZS1jb21tb25zLW5jOmJlZm9yZXtjb250ZW50OiJcZjRlOCJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6YmVmb3Jle2NvbnRlbnQ6IlxmNGU5In0uZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1qcDpiZWZvcmV7Y29udGVudDoiXGY0ZWEifS5mYS1jcmVhdGl2ZS1jb21tb25zLW5kOmJlZm9yZXtjb250ZW50OiJcZjRlYiJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGVjIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGVkIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmV7Y29udGVudDoiXGY0ZWUifS5mYS1jcmVhdGl2ZS1jb21tb25zLXNhOmJlZm9yZXtjb250ZW50OiJcZjRlZiJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGYwIn0uZmEtY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjRmMSJ9LmZhLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNGYyIn0uZmEtY3JlYXRpdmUtY29tbW9ucy16ZXJvOmJlZm9yZXtjb250ZW50OiJcZjRmMyJ9LmZhLWNyZWRpdC1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjA5ZCJ9LmZhLWNyaXRpY2FsLXJvbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNmM5In0uZmEtY3JvcDpiZWZvcmV7Y29udGVudDoiXGYxMjUifS5mYS1jcm9wLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1NjUifS5mYS1jcm9zczpiZWZvcmV7Y29udGVudDoiXGY2NTQifS5mYS1jcm9zc2hhaXJzOmJlZm9yZXtjb250ZW50OiJcZjA1YiJ9LmZhLWNyb3c6YmVmb3Jle2NvbnRlbnQ6IlxmNTIwIn0uZmEtY3Jvd246YmVmb3Jle2NvbnRlbnQ6IlxmNTIxIn0uZmEtY3J1dGNoOmJlZm9yZXtjb250ZW50OiJcZjdmNyJ9LmZhLWNzczM6YmVmb3Jle2NvbnRlbnQ6IlxmMTNjIn0uZmEtY3NzMy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzhiIn0uZmEtY3ViZTpiZWZvcmV7Y29udGVudDoiXGYxYjIifS5mYS1jdWJlczpiZWZvcmV7Y29udGVudDoiXGYxYjMifS5mYS1jdXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGM0In0uZmEtY3V0dGxlZmlzaDpiZWZvcmV7Y29udGVudDoiXGYzOGMifS5mYS1kLWFuZC1kOmJlZm9yZXtjb250ZW50OiJcZjM4ZCJ9LmZhLWQtYW5kLWQtYmV5b25kOmJlZm9yZXtjb250ZW50OiJcZjZjYSJ9LmZhLWRhaWx5bW90aW9uOmJlZm9yZXtjb250ZW50OiJcZTA1MiJ9LmZhLWRhc2hjdWJlOmJlZm9yZXtjb250ZW50OiJcZjIxMCJ9LmZhLWRhdGFiYXNlOmJlZm9yZXtjb250ZW50OiJcZjFjMCJ9LmZhLWRlYWY6YmVmb3Jle2NvbnRlbnQ6IlxmMmE0In0uZmEtZGVlemVyOmJlZm9yZXtjb250ZW50OiJcZTA3NyJ9LmZhLWRlbGljaW91czpiZWZvcmV7Y29udGVudDoiXGYxYTUifS5mYS1kZW1vY3JhdDpiZWZvcmV7Y29udGVudDoiXGY3NDcifS5mYS1kZXBsb3lkb2c6YmVmb3Jle2NvbnRlbnQ6IlxmMzhlIn0uZmEtZGVza3BybzpiZWZvcmV7Y29udGVudDoiXGYzOGYifS5mYS1kZXNrdG9wOmJlZm9yZXtjb250ZW50OiJcZjEwOCJ9LmZhLWRldjpiZWZvcmV7Y29udGVudDoiXGY2Y2MifS5mYS1kZXZpYW50YXJ0OmJlZm9yZXtjb250ZW50OiJcZjFiZCJ9LmZhLWRoYXJtYWNoYWtyYTpiZWZvcmV7Y29udGVudDoiXGY2NTUifS5mYS1kaGw6YmVmb3Jle2NvbnRlbnQ6IlxmNzkwIn0uZmEtZGlhZ25vc2VzOmJlZm9yZXtjb250ZW50OiJcZjQ3MCJ9LmZhLWRpYXNwb3JhOmJlZm9yZXtjb250ZW50OiJcZjc5MSJ9LmZhLWRpY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNTIyIn0uZmEtZGljZS1kMjA6YmVmb3Jle2NvbnRlbnQ6IlxmNmNmIn0uZmEtZGljZS1kNjpiZWZvcmV7Y29udGVudDoiXGY2ZDEifS5mYS1kaWNlLWZpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmNTIzIn0uZmEtZGljZS1mb3VyOmJlZm9yZXtjb250ZW50OiJcZjUyNCJ9LmZhLWRpY2Utb25lOmJlZm9yZXtjb250ZW50OiJcZjUyNSJ9LmZhLWRpY2Utc2l4OmJlZm9yZXtjb250ZW50OiJcZjUyNiJ9LmZhLWRpY2UtdGhyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmNTI3In0uZmEtZGljZS10d286YmVmb3Jle2NvbnRlbnQ6IlxmNTI4In0uZmEtZGlnZzpiZWZvcmV7Y29udGVudDoiXGYxYTYifS5mYS1kaWdpdGFsLW9jZWFuOmJlZm9yZXtjb250ZW50OiJcZjM5MSJ9LmZhLWRpZ2l0YWwtdGFjaG9ncmFwaDpiZWZvcmV7Y29udGVudDoiXGY1NjYifS5mYS1kaXJlY3Rpb25zOmJlZm9yZXtjb250ZW50OiJcZjVlYiJ9LmZhLWRpc2NvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzkyIn0uZmEtZGlzY291cnNlOmJlZm9yZXtjb250ZW50OiJcZjM5MyJ9LmZhLWRpc2Vhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmN2ZhIn0uZmEtZGl2aWRlOmJlZm9yZXtjb250ZW50OiJcZjUyOSJ9LmZhLWRpenp5OmJlZm9yZXtjb250ZW50OiJcZjU2NyJ9LmZhLWRuYTpiZWZvcmV7Y29udGVudDoiXGY0NzEifS5mYS1kb2NodWI6YmVmb3Jle2NvbnRlbnQ6IlxmMzk0In0uZmEtZG9ja2VyOmJlZm9yZXtjb250ZW50OiJcZjM5NSJ9LmZhLWRvZzpiZWZvcmV7Y29udGVudDoiXGY2ZDMifS5mYS1kb2xsYXItc2lnbjpiZWZvcmV7Y29udGVudDoiXGYxNTUifS5mYS1kb2xseTpiZWZvcmV7Y29udGVudDoiXGY0NzIifS5mYS1kb2xseS1mbGF0YmVkOmJlZm9yZXtjb250ZW50OiJcZjQ3NCJ9LmZhLWRvbmF0ZTpiZWZvcmV7Y29udGVudDoiXGY0YjkifS5mYS1kb29yLWNsb3NlZDpiZWZvcmV7Y29udGVudDoiXGY1MmEifS5mYS1kb29yLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmNTJiIn0uZmEtZG90LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYxOTIifS5mYS1kb3ZlOmJlZm9yZXtjb250ZW50OiJcZjRiYSJ9LmZhLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZjAxOSJ9LmZhLWRyYWZ0MmRpZ2l0YWw6YmVmb3Jle2NvbnRlbnQ6IlxmMzk2In0uZmEtZHJhZnRpbmctY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGY1NjgifS5mYS1kcmFnb246YmVmb3Jle2NvbnRlbnQ6IlxmNmQ1In0uZmEtZHJhdy1wb2x5Z29uOmJlZm9yZXtjb250ZW50OiJcZjVlZSJ9LmZhLWRyaWJiYmxlOmJlZm9yZXtjb250ZW50OiJcZjE3ZCJ9LmZhLWRyaWJiYmxlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYzOTcifS5mYS1kcm9wYm94OmJlZm9yZXtjb250ZW50OiJcZjE2YiJ9LmZhLWRydW06YmVmb3Jle2NvbnRlbnQ6IlxmNTY5In0uZmEtZHJ1bS1zdGVlbHBhbjpiZWZvcmV7Y29udGVudDoiXGY1NmEifS5mYS1kcnVtc3RpY2stYml0ZTpiZWZvcmV7Y29udGVudDoiXGY2ZDcifS5mYS1kcnVwYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMWE5In0uZmEtZHVtYmJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDRiIn0uZmEtZHVtcHN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzkzIn0uZmEtZHVtcHN0ZXItZmlyZTpiZWZvcmV7Y29udGVudDoiXGY3OTQifS5mYS1kdW5nZW9uOmJlZm9yZXtjb250ZW50OiJcZjZkOSJ9LmZhLWR5YWxvZzpiZWZvcmV7Y29udGVudDoiXGYzOTkifS5mYS1lYXJseWJpcmRzOmJlZm9yZXtjb250ZW50OiJcZjM5YSJ9LmZhLWViYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNGY0In0uZmEtZWRnZTpiZWZvcmV7Y29udGVudDoiXGYyODIifS5mYS1lZGdlLWxlZ2FjeTpiZWZvcmV7Y29udGVudDoiXGUwNzgifS5mYS1lZGl0OmJlZm9yZXtjb250ZW50OiJcZjA0NCJ9LmZhLWVnZzpiZWZvcmV7Y29udGVudDoiXGY3ZmIifS5mYS1lamVjdDpiZWZvcmV7Y29udGVudDoiXGYwNTIifS5mYS1lbGVtZW50b3I6YmVmb3Jle2NvbnRlbnQ6IlxmNDMwIn0uZmEtZWxsaXBzaXMtaDpiZWZvcmV7Y29udGVudDoiXGYxNDEifS5mYS1lbGxpcHNpcy12OmJlZm9yZXtjb250ZW50OiJcZjE0MiJ9LmZhLWVsbG86YmVmb3Jle2NvbnRlbnQ6IlxmNWYxIn0uZmEtZW1iZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDIzIn0uZmEtZW1waXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMSJ9LmZhLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZjBlMCJ9LmZhLWVudmVsb3BlLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMmI2In0uZmEtZW52ZWxvcGUtb3Blbi10ZXh0OmJlZm9yZXtjb250ZW50OiJcZjY1OCJ9LmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxOTkifS5mYS1lbnZpcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMjk5In0uZmEtZXF1YWxzOmJlZm9yZXtjb250ZW50OiJcZjUyYyJ9LmZhLWVyYXNlcjpiZWZvcmV7Y29udGVudDoiXGYxMmQifS5mYS1lcmxhbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMzlkIn0uZmEtZXRoZXJldW06YmVmb3Jle2NvbnRlbnQ6IlxmNDJlIn0uZmEtZXRoZXJuZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzk2In0uZmEtZXRzeTpiZWZvcmV7Y29udGVudDoiXGYyZDcifS5mYS1ldXJvLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmMTUzIn0uZmEtZXZlcm5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxmODM5In0uZmEtZXhjaGFuZ2UtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM2MiJ9LmZhLWV4Y2xhbWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyYSJ9LmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNmEifS5mYS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmV7Y29udGVudDoiXGYwNzEifS5mYS1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDY1In0uZmEtZXhwYW5kLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0MjQifS5mYS1leHBhbmQtYXJyb3dzLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzMWUifS5mYS1leHBlZGl0ZWRzc2w6YmVmb3Jle2NvbnRlbnQ6IlxmMjNlIn0uZmEtZXh0ZXJuYWwtbGluay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzVkIn0uZmEtZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjM2MCJ9LmZhLWV5ZTpiZWZvcmV7Y29udGVudDoiXGYwNmUifS5mYS1leWUtZHJvcHBlcjpiZWZvcmV7Y29udGVudDoiXGYxZmIifS5mYS1leWUtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDcwIn0uZmEtZmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDlhIn0uZmEtZmFjZWJvb2stZjpiZWZvcmV7Y29udGVudDoiXGYzOWUifS5mYS1mYWNlYm9vay1tZXNzZW5nZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMzlmIn0uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA4MiJ9LmZhLWZhbjpiZWZvcmV7Y29udGVudDoiXGY4NjMifS5mYS1mYW50YXN5LWZsaWdodC1nYW1lczpiZWZvcmV7Y29udGVudDoiXGY2ZGMifS5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OSJ9LmZhLWZhc3QtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTAifS5mYS1mYXVjZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDA1In0uZmEtZmF4OmJlZm9yZXtjb250ZW50OiJcZjFhYyJ9LmZhLWZlYXRoZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTJkIn0uZmEtZmVhdGhlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTZiIn0uZmEtZmVkZXg6YmVmb3Jle2NvbnRlbnQ6IlxmNzk3In0uZmEtZmVkb3JhOmJlZm9yZXtjb250ZW50OiJcZjc5OCJ9LmZhLWZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODIifS5mYS1maWdodGVyLWpldDpiZWZvcmV7Y29udGVudDoiXGYwZmIifS5mYS1maWdtYTpiZWZvcmV7Y29udGVudDoiXGY3OTkifS5mYS1maWxlOmJlZm9yZXtjb250ZW50OiJcZjE1YiJ9LmZhLWZpbGUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjE1YyJ9LmZhLWZpbGUtYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGYxYzYifS5mYS1maWxlLWF1ZGlvOmJlZm9yZXtjb250ZW50OiJcZjFjNyJ9LmZhLWZpbGUtY29kZTpiZWZvcmV7Y29udGVudDoiXGYxYzkifS5mYS1maWxlLWNvbnRyYWN0OmJlZm9yZXtjb250ZW50OiJcZjU2YyJ9LmZhLWZpbGUtY3N2OmJlZm9yZXtjb250ZW50OiJcZjZkZCJ9LmZhLWZpbGUtZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTZkIn0uZmEtZmlsZS1leGNlbDpiZWZvcmV7Y29udGVudDoiXGYxYzMifS5mYS1maWxlLWV4cG9ydDpiZWZvcmV7Y29udGVudDoiXGY1NmUifS5mYS1maWxlLWltYWdlOmJlZm9yZXtjb250ZW50OiJcZjFjNSJ9LmZhLWZpbGUtaW1wb3J0OmJlZm9yZXtjb250ZW50OiJcZjU2ZiJ9LmZhLWZpbGUtaW52b2ljZTpiZWZvcmV7Y29udGVudDoiXGY1NzAifS5mYS1maWxlLWludm9pY2UtZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjU3MSJ9LmZhLWZpbGUtbWVkaWNhbDpiZWZvcmV7Y29udGVudDoiXGY0NzcifS5mYS1maWxlLW1lZGljYWwtYWx0OmJlZm9yZXtjb250ZW50OiJcZjQ3OCJ9LmZhLWZpbGUtcGRmOmJlZm9yZXtjb250ZW50OiJcZjFjMSJ9LmZhLWZpbGUtcG93ZXJwb2ludDpiZWZvcmV7Y29udGVudDoiXGYxYzQifS5mYS1maWxlLXByZXNjcmlwdGlvbjpiZWZvcmV7Y29udGVudDoiXGY1NzIifS5mYS1maWxlLXNpZ25hdHVyZTpiZWZvcmV7Y29udGVudDoiXGY1NzMifS5mYS1maWxlLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGY1NzQifS5mYS1maWxlLXZpZGVvOmJlZm9yZXtjb250ZW50OiJcZjFjOCJ9LmZhLWZpbGUtd29yZDpiZWZvcmV7Y29udGVudDoiXGYxYzIifS5mYS1maWxsOmJlZm9yZXtjb250ZW50OiJcZjU3NSJ9LmZhLWZpbGwtZHJpcDpiZWZvcmV7Y29udGVudDoiXGY1NzYifS5mYS1maWxtOmJlZm9yZXtjb250ZW50OiJcZjAwOCJ9LmZhLWZpbHRlcjpiZWZvcmV7Y29udGVudDoiXGYwYjAifS5mYS1maW5nZXJwcmludDpiZWZvcmV7Y29udGVudDoiXGY1NzcifS5mYS1maXJlOmJlZm9yZXtjb250ZW50OiJcZjA2ZCJ9LmZhLWZpcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjdlNCJ9LmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZXtjb250ZW50OiJcZjEzNCJ9LmZhLWZpcmVmb3g6YmVmb3Jle2NvbnRlbnQ6IlxmMjY5In0uZmEtZmlyZWZveC1icm93c2VyOmJlZm9yZXtjb250ZW50OiJcZTAwNyJ9LmZhLWZpcnN0LWFpZDpiZWZvcmV7Y29udGVudDoiXGY0NzkifS5mYS1maXJzdC1vcmRlcjpiZWZvcmV7Y29udGVudDoiXGYyYjAifS5mYS1maXJzdC1vcmRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTBhIn0uZmEtZmlyc3RkcmFmdDpiZWZvcmV7Y29udGVudDoiXGYzYTEifS5mYS1maXNoOmJlZm9yZXtjb250ZW50OiJcZjU3OCJ9LmZhLWZpc3QtcmFpc2VkOmJlZm9yZXtjb250ZW50OiJcZjZkZSJ9LmZhLWZsYWc6YmVmb3Jle2NvbnRlbnQ6IlxmMDI0In0uZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFlIn0uZmEtZmxhZy11c2E6YmVmb3Jle2NvbnRlbnQ6IlxmNzRkIn0uZmEtZmxhc2s6YmVmb3Jle2NvbnRlbnQ6IlxmMGMzIn0uZmEtZmxpY2tyOmJlZm9yZXtjb250ZW50OiJcZjE2ZSJ9LmZhLWZsaXBib2FyZDpiZWZvcmV7Y29udGVudDoiXGY0NGQifS5mYS1mbHVzaGVkOmJlZm9yZXtjb250ZW50OiJcZjU3OSJ9LmZhLWZseTpiZWZvcmV7Y29udGVudDoiXGY0MTcifS5mYS1mb2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDdiIn0uZmEtZm9sZGVyLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjY1ZCJ9LmZhLWZvbGRlci1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjA3YyJ9LmZhLWZvbGRlci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjY1ZSJ9LmZhLWZvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDMxIn0uZmEtZm9udC1hd2Vzb21lOmJlZm9yZXtjb250ZW50OiJcZjJiNCJ9LmZhLWZvbnQtYXdlc29tZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzVjIn0uZmEtZm9udC1hd2Vzb21lLWZsYWc6YmVmb3Jle2NvbnRlbnQ6IlxmNDI1In0uZmEtZm9udC1hd2Vzb21lLWxvZ28tZnVsbDpiZWZvcmV7Y29udGVudDoiXGY0ZTYifS5mYS1mb250aWNvbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjgwIn0uZmEtZm9udGljb25zLWZpOmJlZm9yZXtjb250ZW50OiJcZjNhMiJ9LmZhLWZvb3RiYWxsLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDRlIn0uZmEtZm9ydC1hd2Vzb21lOmJlZm9yZXtjb250ZW50OiJcZjI4NiJ9LmZhLWZvcnQtYXdlc29tZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2EzIn0uZmEtZm9ydW1iZWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjExIn0uZmEtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNGUifS5mYS1mb3Vyc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE4MCJ9LmZhLWZyZWUtY29kZS1jYW1wOmJlZm9yZXtjb250ZW50OiJcZjJjNSJ9LmZhLWZyZWVic2Q6YmVmb3Jle2NvbnRlbnQ6IlxmM2E0In0uZmEtZnJvZzpiZWZvcmV7Y29udGVudDoiXGY1MmUifS5mYS1mcm93bjpiZWZvcmV7Y29udGVudDoiXGYxMTkifS5mYS1mcm93bi1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjU3YSJ9LmZhLWZ1bGNydW06YmVmb3Jle2NvbnRlbnQ6IlxmNTBiIn0uZmEtZnVubmVsLWRvbGxhcjpiZWZvcmV7Y29udGVudDoiXGY2NjIifS5mYS1mdXRib2w6YmVmb3Jle2NvbnRlbnQ6IlxmMWUzIn0uZmEtZ2FsYWN0aWMtcmVwdWJsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmNTBjIn0uZmEtZ2FsYWN0aWMtc2VuYXRlOmJlZm9yZXtjb250ZW50OiJcZjUwZCJ9LmZhLWdhbWVwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFiIn0uZmEtZ2FzLXB1bXA6YmVmb3Jle2NvbnRlbnQ6IlxmNTJmIn0uZmEtZ2F2ZWw6YmVmb3Jle2NvbnRlbnQ6IlxmMGUzIn0uZmEtZ2VtOmJlZm9yZXtjb250ZW50OiJcZjNhNSJ9LmZhLWdlbmRlcmxlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMjJkIn0uZmEtZ2V0LXBvY2tldDpiZWZvcmV7Y29udGVudDoiXGYyNjUifS5mYS1nZzpiZWZvcmV7Y29udGVudDoiXGYyNjAifS5mYS1nZy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjYxIn0uZmEtZ2hvc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNmUyIn0uZmEtZ2lmdDpiZWZvcmV7Y29udGVudDoiXGYwNmIifS5mYS1naWZ0czpiZWZvcmV7Y29udGVudDoiXGY3OWMifS5mYS1naXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWQzIn0uZmEtZ2l0LWFsdDpiZWZvcmV7Y29udGVudDoiXGY4NDEifS5mYS1naXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMiJ9LmZhLWdpdGh1YjpiZWZvcmV7Y29udGVudDoiXGYwOWIifS5mYS1naXRodWItYWx0OmJlZm9yZXtjb250ZW50OiJcZjExMyJ9LmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDkyIn0uZmEtZ2l0a3Jha2VuOmJlZm9yZXtjb250ZW50OiJcZjNhNiJ9LmZhLWdpdGxhYjpiZWZvcmV7Y29udGVudDoiXGYyOTYifS5mYS1naXR0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNDI2In0uZmEtZ2xhc3MtY2hlZXJzOmJlZm9yZXtjb250ZW50OiJcZjc5ZiJ9LmZhLWdsYXNzLW1hcnRpbmk6YmVmb3Jle2NvbnRlbnQ6IlxmMDAwIn0uZmEtZ2xhc3MtbWFydGluaS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTdiIn0uZmEtZ2xhc3Mtd2hpc2tleTpiZWZvcmV7Y29udGVudDoiXGY3YTAifS5mYS1nbGFzc2VzOmJlZm9yZXtjb250ZW50OiJcZjUzMCJ9LmZhLWdsaWRlOmJlZm9yZXtjb250ZW50OiJcZjJhNSJ9LmZhLWdsaWRlLWc6YmVmb3Jle2NvbnRlbnQ6IlxmMmE2In0uZmEtZ2xvYmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGFjIn0uZmEtZ2xvYmUtYWZyaWNhOmJlZm9yZXtjb250ZW50OiJcZjU3YyJ9LmZhLWdsb2JlLWFtZXJpY2FzOmJlZm9yZXtjb250ZW50OiJcZjU3ZCJ9LmZhLWdsb2JlLWFzaWE6YmVmb3Jle2NvbnRlbnQ6IlxmNTdlIn0uZmEtZ2xvYmUtZXVyb3BlOmJlZm9yZXtjb250ZW50OiJcZjdhMiJ9LmZhLWdvZm9yZTpiZWZvcmV7Y29udGVudDoiXGYzYTcifS5mYS1nb2xmLWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNDUwIn0uZmEtZ29vZHJlYWRzOmJlZm9yZXtjb250ZW50OiJcZjNhOCJ9LmZhLWdvb2RyZWFkcy1nOmJlZm9yZXtjb250ZW50OiJcZjNhOSJ9LmZhLWdvb2dsZTpiZWZvcmV7Y29udGVudDoiXGYxYTAifS5mYS1nb29nbGUtZHJpdmU6YmVmb3Jle2NvbnRlbnQ6IlxmM2FhIn0uZmEtZ29vZ2xlLXBheTpiZWZvcmV7Y29udGVudDoiXGUwNzkifS5mYS1nb29nbGUtcGxheTpiZWZvcmV7Y29udGVudDoiXGYzYWIifS5mYS1nb29nbGUtcGx1czpiZWZvcmV7Y29udGVudDoiXGYyYjMifS5mYS1nb29nbGUtcGx1cy1nOmJlZm9yZXtjb250ZW50OiJcZjBkNSJ9LmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZDQifS5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZXtjb250ZW50OiJcZjFlZSJ9LmZhLWdvcHVyYW06YmVmb3Jle2NvbnRlbnQ6IlxmNjY0In0uZmEtZ3JhZHVhdGlvbi1jYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTlkIn0uZmEtZ3JhdGlwYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMTg0In0uZmEtZ3JhdjpiZWZvcmV7Y29udGVudDoiXGYyZDYifS5mYS1ncmVhdGVyLXRoYW46YmVmb3Jle2NvbnRlbnQ6IlxmNTMxIn0uZmEtZ3JlYXRlci10aGFuLWVxdWFsOmJlZm9yZXtjb250ZW50OiJcZjUzMiJ9LmZhLWdyaW1hY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNTdmIn0uZmEtZ3JpbjpiZWZvcmV7Y29udGVudDoiXGY1ODAifS5mYS1ncmluLWFsdDpiZWZvcmV7Y29udGVudDoiXGY1ODEifS5mYS1ncmluLWJlYW06YmVmb3Jle2NvbnRlbnQ6IlxmNTgyIn0uZmEtZ3Jpbi1iZWFtLXN3ZWF0OmJlZm9yZXtjb250ZW50OiJcZjU4MyJ9LmZhLWdyaW4taGVhcnRzOmJlZm9yZXtjb250ZW50OiJcZjU4NCJ9LmZhLWdyaW4tc3F1aW50OmJlZm9yZXtjb250ZW50OiJcZjU4NSJ9LmZhLWdyaW4tc3F1aW50LXRlYXJzOmJlZm9yZXtjb250ZW50OiJcZjU4NiJ9LmZhLWdyaW4tc3RhcnM6YmVmb3Jle2NvbnRlbnQ6IlxmNTg3In0uZmEtZ3Jpbi10ZWFyczpiZWZvcmV7Y29udGVudDoiXGY1ODgifS5mYS1ncmluLXRvbmd1ZTpiZWZvcmV7Y29udGVudDoiXGY1ODkifS5mYS1ncmluLXRvbmd1ZS1zcXVpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNThhIn0uZmEtZ3Jpbi10b25ndWUtd2luazpiZWZvcmV7Y29udGVudDoiXGY1OGIifS5mYS1ncmluLXdpbms6YmVmb3Jle2NvbnRlbnQ6IlxmNThjIn0uZmEtZ3JpcC1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZjU4ZCJ9LmZhLWdyaXAtbGluZXM6YmVmb3Jle2NvbnRlbnQ6IlxmN2E0In0uZmEtZ3JpcC1saW5lcy12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGY3YTUifS5mYS1ncmlwLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjU4ZSJ9LmZhLWdyaXBmaXJlOmJlZm9yZXtjb250ZW50OiJcZjNhYyJ9LmZhLWdydW50OmJlZm9yZXtjb250ZW50OiJcZjNhZCJ9LmZhLWd1aWxkZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDdlIn0uZmEtZ3VpdGFyOmJlZm9yZXtjb250ZW50OiJcZjdhNiJ9LmZhLWd1bHA6YmVmb3Jle2NvbnRlbnQ6IlxmM2FlIn0uZmEtaC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGZkIn0uZmEtaGFja2VyLW5ld3M6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ0In0uZmEtaGFja2VyLW5ld3Mtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjNhZiJ9LmZhLWhhY2tlcnJhbms6YmVmb3Jle2NvbnRlbnQ6IlxmNWY3In0uZmEtaGFtYnVyZ2VyOmJlZm9yZXtjb250ZW50OiJcZjgwNSJ9LmZhLWhhbW1lcjpiZWZvcmV7Y29udGVudDoiXGY2ZTMifS5mYS1oYW1zYTpiZWZvcmV7Y29udGVudDoiXGY2NjUifS5mYS1oYW5kLWhvbGRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGJkIn0uZmEtaGFuZC1ob2xkaW5nLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZjRiZSJ9LmZhLWhhbmQtaG9sZGluZy1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZTA1YyJ9LmZhLWhhbmQtaG9sZGluZy11c2Q6YmVmb3Jle2NvbnRlbnQ6IlxmNGMwIn0uZmEtaGFuZC1ob2xkaW5nLXdhdGVyOmJlZm9yZXtjb250ZW50OiJcZjRjMSJ9LmZhLWhhbmQtbGl6YXJkOmJlZm9yZXtjb250ZW50OiJcZjI1OCJ9LmZhLWhhbmQtbWlkZGxlLWZpbmdlcjpiZWZvcmV7Y29udGVudDoiXGY4MDYifS5mYS1oYW5kLXBhcGVyOmJlZm9yZXtjb250ZW50OiJcZjI1NiJ9LmZhLWhhbmQtcGVhY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjViIn0uZmEtaGFuZC1wb2ludC1kb3duOmJlZm9yZXtjb250ZW50OiJcZjBhNyJ9LmZhLWhhbmQtcG9pbnQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwYTUifS5mYS1oYW5kLXBvaW50LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBhNCJ9LmZhLWhhbmQtcG9pbnQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGE2In0uZmEtaGFuZC1wb2ludGVyOmJlZm9yZXtjb250ZW50OiJcZjI1YSJ9LmZhLWhhbmQtcm9jazpiZWZvcmV7Y29udGVudDoiXGYyNTUifS5mYS1oYW5kLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZjI1NyJ9LmZhLWhhbmQtc3BhcmtsZXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDVkIn0uZmEtaGFuZC1zcG9jazpiZWZvcmV7Y29udGVudDoiXGYyNTkifS5mYS1oYW5kczpiZWZvcmV7Y29udGVudDoiXGY0YzIifS5mYS1oYW5kcy1oZWxwaW5nOmJlZm9yZXtjb250ZW50OiJcZjRjNCJ9LmZhLWhhbmRzLXdhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDVlIn0uZmEtaGFuZHNoYWtlOmJlZm9yZXtjb250ZW50OiJcZjJiNSJ9LmZhLWhhbmRzaGFrZS1hbHQtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDVmIn0uZmEtaGFuZHNoYWtlLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA2MCJ9LmZhLWhhbnVraWFoOmJlZm9yZXtjb250ZW50OiJcZjZlNiJ9LmZhLWhhcmQtaGF0OmJlZm9yZXtjb250ZW50OiJcZjgwNyJ9LmZhLWhhc2h0YWc6YmVmb3Jle2NvbnRlbnQ6IlxmMjkyIn0uZmEtaGF0LWNvd2JveTpiZWZvcmV7Y29udGVudDoiXGY4YzAifS5mYS1oYXQtY293Ym95LXNpZGU6YmVmb3Jle2NvbnRlbnQ6IlxmOGMxIn0uZmEtaGF0LXdpemFyZDpiZWZvcmV7Y29udGVudDoiXGY2ZTgifS5mYS1oZGQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGEwIn0uZmEtaGVhZC1zaWRlLWNvdWdoOmJlZm9yZXtjb250ZW50OiJcZTA2MSJ9LmZhLWhlYWQtc2lkZS1jb3VnaC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNjIifS5mYS1oZWFkLXNpZGUtbWFzazpiZWZvcmV7Y29udGVudDoiXGUwNjMifS5mYS1oZWFkLXNpZGUtdmlydXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDY0In0uZmEtaGVhZGluZzpiZWZvcmV7Y29udGVudDoiXGYxZGMifS5mYS1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZjAyNSJ9LmZhLWhlYWRwaG9uZXMtYWx0OmJlZm9yZXtjb250ZW50OiJcZjU4ZiJ9LmZhLWhlYWRzZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTkwIn0uZmEtaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDA0In0uZmEtaGVhcnQtYnJva2VuOmJlZm9yZXtjb250ZW50OiJcZjdhOSJ9LmZhLWhlYXJ0YmVhdDpiZWZvcmV7Y29udGVudDoiXGYyMWUifS5mYS1oZWxpY29wdGVyOmJlZm9yZXtjb250ZW50OiJcZjUzMyJ9LmZhLWhpZ2hsaWdodGVyOmJlZm9yZXtjb250ZW50OiJcZjU5MSJ9LmZhLWhpa2luZzpiZWZvcmV7Y29udGVudDoiXGY2ZWMifS5mYS1oaXBwbzpiZWZvcmV7Y29udGVudDoiXGY2ZWQifS5mYS1oaXBzOmJlZm9yZXtjb250ZW50OiJcZjQ1MiJ9LmZhLWhpcmUtYS1oZWxwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmM2IwIn0uZmEtaGlzdG9yeTpiZWZvcmV7Y29udGVudDoiXGYxZGEifS5mYS1oaXZlOmJlZm9yZXtjb250ZW50OiJcZTA3ZiJ9LmZhLWhvY2tleS1wdWNrOmJlZm9yZXtjb250ZW50OiJcZjQ1MyJ9LmZhLWhvbGx5LWJlcnJ5OmJlZm9yZXtjb250ZW50OiJcZjdhYSJ9LmZhLWhvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMDE1In0uZmEtaG9vbGk6YmVmb3Jle2NvbnRlbnQ6IlxmNDI3In0uZmEtaG9ybmJpbGw6YmVmb3Jle2NvbnRlbnQ6IlxmNTkyIn0uZmEtaG9yc2U6YmVmb3Jle2NvbnRlbnQ6IlxmNmYwIn0uZmEtaG9yc2UtaGVhZDpiZWZvcmV7Y29udGVudDoiXGY3YWIifS5mYS1ob3NwaXRhbDpiZWZvcmV7Y29udGVudDoiXGYwZjgifS5mYS1ob3NwaXRhbC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDdkIn0uZmEtaG9zcGl0YWwtc3ltYm9sOmJlZm9yZXtjb250ZW50OiJcZjQ3ZSJ9LmZhLWhvc3BpdGFsLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmODBkIn0uZmEtaG90LXR1YjpiZWZvcmV7Y29udGVudDoiXGY1OTMifS5mYS1ob3Rkb2c6YmVmb3Jle2NvbnRlbnQ6IlxmODBmIn0uZmEtaG90ZWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTk0In0uZmEtaG90amFyOmJlZm9yZXtjb250ZW50OiJcZjNiMSJ9LmZhLWhvdXJnbGFzczpiZWZvcmV7Y29udGVudDoiXGYyNTQifS5mYS1ob3VyZ2xhc3MtZW5kOmJlZm9yZXtjb250ZW50OiJcZjI1MyJ9LmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjI1MiJ9LmZhLWhvdXJnbGFzcy1zdGFydDpiZWZvcmV7Y29udGVudDoiXGYyNTEifS5mYS1ob3VzZS1kYW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmNmYxIn0uZmEtaG91c2UtdXNlcjpiZWZvcmV7Y29udGVudDoiXGUwNjUifS5mYS1ob3V6ejpiZWZvcmV7Y29udGVudDoiXGYyN2MifS5mYS1ocnl2bmlhOmJlZm9yZXtjb250ZW50OiJcZjZmMiJ9LmZhLWh0bWw1OmJlZm9yZXtjb250ZW50OiJcZjEzYiJ9LmZhLWh1YnNwb3Q6YmVmb3Jle2NvbnRlbnQ6IlxmM2IyIn0uZmEtaS1jdXJzb3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjQ2In0uZmEtaWNlLWNyZWFtOmJlZm9yZXtjb250ZW50OiJcZjgxMCJ9LmZhLWljaWNsZXM6YmVmb3Jle2NvbnRlbnQ6IlxmN2FkIn0uZmEtaWNvbnM6YmVmb3Jle2NvbnRlbnQ6IlxmODZkIn0uZmEtaWQtYmFkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmMxIn0uZmEtaWQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYyYzIifS5mYS1pZC1jYXJkLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0N2YifS5mYS1pZGVhbDpiZWZvcmV7Y29udGVudDoiXGUwMTMifS5mYS1pZ2xvbzpiZWZvcmV7Y29udGVudDoiXGY3YWUifS5mYS1pbWFnZTpiZWZvcmV7Y29udGVudDoiXGYwM2UifS5mYS1pbWFnZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMzAyIn0uZmEtaW1kYjpiZWZvcmV7Y29udGVudDoiXGYyZDgifS5mYS1pbmJveDpiZWZvcmV7Y29udGVudDoiXGYwMWMifS5mYS1pbmRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDNjIn0uZmEtaW5kdXN0cnk6YmVmb3Jle2NvbnRlbnQ6IlxmMjc1In0uZmEtaW5maW5pdHk6YmVmb3Jle2NvbnRlbnQ6IlxmNTM0In0uZmEtaW5mbzpiZWZvcmV7Y29udGVudDoiXGYxMjkifS5mYS1pbmZvLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNWEifS5mYS1pbm5vc29mdDpiZWZvcmV7Y29udGVudDoiXGUwODAifS5mYS1pbnN0YWdyYW06YmVmb3Jle2NvbnRlbnQ6IlxmMTZkIn0uZmEtaW5zdGFncmFtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGUwNTUifS5mYS1pbnN0YWxvZDpiZWZvcmV7Y29udGVudDoiXGUwODEifS5mYS1pbnRlcmNvbTpiZWZvcmV7Y29udGVudDoiXGY3YWYifS5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmV7Y29udGVudDoiXGYyNmIifS5mYS1pbnZpc2lvbjpiZWZvcmV7Y29udGVudDoiXGY3YjAifS5mYS1pb3hob3N0OmJlZm9yZXtjb250ZW50OiJcZjIwOCJ9LmZhLWl0YWxpYzpiZWZvcmV7Y29udGVudDoiXGYwMzMifS5mYS1pdGNoLWlvOmJlZm9yZXtjb250ZW50OiJcZjgzYSJ9LmZhLWl0dW5lczpiZWZvcmV7Y29udGVudDoiXGYzYjQifS5mYS1pdHVuZXMtbm90ZTpiZWZvcmV7Y29udGVudDoiXGYzYjUifS5mYS1qYXZhOmJlZm9yZXtjb250ZW50OiJcZjRlNCJ9LmZhLWplZGk6YmVmb3Jle2NvbnRlbnQ6IlxmNjY5In0uZmEtamVkaS1vcmRlcjpiZWZvcmV7Y29udGVudDoiXGY1MGUifS5mYS1qZW5raW5zOmJlZm9yZXtjb250ZW50OiJcZjNiNiJ9LmZhLWppcmE6YmVmb3Jle2NvbnRlbnQ6IlxmN2IxIn0uZmEtam9nZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2I3In0uZmEtam9pbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTk1In0uZmEtam9vbWxhOmJlZm9yZXtjb250ZW50OiJcZjFhYSJ9LmZhLWpvdXJuYWwtd2hpbGxzOmJlZm9yZXtjb250ZW50OiJcZjY2YSJ9LmZhLWpzOmJlZm9yZXtjb250ZW50OiJcZjNiOCJ9LmZhLWpzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYzYjkifS5mYS1qc2ZpZGRsZTpiZWZvcmV7Y29udGVudDoiXGYxY2MifS5mYS1rYWFiYTpiZWZvcmV7Y29udGVudDoiXGY2NmIifS5mYS1rYWdnbGU6YmVmb3Jle2NvbnRlbnQ6IlxmNWZhIn0uZmEta2V5OmJlZm9yZXtjb250ZW50OiJcZjA4NCJ9LmZhLWtleWJhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmNGY1In0uZmEta2V5Ym9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTFjIn0uZmEta2V5Y2RuOmJlZm9yZXtjb250ZW50OiJcZjNiYSJ9LmZhLWtoYW5kYTpiZWZvcmV7Y29udGVudDoiXGY2NmQifS5mYS1raWNrc3RhcnRlcjpiZWZvcmV7Y29udGVudDoiXGYzYmIifS5mYS1raWNrc3RhcnRlci1rOmJlZm9yZXtjb250ZW50OiJcZjNiYyJ9LmZhLWtpc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNTk2In0uZmEta2lzcy1iZWFtOmJlZm9yZXtjb250ZW50OiJcZjU5NyJ9LmZhLWtpc3Mtd2luay1oZWFydDpiZWZvcmV7Y29udGVudDoiXGY1OTgifS5mYS1raXdpLWJpcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTM1In0uZmEta29ydnVlOmJlZm9yZXtjb250ZW50OiJcZjQyZiJ9LmZhLWxhbmRtYXJrOmJlZm9yZXtjb250ZW50OiJcZjY2ZiJ9LmZhLWxhbmd1YWdlOmJlZm9yZXtjb250ZW50OiJcZjFhYiJ9LmZhLWxhcHRvcDpiZWZvcmV7Y29udGVudDoiXGYxMDkifS5mYS1sYXB0b3AtY29kZTpiZWZvcmV7Y29udGVudDoiXGY1ZmMifS5mYS1sYXB0b3AtaG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDY2In0uZmEtbGFwdG9wLW1lZGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmODEyIn0uZmEtbGFyYXZlbDpiZWZvcmV7Y29udGVudDoiXGYzYmQifS5mYS1sYXN0Zm06YmVmb3Jle2NvbnRlbnQ6IlxmMjAyIn0uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyMDMifS5mYS1sYXVnaDpiZWZvcmV7Y29udGVudDoiXGY1OTkifS5mYS1sYXVnaC1iZWFtOmJlZm9yZXtjb250ZW50OiJcZjU5YSJ9LmZhLWxhdWdoLXNxdWludDpiZWZvcmV7Y29udGVudDoiXGY1OWIifS5mYS1sYXVnaC13aW5rOmJlZm9yZXtjb250ZW50OiJcZjU5YyJ9LmZhLWxheWVyLWdyb3VwOmJlZm9yZXtjb250ZW50OiJcZjVmZCJ9LmZhLWxlYWY6YmVmb3Jle2NvbnRlbnQ6IlxmMDZjIn0uZmEtbGVhbnB1YjpiZWZvcmV7Y29udGVudDoiXGYyMTIifS5mYS1sZW1vbjpiZWZvcmV7Y29udGVudDoiXGYwOTQifS5mYS1sZXNzOmJlZm9yZXtjb250ZW50OiJcZjQxZCJ9LmZhLWxlc3MtdGhhbjpiZWZvcmV7Y29udGVudDoiXGY1MzYifS5mYS1sZXNzLXRoYW4tZXF1YWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTM3In0uZmEtbGV2ZWwtZG93bi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2JlIn0uZmEtbGV2ZWwtdXAtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNiZiJ9LmZhLWxpZmUtcmluZzpiZWZvcmV7Y29udGVudDoiXGYxY2QifS5mYS1saWdodGJ1bGI6YmVmb3Jle2NvbnRlbnQ6IlxmMGViIn0uZmEtbGluZTpiZWZvcmV7Y29udGVudDoiXGYzYzAifS5mYS1saW5rOmJlZm9yZXtjb250ZW50OiJcZjBjMSJ9LmZhLWxpbmtlZGluOmJlZm9yZXtjb250ZW50OiJcZjA4YyJ9LmZhLWxpbmtlZGluLWluOmJlZm9yZXtjb250ZW50OiJcZjBlMSJ9LmZhLWxpbm9kZTpiZWZvcmV7Y29udGVudDoiXGYyYjgifS5mYS1saW51eDpiZWZvcmV7Y29udGVudDoiXGYxN2MifS5mYS1saXJhLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmMTk1In0uZmEtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwM2EifS5mYS1saXN0LWFsdDpiZWZvcmV7Y29udGVudDoiXGYwMjIifS5mYS1saXN0LW9sOmJlZm9yZXtjb250ZW50OiJcZjBjYiJ9LmZhLWxpc3QtdWw6YmVmb3Jle2NvbnRlbnQ6IlxmMGNhIn0uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMTI0In0uZmEtbG9jazpiZWZvcmV7Y29udGVudDoiXGYwMjMifS5mYS1sb2NrLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxmM2MxIn0uZmEtbG9uZy1hcnJvdy1hbHQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYzMDkifS5mYS1sb25nLWFycm93LWFsdC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjMwYSJ9LmZhLWxvbmctYXJyb3ctYWx0LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjMwYiJ9LmZhLWxvbmctYXJyb3ctYWx0LXVwOmJlZm9yZXtjb250ZW50OiJcZjMwYyJ9LmZhLWxvdy12aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmMmE4In0uZmEtbHVnZ2FnZS1jYXJ0OmJlZm9yZXtjb250ZW50OiJcZjU5ZCJ9LmZhLWx1bmdzOmJlZm9yZXtjb250ZW50OiJcZjYwNCJ9LmZhLWx1bmdzLXZpcnVzOmJlZm9yZXtjb250ZW50OiJcZTA2NyJ9LmZhLWx5ZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2MzIn0uZmEtbWFnZW50bzpiZWZvcmV7Y29udGVudDoiXGYzYzQifS5mYS1tYWdpYzpiZWZvcmV7Y29udGVudDoiXGYwZDAifS5mYS1tYWduZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc2In0uZmEtbWFpbC1idWxrOmJlZm9yZXtjb250ZW50OiJcZjY3NCJ9LmZhLW1haWxjaGltcDpiZWZvcmV7Y29udGVudDoiXGY1OWUifS5mYS1tYWxlOmJlZm9yZXtjb250ZW50OiJcZjE4MyJ9LmZhLW1hbmRhbG9yaWFuOmJlZm9yZXtjb250ZW50OiJcZjUwZiJ9LmZhLW1hcDpiZWZvcmV7Y29udGVudDoiXGYyNzkifS5mYS1tYXAtbWFya2VkOmJlZm9yZXtjb250ZW50OiJcZjU5ZiJ9LmZhLW1hcC1tYXJrZWQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjVhMCJ9LmZhLW1hcC1tYXJrZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDQxIn0uZmEtbWFwLW1hcmtlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2M1In0uZmEtbWFwLXBpbjpiZWZvcmV7Y29udGVudDoiXGYyNzYifS5mYS1tYXAtc2lnbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjc3In0uZmEtbWFya2Rvd246YmVmb3Jle2NvbnRlbnQ6IlxmNjBmIn0uZmEtbWFya2VyOmJlZm9yZXtjb250ZW50OiJcZjVhMSJ9LmZhLW1hcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjIyIn0uZmEtbWFycy1kb3VibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjI3In0uZmEtbWFycy1zdHJva2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjI5In0uZmEtbWFycy1zdHJva2UtaDpiZWZvcmV7Y29udGVudDoiXGYyMmIifS5mYS1tYXJzLXN0cm9rZS12OmJlZm9yZXtjb250ZW50OiJcZjIyYSJ9LmZhLW1hc2s6YmVmb3Jle2NvbnRlbnQ6IlxmNmZhIn0uZmEtbWFzdG9kb246YmVmb3Jle2NvbnRlbnQ6IlxmNGY2In0uZmEtbWF4Y2RuOmJlZm9yZXtjb250ZW50OiJcZjEzNiJ9LmZhLW1kYjpiZWZvcmV7Y29udGVudDoiXGY4Y2EifS5mYS1tZWRhbDpiZWZvcmV7Y29udGVudDoiXGY1YTIifS5mYS1tZWRhcHBzOmJlZm9yZXtjb250ZW50OiJcZjNjNiJ9LmZhLW1lZGl1bTpiZWZvcmV7Y29udGVudDoiXGYyM2EifS5mYS1tZWRpdW0tbTpiZWZvcmV7Y29udGVudDoiXGYzYzcifS5mYS1tZWRraXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGZhIn0uZmEtbWVkcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2M4In0uZmEtbWVldHVwOmJlZm9yZXtjb250ZW50OiJcZjJlMCJ9LmZhLW1lZ2Fwb3J0OmJlZm9yZXtjb250ZW50OiJcZjVhMyJ9LmZhLW1laDpiZWZvcmV7Y29udGVudDoiXGYxMWEifS5mYS1tZWgtYmxhbms6YmVmb3Jle2NvbnRlbnQ6IlxmNWE0In0uZmEtbWVoLXJvbGxpbmctZXllczpiZWZvcmV7Y29udGVudDoiXGY1YTUifS5mYS1tZW1vcnk6YmVmb3Jle2NvbnRlbnQ6IlxmNTM4In0uZmEtbWVuZGVsZXk6YmVmb3Jle2NvbnRlbnQ6IlxmN2IzIn0uZmEtbWVub3JhaDpiZWZvcmV7Y29udGVudDoiXGY2NzYifS5mYS1tZXJjdXJ5OmJlZm9yZXtjb250ZW50OiJcZjIyMyJ9LmZhLW1ldGVvcjpiZWZvcmV7Y29udGVudDoiXGY3NTMifS5mYS1taWNyb2Jsb2c6YmVmb3Jle2NvbnRlbnQ6IlxlMDFhIn0uZmEtbWljcm9jaGlwOmJlZm9yZXtjb250ZW50OiJcZjJkYiJ9LmZhLW1pY3JvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTMwIn0uZmEtbWljcm9waG9uZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2M5In0uZmEtbWljcm9waG9uZS1hbHQtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNTM5In0uZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxMzEifS5mYS1taWNyb3Njb3BlOmJlZm9yZXtjb250ZW50OiJcZjYxMCJ9LmZhLW1pY3Jvc29mdDpiZWZvcmV7Y29udGVudDoiXGYzY2EifS5mYS1taW51czpiZWZvcmV7Y29udGVudDoiXGYwNjgifS5mYS1taW51cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU2In0uZmEtbWludXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0NiJ9LmZhLW1pdHRlbjpiZWZvcmV7Y29udGVudDoiXGY3YjUifS5mYS1taXg6YmVmb3Jle2NvbnRlbnQ6IlxmM2NiIn0uZmEtbWl4Y2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg5In0uZmEtbWl4ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDU2In0uZmEtbWl6dW5pOmJlZm9yZXtjb250ZW50OiJcZjNjYyJ9LmZhLW1vYmlsZTpiZWZvcmV7Y29udGVudDoiXGYxMGIifS5mYS1tb2JpbGUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNjZCJ9LmZhLW1vZHg6YmVmb3Jle2NvbnRlbnQ6IlxmMjg1In0uZmEtbW9uZXJvOmJlZm9yZXtjb250ZW50OiJcZjNkMCJ9LmZhLW1vbmV5LWJpbGw6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ2In0uZmEtbW9uZXktYmlsbC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2QxIn0uZmEtbW9uZXktYmlsbC13YXZlOmJlZm9yZXtjb250ZW50OiJcZjUzYSJ9LmZhLW1vbmV5LWJpbGwtd2F2ZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTNiIn0uZmEtbW9uZXktY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxmNTNjIn0uZmEtbW9uZXktY2hlY2stYWx0OmJlZm9yZXtjb250ZW50OiJcZjUzZCJ9LmZhLW1vbnVtZW50OmJlZm9yZXtjb250ZW50OiJcZjVhNiJ9LmZhLW1vb246YmVmb3Jle2NvbnRlbnQ6IlxmMTg2In0uZmEtbW9ydGFyLXBlc3RsZTpiZWZvcmV7Y29udGVudDoiXGY1YTcifS5mYS1tb3NxdWU6YmVmb3Jle2NvbnRlbnQ6IlxmNjc4In0uZmEtbW90b3JjeWNsZTpiZWZvcmV7Y29udGVudDoiXGYyMWMifS5mYS1tb3VudGFpbjpiZWZvcmV7Y29udGVudDoiXGY2ZmMifS5mYS1tb3VzZTpiZWZvcmV7Y29udGVudDoiXGY4Y2MifS5mYS1tb3VzZS1wb2ludGVyOmJlZm9yZXtjb250ZW50OiJcZjI0NSJ9LmZhLW11Zy1ob3Q6YmVmb3Jle2NvbnRlbnQ6IlxmN2I2In0uZmEtbXVzaWM6YmVmb3Jle2NvbnRlbnQ6IlxmMDAxIn0uZmEtbmFwc3RlcjpiZWZvcmV7Y29udGVudDoiXGYzZDIifS5mYS1uZW9zOmJlZm9yZXtjb250ZW50OiJcZjYxMiJ9LmZhLW5ldHdvcmstd2lyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNmZmIn0uZmEtbmV1dGVyOmJlZm9yZXtjb250ZW50OiJcZjIyYyJ9LmZhLW5ld3NwYXBlcjpiZWZvcmV7Y29udGVudDoiXGYxZWEifS5mYS1uaW1ibHI6YmVmb3Jle2NvbnRlbnQ6IlxmNWE4In0uZmEtbm9kZTpiZWZvcmV7Y29udGVudDoiXGY0MTkifS5mYS1ub2RlLWpzOmJlZm9yZXtjb250ZW50OiJcZjNkMyJ9LmZhLW5vdC1lcXVhbDpiZWZvcmV7Y29udGVudDoiXGY1M2UifS5mYS1ub3Rlcy1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZjQ4MSJ9LmZhLW5wbTpiZWZvcmV7Y29udGVudDoiXGYzZDQifS5mYS1uczg6YmVmb3Jle2NvbnRlbnQ6IlxmM2Q1In0uZmEtbnV0cml0aW9uaXg6YmVmb3Jle2NvbnRlbnQ6IlxmM2Q2In0uZmEtb2JqZWN0LWdyb3VwOmJlZm9yZXtjb250ZW50OiJcZjI0NyJ9LmZhLW9iamVjdC11bmdyb3VwOmJlZm9yZXtjb250ZW50OiJcZjI0OCJ9LmZhLW9jdG9wdXMtZGVwbG95OmJlZm9yZXtjb250ZW50OiJcZTA4MiJ9LmZhLW9kbm9rbGFzc25pa2k6YmVmb3Jle2NvbnRlbnQ6IlxmMjYzIn0uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMjY0In0uZmEtb2lsLWNhbjpiZWZvcmV7Y29udGVudDoiXGY2MTMifS5mYS1vbGQtcmVwdWJsaWM6YmVmb3Jle2NvbnRlbnQ6IlxmNTEwIn0uZmEtb206YmVmb3Jle2NvbnRlbnQ6IlxmNjc5In0uZmEtb3BlbmNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjNkIn0uZmEtb3BlbmlkOmJlZm9yZXtjb250ZW50OiJcZjE5YiJ9LmZhLW9wZXJhOmJlZm9yZXtjb250ZW50OiJcZjI2YSJ9LmZhLW9wdGluLW1vbnN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjNjIn0uZmEtb3JjaWQ6YmVmb3Jle2NvbnRlbnQ6IlxmOGQyIn0uZmEtb3NpOmJlZm9yZXtjb250ZW50OiJcZjQxYSJ9LmZhLW90dGVyOmJlZm9yZXtjb250ZW50OiJcZjcwMCJ9LmZhLW91dGRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDNiIn0uZmEtcGFnZTQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2Q3In0uZmEtcGFnZWxpbmVzOmJlZm9yZXtjb250ZW50OiJcZjE4YyJ9LmZhLXBhZ2VyOmJlZm9yZXtjb250ZW50OiJcZjgxNSJ9LmZhLXBhaW50LWJydXNoOmJlZm9yZXtjb250ZW50OiJcZjFmYyJ9LmZhLXBhaW50LXJvbGxlcjpiZWZvcmV7Y29udGVudDoiXGY1YWEifS5mYS1wYWxldHRlOmJlZm9yZXtjb250ZW50OiJcZjUzZiJ9LmZhLXBhbGZlZDpiZWZvcmV7Y29udGVudDoiXGYzZDgifS5mYS1wYWxsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDgyIn0uZmEtcGFwZXItcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ4In0uZmEtcGFwZXJjbGlwOmJlZm9yZXtjb250ZW50OiJcZjBjNiJ9LmZhLXBhcmFjaHV0ZS1ib3g6YmVmb3Jle2NvbnRlbnQ6IlxmNGNkIn0uZmEtcGFyYWdyYXBoOmJlZm9yZXtjb250ZW50OiJcZjFkZCJ9LmZhLXBhcmtpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNTQwIn0uZmEtcGFzc3BvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWFiIn0uZmEtcGFzdGFmYXJpYW5pc206YmVmb3Jle2NvbnRlbnQ6IlxmNjdiIn0uZmEtcGFzdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGVhIn0uZmEtcGF0cmVvbjpiZWZvcmV7Y29udGVudDoiXGYzZDkifS5mYS1wYXVzZTpiZWZvcmV7Y29udGVudDoiXGYwNGMifS5mYS1wYXVzZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjhiIn0uZmEtcGF3OmJlZm9yZXtjb250ZW50OiJcZjFiMCJ9LmZhLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGYxZWQifS5mYS1wZWFjZTpiZWZvcmV7Y29udGVudDoiXGY2N2MifS5mYS1wZW46YmVmb3Jle2NvbnRlbnQ6IlxmMzA0In0uZmEtcGVuLWFsdDpiZWZvcmV7Y29udGVudDoiXGYzMDUifS5mYS1wZW4tZmFuY3k6YmVmb3Jle2NvbnRlbnQ6IlxmNWFjIn0uZmEtcGVuLW5pYjpiZWZvcmV7Y29udGVudDoiXGY1YWQifS5mYS1wZW4tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0YiJ9LmZhLXBlbmNpbC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMzAzIn0uZmEtcGVuY2lsLXJ1bGVyOmJlZm9yZXtjb250ZW50OiJcZjVhZSJ9LmZhLXBlbm55LWFyY2FkZTpiZWZvcmV7Y29udGVudDoiXGY3MDQifS5mYS1wZW9wbGUtYXJyb3dzOmJlZm9yZXtjb250ZW50OiJcZTA2OCJ9LmZhLXBlb3BsZS1jYXJyeTpiZWZvcmV7Y29udGVudDoiXGY0Y2UifS5mYS1wZXBwZXItaG90OmJlZm9yZXtjb250ZW50OiJcZjgxNiJ9LmZhLXBlcmJ5dGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDgzIn0uZmEtcGVyY2VudDpiZWZvcmV7Y29udGVudDoiXGYyOTUifS5mYS1wZXJjZW50YWdlOmJlZm9yZXtjb250ZW50OiJcZjU0MSJ9LmZhLXBlcmlzY29wZTpiZWZvcmV7Y29udGVudDoiXGYzZGEifS5mYS1wZXJzb24tYm9vdGg6YmVmb3Jle2NvbnRlbnQ6IlxmNzU2In0uZmEtcGhhYnJpY2F0b3I6YmVmb3Jle2NvbnRlbnQ6IlxmM2RiIn0uZmEtcGhvZW5peC1mcmFtZXdvcms6YmVmb3Jle2NvbnRlbnQ6IlxmM2RjIn0uZmEtcGhvZW5peC1zcXVhZHJvbjpiZWZvcmV7Y29udGVudDoiXGY1MTEifS5mYS1waG9uZTpiZWZvcmV7Y29udGVudDoiXGYwOTUifS5mYS1waG9uZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODc5In0uZmEtcGhvbmUtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmM2RkIn0uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjA5OCJ9LmZhLXBob25lLXNxdWFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODdiIn0uZmEtcGhvbmUtdm9sdW1lOmJlZm9yZXtjb250ZW50OiJcZjJhMCJ9LmZhLXBob3RvLXZpZGVvOmJlZm9yZXtjb250ZW50OiJcZjg3YyJ9LmZhLXBocDpiZWZvcmV7Y29udGVudDoiXGY0NTcifS5mYS1waWVkLXBpcGVyOmJlZm9yZXtjb250ZW50OiJcZjJhZSJ9LmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjFhOCJ9LmZhLXBpZWQtcGlwZXItaGF0OmJlZm9yZXtjb250ZW50OiJcZjRlNSJ9LmZhLXBpZWQtcGlwZXItcHA6YmVmb3Jle2NvbnRlbnQ6IlxmMWE3In0uZmEtcGllZC1waXBlci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDFlIn0uZmEtcGlnZ3ktYmFuazpiZWZvcmV7Y29udGVudDoiXGY0ZDMifS5mYS1waWxsczpiZWZvcmV7Y29udGVudDoiXGY0ODQifS5mYS1waW50ZXJlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMGQyIn0uZmEtcGludGVyZXN0LXA6YmVmb3Jle2NvbnRlbnQ6IlxmMjMxIn0uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZDMifS5mYS1waXp6YS1zbGljZTpiZWZvcmV7Y29udGVudDoiXGY4MTgifS5mYS1wbGFjZS1vZi13b3JzaGlwOmJlZm9yZXtjb250ZW50OiJcZjY3ZiJ9LmZhLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjA3MiJ9LmZhLXBsYW5lLWFycml2YWw6YmVmb3Jle2NvbnRlbnQ6IlxmNWFmIn0uZmEtcGxhbmUtZGVwYXJ0dXJlOmJlZm9yZXtjb250ZW50OiJcZjViMCJ9LmZhLXBsYW5lLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZTA2OSJ9LmZhLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxmMDRiIn0uZmEtcGxheS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ0In0uZmEtcGxheXN0YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmM2RmIn0uZmEtcGx1ZzpiZWZvcmV7Y29udGVudDoiXGYxZTYifS5mYS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjA2NyJ9LmZhLXBsdXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NSJ9LmZhLXBsdXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjBmZSJ9LmZhLXBvZGNhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmNlIn0uZmEtcG9sbDpiZWZvcmV7Y29udGVudDoiXGY2ODEifS5mYS1wb2xsLWg6YmVmb3Jle2NvbnRlbnQ6IlxmNjgyIn0uZmEtcG9vOmJlZm9yZXtjb250ZW50OiJcZjJmZSJ9LmZhLXBvby1zdG9ybTpiZWZvcmV7Y29udGVudDoiXGY3NWEifS5mYS1wb29wOmJlZm9yZXtjb250ZW50OiJcZjYxOSJ9LmZhLXBvcnRyYWl0OmJlZm9yZXtjb250ZW50OiJcZjNlMCJ9LmZhLXBvdW5kLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxmMTU0In0uZmEtcG93ZXItb2ZmOmJlZm9yZXtjb250ZW50OiJcZjAxMSJ9LmZhLXByYXk6YmVmb3Jle2NvbnRlbnQ6IlxmNjgzIn0uZmEtcHJheWluZy1oYW5kczpiZWZvcmV7Y29udGVudDoiXGY2ODQifS5mYS1wcmVzY3JpcHRpb246YmVmb3Jle2NvbnRlbnQ6IlxmNWIxIn0uZmEtcHJlc2NyaXB0aW9uLWJvdHRsZTpiZWZvcmV7Y29udGVudDoiXGY0ODUifS5mYS1wcmVzY3JpcHRpb24tYm90dGxlLWFsdDpiZWZvcmV7Y29udGVudDoiXGY0ODYifS5mYS1wcmludDpiZWZvcmV7Y29udGVudDoiXGYwMmYifS5mYS1wcm9jZWR1cmVzOmJlZm9yZXtjb250ZW50OiJcZjQ4NyJ9LmZhLXByb2R1Y3QtaHVudDpiZWZvcmV7Y29udGVudDoiXGYyODgifS5mYS1wcm9qZWN0LWRpYWdyYW06YmVmb3Jle2NvbnRlbnQ6IlxmNTQyIn0uZmEtcHVtcC1tZWRpY2FsOmJlZm9yZXtjb250ZW50OiJcZTA2YSJ9LmZhLXB1bXAtc29hcDpiZWZvcmV7Y29udGVudDoiXGUwNmIifS5mYS1wdXNoZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2UxIn0uZmEtcHV6emxlLXBpZWNlOmJlZm9yZXtjb250ZW50OiJcZjEyZSJ9LmZhLXB5dGhvbjpiZWZvcmV7Y29udGVudDoiXGYzZTIifS5mYS1xcTpiZWZvcmV7Y29udGVudDoiXGYxZDYifS5mYS1xcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDI5In0uZmEtcXVlc3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxmMTI4In0uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1OSJ9LmZhLXF1aWRkaXRjaDpiZWZvcmV7Y29udGVudDoiXGY0NTgifS5mYS1xdWluc2NhcGU6YmVmb3Jle2NvbnRlbnQ6IlxmNDU5In0uZmEtcXVvcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMmM0In0uZmEtcXVvdGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMGQifS5mYS1xdW90ZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxMGUifS5mYS1xdXJhbjpiZWZvcmV7Y29udGVudDoiXGY2ODcifS5mYS1yLXByb2plY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNGY3In0uZmEtcmFkaWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjdiOSJ9LmZhLXJhZGlhdGlvbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2JhIn0uZmEtcmFpbmJvdzpiZWZvcmV7Y29udGVudDoiXGY3NWIifS5mYS1yYW5kb206YmVmb3Jle2NvbnRlbnQ6IlxmMDc0In0uZmEtcmFzcGJlcnJ5LXBpOmJlZm9yZXtjb250ZW50OiJcZjdiYiJ9LmZhLXJhdmVscnk6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ5In0uZmEtcmVhY3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNDFiIn0uZmEtcmVhY3RldXJvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmNzVkIn0uZmEtcmVhZG1lOmJlZm9yZXtjb250ZW50OiJcZjRkNSJ9LmZhLXJlYmVsOmJlZm9yZXtjb250ZW50OiJcZjFkMCJ9LmZhLXJlY2VpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNTQzIn0uZmEtcmVjb3JkLXZpbnlsOmJlZm9yZXtjb250ZW50OiJcZjhkOSJ9LmZhLXJlY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWI4In0uZmEtcmVkLXJpdmVyOmJlZm9yZXtjb250ZW50OiJcZjNlMyJ9LmZhLXJlZGRpdDpiZWZvcmV7Y29udGVudDoiXGYxYTEifS5mYS1yZWRkaXQtYWxpZW46YmVmb3Jle2NvbnRlbnQ6IlxmMjgxIn0uZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxYTIifS5mYS1yZWRoYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2JjIn0uZmEtcmVkbzpiZWZvcmV7Y29udGVudDoiXGYwMWUifS5mYS1yZWRvLWFsdDpiZWZvcmV7Y29udGVudDoiXGYyZjkifS5mYS1yZWdpc3RlcmVkOmJlZm9yZXtjb250ZW50OiJcZjI1ZCJ9LmZhLXJlbW92ZS1mb3JtYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmODdkIn0uZmEtcmVucmVuOmJlZm9yZXtjb250ZW50OiJcZjE4YiJ9LmZhLXJlcGx5OmJlZm9yZXtjb250ZW50OiJcZjNlNSJ9LmZhLXJlcGx5LWFsbDpiZWZvcmV7Y29udGVudDoiXGYxMjIifS5mYS1yZXBseWQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2U2In0uZmEtcmVwdWJsaWNhbjpiZWZvcmV7Y29udGVudDoiXGY3NWUifS5mYS1yZXNlYXJjaGdhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNGY4In0uZmEtcmVzb2x2aW5nOmJlZm9yZXtjb250ZW50OiJcZjNlNyJ9LmZhLXJlc3Ryb29tOmJlZm9yZXtjb250ZW50OiJcZjdiZCJ9LmZhLXJldHdlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc5In0uZmEtcmV2OmJlZm9yZXtjb250ZW50OiJcZjViMiJ9LmZhLXJpYmJvbjpiZWZvcmV7Y29udGVudDoiXGY0ZDYifS5mYS1yaW5nOmJlZm9yZXtjb250ZW50OiJcZjcwYiJ9LmZhLXJvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDE4In0uZmEtcm9ib3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNTQ0In0uZmEtcm9ja2V0OmJlZm9yZXtjb250ZW50OiJcZjEzNSJ9LmZhLXJvY2tldGNoYXQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2U4In0uZmEtcm9ja3JtczpiZWZvcmV7Y29udGVudDoiXGYzZTkifS5mYS1yb3V0ZTpiZWZvcmV7Y29udGVudDoiXGY0ZDcifS5mYS1yc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDllIn0uZmEtcnNzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNDMifS5mYS1ydWJsZS1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE1OCJ9LmZhLXJ1bGVyOmJlZm9yZXtjb250ZW50OiJcZjU0NSJ9LmZhLXJ1bGVyLWNvbWJpbmVkOmJlZm9yZXtjb250ZW50OiJcZjU0NiJ9LmZhLXJ1bGVyLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTQ3In0uZmEtcnVsZXItdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNTQ4In0uZmEtcnVubmluZzpiZWZvcmV7Y29udGVudDoiXGY3MGMifS5mYS1ydXBlZS1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE1NiJ9LmZhLXJ1c3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDdhIn0uZmEtc2FkLWNyeTpiZWZvcmV7Y29udGVudDoiXGY1YjMifS5mYS1zYWQtdGVhcjpiZWZvcmV7Y29udGVudDoiXGY1YjQifS5mYS1zYWZhcmk6YmVmb3Jle2NvbnRlbnQ6IlxmMjY3In0uZmEtc2FsZXNmb3JjZTpiZWZvcmV7Y29udGVudDoiXGY4M2IifS5mYS1zYXNzOmJlZm9yZXtjb250ZW50OiJcZjQxZSJ9LmZhLXNhdGVsbGl0ZTpiZWZvcmV7Y29udGVudDoiXGY3YmYifS5mYS1zYXRlbGxpdGUtZGlzaDpiZWZvcmV7Y29udGVudDoiXGY3YzAifS5mYS1zYXZlOmJlZm9yZXtjb250ZW50OiJcZjBjNyJ9LmZhLXNjaGxpeDpiZWZvcmV7Y29udGVudDoiXGYzZWEifS5mYS1zY2hvb2w6YmVmb3Jle2NvbnRlbnQ6IlxmNTQ5In0uZmEtc2NyZXdkcml2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNTRhIn0uZmEtc2NyaWJkOmJlZm9yZXtjb250ZW50OiJcZjI4YSJ9LmZhLXNjcm9sbDpiZWZvcmV7Y29udGVudDoiXGY3MGUifS5mYS1zZC1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjdjMiJ9LmZhLXNlYXJjaDpiZWZvcmV7Y29udGVudDoiXGYwMDIifS5mYS1zZWFyY2gtZG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZjY4OCJ9LmZhLXNlYXJjaC1sb2NhdGlvbjpiZWZvcmV7Y29udGVudDoiXGY2ODkifS5mYS1zZWFyY2gtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDEwIn0uZmEtc2VhcmNoLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDBlIn0uZmEtc2VhcmNoZW5naW46YmVmb3Jle2NvbnRlbnQ6IlxmM2ViIn0uZmEtc2VlZGxpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGQ4In0uZmEtc2VsbGNhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMmRhIn0uZmEtc2VsbHN5OmJlZm9yZXtjb250ZW50OiJcZjIxMyJ9LmZhLXNlcnZlcjpiZWZvcmV7Y29udGVudDoiXGYyMzMifS5mYS1zZXJ2aWNlc3RhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmM2VjIn0uZmEtc2hhcGVzOmJlZm9yZXtjb250ZW50OiJcZjYxZiJ9LmZhLXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjA2NCJ9LmZhLXNoYXJlLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxZTAifS5mYS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFlMSJ9LmZhLXNoYXJlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGQifS5mYS1zaGVrZWwtc2lnbjpiZWZvcmV7Y29udGVudDoiXGYyMGIifS5mYS1zaGllbGQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNlZCJ9LmZhLXNoaWVsZC12aXJ1czpiZWZvcmV7Y29udGVudDoiXGUwNmMifS5mYS1zaGlwOmJlZm9yZXtjb250ZW50OiJcZjIxYSJ9LmZhLXNoaXBwaW5nLWZhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmNDhiIn0uZmEtc2hpcnRzaW5idWxrOmJlZm9yZXtjb250ZW50OiJcZjIxNCJ9LmZhLXNob2UtcHJpbnRzOmJlZm9yZXtjb250ZW50OiJcZjU0YiJ9LmZhLXNob3BpZnk6YmVmb3Jle2NvbnRlbnQ6IlxlMDU3In0uZmEtc2hvcHBpbmctYmFnOmJlZm9yZXtjb250ZW50OiJcZjI5MCJ9LmZhLXNob3BwaW5nLWJhc2tldDpiZWZvcmV7Y29udGVudDoiXGYyOTEifS5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZXtjb250ZW50OiJcZjA3YSJ9LmZhLXNob3B3YXJlOmJlZm9yZXtjb250ZW50OiJcZjViNSJ9LmZhLXNob3dlcjpiZWZvcmV7Y29udGVudDoiXGYyY2MifS5mYS1zaHV0dGxlLXZhbjpiZWZvcmV7Y29udGVudDoiXGY1YjYifS5mYS1zaWduOmJlZm9yZXtjb250ZW50OiJcZjRkOSJ9LmZhLXNpZ24taW4tYWx0OmJlZm9yZXtjb250ZW50OiJcZjJmNiJ9LmZhLXNpZ24tbGFuZ3VhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMmE3In0uZmEtc2lnbi1vdXQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjJmNSJ9LmZhLXNpZ25hbDpiZWZvcmV7Y29udGVudDoiXGYwMTIifS5mYS1zaWduYXR1cmU6YmVmb3Jle2NvbnRlbnQ6IlxmNWI3In0uZmEtc2ltLWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2M0In0uZmEtc2ltcGx5YnVpbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE1In0uZmEtc2luazpiZWZvcmV7Y29udGVudDoiXGUwNmQifS5mYS1zaXN0cml4OmJlZm9yZXtjb250ZW50OiJcZjNlZSJ9LmZhLXNpdGVtYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMGU4In0uZmEtc2l0aDpiZWZvcmV7Y29udGVudDoiXGY1MTIifS5mYS1za2F0aW5nOmJlZm9yZXtjb250ZW50OiJcZjdjNSJ9LmZhLXNrZXRjaDpiZWZvcmV7Y29udGVudDoiXGY3YzYifS5mYS1za2lpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmN2M5In0uZmEtc2tpaW5nLW5vcmRpYzpiZWZvcmV7Y29udGVudDoiXGY3Y2EifS5mYS1za3VsbDpiZWZvcmV7Y29udGVudDoiXGY1NGMifS5mYS1za3VsbC1jcm9zc2JvbmVzOmJlZm9yZXtjb250ZW50OiJcZjcxNCJ9LmZhLXNreWF0bGFzOmJlZm9yZXtjb250ZW50OiJcZjIxNiJ9LmZhLXNreXBlOmJlZm9yZXtjb250ZW50OiJcZjE3ZSJ9LmZhLXNsYWNrOmJlZm9yZXtjb250ZW50OiJcZjE5OCJ9LmZhLXNsYWNrLWhhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmM2VmIn0uZmEtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNzE1In0uZmEtc2xlaWdoOmJlZm9yZXtjb250ZW50OiJcZjdjYyJ9LmZhLXNsaWRlcnMtaDpiZWZvcmV7Y29udGVudDoiXGYxZGUifS5mYS1zbGlkZXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjFlNyJ9LmZhLXNtaWxlOmJlZm9yZXtjb250ZW50OiJcZjExOCJ9LmZhLXNtaWxlLWJlYW06YmVmb3Jle2NvbnRlbnQ6IlxmNWI4In0uZmEtc21pbGUtd2luazpiZWZvcmV7Y29udGVudDoiXGY0ZGEifS5mYS1zbW9nOmJlZm9yZXtjb250ZW50OiJcZjc1ZiJ9LmZhLXNtb2tpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNDhkIn0uZmEtc21va2luZy1iYW46YmVmb3Jle2NvbnRlbnQ6IlxmNTRkIn0uZmEtc21zOmJlZm9yZXtjb250ZW50OiJcZjdjZCJ9LmZhLXNuYXBjaGF0OmJlZm9yZXtjb250ZW50OiJcZjJhYiJ9LmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZXtjb250ZW50OiJcZjJhYyJ9LmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyYWQifS5mYS1zbm93Ym9hcmRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmN2NlIn0uZmEtc25vd2ZsYWtlOmJlZm9yZXtjb250ZW50OiJcZjJkYyJ9LmZhLXNub3dtYW46YmVmb3Jle2NvbnRlbnQ6IlxmN2QwIn0uZmEtc25vd3Bsb3c6YmVmb3Jle2NvbnRlbnQ6IlxmN2QyIn0uZmEtc29hcDpiZWZvcmV7Y29udGVudDoiXGUwNmUifS5mYS1zb2NrczpiZWZvcmV7Y29udGVudDoiXGY2OTYifS5mYS1zb2xhci1wYW5lbDpiZWZvcmV7Y29udGVudDoiXGY1YmEifS5mYS1zb3J0OmJlZm9yZXtjb250ZW50OiJcZjBkYyJ9LmZhLXNvcnQtYWxwaGEtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNWQifS5mYS1zb3J0LWFscGhhLWRvd24tYWx0OmJlZm9yZXtjb250ZW50OiJcZjg4MSJ9LmZhLXNvcnQtYWxwaGEtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTVlIn0uZmEtc29ydC1hbHBoYS11cC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODgyIn0uZmEtc29ydC1hbW91bnQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNjAifS5mYS1zb3J0LWFtb3VudC1kb3duLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ODQifS5mYS1zb3J0LWFtb3VudC11cDpiZWZvcmV7Y29udGVudDoiXGYxNjEifS5mYS1zb3J0LWFtb3VudC11cC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODg1In0uZmEtc29ydC1kb3duOmJlZm9yZXtjb250ZW50OiJcZjBkZCJ9LmZhLXNvcnQtbnVtZXJpYy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE2MiJ9LmZhLXNvcnQtbnVtZXJpYy1kb3duLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ODYifS5mYS1zb3J0LW51bWVyaWMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTYzIn0uZmEtc29ydC1udW1lcmljLXVwLWFsdDpiZWZvcmV7Y29udGVudDoiXGY4ODcifS5mYS1zb3J0LXVwOmJlZm9yZXtjb250ZW50OiJcZjBkZSJ9LmZhLXNvdW5kY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWJlIn0uZmEtc291cmNldHJlZTpiZWZvcmV7Y29udGVudDoiXGY3ZDMifS5mYS1zcGE6YmVmb3Jle2NvbnRlbnQ6IlxmNWJiIn0uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmV7Y29udGVudDoiXGYxOTcifS5mYS1zcGVha2FwOmJlZm9yZXtjb250ZW50OiJcZjNmMyJ9LmZhLXNwZWFrZXItZGVjazpiZWZvcmV7Y29udGVudDoiXGY4M2MifS5mYS1zcGVsbC1jaGVjazpiZWZvcmV7Y29udGVudDoiXGY4OTEifS5mYS1zcGlkZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNzE3In0uZmEtc3Bpbm5lcjpiZWZvcmV7Y29udGVudDoiXGYxMTAifS5mYS1zcGxvdGNoOmJlZm9yZXtjb250ZW50OiJcZjViYyJ9LmZhLXNwb3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMWJjIn0uZmEtc3ByYXktY2FuOmJlZm9yZXtjb250ZW50OiJcZjViZCJ9LmZhLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwYzgifS5mYS1zcXVhcmUtZnVsbDpiZWZvcmV7Y29udGVudDoiXGY0NWMifS5mYS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjk4In0uZmEtc3F1YXJlc3BhY2U6YmVmb3Jle2NvbnRlbnQ6IlxmNWJlIn0uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMThkIn0uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMTZjIn0uZmEtc3RhY2twYXRoOmJlZm9yZXtjb250ZW50OiJcZjg0MiJ9LmZhLXN0YW1wOmJlZm9yZXtjb250ZW50OiJcZjViZiJ9LmZhLXN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDA1In0uZmEtc3Rhci1hbmQtY3Jlc2NlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmNjk5In0uZmEtc3Rhci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjA4OSJ9LmZhLXN0YXItaGFsZi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWMwIn0uZmEtc3Rhci1vZi1kYXZpZDpiZWZvcmV7Y29udGVudDoiXGY2OWEifS5mYS1zdGFyLW9mLWxpZmU6YmVmb3Jle2NvbnRlbnQ6IlxmNjIxIn0uZmEtc3RheWxpbmtlZDpiZWZvcmV7Y29udGVudDoiXGYzZjUifS5mYS1zdGVhbTpiZWZvcmV7Y29udGVudDoiXGYxYjYifS5mYS1zdGVhbS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWI3In0uZmEtc3RlYW0tc3ltYm9sOmJlZm9yZXtjb250ZW50OiJcZjNmNiJ9LmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ4In0uZmEtc3RlcC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA1MSJ9LmZhLXN0ZXRob3Njb3BlOmJlZm9yZXtjb250ZW50OiJcZjBmMSJ9LmZhLXN0aWNrZXItbXVsZTpiZWZvcmV7Y29udGVudDoiXGYzZjcifS5mYS1zdGlja3ktbm90ZTpiZWZvcmV7Y29udGVudDoiXGYyNDkifS5mYS1zdG9wOmJlZm9yZXtjb250ZW50OiJcZjA0ZCJ9LmZhLXN0b3AtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjI4ZCJ9LmZhLXN0b3B3YXRjaDpiZWZvcmV7Y29udGVudDoiXGYyZjIifS5mYS1zdG9wd2F0Y2gtMjA6YmVmb3Jle2NvbnRlbnQ6IlxlMDZmIn0uZmEtc3RvcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNTRlIn0uZmEtc3RvcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZjU0ZiJ9LmZhLXN0b3JlLWFsdC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNzAifS5mYS1zdG9yZS1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNzEifS5mYS1zdHJhdmE6YmVmb3Jle2NvbnRlbnQ6IlxmNDI4In0uZmEtc3RyZWFtOmJlZm9yZXtjb250ZW50OiJcZjU1MCJ9LmZhLXN0cmVldC12aWV3OmJlZm9yZXtjb250ZW50OiJcZjIxZCJ9LmZhLXN0cmlrZXRocm91Z2g6YmVmb3Jle2NvbnRlbnQ6IlxmMGNjIn0uZmEtc3RyaXBlOmJlZm9yZXtjb250ZW50OiJcZjQyOSJ9LmZhLXN0cmlwZS1zOmJlZm9yZXtjb250ZW50OiJcZjQyYSJ9LmZhLXN0cm9vcHdhZmVsOmJlZm9yZXtjb250ZW50OiJcZjU1MSJ9LmZhLXN0dWRpb3ZpbmFyaTpiZWZvcmV7Y29udGVudDoiXGYzZjgifS5mYS1zdHVtYmxldXBvbjpiZWZvcmV7Y29udGVudDoiXGYxYTQifS5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWEzIn0uZmEtc3Vic2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZjEyYyJ9LmZhLXN1YndheTpiZWZvcmV7Y29udGVudDoiXGYyMzkifS5mYS1zdWl0Y2FzZTpiZWZvcmV7Y29udGVudDoiXGYwZjIifS5mYS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZXtjb250ZW50OiJcZjVjMSJ9LmZhLXN1bjpiZWZvcmV7Y29udGVudDoiXGYxODUifS5mYS1zdXBlcnBvd2VyczpiZWZvcmV7Y29udGVudDoiXGYyZGQifS5mYS1zdXBlcnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGYxMmIifS5mYS1zdXBwbGU6YmVmb3Jle2NvbnRlbnQ6IlxmM2Y5In0uZmEtc3VycHJpc2U6YmVmb3Jle2NvbnRlbnQ6IlxmNWMyIn0uZmEtc3VzZTpiZWZvcmV7Y29udGVudDoiXGY3ZDYifS5mYS1zd2F0Y2hib29rOmJlZm9yZXtjb250ZW50OiJcZjVjMyJ9LmZhLXN3aWZ0OmJlZm9yZXtjb250ZW50OiJcZjhlMSJ9LmZhLXN3aW1tZXI6YmVmb3Jle2NvbnRlbnQ6IlxmNWM0In0uZmEtc3dpbW1pbmctcG9vbDpiZWZvcmV7Y29udGVudDoiXGY1YzUifS5mYS1zeW1mb255OmJlZm9yZXtjb250ZW50OiJcZjgzZCJ9LmZhLXN5bmFnb2d1ZTpiZWZvcmV7Y29udGVudDoiXGY2OWIifS5mYS1zeW5jOmJlZm9yZXtjb250ZW50OiJcZjAyMSJ9LmZhLXN5bmMtYWx0OmJlZm9yZXtjb250ZW50OiJcZjJmMSJ9LmZhLXN5cmluZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmNDhlIn0uZmEtdGFibGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGNlIn0uZmEtdGFibGUtdGVubmlzOmJlZm9yZXtjb250ZW50OiJcZjQ1ZCJ9LmZhLXRhYmxldDpiZWZvcmV7Y29udGVudDoiXGYxMGEifS5mYS10YWJsZXQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjNmYSJ9LmZhLXRhYmxldHM6YmVmb3Jle2NvbnRlbnQ6IlxmNDkwIn0uZmEtdGFjaG9tZXRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmM2ZkIn0uZmEtdGFnOmJlZm9yZXtjb250ZW50OiJcZjAyYiJ9LmZhLXRhZ3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDJjIn0uZmEtdGFwZTpiZWZvcmV7Y29udGVudDoiXGY0ZGIifS5mYS10YXNrczpiZWZvcmV7Y29udGVudDoiXGYwYWUifS5mYS10YXhpOmJlZm9yZXtjb250ZW50OiJcZjFiYSJ9LmZhLXRlYW1zcGVhazpiZWZvcmV7Y29udGVudDoiXGY0ZjkifS5mYS10ZWV0aDpiZWZvcmV7Y29udGVudDoiXGY2MmUifS5mYS10ZWV0aC1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjYyZiJ9LmZhLXRlbGVncmFtOmJlZm9yZXtjb250ZW50OiJcZjJjNiJ9LmZhLXRlbGVncmFtLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZjNmZSJ9LmZhLXRlbXBlcmF0dXJlLWhpZ2g6YmVmb3Jle2NvbnRlbnQ6IlxmNzY5In0uZmEtdGVtcGVyYXR1cmUtbG93OmJlZm9yZXtjb250ZW50OiJcZjc2YiJ9LmZhLXRlbmNlbnQtd2VpYm86YmVmb3Jle2NvbnRlbnQ6IlxmMWQ1In0uZmEtdGVuZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmN2Q3In0uZmEtdGVybWluYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMTIwIn0uZmEtdGV4dC1oZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM0In0uZmEtdGV4dC13aWR0aDpiZWZvcmV7Y29udGVudDoiXGYwMzUifS5mYS10aDpiZWZvcmV7Y29udGVudDoiXGYwMGEifS5mYS10aC1sYXJnZTpiZWZvcmV7Y29udGVudDoiXGYwMDkifS5mYS10aC1saXN0OmJlZm9yZXtjb250ZW50OiJcZjAwYiJ9LmZhLXRoZS1yZWQteWV0aTpiZWZvcmV7Y29udGVudDoiXGY2OWQifS5mYS10aGVhdGVyLW1hc2tzOmJlZm9yZXtjb250ZW50OiJcZjYzMCJ9LmZhLXRoZW1lY286YmVmb3Jle2NvbnRlbnQ6IlxmNWM2In0uZmEtdGhlbWVpc2xlOmJlZm9yZXtjb250ZW50OiJcZjJiMiJ9LmZhLXRoZXJtb21ldGVyOmJlZm9yZXtjb250ZW50OiJcZjQ5MSJ9LmZhLXRoZXJtb21ldGVyLWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZjJjYiJ9LmZhLXRoZXJtb21ldGVyLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmMmM3In0uZmEtdGhlcm1vbWV0ZXItaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyYzkifS5mYS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZXtjb250ZW50OiJcZjJjYSJ9LmZhLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OiJcZjJjOCJ9LmZhLXRoaW5rLXBlYWtzOmJlZm9yZXtjb250ZW50OiJcZjczMSJ9LmZhLXRodW1icy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE2NSJ9LmZhLXRodW1icy11cDpiZWZvcmV7Y29udGVudDoiXGYxNjQifS5mYS10aHVtYnRhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDhkIn0uZmEtdGlja2V0LWFsdDpiZWZvcmV7Y29udGVudDoiXGYzZmYifS5mYS10aWt0b2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDdiIn0uZmEtdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDBkIn0uZmEtdGltZXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NyJ9LmZhLXRpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQzIn0uZmEtdGludC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY1YzcifS5mYS10aXJlZDpiZWZvcmV7Y29udGVudDoiXGY1YzgifS5mYS10b2dnbGUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZjIwNCJ9LmZhLXRvZ2dsZS1vbjpiZWZvcmV7Y29udGVudDoiXGYyMDUifS5mYS10b2lsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmN2Q4In0uZmEtdG9pbGV0LXBhcGVyOmJlZm9yZXtjb250ZW50OiJcZjcxZSJ9LmZhLXRvaWxldC1wYXBlci1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNzIifS5mYS10b29sYm94OmJlZm9yZXtjb250ZW50OiJcZjU1MiJ9LmZhLXRvb2xzOmJlZm9yZXtjb250ZW50OiJcZjdkOSJ9LmZhLXRvb3RoOmJlZm9yZXtjb250ZW50OiJcZjVjOSJ9LmZhLXRvcmFoOmJlZm9yZXtjb250ZW50OiJcZjZhMCJ9LmZhLXRvcmlpLWdhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmNmExIn0uZmEtdHJhY3RvcjpiZWZvcmV7Y29udGVudDoiXGY3MjIifS5mYS10cmFkZS1mZWRlcmF0aW9uOmJlZm9yZXtjb250ZW50OiJcZjUxMyJ9LmZhLXRyYWRlbWFyazpiZWZvcmV7Y29udGVudDoiXGYyNWMifS5mYS10cmFmZmljLWxpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjYzNyJ9LmZhLXRyYWlsZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDQxIn0uZmEtdHJhaW46YmVmb3Jle2NvbnRlbnQ6IlxmMjM4In0uZmEtdHJhbTpiZWZvcmV7Y29udGVudDoiXGY3ZGEifS5mYS10cmFuc2dlbmRlcjpiZWZvcmV7Y29udGVudDoiXGYyMjQifS5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjI1In0uZmEtdHJhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWY4In0uZmEtdHJhc2gtYWx0OmJlZm9yZXtjb250ZW50OiJcZjJlZCJ9LmZhLXRyYXNoLXJlc3RvcmU6YmVmb3Jle2NvbnRlbnQ6IlxmODI5In0uZmEtdHJhc2gtcmVzdG9yZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmODJhIn0uZmEtdHJlZTpiZWZvcmV7Y29udGVudDoiXGYxYmIifS5mYS10cmVsbG86YmVmb3Jle2NvbnRlbnQ6IlxmMTgxIn0uZmEtdHJpcGFkdmlzb3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjYyIn0uZmEtdHJvcGh5OmJlZm9yZXtjb250ZW50OiJcZjA5MSJ9LmZhLXRydWNrOmJlZm9yZXtjb250ZW50OiJcZjBkMSJ9LmZhLXRydWNrLWxvYWRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGRlIn0uZmEtdHJ1Y2stbW9uc3RlcjpiZWZvcmV7Y29udGVudDoiXGY2M2IifS5mYS10cnVjay1tb3Zpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNGRmIn0uZmEtdHJ1Y2stcGlja3VwOmJlZm9yZXtjb250ZW50OiJcZjYzYyJ9LmZhLXRzaGlydDpiZWZvcmV7Y29udGVudDoiXGY1NTMifS5mYS10dHk6YmVmb3Jle2NvbnRlbnQ6IlxmMWU0In0uZmEtdHVtYmxyOmJlZm9yZXtjb250ZW50OiJcZjE3MyJ9LmZhLXR1bWJsci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTc0In0uZmEtdHY6YmVmb3Jle2NvbnRlbnQ6IlxmMjZjIn0uZmEtdHdpdGNoOmJlZm9yZXtjb250ZW50OiJcZjFlOCJ9LmZhLXR3aXR0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDk5In0uZmEtdHdpdHRlci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDgxIn0uZmEtdHlwbzM6YmVmb3Jle2NvbnRlbnQ6IlxmNDJiIn0uZmEtdWJlcjpiZWZvcmV7Y29udGVudDoiXGY0MDIifS5mYS11YnVudHU6YmVmb3Jle2NvbnRlbnQ6IlxmN2RmIn0uZmEtdWlraXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDAzIn0uZmEtdW1icmFjbzpiZWZvcmV7Y29udGVudDoiXGY4ZTgifS5mYS11bWJyZWxsYTpiZWZvcmV7Y29udGVudDoiXGYwZTkifS5mYS11bWJyZWxsYS1iZWFjaDpiZWZvcmV7Y29udGVudDoiXGY1Y2EifS5mYS11bmNoYXJ0ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDg0In0uZmEtdW5kZXJsaW5lOmJlZm9yZXtjb250ZW50OiJcZjBjZCJ9LmZhLXVuZG86YmVmb3Jle2NvbnRlbnQ6IlxmMGUyIn0uZmEtdW5kby1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMmVhIn0uZmEtdW5pcmVnaXN0cnk6YmVmb3Jle2NvbnRlbnQ6IlxmNDA0In0uZmEtdW5pdHk6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ5In0uZmEtdW5pdmVyc2FsLWFjY2VzczpiZWZvcmV7Y29udGVudDoiXGYyOWEifS5mYS11bml2ZXJzaXR5OmJlZm9yZXtjb250ZW50OiJcZjE5YyJ9LmZhLXVubGluazpiZWZvcmV7Y29udGVudDoiXGYxMjcifS5mYS11bmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDljIn0uZmEtdW5sb2NrLWFsdDpiZWZvcmV7Y29udGVudDoiXGYxM2UifS5mYS11bnNwbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwN2MifS5mYS11bnRhcHBkOmJlZm9yZXtjb250ZW50OiJcZjQwNSJ9LmZhLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGYwOTMifS5mYS11cHM6YmVmb3Jle2NvbnRlbnQ6IlxmN2UwIn0uZmEtdXNiOmJlZm9yZXtjb250ZW50OiJcZjI4NyJ9LmZhLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDA3In0uZmEtdXNlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDA2In0uZmEtdXNlci1hbHQtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNGZhIn0uZmEtdXNlci1hc3Ryb25hdXQ6YmVmb3Jle2NvbnRlbnQ6IlxmNGZiIn0uZmEtdXNlci1jaGVjazpiZWZvcmV7Y29udGVudDoiXGY0ZmMifS5mYS11c2VyLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyYmQifS5mYS11c2VyLWNsb2NrOmJlZm9yZXtjb250ZW50OiJcZjRmZCJ9LmZhLXVzZXItY29nOmJlZm9yZXtjb250ZW50OiJcZjRmZSJ9LmZhLXVzZXItZWRpdDpiZWZvcmV7Y29udGVudDoiXGY0ZmYifS5mYS11c2VyLWZyaWVuZHM6YmVmb3Jle2NvbnRlbnQ6IlxmNTAwIn0uZmEtdXNlci1ncmFkdWF0ZTpiZWZvcmV7Y29udGVudDoiXGY1MDEifS5mYS11c2VyLWluanVyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmNzI4In0uZmEtdXNlci1sb2NrOmJlZm9yZXtjb250ZW50OiJcZjUwMiJ9LmZhLXVzZXItbWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGYwIn0uZmEtdXNlci1taW51czpiZWZvcmV7Y29udGVudDoiXGY1MDMifS5mYS11c2VyLW5pbmphOmJlZm9yZXtjb250ZW50OiJcZjUwNCJ9LmZhLXVzZXItbnVyc2U6YmVmb3Jle2NvbnRlbnQ6IlxmODJmIn0uZmEtdXNlci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjIzNCJ9LmZhLXVzZXItc2VjcmV0OmJlZm9yZXtjb250ZW50OiJcZjIxYiJ9LmZhLXVzZXItc2hpZWxkOmJlZm9yZXtjb250ZW50OiJcZjUwNSJ9LmZhLXVzZXItc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmNTA2In0uZmEtdXNlci10YWc6YmVmb3Jle2NvbnRlbnQ6IlxmNTA3In0uZmEtdXNlci10aWU6YmVmb3Jle2NvbnRlbnQ6IlxmNTA4In0uZmEtdXNlci10aW1lczpiZWZvcmV7Y29udGVudDoiXGYyMzUifS5mYS11c2VyczpiZWZvcmV7Y29udGVudDoiXGYwYzAifS5mYS11c2Vycy1jb2c6YmVmb3Jle2NvbnRlbnQ6IlxmNTA5In0uZmEtdXNlcnMtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDczIn0uZmEtdXNwczpiZWZvcmV7Y29udGVudDoiXGY3ZTEifS5mYS11c3N1bm5haDpiZWZvcmV7Y29udGVudDoiXGY0MDcifS5mYS11dGVuc2lsLXNwb29uOmJlZm9yZXtjb250ZW50OiJcZjJlNSJ9LmZhLXV0ZW5zaWxzOmJlZm9yZXtjb250ZW50OiJcZjJlNyJ9LmZhLXZhYWRpbjpiZWZvcmV7Y29udGVudDoiXGY0MDgifS5mYS12ZWN0b3Itc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjVjYiJ9LmZhLXZlbnVzOmJlZm9yZXtjb250ZW50OiJcZjIyMSJ9LmZhLXZlbnVzLWRvdWJsZTpiZWZvcmV7Y29udGVudDoiXGYyMjYifS5mYS12ZW51cy1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyOCJ9LmZhLXZlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDg1In0uZmEtdmVzdC1wYXRjaGVzOmJlZm9yZXtjb250ZW50OiJcZTA4NiJ9LmZhLXZpYWNvaW46YmVmb3Jle2NvbnRlbnQ6IlxmMjM3In0uZmEtdmlhZGVvOmJlZm9yZXtjb250ZW50OiJcZjJhOSJ9LmZhLXZpYWRlby1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMmFhIn0uZmEtdmlhbDpiZWZvcmV7Y29udGVudDoiXGY0OTIifS5mYS12aWFsczpiZWZvcmV7Y29udGVudDoiXGY0OTMifS5mYS12aWJlcjpiZWZvcmV7Y29udGVudDoiXGY0MDkifS5mYS12aWRlbzpiZWZvcmV7Y29udGVudDoiXGYwM2QifS5mYS12aWRlby1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGY0ZTIifS5mYS12aWhhcmE6YmVmb3Jle2NvbnRlbnQ6IlxmNmE3In0uZmEtdmltZW86YmVmb3Jle2NvbnRlbnQ6IlxmNDBhIn0uZmEtdmltZW8tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE5NCJ9LmZhLXZpbWVvLXY6YmVmb3Jle2NvbnRlbnQ6IlxmMjdkIn0uZmEtdmluZTpiZWZvcmV7Y29udGVudDoiXGYxY2EifS5mYS12aXJ1czpiZWZvcmV7Y29udGVudDoiXGUwNzQifS5mYS12aXJ1cy1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGUwNzUifS5mYS12aXJ1c2VzOmJlZm9yZXtjb250ZW50OiJcZTA3NiJ9LmZhLXZrOmJlZm9yZXtjb250ZW50OiJcZjE4OSJ9LmZhLXZudjpiZWZvcmV7Y29udGVudDoiXGY0MGIifS5mYS12b2ljZW1haWw6YmVmb3Jle2NvbnRlbnQ6IlxmODk3In0uZmEtdm9sbGV5YmFsbC1iYWxsOmJlZm9yZXtjb250ZW50OiJcZjQ1ZiJ9LmZhLXZvbHVtZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjAyNyJ9LmZhLXZvbHVtZS1tdXRlOmJlZm9yZXtjb250ZW50OiJcZjZhOSJ9LmZhLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMDI2In0uZmEtdm9sdW1lLXVwOmJlZm9yZXtjb250ZW50OiJcZjAyOCJ9LmZhLXZvdGUteWVhOmJlZm9yZXtjb250ZW50OiJcZjc3MiJ9LmZhLXZyLWNhcmRib2FyZDpiZWZvcmV7Y29udGVudDoiXGY3MjkifS5mYS12dWVqczpiZWZvcmV7Y29udGVudDoiXGY0MWYifS5mYS13YWxraW5nOmJlZm9yZXtjb250ZW50OiJcZjU1NCJ9LmZhLXdhbGxldDpiZWZvcmV7Y29udGVudDoiXGY1NTUifS5mYS13YXJlaG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxmNDk0In0uZmEtd2F0Y2htYW4tbW9uaXRvcmluZzpiZWZvcmV7Y29udGVudDoiXGUwODcifS5mYS13YXRlcjpiZWZvcmV7Y29udGVudDoiXGY3NzMifS5mYS13YXZlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGY4M2UifS5mYS13YXplOmJlZm9yZXtjb250ZW50OiJcZjgzZiJ9LmZhLXdlZWJseTpiZWZvcmV7Y29udGVudDoiXGY1Y2MifS5mYS13ZWlibzpiZWZvcmV7Y29udGVudDoiXGYxOGEifS5mYS13ZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNDk2In0uZmEtd2VpZ2h0LWhhbmdpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmNWNkIn0uZmEtd2VpeGluOmJlZm9yZXtjb250ZW50OiJcZjFkNyJ9LmZhLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OiJcZjIzMiJ9LmZhLXdoYXRzYXBwLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGY0MGMifS5mYS13aGVlbGNoYWlyOmJlZm9yZXtjb250ZW50OiJcZjE5MyJ9LmZhLXdobWNzOmJlZm9yZXtjb250ZW50OiJcZjQwZCJ9LmZhLXdpZmk6YmVmb3Jle2NvbnRlbnQ6IlxmMWViIn0uZmEtd2lraXBlZGlhLXc6YmVmb3Jle2NvbnRlbnQ6IlxmMjY2In0uZmEtd2luZDpiZWZvcmV7Y29udGVudDoiXGY3MmUifS5mYS13aW5kb3ctY2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxmNDEwIn0uZmEtd2luZG93LW1heGltaXplOmJlZm9yZXtjb250ZW50OiJcZjJkMCJ9LmZhLXdpbmRvdy1taW5pbWl6ZTpiZWZvcmV7Y29udGVudDoiXGYyZDEifS5mYS13aW5kb3ctcmVzdG9yZTpiZWZvcmV7Y29udGVudDoiXGYyZDIifS5mYS13aW5kb3dzOmJlZm9yZXtjb250ZW50OiJcZjE3YSJ9LmZhLXdpbmUtYm90dGxlOmJlZm9yZXtjb250ZW50OiJcZjcyZiJ9LmZhLXdpbmUtZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxmNGUzIn0uZmEtd2luZS1nbGFzcy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmNWNlIn0uZmEtd2l4OmJlZm9yZXtjb250ZW50OiJcZjVjZiJ9LmZhLXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZXtjb250ZW50OiJcZjczMCJ9LmZhLXdvZHU6YmVmb3Jle2NvbnRlbnQ6IlxlMDg4In0uZmEtd29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmV7Y29udGVudDoiXGY1MTQifS5mYS13b24tc2lnbjpiZWZvcmV7Y29udGVudDoiXGYxNTkifS5mYS13b3JkcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTlhIn0uZmEtd29yZHByZXNzLXNpbXBsZTpiZWZvcmV7Y29udGVudDoiXGY0MTEifS5mYS13cGJlZ2lubmVyOmJlZm9yZXtjb250ZW50OiJcZjI5NyJ9LmZhLXdwZXhwbG9yZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmRlIn0uZmEtd3Bmb3JtczpiZWZvcmV7Y29udGVudDoiXGYyOTgifS5mYS13cHJlc3NyOmJlZm9yZXtjb250ZW50OiJcZjNlNCJ9LmZhLXdyZW5jaDpiZWZvcmV7Y29udGVudDoiXGYwYWQifS5mYS14LXJheTpiZWZvcmV7Y29udGVudDoiXGY0OTcifS5mYS14Ym94OmJlZm9yZXtjb250ZW50OiJcZjQxMiJ9LmZhLXhpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMTY4In0uZmEteGluZy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY5In0uZmEteS1jb21iaW5hdG9yOmJlZm9yZXtjb250ZW50OiJcZjIzYiJ9LmZhLXlhaG9vOmJlZm9yZXtjb250ZW50OiJcZjE5ZSJ9LmZhLXlhbW1lcjpiZWZvcmV7Y29udGVudDoiXGY4NDAifS5mYS15YW5kZXg6YmVmb3Jle2NvbnRlbnQ6IlxmNDEzIn0uZmEteWFuZGV4LWludGVybmF0aW9uYWw6YmVmb3Jle2NvbnRlbnQ6IlxmNDE0In0uZmEteWFybjpiZWZvcmV7Y29udGVudDoiXGY3ZTMifS5mYS15ZWxwOmJlZm9yZXtjb250ZW50OiJcZjFlOSJ9LmZhLXllbi1zaWduOmJlZm9yZXtjb250ZW50OiJcZjE1NyJ9LmZhLXlpbi15YW5nOmJlZm9yZXtjb250ZW50OiJcZjZhZCJ9LmZhLXlvYXN0OmJlZm9yZXtjb250ZW50OiJcZjJiMSJ9LmZhLXlvdXR1YmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY3In0uZmEteW91dHViZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmNDMxIn0uZmEtemhpaHU6YmVmb3Jle2NvbnRlbnQ6IlxmNjNmIn0uc3Itb25seXtib3JkZXI6MDtjbGlwOnJlY3QoMCwwLDAsMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweH0uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1c3tjbGlwOmF1dG87aGVpZ2h0OmF1dG87bWFyZ2luOjA7b3ZlcmZsb3c6dmlzaWJsZTtwb3NpdGlvbjpzdGF0aWM7d2lkdGg6YXV0b31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNSBCcmFuZHMiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LWRpc3BsYXk6c3dhcDtzcmM6dXJsKCIuLi9mb250cy9mYS1icmFuZHMtNDAwLmVvdCIpO3NyYzp1cmwoIi4uL2ZvbnRzL2ZhLWJyYW5kcy00MDBkNDFkZDQxZC0uZW90I2llZml4IikgZm9ybWF0KCJlbWJlZGRlZC1vcGVudHlwZSIpLHVybCgiLi4vZm9udHMvZmEtYnJhbmRzLTQwMC5odG1sIikgZm9ybWF0KCJ3b2ZmMiIpLHVybCgiLi4vZm9udHMvZmEtYnJhbmRzLTQwMC53b2ZmIikgZm9ybWF0KCJ3b2ZmIiksdXJsKCIuLi9mb250cy9mYS1icmFuZHMtNDAwLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKSx1cmwoIi4uL2ZvbnRzL2ZhLWJyYW5kcy00MDAuc3ZnI2ZvbnRhd2Vzb21lIikgZm9ybWF0KCJzdmciKX0uZmFie2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNSBCcmFuZHMifUBmb250LWZhY2V7Zm9udC1mYW1pbHk6IkZvbnQgQXdlc29tZSA1IEZyZWUiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LWRpc3BsYXk6c3dhcDtzcmM6dXJsKCIuLi9mb250cy9mYS1yZWd1bGFyLTQwMC5lb3QiKTtzcmM6dXJsKCIuLi9mb250cy9mYS1yZWd1bGFyLTQwMGQ0MWRkNDFkLS5lb3QjaWVmaXgiKSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksdXJsKCIuLi9mb250cy9mYS1yZWd1bGFyLTQwMC5odG1sIikgZm9ybWF0KCJ3b2ZmMiIpLHVybCgiLi4vZm9udHMvZmEtcmVndWxhci00MDAud29mZiIpIGZvcm1hdCgid29mZiIpLHVybCgiLi4vZm9udHMvZmEtcmVndWxhci00MDAudHRmIikgZm9ybWF0KCJ0cnVldHlwZSIpLHVybCgiLi4vZm9udHMvZmEtcmVndWxhci00MDAuc3ZnI2ZvbnRhd2Vzb21lIikgZm9ybWF0KCJzdmciKX0uZmFiLC5mYXJ7Zm9udC13ZWlnaHQ6NDAwfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6IkZvbnQgQXdlc29tZSA1IEZyZWUiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjkwMDtmb250LWRpc3BsYXk6c3dhcDtzcmM6dXJsKCIuLi9mb250cy9mYS1zb2xpZC05MDAuZW90Iik7c3JjOnVybCgiLi4vZm9udHMvZmEtc29saWQtOTAwZDQxZGQ0MWQtLmVvdCNpZWZpeCIpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSx1cmwoIi4uL2ZvbnRzL2ZhLXNvbGlkLTkwMC5odG1sIikgZm9ybWF0KCJ3b2ZmMiIpLHVybCgiLi4vZm9udHMvZmEtc29saWQtOTAwLndvZmYiKSBmb3JtYXQoIndvZmYiKSx1cmwoIi4uL2ZvbnRzL2ZhLXNvbGlkLTkwMC50dGYiKSBmb3JtYXQoInRydWV0eXBlIiksdXJsKCIuLi9mb250cy9mYS1zb2xpZC05MDAuc3ZnI2ZvbnRhd2Vzb21lIikgZm9ybWF0KCJzdmciKX0uZmEsLmZhciwuZmFze2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNSBGcmVlIn0uZmEsLmZhc3tmb250LXdlaWdodDo5MDB9DQoNCi8qDQpUaGVtaWZ5DQpWZXJzaW9uOiAxLjAuMQ0KUGx1Z2luIFVSSTogaHR0cHM6Ly9naXRodWIuY29tL2x5a21hcGlwby90aGVtaWZ5LWljb25zI3RoZW1pZnktaWNvbnMNCkxpY2Vuc2U6IFRoZW1pZnkgSWNvbnMgZm9udCBsaWNlbnNlZCB1bmRlcjogaHR0cDovL3NjcmlwdHMuc2lsLm9yZy9PRkwNCiovDQpAZm9udC1mYWNle2ZvbnQtZmFtaWx5OnRoZW1pZnk7c3JjOnVybCgiLi4vZm9udHMvdGhlbWlmeTlmMjQ5ZjI0LS1mdmJhbmUuZW90Iik7c3JjOnVybCgiLi4vZm9udHMvdGhlbWlmeWQ0MWRkNDFkLS5lb3QjaWVmaXgtZnZiYW5lIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgiLi4vZm9udHMvdGhlbWlmeTlmMjQ5ZjI0LS1mdmJhbmUud29mZiIpIGZvcm1hdCgnd29mZicpLHVybCgiLi4vZm9udHMvdGhlbWlmeTlmMjQ5ZjI0LS1mdmJhbmUudHRmIikgZm9ybWF0KCd0cnVldHlwZScpLHVybCgiLi4vZm9udHMvdGhlbWlmeTlmMjQ5ZjI0LS1mdmJhbmUuc3ZnI3RoZW1pZnkiKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LWRpc3BsYXk6c3dhcH1bY2xhc3MqPSIgdGktIl0sW2NsYXNzXj10aS1de2ZvbnQtZmFtaWx5OnRoZW1pZnk7c3BlYWs6bm9uZTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2xpbmUtaGVpZ2h0OjE7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LnRpLXdhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjAwIn0udGktdm9sdW1lOmJlZm9yZXtjb250ZW50OiJcZTYwMSJ9LnRpLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNjAyIn0udGktdW5sb2NrOmJlZm9yZXtjb250ZW50OiJcZTYwMyJ9LnRpLXVubGluazpiZWZvcmV7Y29udGVudDoiXGU2MDQifS50aS10cmFzaDpiZWZvcmV7Y29udGVudDoiXGU2MDUifS50aS10aG91Z2h0OmJlZm9yZXtjb250ZW50OiJcZTYwNiJ9LnRpLXRhcmdldDpiZWZvcmV7Y29udGVudDoiXGU2MDcifS50aS10YWc6YmVmb3Jle2NvbnRlbnQ6IlxlNjA4In0udGktdGFibGV0OmJlZm9yZXtjb250ZW50OiJcZTYwOSJ9LnRpLXN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxlNjBhIn0udGktc3ByYXk6YmVmb3Jle2NvbnRlbnQ6IlxlNjBiIn0udGktc2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZTYwYyJ9LnRpLXNob3BwaW5nLWNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjBkIn0udGktc2hvcHBpbmctY2FydC1mdWxsOmJlZm9yZXtjb250ZW50OiJcZTYwZSJ9LnRpLXNldHRpbmdzOmJlZm9yZXtjb250ZW50OiJcZTYwZiJ9LnRpLXNlYXJjaDpiZWZvcmV7Y29udGVudDoiXGU2MTAifS50aS16b29tLWluOmJlZm9yZXtjb250ZW50OiJcZTYxMSJ9LnRpLXpvb20tb3V0OmJlZm9yZXtjb250ZW50OiJcZTYxMiJ9LnRpLWN1dDpiZWZvcmV7Y29udGVudDoiXGU2MTMifS50aS1ydWxlcjpiZWZvcmV7Y29udGVudDoiXGU2MTQifS50aS1ydWxlci1wZW5jaWw6YmVmb3Jle2NvbnRlbnQ6IlxlNjE1In0udGktcnVsZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZTYxNiJ9LnRpLWJvb2ttYXJrOmJlZm9yZXtjb250ZW50OiJcZTYxNyJ9LnRpLWJvb2ttYXJrLWFsdDpiZWZvcmV7Y29udGVudDoiXGU2MTgifS50aS1yZWxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjE5In0udGktcGx1czpiZWZvcmV7Y29udGVudDoiXGU2MWEifS50aS1waW46YmVmb3Jle2NvbnRlbnQ6IlxlNjFiIn0udGktcGVuY2lsOmJlZm9yZXtjb250ZW50OiJcZTYxYyJ9LnRpLXBlbmNpbC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjFkIn0udGktcGFpbnQtcm9sbGVyOmJlZm9yZXtjb250ZW50OiJcZTYxZSJ9LnRpLXBhaW50LWJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGU2MWYifS50aS1uYTpiZWZvcmV7Y29udGVudDoiXGU2MjAifS50aS1tb2JpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjIxIn0udGktbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlNjIyIn0udGktbWVkYWxsOmJlZm9yZXtjb250ZW50OiJcZTYyMyJ9LnRpLW1lZGFsbC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjI0In0udGktbWFya2VyOmJlZm9yZXtjb250ZW50OiJcZTYyNSJ9LnRpLW1hcmtlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjI2In0udGktYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxlNjI3In0udGktYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjI4In0udGktYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGU2MjkifS50aS1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZTYyYSJ9LnRpLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNjJiIn0udGktbG9jYXRpb24tYXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxlNjJjIn0udGktbGluazpiZWZvcmV7Y29udGVudDoiXGU2MmQifS50aS1sYXlvdXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjJlIn0udGktbGF5ZXJzOmJlZm9yZXtjb250ZW50OiJcZTYyZiJ9LnRpLWxheWVycy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjMwIn0udGkta2V5OmJlZm9yZXtjb250ZW50OiJcZTYzMSJ9LnRpLWltcG9ydDpiZWZvcmV7Y29udGVudDoiXGU2MzIifS50aS1pbWFnZTpiZWZvcmV7Y29udGVudDoiXGU2MzMifS50aS1oZWFydDpiZWZvcmV7Y29udGVudDoiXGU2MzQifS50aS1oZWFydC1icm9rZW46YmVmb3Jle2NvbnRlbnQ6IlxlNjM1In0udGktaGFuZC1zdG9wOmJlZm9yZXtjb250ZW50OiJcZTYzNiJ9LnRpLWhhbmQtb3BlbjpiZWZvcmV7Y29udGVudDoiXGU2MzcifS50aS1oYW5kLWRyYWc6YmVmb3Jle2NvbnRlbnQ6IlxlNjM4In0udGktZm9sZGVyOmJlZm9yZXtjb250ZW50OiJcZTYzOSJ9LnRpLWZsYWc6YmVmb3Jle2NvbnRlbnQ6IlxlNjNhIn0udGktZmxhZy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjNiIn0udGktZmxhZy1hbHQtMjpiZWZvcmV7Y29udGVudDoiXGU2M2MifS50aS1leWU6YmVmb3Jle2NvbnRlbnQ6IlxlNjNkIn0udGktZXhwb3J0OmJlZm9yZXtjb250ZW50OiJcZTYzZSJ9LnRpLWV4Y2hhbmdlLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZTYzZiJ9LnRpLWRlc2t0b3A6YmVmb3Jle2NvbnRlbnQ6IlxlNjQwIn0udGktY3VwOmJlZm9yZXtjb250ZW50OiJcZTY0MSJ9LnRpLWNyb3duOmJlZm9yZXtjb250ZW50OiJcZTY0MiJ9LnRpLWNvbW1lbnRzOmJlZm9yZXtjb250ZW50OiJcZTY0MyJ9LnRpLWNvbW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjQ0In0udGktY29tbWVudC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjQ1In0udGktY2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlNjQ2In0udGktY2xpcDpiZWZvcmV7Y29udGVudDoiXGU2NDcifS50aS1hbmdsZS11cDpiZWZvcmV7Y29udGVudDoiXGU2NDgifS50aS1hbmdsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGU2NDkifS50aS1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTY0YSJ9LnRpLWFuZ2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlNjRiIn0udGktY2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNjRjIn0udGktY2hlY2stYm94OmJlZm9yZXtjb250ZW50OiJcZTY0ZCJ9LnRpLWNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGU2NGUifS50aS1hbm5vdW5jZW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjRmIn0udGktYnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxlNjUwIn0udGktYnJpZWZjYXNlOmJlZm9yZXtjb250ZW50OiJcZTY1MSJ9LnRpLWJvbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjUyIn0udGktYm9sdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjUzIn0udGktYmxhY2tib2FyZDpiZWZvcmV7Y29udGVudDoiXGU2NTQifS50aS1iYWc6YmVmb3Jle2NvbnRlbnQ6IlxlNjU1In0udGktbW92ZTpiZWZvcmV7Y29udGVudDoiXGU2NTYifS50aS1hcnJvd3MtdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxlNjU3In0udGktYXJyb3dzLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxlNjU4In0udGktZnVsbHNjcmVlbjpiZWZvcmV7Y29udGVudDoiXGU2NTkifS50aS1hcnJvdy10b3AtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjVhIn0udGktYXJyb3ctdG9wLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjViIn0udGktYXJyb3ctY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZTY1YyJ9LnRpLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGU2NWQifS50aS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGU2NWUifS50aS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGU2NWYifS50aS1hbmdsZS1kb3VibGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlNjYwIn0udGktYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTY2MSJ9LnRpLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTY2MiJ9LnRpLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZTY2MyJ9LnRpLXppcDpiZWZvcmV7Y29udGVudDoiXGU2NjQifS50aS13b3JsZDpiZWZvcmV7Y29udGVudDoiXGU2NjUifS50aS13aGVlbGNoYWlyOmJlZm9yZXtjb250ZW50OiJcZTY2NiJ9LnRpLXZpZXctbGlzdDpiZWZvcmV7Y29udGVudDoiXGU2NjcifS50aS12aWV3LWxpc3QtYWx0OmJlZm9yZXtjb250ZW50OiJcZTY2OCJ9LnRpLXZpZXctZ3JpZDpiZWZvcmV7Y29udGVudDoiXGU2NjkifS50aS11cHBlcmNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxlNjZhIn0udGktdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZTY2YiJ9LnRpLXVuZGVybGluZTpiZWZvcmV7Y29udGVudDoiXGU2NmMifS50aS10cnVjazpiZWZvcmV7Y29udGVudDoiXGU2NmQifS50aS10aW1lcjpiZWZvcmV7Y29udGVudDoiXGU2NmUifS50aS10aWNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjZmIn0udGktdGh1bWItdXA6YmVmb3Jle2NvbnRlbnQ6IlxlNjcwIn0udGktdGh1bWItZG93bjpiZWZvcmV7Y29udGVudDoiXGU2NzEifS50aS10ZXh0OmJlZm9yZXtjb250ZW50OiJcZTY3MiJ9LnRpLXN0YXRzLXVwOmJlZm9yZXtjb250ZW50OiJcZTY3MyJ9LnRpLXN0YXRzLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlNjc0In0udGktc3BsaXQtdjpiZWZvcmV7Y29udGVudDoiXGU2NzUifS50aS1zcGxpdC1oOmJlZm9yZXtjb250ZW50OiJcZTY3NiJ9LnRpLXNtYWxsY2FwOmJlZm9yZXtjb250ZW50OiJcZTY3NyJ9LnRpLXNoaW5lOmJlZm9yZXtjb250ZW50OiJcZTY3OCJ9LnRpLXNoaWZ0LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTY3OSJ9LnRpLXNoaWZ0LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjdhIn0udGktc2hpZWxkOmJlZm9yZXtjb250ZW50OiJcZTY3YiJ9LnRpLW5vdGVwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjdjIn0udGktc2VydmVyOmJlZm9yZXtjb250ZW50OiJcZTY3ZCJ9LnRpLXF1b3RlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTY3ZSJ9LnRpLXF1b3RlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjdmIn0udGktcHVsc2U6YmVmb3Jle2NvbnRlbnQ6IlxlNjgwIn0udGktcHJpbnRlcjpiZWZvcmV7Y29udGVudDoiXGU2ODEifS50aS1wb3dlci1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlNjgyIn0udGktcGx1ZzpiZWZvcmV7Y29udGVudDoiXGU2ODMifS50aS1waWUtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjg0In0udGktcGFyYWdyYXBoOmJlZm9yZXtjb250ZW50OiJcZTY4NSJ9LnRpLXBhbmVsOmJlZm9yZXtjb250ZW50OiJcZTY4NiJ9LnRpLXBhY2thZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlNjg3In0udGktbXVzaWM6YmVmb3Jle2NvbnRlbnQ6IlxlNjg4In0udGktbXVzaWMtYWx0OmJlZm9yZXtjb250ZW50OiJcZTY4OSJ9LnRpLW1vdXNlOmJlZm9yZXtjb250ZW50OiJcZTY4YSJ9LnRpLW1vdXNlLWFsdDpiZWZvcmV7Y29udGVudDoiXGU2OGIifS50aS1tb25leTpiZWZvcmV7Y29udGVudDoiXGU2OGMifS50aS1taWNyb3Bob25lOmJlZm9yZXtjb250ZW50OiJcZTY4ZCJ9LnRpLW1lbnU6YmVmb3Jle2NvbnRlbnQ6IlxlNjhlIn0udGktbWVudS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjhmIn0udGktbWFwOmJlZm9yZXtjb250ZW50OiJcZTY5MCJ9LnRpLW1hcC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjkxIn0udGktbG9vcDpiZWZvcmV7Y29udGVudDoiXGU2OTIifS50aS1sb2NhdGlvbi1waW46YmVmb3Jle2NvbnRlbnQ6IlxlNjkzIn0udGktbGlzdDpiZWZvcmV7Y29udGVudDoiXGU2OTQifS50aS1saWdodC1idWxiOmJlZm9yZXtjb250ZW50OiJcZTY5NSJ9LnRpLUl0YWxpYzpiZWZvcmV7Y29udGVudDoiXGU2OTYifS50aS1pbmZvOmJlZm9yZXtjb250ZW50OiJcZTY5NyJ9LnRpLWluZmluaXRlOmJlZm9yZXtjb250ZW50OiJcZTY5OCJ9LnRpLWlkLWJhZGdlOmJlZm9yZXtjb250ZW50OiJcZTY5OSJ9LnRpLWh1bW1lcjpiZWZvcmV7Y29udGVudDoiXGU2OWEifS50aS1ob21lOmJlZm9yZXtjb250ZW50OiJcZTY5YiJ9LnRpLWhlbHA6YmVmb3Jle2NvbnRlbnQ6IlxlNjljIn0udGktaGVhZHBob25lOmJlZm9yZXtjb250ZW50OiJcZTY5ZCJ9LnRpLWhhcmRkcml2ZXM6YmVmb3Jle2NvbnRlbnQ6IlxlNjllIn0udGktaGFyZGRyaXZlOmJlZm9yZXtjb250ZW50OiJcZTY5ZiJ9LnRpLWdpZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmEwIn0udGktZ2FtZTpiZWZvcmV7Y29udGVudDoiXGU2YTEifS50aS1maWx0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNmEyIn0udGktZmlsZXM6YmVmb3Jle2NvbnRlbnQ6IlxlNmEzIn0udGktZmlsZTpiZWZvcmV7Y29udGVudDoiXGU2YTQifS50aS1lcmFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNmE1In0udGktZW52ZWxvcGU6YmVmb3Jle2NvbnRlbnQ6IlxlNmE2In0udGktZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmE3In0udGktZGlyZWN0aW9uOmJlZm9yZXtjb250ZW50OiJcZTZhOCJ9LnRpLWRpcmVjdGlvbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmE5In0udGktZGFzaGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZTZhYSJ9LnRpLWNvbnRyb2wtc3RvcDpiZWZvcmV7Y29udGVudDoiXGU2YWIifS50aS1jb250cm9sLXNodWZmbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNmFjIn0udGktY29udHJvbC1wbGF5OmJlZm9yZXtjb250ZW50OiJcZTZhZCJ9LnRpLWNvbnRyb2wtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxlNmFlIn0udGktY29udHJvbC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZTZhZiJ9LnRpLWNvbnRyb2wtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmIwIn0udGktY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmIxIn0udGktY2xvdWQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlNmIyIn0udGktY2xvdWQtZG93bjpiZWZvcmV7Y29udGVudDoiXGU2YjMifS50aS1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmI0In0udGktY2FyOmJlZm9yZXtjb250ZW50OiJcZTZiNSJ9LnRpLWNhbGVuZGFyOmJlZm9yZXtjb250ZW50OiJcZTZiNiJ9LnRpLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxlNmI3In0udGktYmVsbDpiZWZvcmV7Y29udGVudDoiXGU2YjgifS50aS1iYXNrZXRiYWxsOmJlZm9yZXtjb250ZW50OiJcZTZiOSJ9LnRpLWJhci1jaGFydDpiZWZvcmV7Y29udGVudDoiXGU2YmEifS50aS1iYXItY2hhcnQtYWx0OmJlZm9yZXtjb250ZW50OiJcZTZiYiJ9LnRpLWJhY2stcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmJjIn0udGktYmFjay1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTZiZCJ9LnRpLWFycm93cy1jb3JuZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNmJlIn0udGktYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGU2YmYifS50aS1hbmNob3I6YmVmb3Jle2NvbnRlbnQ6IlxlNmMwIn0udGktYWxpZ24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmMxIn0udGktYWxpZ24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGU2YzIifS50aS1hbGlnbi1qdXN0aWZ5OmJlZm9yZXtjb250ZW50OiJcZTZjMyJ9LnRpLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGU2YzQifS50aS1hbGVydDpiZWZvcmV7Y29udGVudDoiXGU2YzUifS50aS1hbGFybS1jbG9jazpiZWZvcmV7Y29udGVudDoiXGU2YzYifS50aS1hZ2VuZGE6YmVmb3Jle2NvbnRlbnQ6IlxlNmM3In0udGktd3JpdGU6YmVmb3Jle2NvbnRlbnQ6IlxlNmM4In0udGktd2luZG93OmJlZm9yZXtjb250ZW50OiJcZTZjOSJ9LnRpLXdpZGdldGl6ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmNhIn0udGktd2lkZ2V0OmJlZm9yZXtjb250ZW50OiJcZTZjYiJ9LnRpLXdpZGdldC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmNjIn0udGktd2FsbGV0OmJlZm9yZXtjb250ZW50OiJcZTZjZCJ9LnRpLXZpZGVvLWNsYXBwZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNmNlIn0udGktdmlkZW8tY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZTZjZiJ9LnRpLXZlY3RvcjpiZWZvcmV7Y29udGVudDoiXGU2ZDAifS50aS10aGVtaWZ5LWxvZ286YmVmb3Jle2NvbnRlbnQ6IlxlNmQxIn0udGktdGhlbWlmeS1mYXZpY29uOmJlZm9yZXtjb250ZW50OiJcZTZkMiJ9LnRpLXRoZW1pZnktZmF2aWNvbi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmQzIn0udGktc3VwcG9ydDpiZWZvcmV7Y29udGVudDoiXGU2ZDQifS50aS1zdGFtcDpiZWZvcmV7Y29udGVudDoiXGU2ZDUifS50aS1zcGxpdC12LWFsdDpiZWZvcmV7Y29udGVudDoiXGU2ZDYifS50aS1zbGljZTpiZWZvcmV7Y29udGVudDoiXGU2ZDcifS50aS1zaG9ydGNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxlNmQ4In0udGktc2hpZnQtcmlnaHQtYWx0OmJlZm9yZXtjb250ZW50OiJcZTZkOSJ9LnRpLXNoaWZ0LWxlZnQtYWx0OmJlZm9yZXtjb250ZW50OiJcZTZkYSJ9LnRpLXJ1bGVyLWFsdC0yOmJlZm9yZXtjb250ZW50OiJcZTZkYiJ9LnRpLXJlY2VpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmRjIn0udGktcGluMjpiZWZvcmV7Y29udGVudDoiXGU2ZGQifS50aS1waW4tYWx0OmJlZm9yZXtjb250ZW50OiJcZTZkZSJ9LnRpLXBlbmNpbC1hbHQyOmJlZm9yZXtjb250ZW50OiJcZTZkZiJ9LnRpLXBhbGV0dGU6YmVmb3Jle2NvbnRlbnQ6IlxlNmUwIn0udGktbW9yZTpiZWZvcmV7Y29udGVudDoiXGU2ZTEifS50aS1tb3JlLWFsdDpiZWZvcmV7Y29udGVudDoiXGU2ZTIifS50aS1taWNyb3Bob25lLWFsdDpiZWZvcmV7Y29udGVudDoiXGU2ZTMifS50aS1tYWduZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmU0In0udGktbGluZS1kb3VibGU6YmVmb3Jle2NvbnRlbnQ6IlxlNmU1In0udGktbGluZS1kb3R0ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmU2In0udGktbGluZS1kYXNoZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmU3In0udGktbGF5b3V0LXdpZHRoLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxlNmU4In0udGktbGF5b3V0LXdpZHRoLWRlZmF1bHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmU5In0udGktbGF5b3V0LXdpZHRoLWRlZmF1bHQtYWx0OmJlZm9yZXtjb250ZW50OiJcZTZlYSJ9LnRpLWxheW91dC10YWI6YmVmb3Jle2NvbnRlbnQ6IlxlNmViIn0udGktbGF5b3V0LXRhYi13aW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlNmVjIn0udGktbGF5b3V0LXRhYi12OmJlZm9yZXtjb250ZW50OiJcZTZlZCJ9LnRpLWxheW91dC10YWItbWluOmJlZm9yZXtjb250ZW50OiJcZTZlZSJ9LnRpLWxheW91dC1zbGlkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNmVmIn0udGktbGF5b3V0LXNsaWRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmYwIn0udGktbGF5b3V0LXNpZGViYXItcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmYxIn0udGktbGF5b3V0LXNpZGViYXItbm9uZTpiZWZvcmV7Y29udGVudDoiXGU2ZjIifS50aS1sYXlvdXQtc2lkZWJhci1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTZmMyJ9LnRpLWxheW91dC1wbGFjZWhvbGRlcjpiZWZvcmV7Y29udGVudDoiXGU2ZjQifS50aS1sYXlvdXQtbWVudTpiZWZvcmV7Y29udGVudDoiXGU2ZjUifS50aS1sYXlvdXQtbWVudS12OmJlZm9yZXtjb250ZW50OiJcZTZmNiJ9LnRpLWxheW91dC1tZW51LXNlcGFyYXRlZDpiZWZvcmV7Y29udGVudDoiXGU2ZjcifS50aS1sYXlvdXQtbWVudS1mdWxsOmJlZm9yZXtjb250ZW50OiJcZTZmOCJ9LnRpLWxheW91dC1tZWRpYS1yaWdodC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmY5In0udGktbGF5b3V0LW1lZGlhLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTZmYSJ9LnRpLWxheW91dC1tZWRpYS1vdmVybGF5OmJlZm9yZXtjb250ZW50OiJcZTZmYiJ9LnRpLWxheW91dC1tZWRpYS1vdmVybGF5LWFsdDpiZWZvcmV7Y29udGVudDoiXGU2ZmMifS50aS1sYXlvdXQtbWVkaWEtb3ZlcmxheS1hbHQtMjpiZWZvcmV7Y29udGVudDoiXGU2ZmQifS50aS1sYXlvdXQtbWVkaWEtbGVmdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmZlIn0udGktbGF5b3V0LW1lZGlhLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmZmIn0udGktbGF5b3V0LW1lZGlhLWNlbnRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzAwIn0udGktbGF5b3V0LW1lZGlhLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGU3MDEifS50aS1sYXlvdXQtbGlzdC10aHVtYjpiZWZvcmV7Y29udGVudDoiXGU3MDIifS50aS1sYXlvdXQtbGlzdC10aHVtYi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzAzIn0udGktbGF5b3V0LWxpc3QtcG9zdDpiZWZvcmV7Y29udGVudDoiXGU3MDQifS50aS1sYXlvdXQtbGlzdC1sYXJnZS1pbWFnZTpiZWZvcmV7Y29udGVudDoiXGU3MDUifS50aS1sYXlvdXQtbGluZS1zb2xpZDpiZWZvcmV7Y29udGVudDoiXGU3MDYifS50aS1sYXlvdXQtZ3JpZDQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzA3In0udGktbGF5b3V0LWdyaWQzOmJlZm9yZXtjb250ZW50OiJcZTcwOCJ9LnRpLWxheW91dC1ncmlkMjpiZWZvcmV7Y29udGVudDoiXGU3MDkifS50aS1sYXlvdXQtZ3JpZDItdGh1bWI6YmVmb3Jle2NvbnRlbnQ6IlxlNzBhIn0udGktbGF5b3V0LWN0YS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGU3MGIifS50aS1sYXlvdXQtY3RhLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzBjIn0udGktbGF5b3V0LWN0YS1jZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzBkIn0udGktbGF5b3V0LWN0YS1idG4tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzBlIn0udGktbGF5b3V0LWN0YS1idG4tbGVmdDpiZWZvcmV7Y29udGVudDoiXGU3MGYifS50aS1sYXlvdXQtY29sdW1uNDpiZWZvcmV7Y29udGVudDoiXGU3MTAifS50aS1sYXlvdXQtY29sdW1uMzpiZWZvcmV7Y29udGVudDoiXGU3MTEifS50aS1sYXlvdXQtY29sdW1uMjpiZWZvcmV7Y29udGVudDoiXGU3MTIifS50aS1sYXlvdXQtYWNjb3JkaW9uLXNlcGFyYXRlZDpiZWZvcmV7Y29udGVudDoiXGU3MTMifS50aS1sYXlvdXQtYWNjb3JkaW9uLW1lcmdlZDpiZWZvcmV7Y29udGVudDoiXGU3MTQifS50aS1sYXlvdXQtYWNjb3JkaW9uLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlNzE1In0udGktaW5rLXBlbjpiZWZvcmV7Y29udGVudDoiXGU3MTYifS50aS1pbmZvLWFsdDpiZWZvcmV7Y29udGVudDoiXGU3MTcifS50aS1oZWxwLWFsdDpiZWZvcmV7Y29udGVudDoiXGU3MTgifS50aS1oZWFkcGhvbmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZTcxOSJ9LnRpLWhhbmQtcG9pbnQtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlNzFhIn0udGktaGFuZC1wb2ludC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGU3MWIifS50aS1oYW5kLXBvaW50LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzFjIn0udGktaGFuZC1wb2ludC1kb3duOmJlZm9yZXtjb250ZW50OiJcZTcxZCJ9LnRpLWdhbGxlcnk6YmVmb3Jle2NvbnRlbnQ6IlxlNzFlIn0udGktZmFjZS1zbWlsZTpiZWZvcmV7Y29udGVudDoiXGU3MWYifS50aS1mYWNlLXNhZDpiZWZvcmV7Y29udGVudDoiXGU3MjAifS50aS1jcmVkaXQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGU3MjEifS50aS1jb250cm9sLXNraXAtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGU3MjIifS50aS1jb250cm9sLXNraXAtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzIzIn0udGktY29udHJvbC1yZWNvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzI0In0udGktY29udHJvbC1lamVjdDpiZWZvcmV7Y29udGVudDoiXGU3MjUifS50aS1jb21tZW50cy1zbWlsZXk6YmVmb3Jle2NvbnRlbnQ6IlxlNzI2In0udGktYnJ1c2gtYWx0OmJlZm9yZXtjb250ZW50OiJcZTcyNyJ9LnRpLXlvdXR1YmU6YmVmb3Jle2NvbnRlbnQ6IlxlNzI4In0udGktdmltZW86YmVmb3Jle2NvbnRlbnQ6IlxlNzI5In0udGktdHdpdHRlcjpiZWZvcmV7Y29udGVudDoiXGU3MmEifS50aS10aW1lOmJlZm9yZXtjb250ZW50OiJcZTcyYiJ9LnRpLXR1bWJscjpiZWZvcmV7Y29udGVudDoiXGU3MmMifS50aS1za3lwZTpiZWZvcmV7Y29udGVudDoiXGU3MmQifS50aS1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGU3MmUifS50aS1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzJmIn0udGktcm9ja2V0OmJlZm9yZXtjb250ZW50OiJcZTczMCJ9LnRpLXBpbnRlcmVzdDpiZWZvcmV7Y29udGVudDoiXGU3MzEifS50aS1uZXctd2luZG93OmJlZm9yZXtjb250ZW50OiJcZTczMiJ9LnRpLW1pY3Jvc29mdDpiZWZvcmV7Y29udGVudDoiXGU3MzMifS50aS1saXN0LW9sOmJlZm9yZXtjb250ZW50OiJcZTczNCJ9LnRpLWxpbmtlZGluOmJlZm9yZXtjb250ZW50OiJcZTczNSJ9LnRpLWxheW91dC1zaWRlYmFyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNzM2In0udGktbGF5b3V0LWdyaWQ0LWFsdDpiZWZvcmV7Y29udGVudDoiXGU3MzcifS50aS1sYXlvdXQtZ3JpZDMtYWx0OmJlZm9yZXtjb250ZW50OiJcZTczOCJ9LnRpLWxheW91dC1ncmlkMi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzM5In0udGktbGF5b3V0LWNvbHVtbjQtYWx0OmJlZm9yZXtjb250ZW50OiJcZTczYSJ9LnRpLWxheW91dC1jb2x1bW4zLWFsdDpiZWZvcmV7Y29udGVudDoiXGU3M2IifS50aS1sYXlvdXQtY29sdW1uMi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzNjIn0udGktaW5zdGFncmFtOmJlZm9yZXtjb250ZW50OiJcZTczZCJ9LnRpLWdvb2dsZTpiZWZvcmV7Y29udGVudDoiXGU3M2UifS50aS1naXRodWI6YmVmb3Jle2NvbnRlbnQ6IlxlNzNmIn0udGktZmxpY2tyOmJlZm9yZXtjb250ZW50OiJcZTc0MCJ9LnRpLWZhY2Vib29rOmJlZm9yZXtjb250ZW50OiJcZTc0MSJ9LnRpLWRyb3Bib3g6YmVmb3Jle2NvbnRlbnQ6IlxlNzQyIn0udGktZHJpYmJibGU6YmVmb3Jle2NvbnRlbnQ6IlxlNzQzIn0udGktYXBwbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNzQ0In0udGktYW5kcm9pZDpiZWZvcmV7Y29udGVudDoiXGU3NDUifS50aS1zYXZlOmJlZm9yZXtjb250ZW50OiJcZTc0NiJ9LnRpLXNhdmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZTc0NyJ9LnRpLXlhaG9vOmJlZm9yZXtjb250ZW50OiJcZTc0OCJ9LnRpLXdvcmRwcmVzczpiZWZvcmV7Y29udGVudDoiXGU3NDkifS50aS12aW1lby1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzRhIn0udGktdHdpdHRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzRiIn0udGktdHVtYmxyLWFsdDpiZWZvcmV7Y29udGVudDoiXGU3NGMifS50aS10cmVsbG86YmVmb3Jle2NvbnRlbnQ6IlxlNzRkIn0udGktc3RhY2stb3ZlcmZsb3c6YmVmb3Jle2NvbnRlbnQ6IlxlNzRlIn0udGktc291bmRjbG91ZDpiZWZvcmV7Y29udGVudDoiXGU3NGYifS50aS1zaGFyZXRoaXM6YmVmb3Jle2NvbnRlbnQ6IlxlNzUwIn0udGktc2hhcmV0aGlzLWFsdDpiZWZvcmV7Y29udGVudDoiXGU3NTEifS50aS1yZWRkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzUyIn0udGktcGludGVyZXN0LWFsdDpiZWZvcmV7Y29udGVudDoiXGU3NTMifS50aS1taWNyb3NvZnQtYWx0OmJlZm9yZXtjb250ZW50OiJcZTc1NCJ9LnRpLWxpbnV4OmJlZm9yZXtjb250ZW50OiJcZTc1NSJ9LnRpLWpzZmlkZGxlOmJlZm9yZXtjb250ZW50OiJcZTc1NiJ9LnRpLWpvb21sYTpiZWZvcmV7Y29udGVudDoiXGU3NTcifS50aS1odG1sNTpiZWZvcmV7Y29udGVudDoiXGU3NTgifS50aS1mbGlja3ItYWx0OmJlZm9yZXtjb250ZW50OiJcZTc1OSJ9LnRpLWVtYWlsOmJlZm9yZXtjb250ZW50OiJcZTc1YSJ9LnRpLWRydXBhbDpiZWZvcmV7Y29udGVudDoiXGU3NWIifS50aS1kcm9wYm94LWFsdDpiZWZvcmV7Y29udGVudDoiXGU3NWMifS50aS1jc3MzOmJlZm9yZXtjb250ZW50OiJcZTc1ZCJ9LnRpLXJzczpiZWZvcmV7Y29udGVudDoiXGU3NWUifS50aS1yc3MtYWx0OmJlZm9yZXtjb250ZW50OiJcZTc1ZiJ9DQoNCi8qDQpTaW1wbGUgbGluZQ0KUGx1Z2luIFVSSTogaHR0cHM6Ly9zaW1wbGVsaW5laWNvbnMuZ2l0aHViLmlvLw0KKi8NCkBmb250LWZhY2V7Zm9udC1mYW1pbHk6U2ltcGxlLUxpbmUtSWNvbnM7c3JjOnVybCgiLi4vZm9udHMvU2ltcGxlLUxpbmUtSWNvbnMuZW90Iik7c3JjOnVybCgiLi4vZm9udHMvU2ltcGxlLUxpbmUtSWNvbnNkNDFkZDQxZC0uZW90I2llZml4IikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgiLi4vZm9udHMvU2ltcGxlLUxpbmUtSWNvbnMud29mZiIpIGZvcm1hdCgnd29mZicpLHVybCgiLi4vZm9udHMvU2ltcGxlLUxpbmUtSWNvbnMudHRmIikgZm9ybWF0KCd0cnVldHlwZScpLHVybCgiLi4vZm9udHMvU2ltcGxlLUxpbmUtSWNvbnMuc3ZnI1NpbXBsZS1MaW5lLUljb25zIikgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1kaXNwbGF5OnN3YXB9W2RhdGEtaWNvbl06YmVmb3Jle2ZvbnQtZmFtaWx5OlNpbXBsZS1MaW5lLUljb25zO2NvbnRlbnQ6YXR0cihkYXRhLWljb24pO3NwZWFrOm5vbmU7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtsaW5lLWhlaWdodDoxOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5pY29uLXNpbXBsZS1saW5lLWFjdGlvbi1yZWRvLC5pY29uLXNpbXBsZS1saW5lLWFjdGlvbi11bmRvLC5pY29uLXNpbXBsZS1saW5lLWFuY2hvciwuaWNvbi1zaW1wbGUtbGluZS1hcnJvdy1kb3duLC5pY29uLXNpbXBsZS1saW5lLWFycm93LWxlZnQsLmljb24tc2ltcGxlLWxpbmUtYXJyb3ctcmlnaHQsLmljb24tc2ltcGxlLWxpbmUtYXJyb3ctdXAsLmljb24tc2ltcGxlLWxpbmUtYmFkZ2UsLmljb24tc2ltcGxlLWxpbmUtYmFnLC5pY29uLXNpbXBsZS1saW5lLWJhbiwuaWNvbi1zaW1wbGUtbGluZS1iYXItY2hhcnQsLmljb24tc2ltcGxlLWxpbmUtYmFza2V0LC5pY29uLXNpbXBsZS1saW5lLWJhc2tldC1sb2FkZWQsLmljb24tc2ltcGxlLWxpbmUtYmVsbCwuaWNvbi1zaW1wbGUtbGluZS1ib29rLW9wZW4sLmljb24tc2ltcGxlLWxpbmUtYnJpZWZjYXNlLC5pY29uLXNpbXBsZS1saW5lLWJ1YmJsZSwuaWNvbi1zaW1wbGUtbGluZS1idWJibGVzLC5pY29uLXNpbXBsZS1saW5lLWJ1bGIsLmljb24tc2ltcGxlLWxpbmUtY2FsY3VsYXRvciwuaWNvbi1zaW1wbGUtbGluZS1jYWxlbmRhciwuaWNvbi1zaW1wbGUtbGluZS1jYWxsLWVuZCwuaWNvbi1zaW1wbGUtbGluZS1jYWxsLWluLC5pY29uLXNpbXBsZS1saW5lLWNhbGwtb3V0LC5pY29uLXNpbXBsZS1saW5lLWNhbWNvcmRlciwuaWNvbi1zaW1wbGUtbGluZS1jYW1lcmEsLmljb24tc2ltcGxlLWxpbmUtY2hlY2ssLmljb24tc2ltcGxlLWxpbmUtY2hlbWlzdHJ5LC5pY29uLXNpbXBsZS1saW5lLWNsb2NrLC5pY29uLXNpbXBsZS1saW5lLWNsb3NlLC5pY29uLXNpbXBsZS1saW5lLWNsb3VkLWRvd25sb2FkLC5pY29uLXNpbXBsZS1saW5lLWNsb3VkLXVwbG9hZCwuaWNvbi1zaW1wbGUtbGluZS1jb21wYXNzLC5pY29uLXNpbXBsZS1saW5lLWNvbnRyb2wtZW5kLC5pY29uLXNpbXBsZS1saW5lLWNvbnRyb2wtZm9yd2FyZCwuaWNvbi1zaW1wbGUtbGluZS1jb250cm9sLXBhdXNlLC5pY29uLXNpbXBsZS1saW5lLWNvbnRyb2wtcGxheSwuaWNvbi1zaW1wbGUtbGluZS1jb250cm9sLXJld2luZCwuaWNvbi1zaW1wbGUtbGluZS1jb250cm9sLXN0YXJ0LC5pY29uLXNpbXBsZS1saW5lLWNyZWRpdC1jYXJkLC5pY29uLXNpbXBsZS1saW5lLWNyb3AsLmljb24tc2ltcGxlLWxpbmUtY3VwLC5pY29uLXNpbXBsZS1saW5lLWN1cnNvciwuaWNvbi1zaW1wbGUtbGluZS1jdXJzb3ItbW92ZSwuaWNvbi1zaW1wbGUtbGluZS1kaWFtb25kLC5pY29uLXNpbXBsZS1saW5lLWRpcmVjdGlvbiwuaWNvbi1zaW1wbGUtbGluZS1kaXJlY3Rpb25zLC5pY29uLXNpbXBsZS1saW5lLWRpc2MsLmljb24tc2ltcGxlLWxpbmUtZGlzbGlrZSwuaWNvbi1zaW1wbGUtbGluZS1kb2MsLmljb24tc2ltcGxlLWxpbmUtZG9jcywuaWNvbi1zaW1wbGUtbGluZS1kcmF3ZXIsLmljb24tc2ltcGxlLWxpbmUtZHJvcCwuaWNvbi1zaW1wbGUtbGluZS1lYXJwaG9uZXMsLmljb24tc2ltcGxlLWxpbmUtZWFycGhvbmVzLWFsdCwuaWNvbi1zaW1wbGUtbGluZS1lbW90aWNvbi1zbWlsZSwuaWNvbi1zaW1wbGUtbGluZS1lbmVyZ3ksLmljb24tc2ltcGxlLWxpbmUtZW52ZWxvcGUsLmljb24tc2ltcGxlLWxpbmUtZW52ZWxvcGUtbGV0dGVyLC5pY29uLXNpbXBsZS1saW5lLWVudmVsb3BlLW9wZW4sLmljb24tc2ltcGxlLWxpbmUtZXF1YWxpemVyLC5pY29uLXNpbXBsZS1saW5lLWV5ZSwuaWNvbi1zaW1wbGUtbGluZS1leWVnbGFzc2VzLC5pY29uLXNpbXBsZS1saW5lLWZlZWQsLmljb24tc2ltcGxlLWxpbmUtZmlsbSwuaWNvbi1zaW1wbGUtbGluZS1maXJlLC5pY29uLXNpbXBsZS1saW5lLWZsYWcsLmljb24tc2ltcGxlLWxpbmUtZm9sZGVyLC5pY29uLXNpbXBsZS1saW5lLWZvbGRlci1hbHQsLmljb24tc2ltcGxlLWxpbmUtZnJhbWUsLmljb24tc2ltcGxlLWxpbmUtZ2FtZS1jb250cm9sbGVyLC5pY29uLXNpbXBsZS1saW5lLWdob3N0LC5pY29uLXNpbXBsZS1saW5lLWdsb2JlLC5pY29uLXNpbXBsZS1saW5lLWdsb2JlLWFsdCwuaWNvbi1zaW1wbGUtbGluZS1ncmFkdWF0aW9uLC5pY29uLXNpbXBsZS1saW5lLWdyYXBoLC5pY29uLXNpbXBsZS1saW5lLWdyaWQsLmljb24tc2ltcGxlLWxpbmUtaGFuZGJhZywuaWNvbi1zaW1wbGUtbGluZS1oZWFydCwuaWNvbi1zaW1wbGUtbGluZS1ob21lLC5pY29uLXNpbXBsZS1saW5lLWhvdXJnbGFzcywuaWNvbi1zaW1wbGUtbGluZS1pbmZvLC5pY29uLXNpbXBsZS1saW5lLWtleSwuaWNvbi1zaW1wbGUtbGluZS1sYXllcnMsLmljb24tc2ltcGxlLWxpbmUtbGlrZSwuaWNvbi1zaW1wbGUtbGluZS1saW5rLC5pY29uLXNpbXBsZS1saW5lLWxpc3QsLmljb24tc2ltcGxlLWxpbmUtbG9jaywuaWNvbi1zaW1wbGUtbGluZS1sb2NrLW9wZW4sLmljb24tc2ltcGxlLWxpbmUtbG9naW4sLmljb24tc2ltcGxlLWxpbmUtbG9nb3V0LC5pY29uLXNpbXBsZS1saW5lLWxvb3AsLmljb24tc2ltcGxlLWxpbmUtbWFnaWMtd2FuZCwuaWNvbi1zaW1wbGUtbGluZS1tYWduZXQsLmljb24tc2ltcGxlLWxpbmUtbWFnbmlmaWVyLC5pY29uLXNpbXBsZS1saW5lLW1hZ25pZmllci1hZGQsLmljb24tc2ltcGxlLWxpbmUtbWFnbmlmaWVyLXJlbW92ZSwuaWNvbi1zaW1wbGUtbGluZS1tYXAsLmljb24tc2ltcGxlLWxpbmUtbWljcm9waG9uZSwuaWNvbi1zaW1wbGUtbGluZS1tb3VzZSwuaWNvbi1zaW1wbGUtbGluZS1tb3VzdGFjaGUsLmljb24tc2ltcGxlLWxpbmUtbXVzaWMtdG9uZSwuaWNvbi1zaW1wbGUtbGluZS1tdXNpYy10b25lLWFsdCwuaWNvbi1zaW1wbGUtbGluZS1ub3RlLC5pY29uLXNpbXBsZS1saW5lLW5vdGVib29rLC5pY29uLXNpbXBsZS1saW5lLXBhcGVyLWNsaXAsLmljb24tc2ltcGxlLWxpbmUtcGFwZXItcGxhbmUsLmljb24tc2ltcGxlLWxpbmUtcGVuY2lsLC5pY29uLXNpbXBsZS1saW5lLXBpY3R1cmUsLmljb24tc2ltcGxlLWxpbmUtcGllLWNoYXJ0LC5pY29uLXNpbXBsZS1saW5lLXBpbiwuaWNvbi1zaW1wbGUtbGluZS1wbGFuZSwuaWNvbi1zaW1wbGUtbGluZS1wbGF5bGlzdCwuaWNvbi1zaW1wbGUtbGluZS1wbHVzLC5pY29uLXNpbXBsZS1saW5lLXBvaW50ZXIsLmljb24tc2ltcGxlLWxpbmUtcG93ZXIsLmljb24tc2ltcGxlLWxpbmUtcHJlc2VudCwuaWNvbi1zaW1wbGUtbGluZS1wcmludGVyLC5pY29uLXNpbXBsZS1saW5lLXB1enpsZSwuaWNvbi1zaW1wbGUtbGluZS1xdWVzdGlvbiwuaWNvbi1zaW1wbGUtbGluZS1yZWZyZXNoLC5pY29uLXNpbXBsZS1saW5lLXJlbG9hZCwuaWNvbi1zaW1wbGUtbGluZS1yb2NrZXQsLmljb24tc2ltcGxlLWxpbmUtc2NyZWVuLWRlc2t0b3AsLmljb24tc2ltcGxlLWxpbmUtc2NyZWVuLXNtYXJ0cGhvbmUsLmljb24tc2ltcGxlLWxpbmUtc2NyZWVuLXRhYmxldCwuaWNvbi1zaW1wbGUtbGluZS1zZXR0aW5ncywuaWNvbi1zaW1wbGUtbGluZS1zaGFyZSwuaWNvbi1zaW1wbGUtbGluZS1zaGFyZS1hbHQsLmljb24tc2ltcGxlLWxpbmUtc2hpZWxkLC5pY29uLXNpbXBsZS1saW5lLXNodWZmbGUsLmljb24tc2ltcGxlLWxpbmUtc2l6ZS1hY3R1YWwsLmljb24tc2ltcGxlLWxpbmUtc2l6ZS1mdWxsc2NyZWVuLC5pY29uLXNpbXBsZS1saW5lLXNvY2lhbC1kcmliYmJsZSwuaWNvbi1zaW1wbGUtbGluZS1zb2NpYWwtZHJvcGJveCwuaWNvbi1zaW1wbGUtbGluZS1zb2NpYWwtZmFjZWJvb2ssLmljb24tc2ltcGxlLWxpbmUtc29jaWFsLXR1bWJsciwuaWNvbi1zaW1wbGUtbGluZS1zb2NpYWwtdHdpdHRlciwuaWNvbi1zaW1wbGUtbGluZS1zb2NpYWwteW91dHViZSwuaWNvbi1zaW1wbGUtbGluZS1zcGVlY2gsLmljb24tc2ltcGxlLWxpbmUtc3BlZWRvbWV0ZXIsLmljb24tc2ltcGxlLWxpbmUtc3RhciwuaWNvbi1zaW1wbGUtbGluZS1zdXBwb3J0LC5pY29uLXNpbXBsZS1saW5lLXN5bWJvbC1mZW1hbGUsLmljb24tc2ltcGxlLWxpbmUtc3ltYm9sLW1hbGUsLmljb24tc2ltcGxlLWxpbmUtdGFnLC5pY29uLXNpbXBsZS1saW5lLXRhcmdldCwuaWNvbi1zaW1wbGUtbGluZS10cmFzaCwuaWNvbi1zaW1wbGUtbGluZS10cm9waHksLmljb24tc2ltcGxlLWxpbmUtdW1icmVsbGEsLmljb24tc2ltcGxlLWxpbmUtdXNlciwuaWNvbi1zaW1wbGUtbGluZS11c2VyLWZlbWFsZSwuaWNvbi1zaW1wbGUtbGluZS11c2VyLWZvbGxvdywuaWNvbi1zaW1wbGUtbGluZS11c2VyLWZvbGxvd2luZywuaWNvbi1zaW1wbGUtbGluZS11c2VyLXVuZm9sbG93LC5pY29uLXNpbXBsZS1saW5lLXVzZXJzLC5pY29uLXNpbXBsZS1saW5lLXZlY3RvciwuaWNvbi1zaW1wbGUtbGluZS12b2x1bWUtMSwuaWNvbi1zaW1wbGUtbGluZS12b2x1bWUtMiwuaWNvbi1zaW1wbGUtbGluZS12b2x1bWUtb2ZmLC5pY29uLXNpbXBsZS1saW5lLXdhbGxldCwuaWNvbi1zaW1wbGUtbGluZS13cmVuY2h7Zm9udC1mYW1pbHk6U2ltcGxlLUxpbmUtSWNvbnM7c3BlYWs6bm9uZTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2xpbmUtaGVpZ2h0OjE7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH0uaWNvbi1zaW1wbGUtbGluZS11c2VyLWZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGUwMDAifS5pY29uLXNpbXBsZS1saW5lLXVzZXItZm9sbG93OmJlZm9yZXtjb250ZW50OiJcZTAwMiJ9Lmljb24tc2ltcGxlLWxpbmUtdXNlci1mb2xsb3dpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlMDAzIn0uaWNvbi1zaW1wbGUtbGluZS11c2VyLXVuZm9sbG93OmJlZm9yZXtjb250ZW50OiJcZTAwNCJ9Lmljb24tc2ltcGxlLWxpbmUtdHJvcGh5OmJlZm9yZXtjb250ZW50OiJcZTAwNiJ9Lmljb24tc2ltcGxlLWxpbmUtc2NyZWVuLXNtYXJ0cGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDEwIn0uaWNvbi1zaW1wbGUtbGluZS1zY3JlZW4tZGVza3RvcDpiZWZvcmV7Y29udGVudDoiXGUwMTEifS5pY29uLXNpbXBsZS1saW5lLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZTAxMiJ9Lmljb24tc2ltcGxlLWxpbmUtbm90ZWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDEzIn0uaWNvbi1zaW1wbGUtbGluZS1tb3VzdGFjaGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDE0In0uaWNvbi1zaW1wbGUtbGluZS1tb3VzZTpiZWZvcmV7Y29udGVudDoiXGUwMTUifS5pY29uLXNpbXBsZS1saW5lLW1hZ25ldDpiZWZvcmV7Y29udGVudDoiXGUwMTYifS5pY29uLXNpbXBsZS1saW5lLWVuZXJneTpiZWZvcmV7Y29udGVudDoiXGUwMjAifS5pY29uLXNpbXBsZS1saW5lLWVtb3RpY29uLXNtaWxlOmJlZm9yZXtjb250ZW50OiJcZTAyMSJ9Lmljb24tc2ltcGxlLWxpbmUtZGlzYzpiZWZvcmV7Y29udGVudDoiXGUwMjIifS5pY29uLXNpbXBsZS1saW5lLWN1cnNvci1tb3ZlOmJlZm9yZXtjb250ZW50OiJcZTAyMyJ9Lmljb24tc2ltcGxlLWxpbmUtY3JvcDpiZWZvcmV7Y29udGVudDoiXGUwMjQifS5pY29uLXNpbXBsZS1saW5lLWNyZWRpdC1jYXJkOmJlZm9yZXtjb250ZW50OiJcZTAyNSJ9Lmljb24tc2ltcGxlLWxpbmUtY2hlbWlzdHJ5OmJlZm9yZXtjb250ZW50OiJcZTAyNiJ9Lmljb24tc2ltcGxlLWxpbmUtdXNlcjpiZWZvcmV7Y29udGVudDoiXGUwMDUifS5pY29uLXNpbXBsZS1saW5lLXNwZWVkb21ldGVyOmJlZm9yZXtjb250ZW50OiJcZTAwNyJ9Lmljb24tc2ltcGxlLWxpbmUtc29jaWFsLXlvdXR1YmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDA4In0uaWNvbi1zaW1wbGUtbGluZS1zb2NpYWwtdHdpdHRlcjpiZWZvcmV7Y29udGVudDoiXGUwMDkifS5pY29uLXNpbXBsZS1saW5lLXNvY2lhbC10dW1ibHI6YmVmb3Jle2NvbnRlbnQ6IlxlMDBhIn0uaWNvbi1zaW1wbGUtbGluZS1zb2NpYWwtZmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDBiIn0uaWNvbi1zaW1wbGUtbGluZS1zb2NpYWwtZHJvcGJveDpiZWZvcmV7Y29udGVudDoiXGUwMGMifS5pY29uLXNpbXBsZS1saW5lLXNvY2lhbC1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGUwMGQifS5pY29uLXNpbXBsZS1saW5lLXNoaWVsZDpiZWZvcmV7Y29udGVudDoiXGUwMGUifS5pY29uLXNpbXBsZS1saW5lLXNjcmVlbi10YWJsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDBmIn0uaWNvbi1zaW1wbGUtbGluZS1tYWdpYy13YW5kOmJlZm9yZXtjb250ZW50OiJcZTAxNyJ9Lmljb24tc2ltcGxlLWxpbmUtaG91cmdsYXNzOmJlZm9yZXtjb250ZW50OiJcZTAxOCJ9Lmljb24tc2ltcGxlLWxpbmUtZ3JhZHVhdGlvbjpiZWZvcmV7Y29udGVudDoiXGUwMTkifS5pY29uLXNpbXBsZS1saW5lLWdob3N0OmJlZm9yZXtjb250ZW50OiJcZTAxYSJ9Lmljb24tc2ltcGxlLWxpbmUtZ2FtZS1jb250cm9sbGVyOmJlZm9yZXtjb250ZW50OiJcZTAxYiJ9Lmljb24tc2ltcGxlLWxpbmUtZmlyZTpiZWZvcmV7Y29udGVudDoiXGUwMWMifS5pY29uLXNpbXBsZS1saW5lLWV5ZWdsYXNzZXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDFkIn0uaWNvbi1zaW1wbGUtbGluZS1lbnZlbG9wZS1vcGVuOmJlZm9yZXtjb250ZW50OiJcZTAxZSJ9Lmljb24tc2ltcGxlLWxpbmUtZW52ZWxvcGUtbGV0dGVyOmJlZm9yZXtjb250ZW50OiJcZTAxZiJ9Lmljb24tc2ltcGxlLWxpbmUtYmVsbDpiZWZvcmV7Y29udGVudDoiXGUwMjcifS5pY29uLXNpbXBsZS1saW5lLWJhZGdlOmJlZm9yZXtjb250ZW50OiJcZTAyOCJ9Lmljb24tc2ltcGxlLWxpbmUtYW5jaG9yOmJlZm9yZXtjb250ZW50OiJcZTAyOSJ9Lmljb24tc2ltcGxlLWxpbmUtd2FsbGV0OmJlZm9yZXtjb250ZW50OiJcZTAyYSJ9Lmljb24tc2ltcGxlLWxpbmUtdmVjdG9yOmJlZm9yZXtjb250ZW50OiJcZTAyYiJ9Lmljb24tc2ltcGxlLWxpbmUtc3BlZWNoOmJlZm9yZXtjb250ZW50OiJcZTAyYyJ9Lmljb24tc2ltcGxlLWxpbmUtcHV6emxlOmJlZm9yZXtjb250ZW50OiJcZTAyZCJ9Lmljb24tc2ltcGxlLWxpbmUtcHJpbnRlcjpiZWZvcmV7Y29udGVudDoiXGUwMmUifS5pY29uLXNpbXBsZS1saW5lLXByZXNlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDJmIn0uaWNvbi1zaW1wbGUtbGluZS1wbGF5bGlzdDpiZWZvcmV7Y29udGVudDoiXGUwMzAifS5pY29uLXNpbXBsZS1saW5lLXBpbjpiZWZvcmV7Y29udGVudDoiXGUwMzEifS5pY29uLXNpbXBsZS1saW5lLXBpY3R1cmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDMyIn0uaWNvbi1zaW1wbGUtbGluZS1tYXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDMzIn0uaWNvbi1zaW1wbGUtbGluZS1sYXllcnM6YmVmb3Jle2NvbnRlbnQ6IlxlMDM0In0uaWNvbi1zaW1wbGUtbGluZS1oYW5kYmFnOmJlZm9yZXtjb250ZW50OiJcZTAzNSJ9Lmljb24tc2ltcGxlLWxpbmUtZ2xvYmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZTAzNiJ9Lmljb24tc2ltcGxlLWxpbmUtZ2xvYmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDM3In0uaWNvbi1zaW1wbGUtbGluZS1mcmFtZTpiZWZvcmV7Y29udGVudDoiXGUwMzgifS5pY29uLXNpbXBsZS1saW5lLWZvbGRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDM5In0uaWNvbi1zaW1wbGUtbGluZS1maWxtOmJlZm9yZXtjb250ZW50OiJcZTAzYSJ9Lmljb24tc2ltcGxlLWxpbmUtZmVlZDpiZWZvcmV7Y29udGVudDoiXGUwM2IifS5pY29uLXNpbXBsZS1saW5lLWVhcnBob25lcy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDNjIn0uaWNvbi1zaW1wbGUtbGluZS1lYXJwaG9uZXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDNkIn0uaWNvbi1zaW1wbGUtbGluZS1kcm9wOmJlZm9yZXtjb250ZW50OiJcZTAzZSJ9Lmljb24tc2ltcGxlLWxpbmUtZHJhd2VyOmJlZm9yZXtjb250ZW50OiJcZTAzZiJ9Lmljb24tc2ltcGxlLWxpbmUtZG9jczpiZWZvcmV7Y29udGVudDoiXGUwNDAifS5pY29uLXNpbXBsZS1saW5lLWRpcmVjdGlvbnM6YmVmb3Jle2NvbnRlbnQ6IlxlMDQxIn0uaWNvbi1zaW1wbGUtbGluZS1kaXJlY3Rpb246YmVmb3Jle2NvbnRlbnQ6IlxlMDQyIn0uaWNvbi1zaW1wbGUtbGluZS1kaWFtb25kOmJlZm9yZXtjb250ZW50OiJcZTA0MyJ9Lmljb24tc2ltcGxlLWxpbmUtY3VwOmJlZm9yZXtjb250ZW50OiJcZTA0NCJ9Lmljb24tc2ltcGxlLWxpbmUtY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGUwNDUifS5pY29uLXNpbXBsZS1saW5lLWNhbGwtb3V0OmJlZm9yZXtjb250ZW50OiJcZTA0NiJ9Lmljb24tc2ltcGxlLWxpbmUtY2FsbC1pbjpiZWZvcmV7Y29udGVudDoiXGUwNDcifS5pY29uLXNpbXBsZS1saW5lLWNhbGwtZW5kOmJlZm9yZXtjb250ZW50OiJcZTA0OCJ9Lmljb24tc2ltcGxlLWxpbmUtY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDoiXGUwNDkifS5pY29uLXNpbXBsZS1saW5lLWJ1YmJsZXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDRhIn0uaWNvbi1zaW1wbGUtbGluZS1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDRiIn0uaWNvbi1zaW1wbGUtbGluZS1ib29rLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlMDRjIn0uaWNvbi1zaW1wbGUtbGluZS1iYXNrZXQtbG9hZGVkOmJlZm9yZXtjb250ZW50OiJcZTA0ZCJ9Lmljb24tc2ltcGxlLWxpbmUtYmFza2V0OmJlZm9yZXtjb250ZW50OiJcZTA0ZSJ9Lmljb24tc2ltcGxlLWxpbmUtYmFnOmJlZm9yZXtjb250ZW50OiJcZTA0ZiJ9Lmljb24tc2ltcGxlLWxpbmUtYWN0aW9uLXVuZG86YmVmb3Jle2NvbnRlbnQ6IlxlMDUwIn0uaWNvbi1zaW1wbGUtbGluZS1hY3Rpb24tcmVkbzpiZWZvcmV7Y29udGVudDoiXGUwNTEifS5pY29uLXNpbXBsZS1saW5lLXdyZW5jaDpiZWZvcmV7Y29udGVudDoiXGUwNTIifS5pY29uLXNpbXBsZS1saW5lLXVtYnJlbGxhOmJlZm9yZXtjb250ZW50OiJcZTA1MyJ9Lmljb24tc2ltcGxlLWxpbmUtdHJhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDU0In0uaWNvbi1zaW1wbGUtbGluZS10YWc6YmVmb3Jle2NvbnRlbnQ6IlxlMDU1In0uaWNvbi1zaW1wbGUtbGluZS1zdXBwb3J0OmJlZm9yZXtjb250ZW50OiJcZTA1NiJ9Lmljb24tc2ltcGxlLWxpbmUtc2l6ZS1mdWxsc2NyZWVuOmJlZm9yZXtjb250ZW50OiJcZTA1NyJ9Lmljb24tc2ltcGxlLWxpbmUtc2l6ZS1hY3R1YWw6YmVmb3Jle2NvbnRlbnQ6IlxlMDU4In0uaWNvbi1zaW1wbGUtbGluZS1zaHVmZmxlOmJlZm9yZXtjb250ZW50OiJcZTA1OSJ9Lmljb24tc2ltcGxlLWxpbmUtc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZTA1YSJ9Lmljb24tc2ltcGxlLWxpbmUtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDViIn0uaWNvbi1zaW1wbGUtbGluZS1yb2NrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDVjIn0uaWNvbi1zaW1wbGUtbGluZS1xdWVzdGlvbjpiZWZvcmV7Y29udGVudDoiXGUwNWQifS5pY29uLXNpbXBsZS1saW5lLXBpZS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGUwNWUifS5pY29uLXNpbXBsZS1saW5lLXBlbmNpbDpiZWZvcmV7Y29udGVudDoiXGUwNWYifS5pY29uLXNpbXBsZS1saW5lLW5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDYwIn0uaWNvbi1zaW1wbGUtbGluZS1tdXNpYy10b25lLWFsdDpiZWZvcmV7Y29udGVudDoiXGUwNjEifS5pY29uLXNpbXBsZS1saW5lLW11c2ljLXRvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDYyIn0uaWNvbi1zaW1wbGUtbGluZS1taWNyb3Bob25lOmJlZm9yZXtjb250ZW50OiJcZTA2MyJ9Lmljb24tc2ltcGxlLWxpbmUtbG9vcDpiZWZvcmV7Y29udGVudDoiXGUwNjQifS5pY29uLXNpbXBsZS1saW5lLWxvZ291dDpiZWZvcmV7Y29udGVudDoiXGUwNjUifS5pY29uLXNpbXBsZS1saW5lLWxvZ2luOmJlZm9yZXtjb250ZW50OiJcZTA2NiJ9Lmljb24tc2ltcGxlLWxpbmUtbGlzdDpiZWZvcmV7Y29udGVudDoiXGUwNjcifS5pY29uLXNpbXBsZS1saW5lLWxpa2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDY4In0uaWNvbi1zaW1wbGUtbGluZS1ob21lOmJlZm9yZXtjb250ZW50OiJcZTA2OSJ9Lmljb24tc2ltcGxlLWxpbmUtZ3JpZDpiZWZvcmV7Y29udGVudDoiXGUwNmEifS5pY29uLXNpbXBsZS1saW5lLWdyYXBoOmJlZm9yZXtjb250ZW50OiJcZTA2YiJ9Lmljb24tc2ltcGxlLWxpbmUtZXF1YWxpemVyOmJlZm9yZXtjb250ZW50OiJcZTA2YyJ9Lmljb24tc2ltcGxlLWxpbmUtZGlzbGlrZTpiZWZvcmV7Y29udGVudDoiXGUwNmQifS5pY29uLXNpbXBsZS1saW5lLWN1cnNvcjpiZWZvcmV7Y29udGVudDoiXGUwNmUifS5pY29uLXNpbXBsZS1saW5lLWNvbnRyb2wtc3RhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDZmIn0uaWNvbi1zaW1wbGUtbGluZS1jb250cm9sLXJld2luZDpiZWZvcmV7Y29udGVudDoiXGUwNzAifS5pY29uLXNpbXBsZS1saW5lLWNvbnRyb2wtcGxheTpiZWZvcmV7Y29udGVudDoiXGUwNzEifS5pY29uLXNpbXBsZS1saW5lLWNvbnRyb2wtcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDcyIn0uaWNvbi1zaW1wbGUtbGluZS1jb250cm9sLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDczIn0uaWNvbi1zaW1wbGUtbGluZS1jb250cm9sLWVuZDpiZWZvcmV7Y29udGVudDoiXGUwNzQifS5pY29uLXNpbXBsZS1saW5lLWNhbGVuZGFyOmJlZm9yZXtjb250ZW50OiJcZTA3NSJ9Lmljb24tc2ltcGxlLWxpbmUtYnVsYjpiZWZvcmV7Y29udGVudDoiXGUwNzYifS5pY29uLXNpbXBsZS1saW5lLWJhci1jaGFydDpiZWZvcmV7Y29udGVudDoiXGUwNzcifS5pY29uLXNpbXBsZS1saW5lLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZTA3OCJ9Lmljb24tc2ltcGxlLWxpbmUtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDc5In0uaWNvbi1zaW1wbGUtbGluZS1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTA3YSJ9Lmljb24tc2ltcGxlLWxpbmUtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGUwN2IifS5pY29uLXNpbXBsZS1saW5lLWJhbjpiZWZvcmV7Y29udGVudDoiXGUwN2MifS5pY29uLXNpbXBsZS1saW5lLWJ1YmJsZTpiZWZvcmV7Y29udGVudDoiXGUwN2QifS5pY29uLXNpbXBsZS1saW5lLWNhbWNvcmRlcjpiZWZvcmV7Y29udGVudDoiXGUwN2UifS5pY29uLXNpbXBsZS1saW5lLWNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGUwN2YifS5pY29uLXNpbXBsZS1saW5lLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZTA4MCJ9Lmljb24tc2ltcGxlLWxpbmUtY2xvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDgxIn0uaWNvbi1zaW1wbGUtbGluZS1jbG9zZTpiZWZvcmV7Y29udGVudDoiXGUwODIifS5pY29uLXNpbXBsZS1saW5lLWNsb3VkLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZTA4MyJ9Lmljb24tc2ltcGxlLWxpbmUtY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZTA4NCJ9Lmljb24tc2ltcGxlLWxpbmUtZG9jOmJlZm9yZXtjb250ZW50OiJcZTA4NSJ9Lmljb24tc2ltcGxlLWxpbmUtZW52ZWxvcGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDg2In0uaWNvbi1zaW1wbGUtbGluZS1leWU6YmVmb3Jle2NvbnRlbnQ6IlxlMDg3In0uaWNvbi1zaW1wbGUtbGluZS1mbGFnOmJlZm9yZXtjb250ZW50OiJcZTA4OCJ9Lmljb24tc2ltcGxlLWxpbmUtZm9sZGVyOmJlZm9yZXtjb250ZW50OiJcZTA4OSJ9Lmljb24tc2ltcGxlLWxpbmUtaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDhhIn0uaWNvbi1zaW1wbGUtbGluZS1pbmZvOmJlZm9yZXtjb250ZW50OiJcZTA4YiJ9Lmljb24tc2ltcGxlLWxpbmUta2V5OmJlZm9yZXtjb250ZW50OiJcZTA4YyJ9Lmljb24tc2ltcGxlLWxpbmUtbGluazpiZWZvcmV7Y29udGVudDoiXGUwOGQifS5pY29uLXNpbXBsZS1saW5lLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDhlIn0uaWNvbi1zaW1wbGUtbGluZS1sb2NrLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlMDhmIn0uaWNvbi1zaW1wbGUtbGluZS1tYWduaWZpZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDkwIn0uaWNvbi1zaW1wbGUtbGluZS1tYWduaWZpZXItYWRkOmJlZm9yZXtjb250ZW50OiJcZTA5MSJ9Lmljb24tc2ltcGxlLWxpbmUtbWFnbmlmaWVyLXJlbW92ZTpiZWZvcmV7Y29udGVudDoiXGUwOTIifS5pY29uLXNpbXBsZS1saW5lLXBhcGVyLWNsaXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDkzIn0uaWNvbi1zaW1wbGUtbGluZS1wYXBlci1wbGFuZTpiZWZvcmV7Y29udGVudDoiXGUwOTQifS5pY29uLXNpbXBsZS1saW5lLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDk1In0uaWNvbi1zaW1wbGUtbGluZS1wb2ludGVyOmJlZm9yZXtjb250ZW50OiJcZTA5NiJ9Lmljb24tc2ltcGxlLWxpbmUtcG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDk3In0uaWNvbi1zaW1wbGUtbGluZS1yZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZTA5OCJ9Lmljb24tc2ltcGxlLWxpbmUtcmVsb2FkOmJlZm9yZXtjb250ZW50OiJcZTA5OSJ9Lmljb24tc2ltcGxlLWxpbmUtc2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6IlxlMDlhIn0uaWNvbi1zaW1wbGUtbGluZS1zdGFyOmJlZm9yZXtjb250ZW50OiJcZTA5YiJ9Lmljb24tc2ltcGxlLWxpbmUtc3ltYm9sLWZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGUwOWMifS5pY29uLXNpbXBsZS1saW5lLXN5bWJvbC1tYWxlOmJlZm9yZXtjb250ZW50OiJcZTA5ZCJ9Lmljb24tc2ltcGxlLWxpbmUtdGFyZ2V0OmJlZm9yZXtjb250ZW50OiJcZTA5ZSJ9Lmljb24tc2ltcGxlLWxpbmUtdm9sdW1lLTE6YmVmb3Jle2NvbnRlbnQ6IlxlMDlmIn0uaWNvbi1zaW1wbGUtbGluZS12b2x1bWUtMjpiZWZvcmV7Y29udGVudDoiXGUwYTAifS5pY29uLXNpbXBsZS1saW5lLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlMGExIn0uaWNvbi1zaW1wbGUtbGluZS11c2VyczpiZWZvcmV7Y29udGVudDoiXGUwMDEifQ0KDQovKg0KRVQgTGluZQ0KUGx1Z2luIFVSSTogaHR0cHM6Ly9tdXNlb21peC5iZS9kb2MvSWNvbnMtRVQtTGluZUljb25zLmh0bWwNCiovDQpAZm9udC1mYWNle2ZvbnQtZmFtaWx5OmV0LWxpbmU7c3JjOnVybCgiLi4vZm9udHMvZXQtbGluZS5lb3QiKTtzcmM6dXJsKCIuLi9mb250cy9ldC1saW5lZDQxZGQ0MWQtLmVvdCNpZWZpeCIpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoIi4uL2ZvbnRzL2V0LWxpbmUud29mZiIpIGZvcm1hdCgnd29mZicpLHVybCgiLi4vZm9udHMvZXQtbGluZS50dGYiKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCIuLi9mb250cy9ldC1saW5lLnN2ZyNldC1saW5lIikgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1kaXNwbGF5OnN3YXB9W2RhdGEtaWNvbl06YmVmb3Jle2ZvbnQtZmFtaWx5OmV0LWxpbmU7Y29udGVudDphdHRyKGRhdGEtaWNvbik7c3BlYWs6bm9uZTtmb250LXdlaWdodDo0MDA7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2xpbmUtaGVpZ2h0OjE7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lmljb24tYWRqdXN0bWVudHMsLmljb24tYWxhcm1jbG9jaywuaWNvbi1hbmNob3IsLmljb24tYXBlcnR1cmUsLmljb24tYXR0YWNobWVudCwuaWNvbi1iYXJncmFwaCwuaWNvbi1iYXNrZXQsLmljb24tYmVha2VyLC5pY29uLWJpa2UsLmljb24tYm9vay1vcGVuLC5pY29uLWJyaWVmY2FzZSwuaWNvbi1icm93c2VyLC5pY29uLWNhbGVuZGFyLC5pY29uLWNhbWVyYSwuaWNvbi1jYXV0aW9uLC5pY29uLWNoYXQsLmljb24tY2lyY2xlLWNvbXBhc3MsLmljb24tY2xpcGJvYXJkLC5pY29uLWNsb2NrLC5pY29uLWNsb3VkLC5pY29uLWNvbXBhc3MsLmljb24tZGVza3RvcCwuaWNvbi1kaWFsLC5pY29uLWRvY3VtZW50LC5pY29uLWRvY3VtZW50cywuaWNvbi1kb3dubG9hZCwuaWNvbi1kcmliYmJsZSwuaWNvbi1lZGl0LC5pY29uLWVudmVsb3BlLC5pY29uLWV4cGFuZCwuaWNvbi1mYWNlYm9vaywuaWNvbi1mbGFnLC5pY29uLWZvY3VzLC5pY29uLWdlYXJzLC5pY29uLWdlbml1cywuaWNvbi1naWZ0LC5pY29uLWdsb2JhbCwuaWNvbi1nbG9iZSwuaWNvbi1nb29nbGVwbHVzLC5pY29uLWdyaWQsLmljb24taGFwcHksLmljb24taGF6YXJkb3VzLC5pY29uLWhlYXJ0LC5pY29uLWhvdGFpcmJhbGxvb24sLmljb24taG91cmdsYXNzLC5pY29uLWtleSwuaWNvbi1sYXB0b3AsLmljb24tbGF5ZXJzLC5pY29uLWxpZmVzYXZlciwuaWNvbi1saWdodGJ1bGIsLmljb24tbGluZWdyYXBoLC5pY29uLWxpbmtlZGluLC5pY29uLWxvY2ssLmljb24tbWFnbmlmeWluZy1nbGFzcywuaWNvbi1tYXAsLmljb24tbWFwLXBpbiwuaWNvbi1tZWdhcGhvbmUsLmljb24tbWljLC5pY29uLW1vYmlsZSwuaWNvbi1uZXdzcGFwZXIsLmljb24tbm90ZWJvb2ssLmljb24tcGFpbnRicnVzaCwuaWNvbi1wYXBlcmNsaXAsLmljb24tcGVuY2lsLC5pY29uLXBob25lLC5pY29uLXBpY3R1cmUsLmljb24tcGljdHVyZXMsLmljb24tcGllY2hhcnQsLmljb24tcHJlc2VudGF0aW9uLC5pY29uLXByaWNldGFncywuaWNvbi1wcmludGVyLC5pY29uLXByb2ZpbGUtZmVtYWxlLC5pY29uLXByb2ZpbGUtbWFsZSwuaWNvbi1wdXp6bGUsLmljb24tcXVvdGUsLmljb24tcmVjeWNsZSwuaWNvbi1yZWZyZXNoLC5pY29uLXJpYmJvbiwuaWNvbi1yc3MsLmljb24tc2FkLC5pY29uLXNjaXNzb3JzLC5pY29uLXNjb3BlLC5pY29uLXNlYXJjaCwuaWNvbi1zaGllbGQsLmljb24tc3BlZWRvbWV0ZXIsLmljb24tc3RyYXRlZ3ksLmljb24tc3RyZWV0c2lnbiwuaWNvbi10YWJsZXQsLmljb24tdGFyZ2V0LC5pY29uLXRlbGVzY29wZSwuaWNvbi10b29sYm94LC5pY29uLXRvb2xzLC5pY29uLXRvb2xzLTIsLmljb24tdHJvcGh5LC5pY29uLXR1bWJsciwuaWNvbi10d2l0dGVyLC5pY29uLXVwbG9hZCwuaWNvbi12aWRlbywuaWNvbi13YWxsZXQsLmljb24td2luZXtmb250LWZhbWlseTpldC1saW5lO3NwZWFrOm5vbmU7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtsaW5lLWhlaWdodDoxLjE7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lmljb24tbW9iaWxlOmJlZm9yZXtjb250ZW50OiJcZTAwMCJ9Lmljb24tbGFwdG9wOmJlZm9yZXtjb250ZW50OiJcZTAwMSJ9Lmljb24tZGVza3RvcDpiZWZvcmV7Y29udGVudDoiXGUwMDIifS5pY29uLXRhYmxldDpiZWZvcmV7Y29udGVudDoiXGUwMDMifS5pY29uLXBob25lOmJlZm9yZXtjb250ZW50OiJcZTAwNCJ9Lmljb24tZG9jdW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDA1In0uaWNvbi1kb2N1bWVudHM6YmVmb3Jle2NvbnRlbnQ6IlxlMDA2In0uaWNvbi1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDA3In0uaWNvbi1jbGlwYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDA4In0uaWNvbi1uZXdzcGFwZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDA5In0uaWNvbi1ub3RlYm9vazpiZWZvcmV7Y29udGVudDoiXGUwMGEifS5pY29uLWJvb2stb3BlbjpiZWZvcmV7Y29udGVudDoiXGUwMGIifS5pY29uLWJyb3dzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDBjIn0uaWNvbi1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDoiXGUwMGQifS5pY29uLXByZXNlbnRhdGlvbjpiZWZvcmV7Y29udGVudDoiXGUwMGUifS5pY29uLXBpY3R1cmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDBmIn0uaWNvbi1waWN0dXJlczpiZWZvcmV7Y29udGVudDoiXGUwMTAifS5pY29uLXZpZGVvOmJlZm9yZXtjb250ZW50OiJcZTAxMSJ9Lmljb24tY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZTAxMiJ9Lmljb24tcHJpbnRlcjpiZWZvcmV7Y29udGVudDoiXGUwMTMifS5pY29uLXRvb2xib3g6YmVmb3Jle2NvbnRlbnQ6IlxlMDE0In0uaWNvbi1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDE1In0uaWNvbi13YWxsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDE2In0uaWNvbi1naWZ0OmJlZm9yZXtjb250ZW50OiJcZTAxNyJ9Lmljb24tYmFyZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxlMDE4In0uaWNvbi1ncmlkOmJlZm9yZXtjb250ZW50OiJcZTAxOSJ9Lmljb24tZXhwYW5kOmJlZm9yZXtjb250ZW50OiJcZTAxYSJ9Lmljb24tZm9jdXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDFiIn0uaWNvbi1lZGl0OmJlZm9yZXtjb250ZW50OiJcZTAxYyJ9Lmljb24tYWRqdXN0bWVudHM6YmVmb3Jle2NvbnRlbnQ6IlxlMDFkIn0uaWNvbi1yaWJib246YmVmb3Jle2NvbnRlbnQ6IlxlMDFlIn0uaWNvbi1ob3VyZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlMDFmIn0uaWNvbi1sb2NrOmJlZm9yZXtjb250ZW50OiJcZTAyMCJ9Lmljb24tbWVnYXBob25lOmJlZm9yZXtjb250ZW50OiJcZTAyMSJ9Lmljb24tc2hpZWxkOmJlZm9yZXtjb250ZW50OiJcZTAyMiJ9Lmljb24tdHJvcGh5OmJlZm9yZXtjb250ZW50OiJcZTAyMyJ9Lmljb24tZmxhZzpiZWZvcmV7Y29udGVudDoiXGUwMjQifS5pY29uLW1hcDpiZWZvcmV7Y29udGVudDoiXGUwMjUifS5pY29uLXB1enpsZTpiZWZvcmV7Y29udGVudDoiXGUwMjYifS5pY29uLWJhc2tldDpiZWZvcmV7Y29udGVudDoiXGUwMjcifS5pY29uLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZTAyOCJ9Lmljb24tc3RyZWV0c2lnbjpiZWZvcmV7Y29udGVudDoiXGUwMjkifS5pY29uLXRlbGVzY29wZTpiZWZvcmV7Y29udGVudDoiXGUwMmEifS5pY29uLWdlYXJzOmJlZm9yZXtjb250ZW50OiJcZTAyYiJ9Lmljb24ta2V5OmJlZm9yZXtjb250ZW50OiJcZTAyYyJ9Lmljb24tcGFwZXJjbGlwOmJlZm9yZXtjb250ZW50OiJcZTAyZCJ9Lmljb24tYXR0YWNobWVudDpiZWZvcmV7Y29udGVudDoiXGUwMmUifS5pY29uLXByaWNldGFnczpiZWZvcmV7Y29udGVudDoiXGUwMmYifS5pY29uLWxpZ2h0YnVsYjpiZWZvcmV7Y29udGVudDoiXGUwMzAifS5pY29uLWxheWVyczpiZWZvcmV7Y29udGVudDoiXGUwMzEifS5pY29uLXBlbmNpbDpiZWZvcmV7Y29udGVudDoiXGUwMzIifS5pY29uLXRvb2xzOmJlZm9yZXtjb250ZW50OiJcZTAzMyJ9Lmljb24tdG9vbHMtMjpiZWZvcmV7Y29udGVudDoiXGUwMzQifS5pY29uLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZTAzNSJ9Lmljb24tcGFpbnRicnVzaDpiZWZvcmV7Y29udGVudDoiXGUwMzYifS5pY29uLW1hZ25pZnlpbmctZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlMDM3In0uaWNvbi1jaXJjbGUtY29tcGFzczpiZWZvcmV7Y29udGVudDoiXGUwMzgifS5pY29uLWxpbmVncmFwaDpiZWZvcmV7Y29udGVudDoiXGUwMzkifS5pY29uLW1pYzpiZWZvcmV7Y29udGVudDoiXGUwM2EifS5pY29uLXN0cmF0ZWd5OmJlZm9yZXtjb250ZW50OiJcZTAzYiJ9Lmljb24tYmVha2VyOmJlZm9yZXtjb250ZW50OiJcZTAzYyJ9Lmljb24tY2F1dGlvbjpiZWZvcmV7Y29udGVudDoiXGUwM2QifS5pY29uLXJlY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDNlIn0uaWNvbi1hbmNob3I6YmVmb3Jle2NvbnRlbnQ6IlxlMDNmIn0uaWNvbi1wcm9maWxlLW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDQwIn0uaWNvbi1wcm9maWxlLWZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGUwNDEifS5pY29uLWJpa2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDQyIn0uaWNvbi13aW5lOmJlZm9yZXtjb250ZW50OiJcZTA0MyJ9Lmljb24taG90YWlyYmFsbG9vbjpiZWZvcmV7Y29udGVudDoiXGUwNDQifS5pY29uLWdsb2JlOmJlZm9yZXtjb250ZW50OiJcZTA0NSJ9Lmljb24tZ2VuaXVzOmJlZm9yZXtjb250ZW50OiJcZTA0NiJ9Lmljb24tbWFwLXBpbjpiZWZvcmV7Y29udGVudDoiXGUwNDcifS5pY29uLWRpYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ4In0uaWNvbi1jaGF0OmJlZm9yZXtjb250ZW50OiJcZTA0OSJ9Lmljb24taGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDRhIn0uaWNvbi1jbG91ZDpiZWZvcmV7Y29udGVudDoiXGUwNGIifS5pY29uLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGUwNGMifS5pY29uLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZTA0ZCJ9Lmljb24tdGFyZ2V0OmJlZm9yZXtjb250ZW50OiJcZTA0ZSJ9Lmljb24taGF6YXJkb3VzOmJlZm9yZXtjb250ZW50OiJcZTA0ZiJ9Lmljb24tcGllY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDUwIn0uaWNvbi1zcGVlZG9tZXRlcjpiZWZvcmV7Y29udGVudDoiXGUwNTEifS5pY29uLWdsb2JhbDpiZWZvcmV7Y29udGVudDoiXGUwNTIifS5pY29uLWNvbXBhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlMDUzIn0uaWNvbi1saWZlc2F2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDU0In0uaWNvbi1jbG9jazpiZWZvcmV7Y29udGVudDoiXGUwNTUifS5pY29uLWFwZXJ0dXJlOmJlZm9yZXtjb250ZW50OiJcZTA1NiJ9Lmljb24tcXVvdGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDU3In0uaWNvbi1zY29wZTpiZWZvcmV7Y29udGVudDoiXGUwNTgifS5pY29uLWFsYXJtY2xvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDU5In0uaWNvbi1yZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZTA1YSJ9Lmljb24taGFwcHk6YmVmb3Jle2NvbnRlbnQ6IlxlMDViIn0uaWNvbi1zYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDVjIn0uaWNvbi1mYWNlYm9vazpiZWZvcmV7Y29udGVudDoiXGUwNWQifS5pY29uLXR3aXR0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDVlIn0uaWNvbi1nb29nbGVwbHVzOmJlZm9yZXtjb250ZW50OiJcZTA1ZiJ9Lmljb24tcnNzOmJlZm9yZXtjb250ZW50OiJcZTA2MCJ9Lmljb24tdHVtYmxyOmJlZm9yZXtjb250ZW50OiJcZTA2MSJ9Lmljb24tbGlua2VkaW46YmVmb3Jle2NvbnRlbnQ6IlxlMDYyIn0uaWNvbi1kcmliYmJsZTpiZWZvcmV7Y29udGVudDoiXGUwNjMifQ0KDQovKg0KSWNvbnMgbWluZA0KUGx1Z2luIFVSSTogaHR0cHM6Ly9pY29uc21pbmQuY29tL3ZpZXdfaWNvbnMvDQoqLw0KQGZvbnQtZmFjZXtmb250LWZhbWlseTppY29tb29uO3NyYzp1cmwoIi4uL2ZvbnRzL2ljb21vb25jYTI3Y2EyNy0tcmRtdmdjLmVvdCIpO3NyYzp1cmwoIi4uL2ZvbnRzL2ljb21vb25kNDFkZDQxZC0uZW90I2llZml4LXJkbXZnYyIpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoIi4uL2ZvbnRzL2ljb21vb25jYTI3Y2EyNy0tcmRtdmdjLndvZmYiKSBmb3JtYXQoJ3dvZmYnKSx1cmwoIi4uL2ZvbnRzL2ljb21vb25jYTI3Y2EyNy0tcmRtdmdjLnR0ZiIpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoIi4uL2ZvbnRzL2ljb21vb25jYTI3Y2EyNy0tcmRtdmdjLnN2ZyNpY29tb29uIikgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1kaXNwbGF5OnN3YXB9W2NsYXNzKj0iIGxpbmUtaWNvbi0iXSxbY2xhc3NePWxpbmUtaWNvbi1de2ZvbnQtZmFtaWx5Omljb21vb247c3BlYWs6bm9uZTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2xpbmUtaGVpZ2h0OjE7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LmxpbmUtaWNvbi1BLVo6YmVmb3Jle2NvbnRlbnQ6IlxlNjAwIn0ubGluZS1pY29uLUFhOmJlZm9yZXtjb250ZW50OiJcZTYwMSJ9LmxpbmUtaWNvbi1BZGQtQmFnOmJlZm9yZXtjb250ZW50OiJcZTYwMiJ9LmxpbmUtaWNvbi1BZGQtQmFza2V0OmJlZm9yZXtjb250ZW50OiJcZTYwMyJ9LmxpbmUtaWNvbi1BZGQtQ2FydDpiZWZvcmV7Y29udGVudDoiXGU2MDQifS5saW5lLWljb24tQWRkLUZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjA1In0ubGluZS1pY29uLUFkZC1TcGFjZUFmdGVyUGFyYWdyYXBoOmJlZm9yZXtjb250ZW50OiJcZTYwNiJ9LmxpbmUtaWNvbi1BZGQtU3BhY2VCZWZvcmVQYXJhZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxlNjA3In0ubGluZS1pY29uLUFkZC1Vc2VyOmJlZm9yZXtjb250ZW50OiJcZTYwOCJ9LmxpbmUtaWNvbi1BZGQtVXNlclN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxlNjA5In0ubGluZS1pY29uLUFkZC1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlNjBhIn0ubGluZS1pY29uLUFkZDpiZWZvcmV7Y29udGVudDoiXGU2MGIifS5saW5lLWljb24tQWRkcmVzcy1Cb29rOmJlZm9yZXtjb250ZW50OiJcZTYwYyJ9LmxpbmUtaWNvbi1BZGRyZXNzLUJvb2syOmJlZm9yZXtjb250ZW50OiJcZTYwZCJ9LmxpbmUtaWNvbi1BZG1pbmlzdHJhdG9yOmJlZm9yZXtjb250ZW50OiJcZTYwZSJ9LmxpbmUtaWNvbi1BZXJvYmljcy0yOmJlZm9yZXtjb250ZW50OiJcZTYwZiJ9LmxpbmUtaWNvbi1BZXJvYmljcy0zOmJlZm9yZXtjb250ZW50OiJcZTYxMCJ9LmxpbmUtaWNvbi1BZXJvYmljczpiZWZvcmV7Y29udGVudDoiXGU2MTEifS5saW5lLWljb24tQWZmaWxpYXRlOmJlZm9yZXtjb250ZW50OiJcZTYxMiJ9LmxpbmUtaWNvbi1BaW06YmVmb3Jle2NvbnRlbnQ6IlxlNjEzIn0ubGluZS1pY29uLUFpci1CYWxsb29uOmJlZm9yZXtjb250ZW50OiJcZTYxNCJ9LmxpbmUtaWNvbi1BaXJicnVzaDpiZWZvcmV7Y29udGVudDoiXGU2MTUifS5saW5lLWljb24tQWlyc2hpcDpiZWZvcmV7Y29udGVudDoiXGU2MTYifS5saW5lLWljb24tQWxhcm0tQ2xvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNjE3In0ubGluZS1pY29uLUFsYXJtLUNsb2NrMjpiZWZvcmV7Y29udGVudDoiXGU2MTgifS5saW5lLWljb24tQWxhcm06YmVmb3Jle2NvbnRlbnQ6IlxlNjE5In0ubGluZS1pY29uLUFsaWVuLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNjFhIn0ubGluZS1pY29uLUFsaWVuOmJlZm9yZXtjb250ZW50OiJcZTYxYiJ9LmxpbmUtaWNvbi1BbGlnYXRvcjpiZWZvcmV7Y29udGVudDoiXGU2MWMifS5saW5lLWljb24tQWxpZ24tQ2VudGVyOmJlZm9yZXtjb250ZW50OiJcZTYxZCJ9LmxpbmUtaWNvbi1BbGlnbi1KdXN0aWZ5QWxsOmJlZm9yZXtjb250ZW50OiJcZTYxZSJ9LmxpbmUtaWNvbi1BbGlnbi1KdXN0aWZ5Q2VudGVyOmJlZm9yZXtjb250ZW50OiJcZTYxZiJ9LmxpbmUtaWNvbi1BbGlnbi1KdXN0aWZ5TGVmdDpiZWZvcmV7Y29udGVudDoiXGU2MjAifS5saW5lLWljb24tQWxpZ24tSnVzdGlmeVJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTYyMSJ9LmxpbmUtaWNvbi1BbGlnbi1MZWZ0OmJlZm9yZXtjb250ZW50OiJcZTYyMiJ9LmxpbmUtaWNvbi1BbGlnbi1SaWdodDpiZWZvcmV7Y29udGVudDoiXGU2MjMifS5saW5lLWljb24tQWxwaGE6YmVmb3Jle2NvbnRlbnQ6IlxlNjI0In0ubGluZS1pY29uLUFtYnVsYW5jZTpiZWZvcmV7Y29udGVudDoiXGU2MjUifS5saW5lLWljb24tQU1YOmJlZm9yZXtjb250ZW50OiJcZTYyNiJ9LmxpbmUtaWNvbi1BbmNob3ItMjpiZWZvcmV7Y29udGVudDoiXGU2MjcifS5saW5lLWljb24tQW5jaG9yOmJlZm9yZXtjb250ZW50OiJcZTYyOCJ9LmxpbmUtaWNvbi1BbmRyb2lkLVN0b3JlOmJlZm9yZXtjb250ZW50OiJcZTYyOSJ9LmxpbmUtaWNvbi1BbmRyb2lkOmJlZm9yZXtjb250ZW50OiJcZTYyYSJ9LmxpbmUtaWNvbi1BbmdlbC1TbWlsZXk6YmVmb3Jle2NvbnRlbnQ6IlxlNjJiIn0ubGluZS1pY29uLUFuZ2VsOmJlZm9yZXtjb250ZW50OiJcZTYyYyJ9LmxpbmUtaWNvbi1BbmdyeTpiZWZvcmV7Y29udGVudDoiXGU2MmQifS5saW5lLWljb24tQXBwbGUtQml0ZTpiZWZvcmV7Y29udGVudDoiXGU2MmUifS5saW5lLWljb24tQXBwbGUtU3RvcmU6YmVmb3Jle2NvbnRlbnQ6IlxlNjJmIn0ubGluZS1pY29uLUFwcGxlOmJlZm9yZXtjb250ZW50OiJcZTYzMCJ9LmxpbmUtaWNvbi1BcHByb3ZlZC1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlNjMxIn0ubGluZS1pY29uLUFxdWFyaXVzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNjMyIn0ubGluZS1pY29uLUFxdWFyaXVzOmJlZm9yZXtjb250ZW50OiJcZTYzMyJ9LmxpbmUtaWNvbi1BcmNoZXJ5LTI6YmVmb3Jle2NvbnRlbnQ6IlxlNjM0In0ubGluZS1pY29uLUFyY2hlcnk6YmVmb3Jle2NvbnRlbnQ6IlxlNjM1In0ubGluZS1pY29uLUFyZ2VudGluYTpiZWZvcmV7Y29udGVudDoiXGU2MzYifS5saW5lLWljb24tQXJpZXMtMjpiZWZvcmV7Y29udGVudDoiXGU2MzcifS5saW5lLWljb24tQXJpZXM6YmVmb3Jle2NvbnRlbnQ6IlxlNjM4In0ubGluZS1pY29uLUFybXktS2V5OmJlZm9yZXtjb250ZW50OiJcZTYzOSJ9LmxpbmUtaWNvbi1BcnJvdy1Bcm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjNhIn0ubGluZS1pY29uLUFycm93LUJhY2szOmJlZm9yZXtjb250ZW50OiJcZTYzYiJ9LmxpbmUtaWNvbi1BcnJvdy1CYWNrOmJlZm9yZXtjb250ZW50OiJcZTYzYyJ9LmxpbmUtaWNvbi1BcnJvdy1CYWNrMjpiZWZvcmV7Y29udGVudDoiXGU2M2QifS5saW5lLWljb24tQXJyb3ctQmFycmllcjpiZWZvcmV7Y29udGVudDoiXGU2M2UifS5saW5lLWljb24tQXJyb3ctQ2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTYzZiJ9LmxpbmUtaWNvbi1BcnJvdy1Dcm9zczpiZWZvcmV7Y29udGVudDoiXGU2NDAifS5saW5lLWljb24tQXJyb3ctRG93bjpiZWZvcmV7Y29udGVudDoiXGU2NDEifS5saW5lLWljb24tQXJyb3ctRG93bjI6YmVmb3Jle2NvbnRlbnQ6IlxlNjQyIn0ubGluZS1pY29uLUFycm93LURvd24zOmJlZm9yZXtjb250ZW50OiJcZTY0MyJ9LmxpbmUtaWNvbi1BcnJvdy1Eb3duaW5DaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjQ0In0ubGluZS1pY29uLUFycm93LUZvcms6YmVmb3Jle2NvbnRlbnQ6IlxlNjQ1In0ubGluZS1pY29uLUFycm93LUZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjQ2In0ubGluZS1pY29uLUFycm93LUZvcndhcmQyOmJlZm9yZXtjb250ZW50OiJcZTY0NyJ9LmxpbmUtaWNvbi1BcnJvdy1Gcm9tOmJlZm9yZXtjb250ZW50OiJcZTY0OCJ9LmxpbmUtaWNvbi1BcnJvdy1JbnNpZGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjQ5In0ubGluZS1pY29uLUFycm93LUluc2lkZTQ1OmJlZm9yZXtjb250ZW50OiJcZTY0YSJ9LmxpbmUtaWNvbi1BcnJvdy1JbnNpZGVHYXA6YmVmb3Jle2NvbnRlbnQ6IlxlNjRiIn0ubGluZS1pY29uLUFycm93LUluc2lkZUdhcDQ1OmJlZm9yZXtjb250ZW50OiJcZTY0YyJ9LmxpbmUtaWNvbi1BcnJvdy1JbnRvOmJlZm9yZXtjb250ZW50OiJcZTY0ZCJ9LmxpbmUtaWNvbi1BcnJvdy1Kb2luOmJlZm9yZXtjb250ZW50OiJcZTY0ZSJ9LmxpbmUtaWNvbi1BcnJvdy1KdW5jdGlvbjpiZWZvcmV7Y29udGVudDoiXGU2NGYifS5saW5lLWljb24tQXJyb3ctTGVmdDpiZWZvcmV7Y29udGVudDoiXGU2NTAifS5saW5lLWljb24tQXJyb3ctTGVmdDI6YmVmb3Jle2NvbnRlbnQ6IlxlNjUxIn0ubGluZS1pY29uLUFycm93LUxlZnRpbkNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU2NTIifS5saW5lLWljb24tQXJyb3ctTG9vcDpiZWZvcmV7Y29udGVudDoiXGU2NTMifS5saW5lLWljb24tQXJyb3ctTWVyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlNjU0In0ubGluZS1pY29uLUFycm93LU1peDpiZWZvcmV7Y29udGVudDoiXGU2NTUifS5saW5lLWljb24tQXJyb3ctTmV4dDpiZWZvcmV7Y29udGVudDoiXGU2NTYifS5saW5lLWljb24tQXJyb3ctT3V0TGVmdDpiZWZvcmV7Y29udGVudDoiXGU2NTcifS5saW5lLWljb24tQXJyb3ctT3V0UmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjU4In0ubGluZS1pY29uLUFycm93LU91dHNpZGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjU5In0ubGluZS1pY29uLUFycm93LU91dHNpZGU0NTpiZWZvcmV7Y29udGVudDoiXGU2NWEifS5saW5lLWljb24tQXJyb3ctT3V0c2lkZUdhcDpiZWZvcmV7Y29udGVudDoiXGU2NWIifS5saW5lLWljb24tQXJyb3ctT3V0c2lkZUdhcDQ1OmJlZm9yZXtjb250ZW50OiJcZTY1YyJ9LmxpbmUtaWNvbi1BcnJvdy1PdmVyOmJlZm9yZXtjb250ZW50OiJcZTY1ZCJ9LmxpbmUtaWNvbi1BcnJvdy1SZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZTY1ZSJ9LmxpbmUtaWNvbi1BcnJvdy1SZWZyZXNoMjpiZWZvcmV7Y29udGVudDoiXGU2NWYifS5saW5lLWljb24tQXJyb3ctUmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjYwIn0ubGluZS1pY29uLUFycm93LVJpZ2h0MjpiZWZvcmV7Y29udGVudDoiXGU2NjEifS5saW5lLWljb24tQXJyb3ctUmlnaHRpbkNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU2NjIifS5saW5lLWljb24tQXJyb3ctU2h1ZmZsZTpiZWZvcmV7Y29udGVudDoiXGU2NjMifS5saW5lLWljb24tQXJyb3ctU3F1aWdnbHk6YmVmb3Jle2NvbnRlbnQ6IlxlNjY0In0ubGluZS1pY29uLUFycm93LVRocm91Z2g6YmVmb3Jle2NvbnRlbnQ6IlxlNjY1In0ubGluZS1pY29uLUFycm93LVRvOmJlZm9yZXtjb250ZW50OiJcZTY2NiJ9LmxpbmUtaWNvbi1BcnJvdy1UdXJuTGVmdDpiZWZvcmV7Y29udGVudDoiXGU2NjcifS5saW5lLWljb24tQXJyb3ctVHVyblJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTY2OCJ9LmxpbmUtaWNvbi1BcnJvdy1VcDpiZWZvcmV7Y29udGVudDoiXGU2NjkifS5saW5lLWljb24tQXJyb3ctVXAyOmJlZm9yZXtjb250ZW50OiJcZTY2YSJ9LmxpbmUtaWNvbi1BcnJvdy1VcDM6YmVmb3Jle2NvbnRlbnQ6IlxlNjZiIn0ubGluZS1pY29uLUFycm93LVVwaW5DaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjZjIn0ubGluZS1pY29uLUFycm93LVhMZWZ0OmJlZm9yZXtjb250ZW50OiJcZTY2ZCJ9LmxpbmUtaWNvbi1BcnJvdy1YUmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjZlIn0ubGluZS1pY29uLUFzazpiZWZvcmV7Y29udGVudDoiXGU2NmYifS5saW5lLWljb24tQXNzaXN0YW50OmJlZm9yZXtjb250ZW50OiJcZTY3MCJ9LmxpbmUtaWNvbi1Bc3Ryb25hdXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjcxIn0ubGluZS1pY29uLUF0LVNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlNjcyIn0ubGluZS1pY29uLUFUTTpiZWZvcmV7Y29udGVudDoiXGU2NzMifS5saW5lLWljb24tQXRvbTpiZWZvcmV7Y29udGVudDoiXGU2NzQifS5saW5lLWljb24tQXVkaW86YmVmb3Jle2NvbnRlbnQ6IlxlNjc1In0ubGluZS1pY29uLUF1dG8tRmxhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlNjc2In0ubGluZS1pY29uLUF1dHVtbjpiZWZvcmV7Y29udGVudDoiXGU2NzcifS5saW5lLWljb24tQmFieS1DbG90aGVzOmJlZm9yZXtjb250ZW50OiJcZTY3OCJ9LmxpbmUtaWNvbi1CYWJ5LUNsb3RoZXMyOmJlZm9yZXtjb250ZW50OiJcZTY3OSJ9LmxpbmUtaWNvbi1CYWJ5LUNyeTpiZWZvcmV7Y29udGVudDoiXGU2N2EifS5saW5lLWljb24tQmFieTpiZWZvcmV7Y29udGVudDoiXGU2N2IifS5saW5lLWljb24tQmFjazI6YmVmb3Jle2NvbnRlbnQ6IlxlNjdjIn0ubGluZS1pY29uLUJhY2stTWVkaWE6YmVmb3Jle2NvbnRlbnQ6IlxlNjdkIn0ubGluZS1pY29uLUJhY2stTXVzaWM6YmVmb3Jle2NvbnRlbnQ6IlxlNjdlIn0ubGluZS1pY29uLUJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNjdmIn0ubGluZS1pY29uLUJhY2tncm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjgwIn0ubGluZS1pY29uLUJhY3RlcmlhOmJlZm9yZXtjb250ZW50OiJcZTY4MSJ9LmxpbmUtaWNvbi1CYWctQ29pbnM6YmVmb3Jle2NvbnRlbnQ6IlxlNjgyIn0ubGluZS1pY29uLUJhZy1JdGVtczpiZWZvcmV7Y29udGVudDoiXGU2ODMifS5saW5lLWljb24tQmFnLVF1YW50aXR5OmJlZm9yZXtjb250ZW50OiJcZTY4NCJ9LmxpbmUtaWNvbi1CYWc6YmVmb3Jle2NvbnRlbnQ6IlxlNjg1In0ubGluZS1pY29uLUJha2VsaXRlOmJlZm9yZXtjb250ZW50OiJcZTY4NiJ9LmxpbmUtaWNvbi1CYWxsZXQtU2hvZXM6YmVmb3Jle2NvbnRlbnQ6IlxlNjg3In0ubGluZS1pY29uLUJhbGxvb246YmVmb3Jle2NvbnRlbnQ6IlxlNjg4In0ubGluZS1pY29uLUJhbmFuYTpiZWZvcmV7Y29udGVudDoiXGU2ODkifS5saW5lLWljb24tQmFuZC1BaWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjhhIn0ubGluZS1pY29uLUJhbms6YmVmb3Jle2NvbnRlbnQ6IlxlNjhiIn0ubGluZS1pY29uLUJhci1DaGFydDpiZWZvcmV7Y29udGVudDoiXGU2OGMifS5saW5lLWljb24tQmFyLUNoYXJ0MjpiZWZvcmV7Y29udGVudDoiXGU2OGQifS5saW5lLWljb24tQmFyLUNoYXJ0MzpiZWZvcmV7Y29udGVudDoiXGU2OGUifS5saW5lLWljb24tQmFyLUNoYXJ0NDpiZWZvcmV7Y29udGVudDoiXGU2OGYifS5saW5lLWljb24tQmFyLUNoYXJ0NTpiZWZvcmV7Y29udGVudDoiXGU2OTAifS5saW5lLWljb24tQmFyLUNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjkxIn0ubGluZS1pY29uLUJhcnJpY2FkZS0yOmJlZm9yZXtjb250ZW50OiJcZTY5MiJ9LmxpbmUtaWNvbi1CYXJyaWNhZGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjkzIn0ubGluZS1pY29uLUJhc2ViYWxsOmJlZm9yZXtjb250ZW50OiJcZTY5NCJ9LmxpbmUtaWNvbi1CYXNrZXQtQmFsbDpiZWZvcmV7Y29udGVudDoiXGU2OTUifS5saW5lLWljb24tQmFza2V0LUNvaW5zOmJlZm9yZXtjb250ZW50OiJcZTY5NiJ9LmxpbmUtaWNvbi1CYXNrZXQtSXRlbXM6YmVmb3Jle2NvbnRlbnQ6IlxlNjk3In0ubGluZS1pY29uLUJhc2tldC1RdWFudGl0eTpiZWZvcmV7Y29udGVudDoiXGU2OTgifS5saW5lLWljb24tQmF0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlNjk5In0ubGluZS1pY29uLUJhdDpiZWZvcmV7Y29udGVudDoiXGU2OWEifS5saW5lLWljb24tQmF0aHJvYmU6YmVmb3Jle2NvbnRlbnQ6IlxlNjliIn0ubGluZS1pY29uLUJhdG1hbi1NYXNrOmJlZm9yZXtjb250ZW50OiJcZTY5YyJ9LmxpbmUtaWNvbi1CYXR0ZXJ5LTA6YmVmb3Jle2NvbnRlbnQ6IlxlNjlkIn0ubGluZS1pY29uLUJhdHRlcnktMjU6YmVmb3Jle2NvbnRlbnQ6IlxlNjllIn0ubGluZS1pY29uLUJhdHRlcnktNTA6YmVmb3Jle2NvbnRlbnQ6IlxlNjlmIn0ubGluZS1pY29uLUJhdHRlcnktNzU6YmVmb3Jle2NvbnRlbnQ6IlxlNmEwIn0ubGluZS1pY29uLUJhdHRlcnktMTAwOmJlZm9yZXtjb250ZW50OiJcZTZhMSJ9LmxpbmUtaWNvbi1CYXR0ZXJ5LUNoYXJnZTpiZWZvcmV7Y29udGVudDoiXGU2YTIifS5saW5lLWljb24tQmVhcjpiZWZvcmV7Y29udGVudDoiXGU2YTMifS5saW5lLWljb24tQmVhcmQtMjpiZWZvcmV7Y29udGVudDoiXGU2YTQifS5saW5lLWljb24tQmVhcmQtMzpiZWZvcmV7Y29udGVudDoiXGU2YTUifS5saW5lLWljb24tQmVhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmE2In0ubGluZS1pY29uLUJlYm86YmVmb3Jle2NvbnRlbnQ6IlxlNmE3In0ubGluZS1pY29uLUJlZTpiZWZvcmV7Y29udGVudDoiXGU2YTgifS5saW5lLWljb24tQmVlci1HbGFzczpiZWZvcmV7Y29udGVudDoiXGU2YTkifS5saW5lLWljb24tQmVlcjpiZWZvcmV7Y29udGVudDoiXGU2YWEifS5saW5lLWljb24tQmVsbC0yOmJlZm9yZXtjb250ZW50OiJcZTZhYiJ9LmxpbmUtaWNvbi1CZWxsOmJlZm9yZXtjb250ZW50OiJcZTZhYyJ9LmxpbmUtaWNvbi1CZWx0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlNmFkIn0ubGluZS1pY29uLUJlbHQtMzpiZWZvcmV7Y29udGVudDoiXGU2YWUifS5saW5lLWljb24tQmVsdDpiZWZvcmV7Y29udGVudDoiXGU2YWYifS5saW5lLWljb24tQmVybGluLVRvd2VyOmJlZm9yZXtjb250ZW50OiJcZTZiMCJ9LmxpbmUtaWNvbi1CZXRhOmJlZm9yZXtjb250ZW50OiJcZTZiMSJ9LmxpbmUtaWNvbi1CZXR2aWJlczpiZWZvcmV7Y29udGVudDoiXGU2YjIifS5saW5lLWljb24tQmljeWNsZS0yOmJlZm9yZXtjb250ZW50OiJcZTZiMyJ9LmxpbmUtaWNvbi1CaWN5Y2xlLTM6YmVmb3Jle2NvbnRlbnQ6IlxlNmI0In0ubGluZS1pY29uLUJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNmI1In0ubGluZS1pY29uLUJpZy1CYW5nOmJlZm9yZXtjb250ZW50OiJcZTZiNiJ9LmxpbmUtaWNvbi1CaWctRGF0YTpiZWZvcmV7Y29udGVudDoiXGU2YjcifS5saW5lLWljb24tQmlrZS1IZWxtZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmI4In0ubGluZS1pY29uLUJpa2luaTpiZWZvcmV7Y29udGVudDoiXGU2YjkifS5saW5lLWljb24tQmlsay1Cb3R0bGUyOmJlZm9yZXtjb250ZW50OiJcZTZiYSJ9LmxpbmUtaWNvbi1CaWxsaW5nOmJlZm9yZXtjb250ZW50OiJcZTZiYiJ9LmxpbmUtaWNvbi1CaW5nOmJlZm9yZXtjb250ZW50OiJcZTZiYyJ9LmxpbmUtaWNvbi1CaW5vY3VsYXI6YmVmb3Jle2NvbnRlbnQ6IlxlNmJkIn0ubGluZS1pY29uLUJpby1IYXphcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmJlIn0ubGluZS1pY29uLUJpb3RlY2g6YmVmb3Jle2NvbnRlbnQ6IlxlNmJmIn0ubGluZS1pY29uLUJpcmQtRGVsaXZlcmluZ0xldHRlcjpiZWZvcmV7Y29udGVudDoiXGU2YzAifS5saW5lLWljb24tQmlyZDpiZWZvcmV7Y29udGVudDoiXGU2YzEifS5saW5lLWljb24tQmlydGhkYXktQ2FrZTpiZWZvcmV7Y29udGVudDoiXGU2YzIifS5saW5lLWljb24tQmlzZXh1YWw6YmVmb3Jle2NvbnRlbnQ6IlxlNmMzIn0ubGluZS1pY29uLUJpc2hvcDpiZWZvcmV7Y29udGVudDoiXGU2YzQifS5saW5lLWljb24tQml0Y29pbjpiZWZvcmV7Y29udGVudDoiXGU2YzUifS5saW5lLWljb24tQmxhY2stQ2F0OmJlZm9yZXtjb250ZW50OiJcZTZjNiJ9LmxpbmUtaWNvbi1CbGFja2JvYXJkOmJlZm9yZXtjb250ZW50OiJcZTZjNyJ9LmxpbmUtaWNvbi1CbGlua2xpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlNmM4In0ubGluZS1pY29uLUJsb2NrLUNsb3VkOmJlZm9yZXtjb250ZW50OiJcZTZjOSJ9LmxpbmUtaWNvbi1CbG9jay1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlNmNhIn0ubGluZS1pY29uLUJsb2dnZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNmNiIn0ubGluZS1pY29uLUJsb29kOmJlZm9yZXtjb250ZW50OiJcZTZjYyJ9LmxpbmUtaWNvbi1CbG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlNmNkIn0ubGluZS1pY29uLUJsdWVwcmludDpiZWZvcmV7Y29udGVudDoiXGU2Y2UifS5saW5lLWljb24tQm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmNmIn0ubGluZS1pY29uLUJvZHlidWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGU2ZDAifS5saW5lLWljb24tQm9sZC1UZXh0OmJlZm9yZXtjb250ZW50OiJcZTZkMSJ9LmxpbmUtaWNvbi1Cb25lOmJlZm9yZXtjb250ZW50OiJcZTZkMiJ9LmxpbmUtaWNvbi1Cb25lczpiZWZvcmV7Y29udGVudDoiXGU2ZDMifS5saW5lLWljb24tQm9vazpiZWZvcmV7Y29udGVudDoiXGU2ZDQifS5saW5lLWljb24tQm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxlNmQ1In0ubGluZS1pY29uLUJvb2tzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNmQ2In0ubGluZS1pY29uLUJvb2tzOmJlZm9yZXtjb250ZW50OiJcZTZkNyJ9LmxpbmUtaWNvbi1Cb29tOmJlZm9yZXtjb250ZW50OiJcZTZkOCJ9LmxpbmUtaWNvbi1Cb290LTI6YmVmb3Jle2NvbnRlbnQ6IlxlNmQ5In0ubGluZS1pY29uLUJvb3Q6YmVmb3Jle2NvbnRlbnQ6IlxlNmRhIn0ubGluZS1pY29uLUJvdHRvbS1Ub1RvcDpiZWZvcmV7Y29udGVudDoiXGU2ZGIifS5saW5lLWljb24tQm93LTI6YmVmb3Jle2NvbnRlbnQ6IlxlNmRjIn0ubGluZS1pY29uLUJvdy0zOmJlZm9yZXtjb250ZW50OiJcZTZkZCJ9LmxpbmUtaWNvbi1Cb3ctNDpiZWZvcmV7Y29udGVudDoiXGU2ZGUifS5saW5lLWljb24tQm93LTU6YmVmb3Jle2NvbnRlbnQ6IlxlNmRmIn0ubGluZS1pY29uLUJvdy02OmJlZm9yZXtjb250ZW50OiJcZTZlMCJ9LmxpbmUtaWNvbi1Cb3c6YmVmb3Jle2NvbnRlbnQ6IlxlNmUxIn0ubGluZS1pY29uLUJvd2xpbmctMjpiZWZvcmV7Y29udGVudDoiXGU2ZTIifS5saW5lLWljb24tQm93bGluZzpiZWZvcmV7Y29udGVudDoiXGU2ZTMifS5saW5lLWljb24tQm94MjpiZWZvcmV7Y29udGVudDoiXGU2ZTQifS5saW5lLWljb24tQm94LUNsb3NlOmJlZm9yZXtjb250ZW50OiJcZTZlNSJ9LmxpbmUtaWNvbi1Cb3gtRnVsbDpiZWZvcmV7Y29udGVudDoiXGU2ZTYifS5saW5lLWljb24tQm94LU9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlNmU3In0ubGluZS1pY29uLUJveC13aXRoRm9sZGVyczpiZWZvcmV7Y29udGVudDoiXGU2ZTgifS5saW5lLWljb24tQm94OmJlZm9yZXtjb250ZW50OiJcZTZlOSJ9LmxpbmUtaWNvbi1Cb3k6YmVmb3Jle2NvbnRlbnQ6IlxlNmVhIn0ubGluZS1pY29uLUJyYTpiZWZvcmV7Y29udGVudDoiXGU2ZWIifS5saW5lLWljb24tQnJhaW4tMjpiZWZvcmV7Y29udGVudDoiXGU2ZWMifS5saW5lLWljb24tQnJhaW4tMzpiZWZvcmV7Y29udGVudDoiXGU2ZWQifS5saW5lLWljb24tQnJhaW46YmVmb3Jle2NvbnRlbnQ6IlxlNmVlIn0ubGluZS1pY29uLUJyYXppbDpiZWZvcmV7Y29udGVudDoiXGU2ZWYifS5saW5lLWljb24tQnJlYWQtMjpiZWZvcmV7Y29udGVudDoiXGU2ZjAifS5saW5lLWljb24tQnJlYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmYxIn0ubGluZS1pY29uLUJyaWRnZTpiZWZvcmV7Y29udGVudDoiXGU2ZjIifS5saW5lLWljb24tQnJpZ2h0a2l0ZTpiZWZvcmV7Y29udGVudDoiXGU2ZjMifS5saW5lLWljb24tQnJva2UtTGluazI6YmVmb3Jle2NvbnRlbnQ6IlxlNmY0In0ubGluZS1pY29uLUJyb2tlbi1MaW5rOmJlZm9yZXtjb250ZW50OiJcZTZmNSJ9LmxpbmUtaWNvbi1Ccm9vbTpiZWZvcmV7Y29udGVudDoiXGU2ZjYifS5saW5lLWljb24tQnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxlNmY3In0ubGluZS1pY29uLUJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGU2ZjgifS5saW5lLWljb24tQnVnOmJlZm9yZXtjb250ZW50OiJcZTZmOSJ9LmxpbmUtaWNvbi1CdWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGU2ZmEifS5saW5lLWljb24tQnVsbGV0ZWQtTGlzdDpiZWZvcmV7Y29udGVudDoiXGU2ZmIifS5saW5lLWljb24tQnVzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNmZjIn0ubGluZS1pY29uLUJ1czpiZWZvcmV7Y29udGVudDoiXGU2ZmQifS5saW5lLWljb24tQnVzaW5lc3MtTWFuOmJlZm9yZXtjb250ZW50OiJcZTZmZSJ9LmxpbmUtaWNvbi1CdXNpbmVzcy1NYW5Xb21hbjpiZWZvcmV7Y29udGVudDoiXGU2ZmYifS5saW5lLWljb24tQnVzaW5lc3MtTWVuczpiZWZvcmV7Y29udGVudDoiXGU3MDAifS5saW5lLWljb24tQnVzaW5lc3MtV29tYW46YmVmb3Jle2NvbnRlbnQ6IlxlNzAxIn0ubGluZS1pY29uLUJ1dHRlcmZseTpiZWZvcmV7Y29udGVudDoiXGU3MDIifS5saW5lLWljb24tQnV0dG9uOmJlZm9yZXtjb250ZW50OiJcZTcwMyJ9LmxpbmUtaWNvbi1DYWJsZS1DYXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzA0In0ubGluZS1pY29uLUNha2U6YmVmb3Jle2NvbnRlbnQ6IlxlNzA1In0ubGluZS1pY29uLUNhbGN1bGF0b3ItMjpiZWZvcmV7Y29udGVudDoiXGU3MDYifS5saW5lLWljb24tQ2FsY3VsYXRvci0zOmJlZm9yZXtjb250ZW50OiJcZTcwNyJ9LmxpbmUtaWNvbi1DYWxjdWxhdG9yOmJlZm9yZXtjb250ZW50OiJcZTcwOCJ9LmxpbmUtaWNvbi1DYWxlbmRhci0yOmJlZm9yZXtjb250ZW50OiJcZTcwOSJ9LmxpbmUtaWNvbi1DYWxlbmRhci0zOmJlZm9yZXtjb250ZW50OiJcZTcwYSJ9LmxpbmUtaWNvbi1DYWxlbmRhci00OmJlZm9yZXtjb250ZW50OiJcZTcwYiJ9LmxpbmUtaWNvbi1DYWxlbmRhci1DbG9jazpiZWZvcmV7Y29udGVudDoiXGU3MGMifS5saW5lLWljb24tQ2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzBkIn0ubGluZS1pY29uLUNhbWVsOmJlZm9yZXtjb250ZW50OiJcZTcwZSJ9LmxpbmUtaWNvbi1DYW1lcmEtMjpiZWZvcmV7Y29udGVudDoiXGU3MGYifS5saW5lLWljb24tQ2FtZXJhLTM6YmVmb3Jle2NvbnRlbnQ6IlxlNzEwIn0ubGluZS1pY29uLUNhbWVyYS00OmJlZm9yZXtjb250ZW50OiJcZTcxMSJ9LmxpbmUtaWNvbi1DYW1lcmEtNTpiZWZvcmV7Y29udGVudDoiXGU3MTIifS5saW5lLWljb24tQ2FtZXJhLUJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNzEzIn0ubGluZS1pY29uLUNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGU3MTQifS5saW5lLWljb24tQ2FuLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNzE1In0ubGluZS1pY29uLUNhbjpiZWZvcmV7Y29udGVudDoiXGU3MTYifS5saW5lLWljb24tQ2FuYWRhOmJlZm9yZXtjb250ZW50OiJcZTcxNyJ9LmxpbmUtaWNvbi1DYW5jZXItMjpiZWZvcmV7Y29udGVudDoiXGU3MTgifS5saW5lLWljb24tQ2FuY2VyLTM6YmVmb3Jle2NvbnRlbnQ6IlxlNzE5In0ubGluZS1pY29uLUNhbmNlcjpiZWZvcmV7Y29udGVudDoiXGU3MWEifS5saW5lLWljb24tQ2FuZGxlOmJlZm9yZXtjb250ZW50OiJcZTcxYiJ9LmxpbmUtaWNvbi1DYW5keS1DYW5lOmJlZm9yZXtjb250ZW50OiJcZTcxYyJ9LmxpbmUtaWNvbi1DYW5keTpiZWZvcmV7Y29udGVudDoiXGU3MWQifS5saW5lLWljb24tQ2Fubm9uOmJlZm9yZXtjb250ZW50OiJcZTcxZSJ9LmxpbmUtaWNvbi1DYXAtMjpiZWZvcmV7Y29udGVudDoiXGU3MWYifS5saW5lLWljb24tQ2FwLTM6YmVmb3Jle2NvbnRlbnQ6IlxlNzIwIn0ubGluZS1pY29uLUNhcC1TbWlsZXk6YmVmb3Jle2NvbnRlbnQ6IlxlNzIxIn0ubGluZS1pY29uLUNhcDpiZWZvcmV7Y29udGVudDoiXGU3MjIifS5saW5lLWljb24tQ2Fwcmljb3JuLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNzIzIn0ubGluZS1pY29uLUNhcHJpY29ybjpiZWZvcmV7Y29udGVudDoiXGU3MjQifS5saW5lLWljb24tQ2FyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNzI1In0ubGluZS1pY29uLUNhci0zOmJlZm9yZXtjb250ZW50OiJcZTcyNiJ9LmxpbmUtaWNvbi1DYXItQ29pbnM6YmVmb3Jle2NvbnRlbnQ6IlxlNzI3In0ubGluZS1pY29uLUNhci1JdGVtczpiZWZvcmV7Y29udGVudDoiXGU3MjgifS5saW5lLWljb24tQ2FyLVdoZWVsOmJlZm9yZXtjb250ZW50OiJcZTcyOSJ9LmxpbmUtaWNvbi1DYXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzJhIn0ubGluZS1pY29uLUNhcmRpZ2FuOmJlZm9yZXtjb250ZW50OiJcZTcyYiJ9LmxpbmUtaWNvbi1DYXJkaW92YXNjdWxhcjpiZWZvcmV7Y29udGVudDoiXGU3MmMifS5saW5lLWljb24tQ2FydC1RdWFudGl0eTpiZWZvcmV7Y29udGVudDoiXGU3MmQifS5saW5lLWljb24tQ2FzZXR0ZS1UYXBlOmJlZm9yZXtjb250ZW50OiJcZTcyZSJ9LmxpbmUtaWNvbi1DYXNoLVJlZ2lzdGVyOmJlZm9yZXtjb250ZW50OiJcZTcyZiJ9LmxpbmUtaWNvbi1DYXNoLXJlZ2lzdGVyMjpiZWZvcmV7Y29udGVudDoiXGU3MzAifS5saW5lLWljb24tQ2FzdGxlOmJlZm9yZXtjb250ZW50OiJcZTczMSJ9LmxpbmUtaWNvbi1DYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzMyIn0ubGluZS1pY29uLUNhdGhlZHJhbDpiZWZvcmV7Y29udGVudDoiXGU3MzMifS5saW5lLWljb24tQ2F1bGRyb246YmVmb3Jle2NvbnRlbnQ6IlxlNzM0In0ubGluZS1pY29uLUNELTI6YmVmb3Jle2NvbnRlbnQ6IlxlNzM1In0ubGluZS1pY29uLUNELUNvdmVyOmJlZm9yZXtjb250ZW50OiJcZTczNiJ9LmxpbmUtaWNvbi1DRDpiZWZvcmV7Y29udGVudDoiXGU3MzcifS5saW5lLWljb24tQ2VsbG86YmVmb3Jle2NvbnRlbnQ6IlxlNzM4In0ubGluZS1pY29uLUNlbHNpdXM6YmVmb3Jle2NvbnRlbnQ6IlxlNzM5In0ubGluZS1pY29uLUNoYWNrZWQtRmxhZzpiZWZvcmV7Y29udGVudDoiXGU3M2EifS5saW5lLWljb24tQ2hhaXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzNiIn0ubGluZS1pY29uLUNoYXJnZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzNjIn0ubGluZS1pY29uLUNoZWNrLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNzNkIn0ubGluZS1pY29uLUNoZWNrOmJlZm9yZXtjb250ZW50OiJcZTczZSJ9LmxpbmUtaWNvbi1DaGVja2VkLVVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzNmIn0ubGluZS1pY29uLUNoZWNrbWF0ZTpiZWZvcmV7Y29udGVudDoiXGU3NDAifS5saW5lLWljb24tQ2hlY2tvdXQtQmFnOmJlZm9yZXtjb250ZW50OiJcZTc0MSJ9LmxpbmUtaWNvbi1DaGVja291dC1CYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzQyIn0ubGluZS1pY29uLUNoZWNrb3V0OmJlZm9yZXtjb250ZW50OiJcZTc0MyJ9LmxpbmUtaWNvbi1DaGVlc2U6YmVmb3Jle2NvbnRlbnQ6IlxlNzQ0In0ubGluZS1pY29uLUNoZWV0YWg6YmVmb3Jle2NvbnRlbnQ6IlxlNzQ1In0ubGluZS1pY29uLUNoZWYtSGF0OmJlZm9yZXtjb250ZW50OiJcZTc0NiJ9LmxpbmUtaWNvbi1DaGVmLUhhdDI6YmVmb3Jle2NvbnRlbnQ6IlxlNzQ3In0ubGluZS1pY29uLUNoZWY6YmVmb3Jle2NvbnRlbnQ6IlxlNzQ4In0ubGluZS1pY29uLUNoZW1pY2FsLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNzQ5In0ubGluZS1pY29uLUNoZW1pY2FsLTM6YmVmb3Jle2NvbnRlbnQ6IlxlNzRhIn0ubGluZS1pY29uLUNoZW1pY2FsLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzRiIn0ubGluZS1pY29uLUNoZW1pY2FsLTU6YmVmb3Jle2NvbnRlbnQ6IlxlNzRjIn0ubGluZS1pY29uLUNoZW1pY2FsOmJlZm9yZXtjb250ZW50OiJcZTc0ZCJ9LmxpbmUtaWNvbi1DaGVzcy1Cb2FyZDpiZWZvcmV7Y29udGVudDoiXGU3NGUifS5saW5lLWljb24tQ2hlc3M6YmVmb3Jle2NvbnRlbnQ6IlxlNzRmIn0ubGluZS1pY29uLUNoaWNrZW46YmVmb3Jle2NvbnRlbnQ6IlxlNzUwIn0ubGluZS1pY29uLUNoaWxlOmJlZm9yZXtjb250ZW50OiJcZTc1MSJ9LmxpbmUtaWNvbi1DaGltbmV5OmJlZm9yZXtjb250ZW50OiJcZTc1MiJ9LmxpbmUtaWNvbi1DaGluYTpiZWZvcmV7Y29udGVudDoiXGU3NTMifS5saW5lLWljb24tQ2hpbmVzZS1UZW1wbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNzU0In0ubGluZS1pY29uLUNoaXA6YmVmb3Jle2NvbnRlbnQ6IlxlNzU1In0ubGluZS1pY29uLUNob3BzdGlja3MtMjpiZWZvcmV7Y29udGVudDoiXGU3NTYifS5saW5lLWljb24tQ2hvcHN0aWNrczpiZWZvcmV7Y29udGVudDoiXGU3NTcifS5saW5lLWljb24tQ2hyaXN0bWFzLUJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxlNzU4In0ubGluZS1pY29uLUNocmlzdG1hcy1CZWxsOmJlZm9yZXtjb250ZW50OiJcZTc1OSJ9LmxpbmUtaWNvbi1DaHJpc3RtYXMtQ2FuZGxlOmJlZm9yZXtjb250ZW50OiJcZTc1YSJ9LmxpbmUtaWNvbi1DaHJpc3RtYXMtSGF0OmJlZm9yZXtjb250ZW50OiJcZTc1YiJ9LmxpbmUtaWNvbi1DaHJpc3RtYXMtU2xlaWdoOmJlZm9yZXtjb250ZW50OiJcZTc1YyJ9LmxpbmUtaWNvbi1DaHJpc3RtYXMtU25vd21hbjpiZWZvcmV7Y29udGVudDoiXGU3NWQifS5saW5lLWljb24tQ2hyaXN0bWFzLVNvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNzVlIn0ubGluZS1pY29uLUNocmlzdG1hcy1UcmVlOmJlZm9yZXtjb250ZW50OiJcZTc1ZiJ9LmxpbmUtaWNvbi1DaHJpc3RtYXM6YmVmb3Jle2NvbnRlbnQ6IlxlNzYwIn0ubGluZS1pY29uLUNocm9tZTpiZWZvcmV7Y29udGVudDoiXGU3NjEifS5saW5lLWljb24tQ2hyeXNsZXItQnVpbGRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlNzYyIn0ubGluZS1pY29uLUNpbmVtYTpiZWZvcmV7Y29udGVudDoiXGU3NjMifS5saW5lLWljb24tQ2lyY3VsYXItUG9pbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzY0In0ubGluZS1pY29uLUNpdHktSGFsbDpiZWZvcmV7Y29udGVudDoiXGU3NjUifS5saW5lLWljb24tQ2xhbXA6YmVmb3Jle2NvbnRlbnQ6IlxlNzY2In0ubGluZS1pY29uLUNsYXBwZXJib2FyZC1DbG9zZTpiZWZvcmV7Y29udGVudDoiXGU3NjcifS5saW5lLWljb24tQ2xhcHBlcmJvYXJkLU9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlNzY4In0ubGluZS1pY29uLUNsYXBzOmJlZm9yZXtjb250ZW50OiJcZTc2OSJ9LmxpbmUtaWNvbi1DbGVmOmJlZm9yZXtjb250ZW50OiJcZTc2YSJ9LmxpbmUtaWNvbi1DbGluaWM6YmVmb3Jle2NvbnRlbnQ6IlxlNzZiIn0ubGluZS1pY29uLUNsb2NrLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNzZjIn0ubGluZS1pY29uLUNsb2NrLTM6YmVmb3Jle2NvbnRlbnQ6IlxlNzZkIn0ubGluZS1pY29uLUNsb2NrLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzZlIn0ubGluZS1pY29uLUNsb2NrLUJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNzZmIn0ubGluZS1pY29uLUNsb2NrLUZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzcwIn0ubGluZS1pY29uLUNsb2NrOmJlZm9yZXtjb250ZW50OiJcZTc3MSJ9LmxpbmUtaWNvbi1DbG9zZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlNzcyIn0ubGluZS1pY29uLUNsb3NlOmJlZm9yZXtjb250ZW50OiJcZTc3MyJ9LmxpbmUtaWNvbi1DbG90aGluZy1TdG9yZTpiZWZvcmV7Y29udGVudDoiXGU3NzQifS5saW5lLWljb24tQ2xvdWQtLTpiZWZvcmV7Y29udGVudDoiXGU3NzUifS5saW5lLWljb24tQ2xvdWQtOmJlZm9yZXtjb250ZW50OiJcZTc3NiJ9LmxpbmUtaWNvbi1DbG91ZC1DYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxlNzc3In0ubGluZS1pY29uLUNsb3VkLUNvbXB1dGVyOmJlZm9yZXtjb250ZW50OiJcZTc3OCJ9LmxpbmUtaWNvbi1DbG91ZC1FbWFpbDpiZWZvcmV7Y29udGVudDoiXGU3NzkifS5saW5lLWljb24tQ2xvdWQtSGFpbDpiZWZvcmV7Y29udGVudDoiXGU3N2EifS5saW5lLWljb24tQ2xvdWQtTGFwdG9wOmJlZm9yZXtjb250ZW50OiJcZTc3YiJ9LmxpbmUtaWNvbi1DbG91ZC1Mb2NrOmJlZm9yZXtjb250ZW50OiJcZTc3YyJ9LmxpbmUtaWNvbi1DbG91ZC1Nb29uOmJlZm9yZXtjb250ZW50OiJcZTc3ZCJ9LmxpbmUtaWNvbi1DbG91ZC1NdXNpYzpiZWZvcmV7Y29udGVudDoiXGU3N2UifS5saW5lLWljb24tQ2xvdWQtUGljdHVyZTpiZWZvcmV7Y29udGVudDoiXGU3N2YifS5saW5lLWljb24tQ2xvdWQtUmFpbjpiZWZvcmV7Y29udGVudDoiXGU3ODAifS5saW5lLWljb24tQ2xvdWQtUmVtb3ZlOmJlZm9yZXtjb250ZW50OiJcZTc4MSJ9LmxpbmUtaWNvbi1DbG91ZC1TZWN1cmU6YmVmb3Jle2NvbnRlbnQ6IlxlNzgyIn0ubGluZS1pY29uLUNsb3VkLVNldHRpbmdzOmJlZm9yZXtjb250ZW50OiJcZTc4MyJ9LmxpbmUtaWNvbi1DbG91ZC1TbWFydHBob25lOmJlZm9yZXtjb250ZW50OiJcZTc4NCJ9LmxpbmUtaWNvbi1DbG91ZC1Tbm93OmJlZm9yZXtjb250ZW50OiJcZTc4NSJ9LmxpbmUtaWNvbi1DbG91ZC1TdW46YmVmb3Jle2NvbnRlbnQ6IlxlNzg2In0ubGluZS1pY29uLUNsb3VkLVRhYmxldDpiZWZvcmV7Y29udGVudDoiXGU3ODcifS5saW5lLWljb24tQ2xvdWQtVmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxlNzg4In0ubGluZS1pY29uLUNsb3VkLVdlYXRoZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzg5In0ubGluZS1pY29uLUNsb3VkOmJlZm9yZXtjb250ZW50OiJcZTc4YSJ9LmxpbmUtaWNvbi1DbG91ZHMtV2VhdGhlcjpiZWZvcmV7Y29udGVudDoiXGU3OGIifS5saW5lLWljb24tQ2xvdWRzOmJlZm9yZXtjb250ZW50OiJcZTc4YyJ9LmxpbmUtaWNvbi1DbG93bjpiZWZvcmV7Y29udGVudDoiXGU3OGQifS5saW5lLWljb24tQ01ZSzpiZWZvcmV7Y29udGVudDoiXGU3OGUifS5saW5lLWljb24tQ29hdDpiZWZvcmV7Y29udGVudDoiXGU3OGYifS5saW5lLWljb24tQ29ja3RhaWw6YmVmb3Jle2NvbnRlbnQ6IlxlNzkwIn0ubGluZS1pY29uLUNvY29udXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzkxIn0ubGluZS1pY29uLUNvZGUtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZTc5MiJ9LmxpbmUtaWNvbi1Db2Rpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlNzkzIn0ubGluZS1pY29uLUNvZmZlZS0yOmJlZm9yZXtjb250ZW50OiJcZTc5NCJ9LmxpbmUtaWNvbi1Db2ZmZWUtQmVhbjpiZWZvcmV7Y29udGVudDoiXGU3OTUifS5saW5lLWljb24tQ29mZmVlLU1hY2hpbmU6YmVmb3Jle2NvbnRlbnQ6IlxlNzk2In0ubGluZS1pY29uLUNvZmZlZS10b0dvOmJlZm9yZXtjb250ZW50OiJcZTc5NyJ9LmxpbmUtaWNvbi1Db2ZmZWU6YmVmb3Jle2NvbnRlbnQ6IlxlNzk4In0ubGluZS1pY29uLUNvZmZpbjpiZWZvcmV7Y29udGVudDoiXGU3OTkifS5saW5lLWljb24tQ29pbjpiZWZvcmV7Y29udGVudDoiXGU3OWEifS5saW5lLWljb24tQ29pbnMtMjpiZWZvcmV7Y29udGVudDoiXGU3OWIifS5saW5lLWljb24tQ29pbnMtMzpiZWZvcmV7Y29udGVudDoiXGU3OWMifS5saW5lLWljb24tQ29pbnM6YmVmb3Jle2NvbnRlbnQ6IlxlNzlkIn0ubGluZS1pY29uLUNvbG9tYmlhOmJlZm9yZXtjb250ZW50OiJcZTc5ZSJ9LmxpbmUtaWNvbi1Db2xvc3NldW06YmVmb3Jle2NvbnRlbnQ6IlxlNzlmIn0ubGluZS1pY29uLUNvbHVtbi0yOmJlZm9yZXtjb250ZW50OiJcZTdhMCJ9LmxpbmUtaWNvbi1Db2x1bW4tMzpiZWZvcmV7Y29udGVudDoiXGU3YTEifS5saW5lLWljb24tQ29sdW1uOmJlZm9yZXtjb250ZW50OiJcZTdhMiJ9LmxpbmUtaWNvbi1Db21iLTI6YmVmb3Jle2NvbnRlbnQ6IlxlN2EzIn0ubGluZS1pY29uLUNvbWI6YmVmb3Jle2NvbnRlbnQ6IlxlN2E0In0ubGluZS1pY29uLUNvbW11bmljYXRpb24tVG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlN2E1In0ubGluZS1pY29uLUNvbW11bmljYXRpb24tVG93ZXIyOmJlZm9yZXtjb250ZW50OiJcZTdhNiJ9LmxpbmUtaWNvbi1Db21wYXNzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlN2E3In0ubGluZS1pY29uLUNvbXBhc3MtMzpiZWZvcmV7Y29udGVudDoiXGU3YTgifS5saW5lLWljb24tQ29tcGFzcy00OmJlZm9yZXtjb250ZW50OiJcZTdhOSJ9LmxpbmUtaWNvbi1Db21wYXNzLVJvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlN2FhIn0ubGluZS1pY29uLUNvbXBhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlN2FiIn0ubGluZS1pY29uLUNvbXB1dGVyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlN2FjIn0ubGluZS1pY29uLUNvbXB1dGVyLTM6YmVmb3Jle2NvbnRlbnQ6IlxlN2FkIn0ubGluZS1pY29uLUNvbXB1dGVyLVNlY3VyZTpiZWZvcmV7Y29udGVudDoiXGU3YWUifS5saW5lLWljb24tQ29tcHV0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlN2FmIn0ubGluZS1pY29uLUNvbmZlcmVuY2U6YmVmb3Jle2NvbnRlbnQ6IlxlN2IwIn0ubGluZS1pY29uLUNvbmZ1c2VkOmJlZm9yZXtjb250ZW50OiJcZTdiMSJ9LmxpbmUtaWNvbi1Db25zZXJ2YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlN2IyIn0ubGluZS1pY29uLUNvbnN1bHRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlN2IzIn0ubGluZS1pY29uLUNvbnRyYXN0OmJlZm9yZXtjb250ZW50OiJcZTdiNCJ9LmxpbmUtaWNvbi1Db250cm9sLTI6YmVmb3Jle2NvbnRlbnQ6IlxlN2I1In0ubGluZS1pY29uLUNvbnRyb2w6YmVmb3Jle2NvbnRlbnQ6IlxlN2I2In0ubGluZS1pY29uLUNvb2tpZS1NYW46YmVmb3Jle2NvbnRlbnQ6IlxlN2I3In0ubGluZS1pY29uLUNvb2tpZXM6YmVmb3Jle2NvbnRlbnQ6IlxlN2I4In0ubGluZS1pY29uLUNvb2wtR3V5OmJlZm9yZXtjb250ZW50OiJcZTdiOSJ9LmxpbmUtaWNvbi1Db29sOmJlZm9yZXtjb250ZW50OiJcZTdiYSJ9LmxpbmUtaWNvbi1Db3B5cmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlN2JiIn0ubGluZS1pY29uLUNvc3R1bWU6YmVmb3Jle2NvbnRlbnQ6IlxlN2JjIn0ubGluZS1pY29uLUNvdXBsZS1TaWduOmJlZm9yZXtjb250ZW50OiJcZTdiZCJ9LmxpbmUtaWNvbi1Db3c6YmVmb3Jle2NvbnRlbnQ6IlxlN2JlIn0ubGluZS1pY29uLUNQVTpiZWZvcmV7Y29udGVudDoiXGU3YmYifS5saW5lLWljb24tQ3JhbmU6YmVmb3Jle2NvbnRlbnQ6IlxlN2MwIn0ubGluZS1pY29uLUNyYW5pdW06YmVmb3Jle2NvbnRlbnQ6IlxlN2MxIn0ubGluZS1pY29uLUNyZWRpdC1DYXJkOmJlZm9yZXtjb250ZW50OiJcZTdjMiJ9LmxpbmUtaWNvbi1DcmVkaXQtQ2FyZDI6YmVmb3Jle2NvbnRlbnQ6IlxlN2MzIn0ubGluZS1pY29uLUNyZWRpdC1DYXJkMzpiZWZvcmV7Y29udGVudDoiXGU3YzQifS5saW5lLWljb24tQ3JpY2tldDpiZWZvcmV7Y29udGVudDoiXGU3YzUifS5saW5lLWljb24tQ3JpbWluYWw6YmVmb3Jle2NvbnRlbnQ6IlxlN2M2In0ubGluZS1pY29uLUNyb2lzc2FudDpiZWZvcmV7Y29udGVudDoiXGU3YzcifS5saW5lLWljb24tQ3JvcC0yOmJlZm9yZXtjb250ZW50OiJcZTdjOCJ9LmxpbmUtaWNvbi1Dcm9wLTM6YmVmb3Jle2NvbnRlbnQ6IlxlN2M5In0ubGluZS1pY29uLUNyb3duLTI6YmVmb3Jle2NvbnRlbnQ6IlxlN2NhIn0ubGluZS1pY29uLUNyb3duOmJlZm9yZXtjb250ZW50OiJcZTdjYiJ9LmxpbmUtaWNvbi1Dcnlpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlN2NjIn0ubGluZS1pY29uLUN1YmUtTW9sZWN1bGU6YmVmb3Jle2NvbnRlbnQ6IlxlN2NkIn0ubGluZS1pY29uLUN1YmUtTW9sZWN1bGUyOmJlZm9yZXtjb250ZW50OiJcZTdjZSJ9LmxpbmUtaWNvbi1DdXBjYWtlOmJlZm9yZXtjb250ZW50OiJcZTdjZiJ9LmxpbmUtaWNvbi1DdXJzb3ItQ2xpY2s6YmVmb3Jle2NvbnRlbnQ6IlxlN2QwIn0ubGluZS1pY29uLUN1cnNvci1DbGljazI6YmVmb3Jle2NvbnRlbnQ6IlxlN2QxIn0ubGluZS1pY29uLUN1cnNvci1Nb3ZlOmJlZm9yZXtjb250ZW50OiJcZTdkMiJ9LmxpbmUtaWNvbi1DdXJzb3ItTW92ZTI6YmVmb3Jle2NvbnRlbnQ6IlxlN2QzIn0ubGluZS1pY29uLUN1cnNvci1TZWxlY3Q6YmVmb3Jle2NvbnRlbnQ6IlxlN2Q0In0ubGluZS1pY29uLUN1cnNvcjpiZWZvcmV7Y29udGVudDoiXGU3ZDUifS5saW5lLWljb24tRC1FeWVnbGFzc2VzOmJlZm9yZXtjb250ZW50OiJcZTdkNiJ9LmxpbmUtaWNvbi1ELUV5ZWdsYXNzZXMyOmJlZm9yZXtjb250ZW50OiJcZTdkNyJ9LmxpbmUtaWNvbi1EYW06YmVmb3Jle2NvbnRlbnQ6IlxlN2Q4In0ubGluZS1pY29uLURhbmVtYXJrOmJlZm9yZXtjb250ZW50OiJcZTdkOSJ9LmxpbmUtaWNvbi1EYW5nZXItMjpiZWZvcmV7Y29udGVudDoiXGU3ZGEifS5saW5lLWljb24tRGFuZ2VyOmJlZm9yZXtjb250ZW50OiJcZTdkYiJ9LmxpbmUtaWNvbi1EYXNoYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlN2RjIn0ubGluZS1pY29uLURhdGEtQmFja3VwOmJlZm9yZXtjb250ZW50OiJcZTdkZCJ9LmxpbmUtaWNvbi1EYXRhLUJsb2NrOmJlZm9yZXtjb250ZW50OiJcZTdkZSJ9LmxpbmUtaWNvbi1EYXRhLUNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGU3ZGYifS5saW5lLWljb24tRGF0YS1DbG9jazpiZWZvcmV7Y29udGVudDoiXGU3ZTAifS5saW5lLWljb24tRGF0YS1DbG91ZDpiZWZvcmV7Y29udGVudDoiXGU3ZTEifS5saW5lLWljb24tRGF0YS1Db21wcmVzczpiZWZvcmV7Y29udGVudDoiXGU3ZTIifS5saW5lLWljb24tRGF0YS1Db3B5OmJlZm9yZXtjb250ZW50OiJcZTdlMyJ9LmxpbmUtaWNvbi1EYXRhLURvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZTdlNCJ9LmxpbmUtaWNvbi1EYXRhLUZpbmFuY2lhbDpiZWZvcmV7Y29udGVudDoiXGU3ZTUifS5saW5lLWljb24tRGF0YS1LZXk6YmVmb3Jle2NvbnRlbnQ6IlxlN2U2In0ubGluZS1pY29uLURhdGEtTG9jazpiZWZvcmV7Y29udGVudDoiXGU3ZTcifS5saW5lLWljb24tRGF0YS1OZXR3b3JrOmJlZm9yZXtjb250ZW50OiJcZTdlOCJ9LmxpbmUtaWNvbi1EYXRhLVBhc3N3b3JkOmJlZm9yZXtjb250ZW50OiJcZTdlOSJ9LmxpbmUtaWNvbi1EYXRhLVBvd2VyOmJlZm9yZXtjb250ZW50OiJcZTdlYSJ9LmxpbmUtaWNvbi1EYXRhLVJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6IlxlN2ViIn0ubGluZS1pY29uLURhdGEtU2F2ZTpiZWZvcmV7Y29udGVudDoiXGU3ZWMifS5saW5lLWljb24tRGF0YS1TZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxlN2VkIn0ubGluZS1pY29uLURhdGEtU2VjdXJpdHk6YmVmb3Jle2NvbnRlbnQ6IlxlN2VlIn0ubGluZS1pY29uLURhdGEtU2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6IlxlN2VmIn0ubGluZS1pY29uLURhdGEtU2hhcmluZzpiZWZvcmV7Y29udGVudDoiXGU3ZjAifS5saW5lLWljb24tRGF0YS1TaGllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlN2YxIn0ubGluZS1pY29uLURhdGEtU2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZTdmMiJ9LmxpbmUtaWNvbi1EYXRhLVN0b3JhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlN2YzIn0ubGluZS1pY29uLURhdGEtU3RyZWFtOmJlZm9yZXtjb250ZW50OiJcZTdmNCJ9LmxpbmUtaWNvbi1EYXRhLVRyYW5zZmVyOmJlZm9yZXtjb250ZW50OiJcZTdmNSJ9LmxpbmUtaWNvbi1EYXRhLVVubG9jazpiZWZvcmV7Y29udGVudDoiXGU3ZjYifS5saW5lLWljb24tRGF0YS1VcGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlN2Y3In0ubGluZS1pY29uLURhdGEtWWVzOmJlZm9yZXtjb250ZW50OiJcZTdmOCJ9LmxpbmUtaWNvbi1EYXRhOmJlZm9yZXtjb250ZW50OiJcZTdmOSJ9LmxpbmUtaWNvbi1EYXZpZC1TdGFyOmJlZm9yZXtjb250ZW50OiJcZTdmYSJ9LmxpbmUtaWNvbi1EYXlsaWdodDpiZWZvcmV7Y29udGVudDoiXGU3ZmIifS5saW5lLWljb24tRGVhdGg6YmVmb3Jle2NvbnRlbnQ6IlxlN2ZjIn0ubGluZS1pY29uLURlYmlhbjpiZWZvcmV7Y29udGVudDoiXGU3ZmQifS5saW5lLWljb24tRGVjOmJlZm9yZXtjb250ZW50OiJcZTdmZSJ9LmxpbmUtaWNvbi1EZWNyYXNlLUluZWRpdDpiZWZvcmV7Y29udGVudDoiXGU3ZmYifS5saW5lLWljb24tRGVlci0yOmJlZm9yZXtjb250ZW50OiJcZTgwMCJ9LmxpbmUtaWNvbi1EZWVyOmJlZm9yZXtjb250ZW50OiJcZTgwMSJ9LmxpbmUtaWNvbi1EZWxldGUtRmlsZTpiZWZvcmV7Y29udGVudDoiXGU4MDIifS5saW5lLWljb24tRGVsZXRlLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGU4MDMifS5saW5lLWljb24tRGVsaWNpb3VzOmJlZm9yZXtjb250ZW50OiJcZTgwNCJ9LmxpbmUtaWNvbi1EZXByZXNzaW9uOmJlZm9yZXtjb250ZW50OiJcZTgwNSJ9LmxpbmUtaWNvbi1EZXZpYW50YXJ0OmJlZm9yZXtjb250ZW50OiJcZTgwNiJ9LmxpbmUtaWNvbi1EZXZpY2UtU3luY3dpdGhDbG91ZDpiZWZvcmV7Y29udGVudDoiXGU4MDcifS5saW5lLWljb24tRGlhbW9uZDpiZWZvcmV7Y29udGVudDoiXGU4MDgifS5saW5lLWljb24tRGljZS0yOmJlZm9yZXtjb250ZW50OiJcZTgwOSJ9LmxpbmUtaWNvbi1EaWNlOmJlZm9yZXtjb250ZW50OiJcZTgwYSJ9LmxpbmUtaWNvbi1EaWdnOmJlZm9yZXtjb250ZW50OiJcZTgwYiJ9LmxpbmUtaWNvbi1EaWdpdGFsLURyYXdpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlODBjIn0ubGluZS1pY29uLURpaWdvOmJlZm9yZXtjb250ZW50OiJcZTgwZCJ9LmxpbmUtaWNvbi1EaW5vc2F1cjpiZWZvcmV7Y29udGVudDoiXGU4MGUifS5saW5lLWljb24tRGlwbG9tYS0yOmJlZm9yZXtjb250ZW50OiJcZTgwZiJ9LmxpbmUtaWNvbi1EaXBsb21hOmJlZm9yZXtjb250ZW50OiJcZTgxMCJ9LmxpbmUtaWNvbi1EaXJlY3Rpb24tRWFzdDpiZWZvcmV7Y29udGVudDoiXGU4MTEifS5saW5lLWljb24tRGlyZWN0aW9uLU5vcnRoOmJlZm9yZXtjb250ZW50OiJcZTgxMiJ9LmxpbmUtaWNvbi1EaXJlY3Rpb24tU291dGg6YmVmb3Jle2NvbnRlbnQ6IlxlODEzIn0ubGluZS1pY29uLURpcmVjdGlvbi1XZXN0OmJlZm9yZXtjb250ZW50OiJcZTgxNCJ9LmxpbmUtaWNvbi1EaXJlY3RvcjpiZWZvcmV7Y29udGVudDoiXGU4MTUifS5saW5lLWljb24tRGlzazpiZWZvcmV7Y29udGVudDoiXGU4MTYifS5saW5lLWljb24tRGo6YmVmb3Jle2NvbnRlbnQ6IlxlODE3In0ubGluZS1pY29uLUROQS0yOmJlZm9yZXtjb250ZW50OiJcZTgxOCJ9LmxpbmUtaWNvbi1ETkEtSGVsaXg6YmVmb3Jle2NvbnRlbnQ6IlxlODE5In0ubGluZS1pY29uLUROQTpiZWZvcmV7Y29udGVudDoiXGU4MWEifS5saW5lLWljb24tRG9jdG9yOmJlZm9yZXtjb250ZW50OiJcZTgxYiJ9LmxpbmUtaWNvbi1Eb2c6YmVmb3Jle2NvbnRlbnQ6IlxlODFjIn0ubGluZS1pY29uLURvbGxhci1TaWduOmJlZm9yZXtjb250ZW50OiJcZTgxZCJ9LmxpbmUtaWNvbi1Eb2xsYXItU2lnbjI6YmVmb3Jle2NvbnRlbnQ6IlxlODFlIn0ubGluZS1pY29uLURvbGxhcjpiZWZvcmV7Y29udGVudDoiXGU4MWYifS5saW5lLWljb24tRG9scGhpbjpiZWZvcmV7Y29udGVudDoiXGU4MjAifS5saW5lLWljb24tRG9taW5vOmJlZm9yZXtjb250ZW50OiJcZTgyMSJ9LmxpbmUtaWNvbi1Eb29yLUhhbmdlcjpiZWZvcmV7Y29udGVudDoiXGU4MjIifS5saW5lLWljb24tRG9vcjpiZWZvcmV7Y29udGVudDoiXGU4MjMifS5saW5lLWljb24tRG9wbHI6YmVmb3Jle2NvbnRlbnQ6IlxlODI0In0ubGluZS1pY29uLURvdWJsZS1DaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlODI1In0ubGluZS1pY29uLURvdWJsZS1UYXA6YmVmb3Jle2NvbnRlbnQ6IlxlODI2In0ubGluZS1pY29uLURvdWdobnV0OmJlZm9yZXtjb250ZW50OiJcZTgyNyJ9LmxpbmUtaWNvbi1Eb3ZlOmJlZm9yZXtjb250ZW50OiJcZTgyOCJ9LmxpbmUtaWNvbi1Eb3duLTI6YmVmb3Jle2NvbnRlbnQ6IlxlODI5In0ubGluZS1pY29uLURvd24tMzpiZWZvcmV7Y29udGVudDoiXGU4MmEifS5saW5lLWljb24tRG93bi00OmJlZm9yZXtjb250ZW50OiJcZTgyYiJ9LmxpbmUtaWNvbi1Eb3duOmJlZm9yZXtjb250ZW50OiJcZTgyYyJ9LmxpbmUtaWNvbi1Eb3dubG9hZC0yOmJlZm9yZXtjb250ZW50OiJcZTgyZCJ9LmxpbmUtaWNvbi1Eb3dubG9hZC1mcm9tQ2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxlODJlIn0ubGluZS1pY29uLURvd25sb2FkLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGU4MmYifS5saW5lLWljb24tRG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlODMwIn0ubGluZS1pY29uLURvd253YXJkOmJlZm9yZXtjb250ZW50OiJcZTgzMSJ9LmxpbmUtaWNvbi1EcmFnLURvd246YmVmb3Jle2NvbnRlbnQ6IlxlODMyIn0ubGluZS1pY29uLURyYWctTGVmdDpiZWZvcmV7Y29udGVudDoiXGU4MzMifS5saW5lLWljb24tRHJhZy1SaWdodDpiZWZvcmV7Y29udGVudDoiXGU4MzQifS5saW5lLWljb24tRHJhZy1VcDpiZWZvcmV7Y29udGVudDoiXGU4MzUifS5saW5lLWljb24tRHJhZzpiZWZvcmV7Y29udGVudDoiXGU4MzYifS5saW5lLWljb24tRHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxlODM3In0ubGluZS1pY29uLURyaWxsLTI6YmVmb3Jle2NvbnRlbnQ6IlxlODM4In0ubGluZS1pY29uLURyaWxsOmJlZm9yZXtjb250ZW50OiJcZTgzOSJ9LmxpbmUtaWNvbi1Ecm9wOmJlZm9yZXtjb250ZW50OiJcZTgzYSJ9LmxpbmUtaWNvbi1Ecm9wYm94OmJlZm9yZXtjb250ZW50OiJcZTgzYiJ9LmxpbmUtaWNvbi1EcnVtOmJlZm9yZXtjb250ZW50OiJcZTgzYyJ9LmxpbmUtaWNvbi1Ecnk6YmVmb3Jle2NvbnRlbnQ6IlxlODNkIn0ubGluZS1pY29uLUR1Y2s6YmVmb3Jle2NvbnRlbnQ6IlxlODNlIn0ubGluZS1pY29uLUR1bWJiZWxsOmJlZm9yZXtjb250ZW50OiJcZTgzZiJ9LmxpbmUtaWNvbi1EdXBsaWNhdGUtTGF5ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlODQwIn0ubGluZS1pY29uLUR1cGxpY2F0ZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlODQxIn0ubGluZS1pY29uLURWRDpiZWZvcmV7Y29udGVudDoiXGU4NDIifS5saW5lLWljb24tRWFnbGU6YmVmb3Jle2NvbnRlbnQ6IlxlODQzIn0ubGluZS1pY29uLUVhcjpiZWZvcmV7Y29udGVudDoiXGU4NDQifS5saW5lLWljb24tRWFycGhvbmVzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlODQ1In0ubGluZS1pY29uLUVhcnBob25lczpiZWZvcmV7Y29udGVudDoiXGU4NDYifS5saW5lLWljb24tRWNpLUljb246YmVmb3Jle2NvbnRlbnQ6IlxlODQ3In0ubGluZS1pY29uLUVkaXQtTWFwOmJlZm9yZXtjb250ZW50OiJcZTg0OCJ9LmxpbmUtaWNvbi1FZGl0OmJlZm9yZXtjb250ZW50OiJcZTg0OSJ9LmxpbmUtaWNvbi1FZ2dzOmJlZm9yZXtjb250ZW50OiJcZTg0YSJ9LmxpbmUtaWNvbi1FZ3lwdDpiZWZvcmV7Y29udGVudDoiXGU4NGIifS5saW5lLWljb24tRWlmZWwtVG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlODRjIn0ubGluZS1pY29uLWVqZWN0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlODRkIn0ubGluZS1pY29uLUVqZWN0OmJlZm9yZXtjb250ZW50OiJcZTg0ZSJ9LmxpbmUtaWNvbi1FbC1DYXN0aWxsbzpiZWZvcmV7Y29udGVudDoiXGU4NGYifS5saW5lLWljb24tRWxib3c6YmVmb3Jle2NvbnRlbnQ6IlxlODUwIn0ubGluZS1pY29uLUVsZWN0cmljLUd1aXRhcjpiZWZvcmV7Y29udGVudDoiXGU4NTEifS5saW5lLWljb24tRWxlY3RyaWNpdHk6YmVmb3Jle2NvbnRlbnQ6IlxlODUyIn0ubGluZS1pY29uLUVsZXBoYW50OmJlZm9yZXtjb250ZW50OiJcZTg1MyJ9LmxpbmUtaWNvbi1FbWFpbDpiZWZvcmV7Y29udGVudDoiXGU4NTQifS5saW5lLWljb24tRW1iYXNzeTpiZWZvcmV7Y29udGVudDoiXGU4NTUifS5saW5lLWljb24tRW1waXJlLVN0YXRlQnVpbGRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlODU2In0ubGluZS1pY29uLUVtcHR5LUJveDpiZWZvcmV7Y29udGVudDoiXGU4NTcifS5saW5lLWljb24tRW5kMjpiZWZvcmV7Y29udGVudDoiXGU4NTgifS5saW5lLWljb24tRW5kLTI6YmVmb3Jle2NvbnRlbnQ6IlxlODU5In0ubGluZS1pY29uLUVuZDpiZWZvcmV7Y29udGVudDoiXGU4NWEifS5saW5lLWljb24tRW5kd2F5czpiZWZvcmV7Y29udGVudDoiXGU4NWIifS5saW5lLWljb24tRW5naW5lZXJpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlODVjIn0ubGluZS1pY29uLUVudmVsb3BlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlODVkIn0ubGluZS1pY29uLUVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZTg1ZSJ9LmxpbmUtaWNvbi1FbnZpcm9ubWVudGFsLTI6YmVmb3Jle2NvbnRlbnQ6IlxlODVmIn0ubGluZS1pY29uLUVudmlyb25tZW50YWwtMzpiZWZvcmV7Y29udGVudDoiXGU4NjAifS5saW5lLWljb24tRW52aXJvbm1lbnRhbDpiZWZvcmV7Y29udGVudDoiXGU4NjEifS5saW5lLWljb24tRXF1YWxpemVyOmJlZm9yZXtjb250ZW50OiJcZTg2MiJ9LmxpbmUtaWNvbi1FcmFzZXItMjpiZWZvcmV7Y29udGVudDoiXGU4NjMifS5saW5lLWljb24tRXJhc2VyLTM6YmVmb3Jle2NvbnRlbnQ6IlxlODY0In0ubGluZS1pY29uLUVyYXNlcjpiZWZvcmV7Y29udGVudDoiXGU4NjUifS5saW5lLWljb24tRXJyb3ItNDA0V2luZG93OmJlZm9yZXtjb250ZW50OiJcZTg2NiJ9LmxpbmUtaWNvbi1FdXJvLVNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlODY3In0ubGluZS1pY29uLUV1cm8tU2lnbjI6YmVmb3Jle2NvbnRlbnQ6IlxlODY4In0ubGluZS1pY29uLUV1cm86YmVmb3Jle2NvbnRlbnQ6IlxlODY5In0ubGluZS1pY29uLUV2ZXJub3RlOmJlZm9yZXtjb250ZW50OiJcZTg2YSJ9LmxpbmUtaWNvbi1FdmlsOmJlZm9yZXtjb250ZW50OiJcZTg2YiJ9LmxpbmUtaWNvbi1FeHBsb2RlOmJlZm9yZXtjb250ZW50OiJcZTg2YyJ9LmxpbmUtaWNvbi1FeWUtMjpiZWZvcmV7Y29udGVudDoiXGU4NmQifS5saW5lLWljb24tRXllLUJsaW5kOmJlZm9yZXtjb250ZW50OiJcZTg2ZSJ9LmxpbmUtaWNvbi1FeWUtSW52aXNpYmxlOmJlZm9yZXtjb250ZW50OiJcZTg2ZiJ9LmxpbmUtaWNvbi1FeWUtU2NhbjpiZWZvcmV7Y29udGVudDoiXGU4NzAifS5saW5lLWljb24tRXllLVZpc2libGU6YmVmb3Jle2NvbnRlbnQ6IlxlODcxIn0ubGluZS1pY29uLUV5ZTpiZWZvcmV7Y29udGVudDoiXGU4NzIifS5saW5lLWljb24tRXllYnJvdy0yOmJlZm9yZXtjb250ZW50OiJcZTg3MyJ9LmxpbmUtaWNvbi1FeWVicm93LTM6YmVmb3Jle2NvbnRlbnQ6IlxlODc0In0ubGluZS1pY29uLUV5ZWJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxlODc1In0ubGluZS1pY29uLUV5ZWdsYXNzZXMtU21pbGV5OmJlZm9yZXtjb250ZW50OiJcZTg3NiJ9LmxpbmUtaWNvbi1FeWVnbGFzc2VzLVNtaWxleTI6YmVmb3Jle2NvbnRlbnQ6IlxlODc3In0ubGluZS1pY29uLUZhY2UtU3R5bGU6YmVmb3Jle2NvbnRlbnQ6IlxlODc4In0ubGluZS1pY29uLUZhY2UtU3R5bGUyOmJlZm9yZXtjb250ZW50OiJcZTg3OSJ9LmxpbmUtaWNvbi1GYWNlLVN0eWxlMzpiZWZvcmV7Y29udGVudDoiXGU4N2EifS5saW5lLWljb24tRmFjZS1TdHlsZTQ6YmVmb3Jle2NvbnRlbnQ6IlxlODdiIn0ubGluZS1pY29uLUZhY2UtU3R5bGU1OmJlZm9yZXtjb250ZW50OiJcZTg3YyJ9LmxpbmUtaWNvbi1GYWNlLVN0eWxlNjpiZWZvcmV7Y29udGVudDoiXGU4N2QifS5saW5lLWljb24tRmFjZWJvb2stMjpiZWZvcmV7Y29udGVudDoiXGU4N2UifS5saW5lLWljb24tRmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxlODdmIn0ubGluZS1pY29uLUZhY3RvcnktMjpiZWZvcmV7Y29udGVudDoiXGU4ODAifS5saW5lLWljb24tRmFjdG9yeTpiZWZvcmV7Y29udGVudDoiXGU4ODEifS5saW5lLWljb24tRmFocmVuaGVpdDpiZWZvcmV7Y29udGVudDoiXGU4ODIifS5saW5lLWljb24tRmFtaWx5LVNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlODgzIn0ubGluZS1pY29uLUZhbjpiZWZvcmV7Y29udGVudDoiXGU4ODQifS5saW5lLWljb24tRmFybWVyOmJlZm9yZXtjb250ZW50OiJcZTg4NSJ9LmxpbmUtaWNvbi1GYXNoaW9uOmJlZm9yZXtjb250ZW50OiJcZTg4NiJ9LmxpbmUtaWNvbi1GYXZvcml0ZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlODg3In0ubGluZS1pY29uLUZheDpiZWZvcmV7Y29udGVudDoiXGU4ODgifS5saW5lLWljb24tRmVhdGhlcjpiZWZvcmV7Y29udGVudDoiXGU4ODkifS5saW5lLWljb24tRmVlZGJ1cm5lcjpiZWZvcmV7Y29udGVudDoiXGU4OGEifS5saW5lLWljb24tRmVtYWxlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlODhiIn0ubGluZS1pY29uLUZlbWFsZS1TaWduOmJlZm9yZXtjb250ZW50OiJcZTg4YyJ9LmxpbmUtaWNvbi1GZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxlODhkIn0ubGluZS1pY29uLUZpbGUtQmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlODhlIn0ubGluZS1pY29uLUZpbGUtQm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxlODhmIn0ubGluZS1pY29uLUZpbGUtQ2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlODkwIn0ubGluZS1pY29uLUZpbGUtQ2xpcGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZTg5MSJ9LmxpbmUtaWNvbi1GaWxlLUNsaXBib2FyZEZpbGVUZXh0OmJlZm9yZXtjb250ZW50OiJcZTg5MiJ9LmxpbmUtaWNvbi1GaWxlLUNsaXBib2FyZFRleHRJbWFnZTpiZWZvcmV7Y29udGVudDoiXGU4OTMifS5saW5lLWljb24tRmlsZS1DbG91ZDpiZWZvcmV7Y29udGVudDoiXGU4OTQifS5saW5lLWljb24tRmlsZS1Db3B5OmJlZm9yZXtjb250ZW50OiJcZTg5NSJ9LmxpbmUtaWNvbi1GaWxlLUNvcHkyOmJlZm9yZXtjb250ZW50OiJcZTg5NiJ9LmxpbmUtaWNvbi1GaWxlLUNTVjpiZWZvcmV7Y29udGVudDoiXGU4OTcifS5saW5lLWljb24tRmlsZS1Eb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGU4OTgifS5saW5lLWljb24tRmlsZS1FZGl0OmJlZm9yZXtjb250ZW50OiJcZTg5OSJ9LmxpbmUtaWNvbi1GaWxlLUV4Y2VsOmJlZm9yZXtjb250ZW50OiJcZTg5YSJ9LmxpbmUtaWNvbi1GaWxlLUZhdm9yaXRlOmJlZm9yZXtjb250ZW50OiJcZTg5YiJ9LmxpbmUtaWNvbi1GaWxlLUZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxlODljIn0ubGluZS1pY29uLUZpbGUtR3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxlODlkIn0ubGluZS1pY29uLUZpbGUtSGlkZTpiZWZvcmV7Y29udGVudDoiXGU4OWUifS5saW5lLWljb24tRmlsZS1Ib3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZTg5ZiJ9LmxpbmUtaWNvbi1GaWxlLUhvcml6b250YWxUZXh0OmJlZm9yZXtjb250ZW50OiJcZThhMCJ9LmxpbmUtaWNvbi1GaWxlLUhUTUw6YmVmb3Jle2NvbnRlbnQ6IlxlOGExIn0ubGluZS1pY29uLUZpbGUtSlBHOmJlZm9yZXtjb250ZW50OiJcZThhMiJ9LmxpbmUtaWNvbi1GaWxlLUxpbms6YmVmb3Jle2NvbnRlbnQ6IlxlOGEzIn0ubGluZS1pY29uLUZpbGUtTG9hZGluZzpiZWZvcmV7Y29udGVudDoiXGU4YTQifS5saW5lLWljb24tRmlsZS1Mb2NrOmJlZm9yZXtjb250ZW50OiJcZThhNSJ9LmxpbmUtaWNvbi1GaWxlLUxvdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOGE2In0ubGluZS1pY29uLUZpbGUtTXVzaWM6YmVmb3Jle2NvbnRlbnQ6IlxlOGE3In0ubGluZS1pY29uLUZpbGUtTmV0d29yazpiZWZvcmV7Y29udGVudDoiXGU4YTgifS5saW5lLWljb24tRmlsZS1QaWN0dXJlczpiZWZvcmV7Y29udGVudDoiXGU4YTkifS5saW5lLWljb24tRmlsZS1QaWU6YmVmb3Jle2NvbnRlbnQ6IlxlOGFhIn0ubGluZS1pY29uLUZpbGUtUHJlc2VudGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZThhYiJ9LmxpbmUtaWNvbi1GaWxlLVJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6IlxlOGFjIn0ubGluZS1pY29uLUZpbGUtU2VhcmNoOmJlZm9yZXtjb250ZW50OiJcZThhZCJ9LmxpbmUtaWNvbi1GaWxlLVNldHRpbmdzOmJlZm9yZXtjb250ZW50OiJcZThhZSJ9LmxpbmUtaWNvbi1GaWxlLVNoYXJlOmJlZm9yZXtjb250ZW50OiJcZThhZiJ9LmxpbmUtaWNvbi1GaWxlLVRleHRJbWFnZTpiZWZvcmV7Y29udGVudDoiXGU4YjAifS5saW5lLWljb24tRmlsZS1UcmFzaDpiZWZvcmV7Y29udGVudDoiXGU4YjEifS5saW5lLWljb24tRmlsZS1UWFQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGIyIn0ubGluZS1pY29uLUZpbGUtVXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZThiMyJ9LmxpbmUtaWNvbi1GaWxlLVZpZGVvOmJlZm9yZXtjb250ZW50OiJcZThiNCJ9LmxpbmUtaWNvbi1GaWxlLVdvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGI1In0ubGluZS1pY29uLUZpbGUtWmlwOmJlZm9yZXtjb250ZW50OiJcZThiNiJ9LmxpbmUtaWNvbi1GaWxlOmJlZm9yZXtjb250ZW50OiJcZThiNyJ9LmxpbmUtaWNvbi1GaWxlczpiZWZvcmV7Y29udGVudDoiXGU4YjgifS5saW5lLWljb24tRmlsbS1Cb2FyZDpiZWZvcmV7Y29udGVudDoiXGU4YjkifS5saW5lLWljb24tRmlsbS1DYXJ0cmlkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlOGJhIn0ubGluZS1pY29uLUZpbG0tU3RyaXA6YmVmb3Jle2NvbnRlbnQ6IlxlOGJiIn0ubGluZS1pY29uLUZpbG0tVmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxlOGJjIn0ubGluZS1pY29uLUZpbG06YmVmb3Jle2NvbnRlbnQ6IlxlOGJkIn0ubGluZS1pY29uLUZpbHRlci0yOmJlZm9yZXtjb250ZW50OiJcZThiZSJ9LmxpbmUtaWNvbi1GaWx0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOGJmIn0ubGluZS1pY29uLUZpbmFuY2lhbDpiZWZvcmV7Y29udGVudDoiXGU4YzAifS5saW5lLWljb24tRmluZC1Vc2VyOmJlZm9yZXtjb250ZW50OiJcZThjMSJ9LmxpbmUtaWNvbi1GaW5nZXItRHJhZ0ZvdXJTaWRlczpiZWZvcmV7Y29udGVudDoiXGU4YzIifS5saW5lLWljb24tRmluZ2VyLURyYWdUd29TaWRlczpiZWZvcmV7Y29udGVudDoiXGU4YzMifS5saW5lLWljb24tRmluZ2VyLVByaW50OmJlZm9yZXtjb250ZW50OiJcZThjNCJ9LmxpbmUtaWNvbi1GaW5nZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOGM1In0ubGluZS1pY29uLUZpbmdlcnByaW50LTI6YmVmb3Jle2NvbnRlbnQ6IlxlOGM2In0ubGluZS1pY29uLUZpbmdlcnByaW50OmJlZm9yZXtjb250ZW50OiJcZThjNyJ9LmxpbmUtaWNvbi1GaXJlLUZsYW1lOmJlZm9yZXtjb250ZW50OiJcZThjOCJ9LmxpbmUtaWNvbi1GaXJlLUZsYW1lMjpiZWZvcmV7Y29udGVudDoiXGU4YzkifS5saW5lLWljb24tRmlyZS1IeWRyYW50OmJlZm9yZXtjb250ZW50OiJcZThjYSJ9LmxpbmUtaWNvbi1GaXJlLVN0YWlvbjpiZWZvcmV7Y29udGVudDoiXGU4Y2IifS5saW5lLWljb24tRmlyZWZveDpiZWZvcmV7Y29udGVudDoiXGU4Y2MifS5saW5lLWljb24tRmlyZXdhbGw6YmVmb3Jle2NvbnRlbnQ6IlxlOGNkIn0ubGluZS1pY29uLUZpcnN0LUFpZDpiZWZvcmV7Y29udGVudDoiXGU4Y2UifS5saW5lLWljb24tRmlyc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlOGNmIn0ubGluZS1pY29uLUZpc2gtRm9vZDpiZWZvcmV7Y29udGVudDoiXGU4ZDAifS5saW5lLWljb24tRmlzaDpiZWZvcmV7Y29udGVudDoiXGU4ZDEifS5saW5lLWljb24tRml0LVRvOmJlZm9yZXtjb250ZW50OiJcZThkMiJ9LmxpbmUtaWNvbi1GaXQtVG8yOmJlZm9yZXtjb250ZW50OiJcZThkMyJ9LmxpbmUtaWNvbi1GaXZlLUZpbmdlcnM6YmVmb3Jle2NvbnRlbnQ6IlxlOGQ0In0ubGluZS1pY29uLUZpdmUtRmluZ2Vyc0RyYWc6YmVmb3Jle2NvbnRlbnQ6IlxlOGQ1In0ubGluZS1pY29uLUZpdmUtRmluZ2Vyc0RyYWcyOmJlZm9yZXtjb250ZW50OiJcZThkNiJ9LmxpbmUtaWNvbi1GaXZlLUZpbmdlcnNUb3VjaDpiZWZvcmV7Y29udGVudDoiXGU4ZDcifS5saW5lLWljb24tRmxhZy0yOmJlZm9yZXtjb250ZW50OiJcZThkOCJ9LmxpbmUtaWNvbi1GbGFnLTM6YmVmb3Jle2NvbnRlbnQ6IlxlOGQ5In0ubGluZS1pY29uLUZsYWctNDpiZWZvcmV7Y29udGVudDoiXGU4ZGEifS5saW5lLWljb24tRmxhZy01OmJlZm9yZXtjb250ZW50OiJcZThkYiJ9LmxpbmUtaWNvbi1GbGFnLTY6YmVmb3Jle2NvbnRlbnQ6IlxlOGRjIn0ubGluZS1pY29uLUZsYWc6YmVmb3Jle2NvbnRlbnQ6IlxlOGRkIn0ubGluZS1pY29uLUZsYW1pbmdvOmJlZm9yZXtjb250ZW50OiJcZThkZSJ9LmxpbmUtaWNvbi1GbGFzaC0yOmJlZm9yZXtjb250ZW50OiJcZThkZiJ9LmxpbmUtaWNvbi1GbGFzaC1WaWRlbzpiZWZvcmV7Y29udGVudDoiXGU4ZTAifS5saW5lLWljb24tRmxhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlOGUxIn0ubGluZS1pY29uLUZsYXNobGlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGUyIn0ubGluZS1pY29uLUZsYXNrLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOGUzIn0ubGluZS1pY29uLUZsYXNrOmJlZm9yZXtjb250ZW50OiJcZThlNCJ9LmxpbmUtaWNvbi1GbGljazpiZWZvcmV7Y29udGVudDoiXGU4ZTUifS5saW5lLWljb24tRmxpY2tyOmJlZm9yZXtjb250ZW50OiJcZThlNiJ9LmxpbmUtaWNvbi1GbG93ZXJwb3Q6YmVmb3Jle2NvbnRlbnQ6IlxlOGU3In0ubGluZS1pY29uLUZsdW9yZXNjZW50OmJlZm9yZXtjb250ZW50OiJcZThlOCJ9LmxpbmUtaWNvbi1Gb2ctRGF5OmJlZm9yZXtjb250ZW50OiJcZThlOSJ9LmxpbmUtaWNvbi1Gb2ctTmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGVhIn0ubGluZS1pY29uLUZvbGRlci1BZGQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGViIn0ubGluZS1pY29uLUZvbGRlci1BcmNoaXZlOmJlZm9yZXtjb250ZW50OiJcZThlYyJ9LmxpbmUtaWNvbi1Gb2xkZXItQmluZGVyOmJlZm9yZXtjb250ZW50OiJcZThlZCJ9LmxpbmUtaWNvbi1Gb2xkZXItQmluZGVyMjpiZWZvcmV7Y29udGVudDoiXGU4ZWUifS5saW5lLWljb24tRm9sZGVyLUJsb2NrOmJlZm9yZXtjb250ZW50OiJcZThlZiJ9LmxpbmUtaWNvbi1Gb2xkZXItQm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxlOGYwIn0ubGluZS1pY29uLUZvbGRlci1DbG9zZTpiZWZvcmV7Y29udGVudDoiXGU4ZjEifS5saW5lLWljb24tRm9sZGVyLUNsb3VkOmJlZm9yZXtjb250ZW50OiJcZThmMiJ9LmxpbmUtaWNvbi1Gb2xkZXItRGVsZXRlOmJlZm9yZXtjb250ZW50OiJcZThmMyJ9LmxpbmUtaWNvbi1Gb2xkZXItRG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGY0In0ubGluZS1pY29uLUZvbGRlci1FZGl0OmJlZm9yZXtjb250ZW50OiJcZThmNSJ9LmxpbmUtaWNvbi1Gb2xkZXItRmF2b3JpdGU6YmVmb3Jle2NvbnRlbnQ6IlxlOGY2In0ubGluZS1pY29uLUZvbGRlci1GaXJlOmJlZm9yZXtjb250ZW50OiJcZThmNyJ9LmxpbmUtaWNvbi1Gb2xkZXItSGlkZTpiZWZvcmV7Y29udGVudDoiXGU4ZjgifS5saW5lLWljb24tRm9sZGVyLUxpbms6YmVmb3Jle2NvbnRlbnQ6IlxlOGY5In0ubGluZS1pY29uLUZvbGRlci1Mb2FkaW5nOmJlZm9yZXtjb250ZW50OiJcZThmYSJ9LmxpbmUtaWNvbi1Gb2xkZXItTG9jazpiZWZvcmV7Y29udGVudDoiXGU4ZmIifS5saW5lLWljb24tRm9sZGVyLUxvdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOGZjIn0ubGluZS1pY29uLUZvbGRlci1NdXNpYzpiZWZvcmV7Y29udGVudDoiXGU4ZmQifS5saW5lLWljb24tRm9sZGVyLU5ldHdvcms6YmVmb3Jle2NvbnRlbnQ6IlxlOGZlIn0ubGluZS1pY29uLUZvbGRlci1PcGVuOmJlZm9yZXtjb250ZW50OiJcZThmZiJ9LmxpbmUtaWNvbi1Gb2xkZXItT3BlbjI6YmVmb3Jle2NvbnRlbnQ6IlxlOTAwIn0ubGluZS1pY29uLUZvbGRlci1Pcmdhbml6aW5nOmJlZm9yZXtjb250ZW50OiJcZTkwMSJ9LmxpbmUtaWNvbi1Gb2xkZXItUGljdHVyZXM6YmVmb3Jle2NvbnRlbnQ6IlxlOTAyIn0ubGluZS1pY29uLUZvbGRlci1SZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZTkwMyJ9LmxpbmUtaWNvbi1Gb2xkZXItUmVtb3ZlLTpiZWZvcmV7Y29udGVudDoiXGU5MDQifS5saW5lLWljb24tRm9sZGVyLVNlYXJjaDpiZWZvcmV7Y29udGVudDoiXGU5MDUifS5saW5lLWljb24tRm9sZGVyLVNldHRpbmdzOmJlZm9yZXtjb250ZW50OiJcZTkwNiJ9LmxpbmUtaWNvbi1Gb2xkZXItU2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTA3In0ubGluZS1pY29uLUZvbGRlci1UcmFzaDpiZWZvcmV7Y29udGVudDoiXGU5MDgifS5saW5lLWljb24tRm9sZGVyLVVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGU5MDkifS5saW5lLWljb24tRm9sZGVyLVZpZGVvOmJlZm9yZXtjb250ZW50OiJcZTkwYSJ9LmxpbmUtaWNvbi1Gb2xkZXItV2l0aERvY3VtZW50OmJlZm9yZXtjb250ZW50OiJcZTkwYiJ9LmxpbmUtaWNvbi1Gb2xkZXItWmlwOmJlZm9yZXtjb250ZW50OiJcZTkwYyJ9LmxpbmUtaWNvbi1Gb2xkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTBkIn0ubGluZS1pY29uLUZvbGRlcnM6YmVmb3Jle2NvbnRlbnQ6IlxlOTBlIn0ubGluZS1pY29uLUZvbnQtQ29sb3I6YmVmb3Jle2NvbnRlbnQ6IlxlOTBmIn0ubGluZS1pY29uLUZvbnQtTmFtZTpiZWZvcmV7Y29udGVudDoiXGU5MTAifS5saW5lLWljb24tRm9udC1TaXplOmJlZm9yZXtjb250ZW50OiJcZTkxMSJ9LmxpbmUtaWNvbi1Gb250LVN0eWxlOmJlZm9yZXtjb250ZW50OiJcZTkxMiJ9LmxpbmUtaWNvbi1Gb250LVN0eWxlU3Vic2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZTkxMyJ9LmxpbmUtaWNvbi1Gb250LVN0eWxlU3VwZXJzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTE0In0ubGluZS1pY29uLUZvbnQtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZTkxNSJ9LmxpbmUtaWNvbi1Gb290LTI6YmVmb3Jle2NvbnRlbnQ6IlxlOTE2In0ubGluZS1pY29uLUZvb3Q6YmVmb3Jle2NvbnRlbnQ6IlxlOTE3In0ubGluZS1pY29uLUZvb3RiYWxsLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOTE4In0ubGluZS1pY29uLUZvb3RiYWxsOmJlZm9yZXtjb250ZW50OiJcZTkxOSJ9LmxpbmUtaWNvbi1Gb290cHJpbnQtMjpiZWZvcmV7Y29udGVudDoiXGU5MWEifS5saW5lLWljb24tRm9vdHByaW50LTM6YmVmb3Jle2NvbnRlbnQ6IlxlOTFiIn0ubGluZS1pY29uLUZvb3RwcmludDpiZWZvcmV7Y29udGVudDoiXGU5MWMifS5saW5lLWljb24tRm9yZXN0OmJlZm9yZXtjb250ZW50OiJcZTkxZCJ9LmxpbmUtaWNvbi1Gb3JrOmJlZm9yZXtjb250ZW50OiJcZTkxZSJ9LmxpbmUtaWNvbi1Gb3Jtc3ByaW5nOmJlZm9yZXtjb250ZW50OiJcZTkxZiJ9LmxpbmUtaWNvbi1Gb3JtdWxhOmJlZm9yZXtjb250ZW50OiJcZTkyMCJ9LmxpbmUtaWNvbi1Gb3JzcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTIxIn0ubGluZS1pY29uLUZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTIyIn0ubGluZS1pY29uLUZvdW50YWluLVBlbjpiZWZvcmV7Y29udGVudDoiXGU5MjMifS5saW5lLWljb24tRm91ci1GaW5nZXJzOmJlZm9yZXtjb250ZW50OiJcZTkyNCJ9LmxpbmUtaWNvbi1Gb3VyLUZpbmdlcnNEcmFnOmJlZm9yZXtjb250ZW50OiJcZTkyNSJ9LmxpbmUtaWNvbi1Gb3VyLUZpbmdlcnNEcmFnMjpiZWZvcmV7Y29udGVudDoiXGU5MjYifS5saW5lLWljb24tRm91ci1GaW5nZXJzVG91Y2g6YmVmb3Jle2NvbnRlbnQ6IlxlOTI3In0ubGluZS1pY29uLUZveDpiZWZvcmV7Y29udGVudDoiXGU5MjgifS5saW5lLWljb24tRnJhbmtlbnN0ZWluOmJlZm9yZXtjb250ZW50OiJcZTkyOSJ9LmxpbmUtaWNvbi1GcmVuY2gtRnJpZXM6YmVmb3Jle2NvbnRlbnQ6IlxlOTJhIn0ubGluZS1pY29uLUZyaWVuZGZlZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTJiIn0ubGluZS1pY29uLUZyaWVuZHN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTJjIn0ubGluZS1pY29uLUZyb2c6YmVmb3Jle2NvbnRlbnQ6IlxlOTJkIn0ubGluZS1pY29uLUZydWl0czpiZWZvcmV7Y29udGVudDoiXGU5MmUifS5saW5lLWljb24tRnVlbDpiZWZvcmV7Y29udGVudDoiXGU5MmYifS5saW5lLWljb24tRnVsbC1CYWc6YmVmb3Jle2NvbnRlbnQ6IlxlOTMwIn0ubGluZS1pY29uLUZ1bGwtQmFza2V0OmJlZm9yZXtjb250ZW50OiJcZTkzMSJ9LmxpbmUtaWNvbi1GdWxsLUNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTMyIn0ubGluZS1pY29uLUZ1bGwtTW9vbjpiZWZvcmV7Y29udGVudDoiXGU5MzMifS5saW5lLWljb24tRnVsbC1TY3JlZW46YmVmb3Jle2NvbnRlbnQ6IlxlOTM0In0ubGluZS1pY29uLUZ1bGwtU2NyZWVuMjpiZWZvcmV7Y29udGVudDoiXGU5MzUifS5saW5lLWljb24tRnVsbC1WaWV3OmJlZm9yZXtjb250ZW50OiJcZTkzNiJ9LmxpbmUtaWNvbi1GdWxsLVZpZXcyOmJlZm9yZXtjb250ZW50OiJcZTkzNyJ9LmxpbmUtaWNvbi1GdWxsLVZpZXdXaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlOTM4In0ubGluZS1pY29uLUZ1bmN0aW9uOmJlZm9yZXtjb250ZW50OiJcZTkzOSJ9LmxpbmUtaWNvbi1GdW5reTpiZWZvcmV7Y29udGVudDoiXGU5M2EifS5saW5lLWljb24tRnVubnktQmljeWNsZTpiZWZvcmV7Y29udGVudDoiXGU5M2IifS5saW5lLWljb24tRnVybDpiZWZvcmV7Y29udGVudDoiXGU5M2MifS5saW5lLWljb24tR2FtZXBhZC0yOmJlZm9yZXtjb250ZW50OiJcZTkzZCJ9LmxpbmUtaWNvbi1HYW1lcGFkOmJlZm9yZXtjb250ZW50OiJcZTkzZSJ9LmxpbmUtaWNvbi1HYXMtUHVtcDpiZWZvcmV7Y29udGVudDoiXGU5M2YifS5saW5lLWljb24tR2F1Z2FnZS0yOmJlZm9yZXtjb250ZW50OiJcZTk0MCJ9LmxpbmUtaWNvbi1HYXVnYWdlOmJlZm9yZXtjb250ZW50OiJcZTk0MSJ9LmxpbmUtaWNvbi1HYXk6YmVmb3Jle2NvbnRlbnQ6IlxlOTQyIn0ubGluZS1pY29uLUdlYXItMjpiZWZvcmV7Y29udGVudDoiXGU5NDMifS5saW5lLWljb24tR2VhcjpiZWZvcmV7Y29udGVudDoiXGU5NDQifS5saW5lLWljb24tR2VhcnMtMjpiZWZvcmV7Y29udGVudDoiXGU5NDUifS5saW5lLWljb24tR2VhcnM6YmVmb3Jle2NvbnRlbnQ6IlxlOTQ2In0ubGluZS1pY29uLUdlZWstMjpiZWZvcmV7Y29udGVudDoiXGU5NDcifS5saW5lLWljb24tR2VlazpiZWZvcmV7Y29udGVudDoiXGU5NDgifS5saW5lLWljb24tR2VtaW5pLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOTQ5In0ubGluZS1pY29uLUdlbWluaTpiZWZvcmV7Y29udGVudDoiXGU5NGEifS5saW5lLWljb24tR2VuaXVzOmJlZm9yZXtjb250ZW50OiJcZTk0YiJ9LmxpbmUtaWNvbi1HZW50bGVtYW46YmVmb3Jle2NvbnRlbnQ6IlxlOTRjIn0ubGluZS1pY29uLUdlby0tOmJlZm9yZXtjb250ZW50OiJcZTk0ZCJ9LmxpbmUtaWNvbi1HZW8tOmJlZm9yZXtjb250ZW50OiJcZTk0ZSJ9LmxpbmUtaWNvbi1HZW8tQ2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTRmIn0ubGluZS1pY29uLUdlby1Mb3ZlOmJlZm9yZXtjb250ZW50OiJcZTk1MCJ9LmxpbmUtaWNvbi1HZW8tTnVtYmVyOmJlZm9yZXtjb250ZW50OiJcZTk1MSJ9LmxpbmUtaWNvbi1HZW8tU3RhcjpiZWZvcmV7Y29udGVudDoiXGU5NTIifS5saW5lLWljb24tR2VvOmJlZm9yZXtjb250ZW50OiJcZTk1MyJ9LmxpbmUtaWNvbi1HZW8yLS06YmVmb3Jle2NvbnRlbnQ6IlxlOTU0In0ubGluZS1pY29uLUdlbzItOmJlZm9yZXtjb250ZW50OiJcZTk1NSJ9LmxpbmUtaWNvbi1HZW8yLUNsb3NlOmJlZm9yZXtjb250ZW50OiJcZTk1NiJ9LmxpbmUtaWNvbi1HZW8yLUxvdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTU3In0ubGluZS1pY29uLUdlbzItTnVtYmVyOmJlZm9yZXtjb250ZW50OiJcZTk1OCJ9LmxpbmUtaWNvbi1HZW8yLVN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTU5In0ubGluZS1pY29uLUdlbzI6YmVmb3Jle2NvbnRlbnQ6IlxlOTVhIn0ubGluZS1pY29uLUdlbzMtLTpiZWZvcmV7Y29udGVudDoiXGU5NWIifS5saW5lLWljb24tR2VvMy06YmVmb3Jle2NvbnRlbnQ6IlxlOTVjIn0ubGluZS1pY29uLUdlbzMtQ2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTVkIn0ubGluZS1pY29uLUdlbzMtTG92ZTpiZWZvcmV7Y29udGVudDoiXGU5NWUifS5saW5lLWljb24tR2VvMy1OdW1iZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTVmIn0ubGluZS1pY29uLUdlbzMtU3RhcjpiZWZvcmV7Y29udGVudDoiXGU5NjAifS5saW5lLWljb24tR2VvMzpiZWZvcmV7Y29udGVudDoiXGU5NjEifS5saW5lLWljb24tR2V5OmJlZm9yZXtjb250ZW50OiJcZTk2MiJ9LmxpbmUtaWNvbi1HaWZ0LUJveDpiZWZvcmV7Y29udGVudDoiXGU5NjMifS5saW5lLWljb24tR2lyYWZmZTpiZWZvcmV7Y29udGVudDoiXGU5NjQifS5saW5lLWljb24tR2lybDpiZWZvcmV7Y29udGVudDoiXGU5NjUifS5saW5lLWljb24tR2xhc3MtV2F0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTY2In0ubGluZS1pY29uLUdsYXNzZXMtMjpiZWZvcmV7Y29udGVudDoiXGU5NjcifS5saW5lLWljb24tR2xhc3Nlcy0zOmJlZm9yZXtjb250ZW50OiJcZTk2OCJ9LmxpbmUtaWNvbi1HbGFzc2VzOmJlZm9yZXtjb250ZW50OiJcZTk2OSJ9LmxpbmUtaWNvbi1HbG9iYWwtUG9zaXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlOTZhIn0ubGluZS1pY29uLUdsb2JlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOTZiIn0ubGluZS1pY29uLUdsb2JlOmJlZm9yZXtjb250ZW50OiJcZTk2YyJ9LmxpbmUtaWNvbi1HbG92ZXM6YmVmb3Jle2NvbnRlbnQ6IlxlOTZkIn0ubGluZS1pY29uLUdvLUJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGU5NmUifS5saW5lLWljb24tR28tVG9wOmJlZm9yZXtjb250ZW50OiJcZTk2ZiJ9LmxpbmUtaWNvbi1Hb2dnbGVzOmJlZm9yZXtjb250ZW50OiJcZTk3MCJ9LmxpbmUtaWNvbi1Hb2xmLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOTcxIn0ubGluZS1pY29uLUdvbGY6YmVmb3Jle2NvbnRlbnQ6IlxlOTcyIn0ubGluZS1pY29uLUdvb2dsZS1CdXp6OmJlZm9yZXtjb250ZW50OiJcZTk3MyJ9LmxpbmUtaWNvbi1Hb29nbGUtRHJpdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTc0In0ubGluZS1pY29uLUdvb2dsZS1QbGF5OmJlZm9yZXtjb250ZW50OiJcZTk3NSJ9LmxpbmUtaWNvbi1Hb29nbGUtUGx1czpiZWZvcmV7Y29udGVudDoiXGU5NzYifS5saW5lLWljb24tR29vZ2xlOmJlZm9yZXtjb250ZW50OiJcZTk3NyJ9LmxpbmUtaWNvbi1Hb3BybzpiZWZvcmV7Y29udGVudDoiXGU5NzgifS5saW5lLWljb24tR29yaWxsYTpiZWZvcmV7Y29udGVudDoiXGU5NzkifS5saW5lLWljb24tR293YWxsYTpiZWZvcmV7Y29udGVudDoiXGU5N2EifS5saW5lLWljb24tR3JhdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTdiIn0ubGluZS1pY29uLUdyYXZleWFyZDpiZWZvcmV7Y29udGVudDoiXGU5N2MifS5saW5lLWljb24tR3JlZWNlOmJlZm9yZXtjb250ZW50OiJcZTk3ZCJ9LmxpbmUtaWNvbi1HcmVlbi1FbmVyZ3k6YmVmb3Jle2NvbnRlbnQ6IlxlOTdlIn0ubGluZS1pY29uLUdyZWVuLUhvdXNlOmJlZm9yZXtjb250ZW50OiJcZTk3ZiJ9LmxpbmUtaWNvbi1HdWl0YXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTgwIn0ubGluZS1pY29uLUd1bi0yOmJlZm9yZXtjb250ZW50OiJcZTk4MSJ9LmxpbmUtaWNvbi1HdW4tMzpiZWZvcmV7Y29udGVudDoiXGU5ODIifS5saW5lLWljb24tR3VuOmJlZm9yZXtjb250ZW50OiJcZTk4MyJ9LmxpbmUtaWNvbi1HeW1uYXN0aWNzOmJlZm9yZXtjb250ZW50OiJcZTk4NCJ9LmxpbmUtaWNvbi1IYWlyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOTg1In0ubGluZS1pY29uLUhhaXItMzpiZWZvcmV7Y29udGVudDoiXGU5ODYifS5saW5lLWljb24tSGFpci00OmJlZm9yZXtjb250ZW50OiJcZTk4NyJ9LmxpbmUtaWNvbi1IYWlyOmJlZm9yZXtjb250ZW50OiJcZTk4OCJ9LmxpbmUtaWNvbi1IYWxmLU1vb246YmVmb3Jle2NvbnRlbnQ6IlxlOTg5In0ubGluZS1pY29uLUhhbGxvd2Vlbi1IYWxmTW9vbjpiZWZvcmV7Y29udGVudDoiXGU5OGEifS5saW5lLWljb24tSGFsbG93ZWVuLU1vb246YmVmb3Jle2NvbnRlbnQ6IlxlOThiIn0ubGluZS1pY29uLUhhbWJ1cmdlcjpiZWZvcmV7Y29udGVudDoiXGU5OGMifS5saW5lLWljb24tSGFtbWVyOmJlZm9yZXtjb250ZW50OiJcZTk4ZCJ9LmxpbmUtaWNvbi1IYW5kLVRvdWNoOmJlZm9yZXtjb250ZW50OiJcZTk4ZSJ9LmxpbmUtaWNvbi1IYW5kLVRvdWNoMjpiZWZvcmV7Y29udGVudDoiXGU5OGYifS5saW5lLWljb24tSGFuZC1Ub3VjaFNtYXJ0cGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTkwIn0ubGluZS1pY29uLUhhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTkxIn0ubGluZS1pY29uLUhhbmRzOmJlZm9yZXtjb250ZW50OiJcZTk5MiJ9LmxpbmUtaWNvbi1IYW5kc2hha2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTkzIn0ubGluZS1pY29uLUhhbmdlcjpiZWZvcmV7Y29udGVudDoiXGU5OTQifS5saW5lLWljb24tSGFwcHk6YmVmb3Jle2NvbnRlbnQ6IlxlOTk1In0ubGluZS1pY29uLUhhdC0yOmJlZm9yZXtjb250ZW50OiJcZTk5NiJ9LmxpbmUtaWNvbi1IYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTk3In0ubGluZS1pY29uLUhhdW50ZWQtSG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTk4In0ubGluZS1pY29uLUhELVZpZGVvOmJlZm9yZXtjb250ZW50OiJcZTk5OSJ9LmxpbmUtaWNvbi1IRDpiZWZvcmV7Y29udGVudDoiXGU5OWEifS5saW5lLWljb24tSEREOmJlZm9yZXtjb250ZW50OiJcZTk5YiJ9LmxpbmUtaWNvbi1IZWFkcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTljIn0ubGluZS1pY29uLUhlYWRwaG9uZXM6YmVmb3Jle2NvbnRlbnQ6IlxlOTlkIn0ubGluZS1pY29uLUhlYWRzZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTllIn0ubGluZS1pY29uLUhlYXJ0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlOTlmIn0ubGluZS1pY29uLUhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZTlhMCJ9LmxpbmUtaWNvbi1IZWVscy0yOmJlZm9yZXtjb250ZW50OiJcZTlhMSJ9LmxpbmUtaWNvbi1IZWVsczpiZWZvcmV7Y29udGVudDoiXGU5YTIifS5saW5lLWljb24tSGVpZ2h0LVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGU5YTMifS5saW5lLWljb24tSGVsaWNvcHRlci0yOmJlZm9yZXtjb250ZW50OiJcZTlhNCJ9LmxpbmUtaWNvbi1IZWxpY29wdGVyOmJlZm9yZXtjb250ZW50OiJcZTlhNSJ9LmxpbmUtaWNvbi1IZWxpeC0yOmJlZm9yZXtjb250ZW50OiJcZTlhNiJ9LmxpbmUtaWNvbi1IZWxsbzpiZWZvcmV7Y29udGVudDoiXGU5YTcifS5saW5lLWljb24tSGVsbWV0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlOWE4In0ubGluZS1pY29uLUhlbG1ldC0zOmJlZm9yZXtjb250ZW50OiJcZTlhOSJ9LmxpbmUtaWNvbi1IZWxtZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWFhIn0ubGluZS1pY29uLUhpcG86YmVmb3Jle2NvbnRlbnQ6IlxlOWFiIn0ubGluZS1pY29uLUhpcHN0ZXItR2xhc3NlczpiZWZvcmV7Y29udGVudDoiXGU5YWMifS5saW5lLWljb24tSGlwc3Rlci1HbGFzc2VzMjpiZWZvcmV7Y29udGVudDoiXGU5YWQifS5saW5lLWljb24tSGlwc3Rlci1HbGFzc2VzMzpiZWZvcmV7Y29udGVudDoiXGU5YWUifS5saW5lLWljb24tSGlwc3Rlci1IZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZTlhZiJ9LmxpbmUtaWNvbi1IaXBzdGVyLU1lbjpiZWZvcmV7Y29udGVudDoiXGU5YjAifS5saW5lLWljb24tSGlwc3Rlci1NZW4yOmJlZm9yZXtjb250ZW50OiJcZTliMSJ9LmxpbmUtaWNvbi1IaXBzdGVyLU1lbjM6YmVmb3Jle2NvbnRlbnQ6IlxlOWIyIn0ubGluZS1pY29uLUhpcHN0ZXItU3VuZ2xhc3NlczpiZWZvcmV7Y29udGVudDoiXGU5YjMifS5saW5lLWljb24tSGlwc3Rlci1TdW5nbGFzc2VzMjpiZWZvcmV7Y29udGVudDoiXGU5YjQifS5saW5lLWljb24tSGlwc3Rlci1TdW5nbGFzc2VzMzpiZWZvcmV7Y29udGVudDoiXGU5YjUifS5saW5lLWljb24tSG9rZXk6YmVmb3Jle2NvbnRlbnQ6IlxlOWI2In0ubGluZS1pY29uLUhvbGx5OmJlZm9yZXtjb250ZW50OiJcZTliNyJ9LmxpbmUtaWNvbi1Ib21lLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOWI4In0ubGluZS1pY29uLUhvbWUtMzpiZWZvcmV7Y29udGVudDoiXGU5YjkifS5saW5lLWljb24tSG9tZS00OmJlZm9yZXtjb250ZW50OiJcZTliYSJ9LmxpbmUtaWNvbi1Ib21lLTU6YmVmb3Jle2NvbnRlbnQ6IlxlOWJiIn0ubGluZS1pY29uLUhvbWUtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZTliYyJ9LmxpbmUtaWNvbi1Ib21lOmJlZm9yZXtjb250ZW50OiJcZTliZCJ9LmxpbmUtaWNvbi1Ib21vc2V4dWFsOmJlZm9yZXtjb250ZW50OiJcZTliZSJ9LmxpbmUtaWNvbi1Ib25leTpiZWZvcmV7Y29udGVudDoiXGU5YmYifS5saW5lLWljb24tSG9uZy1Lb25nOmJlZm9yZXtjb250ZW50OiJcZTljMCJ9LmxpbmUtaWNvbi1Ib29kaWU6YmVmb3Jle2NvbnRlbnQ6IlxlOWMxIn0ubGluZS1pY29uLUhvcnJvcjpiZWZvcmV7Y29udGVudDoiXGU5YzIifS5saW5lLWljb24tSG9yc2U6YmVmb3Jle2NvbnRlbnQ6IlxlOWMzIn0ubGluZS1pY29uLUhvc3BpdGFsLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOWM0In0ubGluZS1pY29uLUhvc3BpdGFsOmJlZm9yZXtjb250ZW50OiJcZTljNSJ9LmxpbmUtaWNvbi1Ib3N0OmJlZm9yZXtjb250ZW50OiJcZTljNiJ9LmxpbmUtaWNvbi1Ib3QtRG9nOmJlZm9yZXtjb250ZW50OiJcZTljNyJ9LmxpbmUtaWNvbi1Ib3RlbDpiZWZvcmV7Y29udGVudDoiXGU5YzgifS5saW5lLWljb24tSG91cjpiZWZvcmV7Y29udGVudDoiXGU5YzkifS5saW5lLWljb24tSHViOmJlZm9yZXtjb250ZW50OiJcZTljYSJ9LmxpbmUtaWNvbi1IdW1vcjpiZWZvcmV7Y29udGVudDoiXGU5Y2IifS5saW5lLWljb24tSHVydDpiZWZvcmV7Y29udGVudDoiXGU5Y2MifS5saW5lLWljb24tSWNlLUNyZWFtOmJlZm9yZXtjb250ZW50OiJcZTljZCJ9LmxpbmUtaWNvbi1JQ1E6YmVmb3Jle2NvbnRlbnQ6IlxlOWNlIn0ubGluZS1pY29uLUlELTI6YmVmb3Jle2NvbnRlbnQ6IlxlOWNmIn0ubGluZS1pY29uLUlELTM6YmVmb3Jle2NvbnRlbnQ6IlxlOWQwIn0ubGluZS1pY29uLUlELUNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWQxIn0ubGluZS1pY29uLUlkZWEtMjpiZWZvcmV7Y29udGVudDoiXGU5ZDIifS5saW5lLWljb24tSWRlYS0zOmJlZm9yZXtjb250ZW50OiJcZTlkMyJ9LmxpbmUtaWNvbi1JZGVhLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWQ0In0ubGluZS1pY29uLUlkZWEtNTpiZWZvcmV7Y29udGVudDoiXGU5ZDUifS5saW5lLWljb24tSWRlYTpiZWZvcmV7Y29udGVudDoiXGU5ZDYifS5saW5lLWljb24tSWRlbnRpZmljYXRpb24tQmFkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlOWQ3In0ubGluZS1pY29uLUltREI6YmVmb3Jle2NvbnRlbnQ6IlxlOWQ4In0ubGluZS1pY29uLUluYm94LUVtcHR5OmJlZm9yZXtjb250ZW50OiJcZTlkOSJ9LmxpbmUtaWNvbi1JbmJveC1Gb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZTlkYSJ9LmxpbmUtaWNvbi1JbmJveC1GdWxsOmJlZm9yZXtjb250ZW50OiJcZTlkYiJ9LmxpbmUtaWNvbi1JbmJveC1JbnRvOmJlZm9yZXtjb250ZW50OiJcZTlkYyJ9LmxpbmUtaWNvbi1JbmJveC1PdXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWRkIn0ubGluZS1pY29uLUluYm94LVJlcGx5OmJlZm9yZXtjb250ZW50OiJcZTlkZSJ9LmxpbmUtaWNvbi1JbmJveDpiZWZvcmV7Y29udGVudDoiXGU5ZGYifS5saW5lLWljb24tSW5jcmVhc2UtSW5lZGl0OmJlZm9yZXtjb250ZW50OiJcZTllMCJ9LmxpbmUtaWNvbi1JbmRlbnQtRmlyc3RMaW5lOmJlZm9yZXtjb250ZW50OiJcZTllMSJ9LmxpbmUtaWNvbi1JbmRlbnQtTGVmdE1hcmdpbjpiZWZvcmV7Y29udGVudDoiXGU5ZTIifS5saW5lLWljb24tSW5kZW50LVJpZ2h0TWFyZ2luOmJlZm9yZXtjb250ZW50OiJcZTllMyJ9LmxpbmUtaWNvbi1JbmRpYTpiZWZvcmV7Y29udGVudDoiXGU5ZTQifS5saW5lLWljb24tSW5mby1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlOWU1In0ubGluZS1pY29uLUluZm9ybWF0aW9uOmJlZm9yZXtjb250ZW50OiJcZTllNiJ9LmxpbmUtaWNvbi1JbmlmaXR5OmJlZm9yZXtjb250ZW50OiJcZTllNyJ9LmxpbmUtaWNvbi1JbnN0YWdyYW06YmVmb3Jle2NvbnRlbnQ6IlxlOWU4In0ubGluZS1pY29uLUludGVybmV0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlOWU5In0ubGluZS1pY29uLUludGVybmV0LUV4cGxvcmVyOmJlZm9yZXtjb250ZW50OiJcZTllYSJ9LmxpbmUtaWNvbi1JbnRlcm5ldC1TbWlsZXk6YmVmb3Jle2NvbnRlbnQ6IlxlOWViIn0ubGluZS1pY29uLUludGVybmV0OmJlZm9yZXtjb250ZW50OiJcZTllYyJ9LmxpbmUtaWNvbi1pT1MtQXBwbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOWVkIn0ubGluZS1pY29uLUlzcmFlbDpiZWZvcmV7Y29udGVudDoiXGU5ZWUifS5saW5lLWljb24tSXRhbGljLVRleHQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWVmIn0ubGluZS1pY29uLUphY2tldC0yOmJlZm9yZXtjb250ZW50OiJcZTlmMCJ9LmxpbmUtaWNvbi1KYWNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWYxIn0ubGluZS1pY29uLUphbWFpY2E6YmVmb3Jle2NvbnRlbnQ6IlxlOWYyIn0ubGluZS1pY29uLUphcGFuOmJlZm9yZXtjb250ZW50OiJcZTlmMyJ9LmxpbmUtaWNvbi1KYXBhbmVzZS1HYXRlOmJlZm9yZXtjb250ZW50OiJcZTlmNCJ9LmxpbmUtaWNvbi1KZWFuczpiZWZvcmV7Y29udGVudDoiXGU5ZjUifS5saW5lLWljb24tSmVlcC0yOmJlZm9yZXtjb250ZW50OiJcZTlmNiJ9LmxpbmUtaWNvbi1KZWVwOmJlZm9yZXtjb250ZW50OiJcZTlmNyJ9LmxpbmUtaWNvbi1KZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWY4In0ubGluZS1pY29uLUpveXN0aWNrOmJlZm9yZXtjb250ZW50OiJcZTlmOSJ9LmxpbmUtaWNvbi1KdWljZTpiZWZvcmV7Y29udGVudDoiXGU5ZmEifS5saW5lLWljb24tSnVtcC1Sb3BlOmJlZm9yZXtjb250ZW50OiJcZTlmYiJ9LmxpbmUtaWNvbi1LYW5nb3JvbzpiZWZvcmV7Y29udGVudDoiXGU5ZmMifS5saW5lLWljb24tS2VueWE6YmVmb3Jle2NvbnRlbnQ6IlxlOWZkIn0ubGluZS1pY29uLUtleS0yOmJlZm9yZXtjb250ZW50OiJcZTlmZSJ9LmxpbmUtaWNvbi1LZXktMzpiZWZvcmV7Y29udGVudDoiXGU5ZmYifS5saW5lLWljb24tS2V5LUxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlYTAwIn0ubGluZS1pY29uLUtleTpiZWZvcmV7Y29udGVudDoiXGVhMDEifS5saW5lLWljb24tS2V5Ym9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTAyIn0ubGluZS1pY29uLUtleWJvYXJkMzpiZWZvcmV7Y29udGVudDoiXGVhMDMifS5saW5lLWljb24tS2V5cGFkOmJlZm9yZXtjb250ZW50OiJcZWEwNCJ9LmxpbmUtaWNvbi1LaW5nLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTA1In0ubGluZS1pY29uLUtpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlYTA2In0ubGluZS1pY29uLUtpc3M6YmVmb3Jle2NvbnRlbnQ6IlxlYTA3In0ubGluZS1pY29uLUtuZWU6YmVmb3Jle2NvbnRlbnQ6IlxlYTA4In0ubGluZS1pY29uLUtuaWZlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTA5In0ubGluZS1pY29uLUtuaWZlOmJlZm9yZXtjb250ZW50OiJcZWEwYSJ9LmxpbmUtaWNvbi1LbmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTBiIn0ubGluZS1pY29uLUtvYWxhOmJlZm9yZXtjb250ZW50OiJcZWEwYyJ9LmxpbmUtaWNvbi1Lb3JlYTpiZWZvcmV7Y29udGVudDoiXGVhMGQifS5saW5lLWljb24tTGFtcDpiZWZvcmV7Y29udGVudDoiXGVhMGUifS5saW5lLWljb24tTGFuZHNjYXBlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTBmIn0ubGluZS1pY29uLUxhbmRzY2FwZTpiZWZvcmV7Y29udGVudDoiXGVhMTAifS5saW5lLWljb24tTGFudGVybjpiZWZvcmV7Y29udGVudDoiXGVhMTEifS5saW5lLWljb24tTGFwdG9wLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTEyIn0ubGluZS1pY29uLUxhcHRvcC0zOmJlZm9yZXtjb250ZW50OiJcZWExMyJ9LmxpbmUtaWNvbi1MYXB0b3AtUGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYTE0In0ubGluZS1pY29uLUxhcHRvcC1TZWN1cmU6YmVmb3Jle2NvbnRlbnQ6IlxlYTE1In0ubGluZS1pY29uLUxhcHRvcC1UYWJsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTE2In0ubGluZS1pY29uLUxhcHRvcDpiZWZvcmV7Y29udGVudDoiXGVhMTcifS5saW5lLWljb24tTGFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYTE4In0ubGluZS1pY29uLUxhc3QtRk06YmVmb3Jle2NvbnRlbnQ6IlxlYTE5In0ubGluZS1pY29uLUxhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlYTFhIn0ubGluZS1pY29uLUxhdWdoaW5nOmJlZm9yZXtjb250ZW50OiJcZWExYiJ9LmxpbmUtaWNvbi1MYXllci0xNjM1OmJlZm9yZXtjb250ZW50OiJcZWExYyJ9LmxpbmUtaWNvbi1MYXllci0xNjQ2OmJlZm9yZXtjb250ZW50OiJcZWExZCJ9LmxpbmUtaWNvbi1MYXllci1CYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGVhMWUifS5saW5lLWljb24tTGF5ZXItRm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGVhMWYifS5saW5lLWljb24tTGVhZnMtMjpiZWZvcmV7Y29udGVudDoiXGVhMjAifS5saW5lLWljb24tTGVhZnM6YmVmb3Jle2NvbnRlbnQ6IlxlYTIxIn0ubGluZS1pY29uLUxlYW5pbmctVG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYTIyIn0ubGluZS1pY29uLUxlZnQtLVJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWEyMyJ9LmxpbmUtaWNvbi1MZWZ0LS1SaWdodDM6YmVmb3Jle2NvbnRlbnQ6IlxlYTI0In0ubGluZS1pY29uLUxlZnQtMjpiZWZvcmV7Y29udGVudDoiXGVhMjUifS5saW5lLWljb24tTGVmdC0zOmJlZm9yZXtjb250ZW50OiJcZWEyNiJ9LmxpbmUtaWNvbi1MZWZ0LTQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTI3In0ubGluZS1pY29uLUxlZnQtVG9SaWdodDpiZWZvcmV7Y29udGVudDoiXGVhMjgifS5saW5lLWljb24tTGVmdDpiZWZvcmV7Y29udGVudDoiXGVhMjkifS5saW5lLWljb24tTGVnLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTJhIn0ubGluZS1pY29uLUxlZzpiZWZvcmV7Y29udGVudDoiXGVhMmIifS5saW5lLWljb24tTGVnbzpiZWZvcmV7Y29udGVudDoiXGVhMmMifS5saW5lLWljb24tTGVtb246YmVmb3Jle2NvbnRlbnQ6IlxlYTJkIn0ubGluZS1pY29uLUxlbi0yOmJlZm9yZXtjb250ZW50OiJcZWEyZSJ9LmxpbmUtaWNvbi1MZW4tMzpiZWZvcmV7Y29udGVudDoiXGVhMmYifS5saW5lLWljb24tTGVuOmJlZm9yZXtjb250ZW50OiJcZWEzMCJ9LmxpbmUtaWNvbi1MZW8tMjpiZWZvcmV7Y29udGVudDoiXGVhMzEifS5saW5lLWljb24tTGVvOmJlZm9yZXtjb250ZW50OiJcZWEzMiJ9LmxpbmUtaWNvbi1MZW9wYXJkOmJlZm9yZXtjb250ZW50OiJcZWEzMyJ9LmxpbmUtaWNvbi1MZXNiaWFuOmJlZm9yZXtjb250ZW50OiJcZWEzNCJ9LmxpbmUtaWNvbi1MZXNiaWFuczpiZWZvcmV7Y29udGVudDoiXGVhMzUifS5saW5lLWljb24tTGV0dGVyLUNsb3NlOmJlZm9yZXtjb250ZW50OiJcZWEzNiJ9LmxpbmUtaWNvbi1MZXR0ZXItT3BlbjpiZWZvcmV7Y29udGVudDoiXGVhMzcifS5saW5lLWljb24tTGV0dGVyLVNlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTM4In0ubGluZS1pY29uLUxpYnJhLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTM5In0ubGluZS1pY29uLUxpYnJhOmJlZm9yZXtjb250ZW50OiJcZWEzYSJ9LmxpbmUtaWNvbi1MaWJyYXJ5LTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTNiIn0ubGluZS1pY29uLUxpYnJhcnk6YmVmb3Jle2NvbnRlbnQ6IlxlYTNjIn0ubGluZS1pY29uLUxpZmUtSmFja2V0OmJlZm9yZXtjb250ZW50OiJcZWEzZCJ9LmxpbmUtaWNvbi1MaWZlLVNhZmVyOmJlZm9yZXtjb250ZW50OiJcZWEzZSJ9LmxpbmUtaWNvbi1MaWdodC1CdWxiOmJlZm9yZXtjb250ZW50OiJcZWEzZiJ9LmxpbmUtaWNvbi1MaWdodC1CdWxiMjpiZWZvcmV7Y29udGVudDoiXGVhNDAifS5saW5lLWljb24tTGlnaHQtQnVsYkxlYWY6YmVmb3Jle2NvbnRlbnQ6IlxlYTQxIn0ubGluZS1pY29uLUxpZ2h0aG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlYTQyIn0ubGluZS1pY29uLUxpa2UtMjpiZWZvcmV7Y29udGVudDoiXGVhNDMifS5saW5lLWljb24tTGlrZTpiZWZvcmV7Y29udGVudDoiXGVhNDQifS5saW5lLWljb24tTGluZS1DaGFydDpiZWZvcmV7Y29udGVudDoiXGVhNDUifS5saW5lLWljb24tTGluZS1DaGFydDI6YmVmb3Jle2NvbnRlbnQ6IlxlYTQ2In0ubGluZS1pY29uLUxpbmUtQ2hhcnQzOmJlZm9yZXtjb250ZW50OiJcZWE0NyJ9LmxpbmUtaWNvbi1MaW5lLUNoYXJ0NDpiZWZvcmV7Y29udGVudDoiXGVhNDgifS5saW5lLWljb24tTGluZS1TcGFjaW5nOmJlZm9yZXtjb250ZW50OiJcZWE0OSJ9LmxpbmUtaWNvbi1MaW5lLVNwYWNpbmdUZXh0OmJlZm9yZXtjb250ZW50OiJcZWE0YSJ9LmxpbmUtaWNvbi1MaW5rLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTRiIn0ubGluZS1pY29uLUxpbms6YmVmb3Jle2NvbnRlbnQ6IlxlYTRjIn0ubGluZS1pY29uLUxpbmtlZGluLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTRkIn0ubGluZS1pY29uLUxpbmtlZGluOmJlZm9yZXtjb250ZW50OiJcZWE0ZSJ9LmxpbmUtaWNvbi1MaW51eDpiZWZvcmV7Y29udGVudDoiXGVhNGYifS5saW5lLWljb24tTGlvbjpiZWZvcmV7Y29udGVudDoiXGVhNTAifS5saW5lLWljb24tTGl2ZWpvdXJuYWw6YmVmb3Jle2NvbnRlbnQ6IlxlYTUxIn0ubGluZS1pY29uLUxvYWRpbmctMjpiZWZvcmV7Y29udGVudDoiXGVhNTIifS5saW5lLWljb24tTG9hZGluZy0zOmJlZm9yZXtjb250ZW50OiJcZWE1MyJ9LmxpbmUtaWNvbi1Mb2FkaW5nLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGVhNTQifS5saW5lLWljb24tTG9hZGluZzpiZWZvcmV7Y29udGVudDoiXGVhNTUifS5saW5lLWljb24tTG9jYXRpb24tMjpiZWZvcmV7Y29udGVudDoiXGVhNTYifS5saW5lLWljb24tTG9jYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlYTU3In0ubGluZS1pY29uLUxvY2stMjpiZWZvcmV7Y29udGVudDoiXGVhNTgifS5saW5lLWljb24tTG9jay0zOmJlZm9yZXtjb250ZW50OiJcZWE1OSJ9LmxpbmUtaWNvbi1Mb2NrLVVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYTVhIn0ubGluZS1pY29uLUxvY2stV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWE1YiJ9LmxpbmUtaWNvbi1Mb2NrOmJlZm9yZXtjb250ZW50OiJcZWE1YyJ9LmxpbmUtaWNvbi1Mb2xsaXBvcC0yOmJlZm9yZXtjb250ZW50OiJcZWE1ZCJ9LmxpbmUtaWNvbi1Mb2xsaXBvcC0zOmJlZm9yZXtjb250ZW50OiJcZWE1ZSJ9LmxpbmUtaWNvbi1Mb2xsaXBvcDpiZWZvcmV7Y29udGVudDoiXGVhNWYifS5saW5lLWljb24tTG9vcDpiZWZvcmV7Y29udGVudDoiXGVhNjAifS5saW5lLWljb24tTG91ZDpiZWZvcmV7Y29udGVudDoiXGVhNjEifS5saW5lLWljb24tTG91ZHNwZWFrZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYTYyIn0ubGluZS1pY29uLUxvdmUtMjpiZWZvcmV7Y29udGVudDoiXGVhNjMifS5saW5lLWljb24tTG92ZS1Vc2VyOmJlZm9yZXtjb250ZW50OiJcZWE2NCJ9LmxpbmUtaWNvbi1Mb3ZlLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGVhNjUifS5saW5lLWljb24tTG92ZTpiZWZvcmV7Y29udGVudDoiXGVhNjYifS5saW5lLWljb24tTG93ZXJjYXNlLVRleHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTY3In0ubGluZS1pY29uLUx1Z2dhZmUtRnJvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTY4In0ubGluZS1pY29uLUx1Z2dhZ2UtMjpiZWZvcmV7Y29udGVudDoiXGVhNjkifS5saW5lLWljb24tTWFjcm86YmVmb3Jle2NvbnRlbnQ6IlxlYTZhIn0ubGluZS1pY29uLU1hZ2ljLVdhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTZiIn0ubGluZS1pY29uLU1hZ25ldDpiZWZvcmV7Y29udGVudDoiXGVhNmMifS5saW5lLWljb24tTWFnbmlmaS1HbGFzcy06YmVmb3Jle2NvbnRlbnQ6IlxlYTZkIn0ubGluZS1pY29uLU1hZ25pZmktR2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlYTZlIn0ubGluZS1pY29uLU1hZ25pZmktR2xhc3MyOmJlZm9yZXtjb250ZW50OiJcZWE2ZiJ9LmxpbmUtaWNvbi1NYWlsLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTcwIn0ubGluZS1pY29uLU1haWwtMzpiZWZvcmV7Y29udGVudDoiXGVhNzEifS5saW5lLWljb24tTWFpbC1BZGQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTcyIn0ubGluZS1pY29uLU1haWwtQXR0YWNoZW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTczIn0ubGluZS1pY29uLU1haWwtQmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlYTc0In0ubGluZS1pY29uLU1haWwtRGVsZXRlOmJlZm9yZXtjb250ZW50OiJcZWE3NSJ9LmxpbmUtaWNvbi1NYWlsLUZhdm9yaXRlOmJlZm9yZXtjb250ZW50OiJcZWE3NiJ9LmxpbmUtaWNvbi1NYWlsLUZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTc3In0ubGluZS1pY29uLU1haWwtR2FsbGVyeTpiZWZvcmV7Y29udGVudDoiXGVhNzgifS5saW5lLWljb24tTWFpbC1JbmJveDpiZWZvcmV7Y29udGVudDoiXGVhNzkifS5saW5lLWljb24tTWFpbC1MaW5rOmJlZm9yZXtjb250ZW50OiJcZWE3YSJ9LmxpbmUtaWNvbi1NYWlsLUxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlYTdiIn0ubGluZS1pY29uLU1haWwtTG92ZTpiZWZvcmV7Y29udGVudDoiXGVhN2MifS5saW5lLWljb24tTWFpbC1Nb25leTpiZWZvcmV7Y29udGVudDoiXGVhN2QifS5saW5lLWljb24tTWFpbC1PcGVuOmJlZm9yZXtjb250ZW50OiJcZWE3ZSJ9LmxpbmUtaWNvbi1NYWlsLU91dGJveDpiZWZvcmV7Y29udGVudDoiXGVhN2YifS5saW5lLWljb24tTWFpbC1QYXNzd29yZDpiZWZvcmV7Y29udGVudDoiXGVhODAifS5saW5lLWljb24tTWFpbC1QaG90bzpiZWZvcmV7Y29udGVudDoiXGVhODEifS5saW5lLWljb24tTWFpbC1SZWFkOmJlZm9yZXtjb250ZW50OiJcZWE4MiJ9LmxpbmUtaWNvbi1NYWlsLVJlbW92ZXg6YmVmb3Jle2NvbnRlbnQ6IlxlYTgzIn0ubGluZS1pY29uLU1haWwtUmVwbHk6YmVmb3Jle2NvbnRlbnQ6IlxlYTg0In0ubGluZS1pY29uLU1haWwtUmVwbHlBbGw6YmVmb3Jle2NvbnRlbnQ6IlxlYTg1In0ubGluZS1pY29uLU1haWwtU2VhcmNoOmJlZm9yZXtjb250ZW50OiJcZWE4NiJ9LmxpbmUtaWNvbi1NYWlsLVNlbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTg3In0ubGluZS1pY29uLU1haWwtU2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6IlxlYTg4In0ubGluZS1pY29uLU1haWwtVW5yZWFkOmJlZm9yZXtjb250ZW50OiJcZWE4OSJ9LmxpbmUtaWNvbi1NYWlsLVZpZGVvOmJlZm9yZXtjb250ZW50OiJcZWE4YSJ9LmxpbmUtaWNvbi1NYWlsLXdpdGhBdFNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlYThiIn0ubGluZS1pY29uLU1haWwtV2l0aEN1cnNvcnM6YmVmb3Jle2NvbnRlbnQ6IlxlYThjIn0ubGluZS1pY29uLU1haWw6YmVmb3Jle2NvbnRlbnQ6IlxlYThkIn0ubGluZS1pY29uLU1haWxib3gtRW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxlYThlIn0ubGluZS1pY29uLU1haWxib3gtRnVsbDpiZWZvcmV7Y29udGVudDoiXGVhOGYifS5saW5lLWljb24tTWFsZS0yOmJlZm9yZXtjb250ZW50OiJcZWE5MCJ9LmxpbmUtaWNvbi1NYWxlLVNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlYTkxIn0ubGluZS1pY29uLU1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYTkyIn0ubGluZS1pY29uLU1hbGVGZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYTkzIn0ubGluZS1pY29uLU1hbi1TaWduOmJlZm9yZXtjb250ZW50OiJcZWE5NCJ9LmxpbmUtaWNvbi1NYW5hZ2VtZW50OmJlZm9yZXtjb250ZW50OiJcZWE5NSJ9LmxpbmUtaWNvbi1NYW5zLVVuZGVyd2VhcjpiZWZvcmV7Y29udGVudDoiXGVhOTYifS5saW5lLWljb24tTWFucy1VbmRlcndlYXIyOmJlZm9yZXtjb250ZW50OiJcZWE5NyJ9LmxpbmUtaWNvbi1NYXAtTWFya2VyOmJlZm9yZXtjb250ZW50OiJcZWE5OCJ9LmxpbmUtaWNvbi1NYXAtTWFya2VyMjpiZWZvcmV7Y29udGVudDoiXGVhOTkifS5saW5lLWljb24tTWFwLU1hcmtlcjM6YmVmb3Jle2NvbnRlbnQ6IlxlYTlhIn0ubGluZS1pY29uLU1hcDpiZWZvcmV7Y29udGVudDoiXGVhOWIifS5saW5lLWljb24tTWFwMjpiZWZvcmV7Y29udGVudDoiXGVhOWMifS5saW5lLWljb24tTWFya2VyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTlkIn0ubGluZS1pY29uLU1hcmtlci0zOmJlZm9yZXtjb250ZW50OiJcZWE5ZSJ9LmxpbmUtaWNvbi1NYXJrZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYTlmIn0ubGluZS1pY29uLU1hcnRpbmktR2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlYWEwIn0ubGluZS1pY29uLU1hc2s6YmVmb3Jle2NvbnRlbnQ6IlxlYWExIn0ubGluZS1pY29uLU1hc3Rlci1DYXJkOmJlZm9yZXtjb250ZW50OiJcZWFhMiJ9LmxpbmUtaWNvbi1NYXhpbWl6ZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYWEzIn0ubGluZS1pY29uLU1heGltaXplOmJlZm9yZXtjb250ZW50OiJcZWFhNCJ9LmxpbmUtaWNvbi1NZWRhbC0yOmJlZm9yZXtjb250ZW50OiJcZWFhNSJ9LmxpbmUtaWNvbi1NZWRhbC0zOmJlZm9yZXtjb250ZW50OiJcZWFhNiJ9LmxpbmUtaWNvbi1NZWRhbDpiZWZvcmV7Y29udGVudDoiXGVhYTcifS5saW5lLWljb24tTWVkaWNhbC1TaWduOmJlZm9yZXtjb250ZW50OiJcZWFhOCJ9LmxpbmUtaWNvbi1NZWRpY2luZS0yOmJlZm9yZXtjb250ZW50OiJcZWFhOSJ9LmxpbmUtaWNvbi1NZWRpY2luZS0zOmJlZm9yZXtjb250ZW50OiJcZWFhYSJ9LmxpbmUtaWNvbi1NZWRpY2luZTpiZWZvcmV7Y29udGVudDoiXGVhYWIifS5saW5lLWljb24tTWVnYXBob25lOmJlZm9yZXtjb250ZW50OiJcZWFhYyJ9LmxpbmUtaWNvbi1NZW1vcnktQ2FyZDpiZWZvcmV7Y29udGVudDoiXGVhYWQifS5saW5lLWljb24tTWVtb3J5LUNhcmQyOmJlZm9yZXtjb250ZW50OiJcZWFhZSJ9LmxpbmUtaWNvbi1NZW1vcnktQ2FyZDM6YmVmb3Jle2NvbnRlbnQ6IlxlYWFmIn0ubGluZS1pY29uLU1lbjpiZWZvcmV7Y29udGVudDoiXGVhYjAifS5saW5lLWljb24tTWVub3JhaDpiZWZvcmV7Y29udGVudDoiXGVhYjEifS5saW5lLWljb24tTWVuczpiZWZvcmV7Y29udGVudDoiXGVhYjIifS5saW5lLWljb24tTWV0YWNhZmU6YmVmb3Jle2NvbnRlbnQ6IlxlYWIzIn0ubGluZS1pY29uLU1leGljbzpiZWZvcmV7Y29udGVudDoiXGVhYjQifS5saW5lLWljb24tTWljOmJlZm9yZXtjb250ZW50OiJcZWFiNSJ9LmxpbmUtaWNvbi1NaWNyb3Bob25lLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYWI2In0ubGluZS1pY29uLU1pY3JvcGhvbmUtMzpiZWZvcmV7Y29udGVudDoiXGVhYjcifS5saW5lLWljb24tTWljcm9waG9uZS00OmJlZm9yZXtjb250ZW50OiJcZWFiOCJ9LmxpbmUtaWNvbi1NaWNyb3Bob25lLTU6YmVmb3Jle2NvbnRlbnQ6IlxlYWI5In0ubGluZS1pY29uLU1pY3JvcGhvbmUtNjpiZWZvcmV7Y29udGVudDoiXGVhYmEifS5saW5lLWljb24tTWljcm9waG9uZS03OmJlZm9yZXtjb250ZW50OiJcZWFiYiJ9LmxpbmUtaWNvbi1NaWNyb3Bob25lOmJlZm9yZXtjb250ZW50OiJcZWFiYyJ9LmxpbmUtaWNvbi1NaWNyb3Njb3BlOmJlZm9yZXtjb250ZW50OiJcZWFiZCJ9LmxpbmUtaWNvbi1NaWxrLUJvdHRsZTpiZWZvcmV7Y29udGVudDoiXGVhYmUifS5saW5lLWljb24tTWluZTpiZWZvcmV7Y29udGVudDoiXGVhYmYifS5saW5lLWljb24tTWluaW1pemUtTWF4aW1pemUtQ2xvc2UtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWFjMCJ9LmxpbmUtaWNvbi1NaW5pbWl6ZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYWMxIn0ubGluZS1pY29uLU1pbmltaXplOmJlZm9yZXtjb250ZW50OiJcZWFjMiJ9LmxpbmUtaWNvbi1NaXJyb3I6YmVmb3Jle2NvbnRlbnQ6IlxlYWMzIn0ubGluZS1pY29uLU1peGVyOmJlZm9yZXtjb250ZW50OiJcZWFjNCJ9LmxpbmUtaWNvbi1NaXh4OmJlZm9yZXtjb250ZW50OiJcZWFjNSJ9LmxpbmUtaWNvbi1Nb25leS0yOmJlZm9yZXtjb250ZW50OiJcZWFjNiJ9LmxpbmUtaWNvbi1Nb25leS1CYWc6YmVmb3Jle2NvbnRlbnQ6IlxlYWM3In0ubGluZS1pY29uLU1vbmV5LVNtaWxleTpiZWZvcmV7Y29udGVudDoiXGVhYzgifS5saW5lLWljb24tTW9uZXk6YmVmb3Jle2NvbnRlbnQ6IlxlYWM5In0ubGluZS1pY29uLU1vbml0b3ItMjpiZWZvcmV7Y29udGVudDoiXGVhY2EifS5saW5lLWljb24tTW9uaXRvci0zOmJlZm9yZXtjb250ZW50OiJcZWFjYiJ9LmxpbmUtaWNvbi1Nb25pdG9yLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWNjIn0ubGluZS1pY29uLU1vbml0b3ItNTpiZWZvcmV7Y29udGVudDoiXGVhY2QifS5saW5lLWljb24tTW9uaXRvci1BbmFseXRpY3M6YmVmb3Jle2NvbnRlbnQ6IlxlYWNlIn0ubGluZS1pY29uLU1vbml0b3ItTGFwdG9wOmJlZm9yZXtjb250ZW50OiJcZWFjZiJ9LmxpbmUtaWNvbi1Nb25pdG9yLXBob25lOmJlZm9yZXtjb250ZW50OiJcZWFkMCJ9LmxpbmUtaWNvbi1Nb25pdG9yLVRhYmxldDpiZWZvcmV7Y29udGVudDoiXGVhZDEifS5saW5lLWljb24tTW9uaXRvci1WZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGVhZDIifS5saW5lLWljb24tTW9uaXRvcjpiZWZvcmV7Y29udGVudDoiXGVhZDMifS5saW5lLWljb24tTW9uaXRvcmluZzpiZWZvcmV7Y29udGVudDoiXGVhZDQifS5saW5lLWljb24tTW9ua2V5OmJlZm9yZXtjb250ZW50OiJcZWFkNSJ9LmxpbmUtaWNvbi1Nb25zdGVyOmJlZm9yZXtjb250ZW50OiJcZWFkNiJ9LmxpbmUtaWNvbi1Nb3JvY2NvOmJlZm9yZXtjb250ZW50OiJcZWFkNyJ9LmxpbmUtaWNvbi1Nb3RvcmN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZWFkOCJ9LmxpbmUtaWNvbi1Nb3VzZS0yOmJlZm9yZXtjb250ZW50OiJcZWFkOSJ9LmxpbmUtaWNvbi1Nb3VzZS0zOmJlZm9yZXtjb250ZW50OiJcZWFkYSJ9LmxpbmUtaWNvbi1Nb3VzZS00OmJlZm9yZXtjb250ZW50OiJcZWFkYiJ9LmxpbmUtaWNvbi1Nb3VzZS1Qb2ludGVyOmJlZm9yZXtjb250ZW50OiJcZWFkYyJ9LmxpbmUtaWNvbi1Nb3VzZTpiZWZvcmV7Y29udGVudDoiXGVhZGQifS5saW5lLWljb24tTW91c3RhY2hlLVNtaWxleTpiZWZvcmV7Y29udGVudDoiXGVhZGUifS5saW5lLWljb24tTW92aWUtVGlja2V0OmJlZm9yZXtjb250ZW50OiJcZWFkZiJ9LmxpbmUtaWNvbi1Nb3ZpZTpiZWZvcmV7Y29udGVudDoiXGVhZTAifS5saW5lLWljb24tTXAzLUZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYWUxIn0ubGluZS1pY29uLU11c2V1bTpiZWZvcmV7Y29udGVudDoiXGVhZTIifS5saW5lLWljb24tTXVzaHJvb206YmVmb3Jle2NvbnRlbnQ6IlxlYWUzIn0ubGluZS1pY29uLU11c2ljLU5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxlYWU0In0ubGluZS1pY29uLU11c2ljLU5vdGUyOmJlZm9yZXtjb250ZW50OiJcZWFlNSJ9LmxpbmUtaWNvbi1NdXNpYy1Ob3RlMzpiZWZvcmV7Y29udGVudDoiXGVhZTYifS5saW5lLWljb24tTXVzaWMtTm90ZTQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWU3In0ubGluZS1pY29uLU11c2ljLVBsYXllcjpiZWZvcmV7Y29udGVudDoiXGVhZTgifS5saW5lLWljb24tTXVzdGFjaGUtMjpiZWZvcmV7Y29udGVudDoiXGVhZTkifS5saW5lLWljb24tTXVzdGFjaGUtMzpiZWZvcmV7Y29udGVudDoiXGVhZWEifS5saW5lLWljb24tTXVzdGFjaGUtNDpiZWZvcmV7Y29udGVudDoiXGVhZWIifS5saW5lLWljb24tTXVzdGFjaGUtNTpiZWZvcmV7Y29udGVudDoiXGVhZWMifS5saW5lLWljb24tTXVzdGFjaGUtNjpiZWZvcmV7Y29udGVudDoiXGVhZWQifS5saW5lLWljb24tTXVzdGFjaGUtNzpiZWZvcmV7Y29udGVudDoiXGVhZWUifS5saW5lLWljb24tTXVzdGFjaGUtODpiZWZvcmV7Y29udGVudDoiXGVhZWYifS5saW5lLWljb24tTXVzdGFjaGU6YmVmb3Jle2NvbnRlbnQ6IlxlYWYwIn0ubGluZS1pY29uLU11dGU6YmVmb3Jle2NvbnRlbnQ6IlxlYWYxIn0ubGluZS1pY29uLU15c3BhY2U6YmVmb3Jle2NvbnRlbnQ6IlxlYWYyIn0ubGluZS1pY29uLU5hdmlnYXQtU3RhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWYzIn0ubGluZS1pY29uLU5hdmlnYXRlLUVuZDpiZWZvcmV7Y29udGVudDoiXGVhZjQifS5saW5lLWljb24tTmF2aWdhdGlvbi1MZWZ0V2luZG93OmJlZm9yZXtjb250ZW50OiJcZWFmNSJ9LmxpbmUtaWNvbi1OYXZpZ2F0aW9uLVJpZ2h0V2luZG93OmJlZm9yZXtjb250ZW50OiJcZWFmNiJ9LmxpbmUtaWNvbi1OZXBhbDpiZWZvcmV7Y29udGVudDoiXGVhZjcifS5saW5lLWljb24tTmV0c2NhcGU6YmVmb3Jle2NvbnRlbnQ6IlxlYWY4In0ubGluZS1pY29uLU5ldHdvcmstV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWFmOSJ9LmxpbmUtaWNvbi1OZXR3b3JrOmJlZm9yZXtjb250ZW50OiJcZWFmYSJ9LmxpbmUtaWNvbi1OZXV0cm9uOmJlZm9yZXtjb250ZW50OiJcZWFmYiJ9LmxpbmUtaWNvbi1OZXctTWFpbDpiZWZvcmV7Y29udGVudDoiXGVhZmMifS5saW5lLWljb24tTmV3LVRhYjpiZWZvcmV7Y29udGVudDoiXGVhZmQifS5saW5lLWljb24tTmV3c3BhcGVyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYWZlIn0ubGluZS1pY29uLU5ld3NwYXBlcjpiZWZvcmV7Y29udGVudDoiXGVhZmYifS5saW5lLWljb24tTmV3c3ZpbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYjAwIn0ubGluZS1pY29uLU5leHQyOmJlZm9yZXtjb250ZW50OiJcZWIwMSJ9LmxpbmUtaWNvbi1OZXh0LTM6YmVmb3Jle2NvbnRlbnQ6IlxlYjAyIn0ubGluZS1pY29uLU5leHQtTXVzaWM6YmVmb3Jle2NvbnRlbnQ6IlxlYjAzIn0ubGluZS1pY29uLU5leHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjA0In0ubGluZS1pY29uLU5vLUJhdHRlcnk6YmVmb3Jle2NvbnRlbnQ6IlxlYjA1In0ubGluZS1pY29uLU5vLURyb3A6YmVmb3Jle2NvbnRlbnQ6IlxlYjA2In0ubGluZS1pY29uLU5vLUZsYXNoOmJlZm9yZXtjb250ZW50OiJcZWIwNyJ9LmxpbmUtaWNvbi1Oby1TbW9raW5nOmJlZm9yZXtjb250ZW50OiJcZWIwOCJ9LmxpbmUtaWNvbi1Ob29zZTpiZWZvcmV7Y29udGVudDoiXGViMDkifS5saW5lLWljb24tTm9ybWFsLVRleHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjBhIn0ubGluZS1pY29uLU5vdGU6YmVmb3Jle2NvbnRlbnQ6IlxlYjBiIn0ubGluZS1pY29uLU5vdGVwYWQtMjpiZWZvcmV7Y29udGVudDoiXGViMGMifS5saW5lLWljb24tTm90ZXBhZDpiZWZvcmV7Y29udGVudDoiXGViMGQifS5saW5lLWljb24tTnVjbGVhcjpiZWZvcmV7Y29udGVudDoiXGViMGUifS5saW5lLWljb24tTnVtYmVyaW5nLUxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlYjBmIn0ubGluZS1pY29uLU51cnNlOmJlZm9yZXtjb250ZW50OiJcZWIxMCJ9LmxpbmUtaWNvbi1PZmZpY2UtTGFtcDpiZWZvcmV7Y29udGVudDoiXGViMTEifS5saW5lLWljb24tT2ZmaWNlOmJlZm9yZXtjb250ZW50OiJcZWIxMiJ9LmxpbmUtaWNvbi1PaWw6YmVmb3Jle2NvbnRlbnQ6IlxlYjEzIn0ubGluZS1pY29uLU9sZC1DYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxlYjE0In0ubGluZS1pY29uLU9sZC1DYXNzZXR0ZTpiZWZvcmV7Y29udGVudDoiXGViMTUifS5saW5lLWljb24tT2xkLUNsb2NrOmJlZm9yZXtjb250ZW50OiJcZWIxNiJ9LmxpbmUtaWNvbi1PbGQtUmFkaW86YmVmb3Jle2NvbnRlbnQ6IlxlYjE3In0ubGluZS1pY29uLU9sZC1TdGlja3k6YmVmb3Jle2NvbnRlbnQ6IlxlYjE4In0ubGluZS1pY29uLU9sZC1TdGlja3kyOmJlZm9yZXtjb250ZW50OiJcZWIxOSJ9LmxpbmUtaWNvbi1PbGQtVGVsZXBob25lOmJlZm9yZXtjb250ZW50OiJcZWIxYSJ9LmxpbmUtaWNvbi1PbGQtVFY6YmVmb3Jle2NvbnRlbnQ6IlxlYjFiIn0ubGluZS1pY29uLU9uLUFpcjpiZWZvcmV7Y29udGVudDoiXGViMWMifS5saW5lLWljb24tT24tT2ZmLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYjFkIn0ubGluZS1pY29uLU9uLU9mZi0zOmJlZm9yZXtjb250ZW50OiJcZWIxZSJ9LmxpbmUtaWNvbi1Pbi1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlYjFmIn0ubGluZS1pY29uLU9uZS1GaW5nZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYjIwIn0ubGluZS1pY29uLU9uZS1GaW5nZXJUb3VjaDpiZWZvcmV7Y29udGVudDoiXGViMjEifS5saW5lLWljb24tT25lLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGViMjIifS5saW5lLWljb24tT3Blbi1CYW5hbmE6YmVmb3Jle2NvbnRlbnQ6IlxlYjIzIn0ubGluZS1pY29uLU9wZW4tQm9vazpiZWZvcmV7Y29udGVudDoiXGViMjQifS5saW5lLWljb24tT3BlcmEtSG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlYjI1In0ubGluZS1pY29uLU9wZXJhOmJlZm9yZXtjb250ZW50OiJcZWIyNiJ9LmxpbmUtaWNvbi1PcHRpbWl6YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlYjI3In0ubGluZS1pY29uLU9yaWVudGF0aW9uLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYjI4In0ubGluZS1pY29uLU9yaWVudGF0aW9uLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYjI5In0ubGluZS1pY29uLU9yaWVudGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZWIyYSJ9LmxpbmUtaWNvbi1Pcmt1dDpiZWZvcmV7Y29udGVudDoiXGViMmIifS5saW5lLWljb24tT3JuYW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjJjIn0ubGluZS1pY29uLU92ZXItVGltZTpiZWZvcmV7Y29udGVudDoiXGViMmQifS5saW5lLWljb24tT3Zlci1UaW1lMjpiZWZvcmV7Y29udGVudDoiXGViMmUifS5saW5lLWljb24tT3dsOmJlZm9yZXtjb250ZW50OiJcZWIyZiJ9LmxpbmUtaWNvbi1QYWMtTWFuOmJlZm9yZXtjb250ZW50OiJcZWIzMCJ9LmxpbmUtaWNvbi1QYWludC1CcnVzaDpiZWZvcmV7Y29udGVudDoiXGViMzEifS5saW5lLWljb24tUGFpbnQtQnVja2V0OmJlZm9yZXtjb250ZW50OiJcZWIzMiJ9LmxpbmUtaWNvbi1QYWludGJydXNoOmJlZm9yZXtjb250ZW50OiJcZWIzMyJ9LmxpbmUtaWNvbi1QYWxldHRlOmJlZm9yZXtjb250ZW50OiJcZWIzNCJ9LmxpbmUtaWNvbi1QYWxtLVRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxlYjM1In0ubGluZS1pY29uLVBhbmRhOmJlZm9yZXtjb250ZW50OiJcZWIzNiJ9LmxpbmUtaWNvbi1QYW5vcmFtYTpiZWZvcmV7Y29udGVudDoiXGViMzcifS5saW5lLWljb24tUGFudGhlb246YmVmb3Jle2NvbnRlbnQ6IlxlYjM4In0ubGluZS1pY29uLVBhbnRvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYjM5In0ubGluZS1pY29uLVBhbnRzOmJlZm9yZXtjb250ZW50OiJcZWIzYSJ9LmxpbmUtaWNvbi1QYXBlci1QbGFuZTpiZWZvcmV7Y29udGVudDoiXGViM2IifS5saW5lLWljb24tUGFwZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYjNjIn0ubGluZS1pY29uLVBhcmFzYWlsaW5nOmJlZm9yZXtjb250ZW50OiJcZWIzZCJ9LmxpbmUtaWNvbi1QYXJyb3Q6YmVmb3Jle2NvbnRlbnQ6IlxlYjNlIn0ubGluZS1pY29uLVBhc3N3b3JkLTJzaG9wcGluZzpiZWZvcmV7Y29udGVudDoiXGViM2YifS5saW5lLWljb24tUGFzc3dvcmQtRmllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjQwIn0ubGluZS1pY29uLVBhc3N3b3JkLXNob3BwaW5nOmJlZm9yZXtjb250ZW50OiJcZWI0MSJ9LmxpbmUtaWNvbi1QYXNzd29yZDpiZWZvcmV7Y29udGVudDoiXGViNDIifS5saW5lLWljb24tcGF1c2UtMjpiZWZvcmV7Y29udGVudDoiXGViNDMifS5saW5lLWljb24tUGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxlYjQ0In0ubGluZS1pY29uLVBhdzpiZWZvcmV7Y29udGVudDoiXGViNDUifS5saW5lLWljb24tUGF3bjpiZWZvcmV7Y29udGVudDoiXGViNDYifS5saW5lLWljb24tUGF5cGFsOmJlZm9yZXtjb250ZW50OiJcZWI0NyJ9LmxpbmUtaWNvbi1QZW4tMjpiZWZvcmV7Y29udGVudDoiXGViNDgifS5saW5lLWljb24tUGVuLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYjQ5In0ubGluZS1pY29uLVBlbi00OmJlZm9yZXtjb250ZW50OiJcZWI0YSJ9LmxpbmUtaWNvbi1QZW4tNTpiZWZvcmV7Y29udGVudDoiXGViNGIifS5saW5lLWljb24tUGVuLTY6YmVmb3Jle2NvbnRlbnQ6IlxlYjRjIn0ubGluZS1pY29uLVBlbjpiZWZvcmV7Y29udGVudDoiXGViNGQifS5saW5lLWljb24tUGVuY2lsLVJ1bGVyOmJlZm9yZXtjb250ZW50OiJcZWI0ZSJ9LmxpbmUtaWNvbi1QZW5jaWw6YmVmb3Jle2NvbnRlbnQ6IlxlYjRmIn0ubGluZS1pY29uLVBlbmd1aW46YmVmb3Jle2NvbnRlbnQ6IlxlYjUwIn0ubGluZS1pY29uLVBlbnRhZ29uOmJlZm9yZXtjb250ZW50OiJcZWI1MSJ9LmxpbmUtaWNvbi1QZW9wbGUtb25DbG91ZDpiZWZvcmV7Y29udGVudDoiXGViNTIifS5saW5lLWljb24tUGVwcGVyLXdpdGhGaXJlOmJlZm9yZXtjb250ZW50OiJcZWI1MyJ9LmxpbmUtaWNvbi1QZXBwZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYjU0In0ubGluZS1pY29uLVBldHJvbDpiZWZvcmV7Y29udGVudDoiXGViNTUifS5saW5lLWljb24tUGV0cm9uYXMtVG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYjU2In0ubGluZS1pY29uLVBoaWxpcGluZXM6YmVmb3Jle2NvbnRlbnQ6IlxlYjU3In0ubGluZS1pY29uLVBob25lLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYjU4In0ubGluZS1pY29uLVBob25lLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYjU5In0ubGluZS1pY29uLVBob25lLTNHOmJlZm9yZXtjb250ZW50OiJcZWI1YSJ9LmxpbmUtaWNvbi1QaG9uZS00RzpiZWZvcmV7Y29udGVudDoiXGViNWIifS5saW5lLWljb24tUGhvbmUtU2ltY2FyZDpiZWZvcmV7Y29udGVudDoiXGViNWMifS5saW5lLWljb24tUGhvbmUtU01TOmJlZm9yZXtjb250ZW50OiJcZWI1ZCJ9LmxpbmUtaWNvbi1QaG9uZS1XaWZpOmJlZm9yZXtjb250ZW50OiJcZWI1ZSJ9LmxpbmUtaWNvbi1QaG9uZTpiZWZvcmV7Y29udGVudDoiXGViNWYifS5saW5lLWljb24tUGhvdG8tMjpiZWZvcmV7Y29udGVudDoiXGViNjAifS5saW5lLWljb24tUGhvdG8tMzpiZWZvcmV7Y29udGVudDoiXGViNjEifS5saW5lLWljb24tUGhvdG8tQWxidW06YmVmb3Jle2NvbnRlbnQ6IlxlYjYyIn0ubGluZS1pY29uLVBob3RvLUFsYnVtMjpiZWZvcmV7Y29udGVudDoiXGViNjMifS5saW5lLWljb24tUGhvdG8tQWxidW0zOmJlZm9yZXtjb250ZW50OiJcZWI2NCJ9LmxpbmUtaWNvbi1QaG90bzpiZWZvcmV7Y29udGVudDoiXGViNjUifS5saW5lLWljb24tUGhvdG9zOmJlZm9yZXtjb250ZW50OiJcZWI2NiJ9LmxpbmUtaWNvbi1QaHlzaWNzOmJlZm9yZXtjb250ZW50OiJcZWI2NyJ9LmxpbmUtaWNvbi1QaTpiZWZvcmV7Y29udGVudDoiXGViNjgifS5saW5lLWljb24tUGlhbm86YmVmb3Jle2NvbnRlbnQ6IlxlYjY5In0ubGluZS1pY29uLVBpY2FzYTpiZWZvcmV7Y29udGVudDoiXGViNmEifS5saW5lLWljb24tUGllLUNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZWI2YiJ9LmxpbmUtaWNvbi1QaWUtQ2hhcnQyOmJlZm9yZXtjb250ZW50OiJcZWI2YyJ9LmxpbmUtaWNvbi1QaWUtQ2hhcnQzOmJlZm9yZXtjb250ZW50OiJcZWI2ZCJ9LmxpbmUtaWNvbi1QaWxhdGVzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYjZlIn0ubGluZS1pY29uLVBpbGF0ZXMtMzpiZWZvcmV7Y29udGVudDoiXGViNmYifS5saW5lLWljb24tUGlsYXRlczpiZWZvcmV7Y29udGVudDoiXGViNzAifS5saW5lLWljb24tUGlsb3Q6YmVmb3Jle2NvbnRlbnQ6IlxlYjcxIn0ubGluZS1pY29uLVBpbmNoOmJlZm9yZXtjb250ZW50OiJcZWI3MiJ9LmxpbmUtaWNvbi1QaW5nLVBvbmc6YmVmb3Jle2NvbnRlbnQ6IlxlYjczIn0ubGluZS1pY29uLVBpbnRlcmVzdDpiZWZvcmV7Y29udGVudDoiXGViNzQifS5saW5lLWljb24tUGlwZTpiZWZvcmV7Y29udGVudDoiXGViNzUifS5saW5lLWljb24tUGlwZXR0ZTpiZWZvcmV7Y29udGVudDoiXGViNzYifS5saW5lLWljb24tUGlyYW1pZHM6YmVmb3Jle2NvbnRlbnQ6IlxlYjc3In0ubGluZS1pY29uLVBpc2Nlcy0yOmJlZm9yZXtjb250ZW50OiJcZWI3OCJ9LmxpbmUtaWNvbi1QaXNjZXM6YmVmb3Jle2NvbnRlbnQ6IlxlYjc5In0ubGluZS1pY29uLVBpenphLVNsaWNlOmJlZm9yZXtjb250ZW50OiJcZWI3YSJ9LmxpbmUtaWNvbi1QaXp6YTpiZWZvcmV7Y29udGVudDoiXGViN2IifS5saW5lLWljb24tUGxhbmUtMjpiZWZvcmV7Y29udGVudDoiXGViN2MifS5saW5lLWljb24tUGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYjdkIn0ubGluZS1pY29uLVBsYW50OmJlZm9yZXtjb250ZW50OiJcZWI3ZSJ9LmxpbmUtaWNvbi1QbGFzbWlkOmJlZm9yZXtjb250ZW50OiJcZWI3ZiJ9LmxpbmUtaWNvbi1QbGFzdGVyOmJlZm9yZXtjb250ZW50OiJcZWI4MCJ9LmxpbmUtaWNvbi1QbGFzdGljLUN1cFBob25lOmJlZm9yZXtjb250ZW50OiJcZWI4MSJ9LmxpbmUtaWNvbi1QbGFzdGljLUN1cFBob25lMjpiZWZvcmV7Y29udGVudDoiXGViODIifS5saW5lLWljb24tUGxhdGU6YmVmb3Jle2NvbnRlbnQ6IlxlYjgzIn0ubGluZS1pY29uLVBsYXRlczpiZWZvcmV7Y29udGVudDoiXGViODQifS5saW5lLWljb24tUGxheG86YmVmb3Jle2NvbnRlbnQ6IlxlYjg1In0ubGluZS1pY29uLVBsYXktTXVzaWM6YmVmb3Jle2NvbnRlbnQ6IlxlYjg2In0ubGluZS1pY29uLVBsdWctSW46YmVmb3Jle2NvbnRlbnQ6IlxlYjg3In0ubGluZS1pY29uLVBsdWctSW4yOmJlZm9yZXtjb250ZW50OiJcZWI4OCJ9LmxpbmUtaWNvbi1QbHVyazpiZWZvcmV7Y29udGVudDoiXGViODkifS5saW5lLWljb24tUG9pbnRlcjpiZWZvcmV7Y29udGVudDoiXGViOGEifS5saW5lLWljb24tUG9sYW5kOmJlZm9yZXtjb250ZW50OiJcZWI4YiJ9LmxpbmUtaWNvbi1Qb2xpY2UtTWFuOmJlZm9yZXtjb250ZW50OiJcZWI4YyJ9LmxpbmUtaWNvbi1Qb2xpY2UtU3RhdGlvbjpiZWZvcmV7Y29udGVudDoiXGViOGQifS5saW5lLWljb24tUG9saWNlLVdvbWFuOmJlZm9yZXtjb250ZW50OiJcZWI4ZSJ9LmxpbmUtaWNvbi1Qb2xpY2U6YmVmb3Jle2NvbnRlbnQ6IlxlYjhmIn0ubGluZS1pY29uLVBvbG8tU2hpcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjkwIn0ubGluZS1pY29uLVBvcnRyYWl0OmJlZm9yZXtjb250ZW50OiJcZWI5MSJ9LmxpbmUtaWNvbi1Qb3J0dWdhbDpiZWZvcmV7Y29udGVudDoiXGViOTIifS5saW5lLWljb24tUG9zdC1NYWlsOmJlZm9yZXtjb250ZW50OiJcZWI5MyJ9LmxpbmUtaWNvbi1Qb3N0LU1haWwyOmJlZm9yZXtjb250ZW50OiJcZWI5NCJ9LmxpbmUtaWNvbi1Qb3N0LU9mZmljZTpiZWZvcmV7Y29udGVudDoiXGViOTUifS5saW5lLWljb24tUG9zdC1TaWduOmJlZm9yZXtjb250ZW50OiJcZWI5NiJ9LmxpbmUtaWNvbi1Qb3N0LVNpZ24yd2F5czpiZWZvcmV7Y29udGVudDoiXGViOTcifS5saW5lLWljb24tUG9zdGVyb3VzOmJlZm9yZXtjb250ZW50OiJcZWI5OCJ9LmxpbmUtaWNvbi1Qb3VuZC1TaWduOmJlZm9yZXtjb250ZW50OiJcZWI5OSJ9LmxpbmUtaWNvbi1Qb3VuZC1TaWduMjpiZWZvcmV7Y29udGVudDoiXGViOWEifS5saW5lLWljb24tUG91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjliIn0ubGluZS1pY29uLVBvd2VyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYjljIn0ubGluZS1pY29uLVBvd2VyLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYjlkIn0ubGluZS1pY29uLVBvd2VyLUNhYmxlOmJlZm9yZXtjb250ZW50OiJcZWI5ZSJ9LmxpbmUtaWNvbi1Qb3dlci1TdGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZWI5ZiJ9LmxpbmUtaWNvbi1Qb3dlcjpiZWZvcmV7Y29udGVudDoiXGViYTAifS5saW5lLWljb24tUHJhdGVyOmJlZm9yZXtjb250ZW50OiJcZWJhMSJ9LmxpbmUtaWNvbi1QcmVzZW50OmJlZm9yZXtjb250ZW50OiJcZWJhMiJ9LmxpbmUtaWNvbi1QcmVzZW50czpiZWZvcmV7Y29udGVudDoiXGViYTMifS5saW5lLWljb24tUHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxlYmE0In0ubGluZS1pY29uLVByZXZpZXc6YmVmb3Jle2NvbnRlbnQ6IlxlYmE1In0ubGluZS1pY29uLVByZXZpb3VzOmJlZm9yZXtjb250ZW50OiJcZWJhNiJ9LmxpbmUtaWNvbi1QcmljaW5nOmJlZm9yZXtjb250ZW50OiJcZWJhNyJ9LmxpbmUtaWNvbi1QcmludGVyOmJlZm9yZXtjb250ZW50OiJcZWJhOCJ9LmxpbmUtaWNvbi1Qcm9mZXNzb3I6YmVmb3Jle2NvbnRlbnQ6IlxlYmE5In0ubGluZS1pY29uLVByb2ZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmFhIn0ubGluZS1pY29uLVByb2plY3Q6YmVmb3Jle2NvbnRlbnQ6IlxlYmFiIn0ubGluZS1pY29uLVByb2plY3Rvci0yOmJlZm9yZXtjb250ZW50OiJcZWJhYyJ9LmxpbmUtaWNvbi1Qcm9qZWN0b3I6YmVmb3Jle2NvbnRlbnQ6IlxlYmFkIn0ubGluZS1pY29uLVB1bHNlOmJlZm9yZXtjb250ZW50OiJcZWJhZSJ9LmxpbmUtaWNvbi1QdW1wa2luOmJlZm9yZXtjb250ZW50OiJcZWJhZiJ9LmxpbmUtaWNvbi1QdW5rOmJlZm9yZXtjb250ZW50OiJcZWJiMCJ9LmxpbmUtaWNvbi1QdW5rZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYmIxIn0ubGluZS1pY29uLVB1enpsZTpiZWZvcmV7Y29udGVudDoiXGViYjIifS5saW5lLWljb24tUUlLOmJlZm9yZXtjb250ZW50OiJcZWJiMyJ9LmxpbmUtaWNvbi1RUi1Db2RlOmJlZm9yZXtjb250ZW50OiJcZWJiNCJ9LmxpbmUtaWNvbi1RdWVlbi0yOmJlZm9yZXtjb250ZW50OiJcZWJiNSJ9LmxpbmUtaWNvbi1RdWVlbjpiZWZvcmV7Y29udGVudDoiXGViYjYifS5saW5lLWljb24tUXVpbGwtMjpiZWZvcmV7Y29udGVudDoiXGViYjcifS5saW5lLWljb24tUXVpbGwtMzpiZWZvcmV7Y29udGVudDoiXGViYjgifS5saW5lLWljb24tUXVpbGw6YmVmb3Jle2NvbnRlbnQ6IlxlYmI5In0ubGluZS1pY29uLVF1b3Rlcy0yOmJlZm9yZXtjb250ZW50OiJcZWJiYSJ9LmxpbmUtaWNvbi1RdW90ZXM6YmVmb3Jle2NvbnRlbnQ6IlxlYmJiIn0ubGluZS1pY29uLVJhZGlvOmJlZm9yZXtjb250ZW50OiJcZWJiYyJ9LmxpbmUtaWNvbi1SYWRpb2FjdGl2ZTpiZWZvcmV7Y29udGVudDoiXGViYmQifS5saW5lLWljb24tUmFmdGluZzpiZWZvcmV7Y29udGVudDoiXGViYmUifS5saW5lLWljb24tUmFpbi1Ecm9wOmJlZm9yZXtjb250ZW50OiJcZWJiZiJ9LmxpbmUtaWNvbi1SYWluYm93LTI6YmVmb3Jle2NvbnRlbnQ6IlxlYmMwIn0ubGluZS1pY29uLVJhaW5ib3c6YmVmb3Jle2NvbnRlbnQ6IlxlYmMxIn0ubGluZS1pY29uLVJhbTpiZWZvcmV7Y29udGVudDoiXGViYzIifS5saW5lLWljb24tUmF6em9yLUJsYWRlOmJlZm9yZXtjb250ZW50OiJcZWJjMyJ9LmxpbmUtaWNvbi1SZWNlaXB0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlYmM0In0ubGluZS1pY29uLVJlY2VpcHQtMzpiZWZvcmV7Y29udGVudDoiXGViYzUifS5saW5lLWljb24tUmVjZWlwdC00OmJlZm9yZXtjb250ZW50OiJcZWJjNiJ9LmxpbmUtaWNvbi1SZWNlaXB0OmJlZm9yZXtjb250ZW50OiJcZWJjNyJ9LmxpbmUtaWNvbi1SZWNvcmQyOmJlZm9yZXtjb250ZW50OiJcZWJjOCJ9LmxpbmUtaWNvbi1SZWNvcmQtMzpiZWZvcmV7Y29udGVudDoiXGViYzkifS5saW5lLWljb24tUmVjb3JkLU11c2ljOmJlZm9yZXtjb250ZW50OiJcZWJjYSJ9LmxpbmUtaWNvbi1SZWNvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmNiIn0ubGluZS1pY29uLVJlY3ljbGluZy0yOmJlZm9yZXtjb250ZW50OiJcZWJjYyJ9LmxpbmUtaWNvbi1SZWN5Y2xpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlYmNkIn0ubGluZS1pY29uLVJlZGRpdDpiZWZvcmV7Y29udGVudDoiXGViY2UifS5saW5lLWljb24tUmVkaGF0OmJlZm9yZXtjb250ZW50OiJcZWJjZiJ9LmxpbmUtaWNvbi1SZWRpcmVjdDpiZWZvcmV7Y29udGVudDoiXGViZDAifS5saW5lLWljb24tUmVkbzpiZWZvcmV7Y29udGVudDoiXGViZDEifS5saW5lLWljb24tUmVlbDpiZWZvcmV7Y29udGVudDoiXGViZDIifS5saW5lLWljb24tUmVmaW5lcnk6YmVmb3Jle2NvbnRlbnQ6IlxlYmQzIn0ubGluZS1pY29uLVJlZnJlc2gtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWJkNCJ9LmxpbmUtaWNvbi1SZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZWJkNSJ9LmxpbmUtaWNvbi1SZWxvYWQtMjpiZWZvcmV7Y29udGVudDoiXGViZDYifS5saW5lLWljb24tUmVsb2FkLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYmQ3In0ubGluZS1pY29uLVJlbG9hZDpiZWZvcmV7Y29udGVudDoiXGViZDgifS5saW5lLWljb24tUmVtb3RlLUNvbnRyb2xsOmJlZm9yZXtjb250ZW50OiJcZWJkOSJ9LmxpbmUtaWNvbi1SZW1vdGUtQ29udHJvbGwyOmJlZm9yZXtjb250ZW50OiJcZWJkYSJ9LmxpbmUtaWNvbi1SZW1vdmUtQmFnOmJlZm9yZXtjb250ZW50OiJcZWJkYiJ9LmxpbmUtaWNvbi1SZW1vdmUtQmFza2V0OmJlZm9yZXtjb250ZW50OiJcZWJkYyJ9LmxpbmUtaWNvbi1SZW1vdmUtQ2FydDpiZWZvcmV7Y29udGVudDoiXGViZGQifS5saW5lLWljb24tUmVtb3ZlLUZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmRlIn0ubGluZS1pY29uLVJlbW92ZS1Vc2VyOmJlZm9yZXtjb250ZW50OiJcZWJkZiJ9LmxpbmUtaWNvbi1SZW1vdmUtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWJlMCJ9LmxpbmUtaWNvbi1SZW1vdmU6YmVmb3Jle2NvbnRlbnQ6IlxlYmUxIn0ubGluZS1pY29uLVJlbmFtZTpiZWZvcmV7Y29udGVudDoiXGViZTIifS5saW5lLWljb24tUmVwYWlyOmJlZm9yZXtjb250ZW50OiJcZWJlMyJ9LmxpbmUtaWNvbi1SZXBlYXQtMjpiZWZvcmV7Y29udGVudDoiXGViZTQifS5saW5lLWljb24tUmVwZWF0LTM6YmVmb3Jle2NvbnRlbnQ6IlxlYmU1In0ubGluZS1pY29uLVJlcGVhdC00OmJlZm9yZXtjb250ZW50OiJcZWJlNiJ9LmxpbmUtaWNvbi1SZXBlYXQtNTpiZWZvcmV7Y29udGVudDoiXGViZTcifS5saW5lLWljb24tUmVwZWF0LTY6YmVmb3Jle2NvbnRlbnQ6IlxlYmU4In0ubGluZS1pY29uLVJlcGVhdC03OmJlZm9yZXtjb250ZW50OiJcZWJlOSJ9LmxpbmUtaWNvbi1SZXBlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmVhIn0ubGluZS1pY29uLVJlc2V0OmJlZm9yZXtjb250ZW50OiJcZWJlYiJ9LmxpbmUtaWNvbi1SZXNpemU6YmVmb3Jle2NvbnRlbnQ6IlxlYmVjIn0ubGluZS1pY29uLVJlc3RvcmUtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWJlZCJ9LmxpbmUtaWNvbi1SZXRvdWNoaW5nOmJlZm9yZXtjb250ZW50OiJcZWJlZSJ9LmxpbmUtaWNvbi1SZXRyby1DYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxlYmVmIn0ubGluZS1pY29uLVJldHJvOmJlZm9yZXtjb250ZW50OiJcZWJmMCJ9LmxpbmUtaWNvbi1SZXR3ZWV0OmJlZm9yZXtjb250ZW50OiJcZWJmMSJ9LmxpbmUtaWNvbi1SZXZlcmJuYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlYmYyIn0ubGluZS1pY29uLVJld2luZDpiZWZvcmV7Y29udGVudDoiXGViZjMifS5saW5lLWljb24tUkdCOmJlZm9yZXtjb250ZW50OiJcZWJmNCJ9LmxpbmUtaWNvbi1SaWJib24tMjpiZWZvcmV7Y29udGVudDoiXGViZjUifS5saW5lLWljb24tUmliYm9uLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYmY2In0ubGluZS1pY29uLVJpYmJvbjpiZWZvcmV7Y29udGVudDoiXGViZjcifS5saW5lLWljb24tUmlnaHQtMjpiZWZvcmV7Y29udGVudDoiXGViZjgifS5saW5lLWljb24tUmlnaHQtMzpiZWZvcmV7Y29udGVudDoiXGViZjkifS5saW5lLWljb24tUmlnaHQtNDpiZWZvcmV7Y29udGVudDoiXGViZmEifS5saW5lLWljb24tUmlnaHQtVG9MZWZ0OmJlZm9yZXtjb250ZW50OiJcZWJmYiJ9LmxpbmUtaWNvbi1SaWdodDpiZWZvcmV7Y29udGVudDoiXGViZmMifS5saW5lLWljb24tUm9hZC0yOmJlZm9yZXtjb250ZW50OiJcZWJmZCJ9LmxpbmUtaWNvbi1Sb2FkLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYmZlIn0ubGluZS1pY29uLVJvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmZmIn0ubGluZS1pY29uLVJvYm90LTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzAwIn0ubGluZS1pY29uLVJvYm90OmJlZm9yZXtjb250ZW50OiJcZWMwMSJ9LmxpbmUtaWNvbi1Sb2NrLWFuZFJvbGw6YmVmb3Jle2NvbnRlbnQ6IlxlYzAyIn0ubGluZS1pY29uLVJvY2tldDpiZWZvcmV7Y29udGVudDoiXGVjMDMifS5saW5lLWljb24tUm9sbGVyOmJlZm9yZXtjb250ZW50OiJcZWMwNCJ9LmxpbmUtaWNvbi1Sb29mOmJlZm9yZXtjb250ZW50OiJcZWMwNSJ9LmxpbmUtaWNvbi1Sb29rOmJlZm9yZXtjb250ZW50OiJcZWMwNiJ9LmxpbmUtaWNvbi1Sb3RhdGUtR2VzdHVyZTpiZWZvcmV7Y29udGVudDoiXGVjMDcifS5saW5lLWljb24tUm90YXRlLUdlc3R1cmUyOmJlZm9yZXtjb250ZW50OiJcZWMwOCJ9LmxpbmUtaWNvbi1Sb3RhdGUtR2VzdHVyZTM6YmVmb3Jle2NvbnRlbnQ6IlxlYzA5In0ubGluZS1pY29uLVJvdGF0aW9uLTM5MDpiZWZvcmV7Y29udGVudDoiXGVjMGEifS5saW5lLWljb24tUm90YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlYzBiIn0ubGluZS1pY29uLVJvdXRlci0yOmJlZm9yZXtjb250ZW50OiJcZWMwYyJ9LmxpbmUtaWNvbi1Sb3V0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzBkIn0ubGluZS1pY29uLVJTUzpiZWZvcmV7Y29udGVudDoiXGVjMGUifS5saW5lLWljb24tUnVsZXItMjpiZWZvcmV7Y29udGVudDoiXGVjMGYifS5saW5lLWljb24tUnVsZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzEwIn0ubGluZS1pY29uLVJ1bm5pbmctU2hvZXM6YmVmb3Jle2NvbnRlbnQ6IlxlYzExIn0ubGluZS1pY29uLVJ1bm5pbmc6YmVmb3Jle2NvbnRlbnQ6IlxlYzEyIn0ubGluZS1pY29uLVNhZmFyaTpiZWZvcmV7Y29udGVudDoiXGVjMTMifS5saW5lLWljb24tU2FmZS1Cb3g6YmVmb3Jle2NvbnRlbnQ6IlxlYzE0In0ubGluZS1pY29uLVNhZmUtQm94MjpiZWZvcmV7Y29udGVudDoiXGVjMTUifS5saW5lLWljb24tU2FmZXR5LVBpbkNsb3NlOmJlZm9yZXtjb250ZW50OiJcZWMxNiJ9LmxpbmUtaWNvbi1TYWZldHktUGluT3BlbjpiZWZvcmV7Y29udGVudDoiXGVjMTcifS5saW5lLWljb24tU2FnaXR0YXJ1cy0yOmJlZm9yZXtjb250ZW50OiJcZWMxOCJ9LmxpbmUtaWNvbi1TYWdpdHRhcnVzOmJlZm9yZXtjb250ZW50OiJcZWMxOSJ9LmxpbmUtaWNvbi1TYWlsaW5nLVNoaXA6YmVmb3Jle2NvbnRlbnQ6IlxlYzFhIn0ubGluZS1pY29uLVNhbmQtd2F0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxlYzFiIn0ubGluZS1pY29uLVNhbmQtd2F0Y2gyOmJlZm9yZXtjb250ZW50OiJcZWMxYyJ9LmxpbmUtaWNvbi1TYW50YS1DbGF1czpiZWZvcmV7Y29udGVudDoiXGVjMWQifS5saW5lLWljb24tU2FudGEtQ2xhdXMyOmJlZm9yZXtjb250ZW50OiJcZWMxZSJ9LmxpbmUtaWNvbi1TYW50YS1vblNsZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzFmIn0ubGluZS1pY29uLVNhdGVsaXRlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzIwIn0ubGluZS1pY29uLVNhdGVsaXRlOmJlZm9yZXtjb250ZW50OiJcZWMyMSJ9LmxpbmUtaWNvbi1TYXZlLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGVjMjIifS5saW5lLWljb24tU2F2ZTpiZWZvcmV7Y29udGVudDoiXGVjMjMifS5saW5lLWljb24tU2F3OmJlZm9yZXtjb250ZW50OiJcZWMyNCJ9LmxpbmUtaWNvbi1TYXhvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYzI1In0ubGluZS1pY29uLVNjYWxlOmJlZm9yZXtjb250ZW50OiJcZWMyNiJ9LmxpbmUtaWNvbi1TY2FyZjpiZWZvcmV7Y29udGVudDoiXGVjMjcifS5saW5lLWljb24tU2Npc3NvcjpiZWZvcmV7Y29udGVudDoiXGVjMjgifS5saW5lLWljb24tU2Nvb3Rlci1Gcm9udDpiZWZvcmV7Y29udGVudDoiXGVjMjkifS5saW5lLWljb24tU2Nvb3RlcjpiZWZvcmV7Y29udGVudDoiXGVjMmEifS5saW5lLWljb24tU2NvcnBpby0yOmJlZm9yZXtjb250ZW50OiJcZWMyYiJ9LmxpbmUtaWNvbi1TY29ycGlvOmJlZm9yZXtjb250ZW50OiJcZWMyYyJ9LmxpbmUtaWNvbi1TY290bGFuZDpiZWZvcmV7Y29udGVudDoiXGVjMmQifS5saW5lLWljb24tU2NyZXdkcml2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzJlIn0ubGluZS1pY29uLVNjcm9sbC1GYXN0OmJlZm9yZXtjb250ZW50OiJcZWMyZiJ9LmxpbmUtaWNvbi1TY3JvbGw6YmVmb3Jle2NvbnRlbnQ6IlxlYzMwIn0ubGluZS1pY29uLVNjcm9sbGVyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzMxIn0ubGluZS1pY29uLVNjcm9sbGVyOmJlZm9yZXtjb250ZW50OiJcZWMzMiJ9LmxpbmUtaWNvbi1TZWEtRG9nOmJlZm9yZXtjb250ZW50OiJcZWMzMyJ9LmxpbmUtaWNvbi1TZWFyY2gtb25DbG91ZDpiZWZvcmV7Y29udGVudDoiXGVjMzQifS5saW5lLWljb24tU2VhcmNoLVBlb3BsZTpiZWZvcmV7Y29udGVudDoiXGVjMzUifS5saW5lLWljb24tc2Vjb3VuZDpiZWZvcmV7Y29udGVudDoiXGVjMzYifS5saW5lLWljb24tc2Vjb3VuZDI6YmVmb3Jle2NvbnRlbnQ6IlxlYzM3In0ubGluZS1pY29uLVNlY3VyaXR5LUJsb2NrOmJlZm9yZXtjb250ZW50OiJcZWMzOCJ9LmxpbmUtaWNvbi1TZWN1cml0eS1CdWc6YmVmb3Jle2NvbnRlbnQ6IlxlYzM5In0ubGluZS1pY29uLVNlY3VyaXR5LUNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGVjM2EifS5saW5lLWljb24tU2VjdXJpdHktQ2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlYzNiIn0ubGluZS1pY29uLVNlY3VyaXR5LVNldHRpbmdzOmJlZm9yZXtjb250ZW50OiJcZWMzYyJ9LmxpbmUtaWNvbi1TZWN1cml0eS1TbWlsZXk6YmVmb3Jle2NvbnRlbnQ6IlxlYzNkIn0ubGluZS1pY29uLVNlY3VyaXktUmVtb3ZlOmJlZm9yZXtjb250ZW50OiJcZWMzZSJ9LmxpbmUtaWNvbi1TZWVkOmJlZm9yZXtjb250ZW50OiJcZWMzZiJ9LmxpbmUtaWNvbi1TZWxmaWU6YmVmb3Jle2NvbnRlbnQ6IlxlYzQwIn0ubGluZS1pY29uLVNlcmJpYTpiZWZvcmV7Y29udGVudDoiXGVjNDEifS5saW5lLWljb24tU2VydmVyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzQyIn0ubGluZS1pY29uLVNlcnZlcjpiZWZvcmV7Y29udGVudDoiXGVjNDMifS5saW5lLWljb24tU2VydmVyczpiZWZvcmV7Y29udGVudDoiXGVjNDQifS5saW5lLWljb24tU2V0dGluZ3MtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWM0NSJ9LmxpbmUtaWNvbi1TZXdpbmctTWFjaGluZTpiZWZvcmV7Y29udGVudDoiXGVjNDYifS5saW5lLWljb24tU2V4dWFsOmJlZm9yZXtjb250ZW50OiJcZWM0NyJ9LmxpbmUtaWNvbi1TaGFyZS1vbkNsb3VkOmJlZm9yZXtjb250ZW50OiJcZWM0OCJ9LmxpbmUtaWNvbi1TaGFyZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYzQ5In0ubGluZS1pY29uLVNoYXJlOmJlZm9yZXtjb250ZW50OiJcZWM0YSJ9LmxpbmUtaWNvbi1TaGFyZXRoaXM6YmVmb3Jle2NvbnRlbnQ6IlxlYzRiIn0ubGluZS1pY29uLVNoYXJrOmJlZm9yZXtjb250ZW50OiJcZWM0YyJ9LmxpbmUtaWNvbi1TaGVlcDpiZWZvcmV7Y29udGVudDoiXGVjNGQifS5saW5lLWljb24tU2hlcmlmZi1CYWRnZTpiZWZvcmV7Y29udGVudDoiXGVjNGUifS5saW5lLWljb24tU2hpZWxkOmJlZm9yZXtjb250ZW50OiJcZWM0ZiJ9LmxpbmUtaWNvbi1TaGlwLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzUwIn0ubGluZS1pY29uLVNoaXA6YmVmb3Jle2NvbnRlbnQ6IlxlYzUxIn0ubGluZS1pY29uLVNoaXJ0OmJlZm9yZXtjb250ZW50OiJcZWM1MiJ9LmxpbmUtaWNvbi1TaG9lcy0yOmJlZm9yZXtjb250ZW50OiJcZWM1MyJ9LmxpbmUtaWNvbi1TaG9lcy0zOmJlZm9yZXtjb250ZW50OiJcZWM1NCJ9LmxpbmUtaWNvbi1TaG9lczpiZWZvcmV7Y29udGVudDoiXGVjNTUifS5saW5lLWljb24tU2hvcC0yOmJlZm9yZXtjb250ZW50OiJcZWM1NiJ9LmxpbmUtaWNvbi1TaG9wLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYzU3In0ubGluZS1pY29uLVNob3AtNDpiZWZvcmV7Y29udGVudDoiXGVjNTgifS5saW5lLWljb24tU2hvcDpiZWZvcmV7Y29udGVudDoiXGVjNTkifS5saW5lLWljb24tU2hvcHBpbmctQmFnOmJlZm9yZXtjb250ZW50OiJcZWM1YSJ9LmxpbmUtaWNvbi1TaG9wcGluZy1CYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzViIn0ubGluZS1pY29uLVNob3BwaW5nLUNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzVjIn0ubGluZS1pY29uLVNob3J0LVBhbnRzOmJlZm9yZXtjb250ZW50OiJcZWM1ZCJ9LmxpbmUtaWNvbi1TaG91dHdpcmU6YmVmb3Jle2NvbnRlbnQ6IlxlYzVlIn0ubGluZS1pY29uLVNob3ZlbDpiZWZvcmV7Y29udGVudDoiXGVjNWYifS5saW5lLWljb24tU2h1ZmZsZS0yOmJlZm9yZXtjb250ZW50OiJcZWM2MCJ9LmxpbmUtaWNvbi1TaHVmZmxlLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYzYxIn0ubGluZS1pY29uLVNodWZmbGUtNDpiZWZvcmV7Y29udGVudDoiXGVjNjIifS5saW5lLWljb24tU2h1ZmZsZTpiZWZvcmV7Y29udGVudDoiXGVjNjMifS5saW5lLWljb24tU2h1dHRlcjpiZWZvcmV7Y29udGVudDoiXGVjNjQifS5saW5lLWljb24tU2lkZWJhci1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYzY1In0ubGluZS1pY29uLVNpZ25hbDpiZWZvcmV7Y29udGVudDoiXGVjNjYifS5saW5lLWljb24tU2luZ2Fwb3JlOmJlZm9yZXtjb250ZW50OiJcZWM2NyJ9LmxpbmUtaWNvbi1Ta2F0ZS1TaG9lczpiZWZvcmV7Y29udGVudDoiXGVjNjgifS5saW5lLWljb24tU2thdGVib2FyZC0yOmJlZm9yZXtjb250ZW50OiJcZWM2OSJ9LmxpbmUtaWNvbi1Ta2F0ZWJvYXJkOmJlZm9yZXtjb250ZW50OiJcZWM2YSJ9LmxpbmUtaWNvbi1Ta2VsZXRvbjpiZWZvcmV7Y29udGVudDoiXGVjNmIifS5saW5lLWljb24tU2tpOmJlZm9yZXtjb250ZW50OiJcZWM2YyJ9LmxpbmUtaWNvbi1Ta2lydDpiZWZvcmV7Y29udGVudDoiXGVjNmQifS5saW5lLWljb24tU2tyaWxsOmJlZm9yZXtjb250ZW50OiJcZWM2ZSJ9LmxpbmUtaWNvbi1Ta3VsbDpiZWZvcmV7Y29udGVudDoiXGVjNmYifS5saW5lLWljb24tU2t5ZGl2aW5nOmJlZm9yZXtjb250ZW50OiJcZWM3MCJ9LmxpbmUtaWNvbi1Ta3lwZTpiZWZvcmV7Y29udGVudDoiXGVjNzEifS5saW5lLWljb24tU2xlZC13aXRoR2lmdHM6YmVmb3Jle2NvbnRlbnQ6IlxlYzcyIn0ubGluZS1pY29uLVNsZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzczIn0ubGluZS1pY29uLVNsZWVwaW5nOmJlZm9yZXtjb250ZW50OiJcZWM3NCJ9LmxpbmUtaWNvbi1TbGVldDpiZWZvcmV7Y29udGVudDoiXGVjNzUifS5saW5lLWljb24tU2xpcHBlcnM6YmVmb3Jle2NvbnRlbnQ6IlxlYzc2In0ubGluZS1pY29uLVNtYXJ0OmJlZm9yZXtjb250ZW50OiJcZWM3NyJ9LmxpbmUtaWNvbi1TbWFydHBob25lLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzc4In0ubGluZS1pY29uLVNtYXJ0cGhvbmUtMzpiZWZvcmV7Y29udGVudDoiXGVjNzkifS5saW5lLWljb24tU21hcnRwaG9uZS00OmJlZm9yZXtjb250ZW50OiJcZWM3YSJ9LmxpbmUtaWNvbi1TbWFydHBob25lLVNlY3VyZTpiZWZvcmV7Y29udGVudDoiXGVjN2IifS5saW5lLWljb24tU21hcnRwaG9uZTpiZWZvcmV7Y29udGVudDoiXGVjN2MifS5saW5lLWljb24tU21pbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzdkIn0ubGluZS1pY29uLVNtb2tpbmctQXJlYTpiZWZvcmV7Y29udGVudDoiXGVjN2UifS5saW5lLWljb24tU21va2luZy1QaXBlOmJlZm9yZXtjb250ZW50OiJcZWM3ZiJ9LmxpbmUtaWNvbi1TbmFrZTpiZWZvcmV7Y29udGVudDoiXGVjODAifS5saW5lLWljb24tU25vcmtlbDpiZWZvcmV7Y29udGVudDoiXGVjODEifS5saW5lLWljb24tU25vdy0yOmJlZm9yZXtjb250ZW50OiJcZWM4MiJ9LmxpbmUtaWNvbi1Tbm93LURvbWU6YmVmb3Jle2NvbnRlbnQ6IlxlYzgzIn0ubGluZS1pY29uLVNub3ctU3Rvcm06YmVmb3Jle2NvbnRlbnQ6IlxlYzg0In0ubGluZS1pY29uLVNub3c6YmVmb3Jle2NvbnRlbnQ6IlxlYzg1In0ubGluZS1pY29uLVNub3dmbGFrZS0yOmJlZm9yZXtjb250ZW50OiJcZWM4NiJ9LmxpbmUtaWNvbi1Tbm93Zmxha2UtMzpiZWZvcmV7Y29udGVudDoiXGVjODcifS5saW5lLWljb24tU25vd2ZsYWtlLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzg4In0ubGluZS1pY29uLVNub3dmbGFrZTpiZWZvcmV7Y29udGVudDoiXGVjODkifS5saW5lLWljb24tU25vd21hbjpiZWZvcmV7Y29udGVudDoiXGVjOGEifS5saW5lLWljb24tU29jY2VyLUJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxlYzhiIn0ubGluZS1pY29uLVNvY2Nlci1TaG9lczpiZWZvcmV7Y29udGVudDoiXGVjOGMifS5saW5lLWljb24tU29ja3M6YmVmb3Jle2NvbnRlbnQ6IlxlYzhkIn0ubGluZS1pY29uLVNvbGFyOmJlZm9yZXtjb250ZW50OiJcZWM4ZSJ9LmxpbmUtaWNvbi1Tb3VuZC1XYXZlOmJlZm9yZXtjb250ZW50OiJcZWM4ZiJ9LmxpbmUtaWNvbi1Tb3VuZDpiZWZvcmV7Y29udGVudDoiXGVjOTAifS5saW5lLWljb24tU291bmRjbG91ZDpiZWZvcmV7Y29udGVudDoiXGVjOTEifS5saW5lLWljb24tU291cDpiZWZvcmV7Y29udGVudDoiXGVjOTIifS5saW5lLWljb24tU291dGgtQWZyaWNhOmJlZm9yZXtjb250ZW50OiJcZWM5MyJ9LmxpbmUtaWNvbi1TcGFjZS1OZWVkbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzk0In0ubGluZS1pY29uLVNwYWluOmJlZm9yZXtjb250ZW50OiJcZWM5NSJ9LmxpbmUtaWNvbi1TcGFtLU1haWw6YmVmb3Jle2NvbnRlbnQ6IlxlYzk2In0ubGluZS1pY29uLVNwZWFjaC1CdWJibGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzk3In0ubGluZS1pY29uLVNwZWFjaC1CdWJibGUyOmJlZm9yZXtjb250ZW50OiJcZWM5OCJ9LmxpbmUtaWNvbi1TcGVhY2gtQnViYmxlMzpiZWZvcmV7Y29udGVudDoiXGVjOTkifS5saW5lLWljb24tU3BlYWNoLUJ1YmJsZTQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzlhIn0ubGluZS1pY29uLVNwZWFjaC1CdWJibGU1OmJlZm9yZXtjb250ZW50OiJcZWM5YiJ9LmxpbmUtaWNvbi1TcGVhY2gtQnViYmxlNjpiZWZvcmV7Y29udGVudDoiXGVjOWMifS5saW5lLWljb24tU3BlYWNoLUJ1YmJsZTc6YmVmb3Jle2NvbnRlbnQ6IlxlYzlkIn0ubGluZS1pY29uLVNwZWFjaC1CdWJibGU4OmJlZm9yZXtjb250ZW50OiJcZWM5ZSJ9LmxpbmUtaWNvbi1TcGVhY2gtQnViYmxlOTpiZWZvcmV7Y29udGVudDoiXGVjOWYifS5saW5lLWljb24tU3BlYWNoLUJ1YmJsZTEwOmJlZm9yZXtjb250ZW50OiJcZWNhMCJ9LmxpbmUtaWNvbi1TcGVhY2gtQnViYmxlMTE6YmVmb3Jle2NvbnRlbnQ6IlxlY2ExIn0ubGluZS1pY29uLVNwZWFjaC1CdWJibGUxMjpiZWZvcmV7Y29udGVudDoiXGVjYTIifS5saW5lLWljb24tU3BlYWNoLUJ1YmJsZTEzOmJlZm9yZXtjb250ZW50OiJcZWNhMyJ9LmxpbmUtaWNvbi1TcGVhY2gtQnViYmxlQXNraW5nOmJlZm9yZXtjb250ZW50OiJcZWNhNCJ9LmxpbmUtaWNvbi1TcGVhY2gtQnViYmxlQ29taWM6YmVmb3Jle2NvbnRlbnQ6IlxlY2E1In0ubGluZS1pY29uLVNwZWFjaC1CdWJibGVDb21pYzI6YmVmb3Jle2NvbnRlbnQ6IlxlY2E2In0ubGluZS1pY29uLVNwZWFjaC1CdWJibGVDb21pYzM6YmVmb3Jle2NvbnRlbnQ6IlxlY2E3In0ubGluZS1pY29uLVNwZWFjaC1CdWJibGVDb21pYzQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2E4In0ubGluZS1pY29uLVNwZWFjaC1CdWJibGVEaWFsb2c6YmVmb3Jle2NvbnRlbnQ6IlxlY2E5In0ubGluZS1pY29uLVNwZWFjaC1CdWJibGVzOmJlZm9yZXtjb250ZW50OiJcZWNhYSJ9LmxpbmUtaWNvbi1TcGVhay0yOmJlZm9yZXtjb250ZW50OiJcZWNhYiJ9LmxpbmUtaWNvbi1TcGVhazpiZWZvcmV7Y29udGVudDoiXGVjYWMifS5saW5lLWljb24tU3BlYWtlci0yOmJlZm9yZXtjb250ZW50OiJcZWNhZCJ9LmxpbmUtaWNvbi1TcGVha2VyOmJlZm9yZXtjb250ZW50OiJcZWNhZSJ9LmxpbmUtaWNvbi1TcGVsbC1DaGVjazpiZWZvcmV7Y29udGVudDoiXGVjYWYifS5saW5lLWljb24tU3BlbGwtQ2hlY2tBQkM6YmVmb3Jle2NvbnRlbnQ6IlxlY2IwIn0ubGluZS1pY29uLVNwZXJtaXVtOmJlZm9yZXtjb250ZW50OiJcZWNiMSJ9LmxpbmUtaWNvbi1TcGlkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlY2IyIn0ubGluZS1pY29uLVNwaWRlcndlYjpiZWZvcmV7Y29udGVudDoiXGVjYjMifS5saW5lLWljb24tU3BsaXQtRm91clNxdWFyZVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGVjYjQifS5saW5lLWljb24tU3BsaXQtSG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGVjYjUifS5saW5lLWljb24tU3BsaXQtSG9yaXpvbnRhbDJXaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlY2I2In0ubGluZS1pY29uLVNwbGl0LVZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZWNiNyJ9LmxpbmUtaWNvbi1TcGxpdC1WZXJ0aWNhbDI6YmVmb3Jle2NvbnRlbnQ6IlxlY2I4In0ubGluZS1pY29uLVNwbGl0LVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGVjYjkifS5saW5lLWljb24tU3BvZGVyOmJlZm9yZXtjb250ZW50OiJcZWNiYSJ9LmxpbmUtaWNvbi1TcG9vbjpiZWZvcmV7Y29udGVudDoiXGVjYmIifS5saW5lLWljb24tU3BvcnQtTW9kZTpiZWZvcmV7Y29udGVudDoiXGVjYmMifS5saW5lLWljb24tU3BvcnRzLUNsb3RoaW5nczE6YmVmb3Jle2NvbnRlbnQ6IlxlY2JkIn0ubGluZS1pY29uLVNwb3J0cy1DbG90aGluZ3MyOmJlZm9yZXtjb250ZW50OiJcZWNiZSJ9LmxpbmUtaWNvbi1TcG9ydHMtU2hpcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2JmIn0ubGluZS1pY29uLVNwb3Q6YmVmb3Jle2NvbnRlbnQ6IlxlY2MwIn0ubGluZS1pY29uLVNwcmF5OmJlZm9yZXtjb250ZW50OiJcZWNjMSJ9LmxpbmUtaWNvbi1TcHJlYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2MyIn0ubGluZS1pY29uLVNwcmluZzpiZWZvcmV7Y29udGVudDoiXGVjYzMifS5saW5lLWljb24tU3B1cmw6YmVmb3Jle2NvbnRlbnQ6IlxlY2M0In0ubGluZS1pY29uLVNweTpiZWZvcmV7Y29udGVudDoiXGVjYzUifS5saW5lLWljb24tU3F1aXJyZWw6YmVmb3Jle2NvbnRlbnQ6IlxlY2M2In0ubGluZS1pY29uLVNTTDpiZWZvcmV7Y29udGVudDoiXGVjYzcifS5saW5lLWljb24tU3QtQmFzaWxzQ2F0aGVkcmFsOmJlZm9yZXtjb250ZW50OiJcZWNjOCJ9LmxpbmUtaWNvbi1TdC1QYXVsc0NhdGhlZHJhbDpiZWZvcmV7Y29udGVudDoiXGVjYzkifS5saW5lLWljb24tU3RhbXAtMjpiZWZvcmV7Y29udGVudDoiXGVjY2EifS5saW5lLWljb24tU3RhbXA6YmVmb3Jle2NvbnRlbnQ6IlxlY2NiIn0ubGluZS1pY29uLVN0YXBsZXI6YmVmb3Jle2NvbnRlbnQ6IlxlY2NjIn0ubGluZS1pY29uLVN0YXItVHJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlY2NkIn0ubGluZS1pY29uLVN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxlY2NlIn0ubGluZS1pY29uLVN0YXJmaXNoOmJlZm9yZXtjb250ZW50OiJcZWNjZiJ9LmxpbmUtaWNvbi1TdGFydDI6YmVmb3Jle2NvbnRlbnQ6IlxlY2QwIn0ubGluZS1pY29uLVN0YXJ0LTM6YmVmb3Jle2NvbnRlbnQ6IlxlY2QxIn0ubGluZS1pY29uLVN0YXJ0LXdheXM6YmVmb3Jle2NvbnRlbnQ6IlxlY2QyIn0ubGluZS1pY29uLVN0YXJ0OmJlZm9yZXtjb250ZW50OiJcZWNkMyJ9LmxpbmUtaWNvbi1TdGF0aXN0aWM6YmVmb3Jle2NvbnRlbnQ6IlxlY2Q0In0ubGluZS1pY29uLVN0ZXRob3Njb3BlOmJlZm9yZXtjb250ZW50OiJcZWNkNSJ9LmxpbmUtaWNvbi1zdG9wLS0yOmJlZm9yZXtjb250ZW50OiJcZWNkNiJ9LmxpbmUtaWNvbi1TdG9wLU11c2ljOmJlZm9yZXtjb250ZW50OiJcZWNkNyJ9LmxpbmUtaWNvbi1TdG9wOmJlZm9yZXtjb250ZW50OiJcZWNkOCJ9LmxpbmUtaWNvbi1TdG9wd2F0Y2gtMjpiZWZvcmV7Y29udGVudDoiXGVjZDkifS5saW5lLWljb24tU3RvcHdhdGNoOmJlZm9yZXtjb250ZW50OiJcZWNkYSJ9LmxpbmUtaWNvbi1TdG9ybTpiZWZvcmV7Y29udGVudDoiXGVjZGIifS5saW5lLWljb24tU3RyZWV0LVZpZXc6YmVmb3Jle2NvbnRlbnQ6IlxlY2RjIn0ubGluZS1pY29uLVN0cmVldC1WaWV3MjpiZWZvcmV7Y29udGVudDoiXGVjZGQifS5saW5lLWljb24tU3RyaWtldGhyb3VnaC1UZXh0OmJlZm9yZXtjb250ZW50OiJcZWNkZSJ9LmxpbmUtaWNvbi1TdHJvbGxlcjpiZWZvcmV7Y29udGVudDoiXGVjZGYifS5saW5lLWljb24tU3RydWN0dXJlOmJlZm9yZXtjb250ZW50OiJcZWNlMCJ9LmxpbmUtaWNvbi1TdHVkZW50LUZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGVjZTEifS5saW5lLWljb24tU3R1ZGVudC1IYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2UyIn0ubGluZS1pY29uLVN0dWRlbnQtSGF0MjpiZWZvcmV7Y29udGVudDoiXGVjZTMifS5saW5lLWljb24tU3R1ZGVudC1NYWxlOmJlZm9yZXtjb250ZW50OiJcZWNlNCJ9LmxpbmUtaWNvbi1TdHVkZW50LU1hbGVGZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxlY2U1In0ubGluZS1pY29uLVN0dWRlbnRzOmJlZm9yZXtjb250ZW50OiJcZWNlNiJ9LmxpbmUtaWNvbi1TdHVkaW8tRmxhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlY2U3In0ubGluZS1pY29uLVN0dWRpby1MaWdodGJveDpiZWZvcmV7Y29udGVudDoiXGVjZTgifS5saW5lLWljb24tU3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6IlxlY2U5In0ubGluZS1pY29uLVN1aXQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2VhIn0ubGluZS1pY29uLVN1aXRjYXNlOmJlZm9yZXtjb250ZW50OiJcZWNlYiJ9LmxpbmUtaWNvbi1TdW0tMjpiZWZvcmV7Y29udGVudDoiXGVjZWMifS5saW5lLWljb24tU3VtOmJlZm9yZXtjb250ZW50OiJcZWNlZCJ9LmxpbmUtaWNvbi1TdW1tZXI6YmVmb3Jle2NvbnRlbnQ6IlxlY2VlIn0ubGluZS1pY29uLVN1bi1DbG91ZHlSYWluOmJlZm9yZXtjb250ZW50OiJcZWNlZiJ9LmxpbmUtaWNvbi1TdW46YmVmb3Jle2NvbnRlbnQ6IlxlY2YwIn0ubGluZS1pY29uLVN1bmdsYXNzZXMtMjpiZWZvcmV7Y29udGVudDoiXGVjZjEifS5saW5lLWljb24tU3VuZ2xhc3Nlcy0zOmJlZm9yZXtjb250ZW50OiJcZWNmMiJ9LmxpbmUtaWNvbi1TdW5nbGFzc2VzLVNtaWxleTpiZWZvcmV7Y29udGVudDoiXGVjZjMifS5saW5lLWljb24tU3VuZ2xhc3Nlcy1TbWlsZXkyOmJlZm9yZXtjb250ZW50OiJcZWNmNCJ9LmxpbmUtaWNvbi1TdW5nbGFzc2VzLVc6YmVmb3Jle2NvbnRlbnQ6IlxlY2Y1In0ubGluZS1pY29uLVN1bmdsYXNzZXMtVzI6YmVmb3Jle2NvbnRlbnQ6IlxlY2Y2In0ubGluZS1pY29uLVN1bmdsYXNzZXMtVzM6YmVmb3Jle2NvbnRlbnQ6IlxlY2Y3In0ubGluZS1pY29uLVN1bmdsYXNzZXM6YmVmb3Jle2NvbnRlbnQ6IlxlY2Y4In0ubGluZS1pY29uLVN1bnJpc2U6YmVmb3Jle2NvbnRlbnQ6IlxlY2Y5In0ubGluZS1pY29uLVN1bnNldDpiZWZvcmV7Y29udGVudDoiXGVjZmEifS5saW5lLWljb24tU3VwZXJtYW46YmVmb3Jle2NvbnRlbnQ6IlxlY2ZiIn0ubGluZS1pY29uLVN1cHBvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlY2ZjIn0ubGluZS1pY29uLVN1cnByaXNlOmJlZm9yZXtjb250ZW50OiJcZWNmZCJ9LmxpbmUtaWNvbi1TdXNoaTpiZWZvcmV7Y29udGVudDoiXGVjZmUifS5saW5lLWljb24tU3dlZGVuOmJlZm9yZXtjb250ZW50OiJcZWNmZiJ9LmxpbmUtaWNvbi1Td2ltbWluZy1TaG9ydDpiZWZvcmV7Y29udGVudDoiXGVkMDAifS5saW5lLWljb24tU3dpbW1pbmc6YmVmb3Jle2NvbnRlbnQ6IlxlZDAxIn0ubGluZS1pY29uLVN3aW1td2VhcjpiZWZvcmV7Y29udGVudDoiXGVkMDIifS5saW5lLWljb24tU3dpdGNoOmJlZm9yZXtjb250ZW50OiJcZWQwMyJ9LmxpbmUtaWNvbi1Td2l0emVybGFuZDpiZWZvcmV7Y29udGVudDoiXGVkMDQifS5saW5lLWljb24tU3luYy1DbG91ZDpiZWZvcmV7Y29udGVudDoiXGVkMDUifS5saW5lLWljb24tU3luYzpiZWZvcmV7Y29udGVudDoiXGVkMDYifS5saW5lLWljb24tU3luY2hyb25pemUtMjpiZWZvcmV7Y29udGVudDoiXGVkMDcifS5saW5lLWljb24tU3luY2hyb25pemU6YmVmb3Jle2NvbnRlbnQ6IlxlZDA4In0ubGluZS1pY29uLVQtU2hpcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDA5In0ubGluZS1pY29uLVRhYmxldC0yOmJlZm9yZXtjb250ZW50OiJcZWQwYSJ9LmxpbmUtaWNvbi1UYWJsZXQtMzpiZWZvcmV7Y29udGVudDoiXGVkMGIifS5saW5lLWljb24tVGFibGV0LU9yaWVudGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZWQwYyJ9LmxpbmUtaWNvbi1UYWJsZXQtUGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlZDBkIn0ubGluZS1pY29uLVRhYmxldC1TZWN1cmU6YmVmb3Jle2NvbnRlbnQ6IlxlZDBlIn0ubGluZS1pY29uLVRhYmxldC1WZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGVkMGYifS5saW5lLWljb24tVGFibGV0OmJlZm9yZXtjb250ZW50OiJcZWQxMCJ9LmxpbmUtaWNvbi1UYWN0aWM6YmVmb3Jle2NvbnRlbnQ6IlxlZDExIn0ubGluZS1pY29uLVRhZy0yOmJlZm9yZXtjb250ZW50OiJcZWQxMiJ9LmxpbmUtaWNvbi1UYWctMzpiZWZvcmV7Y29udGVudDoiXGVkMTMifS5saW5lLWljb24tVGFnLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDE0In0ubGluZS1pY29uLVRhZy01OmJlZm9yZXtjb250ZW50OiJcZWQxNSJ9LmxpbmUtaWNvbi1UYWc6YmVmb3Jle2NvbnRlbnQ6IlxlZDE2In0ubGluZS1pY29uLVRhai1NYWhhbDpiZWZvcmV7Y29udGVudDoiXGVkMTcifS5saW5lLWljb24tVGFsay1NYW46YmVmb3Jle2NvbnRlbnQ6IlxlZDE4In0ubGluZS1pY29uLVRhcDpiZWZvcmV7Y29udGVudDoiXGVkMTkifS5saW5lLWljb24tVGFyZ2V0LU1hcmtldDpiZWZvcmV7Y29udGVudDoiXGVkMWEifS5saW5lLWljb24tVGFyZ2V0OmJlZm9yZXtjb250ZW50OiJcZWQxYiJ9LmxpbmUtaWNvbi1UYXVydXMtMjpiZWZvcmV7Y29udGVudDoiXGVkMWMifS5saW5lLWljb24tVGF1cnVzOmJlZm9yZXtjb250ZW50OiJcZWQxZCJ9LmxpbmUtaWNvbi1UYXhpLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZDFlIn0ubGluZS1pY29uLVRheGktU2lnbjpiZWZvcmV7Y29udGVudDoiXGVkMWYifS5saW5lLWljb24tVGF4aTpiZWZvcmV7Y29udGVudDoiXGVkMjAifS5saW5lLWljb24tVGVhY2hlcjpiZWZvcmV7Y29udGVudDoiXGVkMjEifS5saW5lLWljb24tVGVhcG90OmJlZm9yZXtjb250ZW50OiJcZWQyMiJ9LmxpbmUtaWNvbi1UZWNobm9yYXRpOmJlZm9yZXtjb250ZW50OiJcZWQyMyJ9LmxpbmUtaWNvbi1UZWRkeS1CZWFyOmJlZm9yZXtjb250ZW50OiJcZWQyNCJ9LmxpbmUtaWNvbi1UZWUtTXVnOmJlZm9yZXtjb250ZW50OiJcZWQyNSJ9LmxpbmUtaWNvbi1UZWxlcGhvbmUtMjpiZWZvcmV7Y29udGVudDoiXGVkMjYifS5saW5lLWljb24tVGVsZXBob25lOmJlZm9yZXtjb250ZW50OiJcZWQyNyJ9LmxpbmUtaWNvbi1UZWxlc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxlZDI4In0ubGluZS1pY29uLVRlbXBlcmF0dXJlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZDI5In0ubGluZS1pY29uLVRlbXBlcmF0dXJlLTM6YmVmb3Jle2NvbnRlbnQ6IlxlZDJhIn0ubGluZS1pY29uLVRlbXBlcmF0dXJlOmJlZm9yZXtjb250ZW50OiJcZWQyYiJ9LmxpbmUtaWNvbi1UZW1wbGU6YmVmb3Jle2NvbnRlbnQ6IlxlZDJjIn0ubGluZS1pY29uLVRlbm5pcy1CYWxsOmJlZm9yZXtjb250ZW50OiJcZWQyZCJ9LmxpbmUtaWNvbi1UZW5uaXM6YmVmb3Jle2NvbnRlbnQ6IlxlZDJlIn0ubGluZS1pY29uLVRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDJmIn0ubGluZS1pY29uLVRlc3QtVHViZTpiZWZvcmV7Y29udGVudDoiXGVkMzAifS5saW5lLWljb24tVGVzdC1UdWJlMjpiZWZvcmV7Y29udGVudDoiXGVkMzEifS5saW5lLWljb24tVGVzdGltb25hbDpiZWZvcmV7Y29udGVudDoiXGVkMzIifS5saW5lLWljb24tVGV4dC1Cb3g6YmVmb3Jle2NvbnRlbnQ6IlxlZDMzIn0ubGluZS1pY29uLVRleHQtRWZmZWN0OmJlZm9yZXtjb250ZW50OiJcZWQzNCJ9LmxpbmUtaWNvbi1UZXh0LUhpZ2hsaWdodENvbG9yOmJlZm9yZXtjb250ZW50OiJcZWQzNSJ9LmxpbmUtaWNvbi1UZXh0LVBhcmFncmFwaDpiZWZvcmV7Y29udGVudDoiXGVkMzYifS5saW5lLWljb24tVGhhaWxhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDM3In0ubGluZS1pY29uLVRoZS1XaGl0ZUhvdXNlOmJlZm9yZXtjb250ZW50OiJcZWQzOCJ9LmxpbmUtaWNvbi1UaGlzLVNpZGVVcDpiZWZvcmV7Y29udGVudDoiXGVkMzkifS5saW5lLWljb24tVGhyZWFkOmJlZm9yZXtjb250ZW50OiJcZWQzYSJ9LmxpbmUtaWNvbi1UaHJlZS1BcnJvd0Zvcms6YmVmb3Jle2NvbnRlbnQ6IlxlZDNiIn0ubGluZS1pY29uLVRocmVlLUZpbmdlcnM6YmVmb3Jle2NvbnRlbnQ6IlxlZDNjIn0ubGluZS1pY29uLVRocmVlLUZpbmdlcnNEcmFnOmJlZm9yZXtjb250ZW50OiJcZWQzZCJ9LmxpbmUtaWNvbi1UaHJlZS1GaW5nZXJzRHJhZzI6YmVmb3Jle2NvbnRlbnQ6IlxlZDNlIn0ubGluZS1pY29uLVRocmVlLUZpbmdlcnNUb3VjaDpiZWZvcmV7Y29udGVudDoiXGVkM2YifS5saW5lLWljb24tVGh1bWI6YmVmb3Jle2NvbnRlbnQ6IlxlZDQwIn0ubGluZS1pY29uLVRodW1icy1Eb3duU21pbGV5OmJlZm9yZXtjb250ZW50OiJcZWQ0MSJ9LmxpbmUtaWNvbi1UaHVtYnMtVXBTbWlsZXk6YmVmb3Jle2NvbnRlbnQ6IlxlZDQyIn0ubGluZS1pY29uLVRodW5kZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZDQzIn0ubGluZS1pY29uLVRodW5kZXJzdG9ybTpiZWZvcmV7Y29udGVudDoiXGVkNDQifS5saW5lLWljb24tVGlja2V0OmJlZm9yZXtjb250ZW50OiJcZWQ0NSJ9LmxpbmUtaWNvbi1UaWUtMjpiZWZvcmV7Y29udGVudDoiXGVkNDYifS5saW5lLWljb24tVGllLTM6YmVmb3Jle2NvbnRlbnQ6IlxlZDQ3In0ubGluZS1pY29uLVRpZS00OmJlZm9yZXtjb250ZW50OiJcZWQ0OCJ9LmxpbmUtaWNvbi1UaWU6YmVmb3Jle2NvbnRlbnQ6IlxlZDQ5In0ubGluZS1pY29uLVRpZ2VyOmJlZm9yZXtjb250ZW50OiJcZWQ0YSJ9LmxpbmUtaWNvbi1UaW1lLUJhY2t1cDpiZWZvcmV7Y29udGVudDoiXGVkNGIifS5saW5lLWljb24tVGltZS1Cb21iOmJlZm9yZXtjb250ZW50OiJcZWQ0YyJ9LmxpbmUtaWNvbi1UaW1lLUNsb2NrOmJlZm9yZXtjb250ZW50OiJcZWQ0ZCJ9LmxpbmUtaWNvbi1UaW1lLUZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxlZDRlIn0ubGluZS1pY29uLVRpbWUtTWFjaGluZTpiZWZvcmV7Y29udGVudDoiXGVkNGYifS5saW5lLWljb24tVGltZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlZDUwIn0ubGluZS1pY29uLVRpbWVyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZDUxIn0ubGluZS1pY29uLVRpbWVyOmJlZm9yZXtjb250ZW50OiJcZWQ1MiJ9LmxpbmUtaWNvbi1Uby1Cb3R0b206YmVmb3Jle2NvbnRlbnQ6IlxlZDUzIn0ubGluZS1pY29uLVRvLUJvdHRvbTI6YmVmb3Jle2NvbnRlbnQ6IlxlZDU0In0ubGluZS1pY29uLVRvLUxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDU1In0ubGluZS1pY29uLVRvLVJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWQ1NiJ9LmxpbmUtaWNvbi1Uby1Ub3A6YmVmb3Jle2NvbnRlbnQ6IlxlZDU3In0ubGluZS1pY29uLVRvLVRvcDI6YmVmb3Jle2NvbnRlbnQ6IlxlZDU4In0ubGluZS1pY29uLVRva2VuLTpiZWZvcmV7Y29udGVudDoiXGVkNTkifS5saW5lLWljb24tVG9tYXRvOmJlZm9yZXtjb250ZW50OiJcZWQ1YSJ9LmxpbmUtaWNvbi1Ub25ndWU6YmVmb3Jle2NvbnRlbnQ6IlxlZDViIn0ubGluZS1pY29uLVRvb3RoLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZDVjIn0ubGluZS1pY29uLVRvb3RoOmJlZm9yZXtjb250ZW50OiJcZWQ1ZCJ9LmxpbmUtaWNvbi1Ub3AtVG9Cb3R0b206YmVmb3Jle2NvbnRlbnQ6IlxlZDVlIn0ubGluZS1pY29uLVRvdWNoLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGVkNWYifS5saW5lLWljb24tVG91cmNoOmJlZm9yZXtjb250ZW50OiJcZWQ2MCJ9LmxpbmUtaWNvbi1Ub3dlci0yOmJlZm9yZXtjb250ZW50OiJcZWQ2MSJ9LmxpbmUtaWNvbi1Ub3dlci1CcmlkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlZDYyIn0ubGluZS1pY29uLVRvd2VyOmJlZm9yZXtjb250ZW50OiJcZWQ2MyJ9LmxpbmUtaWNvbi1UcmFjZTpiZWZvcmV7Y29udGVudDoiXGVkNjQifS5saW5lLWljb24tVHJhY3RvcjpiZWZvcmV7Y29udGVudDoiXGVkNjUifS5saW5lLWljb24tdHJhZmZpYy1MaWdodDpiZWZvcmV7Y29udGVudDoiXGVkNjYifS5saW5lLWljb24tVHJhZmZpYy1MaWdodDI6YmVmb3Jle2NvbnRlbnQ6IlxlZDY3In0ubGluZS1pY29uLVRyYWluLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZDY4In0ubGluZS1pY29uLVRyYWluOmJlZm9yZXtjb250ZW50OiJcZWQ2OSJ9LmxpbmUtaWNvbi1UcmFtOmJlZm9yZXtjb250ZW50OiJcZWQ2YSJ9LmxpbmUtaWNvbi1UcmFuc2Zvcm0tMjpiZWZvcmV7Y29udGVudDoiXGVkNmIifS5saW5lLWljb24tVHJhbnNmb3JtLTM6YmVmb3Jle2NvbnRlbnQ6IlxlZDZjIn0ubGluZS1pY29uLVRyYW5zZm9ybS00OmJlZm9yZXtjb250ZW50OiJcZWQ2ZCJ9LmxpbmUtaWNvbi1UcmFuc2Zvcm06YmVmb3Jle2NvbnRlbnQ6IlxlZDZlIn0ubGluZS1pY29uLVRyYXNoLXdpdGhNZW46YmVmb3Jle2NvbnRlbnQ6IlxlZDZmIn0ubGluZS1pY29uLVRyZWUtMjpiZWZvcmV7Y29udGVudDoiXGVkNzAifS5saW5lLWljb24tVHJlZS0zOmJlZm9yZXtjb250ZW50OiJcZWQ3MSJ9LmxpbmUtaWNvbi1UcmVlLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDcyIn0ubGluZS1pY29uLVRyZWUtNTpiZWZvcmV7Y29udGVudDoiXGVkNzMifS5saW5lLWljb24tVHJlZTpiZWZvcmV7Y29udGVudDoiXGVkNzQifS5saW5lLWljb24tVHJla2tpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlZDc1In0ubGluZS1pY29uLVRyaWFuZ2xlLUFycm93RG93bjpiZWZvcmV7Y29udGVudDoiXGVkNzYifS5saW5lLWljb24tVHJpYW5nbGUtQXJyb3dMZWZ0OmJlZm9yZXtjb250ZW50OiJcZWQ3NyJ9LmxpbmUtaWNvbi1UcmlhbmdsZS1BcnJvd1JpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWQ3OCJ9LmxpbmUtaWNvbi1UcmlhbmdsZS1BcnJvd1VwOmJlZm9yZXtjb250ZW50OiJcZWQ3OSJ9LmxpbmUtaWNvbi1Ucmlwb2QtMjpiZWZvcmV7Y29udGVudDoiXGVkN2EifS5saW5lLWljb24tVHJpcG9kLWFuZFZpZGVvOmJlZm9yZXtjb250ZW50OiJcZWQ3YiJ9LmxpbmUtaWNvbi1Ucmlwb2Qtd2l0aENhbWVyYTpiZWZvcmV7Y29udGVudDoiXGVkN2MifS5saW5lLWljb24tVHJpcG9kLXdpdGhHb3BybzpiZWZvcmV7Y29udGVudDoiXGVkN2QifS5saW5lLWljb24tVHJvcGh5LTI6YmVmb3Jle2NvbnRlbnQ6IlxlZDdlIn0ubGluZS1pY29uLVRyb3BoeTpiZWZvcmV7Y29udGVudDoiXGVkN2YifS5saW5lLWljb24tVHJ1Y2s6YmVmb3Jle2NvbnRlbnQ6IlxlZDgwIn0ubGluZS1pY29uLVRydW1wZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDgxIn0ubGluZS1pY29uLVR1bWJscjpiZWZvcmV7Y29udGVudDoiXGVkODIifS5saW5lLWljb24tVHVya2V5OmJlZm9yZXtjb250ZW50OiJcZWQ4MyJ9LmxpbmUtaWNvbi1UdXJuLURvd246YmVmb3Jle2NvbnRlbnQ6IlxlZDg0In0ubGluZS1pY29uLVR1cm4tRG93bjI6YmVmb3Jle2NvbnRlbnQ6IlxlZDg1In0ubGluZS1pY29uLVR1cm4tRG93bkZyb21MZWZ0OmJlZm9yZXtjb250ZW50OiJcZWQ4NiJ9LmxpbmUtaWNvbi1UdXJuLURvd25Gcm9tUmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDg3In0ubGluZS1pY29uLVR1cm4tTGVmdDpiZWZvcmV7Y29udGVudDoiXGVkODgifS5saW5lLWljb24tVHVybi1MZWZ0MzpiZWZvcmV7Y29udGVudDoiXGVkODkifS5saW5lLWljb24tVHVybi1SaWdodDpiZWZvcmV7Y29udGVudDoiXGVkOGEifS5saW5lLWljb24tVHVybi1SaWdodDM6YmVmb3Jle2NvbnRlbnQ6IlxlZDhiIn0ubGluZS1pY29uLVR1cm4tVXA6YmVmb3Jle2NvbnRlbnQ6IlxlZDhjIn0ubGluZS1pY29uLVR1cm4tVXAyOmJlZm9yZXtjb250ZW50OiJcZWQ4ZCJ9LmxpbmUtaWNvbi1UdXJ0bGU6YmVmb3Jle2NvbnRlbnQ6IlxlZDhlIn0ubGluZS1pY29uLVR1eGVkbzpiZWZvcmV7Y29udGVudDoiXGVkOGYifS5saW5lLWljb24tVFY6YmVmb3Jle2NvbnRlbnQ6IlxlZDkwIn0ubGluZS1pY29uLVR3aXN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZDkxIn0ubGluZS1pY29uLVR3aXR0ZXItMjpiZWZvcmV7Y29udGVudDoiXGVkOTIifS5saW5lLWljb24tVHdpdHRlcjpiZWZvcmV7Y29udGVudDoiXGVkOTMifS5saW5lLWljb24tVHdvLUZpbmdlcnM6YmVmb3Jle2NvbnRlbnQ6IlxlZDk0In0ubGluZS1pY29uLVR3by1GaW5nZXJzRHJhZzpiZWZvcmV7Y29udGVudDoiXGVkOTUifS5saW5lLWljb24tVHdvLUZpbmdlcnNEcmFnMjpiZWZvcmV7Y29udGVudDoiXGVkOTYifS5saW5lLWljb24tVHdvLUZpbmdlcnNTY3JvbGw6YmVmb3Jle2NvbnRlbnQ6IlxlZDk3In0ubGluZS1pY29uLVR3by1GaW5nZXJzVG91Y2g6YmVmb3Jle2NvbnRlbnQ6IlxlZDk4In0ubGluZS1pY29uLVR3by1XaW5kb3dzOmJlZm9yZXtjb250ZW50OiJcZWQ5OSJ9LmxpbmUtaWNvbi1UeXBlLVBhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlZDlhIn0ubGluZS1pY29uLVVrcmFpbmU6YmVmb3Jle2NvbnRlbnQ6IlxlZDliIn0ubGluZS1pY29uLVVtYnJlbGE6YmVmb3Jle2NvbnRlbnQ6IlxlZDljIn0ubGluZS1pY29uLVVtYnJlbGxhLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZDlkIn0ubGluZS1pY29uLVVtYnJlbGxhLTM6YmVmb3Jle2NvbnRlbnQ6IlxlZDllIn0ubGluZS1pY29uLVVuZGVyLUxpbmVUZXh0OmJlZm9yZXtjb250ZW50OiJcZWQ5ZiJ9LmxpbmUtaWNvbi1VbmRvOmJlZm9yZXtjb250ZW50OiJcZWRhMCJ9LmxpbmUtaWNvbi1Vbml0ZWQtS2luZ2RvbTpiZWZvcmV7Y29udGVudDoiXGVkYTEifS5saW5lLWljb24tVW5pdGVkLVN0YXRlczpiZWZvcmV7Y29udGVudDoiXGVkYTIifS5saW5lLWljb24tVW5pdmVyc2l0eS0yOmJlZm9yZXtjb250ZW50OiJcZWRhMyJ9LmxpbmUtaWNvbi1Vbml2ZXJzaXR5OmJlZm9yZXtjb250ZW50OiJcZWRhNCJ9LmxpbmUtaWNvbi1Vbmxpa2UtMjpiZWZvcmV7Y29udGVudDoiXGVkYTUifS5saW5lLWljb24tVW5saWtlOmJlZm9yZXtjb250ZW50OiJcZWRhNiJ9LmxpbmUtaWNvbi1VbmxvY2stMjpiZWZvcmV7Y29udGVudDoiXGVkYTcifS5saW5lLWljb24tVW5sb2NrLTM6YmVmb3Jle2NvbnRlbnQ6IlxlZGE4In0ubGluZS1pY29uLVVubG9jazpiZWZvcmV7Y29udGVudDoiXGVkYTkifS5saW5lLWljb24tVXAtLURvd246YmVmb3Jle2NvbnRlbnQ6IlxlZGFhIn0ubGluZS1pY29uLVVwLS1Eb3duMzpiZWZvcmV7Y29udGVudDoiXGVkYWIifS5saW5lLWljb24tVXAtMjpiZWZvcmV7Y29udGVudDoiXGVkYWMifS5saW5lLWljb24tVXAtMzpiZWZvcmV7Y29udGVudDoiXGVkYWQifS5saW5lLWljb24tVXAtNDpiZWZvcmV7Y29udGVudDoiXGVkYWUifS5saW5lLWljb24tVXA6YmVmb3Jle2NvbnRlbnQ6IlxlZGFmIn0ubGluZS1pY29uLVVwZ3JhZGU6YmVmb3Jle2NvbnRlbnQ6IlxlZGIwIn0ubGluZS1pY29uLVVwbG9hZC0yOmJlZm9yZXtjb250ZW50OiJcZWRiMSJ9LmxpbmUtaWNvbi1VcGxvYWQtdG9DbG91ZDpiZWZvcmV7Y29udGVudDoiXGVkYjIifS5saW5lLWljb24tVXBsb2FkLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGVkYjMifS5saW5lLWljb24tVXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZWRiNCJ9LmxpbmUtaWNvbi1VcHBlcmNhc2UtVGV4dDpiZWZvcmV7Y29udGVudDoiXGVkYjUifS5saW5lLWljb24tVXB3YXJkOmJlZm9yZXtjb250ZW50OiJcZWRiNiJ9LmxpbmUtaWNvbi1VUkwtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWRiNyJ9LmxpbmUtaWNvbi1Vc2ItMjpiZWZvcmV7Y29udGVudDoiXGVkYjgifS5saW5lLWljb24tVXNiLUNhYmxlOmJlZm9yZXtjb250ZW50OiJcZWRiOSJ9LmxpbmUtaWNvbi1Vc2I6YmVmb3Jle2NvbnRlbnQ6IlxlZGJhIn0ubGluZS1pY29uLVVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZGJiIn0ubGluZS1pY29uLVVzdHJlYW06YmVmb3Jle2NvbnRlbnQ6IlxlZGJjIn0ubGluZS1pY29uLVZhc2U6YmVmb3Jle2NvbnRlbnQ6IlxlZGJkIn0ubGluZS1pY29uLVZlY3Rvci0yOmJlZm9yZXtjb250ZW50OiJcZWRiZSJ9LmxpbmUtaWNvbi1WZWN0b3ItMzpiZWZvcmV7Y29udGVudDoiXGVkYmYifS5saW5lLWljb24tVmVjdG9yLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlZGMwIn0ubGluZS1pY29uLVZlY3Rvci01OmJlZm9yZXtjb250ZW50OiJcZWRjMSJ9LmxpbmUtaWNvbi1WZWN0b3I6YmVmb3Jle2NvbnRlbnQ6IlxlZGMyIn0ubGluZS1pY29uLVZlbm4tRGlhZ3JhbTpiZWZvcmV7Y29udGVudDoiXGVkYzMifS5saW5lLWljb24tVmVzdC0yOmJlZm9yZXtjb250ZW50OiJcZWRjNCJ9LmxpbmUtaWNvbi1WZXN0OmJlZm9yZXtjb250ZW50OiJcZWRjNSJ9LmxpbmUtaWNvbi1WaWRkbGVyOmJlZm9yZXtjb250ZW50OiJcZWRjNiJ9LmxpbmUtaWNvbi1WaWRlby0yOmJlZm9yZXtjb250ZW50OiJcZWRjNyJ9LmxpbmUtaWNvbi1WaWRlby0zOmJlZm9yZXtjb250ZW50OiJcZWRjOCJ9LmxpbmUtaWNvbi1WaWRlby00OmJlZm9yZXtjb250ZW50OiJcZWRjOSJ9LmxpbmUtaWNvbi1WaWRlby01OmJlZm9yZXtjb250ZW50OiJcZWRjYSJ9LmxpbmUtaWNvbi1WaWRlby02OmJlZm9yZXtjb250ZW50OiJcZWRjYiJ9LmxpbmUtaWNvbi1WaWRlby1HYW1lQ29udHJvbGxlcjpiZWZvcmV7Y29udGVudDoiXGVkY2MifS5saW5lLWljb24tVmlkZW8tTGVuOmJlZm9yZXtjb250ZW50OiJcZWRjZCJ9LmxpbmUtaWNvbi1WaWRlby1MZW4yOmJlZm9yZXtjb250ZW50OiJcZWRjZSJ9LmxpbmUtaWNvbi1WaWRlby1QaG90b2dyYXBoZXI6YmVmb3Jle2NvbnRlbnQ6IlxlZGNmIn0ubGluZS1pY29uLVZpZGVvLVRyaXBvZDpiZWZvcmV7Y29udGVudDoiXGVkZDAifS5saW5lLWljb24tVmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxlZGQxIn0ubGluZS1pY29uLVZpZXRuYW06YmVmb3Jle2NvbnRlbnQ6IlxlZGQyIn0ubGluZS1pY29uLVZpZXctSGVpZ2h0OmJlZm9yZXtjb250ZW50OiJcZWRkMyJ9LmxpbmUtaWNvbi1WaWV3LVdpZHRoOmJlZm9yZXtjb250ZW50OiJcZWRkNCJ9LmxpbmUtaWNvbi1WaW1lbzpiZWZvcmV7Y29udGVudDoiXGVkZDUifS5saW5lLWljb24tVmlyZ28tMjpiZWZvcmV7Y29udGVudDoiXGVkZDYifS5saW5lLWljb24tVmlyZ286YmVmb3Jle2NvbnRlbnQ6IlxlZGQ3In0ubGluZS1pY29uLVZpcnVzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZGQ4In0ubGluZS1pY29uLVZpcnVzLTM6YmVmb3Jle2NvbnRlbnQ6IlxlZGQ5In0ubGluZS1pY29uLVZpcnVzOmJlZm9yZXtjb250ZW50OiJcZWRkYSJ9LmxpbmUtaWNvbi1WaXNhOmJlZm9yZXtjb250ZW50OiJcZWRkYiJ9LmxpbmUtaWNvbi1Wb2ljZTpiZWZvcmV7Y29udGVudDoiXGVkZGMifS5saW5lLWljb24tVm9pY2VtYWlsOmJlZm9yZXtjb250ZW50OiJcZWRkZCJ9LmxpbmUtaWNvbi1Wb2xsZXliYWxsOmJlZm9yZXtjb250ZW50OiJcZWRkZSJ9LmxpbmUtaWNvbi1Wb2x1bWUtRG93bjpiZWZvcmV7Y29udGVudDoiXGVkZGYifS5saW5lLWljb24tVm9sdW1lLVVwOmJlZm9yZXtjb250ZW50OiJcZWRlMCJ9LmxpbmUtaWNvbi1WUE46YmVmb3Jle2NvbnRlbnQ6IlxlZGUxIn0ubGluZS1pY29uLVdhY29tLVRhYmxldDpiZWZvcmV7Y29udGVudDoiXGVkZTIifS5saW5lLWljb24tV2FpdGVyOmJlZm9yZXtjb250ZW50OiJcZWRlMyJ9LmxpbmUtaWNvbi1XYWxraWUtVGFsa2llOmJlZm9yZXtjb250ZW50OiJcZWRlNCJ9LmxpbmUtaWNvbi1XYWxsZXQtMjpiZWZvcmV7Y29udGVudDoiXGVkZTUifS5saW5lLWljb24tV2FsbGV0LTM6YmVmb3Jle2NvbnRlbnQ6IlxlZGU2In0ubGluZS1pY29uLVdhbGxldDpiZWZvcmV7Y29udGVudDoiXGVkZTcifS5saW5lLWljb24tV2FyZWhvdXNlOmJlZm9yZXtjb250ZW50OiJcZWRlOCJ9LmxpbmUtaWNvbi1XYXJuaW5nLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGVkZTkifS5saW5lLWljb24tV2F0Y2gtMjpiZWZvcmV7Y29udGVudDoiXGVkZWEifS5saW5lLWljb24tV2F0Y2gtMzpiZWZvcmV7Y29udGVudDoiXGVkZWIifS5saW5lLWljb24tV2F0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxlZGVjIn0ubGluZS1pY29uLVdhdmUtMjpiZWZvcmV7Y29udGVudDoiXGVkZWQifS5saW5lLWljb24tV2F2ZTpiZWZvcmV7Y29udGVudDoiXGVkZWUifS5saW5lLWljb24tV2ViY2FtOmJlZm9yZXtjb250ZW50OiJcZWRlZiJ9LmxpbmUtaWNvbi13ZWlnaHQtTGlmdDpiZWZvcmV7Y29udGVudDoiXGVkZjAifS5saW5lLWljb24tV2hlZWxiYXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxlZGYxIn0ubGluZS1pY29uLVdoZWVsY2hhaXI6YmVmb3Jle2NvbnRlbnQ6IlxlZGYyIn0ubGluZS1pY29uLVdpZHRoLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGVkZjMifS5saW5lLWljb24tV2lmaS0yOmJlZm9yZXtjb250ZW50OiJcZWRmNCJ9LmxpbmUtaWNvbi1XaWZpLUtleWJvYXJkOmJlZm9yZXtjb250ZW50OiJcZWRmNSJ9LmxpbmUtaWNvbi1XaWZpOmJlZm9yZXtjb250ZW50OiJcZWRmNiJ9LmxpbmUtaWNvbi1XaW5kLVR1cmJpbmU6YmVmb3Jle2NvbnRlbnQ6IlxlZGY3In0ubGluZS1pY29uLVdpbmRtaWxsOmJlZm9yZXtjb250ZW50OiJcZWRmOCJ9LmxpbmUtaWNvbi1XaW5kb3ctMjpiZWZvcmV7Y29udGVudDoiXGVkZjkifS5saW5lLWljb24tV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWRmYSJ9LmxpbmUtaWNvbi1XaW5kb3dzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZGZiIn0ubGluZS1pY29uLVdpbmRvd3MtTWljcm9zb2Z0OmJlZm9yZXtjb250ZW50OiJcZWRmYyJ9LmxpbmUtaWNvbi1XaW5kb3dzOmJlZm9yZXtjb250ZW50OiJcZWRmZCJ9LmxpbmUtaWNvbi1XaW5kc29jazpiZWZvcmV7Y29udGVudDoiXGVkZmUifS5saW5lLWljb24tV2luZHk6YmVmb3Jle2NvbnRlbnQ6IlxlZGZmIn0ubGluZS1pY29uLVdpbmUtQm90dGxlOmJlZm9yZXtjb250ZW50OiJcZWUwMCJ9LmxpbmUtaWNvbi1XaW5lLUdsYXNzOmJlZm9yZXtjb250ZW50OiJcZWUwMSJ9LmxpbmUtaWNvbi1XaW5rOmJlZm9yZXtjb250ZW50OiJcZWUwMiJ9LmxpbmUtaWNvbi1XaW50ZXItMjpiZWZvcmV7Y29udGVudDoiXGVlMDMifS5saW5lLWljb24tV2ludGVyOmJlZm9yZXtjb250ZW50OiJcZWUwNCJ9LmxpbmUtaWNvbi1XaXJlbGVzczpiZWZvcmV7Y29udGVudDoiXGVlMDUifS5saW5lLWljb24tV2l0Y2gtSGF0OmJlZm9yZXtjb250ZW50OiJcZWUwNiJ9LmxpbmUtaWNvbi1XaXRjaDpiZWZvcmV7Y29udGVudDoiXGVlMDcifS5saW5lLWljb24tV2l6YXJkOmJlZm9yZXtjb250ZW50OiJcZWUwOCJ9LmxpbmUtaWNvbi1Xb2xmOmJlZm9yZXtjb250ZW50OiJcZWUwOSJ9LmxpbmUtaWNvbi1Xb21hbi1TaWduOmJlZm9yZXtjb250ZW50OiJcZWUwYSJ9LmxpbmUtaWNvbi1Xb21hbk1hbjpiZWZvcmV7Y29udGVudDoiXGVlMGIifS5saW5lLWljb24tV29tYW5zLVVuZGVyd2VhcjpiZWZvcmV7Y29udGVudDoiXGVlMGMifS5saW5lLWljb24tV29tYW5zLVVuZGVyd2VhcjI6YmVmb3Jle2NvbnRlbnQ6IlxlZTBkIn0ubGluZS1pY29uLVdvbWVuOmJlZm9yZXtjb250ZW50OiJcZWUwZSJ9LmxpbmUtaWNvbi1Xb25kZXItV29tYW46YmVmb3Jle2NvbnRlbnQ6IlxlZTBmIn0ubGluZS1pY29uLVdvcmRwcmVzczpiZWZvcmV7Y29udGVudDoiXGVlMTAifS5saW5lLWljb24tV29ya2VyLUNsb3RoZXM6YmVmb3Jle2NvbnRlbnQ6IlxlZTExIn0ubGluZS1pY29uLVdvcmtlcjpiZWZvcmV7Y29udGVudDoiXGVlMTIifS5saW5lLWljb24tV3JhcC1UZXh0OmJlZm9yZXtjb250ZW50OiJcZWUxMyJ9LmxpbmUtaWNvbi1XcmVhdGg6YmVmb3Jle2NvbnRlbnQ6IlxlZTE0In0ubGluZS1pY29uLVdyZW5jaDpiZWZvcmV7Y29udGVudDoiXGVlMTUifS5saW5lLWljb24tWC1Cb3g6YmVmb3Jle2NvbnRlbnQ6IlxlZTE2In0ubGluZS1pY29uLVgtcmF5OmJlZm9yZXtjb250ZW50OiJcZWUxNyJ9LmxpbmUtaWNvbi1YYW5nYTpiZWZvcmV7Y29udGVudDoiXGVlMTgifS5saW5lLWljb24tWGluZzpiZWZvcmV7Y29udGVudDoiXGVlMTkifS5saW5lLWljb24tWWFjaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlZTFhIn0ubGluZS1pY29uLVlhaG9vLUJ1eno6YmVmb3Jle2NvbnRlbnQ6IlxlZTFiIn0ubGluZS1pY29uLVlhaG9vOmJlZm9yZXtjb250ZW50OiJcZWUxYyJ9LmxpbmUtaWNvbi1ZZWxwOmJlZm9yZXtjb250ZW50OiJcZWUxZCJ9LmxpbmUtaWNvbi1ZZXM6YmVmb3Jle2NvbnRlbnQ6IlxlZTFlIn0ubGluZS1pY29uLVlpbmctWWFuZzpiZWZvcmV7Y29udGVudDoiXGVlMWYifS5saW5lLWljb24tWW91dHViZTpiZWZvcmV7Y29udGVudDoiXGVlMjAifS5saW5lLWljb24tWi1BOmJlZm9yZXtjb250ZW50OiJcZWUyMSJ9LmxpbmUtaWNvbi1aZWJyYTpiZWZvcmV7Y29udGVudDoiXGVlMjIifS5saW5lLWljb24tWm9tYmllOmJlZm9yZXtjb250ZW50OiJcZWUyMyJ9LmxpbmUtaWNvbi1ab29tLUdlc3R1cmU6YmVmb3Jle2NvbnRlbnQ6IlxlZTI0In0ubGluZS1pY29uLVpvb3Rvb2w6YmVmb3Jle2NvbnRlbnQ6IlxlZTI1In0NCg0KQGZvbnQtZmFjZXtmb250LWZhbWlseTppY29tb29uLXNvbGlkO3NyYzp1cmwoIi4uL2ZvbnRzL2ljb21vb24tc29saWQzNTg5MzU4OS0xc3hhaDEuZW90Iik7c3JjOnVybCgiLi4vZm9udHMvaWNvbW9vbi1zb2xpZGQ0MWRkNDFkLS5lb3QjaWVmaXgxc3hhaDEiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCIuLi9mb250cy9pY29tb29uLXNvbGlkMzU4OTM1ODktMXN4YWgxLndvZmYiKSBmb3JtYXQoJ3dvZmYnKSx1cmwoIi4uL2ZvbnRzL2ljb21vb24tc29saWQzNTg5MzU4OS0xc3hhaDEudHRmIikgZm9ybWF0KCd0cnVldHlwZScpLHVybCgiLi4vZm9udHMvaWNvbW9vbi1zb2xpZDM1ODkzNTg5LTFzeGFoMS5zdmcjaWNvbW9vbiIpIGZvcm1hdCgnc3ZnJyk7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtZGlzcGxheTpzd2FwfVtjbGFzcyo9IiBzb2xpZC1pY29uLSJdLFtjbGFzc149c29saWQtaWNvbi1de2ZvbnQtZmFtaWx5Omljb21vb24tc29saWQ7c3BlYWs6bm9uZTtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2xpbmUtaGVpZ2h0OjE7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LnNvbGlkLWljb24tQS1aOmJlZm9yZXtjb250ZW50OiJcZTYwMCJ9LnNvbGlkLWljb24tQWE6YmVmb3Jle2NvbnRlbnQ6IlxlNjAxIn0uc29saWQtaWNvbi1BZGQtQmFnOmJlZm9yZXtjb250ZW50OiJcZTYwMiJ9LnNvbGlkLWljb24tQWRkLUJhc2tldDpiZWZvcmV7Y29udGVudDoiXGU2MDMifS5zb2xpZC1pY29uLUFkZC1DYXJ0OmJlZm9yZXtjb250ZW50OiJcZTYwNCJ9LnNvbGlkLWljb24tQWRkLUZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjA1In0uc29saWQtaWNvbi1BZGQtU3BhY2VBZnRlclBhcmFncmFwaDpiZWZvcmV7Y29udGVudDoiXGU2MDYifS5zb2xpZC1pY29uLUFkZC1TcGFjZUJlZm9yZVBhcmFncmFwaDpiZWZvcmV7Y29udGVudDoiXGU2MDcifS5zb2xpZC1pY29uLUFkZC1Vc2VyOmJlZm9yZXtjb250ZW50OiJcZTYwOCJ9LnNvbGlkLWljb24tQWRkLVVzZXJTdGFyOmJlZm9yZXtjb250ZW50OiJcZTYwOSJ9LnNvbGlkLWljb24tQWRkLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGU2MGEifS5zb2xpZC1pY29uLUFkZDpiZWZvcmV7Y29udGVudDoiXGU2MGIifS5zb2xpZC1pY29uLUFkZHJlc3MtQm9vazpiZWZvcmV7Y29udGVudDoiXGU2MGMifS5zb2xpZC1pY29uLUFkZHJlc3MtQm9vazI6YmVmb3Jle2NvbnRlbnQ6IlxlNjBkIn0uc29saWQtaWNvbi1BZG1pbmlzdHJhdG9yOmJlZm9yZXtjb250ZW50OiJcZTYwZSJ9LnNvbGlkLWljb24tQWVyb2JpY3MtMjpiZWZvcmV7Y29udGVudDoiXGU2MGYifS5zb2xpZC1pY29uLUFlcm9iaWNzLTM6YmVmb3Jle2NvbnRlbnQ6IlxlNjEwIn0uc29saWQtaWNvbi1BZXJvYmljczpiZWZvcmV7Y29udGVudDoiXGU2MTEifS5zb2xpZC1pY29uLUFmZmlsaWF0ZTpiZWZvcmV7Y29udGVudDoiXGU2MTIifS5zb2xpZC1pY29uLUFpbTpiZWZvcmV7Y29udGVudDoiXGU2MTMifS5zb2xpZC1pY29uLUFpci1CYWxsb29uOmJlZm9yZXtjb250ZW50OiJcZTYxNCJ9LnNvbGlkLWljb24tQWlyYnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxlNjE1In0uc29saWQtaWNvbi1BaXJzaGlwOmJlZm9yZXtjb250ZW50OiJcZTYxNiJ9LnNvbGlkLWljb24tQWxhcm0tQ2xvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNjE3In0uc29saWQtaWNvbi1BbGFybS1DbG9jazI6YmVmb3Jle2NvbnRlbnQ6IlxlNjE4In0uc29saWQtaWNvbi1BbGFybTpiZWZvcmV7Y29udGVudDoiXGU2MTkifS5zb2xpZC1pY29uLUFsaWVuLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNjFhIn0uc29saWQtaWNvbi1BbGllbjpiZWZvcmV7Y29udGVudDoiXGU2MWIifS5zb2xpZC1pY29uLUFsaWdhdG9yOmJlZm9yZXtjb250ZW50OiJcZTYxYyJ9LnNvbGlkLWljb24tQWxpZ24tQ2VudGVyOmJlZm9yZXtjb250ZW50OiJcZTYxZCJ9LnNvbGlkLWljb24tQWxpZ24tSnVzdGlmeUFsbDpiZWZvcmV7Y29udGVudDoiXGU2MWUifS5zb2xpZC1pY29uLUFsaWduLUp1c3RpZnlDZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNjFmIn0uc29saWQtaWNvbi1BbGlnbi1KdXN0aWZ5TGVmdDpiZWZvcmV7Y29udGVudDoiXGU2MjAifS5zb2xpZC1pY29uLUFsaWduLUp1c3RpZnlSaWdodDpiZWZvcmV7Y29udGVudDoiXGU2MjEifS5zb2xpZC1pY29uLUFsaWduLUxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjIyIn0uc29saWQtaWNvbi1BbGlnbi1SaWdodDpiZWZvcmV7Y29udGVudDoiXGU2MjMifS5zb2xpZC1pY29uLUFscGhhOmJlZm9yZXtjb250ZW50OiJcZTYyNCJ9LnNvbGlkLWljb24tQW1idWxhbmNlOmJlZm9yZXtjb250ZW50OiJcZTYyNSJ9LnNvbGlkLWljb24tQU1YOmJlZm9yZXtjb250ZW50OiJcZTYyNiJ9LnNvbGlkLWljb24tQW5jaG9yLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNjI3In0uc29saWQtaWNvbi1BbmNob3I6YmVmb3Jle2NvbnRlbnQ6IlxlNjI4In0uc29saWQtaWNvbi1BbmRyb2lkLVN0b3JlOmJlZm9yZXtjb250ZW50OiJcZTYyOSJ9LnNvbGlkLWljb24tQW5kcm9pZDpiZWZvcmV7Y29udGVudDoiXGU2MmEifS5zb2xpZC1pY29uLUFuZ2VsLVNtaWxleTpiZWZvcmV7Y29udGVudDoiXGU2MmIifS5zb2xpZC1pY29uLUFuZ2VsOmJlZm9yZXtjb250ZW50OiJcZTYyYyJ9LnNvbGlkLWljb24tQW5ncnk6YmVmb3Jle2NvbnRlbnQ6IlxlNjJkIn0uc29saWQtaWNvbi1BcHBsZS1CaXRlOmJlZm9yZXtjb250ZW50OiJcZTYyZSJ9LnNvbGlkLWljb24tQXBwbGUtU3RvcmU6YmVmb3Jle2NvbnRlbnQ6IlxlNjJmIn0uc29saWQtaWNvbi1BcHBsZTpiZWZvcmV7Y29udGVudDoiXGU2MzAifS5zb2xpZC1pY29uLUFwcHJvdmVkLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGU2MzEifS5zb2xpZC1pY29uLUFxdWFyaXVzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNjMyIn0uc29saWQtaWNvbi1BcXVhcml1czpiZWZvcmV7Y29udGVudDoiXGU2MzMifS5zb2xpZC1pY29uLUFyY2hlcnktMjpiZWZvcmV7Y29udGVudDoiXGU2MzQifS5zb2xpZC1pY29uLUFyY2hlcnk6YmVmb3Jle2NvbnRlbnQ6IlxlNjM1In0uc29saWQtaWNvbi1BcmdlbnRpbmE6YmVmb3Jle2NvbnRlbnQ6IlxlNjM2In0uc29saWQtaWNvbi1Bcmllcy0yOmJlZm9yZXtjb250ZW50OiJcZTYzNyJ9LnNvbGlkLWljb24tQXJpZXM6YmVmb3Jle2NvbnRlbnQ6IlxlNjM4In0uc29saWQtaWNvbi1Bcm15LUtleTpiZWZvcmV7Y29udGVudDoiXGU2MzkifS5zb2xpZC1pY29uLUFycm93LUFyb3VuZDpiZWZvcmV7Y29udGVudDoiXGU2M2EifS5zb2xpZC1pY29uLUFycm93LUJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNjNiIn0uc29saWQtaWNvbi1BcnJvdy1CYWNrMjpiZWZvcmV7Y29udGVudDoiXGU2M2MifS5zb2xpZC1pY29uLUFycm93LWJhY2szOmJlZm9yZXtjb250ZW50OiJcZTYzZCJ9LnNvbGlkLWljb24tQXJyb3ctQmFycmllcjpiZWZvcmV7Y29udGVudDoiXGU2M2UifS5zb2xpZC1pY29uLUFycm93LUNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU2M2YifS5zb2xpZC1pY29uLUFycm93LUNyb3NzOmJlZm9yZXtjb250ZW50OiJcZTY0MCJ9LnNvbGlkLWljb24tQXJyb3ctRG93bjpiZWZvcmV7Y29udGVudDoiXGU2NDEifS5zb2xpZC1pY29uLUFycm93LURvd24yOmJlZm9yZXtjb250ZW50OiJcZTY0MiJ9LnNvbGlkLWljb24tQXJyb3ctRG93bjM6YmVmb3Jle2NvbnRlbnQ6IlxlNjQzIn0uc29saWQtaWNvbi1BcnJvdy1Eb3duaW5DaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjQ0In0uc29saWQtaWNvbi1BcnJvdy1Gb3JrOmJlZm9yZXtjb250ZW50OiJcZTY0NSJ9LnNvbGlkLWljb24tQXJyb3ctRm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGU2NDYifS5zb2xpZC1pY29uLUFycm93LUZvcndhcmQyOmJlZm9yZXtjb250ZW50OiJcZTY0NyJ9LnNvbGlkLWljb24tQXJyb3ctRnJvbTpiZWZvcmV7Y29udGVudDoiXGU2NDgifS5zb2xpZC1pY29uLUFycm93LUluc2lkZTpiZWZvcmV7Y29udGVudDoiXGU2NDkifS5zb2xpZC1pY29uLUFycm93LUluc2lkZTQ1OmJlZm9yZXtjb250ZW50OiJcZTY0YSJ9LnNvbGlkLWljb24tQXJyb3ctSW5zaWRlR2FwOmJlZm9yZXtjb250ZW50OiJcZTY0YiJ9LnNvbGlkLWljb24tQXJyb3ctSW5zaWRlR2FwNDU6YmVmb3Jle2NvbnRlbnQ6IlxlNjRjIn0uc29saWQtaWNvbi1BcnJvdy1JbnRvOmJlZm9yZXtjb250ZW50OiJcZTY0ZCJ9LnNvbGlkLWljb24tQXJyb3ctSm9pbjpiZWZvcmV7Y29udGVudDoiXGU2NGUifS5zb2xpZC1pY29uLUFycm93LUp1bmN0aW9uOmJlZm9yZXtjb250ZW50OiJcZTY0ZiJ9LnNvbGlkLWljb24tQXJyb3ctTGVmdDpiZWZvcmV7Y29udGVudDoiXGU2NTAifS5zb2xpZC1pY29uLUFycm93LUxlZnQyOmJlZm9yZXtjb250ZW50OiJcZTY1MSJ9LnNvbGlkLWljb24tQXJyb3ctTGVmdGluQ2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTY1MiJ9LnNvbGlkLWljb24tQXJyb3ctTG9vcDpiZWZvcmV7Y29udGVudDoiXGU2NTMifS5zb2xpZC1pY29uLUFycm93LU1lcmdlOmJlZm9yZXtjb250ZW50OiJcZTY1NCJ9LnNvbGlkLWljb24tQXJyb3ctTWl4OmJlZm9yZXtjb250ZW50OiJcZTY1NSJ9LnNvbGlkLWljb24tQXJyb3ctTmV4dDpiZWZvcmV7Y29udGVudDoiXGU2NTYifS5zb2xpZC1pY29uLUFycm93LU91dExlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjU3In0uc29saWQtaWNvbi1BcnJvdy1PdXRSaWdodDpiZWZvcmV7Y29udGVudDoiXGU2NTgifS5zb2xpZC1pY29uLUFycm93LU91dHNpZGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjU5In0uc29saWQtaWNvbi1BcnJvdy1PdXRzaWRlNDU6YmVmb3Jle2NvbnRlbnQ6IlxlNjVhIn0uc29saWQtaWNvbi1BcnJvdy1PdXRzaWRlR2FwOmJlZm9yZXtjb250ZW50OiJcZTY1YiJ9LnNvbGlkLWljb24tQXJyb3ctT3V0c2lkZUdhcDQ1OmJlZm9yZXtjb250ZW50OiJcZTY1YyJ9LnNvbGlkLWljb24tQXJyb3ctT3ZlcjpiZWZvcmV7Y29udGVudDoiXGU2NWQifS5zb2xpZC1pY29uLUFycm93LVJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6IlxlNjVlIn0uc29saWQtaWNvbi1BcnJvdy1SZWZyZXNoMjpiZWZvcmV7Y29udGVudDoiXGU2NWYifS5zb2xpZC1pY29uLUFycm93LVJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTY2MCJ9LnNvbGlkLWljb24tQXJyb3ctUmlnaHQyOmJlZm9yZXtjb250ZW50OiJcZTY2MSJ9LnNvbGlkLWljb24tQXJyb3ctUmlnaHRpbkNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU2NjIifS5zb2xpZC1pY29uLUFycm93LVNodWZmbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNjYzIn0uc29saWQtaWNvbi1BcnJvdy1TcXVpZ2dseTpiZWZvcmV7Y29udGVudDoiXGU2NjQifS5zb2xpZC1pY29uLUFycm93LVRocm91Z2g6YmVmb3Jle2NvbnRlbnQ6IlxlNjY1In0uc29saWQtaWNvbi1BcnJvdy1UbzpiZWZvcmV7Y29udGVudDoiXGU2NjYifS5zb2xpZC1pY29uLUFycm93LVR1cm5MZWZ0OmJlZm9yZXtjb250ZW50OiJcZTY2NyJ9LnNvbGlkLWljb24tQXJyb3ctVHVyblJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTY2OCJ9LnNvbGlkLWljb24tQXJyb3ctVXA6YmVmb3Jle2NvbnRlbnQ6IlxlNjY5In0uc29saWQtaWNvbi1BcnJvdy1VcDI6YmVmb3Jle2NvbnRlbnQ6IlxlNjZhIn0uc29saWQtaWNvbi1BcnJvdy1VcDM6YmVmb3Jle2NvbnRlbnQ6IlxlNjZiIn0uc29saWQtaWNvbi1BcnJvdy1VcGluQ2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTY2YyJ9LnNvbGlkLWljb24tQXJyb3ctWExlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjZkIn0uc29saWQtaWNvbi1BcnJvdy1YUmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjZlIn0uc29saWQtaWNvbi1Bc2s6YmVmb3Jle2NvbnRlbnQ6IlxlNjZmIn0uc29saWQtaWNvbi1Bc3Npc3RhbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjcwIn0uc29saWQtaWNvbi1Bc3Ryb25hdXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjcxIn0uc29saWQtaWNvbi1BdC1TaWduOmJlZm9yZXtjb250ZW50OiJcZTY3MiJ9LnNvbGlkLWljb24tQVRNOmJlZm9yZXtjb250ZW50OiJcZTY3MyJ9LnNvbGlkLWljb24tQXRvbTpiZWZvcmV7Y29udGVudDoiXGU2NzQifS5zb2xpZC1pY29uLUF1ZGlvOmJlZm9yZXtjb250ZW50OiJcZTY3NSJ9LnNvbGlkLWljb24tQXV0by1GbGFzaDpiZWZvcmV7Y29udGVudDoiXGU2NzYifS5zb2xpZC1pY29uLUF1dHVtbjpiZWZvcmV7Y29udGVudDoiXGU2NzcifS5zb2xpZC1pY29uLUJhYnktQ2xvdGhlczpiZWZvcmV7Y29udGVudDoiXGU2NzgifS5zb2xpZC1pY29uLUJhYnktQ2xvdGhlczI6YmVmb3Jle2NvbnRlbnQ6IlxlNjc5In0uc29saWQtaWNvbi1CYWJ5LUNyeTpiZWZvcmV7Y29udGVudDoiXGU2N2EifS5zb2xpZC1pY29uLUJhYnk6YmVmb3Jle2NvbnRlbnQ6IlxlNjdiIn0uc29saWQtaWNvbi1CYWNrLU1lZGlhOmJlZm9yZXtjb250ZW50OiJcZTY3YyJ9LnNvbGlkLWljb24tQmFjay1NZWRpYTI6YmVmb3Jle2NvbnRlbnQ6IlxlNjdkIn0uc29saWQtaWNvbi1CYWNrLU11c2ljOmJlZm9yZXtjb250ZW50OiJcZTY3ZSJ9LnNvbGlkLWljb24tQmFjazpiZWZvcmV7Y29udGVudDoiXGU2N2YifS5zb2xpZC1pY29uLUJhY2tncm91bmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNjgwIn0uc29saWQtaWNvbi1CYWN0ZXJpYTpiZWZvcmV7Y29udGVudDoiXGU2ODEifS5zb2xpZC1pY29uLUJhZy1Db2luczpiZWZvcmV7Y29udGVudDoiXGU2ODIifS5zb2xpZC1pY29uLUJhZy1JdGVtczpiZWZvcmV7Y29udGVudDoiXGU2ODMifS5zb2xpZC1pY29uLUJhZy1RdWFudGl0eTpiZWZvcmV7Y29udGVudDoiXGU2ODQifS5zb2xpZC1pY29uLUJhZzpiZWZvcmV7Y29udGVudDoiXGU2ODUifS5zb2xpZC1pY29uLUJha2VsaXRlOmJlZm9yZXtjb250ZW50OiJcZTY4NiJ9LnNvbGlkLWljb24tQmFsbGV0LVNob2VzOmJlZm9yZXtjb250ZW50OiJcZTY4NyJ9LnNvbGlkLWljb24tQmFsbG9vbjpiZWZvcmV7Y29udGVudDoiXGU2ODgifS5zb2xpZC1pY29uLUJhbmFuYTpiZWZvcmV7Y29udGVudDoiXGU2ODkifS5zb2xpZC1pY29uLUJhbmQtQWlkOmJlZm9yZXtjb250ZW50OiJcZTY4YSJ9LnNvbGlkLWljb24tQmFuazpiZWZvcmV7Y29udGVudDoiXGU2OGIifS5zb2xpZC1pY29uLUJhci1DaGFydDpiZWZvcmV7Y29udGVudDoiXGU2OGMifS5zb2xpZC1pY29uLUJhci1DaGFydDI6YmVmb3Jle2NvbnRlbnQ6IlxlNjhkIn0uc29saWQtaWNvbi1CYXItQ2hhcnQzOmJlZm9yZXtjb250ZW50OiJcZTY4ZSJ9LnNvbGlkLWljb24tQmFyLUNoYXJ0NDpiZWZvcmV7Y29udGVudDoiXGU2OGYifS5zb2xpZC1pY29uLUJhci1DaGFydDU6YmVmb3Jle2NvbnRlbnQ6IlxlNjkwIn0uc29saWQtaWNvbi1CYXItQ29kZTpiZWZvcmV7Y29udGVudDoiXGU2OTEifS5zb2xpZC1pY29uLUJhcnJpY2FkZS0yOmJlZm9yZXtjb250ZW50OiJcZTY5MiJ9LnNvbGlkLWljb24tQmFycmljYWRlOmJlZm9yZXtjb250ZW50OiJcZTY5MyJ9LnNvbGlkLWljb24tQmFzZWJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxlNjk0In0uc29saWQtaWNvbi1CYXNrZXQtQmFsbDpiZWZvcmV7Y29udGVudDoiXGU2OTUifS5zb2xpZC1pY29uLUJhc2tldC1Db2luczpiZWZvcmV7Y29udGVudDoiXGU2OTYifS5zb2xpZC1pY29uLUJhc2tldC1JdGVtczpiZWZvcmV7Y29udGVudDoiXGU2OTcifS5zb2xpZC1pY29uLUJhc2tldC1RdWFudGl0eTpiZWZvcmV7Y29udGVudDoiXGU2OTgifS5zb2xpZC1pY29uLUJhdC0yOmJlZm9yZXtjb250ZW50OiJcZTY5OSJ9LnNvbGlkLWljb24tQmF0OmJlZm9yZXtjb250ZW50OiJcZTY5YSJ9LnNvbGlkLWljb24tQmF0aHJvYmU6YmVmb3Jle2NvbnRlbnQ6IlxlNjliIn0uc29saWQtaWNvbi1CYXRtYW4tTWFzazpiZWZvcmV7Y29udGVudDoiXGU2OWMifS5zb2xpZC1pY29uLUJhdHRlcnktMDpiZWZvcmV7Y29udGVudDoiXGU2OWQifS5zb2xpZC1pY29uLUJhdHRlcnktMjU6YmVmb3Jle2NvbnRlbnQ6IlxlNjllIn0uc29saWQtaWNvbi1CYXR0ZXJ5LTUwOmJlZm9yZXtjb250ZW50OiJcZTY5ZiJ9LnNvbGlkLWljb24tQmF0dGVyeS03NTpiZWZvcmV7Y29udGVudDoiXGU2YTAifS5zb2xpZC1pY29uLUJhdHRlcnktMTAwOmJlZm9yZXtjb250ZW50OiJcZTZhMSJ9LnNvbGlkLWljb24tQmF0dGVyeS1DaGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlNmEyIn0uc29saWQtaWNvbi1CZWFyOmJlZm9yZXtjb250ZW50OiJcZTZhMyJ9LnNvbGlkLWljb24tQmVhcmQtMjpiZWZvcmV7Y29udGVudDoiXGU2YTQifS5zb2xpZC1pY29uLUJlYXJkLTM6YmVmb3Jle2NvbnRlbnQ6IlxlNmE1In0uc29saWQtaWNvbi1CZWFyZDpiZWZvcmV7Y29udGVudDoiXGU2YTYifS5zb2xpZC1pY29uLUJlYm86YmVmb3Jle2NvbnRlbnQ6IlxlNmE3In0uc29saWQtaWNvbi1CZWU6YmVmb3Jle2NvbnRlbnQ6IlxlNmE4In0uc29saWQtaWNvbi1CZWVyLUdsYXNzOmJlZm9yZXtjb250ZW50OiJcZTZhOSJ9LnNvbGlkLWljb24tQmVlcjpiZWZvcmV7Y29udGVudDoiXGU2YWEifS5zb2xpZC1pY29uLUJlaGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxlNmFiIn0uc29saWQtaWNvbi1CZWxsLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNmFjIn0uc29saWQtaWNvbi1CZWxsOmJlZm9yZXtjb250ZW50OiJcZTZhZCJ9LnNvbGlkLWljb24tQmVsdC0yOmJlZm9yZXtjb250ZW50OiJcZTZhZSJ9LnNvbGlkLWljb24tQmVsdC0zOmJlZm9yZXtjb250ZW50OiJcZTZhZiJ9LnNvbGlkLWljb24tQmVsdDpiZWZvcmV7Y29udGVudDoiXGU2YjAifS5zb2xpZC1pY29uLUJlcmxpbi1Ub3dlcjpiZWZvcmV7Y29udGVudDoiXGU2YjEifS5zb2xpZC1pY29uLUJldGE6YmVmb3Jle2NvbnRlbnQ6IlxlNmIyIn0uc29saWQtaWNvbi1CZXR2aWJlczpiZWZvcmV7Y29udGVudDoiXGU2YjMifS5zb2xpZC1pY29uLUJpY3ljbGUtMjpiZWZvcmV7Y29udGVudDoiXGU2YjQifS5zb2xpZC1pY29uLUJpY3ljbGUtMzpiZWZvcmV7Y29udGVudDoiXGU2YjUifS5zb2xpZC1pY29uLUJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNmI2In0uc29saWQtaWNvbi1CaWctQmFuZzpiZWZvcmV7Y29udGVudDoiXGU2YjcifS5zb2xpZC1pY29uLUJpZy1EYXRhOmJlZm9yZXtjb250ZW50OiJcZTZiOCJ9LnNvbGlkLWljb24tQmlrZS1IZWxtZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmI5In0uc29saWQtaWNvbi1CaWtpbmk6YmVmb3Jle2NvbnRlbnQ6IlxlNmJhIn0uc29saWQtaWNvbi1CaWxrLUJvdHRsZTI6YmVmb3Jle2NvbnRlbnQ6IlxlNmJiIn0uc29saWQtaWNvbi1CaWxsaW5nOmJlZm9yZXtjb250ZW50OiJcZTZiYyJ9LnNvbGlkLWljb24tQmluZzpiZWZvcmV7Y29udGVudDoiXGU2YmQifS5zb2xpZC1pY29uLUJpbm9jdWxhcjpiZWZvcmV7Y29udGVudDoiXGU2YmUifS5zb2xpZC1pY29uLUJpby1IYXphcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmJmIn0uc29saWQtaWNvbi1CaW90ZWNoOmJlZm9yZXtjb250ZW50OiJcZTZjMCJ9LnNvbGlkLWljb24tQmlyZC1EZWxpdmVyaW5nTGV0dGVyOmJlZm9yZXtjb250ZW50OiJcZTZjMSJ9LnNvbGlkLWljb24tQmlyZDpiZWZvcmV7Y29udGVudDoiXGU2YzIifS5zb2xpZC1pY29uLUJpcnRoZGF5LUNha2U6YmVmb3Jle2NvbnRlbnQ6IlxlNmMzIn0uc29saWQtaWNvbi1CaXNleHVhbDpiZWZvcmV7Y29udGVudDoiXGU2YzQifS5zb2xpZC1pY29uLUJpc2hvcDpiZWZvcmV7Y29udGVudDoiXGU2YzUifS5zb2xpZC1pY29uLUJpdGNvaW46YmVmb3Jle2NvbnRlbnQ6IlxlNmM2In0uc29saWQtaWNvbi1CbGFjay1DYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmM3In0uc29saWQtaWNvbi1CbGFja2JvYXJkOmJlZm9yZXtjb250ZW50OiJcZTZjOCJ9LnNvbGlkLWljb24tQmxpbmtsaXN0OmJlZm9yZXtjb250ZW50OiJcZTZjOSJ9LnNvbGlkLWljb24tQmxvY2stQ2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmNhIn0uc29saWQtaWNvbi1CbG9jay1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlNmNiIn0uc29saWQtaWNvbi1CbG9nZ2VyOmJlZm9yZXtjb250ZW50OiJcZTZjYyJ9LnNvbGlkLWljb24tQmxvb2Q6YmVmb3Jle2NvbnRlbnQ6IlxlNmNkIn0uc29saWQtaWNvbi1CbG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlNmNlIn0uc29saWQtaWNvbi1CbHVlcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmNmIn0uc29saWQtaWNvbi1Cb2FyZDpiZWZvcmV7Y29udGVudDoiXGU2ZDAifS5zb2xpZC1pY29uLUJvZHlidWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGU2ZDEifS5zb2xpZC1pY29uLUJvbGQtVGV4dDpiZWZvcmV7Y29udGVudDoiXGU2ZDIifS5zb2xpZC1pY29uLUJvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlNmQzIn0uc29saWQtaWNvbi1Cb25lczpiZWZvcmV7Y29udGVudDoiXGU2ZDQifS5zb2xpZC1pY29uLUJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxlNmQ1In0uc29saWQtaWNvbi1Cb29rbWFyazpiZWZvcmV7Y29udGVudDoiXGU2ZDYifS5zb2xpZC1pY29uLUJvb2tzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNmQ3In0uc29saWQtaWNvbi1Cb29rczpiZWZvcmV7Y29udGVudDoiXGU2ZDgifS5zb2xpZC1pY29uLUJvb206YmVmb3Jle2NvbnRlbnQ6IlxlNmQ5In0uc29saWQtaWNvbi1Cb290LTI6YmVmb3Jle2NvbnRlbnQ6IlxlNmRhIn0uc29saWQtaWNvbi1Cb290OmJlZm9yZXtjb250ZW50OiJcZTZkYiJ9LnNvbGlkLWljb24tQm90dG9tLVRvVG9wOmJlZm9yZXtjb250ZW50OiJcZTZkYyJ9LnNvbGlkLWljb24tQm93LTI6YmVmb3Jle2NvbnRlbnQ6IlxlNmRkIn0uc29saWQtaWNvbi1Cb3ctMzpiZWZvcmV7Y29udGVudDoiXGU2ZGUifS5zb2xpZC1pY29uLUJvdy00OmJlZm9yZXtjb250ZW50OiJcZTZkZiJ9LnNvbGlkLWljb24tQm93LTU6YmVmb3Jle2NvbnRlbnQ6IlxlNmUwIn0uc29saWQtaWNvbi1Cb3ctNjpiZWZvcmV7Y29udGVudDoiXGU2ZTEifS5zb2xpZC1pY29uLUJvdzpiZWZvcmV7Y29udGVudDoiXGU2ZTIifS5zb2xpZC1pY29uLUJvd2xpbmctMjpiZWZvcmV7Y29udGVudDoiXGU2ZTMifS5zb2xpZC1pY29uLUJvd2xpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlNmU0In0uc29saWQtaWNvbi1Cb3gtQ2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlNmU1In0uc29saWQtaWNvbi1Cb3gtRnVsbDpiZWZvcmV7Y29udGVudDoiXGU2ZTYifS5zb2xpZC1pY29uLUJveC1HbG92ZXM6YmVmb3Jle2NvbnRlbnQ6IlxlNmU3In0uc29saWQtaWNvbi1Cb3gtT3BlbjpiZWZvcmV7Y29udGVudDoiXGU2ZTgifS5zb2xpZC1pY29uLUJveC13aXRoRm9sZGVyczpiZWZvcmV7Y29udGVudDoiXGU2ZTkifS5zb2xpZC1pY29uLUJveDpiZWZvcmV7Y29udGVudDoiXGU2ZWEifS5zb2xpZC1pY29uLUJveTpiZWZvcmV7Y29udGVudDoiXGU2ZWIifS5zb2xpZC1pY29uLUJyYTpiZWZvcmV7Y29udGVudDoiXGU2ZWMifS5zb2xpZC1pY29uLUJyYWluLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNmVkIn0uc29saWQtaWNvbi1CcmFpbi0zOmJlZm9yZXtjb250ZW50OiJcZTZlZSJ9LnNvbGlkLWljb24tQnJhaW46YmVmb3Jle2NvbnRlbnQ6IlxlNmVmIn0uc29saWQtaWNvbi1CcmF6aWw6YmVmb3Jle2NvbnRlbnQ6IlxlNmYwIn0uc29saWQtaWNvbi1CcmVhZC0yOmJlZm9yZXtjb250ZW50OiJcZTZmMSJ9LnNvbGlkLWljb24tQnJlYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmYyIn0uc29saWQtaWNvbi1CcmlkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlNmYzIn0uc29saWQtaWNvbi1CcmlnaHRraXRlOmJlZm9yZXtjb250ZW50OiJcZTZmNCJ9LnNvbGlkLWljb24tQnJva2UtTGluazI6YmVmb3Jle2NvbnRlbnQ6IlxlNmY1In0uc29saWQtaWNvbi1Ccm9rZW4tTGluazpiZWZvcmV7Y29udGVudDoiXGU2ZjYifS5zb2xpZC1pY29uLUJyb29tOmJlZm9yZXtjb250ZW50OiJcZTZmNyJ9LnNvbGlkLWljb24tQnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxlNmY4In0uc29saWQtaWNvbi1CdWNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNmY5In0uc29saWQtaWNvbi1CdWc6YmVmb3Jle2NvbnRlbnQ6IlxlNmZhIn0uc29saWQtaWNvbi1CdWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGU2ZmIifS5zb2xpZC1pY29uLUJ1bGxldGVkLUxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlNmZjIn0uc29saWQtaWNvbi1CdXMtMjpiZWZvcmV7Y29udGVudDoiXGU2ZmQifS5zb2xpZC1pY29uLUJ1czpiZWZvcmV7Y29udGVudDoiXGU2ZmUifS5zb2xpZC1pY29uLUJ1c2luZXNzLU1hbjpiZWZvcmV7Y29udGVudDoiXGU2ZmYifS5zb2xpZC1pY29uLUJ1c2luZXNzLU1hbldvbWFuOmJlZm9yZXtjb250ZW50OiJcZTcwMCJ9LnNvbGlkLWljb24tQnVzaW5lc3MtTWVuczpiZWZvcmV7Y29udGVudDoiXGU3MDEifS5zb2xpZC1pY29uLUJ1c2luZXNzLVdvbWFuOmJlZm9yZXtjb250ZW50OiJcZTcwMiJ9LnNvbGlkLWljb24tQnV0dGVyZmx5OmJlZm9yZXtjb250ZW50OiJcZTcwMyJ9LnNvbGlkLWljb24tQnV0dG9uOmJlZm9yZXtjb250ZW50OiJcZTcwNCJ9LnNvbGlkLWljb24tQ2FibGUtQ2FyOmJlZm9yZXtjb250ZW50OiJcZTcwNSJ9LnNvbGlkLWljb24tQ2FrZTpiZWZvcmV7Y29udGVudDoiXGU3MDYifS5zb2xpZC1pY29uLUNhbGN1bGF0b3ItMjpiZWZvcmV7Y29udGVudDoiXGU3MDcifS5zb2xpZC1pY29uLUNhbGN1bGF0b3ItMzpiZWZvcmV7Y29udGVudDoiXGU3MDgifS5zb2xpZC1pY29uLUNhbGN1bGF0b3I6YmVmb3Jle2NvbnRlbnQ6IlxlNzA5In0uc29saWQtaWNvbi1DYWxlbmRhci0yOmJlZm9yZXtjb250ZW50OiJcZTcwYSJ9LnNvbGlkLWljb24tQ2FsZW5kYXItMzpiZWZvcmV7Y29udGVudDoiXGU3MGIifS5zb2xpZC1pY29uLUNhbGVuZGFyLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzBjIn0uc29saWQtaWNvbi1DYWxlbmRhci1DbG9jazpiZWZvcmV7Y29udGVudDoiXGU3MGQifS5zb2xpZC1pY29uLUNhbGVuZGFyOmJlZm9yZXtjb250ZW50OiJcZTcwZSJ9LnNvbGlkLWljb24tQ2FtZWw6YmVmb3Jle2NvbnRlbnQ6IlxlNzBmIn0uc29saWQtaWNvbi1DYW1lcmEtMjpiZWZvcmV7Y29udGVudDoiXGU3MTAifS5zb2xpZC1pY29uLUNhbWVyYS0zOmJlZm9yZXtjb250ZW50OiJcZTcxMSJ9LnNvbGlkLWljb24tQ2FtZXJhLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzEyIn0uc29saWQtaWNvbi1DYW1lcmEtNTpiZWZvcmV7Y29udGVudDoiXGU3MTMifS5zb2xpZC1pY29uLUNhbWVyYS1CYWNrOmJlZm9yZXtjb250ZW50OiJcZTcxNCJ9LnNvbGlkLWljb24tQ2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZTcxNSJ9LnNvbGlkLWljb24tQ2FuLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNzE2In0uc29saWQtaWNvbi1DYW46YmVmb3Jle2NvbnRlbnQ6IlxlNzE3In0uc29saWQtaWNvbi1DYW5hZGE6YmVmb3Jle2NvbnRlbnQ6IlxlNzE4In0uc29saWQtaWNvbi1DYW5jZXItMjpiZWZvcmV7Y29udGVudDoiXGU3MTkifS5zb2xpZC1pY29uLUNhbmNlci0zOmJlZm9yZXtjb250ZW50OiJcZTcxYSJ9LnNvbGlkLWljb24tQ2FuY2VyOmJlZm9yZXtjb250ZW50OiJcZTcxYiJ9LnNvbGlkLWljb24tQ2FuZGxlOmJlZm9yZXtjb250ZW50OiJcZTcxYyJ9LnNvbGlkLWljb24tQ2FuZHktQ2FuZTpiZWZvcmV7Y29udGVudDoiXGU3MWQifS5zb2xpZC1pY29uLUNhbmR5OmJlZm9yZXtjb250ZW50OiJcZTcxZSJ9LnNvbGlkLWljb24tQ2Fubm9uOmJlZm9yZXtjb250ZW50OiJcZTcxZiJ9LnNvbGlkLWljb24tQ2FwLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNzIwIn0uc29saWQtaWNvbi1DYXAtMzpiZWZvcmV7Y29udGVudDoiXGU3MjEifS5zb2xpZC1pY29uLUNhcC1TbWlsZXk6YmVmb3Jle2NvbnRlbnQ6IlxlNzIyIn0uc29saWQtaWNvbi1DYXA6YmVmb3Jle2NvbnRlbnQ6IlxlNzIzIn0uc29saWQtaWNvbi1DYXByaWNvcm4tMjpiZWZvcmV7Y29udGVudDoiXGU3MjQifS5zb2xpZC1pY29uLUNhcHJpY29ybjpiZWZvcmV7Y29udGVudDoiXGU3MjUifS5zb2xpZC1pY29uLUNhci0yOmJlZm9yZXtjb250ZW50OiJcZTcyNiJ9LnNvbGlkLWljb24tQ2FyLTM6YmVmb3Jle2NvbnRlbnQ6IlxlNzI3In0uc29saWQtaWNvbi1DYXItQ29pbnM6YmVmb3Jle2NvbnRlbnQ6IlxlNzI4In0uc29saWQtaWNvbi1DYXItSXRlbXM6YmVmb3Jle2NvbnRlbnQ6IlxlNzI5In0uc29saWQtaWNvbi1DYXItV2hlZWw6YmVmb3Jle2NvbnRlbnQ6IlxlNzJhIn0uc29saWQtaWNvbi1DYXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzJiIn0uc29saWQtaWNvbi1DYXJkaWdhbjpiZWZvcmV7Y29udGVudDoiXGU3MmMifS5zb2xpZC1pY29uLUNhcmRpb3Zhc2N1bGFyOmJlZm9yZXtjb250ZW50OiJcZTcyZCJ9LnNvbGlkLWljb24tQ2FydC1RdWFudGl0eTpiZWZvcmV7Y29udGVudDoiXGU3MmUifS5zb2xpZC1pY29uLUNhc2V0dGUtVGFwZTpiZWZvcmV7Y29udGVudDoiXGU3MmYifS5zb2xpZC1pY29uLUNhc2gtUmVnaXN0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzMwIn0uc29saWQtaWNvbi1DYXNoLXJlZ2lzdGVyMjpiZWZvcmV7Y29udGVudDoiXGU3MzEifS5zb2xpZC1pY29uLUNhc3RsZTpiZWZvcmV7Y29udGVudDoiXGU3MzIifS5zb2xpZC1pY29uLUNhdDpiZWZvcmV7Y29udGVudDoiXGU3MzMifS5zb2xpZC1pY29uLUNhdGhlZHJhbDpiZWZvcmV7Y29udGVudDoiXGU3MzQifS5zb2xpZC1pY29uLUNhdWxkcm9uOmJlZm9yZXtjb250ZW50OiJcZTczNSJ9LnNvbGlkLWljb24tQ0QtMjpiZWZvcmV7Y29udGVudDoiXGU3MzYifS5zb2xpZC1pY29uLUNELUNvdmVyOmJlZm9yZXtjb250ZW50OiJcZTczNyJ9LnNvbGlkLWljb24tQ0Q6YmVmb3Jle2NvbnRlbnQ6IlxlNzM4In0uc29saWQtaWNvbi1DZWxsbzpiZWZvcmV7Y29udGVudDoiXGU3MzkifS5zb2xpZC1pY29uLUNlbHNpdXM6YmVmb3Jle2NvbnRlbnQ6IlxlNzNhIn0uc29saWQtaWNvbi1DaGFja2VkLUZsYWc6YmVmb3Jle2NvbnRlbnQ6IlxlNzNiIn0uc29saWQtaWNvbi1DaGFpcjpiZWZvcmV7Y29udGVudDoiXGU3M2MifS5zb2xpZC1pY29uLUNoYXJnZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzNkIn0uc29saWQtaWNvbi1DaGVjay0yOmJlZm9yZXtjb250ZW50OiJcZTczZSJ9LnNvbGlkLWljb24tQ2hlY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNzNmIn0uc29saWQtaWNvbi1DaGVja2VkLVVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzQwIn0uc29saWQtaWNvbi1DaGVja21hdGU6YmVmb3Jle2NvbnRlbnQ6IlxlNzQxIn0uc29saWQtaWNvbi1DaGVja291dC1CYWc6YmVmb3Jle2NvbnRlbnQ6IlxlNzQyIn0uc29saWQtaWNvbi1DaGVja291dC1CYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzQzIn0uc29saWQtaWNvbi1DaGVja291dDpiZWZvcmV7Y29udGVudDoiXGU3NDQifS5zb2xpZC1pY29uLUNoZWVzZTpiZWZvcmV7Y29udGVudDoiXGU3NDUifS5zb2xpZC1pY29uLUNoZWV0YWg6YmVmb3Jle2NvbnRlbnQ6IlxlNzQ2In0uc29saWQtaWNvbi1DaGVmLUhhdDpiZWZvcmV7Y29udGVudDoiXGU3NDcifS5zb2xpZC1pY29uLUNoZWYtSGF0MjpiZWZvcmV7Y29udGVudDoiXGU3NDgifS5zb2xpZC1pY29uLUNoZWY6YmVmb3Jle2NvbnRlbnQ6IlxlNzQ5In0uc29saWQtaWNvbi1DaGVtaWNhbC0yOmJlZm9yZXtjb250ZW50OiJcZTc0YSJ9LnNvbGlkLWljb24tQ2hlbWljYWwtMzpiZWZvcmV7Y29udGVudDoiXGU3NGIifS5zb2xpZC1pY29uLUNoZW1pY2FsLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlNzRjIn0uc29saWQtaWNvbi1DaGVtaWNhbC01OmJlZm9yZXtjb250ZW50OiJcZTc0ZCJ9LnNvbGlkLWljb24tQ2hlbWljYWw6YmVmb3Jle2NvbnRlbnQ6IlxlNzRlIn0uc29saWQtaWNvbi1DaGVzcy1Cb2FyZDpiZWZvcmV7Y29udGVudDoiXGU3NGYifS5zb2xpZC1pY29uLUNoZXNzOmJlZm9yZXtjb250ZW50OiJcZTc1MCJ9LnNvbGlkLWljb24tQ2hpY2tlbjpiZWZvcmV7Y29udGVudDoiXGU3NTEifS5zb2xpZC1pY29uLUNoaWxlOmJlZm9yZXtjb250ZW50OiJcZTc1MiJ9LnNvbGlkLWljb24tQ2hpbW5leTpiZWZvcmV7Y29udGVudDoiXGU3NTMifS5zb2xpZC1pY29uLUNoaW5hOmJlZm9yZXtjb250ZW50OiJcZTc1NCJ9LnNvbGlkLWljb24tQ2hpbmVzZS1UZW1wbGU6YmVmb3Jle2NvbnRlbnQ6IlxlNzU1In0uc29saWQtaWNvbi1DaGlwOmJlZm9yZXtjb250ZW50OiJcZTc1NiJ9LnNvbGlkLWljb24tQ2hvcHN0aWNrcy0yOmJlZm9yZXtjb250ZW50OiJcZTc1NyJ9LnNvbGlkLWljb24tQ2hvcHN0aWNrczpiZWZvcmV7Y29udGVudDoiXGU3NTgifS5zb2xpZC1pY29uLUNocmlzdG1hcy1CYWxsOmJlZm9yZXtjb250ZW50OiJcZTc1OSJ9LnNvbGlkLWljb24tQ2hyaXN0bWFzLUJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxlNzVhIn0uc29saWQtaWNvbi1DaHJpc3RtYXMtQ2FuZGxlOmJlZm9yZXtjb250ZW50OiJcZTc1YiJ9LnNvbGlkLWljb24tQ2hyaXN0bWFzLUhhdDpiZWZvcmV7Y29udGVudDoiXGU3NWMifS5zb2xpZC1pY29uLUNocmlzdG1hcy1TbGVpZ2g6YmVmb3Jle2NvbnRlbnQ6IlxlNzVkIn0uc29saWQtaWNvbi1DaHJpc3RtYXMtU25vd21hbjpiZWZvcmV7Y29udGVudDoiXGU3NWUifS5zb2xpZC1pY29uLUNocmlzdG1hcy1Tb2NrOmJlZm9yZXtjb250ZW50OiJcZTc1ZiJ9LnNvbGlkLWljb24tQ2hyaXN0bWFzLVRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxlNzYwIn0uc29saWQtaWNvbi1DaHJpc3RtYXM6YmVmb3Jle2NvbnRlbnQ6IlxlNzYxIn0uc29saWQtaWNvbi1DaHJvbWU6YmVmb3Jle2NvbnRlbnQ6IlxlNzYyIn0uc29saWQtaWNvbi1DaHJ5c2xlci1CdWlsZGluZzpiZWZvcmV7Y29udGVudDoiXGU3NjMifS5zb2xpZC1pY29uLUNpbmVtYTpiZWZvcmV7Y29udGVudDoiXGU3NjQifS5zb2xpZC1pY29uLUNpcmN1bGFyLVBvaW50OmJlZm9yZXtjb250ZW50OiJcZTc2NSJ9LnNvbGlkLWljb24tQ2l0eS1IYWxsOmJlZm9yZXtjb250ZW50OiJcZTc2NiJ9LnNvbGlkLWljb24tQ2xhbXA6YmVmb3Jle2NvbnRlbnQ6IlxlNzY3In0uc29saWQtaWNvbi1DbGFwcGVyYm9hcmQtQ2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlNzY4In0uc29saWQtaWNvbi1DbGFwcGVyYm9hcmQtT3BlbjpiZWZvcmV7Y29udGVudDoiXGU3NjkifS5zb2xpZC1pY29uLUNsYXBzOmJlZm9yZXtjb250ZW50OiJcZTc2YSJ9LnNvbGlkLWljb24tQ2xlZjpiZWZvcmV7Y29udGVudDoiXGU3NmIifS5zb2xpZC1pY29uLUNsaW5pYzpiZWZvcmV7Y29udGVudDoiXGU3NmMifS5zb2xpZC1pY29uLUNsb2NrLTI6YmVmb3Jle2NvbnRlbnQ6IlxlNzZkIn0uc29saWQtaWNvbi1DbG9jay0zOmJlZm9yZXtjb250ZW50OiJcZTc2ZSJ9LnNvbGlkLWljb24tQ2xvY2stNDpiZWZvcmV7Y29udGVudDoiXGU3NmYifS5zb2xpZC1pY29uLUNsb2NrLUJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNzcwIn0uc29saWQtaWNvbi1DbG9jay1Gb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZTc3MSJ9LnNvbGlkLWljb24tQ2xvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlNzcyIn0uc29saWQtaWNvbi1DbG9zZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlNzczIn0uc29saWQtaWNvbi1DbG9zZTpiZWZvcmV7Y29udGVudDoiXGU3NzQifS5zb2xpZC1pY29uLUNsb3RoaW5nLVN0b3JlOmJlZm9yZXtjb250ZW50OiJcZTc3NSJ9LnNvbGlkLWljb24tQ2xvdWQtLTpiZWZvcmV7Y29udGVudDoiXGU3NzYifS5zb2xpZC1pY29uLUNsb3VkLTpiZWZvcmV7Y29udGVudDoiXGU3NzcifS5zb2xpZC1pY29uLUNsb3VkLUNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGU3NzgifS5zb2xpZC1pY29uLUNsb3VkLUNvbXB1dGVyOmJlZm9yZXtjb250ZW50OiJcZTc3OSJ9LnNvbGlkLWljb24tQ2xvdWQtRW1haWw6YmVmb3Jle2NvbnRlbnQ6IlxlNzdhIn0uc29saWQtaWNvbi1DbG91ZC1IYWlsOmJlZm9yZXtjb250ZW50OiJcZTc3YiJ9LnNvbGlkLWljb24tQ2xvdWQtTGFwdG9wOmJlZm9yZXtjb250ZW50OiJcZTc3YyJ9LnNvbGlkLWljb24tQ2xvdWQtTG9jazpiZWZvcmV7Y29udGVudDoiXGU3N2QifS5zb2xpZC1pY29uLUNsb3VkLU1vb246YmVmb3Jle2NvbnRlbnQ6IlxlNzdlIn0uc29saWQtaWNvbi1DbG91ZC1NdXNpYzpiZWZvcmV7Y29udGVudDoiXGU3N2YifS5zb2xpZC1pY29uLUNsb3VkLVBpY3R1cmU6YmVmb3Jle2NvbnRlbnQ6IlxlNzgwIn0uc29saWQtaWNvbi1DbG91ZC1SYWluOmJlZm9yZXtjb250ZW50OiJcZTc4MSJ9LnNvbGlkLWljb24tQ2xvdWQtUmVtb3ZlOmJlZm9yZXtjb250ZW50OiJcZTc4MiJ9LnNvbGlkLWljb24tQ2xvdWQtU2VjdXJlOmJlZm9yZXtjb250ZW50OiJcZTc4MyJ9LnNvbGlkLWljb24tQ2xvdWQtU2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6IlxlNzg0In0uc29saWQtaWNvbi1DbG91ZC1TbWFydHBob25lOmJlZm9yZXtjb250ZW50OiJcZTc4NSJ9LnNvbGlkLWljb24tQ2xvdWQtU25vdzpiZWZvcmV7Y29udGVudDoiXGU3ODYifS5zb2xpZC1pY29uLUNsb3VkLVN1bjpiZWZvcmV7Y29udGVudDoiXGU3ODcifS5zb2xpZC1pY29uLUNsb3VkLVRhYmxldDpiZWZvcmV7Y29udGVudDoiXGU3ODgifS5zb2xpZC1pY29uLUNsb3VkLVZpZGVvOmJlZm9yZXtjb250ZW50OiJcZTc4OSJ9LnNvbGlkLWljb24tQ2xvdWQtV2VhdGhlcjpiZWZvcmV7Y29udGVudDoiXGU3OGEifS5zb2xpZC1pY29uLUNsb3VkOmJlZm9yZXtjb250ZW50OiJcZTc4YiJ9LnNvbGlkLWljb24tQ2xvdWRzLVdlYXRoZXI6YmVmb3Jle2NvbnRlbnQ6IlxlNzhjIn0uc29saWQtaWNvbi1DbG91ZHM6YmVmb3Jle2NvbnRlbnQ6IlxlNzhkIn0uc29saWQtaWNvbi1DbG93bjpiZWZvcmV7Y29udGVudDoiXGU3OGUifS5zb2xpZC1pY29uLUNNWUs6YmVmb3Jle2NvbnRlbnQ6IlxlNzhmIn0uc29saWQtaWNvbi1Db2F0OmJlZm9yZXtjb250ZW50OiJcZTc5MCJ9LnNvbGlkLWljb24tQ29ja3RhaWw6YmVmb3Jle2NvbnRlbnQ6IlxlNzkxIn0uc29saWQtaWNvbi1Db2NvbnV0OmJlZm9yZXtjb250ZW50OiJcZTc5MiJ9LnNvbGlkLWljb24tQ29kZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlNzkzIn0uc29saWQtaWNvbi1Db2Rpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlNzk0In0uc29saWQtaWNvbi1Db2ZmZWUtMjpiZWZvcmV7Y29udGVudDoiXGU3OTUifS5zb2xpZC1pY29uLUNvZmZlZS1CZWFuOmJlZm9yZXtjb250ZW50OiJcZTc5NiJ9LnNvbGlkLWljb24tQ29mZmVlLU1hY2hpbmU6YmVmb3Jle2NvbnRlbnQ6IlxlNzk3In0uc29saWQtaWNvbi1Db2ZmZWUtdG9HbzpiZWZvcmV7Y29udGVudDoiXGU3OTgifS5zb2xpZC1pY29uLUNvZmZlZTpiZWZvcmV7Y29udGVudDoiXGU3OTkifS5zb2xpZC1pY29uLUNvZmZpbjpiZWZvcmV7Y29udGVudDoiXGU3OWEifS5zb2xpZC1pY29uLUNvaW46YmVmb3Jle2NvbnRlbnQ6IlxlNzliIn0uc29saWQtaWNvbi1Db2lucy0yOmJlZm9yZXtjb250ZW50OiJcZTc5YyJ9LnNvbGlkLWljb24tQ29pbnMtMzpiZWZvcmV7Y29udGVudDoiXGU3OWQifS5zb2xpZC1pY29uLUNvaW5zOmJlZm9yZXtjb250ZW50OiJcZTc5ZSJ9LnNvbGlkLWljb24tQ29sb21iaWE6YmVmb3Jle2NvbnRlbnQ6IlxlNzlmIn0uc29saWQtaWNvbi1Db2xvc3NldW06YmVmb3Jle2NvbnRlbnQ6IlxlN2EwIn0uc29saWQtaWNvbi1Db2x1bW4tMjpiZWZvcmV7Y29udGVudDoiXGU3YTEifS5zb2xpZC1pY29uLUNvbHVtbi0zOmJlZm9yZXtjb250ZW50OiJcZTdhMiJ9LnNvbGlkLWljb24tQ29sdW1uOmJlZm9yZXtjb250ZW50OiJcZTdhMyJ9LnNvbGlkLWljb24tQ29tYi0yOmJlZm9yZXtjb250ZW50OiJcZTdhNCJ9LnNvbGlkLWljb24tQ29tYjpiZWZvcmV7Y29udGVudDoiXGU3YTUifS5zb2xpZC1pY29uLUNvbW11bmljYXRpb24tVG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlN2E2In0uc29saWQtaWNvbi1Db21tdW5pY2F0aW9uLVRvd2VyMjpiZWZvcmV7Y29udGVudDoiXGU3YTcifS5zb2xpZC1pY29uLUNvbXBhc3MtMjpiZWZvcmV7Y29udGVudDoiXGU3YTgifS5zb2xpZC1pY29uLUNvbXBhc3MtMzpiZWZvcmV7Y29udGVudDoiXGU3YTkifS5zb2xpZC1pY29uLUNvbXBhc3MtNDpiZWZvcmV7Y29udGVudDoiXGU3YWEifS5zb2xpZC1pY29uLUNvbXBhc3MtUm9zZTpiZWZvcmV7Y29udGVudDoiXGU3YWIifS5zb2xpZC1pY29uLUNvbXBhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlN2FjIn0uc29saWQtaWNvbi1Db21wdXRlci0yOmJlZm9yZXtjb250ZW50OiJcZTdhZCJ9LnNvbGlkLWljb24tQ29tcHV0ZXItMzpiZWZvcmV7Y29udGVudDoiXGU3YWUifS5zb2xpZC1pY29uLUNvbXB1dGVyLVNlY3VyZTpiZWZvcmV7Y29udGVudDoiXGU3YWYifS5zb2xpZC1pY29uLUNvbXB1dGVyOmJlZm9yZXtjb250ZW50OiJcZTdiMCJ9LnNvbGlkLWljb24tQ29uZmVyZW5jZTpiZWZvcmV7Y29udGVudDoiXGU3YjEifS5zb2xpZC1pY29uLUNvbmZ1c2VkOmJlZm9yZXtjb250ZW50OiJcZTdiMiJ9LnNvbGlkLWljb24tQ29uc2VydmF0aW9uOmJlZm9yZXtjb250ZW50OiJcZTdiMyJ9LnNvbGlkLWljb24tQ29uc3VsdGluZzpiZWZvcmV7Y29udGVudDoiXGU3YjQifS5zb2xpZC1pY29uLUNvbnRyYXN0OmJlZm9yZXtjb250ZW50OiJcZTdiNSJ9LnNvbGlkLWljb24tQ29udHJvbC0yOmJlZm9yZXtjb250ZW50OiJcZTdiNiJ9LnNvbGlkLWljb24tQ29udHJvbDpiZWZvcmV7Y29udGVudDoiXGU3YjcifS5zb2xpZC1pY29uLUNvb2tpZS1NYW46YmVmb3Jle2NvbnRlbnQ6IlxlN2I4In0uc29saWQtaWNvbi1Db29raWVzOmJlZm9yZXtjb250ZW50OiJcZTdiOSJ9LnNvbGlkLWljb24tQ29vbC1HdXk6YmVmb3Jle2NvbnRlbnQ6IlxlN2JhIn0uc29saWQtaWNvbi1Db29sOmJlZm9yZXtjb250ZW50OiJcZTdiYiJ9LnNvbGlkLWljb24tQ29weXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTdiYyJ9LnNvbGlkLWljb24tQ29zdHVtZTpiZWZvcmV7Y29udGVudDoiXGU3YmQifS5zb2xpZC1pY29uLUNvdXBsZS1TaWduOmJlZm9yZXtjb250ZW50OiJcZTdiZSJ9LnNvbGlkLWljb24tQ293OmJlZm9yZXtjb250ZW50OiJcZTdiZiJ9LnNvbGlkLWljb24tQ1BVOmJlZm9yZXtjb250ZW50OiJcZTdjMCJ9LnNvbGlkLWljb24tQ3JhbmU6YmVmb3Jle2NvbnRlbnQ6IlxlN2MxIn0uc29saWQtaWNvbi1DcmFuaXVtOmJlZm9yZXtjb250ZW50OiJcZTdjMiJ9LnNvbGlkLWljb24tQ3JlZGl0LUNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlN2MzIn0uc29saWQtaWNvbi1DcmVkaXQtQ2FyZDI6YmVmb3Jle2NvbnRlbnQ6IlxlN2M0In0uc29saWQtaWNvbi1DcmVkaXQtQ2FyZDM6YmVmb3Jle2NvbnRlbnQ6IlxlN2M1In0uc29saWQtaWNvbi1Dcmlja2V0OmJlZm9yZXtjb250ZW50OiJcZTdjNiJ9LnNvbGlkLWljb24tQ3JpbWluYWw6YmVmb3Jle2NvbnRlbnQ6IlxlN2M3In0uc29saWQtaWNvbi1Dcm9pc3NhbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlN2M4In0uc29saWQtaWNvbi1Dcm9wLTI6YmVmb3Jle2NvbnRlbnQ6IlxlN2M5In0uc29saWQtaWNvbi1Dcm9wLTM6YmVmb3Jle2NvbnRlbnQ6IlxlN2NhIn0uc29saWQtaWNvbi1Dcm93bi0yOmJlZm9yZXtjb250ZW50OiJcZTdjYiJ9LnNvbGlkLWljb24tQ3Jvd246YmVmb3Jle2NvbnRlbnQ6IlxlN2NjIn0uc29saWQtaWNvbi1Dcnlpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlN2NkIn0uc29saWQtaWNvbi1DdWJlLU1vbGVjdWxlOmJlZm9yZXtjb250ZW50OiJcZTdjZSJ9LnNvbGlkLWljb24tQ3ViZS1Nb2xlY3VsZTI6YmVmb3Jle2NvbnRlbnQ6IlxlN2NmIn0uc29saWQtaWNvbi1DdXBjYWtlOmJlZm9yZXtjb250ZW50OiJcZTdkMCJ9LnNvbGlkLWljb24tQ3Vyc29yLUNsaWNrOmJlZm9yZXtjb250ZW50OiJcZTdkMSJ9LnNvbGlkLWljb24tQ3Vyc29yLUNsaWNrMjpiZWZvcmV7Y29udGVudDoiXGU3ZDIifS5zb2xpZC1pY29uLUN1cnNvci1Nb3ZlOmJlZm9yZXtjb250ZW50OiJcZTdkMyJ9LnNvbGlkLWljb24tQ3Vyc29yLU1vdmUyOmJlZm9yZXtjb250ZW50OiJcZTdkNCJ9LnNvbGlkLWljb24tQ3Vyc29yLVNlbGVjdDpiZWZvcmV7Y29udGVudDoiXGU3ZDUifS5zb2xpZC1pY29uLUN1cnNvcjpiZWZvcmV7Y29udGVudDoiXGU3ZDYifS5zb2xpZC1pY29uLUQtRXllZ2xhc3NlczpiZWZvcmV7Y29udGVudDoiXGU3ZDcifS5zb2xpZC1pY29uLUQtRXllZ2xhc3NlczI6YmVmb3Jle2NvbnRlbnQ6IlxlN2Q4In0uc29saWQtaWNvbi1EYW06YmVmb3Jle2NvbnRlbnQ6IlxlN2Q5In0uc29saWQtaWNvbi1EYW5lbWFyazpiZWZvcmV7Y29udGVudDoiXGU3ZGEifS5zb2xpZC1pY29uLURhbmdlci0yOmJlZm9yZXtjb250ZW50OiJcZTdkYiJ9LnNvbGlkLWljb24tRGFuZ2VyOmJlZm9yZXtjb250ZW50OiJcZTdkYyJ9LnNvbGlkLWljb24tRGFzaGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZTdkZCJ9LnNvbGlkLWljb24tRGF0YS1CYWNrdXA6YmVmb3Jle2NvbnRlbnQ6IlxlN2RlIn0uc29saWQtaWNvbi1EYXRhLUJsb2NrOmJlZm9yZXtjb250ZW50OiJcZTdkZiJ9LnNvbGlkLWljb24tRGF0YS1DZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlN2UwIn0uc29saWQtaWNvbi1EYXRhLUNsb2NrOmJlZm9yZXtjb250ZW50OiJcZTdlMSJ9LnNvbGlkLWljb24tRGF0YS1DbG91ZDpiZWZvcmV7Y29udGVudDoiXGU3ZTIifS5zb2xpZC1pY29uLURhdGEtQ29tcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxlN2UzIn0uc29saWQtaWNvbi1EYXRhLUNvcHk6YmVmb3Jle2NvbnRlbnQ6IlxlN2U0In0uc29saWQtaWNvbi1EYXRhLURvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZTdlNSJ9LnNvbGlkLWljb24tRGF0YS1GaW5hbmNpYWw6YmVmb3Jle2NvbnRlbnQ6IlxlN2U2In0uc29saWQtaWNvbi1EYXRhLUtleTpiZWZvcmV7Y29udGVudDoiXGU3ZTcifS5zb2xpZC1pY29uLURhdGEtTG9jazpiZWZvcmV7Y29udGVudDoiXGU3ZTgifS5zb2xpZC1pY29uLURhdGEtTmV0d29yazpiZWZvcmV7Y29udGVudDoiXGU3ZTkifS5zb2xpZC1pY29uLURhdGEtUGFzc3dvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlN2VhIn0uc29saWQtaWNvbi1EYXRhLVBvd2VyOmJlZm9yZXtjb250ZW50OiJcZTdlYiJ9LnNvbGlkLWljb24tRGF0YS1SZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZTdlYyJ9LnNvbGlkLWljb24tRGF0YS1TYXZlOmJlZm9yZXtjb250ZW50OiJcZTdlZCJ9LnNvbGlkLWljb24tRGF0YS1TZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxlN2VlIn0uc29saWQtaWNvbi1EYXRhLVNlY3VyaXR5OmJlZm9yZXtjb250ZW50OiJcZTdlZiJ9LnNvbGlkLWljb24tRGF0YS1TZXR0aW5nczpiZWZvcmV7Y29udGVudDoiXGU3ZjAifS5zb2xpZC1pY29uLURhdGEtU2hhcmluZzpiZWZvcmV7Y29udGVudDoiXGU3ZjEifS5zb2xpZC1pY29uLURhdGEtU2hpZWxkOmJlZm9yZXtjb250ZW50OiJcZTdmMiJ9LnNvbGlkLWljb24tRGF0YS1TaWduYWw6YmVmb3Jle2NvbnRlbnQ6IlxlN2YzIn0uc29saWQtaWNvbi1EYXRhLVN0b3JhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlN2Y0In0uc29saWQtaWNvbi1EYXRhLVN0cmVhbTpiZWZvcmV7Y29udGVudDoiXGU3ZjUifS5zb2xpZC1pY29uLURhdGEtVHJhbnNmZXI6YmVmb3Jle2NvbnRlbnQ6IlxlN2Y2In0uc29saWQtaWNvbi1EYXRhLVVubG9jazpiZWZvcmV7Y29udGVudDoiXGU3ZjcifS5zb2xpZC1pY29uLURhdGEtVXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZTdmOCJ9LnNvbGlkLWljb24tRGF0YS1ZZXM6YmVmb3Jle2NvbnRlbnQ6IlxlN2Y5In0uc29saWQtaWNvbi1EYXRhOmJlZm9yZXtjb250ZW50OiJcZTdmYSJ9LnNvbGlkLWljb24tRGF2aWQtU3RhcjpiZWZvcmV7Y29udGVudDoiXGU3ZmIifS5zb2xpZC1pY29uLURheWxpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTdmYyJ9LnNvbGlkLWljb24tRGVhdGg6YmVmb3Jle2NvbnRlbnQ6IlxlN2ZkIn0uc29saWQtaWNvbi1EZWJpYW46YmVmb3Jle2NvbnRlbnQ6IlxlN2ZlIn0uc29saWQtaWNvbi1EZWM6YmVmb3Jle2NvbnRlbnQ6IlxlN2ZmIn0uc29saWQtaWNvbi1EZWNyYXNlLUluZWRpdDpiZWZvcmV7Y29udGVudDoiXGU4MDAifS5zb2xpZC1pY29uLURlZXItMjpiZWZvcmV7Y29udGVudDoiXGU4MDEifS5zb2xpZC1pY29uLURlZXI6YmVmb3Jle2NvbnRlbnQ6IlxlODAyIn0uc29saWQtaWNvbi1EZWxldGUtRmlsZTpiZWZvcmV7Y29udGVudDoiXGU4MDMifS5zb2xpZC1pY29uLURlbGV0ZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlODA0In0uc29saWQtaWNvbi1EZWxpY2lvdXM6YmVmb3Jle2NvbnRlbnQ6IlxlODA1In0uc29saWQtaWNvbi1EZXByZXNzaW9uOmJlZm9yZXtjb250ZW50OiJcZTgwNiJ9LnNvbGlkLWljb24tRGV2aWFudGFydDpiZWZvcmV7Y29udGVudDoiXGU4MDcifS5zb2xpZC1pY29uLURldmljZS1TeW5jd2l0aENsb3VkOmJlZm9yZXtjb250ZW50OiJcZTgwOCJ9LnNvbGlkLWljb24tRGlhbW9uZDpiZWZvcmV7Y29udGVudDoiXGU4MDkifS5zb2xpZC1pY29uLURpY2UtMjpiZWZvcmV7Y29udGVudDoiXGU4MGEifS5zb2xpZC1pY29uLURpY2U6YmVmb3Jle2NvbnRlbnQ6IlxlODBiIn0uc29saWQtaWNvbi1EaWdnOmJlZm9yZXtjb250ZW50OiJcZTgwYyJ9LnNvbGlkLWljb24tRGlnaXRhbC1EcmF3aW5nOmJlZm9yZXtjb250ZW50OiJcZTgwZCJ9LnNvbGlkLWljb24tRGlpZ286YmVmb3Jle2NvbnRlbnQ6IlxlODBlIn0uc29saWQtaWNvbi1EaW5vc2F1cjpiZWZvcmV7Y29udGVudDoiXGU4MGYifS5zb2xpZC1pY29uLURpcGxvbWEtMjpiZWZvcmV7Y29udGVudDoiXGU4MTAifS5zb2xpZC1pY29uLURpcGxvbWE6YmVmb3Jle2NvbnRlbnQ6IlxlODExIn0uc29saWQtaWNvbi1EaXJlY3Rpb24tRWFzdDpiZWZvcmV7Y29udGVudDoiXGU4MTIifS5zb2xpZC1pY29uLURpcmVjdGlvbi1Ob3J0aDpiZWZvcmV7Y29udGVudDoiXGU4MTMifS5zb2xpZC1pY29uLURpcmVjdGlvbi1Tb3V0aDpiZWZvcmV7Y29udGVudDoiXGU4MTQifS5zb2xpZC1pY29uLURpcmVjdGlvbi1XZXN0OmJlZm9yZXtjb250ZW50OiJcZTgxNSJ9LnNvbGlkLWljb24tRGlyZWN0b3I6YmVmb3Jle2NvbnRlbnQ6IlxlODE2In0uc29saWQtaWNvbi1EaXNrOmJlZm9yZXtjb250ZW50OiJcZTgxNyJ9LnNvbGlkLWljb24tRGo6YmVmb3Jle2NvbnRlbnQ6IlxlODE4In0uc29saWQtaWNvbi1ETkEtMjpiZWZvcmV7Y29udGVudDoiXGU4MTkifS5zb2xpZC1pY29uLUROQS1IZWxpeDpiZWZvcmV7Y29udGVudDoiXGU4MWEifS5zb2xpZC1pY29uLUROQTpiZWZvcmV7Y29udGVudDoiXGU4MWIifS5zb2xpZC1pY29uLURvY3RvcjpiZWZvcmV7Y29udGVudDoiXGU4MWMifS5zb2xpZC1pY29uLURvZzpiZWZvcmV7Y29udGVudDoiXGU4MWQifS5zb2xpZC1pY29uLURvbGxhci1TaWduOmJlZm9yZXtjb250ZW50OiJcZTgxZSJ9LnNvbGlkLWljb24tRG9sbGFyLVNpZ24yOmJlZm9yZXtjb250ZW50OiJcZTgxZiJ9LnNvbGlkLWljb24tRG9sbGFyOmJlZm9yZXtjb250ZW50OiJcZTgyMCJ9LnNvbGlkLWljb24tRG9scGhpbjpiZWZvcmV7Y29udGVudDoiXGU4MjEifS5zb2xpZC1pY29uLURvbWlubzpiZWZvcmV7Y29udGVudDoiXGU4MjIifS5zb2xpZC1pY29uLURvb3ItSGFuZ2VyOmJlZm9yZXtjb250ZW50OiJcZTgyMyJ9LnNvbGlkLWljb24tRG9vcjpiZWZvcmV7Y29udGVudDoiXGU4MjQifS5zb2xpZC1pY29uLURvcGxyOmJlZm9yZXtjb250ZW50OiJcZTgyNSJ9LnNvbGlkLWljb24tRG91YmxlLUNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU4MjYifS5zb2xpZC1pY29uLURvdWJsZS1UYXA6YmVmb3Jle2NvbnRlbnQ6IlxlODI3In0uc29saWQtaWNvbi1Eb3VnaG51dDpiZWZvcmV7Y29udGVudDoiXGU4MjgifS5zb2xpZC1pY29uLURvdmU6YmVmb3Jle2NvbnRlbnQ6IlxlODI5In0uc29saWQtaWNvbi1Eb3duLTI6YmVmb3Jle2NvbnRlbnQ6IlxlODJhIn0uc29saWQtaWNvbi1Eb3duLTM6YmVmb3Jle2NvbnRlbnQ6IlxlODJiIn0uc29saWQtaWNvbi1Eb3duLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlODJjIn0uc29saWQtaWNvbi1Eb3duOmJlZm9yZXtjb250ZW50OiJcZTgyZCJ9LnNvbGlkLWljb24tRG93bmxvYWQtMjpiZWZvcmV7Y29udGVudDoiXGU4MmUifS5zb2xpZC1pY29uLURvd25sb2FkLWZyb21DbG91ZDpiZWZvcmV7Y29udGVudDoiXGU4MmYifS5zb2xpZC1pY29uLURvd25sb2FkLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGU4MzAifS5zb2xpZC1pY29uLURvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZTgzMSJ9LnNvbGlkLWljb24tRG93bndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlODMyIn0uc29saWQtaWNvbi1EcmFnLURvd246YmVmb3Jle2NvbnRlbnQ6IlxlODMzIn0uc29saWQtaWNvbi1EcmFnLUxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlODM0In0uc29saWQtaWNvbi1EcmFnLVJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTgzNSJ9LnNvbGlkLWljb24tRHJhZy1VcDpiZWZvcmV7Y29udGVudDoiXGU4MzYifS5zb2xpZC1pY29uLURyYWc6YmVmb3Jle2NvbnRlbnQ6IlxlODM3In0uc29saWQtaWNvbi1EcmVzczpiZWZvcmV7Y29udGVudDoiXGU4MzgifS5zb2xpZC1pY29uLURyaWJibGU6YmVmb3Jle2NvbnRlbnQ6IlxlODM5In0uc29saWQtaWNvbi1EcmlsbC0yOmJlZm9yZXtjb250ZW50OiJcZTgzYSJ9LnNvbGlkLWljb24tRHJpbGw6YmVmb3Jle2NvbnRlbnQ6IlxlODNiIn0uc29saWQtaWNvbi1Ecm9wOmJlZm9yZXtjb250ZW50OiJcZTgzYyJ9LnNvbGlkLWljb24tRHJvcGJveDpiZWZvcmV7Y29udGVudDoiXGU4M2QifS5zb2xpZC1pY29uLURydW06YmVmb3Jle2NvbnRlbnQ6IlxlODNlIn0uc29saWQtaWNvbi1Ecnk6YmVmb3Jle2NvbnRlbnQ6IlxlODNmIn0uc29saWQtaWNvbi1EdWNrOmJlZm9yZXtjb250ZW50OiJcZTg0MCJ9LnNvbGlkLWljb24tRHVtYmJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxlODQxIn0uc29saWQtaWNvbi1EdXBsaWNhdGUtTGF5ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlODQyIn0uc29saWQtaWNvbi1EdXBsaWNhdGUtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZTg0MyJ9LnNvbGlkLWljb24tRFZEOmJlZm9yZXtjb250ZW50OiJcZTg0NCJ9LnNvbGlkLWljb24tRWFnbGU6YmVmb3Jle2NvbnRlbnQ6IlxlODQ1In0uc29saWQtaWNvbi1FYXI6YmVmb3Jle2NvbnRlbnQ6IlxlODQ2In0uc29saWQtaWNvbi1FYXJwaG9uZXMtMjpiZWZvcmV7Y29udGVudDoiXGU4NDcifS5zb2xpZC1pY29uLUVhcnBob25lczpiZWZvcmV7Y29udGVudDoiXGU4NDgifS5zb2xpZC1pY29uLUVjaS1JY29uOmJlZm9yZXtjb250ZW50OiJcZTg0OSJ9LnNvbGlkLWljb24tRWRpdC1NYXA6YmVmb3Jle2NvbnRlbnQ6IlxlODRhIn0uc29saWQtaWNvbi1FZGl0OmJlZm9yZXtjb250ZW50OiJcZTg0YiJ9LnNvbGlkLWljb24tRWdnczpiZWZvcmV7Y29udGVudDoiXGU4NGMifS5zb2xpZC1pY29uLUVneXB0OmJlZm9yZXtjb250ZW50OiJcZTg0ZCJ9LnNvbGlkLWljb24tRWlmZWwtVG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlODRlIn0uc29saWQtaWNvbi1FamVjdC0yOmJlZm9yZXtjb250ZW50OiJcZTg0ZiJ9LnNvbGlkLWljb24tRWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxlODUwIn0uc29saWQtaWNvbi1FbC1DYXN0aWxsbzpiZWZvcmV7Y29udGVudDoiXGU4NTEifS5zb2xpZC1pY29uLUVsYm93OmJlZm9yZXtjb250ZW50OiJcZTg1MiJ9LnNvbGlkLWljb24tRWxlY3RyaWMtR3VpdGFyOmJlZm9yZXtjb250ZW50OiJcZTg1MyJ9LnNvbGlkLWljb24tRWxlY3RyaWNpdHk6YmVmb3Jle2NvbnRlbnQ6IlxlODU0In0uc29saWQtaWNvbi1FbGVwaGFudDpiZWZvcmV7Y29udGVudDoiXGU4NTUifS5zb2xpZC1pY29uLUVtYWlsOmJlZm9yZXtjb250ZW50OiJcZTg1NiJ9LnNvbGlkLWljb24tRW1iYXNzeTpiZWZvcmV7Y29udGVudDoiXGU4NTcifS5zb2xpZC1pY29uLUVtcGlyZS1TdGF0ZUJ1aWxkaW5nOmJlZm9yZXtjb250ZW50OiJcZTg1OCJ9LnNvbGlkLWljb24tRW1wdHktQm94OmJlZm9yZXtjb250ZW50OiJcZTg1OSJ9LnNvbGlkLWljb24tRW5kMjpiZWZvcmV7Y29udGVudDoiXGU4NWEifS5zb2xpZC1pY29uLUVuZC0yOmJlZm9yZXtjb250ZW50OiJcZTg1YiJ9LnNvbGlkLWljb24tRW5kOmJlZm9yZXtjb250ZW50OiJcZTg1YyJ9LnNvbGlkLWljb24tRW5kd2F5czpiZWZvcmV7Y29udGVudDoiXGU4NWQifS5zb2xpZC1pY29uLUVuZ2luZWVyaW5nOmJlZm9yZXtjb250ZW50OiJcZTg1ZSJ9LnNvbGlkLWljb24tRW52ZWxvcGUtMjpiZWZvcmV7Y29udGVudDoiXGU4NWYifS5zb2xpZC1pY29uLUVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcZTg2MCJ9LnNvbGlkLWljb24tRW52aXJvbm1lbnRhbC0yOmJlZm9yZXtjb250ZW50OiJcZTg2MSJ9LnNvbGlkLWljb24tRW52aXJvbm1lbnRhbC0zOmJlZm9yZXtjb250ZW50OiJcZTg2MiJ9LnNvbGlkLWljb24tRW52aXJvbm1lbnRhbDpiZWZvcmV7Y29udGVudDoiXGU4NjMifS5zb2xpZC1pY29uLUVxdWFsaXplcjpiZWZvcmV7Y29udGVudDoiXGU4NjQifS5zb2xpZC1pY29uLUVyYXNlci0yOmJlZm9yZXtjb250ZW50OiJcZTg2NSJ9LnNvbGlkLWljb24tRXJhc2VyLTM6YmVmb3Jle2NvbnRlbnQ6IlxlODY2In0uc29saWQtaWNvbi1FcmFzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlODY3In0uc29saWQtaWNvbi1FcnJvci00MDRXaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlODY4In0uc29saWQtaWNvbi1FdXJvLVNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlODY5In0uc29saWQtaWNvbi1FdXJvLVNpZ24yOmJlZm9yZXtjb250ZW50OiJcZTg2YSJ9LnNvbGlkLWljb24tRXVybzpiZWZvcmV7Y29udGVudDoiXGU4NmIifS5zb2xpZC1pY29uLUV2ZXJub3RlOmJlZm9yZXtjb250ZW50OiJcZTg2YyJ9LnNvbGlkLWljb24tRXZpbDpiZWZvcmV7Y29udGVudDoiXGU4NmQifS5zb2xpZC1pY29uLUV4cGxvZGU6YmVmb3Jle2NvbnRlbnQ6IlxlODZlIn0uc29saWQtaWNvbi1FeWUtMjpiZWZvcmV7Y29udGVudDoiXGU4NmYifS5zb2xpZC1pY29uLUV5ZS1CbGluZDpiZWZvcmV7Y29udGVudDoiXGU4NzAifS5zb2xpZC1pY29uLUV5ZS1JbnZpc2libGU6YmVmb3Jle2NvbnRlbnQ6IlxlODcxIn0uc29saWQtaWNvbi1FeWUtU2NhbjpiZWZvcmV7Y29udGVudDoiXGU4NzIifS5zb2xpZC1pY29uLUV5ZS1WaXNpYmxlOmJlZm9yZXtjb250ZW50OiJcZTg3MyJ9LnNvbGlkLWljb24tRXllOmJlZm9yZXtjb250ZW50OiJcZTg3NCJ9LnNvbGlkLWljb24tRXllYnJvdy0yOmJlZm9yZXtjb250ZW50OiJcZTg3NSJ9LnNvbGlkLWljb24tRXllYnJvdy0zOmJlZm9yZXtjb250ZW50OiJcZTg3NiJ9LnNvbGlkLWljb24tRXllYnJvdzpiZWZvcmV7Y29udGVudDoiXGU4NzcifS5zb2xpZC1pY29uLUV5ZWdsYXNzZXMtU21pbGV5OmJlZm9yZXtjb250ZW50OiJcZTg3OCJ9LnNvbGlkLWljb24tRXllZ2xhc3Nlcy1TbWlsZXkyOmJlZm9yZXtjb250ZW50OiJcZTg3OSJ9LnNvbGlkLWljb24tRmFjZS1TdHlsZTpiZWZvcmV7Y29udGVudDoiXGU4N2EifS5zb2xpZC1pY29uLUZhY2UtU3R5bGUyOmJlZm9yZXtjb250ZW50OiJcZTg3YiJ9LnNvbGlkLWljb24tRmFjZS1TdHlsZTM6YmVmb3Jle2NvbnRlbnQ6IlxlODdjIn0uc29saWQtaWNvbi1GYWNlLVN0eWxlNDpiZWZvcmV7Y29udGVudDoiXGU4N2QifS5zb2xpZC1pY29uLUZhY2UtU3R5bGU1OmJlZm9yZXtjb250ZW50OiJcZTg3ZSJ9LnNvbGlkLWljb24tRmFjZS1TdHlsZTY6YmVmb3Jle2NvbnRlbnQ6IlxlODdmIn0uc29saWQtaWNvbi1GYWNlYm9vay0yOmJlZm9yZXtjb250ZW50OiJcZTg4MCJ9LnNvbGlkLWljb24tRmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxlODgxIn0uc29saWQtaWNvbi1GYWN0b3J5LTI6YmVmb3Jle2NvbnRlbnQ6IlxlODgyIn0uc29saWQtaWNvbi1GYWN0b3J5OmJlZm9yZXtjb250ZW50OiJcZTg4MyJ9LnNvbGlkLWljb24tRmFocmVuaGVpdDpiZWZvcmV7Y29udGVudDoiXGU4ODQifS5zb2xpZC1pY29uLUZhbWlseS1TaWduOmJlZm9yZXtjb250ZW50OiJcZTg4NSJ9LnNvbGlkLWljb24tRmFuOmJlZm9yZXtjb250ZW50OiJcZTg4NiJ9LnNvbGlkLWljb24tRmFybWVyOmJlZm9yZXtjb250ZW50OiJcZTg4NyJ9LnNvbGlkLWljb24tRmFzaGlvbjpiZWZvcmV7Y29udGVudDoiXGU4ODgifS5zb2xpZC1pY29uLUZhdm9yaXRlLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGU4ODkifS5zb2xpZC1pY29uLUZheDpiZWZvcmV7Y29udGVudDoiXGU4OGEifS5zb2xpZC1pY29uLUZlYXRoZXI6YmVmb3Jle2NvbnRlbnQ6IlxlODhiIn0uc29saWQtaWNvbi1GZWVkYnVybmVyOmJlZm9yZXtjb250ZW50OiJcZTg4YyJ9LnNvbGlkLWljb24tRmVtYWxlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlODhkIn0uc29saWQtaWNvbi1GZW1hbGUtU2lnbjpiZWZvcmV7Y29udGVudDoiXGU4OGUifS5zb2xpZC1pY29uLUZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGU4OGYifS5zb2xpZC1pY29uLUZpbGUtQmxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlODkwIn0uc29saWQtaWNvbi1GaWxlLUJvb2ttYXJrOmJlZm9yZXtjb250ZW50OiJcZTg5MSJ9LnNvbGlkLWljb24tRmlsZS1DaGFydDpiZWZvcmV7Y29udGVudDoiXGU4OTIifS5zb2xpZC1pY29uLUZpbGUtQ2xpcGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZTg5MyJ9LnNvbGlkLWljb24tRmlsZS1DbGlwYm9hcmRGaWxlVGV4dDpiZWZvcmV7Y29udGVudDoiXGU4OTQifS5zb2xpZC1pY29uLUZpbGUtQ2xpcGJvYXJkVGV4dEltYWdlOmJlZm9yZXtjb250ZW50OiJcZTg5NSJ9LnNvbGlkLWljb24tRmlsZS1DbG91ZDpiZWZvcmV7Y29udGVudDoiXGU4OTYifS5zb2xpZC1pY29uLUZpbGUtQ29weTpiZWZvcmV7Y29udGVudDoiXGU4OTcifS5zb2xpZC1pY29uLUZpbGUtQ29weTI6YmVmb3Jle2NvbnRlbnQ6IlxlODk4In0uc29saWQtaWNvbi1GaWxlLUNTVjpiZWZvcmV7Y29udGVudDoiXGU4OTkifS5zb2xpZC1pY29uLUZpbGUtRG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlODlhIn0uc29saWQtaWNvbi1GaWxlLUVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxlODliIn0uc29saWQtaWNvbi1GaWxlLUV4Y2VsOmJlZm9yZXtjb250ZW50OiJcZTg5YyJ9LnNvbGlkLWljb24tRmlsZS1GYXZvcml0ZTpiZWZvcmV7Y29udGVudDoiXGU4OWQifS5zb2xpZC1pY29uLUZpbGUtRmlyZTpiZWZvcmV7Y29udGVudDoiXGU4OWUifS5zb2xpZC1pY29uLUZpbGUtR3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxlODlmIn0uc29saWQtaWNvbi1GaWxlLUhpZGU6YmVmb3Jle2NvbnRlbnQ6IlxlOGEwIn0uc29saWQtaWNvbi1GaWxlLUhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxlOGExIn0uc29saWQtaWNvbi1GaWxlLUhvcml6b250YWxUZXh0OmJlZm9yZXtjb250ZW50OiJcZThhMiJ9LnNvbGlkLWljb24tRmlsZS1IVE1MOmJlZm9yZXtjb250ZW50OiJcZThhMyJ9LnNvbGlkLWljb24tRmlsZS1KUEc6YmVmb3Jle2NvbnRlbnQ6IlxlOGE0In0uc29saWQtaWNvbi1GaWxlLUxpbms6YmVmb3Jle2NvbnRlbnQ6IlxlOGE1In0uc29saWQtaWNvbi1GaWxlLUxvYWRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlOGE2In0uc29saWQtaWNvbi1GaWxlLUxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlOGE3In0uc29saWQtaWNvbi1GaWxlLUxvdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOGE4In0uc29saWQtaWNvbi1GaWxlLU11c2ljOmJlZm9yZXtjb250ZW50OiJcZThhOSJ9LnNvbGlkLWljb24tRmlsZS1OZXR3b3JrOmJlZm9yZXtjb250ZW50OiJcZThhYSJ9LnNvbGlkLWljb24tRmlsZS1QaWN0dXJlczpiZWZvcmV7Y29udGVudDoiXGU4YWIifS5zb2xpZC1pY29uLUZpbGUtUGllOmJlZm9yZXtjb250ZW50OiJcZThhYyJ9LnNvbGlkLWljb24tRmlsZS1QcmVzZW50YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlOGFkIn0uc29saWQtaWNvbi1GaWxlLVJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6IlxlOGFlIn0uc29saWQtaWNvbi1GaWxlLVNlYXJjaDpiZWZvcmV7Y29udGVudDoiXGU4YWYifS5zb2xpZC1pY29uLUZpbGUtU2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6IlxlOGIwIn0uc29saWQtaWNvbi1GaWxlLVNoYXJlOmJlZm9yZXtjb250ZW50OiJcZThiMSJ9LnNvbGlkLWljb24tRmlsZS1UZXh0SW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlOGIyIn0uc29saWQtaWNvbi1GaWxlLVRyYXNoOmJlZm9yZXtjb250ZW50OiJcZThiMyJ9LnNvbGlkLWljb24tRmlsZS1UWFQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGI0In0uc29saWQtaWNvbi1GaWxlLVVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGU4YjUifS5zb2xpZC1pY29uLUZpbGUtVmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxlOGI2In0uc29saWQtaWNvbi1GaWxlLVdvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGI3In0uc29saWQtaWNvbi1GaWxlLVppcDpiZWZvcmV7Y29udGVudDoiXGU4YjgifS5zb2xpZC1pY29uLUZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOGI5In0uc29saWQtaWNvbi1GaWxlczpiZWZvcmV7Y29udGVudDoiXGU4YmEifS5zb2xpZC1pY29uLUZpbG0tQm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGJiIn0uc29saWQtaWNvbi1GaWxtLUNhcnRyaWRnZTpiZWZvcmV7Y29udGVudDoiXGU4YmMifS5zb2xpZC1pY29uLUZpbG0tU3RyaXA6YmVmb3Jle2NvbnRlbnQ6IlxlOGJkIn0uc29saWQtaWNvbi1GaWxtLVZpZGVvOmJlZm9yZXtjb250ZW50OiJcZThiZSJ9LnNvbGlkLWljb24tRmlsbTpiZWZvcmV7Y29udGVudDoiXGU4YmYifS5zb2xpZC1pY29uLUZpbHRlci0yOmJlZm9yZXtjb250ZW50OiJcZThjMCJ9LnNvbGlkLWljb24tRmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZThjMSJ9LnNvbGlkLWljb24tRmluYW5jaWFsOmJlZm9yZXtjb250ZW50OiJcZThjMiJ9LnNvbGlkLWljb24tRmluZC1Vc2VyOmJlZm9yZXtjb250ZW50OiJcZThjMyJ9LnNvbGlkLWljb24tRmluZ2VyLURyYWdGb3VyU2lkZXM6YmVmb3Jle2NvbnRlbnQ6IlxlOGM0In0uc29saWQtaWNvbi1GaW5nZXItRHJhZ1R3b1NpZGVzOmJlZm9yZXtjb250ZW50OiJcZThjNSJ9LnNvbGlkLWljb24tRmluZ2VyLVByaW50OmJlZm9yZXtjb250ZW50OiJcZThjNiJ9LnNvbGlkLWljb24tRmluZ2VyOmJlZm9yZXtjb250ZW50OiJcZThjNyJ9LnNvbGlkLWljb24tRmluZ2VycHJpbnQtMjpiZWZvcmV7Y29udGVudDoiXGU4YzgifS5zb2xpZC1pY29uLUZpbmdlcnByaW50OmJlZm9yZXtjb250ZW50OiJcZThjOSJ9LnNvbGlkLWljb24tRmlyZS1GbGFtZTpiZWZvcmV7Y29udGVudDoiXGU4Y2EifS5zb2xpZC1pY29uLUZpcmUtRmxhbWUyOmJlZm9yZXtjb250ZW50OiJcZThjYiJ9LnNvbGlkLWljb24tRmlyZS1IeWRyYW50OmJlZm9yZXtjb250ZW50OiJcZThjYyJ9LnNvbGlkLWljb24tRmlyZS1TdGFpb246YmVmb3Jle2NvbnRlbnQ6IlxlOGNkIn0uc29saWQtaWNvbi1GaXJlZm94OmJlZm9yZXtjb250ZW50OiJcZThjZSJ9LnNvbGlkLWljb24tRmlyZXdhbGw6YmVmb3Jle2NvbnRlbnQ6IlxlOGNmIn0uc29saWQtaWNvbi1GaXJzdC1BaWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGQwIn0uc29saWQtaWNvbi1GaXJzdDpiZWZvcmV7Y29udGVudDoiXGU4ZDEifS5zb2xpZC1pY29uLUZpc2gtRm9vZDpiZWZvcmV7Y29udGVudDoiXGU4ZDIifS5zb2xpZC1pY29uLUZpc2g6YmVmb3Jle2NvbnRlbnQ6IlxlOGQzIn0uc29saWQtaWNvbi1GaXQtVG86YmVmb3Jle2NvbnRlbnQ6IlxlOGQ0In0uc29saWQtaWNvbi1GaXQtVG8yOmJlZm9yZXtjb250ZW50OiJcZThkNSJ9LnNvbGlkLWljb24tRml2ZS1GaW5nZXJzOmJlZm9yZXtjb250ZW50OiJcZThkNiJ9LnNvbGlkLWljb24tRml2ZS1GaW5nZXJzRHJhZzpiZWZvcmV7Y29udGVudDoiXGU4ZDcifS5zb2xpZC1pY29uLUZpdmUtRmluZ2Vyc0RyYWcyOmJlZm9yZXtjb250ZW50OiJcZThkOCJ9LnNvbGlkLWljb24tRml2ZS1GaW5nZXJzVG91Y2g6YmVmb3Jle2NvbnRlbnQ6IlxlOGQ5In0uc29saWQtaWNvbi1GbGFnLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOGRhIn0uc29saWQtaWNvbi1GbGFnLTM6YmVmb3Jle2NvbnRlbnQ6IlxlOGRiIn0uc29saWQtaWNvbi1GbGFnLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGRjIn0uc29saWQtaWNvbi1GbGFnLTU6YmVmb3Jle2NvbnRlbnQ6IlxlOGRkIn0uc29saWQtaWNvbi1GbGFnLTY6YmVmb3Jle2NvbnRlbnQ6IlxlOGRlIn0uc29saWQtaWNvbi1GbGFnOmJlZm9yZXtjb250ZW50OiJcZThkZiJ9LnNvbGlkLWljb24tRmxhbWluZ286YmVmb3Jle2NvbnRlbnQ6IlxlOGUwIn0uc29saWQtaWNvbi1GbGFzaC0yOmJlZm9yZXtjb250ZW50OiJcZThlMSJ9LnNvbGlkLWljb24tRmxhc2gtVmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxlOGUyIn0uc29saWQtaWNvbi1GbGFzaDpiZWZvcmV7Y29udGVudDoiXGU4ZTMifS5zb2xpZC1pY29uLUZsYXNobGlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGU0In0uc29saWQtaWNvbi1GbGFzay0yOmJlZm9yZXtjb250ZW50OiJcZThlNSJ9LnNvbGlkLWljb24tRmxhc2s6YmVmb3Jle2NvbnRlbnQ6IlxlOGU2In0uc29saWQtaWNvbi1GbGljazpiZWZvcmV7Y29udGVudDoiXGU4ZTcifS5zb2xpZC1pY29uLUZsaWNrcjpiZWZvcmV7Y29udGVudDoiXGU4ZTgifS5zb2xpZC1pY29uLUZsb3dlcnBvdDpiZWZvcmV7Y29udGVudDoiXGU4ZTkifS5zb2xpZC1pY29uLUZsdW9yZXNjZW50OmJlZm9yZXtjb250ZW50OiJcZThlYSJ9LnNvbGlkLWljb24tRm9nLURheTpiZWZvcmV7Y29udGVudDoiXGU4ZWIifS5zb2xpZC1pY29uLUZvZy1OaWdodDpiZWZvcmV7Y29udGVudDoiXGU4ZWMifS5zb2xpZC1pY29uLUZvbGRlci1BZGQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGVkIn0uc29saWQtaWNvbi1Gb2xkZXItQXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGU4ZWUifS5zb2xpZC1pY29uLUZvbGRlci1CaW5kZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOGVmIn0uc29saWQtaWNvbi1Gb2xkZXItQmluZGVyMjpiZWZvcmV7Y29udGVudDoiXGU4ZjAifS5zb2xpZC1pY29uLUZvbGRlci1CbG9jazpiZWZvcmV7Y29udGVudDoiXGU4ZjEifS5zb2xpZC1pY29uLUZvbGRlci1Cb29rbWFyazpiZWZvcmV7Y29udGVudDoiXGU4ZjIifS5zb2xpZC1pY29uLUZvbGRlci1DbG9zZTpiZWZvcmV7Y29udGVudDoiXGU4ZjMifS5zb2xpZC1pY29uLUZvbGRlci1DbG91ZDpiZWZvcmV7Y29udGVudDoiXGU4ZjQifS5zb2xpZC1pY29uLUZvbGRlci1EZWxldGU6YmVmb3Jle2NvbnRlbnQ6IlxlOGY1In0uc29saWQtaWNvbi1Gb2xkZXItRG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGY2In0uc29saWQtaWNvbi1Gb2xkZXItRWRpdDpiZWZvcmV7Y29udGVudDoiXGU4ZjcifS5zb2xpZC1pY29uLUZvbGRlci1GYXZvcml0ZTpiZWZvcmV7Y29udGVudDoiXGU4ZjgifS5zb2xpZC1pY29uLUZvbGRlci1GaXJlOmJlZm9yZXtjb250ZW50OiJcZThmOSJ9LnNvbGlkLWljb24tRm9sZGVyLUhpZGU6YmVmb3Jle2NvbnRlbnQ6IlxlOGZhIn0uc29saWQtaWNvbi1Gb2xkZXItTGluazpiZWZvcmV7Y29udGVudDoiXGU4ZmIifS5zb2xpZC1pY29uLUZvbGRlci1Mb2FkaW5nOmJlZm9yZXtjb250ZW50OiJcZThmYyJ9LnNvbGlkLWljb24tRm9sZGVyLUxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlOGZkIn0uc29saWQtaWNvbi1Gb2xkZXItTG92ZTpiZWZvcmV7Y29udGVudDoiXGU4ZmUifS5zb2xpZC1pY29uLUZvbGRlci1NdXNpYzpiZWZvcmV7Y29udGVudDoiXGU4ZmYifS5zb2xpZC1pY29uLUZvbGRlci1OZXR3b3JrOmJlZm9yZXtjb250ZW50OiJcZTkwMCJ9LnNvbGlkLWljb24tRm9sZGVyLU9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlOTAxIn0uc29saWQtaWNvbi1Gb2xkZXItT3BlbjI6YmVmb3Jle2NvbnRlbnQ6IlxlOTAyIn0uc29saWQtaWNvbi1Gb2xkZXItT3JnYW5pemluZzpiZWZvcmV7Y29udGVudDoiXGU5MDMifS5zb2xpZC1pY29uLUZvbGRlci1QaWN0dXJlczpiZWZvcmV7Y29udGVudDoiXGU5MDQifS5zb2xpZC1pY29uLUZvbGRlci1SZWZyZXNoOmJlZm9yZXtjb250ZW50OiJcZTkwNSJ9LnNvbGlkLWljb24tRm9sZGVyLVJlbW92ZS06YmVmb3Jle2NvbnRlbnQ6IlxlOTA2In0uc29saWQtaWNvbi1Gb2xkZXItU2VhcmNoOmJlZm9yZXtjb250ZW50OiJcZTkwNyJ9LnNvbGlkLWljb24tRm9sZGVyLVNldHRpbmdzOmJlZm9yZXtjb250ZW50OiJcZTkwOCJ9LnNvbGlkLWljb24tRm9sZGVyLVNoYXJlOmJlZm9yZXtjb250ZW50OiJcZTkwOSJ9LnNvbGlkLWljb24tRm9sZGVyLVRyYXNoOmJlZm9yZXtjb250ZW50OiJcZTkwYSJ9LnNvbGlkLWljb24tRm9sZGVyLVVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGU5MGIifS5zb2xpZC1pY29uLUZvbGRlci1WaWRlbzpiZWZvcmV7Y29udGVudDoiXGU5MGMifS5zb2xpZC1pY29uLUZvbGRlci1XaXRoRG9jdW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTBkIn0uc29saWQtaWNvbi1Gb2xkZXItWmlwOmJlZm9yZXtjb250ZW50OiJcZTkwZSJ9LnNvbGlkLWljb24tRm9sZGVyOmJlZm9yZXtjb250ZW50OiJcZTkwZiJ9LnNvbGlkLWljb24tRm9sZGVyczpiZWZvcmV7Y29udGVudDoiXGU5MTAifS5zb2xpZC1pY29uLUZvbnQtQ29sb3I6YmVmb3Jle2NvbnRlbnQ6IlxlOTExIn0uc29saWQtaWNvbi1Gb250LU5hbWU6YmVmb3Jle2NvbnRlbnQ6IlxlOTEyIn0uc29saWQtaWNvbi1Gb250LVNpemU6YmVmb3Jle2NvbnRlbnQ6IlxlOTEzIn0uc29saWQtaWNvbi1Gb250LVN0eWxlOmJlZm9yZXtjb250ZW50OiJcZTkxNCJ9LnNvbGlkLWljb24tRm9udC1TdHlsZVN1YnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGU5MTUifS5zb2xpZC1pY29uLUZvbnQtU3R5bGVTdXBlcnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGU5MTYifS5zb2xpZC1pY29uLUZvbnQtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZTkxNyJ9LnNvbGlkLWljb24tRm9vdC0yOmJlZm9yZXtjb250ZW50OiJcZTkxOCJ9LnNvbGlkLWljb24tRm9vdDpiZWZvcmV7Y29udGVudDoiXGU5MTkifS5zb2xpZC1pY29uLUZvb3RiYWxsLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOTFhIn0uc29saWQtaWNvbi1Gb290YmFsbDpiZWZvcmV7Y29udGVudDoiXGU5MWIifS5zb2xpZC1pY29uLUZvb3RwcmludC0yOmJlZm9yZXtjb250ZW50OiJcZTkxYyJ9LnNvbGlkLWljb24tRm9vdHByaW50LTM6YmVmb3Jle2NvbnRlbnQ6IlxlOTFkIn0uc29saWQtaWNvbi1Gb290cHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTFlIn0uc29saWQtaWNvbi1Gb3Jlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlOTFmIn0uc29saWQtaWNvbi1Gb3JrOmJlZm9yZXtjb250ZW50OiJcZTkyMCJ9LnNvbGlkLWljb24tRm9ybXNwcmluZzpiZWZvcmV7Y29udGVudDoiXGU5MjEifS5zb2xpZC1pY29uLUZvcm11bGE6YmVmb3Jle2NvbnRlbnQ6IlxlOTIyIn0uc29saWQtaWNvbi1Gb3JzcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTIzIn0uc29saWQtaWNvbi1Gb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZTkyNCJ9LnNvbGlkLWljb24tRm91bnRhaW4tUGVuOmJlZm9yZXtjb250ZW50OiJcZTkyNSJ9LnNvbGlkLWljb24tRm91ci1GaW5nZXJzOmJlZm9yZXtjb250ZW50OiJcZTkyNiJ9LnNvbGlkLWljb24tRm91ci1GaW5nZXJzRHJhZzpiZWZvcmV7Y29udGVudDoiXGU5MjcifS5zb2xpZC1pY29uLUZvdXItRmluZ2Vyc0RyYWcyOmJlZm9yZXtjb250ZW50OiJcZTkyOCJ9LnNvbGlkLWljb24tRm91ci1GaW5nZXJzVG91Y2g6YmVmb3Jle2NvbnRlbnQ6IlxlOTI5In0uc29saWQtaWNvbi1Gb3g6YmVmb3Jle2NvbnRlbnQ6IlxlOTJhIn0uc29saWQtaWNvbi1GcmFua2Vuc3RlaW46YmVmb3Jle2NvbnRlbnQ6IlxlOTJiIn0uc29saWQtaWNvbi1GcmVuY2gtRnJpZXM6YmVmb3Jle2NvbnRlbnQ6IlxlOTJjIn0uc29saWQtaWNvbi1GcmllbmRmZWVkOmJlZm9yZXtjb250ZW50OiJcZTkyZCJ9LnNvbGlkLWljb24tRnJpZW5kc3RlcjpiZWZvcmV7Y29udGVudDoiXGU5MmUifS5zb2xpZC1pY29uLUZyb2c6YmVmb3Jle2NvbnRlbnQ6IlxlOTJmIn0uc29saWQtaWNvbi1GcnVpdHM6YmVmb3Jle2NvbnRlbnQ6IlxlOTMwIn0uc29saWQtaWNvbi1GdWVsOmJlZm9yZXtjb250ZW50OiJcZTkzMSJ9LnNvbGlkLWljb24tRnVsbC1CYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTMyIn0uc29saWQtaWNvbi1GdWxsLUNhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTMzIn0uc29saWQtaWNvbi1GdWxsLU1vb246YmVmb3Jle2NvbnRlbnQ6IlxlOTM0In0uc29saWQtaWNvbi1GdWxsLVNjcmVlbjpiZWZvcmV7Y29udGVudDoiXGU5MzUifS5zb2xpZC1pY29uLUZ1bGwtU2NyZWVuMjpiZWZvcmV7Y29udGVudDoiXGU5MzYifS5zb2xpZC1pY29uLUZ1bGwtVmlldzpiZWZvcmV7Y29udGVudDoiXGU5MzcifS5zb2xpZC1pY29uLUZ1bGwtVmlldzI6YmVmb3Jle2NvbnRlbnQ6IlxlOTM4In0uc29saWQtaWNvbi1GdWxsLVZpZXdXaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlOTM5In0uc29saWQtaWNvbi1GdW5jdGlvbjpiZWZvcmV7Y29udGVudDoiXGU5M2EifS5zb2xpZC1pY29uLUZ1bmt5OmJlZm9yZXtjb250ZW50OiJcZTkzYiJ9LnNvbGlkLWljb24tRnVubnktQmljeWNsZTpiZWZvcmV7Y29udGVudDoiXGU5M2MifS5zb2xpZC1pY29uLUZ1cmw6YmVmb3Jle2NvbnRlbnQ6IlxlOTNkIn0uc29saWQtaWNvbi1GeWxsLUJhZzpiZWZvcmV7Y29udGVudDoiXGU5M2UifS5zb2xpZC1pY29uLUdhbWVwYWQtMjpiZWZvcmV7Y29udGVudDoiXGU5M2YifS5zb2xpZC1pY29uLUdhbWVwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTQwIn0uc29saWQtaWNvbi1HYXMtUHVtcDpiZWZvcmV7Y29udGVudDoiXGU5NDEifS5zb2xpZC1pY29uLUdhdWdhZ2UtMjpiZWZvcmV7Y29udGVudDoiXGU5NDIifS5zb2xpZC1pY29uLUdhdWdhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTQzIn0uc29saWQtaWNvbi1HYXk6YmVmb3Jle2NvbnRlbnQ6IlxlOTQ0In0uc29saWQtaWNvbi1HZWFyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOTQ1In0uc29saWQtaWNvbi1HZWFyOmJlZm9yZXtjb250ZW50OiJcZTk0NiJ9LnNvbGlkLWljb24tR2VhcnMtMjpiZWZvcmV7Y29udGVudDoiXGU5NDcifS5zb2xpZC1pY29uLUdlYXJzOmJlZm9yZXtjb250ZW50OiJcZTk0OCJ9LnNvbGlkLWljb24tR2Vlay0yOmJlZm9yZXtjb250ZW50OiJcZTk0OSJ9LnNvbGlkLWljb24tR2VlazpiZWZvcmV7Y29udGVudDoiXGU5NGEifS5zb2xpZC1pY29uLUdlbWluaS0yOmJlZm9yZXtjb250ZW50OiJcZTk0YiJ9LnNvbGlkLWljb24tR2VtaW5pOmJlZm9yZXtjb250ZW50OiJcZTk0YyJ9LnNvbGlkLWljb24tR2VuaXVzOmJlZm9yZXtjb250ZW50OiJcZTk0ZCJ9LnNvbGlkLWljb24tR2VudGxlbWFuOmJlZm9yZXtjb250ZW50OiJcZTk0ZSJ9LnNvbGlkLWljb24tR2VvLS06YmVmb3Jle2NvbnRlbnQ6IlxlOTRmIn0uc29saWQtaWNvbi1HZW8tOmJlZm9yZXtjb250ZW50OiJcZTk1MCJ9LnNvbGlkLWljb24tR2VvLUNsb3NlOmJlZm9yZXtjb250ZW50OiJcZTk1MSJ9LnNvbGlkLWljb24tR2VvLUxvdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTUyIn0uc29saWQtaWNvbi1HZW8tTnVtYmVyOmJlZm9yZXtjb250ZW50OiJcZTk1MyJ9LnNvbGlkLWljb24tR2VvLVN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTU0In0uc29saWQtaWNvbi1HZW86YmVmb3Jle2NvbnRlbnQ6IlxlOTU1In0uc29saWQtaWNvbi1HZW8yLS06YmVmb3Jle2NvbnRlbnQ6IlxlOTU2In0uc29saWQtaWNvbi1HZW8yLTpiZWZvcmV7Y29udGVudDoiXGU5NTcifS5zb2xpZC1pY29uLUdlbzItQ2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTU4In0uc29saWQtaWNvbi1HZW8yLUxvdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTU5In0uc29saWQtaWNvbi1HZW8yLU51bWJlcjpiZWZvcmV7Y29udGVudDoiXGU5NWEifS5zb2xpZC1pY29uLUdlbzItU3RhcjpiZWZvcmV7Y29udGVudDoiXGU5NWIifS5zb2xpZC1pY29uLUdlbzI6YmVmb3Jle2NvbnRlbnQ6IlxlOTVjIn0uc29saWQtaWNvbi1HZW8zLS06YmVmb3Jle2NvbnRlbnQ6IlxlOTVkIn0uc29saWQtaWNvbi1HZW8zLTpiZWZvcmV7Y29udGVudDoiXGU5NWUifS5zb2xpZC1pY29uLUdlbzMtQ2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTVmIn0uc29saWQtaWNvbi1HZW8zLUxvdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTYwIn0uc29saWQtaWNvbi1HZW8zLU51bWJlcjpiZWZvcmV7Y29udGVudDoiXGU5NjEifS5zb2xpZC1pY29uLUdlbzMtU3RhcjpiZWZvcmV7Y29udGVudDoiXGU5NjIifS5zb2xpZC1pY29uLUdlbzM6YmVmb3Jle2NvbnRlbnQ6IlxlOTYzIn0uc29saWQtaWNvbi1HZXk6YmVmb3Jle2NvbnRlbnQ6IlxlOTY0In0uc29saWQtaWNvbi1HaWZ0LUJveDpiZWZvcmV7Y29udGVudDoiXGU5NjUifS5zb2xpZC1pY29uLUdpcmFmZmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTY2In0uc29saWQtaWNvbi1HaXJsOmJlZm9yZXtjb250ZW50OiJcZTk2NyJ9LnNvbGlkLWljb24tR2xhc3MtV2F0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTY4In0uc29saWQtaWNvbi1HbGFzc2VzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOTY5In0uc29saWQtaWNvbi1HbGFzc2VzLTM6YmVmb3Jle2NvbnRlbnQ6IlxlOTZhIn0uc29saWQtaWNvbi1HbGFzc2VzOmJlZm9yZXtjb250ZW50OiJcZTk2YiJ9LnNvbGlkLWljb24tR2xvYmFsLVBvc2l0aW9uOmJlZm9yZXtjb250ZW50OiJcZTk2YyJ9LnNvbGlkLWljb24tR2xvYmUtMjpiZWZvcmV7Y29udGVudDoiXGU5NmQifS5zb2xpZC1pY29uLUdsb2JlOmJlZm9yZXtjb250ZW50OiJcZTk2ZSJ9LnNvbGlkLWljb24tR2xvdmVzOmJlZm9yZXtjb250ZW50OiJcZTk2ZiJ9LnNvbGlkLWljb24tR28tQm90dG9tOmJlZm9yZXtjb250ZW50OiJcZTk3MCJ9LnNvbGlkLWljb24tR28tVG9wOmJlZm9yZXtjb250ZW50OiJcZTk3MSJ9LnNvbGlkLWljb24tR29nZ2xlczpiZWZvcmV7Y29udGVudDoiXGU5NzIifS5zb2xpZC1pY29uLUdvbGYtMjpiZWZvcmV7Y29udGVudDoiXGU5NzMifS5zb2xpZC1pY29uLUdvbGY6YmVmb3Jle2NvbnRlbnQ6IlxlOTc0In0uc29saWQtaWNvbi1Hb29nbGUtQnV6ejpiZWZvcmV7Y29udGVudDoiXGU5NzUifS5zb2xpZC1pY29uLUdvb2dsZS1Ecml2ZTpiZWZvcmV7Y29udGVudDoiXGU5NzYifS5zb2xpZC1pY29uLUdvb2dsZS1QbGF5OmJlZm9yZXtjb250ZW50OiJcZTk3NyJ9LnNvbGlkLWljb24tR29vZ2xlLVBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlOTc4In0uc29saWQtaWNvbi1Hb29nbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOTc5In0uc29saWQtaWNvbi1Hb3BybzpiZWZvcmV7Y29udGVudDoiXGU5N2EifS5zb2xpZC1pY29uLUdvcmlsbGE6YmVmb3Jle2NvbnRlbnQ6IlxlOTdiIn0uc29saWQtaWNvbi1Hb3dhbGxhOmJlZm9yZXtjb250ZW50OiJcZTk3YyJ9LnNvbGlkLWljb24tR3JhdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTdkIn0uc29saWQtaWNvbi1HcmF2ZXlhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTdlIn0uc29saWQtaWNvbi1HcmVlY2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTdmIn0uc29saWQtaWNvbi1HcmVlbi1FbmVyZ3k6YmVmb3Jle2NvbnRlbnQ6IlxlOTgwIn0uc29saWQtaWNvbi1HcmVlbi1Ib3VzZTpiZWZvcmV7Y29udGVudDoiXGU5ODEifS5zb2xpZC1pY29uLUd1aXRhcjpiZWZvcmV7Y29udGVudDoiXGU5ODIifS5zb2xpZC1pY29uLUd1bi0yOmJlZm9yZXtjb250ZW50OiJcZTk4MyJ9LnNvbGlkLWljb24tR3VuLTM6YmVmb3Jle2NvbnRlbnQ6IlxlOTg0In0uc29saWQtaWNvbi1HdW46YmVmb3Jle2NvbnRlbnQ6IlxlOTg1In0uc29saWQtaWNvbi1HeW1uYXN0aWNzOmJlZm9yZXtjb250ZW50OiJcZTk4NiJ9LnNvbGlkLWljb24tSGFpci0yOmJlZm9yZXtjb250ZW50OiJcZTk4NyJ9LnNvbGlkLWljb24tSGFpci0zOmJlZm9yZXtjb250ZW50OiJcZTk4OCJ9LnNvbGlkLWljb24tSGFpci00OmJlZm9yZXtjb250ZW50OiJcZTk4OSJ9LnNvbGlkLWljb24tSGFpcjpiZWZvcmV7Y29udGVudDoiXGU5OGEifS5zb2xpZC1pY29uLUhhbGYtTW9vbjpiZWZvcmV7Y29udGVudDoiXGU5OGIifS5zb2xpZC1pY29uLUhhbGxvd2Vlbi1IYWxmTW9vbjpiZWZvcmV7Y29udGVudDoiXGU5OGMifS5zb2xpZC1pY29uLUhhbGxvd2Vlbi1Nb29uOmJlZm9yZXtjb250ZW50OiJcZTk4ZCJ9LnNvbGlkLWljb24tSGFtYnVyZ2VyOmJlZm9yZXtjb250ZW50OiJcZTk4ZSJ9LnNvbGlkLWljb24tSGFtbWVyOmJlZm9yZXtjb250ZW50OiJcZTk4ZiJ9LnNvbGlkLWljb24tSGFuZC1Ub3VjaDpiZWZvcmV7Y29udGVudDoiXGU5OTAifS5zb2xpZC1pY29uLUhhbmQtVG91Y2gyOmJlZm9yZXtjb250ZW50OiJcZTk5MSJ9LnNvbGlkLWljb24tSGFuZC1Ub3VjaFNtYXJ0cGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTkyIn0uc29saWQtaWNvbi1IYW5kOmJlZm9yZXtjb250ZW50OiJcZTk5MyJ9LnNvbGlkLWljb24tSGFuZHM6YmVmb3Jle2NvbnRlbnQ6IlxlOTk0In0uc29saWQtaWNvbi1IYW5kc2hha2U6YmVmb3Jle2NvbnRlbnQ6IlxlOTk1In0uc29saWQtaWNvbi1IYW5nZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOTk2In0uc29saWQtaWNvbi1IYXBweTpiZWZvcmV7Y29udGVudDoiXGU5OTcifS5zb2xpZC1pY29uLUhhdC0yOmJlZm9yZXtjb250ZW50OiJcZTk5OCJ9LnNvbGlkLWljb24tSGF0OmJlZm9yZXtjb250ZW50OiJcZTk5OSJ9LnNvbGlkLWljb24tSGF1bnRlZC1Ib3VzZTpiZWZvcmV7Y29udGVudDoiXGU5OWEifS5zb2xpZC1pY29uLUhELVZpZGVvOmJlZm9yZXtjb250ZW50OiJcZTk5YiJ9LnNvbGlkLWljb24tSEQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTljIn0uc29saWQtaWNvbi1IREQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTlkIn0uc29saWQtaWNvbi1IZWFkcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTllIn0uc29saWQtaWNvbi1IZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZTk5ZiJ9LnNvbGlkLWljb24tSGVhZHNldDpiZWZvcmV7Y29udGVudDoiXGU5YTAifS5zb2xpZC1pY29uLUhlYXJ0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlOWExIn0uc29saWQtaWNvbi1IZWFydDpiZWZvcmV7Y29udGVudDoiXGU5YTIifS5zb2xpZC1pY29uLUhlZWxzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOWEzIn0uc29saWQtaWNvbi1IZWVsczpiZWZvcmV7Y29udGVudDoiXGU5YTQifS5zb2xpZC1pY29uLUhlaWdodC1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlOWE1In0uc29saWQtaWNvbi1IZWxpY29wdGVyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlOWE2In0uc29saWQtaWNvbi1IZWxpY29wdGVyOmJlZm9yZXtjb250ZW50OiJcZTlhNyJ9LnNvbGlkLWljb24tSGVsaXgtMjpiZWZvcmV7Y29udGVudDoiXGU5YTgifS5zb2xpZC1pY29uLUhlbGxvOmJlZm9yZXtjb250ZW50OiJcZTlhOSJ9LnNvbGlkLWljb24tSGVsbWV0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlOWFhIn0uc29saWQtaWNvbi1IZWxtZXQtMzpiZWZvcmV7Y29udGVudDoiXGU5YWIifS5zb2xpZC1pY29uLUhlbG1ldDpiZWZvcmV7Y29udGVudDoiXGU5YWMifS5zb2xpZC1pY29uLUhpcG86YmVmb3Jle2NvbnRlbnQ6IlxlOWFkIn0uc29saWQtaWNvbi1IaXBzdGVyLUdsYXNzZXM6YmVmb3Jle2NvbnRlbnQ6IlxlOWFlIn0uc29saWQtaWNvbi1IaXBzdGVyLUdsYXNzZXMyOmJlZm9yZXtjb250ZW50OiJcZTlhZiJ9LnNvbGlkLWljb24tSGlwc3Rlci1HbGFzc2VzMzpiZWZvcmV7Y29udGVudDoiXGU5YjAifS5zb2xpZC1pY29uLUhpcHN0ZXItSGVhZHBob25lczpiZWZvcmV7Y29udGVudDoiXGU5YjEifS5zb2xpZC1pY29uLUhpcHN0ZXItTWVuOmJlZm9yZXtjb250ZW50OiJcZTliMiJ9LnNvbGlkLWljb24tSGlwc3Rlci1NZW4yOmJlZm9yZXtjb250ZW50OiJcZTliMyJ9LnNvbGlkLWljb24tSGlwc3Rlci1NZW4zOmJlZm9yZXtjb250ZW50OiJcZTliNCJ9LnNvbGlkLWljb24tSGlwc3Rlci1TdW5nbGFzc2VzOmJlZm9yZXtjb250ZW50OiJcZTliNSJ9LnNvbGlkLWljb24tSGlwc3Rlci1TdW5nbGFzc2VzMjpiZWZvcmV7Y29udGVudDoiXGU5YjYifS5zb2xpZC1pY29uLUhpcHN0ZXItU3VuZ2xhc3NlczM6YmVmb3Jle2NvbnRlbnQ6IlxlOWI3In0uc29saWQtaWNvbi1Ib2tleTpiZWZvcmV7Y29udGVudDoiXGU5YjgifS5zb2xpZC1pY29uLUhvbGx5OmJlZm9yZXtjb250ZW50OiJcZTliOSJ9LnNvbGlkLWljb24tSG9tZS0yOmJlZm9yZXtjb250ZW50OiJcZTliYSJ9LnNvbGlkLWljb24tSG9tZS0zOmJlZm9yZXtjb250ZW50OiJcZTliYiJ9LnNvbGlkLWljb24tSG9tZS00OmJlZm9yZXtjb250ZW50OiJcZTliYyJ9LnNvbGlkLWljb24tSG9tZS01OmJlZm9yZXtjb250ZW50OiJcZTliZCJ9LnNvbGlkLWljb24tSG9tZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlOWJlIn0uc29saWQtaWNvbi1Ib21lOmJlZm9yZXtjb250ZW50OiJcZTliZiJ9LnNvbGlkLWljb24tSG9tb3NleHVhbDpiZWZvcmV7Y29udGVudDoiXGU5YzAifS5zb2xpZC1pY29uLUhvbmV5OmJlZm9yZXtjb250ZW50OiJcZTljMSJ9LnNvbGlkLWljb24tSG9uZy1Lb25nOmJlZm9yZXtjb250ZW50OiJcZTljMiJ9LnNvbGlkLWljb24tSG9vZGllOmJlZm9yZXtjb250ZW50OiJcZTljMyJ9LnNvbGlkLWljb24tSG9ycm9yOmJlZm9yZXtjb250ZW50OiJcZTljNCJ9LnNvbGlkLWljb24tSG9yc2U6YmVmb3Jle2NvbnRlbnQ6IlxlOWM1In0uc29saWQtaWNvbi1Ib3NwaXRhbC0yOmJlZm9yZXtjb250ZW50OiJcZTljNiJ9LnNvbGlkLWljb24tSG9zcGl0YWw6YmVmb3Jle2NvbnRlbnQ6IlxlOWM3In0uc29saWQtaWNvbi1Ib3N0OmJlZm9yZXtjb250ZW50OiJcZTljOCJ9LnNvbGlkLWljb24tSG90LURvZzpiZWZvcmV7Y29udGVudDoiXGU5YzkifS5zb2xpZC1pY29uLUhvdGVsOmJlZm9yZXtjb250ZW50OiJcZTljYSJ9LnNvbGlkLWljb24tSG91cjpiZWZvcmV7Y29udGVudDoiXGU5Y2IifS5zb2xpZC1pY29uLUh1YjpiZWZvcmV7Y29udGVudDoiXGU5Y2MifS5zb2xpZC1pY29uLUh1bW9yOmJlZm9yZXtjb250ZW50OiJcZTljZCJ9LnNvbGlkLWljb24tSHVydDpiZWZvcmV7Y29udGVudDoiXGU5Y2UifS5zb2xpZC1pY29uLUljZS1DcmVhbTpiZWZvcmV7Y29udGVudDoiXGU5Y2YifS5zb2xpZC1pY29uLUlDUTpiZWZvcmV7Y29udGVudDoiXGU5ZDAifS5zb2xpZC1pY29uLUlELTI6YmVmb3Jle2NvbnRlbnQ6IlxlOWQxIn0uc29saWQtaWNvbi1JRC0zOmJlZm9yZXtjb250ZW50OiJcZTlkMiJ9LnNvbGlkLWljb24tSUQtQ2FyZDpiZWZvcmV7Y29udGVudDoiXGU5ZDMifS5zb2xpZC1pY29uLUlkZWEtMjpiZWZvcmV7Y29udGVudDoiXGU5ZDQifS5zb2xpZC1pY29uLUlkZWEtMzpiZWZvcmV7Y29udGVudDoiXGU5ZDUifS5zb2xpZC1pY29uLUlkZWEtNDpiZWZvcmV7Y29udGVudDoiXGU5ZDYifS5zb2xpZC1pY29uLUlkZWEtNTpiZWZvcmV7Y29udGVudDoiXGU5ZDcifS5zb2xpZC1pY29uLUlkZWE6YmVmb3Jle2NvbnRlbnQ6IlxlOWQ4In0uc29saWQtaWNvbi1JZGVudGlmaWNhdGlvbi1CYWRnZTpiZWZvcmV7Y29udGVudDoiXGU5ZDkifS5zb2xpZC1pY29uLUltREI6YmVmb3Jle2NvbnRlbnQ6IlxlOWRhIn0uc29saWQtaWNvbi1JbmJveC1FbXB0eTpiZWZvcmV7Y29udGVudDoiXGU5ZGIifS5zb2xpZC1pY29uLUluYm94LUZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWRjIn0uc29saWQtaWNvbi1JbmJveC1GdWxsOmJlZm9yZXtjb250ZW50OiJcZTlkZCJ9LnNvbGlkLWljb24tSW5ib3gtSW50bzpiZWZvcmV7Y29udGVudDoiXGU5ZGUifS5zb2xpZC1pY29uLUluYm94LU91dDpiZWZvcmV7Y29udGVudDoiXGU5ZGYifS5zb2xpZC1pY29uLUluYm94LVJlcGx5OmJlZm9yZXtjb250ZW50OiJcZTllMCJ9LnNvbGlkLWljb24tSW5ib3g6YmVmb3Jle2NvbnRlbnQ6IlxlOWUxIn0uc29saWQtaWNvbi1JbmNyZWFzZS1JbmVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWUyIn0uc29saWQtaWNvbi1JbmRlbnQtRmlyc3RMaW5lOmJlZm9yZXtjb250ZW50OiJcZTllMyJ9LnNvbGlkLWljb24tSW5kZW50LUxlZnRNYXJnaW46YmVmb3Jle2NvbnRlbnQ6IlxlOWU0In0uc29saWQtaWNvbi1JbmRlbnQtUmlnaHRNYXJnaW46YmVmb3Jle2NvbnRlbnQ6IlxlOWU1In0uc29saWQtaWNvbi1JbmRpYTpiZWZvcmV7Y29udGVudDoiXGU5ZTYifS5zb2xpZC1pY29uLUluZm8tV2luZG93OmJlZm9yZXtjb250ZW50OiJcZTllNyJ9LnNvbGlkLWljb24tSW5mb3JtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlOWU4In0uc29saWQtaWNvbi1JbmlmaXR5OmJlZm9yZXtjb250ZW50OiJcZTllOSJ9LnNvbGlkLWljb24tSW5zdGFncmFtOmJlZm9yZXtjb250ZW50OiJcZTllYSJ9LnNvbGlkLWljb24tSW50ZXJuZXQtMjpiZWZvcmV7Y29udGVudDoiXGU5ZWIifS5zb2xpZC1pY29uLUludGVybmV0LUV4cGxvcmVyOmJlZm9yZXtjb250ZW50OiJcZTllYyJ9LnNvbGlkLWljb24tSW50ZXJuZXQtU21pbGV5OmJlZm9yZXtjb250ZW50OiJcZTllZCJ9LnNvbGlkLWljb24tSW50ZXJuZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOWVlIn0uc29saWQtaWNvbi1pT1MtQXBwbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOWVmIn0uc29saWQtaWNvbi1Jc3JhZWw6YmVmb3Jle2NvbnRlbnQ6IlxlOWYwIn0uc29saWQtaWNvbi1JdGFsaWMtVGV4dDpiZWZvcmV7Y29udGVudDoiXGU5ZjEifS5zb2xpZC1pY29uLUphY2tldC0yOmJlZm9yZXtjb250ZW50OiJcZTlmMiJ9LnNvbGlkLWljb24tSmFja2V0OmJlZm9yZXtjb250ZW50OiJcZTlmMyJ9LnNvbGlkLWljb24tSmFtYWljYTpiZWZvcmV7Y29udGVudDoiXGU5ZjQifS5zb2xpZC1pY29uLUphcGFuOmJlZm9yZXtjb250ZW50OiJcZTlmNSJ9LnNvbGlkLWljb24tSmFwYW5lc2UtR2F0ZTpiZWZvcmV7Y29udGVudDoiXGU5ZjYifS5zb2xpZC1pY29uLUplYW5zOmJlZm9yZXtjb250ZW50OiJcZTlmNyJ9LnNvbGlkLWljb24tSmVlcC0yOmJlZm9yZXtjb250ZW50OiJcZTlmOCJ9LnNvbGlkLWljb24tSmVlcDpiZWZvcmV7Y29udGVudDoiXGU5ZjkifS5zb2xpZC1pY29uLUpldDpiZWZvcmV7Y29udGVudDoiXGU5ZmEifS5zb2xpZC1pY29uLUpveXN0aWNrOmJlZm9yZXtjb250ZW50OiJcZTlmYiJ9LnNvbGlkLWljb24tSnVpY2U6YmVmb3Jle2NvbnRlbnQ6IlxlOWZjIn0uc29saWQtaWNvbi1KdW1wLVJvcGU6YmVmb3Jle2NvbnRlbnQ6IlxlOWZkIn0uc29saWQtaWNvbi1LYW5nb3JvbzpiZWZvcmV7Y29udGVudDoiXGU5ZmUifS5zb2xpZC1pY29uLUtlbnlhOmJlZm9yZXtjb250ZW50OiJcZTlmZiJ9LnNvbGlkLWljb24tS2V5LTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTAwIn0uc29saWQtaWNvbi1LZXktMzpiZWZvcmV7Y29udGVudDoiXGVhMDEifS5zb2xpZC1pY29uLUtleS1Mb2NrOmJlZm9yZXtjb250ZW50OiJcZWEwMiJ9LnNvbGlkLWljb24tS2V5OmJlZm9yZXtjb250ZW50OiJcZWEwMyJ9LnNvbGlkLWljb24tS2V5Ym9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTA0In0uc29saWQtaWNvbi1LZXlib2FyZDM6YmVmb3Jle2NvbnRlbnQ6IlxlYTA1In0uc29saWQtaWNvbi1LZXlwYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTA2In0uc29saWQtaWNvbi1LaW5nLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTA3In0uc29saWQtaWNvbi1LaW5nOmJlZm9yZXtjb250ZW50OiJcZWEwOCJ9LnNvbGlkLWljb24tS2lzczpiZWZvcmV7Y29udGVudDoiXGVhMDkifS5zb2xpZC1pY29uLUtuZWU6YmVmb3Jle2NvbnRlbnQ6IlxlYTBhIn0uc29saWQtaWNvbi1LbmlmZS0yOmJlZm9yZXtjb250ZW50OiJcZWEwYiJ9LnNvbGlkLWljb24tS25pZmU6YmVmb3Jle2NvbnRlbnQ6IlxlYTBjIn0uc29saWQtaWNvbi1LbmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTBkIn0uc29saWQtaWNvbi1Lb2FsYTpiZWZvcmV7Y29udGVudDoiXGVhMGUifS5zb2xpZC1pY29uLUtvcmVhOmJlZm9yZXtjb250ZW50OiJcZWEwZiJ9LnNvbGlkLWljb24tTGFtcDpiZWZvcmV7Y29udGVudDoiXGVhMTAifS5zb2xpZC1pY29uLUxhbmRzY2FwZS0yOmJlZm9yZXtjb250ZW50OiJcZWExMSJ9LnNvbGlkLWljb24tTGFuZHNjYXBlOmJlZm9yZXtjb250ZW50OiJcZWExMiJ9LnNvbGlkLWljb24tTGFudGVybjpiZWZvcmV7Y29udGVudDoiXGVhMTMifS5zb2xpZC1pY29uLUxhcHRvcC0yOmJlZm9yZXtjb250ZW50OiJcZWExNCJ9LnNvbGlkLWljb24tTGFwdG9wLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYTE1In0uc29saWQtaWNvbi1MYXB0b3AtUGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYTE2In0uc29saWQtaWNvbi1MYXB0b3AtU2VjdXJlOmJlZm9yZXtjb250ZW50OiJcZWExNyJ9LnNvbGlkLWljb24tTGFwdG9wLVRhYmxldDpiZWZvcmV7Y29udGVudDoiXGVhMTgifS5zb2xpZC1pY29uLUxhcHRvcDpiZWZvcmV7Y29udGVudDoiXGVhMTkifS5zb2xpZC1pY29uLUxhc2VyOmJlZm9yZXtjb250ZW50OiJcZWExYSJ9LnNvbGlkLWljb24tTGFzdC1GTTpiZWZvcmV7Y29udGVudDoiXGVhMWIifS5zb2xpZC1pY29uLUxhc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlYTFjIn0uc29saWQtaWNvbi1MYXVnaGluZzpiZWZvcmV7Y29udGVudDoiXGVhMWQifS5zb2xpZC1pY29uLUxheWVyLUJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZWExZSJ9LnNvbGlkLWljb24tTGF5ZXItRm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGVhMWYifS5zb2xpZC1pY29uLUxlYWZzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTIwIn0uc29saWQtaWNvbi1MZWFmczpiZWZvcmV7Y29udGVudDoiXGVhMjEifS5zb2xpZC1pY29uLUxlYW5pbmctVG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYTIyIn0uc29saWQtaWNvbi1MZWZ0LS1SaWdodDpiZWZvcmV7Y29udGVudDoiXGVhMjMifS5zb2xpZC1pY29uLUxlZnQtLVJpZ2h0MzpiZWZvcmV7Y29udGVudDoiXGVhMjQifS5zb2xpZC1pY29uLUxlZnQtMjpiZWZvcmV7Y29udGVudDoiXGVhMjUifS5zb2xpZC1pY29uLUxlZnQtMzpiZWZvcmV7Y29udGVudDoiXGVhMjYifS5zb2xpZC1pY29uLUxlZnQtNDpiZWZvcmV7Y29udGVudDoiXGVhMjcifS5zb2xpZC1pY29uLUxlZnQtVG9SaWdodDpiZWZvcmV7Y29udGVudDoiXGVhMjgifS5zb2xpZC1pY29uLUxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTI5In0uc29saWQtaWNvbi1MZWctMjpiZWZvcmV7Y29udGVudDoiXGVhMmEifS5zb2xpZC1pY29uLUxlZzpiZWZvcmV7Y29udGVudDoiXGVhMmIifS5zb2xpZC1pY29uLUxlZ286YmVmb3Jle2NvbnRlbnQ6IlxlYTJjIn0uc29saWQtaWNvbi1MZW1vbjpiZWZvcmV7Y29udGVudDoiXGVhMmQifS5zb2xpZC1pY29uLUxlbi0yOmJlZm9yZXtjb250ZW50OiJcZWEyZSJ9LnNvbGlkLWljb24tTGVuLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYTJmIn0uc29saWQtaWNvbi1MZW46YmVmb3Jle2NvbnRlbnQ6IlxlYTMwIn0uc29saWQtaWNvbi1MZW8tMjpiZWZvcmV7Y29udGVudDoiXGVhMzEifS5zb2xpZC1pY29uLUxlbzpiZWZvcmV7Y29udGVudDoiXGVhMzIifS5zb2xpZC1pY29uLUxlb3BhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTMzIn0uc29saWQtaWNvbi1MZXNiaWFuOmJlZm9yZXtjb250ZW50OiJcZWEzNCJ9LnNvbGlkLWljb24tTGVzYmlhbnM6YmVmb3Jle2NvbnRlbnQ6IlxlYTM1In0uc29saWQtaWNvbi1MZXR0ZXItQ2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlYTM2In0uc29saWQtaWNvbi1MZXR0ZXItT3BlbjpiZWZvcmV7Y29udGVudDoiXGVhMzcifS5zb2xpZC1pY29uLUxldHRlci1TZW50OmJlZm9yZXtjb250ZW50OiJcZWEzOCJ9LnNvbGlkLWljb24tTGlicmEtMjpiZWZvcmV7Y29udGVudDoiXGVhMzkifS5zb2xpZC1pY29uLUxpYnJhOmJlZm9yZXtjb250ZW50OiJcZWEzYSJ9LnNvbGlkLWljb24tTGlicmFyeS0yOmJlZm9yZXtjb250ZW50OiJcZWEzYiJ9LnNvbGlkLWljb24tTGlicmFyeTpiZWZvcmV7Y29udGVudDoiXGVhM2MifS5zb2xpZC1pY29uLUxpZmUtSmFja2V0OmJlZm9yZXtjb250ZW50OiJcZWEzZCJ9LnNvbGlkLWljb24tTGlmZS1TYWZlcjpiZWZvcmV7Y29udGVudDoiXGVhM2UifS5zb2xpZC1pY29uLUxpZ2h0LUJ1bGI6YmVmb3Jle2NvbnRlbnQ6IlxlYTNmIn0uc29saWQtaWNvbi1MaWdodC1CdWxiMjpiZWZvcmV7Y29udGVudDoiXGVhNDAifS5zb2xpZC1pY29uLUxpZ2h0LUJ1bGJMZWFmOmJlZm9yZXtjb250ZW50OiJcZWE0MSJ9LnNvbGlkLWljb24tTGlnaHRob3VzZTpiZWZvcmV7Y29udGVudDoiXGVhNDIifS5zb2xpZC1pY29uLUxpa2UtMjpiZWZvcmV7Y29udGVudDoiXGVhNDMifS5zb2xpZC1pY29uLUxpa2U6YmVmb3Jle2NvbnRlbnQ6IlxlYTQ0In0uc29saWQtaWNvbi1MaW5lLUNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZWE0NSJ9LnNvbGlkLWljb24tTGluZS1DaGFydDI6YmVmb3Jle2NvbnRlbnQ6IlxlYTQ2In0uc29saWQtaWNvbi1MaW5lLUNoYXJ0MzpiZWZvcmV7Y29udGVudDoiXGVhNDcifS5zb2xpZC1pY29uLUxpbmUtQ2hhcnQ0OmJlZm9yZXtjb250ZW50OiJcZWE0OCJ9LnNvbGlkLWljb24tTGluZS1TcGFjaW5nOmJlZm9yZXtjb250ZW50OiJcZWE0OSJ9LnNvbGlkLWljb24tTGluZS1TcGFjaW5nVGV4dDpiZWZvcmV7Y29udGVudDoiXGVhNGEifS5zb2xpZC1pY29uLUxpbmstMjpiZWZvcmV7Y29udGVudDoiXGVhNGIifS5zb2xpZC1pY29uLUxpbms6YmVmb3Jle2NvbnRlbnQ6IlxlYTRjIn0uc29saWQtaWNvbi1MaW5rZWRpbi0yOmJlZm9yZXtjb250ZW50OiJcZWE0ZCJ9LnNvbGlkLWljb24tTGlua2VkaW46YmVmb3Jle2NvbnRlbnQ6IlxlYTRlIn0uc29saWQtaWNvbi1MaW51eDpiZWZvcmV7Y29udGVudDoiXGVhNGYifS5zb2xpZC1pY29uLUxpb246YmVmb3Jle2NvbnRlbnQ6IlxlYTUwIn0uc29saWQtaWNvbi1MaXZlam91cm5hbDpiZWZvcmV7Y29udGVudDoiXGVhNTEifS5zb2xpZC1pY29uLUxvYWRpbmctMjpiZWZvcmV7Y29udGVudDoiXGVhNTIifS5zb2xpZC1pY29uLUxvYWRpbmctMzpiZWZvcmV7Y29udGVudDoiXGVhNTMifS5zb2xpZC1pY29uLUxvYWRpbmctV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWE1NCJ9LnNvbGlkLWljb24tTG9hZGluZzpiZWZvcmV7Y29udGVudDoiXGVhNTUifS5zb2xpZC1pY29uLUxvY2F0aW9uLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTU2In0uc29saWQtaWNvbi1Mb2NhdGlvbjpiZWZvcmV7Y29udGVudDoiXGVhNTcifS5zb2xpZC1pY29uLUxvY2stMjpiZWZvcmV7Y29udGVudDoiXGVhNTgifS5zb2xpZC1pY29uLUxvY2stMzpiZWZvcmV7Y29udGVudDoiXGVhNTkifS5zb2xpZC1pY29uLUxvY2stVXNlcjpiZWZvcmV7Y29udGVudDoiXGVhNWEifS5zb2xpZC1pY29uLUxvY2stV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWE1YiJ9LnNvbGlkLWljb24tTG9jazpiZWZvcmV7Y29udGVudDoiXGVhNWMifS5zb2xpZC1pY29uLUxvbGxpcG9wLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTVkIn0uc29saWQtaWNvbi1Mb2xsaXBvcC0zOmJlZm9yZXtjb250ZW50OiJcZWE1ZSJ9LnNvbGlkLWljb24tTG9sbGlwb3A6YmVmb3Jle2NvbnRlbnQ6IlxlYTVmIn0uc29saWQtaWNvbi1Mb29wOmJlZm9yZXtjb250ZW50OiJcZWE2MCJ9LnNvbGlkLWljb24tTG91ZDpiZWZvcmV7Y29udGVudDoiXGVhNjEifS5zb2xpZC1pY29uLUxvdWRzcGVha2VyOmJlZm9yZXtjb250ZW50OiJcZWE2MiJ9LnNvbGlkLWljb24tTG92ZS0yOmJlZm9yZXtjb250ZW50OiJcZWE2MyJ9LnNvbGlkLWljb24tTG92ZS1Vc2VyOmJlZm9yZXtjb250ZW50OiJcZWE2NCJ9LnNvbGlkLWljb24tTG92ZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYTY1In0uc29saWQtaWNvbi1Mb3ZlOmJlZm9yZXtjb250ZW50OiJcZWE2NiJ9LnNvbGlkLWljb24tTG93ZXJjYXNlLVRleHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTY3In0uc29saWQtaWNvbi1MdWdnYWZlLUZyb250OmJlZm9yZXtjb250ZW50OiJcZWE2OCJ9LnNvbGlkLWljb24tTHVnZ2FnZS0yOmJlZm9yZXtjb250ZW50OiJcZWE2OSJ9LnNvbGlkLWljb24tTWFjcm86YmVmb3Jle2NvbnRlbnQ6IlxlYTZhIn0uc29saWQtaWNvbi1NYWdpYy1XYW5kOmJlZm9yZXtjb250ZW50OiJcZWE2YiJ9LnNvbGlkLWljb24tTWFnbmV0OmJlZm9yZXtjb250ZW50OiJcZWE2YyJ9LnNvbGlkLWljb24tTWFnbmlmaS1HbGFzcy06YmVmb3Jle2NvbnRlbnQ6IlxlYTZkIn0uc29saWQtaWNvbi1NYWduaWZpLUdsYXNzOmJlZm9yZXtjb250ZW50OiJcZWE2ZSJ9LnNvbGlkLWljb24tTWFnbmlmaS1HbGFzczI6YmVmb3Jle2NvbnRlbnQ6IlxlYTZmIn0uc29saWQtaWNvbi1NYWlsLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTcwIn0uc29saWQtaWNvbi1NYWlsLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYTcxIn0uc29saWQtaWNvbi1NYWlsLUFkZDpiZWZvcmV7Y29udGVudDoiXGVhNzIifS5zb2xpZC1pY29uLU1haWwtQXR0YWNoZW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTczIn0uc29saWQtaWNvbi1NYWlsLUJsb2NrOmJlZm9yZXtjb250ZW50OiJcZWE3NCJ9LnNvbGlkLWljb24tTWFpbC1EZWxldGU6YmVmb3Jle2NvbnRlbnQ6IlxlYTc1In0uc29saWQtaWNvbi1NYWlsLUZhdm9yaXRlOmJlZm9yZXtjb250ZW50OiJcZWE3NiJ9LnNvbGlkLWljb24tTWFpbC1Gb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZWE3NyJ9LnNvbGlkLWljb24tTWFpbC1HYWxsZXJ5OmJlZm9yZXtjb250ZW50OiJcZWE3OCJ9LnNvbGlkLWljb24tTWFpbC1JbmJveDpiZWZvcmV7Y29udGVudDoiXGVhNzkifS5zb2xpZC1pY29uLU1haWwtTGluazpiZWZvcmV7Y29udGVudDoiXGVhN2EifS5zb2xpZC1pY29uLU1haWwtTG9jazpiZWZvcmV7Y29udGVudDoiXGVhN2IifS5zb2xpZC1pY29uLU1haWwtTG92ZTpiZWZvcmV7Y29udGVudDoiXGVhN2MifS5zb2xpZC1pY29uLU1haWwtTW9uZXk6YmVmb3Jle2NvbnRlbnQ6IlxlYTdkIn0uc29saWQtaWNvbi1NYWlsLU9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlYTdlIn0uc29saWQtaWNvbi1NYWlsLU91dGJveDpiZWZvcmV7Y29udGVudDoiXGVhN2YifS5zb2xpZC1pY29uLU1haWwtUGFzc3dvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYTgwIn0uc29saWQtaWNvbi1NYWlsLVBob3RvOmJlZm9yZXtjb250ZW50OiJcZWE4MSJ9LnNvbGlkLWljb24tTWFpbC1SZWFkOmJlZm9yZXtjb250ZW50OiJcZWE4MiJ9LnNvbGlkLWljb24tTWFpbC1SZW1vdmV4OmJlZm9yZXtjb250ZW50OiJcZWE4MyJ9LnNvbGlkLWljb24tTWFpbC1SZXBseTpiZWZvcmV7Y29udGVudDoiXGVhODQifS5zb2xpZC1pY29uLU1haWwtUmVwbHlBbGw6YmVmb3Jle2NvbnRlbnQ6IlxlYTg1In0uc29saWQtaWNvbi1NYWlsLVNlYXJjaDpiZWZvcmV7Y29udGVudDoiXGVhODYifS5zb2xpZC1pY29uLU1haWwtU2VuZDpiZWZvcmV7Y29udGVudDoiXGVhODcifS5zb2xpZC1pY29uLU1haWwtU2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6IlxlYTg4In0uc29saWQtaWNvbi1NYWlsLVVucmVhZDpiZWZvcmV7Y29udGVudDoiXGVhODkifS5zb2xpZC1pY29uLU1haWwtVmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxlYThhIn0uc29saWQtaWNvbi1NYWlsLXdpdGhBdFNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlYThiIn0uc29saWQtaWNvbi1NYWlsLVdpdGhDdXJzb3JzOmJlZm9yZXtjb250ZW50OiJcZWE4YyJ9LnNvbGlkLWljb24tTWFpbDpiZWZvcmV7Y29udGVudDoiXGVhOGQifS5zb2xpZC1pY29uLU1haWxib3gtRW1wdHk6YmVmb3Jle2NvbnRlbnQ6IlxlYThlIn0uc29saWQtaWNvbi1NYWlsYm94LUZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxlYThmIn0uc29saWQtaWNvbi1NYWxlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTkwIn0uc29saWQtaWNvbi1NYWxlLVNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlYTkxIn0uc29saWQtaWNvbi1NYWxlOmJlZm9yZXtjb250ZW50OiJcZWE5MiJ9LnNvbGlkLWljb24tTWFsZUZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGVhOTMifS5zb2xpZC1pY29uLU1hbi1TaWduOmJlZm9yZXtjb250ZW50OiJcZWE5NCJ9LnNvbGlkLWljb24tTWFuYWdlbWVudDpiZWZvcmV7Y29udGVudDoiXGVhOTUifS5zb2xpZC1pY29uLU1hbnMtVW5kZXJ3ZWFyOmJlZm9yZXtjb250ZW50OiJcZWE5NiJ9LnNvbGlkLWljb24tTWFucy1VbmRlcndlYXIyOmJlZm9yZXtjb250ZW50OiJcZWE5NyJ9LnNvbGlkLWljb24tTWFwLU1hcmtlcjpiZWZvcmV7Y29udGVudDoiXGVhOTgifS5zb2xpZC1pY29uLU1hcC1NYXJrZXIyOmJlZm9yZXtjb250ZW50OiJcZWE5OSJ9LnNvbGlkLWljb24tTWFwLU1hcmtlcjM6YmVmb3Jle2NvbnRlbnQ6IlxlYTlhIn0uc29saWQtaWNvbi1NYXA6YmVmb3Jle2NvbnRlbnQ6IlxlYTliIn0uc29saWQtaWNvbi1NYXAyOmJlZm9yZXtjb250ZW50OiJcZWE5YyJ9LnNvbGlkLWljb24tTWFya2VyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYTlkIn0uc29saWQtaWNvbi1NYXJrZXItMzpiZWZvcmV7Y29udGVudDoiXGVhOWUifS5zb2xpZC1pY29uLU1hcmtlcjpiZWZvcmV7Y29udGVudDoiXGVhOWYifS5zb2xpZC1pY29uLU1hcnRpbmktR2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlYWEwIn0uc29saWQtaWNvbi1NYXNrOmJlZm9yZXtjb250ZW50OiJcZWFhMSJ9LnNvbGlkLWljb24tTWFzdGVyLUNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWEyIn0uc29saWQtaWNvbi1NYXhpbWl6ZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYWEzIn0uc29saWQtaWNvbi1NYXhpbWl6ZTpiZWZvcmV7Y29udGVudDoiXGVhYTQifS5zb2xpZC1pY29uLU1lZGFsLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYWE1In0uc29saWQtaWNvbi1NZWRhbC0zOmJlZm9yZXtjb250ZW50OiJcZWFhNiJ9LnNvbGlkLWljb24tTWVkYWw6YmVmb3Jle2NvbnRlbnQ6IlxlYWE3In0uc29saWQtaWNvbi1NZWRpY2FsLVNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlYWE4In0uc29saWQtaWNvbi1NZWRpY2luZS0yOmJlZm9yZXtjb250ZW50OiJcZWFhOSJ9LnNvbGlkLWljb24tTWVkaWNpbmUtMzpiZWZvcmV7Y29udGVudDoiXGVhYWEifS5zb2xpZC1pY29uLU1lZGljaW5lOmJlZm9yZXtjb250ZW50OiJcZWFhYiJ9LnNvbGlkLWljb24tTWVnYXBob25lOmJlZm9yZXtjb250ZW50OiJcZWFhYyJ9LnNvbGlkLWljb24tTWVtb3J5LUNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWFkIn0uc29saWQtaWNvbi1NZW1vcnktQ2FyZDI6YmVmb3Jle2NvbnRlbnQ6IlxlYWFlIn0uc29saWQtaWNvbi1NZW1vcnktQ2FyZDM6YmVmb3Jle2NvbnRlbnQ6IlxlYWFmIn0uc29saWQtaWNvbi1NZW46YmVmb3Jle2NvbnRlbnQ6IlxlYWIwIn0uc29saWQtaWNvbi1NZW5vcmFoOmJlZm9yZXtjb250ZW50OiJcZWFiMSJ9LnNvbGlkLWljb24tTWVuczpiZWZvcmV7Y29udGVudDoiXGVhYjIifS5zb2xpZC1pY29uLU1ldGFjYWZlOmJlZm9yZXtjb250ZW50OiJcZWFiMyJ9LnNvbGlkLWljb24tTWV4aWNvOmJlZm9yZXtjb250ZW50OiJcZWFiNCJ9LnNvbGlkLWljb24tTWljOmJlZm9yZXtjb250ZW50OiJcZWFiNSJ9LnNvbGlkLWljb24tTWljcm9waG9uZS0yOmJlZm9yZXtjb250ZW50OiJcZWFiNiJ9LnNvbGlkLWljb24tTWljcm9waG9uZS0zOmJlZm9yZXtjb250ZW50OiJcZWFiNyJ9LnNvbGlkLWljb24tTWljcm9waG9uZS00OmJlZm9yZXtjb250ZW50OiJcZWFiOCJ9LnNvbGlkLWljb24tTWljcm9waG9uZS01OmJlZm9yZXtjb250ZW50OiJcZWFiOSJ9LnNvbGlkLWljb24tTWljcm9waG9uZS02OmJlZm9yZXtjb250ZW50OiJcZWFiYSJ9LnNvbGlkLWljb24tTWljcm9waG9uZS04OmJlZm9yZXtjb250ZW50OiJcZWFiYiJ9LnNvbGlkLWljb24tTWljcm9waG9uZTpiZWZvcmV7Y29udGVudDoiXGVhYmMifS5zb2xpZC1pY29uLU1pY3Jvc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxlYWJkIn0uc29saWQtaWNvbi1NaWxrLUJvdHRsZTpiZWZvcmV7Y29udGVudDoiXGVhYmUifS5zb2xpZC1pY29uLU1pbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYWJmIn0uc29saWQtaWNvbi1NaW5pbWl6ZS1NYXhpbWl6ZS1DbG9zZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYWMwIn0uc29saWQtaWNvbi1NaW5pbWl6ZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYWMxIn0uc29saWQtaWNvbi1NaW5pbWl6ZTpiZWZvcmV7Y29udGVudDoiXGVhYzIifS5zb2xpZC1pY29uLU1pcnJvcjpiZWZvcmV7Y29udGVudDoiXGVhYzMifS5zb2xpZC1pY29uLU1peGVyOmJlZm9yZXtjb250ZW50OiJcZWFjNCJ9LnNvbGlkLWljb24tTWl4eDpiZWZvcmV7Y29udGVudDoiXGVhYzUifS5zb2xpZC1pY29uLU1vbmV5LTI6YmVmb3Jle2NvbnRlbnQ6IlxlYWM2In0uc29saWQtaWNvbi1Nb25leS1CYWc6YmVmb3Jle2NvbnRlbnQ6IlxlYWM3In0uc29saWQtaWNvbi1Nb25leS1TbWlsZXk6YmVmb3Jle2NvbnRlbnQ6IlxlYWM4In0uc29saWQtaWNvbi1Nb25leTpiZWZvcmV7Y29udGVudDoiXGVhYzkifS5zb2xpZC1pY29uLU1vbml0b3ItMjpiZWZvcmV7Y29udGVudDoiXGVhY2EifS5zb2xpZC1pY29uLU1vbml0b3ItMzpiZWZvcmV7Y29udGVudDoiXGVhY2IifS5zb2xpZC1pY29uLU1vbml0b3ItNDpiZWZvcmV7Y29udGVudDoiXGVhY2MifS5zb2xpZC1pY29uLU1vbml0b3ItNTpiZWZvcmV7Y29udGVudDoiXGVhY2QifS5zb2xpZC1pY29uLU1vbml0b3ItQW5hbHl0aWNzOmJlZm9yZXtjb250ZW50OiJcZWFjZSJ9LnNvbGlkLWljb24tTW9uaXRvci1MYXB0b3A6YmVmb3Jle2NvbnRlbnQ6IlxlYWNmIn0uc29saWQtaWNvbi1Nb25pdG9yLXBob25lOmJlZm9yZXtjb250ZW50OiJcZWFkMCJ9LnNvbGlkLWljb24tTW9uaXRvci1UYWJsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWQxIn0uc29saWQtaWNvbi1Nb25pdG9yLVZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZWFkMiJ9LnNvbGlkLWljb24tTW9uaXRvcjpiZWZvcmV7Y29udGVudDoiXGVhZDMifS5zb2xpZC1pY29uLU1vbml0b3Jpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlYWQ0In0uc29saWQtaWNvbi1Nb25rZXk6YmVmb3Jle2NvbnRlbnQ6IlxlYWQ1In0uc29saWQtaWNvbi1Nb25zdGVyOmJlZm9yZXtjb250ZW50OiJcZWFkNiJ9LnNvbGlkLWljb24tTW9yb2NjbzpiZWZvcmV7Y29udGVudDoiXGVhZDcifS5zb2xpZC1pY29uLU1vdG9yY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYWQ4In0uc29saWQtaWNvbi1Nb3VzZS0yOmJlZm9yZXtjb250ZW50OiJcZWFkOSJ9LnNvbGlkLWljb24tTW91c2UtMzpiZWZvcmV7Y29udGVudDoiXGVhZGEifS5zb2xpZC1pY29uLU1vdXNlLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlYWRiIn0uc29saWQtaWNvbi1Nb3VzZS1Qb2ludGVyOmJlZm9yZXtjb250ZW50OiJcZWFkYyJ9LnNvbGlkLWljb24tTW91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlYWRkIn0uc29saWQtaWNvbi1Nb3VzdGFjaGUtU21pbGV5OmJlZm9yZXtjb250ZW50OiJcZWFkZSJ9LnNvbGlkLWljb24tTW92aWUtVGlja2V0OmJlZm9yZXtjb250ZW50OiJcZWFkZiJ9LnNvbGlkLWljb24tTW92aWU6YmVmb3Jle2NvbnRlbnQ6IlxlYWUwIn0uc29saWQtaWNvbi1NcDMtRmlsZTpiZWZvcmV7Y29udGVudDoiXGVhZTEifS5zb2xpZC1pY29uLU11c2V1bTpiZWZvcmV7Y29udGVudDoiXGVhZTIifS5zb2xpZC1pY29uLU11c2hyb29tOmJlZm9yZXtjb250ZW50OiJcZWFlMyJ9LnNvbGlkLWljb24tTXVzaWMtTm90ZTpiZWZvcmV7Y29udGVudDoiXGVhZTQifS5zb2xpZC1pY29uLU11c2ljLU5vdGUyOmJlZm9yZXtjb250ZW50OiJcZWFlNSJ9LnNvbGlkLWljb24tTXVzaWMtTm90ZTM6YmVmb3Jle2NvbnRlbnQ6IlxlYWU2In0uc29saWQtaWNvbi1NdXNpYy1Ob3RlNDpiZWZvcmV7Y29udGVudDoiXGVhZTcifS5zb2xpZC1pY29uLU11c2ljLVBsYXllcjpiZWZvcmV7Y29udGVudDoiXGVhZTgifS5zb2xpZC1pY29uLU11c3RhY2hlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYWU5In0uc29saWQtaWNvbi1NdXN0YWNoZS0zOmJlZm9yZXtjb250ZW50OiJcZWFlYSJ9LnNvbGlkLWljb24tTXVzdGFjaGUtNDpiZWZvcmV7Y29udGVudDoiXGVhZWIifS5zb2xpZC1pY29uLU11c3RhY2hlLTU6YmVmb3Jle2NvbnRlbnQ6IlxlYWVjIn0uc29saWQtaWNvbi1NdXN0YWNoZS02OmJlZm9yZXtjb250ZW50OiJcZWFlZCJ9LnNvbGlkLWljb24tTXVzdGFjaGUtNzpiZWZvcmV7Y29udGVudDoiXGVhZWUifS5zb2xpZC1pY29uLU11c3RhY2hlLTg6YmVmb3Jle2NvbnRlbnQ6IlxlYWVmIn0uc29saWQtaWNvbi1NdXN0YWNoZTpiZWZvcmV7Y29udGVudDoiXGVhZjAifS5zb2xpZC1pY29uLU11dGU6YmVmb3Jle2NvbnRlbnQ6IlxlYWYxIn0uc29saWQtaWNvbi1NeXNwYWNlOmJlZm9yZXtjb250ZW50OiJcZWFmMiJ9LnNvbGlkLWljb24tTmF2aWdhdC1TdGFydDpiZWZvcmV7Y29udGVudDoiXGVhZjMifS5zb2xpZC1pY29uLU5hdmlnYXRlLUVuZDpiZWZvcmV7Y29udGVudDoiXGVhZjQifS5zb2xpZC1pY29uLU5hdmlnYXRpb24tTGVmdFdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGVhZjUifS5zb2xpZC1pY29uLU5hdmlnYXRpb24tUmlnaHRXaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYWY2In0uc29saWQtaWNvbi1OZXBhbDpiZWZvcmV7Y29udGVudDoiXGVhZjcifS5zb2xpZC1pY29uLU5ldHNjYXBlOmJlZm9yZXtjb250ZW50OiJcZWFmOCJ9LnNvbGlkLWljb24tTmV0d29yay1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYWY5In0uc29saWQtaWNvbi1OZXR3b3JrOmJlZm9yZXtjb250ZW50OiJcZWFmYSJ9LnNvbGlkLWljb24tTmV1dHJvbjpiZWZvcmV7Y29udGVudDoiXGVhZmIifS5zb2xpZC1pY29uLU5ldy1NYWlsOmJlZm9yZXtjb250ZW50OiJcZWFmYyJ9LnNvbGlkLWljb24tTmV3LVRhYjpiZWZvcmV7Y29udGVudDoiXGVhZmQifS5zb2xpZC1pY29uLU5ld3NwYXBlci0yOmJlZm9yZXtjb250ZW50OiJcZWFmZSJ9LnNvbGlkLWljb24tTmV3c3BhcGVyOmJlZm9yZXtjb250ZW50OiJcZWFmZiJ9LnNvbGlkLWljb24tTmV3c3ZpbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYjAwIn0uc29saWQtaWNvbi1OZXh0LTM6YmVmb3Jle2NvbnRlbnQ6IlxlYjAxIn0uc29saWQtaWNvbi1OZXh0LU1lZGlhOmJlZm9yZXtjb250ZW50OiJcZWIwMiJ9LnNvbGlkLWljb24tTmV4dC1NdXNpYzpiZWZvcmV7Y29udGVudDoiXGViMDMifS5zb2xpZC1pY29uLU5leHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjA0In0uc29saWQtaWNvbi1Oby1CYXR0ZXJ5OmJlZm9yZXtjb250ZW50OiJcZWIwNSJ9LnNvbGlkLWljb24tTm8tRHJvcDpiZWZvcmV7Y29udGVudDoiXGViMDYifS5zb2xpZC1pY29uLU5vLUZsYXNoOmJlZm9yZXtjb250ZW50OiJcZWIwNyJ9LnNvbGlkLWljb24tTm8tU21va2luZzpiZWZvcmV7Y29udGVudDoiXGViMDgifS5zb2xpZC1pY29uLU5vb3NlOmJlZm9yZXtjb250ZW50OiJcZWIwOSJ9LnNvbGlkLWljb24tTm9ybWFsLVRleHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjBhIn0uc29saWQtaWNvbi1Ob3RlOmJlZm9yZXtjb250ZW50OiJcZWIwYiJ9LnNvbGlkLWljb24tTm90ZXBhZC0yOmJlZm9yZXtjb250ZW50OiJcZWIwYyJ9LnNvbGlkLWljb24tTm90ZXBhZDpiZWZvcmV7Y29udGVudDoiXGViMGQifS5zb2xpZC1pY29uLU51Y2xlYXI6YmVmb3Jle2NvbnRlbnQ6IlxlYjBlIn0uc29saWQtaWNvbi1OdW1iZXJpbmctTGlzdDpiZWZvcmV7Y29udGVudDoiXGViMGYifS5zb2xpZC1pY29uLU51cnNlOmJlZm9yZXtjb250ZW50OiJcZWIxMCJ9LnNvbGlkLWljb24tT2ZmaWNlLUxhbXA6YmVmb3Jle2NvbnRlbnQ6IlxlYjExIn0uc29saWQtaWNvbi1PZmZpY2U6YmVmb3Jle2NvbnRlbnQ6IlxlYjEyIn0uc29saWQtaWNvbi1PaWw6YmVmb3Jle2NvbnRlbnQ6IlxlYjEzIn0uc29saWQtaWNvbi1PbGQtQ2FtZXJhOmJlZm9yZXtjb250ZW50OiJcZWIxNCJ9LnNvbGlkLWljb24tT2xkLUNhc3NldHRlOmJlZm9yZXtjb250ZW50OiJcZWIxNSJ9LnNvbGlkLWljb24tT2xkLUNsb2NrOmJlZm9yZXtjb250ZW50OiJcZWIxNiJ9LnNvbGlkLWljb24tT2xkLVJhZGlvOmJlZm9yZXtjb250ZW50OiJcZWIxNyJ9LnNvbGlkLWljb24tT2xkLVN0aWNreTpiZWZvcmV7Y29udGVudDoiXGViMTgifS5zb2xpZC1pY29uLU9sZC1TdGlja3kyOmJlZm9yZXtjb250ZW50OiJcZWIxOSJ9LnNvbGlkLWljb24tT2xkLVRlbGVwaG9uZTpiZWZvcmV7Y29udGVudDoiXGViMWEifS5zb2xpZC1pY29uLU9sZC1UVjpiZWZvcmV7Y29udGVudDoiXGViMWIifS5zb2xpZC1pY29uLU9uLUFpcjpiZWZvcmV7Y29udGVudDoiXGViMWMifS5zb2xpZC1pY29uLU9uLU9mZi0yOmJlZm9yZXtjb250ZW50OiJcZWIxZCJ9LnNvbGlkLWljb24tT24tT2ZmLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYjFlIn0uc29saWQtaWNvbi1Pbi1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlYjFmIn0uc29saWQtaWNvbi1PbmUtRmluZ2VyOmJlZm9yZXtjb250ZW50OiJcZWIyMCJ9LnNvbGlkLWljb24tT25lLUZpbmdlclRvdWNoOmJlZm9yZXtjb250ZW50OiJcZWIyMSJ9LnNvbGlkLWljb24tT25lLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGViMjIifS5zb2xpZC1pY29uLU9wZW4tQmFuYW5hOmJlZm9yZXtjb250ZW50OiJcZWIyMyJ9LnNvbGlkLWljb24tT3Blbi1Cb29rOmJlZm9yZXtjb250ZW50OiJcZWIyNCJ9LnNvbGlkLWljb24tT3BlcmEtSG91c2U6YmVmb3Jle2NvbnRlbnQ6IlxlYjI1In0uc29saWQtaWNvbi1PcGVyYTpiZWZvcmV7Y29udGVudDoiXGViMjYifS5zb2xpZC1pY29uLU9wdGltaXphdGlvbjpiZWZvcmV7Y29udGVudDoiXGViMjcifS5zb2xpZC1pY29uLU9yaWVudGF0aW9uLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYjI4In0uc29saWQtaWNvbi1PcmllbnRhdGlvbi0zOmJlZm9yZXtjb250ZW50OiJcZWIyOSJ9LnNvbGlkLWljb24tT3JpZW50YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlYjJhIn0uc29saWQtaWNvbi1Pcmt1dDpiZWZvcmV7Y29udGVudDoiXGViMmIifS5zb2xpZC1pY29uLU9ybmFtZW50OmJlZm9yZXtjb250ZW50OiJcZWIyYyJ9LnNvbGlkLWljb24tT3Zlci1UaW1lOmJlZm9yZXtjb250ZW50OiJcZWIyZCJ9LnNvbGlkLWljb24tT3Zlci1UaW1lMjpiZWZvcmV7Y29udGVudDoiXGViMmUifS5zb2xpZC1pY29uLU93bDpiZWZvcmV7Y29udGVudDoiXGViMmYifS5zb2xpZC1pY29uLVBhYy1NYW46YmVmb3Jle2NvbnRlbnQ6IlxlYjMwIn0uc29saWQtaWNvbi1QYWludC1CcnVzaDpiZWZvcmV7Y29udGVudDoiXGViMzEifS5zb2xpZC1pY29uLVBhaW50LUJ1Y2tldDpiZWZvcmV7Y29udGVudDoiXGViMzIifS5zb2xpZC1pY29uLVBhaW50YnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxlYjMzIn0uc29saWQtaWNvbi1QYWxldHRlOmJlZm9yZXtjb250ZW50OiJcZWIzNCJ9LnNvbGlkLWljb24tUGFsbS1UcmVlOmJlZm9yZXtjb250ZW50OiJcZWIzNSJ9LnNvbGlkLWljb24tUGFuZGE6YmVmb3Jle2NvbnRlbnQ6IlxlYjM2In0uc29saWQtaWNvbi1QYW5vcmFtYTpiZWZvcmV7Y29udGVudDoiXGViMzcifS5zb2xpZC1pY29uLVBhbnRoZW9uOmJlZm9yZXtjb250ZW50OiJcZWIzOCJ9LnNvbGlkLWljb24tUGFudG9uZTpiZWZvcmV7Y29udGVudDoiXGViMzkifS5zb2xpZC1pY29uLVBhbnRzOmJlZm9yZXtjb250ZW50OiJcZWIzYSJ9LnNvbGlkLWljb24tUGFwZXItUGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYjNiIn0uc29saWQtaWNvbi1QYXBlcjpiZWZvcmV7Y29udGVudDoiXGViM2MifS5zb2xpZC1pY29uLVBhcmFzYWlsaW5nOmJlZm9yZXtjb250ZW50OiJcZWIzZCJ9LnNvbGlkLWljb24tUGFycm90OmJlZm9yZXtjb250ZW50OiJcZWIzZSJ9LnNvbGlkLWljb24tUGFzc3dvcmQtMnNob3BwaW5nOmJlZm9yZXtjb250ZW50OiJcZWIzZiJ9LnNvbGlkLWljb24tUGFzc3dvcmQtRmllbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjQwIn0uc29saWQtaWNvbi1QYXNzd29yZC1zaG9wcGluZzpiZWZvcmV7Y29udGVudDoiXGViNDEifS5zb2xpZC1pY29uLVBhc3N3b3JkOmJlZm9yZXtjb250ZW50OiJcZWI0MiJ9LnNvbGlkLWljb24tUGF1c2UtMjpiZWZvcmV7Y29udGVudDoiXGViNDMifS5zb2xpZC1pY29uLVBhdXNlOmJlZm9yZXtjb250ZW50OiJcZWI0NCJ9LnNvbGlkLWljb24tUGF3OmJlZm9yZXtjb250ZW50OiJcZWI0NSJ9LnNvbGlkLWljb24tUGF3bjpiZWZvcmV7Y29udGVudDoiXGViNDYifS5zb2xpZC1pY29uLVBheXBhbDpiZWZvcmV7Y29udGVudDoiXGViNDcifS5zb2xpZC1pY29uLVBlbi0yOmJlZm9yZXtjb250ZW50OiJcZWI0OCJ9LnNvbGlkLWljb24tUGVuLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYjQ5In0uc29saWQtaWNvbi1QZW4tNDpiZWZvcmV7Y29udGVudDoiXGViNGEifS5zb2xpZC1pY29uLVBlbi01OmJlZm9yZXtjb250ZW50OiJcZWI0YiJ9LnNvbGlkLWljb24tUGVuLTY6YmVmb3Jle2NvbnRlbnQ6IlxlYjRjIn0uc29saWQtaWNvbi1QZW46YmVmb3Jle2NvbnRlbnQ6IlxlYjRkIn0uc29saWQtaWNvbi1QZW5jaWwtUnVsZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYjRlIn0uc29saWQtaWNvbi1QZW5jaWw6YmVmb3Jle2NvbnRlbnQ6IlxlYjRmIn0uc29saWQtaWNvbi1QZW5ndWluOmJlZm9yZXtjb250ZW50OiJcZWI1MCJ9LnNvbGlkLWljb24tUGVudGFnb246YmVmb3Jle2NvbnRlbnQ6IlxlYjUxIn0uc29saWQtaWNvbi1QZW9wbGUtb25DbG91ZDpiZWZvcmV7Y29udGVudDoiXGViNTIifS5zb2xpZC1pY29uLVBlcHBlci13aXRoRmlyZTpiZWZvcmV7Y29udGVudDoiXGViNTMifS5zb2xpZC1pY29uLVBlcHBlcjpiZWZvcmV7Y29udGVudDoiXGViNTQifS5zb2xpZC1pY29uLVBldHJvbDpiZWZvcmV7Y29udGVudDoiXGViNTUifS5zb2xpZC1pY29uLVBldHJvbmFzLVRvd2VyOmJlZm9yZXtjb250ZW50OiJcZWI1NiJ9LnNvbGlkLWljb24tUGhpbGlwaW5lczpiZWZvcmV7Y29udGVudDoiXGViNTcifS5zb2xpZC1pY29uLVBob25lLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYjU4In0uc29saWQtaWNvbi1QaG9uZS0zOmJlZm9yZXtjb250ZW50OiJcZWI1OSJ9LnNvbGlkLWljb24tUGhvbmUtM0c6YmVmb3Jle2NvbnRlbnQ6IlxlYjVhIn0uc29saWQtaWNvbi1QaG9uZS00RzpiZWZvcmV7Y29udGVudDoiXGViNWIifS5zb2xpZC1pY29uLVBob25lLVNpbWNhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjVjIn0uc29saWQtaWNvbi1QaG9uZS1TTVM6YmVmb3Jle2NvbnRlbnQ6IlxlYjVkIn0uc29saWQtaWNvbi1QaG9uZS1XaWZpOmJlZm9yZXtjb250ZW50OiJcZWI1ZSJ9LnNvbGlkLWljb24tUGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYjVmIn0uc29saWQtaWNvbi1QaG90by0yOmJlZm9yZXtjb250ZW50OiJcZWI2MCJ9LnNvbGlkLWljb24tUGhvdG8tMzpiZWZvcmV7Y29udGVudDoiXGViNjEifS5zb2xpZC1pY29uLVBob3RvLUFsYnVtOmJlZm9yZXtjb250ZW50OiJcZWI2MiJ9LnNvbGlkLWljb24tUGhvdG8tQWxidW0yOmJlZm9yZXtjb250ZW50OiJcZWI2MyJ9LnNvbGlkLWljb24tUGhvdG8tQWxidW0zOmJlZm9yZXtjb250ZW50OiJcZWI2NCJ9LnNvbGlkLWljb24tUGhvdG86YmVmb3Jle2NvbnRlbnQ6IlxlYjY1In0uc29saWQtaWNvbi1QaG90b3M6YmVmb3Jle2NvbnRlbnQ6IlxlYjY2In0uc29saWQtaWNvbi1QaHlzaWNzOmJlZm9yZXtjb250ZW50OiJcZWI2NyJ9LnNvbGlkLWljb24tUGk6YmVmb3Jle2NvbnRlbnQ6IlxlYjY4In0uc29saWQtaWNvbi1QaWFubzpiZWZvcmV7Y29udGVudDoiXGViNjkifS5zb2xpZC1pY29uLVBpY2FzYTpiZWZvcmV7Y29udGVudDoiXGViNmEifS5zb2xpZC1pY29uLVBpZS1DaGFydDpiZWZvcmV7Y29udGVudDoiXGViNmIifS5zb2xpZC1pY29uLVBpZS1DaGFydDI6YmVmb3Jle2NvbnRlbnQ6IlxlYjZjIn0uc29saWQtaWNvbi1QaWUtQ2hhcnQzOmJlZm9yZXtjb250ZW50OiJcZWI2ZCJ9LnNvbGlkLWljb24tUGlsYXRlcy0yOmJlZm9yZXtjb250ZW50OiJcZWI2ZSJ9LnNvbGlkLWljb24tUGlsYXRlcy0zOmJlZm9yZXtjb250ZW50OiJcZWI2ZiJ9LnNvbGlkLWljb24tUGlsYXRlczpiZWZvcmV7Y29udGVudDoiXGViNzAifS5zb2xpZC1pY29uLVBpbG90OmJlZm9yZXtjb250ZW50OiJcZWI3MSJ9LnNvbGlkLWljb24tUGluY2g6YmVmb3Jle2NvbnRlbnQ6IlxlYjcyIn0uc29saWQtaWNvbi1QaW5nLVBvbmc6YmVmb3Jle2NvbnRlbnQ6IlxlYjczIn0uc29saWQtaWNvbi1QaW50ZXJlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlYjc0In0uc29saWQtaWNvbi1QaXBlOmJlZm9yZXtjb250ZW50OiJcZWI3NSJ9LnNvbGlkLWljb24tUGlwZXR0ZTpiZWZvcmV7Y29udGVudDoiXGViNzYifS5zb2xpZC1pY29uLVBpcmFtaWRzOmJlZm9yZXtjb250ZW50OiJcZWI3NyJ9LnNvbGlkLWljb24tUGlzY2VzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYjc4In0uc29saWQtaWNvbi1QaXNjZXM6YmVmb3Jle2NvbnRlbnQ6IlxlYjc5In0uc29saWQtaWNvbi1QaXp6YS1TbGljZTpiZWZvcmV7Y29udGVudDoiXGViN2EifS5zb2xpZC1pY29uLVBpenphOmJlZm9yZXtjb250ZW50OiJcZWI3YiJ9LnNvbGlkLWljb24tUGxhbmUtMjpiZWZvcmV7Y29udGVudDoiXGViN2MifS5zb2xpZC1pY29uLVBsYW5lOmJlZm9yZXtjb250ZW50OiJcZWI3ZCJ9LnNvbGlkLWljb24tUGxhbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYjdlIn0uc29saWQtaWNvbi1QbGFzbWlkOmJlZm9yZXtjb250ZW50OiJcZWI3ZiJ9LnNvbGlkLWljb24tUGxhc3RlcjpiZWZvcmV7Y29udGVudDoiXGViODAifS5zb2xpZC1pY29uLVBsYXN0aWMtQ3VwUGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYjgxIn0uc29saWQtaWNvbi1QbGFzdGljLUN1cFBob25lMjpiZWZvcmV7Y29udGVudDoiXGViODIifS5zb2xpZC1pY29uLVBsYXRlOmJlZm9yZXtjb250ZW50OiJcZWI4MyJ9LnNvbGlkLWljb24tUGxhdGVzOmJlZm9yZXtjb250ZW50OiJcZWI4NCJ9LnNvbGlkLWljb24tUGxheG86YmVmb3Jle2NvbnRlbnQ6IlxlYjg1In0uc29saWQtaWNvbi1QbGF5LU11c2ljOmJlZm9yZXtjb250ZW50OiJcZWI4NiJ9LnNvbGlkLWljb24tUGx1Zy1JbjpiZWZvcmV7Y29udGVudDoiXGViODcifS5zb2xpZC1pY29uLVBsdWctSW4yOmJlZm9yZXtjb250ZW50OiJcZWI4OCJ9LnNvbGlkLWljb24tUGx1cms6YmVmb3Jle2NvbnRlbnQ6IlxlYjg5In0uc29saWQtaWNvbi1Qb2ludGVyOmJlZm9yZXtjb250ZW50OiJcZWI4YSJ9LnNvbGlkLWljb24tUG9sYW5kOmJlZm9yZXtjb250ZW50OiJcZWI4YiJ9LnNvbGlkLWljb24tUG9saWNlLU1hbjpiZWZvcmV7Y29udGVudDoiXGViOGMifS5zb2xpZC1pY29uLVBvbGljZS1TdGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZWI4ZCJ9LnNvbGlkLWljb24tUG9saWNlLVdvbWFuOmJlZm9yZXtjb250ZW50OiJcZWI4ZSJ9LnNvbGlkLWljb24tUG9saWNlOmJlZm9yZXtjb250ZW50OiJcZWI4ZiJ9LnNvbGlkLWljb24tUG9sby1TaGlydDpiZWZvcmV7Y29udGVudDoiXGViOTAifS5zb2xpZC1pY29uLVBvcnRyYWl0OmJlZm9yZXtjb250ZW50OiJcZWI5MSJ9LnNvbGlkLWljb24tUG9ydHVnYWw6YmVmb3Jle2NvbnRlbnQ6IlxlYjkyIn0uc29saWQtaWNvbi1Qb3N0LU1haWw6YmVmb3Jle2NvbnRlbnQ6IlxlYjkzIn0uc29saWQtaWNvbi1Qb3N0LU1haWwyOmJlZm9yZXtjb250ZW50OiJcZWI5NCJ9LnNvbGlkLWljb24tUG9zdC1PZmZpY2U6YmVmb3Jle2NvbnRlbnQ6IlxlYjk1In0uc29saWQtaWNvbi1Qb3N0LVNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlYjk2In0uc29saWQtaWNvbi1Qb3N0LVNpZ24yd2F5czpiZWZvcmV7Y29udGVudDoiXGViOTcifS5zb2xpZC1pY29uLVBvc3Rlcm91czpiZWZvcmV7Y29udGVudDoiXGViOTgifS5zb2xpZC1pY29uLVBvdW5kLVNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlYjk5In0uc29saWQtaWNvbi1Qb3VuZC1TaWduMjpiZWZvcmV7Y29udGVudDoiXGViOWEifS5zb2xpZC1pY29uLVBvdW5kOmJlZm9yZXtjb250ZW50OiJcZWI5YiJ9LnNvbGlkLWljb24tUG93ZXItMjpiZWZvcmV7Y29udGVudDoiXGViOWMifS5zb2xpZC1pY29uLVBvd2VyLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYjlkIn0uc29saWQtaWNvbi1Qb3dlci1DYWJsZTpiZWZvcmV7Y29udGVudDoiXGViOWUifS5zb2xpZC1pY29uLVBvd2VyLVN0YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlYjlmIn0uc29saWQtaWNvbi1Qb3dlcjpiZWZvcmV7Y29udGVudDoiXGViYTAifS5zb2xpZC1pY29uLVByYXRlcjpiZWZvcmV7Y29udGVudDoiXGViYTEifS5zb2xpZC1pY29uLVByZXNlbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmEyIn0uc29saWQtaWNvbi1QcmVzZW50czpiZWZvcmV7Y29udGVudDoiXGViYTMifS5zb2xpZC1pY29uLVByZXNzOmJlZm9yZXtjb250ZW50OiJcZWJhNCJ9LnNvbGlkLWljb24tUHJldmlldzpiZWZvcmV7Y29udGVudDoiXGViYTUifS5zb2xpZC1pY29uLVByZXZpb3VzOmJlZm9yZXtjb250ZW50OiJcZWJhNiJ9LnNvbGlkLWljb24tUHJpY2luZzpiZWZvcmV7Y29udGVudDoiXGViYTcifS5zb2xpZC1pY29uLVByaW50ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYmE4In0uc29saWQtaWNvbi1Qcm9mZXNzb3I6YmVmb3Jle2NvbnRlbnQ6IlxlYmE5In0uc29saWQtaWNvbi1Qcm9maWxlOmJlZm9yZXtjb250ZW50OiJcZWJhYSJ9LnNvbGlkLWljb24tUHJvamVjdDpiZWZvcmV7Y29udGVudDoiXGViYWIifS5zb2xpZC1pY29uLVByb2plY3Rvci0yOmJlZm9yZXtjb250ZW50OiJcZWJhYyJ9LnNvbGlkLWljb24tUHJvamVjdG9yOmJlZm9yZXtjb250ZW50OiJcZWJhZCJ9LnNvbGlkLWljb24tUHVsc2U6YmVmb3Jle2NvbnRlbnQ6IlxlYmFlIn0uc29saWQtaWNvbi1QdW1wa2luOmJlZm9yZXtjb250ZW50OiJcZWJhZiJ9LnNvbGlkLWljb24tUHVuazpiZWZvcmV7Y29udGVudDoiXGViYjAifS5zb2xpZC1pY29uLVB1bmtlcjpiZWZvcmV7Y29udGVudDoiXGViYjEifS5zb2xpZC1pY29uLVB1enpsZTpiZWZvcmV7Y29udGVudDoiXGViYjIifS5zb2xpZC1pY29uLVFJSzpiZWZvcmV7Y29udGVudDoiXGViYjMifS5zb2xpZC1pY29uLVFSLUNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmI0In0uc29saWQtaWNvbi1RdWVlbi0yOmJlZm9yZXtjb250ZW50OiJcZWJiNSJ9LnNvbGlkLWljb24tUXVlZW46YmVmb3Jle2NvbnRlbnQ6IlxlYmI2In0uc29saWQtaWNvbi1RdWlsbC0yOmJlZm9yZXtjb250ZW50OiJcZWJiNyJ9LnNvbGlkLWljb24tUXVpbGwtMzpiZWZvcmV7Y29udGVudDoiXGViYjgifS5zb2xpZC1pY29uLVF1aWxsOmJlZm9yZXtjb250ZW50OiJcZWJiOSJ9LnNvbGlkLWljb24tUXVvdGVzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYmJhIn0uc29saWQtaWNvbi1RdW90ZXM6YmVmb3Jle2NvbnRlbnQ6IlxlYmJiIn0uc29saWQtaWNvbi1SYWRpbzpiZWZvcmV7Y29udGVudDoiXGViYmMifS5zb2xpZC1pY29uLVJhZGlvYWN0aXZlOmJlZm9yZXtjb250ZW50OiJcZWJiZCJ9LnNvbGlkLWljb24tUmFmdGluZzpiZWZvcmV7Y29udGVudDoiXGViYmUifS5zb2xpZC1pY29uLVJhaW4tRHJvcDpiZWZvcmV7Y29udGVudDoiXGViYmYifS5zb2xpZC1pY29uLVJhaW5ib3ctMjpiZWZvcmV7Y29udGVudDoiXGViYzAifS5zb2xpZC1pY29uLVJhaW5ib3c6YmVmb3Jle2NvbnRlbnQ6IlxlYmMxIn0uc29saWQtaWNvbi1SYW06YmVmb3Jle2NvbnRlbnQ6IlxlYmMyIn0uc29saWQtaWNvbi1SYXp6b3ItQmxhZGU6YmVmb3Jle2NvbnRlbnQ6IlxlYmMzIn0uc29saWQtaWNvbi1SZWNlaXB0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlYmM0In0uc29saWQtaWNvbi1SZWNlaXB0LTM6YmVmb3Jle2NvbnRlbnQ6IlxlYmM1In0uc29saWQtaWNvbi1SZWNlaXB0LTQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmM2In0uc29saWQtaWNvbi1SZWNlaXB0OmJlZm9yZXtjb250ZW50OiJcZWJjNyJ9LnNvbGlkLWljb24tUmVjb3JkLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYmM4In0uc29saWQtaWNvbi1SZWNvcmQtTWVkaWE6YmVmb3Jle2NvbnRlbnQ6IlxlYmM5In0uc29saWQtaWNvbi1SZWNvcmQtTXVzaWM6YmVmb3Jle2NvbnRlbnQ6IlxlYmNhIn0uc29saWQtaWNvbi1SZWNvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmNiIn0uc29saWQtaWNvbi1SZWN5Y2xpbmctMjpiZWZvcmV7Y29udGVudDoiXGViY2MifS5zb2xpZC1pY29uLVJlY3ljbGluZzpiZWZvcmV7Y29udGVudDoiXGViY2QifS5zb2xpZC1pY29uLVJlZGRpdDpiZWZvcmV7Y29udGVudDoiXGViY2UifS5zb2xpZC1pY29uLVJlZGhhdDpiZWZvcmV7Y29udGVudDoiXGViY2YifS5zb2xpZC1pY29uLVJlZGlyZWN0OmJlZm9yZXtjb250ZW50OiJcZWJkMCJ9LnNvbGlkLWljb24tUmVkbzpiZWZvcmV7Y29udGVudDoiXGViZDEifS5zb2xpZC1pY29uLVJlZWw6YmVmb3Jle2NvbnRlbnQ6IlxlYmQyIn0uc29saWQtaWNvbi1SZWZpbmVyeTpiZWZvcmV7Y29udGVudDoiXGViZDMifS5zb2xpZC1pY29uLVJlZnJlc2gtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWJkNCJ9LnNvbGlkLWljb24tUmVmcmVzaDpiZWZvcmV7Y29udGVudDoiXGViZDUifS5zb2xpZC1pY29uLVJlbG9hZC0yOmJlZm9yZXtjb250ZW50OiJcZWJkNiJ9LnNvbGlkLWljb24tUmVsb2FkLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYmQ3In0uc29saWQtaWNvbi1SZWxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmQ4In0uc29saWQtaWNvbi1SZW1vdGUtQ29udHJvbGw6YmVmb3Jle2NvbnRlbnQ6IlxlYmQ5In0uc29saWQtaWNvbi1SZW1vdGUtQ29udHJvbGwyOmJlZm9yZXtjb250ZW50OiJcZWJkYSJ9LnNvbGlkLWljb24tUmVtb3ZlLUJhZzpiZWZvcmV7Y29udGVudDoiXGViZGIifS5zb2xpZC1pY29uLVJlbW92ZS1CYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmRjIn0uc29saWQtaWNvbi1SZW1vdmUtQ2FydDpiZWZvcmV7Y29udGVudDoiXGViZGQifS5zb2xpZC1pY29uLVJlbW92ZS1GaWxlOmJlZm9yZXtjb250ZW50OiJcZWJkZSJ9LnNvbGlkLWljb24tUmVtb3ZlLVVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYmRmIn0uc29saWQtaWNvbi1SZW1vdmUtV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWJlMCJ9LnNvbGlkLWljb24tUmVtb3ZlOmJlZm9yZXtjb250ZW50OiJcZWJlMSJ9LnNvbGlkLWljb24tUmVuYW1lOmJlZm9yZXtjb250ZW50OiJcZWJlMiJ9LnNvbGlkLWljb24tUmVwYWlyOmJlZm9yZXtjb250ZW50OiJcZWJlMyJ9LnNvbGlkLWljb24tUmVwZWF0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlYmU0In0uc29saWQtaWNvbi1SZXBlYXQtMzpiZWZvcmV7Y29udGVudDoiXGViZTUifS5zb2xpZC1pY29uLVJlcGVhdC00OmJlZm9yZXtjb250ZW50OiJcZWJlNiJ9LnNvbGlkLWljb24tUmVwZWF0LTU6YmVmb3Jle2NvbnRlbnQ6IlxlYmU3In0uc29saWQtaWNvbi1SZXBlYXQtNjpiZWZvcmV7Y29udGVudDoiXGViZTgifS5zb2xpZC1pY29uLVJlcGVhdC03OmJlZm9yZXtjb250ZW50OiJcZWJlOSJ9LnNvbGlkLWljb24tUmVwZWF0OmJlZm9yZXtjb250ZW50OiJcZWJlYSJ9LnNvbGlkLWljb24tUmVzZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmViIn0uc29saWQtaWNvbi1SZXNpemU6YmVmb3Jle2NvbnRlbnQ6IlxlYmVjIn0uc29saWQtaWNvbi1SZXN0b3JlLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGViZWQifS5zb2xpZC1pY29uLVJldG91Y2hpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlYmVlIn0uc29saWQtaWNvbi1SZXRyby1DYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxlYmVmIn0uc29saWQtaWNvbi1SZXRybzpiZWZvcmV7Y29udGVudDoiXGViZjAifS5zb2xpZC1pY29uLVJldHdlZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmYxIn0uc29saWQtaWNvbi1SZXZlcmJuYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlYmYyIn0uc29saWQtaWNvbi1SZXdpbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmYzIn0uc29saWQtaWNvbi1SR0I6YmVmb3Jle2NvbnRlbnQ6IlxlYmY0In0uc29saWQtaWNvbi1SaWJib24tMjpiZWZvcmV7Y29udGVudDoiXGViZjUifS5zb2xpZC1pY29uLVJpYmJvbi0zOmJlZm9yZXtjb250ZW50OiJcZWJmNiJ9LnNvbGlkLWljb24tUmliYm9uOmJlZm9yZXtjb250ZW50OiJcZWJmNyJ9LnNvbGlkLWljb24tUmlnaHQtMjpiZWZvcmV7Y29udGVudDoiXGViZjgifS5zb2xpZC1pY29uLVJpZ2h0LTM6YmVmb3Jle2NvbnRlbnQ6IlxlYmY5In0uc29saWQtaWNvbi1SaWdodC00OmJlZm9yZXtjb250ZW50OiJcZWJmYSJ9LnNvbGlkLWljb24tUmlnaHQtVG9MZWZ0OmJlZm9yZXtjb250ZW50OiJcZWJmYiJ9LnNvbGlkLWljb24tUmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlYmZjIn0uc29saWQtaWNvbi1Sb2FkLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYmZkIn0uc29saWQtaWNvbi1Sb2FkLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYmZlIn0uc29saWQtaWNvbi1Sb2FkOmJlZm9yZXtjb250ZW50OiJcZWJmZiJ9LnNvbGlkLWljb24tUm9ib3QtMjpiZWZvcmV7Y29udGVudDoiXGVjMDAifS5zb2xpZC1pY29uLVJvYm90OmJlZm9yZXtjb250ZW50OiJcZWMwMSJ9LnNvbGlkLWljb24tUm9jay1hbmRSb2xsOmJlZm9yZXtjb250ZW50OiJcZWMwMiJ9LnNvbGlkLWljb24tUm9ja2V0OmJlZm9yZXtjb250ZW50OiJcZWMwMyJ9LnNvbGlkLWljb24tUm9sbGVyOmJlZm9yZXtjb250ZW50OiJcZWMwNCJ9LnNvbGlkLWljb24tUm9vZjpiZWZvcmV7Y29udGVudDoiXGVjMDUifS5zb2xpZC1pY29uLVJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxlYzA2In0uc29saWQtaWNvbi1Sb3RhdGUtR2VzdHVyZTpiZWZvcmV7Y29udGVudDoiXGVjMDcifS5zb2xpZC1pY29uLVJvdGF0ZS1HZXN0dXJlMjpiZWZvcmV7Y29udGVudDoiXGVjMDgifS5zb2xpZC1pY29uLVJvdGF0ZS1HZXN0dXJlMzpiZWZvcmV7Y29udGVudDoiXGVjMDkifS5zb2xpZC1pY29uLVJvdGF0aW9uLTM5MDpiZWZvcmV7Y29udGVudDoiXGVjMGEifS5zb2xpZC1pY29uLVJvdGF0aW9uOmJlZm9yZXtjb250ZW50OiJcZWMwYiJ9LnNvbGlkLWljb24tUm91dGVyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzBjIn0uc29saWQtaWNvbi1Sb3V0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzBkIn0uc29saWQtaWNvbi1SU1M6YmVmb3Jle2NvbnRlbnQ6IlxlYzBlIn0uc29saWQtaWNvbi1SdWxlci0yOmJlZm9yZXtjb250ZW50OiJcZWMwZiJ9LnNvbGlkLWljb24tUnVsZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzEwIn0uc29saWQtaWNvbi1SdW5uaW5nLVNob2VzOmJlZm9yZXtjb250ZW50OiJcZWMxMSJ9LnNvbGlkLWljb24tUnVubmluZzpiZWZvcmV7Y29udGVudDoiXGVjMTIifS5zb2xpZC1pY29uLVNhZmFyaTpiZWZvcmV7Y29udGVudDoiXGVjMTMifS5zb2xpZC1pY29uLVNhZmUtQm94OmJlZm9yZXtjb250ZW50OiJcZWMxNCJ9LnNvbGlkLWljb24tU2FmZS1Cb3gyOmJlZm9yZXtjb250ZW50OiJcZWMxNSJ9LnNvbGlkLWljb24tU2FmZXR5LVBpbkNsb3NlOmJlZm9yZXtjb250ZW50OiJcZWMxNiJ9LnNvbGlkLWljb24tU2FmZXR5LVBpbk9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlYzE3In0uc29saWQtaWNvbi1TYWdpdHRhcnVzLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzE4In0uc29saWQtaWNvbi1TYWdpdHRhcnVzOmJlZm9yZXtjb250ZW50OiJcZWMxOSJ9LnNvbGlkLWljb24tU2FpbGluZy1TaGlwOmJlZm9yZXtjb250ZW50OiJcZWMxYSJ9LnNvbGlkLWljb24tU2FuZC13YXRjaDpiZWZvcmV7Y29udGVudDoiXGVjMWIifS5zb2xpZC1pY29uLVNhbmQtd2F0Y2gyOmJlZm9yZXtjb250ZW50OiJcZWMxYyJ9LnNvbGlkLWljb24tU2FudGEtQ2xhdXM6YmVmb3Jle2NvbnRlbnQ6IlxlYzFkIn0uc29saWQtaWNvbi1TYW50YS1DbGF1czI6YmVmb3Jle2NvbnRlbnQ6IlxlYzFlIn0uc29saWQtaWNvbi1TYW50YS1vblNsZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzFmIn0uc29saWQtaWNvbi1TYXRlbGl0ZS0yOmJlZm9yZXtjb250ZW50OiJcZWMyMCJ9LnNvbGlkLWljb24tU2F0ZWxpdGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzIxIn0uc29saWQtaWNvbi1TYXZlLVdpbmRvdzpiZWZvcmV7Y29udGVudDoiXGVjMjIifS5zb2xpZC1pY29uLVNhdmU6YmVmb3Jle2NvbnRlbnQ6IlxlYzIzIn0uc29saWQtaWNvbi1TYXc6YmVmb3Jle2NvbnRlbnQ6IlxlYzI0In0uc29saWQtaWNvbi1TYXhvcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlYzI1In0uc29saWQtaWNvbi1TY2FsZTpiZWZvcmV7Y29udGVudDoiXGVjMjYifS5zb2xpZC1pY29uLVNjYXJmOmJlZm9yZXtjb250ZW50OiJcZWMyNyJ9LnNvbGlkLWljb24tU2Npc3NvcjpiZWZvcmV7Y29udGVudDoiXGVjMjgifS5zb2xpZC1pY29uLVNjb290ZXItRnJvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzI5In0uc29saWQtaWNvbi1TY29vdGVyOmJlZm9yZXtjb250ZW50OiJcZWMyYSJ9LnNvbGlkLWljb24tU2NvcnBpby0yOmJlZm9yZXtjb250ZW50OiJcZWMyYiJ9LnNvbGlkLWljb24tU2NvcnBpbzpiZWZvcmV7Y29udGVudDoiXGVjMmMifS5zb2xpZC1pY29uLVNjb3RsYW5kOmJlZm9yZXtjb250ZW50OiJcZWMyZCJ9LnNvbGlkLWljb24tU2NyZXdkcml2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlYzJlIn0uc29saWQtaWNvbi1TY3JvbGwtRmFzdDpiZWZvcmV7Y29udGVudDoiXGVjMmYifS5zb2xpZC1pY29uLVNjcm9sbDpiZWZvcmV7Y29udGVudDoiXGVjMzAifS5zb2xpZC1pY29uLVNjcm9sbGVyLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzMxIn0uc29saWQtaWNvbi1TY3JvbGxlcjpiZWZvcmV7Y29udGVudDoiXGVjMzIifS5zb2xpZC1pY29uLVNlYS1Eb2c6YmVmb3Jle2NvbnRlbnQ6IlxlYzMzIn0uc29saWQtaWNvbi1TZWFyY2gtb25DbG91ZDpiZWZvcmV7Y29udGVudDoiXGVjMzQifS5zb2xpZC1pY29uLVNlYXJjaC1QZW9wbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzM1In0uc29saWQtaWNvbi1zZWNvdW5kOmJlZm9yZXtjb250ZW50OiJcZWMzNiJ9LnNvbGlkLWljb24tc2Vjb3VuZDI6YmVmb3Jle2NvbnRlbnQ6IlxlYzM3In0uc29saWQtaWNvbi1TZWN1cml0eS1CbG9jazpiZWZvcmV7Y29udGVudDoiXGVjMzgifS5zb2xpZC1pY29uLVNlY3VyaXR5LUJ1ZzpiZWZvcmV7Y29udGVudDoiXGVjMzkifS5zb2xpZC1pY29uLVNlY3VyaXR5LUNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGVjM2EifS5zb2xpZC1pY29uLVNlY3VyaXR5LUNoZWNrOmJlZm9yZXtjb250ZW50OiJcZWMzYiJ9LnNvbGlkLWljb24tU2VjdXJpdHktU2V0dGluZ3M6YmVmb3Jle2NvbnRlbnQ6IlxlYzNjIn0uc29saWQtaWNvbi1TZWN1cml0eS1TbWlsZXk6YmVmb3Jle2NvbnRlbnQ6IlxlYzNkIn0uc29saWQtaWNvbi1TZWN1cml5LVJlbW92ZTpiZWZvcmV7Y29udGVudDoiXGVjM2UifS5zb2xpZC1pY29uLVNlZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzNmIn0uc29saWQtaWNvbi1TZWxmaWU6YmVmb3Jle2NvbnRlbnQ6IlxlYzQwIn0uc29saWQtaWNvbi1TZXJiaWE6YmVmb3Jle2NvbnRlbnQ6IlxlYzQxIn0uc29saWQtaWNvbi1TZXJ2ZXItMjpiZWZvcmV7Y29udGVudDoiXGVjNDIifS5zb2xpZC1pY29uLVNlcnZlcjpiZWZvcmV7Y29udGVudDoiXGVjNDMifS5zb2xpZC1pY29uLVNlcnZlcnM6YmVmb3Jle2NvbnRlbnQ6IlxlYzQ0In0uc29saWQtaWNvbi1TZXR0aW5ncy1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYzQ1In0uc29saWQtaWNvbi1TZXdpbmctTWFjaGluZTpiZWZvcmV7Y29udGVudDoiXGVjNDYifS5zb2xpZC1pY29uLVNleHVhbDpiZWZvcmV7Y29udGVudDoiXGVjNDcifS5zb2xpZC1pY29uLVNoYXJlLW9uQ2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzQ4In0uc29saWQtaWNvbi1TaGFyZS1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlYzQ5In0uc29saWQtaWNvbi1TaGFyZTpiZWZvcmV7Y29udGVudDoiXGVjNGEifS5zb2xpZC1pY29uLVNoYXJldGhpczpiZWZvcmV7Y29udGVudDoiXGVjNGIifS5zb2xpZC1pY29uLVNoYXJrOmJlZm9yZXtjb250ZW50OiJcZWM0YyJ9LnNvbGlkLWljb24tU2hlZXA6YmVmb3Jle2NvbnRlbnQ6IlxlYzRkIn0uc29saWQtaWNvbi1TaGVyaWZmLUJhZGdlOmJlZm9yZXtjb250ZW50OiJcZWM0ZSJ9LnNvbGlkLWljb24tU2hpZWxkOmJlZm9yZXtjb250ZW50OiJcZWM0ZiJ9LnNvbGlkLWljb24tU2hpcC0yOmJlZm9yZXtjb250ZW50OiJcZWM1MCJ9LnNvbGlkLWljb24tU2hpcDpiZWZvcmV7Y29udGVudDoiXGVjNTEifS5zb2xpZC1pY29uLVNoaXJ0OmJlZm9yZXtjb250ZW50OiJcZWM1MiJ9LnNvbGlkLWljb24tU2hvZXMtMjpiZWZvcmV7Y29udGVudDoiXGVjNTMifS5zb2xpZC1pY29uLVNob2VzLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYzU0In0uc29saWQtaWNvbi1TaG9lczpiZWZvcmV7Y29udGVudDoiXGVjNTUifS5zb2xpZC1pY29uLVNob3AtMjpiZWZvcmV7Y29udGVudDoiXGVjNTYifS5zb2xpZC1pY29uLVNob3AtMzpiZWZvcmV7Y29udGVudDoiXGVjNTcifS5zb2xpZC1pY29uLVNob3AtNDpiZWZvcmV7Y29udGVudDoiXGVjNTgifS5zb2xpZC1pY29uLVNob3A6YmVmb3Jle2NvbnRlbnQ6IlxlYzU5In0uc29saWQtaWNvbi1TaG9wcGluZy1CYWc6YmVmb3Jle2NvbnRlbnQ6IlxlYzVhIn0uc29saWQtaWNvbi1TaG9wcGluZy1CYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzViIn0uc29saWQtaWNvbi1TaG9wcGluZy1DYXJ0OmJlZm9yZXtjb250ZW50OiJcZWM1YyJ9LnNvbGlkLWljb24tU2hvcnQtUGFudHM6YmVmb3Jle2NvbnRlbnQ6IlxlYzVkIn0uc29saWQtaWNvbi1TaG91dHdpcmU6YmVmb3Jle2NvbnRlbnQ6IlxlYzVlIn0uc29saWQtaWNvbi1TaG92ZWw6YmVmb3Jle2NvbnRlbnQ6IlxlYzVmIn0uc29saWQtaWNvbi1TaHVmZmxlLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzYwIn0uc29saWQtaWNvbi1TaHVmZmxlLTM6YmVmb3Jle2NvbnRlbnQ6IlxlYzYxIn0uc29saWQtaWNvbi1TaHVmZmxlLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzYyIn0uc29saWQtaWNvbi1TaHVmZmxlOmJlZm9yZXtjb250ZW50OiJcZWM2MyJ9LnNvbGlkLWljb24tU2h1dHRlcjpiZWZvcmV7Y29udGVudDoiXGVjNjQifS5zb2xpZC1pY29uLVNpZGViYXItV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWM2NSJ9LnNvbGlkLWljb24tU2lnbmFsOmJlZm9yZXtjb250ZW50OiJcZWM2NiJ9LnNvbGlkLWljb24tU2luZ2Fwb3JlOmJlZm9yZXtjb250ZW50OiJcZWM2NyJ9LnNvbGlkLWljb24tU2thdGUtU2hvZXM6YmVmb3Jle2NvbnRlbnQ6IlxlYzY4In0uc29saWQtaWNvbi1Ta2F0ZWJvYXJkLTI6YmVmb3Jle2NvbnRlbnQ6IlxlYzY5In0uc29saWQtaWNvbi1Ta2F0ZWJvYXJkOmJlZm9yZXtjb250ZW50OiJcZWM2YSJ9LnNvbGlkLWljb24tU2tlbGV0b246YmVmb3Jle2NvbnRlbnQ6IlxlYzZiIn0uc29saWQtaWNvbi1Ta2k6YmVmb3Jle2NvbnRlbnQ6IlxlYzZjIn0uc29saWQtaWNvbi1Ta2lydDpiZWZvcmV7Y29udGVudDoiXGVjNmQifS5zb2xpZC1pY29uLVNrcmlsbDpiZWZvcmV7Y29udGVudDoiXGVjNmUifS5zb2xpZC1pY29uLVNrdWxsOmJlZm9yZXtjb250ZW50OiJcZWM2ZiJ9LnNvbGlkLWljb24tU2t5ZGl2aW5nOmJlZm9yZXtjb250ZW50OiJcZWM3MCJ9LnNvbGlkLWljb24tU2t5cGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzcxIn0uc29saWQtaWNvbi1TbGVkLXdpdGhHaWZ0czpiZWZvcmV7Y29udGVudDoiXGVjNzIifS5zb2xpZC1pY29uLVNsZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzczIn0uc29saWQtaWNvbi1TbGVlcGluZzpiZWZvcmV7Y29udGVudDoiXGVjNzQifS5zb2xpZC1pY29uLVNsZWV0OmJlZm9yZXtjb250ZW50OiJcZWM3NSJ9LnNvbGlkLWljb24tU2xpcHBlcnM6YmVmb3Jle2NvbnRlbnQ6IlxlYzc2In0uc29saWQtaWNvbi1TbWFydDpiZWZvcmV7Y29udGVudDoiXGVjNzcifS5zb2xpZC1pY29uLVNtYXJ0cGhvbmUtMjpiZWZvcmV7Y29udGVudDoiXGVjNzgifS5zb2xpZC1pY29uLVNtYXJ0cGhvbmUtMzpiZWZvcmV7Y29udGVudDoiXGVjNzkifS5zb2xpZC1pY29uLVNtYXJ0cGhvbmUtNDpiZWZvcmV7Y29udGVudDoiXGVjN2EifS5zb2xpZC1pY29uLVNtYXJ0cGhvbmUtU2VjdXJlOmJlZm9yZXtjb250ZW50OiJcZWM3YiJ9LnNvbGlkLWljb24tU21hcnRwaG9uZTpiZWZvcmV7Y29udGVudDoiXGVjN2MifS5zb2xpZC1pY29uLVNtaWxlOmJlZm9yZXtjb250ZW50OiJcZWM3ZCJ9LnNvbGlkLWljb24tU21va2luZy1BcmVhOmJlZm9yZXtjb250ZW50OiJcZWM3ZSJ9LnNvbGlkLWljb24tU21va2luZy1QaXBlOmJlZm9yZXtjb250ZW50OiJcZWM3ZiJ9LnNvbGlkLWljb24tU25ha2U6YmVmb3Jle2NvbnRlbnQ6IlxlYzgwIn0uc29saWQtaWNvbi1Tbm9ya2VsOmJlZm9yZXtjb250ZW50OiJcZWM4MSJ9LnNvbGlkLWljb24tU25vdy0yOmJlZm9yZXtjb250ZW50OiJcZWM4MiJ9LnNvbGlkLWljb24tU25vdy1Eb21lOmJlZm9yZXtjb250ZW50OiJcZWM4MyJ9LnNvbGlkLWljb24tU25vdy1TdG9ybTpiZWZvcmV7Y29udGVudDoiXGVjODQifS5zb2xpZC1pY29uLVNub3c6YmVmb3Jle2NvbnRlbnQ6IlxlYzg1In0uc29saWQtaWNvbi1Tbm93Zmxha2UtMjpiZWZvcmV7Y29udGVudDoiXGVjODYifS5zb2xpZC1pY29uLVNub3dmbGFrZS0zOmJlZm9yZXtjb250ZW50OiJcZWM4NyJ9LnNvbGlkLWljb24tU25vd2ZsYWtlLTQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzg4In0uc29saWQtaWNvbi1Tbm93Zmxha2U6YmVmb3Jle2NvbnRlbnQ6IlxlYzg5In0uc29saWQtaWNvbi1Tbm93bWFuOmJlZm9yZXtjb250ZW50OiJcZWM4YSJ9LnNvbGlkLWljb24tU29jY2VyLUJhbGw6YmVmb3Jle2NvbnRlbnQ6IlxlYzhiIn0uc29saWQtaWNvbi1Tb2NjZXItU2hvZXM6YmVmb3Jle2NvbnRlbnQ6IlxlYzhjIn0uc29saWQtaWNvbi1Tb2NrczpiZWZvcmV7Y29udGVudDoiXGVjOGQifS5zb2xpZC1pY29uLVNvbGFyOmJlZm9yZXtjb250ZW50OiJcZWM4ZSJ9LnNvbGlkLWljb24tU291bmQtV2F2ZTpiZWZvcmV7Y29udGVudDoiXGVjOGYifS5zb2xpZC1pY29uLVNvdW5kOmJlZm9yZXtjb250ZW50OiJcZWM5MCJ9LnNvbGlkLWljb24tU291bmRjbG91ZDpiZWZvcmV7Y29udGVudDoiXGVjOTEifS5zb2xpZC1pY29uLVNvdXA6YmVmb3Jle2NvbnRlbnQ6IlxlYzkyIn0uc29saWQtaWNvbi1Tb3V0aC1BZnJpY2E6YmVmb3Jle2NvbnRlbnQ6IlxlYzkzIn0uc29saWQtaWNvbi1TcGFjZS1OZWVkbGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzk0In0uc29saWQtaWNvbi1TcGFpbjpiZWZvcmV7Y29udGVudDoiXGVjOTUifS5zb2xpZC1pY29uLVNwYW0tTWFpbDpiZWZvcmV7Y29udGVudDoiXGVjOTYifS5zb2xpZC1pY29uLVNwZWFjaC1CdWJibGU6YmVmb3Jle2NvbnRlbnQ6IlxlYzk3In0uc29saWQtaWNvbi1TcGVhY2gtQnViYmxlMjpiZWZvcmV7Y29udGVudDoiXGVjOTgifS5zb2xpZC1pY29uLVNwZWFjaC1CdWJibGUzOmJlZm9yZXtjb250ZW50OiJcZWM5OSJ9LnNvbGlkLWljb24tU3BlYWNoLUJ1YmJsZTQ6YmVmb3Jle2NvbnRlbnQ6IlxlYzlhIn0uc29saWQtaWNvbi1TcGVhY2gtQnViYmxlNTpiZWZvcmV7Y29udGVudDoiXGVjOWIifS5zb2xpZC1pY29uLVNwZWFjaC1CdWJibGU2OmJlZm9yZXtjb250ZW50OiJcZWM5YyJ9LnNvbGlkLWljb24tU3BlYWNoLUJ1YmJsZTc6YmVmb3Jle2NvbnRlbnQ6IlxlYzlkIn0uc29saWQtaWNvbi1TcGVhY2gtQnViYmxlODpiZWZvcmV7Y29udGVudDoiXGVjOWUifS5zb2xpZC1pY29uLVNwZWFjaC1CdWJibGU5OmJlZm9yZXtjb250ZW50OiJcZWM5ZiJ9LnNvbGlkLWljb24tU3BlYWNoLUJ1YmJsZTEwOmJlZm9yZXtjb250ZW50OiJcZWNhMCJ9LnNvbGlkLWljb24tU3BlYWNoLUJ1YmJsZTExOmJlZm9yZXtjb250ZW50OiJcZWNhMSJ9LnNvbGlkLWljb24tU3BlYWNoLUJ1YmJsZTEyOmJlZm9yZXtjb250ZW50OiJcZWNhMiJ9LnNvbGlkLWljb24tU3BlYWNoLUJ1YmJsZTEzOmJlZm9yZXtjb250ZW50OiJcZWNhMyJ9LnNvbGlkLWljb24tU3BlYWNoLUJ1YmJsZUFza2luZzpiZWZvcmV7Y29udGVudDoiXGVjYTQifS5zb2xpZC1pY29uLVNwZWFjaC1CdWJibGVDb21pYzpiZWZvcmV7Y29udGVudDoiXGVjYTUifS5zb2xpZC1pY29uLVNwZWFjaC1CdWJibGVDb21pYzI6YmVmb3Jle2NvbnRlbnQ6IlxlY2E2In0uc29saWQtaWNvbi1TcGVhY2gtQnViYmxlQ29taWMzOmJlZm9yZXtjb250ZW50OiJcZWNhNyJ9LnNvbGlkLWljb24tU3BlYWNoLUJ1YmJsZUNvbWljNDpiZWZvcmV7Y29udGVudDoiXGVjYTgifS5zb2xpZC1pY29uLVNwZWFjaC1CdWJibGVEaWFsb2c6YmVmb3Jle2NvbnRlbnQ6IlxlY2E5In0uc29saWQtaWNvbi1TcGVhY2gtQnViYmxlczpiZWZvcmV7Y29udGVudDoiXGVjYWEifS5zb2xpZC1pY29uLVNwZWFrLTI6YmVmb3Jle2NvbnRlbnQ6IlxlY2FiIn0uc29saWQtaWNvbi1TcGVhazpiZWZvcmV7Y29udGVudDoiXGVjYWMifS5zb2xpZC1pY29uLVNwZWFrZXItMjpiZWZvcmV7Y29udGVudDoiXGVjYWQifS5zb2xpZC1pY29uLVNwZWFrZXI6YmVmb3Jle2NvbnRlbnQ6IlxlY2FlIn0uc29saWQtaWNvbi1TcGVsbC1DaGVjazpiZWZvcmV7Y29udGVudDoiXGVjYWYifS5zb2xpZC1pY29uLVNwZWxsLUNoZWNrQUJDOmJlZm9yZXtjb250ZW50OiJcZWNiMCJ9LnNvbGlkLWljb24tU3Blcm1pdW06YmVmb3Jle2NvbnRlbnQ6IlxlY2IxIn0uc29saWQtaWNvbi1TcGlkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlY2IyIn0uc29saWQtaWNvbi1TcGlkZXJ3ZWI6YmVmb3Jle2NvbnRlbnQ6IlxlY2IzIn0uc29saWQtaWNvbi1TcGxpdC1Gb3VyU3F1YXJlV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWNiNCJ9LnNvbGlkLWljb24tU3BsaXQtSG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGVjYjUifS5zb2xpZC1pY29uLVNwbGl0LUhvcml6b250YWwyV2luZG93OmJlZm9yZXtjb250ZW50OiJcZWNiNiJ9LnNvbGlkLWljb24tU3BsaXQtVmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxlY2I3In0uc29saWQtaWNvbi1TcGxpdC1WZXJ0aWNhbDI6YmVmb3Jle2NvbnRlbnQ6IlxlY2I4In0uc29saWQtaWNvbi1TcGxpdC1XaW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlY2I5In0uc29saWQtaWNvbi1TcG9kZXI6YmVmb3Jle2NvbnRlbnQ6IlxlY2JhIn0uc29saWQtaWNvbi1TcG9vbjpiZWZvcmV7Y29udGVudDoiXGVjYmIifS5zb2xpZC1pY29uLVNwb3J0LU1vZGU6YmVmb3Jle2NvbnRlbnQ6IlxlY2JjIn0uc29saWQtaWNvbi1TcG9ydHMtQ2xvdGhpbmdzMTpiZWZvcmV7Y29udGVudDoiXGVjYmQifS5zb2xpZC1pY29uLVNwb3J0cy1DbG90aGluZ3MyOmJlZm9yZXtjb250ZW50OiJcZWNiZSJ9LnNvbGlkLWljb24tU3BvcnRzLVNoaXJ0OmJlZm9yZXtjb250ZW50OiJcZWNiZiJ9LnNvbGlkLWljb24tU3BvdDpiZWZvcmV7Y29udGVudDoiXGVjYzAifS5zb2xpZC1pY29uLVNwcmF5OmJlZm9yZXtjb250ZW50OiJcZWNjMSJ9LnNvbGlkLWljb24tU3ByZWFkOmJlZm9yZXtjb250ZW50OiJcZWNjMiJ9LnNvbGlkLWljb24tU3ByaW5nOmJlZm9yZXtjb250ZW50OiJcZWNjMyJ9LnNvbGlkLWljb24tU3B1cmw6YmVmb3Jle2NvbnRlbnQ6IlxlY2M0In0uc29saWQtaWNvbi1TcHk6YmVmb3Jle2NvbnRlbnQ6IlxlY2M1In0uc29saWQtaWNvbi1TcXVpcnJlbDpiZWZvcmV7Y29udGVudDoiXGVjYzYifS5zb2xpZC1pY29uLVNTTDpiZWZvcmV7Y29udGVudDoiXGVjYzcifS5zb2xpZC1pY29uLVN0LUJhc2lsc0NhdGhlZHJhbDpiZWZvcmV7Y29udGVudDoiXGVjYzgifS5zb2xpZC1pY29uLVN0LVBhdWxzQ2F0aGVkcmFsOmJlZm9yZXtjb250ZW50OiJcZWNjOSJ9LnNvbGlkLWljb24tU3RhbXAtMjpiZWZvcmV7Y29udGVudDoiXGVjY2EifS5zb2xpZC1pY29uLVN0YW1wOmJlZm9yZXtjb250ZW50OiJcZWNjYiJ9LnNvbGlkLWljb24tU3RhcGxlcjpiZWZvcmV7Y29udGVudDoiXGVjY2MifS5zb2xpZC1pY29uLVN0YXItVHJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxlY2NkIn0uc29saWQtaWNvbi1TdGFyOmJlZm9yZXtjb250ZW50OiJcZWNjZSJ9LnNvbGlkLWljb24tU3RhcmZpc2g6YmVmb3Jle2NvbnRlbnQ6IlxlY2NmIn0uc29saWQtaWNvbi1TdGFydDI6YmVmb3Jle2NvbnRlbnQ6IlxlY2QwIn0uc29saWQtaWNvbi1TdGFydC0zOmJlZm9yZXtjb250ZW50OiJcZWNkMSJ9LnNvbGlkLWljb24tU3RhcnQtd2F5czpiZWZvcmV7Y29udGVudDoiXGVjZDIifS5zb2xpZC1pY29uLVN0YXJ0OmJlZm9yZXtjb250ZW50OiJcZWNkMyJ9LnNvbGlkLWljb24tU3RhdGlzdGljOmJlZm9yZXtjb250ZW50OiJcZWNkNCJ9LnNvbGlkLWljb24tU3RldGhvc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxlY2Q1In0uc29saWQtaWNvbi1TdG9wLTI6YmVmb3Jle2NvbnRlbnQ6IlxlY2Q2In0uc29saWQtaWNvbi1TdG9wLU11c2ljOmJlZm9yZXtjb250ZW50OiJcZWNkNyJ9LnNvbGlkLWljb24tU3RvcDpiZWZvcmV7Y29udGVudDoiXGVjZDgifS5zb2xpZC1pY29uLVN0b3B3YXRjaC0yOmJlZm9yZXtjb250ZW50OiJcZWNkOSJ9LnNvbGlkLWljb24tU3RvcHdhdGNoOmJlZm9yZXtjb250ZW50OiJcZWNkYSJ9LnNvbGlkLWljb24tU3Rvcm06YmVmb3Jle2NvbnRlbnQ6IlxlY2RiIn0uc29saWQtaWNvbi1TdHJlZXQtVmlldzpiZWZvcmV7Y29udGVudDoiXGVjZGMifS5zb2xpZC1pY29uLVN0cmVldC1WaWV3MjpiZWZvcmV7Y29udGVudDoiXGVjZGQifS5zb2xpZC1pY29uLVN0cmlrZXRocm91Z2gtVGV4dDpiZWZvcmV7Y29udGVudDoiXGVjZGUifS5zb2xpZC1pY29uLVN0cm9sbGVyOmJlZm9yZXtjb250ZW50OiJcZWNkZiJ9LnNvbGlkLWljb24tU3RydWN0dXJlOmJlZm9yZXtjb250ZW50OiJcZWNlMCJ9LnNvbGlkLWljb24tU3R1ZGVudC1GZW1hbGU6YmVmb3Jle2NvbnRlbnQ6IlxlY2UxIn0uc29saWQtaWNvbi1TdHVkZW50LUhhdDpiZWZvcmV7Y29udGVudDoiXGVjZTIifS5zb2xpZC1pY29uLVN0dWRlbnQtSGF0MjpiZWZvcmV7Y29udGVudDoiXGVjZTMifS5zb2xpZC1pY29uLVN0dWRlbnQtTWFsZTpiZWZvcmV7Y29udGVudDoiXGVjZTQifS5zb2xpZC1pY29uLVN0dWRlbnQtTWFsZUZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGVjZTUifS5zb2xpZC1pY29uLVN0dWRlbnRzOmJlZm9yZXtjb250ZW50OiJcZWNlNiJ9LnNvbGlkLWljb24tU3R1ZGlvLUZsYXNoOmJlZm9yZXtjb250ZW50OiJcZWNlNyJ9LnNvbGlkLWljb24tU3R1ZGlvLUxpZ2h0Ym94OmJlZm9yZXtjb250ZW50OiJcZWNlOCJ9LnNvbGlkLWljb24tU3R1bWJsZXVwb246YmVmb3Jle2NvbnRlbnQ6IlxlY2U5In0uc29saWQtaWNvbi1TdWl0OmJlZm9yZXtjb250ZW50OiJcZWNlYSJ9LnNvbGlkLWljb24tU3VpdGNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxlY2ViIn0uc29saWQtaWNvbi1TdW0tMjpiZWZvcmV7Y29udGVudDoiXGVjZWMifS5zb2xpZC1pY29uLVN1bTpiZWZvcmV7Y29udGVudDoiXGVjZWQifS5zb2xpZC1pY29uLVN1bW1lcjpiZWZvcmV7Y29udGVudDoiXGVjZWUifS5zb2xpZC1pY29uLVN1bi1DbG91ZHlSYWluOmJlZm9yZXtjb250ZW50OiJcZWNlZiJ9LnNvbGlkLWljb24tU3VuOmJlZm9yZXtjb250ZW50OiJcZWNmMCJ9LnNvbGlkLWljb24tU3VuZ2xhc3Nlcy0yOmJlZm9yZXtjb250ZW50OiJcZWNmMSJ9LnNvbGlkLWljb24tU3VuZ2xhc3Nlcy0zOmJlZm9yZXtjb250ZW50OiJcZWNmMiJ9LnNvbGlkLWljb24tU3VuZ2xhc3Nlcy1TbWlsZXk6YmVmb3Jle2NvbnRlbnQ6IlxlY2YzIn0uc29saWQtaWNvbi1TdW5nbGFzc2VzLVNtaWxleTI6YmVmb3Jle2NvbnRlbnQ6IlxlY2Y0In0uc29saWQtaWNvbi1TdW5nbGFzc2VzLVc6YmVmb3Jle2NvbnRlbnQ6IlxlY2Y1In0uc29saWQtaWNvbi1TdW5nbGFzc2VzLVcyOmJlZm9yZXtjb250ZW50OiJcZWNmNiJ9LnNvbGlkLWljb24tU3VuZ2xhc3Nlcy1XMzpiZWZvcmV7Y29udGVudDoiXGVjZjcifS5zb2xpZC1pY29uLVN1bmdsYXNzZXM6YmVmb3Jle2NvbnRlbnQ6IlxlY2Y4In0uc29saWQtaWNvbi1TdW5yaXNlOmJlZm9yZXtjb250ZW50OiJcZWNmOSJ9LnNvbGlkLWljb24tU3Vuc2V0OmJlZm9yZXtjb250ZW50OiJcZWNmYSJ9LnNvbGlkLWljb24tU3VwZXJtYW46YmVmb3Jle2NvbnRlbnQ6IlxlY2ZiIn0uc29saWQtaWNvbi1TdXBwb3J0OmJlZm9yZXtjb250ZW50OiJcZWNmYyJ9LnNvbGlkLWljb24tU3VycHJpc2U6YmVmb3Jle2NvbnRlbnQ6IlxlY2ZkIn0uc29saWQtaWNvbi1TdXNoaTpiZWZvcmV7Y29udGVudDoiXGVjZmUifS5zb2xpZC1pY29uLVN3ZWRlbjpiZWZvcmV7Y29udGVudDoiXGVjZmYifS5zb2xpZC1pY29uLVN3aW1taW5nLVNob3J0OmJlZm9yZXtjb250ZW50OiJcZWQwMCJ9LnNvbGlkLWljb24tU3dpbW1pbmc6YmVmb3Jle2NvbnRlbnQ6IlxlZDAxIn0uc29saWQtaWNvbi1Td2ltbXdlYXI6YmVmb3Jle2NvbnRlbnQ6IlxlZDAyIn0uc29saWQtaWNvbi1Td2l0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxlZDAzIn0uc29saWQtaWNvbi1Td2l0emVybGFuZDpiZWZvcmV7Y29udGVudDoiXGVkMDQifS5zb2xpZC1pY29uLVN5bmMtQ2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDA1In0uc29saWQtaWNvbi1TeW5jOmJlZm9yZXtjb250ZW50OiJcZWQwNiJ9LnNvbGlkLWljb24tU3luY2hyb25pemUtMjpiZWZvcmV7Y29udGVudDoiXGVkMDcifS5zb2xpZC1pY29uLVN5bmNocm9uaXplOmJlZm9yZXtjb250ZW50OiJcZWQwOCJ9LnNvbGlkLWljb24tVC1TaGlydDpiZWZvcmV7Y29udGVudDoiXGVkMDkifS5zb2xpZC1pY29uLVRhYmxldC0yOmJlZm9yZXtjb250ZW50OiJcZWQwYSJ9LnNvbGlkLWljb24tVGFibGV0LTM6YmVmb3Jle2NvbnRlbnQ6IlxlZDBiIn0uc29saWQtaWNvbi1UYWJsZXQtT3JpZW50YXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlZDBjIn0uc29saWQtaWNvbi1UYWJsZXQtUGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlZDBkIn0uc29saWQtaWNvbi1UYWJsZXQtU2VjdXJlOmJlZm9yZXtjb250ZW50OiJcZWQwZSJ9LnNvbGlkLWljb24tVGFibGV0LVZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZWQwZiJ9LnNvbGlkLWljb24tVGFibGV0OmJlZm9yZXtjb250ZW50OiJcZWQxMCJ9LnNvbGlkLWljb24tVGFjdGljOmJlZm9yZXtjb250ZW50OiJcZWQxMSJ9LnNvbGlkLWljb24tVGFnLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZDEyIn0uc29saWQtaWNvbi1UYWctMzpiZWZvcmV7Y29udGVudDoiXGVkMTMifS5zb2xpZC1pY29uLVRhZy00OmJlZm9yZXtjb250ZW50OiJcZWQxNCJ9LnNvbGlkLWljb24tVGFnLTU6YmVmb3Jle2NvbnRlbnQ6IlxlZDE1In0uc29saWQtaWNvbi1UYWc6YmVmb3Jle2NvbnRlbnQ6IlxlZDE2In0uc29saWQtaWNvbi1UYWotTWFoYWw6YmVmb3Jle2NvbnRlbnQ6IlxlZDE3In0uc29saWQtaWNvbi1UYWxrLU1hbjpiZWZvcmV7Y29udGVudDoiXGVkMTgifS5zb2xpZC1pY29uLVRhcDpiZWZvcmV7Y29udGVudDoiXGVkMTkifS5zb2xpZC1pY29uLVRhcmdldC1NYXJrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDFhIn0uc29saWQtaWNvbi1UYXJnZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlZDFiIn0uc29saWQtaWNvbi1UYXVydXMtMjpiZWZvcmV7Y29udGVudDoiXGVkMWMifS5zb2xpZC1pY29uLVRhdXJ1czpiZWZvcmV7Y29udGVudDoiXGVkMWQifS5zb2xpZC1pY29uLVRheGktMjpiZWZvcmV7Y29udGVudDoiXGVkMWUifS5zb2xpZC1pY29uLVRheGktU2lnbjpiZWZvcmV7Y29udGVudDoiXGVkMWYifS5zb2xpZC1pY29uLVRheGk6YmVmb3Jle2NvbnRlbnQ6IlxlZDIwIn0uc29saWQtaWNvbi1UZWFjaGVyOmJlZm9yZXtjb250ZW50OiJcZWQyMSJ9LnNvbGlkLWljb24tVGVhcG90OmJlZm9yZXtjb250ZW50OiJcZWQyMiJ9LnNvbGlkLWljb24tVGVjaG5vcmF0aTpiZWZvcmV7Y29udGVudDoiXGVkMjMifS5zb2xpZC1pY29uLVRlZGR5LUJlYXI6YmVmb3Jle2NvbnRlbnQ6IlxlZDI0In0uc29saWQtaWNvbi1UZWUtTXVnOmJlZm9yZXtjb250ZW50OiJcZWQyNSJ9LnNvbGlkLWljb24tVGVsZXBob25lLTI6YmVmb3Jle2NvbnRlbnQ6IlxlZDI2In0uc29saWQtaWNvbi1UZWxlcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlZDI3In0uc29saWQtaWNvbi1UZWxlc2NvcGU6YmVmb3Jle2NvbnRlbnQ6IlxlZDI4In0uc29saWQtaWNvbi1UZW1wZXJhdHVyZS0yOmJlZm9yZXtjb250ZW50OiJcZWQyOSJ9LnNvbGlkLWljb24tVGVtcGVyYXR1cmUtMzpiZWZvcmV7Y29udGVudDoiXGVkMmEifS5zb2xpZC1pY29uLVRlbXBlcmF0dXJlOmJlZm9yZXtjb250ZW50OiJcZWQyYiJ9DQoNCi8qDQpGZWF0aGVyDQpQbHVnaW4gVVJJOiBodHRwczovL2ZlYXRoZXJpY29ucy5jb20vDQoqLw0KQGZvbnQtZmFjZXtmb250LWZhbWlseTpmZWF0aGVyO3NyYzp1cmwoIi4uL2ZvbnRzL2ZlYXRoZXJlOGFiZThhYi10JTNkMTUyNTc4NzM2Njk5MS5lb3QiKTtzcmM6dXJsKCIuLi9mb250cy9mZWF0aGVyZThhYmU4YWItdCUzZDE1MjU3ODczNjY5OTEuZW90I2llZml4IikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgiLi4vZm9udHMvZmVhdGhlcmU4YWJlOGFiLXQlM2QxNTI1Nzg3MzY2OTkxLndvZmYiKSBmb3JtYXQoJ3dvZmYnKSx1cmwoIi4uL2ZvbnRzL2ZlYXRoZXJlOGFiZThhYi10JTNkMTUyNTc4NzM2Njk5MS50dGYiKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCIuLi9mb250cy9mZWF0aGVyZThhYmU4YWItdCUzZDE1MjU3ODczNjY5OTEuc3ZnI2ZlYXRoZXIiKSBmb3JtYXQoJ3N2ZycpO2ZvbnQtZGlzcGxheTpzd2FwfS5mZWF0aGVye2ZvbnQtZmFtaWx5OmZlYXRoZXIhaW1wb3J0YW50O3NwZWFrOm5vbmU7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtsaW5lLWhlaWdodDoxOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5pY29uLWZlYXRoZXItYWxlcnQtb2N0YWdvbjpiZWZvcmV7Y29udGVudDoiXGU4MWIifS5pY29uLWZlYXRoZXItYWxlcnQtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTgxYyJ9Lmljb24tZmVhdGhlci1hY3Rpdml0eTpiZWZvcmV7Y29udGVudDoiXGU4MWQifS5pY29uLWZlYXRoZXItYWxlcnQtdHJpYW5nbGU6YmVmb3Jle2NvbnRlbnQ6IlxlODFlIn0uaWNvbi1mZWF0aGVyLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGU4MWYifS5pY29uLWZlYXRoZXItYWlycGxheTpiZWZvcmV7Y29udGVudDoiXGU4MjAifS5pY29uLWZlYXRoZXItYWxpZ24tanVzdGlmeTpiZWZvcmV7Y29udGVudDoiXGU4MjEifS5pY29uLWZlYXRoZXItYWxpZ24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGU4MjIifS5pY29uLWZlYXRoZXItYWxpZ24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlODIzIn0uaWNvbi1mZWF0aGVyLWFycm93LWRvd24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGU4MjQifS5pY29uLWZlYXRoZXItYXJyb3ctZG93bi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGU4MjUifS5pY29uLWZlYXRoZXItYW5jaG9yOmJlZm9yZXtjb250ZW50OiJcZTgyNiJ9Lmljb24tZmVhdGhlci1hcGVydHVyZTpiZWZvcmV7Y29udGVudDoiXGU4MjcifS5pY29uLWZlYXRoZXItYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGU4MjgifS5pY29uLWZlYXRoZXItYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlODI5In0uaWNvbi1mZWF0aGVyLWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlODJhIn0uaWNvbi1mZWF0aGVyLWFycm93LXVwLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlODJiIn0uaWNvbi1mZWF0aGVyLWFycm93LXVwLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTgyYyJ9Lmljb24tZmVhdGhlci1hcnJvdy11cDpiZWZvcmV7Y29udGVudDoiXGU4MmQifS5pY29uLWZlYXRoZXItYXdhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlODJlIn0uaWNvbi1mZWF0aGVyLWJhci1jaGFydDpiZWZvcmV7Y29udGVudDoiXGU4MmYifS5pY29uLWZlYXRoZXItYXQtc2lnbjpiZWZvcmV7Y29udGVudDoiXGU4MzAifS5pY29uLWZlYXRoZXItYmFyLWNoYXJ0LTI6YmVmb3Jle2NvbnRlbnQ6IlxlODMxIn0uaWNvbi1mZWF0aGVyLWJhdHRlcnktY2hhcmdpbmc6YmVmb3Jle2NvbnRlbnQ6IlxlODMyIn0uaWNvbi1mZWF0aGVyLWJlbGwtb2ZmOmJlZm9yZXtjb250ZW50OiJcZTgzMyJ9Lmljb24tZmVhdGhlci1iYXR0ZXJ5OmJlZm9yZXtjb250ZW50OiJcZTgzNCJ9Lmljb24tZmVhdGhlci1ibHVldG9vdGg6YmVmb3Jle2NvbnRlbnQ6IlxlODM1In0uaWNvbi1mZWF0aGVyLWJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxlODM2In0uaWNvbi1mZWF0aGVyLWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxlODM3In0uaWNvbi1mZWF0aGVyLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDoiXGU4MzgifS5pY29uLWZlYXRoZXItY2FtZXJhLW9mZjpiZWZvcmV7Y29udGVudDoiXGU4MzkifS5pY29uLWZlYXRoZXItY2FsZW5kYXI6YmVmb3Jle2NvbnRlbnQ6IlxlODNhIn0uaWNvbi1mZWF0aGVyLWJvb2ttYXJrOmJlZm9yZXtjb250ZW50OiJcZTgzYiJ9Lmljb24tZmVhdGhlci1ib3g6YmVmb3Jle2NvbnRlbnQ6IlxlODNjIn0uaWNvbi1mZWF0aGVyLWNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGU4M2QifS5pY29uLWZlYXRoZXItY2hlY2stY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTgzZSJ9Lmljb24tZmVhdGhlci1jaGVjazpiZWZvcmV7Y29udGVudDoiXGU4M2YifS5pY29uLWZlYXRoZXItY2hlY2stc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZTg0MCJ9Lmljb24tZmVhdGhlci1jYXN0OmJlZm9yZXtjb250ZW50OiJcZTg0MSJ9Lmljb24tZmVhdGhlci1jaGV2cm9uLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlODQyIn0uaWNvbi1mZWF0aGVyLWNoZXZyb24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGU4NDMifS5pY29uLWZlYXRoZXItY2hldnJvbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGU4NDQifS5pY29uLWZlYXRoZXItY2hldnJvbi11cDpiZWZvcmV7Y29udGVudDoiXGU4NDUifS5pY29uLWZlYXRoZXItY2hldnJvbnMtZG93bjpiZWZvcmV7Y29udGVudDoiXGU4NDYifS5pY29uLWZlYXRoZXItY2hldnJvbnMtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlODQ3In0uaWNvbi1mZWF0aGVyLWNoZXZyb25zLXVwOmJlZm9yZXtjb250ZW50OiJcZTg0OCJ9Lmljb24tZmVhdGhlci1jaGV2cm9ucy1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTg0OSJ9Lmljb24tZmVhdGhlci1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlODRhIn0uaWNvbi1mZWF0aGVyLWNsaXBib2FyZDpiZWZvcmV7Y29udGVudDoiXGU4NGIifS5pY29uLWZlYXRoZXItY2hyb21lOmJlZm9yZXtjb250ZW50OiJcZTg0YyJ9Lmljb24tZmVhdGhlci1jbG9jazpiZWZvcmV7Y29udGVudDoiXGU4NGQifS5pY29uLWZlYXRoZXItY2xvdWQtbGlnaHRuaW5nOmJlZm9yZXtjb250ZW50OiJcZTg0ZSJ9Lmljb24tZmVhdGhlci1jbG91ZC1kcml6emxlOmJlZm9yZXtjb250ZW50OiJcZTg0ZiJ9Lmljb24tZmVhdGhlci1jbG91ZC1yYWluOmJlZm9yZXtjb250ZW50OiJcZTg1MCJ9Lmljb24tZmVhdGhlci1jbG91ZC1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlODUxIn0uaWNvbi1mZWF0aGVyLWNvZGVwZW46YmVmb3Jle2NvbnRlbnQ6IlxlODUyIn0uaWNvbi1mZWF0aGVyLWNsb3VkLXNub3c6YmVmb3Jle2NvbnRlbnQ6IlxlODUzIn0uaWNvbi1mZWF0aGVyLWNvbXBhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlODU0In0uaWNvbi1mZWF0aGVyLWNvcHk6YmVmb3Jle2NvbnRlbnQ6IlxlODU1In0uaWNvbi1mZWF0aGVyLWNvcm5lci1kb3duLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTg1NiJ9Lmljb24tZmVhdGhlci1jb3JuZXItZG93bi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTg1NyJ9Lmljb24tZmVhdGhlci1jb3JuZXItbGVmdC1kb3duOmJlZm9yZXtjb250ZW50OiJcZTg1OCJ9Lmljb24tZmVhdGhlci1jb3JuZXItbGVmdC11cDpiZWZvcmV7Y29udGVudDoiXGU4NTkifS5pY29uLWZlYXRoZXItY29ybmVyLXVwLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlODVhIn0uaWNvbi1mZWF0aGVyLWNvcm5lci11cC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGU4NWIifS5pY29uLWZlYXRoZXItY29ybmVyLXJpZ2h0LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlODVjIn0uaWNvbi1mZWF0aGVyLWNvcm5lci1yaWdodC11cDpiZWZvcmV7Y29udGVudDoiXGU4NWQifS5pY29uLWZlYXRoZXItY3B1OmJlZm9yZXtjb250ZW50OiJcZTg1ZSJ9Lmljb24tZmVhdGhlci1jcmVkaXQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGU4NWYifS5pY29uLWZlYXRoZXItY3Jvc3NoYWlyOmJlZm9yZXtjb250ZW50OiJcZTg2MCJ9Lmljb24tZmVhdGhlci1kaXNjOmJlZm9yZXtjb250ZW50OiJcZTg2MSJ9Lmljb24tZmVhdGhlci1kZWxldGU6YmVmb3Jle2NvbnRlbnQ6IlxlODYyIn0uaWNvbi1mZWF0aGVyLWRvd25sb2FkLWNsb3VkOmJlZm9yZXtjb250ZW50OiJcZTg2MyJ9Lmljb24tZmVhdGhlci1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGU4NjQifS5pY29uLWZlYXRoZXItZHJvcGxldDpiZWZvcmV7Y29udGVudDoiXGU4NjUifS5pY29uLWZlYXRoZXItZWRpdC0yOmJlZm9yZXtjb250ZW50OiJcZTg2NiJ9Lmljb24tZmVhdGhlci1lZGl0OmJlZm9yZXtjb250ZW50OiJcZTg2NyJ9Lmljb24tZmVhdGhlci1lZGl0LTE6YmVmb3Jle2NvbnRlbnQ6IlxlODY4In0uaWNvbi1mZWF0aGVyLWV4dGVybmFsLWxpbms6YmVmb3Jle2NvbnRlbnQ6IlxlODY5In0uaWNvbi1mZWF0aGVyLWV5ZTpiZWZvcmV7Y29udGVudDoiXGU4NmEifS5pY29uLWZlYXRoZXItZmVhdGhlcjpiZWZvcmV7Y29udGVudDoiXGU4NmIifS5pY29uLWZlYXRoZXItZmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxlODZjIn0uaWNvbi1mZWF0aGVyLWZpbGUtbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlODZkIn0uaWNvbi1mZWF0aGVyLWV5ZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlODZlIn0uaWNvbi1mZWF0aGVyLWZhc3QtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGU4NmYifS5pY29uLWZlYXRoZXItZmlsZS10ZXh0OmJlZm9yZXtjb250ZW50OiJcZTg3MCJ9Lmljb24tZmVhdGhlci1maWxtOmJlZm9yZXtjb250ZW50OiJcZTg3MSJ9Lmljb24tZmVhdGhlci1maWxlOmJlZm9yZXtjb250ZW50OiJcZTg3MiJ9Lmljb24tZmVhdGhlci1maWxlLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlODczIn0uaWNvbi1mZWF0aGVyLWZvbGRlcjpiZWZvcmV7Y29udGVudDoiXGU4NzQifS5pY29uLWZlYXRoZXItZmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZTg3NSJ9Lmljb24tZmVhdGhlci1mbGFnOmJlZm9yZXtjb250ZW50OiJcZTg3NiJ9Lmljb24tZmVhdGhlci1nbG9iZTpiZWZvcmV7Y29udGVudDoiXGU4NzcifS5pY29uLWZlYXRoZXItZ3JpZDpiZWZvcmV7Y29udGVudDoiXGU4NzgifS5pY29uLWZlYXRoZXItaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlODc5In0uaWNvbi1mZWF0aGVyLWhvbWU6YmVmb3Jle2NvbnRlbnQ6IlxlODdhIn0uaWNvbi1mZWF0aGVyLWdpdGh1YjpiZWZvcmV7Y29udGVudDoiXGU4N2IifS5pY29uLWZlYXRoZXItaW1hZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlODdjIn0uaWNvbi1mZWF0aGVyLWluYm94OmJlZm9yZXtjb250ZW50OiJcZTg3ZCJ9Lmljb24tZmVhdGhlci1sYXllcnM6YmVmb3Jle2NvbnRlbnQ6IlxlODdlIn0uaWNvbi1mZWF0aGVyLWluZm86YmVmb3Jle2NvbnRlbnQ6IlxlODdmIn0uaWNvbi1mZWF0aGVyLWluc3RhZ3JhbTpiZWZvcmV7Y29udGVudDoiXGU4ODAifS5pY29uLWZlYXRoZXItbGF5b3V0OmJlZm9yZXtjb250ZW50OiJcZTg4MSJ9Lmljb24tZmVhdGhlci1saW5rLTI6YmVmb3Jle2NvbnRlbnQ6IlxlODgyIn0uaWNvbi1mZWF0aGVyLWxpZmUtYnVveTpiZWZvcmV7Y29udGVudDoiXGU4ODMifS5pY29uLWZlYXRoZXItbGluazpiZWZvcmV7Y29udGVudDoiXGU4ODQifS5pY29uLWZlYXRoZXItbG9nLWluOmJlZm9yZXtjb250ZW50OiJcZTg4NSJ9Lmljb24tZmVhdGhlci1saXN0OmJlZm9yZXtjb250ZW50OiJcZTg4NiJ9Lmljb24tZmVhdGhlci1sb2NrOmJlZm9yZXtjb250ZW50OiJcZTg4NyJ9Lmljb24tZmVhdGhlci1sb2ctb3V0OmJlZm9yZXtjb250ZW50OiJcZTg4OCJ9Lmljb24tZmVhdGhlci1sb2FkZXI6YmVmb3Jle2NvbnRlbnQ6IlxlODg5In0uaWNvbi1mZWF0aGVyLW1haWw6YmVmb3Jle2NvbnRlbnQ6IlxlODhhIn0uaWNvbi1mZWF0aGVyLW1heGltaXplLTI6YmVmb3Jle2NvbnRlbnQ6IlxlODhiIn0uaWNvbi1mZWF0aGVyLW1hcDpiZWZvcmV7Y29udGVudDoiXGU4OGMifS5pY29uLWZlYXRoZXItbWFwLXBpbjpiZWZvcmV7Y29udGVudDoiXGU4OGUifS5pY29uLWZlYXRoZXItbWVudTpiZWZvcmV7Y29udGVudDoiXGU4OGYifS5pY29uLWZlYXRoZXItbWVzc2FnZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlODkwIn0uaWNvbi1mZWF0aGVyLW1lc3NhZ2Utc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZTg5MSJ9Lmljb24tZmVhdGhlci1taW5pbWl6ZS0yOmJlZm9yZXtjb250ZW50OiJcZTg5MiJ9Lmljb24tZmVhdGhlci1taWMtb2ZmOmJlZm9yZXtjb250ZW50OiJcZTg5MyJ9Lmljb24tZmVhdGhlci1taW51cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlODk0In0uaWNvbi1mZWF0aGVyLW1pYzpiZWZvcmV7Y29udGVudDoiXGU4OTUifS5pY29uLWZlYXRoZXItbWludXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZTg5NiJ9Lmljb24tZmVhdGhlci1taW51czpiZWZvcmV7Y29udGVudDoiXGU4OTcifS5pY29uLWZlYXRoZXItbW9vbjpiZWZvcmV7Y29udGVudDoiXGU4OTgifS5pY29uLWZlYXRoZXItbW9uaXRvcjpiZWZvcmV7Y29udGVudDoiXGU4OTkifS5pY29uLWZlYXRoZXItbW9yZS12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGU4OWEifS5pY29uLWZlYXRoZXItbW9yZS1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZTg5YiJ9Lmljb24tZmVhdGhlci1tb3ZlOmJlZm9yZXtjb250ZW50OiJcZTg5YyJ9Lmljb24tZmVhdGhlci1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGU4OWQifS5pY29uLWZlYXRoZXItbmF2aWdhdGlvbi0yOmJlZm9yZXtjb250ZW50OiJcZTg5ZSJ9Lmljb24tZmVhdGhlci1uYXZpZ2F0aW9uOmJlZm9yZXtjb250ZW50OiJcZTg5ZiJ9Lmljb24tZmVhdGhlci1vY3RhZ29uOmJlZm9yZXtjb250ZW50OiJcZThhMCJ9Lmljb24tZmVhdGhlci1wYWNrYWdlOmJlZm9yZXtjb250ZW50OiJcZThhMSJ9Lmljb24tZmVhdGhlci1wYXVzZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOGEyIn0uaWNvbi1mZWF0aGVyLXBhdXNlOmJlZm9yZXtjb250ZW50OiJcZThhMyJ9Lmljb24tZmVhdGhlci1wZXJjZW50OmJlZm9yZXtjb250ZW50OiJcZThhNCJ9Lmljb24tZmVhdGhlci1waG9uZS1jYWxsOmJlZm9yZXtjb250ZW50OiJcZThhNSJ9Lmljb24tZmVhdGhlci1waG9uZS1mb3J3YXJkZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGE2In0uaWNvbi1mZWF0aGVyLXBob25lLW1pc3NlZDpiZWZvcmV7Y29udGVudDoiXGU4YTcifS5pY29uLWZlYXRoZXItcGhvbmUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZThhOCJ9Lmljb24tZmVhdGhlci1waG9uZS1pbmNvbWluZzpiZWZvcmV7Y29udGVudDoiXGU4YTkifS5pY29uLWZlYXRoZXItcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlOGFhIn0uaWNvbi1mZWF0aGVyLXBob25lLW91dGdvaW5nOmJlZm9yZXtjb250ZW50OiJcZThhYiJ9Lmljb24tZmVhdGhlci1waWUtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGFjIn0uaWNvbi1mZWF0aGVyLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZThhZCJ9Lmljb24tZmVhdGhlci1wbGF5OmJlZm9yZXtjb250ZW50OiJcZThhZSJ9Lmljb24tZmVhdGhlci1wbHVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGU4YWYifS5pY29uLWZlYXRoZXItcGx1cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOGIwIn0uaWNvbi1mZWF0aGVyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxlOGIxIn0uaWNvbi1mZWF0aGVyLXBvY2tldDpiZWZvcmV7Y29udGVudDoiXGU4YjIifS5pY29uLWZlYXRoZXItcHJpbnRlcjpiZWZvcmV7Y29udGVudDoiXGU4YjMifS5pY29uLWZlYXRoZXItcG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOGI0In0uaWNvbi1mZWF0aGVyLXJhZGlvOmJlZm9yZXtjb250ZW50OiJcZThiNSJ9Lmljb24tZmVhdGhlci1yZXBlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGI2In0uaWNvbi1mZWF0aGVyLXJlZnJlc2gtY2N3OmJlZm9yZXtjb250ZW50OiJcZThiNyJ9Lmljb24tZmVhdGhlci1yZXdpbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGI4In0uaWNvbi1mZWF0aGVyLXJvdGF0ZS1jY3c6YmVmb3Jle2NvbnRlbnQ6IlxlOGI5In0uaWNvbi1mZWF0aGVyLXJlZnJlc2gtY3c6YmVmb3Jle2NvbnRlbnQ6IlxlOGJhIn0uaWNvbi1mZWF0aGVyLXJvdGF0ZS1jdzpiZWZvcmV7Y29udGVudDoiXGU4YmIifS5pY29uLWZlYXRoZXItc2F2ZTpiZWZvcmV7Y29udGVudDoiXGU4YmMifS5pY29uLWZlYXRoZXItc2VhcmNoOmJlZm9yZXtjb250ZW50OiJcZThiZCJ9Lmljb24tZmVhdGhlci1zZXJ2ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOGJlIn0uaWNvbi1mZWF0aGVyLXNjaXNzb3JzOmJlZm9yZXtjb250ZW50OiJcZThiZiJ9Lmljb24tZmVhdGhlci1zaGFyZS0yOmJlZm9yZXtjb250ZW50OiJcZThjMCJ9Lmljb24tZmVhdGhlci1zaGFyZTpiZWZvcmV7Y29udGVudDoiXGU4YzEifS5pY29uLWZlYXRoZXItc2hpZWxkOmJlZm9yZXtjb250ZW50OiJcZThjMiJ9Lmljb24tZmVhdGhlci1zZXR0aW5nczpiZWZvcmV7Y29udGVudDoiXGU4YzMifS5pY29uLWZlYXRoZXItc2tpcC1iYWNrOmJlZm9yZXtjb250ZW50OiJcZThjNCJ9Lmljb24tZmVhdGhlci1zaHVmZmxlOmJlZm9yZXtjb250ZW50OiJcZThjNSJ9Lmljb24tZmVhdGhlci1zaWRlYmFyOmJlZm9yZXtjb250ZW50OiJcZThjNiJ9Lmljb24tZmVhdGhlci1za2lwLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGM3In0uaWNvbi1mZWF0aGVyLXNsYWNrOmJlZm9yZXtjb250ZW50OiJcZThjOCJ9Lmljb24tZmVhdGhlci1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGU4YzkifS5pY29uLWZlYXRoZXItc21hcnRwaG9uZTpiZWZvcmV7Y29udGVudDoiXGU4Y2EifS5pY29uLWZlYXRoZXItc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZThjYiJ9Lmljb24tZmVhdGhlci1zcGVha2VyOmJlZm9yZXtjb250ZW50OiJcZThjYyJ9Lmljb24tZmVhdGhlci1zdGFyOmJlZm9yZXtjb250ZW50OiJcZThjZCJ9Lmljb24tZmVhdGhlci1zdG9wLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU4Y2UifS5pY29uLWZlYXRoZXItc3VuOmJlZm9yZXtjb250ZW50OiJcZThjZiJ9Lmljb24tZmVhdGhlci1zdW5yaXNlOmJlZm9yZXtjb250ZW50OiJcZThkMCJ9Lmljb24tZmVhdGhlci10YWJsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGQxIn0uaWNvbi1mZWF0aGVyLXRhZzpiZWZvcmV7Y29udGVudDoiXGU4ZDIifS5pY29uLWZlYXRoZXItc3Vuc2V0OmJlZm9yZXtjb250ZW50OiJcZThkMyJ9Lmljb24tZmVhdGhlci10YXJnZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGQ0In0uaWNvbi1mZWF0aGVyLXRoZXJtb21ldGVyOmJlZm9yZXtjb250ZW50OiJcZThkNSJ9Lmljb24tZmVhdGhlci10aHVtYnMtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlOGQ2In0uaWNvbi1mZWF0aGVyLXRodW1icy1kb3duOmJlZm9yZXtjb250ZW50OiJcZThkNyJ9Lmljb24tZmVhdGhlci10b2dnbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGU4ZDgifS5pY29uLWZlYXRoZXItdG9nZ2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZThkOSJ9Lmljb24tZmVhdGhlci10cmFzaC0yOmJlZm9yZXtjb250ZW50OiJcZThkYSJ9Lmljb24tZmVhdGhlci10cmFzaDpiZWZvcmV7Y29udGVudDoiXGU4ZGIifS5pY29uLWZlYXRoZXItdHJlbmRpbmctdXA6YmVmb3Jle2NvbnRlbnQ6IlxlOGRjIn0uaWNvbi1mZWF0aGVyLXRyZW5kaW5nLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlOGRkIn0uaWNvbi1mZWF0aGVyLXRyaWFuZ2xlOmJlZm9yZXtjb250ZW50OiJcZThkZSJ9Lmljb24tZmVhdGhlci10eXBlOmJlZm9yZXtjb250ZW50OiJcZThkZiJ9Lmljb24tZmVhdGhlci10d2l0dGVyOmJlZm9yZXtjb250ZW50OiJcZThlMCJ9Lmljb24tZmVhdGhlci11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGUxIn0uaWNvbi1mZWF0aGVyLXVtYnJlbGxhOmJlZm9yZXtjb250ZW50OiJcZThlMiJ9Lmljb24tZmVhdGhlci11cGxvYWQtY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGUzIn0uaWNvbi1mZWF0aGVyLXVubG9jazpiZWZvcmV7Y29udGVudDoiXGU4ZTQifS5pY29uLWZlYXRoZXItdXNlci1jaGVjazpiZWZvcmV7Y29udGVudDoiXGU4ZTUifS5pY29uLWZlYXRoZXItdXNlci1taW51czpiZWZvcmV7Y29udGVudDoiXGU4ZTYifS5pY29uLWZlYXRoZXItdXNlci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZThlNyJ9Lmljb24tZmVhdGhlci11c2VyLXg6YmVmb3Jle2NvbnRlbnQ6IlxlOGU4In0uaWNvbi1mZWF0aGVyLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxlOGU5In0uaWNvbi1mZWF0aGVyLXVzZXJzOmJlZm9yZXtjb250ZW50OiJcZThlYSJ9Lmljb24tZmVhdGhlci12aWRlby1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlOGViIn0uaWNvbi1mZWF0aGVyLXZpZGVvOmJlZm9yZXtjb250ZW50OiJcZThlYyJ9Lmljb24tZmVhdGhlci12b2ljZW1haWw6YmVmb3Jle2NvbnRlbnQ6IlxlOGVkIn0uaWNvbi1mZWF0aGVyLXZvbHVtZS14OmJlZm9yZXtjb250ZW50OiJcZThlZSJ9Lmljb24tZmVhdGhlci12b2x1bWUtMjpiZWZvcmV7Y29udGVudDoiXGU4ZWYifS5pY29uLWZlYXRoZXItdm9sdW1lLTE6YmVmb3Jle2NvbnRlbnQ6IlxlOGYwIn0uaWNvbi1mZWF0aGVyLXZvbHVtZTpiZWZvcmV7Y29udGVudDoiXGU4ZjEifS5pY29uLWZlYXRoZXItd2F0Y2g6YmVmb3Jle2NvbnRlbnQ6IlxlOGYyIn0uaWNvbi1mZWF0aGVyLXdpZmk6YmVmb3Jle2NvbnRlbnQ6IlxlOGYzIn0uaWNvbi1mZWF0aGVyLXgtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZThmNCJ9Lmljb24tZmVhdGhlci13aW5kOmJlZm9yZXtjb250ZW50OiJcZThmNSJ9Lmljb24tZmVhdGhlci14OmJlZm9yZXtjb250ZW50OiJcZThmNiJ9Lmljb24tZmVhdGhlci14LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU4ZjcifS5pY29uLWZlYXRoZXItemFwOmJlZm9yZXtjb250ZW50OiJcZThmOCJ9Lmljb24tZmVhdGhlci16b29tLWluOmJlZm9yZXtjb250ZW50OiJcZThmOSJ9Lmljb24tZmVhdGhlci16b29tLW91dDpiZWZvcmV7Y29udGVudDoiXGU4ZmEifS5pY29uLWZlYXRoZXItY29tbWFuZDpiZWZvcmV7Y29udGVudDoiXGU4ZmIifS5pY29uLWZlYXRoZXItY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxlOGZjIn0uaWNvbi1mZWF0aGVyLWhhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlOGZkIn0uaWNvbi1mZWF0aGVyLWhlYWRwaG9uZXM6YmVmb3Jle2NvbnRlbnQ6IlxlOGZlIn0uaWNvbi1mZWF0aGVyLXVuZGVybGluZTpiZWZvcmV7Y29udGVudDoiXGU4ZmYifS5pY29uLWZlYXRoZXItaXRhbGljOmJlZm9yZXtjb250ZW50OiJcZTkwMCJ9Lmljb24tZmVhdGhlci1ib2xkOmJlZm9yZXtjb250ZW50OiJcZTkwMSJ9Lmljb24tZmVhdGhlci1jcm9wOmJlZm9yZXtjb250ZW50OiJcZTkwMiJ9Lmljb24tZmVhdGhlci1oZWxwLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU5MDMifS5pY29uLWZlYXRoZXItcGFwZXJjbGlwOmJlZm9yZXtjb250ZW50OiJcZTkwNCJ9Lmljb24tZmVhdGhlci1zaG9wcGluZy1jYXJ0OmJlZm9yZXtjb250ZW50OiJcZTkwNSJ9Lmljb24tZmVhdGhlci10djpiZWZvcmV7Y29udGVudDoiXGU5MDYifS5pY29uLWZlYXRoZXItd2lmaS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlOTA3In0uaWNvbi1mZWF0aGVyLW1pbmltaXplOmJlZm9yZXtjb250ZW50OiJcZTg4ZCJ9Lmljb24tZmVhdGhlci1tYXhpbWl6ZTpiZWZvcmV7Y29udGVudDoiXGU5MDgifS5pY29uLWZlYXRoZXItZ2l0bGFiOmJlZm9yZXtjb250ZW50OiJcZTkwOSJ9Lmljb24tZmVhdGhlci1zbGlkZXJzOmJlZm9yZXtjb250ZW50OiJcZTkwYSJ9Lmljb24tZmVhdGhlci1zdGFyLW9uOmJlZm9yZXtjb250ZW50OiJcZTkwYiJ9Lmljb24tZmVhdGhlci1oZWFydC1vbjpiZWZvcmV7Y29udGVudDoiXGU5MGMifS5pY29uLWZlYXRoZXItYXJjaGl2ZTpiZWZvcmV7Y29udGVudDoiXGU5MGQifS5pY29uLWZlYXRoZXItYXJyb3ctZG93bi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOTBlIn0uaWNvbi1mZWF0aGVyLWFycm93LXVwLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU5MGYifS5pY29uLWZlYXRoZXItYXJyb3ctbGVmdC1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlOTEwIn0uaWNvbi1mZWF0aGVyLWFycm93LXJpZ2h0LWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGU5MTEifS5pY29uLWZlYXRoZXItYmFyLWNoYXJ0LWxpbmUtOmJlZm9yZXtjb250ZW50OiJcZTkxMiJ9Lmljb24tZmVhdGhlci1iYXItY2hhcnQtbGluZTpiZWZvcmV7Y29udGVudDoiXGU5MTMifS5pY29uLWZlYXRoZXItYm9vay1vcGVuOmJlZm9yZXtjb250ZW50OiJcZTkxNCJ9Lmljb24tZmVhdGhlci1jb2RlOmJlZm9yZXtjb250ZW50OiJcZTkxNSJ9Lmljb24tZmVhdGhlci1kYXRhYmFzZTpiZWZvcmV7Y29udGVudDoiXGU5MTYifS5pY29uLWZlYXRoZXItZG9sbGFyLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlOTE3In0uaWNvbi1mZWF0aGVyLWZvbGRlci1wbHVzOmJlZm9yZXtjb250ZW50OiJcZTkxOCJ9Lmljb24tZmVhdGhlci1naWZ0OmJlZm9yZXtjb250ZW50OiJcZTkxOSJ9Lmljb24tZmVhdGhlci1mb2xkZXItbWludXM6YmVmb3Jle2NvbnRlbnQ6IlxlOTFhIn0uaWNvbi1mZWF0aGVyLWdpdC1jb21taXQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTFiIn0uaWNvbi1mZWF0aGVyLWdpdC1icmFuY2g6YmVmb3Jle2NvbnRlbnQ6IlxlOTFjIn0uaWNvbi1mZWF0aGVyLWdpdC1wdWxsLXJlcXVlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlOTFkIn0uaWNvbi1mZWF0aGVyLWdpdC1tZXJnZTpiZWZvcmV7Y29udGVudDoiXGU5MWUifS5pY29uLWZlYXRoZXItbGlua2VkaW46YmVmb3Jle2NvbnRlbnQ6IlxlOTFmIn0uaWNvbi1mZWF0aGVyLWhhcmQtZHJpdmU6YmVmb3Jle2NvbnRlbnQ6IlxlOTIwIn0uaWNvbi1mZWF0aGVyLW1vcmUtdmVydGljYWwtOmJlZm9yZXtjb250ZW50OiJcZTkyMSJ9Lmljb24tZmVhdGhlci1tb3JlLWhvcml6b250YWwtOmJlZm9yZXtjb250ZW50OiJcZTkyMiJ9Lmljb24tZmVhdGhlci1yc3M6YmVmb3Jle2NvbnRlbnQ6IlxlOTIzIn0uaWNvbi1mZWF0aGVyLXNlbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlOTI0In0uaWNvbi1mZWF0aGVyLXNoaWVsZC1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlOTI1In0uaWNvbi1mZWF0aGVyLXNob3BwaW5nLWJhZzpiZWZvcmV7Y29udGVudDoiXGU5MjYifS5pY29uLWZlYXRoZXItdGVybWluYWw6YmVmb3Jle2NvbnRlbnQ6IlxlOTI3In0uaWNvbi1mZWF0aGVyLXRydWNrOmJlZm9yZXtjb250ZW50OiJcZTkyOCJ9Lmljb24tZmVhdGhlci16YXAtb2ZmOmJlZm9yZXtjb250ZW50OiJcZTkyOSJ9Lmljb24tZmVhdGhlci15b3V0dWJlOmJlZm9yZXtjb250ZW50OiJcZTkyYSJ9"}},"time_used":87,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":57,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900\u0026amp;display=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://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.093Z","timestamp":1785129949093,"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 /css?family=Roboto:100,300,400,500,700,900\u0026amp;display=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://digitaltradeinvest.org/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/css; 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 05:25:49 GMT\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\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":32322,"size_decoded":2553,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1572)","md5":"3f6187050711d9d74b8ab25b3f6e5200","sha1":"59d0b38cd2de57d87a5ebd2e65ccd4c387be09a6","sha256":"37a382460785c3cad353e529a56ac0b131c21426e73cdcb3392d52ccf2354444","sha512":"d733796dd0b4d2547b65764fa7568579e95cf81578f5bf3beefdd9ac14a79e80dd4040b1582cb7ca13118ef144c575aa4bdad30714d118d0690087dc559119a0","ssdeep":"768:DFZFCFHFHFY4FRLFuFWFMFsbbYSRv4wFMl22YfRiJhan6BBYERNeWwhQHHYORjUb:9HIHTxj","tlshash":"78e20da10417440097834ce223cebf35fe1f92507142d0b5abfd9b6baddbca652693ad","first_seen":"2026-02-20T17:02:37.659039Z","last_seen":"2026-08-15T13:58:19.132562Z","times_seen":1407,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0dVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM2lVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAxMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hd0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF4S1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0tVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hMy1VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNPVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTN5VUJBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0dVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM2lVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hd0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF4S1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0tVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hMy1VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNPVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTN5VUJBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0K"}},"time_used":329,"timings":{"blocked":-1,"dns":4,"connect":18,"send":0,"wait":32,"receive":0,"ssl":29},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:49.912Z","timestamp":1785129949912,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/ss/k=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/br=1/rs=AGKMywGx4txhFJhcrutKYsfPmS4mFc6oJQ/m=root,base HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/EjB5qFW0bJ8\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 0\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:01:30 GMT\r\nexpires: Sat, 24 Jul 2027 13:01:30 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 05:09:16 GMT\r\ncontent-type: text/css; charset=UTF-8\r\nage: 231859\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":857,"mime_type":"text/css; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-15T16:46:18.775881Z","times_seen":17905015,"resource_available":true,"data":""}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":13,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:49.925Z","timestamp":1785129949925,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 356922\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-15T16:45:42.901566Z","times_seen":965851,"resource_available":false,"data":"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"}},"time_used":19,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/images/apple-touch-icon-114x114.png","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:50.023Z","timestamp":1785129950023,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /images/apple-touch-icon-114x114.png HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:50 GMT\r\ncontent-type: image/webp\r\ncontent-length: 2142\r\ncache-control: public, max-age=604800\r\nage: 88\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 89a33c31e4b4ebd27da15ed4d3c7d629-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":2142,"size_decoded":2445,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"8fcfc36eabcd5e896a3c0a2a94367045","sha1":"be23e18d9d3d86c222b27132988c543d335b32f4","sha256":"3698d72203c42df2693742035f019a9a21276f20f7185df5ab70e8fe078b988a","sha512":"bfc8bc4dca188e2dd4e2e36a6ef6f761b043154234f93f2a13bdc1305c5bf99a19e2472e6327225418a5d34f32fc7864f40dd97c7e230646ddfa2161f5b1ce28","ssdeep":"","tlshash":"1e415a1dde82ae26c30e2c389ac6f360280085cce1347361713c6232daad1c4ce2da04","first_seen":"2026-07-27T03:43:10.662843Z","last_seen":"2026-07-27T12:40:51.537879Z","times_seen":9,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/7083.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.233Z","timestamp":1785129950233,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/7083.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 4286\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:36:00 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 01:55:24 GMT\r\ncache-control: max-age=86400\r\netag: \"24c244a9b134b0b20dc773ff3205ceff\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 12627\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: NahFyNVyJ8tRSUR8UJAp4kyds4DkwAfCNAnH0uuceB0Ik8EntyS39Q==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":4286,"size_decoded":4812,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"24c244a9b134b0b20dc773ff3205ceff","sha1":"4cc2e56268b05b16e8f83994d123b718dbd9aed2","sha256":"965d190fded64a36997b47c11a127aa66fdfa182642f24ba11d1271674142a74","sha512":"66e2c72c9479ae0c4a36f6d8a1a5074f2ffc484fd39bb7a19bd84def584071affe5dd95f960462a713b873042a18302ea921c319d9e177aec1cfbc8d99e87607","ssdeep":"96:qnaFq4eHDfniUwYKYmtTTbnTJXZiTvTYZb51oQpuz:qnaFq4eDfnIYmlTJZuet1puz","tlshash":"74917da5179858b86680474fdfe543cf4f932db31000552f2f90f59a6b38f7a5248cb8","first_seen":"2023-05-08T12:03:54Z","last_seen":"2026-08-15T05:52:08.536234Z","times_seen":1676,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAMAUExURUxpcaNpafnd6vfh7PnL4Pfv8ffG3vz7//nt8vjY5/nu9PrQ4/j19u7u7vfm7vjO4f3x9/ns8vfs8fru9PXc6PLR4evM4vTp7vry9vfs8u3Z4/fp8Pnz9+3n6/r1+Pjz9vry9vLZ5PnD2/fO4ffU5Pb28vjn7/jf7Prp8frz9/r19vnx9ffg6/DS4Pjd6vTc6f////jn7/v1+PfW5PPT4+XX3fr29/LS3/bA2fPR4vu74vfr7//2+u631/nz+fbp7f/0+f7z+f/x+P/4/P/0+/70+//m8/7w9/3p8v7v9v/t9v3l8v/r9f/s9P30+v3n8/3r9P7q9f/m9f3v9vz3+//y+fzk8f/s9/3y+P7o9P/k8v/1/P/v9vvs9P////vo8vru9P3p9Pzx9//3/Pzw+Pnr8//6/fvw9v34/P/o9fzr8v3n9PoCev/8//fx8/7k8f8Dfvrj8Prm8vj1+//k8/wDfv4Befny+Pni7fvl7vUAb/zy+vz+//72+/3u9vz3///u+v33+/AAcPjq8P/p9/rY6f3x//7i8OoGc/vc7P3t9P/U7OoAa//w/Pry/f/4///1//ju9/kGgPUAdPvo7/bM6//z/PGs1/v5+vzS5ed9ufX6/elorvju7/nt+v3j7t5uq/7e7u2/3fzG5Pzy9f/T5/j4+OiGv+MKc/v8//QHfPj//+cjgudcpvjT5//n8P/e8P3O4/Xt9fCVyuAUd+yby/bB5+aky/fT7//N6fHH5eItiPnZ9u8AZ/3v8/XN5+AefP/Z7NMXcfG33/re8PkAcegSe+Ct0PABdf3g9uyIw+UBb/TZ7uxSot0+jutxs/7p+vbg8uBlp+MAZPD19eE2jOys0/S+4u7h8P3q/tsSdffi+uBTnOK+1+NKl9lgoPTn9e+Ox9krfuk6kuJbofvk9uxFm+6i0N0GbPvW7OePvuouif/l/eeWx+3V5few3OF5sNiSts5flvHv8M83g9qDsMtFjNZ3q+DY4NSextROktwAYdu0y9Nsotuhwckqevm4aWsAAACadFJOUwAB/P3+K/4BAv39/f0H/ukZ6bf2hrj+XtDQXW2+F+p1hHn99tAUquv1XY+Mj9HNOwSPOviPKqpt+6r+gj34Lh////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////6HGF5lAAAMtklEQVRYw4xWe1BTdxa+QlkgIFW0itWqu7Wt1u4u6+72j52dndyYcHMJ3ETz8CJNiDExmRCyPEwuBnIhyUghGwkBFCS8igiER7UIyPASURER8Q2KLxzro1rfbafttt09N3S7u3ba3TOTe2cyv/Od7zu/87gI8iMLjoZHdNCq5ZFRc+fJHSvnLopcvjDI/2cw8r+NcY/+89tR89huN1er0TgcNGfXrtiVi1avif5/IODQnGVRXEVRnEPjYLGUYA5H6bZMPpbCWbRsjv/Az1hIMPLa8qUKq4Yll6sJq41HECghxUitx5OelhafOHf5a0hwyM+Fn7VsqYJgsbQkLzGRx0N5PC6bRHkoAUC0PCKQ7567eNZPkgD1f1mikLKMlMTK5lnZKJfN5rJR8EelKBjJkUdkxuyKDPqJTAQHI6vCUxxyQmKzQXAuj82DF+OIoioSniTJwfSBgZyVC5mzP/ZHkLcVJIuy6iQS3WaUx0XZAIH6jWRMRWpVHA6eHliT+zv/8RfSh8x+V6E1EjqdFTIHzNlgPDYTnuHgd1epMA4JJLbnvTkbmfVC/JDZSxQsrUS3xcZjHGfsewEcDkfKwTCMI8XgQqTyzIAdkbNnBb+Qv3cVLMomsUkkPEY8yjDgQWQeSkoxQIDQEB8Ta1X4e6LMgNw3/zuT0aCfRUl0VLiO4ELu2OgP6lVAQKVk4sNPrNRqcRyL/yBgxzv/eZvRyCoFS2mVEJIvAxUqNkFAGjCOiiLJLIoiITy40hhHDfFVNI4PDCQEhsYtREL+ncCg8AyjRGcjvNTTBS3qjCy0oaGe9PmocAoQMEwK4tWYVo3V1+NAQEw7SwMKAoJ+QAgJWZLCkuh0tvIG3dlnR1qqKCq8wfvltR5vtrGeQ2UBAxVHzFJ7tJxYMYY7aSceKwvdGBkS8i8BixW0ygZWXk+1fPJZp8KTQTaM1T16+m2d78JArlqMiYG6ODfQo47FMJrWOJ1xcTWhGxbPpCE4+I2lEpxrBQBJBkFlH/pHYwqhzO4cqrxc90WFz6hW4nIn7kRt6deyKBpzAgDt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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.282Z","timestamp":1785129949282,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover= HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://digitaltradeinvest.org/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=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\naccess-control-allow-origin: *\r\nage: 322839\r\ncache-control: public, max-age=3600, stale-while-revalidate=86400\r\ncontent-disposition: inline\r\npriority: u=4,i=?0\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors *\r\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, accept-encoding\r\nx-content-type-options: nosniff\r\nx-frame-options: SAMEORIGIN\r\nx-matched-path: /widget\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::xjphh-1785129949295-62a75ec88f68\r\nx-xss-protection: 1; mode=block\r\ncf-cache-status: DYNAMIC\r\nserver-timing: cfCacheStatus;desc=\"DYNAMIC\", cfEdge;dur=3,cfOrigin;dur=30, cfExtPri\r\ncontent-encoding: zstd\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Q7hEcuBhMt%2Br2g%2BXPVdFwe7bZztrZruOaxPa80e2tKgW%2FXOgK2KSuh0OmZHUqgf%2F%2BUzETD7KS1eiGkhkaEn5HO2OWuTvMyKIzS%2FnVTTEc6osKcU4N1pBPzEghy%2Bf\"}]}\r\ncf-ray: a21939c70d0ba0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\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":"Cloudflare Browser Insights","description":"Cloudflare Browser Insights is a tool that measures the performance of websites from the perspective of users.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Analytics","RUM"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":264025,"size_decoded":33862,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (62918)","md5":"0b66e1b457bb677d8f58fbbe7d1dc0d3","sha1":"21d7b46ede1a80096ad8c0b24ac09e2b9d13baf6","sha256":"2d3fd1241a3c0c323de2b5fea043ea12d3cdf4aa2b288e3911976bb0ec53482c","sha512":"23db906319bb67d11230275571b08ff1a73b3c64c7aa9040d8797999624a297c817a1fad43c8a195e1eb6292fd7799ad2ba1fa36539482afc36f680433297406","ssdeep":"6144:cuwdzaVM7XPgFm+eQQ6L/c7kXl528IyIn:lMQ41k9Sn","tlshash":"7744b464f228ea7ebd3778ac92bce84c320571a1d9f847dde911b2119fc3bf25929114","first_seen":"2026-07-23T13:38:20.379492Z","last_seen":"2026-07-29T06:14:00.404739Z","times_seen":959,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PCEtLVMxSjJHRV9qQzlkRTl5aGE5aEFfdC0tPjxodG1sIGxhbmc9ImVuIj48aGVhZD48bWV0YSBjaGFyU2V0PSJ1dGYtOCIvPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdmlld3BvcnQtZml0PWNvdmVyIi8+PGxpbmsgcmVsPSJwcmVsb2FkIiBocmVmPSIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjNhNmJhMDM2LndvZmYyIiBhcz0iZm9udCIgY3Jvc3NvcmlnaW49IiIgdHlwZT0iZm9udC93b2ZmMiIvPjxzdHlsZSBkYXRhLXByZWNlZGVuY2U9Im5leHQiIGRhdGEtaHJlZj0iL19uZXh0L3N0YXRpYy9jaHVua3MvMDcyNWZjNGRiODE0ZjAzNS5jc3MgL19uZXh0L3N0YXRpYy9jaHVua3MvYjM0ZWJiOGFlZmYyMTg2ZS5jc3MiPkBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzJjNTVhMGU2MDEyMDU3N2Etcy4yYTQ4NTM0YS53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzQ2MC01MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzljNzJhYTBmNDBlNGVlZjgtcy4xOGE0OGNiYy53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzMwMSxVKzQwMC00NUYsVSs0OTAtNDkxLFUrNEIwLTRCMSxVKzIxMTZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvYWQ2NmY5YWZkODk0N2Y4Ni1zLjdhNDBlYjczLndvZmYyKWZvcm1hdCgid29mZjIiKTt1bmljb2RlLXJhbmdlOlUrMUY/P31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS81NDc2ZjY4ZDYwNDYwOTMwLXMuYzk5NWUzNTIud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSszNzAtMzc3LFUrMzdBLTM3RixVKzM4NC0zOEEsVSszOEMsVSszOEUtM0ExLFUrM0EzLTNGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS8yYmJlOGQyNjcxNjEzZjFmLXMuNzZkY2IwYjIud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSsxMDItMTAzLFUrMTEwLTExMSxVKzEyOC0xMjksVSsxNjgtMTY5LFUrMUEwLTFBMSxVKzFBRi0xQjAsVSszMDAtMzAxLFUrMzAzLTMwNCxVKzMwOC0zMDksVSszMjMsVSszMjksVSsxRUEwLTFFRjksVSsyMEFCfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzFiZmZhZGFhYmY4OTNhMWUtcy43Y2Q4MTk2My53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzEwMC0yQkEsVSsyQkQtMkM1LFUrMkM3LTJDQyxVKzJDRS0yRDcsVSsyREQtMkZGLFUrMzA0LFUrMzA4LFUrMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvODNhZmUyNzhiNmE2YmIzYy1zLnAuM2E2YmEwMzYud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSs/PyxVKzEzMSxVKzE1Mi0xNTMsVSsyQkItMkJDLFUrMkM2LFUrMkRBLFUrMkRDLFUrMzA0LFUrMzA4LFUrMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkR9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlciBGYWxsYmFjaztzcmM6bG9jYWwoQXJpYWwpO2FzY2VudC1vdmVycmlkZTo5MC40NCU7ZGVzY2VudC1vdmVycmlkZToyMi41MiU7bGluZS1nYXAtb3ZlcnJpZGU6MC4wJTtzaXplLWFkanVzdDoxMDcuMTIlfS5pbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fY2xhc3NOYW1le2ZvbnQtZmFtaWx5OkludGVyLEludGVyIEZhbGxiYWNrO2ZvbnQtc3R5bGU6bm9ybWFsfS5pbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGV7LS1mb250LWludGVyOiJJbnRlciIsIkludGVyIEZhbGxiYWNrIn0KQGxheWVyIHByb3BlcnRpZXN7QHN1cHBvcnRzICgoKC13ZWJraXQtaHlwaGVuczpub25lKSkgYW5kIChub3QgKG1hcmdpbi10cmltOmlubGluZSkpKSBvciAoKC1tb3otb3JpZW50OmlubGluZSkgYW5kIChub3QgKGNvbG9yOnJnYihmcm9tIHJlZCByIGcgYikpKSl7Kiw6YmVmb3JlLDphZnRlciw6OmJhY2tkcm9wey0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy10cmFuc2xhdGUtejowOy0tdHctcm90YXRlLXg6aW5pdGlhbDstLXR3LXJvdGF0ZS15OmluaXRpYWw7LS10dy1yb3RhdGUtejppbml0aWFsOy0tdHctc2tldy14OmluaXRpYWw7LS10dy1za2V3LXk6aW5pdGlhbDstLXR3LXNwYWNlLXktcmV2ZXJzZTowOy0tdHctc3BhY2UteC1yZXZlcnNlOjA7LS10dy1kaXZpZGUteS1yZXZlcnNlOjA7LS10dy1ib3JkZXItc3R5bGU6c29saWQ7LS10dy1ncmFkaWVudC1wb3NpdGlvbjppbml0aWFsOy0tdHctZ3JhZGllbnQtZnJvbTojMDAwMDstLXR3LWdyYWRpZW50LXZpYTojMDAwMDstLXR3LWdyYWRpZW50LXRvOiMwMDAwOy0tdHctZ3JhZGllbnQtc3RvcHM6aW5pdGlhbDstLXR3LWdyYWRpZW50LXZpYS1zdG9wczppbml0aWFsOy0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjowJTstLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCU7LS10dy1ncmFkaWVudC10by1wb3NpdGlvbjoxMDAlOy0tdHctbGVhZGluZzppbml0aWFsOy0tdHctZm9udC13ZWlnaHQ6aW5pdGlhbDstLXR3LXRyYWNraW5nOmluaXRpYWw7LS10dy1vcmRpbmFsOmluaXRpYWw7LS10dy1zbGFzaGVkLXplcm86aW5pdGlhbDstLXR3LW51bWVyaWMtZmlndXJlOmluaXRpYWw7LS10dy1udW1lcmljLXNwYWNpbmc6aW5pdGlhbDstLXR3LW51bWVyaWMtZnJhY3Rpb246aW5pdGlhbDstLXR3LXNoYWRvdzowIDAgIzAwMDA7LS10dy1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LXNoYWRvdy1hbHBoYToxMDAlOy0tdHctaW5zZXQtc2hhZG93OjAgMCAjMDAwMDstLXR3LWluc2V0LXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctaW5zZXQtc2hhZG93LWFscGhhOjEwMCU7LS10dy1yaW5nLWNvbG9yOmluaXRpYWw7LS10dy1yaW5nLXNoYWRvdzowIDAgIzAwMDA7LS10dy1pbnNldC1yaW5nLWNvbG9yOmluaXRpYWw7LS10dy1pbnNldC1yaW5nLXNoYWRvdzowIDAgIzAwMDA7LS10dy1yaW5nLWluc2V0OmluaXRpYWw7LS10dy1yaW5nLW9mZnNldC13aWR0aDowcHg7LS10dy1yaW5nLW9mZnNldC1jb2xvcjojZmZmOy0tdHctcmluZy1vZmZzZXQtc2hhZG93OjAgMCAjMDAwMDstLXR3LW91dGxpbmUtc3R5bGU6c29saWQ7LS10dy1ibHVyOmluaXRpYWw7LS10dy1icmlnaHRuZXNzOmluaXRpYWw7LS10dy1jb250cmFzdDppbml0aWFsOy0tdHctZ3JheXNjYWxlOmluaXRpYWw7LS10dy1odWUtcm90YXRlOmluaXRpYWw7LS10dy1pbnZlcnQ6aW5pdGlhbDstLXR3LW9wYWNpdHk6aW5pdGlhbDstLXR3LXNhdHVyYXRlOmluaXRpYWw7LS10dy1zZXBpYTppbml0aWFsOy0tdHctZHJvcC1zaGFkb3c6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdy1hbHBoYToxMDAlOy0tdHctZHJvcC1zaGFkb3ctc2l6ZTppbml0aWFsOy0tdHctYmFja2Ryb3AtYmx1cjppbml0aWFsOy0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczppbml0aWFsOy0tdHctYmFja2Ryb3AtY29udHJhc3Q6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTppbml0aWFsOy0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTppbml0aWFsOy0tdHctYmFja2Ryb3AtaW52ZXJ0OmluaXRpYWw7LS10dy1iYWNrZHJvcC1vcGFjaXR5OmluaXRpYWw7LS10dy1iYWNrZHJvcC1zYXR1cmF0ZTppbml0aWFsOy0tdHctYmFja2Ryb3Atc2VwaWE6aW5pdGlhbDstLXR3LWR1cmF0aW9uOmluaXRpYWw7LS10dy1lYXNlOmluaXRpYWw7LS10dy1jb250ZW50OiIiOy0tdHctYW5pbWF0aW9uLWRlbGF5OjBzOy0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7LS10dy1hbmltYXRpb24tZHVyYXRpb246aW5pdGlhbDstLXR3LWFuaW1hdGlvbi1maWxsLW1vZGU6bm9uZTstLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTstLXR3LWVudGVyLWJsdXI6MDstLXR3LWVudGVyLW9wYWNpdHk6MTstLXR3LWVudGVyLXJvdGF0ZTowOy0tdHctZW50ZXItc2NhbGU6MTstLXR3LWVudGVyLXRyYW5zbGF0ZS14OjA7LS10dy1lbnRlci10cmFuc2xhdGUteTowOy0tdHctZXhpdC1ibHVyOjA7LS10dy1leGl0LW9wYWNpdHk6MTstLXR3LWV4aXQtcm90YXRlOjA7LS10dy1leGl0LXNjYWxlOjE7LS10dy1leGl0LXRyYW5zbGF0ZS14OjA7LS10dy1leGl0LXRyYW5zbGF0ZS15OjB9fX1AbGF5ZXIgdGhlbWV7OnJvb3QsOmhvc3R7LS1jb2xvci1yZWQtNTAwOiNmYjJjMzY7LS1jb2xvci1vcmFuZ2UtNTAwOiNmZTZlMDA7LS1jb2xvci1ncmVlbi00MDA6IzA1ZGY3MjstLWNvbG9yLWdyZWVuLTYwMDojMDBhNTQ0Oy0tY29sb3ItYmxhY2s6IzAwMDstLWNvbG9yLXdoaXRlOiNmZmY7LS1zcGFjaW5nOi4yNXJlbTstLWNvbnRhaW5lci14czoyMHJlbTstLWNvbnRhaW5lci1zbToyNHJlbTstLWNvbnRhaW5lci1tZDoyOHJlbTstLWNvbnRhaW5lci1sZzozMnJlbTstLWNvbnRhaW5lci14bDozNnJlbTstLWNvbnRhaW5lci0yeGw6NDJyZW07LS1jb250YWluZXItM3hsOjQ4cmVtOy0tY29udGFpbmVyLTR4bDo1NnJlbTstLWNvbnRhaW5lci03eGw6ODByZW07LS10ZXh0LXhzOi43NXJlbTstLXRleHQteHMtLWxpbmUtaGVpZ2h0OmNhbGMoMS8uNzUpOy0tdGV4dC1zbTouODc1cmVtOy0tdGV4dC1zbS0tbGluZS1oZWlnaHQ6Y2FsYygxLjI1Ly44NzUpOy0tdGV4dC1iYXNlOjFyZW07LS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0OmNhbGMoMS41LzEpOy0tdGV4dC1sZzoxLjEyNXJlbTstLXRleHQtbGctLWxpbmUtaGVpZ2h0OmNhbGMoMS43NS8xLjEyNSk7LS10ZXh0LXhsOjEuMjVyZW07LS10ZXh0LXhsLS1saW5lLWhlaWdodDpjYWxjKDEuNzUvMS4yNSk7LS10ZXh0LTJ4bDoxLjVyZW07LS10ZXh0LTJ4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLzEuNSk7LS10ZXh0LTN4bDoxLjg3NXJlbTstLXRleHQtM3hsLS1saW5lLWhlaWdodDpjYWxjKDIuMjUvMS44NzUpOy0tdGV4dC00eGw6Mi4yNXJlbTstLXRleHQtNHhsLS1saW5lLWhlaWdodDpjYWxjKDIuNS8yLjI1KTstLXRleHQtNnhsOjMuNzVyZW07LS10ZXh0LTZ4bC0tbGluZS1oZWlnaHQ6MTstLWZvbnQtd2VpZ2h0LW5vcm1hbDo0MDA7LS1mb250LXdlaWdodC1tZWRpdW06NTAwOy0tZm9udC13ZWlnaHQtc2VtaWJvbGQ6NjAwOy0tZm9udC13ZWlnaHQtYm9sZDo3MDA7LS10cmFja2luZy10aWdodDotLjAyNWVtOy0tdHJhY2tpbmctd2lkZTouMDI1ZW07LS10cmFja2luZy13aWRlc3Q6LjFlbTstLWxlYWRpbmctdGlnaHQ6MS4yNTstLWxlYWRpbmctc251ZzoxLjM3NTstLWxlYWRpbmctcmVsYXhlZDoxLjYyNTstLXJhZGl1cy1tZDpjYWxjKHZhcigtLXJhZGl1cykqLjgpOy0tZWFzZS1pbi1vdXQ6Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LS1hbmltYXRlLXNwaW46c3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7LS1hbmltYXRlLXB1bHNlOnB1bHNlIDJzIGN1YmljLWJlemllciguNCwwLC42LDEpaW5maW5pdGU7LS1ibHVyLXhzOjRweDstLWJsdXItc206OHB4Oy0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7LS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tZGVmYXVsdC1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZjstLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn1Ac3VwcG9ydHMgKGNvbG9yOmxhYigwJSAwIDApKXs6cm9vdCw6aG9zdHstLWNvbG9yLXJlZC01MDA6bGFiKDU1LjQ4MTQlIDc1LjA3MzIgNDguODUyOCk7LS1jb2xvci1vcmFuZ2UtNTAwOmxhYig2NC4yNzIlIDU3LjE3ODggOTAuMzU4Myk7LS1jb2xvci1ncmVlbi00MDA6bGFiKDc4LjUwMyUgLTY0LjkyNjUgMzkuNzQ5Mik7LS1jb2xvci1ncmVlbi02MDA6bGFiKDU5LjA5NzglIC01OC42NjIxIDQxLjI1NzkpfX19QGxheWVyIGJhc2V7Kiw6YWZ0ZXIsOmJlZm9yZSw6OmJhY2tkcm9we2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjAgc29saWQ7bWFyZ2luOjA7cGFkZGluZzowfWh0bWwsOmhvc3R7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7dGFiLXNpemU6NDtsaW5lLWhlaWdodDoxLjU7Zm9udC1mYW1pbHk6dmFyKC0tZGVmYXVsdC1mb250LWZhbWlseSx1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSIpO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtZmVhdHVyZS1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtZm9udC12YXJpYXRpb24tc2V0dGluZ3Msbm9ybWFsKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDstd2Via2l0LXRleHQtZGVjb3JhdGlvbjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mYW1pbHk6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5LHVpLW1vbm9zcGFjZSxTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsIkxpYmVyYXRpb24gTW9ubyIsIkNvdXJpZXIgTmV3Iixtb25vc3BhY2UpO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LW1vbm8tZm9udC1mZWF0dXJlLXNldHRpbmdzLG5vcm1hbCk7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7Zm9udC1zaXplOjFlbX1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19dGFibGV7dGV4dC1pbmRlbnQ6MDtib3JkZXItY29sb3I6aW5oZXJpdDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9Oi1tb3otZm9jdXNyaW5ne291dGxpbmU6YXV0b31wcm9ncmVzc3t2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfW9sLHVsLG1lbnV7bGlzdC1zdHlsZTpub25lfWltZyxzdmcsdmlkZW8sY2FudmFzLGF1ZGlvLGlmcmFtZSxlbWJlZCxvYmplY3R7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6YmxvY2t9aW1nLHZpZGVve21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfWJ1dHRvbixpbnB1dCxzZWxlY3Qsb3B0Z3JvdXAsdGV4dGFyZWF7Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2ZvbnQ6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtvcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjojMDAwMDtib3JkZXItcmFkaXVzOjB9OndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3Vwe2ZvbnQtd2VpZ2h0OmJvbGRlcn06d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXAgb3B0aW9ue3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnttYXJnaW4taW5saW5lLWVuZDo0cHh9OjpwbGFjZWhvbGRlcntvcGFjaXR5OjF9QHN1cHBvcnRzIChub3QgKCgtd2Via2l0LWFwcGVhcmFuY2U6LWFwcGxlLXBheS1idXR0b24pKSkgb3IgKGNvbnRhaW4taW50cmluc2ljLXNpemU6MXB4KXs6OnBsYWNlaG9sZGVye2NvbG9yOmN1cnJlbnRDb2xvcn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7OjpwbGFjZWhvbGRlcntjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsY3VycmVudGNvbG9yIDUwJSx0cmFuc3BhcmVudCl9fX10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVle21pbi1oZWlnaHQ6MWxoO3RleHQtYWxpZ246aW5oZXJpdH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdHtkaXNwbGF5OmlubGluZS1mbGV4fTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVye3BhZGRpbmc6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1zZWNvbmQtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tZXJpZGllbS1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3J7bGluZS1oZWlnaHQ6MX06LW1vei11aS1pbnZhbGlke2JveC1zaGFkb3c6bm9uZX1idXR0b24saW5wdXQ6d2hlcmUoW3R5cGU9YnV0dG9uXSxbdHlwZT1yZXNldF0sW3R5cGU9c3VibWl0XSl7YXBwZWFyYW5jZTpidXR0b259OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnthcHBlYXJhbmNlOmJ1dHRvbn06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVtoaWRkZW5dOndoZXJlKDpub3QoW2hpZGRlbj11bnRpbC1mb3VuZF0pKXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fSp7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcik7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7KntvdXRsaW5lLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKTtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKTtmb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSx1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWZ9Y29kZSxwcmUsa2Jke2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLCJJbnRlciIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxzYW5zLXNlcmlmfX1AbGF5ZXIgY29tcG9uZW50cztAbGF5ZXIgdXRpbGl0aWVzey5cQGNvbnRhaW5lclwvY2FyZC1oZWFkZXJ7Y29udGFpbmVyOmNhcmQtaGVhZGVyL2lubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LmNvbGxhcHNle3Zpc2liaWxpdHk6Y29sbGFwc2V9LnZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS5zci1vbmx5e2NsaXAtcGF0aDppbnNldCg1MCUpO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGF0aWN7cG9zaXRpb246c3RhdGljfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS5pbnNldC0we2luc2V0OmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmluc2V0LXgtMHtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaW5zZXQteC00e2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5pbnNldC15LTB7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uc3RhcnR7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXNwYWNpbmcpfS5lbmR7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1zcGFjaW5nKX0uLXRvcC0ye3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0udG9wLTB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnRvcC0wXC41e3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0udG9wLTFcLzJ7dG9wOjUwJX0udG9wLTFcLzN7dG9wOjMzLjMzMzMlfS50b3AtMnt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0udG9wLTN7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnRvcC0xNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnRvcC0xMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwKX0udG9wLTEwMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwMCl9LnRvcC1mdWxse3RvcDoxMDAlfS4tcmlnaHQtMntyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0ucmlnaHQtMHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5yaWdodC0ye3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnJpZ2h0LTJcLjV7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5yaWdodC0ze3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmJvdHRvbS0we2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5ib3R0b20tMjB7Ym90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMjApfS5sZWZ0LTB7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5sZWZ0LTBcLjV7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubGVmdC0xXC8ye2xlZnQ6NTAlfS5sZWZ0LTJcLjV7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LmxlZnQtM3tsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmxlZnQtNHtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmxlZnQtMTB7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0uaXNvbGF0ZXtpc29sYXRpb246aXNvbGF0ZX0uei0xMHt6LWluZGV4OjEwfS56LTIwe3otaW5kZXg6MjB9LnotMzB7ei1pbmRleDozMH0uei00MHt6LWluZGV4OjQwfS56LTUwe3otaW5kZXg6NTB9Lm9yZGVyLWZpcnN0e29yZGVyOi05OTk5fS5vcmRlci1sYXN0e29yZGVyOjk5OTl9LmNvbC1zdGFydC0ye2dyaWQtY29sdW1uLXN0YXJ0OjJ9LnJvdy1zcGFuLTJ7Z3JpZC1yb3c6c3BhbiAyL3NwYW4gMn0ucm93LXN0YXJ0LTF7Z3JpZC1yb3ctc3RhcnQ6MX0uY29udGFpbmVye3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NDhyZW19fUBtZWRpYSAobWluLXdpZHRoOjY0cmVtKXsuY29udGFpbmVye21heC13aWR0aDo2NHJlbX19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjgwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo5NnJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6OTZyZW19fS4tbXgtMXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqLTEpfS4tbXgtNHttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5teC0xe21hcmdpbi1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXgtNHttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm14LWF1dG97bWFyZ2luLWlubGluZTphdXRvfS5teS0xe21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5teS0ye21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wcm9zZXtjb2xvcjp2YXIoLS10dy1wcm9zZS1ib2R5KTttYXgtd2lkdGg6NjVjaH0ucHJvc2UgOndoZXJlKHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW07bWFyZ2luLWJvdHRvbToxLjI1ZW19LnByb3NlIDp3aGVyZShbY2xhc3N+PWxlYWRdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWxlYWQpO21hcmdpbi10b3A6MS4yZW07bWFyZ2luLWJvdHRvbToxLjJlbTtmb250LXNpemU6MS4yNWVtO2xpbmUtaGVpZ2h0OjEuNn0ucHJvc2UgOndoZXJlKGEpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtbGlua3MpO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5wcm9zZSA6d2hlcmUoc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWJvbGQpO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGEgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZSh0aGVhZCB0aCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNjI1ZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZShvbFt0eXBlPUFdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1BIHNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPUldKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5wcm9zZSA6d2hlcmUob2xbdHlwZT1JIHNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPSIxIl0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5wcm9zZSA6d2hlcmUob2w+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6Om1hcmtlcntjb2xvcjp2YXIoLS10dy1wcm9zZS1jb3VudGVycyk7Zm9udC13ZWlnaHQ6NDAwfS5wcm9zZSA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6Om1hcmtlcntjb2xvcjp2YXIoLS10dy1wcm9zZS1idWxsZXRzKX0ucHJvc2UgOndoZXJlKGR0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjEuMjVlbTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItY29sb3I6dmFyKC0tdHctcHJvc2UtaHIpO2JvcmRlci10b3Atd2lkdGg6MXB4O21hcmdpbi10b3A6M2VtO21hcmdpbi1ib3R0b206M2VtfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1xdW90ZXMpO2JvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6LjI1cmVtO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGUtYm9yZGVycyk7cXVvdGVzOiLigJwiIuKAnSIi4oCYIiLigJkiO21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbToxLjZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBwOmZpcnN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3Jle2NvbnRlbnQ6b3Blbi1xdW90ZX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YWZ0ZXJ7Y29udGVudDpjbG9zZS1xdW90ZX0ucHJvc2UgOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODg4ODg5ZW07Zm9udC1zaXplOjIuMjVlbTtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MS4xMTExMX0ucHJvc2UgOndoZXJlKGgxIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjkwMH0ucHJvc2UgOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjFlbTtmb250LXNpemU6MS41ZW07Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMzMzMzN9LnByb3NlIDp3aGVyZShoMiBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo4MDB9LnByb3NlIDp3aGVyZShoMyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjZlbTttYXJnaW4tYm90dG9tOi42ZW07Zm9udC1zaXplOjEuMjVlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS42fS5wcm9zZSA6d2hlcmUoaDMgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NzAwfS5wcm9zZSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO21hcmdpbi10b3A6MS41ZW07bWFyZ2luLWJvdHRvbTouNWVtO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjV9LnByb3NlIDp3aGVyZShoNCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo3MDB9LnByb3NlIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2Rpc3BsYXk6YmxvY2t9LnByb3NlIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1rYmQpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKSwwIDNweCAwIHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKTtwYWRkaW5nLXRvcDouMTg3NWVtO3BhZGRpbmctaW5saW5lLWVuZDouMzc1ZW07cGFkZGluZy1ib3R0b206LjE4NzVlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jb2RlKTtmb250LXNpemU6Ljg3NWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3JlLC5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50OiJgIn0ucHJvc2UgOndoZXJlKGEgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGgxIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKGgyIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXNpemU6Ljg3NWVtfS5wcm9zZSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTouOWVtfS5wcm9zZSA6d2hlcmUoaDQgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKHRoZWFkIHRoIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKHByZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtY29kZSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtYmcpO3BhZGRpbmctdG9wOi44NTcxNDNlbTtwYWRkaW5nLWlubGluZS1lbmQ6MS4xNDI4NmVtO3BhZGRpbmctYm90dG9tOi44NTcxNDNlbTtib3JkZXItcmFkaXVzOi4zNzVyZW07bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS4xNDI4NmVtO2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNzE0Mjk7b3ZlcmZsb3cteDphdXRvfS5wcm9zZSA6d2hlcmUocHJlIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC13ZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci13aWR0aDowO2JvcmRlci1yYWRpdXM6MDtwYWRkaW5nOjB9LnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTpiZWZvcmUsLnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50Om5vbmV9LnByb3NlIDp3aGVyZSh0YWJsZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt0YWJsZS1sYXlvdXQ6YXV0bzt3aWR0aDoxMDAlO21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2ZvbnQtc2l6ZTouODc1ZW07bGluZS1oZWlnaHQ6MS43MTQyOX0ucHJvc2UgOndoZXJlKHRoZWFkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MXB4O2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tdHctcHJvc2UtdGgtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7dmVydGljYWwtYWxpZ246Ym90dG9tO3BhZGRpbmctaW5saW5lLWVuZDouNTcxNDI5ZW07cGFkZGluZy1ib3R0b206LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi41NzE0MjllbTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZSh0Ym9keSB0cik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItYm90dG9tLXdpZHRoOjFweDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLXR3LXByb3NlLXRkLWJvcmRlcnMpfS5wcm9zZSA6d2hlcmUodGJvZHkgdHI6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItYm90dG9tLXdpZHRoOjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ucHJvc2UgOndoZXJlKHRmb290KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci10b3Atd2lkdGg6MXB4O2JvcmRlci10b3AtY29sb3I6dmFyKC0tdHctcHJvc2UtdGgtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnByb3NlIDp3aGVyZSh0aCx0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt0ZXh0LWFsaWduOnN0YXJ0fS5wcm9zZSA6d2hlcmUoZmlndXJlPiopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGZpZ2NhcHRpb24pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtY2FwdGlvbnMpO21hcmdpbi10b3A6Ljg1NzE0M2VtO2ZvbnQtc2l6ZTouODc1ZW07bGluZS1oZWlnaHQ6MS40Mjg1N30ucHJvc2V7LS10dy1wcm9zZS1ib2R5OiMzNjQxNTM7LS10dy1wcm9zZS1oZWFkaW5nczojMTAxODI4Oy0tdHctcHJvc2UtbGVhZDojNGE1NTY1Oy0tdHctcHJvc2UtbGlua3M6IzEwMTgyODstLXR3LXByb3NlLWJvbGQ6IzEwMTgyODstLXR3LXByb3NlLWNvdW50ZXJzOiM2YTcyODI7LS10dy1wcm9zZS1idWxsZXRzOiNkMWQ1ZGM7LS10dy1wcm9zZS1ocjojZTVlN2ViOy0tdHctcHJvc2UtcXVvdGVzOiMxMDE4Mjg7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOiNlNWU3ZWI7LS10dy1wcm9zZS1jYXB0aW9uczojNmE3MjgyOy0tdHctcHJvc2Uta2JkOiMxMDE4Mjg7LS10dy1wcm9zZS1rYmQtc2hhZG93czojMTAxODI4MWE7LS10dy1wcm9zZS1jb2RlOiMxMDE4Mjg7LS10dy1wcm9zZS1wcmUtY29kZTojZTVlN2ViOy0tdHctcHJvc2UtcHJlLWJnOiMxZTI5Mzk7LS10dy1wcm9zZS10aC1ib3JkZXJzOiNkMWQ1ZGM7LS10dy1wcm9zZS10ZC1ib3JkZXJzOiNlNWU3ZWI7LS10dy1wcm9zZS1pbnZlcnQtYm9keTojZDFkNWRjOy0tdHctcHJvc2UtaW52ZXJ0LWhlYWRpbmdzOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtbGVhZDojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWxpbmtzOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtYm9sZDojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWNvdW50ZXJzOiM5OWExYWY7LS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0czojNGE1NTY1Oy0tdHctcHJvc2UtaW52ZXJ0LWhyOiMzNjQxNTM7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGVzOiNmM2Y0ZjY7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVyczojMzY0MTUzOy0tdHctcHJvc2UtaW52ZXJ0LWNhcHRpb25zOiM5OWExYWY7LS10dy1wcm9zZS1pbnZlcnQta2JkOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQta2JkLXNoYWRvd3M6I2ZmZmZmZjFhOy0tdHctcHJvc2UtaW52ZXJ0LWNvZGU6I2ZmZjstLXR3LXByb3NlLWludmVydC1wcmUtY29kZTojZDFkNWRjOy0tdHctcHJvc2UtaW52ZXJ0LXByZS1iZzojMDAwMDAwODA7LS10dy1wcm9zZS1pbnZlcnQtdGgtYm9yZGVyczojNGE1NTY1Oy0tdHctcHJvc2UtaW52ZXJ0LXRkLWJvcmRlcnM6IzM2NDE1Mztmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjc1fUBzdXBwb3J0cyAoY29sb3I6bGFiKDAlIDAgMCkpey5wcm9zZXstLXR3LXByb3NlLWJvZHk6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWhlYWRpbmdzOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtbGVhZDpsYWIoMzUuNjMzNyUgLTEuNTg2OTcgLTEwLjg0MjUpOy0tdHctcHJvc2UtbGlua3M6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1ib2xkOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtY291bnRlcnM6bGFiKDQ3Ljc4NDElIC0uMzkzMTgyIC0xMC4wMjY4KTstLXR3LXByb3NlLWJ1bGxldHM6bGFiKDg1LjEyMzYlIC0uNjEyMjU5IC0zLjcxMzgpOy0tdHctcHJvc2UtaHI6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLXF1b3RlczpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLXF1b3RlLWJvcmRlcnM6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLWNhcHRpb25zOmxhYig0Ny43ODQxJSAtLjM5MzE4MiAtMTAuMDI2OCk7LS10dy1wcm9zZS1rYmQ6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1rYmQtc2hhZG93czpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0Ly4xKTstLXR3LXByb3NlLWNvZGU6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1wcmUtY29kZTpsYWIoOTEuNjIyOSUgLS4xNTkxMTUgLTIuMjY3OTEpOy0tdHctcHJvc2UtcHJlLWJnOmxhYigxNi4xMDUxJSAtMS4xODIzOSAtMTEuNzUzMyk7LS10dy1wcm9zZS10aC1ib3JkZXJzOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLXRkLWJvcmRlcnM6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLWludmVydC1ib2R5OmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWludmVydC1sZWFkOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtY291bnRlcnM6bGFiKDY1LjkyNjklIC0uODMyNzA3IC04LjE3NDczKTstLXR3LXByb3NlLWludmVydC1idWxsZXRzOmxhYigzNS42MzM3JSAtMS41ODY5NyAtMTAuODQyNSk7LS10dy1wcm9zZS1pbnZlcnQtaHI6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWludmVydC1xdW90ZXM6bGFiKDk2LjE1OTYlIC0uMDgyMzQzOCAtMS4xMzU3NSk7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVyczpsYWIoMjcuMTEzNCUgLS45NTY0MDEgLTEyLjMyMjQpOy0tdHctcHJvc2UtaW52ZXJ0LWNhcHRpb25zOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGU6bGFiKDg1LjEyMzYlIC0uNjEyMjU5IC0zLjcxMzgpOy0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnM6bGFiKDM1LjYzMzclIC0xLjU4Njk3IC0xMC44NDI1KTstLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzOmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCl9fS5wcm9zZSA6d2hlcmUocGljdHVyZT5pbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjVlbTttYXJnaW4tYm90dG9tOi41ZW19LnByb3NlIDp3aGVyZShvbD5saSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKHVsPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT51bD5saSBwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljc1ZW07bWFyZ2luLWJvdHRvbTouNzVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT51bD5saT5wOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPnVsPmxpPnA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMjVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT5vbD5saT5wOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPm9sPmxpPnA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMjVlbX0ucHJvc2UgOndoZXJlKHVsIHVsLHVsIG9sLG9sIHVsLG9sIG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljc1ZW07bWFyZ2luLWJvdHRvbTouNzVlbX0ucHJvc2UgOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoZGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNjI1ZW19LnByb3NlIDp3aGVyZShocisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGgzKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZShoNCsqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKHRoZWFkIHRoOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlIDp3aGVyZSh0aGVhZCB0aDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZSA6d2hlcmUodGJvZHkgdGQsdGZvb3QgdGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLWVuZDouNTcxNDI5ZW07cGFkZGluZy1ib3R0b206LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi41NzE0MjllbX0ucHJvc2UgOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZSgucHJvc2U+OmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKC5wcm9zZT46bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxne2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc3Nzc4fS5wcm9zZS1sZyA6d2hlcmUocCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKFtjbGFzc349bGVhZF0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjA5MDkxZW07bWFyZ2luLWJvdHRvbToxLjA5MDkxZW07Zm9udC1zaXplOjEuMjIyMjJlbTtsaW5lLWhlaWdodDoxLjQ1NDU1fS5wcm9zZS1sZyA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLWxnIDp3aGVyZShoMSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODMzMzMzZW07Zm9udC1zaXplOjIuNjY2NjdlbTtsaW5lLWhlaWdodDoxfS5wcm9zZS1sZyA6d2hlcmUoaDIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjg2NjY3ZW07bWFyZ2luLWJvdHRvbToxLjA2NjY3ZW07Zm9udC1zaXplOjEuNjY2NjdlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1sZyA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjY2NjY3ZW07bWFyZ2luLWJvdHRvbTouNjY2NjY3ZW07Zm9udC1zaXplOjEuMzMzMzNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZShoNCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOi40NDQ0NDRlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1sZyA6d2hlcmUoaW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUocGljdHVyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKHBpY3R1cmU+aW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxnIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouMjIyMjIyZW07cGFkZGluZy1pbmxpbmUtZW5kOi40NDQ0NDRlbTtwYWRkaW5nLWJvdHRvbTouMjIyMjIyZW07Ym9yZGVyLXJhZGl1czouMzEyNXJlbTtwYWRkaW5nLWlubGluZS1zdGFydDouNDQ0NDQ0ZW07Zm9udC1zaXplOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGgyIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NjY2NjdlbX0ucHJvc2UtbGcgOndoZXJlKGgzIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NzVlbX0ucHJvc2UtbGcgOndoZXJlKHByZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDoxZW07cGFkZGluZy1pbmxpbmUtZW5kOjEuNWVtO3BhZGRpbmctYm90dG9tOjFlbTtib3JkZXItcmFkaXVzOi4zNzVyZW07bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS41ZW07Zm9udC1zaXplOi44ODg4ODllbTtsaW5lLWhlaWdodDoxLjc1fS5wcm9zZS1sZyA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU1NTU2ZW19LnByb3NlLWxnIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi42NjY2NjdlbTttYXJnaW4tYm90dG9tOi42NjY2NjdlbX0ucHJvc2UtbGcgOndoZXJlKG9sPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQ0NDQ0NGVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnPnVsPmxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouODg4ODg5ZW07bWFyZ2luLWJvdHRvbTouODg4ODg5ZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGc+dWw+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz51bD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGc+b2w+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz5vbD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSh1bCB1bCx1bCBvbCxvbCB1bCxvbCBvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi44ODg4ODllbTttYXJnaW4tYm90dG9tOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoZHQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU1NTU2ZW19LnByb3NlLWxnIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjMuMTExMTFlbTttYXJnaW4tYm90dG9tOjMuMTExMTFlbX0ucHJvc2UtbGcgOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1sZyA6d2hlcmUodGFibGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44ODg4ODllbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6Ljc1ZW07cGFkZGluZy1ib3R0b206Ljc1ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6Ljc1ZW19LnByb3NlLWxnIDp3aGVyZSh0aGVhZCB0aDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGg6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2UtbGcgOndoZXJlKHRib2R5IHRkLHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi43NWVtO3BhZGRpbmctaW5saW5lLWVuZDouNzVlbTtwYWRkaW5nLWJvdHRvbTouNzVlbTtwYWRkaW5nLWlubGluZS1zdGFydDouNzVlbX0ucHJvc2UtbGcgOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLWxnIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjc3Nzc4ZW07bWFyZ2luLWJvdHRvbToxLjc3Nzc4ZW19LnByb3NlLWxnIDp3aGVyZShmaWd1cmU+Kik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1sZyA6d2hlcmUoZmlnY2FwdGlvbik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjFlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz46Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnPjpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MH0ucHJvc2Utc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS43MTQyOX0ucHJvc2Utc20gOndoZXJlKHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW07bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShbY2xhc3N+PWxlYWRdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljg4ODg4OWVtO21hcmdpbi1ib3R0b206Ljg4ODg4OWVtO2ZvbnQtc2l6ZToxLjI4NTcxZW07bGluZS1oZWlnaHQ6MS41NTU1Nn0ucHJvc2Utc20gOndoZXJlKGJsb2NrcXVvdGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW07bWFyZ2luLWJvdHRvbToxLjMzMzMzZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS4xMTExMWVtfS5wcm9zZS1zbSA6d2hlcmUoaDEpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206LjhlbTtmb250LXNpemU6Mi4xNDI4NmVtO2xpbmUtaGVpZ2h0OjEuMn0ucHJvc2Utc20gOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbTouOGVtO2ZvbnQtc2l6ZToxLjQyODU3ZW07bGluZS1oZWlnaHQ6MS40fS5wcm9zZS1zbSA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjU1NTU2ZW07bWFyZ2luLWJvdHRvbTouNDQ0NDQ0ZW07Zm9udC1zaXplOjEuMjg1NzFlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1zbSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjQyODU3ZW07bWFyZ2luLWJvdHRvbTouNTcxNDI5ZW07bGluZS1oZWlnaHQ6MS40Mjg1N30ucHJvc2Utc20gOndoZXJlKGltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKHBpY3R1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShwaWN0dXJlPmltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1zbSA6d2hlcmUodmlkZW8pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShrYmQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjE0Mjg1N2VtO3BhZGRpbmctaW5saW5lLWVuZDouMzU3MTQzZW07cGFkZGluZy1ib3R0b206LjE0Mjg1N2VtO2JvcmRlci1yYWRpdXM6LjMxMjVyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjM1NzE0M2VtO2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShoMiBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouOWVtfS5wcm9zZS1zbSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1zbSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtib3JkZXItcmFkaXVzOi4yNXJlbTttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjY2NjY3fS5wcm9zZS1zbSA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbTttYXJnaW4tYm90dG9tOjEuMTQyODZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTttYXJnaW4tYm90dG9tOi4yODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKG9sPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQyODU3MWVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtPnVsPmxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNTcxNDI5ZW07bWFyZ2luLWJvdHRvbTouNTcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+dWw+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbT51bD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+b2w+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbT5vbD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZSh1bCB1bCx1bCBvbCxvbCB1bCxvbCBvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41NzE0MjllbTttYXJnaW4tYm90dG9tOi41NzE0MjllbX0ucHJvc2Utc20gOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtO21hcmdpbi1ib3R0b206MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoZHQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjIuODU3MTRlbTttYXJnaW4tYm90dG9tOjIuODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1zbSA6d2hlcmUodGFibGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1zbSA6d2hlcmUodGhlYWQgdGg6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2Utc20gOndoZXJlKHRib2R5IHRkLHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLXNtIDp3aGVyZSh0Ym9keSB0ZDpmaXJzdC1jaGlsZCx0Zm9vdCB0ZDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1zbSA6d2hlcmUodGJvZHkgdGQ6bGFzdC1jaGlsZCx0Zm9vdCB0ZDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1zbSA6d2hlcmUoZmlndXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43MTQyOWVtO21hcmdpbi1ib3R0b206MS43MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUoZmlndXJlPiopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2Utc20gOndoZXJlKGZpZ2NhcHRpb24pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNjY2NjY3ZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtPjpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+Omxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbTowfS4tbXQtMXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLTEpfS5tdC0wXC41e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9Lm10LTF7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tdC0ye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubXQtM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lm10LTR7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tdC02e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ubXQtOHttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqOCl9Lm10LTEwe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lm10LTEye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9Lm10LWF1dG97bWFyZ2luLXRvcDphdXRvfS5tci0xe21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tci0ye21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tci04e21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS4tbWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5tYi0xe21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubWItMVwuNXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ubWItMnttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9Lm1iLTN7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5tYi00e21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubWItNnttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNil9Lm1iLTh7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS5tYi0xMHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTApfS5tbC0xe21hcmdpbi1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMSl9Lm1sLTJ7bWFyZ2luLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubWwtYXV0b3ttYXJnaW4tbGVmdDphdXRvfS5saW5lLWNsYW1wLTJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5uby1zY3JvbGxiYXJ7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmU7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9Lm5vLXNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5mbGV4e2Rpc3BsYXk6ZmxleH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmlubGluZXtkaXNwbGF5OmlubGluZX0uaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5pbmxpbmUtZmxleHtkaXNwbGF5OmlubGluZS1mbGV4fS5saXN0LWl0ZW17ZGlzcGxheTpsaXN0LWl0ZW19LnRhYmxle2Rpc3BsYXk6dGFibGV9LnRhYmxlLWNhcHRpb257ZGlzcGxheTp0YWJsZS1jYXB0aW9ufS50YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbH0udGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93fS5maWVsZC1zaXppbmctY29udGVudHtmaWVsZC1zaXppbmc6Y29udGVudH0uYXNwZWN0LVxbMTZcLzlcXXthc3BlY3QtcmF0aW86MTYvOX0uYXNwZWN0LVxbNjEwXC8yMDhcXXthc3BlY3QtcmF0aW86NjEwLzIwOH0uYXNwZWN0LXNxdWFyZXthc3BlY3QtcmF0aW86MX0uc2l6ZS0zXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5zaXplLTR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0uc2l6ZS01e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LnNpemUtNnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5zaXplLTd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uc2l6ZS04e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LnNpemUtOXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjkpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjkpfS5zaXplLTEwe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTApO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0uc2l6ZS0xNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnNpemUtZnVsbHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5oLTJ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LmgtMlwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1wuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5oLTR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmgtNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uaC02e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5oLTd7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNyl9LmgtOHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uaC04XCF7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCkhaW1wb3J0YW50fS5oLTl7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LmgtMTB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTApfS5oLTEye2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0uaC0xNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LmgtMTZ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5oLTIwe2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0uaC0yNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LmgtNDB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNDApfS5oLTY0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0uaC04MHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4MCl9LmgtXFs4MHB4XF17aGVpZ2h0OjgwcHh9LmgtXFszMDBweFxde2hlaWdodDozMDBweH0uaC1cWzM2MHB4XF17aGVpZ2h0OjM2MHB4fS5oLVxbNDQwcHhcXXtoZWlnaHQ6NDQwcHh9LmgtXFtjYWxjXCgxMDBcJS0xcHhcKVxde2hlaWdodDpjYWxjKDEwMCUgLSAxcHgpfS5oLWF1dG97aGVpZ2h0OmF1dG99LmgtZnVsbHtoZWlnaHQ6MTAwJX0uaC1weHtoZWlnaHQ6MXB4fS5oLXNjcmVlbntoZWlnaHQ6MTAwdmh9Lm1heC1oLVwoLS1hdmFpbGFibGUtaGVpZ2h0XCl7bWF4LWhlaWdodDp2YXIoLS1hdmFpbGFibGUtaGVpZ2h0KX0ubWF4LWgtNjR7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWF4LWgtNzJ7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubWluLWgtMTZ7bWluLWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ubWluLWgtXFs2MHZoXF17bWluLWhlaWdodDo2MHZofS5taW4taC1zY3JlZW57bWluLWhlaWdodDoxMDB2aH0udy1cKC0tYW5jaG9yLXdpZHRoXCl7d2lkdGg6dmFyKC0tYW5jaG9yLXdpZHRoKX0udy0xe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnctMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS53LTN7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0udy0zXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0udy00e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnctNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS53LTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0udy03e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNyl9LnctOHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS53LTl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0udy0xMHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0udy0xMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0udy0xNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0udy0xNnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0udy0yMHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0udy0yNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjI0KX0udy0yOHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjI4KX0udy0zMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMyKX0udy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0udy00NHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ0KX0udy00OHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ4KX0udy01Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUyKX0udy01Nnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjU2KX0udy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0udy1cWzEyMHB4XF17d2lkdGg6MTIwcHh9LnctXFsxNDBweFxde3dpZHRoOjE0MHB4fS53LVxbY2FsY1woXCgxMDBcJS0ycmVtXClcLzNcKVxde3dpZHRoOmNhbGMoMzMuMzMzMyUgLSAuNjY2NjY3cmVtKX0udy1hdXRve3dpZHRoOmF1dG99LnctZml0e3dpZHRoOmZpdC1jb250ZW50fS53LWZ1bGx7d2lkdGg6MTAwJX0udy1weHt3aWR0aDoxcHh9Lm1heC13LTB7bWF4LXdpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lm1heC13LTJ4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTJ4bCl9Lm1heC13LTN4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTN4bCl9Lm1heC13LTR4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTR4bCl9Lm1heC13LTd4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTd4bCl9Lm1heC13LTQ4e21heC13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ4KX0ubWF4LXctXFsyMDBweFxde21heC13aWR0aDoyMDBweH0ubWF4LXctXFtjYWxjXCgxMDBcJS0ycmVtXClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMnJlbSl9Lm1heC13LVxbY2FsY1woMTAwdnctMnJlbVwpXF17bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAycmVtKX0ubWF4LXctbGd7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1sZyl9Lm1heC13LW1ke21heC13aWR0aDp2YXIoLS1jb250YWluZXItbWQpfS5tYXgtdy1ub25le21heC13aWR0aDpub25lfS5tYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0ubWF4LXcteGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci14bCl9Lm1heC13LXhze21heC13aWR0aDp2YXIoLS1jb250YWluZXIteHMpfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy0zMnttaW4td2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9Lm1pbi13LTY0e21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWluLXctXFsycmVtXF17bWluLXdpZHRoOjJyZW19Lm1pbi13LVxbOTZweFxde21pbi13aWR0aDo5NnB4fS5taW4tdy1cWzE1MHB4XF17bWluLXdpZHRoOjE1MHB4fS5mbGV4LTF7ZmxleDoxfS5zaHJpbmstMHtmbGV4LXNocmluazowfS50YWJsZS1maXhlZHt0YWJsZS1sYXlvdXQ6Zml4ZWR9LmNhcHRpb24tYm90dG9te2NhcHRpb24tc2lkZTpib3R0b219Lm9yaWdpbi1cKC0tdHJhbnNmb3JtLW9yaWdpblwpe3RyYW5zZm9ybS1vcmlnaW46dmFyKC0tdHJhbnNmb3JtLW9yaWdpbil9Li10cmFuc2xhdGUteC0xXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtXFszcHhcXXstLXR3LXRyYW5zbGF0ZS14OjNweDt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2xhdGUteC1cWzE4cHhcXXstLXR3LXRyYW5zbGF0ZS14OjE4cHg7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uLXRyYW5zbGF0ZS15LTFcLzJ7LS10dy10cmFuc2xhdGUteTpjYWxjKGNhbGMoMS8yKjEwMCUpKi0xKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2xhdGUteS0wey0tdHctdHJhbnNsYXRlLXk6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5yb3RhdGUtMTgwe3JvdGF0ZToxODBkZWd9LnRyYW5zZm9ybXt0cmFuc2Zvcm06dmFyKC0tdHctcm90YXRlLXgsKXZhcigtLXR3LXJvdGF0ZS15LCl2YXIoLS10dy1yb3RhdGUteiwpdmFyKC0tdHctc2tldy14LCl2YXIoLS10dy1za2V3LXksKX0udHJhbnNmb3JtLWdwdXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKXZhcigtLXR3LXJvdGF0ZS14LCl2YXIoLS10dy1yb3RhdGUteSwpdmFyKC0tdHctcm90YXRlLXosKXZhcigtLXR3LXNrZXcteCwpdmFyKC0tdHctc2tldy15LCl9LmFuaW1hdGUtcHVsc2V7YW5pbWF0aW9uOnZhcigtLWFuaW1hdGUtcHVsc2UpfS5hbmltYXRlLXNwaW57YW5pbWF0aW9uOnZhcigtLWFuaW1hdGUtc3Bpbil9LmN1cnNvci1jcm9zc2hhaXJ7Y3Vyc29yOmNyb3NzaGFpcn0uY3Vyc29yLWRlZmF1bHR7Y3Vyc29yOmRlZmF1bHR9LmN1cnNvci1ub3QtYWxsb3dlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3ItdGV4dHtjdXJzb3I6dGV4dH0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLXB5LTF7c2Nyb2xsLXBhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5saXN0LW5vbmV7bGlzdC1zdHlsZS10eXBlOm5vbmV9LmF1dG8tY29scy1mcntncmlkLWF1dG8tY29sdW1uczptaW5tYXgoMCwxZnIpfS5ncmlkLWZsb3ctY29se2dyaWQtYXV0by1mbG93OmNvbHVtbn0uYXV0by1yb3dzLW1pbntncmlkLWF1dG8tcm93czptaW4tY29udGVudH0uZ3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5ncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC1jb2wtcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0uZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5mbGV4LXdyYXB7ZmxleC13cmFwOndyYXB9LmNvbnRlbnQtc3RhcnR7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0fS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uaXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1zdGFydHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5pdGVtcy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lmp1c3RpZnktYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9Lmp1c3RpZnktYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uanVzdGlmeS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5nYXAtMFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAtMntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ2FwLTJcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ2FwLTN7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC00e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAtNntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZ2FwLTh7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqOCl9LmdhcC1cWzJweFxde2dhcDoycHh9OndoZXJlKC5zcGFjZS15LTBcLjU+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSouNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLjUpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMT46bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMVwuNT46bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMS41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTI+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSoyKSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSoyKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTM+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSozKSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSozKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTQ+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTY+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo2KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo2KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTg+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo4KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo4KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTEwPjpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMTApKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEwKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9LmdhcC14LTR7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAteC04e2NvbHVtbi1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX06d2hlcmUoLi1zcGFjZS14LTI+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWlubGluZS1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLTIpKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO21hcmdpbi1pbmxpbmUtZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSotMikqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpfS5nYXAteS0xXC41e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAteS01e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX06d2hlcmUoLmRpdmlkZS15Pjpub3QoOmxhc3QtY2hpbGQpKXstLXR3LWRpdmlkZS15LXJldmVyc2U6MDtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci10b3Atd2lkdGg6Y2FsYygxcHgqdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpO2JvcmRlci1ib3R0b20td2lkdGg6Y2FsYygxcHgqY2FsYygxIC0gdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpKX06d2hlcmUoLmRpdmlkZS1ib3JkZXI+Om5vdCg6bGFzdC1jaGlsZCkpe2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5zZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH0uanVzdGlmeS1zZWxmLWVuZHtqdXN0aWZ5LXNlbGY6ZmxleC1lbmR9LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3ctYXV0b3tvdmVyZmxvdzphdXRvfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWF1dG97b3ZlcmZsb3cteDphdXRvfS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteC1zY3JvbGx7b3ZlcmZsb3cteDpzY3JvbGx9Lm92ZXJmbG93LXktYXV0b3tvdmVyZmxvdy15OmF1dG99LnJvdW5kZWR7Ym9yZGVyLXJhZGl1czouMjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCl9LnJvdW5kZWQtNHhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjIuNil9LnJvdW5kZWQtXFtjYWxjXCh2YXJcKC0tcmFkaXVzXCktM3B4XClcXXtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDNweCl9LnJvdW5kZWQtXFttaW5cKHZhclwoLS1yYWRpdXMtbWRcKVwsMTBweFwpXF17Ym9yZGVyLXJhZGl1czptaW4odmFyKC0tcmFkaXVzLW1kKSwxMHB4KX0ucm91bmRlZC1cW21pblwodmFyXCgtLXJhZGl1cy1tZFwpXCwxMnB4XClcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEycHgpfS5yb3VuZGVkLWZ1bGx7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LnJvdW5kZWQtbGd7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpfS5yb3VuZGVkLWxnXCF7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpIWltcG9ydGFudH0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSouOCl9LnJvdW5kZWQtbm9uZXtib3JkZXItcmFkaXVzOjB9LnJvdW5kZWQtc217Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqLjYpfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCl9LnJvdW5kZWQteGxcIXtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpIWltcG9ydGFudH0ucm91bmRlZC10LTJ4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpfS5yb3VuZGVkLXQteGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX0ucm91bmRlZC1iLXhse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCl9LmJvcmRlcntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXR7Ym9yZGVyLXRvcC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci10b3Atd2lkdGg6MXB4fS5ib3JkZXItcntib3JkZXItcmlnaHQtc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItcmlnaHQtd2lkdGg6MXB4fS5ib3JkZXItYntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHh9LmJvcmRlci1iLTJ7Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MnB4fS5ib3JkZXItZGFzaGVkey0tdHctYm9yZGVyLXN0eWxlOmRhc2hlZDtib3JkZXItc3R5bGU6ZGFzaGVkfS5ib3JkZXItYm9yZGVye2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5ib3JkZXItZGFuZ2VyXC8zMHtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kYW5nZXJcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGFuZ2VyKTMwJSx0cmFuc3BhcmVudCl9fS5ib3JkZXItZGVzdHJ1Y3RpdmVcLzMwe2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGVzdHJ1Y3RpdmVcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1pbnB1dCwuYm9yZGVyLWlucHV0XC8zMHtib3JkZXItY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLWlucHV0XC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTMwJSx0cmFuc3BhcmVudCl9fS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSl9LmJvcmRlci1yZWQtNTAwXC80MHtib3JkZXItY29sb3I6I2ZiMmMzNjY2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXJlZC01MDBcLzQwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItcmVkLTUwMCk0MCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXN1Y2Nlc3NcLzMwe2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1zdWNjZXNzXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci10cmFuc3BhcmVudHtib3JkZXItY29sb3I6IzAwMDB9LmJnLVxbXCMyMjlFRDlcXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjllZDl9LmJnLWJhY2tncm91bmQsLmJnLWJhY2tncm91bmRcLzgwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1iYWNrZ3JvdW5kXC84MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1iYWNrZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS5iZy1ibGFja1wvMTB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMWF9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItYmxhY2spMTAlLHRyYW5zcGFyZW50KX19LmJnLWJsYWNrXC81MHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDA4MH1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWJsYWNrXC81MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci1ibGFjayk1MCUsdHJhbnNwYXJlbnQpfX0uYmctYm9yZGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYm9yZGVyKX0uYmctY2FyZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNhcmQpfS5iZy1kYW5nZXIsLmJnLWRhbmdlclwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRhbmdlcil9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1kYW5nZXJcLzV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGFuZ2VyKTUlLHRyYW5zcGFyZW50KX19LmJnLWRlc3RydWN0aXZlLC5iZy1kZXN0cnVjdGl2ZVwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXC81e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUlLHRyYW5zcGFyZW50KX19LmJnLWRlc3RydWN0aXZlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctaW5wdXRcLzMwe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctaW5wdXRcLzMwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTMwJSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uYmctbXV0ZWQtZm9yZWdyb3VuZFwvMjV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkLWZvcmVncm91bmRcLzI1e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkLWZvcmVncm91bmQpMjUlLHRyYW5zcGFyZW50KX19LmJnLW11dGVkXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCkzMCUsdHJhbnNwYXJlbnQpfX0uYmctbXV0ZWRcLzQwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctbXV0ZWRcLzQwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTQwJSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZFwvNTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1tdXRlZFwvNTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNTAlLHRyYW5zcGFyZW50KX19LmJnLXBvcG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wb3BvdmVyKX0uYmctcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfS5iZy1wcmltYXJ5LWZvcmVncm91bmRcLzIwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnktZm9yZWdyb3VuZFwvMjB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKTIwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XC81e2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1wcmltYXJ5XC81e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpNSUsdHJhbnNwYXJlbnQpfX0uYmctcHJpbWFyeVwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcLzEwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMTAlLHRyYW5zcGFyZW50KX19LmJnLXByaW1hcnlcLzE1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1wcmltYXJ5XC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5iZy1zdWNjZXNzLC5iZy1zdWNjZXNzXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctc3VjY2Vzc1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tc3VjY2VzcykxMCUsdHJhbnNwYXJlbnQpfX0uYmctc3VjY2Vzc1wvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcLzE1e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMTUlLHRyYW5zcGFyZW50KX19LmJnLXN1cmZhY2UsLmJnLXN1cmZhY2VcLzkwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tc3VyZmFjZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1zdXJmYWNlXC85MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdXJmYWNlKTkwJSx0cmFuc3BhcmVudCl9fS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2FybmluZ1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0td2FybmluZykxMCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNSUsdHJhbnNwYXJlbnQpfX0uYmctZ3JhZGllbnQtdG8tYnJ7LS10dy1ncmFkaWVudC1wb3NpdGlvbjp0byBib3R0b20gcmlnaHQgaW4gb2tsYWI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKX0uZnJvbS1cW1wjMzhBRkUzXF17LS10dy1ncmFkaWVudC1mcm9tOiMzOGFmZTM7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0uZnJvbS1cW1wjMjI5RUQ5XF17LS10dy1ncmFkaWVudC1mcm9tOiMyMjllZDk7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0udG8tXFtcIzFGOTdDQVxdey0tdHctZ3JhZGllbnQtdG86IzFmOTdjYTstLXR3LWdyYWRpZW50LXN0b3BzOnZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcyx2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtZnJvbSl2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC10byl2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbikpfS50by1cW1wjMWE3ZmIwXF17LS10dy1ncmFkaWVudC10bzojMWE3ZmIwOy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LmJnLWNsaXAtcGFkZGluZ3tiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3h9Lm9iamVjdC1jb3ZlcntvYmplY3QtZml0OmNvdmVyfS5wLTB7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5wLTBcLjV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucC0xe3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucC0ye3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucC0ze3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucC00e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ucC01e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0ucC02e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucC0xMntwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5wLVxbM3B4XF17cGFkZGluZzozcHh9LnB4LTF7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucHgtMVwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnB4LTJ7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHgtMlwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnB4LTN7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB5LTBcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHktMXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnB5LTFcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnB5LTJ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weS0yXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5weS0ze3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHktM1wuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucHktNHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB5LTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5weS04e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucHktMTB7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0ucHktMTJ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0ucHktMTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ucHQtMntwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wdC0ze3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnB0LTR7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ucHQtNntwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wci0ye3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHItNHtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LnByLTh7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS5wci0xMntwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5wYi0we3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnBiLTF7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucGItMntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wYi02e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNil9LnBiLTh7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucGItMTB7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnBiLTE2e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5wbC0xXC41e3BhZGRpbmctbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnBsLTJ7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnBsLTV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LnBsLTh7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LnBsLTl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LmFsaWduLW1pZGRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvbnQtbW9ub3tmb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn0udGV4dC0yeGx7Zm9udC1zaXplOnZhcigtLXRleHQtMnhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtMnhsLS1saW5lLWhlaWdodCkpfS50ZXh0LTN4bHtmb250LXNpemU6dmFyKC0tdGV4dC0zeGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC0zeGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQtNHhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTR4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTR4bC0tbGluZS1oZWlnaHQpKX0udGV4dC02eGx7Zm9udC1zaXplOnZhcigtLXRleHQtNnhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtNnhsLS1saW5lLWhlaWdodCkpfS50ZXh0LWJhc2V7Zm9udC1zaXplOnZhcigtLXRleHQtYmFzZSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0KSl9LnRleHQtbGd7Zm9udC1zaXplOnZhcigtLXRleHQtbGcpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1sZy0tbGluZS1oZWlnaHQpKX0udGV4dC1zbXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS50ZXh0LXhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQteHN7Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX0udGV4dC1cWzBcLjhyZW1cXXtmb250LXNpemU6LjhyZW19LnRleHQtXFsxMHB4XF17Zm9udC1zaXplOjEwcHh9LnRleHQtXFsxMXB4XF17Zm9udC1zaXplOjExcHh9LmxlYWRpbmctbm9uZXstLXR3LWxlYWRpbmc6MTtsaW5lLWhlaWdodDoxfS5sZWFkaW5nLXJlbGF4ZWR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctcmVsYXhlZCk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy1yZWxheGVkKX0ubGVhZGluZy1zbnVney0tdHctbGVhZGluZzp2YXIoLS1sZWFkaW5nLXNudWcpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctc251Zyl9LmxlYWRpbmctdGlnaHR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctdGlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctdGlnaHQpfS5mb250LWJvbGR7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ib2xkKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ib2xkKX0uZm9udC1tZWRpdW17LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSl9LmZvbnQtbm9ybWFsey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpfS5mb250LXNlbWlib2xkey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKX0udHJhY2tpbmctdGlnaHR7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy10aWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctdGlnaHQpfS50cmFja2luZy13aWRley0tdHctdHJhY2tpbmc6dmFyKC0tdHJhY2tpbmctd2lkZSk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctd2lkZSl9LnRyYWNraW5nLXdpZGVzdHstLXR3LXRyYWNraW5nOnZhcigtLXRyYWNraW5nLXdpZGVzdCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctd2lkZXN0KX0uYnJlYWstYWxse3dvcmQtYnJlYWs6YnJlYWstYWxsfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmUtbGluZXt3aGl0ZS1zcGFjZTpwcmUtbGluZX0ud2hpdGVzcGFjZS1wcmUtd3JhcHt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0udGV4dC1cW1wjMjJDNTVFXF17Y29sb3I6IzIyYzU1ZX0udGV4dC1cW1wjMjI5RUQ5XF17Y29sb3I6IzIyOWVkOX0udGV4dC1cW1wjMTg3OUE4XF17Y29sb3I6IzE4NzlhOH0udGV4dC1cW1wjRUY0NDQ0XF17Y29sb3I6I2VmNDQ0NH0udGV4dC1jYXJkLWZvcmVncm91bmR7Y29sb3I6dmFyKC0tY2FyZC1mb3JlZ3JvdW5kKX0udGV4dC1kYW5nZXJ7Y29sb3I6dmFyKC0tZGFuZ2VyKX0udGV4dC1kZXN0cnVjdGl2ZXtjb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LnRleHQtZm9yZWdyb3VuZCwudGV4dC1mb3JlZ3JvdW5kXC82MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFwvNjB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWZvcmVncm91bmQpNjAlLHRyYW5zcGFyZW50KX19LnRleHQtZm9yZWdyb3VuZFwvODB7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LWZvcmVncm91bmRcLzgwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWdyZWVuLTYwMHtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi02MDApfS50ZXh0LW11dGVkLWZvcmVncm91bmQsLnRleHQtbXV0ZWQtZm9yZWdyb3VuZFwvNjB7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LW11dGVkLWZvcmVncm91bmRcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTYwJSx0cmFuc3BhcmVudCl9fS50ZXh0LW9yYW5nZS01MDB7Y29sb3I6dmFyKC0tY29sb3Itb3JhbmdlLTUwMCl9LnRleHQtcG9wb3Zlci1mb3JlZ3JvdW5ke2NvbG9yOnZhcigtLXBvcG92ZXItZm9yZWdyb3VuZCl9LnRleHQtcHJpbWFyeXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0udGV4dC1wcmltYXJ5LWZvcmVncm91bmR7Y29sb3I6dmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKX0udGV4dC1yZWQtNTAwe2NvbG9yOnZhcigtLWNvbG9yLXJlZC01MDApfS50ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5ke2NvbG9yOnZhcigtLXNlY29uZGFyeS1mb3JlZ3JvdW5kKX0udGV4dC1zdWNjZXNze2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS50ZXh0LXdhcm5pbmd7Y29sb3I6dmFyKC0td2FybmluZyl9LnRleHQtd2hpdGV7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50ZXh0LXdoaXRlXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC84NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzkwe2NvbG9yOiNmZmZmZmZlNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzkwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvOTV7Y29sb3I6I2ZmZmZmZmYyfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTk1JSx0cmFuc3BhcmVudCl9fS5jYXBpdGFsaXple3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LnVwcGVyY2FzZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lml0YWxpY3tmb250LXN0eWxlOml0YWxpY30udGFidWxhci1udW1zey0tdHctbnVtZXJpYy1zcGFjaW5nOnRhYnVsYXItbnVtcztmb250LXZhcmlhbnQtbnVtZXJpYzp2YXIoLS10dy1vcmRpbmFsLCl2YXIoLS10dy1zbGFzaGVkLXplcm8sKXZhcigtLXR3LW51bWVyaWMtZmlndXJlLCl2YXIoLS10dy1udW1lcmljLXNwYWNpbmcsKXZhcigtLXR3LW51bWVyaWMtZnJhY3Rpb24sKX0udW5kZXJsaW5le3RleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZX0udW5kZXJsaW5lLW9mZnNldC0ye3RleHQtdW5kZXJsaW5lLW9mZnNldDoycHh9LnVuZGVybGluZS1vZmZzZXQtNHt0ZXh0LXVuZGVybGluZS1vZmZzZXQ6NHB4fS5hbnRpYWxpYXNlZHstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0ub3BhY2l0eS0we29wYWNpdHk6MH0ub3BhY2l0eS0zMHtvcGFjaXR5Oi4zfS5vcGFjaXR5LTQwe29wYWNpdHk6LjR9Lm9wYWNpdHktNTB7b3BhY2l0eTouNX0ub3BhY2l0eS03MHtvcGFjaXR5Oi43fS5iZy1ibGVuZC1jb2xvcntiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6Y29sb3J9LnNoYWRvd3stLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1sZ3stLXR3LXNoYWRvdzowIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW1key0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW5vbmV7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW5vbmVcIXstLXR3LXNoYWRvdzowIDAgIzAwMDAhaW1wb3J0YW50O2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KSFpbXBvcnRhbnR9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy14c3stLXR3LXNoYWRvdzowIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMHstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctYmFja2dyb3VuZHstLXR3LXJpbmctY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LnJpbmctZm9yZWdyb3VuZFwvMTB7LS10dy1yaW5nLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1mb3JlZ3JvdW5kXC8xMHstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWZvcmVncm91bmQpMTAlLHRyYW5zcGFyZW50KX19LnJpbmctcHJpbWFyeVwvMzB7LS10dy1yaW5nLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1wcmltYXJ5XC8zMHstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMzAlLHRyYW5zcGFyZW50KX19Lm91dGxpbmUtaGlkZGVuey0tdHctb3V0bGluZS1zdHlsZTpub25lO291dGxpbmUtc3R5bGU6bm9uZX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsub3V0bGluZS1oaWRkZW57b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfX0ub3V0bGluZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5maWx0ZXJ7ZmlsdGVyOnZhcigtLXR3LWJsdXIsKXZhcigtLXR3LWJyaWdodG5lc3MsKXZhcigtLXR3LWNvbnRyYXN0LCl2YXIoLS10dy1ncmF5c2NhbGUsKXZhcigtLXR3LWh1ZS1yb3RhdGUsKXZhcigtLXR3LWludmVydCwpdmFyKC0tdHctc2F0dXJhdGUsKXZhcigtLXR3LXNlcGlhLCl2YXIoLS10dy1kcm9wLXNoYWRvdywpfS5iYWNrZHJvcC1ibHVyLXNtey0tdHctYmFja2Ryb3AtYmx1cjpibHVyKHZhcigtLWJsdXItc20pKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS50cmFuc2l0aW9ue3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3Isb3V0bGluZS1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2UsLS10dy1ncmFkaWVudC1mcm9tLC0tdHctZ3JhZGllbnQtdmlhLC0tdHctZ3JhZGllbnQtdG8sb3BhY2l0eSxib3gtc2hhZG93LHRyYW5zZm9ybSx0cmFuc2xhdGUsc2NhbGUscm90YXRlLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXIsZGlzcGxheSxjb250ZW50LXZpc2liaWxpdHksb3ZlcmxheSxwb2ludGVyLWV2ZW50czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLWNvbG9yc3t0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tb3BhY2l0eXt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1zaGFkb3d7dHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tdHJhbnNmb3Jte3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLHRyYW5zbGF0ZSxzY2FsZSxyb3RhdGU7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0uZHVyYXRpb24tMTAwey0tdHctZHVyYXRpb246LjFzO3RyYW5zaXRpb24tZHVyYXRpb246LjFzfS5kdXJhdGlvbi0xNTB7LS10dy1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30uZHVyYXRpb24tMjAwey0tdHctZHVyYXRpb246LjJzO3RyYW5zaXRpb24tZHVyYXRpb246LjJzfS5lYXNlLWluLW91dHstLXR3LWVhc2U6dmFyKC0tZWFzZS1pbi1vdXQpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWVhc2UtaW4tb3V0KX0uXFt3aWxsLWNoYW5nZVw6dHJhbnNmb3JtXF17d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5vdXRsaW5lLW5vbmV7LS10dy1vdXRsaW5lLXN0eWxlOm5vbmU7b3V0bGluZS1zdHlsZTpub25lfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucGF1c2Vke2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZH0ucnVubmluZ3thbmltYXRpb24tcGxheS1zdGF0ZTpydW5uaW5nfS5ncm91cC1vcGVuXDpyb3RhdGUtMTgwOmlzKDp3aGVyZSguZ3JvdXApOmlzKFtvcGVuXSw6cG9wb3Zlci1vcGVuLDpvcGVuKSAqKXtyb3RhdGU6MTgwZGVnfUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6dHJhbnNsYXRlLXgtMFwuNTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXstLXR3LXRyYW5zbGF0ZS14OmNhbGModmFyKC0tc3BhY2luZykqLjUpO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9Lmdyb3VwLWhvdmVyXDpiZy1tdXRlZDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uZ3JvdXAtaG92ZXJcOnRleHQtcHJpbWFyeTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0uZ3JvdXAtaG92ZXJcOnRleHQtd2hpdGU6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5ncm91cC1ob3Zlclw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7b3BhY2l0eToxfS5ncm91cC1ob3Zlclw6c2hhZG93LW1kOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopey0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX19Lmdyb3VwLWZvY3VzXC9kcm9wZG93bi1tZW51LWl0ZW1cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6aXMoOndoZXJlKC5ncm91cFwvZHJvcGRvd24tbWVudS1pdGVtKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyLWdyb3VwXDpzaXplLTEwOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9c21cXVwvYXZhdGFyLWdyb3VwXDpzaXplLTY6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9Lmdyb3VwLWhhcy1kYXRhLVxbc2xvdFw9Y29tbWFuZC1zaG9ydGN1dFxdXC9jb21tYW5kLWl0ZW1cOmhpZGRlbjppcyg6d2hlcmUoLmdyb3VwXC9jb21tYW5kLWl0ZW0pOmhhcyhbZGF0YS1zbG90PWNvbW1hbmQtc2hvcnRjdXRdKSAqKXtkaXNwbGF5Om5vbmV9Lmdyb3VwLWhhcy1cW1w+aW5wdXRcXVwvaW5wdXQtZ3JvdXBcOnB0LTI6aXMoOndoZXJlKC5ncm91cFwvaW5wdXQtZ3JvdXApOmhhcyg+aW5wdXQpICope3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWhhcy1cW1w+aW5wdXRcXVwvaW5wdXQtZ3JvdXBcOnBiLTI6aXMoOndoZXJlKC5ncm91cFwvaW5wdXQtZ3JvdXApOmhhcyg+aW5wdXQpICope3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWRhdGEtXFtjaGVja2VkXD10cnVlXF1cL2NvbW1hbmQtaXRlbVw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cFwvY29tbWFuZC1pdGVtKVtkYXRhLWNoZWNrZWQ9dHJ1ZV0gKil7b3BhY2l0eToxfS5ncm91cC1kYXRhLVxbZGlzYWJsZWRcPXRydWVcXVw6cG9pbnRlci1ldmVudHMtbm9uZTppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICope3BvaW50ZXItZXZlbnRzOm5vbmV9Lmdyb3VwLWRhdGEtXFtkaXNhYmxlZFw9dHJ1ZVxdXDpvcGFjaXR5LTUwOmlzKDp3aGVyZSguZ3JvdXApW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0gKiksLmdyb3VwLWRhdGEtXFtkaXNhYmxlZFw9dHJ1ZVxdXC9pbnB1dC1ncm91cFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwXC9pbnB1dC1ncm91cClbZGF0YS1kaXNhYmxlZD10cnVlXSAqKXtvcGFjaXR5Oi41fS5ncm91cC1kYXRhLVxbc2l6ZVw9ZGVmYXVsdFxdXC9hdmF0YXJcOnNpemUtMlwuNTppcyg6d2hlcmUoLmdyb3VwXC9hdmF0YXIpW2RhdGEtc2l6ZT1kZWZhdWx0XSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ3JvdXAtZGF0YS1cW3NpemVcPWxnXF1cL2F2YXRhclw6c2l6ZS0zOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxbc2l6ZVw9c21cXVwvYXZhdGFyXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9c21dICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9hdmF0YXJcOnRleHQteHM6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9c21dICope2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhzKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteHMtLWxpbmUtaGVpZ2h0KSl9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9jYXJkXDpwLTM6aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9jYXJkXDpweC0zOmlzKDp3aGVyZSguZ3JvdXBcL2NhcmQpW2RhdGEtc2l6ZT1zbV0gKil7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cW3NpemVcPXNtXF1cL2NhcmRcOnRleHQtc206aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmJnLXRyYW5zcGFyZW50OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICope2JhY2tncm91bmQtY29sb3I6IzAwMDB9Lmdyb3VwLWRhdGEtc2VsZWN0ZWRcL2NvbW1hbmQtaXRlbVw6dGV4dC1mb3JlZ3JvdW5kOmlzKDp3aGVyZSguZ3JvdXBcL2NvbW1hbmQtaXRlbSk6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pICope2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLWhvcml6b250YWxcL3RhYnNcOmgtODppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSkgKil7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9Lmdyb3VwLWRhdGEtdmVydGljYWxcL3RhYnNcOmgtZml0OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7aGVpZ2h0OmZpdC1jb250ZW50fS5ncm91cC1kYXRhLXZlcnRpY2FsXC90YWJzXDp3LWZ1bGw6aXMoOndoZXJlKC5ncm91cFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKXt3aWR0aDoxMDAlfS5ncm91cC1kYXRhLXZlcnRpY2FsXC90YWJzXDpmbGV4LWNvbDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6anVzdGlmeS1zdGFydDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5wZWVyLWRpc2FibGVkXDpjdXJzb3Itbm90LWFsbG93ZWQ6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtjdXJzb3I6bm90LWFsbG93ZWR9LnBlZXItZGlzYWJsZWRcOm9wYWNpdHktNTA6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtvcGFjaXR5Oi41fS5maWxlXDppbmxpbmUtZmxleDo6ZmlsZS1zZWxlY3Rvci1idXR0b257ZGlzcGxheTppbmxpbmUtZmxleH0uZmlsZVw6aC02OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZmlsZVw6Ym9yZGVyLTA6OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5maWxlXDpiZy10cmFuc3BhcmVudDo6ZmlsZS1zZWxlY3Rvci1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZmlsZVw6dGV4dC1zbTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0uZmlsZVw6Zm9udC1tZWRpdW06OmZpbGUtc2VsZWN0b3ItYnV0dG9uey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pfS5maWxlXDp0ZXh0LWZvcmVncm91bmQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5wbGFjZWhvbGRlclw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uYWZ0ZXJcOmFic29sdXRlOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7cG9zaXRpb246YWJzb2x1dGV9LmFmdGVyXDppbnNldC0wOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uYWZ0ZXJcOnJvdW5kZWQtZnVsbDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5hZnRlclw6Ym9yZGVyOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjFweH0uYWZ0ZXJcOmJvcmRlci1ib3JkZXI6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKX0uYWZ0ZXJcOmJnLWZvcmVncm91bmQ6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hZnRlclw6b3BhY2l0eS0wOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7b3BhY2l0eTowfS5hZnRlclw6bWl4LWJsZW5kLWRhcmtlbjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO21peC1ibGVuZC1tb2RlOmRhcmtlbn0uYWZ0ZXJcOnRyYW5zaXRpb24tb3BhY2l0eTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5ncm91cC1kYXRhLWhvcml6b250YWxcL3RhYnNcOmFmdGVyXDppbnNldC14LTA6aXMoOndoZXJlKC5ncm91cFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQtaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFwvdGFic1w6YWZ0ZXJcOmJvdHRvbS1cWy01cHhcXTppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSkgKik6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtib3R0b206LTVweH0uZ3JvdXAtZGF0YS1ob3Jpem9udGFsXC90YWJzXDphZnRlclw6aC0wXC41OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOmluc2V0LXktMDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOi1yaWdodC0xOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKik6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0xKX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOnctMFwuNTppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmZvY3VzLXdpdGhpblw6Ym9yZGVyLXJpbmc6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uZm9jdXMtd2l0aGluXDpyaW5nLTM6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLXJpbmdcLzUwOmZvY3VzLXdpdGhpbnstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy13aXRoaW5cOnJpbmctcmluZ1wvNTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcmluZyk1MCUsdHJhbnNwYXJlbnQpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJvcmRlci1tdXRlZC1mb3JlZ3JvdW5kXC8zMDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ym9yZGVyLW11dGVkLWZvcmVncm91bmRcLzMwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkzMCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJvcmRlci1wcmltYXJ5XC80MDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ym9yZGVyLXByaW1hcnlcLzQwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk0MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJvcmRlci1yaW5nOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uaG92ZXJcOmJnLWFjY2VudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6YmctZGVzdHJ1Y3RpdmVcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5ob3Zlclw6YmctbXV0ZWQ6aG92ZXIsLmhvdmVyXDpiZy1tdXRlZFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6YmctbXV0ZWRcLzQwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTQwJSx0cmFuc3BhcmVudCl9fS5ob3Zlclw6YmctbXV0ZWRcLzUwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLW11dGVkXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJnLW11dGVkXC84MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy1tdXRlZFwvODA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpODAlLHRyYW5zcGFyZW50KX19LmhvdmVyXDpiZy1wcmltYXJ5XC8yMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXByaW1hcnlcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMjAlLHRyYW5zcGFyZW50KX19LmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2Vjb25kYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOnRleHQtZm9yZWdyb3VuZDpob3Zlcntjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaG92ZXJcOnRleHQtbXV0ZWQtZm9yZWdyb3VuZDpob3Zlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uaG92ZXJcOnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjp2YXIoLS1wcmltYXJ5KX0uaG92ZXJcOnVuZGVybGluZTpob3Zlcnt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9LmhvdmVyXDpzaGFkb3ctbGc6aG92ZXJ7LS10dy1zaGFkb3c6MCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmhvdmVyXDpzaGFkb3ctbWQ6aG92ZXJ7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfX0uZm9jdXNcOmJnLWFjY2VudDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmZvY3VzXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kOmZvY3Vze2NvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKX0uZm9jdXNcOm91dGxpbmUtbm9uZTpmb2N1c3stLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9OmlzKC5mb2N1c1w6XCpcKlw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDpmb2N1cyAqKSw6aXMoLm5vdC1kYXRhLVxbdmFyaWFudFw9ZGVzdHJ1Y3RpdmVcXVw6Zm9jdXNcOlwqXCpcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6bm90KFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmZvY3VzLXZpc2libGVcOmJvcmRlci1kZXN0cnVjdGl2ZVwvNDA6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6Ym9yZGVyLWRlc3RydWN0aXZlXC80MDpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpNDAlLHRyYW5zcGFyZW50KX19LmZvY3VzLXZpc2libGVcOmJvcmRlci1yaW5nOmZvY3VzLXZpc2libGV7Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5mb2N1cy12aXNpYmxlXDpyaW5nLTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcOnJpbmctMjpmb2N1cy12aXNpYmxley0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtdmlzaWJsZVw6cmluZy0zOmZvY3VzLXZpc2libGUsLmZvY3VzLXZpc2libGVcOnJpbmctXFszcHhcXTpmb2N1cy12aXNpYmxley0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtdmlzaWJsZVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXDpyaW5nLXJpbmdcLzUwOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6cmluZy1yaW5nXC81MDpmb2N1cy12aXNpYmxley0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcmluZyk1MCUsdHJhbnNwYXJlbnQpfX0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS0xOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjFweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1vZmZzZXQtMjpmb2N1cy12aXNpYmxle291dGxpbmUtb2Zmc2V0OjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1wcmltYXJ5OmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1yaW5nOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX0uYWN0aXZlXDp0cmFuc2xhdGUteS1weDphY3RpdmV7LS10dy10cmFuc2xhdGUteToxcHg7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGlzYWJsZWRcOnBvaW50ZXItZXZlbnRzLW5vbmU6ZGlzYWJsZWR7cG9pbnRlci1ldmVudHM6bm9uZX0uZGlzYWJsZWRcOmN1cnNvci1ub3QtYWxsb3dlZDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmRpc2FibGVkXDpiZy1pbnB1dFwvNTA6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kaXNhYmxlZFw6YmctaW5wdXRcLzUwOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kaXNhYmxlZFw6YmctdHJhbnNwYXJlbnQ6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGlzYWJsZWRcOm9wYWNpdHktNTA6ZGlzYWJsZWR7b3BhY2l0eTouNX06d2hlcmUoW2RhdGEtc2xvdD1idXR0b24tZ3JvdXBdKSAuaW4tZGF0YS1cW3Nsb3RcPWJ1dHRvbi1ncm91cFxdXDpyb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKX06d2hlcmUoW2RhdGEtc2xvdD1jb21ib2JveC1jb250ZW50XSkgLmluLWRhdGEtXFtzbG90XD1jb21ib2JveC1jb250ZW50XF1cOmZvY3VzLXdpdGhpblw6Ym9yZGVyLWluaGVyaXQ6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjppbmhlcml0fTp3aGVyZShbZGF0YS1zbG90PWNvbWJvYm94LWNvbnRlbnRdKSAuaW4tZGF0YS1cW3Nsb3RcPWNvbWJvYm94LWNvbnRlbnRcXVw6Zm9jdXMtd2l0aGluXDpyaW5nLTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06d2hlcmUoW2RhdGEtc2xvdD1kaWFsb2ctY29udGVudF0pIC5pbi1kYXRhLVxbc2xvdFw9ZGlhbG9nLWNvbnRlbnRcXVw6cm91bmRlZC1sZ1whe2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKSFpbXBvcnRhbnR9Lmhhcy1kaXNhYmxlZFw6YmctaW5wdXRcLzUwOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLWRpc2FibGVkXDpiZy1pbnB1dFwvNTA6aGFzKDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpNTAlLHRyYW5zcGFyZW50KX19Lmhhcy1kaXNhYmxlZFw6b3BhY2l0eS01MDpoYXMoOmRpc2FibGVkKXtvcGFjaXR5Oi41fS5oYXMtZGF0YS1cW2ljb25cPWlubGluZS1lbmRcXVw6cHItMVwuNTpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtZW5kXSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLWVuZFxdXDpwci0yOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLWVuZFxdXDpwci0zOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLXN0YXJ0XF1cOnBsLTFcLjU6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFtpY29uXD1pbmxpbmUtc3RhcnRcXVw6cGwtMjpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtc3RhcnRdKXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uaGFzLWRhdGEtXFtpY29uXD1pbmxpbmUtc3RhcnRcXVw6cGwtMzpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtc3RhcnRdKXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uaGFzLWRhdGEtXFtzbG90XD1jYXJkLWFjdGlvblxdXDpncmlkLWNvbHMtXFsxZnJfYXV0b1xdOmhhcyhbZGF0YS1zbG90PWNhcmQtYWN0aW9uXSl7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciBhdXRvfS5oYXMtZGF0YS1cW3Nsb3RcPWNhcmQtZGVzY3JpcHRpb25cXVw6Z3JpZC1yb3dzLVxbYXV0b19hdXRvXF06aGFzKFtkYXRhLXNsb3Q9Y2FyZC1kZXNjcmlwdGlvbl0pe2dyaWQtdGVtcGxhdGUtcm93czphdXRvIGF1dG99Lmhhcy1kYXRhLVxbc2xvdFw9Y2FyZC1mb290ZXJcXVw6cGItMDpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cW1xbZGF0YS1zbG90XD1pbnB1dC1ncm91cC1jb250cm9sXF1cOmZvY3VzLXZpc2libGVcXVw6Ym9yZGVyLXJpbmc6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5oYXMtXFtcW2RhdGEtc2xvdFw9aW5wdXQtZ3JvdXAtY29udHJvbFxdXDpmb2N1cy12aXNpYmxlXF1cOnJpbmctMzpoYXMoW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1jb250cm9sXTpmb2N1cy12aXNpYmxlKXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmhhcy1cW1xbZGF0YS1zbG90XD1pbnB1dC1ncm91cC1jb250cm9sXF1cOmZvY3VzLXZpc2libGVcXVw6cmluZy1yaW5nXC81MDpoYXMoW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1jb250cm9sXTpmb2N1cy12aXNpYmxlKXstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5oYXMtXFtcW2RhdGEtc2xvdFw9aW5wdXQtZ3JvdXAtY29udHJvbFxdXDpmb2N1cy12aXNpYmxlXF1cOnJpbmctcmluZ1wvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFtcW2RhdGEtc2xvdFxdXFthcmlhLWludmFsaWRcPXRydWVcXVxdXDpib3JkZXItZGVzdHJ1Y3RpdmU6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uaGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy0zOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7Lmhhcy1cW1xbZGF0YS1zbG90XF1cW2FyaWEtaW52YWxpZFw9dHJ1ZVxdXF1cOnJpbmctZGVzdHJ1Y3RpdmVcLzIwOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19Lmhhcy1cW1w+XFtkYXRhLWFsaWduXD1ibG9jay1lbmRcXVxdXDpoLWF1dG86aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtoZWlnaHQ6YXV0b30uaGFzLVxbXD5cW2RhdGEtYWxpZ25cPWJsb2NrLWVuZFxdXF1cOmZsZXgtY29sOmhhcyg+W2RhdGEtYWxpZ249YmxvY2stZW5kXSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpoLWF1dG86aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1zdGFydF0pe2hlaWdodDphdXRvfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpmbGV4LWNvbDpoYXMoPltkYXRhLWFsaWduPWJsb2NrLXN0YXJ0XSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFtcPmJ1dHRvblxdXDptci1cWy0wXC4zcmVtXF06aGFzKD5idXR0b24pe21hcmdpbi1yaWdodDotLjNyZW19Lmhhcy1cW1w+YnV0dG9uXF1cOm1sLVxbLTBcLjNyZW1cXTpoYXMoPmJ1dHRvbil7bWFyZ2luLWxlZnQ6LS4zcmVtfS5oYXMtXFtcPmltZ1w6Zmlyc3QtY2hpbGRcXVw6cHQtMDpoYXMoPmltZzpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaGFzLVxbXD5rYmRcXVw6bXItXFstMFwuMTVyZW1cXTpoYXMoPmtiZCl7bWFyZ2luLXJpZ2h0Oi0uMTVyZW19Lmhhcy1cW1w+a2JkXF1cOm1sLVxbLTBcLjE1cmVtXF06aGFzKD5rYmQpe21hcmdpbi1sZWZ0Oi0uMTVyZW19Lmhhcy1cW1w+c3ZnXF1cOnAtMDpoYXMoPnN2Zyl7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5oYXMtXFtcPnRleHRhcmVhXF1cOmgtYXV0bzpoYXMoPnRleHRhcmVhKXtoZWlnaHQ6YXV0b30uYXJpYS1kaXNhYmxlZFw6cG9pbnRlci1ldmVudHMtbm9uZVthcmlhLWRpc2FibGVkPXRydWVde3BvaW50ZXItZXZlbnRzOm5vbmV9LmFyaWEtZGlzYWJsZWRcOm9wYWNpdHktNTBbYXJpYS1kaXNhYmxlZD10cnVlXXtvcGFjaXR5Oi41fS5hcmlhLWV4cGFuZGVkXDpiZy1tdXRlZFthcmlhLWV4cGFuZGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5hcmlhLWV4cGFuZGVkXDpiZy1zZWNvbmRhcnlbYXJpYS1leHBhbmRlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9LmFyaWEtZXhwYW5kZWRcOnRleHQtZm9yZWdyb3VuZFthcmlhLWV4cGFuZGVkPXRydWVde2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hcmlhLWV4cGFuZGVkXDp0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS5hcmlhLWludmFsaWRcOmJvcmRlci1kZXN0cnVjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV17Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uYXJpYS1pbnZhbGlkXDpyaW5nLTBbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXDpyaW5nLTNbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXDpyaW5nLWRlc3RydWN0aXZlXC8yMFthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmFyaWEtaW52YWxpZFw6cmluZy1kZXN0cnVjdGl2ZVwvMjBbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhdGEtZW5kaW5nLXN0eWxlXDpvcGFjaXR5LTBbZGF0YS1lbmRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1pbnNldFw6cGwtN1tkYXRhLWluc2V0XXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uZGF0YS1wb3B1cC1vcGVuXDpiZy1hY2NlbnRbZGF0YS1wb3B1cC1vcGVuXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmRhdGEtcG9wdXAtb3Blblw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZFtkYXRhLXBvcHVwLW9wZW5de2NvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKX0uZGF0YS1zdGFydGluZy1zdHlsZVw6b3BhY2l0eS0wW2RhdGEtc3RhcnRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1cW2Rpc2FibGVkXD10cnVlXF1cOnBvaW50ZXItZXZlbnRzLW5vbmVbZGF0YS1kaXNhYmxlZD10cnVlXXtwb2ludGVyLWV2ZW50czpub25lfS5kYXRhLVxbZGlzYWJsZWRcPXRydWVcXVw6b3BhY2l0eS01MFtkYXRhLWRpc2FibGVkPXRydWVde29wYWNpdHk6LjV9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6aW5zZXQteC0wW2RhdGEtc2lkZT1ib3R0b21de2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxbc2lkZVw9Ym90dG9tXF1cOmJvdHRvbS0wW2RhdGEtc2lkZT1ib3R0b21de2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxbc2lkZVw9Ym90dG9tXF1cOmgtYXV0b1tkYXRhLXNpZGU9Ym90dG9tXXtoZWlnaHQ6YXV0b30uZGF0YS1cW3NpZGVcPWJvdHRvbVxdXDpib3JkZXItdFtkYXRhLXNpZGU9Ym90dG9tXXtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6c2xpZGUtaW4tZnJvbS10b3AtMltkYXRhLXNpZGU9Ym90dG9tXXstLXR3LWVudGVyLXRyYW5zbGF0ZS15OmNhbGMoMip2YXIoLS1zcGFjaW5nKSotMSl9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6ZGF0YS1lbmRpbmctc3R5bGVcOnRyYW5zbGF0ZS15LVxbMlwuNXJlbVxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cW3NpZGVcPWJvdHRvbVxdXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXDp0cmFuc2xhdGUteS1cWzJcLjVyZW1cXVtkYXRhLXNpZGU9Ym90dG9tXVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS15OjIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxbc2lkZVw9aW5saW5lLWVuZFxdXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9aW5saW5lLWVuZF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxbc2lkZVw9aW5saW5lLXN0YXJ0XF1cOnNsaWRlLWluLWZyb20tcmlnaHQtMltkYXRhLXNpZGU9aW5saW5lLXN0YXJ0XXstLXR3LWVudGVyLXRyYW5zbGF0ZS14OmNhbGMoMip2YXIoLS1zcGFjaW5nKSl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmluc2V0LXktMFtkYXRhLXNpZGU9bGVmdF17aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6bGVmdC0wW2RhdGEtc2lkZT1sZWZ0XXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmgtZnVsbFtkYXRhLXNpZGU9bGVmdF17aGVpZ2h0OjEwMCV9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOnctM1wvNFtkYXRhLXNpZGU9bGVmdF17d2lkdGg6NzUlfS5kYXRhLVxbc2lkZVw9bGVmdFxdXDpib3JkZXItcltkYXRhLXNpZGU9bGVmdF17Ym9yZGVyLXJpZ2h0LXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXJpZ2h0LXdpZHRoOjFweH0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6c2xpZGUtaW4tZnJvbS1yaWdodC0yW2RhdGEtc2lkZT1sZWZ0XXstLXR3LWVudGVyLXRyYW5zbGF0ZS14OmNhbGMoMip2YXIoLS1zcGFjaW5nKSl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmRhdGEtZW5kaW5nLXN0eWxlXDp0cmFuc2xhdGUteC1cWy0yXC41cmVtXF1bZGF0YS1zaWRlPWxlZnRdW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cW3NpZGVcPWxlZnRcXVw6ZGF0YS1zdGFydGluZy1zdHlsZVw6dHJhbnNsYXRlLXgtXFstMlwuNXJlbVxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOmluc2V0LXktMFtkYXRhLXNpZGU9cmlnaHRde2luc2V0LWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFtzaWRlXD1yaWdodFxdXDpyaWdodC0wW2RhdGEtc2lkZT1yaWdodF17cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOmgtZnVsbFtkYXRhLXNpZGU9cmlnaHRde2hlaWdodDoxMDAlfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6dy0zXC80W2RhdGEtc2lkZT1yaWdodF17d2lkdGg6NzUlfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6Ym9yZGVyLWxbZGF0YS1zaWRlPXJpZ2h0XXtib3JkZXItbGVmdC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1sZWZ0LXdpZHRoOjFweH0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOnNsaWRlLWluLWZyb20tbGVmdC0yW2RhdGEtc2lkZT1yaWdodF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6ZGF0YS1lbmRpbmctc3R5bGVcOnRyYW5zbGF0ZS14LVxbMlwuNXJlbVxdW2RhdGEtc2lkZT1yaWdodF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6ZGF0YS1zdGFydGluZy1zdHlsZVw6dHJhbnNsYXRlLXgtXFsyXC41cmVtXF1bZGF0YS1zaWRlPXJpZ2h0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14OjIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxbc2lkZVw9dG9wXF1cOmluc2V0LXgtMFtkYXRhLXNpZGU9dG9wXXtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXRvcFxdXDp0b3AtMFtkYXRhLXNpZGU9dG9wXXt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXRvcFxdXDpoLWF1dG9bZGF0YS1zaWRlPXRvcF17aGVpZ2h0OmF1dG99LmRhdGEtXFtzaWRlXD10b3BcXVw6Ym9yZGVyLWJbZGF0YS1zaWRlPXRvcF17Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5kYXRhLVxbc2lkZVw9dG9wXF1cOnNsaWRlLWluLWZyb20tYm90dG9tLTJbZGF0YS1zaWRlPXRvcF17LS10dy1lbnRlci10cmFuc2xhdGUteTpjYWxjKDIqdmFyKC0tc3BhY2luZykpfS5kYXRhLVxbc2lkZVw9dG9wXF1cOmRhdGEtZW5kaW5nLXN0eWxlXDp0cmFuc2xhdGUteS1cWy0yXC41cmVtXF1bZGF0YS1zaWRlPXRvcF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxbc2lkZVw9dG9wXF1cOmRhdGEtc3RhcnRpbmctc3R5bGVcOnRyYW5zbGF0ZS15LVxbLTJcLjVyZW1cXVtkYXRhLXNpZGU9dG9wXVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS15Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cW3NpemVcPWxnXF1cOnNpemUtMTBbZGF0YS1zaXplPWxnXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmRhdGEtXFtzaXplXD1zbVxdXDpzaXplLTZbZGF0YS1zaXplPXNtXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5kYXRhLVxbc2l6ZVw9c21cXVw6Z2FwLTNbZGF0YS1zaXplPXNtXXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZGF0YS1cW3NpemVcPXNtXF1cOnB5LTNbZGF0YS1zaXplPXNtXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmRhdGEtXFtzaXplXD1zbVxdXDpoYXMtZGF0YS1cW3Nsb3RcPWNhcmQtZm9vdGVyXF1cOnBiLTBbZGF0YS1zaXplPXNtXTpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9OmlzKC5cKlw6ZGF0YS1cW3Nsb3RcPWF2YXRhclxdXDpyaW5nLTI+KilbZGF0YS1zbG90PWF2YXRhcl17LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDJweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfTppcyguXCpcOmRhdGEtXFtzbG90XD1hdmF0YXJcXVw6cmluZy1iYWNrZ3JvdW5kPiopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKX06aXMoLlwqXDpkYXRhLVxbc2xvdFw9aW5wdXQtZ3JvdXAtYWRkb25cXVw6cGwtMlwhPiopW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1hZGRvbl17cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMikhaW1wb3J0YW50fS5kYXRhLVxbc3RhdGVcPXNlbGVjdGVkXF1cOmJnLW11dGVkW2RhdGEtc3RhdGU9c2VsZWN0ZWRde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5kYXRhLVxbdmFyaWFudFw9ZGVzdHJ1Y3RpdmVcXVw6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVde2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uZGF0YS1cW3ZhcmlhbnRcPWRlc3RydWN0aXZlXF1cOmZvY3VzXDpiZy1kZXN0cnVjdGl2ZVwvMTBbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6YmctZGVzdHJ1Y3RpdmVcLzEwW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMTAlLHRyYW5zcGFyZW50KX19LmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdOmZvY3Vze2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVw6cm91bmRlZC1ub25lW2RhdGEtdmFyaWFudD1saW5lXXtib3JkZXItcmFkaXVzOjB9QHN1cHBvcnRzICgoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHcpKSBvciAoYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3KSkpey5zdXBwb3J0cy1iYWNrZHJvcC1maWx0ZXJcOmJhY2tkcm9wLWJsdXIteHN7LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIodmFyKC0tYmx1ci14cykpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9fUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuc21cOmJsb2Nre2Rpc3BsYXk6YmxvY2t9LnNtXDpoaWRkZW57ZGlzcGxheTpub25lfS5zbVw6aW5saW5le2Rpc3BsYXk6aW5saW5lfS5zbVw6aW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uc21cOmgtMjR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMjQpfS5zbVw6dy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0uc21cOnctYXV0b3t3aWR0aDphdXRvfS5zbVw6bWF4LXctc217bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1zbSl9LnNtXDpmbGV4LW5vbmV7ZmxleDpub25lfS5zbVw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5zbVw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5zbVw6ZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5zbVw6aXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uc21cOmp1c3RpZnktYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uc21cOmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc21cOnAtNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnNtXDpwLTZ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5zbVw6cC04e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc21cOnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uc21cOnRleHQtM3hse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTN4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTN4bC0tbGluZS1oZWlnaHQpKX0uc21cOnRleHQtYmFzZXtmb250LXNpemU6dmFyKC0tdGV4dC1iYXNlKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtYmFzZS0tbGluZS1oZWlnaHQpKX0uc21cOnRleHQteGx7Zm9udC1zaXplOnZhcigtLXRleHQteGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14bC0tbGluZS1oZWlnaHQpKX0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6c21cOm1heC13LXNtW2RhdGEtc2lkZT1sZWZ0XSwuZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOnNtXDptYXgtdy1zbVtkYXRhLXNpZGU9cmlnaHRde21heC13aWR0aDp2YXIoLS1jb250YWluZXItc20pfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7Lm1kXDppbnNldC14LWF1dG97aW5zZXQtaW5saW5lOmF1dG99Lm1kXDpyaWdodC00e3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm1kXDpib3R0b20tNHtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubWRcOmxlZnQtYXV0b3tsZWZ0OmF1dG99Lm1kXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5tZFw6ZmxleHtkaXNwbGF5OmZsZXh9Lm1kXDpoaWRkZW57ZGlzcGxheTpub25lfS5tZFw6dGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9Lm1kXDptaW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tZFw6Z3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfS5tZFw6ZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5tZFw6aXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0ubWRcOmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tZFw6cGItMHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tZFw6dGV4dC1zbXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS5tZFw6d2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmxnXDpzdGlja3l7cG9zaXRpb246c3RpY2t5fS5sZ1w6dG9wLTR7dG9wOmNhbGModmFyKC0tc3BhY2luZykqNCl9LmxnXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5sZ1w6aGlkZGVue2Rpc3BsYXk6bm9uZX0ubGdcOnRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsfS5sZ1w6dy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubGdcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy0ze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy01e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy1cWzFmcl8zNDBweFxde2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMzQwcHh9LmxnXDpmbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmxnXDpzZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey54bFw6dy04MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjgwKX19LmRhcmtcOmJsb2NrOmlzKC5kYXJrICope2Rpc3BsYXk6YmxvY2t9LmRhcmtcOmhpZGRlbjppcyguZGFyayAqKXtkaXNwbGF5Om5vbmV9LmRhcmtcOmJvcmRlci1pbnB1dDppcyguZGFyayAqKXtib3JkZXItY29sb3I6dmFyKC0taW5wdXQpfS5kYXJrXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGFya1w6dGV4dC1ncmVlbi00MDA6aXMoLmRhcmsgKil7Y29sb3I6dmFyKC0tY29sb3ItZ3JlZW4tNDAwKX0uZGFya1w6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmlzKC5kYXJrICope2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5kYXJrXDpwcm9zZS1pbnZlcnQ6aXMoLmRhcmsgKil7LS10dy1wcm9zZS1ib2R5OnZhcigtLXR3LXByb3NlLWludmVydC1ib2R5KTstLXR3LXByb3NlLWhlYWRpbmdzOnZhcigtLXR3LXByb3NlLWludmVydC1oZWFkaW5ncyk7LS10dy1wcm9zZS1sZWFkOnZhcigtLXR3LXByb3NlLWludmVydC1sZWFkKTstLXR3LXByb3NlLWxpbmtzOnZhcigtLXR3LXByb3NlLWludmVydC1saW5rcyk7LS10dy1wcm9zZS1ib2xkOnZhcigtLXR3LXByb3NlLWludmVydC1ib2xkKTstLXR3LXByb3NlLWNvdW50ZXJzOnZhcigtLXR3LXByb3NlLWludmVydC1jb3VudGVycyk7LS10dy1wcm9zZS1idWxsZXRzOnZhcigtLXR3LXByb3NlLWludmVydC1idWxsZXRzKTstLXR3LXByb3NlLWhyOnZhcigtLXR3LXByb3NlLWludmVydC1ocik7LS10dy1wcm9zZS1xdW90ZXM6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXF1b3Rlcyk7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOnZhcigtLXR3LXByb3NlLWludmVydC1xdW90ZS1ib3JkZXJzKTstLXR3LXByb3NlLWNhcHRpb25zOnZhcigtLXR3LXByb3NlLWludmVydC1jYXB0aW9ucyk7LS10dy1wcm9zZS1rYmQ6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWtiZCk7LS10dy1wcm9zZS1rYmQtc2hhZG93czp2YXIoLS10dy1wcm9zZS1pbnZlcnQta2JkLXNoYWRvd3MpOy0tdHctcHJvc2UtY29kZTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY29kZSk7LS10dy1wcm9zZS1wcmUtY29kZTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGUpOy0tdHctcHJvc2UtcHJlLWJnOnZhcigtLXR3LXByb3NlLWludmVydC1wcmUtYmcpOy0tdHctcHJvc2UtdGgtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtdGgtYm9yZGVycyk7LS10dy1wcm9zZS10ZC1ib3JkZXJzOnZhcigtLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzKX0uZGFya1w6YWZ0ZXJcOm1peC1ibGVuZC1saWdodGVuOmlzKC5kYXJrICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZGFya1w6aG92ZXJcOmJnLWRlc3RydWN0aXZlXC8zMDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMzA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmhvdmVyXDpiZy1pbnB1dFwvNTA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXDpob3Zlclw6YmctaW5wdXRcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDpob3Zlclw6YmctbXV0ZWRcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6aG92ZXJcOmJnLW11dGVkXC81MDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6aG92ZXJcOnRleHQtZm9yZWdyb3VuZDppcyguZGFyayAqKTpob3Zlcntjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX19LmRhcmtcOmZvY3VzLXZpc2libGVcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmZvY3VzLXZpc2libGVcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6ZGlzYWJsZWRcOmJnLWlucHV0XC84MDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmRpc2FibGVkXDpiZy1pbnB1dFwvODA6aXMoLmRhcmsgKik6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpODAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmRpc2FibGVkXDpiZy10cmFuc3BhcmVudDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5kYXJrXDpoYXMtZGlzYWJsZWRcOmJnLWlucHV0XC84MDppcyguZGFyayAqKTpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmhhcy1kaXNhYmxlZFw6YmctaW5wdXRcLzgwOmlzKC5kYXJrICopOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTgwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDpoYXMtXFtcW2RhdGEtc2xvdFxdXFthcmlhLWludmFsaWRcPXRydWVcXVxdXDpyaW5nLWRlc3RydWN0aXZlXC80MDppcyguZGFyayAqKTpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6aGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy1kZXN0cnVjdGl2ZVwvNDA6aXMoLmRhcmsgKik6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6YXJpYS1pbnZhbGlkXDpib3JkZXItZGVzdHJ1Y3RpdmVcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6YXJpYS1pbnZhbGlkXDpib3JkZXItZGVzdHJ1Y3RpdmVcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDphcmlhLWludmFsaWRcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6YXJpYS1pbnZhbGlkXDpyaW5nLWRlc3RydWN0aXZlXC80MDppcyguZGFyayAqKVthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6ZGF0YS1cW3ZhcmlhbnRcPWRlc3RydWN0aXZlXF1cOmZvY3VzXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKilbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6YmctZGVzdHJ1Y3RpdmVcLzIwOmlzKC5kYXJrICopW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhdGEtb3Blblw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3Blblw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXthbmltYXRpb246ZW50ZXIgdmFyKC0tdHctYW5pbWF0aW9uLWR1cmF0aW9uLHZhcigtLXR3LWR1cmF0aW9uLC4xNXMpKXZhcigtLXR3LWVhc2UsZWFzZSl2YXIoLS10dy1hbmltYXRpb24tZGVsYXksMHMpdmFyKC0tdHctYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwxKXZhcigtLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb24sbm9ybWFsKXZhcigtLXR3LWFuaW1hdGlvbi1maWxsLW1vZGUsbm9uZSl9LmRhdGEtb3Blblw6YmctYWNjZW50OndoZXJlKFtkYXRhLXN0YXRlPW9wZW5dKSwuZGF0YS1vcGVuXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLW9wZW5cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5kYXRhLW9wZW5cOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3Blblw6ZmFkZS1pbi0wOndoZXJlKFtkYXRhLW9wZW5dOm5vdChbZGF0YS1vcGVuPWZhbHNlXSkpey0tdHctZW50ZXItb3BhY2l0eTowfS5kYXRhLW9wZW5cOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7LS10dy1lbnRlci1zY2FsZTouOTV9LmRhdGEtY2xvc2VkXDphbmltYXRlLW91dDp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOmFuaW1hdGUtb3V0OndoZXJlKFtkYXRhLWNsb3NlZF06bm90KFtkYXRhLWNsb3NlZD1mYWxzZV0pKXthbmltYXRpb246ZXhpdCB2YXIoLS10dy1hbmltYXRpb24tZHVyYXRpb24sdmFyKC0tdHctZHVyYXRpb24sLjE1cykpdmFyKC0tdHctZWFzZSxlYXNlKXZhcigtLXR3LWFuaW1hdGlvbi1kZWxheSwwcyl2YXIoLS10dy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LDEpdmFyKC0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpdmFyKC0tdHctYW5pbWF0aW9uLWZpbGwtbW9kZSxub25lKX0uZGF0YS1jbG9zZWRcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1jbG9zZWRdOm5vdChbZGF0YS1jbG9zZWQ9ZmFsc2VdKSl7b3ZlcmZsb3c6aGlkZGVufS5kYXRhLWNsb3NlZFw6ZmFkZS1vdXQtMDp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOmZhZGUtb3V0LTA6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1vcGFjaXR5OjB9LmRhdGEtY2xvc2VkXDp6b29tLW91dC05NTp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOnpvb20tb3V0LTk1OndoZXJlKFtkYXRhLWNsb3NlZF06bm90KFtkYXRhLWNsb3NlZD1mYWxzZV0pKXstLXR3LWV4aXQtc2NhbGU6Ljk1fS5kYXRhLXNlbGVjdGVkXDpiZy1tdXRlZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9LmRhdGEtc2VsZWN0ZWRcOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmRhdGEtZGlzYWJsZWRcOnBvaW50ZXItZXZlbnRzLW5vbmU6d2hlcmUoW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0pLC5kYXRhLWRpc2FibGVkXDpwb2ludGVyLWV2ZW50cy1ub25lOndoZXJlKFtkYXRhLWRpc2FibGVkXTpub3QoW2RhdGEtZGlzYWJsZWQ9ZmFsc2VdKSl7cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1kaXNhYmxlZFw6b3BhY2l0eS01MDp3aGVyZShbZGF0YS1kaXNhYmxlZD10cnVlXSksLmRhdGEtZGlzYWJsZWRcOm9wYWNpdHktNTA6d2hlcmUoW2RhdGEtZGlzYWJsZWRdOm5vdChbZGF0YS1kaXNhYmxlZD1mYWxzZV0pKXtvcGFjaXR5Oi41fS5kYXRhLWFjdGl2ZVw6YmctYmFja2dyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcOmJnLWJhY2tncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9ZGVmYXVsdFxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9ZGVmYXVsdF0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmdyb3VwLWRhdGEtXFt2YXJpYW50XD1kZWZhdWx0XF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOnNoYWRvdy1zbTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1kZWZhdWx0XSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpiZy10cmFuc3BhcmVudDppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YmctdHJhbnNwYXJlbnQ6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6IzAwMDB9Lmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOnNoYWRvdy1ub25lOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpzaGFkb3ctbm9uZTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOmFmdGVyXDpvcGFjaXR5LTEwMDppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YWZ0ZXJcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKSk6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtvcGFjaXR5OjF9LmRhcmtcOmRhdGEtYWN0aXZlXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JvcmRlci1jb2xvcjp2YXIoLS1pbnB1dCl9LmRhcmtcOmRhdGEtYWN0aXZlXDpiZy1pbnB1dFwvMzA6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDpiZy1pbnB1dFwvMzA6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6ZGF0YS1hY3RpdmVcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1w6ZGF0YS1hY3RpdmVcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXJrXDpncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpib3JkZXItdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOmJvcmRlci10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7Ym9yZGVyLWNvbG9yOiMwMDAwfS5kYXJrXDpncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpiZy10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1w6Z3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6IzAwMDB9LmRhdGEtaG9yaXpvbnRhbFw6aC1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7aGVpZ2h0OjFweH0uZGF0YS1ob3Jpem9udGFsXDp3LWZ1bGw6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pe3dpZHRoOjEwMCV9LmRhdGEtaG9yaXpvbnRhbFw6ZmxleC1jb2w6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pe2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZGF0YS12ZXJ0aWNhbFw6dy1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe3dpZHRoOjFweH0uZGF0YS12ZXJ0aWNhbFw6c2VsZi1zdHJldGNoOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSl7YWxpZ24tc2VsZjpzdHJldGNofS5cW1wmX2FcXVw6dGV4dC1wcmltYXJ5IGF7Y29sb3I6dmFyKC0tcHJpbWFyeSl9LlxbXCZfaDNcXVw6bXQtNiBoM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqNil9LlxbXCZfaDNcXVw6bWItMiBoM3ttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9LlxbXCZfaDNcXVw6dGV4dC1mb3JlZ3JvdW5kIGgze2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5cW1wmX3N2Z1xdXDpwb2ludGVyLWV2ZW50cy1ub25lIHN2Z3twb2ludGVyLWV2ZW50czpub25lfS5cW1wmX3N2Z1xdXDpzaHJpbmstMCBzdmd7ZmxleC1zaHJpbms6MH0uXFtcJl9zdmdcOm5vdFwoXFtjbGFzc1wqXD1cJ3NpemUtXCdcXVwpXF1cOnNpemUtMyBzdmc6bm90KFtjbGFzcyo9c2l6ZS1dKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5cW1wmX3N2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS0zXC41IHN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5cW1wmX3N2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS00IHN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxbXCZfdHJcXVw6Ym9yZGVyLWIgdHJ7Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5cW1wmX3RyXDpsYXN0LWNoaWxkXF1cOmJvcmRlci0wIHRyOmxhc3QtY2hpbGR7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjB9LlxbXCZcOlw6LXdlYmtpdC1kZXRhaWxzLW1hcmtlclxdXDpoaWRkZW46Oi13ZWJraXQtZGV0YWlscy1tYXJrZXJ7ZGlzcGxheTpub25lfS5cW1wmXDpcOi13ZWJraXQtc2Nyb2xsYmFyXF1cOmhpZGRlbjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5cW1wmXDpoYXNcKFxbcm9sZVw9Y2hlY2tib3hcXVwpXF1cOnByLTA6aGFzKFtyb2xlPWNoZWNrYm94XSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5cW1wuYm9yZGVyLWJcXVw6cGItMi5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5cW1wuYm9yZGVyLWJcXVw6cGItNC5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5ncm91cC1kYXRhLVxbc2l6ZVw9c21cXVwvY2FyZFw6XFtcLmJvcmRlci1iXF1cOnBiLTM6aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKS5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5cW1wuYm9yZGVyLXRcXVw6cHQtMi5ib3JkZXItdHtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnB4LTIgKilbY21kay1ncm91cC1oZWFkaW5nXXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnB5LTFcLjUgKilbY21kay1ncm91cC1oZWFkaW5nXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMS41KX06aXMoLlwqXCpcOlxbXFtjbWRrLWdyb3VwLWhlYWRpbmdcXVxdXDp0ZXh0LXhzICopW2NtZGstZ3JvdXAtaGVhZGluZ117Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX06aXMoLlwqXCpcOlxbXFtjbWRrLWdyb3VwLWhlYWRpbmdcXVxdXDpmb250LW1lZGl1bSAqKVtjbWRrLWdyb3VwLWhlYWRpbmddey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnRleHQtbXV0ZWQtZm9yZWdyb3VuZCAqKVtjbWRrLWdyb3VwLWhlYWRpbmdde2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfTppcyguXCpcOlxbYVxdXDp1bmRlcmxpbmU+Kik6aXMoYSl7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfTppcyguXCpcOlxbYVxdXDp1bmRlcmxpbmUtb2Zmc2V0LTM+Kik6aXMoYSl7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjNweH1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuXFthXF1cOmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cW2FcXVw6aG92ZXJcOmJnLWRlc3RydWN0aXZlXC8yMDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uXFthXF1cOmhvdmVyXDpiZy1tdXRlZDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uXFthXF1cOmhvdmVyXDpiZy1wcmltYXJ5XC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFthXF1cOmhvdmVyXDpiZy1wcmltYXJ5XC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTgwJSx0cmFuc3BhcmVudCl9fS5cW2FcXVw6aG92ZXJcOmJnLXNlY29uZGFyeVwvODA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFthXF1cOmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmlzKGEpOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uXFthXF1cOmhvdmVyXDp0ZXh0LW11dGVkLWZvcmVncm91bmQ6aXMoYSk6aG92ZXJ7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9OmlzKC5cKlw6XFthXF1cOmhvdmVyXDp0ZXh0LWZvcmVncm91bmQ+Kik6aXMoYSk6aG92ZXJ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9fTppcyguXCpcOlxbaW1nXDpmaXJzdC1jaGlsZFxdXDpyb3VuZGVkLXQteGw+Kik6aXMoaW1nOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguXCpcOlxbaW1nXDpsYXN0LWNoaWxkXF1cOnJvdW5kZWQtYi14bD4qKTppcyhpbWc6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX06aXMoLmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpcKlw6XFtzdmdcXVw6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdPiopOmlzKHN2Zyl7Y29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfTppcyguZGF0YS1zZWxlY3RlZFw6XCpcOlxbc3ZnXF1cOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSk+Kik6aXMoc3ZnKXtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaGFzLVxbXD5cW2RhdGEtYWxpZ25cPWJsb2NrLWVuZFxdXF1cOlxbXCZcPmlucHV0XF1cOnB0LTM6aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1lbmRdKT5pbnB1dHtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpcW1wmXD5pbnB1dFxdXDpwYi0zOmhhcyg+W2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKT5pbnB1dHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9aW5saW5lLWVuZFxdXF1cOlxbXCZcPmlucHV0XF1cOnByLTFcLjU6aGFzKD5bZGF0YS1hbGlnbj1pbmxpbmUtZW5kXSk+aW5wdXR7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lmhhcy1cW1w+XFtkYXRhLWFsaWduXD1pbmxpbmUtc3RhcnRcXVxdXDpcW1wmXD5pbnB1dFxdXDpwbC0xXC41Omhhcyg+W2RhdGEtYWxpZ249aW5saW5lLXN0YXJ0XSk+aW5wdXR7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uXFtcJlw+a2JkXF1cOnJvdW5kZWQtXFtjYWxjXCh2YXJcKC0tcmFkaXVzXCktNXB4XClcXT5rYmR7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSA1cHgpfS5cW1wmXD5zdmdcXVw6cG9pbnRlci1ldmVudHMtbm9uZT5zdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uXFtcJlw+c3ZnXF1cOnNpemUtM1whPnN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpIWltcG9ydGFudDtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKSFpbXBvcnRhbnR9LlxbXCZcPnN2Z1xdXDpzaXplLTQ+c3Zne3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyLWdyb3VwXDpcW1wmXD5zdmdcXVw6c2l6ZS01OmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKT5zdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uZ3JvdXAtaGFzLWRhdGEtXFtzaXplXD1zbVxdXC9hdmF0YXItZ3JvdXBcOlxbXCZcPnN2Z1xdXDpzaXplLTM6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICopPnN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxbc2l6ZVw9ZGVmYXVsdFxdXC9hdmF0YXJcOlxbXCZcPnN2Z1xdXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9ZGVmYXVsdF0gKik+c3ZnLC5ncm91cC1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyXDpcW1wmXD5zdmdcXVw6c2l6ZS0yOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKT5zdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cW3NpemVcPXNtXF1cL2F2YXRhclw6XFtcJlw+c3ZnXF1cOmhpZGRlbjppcyg6d2hlcmUoLmdyb3VwXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKik+c3Zne2Rpc3BsYXk6bm9uZX0uXFtcJlw+c3ZnXDpub3RcKFxbY2xhc3NcKlw9XCdzaXplLVwnXF1cKVxdXDpzaXplLTNcLjU+c3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LlxbXCZcPnN2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS00PnN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxbXCZcPnRyXF1cOmxhc3RcOmJvcmRlci1iLTA+dHI6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDowfX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZGVsYXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjBzfUBwcm9wZXJ0eSAtLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOm5vcm1hbH1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZHVyYXRpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZmlsbC1tb2Rle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpub25lfUBwcm9wZXJ0eSAtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZW50ZXItYmx1cntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWVudGVyLXJvdGF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1zY2FsZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MX1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LWJsdXJ7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWV4aXQtcm90YXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWV4aXQtc2NhbGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LXRyYW5zbGF0ZS15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfTpyb290ey0tYmFja2dyb3VuZDojZmZmOy0tZm9yZWdyb3VuZDojMTExODI3Oy0tY2FyZDojZjlmYWZiOy0tY2FyZC1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1wb3BvdmVyOiNmZmY7LS1wb3BvdmVyLWZvcmVncm91bmQ6IzExMTgyNzstLXByaW1hcnk6IzAwNzBlYzstLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2Vjb25kYXJ5OiNmM2Y0ZjY7LS1zZWNvbmRhcnktZm9yZWdyb3VuZDojMTExODI3Oy0tbXV0ZWQ6I2YzZjRmNjstLW11dGVkLWZvcmVncm91bmQ6IzZiNzI4MDstLWFjY2VudDojZjNmNGY2Oy0tYWNjZW50LWZvcmVncm91bmQ6IzExMTgyNzstLWRlc3RydWN0aXZlOiNlZjQ0NDQ7LS1ib3JkZXI6I2U1ZTdlYjstLWlucHV0OiNlNWU3ZWI7LS1yaW5nOiMwMDc0ZjU7LS1yYWRpdXM6LjVyZW07LS1zdWNjZXNzOiMyMmM1NWU7LS1kYW5nZXI6I2VmNDQ0NDstLXdhcm5pbmc6I2Y1OWUwYjstLWluZm86IzNiODJmNjstLXN1cmZhY2U6I2Y5ZmFmYjstLXN1cmZhY2UtMjojZjNmNGY2Oy0tY2hhcnQtMTojMDA3NGY1Oy0tY2hhcnQtMjojMDBiOGE5Oy0tY2hhcnQtMzojMjJjNTVlOy0tY2hhcnQtNDojZjU5ZTBiOy0tY2hhcnQtNTojZWY0NDQ0Oy0tc2lkZWJhcjojZjlmYWZiOy0tc2lkZWJhci1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1zaWRlYmFyLXByaW1hcnk6IzAwNzRmNTstLXNpZGViYXItcHJpbWFyeS1mb3JlZ3JvdW5kOiNmZmY7LS1zaWRlYmFyLWFjY2VudDojZjNmNGY2Oy0tc2lkZWJhci1hY2NlbnQtZm9yZWdyb3VuZDojMTExODI3Oy0tc2lkZWJhci1ib3JkZXI6I2U1ZTdlYjstLXNpZGViYXItcmluZzojMDA3NGY1fS5kYXJrey0tYmFja2dyb3VuZDojMGIwZjE5Oy0tZm9yZWdyb3VuZDojZjlmYWZiOy0tY2FyZDojMTExODI3Oy0tY2FyZC1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1wb3BvdmVyOiMxMTE4Mjc7LS1wb3BvdmVyLWZvcmVncm91bmQ6I2Y5ZmFmYjstLXByaW1hcnk6IzAwNzBlYzstLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2Vjb25kYXJ5OiMxZjI5Mzc7LS1zZWNvbmRhcnktZm9yZWdyb3VuZDojZjlmYWZiOy0tbXV0ZWQ6IzFmMjkzNzstLW11dGVkLWZvcmVncm91bmQ6IzljYTNhZjstLWFjY2VudDojMWYyOTM3Oy0tYWNjZW50LWZvcmVncm91bmQ6I2Y5ZmFmYjstLWRlc3RydWN0aXZlOiNlZjQ0NDQ7LS1ib3JkZXI6IzM3NDE1MTstLWlucHV0OiMzNzQxNTE7LS1yaW5nOiMwMDc0ZjU7LS1zdWNjZXNzOiMyMmM1NWU7LS1kYW5nZXI6I2VmNDQ0NDstLXdhcm5pbmc6I2Y1OWUwYjstLWluZm86IzNiODJmNjstLXN1cmZhY2U6IzExMTgyNzstLXN1cmZhY2UtMjojMWYyOTM3Oy0tY2hhcnQtMTojM2Q5YWZmOy0tY2hhcnQtMjojMzNjOWJkOy0tY2hhcnQtMzojMjJjNTVlOy0tY2hhcnQtNDojZjU5ZTBiOy0tY2hhcnQtNTojZWY0NDQ0Oy0tc2lkZWJhcjojMTExODI3Oy0tc2lkZWJhci1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1zaWRlYmFyLXByaW1hcnk6IzNkOWFmZjstLXNpZGViYXItcHJpbWFyeS1mb3JlZ3JvdW5kOiNmZmY7LS1zaWRlYmFyLWFjY2VudDojMWYyOTM3Oy0tc2lkZWJhci1hY2NlbnQtZm9yZWdyb3VuZDojZjlmYWZiOy0tc2lkZWJhci1ib3JkZXI6IzM3NDE1MTstLXNpZGViYXItcmluZzojMDA3NGY1fUBrZXlmcmFtZXMgdGV4dC1zaGltbWVyezAle2JhY2tncm91bmQtcG9zaXRpb246MjAwJX10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDAlfX0udGV4dC1zaGltbWVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLW11dGVkLWZvcmVncm91bmQpNDAlLHZhcigtLWZvcmVncm91bmQpNTAlLHZhcigtLW11dGVkLWZvcmVncm91bmQpNjAlKTtjb2xvcjojMDAwMDtiYWNrZ3JvdW5kLXNpemU6MjAwJTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2JhY2tncm91bmQtY2xpcDp0ZXh0O2FuaW1hdGlvbjoycyBsaW5lYXIgaW5maW5pdGUgdGV4dC1zaGltbWVyfWh0bWwuY2MtY29uc2VudGVkIC5jb29raWUtbm90aWNle2Rpc3BsYXk6bm9uZX1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUtentzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1yb3RhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcm90YXRlLXp7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXh7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zcGFjZS15LXJldmVyc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctc3BhY2UteC1yZXZlcnNle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWRpdmlkZS15LXJldmVyc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctYm9yZGVyLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1ncmFkaWVudC1wb3NpdGlvbntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb217c3ludGF4OiI8Y29sb3I+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYXtzeW50YXg6Ijxjb2xvcj4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6IzAwMDB9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG97c3ludGF4OiI8Y29sb3I+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXN0b3Bze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhLXN0b3Bze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbntzeW50YXg6IjxsZW5ndGgtcGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCV9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9ue3N5bnRheDoiPGxlbmd0aC1wZXJjZW50YWdlPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTo1MCV9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb257c3ludGF4OiI8bGVuZ3RoLXBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctbGVhZGluZ3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWZvbnQtd2VpZ2h0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctdHJhY2tpbmd7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1vcmRpbmFse3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2xhc2hlZC16ZXJve3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1maWd1cmV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLXNwYWNpbmd7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZyYWN0aW9ue3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctc2hhZG93LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctcmluZy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctaW5zZXQtcmluZy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXJpbmctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctcmluZy1pbnNldHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoe3N5bnRheDoiPGxlbmd0aD4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6I2ZmZn1AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1vdXRsaW5lLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1ibHVye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYnJpZ2h0bmVzc3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWNvbnRyYXN0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JheXNjYWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaHVlLXJvdGF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWludmVydHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW9wYWNpdHl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zYXR1cmF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNlcGlhe3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctc2l6ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWJsdXJ7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtY29udHJhc3R7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1odWUtcm90YXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaW52ZXJ0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atb3BhY2l0eXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLXNhdHVyYXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atc2VwaWF7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kdXJhdGlvbntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWVhc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1jb250ZW50e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToiIn1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHB1bHNlezUwJXtvcGFjaXR5Oi41fX1Aa2V5ZnJhbWVzIGVudGVyezAle29wYWNpdHk6dmFyKC0tdHctZW50ZXItb3BhY2l0eSwxKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QodmFyKC0tdHctZW50ZXItdHJhbnNsYXRlLXgsMCksdmFyKC0tdHctZW50ZXItdHJhbnNsYXRlLXksMCksMClzY2FsZTNkKHZhcigtLXR3LWVudGVyLXNjYWxlLDEpLHZhcigtLXR3LWVudGVyLXNjYWxlLDEpLHZhcigtLXR3LWVudGVyLXNjYWxlLDEpKXJvdGF0ZSh2YXIoLS10dy1lbnRlci1yb3RhdGUsMCkpO2ZpbHRlcjpibHVyKHZhcigtLXR3LWVudGVyLWJsdXIsMCkpfX1Aa2V5ZnJhbWVzIGV4aXR7dG97b3BhY2l0eTp2YXIoLS10dy1leGl0LW9wYWNpdHksMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKHZhcigtLXR3LWV4aXQtdHJhbnNsYXRlLXgsMCksdmFyKC0tdHctZXhpdC10cmFuc2xhdGUteSwwKSwwKXNjYWxlM2QodmFyKC0tdHctZXhpdC1zY2FsZSwxKSx2YXIoLS10dy1leGl0LXNjYWxlLDEpLHZhcigtLXR3LWV4aXQtc2NhbGUsMSkpcm90YXRlKHZhcigtLXR3LWV4aXQtcm90YXRlLDApKTtmaWx0ZXI6Ymx1cih2YXIoLS10dy1leGl0LWJsdXIsMCkpfX0KPC9zdHlsZT48bGluayByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiIGZldGNoUHJpb3JpdHk9ImxvdyIgaHJlZj0iL19uZXh0L3N0YXRpYy9jaHVua3MvODFhMjk4ZGRjNzQ3MTA3MC5qcyIvPjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy85ZGYzYjY3YjYwNjFlYTllLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvNDgwY2RlMDhiOGJmZDVjZS5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzQ5MTE0MTBlNTE1M2YwZDcuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy80ODE1YTc1ODY1N2Q0YmFlLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvdHVyYm9wYWNrLTE4YTlkZTUxMmExOTMzYWQuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvMzMwNzRkM2ZmNWQwY2QyZC5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy84MDBlODM2MTQ2ZDZlN2ViLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvZDcxYjk5MjY3YjA2NmI5Yi5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tIiBjcm9zc29yaWdpbj0iIi8+PG1ldGEgbmFtZT0ibmV4dC1zaXplLWFkanVzdCIgY29udGVudD0iIi8+PHRpdGxlPkNvaW5saWIgV2lkZ2V0IHwgQ29pbmxpYjwvdGl0bGU+PG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuIi8+PG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9ImNyeXB0b2N1cnJlbmN5LGNyeXB0byBwcmljZXMsYml0Y29pbixtYXJrZXQgY2FwLGNyeXB0byBjaGFydHMscG9ydGZvbGlvIHRyYWNrZXIiLz48bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiLz48bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzICZhbXA7IE1hcmtldCBEYXRhIi8+PG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJUcmFjayByZWFsLXRpbWUgY3J5cHRvY3VycmVuY3kgcHJpY2VzLCBtYXJrZXQgY2FwLCBjaGFydHMsIGFuZCBwb3J0Zm9saW8uIEV4cGxvcmUgdGhvdXNhbmRzIG9mIGNvaW5zIGFuZCBleGNoYW5nZXMgd2l0aCBDb2lubGliLiIvPjxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vY29pbmxpYi5pbyIvPjxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkNvaW5saWIiLz48bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vY29pbmxpYi5pby9vZy9kZWZhdWx0LnBuZyIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTp3aWR0aCIgY29udGVudD0iMTIwMCIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTpoZWlnaHQiIGNvbnRlbnQ9IjYzMCIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTphbHQiIGNvbnRlbnQ9IkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzICZhbXA7IE1hcmtldCBEYXRhIi8+PG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiLz48bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiLz48bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJDb2lubGliIOKAlCBDcnlwdG9jdXJyZW5jeSBQcmljZXMsIENoYXJ0cyAmYW1wOyBNYXJrZXQgRGF0YSIvPjxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuIi8+PG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9jb2lubGliLmlvL29nL2RlZmF1bHQucG5nIi8+PGxpbmsgcmVsPSJpY29uIiBocmVmPSIvZmF2aWNvbi5pY28/ZmF2aWNvbi4zOTBlMTEwOS5pY28iIHNpemVzPSI0OHg0OCIgdHlwZT0iaW1hZ2UveC1pY29uIi8+PGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIvbG9nb3MvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz48c2NyaXB0PnRyeXtpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY29pbmxpYi1jb29raWUtY29uc2VudCcpKXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnY2MtY29uc2VudGVkJyl9fWNhdGNoKGUpe308L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvYTZkYWQ5N2Q5NjM0YTcyZC5qcyIgbm9Nb2R1bGU9IiI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJpbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGUgYW50aWFsaWFzZWQiPjxkaXYgaGlkZGVuPSIiPjwhLS0kLS0+PCEtLS8kLS0+PC9kaXY+PHNjcmlwdD4oKGEsYixjLGQsZSxmLGcsaCk9PntsZXQgaT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsaj1bImxpZ2h0IiwiZGFyayJdO2Z1bmN0aW9uIGsoYil7dmFyIGM7KEFycmF5LmlzQXJyYXkoYSk/YTpbYV0pLmZvckVhY2goYT0+e2xldCBjPSJjbGFzcyI9PT1hLGQ9YyYmZj9lLm1hcChhPT5mW2FdfHxhKTplO2M/KGkuY2xhc3NMaXN0LnJlbW92ZSguLi5kKSxpLmNsYXNzTGlzdC5hZGQoZiYmZltiXT9mW2JdOmIpKTppLnNldEF0dHJpYnV0ZShhLGIpfSksYz1iLGgmJmouaW5jbHVkZXMoYykmJihpLnN0eWxlLmNvbG9yU2NoZW1lPWMpfWlmKGQpayhkKTtlbHNlIHRyeXtsZXQgYT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShiKXx8YyxkPWcmJiJzeXN0ZW0iPT09YT93aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXM/ImRhcmsiOiJsaWdodCI6YTtrKGQpfWNhdGNoKGEpe319KSgiY2xhc3MiLCJ0aGVtZSIsImRhcmsiLG51bGwsWyJsaWdodCIsImRhcmsiXSxudWxsLHRydWUsdHJ1ZSk8L3NjcmlwdD48c3R5bGU+aHRtbCwgYm9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfTwvc3R5bGU+PCEtLSQhLS0+PHRlbXBsYXRlIGRhdGEtZGdzdD0iQkFJTE9VVF9UT19DTElFTlRfU0lERV9SRU5ERVJJTkciPjwvdGVtcGxhdGU+PCEtLS8kLS0+PCEtLSQtLT48IS0tLyQtLT48c2NyaXB0PihmdW5jdGlvbigpe2Z1bmN0aW9uIGxvYWQoKXt3aW5kb3cuZGF0YUxheWVyPXdpbmRvdy5kYXRhTGF5ZXJ8fFtdO3dpbmRvdy5ndGFnPWZ1bmN0aW9uKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKX07Z3RhZygnanMnLG5ldyBEYXRlKCkpO2d0YWcoJ2NvbmZpZycsJ0ctVjg0WFA4V0dYWScpO3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3Muc3JjPSdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPUctVjg0WFA4V0dYWSc7cy5hc3luYz10cnVlO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyl9ZnVuY3Rpb24gc2NoZWR1bGUoKXtpZigncmVxdWVzdElkbGVDYWxsYmFjaydpbiB3aW5kb3cpe3JlcXVlc3RJZGxlQ2FsbGJhY2sobG9hZCx7dGltZW91dDozMDAwfSl9ZWxzZXtzZXRUaW1lb3V0KGxvYWQsMTUwMCl9fWlmKGRvY3VtZW50LnJlYWR5U3RhdGU9PT0nY29tcGxldGUnKXtzY2hlZHVsZSgpfWVsc2V7YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsc2NoZWR1bGUse29uY2U6dHJ1ZX0pfX0pKCk7PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzgxYTI5OGRkYzc0NzEwNzAuanMiIGlkPSJfUl8iIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQ+KHNlbGYuX19uZXh0X2Y9c2VsZi5fX25leHRfZnx8W10pLnB1c2goWzBdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCIxOlwiJFNyZWFjdC5mcmFnbWVudFwiXG5hOklbMTYxNTMsW10sXCJkZWZhdWx0XCJdXG46SExbXCIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjNhNmJhMDM2LndvZmYyXCIsXCJmb250XCIse1wiY3Jvc3NPcmlnaW5cIjpcIlwiLFwidHlwZVwiOlwiZm9udC93b2ZmMlwifV1cbjI6VDg4NCwiXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiQGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvMmM1NWEwZTYwMTIwNTc3YS1zLjJhNDg1MzRhLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSs0NjAtNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS85YzcyYWEwZjQwZTRlZWY4LXMuMThhNDhjYmMud29mZjIpZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzMwMSxVKzQwMC00NUYsVSs0OTAtNDkxLFUrNEIwLTRCMSxVKzIxMTZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvYWQ2NmY5YWZkODk0N2Y4Ni1zLjdhNDBlYjczLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSsxRj8/fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzU0NzZmNjhkNjA0NjA5MzAtcy5jOTk1ZTM1Mi53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMzcwLTM3NyxVKzM3QS0zN0YsVSszODQtMzhBLFUrMzhDLFUrMzhFLTNBMSxVKzNBMy0zRkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvMmJiZThkMjY3MTYxM2YxZi1zLjc2ZGNiMGIyLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSsxMDItMTAzLFUrMTEwLTExMSxVKzEyOC0xMjksVSsxNjgtMTY5LFUrMUEwLTFBMSxVKzFBRi0xQjAsVSszMDAtMzAxLFUrMzAzLTMwNCxVKzMwOC0zMDksVSszMjMsVSszMjksVSsxRUEwLTFFRjksVSsyMEFCfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzFiZmZhZGFhYmY4OTNhMWUtcy43Y2Q4MTk2My53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMTAwLTJCQSxVKzJCRC0yQzUsVSsyQzctMkNDLFUrMkNFLTJENyxVKzJERC0yRkYsVSszMDQsVSszMDgsVSszMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS84M2FmZTI3OGI2YTZiYjNjLXMucC4zYTZiYTAzNi53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrPz8sVSsxMzEsVSsxNTItMTUzLFUrMkJCLTJCQyxVKzJDNixVKzJEQSxVKzJEQyxVKzMwNCxVKzMwOCxVKzMyOSxVKzIwMDAtMjA2RixVKzIwQUMsVSsyMTIyLFUrMjE5MSxVKzIxOTMsVSsyMjEyLFUrMjIxNSxVK0ZFRkYsVStGRkZEfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXIgRmFsbGJhY2s7c3JjOmxvY2FsKEFyaWFsKTthc2NlbnQtb3ZlcnJpZGU6OTAuNDQlO2Rlc2NlbnQtb3ZlcnJpZGU6MjIuNTIlO2xpbmUtZ2FwLW92ZXJyaWRlOjAuMCU7c2l6ZS1hZGp1c3Q6MTA3LjEyJX0uaW50ZXJfMWVjNGRkOWYtbW9kdWxlX19VTVBhS0dfX2NsYXNzTmFtZXtmb250LWZhbWlseTpJbnRlcixJbnRlciBGYWxsYmFjaztmb250LXN0eWxlOm5vcm1hbH0uaW50ZXJfMWVjNGRkOWYtbW9kdWxlX19VTVBhS0dfX3ZhcmlhYmxley0tZm9udC1pbnRlcjpcIkludGVyXCIsXCJJbnRlciBGYWxsYmFja1wifVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsIjM6VDFkNmU4LCJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCJAbGF5ZXIgcHJvcGVydGllc3tAc3VwcG9ydHMgKCgoLXdlYmtpdC1oeXBoZW5zOm5vbmUpKSBhbmQgKG5vdCAobWFyZ2luLXRyaW06aW5saW5lKSkpIG9yICgoLW1vei1vcmllbnQ6aW5saW5lKSBhbmQgKG5vdCAoY29sb3I6cmdiKGZyb20gcmVkIHIgZyBiKSkpKXsqLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS10dy10cmFuc2xhdGUteDowOy0tdHctdHJhbnNsYXRlLXk6MDstLXR3LXRyYW5zbGF0ZS16OjA7LS10dy1yb3RhdGUteDppbml0aWFsOy0tdHctcm90YXRlLXk6aW5pdGlhbDstLXR3LXJvdGF0ZS16OmluaXRpYWw7LS10dy1za2V3LXg6aW5pdGlhbDstLXR3LXNrZXcteTppbml0aWFsOy0tdHctc3BhY2UteS1yZXZlcnNlOjA7LS10dy1zcGFjZS14LXJldmVyc2U6MDstLXR3LWRpdmlkZS15LXJldmVyc2U6MDstLXR3LWJvcmRlci1zdHlsZTpzb2xpZDstLXR3LWdyYWRpZW50LXBvc2l0aW9uOmluaXRpYWw7LS10dy1ncmFkaWVudC1mcm9tOiMwMDAwOy0tdHctZ3JhZGllbnQtdmlhOiMwMDAwOy0tdHctZ3JhZGllbnQtdG86IzAwMDA7LS10dy1ncmFkaWVudC1zdG9wczppbml0aWFsOy0tdHctZ3JhZGllbnQtdmlhLXN0b3BzOmluaXRpYWw7LS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOjEwMCU7LS10dy1sZWFkaW5nOmluaXRpYWw7LS10dy1mb250LXdlaWdodDppbml0aWFsOy0tdHctdHJhY2tpbmc6aW5pdGlhbDstLXR3LW9yZGluYWw6aW5pdGlhbDstLXR3LXNsYXNoZWQtemVybzppbml0aWFsOy0tdHctbnVtZXJpYy1maWd1cmU6aW5pdGlhbDstLXR3LW51bWVyaWMtc3BhY2luZzppbml0aWFsOy0tdHctbnVtZXJpYy1mcmFjdGlvbjppbml0aWFsOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctc2hhZG93LWFscGhhOjEwMCU7LS10dy1pbnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctaW5zZXQtc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1pbnNldC1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LWluc2V0LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LWluc2V0LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LXJpbmctaW5zZXQ6aW5pdGlhbDstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctb3V0bGluZS1zdHlsZTpzb2xpZDstLXR3LWJsdXI6aW5pdGlhbDstLXR3LWJyaWdodG5lc3M6aW5pdGlhbDstLXR3LWNvbnRyYXN0OmluaXRpYWw7LS10dy1ncmF5c2NhbGU6aW5pdGlhbDstLXR3LWh1ZS1yb3RhdGU6aW5pdGlhbDstLXR3LWludmVydDppbml0aWFsOy0tdHctb3BhY2l0eTppbml0aWFsOy0tdHctc2F0dXJhdGU6aW5pdGlhbDstLXR3LXNlcGlhOmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdzppbml0aWFsOy0tdHctZHJvcC1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93LWFscGhhOjEwMCU7LS10dy1kcm9wLXNoYWRvdy1zaXplOmluaXRpYWw7LS10dy1iYWNrZHJvcC1ibHVyOmluaXRpYWw7LS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOmluaXRpYWw7LS10dy1iYWNrZHJvcC1jb250cmFzdDppbml0aWFsOy0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1odWUtcm90YXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1pbnZlcnQ6aW5pdGlhbDstLXR3LWJhY2tkcm9wLW9wYWNpdHk6aW5pdGlhbDstLXR3LWJhY2tkcm9wLXNhdHVyYXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1zZXBpYTppbml0aWFsOy0tdHctZHVyYXRpb246aW5pdGlhbDstLXR3LWVhc2U6aW5pdGlhbDstLXR3LWNvbnRlbnQ6XCJcIjstLXR3LWFuaW1hdGlvbi1kZWxheTowczstLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb246bm9ybWFsOy0tdHctYW5pbWF0aW9uLWR1cmF0aW9uOmluaXRpYWw7LS10dy1hbmltYXRpb24tZmlsbC1tb2RlOm5vbmU7LS10dy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7LS10dy1lbnRlci1ibHVyOjA7LS10dy1lbnRlci1vcGFjaXR5OjE7LS10dy1lbnRlci1yb3RhdGU6MDstLXR3LWVudGVyLXNjYWxlOjE7LS10dy1lbnRlci10cmFuc2xhdGUteDowOy0tdHctZW50ZXItdHJhbnNsYXRlLXk6MDstLXR3LWV4aXQtYmx1cjowOy0tdHctZXhpdC1vcGFjaXR5OjE7LS10dy1leGl0LXJvdGF0ZTowOy0tdHctZXhpdC1zY2FsZToxOy0tdHctZXhpdC10cmFuc2xhdGUteDowOy0tdHctZXhpdC10cmFuc2xhdGUteTowfX19QGxheWVyIHRoZW1lezpyb290LDpob3N0ey0tY29sb3ItcmVkLTUwMDojZmIyYzM2Oy0tY29sb3Itb3JhbmdlLTUwMDojZmU2ZTAwOy0tY29sb3ItZ3JlZW4tNDAwOiMwNWRmNzI7LS1jb2xvci1ncmVlbi02MDA6IzAwYTU0NDstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci13aGl0ZTojZmZmOy0tc3BhY2luZzouMjVyZW07LS1jb250YWluZXIteHM6MjByZW07LS1jb250YWluZXItc206MjRyZW07LS1jb250YWluZXItbWQ6MjhyZW07LS1jb250YWluZXItbGc6MzJyZW07LS1jb250YWluZXIteGw6MzZyZW07LS1jb250YWluZXItMnhsOjQycmVtOy0tY29udGFpbmVyLTN4bDo0OHJlbTstLWNvbnRhaW5lci00eGw6NTZyZW07LS1jb250YWluZXItN3hsOjgwcmVtOy0tdGV4dC14czouNzVyZW07LS10ZXh0LXhzLS1saW5lLWhlaWdodDpjYWxjKDEvLjc1KTstLXRleHQtc206Ljg3NXJlbTstLXRleHQtc20tLWxpbmUtaGVpZ2h0OmNhbGMoMS4yNS8uODc1KTstLXRleHQtYmFzZToxcmVtOy0tdGV4dC1iYXNlLS1saW5lLWhlaWdodDpjYWxjKDEuNS8xKTstLXRleHQtbGc6MS4xMjVyZW07LS10ZXh0LWxnLS1saW5lLWhlaWdodDpjYWxjKDEuNzUvMS4xMjUpOy0tdGV4dC14bDoxLjI1cmVtOy0tdGV4dC14bC0tbGluZS1oZWlnaHQ6Y2FsYygxLjc1LzEuMjUpOy0tdGV4dC0yeGw6MS41cmVtOy0tdGV4dC0yeGwtLWxpbmUtaGVpZ2h0OmNhbGMoMi8xLjUpOy0tdGV4dC0zeGw6MS44NzVyZW07LS10ZXh0LTN4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLjI1LzEuODc1KTstLXRleHQtNHhsOjIuMjVyZW07LS10ZXh0LTR4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLjUvMi4yNSk7LS10ZXh0LTZ4bDozLjc1cmVtOy0tdGV4dC02eGwtLWxpbmUtaGVpZ2h0OjE7LS1mb250LXdlaWdodC1ub3JtYWw6NDAwOy0tZm9udC13ZWlnaHQtbWVkaXVtOjUwMDstLWZvbnQtd2VpZ2h0LXNlbWlib2xkOjYwMDstLWZvbnQtd2VpZ2h0LWJvbGQ6NzAwOy0tdHJhY2tpbmctdGlnaHQ6LS4wMjVlbTstLXRyYWNraW5nLXdpZGU6LjAyNWVtOy0tdHJhY2tpbmctd2lkZXN0Oi4xZW07LS1sZWFkaW5nLXRpZ2h0OjEuMjU7LS1sZWFkaW5nLXNudWc6MS4zNzU7LS1sZWFkaW5nLXJlbGF4ZWQ6MS42MjU7LS1yYWRpdXMtbWQ6Y2FsYyh2YXIoLS1yYWRpdXMpKi44KTstLWVhc2UtaW4tb3V0OmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tYW5pbWF0ZS1zcGluOnNwaW4gMXMgbGluZWFyIGluZmluaXRlOy0tYW5pbWF0ZS1wdWxzZTpwdWxzZSAycyBjdWJpYy1iZXppZXIoLjQsMCwuNiwxKWluZmluaXRlOy0tYmx1ci14czo0cHg7LS1ibHVyLXNtOjhweDstLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzOy0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTstLWRlZmF1bHQtZm9udC1mYW1pbHk6dmFyKC0tZm9udC1pbnRlciksXCJJbnRlclwiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZjstLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSxcIkludGVyXCIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxzYW5zLXNlcmlmfUBzdXBwb3J0cyAoY29sb3I6bGFiKDAlIDAgMCkpezpyb290LDpob3N0ey0tY29sb3ItcmVkLTUwMDpsYWIoNTUuNDgxNCUgNzUuMDczMiA0OC44NTI4KTstLWNvbG9yLW9yYW5nZS01MDA6bGFiKDY0LjI3MiUgNTcuMTc4OCA5MC4zNTgzKTstLWNvbG9yLWdyZWVuLTQwMDpsYWIoNzguNTAzJSAtNjQuOTI2NSAzOS43NDkyKTstLWNvbG9yLWdyZWVuLTYwMDpsYWIoNTkuMDk3OCUgLTU4LjY2MjEgNDEuMjU3OSl9fX1AbGF5ZXIgYmFzZXsqLDphZnRlciw6YmVmb3JlLDo6YmFja2Ryb3B7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2xpbmUtaGVpZ2h0OjEuNTtmb250LWZhbWlseTp2YXIoLS1kZWZhdWx0LWZvbnQtZmFtaWx5LHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIixcIlNlZ29lIFVJIFN5bWJvbFwiLFwiTm90byBDb2xvciBFbW9qaVwiKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWhye2hlaWdodDowO2NvbG9yOmluaGVyaXQ7Ym9yZGVyLXRvcC13aWR0aDoxcHh9YWJicjp3aGVyZShbdGl0bGVdKXstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDstd2Via2l0LXRleHQtZGVjb3JhdGlvbjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHNhbXAscHJle2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseSx1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLFwiTGliZXJhdGlvbiBNb25vXCIsXCJDb3VyaWVyIE5ld1wiLG1vbm9zcGFjZSk7Zm9udC1mZWF0dXJlLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LW1vbm8tZm9udC12YXJpYXRpb24tc2V0dGluZ3Msbm9ybWFsKTtmb250LXNpemU6MWVtfXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmV9c3Vie2JvdHRvbTotLjI1ZW19c3Vwe3RvcDotLjVlbX10YWJsZXt0ZXh0LWluZGVudDowO2JvcmRlci1jb2xvcjppbmhlcml0O2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19b2wsdWwsbWVudXtsaXN0LXN0eWxlOm5vbmV9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99YnV0dG9uLGlucHV0LHNlbGVjdCxvcHRncm91cCx0ZXh0YXJlYXtmb250OmluaGVyaXQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7b3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXJhZGl1czowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXB7Zm9udC13ZWlnaHQ6Ym9sZGVyfTp3aGVyZShzZWxlY3Q6aXMoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cCBvcHRpb257cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OnBsYWNlaG9sZGVye29wYWNpdHk6MX1Ac3VwcG9ydHMgKG5vdCAoKC13ZWJraXQtYXBwZWFyYW5jZTotYXBwbGUtcGF5LWJ1dHRvbikpKSBvciAoY29udGFpbi1pbnRyaW5zaWMtc2l6ZToxcHgpezo6cGxhY2Vob2xkZXJ7Y29sb3I6Y3VycmVudENvbG9yfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXs6OnBsYWNlaG9sZGVye2NvbG9yOmNvbG9yLW1peChpbiBva2xhYixjdXJyZW50Y29sb3IgNTAlLHRyYW5zcGFyZW50KX19fXRleHRhcmVhe3Jlc2l6ZTp2ZXJ0aWNhbH06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWV7bWluLWhlaWdodDoxbGg7dGV4dC1hbGlnbjppbmhlcml0fTo6LXdlYmtpdC1kYXRldGltZS1lZGl0e2Rpc3BsYXk6aW5saW5lLWZsZXh9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXJ7cGFkZGluZzowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0e3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1lcmlkaWVtLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntsaW5lLWhlaWdodDoxfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfWJ1dHRvbixpbnB1dDp3aGVyZShbdHlwZT1idXR0b25dLFt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdKXthcHBlYXJhbmNlOmJ1dHRvbn06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2FwcGVhcmFuY2U6YnV0dG9ufTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9Kntib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKTtvdXRsaW5lLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsqe291dGxpbmUtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19Ym9keXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpO2NvbG9yOnZhcigtLWZvcmVncm91bmQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn1jb2RlLHByZSxrYmR7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1pbnRlciksXCJJbnRlclwiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn19QGxheWVyIGNvbXBvbmVudHM7QGxheWVyIHV0aWxpdGllc3suXFxAY29udGFpbmVyXFwvY2FyZC1oZWFkZXJ7Y29udGFpbmVyOmNhcmQtaGVhZGVyL2lubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LmNvbGxhcHNle3Zpc2liaWxpdHk6Y29sbGFwc2V9LnZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS5zci1vbmx5e2NsaXAtcGF0aDppbnNldCg1MCUpO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGF0aWN7cG9zaXRpb246c3RhdGljfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS5pbnNldC0we2luc2V0OmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmluc2V0LXgtMHtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaW5zZXQteC00e2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5pbnNldC15LTB7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uc3RhcnR7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXNwYWNpbmcpfS5lbmR7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1zcGFjaW5nKX0uLXRvcC0ye3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0udG9wLTB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnRvcC0wXFwuNXt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnRvcC0xXFwvMnt0b3A6NTAlfS50b3AtMVxcLzN7dG9wOjMzLjMzMzMlfS50b3AtMnt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0udG9wLTN7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnRvcC0xNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnRvcC0xMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwKX0udG9wLTEwMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwMCl9LnRvcC1mdWxse3RvcDoxMDAlfS4tcmlnaHQtMntyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0ucmlnaHQtMHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5yaWdodC0ye3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnJpZ2h0LTJcXC41e3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucmlnaHQtM3tyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ib3R0b20tMHtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uYm90dG9tLTIwe2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0ubGVmdC0we2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubGVmdC0wXFwuNXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5sZWZ0LTFcXC8ye2xlZnQ6NTAlfS5sZWZ0LTJcXC41e2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5sZWZ0LTN7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5sZWZ0LTR7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5sZWZ0LTEwe2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmlzb2xhdGV7aXNvbGF0aW9uOmlzb2xhdGV9LnotMTB7ei1pbmRleDoxMH0uei0yMHt6LWluZGV4OjIwfS56LTMwe3otaW5kZXg6MzB9LnotNDB7ei1pbmRleDo0MH0uei01MHt6LWluZGV4OjUwfS5vcmRlci1maXJzdHtvcmRlcjotOTk5OX0ub3JkZXItbGFzdHtvcmRlcjo5OTk5fS5jb2wtc3RhcnQtMntncmlkLWNvbHVtbi1zdGFydDoyfS5yb3ctc3Bhbi0ye2dyaWQtcm93OnNwYW4gMi9zcGFuIDJ9LnJvdy1zdGFydC0xe2dyaWQtcm93LXN0YXJ0OjF9LmNvbnRhaW5lcnt3aWR0aDoxMDAlfUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuY29udGFpbmVye21heC13aWR0aDo0MHJlbX19QG1lZGlhIChtaW4td2lkdGg6NDhyZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQ4cmVtfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NjRyZW19fUBtZWRpYSAobWluLXdpZHRoOjgwcmVtKXsuY29udGFpbmVye21heC13aWR0aDo4MHJlbX19QG1lZGlhIChtaW4td2lkdGg6OTZyZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjk2cmVtfX0uLW14LTF7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi0xKX0uLW14LTR7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi00KX0ubXgtMXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMSl9Lm14LTR7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5teC1hdXRve21hcmdpbi1pbmxpbmU6YXV0b30ubXktMXttYXJnaW4tYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXktMnttYXJnaW4tYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHJvc2V7Y29sb3I6dmFyKC0tdHctcHJvc2UtYm9keSk7bWF4LXdpZHRoOjY1Y2h9LnByb3NlIDp3aGVyZShwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoW2NsYXNzfj1sZWFkXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1sZWFkKTttYXJnaW4tdG9wOjEuMmVtO21hcmdpbi1ib3R0b206MS4yZW07Zm9udC1zaXplOjEuMjVlbTtsaW5lLWhlaWdodDoxLjZ9LnByb3NlIDp3aGVyZShhKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWxpbmtzKTtmb250LXdlaWdodDo1MDA7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ucHJvc2UgOndoZXJlKHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1ib2xkKTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZShhIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodGhlYWQgdGggc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXR9LnByb3NlIDp3aGVyZShvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkZWNpbWFsfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1BXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPWFdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTpsb3dlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9QSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPWEgc10pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1JXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPWldKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTpsb3dlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9SSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPWkgc10pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5wcm9zZSA6d2hlcmUob2xbdHlwZT1cIjFcIl0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5wcm9zZSA6d2hlcmUob2xcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTo6bWFya2Vye2NvbG9yOnZhcigtLXR3LXByb3NlLWNvdW50ZXJzKTtmb250LXdlaWdodDo0MDB9LnByb3NlIDp3aGVyZSh1bFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOjptYXJrZXJ7Y29sb3I6dmFyKC0tdHctcHJvc2UtYnVsbGV0cyl9LnByb3NlIDp3aGVyZShkdCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjI1ZW07Zm9udC13ZWlnaHQ6NjAwfS5wcm9zZSA6d2hlcmUoaHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLWNvbG9yOnZhcigtLXR3LXByb3NlLWhyKTtib3JkZXItdG9wLXdpZHRoOjFweDttYXJnaW4tdG9wOjNlbTttYXJnaW4tYm90dG9tOjNlbX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGVzKTtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOi4yNXJlbTtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLXR3LXByb3NlLXF1b3RlLWJvcmRlcnMpO3F1b3RlczpcIuKAnFwiXCLigJ1cIlwi4oCYXCJcIuKAmVwiO21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbToxLjZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBwOmZpcnN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3Jle2NvbnRlbnQ6b3Blbi1xdW90ZX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YWZ0ZXJ7Y29udGVudDpjbG9zZS1xdW90ZX0ucHJvc2UgOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODg4ODg5ZW07Zm9udC1zaXplOjIuMjVlbTtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MS4xMTExMX0ucHJvc2UgOndoZXJlKGgxIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjkwMH0ucHJvc2UgOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjFlbTtmb250LXNpemU6MS41ZW07Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMzMzMzN9LnByb3NlIDp3aGVyZShoMiBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo4MDB9LnByb3NlIDp3aGVyZShoMyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjZlbTttYXJnaW4tYm90dG9tOi42ZW07Zm9udC1zaXplOjEuMjVlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS42fS5wcm9zZSA6d2hlcmUoaDMgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NzAwfS5wcm9zZSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO21hcmdpbi10b3A6MS41ZW07bWFyZ2luLWJvdHRvbTouNWVtO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjV9LnByb3NlIDp3aGVyZShoNCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo3MDB9LnByb3NlIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2Rpc3BsYXk6YmxvY2t9LnByb3NlIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1rYmQpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKSwwIDNweCAwIHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKTtwYWRkaW5nLXRvcDouMTg3NWVtO3BhZGRpbmctaW5saW5lLWVuZDouMzc1ZW07cGFkZGluZy1ib3R0b206LjE4NzVlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jb2RlKTtmb250LXNpemU6Ljg3NWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3JlLC5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50OlwiYFwifS5wcm9zZSA6d2hlcmUoYSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDEgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUoaDIgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW19LnByb3NlIDp3aGVyZShoMyBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOi45ZW19LnByb3NlIDp3aGVyZShoNCBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodGhlYWQgdGggY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLXByZS1jb2RlKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR3LXByb3NlLXByZS1iZyk7cGFkZGluZy10b3A6Ljg1NzE0M2VtO3BhZGRpbmctaW5saW5lLWVuZDoxLjE0Mjg2ZW07cGFkZGluZy1ib3R0b206Ljg1NzE0M2VtO2JvcmRlci1yYWRpdXM6LjM3NXJlbTttYXJnaW4tdG9wOjEuNzE0MjllbTttYXJnaW4tYm90dG9tOjEuNzE0MjllbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjE0Mjg2ZW07Zm9udC1zaXplOi44NzVlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS43MTQyOTtvdmVyZmxvdy14OmF1dG99LnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXdlaWdodDppbmhlcml0O2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czowO3BhZGRpbmc6MH0ucHJvc2UgOndoZXJlKHByZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOmJlZm9yZSwucHJvc2UgOndoZXJlKHByZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOmFmdGVye2NvbnRlbnQ6bm9uZX0ucHJvc2UgOndoZXJlKHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3RhYmxlLWxheW91dDphdXRvO3dpZHRoOjEwMCU7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW07Zm9udC1zaXplOi44NzVlbTtsaW5lLWhlaWdodDoxLjcxNDI5fS5wcm9zZSA6d2hlcmUodGhlYWQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS10dy1wcm9zZS10aC1ib3JkZXJzKX0ucHJvc2UgOndoZXJlKHRoZWFkIHRoKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTt2ZXJ0aWNhbC1hbGlnbjpib3R0b207cGFkZGluZy1pbmxpbmUtZW5kOi41NzE0MjllbTtwYWRkaW5nLWJvdHRvbTouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjU3MTQyOWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKHRib2R5IHRyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MXB4O2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tdHctcHJvc2UtdGQtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0Ym9keSB0cjpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MH0ucHJvc2UgOndoZXJlKHRib2R5IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5wcm9zZSA6d2hlcmUodGZvb3QpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLXRvcC13aWR0aDoxcHg7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS10dy1wcm9zZS10aC1ib3JkZXJzKX0ucHJvc2UgOndoZXJlKHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3ZlcnRpY2FsLWFsaWduOnRvcH0ucHJvc2UgOndoZXJlKHRoLHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3RleHQtYWxpZ246c3RhcnR9LnByb3NlIDp3aGVyZShmaWd1cmVcdTAwM2UqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlIDp3aGVyZShmaWdjYXB0aW9uKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWNhcHRpb25zKTttYXJnaW4tdG9wOi44NTcxNDNlbTtmb250LXNpemU6Ljg3NWVtO2xpbmUtaGVpZ2h0OjEuNDI4NTd9LnByb3Nley0tdHctcHJvc2UtYm9keTojMzY0MTUzOy0tdHctcHJvc2UtaGVhZGluZ3M6IzEwMTgyODstLXR3LXByb3NlLWxlYWQ6IzRhNTU2NTstLXR3LXByb3NlLWxpbmtzOiMxMDE4Mjg7LS10dy1wcm9zZS1ib2xkOiMxMDE4Mjg7LS10dy1wcm9zZS1jb3VudGVyczojNmE3MjgyOy0tdHctcHJvc2UtYnVsbGV0czojZDFkNWRjOy0tdHctcHJvc2UtaHI6I2U1ZTdlYjstLXR3LXByb3NlLXF1b3RlczojMTAxODI4Oy0tdHctcHJvc2UtcXVvdGUtYm9yZGVyczojZTVlN2ViOy0tdHctcHJvc2UtY2FwdGlvbnM6IzZhNzI4MjstLXR3LXByb3NlLWtiZDojMTAxODI4Oy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6IzEwMTgyODFhOy0tdHctcHJvc2UtY29kZTojMTAxODI4Oy0tdHctcHJvc2UtcHJlLWNvZGU6I2U1ZTdlYjstLXR3LXByb3NlLXByZS1iZzojMWUyOTM5Oy0tdHctcHJvc2UtdGgtYm9yZGVyczojZDFkNWRjOy0tdHctcHJvc2UtdGQtYm9yZGVyczojZTVlN2ViOy0tdHctcHJvc2UtaW52ZXJ0LWJvZHk6I2QxZDVkYzstLXR3LXByb3NlLWludmVydC1oZWFkaW5nczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWxlYWQ6Izk5YTFhZjstLXR3LXByb3NlLWludmVydC1saW5rczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWJvbGQ6I2ZmZjstLXR3LXByb3NlLWludmVydC1jb3VudGVyczojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWJ1bGxldHM6IzRhNTU2NTstLXR3LXByb3NlLWludmVydC1ocjojMzY0MTUzOy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlczojZjNmNGY2Oy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlLWJvcmRlcnM6IzM2NDE1MzstLXR3LXByb3NlLWludmVydC1jYXB0aW9uczojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZDojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZC1zaGFkb3dzOiNmZmZmZmYxYTstLXR3LXByb3NlLWludmVydC1jb2RlOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGU6I2QxZDVkYzstLXR3LXByb3NlLWludmVydC1wcmUtYmc6IzAwMDAwMDgwOy0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnM6IzRhNTU2NTstLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzOiMzNjQxNTM7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS43NX1Ac3VwcG9ydHMgKGNvbG9yOmxhYigwJSAwIDApKXsucHJvc2V7LS10dy1wcm9zZS1ib2R5OmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCk7LS10dy1wcm9zZS1oZWFkaW5nczpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLWxlYWQ6bGFiKDM1LjYzMzclIC0xLjU4Njk3IC0xMC44NDI1KTstLXR3LXByb3NlLWxpbmtzOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtYm9sZDpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLWNvdW50ZXJzOmxhYig0Ny43ODQxJSAtLjM5MzE4MiAtMTAuMDI2OCk7LS10dy1wcm9zZS1idWxsZXRzOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWhyOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1xdW90ZXM6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1jYXB0aW9uczpsYWIoNDcuNzg0MSUgLS4zOTMxODIgLTEwLjAyNjgpOy0tdHctcHJvc2Uta2JkOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NC8uMSk7LS10dy1wcm9zZS1jb2RlOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtcHJlLWNvZGU6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLXByZS1iZzpsYWIoMTYuMTA1MSUgLTEuMTgyMzkgLTExLjc1MzMpOy0tdHctcHJvc2UtdGgtYm9yZGVyczpsYWIoODUuMTIzNiUgLS42MTIyNTkgLTMuNzEzOCk7LS10dy1wcm9zZS10ZC1ib3JkZXJzOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1pbnZlcnQtYm9keTpsYWIoODUuMTIzNiUgLS42MTIyNTkgLTMuNzEzOCk7LS10dy1wcm9zZS1pbnZlcnQtbGVhZDpsYWIoNjUuOTI2OSUgLS44MzI3MDcgLTguMTc0NzMpOy0tdHctcHJvc2UtaW52ZXJ0LWNvdW50ZXJzOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0czpsYWIoMzUuNjMzNyUgLTEuNTg2OTcgLTEwLjg0MjUpOy0tdHctcHJvc2UtaW52ZXJ0LWhyOmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCk7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGVzOmxhYig5Ni4xNTk2JSAtLjA4MjM0MzggLTEuMTM1NzUpOy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlLWJvcmRlcnM6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWludmVydC1jYXB0aW9uczpsYWIoNjUuOTI2OSUgLS44MzI3MDcgLTguMTc0NzMpOy0tdHctcHJvc2UtaW52ZXJ0LXByZS1jb2RlOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWludmVydC10aC1ib3JkZXJzOmxhYigzNS42MzM3JSAtMS41ODY5NyAtMTAuODQyNSk7LS10dy1wcm9zZS1pbnZlcnQtdGQtYm9yZGVyczpsYWIoMjcuMTEzNCUgLS45NTY0MDEgLTEyLjMyMjQpfX0ucHJvc2UgOndoZXJlKHBpY3R1cmVcdTAwM2VpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjVlbTttYXJnaW4tYm90dG9tOi41ZW19LnByb3NlIDp3aGVyZShvbFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodWxcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDouMzc1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2V1bFx1MDAzZWxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNzVlbTttYXJnaW4tYm90dG9tOi43NWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2V1bFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2VvbFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUodWwgdWwsdWwgb2wsb2wgdWwsb2wgb2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNzVlbTttYXJnaW4tYm90dG9tOi43NWVtfS5wcm9zZSA6d2hlcmUoZGwpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW07bWFyZ2luLWJvdHRvbToxLjI1ZW19LnByb3NlIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS42MjVlbX0ucHJvc2UgOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZSA6d2hlcmUodGhlYWQgdGg6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UgOndoZXJlKHRoZWFkIHRoOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZCx0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtZW5kOi41NzE0MjllbTtwYWRkaW5nLWJvdHRvbTouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjU3MTQyOWVtfS5wcm9zZSA6d2hlcmUodGJvZHkgdGQ6Zmlyc3QtY2hpbGQsdGZvb3QgdGQ6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UgOndoZXJlKHRib2R5IHRkOmxhc3QtY2hpbGQsdGZvb3QgdGQ6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2UgOndoZXJlKGZpZ3VyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKC5wcm9zZVx1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxne2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc3Nzc4fS5wcm9zZS1sZyA6d2hlcmUocCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKFtjbGFzc349bGVhZF0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjA5MDkxZW07bWFyZ2luLWJvdHRvbToxLjA5MDkxZW07Zm9udC1zaXplOjEuMjIyMjJlbTtsaW5lLWhlaWdodDoxLjQ1NDU1fS5wcm9zZS1sZyA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLWxnIDp3aGVyZShoMSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODMzMzMzZW07Zm9udC1zaXplOjIuNjY2NjdlbTtsaW5lLWhlaWdodDoxfS5wcm9zZS1sZyA6d2hlcmUoaDIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjg2NjY3ZW07bWFyZ2luLWJvdHRvbToxLjA2NjY3ZW07Zm9udC1zaXplOjEuNjY2NjdlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1sZyA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjY2NjY3ZW07bWFyZ2luLWJvdHRvbTouNjY2NjY3ZW07Zm9udC1zaXplOjEuMzMzMzNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZShoNCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOi40NDQ0NDRlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1sZyA6d2hlcmUoaW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUocGljdHVyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKHBpY3R1cmVcdTAwM2VpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UtbGcgOndoZXJlKHZpZGVvKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43Nzc3OGVtO21hcmdpbi1ib3R0b206MS43Nzc3OGVtfS5wcm9zZS1sZyA6d2hlcmUoa2JkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi4yMjIyMjJlbTtwYWRkaW5nLWlubGluZS1lbmQ6LjQ0NDQ0NGVtO3BhZGRpbmctYm90dG9tOi4yMjIyMjJlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi40NDQ0NDRlbTtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoaDIgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg2NjY2N2VtfS5wcm9zZS1sZyA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg3NWVtfS5wcm9zZS1sZyA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOjFlbTtwYWRkaW5nLWlubGluZS1lbmQ6MS41ZW07cGFkZGluZy1ib3R0b206MWVtO2JvcmRlci1yYWRpdXM6LjM3NXJlbTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjVlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNzV9LnByb3NlLWxnIDp3aGVyZShvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKHVsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNTU1NTZlbX0ucHJvc2UtbGcgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjY2NjY2N2VtO21hcmdpbi1ib3R0b206LjY2NjY2N2VtfS5wcm9zZS1sZyA6d2hlcmUob2xcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKHVsXHUwMDNlbGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQ0NDQ0NGVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNldWxcdTAwM2VsaSBwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljg4ODg4OWVtO21hcmdpbi1ib3R0b206Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2V1bFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2VvbFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUodWwgdWwsdWwgb2wsb2wgdWwsb2wgb2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouODg4ODg5ZW07bWFyZ2luLWJvdHRvbTouODg4ODg5ZW19LnByb3NlLWxnIDp3aGVyZShkbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKGR0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoZGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNjY2NjY3ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS41NTU1NmVtfS5wcm9zZS1sZyA6d2hlcmUoaHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDozLjExMTExZW07bWFyZ2luLWJvdHRvbTozLjExMTExZW19LnByb3NlLWxnIDp3aGVyZShocisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUoaDIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKGgzKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZShoNCsqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UtbGcgOndoZXJlKHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODg4ODg5ZW07bGluZS1oZWlnaHQ6MS41fS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGgpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOi43NWVtO3BhZGRpbmctYm90dG9tOi43NWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi43NWVtfS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGg6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UtbGcgOndoZXJlKHRoZWFkIHRoOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZCx0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouNzVlbTtwYWRkaW5nLWlubGluZS1lbmQ6Ljc1ZW07cGFkZGluZy1ib3R0b206Ljc1ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6Ljc1ZW19LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZDpmaXJzdC1jaGlsZCx0Zm9vdCB0ZDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1sZyA6d2hlcmUodGJvZHkgdGQ6bGFzdC1jaGlsZCx0Zm9vdCB0ZDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1sZyA6d2hlcmUoZmlndXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43Nzc3OGVtO21hcmdpbi1ib3R0b206MS43Nzc3OGVtfS5wcm9zZS1sZyA6d2hlcmUoZmlndXJlXHUwMDNlKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1sZyA6d2hlcmUoZmlnY2FwdGlvbik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjFlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZ1x1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLXNte2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNzE0Mjl9LnByb3NlLXNtIDp3aGVyZShwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtO21hcmdpbi1ib3R0b206MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoW2NsYXNzfj1sZWFkXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi44ODg4ODllbTttYXJnaW4tYm90dG9tOi44ODg4ODllbTtmb250LXNpemU6MS4yODU3MWVtO2xpbmUtaGVpZ2h0OjEuNTU1NTZ9LnByb3NlLXNtIDp3aGVyZShibG9ja3F1b3RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuMTExMTFlbX0ucHJvc2Utc20gOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOi44ZW07Zm9udC1zaXplOjIuMTQyODZlbTtsaW5lLWhlaWdodDoxLjJ9LnByb3NlLXNtIDp3aGVyZShoMik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNmVtO21hcmdpbi1ib3R0b206LjhlbTtmb250LXNpemU6MS40Mjg1N2VtO2xpbmUtaGVpZ2h0OjEuNH0ucHJvc2Utc20gOndoZXJlKGgzKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS41NTU1NmVtO21hcmdpbi1ib3R0b206LjQ0NDQ0NGVtO2ZvbnQtc2l6ZToxLjI4NTcxZW07bGluZS1oZWlnaHQ6MS41NTU1Nn0ucHJvc2Utc20gOndoZXJlKGg0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS40Mjg1N2VtO21hcmdpbi1ib3R0b206LjU3MTQyOWVtO2xpbmUtaGVpZ2h0OjEuNDI4NTd9LnByb3NlLXNtIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43MTQyOWVtO21hcmdpbi1ib3R0b206MS43MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUocGljdHVyZVx1MDAzZWltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1zbSA6d2hlcmUodmlkZW8pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShrYmQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjE0Mjg1N2VtO3BhZGRpbmctaW5saW5lLWVuZDouMzU3MTQzZW07cGFkZGluZy1ib3R0b206LjE0Mjg1N2VtO2JvcmRlci1yYWRpdXM6LjMxMjVyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjM1NzE0M2VtO2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShoMiBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouOWVtfS5wcm9zZS1zbSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1zbSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtib3JkZXItcmFkaXVzOi4yNXJlbTttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjY2NjY3fS5wcm9zZS1zbSA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbTttYXJnaW4tYm90dG9tOjEuMTQyODZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTttYXJnaW4tYm90dG9tOi4yODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKG9sXHUwMDNlbGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0Oi40Mjg1NzFlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZXVsXHUwMDNlbGkgcCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41NzE0MjllbTttYXJnaW4tYm90dG9tOi41NzE0MjllbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZXVsXHUwMDNlbGlcdTAwM2VwOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZW9sXHUwMDNlbGlcdTAwM2VwOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKHVsIHVsLHVsIG9sLG9sIHVsLG9sIG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjU3MTQyOWVtO21hcmdpbi1ib3R0b206LjU3MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUoZGwpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW07bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShkdCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKGRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjI4NTcxNGVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNTcxNDNlbX0ucHJvc2Utc20gOndoZXJlKGhyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Mi44NTcxNGVtO21hcmdpbi1ib3R0b206Mi44NTcxNGVtfS5wcm9zZS1zbSA6d2hlcmUoaHIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKGgyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShoMysqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUoaDQrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSh0YWJsZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg1NzE0M2VtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2Utc20gOndoZXJlKHRoZWFkIHRoKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDoxZW07cGFkZGluZy1ib3R0b206LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjFlbX0ucHJvc2Utc20gOndoZXJlKHRoZWFkIHRoOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1zbSA6d2hlcmUodGJvZHkgdGQsdGZvb3QgdGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLWVuZDoxZW07cGFkZGluZy1ib3R0b206LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjFlbX0ucHJvc2Utc20gOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLXNtIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLXNtIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShmaWd1cmVcdTAwM2UqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlLXNtIDp3aGVyZShmaWdjYXB0aW9uKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjY2NjY2N2VtO2ZvbnQtc2l6ZTouODU3MTQzZW07bGluZS1oZWlnaHQ6MS4zMzMzM30ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc21cdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9Li1tdC0xe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSotMSl9Lm10LTBcXC41e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9Lm10LTF7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tdC0ye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubXQtM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lm10LTR7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tdC02e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ubXQtOHttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqOCl9Lm10LTEwe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lm10LTEye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9Lm10LWF1dG97bWFyZ2luLXRvcDphdXRvfS5tci0xe21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tci0ye21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tci04e21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS4tbWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5tYi0xe21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubWItMVxcLjV7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lm1iLTJ7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tYi0ze21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ubWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm1iLTZ7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5tYi04e21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ubWItMTB7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0ubWwtMXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tbC0ye21hcmdpbi1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lm1sLWF1dG97bWFyZ2luLWxlZnQ6YXV0b30ubGluZS1jbGFtcC0yey13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubm8tc2Nyb2xsYmFyey1tcy1vdmVyZmxvdy1zdHlsZTpub25lO3Njcm9sbGJhci13aWR0aDpub25lfS5uby1zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uYmxvY2t7ZGlzcGxheTpibG9ja30uZmxleHtkaXNwbGF5OmZsZXh9LmdyaWR7ZGlzcGxheTpncmlkfS5oaWRkZW57ZGlzcGxheTpub25lfS5pbmxpbmV7ZGlzcGxheTppbmxpbmV9LmlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9ja30uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0ubGlzdC1pdGVte2Rpc3BsYXk6bGlzdC1pdGVtfS50YWJsZXtkaXNwbGF5OnRhYmxlfS50YWJsZS1jYXB0aW9ue2Rpc3BsYXk6dGFibGUtY2FwdGlvbn0udGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9LnRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvd30uZmllbGQtc2l6aW5nLWNvbnRlbnR7ZmllbGQtc2l6aW5nOmNvbnRlbnR9LmFzcGVjdC1cXFsxNlxcLzlcXF17YXNwZWN0LXJhdGlvOjE2Lzl9LmFzcGVjdC1cXFs2MTBcXC8yMDhcXF17YXNwZWN0LXJhdGlvOjYxMC8yMDh9LmFzcGVjdC1zcXVhcmV7YXNwZWN0LXJhdGlvOjF9LnNpemUtM1xcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnNpemUtNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5zaXplLTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uc2l6ZS02e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9LnNpemUtN3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5zaXplLTh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc2l6ZS05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnNpemUtMTB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTApfS5zaXplLTE0e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0uc2l6ZS1mdWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmgtMntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uaC0yXFwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1xcLjV7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMy41KX0uaC00e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5oLTV7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LmgtNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uaC03e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5oLTh7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LmgtOFxcIXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KSFpbXBvcnRhbnR9LmgtOXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0uaC0xMHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmgtMTJ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5oLTE0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0uaC0xNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LmgtMjB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMjApfS5oLTI0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjI0KX0uaC00MHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0MCl9LmgtNjR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNjQpfS5oLTgwe2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgwKX0uaC1cXFs4MHB4XFxde2hlaWdodDo4MHB4fS5oLVxcWzMwMHB4XFxde2hlaWdodDozMDBweH0uaC1cXFszNjBweFxcXXtoZWlnaHQ6MzYwcHh9LmgtXFxbNDQwcHhcXF17aGVpZ2h0OjQ0MHB4fS5oLVxcW2NhbGNcXCgxMDBcXCUtMXB4XFwpXFxde2hlaWdodDpjYWxjKDEwMCUgLSAxcHgpfS5oLWF1dG97aGVpZ2h0OmF1dG99LmgtZnVsbHtoZWlnaHQ6MTAwJX0uaC1weHtoZWlnaHQ6MXB4fS5oLXNjcmVlbntoZWlnaHQ6MTAwdmh9Lm1heC1oLVxcKC0tYXZhaWxhYmxlLWhlaWdodFxcKXttYXgtaGVpZ2h0OnZhcigtLWF2YWlsYWJsZS1oZWlnaHQpfS5tYXgtaC02NHttYXgtaGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNjQpfS5tYXgtaC03MnttYXgtaGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNzIpfS5taW4taC0xNnttaW4taGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5taW4taC1cXFs2MHZoXFxde21pbi1oZWlnaHQ6NjB2aH0ubWluLWgtc2NyZWVue21pbi1oZWlnaHQ6MTAwdmh9LnctXFwoLS1hbmNob3Itd2lkdGhcXCl7d2lkdGg6dmFyKC0tYW5jaG9yLXdpZHRoKX0udy0xe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnctMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS53LTN7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0udy0zXFwuNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnctNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS53LTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0udy02e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNil9LnctN3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS53LTh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0udy05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSl9LnctMTB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnctMTJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnctMTR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnctMTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LnctMjB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyMCl9LnctMjR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LnctMjh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyOCl9LnctMzJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9LnctNDB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0MCl9LnctNDR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0NCl9LnctNDh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0OCl9LnctNTJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1Mil9LnctNTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1Nil9LnctNzJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3Mil9LnctXFxbMTIwcHhcXF17d2lkdGg6MTIwcHh9LnctXFxbMTQwcHhcXF17d2lkdGg6MTQwcHh9LnctXFxbY2FsY1xcKFxcKDEwMFxcJS0ycmVtXFwpXFwvM1xcKVxcXXt3aWR0aDpjYWxjKDMzLjMzMzMlIC0gLjY2NjY2N3JlbSl9LnctYXV0b3t3aWR0aDphdXRvfS53LWZpdHt3aWR0aDpmaXQtY29udGVudH0udy1mdWxse3dpZHRoOjEwMCV9LnctcHh7d2lkdGg6MXB4fS5tYXgtdy0we21heC13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tYXgtdy0yeGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci0yeGwpfS5tYXgtdy0zeGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci0zeGwpfS5tYXgtdy00eGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci00eGwpfS5tYXgtdy03eGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci03eGwpfS5tYXgtdy00OHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0OCl9Lm1heC13LVxcWzIwMHB4XFxde21heC13aWR0aDoyMDBweH0ubWF4LXctXFxbY2FsY1xcKDEwMFxcJS0ycmVtXFwpXFxde21heC13aWR0aDpjYWxjKDEwMCUgLSAycmVtKX0ubWF4LXctXFxbY2FsY1xcKDEwMHZ3LTJyZW1cXClcXF17bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAycmVtKX0ubWF4LXctbGd7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1sZyl9Lm1heC13LW1ke21heC13aWR0aDp2YXIoLS1jb250YWluZXItbWQpfS5tYXgtdy1ub25le21heC13aWR0aDpub25lfS5tYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0ubWF4LXcteGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci14bCl9Lm1heC13LXhze21heC13aWR0aDp2YXIoLS1jb250YWluZXIteHMpfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy0zMnttaW4td2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9Lm1pbi13LTY0e21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWluLXctXFxbMnJlbVxcXXttaW4td2lkdGg6MnJlbX0ubWluLXctXFxbOTZweFxcXXttaW4td2lkdGg6OTZweH0ubWluLXctXFxbMTUwcHhcXF17bWluLXdpZHRoOjE1MHB4fS5mbGV4LTF7ZmxleDoxfS5zaHJpbmstMHtmbGV4LXNocmluazowfS50YWJsZS1maXhlZHt0YWJsZS1sYXlvdXQ6Zml4ZWR9LmNhcHRpb24tYm90dG9te2NhcHRpb24tc2lkZTpib3R0b219Lm9yaWdpbi1cXCgtLXRyYW5zZm9ybS1vcmlnaW5cXCl7dHJhbnNmb3JtLW9yaWdpbjp2YXIoLS10cmFuc2Zvcm0tb3JpZ2luKX0uLXRyYW5zbGF0ZS14LTFcXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtXFxbM3B4XFxdey0tdHctdHJhbnNsYXRlLXg6M3B4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnRyYW5zbGF0ZS14LVxcWzE4cHhcXF17LS10dy10cmFuc2xhdGUteDoxOHB4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9Li10cmFuc2xhdGUteS0xXFwvMnstLXR3LXRyYW5zbGF0ZS15OmNhbGMoY2FsYygxLzIqMTAwJSkqLTEpO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnRyYW5zbGF0ZS15LTB7LS10dy10cmFuc2xhdGUteTpjYWxjKHZhcigtLXNwYWNpbmcpKjApO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnJvdGF0ZS0xODB7cm90YXRlOjE4MGRlZ30udHJhbnNmb3Jte3RyYW5zZm9ybTp2YXIoLS10dy1yb3RhdGUteCwpdmFyKC0tdHctcm90YXRlLXksKXZhcigtLXR3LXJvdGF0ZS16LCl2YXIoLS10dy1za2V3LXgsKXZhcigtLXR3LXNrZXcteSwpfS50cmFuc2Zvcm0tZ3B1e3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApdmFyKC0tdHctcm90YXRlLXgsKXZhcigtLXR3LXJvdGF0ZS15LCl2YXIoLS10dy1yb3RhdGUteiwpdmFyKC0tdHctc2tldy14LCl2YXIoLS10dy1za2V3LXksKX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246dmFyKC0tYW5pbWF0ZS1wdWxzZSl9LmFuaW1hdGUtc3BpbnthbmltYXRpb246dmFyKC0tYW5pbWF0ZS1zcGluKX0uY3Vyc29yLWNyb3NzaGFpcntjdXJzb3I6Y3Jvc3NoYWlyfS5jdXJzb3ItZGVmYXVsdHtjdXJzb3I6ZGVmYXVsdH0uY3Vyc29yLW5vdC1hbGxvd2Vke2N1cnNvcjpub3QtYWxsb3dlZH0uY3Vyc29yLXBvaW50ZXJ7Y3Vyc29yOnBvaW50ZXJ9LmN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS5yZXNpemV7cmVzaXplOmJvdGh9LnJlc2l6ZS1ub25le3Jlc2l6ZTpub25lfS5zY3JvbGwtcHktMXtzY3JvbGwtcGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5saXN0LWRpc2N7bGlzdC1zdHlsZS10eXBlOmRpc2N9Lmxpc3Qtbm9uZXtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uYXV0by1jb2xzLWZye2dyaWQtYXV0by1jb2x1bW5zOm1pbm1heCgwLDFmcil9LmdyaWQtZmxvdy1jb2x7Z3JpZC1hdXRvLWZsb3c6Y29sdW1ufS5hdXRvLXJvd3MtbWlue2dyaWQtYXV0by1yb3dzOm1pbi1jb250ZW50fS5ncmlkLWNvbHMtMXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9LmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mbGV4LWNvbC1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtd3JhcHtmbGV4LXdyYXA6d3JhcH0uY29udGVudC1zdGFydHthbGlnbi1jb250ZW50OmZsZXgtc3RhcnR9Lml0ZW1zLWJhc2VsaW5le2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1lbmR7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lml0ZW1zLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lml0ZW1zLXN0cmV0Y2h7YWxpZ24taXRlbXM6c3RyZXRjaH0uanVzdGlmeS1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0uanVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWVuZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lmp1c3RpZnktc3RhcnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmdhcC0wXFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVxcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uZ2FwLTJ7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMil9LmdhcC0yXFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5nYXAtM3tnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ2FwLTR7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqNCl9LmdhcC02e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5nYXAtOHtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uZ2FwLVxcWzJweFxcXXtnYXA6MnB4fTp3aGVyZSguc3BhY2UteS0wXFwuNVx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLjUpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKi41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTFcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMVxcLjVcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMS41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTJcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjIpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjIpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktM1x1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMykqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMykqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpfTp3aGVyZSguc3BhY2UteS00XHUwMDNlOm5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTZcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjYpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjYpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktOFx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqOCkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqOCkqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpfTp3aGVyZSguc3BhY2UteS0xMFx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMTApKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEwKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9LmdhcC14LTR7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAteC04e2NvbHVtbi1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX06d2hlcmUoLi1zcGFjZS14LTJcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSotMikqdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7bWFyZ2luLWlubGluZS1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKi0yKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSl9LmdhcC15LTFcXC41e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAteS01e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX06d2hlcmUoLmRpdmlkZS15XHUwMDNlOm5vdCg6bGFzdC1jaGlsZCkpey0tdHctZGl2aWRlLXktcmV2ZXJzZTowO2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDpjYWxjKDFweCp2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSk7Ym9yZGVyLWJvdHRvbS13aWR0aDpjYWxjKDFweCpjYWxjKDEgLSB2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSkpfTp3aGVyZSguZGl2aWRlLWJvcmRlclx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKX0uc2VsZi1zdGFydHthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lmp1c3RpZnktc2VsZi1lbmR7anVzdGlmeS1zZWxmOmZsZXgtZW5kfS50cnVuY2F0ZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctaGlkZGVue292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3cteC1hdXRve292ZXJmbG93LXg6YXV0b30ub3ZlcmZsb3cteC1oaWRkZW57b3ZlcmZsb3cteDpoaWRkZW59Lm92ZXJmbG93LXgtc2Nyb2xse292ZXJmbG93LXg6c2Nyb2xsfS5vdmVyZmxvdy15LWF1dG97b3ZlcmZsb3cteTphdXRvfS5yb3VuZGVke2JvcmRlci1yYWRpdXM6LjI1cmVtfS5yb3VuZGVkLTJ4bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpfS5yb3VuZGVkLTR4bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoyLjYpfS5yb3VuZGVkLVxcW2NhbGNcXCh2YXJcXCgtLXJhZGl1c1xcKS0zcHhcXClcXF17Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSAzcHgpfS5yb3VuZGVkLVxcW21pblxcKHZhclxcKC0tcmFkaXVzLW1kXFwpXFwsMTBweFxcKVxcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEwcHgpfS5yb3VuZGVkLVxcW21pblxcKHZhclxcKC0tcmFkaXVzLW1kXFwpXFwsMTJweFxcKVxcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEycHgpfS5yb3VuZGVkLWZ1bGx7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LnJvdW5kZWQtbGd7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpfS5yb3VuZGVkLWxnXFwhe2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKSFpbXBvcnRhbnR9LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqLjgpfS5yb3VuZGVkLW5vbmV7Ym9yZGVyLXJhZGl1czowfS5yb3VuZGVkLXNte2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKi42KX0ucm91bmRlZC14bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfS5yb3VuZGVkLXhsXFwhe2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCkhaW1wb3J0YW50fS5yb3VuZGVkLXQtMnhse2JvcmRlci10b3AtbGVmdC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCk7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCl9LnJvdW5kZWQtdC14bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfS5yb3VuZGVkLWIteGx7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX0uYm9yZGVye2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmJvcmRlci0we2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5ib3JkZXItMntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MnB4fS5ib3JkZXItdHtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1ye2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItYm90dG9tLXdpZHRoOjFweH0uYm9yZGVyLWItMntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHh9LmJvcmRlci1kYXNoZWR7LS10dy1ib3JkZXItc3R5bGU6ZGFzaGVkO2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ib3JkZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcil9LmJvcmRlci1kYW5nZXJcXC8zMHtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kYW5nZXJcXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRhbmdlcikzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLWRlc3RydWN0aXZlXFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kZXN0cnVjdGl2ZVxcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1pbnB1dCwuYm9yZGVyLWlucHV0XFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1pbnB1dFxcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1wcmltYXJ5e2JvcmRlci1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uYm9yZGVyLXJlZC01MDBcXC80MHtib3JkZXItY29sb3I6I2ZiMmMzNjY2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXJlZC01MDBcXC80MHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXJlZC01MDApNDAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1zdWNjZXNzXFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXN1Y2Nlc3NcXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci10cmFuc3BhcmVudHtib3JkZXItY29sb3I6IzAwMDB9LmJnLVxcW1xcIzIyOUVEOVxcXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjllZDl9LmJnLWJhY2tncm91bmQsLmJnLWJhY2tncm91bmRcXC84MHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctYmFja2dyb3VuZFxcLzgwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWJhY2tncm91bmQpODAlLHRyYW5zcGFyZW50KX19LmJnLWJsYWNrXFwvMTB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMWF9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1xcLzEwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWJsYWNrKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1ibGFja1xcLzUwe2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDgwfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctYmxhY2tcXC81MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci1ibGFjayk1MCUsdHJhbnNwYXJlbnQpfX0uYmctYm9yZGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYm9yZGVyKX0uYmctY2FyZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNhcmQpfS5iZy1kYW5nZXIsLmJnLWRhbmdlclxcLzV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kYW5nZXIpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctZGFuZ2VyXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kYW5nZXIpNSUsdHJhbnNwYXJlbnQpfX0uYmctZGVzdHJ1Y3RpdmUsLmJnLWRlc3RydWN0aXZlXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk1JSx0cmFuc3BhcmVudCl9fS5iZy1kZXN0cnVjdGl2ZVxcLzEwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctZGVzdHJ1Y3RpdmVcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctaW5wdXRcXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWlucHV0XFwvMzB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmJnLW11dGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5iZy1tdXRlZC1mb3JlZ3JvdW5kXFwvMjV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkLWZvcmVncm91bmRcXC8yNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTI1JSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZFxcLzMwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctbXV0ZWRcXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCkzMCUsdHJhbnNwYXJlbnQpfX0uYmctbXV0ZWRcXC80MHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkXFwvNDB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNDAlLHRyYW5zcGFyZW50KX19LmJnLW11dGVkXFwvNTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1tdXRlZFxcLzUwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTUwJSx0cmFuc3BhcmVudCl9fS5iZy1wb3BvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tcG9wb3Zlcil9LmJnLXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uYmctcHJpbWFyeS1mb3JlZ3JvdW5kXFwvMjB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctcHJpbWFyeS1mb3JlZ3JvdW5kXFwvMjB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKTIwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctcHJpbWFyeVxcLzV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk1JSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTEwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5iZy1zdWNjZXNzLC5iZy1zdWNjZXNzXFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdWNjZXNzKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1zdWNjZXNzXFwvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdWNjZXNzKTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zdXJmYWNlLC5iZy1zdXJmYWNlXFwvOTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdXJmYWNlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1cmZhY2VcXC85MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdXJmYWNlKTkwJSx0cmFuc3BhcmVudCl9fS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdhcm5pbmdcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS13YXJuaW5nKTEwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uYmctd2hpdGVcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXFwvMTV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTUlLHRyYW5zcGFyZW50KX19LmJnLWdyYWRpZW50LXRvLWJyey0tdHctZ3JhZGllbnQtcG9zaXRpb246dG8gYm90dG9tIHJpZ2h0IGluIG9rbGFiO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSl9LmZyb20tXFxbXFwjMzhBRkUzXFxdey0tdHctZ3JhZGllbnQtZnJvbTojMzhhZmUzOy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LmZyb20tXFxbXFwjMjI5RUQ5XFxdey0tdHctZ3JhZGllbnQtZnJvbTojMjI5ZWQ5Oy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LnRvLVxcW1xcIzFGOTdDQVxcXXstLXR3LWdyYWRpZW50LXRvOiMxZjk3Y2E7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0udG8tXFxbXFwjMWE3ZmIwXFxdey0tdHctZ3JhZGllbnQtdG86IzFhN2ZiMDstLXR3LWdyYWRpZW50LXN0b3BzOnZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcyx2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtZnJvbSl2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC10byl2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbikpfS5iZy1jbGlwLXBhZGRpbmd7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94fS5vYmplY3QtY292ZXJ7b2JqZWN0LWZpdDpjb3Zlcn0ucC0we3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ucC0wXFwuNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5wLTF7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5wLTJ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wLTN7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5wLTR7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5wLTV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5wLTZ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wLTEye3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnAtXFxbM3B4XFxde3BhZGRpbmc6M3B4fS5weC0xe3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnB4LTFcXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHgtMntwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weC0yXFwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnB4LTN7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB5LTBcXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnB5LTF7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weS0xXFwuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHktMntwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMil9LnB5LTJcXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5weS0ze3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHktM1xcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnB5LTR7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weS02e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHktOHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqOCl9LnB5LTEwe3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnB5LTEye3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnB5LTE2e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LnB0LTJ7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHQtM3twYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5wdC00e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB0LTZ7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHItMntwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnByLTR7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5wci04e3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucHItMTJ7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0ucGItMHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5wYi0xe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnBiLTJ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucGItNntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wYi04e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqOCl9LnBiLTEwe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTApfS5wYi0xNntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ucGwtMVxcLjV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucGwtMntwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucGwtNXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0ucGwtOHtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucGwtOXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uYWxpZ24tbWlkZGxle3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9udC1tb25ve2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLFwiSW50ZXJcIix1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWZ9LnRleHQtMnhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTJ4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTJ4bC0tbGluZS1oZWlnaHQpKX0udGV4dC0zeGx7Zm9udC1zaXplOnZhcigtLXRleHQtM3hsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtM3hsLS1saW5lLWhlaWdodCkpfS50ZXh0LTR4bHtmb250LXNpemU6dmFyKC0tdGV4dC00eGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC00eGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQtNnhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTZ4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTZ4bC0tbGluZS1oZWlnaHQpKX0udGV4dC1iYXNle2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LWJhc2UpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1iYXNlLS1saW5lLWhlaWdodCkpfS50ZXh0LWxne2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LWxnKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtbGctLWxpbmUtaGVpZ2h0KSl9LnRleHQtc217Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0udGV4dC14bHtmb250LXNpemU6dmFyKC0tdGV4dC14bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXhsLS1saW5lLWhlaWdodCkpfS50ZXh0LXhze2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhzKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteHMtLWxpbmUtaGVpZ2h0KSl9LnRleHQtXFxbMFxcLjhyZW1cXF17Zm9udC1zaXplOi44cmVtfS50ZXh0LVxcWzEwcHhcXF17Zm9udC1zaXplOjEwcHh9LnRleHQtXFxbMTFweFxcXXtmb250LXNpemU6MTFweH0ubGVhZGluZy1ub25ley0tdHctbGVhZGluZzoxO2xpbmUtaGVpZ2h0OjF9LmxlYWRpbmctcmVsYXhlZHstLXR3LWxlYWRpbmc6dmFyKC0tbGVhZGluZy1yZWxheGVkKTtsaW5lLWhlaWdodDp2YXIoLS1sZWFkaW5nLXJlbGF4ZWQpfS5sZWFkaW5nLXNudWd7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctc251Zyk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy1zbnVnKX0ubGVhZGluZy10aWdodHstLXR3LWxlYWRpbmc6dmFyKC0tbGVhZGluZy10aWdodCk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy10aWdodCl9LmZvbnQtYm9sZHstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpfS5mb250LW1lZGl1bXstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZm9udC1ub3JtYWx7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCl9LmZvbnQtc2VtaWJvbGR7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpfS50cmFja2luZy10aWdodHstLXR3LXRyYWNraW5nOnZhcigtLXRyYWNraW5nLXRpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy10aWdodCl9LnRyYWNraW5nLXdpZGV7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy13aWRlKTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlKX0udHJhY2tpbmctd2lkZXN0ey0tdHctdHJhY2tpbmc6dmFyKC0tdHJhY2tpbmctd2lkZXN0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlc3QpfS5icmVhay1hbGx7d29yZC1icmVhazpicmVhay1hbGx9LndoaXRlc3BhY2Utbm9ybWFse3doaXRlLXNwYWNlOm5vcm1hbH0ud2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS53aGl0ZXNwYWNlLXByZS1saW5le3doaXRlLXNwYWNlOnByZS1saW5lfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS50ZXh0LVxcW1xcIzIyQzU1RVxcXXtjb2xvcjojMjJjNTVlfS50ZXh0LVxcW1xcIzIyOUVEOVxcXXtjb2xvcjojMjI5ZWQ5fS50ZXh0LVxcW1xcIzE4NzlBOFxcXXtjb2xvcjojMTg3OWE4fS50ZXh0LVxcW1xcI0VGNDQ0NFxcXXtjb2xvcjojZWY0NDQ0fS50ZXh0LWNhcmQtZm9yZWdyb3VuZHtjb2xvcjp2YXIoLS1jYXJkLWZvcmVncm91bmQpfS50ZXh0LWRhbmdlcntjb2xvcjp2YXIoLS1kYW5nZXIpfS50ZXh0LWRlc3RydWN0aXZle2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0udGV4dC1mb3JlZ3JvdW5kLC50ZXh0LWZvcmVncm91bmRcXC82MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFxcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTYwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWZvcmVncm91bmRcXC84MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFxcLzgwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWdyZWVuLTYwMHtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi02MDApfS50ZXh0LW11dGVkLWZvcmVncm91bmQsLnRleHQtbXV0ZWQtZm9yZWdyb3VuZFxcLzYwe2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC1tdXRlZC1mb3JlZ3JvdW5kXFwvNjB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkLWZvcmVncm91bmQpNjAlLHRyYW5zcGFyZW50KX19LnRleHQtb3JhbmdlLTUwMHtjb2xvcjp2YXIoLS1jb2xvci1vcmFuZ2UtNTAwKX0udGV4dC1wb3BvdmVyLWZvcmVncm91bmR7Y29sb3I6dmFyKC0tcG9wb3Zlci1mb3JlZ3JvdW5kKX0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLXByaW1hcnkpfS50ZXh0LXByaW1hcnktZm9yZWdyb3VuZHtjb2xvcjp2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpfS50ZXh0LXJlZC01MDB7Y29sb3I6dmFyKC0tY29sb3ItcmVkLTUwMCl9LnRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmR7Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS50ZXh0LXN1Y2Nlc3N7Y29sb3I6dmFyKC0tc3VjY2Vzcyl9LnRleHQtd2FybmluZ3tjb2xvcjp2YXIoLS13YXJuaW5nKX0udGV4dC13aGl0ZXtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LnRleHQtd2hpdGVcXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXFwvODV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXFwvOTB7Y29sb3I6I2ZmZmZmZmU2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVxcLzkwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVxcLzk1e2NvbG9yOiNmZmZmZmZmMn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcXC85NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOTUlLHRyYW5zcGFyZW50KX19LmNhcGl0YWxpemV7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaXRhbGlje2ZvbnQtc3R5bGU6aXRhbGljfS50YWJ1bGFyLW51bXN7LS10dy1udW1lcmljLXNwYWNpbmc6dGFidWxhci1udW1zO2ZvbnQtdmFyaWFudC1udW1lcmljOnZhcigtLXR3LW9yZGluYWwsKXZhcigtLXR3LXNsYXNoZWQtemVybywpdmFyKC0tdHctbnVtZXJpYy1maWd1cmUsKXZhcigtLXR3LW51bWVyaWMtc3BhY2luZywpdmFyKC0tdHctbnVtZXJpYy1mcmFjdGlvbiwpfS51bmRlcmxpbmV7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS51bmRlcmxpbmUtb2Zmc2V0LTJ7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjJweH0udW5kZXJsaW5lLW9mZnNldC00e3RleHQtdW5kZXJsaW5lLW9mZnNldDo0cHh9LmFudGlhbGlhc2Vkey13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5vcGFjaXR5LTB7b3BhY2l0eTowfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNDB7b3BhY2l0eTouNH0ub3BhY2l0eS01MHtvcGFjaXR5Oi41fS5vcGFjaXR5LTcwe29wYWNpdHk6Ljd9LmJnLWJsZW5kLWNvbG9ye2JhY2tncm91bmQtYmxlbmQtbW9kZTpjb2xvcn0uc2hhZG93ey0tdHctc2hhZG93OjAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LWxney0tdHctc2hhZG93OjAgMTBweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCA0cHggNnB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbWR7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbm9uZXstLXR3LXNoYWRvdzowIDAgIzAwMDA7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbm9uZVxcIXstLXR3LXNoYWRvdzowIDAgIzAwMDAhaW1wb3J0YW50O2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KSFpbXBvcnRhbnR9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy14c3stLXR3LXNoYWRvdzowIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMHstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctYmFja2dyb3VuZHstLXR3LXJpbmctY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LnJpbmctZm9yZWdyb3VuZFxcLzEwey0tdHctcmluZy1jb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnJpbmctZm9yZWdyb3VuZFxcLzEwey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZm9yZWdyb3VuZCkxMCUsdHJhbnNwYXJlbnQpfX0ucmluZy1wcmltYXJ5XFwvMzB7LS10dy1yaW5nLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1wcmltYXJ5XFwvMzB7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTMwJSx0cmFuc3BhcmVudCl9fS5vdXRsaW5lLWhpZGRlbnstLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm91dGxpbmUtaGlkZGVue291dGxpbmUtb2Zmc2V0OjJweDtvdXRsaW5lOjJweCBzb2xpZCAjMDAwMH19Lm91dGxpbmV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjFweH0uZmlsdGVye2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uYmFja2Ryb3AtYmx1ci1zbXstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cih2YXIoLS1ibHVyLXNtKSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvLG9wYWNpdHksYm94LXNoYWRvdyx0cmFuc2Zvcm0sdHJhbnNsYXRlLHNjYWxlLHJvdGF0ZSxmaWx0ZXIsLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIsYmFja2Ryb3AtZmlsdGVyLGRpc3BsYXksY29udGVudC12aXNpYmlsaXR5LG92ZXJsYXkscG9pbnRlci1ldmVudHM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1hbGx7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGw7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1jb2xvcnN7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixvdXRsaW5lLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSwtLXR3LWdyYWRpZW50LWZyb20sLS10dy1ncmFkaWVudC12aWEsLS10dy1ncmFkaWVudC10bzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLW9wYWNpdHl7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tc2hhZG93e3RyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSx0cmFuc2xhdGUsc2NhbGUscm90YXRlO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LmR1cmF0aW9uLTEwMHstLXR3LWR1cmF0aW9uOi4xczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xc30uZHVyYXRpb24tMTUwey0tdHctZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LmR1cmF0aW9uLTIwMHstLXR3LWR1cmF0aW9uOi4yczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yc30uZWFzZS1pbi1vdXR7LS10dy1lYXNlOnZhcigtLWVhc2UtaW4tb3V0KTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1lYXNlLWluLW91dCl9LlxcW3dpbGwtY2hhbmdlXFw6dHJhbnNmb3JtXFxde3dpbGwtY2hhbmdlOnRyYW5zZm9ybX0ub3V0bGluZS1ub25ley0tdHctb3V0bGluZS1zdHlsZTpub25lO291dGxpbmUtc3R5bGU6bm9uZX0uc2VsZWN0LW5vbmV7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnBhdXNlZHthbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWR9LnJ1bm5pbmd7YW5pbWF0aW9uLXBsYXktc3RhdGU6cnVubmluZ30uZ3JvdXAtb3BlblxcOnJvdGF0ZS0xODA6aXMoOndoZXJlKC5ncm91cCk6aXMoW29wZW5dLDpwb3BvdmVyLW9wZW4sOm9wZW4pICope3JvdGF0ZToxODBkZWd9QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXFw6dHJhbnNsYXRlLXgtMFxcLjU6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7LS10dy10cmFuc2xhdGUteDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5ncm91cC1ob3ZlclxcOmJnLW11dGVkOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5ncm91cC1ob3ZlclxcOnRleHQtcHJpbWFyeTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0uZ3JvdXAtaG92ZXJcXDp0ZXh0LXdoaXRlOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uZ3JvdXAtaG92ZXJcXDpvcGFjaXR5LTEwMDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtvcGFjaXR5OjF9Lmdyb3VwLWhvdmVyXFw6c2hhZG93LW1kOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopey0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX19Lmdyb3VwLWZvY3VzXFwvZHJvcGRvd24tbWVudS1pdGVtXFw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDppcyg6d2hlcmUoLmdyb3VwXFwvZHJvcGRvd24tbWVudS1pdGVtKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhci1ncm91cFxcOnNpemUtMTA6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2F2YXRhci1ncm91cFxcOnNpemUtNjppcyg6d2hlcmUoLmdyb3VwXFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9Lmdyb3VwLWhhcy1kYXRhLVxcW3Nsb3RcXD1jb21tYW5kLXNob3J0Y3V0XFxdXFwvY29tbWFuZC1pdGVtXFw6aGlkZGVuOmlzKDp3aGVyZSguZ3JvdXBcXC9jb21tYW5kLWl0ZW0pOmhhcyhbZGF0YS1zbG90PWNvbW1hbmQtc2hvcnRjdXRdKSAqKXtkaXNwbGF5Om5vbmV9Lmdyb3VwLWhhcy1cXFtcXFx1MDAzZWlucHV0XFxdXFwvaW5wdXQtZ3JvdXBcXDpwdC0yOmlzKDp3aGVyZSguZ3JvdXBcXC9pbnB1dC1ncm91cCk6aGFzKFx1MDAzZWlucHV0KSAqKXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5ncm91cC1oYXMtXFxbXFxcdTAwM2VpbnB1dFxcXVxcL2lucHV0LWdyb3VwXFw6cGItMjppcyg6d2hlcmUoLmdyb3VwXFwvaW5wdXQtZ3JvdXApOmhhcyhcdTAwM2VpbnB1dCkgKil7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cXFtjaGVja2VkXFw9dHJ1ZVxcXVxcL2NvbW1hbmQtaXRlbVxcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcXC9jb21tYW5kLWl0ZW0pW2RhdGEtY2hlY2tlZD10cnVlXSAqKXtvcGFjaXR5OjF9Lmdyb3VwLWRhdGEtXFxbZGlzYWJsZWRcXD10cnVlXFxdXFw6cG9pbnRlci1ldmVudHMtbm9uZTppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICope3BvaW50ZXItZXZlbnRzOm5vbmV9Lmdyb3VwLWRhdGEtXFxbZGlzYWJsZWRcXD10cnVlXFxdXFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICopLC5ncm91cC1kYXRhLVxcW2Rpc2FibGVkXFw9dHJ1ZVxcXVxcL2lucHV0LWdyb3VwXFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwXFwvaW5wdXQtZ3JvdXApW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0gKil7b3BhY2l0eTouNX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9ZGVmYXVsdFxcXVxcL2F2YXRhclxcOnNpemUtMlxcLjU6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWRlZmF1bHRdICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMi41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhclxcOnNpemUtMzppcyg6d2hlcmUoLmdyb3VwXFwvYXZhdGFyKVtkYXRhLXNpemU9bGddICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMyk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmdyb3VwLWRhdGEtXFxbc2l6ZVxcPXNtXFxdXFwvYXZhdGFyXFw6c2l6ZS0yOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKil7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9hdmF0YXJcXDp0ZXh0LXhzOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKil7Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9jYXJkXFw6cC0zOmlzKDp3aGVyZSguZ3JvdXBcXC9jYXJkKVtkYXRhLXNpemU9c21dICope3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9jYXJkXFw6cHgtMzppcyg6d2hlcmUoLmdyb3VwXFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2NhcmRcXDp0ZXh0LXNtOmlzKDp3aGVyZSguZ3JvdXBcXC9jYXJkKVtkYXRhLXNpemU9c21dICope2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXNtKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtc20tLWxpbmUtaGVpZ2h0KSl9Lmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpiZy10cmFuc3BhcmVudDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKil7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZ3JvdXAtZGF0YS1zZWxlY3RlZFxcL2NvbW1hbmQtaXRlbVxcOnRleHQtZm9yZWdyb3VuZDppcyg6d2hlcmUoLmdyb3VwXFwvY29tbWFuZC1pdGVtKTp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSkgKil7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFxcL3RhYnNcXDpoLTg6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFxcL3RhYnNcXDpoLWZpdDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKXtoZWlnaHQ6Zml0LWNvbnRlbnR9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6dy1mdWxsOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope3dpZHRoOjEwMCV9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6ZmxleC1jb2w6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5ncm91cC1kYXRhLXZlcnRpY2FsXFwvdGFic1xcOmp1c3RpZnktc3RhcnQ6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnBlZXItZGlzYWJsZWRcXDpjdXJzb3Itbm90LWFsbG93ZWQ6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtjdXJzb3I6bm90LWFsbG93ZWR9LnBlZXItZGlzYWJsZWRcXDpvcGFjaXR5LTUwOmlzKDp3aGVyZSgucGVlcik6ZGlzYWJsZWR+Kil7b3BhY2l0eTouNX0uZmlsZVxcOmlubGluZS1mbGV4OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntkaXNwbGF5OmlubGluZS1mbGV4fS5maWxlXFw6aC02OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZmlsZVxcOmJvcmRlci0wOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MH0uZmlsZVxcOmJnLXRyYW5zcGFyZW50OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5maWxlXFw6dGV4dC1zbTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0uZmlsZVxcOmZvbnQtbWVkaXVtOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZmlsZVxcOnRleHQtZm9yZWdyb3VuZDo6ZmlsZS1zZWxlY3Rvci1idXR0b257Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LnBsYWNlaG9sZGVyXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uYWZ0ZXJcXDphYnNvbHV0ZTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3Bvc2l0aW9uOmFic29sdXRlfS5hZnRlclxcOmluc2V0LTA6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtpbnNldDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5hZnRlclxcOnJvdW5kZWQtZnVsbDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5hZnRlclxcOmJvcmRlcjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmFmdGVyXFw6Ym9yZGVyLWJvcmRlcjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5hZnRlclxcOmJnLWZvcmVncm91bmQ6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hZnRlclxcOm9wYWNpdHktMDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO29wYWNpdHk6MH0uYWZ0ZXJcXDptaXgtYmxlbmQtZGFya2VuOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS5hZnRlclxcOnRyYW5zaXRpb24tb3BhY2l0eTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5ncm91cC1kYXRhLWhvcml6b250YWxcXC90YWJzXFw6YWZ0ZXJcXDppbnNldC14LTA6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5ncm91cC1kYXRhLWhvcml6b250YWxcXC90YWJzXFw6YWZ0ZXJcXDpib3R0b20tXFxbLTVweFxcXTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7Ym90dG9tOi01cHh9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFxcL3RhYnNcXDphZnRlclxcOmgtMFxcLjU6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFxcL3RhYnNcXDphZnRlclxcOmluc2V0LXktMDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2luc2V0LWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6YWZ0ZXJcXDotcmlnaHQtMTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqLTEpfS5ncm91cC1kYXRhLXZlcnRpY2FsXFwvdGFic1xcOmFmdGVyXFw6dy0wXFwuNTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5mb2N1cy13aXRoaW5cXDpib3JkZXItcmluZzpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5mb2N1cy13aXRoaW5cXDpyaW5nLTM6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtd2l0aGluXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1jb2xvcjp2YXIoLS1yaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXdpdGhpblxcOnJpbmctcmluZ1xcLzUwOmZvY3VzLXdpdGhpbnstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXFw6Ym9yZGVyLW11dGVkLWZvcmVncm91bmRcXC8zMDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJvcmRlci1tdXRlZC1mb3JlZ3JvdW5kXFwvMzA6aG92ZXJ7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTMwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJvcmRlci1wcmltYXJ5XFwvNDA6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpib3JkZXItcHJpbWFyeVxcLzQwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk0MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpib3JkZXItcmluZzpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcmluZyl9LmhvdmVyXFw6YmctYWNjZW50OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYWNjZW50KX0uaG92ZXJcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJnLW11dGVkOmhvdmVyLC5ob3ZlclxcOmJnLW11dGVkXFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJnLW11dGVkXFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNDAlLHRyYW5zcGFyZW50KX19LmhvdmVyXFw6YmctbXV0ZWRcXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXFw6YmctbXV0ZWRcXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpiZy1tdXRlZFxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1tdXRlZFxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTgwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJnLXByaW1hcnlcXC8yMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1wcmltYXJ5XFwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSkyMCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJnLXNlY29uZGFyeVxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDp0ZXh0LWZvcmVncm91bmQ6aG92ZXJ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmhvdmVyXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmhvdmVye2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5ob3ZlclxcOnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjp2YXIoLS1wcmltYXJ5KX0uaG92ZXJcXDp1bmRlcmxpbmU6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5ob3ZlclxcOnNoYWRvdy1sZzpob3ZlcnstLXR3LXNoYWRvdzowIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaG92ZXJcXDpzaGFkb3ctbWQ6aG92ZXJ7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfX0uZm9jdXNcXDpiZy1hY2NlbnQ6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5mb2N1c1xcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6Zm9jdXN7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5mb2N1c1xcOm91dGxpbmUtbm9uZTpmb2N1c3stLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9OmlzKC5mb2N1c1xcOlxcKlxcKlxcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6Zm9jdXMgKiksOmlzKC5ub3QtZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOlxcKlxcKlxcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6bm90KFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmZvY3VzLXZpc2libGVcXDpib3JkZXItZGVzdHJ1Y3RpdmVcXC80MDpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy12aXNpYmxlXFw6Ym9yZGVyLWRlc3RydWN0aXZlXFwvNDA6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTQwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXFw6Ym9yZGVyLXJpbmc6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6dmFyKC0tcmluZyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTI6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTM6Zm9jdXMtdmlzaWJsZSwuZm9jdXMtdmlzaWJsZVxcOnJpbmctXFxbM3B4XFxdOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5mb2N1cy12aXNpYmxlXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy12aXNpYmxlXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19LmZvY3VzLXZpc2libGVcXDpvdXRsaW5lLTE6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5mb2N1cy12aXNpYmxlXFw6b3V0bGluZS0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjJweH0uZm9jdXMtdmlzaWJsZVxcOm91dGxpbmUtb2Zmc2V0LTI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHh9LmZvY3VzLXZpc2libGVcXDpvdXRsaW5lLXByaW1hcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLWNvbG9yOnZhcigtLXByaW1hcnkpfS5mb2N1cy12aXNpYmxlXFw6b3V0bGluZS1yaW5nOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX0uYWN0aXZlXFw6dHJhbnNsYXRlLXktcHg6YWN0aXZley0tdHctdHJhbnNsYXRlLXk6MXB4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRpc2FibGVkXFw6cG9pbnRlci1ldmVudHMtbm9uZTpkaXNhYmxlZHtwb2ludGVyLWV2ZW50czpub25lfS5kaXNhYmxlZFxcOmN1cnNvci1ub3QtYWxsb3dlZDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk1MCUsdHJhbnNwYXJlbnQpfX0uZGlzYWJsZWRcXDpiZy10cmFuc3BhcmVudDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5kaXNhYmxlZFxcOm9wYWNpdHktNTA6ZGlzYWJsZWR7b3BhY2l0eTouNX06d2hlcmUoW2RhdGEtc2xvdD1idXR0b24tZ3JvdXBdKSAuaW4tZGF0YS1cXFtzbG90XFw9YnV0dG9uLWdyb3VwXFxdXFw6cm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cyl9OndoZXJlKFtkYXRhLXNsb3Q9Y29tYm9ib3gtY29udGVudF0pIC5pbi1kYXRhLVxcW3Nsb3RcXD1jb21ib2JveC1jb250ZW50XFxdXFw6Zm9jdXMtd2l0aGluXFw6Ym9yZGVyLWluaGVyaXQ6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjppbmhlcml0fTp3aGVyZShbZGF0YS1zbG90PWNvbWJvYm94LWNvbnRlbnRdKSAuaW4tZGF0YS1cXFtzbG90XFw9Y29tYm9ib3gtY29udGVudFxcXVxcOmZvY3VzLXdpdGhpblxcOnJpbmctMDpmb2N1cy13aXRoaW57LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfTp3aGVyZShbZGF0YS1zbG90PWRpYWxvZy1jb250ZW50XSkgLmluLWRhdGEtXFxbc2xvdFxcPWRpYWxvZy1jb250ZW50XFxdXFw6cm91bmRlZC1sZ1xcIXtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cykhaW1wb3J0YW50fS5oYXMtZGlzYWJsZWRcXDpiZy1pbnB1dFxcLzUwOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLWRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk1MCUsdHJhbnNwYXJlbnQpfX0uaGFzLWRpc2FibGVkXFw6b3BhY2l0eS01MDpoYXMoOmRpc2FibGVkKXtvcGFjaXR5Oi41fS5oYXMtZGF0YS1cXFtpY29uXFw9aW5saW5lLWVuZFxcXVxcOnByLTFcXC41OmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFxbaWNvblxcPWlubGluZS1lbmRcXF1cXDpwci0yOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxcW2ljb25cXD1pbmxpbmUtZW5kXFxdXFw6cHItMzpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtZW5kXSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtZGF0YS1cXFtpY29uXFw9aW5saW5lLXN0YXJ0XFxdXFw6cGwtMVxcLjU6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFxbaWNvblxcPWlubGluZS1zdGFydFxcXVxcOnBsLTI6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxcW2ljb25cXD1pbmxpbmUtc3RhcnRcXF1cXDpwbC0zOmhhcyhbZGF0YS1pY29uPWlubGluZS1zdGFydF0pe3BhZGRpbmctbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtZGF0YS1cXFtzbG90XFw9Y2FyZC1hY3Rpb25cXF1cXDpncmlkLWNvbHMtXFxbMWZyX2F1dG9cXF06aGFzKFtkYXRhLXNsb3Q9Y2FyZC1hY3Rpb25dKXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIGF1dG99Lmhhcy1kYXRhLVxcW3Nsb3RcXD1jYXJkLWRlc2NyaXB0aW9uXFxdXFw6Z3JpZC1yb3dzLVxcW2F1dG9fYXV0b1xcXTpoYXMoW2RhdGEtc2xvdD1jYXJkLWRlc2NyaXB0aW9uXSl7Z3JpZC10ZW1wbGF0ZS1yb3dzOmF1dG8gYXV0b30uaGFzLWRhdGEtXFxbc2xvdFxcPWNhcmQtZm9vdGVyXFxdXFw6cGItMDpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cXFtcXFtkYXRhLXNsb3RcXD1pbnB1dC1ncm91cC1jb250cm9sXFxdXFw6Zm9jdXMtdmlzaWJsZVxcXVxcOmJvcmRlci1yaW5nOmhhcyhbZGF0YS1zbG90PWlucHV0LWdyb3VwLWNvbnRyb2xdOmZvY3VzLXZpc2libGUpe2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy0zOmhhcyhbZGF0YS1zbG90PWlucHV0LWdyb3VwLWNvbnRyb2xdOmZvY3VzLXZpc2libGUpey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy1yaW5nXFwvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy1yaW5nXFwvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOmJvcmRlci1kZXN0cnVjdGl2ZTpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfS5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOnJpbmctMzpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmhhcy1cXFtcXFtkYXRhLXNsb3RcXF1cXFthcmlhLWludmFsaWRcXD10cnVlXFxdXFxdXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOnJpbmctZGVzdHJ1Y3RpdmVcXC8yMDpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFxbXFxcdTAwM2VcXFtkYXRhLWFsaWduXFw9YmxvY2stZW5kXFxdXFxdXFw6aC1hdXRvOmhhcyhcdTAwM2VbZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtoZWlnaHQ6YXV0b30uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLWVuZFxcXVxcXVxcOmZsZXgtY29sOmhhcyhcdTAwM2VbZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lmhhcy1cXFtcXFx1MDAzZVxcW2RhdGEtYWxpZ25cXD1ibG9jay1zdGFydFxcXVxcXVxcOmgtYXV0bzpoYXMoXHUwMDNlW2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKXtoZWlnaHQ6YXV0b30uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLXN0YXJ0XFxdXFxdXFw6ZmxleC1jb2w6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWJsb2NrLXN0YXJ0XSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFxbXFxcdTAwM2VidXR0b25cXF1cXDptci1cXFstMFxcLjNyZW1cXF06aGFzKFx1MDAzZWJ1dHRvbil7bWFyZ2luLXJpZ2h0Oi0uM3JlbX0uaGFzLVxcW1xcXHUwMDNlYnV0dG9uXFxdXFw6bWwtXFxbLTBcXC4zcmVtXFxdOmhhcyhcdTAwM2VidXR0b24pe21hcmdpbi1sZWZ0Oi0uM3JlbX0uaGFzLVxcW1xcXHUwMDNlaW1nXFw6Zmlyc3QtY2hpbGRcXF1cXDpwdC0wOmhhcyhcdTAwM2VpbWc6Zmlyc3QtY2hpbGQpe3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cXFtcXFx1MDAzZWtiZFxcXVxcOm1yLVxcWy0wXFwuMTVyZW1cXF06aGFzKFx1MDAzZWtiZCl7bWFyZ2luLXJpZ2h0Oi0uMTVyZW19Lmhhcy1cXFtcXFx1MDAzZWtiZFxcXVxcOm1sLVxcWy0wXFwuMTVyZW1cXF06aGFzKFx1MDAzZWtiZCl7bWFyZ2luLWxlZnQ6LS4xNXJlbX0uaGFzLVxcW1xcXHUwMDNlc3ZnXFxdXFw6cC0wOmhhcyhcdTAwM2Vzdmcpe3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaGFzLVxcW1xcXHUwMDNldGV4dGFyZWFcXF1cXDpoLWF1dG86aGFzKFx1MDAzZXRleHRhcmVhKXtoZWlnaHQ6YXV0b30uYXJpYS1kaXNhYmxlZFxcOnBvaW50ZXItZXZlbnRzLW5vbmVbYXJpYS1kaXNhYmxlZD10cnVlXXtwb2ludGVyLWV2ZW50czpub25lfS5hcmlhLWRpc2FibGVkXFw6b3BhY2l0eS01MFthcmlhLWRpc2FibGVkPXRydWVde29wYWNpdHk6LjV9LmFyaWEtZXhwYW5kZWRcXDpiZy1tdXRlZFthcmlhLWV4cGFuZGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5hcmlhLWV4cGFuZGVkXFw6Ymctc2Vjb25kYXJ5W2FyaWEtZXhwYW5kZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5hcmlhLWV4cGFuZGVkXFw6dGV4dC1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmFyaWEtZXhwYW5kZWRcXDp0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS5hcmlhLWludmFsaWRcXDpib3JkZXItZGVzdHJ1Y3RpdmVbYXJpYS1pbnZhbGlkPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LmFyaWEtaW52YWxpZFxcOnJpbmctMFthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5hcmlhLWludmFsaWRcXDpyaW5nLTNbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5kYXRhLWVuZGluZy1zdHlsZVxcOm9wYWNpdHktMFtkYXRhLWVuZGluZy1zdHlsZV17b3BhY2l0eTowfS5kYXRhLWluc2V0XFw6cGwtN1tkYXRhLWluc2V0XXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uZGF0YS1wb3B1cC1vcGVuXFw6YmctYWNjZW50W2RhdGEtcG9wdXAtb3Blbl17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLXBvcHVwLW9wZW5cXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kW2RhdGEtcG9wdXAtb3Blbl17Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5kYXRhLXN0YXJ0aW5nLXN0eWxlXFw6b3BhY2l0eS0wW2RhdGEtc3RhcnRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1cXFtkaXNhYmxlZFxcPXRydWVcXF1cXDpwb2ludGVyLWV2ZW50cy1ub25lW2RhdGEtZGlzYWJsZWQ9dHJ1ZV17cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1cXFtkaXNhYmxlZFxcPXRydWVcXF1cXDpvcGFjaXR5LTUwW2RhdGEtZGlzYWJsZWQ9dHJ1ZV17b3BhY2l0eTouNX0uZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6aW5zZXQteC0wW2RhdGEtc2lkZT1ib3R0b21de2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpib3R0b20tMFtkYXRhLXNpZGU9Ym90dG9tXXtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6aC1hdXRvW2RhdGEtc2lkZT1ib3R0b21de2hlaWdodDphdXRvfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpib3JkZXItdFtkYXRhLXNpZGU9Ym90dG9tXXtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmRhdGEtXFxbc2lkZVxcPWJvdHRvbVxcXVxcOnNsaWRlLWluLWZyb20tdG9wLTJbZGF0YS1zaWRlPWJvdHRvbV17LS10dy1lbnRlci10cmFuc2xhdGUteTpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpkYXRhLWVuZGluZy1zdHlsZVxcOnRyYW5zbGF0ZS15LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6ZGF0YS1zdGFydGluZy1zdHlsZVxcOnRyYW5zbGF0ZS15LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXk6Mi41cmVtO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRhdGEtXFxbc2lkZVxcPWlubGluZS1lbmRcXF1cXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9aW5saW5lLWVuZF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxcW3NpZGVcXD1pbmxpbmUtc3RhcnRcXF1cXDpzbGlkZS1pbi1mcm9tLXJpZ2h0LTJbZGF0YS1zaWRlPWlubGluZS1zdGFydF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykpfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6aW5zZXQteS0wW2RhdGEtc2lkZT1sZWZ0XXtpbnNldC1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6bGVmdC0wW2RhdGEtc2lkZT1sZWZ0XXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpoLWZ1bGxbZGF0YS1zaWRlPWxlZnRde2hlaWdodDoxMDAlfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6dy0zXFwvNFtkYXRhLXNpZGU9bGVmdF17d2lkdGg6NzUlfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6Ym9yZGVyLXJbZGF0YS1zaWRlPWxlZnRde2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpzbGlkZS1pbi1mcm9tLXJpZ2h0LTJbZGF0YS1zaWRlPWxlZnRdey0tdHctZW50ZXItdHJhbnNsYXRlLXg6Y2FsYygyKnZhcigtLXNwYWNpbmcpKX0uZGF0YS1cXFtzaWRlXFw9bGVmdFxcXVxcOmRhdGEtZW5kaW5nLXN0eWxlXFw6dHJhbnNsYXRlLXgtXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLWVuZGluZy1zdHlsZV0sLmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXFw6dHJhbnNsYXRlLXgtXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDppbnNldC15LTBbZGF0YS1zaWRlPXJpZ2h0XXtpbnNldC1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOnJpZ2h0LTBbZGF0YS1zaWRlPXJpZ2h0XXtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOmgtZnVsbFtkYXRhLXNpZGU9cmlnaHRde2hlaWdodDoxMDAlfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOnctM1xcLzRbZGF0YS1zaWRlPXJpZ2h0XXt3aWR0aDo3NSV9LmRhdGEtXFxbc2lkZVxcPXJpZ2h0XFxdXFw6Ym9yZGVyLWxbZGF0YS1zaWRlPXJpZ2h0XXtib3JkZXItbGVmdC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1sZWZ0LXdpZHRoOjFweH0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9cmlnaHRdey0tdHctZW50ZXItdHJhbnNsYXRlLXg6Y2FsYygyKnZhcigtLXNwYWNpbmcpKi0xKX0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpkYXRhLWVuZGluZy1zdHlsZVxcOnRyYW5zbGF0ZS14LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1yaWdodF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOmRhdGEtc3RhcnRpbmctc3R5bGVcXDp0cmFuc2xhdGUteC1cXFsyXFwuNXJlbVxcXVtkYXRhLXNpZGU9cmlnaHRdW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXg6Mi41cmVtO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRhdGEtXFxbc2lkZVxcPXRvcFxcXVxcOmluc2V0LXgtMFtkYXRhLXNpZGU9dG9wXXtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6dG9wLTBbZGF0YS1zaWRlPXRvcF17dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFxbc2lkZVxcPXRvcFxcXVxcOmgtYXV0b1tkYXRhLXNpZGU9dG9wXXtoZWlnaHQ6YXV0b30uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6Ym9yZGVyLWJbZGF0YS1zaWRlPXRvcF17Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5kYXRhLVxcW3NpZGVcXD10b3BcXF1cXDpzbGlkZS1pbi1mcm9tLWJvdHRvbS0yW2RhdGEtc2lkZT10b3Bdey0tdHctZW50ZXItdHJhbnNsYXRlLXk6Y2FsYygyKnZhcigtLXNwYWNpbmcpKX0uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6ZGF0YS1lbmRpbmctc3R5bGVcXDp0cmFuc2xhdGUteS1cXFstMlxcLjVyZW1cXF1bZGF0YS1zaWRlPXRvcF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxcW3NpZGVcXD10b3BcXF1cXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXFw6dHJhbnNsYXRlLXktXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT10b3BdW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXk6LTIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxcW3NpemVcXD1sZ1xcXVxcOnNpemUtMTBbZGF0YS1zaXplPWxnXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmRhdGEtXFxbc2l6ZVxcPXNtXFxdXFw6c2l6ZS02W2RhdGEtc2l6ZT1zbV17d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZGF0YS1cXFtzaXplXFw9c21cXF1cXDpnYXAtM1tkYXRhLXNpemU9c21de2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5kYXRhLVxcW3NpemVcXD1zbVxcXVxcOnB5LTNbZGF0YS1zaXplPXNtXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmRhdGEtXFxbc2l6ZVxcPXNtXFxdXFw6aGFzLWRhdGEtXFxbc2xvdFxcPWNhcmQtZm9vdGVyXFxdXFw6cGItMFtkYXRhLXNpemU9c21dOmhhcyhbZGF0YS1zbG90PWNhcmQtZm9vdGVyXSl7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWF2YXRhclxcXVxcOnJpbmctMlx1MDAzZSopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWF2YXRhclxcXVxcOnJpbmctYmFja2dyb3VuZFx1MDAzZSopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWlucHV0LWdyb3VwLWFkZG9uXFxdXFw6cGwtMlxcIVx1MDAzZSopW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1hZGRvbl17cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMikhaW1wb3J0YW50fS5kYXRhLVxcW3N0YXRlXFw9c2VsZWN0ZWRcXF1cXDpiZy1tdXRlZFtkYXRhLXN0YXRlPXNlbGVjdGVkXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDp0ZXh0LWRlc3RydWN0aXZlW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV17Y29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfS5kYXRhLVxcW3ZhcmlhbnRcXD1kZXN0cnVjdGl2ZVxcXVxcOmZvY3VzXFw6YmctZGVzdHJ1Y3RpdmVcXC8xMFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOmJnLWRlc3RydWN0aXZlXFwvMTBbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOnRleHQtZGVzdHJ1Y3RpdmVbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tjb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LmRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXDpyb3VuZGVkLW5vbmVbZGF0YS12YXJpYW50PWxpbmVde2JvcmRlci1yYWRpdXM6MH1Ac3VwcG9ydHMgKCgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dykpIG9yIChiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHcpKSl7LnN1cHBvcnRzLWJhY2tkcm9wLWZpbHRlclxcOmJhY2tkcm9wLWJsdXIteHN7LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIodmFyKC0tYmx1ci14cykpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9fUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuc21cXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5zbVxcOmhpZGRlbntkaXNwbGF5Om5vbmV9LnNtXFw6aW5saW5le2Rpc3BsYXk6aW5saW5lfS5zbVxcOmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnNtXFw6aC0yNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LnNtXFw6dy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0uc21cXDp3LWF1dG97d2lkdGg6YXV0b30uc21cXDptYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0uc21cXDpmbGV4LW5vbmV7ZmxleDpub25lfS5zbVxcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uc21cXDpncmlkLWNvbHMtM3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSl9LnNtXFw6ZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5zbVxcOml0ZW1zLWNlbnRlcnthbGlnbi1pdGVtczpjZW50ZXJ9LnNtXFw6anVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5zbVxcOmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc21cXDpwLTV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5zbVxcOnAtNntwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqNil9LnNtXFw6cC04e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc21cXDp0ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LnNtXFw6dGV4dC0zeGx7Zm9udC1zaXplOnZhcigtLXRleHQtM3hsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtM3hsLS1saW5lLWhlaWdodCkpfS5zbVxcOnRleHQtYmFzZXtmb250LXNpemU6dmFyKC0tdGV4dC1iYXNlKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtYmFzZS0tbGluZS1oZWlnaHQpKX0uc21cXDp0ZXh0LXhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteGwtLWxpbmUtaGVpZ2h0KSl9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpzbVxcOm1heC13LXNtW2RhdGEtc2lkZT1sZWZ0XSwuZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpzbVxcOm1heC13LXNtW2RhdGEtc2lkZT1yaWdodF17bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1zbSl9fUBtZWRpYSAobWluLXdpZHRoOjQ4cmVtKXsubWRcXDppbnNldC14LWF1dG97aW5zZXQtaW5saW5lOmF1dG99Lm1kXFw6cmlnaHQtNHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tZFxcOmJvdHRvbS00e2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tZFxcOmxlZnQtYXV0b3tsZWZ0OmF1dG99Lm1kXFw6YmxvY2t7ZGlzcGxheTpibG9ja30ubWRcXDpmbGV4e2Rpc3BsYXk6ZmxleH0ubWRcXDpoaWRkZW57ZGlzcGxheTpub25lfS5tZFxcOnRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsfS5tZFxcOm1pbi13LTB7bWluLXdpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lm1kXFw6Z3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5tZFxcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0ubWRcXDpncmlkLWNvbHMtM3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSl9Lm1kXFw6Z3JpZC1jb2xzLTR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfS5tZFxcOmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubWRcXDppdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5tZFxcOmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tZFxcOnBiLTB7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubWRcXDp0ZXh0LXNte2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXNtKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtc20tLWxpbmUtaGVpZ2h0KSl9Lm1kXFw6d2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmxnXFw6c3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0ubGdcXDp0b3AtNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubGdcXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5sZ1xcOmhpZGRlbntkaXNwbGF5Om5vbmV9LmxnXFw6dGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9LmxnXFw6dy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubGdcXDpncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmxnXFw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5sZ1xcOmdyaWQtY29scy00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX0ubGdcXDpncmlkLWNvbHMtNXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsbWlubWF4KDAsMWZyKSl9LmxnXFw6Z3JpZC1jb2xzLVxcWzFmcl8zNDBweFxcXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDM0MHB4fS5sZ1xcOmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30ubGdcXDpzZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey54bFxcOnctODB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4MCl9fS5kYXJrXFw6YmxvY2s6aXMoLmRhcmsgKil7ZGlzcGxheTpibG9ja30uZGFya1xcOmhpZGRlbjppcyguZGFyayAqKXtkaXNwbGF5Om5vbmV9LmRhcmtcXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKil7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX0uZGFya1xcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6YmctZGVzdHJ1Y3RpdmVcXC8yMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmJnLWlucHV0XFwvMzA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzAwMDB9LmRhcmtcXDp0ZXh0LWdyZWVuLTQwMDppcyguZGFyayAqKXtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi00MDApfS5kYXJrXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmlzKC5kYXJrICope2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5kYXJrXFw6cHJvc2UtaW52ZXJ0OmlzKC5kYXJrICopey0tdHctcHJvc2UtYm9keTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYm9keSk7LS10dy1wcm9zZS1oZWFkaW5nczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtaGVhZGluZ3MpOy0tdHctcHJvc2UtbGVhZDp2YXIoLS10dy1wcm9zZS1pbnZlcnQtbGVhZCk7LS10dy1wcm9zZS1saW5rczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtbGlua3MpOy0tdHctcHJvc2UtYm9sZDp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYm9sZCk7LS10dy1wcm9zZS1jb3VudGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY291bnRlcnMpOy0tdHctcHJvc2UtYnVsbGV0czp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0cyk7LS10dy1wcm9zZS1ocjp2YXIoLS10dy1wcm9zZS1pbnZlcnQtaHIpOy0tdHctcHJvc2UtcXVvdGVzOnZhcigtLXR3LXByb3NlLWludmVydC1xdW90ZXMpOy0tdHctcHJvc2UtcXVvdGUtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVycyk7LS10dy1wcm9zZS1jYXB0aW9uczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY2FwdGlvbnMpOy0tdHctcHJvc2Uta2JkOnZhcigtLXR3LXByb3NlLWludmVydC1rYmQpOy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWtiZC1zaGFkb3dzKTstLXR3LXByb3NlLWNvZGU6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWNvZGUpOy0tdHctcHJvc2UtcHJlLWNvZGU6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXByZS1jb2RlKTstLXR3LXByb3NlLXByZS1iZzp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcHJlLWJnKTstLXR3LXByb3NlLXRoLWJvcmRlcnM6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnMpOy0tdHctcHJvc2UtdGQtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtdGQtYm9yZGVycyl9LmRhcmtcXDphZnRlclxcOm1peC1ibGVuZC1saWdodGVuOmlzKC5kYXJrICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZGFya1xcOmhvdmVyXFw6YmctZGVzdHJ1Y3RpdmVcXC8zMDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcXDpob3ZlclxcOmJnLWRlc3RydWN0aXZlXFwvMzA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcXDpob3ZlclxcOmJnLWlucHV0XFwvNTA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aG92ZXJcXDpiZy1pbnB1dFxcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6aG92ZXJcXDpiZy1tdXRlZFxcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmhvdmVyXFw6YmctbXV0ZWRcXC81MDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmhvdmVyXFw6dGV4dC1mb3JlZ3JvdW5kOmlzKC5kYXJrICopOmhvdmVye2NvbG9yOnZhcigtLWZvcmVncm91bmQpfX0uZGFya1xcOmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTQwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6ZGlzYWJsZWRcXDpiZy1pbnB1dFxcLzgwOmlzKC5kYXJrICopOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmRpc2FibGVkXFw6YmctaW5wdXRcXC84MDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk4MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRpc2FibGVkXFw6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGFya1xcOmhhcy1kaXNhYmxlZFxcOmJnLWlucHV0XFwvODA6aXMoLmRhcmsgKik6aGFzKDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aGFzLWRpc2FibGVkXFw6YmctaW5wdXRcXC84MDppcyguZGFyayAqKTpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk4MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmhhcy1cXFtcXFtkYXRhLXNsb3RcXF1cXFthcmlhLWludmFsaWRcXD10cnVlXFxdXFxdXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzQwOmlzKC5kYXJrICopOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aGFzLVxcW1xcW2RhdGEtc2xvdFxcXVxcW2FyaWEtaW52YWxpZFxcPXRydWVcXF1cXF1cXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmFyaWEtaW52YWxpZFxcOmJvcmRlci1kZXN0cnVjdGl2ZVxcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmFyaWEtaW52YWxpZFxcOmJvcmRlci1kZXN0cnVjdGl2ZVxcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6YXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzQwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmFyaWEtaW52YWxpZFxcOnJpbmctZGVzdHJ1Y3RpdmVcXC80MDppcyguZGFyayAqKVthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRhdGEtXFxbdmFyaWFudFxcPWRlc3RydWN0aXZlXFxdXFw6Zm9jdXNcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmlzKC5kYXJrICopW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6ZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoLmRhcmsgKilbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uZGF0YS1vcGVuXFw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOmFuaW1hdGUtaW46d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YW5pbWF0aW9uOmVudGVyIHZhcigtLXR3LWFuaW1hdGlvbi1kdXJhdGlvbix2YXIoLS10dy1kdXJhdGlvbiwuMTVzKSl2YXIoLS10dy1lYXNlLGVhc2UpdmFyKC0tdHctYW5pbWF0aW9uLWRlbGF5LDBzKXZhcigtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsMSl2YXIoLS10dy1hbmltYXRpb24tZGlyZWN0aW9uLG5vcm1hbCl2YXIoLS10dy1hbmltYXRpb24tZmlsbC1tb2RlLG5vbmUpfS5kYXRhLW9wZW5cXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLW9wZW5cXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kOndoZXJlKFtkYXRhLXN0YXRlPW9wZW5dKSwuZGF0YS1vcGVuXFw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmRhdGEtb3BlblxcOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXstLXR3LWVudGVyLW9wYWNpdHk6MH0uZGF0YS1vcGVuXFw6em9vbS1pbi05NTp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7LS10dy1lbnRlci1zY2FsZTouOTV9LmRhdGEtY2xvc2VkXFw6YW5pbWF0ZS1vdXQ6d2hlcmUoW2RhdGEtc3RhdGU9Y2xvc2VkXSksLmRhdGEtY2xvc2VkXFw6YW5pbWF0ZS1vdXQ6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpe2FuaW1hdGlvbjpleGl0IHZhcigtLXR3LWFuaW1hdGlvbi1kdXJhdGlvbix2YXIoLS10dy1kdXJhdGlvbiwuMTVzKSl2YXIoLS10dy1lYXNlLGVhc2UpdmFyKC0tdHctYW5pbWF0aW9uLWRlbGF5LDBzKXZhcigtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsMSl2YXIoLS10dy1hbmltYXRpb24tZGlyZWN0aW9uLG5vcm1hbCl2YXIoLS10dy1hbmltYXRpb24tZmlsbC1tb2RlLG5vbmUpfS5kYXRhLWNsb3NlZFxcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcXDpvdmVyZmxvdy1oaWRkZW46d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpe292ZXJmbG93OmhpZGRlbn0uZGF0YS1jbG9zZWRcXDpmYWRlLW91dC0wOndoZXJlKFtkYXRhLXN0YXRlPWNsb3NlZF0pLC5kYXRhLWNsb3NlZFxcOmZhZGUtb3V0LTA6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1vcGFjaXR5OjB9LmRhdGEtY2xvc2VkXFw6em9vbS1vdXQtOTU6d2hlcmUoW2RhdGEtc3RhdGU9Y2xvc2VkXSksLmRhdGEtY2xvc2VkXFw6em9vbS1vdXQtOTU6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1zY2FsZTouOTV9LmRhdGEtc2VsZWN0ZWRcXDpiZy1tdXRlZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9LmRhdGEtc2VsZWN0ZWRcXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXRhLWRpc2FibGVkXFw6cG9pbnRlci1ldmVudHMtbm9uZTp3aGVyZShbZGF0YS1kaXNhYmxlZD10cnVlXSksLmRhdGEtZGlzYWJsZWRcXDpwb2ludGVyLWV2ZW50cy1ub25lOndoZXJlKFtkYXRhLWRpc2FibGVkXTpub3QoW2RhdGEtZGlzYWJsZWQ9ZmFsc2VdKSl7cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1kaXNhYmxlZFxcOm9wYWNpdHktNTA6d2hlcmUoW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0pLC5kYXRhLWRpc2FibGVkXFw6b3BhY2l0eS01MDp3aGVyZShbZGF0YS1kaXNhYmxlZF06bm90KFtkYXRhLWRpc2FibGVkPWZhbHNlXSkpe29wYWNpdHk6LjV9LmRhdGEtYWN0aXZlXFw6YmctYmFja2dyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcXDpiZy1iYWNrZ3JvdW5kOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpfS5kYXRhLWFjdGl2ZVxcOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1kZWZhdWx0XFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWRlZmF1bHRdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1kZWZhdWx0XFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWRlZmF1bHRdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cXFt2YXJpYW50XFw9bGluZVxcXVxcL3RhYnMtbGlzdFxcOmRhdGEtYWN0aXZlXFw6YmctdHJhbnNwYXJlbnQ6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1saW5lXFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctbm9uZTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOnNoYWRvdy1ub25lOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmFmdGVyXFw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1saW5lXFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDphZnRlclxcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSkpOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7b3BhY2l0eToxfS5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcXDpkYXRhLWFjdGl2ZVxcOmJvcmRlci1pbnB1dDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX0uZGFya1xcOmRhdGEtYWN0aXZlXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmRhdGEtYWN0aXZlXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpiZy1pbnB1dFxcLzMwOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpiZy1pbnB1dFxcLzMwOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRhdGEtYWN0aXZlXFw6dGV4dC1mb3JlZ3JvdW5kOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5kYXJrXFw6ZGF0YS1hY3RpdmVcXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXJrXFw6Z3JvdXAtZGF0YS1cXFt2YXJpYW50XFw9bGluZVxcXVxcL3RhYnMtbGlzdFxcOmRhdGEtYWN0aXZlXFw6Ym9yZGVyLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJvcmRlci10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JvcmRlci1jb2xvcjojMDAwMH0uZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGF0YS1ob3Jpem9udGFsXFw6aC1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7aGVpZ2h0OjFweH0uZGF0YS1ob3Jpem9udGFsXFw6dy1mdWxsOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKXt3aWR0aDoxMDAlfS5kYXRhLWhvcml6b250YWxcXDpmbGV4LWNvbDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kYXRhLXZlcnRpY2FsXFw6dy1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe3dpZHRoOjFweH0uZGF0YS12ZXJ0aWNhbFxcOnNlbGYtc3RyZXRjaDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe2FsaWduLXNlbGY6c3RyZXRjaH0uXFxbXFxcdTAwMjZfYVxcXVxcOnRleHQtcHJpbWFyeSBhe2NvbG9yOnZhcigtLXByaW1hcnkpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOm10LTYgaDN7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOm1iLTIgaDN7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOnRleHQtZm9yZWdyb3VuZCBoM3tjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uXFxbXFxcdTAwMjZfc3ZnXFxdXFw6cG9pbnRlci1ldmVudHMtbm9uZSBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uXFxbXFxcdTAwMjZfc3ZnXFxdXFw6c2hyaW5rLTAgc3Zne2ZsZXgtc2hyaW5rOjB9LlxcW1xcXHUwMDI2X3N2Z1xcOm5vdFxcKFxcW2NsYXNzXFwqXFw9XFwnc2l6ZS1cXCdcXF1cXClcXF1cXDpzaXplLTMgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uXFxbXFxcdTAwMjZfc3ZnXFw6bm90XFwoXFxbY2xhc3NcXCpcXD1cXCdzaXplLVxcJ1xcXVxcKVxcXVxcOnNpemUtM1xcLjUgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LlxcW1xcXHUwMDI2X3N2Z1xcOm5vdFxcKFxcW2NsYXNzXFwqXFw9XFwnc2l6ZS1cXCdcXF1cXClcXF1cXDpzaXplLTQgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0uXFxbXFxcdTAwMjZfdHJcXF1cXDpib3JkZXItYiB0cntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHh9LlxcW1xcXHUwMDI2X3RyXFw6bGFzdC1jaGlsZFxcXVxcOmJvcmRlci0wIHRyOmxhc3QtY2hpbGR7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjB9LlxcW1xcXHUwMDI2XFw6XFw6LXdlYmtpdC1kZXRhaWxzLW1hcmtlclxcXVxcOmhpZGRlbjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9LlxcW1xcXHUwMDI2XFw6XFw6LXdlYmtpdC1zY3JvbGxiYXJcXF1cXDpoaWRkZW46Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uXFxbXFxcdTAwMjZcXDpoYXNcXChcXFtyb2xlXFw9Y2hlY2tib3hcXF1cXClcXF1cXDpwci0wOmhhcyhbcm9sZT1jaGVja2JveF0pe3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uXFxbXFwuYm9yZGVyLWJcXF1cXDpwYi0yLmJvcmRlci1ie3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9LlxcW1xcLmJvcmRlci1iXFxdXFw6cGItNC5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2NhcmRcXDpcXFtcXC5ib3JkZXItYlxcXVxcOnBiLTM6aXMoOndoZXJlKC5ncm91cFxcL2NhcmQpW2RhdGEtc2l6ZT1zbV0gKikuYm9yZGVyLWJ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uXFxbXFwuYm9yZGVyLXRcXF1cXDpwdC0yLmJvcmRlci10e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDpweC0yICopW2NtZGstZ3JvdXAtaGVhZGluZ117cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX06aXMoLlxcKlxcKlxcOlxcW1xcW2NtZGstZ3JvdXAtaGVhZGluZ1xcXVxcXVxcOnB5LTFcXC41ICopW2NtZGstZ3JvdXAtaGVhZGluZ117cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDp0ZXh0LXhzICopW2NtZGstZ3JvdXAtaGVhZGluZ117Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX06aXMoLlxcKlxcKlxcOlxcW1xcW2NtZGstZ3JvdXAtaGVhZGluZ1xcXVxcXVxcOmZvbnQtbWVkaXVtICopW2NtZGstZ3JvdXAtaGVhZGluZ117LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSl9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDp0ZXh0LW11dGVkLWZvcmVncm91bmQgKilbY21kay1ncm91cC1oZWFkaW5nXXtjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX06aXMoLlxcKlxcOlxcW2FcXF1cXDp1bmRlcmxpbmVcdTAwM2UqKTppcyhhKXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9OmlzKC5cXCpcXDpcXFthXFxdXFw6dW5kZXJsaW5lLW9mZnNldC0zXHUwMDNlKik6aXMoYSl7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjNweH1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuXFxbYVxcXVxcOmhvdmVyXFw6YmctZGVzdHJ1Y3RpdmVcXC8yMDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LlxcW2FcXF1cXDpob3ZlclxcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LlxcW2FcXF1cXDpob3ZlclxcOmJnLW11dGVkOmlzKGEpOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5cXFthXFxdXFw6aG92ZXJcXDpiZy1wcmltYXJ5XFwvODA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LlxcW2FcXF1cXDpob3ZlclxcOmJnLXByaW1hcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTgwJSx0cmFuc3BhcmVudCl9fS5cXFthXFxdXFw6aG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cXFthXFxdXFw6aG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zZWNvbmRhcnkpODAlLHRyYW5zcGFyZW50KX19LlxcW2FcXF1cXDpob3ZlclxcOnRleHQtbXV0ZWQtZm9yZWdyb3VuZDppcyhhKTpob3Zlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX06aXMoLlxcKlxcOlxcW2FcXF1cXDpob3ZlclxcOnRleHQtZm9yZWdyb3VuZFx1MDAzZSopOmlzKGEpOmhvdmVye2NvbG9yOnZhcigtLWZvcmVncm91bmQpfX06aXMoLlxcKlxcOlxcW2ltZ1xcOmZpcnN0LWNoaWxkXFxdXFw6cm91bmRlZC10LXhsXHUwMDNlKik6aXMoaW1nOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguXFwqXFw6XFxbaW1nXFw6bGFzdC1jaGlsZFxcXVxcOnJvdW5kZWQtYi14bFx1MDAzZSopOmlzKGltZzpsYXN0LWNoaWxkKXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpcXCpcXDpcXFtzdmdcXF1cXDp0ZXh0LWRlc3RydWN0aXZlW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV1cdTAwM2UqKTppcyhzdmcpe2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX06aXMoLmRhdGEtc2VsZWN0ZWRcXDpcXCpcXDpcXFtzdmdcXF1cXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pXHUwMDNlKik6aXMoc3ZnKXtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLWVuZFxcXVxcXVxcOlxcW1xcXHUwMDI2XFxcdTAwM2VpbnB1dFxcXVxcOnB0LTM6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWJsb2NrLWVuZF0pXHUwMDNlaW5wdXR7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLXN0YXJ0XFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cGItMzpoYXMoXHUwMDNlW2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKVx1MDAzZWlucHV0e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmhhcy1cXFtcXFx1MDAzZVxcW2RhdGEtYWxpZ25cXD1pbmxpbmUtZW5kXFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cHItMVxcLjU6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWlubGluZS1lbmRdKVx1MDAzZWlucHV0e3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5oYXMtXFxbXFxcdTAwM2VcXFtkYXRhLWFsaWduXFw9aW5saW5lLXN0YXJ0XFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cGwtMVxcLjU6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWlubGluZS1zdGFydF0pXHUwMDNlaW5wdXR7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uXFxbXFxcdTAwMjZcXFx1MDAzZWtiZFxcXVxcOnJvdW5kZWQtXFxbY2FsY1xcKHZhclxcKC0tcmFkaXVzXFwpLTVweFxcKVxcXVx1MDAzZWtiZHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDVweCl9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpwb2ludGVyLWV2ZW50cy1ub25lXHUwMDNlc3Zne3BvaW50ZXItZXZlbnRzOm5vbmV9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTNcXCFcdTAwM2Vzdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKSFpbXBvcnRhbnQ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMykhaW1wb3J0YW50fS5cXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFxdXFw6c2l6ZS00XHUwMDNlc3Zne3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhci1ncm91cFxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTU6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKVx1MDAzZXN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5ncm91cC1oYXMtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9hdmF0YXItZ3JvdXBcXDpcXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFxdXFw6c2l6ZS0zOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXItZ3JvdXApOmhhcyhbZGF0YS1zaXplPXNtXSkgKilcdTAwM2Vzdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9ZGVmYXVsdFxcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWRlZmF1bHRdICopXHUwMDNlc3ZnLC5ncm91cC1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKVx1MDAzZXN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpoaWRkZW46aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPXNtXSAqKVx1MDAzZXN2Z3tkaXNwbGF5Om5vbmV9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXDpub3RcXChcXFtjbGFzc1xcKlxcPVxcJ3NpemUtXFwnXFxdXFwpXFxdXFw6c2l6ZS0zXFwuNVx1MDAzZXN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5cXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFw6bm90XFwoXFxbY2xhc3NcXCpcXD1cXCdzaXplLVxcJ1xcXVxcKVxcXVxcOnNpemUtNFx1MDAzZXN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxcW1xcXHUwMDI2XFxcdTAwM2V0clxcXVxcOmxhc3RcXDpib3JkZXItYi0wXHUwMDNldHI6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDowfX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZGVsYXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MHN9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpub3JtYWx9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWR1cmF0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZmlsbC1tb2Rle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOm5vbmV9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWVudGVyLWJsdXJ7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZW50ZXItcm90YXRle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZW50ZXItc2NhbGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MX1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWVudGVyLXRyYW5zbGF0ZS15e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1ibHVye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC1yb3RhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LXNjYWxle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC10cmFuc2xhdGUteHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWV4aXQtdHJhbnNsYXRlLXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH06cm9vdHstLWJhY2tncm91bmQ6I2ZmZjstLWZvcmVncm91bmQ6IzExMTgyNzstLWNhcmQ6I2Y5ZmFmYjstLWNhcmQtZm9yZWdyb3VuZDojMTExODI3Oy0tcG9wb3ZlcjojZmZmOy0tcG9wb3Zlci1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1wcmltYXJ5OiMwMDcwZWM7LS1wcmltYXJ5LWZvcmVncm91bmQ6I2ZmZjstLXNlY29uZGFyeTojZjNmNGY2Oy0tc2Vjb25kYXJ5LWZvcmVncm91bmQ6IzExMTgyNzstLW11dGVkOiNmM2Y0ZjY7LS1tdXRlZC1mb3JlZ3JvdW5kOiM2YjcyODA7LS1hY2NlbnQ6I2YzZjRmNjstLWFjY2VudC1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1kZXN0cnVjdGl2ZTojZWY0NDQ0Oy0tYm9yZGVyOiNlNWU3ZWI7LS1pbnB1dDojZTVlN2ViOy0tcmluZzojMDA3NGY1Oy0tcmFkaXVzOi41cmVtOy0tc3VjY2VzczojMjJjNTVlOy0tZGFuZ2VyOiNlZjQ0NDQ7LS13YXJuaW5nOiNmNTllMGI7LS1pbmZvOiMzYjgyZjY7LS1zdXJmYWNlOiNmOWZhZmI7LS1zdXJmYWNlLTI6I2YzZjRmNjstLWNoYXJ0LTE6IzAwNzRmNTstLWNoYXJ0LTI6IzAwYjhhOTstLWNoYXJ0LTM6IzIyYzU1ZTstLWNoYXJ0LTQ6I2Y1OWUwYjstLWNoYXJ0LTU6I2VmNDQ0NDstLXNpZGViYXI6I2Y5ZmFmYjstLXNpZGViYXItZm9yZWdyb3VuZDojMTExODI3Oy0tc2lkZWJhci1wcmltYXJ5OiMwMDc0ZjU7LS1zaWRlYmFyLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2lkZWJhci1hY2NlbnQ6I2YzZjRmNjstLXNpZGViYXItYWNjZW50LWZvcmVncm91bmQ6IzExMTgyNzstLXNpZGViYXItYm9yZGVyOiNlNWU3ZWI7LS1zaWRlYmFyLXJpbmc6IzAwNzRmNX0uZGFya3stLWJhY2tncm91bmQ6IzBiMGYxOTstLWZvcmVncm91bmQ6I2Y5ZmFmYjstLWNhcmQ6IzExMTgyNzstLWNhcmQtZm9yZWdyb3VuZDojZjlmYWZiOy0tcG9wb3ZlcjojMTExODI3Oy0tcG9wb3Zlci1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1wcmltYXJ5OiMwMDcwZWM7LS1wcmltYXJ5LWZvcmVncm91bmQ6I2ZmZjstLXNlY29uZGFyeTojMWYyOTM3Oy0tc2Vjb25kYXJ5LWZvcmVncm91bmQ6I2Y5ZmFmYjstLW11dGVkOiMxZjI5Mzc7LS1tdXRlZC1mb3JlZ3JvdW5kOiM5Y2EzYWY7LS1hY2NlbnQ6IzFmMjkzNzstLWFjY2VudC1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1kZXN0cnVjdGl2ZTojZWY0NDQ0Oy0tYm9yZGVyOiMzNzQxNTE7LS1pbnB1dDojMzc0MTUxOy0tcmluZzojMDA3NGY1Oy0tc3VjY2VzczojMjJjNTVlOy0tZGFuZ2VyOiNlZjQ0NDQ7LS13YXJuaW5nOiNmNTllMGI7LS1pbmZvOiMzYjgyZjY7LS1zdXJmYWNlOiMxMTE4Mjc7LS1zdXJmYWNlLTI6IzFmMjkzNzstLWNoYXJ0LTE6IzNkOWFmZjstLWNoYXJ0LTI6IzMzYzliZDstLWNoYXJ0LTM6IzIyYzU1ZTstLWNoYXJ0LTQ6I2Y1OWUwYjstLWNoYXJ0LTU6I2VmNDQ0NDstLXNpZGViYXI6IzExMTgyNzstLXNpZGViYXItZm9yZWdyb3VuZDojZjlmYWZiOy0tc2lkZWJhci1wcmltYXJ5OiMzZDlhZmY7LS1zaWRlYmFyLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2lkZWJhci1hY2NlbnQ6IzFmMjkzNzstLXNpZGViYXItYWNjZW50LWZvcmVncm91bmQ6I2Y5ZmFmYjstLXNpZGViYXItYm9yZGVyOiMzNzQxNTE7LS1zaWRlYmFyLXJpbmc6IzAwNzRmNX1Aa2V5ZnJhbWVzIHRleHQtc2hpbW1lcnswJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIwMCV9dG97YmFja2dyb3VuZC1wb3NpdGlvbjotMjAwJX19LnRleHQtc2hpbW1lcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTQwJSx2YXIoLS1mb3JlZ3JvdW5kKTUwJSx2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTYwJSk7Y29sb3I6IzAwMDA7YmFja2dyb3VuZC1zaXplOjIwMCU7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDtiYWNrZ3JvdW5kLWNsaXA6dGV4dDthbmltYXRpb246MnMgbGluZWFyIGluZmluaXRlIHRleHQtc2hpbW1lcn1odG1sLmNjLWNvbnNlbnRlZCAuY29va2llLW5vdGljZXtkaXNwbGF5Om5vbmV9QHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXh7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXRyYW5zbGF0ZS16e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctcm90YXRlLXh7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS15e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1yb3RhdGUtentzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2tldy14e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNwYWNlLXktcmV2ZXJzZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXNwYWNlLXgtcmV2ZXJzZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWRpdmlkZS15LXJldmVyc2V7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1ib3JkZXItc3R5bGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6c29saWR9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtcG9zaXRpb257c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb217c3ludGF4OlwiXHUwMDNjY29sb3JcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYXtzeW50YXg6XCJcdTAwM2Njb2xvclx1MDAzZVwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6IzAwMDB9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG97c3ludGF4OlwiXHUwMDNjY29sb3JcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXN0b3Bze3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ncmFkaWVudC12aWEtc3RvcHN7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb257c3ludGF4OlwiXHUwMDNjbGVuZ3RoLXBlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbntzeW50YXg6XCJcdTAwM2NsZW5ndGgtcGVyY2VudGFnZVx1MDAzZVwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6NTAlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9ue3N5bnRheDpcIlx1MDAzY2xlbmd0aC1wZXJjZW50YWdlXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LWxlYWRpbmd7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWZvbnQtd2VpZ2h0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy10cmFja2luZ3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3JkaW5hbHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2xhc2hlZC16ZXJve3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZpZ3VyZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1zcGFjaW5ne3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZyYWN0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zaGFkb3d7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1jb2xvcntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93LWFscGhhe3N5bnRheDpcIlx1MDAzY3BlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvdy1hbHBoYXtzeW50YXg6XCJcdTAwM2NwZXJjZW50YWdlXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LXJpbmctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLWNvbG9ye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLXNoYWRvd3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctcmluZy1pbnNldHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtd2lkdGh7c3ludGF4OlwiXHUwMDNjbGVuZ3RoXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LWNvbG9ye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiNmZmZ9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1vdXRsaW5lLXN0eWxle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOnNvbGlkfUBwcm9wZXJ0eSAtLXR3LWJsdXJ7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJyaWdodG5lc3N7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWNvbnRyYXN0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ncmF5c2NhbGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWh1ZS1yb3RhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWludmVydHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3BhY2l0eXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2F0dXJhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNlcGlhe3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvd3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWFscGhhe3N5bnRheDpcIlx1MDAzY3BlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctc2l6ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYmx1cntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzc3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtY29udHJhc3R7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaW52ZXJ0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atc2VwaWF7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWR1cmF0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1lYXNle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1jb250ZW50e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOlwiXCJ9QGtleWZyYW1lcyBzcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBwdWxzZXs1MCV7b3BhY2l0eTouNX19QGtleWZyYW1lcyBlbnRlcnswJXtvcGFjaXR5OnZhcigtLXR3LWVudGVyLW9wYWNpdHksMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKHZhcigtLXR3LWVudGVyLXRyYW5zbGF0ZS14LDApLHZhcigtLXR3LWVudGVyLXRyYW5zbGF0ZS15LDApLDApc2NhbGUzZCh2YXIoLS10dy1lbnRlci1zY2FsZSwxKSx2YXIoLS10dy1lbnRlci1zY2FsZSwxKSx2YXIoLS10dy1lbnRlci1zY2FsZSwxKSlyb3RhdGUodmFyKC0tdHctZW50ZXItcm90YXRlLDApKTtmaWx0ZXI6Ymx1cih2YXIoLS10dy1lbnRlci1ibHVyLDApKX19QGtleWZyYW1lcyBleGl0e3Rve29wYWNpdHk6dmFyKC0tdHctZXhpdC1vcGFjaXR5LDEpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCh2YXIoLS10dy1leGl0LXRyYW5zbGF0ZS14LDApLHZhcigtLXR3LWV4aXQtdHJhbnNsYXRlLXksMCksMClzY2FsZTNkKHZhcigtLXR3LWV4aXQtc2NhbGUsMSksdmFyKC0tdHctZXhpdC1zY2FsZSwxKSx2YXIoLS10dy1leGl0LXNjYWxlLDEpKXJvdGF0ZSh2YXIoLS10dy1leGl0LXJvdGF0ZSwwKSk7ZmlsdGVyOmJsdXIodmFyKC0tdHctZXhpdC1ibHVyLDApKX19XG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMDp7XCJQXCI6bnVsbCxcImJcIjpcIlMxSjJHRS1qQzlkRTl5aGE5aEFfdFwiLFwiY1wiOltcIlwiLFwid2lkZ2V0XCJdLFwicVwiOlwiXCIsXCJpXCI6ZmFsc2UsXCJmXCI6W1tbXCJcIix7XCJjaGlsZHJlblwiOltcIihlbWJlZClcIix7XCJjaGlsZHJlblwiOltcIndpZGdldFwiLHtcImNoaWxkcmVuXCI6W1wiX19QQUdFX19cIix7fV19XX1dfSxcIiR1bmRlZmluZWRcIixcIiR1bmRlZmluZWRcIix0cnVlXSxbW1wiJFwiLFwiJDFcIixcImNcIix7XCJjaGlsZHJlblwiOltbW1wiJFwiLFwic3R5bGVcIixcIjBcIix7XCJub25jZVwiOlwiJHVuZGVmaW5lZFwiLFwicHJlY2VkZW5jZVwiOlwibmV4dFwiLFwiaHJlZlwiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvMDcyNWZjNGRiODE0ZjAzNS5jc3NcIixcImNoaWxkcmVuXCI6XCIkMlwifV0sW1wiJFwiLFwic3R5bGVcIixcIjFcIix7XCJub25jZVwiOlwiJHVuZGVmaW5lZFwiLFwicHJlY2VkZW5jZVwiOlwibmV4dFwiLFwiaHJlZlwiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvYjM0ZWJiOGFlZmYyMTg2ZS5jc3NcIixcImNoaWxkcmVuXCI6XCIkM1wifV0sXCIkTDRcIl0sXCIkTDVcIl19XSx7XCJjaGlsZHJlblwiOltcIiRMNlwiLHtcImNoaWxkcmVuXCI6W1wiJEw3XCIse1wiY2hpbGRyZW5cIjpbXCIkTDhcIix7fSxudWxsLGZhbHNlLGZhbHNlXX0sbnVsbCxmYWxzZSxmYWxzZV19LG51bGwsZmFsc2UsZmFsc2VdfSxudWxsLGZhbHNlLGZhbHNlXSxcIiRMOVwiLGZhbHNlXV0sXCJtXCI6XCIkdW5kZWZpbmVkXCIsXCJHXCI6W1wiJGFcIixbXV0sXCJTXCI6dHJ1ZX1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCJiOklbODM2NjEsW1wiL19uZXh0L3N0YXRpYy9jaHVua3MvYzBhNmFlNTE1ZjRkMjQ1ZC5qc1wiXSxcIlRoZW1lUHJvdmlkZXJcIl1cbmM6SVszMDk3LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzMzMDc0ZDNmZjVkMGNkMmQuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanNcIl0sXCJkZWZhdWx0XCJdXG5kOklbOTkyOTksW1wiL19uZXh0L3N0YXRpYy9jaHVua3MvMzMwNzRkM2ZmNWQwY2QyZC5qc1wiLFwiL19uZXh0L3N0YXRpYy9jaHVua3MvOTUyNjIzODZkOGQ0YjZkZC5qc1wiXSxcImRlZmF1bHRcIl1cbmU6XCIkU3JlYWN0LnN1c3BlbnNlXCJcbmY6SVs3OTI5NCxbXCIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy84MDBlODM2MTQ2ZDZlN2ViLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy9kNzFiOTkyNjdiMDY2YjliLmpzXCJdLFwiV2lkZ2V0Q2xpZW50XCJdXG4xMDpJWzM2MzQ1LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzMzMDc0ZDNmZjVkMGNkMmQuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanNcIl0sXCJPdXRsZXRCb3VuZGFyeVwiXVxuMTI6SVszNjM0NSxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiVmlld3BvcnRCb3VuZGFyeVwiXVxuMTQ6SVszNjM0NSxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiTWV0YWRhdGFCb3VuZGFyeVwiXVxuNDpbXCIkXCIsXCJzY3JpcHRcIixcInNjcmlwdC0wXCIse1wic3JjXCI6XCIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzXCIsXCJhc3luY1wiOnRydWUsXCJub25jZVwiOlwiJHVuZGVmaW5lZFwifV1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCI1OltcIiRcIixcImh0bWxcIixudWxsLHtcImxhbmdcIjpcImVuXCIsXCJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmdcIjp0cnVlLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiaGVhZFwiLG51bGwse1wiY2hpbGRyZW5cIjpbW1wiJFwiLFwic2NyaXB0XCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwidHJ5e2lmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjb2lubGliLWNvb2tpZS1jb25zZW50Jykpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjYy1jb25zZW50ZWQnKX19Y2F0Y2goZSl7fVwifX1dLFtcIiRcIixcImxpbmtcIixudWxsLHtcInJlbFwiOlwicHJlY29ubmVjdFwiLFwiaHJlZlwiOlwiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbVwiLFwiY3Jvc3NPcmlnaW5cIjpcIlwifV1dfV0sW1wiJFwiLFwiYm9keVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJpbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGUgYW50aWFsaWFzZWRcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcIiRMYlwiLG51bGwse1wiY2hpbGRyZW5cIjpbXCIkXCIsXCIkTGNcIixudWxsLHtcInBhcmFsbGVsUm91dGVyS2V5XCI6XCJjaGlsZHJlblwiLFwiZXJyb3JcIjpcIiR1bmRlZmluZWRcIixcImVycm9yU3R5bGVzXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclNjcmlwdHNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlXCI6W1wiJFwiLFwiJExkXCIsbnVsbCx7fV0sXCJ0ZW1wbGF0ZVN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwidGVtcGxhdGVTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJub3RGb3VuZFwiOltbW1wiJFwiLFwidGl0bGVcIixudWxsLHtcImNoaWxkcmVuXCI6XCI0MDQ6IFRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmQuXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcInN0eWxlXCI6e1wiZm9udEZhbWlseVwiOlwic3lzdGVtLXVpLFxcXCJTZWdvZSBVSVxcXCIsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmLFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsXFxcIlNlZ29lIFVJIEVtb2ppXFxcIlwiLFwiaGVpZ2h0XCI6XCIxMDB2aFwiLFwidGV4dEFsaWduXCI6XCJjZW50ZXJcIixcImRpc3BsYXlcIjpcImZsZXhcIixcImZsZXhEaXJlY3Rpb25cIjpcImNvbHVtblwiLFwiYWxpZ25JdGVtc1wiOlwiY2VudGVyXCIsXCJqdXN0aWZ5Q29udGVudFwiOlwiY2VudGVyXCJ9LFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJkaXZcIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwiYm9keXtjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmZjttYXJnaW46MH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7Ym9keXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzAwMH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpfX1cIn19XSxbXCIkXCIsXCJoMVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJuZXh0LWVycm9yLWgxXCIsXCJzdHlsZVwiOntcImRpc3BsYXlcIjpcImlubGluZS1ibG9ja1wiLFwibWFyZ2luXCI6XCIwIDIwcHggMCAwXCIsXCJwYWRkaW5nXCI6XCIwIDIzcHggMCAwXCIsXCJmb250U2l6ZVwiOjI0LFwiZm9udFdlaWdodFwiOjUwMCxcInZlcnRpY2FsQWxpZ25cIjpcInRvcFwiLFwibGluZUhlaWdodFwiOlwiNDlweFwifSxcImNoaWxkcmVuXCI6NDA0fV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJzdHlsZVwiOntcImRpc3BsYXlcIjpcImlubGluZS1ibG9ja1wifSxcImNoaWxkcmVuXCI6W1wiJFwiLFwiaDJcIixudWxsLHtcInN0eWxlXCI6e1wiZm9udFNpemVcIjoxNCxcImZvbnRXZWlnaHRcIjo0MDAsXCJsaW5lSGVpZ2h0XCI6XCI0OXB4XCIsXCJtYXJnaW5cIjowfSxcImNoaWxkcmVuXCI6XCJUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kLlwifV19XV19XX1dXSxbXV0sXCJmb3JiaWRkZW5cIjpcIiR1bmRlZmluZWRcIixcInVuYXV0aG9yaXplZFwiOlwiJHVuZGVmaW5lZFwifV19XSxbXCIkXCIsXCJzY3JpcHRcIixudWxsLHtcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCI6e1wiX19odG1sXCI6XCIoZnVuY3Rpb24oKXtmdW5jdGlvbiBsb2FkKCl7d2luZG93LmRhdGFMYXllcj13aW5kb3cuZGF0YUxheWVyfHxbXTt3aW5kb3cuZ3RhZz1mdW5jdGlvbigpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyl9O2d0YWcoJ2pzJyxuZXcgRGF0ZSgpKTtndGFnKCdjb25maWcnLCdHLVY4NFhQOFdHWFknKTt2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzLnNyYz0naHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLVY4NFhQOFdHWFknO3MuYXN5bmM9dHJ1ZTtkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpfWZ1bmN0aW9uIHNjaGVkdWxlKCl7aWYoJ3JlcXVlc3RJZGxlQ2FsbGJhY2snaW4gd2luZG93KXtyZXF1ZXN0SWRsZUNhbGxiYWNrKGxvYWQse3RpbWVvdXQ6MzAwMH0pfWVsc2V7c2V0VGltZW91dChsb2FkLDE1MDApfX1pZihkb2N1bWVudC5yZWFkeVN0YXRlPT09J2NvbXBsZXRlJyl7c2NoZWR1bGUoKX1lbHNle2FkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLHNjaGVkdWxlLHtvbmNlOnRydWV9KX19KSgpO1wifX1dXX1dXX1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiNjpbXCIkXCIsXCIkMVwiLFwiY1wiLHtcImNoaWxkcmVuXCI6W251bGwsW1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiaHRtbCwgYm9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVwifV0sW1wiJFwiLFwiJExjXCIsbnVsbCx7XCJwYXJhbGxlbFJvdXRlcktleVwiOlwiY2hpbGRyZW5cIixcImVycm9yXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwiZXJyb3JTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJ0ZW1wbGF0ZVwiOltcIiRcIixcIiRMZFwiLG51bGwse31dLFwidGVtcGxhdGVTdHlsZXNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlU2NyaXB0c1wiOlwiJHVuZGVmaW5lZFwiLFwibm90Rm91bmRcIjpbW1tcIiRcIixcInRpdGxlXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiNDA0OiBUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kLlwifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJzdHlsZVwiOlwiJDU6cHJvcHM6Y2hpbGRyZW46MTpwcm9wczpjaGlsZHJlbjowOnByb3BzOmNoaWxkcmVuOnByb3BzOm5vdEZvdW5kOjA6MTpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJkaXZcIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwiYm9keXtjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmZjttYXJnaW46MH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7Ym9keXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzAwMH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpfX1cIn19XSxbXCIkXCIsXCJoMVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJuZXh0LWVycm9yLWgxXCIsXCJzdHlsZVwiOlwiJDU6cHJvcHM6Y2hpbGRyZW46MTpwcm9wczpjaGlsZHJlbjowOnByb3BzOmNoaWxkcmVuOnByb3BzOm5vdEZvdW5kOjA6MTpwcm9wczpjaGlsZHJlbjpwcm9wczpjaGlsZHJlbjoxOnByb3BzOnN0eWxlXCIsXCJjaGlsZHJlblwiOjQwNH1dLFtcIiRcIixcImRpdlwiLG51bGwse1wic3R5bGVcIjpcIiQ1OnByb3BzOmNoaWxkcmVuOjE6cHJvcHM6Y2hpbGRyZW46MDpwcm9wczpjaGlsZHJlbjpwcm9wczpub3RGb3VuZDowOjE6cHJvcHM6Y2hpbGRyZW46cHJvcHM6Y2hpbGRyZW46Mjpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJoMlwiLG51bGwse1wic3R5bGVcIjpcIiQ1OnByb3BzOmNoaWxkcmVuOjE6cHJvcHM6Y2hpbGRyZW46MDpwcm9wczpjaGlsZHJlbjpwcm9wczpub3RGb3VuZDowOjE6cHJvcHM6Y2hpbGRyZW46cHJvcHM6Y2hpbGRyZW46Mjpwcm9wczpjaGlsZHJlbjpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpcIlRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmQuXCJ9XX1dXX1dfV1dLFtdXSxcImZvcmJpZGRlblwiOlwiJHVuZGVmaW5lZFwiLFwidW5hdXRob3JpemVkXCI6XCIkdW5kZWZpbmVkXCJ9XV1dfV1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCI3OltcIiRcIixcIiQxXCIsXCJjXCIse1wiY2hpbGRyZW5cIjpbbnVsbCxbXCIkXCIsXCIkTGNcIixudWxsLHtcInBhcmFsbGVsUm91dGVyS2V5XCI6XCJjaGlsZHJlblwiLFwiZXJyb3JcIjpcIiR1bmRlZmluZWRcIixcImVycm9yU3R5bGVzXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclNjcmlwdHNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlXCI6W1wiJFwiLFwiJExkXCIsbnVsbCx7fV0sXCJ0ZW1wbGF0ZVN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwidGVtcGxhdGVTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJub3RGb3VuZFwiOlwiJHVuZGVmaW5lZFwiLFwiZm9yYmlkZGVuXCI6XCIkdW5kZWZpbmVkXCIsXCJ1bmF1dGhvcml6ZWRcIjpcIiR1bmRlZmluZWRcIn1dXX1dXG44OltcIiRcIixcIiQxXCIsXCJjXCIse1wiY2hpbGRyZW5cIjpbW1wiJFwiLFwiJGVcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJExmXCIsbnVsbCx7fV19XSxbW1wiJFwiLFwic2NyaXB0XCIsXCJzY3JpcHQtMFwiLHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvODAwZTgzNjE0NmQ2ZTdlYi5qc1wiLFwiYXN5bmNcIjp0cnVlLFwibm9uY2VcIjpcIiR1bmRlZmluZWRcIn1dLFtcIiRcIixcInNjcmlwdFwiLFwic2NyaXB0LTFcIix7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvY2h1bmtzL2Q3MWI5OTI2N2IwNjZiOWIuanNcIixcImFzeW5jXCI6dHJ1ZSxcIm5vbmNlXCI6XCIkdW5kZWZpbmVkXCJ9XV0sW1wiJFwiLFwiJEwxMFwiLG51bGwse1wiY2hpbGRyZW5cIjpbXCIkXCIsXCIkZVwiLG51bGwse1wibmFtZVwiOlwiTmV4dC5NZXRhZGF0YU91dGxldFwiLFwiY2hpbGRyZW5cIjpcIiRAMTFcIn1dfV1dfV1cbjk6W1wiJFwiLFwiJDFcIixcImhcIix7XCJjaGlsZHJlblwiOltudWxsLFtcIiRcIixcIiRMMTJcIixudWxsLHtcImNoaWxkcmVuXCI6XCIkTDEzXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImhpZGRlblwiOnRydWUsXCJjaGlsZHJlblwiOltcIiRcIixcIiRMMTRcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJGVcIixudWxsLHtcIm5hbWVcIjpcIk5leHQuTWV0YWRhdGFcIixcImNoaWxkcmVuXCI6XCIkTDE1XCJ9XX1dfV0sW1wiJFwiLFwibWV0YVwiLG51bGwse1wibmFtZVwiOlwibmV4dC1zaXplLWFkanVzdFwiLFwiY29udGVudFwiOlwiXCJ9XV19XVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsIjEzOltbXCIkXCIsXCJtZXRhXCIsXCIwXCIse1wiY2hhclNldFwiOlwidXRmLThcIn1dLFtcIiRcIixcIm1ldGFcIixcIjFcIix7XCJuYW1lXCI6XCJ2aWV3cG9ydFwiLFwiY29udGVudFwiOlwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHZpZXdwb3J0LWZpdD1jb3ZlclwifV1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMTY6SVsyMDQxNCxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiSWNvbk1hcmtcIl1cbjExOm51bGxcbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCIxNTpbW1wiJFwiLFwidGl0bGVcIixcIjBcIix7XCJjaGlsZHJlblwiOlwiQ29pbmxpYiBXaWRnZXQgfCBDb2lubGliXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxXCIse1wibmFtZVwiOlwiZGVzY3JpcHRpb25cIixcImNvbnRlbnRcIjpcIlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIyXCIse1wibmFtZVwiOlwia2V5d29yZHNcIixcImNvbnRlbnRcIjpcImNyeXB0b2N1cnJlbmN5LGNyeXB0byBwcmljZXMsYml0Y29pbixtYXJrZXQgY2FwLGNyeXB0byBjaGFydHMscG9ydGZvbGlvIHRyYWNrZXJcIn1dLFtcIiRcIixcIm1ldGFcIixcIjNcIix7XCJuYW1lXCI6XCJyb2JvdHNcIixcImNvbnRlbnRcIjpcIm5vaW5kZXhcIn1dLFtcIiRcIixcIm1ldGFcIixcIjRcIix7XCJwcm9wZXJ0eVwiOlwib2c6dGl0bGVcIixcImNvbnRlbnRcIjpcIkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzIFx1MDAyNiBNYXJrZXQgRGF0YVwifV0sW1wiJFwiLFwibWV0YVwiLFwiNVwiLHtcInByb3BlcnR5XCI6XCJvZzpkZXNjcmlwdGlvblwiLFwiY29udGVudFwiOlwiVHJhY2sgcmVhbC10aW1lIGNyeXB0b2N1cnJlbmN5IHByaWNlcywgbWFya2V0IGNhcCwgY2hhcnRzLCBhbmQgcG9ydGZvbGlvLiBFeHBsb3JlIHRob3VzYW5kcyBvZiBjb2lucyBhbmQgZXhjaGFuZ2VzIHdpdGggQ29pbmxpYi5cIn1dLFtcIiRcIixcIm1ldGFcIixcIjZcIix7XCJwcm9wZXJ0eVwiOlwib2c6dXJsXCIsXCJjb250ZW50XCI6XCJodHRwczovL2NvaW5saWIuaW9cIn1dLFtcIiRcIixcIm1ldGFcIixcIjdcIix7XCJwcm9wZXJ0eVwiOlwib2c6c2l0ZV9uYW1lXCIsXCJjb250ZW50XCI6XCJDb2lubGliXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCI4XCIse1wicHJvcGVydHlcIjpcIm9nOmltYWdlXCIsXCJjb250ZW50XCI6XCJodHRwczovL2NvaW5saWIuaW8vb2cvZGVmYXVsdC5wbmdcIn1dLFtcIiRcIixcIm1ldGFcIixcIjlcIix7XCJwcm9wZXJ0eVwiOlwib2c6aW1hZ2U6d2lkdGhcIixcImNvbnRlbnRcIjpcIjEyMDBcIn1dLFtcIiRcIixcIm1ldGFcIixcIjEwXCIse1wicHJvcGVydHlcIjpcIm9nOmltYWdlOmhlaWdodFwiLFwiY29udGVudFwiOlwiNjMwXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxMVwiLHtcInByb3BlcnR5XCI6XCJvZzppbWFnZTphbHRcIixcImNvbnRlbnRcIjpcIkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzIFx1MDAyNiBNYXJrZXQgRGF0YVwifV0sW1wiJFwiLFwibWV0YVwiLFwiMTJcIix7XCJwcm9wZXJ0eVwiOlwib2c6dHlwZVwiLFwiY29udGVudFwiOlwid2Vic2l0ZVwifV0sW1wiJFwiLFwibWV0YVwiLFwiMTNcIix7XCJuYW1lXCI6XCJ0d2l0dGVyOmNhcmRcIixcImNvbnRlbnRcIjpcInN1bW1hcnlfbGFyZ2VfaW1hZ2VcIn1dLFtcIiRcIixcIm1ldGFcIixcIjE0XCIse1wibmFtZVwiOlwidHdpdHRlcjp0aXRsZVwiLFwiY29udGVudFwiOlwiQ29pbmxpYiDigJQgQ3J5cHRvY3VycmVuY3kgUHJpY2VzLCBDaGFydHMgXHUwMDI2IE1hcmtldCBEYXRhXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxNVwiLHtcIm5hbWVcIjpcInR3aXR0ZXI6ZGVzY3JpcHRpb25cIixcImNvbnRlbnRcIjpcIlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxNlwiLHtcIm5hbWVcIjpcInR3aXR0ZXI6aW1hZ2VcIixcImNvbnRlbnRcIjpcImh0dHBzOi8vY29pbmxpYi5pby9vZy9kZWZhdWx0LnBuZ1wifV0sW1wiJFwiLFwibGlua1wiLFwiMTdcIix7XCJyZWxcIjpcImljb25cIixcImhyZWZcIjpcIi9mYXZpY29uLmljbz9mYXZpY29uLjM5MGUxMTA5Lmljb1wiLFwic2l6ZXNcIjpcIjQ4eDQ4XCIsXCJ0eXBlXCI6XCJpbWFnZS94LWljb25cIn1dLFtcIiRcIixcImxpbmtcIixcIjE4XCIse1wicmVsXCI6XCJhcHBsZS10b3VjaC1pY29uXCIsXCJocmVmXCI6XCIvbG9nb3MvYXBwbGUtdG91Y2gtaWNvbi5wbmdcIn1dLFtcIiRcIixcIiRMMTZcIixcIjE5XCIse31dXVxuIl0pPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJtb2R1bGUiIHNyYz0iaHR0cHM6Ly9zdGF0aWMuY2xvdWRmbGFyZWluc2lnaHRzLmNvbS9iZWFjb24ubWluLmpzL3Y0NTEzMjI2Y2RhZTM0NzQ2YjRkZWRmMGI0ZGZhMDk5ZTE3ODE3OTE1MDk0OTYiIGludGVncml0eT0ic2hhNTEyLVpFOXBaYVVYTkQ2NnYzODBRVXRjaC81c0U5dFBGaDJ6ZzQ1cFIyUEIwQ1ZrQ3RPUkV2MkFKS2tTaWRJU1dreXNFdVEwRUg4ZmFVVTVkdTc4Yng4N1VRPT0iIGRhdGEtY2YtYmVhY29uPSd7InZlcnNpb24iOiIyMDI0LjExLjAiLCJ0b2tlbiI6IjdkZjcwOGZjZmFhMDRhNjRhYjNiNWU4NmUzMTBkZjVhIiwiciI6MX0nIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg=="}},"time_used":44,"timings":{"blocked":1,"dns":3,"connect":0,"send":0,"wait":39,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/81a298ddc7471070.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.471Z","timestamp":1785129949471,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/81a298ddc7471070.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccess-control-allow-origin: *\r\nage: 3817466\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"81a298ddc7471070.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"19fc6352b3bef54383c8770d74131cfa\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/81a298ddc7471070.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::wcw4z-1781312483461-776bf6c194f6\r\nx-xss-protection: 1; mode=block\r\npriority: u=4,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=aRvwIkfnd%2FX3dg0SdDZxXKVDGv7dHY9xrZkcNMqrQ9xbT6eRA%2BezilwWiQehiBYTVAZIS8h72MDSX%2Fu5ewLuleVU2Luyurn8DWpJpauwqeQsx3PPP7dB2VnuWF8a\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c83d21a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":8114,"size_decoded":4390,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (8114), with no line terminators","md5":"19fc6352b3bef54383c8770d74131cfa","sha1":"c67ec295996975fd662c06e0b614bd3b9f97d7bd","sha256":"9f43d8db2c14631ecaeb7f7ea5d8823bbfe41eeee26f6893c816d0aa348e9605","sha512":"64eba4d08add14b4c9728e2e5026234cf522dd62e2da45df50d967e4d337e6b38cbeaf471dbfba3420a5d3c992bb47c628f60618fca6d84114f7250b7407c5cd","ssdeep":"96:76gC8v2YWBRNY6v28COSXTnv2IDESf3vZ8kM2Lv2kyIWwzysv2hv2zthN1Vm5w7b:cjYWG8COJIDEiikyBwuzkx/T+AP","tlshash":"e4f1536636d4f9d1168b44d5c83b5006f22e0d3a216d70a8b7e5cefa369044ef472fea","first_seen":"2026-02-06T09:43:19.169507Z","last_seen":"2026-08-15T07:58:28.197267Z","times_seen":1921,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDk0OTQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sODk3OTEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIndvcmtBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLndvcmtBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoOTQ5NCl9LDcxMjM0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIYW5kbGVJU1JFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IG49InUiPHR5cGVvZiB3aW5kb3c/ZS5yKDg5NzkxKS53b3JrQXN5bmNTdG9yYWdlOnZvaWQgMDtmdW5jdGlvbiBvKHtlcnJvcjplfSl7aWYobil7bGV0IHQ9bi5nZXRTdG9yZSgpO2lmKHQ/LmlzU3RhdGljR2VuZXJhdGlvbil0aHJvdyBlJiZjb25zb2xlLmVycm9yKGUpLGV9cmV0dXJuIG51bGx9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzQwODQsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZVVudHJhY2tlZFBhdGhuYW1lIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1lLnIoNzUyMDEpLG89ZS5yKDMxODk5KTtmdW5jdGlvbiB1KCl7cmV0dXJuIWZ1bmN0aW9uKCl7aWYoInUiPHR5cGVvZiB3aW5kb3cpe2xldHt3b3JrVW5pdEFzeW5jU3RvcmFnZTp0fT1lLnIoMTI5NjUpLHI9dC5nZXRTdG9yZSgpO2lmKCFyKXJldHVybiExO3N3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO3JldHVybiEhbiYmbi5zaXplPjB9fXJldHVybiExfSgpPygwLG4udXNlQ29udGV4dCkoby5QYXRobmFtZUNvbnRleHQpOm51bGx9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODMzOTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2hhbmRsZUhhcmROYXZFcnJvcjpmdW5jdGlvbigpe3JldHVybiBsfSx1c2VOYXZGYWlsdXJlSGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2Uucig3NTIwMSk7bGV0IHU9ZS5yKDg1NTk0KTtmdW5jdGlvbiBsKGUpe3JldHVybiEhKGUmJiJ1Ij50eXBlb2Ygd2luZG93KSYmISF3aW5kb3cubmV4dC5fX3BlbmRpbmdVcmwmJigwLHUuY3JlYXRlSHJlZkZyb21VcmwpKG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpKSE9PSgwLHUuY3JlYXRlSHJlZkZyb21VcmwpKHdpbmRvdy5uZXh0Ll9fcGVuZGluZ1VybCkmJihjb25zb2xlLmVycm9yKCJFcnJvciBvY2N1cnJlZCBkdXJpbmcgbmF2aWdhdGlvbiwgZmFsbGluZyBiYWNrIHRvIGhhcmQgbmF2aWdhdGlvbiIsZSksd2luZG93LmxvY2F0aW9uLmhyZWY9d2luZG93Lm5leHQuX19wZW5kaW5nVXJsLnRvU3RyaW5nKCksITApfWZ1bmN0aW9uIGkoKXt9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzQ4NDcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0Vycm9yQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gX30sRXJyb3JCb3VuZGFyeUhhbmRsZXI6ZnVuY3Rpb24oKXtyZXR1cm4gcH19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoODEyNTgpLGw9ZS5yKDk4MTM0KSxpPXUuXyhlLnIoNzUyMDEpKSxhPWUucig3NDA4NCkscz1lLnIoNDk4NDMpO2Uucig4MzM5OCk7bGV0IGQ9ZS5yKDcxMjM0KSxjPWUucigzNDY1KSxmPSJ1Ij50eXBlb2Ygd2luZG93JiYoMCxjLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCk7Y2xhc3MgcCBleHRlbmRzIGkuZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5yZXNldD0oKT0+e3RoaXMuc2V0U3RhdGUoe2Vycm9yOm51bGx9KX0sdGhpcy5zdGF0ZT17ZXJyb3I6bnVsbCxwcmV2aW91c1BhdGhuYW1lOnRoaXMucHJvcHMucGF0aG5hbWV9fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc05leHRSb3V0ZXJFcnJvcikoZSkpdGhyb3cgZTtyZXR1cm57ZXJyb3I6ZX19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhlLHQpe2xldHtlcnJvcjpyfT10O3JldHVybiBlLnBhdGhuYW1lIT09dC5wcmV2aW91c1BhdGhuYW1lJiZ0LmVycm9yP3tlcnJvcjpudWxsLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e2Vycm9yOnQuZXJyb3IscHJldmlvdXNQYXRobmFtZTplLnBhdGhuYW1lfX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5zdGF0ZS5lcnJvciYmIWY/KDAsbC5qc3hzKShsLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsbC5qc3gpKGQuSGFuZGxlSVNSRXJyb3Ise2Vycm9yOnRoaXMuc3RhdGUuZXJyb3J9KSx0aGlzLnByb3BzLmVycm9yU3R5bGVzLHRoaXMucHJvcHMuZXJyb3JTY3JpcHRzLCgwLGwuanN4KSh0aGlzLnByb3BzLmVycm9yQ29tcG9uZW50LHtlcnJvcjp0aGlzLnN0YXRlLmVycm9yLHJlc2V0OnRoaXMucmVzZXR9KV19KTp0aGlzLnByb3BzLmNoaWxkcmVufX1mdW5jdGlvbiBfKHtlcnJvckNvbXBvbmVudDplLGVycm9yU3R5bGVzOnQsZXJyb3JTY3JpcHRzOnIsY2hpbGRyZW46bn0pe2xldCBvPSgwLGEudXNlVW50cmFja2VkUGF0aG5hbWUpKCk7cmV0dXJuIGU/KDAsbC5qc3gpKHAse3BhdGhuYW1lOm8sZXJyb3JDb21wb25lbnQ6ZSxlcnJvclN0eWxlczp0LGVycm9yU2NyaXB0czpyLGNoaWxkcmVuOm59KTooMCxsLmpzeCkobC5GcmFnbWVudCx7Y2hpbGRyZW46bn0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDU3MjQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWRpcmVjdEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LFJlZGlyZWN0RXJyb3JCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBvIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6bltvXX0pO2xldCB1PWUucig0NDA2NiksbD1lLnIoOTgxMzQpLGk9dS5fKGUucig3NTIwMSkpLGE9ZS5yKDI4OTk1KSxzPWUucig0MTcyMSksZD1lLnIoOTA4NjIpO2Z1bmN0aW9uIGMoe3JlZGlyZWN0OmUscmVzZXQ6dCxyZWRpcmVjdFR5cGU6cn0pe2xldCBuPSgwLGEudXNlUm91dGVyKSgpO3JldHVybigwLGkudXNlRWZmZWN0KSgoKT0+e2kuZGVmYXVsdC5zdGFydFRyYW5zaXRpb24oKCk9PntyPT09ZC5SZWRpcmVjdFR5cGUucHVzaD9uLnB1c2goZSx7fSk6bi5yZXBsYWNlKGUse30pLHQoKX0pfSxbZSxyLHQsbl0pLG51bGx9Y2xhc3MgZiBleHRlbmRzIGkuZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17cmVkaXJlY3Q6bnVsbCxyZWRpcmVjdFR5cGU6bnVsbH19c3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlKXtpZigoMCxkLmlzUmVkaXJlY3RFcnJvcikoZSkpe2xldCB0PSgwLHMuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKGUpLHI9KDAscy5nZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IpKGUpO3JldHVybiJoYW5kbGVkImluIGU/e3JlZGlyZWN0Om51bGwscmVkaXJlY3RUeXBlOm51bGx9OntyZWRpcmVjdDp0LHJlZGlyZWN0VHlwZTpyfX10aHJvdyBlfXJlbmRlcigpe2xldHtyZWRpcmVjdDplLHJlZGlyZWN0VHlwZTp0fT10aGlzLnN0YXRlO3JldHVybiBudWxsIT09ZSYmbnVsbCE9PXQ/KDAsbC5qc3gpKGMse3JlZGlyZWN0OmUscmVkaXJlY3RUeXBlOnQscmVzZXQ6KCk9PnRoaXMuc2V0U3RhdGUoe3JlZGlyZWN0Om51bGx9KX0pOnRoaXMucHJvcHMuY2hpbGRyZW59fWZ1bmN0aW9uIHAoe2NoaWxkcmVuOmV9KXtsZXQgdD0oMCxhLnVzZVJvdXRlcikoKTtyZXR1cm4oMCxsLmpzeCkoZix7cm91dGVyOnQsY2hpbGRyZW46ZX0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDUwMDk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnJlc29sdmVkVGhlbmFibGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPXt0aGVuOigpPT57fX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzYzNDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e01ldGFkYXRhQm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sT3V0bGV0Qm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gc30sUm9vdExheW91dEJvdW5kYXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFZpZXdwb3J0Qm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gYX19O2Zvcih2YXIgbyBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0Om5bb119KTtsZXQgdT1lLnIoNTM0NTkpLGw9e1t1Lk1FVEFEQVRBX0JPVU5EQVJZX05BTUVdOmZ1bmN0aW9uKHtjaGlsZHJlbjplfSl7cmV0dXJuIGV9LFt1LlZJRVdQT1JUX0JPVU5EQVJZX05BTUVdOmZ1bmN0aW9uKHtjaGlsZHJlbjplfSl7cmV0dXJuIGV9LFt1Lk9VVExFVF9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfSxbdS5ST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FXTpmdW5jdGlvbih7Y2hpbGRyZW46ZX0pe3JldHVybiBlfX0saT1sW3UuTUVUQURBVEFfQk9VTkRBUllfTkFNRS5zbGljZSgwKV0sYT1sW3UuVklFV1BPUlRfQk9VTkRBUllfTkFNRS5zbGljZSgwKV0scz1sW3UuT1VUTEVUX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldLGQ9bFt1LlJPT1RfTEFZT1VUX0JPVU5EQVJZX05BTUUuc2xpY2UoMCldfSw0NDkzNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiSGVhZE1hbmFnZXJDb250ZXh0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoODEyNTgpLl8oZS5yKDc1MjAxKSkuZGVmYXVsdC5jcmVhdGVDb250ZXh0KHt9KX0sMTYxNTMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPWUucig5ODEzNCksbz1lLnIoNzEyMzQpLHU9e2ZvbnRGYW1pbHk6J3N5c3RlbS11aSwiU2Vnb2UgVUkiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZiwiQXBwbGUgQ29sb3IgRW1vamkiLCJTZWdvZSBVSSBFbW9qaSInLGhlaWdodDoiMTAwdmgiLHRleHRBbGlnbjoiY2VudGVyIixkaXNwbGF5OiJmbGV4IixmbGV4RGlyZWN0aW9uOiJjb2x1bW4iLGFsaWduSXRlbXM6ImNlbnRlciIsanVzdGlmeUNvbnRlbnQ6ImNlbnRlciJ9LGw9e2ZvbnRTaXplOiIxNHB4Iixmb250V2VpZ2h0OjQwMCxsaW5lSGVpZ2h0OiIyOHB4IixtYXJnaW46IjAgOHB4In0saT1mdW5jdGlvbih7ZXJyb3I6ZX0pe2xldCB0PWU/LmRpZ2VzdDtyZXR1cm4oMCxuLmpzeHMpKCJodG1sIix7aWQ6Il9fbmV4dF9lcnJvcl9fIixjaGlsZHJlbjpbKDAsbi5qc3gpKCJoZWFkIix7fSksKDAsbi5qc3hzKSgiYm9keSIse2NoaWxkcmVuOlsoMCxuLmpzeCkoby5IYW5kbGVJU1JFcnJvcix7ZXJyb3I6ZX0pLCgwLG4uanN4KSgiZGl2Iix7c3R5bGU6dSxjaGlsZHJlbjooMCxuLmpzeHMpKCJkaXYiLHtjaGlsZHJlbjpbKDAsbi5qc3hzKSgiaDIiLHtzdHlsZTpsLGNoaWxkcmVuOlsiQXBwbGljYXRpb24gZXJyb3I6IGEgIix0PyJzZXJ2ZXIiOiJjbGllbnQiLCItc2lkZSBleGNlcHRpb24gaGFzIG9jY3VycmVkIHdoaWxlIGxvYWRpbmcgIix3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIiAoc2VlIHRoZSIsIiAiLHQ/InNlcnZlciBsb2dzIjoiYnJvd3NlciBjb25zb2xlIiwiIGZvciBtb3JlIGluZm9ybWF0aW9uKS4iXX0pLHQ/KDAsbi5qc3gpKCJwIix7c3R5bGU6bCxjaGlsZHJlbjpgRGlnZXN0OiAke3R9YH0pOm51bGxdfSl9KV19KV19KX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX1dKTs="}},"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":"coinlib.io/_next/static/chunks/480cde08b8bfd5ce.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.533Z","timestamp":1785129949533,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/480cde08b8bfd5ce.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 7096322\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"480cde08b8bfd5ce.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"2197ad79def7e68e0db5210279b81a88\"\r\nlast-modified: Tue, 28 Apr 2026 14:50:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/480cde08b8bfd5ce.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::m49ll-1777388594165-c9ac0a174814\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=X0yOyPLK1tekd1Qg%2F6%2BNoi8KpBMYbEmEj59Ow7uNiXfDC7i35Fw8Sk0K1mwYUUzUjB7tBV4I74P6LHbobgLlFyHwt1VXUTTRTbnZQHApWTIwscbOPYMRS43KKLI9\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c89d2fa0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":84456,"size_decoded":25524,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"2197ad79def7e68e0db5210279b81a88","sha1":"4a9572c96dc4b65a933f8494889a2d78f6bc8b3b","sha256":"0c61a398dcdf9a5d5a6a744855e7d95635c22711ee32b5af4a658fc6035de812","sha512":"1ed4b2613596da63a7fbbb97a8839e5ae8cf7a62d48b3f2818a3d7b510dde3fef57905aa4ce17843dcee71e3b9205f42c8e3b412427bddd975643af58c1b5979","ssdeep":"768:9Nf3ebiEpt8v84l+ayd9ar543m7dGwVBmOJ8SLBlbGJz5RBC8zogjPwNp9WxBbV3:yGY8AJ8pIOCSOvB9GW7H5sZzIxB","tlshash":"8883f8f931d1f88207ab44aac43f0002f32c5d77189e7864a3e5ddea716455da1f2faa","first_seen":"2026-04-28T18:06:46.282063Z","last_seen":"2026-08-15T07:58:28.225609Z","times_seen":2193,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDg1NTk0LChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9ITApe3JldHVybiBlLnBhdGhuYW1lK2Uuc2VhcmNoKyh0P2UuaGFzaDoiIil9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVIcmVmRnJvbVVybCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNTQzMjAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkhUTUxfTElNSVRFRF9CT1RfVUFfUkUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pO2xldCBuPS9bXHctXSstR29vZ2xlfEdvb2dsZS1bXHctXSt8Q2hyb21lLUxpZ2h0aG91c2V8U2x1cnB8RHVja0R1Y2tCb3R8YmFpZHVzcGlkZXJ8eWFuZGV4fHNvZ291fGJpdGx5Ym90fHR1bWJscnx2a1NoYXJlfHF1b3JhIGxpbmsgcHJldmlld3xyZWRkaXRib3R8aWFfYXJjaGl2ZXJ8QmluZ2JvdHxCaW5nUHJldmlld3xhcHBsZWJvdHxmYWNlYm9va2V4dGVybmFsaGl0fGZhY2Vib29rY2F0YWxvZ3xUd2l0dGVyYm90fExpbmtlZEluQm90fFNsYWNrYm90fERpc2NvcmRib3R8V2hhdHNBcHB8U2t5cGVVcmlQcmV2aWV3fFlldGl8Z29vZ2xld2VibGlnaHQvaX0sMzQ2NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17SFRNTF9MSU1JVEVEX0JPVF9VQV9SRTpmdW5jdGlvbigpe3JldHVybiBsLkhUTUxfTElNSVRFRF9CT1RfVUFfUkV9LEhUTUxfTElNSVRFRF9CT1RfVUFfUkVfU1RSSU5HOmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldEJvdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gc30saXNCb3Q6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTQzMjApLHU9L0dvb2dsZWJvdCg/IS0pfEdvb2dsZWJvdCQvaSxvPWwuSFRNTF9MSU1JVEVEX0JPVF9VQV9SRS5zb3VyY2U7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbC5IVE1MX0xJTUlURURfQk9UX1VBX1JFLnRlc3QoZSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gdS50ZXN0KGUpfHxpKGUpfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIHUudGVzdChlKT8iZG9tIjppKGUpPyJodG1sIjp2b2lkIDB9fSw4NTYxOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUuc3RhcnRzV2l0aCgiLyIpP2U6YC8ke2V9YH1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImVuc3VyZUxlYWRpbmdTbGFzaCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSl9LDkyMjI3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtub3JtYWxpemVBcHBQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIG99LG5vcm1hbGl6ZVJzY1VSTDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig4NTYxOSksdT1lLnIoMjc0NTQpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsbC5lbnN1cmVMZWFkaW5nU2xhc2gpKGUuc3BsaXQoIi8iKS5yZWR1Y2UoKGUsdCxyLG4pPT4hdHx8KDAsdS5pc0dyb3VwU2VnbWVudCkodCl8fCJAIj09PXRbMF18fCgicGFnZSI9PT10fHwicm91dGUiPT09dCkmJnI9PT1uLmxlbmd0aC0xP2U6YCR7ZX0vJHt0fWAsIiIpKX1mdW5jdGlvbiBpKGUpe3JldHVybiBlLnJlcGxhY2UoL1wucnNjKCR8XD8pLywiJDEiKX19LDU0NjgyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUzpmdW5jdGlvbigpe3JldHVybiB1fSxleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjpmdW5jdGlvbigpe3JldHVybiBpfSxpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDpmdW5jdGlvbigpe3JldHVybiBvfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig5MjIyNyksdT1bIiguLikoLi4pIiwiKC4pIiwiKC4uKSIsIiguLi4pIl07ZnVuY3Rpb24gbyhlKXtyZXR1cm4gdm9pZCAwIT09ZS5zcGxpdCgiLyIpLmZpbmQoZT0+dS5maW5kKHQ9PmUuc3RhcnRzV2l0aCh0KSkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQscixuO2ZvcihsZXQgYSBvZiBlLnNwbGl0KCIvIikpaWYocj11LmZpbmQoZT0+YS5zdGFydHNXaXRoKGUpKSl7W3Qsbl09ZS5zcGxpdChyLDIpO2JyZWFrfWlmKCF0fHwhcnx8IW4pdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtlfS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjY5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3N3aXRjaCh0PSgwLGwubm9ybWFsaXplQXBwUGF0aCkodCkscil7Y2FzZSIoLikiOm49Ii8iPT09dD9gLyR7bn1gOnQrIi8iK247YnJlYWs7Y2FzZSIoLi4pIjppZigiLyI9PT10KXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwsIHVzZSAoLikgaW5zdGVhZC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIwNyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPXQuc3BsaXQoIi8iKS5zbGljZSgwLC0xKS5jb25jYXQobikuam9pbigiLyIpO2JyZWFrO2Nhc2UiKC4uLikiOm49Ii8iK247YnJlYWs7Y2FzZSIoLi4pKC4uKSI6bGV0IGE9dC5zcGxpdCgiLyIpO2lmKGEubGVuZ3RoPD0yKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7ZX0uIENhbm5vdCB1c2UgKC4uKSguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsIG9yIG9uZSBsZXZlbCB1cC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQ4NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtuPWEuc2xpY2UoMCwtMikuY29uY2F0KG4pLmpvaW4oIi8iKTticmVhaztkZWZhdWx0OnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlciIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTEyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfXJldHVybntpbnRlcmNlcHRpbmdSb3V0ZTp0LGludGVyY2VwdGVkUm91dGU6bn19fSw4OTYxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibWF0Y2hTZWdtZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oZSx0KT0+InN0cmluZyI9PXR5cGVvZiBlPyJzdHJpbmciPT10eXBlb2YgdCYmZT09PXQ6InN0cmluZyIhPXR5cGVvZiB0JiZlWzBdPT09dFswXSYmZVsxXT09PXRbMV07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTgxNjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NvbXB1dGVDaGFuZ2VkUGF0aDpmdW5jdGlvbigpe3JldHVybiBmfSxleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBzfSxnZXRTZWxlY3RlZFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQscj17fSl7Zm9yKGxldCBuIG9mIE9iamVjdC52YWx1ZXModFsxXSkpe2xldCB0PW5bMF0sYT1BcnJheS5pc0FycmF5KHQpLGw9YT90WzFdOnQ7IWx8fGwuc3RhcnRzV2l0aCh1LlBBR0VfU0VHTUVOVF9LRVkpfHwoYSYmKCJjIj09PXRbMl18fCJvYyI9PT10WzJdKT9yW3RbMF1dPXRbMV0uc3BsaXQoIi8iKTphJiYoclt0WzBdXT10WzFdKSxyPWUobixyKSl9cmV0dXJuIHJ9fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig1NDY4MiksdT1lLnIoMjc0NTQpLG89ZS5yKDg5NjE2KSxpPWU9PiJzdHJpbmciPT10eXBlb2YgZT8iY2hpbGRyZW4iPT09ZT8iIjplOmVbMV07ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZS5yZWR1Y2UoKGUsdCk9PntsZXQgcjtyZXR1cm4iIj09PSh0PSIvIj09PShyPXQpWzBdP3Iuc2xpY2UoMSk6cil8fCgwLHUuaXNHcm91cFNlZ21lbnQpKHQpP2U6YCR7ZX0vJHt0fWB9LCIiKXx8Ii8ifWZ1bmN0aW9uIHMoZSl7bGV0IHQ9QXJyYXkuaXNBcnJheShlWzBdKT9lWzBdWzFdOmVbMF07aWYodD09PXUuREVGQVVMVF9TRUdNRU5UX0tFWXx8bC5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5zb21lKGU9PnQuc3RhcnRzV2l0aChlKSkpcmV0dXJuO2lmKHQuc3RhcnRzV2l0aCh1LlBBR0VfU0VHTUVOVF9LRVkpKXJldHVybiIiO2xldCByPVtpKHQpXSxuPWVbMV0/P3t9LGE9bi5jaGlsZHJlbj9zKG4uY2hpbGRyZW4pOnZvaWQgMDtpZih2b2lkIDAhPT1hKXIucHVzaChhKTtlbHNlIGZvcihsZXRbZSx0XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtpZigiY2hpbGRyZW4iPT09ZSljb250aW51ZTtsZXQgbj1zKHQpO3ZvaWQgMCE9PW4mJnIucHVzaChuKX1yZXR1cm4gYyhyKX1mdW5jdGlvbiBmKGUsdCl7bGV0IHI9ZnVuY3Rpb24gZSh0LHIpe2xldFtuLGFdPXQsW3UsY109cixmPWkobiksZD1pKHUpO2lmKGwuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZShlPT5mLnN0YXJ0c1dpdGgoZSl8fGQuc3RhcnRzV2l0aChlKSkpcmV0dXJuIiI7aWYoISgwLG8ubWF0Y2hTZWdtZW50KShuLHUpKXJldHVybiBzKHIpPz8iIjtmb3IobGV0IHQgaW4gYSlpZihjW3RdKXtsZXQgcj1lKGFbdF0sY1t0XSk7aWYobnVsbCE9PXIpcmV0dXJuYCR7aSh1KX0vJHtyfWB9cmV0dXJuIG51bGx9KGUsdCk7cmV0dXJuIG51bGw9PXJ8fCIvIj09PXI/cjpjKHIuc3BsaXQoIi8iKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjMyNzgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImhhbmRsZU11dGFibGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucigxODE2Nyk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gdm9pZCAwIT09ZX1mdW5jdGlvbiBsKGUsdCl7bGV0IHI9dC5zaG91bGRTY3JvbGw/PyEwLGw9ZS5wcmV2aW91c05leHRVcmwsdT1lLm5leHRVcmw7aWYoYSh0LnBhdGNoZWRUcmVlKSl7bGV0IHI9KDAsbi5jb21wdXRlQ2hhbmdlZFBhdGgpKGUudHJlZSx0LnBhdGNoZWRUcmVlKTtyPyhsPXUsdT1yKTp1fHwodT1lLmNhbm9uaWNhbFVybCl9cmV0dXJue2Nhbm9uaWNhbFVybDp0LmNhbm9uaWNhbFVybD8/ZS5jYW5vbmljYWxVcmwscmVuZGVyZWRTZWFyY2g6dC5yZW5kZXJlZFNlYXJjaD8/ZS5yZW5kZXJlZFNlYXJjaCxwdXNoUmVmOntwZW5kaW5nUHVzaDphKHQucGVuZGluZ1B1c2gpP3QucGVuZGluZ1B1c2g6ZS5wdXNoUmVmLnBlbmRpbmdQdXNoLG1wYU5hdmlnYXRpb246YSh0Lm1wYU5hdmlnYXRpb24pP3QubXBhTmF2aWdhdGlvbjplLnB1c2hSZWYubXBhTmF2aWdhdGlvbixwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTphKHQucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUpP3QucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU6ZS5wdXNoUmVmLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlfSxmb2N1c0FuZFNjcm9sbFJlZjp7YXBwbHk6ISFyJiYoISFhKHQ/LnNjcm9sbGFibGVTZWdtZW50cyl8fGUuZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkpLG9ubHlIYXNoQ2hhbmdlOnQub25seUhhc2hDaGFuZ2V8fCExLGhhc2hGcmFnbWVudDpyP3QuaGFzaEZyYWdtZW50JiYiIiE9PXQuaGFzaEZyYWdtZW50P2RlY29kZVVSSUNvbXBvbmVudCh0Lmhhc2hGcmFnbWVudC5zbGljZSgxKSk6ZS5mb2N1c0FuZFNjcm9sbFJlZi5oYXNoRnJhZ21lbnQ6bnVsbCxzZWdtZW50UGF0aHM6cj90Py5zY3JvbGxhYmxlU2VnbWVudHM/P2UuZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzOltdfSxjYWNoZTp0LmNhY2hlP3QuY2FjaGU6ZS5jYWNoZSx0cmVlOmEodC5wYXRjaGVkVHJlZSk/dC5wYXRjaGVkVHJlZTplLnRyZWUsbmV4dFVybDp1LHByZXZpb3VzTmV4dFVybDpsLGRlYnVnSW5mbzp0LmNvbGxlY3RlZERlYnVnSW5mbz8/bnVsbH19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNDYyMTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hFQURfUkVRVUVTVF9LRVk6ZnVuY3Rpb24oKXtyZXR1cm4gb30sUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGFwcGVuZFNlZ21lbnRSZXF1ZXN0S2V5UGFydDpmdW5jdGlvbigpe3JldHVybiBjfSxjb252ZXJ0U2VnbWVudFBhdGhUb1N0YXRpY0V4cG9ydEZpbGVuYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LGNyZWF0ZVNlZ21lbnRSZXF1ZXN0S2V5UGFydDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNzQ1NCksdT0iIixvPSIvX2hlYWQiO2Z1bmN0aW9uIGkoZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlLnN0YXJ0c1dpdGgobC5QQUdFX1NFR01FTlRfS0VZKT9sLlBBR0VfU0VHTUVOVF9LRVk6Ii9fbm90LWZvdW5kIj09PWU/Il9ub3QtZm91bmQiOmYoZSk7bGV0IHQ9ZVswXTtyZXR1cm4iJCIrZVsyXSsiJCIrZih0KX1mdW5jdGlvbiBjKGUsdCxyKXtyZXR1cm4gZSsiLyIrKCJjaGlsZHJlbiI9PT10P3I6YEAke2YodCl9LyR7cn1gKX1sZXQgcz0vXlthLXpBLVowLTlcLV9AXSskLztmdW5jdGlvbiBmKGUpe3JldHVybiBzLnRlc3QoZSk/ZToiISIrYnRvYShlKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpfWZ1bmN0aW9uIGQoZSl7cmV0dXJuYF9fbmV4dCR7ZS5yZXBsYWNlKC9cLy9nLCIuIil9LnR4dGB9fSw4ODA2MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZG9lc1N0YXRpY1NlZ21lbnRBcHBlYXJJblVSTDpmdW5jdGlvbigpe3JldHVybiBmfSxnZXRDYWNoZUtleUZvckR5bmFtaWNQYXJhbTpmdW5jdGlvbigpe3JldHVybiBkfSxnZXRQYXJhbVZhbHVlRnJvbUNhY2hlS2V5OmZ1bmN0aW9uKCl7cmV0dXJuIHB9LGdldFJlbmRlcmVkUGF0aG5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sZ2V0UmVuZGVyZWRTZWFyY2g6ZnVuY3Rpb24oKXtyZXR1cm4gaX0scGFyc2VEeW5hbWljUGFyYW1Gcm9tVVJMUGFydDpmdW5jdGlvbigpe3JldHVybiBzfSx1cmxTZWFyY2hQYXJhbXNUb1BhcnNlZFVybFF1ZXJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcjpmdW5jdGlvbigpe3JldHVybiBofX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNzQ1NCksdT1lLnIoNDYyMTkpLG89ZS5yKDM0NjQxKTtmdW5jdGlvbiBpKGUpe2xldCB0PWUuaGVhZGVycy5nZXQoby5ORVhUX1JFV1JJVFRFTl9RVUVSWV9IRUFERVIpO3JldHVybiBudWxsIT09dD8iIj09PXQ/IiI6Ij8iK3Q6aChuZXcgVVJMKGUudXJsKSkuc2VhcmNofWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUuaGVhZGVycy5nZXQoby5ORVhUX1JFV1JJVFRFTl9QQVRIX0hFQURFUik/P2gobmV3IFVSTChlLnVybCkpLnBhdGhuYW1lfWZ1bmN0aW9uIHMoZSx0LHIpe3N3aXRjaChlKXtjYXNlImMiOnJldHVybiByPHQubGVuZ3RoP3Quc2xpY2UocikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSk6W107Y2FzZSJjaSguLikoLi4pIjpjYXNlImNpKC4pIjpjYXNlImNpKC4uKSI6Y2FzZSJjaSguLi4pIjp7bGV0IG49ZS5sZW5ndGgtMjtyZXR1cm4gcjx0Lmxlbmd0aD90LnNsaWNlKHIpLm1hcCgoZSx0KT0+MD09PXQ/ZW5jb2RlVVJJQ29tcG9uZW50KGUuc2xpY2UobikpOmVuY29kZVVSSUNvbXBvbmVudChlKSk6W119Y2FzZSJvYyI6cmV0dXJuIHI8dC5sZW5ndGg/dC5zbGljZShyKS5tYXAoZT0+ZW5jb2RlVVJJQ29tcG9uZW50KGUpKTpudWxsO2Nhc2UiZCI6aWYocj49dC5sZW5ndGgpcmV0dXJuIiI7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0W3JdKTtjYXNlImRpKC4uKSguLikiOmNhc2UiZGkoLikiOmNhc2UiZGkoLi4pIjpjYXNlImRpKC4uLikiOntsZXQgbj1lLmxlbmd0aC0yO2lmKHI+PXQubGVuZ3RoKXJldHVybiIiO3JldHVybiBlbmNvZGVVUklDb21wb25lbnQodFtyXS5zbGljZShuKSl9ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gZihlKXtyZXR1cm4hKGU9PT11LlJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWXx8ZS5zdGFydHNXaXRoKGwuUEFHRV9TRUdNRU5UX0tFWSl8fCIoIj09PWVbMF0mJmUuZW5kc1dpdGgoIikiKSkmJmUhPT1sLkRFRkFVTFRfU0VHTUVOVF9LRVkmJiIvX25vdC1mb3VuZCIhPT1lfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/KDAsbC5hZGRTZWFyY2hQYXJhbXNJZlBhZ2VTZWdtZW50KShlLE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKHQpKSk6bnVsbD09PWU/IiI6ZS5qb2luKCIvIil9ZnVuY3Rpb24gaChlKXtsZXQgdD1uZXcgVVJMKGUpO3JldHVybiB0LnNlYXJjaFBhcmFtcy5kZWxldGUoby5ORVhUX1JTQ19VTklPTl9RVUVSWSksdH1mdW5jdGlvbiBwKGUsdCl7cmV0dXJuImMiPT09dHx8Im9jIj09PXQ/ZS5zcGxpdCgiLyIpOmV9ZnVuY3Rpb24geShlKXtsZXQgdD17fTtmb3IobGV0W3Isbl1vZiBlLmVudHJpZXMoKSl2b2lkIDA9PT10W3JdP3Rbcl09bjpBcnJheS5pc0FycmF5KHRbcl0pP3Rbcl0ucHVzaChuKTp0W3JdPVt0W3JdLG5dO3JldHVybiB0fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY3NjI4LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVJbml0aWFsUlNDUGF5bG9hZEZyb21GYWxsYmFja1ByZXJlbmRlcjpmdW5jdGlvbigpe3JldHVybiBjfSxnZXRGbGlnaHREYXRhUGFydHNGcm9tUGF0aDpmdW5jdGlvbigpe3JldHVybiBpfSxnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gc30sbm9ybWFsaXplRmxpZ2h0RGF0YTpmdW5jdGlvbigpe3JldHVybiBmfSxwcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDI3NDU0KSx1PWUucig4ODA2Miksbz1lLnIoODU1OTQpO2Z1bmN0aW9uIGkoZSl7bGV0W3QscixuLGFdPWUuc2xpY2UoLTQpLGw9ZS5zbGljZSgwLC00KTtyZXR1cm57cGF0aFRvU2VnbWVudDpsLnNsaWNlKDAsLTEpLHNlZ21lbnRQYXRoOmwsc2VnbWVudDpsW2wubGVuZ3RoLTFdPz8iIix0cmVlOnQsc2VlZERhdGE6cixoZWFkOm4saXNIZWFkUGFydGlhbDphLGlzUm9vdFJlbmRlcjo0PT09ZS5sZW5ndGh9fWZ1bmN0aW9uIGMoZSx0KXtsZXQgcj0oMCx1LmdldFJlbmRlcmVkUGF0aG5hbWUpKGUpLG49KDAsdS5nZXRSZW5kZXJlZFNlYXJjaCkoZSksYT0oMCxvLmNyZWF0ZUhyZWZGcm9tVXJsKShuZXcgVVJMKGxvY2F0aW9uLmhyZWYpKSxsPXQuZlswXSxpPWxbMF07cmV0dXJue2I6dC5iLGM6YS5zcGxpdCgiLyIpLHE6bixpOnQuaSxmOltbZnVuY3Rpb24gZSh0LHIsbixhKXtsZXQgbCxvLGk9dFswXTtpZigic3RyaW5nIj09dHlwZW9mIGkpbD1pLG89KDAsdS5kb2VzU3RhdGljU2VnbWVudEFwcGVhckluVVJMKShpKTtlbHNle2xldCBlPWlbMF0sdD1pWzJdLGM9KDAsdS5wYXJzZUR5bmFtaWNQYXJhbUZyb21VUkxQYXJ0KSh0LG4sYSk7bD1bZSwoMCx1LmdldENhY2hlS2V5Rm9yRHluYW1pY1BhcmFtKShjLHIpLHRdLG89ITB9bGV0IGM9bz9hKzE6YSxzPXRbMV0sZj17fTtmb3IobGV0IHQgaW4gcyl7bGV0IGE9c1t0XTtmW3RdPWUoYSxyLG4sYyl9cmV0dXJuW2wsZixudWxsLHRbM10sdFs0XV19KGksbixyLnNwbGl0KCIvIikuZmlsdGVyKGU9PiIiIT09ZSksMCksbFsxXSxsWzJdLGxbMl1dXSxtOnQubSxHOnQuRyxTOnQuU319ZnVuY3Rpb24gcyhlKXtyZXR1cm4gZS5zbGljZSgyKX1mdW5jdGlvbiBmKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9lOmUubWFwKGU9PmkoZSkpfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4gdD9lbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZSkpOmVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShmdW5jdGlvbiBlKHQpe3ZhciByLG47bGV0W2EsdSxvLGksYyxzXT10LGY9InN0cmluZyI9PXR5cGVvZihyPWEpJiZyLnN0YXJ0c1dpdGgobC5QQUdFX1NFR01FTlRfS0VZKyI/Iik/bC5QQUdFX1NFR01FTlRfS0VZOnIsZD17fTtmb3IobGV0W3Qscl1vZiBPYmplY3QuZW50cmllcyh1KSlkW3RdPWUocik7bGV0IGg9W2YsZCxudWxsLChuPWkpJiYicmVmcmVzaCIhPT1uP2k6bnVsbF07cmV0dXJuIHZvaWQgMCE9PWMmJihoWzRdPWMpLHZvaWQgMCE9PXMmJihoWzVdPXMpLGh9KGUpKSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNjE3MDYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldEFwcEJ1aWxkSWQ6ZnVuY3Rpb24oKXtyZXR1cm4gb30sc2V0QXBwQnVpbGRJZDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPSIiO2Z1bmN0aW9uIHUoZSl7bD1lfWZ1bmN0aW9uIG8oKXtyZXR1cm4gbH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyNzQxOCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZGpiMkhhc2g6ZnVuY3Rpb24oKXtyZXR1cm4gbH0saGV4SGFzaDpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9NTM4MTtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl0PSh0PDw1KSt0K2UuY2hhckNvZGVBdChyKXwwO3JldHVybiB0Pj4+MH1mdW5jdGlvbiB1KGUpe3JldHVybiBsKGUpLnRvU3RyaW5nKDM2KS5zbGljZSgwLDUpfX0sNjg4NDcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNvbXB1dGVDYWNoZUJ1c3RpbmdTZWFyY2hQYXJhbSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDI3NDE4KTtmdW5jdGlvbiBhKGUsdCxyLGEpe3JldHVybih2b2lkIDA9PT1lfHwiMCI9PT1lKSYmdm9pZCAwPT09dCYmdm9pZCAwPT09ciYmdm9pZCAwPT09YT8iIjooMCxuLmhleEhhc2gpKFtlfHwiMCIsdHx8IjAiLHJ8fCIwIixhfHwiMCJdLmpvaW4oIiwiKSl9fSw0MTMwMiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17c2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW06ZnVuY3Rpb24oKXtyZXR1cm4gb30sc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW1XaXRoSGFzaDpmdW5jdGlvbigpe3JldHVybiBpfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig2ODg0NyksdT1lLnIoMzQ2NDEpLG89KGUsdCk9PntpKGUsKDAsbC5jb21wdXRlQ2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0pKHRbdS5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdLHRbdS5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl0sdFt1Lk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSXSx0W3UuTkVYVF9VUkxdKSl9LGk9KGUsdCk9PntsZXQgcj1lLnNlYXJjaCxuPShyLnN0YXJ0c1dpdGgoIj8iKT9yLnNsaWNlKDEpOnIpLnNwbGl0KCImIikuZmlsdGVyKGU9PmUmJiFlLnN0YXJ0c1dpdGgoYCR7dS5ORVhUX1JTQ19VTklPTl9RVUVSWX09YCkpO3QubGVuZ3RoPjA/bi5wdXNoKGAke3UuTkVYVF9SU0NfVU5JT05fUVVFUll9PSR7dH1gKTpuLnB1c2goYCR7dS5ORVhUX1JTQ19VTklPTl9RVUVSWX1gKSxlLnNlYXJjaD1uLmxlbmd0aD9gPyR7bi5qb2luKCImIil9YDoiIn07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTEwNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2xldCBuO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT17Y3JlYXRlRmV0Y2g6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbTpmdW5jdGlvbigpe3JldHVybiBFfSxmZXRjaFNlcnZlclJlc3BvbnNlOmZ1bmN0aW9uKCl7cmV0dXJuIFB9fTtmb3IodmFyIGwgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixsLHtlbnVtZXJhYmxlOiEwLGdldDphW2xdfSk7bGV0IHU9ZS5yKDc1MDQ1KSxvPWUucigzNDY0MSksaT1lLnIoMzA5MzEpLGM9ZS5yKDg5NTk0KSxzPWUucig2NzYyOCksZj1lLnIoNjE3MDYpLGQ9ZS5yKDQxMzAyKSxoPWUucig4ODA2MikscD1lLnIoODg3NzQpLHk9dS5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0sZz11LmNyZWF0ZUZyb21GZXRjaDtmdW5jdGlvbiBSKGUpe3JldHVybigwLGgudXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKShuZXcgVVJMKGUsbG9jYXRpb24ub3JpZ2luKSkudG9TdHJpbmcoKX1sZXQgXz0hMTthc3luYyBmdW5jdGlvbiBQKGUsdCl7bGV0e2ZsaWdodFJvdXRlclN0YXRlOnIsbmV4dFVybDpufT10LGE9e1tvLlJTQ19IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06KDAscy5wcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KShyLHQuaXNIbXJSZWZyZXNoKX07biYmKGFbby5ORVhUX1VSTF09bik7dHJ5e2xldCB0PWF3YWl0IHYoZSxhLCJhdXRvIiwhMCkscj0oMCxoLnVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcikobmV3IFVSTCh0LnVybCkpLG49dC5yZWRpcmVjdGVkP3I6ZSxsPXQuaGVhZGVycy5nZXQoImNvbnRlbnQtdHlwZSIpfHwiIix1PSEhdC5oZWFkZXJzLmdldCgidmFyeSIpPy5pbmNsdWRlcyhvLk5FWFRfVVJMKSxpPSEhdC5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiksYz10LmhlYWRlcnMuZ2V0KG8uTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVIpLGQ9bnVsbCE9PWM/MWUzKnBhcnNlSW50KGMsMTApOi0xO2lmKCFsLnN0YXJ0c1dpdGgoby5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUil8fCF0Lm9rfHwhdC5ib2R5KXJldHVybiBlLmhhc2gmJihyLmhhc2g9ZS5oYXNoKSxSKHIudG9TdHJpbmcoKSk7bGV0IHA9dC5mbGlnaHRSZXNwb25zZTtpZihudWxsPT09cCl7bGV0IGUscj1pPyhlPXQuYm9keS5nZXRSZWFkZXIoKSxuZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwodCl7Zm9yKDs7KXtsZXR7ZG9uZTpyLHZhbHVlOm59PWF3YWl0IGUucmVhZCgpO2lmKCFyKXt0LmVucXVldWUobik7Y29udGludWV9cmV0dXJufX19KSk6dC5ib2R5O3A9RShyLGEpfWxldCB5PWF3YWl0IHA7aWYoKDAsZi5nZXRBcHBCdWlsZElkKSgpIT09eS5iKXJldHVybiBSKHQudXJsKTtsZXQgZz0oMCxzLm5vcm1hbGl6ZUZsaWdodERhdGEpKHkuZik7aWYoInN0cmluZyI9PXR5cGVvZiBnKXJldHVybiBSKGcpO3JldHVybntmbGlnaHREYXRhOmcsY2Fub25pY2FsVXJsOm4scmVuZGVyZWRTZWFyY2g6KDAsaC5nZXRSZW5kZXJlZFNlYXJjaCkodCksY291bGRCZUludGVyY2VwdGVkOnUscHJlcmVuZGVyZWQ6eS5TLHBvc3Rwb25lZDppLHN0YWxlVGltZTpkLGRlYnVnSW5mbzpwLl9kZWJ1Z0luZm8/P251bGx9fWNhdGNoKHQpe3JldHVybiBffHxjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZmV0Y2ggUlNDIHBheWxvYWQgZm9yICR7ZX0uIEZhbGxpbmcgYmFjayB0byBicm93c2VyIG5hdmlnYXRpb24uYCx0KSxlLnRvU3RyaW5nKCl9fWFzeW5jIGZ1bmN0aW9uIHYoZSx0LHIsYSxsKXt2YXIgdSxzO2xldCBmPSgwLHAuZ2V0RGVwbG95bWVudElkKSgpO2YmJih0WyJ4LWRlcGxveW1lbnQtaWQiXT1mKTtsZXQgaD1uZXcgVVJMKGUpOygwLGQuc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0pKGgsdCk7bGV0IHk9ZmV0Y2goaCx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixoZWFkZXJzOnQscHJpb3JpdHk6cnx8dm9pZCAwLHNpZ25hbDpsfSksUj1hPyh1PXkscz10LGcodSx7Y2FsbFNlcnZlcjppLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpjLmZpbmRTb3VyY2VNYXBVUkwsZGVidWdDaGFubmVsOm4mJm4ocyl9KSk6bnVsbCxfPWF3YWl0IHksUD1fLnJlZGlyZWN0ZWQsdj1uZXcgVVJMKF8udXJsLGgpO3JldHVybiB2LnNlYXJjaFBhcmFtcy5kZWxldGUoby5ORVhUX1JTQ19VTklPTl9RVUVSWSkse3VybDp2LmhyZWYscmVkaXJlY3RlZDpQLG9rOl8ub2ssaGVhZGVyczpfLmhlYWRlcnMsYm9keTpfLmJvZHksc3RhdHVzOl8uc3RhdHVzLGZsaWdodFJlc3BvbnNlOlJ9fWZ1bmN0aW9uIEUoZSx0KXtyZXR1cm4geShlLHtjYWxsU2VydmVyOmkuY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmMuZmluZFNvdXJjZU1hcFVSTCxkZWJ1Z0NoYW5uZWw6biYmbih0KX0pfSJ1Ij50eXBlb2Ygd2luZG93JiYod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwoKT0+e189ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLCgpPT57Xz0hMX0pKSwoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1Nzc3OCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucigyNzQ1NCk7ZnVuY3Rpb24gYShlLHQ9ITEpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2Ake2VbMF19fCR7ZVsxXX18JHtlWzJdfWA6dCYmZS5zdGFydHNXaXRoKG4uUEFHRV9TRUdNRU5UX0tFWSk/bi5QQUdFX1NFR01FTlRfS0VZOmV9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzczNjgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxyKXtsZXQgbj10WzBdLGE9clswXTtpZihBcnJheS5pc0FycmF5KG4pJiZBcnJheS5pc0FycmF5KGEpKXtpZihuWzBdIT09YVswXXx8blsyXSE9PWFbMl0pcmV0dXJuITB9ZWxzZSBpZihuIT09YSlyZXR1cm4hMDtpZih0WzRdKXJldHVybiFyWzRdO2lmKHJbNF0pcmV0dXJuITA7bGV0IGw9T2JqZWN0LnZhbHVlcyh0WzFdKVswXSx1PU9iamVjdC52YWx1ZXMoclsxXSlbMF07cmV0dXJuIWx8fCF1fHxlKGwsdSl9fX0pLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDE4OTM5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGE9e0ZyZXNobmVzc1BvbGljeTpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVJbml0aWFsQ2FjaGVOb2RlRm9ySHlkcmF0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGlzRGVmZXJyZWRSc2M6ZnVuY3Rpb24oKXtyZXR1cm4gTn0sc3Bhd25EeW5hbWljUmVxdWVzdHM6ZnVuY3Rpb24oKXtyZXR1cm4gan0sc3RhcnRQUFJOYXZpZ2F0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFB9fTtmb3IodmFyIGwgaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixsLHtlbnVtZXJhYmxlOiEwLGdldDphW2xdfSk7bGV0IHU9ZS5yKDI3NDU0KSxvPWUucig4OTYxNiksaT1lLnIoODU1OTQpLGM9ZS5yKDU3Nzc4KSxzPWUucigxMTA2KSxmPWUucig5NDg3OSksZD1lLnIoNTk0MzApLGg9ZS5yKDM3MzY4KSxwPWUucig1NDAxMSkseT1lLnIoNjU0NjMpO3ZhciBnPSgobj17fSlbbi5EZWZhdWx0PTBdPSJEZWZhdWx0IixuW24uSHlkcmF0aW9uPTFdPSJIeWRyYXRpb24iLG5bbi5IaXN0b3J5VHJhdmVyc2FsPTJdPSJIaXN0b3J5VHJhdmVyc2FsIixuW24uUmVmcmVzaEFsbD0zXT0iUmVmcmVzaEFsbCIsbltuLkhNUlJlZnJlc2g9NF09IkhNUlJlZnJlc2giLG4pO2xldCBSPSgpPT57fTtmdW5jdGlvbiBfKGUsdCxyLG4pe3JldHVybiB2KGUsdCx2b2lkIDAsMSxyLG4sbnVsbCxudWxsLCExLG51bGwsbnVsbCwhMSx7c2Nyb2xsYWJsZVNlZ21lbnRzOm51bGwsc2VwYXJhdGVSZWZyZXNoVXJsczpudWxsfSkubm9kZX1mdW5jdGlvbiBQKGUsdCxyLG4sYSxsLHMsZixkLHAseSxnLFIpe3JldHVybiBmdW5jdGlvbiBlKHQscixuLGEsbCxzLGYsZCxwLHksZyxSLF8sUCxPLGosTSxBKXt2YXIgVSxDO2xldCBOLHcsRixJPWFbMF0sTD1sWzBdO2lmKCEoMCxvLm1hdGNoU2VnbWVudCkoTCxJKSlyZXR1cm4hZiYmKDAsaC5pc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQpKGEsbCl8fEw9PT11Lk5PVF9GT1VORF9TRUdNRU5UX0tFWXx8bnVsbD09PVB8fG51bGw9PT1PP251bGw6dih0LGwsbixzLGQscCx5LGcsUixQLE8saixBKTtsZXQgRD1udWxsIT09TyYmbnVsbCE9PVA/UC5jb25jYXQoW08sTF0pOltdLHg9bFsxXSxrPWFbMV0sSD1udWxsIT09ZD9kWzFdOm51bGwsQj1udWxsIT09eT95WzFdOm51bGwsSz0hMD09PWxbNF0sVj1mfHxLLHE9dm9pZCAwIT09bj9uLnBhcmFsbGVsUm91dGVzOnZvaWQgMCxHPSExLHo9ITE7c3dpdGNoKHMpe2Nhc2UgMDpjYXNlIDI6Y2FzZSAxOkc9ITEsej0hMTticmVhaztjYXNlIDM6Y2FzZSA0Okc9ITAsej0hMH1sZXQgWD1uZXcgTWFwKEc/dm9pZCAwOnEpLFc9MD09PU9iamVjdC5rZXlzKHgpLmxlbmd0aDtpZih2b2lkIDA9PT1ufHx6fHxXJiZfKWlmKG51bGwhPT1kJiZudWxsIT09ZFswXSl7bGV0IGU9ZFswXSxyPWRbMl0sbj1udWxsPT09cDt3PVMoZSxyLCExLHAsbixXLFgsdCksRj1XJiZufWVsc2UgaWYobnVsbCE9PXkpe2xldCBlPXlbMF0scj15WzJdLG49eVszXTt3PVMoZSxyLG4sZyxSLFcsWCx0KSxGPW58fFcmJlJ9ZWxzZSB3PVQoWCxXLHQscyksRj0hMDtlbHNlIHc9YighMSxuLFgpLEY9ITE7bGV0IFk9bFsyXSwkPSJzdHJpbmciPT10eXBlb2YgWSYmInJlZnJlc2giPT09bFszXT9ZOk07RiYmbnVsbCE9PSQmJihVPUEsQz0kLG51bGw9PT0oTj1VLnNlcGFyYXRlUmVmcmVzaFVybHMpP1Uuc2VwYXJhdGVSZWZyZXNoVXJscz1uZXcgU2V0KFtDXSk6Ti5hZGQoQykpO2xldCBRPXt9LEo9bnVsbCxaPSExLGVlPXt9O2ZvcihsZXQgbiBpbiB4KXtsZXQgYT14W25dLGw9a1tuXTtpZih2b2lkIDA9PT1sKXJldHVybiBudWxsO2xldCBvPXZvaWQgMCE9PXE/cS5nZXQobik6dm9pZCAwLGY9bnVsbCE9PUg/SFtuXTpudWxsLGQ9bnVsbCE9PUI/QltuXTpudWxsLGg9YVswXSx5PXAsUD1nLHY9UjsyIT09cyYmaD09PXUuREVGQVVMVF9TRUdNRU5UX0tFWSYmKGg9KGE9ZnVuY3Rpb24oZSx0KXtsZXQgcjtyZXR1cm4icmVmcmVzaCI9PT10WzNdP3I9dDooKHI9RSh0LHRbMV0pKVsyXT0oMCxpLmNyZWF0ZUhyZWZGcm9tVXJsKShlKSxyWzNdPSJyZWZyZXNoIikscn0ocixsKSlbMF0sZj1udWxsLHk9bnVsbCxkPW51bGwsUD1udWxsLHY9ITEpO2xldCBtPSgwLGMuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKGgpLGI9ZSh0LHIsdm9pZCAwIT09bz9vLmdldChtKTp2b2lkIDAsbCxhLHMsVixmPz9udWxsLHksZD8/bnVsbCxQLHYsXyxELG4sanx8RiwkLEEpO2lmKG51bGw9PT1iKXJldHVybiBudWxsO251bGw9PT1KJiYoSj1uZXcgTWFwKSxKLnNldChuLGIpO2xldCBTPWIubm9kZTtpZihudWxsIT09Uyl7bGV0IGU9bmV3IE1hcChHP3ZvaWQgMDpvKTtlLnNldChtLFMpLFguc2V0KG4sZSl9bGV0IFQ9Yi5yb3V0ZTtRW25dPVQ7bGV0IE89Yi5keW5hbWljUmVxdWVzdFRyZWU7bnVsbCE9PU8/KFo9ITAsZWVbbl09Tyk6ZWVbbl09VH1yZXR1cm57c3RhdHVzOishRixyb3V0ZTpFKGwsUSksbm9kZTp3LGR5bmFtaWNSZXF1ZXN0VHJlZTptKGwsZWUsRixaLGopLHJlZnJlc2hVcmw6JCxjaGlsZHJlbjpKfX0oZSx0LG51bGwhPT1yP3I6dm9pZCAwLG4sYSxsLCExLHMsZixkLHAseSxnLG51bGwsbnVsbCwhMSxudWxsLFIpfWZ1bmN0aW9uIHYoZSx0LHIsbixhLGwsdSxvLGkscyxmLGQsaCl7bGV0IHksZyxSPXRbMF0sXz1udWxsIT09ZiYmbnVsbCE9PXM/cy5jb25jYXQoW2YsUl0pOltdLFA9dFsxXSxPPW51bGwhPT11P3VbMV06bnVsbCxqPW51bGwhPT1hP2FbMV06bnVsbCxNPXZvaWQgMCE9PXI/ci5wYXJhbGxlbFJvdXRlczp2b2lkIDAsQT0hMSxVPSExLEM9ITE7c3dpdGNoKG4pe2Nhc2UgMDpBPSExLFU9dm9pZCAwPT09cnx8ZS1yLm5hdmlnYXRlZEF0Pj1wLkRZTkFNSUNfU1RBTEVUSU1FX01TLEM9ITE7YnJlYWs7Y2FzZSAxOlU9ITEsQT0hMSxDPSExO2JyZWFrO2Nhc2UgMjppZihVPSExLFU9ITEsdm9pZCAwIT09cil7bGV0IGU9ci5yc2M7Qz0hTihlKXx8InBlbmRpbmciIT09ZS5zdGF0dXN9ZWxzZSBDPSExO2JyZWFrO2Nhc2UgMzpjYXNlIDQ6VT0hMCxBPSEwLEM9ITF9bGV0IHc9bmV3IE1hcChBP3ZvaWQgMDpNKSxGPTA9PT1PYmplY3Qua2V5cyhQKS5sZW5ndGg7aWYoRiYmKG51bGw9PT1oLnNjcm9sbGFibGVTZWdtZW50cyYmKGguc2Nyb2xsYWJsZVNlZ21lbnRzPVtdKSxoLnNjcm9sbGFibGVTZWdtZW50cy5wdXNoKF8pKSxVfHx2b2lkIDA9PT1yKWlmKG51bGwhPT1hJiZudWxsIT09YVswXSl7bGV0IHQ9YVswXSxyPWFbMl0sdT1udWxsPT09bCYmMSE9PW47eT1TKHQsciwhMSxsLHUsRix3LGUpLGc9RiYmdX1lbHNlIGlmKDE9PT1uJiZGJiZudWxsIT09bCl5PVMobnVsbCxudWxsLCExLGwsITEsRix3LGUpLGc9ITE7ZWxzZSBpZigxIT09biYmbnVsbCE9PXUpe2xldCB0PXVbMF0scj11WzJdLG49dVszXTt5PVModCxyLG4sbyxpLEYsdyxlKSxnPW58fEYmJml9ZWxzZSB5PVQodyxGLGUsbiksZz0hMDtlbHNlIHk9YihDLHIsdyksZz0hMTtsZXQgST17fSxMPW51bGwsRD0hMSx4PXt9O2ZvcihsZXQgdCBpbiBQKXtsZXQgcj1QW3RdLGE9dm9pZCAwIT09TT9NLmdldCh0KTp2b2lkIDAsdT1udWxsIT09aj9qW3RdOm51bGwscz1udWxsIT09Tz9PW3RdOm51bGwsZj1yWzBdLHA9KDAsYy5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoZikseT12KGUscix2b2lkIDAhPT1hP2EuZ2V0KHApOnZvaWQgMCxuLHU/P251bGwsbCxzPz9udWxsLG8saSxfLHQsZHx8ZyxoKTtudWxsPT09TCYmKEw9bmV3IE1hcCksTC5zZXQodCx5KTtsZXQgUj15Lm5vZGU7aWYobnVsbCE9PVIpe2xldCBlPW5ldyBNYXAoQT92b2lkIDA6YSk7ZS5zZXQocCxSKSx3LnNldCh0LGUpfWxldCBFPXkucm91dGU7SVt0XT1FO2xldCBtPXkuZHluYW1pY1JlcXVlc3RUcmVlO251bGwhPT1tPyhEPSEwLHhbdF09bSk6eFt0XT1FfXJldHVybntzdGF0dXM6KyFnLHJvdXRlOkUodCxJKSxub2RlOnksZHluYW1pY1JlcXVlc3RUcmVlOm0odCx4LGcsRCxkKSxyZWZyZXNoVXJsOm51bGwsY2hpbGRyZW46TH19ZnVuY3Rpb24gRShlLHQpe2xldCByPVtlWzBdLHRdO3JldHVybiAyIGluIGUmJihyWzJdPWVbMl0pLDMgaW4gZSYmKHJbM109ZVszXSksNCBpbiBlJiYocls0XT1lWzRdKSxyfWZ1bmN0aW9uIG0oZSx0LHIsbixhKXtsZXQgbD1udWxsO3JldHVybiByPyhsPUUoZSx0KSxhfHwobFszXT0icmVmZXRjaCIpKTpsPW4/RShlLHQpOm51bGwsbH1mdW5jdGlvbiBiKGUsdCxyKXtyZXR1cm57cnNjOnQucnNjLHByZWZldGNoUnNjOmU/bnVsbDp0LnByZWZldGNoUnNjLGhlYWQ6dC5oZWFkLHByZWZldGNoSGVhZDplP251bGw6dC5wcmVmZXRjaEhlYWQsbG9hZGluZzp0LmxvYWRpbmcscGFyYWxsZWxSb3V0ZXM6cixuYXZpZ2F0ZWRBdDp0Lm5hdmlnYXRlZEF0fX1mdW5jdGlvbiBTKGUsdCxyLG4sYSxsLHUsbyl7bGV0IGksYyxzLGY7cmV0dXJuIHI/KGM9ZSxpPXcoKSk6KGM9bnVsbCxpPWUpLGw/YT8ocz1uLGY9dygpKToocz1udWxsLGY9bik6KHM9bnVsbCxmPW51bGwpLHtyc2M6aSxwcmVmZXRjaFJzYzpjLGhlYWQ6ZixwcmVmZXRjaEhlYWQ6cyxsb2FkaW5nOnQscGFyYWxsZWxSb3V0ZXM6dSxuYXZpZ2F0ZWRBdDpvfX1mdW5jdGlvbiBUKGUsdCxyLG4pe2xldCBhPTE9PT1uO3JldHVybntyc2M6YT9udWxsOncoKSxwcmVmZXRjaFJzYzpudWxsLGhlYWQ6IWEmJnQ/dygpOm51bGwscHJlZmV0Y2hIZWFkOm51bGwsbG9hZGluZzphP251bGw6dygpLHBhcmFsbGVsUm91dGVzOmUsbmF2aWdhdGVkQXQ6cn19bGV0IE89ITE7ZnVuY3Rpb24gaihlLHQscixuLGEpe2xldCBsPWUuZHluYW1pY1JlcXVlc3RUcmVlO2lmKG51bGw9PT1sKXtPPSExO3JldHVybn1sZXQgdT1VKGUsbCx0LHIsbiksbz1hLnNlcGFyYXRlUmVmcmVzaFVybHMsYz1udWxsO2lmKG51bGwhPT1vKXtjPVtdO2xldCBhPSgwLGkuY3JlYXRlSHJlZkZyb21VcmwpKHQpO2ZvcihsZXQgdCBvZiBvKXQhPT1hJiZudWxsIT09bCYmYy5wdXNoKFUoZSxsLG5ldyBVUkwodCxsb2NhdGlvbi5vcmlnaW4pLHIsbikpfU0oZSxyLHUsYykudGhlbihSLFIpfWFzeW5jIGZ1bmN0aW9uIE0oZSx0LHIsbil7dmFyIGEsbDtsZXQgdT1hd2FpdCAoYT1yLGw9bixuZXcgUHJvbWlzZShlPT57bGV0IHQ9dD0+ezA9PT10LmV4aXRTdGF0dXM/MD09LS1uJiZlKDApOmUodC5leGl0U3RhdHVzKX0scj0oKT0+ZSgyKSxuPTE7YS50aGVuKHQsciksbnVsbCE9PWwmJihuKz1sLmxlbmd0aCxsLmZvckVhY2goZT0+ZS50aGVuKHQscikpKX0pKTtzd2l0Y2goMD09PXUmJih1PWZ1bmN0aW9uIGUodCxyLG4pe3ZhciBhLGwsdTtsZXQgbyxpLGMsczswPT09dC5zdGF0dXM/KHQuc3RhdHVzPTIsYT10Lm5vZGUsbD1yLHU9bixOKGk9YS5yc2MpJiYobnVsbD09PWw/aS5yZXNvbHZlKG51bGwsdSk6aS5yZWplY3QobCx1KSksTihjPWEubG9hZGluZykmJmMucmVzb2x2ZShudWxsLHUpLE4ocz1hLmhlYWQpJiZzLnJlc29sdmUobnVsbCx1KSxvPW51bGw9PT10LnJlZnJlc2hVcmw/MToyKTpvPTA7bGV0IGY9dC5jaGlsZHJlbjtpZihudWxsIT09Zilmb3IobGV0Wyx0XW9mIGYpe2xldCBhPWUodCxyLG4pO2E+byYmKG89YSl9cmV0dXJuIG99KGUsbnVsbCxudWxsKSksdSl7Y2FzZSAwOk89ITE7cmV0dXJuO2Nhc2UgMTp7bGV0IG49YXdhaXQgcjtBKCExLG4udXJsLHQsbi5zZWVkLGUucm91dGUpO3JldHVybn1jYXNlIDI6e2xldCBuPWF3YWl0IHI7QSghMCxuLnVybCx0LG4uc2VlZCxlLnJvdXRlKTtyZXR1cm59ZGVmYXVsdDpyZXR1cm4gdX19ZnVuY3Rpb24gQShlLHQscixuLGEpe2U9ZXx8TyxPPSEwO2xldCBsPXt0eXBlOmQuQUNUSU9OX1NFUlZFUl9QQVRDSCxwcmV2aW91c1RyZWU6YSx1cmw6dCxuZXh0VXJsOnIsc2VlZDpuLG1wYTplfTsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKShsKX1hc3luYyBmdW5jdGlvbiBVKGUsdCxyLG4sYSl7dHJ5e2xldCBsPWF3YWl0ICgwLHMuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkocix7ZmxpZ2h0Um91dGVyU3RhdGU6dCxuZXh0VXJsOm4saXNIbXJSZWZyZXNoOjQ9PT1hfSk7aWYoInN0cmluZyI9PXR5cGVvZiBsKXJldHVybntleGl0U3RhdHVzOjIsdXJsOm5ldyBVUkwobCxsb2NhdGlvbi5vcmlnaW4pLHNlZWQ6bnVsbH07bGV0IHU9KDAseS5jb252ZXJ0U2VydmVyUGF0Y2hUb0Z1bGxUcmVlKShlLnJvdXRlLGwuZmxpZ2h0RGF0YSxsLnJlbmRlcmVkU2VhcmNoKTtyZXR1cm57ZXhpdFN0YXR1czorISFmdW5jdGlvbiBlKHQscixuLGEsbCl7MD09PXQuc3RhdHVzJiZudWxsIT09biYmKHQuc3RhdHVzPTEsZnVuY3Rpb24oZSx0LHIsbil7bGV0IGE9ZS5yc2MsbD10WzBdO2lmKG51bGw9PT1sKXJldHVybjtudWxsPT09YT9lLnJzYz1sOk4oYSkmJmEucmVzb2x2ZShsLG4pO2xldCB1PWUubG9hZGluZztpZihOKHUpKXtsZXQgZT10WzJdO3UucmVzb2x2ZShlLG4pfWxldCBvPWUuaGVhZDtOKG8pJiZvLnJlc29sdmUocixuKX0odC5ub2RlLG4sYSxsKSk7bGV0IHU9dC5jaGlsZHJlbixpPXJbMV0sYz1udWxsIT09bj9uWzFdOm51bGwscz0hMTtpZihudWxsIT09dSlmb3IobGV0IHQgaW4gaSl7bGV0IHI9aVt0XSxuPW51bGwhPT1jP2NbdF06bnVsbCxmPXUuZ2V0KHQpO2lmKHZvaWQgMD09PWYpcz0hMDtlbHNle2xldCB0PWYucm91dGVbMF07KDAsby5tYXRjaFNlZ21lbnQpKHJbMF0sdCkmJm51bGwhPW4mJmUoZixyLG4sYSxsKSYmKHM9ITApfX1yZXR1cm4gc30oZSx1LnRyZWUsdS5kYXRhLHUuaGVhZCxsLmRlYnVnSW5mbyksdXJsOm5ldyBVUkwobC5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxzZWVkOnV9fWNhdGNoe3JldHVybntleGl0U3RhdHVzOjIsdXJsOnIsc2VlZDpudWxsfX19bGV0IEM9U3ltYm9sKCk7ZnVuY3Rpb24gTihlKXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBlJiZlLnRhZz09PUN9ZnVuY3Rpb24gdygpe2xldCBlLHQscj1bXSxuPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybiBuLnN0YXR1cz0icGVuZGluZyIsbi5yZXNvbHZlPSh0LGEpPT57InBlbmRpbmciPT09bi5zdGF0dXMmJihuLnN0YXR1cz0iZnVsZmlsbGVkIixuLnZhbHVlPXQsbnVsbCE9PWEmJnIucHVzaC5hcHBseShyLGEpLGUodCkpfSxuLnJlamVjdD0oZSxhKT0+eyJwZW5kaW5nIj09PW4uc3RhdHVzJiYobi5zdGF0dXM9InJlamVjdGVkIixuLnJlYXNvbj1lLG51bGwhPT1hJiZyLnB1c2guYXBwbHkocixhKSx0KGUpKX0sbi50YWc9QyxuLl9kZWJ1Z0luZm89cixufSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI0NDU3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIYXNMb2FkaW5nQm91bmRhcnkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO3ZhciBuLGE9KChuPXt9KVtuLlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnk9MV09IlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnkiLG5bbi5TdWJ0cmVlSGFzTG9hZGluZ0JvdW5kYXJ5PTJdPSJTdWJ0cmVlSGFzTG9hZGluZ0JvdW5kYXJ5IixuW24uU3VidHJlZUhhc05vTG9hZGluZ0JvdW5kYXJ5PTNdPSJTdWJ0cmVlSGFzTm9Mb2FkaW5nQm91bmRhcnkiLG4pfSw1MjQxMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbixhLGwsdT17RmV0Y2hTdHJhdGVneTpmdW5jdGlvbigpe3JldHVybiBzfSxOYXZpZ2F0aW9uUmVzdWx0VGFnOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LFByZWZldGNoUHJpb3JpdHk6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgbyBpbiB1KU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLG8se2VudW1lcmFibGU6ITAsZ2V0OnVbb119KTt2YXIgaT0oKG49e30pW24uTVBBPTBdPSJNUEEiLG5bbi5TdWNjZXNzPTFdPSJTdWNjZXNzIixuW24uTm9PcD0yXT0iTm9PcCIsbltuLkFzeW5jPTNdPSJBc3luYyIsbiksYz0oKGE9e30pW2EuSW50ZW50PTJdPSJJbnRlbnQiLGFbYS5EZWZhdWx0PTFdPSJEZWZhdWx0IixhW2EuQmFja2dyb3VuZD0wXT0iQmFja2dyb3VuZCIsYSkscz0oKGw9e30pW2wuTG9hZGluZ0JvdW5kYXJ5PTBdPSJMb2FkaW5nQm91bmRhcnkiLGxbbC5QUFI9MV09IlBQUiIsbFtsLlBQUlJ1bnRpbWU9Ml09IlBQUlJ1bnRpbWUiLGxbbC5GdWxsPTNdPSJGdWxsIixsKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0MTg1MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17ZGVsZXRlRnJvbUxydTpmdW5jdGlvbigpe3JldHVybiBmfSxscnVQdXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdXBkYXRlTHJ1U2l6ZTpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig3NTc0NSksdT1udWxsLG89ITEsaT0wO2Z1bmN0aW9uIGMoZSl7aWYodT09PWUpcmV0dXJuO2xldCB0PWUucHJldixyPWUubmV4dDtpZihudWxsPT09cnx8bnVsbD09PXQ/KGkrPWUuc2l6ZSxkKCkpOih0Lm5leHQ9cixyLnByZXY9dCksbnVsbD09PXUpZS5wcmV2PWUsZS5uZXh0PWU7ZWxzZXtsZXQgdD11LnByZXY7ZS5wcmV2PXQsbnVsbCE9PXQmJih0Lm5leHQ9ZSksZS5uZXh0PXUsdS5wcmV2PWV9dT1lfWZ1bmN0aW9uIHMoZSx0KXtsZXQgcj1lLnNpemU7ZS5zaXplPXQsbnVsbCE9PWUubmV4dCYmKGk9aS1yK3QsZCgpKX1mdW5jdGlvbiBmKGUpe2xldCB0PWUubmV4dCxyPWUucHJldjtudWxsIT09dCYmbnVsbCE9PXImJihpLT1lLnNpemUsZS5uZXh0PW51bGwsZS5wcmV2PW51bGwsdT09PWU/dD09PXU/dT1udWxsOih1PXQsci5uZXh0PXQsdC5wcmV2PXIpOihyLm5leHQ9dCx0LnByZXY9cikpfWZ1bmN0aW9uIGQoKXtvfHxpPD0weDMyMDAwMDB8fChvPSEwLHAoaCkpfWZ1bmN0aW9uIGgoKXtvPSExO2Zvcig7aT4weDJkMDAwMDAmJm51bGwhPT11Oyl7bGV0IGU9dS5wcmV2O251bGwhPT1lJiYoMCxsLmRlbGV0ZU1hcEVudHJ5KShlKX19bGV0IHA9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcXVlc3RJZGxlQ2FsbGJhY2s/cmVxdWVzdElkbGVDYWxsYmFjazplPT5zZXRUaW1lb3V0KGUsMCk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNzU3NDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0ZhbGxiYWNrOmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGNyZWF0ZUNhY2hlTWFwOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGRlbGV0ZUZyb21DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiBofSxkZWxldGVNYXBFbnRyeTpmdW5jdGlvbigpe3JldHVybiBwfSxnZXRGcm9tQ2FjaGVNYXA6ZnVuY3Rpb24oKXtyZXR1cm4gY30saXNWYWx1ZUV4cGlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2V0SW5DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiBmfSxzZXRTaXplSW5DYWNoZU1hcDpmdW5jdGlvbigpe3JldHVybiB5fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig0MTg1MiksdT17fSxvPXt9O2Z1bmN0aW9uIGkoKXtyZXR1cm57cGFyZW50Om51bGwsa2V5Om51bGwsdmFsdWU6bnVsbCxtYXA6bnVsbCxwcmV2Om51bGwsbmV4dDpudWxsLHNpemU6MH19ZnVuY3Rpb24gYyhlLHQscixuLGEpe2xldCBpPWZ1bmN0aW9uIGUodCxyLG4sYSxsLGkpe2xldCBjLGY7aWYobnVsbCE9PWEpYz1hLnZhbHVlLGY9YS5wYXJlbnQ7ZWxzZSBpZihsJiZpIT09byljPW8sZj1udWxsO2Vsc2UgcmV0dXJuIG51bGw9PT1uLnZhbHVlP246cyh0LHIsbi52YWx1ZSk/KHAobiksbnVsbCk6bjtsZXQgZD1uLm1hcDtpZihudWxsIT09ZCl7bGV0IG49ZC5nZXQoYyk7aWYodm9pZCAwIT09bil7bGV0IGE9ZSh0LHIsbixmLGwsYyk7aWYobnVsbCE9PWEpcmV0dXJuIGF9bGV0IGE9ZC5nZXQodSk7aWYodm9pZCAwIT09YSlyZXR1cm4gZSh0LHIsYSxmLGwsYyl9cmV0dXJuIG51bGx9KGUsdCxyLG4sYSwwKTtyZXR1cm4gbnVsbD09PWl8fG51bGw9PT1pLnZhbHVlP251bGw6KCgwLGwubHJ1UHV0KShpKSxpLnZhbHVlKX1mdW5jdGlvbiBzKGUsdCxyKXtyZXR1cm4gci5zdGFsZUF0PD1lfHxyLnZlcnNpb248dH1mdW5jdGlvbiBmKGUsdCxyLG4pe2xldCBhPWZ1bmN0aW9uKGUsdCxyKXtsZXQgbj1lLGE9dCxsPW51bGw7Zm9yKDs7KXtsZXQgZT1sO2lmKG51bGwhPT1hKWw9YS52YWx1ZSxhPWEucGFyZW50O2Vsc2UgaWYociYmZSE9PW8pe2lmKG51bGw9PT1uLnZhbHVlKXJldHVybiBuO2w9b31lbHNlIGJyZWFrO2xldCB0PW4ubWFwO2lmKG51bGwhPT10KXtsZXQgZT10LmdldChsKTtpZih2b2lkIDAhPT1lKXtuPWU7Y29udGludWV9fWVsc2UgdD1uZXcgTWFwLG4ubWFwPXQ7bGV0IHU9e3BhcmVudDpuLGtleTpsLHZhbHVlOm51bGwsbWFwOm51bGwscHJldjpudWxsLG5leHQ6bnVsbCxzaXplOjB9O3Quc2V0KGwsdSksbj11fXJldHVybiBufShlLHQsbik7ZChhLHIpLCgwLGwubHJ1UHV0KShhKSwoMCxsLnVwZGF0ZUxydVNpemUpKGEsci5zaXplKX1mdW5jdGlvbiBkKGUsdCl7bnVsbCE9PWUudmFsdWUmJihlLnZhbHVlLnJlZj1udWxsLGUudmFsdWU9bnVsbCk7bGV0IHI9dC5yZWY7ZS52YWx1ZT10LHQucmVmPWUsKDAsbC51cGRhdGVMcnVTaXplKShlLHQuc2l6ZSksbnVsbCE9PXImJnIhPT1lJiZyLnZhbHVlPT09dCYmcChyKX1mdW5jdGlvbiBoKGUpe2xldCB0PWUucmVmO251bGwhPT10JiYoZS5yZWY9bnVsbCxwKHQpKX1mdW5jdGlvbiBwKGUpe2UudmFsdWU9bnVsbCwoMCxsLmRlbGV0ZUZyb21McnUpKGUpO2xldCB0PWUubWFwO2lmKG51bGw9PT10KXtsZXQgdD1lLnBhcmVudCxyPWUua2V5O2Zvcig7bnVsbCE9PXQ7KXtsZXQgZT10Lm1hcDtpZihudWxsIT09ZSYmKGUuZGVsZXRlKHIpLDA9PT1lLnNpemUpJiYodC5tYXA9bnVsbCxudWxsPT09dC52YWx1ZSkpe3I9dC5rZXksdD10LnBhcmVudDtjb250aW51ZX1icmVha319ZWxzZXtsZXQgcj10LmdldChvKTt2b2lkIDAhPT1yJiZudWxsIT09ci52YWx1ZSYmZChlLHIudmFsdWUpfX1mdW5jdGlvbiB5KGUsdCl7bGV0IHI9ZS5yZWY7bnVsbCE9PXImJihlLnNpemU9dCwoMCxsLnVwZGF0ZUxydVNpemUpKHIsdCkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY1ODkzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXthcHBlbmRMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBzfSxjbG9uZVBhZ2VWYXJ5UGF0aFdpdGhOZXdTZWFyY2hQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4geX0sZmluYWxpemVMYXlvdXRWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBmfSxmaW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gaH0sZmluYWxpemVQYWdlVmFyeVBhdGg6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0RnVsZmlsbGVkUm91dGVWYXJ5UGF0aDpmdW5jdGlvbigpe3JldHVybiBjfSxnZXRSb3V0ZVZhcnlQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gcH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTI0MTMpLHU9ZS5yKDc1NzQ1KSxvPWUucig0NjIxOSk7ZnVuY3Rpb24gaShlLHQscil7cmV0dXJue3ZhbHVlOmUscGFyZW50Ont2YWx1ZTp0LHBhcmVudDp7dmFsdWU6cixwYXJlbnQ6bnVsbH19fX1mdW5jdGlvbiBjKGUsdCxyLG4pe3JldHVybnt2YWx1ZTplLHBhcmVudDp7dmFsdWU6dCxwYXJlbnQ6e3ZhbHVlOm4/cjp1LkZhbGxiYWNrLHBhcmVudDpudWxsfX19fWZ1bmN0aW9uIHMoZSx0KXtyZXR1cm57dmFsdWU6dCxwYXJlbnQ6ZX19ZnVuY3Rpb24gZihlLHQpe3JldHVybnt2YWx1ZTplLHBhcmVudDp0fX1mdW5jdGlvbiBkKGUsdCxyKXtyZXR1cm57dmFsdWU6ZSxwYXJlbnQ6e3ZhbHVlOnQscGFyZW50OnJ9fX1mdW5jdGlvbiBoKGUsdCxyKXtyZXR1cm57dmFsdWU6ZStvLkhFQURfUkVRVUVTVF9LRVkscGFyZW50Ont2YWx1ZTp0LHBhcmVudDpyfX19ZnVuY3Rpb24gcChlLHQpe2xldCByPXQudmFyeVBhdGg7aWYodC5pc1BhZ2UmJmUhPT1sLkZldGNoU3RyYXRlZ3kuRnVsbCYmZSE9PWwuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKXtsZXQgZT1yLnBhcmVudC5wYXJlbnQ7cmV0dXJue3ZhbHVlOnIudmFsdWUscGFyZW50Ont2YWx1ZTp1LkZhbGxiYWNrLHBhcmVudDplfX19cmV0dXJuIHJ9ZnVuY3Rpb24geShlLHQpe2xldCByPWUucGFyZW50O3JldHVybnt2YWx1ZTplLnZhbHVlLHBhcmVudDp7dmFsdWU6dCxwYXJlbnQ6ci5wYXJlbnR9fX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNjMxNiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSx0KXtsZXQgcj1uZXcgVVJMKGUpO3JldHVybntwYXRobmFtZTpyLnBhdGhuYW1lLHNlYXJjaDpyLnNlYXJjaCxuZXh0VXJsOnR9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlQ2FjaGVLZXkiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc1NzgwLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjYW5jZWxQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gRX0saXNQcmVmZXRjaFRhc2tEaXJ0eTpmdW5jdGlvbigpe3JldHVybiBifSxwaW5nUHJlZmV0Y2hUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIEF9LHJlc2NoZWR1bGVQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sc2NoZWR1bGVQcmVmZXRjaFRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gdn0sc3RhcnRSZXZhbGlkYXRpb25Db29sZG93bjpmdW5jdGlvbigpe3JldHVybiBQfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucigyNDQ1NyksdT1lLnIoODk2MTYpLG89ZS5yKDQ0NjY3KSxpPWUucig2NTg5MyksYz1lLnIoMTYzMTYpLHM9ZS5yKDUyNDEzKSxmPWUucigyNzQ1NCksZD0iZnVuY3Rpb24iPT10eXBlb2YgcXVldWVNaWNyb3Rhc2s/cXVldWVNaWNyb3Rhc2s6ZT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbihlKS5jYXRjaChlPT5zZXRUaW1lb3V0KCgpPT57dGhyb3cgZX0pKSxoPVtdLHA9MCx5PTAsZz0hMSxSPW51bGwsXz1udWxsO2Z1bmN0aW9uIFAoKXtudWxsIT09XyYmY2xlYXJUaW1lb3V0KF8pLF89c2V0VGltZW91dCgoKT0+e189bnVsbCxUKCl9LDMwMCl9ZnVuY3Rpb24gdihlLHQscixuLGEpe2xldCBsPXtrZXk6ZSx0cmVlQXRUaW1lT2ZQcmVmZXRjaDp0LGNhY2hlVmVyc2lvbjooMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCkscHJpb3JpdHk6bixwaGFzZToxLGhhc0JhY2tncm91bmRXb3JrOiExLHNwYXduZWRSdW50aW1lUHJlZmV0Y2hlczpudWxsLGZldGNoU3RyYXRlZ3k6cixzb3J0SWQ6eSsrLGlzQ2FuY2VsZWQ6ITEsb25JbnZhbGlkYXRlOmEsX2hlYXBJbmRleDotMX07cmV0dXJuIFMobCksQihoLGwpLFQoKSxsfWZ1bmN0aW9uIEUoZSl7ZS5pc0NhbmNlbGVkPSEwLGZ1bmN0aW9uKGUsdCl7bGV0IHI9dC5faGVhcEluZGV4O2lmKC0xIT09ciYmKHQuX2hlYXBJbmRleD0tMSwwIT09ZS5sZW5ndGgpKXtsZXQgbj1lLnBvcCgpO24hPT10JiYoZVtyXT1uLG4uX2hlYXBJbmRleD1yLHooZSxuLHIpKX19KGgsZSl9ZnVuY3Rpb24gbShlLHQscixuKXtlLmlzQ2FuY2VsZWQ9ITEsZS5waGFzZT0xLGUuc29ydElkPXkrKyxlLnByaW9yaXR5PWU9PT1SP3MuUHJlZmV0Y2hQcmlvcml0eS5JbnRlbnQ6bixlLnRyZWVBdFRpbWVPZlByZWZldGNoPXQsZS5mZXRjaFN0cmF0ZWd5PXIsUyhlKSwtMSE9PWUuX2hlYXBJbmRleD9xKGgsZSk6QihoLGUpLFQoKX1mdW5jdGlvbiBiKGUsdCxyKXtsZXQgbj0oMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCk7cmV0dXJuIGUuY2FjaGVWZXJzaW9uIT09bnx8ZS50cmVlQXRUaW1lT2ZQcmVmZXRjaCE9PXJ8fGUua2V5Lm5leHRVcmwhPT10fWZ1bmN0aW9uIFMoZSl7ZS5wcmlvcml0eT09PXMuUHJlZmV0Y2hQcmlvcml0eS5JbnRlbnQmJmUhPT1SJiYobnVsbCE9PVImJlIucHJpb3JpdHkhPT1zLlByZWZldGNoUHJpb3JpdHkuQmFja2dyb3VuZCYmKFIucHJpb3JpdHk9cy5QcmVmZXRjaFByaW9yaXR5LkRlZmF1bHQscShoLFIpKSxSPWUpfWZ1bmN0aW9uIFQoKXtnfHwoZz0hMCxkKFUpKX1mdW5jdGlvbiBPKGUpe3JldHVybiBudWxsPT09XyYmKGUucHJpb3JpdHk9PT1zLlByZWZldGNoUHJpb3JpdHkuSW50ZW50P3A8MTI6cDw0KX1mdW5jdGlvbiBqKGUpe3JldHVybiBwKyssZS50aGVuKGU9Pm51bGw9PT1lPyhNKCksbnVsbCk6KGUuY2xvc2VkLnRoZW4oTSksZS52YWx1ZSkpfWZ1bmN0aW9uIE0oKXtwLS0sVCgpfWZ1bmN0aW9uIEEoZSl7ZS5pc0NhbmNlbGVkfHwtMSE9PWUuX2hlYXBJbmRleHx8KEIoaCxlKSxUKCkpfWZ1bmN0aW9uIFUoKXtnPSExO2xldCBlPURhdGUubm93KCksdD1LKGgpO2Zvcig7bnVsbCE9PXQmJk8odCk7KXt0LmNhY2hlVmVyc2lvbj0oMCxvLmdldEN1cnJlbnRDYWNoZVZlcnNpb24pKCk7bGV0IHI9ZnVuY3Rpb24oZSx0KXtsZXQgcj10LmtleSxuPSgwLG8ucmVhZE9yQ3JlYXRlUm91dGVDYWNoZUVudHJ5KShlLHQsciksYT1mdW5jdGlvbihlLHQscil7c3dpdGNoKHIuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6aigoMCxvLmZldGNoUm91dGVPbkNhY2hlTWlzcykocix0LHQua2V5KSksci5zdGFsZUF0PWUrNmU0LHIuc3RhdHVzPW8uRW50cnlTdGF0dXMuUGVuZGluZztjYXNlIG8uRW50cnlTdGF0dXMuUGVuZGluZzp7bGV0IGU9ci5ibG9ja2VkVGFza3M7cmV0dXJuIG51bGw9PT1lP3IuYmxvY2tlZFRhc2tzPW5ldyBTZXQoW3RdKTplLmFkZCh0KSwxfWNhc2Ugby5FbnRyeVN0YXR1cy5SZWplY3RlZDpicmVhaztjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOntpZigwIT09dC5waGFzZSlyZXR1cm4gMjtpZighTyh0KSlyZXR1cm4gMDtsZXQgaT1yLnRyZWUsYz10LmZldGNoU3RyYXRlZ3k9PT1zLkZldGNoU3RyYXRlZ3kuUFBSP3IuaXNQUFJFbmFibGVkP3MuRmV0Y2hTdHJhdGVneS5QUFI6cy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeTp0LmZldGNoU3RyYXRlZ3k7c3dpdGNoKGMpe2Nhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUjp7dmFyIG4sYSx1O2lmKEYobj1lLGE9dCx1PXIsKDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkobixzLkZldGNoU3RyYXRlZ3kuUFBSLHUsdS5tZXRhZGF0YSksYS5rZXksdS5tZXRhZGF0YSksMD09PWZ1bmN0aW9uIGUodCxyLG4sYSxsKXtsZXQgdT0oMCxvLnJlYWRPckNyZWF0ZVNlZ21lbnRDYWNoZUVudHJ5KSh0LHIuZmV0Y2hTdHJhdGVneSxuLGwpO0YodCxyLG4sdSxyLmtleSxsKTtsZXQgaT1hWzFdLGM9bC5zbG90cztpZihudWxsIT09Yylmb3IobGV0IGEgaW4gYyl7aWYoIU8ocikpcmV0dXJuIDA7bGV0IGw9Y1thXSx1PWwuc2VnbWVudCxzPWlbYV0sZj1zPy5bMF07aWYoMD09PSh2b2lkIDAhPT1mJiZrKG4sdSxmKT9lKHQscixuLHMsbCk6ZnVuY3Rpb24gZSh0LHIsbixhKXtpZihhLmhhc1J1bnRpbWVQcmVmZXRjaClyZXR1cm4gbnVsbD09PXIuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzP3Iuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzPW5ldyBTZXQoW2EucmVxdWVzdEtleV0pOnIuc3Bhd25lZFJ1bnRpbWVQcmVmZXRjaGVzLmFkZChhLnJlcXVlc3RLZXkpLDI7bGV0IGw9KDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkodCxyLmZldGNoU3RyYXRlZ3ksbixhKTtpZihGKHQscixuLGwsci5rZXksYSksbnVsbCE9PWEuc2xvdHMpe2lmKCFPKHIpKXJldHVybiAwO2ZvcihsZXQgbCBpbiBhLnNsb3RzKWlmKDA9PT1lKHQscixuLGEuc2xvdHNbbF0pKXJldHVybiAwfXJldHVybiAyfSh0LHIsbixsKSkpcmV0dXJuIDB9cmV0dXJuIDJ9KGUsdCxyLHQudHJlZUF0VGltZU9mUHJlZmV0Y2gsaSkpcmV0dXJuIDA7bGV0IGw9dC5zcGF3bmVkUnVudGltZVByZWZldGNoZXM7aWYobnVsbCE9PWwpe2xldCBuPW5ldyBNYXA7TihlLHQscixuLHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lKTtsZXQgYT1mdW5jdGlvbiBlKHQscixuLGEsbCx1KXtpZihsLmhhcyhhLnJlcXVlc3RLZXkpKXJldHVybiB3KHQscixuLGEsITEsdSxzLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSk7bGV0IG89e30saT1hLnNsb3RzO2lmKG51bGwhPT1pKWZvcihsZXQgYSBpbiBpKXtsZXQgYz1pW2FdO29bYV09ZSh0LHIsbixjLGwsdSl9cmV0dXJuW2Euc2VnbWVudCxvLG51bGwsbnVsbF19KGUsdCxyLGksbCxuKTtuLnNpemU+MCYmaigoMCxvLmZldGNoU2VnbWVudFByZWZldGNoZXNVc2luZ0R5bmFtaWNSZXF1ZXN0KSh0LHIscy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWUsYSxuKSl9cmV0dXJuIDJ9Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpjYXNlIHMuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LkxvYWRpbmdCb3VuZGFyeTp7bGV0IG49bmV3IE1hcDtOKGUsdCxyLG4sYyk7bGV0IGE9ZnVuY3Rpb24gZSh0LHIsbixhLHUsaSxjKXtsZXQgZj1hWzFdLGQ9dS5zbG90cyxoPXt9O2lmKG51bGwhPT1kKWZvcihsZXQgYSBpbiBkKXtsZXQgdT1kW2FdLHA9dS5zZWdtZW50LHk9ZlthXSxnPXk/LlswXTtpZih2b2lkIDAhPT1nJiZrKG4scCxnKSl7bGV0IGw9ZSh0LHIsbix5LHUsaSxjKTtoW2FdPWx9ZWxzZSBzd2l0Y2goYyl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5OntsZXQgZT11Lmhhc0xvYWRpbmdCb3VuZGFyeSE9PWwuSGFzTG9hZGluZ0JvdW5kYXJ5LlN1YnRyZWVIYXNOb0xvYWRpbmdCb3VuZGFyeT9mdW5jdGlvbiBlKHQscixuLGEsdSxpKXtsZXQgYz1udWxsPT09dT8iaW5zaWRlLXNoYXJlZC1sYXlvdXQiOm51bGwsZj0oMCxvLnJlYWRPckNyZWF0ZVNlZ21lbnRDYWNoZUVudHJ5KSh0LHIuZmV0Y2hTdHJhdGVneSxuLGEpO3N3aXRjaChmLnN0YXR1cyl7Y2FzZSBvLkVudHJ5U3RhdHVzLkVtcHR5Omkuc2V0KGEucmVxdWVzdEtleSwoMCxvLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShmLHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnkpKSwicmVmZXRjaCIhPT11JiYoYz11PSJyZWZldGNoIik7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZDppZihhLmhhc0xvYWRpbmdCb3VuZGFyeT09PWwuSGFzTG9hZGluZ0JvdW5kYXJ5LlNlZ21lbnRIYXNMb2FkaW5nQm91bmRhcnkpcmV0dXJuKDAsby5jb252ZXJ0Um91dGVUcmVlVG9GbGlnaHRSb3V0ZXJTdGF0ZSkoYSk7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOn1sZXQgZD17fTtpZihudWxsIT09YS5zbG90cylmb3IobGV0IGwgaW4gYS5zbG90cyl7bGV0IG89YS5zbG90c1tsXTtkW2xdPWUodCxyLG4sbyx1LGkpfXJldHVyblthLnNlZ21lbnQsZCxudWxsLGMsYS5pc1Jvb3RMYXlvdXRdfSh0LHIsbix1LG51bGwsaSk6KDAsby5jb252ZXJ0Um91dGVUcmVlVG9GbGlnaHRSb3V0ZXJTdGF0ZSkodSk7aFthXT1lO2JyZWFrfWNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6e2xldCBlPXcodCxyLG4sdSwhMSxpLGMpO2hbYV09ZTticmVha31jYXNlIHMuRmV0Y2hTdHJhdGVneS5GdWxsOntsZXQgZT13KHQscixuLHUsITEsaSxjKTtoW2FdPWV9fX1yZXR1cm5bdS5zZWdtZW50LGgsbnVsbCxudWxsLHUuaXNSb290TGF5b3V0XX0oZSx0LHIsdC50cmVlQXRUaW1lT2ZQcmVmZXRjaCxpLG4sYyk7cmV0dXJuIG4uc2l6ZT4wJiZqKCgwLG8uZmV0Y2hTZWdtZW50UHJlZmV0Y2hlc1VzaW5nRHluYW1pY1JlcXVlc3QpKHQscixjLGEsbikpLDJ9fX19cmV0dXJuIDJ9KGUsdCxuKTtpZigwIT09YSYmIiIhPT1yLnNlYXJjaCl7bGV0IG49bmV3IFVSTChyLnBhdGhuYW1lLGxvY2F0aW9uLm9yaWdpbiksYT0oMCxjLmNyZWF0ZUNhY2hlS2V5KShuLmhyZWYsci5uZXh0VXJsKSxsPSgwLG8ucmVhZE9yQ3JlYXRlUm91dGVDYWNoZUVudHJ5KShlLHQsYSk7c3dpdGNoKGwuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6Qyh0KSYmKGwuc3RhdHVzPW8uRW50cnlTdGF0dXMuUGVuZGluZyxqKCgwLG8uZmV0Y2hSb3V0ZU9uQ2FjaGVNaXNzKShsLHQsYSkpKTtjYXNlIG8uRW50cnlTdGF0dXMuUGVuZGluZzpjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOmNhc2Ugby5FbnRyeVN0YXR1cy5SZWplY3RlZDp9fXJldHVybiBhfShlLHQpLG49dC5oYXNCYWNrZ3JvdW5kV29yaztzd2l0Y2godC5oYXNCYWNrZ3JvdW5kV29yaz0hMSx0LnNwYXduZWRSdW50aW1lUHJlZmV0Y2hlcz1udWxsLHIpe2Nhc2UgMDpyZXR1cm47Y2FzZSAxOlYoaCksdD1LKGgpO2NvbnRpbnVlO2Nhc2UgMjoxPT09dC5waGFzZT8odC5waGFzZT0wLHEoaCx0KSk6bj8odC5wcmlvcml0eT1zLlByZWZldGNoUHJpb3JpdHkuQmFja2dyb3VuZCxxKGgsdCkpOlYoaCksdD1LKGgpO2NvbnRpbnVlfX19ZnVuY3Rpb24gQyhlKXtyZXR1cm4gZS5wcmlvcml0eT09PXMuUHJlZmV0Y2hQcmlvcml0eS5CYWNrZ3JvdW5kfHwoZS5oYXNCYWNrZ3JvdW5kV29yaz0hMCwhMSl9ZnVuY3Rpb24gTihlLHQscixuLGEpe3coZSx0LHIsci5tZXRhZGF0YSwhMSxuLGE9PT1zLkZldGNoU3RyYXRlZ3kuTG9hZGluZ0JvdW5kYXJ5P3MuRmV0Y2hTdHJhdGVneS5GdWxsOmEpfWZ1bmN0aW9uIHcoZSx0LHIsbixhLGwsdSl7bGV0IGk9KDAsby5yZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeSkoZSx1LHIsbiksYz1udWxsO3N3aXRjaChpLnN0YXR1cyl7Y2FzZSBvLkVudHJ5U3RhdHVzLkVtcHR5OmM9KDAsby51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkoaSx1KTticmVhaztjYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOmkuaXNQYXJ0aWFsJiYoMCxvLmNhbk5ld0ZldGNoU3RyYXRlZ3lQcm92aWRlTW9yZUNvbnRlbnQpKGkuZmV0Y2hTdHJhdGVneSx1KSYmKGM9TChlLHIsbix1KSk7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOigwLG8uY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudCkoaS5mZXRjaFN0cmF0ZWd5LHUpJiYoYz1MKGUscixuLHUpKX1sZXQgcz17fTtpZihudWxsIT09bi5zbG90cylmb3IobGV0IG8gaW4gbi5zbG90cyl7bGV0IGk9bi5zbG90c1tvXTtzW29dPXcoZSx0LHIsaSxhfHxudWxsIT09YyxsLHUpfW51bGwhPT1jJiZsLnNldChuLnJlcXVlc3RLZXksYyk7bGV0IGY9YXx8bnVsbD09PWM/bnVsbDoicmVmZXRjaCI7cmV0dXJuW24uc2VnbWVudCxzLG51bGwsZixuLmlzUm9vdExheW91dF19ZnVuY3Rpb24gRihlLHQscixuLGEsbCl7c3dpdGNoKG4uc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6aigoMCxvLmZldGNoU2VnbWVudE9uQ2FjaGVNaXNzKShyLCgwLG8udXBncmFkZVRvUGVuZGluZ1NlZ21lbnQpKG4scy5GZXRjaFN0cmF0ZWd5LlBQUiksYSxsKSk7YnJlYWs7Y2FzZSBvLkVudHJ5U3RhdHVzLlBlbmRpbmc6c3dpdGNoKG4uZmV0Y2hTdHJhdGVneSl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuUFBSOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6Qyh0KSYmSShlLHIsYSxsKTticmVhaztkZWZhdWx0Om4uZmV0Y2hTdHJhdGVneX1icmVhaztjYXNlIG8uRW50cnlTdGF0dXMuUmVqZWN0ZWQ6c3dpdGNoKG4uZmV0Y2hTdHJhdGVneSl7Y2FzZSBzLkZldGNoU3RyYXRlZ3kuUFBSOmNhc2Ugcy5GZXRjaFN0cmF0ZWd5LlBQUlJ1bnRpbWU6Y2FzZSBzLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIHMuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6SShlLHIsYSxsKTticmVhaztkZWZhdWx0Om4uZmV0Y2hTdHJhdGVneX1jYXNlIG8uRW50cnlTdGF0dXMuRnVsZmlsbGVkOn19ZnVuY3Rpb24gSShlLHQscixuKXtsZXQgYT0oMCxvLnJlYWRPckNyZWF0ZVJldmFsaWRhdGluZ1NlZ21lbnRFbnRyeSkoZSxzLkZldGNoU3RyYXRlZ3kuUFBSLHQsbik7c3dpdGNoKGEuc3RhdHVzKXtjYXNlIG8uRW50cnlTdGF0dXMuRW1wdHk6eChqKCgwLG8uZmV0Y2hTZWdtZW50T25DYWNoZU1pc3MpKHQsKDAsby51cGdyYWRlVG9QZW5kaW5nU2VnbWVudCkoYSxzLkZldGNoU3RyYXRlZ3kuUFBSKSxyLG4pKSwoMCxpLmdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3QpKHMuRmV0Y2hTdHJhdGVneS5QUFIsbikpO2Nhc2Ugby5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2Ugby5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOn19ZnVuY3Rpb24gTChlLHQscixuKXtsZXQgYT0oMCxvLnJlYWRPckNyZWF0ZVJldmFsaWRhdGluZ1NlZ21lbnRFbnRyeSkoZSxuLHQscik7aWYoYS5zdGF0dXM9PT1vLkVudHJ5U3RhdHVzLkVtcHR5KXtsZXQgZT0oMCxvLnVwZ3JhZGVUb1BlbmRpbmdTZWdtZW50KShhLG4pO3JldHVybiB4KCgwLG8ud2FpdEZvclNlZ21lbnRDYWNoZUVudHJ5KShlKSwoMCxpLmdldFNlZ21lbnRWYXJ5UGF0aEZvclJlcXVlc3QpKG4scikpLGV9aWYoKDAsby5jYW5OZXdGZXRjaFN0cmF0ZWd5UHJvdmlkZU1vcmVDb250ZW50KShhLmZldGNoU3RyYXRlZ3ksbikpe2xldCBlPSgwLG8ub3ZlcndyaXRlUmV2YWxpZGF0aW5nU2VnbWVudENhY2hlRW50cnkpKG4sdCxyKSxhPSgwLG8udXBncmFkZVRvUGVuZGluZ1NlZ21lbnQpKGUsbik7cmV0dXJuIHgoKDAsby53YWl0Rm9yU2VnbWVudENhY2hlRW50cnkpKGEpLCgwLGkuZ2V0U2VnbWVudFZhcnlQYXRoRm9yUmVxdWVzdCkobixyKSksYX1zd2l0Y2goYS5zdGF0dXMpe2Nhc2Ugby5FbnRyeVN0YXR1cy5QZW5kaW5nOmNhc2Ugby5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6Y2FzZSBvLkVudHJ5U3RhdHVzLlJlamVjdGVkOmRlZmF1bHQ6cmV0dXJuIG51bGx9fWxldCBEPSgpPT57fTtmdW5jdGlvbiB4KGUsdCl7ZS50aGVuKGU9PntudWxsIT09ZSYmKDAsby51cHNlcnRTZWdtZW50RW50cnkpKERhdGUubm93KCksdCxlKX0sRCl9ZnVuY3Rpb24gayhlLHQscil7cmV0dXJuIHI9PT1mLlBBR0VfU0VHTUVOVF9LRVk/dD09PSgwLGYuYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudCkoZi5QQUdFX1NFR01FTlRfS0VZLE9iamVjdC5mcm9tRW50cmllcyhuZXcgVVJMU2VhcmNoUGFyYW1zKGUucmVuZGVyZWRTZWFyY2gpKSk6KDAsdS5tYXRjaFNlZ21lbnQpKHIsdCl9ZnVuY3Rpb24gSChlLHQpe2xldCByPXQucHJpb3JpdHktZS5wcmlvcml0eTtpZigwIT09cilyZXR1cm4gcjtsZXQgbj10LnBoYXNlLWUucGhhc2U7cmV0dXJuIDAhPT1uP246dC5zb3J0SWQtZS5zb3J0SWR9ZnVuY3Rpb24gQihlLHQpe2xldCByPWUubGVuZ3RoO2UucHVzaCh0KSx0Ll9oZWFwSW5kZXg9cixHKGUsdCxyKX1mdW5jdGlvbiBLKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIFYoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiBudWxsO2xldCB0PWVbMF07dC5faGVhcEluZGV4PS0xO2xldCByPWUucG9wKCk7cmV0dXJuIHIhPT10JiYoZVswXT1yLHIuX2hlYXBJbmRleD0wLHooZSxyLDApKSx0fWZ1bmN0aW9uIHEoZSx0KXtsZXQgcj10Ll9oZWFwSW5kZXg7LTEhPT1yJiYoMD09PXI/eihlLHQsMCk6SChlW3ItMT4+PjFdLHQpPjA/RyhlLHQscik6eihlLHQscikpfWZ1bmN0aW9uIEcoZSx0LHIpe2xldCBuPXI7Zm9yKDtuPjA7KXtsZXQgcj1uLTE+Pj4xLGE9ZVtyXTtpZighKEgoYSx0KT4wKSlyZXR1cm47ZVtyXT10LHQuX2hlYXBJbmRleD1yLGVbbl09YSxhLl9oZWFwSW5kZXg9bixuPXJ9fWZ1bmN0aW9uIHooZSx0LHIpe2xldCBuPXIsYT1lLmxlbmd0aCxsPWE+Pj4xO2Zvcig7bjxsOyl7bGV0IHI9KG4rMSkqMi0xLGw9ZVtyXSx1PXIrMSxvPWVbdV07aWYoMD5IKGwsdCkpdTxhJiYwPkgobyxsKT8oZVtuXT1vLG8uX2hlYXBJbmRleD1uLGVbdV09dCx0Ll9oZWFwSW5kZXg9dSxuPXUpOihlW25dPWwsbC5faGVhcEluZGV4PW4sZVtyXT10LHQuX2hlYXBJbmRleD1yLG49cik7ZWxzZXtpZighKHU8YSYmMD5IKG8sdCkpKXJldHVybjtlW25dPW8sby5faGVhcEluZGV4PW4sZVt1XT10LHQuX2hlYXBJbmRleD11LG49dX19fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk4MDYzLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtsZXQgdD1lLmluZGV4T2YoIiMiKSxyPWUuaW5kZXhPZigiPyIpLG49cj4tMSYmKHQ8MHx8cjx0KTtyZXR1cm4gbnx8dD4tMT97cGF0aG5hbWU6ZS5zdWJzdHJpbmcoMCxuP3I6dCkscXVlcnk6bj9lLnN1YnN0cmluZyhyLHQ+LTE/dDp2b2lkIDApOiIiLGhhc2g6dD4tMT9lLnNsaWNlKHQpOiIifTp7cGF0aG5hbWU6ZSxxdWVyeToiIixoYXNoOiIifX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInBhcnNlUGF0aCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSl9LDkwNTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFkZFBhdGhQcmVmaXgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5ODA2Myk7ZnVuY3Rpb24gYShlLHQpe2lmKCFlLnN0YXJ0c1dpdGgoIi8iKXx8IXQpcmV0dXJuIGU7bGV0e3BhdGhuYW1lOnIscXVlcnk6YSxoYXNoOmx9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm5gJHt0fSR7cn0ke2F9JHtsfWB9fSw5ODk0NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7cmV0dXJuIGUucmVwbGFjZSgvXC8kLywiIil8fCIvIn1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlbW92ZVRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pfSw2MTgwNywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig5ODk0NyksYT1lLnIoOTgwNjMpLGw9ZT0+e2lmKCFlLnN0YXJ0c1dpdGgoIi8iKSlyZXR1cm4gZTtsZXR7cGF0aG5hbWU6dCxxdWVyeTpyLGhhc2g6bH09KDAsYS5wYXJzZVBhdGgpKGUpO3JldHVybmAkeygwLG4ucmVtb3ZlVHJhaWxpbmdTbGFzaCkodCl9JHtyfSR7bH1gfTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNDg1NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWRkQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBsfX0pO2xldCBuPWUucig5MDU4KSxhPWUucig2MTgwNyk7ZnVuY3Rpb24gbChlLHQpe3JldHVybigwLGEubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKCgwLG4uYWRkUGF0aFByZWZpeCkoZSwiIikpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI5MzYyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVQcmVmZXRjaFVSTDpmdW5jdGlvbigpe3JldHVybiBpfSxpc0V4dGVybmFsVVJMOmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDM0NjUpLHU9ZS5yKDE0ODU3KTtmdW5jdGlvbiBvKGUpe3JldHVybiBlLm9yaWdpbiE9PXdpbmRvdy5sb2NhdGlvbi5vcmlnaW59ZnVuY3Rpb24gaShlKXtsZXQgdDtpZigoMCxsLmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkpcmV0dXJuIG51bGw7dHJ5e3Q9bmV3IFVSTCgoMCx1LmFkZEJhc2VQYXRoKShlKSx3aW5kb3cubG9jYXRpb24uaHJlZil9Y2F0Y2godCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBDYW5ub3QgcHJlZmV0Y2ggJyR7ZX0nIGJlY2F1c2UgaXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFVSTC5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIzNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1yZXR1cm4gbyh0KT9udWxsOnR9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sOTgyODMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0lETEVfTElOS19TVEFUVVM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sUEVORElOR19MSU5LX1NUQVRVUzpmdW5jdGlvbigpe3JldHVybiBzfSxtb3VudEZvcm1JbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiB2fSxtb3VudExpbmtJbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBQfSxvbkxpbmtWaXNpYmlsaXR5Q2hhbmdlZDpmdW5jdGlvbigpe3JldHVybiBtfSxvbk5hdmlnYXRpb25JbnRlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gYn0scGluZ1Zpc2libGVMaW5rczpmdW5jdGlvbigpe3JldHVybiBUfSxzZXRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gZH0sdW5tb3VudExpbmtGb3JDdXJyZW50TmF2aWdhdGlvbjpmdW5jdGlvbigpe3JldHVybiBofSx1bm1vdW50UHJlZmV0Y2hhYmxlSW5zdGFuY2U6ZnVuY3Rpb24oKXtyZXR1cm4gRX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoNTI0MTMpLHU9ZS5yKDE2MzE2KSxvPWUucig3NTc4MCksaT1lLnIoNzUyMDEpLGM9bnVsbCxzPXtwZW5kaW5nOiEwfSxmPXtwZW5kaW5nOiExfTtmdW5jdGlvbiBkKGUpeygwLGkuc3RhcnRUcmFuc2l0aW9uKSgoKT0+e2M/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKGYpLGU/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKHMpLGM9ZX0pfWZ1bmN0aW9uIGgoZSl7Yz09PWUmJihjPW51bGwpfWxldCBwPSJmdW5jdGlvbiI9PXR5cGVvZiBXZWFrTWFwP25ldyBXZWFrTWFwOm5ldyBNYXAseT1uZXcgU2V0LGc9ImZ1bmN0aW9uIj09dHlwZW9mIEludGVyc2VjdGlvbk9ic2VydmVyP25ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihmdW5jdGlvbihlKXtmb3IobGV0IHQgb2YgZSl7bGV0IGU9dC5pbnRlcnNlY3Rpb25SYXRpbz4wO20odC50YXJnZXQsZSl9fSx7cm9vdE1hcmdpbjoiMjAwcHgifSk6bnVsbDtmdW5jdGlvbiBSKGUsdCl7dm9pZCAwIT09cC5nZXQoZSkmJkUoZSkscC5zZXQoZSx0KSxudWxsIT09ZyYmZy5vYnNlcnZlKGUpfWZ1bmN0aW9uIF8odCl7aWYoISgidSI+dHlwZW9mIHdpbmRvdykpcmV0dXJuIG51bGw7e2xldHtjcmVhdGVQcmVmZXRjaFVSTDpyfT1lLnIoMjkzNjIpO3RyeXtyZXR1cm4gcih0KX1jYXRjaHtyZXR1cm4oImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmNvbnNvbGUuZXJyb3IpKGBDYW5ub3QgcHJlZmV0Y2ggJyR7dH0nIGJlY2F1c2UgaXQgY2Fubm90IGJlIGNvbnZlcnRlZCB0byBhIFVSTC5gKSxudWxsfX19ZnVuY3Rpb24gUChlLHQscixuLGEsbCl7aWYoYSl7bGV0IGE9Xyh0KTtpZihudWxsIT09YSl7bGV0IHQ9e3JvdXRlcjpyLGZldGNoU3RyYXRlZ3k6bixpc1Zpc2libGU6ITEscHJlZmV0Y2hUYXNrOm51bGwscHJlZmV0Y2hIcmVmOmEuaHJlZixzZXRPcHRpbWlzdGljTGlua1N0YXR1czpsfTtyZXR1cm4gUihlLHQpLHR9fXJldHVybntyb3V0ZXI6cixmZXRjaFN0cmF0ZWd5Om4saXNWaXNpYmxlOiExLHByZWZldGNoVGFzazpudWxsLHByZWZldGNoSHJlZjpudWxsLHNldE9wdGltaXN0aWNMaW5rU3RhdHVzOmx9fWZ1bmN0aW9uIHYoZSx0LHIsbil7bGV0IGE9Xyh0KTtudWxsPT09YXx8UihlLHtyb3V0ZXI6cixmZXRjaFN0cmF0ZWd5Om4saXNWaXNpYmxlOiExLHByZWZldGNoVGFzazpudWxsLHByZWZldGNoSHJlZjphLmhyZWYsc2V0T3B0aW1pc3RpY0xpbmtTdGF0dXM6bnVsbH0pfWZ1bmN0aW9uIEUoZSl7bGV0IHQ9cC5nZXQoZSk7aWYodm9pZCAwIT09dCl7cC5kZWxldGUoZSkseS5kZWxldGUodCk7bGV0IHI9dC5wcmVmZXRjaFRhc2s7bnVsbCE9PXImJigwLG8uY2FuY2VsUHJlZmV0Y2hUYXNrKShyKX1udWxsIT09ZyYmZy51bm9ic2VydmUoZSl9ZnVuY3Rpb24gbShlLHQpe2xldCByPXAuZ2V0KGUpO3ZvaWQgMCE9PXImJihyLmlzVmlzaWJsZT10LHQ/eS5hZGQocik6eS5kZWxldGUociksUyhyLGwuUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0KSl9ZnVuY3Rpb24gYihlLHQpe2xldCByPXAuZ2V0KGUpO3ZvaWQgMCE9PXImJnZvaWQgMCE9PXImJlMocixsLlByZWZldGNoUHJpb3JpdHkuSW50ZW50KX1mdW5jdGlvbiBTKHQscil7aWYoInUiPnR5cGVvZiB3aW5kb3cpe2xldCBuPXQucHJlZmV0Y2hUYXNrO2lmKCF0LmlzVmlzaWJsZSl7bnVsbCE9PW4mJigwLG8uY2FuY2VsUHJlZmV0Y2hUYXNrKShuKTtyZXR1cm59bGV0e2dldEN1cnJlbnRBcHBSb3V0ZXJTdGF0ZTphfT1lLnIoODQzOTUpLGw9YSgpO2lmKG51bGwhPT1sKXtsZXQgZT1sLnRyZWU7aWYobnVsbD09PW4pe2xldCBuPWwubmV4dFVybCxhPSgwLHUuY3JlYXRlQ2FjaGVLZXkpKHQucHJlZmV0Y2hIcmVmLG4pO3QucHJlZmV0Y2hUYXNrPSgwLG8uc2NoZWR1bGVQcmVmZXRjaFRhc2spKGEsZSx0LmZldGNoU3RyYXRlZ3kscixudWxsKX1lbHNlKDAsby5yZXNjaGVkdWxlUHJlZmV0Y2hUYXNrKShuLGUsdC5mZXRjaFN0cmF0ZWd5LHIpfX19ZnVuY3Rpb24gVChlLHQpe2ZvcihsZXQgciBvZiB5KXtsZXQgbj1yLnByZWZldGNoVGFzaztpZihudWxsIT09biYmISgwLG8uaXNQcmVmZXRjaFRhc2tEaXJ0eSkobixlLHQpKWNvbnRpbnVlO251bGwhPT1uJiYoMCxvLmNhbmNlbFByZWZldGNoVGFzaykobik7bGV0IGE9KDAsdS5jcmVhdGVDYWNoZUtleSkoci5wcmVmZXRjaEhyZWYsZSk7ci5wcmVmZXRjaFRhc2s9KDAsby5zY2hlZHVsZVByZWZldGNoVGFzaykoYSx0LHIuZmV0Y2hTdHJhdGVneSxsLlByZWZldGNoUHJpb3JpdHkuRGVmYXVsdCxudWxsKX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNDA0NjEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKCl7bGV0IGUsdCxyPW5ldyBQcm9taXNlKChyLG4pPT57ZT1yLHQ9bn0pO3JldHVybntyZXNvbHZlOmUscmVqZWN0OnQscHJvbWlzZTpyfX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KX0sNDQ2NjcsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYT17RW50cnlTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gU30sY2FuTmV3RmV0Y2hTdHJhdGVneVByb3ZpZGVNb3JlQ29udGVudDpmdW5jdGlvbigpe3JldHVybiBlYX0sY29udmVydFJvdXRlVHJlZVRvRmxpZ2h0Um91dGVyU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24gZSh0KXtsZXQgcj17fTtpZihudWxsIT09dC5zbG90cylmb3IobGV0IG4gaW4gdC5zbG90cylyW25dPWUodC5zbG90c1tuXSk7cmV0dXJuW3Quc2VnbWVudCxyLG51bGwsbnVsbCx0LmlzUm9vdExheW91dF19fSxjcmVhdGVEZXRhY2hlZFNlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LGZldGNoUm91dGVPbkNhY2hlTWlzczpmdW5jdGlvbigpe3JldHVybiAkfSxmZXRjaFNlZ21lbnRPbkNhY2hlTWlzczpmdW5jdGlvbigpe3JldHVybiBRfSxmZXRjaFNlZ21lbnRQcmVmZXRjaGVzVXNpbmdEeW5hbWljUmVxdWVzdDpmdW5jdGlvbigpe3JldHVybiBKfSxnZXRDdXJyZW50Q2FjaGVWZXJzaW9uOmZ1bmN0aW9uKCl7cmV0dXJuIFV9LGdldFN0YWxlVGltZU1zOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LG92ZXJ3cml0ZVJldmFsaWRhdGluZ1NlZ21lbnRDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEJ9LHBpbmdJbnZhbGlkYXRpb25MaXN0ZW5lcnM6ZnVuY3Rpb24oKXtyZXR1cm4gTn0scmVhZE9yQ3JlYXRlUmV2YWxpZGF0aW5nU2VnbWVudEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEh9LHJlYWRPckNyZWF0ZVJvdXRlQ2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBMfSxyZWFkT3JDcmVhdGVTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBrfSxyZWFkUm91dGVDYWNoZUVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIHd9LHJlYWRTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBGfSxyZXF1ZXN0T3B0aW1pc3RpY1JvdXRlQ2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBEfSxyZXZhbGlkYXRlRW50aXJlQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gQ30sdXBncmFkZVRvUGVuZGluZ1NlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gcX0sdXBzZXJ0U2VnbWVudEVudHJ5OmZ1bmN0aW9uKCl7cmV0dXJuIEt9LHdhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeTpmdW5jdGlvbigpe3JldHVybiBJfX07Zm9yKHZhciBsIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbCx7ZW51bWVyYWJsZTohMCxnZXQ6YVtsXX0pO2xldCB1PWUucigyNDQ1Nyksbz1lLnIoMzQ2NDEpLGk9ZS5yKDExMDYpLGM9ZS5yKDc1NzgwKSxzPWUucig2NTg5MyksZj1lLnIoNjE3MDYpLGQ9ZS5yKDg1NTk0KSxoPWUucigxNjMxNikscD1lLnIoODgwNjIpLHk9ZS5yKDc1NzQ1KSxnPWUucig0NjIxOSksUj1lLnIoNjc2MjgpLF89ZS5yKDU0MDExKSxQPWUucig5ODI4Myksdj1lLnIoMjc0NTQpLEU9ZS5yKDUyNDEzKSxtPWUucig0MDQ2MSk7ZnVuY3Rpb24gYihlKXtyZXR1cm4gMWUzKk1hdGgubWF4KGUsMzApfXZhciBTPSgobj17fSlbbi5FbXB0eT0wXT0iRW1wdHkiLG5bbi5QZW5kaW5nPTFdPSJQZW5kaW5nIixuW24uRnVsZmlsbGVkPTJdPSJGdWxmaWxsZWQiLG5bbi5SZWplY3RlZD0zXT0iUmVqZWN0ZWQiLG4pO2xldCBUPVsiIix7fSxudWxsLCJtZXRhZGF0YS1vbmx5Il0sTz0oMCx5LmNyZWF0ZUNhY2hlTWFwKSgpLGo9KDAseS5jcmVhdGVDYWNoZU1hcCkoKSxNPW51bGwsQT0wO2Z1bmN0aW9uIFUoKXtyZXR1cm4gQX1mdW5jdGlvbiBDKGUsdCl7QSsrLCgwLGMuc3RhcnRSZXZhbGlkYXRpb25Db29sZG93bikoKSwoMCxQLnBpbmdWaXNpYmxlTGlua3MpKGUsdCksTihlLHQpfWZ1bmN0aW9uIE4oZSx0KXtpZihudWxsIT09TSl7bGV0IHI9TTtmb3IobGV0IG4gb2YoTT1udWxsLHIpKSgwLGMuaXNQcmVmZXRjaFRhc2tEaXJ0eSkobixlLHQpJiZmdW5jdGlvbihlKXtsZXQgdD1lLm9uSW52YWxpZGF0ZTtpZihudWxsIT09dCl7ZS5vbkludmFsaWRhdGU9bnVsbDt0cnl7dCgpfWNhdGNoKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcihlKTpjb25zb2xlLmVycm9yKGUpfX19KG4pfX1mdW5jdGlvbiB3KGUsdCl7bGV0IHI9KDAscy5nZXRSb3V0ZVZhcnlQYXRoKSh0LnBhdGhuYW1lLHQuc2VhcmNoLHQubmV4dFVybCk7cmV0dXJuKDAseS5nZXRGcm9tQ2FjaGVNYXApKGUsQSxPLHIsITEpfWZ1bmN0aW9uIEYoZSx0KXtyZXR1cm4oMCx5LmdldEZyb21DYWNoZU1hcCkoZSxBLGosdCwhMSl9ZnVuY3Rpb24gSShlKXtsZXQgdD1lLnByb21pc2U7cmV0dXJuIG51bGw9PT10JiYodD1lLnByb21pc2U9KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSksdC5wcm9taXNlfWZ1bmN0aW9uIEwoZSx0LHIpe251bGwhPT10Lm9uSW52YWxpZGF0ZSYmKG51bGw9PT1NP009bmV3IFNldChbdF0pOk0uYWRkKHQpKTtsZXQgbj13KGUscik7aWYobnVsbCE9PW4pcmV0dXJuIG47bGV0IGE9e2Nhbm9uaWNhbFVybDpudWxsLHN0YXR1czowLGJsb2NrZWRUYXNrczpudWxsLHRyZWU6bnVsbCxtZXRhZGF0YTpudWxsLGNvdWxkQmVJbnRlcmNlcHRlZDohMCxpc1BQUkVuYWJsZWQ6ITEscmVuZGVyZWRTZWFyY2g6bnVsbCxyZWY6bnVsbCxzaXplOjAsc3RhbGVBdDoxLzAsdmVyc2lvbjpBfSxsPSgwLHMuZ2V0Um91dGVWYXJ5UGF0aCkoci5wYXRobmFtZSxyLnNlYXJjaCxyLm5leHRVcmwpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoTyxsLGEsITEpLGF9ZnVuY3Rpb24gRChlLHQscil7bGV0IG49dC5zZWFyY2g7aWYoIiI9PT1uKXJldHVybiBudWxsO2xldCBhPW5ldyBVUkwodCk7YS5zZWFyY2g9IiI7bGV0IGw9dyhlLCgwLGguY3JlYXRlQ2FjaGVLZXkpKGEuaHJlZixyKSk7aWYobnVsbD09PWx8fDIhPT1sLnN0YXR1cylyZXR1cm4gbnVsbDtsZXQgdT1uZXcgVVJMKGwuY2Fub25pY2FsVXJsLHQub3JpZ2luKSxvPSIiIT09dS5zZWFyY2g/dS5zZWFyY2g6bixpPSIiIT09bC5yZW5kZXJlZFNlYXJjaD9sLnJlbmRlcmVkU2VhcmNoOm4sYz1uZXcgVVJMKGwuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbik7cmV0dXJuIGMuc2VhcmNoPW8se2Nhbm9uaWNhbFVybDooMCxkLmNyZWF0ZUhyZWZGcm9tVXJsKShjKSxzdGF0dXM6MixibG9ja2VkVGFza3M6bnVsbCx0cmVlOngobC50cmVlLGkpLG1ldGFkYXRhOngobC5tZXRhZGF0YSxpKSxjb3VsZEJlSW50ZXJjZXB0ZWQ6bC5jb3VsZEJlSW50ZXJjZXB0ZWQsaXNQUFJFbmFibGVkOmwuaXNQUFJFbmFibGVkLHJlbmRlcmVkU2VhcmNoOmkscmVmOm51bGwsc2l6ZTowLHN0YWxlQXQ6bC5zdGFsZUF0LHZlcnNpb246bC52ZXJzaW9ufX1mdW5jdGlvbiB4KGUsdCl7bGV0IHI9bnVsbCxuPWUuc2xvdHM7aWYobnVsbCE9PW4pZm9yKGxldCBlIGluIHI9e30sbil7bGV0IGE9bltlXTtyW2VdPXgoYSx0KX1yZXR1cm4gZS5pc1BhZ2U/e3JlcXVlc3RLZXk6ZS5yZXF1ZXN0S2V5LHNlZ21lbnQ6ZS5zZWdtZW50LHZhcnlQYXRoOigwLHMuY2xvbmVQYWdlVmFyeVBhdGhXaXRoTmV3U2VhcmNoUGFyYW1zKShlLnZhcnlQYXRoLHQpLGlzUGFnZTohMCxzbG90czpyLGlzUm9vdExheW91dDplLmlzUm9vdExheW91dCxoYXNMb2FkaW5nQm91bmRhcnk6ZS5oYXNMb2FkaW5nQm91bmRhcnksaGFzUnVudGltZVByZWZldGNoOmUuaGFzUnVudGltZVByZWZldGNofTp7cmVxdWVzdEtleTplLnJlcXVlc3RLZXksc2VnbWVudDplLnNlZ21lbnQsdmFyeVBhdGg6ZS52YXJ5UGF0aCxpc1BhZ2U6ITEsc2xvdHM6cixpc1Jvb3RMYXlvdXQ6ZS5pc1Jvb3RMYXlvdXQsaGFzTG9hZGluZ0JvdW5kYXJ5OmUuaGFzTG9hZGluZ0JvdW5kYXJ5LGhhc1J1bnRpbWVQcmVmZXRjaDplLmhhc1J1bnRpbWVQcmVmZXRjaH19ZnVuY3Rpb24gayhlLHQscixuKXtsZXQgYT1GKGUsbi52YXJ5UGF0aCk7aWYobnVsbCE9PWEpcmV0dXJuIGE7bGV0IGw9KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG4pLHU9VihyLnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaixsLHUsITEpLHV9ZnVuY3Rpb24gSChlLHQscixuKXt2YXIgYTtsZXQgbD0oYT1uLnZhcnlQYXRoLCgwLHkuZ2V0RnJvbUNhY2hlTWFwKShlLEEsaixhLCEwKSk7aWYobnVsbCE9PWwpcmV0dXJuIGw7bGV0IHU9KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG4pLG89VihyLnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaix1LG8sITApLG99ZnVuY3Rpb24gQihlLHQscil7bGV0IG49KDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KShlLHIpLGE9Vih0LnN0YWxlQXQpO3JldHVybigwLHkuc2V0SW5DYWNoZU1hcCkoaixuLGEsITApLGF9ZnVuY3Rpb24gSyhlLHQscil7aWYoKDAseS5pc1ZhbHVlRXhwaXJlZCkoZSxBLHIpKXJldHVybiBudWxsO2xldCBuPUYoZSx0KTtpZihudWxsIT09bil7dmFyIGE7aWYoci5mZXRjaFN0cmF0ZWd5IT09bi5mZXRjaFN0cmF0ZWd5JiYoYT1uLmZldGNoU3RyYXRlZ3ksIShhPHIuZmV0Y2hTdHJhdGVneSkpfHwhbi5pc1BhcnRpYWwmJnIuaXNQYXJ0aWFsKXJldHVybiByLnN0YXR1cz0zLHIubG9hZGluZz1udWxsLHIucnNjPW51bGwsbnVsbDsoMCx5LmRlbGV0ZUZyb21DYWNoZU1hcCkobil9cmV0dXJuKDAseS5zZXRJbkNhY2hlTWFwKShqLHQsciwhMSkscn1mdW5jdGlvbiBWKGUpe3JldHVybntzdGF0dXM6MCxmZXRjaFN0cmF0ZWd5OkUuRmV0Y2hTdHJhdGVneS5QUFIscnNjOm51bGwsbG9hZGluZzpudWxsLGlzUGFydGlhbDohMCxwcm9taXNlOm51bGwscmVmOm51bGwsc2l6ZTowLHN0YWxlQXQ6ZSx2ZXJzaW9uOjB9fWZ1bmN0aW9uIHEoZSx0KXtyZXR1cm4gZS5zdGF0dXM9MSxlLmZldGNoU3RyYXRlZ3k9dCx0PT09RS5GZXRjaFN0cmF0ZWd5LkZ1bGwmJihlLmlzUGFydGlhbD0hMSksZS52ZXJzaW9uPUEsZX1mdW5jdGlvbiBHKGUpe2xldCB0PWUuYmxvY2tlZFRhc2tzO2lmKG51bGwhPT10KXtmb3IobGV0IGUgb2YgdCkoMCxjLnBpbmdQcmVmZXRjaFRhc2spKGUpO2UuYmxvY2tlZFRhc2tzPW51bGx9fWZ1bmN0aW9uIHooZSx0LHIsbixhLGwsbyxpKXtsZXQgYz17cmVxdWVzdEtleTpnLkhFQURfUkVRVUVTVF9LRVksc2VnbWVudDpnLkhFQURfUkVRVUVTVF9LRVksdmFyeVBhdGg6cixpc1BhZ2U6ITAsc2xvdHM6bnVsbCxpc1Jvb3RMYXlvdXQ6ITEsaGFzTG9hZGluZ0JvdW5kYXJ5OnUuSGFzTG9hZGluZ0JvdW5kYXJ5LlN1YnRyZWVIYXNOb0xvYWRpbmdCb3VuZGFyeSxoYXNSdW50aW1lUHJlZmV0Y2g6ITF9O3JldHVybiBlLnN0YXR1cz0yLGUudHJlZT10LGUubWV0YWRhdGE9YyxlLnN0YWxlQXQ9bixlLmNvdWxkQmVJbnRlcmNlcHRlZD1hLGUuY2Fub25pY2FsVXJsPWwsZS5yZW5kZXJlZFNlYXJjaD1vLGUuaXNQUFJFbmFibGVkPWksRyhlKSxlfWZ1bmN0aW9uIFgoZSx0LHIsbixhKXtyZXR1cm4gZS5zdGF0dXM9MixlLnJzYz10LGUubG9hZGluZz1yLGUuc3RhbGVBdD1uLGUuaXNQYXJ0aWFsPWEsbnVsbCE9PWUucHJvbWlzZSYmKGUucHJvbWlzZS5yZXNvbHZlKGUpLGUucHJvbWlzZT1udWxsKSxlfWZ1bmN0aW9uIFcoZSx0KXtlLnN0YXR1cz0zLGUuc3RhbGVBdD10LEcoZSl9ZnVuY3Rpb24gWShlLHQpe2Uuc3RhdHVzPTMsZS5zdGFsZUF0PXQsbnVsbCE9PWUucHJvbWlzZSYmKGUucHJvbWlzZS5yZXNvbHZlKG51bGwpLGUucHJvbWlzZT1udWxsKX1hc3luYyBmdW5jdGlvbiAkKGUsdCxyKXtsZXQgbj1yLnBhdGhuYW1lLGE9ci5zZWFyY2gsbD1yLm5leHRVcmwsYz17W28uUlNDX0hFQURFUl06IjEiLFtvLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl06IjEiLFtvLk5FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSXToiL190cmVlIn07bnVsbCE9PWwmJihjW28uTkVYVF9VUkxdPWwpO3RyeXtsZXQgcixoLFA9bmV3IFVSTChuK2EsbG9jYXRpb24ub3JpZ2luKTtpZihyPWF3YWl0IGVyKFAsYyksaD1udWxsIT09ciYmci5yZWRpcmVjdGVkP25ldyBVUkwoci51cmwpOlAsIXJ8fCFyLm9rfHwyMDQ9PT1yLnN0YXR1c3x8IXIuYm9keSlyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBTPSgwLGQuY3JlYXRlSHJlZkZyb21VcmwpKGgpLFQ9ci5oZWFkZXJzLmdldCgidmFyeSIpLGo9bnVsbCE9PVQmJlQuaW5jbHVkZXMoby5ORVhUX1VSTCksTT0oMCxtLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLEE9IjIiPT09ci5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUik7aWYoQSl7bGV0IHQsbixhPWVuKHIuYm9keSxNLnJlc29sdmUsZnVuY3Rpb24odCl7KDAseS5zZXRTaXplSW5DYWNoZU1hcCkoZSx0KX0pLGw9YXdhaXQgKDAsaS5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShhLGMpO2lmKGwuYnVpbGRJZCE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBvPSgwLHAuZ2V0UmVuZGVyZWRQYXRobmFtZSkociksZD0oMCxwLmdldFJlbmRlcmVkU2VhcmNoKShyKSxoPXttZXRhZGF0YVZhcnlQYXRoOm51bGx9LFI9KHQ9by5zcGxpdCgiLyIpLmZpbHRlcihlPT4iIiE9PWUpLG49Zy5ST09UX1NFR01FTlRfUkVRVUVTVF9LRVksZnVuY3Rpb24gZSh0LHIsbixhLGwsbyxpLGMpe2xldCBmLGQsaD1udWxsLHk9dC5zbG90cztpZihudWxsIT09eSlmb3IobGV0IHQgaW4gZj0hMSxkPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkoYSxuKSxoPXt9LHkpe2xldCByLHUsZixkPXlbdF0sUj1kLm5hbWUsXz1kLnBhcmFtVHlwZSxQPWQucGFyYW1LZXk7aWYobnVsbCE9PV8pe2xldCBlPSgwLHAucGFyc2VEeW5hbWljUGFyYW1Gcm9tVVJMUGFydCkoXyxsLG8pLHQ9bnVsbCE9PVA/UDooMCxwLmdldENhY2hlS2V5Rm9yRHluYW1pY1BhcmFtKShlLCIiKTtmPSgwLHMuYXBwZW5kTGF5b3V0VmFyeVBhdGgpKG4sdCksdT1bUix0LF9dLHI9ITB9ZWxzZSBmPW4sdT1SLHI9KDAscC5kb2VzU3RhdGljU2VnbWVudEFwcGVhckluVVJMKShSKTtsZXQgdj1yP28rMTpvLEU9KDAsZy5jcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQpKHUpLG09KDAsZy5hcHBlbmRTZWdtZW50UmVxdWVzdEtleVBhcnQpKGEsdCxFKTtoW3RdPWUoZCx1LGYsbSxsLHYsaSxjKX1lbHNlIGEuZW5kc1dpdGgodi5QQUdFX1NFR01FTlRfS0VZKT8oZj0hMCxkPSgwLHMuZmluYWxpemVQYWdlVmFyeVBhdGgpKGEsaSxuKSxudWxsPT09Yy5tZXRhZGF0YVZhcnlQYXRoJiYoYy5tZXRhZGF0YVZhcnlQYXRoPSgwLHMuZmluYWxpemVNZXRhZGF0YVZhcnlQYXRoKShhLGksbikpKTooZj0hMSxkPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkoYSxuKSk7cmV0dXJue3JlcXVlc3RLZXk6YSxzZWdtZW50OnIsdmFyeVBhdGg6ZCxpc1BhZ2U6ZixzbG90czpoLGlzUm9vdExheW91dDp0LmlzUm9vdExheW91dCxoYXNMb2FkaW5nQm91bmRhcnk6dS5IYXNMb2FkaW5nQm91bmRhcnkuU2VnbWVudEhhc0xvYWRpbmdCb3VuZGFyeSxoYXNSdW50aW1lUHJlZmV0Y2g6dC5oYXNSdW50aW1lUHJlZmV0Y2h9fShsLnRyZWUsbixudWxsLGcuUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZLHQsMCxkLGgpKSxfPWgubWV0YWRhdGFWYXJ5UGF0aDtpZihudWxsPT09XylyZXR1cm4gVyhlLERhdGUubm93KCkrMWU0KSxudWxsO2xldCBQPWIobC5zdGFsZVRpbWUpO3ooZSxSLF8sRGF0ZS5ub3coKStQLGosUyxkLEEpfWVsc2V7bGV0IG49ZW4oci5ib2R5LE0ucmVzb2x2ZSxmdW5jdGlvbih0KXsoMCx5LnNldFNpemVJbkNhY2hlTWFwKShlLHQpfSksYT1hd2FpdCAoMCxpLmNyZWF0ZUZyb21OZXh0UmVhZGFibGVTdHJlYW0pKG4sYyk7aWYoYS5iIT09KDAsZi5nZXRBcHBCdWlsZElkKSgpKXJldHVybiBXKGUsRGF0ZS5ub3coKSsxZTQpLG51bGw7IWZ1bmN0aW9uKGUsdCxyLG4sYSxsLGksYyxmKXtsZXQgZD0oMCxwLmdldFJlbmRlcmVkU2VhcmNoKShuKSxoPSgwLFIubm9ybWFsaXplRmxpZ2h0RGF0YSkoYS5mKTtpZigic3RyaW5nIj09dHlwZW9mIGh8fDEhPT1oLmxlbmd0aClyZXR1cm4gVyhsLGUrMWU0KTtsZXQgeT1oWzBdO2lmKCF5LmlzUm9vdFJlbmRlcilyZXR1cm4gVyhsLGUrMWU0KTtsZXQgUD15LnRyZWUsRT0ibnVtYmVyIj09dHlwZW9mIGEucnA/LlsxXT9hLnJwWzFdOnBhcnNlSW50KG4uaGVhZGVycy5nZXQoby5ORVhUX1JPVVRFUl9TVEFMRV9USU1FX0hFQURFUik/PyIiLDEwKSxtPWlzTmFOKEUpP18uU1RBVElDX1NUQUxFVElNRV9NUzpiKEUpLFM9IjEiPT09bi5oZWFkZXJzLmdldChvLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiksVD17bWV0YWRhdGFWYXJ5UGF0aDpudWxsfSxPPWZ1bmN0aW9uIGUodCxyLG4sYSxsKXtsZXQgbyxpLGMsZixkPXRbMF07aWYoQXJyYXkuaXNBcnJheShkKSl7Yz0hMTtsZXQgZT1kWzFdO2k9KDAscy5hcHBlbmRMYXlvdXRWYXJ5UGF0aCkobixlKSxmPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkocixpKSxvPWR9ZWxzZSBpPW4sci5lbmRzV2l0aCh2LlBBR0VfU0VHTUVOVF9LRVkpPyhjPSEwLG89di5QQUdFX1NFR01FTlRfS0VZLGY9KDAscy5maW5hbGl6ZVBhZ2VWYXJ5UGF0aCkocixhLGkpLG51bGw9PT1sLm1ldGFkYXRhVmFyeVBhdGgmJihsLm1ldGFkYXRhVmFyeVBhdGg9KDAscy5maW5hbGl6ZU1ldGFkYXRhVmFyeVBhdGgpKHIsYSxpKSkpOihjPSExLG89ZCxmPSgwLHMuZmluYWxpemVMYXlvdXRWYXJ5UGF0aCkocixpKSk7bGV0IGg9bnVsbCxwPXRbMV07Zm9yKGxldCB0IGluIHApe2xldCBuPXBbdF0sdT1uWzBdLG89KDAsZy5jcmVhdGVTZWdtZW50UmVxdWVzdEtleVBhcnQpKHUpLGM9ZShuLCgwLGcuYXBwZW5kU2VnbWVudFJlcXVlc3RLZXlQYXJ0KShyLHQsbyksaSxhLGwpO251bGw9PT1oP2g9e1t0XTpjfTpoW3RdPWN9cmV0dXJue3JlcXVlc3RLZXk6cixzZWdtZW50Om8sdmFyeVBhdGg6Zixpc1BhZ2U6YyxzbG90czpoLGlzUm9vdExheW91dDohMD09PXRbNF0saGFzTG9hZGluZ0JvdW5kYXJ5OnZvaWQgMCE9PXRbNV0/dFs1XTp1Lkhhc0xvYWRpbmdCb3VuZGFyeS5TdWJ0cmVlSGFzTm9Mb2FkaW5nQm91bmRhcnksaGFzUnVudGltZVByZWZldGNoOiExfX0oUCxnLlJPT1RfU0VHTUVOVF9SRVFVRVNUX0tFWSxudWxsLGQsVCksaj1ULm1ldGFkYXRhVmFyeVBhdGg7aWYobnVsbD09PWopcmV0dXJuIFcobCxlKzFlNCk7bGV0IE09eihsLE8saixlK20saSxjLGQsZik7ZWUoZSx0LHIsbixhLFMsTSxudWxsKX0oRGF0ZS5ub3coKSx0LEUuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnkscixhLGUsaixTLEEpfWlmKCFqKXtsZXQgdD0oMCxzLmdldEZ1bGZpbGxlZFJvdXRlVmFyeVBhdGgpKG4sYSxsLGopOygwLHkuc2V0SW5DYWNoZU1hcCkoTyx0LGUsITEpfXJldHVybnt2YWx1ZTpudWxsLGNsb3NlZDpNLnByb21pc2V9fWNhdGNoKHQpe3JldHVybiBXKGUsRGF0ZS5ub3coKSsxZTQpLG51bGx9fWFzeW5jIGZ1bmN0aW9uIFEoZSx0LHIsbil7bGV0IGE9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGw9ci5uZXh0VXJsLHU9bi5yZXF1ZXN0S2V5LGM9dT09PWcuUk9PVF9TRUdNRU5UX1JFUVVFU1RfS0VZPyIvX2luZGV4Ijp1LHM9e1tvLlJTQ19IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdOiIxIixbby5ORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUl06Y307bnVsbCE9PWwmJihzW28uTkVYVF9VUkxdPWwpO3RyeXtsZXQgcj1hd2FpdCBlcihhLHMpO2lmKCFyfHwhci5va3x8MjA0PT09ci5zdGF0dXN8fCIyIiE9PXIuaGVhZGVycy5nZXQoby5ORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIpfHwhci5ib2R5KXJldHVybiBZKHQsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IG49KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSxsPWVuKHIuYm9keSxuLnJlc29sdmUsZnVuY3Rpb24oZSl7KDAseS5zZXRTaXplSW5DYWNoZU1hcCkodCxlKX0pLHU9YXdhaXQgKDAsaS5jcmVhdGVGcm9tTmV4dFJlYWRhYmxlU3RyZWFtKShsLHMpO2lmKHUuYnVpbGRJZCE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gWSh0LERhdGUubm93KCkrMWU0KSxudWxsO3JldHVybnt2YWx1ZTpYKHQsdS5yc2MsdS5sb2FkaW5nLGUuc3RhbGVBdCx1LmlzUGFydGlhbCksY2xvc2VkOm4ucHJvbWlzZX19Y2F0Y2goZSl7cmV0dXJuIFkodCxEYXRlLm5vdygpKzFlNCksbnVsbH19YXN5bmMgZnVuY3Rpb24gSihlLHQscixuLGEpe2xldCBsPWUua2V5LHU9bmV3IFVSTCh0LmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLGM9bC5uZXh0VXJsOzE9PT1hLnNpemUmJmEuaGFzKHQubWV0YWRhdGEucmVxdWVzdEtleSkmJihuPVQpO2xldCBzPXtbby5SU0NfSEVBREVSXToiMSIsW28uTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVJdOigwLFIucHJlcGFyZUZsaWdodFJvdXRlclN0YXRlRm9yUmVxdWVzdCkobil9O3N3aXRjaChudWxsIT09YyYmKHNbby5ORVhUX1VSTF09Yykscil7Y2FzZSBFLkZldGNoU3RyYXRlZ3kuRnVsbDpicmVhaztjYXNlIEUuRmV0Y2hTdHJhdGVneS5QUFJSdW50aW1lOnNbby5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdPSIyIjticmVhaztjYXNlIEUuRmV0Y2hTdHJhdGVneS5Mb2FkaW5nQm91bmRhcnk6c1tvLk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl09IjEifXRyeXtsZXQgbj1hd2FpdCBlcih1LHMpO2lmKCFufHwhbi5va3x8IW4uYm9keXx8KDAscC5nZXRSZW5kZXJlZFNlYXJjaCkobikhPT10LnJlbmRlcmVkU2VhcmNoKXJldHVybiBaKGEsRGF0ZS5ub3coKSsxZTQpLG51bGw7bGV0IGw9KDAsbS5jcmVhdGVQcm9taXNlV2l0aFJlc29sdmVycykoKSxvPW51bGwsYz1lbihuLmJvZHksbC5yZXNvbHZlLGZ1bmN0aW9uKGUpe2lmKG51bGw9PT1vKXJldHVybjtsZXQgdD1lL28ubGVuZ3RoO2ZvcihsZXQgZSBvZiBvKSgwLHkuc2V0U2l6ZUluQ2FjaGVNYXApKGUsdCl9KSxmPWF3YWl0ICgwLGkuY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbSkoYyxzKSxkPXI9PT1FLkZldGNoU3RyYXRlZ3kuUFBSUnVudGltZSYmZi5ycD8uWzBdPT09ITA7cmV0dXJuIG89ZWUoRGF0ZS5ub3coKSxlLHIsbixmLGQsdCxhKSx7dmFsdWU6bnVsbCxjbG9zZWQ6bC5wcm9taXNlfX1jYXRjaChlKXtyZXR1cm4gWihhLERhdGUubm93KCkrMWU0KSxudWxsfX1mdW5jdGlvbiBaKGUsdCl7bGV0IHI9W107Zm9yKGxldCBuIG9mIGUudmFsdWVzKCkpMT09PW4uc3RhdHVzP1kobix0KToyPT09bi5zdGF0dXMmJnIucHVzaChuKTtyZXR1cm4gcn1mdW5jdGlvbiBlZShlLHQscixuLGEsbCx1LGkpe2lmKGEuYiE9PSgwLGYuZ2V0QXBwQnVpbGRJZCkoKSlyZXR1cm4gbnVsbCE9PWkmJlooaSxlKzFlNCksbnVsbDtsZXQgYz0oMCxSLm5vcm1hbGl6ZUZsaWdodERhdGEpKGEuZik7aWYoInN0cmluZyI9PXR5cGVvZiBjKXJldHVybiBudWxsO2xldCBzPSJudW1iZXIiPT10eXBlb2YgYS5ycD8uWzFdP2EucnBbMV06cGFyc2VJbnQobi5oZWFkZXJzLmdldChvLk5FWFRfUk9VVEVSX1NUQUxFX1RJTUVfSEVBREVSKT8/IiIsMTApLGQ9ZSsoaXNOYU4ocyk/Xy5TVEFUSUNfU1RBTEVUSU1FX01TOmIocykpO2ZvcihsZXQgbiBvZiBjKXtsZXQgYT1uLnNlZWREYXRhO2lmKG51bGwhPT1hKXtsZXQgbz1uLnNlZ21lbnRQYXRoLGM9dS50cmVlO2ZvcihsZXQgdD0wO3Q8by5sZW5ndGg7dCs9Mil7bGV0IHI9b1t0XTtpZihjPy5zbG90cz8uW3JdPT09dm9pZCAwKXJldHVybiBudWxsIT09aSYmWihpLGUrMWU0KSxudWxsO2M9Yy5zbG90c1tyXX0hZnVuY3Rpb24gZSh0LHIsbixhLGwsdSxvLGksYyl7bGV0IHM9b1swXTtldCh0LG4sYSxzLG9bMl0sbnVsbD09PXN8fGksdSxsLGMpO2xldCBmPWwuc2xvdHM7aWYobnVsbCE9PWYpe2xldCBsPW9bMV07Zm9yKGxldCBvIGluIGYpe2xldCBzPWZbb10sZD1sW29dO251bGwhPWQmJmUodCxyLG4sYSxzLHUsZCxpLGMpfX19KGUsdCxyLHUsYyxkLGEsbCxpKX1sZXQgbz1uLmhlYWQ7bnVsbCE9PW8mJmV0KGUscix1LG8sbnVsbCxuLmlzSGVhZFBhcnRpYWwsZCx1Lm1ldGFkYXRhLGkpfXJldHVybiBudWxsIT09aT9aKGksZSsxZTQpOm51bGx9ZnVuY3Rpb24gZXQoZSx0LHIsbixhLGwsdSxvLGkpe2xldCBjPW51bGwhPT1pP2kuZ2V0KG8ucmVxdWVzdEtleSk6dm9pZCAwO2lmKHZvaWQgMCE9PWMpWChjLG4sYSx1LGwpO2Vsc2V7bGV0IGk9ayhlLHQscixvKTtpZigwPT09aS5zdGF0dXMpWChxKGksdCksbixhLHUsbCk7ZWxzZXtsZXQgcj1YKHEoVih1KSx0KSxuLGEsdSxsKTtLKGUsKDAscy5nZXRTZWdtZW50VmFyeVBhdGhGb3JSZXF1ZXN0KSh0LG8pLHIpfX19YXN5bmMgZnVuY3Rpb24gZXIoZSx0KXtsZXQgcj1hd2FpdCAoMCxpLmNyZWF0ZUZldGNoKShlLHQsImxvdyIsITEpO2lmKCFyLm9rKXJldHVybiBudWxsO3tsZXQgZT1yLmhlYWRlcnMuZ2V0KCJjb250ZW50LXR5cGUiKTtpZighKGUmJmUuc3RhcnRzV2l0aChvLlJTQ19DT05URU5UX1RZUEVfSEVBREVSKSkpcmV0dXJuIG51bGx9cmV0dXJuIHJ9ZnVuY3Rpb24gZW4oZSx0LHIpe2xldCBuPTAsYT1lLmdldFJlYWRlcigpO3JldHVybiBuZXcgUmVhZGFibGVTdHJlYW0oe2FzeW5jIHB1bGwoZSl7Zm9yKDs7KXtsZXR7ZG9uZTpsLHZhbHVlOnV9PWF3YWl0IGEucmVhZCgpO2lmKCFsKXtlLmVucXVldWUodSkscihuKz11LmJ5dGVMZW5ndGgpO2NvbnRpbnVlfXQoKTtyZXR1cm59fX0pfWZ1bmN0aW9uIGVhKGUsdCl7cmV0dXJuIGU8dH0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw2NTQ2MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y29udmVydFNlcnZlclBhdGNoVG9GdWxsVHJlZTpmdW5jdGlvbigpe3JldHVybiB2fSxuYXZpZ2F0ZTpmdW5jdGlvbigpe3JldHVybiBkfSxuYXZpZ2F0ZVRvU2VlZGVkUm91dGU6ZnVuY3Rpb24oKXtyZXR1cm4gaH19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbD1lLnIoMTEwNiksdT1lLnIoMTg5MzkpLG89ZS5yKDg1NTk0KSxpPWUucig0NDY2NyksYz1lLnIoMTYzMTYpLHM9ZS5yKDI3NDU0KSxmPWUucig1MjQxMyk7ZnVuY3Rpb24gZChlLHQscixuLGEsbCx1LG8pe2xldCBzPURhdGUubm93KCksZD1lLmhyZWYsaD1kPT09dC5ocmVmLHk9KDAsYy5jcmVhdGVDYWNoZUtleSkoZCxhKSxfPSgwLGkucmVhZFJvdXRlQ2FjaGVFbnRyeSkocyx5KTtpZihudWxsIT09XyYmXy5zdGF0dXM9PT1pLkVudHJ5U3RhdHVzLkZ1bGZpbGxlZCl7bGV0IG89ZyhzLF8sXy50cmVlKSxpPW8uZmxpZ2h0Um91dGVyU3RhdGUsYz1vLnNlZWREYXRhLGY9UihzLF8pLGQ9Zi5yc2MseT1mLmlzUGFydGlhbCxQPV8uY2Fub25pY2FsVXJsK2UuaGFzaDtyZXR1cm4gcChzLGUsdCxhLGgscixuLGksYyxkLHksUCxfLnJlbmRlcmVkU2VhcmNoLGwsdSl9aWYobnVsbD09PV98fF8uc3RhdHVzIT09aS5FbnRyeVN0YXR1cy5SZWplY3RlZCl7bGV0IG89KDAsaS5yZXF1ZXN0T3B0aW1pc3RpY1JvdXRlQ2FjaGVFbnRyeSkocyxlLGEpO2lmKG51bGwhPT1vKXtsZXQgaT1nKHMsbyxvLnRyZWUpLGM9aS5mbGlnaHRSb3V0ZXJTdGF0ZSxmPWkuc2VlZERhdGEsZD1SKHMsbykseT1kLnJzYyxfPWQuaXNQYXJ0aWFsLFA9by5jYW5vbmljYWxVcmwrZS5oYXNoO3JldHVybiBwKHMsZSx0LGEsaCxyLG4sYyxmLHksXyxQLG8ucmVuZGVyZWRTZWFyY2gsbCx1KX19bGV0IHY9by5jb2xsZWN0ZWREZWJ1Z0luZm8/P1tdO3JldHVybiB2b2lkIDA9PT1vLmNvbGxlY3RlZERlYnVnSW5mbyYmKHY9by5jb2xsZWN0ZWREZWJ1Z0luZm89W10pLHt0YWc6Zi5OYXZpZ2F0aW9uUmVzdWx0VGFnLkFzeW5jLGRhdGE6UChzLGUsdCxhLHIsbixsLHUsdil9fWZ1bmN0aW9uIGgoZSx0LHIsbixhLGwsbyxpLGMscyl7bGV0IGQ9e3Njcm9sbGFibGVTZWdtZW50czpudWxsLHNlcGFyYXRlUmVmcmVzaFVybHM6bnVsbH0saD10LmhyZWY9PT1hLmhyZWYscD0oMCx1LnN0YXJ0UFBSTmF2aWdhdGlvbikoZSxhLGwsbyxuLnRyZWUsaSxuLmRhdGEsbi5oZWFkLG51bGwsbnVsbCwhMSxoLGQpO3JldHVybiBudWxsIT09cD8oKDAsdS5zcGF3bkR5bmFtaWNSZXF1ZXN0cykocCx0LGMsaSxkKSx5KHAscixuLnJlbmRlcmVkU2VhcmNoLGQuc2Nyb2xsYWJsZVNlZ21lbnRzLHMsdC5oYXNoKSk6e3RhZzpmLk5hdmlnYXRpb25SZXN1bHRUYWcuTVBBLGRhdGE6cn19ZnVuY3Rpb24gcChlLHQscixuLGEsbCxvLGksYyxzLGQsaCxwLGcsUil7bGV0IF89e3Njcm9sbGFibGVTZWdtZW50czpudWxsLHNlcGFyYXRlUmVmcmVzaFVybHM6bnVsbH0sUD0oMCx1LnN0YXJ0UFBSTmF2aWdhdGlvbikoZSxyLGwsbyxpLGcsbnVsbCxudWxsLGMscyxkLGEsXyk7cmV0dXJuIG51bGwhPT1QPygoMCx1LnNwYXduRHluYW1pY1JlcXVlc3RzKShQLHQsbixnLF8pLHkoUCxoLHAsXy5zY3JvbGxhYmxlU2VnbWVudHMsUix0Lmhhc2gpKTp7dGFnOmYuTmF2aWdhdGlvblJlc3VsdFRhZy5NUEEsZGF0YTpofX1mdW5jdGlvbiB5KGUsdCxyLG4sYSxsKXtyZXR1cm57dGFnOmYuTmF2aWdhdGlvblJlc3VsdFRhZy5TdWNjZXNzLGRhdGE6e2ZsaWdodFJvdXRlclN0YXRlOmUucm91dGUsY2FjaGVOb2RlOmUubm9kZSxjYW5vbmljYWxVcmw6dCxyZW5kZXJlZFNlYXJjaDpyLHNjcm9sbGFibGVTZWdtZW50czpuLHNob3VsZFNjcm9sbDphLGhhc2g6bH19fWZ1bmN0aW9uIGcoZSx0LHIpe2xldCBuPXt9LGE9e30sbD1yLnNsb3RzO2lmKG51bGwhPT1sKWZvcihsZXQgciBpbiBsKXtsZXQgdT1nKGUsdCxsW3JdKTtuW3JdPXUuZmxpZ2h0Um91dGVyU3RhdGUsYVtyXT11LnNlZWREYXRhfWxldCB1PW51bGwsbz1udWxsLGM9ITAsZj0oMCxpLnJlYWRTZWdtZW50Q2FjaGVFbnRyeSkoZSxyLnZhcnlQYXRoKTtpZihudWxsIT09Zilzd2l0Y2goZi5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6dT1mLnJzYyxvPWYubG9hZGluZyxjPWYuaXNQYXJ0aWFsO2JyZWFrO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOntsZXQgZT0oMCxpLndhaXRGb3JTZWdtZW50Q2FjaGVFbnRyeSkoZik7dT1lLnRoZW4oZT0+bnVsbCE9PWU/ZS5yc2M6bnVsbCksbz1lLnRoZW4oZT0+bnVsbCE9PWU/ZS5sb2FkaW5nOm51bGwpLGM9Zi5pc1BhcnRpYWx9Y2FzZSBpLkVudHJ5U3RhdHVzLkVtcHR5OmNhc2UgaS5FbnRyeVN0YXR1cy5SZWplY3RlZDp9cmV0dXJue2ZsaWdodFJvdXRlclN0YXRlOlsoMCxzLmFkZFNlYXJjaFBhcmFtc0lmUGFnZVNlZ21lbnQpKHIuc2VnbWVudCxPYmplY3QuZnJvbUVudHJpZXMobmV3IFVSTFNlYXJjaFBhcmFtcyh0LnJlbmRlcmVkU2VhcmNoKSkpLG4sbnVsbCxudWxsLHIuaXNSb290TGF5b3V0XSxzZWVkRGF0YTpbdSxhLG8sYywhMV19fWZ1bmN0aW9uIFIoZSx0KXtsZXQgcj1udWxsLG49ITAsYT0oMCxpLnJlYWRTZWdtZW50Q2FjaGVFbnRyeSkoZSx0Lm1ldGFkYXRhLnZhcnlQYXRoKTtpZihudWxsIT09YSlzd2l0Y2goYS5zdGF0dXMpe2Nhc2UgaS5FbnRyeVN0YXR1cy5GdWxmaWxsZWQ6cj1hLnJzYyxuPWEuaXNQYXJ0aWFsO2JyZWFrO2Nhc2UgaS5FbnRyeVN0YXR1cy5QZW5kaW5nOnI9KDAsaS53YWl0Rm9yU2VnbWVudENhY2hlRW50cnkpKGEpLnRoZW4oZT0+bnVsbCE9PWU/ZS5yc2M6bnVsbCksbj1hLmlzUGFydGlhbDtjYXNlIGkuRW50cnlTdGF0dXMuRW1wdHk6Y2FzZSBpLkVudHJ5U3RhdHVzLlJlamVjdGVkOn1yZXR1cm57cnNjOnIsaXNQYXJ0aWFsOm59fWxldCBfPVsiIix7fSxudWxsLCJyZWZldGNoIl07YXN5bmMgZnVuY3Rpb24gUChlLHQscixuLGEsaSxjLHMsZCl7bGV0IHA7c3dpdGNoKGMpe2Nhc2UgdS5GcmVzaG5lc3NQb2xpY3kuRGVmYXVsdDpjYXNlIHUuRnJlc2huZXNzUG9saWN5Lkhpc3RvcnlUcmF2ZXJzYWw6cD1pO2JyZWFrO2Nhc2UgdS5GcmVzaG5lc3NQb2xpY3kuSHlkcmF0aW9uOmNhc2UgdS5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbDpjYXNlIHUuRnJlc2huZXNzUG9saWN5LkhNUlJlZnJlc2g6cD1fO2JyZWFrO2RlZmF1bHQ6cD1pfWxldCB5PSgwLGwuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkodCx7ZmxpZ2h0Um91dGVyU3RhdGU6cCxuZXh0VXJsOm59KSxnPWF3YWl0IHk7aWYoInN0cmluZyI9PXR5cGVvZiBnKXJldHVybnt0YWc6Zi5OYXZpZ2F0aW9uUmVzdWx0VGFnLk1QQSxkYXRhOmd9O2xldHtmbGlnaHREYXRhOlIsY2Fub25pY2FsVXJsOlAscmVuZGVyZWRTZWFyY2g6RSxkZWJ1Z0luZm86bX09ZztudWxsIT09bSYmZC5wdXNoKC4uLm0pO2xldCBiPXYoaSxSLEUpO3JldHVybiBoKGUsdCwoMCxvLmNyZWF0ZUhyZWZGcm9tVXJsKShQKSxiLHIsYSxpLGMsbixzKX1mdW5jdGlvbiB2KGUsdCxyKXtsZXQgbj1lLGE9bnVsbCxsPW51bGw7Zm9yKGxldHtzZWdtZW50UGF0aDplLHRyZWU6cixzZWVkRGF0YTp1LGhlYWQ6b31vZiB0KXtsZXQgdD1mdW5jdGlvbiBlKHQscixuLGEsbCx1KXtsZXQgbztpZih1PT09bC5sZW5ndGgpcmV0dXJue3RyZWU6bixkYXRhOmF9O2xldCBpPWxbdV0sYz10WzFdLHM9bnVsbCE9PXI/clsxXTpudWxsLGY9e30sZD17fTtmb3IobGV0IHQgaW4gYyl7bGV0IHI9Y1t0XSxvPW51bGwhPT1zP3NbdF0/P251bGw6bnVsbDtpZih0PT09aSl7bGV0IGk9ZShyLG8sbixhLGwsdSsyKTtmW3RdPWkudHJlZSxkW3RdPWkuZGF0YX1lbHNlIGZbdF09cixkW3RdPW99cmV0dXJuIG89W3RbMF0sZl0sMiBpbiB0JiYob1syXT10WzJdKSwzIGluIHQmJihvWzNdPXRbM10pLDQgaW4gdCYmKG9bNF09dFs0XSkse3RyZWU6byxkYXRhOltudWxsLGQsbnVsbCwhMCwhMV19fShuLGEscix1LGUsMCk7bj10LnRyZWUsYT10LmRhdGEsbD1vfXJldHVybnt0cmVlOm4sZGF0YTphLHJlbmRlcmVkU2VhcmNoOnIsaGVhZDpsfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1NDAxMSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17RFlOQU1JQ19TVEFMRVRJTUVfTVM6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sU1RBVElDX1NUQUxFVElNRV9NUzpmdW5jdGlvbigpe3JldHVybiBkfSxnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoOmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uIGUodCl7bGV0IHI9W10sW24sYV09dDtpZigwPT09T2JqZWN0LmtleXMoYSkubGVuZ3RoKXJldHVybltbbl1dO2ZvcihsZXRbdCxsXW9mIE9iamVjdC5lbnRyaWVzKGEpKWZvcihsZXQgYSBvZiBlKGwpKSIiPT09bj9yLnB1c2goW3QsLi4uYV0pOnIucHVzaChbbix0LC4uLmFdKTtyZXR1cm4gcn19LGhhbmRsZUV4dGVybmFsVXJsOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGhhbmRsZU5hdmlnYXRpb25SZXN1bHQ6ZnVuY3Rpb24oKXtyZXR1cm4gcH0sbmF2aWdhdGVSZWR1Y2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHl9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDg1NTk0KSx1PWUucig2MzI3OCksbz1lLnIoNjU0NjMpLGk9ZS5yKDUyNDEzKSxjPWUucig0NDY2Nykscz1lLnIoMTg5MzkpLGY9MWUzKk51bWJlcigiMCIpLGQ9KDAsYy5nZXRTdGFsZVRpbWVNcykoTnVtYmVyKCIzMDAiKSk7ZnVuY3Rpb24gaChlLHQscixuKXtyZXR1cm4gdC5tcGFOYXZpZ2F0aW9uPSEwLHQuY2Fub25pY2FsVXJsPXIsdC5wZW5kaW5nUHVzaD1uLHQuc2Nyb2xsYWJsZVNlZ21lbnRzPXZvaWQgMCwoMCx1LmhhbmRsZU11dGFibGUpKGUsdCl9ZnVuY3Rpb24gcChlLHQscixuLGEpe3N3aXRjaChhLnRhZyl7Y2FzZSBpLk5hdmlnYXRpb25SZXN1bHRUYWcuTVBBOnJldHVybiBoKHQscixhLmRhdGEsbik7Y2FzZSBpLk5hdmlnYXRpb25SZXN1bHRUYWcuU3VjY2Vzczp7ci5jYWNoZT1hLmRhdGEuY2FjaGVOb2RlLHIucGF0Y2hlZFRyZWU9YS5kYXRhLmZsaWdodFJvdXRlclN0YXRlLHIucmVuZGVyZWRTZWFyY2g9YS5kYXRhLnJlbmRlcmVkU2VhcmNoLHIuY2Fub25pY2FsVXJsPWEuZGF0YS5jYW5vbmljYWxVcmwsci5zY3JvbGxhYmxlU2VnbWVudHM9YS5kYXRhLnNjcm9sbGFibGVTZWdtZW50cz8/dm9pZCAwLHIuc2hvdWxkU2Nyb2xsPWEuZGF0YS5zaG91bGRTY3JvbGwsci5oYXNoRnJhZ21lbnQ9YS5kYXRhLmhhc2g7bGV0IG49bmV3IFVSTCh0LmNhbm9uaWNhbFVybCxlKTtyZXR1cm4gZS5wYXRobmFtZT09PW4ucGF0aG5hbWUmJmUuc2VhcmNoPT09bi5zZWFyY2gmJmUuaGFzaCE9PW4uaGFzaCYmKHIub25seUhhc2hDaGFuZ2U9ITAsci5zaG91bGRTY3JvbGw9YS5kYXRhLnNob3VsZFNjcm9sbCxyLmhhc2hGcmFnbWVudD1lLmhhc2gsci5zY3JvbGxhYmxlU2VnbWVudHM9W10pLCgwLHUuaGFuZGxlTXV0YWJsZSkodCxyKX1jYXNlIGkuTmF2aWdhdGlvblJlc3VsdFRhZy5Bc3luYzpyZXR1cm4gYS5kYXRhLnRoZW4oYT0+cChlLHQscixuLGEpLCgpPT50KTtkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiB5KGUsdCl7bGV0e3VybDpyLGlzRXh0ZXJuYWxVcmw6bixuYXZpZ2F0ZVR5cGU6YSxzaG91bGRTY3JvbGw6dX09dCxpPXt9LGM9KDAsbC5jcmVhdGVIcmVmRnJvbVVybCkociksZj0icHVzaCI9PT1hO2lmKGkucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU9ITEsaS5wZW5kaW5nUHVzaD1mLG4pcmV0dXJuIGgoZSxpLHIudG9TdHJpbmcoKSxmKTtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiX19uZXh0LXBhZ2UtcmVkaXJlY3QiKSlyZXR1cm4gaChlLGksYyxmKTtsZXQgZD1uZXcgVVJMKGUuY2Fub25pY2FsVXJsLGxvY2F0aW9uLm9yaWdpbikseT0oMCxvLm5hdmlnYXRlKShyLGQsZS5jYWNoZSxlLnRyZWUsZS5uZXh0VXJsLHMuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQsdSxpKTtyZXR1cm4gcChyLGUsaSxmLHkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYxNzM5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKFt0LHJdKXtpZihBcnJheS5pc0FycmF5KHQpJiYoImRpKC4uKSguLikiPT09dFsyXXx8ImNpKC4uKSguLikiPT09dFsyXXx8ImRpKC4pIj09PXRbMl18fCJjaSguKSI9PT10WzJdfHwiZGkoLi4pIj09PXRbMl18fCJjaSguLikiPT09dFsyXXx8ImRpKC4uLikiPT09dFsyXXx8ImNpKC4uLikiPT09dFsyXSl8fCJzdHJpbmciPT10eXBlb2YgdCYmKDAsbi5pc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aCkodCkpcmV0dXJuITA7aWYocil7Zm9yKGxldCB0IGluIHIpaWYoZShyW3RdKSlyZXR1cm4hMH1yZXR1cm4hMX19fSk7bGV0IG49ZS5yKDU0NjgyKTsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3NzczMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17cmVmcmVzaER5bmFtaWNEYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHJlZnJlc2hSZWR1Y2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IGw9ZS5yKDU0MDExKSx1PWUucig2NTQ2Myksbz1lLnIoNDQ2NjcpLGk9ZS5yKDYxNzM5KSxjPWUucigxODkzOSk7ZnVuY3Rpb24gcyhlKXtsZXQgdD1lLm5leHRVcmwscj1lLnRyZWU7cmV0dXJuKDAsby5yZXZhbGlkYXRlRW50aXJlQ2FjaGUpKHQsciksZihlLGMuRnJlc2huZXNzUG9saWN5LlJlZnJlc2hBbGwpfWZ1bmN0aW9uIGYoZSx0KXtsZXQgcj1lLm5leHRVcmwsbj0oMCxpLmhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZSkoZS50cmVlKT9lLnByZXZpb3VzTmV4dFVybHx8cjpudWxsLGE9ZS5jYW5vbmljYWxVcmwsbz1uZXcgVVJMKGEsbG9jYXRpb24ub3JpZ2luKSxjPWUudHJlZSxzPXt0cmVlOmUudHJlZSxyZW5kZXJlZFNlYXJjaDplLnJlbmRlcmVkU2VhcmNoLGRhdGE6bnVsbCxoZWFkOm51bGx9LGY9RGF0ZS5ub3coKSxkPSgwLHUubmF2aWdhdGVUb1NlZWRlZFJvdXRlKShmLG8sYSxzLG8sZS5jYWNoZSxjLHQsbiwhMCksaD17fTtyZXR1cm4gaC5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZT0hMSwoMCxsLmhhbmRsZU5hdmlnYXRpb25SZXN1bHQpKG8sZSxoLCExLGQpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYwNTUzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJzZXJ2ZXJQYXRjaFJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCBuPWUucig4NTU5NCksYT1lLnIoNTQwMTEpLGw9ZS5yKDY1NDYzKSx1PWUucig3NzczMyksbz1lLnIoMTg5MzkpO2Z1bmN0aW9uIGkoZSx0KXtsZXQgcj17fTtyLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlPSExO2xldCBpPXQubXBhLGM9bmV3IFVSTCh0LnVybCxsb2NhdGlvbi5vcmlnaW4pLHM9dC5zZWVkO2lmKGl8fG51bGw9PT1zKXJldHVybigwLGEuaGFuZGxlRXh0ZXJuYWxVcmwpKGUscixjLmhyZWYsITEpO2xldCBmPW5ldyBVUkwoZS5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKTtpZih0LnByZXZpb3VzVHJlZSE9PWUudHJlZSlyZXR1cm4oMCx1LnJlZnJlc2hSZWR1Y2VyKShlKTtsZXQgZD0oMCxuLmNyZWF0ZUhyZWZGcm9tVXJsKShjKSxoPXQubmV4dFVybCxwPURhdGUubm93KCkseT0oMCxsLm5hdmlnYXRlVG9TZWVkZWRSb3V0ZSkocCxjLGQscyxmLGUuY2FjaGUsZS50cmVlLG8uRnJlc2huZXNzUG9saWN5LlJlZnJlc2hBbGwsaCwhMCk7cmV0dXJuKDAsYS5oYW5kbGVOYXZpZ2F0aW9uUmVzdWx0KShjLGUsciwhMSx5KX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMjgzOCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicmVzdG9yZVJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig4NTU5NCksYT1lLnIoMTgxNjcpLGw9ZS5yKDE4OTM5KSx1PWUucig1NDAxMSk7ZnVuY3Rpb24gbyhlLHQpe2xldCByLG8saT10Lmhpc3RvcnlTdGF0ZTtpPyhyPWkudHJlZSxvPWkucmVuZGVyZWRTZWFyY2gpOihyPWUudHJlZSxvPWUucmVuZGVyZWRTZWFyY2gpO2xldCBjPW5ldyBVUkwoZS5jYW5vbmljYWxVcmwsbG9jYXRpb24ub3JpZ2luKSxzPXQudXJsLGY9KDAsbi5jcmVhdGVIcmVmRnJvbVVybCkocyksZD0oMCxhLmV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKShyKT8/cy5wYXRobmFtZSxoPURhdGUubm93KCkscD17c2Nyb2xsYWJsZVNlZ21lbnRzOm51bGwsc2VwYXJhdGVSZWZyZXNoVXJsczpudWxsfSx5PSgwLGwuc3RhcnRQUFJOYXZpZ2F0aW9uKShoLGMsZS5jYWNoZSxlLnRyZWUscixsLkZyZXNobmVzc1BvbGljeS5IaXN0b3J5VHJhdmVyc2FsLG51bGwsbnVsbCxudWxsLG51bGwsITEsITEscCk7cmV0dXJuIG51bGw9PT15PygwLHUuaGFuZGxlRXh0ZXJuYWxVcmwpKGUse3ByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiEwfSxmLCExKTooKDAsbC5zcGF3bkR5bmFtaWNSZXF1ZXN0cykoeSxzLGQsbC5GcmVzaG5lc3NQb2xpY3kuSGlzdG9yeVRyYXZlcnNhbCxwKSx7Y2Fub25pY2FsVXJsOmYscmVuZGVyZWRTZWFyY2g6byxwdXNoUmVmOntwZW5kaW5nUHVzaDohMSxtcGFOYXZpZ2F0aW9uOiExLHByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiEwfSxmb2N1c0FuZFNjcm9sbFJlZjplLmZvY3VzQW5kU2Nyb2xsUmVmLGNhY2hlOnkubm9kZSx0cmVlOnIsbmV4dFVybDpkLHByZXZpb3VzTmV4dFVybDpudWxsLGRlYnVnSW5mbzpudWxsfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sNTk2NjIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImhtclJlZnJlc2hSZWR1Y2VyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgbj1lLnIoNzc3MzMpLGE9ZS5yKDE4OTM5KTtmdW5jdGlvbiBsKGUpe3JldHVybigwLG4ucmVmcmVzaER5bmFtaWNEYXRhKShlLGEuRnJlc2huZXNzUG9saWN5LkhNUlJlZnJlc2gpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY4OTM0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJhc3NpZ25Mb2NhdGlvbiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49ZS5yKDE0ODU3KTtmdW5jdGlvbiBhKGUsdCl7aWYoZS5zdGFydHNXaXRoKCIuIikpe2xldCByPXQub3JpZ2luK3QucGF0aG5hbWU7cmV0dXJuIG5ldyBVUkwoKHIuZW5kc1dpdGgoIi8iKT9yOnIrIi8iKStlKX1yZXR1cm4gbmV3IFVSTCgoMCxuLmFkZEJhc2VQYXRoKShlKSx0LmhyZWYpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk5ODk2LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJwYXRoSGFzUHJlZml4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgbj1lLnIoOTgwNjMpO2Z1bmN0aW9uIGEoZSx0KXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuITE7bGV0e3BhdGhuYW1lOnJ9PSgwLG4ucGFyc2VQYXRoKShlKTtyZXR1cm4gcj09PXR8fHIuc3RhcnRzV2l0aCh0KyIvIil9fSwzODkzMywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaGFzQmFzZVBhdGgiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5OTg5Nik7ZnVuY3Rpb24gYShlKXtyZXR1cm4oMCxuLnBhdGhIYXNQcmVmaXgpKGUsIiIpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI0MDQyLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtyZXR1cm4gZX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInJlbW92ZUJhc2VQYXRoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoMzg5MzMpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDgwOTI0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtleHRyYWN0SW5mb0Zyb21TZXJ2ZXJSZWZlcmVuY2VJZDpmdW5jdGlvbigpe3JldHVybiBsfSxvbWl0VW51c2VkQXJnczpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2Z1bmN0aW9uIGwoZSl7bGV0IHQ9cGFyc2VJbnQoZS5zbGljZSgwLDIpLDE2KSxyPXQ+PjEmNjMsbj1BcnJheSg2KTtmb3IobGV0IGU9MDtlPDY7ZSsrKXtsZXQgdD1yPj41LWUmMTtuW2VdPTE9PT10fXJldHVybnt0eXBlOjE9PSh0Pj43JjEpPyJ1c2UtY2FjaGUiOiJzZXJ2ZXItYWN0aW9uIix1c2VkQXJnczpuLGhhc1Jlc3RBcmdzOjE9PSgxJnQpfX1mdW5jdGlvbiB1KGUsdCl7bGV0IHI9QXJyYXkoZS5sZW5ndGgpO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKShuPDYmJnQudXNlZEFyZ3Nbbl18fG4+PTYmJnQuaGFzUmVzdEFyZ3MpJiYocltuXT1lW25dKTtyZXR1cm4gcn19LDc2ODQ0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtBY3Rpb25EaWROb3RSZXZhbGlkYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LEFjdGlvbkRpZFJldmFsaWRhdGVEeW5hbWljT25seTpmdW5jdGlvbigpe3JldHVybiBvfSxBY3Rpb25EaWRSZXZhbGlkYXRlU3RhdGljQW5kRHluYW1pYzpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPTAsdT0xLG89Mn0sNjcwMzMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtsZXQgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInNlcnZlckFjdGlvblJlZHVjZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBqfX0pO2xldCBhPWUucigzMDkzMSksbD1lLnIoODk1OTQpLHU9ZS5yKDM0NjQxKSxvPWUucig3NTA1MSksaT1lLnIoNzUwNDUpLGM9ZS5yKDY4OTM0KSxzPWUucig4NTU5NCksZj1lLnIoNTQwMTEpLGQ9ZS5yKDYxNzM5KSxoPWUucig2NzYyOCkscD1lLnIoNDE3MjEpLHk9ZS5yKDkwODYyKSxnPWUucigyNDA0MiksUj1lLnIoMzg5MzMpLF89ZS5yKDgwOTI0KSxQPWUucig0NDY2Nyksdj1lLnIoODg3NzQpLEU9ZS5yKDY1NDYzKSxtPWUucig3Njg0NCksYj1lLnIoMjkzNjIpLFM9ZS5yKDE4OTM5KSxUPWkuY3JlYXRlRnJvbUZldGNoO2FzeW5jIGZ1bmN0aW9uIE8oZSx0LHthY3Rpb25JZDpyLGFjdGlvbkFyZ3M6c30pe2xldCBmLGQscCxnLFIsUD0oMCxpLmNyZWF0ZVRlbXBvcmFyeVJlZmVyZW5jZVNldCkoKSxFPSgwLF8uZXh0cmFjdEluZm9Gcm9tU2VydmVyUmVmZXJlbmNlSWQpKHIpLGI9InVzZS1jYWNoZSI9PT1FLnR5cGU/KDAsXy5vbWl0VW51c2VkQXJncykocyxFKTpzLFM9YXdhaXQgKDAsaS5lbmNvZGVSZXBseSkoYix7dGVtcG9yYXJ5UmVmZXJlbmNlczpQfSksTz17QWNjZXB0OnUuUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIsW3UuQUNUSU9OX0hFQURFUl06cixbdS5ORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06KDAsaC5wcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KShlLnRyZWUpfSxqPSgwLHYuZ2V0RGVwbG95bWVudElkKSgpO2omJihPWyJ4LWRlcGxveW1lbnQtaWQiXT1qKSx0JiYoT1t1Lk5FWFRfVVJMXT10KTtsZXQgTT1hd2FpdCBmZXRjaChlLmNhbm9uaWNhbFVybCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOk8sYm9keTpTfSk7aWYoIjEiPT09TS5oZWFkZXJzLmdldCh1Lk5FWFRfQUNUSU9OX05PVF9GT1VORF9IRUFERVIpKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgby5VbnJlY29nbml6ZWRBY3Rpb25FcnJvcihgU2VydmVyIEFjdGlvbiAiJHtyfSIgd2FzIG5vdCBmb3VuZCBvbiB0aGUgc2VydmVyLiAKUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9mYWlsZWQtdG8tZmluZC1zZXJ2ZXItYWN0aW9uYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MTUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IEE9TS5oZWFkZXJzLmdldCgieC1hY3Rpb24tcmVkaXJlY3QiKSxbVSxDXT1BPy5zcGxpdCgiOyIpfHxbXTtzd2l0Y2goQyl7Y2FzZSJwdXNoIjpmPXkuUmVkaXJlY3RUeXBlLnB1c2g7YnJlYWs7Y2FzZSJyZXBsYWNlIjpmPXkuUmVkaXJlY3RUeXBlLnJlcGxhY2U7YnJlYWs7ZGVmYXVsdDpmPXZvaWQgMH1sZXQgTj0hIU0uaGVhZGVycy5nZXQodS5ORVhUX0lTX1BSRVJFTkRFUl9IRUFERVIpLHc9bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlO3RyeXtsZXQgZT1NLmhlYWRlcnMuZ2V0KCJ4LWFjdGlvbi1yZXZhbGlkYXRlZCIpO2lmKGUpe2xldCB0PUpTT04ucGFyc2UoZSk7KHQ9PT1tLkFjdGlvbkRpZFJldmFsaWRhdGVTdGF0aWNBbmREeW5hbWljfHx0PT09bS5BY3Rpb25EaWRSZXZhbGlkYXRlRHluYW1pY09ubHkpJiYodz10KX19Y2F0Y2h7fWxldCBGPVU/KDAsYy5hc3NpZ25Mb2NhdGlvbikoVSxuZXcgVVJMKGUuY2Fub25pY2FsVXJsLHdpbmRvdy5sb2NhdGlvbi5ocmVmKSk6dm9pZCAwLEk9TS5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIiksTD0hIShJJiZJLnN0YXJ0c1dpdGgodS5SU0NfQ09OVEVOVF9UWVBFX0hFQURFUikpO2lmKCFMJiYhRil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoTS5zdGF0dXM+PTQwMCYmInRleHQvcGxhaW4iPT09ST9hd2FpdCBNLnRleHQoKToiQW4gdW5leHBlY3RlZCByZXNwb25zZSB3YXMgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2lmKEwpe2xldCBlPWF3YWl0IFQoUHJvbWlzZS5yZXNvbHZlKE0pLHtjYWxsU2VydmVyOmEuY2FsbFNlcnZlcixmaW5kU291cmNlTWFwVVJMOmwuZmluZFNvdXJjZU1hcFVSTCx0ZW1wb3JhcnlSZWZlcmVuY2VzOlAsZGVidWdDaGFubmVsOm4mJm4oTyl9KTtkPUY/dm9pZCAwOmUuYTtsZXQgdD0oMCxoLm5vcm1hbGl6ZUZsaWdodERhdGEpKGUuZik7IiIhPT10JiYocD10LGc9ZS5xLFI9ZS5pKX1lbHNlIGQ9dm9pZCAwLHA9dm9pZCAwLGc9dm9pZCAwLFI9dm9pZCAwO3JldHVybnthY3Rpb25SZXN1bHQ6ZCxhY3Rpb25GbGlnaHREYXRhOnAsYWN0aW9uRmxpZ2h0RGF0YVJlbmRlcmVkU2VhcmNoOmcsYWN0aW9uRmxpZ2h0RGF0YUNvdWxkQmVJbnRlcmNlcHRlZDpSLHJlZGlyZWN0TG9jYXRpb246RixyZWRpcmVjdFR5cGU6ZixyZXZhbGlkYXRpb25LaW5kOncsaXNQcmVyZW5kZXI6Tn19ZnVuY3Rpb24gaihlLHQpe2xldHtyZXNvbHZlOnIscmVqZWN0Om59PXQsYT17fTthLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlPSExO2xldCBsPShlLnByZXZpb3VzTmV4dFVybHx8ZS5uZXh0VXJsKSYmKDAsZC5oYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUpKGUudHJlZSk/ZS5wcmV2aW91c05leHRVcmx8fGUubmV4dFVybDpudWxsO3JldHVybiBPKGUsbCx0KS50aGVuKGFzeW5jKHtyZXZhbGlkYXRpb25LaW5kOnUsYWN0aW9uUmVzdWx0Om8sYWN0aW9uRmxpZ2h0RGF0YTppLGFjdGlvbkZsaWdodERhdGFSZW5kZXJlZFNlYXJjaDpjLGFjdGlvbkZsaWdodERhdGFDb3VsZEJlSW50ZXJjZXB0ZWQ6ZCxyZWRpcmVjdExvY2F0aW9uOmgscmVkaXJlY3RUeXBlOnB9KT0+e3UhPT1tLkFjdGlvbkRpZE5vdFJldmFsaWRhdGUmJih0LmRpZFJldmFsaWRhdGU9ITAsdT09PW0uQWN0aW9uRGlkUmV2YWxpZGF0ZVN0YXRpY0FuZER5bmFtaWMmJigwLFAucmV2YWxpZGF0ZUVudGlyZUNhY2hlKShsLGUudHJlZSkpO2xldCBfPXAhPT15LlJlZGlyZWN0VHlwZS5yZXBsYWNlO2lmKGUucHVzaFJlZi5wZW5kaW5nUHVzaD1fLGEucGVuZGluZ1B1c2g9Xyx2b2lkIDAhPT1oKXtsZXQgdD1wfHx5LlJlZGlyZWN0VHlwZS5wdXNoO2lmKCgwLGIuaXNFeHRlcm5hbFVSTCkoaCkpe2xldCByPWguaHJlZjtyZXR1cm4gbihNKHIsdCkpLCgwLGYuaGFuZGxlRXh0ZXJuYWxVcmwpKGUsYSxyLF8pfXtsZXQgZT0oMCxzLmNyZWF0ZUhyZWZGcm9tVXJsKShoLCExKTtuKE0oKDAsUi5oYXNCYXNlUGF0aCkoZSk/KDAsZy5yZW1vdmVCYXNlUGF0aCkoZSk6ZSx0KSl9fWVsc2UgcihvKTtpZih2b2lkIDA9PT1oJiZ1PT09bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlJiZ2b2lkIDA9PT1pKXJldHVybiBlO2lmKHZvaWQgMD09PWkmJnZvaWQgMCE9PWgpcmV0dXJuKDAsZi5oYW5kbGVFeHRlcm5hbFVybCkoZSxhLGguaHJlZixfKTtpZigic3RyaW5nIj09dHlwZW9mIGkpcmV0dXJuKDAsZi5oYW5kbGVFeHRlcm5hbFVybCkoZSxhLGksXyk7bGV0IHY9bmV3IFVSTChlLmNhbm9uaWNhbFVybCxsb2NhdGlvbi5vcmlnaW4pLFQ9dm9pZCAwIT09aD9oOnYsTz1lLnRyZWUsaj11PT09bS5BY3Rpb25EaWROb3RSZXZhbGlkYXRlP1MuRnJlc2huZXNzUG9saWN5LkRlZmF1bHQ6Uy5GcmVzaG5lc3NQb2xpY3kuUmVmcmVzaEFsbDtpZih2b2lkIDAhPT1pKXtsZXQgdD1pWzBdO2lmKHZvaWQgMCE9PXQmJnQuaXNSb290UmVuZGVyJiZ2b2lkIDAhPT1jJiZ2b2lkIDAhPT1kKXtsZXQgcj0oMCxzLmNyZWF0ZUhyZWZGcm9tVXJsKShUKSxuPXt0cmVlOnQudHJlZSxyZW5kZXJlZFNlYXJjaDpjLGRhdGE6dC5zZWVkRGF0YSxoZWFkOnQuaGVhZH0sdT1EYXRlLm5vdygpLG89KDAsRS5uYXZpZ2F0ZVRvU2VlZGVkUm91dGUpKHUsVCxyLG4sdixlLmNhY2hlLE8saixsLCEwKTtyZXR1cm4oMCxmLmhhbmRsZU5hdmlnYXRpb25SZXN1bHQpKFQsZSxhLF8sbyl9fWxldCBBPSgwLEUubmF2aWdhdGUpKFQsdixlLmNhY2hlLE8sbCxqLCEwLGEpO3JldHVybigwLGYuaGFuZGxlTmF2aWdhdGlvblJlc3VsdCkoVCxlLGEsXyxBKX0sdD0+KG4odCksZSkpfWZ1bmN0aW9uIE0oZSx0KXtsZXQgcj0oMCxwLmdldFJlZGlyZWN0RXJyb3IpKGUsdCk7cmV0dXJuIHIuaGFuZGxlZD0hMCxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY0MSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwicmVkdWNlciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fSk7bGV0IG49ZS5yKDU5NDMwKSxhPWUucig1NDAxMSksbD1lLnIoNjA1NTMpLHU9ZS5yKDMyODM4KSxvPWUucig3NzczMyksaT1lLnIoNTk2NjIpLGM9ZS5yKDY3MDMzKSxzPSJ1Ijx0eXBlb2Ygd2luZG93P2Z1bmN0aW9uKGUsdCl7cmV0dXJuIGV9OmZ1bmN0aW9uKGUsdCl7c3dpdGNoKHQudHlwZSl7Y2FzZSBuLkFDVElPTl9OQVZJR0FURTpyZXR1cm4oMCxhLm5hdmlnYXRlUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1NFUlZFUl9QQVRDSDpyZXR1cm4oMCxsLnNlcnZlclBhdGNoUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1JFU1RPUkU6cmV0dXJuKDAsdS5yZXN0b3JlUmVkdWNlcikoZSx0KTtjYXNlIG4uQUNUSU9OX1JFRlJFU0g6cmV0dXJuKDAsby5yZWZyZXNoUmVkdWNlcikoZSk7Y2FzZSBuLkFDVElPTl9ITVJfUkVGUkVTSDpyZXR1cm4oMCxpLmhtclJlZnJlc2hSZWR1Y2VyKShlKTtjYXNlIG4uQUNUSU9OX1NFUlZFUl9BQ1RJT046cmV0dXJuKDAsYy5zZXJ2ZXJBY3Rpb25SZWR1Y2VyKShlLHQpO2RlZmF1bHQ6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJVbmtub3duIGFjdGlvbiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMjk1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX07KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzQwNTIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInByZWZldGNoIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gb319KTtsZXQgbj1lLnIoMjkzNjIpLGE9ZS5yKDE2MzE2KSxsPWUucig3NTc4MCksdT1lLnIoNTI0MTMpO2Z1bmN0aW9uIG8oZSx0LHIsbyxpKXtsZXQgYz0oMCxuLmNyZWF0ZVByZWZldGNoVVJMKShlKTtpZihudWxsPT09YylyZXR1cm47bGV0IHM9KDAsYS5jcmVhdGVDYWNoZUtleSkoYy5ocmVmLHQpOygwLGwuc2NoZWR1bGVQcmVmZXRjaFRhc2spKHMscixvLHUuUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0LGkpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDg0Mzk1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtjcmVhdGVNdXRhYmxlQWN0aW9uUXVldWU6ZnVuY3Rpb24oKXtyZXR1cm4gX30sZGlzcGF0Y2hOYXZpZ2F0ZUFjdGlvbjpmdW5jdGlvbigpe3JldHVybiBFfSxkaXNwYXRjaFRyYXZlcnNlQWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG19LGdldEN1cnJlbnRBcHBSb3V0ZXJTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBQfSxwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZTpmdW5jdGlvbigpe3JldHVybiBifX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBsPWUucig1OTQzMCksdT1lLnIoNjQxKSxvPWUucig3NTIwMSksaT1lLnIoOTE3NjgpLGM9ZS5yKDUyNDEzKSxzPWUucigzNDA1MiksZj1lLnIoOTQ4NzkpLGQ9ZS5yKDE0ODU3KSxoPWUucigyOTM2MikscD1lLnIoOTgyODMpO2Z1bmN0aW9uIHkoZSx0KXtudWxsIT09ZS5wZW5kaW5nPyhlLnBlbmRpbmc9ZS5wZW5kaW5nLm5leHQsbnVsbCE9PWUucGVuZGluZyYmZyh7YWN0aW9uUXVldWU6ZSxhY3Rpb246ZS5wZW5kaW5nLHNldFN0YXRlOnR9KSk6ZS5uZWVkc1JlZnJlc2gmJihlLm5lZWRzUmVmcmVzaD0hMSxlLmRpc3BhdGNoKHt0eXBlOmwuQUNUSU9OX1JFRlJFU0h9LHQpKX1hc3luYyBmdW5jdGlvbiBnKHthY3Rpb25RdWV1ZTplLGFjdGlvbjp0LHNldFN0YXRlOnJ9KXtsZXQgbj1lLnN0YXRlO2UucGVuZGluZz10O2xldCBhPXQucGF5bG9hZCx1PWUuYWN0aW9uKG4sYSk7ZnVuY3Rpb24gbyhuKXtpZih0LmRpc2NhcmRlZCl7dC5wYXlsb2FkLnR5cGU9PT1sLkFDVElPTl9TRVJWRVJfQUNUSU9OJiZ0LnBheWxvYWQuZGlkUmV2YWxpZGF0ZSYmKGUubmVlZHNSZWZyZXNoPSEwKSx5KGUscik7cmV0dXJufWUuc3RhdGU9bix5KGUsciksdC5yZXNvbHZlKG4pfSgwLGkuaXNUaGVuYWJsZSkodSk/dS50aGVuKG8sbj0+e3koZSxyKSx0LnJlamVjdChuKX0pOm8odSl9bGV0IFI9bnVsbDtmdW5jdGlvbiBfKGUsdCl7bGV0IHI9e3N0YXRlOmUsZGlzcGF0Y2g6KGUsdCk9PihmdW5jdGlvbihlLHQscil7bGV0IG49e3Jlc29sdmU6cixyZWplY3Q6KCk9Pnt9fTtpZih0LnR5cGUhPT1sLkFDVElPTl9SRVNUT1JFKXtsZXQgZT1uZXcgUHJvbWlzZSgoZSx0KT0+e249e3Jlc29sdmU6ZSxyZWplY3Q6dH19KTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PntyKGUpfSl9bGV0IGE9e3BheWxvYWQ6dCxuZXh0Om51bGwscmVzb2x2ZTpuLnJlc29sdmUscmVqZWN0Om4ucmVqZWN0fTtudWxsPT09ZS5wZW5kaW5nPyhlLmxhc3Q9YSxnKHthY3Rpb25RdWV1ZTplLGFjdGlvbjphLHNldFN0YXRlOnJ9KSk6dC50eXBlPT09bC5BQ1RJT05fTkFWSUdBVEV8fHQudHlwZT09PWwuQUNUSU9OX1JFU1RPUkU/KGUucGVuZGluZy5kaXNjYXJkZWQ9ITAsYS5uZXh0PWUucGVuZGluZy5uZXh0LGcoe2FjdGlvblF1ZXVlOmUsYWN0aW9uOmEsc2V0U3RhdGU6cn0pKToobnVsbCE9PWUubGFzdCYmKGUubGFzdC5uZXh0PWEpLGUubGFzdD1hKX0pKHIsZSx0KSxhY3Rpb246YXN5bmMoZSx0KT0+KDAsdS5yZWR1Y2VyKShlLHQpLHBlbmRpbmc6bnVsbCxsYXN0Om51bGwsb25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0Lm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0P3Qub25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6bnVsbH07aWYoInUiPnR5cGVvZiB3aW5kb3cpe2lmKG51bGwhPT1SKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW50ZXJuYWwgTmV4dC5qcyBFcnJvcjogY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlIHdhcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTYyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtSPXJ9cmV0dXJuIHJ9ZnVuY3Rpb24gUCgpe3JldHVybiBudWxsIT09Uj9SLnN0YXRlOm51bGx9ZnVuY3Rpb24gdigpe3JldHVybiBudWxsIT09Uj9SLm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0Om51bGx9ZnVuY3Rpb24gRShlLHQscixuKXtsZXQgYT1uZXcgVVJMKCgwLGQuYWRkQmFzZVBhdGgpKGUpLGxvY2F0aW9uLmhyZWYpOygwLHAuc2V0TGlua0ZvckN1cnJlbnROYXZpZ2F0aW9uKShuKTtsZXQgdT12KCk7bnVsbCE9PXUmJnUoZSx0KSwoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpsLkFDVElPTl9OQVZJR0FURSx1cmw6YSxpc0V4dGVybmFsVXJsOigwLGguaXNFeHRlcm5hbFVSTCkoYSksbG9jYXRpb25TZWFyY2g6bG9jYXRpb24uc2VhcmNoLHNob3VsZFNjcm9sbDpyLG5hdmlnYXRlVHlwZTp0fSl9ZnVuY3Rpb24gbShlLHQpe2xldCByPXYoKTtudWxsIT09ciYmcihlLCJ0cmF2ZXJzZSIpLCgwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOmwuQUNUSU9OX1JFU1RPUkUsdXJsOm5ldyBVUkwoZSksaGlzdG9yeVN0YXRlOnR9KX1sZXQgYj17YmFjazooKT0+d2luZG93Lmhpc3RvcnkuYmFjaygpLGZvcndhcmQ6KCk9PndpbmRvdy5oaXN0b3J5LmZvcndhcmQoKSxwcmVmZXRjaDooZSx0KT0+e2xldCByLG49ZnVuY3Rpb24oKXtpZihudWxsPT09Uil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2NjgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIFJ9KCk7c3dpdGNoKHQ/LmtpbmQ/P2wuUHJlZmV0Y2hLaW5kLkFVVE8pe2Nhc2UgbC5QcmVmZXRjaEtpbmQuQVVUTzpyPWMuRmV0Y2hTdHJhdGVneS5QUFI7YnJlYWs7Y2FzZSBsLlByZWZldGNoS2luZC5GVUxMOnI9Yy5GZXRjaFN0cmF0ZWd5LkZ1bGw7YnJlYWs7ZGVmYXVsdDpyPWMuRmV0Y2hTdHJhdGVneS5QUFJ9KDAscy5wcmVmZXRjaCkoZSxuLnN0YXRlLm5leHRVcmwsbi5zdGF0ZS50cmVlLHIsdD8ub25JbnZhbGlkYXRlPz9udWxsKX0scmVwbGFjZTooZSx0KT0+eygwLG8uc3RhcnRUcmFuc2l0aW9uKSgoKT0+e0UoZSwicmVwbGFjZSIsdD8uc2Nyb2xsPz8hMCxudWxsKX0pfSxwdXNoOihlLHQpPT57KDAsby5zdGFydFRyYW5zaXRpb24pKCgpPT57RShlLCJwdXNoIix0Py5zY3JvbGw/PyEwLG51bGwpfSl9LHJlZnJlc2g6KCk9PnsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTpsLkFDVElPTl9SRUZSRVNIfSl9KX0saG1yUmVmcmVzaDooKT0+e3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiaG1yUmVmcmVzaCBjYW4gb25seSBiZSB1c2VkIGluIGRldmVsb3BtZW50IG1vZGUuIFBsZWFzZSB1c2UgcmVmcmVzaCBpbnN0ZWFkLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNDg1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX07InUiPnR5cGVvZiB3aW5kb3cmJndpbmRvdy5uZXh0JiYod2luZG93Lm5leHQucm91dGVyPWIpLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9XSk7"}},"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":"coinlib.io/_next/static/chunks/95262386d8d4b6dd.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.544Z","timestamp":1785129949544,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/95262386d8d4b6dd.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 4410355\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"95262386d8d4b6dd.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"8c155806c003f628ca093cb0feb083d0\"\r\nlast-modified: Thu, 30 Apr 2026 21:19:00 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/95262386d8d4b6dd.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::n9fnj-1777689750477-eb548eb708c2\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=kao2P17YJ2OnoARKJbBGP%2FkHyrogkX10ZKdWMAmqKTohnEahB%2BeXJvVoOL5eDN0nnr4lnS1q%2FCY9ctP77pj31gsYrTtmyKnZvhxtfWnNDaXaeipib0WZZcwtEEfQ\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c8ad35a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":30684,"size_decoded":9881,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (30682), with no line terminators","md5":"8c155806c003f628ca093cb0feb083d0","sha1":"7e566386cefa86e8ede2e755f712dff7a8ef02f7","sha256":"07310b422de93eb0e61986355fd1084b06b47060d629f957c5311440650a6d2a","sha512":"980bd9a8f57049d13d7a8647fb56f621b005d208dafacc5c0534b9a919204bc9e363a122a1b4a48f4ef71cc00dcd2308e4885de83e31d2491b0a5d4a807fe7fe","ssdeep":"384:tj5z75Bq9E0mLlSmRt0cJ3XHHE79Fg/Za98qWtOPSN6wfV:N5z9BX0idiMxxgwfV","tlshash":"a4d2d9b17395f9a352db86d9d03a0005f2290d3530ae28b0b395dcef365dc8991fafa5","first_seen":"2026-03-29T05:29:39.700118Z","last_seen":"2026-08-15T07:58:28.220146Z","times_seen":2198,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc3NDcyLChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlLHQ9e30pe2lmKHQub25seUhhc2hDaGFuZ2UpcmV0dXJuIHZvaWQgZSgpO2xldCByPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpZigic21vb3RoIiE9PXIuZGF0YXNldC5zY3JvbGxCZWhhdmlvcilyZXR1cm4gdm9pZCBlKCk7bGV0IGE9ci5zdHlsZS5zY3JvbGxCZWhhdmlvcjtyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPSJhdXRvIix0LmRvbnRGb3JjZUxheW91dHx8ci5nZXRDbGllbnRSZWN0cygpLGUoKSxyLnN0eWxlLnNjcm9sbEJlaGF2aW9yPWF9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkaXNhYmxlU21vb3RoU2Nyb2xsRHVyaW5nUm91dGVUcmFuc2l0aW9uIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KSxlLnIoOTE5NDcpfSwxODkxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9fSk7bGV0IG49ZS5yKDQ0MDY2KSxhPWUucig5ODEzNCksbz1uLl8oZS5yKDc1MjAxKSksaT1lLnIoNzQwODQpLHM9ZS5yKDUzMTMzKTtlLnIoOTE5NDcpO2xldCBjPWUucigxNjg3Mik7Y2xhc3MgdSBleHRlbmRzIG8uZGVmYXVsdC5Db21wb25lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5zdGF0ZT17dHJpZ2dlcmVkU3RhdHVzOnZvaWQgMCxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fWNvbXBvbmVudERpZENhdGNoKCl7fXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7aWYoKDAscy5pc0hUVFBBY2Nlc3NGYWxsYmFja0Vycm9yKShlKSlyZXR1cm57dHJpZ2dlcmVkU3RhdHVzOigwLHMuZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzKShlKX07dGhyb3cgZX1zdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKGUsdCl7cmV0dXJuIGUucGF0aG5hbWUhPT10LnByZXZpb3VzUGF0aG5hbWUmJnQudHJpZ2dlcmVkU3RhdHVzP3t0cmlnZ2VyZWRTdGF0dXM6dm9pZCAwLHByZXZpb3VzUGF0aG5hbWU6ZS5wYXRobmFtZX06e3RyaWdnZXJlZFN0YXR1czp0LnRyaWdnZXJlZFN0YXR1cyxwcmV2aW91c1BhdGhuYW1lOmUucGF0aG5hbWV9fXJlbmRlcigpe2xldHtub3RGb3VuZDplLGZvcmJpZGRlbjp0LHVuYXV0aG9yaXplZDpyLGNoaWxkcmVuOm59PXRoaXMucHJvcHMse3RyaWdnZXJlZFN0YXR1czpvfT10aGlzLnN0YXRlLGk9e1tzLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5OT1RfRk9VTkRdOmUsW3MuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTl06dCxbcy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuVU5BVVRIT1JJWkVEXTpyfTtpZihvKXtsZXQgYz1vPT09cy5IVFRQQWNjZXNzRXJyb3JTdGF0dXMuTk9UX0ZPVU5EJiZlLHU9bz09PXMuSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLkZPUkJJRERFTiYmdCxsPW89PT1zLkhUVFBBY2Nlc3NFcnJvclN0YXR1cy5VTkFVVEhPUklaRUQmJnI7cmV0dXJuIGN8fHV8fGw/KDAsYS5qc3hzKShhLkZyYWdtZW50LHtjaGlsZHJlbjpbKDAsYS5qc3gpKCJtZXRhIix7bmFtZToicm9ib3RzIixjb250ZW50OiJub2luZGV4In0pLCExLGlbb11dfSk6bn1yZXR1cm4gbn19ZnVuY3Rpb24gbCh7bm90Rm91bmQ6ZSxmb3JiaWRkZW46dCx1bmF1dGhvcml6ZWQ6cixjaGlsZHJlbjpufSl7bGV0IHM9KDAsaS51c2VVbnRyYWNrZWRQYXRobmFtZSkoKSxsPSgwLG8udXNlQ29udGV4dCkoYy5NaXNzaW5nU2xvdENvbnRleHQpO3JldHVybiBlfHx0fHxyPygwLGEuanN4KSh1LHtwYXRobmFtZTpzLG5vdEZvdW5kOmUsZm9yYmlkZGVuOnQsdW5hdXRob3JpemVkOnIsbWlzc2luZ1Nsb3RzOmwsY2hpbGRyZW46bn0pOigwLGEuanN4KShhLkZyYWdtZW50LHtjaGlsZHJlbjpufSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODU2NDYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVzZVJvdXRlckJGQ2FjaGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig3NTIwMSk7ZnVuY3Rpb24gYShlLHQpe2xldFtyLGFdPSgwLG4udXNlU3RhdGUpKCgpPT4oe3RyZWU6ZSxzdGF0ZUtleTp0LG5leHQ6bnVsbH0pKTtpZihyLnRyZWU9PT1lKXJldHVybiByO2xldCBvPXt0cmVlOmUsc3RhdGVLZXk6dCxuZXh0Om51bGx9LGk9MSxzPXIsYz1vO2Zvcig7bnVsbCE9PXMmJmk8MTspe2lmKHMuc3RhdGVLZXk9PT10KXtjLm5leHQ9cy5uZXh0O2JyZWFrfXtpKys7bGV0IGU9e3RyZWU6cy50cmVlLHN0YXRlS2V5OnMuc3RhdGVLZXksbmV4dDpudWxsfTtjLm5leHQ9ZSxjPWV9cz1zLm5leHR9cmV0dXJuIGEobyksb30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwzMDk3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gd319KTtsZXQgbj1lLnIoODEyNTgpLGE9ZS5yKDQ0MDY2KSxvPWUucig5ODEzNCksaT1hLl8oZS5yKDc1MjAxKSkscz1uLl8oZS5yKDI5MDgwKSksYz1lLnIoMTY4NzIpLHU9ZS5yKDUwMDk2KSxsPWUucig3NDg0NyksZD1lLnIoODk2MTYpLGY9ZS5yKDc3NDcyKSxwPWUucig1NzI0NyksaD1lLnIoMTg5MSksbT1lLnIoNTc3NzgpLGc9ZS5yKDg1NjQ2KTtlLnIoOTIyMjcpO2xldCB5PWUucigzMTg5OSksYj1lLnIoODgwNjIpLFA9ZS5yKDE4OTM5KSxfPXMuZGVmYXVsdC5fX0RPTV9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsUz1bImJvdHRvbSIsImhlaWdodCIsImxlZnQiLCJyaWdodCIsInRvcCIsIndpZHRoIiwieCIsInkiXTtmdW5jdGlvbiB2KGUsdCl7bGV0IHI9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gci50b3A+PTAmJnIudG9wPD10fWNsYXNzIE8gZXh0ZW5kcyBpLmRlZmF1bHQuQ29tcG9uZW50e2NvbXBvbmVudERpZE1vdW50KCl7dGhpcy5oYW5kbGVQb3RlbnRpYWxTY3JvbGwoKX1jb21wb25lbnREaWRVcGRhdGUoKXt0aGlzLnByb3BzLmZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5JiZ0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpfXJlbmRlcigpe3JldHVybiB0aGlzLnByb3BzLmNoaWxkcmVufWNvbnN0cnVjdG9yKC4uLmUpe3N1cGVyKC4uLmUpLHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsPSgpPT57bGV0e2ZvY3VzQW5kU2Nyb2xsUmVmOmUsc2VnbWVudFBhdGg6dH09dGhpcy5wcm9wcztpZihlLmFwcGx5KXtpZigwIT09ZS5zZWdtZW50UGF0aHMubGVuZ3RoJiYhZS5zZWdtZW50UGF0aHMuc29tZShlPT50LmV2ZXJ5KCh0LHIpPT4oMCxkLm1hdGNoU2VnbWVudCkodCxlW3JdKSkpKXJldHVybjtsZXQgcj1udWxsLG49ZS5oYXNoRnJhZ21lbnQ7aWYobiYmKHI9InRvcCI9PT1uP2RvY3VtZW50LmJvZHk6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobik/P2RvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKG4pWzBdKSxyfHwocj0idSI8dHlwZW9mIHdpbmRvdz9udWxsOigwLF8uZmluZERPTU5vZGUpKHRoaXMpKSwhKHIgaW5zdGFuY2VvZiBFbGVtZW50KSlyZXR1cm47Zm9yKDshKHIgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl8fGZ1bmN0aW9uKGUpe2lmKFsic3RpY2t5IiwiZml4ZWQiXS5pbmNsdWRlcyhnZXRDb21wdXRlZFN0eWxlKGUpLnBvc2l0aW9uKSlyZXR1cm4hMDtsZXQgdD1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3JldHVybiBTLmV2ZXJ5KGU9PjA9PT10W2VdKX0ocik7KXtpZihudWxsPT09ci5uZXh0RWxlbWVudFNpYmxpbmcpcmV0dXJuO3I9ci5uZXh0RWxlbWVudFNpYmxpbmd9ZS5hcHBseT0hMSxlLmhhc2hGcmFnbWVudD1udWxsLGUuc2VnbWVudFBhdGhzPVtdLCgwLGYuZGlzYWJsZVNtb290aFNjcm9sbER1cmluZ1JvdXRlVHJhbnNpdGlvbikoKCk9PntpZihuKXJldHVybiB2b2lkIHIuc2Nyb2xsSW50b1ZpZXcoKTtsZXQgZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdD1lLmNsaWVudEhlaWdodDshdihyLHQpJiYoZS5zY3JvbGxUb3A9MCx2KHIsdCl8fHIuc2Nyb2xsSW50b1ZpZXcoKSl9LHtkb250Rm9yY2VMYXlvdXQ6ITAsb25seUhhc2hDaGFuZ2U6ZS5vbmx5SGFzaENoYW5nZX0pLGUub25seUhhc2hDaGFuZ2U9ITEsci5mb2N1cygpfX19fWZ1bmN0aW9uIFIoe3NlZ21lbnRQYXRoOmUsY2hpbGRyZW46dH0pe2xldCByPSgwLGkudXNlQ29udGV4dCkoYy5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtpZighcil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImludmFyaWFudCBnbG9iYWwgbGF5b3V0IHJvdXRlciBub3QgbW91bnRlZCIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNDczIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybigwLG8uanN4KShPLHtzZWdtZW50UGF0aDplLGZvY3VzQW5kU2Nyb2xsUmVmOnIuZm9jdXNBbmRTY3JvbGxSZWYsY2hpbGRyZW46dH0pfWZ1bmN0aW9uIEUoe3RyZWU6ZSxzZWdtZW50UGF0aDp0LGRlYnVnTmFtZUNvbnRleHQ6cixjYWNoZU5vZGU6bixwYXJhbXM6YSx1cmw6cyxpc0FjdGl2ZTpsfSl7bGV0IGQsZj0oMCxpLnVzZUNvbnRleHQpKGMuR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCk7aWYoKDAsaS51c2VDb250ZXh0KSh5Lk5hdmlnYXRpb25Qcm9taXNlc0NvbnRleHQpLCFmKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0NzMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IHA9bnVsbCE9PW4/bjooMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGg9bnVsbCE9PXAucHJlZmV0Y2hSc2M/cC5wcmVmZXRjaFJzYzpwLnJzYyxtPSgwLGkudXNlRGVmZXJyZWRWYWx1ZSkocC5yc2MsaCk7aWYoKDAsUC5pc0RlZmVycmVkUnNjKShtKSl7bGV0IGU9KDAsaS51c2UpKG0pO251bGw9PT1lJiYoMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGQ9ZX1lbHNlIG51bGw9PT1tJiYoMCxpLnVzZSkodS51bnJlc29sdmVkVGhlbmFibGUpLGQ9bTtsZXQgZz1kO3JldHVybigwLG8uanN4KShjLkxheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOntwYXJlbnRUcmVlOmUscGFyZW50Q2FjaGVOb2RlOnAscGFyZW50U2VnbWVudFBhdGg6dCxwYXJlbnRQYXJhbXM6YSxkZWJ1Z05hbWVDb250ZXh0OnIsdXJsOnMsaXNBY3RpdmU6bH0sY2hpbGRyZW46Z30pfWZ1bmN0aW9uIGooe25hbWU6ZSxsb2FkaW5nOnQsY2hpbGRyZW46cn0pe2xldCBuO2lmKG49Im9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCYmImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbj8oMCxpLnVzZSkodCk6dCl7bGV0IHQ9blswXSxhPW5bMV0scz1uWzJdO3JldHVybigwLG8uanN4KShpLlN1c3BlbnNlLHtuYW1lOmUsZmFsbGJhY2s6KDAsby5qc3hzKShvLkZyYWdtZW50LHtjaGlsZHJlbjpbYSxzLHRdfSksY2hpbGRyZW46cn0pfXJldHVybigwLG8uanN4KShvLkZyYWdtZW50LHtjaGlsZHJlbjpyfSl9ZnVuY3Rpb24gdyh7cGFyYWxsZWxSb3V0ZXJLZXk6ZSxlcnJvcjp0LGVycm9yU3R5bGVzOnIsZXJyb3JTY3JpcHRzOm4sdGVtcGxhdGVTdHlsZXM6YSx0ZW1wbGF0ZVNjcmlwdHM6cyx0ZW1wbGF0ZTpkLG5vdEZvdW5kOmYsZm9yYmlkZGVuOnksdW5hdXRob3JpemVkOlAsc2VnbWVudFZpZXdCb3VuZGFyaWVzOl99KXtsZXQgUz0oMCxpLnVzZUNvbnRleHQpKGMuTGF5b3V0Um91dGVyQ29udGV4dCk7aWYoIVMpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJpbnZhcmlhbnQgZXhwZWN0ZWQgbGF5b3V0IHJvdXRlciB0byBiZSBtb3VudGVkIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7cGFyZW50VHJlZTp2LHBhcmVudENhY2hlTm9kZTpPLHBhcmVudFNlZ21lbnRQYXRoOncscGFyZW50UGFyYW1zOkMsdXJsOlQsaXNBY3RpdmU6eCxkZWJ1Z05hbWVDb250ZXh0OkF9PVMsTT1PLnBhcmFsbGVsUm91dGVzLEQ9TS5nZXQoZSk7RHx8KEQ9bmV3IE1hcCxNLnNldChlLEQpKTtsZXQgRj12WzBdLEk9bnVsbD09PXc/W2VdOncuY29uY2F0KFtGLGVdKSxrPXZbMV1bZV07dm9pZCAwPT09ayYmKDAsaS51c2UpKHUudW5yZXNvbHZlZFRoZW5hYmxlKTtsZXQgTj1rWzBdLFU9KDAsbS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoTiwhMCksQj0oMCxnLnVzZVJvdXRlckJGQ2FjaGUpKGssVSksTD1bXTtkb3tsZXQgZT1CLnRyZWUsaT1CLnN0YXRlS2V5LHU9ZVswXSxnPSgwLG0uY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHUpLF89RC5nZXQoZyk/P251bGwsUz1DO2lmKEFycmF5LmlzQXJyYXkodSkpe2xldCBlPXVbMF0sdD11WzFdLHI9dVsyXSxuPSgwLGIuZ2V0UGFyYW1WYWx1ZUZyb21DYWNoZUtleSkodCxyKTtudWxsIT09biYmKFM9ey4uLkMsW2VdOm59KX1sZXQgdj1mdW5jdGlvbihlKXtpZigiLyI9PT1lKXJldHVybiIvIjtpZigic3RyaW5nIj09dHlwZW9mIGUpaWYoIihzbG90KSI9PT1lKXJldHVybjtlbHNlIHJldHVybiBlKyIvIjtyZXR1cm4gZVsxXSsiLyJ9KHUpLHc9dj8/QSxNPXZvaWQgMD09PXY/dm9pZCAwOkEsRj1PLmxvYWRpbmcsaz0oMCxvLmpzeHMpKGMuVGVtcGxhdGVDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTooMCxvLmpzeHMpKFIse3NlZ21lbnRQYXRoOkksY2hpbGRyZW46WygwLG8uanN4KShsLkVycm9yQm91bmRhcnkse2Vycm9yQ29tcG9uZW50OnQsZXJyb3JTdHlsZXM6cixlcnJvclNjcmlwdHM6bixjaGlsZHJlbjooMCxvLmpzeCkoaix7bmFtZTpNLGxvYWRpbmc6RixjaGlsZHJlbjooMCxvLmpzeCkoaC5IVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSx7bm90Rm91bmQ6Zixmb3JiaWRkZW46eSx1bmF1dGhvcml6ZWQ6UCxjaGlsZHJlbjooMCxvLmpzeHMpKHAuUmVkaXJlY3RCb3VuZGFyeSx7Y2hpbGRyZW46WygwLG8uanN4KShFLHt1cmw6VCx0cmVlOmUscGFyYW1zOlMsY2FjaGVOb2RlOl8sc2VnbWVudFBhdGg6SSxkZWJ1Z05hbWVDb250ZXh0OncsaXNBY3RpdmU6eCYmaT09PVV9KSxudWxsXX0pfSl9KX0pLG51bGxdfSksY2hpbGRyZW46W2EscyxkXX0saSk7TC5wdXNoKGspLEI9Qi5uZXh0fXdoaWxlKG51bGwhPT1CKXJldHVybiBMfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDk5Mjk5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1lLnIoNDQwNjYpLGE9ZS5yKDk4MTM0KSxvPW4uXyhlLnIoNzUyMDEpKSxpPWUucigxNjg3Mik7ZnVuY3Rpb24gcygpe2xldCBlPSgwLG8udXNlQ29udGV4dCkoaS5UZW1wbGF0ZUNvbnRleHQpO3JldHVybigwLGEuanN4KShhLkZyYWdtZW50LHtjaGlsZHJlbjplfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sODk1MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDY4NjE0LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJTZWFyY2hQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoODk1MykuY3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudDsoImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw3MDcyOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7bGV0IG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gYShlKXtsZXQgdD1uLmdldChlKTtpZih0KXJldHVybiB0O2xldCByPVByb21pc2UucmVzb2x2ZShlKTtyZXR1cm4gbi5zZXQoZSxyKSxyfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDg3MTg5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJjcmVhdGVSZW5kZXJQYXJhbXNGcm9tQ2xpZW50Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj1lLnIoNzA3MjkpLmNyZWF0ZVJlbmRlclBhcmFtc0Zyb21DbGllbnQ7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTc1MTgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIlJlZmxlY3RBZGFwdGVyIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtjbGFzcyBue3N0YXRpYyBnZXQoZSx0LHIpe2xldCBuPVJlZmxlY3QuZ2V0KGUsdCxyKTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2Ygbj9uLmJpbmQoZSk6bn1zdGF0aWMgc2V0KGUsdCxyLG4pe3JldHVybiBSZWZsZWN0LnNldChlLHQscixuKX1zdGF0aWMgaGFzKGUsdCl7cmV0dXJuIFJlZmxlY3QuaGFzKGUsdCl9c3RhdGljIGRlbGV0ZVByb3BlcnR5KGUsdCl7cmV0dXJuIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkoZSx0KX19fSw0NTAxNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiY3JlYXRlRGVkdXBlZEJ5Q2FsbHNpdGVTZXJ2ZXJFcnJvckxvZ2dlckRldiIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9fSk7bGV0IG49ZnVuY3Rpb24oZSx0KXtpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7aWYobnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUpcmV0dXJue2RlZmF1bHQ6ZX07dmFyIHI9YSh2b2lkIDApO2lmKHImJnIuaGFzKGUpKXJldHVybiByLmdldChlKTt2YXIgbj17X19wcm90b19fOm51bGx9LG89T2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2Zvcih2YXIgaSBpbiBlKWlmKCJkZWZhdWx0IiE9PWkmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpKXt2YXIgcz1vP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxpKTpudWxsO3MmJihzLmdldHx8cy5zZXQpP09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLGkscyk6bltpXT1lW2ldfXJldHVybiBuLmRlZmF1bHQ9ZSxyJiZyLnNldChlLG4pLG59KGUucig3NTIwMSkpO2Z1bmN0aW9uIGEoZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIFdlYWtNYXApcmV0dXJuIG51bGw7dmFyIHQ9bmV3IFdlYWtNYXAscj1uZXcgV2Vha01hcDtyZXR1cm4oYT1mdW5jdGlvbihlKXtyZXR1cm4gZT9yOnR9KShlKX1sZXQgbz17Y3VycmVudDpudWxsfSxpPSJmdW5jdGlvbiI9PXR5cGVvZiBuLmNhY2hlP24uY2FjaGU6ZT0+ZSxzPWNvbnNvbGUud2FybjtmdW5jdGlvbiBjKGUpe3JldHVybiBmdW5jdGlvbiguLi50KXtzKGUoLi4udCkpfX1pKGU9Pnt0cnl7cyhvLmN1cnJlbnQpfWZpbmFsbHl7by5jdXJyZW50PW51bGx9fSl9LDc1ODI3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtkZXNjcmliZUhhc0NoZWNraW5nU3RyaW5nUHJvcGVydHk6ZnVuY3Rpb24oKXtyZXR1cm4gc30sZGVzY3JpYmVTdHJpbmdQcm9wZXJ0eUFjY2VzczpmdW5jdGlvbigpe3JldHVybiBpfSx3ZWxsS25vd25Qcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89L15bQS1aYS16XyRdW0EtWmEtejAtOV8kXSokLztmdW5jdGlvbiBpKGUsdCl7cmV0dXJuIG8udGVzdCh0KT9gXGAke2V9LiR7dH1cYGA6YFxgJHtlfVske0pTT04uc3RyaW5naWZ5KHQpfV1cYGB9ZnVuY3Rpb24gcyhlLHQpe2xldCByPUpTT04uc3RyaW5naWZ5KHQpO3JldHVybmBcYFJlZmxlY3QuaGFzKCR7ZX0sICR7cn0pXGAsIFxgJHtyfSBpbiAke2V9XGAsIG9yIHNpbWlsYXJgfWxldCBjPW5ldyBTZXQoWyJoYXNPd25Qcm9wZXJ0eSIsImlzUHJvdG90eXBlT2YiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsInRvU3RyaW5nIiwidmFsdWVPZiIsInRvTG9jYWxlU3RyaW5nIiwidGhlbiIsImNhdGNoIiwiZmluYWxseSIsInN0YXR1cyIsImRpc3BsYXlOYW1lIiwiX2RlYnVnSW5mbyIsInRvSlNPTiIsIiQkdHlwZW9mIiwiX19lc01vZHVsZSJdKX0sNTU5NDksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImFmdGVyVGFza0FzeW5jU3RvcmFnZUluc3RhbmNlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0oMCxlLnIoNDkyMTEpLmNyZWF0ZUFzeW5jTG9jYWxTdG9yYWdlKSgpfSwxMzE3NywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5hZnRlclRhc2tBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNTU5NDkpfSwzNzE2NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17aXNSZXF1ZXN0QVBJQ2FsbGFibGVJbnNpZGVBZnRlcjpmdW5jdGlvbigpe3JldHVybiB1fSx0aHJvd0ZvclNlYXJjaFBhcmFtc0FjY2Vzc0luVXNlQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sdGhyb3dXaXRoU3RhdGljR2VuZXJhdGlvbkJhaWxvdXRFcnJvcldpdGhEeW5hbWljRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gc319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoMTY0MzIpLGk9ZS5yKDEzMTc3KTtmdW5jdGlvbiBzKGUsdCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBvLlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtlfSB3aXRoIFxgZHluYW1pYyA9ICJlcnJvciJcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCAke3R9LiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9zdGF0aWMtYW5kLWR5bmFtaWMjZHluYW1pYy1yZW5kZXJpbmdgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU0MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1mdW5jdGlvbiBjKGUsdCl7bGV0IHI9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGBSb3V0ZSAke2Uucm91dGV9IHVzZWQgXGBzZWFyY2hQYXJhbXNcYCBpbnNpZGUgInVzZSBjYWNoZSIuIEFjY2Vzc2luZyBkeW5hbWljIHJlcXVlc3QgZGF0YSBpbnNpZGUgYSBjYWNoZSBzY29wZSBpcyBub3Qgc3VwcG9ydGVkLiBJZiB5b3UgbmVlZCBzb21lIHNlYXJjaCBwYXJhbXMgaW5zaWRlIGEgY2FjaGVkIGZ1bmN0aW9uIGF3YWl0IFxgc2VhcmNoUGFyYW1zXGAgb3V0c2lkZSBvZiB0aGUgY2FjaGVkIGZ1bmN0aW9uIGFuZCBwYXNzIG9ubHkgdGhlIHJlcXVpcmVkIHNlYXJjaCBwYXJhbXMgYXMgYXJndW1lbnRzIHRvIHRoZSBjYWNoZWQgZnVuY3Rpb24uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1yZXF1ZXN0LWluLXVzZS1jYWNoZWApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFODQyIixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHIsdCksZS5pbnZhbGlkRHluYW1pY1VzYWdlRXJyb3I/Pz1yLHJ9ZnVuY3Rpb24gdSgpe2xldCBlPWkuYWZ0ZXJUYXNrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7cmV0dXJuKG51bGw9PWU/dm9pZCAwOmUucm9vdFRhc2tTcGF3blBoYXNlKT09PSJhY3Rpb24ifX0sNTU1MjUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG4sYT17UmVuZGVyU3RhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gY30sU3RhZ2VkUmVuZGVyaW5nQ29udHJvbGxlcjpmdW5jdGlvbigpe3JldHVybiB1fX07Zm9yKHZhciBvIGluIGEpT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsbyx7ZW51bWVyYWJsZTohMCxnZXQ6YVtvXX0pO2xldCBpPWUucig0MTA2Mikscz1lLnIoNDA0NjEpO3ZhciBjPSgobj17fSlbbi5CZWZvcmU9MV09IkJlZm9yZSIsbltuLlN0YXRpYz0yXT0iU3RhdGljIixuW24uUnVudGltZT0zXT0iUnVudGltZSIsbltuLkR5bmFtaWM9NF09IkR5bmFtaWMiLG5bbi5BYmFuZG9uZWQ9NV09IkFiYW5kb25lZCIsbik7Y2xhc3MgdXtjb25zdHJ1Y3RvcihlPW51bGwsdCl7dGhpcy5hYm9ydFNpZ25hbD1lLHRoaXMuaGFzUnVudGltZVByZWZldGNoPXQsdGhpcy5jdXJyZW50U3RhZ2U9MSx0aGlzLnN0YXRpY0ludGVycnVwdFJlYXNvbj1udWxsLHRoaXMucnVudGltZUludGVycnVwdFJlYXNvbj1udWxsLHRoaXMuc3RhdGljU3RhZ2VFbmRUaW1lPTEvMCx0aGlzLnJ1bnRpbWVTdGFnZUVuZFRpbWU9MS8wLHRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzPVtdLHRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzPVtdLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZT0oMCxzLmNyZWF0ZVByb21pc2VXaXRoUmVzb2x2ZXJzKSgpLHRoaXMubWF5QWJhbmRvbj0hMSxlJiYoZS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9PntsZXR7cmVhc29uOnR9PWU7dGhpcy5jdXJyZW50U3RhZ2U8MyYmKHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlLmNhdGNoKGwpLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZWplY3QodCkpLCh0aGlzLmN1cnJlbnRTdGFnZTw0fHw1PT09dGhpcy5jdXJyZW50U3RhZ2UpJiYodGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2UuY2F0Y2gobCksdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnJlamVjdCh0KSl9LHtvbmNlOiEwfSksdGhpcy5tYXlBYmFuZG9uPSEwKX1vblN0YWdlKGUsdCl7aWYodGhpcy5jdXJyZW50U3RhZ2U+PWUpdCgpO2Vsc2UgaWYoMz09PWUpdGhpcy5ydW50aW1lU3RhZ2VMaXN0ZW5lcnMucHVzaCh0KTtlbHNlIGlmKDQ9PT1lKXRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzLnB1c2godCk7ZWxzZSB0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9Y2FuU3luY0ludGVycnVwdCgpe2lmKDE9PT10aGlzLmN1cnJlbnRTdGFnZSlyZXR1cm4hMTtsZXQgZT10aGlzLmhhc1J1bnRpbWVQcmVmZXRjaD80OjM7cmV0dXJuIHRoaXMuY3VycmVudFN0YWdlPGV9c3luY0ludGVycnVwdEN1cnJlbnRTdGFnZVdpdGhSZWFzb24oZSl7aWYoMSE9PXRoaXMuY3VycmVudFN0YWdlKXtpZih0aGlzLm1heUFiYW5kb24pcmV0dXJuIHRoaXMuYWJhbmRvblJlbmRlckltcGwoKTtzd2l0Y2godGhpcy5jdXJyZW50U3RhZ2Upe2Nhc2UgMjp0aGlzLnN0YXRpY0ludGVycnVwdFJlYXNvbj1lLHRoaXMuYWR2YW5jZVN0YWdlKDQpO3JldHVybjtjYXNlIDM6dGhpcy5oYXNSdW50aW1lUHJlZmV0Y2gmJih0aGlzLnJ1bnRpbWVJbnRlcnJ1cHRSZWFzb249ZSx0aGlzLmFkdmFuY2VTdGFnZSg0KSk7cmV0dXJufX19Z2V0U3RhdGljSW50ZXJydXB0UmVhc29uKCl7cmV0dXJuIHRoaXMuc3RhdGljSW50ZXJydXB0UmVhc29ufWdldFJ1bnRpbWVJbnRlcnJ1cHRSZWFzb24oKXtyZXR1cm4gdGhpcy5ydW50aW1lSW50ZXJydXB0UmVhc29ufWdldFN0YXRpY1N0YWdlRW5kVGltZSgpe3JldHVybiB0aGlzLnN0YXRpY1N0YWdlRW5kVGltZX1nZXRSdW50aW1lU3RhZ2VFbmRUaW1lKCl7cmV0dXJuIHRoaXMucnVudGltZVN0YWdlRW5kVGltZX1hYmFuZG9uUmVuZGVyKCl7aWYoIXRoaXMubWF5QWJhbmRvbil0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoImBhYmFuZG9uUmVuZGVyYCBjYWxsZWQgb24gYSBzdGFnZSBjb250cm9sbGVyIHRoYXQgY2Fubm90IGJlIGFiYW5kb25lZC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTkzOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aGlzLmFiYW5kb25SZW5kZXJJbXBsKCl9YWJhbmRvblJlbmRlckltcGwoKXtsZXR7Y3VycmVudFN0YWdlOmV9PXRoaXM7c3dpdGNoKGUpe2Nhc2UgMjp0aGlzLmN1cnJlbnRTdGFnZT01LHRoaXMucmVzb2x2ZVJ1bnRpbWVTdGFnZSgpO3JldHVybjtjYXNlIDM6dGhpcy5jdXJyZW50U3RhZ2U9NTtyZXR1cm59fWFkdmFuY2VTdGFnZShlKXtpZihlPD10aGlzLmN1cnJlbnRTdGFnZSlyZXR1cm47bGV0IHQ9dGhpcy5jdXJyZW50U3RhZ2U7aWYodGhpcy5jdXJyZW50U3RhZ2U9ZSx0PDMmJmU+PTMmJih0aGlzLnN0YXRpY1N0YWdlRW5kVGltZT1wZXJmb3JtYW5jZS5ub3coKStwZXJmb3JtYW5jZS50aW1lT3JpZ2luLHRoaXMucmVzb2x2ZVJ1bnRpbWVTdGFnZSgpKSx0PDQmJmU+PTQpe3RoaXMucnVudGltZVN0YWdlRW5kVGltZT1wZXJmb3JtYW5jZS5ub3coKStwZXJmb3JtYW5jZS50aW1lT3JpZ2luLHRoaXMucmVzb2x2ZUR5bmFtaWNTdGFnZSgpO3JldHVybn19cmVzb2x2ZVJ1bnRpbWVTdGFnZSgpe2xldCBlPXRoaXMucnVudGltZVN0YWdlTGlzdGVuZXJzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0oKTtlLmxlbmd0aD0wLHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5yZXNvbHZlKCl9cmVzb2x2ZUR5bmFtaWNTdGFnZSgpe2xldCBlPXRoaXMuZHluYW1pY1N0YWdlTGlzdGVuZXJzO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0oKTtlLmxlbmd0aD0wLHRoaXMuZHluYW1pY1N0YWdlUHJvbWlzZS5yZXNvbHZlKCl9Z2V0U3RhZ2VQcm9taXNlKGUpe3N3aXRjaChlKXtjYXNlIDM6cmV0dXJuIHRoaXMucnVudGltZVN0YWdlUHJvbWlzZS5wcm9taXNlO2Nhc2UgNDpyZXR1cm4gdGhpcy5keW5hbWljU3RhZ2VQcm9taXNlLnByb21pc2U7ZGVmYXVsdDp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGkuSW52YXJpYW50RXJyb3IoYEludmFsaWQgcmVuZGVyIHN0YWdlOiAke2V9YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4ODEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fXdhaXRGb3JTdGFnZShlKXtyZXR1cm4gdGhpcy5nZXRTdGFnZVByb21pc2UoZSl9ZGVsYXlVbnRpbFN0YWdlKGUsdCxyKXt2YXIgbixhLG87bGV0IGkscz0obj10aGlzLmdldFN0YWdlUHJvbWlzZShlKSxhPXQsbz1yLGk9bmV3IFByb21pc2UoKGUsdCk9PntuLnRoZW4oZS5iaW5kKG51bGwsbyksdCl9KSx2b2lkIDAhPT1hJiYoaS5kaXNwbGF5TmFtZT1hKSxpKTtyZXR1cm4gdGhpcy5hYm9ydFNpZ25hbCYmcy5jYXRjaChsKSxzfX1mdW5jdGlvbiBsKCl7fX0sODY3NzAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2NyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gZ30sY3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBwfSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JNZXRhZGF0YTpmdW5jdGlvbigpe3JldHVybiBofSxjcmVhdGVTZXJ2ZXJTZWFyY2hQYXJhbXNGb3JTZXJ2ZXJQYWdlOmZ1bmN0aW9uKCl7cmV0dXJuIG19LG1ha2VFcnJvcmluZ1NlYXJjaFBhcmFtc0ZvclVzZUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIFN9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDE3NTE4KSxpPWUucig2Nzc4MSkscz1lLnIoMTI5NjUpLGM9ZS5yKDQxMDYyKSx1PWUucigxNTUwOCksbD1lLnIoNDUwMTQpLGQ9ZS5yKDc1ODI3KSxmPWUucigzNzE2NSk7ZnVuY3Rpb24gcChlLHQpe2xldCByPXMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4geSh0LHIpO2Nhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudCBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBhIHJ1bnRpbWUgcHJlcmVuZGVyLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzY5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBjLkludmFyaWFudEVycm9yKCJjcmVhdGVTZWFyY2hQYXJhbXNGcm9tQ2xpZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGNhY2hlIGNvbnRleHRzLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzM5IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UicmVxdWVzdCI6cmV0dXJuIGIoZSx0LHIpfSgwLHMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZS5yKDU1NTI1KTtsZXQgaD1tO2Z1bmN0aW9uIG0oZSx0KXtsZXQgcj1zLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYocilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6cmV0dXJuIHkodCxyKTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VydmVyU2VhcmNoUGFyYW1zRm9yU2VydmVyUGFnZSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjYWNoZSBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc0NyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1ydW50aW1lIjp2YXIgbixhO3JldHVybiBuPWUsYT1yLCgwLGkuZGVsYXlVbnRpbFJ1bnRpbWVTdGFnZSkoYSx2KG4pKTtjYXNlInJlcXVlc3QiOnJldHVybiBiKGUsdCxyKX0oMCxzLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIGcoZSl7aWYoZS5mb3JjZVN0YXRpYylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KTtsZXQgdD1zLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodClzd2l0Y2godC50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpyZXR1cm4oMCx1Lm1ha2VIYW5naW5nUHJvbWlzZSkodC5yZW5kZXJTaWduYWwsZS5yb3V0ZSwiYHNlYXJjaFBhcmFtc2AiKTtjYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IGMuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclNlYXJjaFBhcmFtc0ZvckNsaWVudFBhZ2Ugc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gYSBydW50aW1lIHByZXJlbmRlci4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc2OCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYy5JbnZhcmlhbnRFcnJvcigiY3JlYXRlUHJlcmVuZGVyU2VhcmNoUGFyYW1zRm9yQ2xpZW50UGFnZSBzaG91bGQgbm90IGJlIGNhbGxlZCBpbiBjYWNoZSBjb250ZXh0cy4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc0NiIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlInByZXJlbmRlci1wcHIiOmNhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHt9KX0oMCxzLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWZ1bmN0aW9uIHkoZSx0KXtpZihlLmZvcmNlU3RhdGljKXJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO3N3aXRjaCh0LnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOnZhciByPWUsbj10O2xldCBhPVAuZ2V0KG4pO2lmKGEpcmV0dXJuIGE7bGV0IHM9KDAsdS5tYWtlSGFuZ2luZ1Byb21pc2UpKG4ucmVuZGVyU2lnbmFsLHIucm91dGUsImBzZWFyY2hQYXJhbXNgIiksYz1uZXcgUHJveHkocyx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKHMsdCkpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtzd2l0Y2godCl7Y2FzZSJ0aGVuIjpyZXR1cm4oMCxpLmFubm90YXRlRHluYW1pY0FjY2VzcykoImBhd2FpdCBzZWFyY2hQYXJhbXNgLCBgc2VhcmNoUGFyYW1zLnRoZW5gLCBvciBzaW1pbGFyIixuKSxvLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7Y2FzZSJzdGF0dXMiOnJldHVybigwLGkuYW5ub3RhdGVEeW5hbWljQWNjZXNzKSgiYHVzZShzZWFyY2hQYXJhbXMpYCwgYHNlYXJjaFBhcmFtcy5zdGF0dXNgLCBvciBzaW1pbGFyIixuKSxvLlJlZmxlY3RBZGFwdGVyLmdldChlLHQscik7ZGVmYXVsdDpyZXR1cm4gby5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpfX19KTtyZXR1cm4gUC5zZXQobixjKSxjO2Nhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5Ijp2YXIgbD1lLGQ9dDtsZXQgcD1QLmdldChsKTtpZihwKXJldHVybiBwO2xldCBoPVByb21pc2UucmVzb2x2ZSh7fSksbT1uZXcgUHJveHkoaCx7Z2V0KGUsdCxyKXtpZihPYmplY3QuaGFzT3duKGgsdCkpcmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKTtpZigic3RyaW5nIj09dHlwZW9mIHQmJiJ0aGVuIj09PXQpe2xldCBlPSJgYXdhaXQgc2VhcmNoUGFyYW1zYCwgYHNlYXJjaFBhcmFtcy50aGVuYCwgb3Igc2ltaWxhciI7bC5keW5hbWljU2hvdWxkRXJyb3I/KDAsZi50aHJvd1dpdGhTdGF0aWNHZW5lcmF0aW9uQmFpbG91dEVycm9yV2l0aER5bmFtaWNFcnJvcikobC5yb3V0ZSxlKToicHJlcmVuZGVyLXBwciI9PT1kLnR5cGU/KDAsaS5wb3N0cG9uZVdpdGhUcmFja2luZykobC5yb3V0ZSxlLGQuZHluYW1pY1RyYWNraW5nKTooMCxpLnRocm93VG9JbnRlcnJ1cHRTdGF0aWNHZW5lcmF0aW9uKShlLGwsZCl9cmV0dXJuIG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19KTtyZXR1cm4gUC5zZXQobCxtKSxtO2RlZmF1bHQ6cmV0dXJuIHR9fWZ1bmN0aW9uIGIoZSx0LHIpe3JldHVybiB0LmZvcmNlU3RhdGljP1Byb21pc2UucmVzb2x2ZSh7fSk6dihlKX1sZXQgUD1uZXcgV2Vha01hcCxfPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIFMoZSl7bGV0IHQ9Xy5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoe30pLG49bmV3IFByb3h5KHIse2dldDpmdW5jdGlvbiB0KG4sYSxpKXtyZXR1cm4gT2JqZWN0Lmhhc093bihyLGEpfHwic3RyaW5nIiE9dHlwZW9mIGF8fCJ0aGVuIiE9PWEmJmQud2VsbEtub3duUHJvcGVydGllcy5oYXMoYSl8fCgwLGYudGhyb3dGb3JTZWFyY2hQYXJhbXNBY2Nlc3NJblVzZUNhY2hlKShlLHQpLG8uUmVmbGVjdEFkYXB0ZXIuZ2V0KG4sYSxpKX19KTtyZXR1cm4gXy5zZXQoZSxuKSxufWZ1bmN0aW9uIHYoZSl7bGV0IHQ9UC5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoZSk7cmV0dXJuIFAuc2V0KGUscikscn0oMCxsLmNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYpKGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZT9gUm91dGUgIiR7ZX0iIGA6IlRoaXMgcm91dGUgIjtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGAke3J9dXNlZCAke3R9LiBcYHNlYXJjaFBhcmFtc1xgIGlzIGEgUHJvbWlzZSBhbmQgbXVzdCBiZSB1bndyYXBwZWQgd2l0aCBcYGF3YWl0XGAgb3IgXGBSZWFjdC51c2UoKVxgIGJlZm9yZSBhY2Nlc3NpbmcgaXRzIHByb3BlcnRpZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3N5bmMtZHluYW1pYy1hcGlzYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4NDgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9KX0sNDQ2MzEsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sNDc1OTUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2UiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLmR5bmFtaWNBY2Nlc3NBc3luY1N0b3JhZ2VJbnN0YW5jZX19KTtsZXQgbj1lLnIoNDQ2MzEpfSwzNjA3MCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17Y3JlYXRlUGFyYW1zRnJvbUNsaWVudDpmdW5jdGlvbigpe3JldHVybiBofSxjcmVhdGVQcmVyZW5kZXJQYXJhbXNGb3JDbGllbnRTZWdtZW50OmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGNyZWF0ZVNlcnZlclBhcmFtc0Zvck1ldGFkYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIG19LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclJvdXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGd9LGNyZWF0ZVNlcnZlclBhcmFtc0ZvclNlcnZlclNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4geX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz1lLnIoODk3OTEpLGk9ZS5yKDE3NTE4KSxzPWUucig2Nzc4MSksYz1lLnIoMTI5NjUpLHU9ZS5yKDQxMDYyKSxsPWUucig3NTgyNyksZD1lLnIoMTU1MDgpLGY9ZS5yKDQ1MDE0KSxwPWUucig0NzU5NSk7ZnVuY3Rpb24gaChlLHQpe2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gUChlLHQscik7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVBhcmFtc0Zyb21DbGllbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB1LkludmFyaWFudEVycm9yKCJjcmVhdGVQYXJhbXNGcm9tQ2xpZW50IHNob3VsZCBub3QgYmUgY2FsbGVkIGluIGEgcnVudGltZSBwcmVyZW5kZXIuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NzAiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gTyhlKX0oMCxjLnRocm93SW52YXJpYW50Rm9yTWlzc2luZ1N0b3JlKSgpfWUucig1NTUyNSk7bGV0IG09eTtmdW5jdGlvbiBnKGUsdCl7bGV0IHI9Yy53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKHIpc3dpdGNoKHIudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcHByIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiBQKGUsdCxyKTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiY3JlYXRlU2VydmVyUGFyYW1zRm9yUm91dGUgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIF8oZSxyKTtjYXNlInJlcXVlc3QiOnJldHVybiBPKGUpfSgwLGMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZnVuY3Rpb24geShlLHQpe2xldCByPWMud29ya1VuaXRBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZihyKXN3aXRjaChyLnR5cGUpe2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpyZXR1cm4gUChlLHQscik7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVNlcnZlclBhcmFtc0ZvclNlcnZlclNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NDMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIF8oZSxyKTtjYXNlInJlcXVlc3QiOnJldHVybiBPKGUpfSgwLGMudGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmUpKCl9ZnVuY3Rpb24gYihlKXtsZXQgdD1vLndvcmtBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtpZighdCl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoIk1pc3Npbmcgd29ya1N0b3JlIGluIGNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3MyIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXQgcj1jLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYocilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYobil7Zm9yKGxldCBhIGluIGUpaWYobi5oYXMoYSkpcmV0dXJuKDAsZC5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsImBwYXJhbXNgIil9YnJlYWs7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHUuSW52YXJpYW50RXJyb3IoImNyZWF0ZVByZXJlbmRlclBhcmFtc0ZvckNsaWVudFNlZ21lbnQgc2hvdWxkIG5vdCBiZSBjYWxsZWQgaW4gY2FjaGUgY29udGV4dHMuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3MzQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZShlKX1mdW5jdGlvbiBQKGUsdCxyKXtzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50Ijp7bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO2lmKG4pe2ZvcihsZXQgYSBpbiBlKWlmKG4uaGFzKGEpKXJldHVybiBmdW5jdGlvbihlLHQscil7bGV0IG49Uy5nZXQoZSk7aWYobilyZXR1cm4gbjtsZXQgYT1uZXcgUHJveHkoKDAsZC5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsImBwYXJhbXNgIiksdik7cmV0dXJuIFMuc2V0KGUsYSksYX0oZSx0LHIpfWJyZWFrfWNhc2UicHJlcmVuZGVyLXBwciI6e2xldCBuPXIuZmFsbGJhY2tSb3V0ZVBhcmFtcztpZihuKXtmb3IobGV0IGEgaW4gZSlpZihuLmhhcyhhKSlyZXR1cm4gZnVuY3Rpb24oZSx0LHIsbil7bGV0IGE9Uy5nZXQoZSk7aWYoYSlyZXR1cm4gYTtsZXQgbz17Li4uZX0saT1Qcm9taXNlLnJlc29sdmUobyk7cmV0dXJuIFMuc2V0KGUsaSksT2JqZWN0LmtleXMoZSkuZm9yRWFjaChlPT57bC53ZWxsS25vd25Qcm9wZXJ0aWVzLmhhcyhlKXx8dC5oYXMoZSkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLGUse2dldCgpe2xldCB0PSgwLGwuZGVzY3JpYmVTdHJpbmdQcm9wZXJ0eUFjY2VzcykoInBhcmFtcyIsZSk7InByZXJlbmRlci1wcHIiPT09bi50eXBlPygwLHMucG9zdHBvbmVXaXRoVHJhY2tpbmcpKHIucm91dGUsdCxuLmR5bmFtaWNUcmFja2luZyk6KDAscy50aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbikodCxyLG4pfSxlbnVtZXJhYmxlOiEwfSl9KSxpfShlLG4sdCxyKX19fXJldHVybiBPKGUpfWZ1bmN0aW9uIF8oZSx0KXtyZXR1cm4oMCxzLmRlbGF5VW50aWxSdW50aW1lU3RhZ2UpKHQsTyhlKSl9bGV0IFM9bmV3IFdlYWtNYXAsdj17Z2V0OmZ1bmN0aW9uKGUsdCxyKXtpZigidGhlbiI9PT10fHwiY2F0Y2giPT09dHx8ImZpbmFsbHkiPT09dCl7bGV0IG49aS5SZWZsZWN0QWRhcHRlci5nZXQoZSx0LHIpO3JldHVybih7W3RdOiguLi50KT0+e2xldCByPXAuZHluYW1pY0FjY2Vzc0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO3JldHVybiByJiZyLmFib3J0Q29udHJvbGxlci5hYm9ydChPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkFjY2Vzc2VkIGZhbGxiYWNrIGBwYXJhbXNgIGR1cmluZyBwcmVyZW5kZXJpbmcuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU2OTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSkpLG5ldyBQcm94eShuLmFwcGx5KGUsdCksdil9fSlbdF19cmV0dXJuIGkuUmVmbGVjdEFkYXB0ZXIuZ2V0KGUsdCxyKX19O2Z1bmN0aW9uIE8oZSl7bGV0IHQ9Uy5nZXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Qcm9taXNlLnJlc29sdmUoZSk7cmV0dXJuIFMuc2V0KGUscikscn0oMCxmLmNyZWF0ZURlZHVwZWRCeUNhbGxzaXRlU2VydmVyRXJyb3JMb2dnZXJEZXYpKGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZT9gUm91dGUgIiR7ZX0iIGA6IlRoaXMgcm91dGUgIjtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGAke3J9dXNlZCAke3R9LiBcYHBhcmFtc1xgIGlzIGEgUHJvbWlzZSBhbmQgbXVzdCBiZSB1bndyYXBwZWQgd2l0aCBcYGF3YWl0XGAgb3IgXGBSZWFjdC51c2UoKVxgIGJlZm9yZSBhY2Nlc3NpbmcgaXRzIHByb3BlcnRpZXMuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3N5bmMtZHluYW1pYy1hcGlzYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU4MzQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9KX0sMTk5NTksKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkNsaWVudFBhZ2VSb290Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX19KTtsZXQgbj1lLnIoOTgxMzQpLGE9ZS5yKDQxMDYyKSxvPWUucigxNjg3MiksaT1lLnIoNzUyMDEpLHM9ZS5yKDg4MDYyKSxjPWUucigzMTg5OSk7ZnVuY3Rpb24gdSh7Q29tcG9uZW50OnQsc2VydmVyUHJvdmlkZWRQYXJhbXM6cn0pe2xldCB1LGw7aWYobnVsbCE9PXIpdT1yLnNlYXJjaFBhcmFtcyxsPXIucGFyYW1zO2Vsc2V7bGV0IGU9KDAsaS51c2UpKG8uTGF5b3V0Um91dGVyQ29udGV4dCk7bD1udWxsIT09ZT9lLnBhcmVudFBhcmFtczp7fSx1PSgwLHMudXJsU2VhcmNoUGFyYW1zVG9QYXJzZWRVcmxRdWVyeSkoKDAsaS51c2UpKGMuU2VhcmNoUGFyYW1zQ29udGV4dCkpfWlmKCJ1Ijx0eXBlb2Ygd2luZG93KXtsZXQgcixvLHt3b3JrQXN5bmNTdG9yYWdlOml9PWUucig4OTc5MSkscz1pLmdldFN0b3JlKCk7aWYoIXMpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBhLkludmFyaWFudEVycm9yKCJFeHBlY3RlZCB3b3JrU3RvcmUgdG8gZXhpc3Qgd2hlbiBoYW5kbGluZyBzZWFyY2hQYXJhbXMgaW4gYSBjbGllbnQgUGFnZS4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU2NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7Y3JlYXRlU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpjfT1lLnIoODY3NzApO3I9Yyh1LHMpO2xldHtjcmVhdGVQYXJhbXNGcm9tQ2xpZW50OmR9PWUucigzNjA3MCk7cmV0dXJuIG89ZChsLHMpLCgwLG4uanN4KSh0LHtwYXJhbXM6byxzZWFyY2hQYXJhbXM6cn0pfXtsZXR7Y3JlYXRlUmVuZGVyU2VhcmNoUGFyYW1zRnJvbUNsaWVudDpyfT1lLnIoNjg2MTQpLGE9cih1KSx7Y3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudDpvfT1lLnIoODcxODkpLGk9byhsKTtyZXR1cm4oMCxuLmpzeCkodCx7cGFyYW1zOmksc2VhcmNoUGFyYW1zOmF9KX19KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMzM3ODAsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIkNsaWVudFNlZ21lbnRSb290Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc319KTtsZXQgbj1lLnIoOTgxMzQpLGE9ZS5yKDQxMDYyKSxvPWUucigxNjg3MiksaT1lLnIoNzUyMDEpO2Z1bmN0aW9uIHMoe0NvbXBvbmVudDp0LHNsb3RzOnIsc2VydmVyUHJvdmlkZWRQYXJhbXM6c30pe2xldCBjO2lmKG51bGwhPT1zKWM9cy5wYXJhbXM7ZWxzZXtsZXQgZT0oMCxpLnVzZSkoby5MYXlvdXRSb3V0ZXJDb250ZXh0KTtjPW51bGwhPT1lP2UucGFyZW50UGFyYW1zOnt9fWlmKCJ1Ijx0eXBlb2Ygd2luZG93KXtsZXQgbyx7d29ya0FzeW5jU3RvcmFnZTppfT1lLnIoODk3OTEpLHM9aS5nZXRTdG9yZSgpO2lmKCFzKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgYS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1N0b3JlIHRvIGV4aXN0IHdoZW4gaGFuZGxpbmcgcGFyYW1zIGluIGEgY2xpZW50IHNlZ21lbnQgc3VjaCBhcyBhIExheW91dCBvciBUZW1wbGF0ZS4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTYwMCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtsZXR7Y3JlYXRlUGFyYW1zRnJvbUNsaWVudDp1fT1lLnIoMzYwNzApO3JldHVybiBvPXUoYyxzKSwoMCxuLmpzeCkodCx7Li4ucixwYXJhbXM6b30pfXtsZXR7Y3JlYXRlUmVuZGVyUGFyYW1zRnJvbUNsaWVudDphfT1lLnIoODcxODkpLG89YShjKTtyZXR1cm4oMCxuLmpzeCkodCx7Li4ucixwYXJhbXM6b30pfX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwyMDQxNCwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiSWNvbk1hcmsiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPWUucig5ODEzNCksYT0oKT0+InUiPnR5cGVvZiB3aW5kb3c/bnVsbDooMCxuLmpzeCkoIm1ldGEiLHtuYW1lOiLCq254dC1pY29uwrsifSl9XSk7"}},"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":"digitaltradeinvest.org/images/favicon.png","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:50.024Z","timestamp":1785129950024,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /images/favicon.png HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:50 GMT\r\ncontent-type: image/png\r\ncontent-length: 2014\r\ncache-control: public, max-age=604800\r\nexpires: Fri, 31 Jul 2026 12:21:40 GMT\r\nlast-modified: Thu, 09 Oct 2025 21:44:33 GMT\r\netag: \"7de-68e82cc1-83547eda3e0e2903;;;\"\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 234250\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 2de47366c5831a9349bd9ba6ac2f3529-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":2014,"size_decoded":2536,"mime_type":"image/png","magic":"PNG image data, 32 x 32, 8-bit/color RGBA, non-interlaced","md5":"f30c24fa76038bdf06c3eec01f58adf5","sha1":"8aec6cac3b75e7d0bebeec6dede0ed69873c5b2a","sha256":"5d1c72582f7ba8a8b2ece461315f6ff240c5928a0f897f2ac316946431511ba1","sha512":"78c52bc9484816a4a111f93822a550e3450dc18e449ddbfac544cf5f594143694dd2fb2528b52476ee62ea8173f875ed48df01d5080307acc6b767c3b9671320","ssdeep":"","tlshash":"ac412a5efa8829c2e45dd84514fa1426c8668880c6d1f9baf84fc8ab88312b6065f2c6","first_seen":"2024-12-01T03:55:59.207141Z","last_seen":"2026-08-04T06:09:43.985169Z","times_seen":21,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDQ4OCwgMjAyMC8wNy8xMC0yMjowNjo1MyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjlBQzMwN0QzODg1MTFFQkEwOUFBRTQ2QUVDNUFGOEMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjlBQzMwN0MzODg1MTFFQkEwOUFBRTQ2QUVDNUFGOEMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODEwMzE2RTIyMTcxMTFFNjlGQURFRDZGOTJEOEVBOTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6ODEwMzE2RTMyMTcxMTFFNjlGQURFRDZGOTJEOEVBOTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5BHC1PAAAETklEQVR42rSXeYiWVRTGZ9SZXMpxlFwoUWzG3RwVBLEopEWUYgxxRRFDyzX3bbQyR8Mo01IZrPSPKFEQQxkoRnGjMkKNcFxnXIpwidzGfXQ+fweeFw7Xma93RufCw32/8573Oeeee+6550tNJBIpNRlZWVmDmKaD5SUlJYUpNRyp1XUAw12ZVoF+TrwdvIcjp2vNAQxnMn0EJoC6lajcBsvAJzhyJ64DdWIYrgvMaCmY7Ix/B/qAbfpdXw4eRr//Y4kARC8xfQGed+IDYAqr/NXpDZReO6e31XIEvbPVjgCEbcBmHncHxqOVPuEFSsIu4EMQhd+S9Ag880B6rAig2IBprlBf4nJQBHqAVu7bTWA2xv8OnH9O0RjgxMcVtaIqHeDDIUyfgtbu/Y9gGh8e5/1TPC/U0UvT+5tgKfgsTDz039RpaevEFtUZ6P5TmQNXmDKc8u9gJMonA+IOIn7d74IcLQx0GzLlgVkg2oaT6LVP5kCFy427tjpbJR/dCMhzmT4PVlioelAa6GYz7VR0z/K+bbIktOzdomfzej44BsmwIPF+YOoMPlANsGGnoRjdpVq9Ge/ItDbY2qSn4Drkg5lfBUclexZshGyXKmHkxC1gZ7+THE/RCVkATqBrNeJP8IrjT49ViCDewdRd+1cm8cvgD4hXgQynewa8xeNryngbz4A3XMKedtua1IEnHXE5sBywpPlWYquEU7XCsSDVfXsOXAz4iuX43rhbkAtpPmjkHDkPRvPY1yIgcXPwDdhvFROs0LsX9b5MhSmHb/fEqYRpboV2dOzsD/crhOgXpl66kC5L3FsVc7q7Jyxa2egvBvfiluJyzVfdHn5vocOJHOdEBSiwSIHzAZ9F4AWLFrjgjuHTurgeGvUqkW0TkR2vxkZoFxAkX6kS3gf54F23gNtK1gIM33eGLapTwPuuyNX5vxywFa5Q4q0HCem9Y0UEnAETJbN3X4M2fLMmMG53wWEVsoyqbNZLcgwthG9DVKBk6wYaBtfyJPR+C6qe1QRbgO8JrPafUoLei92QQNbMnABdnfg/RaO3N24dE1ipwtPfbc0SRfNU3BwwMnNsvFqsTIkt3OusymH4ktM1jnEy1Cy4+eZEDQl6KXEd6Knw5jjZfoX7YOCoNaYrtT3ROKQLaZ/TsxzIjuuAJ/sXzAMbIEw4wnZKrlyne1F3gOlWuEiOAR+rcCV1wLJ2TbDyvyyTI+NqSvJUdNJd/bAo5KN3zTlpBepLFSpfJyYla8mivTePm7i936Dksqu5RVAzZmK4xHE0V+6MNX6JL8nxdVF0knbFkDRVqzW+ipNSrI63KEhGqw+LnfMVStw8n7jVact7KIx9gxtvFIQ7nZ7ddqvVGUfjZzWihx7pn5EuoxFqWFsGXbHt/TQwNHBwtt0jPnEfx18zS8BFMphWiUqUjEswXFabf047ypDvin9SV3ys1v8dB13xDKv7alBrNB4IMAA+9MsYxixohQAAAABJRU5ErkJggg=="}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.598Z","timestamp":1785129949598,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1xlFQ.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://digitaltradeinvest.org\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: 8000\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:16 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:16 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:33:57 GMT\r\ncontent-type: font/woff2\r\nage: 404133\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":8000,"size_decoded":8812,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 8000, version 1.0","md5":"72993dddf88a63e8f226656f7de88e57","sha1":"179f97ec0275f09603a8db94d4380eb584d81cd5","sha256":"f4e80d9dfd374d02989b87a27b5ed4cb78fbb177c27f1478e9a8b0afb7513149","sha512":"7c20165f9d22a86341e841fd58526209017dcde2afe2d0d2a89fe853d95dc69f658d25cf798c71f452dab09843fc808c1ae87a60b1284134163abf5a1d93e50a","ssdeep":"192:GDonmfrEdXT8WrxzRXwyQo3zGEOM7Y2hOMgWnsfYSjv4ENFGwrlKJ:8onPxTzjgyQSzLPXOTIYHJAJ","tlshash":"08f1b0ffa92456c4df692475a5044f27623652b4dd35cb2f496f3e12d2d74224bcc4c1","first_seen":"2023-04-05T18:53:14Z","last_seen":"2026-08-15T16:38:59.508662Z","times_seen":293117,"resource_available":false,"data":"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"}},"time_used":82,"timings":{"blocked":-1,"dns":3,"connect":33,"send":0,"wait":46,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:50.016Z","timestamp":1785129950016,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2691\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:32:33 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:09:15 GMT\r\ncache-control: max-age=86400\r\netag: \"2edf1ef8b333c40979976d1a49bc234c\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 8196\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: jIFq1RUU1nCRroWk4mlqoh2BVrKePuYCqsVQFfNi6Dnth7x6cjI8sQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":2691,"size_decoded":3216,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"2edf1ef8b333c40979976d1a49bc234c","sha1":"d75ac12795b4a9575c874e1b190712cd62a87afc","sha256":"50a1901684f223bf26594dd3415b1e50f184820a16daa810cc5452911e9117a9","sha512":"f697a1fa0786316fc01003f72621920932e2657e4acf5a471e35d02717c42c9db5a12df311895a776a563dcae9b8fc0b6721833529a054b9dbfff4c52fc564d3","ssdeep":"","tlshash":"2b515ee60252267980d32438616db1e178beabb2c3021ded6c1444954acc4b62555cfa","first_seen":"2023-05-01T18:49:36Z","last_seen":"2026-08-15T04:03:51.037333Z","times_seen":25939,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAADAFBMVEVHcEz/fwD2kxr/AAD2khr0dQD3kxr//wD/qgD2kxr2khr2khr1khr2khr6lhr1khr2khn6lRn4kxr1khb2khn3kxr3kBi/fwD3kxr4khn3kxn3kRjzkBf4khr/VQD6lRn6lhr7lxv6lRr9mBv4lRn2khn6lhrMmQD5lRn4kxr3kxr3kxn3kxn2khn3kxn5lBn4lBn3kxn3lBr4lBkAZwD6lhr1khj5lRr4lBn5kRj3lBn3kxr2khr3kxn4lBn3khn1kRqqVQD8lhr3kxr3kxr2kBr0jxr7lhr3khn7lhr4lBn5lRr3kxr1kRv7lRr2kxn5lBn3khrykRj2kRj3lBn4khr2khn6lxr4lBj5lBrykhn2khn3kxr//////v33lBz///73lR33lB33kxv/nRz3lR7/mRv//fv//fz/nhz//vz2jAr3jQz//v73khj3lBv/mxv3jhD3kRX3kxn3kBT4lBr7lRr3jAz3jQ7//Pn3kRb/nxz/mBv+lxv5lBr3jxH//fr3jg/2iwr2jQz4njH80p/3khf+mRv/nBz3kBP/+/f816v//Pj5lRv7lhv/+vX5s137zpb4liH3jAr5qEf806H6t2b/+/b81ab6t2f82K34nS/7zJH4oTj4nC33iwn7wn3/mxz6w3/937r2jAz96M75tWH7zpj97Nf958z2iQX82rH7yo33lR/4myv+8N/4mCT6lRr6u2/+6tP3jg7969T4ojn5sFf+7tr++PD6v3j4ozz+9u36uWr2igb+69T82rD6uWz+8+b2iwj+7tz6vXL5pD72jQ75slr4pUD+797/+PD5sFj3liD96dD94sL4nzT+79z95sv//Pr3jxD5tmP+8+X948P93LX3myr7yo/5rlL94sP4qUj94L34pUH5tF/7wn/+7dj7xYX81KP/+fL5qkr6uGn81qj2hQD97Nj///37x4n6xYT95cf3mSf96tL7zZb2hwD+8eH5q03/mhv5rlT6wHn3lyP95cj8z5r7yYz+9Oj4oTf3hwD83LSsdU1lAAAAXHRSTlMABP4B/gL7AQP9/Pv++vX89476GJDqFgT9KI4pLWIDbfz9/v532NMFQY/W1fhe912nqa3sAeeHhu0V97m6zo2oawO/xGthYMLH6++F/Bzq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"}},"time_used":33,"timings":{"blocked":-1,"dns":3,"connect":18,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1839.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:50.020Z","timestamp":1785129950020,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1839.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1387\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Thu, 17 Feb 2022 08:19:34 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 02:10:47 GMT\r\netag: \"aef8727bea8367cd9fd252c025b45887\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 11704\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: fKqrp9bZROcQ_AbIJGc00fLAaf04p5TsZlymMZnTAmMTVZFDKnVqCg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":1387,"size_decoded":1883,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"aef8727bea8367cd9fd252c025b45887","sha1":"c2ab9d909455bff35181dfd92bcc7baba930867f","sha256":"ce5a07d36768bcb5524044a9e92a606ae6effe1cb0913dfa418703461db62fe3","sha512":"5f97e368e23aa5e501e57917aea9426704ac3c4068b34d803f44944663bab45131170fec2872fb868a5faceb6856ce4d9f8870053aba7e8d08455989a731984d","ssdeep":"","tlshash":"5321085f5b644577dda94dbede05a54b29e30d208d978bc2c404ec1534598a643608ad","first_seen":"2023-05-06T05:54:57Z","last_seen":"2026-08-15T04:03:51.173419Z","times_seen":16127,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFMklEQVR4XtVbvW4TQRhMSWwipYYngCeACsp0pEsJFZTp8gapaXgD6F0gETsIWaRIARIopAAJJAcJCgq4s5M4/zE3l6y1nv253fXe2R5plOR2787f7PfN7u05c3MVIGksLiYbNx92W/XnaavWSFv1TrpZT7Kfg5xXv3fQhj7oi3P4OjOD7ub8ahZUexjguGzW271W/THfZ+qAkYsauMJaI3mzsMz3nThG0rky1jr8OSpHPuJ57fKHq4q1zkRKI9moP5nMqJtYoRBwZ/UDTAdLnzmma9RNLMkb8rRXbjadjF4OfINZIccRhFkaeebYmZCWNMV1390enOy9GAgc7j5T+kRkwnE5oUy3vzxLh8ELXPR/Kv1i0Xt2KCPte1t3OWYtyhLCqxzSyKl//GNdO+omQIQSysKtFGKO/tm/LY5tBEff1wenf17z4REcZ17B1w0llu4cr4I0wuizyelw9ndr2P+iv8fNI4iXDQWLpDRC8KApoMuzZND/uqb0Fzz59ZJPGSJiJphLQdM5mP3dpxxDlhm3lH7M3vs7fNpg/8OS0m8cctw5ktbCMnd0YT9LT8Dk3giIj4EHH5eGAeqEwXm64ygvAcws3O5CrRdc79UpnW1kkzvv7Th9KPYHV9c/+ramzCZBpdGst0eC93V+Dpyxv31POQfEqNrq3OYPmDFsOMxKjs+xsducXx0K4LuPZxKgyOQEdSbpMpI28XwFGMkCpbGALMB5d0c76vAHpCwWQrp6xqgeflpRju9v38/vgTWCrqRgsFwK3gK0JDPkhiKyAEdZgNxHNjnAZJJM2eQEdCJwFgULkLT9H3psAmCki6ALiAXTQe4fQ4D8Iel6Z1dptPEoq3MZsgAuDz3IBlxDnMOCmiB/BlkA/G6abm3Mp8Or11VqowsPPq/kN/cVIBTyvXFfmKLOW1yJ2IPmfyZMSfxelQCnWfD8ObzZrDWC1v+oVz4mWJUAMmGcOl8pZvZwFLLVjZrFqo+Pgy4mGAq+lyCmxBATTPFgpDlYSNm0TNOb7qEmBFhc8bVBni4DBRiMLQCgWweAwiRDgdWhyeSQgTLCBQgsARkmAQSLngEYLsGwsC7naJiXQEfTYKVNAJiR6ckOu0BFwPKYzxM7TPKxOALABAOmwSIBBE5+vxpxZ90mCUO+D2Yb+V5yWxQBMA2GLIRcBQBkk/QVgCG3xRAgXwiFLIV9BABE27QJsL9540H0h6FZEmD4xogbimgTAMTUJe/giOOhAug2RWMIEG0/AGbHfUAx9Ym/fQXAIkg3KyDL4m6IRNoSY9dn+grAxKwAU9XBWwB5Syz/YiN3sNAkgIBp9TaOANgms8FXAOVlqW8WgEUwZQPXLyC/KpOJrXAbcC0+p5CY/xkh06HLEtfkD7JJ6kwOPO9+ka6kQucPLuy9rT3i+HNwRx/a0pv7utIEk2Cu5LiHCHkwkmnKBtGOOjaVBcgbLQyku2+tq6zgDTGyQa5z+fhVIKOvwuQvUMjXEYA/hGx6qiwIHgjxAhMFxN9cJsgG8XJVgM8PMjkDFec3YdxSMJEF0IHPiUeH0RfwfVnqykkK4Dz6AiEPSS607RWaFlDj0vtrcgJlloJskjA53cvVOPRIfR3KKgfQ9C2QWPROexP4wrNCjmMslJkJsRlt5BlphEVS6dy0fA0uBsqaHWIw2O19cV0OHf4AE2M26qWlvQ2TF6LWyXd2J410EiKUXeshwEZDyJsmZzbr7akY8SJc/2NlWwkglFng2Lfk+8wM4M4YuW7T4d/nsz7oW5Wj/wdXGukMTSgLegAAAABJRU5ErkJggg=="}},"time_used":21,"timings":{"blocked":9,"dns":0,"connect":0,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/32196.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.170Z","timestamp":1785129950170,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/32196.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1131\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Sun, 26 Jul 2026 05:45:46 GMT\r\nlast-modified: Fri, 12 Jul 2024 09:20:18 GMT\r\netag: \"4d5fec04d4a1bc91ff0237e3cd86559f\"\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 85205\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: AtYTI_fZY7CnXYEtkaokZna2dbpGvhmvdCsfF73BQIyVrUX4HineTA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":1131,"size_decoded":1648,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"4d5fec04d4a1bc91ff0237e3cd86559f","sha1":"f348dc97c0843bbe323c1ab1051a70431ab2889b","sha256":"58ee891d33bb2f515cd133e01f8f17636037693798a453484fe8178a5e17f8ce","sha512":"73dbfc6181daf57a1e09c3174cc825fc3067d2076d8b8ba96f3728e1038355fc3ed5bc8b31e0b0ed7a720d24f178e4a3db1bb319c9a961ccdcdf7e4fdc076d2f","ssdeep":"","tlshash":"f921f9c20bb4c834ceacb5a76409f40ec5307c4adc4ce0421d15c989ba05f60aa34dd6","first_seen":"2025-05-17T13:51:35.295628Z","last_seen":"2026-08-15T04:03:51.078985Z","times_seen":1643,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEMklEQVR4Xu2bv2/TQBTHu0FTmnjtBIIBCqR1k4YmRRWFAcYOLAxIVVc6dKhE/wDo2oqJoQhGBrrBwtQNBip1ZS1iJv8AUsi75qLL9872u7Njn0We9JGqxu/H9519ti+XqakcbObe0mKt0+jWOs0ej0aXfDBOqazWbp6gsEr9Vu/SzRux0DHo1+cM43tp1ZVwRy0cxbmixpxth5uYt3C70ll6MBzlu8mj7EplYX7YiMurS1exjkIs69HmIvNiPblZUcKR3BsRrIeBuBZbi1oxRUG1UE1UG9abqVXbjQ/iOl+8rRVRNDP9mqi26krjEOvOxOR9HBP7xuCS6GL9qcyX651LpvNCWUYeyeRMqHYah2UULxFzQn/eQl0sk7M9Bi0bzncHX2d7W+TdAfXFGjn4dJ9Pi3xOQJ2R5tupf+f5097bv79HwGOSYDfAN/H75z808a6NSGxC0A6v+dSAJPGS6xtPNF8TpI3eXFH30HwSv/XpSBMaR7DMm7MizwJaaPCpASiQA8YwIZ4NVpo7qP/itrcwrzkUAQqzAWMhcskN9Vuf/s/eH/Z2v30WMzR+lhYUZQPGMqE1oP+PM24DoiYm7jWYxNrLbS22LRgTIa20aKs2QDvIBCZCDv781HxswZguYEwTI2cBpwFzD+9riUzQ7I2+XDCWK1QrxkaGDQhWw5DTAEwSh+vlgHHSgLER0hy0wpBGn/W+jwmSQP8k0D8tGB8R8wCtF9Af0wnf2NCMjwk4YJwo0C8LMAdC31+Iy2Aco69CszrGyyp2HJjHRC4NUFnb2xZE3UqzBDWYyL0BeYIaTEwaMGnApAGTBuTagMev98RdYPf7F+2zrEENJoYNSHoQevH1o5bABoyngsdmBeZB1AehsTwKc4qQ7J+far5pwRwIaSbtY3kZIg66dq/G6J8GutQwPkKaxcsQ93UYkySB/hwwhisY14Q4/W3WAwhMFAX62YCxXMCYJkYbMNjThwchmMgE+tji+uYpmXvEWwyp4d5DTgMITKiy8eaVdrwLGNcGjGViZPTVBkwz9/hhUmLr2H0pDKHVZozPgTP6lfrFXkPUP0VfFnDPAoKS7f86FeBnWYDiOGAME6Rxtt3cRP3CbBqQBygwDvSNwjj60uSWV3QqEhRqAn2iIG2JW2x9awCBgiX0ToHHxhE7+qr52ASCnvC2jt+x1v0RtngyMVE4ru37CGmxagAZOVQWyr9JijZ6WYsn+++3yZHJzdEYtCxQ7bTZE3VZWY25XuAbVDPVjnqcbBBMS+Irsl7UkcrKciZkOvJocvO0j3cHOds7b47m2vAnMx49J8j7vPNs72K+zAtjud5trKhGFC5cNbnFVswP9fHtNZRr+eJ0by+vYx2FGy00yAKzPCvUmMZdnj5abfVi76EK52e16igrnGD8UlnQatGXLxY/n292yQfjjMP+AfgdCCcpRgjcAAAAAElFTkSuQmCC"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/ck=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywHU6qHNitns5XqYEK-2yyUEaGOVkQ/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:50.354Z","timestamp":1785129950354,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/ck=ytembeds.base.NxniuuZETZw.L.F4.O/am=AAAAgA/d=1/exm=base,root/excm=base,root/ed=1/br=1/rs=AGKMywHU6qHNitns5XqYEK-2yyUEaGOVkQ/m=r78Drb HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/EjB5qFW0bJ8\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 235736\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 13:01:31 GMT\r\nexpires: Sat, 24 Jul 2027 13:01:31 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 05:09:16 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 231859\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":942843,"size_decoded":236650,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65533), with no line terminators","md5":"6f2dc696d3e2c5e8b0536728ac5a3aea","sha1":"8da6a7915f0b3ff607db13862fc417574d8d4999","sha256":"4036991c2199a96276eabd866d75631508768ad958639f2ef3d985061bddef47","sha512":"481bcb7979552bb2b61e9faaf2cc6abdeeb36c7e5e4e0a483ba1e93c62bea4c29bd94f525ec183b9a9bb4518f02e3e9748be080d771f801fa3cc7d4e73a09116","ssdeep":"12288:Rhrh0EencTyXGld16WDVcIm4zDSG8UvCeoBJjlXc7WPz6/wWXqkZTNvl6hkTeubf:R41jofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"a2159ff0b25271b4d147b926fab7c003b57e4903e2081879f0a7ae9c55fca942e77729","first_seen":"2026-07-24T13:38:07.888738Z","last_seen":"2026-07-27T16:56:48.650117Z","times_seen":570,"resource_available":true,"data":"InVzZSBzdHJpY3QiO19GX2luc3RhbGxDc3MoIjpyb290ey0tdDdmNGYyYzZkNTQ4MzZjZTA6aW5pdGlhbDstLXQ3ZDhiOGU1ZWUyOTFhZWMwOmluaXRpYWw7LS10NDcyNmM2OGVmNmQ3YjA4Zjppbml0aWFsOy0tdGYwYTBkMTE1NDgyNzg0N2Y6aW5pdGlhbDstLXQzZTQxZDdiMTdiMTg3ZjY5OmluaXRpYWw7LS10ZmY2NTk5MzM4NGJiNDU2MDppbml0aWFsOy0tdGUyODY3YjEzZDc3MWQwNTU6aW5pdGlhbDstLXQ5MzNkNzkyMmYzMTU4ZGM1OmluaXRpYWw7LS10MjY0ZTJjOWNiODc4OTFmOTppbml0aWFsOy0tdDIwNmYzZmEyZTAxYWYyMmQ6aW5pdGlhbDstLXQzNGY0NmYwZjJjMTNkMzI4OmluaXRpYWw7LS10ODU0Yzc5MzM4ZDhjYThhNzppbml0aWFsOy0tdDIwNDgwNzE3ZGU4MGY1NTU6aW5pdGlhbDstLXQyZDgwN2JiNzllNzU2MDZkOmluaXRpYWw7LS10NjE3ZGI3NzZhZjBkZTE5Njppbml0aWFsOy0tdGI2MjgxMTdmYzE2NGFkODc6aW5pdGlhbDstLXRkNTQ1ZGYwNGUyYzY1OWQ3OmluaXRpYWw7LS10NTM5OTFkNTk5YjE0ODhmNTppbml0aWFsOy0tdGE4ODlkZmRhOTYwNWEzNTg6aW5pdGlhbDstLXQ1OTc4ZGE4ZDU4NGI4ZmU5OmluaXRpYWw7LS10MTI0YjdkYWZlOWJjMzY2ZDppbml0aWFsOy0tdGRiZTUwZDI3ZDUxZjUwOTM6aW5pdGlhbDstLXRhNTY0ZDgyMTJiY2NiMTZhOmluaXRpYWw7LS10OTlmNzc0Njg0Y2JiOTcwMzppbml0aWFsOy0tdDRlNmRmOWIyYjZiOTdlMDA6aW5pdGlhbDstLXRiOGIzMWFjNTYyZmJlOWI1OmluaXRpYWw7LS10NTg4NDY3MjAwNGQ1NjEyMDppbml0aWFsOy0tdGVmNzBjYTI0NTQ0NWI1MmI6aW5pdGlhbDstLXQ0ZjA5MjJlNWEzZDBjMjBmOmluaXRpYWw7LS10N2RmYTZmODRjOTM0NmVkZjppbml0aWFsOy0tdGVjYmRmOTI0YjYzYjI3ZmM6aW5pdGlhbDstLXQxNDA1ZTcwYTM5Mjc2MjkzOmluaXRpYWw7LS10YWQ4NDQzZmFlZDY2YzExMTppbml0aWFsOy0tdGU2ZDJiNDI4ZGU2ODU1NGE6aW5pdGlhbDstLXRjOTgwYzU0NzgxMjRjOGM3OmluaXRpYWw7LS10OTY1NjQ0ZWNkYmU0YjdiODppbml0aWFsOy0tdGIxNGExMGMzYjQzYTE1YTM6aW5pdGlhbDstLXRiMTNmZjg3OTc4MjllNzllOmluaXRpYWw7LS10ZTU2NjhlNjExMWFiYTBlZDppbml0aWFsOy0tdGE3ZDYyOGZhY2ZlODRkMTg6aW5pdGlhbDstLXRiZTQyMjY5NTM0NjU1ZTY3OmluaXRpYWw7LS10YWI4MDU5MjM2MDYzY2FkYjppbml0aWFsOy0tdDczNWU0MzVhOGI3YWQ2N2M6aW5pdGlhbDstLXQyMWFmMDhmZGJmNmExNDA2OmluaXRpYWw7LS10YzYwNDExM2QwOWZlZTA1ZDppbml0aWFsOy0tdDA4YTdjNmMxNzZjYmM1YzI6aW5pdGlhbDstLXQ4Y2RjOTg0NmE3NmNhZjFmOmluaXRpYWw7LS10ZTFiNjRlNjk3MTA0MDM5Njppbml0aWFsOy0tdDQxNmU1OTMxZmM0NjQ1ODk6aW5pdGlhbDstLXRiN2Q3NGJiMzI5MWM5NTFkOmluaXRpYWw7LS10ZjNmYzg1NWFmMjI4NWY1Zjppbml0aWFsOy0tdDBhMTI0OWY3YzllODJiNWU6aW5pdGlhbDstLXQwMmMwYTJjODY4YzE0Y2U4OmluaXRpYWw7LS10ZDg1NjJjZGMyMDNiYzY4Mzppbml0aWFsOy0tdDUzZGRhOTEyNWU4ZDEzMjQ6aW5pdGlhbDstLXQ1NDRlMzE3MTRmNjNkNTNjOmluaXRpYWw7LS10ODdlYWJmMTEzYTE1YWM5Njppbml0aWFsOy0tdDg1OGI4MDlmODA0NGU5NjI6aW5pdGlhbDstLXQwZjU5MjkxY2U1NTA0NTQzOmluaXRpYWw7LS10ZmFhZTk2NjkyY2MxODJlNDppbml0aWFsOy0tdDUxOGU5MjVmNjFiZGNiOTE6aW5pdGlhbDstLXRiOTI3ZjVjMDE0OTAwNGM2OmluaXRpYWw7LS10ODMyZjIyY2U2NjE4ZTk5ZTppbml0aWFsOy0tdDQ1YjJhMzgzMTQ5MjQzNTc6aW5pdGlhbDstLXQ2OTMxYWExODI2YjM3M2IyOmluaXRpYWw7LS10ZWQ0MjM2NTM2ODk5ZTRiMzppbml0aWFsOy0tdGRjOGFmNjc1MGYwZGFkMGQ6aW5pdGlhbDstLXQzNDEwYzkxNjQ5ZTVlYjhhOmluaXRpYWw7LS10NGFlYWE4NTdkZThhNzg2Yjppbml0aWFsOy0tdDI5NmM3ZjgxZGQwOWE5YzM6aW5pdGlhbDstLXRmYTM0NzVjNTA4ZjVkZmVmOmluaXRpYWw7LS10OWJjMGI3NDAyNDJkYTAxNzppbml0aWFsOy0tdDQ0MWEwZTQ0ZTQ5NTM4MWE6aW5pdGlhbDstLXRkZTQxMzM4ZmMyYmQ0YmE1OmluaXRpYWw7LS10NGQ3Nzc2YzI4ZGIyMTEyMjppbml0aWFsOy0tdDdlMzRkNWJhYTRlYTYyNzc6aW5pdGlhbDstLXRjNGIyNjA0MmQ0Y2IxNDFmOmluaXRpYWw7LS10NTIwOGZkMTc3YTc4OGNmYTppbml0aWFsOy0tdGZmYzJmZDNhNjQ0ZjYyNzU6aW5pdGlhbDstLXQ2MjE2MTg2YzI4YjM4MzRiOmluaXRpYWw7LS10NGE2ZGExOWUxNmJmMjIxYTppbml0aWFsOy0tdGQ5YzE5ZjRmOGNlY2Q1NmU6aW5pdGlhbDstLXQzZjNiZGI0MTQwZDNlYWQ3OmluaXRpYWw7LS10OTA0YTg4YzYyM2NhMjdhYjppbml0aWFsOy0tdDJjM2JiZmY2YzE1YTNlYjI6aW5pdGlhbDstLXQwY2NkMWFjZTAwMGQ1ZTkzOmluaXRpYWw7LS10Yzg3ZjZhN2YwNWU2NWZjNDppbml0aWFsOy0tdGMwNGJhM2U3MzU2MTk1M2M6aW5pdGlhbDstLXQ3YzQ5NjVjMTFmODUzN2MwOmluaXRpYWw7LS10NDMyZmJkYmQ3ZjJmM2Y3MTppbml0aWFsOy0tdGFmMWJkZDk2MTQyM2MxNWY6aW5pdGlhbDstLXQ5ZDdiZGNhZWZjOTc1ZDQ0OmluaXRpYWw7LS10NGZiMGY2N2IyNTFlMWE0Mjppbml0aWFsOy0tdGEwOGUwMzY0MTBjMTQ1Mzg6aW5pdGlhbDstLXQ3ZjliN2UxNjAzZTIwYjk0OmluaXRpYWx9LmRpYWxvZ3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzoxNnB4O21hcmdpbjowIGF1dG87b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvO2ZvbnQtc2l6ZToxLjNyZW07Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOm5vbmV9LmRpYWxvZy5tb2Rlcm4tZGlhbG9ne2JveC1zaGFkb3c6MCAwIDI0cHggMTJweCByZ2JhKDAsMCwwLDAuMjUpfS5kaWFsb2cucm91bmRlZC1jb250YWluZXJ7Ym9yZGVyLXJhZGl1czoxMnB4fS5kaWFsb2cubW9kZXJuLWRpYWxvZy1sYXlvdXR7cGFkZGluZzowO2JvcmRlci1yYWRpdXM6MjRweH0uZGlhbG9nLWJvZHl7b3ZlcmZsb3cteTphdXRvO292ZXJmbG93LXg6aGlkZGVuO21heC1oZWlnaHQ6MzAwcHg7bWF4LWhlaWdodDoxMDB2aH0uZGlhbG9nLnNjcm9sbGFibGUgLmRpYWxvZy1ib2R5e292ZXJmbG93LXk6dmlzaWJsZTtvdmVyZmxvdy14OnZpc2libGU7bWF4LWhlaWdodDp1bnNldH0uZGlhbG9nLWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS5kaWFsb2ctaGVhZGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZGlhbG9nLWJ1dHRvbnMsLmRpYWxvZy1oZWFkZXJ7ZmxleC1zaHJpbms6MH0uZGlhbG9nLWJ1dHRvbnN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7bWFyZ2luLXRvcDoxMnB4fS5kaWFsb2ctYnV0dG9ucz4qe21hcmdpbi1sZWZ0OjhweH0uZGlhbG9nLWJ1dHRvbnM+OmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LmRpYWxvZy1mbGV4LWJ1dHRvbnstbW96LWJveC1mbGV4OjE7ZmxleDoxfS5kaWFsb2ctZmxleC1idXR0b24gLmJ1dHRvbi13aXRoLWljb24uY29tcGFjdHttYXJnaW46MH0uZGlhbG9nLWJvZHkgYSwuZGlhbG9nLWhlYWRlciBhe2NvbG9yOiMwNjVmZDR9LmRpYWxvZy1ib2R5IHl0bS1tZW51LWl0ZW0gYXtjb2xvcjpjdXJyZW50Y29sb3J9QG1lZGlhIChtaW4td2lkdGg6MzMwcHgpIGFuZCAobWluLWhlaWdodDozMzBweCl7LmRpYWxvZ3ttaW4td2lkdGg6MjUwcHg7bWF4LXdpZHRoOjM1NnB4fS5kaWFsb2ctY29udGFpbmVye21hcmdpbjowIDQwcHg7cGFkZGluZzowO3BhZGRpbmc6MCBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KX19LmRpYWxvZy1mdWxsc2NyZWVue21pbi13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OjFweH0uZGlhbG9nLWZ1bGxzY3JlZW4+LmRpYWxvZy1ib2R5e2hlaWdodDoxMDAlfS5kaWFsb2cubW9kZXJuLWRpYWxvZy1sYXlvdXQuZGlhbG9nLWZ1bGxzY3JlZW57Ym9yZGVyLXJhZGl1czowfS5kaWFsb2ctY29udGFpbmVyLmRpYWxvZy1mdWxsc2NyZWVue21hcmdpbjowfWMzLXRvYXN0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1O2xlZnQ6MDtyaWdodDowO2JvdHRvbTowOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjE0cHggMjRweDtmb250LXNpemU6MS40cmVtO2NvbG9yOiNmZmY7YmFja2dyb3VuZDojMGYwZjBmO3dpbGwtY2hhbmdlOnRyYW5zZm9ybTttYXJnaW4tYm90dG9tOi0xMDAlfWMzLXRvYXN0Lmh1Zy10b2FzdHttYXgtd2lkdGg6MzQ0cHh9YzMtdG9hc3QuaW52ZXJzZS10aGVtZXtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzAzMDMwM31jMy10b2FzdC5pbnZlcnNlLXRoZW1lIC5idXR0b24td2l0aC1pY29ue2NvbG9yOiMwNjVmZDR9W2hhcy1zYWZlLWFyZWEtaW4tbWF4PXRydWVdIGMzLXRvYXN0e3BhZGRpbmc6MTRweCAyNHB4O3BhZGRpbmc6MTRweCBtYXgoMjRweCxlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KSkgMTRweCBtYXgoMjRweCxlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKX1baGFzLXBpdm90LWJhcj10cnVlXSBjMy10b2FzdHstLXNhZmUtYXJlYS1pbnNldC10b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApOy0tc2FmZS1hcmVhLWluc2V0LWJvdHRvbTplbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7Ym90dG9tOjQ4cHg7Ym90dG9tOmNhbGMoNDhweCArIHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTttYXJnaW4tYm90dG9tOi0xMDAlO21hcmdpbi1ib3R0b206Y2FsYygtMTAwJSArIHZhcigtLXNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTt6LWluZGV4OjJ9W21vZGFsLW9wZW4tYm9keV0gYzMtdG9hc3QsW3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gYzMtdG9hc3R7Ym90dG9tOjhweDttYXJnaW4tYm90dG9tOi0xMDAlO3otaW5kZXg6NX1jMy10b2FzdFtkaXI9b3V0XXt0cmFuc2l0aW9uOm1hcmdpbiAxOTVtcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpfWMzLXRvYXN0W2Rpcj1pbl17dHJhbnNpdGlvbjptYXJnaW4gMjI1bXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTttYXJnaW4tYm90dG9tOjB9QGtleWZyYW1lcyBzcGlubmVyezAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fS5zcGlubmVyV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5zcGlubmVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbjoxMnB4IGF1dG87d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MnB4IHNvbGlkICNlZWU7Ym9yZGVyLXRvcC1jb2xvcjojNjY2O2FuaW1hdGlvbjpzcGlubmVyIC44cyBsaW5lYXIgaW5maW5pdGV9LnNwaW5uZXI+LmhpZGRlbntkaXNwbGF5Om5vbmV9LnNwaW5uZXI6bm90KFtoaWRkZW5dKXtjb2xvcjojMzMzO2ZvbnQtc2l6ZToxLjZyZW19aHRtbHtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtmb250LXNpemU6MTBweDtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZn1ib2R5e21hcmdpbjowO3BhZGRpbmc6MDtwYWRkaW5nOjAgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdy14OmhpZGRlbn1baGlkZGVuXVtoaWRkZW5de2Rpc3BsYXk6bm9uZTt2aXNpYmlsaXR5OmhpZGRlbn15dG0tYXBwPi5zcGlubmVye21hcmdpbi10b3A6MTAwcHh9eXRtLWhlYWRlcntkaXNwbGF5OmJsb2NrfWhlYWRlcntoZWlnaHQ6NDhweH0ucGxheWVyLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NDhweDtyaWdodDowO3JpZ2h0OmVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6Mn1baGFzLXBsYXllci1jdXN0b20tY29udHJvbD10cnVlXSAucGxheWVyLWNvbnRhaW5lcntvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH0jcGxheWVyLmlubGluZS1wbGF5ZXItaGlkZGVuLC5pbmxpbmUtcGxheWVyLWhpZGRlbntvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZX0ucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO3BhZGRpbmctYm90dG9tOjU2LjI1JTtvdmVyZmxvdzpoaWRkZW59LnBsYXllci1jb250YWluZXIgI3BsYXllci5wbGF5ZXItc2l6ZSx5dG0td2F0Y2ggLnBsYXllci1zaXple2JhY2tncm91bmQtY29sb3I6IzAwMH0ucGxheWVyLWNpbmVtYXRpY3N7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6IzAwMH0ucGxheWVyLWNpbmVtYXRpY3N+I3BsYXllci5wbGF5ZXItc2l6ZSwucGxheWVyLWNpbmVtYXRpY3N+LnBsYXllci1zaXple2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnBhZ2Utc2hvcnRzIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwucGFnZS1zaG9ydHMgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTowfS5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItYXBpe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ucGxheWVyLWFwaVtoaWRkZW5dLC5wbGF5ZXItYXBpW2xvYWRpbmc9dHJ1ZV0sLnBsYXllci1hcGlbcGxheWFibGU9ZmFsc2Vde2Rpc3BsYXk6bm9uZX0jcGxheWVyLmlubGluZS1vbi10aHVtYm5haWx7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowfS5wbGF5ZXItY29udGFpbmVyIC5odG1sNS12aWRlby1wbGF5ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjB9eXRtLWFwcHtkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6aGlkZGVufVtoYXMtc29mdC1iYXI9dHJ1ZV0geXRtLWFwcHtwYWRkaW5nLWJvdHRvbTozMHB4fVtoYXMtcGl2b3QtYmFyPXRydWVdIHl0bS1hcHB7cGFkZGluZy1ib3R0b206NDhweH15dG0taGVhZGVyLmlzLWF1dG9tb3RpdmUseXRtLWhlYWRlci5zdGlja3ktcGxheWVyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLmlzLWF1dG9tb3RpdmUseXRtLW1vYmlsZS10b3BiYXItcmVuZGVyZXIuc2hvcnRzLXRvcGJhcix5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6NDtwYWRkaW5nOjA7cGFkZGluZzowIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpIDAgZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KX15dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVyLm91dHt0b3A6LTQ4cHg7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTk1bXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbH15dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlci5zdGlja3ktcGxheWVyLmlue3RvcDowO3RyYW5zaXRpb246dHJhbnNmb3JtIDIyNW1zIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9LnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntwb3NpdGlvbjpmaXhlZDt0b3A6NDhweDtyaWdodDowO3JpZ2h0OmVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO2xlZnQ6MDtsZWZ0OmVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6Mn0ucGxheWVyLWNvbnRhaW5lci5oZWFkZXItaW4tcGxheWVyLC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXIuaGVhZGVyLWluLXBsYXllcnt0b3A6MH15dG0tYXBwLmlzLWF1dG9tb3RpdmUseXRtLWFwcC5zdGlja3ktcGxheWVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6NDhweH15dG0tYXBwLmlzLWF1dG9tb3RpdmUuaGVhZGVyLWluLXBsYXllcix5dG0tYXBwLnN0aWNreS1wbGF5ZXIuaGVhZGVyLWluLXBsYXllcntwYWRkaW5nLXRvcDowfUBtZWRpYSAobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjI1NnB4fWJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMjU2cHgpfWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIsYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjI1NnB4fWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDI1NnB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MzM2cHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSAzMzZweCl9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6MzM2cHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLWFsbC1sYW5kc2NhcGUtdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn1Ac3VwcG9ydHMgKGFzcGVjdC1yYXRpbzoxNi85KXsubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgeXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTp1bnNldDthc3BlY3QtcmF0aW86MTYvOX19Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIHl0bS13YXRjaCAucGxheWVyLXNpemV7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gNDhweCk7bWF4LWhlaWdodDpjYWxjKDEwMHN2aCAtIDQ4cHgpfX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MjEvMTApIGFuZCAobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgLnBsYXllci1jb250YWluZXJ7Ym90dG9tOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn19QG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOjE2LzkpIGFuZCAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gMzM2cHgpfS5td2ViLXBob25lLW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIuc3RpY2t5LXBsYXllcntyaWdodDozMzZweH0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IGJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDMzNnB4KX0ubXdlYi1waG9uZS1tZXRhZGF0YS1zcGxpdC12aWV3IC5wbGF5ZXItY29udGFpbmVye2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9QHN1cHBvcnRzIChhc3BlY3QtcmF0aW86MTYvOSl7Lm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyAucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUsLm13ZWItbGFuZHNjYXBlLWZ1bGwtc2l6ZS1wbGF5ZXIgLm13ZWItcGhvbmUtbWV0YWRhdGEtc3BsaXQtdmlldyB5dG0td2F0Y2ggLnBsYXllci1zaXple3BhZGRpbmctYm90dG9tOnVuc2V0O2hlaWdodDphdXRvO2FzcGVjdC1yYXRpbzoxNi85fX19QG1lZGlhIChtaW4td2lkdGg6MTI4MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Ym9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLGJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjUwMHB4fWJvZHkucGFnZS1zaG9ydHNbZW5nYWdlbWVudC1wYW5lbC1vcGVuXSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1jb250YWluZXIsYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lci5zdGlja3ktcGxheWVye3JpZ2h0OjUwMHB4fWJvZHk6bm90KC5wYWdlLXNob3J0cykgLnBsYXllci1wbGFjZWhvbGRlci13cmFwcGVye3dpZHRoOmNhbGMoMTAwJSAtIDUwMHB4KX0ubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5LnBhZ2Utc2hvcnRzW2VuZ2FnZW1lbnQtcGFuZWwtb3Blbl0gLnBsYXllci1jb250YWluZXIsLm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keS5wYWdlLXNob3J0c1tlbmdhZ2VtZW50LXBhbmVsLW9wZW5dIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcnt3aWR0aDpjYWxjKDEwMCUgLSA1MDBweCl9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLWNvbnRhaW5lciwubXdlYi10YWJsZXQtbWV0YWRhdGEtc3BsaXQtdmlldyBib2R5Om5vdCgucGFnZS1zaG9ydHMpIC5wbGF5ZXItY29udGFpbmVyLnN0aWNreS1wbGF5ZXJ7cmlnaHQ6NTAwcHh9Lm13ZWItdGFibGV0LW1ldGFkYXRhLXNwbGl0LXZpZXcgYm9keTpub3QoLnBhZ2Utc2hvcnRzKSAucGxheWVyLXBsYWNlaG9sZGVyLXdyYXBwZXJ7d2lkdGg6Y2FsYygxMDAlIC0gNTAwcHgpfX1AbWVkaWEgKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVyLnNob3J0cy10b3BiYXJ7cmlnaHQ6NzJweH0ucGxheWVyLWNvbnRhaW5lciAucGxheWVyLXNpemUseXRtLXdhdGNoIC5wbGF5ZXItc2l6ZXtwYWRkaW5nLWJvdHRvbTpjYWxjKDU2LjI1JSAtIDk2cHgpfS5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyIC5wbGF5ZXItc2l6ZSwubXdlYi1sYW5kc2NhcGUtZnVsbC1zaXplLXBsYXllciB5dG0td2F0Y2ggLnBsYXllci1zaXple2hlaWdodDpjYWxjKDU2LjI1dncgLSA5NnB4KTtwYWRkaW5nLWJvdHRvbTp1bnNldDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KTttYXgtaGVpZ2h0OmNhbGMoMTAwc3ZoIC0gNDhweCl9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206NTYuMjUlfX1AbWVkaWEgKG1heC13aWR0aDozMjBweCkgYW5kIChtYXgtaGVpZ2h0OjI0MHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXplLHl0bS13YXRjaCAucGxheWVyLXNpemV7cGFkZGluZy1ib3R0b206NTYuMjUlfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpe3l0bS1hcHB7cGFkZGluZy10b3A6NDhweH15dG0taGVhZGVyLHl0bS1oZWFkZXItYmFyLHl0bS1tb2JpbGUtdG9wYmFyLXJlbmRlcmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6NH19LmNvbnRlbnQtZXJyb3J7Zm9udC1zaXplOjEuNHJlbTtwYWRkaW5nOjEycHg7dGV4dC1hbGlnbjpjZW50ZXJ9I3BsYXllci10aHVtYm5haWwtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtvYmplY3QtZml0OmNvdmVyO21pbi1oZWlnaHQ6MH0jcGxheWVyLWNvbnRhaW5lci1pZFtwbGF5YWJsZT10cnVlXSAjcGxheWVyLXRodW1ibmFpbC1vdmVybGF5e3Zpc2liaWxpdHk6aGlkZGVufWJvZHkucGFnZS1zaG9ydHMsaHRtbFtwYWdlLXNob3J0c117b3ZlcnNjcm9sbC1iZWhhdmlvci15Om5vbmV9Ym9keS5sb2FkaW5nLnBhZ2Utc2hvcnRzICNoZWFkZXIsYm9keS5sb2FkaW5nLnBhZ2Utc2hvcnRzIC5wbGF5ZXItcGxhY2Vob2xkZXItd3JhcHBlcntkaXNwbGF5Om5vbmV9Ym9keS5wYWdlLXNob3J0cyAjcGxheWVyLWNvbnRhaW5lci1pZCxib2R5LnBhZ2Utc2hvcnRzIC5wbGF5ZXItY29udGFpbmVyICNwbGF5ZXJ7aGVpZ2h0OjEwMCU7dG9wOjB9KnstbXMtZmxleDowIDEgYXV0b31idXR0b257cGFkZGluZzowO2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9aHRtbHt3b3JkLXdyYXA6YnJlYWstd29yZDtjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5W2Rpc2FibGUtdGFwLWhpZ2hsaWdodD10cnVlXSBbcm9sZT1idXR0b25dLGJvZHlbZGlzYWJsZS10YXAtaGlnaGxpZ2h0PXRydWVdIGEsYm9keVtkaXNhYmxlLXRhcC1oaWdobGlnaHQ9dHJ1ZV0gYnV0dG9uey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1odG1sW2Rhcmtlci1kYXJrLXRoZW1lXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9aHRtbC53YXRjaC1zY3JvbGx7c2Nyb2xsLXBhZGRpbmctdG9wOjQ4cHh9aHRtbC53YXRjaC1zY3JvbGwuc3RpY2t5LXBsYXllcntzY3JvbGwtcGFkZGluZy10b3A6Y2FsYyg0OHB4ICsgNTYuMjV2dyl9aW5wdXR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nLWJvdHRvbTo0cHg7b3V0bGluZTpub25lOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7bWFyZ2luLWJvdHRvbToxcHg7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzczNzM3Mzt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9aW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9aW5wdXQ6OnBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfXRleHRhcmVhe2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZy1ib3R0b206NHB4O291dGxpbmU6bm9uZTstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO21hcmdpbi1ib3R0b206MXB4O2ZvbnQ6aW5oZXJpdDtjb2xvcjojMDMwMzAzOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTttaW4taGVpZ2h0OjguNHJlbTt3aWR0aDoxMDAlO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6OHB4fXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfXRleHRhcmVhOjpwbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX1mb3Jte21hcmdpbjowfWF7Y29sb3I6Y3VycmVudENvbG9yO3RleHQtZGVjb3JhdGlvbjpub25lfWgxe2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7bWFyZ2luLWJvdHRvbTowfWgye2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7bWFyZ2luOjAgMCAzcHg7Zm9udC1zaXplOjEuOHJlbTttYXJnaW4tYm90dG9tOjB9aDN7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6MjtvdmVyZmxvdzpoaWRkZW47bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS40cmVtO21hcmdpbi1ib3R0b206MH1oNHtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDttYXgtaGVpZ2h0OjIuNWVtOy13ZWJraXQtbGluZS1jbGFtcDoyO292ZXJmbG93OmhpZGRlbjtsaW5lLWhlaWdodDoxLjI1O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjowIDAgM3B4O2ZvbnQtc2l6ZToxLjNyZW07bWFyZ2luLWJvdHRvbTowfWltZ3ttaW4td2lkdGg6MXB4O21pbi1oZWlnaHQ6MXB4O2ZpbHRlcjpub25lfWltZzpub3QoW3NyY10pe3Zpc2liaWxpdHk6aGlkZGVufTpmb2N1c3tvdXRsaW5lOm5vbmV9cHttYXJnaW46MH0uaXRlbXttYXJnaW4tdG9wOjEycHg7ZGlzcGxheTpibG9ja30uaXRlbTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5pdGVte21hcmdpbi10b3A6OHB4fX0uaW1hZ2Utb3ZlcmxheS10ZXh0e3RleHQtc2hhZG93OjFweCAxcHggaHNsYSgwLDAlLDYuNyUsLjIpLC0xcHggMXB4IGhzbGEoMCwwJSw2LjclLC4yKSwtMXB4IC0xcHggaHNsYSgwLDAlLDYuNyUsLjIpLDFweCAtMXB4IGhzbGEoMCwwJSw2LjclLC4yKX0jcGxheWVyLWNvbnRyb2wtY29udGFpbmVyey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZX1bZGlyPXJ0bF0gI3BsYXllci1zaG9ydHMtY29udGFpbmVye2RpcmVjdGlvbjpydGx9W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAjcGxheWVyLWNvbnRyb2wtY29udGFpbmVyLFtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIgI3BsYXllcixbc2hvcnRzLXBsYXllcj10cnVlXSAjcGxheWVyLXNob3J0cy1jb250YWluZXIsW3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgI3BsYXllcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtwYWRkaW5nLWJvdHRvbTowfS5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIC5wbGF5ZXItY29udGFpbmVyOmZ1bGxzY3JlZW4gLnBsYXllci1zaXplLC5td2ViLWxhbmRzY2FwZS1mdWxsLXNpemUtcGxheWVyIFtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLnBsYXllci1zaXple2hlaWdodDoxMDAlO21heC1oZWlnaHQ6MTAwJTthc3BlY3QtcmF0aW86YXV0b31bZmF1eC1mdWxsc2NyZWVuPXRydWVdW2Z1bGxzY3JlZW4tcmVqZWN0ZWQ9dHJ1ZV0gI2FwcHtkaXNwbGF5Om5vbmV9W3Nob3J0cy1wbGF5ZXI9dHJ1ZV0gLnBsYXllci1jb250YWluZXIgLmh0bWw1LXZpZGVvLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLnBsYXllci1jb250YWluZXIsW2ZhdXgtZnVsbHNjcmVlbj10cnVlXSB5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlcixbc2hvcnRzLXBsYXllcj10cnVlXSAucGxheWVyLWNvbnRhaW5lcixbc2hvcnRzLXBsYXllcj10cnVlXSB5dG0tbW9iaWxlLXRvcGJhci1yZW5kZXJlcjpub3QoLnNob3J0cy10b3BiYXIpe292ZXJmbG93OnZpc2libGU7ei1pbmRleDo0fVtzaG9ydHMtcGxheWVyPXRydWVdIC5wbGF5ZXItY29udGFpbmVyIC55dHAtdW5tdXRlLnl0cC1wb3B1cHt0b3A6NzVweDtsZWZ0OjA7bGVmdDplbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpfVtyb2xlPWJ1dHRvbl0sYnV0dG9uLGlucHV0W3R5cGU9Y2hlY2tib3hdLHNlbGVjdHtjdXJzb3I6cG9pbnRlcn15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCU7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl17d2lkdGg6dmFyKC0teXRkLXNob3J0cy1wbGF5ZXItd2lkdGgpO2hlaWdodDp2YXIoLS15dGQtc2hvcnRzLXBsYXllci1oZWlnaHQpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl0gLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGF7bWFyZ2luLXJpZ2h0OnZhcigtLWFjdGlvbi1idXR0b24tZnVsbC13aWR0aC1uZWdhdGl2ZSk7cGFkZGluZy1yaWdodDp2YXIoLS1hY3Rpb24tYnV0dG9uLWZ1bGwtd2lkdGgpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1hY3Rpb24tYmFyXXt3aWR0aDpjYWxjKHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSArIDcycHgpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1hY3Rpb24tYmFyXSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXttYXJnaW4tcmlnaHQ6MDtwYWRkaW5nLXJpZ2h0OjB9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXJbaXMtd2ViXVtleHRyYWN0LWFjdGlvbi1iYXJdIC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnN7bWFyZ2luLWJvdHRvbToxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XXt3aWR0aDoxMDAlfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2lzLXdlYl1bZXh0cmFjdC1vdmVybGF5XSAucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXt3aWR0aDpjYWxjKCgxMDAlIC0gbWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwgMzE1cHgpKS8yKTttYXJnaW4tcmlnaHQ6bWF4KHZhcigtLXl0ZC1zaG9ydHMtcGxheWVyLXdpZHRoKSwzMTVweCk7cGFkZGluZy1yaWdodDowO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtmaWx0ZXI6dW5zZXQ7bWluLXdpZHRoOjM2MHB4O21heC13aWR0aDo0ODBweDtwYWRkaW5nLWxlZnQ6MTZweH15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlcltpcy13ZWJdW2V4dHJhY3Qtb3ZlcmxheV0gLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9uc3stbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9eXRtLXJlZWwtcGxheWVyLW92ZXJsYXktcmVuZGVyZXIgYnV0dG9uOm5vdChbYXJpYS1wcmVzc2VkPXRydWVdKSBjMy1pY29ue2ZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCA2cHggcmdiYSgwLDAsMCwuNCkpfXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse3RleHQtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLDAuOCl9LnJlZWwtcGxheWVyLW92ZXJsYXktbWFpbi1jb250ZW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kOy1tb3otYm94LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YXtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtZmxleDoxO2ZsZXg6MSAxIDAlO2FsaWduLXNlbGY6ZmxleC1lbmQ7LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO21pbi13aWR0aDowO21hcmdpbjowIDAgMTZweCAxNnB4fXl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyW2RhdGEtaGFzLWluZm8tcGFuZWw9dHJ1ZV0rLlByb2dyZXNzQmFyU2hvd2luZ3twYWRkaW5nLXRvcDoxNnB4fS5yZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhIHl0LW1ldGFkYXRhLWJhZGdlLXJlbmRlcmVye2hlaWdodDoyNHB4O3BhZGRpbmc6M3B4IDRweCAzcHggMH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowIDRweCAxNnB4IDRweDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LnJlZWwtcGxheWVyLW92ZXJsYXktdG9wLWJhcntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctdG9wOjJweH0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIC5idXR0b24td2l0aC1pY29ue21hcmdpbjowIWltcG9ydGFudDttaW4td2lkdGg6MDt0ZXh0LXRyYW5zZm9ybTpub25lfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24gLmJ1dHRvbi1yZW5kZXJlci10ZXh0e21hcmdpbi10b3A6N3B4O21heC13aWR0aDo2NHB4O292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1idXR0b24tcmVuZGVyZXJ7bWF4LXdpZHRoOjY0cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXJ7bWFyZ2luLXRvcDo0cHg7ZGlzcGxheTpibG9jazstbW96LWJveC1mbGV4OjE7ZmxleDoxO3BhZGRpbmctcmlnaHQ6NHB4O3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHh9LnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyBwaXZvdC1idXR0b24tdmlldy1tb2RlbCwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1idXR0b24tcmVuZGVyZXIsLnJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyB5dG0tdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlcntkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHg7bWFyZ2luOjB9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSA0OHB4KX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHBpdm90LWJ1dHRvbi12aWV3LW1vZGVsLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJ1dHRvbi1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDouM2VtfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWJvdHRvbS1zaGVldC1yZW5kZXJlciwucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1tZW51LXJlbmRlcmVye2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDowfX0ucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIHl0bS1tZW51LXJlbmRlcmVyIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgYnV0dG9uPi5idXR0b24td2l0aC1pY29uLWlubmVyey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciB5dG0tcHJvZmlsZS1pY29ue2JvcmRlcjoxcHggc29saWQgI2ZmZn1AbWVkaWEgKG1heC1oZWlnaHQ6NDExcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zIC5idXR0b24td2l0aC1pY29uLC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UtcmVuZGVyZXJ7bWluLWhlaWdodDo0MHB4fS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLmJ1dHRvbi13aXRoLWljb24gLmJ1dHRvbi1yZW5kZXJlci10ZXh0LC5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3R7ZGlzcGxheTpub25lfS5yZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMgeXRtLW1lbnUtcmVuZGVyZXIgLmljb24tYnV0dG9ue2hlaWdodDozMnB4fX0ubG9nby1pbi1wbGF5ZXIsLm1vYmlsZS10b3BiYXItbG9nb3tjb2xvcjojZjAzO3BhZGRpbmc6MCAxMnB4O3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bWFyZ2luLWxlZnQ6LTFweH0ubG9nby1pbi1wbGF5ZXIuZnVsbC1sb2dvLC5tb2JpbGUtdG9wYmFyLWxvZ28uZnVsbC1sb2dve3dpZHRoOjkzcHg7aGVpZ2h0OjIwcHg7Y29sb3I6IzAwMDttYXJnaW4tbGVmdDowfS5sb2dvLWluLXBsYXllci5zaG9ydHMtbG9nbywubW9iaWxlLXRvcGJhci1sb2dvLnNob3J0cy1sb2dve3dpZHRoOjczcHg7aGVpZ2h0OjI1cHg7Y29sb3I6IzAwMDttYXJnaW4tbGVmdDowfS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ28tcmVkLC5tb2JpbGUtdG9wYmFyLWxvZ28uZnVsbC1sb2dvLXJlZHt3aWR0aDoxMDFweH0ubG9nby1pbi1wbGF5ZXItZW5kcG9pbnQsLm1vYmlsZS10b3BiYXItaGVhZGVyLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHg7dGV4dC1hbGlnbjpsZWZ0fS5sb2dvLWluLXBsYXllci5mdWxsLWxvZ297Y29sb3I6I2ZmZn0ubW9ub2Nocm9tYXRpYyBzdmcgcGF0aHtmaWxsOiNmZmZ9eXRtLXN1YnNjcmliZS1idXR0b24tcmVuZGVyZXJ7ZGlzcGxheTpibG9ja315dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlciAuYnV0dG9uLXJlbmRlcmVyLWljb257aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ubW9kZXJuLXN1YnNjcmliZS1idXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtjb2xvcjojNjA2MDYwO2ZvbnQtc2l6ZToxLjRyZW07bWFyZ2luOjAgOHB4fUBrZXlmcmFtZXMgbm90aWZpY2F0aW9uLWJlbGwtZmFkZS1pbnswJXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfXRve29wYWNpdHk6MTt0cmFuc2Zvcm06bm9uZX19Lm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6NTtoZWlnaHQ6MzZweDtib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW59Lm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lci5oaWRkZW57ZGlzcGxheTpub25lfS5ub3RpZmljYXRpb24tYmVsbHtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6LTJweDthbmltYXRpb246bm90aWZpY2F0aW9uLWJlbGwtZmFkZS1pbiAuMnMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSl9Lm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uLWNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlfS5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7cGFkZGluZy1sZWZ0OjB9Lll0bVZpZGVvSW5mb0V4cGFuZGVkIC5tb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdCwueXRtVmlkZW9JbmZvRXhwYW5kZWQgLm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIC55dEF0dHJpYnV0ZWRTdHJpbmdIb3N0e3RyYW5zaXRpb246bm9uZX0ud2l0aC1ub3RpZmljYXRpb24tYmVsbCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtwYWRkaW5nLWxlZnQ6MjRweH0ueXRDb3JlSW1hZ2VIb3N0e3Zpc2liaWxpdHk6aGlkZGVuO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi1oZWlnaHQ6MXB4O21pbi13aWR0aDoxcHh9Lnl0Q29yZUltYWdlTG9hZGVke3Zpc2liaWxpdHk6aW5oZXJpdH0ueXRDb3JlSW1hZ2VGaWxsUGFyZW50SGVpZ2h0e2hlaWdodDoxMDAlfS55dENvcmVJbWFnZUZpbGxQYXJlbnRXaWR0aHt3aWR0aDoxMDAlfS55dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wTGVmdHtvYmplY3QtcG9zaXRpb246dG9wIGxlZnR9Lnl0Q29yZUltYWdlT2JqZWN0UG9zaXRpb25Ub3BSaWdodHtvYmplY3QtcG9zaXRpb246dG9wIHJpZ2h0fS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVUb0ZpbGx7b2JqZWN0LWZpdDpmaWxsfS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaXR7b2JqZWN0LWZpdDpjb250YWlufS55dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaWxse29iamVjdC1maXQ6Y292ZXJ9Lnl0Q29yZUltYWdlQ29udGVudE1vZGVDZW50ZXJ7b2JqZWN0LWZpdDpub25lO29iamVjdC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyfS55dENvcmVJbWFnZUZsaXBSdGx7dHJhbnNmb3JtOnNjYWxlWCgtMSl9Lnl0Q29yZUltYWdlR3JhZGllbnRDb250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0ueXRDb3JlSW1hZ2VHcmFkaWVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZX06cm9vdHstLXl0LWF0dHJpYnV0ZWQtc3RyaW5nLWxpbmstaG92ZXItY29sb3I6dW5zZXR9Lnl0QXR0cmlidXRlZFN0cmluZ0lubGluZUJsb2NrTW9ke2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUFsaWdubWVudEJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50QmFzZWxpbmV7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9Lnl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50VmVydGljYWxDZW50ZXJ7dmVydGljYWwtYWxpZ246bWlkZGxlO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotLjA3ZW19Lnl0QXR0cmlidXRlZFN0cmluZ0xpc3RHcm91cHstbW96LXBhZGRpbmctc3RhcnQ6MjBweDtwYWRkaW5nLWlubGluZS1zdGFydDoyMHB4fS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5re3RleHQtZGVjb3JhdGlvbjpub25lO2Rpc3BsYXk6aW5saW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rQ2FsbFRvQWN0aW9uQ29sb3J7Y29sb3I6IzA2NWZkNH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua092ZXJsYXlDYWxsVG9BY3Rpb25Db2xvcntjb2xvcjojM2VhNmZmfS55dEF0dHJpYnV0ZWRTdHJpbmdMaW5rW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciAueXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9ye2NvbG9yOmluaGVyaXR9Lnl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IgLnl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvcjpob3Zlcntjb2xvcjp2YXIoLS15dC1hdHRyaWJ1dGVkLXN0cmluZy1saW5rLWhvdmVyLWNvbG9yKX0ueXRBdHRyaWJ1dGVkU3RyaW5nRWxsaXBzaXNUcnVuY2F0ZXtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ueXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZU5vV3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9Lnl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VQcmVXcmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS55dEF0dHJpYnV0ZWRTdHJpbmdJZ25vcmVTcGxpdExpbmVze3doaXRlLXNwYWNlOm5vcm1hbH0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExlZnR7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmxlZnR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRSaWdodHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246cmlnaHR9Lnl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRDZW50ZXJ7ZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOmNlbnRlcn0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudEp1c3RpZmllZHtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246anVzdGlmeX0ueXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExheW91dFN0YXJ0e2Rpc3BsYXk6YmxvY2s7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS55dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50VW5rbm93bntkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246aW5oZXJpdH0ueXRBdHRyaWJ1dGVkU3RyaW5nV29yZFdyYXBwaW5ne292ZXJmbG93LXdyYXA6YW55d2hlcmV9Lnl0QXR0cmlidXRlZFN0cmluZ1VuZGVybGluZWR7LW1vei10ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmU7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS55dEF0dHJpYnV0ZWRTdHJpbmdTdHJpa2V0aHJvdWdoey1tb3otdGV4dC1kZWNvcmF0aW9uLWxpbmU6bGluZS10aHJvdWdoO3RleHQtZGVjb3JhdGlvbi1saW5lOmxpbmUtdGhyb3VnaH0ueXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lU3RyaWtldGhyb3VnaHstbW96LXRleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZSBsaW5lLXRocm91Z2g7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lIGxpbmUtdGhyb3VnaH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlTm9uZXt0ZXh0LWRlY29yYXRpb246bm9uZX0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlU2luZ2xley1tb3otdGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkO3RleHQtZGVjb3JhdGlvbi1zdHlsZTpzb2xpZH0ueXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlRG90ey1tb3otdGV4dC1kZWNvcmF0aW9uLXN0eWxlOmRvdHRlZDt0ZXh0LWRlY29yYXRpb24tc3R5bGU6ZG90dGVkfS55dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1YnNjcmlwdHt2ZXJ0aWNhbC1hbGlnbjpzdWJ9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3VwZXJzY3JpcHR7dmVydGljYWwtYWxpZ246c3VwZXJ9Lnl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0VW5rbm93bnt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ueXRBdHRyaWJ1dGVkU3RyaW5nSXRhbGljaXplZHtmb250LXN0eWxlOml0YWxpY30ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzF7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzJ7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzN7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QnV0dG9uT3JBbmNob3JIb3N0e2Rpc3BsYXk6aW5saW5lLWJsb2NrfS55dEJ1dHRvbk9yQW5jaG9yQnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlcjpub25lO2NvbG9yOmluaGVyaXQ7cGFkZGluZzowO21hcmdpbjowO2N1cnNvcjpwb2ludGVyO291dGxpbmUtd2lkdGg6MDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7YmFja2dyb3VuZDpub25lO3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtYWxpZ246dW5zZXQ7d2lkdGg6MTAwJTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lnl0QnV0dG9uT3JBbmNob3JBbmNob3J7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6aW5oZXJpdDtwYWRkaW5nOjA7bWFyZ2luOjA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCV9Lnl0UmFkaW9TaGFwZUhvc3R7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30ueXRSYWRpb1NoYXBlSW5wdXR7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTouMDAwMDAxO21hcmdpbjowO2xlZnQ6MTJweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UmFkaW9TaGFwZUxhYmVsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDo0OHB4O3dpZHRoOjEwMCU7Y29sb3I6IzAzMDMwM30ueXRSYWRpb1NoYXBlS2V5Ym9hcmRGb2N1c2Vke291dGxpbmU6MnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dFJhZGlvU2hhcGVEaXNhYmxlZHtjb2xvcjojOTA5MDkwfS55dFJhZGlvU2hhcGVMYWJlbHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoxMnB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9aW5wdXQ6Y2hlY2tlZCtsYWJlbD4ueXRSYWRpb1NoYXBlUmFkaW8+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpK2xhYmVsPi55dFJhZGlvU2hhcGVSYWRpbz46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0UmFkaW9TaGFwZVJhZGlvRGVmYXVsdFN0eWxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmc6MCAxMnB4O2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9aW5wdXQ6bm90KDpjaGVja2VkKStsYWJlbD4ueXRSYWRpb1NoYXBlQ2hlY2tJY29uPjpmaXJzdC1jaGlsZHt2aXNpYmlsaXR5OmhpZGRlbn0ueXRSYWRpb1NoYXBlQ29tcGFjdHttaW4taGVpZ2h0OjQwcHh9Lnl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2h7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRSYWRpb1NoYXBlVGFwcGFibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2s7Y29sb3I6IzAzMDMwM30ueXRMaXN0SXRlbVZpZXdNb2RlbEhvc3Q6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW57ZGlzcGxheTpub25lfS55dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOmZvY3VzLXdpdGhpbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25PckFuY2hvcnt3aWR0aDphdXRvfS55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3I6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxOb1RyYWlsaW5nVGV4dCAueXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yLC55dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4td2lkdGg6MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7bWluLWhlaWdodDo0NHB4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0LjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7bWF4LWhlaWdodDo0LjRyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuMnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle21heC1oZWlnaHQ6Mi4ycmVtfS55dExpc3RJdGVtVmlld01vZGVsU3VidGl0bGV7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwfS55dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdle21hcmdpbi1sZWZ0OjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVye21hcmdpbi10b3A6MnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVse2NvbG9yOiM2MDYwNjA7bWFyZ2luLWJvdHRvbToycHg7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRMaXN0SXRlbVZpZXdNb2RlbFNlbGVjdGlvblRleHR7Y29sb3I6IzYwNjA2MDttYXJnaW4tbGVmdDo0cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHR7bWFyZ2luLWxlZnQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Y29sb3I6IzAzMDMwMztmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3J7d2lkdGg6NHB4O2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojMDY1ZmQ0fS55dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtmbGV4LXNocmluazowfS55dExpc3RJdGVtVmlld01vZGVsTGVhZGluZ3ttYXJnaW4tcmlnaHQ6MTJweH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjEycHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDoxMnB4fS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciwueXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyAueXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVye21pbi13aWR0aDowfS55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmcsLnl0TGlzdEl0ZW1WaWV3TW9kZWxQcmlvcml0aXplVHJhaWxpbmcgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsLC55dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZsZXgtc2hyaW5rOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lcnthbGlnbi1zZWxmOnN0YXJ0O2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjQ0cHg7bWluLXdpZHRoOjM2cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dExpc3RJdGVtVmlld01vZGVsQXZhdGFyLC55dExpc3RJdGVtVmlld01vZGVsSW1hZ2V7bWF4LWhlaWdodDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5e2JvcmRlci1yYWRpdXM6MnB4O292ZXJmbG93OmhpZGRlbjtjb2xvcjojMDMwMzAzfS55dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3Nvcnl7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmctdG9wOjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlcjpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDo4cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXJ7cGFkZGluZzoycHggMTZweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweH0ueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZ3twYWRkaW5nOjJweCAwfS55dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cHtib3JkZXItcmFkaXVzOjB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZHtjb2xvcjojNjA2MDYwO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZCAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSwueXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVkIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6IzYwNjA2MH0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxle2N1cnNvcjpwb2ludGVyOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NC40cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjQuNHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6Mi4ycmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7bWF4LWhlaWdodDoyLjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZS55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjQuNHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVse21heC1oZWlnaHQ6NC40cmVtfS55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGV7cGFkZGluZzo2cHggMTZweH0ueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd7cGFkZGluZzo2cHggMH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlcnttaW4taGVpZ2h0OjM2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7d2hpdGUtc3BhY2U6bm93cmFwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZS55dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0e2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjRyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxle21heC1oZWlnaHQ6NHJlbX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjJyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRpdGxlLnl0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHkueXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlIC55dExpc3RJdGVtVmlld01vZGVsVGl0bGUueXRMaXN0SXRlbVZpZXdNb2RlbFNpbmdsZUxpbmVUaXRsZXttYXgtaGVpZ2h0OjJyZW19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeS55dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsey13ZWJraXQtbGluZS1jbGFtcDoyO21heC1oZWlnaHQ6bm9uZX19Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxBY3Rpb25UeXBvZ3JhcGh5Lnl0TGlzdEl0ZW1WaWV3TW9kZWxUYXBwYWJsZSAueXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWx7bWF4LWhlaWdodDo0cmVtfS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbENoZXZyb25JY29ue2hlaWdodDoxNnB4O3dpZHRoOjE2cHh9Lnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0IC55dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVye2hlaWdodDozNnB4O21pbi13aWR0aDozNnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye2hlaWdodDozNnB4O21pbi13aWR0aDoyNHB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdCAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdle21heC1oZWlnaHQ6MjRweH0ueXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3QueXRMaXN0SXRlbVZpZXdNb2RlbEhhc1N1YnRpdGxlIC55dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXJ7bWluLWhlaWdodDo0MnB4fS55dExpc3RJdGVtVmlld01vZGVsQ29tcGFjdC55dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGUgLnl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIsLnl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0Lnl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZSAueXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVye2hlaWdodDo0MnB4fS55dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5LC55dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5IC55dExpc3RJdGVtVmlld01vZGVsVGl0bGV7Y29sb3I6I2ZmZn0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxle2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRMaXN0SXRlbVZpZXdNb2RlbElzT3ZlcmxheSAueXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeXtjb2xvcjojZmZmfS55dENoZWNrYm94U2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWluLWhlaWdodDo0OHB4O3dpZHRoOjEwMCU7Y29sb3I6IzAzMDMwMztwb3NpdGlvbjpyZWxhdGl2ZX0ueXRDaGVja2JveFNoYXBlSG9zdENvbXBhY3R7bWluLWhlaWdodDo0MHB4fS55dENoZWNrYm94U2hhcGVJbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW46MDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO29wYWNpdHk6LjAwMDAwMTt6LWluZGV4OjE7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRDaGVja2JveFNoYXBlTGFiZWx7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENoZWNrYm94U2hhcGVEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmcgLnl0Q2hlY2tib3hTaGFwZUxhYmVse3BhZGRpbmctcmlnaHQ6MH0ueXRDaGVja2JveFNoYXBlQ2hlY2tib3hEZWZhdWx0U3R5bGV7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzowIDEycHh9aW5wdXQ6Y2hlY2tlZH4ueXRDaGVja2JveFNoYXBlQ2hlY2tib3g+OmZpcnN0LWNoaWxke2Rpc3BsYXk6bm9uZX1pbnB1dDpub3QoOmNoZWNrZWQpfi55dENoZWNrYm94U2hhcGVDaGVja2JveD46bGFzdC1jaGlsZHtkaXNwbGF5Om5vbmV9Lnl0U3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9LnRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRMaXN0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59QG1lZGlhIChtYXgtd2lkdGg6Mjk5LjlweCl7Lnl0TGlzdFZpZXdNb2RlbEhvc3RLYWlvc1NwYXROYXZ7cGFkZGluZzozcHh9fS55dERvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3R7cGFkZGluZzowIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtaGFzLXN1YnNjcmliZS1idXR0b249dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtwYWRkaW5nOjA7LW1vei1ib3gtYWxpZ246bm9ybWFsO2FsaWduLWl0ZW1zOm5vcm1hbDttYXJnaW46YXV0bzstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0W2RhdGEtaGFzLXN1YnNjcmliZS1idXR0b249dHJ1ZV0gLll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YSB5dG0tbWVudS1yZW5kZXJlcntoZWlnaHQ6MTAwJX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbUNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAudmlkZW8tdGh1bWJuYWlsLWltZ3t3aWR0aDo2N3B4O2hlaWdodDo2N3B4O21pbi1oZWlnaHQ6MDtib3JkZXItcmFkaXVzOjUwJX0uWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3RbZGF0YS1oYXMtc3Vic2NyaWJlLWJ1dHRvbj10cnVlXSAuY2hhbm5lbC1zdWJzY3JpYmUtYnV0dG9ue3BhZGRpbmc6MCAwIDAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdFtkYXRhLWNvbG9yLXBhbGV0dGUtYXBwbGllZD10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWR7b3BhY2l0eToxfS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdD5he2Rpc3BsYXk6YmxvY2t9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbUhvc3R7ZGlzcGxheTpibG9jaztwYWRkaW5nOjAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtSG9zdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItY29tcGFjdHt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX19Lll0bUNvbXBhY3RNZWRpYUl0ZW1Ib3N0IC5lbmdhZ2VtZW50LWJhcntoZWlnaHQ6MjRweDttYXJnaW4tdG9wOjRweH0uWXRtQ29tcGFjdE1lZGlhSXRlbU11bHRpY29sdW1ue3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0uWXRtQ29tcGFjdE1lZGlhSXRlbUltYWdle2ZsZXgtc2hyaW5rOjB9Lll0bUNvbXBhY3RNZWRpYUl0ZW1JbWFnZS5zdGFja2Vke3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi10b3A6NnB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGF7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO292ZXJmbG93OnZpc2libGV9QG1lZGlhIChtaW4td2lkdGg6NTUwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhW2RhdGEtaGFzLWJhZGdlcz10cnVlXSAuWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfX1AbWVkaWEgKG1heC13aWR0aDo1NDlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoyLjVlbTstd2Via2l0LWxpbmUtY2xhbXA6Mn0uWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhLmhhcy1lbmdhZ2VtZW50LWJhciAuWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjJ9Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YS5oYXMtZW5nYWdlbWVudC1iYXJbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDoxLjI1ZW07LXdlYmtpdC1saW5lLWNsYW1wOjF9fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUNvbXBhY3RNZWRpYUl0ZW1NZXRhZGF0YXtwYWRkaW5nOjRweCAwfS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFbZGF0YS1oYXMtYmFkZ2VzPXRydWVdIC5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7ZGlzcGxheTotd2Via2l0LWJveDt3aGl0ZS1zcGFjZTpub3JtYWx9fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50e2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO21pbi13aWR0aDowO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjAgOHB4fS5ZdG1Db21wYWN0TWVkaWFJdGVtTWV0YWRhdGFDb250ZW50LnN0YWNrZWR7bWFyZ2luLXRvcDo4cHh9QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSwobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuWXRtQ29tcGFjdE1lZGlhSXRlbU1ldGFkYXRhQ29udGVudHtwYWRkaW5nOjB9fS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmVQbGFjZWhvbGRlcntoZWlnaHQ6MTZweDttYXgtd2lkdGg6MzAwcHg7bWFyZ2luLWJvdHRvbTo4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLXJhZGl1czoycHh9Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdWJoZWFke2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7b3ZlcmZsb3c6aGlkZGVuO2xpbmUtaGVpZ2h0OjEuMjU7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztmb250LXdlaWdodDo0MDA7b3BhY2l0eTouNn0uWXRtQ29tcGFjdE1lZGlhSXRlbVN1YmhlYWRQbGFjZWhvbGRlcntoZWlnaHQ6MTZweDt3aWR0aDoxMjBweDttYXJnaW4tYm90dG9tOjNweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItcmFkaXVzOjJweH0uWXRtQ29tcGFjdE1lZGlhSXRlbUhlYWRsaW5le2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO21heC1oZWlnaHQ6Mi41ZW07LXdlYmtpdC1saW5lLWNsYW1wOjI7bGluZS1oZWlnaHQ6MS4yNTt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtd2VpZ2h0OjQwMDttYXJnaW46MCAwIDNweDtmb250LXNpemU6MS4zcmVtO292ZXJmbG93OmhpZGRlbjttYXJnaW46MDtmb250LXNpemU6MS40cmVtfS5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmUgLnl0bS1jaGFubmVsLW5hbWV7Zm9udC1zaXplOjEuNHJlbX1AbWVkaWEgKG1heC13aWR0aDo1NDlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCksKG1heC13aWR0aDo5MzBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Db21wYWN0TWVkaWFJdGVtSGVhZGxpbmV7bWF4LWhlaWdodDozLjc1ZW07LXdlYmtpdC1saW5lLWNsYW1wOjN9fS5ZdG1Db21wYWN0TWVkaWFJdGVtQnlsaW5le2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2ZvbnQtc2l6ZToxLjJyZW19Lll0bUNvbXBhY3RNZWRpYUl0ZW1TdGF0c3tkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbVN0YXRzfi5ZdG1Db21wYWN0TWVkaWFJdGVtU3RhdHM6YmVmb3Jle2NvbnRlbnQ6XCLCoMK3wqBcIn0uWXRtQ29tcGFjdE1lZGlhSXRlbURlc2NyaXB0aW9ue21hcmdpbjo4cHggMDtwYWRkaW5nOjA7Zm9udC1zaXplOjEuMnJlbX0uWXRtQ29tcGFjdE1lZGlhSXRlbU1lbnV7ZmxleC1zaHJpbms6MDtjb2xvcjojMDMwMzAzfS5mb3JtYXR0ZWQtc3RyaW5nLWRlZW1waGFzaXple2NvbG9yOiM2MDYwNjB9LmZvcm1hdHRlZC1zdHJpbmctYm9sZHtmb250LXdlaWdodDo1MDB9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvc3R7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRze3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0e3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksdHJhbnNmb3JtO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjEpO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjkpO3dpbGwtY2hhbmdlOm9wYWNpdHksdHJhbnNmb3JtO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG92ZXJFZmZlY3R7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle3dpbGwtY2hhbmdlOm9wYWNpdHk7b3BhY2l0eTowO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4xfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplU21hbGx7bWFyZ2luOi00cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW17bWFyZ2luOi04cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwsLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0gLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTWVkaXVtIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZXttYXJnaW46LTEycHh9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZUxhcmdlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyLXJhZGl1czoxNnB4fS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXIgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0LC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhciAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlci1yYWRpdXM6NTAlfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxse2JhY2tncm91bmQtY29sb3I6IzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgIzAwMH0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tle2JvcmRlcjoxcHggc29saWQgI2ZmZn0ueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93biAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbCwueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZCAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtvcGFjaXR5Oi4yfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSAueXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRmlsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZU92ZXJsYXlUb3VjaFJlc3BvbnNlIC55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2V7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGx7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UgLnl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVN0cm9rZXtib3JkZXI6MXB4IHNvbGlkICMwMDB9QGtleWZyYW1lcyBwb3BvdmVyLWZhZGUtaW57MCV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHBvcG92ZXItZmFkZS1vdXR7dG97b3BhY2l0eTowfX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdHttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRQb3BvdmVyQ29tcG9uZW50SG9zdC5cXDpwb3BvdmVyLW9wZW4sLnl0UG9wb3ZlckNvbXBvbmVudEhvc3Q6cG9wb3Zlci1vcGVue2FuaW1hdGlvbjpwb3BvdmVyLWZhZGUtaW4gLjE1cyBlYXNlLWlufS55dFBvcG92ZXJDb21wb25lbnRIb3N0Q2xvc2luZy5cXDpwb3BvdmVyLW9wZW4sLnl0UG9wb3ZlckNvbXBvbmVudEhvc3RDbG9zaW5nOnBvcG92ZXItb3BlbnthbmltYXRpb246cG9wb3Zlci1mYWRlLW91dCA3NW1zIGVhc2Utb3V0IGZvcndhcmRzfS55dFRvb2x0aXBDb250YWluZXJIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0VG9vbHRpcENvbnRhaW5lckRlZmF1bHRUb29sdGlwQ29udGVudHtwYWRkaW5nOjhweDtib3JkZXItc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOjRweDtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzYwNjA2MDtvcGFjaXR5Oi45O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0VG9vbHRpcENvbnRhaW5lclBsYXllclRvb2x0aXBDb250ZW50LC55dFRvb2x0aXBDb250YWluZXJQbGF5ZXJUb29sdGlwQ29udGVudEJsdXJyZWR7cGFkZGluZzo0cHggOHB4O2JvcmRlci1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4O2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAycHggOHB4ICMwMDA7b3BhY2l0eTouOTtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVyUGxheWVyVG9vbHRpcENvbnRlbnRCbHVycmVke29wYWNpdHk6dW5zZXQ7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0ueXRUb29sdGlwQ29udGFpbmVyRWZmZWN0TWFrZXJUb29sdGlwQ29udGVudHtwYWRkaW5nOjRweCA4cHg7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXJhZGl1czo0cHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGY7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRUb29sdGlwQ29udGFpbmVySG90a2V5e2Rpc3BsYXk6aW5saW5lO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6MCA2cHg7bWFyZ2luLWxlZnQ6OHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfTpyb290ey0teXQtbGlnaHQtcmltLWNvbG9yOnVuc2V0Oy0teXQtbGlnaHQtd2FzaC1vcGFjaXR5OjA7LS15dC1saWdodC13YXNoLXg6MDstLXl0LWxpZ2h0LXdhc2gteTowOy0teXQtbGlnaHQtd2FzaC1zaXplOjk2cHg7LS15dC1saWdodC13YXNoLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0uY29udHJpYll0TGlnaHRTaGFwZUhvc3R7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czppbmhlcml0O3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7cG9pbnRlci1ldmVudHM6bm9uZX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0OmJlZm9yZXtjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7cGFkZGluZzouNXB4Oy13ZWJraXQtbWFzazpsaW5lYXItZ3JhZGllbnQoI2ZmZiAwIDApIGNvbnRlbnQtYm94LGxpbmVhci1ncmFkaWVudCgjZmZmIDAgMCk7bWFzay1jb21wb3NpdGU6ZXhjbHVkZTtwb2ludGVyLWV2ZW50czpub25lfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDAsMCwwLDAuMDUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE91dGxpbmU6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMykpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4yKSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWxJbnZlcnNlOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2V7aW5zZXQ6LTFweH0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpKSx0cmFuc3BhcmVudCA3NSUpfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6YmVmb3Jle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHZhcigtLXl0LWxpZ2h0LXJpbS1jb2xvcixyZ2JhKDI1NSwyNTUsMjU1LDAuMikpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlUb25hbDpiZWZvcmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodmFyKC0teXQtbGlnaHQtcmltLWNvbG9yLHJnYmEoMjU1LDI1NSwyNTUsMC4xNSkpLHRyYW5zcGFyZW50IDc1JSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5le2luc2V0Oi0xcHh9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOmJlZm9yZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh2YXIoLS15dC1saWdodC1yaW0tY29sb3IscmdiYSgyNTUsMjU1LDI1NSwwLjE1KSksdHJhbnNwYXJlbnQgNzUlKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodHtjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3R0b206NTAlO2xlZnQ6MDtib3JkZXItcmFkaXVzOmluaGVyaXQ7ZmlsdGVyOmJsdXIoMTBweCl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTYWZhcml7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbHtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFNvbGlkSW52ZXJzZXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4zKX0uY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFRvbmFsSW52ZXJzZXtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4wNSl9LmNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5U29saWR7YmFja2dyb3VuZDojZmZmfS5jb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVRvbmFse2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjE1KX0uY29udHJpYll0TGlnaHRTaGFwZUR5bmFtaWNXYXNoTGlnaHR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgdHJhbnNsYXRlKHZhcigtLXl0LWxpZ2h0LXdhc2gteCwwKSx2YXIoLS15dC1saWdodC13YXNoLXksMCkpO2JvcmRlci1yYWRpdXM6aW5oZXJpdDt3aWR0aDp2YXIoLS15dC1saWdodC13YXNoLXNpemUsOTZweCk7aGVpZ2h0OnZhcigtLXl0LWxpZ2h0LXdhc2gtc2l6ZSw5NnB4KTtvcGFjaXR5OnZhcigtLXl0LWxpZ2h0LXdhc2gtb3BhY2l0eSwwKTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgZmFydGhlc3QtY29ybmVyIGF0IGNlbnRlcixyZ2JhKDI1NSwyNTUsMjU1LC4yKSAwLHRyYW5zcGFyZW50IDEwMCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7ZmlsdGVyOmJsdXIoMTVweCl9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0e2JvcmRlci1yYWRpdXM6aW5oZXJpdDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW47cG9pbnRlci1ldmVudHM6YXV0bztjb250YWluOmxheW91dCBzdHlsZSBwYWludDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXt0cmFuc2l0aW9uOm9wYWNpdHkgLjQ1cyBjdWJpYy1iZXppZXIoLjI1LDEsLjgsMSl9fS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXt0cmFuc2l0aW9uLWR1cmF0aW9uOjQwbXN9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0IC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQ6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMDV9Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVQcmVzc2VkIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjF9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0IC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e2JhY2tncm91bmQtY29sb3I6IzAwMH06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQ6aG92ZXIgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouMn06cm9vdFtkYXJrXSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheURlZmF1bHQueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7b3BhY2l0eTouM30ueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2UgLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjojMDAwfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZTpob3ZlciAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4yfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4zfTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZSAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9OnJvb3RbZGFya10gLnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlOmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5e29wYWNpdHk6LjA1fTpyb290W2RhcmtdIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5SW52ZXJzZS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheXtvcGFjaXR5Oi4xfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtmaWx0ZXI6Ymx1cigyNHB4KTtvcGFjaXR5OjA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsI2ZmZiAwLHJnYmEoMjU1LDI1NSwyNTUsLjYpIDM1JSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzAlLHRyYW5zcGFyZW50IDEwMCUpO2JvcmRlci1yYWRpdXM6NTAlfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodHtwb3NpdGlvbjphYnNvbHV0ZTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ZmlsdGVyOmJsdXIoMzJweCk7b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNmZmYgMCxyZ2JhKDI1NSwyNTUsMjU1LC41KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDgwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JvcmRlci1yYWRpdXM6NTAlfUBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpuby1wcmVmZXJlbmNlKXsueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlLHdpZHRoIC4xNXMgY3ViaWMtYmV6aWVyKC4yNSwxLC41LDEpLGhlaWdodCAuMTVzIGN1YmljLWJlemllciguMjUsMSwuNSwxKX19Lnl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0OmhvdmVyIC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodHtvcGFjaXR5Oi4yfS55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdC55dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZCAueXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyTGlnaHR7b3BhY2l0eTouMzU7dHJhbnNpdGlvbi1kdXJhdGlvbjouMDRzfS5hbmltYXRlZFJvbGxpbmdDaGFyYWN0ZXJIb3N0e2Rpc3BsYXk6aW5saW5lfS5hbmltYXRlZFJvbGxpbmdOdW1iZXJIb3N0e2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93O292ZXJmbG93OmhpZGRlbn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW46MDt3aGl0ZS1zcGFjZTpub3dyYXA7bWluLXdpZHRoOjA7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LWZhbWlseTpSb2JvdG8sQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lLXdpZHRoOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtmbGV4LWJhc2lzOjAuMDAwMDAwMDAxcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnR7ei1pbmRleDoxO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb24sLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bGluZS1oZWlnaHQ6MDtmaWxsOmN1cnJlbnRDb2xvcn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnstbW96LWJveC1mbGV4OjA7ZmxleDpub25lfS55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO292ZXJmbG93OmhpZGRlbn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWlkZGxlZ3JvdW5kQXNzZXR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7d2lkdGg6cm91bmQodXAsMTAwJSwxcHgpO2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lfS55dFNwZWNCdXR0b25TaGFwZU5leHRGZWF0dXJlUGhvbmVXcmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYc3twYWRkaW5nOjAgOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgN3B4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MnB4O21hcmdpbi1sZWZ0Oi0ycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6LTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhze2hlaWdodDoyNHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjI0cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxMnB4IDAgMCAxMnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnQ6YWZ0ZXJ7Y29udGVudDpcIlwiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDEycHggMTJweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZUljb25TaXplIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCA4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDdweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgNnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDhweDt3aWR0aDozMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWHMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3twYWRkaW5nOjAgMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMTBweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMTJweDt3aWR0aDo0NHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NHB4O21hcmdpbi1sZWZ0Oi00cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplU3toZWlnaHQ6MzJweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozMnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnR7Ym9yZGVyLXJhZGl1czoxNnB4IDAgMCAxNnB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDphZnRlcntjb250ZW50OlwiXCI7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6OHB4O2hlaWdodDoxNnB4O3dpZHRoOjFweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke2JvcmRlci1yYWRpdXM6MCAxNnB4IDE2cHggMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVycmlkZVNtYWxsU2l6ZUljb24pIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue2hlaWdodDoxOHB4O3dpZHRoOjE4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmd7cGFkZGluZzowIDEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMTFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAxMHB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAxMnB4O3dpZHRoOjQ0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo0cHg7bWFyZ2luLWxlZnQ6LTRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjRweDttYXJnaW4tbGVmdDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi1yaWdodDotNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplUy55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU17cGFkZGluZzowIDE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE1cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDE0cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDE2cHg7d2lkdGg6NTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjZweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1sZWZ0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NnB4O21hcmdpbi1yaWdodDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTXtoZWlnaHQ6MzZweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0gLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0gLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257d2lkdGg6MjRweDtoZWlnaHQ6MjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbnt3aWR0aDozNnB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydHtib3JkZXItcmFkaXVzOjE4cHggMCAwIDE4cHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6XCJcIjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo2cHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDE4cHggMThweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZS55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbiwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uKTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdCkgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZ3twYWRkaW5nOjAgMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAxNXB4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDE0cHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDE2cHg7d2lkdGg6NTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZU0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo2cHg7bWFyZ2luLXJpZ2h0Oi02cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tbGVmdDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb257bWFyZ2luLWxlZnQ6NnB4O21hcmdpbi1yaWdodDotNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTS55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEwcHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMe3BhZGRpbmc6MCAyNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le3BhZGRpbmc6MCAyM3B4O2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLXN0eWxlOnNvbGlkfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke3BhZGRpbmc6MCAyMnB4O2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5ke3BhZGRpbmc6MCAyNHB4O3dpZHRoOjcycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo4cHg7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUx7aGVpZ2h0OjQ4cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMIC55dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldHtib3JkZXItcmFkaXVzOjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b257d2lkdGg6NDhweDtwYWRkaW5nOjB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjRweCAwIDAgMjRweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkU3RhcnQ6YWZ0ZXJ7Y29udGVudDpcIlwiO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjEycHg7aGVpZ2h0OjI0cHg7d2lkdGg6MXB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7Ym9yZGVyLXJhZGl1czowIDI0cHggMjRweCAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5ne3BhZGRpbmc6MCAyMHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7cGFkZGluZzowIDE5cHg7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItc3R5bGU6c29saWR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMThweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjBweDt3aWR0aDo2OHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVMLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTJweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse3BhZGRpbmc6MCAzMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMzFweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7cGFkZGluZzowIDMwcHg7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0zMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmR7cGFkZGluZzowIDMycHg7d2lkdGg6ODhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25CdXR0b24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2VnbWVudGVkRW5kIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLXJpZ2h0OjEycHg7bWFyZ2luLWxlZnQ6LTEycHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRTZWNvbmRhcnlJY29ue21hcmdpbi1sZWZ0OjEycHg7bWFyZ2luLXJpZ2h0Oi0xMnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMjBweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhse2hlaWdodDo1NnB4O2ZvbnQtc2l6ZToyNHB4O2xpbmUtaGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czoyOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0e2JvcmRlci1yYWRpdXM6MjhweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9ue3dpZHRoOjU2cHg7cGFkZGluZzowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbi55dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dHttYXJnaW4tbGVmdDotMTZweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0e2JvcmRlci1yYWRpdXM6MjhweCAwIDAgMjhweDtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OmFmdGVye2NvbnRlbnQ6XCJcIjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDoxNnB4O2hlaWdodDoyNHB4O3dpZHRoOjFweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtib3JkZXItcmFkaXVzOjAgMjhweCAyOHB4IDB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nTm9UZXh0IC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDowfS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZ3twYWRkaW5nOjAgMjRweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtwYWRkaW5nOjAgMjNweDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtwYWRkaW5nOjAgMjJweDtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0yNHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZHtwYWRkaW5nOjAgMjRweDt3aWR0aDo4MHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZCAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tbGVmdDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uVHJhaWxpbmcgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDotOHB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbnttYXJnaW4tcmlnaHQ6OHB4O21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi0xNnB4fS55dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwueXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZy55dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nIC55dFNwZWNCdXR0b25TaGFwZU5leHRJY29ue21hcmdpbi1yaWdodDo4cHg7bWFyZ2luLWxlZnQ6LThweH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsLnl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZyAueXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbnttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYbC55dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VQYWRkaW5nLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmcueXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHR7bWFyZ2luLWxlZnQ6LTE2cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVye2hlaWdodDphdXRvO3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjUwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHstd2Via2l0LWxpbmUtY2xhbXA6NDttYXgtaGVpZ2h0Om5vbmV9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlVGV4dEVsbGlwc2lzIC55dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudHt0ZXh0LW92ZXJmbG93OmNsaXB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdHttaW4td2lkdGg6MDtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3BhZGRpbmc6MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbk9ubHlEZWZhdWx0Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEFsaWduQnlUZXh0e21hcmdpbi1sZWZ0Oi04cHh9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFdvcmthcm91bmRJY29uTm9Cb3JkZXJSYWRpdXN7Ym9yZGVyLXJhZGl1czp1bnNldH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzA1NTZiZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Y29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGVmMWZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzA2NWZkNH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2RlZjFmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkYWRmZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZGFkZmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwNjVmZDR9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbi55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkZWYxZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Y29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMyNjM4NTA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI2Mzg1MDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMzZWE2ZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzNlYTZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzY1YjhmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6IzNlYTZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiM2NWI4ZmY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWNvbG9yOiMzZWE2ZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojNjViOGZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbk92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMjcyNzI3O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjEpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9uby55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2Q5ZDlkOTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNkOWQ5ZDk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMil9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZTphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnRyYW5zcGFyZW50fX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojZmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRNb25vSW52ZXJzZS55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2JvcmRlci13aWR0aDoycHg7Ym9yZGVyLXN0eWxlOnNvbGlkfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Y29sb3I6IzAwMH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZTZlNmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNmZmZ9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3V0bGluZXtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0OmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheS55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMSl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlQmFja2Ryb3BGaWx0ZXJFeHBlcmltZW50e2JhY2tkcm9wLWZpbHRlcjpibHVyKDRweCl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojZmZmfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojMDAwfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2U2ZTZlNjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZn19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6I2ZmZn0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEljb257ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwwLjgpKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWw6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrLnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVCYWNrZHJvcEZpbHRlckV4cGVyaW1lbnR7YmFja2Ryb3AtZmlsdGVyOmJsdXIoOHB4KX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyay55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoNDAsNDAsNDAsMC42KTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4zKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fX1AbWVkaWEgKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSksKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcmxheURhcmsueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2NvbG9yOiNmZmZ9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCNlMTAwMmQgMzAlLCNlMDEzNzggODUlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCNlMTAwMmQgMzAlLCNlMDEzNzggODUlKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDVkZWcsI2UxMDAyZCAzMCUsI2UwMTM3OCA4NSUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke2NvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDp1bnNldDtib3JkZXItY29sb3I6IzAzMDMwM319QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOmFjdGl2ZTpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRCcmFuZEdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Ym9yZGVyLXdpZHRoOjJweDtib3JkZXItc3R5bGU6c29saWR9fS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtcbiAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjN2YwZTdmIDAsI2FhMDlhYSAyMCUsI2ZmNGU0NSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCMwMDdhNjUgMCwjN2YwZTdmIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0RmlsbGVke2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtjb2xvcjojMDMwMzAzfS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFse1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgwLDEyMiwxMDEsMC4yKSAwLHJnYmEoMTI3LDE0LDEyNywwLjIpIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsOmhvdmVyOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHJnYmEoMTI3LDE0LDEyNywwLjIpIDAscmdiYSgxNzAsOSwxNzAsMC4yKSAyMCUscmdiYSgyNTUsNzgsNjksMC4yKSAxMDAlKX19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbDphY3RpdmU6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcscmdiYSgwLDEyMiwxMDEsMC4yKSAwLHJnYmEoMTI3LDE0LDEyNywwLjIpIDEwMCUpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWR7Y29sb3I6IzAzMDMwM30ueXRTcGVjQnV0dG9uU2hhcGVOZXh0R2VuQWlHcmFkaWVudC55dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2Vke1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6dW5zZXQ7Ym9yZGVyLWNvbG9yOiMwMzAzMDN9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fUBtZWRpYSAoaG92ZXI6bm9uZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZDpob3Zlcjpub3QoLnl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUxpZ2h0VG91Y2hSZXNwb25zZSl7XG4gICAgLyohIHJ0bDppZ25vcmUgKi9iYWNrZ3JvdW5kOnVuc2V0O2JvcmRlci1jb2xvcjojMDMwMzAzfX1AbWVkaWEgKGhvdmVyOm5vbmUpey55dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhICgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpLChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lnl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQueXRTcGVjQnV0dG9uU2hhcGVOZXh0Rm9jdXNlZHtib3JkZXItd2lkdGg6MnB4O2JvcmRlci1zdHlsZTpzb2xpZH19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZHtjb2xvcjojOTA5MDkwfS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWR7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9fS55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le2NvbG9yOiM5MDkwOTB9Lnl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmV7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VGV4dHtjb2xvcjojOTA5MDkwfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0e2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7Y29sb3I6IzkwOTA5MH0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZWQueXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWx7XG4gIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMDUpfUBtZWRpYSAoLW1zLWhpZ2gtY29udHJhc3Q6YWN0aXZlKSwoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZC55dFNwZWNCdXR0b25TaGFwZU5leHRUb25hbHtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKX19Lnl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZC55dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5le1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym94LXNoYWRvdzowIDRweCAxNnB4IDAgcmdiYSgwLDAsMCwwLjEpLDAgMnB4IDhweCAwIHJnYmEoMCwwLDAsMC4xKX0ueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6aG92ZXI6bm90KC55dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2Upe1xuICAgIC8qISBydGw6aWdub3JlICovYmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH19QG1lZGlhIChob3Zlcjpub25lKXsueXRTcGVjQnV0dG9uU2hhcGVOZXh0UmFpc2VkLnl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmU6YWN0aXZlOm5vdCgueXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlKXtcbiAgICAvKiEgcnRsOmlnbm9yZSAqL2JhY2tncm91bmQ6IzI3MjcyNztib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9fS55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHttYXJnaW46NHB4IC04cHggMDtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6MnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHstd2Via2l0LWxpbmUtY2xhbXA6MTttYXgtaGVpZ2h0Om5vbmV9fS55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbElzT3ZlcmxheSAueXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbHttYXgtd2lkdGg6NjRweDtjb2xvcjojZmZmfS55dFNwZWNCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS55dEJhZGdlVmlld01vZGVsSG9zdHtkaXNwbGF5OmlubGluZS1ibG9ja30ueXRCck56QmFkZ2VTaGFwZUhvc3R7ZGlzcGxheTpibG9ja30ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdSZWRTcXVhcmV7YmFja2dyb3VuZDojZjAzOTM2O2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2JvcmRlci1yYWRpdXM6MDtjb2xvcjpibGFjazt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1llbGxvd0NpcmNsZXtiYWNrZ3JvdW5kOiNmZmVmMDA7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6YmxhY2s7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdHcmVlbkNpcmNsZXtiYWNrZ3JvdW5kOiM0MmM3NTg7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6YmxhY2s7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEdyZWVuU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTY2LDgxKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbHVlU3F1YXJle2JhY2tncm91bmQ6cmdiKDAsMTQ5LDIxOCk7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmx1ZVNxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDE0OSwyMTgpO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFllbGxvd1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNTEsMTkzLDIxKTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VZZWxsb3dTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjUxLDE5MywyMSk7aGVpZ2h0OjIuMnJlbTt3aWR0aDoyLjJyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsT3JhbmdlU3F1YXJle2JhY2tncm91bmQ6cmdiKDI0NSwxMzAsMzIpO2hlaWdodDoxLjhyZW07d2lkdGg6MS44cmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZU9yYW5nZVNxdWFyZXtiYWNrZ3JvdW5kOnJnYigyNDUsMTMwLDMyKTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxSZWRTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjM2LDI5LDM3KTtoZWlnaHQ6MS44cmVtO3dpZHRoOjEuOHJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VSZWRTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMjM2LDI5LDM3KTtoZWlnaHQ6Mi4ycmVtO3dpZHRoOjIuMnJlbTtjb2xvcjp3aGl0ZTtib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6MTAlO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzpjbGlwO3BhZGRpbmc6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDt0ZXh0LWFsaWduOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbGFja1NxdWFyZXtiYWNrZ3JvdW5kOnJnYigwLDAsMCk7aGVpZ2h0OjEuOHJlbTt3aWR0aDoxLjhyZW07Y29sb3I6d2hpdGU7Ym9yZGVyOjFweCBzb2xpZCB3aGl0ZTtib3JkZXItcmFkaXVzOjEwJTt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6Y2xpcDtwYWRkaW5nOjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7dGV4dC1hbGlnbjpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmxhY2tTcXVhcmV7YmFja2dyb3VuZDpyZ2IoMCwwLDApO2hlaWdodDoyLjJyZW07d2lkdGg6Mi4ycmVtO2NvbG9yOndoaXRlO2JvcmRlcjoxcHggc29saWQgd2hpdGU7Ym9yZGVyLXJhZGl1czoxMCU7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7cGFkZGluZzowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3RleHQtYWxpZ246Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZVdpdGhMYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VzOm5vdCg6bGFzdC1jaGlsZCl7LW1vei1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0FjdGlvbnNDb250YWluZXI+Om5vdCg6bGFzdC1jaGlsZCl7LW1vei1tYXJnaW4tZW5kOjhweDttYXJnaW4taW5saW5lLWVuZDo4cHh9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb25zQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb246bm90KDpsYXN0LWNoaWxkKXstbW96LW1hcmdpbi1lbmQ6OHB4O21hcmdpbi1pbmxpbmUtZW5kOjhweH0ueXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEVycm9ye2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6I2MzMDAyN30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3R7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9ja30ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lcntwYWRkaW5nLWJvdHRvbToyMHB4fS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlQ29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlfS55dFNlbGVjdGFibGVJdGVtVmlld01vZGVsTmF0aXZlUmFkaW9CdXR0b257aGVpZ2h0OjA7bGVmdDowO21hcmdpbjowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjB9Lnl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbHtjdXJzb3I6cG9pbnRlcn0ueXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVke2N1cnNvcjpkZWZhdWx0fS55dENhcmRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ueXRDYXJkVmlld01vZGVsT3V0bGluZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0Q2FyZFZpZXdNb2RlbFJhaXNlZHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmUtc3R5bGU6c29saWQ7b3V0bGluZS1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKSxvdXRsaW5lLWNvbG9yIC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS13aWR0aCAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWR7Ym94LXNoYWRvdzowIDJweCA4cHggMCByZ2JhKDAsMCwwLDAuMjUpO291dGxpbmU6IzAzMDMwMyBzb2xpZCAycHg7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4xOHMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksb3V0bGluZS1jb2xvciAuMThzIGN1YmljLWJlemllciguMDUsMCwwLDEpLG91dGxpbmUtd2lkdGggLjE4cyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRDYXJkVmlld01vZGVsVG9uYWx7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMDUpfS55dENhcmRWaWV3TW9kZWxJbnZlcnRlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwZjBmMGZ9Lnl0Q2FyZFZpZXdNb2RlbENvbnRlbnRXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCV9Lnl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7d2lkdGg6MTAwJX0ueXRDYXJkVmlld01vZGVsVG9wQ29udGVudHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjF9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9ue2FsaWduLXNlbGY6ZmxleC1zdGFydH0ueXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2lue21hcmdpbjo2cHh9Lnl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMnB4O3RvcDoxMnB4fS55dENhcmRWaWV3TW9kZWxDYXJkVmlld01vZGVsSW5uZXJ7Ym9yZGVyLXJhZGl1czoxMnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTstbW96LWJveC1mbGV4OjE7ZmxleDoxfS55dENhcmRWaWV3TW9kZWxTZWxlY3RlZHtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjMDMwMzAzfS55dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZywueXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmd7cGFkZGluZzoxMnB4fS55dENhcmRWaWV3TW9kZWxDbGlja2FibGV7Y3Vyc29yOnBvaW50ZXJ9Lnl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KTtpbnNldDowO3Bvc2l0aW9uOmFic29sdXRlfS55dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MH0ueXRDYXJkVmlld01vZGVsQmFja2dyb3VuZHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29iamVjdC1maXQ6ZmlsbH0ueXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldHtib3JkZXI6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9Lnl0Q2hlY2tib3hJdGVtVmlld01vZGVsSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO3BhZGRpbmc6MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVye2JvcmRlci10b3A6bm9uZX0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5ne3BhZGRpbmc6MTJweCAwIDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxEaXNhYmxlUGFkZGluZy55dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXJ7cGFkZGluZy10b3A6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmd7cGFkZGluZy1ib3R0b206MTJweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5ne3BhZGRpbmctcmlnaHQ6MjRweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRSb3d7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFja3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFja1RvcEJ1dHRvbnttYXJnaW46MCAwIDhweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd1RyYWlsaW5ney1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0xlZnRCdXR0b257bWFyZ2luLXJpZ2h0OjhweH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0Z1bGxXaWR0aHt3aWR0aDoxMDAlfS55dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RXhwYW5key1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dTaHJpbmt7LW1vei1ib3gtZmxleDowO2ZsZXg6MH0ueXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0hpZGRlbntkaXNwbGF5Om5vbmV9Lnl0U3BlY0ljb25TaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U3Bpbm5lclNoYXBlV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNwaW5uZXJTaGFwZVNwaW5uZXJ7ZGlzcGxheTpibG9jazstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWFyZ2luOjEycHggYXV0bzt3aWR0aDozMnB4O2hlaWdodDozMnB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoycHggc29saWQgI2VlZTtib3JkZXItdG9wLWNvbG9yOiM2NjY7YW5pbWF0aW9uOnNwaW5uZXIgLjhzIGxpbmVhciBpbmZpbml0ZX0ueXRTcGlubmVyU2hhcGVTcGlubmVyOm5vdChbaGlkZGVuXSl7Y29sb3I6IzMzMztmb250LXNpemU6MS42cmVtfUBrZXlmcmFtZXMgc3Bpbm5lcnswJXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRve3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX0ueXRMb3R0aWVDb21wb25lbnRIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0TG90dGllQ29tcG9uZW50SG9zdCBzdmd7ZGlzcGxheTpibG9ja30ueXRBbmltYXRlZEljb25Ib3N0e2Rpc3BsYXk6YmxvY2t9Lnl0QW5pbWF0ZWRJY29uSG9zdCAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweDttYXJnaW46MH0ueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0IC5hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdCAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3QgLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xMnB4LC0xMnB4KTtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4fS55dEFuaW1hdGVkSWNvbkhvc3QgLmFuaW1hdGVkLXN1YnNjcmliZS1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGUoLTEycHgsLTEycHgpO2hlaWdodDo0OHB4O3dpZHRoOjQ4cHh9Lnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPVwiMThcIl0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257aGVpZ2h0OjE4cHg7d2lkdGg6MThweH0ueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT1cIjE4XCJdIC5hbmltYXRlZC1saWtlLWljb24gLmFuaW1hdGVkLWxpa2UtaWNvbiwueXRBbmltYXRlZEljb25Ib3N0W2RhdGEtc2l6ZT1cIjE4XCJdIC5hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24sLnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuY3VzdG9tLWFuaW1hdGVkLWxpa2UtaWNvbiAuYW5pbWF0ZWQtbGlrZS1pY29uLC55dEFuaW1hdGVkSWNvbkhvc3RbZGF0YS1zaXplPVwiMThcIl0gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb24gLmN1c3RvbS1hbmltYXRlZC1saWtlLWljb257dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOXB4LC05cHgpO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0QW5pbWF0ZWRJY29uSG9zdFtkYXRhLXNpemU9XCIxOFwiXSAuYW5pbWF0ZWQtc3Vic2NyaWJlLWljb257dHJhbnNmb3JtOnRyYW5zbGF0ZSgtOXB4LC05cHgpO2hlaWdodDozNnB4O3dpZHRoOjM2cHh9Lnl0SG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTpibG9ja30ueXRTbGlkZXJTaGFwZUhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxNnB4IDEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9ue2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmV9Lnl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjA1KTtoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fS55dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbkljb257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweH0ueXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b246ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHQ7Y29sb3I6IzkwOTA5MH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXJ7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7bWFyZ2luOjAgMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O291dGxpbmU6bm9uZTtwYWRkaW5nLWJvdHRvbTowOy0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoyNHB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7aGVpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCMwMzAzMDMgMCwjMDMwMzAzIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIHZhcigtLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50KSwjOTA5MDkwIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlSG9zdFNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4O21hcmdpbi10b3A6LTZweH0ueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVIb3N0U2xpZGVyOjotbXMtdGh1bWJ7YmFja2dyb3VuZDojMDMwMzAzO3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0U2xpZGVyU2hhcGVWZXJ0aWNhbHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzttYXJnaW46MDt3cml0aW5nLW1vZGU6dmVydGljYWwtcmw7ZGlyZWN0aW9uOnJ0bH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7Zm9udDppbmhlcml0O2NvbG9yOiMwMzAzMDM7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO21hcmdpbjowIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtvdXRsaW5lOm5vbmU7cGFkZGluZy1ib3R0b206MDstLXl0LXNsaWRlci1zaGFwZS1ncmFkaWVudC1wZXJjZW50OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MjRweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byB0b3AsIzAzMDMwMyAwLCMwMzAzMDMgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgdmFyKC0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQpLCM5MDkwOTAgMTAwJSk7d2lkdGg6NHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotbW96LXJhbmdlLXRyYWNre2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCwjMDMwMzAzIDAsIzAzMDMwMyB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCB2YXIoLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCksIzkwOTA5MCAxMDAlKTt3aWR0aDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1ie2FwcGVhcmFuY2U6bm9uZTtiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweDttYXJnaW4tcmlnaHQ6LTZweH0ueXRTbGlkZXJTaGFwZVZlcnRpY2FsU2xpZGVyOjotbW96LXJhbmdlLXRodW1ie2JhY2tncm91bmQ6IzAzMDMwMzt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JvcmRlci1yYWRpdXM6OHB4fS55dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXI6Oi1tcy10aHVtYntiYWNrZ3JvdW5kOiMwMzAzMDM7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjhweH1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsueXRTbGlkZXJTaGFwZUhvc3RTbGlkZXJ7LW1vei1hcHBlYXJhbmNlOmF1dG87YXBwZWFyYW5jZTphdXRvOy13ZWJraXQtYXBwZWFyYW5jZTphdXRvfX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cGFkZGluZzoxMHB4IDE2cHg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7bWluLWhlaWdodDo0OHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0SGlkZURpdmlkZXJ7Ym9yZGVyLWJvdHRvbTpub25lfS55dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdENvbXBhY3R7cGFkZGluZzo4cHggMTJweH0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZUhlYWRlcnttYXJnaW46MH0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyTm9uSW50ZXJhY3RpdmV7cG9pbnRlci1ldmVudHM6bm9uZX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxle2NvbG9yOiMwMzAzMDM7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxle21hcmdpbi10b3A6MnB4O2NvbG9yOiM2MDYwNjA7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjEuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRQYW5lbEhlYWRlclZpZXdNb2RlbFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZXttYXgtaGVpZ2h0OjEuOHJlbX0ueXRQYW5lbEhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6bm93cmFwO21hcmdpbi1sZWZ0OjEycHh9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b246bm90KDpsYXN0LWNoaWxkKXtwYWRkaW5nLXJpZ2h0OjI0cHh9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtvdXRsaW5lOm5vbmV9Lnl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvckZvY3VzZWR7b3V0bGluZToycHggc29saWQgY3VycmVudENvbG9yfS55dFNoZWV0Vmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0U2hlZXRWaWV3TW9kZWxDb250ZXh0dWFse2JhY2tkcm9wLWZpbHRlcjpibHVyKDhweCk7Ym9yZGVyLXJhZGl1czoxMnB4O2JveC1zaGFkb3c6MCA0cHggMzJweCAwIHJnYmEoMCwwLDAsMC4xKTtvdmVyZmxvdzpoaWRkZW59Lnl0U2hlZXRWaWV3TW9kZWxQYWRkZWRDb250ZW50e3BhZGRpbmc6MTZweCAwfS55dFNoZWV0Vmlld01vZGVsRGlzYWJsZUJhY2tkcm9wRmlsdGVye2JhY2tkcm9wLWZpbHRlcjpub25lfS55dFNwZWNCb3R0b21TaGVldExheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWluLWhlaWdodDowfS55dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lcntib3JkZXItcmFkaXVzOjEycHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmZpeGVkO21hcmdpbjowIDhweCAyNHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTAwfUBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzoxMy85KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkgYW5kIChtaW4td2lkdGg6NDE2cHgpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKSBhbmQgKG1pbi13aWR0aDo0MTZweCl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Q29udGFpbmVye3dpZHRoOjQwMHB4O21hcmdpbjowIGF1dG8gMjRweCBhdXRvfX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVye292ZXJmbG93OmhpZGRlbjstbW96LWJveC1mbGV4OjA7ZmxleDpub25lO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNmZmY7Y3Vyc29yOi1tb3otZ3JhYjtjdXJzb3I6Z3JhYn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVySXNEcmFnZ2luZ3tjdXJzb3I6LW1vei1ncmFiYmluZztjdXJzb3I6Z3JhYmJpbmd9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlckJvdHRvbUJvcmRlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSl9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0RHJhZ0xpbmV7YmFja2dyb3VuZDojMDMwMzAzO29wYWNpdHk6LjE1O2JvcmRlci1yYWRpdXM6NHB4O2hlaWdodDo0cHg7bWFyZ2luOjAgYXV0bzt3aWR0aDo0MHB4O21hcmdpbi10b3A6OHB4fS55dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcnstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXRvcDo4cHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV2l0aFRpdGxle21hcmdpbi1ib3R0b206N3B4fS55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxlV3JhcHBlcnstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLWxlZnQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOiMwMzAzMDM7bWF4LWhlaWdodDoyMHB4O21hcmdpbjowfS55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7Y29sb3I6IzYwNjA2MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLXRvcDo0cHg7bWF4LWhlaWdodDoxNnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuOHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi42cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjIuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4gLnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjE7bWF4LWhlaWdodDpub25lfX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxle21heC1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFNwZWNCb3R0b21TaGVldExheW91dE1vZGVybiAueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZXttYXgtaGVpZ2h0OjIuNnJlbX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDoxLjhyZW07ZGlzcGxheTpib3g7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3JtYWx9QHN1cHBvcnRzICgtd2Via2l0LWxpbmUtY2xhbXA6MSl7Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxley13ZWJraXQtbGluZS1jbGFtcDoxO21heC1oZWlnaHQ6bm9uZX19Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIC55dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxle21heC1oZWlnaHQ6MS44cmVtfS55dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiMwMzAzMDM7bWFyZ2luOjAgMTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO292ZXJmbG93LXk6c2Nyb2xsfS55dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Y29sb3I6IzAzMDMwM30ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVye2Rpc3BsYXk6YmxvY2s7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW47LW1vei1ib3gtZmxleDowO2ZsZXg6bm9uZTtwb3NpdGlvbjpzdGlja3k7Ym90dG9tOjB9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyQnV0dG9uV3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW46MTJweCAwfS55dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVye21hcmdpbjo2cHggMH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWFyZ2luLXJpZ2h0OjhweDttYXJnaW4tbGVmdDoxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcnstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyey1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25EZWZhdWx0e21hcmdpbjowIDEycHg7d2lkdGg6MTAwJX0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpciwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyey1tb3otYm94LWZsZXg6MTtmbGV4OjE7bWFyZ2luLXJpZ2h0OjEycHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbjowIDEycHg7aGVpZ2h0OjMwcHh9Lnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyV2l0aG91dEJ1dHRvbnN7bWFyZ2luLWJvdHRvbToxMnB4fS55dFNwZWNCb3R0b21TaGVldExheW91dExlYWRpbmdMYWJlbCwueXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVse21hcmdpbi10b3A6MTJweDtjb2xvcjojNjA2MDYwO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwfS55dENvbnRleHR1YWxTaGVldExheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZjtoZWlnaHQ6MTAwJTttaW4td2lkdGg6MTI4cHg7bWF4LXdpZHRoOjQwMHB4O3dpZHRoOjEwMCU7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gNDhweCk7bWluLWhlaWdodDowfS55dENvbnRleHR1YWxTaGVldExheW91dEhvc3RPbGRNaW5XaWR0aHttaW4td2lkdGg6MjU2cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0QWRkUGFkZGluZ3twYWRkaW5nLWJvdHRvbTo4cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0SGVhZGVyQ29udGFpbmVyey1tb3otYm94LWZsZXg6MDtmbGV4OjB9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcnstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7b3ZlcmZsb3cteTphdXRvO3Njcm9sbGJhci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtzY3JvbGxiYXItd2lkdGg6dGhpbn0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhcntiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjE2cHh9Lnl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRDb250ZW50Q29udGFpbmVyOmhvdmVye3Njcm9sbGJhci1jb2xvcjojOTA5MDkwIHRyYW5zcGFyZW50fS55dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXI6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQtY29sb3I6IzkwOTA5MH0ueXRDb250ZXh0dWFsU2hlZXRMYXlvdXRGb290ZXJDb250YWluZXJ7LW1vei1ib3gtZmxleDowO2ZsZXg6MH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW46MTJweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTcGVlZEluZGljYXRvckNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOmF1dG99Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXl7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1zZWxmOmNlbnRlcjtjb2xvcjojMDMwMzAzO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6Mi44cmVtO2xpbmUtaGVpZ2h0OjMuOHJlbTtmb250LXdlaWdodDo5MDB9QG1lZGlhIChtYXgtd2lkdGg6NTI3LjlweCl7Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXl7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjkwMH19Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwMCU7bWFyZ2luLXJpZ2h0OjhweH0ueXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTbGlkZXJDb250YWluZXJ7bWFyZ2luOjhweCAwfS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b257bWFyZ2luOjAgNHB4fS55dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lnl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVse21hcmdpbi10b3A6NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7Y29sb3I6IzAzMDMwM30ueXRXZWJTY3JpbUhvc3R7cG9zaXRpb246Zml4ZWQ7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxO2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpfS55dFdlYlNjcmltSG9zdFJlbGF0aXZle3Bvc2l0aW9uOmFic29sdXRlfS55dFdlYlNjcmltSG9zdE1vZGVybk92ZXJsYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyl9Lnl0V2ViU2NyaW1Ib3N0Qm90dG9tU2hlZXR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0V2ViU2NyaW1Ib3N0RW5nYWdlbWVudFBhbmVse3otaW5kZXg6MDstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTt0b3A6MTAwdnd9Lnl0V2ViU2NyaW1Ib3N0RHJhZ2dhYmxlRW5nYWdlbWVudFBhbmVse3otaW5kZXg6Mzt0b3A6MH0ueXRXZWJTY3JpbUhvc3REcmF3ZXJMYXlvdXR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCl9Lnl0V2ViU2NyaW1EaWFsb2dDb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo0fS55dFdlYlNjcmltSGlkZGVuQnV0dG9ue3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O3BhZGRpbmc6MDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fWJvdHRvbS1zaGVldC1jb250YWluZXJ7cG9zaXRpb246Zml4ZWQ7ei1pbmRleDo1fWJvdHRvbS1zaGVldC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH1jMy1vdmVybGF5LmJvdHRvbS1zaGVldC1vdmVybGF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfVtib3R0b20tc2hlZXQtb3Blbl17b3ZlcmZsb3c6aGlkZGVufVttb2RhbC1vcGVuLWJvZHlde3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MDtyaWdodDowfS5iMy1pZnJhbWUtYW5jZXN0b3JbbW9kYWwtb3Blbi1ib2R5XXtwb3NpdGlvbjphYnNvbHV0ZX0ubW9kYWwtaGlkZGVuLWJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0uYnV0dG9uLXdpdGgtaWNvbntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTttaW4td2lkdGg6NS4xNGVtO21hcmdpbjowIC4yOWVtO2ZvbnQtc2l6ZToxLjRyZW07Ym9yZGVyLXJhZGl1czozcHh9LmJ1dHRvbi13aXRoLWljb24tYnV0dG9ue3BhZGRpbmc6LjdlbSAuNTdlbX0uYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbjotLjdlbSAtLjU3ZW19LmJ1dHRvbi13aXRoLWljb24uY29tcGFjdCsuYnV0dG9uLXdpdGgtaWNvbi5jb21wYWN0e21hcmdpbi1sZWZ0Oi43ZW19LmJ1dHRvbi13aXRoLWljb24taW5uZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uYnV0dG9uLXdpdGgtaWNvbi1idXR0b25bZGlzYWJsZWRdLC5idXR0b24td2l0aC1pY29uLmRpc2FibGVkIC5idXR0b24td2l0aC1pY29uLWJ1dHRvbntjb2xvcjojOTA5MDkwfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9CUkFORF17Y29sb3I6I2UxMDAyZH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfUFJJTUFSWV06bm90KFtkaXNhYmxlZD10cnVlXSl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwNjVmZDR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1BSSU1BUlldW2Rpc2FibGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1RFWFRde2NvbG9yOiM2MDYwNjB9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1RFWFRdIC5sb2dvLWFycm93e2ZpbGw6I2ZmZn0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtc3R5bGU9U1RZTEVfQkxVRV9URVhUXXtjb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9CTFVFX1RFWFRfV0lUSF9JTlZFUlNFX1RIRU1FXXtjb2xvcjojM2VhNmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9ERVNUUlVDVElWRV17YmFja2dyb3VuZC1jb2xvcjojZTEwMDJkO2JvcmRlci1jb2xvcjojZTEwMDJkO2NvbG9yOiNmZmZ9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX1NVR0dFU1RJVkVde2JvcmRlcjoxcHggc29saWQgIzA2NWZkNDtjb2xvcjojMDY1ZmQ0fS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9PVkVSTEFZXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zKTtjb2xvcjojZmZmfS5idXR0b24tcmVuZGVyZXJbZGF0YS1zdHlsZT1TVFlMRV9EQVJLXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLXN0eWxlPVNUWUxFX0lOQUNUSVZFX09VVExJTkVde2NvbG9yOiM2MDYwNjA7Ym9yZGVyOjFweCBzb2xpZCAjNjA2MDYwO3BhZGRpbmc6NXB4IDExcHh9LmJ1dHRvbi1yZW5kZXJlcltkYXRhLWljb24tb25seT10cnVlXXttaW4td2lkdGg6MDttYXJnaW46MH0uYnV0dG9uLXJlbmRlcmVyW2RhdGEtaWNvbi1vbmx5PWZhbHNlXSAuYnV0dG9uLXJlbmRlcmVyLWljb257bWFyZ2luOjAgOHB4fS5idXR0b24tcmVuZGVyZXItdGV4dHthbGlnbi1zZWxmOmNlbnRlcjttaW4taGVpZ2h0OjFlbTtsaW5lLWhlaWdodDoxZW07Zm9udC13ZWlnaHQ6NTAwfVtpcy1idXN5PXRydWVdIC5idXR0b24tcmVuZGVyZXItaWNvbixbaXMtYnVzeT10cnVlXSAuYnV0dG9uLXJlbmRlcmVyLXRleHR7dmlzaWJpbGl0eTpoaWRkZW59LmJ1dHRvbi13aXRoLWljb24tc3Bpbm5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDttYXJnaW46YXV0b30uYnV0dG9uLXJlbmRlcmVyLXdpdGgtYW5pbWF0aW9uIC5idXR0b24td2l0aC1pY29uLWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWMzLWljb257ZGlzcGxheTotbW96LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDtmbGV4LXNocmluazowO3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7ZmlsbDpjdXJyZW50Q29sb3I7c3Ryb2tlOm5vbmV9W2Rpcj1ydGxdIGMzLWljb25bZmxpcC1mb3ItcnRsPXRydWVde3RyYW5zZm9ybTpzY2FsZVgoLTEpfS5pY29uLWJ1dHRvbntib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7cGFkZGluZzo4cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fWMzLWljb24gc3Zne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YzMtaWNvbi5pY29uLXN0YXRlLW91dGxpbmVbaWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6bm9uZX1jMy1pY29uLmljb24tc3RhdGUtZmlsbGVkW2ljb24tc3RhdGUtb3V0bGluZV17ZGlzcGxheTpub25lfS5waXZvdC1iYXItaXRlbS10YWIgYzMtaWNvbltpY29uLXN0YXRlLWZpbGxlZF17ZGlzcGxheTpub25lfS5waXZvdC1iYXItaXRlbS10YWIgYzMtaWNvbltpY29uLXN0YXRlLW91dGxpbmVde2Rpc3BsYXk6YmxvY2t9LnBpdm90LWJhci1pdGVtLXRhYlthcmlhLXNlbGVjdGVkPXRydWVdIGMzLWljb25baWNvbi1zdGF0ZS1maWxsZWRde2Rpc3BsYXk6YmxvY2t9LnBpdm90LWJhci1pdGVtLXRhYlthcmlhLXNlbGVjdGVkPXRydWVdIGMzLWljb25baWNvbi1zdGF0ZS1vdXRsaW5lXXtkaXNwbGF5Om5vbmV9I21lbnUsLm1lbnUtY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjR9Lm1lbnUtY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7bWF4LWhlaWdodDoxMDAlO292ZXJmbG93LXk6YXV0bztjb2xvcjojMDMwMzAzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtwYWRkaW5nOjNweH0ubWVudS1jb250ZW50Lm1lbnUtYm90dG9te2JvdHRvbTowO2NvbG9yOiMwMzAzMDM7cGFkZGluZzowO3Bvc2l0aW9uOmZpeGVkO21heC13aWR0aDoxMDAlO3dpZHRoOjEwMCV9LmJvdHRvbS1tZW51LWNhbmNlbHtib3JkZXItdG9wOjFweCBzb2xpZCAjZjFmMWYxO3BhZGRpbmc6OHB4IDB9Lm1lbnUtY29udGVudD5he2Rpc3BsYXk6YmxvY2t9Lm1lbnUtY2FuY2VsLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5tZW51LWNhbmNlbC1pY29ue21hcmdpbjowIDhweH0ubWVudS1jb250ZW50Lm1lbnUtYm90dG9tIGMzLWljb257Y29sb3I6IzAzMDMwMzttYXJnaW46MCAzMnB4IDAgMH0ubWVudS1jb250ZW50Om5vdCgubWVudS1zaG93LWljb25zKSAubWVudS1pdGVtLWJ1dHRvbiBjMy1pY29ue2Rpc3BsYXk6bm9uZX1AbWVkaWEgKG1pbi13aWR0aDozMzBweCl7Lm1lbnUtY29udGVudDpub3QoLm1lbnUtYm90dG9tKXttaW4td2lkdGg6MjUwcHg7bWF4LXdpZHRoOjM1NnB4O21hcmdpbjo0MHB4fX0ubWVudS1mdWxsLXdpZHRoIC5tZW51LWNvbnRlbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmO21pbi13aWR0aDoxMDAlO21pbi1oZWlnaHQ6MTAwJTttYXJnaW46MDtwYWRkaW5nOjA7aGVpZ2h0OjFweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1lbnUtY29udGVudC5yb3VuZGVkLWNvbnRhaW5lcntib3JkZXItcmFkaXVzOjhweH0uaWNvbi1idXR0b24uc21hbGx7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowO3dpZHRoOjE2cHh9eXRtLW1lbnUtaXRlbXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6M3B4IDB9eXRtLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDttaW4taGVpZ2h0OjQ4cHg7cGFkZGluZzo4cHggMTZweDttYXJnaW4tbGVmdDowO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXI7dGV4dC1hbGlnbjppbml0aWFsO3RleHQtdHJhbnNmb3JtOnVuc2V0Oy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9eXRtLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSl9eXRtLW1lbnUtaXRlbSBjMy1pY29ue21hcmdpbi1yaWdodDoyNHB4fS5tZW51LWJvdHRvbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtc2l6ZToxLjZyZW07cGFkZGluZzoxMXB4IDE2cHh9Lnl0d1BsYXllckJvdHRvbUNvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJCb3R0b21Db250cm9sc0Z1bGxzY3JlZW5CdXR0b25XcmFwcGVyey1tb3otbWFyZ2luLXN0YXJ0OmF1dG87bWFyZ2luLWlubGluZS1zdGFydDphdXRvfS55dEJhZGdlU2hhcGVIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czoycHg7cGFkZGluZzowIDRweH0ueXRCYWRnZVNoYXBlVHlwb2dyYXBoeXtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NTAwfS55dEJhZGdlU2hhcGVJY29ue2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257bWFyZ2luLXJpZ2h0OjJweDtoZWlnaHQ6MTJweDt3aWR0aDoxMnB4fS55dEJhZGdlU2hhcGVOb1RleHR7cGFkZGluZzowIDFweDttaW4taGVpZ2h0OjE4cHh9Lnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2V7Ym9yZGVyLXJhZGl1czo0cHg7cGFkZGluZzoxcHggNHB4fS55dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZSAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6NHB4O2hlaWdodDoxMnB4O3dpZHRoOjEycHh9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlLnl0QmFkZ2VTaGFwZU5vVGV4dCAueXRCYWRnZVNoYXBlSWNvbnttYXJnaW4tcmlnaHQ6MH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2VSZWRlc2lnbntiYWNrZHJvcC1maWx0ZXI6Ymx1cig4cHgpO2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjAgNnB4fS55dEJhZGdlU2hhcGVTdGF0dXNCYWRnZXtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjFweCA0cHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlIC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDo0cHg7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2UueXRCYWRnZVNoYXBlTm9UZXh0IC55dEJhZGdlU2hhcGVJY29ue21hcmdpbi1yaWdodDowfS55dEJhZGdlU2hhcGVUZXh0e2Rpc3BsYXk6YmxvY2s7d2hpdGUtc3BhY2U6bm93cmFwfS55dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvd3tvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3d7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7bWF4LXdpZHRoOjIwY2h9Lnl0QmFkZ2VTaGFwZURlZmF1bHR7XG4gIC8qICFrZWVwICovY29sb3I6IzYwNjA2MDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9Lnl0QmFkZ2VTaGFwZURlZmF1bHQueXRCYWRnZVNoYXBlT3ZlcmxheXtjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVEZWZhdWx0Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojNjA2MDYwO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlTWVkaWF7XG4gIC8qICFrZWVwICovY29sb3I6IzYwNjA2MDtvdXRsaW5lOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7b3V0bGluZS1vZmZzZXQ6LTFweH0ueXRCYWRnZVNoYXBlTWVkaWEueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjA7b3V0bGluZToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZU1lZGlhT3ZlcmxheXtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO291dGxpbmU6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtvdXRsaW5lLW9mZnNldDotMXB4fS55dEJhZGdlU2hhcGVNZWRpYU92ZXJsYXkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7b3V0bGluZToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjMpO291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVByb21vdGVke1xuICAvKiAha2VlcCAqL2NvbG9yOiMwMzAzMDM7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVByb21vdGVkLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojMDMwMzAzO2JhY2tncm91bmQ6bm9uZTtwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJvbW90ZWRJbnZlcnRlZC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOm5vbmU7cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZVRpbWVseXtcbiAgLyogIWtlZXAgKi9jb2xvcjojNjA2MDYwfS55dEJhZGdlU2hhcGVUaW1lbHkgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGltZWx5e3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVUaW1lbHkueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM2MDYwNjB9Lnl0QmFkZ2VTaGFwZVRpbWVseS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGltZWx5Lnl0QmFkZ2VTaGFwZU1vZGVybntwYWRkaW5nLWxlZnQ6MH0ueXRCYWRnZVNoYXBlUHJlbWl1bXtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6I2UxMDAyZH0ueXRCYWRnZVNoYXBlUHJlbWl1bS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVNhbGV7XG4gIC8qICFrZWVwICovY29sb3I6I2MzMDAyN30ueXRCYWRnZVNoYXBlU2FsZSAueXRCYWRnZVNoYXBlSWNvbntjb2xvcjojYzMwMDI3fS55dEJhZGdlU2hhcGVTYWxle3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVTYWxlLnl0QmFkZ2VTaGFwZU1vZGVybiwueXRCYWRnZVNoYXBlU2FsZS55dEJhZGdlU2hhcGVNb2Rlcm4gLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2MzMDAyN30ueXRCYWRnZVNoYXBlU2FsZS55dEJhZGdlU2hhcGVNb2Rlcm57cGFkZGluZy1sZWZ0OjB9Lnl0QmFkZ2VTaGFwZU1lbWJlcnNoaXB7XG4gIC8qICFrZWVwICovY29sb3I6IzEwNzUxNjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4wNSl9Lnl0QmFkZ2VTaGFwZU1lbWJlcnNoaXAueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVDb21tZXJjZXtcbiAgLyogIWtlZXAgKi9jb2xvcjojMTA3NTE2O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjA1KX0ueXRCYWRnZVNoYXBlQ29tbWVyY2UueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiMxMDc1MTY7YmFja2dyb3VuZDpub25lO3BhZGRpbmctbGVmdDowfS55dEJhZGdlU2hhcGVMaXZle1xuICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZUxpdmUueXRCYWRnZVNoYXBlT3ZlcmxheXtjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVMaXZlLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgyMjUsMCw0NSwwLjkpfS55dEJhZGdlU2hhcGVTdGF0dXNOZXd7XG4gIC8qICFrZWVwICovY29sb3I6IzA2NWZkNDtvdXRsaW5lOjFweCBzb2xpZCAjMDY1ZmQ0O291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c05ldy55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzA2NWZkNDtvdXRsaW5lOjFweCBzb2xpZCAjMDY1ZmQ0O291dGxpbmUtb2Zmc2V0Oi0xcHh9Lnl0QmFkZ2VTaGFwZVN0YXR1c0NvbXBsZXRle1xuICAvKiAha2VlcCAqL2NvbG9yOiMwMDU5MTc7YmFja2dyb3VuZDojZGVmZmRlfS55dEJhZGdlU2hhcGVTdGF0dXNDb21wbGV0ZS55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAwNTkxNztiYWNrZ3JvdW5kOiNkZWZmZGV9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmd7XG4gIC8qICFrZWVwICovY29sb3I6IzdjMjkwMDtiYWNrZ3JvdW5kOiNmZmVhY2Z9Lnl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmcueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiM3YzI5MDA7YmFja2dyb3VuZDojZmZlYWNmfS55dEJhZGdlU2hhcGVTdGF0dXNFcnJvcntcbiAgLyogIWtlZXAgKi9jb2xvcjojOTkwNDEyO2JhY2tncm91bmQ6cmdiYSgyNTUsODUsMTE5LDAuMil9Lnl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yLnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojOTkwNDEyO2JhY2tncm91bmQ6cmdiYSgyNTUsODUsMTE5LDAuMil9Lnl0QmFkZ2VTaGFwZVN0YXR1c0RlZmF1bHR7XG4gIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4xKX0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdHtcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxEZWZhdWx0Lnl0QmFkZ2VTaGFwZU1vZGVybntjb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxMaXZle1xuICAvKiAha2VlcCAqL2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmUueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDIyNSwwLDQ1LDAuOSl9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWx7XG4gIC8qICFrZWVwICovY29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwgLnl0QmFkZ2VTaGFwZUljb257Y29sb3I6I2UxMDAyZH0ueXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbC55dEJhZGdlU2hhcGVNb2Rlcm57Y29sb3I6IzAzMDMwMztiYWNrZ3JvdW5kOiNmZmZ9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwueXRCYWRnZVNoYXBlTW9kZXJuIC55dEJhZGdlU2hhcGVJY29ue2NvbG9yOiNlMTAwMmR9Lnl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbntcbiAgLyogIWtlZXAgKi9jb2xvcjojZmZmO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpfS55dEJhZGdlU2hhcGVUaHVtYm5haWxEZWZhdWx0UmVkZXNpZ24ueXRCYWRnZVNoYXBlTW9kZXJue2NvbG9yOiNmZmY7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyl9Lnl0QmFkZ2VTaGFwZUFke2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojMDMwMzAzO3doaXRlLXNwYWNlOm5vd3JhcDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7Zm9udC1zaXplOnVuc2V0O2xpbmUtaGVpZ2h0OnVuc2V0fS55dEJhZGdlU2hhcGVBZC55dEJhZGdlU2hhcGVBZHNJbmNsdWRlRG90OmFmdGVye2NvbnRlbnQ6XCLCt1wiOy1tb3otcGFkZGluZy1lbmQ6NHB4O3BhZGRpbmctaW5saW5lLWVuZDo0cHg7LW1vei1wYWRkaW5nLXN0YXJ0OjRweDtwYWRkaW5nLWlubGluZS1zdGFydDo0cHh9Lnl0QmFkZ2VTaGFwZUFkLnl0QmFkZ2VTaGFwZU92ZXJsYXl7Y29sb3I6I2ZmZn0ueXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo1MDB9Lnl0QmFkZ2VTaGFwZUxhcmdlRm9udEFkQmFkZ2V7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMH0ueXRCYWRnZVNoYXBlSXNFbXB0eXtkaXNwbGF5Om5vbmV9LmFjY291bnRJbmZvSG9zdHtkaXNwbGF5OmJsb2NrfS5saWtlLWJ1dHRvbi1yZW5kZXJlciBbYXJpYS1wcmVzc2VkPXRydWVdIGMzLWljb257Y29sb3I6IzA2NWZkNH0ubGlrZS1idXR0b24tcmVuZGVyZXIgW2FyaWEtcHJlc3NlZD10cnVlXSBjMy1pY29uIHBhdGh7ZmlsbDojM2VhNmZmO3N0cm9rZTojZmZmO3N0cm9rZS13aWR0aDoxcHh9eXRtLW1lbnUtcmVuZGVyZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9LmJvdHRvbS1zaGVldC1tZWRpYS1tZW51LWl0ZW0geXRtLW1lbnUtaXRlbXtwYWRkaW5nOjA7aGVpZ2h0OjQ4cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSAubWVudS1pdGVtLWJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjA7bWFyZ2luLWxlZnQ6MTJweDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNnJlbTtsaW5lLWhlaWdodDoyLjJyZW07Zm9udC13ZWlnaHQ6NDAwfS5ib3R0b20tc2hlZXQtbWVkaWEtbWVudS1pdGVtIGMzLWljb257bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVye21hcmdpbjo1cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPXNtYWxsXXttYXJnaW46MnB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlclt0aHVtYm5haWwtc2l6ZT1tZWRpdW1de21hcmdpbjo0cHh9eXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyW3RodW1ibmFpbC1zaXplPWxhcmdlXXttYXJnaW46OHB4fXl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPUxJVkVdLHl0bS10aHVtYm5haWwtb3ZlcmxheS10aW1lLXN0YXR1cy1yZW5kZXJlcltkYXRhLXN0eWxlPVNIT1JUU117dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWltZy5jdXN0b20tdGh1bWJuYWlsLnZpZGVvLXRodW1ibmFpbC1pbWd7b2JqZWN0LWZpdDpzY2FsZS1kb3duO21heC1oZWlnaHQ6MTAwJTttYXgtd2lkdGg6MTAwJX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdle3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7b3ZlcmZsb3c6aGlkZGVufS52aWRlby10aHVtYm5haWwtaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxMDAlO21hcmdpbjphdXRvfS52aWRlby10aHVtYm5haWwtYmd7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMSl9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctYm90dG9tOjU2LjI1JX0udmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjE2MHB4O2hlaWdodDo5MHB4fS5jdXN0b20tdGh1bWJuYWlsLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE4MHB4O2hlaWdodDoxODBweH0uY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciAuY3VzdG9tLXRodW1ibmFpbHtvcGFjaXR5Oi43O2ZpbHRlcjpibHVyKDMwcHgpfS52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZHtib3JkZXItcmFkaXVzOjhweH0ub3JpZ2luYWwtYXNwZWN0LXJhdGlvIGltZ3toZWlnaHQ6MTAwJTt3aWR0aDphdXRvfS5zdGFja2Vke2JvcmRlci1yYWRpdXM6MTJweDtib3JkZXItdG9wOjFweCBzb2xpZCAjZmZmfUBtZWRpYSAobWF4LXdpZHRoOjU0OXB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KXsuYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7cGFkZGluZy1ib3R0b206MTI1JX0uYmlnLXNob3J0cy1zaW5nbGV0b24gLnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UgaW1ne29iamVjdC1maXQ6Y292ZXI7d2lkdGg6MTAwJX19QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1pdGVtLXNlY3Rpb24tcmVuZGVyZXI6Zmlyc3Qtb2YtdHlwZSAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZXttYXJnaW4tdG9wOjB9LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2U6d2hlcmUoLm5vdC1yZW5kZXJlZC1mcm9tLXJpY2gtaXRlbSl7bWFyZ2luOi0xM3B4IC0xMnB4IDA7cGFkZGluZy10b3A6MTNweH0uc3R5bGUtcmVjb21tZW5kYXRpb25zLWluLXBvcnRyYWl0IC52aWRlby10aHVtYm5haWwtY29udGFpbmVyLWxhcmdlLnJvdW5kZWQtdGh1bWJuYWlse2JvcmRlci1yYWRpdXM6MTJweDttYXJnaW46MDtwYWRkaW5nLXRvcDowfX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2V7bWFyZ2luOjA7cGFkZGluZy10b3A6MH19LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2UudGh1bWJuYWlsLWNvdmVyLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czoxMnB4fUBtZWRpYSAobWluLXdpZHRoOjU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOnBvcnRyYWl0KSwobWluLXdpZHRoOjkzMXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnZpZGVvLXRodW1ibmFpbC1jb250YWluZXItbGFyZ2Uucm91bmRlZC10aHVtYm5haWx7Ym9yZGVyLXJhZGl1czoxMnB4fX1AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86MTMvOSkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6OTMxcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7LnN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbCxwbGF5ZXItZnVsbHNjcmVlbi1jb250cm9scyAudmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1sYXJnZS5yb3VuZGVkLXRodW1ibmFpbHtib3JkZXItcmFkaXVzOjEycHh9fS52aWRlby10aHVtYm5haWwtZmlsbC1wYXJlbnR7bWFyZ2luOjA7cGFkZGluZy10b3A6MDtib3JkZXItcmFkaXVzOjEycHh9Lnl0U3BlY0RpYWxvZ0xheW91dEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JhY2tncm91bmQtY29sb3I6I2ZmZn0ueXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZ3twYWRkaW5nLXRvcDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29ue21hcmdpbjoyNHB4IDI0cHggMH0ueXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWF7bWFyZ2luLWJvdHRvbToyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dEFzc2V0e3dpZHRoOjEwMCU7bWluLWhlaWdodDowO2ZsZXgtc2hyaW5rOjQ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVufS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW17d2lkdGg6MTAwJTtmbGV4LXNocmluazowO29iamVjdC1maXQ6Y292ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lcntwYWRkaW5nOjI0cHggMjRweCA4cHh9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtc2hyaW5rOjB9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXR7cGFkZGluZy1ib3R0b206MjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7Y29sb3I6IzAzMDMwMzstbW96LWJveC1mbGV4OjE7ZmxleDoxO21hcmdpbi1ib3R0b206MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMDtvdmVyZmxvdzpoaWRkZW47ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjUuNnJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7bWF4LWhlaWdodDo1LjZyZW19Lnl0U3BlY0RpYWxvZ0xheW91dExlYWRpbmdBY3Rpb25IZWFkZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tcmlnaHQ6MTJweH0ueXRTcGVjRGlhbG9nTGF5b3V0VHJhaWxpbmdBY3Rpb25IZWFkZXJ7Y29sb3I6IzAzMDMwMzttYXJnaW4tbGVmdDphdXRvfS55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50e2NvbG9yOiMwMzAzMDM7b3ZlcmZsb3cteTphdXRvfS55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50SW5uZXJ7b3ZlcmZsb3c6dmlzaWJsZTtwYWRkaW5nOjAgMjRweH0ueXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVye3BhZGRpbmctdG9wOjE2cHg7cGFkZGluZy1sZWZ0OjI0cHg7cGFkZGluZy1yaWdodDoyNHB4fS55dFNwZWNEaWFsb2dMYXlvdXRGb290ZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWZsb3c6cm93IHdyYXAtcmV2ZXJzZTtmbGV4LXNocmluazowO21hcmdpbjotOHB4IDAgMCAtOHB4fS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lRW5key1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDplbmR9Lnl0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjhweCAwIDAgOHB4fS55dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkey1tb3otYm94LWZsZXg6MTtmbGV4OjF9Lnl0U3BlY0RpYWxvZ0xheW91dENlbnRlckFsaWduIC55dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50LC55dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbiAueXRTcGVjRGlhbG9nTGF5b3V0VGl0bGV7dGV4dC1hbGlnbjpjZW50ZXJ9Lnl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNTdGFja2Vkey1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1AbWVkaWEgKG1heC13aWR0aDozMzBweCl7Lnl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmV7bWluLXdpZHRoOmNhbGMoMTAwdncgLSA5NnB4KTttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMHZofX1AbWVkaWEgKG1pbi13aWR0aDozMzFweCkgYW5kIChtYXgtd2lkdGg6NTI3cHgpey55dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZle21pbi13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWluLXdpZHRoOm1pbigzMjBweCwxMDB2dyAtIDk2cHgpO21heC13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOm1pbig0MDBweCwxMDB2dyAtIDk2cHgpO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpfX1AbWVkaWEgKG1pbi13aWR0aDo1MjhweCl7Lnl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmV7bWluLXdpZHRoOjMyMHB4O21heC13aWR0aDpjYWxjKDEwMHZ3IC0gOTZweCk7bWF4LXdpZHRoOm1pbig1NjBweCwxMDB2dyAtIDk2cHgpO21heC1oZWlnaHQ6Y2FsYygxMDB2aCAtIDk2cHgpO21heC1oZWlnaHQ6bWluKDU2MHB4LDEwMHZoIC0gOTZweCl9fS55dFNwZWNEaWFsb2dMYXlvdXRGdWxsc2NyZWVue2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRhaW5lciwueXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbiAueXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudHtkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW4gLnl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnRJbm5lcntkaXNwbGF5OmJsb2NrO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cGFkZGluZzowfUBtZWRpYSAobWluLXdpZHRoOjUyOHB4KXsueXRTcGVjRGlhbG9nTGF5b3V0RXh0ZW5kZWRNYXhIZWlnaHR7bWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gOTZweCl9fS55dFNwZWNEaWFsb2dMYXlvdXRBc3NldEluc2V0IC55dFNwZWNEaWFsb2dMYXlvdXRBc3NldHt3aWR0aDphdXRvO3BhZGRpbmc6MCAyNHB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldCAueXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJdGVte2JvcmRlci1yYWRpdXM6MTJweH0ueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXJ9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEltYWdle2JvcmRlci1yYWRpdXM6NnB4O3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7ZGlzcGxheTpibG9ja30ueXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0SWNvbntib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czo2cHg7cGFkZGluZzo2cHh9Lnl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdFtkYXRhLWJhY2tncm91bmQtY29sb3I9VEhFTUVfQVRUUklCVVRFX09WRVJMQVlfQkFDS0dST1VORF9NRURJVU1dIC55dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJY29ue2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjYpfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0Pip7bWFyZ2luLXRvcDoxNnB4fS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD50b2dnbGUtYnV0dG9uLXZpZXctbW9kZWx7bWFyZ2luLXRvcDowfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZXt3aWR0aDo1NnB4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlIC55dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVse2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MTZweDttYXJnaW46MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGUgLnl0U3BlY0J1dHRvblNoYXBlTmV4dEhvc3Q6Zm9jdXN7YmFja2dyb3VuZDp1bnNldH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGUgYnV0dG9uOm5vdChbYXJpYS1wcmVzc2VkPXRydWVdKSBjMy1pY29ue2ZpbHRlcjpkcm9wLXNoYWRvdygwIDAgMnB4IHJnYmEoMCwwLDAsMC4zKSl9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjRweDtwYWRkaW5nLWJvdHRvbTo4cHg7bWFyZ2luOjB9Lnl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0RGVza3RvcHstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdERlc2t0b3AgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjJyZW07bGluZS1oZWlnaHQ6MS44cmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wQWN0aW9uQnV0dG9ue3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206OHB4O21hcmdpbjowfUBtZWRpYSAobWF4LWhlaWdodDo0MTFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey55dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdD4qe21hcmdpbi10b3A6MH0ueXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QgLnl0U3BlY0J1dHRvblNoYXBlV2l0aExhYmVsTGFiZWx7ZGlzcGxheTpub25lfX0ueXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydDttYXgtd2lkdGg6NDgwcHh9Lnl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW06bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6NHB4O21heC13aWR0aDoxMDAlfS55dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtOm5vdCg6bGFzdC1jaGlsZCl7cGFkZGluZy1ib3R0b206NHB4O21heC13aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS55dEFuaW1hdGVkQWN0aW9uTG90dGlle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZHt3aWR0aDoxMDAlfS55dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZENvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlfS5wbGF5ZXItc2V0dGluZ3MtaGVhZGVye21hcmdpbi1ib3R0b206MjBweH0ucGxheWVyLWNhcHRpb24tc2V0dGluZ3MsLnBsYXllci1xdWFsaXR5LXNldHRpbmdzLC5wbGF5ZXItc3BlZWQtc2V0dGluZ3N7d2lkdGg6MTAwJTttYXJnaW46NHB4IDAgMTJweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mb3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMzstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7bWluLWhlaWdodDo4LjRyZW07d2lkdGg6MTAwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xKTtwYWRkaW5nOjhweH0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojNjA2MDYwO29wYWNpdHk6MX0uY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbzo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LmNvcHlEZWJ1Z0luZm9QbGF5ZXJEZWJ1Z0luZm97aGVpZ2h0OjQwdmg7ZGlyZWN0aW9uOmx0cn0uc3RhYmxlVm9sdW1lVG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dFBsYXllckNvbnRyb2xzQ29udGFpbmVySG9zdHstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmV9Lnl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZHtwb3NpdGlvbjpmaXhlZDtpbnNldDowO3BhZGRpbmctYm90dG9tOjB9Lnl0U2hvcnRzRW1iZWRzSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLHJnYmEoMCwwLDAsLjQpIDAscmdiYSgwLDAsMCwwKSAxNjBweCksbGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsMCkgOTZweCl9Lnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS1hY3Rpb25zLC55dFNob3J0c0VtYmVkc1JlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXIgLnJlZWwtcGxheWVyLW92ZXJsYXktbWV0YWRhdGEsLnl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciAucmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFye3otaW5kZXg6Mn0ueXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6Mjt3aWR0aDoxMDAlfS55dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjQ4cHh9Lnl0bUN1ZWRPdmVybGF5SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3otaW5kZXg6MTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS55dG1DdWVkT3ZlcmxheUhpZGRlbiwueXRtQ3VlZE92ZXJsYXlIb3N0LmhpZGRlbnt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0zNnB4O21hcmdpbi10b3A6LTM2cHg7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcn0ueXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uLnNob3J0cywueXRtQ3VlZE92ZXJsYXlTaG9ydHN7bWFyZ2luLWxlZnQ6LTUwcHg7bWFyZ2luLXRvcDotNTBweDt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHh9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb257d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtjb2xvcjojZjAzfUBtZWRpYSAoZm9yY2VkLWNvbG9yczphY3RpdmUpey55dG1DdWVkT3ZlcmxheVBsYXlCdXR0b25JY29ue2NvbG9yOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpmaXJzdC1jaGlsZHtmaWxsOkJ1dHRvblRleHR9Lnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gLmxvZ28tYXJyb3csLnl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24gcGF0aDpudGgtY2hpbGQoMil7ZmlsbDpDYW52YXN9fS55dG1DdWVkT3ZlcmxheUdyYWRpZW50e3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7aGVpZ2h0OjdyZW19Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7aGVpZ2h0OjNweH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJ7aGVpZ2h0OjNweDttYXJnaW46MCAxcHg7cG9zaXRpb246cmVsYXRpdmV9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJJc1NjcnViYmluZ3ttYXJnaW46MCAycHh9Lnl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyOmZpcnN0LW9mLXR5cGV7bWFyZ2luLWxlZnQ6MH0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXI6bGFzdC1vZi10eXBle21hcmdpbi1yaWdodDowfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbHtoZWlnaHQ6M3B4O3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyTG9hZGVke2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMyk7aGVpZ2h0OjNweDtwb3NpdGlvbjphYnNvbHV0ZX0ueXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcnt0cmFuc2Zvcm06c2NhbGVZKDIpO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmV7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjNweDt3aWR0aDoxMDAlfS55dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lUm91bmRlZHtib3JkZXItcmFkaXVzOjEuNXB4O292ZXJmbG93OmhpZGRlbn0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjY7d2lkdGg6MTAwJX0ueXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO2JvdHRvbTowO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCNmMDMgODAlLCNmZjI3OTEpfS55dEhlYXRTZWVrZXJIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwuNCl9Lnl0SGVhdFNlZWtlckhpZ2hDb250cmFzdHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDAsMCwwLDApLDkwJSxyZ2JhKDAsMCwwLC42KSk7ZmlsbDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3R7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtoZWlnaHQ6MTAwJTtkaXJlY3Rpb246bHRyfS55dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5e3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0SGlkZGVue29wYWNpdHk6MH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RMb3dlclBsYXllcntib3R0b206MDtsZWZ0OjMwcHg7cmlnaHQ6MzBweDtoZWlnaHQ6NDRweH0ueXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdle2hlaWdodDoyOHB4O2xlZnQ6MDtyaWdodDowO2JvdHRvbTotN3B4fS55dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0e2hlaWdodDoyOHB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS55dFBsYXllclByb2dyZXNzQmFySG9zdEN1c3RvbXtwb3NpdGlvbjpyZWxhdGl2ZX0ueXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmR7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwuNSkpO29wYWNpdHk6MTt0cmFuc2l0aW9uOm9wYWNpdHkgLjFzIGN1YmljLWJlemllciguMiwwLC42LDEpfS55dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGV7b3BhY2l0eTowfS55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdle2hlaWdodDowO3BhZGRpbmc6MTkuNXB4IDAgOC41cHh9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO2JvdHRvbToxLjVweH0ueXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXJJbnNldHtib3R0b206MTQuNXB4fS55dFBsYXllclByb2dyZXNzQmFyUHJvZ3Jlc3NCYXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0e3BhZGRpbmc6MTZweCAwIDEycHg7d2lkdGg6Y2FsYygxMDAlIC0gMjRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNpdGlvbjp3aWR0aCAuMXMgY3ViaWMtYmV6aWVyKC4wNSwwLDAsMSksdHJhbnNmb3JtIC4xcyBjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWR7cGFkZGluZy10b3A6MDtwYWRkaW5nLWJvdHRvbTowO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTJweCl9Lnl0UHJvZ3Jlc3NCYXJMaW5lSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5le3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDozcHg7d2lkdGg6MTAwJX0ueXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVke2JvcmRlci1yYWRpdXM6MS41cHg7b3ZlcmZsb3c6aGlkZGVufS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0e2hlaWdodDo1cHg7Ym9yZGVyLXJhZGl1czoyLjVweDtvdmVyZmxvdzpoaWRkZW59Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi4zO3dpZHRoOjEwMCV9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMb2FkZWR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO29wYWNpdHk6LjZ9Lnl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJIb3ZlcmVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5Oi43fS55dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2ZvcmNlZC1jb2xvci1hZGp1c3Q6bm9uZTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZjAzIDgwJSwjZmYyNzkxKX0ueXRQcm9ncmVzc0JhclBsYXloZWFkSG9zdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90e2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo1MCU7Zm9yY2VkLWNvbG9yLWFkanVzdDpub25lO2JhY2tncm91bmQtY29sb3I6I2YwMzt0cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2V9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZXtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90SGlkZXt0cmFuc2Zvcm06c2NhbGUoMCl9Lnl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b217aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtwb2ludGVyLWV2ZW50czpub25lfS55dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2V7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUhpZGV7dHJhbnNmb3JtOnNjYWxlKDApfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo4MHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZHt3aWR0aDoxMDAlO2xlZnQ6NTAlfS55dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0c3ttYXJnaW4tYm90dG9tOjQ4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXJ7Ym90dG9tOmNhbGMoNTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSl9Lnl0UGxheWVyU3Rvcnlib2FyZEhvc3REZXNrdG9wU2hvcnRze21hcmdpbi1ib3R0b206MTZweH0ueXRQbGF5ZXJTdG9yeWJvYXJkSG9zdElzRHJhZ2dpbmd7bWFyZ2luLWJvdHRvbTo4MHB4fS55dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUlue2FuaW1hdGlvbjpmYWRlLWluIC4xcyBjdWJpYy1iZXppZXIoLjIsMCwuNiwxKX0ueXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjJweCBzb2xpZCB3aGl0ZTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2JhY2tncm91bmQ6IzAwMH0ueXRQbGF5ZXJTdG9yeWJvYXJkQmlnYm9hcmRJbWFnZVdyYXBwZXJ7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXB7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC43NSl9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3tmb250LWZhbWlseTpZb3VUdWJlIFNhbnMsUm9ib3RvLHNhbnMtc2VyaWY7Zm9udC1zaXplOjIuOHJlbTtsaW5lLWhlaWdodDozLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dFBsYXllclN0b3J5Ym9hcmRUaW1lc3RhbXBTaG9ydHN7Zm9udC1mYW1pbHk6WW91VHViZSBTYW5zLFJvYm90byxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0c3twYWRkaW5nLXRvcDo4cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmd7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjZyZW07bGluZS1oZWlnaHQ6Mi4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6Y2FsYygxLjZyZW0qdmFyKC0tc3Rvcnlib2FyZC1zY2FsZSwgMSkpO2xpbmUtaGVpZ2h0OmNhbGMoMi4ycmVtKnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKX0ueXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGF7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOmNhbGMoLTZweCp2YXIoLS1zdG9yeWJvYXJkLXNjYWxlLCAxKSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDEwMCUpO2xlZnQ6NTAlO2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTtmb250LXNpemU6Y2FsYygxMnB4KnZhcigtLXN0b3J5Ym9hcmQtc2NhbGUsIDEpKX0ueXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGFCaWdib2FyZHt3aWR0aDphdXRvO2NvbG9yOiNmZmY7bWF4LXdpZHRoOjEwMCU7Ym90dG9tOjZweDtib3JkZXItcmFkaXVzOjE2cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7cGFkZGluZzo4cHggMTZweDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWNvbHVtbi1nYXA6MXJlbTtjb2x1bW4tZ2FwOjFyZW07bWluLXdpZHRoOjB9Lnl0UGxheWVyU3Rvcnlib2FyZFRpdGxle21heC13aWR0aDoxMDAlO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDttYXJnaW4tYm90dG9tOjRweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFBsYXllclN0b3J5Ym9hcmRUaXRsZUJpZ2JvYXJke21hcmdpbi1ib3R0b206MDtmb250LXdlaWdodDo3MDB9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbldyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbntoZWlnaHQ6MTRweDt3aWR0aDoxNHB4O21hcmdpbi1yaWdodDo0cHh9Lnl0UGxheWVyU3Rvcnlib2FyZFN0b3J5Ym9hcmRJbWFnZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlfUBrZXlmcmFtZXMgZmFkZS1pbnswJXtvcGFjaXR5OjB9dG97b3BhY2l0eToxfX0ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjA7Ym90dG9tOjA7aGVpZ2h0OjNweDtkaXJlY3Rpb246bHRyO3RyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LG1hcmdpbi1sZWZ0LG1hcmdpbi1yaWdodCxwYWRkaW5nLHZpc2liaWxpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzfS55dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3RJc1NjcnViYmFibGVNb2Rle21hcmdpbi1yaWdodDoxNnB4O21hcmdpbi1sZWZ0OjE2cHg7aGVpZ2h0OjE2cHg7cGFkZGluZy1ib3R0b206MTZweDt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30ueXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SGlkZVByb2dyZXNzQmFye3Zpc2liaWxpdHk6aGlkZGVuO2hlaWdodDowfS55dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0dlc3R1cmVPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDB2aDt3aWR0aDoxMDB2dztpbnNldDowO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0d0F1dG9uYXZUb29sdGlwSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjI1JTt3aWR0aDoxMDAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2NvbG9yOiNmZmZ9Lnl0d1BsYXllclVzZXJFZHVUb29sdGlwSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjAgOHB4O3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBXcmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOi1tb3otbWF4LWNvbnRlbnQ7d2lkdGg6bWF4LWNvbnRlbnQ7bWFyZ2luLXRvcDoxNnB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ei1pbmRleDo2O2JvcmRlci1yYWRpdXM6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtwYWRkaW5nOjdweCAxNnB4O21heC13aWR0aDoxMDAlOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXR3UGxheWVyVXNlckVkdVRvb2x0aXBUb29sdGlwV3JhcHBlcjplbXB0eXtkaXNwbGF5Om5vbmV9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3Q6bm90KC55dHdTcGVlZG1hc3RlclRvb2x0aXBLaWxsc3dpdGNoKXstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6I2ZmZjtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7cmlnaHQ6MH0ueXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWx7dGV4dC1hbGlnbjpqdXN0aWZ5O2ZvbnQtd2VpZ2h0OjUwMDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxOHB4fVtkaXI9cnRsXSAueXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWx7ZGlyZWN0aW9uOnJ0bH0ueXR3U3BlZWRtYXN0ZXJUb29sdGlwSWNvbnttYXJnaW4tbGVmdDo0cHh9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2xlZnQ6MDt0b3A6MDtib3R0b206MDtyaWdodDowO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7bGVmdDowO3RvcDowO2JvdHRvbTowO3JpZ2h0OjA7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNTcGVlZG1hc3Rlckdlc3R1cmVBcmVhe2hlaWdodDoxMDAlO3dpZHRoOjI1JX0ueXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc01lbnVHZXN0dXJlQXJlYXtoZWlnaHQ6MTAwJTt3aWR0aDo1MCV9Lnl0bVZpZGVvQ292ZXJIb3N0e2Rpc3BsYXk6YmxvY2s7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDoxO3RyYW5zaXRpb246dHJhbnNmb3JtIC43czt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHl9Lnl0bVZpZGVvQ292ZXJIb3N0LmVuZGVke3otaW5kZXg6MH0ueXRtVmlkZW9Db3Zlckhvc3QuaGlkZGVue3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MH0ueXRtVmlkZW9Db3ZlclRodW1ibmFpbHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvdmVyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0ZFZvbHVtZUNvbnRyb2xzSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtaGVpZ2h0OjQ4cHh9Lnl0ZFZvbHVtZUNvbnRyb2xzRGlzYWJsZVNsaWRlcnt3aWR0aDo0OHB4fS55dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MHB4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tb3otYm94LWZsZXg6MTtmbGV4OjEgMSBhdXRvO21heC13aWR0aDoxNjhweH0ueXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lclZlcnRpY2Fse21heC13aWR0aDo0OHB4O3dpZHRoOjQ4cHg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7Z2FwOjYwcHg7aGVpZ2h0Oi1tb3otZml0LWNvbnRlbnQ7aGVpZ2h0OmZpdC1jb250ZW50O3BvaW50ZXItZXZlbnRzOm5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJFeHBhbmRlZHtwb2ludGVyLWV2ZW50czphbGx9Lnl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXItcmFkaXVzOjUwcHh9Lnl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b257ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZW5kO3otaW5kZXg6MTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7cGFkZGluZzoxMnB4O2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmFsbDtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MDtvcGFjaXR5OjA7b3ZlcmZsb3c6aGlkZGVuO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246dmlzaWJpbGl0eSAuMTJzIGxpbmVhcixvcGFjaXR5IC4xMnMgbGluZWFyLHdpZHRoIC4xMnMgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckV4cGFuZGVke3Zpc2liaWxpdHk6dmlzaWJsZTt3aWR0aDoxMDAlO29wYWNpdHk6MTt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggLjNzIGxpbmVhcjt6LWluZGV4OjF9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyV2l0aFNjcmlte3BhZGRpbmctcmlnaHQ6MTJweH0ueXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXItcmFkaXVzOjUwcHg7aGVpZ2h0OjQ4cHg7bWluLWhlaWdodDo0OHB4O3BhZGRpbmc6MCAxMnB4O21hcmdpbjowO3RyYW5zaXRpb246dmlzaWJpbGl0eSAuM3MgbGluZWFyLG9wYWNpdHkgLjNzIGxpbmVhcix3aWR0aCAwcyBsaW5lYXIgLjNzLG1hcmdpbiAuM3MgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRG93bnt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9Lnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxFeHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNDAsNDAsNDAsMC42KTttYXJnaW4tdG9wOjhweDt3aWR0aDoxMzNweDt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzIGxpbmVhcixvcGFjaXR5IC4zcyBsaW5lYXIsd2lkdGggMHMgbGluZWFyLG1hcmdpbiAuM3MgbGluZWFyfS55dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckRpc2FibGVTbGlkZXJ7ZGlzcGxheTpub25lfS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcnstLWdyYWRpZW50LXBlcmNlbnQ6MDstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7Ym9yZGVyOm5vbmU7bWFyZ2luLWJvdHRvbToxcHg7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpibG9jazttaW4td2lkdGg6MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cGFkZGluZzo4cHggMDtmb3JjZWQtY29sb3ItYWRqdXN0Om5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDI1NSwyNTUsMjU1LDAuMykgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgyNTUsMjU1LDI1NSwwLjMpIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10cmFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmZmIDAsI2ZmZiB2YXIoLS1ncmFkaWVudC1wZXJjZW50KSxyZ2JhKDAsMCwwLDAuMSkgdmFyKC0tZ3JhZGllbnQtcGVyY2VudCkscmdiYSgwLDAsMCwwLjEpIDEwMCUpO2hlaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi10b3A6LTYuNXB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O2JhY2tncm91bmQtY29sb3I6d2hpdGU7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOm5vbmV9Lnl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3toZWlnaHQ6MnB4fS55dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlcjo6LW1vei1yYW5nZS10cmFja3toZWlnaHQ6MnB4fS55dGRWb2x1bWVDb250cm9sc011dGVJY29ue2NvbG9yOndoaXRlfS55dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbXtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3otaW5kZXg6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTt0cmFuc2l0aW9uOndpZHRoIC4yNXMgbGluZWFyO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1yYWRpdXM6NTBweH0ueXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZHt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfS55dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkSG92ZXJTdGF0ZTphZnRlcntjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6NHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czoyOHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjEpO3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGgsYmFja2dyb3VuZC1jb2xvcn0ueXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51Q2lyY2xlQnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEJ1dHRvbntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOnJvdzstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2hlaWdodDo0OHB4O2JvcmRlci1yYWRpdXM6MjRweDtwYWRkaW5nLWxlZnQ6MTJweDtwYWRkaW5nLXJpZ2h0OjEycHg7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7Ym9yZGVyOm5vbmU7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24gYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsQnV0dG9uIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbHtwYWRkaW5nOjZweCA4cHg7Ym9yZGVyLXJhZGl1czoxNnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWx7cGFkZGluZzo2cHggMTJweH0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2t7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLXRvcDotMXB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxIb3N0Om5vdCgueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGl0bGVIaWRkZW4pIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxTdGFja3ttYXJnaW4tbGVmdDo4cHh9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlse2hlaWdodDoycHg7bWFyZ2luLWJvdHRvbToxcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoycHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MnB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlse3dpZHRoOjEwcHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMyl9Lnl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWx7d2lkdGg6MjBweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MzZweDtoZWlnaHQ6MjBweDtib3JkZXI6MnB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6OHB4O292ZXJmbG93OmhpZGRlbn0ueXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsU2luZ2xlVGh1bWJuYWlsIC55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXJ7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDtib3JkZXI6bm9uZTtvdXRsaW5lOjJweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6OHB4fS55dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWx7ZGlzcGxheTpibG9ja30ueXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0e21hcmdpbi1yaWdodDoxMnB4fXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnN7bWFyZ2luLXJpZ2h0OjEycHh9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLXRleHR7ZGlzcGxheTpub25lfXl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMgLmJ1dHRvbi1yZW5kZXJlcnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21pbi13aWR0aDphdXRvO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyk7Ym9yZGVyLXJhZGl1czo1MCU7bWFyZ2luOjB9eXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9ucyAuYnV0dG9uLXJlbmRlcmVyLWljb257d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0uZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMTVweDtib3R0b206Y2FsYyh2YXIoLS1jb250cm9scy1oZWlnaHQpKi0xKTtsZWZ0OjA7cmlnaHQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6dmFyKC0tY29udHJvbHMtaGVpZ2h0KTt6LWluZGV4OjI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmc6MTJweDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZ1bGxzY3JlZW4tY29udHJvbHMtdmlkZW8tdGl0bGV7Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi1jb250cm9scy5leHBhbmRlZHtib3R0b206MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcnstbW96LWJveC1mbGV4OjE7ZmxleDoxO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O292ZXJmbG93LXg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtzY3JvbGxiYXItd2lkdGg6bm9uZX0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfUBtZWRpYSAocG9pbnRlcjpmaW5lKXsuZnVsbHNjcmVlbi1jb250cm9sc3stLWNvbnRyb2xzLWhlaWdodDoyMjhweH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcntzY3JvbGxiYXItd2lkdGg6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6YXV0bztvdmVyZmxvdy15OmF1dG99LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb25zLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOmNvbnRlbnQtYm94O2JhY2tncm91bmQtY29sb3I6IzYwNjA2MH0uZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOTA5MDkwfS5mdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhcntkaXNwbGF5OmJsb2NrfX0uZnVsbHNjcmVlbi1idXR0b25zLXdyYXBwZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjQ0cHh9LmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweH0udG9wLWZ1bGxzY3JlZW4tY29udHJvbHN7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS5mdWxsc2NyZWVuLWNsb3NlLWJ1dHRvbi13cmFwcGVye21hcmdpbi10b3A6LThweDttYXJnaW4tbGVmdDphdXRvfS5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxMnB4O2hlaWdodDo0OHB4O2xlZnQ6MjRweDtyaWdodDoyNHB4O2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7ei1pbmRleDoyfS5hY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtib3JkZXItcmFkaXVzOjQ4cHg7cGFkZGluZzo0cHggMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4zKTt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9LmFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyPjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDo4cHh9LmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUsLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUgLnl0QXR0cmlidXRlZFN0cmluZ0hvc3QsLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb257Y29sb3I6I2ZmZn0uZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlcnttYXJnaW4tbGVmdDphdXRvO2hlaWdodDoxMDAlfS5mdWxsc2NyZWVuLW1vcmUtdmlkZW9zLWVuZHBvaW50e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4fS5zdGFja2VkLXZpZGVvcy13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Mjt3aWR0aDo2NHB4O2hlaWdodDoxMDAlfS5zdGFja2VkLXZpZGVvLXByZXZpZXd7d2lkdGg6NjRweDtoZWlnaHQ6MzZweDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBjZW50ZXI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZDpibGFjaztib3JkZXI6MXB4IHNvbGlkIHdoaXRlO2JvcmRlci1yYWRpdXM6M3B4O292ZXJmbG93OmhpZGRlbjstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnN0YWNrZWQtdmlkZW8tcHJldmlldyAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0uc3RhY2tlZC12aWRlby1wcmV2aWV3OmZpcnN0LWNoaWxke3otaW5kZXg6M30uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgyKXt6LWluZGV4OjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCkgc2NhbGUoLjg3NSl9LnN0YWNrZWQtdmlkZW8tcHJldmlldzpudGgtY2hpbGQoMikgLnN0YWNrZWQtdmlkZW8tcHJldmlldy1pbWFnZXtvcGFjaXR5Oi43NX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKXt6LWluZGV4OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCkgc2NhbGUoLjc1KX0uc3RhY2tlZC12aWRlby1wcmV2aWV3Om50aC1jaGlsZCgzKSAuc3RhY2tlZC12aWRlby1wcmV2aWV3LWltYWdle29wYWNpdHk6LjV9Lm1vcmUtdmlkZW9zLW1lc3NhZ2V7bWFyZ2luLXJpZ2h0OjEycHg7dGV4dC1hbGlnbjpyaWdodH0ubW9yZS12aWRlb3MtbWVzc2FnZS10aXRsZXtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxNnB4fS5tb3JlLXZpZGVvcy1tZXNzYWdlLXN1YnRpdGxle2ZvbnQtc2l6ZToxMHB4O2xpbmUtaGVpZ2h0OjE0cHg7b3BhY2l0eTouN30ucXVpY2stYWN0aW9ucy13cmFwcGVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjEwMCU7bWFyZ2luLWxlZnQ6YXV0b30ucXVpY2stYWN0aW9ucy1iYXItYnV0dG9ucy13cmFwcGVye3BhZGRpbmctbGVmdDoxMnB4fS53YXRjaC1vbi15b3V0dWJlLWJ1dHRvbi13cmFwcGVye2RpcmVjdGlvbjpsdHJ9QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsud2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciAueXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdHtoZWlnaHQ6NDBweDtwYWRkaW5nOjAgMjBweH19LndhdGNoLW9uLXlvdXR1YmUtYnV0dG9ue3BhZGRpbmctbGVmdDo0cHh9Lm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIsLm5vLWxhYmVsLWV4cCB5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyLmNpcmNsZS1idXR0b25zLC5uby1sYWJlbC1leHA+eXRtLWJ1dHRvbi1yZW5kZXJlci5jaXJjbGUtYnV0dG9uc3ttYXJnaW4tcmlnaHQ6OHB4fVtkaXI9cnRsXSAubm8tbGFiZWwtZXhwIHl0bS1zbGltLW1ldGFkYXRhLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIuY2lyY2xlLWJ1dHRvbnMubGlrZS1idXR0b24tbm8tbGFiZWwtZXhwe2RpcmVjdGlvbjpydGx9QG1lZGlhIChtYXgtd2lkdGg6NTQ5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51LC5mcy13YXRjaC1zeXN0ZW06bm90KC5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbik6bm90KC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQpIC5mdWxsc2NyZWVuLWNvbnRyb2xze2Rpc3BsYXk6bm9uZX19eXRtLWN1c3RvbS1jb250cm9sIC5pY29uLWJ1dHRvbntoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6MTJweH1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpe3l0bS1jdXN0b20tY29udHJvbCAuaWNvbi1idXR0b246bm90KC5wbGF5ZXItc2V0dGluZ3MtaWNvbil7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtwYWRkaW5nOjhweH15dG0tY3VzdG9tLWNvbnRyb2wgLmljb24tYnV0dG9uOm5vdCgucGxheWVyLXNldHRpbmdzLWljb24pPmMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH19eXRtLWN1c3RvbS1jb250cm9sIC5hdXRvbmF2LXVzZXItZWR1Y2F0aW9uLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjUlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Y29sb3I6I2ZmZn0uaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC5wbGF5ZXItY29udHJvbHMtYm90dG9tLC5pbnRlcmNlcHQtZWxlbWVudC1jbGlja3MgLnBsYXllci1jb250cm9scy1taWRkbGUsLmludGVyY2VwdC1lbGVtZW50LWNsaWNrcyAucGxheWVyLWNvbnRyb2xzLXRvcCwuaW50ZXJjZXB0LWVsZW1lbnQtY2xpY2tzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntwb2ludGVyLWV2ZW50czpub25lfXl0bS1jdXN0b20tY29udHJvbCAuZmluZS1zY3J1YmJpbmctb3ZlcmxheSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1ib3R0b20gLmZ1bGxzY3JlZW4taWNvbiBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAuaWNvbi1idXR0b24+YzMtaWNvbiBzdmcgcGF0aCx5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uIGMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtcGIgLmljb24tYnV0dG9uPmMzLWljb24seXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIC5pY29uLWJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvblthcmlhLXByZXNzZWQ9ZmFsc2VdPmMzLWljb24gc3ZnIHBhdGgseXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtdG9wIHl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24gYnV0dG9uW2FyaWEtcHJlc3NlZD10cnVlXT5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6I2ZmZn15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9uLmljb24tZGlzYWJsZSBjMy1pY29uIHN2ZyBwYXRoLHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcCB5dG0tY2xvc2VkLWNhcHRpb25pbmctYnV0dG9uIGJ1dHRvbj5jMy1pY29uIHN2ZyBwYXRoe2ZpbGw6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDt6LWluZGV4OjI7cmlnaHQ6MjRweH1AbWVkaWEgKG1heC1oZWlnaHQ6MjIxcHgpe3l0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtyaWdodDowfX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjM4MHB4KXt5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7bGVmdDoxNHB4fX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy10b3AtcmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9W2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQsW2Rpcj1ydGxdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHtkaXJlY3Rpb246cnRsfWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIHl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLXRvcHt0b3A6ZW52KHNhZmUtYXJlYS1pbnNldC10b3ApfXl0bS1jdXN0b20tY29udHJvbCBjMy1vdmVybGF5e3Zpc2liaWxpdHk6dmlzaWJsZX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9ufSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtY29udGVudHtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47dmlzaWJpbGl0eTpoaWRkZW59I3BsYXllci1jb250cm9sLW92ZXJsYXkudXNlLW9wYWNpdHkgLnBsYXllci1jb250cm9scy1jb250ZW50e29wYWNpdHk6MDt2aXNpYmlsaXR5OnVuc2V0fSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt6LWluZGV4OjA7b3BhY2l0eTowfSNwbGF5ZXItY29udHJvbC1vdmVybGF5IC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZDpub3QoLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCl7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsLjYpIDAscmdiYSgwLDAsMCwuNTQpIDI1JSxyZ2JhKDAsMCwwLC4zNikgNTAlLHJnYmEoMCwwLDAsLjE4KSA3NSUscmdiYSgwLDAsMCwwKSk7YmFja2dyb3VuZC1zaXplOjFweCA1MCU7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLmZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KX0jcGxheWVyLWNvbnRyb2wtb3ZlcmxheSAucGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDt0b3A6MDt2aXNpYmlsaXR5OnZpc2libGV9I3BsYXllci1jb250cm9sLW92ZXJsYXkgLnBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWFjdGlvbi1pdGVtc3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjJ9I3BsYXllci1jb250cm9sLW92ZXJsYXkuYW5pbWF0aW9uLWVuYWJsZWR7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjdzO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmFuaW1hdGlvbi1lbmFibGVkIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9I3BsYXllci1jb250cm9sLW92ZXJsYXkucG9pbnRlci1ldmVudHMtb2Zme3BvaW50ZXItZXZlbnRzOm5vbmV9I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWlue3BvaW50ZXItZXZlbnRzOmF1dG99I3BsYXllci1jb250cm9sLW92ZXJsYXkuZmFkZWluIC5wbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZHt6LWluZGV4OjI7b3BhY2l0eToxfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbiAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7dmlzaWJpbGl0eTp2aXNpYmxlfSNwbGF5ZXItY29udHJvbC1vdmVybGF5LmZhZGVpbi51c2Utb3BhY2l0eSAucGxheWVyLWNvbnRyb2xzLWNvbnRlbnR7b3BhY2l0eToxO3Zpc2liaWxpdHk6dW5zZXR9I3BsYXllci1jb250cm9sLW92ZXJsYXkuaGlkZGVue2Rpc3BsYXk6bm9uZX1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXJ7bGVmdDoyNHB4O3JpZ2h0OjI0cHh9Ym9keVtmYXV4LWZ1bGxzY3JlZW49dHJ1ZV0gLmVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206MzBweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC53YXRjaC1wYWdlLXByb2dyZXNzLWJhcntib3R0b206NTBweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTo1MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206ODJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLmZ1bGxzY3JlZW4tYWN0aW9uLW1lbnV7bGVmdDoxMnB4O3JpZ2h0OjEycHh9QG1lZGlhIChtaW4td2lkdGg6MzgwcHgpey5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1hY3Rpb24tbWVudXtsZWZ0OjMwcHg7cmlnaHQ6MzBweH19QG1lZGlhIChtYXgtaGVpZ2h0OjIyMXB4KXsuZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFye2JvdHRvbTozMnB4O3otaW5kZXg6MztoZWlnaHQ6NDBweDtsZWZ0OjEycHg7cmlnaHQ6MTJweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIC55dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lcnstbW96LWJveC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZW5kfS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAud2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIgLnl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhcntwYWRkaW5nLWJvdHRvbToxMnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NThweH0uZnVsbHNjcmVlbi1jb250cm9scy1hbHdheXMtb24gLnBsYXllci1jb250cm9scy1ib3R0b20ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0e2xlZnQ6MDtyaWdodDo0NHB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e2xlZnQ6dW5zZXQ7cmlnaHQ6MDt6LWluZGV4OjR9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5mdWxsc2NyZWVuLWFjdGlvbi1tZW51e2xlZnQ6MnB4O3JpZ2h0OjJweDtib3R0b206MnB4fS5mdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiAuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludHttYXJnaW4tdG9wOjEycHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvLXByZXZpZXcsLmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5zdGFja2VkLXZpZGVvcy13cmFwcGVye3dpZHRoOjQycHg7aGVpZ2h0OjI0cHh9LmZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIC5wbGF5ZXItdGltZS1jaGFwdGVyLXRpdGxle2Rpc3BsYXk6bm9uZX19LnBsYXllci1jb250cm9scy1oaWRle2Rpc3BsYXk6bm9uZX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0e2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QnJhbmRpbmdJY29ue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo2cHg7cmlnaHQ6MTJweDtjb2xvcjojZmZmfVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb257bGVmdDoxMnB4O3JpZ2h0OmF1dG99Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5QmFja2dyb3VuZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjYpfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnV7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuN3M7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGx9Lnl0bU11dGVkQXV0b3BsYXlPdmVybGF5SGlkZUFjdGlvbk1lbnV7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTVweDtyaWdodDoxMnB4fVtkaXI9cnRsXSAueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXJ7bGVmdDoxMnB4O3JpZ2h0OmF1dG99QGtleWZyYW1lcyB5dG0tZXF1YWxpemVyLWFuaW1hdGlvbnswJXt0cmFuc2Zvcm06c2NhbGVZKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGVZKC41KX10b3t0cmFuc2Zvcm06c2NhbGVZKDEpfX0ueXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIgLnl0bS1lcXVhbGl6ZXItYmFyLWxlZnQsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1taWRkbGUsLnl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIC55dG0tZXF1YWxpemVyLWJhci1yaWdodHtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt0cmFuc2Zvcm0tb3JpZ2luOjhweCAxNnB4Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo4cHggMTZweDthbmltYXRpb24tbmFtZTp5dG0tZXF1YWxpemVyLWFuaW1hdGlvbjthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbGVmdHthbmltYXRpb24tZHVyYXRpb246LjVzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItbWlkZGxle2FuaW1hdGlvbi1kdXJhdGlvbjoxLjNzfS55dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUVxdWFsaXplciAueXRtLWVxdWFsaXplci1iYXItcmlnaHR7YW5pbWF0aW9uLWR1cmF0aW9uOi43c30ueXRTaG9ydHNUb3VjaEZlZWRiYWNrSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS55dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW57ZGlzcGxheTpub25lfS55dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNre2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlcnt3aWR0aDoyNDBweDtoZWlnaHQ6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS55dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9ue3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Lnl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbnt3aWR0aDo5NnB4O2hlaWdodDo5NnB4fUBtZWRpYSAobWF4LXdpZHRoOjkzMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdHtvdmVyZmxvdy15OnNjcm9sbH19Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyU2NyaW1Db250YWluZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo1fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lcntib3JkZXItcmFkaXVzOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjowIDhweCAyNHB4O21heC13aWR0aDo0MDBweDtkaXNwbGF5OmJsb2NrO292ZXJmbG93OnNjcm9sbH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXJ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTQwcHg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjIwcHggMDt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTJweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDZW50cmFsSWNvbntoZWlnaHQ6NjVweDt3aWR0aDo2NXB4O2NvbG9yOiNmMDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTVweDtib3JkZXItcmFkaXVzOjQ1cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7cmlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjI0cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZXtiYWNrZ3JvdW5kOiMwMzAzMDM7b3BhY2l0eTouMTU7Ym9yZGVyLXJhZGl1czo0cHg7aGVpZ2h0OjRweDttYXJnaW46MCBhdXRvO3dpZHRoOjQwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweH0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50c3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cGFkZGluZzoyNHB4fS5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzPmRpdntwYWRkaW5nLWJvdHRvbTo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHM+eXRtLWJ1dHRvbi1yZW5kZXJlcntwYWRkaW5nLXRvcDo2cHh9Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtfUBtZWRpYSAobWluLXdpZHRoOjMwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGV7bGV0dGVyLXNwYWNpbmc6LjAwNWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZXtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjEuOHJlbX1AbWVkaWEgKG1pbi13aWR0aDozMDBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtaW4td2lkdGg6MzAwcHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxle2xldHRlci1zcGFjaW5nOi4wMWVtfX0uWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO3otaW5kZXg6NTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjEwMCV9QG1lZGlhIChtYXgtd2lkdGg6OTMwcHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKXsuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVye3RvcDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NTBweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206NTAlfX1AbWVkaWEgKG1pbi13aWR0aDo5MzFweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlck92ZXJsYXlDb250YWluZXJ7Ym90dG9tOjI1JX19QG1lZGlhIChtYXgtaGVpZ2h0OjUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lcntib3R0b206MH19W2JvdHRvbS1zaGVldC1vdmVybGF5LWJvZHktb3Blbl17cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7dG9wOjA7b3ZlcmZsb3c6aGlkZGVufS55dG0tZm9yY2VkLW11dGUtbWVzc2FnZSAuYnV0dG9uLXdpdGgtaWNvbi1pbm5lcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czozcHg7d2lkdGg6MjRweDtoZWlnaHQ6MjRweDtwYWRkaW5nOjZweH0ueXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UgLmJ1dHRvbi13aXRoLWljb24taW5uZXIgYzMtaWNvbntoZWlnaHQ6MjRweDt3aWR0aDoyNHB4fXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlci5pdGVte21hcmdpbi10b3A6MH15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJ7YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn15dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXJbYmFja2dyb3VuZD1JTkZPX1BBTkVMX0NPTlRBSU5FUl9CQUNLR1JPVU5EX1NZU1RFTV06Zmlyc3QtY2hpbGR7Ym9yZGVyOm5vbmV9eXRtLWluZm8tcGFuZWwtY29udGFpbmVyLXJlbmRlcmVyW2JhY2tncm91bmQ9SU5GT19QQU5FTF9DT05UQUlORVJfQkFDS0dST1VORF9TWVNURU1de2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfR1JBWV17YmFja2dyb3VuZC1jb2xvcjojZmZmfXl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlcltiYWNrZ3JvdW5kPUlORk9fUEFORUxfQ09OVEFJTkVSX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNil9Lnl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXJ7aGVpZ2h0OjM2cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwfS55dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWxlZnQtaXRlbXN7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1pY29ue21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFt5dG0taW5mby1wYW5lbC1jb250ZW50LWhhcy1tZW51PXRydWVde2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3d9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RbeXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudT10cnVlXSAueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcntwYWRkaW5nLWJvdHRvbToxMnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RJc1dhdGNoSW5mb1BhbmVse21hcmdpbjoxMnB4O2JvcmRlci1yYWRpdXM6MTJweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFt5dG0taW5mby1wYW5lbC1jb250ZW50LXRydW5jYXRlLXBhcmFncmFwaHM9dHJ1ZV0gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclBhcmFncmFwaHstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczstd2Via2l0LWxpbmUtY2xhbXA6M30ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFtkYXRhLWJhY2tncm91bmQ9SU5GT19QQU5FTF9DT05URU5UX0JBQ0tHUk9VTkRfT1ZFUkxBWV9CTEFDS10gLnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZXtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjUwMH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdFtkYXRhLWJhY2tncm91bmQ9SU5GT19QQU5FTF9DT05URU5UX0JBQ0tHUk9VTkRfQkxVRV17YmFja2dyb3VuZC1jb2xvcjojZGVmMWZmfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RDaW5lbWF0aWNCYWNrZ3JvdW5ke2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEpfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJXcmFwcGVye3BhZGRpbmc6MTJweCAxNnB4IDE2cHggMTZweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlcltkYXRhLWhhcy1pY29uPXRydWVde3BhZGRpbmc6MTRweCAxMnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJCb2R5e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDpob3Jpem9udGFsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246cm93fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUZXh0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lcntjb2xvcjojMDY1ZmQ0O21hcmdpbi1ib3R0b206NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGl0bGVDb250YWluZXJ7bWF4LWhlaWdodDo0cmVtfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbntwYWRkaW5nLWxlZnQ6MXB4O3dpZHRoOjE0cHg7aGVpZ2h0OjE0cHg7dmVydGljYWwtYWxpZ246dGV4dC10b3B9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlck1ldGFkYXRhe21hcmdpbi1ib3R0b206NHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclB1Ymxpc2hUaW1le2Rpc3BsYXk6aW5saW5lO2NvbG9yOiM2MDYwNjA7cGFkZGluZy1sZWZ0OjNweH0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoe2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuOHJlbTtmb250LXdlaWdodDo0MDB9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZXtkaXNwbGF5OmlubGluZS1ibG9jaztjb2xvcjojMDY1ZmQ0O3BhZGRpbmctbGVmdDoycHh9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZVRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lnl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRodW1ibmFpbHtmbGV4LXNocmluazowO2hlaWdodDo2NHB4O3dpZHRoOjY0cHg7bWFyZ2luLWxlZnQ6OHB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJFbmRwb2ludHt3aWR0aDoxMDAlfS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIZWFkZXJSaWdodEl0ZW1ze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVySWNvbnttYXJnaW4tbGVmdDo0cHg7bWFyZ2luLXJpZ2h0OjRweDtoZWlnaHQ6MTZweDt3aWR0aDoxNnB4fS55dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJNZW51e2Rpc3BsYXk6YmxvY2t9Lnl0bUxvZ29FbnRpdHlIb3N0e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjQ4cHh9Lnl0bUxvZ29FbnRpdHlDb250YWluZXJ7d2lkdGg6MTIycHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUxvZ29FbnRpdHlMb2dve3BhZGRpbmc6MDtoZWlnaHQ6NDhweDt3aWR0aDphdXRvO2NvbG9yOnVuc2V0fS5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlckhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiM2MDYwNjB9LnBsYXllckludGVyc3RpdGlhbFJlbmRlcmVyU2NyaW17d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC40KSAwLHJnYmEoMCwwLDAsLjYpIDc1JSxyZ2JhKDAsMCwwLC42KSl9Lnl0QmlnYm9hcmRTdG9yeWJvYXJkSG9zdHtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbn0ueXRtQTExeVN0eWxlc0hpZGRlbkJ1dHRvbntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEycHg7d2lkdGg6MTJweH0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHh9Lnl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25JY29uRGlzYWJsZWR7Y29sb3I6IzkwOTA5MH0ueXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZE92ZXJsYXl7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjMpfS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uWXRJY29uT3ZlcmxheXtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLDAuOCkpfS55dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uQnV0dG9ue2N1cnNvcjpwb2ludGVyO3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7cGFkZGluZzoxMnB4O2JvcmRlcjpub25lO291dGxpbmU6bm9uZTtmb250OmluaGVyaXQ7dGV4dC10cmFuc2Zvcm06aW5oZXJpdDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQ6dHJhbnNwYXJlbnR9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Ib3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2ZvbnQtc2l6ZToxLjJyZW07dmlzaWJpbGl0eTpoaWRkZW59Lnl0bUNyZWF0b3JFbmRzY3JlZW5JbkN1ZVJhbmdle3Zpc2liaWxpdHk6dmlzaWJsZX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTN7Zm9udC1zaXplOjEuNHJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwe2ZvbnQtc2l6ZToxLjhyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMHtmb250LXNpemU6Mi40cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudHtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGN1YmljLWJlemllciguMDUsMCwwLDEpfS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudFZpc2libGV7b3BhY2l0eToxO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0bUNyZWF0b3JFbmRzY3JlZW5TY3JpbXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cG9pbnRlci1ldmVudHM6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4yczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjA1LDAsMCwxKX0ueXRtQ3JlYXRvckVuZHNjcmVlblNjcmltVmlzaWJsZXtvcGFjaXR5Oi4yNX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3R7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RyYW5zaXRpb246ei1pbmRleCAuMnMgc3RlcC1lbmQ7ei1pbmRleDo2O3Bvc2l0aW9uOnJlbGF0aXZlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZXt0cmFuc2l0aW9uOnotaW5kZXggLjJzIHN0ZXAtc3RhcnQ7ei1pbmRleDo3fS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlse2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7Ym94LXNoYWRvdzowIDAgNHB4IHJnYmEoMCwwLDAsMC42KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFJvdW5ke2JvcmRlci1yYWRpdXM6NTAlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC44KTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjhweDttYXJnaW46LThweDtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO2NvbG9yOiNmZmY7dmlzaWJpbGl0eTpoaWRkZW47YWxpZ24tY29udGVudDpjZW50ZXI7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdTbWFsbCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czo0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ01lZGl1bSAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXl7Ym9yZGVyLXJhZGl1czo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ0xhcmdlIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheXtib3JkZXItcmFkaXVzOjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5UmlnaHR7bGVmdDowfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZle3BhZGRpbmctbGVmdDpjYWxjKDEwMCUgKyA4cHgpfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUxlZnR7cmlnaHQ6MH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0QWN0aXZle3BhZGRpbmctcmlnaHQ6Y2FsYygxMDAlICsgOHB4KX0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0QWN0aXZlLC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7bWF4LXdpZHRoOm5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMTVweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tcmlnaHQ6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlBY3RpdmVSaWdodCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjhweDttYXJnaW4tcmlnaHQ6MTJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1MDYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU1NzAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoxMzZweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXJnaW4tbGVmdDo4cHg7bWFyZ2luLXJpZ2h0OjEycHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNDI2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6MTJweDttYXJnaW4tcmlnaHQ6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjEzNnB4O21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNjQwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e3dpZHRoOjE3NnB4O21hcmdpbi1sZWZ0OjE2cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6OHB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHt3aWR0aDoyNjRweDttYXJnaW4tbGVmdDozMnB4O21hcmdpbi1yaWdodDoxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlBY3RpdmVSaWdodCAueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7bWFyZ2luLWxlZnQ6MTZweDttYXJnaW4tcmlnaHQ6MzJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNvbnRlbnR7d2lkdGg6MzkycHg7bWFyZ2luLWxlZnQ6NDhweDttYXJnaW4tcmlnaHQ6MjRweH0ueXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRPdmVybGF5QWN0aXZlUmlnaHQgLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50e21hcmdpbi1sZWZ0OjI0cHg7bWFyZ2luLXJpZ2h0OjQ4cHh9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudHttYXgtaGVpZ2h0OjEwMCU7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6MS4ycmVtO2ZvbnQtd2VpZ2h0OjUwMDtsaW5lLWhlaWdodDoxLjI1O21hcmdpbi1ib3R0b206MnB4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtbGluZS1jbGFtcDoyfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6MS42cmVtfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGV7Zm9udC1zaXplOjJyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlUaXRsZXtmb250LXNpemU6Mi40cmVtfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuMnJlbTttYXJnaW4tdG9wOjRweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTg1MyAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGV7Zm9udC1zaXplOjEuNnJlbX0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZXtmb250LXNpemU6MS44cmVtO21hcmdpbi10b3A6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle2ZvbnQtc2l6ZToycmVtO21hcmdpbi10b3A6MTJweH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIpO3BhZGRpbmctdG9wOjRweDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6M30ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU2NDAgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsey13ZWJraXQtbGluZS1jbGFtcDoyfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTU3MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWx7LXdlYmtpdC1saW5lLWNsYW1wOjF9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMzQ2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbCwueXRtQ3JlYXRvckVuZHNjcmVlblNpemU0MjYgLnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFDaGFubmVsLC55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTQ3MCAueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWwsLnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplNTA2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbHtkaXNwbGF5Om5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TWV0YWRhdGFXZWJzaXRle3doaXRlLXNwYWNlOm5vd3JhcH0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb257Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi10b3A6NHB4O2ZvbnQtc2l6ZToxcmVtO3RyYW5zaXRpb246YWxsIC4yc30ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb246aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjdXJzb3I6cG9pbnRlcn0ueXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b257bWFyZ2luLXRvcDo0cHg7bWFyZ2luLWJvdHRvbTo0cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMzQ2IC55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUJ1dHRvbntkaXNwbGF5Om5vbmV9Lnl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbXtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO3otaW5kZXg6NjtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1DaGFubmVse2JvcmRlci1yYWRpdXM6NTAlfS55dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmV7b3BhY2l0eTouMjV9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uSG9zdHt3aWR0aDoxMDAlfS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNvbnRlbnRDb250YWluZXJ7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czoxOHB4fS55dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7d2lkdGg6LW1vei1maXQtY29udGVudDt3aWR0aDpmaXQtY29udGVudH0ueXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25DYW5BbmltYXRle3RyYW5zaXRpb246d2lkdGggLjVzIGVhc2V9Lnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uU3RhdGljV2lkdGggLnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uRmxleENvbnRhaW5lcnt3aWR0aDphdXRvfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdHtkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEpO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JveC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLDAuNik7dHJhbnNpdGlvbjphbGwgLjJzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMDUsMCwwLDEpO3otaW5kZXg6NX0ueXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0gLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0e2JvcmRlci1yYWRpdXM6OHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3R7Ym9yZGVyLXJhZGl1czoxMnB4fS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZXtib3JkZXItY29sb3I6I2ZmZn0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcE92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjMzJX0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2NvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjEuMnJlbTtmb250LXdlaWdodDo1MDA7bWFyZ2luOjZweCA4cHggMDtsaW5lLWhlaWdodDoxLjI1O3RleHQtc2hhZG93OjAgMXB4IDAgcmdiYSgwLDAsMCwwLjMpO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWxpbmUtY2xhbXA6Mjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTY0MCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW19Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsVGl0bGV7Zm9udC1zaXplOjEuNnJlbTttYXJnaW46MTBweCAxMnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6MnJlbTttYXJnaW46MTRweCAxNnB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZXtmb250LXNpemU6Mi40cmVtO21hcmdpbjoxOHB4IDIwcHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWx7b2JqZWN0LWZpdDpjb3Zlcn0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMgLnl0QmFkZ2VTaGFwZUhvc3R7Zm9udC1zaXplOmluaGVyaXR9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjJweCA0cHg7bWFyZ2luLWJvdHRvbToycHg7bWFyZ2luLXJpZ2h0OjJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxMjgwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjZweCA4cHg7bWFyZ2luLWJvdHRvbTo4cHg7bWFyZ2luLXJpZ2h0OjhweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemUxOTIwIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyAueXRCYWRnZVNoYXBlSG9zdHtwYWRkaW5nOjEwcHggMTJweDttYXJnaW4tYm90dG9tOjE2cHg7bWFyZ2luLXJpZ2h0OjE2cHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUb3BHcmFkaWVudHtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5Oi44O2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYigwLDAsMCksdHJhbnNwYXJlbnQpfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjJweDtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplODUzIC55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5e3BhZGRpbmc6NHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXl7cGFkZGluZzo4cHh9Lnl0bUNyZWF0b3JFbmRzY3JlZW5TaXplMTkyMCAueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0TGVuZ3RoT3ZlcmxheXtwYWRkaW5nOjEycHh9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpO21hcmdpbjowIDJweH0ueXRtQ3JlYXRvckVuZHNjcmVlblNpemU4NTMgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgNHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTEyODAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgOHB4fS55dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZTE5MjAgLnl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdEljb257bWFyZ2luOjAgMTJweH0ueXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFNjcmlte2JhY2tncm91bmQtY29sb3I6IzAwMDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO3otaW5kZXg6NTtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzfS55dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmV7b3BhY2l0eTouMjV9Lnl0UGZwQXV0b25hdkhvc3R7cG9pbnRlci1ldmVudHM6bm9uZTtkaXNwbGF5OmJsb2NrfS55dFBmcEF1dG9uYXZWaXNpYmxle3BvaW50ZXItZXZlbnRzOmF1dG87YmFja2dyb3VuZDpibGFja30ueXRQZnBBdXRvbmF2U2NyaW17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOndoaXRlO3BvaW50ZXItZXZlbnRzOmF1dG99Lnl0UGZwQXV0b25hdkhlYWRlcntmb250LXNpemU6MTRweDttYXJnaW4tYm90dG9tOjhweH0ueXRQZnBBdXRvbmF2VGl0bGV7Zm9udC1zaXplOjI0cHg7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1ib3R0b206NHB4fS55dFBmcEF1dG9uYXZCeWxpbmV7Zm9udC1zaXplOjE2cHg7bWFyZ2luLWJvdHRvbToyNHB4fS55dFBmcEF1dG9uYXZCeWxpbmUsLnl0UGZwQXV0b25hdlRpdGxle21heC13aWR0aDo4MCU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcEF1dG9uYXZQbGF5QnV0dG9ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjcycHg7aGVpZ2h0OjcycHg7bWFyZ2luLWJvdHRvbToyNHB4O2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXI6MDtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6d2hpdGV9Lnl0UGZwQXV0b25hdlJpbmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjcycHg7aGVpZ2h0OjcycHh9Lnl0UGZwQXV0b25hdlBsYXlJY29ue3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7ZmlsbDp3aGl0ZX0ueXRQZnBDb250cm9sc0hvc3R7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS55dFBmcENvbnRyb2xzSG9zdCA6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjM2VhNmZmfS55dFBmcENvbnRyb2xzT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb259Lnl0UGZwQ29udHJvbHNDcmVhdG9yRW5kc2NyZWVuQ29udGFpbmVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mn0ueXRQZnBDb250cm9sc0ZhZGVJbntwb2ludGVyLWV2ZW50czphdXRvfS55dFBmcENvbnRyb2xzQmlnYm9hcmQsLnl0UGZwQ29udHJvbHNCb3R0b21CYXIsLnl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCwueXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyLC55dFBmcENvbnRyb2xzVmlkZW9UaXRsZXt0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyx2aXNpYmlsaXR5IC4yNXN9Lnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNCaWdib2FyZCwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc0JvdHRvbUJhciwueXRQZnBDb250cm9sc092ZXJsYXk6bm90KC55dFBmcENvbnRyb2xzRmFkZUluKSAueXRQZnBDb250cm9sc0dyYWRpZW50VG9wLC55dFBmcENvbnRyb2xzT3ZlcmxheTpub3QoLnl0UGZwQ29udHJvbHNGYWRlSW4pIC55dFBmcENvbnRyb2xzUHJvZ3Jlc3NCYXJDb250YWluZXIsLnl0UGZwQ29udHJvbHNPdmVybGF5Om5vdCgueXRQZnBDb250cm9sc0ZhZGVJbikgLnl0UGZwQ29udHJvbHNWaWRlb1RpdGxle29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbn0ueXRQZnBDb250cm9sc0dyYWRpZW50VG9we3dpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikscmdiYSgwLDAsMCwwKSk7cG9pbnRlci1ldmVudHM6bm9uZTtoZWlnaHQ6NDlweDt6LWluZGV4OjV9Lnl0UGZwQ29udHJvbHNWaWRlb1RpdGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjEycHg7bWFyZ2luOjA7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2NvbG9yOndoaXRlO2ZvbnQtc2l6ZToxOHB4O3BvaW50ZXItZXZlbnRzOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3dpZHRoOjc1cHg7aGVpZ2h0Ojc1cHg7Ym9yZGVyLXJhZGl1czo1MCU7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MjtwYWRkaW5nOjA7Ym9yZGVyOjA7YmFja2dyb3VuZC1jb2xvcjp1bnNldH0ueXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbkljb25CZ3tmaWxsLW9wYWNpdHk6Ljg7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoLjQsMCwxLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKC40LDAsMSwxKX0ueXRQZnBDb250cm9sc092ZXJsYXk6aG92ZXIgLnl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b25JY29uQmd7ZmlsbC1vcGFjaXR5OjE7dHJhbnNpdGlvbjpmaWxsIC4xcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpLGZpbGwtb3BhY2l0eSAuMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0ueXRQZnBDb250cm9sc1ZpZGVvV2FsbEVuZHNjcmVlbntwYWRkaW5nOjQ4cHggMDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoyfS55dFBmcENvbnRyb2xzQXV0b25hdntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NDBweDtsZWZ0OjA7cmlnaHQ6MDtwb2ludGVyLWV2ZW50czphdXRvO3otaW5kZXg6M30ueXRQZnBDb250cm9sc0JvdHRvbUJhcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtoZWlnaHQ6NDBweDtwYWRkaW5nLWxlZnQ6M3B4O2NvbG9yOndoaXRlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cG9pbnRlci1ldmVudHM6YXV0bzt6LWluZGV4OjJ9Lnl0UGZwQ29udHJvbHNMZWZ0Q29udHJvbHMsLnl0UGZwQ29udHJvbHNSaWdodENvbnRyb2xze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0UGZwQ29udHJvbHNWb2x1bWVDb250cm9sc3ttYXgtd2lkdGg6MTEycHh9Lnl0UGZwQ29udHJvbHNUaW1lRGlzcGxheS55dFBmcENvbnRyb2xzVGltZURpc3BsYXl7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjEuNHJlbTttYXJnaW4tbGVmdDo4cHg7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9QG1lZGlhIChtYXgtd2lkdGg6MzQ5cHgpey55dFBmcENvbnRyb2xzVGltZURpc3BsYXkueXRQZnBDb250cm9sc1RpbWVEaXNwbGF5e2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6Mjk5cHgpey55dFBmcENvbnRyb2xzQ2FwdGlvbnNCdXR0b257ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDoyNDlweCl7Lnl0UGZwQ29udHJvbHNWb2x1bWVDb250cm9scy55dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHN7ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDoxOTlweCl7Lnl0UGZwQ29udHJvbHNTZXR0aW5nc0J1dHRvbntkaXNwbGF5Om5vbmV9fS55dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbi55dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbntoZWlnaHQ6MTJweDt3aWR0aDoxMnB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3R7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMDAwO2Rpc3BsYXk6YmxvY2t9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6Zm9jdXMtdmlzaWJsZSAueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheSwueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVySG9zdDpmb2N1cy13aXRoaW4gLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3Q6aG92ZXIgLnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXl7b3BhY2l0eToxfS55dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaHVtYm5haWx7b2JqZWN0LWZpdDpjb3Zlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheVRpdGxlQnlsaW5le3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDo2MHB4O2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjgpLHJnYmEoMCwwLDAsLjYpIDYwJSxyZ2JhKDAsMCwwLDApKTtwYWRkaW5nOjhweH0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGl0bGV7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjE4cHg7Y29sb3I6d2hpdGV9Lnl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckJ5bGluZXtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MTZweDttYXJnaW4tdG9wOjRweDtjb2xvcjp3aGl0ZX0ueXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyRHVyYXRpb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjhweDtyaWdodDo4cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtib3JkZXItcmFkaXVzOjRweDtwYWRkaW5nOjJweCA0cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEycHg7Y29sb3I6d2hpdGV9Lnl0UGZwTW9yZVZpZGVvc0hvc3R7ZGlzcGxheTpibG9jaztwb2ludGVyLWV2ZW50czpub25lfUBtZWRpYSAobWF4LWhlaWdodDoyODlweCl7Lnl0UGZwTW9yZVZpZGVvc0hvc3R7ZGlzcGxheTpub25lfX0ueXRQZnBNb3JlVmlkZW9zT3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NDhweDtsZWZ0OjEycHg7cmlnaHQ6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTIsMTIsMTIsLjgpO3otaW5kZXg6MjtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9pbnRlci1ldmVudHM6YXV0bztib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzo4cHggMDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lnl0UGZwTW9yZVZpZGVvc0hlYWRlcntkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6MCAxNnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQZnBNb3JlVmlkZW9zVGl0bGV7Y29sb3I6d2hpdGU7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjIwcHg7bWFyZ2luOjA7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS55dFBmcE1vcmVWaWRlb3NDbG9zZUJ1dHRvbntwYWRkaW5nOjRweDttYXJnaW4tcmlnaHQ6LTRweDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOm5vbmU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JvcmRlci1yYWRpdXM6NTAlfS55dFBmcE1vcmVWaWRlb3NDbG9zZUJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS55dFBmcE1vcmVWaWRlb3NDbG9zZUljb257Y29sb3I6d2hpdGU7aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0Q29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7cGFkZGluZzowIDEycHggNHB4IDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpub3JtYWw7ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdzpoaWRkZW59Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdy14OmF1dG87aGVpZ2h0OjEwMCU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Njcm9sbGJhci13aWR0aDpub25lO3Njcm9sbC1iZWhhdmlvcjpzbW9vdGh9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdDo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS55dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3R7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7LW1vei1ib3gtZmxleDoxO2ZsZXgtZ3JvdzoxO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnl9Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtoZWlnaHQ6MDttYXJnaW46MCA2cHg7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6YmxhY2s7c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQ7cGFkZGluZy1ib3R0b206MTM1cHg7d2lkdGg6MjQwcHg7bWluLXdpZHRoOjI0MHB4fUBtZWRpYSAobWF4LXdpZHRoOjEwNDBweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDE0LjA2MjUlIC0gNi43NXB4KTt3aWR0aDpjYWxjKDI1JSAtIDEycHgpO21pbi13aWR0aDpjYWxjKDI1JSAtIDEycHgpfX1AbWVkaWEgKG1heC13aWR0aDo3ODBweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDE4LjU2MjUlIC0gMy4zNzVweCk7d2lkdGg6Y2FsYygzMyUgLSA2cHgpO21pbi13aWR0aDpjYWxjKDMzJSAtIDZweCl9fUBtZWRpYSAobWF4LXdpZHRoOjUzNHB4KXsueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVte3BhZGRpbmctYm90dG9tOmNhbGMoMjguMTI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoNTAlIC0gNnB4KTttaW4td2lkdGg6Y2FsYyg1MCUgLSA2cHgpfX1AbWVkaWEgKG1heC13aWR0aDoyODhweCl7Lnl0UGZwTW9yZVZpZGVvc1ZpZGVvSXRlbXtwYWRkaW5nLWJvdHRvbTpjYWxjKDU2LjI1JSAtIDMuMzc1cHgpO3dpZHRoOmNhbGMoMTAwJSAtIDZweCk7bWluLXdpZHRoOmNhbGMoMTAwJSAtIDZweCl9fS55dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW06Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6YXV0b30ueXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OmF1dG99Lnl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnQsLnl0UGZwTW9yZVZpZGVvc1BhZGRsZVJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzMsMzMsMzMsLjgpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOndoaXRlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjI7Ym94LXNoYWRvdzowIDRweCA0cHggcmdiYSgwLDAsMCwuMjUpfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVMZWZ0OmhvdmVyLC55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYig1MCw1MCw1MCl9Lnl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnR7bGVmdDowfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodHtyaWdodDowfS55dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29ue2hlaWdodDoyNHB4O3dpZHRoOjI0cHh9Lnl0UGZwTW9yZVZpZGVvc01vcmVWaWRlb3NCdXR0b257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjU2cHg7bGVmdDoxMnB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNik7Y29sb3I6d2hpdGU7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czoxOHB4O3BhZGRpbmc6OHB4IDE2cHg7Zm9udC1zaXplOjEzcHg7Zm9udC13ZWlnaHQ6NTAwO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6NTtwb2ludGVyLWV2ZW50czphdXRvO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0ueXRQZnBNb3JlVmlkZW9zTW9yZVZpZGVvc0J1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0e3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXgtc2hyaW5rOjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjhweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojMDAwO2Rpc3BsYXk6YmxvY2t9Lnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6Zm9jdXMtdmlzaWJsZSAueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheSwueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySG9zdDpmb2N1cy13aXRoaW4gLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXksLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3Q6aG92ZXIgLnl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXl7b3BhY2l0eToxfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaHVtYm5haWx7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtZml0OmNvdmVyfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0O2NvbG9yOndoaXRlfS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5VGl0bGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjYwcHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQocmdiYSgwLDAsMCwuOCkscmdiYSgwLDAsMCwuNikgNjAlLHJnYmEoMCwwLDAsMCkpO3BhZGRpbmc6OHB4fS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaXRsZXtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MThweDttYXgtaGVpZ2h0OjM2cHg7Y29sb3I6d2hpdGU7b3ZlcmZsb3c6aGlkZGVufS55dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJCb3R0b21PdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCk7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NTAwO2NvbG9yOndoaXRlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ueXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVySWNvbntmaWxsOmN1cnJlbnRDb2xvcjt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O21hcmdpbi1yaWdodDo0cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaXNpYmxle2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6cmdiKDEyLDEyLDEyKX0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5Jc09ic2N1cmVke3Zpc2liaWxpdHk6aGlkZGVufS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpZGVvTGlzdENvbnRhaW5lcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy1tb3otYm94LWZsZXg6MTtmbGV4LWdyb3c6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BvaW50ZXItZXZlbnRzOmF1dG87cGFkZGluZzoxMnB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3R7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0LC55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzMsMzMsMzMsLjkpO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NTAlO2NvbG9yOndoaXRlO2N1cnNvcjpwb2ludGVyO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt6LWluZGV4OjI7Ym94LXNoYWRvdzowIDRweCA0cHggcmdiYSgwLDAsMCwuMjUpfS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnQ6aG92ZXIsLnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2IoNTAsNTAsNTApfS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnR7bGVmdDo4cHh9Lnl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHR7cmlnaHQ6OHB4fS55dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH0ueXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0l0ZW17cG9zaXRpb246YWJzb2x1dGU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS55dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySG9zdHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6N30ueXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckFjdGlvbnt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpO2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtvcGFjaXR5OjA7YW5pbWF0aW9uOmFjdGlvbi1mYWRlLW91dCAuNXMgbGluZWFyIDEgbm9ybWFsIGZvcndhcmRzfS55dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4O2ZpbGw6I2ZmZn1Aa2V5ZnJhbWVzIGFjdGlvbi1mYWRlLW91dHswJXtvcGFjaXR5OjF9dG97b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgyKX19Lnl0d1BsYXllclRpbWVEaXNwbGF5SG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NTAwO292ZXJmbG93OmhpZGRlbn0ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lQ2h1bmtze2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lnl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZURvdDpiZWZvcmV7Y29udGVudDpcIlwiO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjZweDt3aWR0aDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7bWFyZ2luLXJpZ2h0OjRweH0ueXR3UGxheWVyVGltZURpc3BsYXlMaXZlRG90Lnl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZUhlYWQ6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgyMjUsMCw0NSwwLjkpO29wYWNpdHk6MX0ueXR3UGxheWVyVGltZURpc3BsYXlUaW1lRGVsaW1pdGVye2NvbG9yOiNmZmY7bWFyZ2luOjAgNHB4O29wYWNpdHk6Ljd9Lnl0d1BsYXllclRpbWVEaXNwbGF5VGltZVNlY29uZHtvcGFjaXR5Oi43fS55dHdQbGF5ZXJUaW1lRGlzcGxheUNoYXB0ZXJUZXh0e21hcmdpbi1sZWZ0OjhweH0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJBY3Rpb25Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b24ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse21hcmdpbjowIDAgMCA4cHh9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQnV0dG9ue292ZXJmbG93OmhpZGRlbjttYXgtd2lkdGg6MjQwcHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ueXR3UGxheWVyVGltZURpc3BsYXlDaGV2cm9ue2NvbG9yOiNmZmY7aGVpZ2h0OjE2cHg7d2lkdGg6MTZweDttYXJnaW4tcmlnaHQ6LTRweH0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxse2hlaWdodDoyNHB4Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjRweCA2cHg7Ym9yZGVyLXJhZGl1czoxNnB4O2ZvbnQtc2l6ZToxLjRyZW07YmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuMyk7dGV4dC1zaGFkb3c6MCAwIDJweCAjMDAwfS55dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGwgYnV0dG9ue3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ueXR3UGxheWVyVGltZURpc3BsYXlQaWxsIHN2Z3tmaWx0ZXI6ZHJvcC1zaGFkb3coMCAwIDFweCByZ2JhKDAsMCwwLC44KSl9Lnl0d1BsYXllclRpbWVEaXNwbGF5UGlsbHttYXJnaW4tbGVmdDoxNnB4fUBtZWRpYSAobWF4LWhlaWdodDoyMjFweCl7Lnl0d1BsYXllclRpbWVEaXNwbGF5RnVsbHNjcmVlbkNvbnRyb2xzQWx3YXlzT257ZGlzcGxheTpub25lfX0ueXR3UGxheWVyVGltZURpc3BsYXlTY3JlZW5SZWFkZXJPbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O3BhZGRpbmc6MDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlIb3N0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lO2RpcmVjdGlvbjpsdHJ9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtvcGFjaXR5OjB9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uQmFja3tsZWZ0OjQ4cHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uRm9yd2FyZHtyaWdodDo0OHB4fS55dHdQbGF5ZXJTZWVrT3ZlcmxheUR1cmF0aW9ue2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDAuOCk7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXI7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToyLjRyZW07bGluZS1oZWlnaHQ6My4ycmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgKG1heC13aWR0aDo1MjcuOXB4KXsueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjJyZW07bGluZS1oZWlnaHQ6Mi44cmVtO2ZvbnQtd2VpZ2h0OjcwMH19Lnl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uQmFjayAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd3ttYXJnaW4tcmlnaHQ6MjBweH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93e21hcmdpbi1sZWZ0OjIwcHh9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3cgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dTdmd7ZGlzcGxheTpibG9ja30ueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyAueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BhdGh7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAuNXB4IHJnYmEoMCwwLDAsMC44KSl9Lnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX0ueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd0FkZGl0aW9uYWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2xhdGU6MCAtNTAlfS55dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2sgLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFse2xlZnQ6MH0ueXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIC55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbHtyaWdodDowfS55dHdQbGF5ZXJFbmRzY3JlZW5Ib3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckVuZHNjcmVlbkNvbnRhaW5lcntjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW57cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMyk7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDB9Lnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjojMDAwO3BhZGRpbmc6OHB4IDE2cHg7bWFyZ2luOjAgYXV0bztkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW5bZGF0YS1oYXMtdGltZXItY291bnRkb3duPXRydWVde3BhZGRpbmc6OHB4fX1bZGlyPXJ0bF0gLnl0d1BsYXllckVuZHNjcmVlblBsYXllckVuZHNjcmVlbltkYXRhLWhhcy10aW1lci1jb3VudGRvd249dHJ1ZV17ZGlyZWN0aW9uOnJ0bH0ueXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt3aWR0aDoxMDAlO2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5Ub3BQYW5lbHtkaXNwbGF5Om5vbmV9fS55dHdQbGF5ZXJFbmRzY3JlZW5IZWFkZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjE2cHh9Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyk7bWFyZ2luLWJvdHRvbToxMnB4O21hcmdpbi10b3A6NHB4fUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lcnttYXJnaW4tYm90dG9tOjhweH19Lnl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bk51bWJlcntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmfS55dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOy1tb3otYm94LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRWaWRlb0NvbnRhaW5lcjpmaXJzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MTJweH0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXl7d2lkdGg6NTAlO2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA2cHgpO3Bvc2l0aW9uOnJlbGF0aXZlfUBtZWRpYSAobWF4LXdpZHRoOjI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpwb3J0cmFpdCl7Lnl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5e2ZsZXgtYmFzaXM6Y2FsYyg1MCUgLSA0cHgpfX0ueXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXk+Lnl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbENvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmctYm90dG9tOjU2LjI1JX0ueXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsT3ZlcmxheXN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7cmlnaHQ6MH0ueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZve3dpZHRoOjUwJTtmbGV4LWJhc2lzOmNhbGMoNTAlIC0gNnB4KX1AbWVkaWEgKG1heC13aWR0aDoyOTlweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpLChtYXgtd2lkdGg6Mjk5cHgpIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpey55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0luZm97ZmxleC1iYXNpczpjYWxjKDUwJSAtIDRweCl9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS40cmVtO2xpbmUtaGVpZ2h0OjJyZW07Zm9udC13ZWlnaHQ6NDAwO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5OmJsb2NrO21heC1oZWlnaHQ6NHJlbTtkaXNwbGF5OmJveDtkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vcm1hbH1Ac3VwcG9ydHMgKC13ZWJraXQtbGluZS1jbGFtcDoxKXsueXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZXstd2Via2l0LWxpbmUtY2xhbXA6MjttYXgtaGVpZ2h0Om5vbmV9fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxle21heC1oZWlnaHQ6NHJlbTtjb2xvcjojZmZmO21hcmdpbi1ib3R0b206NHB4fS55dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0F1dGhvcntmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjhyZW07Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43KX0ueXR3UGxheWVyRW5kc2NyZWVuQnV0dG9uQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9ue3dpZHRoOjEwMCV9Lnl0d1BsYXllckVuZHNjcmVlbkFjdGlvbkJ1dHRvbj46Zmlyc3QtY2hpbGR7d2lkdGg6MTAwJX0ueXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uOmZpcnN0LWNoaWxke21hcmdpbi1yaWdodDoxMnB4fS55dG1DdXN0b21Db250cm9sSG9zdHtkaXNwbGF5OmJsb2NrfS55dG1DdXN0b21Db250cm9sSG9zdCA6Zm9jdXMtdmlzaWJsZXtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCAjM2VhNmZmfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3R7Y29sb3I6I2ZmZjtwYWRkaW5nOjEycHggMCAwIDEycHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyO3RvcDo1MnB4O21pbi13aWR0aDoxMzBweDttYXgtd2lkdGg6bWluKDUwJSAtIDY0cHgsMjcycHgpfS55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RBdXRvaGlkZXthbmltYXRpb246ZmFkZSAzcyBlYXNlLWluIDEwcyBmb3J3YXJkczthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzfUBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzozLzQpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RUb3BDb250cm9sc1N0YWNrZWRJblBvcnRyYWl0e3RvcDoxMTJweH19Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySGlkZGVue2Rpc3BsYXk6bm9uZX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJCdXR0b257LW1vei1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmxlZnQ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC42KTtib3JkZXItbGVmdDo0cHggc29saWQgIzNlYTZmZjtib3JkZXItcmFkaXVzOjRweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDttYXgtd2lkdGg6MzEycHg7cGFkZGluZzo4cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lnl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyVGV4dHtmb250LXNpemU6MS4zcmVtO3BhZGRpbmctbGVmdDo4cHg7Zm9udC1mYW1pbHk6Um9ib3RvLFwiQXJpYWxcIixzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxLjRyZW07bGluZS1oZWlnaHQ6MnJlbTtmb250LXdlaWdodDo0MDA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7bWF4LWhlaWdodDo0cmVtO2Rpc3BsYXk6Ym94O2Rpc3BsYXk6LXdlYmtpdC1ib3g7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm9ybWFsfUBzdXBwb3J0cyAoLXdlYmtpdC1saW5lLWNsYW1wOjEpey55dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlclRleHR7LXdlYmtpdC1saW5lLWNsYW1wOjI7bWF4LWhlaWdodDpub25lfX0ueXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0e21heC1oZWlnaHQ6NHJlbX1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS55dEVtYmVkc0luZm9QYW5lbERldGFpbHNWaWV3TW9kZWxCb2R5VGV4dHtwYWRkaW5nOjAgMTJweCAxMnB4IDEycHg7Y29sb3I6IzYwNjA2MDtmb250LWZhbWlseTpSb2JvdG8sXCJBcmlhbFwiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuNHJlbTtsaW5lLWhlaWdodDoycmVtO2ZvbnQtd2VpZ2h0OjQwMH0ueXRBdXRvY3JvcEJ1dHRvbkhvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDAlO21hcmdpbi10b3A6NjBweH0ueXRBdXRvY3JvcEJ1dHRvblZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS55dEF1dG9jcm9wQnV0dG9uSGlkZGVue3Zpc2liaWxpdHk6aGlkZGVufS55dEF1dG9jcm9wQnV0dG9uQXV0b0Nyb3BCdXR0b257Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNyk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDQwLDQwLDAuNik7Ym9yZGVyLXJhZGl1czoxOHB4fS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3R7LW1vei1ib3gtZmxleDoxO2ZsZXg6MTtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDtvdmVyZmxvdy14OmF1dG99QG1lZGlhIG5vdCAocG9pbnRlcjpmaW5lKXsueXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0ey1tcy1vdmVyZmxvdy1zdHlsZTpub25lO3Njcm9sbGJhci13aWR0aDpub25lfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX19QG1lZGlhIChwb2ludGVyOmZpbmUpey55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3R7b3ZlcmZsb3cteTphdXRvfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjE2cHh9Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWJ7aGVpZ2h0OjU2cHg7Ym9yZGVyLXJhZGl1czo4cHg7Ym9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3g7YmFja2dyb3VuZC1jb2xvcjojNjA2MDYwfS55dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc0hvc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzkwOTA5MH19Lnl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zUmVjb21tZW5kYXRpb257d2lkdGg6MjAwcHg7bWluLXdpZHRoOjIwMHB4O21hcmdpbjowIDhweDtjb2xvcjojZmZmfS55dHdQbGF5ZXJGdWxsc2NyZWVuQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0d1BsYXllckZ1bGxzY3JlZW5Ub3BDb250cm9sc0hvc3R7cGFkZGluZzoxMnB4O2NvbG9yOiNmZmY7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDo2fS55dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ29udHJvbHNWaWRlb1RpdGxle21hcmdpbjowO2NvbG9yOiNmZmZ9Lnl0d1BsYXllckZ1bGxzY3JlZW5Ub3BDb250cm9sc0Z1bGxzY3JlZW5DbG9zZUJ1dHRvbldyYXBwZXJ7bWFyZ2luLXRvcDotOHB4O21hcmdpbi1sZWZ0OmF1dG99Lnl0bVBhaWRDb250ZW50T3ZlcmxheUhvc3R7Y29sb3I6I2ZmZjthbmltYXRpb246ZmFkZSAzcyBlYXNlLWluIDIwcyBmb3J3YXJkczthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO3BhZGRpbmc6MTJweCAwIDEycHggMTJweDtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleH0ueXRtUGFpZENvbnRlbnRPdmVybGF5SGlkZGVue2Rpc3BsYXk6bm9uZX0ueXRtUGFpZENvbnRlbnRPdmVybGF5TGlua3stbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7Ym9yZGVyLWxlZnQ6NHB4IHNvbGlkICMzZWE2ZmY7Ym9yZGVyLXJhZGl1czo0cHg7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7bWF4LXdpZHRoOjMxMnB4O3BhZGRpbmc6OHB4O3RleHQtZGVjb3JhdGlvbjpub25lfS55dG1QYWlkQ29udGVudE92ZXJsYXlUZXh0e2ZvbnQtc2l6ZToxLjNyZW07cGFkZGluZy1sZWZ0OjhweH1Aa2V5ZnJhbWVzIGZhZGV7dG97b3BhY2l0eTowO3BvaW50ZXItZXZlbnRzOm5vbmV9fS5wbGF5ZXItY29udHJvbHMtYm90dG9te2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTozMHB4O3otaW5kZXg6MjtoZWlnaHQ6NDRweH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAucGxheWVyLWJvdHRvbS1jb250cm9scy1mdWxsc2NyZWVuLWljb24tdmlzaWJsZS1hcmVhey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6NTAlO3BhZGRpbmc6NnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbSAucGxheWVyLWJvdHRvbS1jb250cm9scy1mdWxsc2NyZWVuLWljb24tdmlzaWJsZS1hcmVhIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9LnBsYXllci1jb250cm9scy1ib3R0b20gLnBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSBzdmd7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfS5wbGF5ZXItY29udHJvbHMtYm90dG9tLnBsYXllci1jb250cm9scy1ib3R0b20tbGVmdHtsZWZ0OjEycHg7cmlnaHQ6NzhweH0ucGxheWVyLWNvbnRyb2xzLWJvdHRvbS5wbGF5ZXItY29udHJvbHMtYm90dG9tLXJpZ2h0e3JpZ2h0OjI0cHh9LnBsYXllci1jb250cm9scy1ib3R0b20gLmljb24tYnV0dG9uLmZ1bGxzY3JlZW4taWNvbntkaXNwbGF5OmJsb2NrOy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6NDhweDt3aWR0aDo0OHB4O3BhZGRpbmc6NnB4fWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIC5wbGF5ZXItY29udHJvbHMtYm90dG9te2JvdHRvbTo0NHB4fWJvZHlbZmF1eC1mdWxsc2NyZWVuPXRydWVdIC5lbmFibGUtZnVsbHNjcmVlbi1jb250cm9scyAucGxheWVyLWNvbnRyb2xzLWJvdHRvbXtib3R0b206NzRweH1ib2R5W2ZhdXgtZnVsbHNjcmVlbj10cnVlXSAuZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMuZnMtd2F0Y2gtc3lzdGVtIC5wbGF5ZXItY29udHJvbHMtYm90dG9te2JvdHRvbTo5NHB4fS55dHdQbGF5ZXJNaWRkbGVDb250cm9sc0hvc3R7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b257cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoxMnB4O3dpZHRoOjEycHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxle2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ei1pbmRleDo2fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZS5wcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbnt3aWR0aDotbW96LWZpdC1jb250ZW50O3dpZHRoOmZpdC1jb250ZW50O2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLmljb24tYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cGFkZGluZzo2cHg7Ym9yZGVyLXJhZGl1czoyNHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24+YzMtaWNvbntoZWlnaHQ6MzJweDt3aWR0aDozMnB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9ue2hlaWdodDo0OHB4O3dpZHRoOjQ4cHg7cGFkZGluZzo2cHg7YmFja2dyb3VuZDpub25lfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIGMzLWljb257aGVpZ2h0OjI0cHg7d2lkdGg6MjRweH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhey1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MzZweDt3aWR0aDozNnB4O3BhZGRpbmc6NnB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjMpO3RleHQtc2hhZG93OjAgMCAycHggIzAwMH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiAucGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhIGJ1dHRvbnt0ZXh0LXNoYWRvdzowIDAgMnB4ICMwMDB9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24gLnBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSBzdmd7ZmlsdGVyOmRyb3Atc2hhZG93KDAgMCAxcHggcmdiYSgwLDAsMCwuOCkpfXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuaWNvbi1idXR0b24uZW5kc2NyZWVuLXJlcGxheS1idXR0b257aGVpZ2h0OmF1dG87d2lkdGg6YXV0bztib3JkZXItcmFkaXVzOjU2cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5pY29uLWJ1dHRvbi5lbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbj5jMy1pY29ue2hlaWdodDo0MHB4O3dpZHRoOjQwcHg7cGFkZGluZzo4cHh9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24uaWNvbi1idXR0b257aGVpZ2h0OjU2cHg7d2lkdGg6NTZweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXJhZGl1czo1MCV9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24uaWNvbi1idXR0b24+YzMtaWNvbntoZWlnaHQ6MzZweDt3aWR0aDozNnB4O3BhZGRpbmc6dW5zZXR9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5lbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbi5pY29uLWJ1dHRvbix5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1jb250cm9sLXBsYXktcGF1c2UtaWNvbnttYXJnaW46MCAzNHB4fXl0bS1jdXN0b20tY29udHJvbCAucGxheWVyLWNvbnRyb2xzLW1pZGRsZSAuc2NyZWVucmVhZGVyLXNhZmUtaGlkZS1taWRkbGUtYnV0dG9uc3twb2ludGVyLWV2ZW50czpub25lO29wYWNpdHk6MH15dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGUgLnBsYXllci1jb250cm9scy1zcGlubmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfVtkaXI9cnRsXSB5dG0tY3VzdG9tLWNvbnRyb2wgLnBsYXllci1jb250cm9scy1taWRkbGU6bm90KC5wcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbil7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9eXRtLWN1c3RvbS1jb250cm9sIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlIC5wbGF5ZXItY29udHJvbHMtbWlkZGxlLWNvcmUtYnV0dG9uc3tkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tb3otYm94LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7ZGlyZWN0aW9uOmx0cn0ueXRtVmlkZW9JbmZvSG9zdHstbW96LWJveC1mbGV4OjE7ZmxleDoxO292ZXJmbG93OmhpZGRlbjttaW4td2lkdGg6MH0ueXRtVmlkZW9JbmZvVmlkZW9EZXRhaWxzQ29udGFpbmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctbGVmdDoxMnB4O21pbi1oZWlnaHQ6NS4ycmVtfS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MnJlbTtsaW5lLWhlaWdodDoyLjhyZW07Zm9udC13ZWlnaHQ6NzAwfUBtZWRpYSAobWF4LXdpZHRoOjUyNy45cHgpey55dG1WaWRlb0luZm9WaWRlb1RpdGxle2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS44cmVtO2xpbmUtaGVpZ2h0OjIuNnJlbTtmb250LXdlaWdodDo3MDB9fS55dG1WaWRlb0luZm9WaWRlb1RpdGxle2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7cGFkZGluZy10b3A6MTBweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfVtkaXI9cnRsXSAueXRtVmlkZW9JbmZvVmlkZW9UaXRsZXttYXNrLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCNmZmYgOTUlLHJnYmEoMCwwLDAsMCkpfS55dG1WaWRlb0luZm9DaGFubmVsVGl0bGV7bWF4LXdpZHRoOjEwMCU7Zm9udC1zaXplOjEuMnJlbTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtZGVjb3JhdGlvbjpub25lO29wYWNpdHk6MTtsaW5lLWhlaWdodDoxLjF9Lnl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXJ7bWluLWhlaWdodDozNnB4Oy1tb3otYm94LWZsZXg6MTtmbGV4OjE7b3ZlcmZsb3c6aGlkZGVuO2NvbG9yOiNmZmY7bWFyZ2luLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjB9Lnl0bVZpZGVvSW5mb0xvZ29FbmFibGVke3BhZGRpbmctbGVmdDo1MnB4fS55dG1WaWRlb0luZm9DaGFubmVsTG9nb3t3aWR0aDozNnB4O2hlaWdodDozNnB4O2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2ZsZXgtc2hyaW5rOjA7bWFyZ2luOjEycHg7bWFyZ2luLXRvcDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7ei1pbmRleDo3O3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS55dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVye2hlaWdodDo1LjJyZW07cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO21pbi13aWR0aDo1MnB4O21heC13aWR0aDpjYWxjKDEwMCUgLSAxMnB4KTttYXJnaW46NHB4O21hcmdpbi10b3A6OHB4O292ZXJmbG93OmhpZGRlbn1bZGlyPXJ0bF0gLnl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXJ7bGVmdDphdXRvO3JpZ2h0OjB9Lnl0bVZpZGVvSW5mb092ZXJsYXl7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtb3JpZW50Omhvcml6b250YWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpyb3c7Ym9yZGVyLXJhZGl1czoxMHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgpO21hcmdpbi1sZWZ0OjRweDtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uOmFsbCAuMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC4wNSwwLDAsMSk7b3BhY2l0eTowO21heC13aWR0aDowO3BhZGRpbmctbGVmdDo1MnB4O3BhZGRpbmctcmlnaHQ6MTBweDt6LWluZGV4OjU7cG9zaXRpb246cmVsYXRpdmV9Lnl0bVZpZGVvSW5mb0V4cGFuZGVke29wYWNpdHk6MTttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvQ2hhbm5lbEluZm97ZGlzcGxheTpibG9jaztwYWRkaW5nLXJpZ2h0OjhweDstbW96LWJveC1mbGV4OjE7ZmxleDoxO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczthbGlnbi1zZWxmOmNlbnRlcjttYXgtd2lkdGg6MTAwJX0ueXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxle2ZvbnQtc2l6ZToxLjRyZW07Y29sb3I6I2ZmZjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO21heC13aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbToycHg7YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZXtmb250LXNpemU6MS4ycmVtO2NvbG9yOiNmZmY7dGV4dC1vdmVyZmxvdzplbGxpcHNpczttYXgtd2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrfS55dG1WaWRlb0luZm9TdWJzY3JpYmVCdXR0b257YWxpZ24tc2VsZjpjZW50ZXJ9Lnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuaXMtc3Vic2NyaWJlZCAueXRBdHRyaWJ1dGVkU3RyaW5nSG9zdHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNyl9Lnl0bVZpZGVvSW5mb0hpZGUsLnl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiAuc3Vic2NyaWJlLWJ1dHRvbi1jb3VudHtkaXNwbGF5Om5vbmV9Lnl0bVZpZGVvSW5mb0xpbms6aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9Lnl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo0OHB4O2hlaWdodDo0OHB4fS55dG1NdXRlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXRtTXV0ZUJ1dHRvbkJ1dHRvbntjdXJzb3I6cG9pbnRlcjt3aWR0aDo0OHB4O2hlaWdodDo0OHB4O3BhZGRpbmc6MTJweDtib3JkZXI6bm9uZTtvdXRsaW5lOm5vbmU7Zm9udDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uSG9zdHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NDhweDtoZWlnaHQ6NDhweH0ueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT2ZmLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25Pbnt3aWR0aDozNnB4O2hlaWdodDoxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYgc3ZnLC55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiBzdmd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjM2cHg7aGVpZ2h0OjE0cHh9Lnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2xlZnQ6MjJweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4fVtkaXI9cnRsXSAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2xlZnQ6NnB4fS55dHdBdXRvbmF2VG9nZ2xlQnV0dG9uUGF1c2VJY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7bGVmdDo2cHg7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH1bZGlyPXJ0bF0gLnl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb257bGVmdDoyMnB4fS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCAueXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29ue2NvbG9yOiNmZmZ9Lnl0d1BsYXllclRvcENvbnRyb2xzSG9zdHtkaXNwbGF5OmJsb2NrfS55dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHR7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXh9Lnl0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHN7LW1vei1ib3gtb3JpZW50OnZlcnRpY2FsOy1tb3otYm94LWRpcmVjdGlvbjpyZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfX1AbWVkaWEgKG1heC1hc3BlY3QtcmF0aW86My80KXsueXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0ey1tb3otYm94LXBhY2s6ZW5kO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH19Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNIb3N0e2Rpc3BsYXk6YmxvY2t9Lnl0bVdhdGNoUGxheWVyQ29udHJvbHNCYWNrZ3JvdW5kQWN0aW9uSXRlbXN7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyfXl0bS1ub3RpZmljYXRpb24tYWN0aW9uLXJlbmRlcmVye2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lm5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dHstbW96LWJveC1mbGV4OjE7ZmxleC1ncm93OjE7cGFkZGluZy1yaWdodDoxcmVtfS5ub3RpZmljYXRpb24tYWN0aW9uLWJ1dHRvbntmbGV4LXNocmluazowfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O3BhZGRpbmctYm90dG9tOjRweDtvdXRsaW5lOm5vbmU7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6MDttYXJnaW4tYm90dG9tOjFweDtmb250OmluaGVyaXQ7Y29sb3I6IzAzMDMwMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNzM3MzczO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OmZvY3Vze21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXdpZHRoOjJweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMzAzMDN9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM2MDYwNjA7b3BhY2l0eToxfS51bmlmaWVkLXNoYXJlLXVybC1pbnB1dDo6cGxhY2Vob2xkZXJ7Y29sb3I6IzYwNjA2MDtvcGFjaXR5OjF9LnVuaWZpZWQtc2hhcmUtdXJsLWlucHV0e3dpZHRoOjEwMCU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEycHg7Y29sb3I6IzA2NWZkNDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4wNSk7Ym9yZGVyLWJvdHRvbS1zdHlsZTpub25lO2JvcmRlci1yYWRpdXM6OHB4fS5ib3R0b20tc2hlZXQtc2hhcmUtaXRlbSAudW5pZmllZC1zaGFyZS11cmwtaW5wdXR7aGVpZ2h0OjQ4cHg7bWFyZ2luLWJvdHRvbToxMnB4fS5zaGFyZS10YXJnZXQtbGlua3tkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTJweH0uYm90dG9tLXNoZWV0LXNoYXJlLWl0ZW0gLnNoYXJlLXRhcmdldC1saW5re3BhZGRpbmc6MDttYXJnaW4tbGVmdDoxMnB4O2hlaWdodDo0OHB4O2ZvbnQtZmFtaWx5OlJvYm90byxcIkFyaWFsXCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS42cmVtO2xpbmUtaGVpZ2h0OjIuMnJlbTtmb250LXdlaWdodDo0MDB9ZnVsbHNjcmVlbi1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO292ZXJmbG93OnNjcm9sbDt6LWluZGV4OjR9c2VudGluZWx7fSIpOwp0aGlzLmRlZmF1bHRfYmFzZT10aGlzLmRlZmF1bHRfYmFzZXx8e307KGZ1bmN0aW9uKF8pe3ZhciB3aW5kb3c9dGhpczsKdHJ5ewpfLkN0PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5zZXJ2aWNlSWQ9bmV3IF8uTnIoYSxiKX10b1N0cmluZygpe3JldHVybiB0aGlzLnNlcnZpY2VJZC50b1N0cmluZygpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIml1VDVPYyIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgd3Q7Xy52dD1mdW5jdGlvbihhLGIpe3JldHVybiBhPT1iPyEwOmEmJmI/YS53aWR0aD09Yi53aWR0aCYmYS5oZWlnaHQ9PWIuaGVpZ2h0OiExfTtfLnh0PWZ1bmN0aW9uKGEsYil7Yi5oYXNPd25Qcm9wZXJ0eSgiZGlzcGxheU5hbWUiKXx8KGIuZGlzcGxheU5hbWU9YS50b1N0cmluZygpKTtiW3d0XT1hfTt3dD1TeW1ib2woIklhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSWU9ZnVuY3Rpb24oKXt0aGlzLmlkPSJiIn07Xy5JZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZH07Xy5GdD1uZXcgXy5OcigiTXBKd1pjIiwiTXBKd1pjIik7dmFyIEd0O0d0PW5ldyBfLkllO18uSHQ9Y2xhc3MgZXh0ZW5kcyBfLkple2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoR3QsYSk7dGhpcy5ub2RlPWE7dGhpcy5raW5kPWJ9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wCiovCi8qCgogQ29weXJpZ2h0IDIwMTcgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQoqLwp2YXIgQUEsQkEsREEsV2FhLFhhYSxPQSxQQSwkYWEsYWJhLFNBLFRBLGRiYSxlYmEsZmJhLGRCLGdiYSxqYmEsa2JhLGhCLGtCLGxCLHJCLHNCLHRCLHVCLHZCLHdCLG5iYSxwYmEsb2JhLEVCLHNiYSxEQixGQixIQix0YmEsdWJhLHZiYSxRQixTQixUQix3YmEsYUMsWUIsY0MsVUIsZUMsaEMsaUMsa0MseWJhLHpiYSxBYmEsc0MsdkMsRGJhLHpDLENDLEZiYSxHYmEsRWJhLFZhYSxLQSxvQztfLnlBPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmZiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O18uekE9ZnVuY3Rpb24oYSxiKXtpZihhLm5vZGVUeXBlPT09MSYmL14oc2NyaXB0fHN0eWxlKSQvaS50ZXN0KGEudGFnTmFtZSkpdGhyb3cgRXJyb3IoImgiKTthLmlubmVySFRNTD1fLnlBKGIpfTtBQT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9O2ZvcihsZXQgZCBpbiBhKWNbZF09Yi5jYWxsKHZvaWQgMCxhW2RdLGQsYSk7cmV0dXJuIGN9OwpfLkl0PWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIk1hIik7fTtCQT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gbnVsbDthPV8uWHQoXy5lZChhLDIsdm9pZCAwLF8uRHYpKTtyZXR1cm4gYT09PW51bGx8fGE9PT12b2lkIDA/bnVsbDpfLmdiKGEpfTtfLkNBPWZ1bmN0aW9uKGE9Myl7dmFyIGI9Xy5adDtpZighYil7c3dpdGNoKGEpe2Nhc2UgMDphPUVycm9yKCJSYSIpO2JyZWFrO2Nhc2UgMTphPUVycm9yKCJVYSIpO2JyZWFrO2Nhc2UgMjphPUVycm9yKCJWYSIpO2JyZWFrO2RlZmF1bHQ6YT1FcnJvcigiV2EiKX10aHJvdyBhO31yZXR1cm4gYn07REE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPU9iamVjdC5jcmVhdGUoVmFhKTtkLnNvdXJjZT1hO2QuVGc9YjtjIT12b2lkIDAmJihkLmVxdWFsPWMpO2E9KCk9PntfLnJ1KGQpO18ucHUoZCk7aWYoZC52YWx1ZT09PV8uSXYpdGhyb3cgZC5lcnJvcjtyZXR1cm4gZC52YWx1ZX07YVtfLlp1XT1kO3JldHVybiBhfTsKXy5FQT1mdW5jdGlvbihhKXt2YXIgYj1fLmt1KG51bGwpO3RyeXtyZXR1cm4gYSgpfWZpbmFsbHl7Xy5rdShiKX19O1dhYT1mdW5jdGlvbihhKXthPXtbXy5FdV06ITAsZGVidWdOYW1lOmF9OyFfLlp0fHxfLkJ1KGEpO3JldHVybiBhfTtfLkZBPWZ1bmN0aW9uKGEpe3JldHVybiBhLmRlYnVnTmFtZXx8YS5uYW1lfHwiW2NvbXBvbmVudF0ifTtfLkdBPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLkZBKGEpO18uTXU9e25hbWU6Yz9gJHtkfSAoJHtjfSlgOmQsbGo6YS5jb21wb25lbnRUeXBlIT09Xy5LdixwYXJlbnQ6Xy5NdX07YT1iKCk7Xy5NdT1fLk11LnBhcmVudDtyZXR1cm4gYX07Xy5IQT1mdW5jdGlvbigpe3ZhciBhPV8uTXU7cmV0dXJuIGE/YS5sajohMX07Xy5JQT1mdW5jdGlvbihhKXtfLmd2LS07aWYoYSlmb3IobGV0IGIgb2YgXy5ZdiliLmNsZWFyKCk7ZWxzZSBfLmd2PjB8fF8uY3YuaXNGbHVzaGluZyYmIV8uS3UuUml8fF8uanYoKX07Cl8uSkE9ZnVuY3Rpb24oYSxiKXtiPXtjb21wb25lbnRTdGFjazpfLlN1KF8uUHUpLHByOl8uUXU/LnNsaWNlKCk/P1tdLGZoOjMsQWw6Xy5MdSgpLHRhZ05hbWU6Yn07cmV0dXJuW2EsYl19O18uTEE9ZnVuY3Rpb24oKXtpZih0eXBlb2YgS0E9PT0iZnVuY3Rpb24iKXZhciBhPUtBO2Vsc2UgaWYodHlwZW9mIEtBPT09Im9iamVjdCIpYT1LQS5jb25zdHJ1Y3RvcjtlbHNlIHRocm93IEVycm9yKHZvaWQgMCk7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfTtYYWE9ZnVuY3Rpb24oKXtpZighXy51Py5TeW1ib2w/LmZvcilyZXR1cm4gbmV3IFdlYWtNYXA7dmFyIGE9U3ltYm9sLmZvcigiZ29vZ2xlLmdvZW0iKSxiPV8udVthXTtpZihiKXJldHVybiBiO2I9bmV3IFdlYWtNYXA7cmV0dXJuIF8udVthXT1ifTsKT0E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnRhZ05hbWUsZD1hLnRhZ05hbWU7YT1NQS5oYXMoZCkmJiFZYWEuaGFzKGQpOygoYj1NQS5oYXMoYykpfHxhKSYmYSYmIWImJk5BLmhhcyhjLnRvTG93ZXJDYXNlKCkpJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiSWJgIitjKyJgIitkKSwyLGMpO30pfTtQQT1mdW5jdGlvbigpe307Xy5RQT1mdW5jdGlvbihhLGIsYyl7aWYoYz09bnVsbClhLnJlbW92ZUF0dHJpYnV0ZShiKTtlbHNle3ZhciBkOyhkPWIubGFzdEluZGV4T2YoInhtbDoiLDApPT09MD8iaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlIjpiLmxhc3RJbmRleE9mKCJ4bGluazoiLDApPT09MD8iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI6bnVsbCk/YS5zZXRBdHRyaWJ1dGVOUyhkLGIsYyk6YS5zZXRBdHRyaWJ1dGUoYixjKX19OwokYWE9ZnVuY3Rpb24oYSxiLGMpe2E9YS5zdHlsZTtpZih0eXBlb2YgYz09PSJzdHJpbmciKWEuY3NzVGV4dD1jO2Vsc2V7YS5jc3NUZXh0PSIiO2ZvcihsZXQgZiBpbiBjKWlmKFphYS5jYWxsKGMsZikpe2I9YTt2YXIgZD1mLGU9Y1tmXTtkLmluZGV4T2YoIi0iKT49MD9iLnNldFByb3BlcnR5KGQsZSk6YltkXT1lfX19O2FiYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dHlwZW9mIGM7ZD09PSJvYmplY3QifHxkPT09ImZ1bmN0aW9uIj9hW2JdPWM6Xy5RQShhLGIsYyl9O1NBPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IFBBO2FbXy5SQS5kZWZhdWx0XT1hYmE7YS5zdHlsZT0kYWE7cmV0dXJuIGF9O1RBPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGI9PWMmJmQ9PWV9O18uWEE9ZnVuY3Rpb24oKXtmb3IodmFyIGE9Xy5VQSxiPV8uVkEoKTtiIT09bnVsbDspe2xldCBjPWIubmV4dFNpYmxpbmc7YS5yZW1vdmVDaGlsZChiKTtfLldBLmRlbGV0ZWQucHVzaChiKTtiPWN9fTsKXy5WQT1mdW5jdGlvbigpe3JldHVybiBfLllBP18uWUEubmV4dFNpYmxpbmc6Xy5VQS5maXJzdENoaWxkfTsKZGJhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLldBLGU9Xy5aQSxmPV8uJEEsaD1fLmFCLGs9Xy5ZQSxsPV8uVUEsbT1fLmJCO18uWkE9YS5vd25lckRvY3VtZW50O18uV0E9bmV3IGJiYShhKTtfLmJCPWI7Xy5hQj1bXTtfLllBPW51bGw7Yj1fLlVBPWEucGFyZW50Tm9kZTt2YXIgbj1jYmEuY2FsbChhKTtpZigobj1uLm5vZGVUeXBlPT09MTF8fG4ubm9kZVR5cGU9PT05P24uYWN0aXZlRWxlbWVudDpudWxsKSYmYS5jb250YWlucyhuKSl7Zm9yKGE9W107biE9PWI7KWEucHVzaChuKSxuPW4ucGFyZW50Tm9kZXx8KGI/bi5ob3N0Om51bGwpO2I9YX1lbHNlIGI9W107Xy4kQT1iO3RyeXtyZXR1cm4gYygpfWZpbmFsbHl7Yz1fLldBLF8uY0ImJmMuZGVsZXRlZC5sZW5ndGg+MCYmKDAsXy5jQikoYy5kZWxldGVkKSxfLlpBPWUsXy5XQT1kLF8uYkI9bSxfLmFCPWgsXy5ZQT1rLF8uVUE9bCxfLiRBPWZ9fTsKZWJhPWZ1bmN0aW9uKGEsYj17fSl7dmFyIHttYXRjaGVzOmM9VEF9PWI7cmV0dXJuKGQsZSxmKT0+ZGJhKGQsYywoKT0+YShkLGUsZikpfTtmYmE9ZnVuY3Rpb24oYSl7YT1TdHJpbmcoYSk7Zm9yKHZhciBiPShkLGUsZik9Pnt2YXIgaD1NYXRoLm1pbihlLmxlbmd0aC1mLGQubGVuZ3RoKTtmb3IobGV0IGw9MDtsPGg7bCsrKXt2YXIgaz1lW2YrbF07aWYoZFtsXSE9PSgiQSI8PWsmJms8PSJaIj9rLnRvTG93ZXJDYXNlKCk6aykpcmV0dXJuITF9cmV0dXJuITB9LGM9MDsoYz1hLmluZGV4T2YoIjwiLGMpKSE9LTE7KXtpZihiKCJceDNjL3NjcmlwdCIsYSxjKXx8YigiXHgzYyEtLSIsYSxjKSlyZXR1cm4ielNveXoiO2MrPTF9cmV0dXJuIGF9OwpkQj1mdW5jdGlvbihhKXtpZihhLmlzQ29ubmVjdGVkIT09dm9pZCAwKXJldHVybiBhLmlzQ29ubmVjdGVkO3ZhciBiPWEub3duZXJEb2N1bWVudDtpZighYilyZXR1cm4gYT09PWRvY3VtZW50O2lmKHR5cGVvZiBiLmNvbnRhaW5zPT09ImZ1bmN0aW9uIilyZXR1cm4gYi5jb250YWlucyhhKTtmb3IoO2E7KXtpZihhPT09YilyZXR1cm4hMDthPWEucGFyZW50Tm9kZX1yZXR1cm4hMX07Z2JhPWZ1bmN0aW9uKGEsYj0hMSl7dmFyIGM9Xy5DQSgpLGQ9Xy5NdTtyZXR1cm4gZT0+e3ZhciBmPSExLGg9ZS5jdXJyZW50VGFyZ2V0O2gmJihmPSFkQihoKXx8YiYmaFtlQl09PT0hMCk7dmFyIGs9Yz8uaWEsbD1iJiZoJiZoW2VCXT09PSEwO2lmKGZ8fGspe2lmKGgmJmRCKGgpJiYoa3x8bCkpdGhyb3cgXy5VdShFcnJvcigia2MiKSw0KTt9ZWxzZXt2YXIgbT0oKT0+YShlKTt0cnl7Xy5SdSgoKT0+Xy5FQShtKSxkKX1jYXRjaChuKXtfLm92KG4sYyl9fX19OwpfLmdCPWZ1bmN0aW9uKGEsYixjKXtpZihPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChmQixhKSYmKGE9ZkJbYV0sT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoYSxiKSYmKGE9YVtiXSxhIGluc3RhbmNlb2YgQXJyYXkpKSl7bGV0IGU9bnVsbCxmPSExO2ZvcihsZXQgaD0wLGs9YS5sZW5ndGg7aDxrOysraCl7bGV0IGw9YVtoXTt2YXIgZD1sLmliO2lmKCFkKXJldHVybiBsLmthO2U9PT1udWxsJiYoZT17fSk7ZD1PYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChlLGQpP2VbZF06ZVtkXT1jKGQpO2lmKGQ9PT1sLm5iKXJldHVybiBsLmthO2Q9PW51bGwmJihmPSEwKX1pZihmKXJldHVybiBudWxsfWI9aGJhW2JdO3JldHVybiB0eXBlb2YgYj09PSJudW1iZXIiP2I6bnVsbH07CmpiYT1mdW5jdGlvbihhLGIpe2I9Xy5nQihhLnRvTG93ZXJDYXNlKCksYiwoKT0+e3Rocm93IF8uVXUoRXJyb3IoIm1jIiksNCxhLnRvTG93ZXJDYXNlKCkpO30pO3JldHVybiBiPT09bnVsbD9udWxsOmliYVtiXT8/bnVsbH07a2JhPWZ1bmN0aW9uKGEsYixjKXtpZihjPT09bnVsbHx8Yz09PXZvaWQgMClyZXR1cm4gYztiPWIudG9Mb3dlckNhc2UoKTthPWpiYShhLGIpO3JldHVybiBhPT09bnVsbD9jOmEoYixjKX07aEI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1XYWEoYik7Yj1fLiR0KGMpO3RyeXthKGMpfWZpbmFsbHl7Xy4kdChiKX1yZXR1cm4oKT0+dm9pZCBfLkN1KGMpfTtfLmlCPWZ1bmN0aW9uKGEpe3JldHVybiBfLkFhKGEpPyJub2RlVHlwZSJpbiBhOiExfTtfLmpCPWZ1bmN0aW9uKGEpe3JldHVybiBfLmlCKGEpJiZhLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREV9O2tCPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKX07CmxCPWZ1bmN0aW9uKGEpe2E9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGEpKTthLl9pc1NpZ25hbFRleHROb2RlPSEwO3JldHVybiBhfTtfLm9CPWZ1bmN0aW9uKGEpe3JldHVybiBhIT1udWxsJiZhLkdpPT09Xy5tQnx8YSBpbnN0YW5jZW9mIF8uZmJ8fG5CKGEpfTtfLnBCPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKG5CKGEpJiZCQShhKSlfLnpBKGIsQkEoYSkpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uZmIpXy56QShiLGEpO2Vsc2UgaWYoYSE9bnVsbCYmYS5HaT09PV8ubUIpe2lmKGEuR2khPT1fLm1CKXRocm93IEVycm9yKCJOYSIpO2E9Xy5nYihhLnRvU3RyaW5nKCkpO18uekEoYixhKX1mb3IobGV0IGMgb2YgYi5jaGlsZE5vZGVzKWMuX2lzU2FmZU9yU2FuaXRpemVkSHRtbE5vZGU9ITA7cmV0dXJuIGJ9OwpfLnFCPWZ1bmN0aW9uKGEpe2E9dHlwZW9mIGE7cmV0dXJuIGE9PT0ic3RyaW5nInx8YT09PSJudW1iZXIifHxhPT09ImJvb2xlYW4ifTtyQj1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uU2F8fF8uWGEoYSl8fCExfTtzQj1mdW5jdGlvbihhLGIpe3ZhciBjPWEucGFyZW50RWxlbWVudDtpZighYylyZXR1cm4gYjtfLmpCKGIpJiZPQShjLGIpO2MucmVwbGFjZUNoaWxkKGIsYSk7cmV0dXJuIGJ9O3RCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YVswXS5wYXJlbnRFbGVtZW50O2lmKGMpaWYoYVswXS5wcmV2aW91c1NpYmxpbmd8fGFbYS5sZW5ndGgtMV0ubmV4dFNpYmxpbmcpe2MuaW5zZXJ0QmVmb3JlKGIsYVswXSk7Zm9yKGxldCBkPWEubGVuZ3RoLTE7ZD49MDtkLS0pYy5yZW1vdmVDaGlsZChhW2RdKX1lbHNlIGMudGV4dENvbnRlbnQ9IiIsYy5hcHBlbmRDaGlsZChiKTtyZXR1cm4gYn07CnVCPWZ1bmN0aW9uKGEsYil7aWYoYVswXS5wYXJlbnRFbGVtZW50KXt2YXIgYz1hWzBdLnBhcmVudEVsZW1lbnQ7bGV0IGY9Yi5sZW5ndGgsaD1hLmxlbmd0aCxrPWYsbD0wLG09MCxuPWFbaC0xXS5uZXh0U2libGluZyxwPW51bGw7Zm9yKDtsPGh8fG08azspaWYoYVtsXT09PWJbbV0pbCsrLG0rKztlbHNle2Zvcig7YVtoLTFdPT09YltrLTFdOyloLS0say0tO2lmKGg9PT1sKWZvcih2YXIgZD1rPGY/bT9iW20tMV0ubmV4dFNpYmxpbmc6YltrLW1dOm47bTxrOyl7dmFyIGU9YlttKytdO18uakIoZSkmJk9BKGMsZSk7Yy5pbnNlcnRCZWZvcmUoZSxkKX1lbHNlIGlmKGs9PT1tKWZvcig7bDxoOylkPWFbbF0scCYmcC5oYXMoZCl8fGMucmVtb3ZlQ2hpbGQoZCksbCsrO2Vsc2UgaWYoYVtsXT09PWJbay0xXSYmYlttXT09PWFbaC0xXSlkPWFbLS1oXS5uZXh0U2libGluZyxjLmluc2VydEJlZm9yZShiW20rK10sYVtsKytdLm5leHRTaWJsaW5nKSxjLmluc2VydEJlZm9yZShiWy0ta10sZCksCmFbaF09YltrXTtlbHNle2lmKCFwKWZvcihwPW5ldyBNYXAsZD1tO2Q8azspcC5zZXQoYltkXSxkKyspO2Q9cC5nZXQoYVtsXSk7aWYoZD09bnVsbCljLnJlbW92ZUNoaWxkKGFbbF0pLGwrKztlbHNlIGlmKG08ZCYmZDxrKXtlPWw7bGV0IHI9MSx0O2Zvcig7KytlPGgmJmU8azspe3Q9cC5nZXQoYVtlXSk7aWYodD09bnVsbHx8dCE9PWQrcilicmVhaztyKyt9aWYocj5kLW0pZm9yKGU9YVtsXTttPGQ7KWMuaW5zZXJ0QmVmb3JlKGJbbSsrXSxlKTtlbHNlIGMucmVwbGFjZUNoaWxkKGJbbSsrXSxhW2wrK10pfWVsc2UgbCsrfX19cmV0dXJuIGJ9O3ZCPWZ1bmN0aW9uKGEpe2lmKCFBcnJheS5pc0FycmF5KGEpKXJldHVybiBhPy5wYXJlbnRFbGVtZW50O2ZvcihsZXQgYiBvZiBhKWlmKGE9dkIoYikpcmV0dXJuIGE7cmV0dXJuIG51bGx9O3dCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5fZGlzcG9zZUVmZmVjdHM7YS5fZGlzcG9zZUVmZmVjdHM9Yz8oKT0+e2MoKTtiKCl9OmJ9OwpfLnpCPWZ1bmN0aW9uKGEsYixjKXtpZih0eXBlb2YgYz09PSJib29sZWFuIiYmbGJhLmhhcyhiKSlfLlFBKGEsYixTdHJpbmcoYykpO2Vsc2UgaWYoYz09PSExJiZtYmEuaGFzKGIpKV8uUUEoYSxiLG51bGwpO2Vsc2UgaWYoYiE9PSJpZG9tS2V5IiYmYiE9PSJza2lwIiYmYiE9PSJza2lwY2hpbGRyZW4iJiZiIT09ImNoaWxkcmVuIiYmYiE9PSJlbCIpaWYoYi5zdGFydHNXaXRoKCJvbiIpKXtpZihiWzJdIT09IjoiKXRocm93IF8uVXUoRXJyb3IoImxjYCIrYiksNCxhLnRhZ05hbWUpO2xldCBmPWIuc2xpY2UoMyk7dmFyIGQ9Xy5IQSgpO2lmKGM9PT12b2lkIDApZHx8Zj09PSJqc2FjdGlvbiJ8fHhCLmluY2x1ZGVzKGYpfHwoYVtgb24ke2Z9YF09bnVsbCk7ZWxzZSBpZihmPT09ImpzYWN0aW9uIil7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO2ZvcihsZXQgaCBvZiBjKXtpZih0eXBlb2YgaCE9PSJvYmplY3QifHxoPT09bnVsbHx8dHlwZW9mIGgucW4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJzY2AiKwpiKTtoLnFuKDAsYSxkP18uWXU6KCk9Pnt9KX19ZWxzZXtpZih0eXBlb2YgYz09PSJmdW5jdGlvbiIpe2R8fGFbZUJdIT09dm9pZCAwfHwoYVtlQl09ITEsd0IoYSwoKT0+e2FbZUJdPSEwfSkpO3ZhciBlPWdiYShjLCFkKX1lbHNle25iYShiLGMpO2lmKGMucW4pe2MucW4oMCxhLGYsZD9fLll1OigpPT57fSk7cmV0dXJufWU9Yy5VcCgwKX1pZihkJiZhW2BvbiR7Zn1gXT09PXZvaWQgMClhLmFkZEV2ZW50TGlzdGVuZXIoZixlKSxfLll1KCgpPT52b2lkIGEucmVtb3ZlRXZlbnRMaXN0ZW5lcihmLGUpKTtlbHNlIGlmKGR8fCF4Qi5pbmNsdWRlcyhmKSlhW2BvbiR7Zn1gXT1lfX1lbHNle2lmKGIuc3RhcnRzV2l0aCgiZGF0YS0iKSYmdHlwZW9mIGM9PT0ic3RyaW5nIil0cnl7Yz1mYmEoYyl9Y2F0Y2goZil7Yz0ielNveXoifXR5cGVvZiBjIT09ImZ1bmN0aW9uInx8YS5fZGlzcG9zZUVmZmVjdHMhPW51bGw/KChkPWIuc3RhcnRzV2l0aCgicHJvcDoiKSkmJihiPWIuc2xpY2UoNSkpLGI9PT0KInN0eWxlIj9fLkhBKCk/dHlwZW9mIGM9PT0ib2JqZWN0IiYmYyE9PW51bGw/b2JhKGEsYyk6eUIoYSxiLGMpOnlCKGEsYixjKTooXy5LdS55diYmKGQmJnBiYShhLnRhZ05hbWUpfHwoYz1rYmEoYS50YWdOYW1lLGIsYykpKSxkP2FbYl09YzpxYmEoYSxiLGMpKSk6KGEuX3NpZ25hbFByb3BzfHwoYS5fc2lnbmFsUHJvcHM9W10pLGEuX3NpZ25hbFZhbHVlc3x8KGEuX3NpZ25hbFZhbHVlcz1bXSksYS5fc2lnbmFsUHJvcHMucHVzaChiKSl9fTtfLkFCPWZ1bmN0aW9uKGEsYix7bGo6Y309e30pe2lmKGI/LmVsKXtsZXQgZD1iLmVsO2QubXo/LihhKTthLl9kaXNwb3NlUmVmfHwoYS5fZGlzcG9zZVJlZj0oKT0+e2QudXo/LigpO2RlbGV0ZSBhLl9kaXNwb3NlUmVmfSxjJiZfLll1KCgpPT57YS5fZGlzcG9zZVJlZj8uKCl9KSl9fTsKbmJhPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGIhPT0ib2JqZWN0Inx8Yj09PW51bGwpdGhyb3cgXy5VdShFcnJvcigicWNgIithKyJgIit0eXBlb2YgYiksNCk7aWYodHlwZW9mIGIuVXAhPT0iZnVuY3Rpb24iKXRocm93IF8uVXUoRXJyb3IoInJjYCIrYSsiYCIrT2JqZWN0LmtleXMoYikpLDQpO307cGJhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxlbmd0aD4wJiZhLmluY2x1ZGVzKCItIikmJiFyYmEuaW5jbHVkZXMoYS50b0xvd2VyQ2FzZSgpKX07Cm9iYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uWnQsZD1hW0JCXSxlPWFbQ0JdO2lmKGUpZm9yKHZhciBmIG9mIHNiYShlLGIpKURCKGQsZiksRUIoYS5zdHlsZSxmLG51bGwpO2U9bmV3IFNldDtmb3IobGV0IGggaW4gYil7aWYoIWIuaGFzT3duUHJvcGVydHkoaCkpY29udGludWU7ZS5hZGQoaCk7bGV0IGs9YltoXTtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiImJmMpe2lmKCFkKXtkPW5ldyBNYXA7bGV0IGw9YVtCQl09ZDt3QihhLCgpPT57Zm9yKGxldCBtIG9mIGwudmFsdWVzKCkpbSgpO2wuY2xlYXIoKX0pfURCKGQsaCk7Zj1fLnV2KCgpPT57Xy50digoKT0+e3ZhciBsPWsoKTtFQihhLnN0eWxlLGgsbCl9LCJRRHpISmUiKX0pO2Quc2V0KGgsZil9ZWxzZSBEQihkLGgpLEVCKGEuc3R5bGUsaCxrKX1hW0NCXT1lfTsKRUI9ZnVuY3Rpb24oYSxiLGMpe2M9PW51bGx8fGM9PT0hMT9iLnN0YXJ0c1dpdGgoIi0tIil8fGIuaW5jbHVkZXMoIi0iKT9hLnJlbW92ZVByb3BlcnR5KGIpOmFbYl09IiI6Yi5zdGFydHNXaXRoKCItLSIpfHxiLmluY2x1ZGVzKCItIik/YS5zZXRQcm9wZXJ0eShiLFN0cmluZyhjKSk6YVtiXT1jfTtzYmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKGxldCBjIG9mIGEpYyBpbiBifHwoeWllbGQgYyl9KCl9O0RCPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9YS5nZXQoYik7YyYmKGMoKSxhLmRlbGV0ZShiKSl9fTtGQj1mdW5jdGlvbihhKXtyZXR1cm4oMCxfLnFyKShhKSYmIl9fd2l6X1JxTVlNImluIGF9O18uR0I9ZnVuY3Rpb24oYSl7cmV0dXJuIEZCKGEpP2EuX193aXpfUnFNWU0uUWU6YX07SEI9ZnVuY3Rpb24oYSxiLC4uLmMpe2I9Yj8/e307cmV0dXJue3R5cGU6YSxwcm9wczpiLGNoaWxkcmVuOmMsW18uTHZdOiEwfX07Xy5JQj1mdW5jdGlvbihhKXtyZXR1cm4gYS5jaGlsZHJlbn07Cl8uTEI9ZnVuY3Rpb24oYSl7dmFyIGI9SkIhPT1IQjtKQj1hP18uS0I6SEI7cmV0dXJuIGJ9O3RiYT1mdW5jdGlvbigpe3ZhciBhPV8uQ0EoMSksYj1fLmN1KGEsXy5NQik7aWYoIV8uYnUoYikpcmV0dXJuIGI7YT1fLmN1KGEsXy5OQik7aWYoIV8uYnUoYSkpcmV0dXJuIGEubncoKX07Xy5QQj1mdW5jdGlvbihhLGIpe2I9PW51bGwmJihiPShfLk9CLnN2Pz9kb2N1bWVudCkuX193aXpkaXNwYXRjaGVyLmFKKCkpO2IuZ2V0KF8uRnQpLm8uZGlzcGF0Y2hFdmVudChuZXcgXy5IdChhLF8ubUIpKX07CnViYT1mdW5jdGlvbihhKXtpZihBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aD4xKXRocm93IF8uVXUoRXJyb3IoInZjYCIrYS5sZW5ndGgrImAiK2EubWFwKFFCKS5qb2luKCIsICIpKSw0LCJTQ1JJUFQiKTthPWFbMF19aWYoYT09bnVsbClyZXR1cm4gbnVsbDtpZighKGEgaW5zdGFuY2VvZiBfLmpiKSl7aWYod2luZG93Py50cnVzdGVkVHlwZXM/LmlzU2NyaXB0KGEpKXRocm93IEVycm9yKCJ1YyIpO2lmKFN0cmluZyhhKS50cmltKCkubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt0aHJvdyBFcnJvcigid2NgIitRQihhKSk7fXJldHVybiBhfTt2YmE9ZnVuY3Rpb24oYSxiKXtiPXViYShiKTtiIT09bnVsbCYmXy5uYihhLGIpfTsKXy5SQj1mdW5jdGlvbihhKXtpZihBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aD4xKXRocm93IF8uVXUoRXJyb3IoInhjYCIrYS5sZW5ndGgrImAiK2EubWFwKFFCKS5qb2luKCIsICIpKSw0LCJTVFlMRSIpO2E9YVswXX1pZihhPT1udWxsfHxTdHJpbmcoYSkudHJpbSgpLmxlbmd0aD09PTApcmV0dXJuIG51bGw7dGhyb3cgRXJyb3IoInljYCIrUUIoYSkpO307UUI9ZnVuY3Rpb24oYSl7cmV0dXJuYCgke3R5cGVvZiBhfSkgJHthIT1udWxsJiZ0eXBlb2YgYT09PSJvYmplY3QiP2EuY29uc3RydWN0b3IubmFtZTp0eXBlb2YgYX0gJHthfWB9O1NCPWZ1bmN0aW9uKCl7fTtUQj1mdW5jdGlvbigpe3JldHVybiBudWxsfTsKXy5YQj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPVVCKCksZD0hMCxlLGY9ISFfLkt1LkpxO2YmJihlPXRiYSgpKTtfLnR2KCgpPT57dmFyIGg9IWQmJmIuV2UmJmYsaz1oP3ZCKGNbMF0pOnZvaWQgMDtkPSExO2IuV2UmJl8uZ3YrKzt2YXIgbD1jWzBdLG09Yy5fX3dpel9ScU1ZTS5RZSxuPV8uTEIoITApO3RyeXtsZXQgdjt0cnl7dj1hKCl9Y2F0Y2goRil7Xy5vdihGKSx2PWtCKCl9bGV0IHo9d2JhKGwsdixjKSxFPV8uVkIudnkoeik/P3o7QXJyYXkuaXNBcnJheShFKXx8KGMuX193aXpfUnFNWU0uUWU9W0VdKTtsZXQgQT1jLl9fd2l6X1JxTVlNLlFlO2lmKG0mJighQXJyYXkuaXNBcnJheShtKXx8bS5sZW5ndGghPT0wKSl7dmFyIHA9QXJyYXkuaXNBcnJheShtKT9tWzBdOm0scj1wW18uV0JdLHQ9cC5fZGlzcG9zZUVmZmVjdHM7cC5fZGlzcG9zZUVmZmVjdHM9dm9pZCAwO3A9QXJyYXkuaXNBcnJheShBKT9BWzBdOkE7cFtfLldCXT1yO3BbXy5XQl0mJihwW18uV0JdLlVxPXA9PT1BPwoxOkEubGVuZ3RoKTtwLl9kaXNwb3NlRWZmZWN0cz10fWNbMF09RTtiLldlJiZfLklBKCExKX1jYXRjaCh2KXt0aHJvdyBiLldlJiZfLklBKCEwKSxfLlV1KHYsNCk7fWZpbmFsbHl7Xy5MQihuKX1oJiZfLlBCKGssZSl9LGIuZGVidWdOYW1lKTtyZXR1cm4gY307CndiYT1mdW5jdGlvbihhLGIsYyl7Zm9yKDt0eXBlb2YgYj09PSJmdW5jdGlvbiI7KWI9YigpO2lmKGI/LltfLkx2XSl0aHJvdyBfLlV1KEVycm9yKCJ6Y2AiK2IudHlwZT8uWmMpLDQsYi50eXBlPy5aYyk7aWYoYT09bnVsbClyZXR1cm4gYj09bnVsbD9rQigpOl8ucUIoYik/bEIoYik6ckIoYik/bEIoYi50b1N0cmluZygpKTpfLmlCKGIpP2I6Yi5sZW5ndGg9PT0wP2tCKCk6WUIoYixjKTtpZihfLmlCKGEpKXtpZihiPT1udWxsKXJldHVybiBzQihhLGtCKCkpO2lmKF8ucUIoYikpcmV0dXJuIGFDKGEsYik7aWYockIoYikpcmV0dXJuIGFDKGEsYi50b1N0cmluZygpKTtpZihfLmlCKGIpKXJldHVybiBzQihhLGIpO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gc0IoYSxrQigpKTtiPVlCKGIsYyk7dUIoW2FdLGMuX193aXpfUnFNWU0uUWUpO3JldHVybiBifWE9Xy5iQyhhKTtpZihiPT1udWxsKXJldHVybiB0QihhLGtCKCkpO2lmKF8ucUIoYikpcmV0dXJuIHRCKGEsbEIoYikpO2lmKHJCKGIpKXJldHVybiB0QihhLApsQihiLnRvU3RyaW5nKCkpKTtpZihfLmlCKGIpKXJldHVybiB1QihhLFtiXSlbMF07aWYoYi5sZW5ndGg9PT0wKXJldHVybiB0QihhLGtCKCkpO2I9WUIoYixjKTt1QihhLGMuX193aXpfUnFNWU0uUWUpO3JldHVybiBifTthQz1mdW5jdGlvbihhLGIpe2Eubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9hLnRleHRDb250ZW50IT09U3RyaW5nKGIpJiYoYS50ZXh0Q29udGVudD1TdHJpbmcoYikpOmE9c0IoYSxsQihiKSk7cmV0dXJuIGF9O18uYkM9ZnVuY3Rpb24oYSxiLGM9ITEpe3JldHVybiBjQyhhLGI/P1tdLGMpfTtZQj1mdW5jdGlvbihhLGIpe3ZhciBjPV8uYkMoYSx2b2lkIDAsITApO2lmKGMubGVuZ3RoPT09MClyZXR1cm4ga0IoKTtiLl9fd2l6X1JxTVlNLlFlPWM7cmV0dXJuIGF9OwpjQz1mdW5jdGlvbihhLGI9W10sYz0hMSxkLGU9LTEpe2lmKGE9PW51bGwpcmV0dXJuIGI7aWYoIUFycmF5LmlzQXJyYXkoYikmJl8uakIoYikpc3dpdGNoKF8uakIoYSkmJk9BKGIsYSksYi50YWdOYW1lKXtjYXNlICJTQ1JJUFQiOnZiYShiLGEpO3JldHVybjtjYXNlICJTVFlMRSI6aWYoXy5SQihhKSE9PW51bGwpdGhyb3cgRXJyb3IoImgiKTtyZXR1cm59aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKHZhciBmPTA7ZjxhLmxlbmd0aDtmKyspY0MoYVtmXSxiLGMsYSxmKTtyZXR1cm4gYn1pZihhIGluc3RhbmNlb2YgXy5kQylyZXR1cm4gZj1hLm9jKCksY0MoZixiLGMsZCxlKTtpZihfLnFCKGEpKXJldHVybiBhPWxCKGEpLGQmJmMmJihkW2VdPWEpLGVDKGIsYSk7aWYoXy5vQihhKSl7Yz1fLnBCKGEpO2ZvcihjPWMuZmlyc3RDaGlsZDtjOylmPWMubmV4dFNpYmxpbmcsZUMoYixjKSxjPWY7cmV0dXJuIGJ9aWYockIoYSkpcmV0dXJuIGE9bEIoYS50b1N0cmluZygpKSxkJiZjJiYoZFtlXT0KYSksZUMoYixhKTtpZihfLmlCKGEpKXJldHVybiBlQyhiLGEpO2lmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIil7Zj1fLlhCKCgpPT57dmFyIGs9YSgpO2lmKGs9PW51bGx8fF8ucUIoaykpcmV0dXJuIGs7aWYoXy5vQihrKSlyZXR1cm4gaz1fLnBCKGspLEFycmF5LmZyb20oay5jaGlsZE5vZGVzKTt0aHJvdyBfLlV1KEVycm9yKCJBYmAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKyJgIit0eXBlb2YgayksNCk7fSx7ZGVidWdOYW1lOiJxbUYybmUiLHpwOmF9KVswXTtpZihBcnJheS5pc0FycmF5KGYpKXtmb3IodmFyIGggb2YgZillQyhiLGgpO3JldHVybiBifWQmJmMmJihkW2VdPWYpO3JldHVybiBlQyhiLGYpfWlmKGE/LltfLkx2XSl7ZD1hO2U9Xy5MQighMCk7aD1KQjt0cnl7Zj1oKGQudHlwZSxkLnByb3BzLC4uLmQuY2hpbGRyZW4pfWZpbmFsbHl7Xy5MQihlKX1yZXR1cm4gY0MoZixiLGMpfXRocm93IF8uVXUoRXJyb3IoIkFjIiksNCk7fTsKVUI9ZnVuY3Rpb24oYSl7dmFyIGI9T2JqZWN0LmFzc2lnbihbXSx7X193aXpfUnFNWU06e1FlOltdfX0pO2lmKCFhKXJldHVybiBiO2JbMF09WUIoYSxiKTtyZXR1cm4gYn07ZUM9ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpP2EucHVzaChiKTphLmFwcGVuZENoaWxkKGIpO3JldHVybiBhfTtfLmZDPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl09Xy5mQyhhW2JdKTtyZXR1cm4gYX1yZXR1cm4gYSBpbnN0YW5jZW9mIF8uZEM/KGE9YS5vYygpLF8uZkMoYSkpOmF9OwpfLmdDPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPV8uRkEoYSksZj1sPT57ZD1sO3ZhciBtPV8uTEIoITApLG49Xy5rdShfLnp2KTt0cnl7Yz1fLmZDKGEoYikpfWZpbmFsbHl7Xy5rdShuKSxfLkxCKG0pfSFBcnJheS5pc0FycmF5KGMpJiZfLkZ1KGwpfTtlPV8uS3UuR3A/aEIoZixlKTpfLnV2KGYsXy5LdS5yaXx8ISFfLlp0KTtpZighYi5qbil7Zj1fLiR0KGQpO3RyeXtyZXR1cm4oMCxfLnZ2KShhLGIsYyksY31maW5hbGx5e18uJHQoZil9fSFGQihjKSYmQXJyYXkuaXNBcnJheShjKSYmKGM9VUIoYykpO3ZhciBoPV8uR0IoYyk7Zj1BcnJheS5pc0FycmF5KGgpP2hbMF06aDt2YXIgaz0hMTtpZihmKXtsZXQgbD1iPy5pZG9tS2V5Pz9hLG09aCE9PWY7Zi5fZGlzcG9zZUVmZmVjdHM9ZTtsZXQgbj1mW18uV0JdfHx7fSxwPUZCKGMpP2M6bi55bjtPYmplY3QuYXNzaWduKG4se2tleTpsLFVxOm0/aC5sZW5ndGg6MSxvd25lcjpkLGxKOiEhZltfLldCXSx5bjpwfSk7ZltfLldCXT1ufWVsc2Ugaz0KITA7KCgpPT57dmFyIGw9Xy4kdChkKTt0cnl7KDAsXy52dikoYSxiLGgpfWZpbmFsbHl7Xy4kdChsKX19KSgpO2smJmUoKTtyZXR1cm4gY307aEM9ZnVuY3Rpb24oYSxiKXtpZighYS52JiZiKXthLnY9ITA7dHJ5e2EuSGYoKX1jYXRjaChjKXtfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShjLGEuaj8uWmMpKX1fLmJ3LkhmKGEpO2EuZWw9bnVsbDtiLl9faW5zdGFuY2UmJmRlbGV0ZSBiLl9faW5zdGFuY2V9fTtfLmpDPWZ1bmN0aW9uKGEsYixjPSExKXthLl9zaWduYWxQcm9wcyE9bnVsbCYmYS5fZGlzcG9zZUVmZmVjdHM9PW51bGwmJihjP2EuX2Rpc3Bvc2VFZmZlY3RzPV8udXYoKCk9PnZvaWQgaUMoYSxiKSxfLkt1LnJpfHwhIV8uWnQpOmlDKGEsYikpfTsKaUM9ZnVuY3Rpb24oYSxiKXtfLnR2KCgpPT57dmFyIGM9YS5fc2lnbmFsUHJvcHMsZD1hLl9zaWduYWxWYWx1ZXM7Zm9yKGxldCBlPTA7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV0saD1iW2ZdKCk7ZFtlXSE9PWgmJihkW2VdPWgsXy56QihhLGYsaCkpfX0sImUzWVZiYiIpfTtfLmxDPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPz8oYj17fSk7cmV0dXJuIF8uSEEoKXx8Xy5NdT09bnVsbD9uZXcgeGJhKGEsYixjKTprQyhhLGIsYyl9OwprQz1mdW5jdGlvbihhLGIsYyl7aWYoYT09PV8uSUIpcmV0dXJuIGM7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBfLk11JiYhXy5IQSgpJiYoYi5qbj0hMCksXy5HQShhLCgpPT57Yy5sZW5ndGg+MCYmKGIuY2hpbGRyZW49Yy5sZW5ndGg9PT0xP2NbMF06Yyk7aWYoYS5jb21wb25lbnRUeXBlPT09Xy5Ldil7bGV0IGU7aEIoKCk9Pnt2YXIgZj1iO2lmKGEuY29tcG9uZW50VHlwZSE9PV8uS3YpZT0hMTtlbHNle2Z8fChmPXt9KTt2YXIgaD1uZXcgXy5tQyhmLGEpLGs9Xy5rdShfLnp2KTt0cnl7dmFyIGw9aC5vYyhmKX1maW5hbGx5e18ua3Uoayl9bCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50PyhsLl9faW5zdGFuY2U9aCxoLmVsPWwsaC5qPWEsYS5aYz1sLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxfLmJ3LkdmKGgpLGU9bCk6ZT1sfX0sYS5uYW1lKTtpZihlKXJldHVybiBlfXJldHVybiBfLmdDKGEsYil9LGIuZGVidWdJbnN0YW5jZSk7dmFyIGQ9eWJhKGEsYik7Zm9yKGxldCBlIGluIGIpXy56QihkLAplLGJbZV0pO18uakMoZCxiKTtfLmJDKGMsZCk7Xy5BQihkLGIse2xqOiEwfSk7KDAsXy54dikoZCxiKTtyZXR1cm4gZH07eWJhPWZ1bmN0aW9uKGEsYil7YT0oTkEuaGFzKGEudG9Mb3dlckNhc2UoKSk/MDpNQS5oYXMoYS5zdGFydHNXaXRoKCJzdmc6Iik/YS5yZXBsYWNlKCJzdmc6IiwiIik6YSkpP2RvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGEuc3RhcnRzV2l0aCgic3ZnOiIpP2EucmVwbGFjZSgic3ZnOiIsIiIpOmEpOigwLF8ud3YpKGEsYil8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYSk7YVtfLm5DXT0hMDtyZXR1cm4gYX07Cl8ucEM9ZnVuY3Rpb24oYSl7aWYoYSl7YS5fZGlzcG9zZVJlZj8uKCk7YS5fZGlzcG9zZUVmZmVjdHM/LigpO2lmKGEuX19pbnN0YW5jZSYmYS5fX2luc3RhbmNlIGluc3RhbmNlb2Ygb0Mpe3ZhciBiPWEuX19pbnN0YW5jZTtoQyhiLGEpO2IgaW5zdGFuY2VvZiBfLm1DJiZiLkQoKX1mb3IoYj0wO2I8YS5jaGlsZE5vZGVzLmxlbmd0aDtiKyspXy5wQyhhLmNoaWxkTm9kZXNbYl0pfX07emJhPWZ1bmN0aW9uKGEpe3FDLnB1c2goYSk9PT0xJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntzZXRUaW1lb3V0KCgpPT57dmFyIGI9Wy4uLnFDXTtxQz1bXTtmb3IobGV0IGMgb2YgYil0cnl7Zm9yKGI9MDtiPGMubGVuZ3RoO2IrKylfLnBDKGNbYl0pfWNhdGNoKGQpe18uS3UuaGFuZGxlRXJyb3I/LiguLi5fLkpBKGQpKX19KX0pfTtfLks9ZnVuY3Rpb24oYSxiLC4uLmMpe3JldHVybiBKQihhLGIsLi4uYyl9O18uckM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5rdShfLnl2KTt0cnl7YSgpfWZpbmFsbHl7Xy5rdShiKX19OwpBYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O3NDPWZ1bmN0aW9uKGEsYixjPSIiKXtmdW5jdGlvbiBkKCl7cmV0dXJuIGUoKX12YXIgZT10eXBlb2YgYT09PSJmdW5jdGlvbiI/REEoYSxBYmEsYj8uZXF1YWxzKTpEQShhLnNvdXJjZSxhLlRnLGI/LmVxdWFscyk7dmFyIGY9ZVtfLlp1XTtmLmRlYnVnTmFtZT1fLmV1KGI/LmRlYnVnTmFtZSxjLCJbbGlua2VkU2lnbmFsXSIpO2RbXy5adV09ZjtyZXR1cm5bZCxoPT57Xy5ydShmKTtfLnl1KGYsaCk7Zi5QYj0hMTtmLnJqPV8ubXV9LGg9PntfLnJ1KGYpO2lmKGYudmFsdWU9PT1fLkl2KXRocm93IGYuZXJyb3I7Xy5qdT8uTGUhPT0hMXx8Xy53dShmKTtfLnl1KGYsaChmLnZhbHVlKSk7Zi5QYj0hMTtmLnJqPV8ubXV9XX07Xy51Qz1mdW5jdGlvbigpe3RDfHwodEM9e09jOiExLFV5OjAsc3RhY2s6W10sc2Vzc2lvbklkOiIiLGRoOnZvaWQgMCxwcm9jZXNzb3JzOltdLFdoOigpPT4hMH0pO3JldHVybiB0Q307CnZDPWZ1bmN0aW9uKCl7dmFyIGE9Xy51QygpO3JldHVybiBhLnN0YWNrW2Euc3RhY2subGVuZ3RoLTFdfTtfLndDPWZ1bmN0aW9uKGEpe3ZhciBiPV8udUMoKTtyZXR1cm4gYi5PYz9iLmRoP2IuZGhbYV06ITA6ITF9O0RiYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8ud0MoYSkmJl8udUMoKS5XaChhLGIsQmJhKT9uZXcgQ2JhKGEsYixjKTp4Q307Cl8ueUM9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBjPT09ImZ1bmN0aW9uIil7dmFyIGQ9YztjPXZvaWQgMH12YXIgZT1EYmEoYSxiLGMpO2lmKGM/LmVuZFRpbWUhPW51bGwpcmV0dXJuIGQmJl8uSXAoRXJyb3IoIkVjIikpLGU7ZSE9PXhDJiZjPy5hY3RpdmUhPT0hMSYmXy51QygpLnN0YWNrLnB1c2goZSk7aWYoIWQpcmV0dXJuIGU7aWYoZT09PXhDKXJldHVybiBkKGUpO3RyeXtsZXQgZj1kKGUpO2lmKGYgaW5zdGFuY2VvZiBQcm9taXNlKXJldHVybiBmLnRoZW4oaD0+e2UuZW5kKCk7cmV0dXJuIGh9LGg9PntlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKTt0aHJvdyBoO30pO2UuZW5kKCk7cmV0dXJuIGZ9Y2F0Y2goZil7dGhyb3cgZS5lbmQoIlNQQU5fU1RBVFVTX0VSUk9SIiksZjt9fTsKekM9ZnVuY3Rpb24oYSxiLGMsZCl7YSBpbnN0YW5jZW9mIEVsZW1lbnQmJihjLmRlYnVnTmFtZXx8KGMuZGVidWdOYW1lPWA8JHthLnRhZ05hbWUudG9Mb3dlckNhc2UoKX1gKyhhLnRhZ05hbWUuaW5jbHVkZXMoIi0iKT8iPiI6YC4ke2EuY2xhc3NOYW1lfT5gKSksXy54KCJ5dHdpel9lbmFibGVfZGVidWdfY29tcG9uZW50X3Byb3BzIikmJihhLmRlYnVnUHJvcHN8fChhLmRlYnVnUHJvcHM9QUEoYixlPT4oKT0+ZSgpKSksYi5kYXRhPT09dm9pZCAwfHwiZGF0YSJpbiBhJiYhYS5pc1dlYkNvbXBvbmVudFdyYXBwZXJ8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLmRlYnVnUHJvcHMsImRhdGEiLHtnZXQ6KCk9Pl8uQnYoYi5kYXRhKSxzZXQ6ZT0+e2Q/LmRhdGE/LihlKX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSkpfTsKXy5BQz1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09MCYmIWI/LmluaXRpYWwpcmV0dXJuIHNDKGEse2RlYnVnTmFtZTpiPy5kZWJ1Z05hbWV9LCJoIik7dmFyIFtjLGQsZV09c0Moe3NvdXJjZTooKT0+YSgpLFRnOihmLGgpPT5oPy52YWx1ZT9hKGgudmFsdWUpOmI/LmluaXRpYWw/YShiLmluaXRpYWwpOmZ9LHtkZWJ1Z05hbWU6Yj8uZGVidWdOYW1lfSwiaSIpO3JldHVybltjLGQsZV19OwpfLkw9ZnVuY3Rpb24oYSxiPSIiKXt2YXIgYz1kPT5fLnlDKCJ5dENvbXBvbmVudCIse30sZT0+e3ZhciBmPUJDPXt9O2lmKGM/Lmlkb21Db21wYXQmJmQuam4pe2xldCBbayxsXT1FYmEoZCx0eXBlb2YgYy5pZG9tQ29tcGF0PT09Im9iamVjdCI/Yz8uaWRvbUNvbXBhdC5jYWxsYmFja3M6e30pO3ZhciBoPUNDKGEsZCk7Zi5Hej1oO0JDPXZvaWQgMDt6QyhoLGQsYyxrKTtlLkRlKHtkZWJ1Z05hbWU6Yy5kZWJ1Z05hbWV9KTtlPV8uR0IoaCk7ZT1BcnJheS5pc0FycmF5KGUpP2VbMF06ZTtlW18uV0JdfHwoZVtfLldCXT17fSk7ZVtfLldCXS5xQj1sO18uQ3YoZCxoKTtyZXR1cm4gaH1kPUFBKGQsRmJhKTtoPUNDKGEsZCk7ekMoaCxkLGMpO2YuR3o9aDtCQz12b2lkIDA7ZS5EZSh7ZGVidWdOYW1lOmMuZGVidWdOYW1lfSk7Xy5DdihkLGgpO3JldHVybiBofSk7Yy5kZWJ1Z05hbWU9YjtyZXR1cm4gY307Q0M9ZnVuY3Rpb24oYSxiKXthPWEoYik7cmV0dXJuIF8uZkMoYSl9OwpGYmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj09PSJjaGlsZHJlbiJ8fGI9PT0icmVmInx8dHlwZW9mIGE9PT0iZnVuY3Rpb24ifHxhPT09dm9pZCAwP2E6KCk9PmF9O0diYT1mdW5jdGlvbihhLGIpe3JldHVybigpPT5fLkJ2KGEpPz9ifTtfLkRDPWZ1bmN0aW9uKGEsYil7dmFyIGM9ey4uLmF9O2ZvcihsZXQgZCBpbiBiKWIuaGFzT3duUHJvcGVydHkoZCkmJihjW2RdPUdiYShhW2RdLGJbZF0pKTtyZXR1cm4gY307CkViYT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ9e307Zm9yKGxldCBlIGluIGEpe2xldCBmPWFbZV07aWYoZSE9PSJjaGlsZHJlbiImJmUhPT0icmVmIilpZih0eXBlb2YgZj09PSJmdW5jdGlvbiIpaWYoZSBpbiBifHxmLmxlbmd0aD4wKWRbZV09ZixhW2VdPSguLi5oKT0+ZFtlXSguLi5oKTtlbHNle2lmKGU9PT0iZGF0YSIpe2xldCBbaCxrXT1fLkFDKGYse2RlYnVnTmFtZTpgJHtlfTpjd2lzYH0pO2FbZV09aDtjW2VdPWt9fWVsc2UgaWYoIShhW2VdPT09dm9pZCAwJiZlIGluIGIpKXtsZXQgW2gsa109Xy5KKGFbZV0se2RlYnVnTmFtZTpgJHtlfTpjd2lzYH0sIlZiY2dDZCIpO2FbZV09aDtjW2VdPWt9fXJldHVybltjLGZ1bmN0aW9uKGUpe2ZvcihsZXQgZiBpbiBlKXtsZXQgaD1lW2ZdO2YhPT0iY2hpbGRyZW4iJiZmIT09InJlZiImJih0eXBlb2YgaD09PSJmdW5jdGlvbiI/ZiBpbiBiP2RbZl09aDpoLmxlbmd0aD4wJiYoZFtmXT1oLF8uSXAobmV3IF8uWGooSGJhLGYpKSk6ZiBpbgpiJiZoPT09dm9pZCAwfHwoY1tmXXx8Xy5IcChuZXcgXy5YaihJYmEsZikpLF8uckMoKCk9PntjW2ZdKGgpfSkpKX19XX07ClZhYT17Li4uXy5YdSx2YWx1ZTpfLkd2LFBiOiEwLGVycm9yOm51bGwsZXF1YWw6Xy5pdSxraW5kOiJsaW5rZWRTaWduYWwiLFhtKGEpe3JldHVybiBhLnZhbHVlPT09Xy5Hdnx8YS52YWx1ZT09PV8uSHZ9LFltKGEpe2lmKGEudmFsdWU9PT1fLkh2KXRocm93IEVycm9yKCJoIik7dmFyIGI9YS52YWx1ZTthLnZhbHVlPV8uSHY7dmFyIGM9Xy50dShhKSxkPSExO3RyeXtsZXQgZj1hLnNvdXJjZSgpLGg9YiE9PV8uR3YmJmIhPT1fLkl2O3ZhciBlPWEuVGcoZixoP3tzb3VyY2U6YS5zb3VyY2VWYWx1ZSx2YWx1ZTpifTp2b2lkIDApO2Euc291cmNlVmFsdWU9ZjtfLmt1KG51bGwpO2Q9aCYmZSE9PV8uSXYmJmEuZXF1YWwoYixlKX1jYXRjaChmKXtlPV8uSXYsYS5lcnJvcj1mfWZpbmFsbHl7Xy5rdShjKSxhJiZfLnZ1KGEpfWQ/YS52YWx1ZT1iOihhLnZhbHVlPWUsYS52ZXJzaW9uKyspfX07Xy5tQj17fTtfLkl0LnByb3RvdHlwZS5qPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07Cl8uSXQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGVudH07S0E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07Xy5kQz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQ289bnVsbH19O29DPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMucHJvcHM9YTt0aGlzLnY9ITF9R2YoKXt9SmkoKXt9SGYoKXt9S2koKXt9fTt0cnl7bGV0IGE9d2luZG93Py50b3A/P18udTthLlUzYkhIZj8/KGEuVTNiSEhmPTApO2EuVTNiSEhmKyt9Y2F0Y2goYSl7Xy51LlUzYkhIZj8/KF8udS5VM2JISGY9MCksXy51LlUzYkhIZisrfTtfLkZDPW5ldyBXZWFrTWFwO18uR0M9WGFhKCk7dmFyIG1iYT1uZXcgU2V0KCJhbGxvd2Z1bGxzY3JlZW4gYWxsb3d0cmFuc3BhcmVuY3kgYXN5bmMgYXV0b2ZvY3VzIGF1dG9wbGF5IGNoZWNrZWQgY29udHJvbHMgZGVmYXVsdCBkZWZlciBkaXNhYmxlZCBkaXNhYmxlcmVtb3RlcGxheWJhY2sgZm9ybW5vdmFsaWRhdGUgaGlkZGVuIGluZXJ0IGlzbWFwIGl0ZW1zY29wZSBqc3NoYWRvdyBqc3Nsb3QgbG9vcCBtdWx0aXBsZSBtdXRlZCBub21vZHVsZSBub3ZhbGlkYXRlIG9wZW4gcGxheXNpbmxpbmUgcmVhZG9ubHkgcmVxdWlyZWQgcmV2ZXJzZWQgc2NvcGVkIHNlYW1sZXNzIHNlbGVjdGVkIHNvcnRhYmxlIHR5cGVtdXN0bWF0Y2giLnNwbGl0KCIgIikpLGxiYT1uZXcgU2V0KFsiY29udGVudGVkaXRhYmxlIiwiZHJhZ2dhYmxlIiwic3BlbGxjaGVjayJdKTt2YXIgTUE9bmV3IFNldCgiYSBhbHRHbHlwaCBhbHRHbHlwaERlZiBhbHRHbHlwaEl0ZW0gYW5pbWF0ZSBhbmltYXRlQ29sb3IgYW5pbWF0ZU1vdGlvbiBhbmltYXRlVHJhbnNmb3JtIGNpcmNsZSBjbGlwUGF0aCBjb2xvci1wcm9maWxlIGN1cnNvciBkZWZzIGRlc2MgZWxsaXBzZSBmZUJsZW5kIGZlQ29sb3JNYXRyaXggZmVDb21wb25lbnRUcmFuc2ZlciBmZUNvbXBvc2l0ZSBmZUNvbnZvbHZlTWF0cml4IGZlRGlmZnVzZUxpZ2h0aW5nIGZlRGlzcGxhY2VtZW50TWFwIGZlRGlzdGFudExpZ2h0IGZlRHJvcFNoYWRvdyBmZUZsb29kIGZlRnVuY0EgZmVGdW5jQiBmZUZ1bmNHIGZlRnVuY1IgZmVHYXVzc2lhbkJsdXIgZmVJbWFnZSBmZU1lcmdlIGZlTWVyZ2VOb2RlIGZlTW9ycGhvbG9neSBmZU9mZnNldCBmZVBvaW50TGlnaHQgZmVTcGVjdWxhckxpZ2h0aW5nIGZlU3BvdExpZ2h0IGZlVGlsZSBmZVR1cmJ1bGVuY2UgZmlsdGVyIGZvbnQgZm9udC1mYWNlIGZvbnQtZmFjZS1mb3JtYXQgZm9udC1mYWNlLW5hbWUgZm9udC1mYWNlLXNyYyBmb250LWZhY2UtdXJpIGZvcmVpZ25PYmplY3QgZyBnbHlwaCBnbHlwaFJlZiBoa2VybiBpbWFnZSBsaW5lIGxpbmVhckdyYWRpZW50IG1hcmtlciBtYXNrIG1ldGFkYXRhIG1pc3NpbmctZ2x5cGggbXBhdGggcGF0aCBwYXR0ZXJuIHBvbHlnb24gcG9seWxpbmUgcmFkaWFsR3JhZGllbnQgcmVjdCBzY3JpcHQgc2V0IHN0b3Agc3R5bGUgc3ZnIHN3aXRjaCBzeW1ib2wgdGV4dCB0ZXh0UGF0aCB0aXRsZSB0cmVmIHRzcGFuIHVzZSB2aWV3IHZrZXJuIi5zcGxpdCgiICIpKSwKTkE9bmV3IFNldChbImEiLCJmb250Iiwic2NyaXB0Iiwic3R5bGUiLCJ0aXRsZSJdKSxZYWE9bmV3IFNldChbImRlc2MiLCJmb3JlaWduT2JqZWN0IiwidGl0bGUiXSk7Xy5SQT17ZGVmYXVsdDoiX19kZWZhdWx0In07dmFyIFphYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1BBLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG51bGwpO18uSEM9U0EoKTtfLmNCPW51bGw7dmFyIGJiYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmNyZWF0ZWQ9W107dGhpcy5kZWxldGVkPVtdO3RoaXMubm9kZT1hfX07dmFyIGNiYT10eXBlb2YgTm9kZSE9PSJ1bmRlZmluZWQiJiZOb2RlLnByb3RvdHlwZS5nZXRSb290Tm9kZXx8ZnVuY3Rpb24oKXtmb3IodmFyIGE9dGhpcyxiPWE7YTspYj1hLGE9YS5wYXJlbnROb2RlO3JldHVybiBifTtfLldBPW51bGw7Xy5ZQT1udWxsO18uVUE9bnVsbDtfLlpBPW51bGw7Xy4kQT1bXTtfLmJCPVRBO18uYUI9W107Xy5JQz1mdW5jdGlvbihhKXtyZXR1cm4gZWJhKChiLGMsZCk9PntfLlVBPV8uWUE9YjtfLllBPW51bGw7YyhkKTtfLlhBKCk7Xy5ZQT1fLlVBO18uVUE9Xy5VQS5wYXJlbnROb2RlO3JldHVybiBifSxhKX0oKTtfLkpDPW5ldyBQQTtSZWdFeHAucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJzdGlja3kiKTt2YXIgZUI9U3ltYm9sKCJqYyIpO3ZhciBoYmE9e2FsaWduOjEsYWx0OjEsImFyaWEtYWN0aXZlZGVzY2VuZGFudCI6MTAsImFyaWEtYXRvbWljIjoxLCJhcmlhLWF1dG9jb21wbGV0ZSI6MSwiYXJpYS1idXN5IjoxLCJhcmlhLWNoZWNrZWQiOjEsImFyaWEtY29udHJvbHMiOjEwLCJhcmlhLWN1cnJlbnQiOjEsImFyaWEtZGVzY3JpYmVkYnkiOjEwLCJhcmlhLWRpc2FibGVkIjoxLCJhcmlhLWRyb3BlZmZlY3QiOjEsImFyaWEtZXhwYW5kZWQiOjEsImFyaWEtaGFzcG9wdXAiOjEsImFyaWEtaGlkZGVuIjoxLCJhcmlhLWludmFsaWQiOjEsImFyaWEtbGFiZWwiOjEsImFyaWEtbGFiZWxsZWRieSI6MTAsImFyaWEtbGV2ZWwiOjEsImFyaWEtbGl2ZSI6MSwiYXJpYS1tdWx0aWxpbmUiOjEsImFyaWEtbXVsdGlzZWxlY3RhYmxlIjoxLCJhcmlhLW9yaWVudGF0aW9uIjoxLCJhcmlhLW93bnMiOjEwLCJhcmlhLXBvc2luc2V0IjoxLCJhcmlhLXByZXNzZWQiOjEsImFyaWEtcmVhZG9ubHkiOjEsImFyaWEtcmVsZXZhbnQiOjEsImFyaWEtcmVxdWlyZWQiOjEsCiJhcmlhLXNlbGVjdGVkIjoxLCJhcmlhLXNldHNpemUiOjEsImFyaWEtc29ydCI6MSwiYXJpYS12YWx1ZW1heCI6MSwiYXJpYS12YWx1ZW1pbiI6MSwiYXJpYS12YWx1ZW5vdyI6MSwiYXJpYS12YWx1ZXRleHQiOjEsYXN5bmM6OCxhdXRvY2FwaXRhbGl6ZToxLGF1dG9jb21wbGV0ZToxLGF1dG9jb3JyZWN0OjEsYXV0b2ZvY3VzOjEsYXV0b3BsYXk6MSxiZ2NvbG9yOjEsYm9yZGVyOjEsY2VsbHBhZGRpbmc6MSxjZWxsc3BhY2luZzoxLGNoZWNrZWQ6MSxjaXRlOjEsImNsYXNzIjoxLGNvbG9yOjEsY29sczoxLGNvbHNwYW46MSxjb250ZW50ZWRpdGFibGU6MSxjb250cm9sczoxLGNvbnRyb2xzbGlzdDoxLGNvb3JkczoxLGNyb3Nzb3JpZ2luOjEsZGF0ZXRpbWU6MSxkaXI6OCxkaXNhYmxlZDoxLGRvd25sb2FkOjEsZHJhZ2dhYmxlOjEsZW5jdHlwZToxLGZhY2U6MSwiZm9yIjoxMCxmb3JtZW5jdHlwZToxLGZyYW1lYm9yZGVyOjEsaGVpZ2h0OjEsaGlkZGVuOjEsaHJlZjo0LGhyZWZsYW5nOjEsCmlkOjEwLGluZXJ0OjEsaXNtYXA6MSxpdGVtaWQ6MSxpdGVtcHJvcDoxLGl0ZW1yZWY6MSxpdGVtc2NvcGU6MSxpdGVtdHlwZToxLGxhYmVsOjEsbGFuZzoxLGxpc3Q6MTAsbG9hZGluZzo4LGxvb3A6MSxtYXg6MSxtYXhsZW5ndGg6MSxtZWRpYToxLG1pbjoxLG1pbmxlbmd0aDoxLG11bHRpcGxlOjEsbXV0ZWQ6MSxuYW1lOjEwLG5vbmNlOjEsb3BlbjoxLHBsYWNlaG9sZGVyOjEscGxheXNpbmxpbmU6MSxwb3N0ZXI6MSxwcmVsb2FkOjEscmVsOjEscmVxdWlyZWQ6MSxyZXZlcnNlZDoxLHJvbGU6MSxyb3dzOjEscm93c3BhbjoxLHNlbGVjdGVkOjEsc2hhcGU6MSxzaXplOjEsc2l6ZXM6MSxzbG90OjEsc3BhbjoxLHNwZWxsY2hlY2s6MSxzcmM6NCxzcmNzZXQ6MTIsc3RhcnQ6MSxzdGVwOjEsc3R5bGU6NSxzdW1tYXJ5OjEsdGFiaW5kZXg6MSx0YXJnZXQ6OCx0aXRsZToxLHRyYW5zbGF0ZToxLHR5cGU6MSx1c2VtYXA6MSx2YWxpZ246MSx2YWx1ZToxLHdpZHRoOjEsd3JhcDoxfSxmQj0Ke2E6e2hyZWY6W3trYTozfV19LGFyZWE6e2hyZWY6W3trYTozfV19LGF1ZGlvOntzcmM6W3trYTozfV19LGJ1dHRvbjp7Zm9ybWFjdGlvbjpbe2thOjN9XSxmb3JtbWV0aG9kOlt7a2E6MX1dfSxmb3JtOnthY3Rpb246W3trYTozfV0sbWV0aG9kOlt7a2E6MX1dfSxpZnJhbWU6e3NyY2RvYzpbe2thOjJ9XX0saW1nOntzcmM6W3trYTozfV0sc3Jjc2V0Olt7a2E6MTF9XX0saW5wdXQ6e2FjY2VwdDpbe2thOjF9XSxmb3JtYWN0aW9uOlt7a2E6M31dLGZvcm1tZXRob2Q6W3trYToxfV0scGF0dGVybjpbe2thOjF9XSxyZWFkb25seTpbe2thOjF9XSxzcmM6W3trYTozfV19LGxpbms6e2hyZWY6W3trYTozLGliOiJyZWwiLG5iOiJhbHRlcm5hdGUifSx7a2E6MyxpYjoicmVsIixuYjoiYXV0aG9yIn0se2thOjMsaWI6InJlbCIsbmI6ImJvb2ttYXJrIn0se2thOjMsaWI6InJlbCIsbmI6ImNhbm9uaWNhbCJ9LHtrYTozLGliOiJyZWwiLG5iOiJjaXRlIn0se2thOjMsaWI6InJlbCIsbmI6ImhlbHAifSwKe2thOjMsaWI6InJlbCIsbmI6Imljb24ifSx7a2E6MyxpYjoicmVsIixuYjoibGljZW5zZSJ9LHtrYTozLGliOiJyZWwiLG5iOiJuZXh0In0se2thOjMsaWI6InJlbCIsbmI6InByZWZldGNoIn0se2thOjMsaWI6InJlbCIsbmI6ImRucy1wcmVmZXRjaCJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVyZW5kZXIifSx7a2E6MyxpYjoicmVsIixuYjoicHJlY29ubmVjdCJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVsb2FkIn0se2thOjMsaWI6InJlbCIsbmI6InByZXYifSx7a2E6MyxpYjoicmVsIixuYjoic2VhcmNoIn0se2thOjMsaWI6InJlbCIsbmI6InN1YnJlc291cmNlIn1dfSxzY3JpcHQ6e2RlZmVyOlt7a2E6MX1dfSxzb3VyY2U6e3NyYzpbe2thOjN9XSxzcmNzZXQ6W3trYToxMX1dfSx0ZXh0YXJlYTp7cmVhZG9ubHk6W3trYToxfV19LHZpZGVvOntzcmM6W3trYTozfV19fTt2YXIgSmJhPS9eKD8hamF2YXNjcmlwdDopKD86W2EtejAtOSsuLV0rOnxbXiY6XC8/I10qKD86W1wvPyNdfCQpKS9pLGliYT17WzFdOm51bGwsWzJdOihhLGIpPT5iIGluc3RhbmNlb2YgXy5mYj9fLnlBKGIpOl8uRnEudG9TdHJpbmcoKSxbM106KGEsYik9Pl8uWGEoYik/Xy5ZYShiKTpKYmEudGVzdChTdHJpbmcoYikpP1N0cmluZyhiKTpfLkZxLnRvU3RyaW5nKCksWzRdOihhLGIpPT5iIGluc3RhbmNlb2YgXy5TYT9fLlVhKGIpOl8uRnEudG9TdHJpbmcoKSxbNV06KGEsYik9PlN0cmluZyhiKSxbN106bnVsbCxbOF06bnVsbCxbMTBdOm51bGx9O18uS2JhPVN5bWJvbCgibmMiKTt2YXIgbkI9Xy5MQSgpO3ZhciBLQz1TQSgpLHFiYT1LQ1tfLlJBLmRlZmF1bHRdLHlCPUtDLnN0eWxlLHhCPVsiZm9jdXNpbiIsImZvY3Vzb3V0Il0sQkI9U3ltYm9sKCJvYyIpLENCPVN5bWJvbCgicGMiKSxyYmE9ImFubm90YXRpb24teG1sIGNvbG9yLXByb2ZpbGUgZm9udC1mYWNlIGZvbnQtZmFjZS1zcmMgZm9udC1mYWNlLXVyaSBmb250LWZhY2UtZm9ybWF0IGZvbnQtZmFjZS1uYW1lIG1pc3NpbmctZ2x5cGgiLnNwbGl0KCIgIik7dmFyIEpCO0pCPUhCO18uV0I9U3ltYm9sKCJ0YyIpO18uTGJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfTW9kZWxSb290RWxlbWVudCIpO18uTWJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfUmVuZGVyZXJEYXRhIik7Xy5OYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9JbmplY3RpbmdDb25zdHJ1Y3RvciIpO18uTUI9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9BcHBDb250ZXh0Iik7Xy5OQj1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0Rpc3BhdGNoZXIiKTtfLkxDPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfUm9vdEVsZW1lbnQiKTtfLk9iYT1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0FzeW5jRGVwcyIpO18uUGJhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfT2JqZWN0Q3JlYXRpb25UcmFja2VyIik7Xy5PQj17fTtfLlZCPXtNSzpTQixjTDpTQixsb2c6U0IsUko6VEIsdnk6VEIsZko6KGEsYik9PntiKCl9fTtfLk1DPW51bGw7Xy5tQz1jbGFzcyBleHRlbmRzIG9De2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7dGhpcy5vPWI7dGhpcy5aZj1bXTt0aGlzLkI9MDt0aGlzLkQ9Xy51dihjPT57dGhpcy5xbD1jO18uWXUoKCk9PntoQyh0aGlzLHRoaXMuZWwpfSl9LF8uS3Uucml8fCEhXy5adCl9b2MoYSl7dmFyIGI9Xy5NQztfLk1DPXRoaXM7dGhpcy5CPTA7dmFyIGM9Xy5rdShfLnp2KSxkPV8uJHQodGhpcy5xbCk7dHJ5e3JldHVybiB0aGlzLm8oYSl9ZmluYWxseXtfLiR0KGQpLF8ua3UoYyksXy5NQz1ifX1nZXQgY29tcG9uZW50TmFtZSgpe3JldHVybiBfLkZBKHRoaXMubyl9fTt2YXIgeGJhO18ubkM9U3ltYm9sKCJDYyIpO3hiYT1jbGFzcyBleHRlbmRzIF8uZEN7Y29uc3RydWN0b3IoYSxiLGMpe3N1cGVyKCk7dGhpcy5raW5kPWE7dGhpcy5wcm9wcz1iO3RoaXMuY2hpbGRyZW49Y31vYygpe3ZhciBhPWtDKHRoaXMua2luZCx0aGlzLnByb3BzLHRoaXMuY2hpbGRyZW4pO2lmKHRoaXMuQ28hPW51bGwpZm9yKGxldCBiIG9mIHRoaXMuQ28pYT1iKGEpO3JldHVybiBhfX07dmFyIHFDPVtdO18ud3U9YT0+e3Rocm93IF8uVXUoRXJyb3IoImJiYCIrYS5kZWJ1Z05hbWUpLDQpO307KGZ1bmN0aW9uKCl7dmFyIGE9Xy5jQjtfLmNCPWI9PnthPy4oYik7emJhKGIpfX0pKCk7dmFyIENiYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYz17fSl7dmFyIGQ9Xy51QygpO3RoaXMubmFtZT1hO3RoaXMuaWQ9ZC5VeSsrO3RoaXMuc2Vzc2lvbklkPWQuc2Vzc2lvbklkO3RoaXMuYXR0cmlidXRlcz1iO3RoaXMuc3RhdHVzPSJTUEFOX1NUQVRVU19VTlNFVCI7dGhpcy5zdGFydFRpbWU9Yy5zdGFydFRpbWU/PygwLF8uZWwpKCk7dGhpcy5qPWMuYWN0aXZlO2lmKGE9dkMoKSl0aGlzLnBhcmVudElkPWEuaWQsYS5jaGlsZHJlbnx8KGEuY2hpbGRyZW49W10pLGEuY2hpbGRyZW4ucHVzaCh0aGlzKTtmb3IobGV0IGUgb2YgZC5wcm9jZXNzb3JzKXRyeXtlLkdtPy4odGhpcyl9Y2F0Y2goZil7Xy5JcChmKX1jLmVuZFRpbWUhPW51bGwmJih0aGlzLmo9ITEsdGhpcy5lbmQoIlNQQU5fU1RBVFVTX09LIixjLmVuZFRpbWUpKX1lbmQoYT0iU1BBTl9TVEFUVVNfT0siLGI9KDAsXy5lbCkoKSl7dmFyIGM9Xy51QygpO3RoaXMuZW5kVGltZT1iO3RoaXMuZHVyYXRpb249dGhpcy5lbmRUaW1lLQp0aGlzLnN0YXJ0VGltZTt0aGlzLnN0YXR1cz1hO3RoaXMuaiE9PSExJiYodkMoKT09PXRoaXM/Yy5zdGFjay5wb3AoKTpfLklwKEVycm9yKCJEY2AiK1N0cmluZyh0aGlzLm5hbWUpKSkpO2ZvcihsZXQgZCBvZiBjLnByb2Nlc3NvcnMpdHJ5e2QubHI/Lih0aGlzKX1jYXRjaChlKXtfLklwKGUpfX1EZShhKXtPYmplY3QuYXNzaWduKHRoaXMuYXR0cmlidXRlcyxhKX19LHhDPXtlbmQoKXt9LERlKCl7fX0sdEMsQmJhPXtXeigpe3JldHVybiBfLnVDKCkuc3RhY2tbMF19fTt2YXIgQkM9dm9pZCAwO3ZhciBJYmE9IklET00gaW50ZXJvcCBzZXR0ZXIgdW5kZWZpbmVkLiBLZXk6IixIYmE9IkNhbGxiYWNrIGRldGVjdGVkIHRoYXQgd2FzIG5vdCBzZXQgaW4gdGhlIGlkb21Db21wYXQgY2FsbGJhY2tzIG1hcC4gS2V5OiI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBSYmEsUWJhO1JiYT1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3QuY3JlYXRlKFFiYSk7Yi5UZz1hO2E9KCk9PntfLnJ1KGIpO18ucHUoYik7aWYoYi52YWx1ZT09PV8uSXYpdGhyb3cgYi5lcnJvcjtyZXR1cm4gYi52YWx1ZX07YVtfLlp1XT1iO3JldHVybiBhfTtfLk49ZnVuY3Rpb24oYSxiLGM9IiIpe3ZhciBkPVJiYShhKTthPWRbXy5adV07YS5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW2NvbXB1dGVkXSIpO2I/LmVxdWFscyE9bnVsbCYmKGEuZXF1YWw9Yi5lcXVhbHMpO3JldHVybiBkfTsKUWJhPXsuLi5fLlh1LHZhbHVlOl8uR3YsUGI6ITAsZXJyb3I6bnVsbCxlcXVhbDpfLml1LGtpbmQ6ImNvbXB1dGVkIixYbShhKXtyZXR1cm4gYS52YWx1ZT09PV8uR3Z8fGEudmFsdWU9PT1fLkh2fSxZbShhKXtpZihhLnZhbHVlPT09Xy5Idil0aHJvdyBFcnJvcigiaCIpO3ZhciBiPWEudmFsdWU7YS52YWx1ZT1fLkh2O3ZhciBjPV8udHUoYSksZD0hMTt0cnl7dmFyIGU9YS5UZygpO18ua3UobnVsbCk7ZD1iIT09Xy5HdiYmYiE9PV8uSXYmJmUhPT1fLkl2JiZhLmVxdWFsKGIsZSl9Y2F0Y2goZil7ZT1fLkl2LGEuZXJyb3I9Zn1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX1kP2EudmFsdWU9YjooYS52YWx1ZT1lLGEudmVyc2lvbisrKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgU2JhO18uTkM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oKT0+e3ZhciBjPWEoKTtpZighYyl7bGV0IGQ9RXJyb3IoIk9jYCIrYik7UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoZCwyLGIpO30pfXJldHVybiBjfX07Xy5PPWZ1bmN0aW9uKGEpe3JldHVybiBTYmEoYSl9OwpTYmE9ZnVuY3Rpb24oYSl7aWYoYS5BPT09dm9pZCAwKXJldHVybiBhLlc/LigpO2lmKHR5cGVvZiBhLkEhPT0iZnVuY3Rpb24iKXtsZXQgZT1hLnRoZW4sZj1hLlcsaD1hLkE7cmV0dXJuIGg/ZShoKTpmPy4oKX12YXIgYj1hLkEsYz1fLk4oKCk9PiEhYigpLHZvaWQgMCwiQmpRUlEiKSxkPV8uTkMoYiwiSWYiKTtyZXR1cm4gXy5YQigoKT0+e3ZhciBlPWMoKSxmO18udXYoKCk9Pnt2YXIgaD1fLmt1KF8uenYpO3RyeXtmPV8uZkMoZT9hLnRoZW4oZCk6YS5XPy4oKSl9ZmluYWxseXtfLmt1KGgpfX0sITApO3JldHVybiBmfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/IlJsRHVkZCIsenA6YS50aGVuLFdlOiEwfSl9O18uV0M9bmV3IE1hcDtfLlhDPVN5bWJvbCgiTmMiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rRz1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKDEpO2lmKCgwLF8ubHYpKGIpKXRocm93IEVycm9yKCJpYiIpO3JldHVybiBfLmh1KGEsYil9O18ubUc9ZnVuY3Rpb24oKXtyZXR1cm4gXy5adD9fLmtHKF8ubEcpOnZvaWQgMH07Xy5mZGE9U3ltYm9sKCIkYyIpO18uZ2RhPVN5bWJvbCgiYWQiKTtfLmxHPV8uZ3Uoe2RlZmF1bHRWYWx1ZTp2b2lkIDB9LCJ5RHA1T2MiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhjYTtfLm5FPWZ1bmN0aW9uKGEsYil7YT1fLnB2KGhjYSxhLGIpO18uZnYoYSl9O2hjYT17Li4uXy4kdixlZmZlY3RUeXBlOl8uZHZ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9IPWZ1bmN0aW9uKGEsYil7YT1fLiR0KGEpO3RyeXtfLkVBKGIpfWZpbmFsbHl7Xy4kdChhKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9FPWZ1bmN0aW9uKCl7aWYoXy5IQSgpKXRocm93IEVycm9yKCJCYyIpO3JldHVybiBfLk1DfTtfLnBFPWZ1bmN0aW9uKGEpe3ZhciBiPV8ub0UoKTtpZihiPT1udWxsKXRocm93IEVycm9yKCJUYyIpO3ZhciBjPWIuQisrO2IuWmZ8fChiLlpmPVtdKTt2YXIgZD1iLlpmO2RbY118fChkW2NdPXtrZXk6YSxob3N0OmJ9KTtpZihhIT09ZFtjXS5rZXkpdGhyb3cgRXJyb3IoIlNjYCIrKGIuaj9iLmo/Lm5hbWU6YiBpbnN0YW5jZW9mIF8ubUM/Xy5GQShiLm8pOmA8JHtiLmVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKX0+YCkpO3JldHVybiBkW2NdfTtfLnFFPWZ1bmN0aW9uKGEsYil7cmV0dXJuIWF8fGEubGVuZ3RoIT09Yj8ubGVuZ3RofHxhLnNvbWUoKGMsZCk9PmMhPT1iW2RdKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBpY2EsdEUsamNhLHdFO2ljYT1mdW5jdGlvbihhKXt2YXIgYj1udWxsLGMsZD17Q2s6bnVsbCxnZXQgdmFsdWUoKXtkLnZMPy4oKTtyZXR1cm4gZC5Da30sdm86ITEsa3U6ITEsc2V0IHZhbHVlKGUpe2Qud0w/LihlKTtkLkNrPWU7ZC52bz0hMH0sbXooZSl7YyYmZSE9PWMmJihjLl9kaXNwb3NlUmVmPXZvaWQgMCxiPy4oKSk7Yz1lO2I9YShlKXx8bnVsbH0sdXooKXtiPy4oKTtiPWQudmFsdWU9bnVsbH0sW18uTXZdOiEwfTtyZXR1cm4gZH07Xy5zRT1mdW5jdGlvbihhKXt2YXIgYj1bXTtpZihfLkhBKCkpcmV0dXJuIGEoKTt2YXIgYz1fLnBFKCJ1c2VNZW1vSW50ZXJuYWwiKTtfLnFFKGMubWwsYikmJihjLm1sPWIsYy52YWx1ZT1hKCkpO3JldHVybiBjLnZhbHVlfTtfLnVFPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRFKGEsITEsYil9O18udkU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdEUoYSwhMCxiKX07CnRFPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5IQSgpP3dFKGEsYixjKTpqY2EoYSxiLGMpfTtqY2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLnNFKCgpPT53RShhLGIsYykpfTt3RT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5adCxlPWljYShmPT57ZS52YWx1ZT1mO3ZhciBoPSgoKT0+e3ZhciBrPV8ua3UobnVsbCk7dHJ5e3JldHVybiBjPy4oZil9Y2F0Y2gobCl7Xy5vdihsLGQpfWZpbmFsbHl7Xy5rdShrKX19KSgpO3JldHVybigpPT57aD8uKCl9fSk7ZS5qdT1hO2UubHU9YjtlLnZKPSFfLkhBKCk7cmV0dXJuIGV9O18uQkU9U3ltYm9sKCJXYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1GPXtWYjohMSxzdGF0ZToidmlzaWJsZSJ9O18ubkY9e1ZiOiExLHN0YXRlOiJoaWRkZW4ifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5wSD1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKCk7cmV0dXJuIGM9Pnt2YXIgZD1hLm9ic2VydmVyPz9fLnkoKS5yZXNvbHZlKF8uTHgpLGU9Yy5qZj8/YyxmPVtdO2EuZWImJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTmIoITAsYyl9KX0sYS5lYikpO2EuTmMmJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTmIoITEsYyl9KX0sYS5OYykpO2EuTGgmJmEuTGomJmYucHVzaChkLm9ic2VydmUoYywoKT0+e18ub0goYiwoKT0+e2EuTGooKX0pfSxhLkxoKSk7ZS52aXNpYmlsaXR5TW9uaXRvcktleXM9KGUudmlzaWJpbGl0eU1vbml0b3JLZXlzPz9bXSkuY29uY2F0KGYpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBQRDtfLlJEPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLF8uT0QpO2lmKGIpcmV0dXJuIGI7aWYoKGI9Xy5CKGEsV2JhKSkmJmIuY29tbWFuZHMpcmV0dXJuIFBEKGIuY29tbWFuZHMpO2lmKChiPV8uQihhLFhiYSkpJiZiLmNvbW1hbmRzKXJldHVybiBQRChiLmNvbW1hbmRzKTtpZigoYT1fLkIoYSxZYmEpKSYmYS5pZGVudGlmaWVyJiZhLmNvbW1hbmQmJihRRHx8KFFEPVtdKSwhUUQuaW5jbHVkZXMoYS5pZGVudGlmaWVyKSkpcmV0dXJuIFFELnB1c2goYS5pZGVudGlmaWVyKSxfLkIoYS5jb21tYW5kLF8uT0QpfTtQRD1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCE9PTApe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKShhPV8uUkQoYykpJiZiLnB1c2goYSk7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOmJ9fX19O18uU0Q9bmV3IF8uSSgiY29tbWFuZEV4ZWN1dG9yQ29tbWFuZCIpO18uT0Q9bmV3IF8uSSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBXYmE9bmV3IF8uSSgicGFyYWxsZWxDb21tYW5kIik7dmFyIFliYT1uZXcgXy5JKCJwZXJmb3JtT25jZUNvbW1hbmQiKTt2YXIgWGJhPW5ldyBfLkkoInNlcmlhbENvbW1hbmQiKTt2YXIgUUQ9dm9pZCAwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlREPW5ldyBfLkkoInJlZWxXYXRjaEVuZHBvaW50Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVUQ9bmV3IF8uVnMoIkNPTU1BTkRfSEFORExFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZEPW5ldyBfLkkoInVybEVuZHBvaW50Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBaYmEsZGNhLCRiYSxlY2E7Xy5XRD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXtfLklwKGIpfX07Xy5ZRD1mdW5jdGlvbihhLGIsYyl7cmV0dXJue2Zvcm06e2N1cnJlbnREYXRhOl8uWEQ/LnJlc3BvbnNlPz97fSxzb3VyY2VEYXRhOmEsZXZlbnQ6Yj8uZXZlbnQsY2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yj8uY2xpY2tlZFZpc3VhbEVsZW1lbnQsaW1wbGljaXRHZXN0dXJlVHlwZTpiPy5pbXBsaWNpdEdlc3R1cmVUeXBlLGF1dG9uYXY6Yj8uYXV0b25hdixCZDpiPy5CZH0sbWQ6Y319OwpfLmJFPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaHYsYz1hLnV4LGQ9YS5iaCxlPWEuSWQsZj1hLnFkLGg9YS5BbyxrPWEuaW5uZXJ0dWJlQ29tbWFuZHx8Xy5SRChkKTtpZihrKXthPXt9O3ZhciB7UnE6bCxocmVmOm19PV8uWkQoayk7bCYmbT8oYS5ocmVmPW0sWmJhKGEsbCxtLGIpLCRiYShhLGwpLGYmJihhLnFkPSEwKSk6KGEucm9sZT0iYnV0dG9uIixhLnRhYmluZGV4PSIwIik7Xy5CKGssYWNhKSYmKGEuYXJpYUhhc1BvcHVwPSEwKTtlfHwoYS5vbmNsaWNrPW49PntsJiZtfHxuLnByZXZlbnREZWZhdWx0KCk7Xy4kRChrKTt2YXIgcD17Li4uXy5ZRChrLHtldmVudDpufSksLi4uaH07bi5wcmV2ZW50RGVmYXVsdCgpO18uYUUoayxwKTtuLnN0b3BQcm9wYWdhdGlvbigpfSxsJiZtfHwoYS5vbmtleWRvd249bj0+e2lmKG4ua2V5PT09IkVudGVyInx8bi5rZXk9PT0iICIpbi5zdG9wUHJvcGFnYXRpb24oKSxuLnByZXZlbnREZWZhdWx0KCksbi5jdXJyZW50VGFyZ2V0LmNsaWNrKCl9KSk7CnJldHVybnsuLi5jLC4uLmF9fX07Xy5aRD1mdW5jdGlvbihhKXthPV8uQihhLF8uU0QpPy5jb21tYW5kc3x8W2FdO2ZvcihsZXQgYiBvZiBhKWlmKGE9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsLF8ueCgid2ViX3JlbW92ZV93ZWJfbmF2aWdhdGlvbl9lbmRwb2ludF9kYXRhIil8fChhPWF8fF8uQihiLGJjYSk/LnVybCksYSYmYSE9PSIvc2VydmljZV9hamF4Iil7bGV0IGM9Xy5iYihhLGNjYSk7aWYoYylyZXR1cm4gYT1fLllhKGMpLHtScTpiLGhyZWY6YX07Xy5JcChuZXcgXy5YaigiQXR0cmlidXRlZFN0cmluZyBVUkwgY291bGQgbm90IGJlIHNhbml0aXplZCIsYSkpfXJldHVybnt9fTsKWmJhPWZ1bmN0aW9uKGEsYixjLGQpe2M9IV8uZmooYyk7aWYoXy5CKGIsXy5jRSk/Lm5vZm9sbG93fHxfLkIoYixfLkF3KT8ubm9mb2xsb3d8fF8uQihiLF8uVkQpPy5ub2ZvbGxvd3x8Xy5CKGIsXy5URCk/Lm5vZm9sbG93fHxjKWEucmVsPSJub2ZvbGxvdyI7YS50YXJnZXQ9ZGNhKGIsZCl9O2RjYT1mdW5jdGlvbihhLGI9IiIpe3JldHVybiBfLkIoYSxfLlZEKT8udGFyZ2V0PT09IlRBUkdFVF9ORVdfV0lORE9XIj8iX2JsYW5rIjpifTskYmE9ZnVuY3Rpb24oYSxiKXtiLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihhLnBhcmFtcz17aXRjdDpiLmNsaWNrVHJhY2tpbmdQYXJhbXN9KTthLm9ucG9pbnRlcmRvd249Yz0+e2VjYShjLGIpfTthLm51PWJ9OwpfLiREPWZ1bmN0aW9uKGEpeyhhLmxvZ2dpbmdVcmxzfHxbXSkuZm9yRWFjaChiPT57dmFyIGM9Yi5iYXNlVXJsO2IuYXR0cmlidXRpb25TcmNNb2RlPT09IkFUVFJJQlVUSU9OX1NSQ19NT0RFX1hIUl9PUFRJT04iPyhjPWRvY3VtZW50LmZlYXR1cmVQb2xpY3k/LmFsbG93ZWRGZWF0dXJlcygpLmluY2x1ZGVzKCJhdHRyaWJ1dGlvbi1yZXBvcnRpbmciKT9jKyImbmlzPTYiOmMrIiZuaXM9NSIsXy5hbihjLHZvaWQgMCx2b2lkIDAsdm9pZCAwLCIiLCEwLCEwKSk6Xy5hbihjKX0pfTtlY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmN1cnJlbnRUYXJnZXQ7YT1fLldEKCgpPT5jLmhyZWYpO2I9Yi5jbGlja1RyYWNraW5nUGFyYW1zP3tpdGN0OmIuY2xpY2tUcmFja2luZ1BhcmFtc306e307YSYmXy51eihhLGIsOCwhMCl9O18uZEU9ZnVuY3Rpb24oYSxiKXsoYT1fLlJEKGEpKSYmXy5hRShhLGIpfTsKXy5hRT1mdW5jdGlvbihhLGIpe18uWXQoXy5VRCxjPT57Yj9jLnJlc29sdmVDb21tYW5kKGEsYik6Yy5yZXNvbHZlQ29tbWFuZChhKX0pfTtfLmNFPW5ldyBfLkkoImJyb3dzZUVuZHBvaW50Iik7dmFyIGJjYT1uZXcgXy5JKCJ3ZWJOYXZpZ2F0aW9uRW5kcG9pbnREYXRhIik7dmFyIGFjYT1uZXcgXy5JKCJtb2RhbEVuZHBvaW50Iik7Xy5mY2E9bmV3IF8uSSgidXNlckZlZWRiYWNrRW5kcG9pbnQiKTtfLmVFPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5kYXRhPVtdO3RoaXMuRGY9bnVsbH1wdXNoKGEpe3RoaXMuRGY/dGhpcy5EZihhKTp0aGlzLmRhdGEucHVzaChhKX19O18uWEQ9e307Xy5mRT1fLkooXy5YRCx2b2lkIDAsIlRIUk9PIilbMF07Xy5KKG51bGwsdm9pZCAwLCJjeDRUSWQiKTtfLkoobnVsbCx2b2lkIDAsIlFYYU91ZCIpO18uSigiIix2b2lkIDAsIkRSV085YyIpO18uSihfLnF6KCk/ITE6ITAsdm9pZCAwLCJ2eXp5aWQiKTtfLmdFPW5ldyBfLmVFO3ZhciBjY2E9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxLF8uTnEsXy5QcV07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ucUg9ZnVuY3Rpb24oYSl7aWYoYS5jb21wb3NlZFBhdGgpcmV0dXJuIGEuY29tcG9zZWRQYXRoKCk7aWYoIWEudW8pe2xldCBiPVtdLGM9YS50YXJnZXQ7Zm9yKDtjOyliLnB1c2goYyksYz1jLnBhcmVudE5vZGU7Yi5wdXNoKHdpbmRvdyk7YS51bz1ifXJldHVybiBhLnVvfTtfLnJIPWZ1bmN0aW9uKGEsYixjKXtmb3IobGV0IGQgb2YgYSl7aWYoZD09PWIpYnJlYWs7Zm9yKGxldCBlIG9mIGMpaWYoZC50YWdOYW1lPT09ZXx8ZC5yb2xlPT09ImJ1dHRvbiImJmU9PT0iQlVUVE9OIilyZXR1cm4hMH1yZXR1cm4hMX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBCZGEsQ2RhLERkYSx2SCx3SCxFZGE7QmRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5vYnNlcnZlcj8/Xy55KCkucmVzb2x2ZShfLkx4KTtpZihhKXt2YXIgZD1hLmpmPz9hLGU9W107Yi5lYiYmZS5wdXNoKGMub2JzZXJ2ZShhLCgpPT57Yi5OYighMCxhKX0sYi5lYikpO2IuTmMmJmUucHVzaChjLm9ic2VydmUoYSwoKT0+e2IuTmIoITEsYSl9LGIuTmMpKTtiLkxoJiZiLkxqJiZlLnB1c2goYy5vYnNlcnZlKGEsKCk9PntiLkxqKCl9LGIuTGgpKTtkLnZpc2liaWxpdHlNb25pdG9yS2V5cz0oZC52aXNpYmlsaXR5TW9uaXRvcktleXM/P1tdKS5jb25jYXQoZSl9fTtfLnRIPWZ1bmN0aW9uKGEpe3JldHVybiEhXy5zSChhKX07Xy51SD1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBmPT57dmFyIGg9Xy5tRygpO18ubkUoKCk9PntpZihmKXtDZGEoZixhKCksZSk7dmFyIGs9RGRhKGYsYSgpLGIsYyxkLGgpO18uWXUoayl9fSwiYWpRWTYiKX19OwpDZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXZIKGIpLGU9d0goYiksZj1kJiZfLm1GLGg9ZSYmXy5uRjsoZHx8ZSkmJkJkYShhLHtOYjprPT57dmFyIGw9Xy55KCkucmVzb2x2ZShfLlVEKTtrJiZkPyhsLnJlc29sdmVDb21tYW5kKGQse2Zvcm06e2VsZW1lbnQ6Yz9hOnZvaWQgMH0sbWQ6ITB9KSxkPXZIKGIpKTohayYmZSYmKGwucmVzb2x2ZUNvbW1hbmQoZSx7Zm9ybTp7ZWxlbWVudDpjP2E6dm9pZCAwfSxtZDohMH0pLGU9d0goYikpfSxlYjpmLE5jOmh9KX07CkRkYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGg9bmV3IE1hcDtpZihiPV8uc0goYikpYT1kPy5vblRhcD8udmFsdWV8fGEsYz1FZGEoYixhLGM/Lm9uVGFwLGUsZiksYS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYyksaC5zZXQoImNsaWNrIixjKSxfLngoIndlYl9lbmFibGVfYWRkaXRpb25hbF9ldmVudF9saXN0ZW5lcl9mb3JfdGFwX2NvbW1hbmQiKSYmKGM9az0+e3ZhciBsPWEudGFnTmFtZTtsPT09IkJVVFRPTiJ8fGw9PT0iQSJ8fGw9PT0iSU5QVVQifHxrLmtleSE9PSJFbnRlciImJmsua2V5IT09IiAifHxlJiZfLnJIKF8ucUgoayksYSxlKXx8KGsucHJldmVudERlZmF1bHQoKSxhLmNsaWNrKCkpfSxhLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGMpLGguc2V0KCJrZXlkb3duIixjKSk7cmV0dXJuKCk9Pntmb3IobGV0IFtrLGxdb2YgaClhLnJlbW92ZUV2ZW50TGlzdGVuZXIoayxsKX19OwpfLnNIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vblRhcCkmJl8uUkQoYSl9O3ZIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vblZpc2libGUpJiZfLlJEKGEpfTt3SD1mdW5jdGlvbihhKXtyZXR1cm4oYT1fLkIoYSxfLnhIKT8ub25IaWRkZW4pJiZfLlJEKGEpfTtfLnlIPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJEKF8uQihhLF8ueEgpPy5vbkhvdmVyU3RhcnQpfTtfLnpIPWZ1bmN0aW9uKGEpe3JldHVybiBfLlJEKF8uQihhLF8ueEgpPy5vbkhvdmVyRW5kKX07RWRhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9az0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSxrKX0saD1rPT57ZCYmXy5ySChfLnFIKGspLGIsZCl8fGYoay50YXJnZXQ/e2Zvcm06e2VsZW1lbnQ6ay50YXJnZXQsc291cmNlRGF0YTphLG11dGF0aW9uQ29udGV4dDplfX06dm9pZCAwKX07YyYmKGg9az0+e2MoayxmKX0pO3JldHVybiBofTtfLnhIPW5ldyBfLkkoImNvbW1hbmRDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uakg9bmV3IF8uVnMoIktFWV9NQU5BR0VSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUD1mdW5jdGlvbiguLi5hKXt2YXIgYj0hMDtmb3IobGV0IGMgb2YgYSlpZih0eXBlb2YgYyE9PSJzdHJpbmciKXtiPSExO2JyZWFrfXJldHVybiBiP2Euam9pbigiICIpLnRyaW0oKXx8dm9pZCAwOigpPT57dmFyIGM9IiI7Zm9yKGxldCBkIG9mIGEpaWYodHlwZW9mIGQ9PT0iZnVuY3Rpb24iJiYoZD1kKCkpLGQpaWYodHlwZW9mIGQ9PT0ic3RyaW5nIiljKz0iICIrZDtlbHNlIGZvcihsZXQgZSBpbiBkKXtpZighZC5oYXNPd25Qcm9wZXJ0eShlKSljb250aW51ZTtsZXQgZj1kW2VdO3R5cGVvZiBmPT09ImZ1bmN0aW9uIiYmKGY9ZigpKTtmJiYoYys9IiAiK2UpfWM9Yy50cmltKCl8fHZvaWQgMDtyZXR1cm4gXy5CdihjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga0g7a0g9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9PmEoKT9hKCk6dm9pZCAwfTsKXy5uSD1fLkwoYT0+e3ZhciBiPV8udUUoImEiLGEucmVmKSxjPWEudWM/YS51YzpfLk4oKCk9Pl8uYkUoe2lubmVydHViZUNvbW1hbmQ6Xy5SRChhLmNvbW1hbmQ/LigpKT8/YS5jb21tYW5kPy4oKSxJZDphLklkPy4oKSxodjphLnRhcmdldD8uKCl9KXx8e30sdm9pZCAwLCJUQXZ6MCIpO3JldHVybiBfLksoImEiLHtlbDpiLGhyZWY6KCk9PmMoKS5ocmVmLHJlbDooKT0+YygpLnJlbCxjbGFzczooKT0+YygpLmNsYXNzTmFtZT8/YS5jbGFzc05hbWU/LigpLHN0eWxlOigpPT57aWYoYS5zdHlsZT8uKCkpcmV0dXJuIGEuc3R5bGUoKTtpZihhLmRpc2FibGVkPy4oKSlyZXR1cm4icG9pbnRlci1ldmVudHM6bm9uZSJ9LCJhcmlhLWhhc3BvcHVwIjooKT0+ISFjKCkuYXJpYUhhc1BvcHVwLCJmb3JjZS1uZXctc3RhdGUiOmtIKCgpPT5jKCkucWQpLHRpdGxlOmtIKCgpPT5jKCkudGl0bGU/P2EudGl0bGU/LigpKSxyb2xlOmtIKCgpPT5hLnJvbGU/LigpfHxjKCkucm9sZSksdGFyZ2V0OmtIKCgpPT4KYygpLnRhcmdldCksZGlyOmtIKCgpPT5hLmRpcj8uKCl8fGMoKS5kaXIpLHRhYmluZGV4OigpPT5jKCkudGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGMoKS50YWJpbmRleCk6YS50YWJJbmRleD8uKCksImFyaWEtaGlkZGVuIjooKT0+YygpLmFyaWFIaWRkZW4/P2EuYXJpYUhpZGRlbj8uKCksImFyaWEtbGFiZWwiOigpPT5jKCkuYXJpYUxhYmVsPz9hLmFyaWFMYWJlbD8uKCksImFyaWEtY3VycmVudCI6YS5hcmlhQ3VycmVudCwiYXJpYS1kaXNhYmxlZCI6YS5kaXNhYmxlZCwiYXJpYS1leHBhbmRlZCI6YS5hcmlhRXhwYW5kZWQsImFyaWEtbGFiZWxsZWRieSI6YS5IbywiYXJpYS1kZXNjcmliZWRieSI6YS5IZSwiYXJpYS1zZWxlY3RlZCI6YS5hcmlhU2VsZWN0ZWQsInRhYi1pZGVudGlmaWVyIjphLnRhYklkZW50aWZpZXIsIm9uOnBvaW50ZXJkb3duIjpmdW5jdGlvbihkKXtjKCkub25wb2ludGVyZG93bj8uKGQpfSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2MoKS5vbmNsaWNrPy4oZCk7CmEub25DbGljaz8uKGQpfSwib246Zm9jdXNpbiI6YS5keiwib246Zm9jdXNvdXQiOmEuZXosIm9uOm1vdXNlZW50ZXIiOmZ1bmN0aW9uKGQpe2Eub25Ib3Zlcj8uKGQpO2EuaXo/LihkKX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKGQpe2Euano/LihkKX0sIm9uOmtleWRvd24iOmZ1bmN0aW9uKGQpe2MoKS5vbmtleWRvd24/LihkKX19LGEuY2hpbGRyZW4pfSwidCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZDPV8uTCgoe2NvbW1hbmQ6YSxyZW5kZXJlckNvbnRleHQ6YixjaGlsZHJlbjpjLGNsYXNzTmFtZTpkLFp2OmUsc3R5bGU6ZixvbkNsaWNrOmgsYXJpYUN1cnJlbnQ6ayxIZTpsLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6bixIbzpwLGFyaWFTZWxlY3RlZDpyLGRpc2FibGVkOnQsZGlyOnYsdGFiSW5kZXg6eix0YXJnZXQ6RSx0aXRsZTpBLHRvZ2dsZWFibGU6Rix0b2dnbGVkOkN9KT0+e2Z1bmN0aW9uIEcobWEpe3ZhciB0YT1fLnNIKGI/LigpKT8/YT8uKCk7aWYodGEpe2xldCBUPW1hLnRhcmdldD97Zm9ybTp7ZWxlbWVudDptYS50YXJnZXQsc291cmNlRGF0YTp0YSxtdXRhdGlvbkNvbnRleHQ6VX19OnZvaWQgMDtfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKHRhLFQpfWg/LihtYSl9ZnVuY3Rpb24gRCgpe29hKFM/LlhlKCk/PyExKX1mdW5jdGlvbiBIKCl7b2EoITEpfWZ1bmN0aW9uIFIoKXt2YXIgbWE9Xy55SChiPy4oKSk7bWEmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQobWEpfQpmdW5jdGlvbiBNKCl7dmFyIG1hPV8uekgoYj8uKCkpO21hJiZfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKG1hKX12YXIgUz1fLnkoKS5yZXNvbHZlKF8uSW4oXy5qSCkpLFtZLHBhXT1fLkooITEsdm9pZCAwLCJUTkxKRWMiKSxvYT1wYSxVPV8ubUcoKSxoYT0oKT0+Rj8uKCk/Qz8uKCk6dm9pZCAwO3JldHVybiBfLksoXy5PLHtBOmZ1bmN0aW9uKCl7dmFyIG1hPV8uc0goYj8uKCkpPz9hPy4oKSx0YTtpZih0YT1tYSl7bGV0IHtScTpULGhyZWY6YmF9PV8uWkQobWEpO3RhPSEoIVR8fCFiYSl9cmV0dXJuIHRhfSx0aGVuOigpPT5fLksoXy5uSCx7Y29tbWFuZDphLHN0eWxlOmYsSGU6bCxhcmlhSGlkZGVuOm0sYXJpYUxhYmVsOm4sSG86cCxhcmlhU2VsZWN0ZWQ6cixkaXNhYmxlZDp0LGRpcjp2LHRhYkluZGV4OnosdGFyZ2V0OkUsdGl0bGU6QSxvbkNsaWNrOmgsY2xhc3NOYW1lOl8uUCgieXRCdXR0b25PckFuY2hvckhvc3QiLCJ5dEJ1dHRvbk9yQW5jaG9yQW5jaG9yIiwKZCwoKT0+WSgpP2U/LigpOiIiKSxkejpELGV6OkgsaXo6UixqejpNLGFyaWFDdXJyZW50OigpPT5rPy4oKT8/aGEoKX0sYyksVzooKT0+Xy5LKCJidXR0b24iLHsib246Y2xpY2siOkcsIm9uOmZvY3VzaW4iOkQsIm9uOmZvY3Vzb3V0IjpILCJvbjptb3VzZWVudGVyIjpSLCJvbjptb3VzZWxlYXZlIjpNLGNsYXNzOl8uUCgieXRCdXR0b25PckFuY2hvckhvc3QiLCJ5dEJ1dHRvbk9yQW5jaG9yQnV0dG9uIixkLCgpPT5ZKCk/ZT8uKCk6IiIpLHN0eWxlOmYsImFyaWEtZGVzY3JpYmVkYnkiOmwsImFyaWEtaGlkZGVuIjptLCJhcmlhLWxhYmVsIjpuLCJhcmlhLWxhYmVsbGVkYnkiOnAsImFyaWEtcHJlc3NlZCI6aGEsZGlyOnYsZGlzYWJsZWQ6dCx0YWJpbmRleDooKT0+ej8uKCk/PygoXy5Pa3x8Xy5yeigpKSYmXy54KCJ3ZWJfZW5hYmxlX3NhZmFyaV9idXR0b25fdGFiaW5kZXhfZml4Iik/MDp2b2lkIDApLHRpdGxlOkF9LGMpfSl9LCJ2Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIlpRS3gxIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSUU9ZnVuY3Rpb24oLi4uYSl7cmV0dXJuKCk9Pnt2YXIgYj0iIjtmb3IobGV0IGMgb2YgYSl7bGV0IGQ9dHlwZW9mIGM9PT0iZnVuY3Rpb24iP2MoKTpjO2lmKGQpZm9yKGxldCBlIGluIGQpe2xldCBmPWRbZV07Zm9yKDt0eXBlb2YgZj09PSJmdW5jdGlvbiI7KWY9ZigpO2YhPT12b2lkIDAmJmYhPT1udWxsJiYoYis9YDsgJHtlfTogJHtmfWApfX1yZXR1cm4gYi5sZW5ndGg+MD9fLkJ2KGIuc2xpY2UoMikpOl8uQnYoKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnJGPWZ1bmN0aW9uKC4uLmEpe3JldHVybiBfLnZFKF8uQkUsYj0+e3ZhciBjPWEubWFwKGQ9PmQ/LihiKSk7cmV0dXJuKCk9PnZvaWQgYy5mb3JFYWNoKGQ9PnZvaWQgZD8uKCkpfSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmhLPWZ1bmN0aW9uKCl7Z0t8fChnSz1uZXcgTGVhKTtyZXR1cm4gZ0t9O3ZhciBNZWE9Xy5MKGE9PntmdW5jdGlvbiBiKGhhKXtpZihoYSl7dmFyIG1hPU0uZ2V0KGhhKTttYSYmKG1hLmNhbmNlbCgpLE0uZGVsZXRlKGhhKSk7Zm9yKGxldCB0YSBvZiBoYS5nZXRBbmltYXRpb25zKCkpdGEuY2FuY2VsKCl9fWZ1bmN0aW9uIGMoaGEsbWEsdGEpe21hPV8uamYuR2EobWEsMyx0YSk7Uy5zZXQoaGEsbWEpfWZ1bmN0aW9uIGQoKXttKCExKTtpZihSKXt2YXIgaGE9UjtSPW51bGw7dmFyIG1hPURhdGUubm93KCktRztjKGhhLCgpPT57Uy5kZWxldGUoaGEpO3ZhciB7d2lkdGg6dGEsaGVpZ2h0OlQsb3BhY2l0eTpiYX09d2luZG93LmdldENvbXB1dGVkU3R5bGUoaGEpLGFhPU51bWJlci5wYXJzZUZsb2F0KHRhKXx8MCxPYT1OdW1iZXIucGFyc2VGbG9hdChUKXx8MCxKYj1OdW1iZXIucGFyc2VGbG9hdChiYSl8fC41O2hhLnN0eWxlLndpZHRoPWAke2FhfXB4YDtoYS5zdHlsZS5oZWlnaHQ9YCR7T2F9cHhgO2hhLnN0eWxlLm9wYWNpdHk9YCR7SmJ9YDtiKGhhKTthYT0KVT8wOjJFMztoYS5zdHlsZS50cmFuc2l0aW9uPWBvcGFjaXR5ICR7YWF9bXMgY3ViaWMtYmV6aWVyKDAuMjUsIDEsIDAuNSwgMSlgO2hhLnN0eWxlLm9wYWNpdHk9aGEub2Zmc2V0V2lkdGg9PT0tMT8iMSI6IjAiO2MoaGEsKCk9PntTLmRlbGV0ZShoYSk7aGEuc3R5bGUuY3NzVGV4dD0iIn0sYWErMTAwKX0sTWF0aC5tYXgoMCwzMDAtbWEpKX19ZnVuY3Rpb24gZSgpe2QoKTtDPW51bGx9dmFyIHtjbGFzc05hbWU6ZixzdHlsZTpofT1fLkRDKGEse2NsYXNzTmFtZToiIixzdHlsZToiZGVmYXVsdCJ9KSxbayxsXT1fLkooITEsdm9pZCAwLCJLYlVUamYiKSxtPWwsW24scF09Xy5KKHZvaWQgMCx2b2lkIDAsIkdlRnZFZiIpLFtyLHRdPV8uSih2b2lkIDAsdm9pZCAwLCJpM2ZkVmUiKSxbdix6XT1fLkoodm9pZCAwLHZvaWQgMCwiTGVkVjRiIiksRT1fLnJGKCksQT1fLnJGKCksRj1fLnJGKCksQz1udWxsLEc9MCxEPTAsSD0hMCxSPW51bGwsTT1uZXcgTWFwLFM9bmV3IE1hcCxZPTAscGE9CjAsb2E9bnVsbCxVPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSIpLm1hdGNoZXM7Xy5ZdSgoKT0+e2ZvcihsZXQgaGEgb2YgUy52YWx1ZXMoKSlfLmpmLkFhKGhhKTtTLmNsZWFyKCk7YihBLnZhbHVlKTtiKEYudmFsdWUpO29hIT09bnVsbCYmXy5qZi5BYShvYSl9KTtyZXR1cm4gXy5LKCJ5dC1saWdodC10b3VjaC1mZWVkYmFjay1zaGFwZSIse2VsOkUsY2xhc3M6Xy5QKCJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG9zdCIsZix7eXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVByZXNzZWQ6ayx5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5RGVmYXVsdDooKT0+aCgpPT09ImRlZmF1bHQiLHl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlJbnZlcnNlOigpPT5oKCk9PT0iaW52ZXJzZSJ9KSwib246cG9pbnRlcmVudGVyIjpmdW5jdGlvbigpe3ZhciBoYT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/Cm51bGwpO2hhJiZ6KGAkeyhoYS5oZWlnaHR8fDApKjIuNX1weGApfSwib246cG9pbnRlcmRvd24iOmZ1bmN0aW9uKGhhKXt2YXIgbWE9RGF0ZS5ub3coKTtpZighKG1hLUQ8MTAwKSl7RD1tYTttKCEwKTt2YXIgdGE9Qz8/KEM9RS52YWx1ZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/P251bGwpO2lmKHRhKXt2YXIgVD1oYS5jbGllbnRYLXRhLmxlZnQ7aGE9aGEuY2xpZW50WS10YS50b3A7dmFyIGJhPU1hdGgubWF4KCh0YS53aWR0aHx8MCkqMiwodGEuaGVpZ2h0fHwwKSo4LjUpLGFhPWJhLzQwOCoxNDAwO3RhPUg/QS52YWx1ZTpGLnZhbHVlO0g9IUg7aWYoUj10YSl7dGEuc3R5bGUuY3NzVGV4dD0iIjtiKHRhKTtsZXQgT2E9Uy5nZXQodGEpO09hIT09dm9pZCAwJiYoXy5qZi5BYShPYSksUy5kZWxldGUodGEpKTt0YS5zdHlsZS5sZWZ0PWAke1R9cHhgO3RhLnN0eWxlLnRvcD1gJHtoYX1weGA7VXx8KFQ9bmV3IEtleWZyYW1lRWZmZWN0KHRhLFt7d2lkdGg6IjBweCIsaGVpZ2h0OiIwcHgiLApvcGFjaXR5OiIwLjMwNiJ9LHt3aWR0aDpgJHtiYSouMjV9cHhgLGhlaWdodDpgJHtiYSouMjV9cHhgLG9wYWNpdHk6IjAuNzc0IixvZmZzZXQ6LjI1fSx7d2lkdGg6YCR7YmEqLjZ9cHhgLGhlaWdodDpgJHtiYSouNn1weGAsb3BhY2l0eToiMC44MjgiLG9mZnNldDouNn0se3dpZHRoOmAke2JhfXB4YCxoZWlnaHQ6YCR7YmF9cHhgLG9wYWNpdHk6IjAuOSJ9XSx7ZHVyYXRpb246YWEsZmlsbDoiZm9yd2FyZHMiLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMTcsIDAuMTcsIDAuMSwgMSkifSksVD1uZXcgQW5pbWF0aW9uKFQsZG9jdW1lbnQudGltZWxpbmUpLE0uc2V0KHRhLFQpLFQucGxheSgpKX1HPW1hfX19LCJvbjpwb2ludGVydXAiOmQsIm9uOnBvaW50ZXJsZWF2ZSI6ZSwib246cG9pbnRlcmNhbmNlbCI6ZSwib246cG9pbnRlcm1vdmUiOmZ1bmN0aW9uKGhhKXt2YXIgbWE9Qz8/KEM9RS52YWx1ZT8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/P251bGwpO21hJiYoWT1oYS5jbGllbnRYLQptYS5sZWZ0LHBhPWhhLmNsaWVudFktbWEudG9wLGsoKSYmKGhhLmNsaWVudFg8bWEubGVmdHx8aGEuY2xpZW50WD5tYS5yaWdodHx8aGEuY2xpZW50WTxtYS50b3B8fGhhLmNsaWVudFk+bWEuYm90dG9tKT9kKCk6b2E9PT1udWxsJiYob2E9Xy5qZi5HYSgoKT0+e29hPW51bGw7cChgJHtZfXB4YCk7dChgJHtwYX1weGApfSwzKSkpfSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKCJkaXYiLHtjbGFzczoieXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheSJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJMaWdodCIsc3R5bGU6Xy5JRSh7bGVmdDpuLHRvcDpyLHdpZHRoOnYsaGVpZ2h0OnZ9KX0pLF8uSygiZGl2Iix7ZWw6QSxjbGFzczoieXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZVRvdWNoTGlnaHQifSksXy5LKCJkaXYiLHtlbDpGLGNsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodCJ9KSl9LCJhYSIpO3ZhciBMZWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLmo9bmV3IE1hcDt2YXIgW2EsYl09Xy5KKFtdLHZvaWQgMCwiSUtmWkJkIik7dGhpcy52PWI7dGhpcy5vPV8uTigoKT0+e3ZhciBjPWEoKTtmb3IobGV0IGQgb2YgYylkLlB5Py4oKTtyZXR1cm4gYy5tYXAoZD0+ZC5lbGVtZW50KX0sdm9pZCAwLCJaTVJ0d2QiKX1sYSgpe2dLPW51bGw7c3VwZXIubGEoKX19LGdLPW51bGw7Xy55RT1fLkwoYT0+e3ZhciBiPV8udkUoXy5CRSksW2MsZF09Xy5KKHt4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9LHZvaWQgMCwiR3dYY0RkIiksZT0oKT0+e2lmKGEuY29uZmlnKCk/LmprKXt2YXIgaD1iLnZhbHVlO2lmKGgpe3ZhciBrPV8uaEsoKS5vO3ZhciBsPWsoKTtpZihsLmxlbmd0aCl7bGV0IHQ9aC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtrPXQubGVmdCt0LndpZHRoLzI7dmFyIG09dC50b3ArdC5oZWlnaHQvMjtsZXQgdj1JbmZpbml0eTt2YXIgbj0wLHA9MDtsZXQgej05Njtmb3IobGV0IEUgb2YgbCl7aWYoRT09PWh8fCFFLmlzQ29ubmVjdGVkfHxFLm9mZnNldFBhcmVudD09PW51bGwpY29udGludWU7bD1FLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGwud2lkdGg9PT0wJiZsLmhlaWdodD09PTApY29udGludWU7bGV0IEE9TWF0aC5tYXgobC5sZWZ0LE1hdGgubWluKGssbC5yaWdodCkpLEY9TWF0aC5tYXgobC50b3AsTWF0aC5taW4obSxsLmJvdHRvbSkpO3ZhciByPQpBLU1hdGgubWF4KHQubGVmdCxNYXRoLm1pbihBLHQucmlnaHQpKTtsZXQgQz1GLU1hdGgubWF4KHQudG9wLE1hdGgubWluKEYsdC5ib3R0b20pKTtyPXIqcitDKkM7cjx2JiYodj1yLG49QSxwPUYsej1NYXRoLm1heChsLndpZHRoLGwuaGVpZ2h0KSl9aD1NYXRoLnNxcnQodik7ZChoPDEwMD97eDpuLWsseTpwLW0sb3BhY2l0eToxLWgvMzAwLHNpemU6TWF0aC5tYXgoOTYseioyLjUpfTp7eDowLHk6MCxvcGFjaXR5OjAsc2l6ZTowfSl9ZWxzZSBkKHt4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9KX19fTtfLm5FKCgpPT57aWYoYS5jb25maWcoKT8uamspe3ZhciBoPW5ldyBfLld0KGUsMTAwKSxrPSgpPT57aC52KCl9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGspO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsayk7aC5kaXNwb3NlKCl9fX0sInJQWUMxZCIpO18ubkUoKCk9PnthLmNvbmZpZygpPy5qayYmZSgpfSwiUXA2UFJkIik7CnZhciBmPSgpPT5hLmNvbmZpZygpPy5WYSE9PTUmJmEuY29uZmlnKCk/LlZhIT09OSYmYS5jb25maWcoKT8uVmEhPT02O3JldHVybiBfLksoXy5PLHtBOigpPT5hLmNvbmZpZygpPy5WYSE9PTAmJiFfLmdyLHRoZW46KCk9Pl8uSygieXQtbGlnaHQtc2hhcGUiLHtlbDpiLCJhcmlhLWhpZGRlbiI6InRydWUiLGNsYXNzOl8uUCgiY29udHJpYll0TGlnaHRTaGFwZUhvc3QiLGEuY2xhc3NOYW1lLHtjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHQ6KCk9PiEwLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTEsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09Myxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRTb2xpZEludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Mixjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRUb25hbEludmVyc2U6KCk9PgphLmNvbmZpZygpPy5WYT09PTQsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheVRvbmFsOigpPT5hLmNvbmZpZygpPy5WYT09PTgsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheVNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTcsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZTooKT0+YS5jb25maWcoKT8uVmE9PT01LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodE92ZXJsYXlPdXRsaW5lOigpPT5hLmNvbmZpZygpPy5WYT09PTksY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3V0bGluZUludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Nn0pLHN0eWxlOl8uSUUoeyItLXl0LWxpZ2h0LXJpbS1jb2xvciI6KCk9PmEuY29uZmlnKCk/LmR2LCItLXl0LWxpZ2h0LXdhc2gtb3BhY2l0eSI6KCk9PmMoKS5vcGFjaXR5LCItLXl0LWxpZ2h0LXdhc2gteCI6KCk9PmAke2MoKS54fXB4YCwiLS15dC1saWdodC13YXNoLXkiOigpPT4KYCR7YygpLnl9cHhgLCItLXl0LWxpZ2h0LXdhc2gtc2l6ZSI6KCk9PmAke2MoKS5zaXplfXB4YH0pfSxfLksoXy5PLHtBOigpPT5hLmNvbmZpZygpPy5qayx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJjb250cmliWXRMaWdodFNoYXBlRHluYW1pY1dhc2hMaWdodCJ9KX0pLF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LkNCLHRoZW46KCk9Pl8uSyhNZWEse3N0eWxlOigpPT57dmFyIGg7YTp7aWYoaD1hLmNvbmZpZygpPy5WYSlzd2l0Y2goaCl7Y2FzZSAxOmNhc2UgNDpoPSJkZWZhdWx0IjticmVhayBhO2Nhc2UgMjpjYXNlIDM6Y2FzZSA1Omg9ImludmVyc2UiO2JyZWFrIGF9aD12b2lkIDB9cmV0dXJuIGh9fSl9KSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoImNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHQiLHtjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U2FmYXJpOigpPT5fLk9rfHxfLklsLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZDooKT0+CmEuY29uZmlnKCk/LlZhPT09MSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09Myxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0U29saWRJbnZlcnNlOigpPT5hLmNvbmZpZygpPy5WYT09PTIsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFRvbmFsSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT00LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09OCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0T3ZlcmxheVNvbGlkOigpPT5hLmNvbmZpZygpPy5WYT09PTd9KSxzdHlsZTpfLklFKHtiYWNrZ3JvdW5kOigpPT5gcmFkaWFsLWdyYWRpZW50KCR7YS5jb25maWcoKT8uZXZ9LCB0cmFuc3BhcmVudClgfSl9KX0pKX0pfSwiZGEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibnZYNFZiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBoRyxkZGEsY2RhLGlHLGpHO18uZkc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oQXJyYXkuaXNBcnJheShhKT9hOkFycmF5LmZyb20oYSkpLm1hcChiKX07Xy5nRz1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGEucGEhPT0iZnVuY3Rpb24iP18uZkcoYS5wYSxhLmNoaWxkcmVuKTphLnRiPT09IklOREVYIj9jZGEoYSk6ZGRhKGEpfTtoRz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYSliPy4oKX07CmRkYT1mdW5jdGlvbihhKXt2YXIgYj1hLnRiPT09dm9pZCAwfHxhLnRiPT09IlJFRkVSRU5DRSIsYz1iP249Pm46YS50YixkPVtdLGU9W10sZj1bXSxoPVtdLGs9W10sbD1bXSxtPSEwO18uWXUoKCk9PntoRyhoKX0pO3JldHVybiBfLlhCKCgpPT57dmFyIG49aUcoYSkscD1uLmxlbmd0aDtpZihwPT09MCl7aWYoZC5sZW5ndGg9PT0wJiYhbSlyZXR1cm4gZjtoRyhoKTtkPW47ZT1bXTtmb3Iobj0wO248ZC5sZW5ndGg7bisrKWUucHVzaChjKGRbbl0pKTtmPVtdO2g9W107az1bXTtsPVtdO2EuZmFsbGJhY2smJihoWzBdPWpHKCgpPT57ZlswXT1fLmZDKGEuZmFsbGJhY2soKSl9KSk7bT0hMTtyZXR1cm4gZn12YXIgcj1uZXcgZWRhO2Zvcih2YXIgdD1kLmxlbmd0aC0xO3Q+PTA7dC0tKXIucHVzaChlW3RdLHQpO3Q9QXJyYXkocCk7dmFyIHY9QXJyYXkocCksej1BcnJheShwKSxFPUFycmF5KHApLEE9QXJyYXkoYj8wOnApO2ZvcihsZXQgRj0wO0Y8cDtGKyspe2xldCBDPW5bRl0sRz1jKEMpLApEPXIucG9wKEcpO0QhPW51bGw/KHpbRl09ZltEXSx2W0ZdPWVbRF0sdFtGXT1oW0RdLEVbRl09a1tEXSxifHwoQVtGXT1sW0RdKSxfLnJDKCgpPT57RVtGXShGKTtpZighYilBW0ZdKEMpfSksZGVsZXRlIGhbRF0pOnRbRl09akcoKCk9Pnt2YXIgSD1fLkooRix2b2lkIDAsIlBMVDFzIiksUj1IWzBdO0VbRl09SFsxXTt2W0ZdPUc7aWYoYil6W0ZdPV8uZkMoYS5jaGlsZHJlbihDLFIpKTtlbHNle2xldCBNPV8uSihDLHZvaWQgMCwiYms4UkpkIiksUz1NWzBdO0FbRl09TVsxXTt6W0ZdPV8uZkMoYS5jaGlsZHJlbihTLFIpKX19KX1oRyhoKTtkPW47ZT12O2Y9ejtoPXQ7az1FO2w9QTttPSExO3JldHVybiB6fSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/Im5zVEdIZCIsenA6YS5wYSxXZTohMH0pfTsKY2RhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9W10sZD1bXSxlPVtdLGY9ITE7Xy5ZdSgoKT0+e2hHKGUpfSk7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgaD1pRyhhKTtmJiZoLmxlbmd0aD4wJiYoZS5wb3AoKSgpLGIucG9wKCksZj0hMSk7dmFyIGs9QXJyYXkoaC5sZW5ndGgpO2ZvcihsZXQgbT0wO208aC5sZW5ndGg7bSsrKXtpZihtPGIubGVuZ3RoKXtiW21dIT09aFttXSYmKF8uckMoKCk9PnZvaWQgY1ttXShoW21dKSksYlttXT1oW21dKTtrW21dPWRbbV07Y29udGludWV9dmFyIGw9akcoKCk9PntiW21dPWhbbV07dmFyIG49Xy5KKGhbbV0sdm9pZCAwLCJ1aUMwY2IiKSxwPW5bMF07Y1ttXT1uWzFdO2tbbV09Xy5mQyhhLmNoaWxkcmVuKHAsbSkpfSk7ZVttXT1sfWZvcig7Yi5sZW5ndGg+aC5sZW5ndGg7KWIucG9wKCksZS5wb3AoKSgpLGMucG9wKCk7aC5sZW5ndGg9PT0wJiYhZiYmYS5mYWxsYmFjayYmKGw9akcoKCk9PntrWzBdPV8uZkMoYS5mYWxsYmFjaygpKX0pLGVbMF09bCxmPQohMCk7cmV0dXJuIGQ9a30se2RlYnVnTmFtZTphLmRlYnVnSW5zdGFuY2U/PyJuc1RHSGQiLFdlOiEwfSl9O2lHPWZ1bmN0aW9uKGEpe2E9YS5wYSgpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6QXJyYXkuZnJvbShhKX07akc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DQSgpO3JldHVybiBfLnV2KGM9Pnt2YXIgZD1fLmt1KF8uenYpO3RyeXtjLnBhcmVudD1iLGEoYyl9ZmluYWxseXtfLmt1KGQpfX0sITEpfTt2YXIgZWRhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXA9bmV3IE1hcH1wdXNoKGEsYil7dmFyIGM9dGhpcy5tYXA7aWYoYy5oYXMoYSkpe3RoaXMuanx8KHRoaXMuaj1uZXcgTWFwKTtpZih0aGlzLmo/LmhhcyhiKSl0aHJvdyBfLlV1KEVycm9yKCJaY2AiK2IpLDQpO3RoaXMuai5zZXQoYixjLmdldChhKSl9Yy5zZXQoYSxiKX1wb3AoYSl7dmFyIGI9dGhpcy5tYXAsYz1iLmdldChhKTtjIT09dm9pZCAwJiZ0aGlzLmo/LmhhcyhjKT8oYi5zZXQoYSx0aGlzLmouZ2V0KGMpKSx0aGlzLmouZGVsZXRlKGMpKTpiLmRlbGV0ZShhKTtyZXR1cm4gY319Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga2NhLGxjYSxGRSxHRTtfLkNFPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtfLkRFPWZ1bmN0aW9uKGEpe3JldHVybntpc0RlZmF1bHQ6ITAsY2hpbGRyZW46YS5jaGlsZHJlbn19O18uRUU9ZnVuY3Rpb24oYSl7cmV0dXJuIGtjYShhKX07CmtjYT1mdW5jdGlvbihhKXt2YXIgYj1sY2EoYSksYz1fLk4oKCk9PnthOnt2YXIgZD0tMTtmb3IobGV0IGU9MDtlPGIubGVuZ3RoO2UrKyl7bGV0IGY9YltlXTtmPy5bXy5Mdl0mJihmPUZFKGYpKTtmIGluc3RhbmNlb2YgXy5kQyYmKGY9R0UoZikpO2lmKGYuaXNEZWZhdWx0KWQ9PT0tMSYmKGQ9ZSk7ZWxzZSBpZihfLkJ2KGYud2hlbikpe2Q9ZTticmVhayBhfX19cmV0dXJuIGR9LHZvaWQgMCwiTVNUeFdiIik7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgZD1jKCksZTtfLnV2KCgpPT57dmFyIGY9Xy5rdShfLnp2KTt0cnl7aWYoZD09PS0xKWU9bnVsbDtlbHNle3ZhciBoPWJbZF07dmFyIGs9aD8uW18uTHZdP0ZFKGgpOmggaW5zdGFuY2VvZiBfLmRDP0dFKGgpOmg7dmFyIGw9az09PW51bGw/bnVsbDprLmlzRGVmYXVsdD9rLmNoaWxkcmVuKCk6dHlwZW9mIGsud2hlbj09PSJmdW5jdGlvbiI/ay5jaGlsZHJlbihfLk5DKGsud2hlbiwiQ2FzZSIpKTprLmNoaWxkcmVuKGsud2hlbik7ZT1fLmZDKGwpfX1maW5hbGx5e18ua3UoZil9fSk7CnJldHVybiBlfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/InZJMXJ0ZiIsV2U6ITB9KX07bGNhPWZ1bmN0aW9uKGEpe2E9YS5jaGlsZHJlbjtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9hOlthXX07RkU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudHlwZT09PV8uREU/e2lzRGVmYXVsdDohMCxjaGlsZHJlbjphLmNoaWxkcmVuWzBdfTp7d2hlbjphLnByb3BzLndoZW4sY2hpbGRyZW46YS5jaGlsZHJlblswXX19O0dFPWZ1bmN0aW9uKGEpe3ZhciBiPWEucHJvcHM7YT1hLmNoaWxkcmVuWzBdO3JldHVybiBiLndoZW4/e3doZW46Yi53aGVuLGNoaWxkcmVuOmF9Ontpc0RlZmF1bHQ6ITAsY2hpbGRyZW46YX19O18uQ0UuZGVidWdOYW1lPSJ0YmhNY2YiO18uREUuZGVidWdOYW1lPSJ6eU1GemIiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRGNhO0RjYT1mdW5jdGlvbihhKXtzd2l0Y2goYS5acSl7Y2FzZSBfLlF2Ol8uVXYuc2NoZWR1bGUoYSk7YnJlYWs7ZGVmYXVsdDpfLmViKGEuWnEsdm9pZCAwKX19O18ub0Y9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8uV3UpUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoInliIiksMik7fSk7ZWxzZXtpZigoMCxfLmx2KShfLmp1KSl0aHJvdyBfLlV1KEVycm9yKCJ6YiIpLDQpO3ZhciBiPV8uWnQsYz1fLk11O0RjYSh7WnE6Xy5RdixydW46KCk9PntpZihiJiYhYi5pYSl7dmFyIGQ9Xy4kdChiKTt0cnl7Xy5SdSgoKT0+e3ZhciBlPWEoKTt0eXBlb2YgZT09PSJmdW5jdGlvbiImJl8uWXUoZSl9LGMpfWNhdGNoKGUpe18uVXUoZSw0KSxfLm92KGUpfWZpbmFsbHl7Xy4kdChkKX19fX0pfX07Xy5LQj1fLmxDO18ucUY9U3ltYm9sKCJYYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgV0osVko7Xy5USj1mdW5jdGlvbihhLGIpe3ZhciBjPV8ucEUoIm9uQ2hhbmdlIiksZD1fLm9FKCk7Xy5xRShjLm1sLGIpJiYoYy5tbD1iLGMuc3I9YSxkLnVmfHwoZC51Zj1bXSksZC51Zi5wdXNoKGMpKX07Xy5VSj1mdW5jdGlvbihhKXtfLkhBKCk/Xy5vRigoKT0+Xy5FQShhKSk6Xy5USigoKT0+Xy5FQShhKSxbXSl9O1dKPWZ1bmN0aW9uKGEpe3ZhciBiPVsuLi5hXTthLmxlbmd0aD0wO2ZvcihsZXQgYyBvZiBiKWlmKFZKKGMpLGE9Yy5zcixjLnNyPW51bGwsYT1hPy4oKSljLnJyPWF9O1ZKPWZ1bmN0aW9uKGEpe3ZhciBiPWEucnI7YS5ycj1udWxsO2I/LigpfTtfLmR3KHtTbyhhKXt2YXIgYj1fLiR0KGEucWwpO3RyeXthLnVmPy5sZW5ndGgmJldKKGEudWYpfWZpbmFsbHl7Xy4kdChiKX19LEdmKGEpe3ZhciBiPV8uJHQoYS5xbCk7dHJ5e2EudWY/Lmxlbmd0aCYmV0ooYS51Zil9ZmluYWxseXtfLiR0KGIpfX0sSGYoYSl7YS5aZj8ubGVuZ3RoJiZhLlpmLmZvckVhY2goVkopfX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFEPW51bGw7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBoZGEsaWRhLGtkYSxtZGEscUcsbmRhLHNHLHJHLHVHLHdHLHZHLHhHLHRHLG9kYSxwZGEsc2RhLEJHLHRkYSxBRyxyZGEscWRhLGpkYSxsZGE7aGRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5hRCxkPTA7Xy5hRD17c3U6KCk9PntkKys7Xy5yQygoKT0+e2EoITEpfSl9LEhyOigpPT57LS1kPT09MCYmXy5yQygoKT0+e2EoITApfSl9fTt0cnl7cmV0dXJuIGIoKX1maW5hbGx5e18uYUQ9Y319O2lkYT1mdW5jdGlvbihhKXt2YXIgW2IsY109Xy5KKCEwLHZvaWQgMCwiYkt0TzZkIik7cmV0dXJuIGhkYShjLCgpPT57dmFyIGQ9Xy5mQyhhLmNoaWxkcmVuKCkpO3JldHVybiBfLksoXy5PLHtBOmIsdGhlbjooKT0+ZCxXOmEuZmFsbGJhY2t9KX0pfTsKXy5uRz1mdW5jdGlvbih7Y2hpbGRyZW46YSxFZjpiLGNhbGxiYWNrczpjfSl7dmFyIGQ9bmV3IE1hcDtiPWI/P1tdO2ZvcihsZXQgZSBvZiBiKWQuc2V0KGUuaWQuQ2IudG9rZW4sZSk7Yz1jPz9bXTtmb3IobGV0IGUgb2YgYylkLnNldChlLmlkLkNiLnRva2VuLGUpO2Q9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKGpkYSkse2RlYnVnTmFtZToiW2NvbnRleHRPd25lcl0iLGVudHJpZXM6ZH0pO18uQnUoZCk7ZD1fLiR0KGQpO3RyeXtsZXQgZT1fLmZDKGEpO3JldHVybiBfLksoXy5JQixudWxsLGUpfWZpbmFsbHl7Xy4kdChkKX19O18ub0c9ZnVuY3Rpb24oYSxiKXtyZXR1cm57W18uZ2RhXTohMCxpZDphLHZhbHVlOmJ9fTtrZGE9ZnVuY3Rpb24oe1NnOmF9KXtyZXR1cm4gXy5LKF8uSUIsbnVsbCxhKCkpfTtfLnBHPWZ1bmN0aW9uKGEsYil7YT17Li4uYSxwYXJlbnQ6Xy5tRygpfTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKF8ubEcsYSldfSxfLksoa2RhLHtTZzpifSkpfTsKbWRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBsZGEoYSxiKX07cUc9ZnVuY3Rpb24oYSxiKXt0aGlzLm89e307dGhpcy5qPVtdO3RoaXMuQWU9dGhpcy5zaXplPTA7dmFyIGM9YXJndW1lbnRzLmxlbmd0aDtpZihjPjEpe2lmKGMlMil0aHJvdyBFcnJvcigiYmQiKTtmb3IodmFyIGQ9MDtkPGM7ZCs9Mil0aGlzLnNldChhcmd1bWVudHNbZF0sYXJndW1lbnRzW2QrMV0pfWVsc2UgaWYoYSlpZihhIGluc3RhbmNlb2YgcUcpZm9yKGM9YS5yZCgpLGQ9MDtkPGMubGVuZ3RoO2QrKyl0aGlzLnNldChjW2RdLGEuZ2V0KGNbZF0pKTtlbHNlIGZvcihkIGluIGEpdGhpcy5zZXQoZCxhW2RdKX07bmRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1ifTsKc0c9ZnVuY3Rpb24oYSl7aWYoYS5zaXplIT1hLmoubGVuZ3RoKXtmb3IodmFyIGI9MCxjPTA7YjxhLmoubGVuZ3RoOyl7dmFyIGQ9YS5qW2JdO3JHKGEubyxkKSYmKGEualtjKytdPWQpO2IrK31hLmoubGVuZ3RoPWN9aWYoYS5zaXplIT1hLmoubGVuZ3RoKXtiPXt9O2ZvcihkPWM9MDtjPGEuai5sZW5ndGg7KXtsZXQgZT1hLmpbY107ckcoYixlKXx8KGEualtkKytdPWUsYltlXT0xKTtjKyt9YS5qLmxlbmd0aD1kfX07ckc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYil9O3VHPWZ1bmN0aW9uKCl7dGhpcy5vPW5ldyBxRzt0aGlzLmo9bmV3IHRHKCIiKTt0aGlzLmoubmV4dD10aGlzLmouVWE9dGhpcy5qfTt3Rz1mdW5jdGlvbihhLGIpe2lmKGI9YS5vLmdldChiKSliLnJlbW92ZSgpLHZHKGEsYik7cmV0dXJuIGJ9Owp2Rz1mdW5jdGlvbihhLGIpe2IubmV4dD1hLmoubmV4dDtiLlVhPWEuajthLmoubmV4dD1iO2ZvcihiLm5leHQuVWE9YjthLm8uc2l6ZT4xMDA7KWEucmVtb3ZlTm9kZShhLmouVWEpfTt4Rz1mdW5jdGlvbihhLGIpe2EuaiE9YiYmYS5yZW1vdmVOb2RlKGIpO3JldHVybiBiLnZhbHVlfTt0Rz1mdW5jdGlvbihhLGIpe3RoaXMua2V5PWE7dGhpcy52YWx1ZT1ifTtvZGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9eUc7aWYoYT09bnVsbHx8IWMuRWcpcmV0dXJuIGI7ZS5qLmdldChhKT09PXZvaWQgMCYmZS5qLnNldChhLFtiLGQ/P1tdLCExXSk7Yz1lLmouZ2V0KGEpO2lmKCFjKXJldHVybiBiO3ZhciBbZixoLGtdPWM7aWYoaD8ubGVuZ3RoJiZkPy5sZW5ndGgmJmQuc29tZSgobCxtKT0+bCE9PWhbbV0pKXJldHVybiBlLmoucmVtb3ZlKGEpLGI7ZD8ubGVuZ3RoJiZlLmouc2V0KGEsW2YsZCxrXSk7cmV0dXJuIGs/ZjpifTsKXy56Rz1mdW5jdGlvbihhLGI9e0VnOiEwfSl7cmV0dXJue01nOmZ1bmN0aW9uKGMsZCl7dmFyIGU9Xy5OKCgpPT5hKGMoKSksdm9pZCAwLCJHbXJibGIiKSxbZixoXT1fLkFDKCgpPT57dmFyIGs9YygpLGw9ZSgpLG09ZD8ubWFwKG49Pm4oKSk/P1tdO3JldHVybiBvZGEobCxrLGIsbSl9KTtfLm5FKCgpPT57dmFyIGs9ZSgpO2shPW51bGwmJihrPXlHLnJlZ2lzdGVyKGssW2YsaF0sKCk9PmQ/Lm1hcChsPT5sKCkpPz9bXSksXy5ZdShrKSl9LCJVbWFjNmMiKTtyZXR1cm5bZixmdW5jdGlvbihrKXtoKGspO3ZhciBsPWUoKTtsIT1udWxsJiZ5Ry51cGRhdGUobCwoKT0+ayxiKX1dfSxnZXREYXRhOmZ1bmN0aW9uKGMpe2M9YShjKTtyZXR1cm4geUcuZ2V0KGMsYil9LGdrOmZ1bmN0aW9uKGMsZCl7Yz1hKGMpO3JldHVybiB5Ry51cGRhdGUoYyxkLGIpfX19OwpfLlc9ZnVuY3Rpb24oYSl7dmFyIHtkYXRhOmIsbWFwcGluZzpjLHdyYXBwZXI6ZCxySzplfT1wZGEoYSk7cWRhKGIsYyk7dmFyIGY9KCk9PkFHKF8uQnYoYikpLGg9KCk9Pnt2YXIgaz1BRyhfLkJ2KGIpKSxsPVtdO2ZvcihsZXQgbSBvZiBrKShrPUJHKG0pKSYmbC5wdXNoKGspO3JldHVybiBsfTtyZXR1cm4gYS5kYXRhP18uSyhpZGEse2ZhbGxiYWNrOmV9LCgpPT5fLksoXy5nRyx7cGE6aH0sKGssbCk9Pnt2YXIgbT1kP3A9PmQoKCk9PmNba10ocCxsKSxuLGwpOnA9PmNba10ocCxsKTttLmRlYnVnTmFtZXx8KG0uZGVidWdOYW1lPVN0cmluZyhrKSk7aWYoIWNbU3RyaW5nKGspXSlyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiIik7bS5jb21wb25lbnRUeXBlIT09Xy5LdiYmcmRhKFN0cmluZyhrKSk7dmFyIG49c2RhKGYsayxsKTtyZXR1cm4gXy5LKG0se2RhdGE6bn0pfSkpOl8uSyhfLklCLG51bGwpfTsKcGRhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0SWR8fHRkYShhLmNoaWxkcmVuKTtpZighYS5kYXRhfHwhYilyZXR1cm57Li4uYSxtYXBwaW5nOmEuY2hpbGRyZW59O3ZhciBjPWBzdGFtcGVyLSR7dWRhKyt9YCxkPSgpPT4odHlwZW9mIGEudGFyZ2V0SWQ9PT0iZnVuY3Rpb24iP2EudGFyZ2V0SWQoYyk6YS50YXJnZXRJZCk/P2M7W2JdPXZkYSgoKT0+e3ZhciBmPVsuLi5BRyhhLmRhdGEoKSldO2YudGFyZ2V0SWQ9ZDtyZXR1cm4gZn0pO3ZhciBlPXsuLi4oXy55KCkucmVzb2x2ZShfLkluKHdkYSkpfHx7fSkuQUssLi4uYS5jaGlsZHJlbn07aWYoYS5Kcil7bGV0IGY9ZS5ub3RpZmljYXRpb25UZXh0UmVuZGVyZXIsaD1lLm5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXI7ZiYmKGUubm90aWZpY2F0aW9uVGV4dFJlbmRlcmVyPSh7ZGF0YTprfSxsKT0+YS5KcihmKHtkYXRhOmt9LGwpKSk7aCYmKGUubm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlcj0oe2RhdGE6a30sCmwpPT5hLkpyKGgoe2RhdGE6a30sbCkpKX1yZXR1cm57Li4uYSxkYXRhOmIsbWFwcGluZzplLHdyYXBwZXI6KGYsaCxrKT0+Xy5wRyh7dGFyZ2V0SWQ6ZCxZSzprfSxhLndyYXBwZXI/KCk9PmEud3JhcHBlcihmLGgsayk6Zil9fTtzZGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBfLk4oKCk9Pnt2YXIgZT1hKClbYygpXTtpZihlKWQ9ZVtiXTtlbHNlIHJldHVybiBfLklwKG5ldyBfLlhqKGBTdGFtcGVyIGZhaWxlZCB0byBmaW5kICR7U3RyaW5nKGIpfSBhdCBpbmRleCAke2MoKX0gb2YgZGF0YSBhcnJheSBvZiBsZW5ndGggJHthKCkubGVuZ3RofSAoYi8zNjU2NDMzNTkpLiBEaWQgeW91IGFjY2VzcyBhIHNpZ25hbCBhZnRlciBhIGNvbXBvbmVudCBoYXMgYmVlbiBjbGVhbmVkIHVwP2ApKSxkO3JldHVybiBlW2JdfSx2b2lkIDAsInNFcnRqZCIpfTsKQkc9ZnVuY3Rpb24oYSl7dmFyIGI9dm9pZCAwO2ZvcihsZXQgYyBpbiBhKWlmKCEoIWEpLmhhc093blByb3BlcnR5KGMpKXtiPWM7YnJlYWt9cmV0dXJuIGJ9O3RkYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMoYSkpaWYoeGRhLmluY2x1ZGVzKGIpfHx5ZGEuaW5jbHVkZXMoYil8fHpkYS5pbmNsdWRlcyhiKSlyZXR1cm4hMDtyZXR1cm4hMX07QUc9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/QXJyYXkuaXNBcnJheShhKSYmYSBpbnN0YW5jZW9mIEFycmF5P2E6W2FdOltdfTtyZGE9ZnVuY3Rpb24oYSl7Xy54KCJ3ZWJfZW5hYmxlX3JlbmRlcmVyX2xvZ2dlciIpJiZfLnkoKS5yZXNvbHZlKF8uSW4oXy5DRykpPy53eShhKX07CnFkYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLnJlc29sdmUoXy5JbihBZGEpKTtjJiZfLm5FKCgpPT57dmFyIGQ9QUcoXy5CdihhKSksZT0wLGY9ITE7Zm9yKHZhciBoIG9mIGQpe2Q9QkcoaCk7aWYoIWR8fCFiW1N0cmluZyhkKV0pe2Y9ITA7YnJlYWt9ZSsrfWg9Yy5WSztkPWMuV0s7ZT4wJiYhZj9oLm8oZCgpKTpoLmooZCgpKX0sIkRoT1V4ZSIpfTtqZGE9e1JoKGEpe2lmKF8uZnUgaW4gYXx8Xy5mZGEgaW4gYSl7bGV0IGI9dGhpcy5lbnRyaWVzLmdldChhLkNiLnRva2VuKTtpZihiIT09dm9pZCAwKXJldHVybiBiLnZhbHVlfXJldHVybiB0aGlzLnBhcmVudD9fLmN1KHRoaXMucGFyZW50LGEpOl8uYXV9fTsKbGRhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWFbXy51LlN5bWJvbC5pdGVyYXRvcl0oKTt0aGlzLm89Yn1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiB0aGlzfW5leHQoKXt2YXIgYT10aGlzLmoubmV4dCgpO3JldHVybnt2YWx1ZTphLmRvbmU/dm9pZCAwOnRoaXMuby5jYWxsKHZvaWQgMCxhLnZhbHVlKSxkb25lOmEuZG9uZX19fTtfLmc9cUcucHJvdG90eXBlO18uZy5NYz1mdW5jdGlvbigpe3NHKHRoaXMpO3ZhciBhPVtdO2ZvcihsZXQgYj0wO2I8dGhpcy5qLmxlbmd0aDtiKyspYS5wdXNoKHRoaXMub1t0aGlzLmpbYl1dKTtyZXR1cm4gYX07Xy5nLnJkPWZ1bmN0aW9uKCl7c0codGhpcyk7cmV0dXJuIHRoaXMuai5jb25jYXQoKX07Xy5nLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gckcodGhpcy5vLGEpfTtfLmcuZXF1YWxzPWZ1bmN0aW9uKGEsYil7aWYodGhpcz09PWEpcmV0dXJuITA7aWYodGhpcy5zaXplIT1hLnNpemUpcmV0dXJuITE7Yj1ifHxuZGE7c0codGhpcyk7dmFyIGM7Zm9yKGxldCBkPTA7Yz10aGlzLmpbZF07ZCsrKWlmKCFiKHRoaXMuZ2V0KGMpLGEuZ2V0KGMpKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zaXplPT0wfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLm89e307dGhpcy5BZT10aGlzLnNpemU9dGhpcy5qLmxlbmd0aD0wfTsKXy5nLnJlbW92ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5kZWxldGUoYSl9O18uZy5kZWxldGU9ZnVuY3Rpb24oYSl7cmV0dXJuIHJHKHRoaXMubyxhKT8oZGVsZXRlIHRoaXMub1thXSwtLXRoaXMuc2l6ZSx0aGlzLkFlKyssdGhpcy5qLmxlbmd0aD4yKnRoaXMuc2l6ZSYmc0codGhpcyksITApOiExfTtfLmcuZ2V0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHJHKHRoaXMubyxhKT90aGlzLm9bYV06Yn07Xy5nLnNldD1mdW5jdGlvbihhLGIpe3JHKHRoaXMubyxhKXx8KHRoaXMuc2l6ZSs9MSx0aGlzLmoucHVzaChhKSx0aGlzLkFlKyspO3RoaXMub1thXT1ifTtfLmcuZm9yRWFjaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMucmQoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyl7bGV0IGU9Y1tkXSxmPXRoaXMuZ2V0KGUpO2EuY2FsbChiLGYsZSx0aGlzKX19O18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgcUcodGhpcyl9O18uZy5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIF8uc2godGhpcy5iZCghMCkpLmooKX07Cl8uZy52YWx1ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zaCh0aGlzLmJkKCExKSkuaigpfTtfLmcuZW50cmllcz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7cmV0dXJuIG1kYSh0aGlzLmtleXMoKSxmdW5jdGlvbihiKXtyZXR1cm5bYixhLmdldChiKV19KX07Xy5nLmJkPWZ1bmN0aW9uKGEpe3NHKHRoaXMpO3ZhciBiPTAsYz10aGlzLkFlLGQ9dGhpcyxlPW5ldyBfLm9oO2UubmV4dD1mdW5jdGlvbigpe2lmKGMhPWQuQWUpdGhyb3cgRXJyb3IoImNkIik7aWYoYj49ZC5qLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZj1kLmpbYisrXTtyZXR1cm57dmFsdWU6YT9mOmQub1tmXSxkb25lOiExfX07cmV0dXJuIGV9O18uZz11Ry5wcm90b3R5cGU7Xy5nLmdldD1mdW5jdGlvbihhLGIpe3JldHVybihhPXdHKHRoaXMsYSkpP2EudmFsdWU6Yn07Xy5nLnNldD1mdW5jdGlvbihhLGIpe3ZhciBjPXdHKHRoaXMsYSk7Yz9jLnZhbHVlPWI6KGM9bmV3IHRHKGEsYiksdGhpcy5vLnNldChhLGMpLHZHKHRoaXMsYykpfTtfLmcudWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5qLm5leHQudmFsdWV9O18uZy5zaGlmdD1mdW5jdGlvbigpe3JldHVybiB4Ryh0aGlzLHRoaXMuai5uZXh0KX07Xy5nLnBvcD1mdW5jdGlvbigpe3JldHVybiB4Ryh0aGlzLHRoaXMuai5VYSl9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9dGhpcy5vLmdldChhKSk/KHRoaXMucmVtb3ZlTm9kZShhKSwhMCk6ITF9O18uZy5yZW1vdmVOb2RlPWZ1bmN0aW9uKGEpe2EucmVtb3ZlKCk7dGhpcy5vLnJlbW92ZShhLmtleSl9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5pc0VtcHR5KCl9OwpfLmcucmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYn0pfTtfLmcuTWM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGF9KX07Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIGI9PWF9KX07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLm8uc2l6ZT4wOyl0aGlzLnJlbW92ZU5vZGUodGhpcy5qLlVhKX07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcyl9O18uZy5tYXA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9dGhpcy5qLm5leHQ7ZCE9dGhpcy5qO2Q9ZC5uZXh0KWMucHVzaChhLmNhbGwoYixkLnZhbHVlLGQua2V5LHRoaXMpKTtyZXR1cm4gY307Cl8uZy5zb21lPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjPXRoaXMuai5uZXh0O2MhPXRoaXMuajtjPWMubmV4dClpZihhLmNhbGwoYixjLnZhbHVlLGMua2V5LHRoaXMpKXJldHVybiEwO3JldHVybiExfTtfLmcuZXZlcnk9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWlmKCFhLmNhbGwoYixjLnZhbHVlLGMua2V5LHRoaXMpKXJldHVybiExO3JldHVybiEwfTt0Ry5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKCl7dGhpcy5VYS5uZXh0PXRoaXMubmV4dDt0aGlzLm5leHQuVWE9dGhpcy5VYTtkZWxldGUgdGhpcy5VYTtkZWxldGUgdGhpcy5uZXh0fTt2YXIgeUc9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPW5ldyBNYXA7dGhpcy52PW5ldyBNYXA7dGhpcy5qPW5ldyB1R31nZXQoYSxiKXt2YXIgYz10aGlzLm8uZ2V0KGEpO2lmKGMpcmV0dXJuIGNbMF0oKTtpZihiLkVnJiZhIT1udWxsKXJldHVybiB0aGlzLmouZ2V0KGEpPy5bMF19dXBkYXRlKGEsYixjKXt2YXIgZD10aGlzLm8uZ2V0KGEpO2lmKGQpe2xldCBbZSxmXT1kO2I9YihlKCkpO2YoYik7Yy5FZyYmYSE9bnVsbCYmKGM9dGhpcy52LmdldChhKSx0aGlzLmouc2V0KGEsW2IsYz8uKCk/P1tdLCEwXSkpO3JldHVybiEwfWlmKGMuRWcmJmEhPW51bGwmJihjPXRoaXMuai5nZXQoYSkpKXtsZXQgW2UsZl09YztiPWIoZSk7dGhpcy5qLnNldChhLFtiLGYsITBdKTtyZXR1cm4hMH1yZXR1cm4hMX1yZWdpc3RlcihhLGIsYyl7aWYoYT09bnVsbClyZXR1cm4oKT0+e307dGhpcy5vLnNldChhLGIpO2MmJnRoaXMudi5zZXQoYSxjKTtyZXR1cm4oKT0+e3RoaXMuby5nZXQoYSk9PT0KYiYmKHRoaXMuby5kZWxldGUoYSksdGhpcy52LmRlbGV0ZShhKSl9fX07Xy5DRz1uZXcgXy5WcygiUkVOREVSRVJfTE9HR0VSX1RPS0VOIik7dmFyIHdkYT1uZXcgXy5WcygiUkVOREVSRVJfU1RBTVBFUl9PUFRJT05TX1RPS0VOIik7dmFyIEFkYT1uZXcgXy5WcygiUkVOREVSRVJfU1RBTVBFUl9TVUNDRVNTX1NMSV9UT0tFTiIpO3ZhciB4ZGE9ImNvbXBhY3RSYWRpb1JlbmRlcmVyIGNvbXBhY3RQbGF5bGlzdFJlbmRlcmVyIHBsYXlsaXN0VmlkZW9SZW5kZXJlciBjb21wYWN0VmlkZW9SZW5kZXJlciBmZWVkTnVkZ2VSZW5kZXJlciBncmlkVmlkZW9SZW5kZXJlciBwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHJhZGlvUmVuZGVyZXIgcHJpbWV0aW1lUHJvbW9SZW5kZXJlciByZWVsSXRlbVJlbmRlcmVyIHJlZWxTaGVsZlJlbmRlcmVyIHJpY2hTaGVsZlJlbmRlcmVyIHNlYXJjaEhpc3RvcnlRdWVyeVJlbmRlcmVyIHNoZWxmUmVuZGVyZXIgdmlkZW9XaXRoQ29udGV4dFJlbmRlcmVyIHZpZGVvQ2FyZFJlbmRlcmVyIHN0YXRlbWVudEJhbm5lclJlbmRlcmVyIG1pbmlHYW1lQ2FyZFZpZXdNb2RlbCBzaG9ydHNMb2NrdXBWaWV3TW9kZWwgbG9ja3VwVmlld01vZGVsIGdyaWRTaGVsZlZpZXdNb2RlbCIuc3BsaXQoIiAiKSx6ZGE9WyJub3RpZmljYXRpb25UZXh0UmVuZGVyZXIiLCJub3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyIl0sCnlkYT0icHJpbWV0aW1lUHJvbW9SZW5kZXJlciBzdGF0ZW1lbnRCYW5uZXJSZW5kZXJlciBicmFuZFZpZGVvU2hlbGZSZW5kZXJlciBicmFuZFZpZGVvU2luZ2xldG9uUmVuZGVyZXIgZmVlZE51ZGdlUmVuZGVyZXIgcGxheWxpc3RWaWRlb1JlbmRlcmVyIi5zcGxpdCgiICIpLHtNZzp2ZGF9PV8uekcoYT0+Xy5CdihhPy50YXJnZXRJZCkpO3ZhciB1ZGE9MDtfLlcuZGVidWdOYW1lPSJFakpiQ2UiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgVmJhO1ZiYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhLGIsdm9pZCAwKX07Xy5ORD1mdW5jdGlvbihhKXthPVsoYSYxNjcxMTY4MCk+Pj4xNiwoYSY2NTI4MCk+Pj44LGEmMjU1LChhJjQyNzgxOTAwODApPj4+MjRdO2lmKCFWYmEoYSxiPT5iPT09KGImMjU1KSkpdGhyb3cgRXJyb3IoIlJjYCIrYS5qb2luKCIsIikpO3JldHVybmByZ2JhKCR7YVswXX0sJHthWzFdfSwke2FbMl19LCR7KGFbM10vMjU1KS50b0ZpeGVkKDMpfSlgfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rQT1mdW5jdGlvbih7dHlwZTphLHBheWxvYWQ6Yn0pe2E9e3R5cGU6YX07YiE9PXZvaWQgMCYmKGEucGF5bG9hZD1iKTtyZXR1cm4gYX07LyoKCiBDb3B5cmlnaHQgMjAxNS1wcmVzZW50IERhbiBBYnJhbW92CiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUCiovCl8ubEE9KCk9Pk1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZyg3KS5zcGxpdCgiIikuam9pbigiLiIpO18ubUE9YEBAcmVkdXgvSU5JVCR7Xy5sQSgpfWA7Xy5SYWE9YEBAcmVkdXgvUkVQTEFDRSR7Xy5sQSgpfWA7Xy5uQT10eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUiOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm9BPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5rQSh7dHlwZToiUkVQTEFDRV9FTlRJVFkiLHBheWxvYWQ6e3hsOmMsZW50aXR5VHlwZTphLGtleTpifX0pfTtfLnBBPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5rQSh7dHlwZToiVVBEQVRFX0VOVElUWSIscGF5bG9hZDp7eGw6YyxlbnRpdHlUeXBlOmEsa2V5OmIsSXk6dm9pZCAwfX0pfTtfLnFBPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYVtiXT9hW2JdW2NdfHxudWxsOm51bGx9OygoKT0+e3ZhciBhPWQ9Pm5ldyBVaW50OEFycmF5KGQpLGI9ZD0+e3ZhciBlPW5ldyBVaW50OEFycmF5KGQubGVuZ3RoKTtmb3IobGV0IGY9MDtmPGQubGVuZ3RoO2YrKyllW2ZdPWRbZl07cmV0dXJuIGV9LGM9bmV3IFVpbnQ4QXJyYXkoWzFdKTtyZXR1cm4gYy5sZW5ndGg9PT0xJiZjWzBdPT09MT9hOmJ9KSgpO18uckE9QXJyYXkoMTAyNCk7Xy5zQT10eXBlb2YgVGV4dERlY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dERlY29kZXI6dm9pZCAwO18udEE9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDtfLnVBPXthbmltYXRpb25FbnRpdHk6MzAyLGFjY291bnRMaW5rU3RhdHVzRW50aXR5OjEyMixhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5OjYzMCxib29sZWFuRW50aXR5OjMwNyxhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5OjYzNyxidXR0b25FbnRpdHk6MzU4LGNhcHRpb25UcmFjazoyMjUsY2hhbm5lbEhhbmRsZToyNzUsY2hpcEVudGl0eTo0OTgsY29tbWVyY2VBY3F1aXNpdGlvbkNsaWVudFBheWxvYWRFbnRpdHk6Mjc2LGNvbW1lcmNlQ2FydExpc3RFbnRpdHk6MjM2LGNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5OjUzMixjb21wb3NpdGVTb3VyY2VFbnRpdHk6NTk0LGNvbnRleHROb3RlRmVlZEVudGl0eVBheWxvYWQ6NDgzLGNvbnRleHROb3RlVXNlclJhdGluZ0VudGl0eVBheWxvYWQ6NTc2LGNvbnRpbnVhdGlvblRva2VuRW50aXR5OjQwNixkb3dubG9hZFF1YWxpdHlQaWNrZXJFbnRpdHk6MjAyLGRvd25sb2Fkc1BhZ2VSZWZyZXNoVG9rZW5FbnRpdHk6Mjk5LApkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHk6MjY0LGRvd25sb2FkU3RhdHVzRW50aXR5OjE0MSxkaXNtaXNzU3RhdGU6NTQwLHNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHk6MTg2LGVtb2ppRm91bnRhaW5EYXRhRW50aXR5OjM5MyxlbW9qaUN1c3RvbWl6YXRpb25TZXRFbnRpdHk6NDk2LGZha2VDaGFubmVsOjIsZmFrZVBsYXlsaXN0OjI3OSxmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246MjgwLGZha2VWaWRlbzoxODIsZmFrZVZpZGVvRGVzY3JpcHRpb246Mjc4LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6MzkyLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTo1OTgsZmxvd1N0YXRlRW50aXR5OjI1MixpY29uQmFkZ2VFbnRpdHk6MjI5LGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6NDQzLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6NTY3LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OjIxNyxsaXZlVmlld2VyTGVhZGVyYm9hcmRDaGF0RW50cnlQb2ludFN0YXRlRW50aXR5OjU2MywKbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OjU2NCxsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTo1MDMsbG9nb0VudGl0eToyNDUsbWFjcm9NYXJrZXJFbnRpdHk6MzI5LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OjE1OCxtYWluRG93bmxvYWRzTGlzdEVudGl0eToxNjQsbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTozNzMsbWFpblBsYXlsaXN0RW50aXR5OjMwNixtYWluUGxheWxpc3RWaWRlb0VudGl0eTozNjgsbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eToyNjIsbWFpblZpZGVvRW50aXR5OjI2MSxtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eToxOTYsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTozMTIsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6MTgsbXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5OjI1OSxtdXNpY0FsYnVtUmVsZWFzZToxNyxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6MTksbXVzaWNBcnRpc3REZXRhaWw6MjEsCm11c2ljQXJ0aXN0OjIwLG11c2ljQXJ0aXN0VXNlckRldGFpbDoyMixtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6MjU3LG11c2ljTGlicmFyeUVkaXQ6MTIxLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTozMTgsbXVzaWNQbGF5bGlzdDoyNCxtdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eToyNDgsbXVzaWNTaGFyZToxMDAsbXVzaWNUcmFja0RldGFpbDoyOSxtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eToyMzQsbXVzaWNUcmFjazoyOCxtdXNpY1RyYWNrVXNlckRldGFpbDozMCxvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHk6MTY5LG9mZmxpbmVWaWRlb1BvbGljeToxMzAsb2ZmbGluZVZpZGVvU3RyZWFtczoxOTgsb2ZmbGluZWFiaWxpdHlFbnRpdHk6MjQ2LG9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eToyNDIscGFnZUhlYWRlckVudGl0eTo0OTUscGFydHlHYW1lUGFuZWxFbnRpdHk6NjE4LHNsaWRlckdhbWVQYW5lbEVudGl0eTo2MzMsCnBkcFN0YXRlRW50aXR5OjUyNCxwaW5uZWRQcm9kdWN0RW50aXR5OjI3MyxwbGF5YmFja0RhdGE6MTE5LHBsYXllclN0YXRlRW50aXR5OjMyMyxwbGF5bGlzdFRodW1ibmFpbEVkaXRzRW50aXR5OjUzOSxxdWFudGl0eUluY3JlbWVudGVyRW50aXR5OjM1NixyZWZyZXNoOjE0OCxzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHk6MjMxLHNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZDo0Nzksc2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5OjYzNCxzZXR0aW5nRW50aXR5OjI5NyxzdHJpbmdFbnRpdHk6MzgyLHN1Z2dlc3RlZEZlZWRiYWNrQ2hpcFN0YXRlRW50aXR5OjQ4NSx0cmFuc2ZlcjoxMjAsdHJlbmRpbmdPZmZlckVudGl0eTo0NjksdW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHk6NjM1LHZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5OjQ2MSx2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5OjU0NSx2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHk6NzYsdm90aW5nRW50aXR5OjU2MSwKeXRNYWluQ2hhbm5lbEVudGl0eToxNTIseW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eTo1NTMseXRNYWluRG93bmxvYWRlZFZpZGVvRW50aXR5OjE1NSx5dE1haW5WaWRlb0VudGl0eToxNTF9O18udkE9e307Zm9yKGxldCBbYSxiXW9mIE9iamVjdC5lbnRyaWVzKF8udUEpKXtsZXQgYz1hLGQ9YjtkJiYoXy52QVtkXT1jKX07KCgpPT57dmFyIGE9ZD0+bmV3IFVpbnQ4QXJyYXkoZCksYj1kPT57dmFyIGU9bmV3IFVpbnQ4QXJyYXkoZC5sZW5ndGgpO2ZvcihsZXQgZj0wO2Y8ZC5sZW5ndGg7ZisrKWVbZl09ZFtmXTtyZXR1cm4gZX0sYz1uZXcgVWludDhBcnJheShbMV0pO3JldHVybiBjLmxlbmd0aD09PTEmJmNbMF09PT0xP2E6Yn0pKCk7Xy5TYWE9Xy4kbCgieXQtaWRiLXByZWYtc3RvcmFnZSIse3NlOntwcmVmczp7UGQ6MX19LHNoYXJlZDohMSx1cGdyYWRlKGEsYil7YigxKSYmXy5vbChfLmtsKGEsInByZWZzIix7a2V5UGF0aDoia2V5In0pLCJieUV4cGlyYXRpb24iLCJleHBpcmF0aW9uVGltZXN0YW1wTXMiKX0sdmVyc2lvbjoxfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBqRTtfLmlFPWZ1bmN0aW9uKGEsYil7YT1bKGEmMTY3MTE2ODApPj4+MTYsKGEmNjUyODApPj4+OCxhJjI1NV07cmV0dXJuYHJnYmEoJHthWzBdfSwgJHthWzFdfSwgJHthWzJdfSwgJHtifSlgfTtfLmtFPWZ1bmN0aW9uKGEpe2lmKGEuc291cmNlcylmb3IobGV0IGIgb2YgYS5zb3VyY2VzKWlmKGIuY2xpZW50UmVzb3VyY2U/LmltYWdlTmFtZXx8Yi5jdXN0b21JbWFnZVNvdXJjZSYmXy5CKGIuY3VzdG9tSW1hZ2VTb3VyY2UsakUpPy5jbGllbnRSZXNvdXJjZT8uaWNvbilyZXR1cm4gYn07Cl8ubEU9ZnVuY3Rpb24oYSl7aWYoYT8uY2xpZW50UmVzb3VyY2U/LmltYWdlTmFtZSl7bGV0IGI9YS5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lO2E6e3N3aXRjaChiKXtjYXNlICJ5dF9wcmVtaXVtX3dvcmRtYXJrX2hlYWRlcl9saWdodCI6Y2FzZSAieXRfcHJlbWl1bV93b3JkbWFya19oZWFkZXJfZGFyayI6YT0iWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiO2JyZWFrIGE7Y2FzZSAieXRfd29yZG1hcmtfaGVhZGVyX2xpZ2h0IjpjYXNlICJ5dF93b3JkbWFya19oZWFkZXJfZGFyayI6YT0iTE9HT19XSVRIX1RFWFQiO2JyZWFrIGF9YT12b2lkIDB9cmV0dXJuIGF8fGdjYS5nZXQoYil8fGJ9aWYoYT8uY3VzdG9tSW1hZ2VTb3VyY2UmJihhPV8uQihhLmN1c3RvbUltYWdlU291cmNlLGpFKT8uY2xpZW50UmVzb3VyY2U/Lmljb24pKXJldHVybiBhfTtqRT1uZXcgXy5JKCJ5b3V0dWJlSWNvblNvdXJjZSIpO18ubUU9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7dmFyIGdjYT1uZXcgTWFwKFtbInl0X291dGxpbmVfYmFnX2JsYWNrXzI0IiwiYmFnIl1dKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5LRD1mdW5jdGlvbihhKXtpZihhPWEubWF0Y2goVWJhKSlyZXR1cm57aWNvbk5hbWU6YVsyXSxoeDphWzFdLnRvVXBwZXJDYXNlKCk9PT0iRklMTCIsaWNvblNpemU6TnVtYmVyKGFbM10pfX07Xy5MRD1uZXcgXy5WcygiSUNPTl9XSVpfQ09NUE9ORU5UX1RPS0VOIik7dmFyIFViYTtVYmE9L15ZVElDT05fKGZpbGx8b3V0bGluZSlfKFthLXpBLVowLTlfXSspX3MoWzAtOV0rKSQvaTsKXy5NRD1fLkwoKHtpY29uOmEsYWN0aXZlOmIsY2xhc3NOYW1lOmMsc3R5bGU6ZCx5cDplLGhjOmYscm9sZTpoLEdlOmssSGM6bCxhcmlhSGlkZGVuOm0sYXJpYUV4cGFuZGVkOm4sYXJpYUxhYmVsOnAsdGFiaW5kZXg6cixpZDp0LHNpemU6dixhZzp6LFpwOkUsZXI6QSx0aXRsZTpGfSk9Pnt2YXIgQz1fLk4oKCk9Pnt2YXIgUj1hPy4oKTtpZihSKXJldHVybiBfLktEKFIpfSx2b2lkIDAsIk0waTV2ZiIpLEc9KCk9PkMoKT8uaWNvbk5hbWU/P2E/LigpLEQ9KCk9PnY/LigpPz9DKCk/Lmljb25TaXplLEg9KCk9PmI/LigpPz9DKCk/Lmh4O3JldHVybiBfLksoXy5PLHtBOmEsdGhlbjooKT0+e3ZhciBSPV8ueSgpLnJlc29sdmUoXy5MRCk7cmV0dXJuIF8uSyhSLHtpY29uOkcseXA6ZSxoYzpmLEdlOmssSGM6bCxhcmlhRXhwYW5kZWQ6bix0YWJpbmRleDpyLGlkOnQsYWN0aXZlOkgsc2l6ZTpELHJvbGU6aCxjbGFzc05hbWU6YyxhcmlhSGlkZGVuOm0sYXJpYUxhYmVsOnAsc3R5bGU6KCk9Pgp7aWYoIUQoKSlyZXR1cm4gZD8uKCk7dmFyIE09YHdpZHRoOiAke0QoKX1weDsgaGVpZ2h0OiAke0QoKX1weDtgO3JldHVybiBkPy4oKT9gJHtNfSAke2QoKX1gOk19LHRpdGxlOkYsYWc6eixacDpFLGVyOkF9KX19KX0sImoiKTtfLk1ELmlkb21Db21wYXQ9e2NhbGxiYWNrczp7ZXI6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEtFLExFLG1jYSxuY2EsTkUscGNhLHFjYSxyY2EsdWNhLHdjYSx2Y2EsWEUseGNhLHljYSxBY2EsemNhO18uSkU9ZnVuY3Rpb24oYSl7YSY9MTY3NzcyMTU7dmFyIGI9WyhhJjE2NzExNjgwKT4+MTYsKGEmNjUyODApPj44LGEmMjU1XTthPWJbMF07dmFyIGM9YlsxXTtiPWJbMl07YT1OdW1iZXIoYSk7Yz1OdW1iZXIoYyk7Yj1OdW1iZXIoYik7aWYoYSE9KGEmMjU1KXx8YyE9KGMmMjU1KXx8YiE9KGImMjU1KSl0aHJvdyBFcnJvcigiUWNgIithKyJgIitjKyJgIitiKTtjPWE8PDE2fGM8PDh8YjtyZXR1cm4gYTwxNj8iIyIrKDE2Nzc3MjE2fGMpLnRvU3RyaW5nKDE2KS5zbGljZSgxKToiIyIrYy50b1N0cmluZygxNil9O0tFPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNvdXJjZXMhPT12b2lkIDB8fGEucHJvY2Vzc29yIT09dm9pZCAwfTsKTEU9ZnVuY3Rpb24oYSl7dmFyIGI9YS50aHVtYm5haWxzO2lmKGIpe2E9e3NvdXJjZXM6W119O2ZvcihsZXQgYyBvZiBiKWI9e30sYi51cmw9Yy51cmwsYi53aWR0aD1jLndpZHRoLGIuaGVpZ2h0PWMuaGVpZ2h0LGEuc291cmNlcy5wdXNoKGIpO3JldHVybiBhfX07bWNhPWZ1bmN0aW9uKGEsYixjKXtjPWM/W2NdOltdO2Eub3BhY2l0eSYmYy5wdXNoKGBvcGFjaXR5OiAke2Eub3BhY2l0eX07YCk7YiYmYS5wbGFjZWhvbGRlckNvbG9yPyhhPV8uTkQoYS5wbGFjZWhvbGRlckNvbG9yKSxjLnB1c2goYGJhY2tncm91bmQtY29sb3I6ICR7YX07YCkpOmMucHVzaCgiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Iik7cmV0dXJuIGMuam9pbigiICIpfTsKbmNhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9WyJ5dENvcmVJbWFnZUhvc3QiXTtiJiZmLnB1c2goYik7Y3x8Zi5wdXNoKCJ5dENvcmVJbWFnZUZpbGxQYXJlbnRIZWlnaHQiKTtkfHxmLnB1c2goInl0Q29yZUltYWdlRmlsbFBhcmVudFdpZHRoIik7c3dpdGNoKGEuY29udGVudE1vZGUpe2Nhc2UgIkNPTlRFTlRfTU9ERV9TQ0FMRV9BU1BFQ1RfRklUIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpdCIpO2JyZWFrO2Nhc2UgIkNPTlRFTlRfTU9ERV9TQ0FMRV9BU1BFQ1RfRklMTCI6Zi5wdXNoKCJ5dENvcmVJbWFnZUNvbnRlbnRNb2RlU2NhbGVBc3BlY3RGaWxsIik7YnJlYWs7Y2FzZSAiQ09OVEVOVF9NT0RFX0NFTlRFUiI6Zi5wdXNoKCJ5dENvcmVJbWFnZUNvbnRlbnRNb2RlQ2VudGVyIik7YnJlYWs7ZGVmYXVsdDpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZVRvRmlsbCIpfWEuZmxpcEZvclJ0bExheW91dCYmZi5wdXNoKCJ5dENvcmVJbWFnZUZsaXBSdGwiKTsKc3dpdGNoKGUpe2Nhc2UgIlRPUF9TVEFSVCI6Zi5wdXNoKGRvY3VtZW50LmJvZHk/LmdldEF0dHJpYnV0ZSgiZGlyIik9PT0icnRsIj8ieXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcFJpZ2h0IjoieXRDb3JlSW1hZ2VPYmplY3RQb3NpdGlvblRvcExlZnQiKX1yZXR1cm4gZi5qb2luKCIgIil9O18uTUU9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIob3JpZW50YXRpb246IGxhbmRzY2FwZSkiKS5tYXRjaGVzfTtORT1mdW5jdGlvbihhKXt2YXIgYj17fTthPV8uQihhLnByb2Nlc3NvcixvY2EpO3ZhciBjPShjPWE/LmltYWdlVGludD8uY29sb3IpP18uTkQoYyk6dm9pZCAwO2MmJihiLmNvbG9yPWMpO2lmKGM9cGNhKGEpKWIubnk9YztpZihhPXFjYShhKSliLk56PWE7cmV0dXJuIGJ9OwpwY2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8ubGluZWFyR3JhZGllbnQ7aWYoYiYmYj8uY29sb3JzJiZiPy5jb2xvcnM/Lmxlbmd0aCE9PTApe3ZhciBjPWIuY29sb3JzLm1hcChlPT5fLk5EKGUpKTthPWIuYW5nbGUhPT12b2lkIDA/YCR7Yi5hbmdsZX1kZWcsIGA6IiI7dmFyIGQ9Yi5wb3NpdGlvbnM7aWYoIWR8fGQubGVuZ3RoIT09Yy5sZW5ndGgpcmV0dXJuYGxpbmVhci1ncmFkaWVudCgke2F9JHtjLmpvaW4oIiwgIil9KWA7Yj1jLm1hcCgoZSxmKT0+YCR7ZX0gJHtkW2ZdKjEwMH0lYCk7cmV0dXJuYGxpbmVhci1ncmFkaWVudCgke2F9JHtiLmpvaW4oIiwgIil9KWB9fTsKcWNhPWZ1bmN0aW9uKGEpe2lmKChhPWE/LnJhZGlhbEdyYWRpZW50KSYmYT8uY29sb3JzJiZhPy5jb2xvcnM/Lmxlbmd0aCE9PTApe3ZhciBiPWEuY29sb3JzLm1hcChrPT5fLk5EKGspKSxjPWEuY2VudGVyVW5pdD8/IkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIixkPWM9PT0iRElNRU5TSU9OX1VOSVRfUE9JTlQiPyJweCI6IiUiLGU9Yz09PSJESU1FTlNJT05fVU5JVF9GUkFDVElPTiI/MTAwOjE7Yz1gJHsoYS5jZW50ZXJYPz8uNSkqZX0ke2R9YDtkPWAkeyhhLmNlbnRlclk/Py41KSplfSR7ZH1gO3ZhciBmPWEucmFkaXVzO2U9IiI7ZT1mIT09dm9pZCAwP2BjaXJjbGUgJHtmfXB4YDoiZWxsaXBzZSI7dmFyIGg9YS5wb3NpdGlvbnM7aWYoIWh8fGgubGVuZ3RoIT09Yi5sZW5ndGgpcmV0dXJuYHJhZGlhbC1ncmFkaWVudCgke2V9IGF0ICR7Y30gJHtkfSwgJHtiLmpvaW4oIiwgIil9KWA7YT1iLm1hcCgoayxsKT0+YCR7a30gJHtoW2xdKjEwMH0lYCk7cmV0dXJuYHJhZGlhbC1ncmFkaWVudCgke2V9IGF0ICR7Y30gJHtkfSwgJHthLmpvaW4oIiwgIil9KWB9fTsKXy5PRT1mdW5jdGlvbihhKXtfLmpmLkdhKCgpPT57dHJ5e2EoKX1jYXRjaChiKXtfLk90KGIpfX0sOCl9O3JjYT1mdW5jdGlvbihhKXt2YXIgYj0oMSthLm1hcmdpbikqKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHR8fHdpbmRvdy5pbm5lckhlaWdodCk7YS5qPWEuai5maWx0ZXIoYz0+e3ZhciBkPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7KGQ9Yj5kLnRvcCYmISFkLmhlaWdodCkmJmEuQihjKTtyZXR1cm4hZCYmYy5wYXJlbnROb2RlfSk7YS52PSExfTtfLlBFPWZ1bmN0aW9uKGEpe2lmKCJtYXRjaE1lZGlhImluIHdpbmRvdylyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEoYS5sYW5kc2NhcGUrIiwiK2EucG9ydHJhaXQpLm1hdGNoZXN9O18uVEU9ZnVuY3Rpb24oKXtpZihRRT09PXZvaWQgMCl7bGV0IGE9Xy5QRShzY2EpO1FFPWEhPT12b2lkIDA/YTpfLlJFPj05MzAmJlNFPj01NTB8fF8uUkU+PTU1MCYmU0U+PTkzMH1yZXR1cm4gUUV9Owp1Y2E9ZnVuY3Rpb24oYSxiKXthLkptPWI7dGNhLm9ic2VydmUoYSl9Owp3Y2E9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGspe3ZhciBsPU1hdGgucm91bmQoKDAsXy5lbCkoKS1kKTtVRT1NYXRoLm1heCgwLFVFLTEpO2w9e2R1cmF0aW9uTG9hZGluZ01zOmwsd2lkdGhQeDphLm5hdHVyYWxXaWR0aCxoZWlnaHRQeDphLm5hdHVyYWxIZWlnaHQsdmlld1dpZHRoUHg6YS5jbGllbnRXaWR0aCx2aWV3SGVpZ2h0UHg6YS5jbGllbnRIZWlnaHQsZmluaXNoZWRMb2FkaW5nOiEwLGlzTG9hZEVycm9yOmssbG9hZE51bWJlcjplLGNvbmN1cnJlbnRMb2FkczpVRX07YiYmYi5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZSE9bnVsbCYmKGwuaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU9Yi5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZSk7aWYoIWspdHJ5e2xldCBtPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoYS5zcmMpO2lmKG0mJm0ubGVuZ3RoPjApe2xldCBuPW1bbS5sZW5ndGgtMV07bi50cmFuc2ZlclNpemUmJihsLmRvd25sb2FkZWRCeXRlcz1uLnRyYW5zZmVyU2l6ZSl9fWNhdGNoKG0pe31fLkVwKCJ0aHVtYm5haWxMb2FkZWQiLApsKTtpZihrPVZFLmdldChhKSlhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGsub25Mb2FkKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixrLm9uRXJyb3IpO1ZFLmRlbGV0ZShhKX1pZihfLngoIndlYl9pbWFnZV9sb2FkX3RlbGVtZXRyeSIpKXt2Y2EoYSk7VUUrKztXRSsrO3ZhciBkPSgwLF8uZWwpKCksZT1XRSxmPSgpPT57YyghMSl9LGg9KCk9PntjKCEwKX07YS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmKTthLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixoKTtWRS5zZXQoYSx7b25Mb2FkOmYsb25FcnJvcjpofSl9fTt2Y2E9ZnVuY3Rpb24oYSl7dmFyIGI9VkUuZ2V0KGEpO2ImJihhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLGIub25Mb2FkKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixiLm9uRXJyb3IpLFVFPU1hdGgubWF4KDAsVUUtMSksVkUuZGVsZXRlKGEpKX07ClhFPWZ1bmN0aW9uKGEsYixjKXtiJiZfLlR0KGEsYik7YyYmYS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW1hZ2UtdW5sb2FkZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfTt4Y2E9ZnVuY3Rpb24oYSxiLGMsZCxlPSEwKXtmdW5jdGlvbiBmKCl7dmFyIGg9YyhiLGEpO2gmJmEuZ2V0QXR0cmlidXRlKCJzcmMiKSE9PWgmJihoIT09YS5zcmMmJihhLnNyYz1oKSx3Y2EoYSxkKSxkJiZYRShhLGQudGosZC5CbSkpfWEucmVtb3ZlQXR0cmlidXRlKCJzcmMiKTtkJiZYRShhLGQudGosZC5CbSk7YiYmKGU/dWNhKGEsZik6ZigpKX07eWNhPWZ1bmN0aW9uKGEsYixjKXtpZighYilyZXR1cm4hMTtiPWMoYixhKTtjPWEuZ2V0QXR0cmlidXRlKCJzcmMiKTtyZXR1cm4gYiYmYj09PWMmJmEuY29tcGxldGV9OwpBY2E9ZnVuY3Rpb24oYSxiLGM9ITEpe3ZhciBkPUtFKGEpP3suLi5hfTpMRShhKTtpZihkKXtkLmNvbnRlbnRNb2RlPWQuY29udGVudE1vZGU/P2IuY29udGVudE1vZGU7dmFyIGU9Yi5vbkxvYWQ7Yi5vbkxvYWQ9bD0+e3ZhciBtPWwudGFyZ2V0O2MmJm0ubmF0dXJhbFdpZHRoPT09MTIwfHxfLlN0KG0sInl0Q29yZUltYWdlTG9hZGVkIik7Yi5zZyYmbS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW1hZ2UtbG9hZGVkIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKTtlPy4obCl9O2IuQWImJmIuVGEmJihiLndpZHRoPWIuQWIpO2IuZGMmJmIuWWEmJihiLmhlaWdodD1iLmRjKTt2YXIgZj1fLmtFKGQpLGg9ZiYmXy5sRShmKSxrPU5FKGQpO2lmKGgpe2E9Zi5jbGllbnRSZXNvdXJjZT8uaW1hZ2VDb2xvcj9fLk5EKGYuY2xpZW50UmVzb3VyY2UuaW1hZ2VDb2xvcik6dm9pZCAwO2lmKGs9YXx8ay5jb2xvciliLnN0eWxlPWIuc3R5bGU/Yi5zdHlsZS5lbmRzV2l0aCgiOyIpP2Iuc3R5bGUrCmAgY29sb3I6ICR7a307YDpiLnN0eWxlK2A7IGNvbG9yOiAke2t9O2A6YGNvbG9yOiAke2t9O2A7cmV0dXJue3R5cGU6Imljb24iLGljb25OYW1lOmgsY29uZmlnOnsuLi5iLC4uLihiLmFsdD97fTp7YXJpYUhpZGRlbjoidHJ1ZSJ9KSxhcmlhTGFiZWw6Yi5hbHQscm9sZToiaW1nIn19fUtFKGEpfHwoYi5hbHQ9YS5hY2Nlc3NpYmlsaXR5JiZhLmFjY2Vzc2liaWxpdHkuYWNjZXNzaWJpbGl0eURhdGEmJmEuYWNjZXNzaWJpbGl0eS5hY2Nlc3NpYmlsaXR5RGF0YS5sYWJlbHx8Yi5hbHQsYi5zdHlsZT1tY2EoYSxiLldyLGIuc3R5bGUpLGIuaXNQcmVsb2FkZWQ9ISFfLkIoYSx6Y2EpPy5pc1ByZWxvYWRlZCk7Yi5jbGFzc05hbWU9bmNhKGQsYi5jbGFzc05hbWUsYi5ZYSxiLlRhLGIub2JqZWN0UG9zaXRpb24pO2IudGo9Inl0Q29yZUltYWdlTG9hZGVkIjtyZXR1cm57dHlwZToiaW1hZ2UiLGltYWdlOmQsY29uZmlnOmJ9fX07emNhPW5ldyBfLkkoIndlYlRodW1ibmFpbERldGFpbHNFeHRlbnNpb25EYXRhIik7dmFyIG9jYT1uZXcgXy5JKCJib3JkZXJJbWFnZVByb2Nlc3NvciIpO3ZhciBDY2E7W18uQmNhLENjYV09Xy5KKF8uTUUoKSx2b2lkIDAsIk8zWDJ3ZCIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57Q2NhKF8uTUUoKSl9KTtfLmZGPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5tYXJnaW49YTt0aGlzLkI9Yjt0aGlzLmo9W107dGhpcy52PSExO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCgpPT57dGhpcy5vKCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLCgpPT57dGhpcy5vKCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidXBkYXRldWkiLCgpPT57dGhpcy5vKCl9KTt2YXIgYz1uZXcgXy5XdCgoMCxfLkNhKSh0aGlzLm8sdGhpcyksMTAwKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwoKT0+e2MudigpfSwhMCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKDAsXy5DYSkodGhpcy5vLHRoaXMpKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVzdGFydCIsKCk9Pnt0aGlzLmo9W119KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLCgwLF8uQ2EpKHRoaXMubyx0aGlzKSl9b2JzZXJ2ZShhKXt0aGlzLmouaW5jbHVkZXMoYSl8fAp0aGlzLmoucHVzaChhKX11bm9ic2VydmUoYSl7dGhpcy5qPXRoaXMuai5maWx0ZXIoYj0+YiE9PWEpfW8oKXt0aGlzLnZ8fChfLk9FKCgpPT57cmNhKHRoaXMpfSksdGhpcy52PSEwKX1kaXNjb25uZWN0KCl7dGhpcy5qPVtdfX07dmFyIHNjYSxRRSxTRTtzY2E9e2xhbmRzY2FwZToiKG1pbi13aWR0aDogOTMxcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLHBvcnRyYWl0OiIobWluLXdpZHRoOiA1NTBweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIn07UUU9dm9pZCAwO18uZ0Y9dm9pZCAwO18uUkU9d2luZG93LmlubmVyV2lkdGg7U0U9d2luZG93LmlubmVySGVpZ2h0O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLCgpPT57Xy5nRj1RRT12b2lkIDB9KTt2YXIgdGNhPSJJbnRlcnNlY3Rpb25PYnNlcnZlciJpbiB3aW5kb3c/bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChhLGIpPT57YS5maWx0ZXIoYz0+Yy5pbnRlcnNlY3Rpb25SZWN0LmhlaWdodD4wKS5mb3JFYWNoKCh7dGFyZ2V0OmN9KT0+e2MuSm0/LigpO2IudW5vYnNlcnZlKGMpfSl9LHtyb290TWFyZ2luOiIxMCUiLHRocmVzaG9sZDouMDF9KTpfLlRFKCk/e29ic2VydmUoYSl7Xy5qZi5HYSgoKT0+e3RyeXthLkptPy4oKX1jYXRjaChiKXtfLk90KGIpfX0sOCl9LHVub2JzZXJ2ZSgpe319Om5ldyBfLmZGKC4xLGE9PntfLmpmLkdhKCgpPT57dHJ5e2EuSm0/LigpfWNhdGNoKGIpe18uT3QoYil9fSw4KX0pO3ZhciBWRT1uZXcgV2Vha01hcCxXRT0wLFVFPTA7Xy5oRj1fLkwoYT0+e3ZhciBiPSExLGM9Xy51RSgiaW1nIixkPT57Xy5ZdSgoKT0+e2I9ITA7ZC5vbmxvYWQ9bnVsbH0pfSk7Xy5uRSgoKT0+e3ZhciBkPWEuZGF0YT8uKCksZT1hLkdsPy4oKS5TZyxmPWEuY29uZmlnKCksaD1jLnZhbHVlO2lmKGgpe3ZhciBrPShsLG0pPT57aWYoIWIpcmV0dXJuIGU/ZShsLG0pOmx9O18ueCgid2ViX2ltYWdlX2RvbnRfcmVsb2FkX3NhbWVfc3JjIikmJnljYShoLGQsayk/Xy54KCJ3ZWJfaW1hZ2VfZG9udF9yZWxvYWRfc2FtZV9zcmNfc2ltdWxhdGVfbG9hZCIpJiZoLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsb2FkIix7YnViYmxlczohMSxjYW5jZWxhYmxlOiExLGRldGFpbDp7bWVzc2FnZToiU2ltdWxhdGluZyBsb2FkIGV2ZW50IGZvciBhbHJlYWR5IGxvYWRlZCBpbWFnZSJ9fSkpOnhjYShoLGR8fG51bGwsayxmLGEubGF6eT8uKCkpfX0sIlJmRWdCYyIpO3JldHVybiBfLksoImltZyIse2VsOmMsY2xhc3M6KCk9PmEuY29uZmlnKCkuY2xhc3NOYW1lLAphbHQ6KCk9PmEuY29uZmlnKCkuYWx0LCJhcmlhLWhpZGRlbiI6KCk9PmEuY29uZmlnKCkuYXJpYUhpZGRlbiwiZGF0YS1kaXNhYmxlZCI6KCk9PmEuY29uZmlnKCkuaGMsc3R5bGU6KCk9PmEuY29uZmlnKCkuc3R5bGUsd2lkdGg6KCk9PmEuY29uZmlnKCkud2lkdGgsaGVpZ2h0OigpPT5hLmNvbmZpZygpLmhlaWdodCxkcmFnZ2FibGU6KCk9PmEuY29uZmlnKCkuZHJhZ2dhYmxlLCJvbjplcnJvciI6ZD0+YS5jb25maWcoKS5vbkVycm9yPy4oZCksIm9uOmxvYWQiOmQ9PmEuY29uZmlnKCkub25Mb2FkPy4oZCl9KX0sImwiKTtfLmhGLmlkb21Db21wYXQ9ITA7dmFyIGlGO18uakY9Xy5MKGE9Pnt2YXIgW2IsY109Xy5KKCExLHZvaWQgMCwiVEZhRUtkIiksZD0oKT0+e3ZhciBmPWEuZGF0YSgpO3JldHVybiBLRShmKT97Li4uZn06TEUoZik/P3t9fSxlPSgpPT4hZCgpLnNvdXJjZXM/Lmxlbmd0aHx8YigpO3JldHVybiBfLksoXy5PLHtBOigpPT57aWYoIV8ueCgid2ViX2xpbmVhcl9ncmFkaWVudF9raWxsc3dpdGNoIikpcmV0dXJuIE5FKGQoKSkubnl8fE5FKGQoKSkuTnp9LHRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q29yZUltYWdlSG9zdCIsInl0Q29yZUltYWdlR3JhZGllbnRDb250YWluZXIiLHt5dENvcmVJbWFnZUxvYWRlZDplfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Q29yZUltYWdlR3JhZGllbnQiLCJhcmlhLWhpZGRlbiI6InRydWUiLHN0eWxlOl8uSUUoe2JhY2tncm91bmQ6Zn0pfSksXy5LKGlGLHsuLi5hLG9uTG9hZDpoPT57YyghMCk7YS5vbkxvYWQ/LihoKX19KSksVzooKT0+Xy5LKGlGLHsuLi5hfSl9KX0sIm0iKTsKaUY9Xy5MKGE9Pnt2YXIgYj0oKT0+QWNhKGEuZGF0YSgpLHtjb250ZW50TW9kZTphLmNvbnRlbnRNb2RlPy4oKSx0ajphLnRqPy4oKSxpc1ByZWxvYWRlZDphLmlzUHJlbG9hZGVkPy4oKSxzZzphLnNnPy4oKSxCbTphLkJtPy4oKSx5cjphLnlyPy4oKSxZYTphLllhPy4oKSxUYTphLlRhPy4oKSxvYmplY3RQb3NpdGlvbjphLm9iamVjdFBvc2l0aW9uPy4oKSxBYjphLkFiPy4oKSxkYzphLmRjPy4oKSxXcjphLldyPy4oKSxOZzphLk5nPy4oKSxpc1RvZ2dsZWQ6YS5pc1RvZ2dsZWQ/LigpLGFsdDphLmFsdD8uKCksY2xhc3NOYW1lOmEuY2xhc3NOYW1lPy4oKSxvbkVycm9yOmEub25FcnJvcixvbkxvYWQ6YS5vbkxvYWQsc3R5bGU6YS5zdHlsZT8uKCksY29sb3I6YS5jb2xvcj8uKCksd2lkdGg6YS53aWR0aD8uKCksaGVpZ2h0OmEuaGVpZ2h0Py4oKSxhcmlhSGlkZGVuOmEuYXJpYUhpZGRlbj8uKCksZHJhZ2dhYmxlOmEuZHJhZ2dhYmxlPy4oKSxoYzphLmhjPy4oKSxzaXplOmEuc2l6ZT8uKCksCmltYWdlQ2xhc3NpZmljYXRpb25UeXBlOmEuaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU/LigpfSxhLlV3Py4oKSk7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmIoKT8udHlwZT09PSJpbWFnZSJ9LCgpPT5fLksoXy5oRix7ZGF0YTooKT0+YigpLmltYWdlLEdsOntTZzooYyxkKT0+e3ZhciBlPWIoKS5pbWFnZS5zb3VyY2VzO3ZhciBmPWIoKS5jb25maWcuaXNQcmVsb2FkZWQsaD1iKCkuY29uZmlnLk5nLGs9YigpLmNvbmZpZy5BYixsPWIoKS5jb25maWcuZGMsbT1iKCkuY29uZmlnLnlyO2lmKCFlfHxlLmxlbmd0aD09PTB8fGVbMF0uY2xpZW50UmVzb3VyY2UpZT1udWxsO2Vsc2UgaWYoZiYmZVswXS51cmwpZT1lWzBdLnVybDtlbHNle2g9PT12b2lkIDAmJihoPSEwKTtkPWg/Xy5tRSooa3x8ZD8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk/LndpZHRofHwwKTpfLm1FKihsfHxkPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8uaGVpZ2h0fHwwKTtiOmlmKGQpe2lmKG0pZm9yKGxldCBuIG9mIGUpaWYoZj0Kbi51cmw/LmluZGV4T2YobSksZiE9PXZvaWQgMCYmZj49MCl7ZT1uO2JyZWFrIGJ9Zm9yKGxldCBuIG9mIGUpaWYobi53aWR0aCYmbi5oZWlnaHQmJihoJiZuLndpZHRoPj1kfHwhaCYmbi5oZWlnaHQ+PWQpKXtlPW47YnJlYWsgYn1mb3IobT1lLmxlbmd0aC0xO20+PTA7bS0tKWlmKGgmJmVbbV0ud2lkdGh8fCFoJiZlW21dLmhlaWdodCl7ZT1lW21dO2JyZWFrIGJ9ZT1lWzBdfWVsc2UgZT1lLmxlbmd0aD49MT9lW2UubGVuZ3RoLTFdOm51bGw7ZT1lPy51cmw/ZS51cmw6ZT8uaW1hZ2VEYXRhP2UuaW1hZ2VEYXRhOm51bGx9cmV0dXJuIGV8fCIifX0sY29uZmlnOigpPT57dmFyIGM9YigpLmNvbmZpZztmb3IobGV0IGQgaW4gYyljW2RdPT09dm9pZCAwJiZkZWxldGUgY1tkXTtyZXR1cm4gY30sbGF6eTphLlRifSkpLF8uSyhfLkNFLHt3aGVuOigpPT5iKCk/LnR5cGU9PT0iaWNvbiJ9LCgpPT5fLksoXy5NRCx7aWNvbjooKT0+YigpLmljb25OYW1lLHJvbGU6KCk9PmIoKS5jb25maWcucm9sZSwKY2xhc3NOYW1lOigpPT5iKCkuY29uZmlnLmNsYXNzTmFtZSxzdHlsZTooKT0+YigpLmNvbmZpZy5zdHlsZSxhcmlhTGFiZWw6KCk9PmIoKS5jb25maWcuYXJpYUxhYmVsLGFyaWFIaWRkZW46KCk9PmIoKS5jb25maWcuYXJpYUhpZGRlbixoYzooKT0+YigpLmNvbmZpZy5oYyxhY3RpdmU6KCk9PmIoKS5jb25maWcuaXNUb2dnbGVkLHNpemU6KCk9PmIoKS5jb25maWcuc2l6ZX0pKSl9LCJuIik7Xy5qRi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2NhbGxiYWNrOiEwLG9uRXJyb3I6ITAsb25Mb2FkOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTko9bmV3IF8uSSgic2lnbmFsQWN0aW9uIik7Xy5PSj1jbGFzc3tjb25zdHJ1Y3RvcihhLGI9ITEsYz1udWxsKXt0aGlzLmFjdGlvbk5hbWU9YTt0aGlzLmo9Yjt0aGlzLmFyZ3M9Yzt0aGlzLnJldHVyblZhbHVlPVtdfX07Xy5QSj1uZXcgTWFwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmhFPW5ldyBfLkkoImxheW91dFByb3BlcnRpZXMiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5rRj1uZXcgXy5WcygiREFSS19USEVNRV9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmxGPW5ldyBfLlZzKCJBUFBfRElSRUNUSU9OX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udUY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iPy5pbml0aWFsO3JldHVybiBfLk4oKCk9PntfLkJ2KCEwKTtyZXR1cm4gYz1hKGMpfSx7ZXF1YWxzOmI/LmlzRXF1YWx9LCJyU2xLc2MiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBFY2EsRmNhLHZGLEdjYSx5RixCRixDRixKY2EsTGNhLERGLEVGLE5jYSxIRixPY2EsUWNhLElGLFJjYSxKRixTY2EsS0YsTEYsVGNhLE1GLFVjYSxORixWY2EsV2NhLEljYSxIY2E7CkVjYT1mdW5jdGlvbihhKXt2YXIgYj17c3RhdGU6Ik5PTkUifSxjPXtSaDpkPT57c3dpdGNoKGQuQ2IudG9rZW4pe2Nhc2UgXy5QYmEuQ2IudG9rZW46dmFyIGU9YjticmVhaztjYXNlIF8uT2JhLkNiLnRva2VuOmU9YS5XSDticmVhaztjYXNlIF8uTEMuQ2IudG9rZW46ZT1hLnJvb3RFbGVtZW50O2JyZWFrO2Nhc2UgXy5MYmEuQ2IudG9rZW46ZT1hLllKO2JyZWFrO2Nhc2UgXy5NQi5DYi50b2tlbjplPWEuRm87YnJlYWs7Y2FzZSBfLk1iYS5DYi50b2tlbjplPWEucmVuZGVyZXJEYXRhO2JyZWFrO2Nhc2UgXy5OYmEuQ2IudG9rZW46ZT1hLm9KO2JyZWFrO2Nhc2UgXy5OQi5DYi50b2tlbjplPWEucnZ9aWYoZSlkPWU7ZWxzZSBhOntmb3IoZT1jLnBhcmVudDtlOyl7dmFyIGY9ZTtpZihmLlJoKXtkPWYuUmgoZCk7YnJlYWsgYX1lPWUucGFyZW50fWU9ZC5DYi50b2tlbjtmPV8uV0MuZ2V0KGUpO2YhPT12b2lkIDA/ZD1mOihmPWQuQ2IuTXosZC5DYi5LcD8oZD1kLkNiLktwKCksZSYmZj09PQoicm9vdCImJl8uV0Muc2V0KGUsZCkpOmQ9Xy5hdSl9cmV0dXJuIGR9fTtfLkJ1KGMpO3JldHVybiBjfTtGY2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ9O3ZGPWZ1bmN0aW9uKGEsYil7aWYoYT09PWIpYT0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYSkmJkFycmF5LmlzQXJyYXkoYikpYTppZihfLnlhKGEpJiZfLnlhKGIpJiZhLmxlbmd0aD09Yi5sZW5ndGgpe3ZhciBjPWEubGVuZ3RoLGQ9dkZ8fEZjYTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKCFkKGFbZV0sYltlXSkpe2E9ITE7YnJlYWsgYX1hPSEwfWVsc2UgYT0hMTtlbHNlIGlmKF8uQWEoYSkmJl8uQWEoYikpYTppZihfLkZ4KGEpLmxlbmd0aCE9Xy5GeChiKS5sZW5ndGgpYT0hMTtlbHNle2ZvcihjIGluIGEpaWYoIXZGKGFbY10sYltjXSkpe2E9ITE7YnJlYWsgYX1hPSEwfWVsc2UgYT0hMTtyZXR1cm4gYX07Xy53Rj1mdW5jdGlvbihhLGIsYyl7Yz09PXZvaWQgMD9kZWxldGUgYVtiLm5hbWVdOmFbYi5uYW1lXT1jfTsKR2NhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPSExO2FbXy5xRl0/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkhiIiksMixhLnRhZ05hbWUpO30pOl8uWnQmJmQhPT1fLlhDP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJFYiIpLDIsYS50YWdOYW1lKTt9KTooYS50ZXh0Q29udGVudCE9PSIiJiZhLnRleHRDb250ZW50IT09bnVsbHx8YS5jaGlsZEVsZW1lbnRDb3VudD4wKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkZiIiksMixhLnRhZ05hbWUpO30pO3ZhciBmPV8uUnUoKCk9Pnt2YXIgaD1fLmt1KF8uenYpLGs9KCk9Pnt2YXIgbD0oXy5PQi5zdj8/Xy52ZChhKSkuX193aXpkaXNwYXRjaGVyO2w9RWNhKHtyb290RWxlbWVudDp7dmFsdWU6YX0sRm86Y3x8bD8ubnc/LigpLHJ2Omx9KTtsPV8uJHQobCk7dmFyIG09Xy5MQighMCk7Xy5ndisrO3RyeXtfLmJDKGIoKSxhKSwKXy5JQSghMSl9Y2F0Y2gobil7dGhyb3cgXy5JQSghMCksbjt9ZmluYWxseXtfLkxCKG0pLF8uJHQobCl9fTt0cnl7cmV0dXJuIGQ9PT1fLlhDP18udXYoaywhMSk6Xy5pdyhrKX1jYXRjaChsKXt0aHJvdyBfLlV1KGwsNCksbDt9ZmluYWxseXtfLmt1KGgpfX0pO2FbXy5xRl09ITA7cmV0dXJuKCk9PntlP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJHYiIpLDIsYS50YWdOYW1lKTt9KTooYS50ZXh0Q29udGVudD0iIixmKCksZT0hMCxhW18ucUZdPSExKX19O18ueEY9ZnVuY3Rpb24oYSxiLGMpe2M/PyhjPXt9KTt2YXIgZD1jLkZvLGU9ISFfLkt1LkpxO2I9R2NhKGEsYixkLGMuSWspO2UmJl8uUEIoYSxkKTtfLlZCLmxvZyhhKTtyZXR1cm4gYn07Cl8uQUY9ZnVuY3Rpb24oYSl7dmFyIGI9e2FuZHJvaWRJbmNsdWRlRm9udFBhZGRpbmc6ITF9LGM9MCxkPVtdLGU9W10sZj1bXTtpZihhLnNpbXBsZVRleHQpcmV0dXJuIGIuY29udGVudD1hLnNpbXBsZVRleHQsYjtpZihhLnJ1bnM9PT12b2lkIDApcmV0dXJuIGIuY29udGVudD0iIixiO2ZvcihsZXQgbSBvZiBhLnJ1bnMpe3ZhciBoPW0udGV4dDthPWg/Lmxlbmd0aDtpZihoJiZhKXtkLnB1c2goaCk7aWYobS5ib2xkfHxtLml0YWxpY3N8fG0uc3RyaWtldGhyb3VnaHx8bS51bmRlcmxpbmV8fG0udGV4dENvbG9yIT1udWxsJiZtLnRleHRDb2xvciE9PTB8fG0uZGVlbXBoYXNpemUpe2g9ZTt2YXIgaz1oLnB1c2gsbD17c3RhcnRJbmRleDpjLGxlbmd0aDphfTttLmJvbGQmJihsLndlaWdodExhYmVsPSJGT05UX1dFSUdIVF9NRURJVU0iKTttLml0YWxpY3MmJihsLml0YWxpYz0hMCk7bS5zdHJpa2V0aHJvdWdoJiYobC5zdHJpa2V0aHJvdWdoPSJMSU5FX1NUWUxFX1NJTkdMRSIpO20udW5kZXJsaW5lJiYKKGwudW5kZXJsaW5lPSJMSU5FX1NUWUxFX1NJTkdMRSIpO20udGV4dENvbG9yIT1udWxsJiZtLnRleHRDb2xvciE9PTA/bC5mb250Q29sb3I9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZSgiZGFyayIpP20uZGFya01vZGVUZXh0Q29sb3J8fG0udGV4dENvbG9yOm0udGV4dENvbG9yOm0uZGVlbXBoYXNpemUmJihsLmZvbnRDb2xvcj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCJkYXJrIik/eUYoIiNhYWEiKTp5RigiIzYwNjA2MCIpKTtrLmNhbGwoaCxsKX1tLm5hdmlnYXRpb25FbmRwb2ludCYmKGg9ZixrPWgucHVzaCxsPXtzdGFydEluZGV4OmMsbGVuZ3RoOmEsb25UYXA6e2lubmVydHViZUNvbW1hbmQ6bS5uYXZpZ2F0aW9uRW5kcG9pbnR9fSxtLmxvZ2dpbmdEaXJlY3RpdmVzJiZfLndGKGwsekYsbS5sb2dnaW5nRGlyZWN0aXZlcyksay5jYWxsKGgsbCkpO2MrPWF9fWIuY29udGVudD1kLmpvaW4oIiIpO2Iuc3R5bGVSdW5zPWUubGVuZ3RoPwplOnZvaWQgMDtiLmNvbW1hbmRSdW5zPWYubGVuZ3RoP2Y6dm9pZCAwO3JldHVybiBifTt5Rj1mdW5jdGlvbihhKXt2YXIgYj1wYXJzZUludDtpZighSGNhLnRlc3QoYSkpdGhyb3cgRXJyb3IoIlBjYCIrYSk7YS5sZW5ndGg9PTQmJihhPWEucmVwbGFjZShJY2EsIiMkMSQxJDIkMiQzJDMiKSk7cmV0dXJuIGIoImZmIithLnRvTG93ZXJDYXNlKCkuc3Vic3RyaW5nKDEpLDE2KX07QkY9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gT2JqZWN0LmVudHJpZXMoYSkuZmlsdGVyKChbLGJdKT0+YiE9PXZvaWQgMCYmYiE9PW51bGwmJmIhPT0iIikubWFwKChbYixjXSk9PmAke2IucmVwbGFjZSgvKFthLXpBLVpdKSg/PVtBLVpdKS9nLCIkMS0iKS50b0xvd2VyQ2FzZSgpfTogJHtjfTtgKS5qb2luKCIiKXx8dm9pZCAwfTsKQ0Y9ZnVuY3Rpb24oYSl7aWYoIWE/LnZhbHVlfHwhYT8udW5pdClyZXR1cm4iIjtzd2l0Y2goYS51bml0KXtjYXNlICJESU1FTlNJT05fVU5JVF9GUkFDVElPTiI6dmFyIGI9IiUiO2JyZWFrO2RlZmF1bHQ6Yj0icHgifWE9YS52YWx1ZTtiPT09IiUiJiYoYSo9MTAwKTtyZXR1cm5gJHthfSR7Yn1gfTtKY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYn07Zm9yKGxldCBbZCxlXW9mIG5ldyBNYXAoW1sib250b3VjaHN0YXJ0IixhLm9udG91Y2hzdGFydF0sWyJvbnRvdWNoZW5kIixhLm9udG91Y2hlbmRdLFsib250b3VjaG1vdmUiLGEub250b3VjaG1vdmVdXSkpe2xldCBmPWQsaD1lO2JbZl09az0+e2NbZl0/LihrKTtoKGspfX19OwpMY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bInl0QXR0cmlidXRlZFN0cmluZ0xpbmsiXTtiPy51Ynx8KGI/LmlzT3ZlcmxheT9jLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtPdmVybGF5Q2FsbFRvQWN0aW9uQ29sb3IiKTpjLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtDYWxsVG9BY3Rpb25Db2xvciIpLGI/LlhhJiZjLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IiKSk7Yz17Y2xhc3NOYW1lOmMuam9pbigiICIpLHRhYmluZGV4OiIwIn07dmFyIGQ9YS5vblRhcHx8YS5vbkxvbmdQcmVzcztpZighZClyZXR1cm4gYzt2YXIgZT1hLm9uVGFwT3B0aW9ucz8uYWNjZXNzaWJpbGl0eUluZm8/LmFjY2Vzc2liaWxpdHlMYWJlbDtlJiYoYy5hcmlhTGFiZWw9ZSk7Yj1fLmJFKHtiaDpkLHV4OmMsSWQ6ISFiPy5JZCxxZDohMH0pO2Eub25Mb25nUHJlc3MmJihkPW5ldyBLY2EoKCk9Pnt2YXIgZj1fLlJEKGEub25Mb25nUHJlc3MpO2YmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoZil9KSwKYiYmSmNhKGQsYikpO3JldHVybiBifHxjfTtERj1mdW5jdGlvbihhKXt2YXIgYj1hO2E8PTE2Nzc3MjE1JiYoYis9cGFyc2VJbnQoImZmMDAwMDAwIiwxNikpO3JldHVybiBfLk5EKGIpfTtFRj1mdW5jdGlvbih7aXNEYXJrVGhlbWU6YSxleHRlbnNpb246YixPcjpjfSl7dmFyIGQ9dm9pZCAwO2lmKGI9Yj8uY29sb3JNYXApe2E9YT8iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjtmb3IobGV0IGUgb2YgYilpZihhPT09ZS5rZXkpe2Q9ZS52YWx1ZTticmVha319ZD09bnVsbCYmYyYmKGQ9Yyk7aWYoZClyZXR1cm4gREYoZCl9OwpOY2E9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYz17fTtpZihhLnRleHREZWNvcmF0b3Ipe3ZhciBkPWEudGV4dERlY29yYXRvcjt2YXIgZT17fTt2YXIgZj1fLkIoZCxfLkZGKSxoPV8uQihkLEdGKTtpZihmKXtkPU9iamVjdDtoPWQuYXNzaWduO2xldCBrPXt9OyhiPUVGKHtleHRlbnNpb246Xy5CKGYuaGlnaGxpZ2h0VGV4dERlY29yYXRvckV4dGVuc2lvbnMsTWNhKSxpc0RhcmtUaGVtZTpiLE9yOmYuYmFja2dyb3VuZENvbG9yfSkpJiYoa1siYmFja2dyb3VuZC1jb2xvciJdPWIpO2YuYmFja2dyb3VuZENvcm5lclJhZGl1cyE9PXZvaWQgMCYmKGtbImJvcmRlci1yYWRpdXMiXT1gJHtmLmJhY2tncm91bmRDb3JuZXJSYWRpdXN9cHhgKTtmLmxlZnRQYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1sZWZ0Il09YCR7Zi5sZWZ0UGFkZGluZ31weGApO2YucmlnaHRQYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1yaWdodCJdPWAke2YucmlnaHRQYWRkaW5nfXB4YCk7Zi50b3BQYWRkaW5nIT09CnZvaWQgMCYmKGtbInBhZGRpbmctdG9wIl09YCR7Zi50b3BQYWRkaW5nfXB4YCk7Zi5ib3R0b21QYWRkaW5nIT09dm9pZCAwJiYoa1sicGFkZGluZy1ib3R0b20iXT1gJHtmLmJvdHRvbVBhZGRpbmd9cHhgKTtoLmNhbGwoZCxlLGspfWVsc2UgaCYmKGY9T2JqZWN0LGQ9Zi5hc3NpZ24sYj1iPyIjMmJhNjQwIjoiIzEwNzUxNiIsYj1oLmNvbG9yP0RGKGguY29sb3IpOmIsZC5jYWxsKGYsZSx7cGFkZGluZzoiMnB4IiwiYm9yZGVyLXRvcCI6YHNvbGlkICR7Yn0gMnB4YCwiYm9yZGVyLWJvdHRvbSI6YHNvbGlkICR7Yn0gMnB4YCxiYWNrZ3JvdW5kOmBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAke2J9IDNweCwgcmdiYSgwLCAwLCAwLCAwKSAzcHgpLCBsaW5lYXItZ3JhZGllbnQoMzE1ZGVnLCAke2J9IDNweCwgcmdiYSgwLCAwLCAwLCAwKSAzcHgpYH0pKTtlPU9iamVjdC5rZXlzKGUpLmxlbmd0aCE9PTA/ZTp2b2lkIDA7Yy5zdHlsZT1lO2E9YS50ZXh0RGVjb3JhdG9yO2U9W107Yj1fLkIoYSwKR0YpO18uQihhLF8uRkYpP2UucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSGlnaGxpZ2h0VGV4dERlY29yYXRvciIpOmImJmUucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nQnJhY2tldFRleHREZWNvcmF0b3IiKTthPWUuam9pbigiICIpO2MuY2xhc3NOYW1lPWE7Yy5kaXI9ImF1dG8ifXJldHVybiBjfTtIRj1mdW5jdGlvbih7Y29uZmlnOmEsaW1hZ2U6YixnajpjLE9sOmQscnVuOmUsdGFnOmYsdGV4dExlbmd0aDpoLHN0YXJ0SW5kZXg6az0wLGxlbmd0aDpsfSl7az09PXZvaWQgMCYmKGs9MCk7ZT17cnVuOmUsc3RhcnRJbmRleDprLHdsOmwhPT12b2lkIDA/aytsOmgsdGFnOmZ9O2ImJihlLmltYWdlPWIpO2MmJihlLmdqPWMpO2QmJihlLk9sPWQpO2EmJihlLmNvbmZpZz1hKTtyZXR1cm4gZX07Ck9jYT1mdW5jdGlvbihhLGIpe2lmKGEud2VpZ2h0KXJldHVybiBhLndlaWdodDtzd2l0Y2goYS53ZWlnaHRMYWJlbCl7Y2FzZSAiRk9OVF9XRUlHSFRfVEhJTiI6cmV0dXJuIDEwMDtjYXNlICJGT05UX1dFSUdIVF9FWFRSQV9MSUdIVCI6cmV0dXJuIDIwMDtjYXNlICJGT05UX1dFSUdIVF9MSUdIVCI6cmV0dXJuIDMwMDtjYXNlICJGT05UX1dFSUdIVF9NRURJVU0iOnJldHVybiA1MDA7Y2FzZSAiRk9OVF9XRUlHSFRfU0VNSV9CT0xEIjpyZXR1cm4gNjAwO2Nhc2UgIkZPTlRfV0VJR0hUX0JPTEQiOnJldHVybiBiPzkwMDo3MDA7Y2FzZSAiRk9OVF9XRUlHSFRfRVhUUkFfQk9MRCI6cmV0dXJuIDgwMDtjYXNlICJGT05UX1dFSUdIVF9CTEFDSyI6cmV0dXJuIDkwMDtkZWZhdWx0OnJldHVybiA0MDB9fTsKUWNhPWZ1bmN0aW9uKGEsYj0hMSxjKXtiPUVGKHtleHRlbnNpb246Xy5CKGEuc3R5bGVSdW5FeHRlbnNpb25zLFBjYSksaXNEYXJrVGhlbWU6YixPcjphLmZvbnRDb2xvcn0pO3ZhciBkPVtdO2ImJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpO2EuaXRhbGljJiZkLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0l0YWxpY2l6ZWQiKTthLnVuZGVybGluZSYmYS5zdHJpa2V0aHJvdWdoP2QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lU3RyaWtldGhyb3VnaCIsSUYoYS51bmRlcmxpbmUpKTphLnVuZGVybGluZT9kLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1VuZGVybGluZWQiLElGKGEudW5kZXJsaW5lKSk6YS5zdHJpa2V0aHJvdWdoJiZkLnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1N0cmlrZXRocm91Z2giLElGKGEuc3RyaWtldGhyb3VnaCkpO2lmKGEuYmFzZWxpbmVPZmZzZXQpe2E6c3dpdGNoKGEuYmFzZWxpbmVPZmZzZXQpe2Nhc2UgIkJBU0VMSU5FX09GRlNFVF9TVUJTQ1JJUFQiOnZhciBlPQoieXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRTdWJzY3JpcHQiO2JyZWFrIGE7Y2FzZSAiQkFTRUxJTkVfT0ZGU0VUX1NVUEVSU0NSSVBUIjplPSJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1cGVyc2NyaXB0IjticmVhayBhO2RlZmF1bHQ6ZT0ieXRBdHRyaWJ1dGVkU3RyaW5nQmFzZWxpbmVPZmZzZXRVbmtub3duIn1kLnB1c2goZSl9ZD1kLmpvaW4oIiAiKTtlPXt9O2lmKGEud2VpZ2h0fHxhLndlaWdodExhYmVsKWUuZm9udFdlaWdodD1PY2EoYSxjPy5xaCkudG9TdHJpbmcoKTtiJiYoZS5jb2xvcj1iKTtyZXR1cm57Y2xhc3NOYW1lOmQsc3R5bGU6ZX19O0lGPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJMSU5FX1NUWUxFX0RPVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ0xpbmVTdHlsZURvdCI7Y2FzZSAiTElORV9TVFlMRV9OT05FIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlTm9uZSI7ZGVmYXVsdDpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlU2luZ2xlIn19OwpSY2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlRFWFRfQUxJR05NRU5UX0xFRlQiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50TGVmdCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfUklHSFQiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50UmlnaHQiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0NFTlRFUiI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRDZW50ZXIiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0pVU1RJRklFRCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRKdXN0aWZpZWQiO2Nhc2UgIlRFWFRfQUxJR05NRU5UX0xBWU9VVF9TVEFSVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRMYXlvdXRTdGFydCI7ZGVmYXVsdDpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudFVua25vd24ifX07CkpGPWZ1bmN0aW9uKGEsYil7cmV0dXJuISFifHwhKGEuY29tbWFuZFJ1bnMmJmEuY29tbWFuZFJ1bnMubGVuZ3RoIT09MHx8YS5wYXJhZ3JhcGhTdHlsZVJ1bnMmJmEucGFyYWdyYXBoU3R5bGVSdW5zLmxlbmd0aCE9PTApfTtTY2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hLnJ1bjsoYy5vblRhcCE9PXZvaWQgMHx8Yy5vbkxvbmdQcmVzcyE9PXZvaWQgMCkmJl8uQihjLHpGKSYmXy5KeChiLHtkYXRhOntsb2dnaW5nRGlyZWN0aXZlczpfLkIoYyx6Ril9LG9ic2VydmVyOl8ueSgpLnJlc29sdmUoXy5MeCksTmM6Xy5uRixlYjpfLm1GLGxheWVyOmIubGF5ZXJ9KX19O0tGPWZ1bmN0aW9uKGEsYixjLGQpe2ZvcihsZXQgZSBvZiBhLmxjKXtpZih0eXBlb2YgZT09PSJzdHJpbmciKXRocm93IEVycm9yKCJZYyIpO2lmKGUuc3RhcnQ8PWImJmM8PWUuZW5kKXtLRihlLGIsYyxkKTtyZXR1cm59fWEubGMucHVzaCh7ZGF0YTpkLGxjOltdLHN0YXJ0OmIsZW5kOmN9KX07CkxGPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBkPWIubGMubGVuZ3RoO2Q+PTA7ZC0tKXtsZXQgZT1iLmxjW2RdO3ZhciBjPWIubGNbZC0xXTtsZXQgZj1kPT09Yi5sYy5sZW5ndGg/Yi5lbmQ6ZS5zdGFydDtjPWQ9PT0wP2Iuc3RhcnQ6Yy5lbmQ7ZiE9PWMmJmIubGMuc3BsaWNlKGQsMCxhLnNsaWNlKGMsZikpO2UmJkxGKGEsZSl9fTtUY2E9ZnVuY3Rpb24oYSl7YS5zb3J0KChiLGMpPT57aWYoYi5zdGFydEluZGV4PGMuc3RhcnRJbmRleClyZXR1cm4tMTtpZihjLnN0YXJ0SW5kZXg8Yi5zdGFydEluZGV4KXJldHVybiAxO2I9Yi53bC1iLnN0YXJ0SW5kZXg7Yz1jLndsLWMuc3RhcnRJbmRleDtyZXR1cm4gYj5jPy0xOmM+Yj8xOjB9KX07Ck1GPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE9PT12b2lkIDB8fGI9PT12b2lkIDA/ITE6Xy54KCJ3ZWJfYXR0cmlidXRlZF9zdHJpbmdfZGVlcF9lcXVhbF9idWdmaXgiKT92RihhLGIpOmEuY29udGVudD09PWIuY29udGVudCYmYS5zdHlsZVJ1bnM/Lmxlbmd0aD09PWIuc3R5bGVSdW5zPy5sZW5ndGgmJmEuY29tbWFuZFJ1bnM/Lmxlbmd0aD09PWIuY29tbWFuZFJ1bnM/Lmxlbmd0aCYmYS5hdHRhY2htZW50UnVucz8ubGVuZ3RoPT09Yi5hdHRhY2htZW50UnVucz8ubGVuZ3RoJiZhLmRlY29yYXRpb25SdW5zPy5sZW5ndGg9PT1iLmRlY29yYXRpb25SdW5zPy5sZW5ndGh9O1VjYT1mdW5jdGlvbih7bGM6YX0pe3JldHVybiBhLm1hcChORil9OwpORj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhO3ZhciBiPWEuZGF0YTtiLmltYWdlIT09dm9pZCAwJiZiLmdqIT09dm9pZCAwPyhiPWEuZGF0YS5PbCxhPV8uSygic3BhbiIse2NsYXNzOmI/LmNsYXNzTmFtZSxzdHlsZTpCRihiPy5zdHlsZSksZGlyOmI/LmRpcixyb2xlOmI/LnJvbGUsdGFiaW5kZXg6Yj8udGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGIudGFiaW5kZXgpOnZvaWQgMCwiZm9yY2UtbmV3LXN0YXRlIjpiPy5xZCwib246Y2xpY2siOmI/Lm9uY2xpY2ssIm9uOnRvdWNoZW5kIjpiPy5vbnRvdWNoZW5kLCJvbjp0b3VjaG1vdmUiOmI/Lm9udG91Y2htb3ZlLCJvbjp0b3VjaHN0YXJ0IjpiPy5vbnRvdWNoc3RhcnR9LF8uSyhfLmpGLHtkYXRhOmEuZGF0YS5pbWFnZSwuLi5hLmRhdGEuZ2p9KSkpOihiPWEuZGF0YS5jb25maWcsYT1fLksoYS5kYXRhLnRhZyx7ZWw6Xy5yRihTY2EoYS5kYXRhKSksInByb3A6X2RhdGEiOmI/Lm51LCJwcm9wOnBhcmFtcyI6Yj8ucGFyYW1zLApjbGFzczpiPy5jbGFzc05hbWUsc3R5bGU6QkYoYj8uc3R5bGUpLGRpcjpiPy5kaXIsaHJlZjpiPy5ocmVmLHJlbDpiPy5yZWwscm9sZTpiPy5yb2xlLHRhcmdldDpiPy50YXJnZXQsdGl0bGU6Yj8udGl0bGUsdGFiaW5kZXg6Yj8udGFiaW5kZXghPT12b2lkIDA/TnVtYmVyKGIudGFiaW5kZXgpOnZvaWQgMCwiYXJpYS1oYXNwb3B1cCI6Yj8uYXJpYUhhc1BvcHVwLCJmb3JjZS1uZXctc3RhdGUiOmI/LnFkLCJhcmlhLWhpZGRlbiI6Yj8uYXJpYUhpZGRlbiwiYXJpYS1leHBhbmRlZCI6Yj8uYXJpYUV4cGFuZGVkLCJhcmlhLWxhYmVsIjpiPy5hcmlhTGFiZWwsIm9uOmNsaWNrIjpiPy5vbmNsaWNrLCJvbjp0b3VjaGVuZCI6Yj8ub250b3VjaGVuZCwib246dG91Y2htb3ZlIjpiPy5vbnRvdWNobW92ZSwib246dG91Y2hzdGFydCI6Yj8ub250b3VjaHN0YXJ0LCJvbjpwb2ludGVyZG93biI6Yj8ub25wb2ludGVyZG93biwib246a2V5ZG93biI6Yj8ub25rZXlkb3dufSxhLmxjLm1hcChORikpKTsKcmV0dXJuIF8uZkMoYSl9O1ZjYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09Yj8hMDphPT09dm9pZCAwfHxiPT09dm9pZCAwPyExOmEuQ2o9PT1iLkNqJiZhLnViPT09Yi51YiYmYS5tYT09PWIubWEmJmEuaGVhZGVyUnVucz09PWIuaGVhZGVyUnVucyYmYS5pc092ZXJsYXk9PT1iLmlzT3ZlcmxheSYmYS5YYT09PWIuWGEmJmEudXNlcklucHV0PT09Yi51c2VySW5wdXQmJmEucWg9PT1iLnFofTtXY2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pih7YXJpYUxhYmVsOmEuYXJpYUxhYmVsPy4oKSxjbGFzc05hbWU6YS5jbGFzc05hbWU/LigpLHljOmEueWM/LigpLGlzT3ZlcmxheTphLmlzT3ZlcmxheT8uKCksWGE6YS5YYT8uKCksbWE6YS5tYT8uKCksQ2o6YS5Daj8uKCksdWI6YS51Yj8uKCkscmc6YS5yZz8uKCksbm9XcmFwOmEubm9XcmFwPy4oKSxJZDphLklkPy4oKSx1c2VySW5wdXQ6YS51c2VySW5wdXQ/LigpLGhlYWRlclJ1bnM6YS5oZWFkZXJSdW5zPy4oKSxxaDphLnFoPy4oKX0pfTsKSWNhPS8jKC4pKC4pKC4pLztIY2E9L14jKD86WzAtOWEtZl17M30pezEsMn0kL2k7Xy5YY2E9bmV3IF8uSSgiZW1vamkiKTt2YXIgekY9bmV3IF8uSSgibG9nZ2luZ0RpcmVjdGl2ZXMiKTtfLlljYT1uZXcgXy5JKCJ1bnBsdWdnZWRTdHJpbmdSdW5JbWFnZSIpO3ZhciBNY2E9bmV3IF8uSSgiaGlnaGxpZ2h0VGV4dERlY29yYXRvckNvbG9yTWFwRXh0ZW5zaW9uIik7dmFyIFBjYT1uZXcgXy5JKCJzdHlsZVJ1bkNvbG9yTWFwRXh0ZW5zaW9uIik7dmFyIFpjYT1uZXcgXy5JKCJhY2Nlc3NpYmlsaXR5UHJvcGVydGllcyIpO3ZhciBHRj1uZXcgXy5JKCJicmFja2V0VGV4dERlY29yYXRvciIpO18uRkY9bmV3IF8uSSgiaGlnaGxpZ2h0VGV4dERlY29yYXRvciIpO3ZhciAkY2E9bmV3IF8uSSgiaW1hZ2VUeXBlIik7dmFyIGFkYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD01MDA7dGhpcy5qPU5hTjt0aGlzLnY9dGhpcy5vPSExO3RoaXMuQj1hPT57dmFyIGI9bmV3IEN1c3RvbUV2ZW50KCJMT05HX1BSRVNTIik7YS5jaGFuZ2VkVG91Y2hlc1swXS50YXJnZXQ/LmRpc3BhdGNoRXZlbnQoYil9O3RoaXMub250b3VjaHN0YXJ0PWE9Pnt0aGlzLmo9Xy5xeChfLmpmLCgpPT57dGhpcy5CKGEpO3RoaXMubz0hMH0sdGhpcy5EKX07dGhpcy5vbnRvdWNobW92ZT0oKT0+e18uamYuQWEodGhpcy5qKTt0aGlzLmo9TmFOO3RoaXMubz0hMTt0aGlzLnY9ITB9O3RoaXMub250b3VjaGVuZD1hPT57dGhpcy5qJiYhdGhpcy5vJiYhdGhpcy52JiZhLmNoYW5nZWRUb3VjaGVzWzBdLnRhcmdldD8uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNsaWNrIikpO18uamYuQWEodGhpcy5qKTt0aGlzLmo9TmFOO3RoaXMudj10aGlzLm89ITF9fX07dmFyIEtjYT1jbGFzcyBleHRlbmRzIGFkYXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9YTt0aGlzLkI9Yj0+e3RoaXMuY2FsbGJhY2s/LihiKX19fTt2YXIgYmRhO2JkYT1fLngoImFsbG93X25lc3RlZF9yZW5kZXJfa3MiKT92b2lkIDA6e0lrOl8uWEN9OwpfLlY9Xy5MKGE9Pnt2YXIgYj1XY2EoYSksYz1lPT57dmFyIGYsaCxrPV8uckYocD0+e2Y9ZSgpO2g9Xy51digoKT0+e2Zvcih2YXIgciBvZiBtKCkpe2xldCB0PU5GKHIpO3Q9dHlwZW9mIHQ9PT0ic3RyaW5nIj9kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KTp0O2lmKCEodCBpbnN0YW5jZW9mIE5vZGUpKXtyPW5ldyBfLlhqKCJQYXJ0IGlzIG5vdCBhIG5vZGUiLHQsdHlwZW9mIHQpO18uR3Aocik7YnJlYWt9cC5hcHBlbmRDaGlsZCh0KX19KX0pLGw9Xy51RihiLHtpc0VxdWFsOlZjYX0pLG09KCk9Pnt2YXIgcD1lKCkscj1sKCksdD1bXSx2PXAuY29udGVudC5sZW5ndGgsej1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtpZihwLnBhcmFncmFwaFN0eWxlUnVucylmb3IobGV0IE0gb2YgcC5wYXJhZ3JhcGhTdHlsZVJ1bnMpe3ZhciBFPXQsQT1FLnB1c2g7YTp7aWYoIU0ubGlzdEdyb3VwPy5saXN0SXRlbXMpe3ZhciBGPVtdO2JyZWFrIGF9Rj1bXTtiOnN3aXRjaChNLmxpc3RHcm91cC5saXN0VHlwZSl7Y2FzZSAiTElTVF9UWVBFX0JVTExFVCI6dmFyIEM9CiJ1bCI7YnJlYWsgYjtkZWZhdWx0OkM9InNwYW4ifUYucHVzaChIRih7cnVuOk0sdGV4dExlbmd0aDp2LHRhZzpDLGNvbmZpZzp7Y2xhc3NOYW1lOiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaXN0R3JvdXAifSxzdGFydEluZGV4Ok0uc3RhcnRJbmRleCxsZW5ndGg6TS5sZW5ndGh9KSk7Zm9yKGxldCBTIG9mIE0ubGlzdEdyb3VwLmxpc3RJdGVtcyl7Yjpzd2l0Y2goTS5saXN0R3JvdXAubGlzdFR5cGUpe2Nhc2UgIkxJU1RfVFlQRV9CVUxMRVQiOkM9ImxpIjticmVhayBiO2RlZmF1bHQ6Qz0ic3BhbiJ9Ri5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOkMsc3RhcnRJbmRleDpTLnN0YXJ0SW5kZXgsbGVuZ3RoOlMubGVuZ3RofSkpfX1BLmNhbGwoRSwuLi5GKX1pZihwLnN0eWxlUnVucyYmIXI/LkNqKWZvcih2YXIgRyBvZiBwLnN0eWxlUnVucylFPVFjYShHLHosciksdC5wdXNoKEhGKHtydW46Ryx0ZXh0TGVuZ3RoOnYsdGFnOiJzcGFuIixjb25maWc6RSxzdGFydEluZGV4Okcuc3RhcnRJbmRleCwKbGVuZ3RoOkcubGVuZ3RofSkpO2lmKHAuZGVjb3JhdGlvblJ1bnMpZm9yKHZhciBEIG9mIHAuZGVjb3JhdGlvblJ1bnMpRz1OY2EoRCx6KSxFPV8uQihELnRleHREZWNvcmF0b3IsR0YpLEE9Xy5CKEQudGV4dERlY29yYXRvcixHRiksdC5wdXNoKEhGKHtydW46RCx0ZXh0TGVuZ3RoOnYsdGFnOiJzcGFuIixjb25maWc6RyxzdGFydEluZGV4Ol8uQihELnRleHREZWNvcmF0b3IsXy5GRik/LnN0YXJ0SW5kZXh8fEU/LnN0YXJ0SW5kZXh8fDAsbGVuZ3RoOl8uQihELnRleHREZWNvcmF0b3IsXy5GRik/Lmxlbmd0aHx8QT8ubGVuZ3RofHwwfSkpO2lmKHAuY29tbWFuZFJ1bnMmJiFyPy5tYSlmb3IodmFyIEggb2YgcC5jb21tYW5kUnVucyl6PUxjYShILHIpLHQucHVzaChIRih7cnVuOkgsdGV4dExlbmd0aDp2LHRhZzoiYSIsY29uZmlnOnosc3RhcnRJbmRleDpILnN0YXJ0SW5kZXgsbGVuZ3RoOkgubGVuZ3RofSkpO2lmKHAuYXR0YWNobWVudFJ1bnMpZm9yKGxldCBNIG9mIHAuYXR0YWNobWVudFJ1bnMpe3A9CntjbGFzc05hbWU6Inl0QXR0cmlidXRlZFN0cmluZ0lubGluZUJsb2NrTW9kIn07TS5lbGVtZW50Py5wcm9wZXJ0aWVzJiYoSD17fSx6PV8uQihNLmVsZW1lbnQ/LnByb3BlcnRpZXMsXy5oRSksej8ubWFyZ2luJiYoej16Lm1hcmdpbixEPShHPV8udygiSFRNTF9ESVIiKT09PSJydGwifHxkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZSgiZGlyIik9PT0icnRsIik/ei5lbmR8fHoucmlnaHQ6ei5zdGFydHx8ei5sZWZ0LEc9Rz96LnN0YXJ0fHx6LmxlZnQ6ei5lbmR8fHoucmlnaHQsRCYmKEhbIm1hcmdpbi1sZWZ0Il09Q0YoRCkpLEcmJihIWyJtYXJnaW4tcmlnaHQiXT1DRihHKSksei50b3AmJihIWyJtYXJnaW4tdG9wIl09Q0Yoei50b3ApKSx6LmJvdHRvbSYmKEhbIm1hcmdpbi1ib3R0b20iXT1DRih6LmJvdHRvbSkpKSxIPU9iamVjdC5rZXlzKEgpLmxlbmd0aCE9PTA/SDp2b2lkIDAscC5zdHlsZT1IKTtIPXthbHQ6IiIsWWE6ITAsVGE6ITB9O3o9WyJ5dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUVsZW1lbnQiXTsKaWYoTS5hbGlnbm1lbnQpe2E6c3dpdGNoKE0uYWxpZ25tZW50KXtjYXNlICJBTElHTk1FTlRfQkFTRUxJTkUiOkQ9Inl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50QmFzZWxpbmUiO2JyZWFrIGE7Y2FzZSAiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUiI6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRWZXJ0aWNhbENlbnRlciI7YnJlYWsgYTtkZWZhdWx0OkQ9Inl0QXR0cmlidXRlZFN0cmluZ0ltYWdlQWxpZ25tZW50Qm90dG9tIn16LnB1c2goRCl9TS5lbGVtZW50Py5wcm9wZXJ0aWVzJiYoRD17fSxHPV8uQihNLmVsZW1lbnQucHJvcGVydGllcyxfLmhFKSxHPy5oZWlnaHQmJihELmhlaWdodD1DRihHLmhlaWdodCkpLEc/LndpZHRoJiYoRC53aWR0aD1DRihHLndpZHRoKSksRD1PYmplY3Qua2V5cyhEKS5sZW5ndGghPT0wP0Q6dm9pZCAwLEguc3R5bGU9QkYoRCksSC5hbHQ9Xy5CKE0uZWxlbWVudC5wcm9wZXJ0aWVzLFpjYSk/LmxhYmVsfHwiIik7SC5jbGFzc05hbWU9Cnouam9pbigiICIpO3o9TS5lbGVtZW50Py50eXBlP18uQihNLmVsZW1lbnQudHlwZSwkY2EpPy5pbWFnZTp2b2lkIDA7dC5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOiJpbWciLGltYWdlOnosZ2o6SCxPbDpwLHN0YXJ0SW5kZXg6TS5zdGFydEluZGV4LGxlbmd0aDpNLmxlbmd0aD8/MH0pKX1pZihyPy5oZWFkZXJSdW5zKWZvcih2YXIgUiBvZiByLmhlYWRlclJ1bnMpaWYoUi5oZWFkZXJNYXBwaW5nJiZbIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMSIsIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMiIsIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMyJdLmluY2x1ZGVzKFIuaGVhZGVyTWFwcGluZykpe2E6e3N3aXRjaChSLmhlYWRlck1hcHBpbmcpe2Nhc2UgIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMSI6cj0ieXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzEiOwpicmVhayBhO2Nhc2UgIkFUVFJJQlVURURfU1RSSU5HX0hFQURFUl9NQVBQSU5HX0hFQURJTkdfMiI6cj0ieXRBdHRyaWJ1dGVkU3RyaW5nSGVhZGluZzIiO2JyZWFrIGE7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18zIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMyI7YnJlYWsgYX1yPXZvaWQgMH10LnB1c2goSEYoe3J1bjpSLHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpyP3tjbGFzc05hbWU6cn06dm9pZCAwLHN0YXJ0SW5kZXg6Ui5zdGFydEluZGV4LGxlbmd0aDpSLmxlbmd0aH0pKX1pZihsKCk/LnVzZXJJbnB1dClmb3IobGV0IE0gb2YgdCl7aWYoTS50YWc9PT0iYSJ8fE0udGFnPT09ImxpIiljb250aW51ZTtsZXQgUzsoUz1NKS5jb25maWd8fChTLmNvbmZpZz17fSk7TS50YWc9PT0idWwiP00uY29uZmlnLmRpcj1fLnkoKS5yZXNvbHZlKF8ubEYpOk0uY29uZmlnLmRpcj0iYXV0byJ9aWYoZSgpLmNvbnRlbnQpe3Y9ZSgpLmNvbnRlbnQ7ClRjYSh0KTtSPXtkYXRhOm51bGwsc3RhcnQ6MCxlbmQ6di5sZW5ndGgsbGM6W119O2ZvcihsZXQgTSBvZiB0KUtGKFIsTS5zdGFydEluZGV4LE0ud2wsTSk7TEYodixSKTt0PVIubGN9ZWxzZSB0PVtdO3JldHVybiB0fSxuPSEwO18ubkUoKCk9PntlKCk7bCgpO2lmKG4mJihuPSExLE1GKGUoKSxmKSkpcmV0dXJuO3ZhciBwPW0oKTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dmFyIHI9ay52YWx1ZTtyJiYoci5pbm5lclRleHQ9IiIsaD8uKCksaD1fLnhGKHIsKCk9Pl8uSyhVY2Ese2xjOnB9KSxiZGEpKX0pfSwidjJaMG9lIik7cmV0dXJuIF8uSygic3BhbiIse2VsOmssY2xhc3M6KCk9Pnt2YXIgcDtpZihwPWUoKSl7cD1lKCk7dmFyIHI9YigpO2xldCB0PVtdO3QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSG9zdCIpO3I/LmNsYXNzTmFtZSYmdC5wdXNoKHI/LmNsYXNzTmFtZSk7cj8ueWM/dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdFbGxpcHNpc1RydW5jYXRlIik6cj8ubm9XcmFwPwp0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VOb1dyYXAiKTpyPy5yZ3x8dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdXaGl0ZVNwYWNlUHJlV3JhcCIpO3I/LlhhJiZ0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0xpbmtJbmhlcml0Q29sb3IiKTtwLmFsaWdubWVudCYmdC5wdXNoKFJjYShwLmFsaWdubWVudCkpO3AubGluZUJyZWFrTW9kZSYmdC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdXb3JkV3JhcHBpbmciKTtwPXQuam9pbigiICIpfXJldHVybiBwfSxzdHlsZTphLnN0eWxlLGRpcjooKT0+YigpLnVzZXJJbnB1dD8iYXV0byI6dm9pZCAwLCJhcmlhLWxhYmVsIjooKT0+SkYoZSgpLGIoKS5hcmlhTGFiZWwpP2IoKS5hcmlhTGFiZWw6dm9pZCAwLHJvbGU6KCk9PkpGKGUoKSxiKCkuYXJpYUxhYmVsKT8idGV4dCI6dm9pZCAwfSl9LGQ9Xy51RigoKT0+e3ZhciBlPWEudGV4dD8uKCk7aWYoZSlyZXR1cm4gZT1lPy5jb250ZW50IT09dm9pZCAwP2U6Xy5BRihlKSwKZT8uY29udGVudD9lOnZvaWQgMH0se2lzRXF1YWw6TUZ9KTtyZXR1cm4gYS5ZdT9jKGQpOl8uSyhfLk8se0E6ZCx0aGVuOmN9KX0sInEiKTtfLlYuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFFKO1FKPWZ1bmN0aW9uKGEsYil7aWYoIWEpcmV0dXJuIG51bGw7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGMgb2YgYSlpZihhPWMudG9Mb3dlckNhc2UoKSxhLmluZGV4T2YoYixhLmxlbmd0aC1iLmxlbmd0aCk+LTEpcmV0dXJuIGM7cmV0dXJuIG51bGx9O18uUko9ZnVuY3Rpb24oYSl7dmFyIGI9UUooYSwiYWN0aW9uIil8fFFKKGEsImNvbW1hbmQiKXx8UUooYSwiZW5kcG9pbnQiKTtpZighYilyZXR1cm4gbnVsbDt7dmFyIGM9Inl0IitiO2xldCBkPV8uUEouZ2V0KGMpO2Q/Yz1kOihiPWB5dC0ke2IucmVwbGFjZSgvKFtBLVpdKS9nLCItJDEiKS50b0xvd2VyQ2FzZSgpfWAsXy5QSi5zZXQoYyxiKSxjPWIpfV8uQihhLF8uTkopJiYoYys9Ii0iK18uQihhLF8uTkopLnNpZ25hbC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL18vZywiLSIpKTtyZXR1cm4gY307Xy5TSj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj1uZXcgTWFwfX07Xy53YShfLlNKKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEZkYSxHZGEsQ0gsSGRhLERILEVILEZILElkYTtGZGE9ZnVuY3Rpb24oYSxiPTAsYz0tMSl7aWYoIWEudG90YWxMZW5ndGh8fCFjKXJldHVybiBuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDApKTtjPDAmJihjPWEudG90YWxMZW5ndGgtYik7YS5mb2N1cyhiKTtpZighKGItYS52K2M8PWEualthLm9dLmxlbmd0aCkpe3ZhciBkPWEubyxlPWEudjthLmZvY3VzKGIrYy0xKTtlPW5ldyBVaW50OEFycmF5KGEudithLmpbYS5vXS5sZW5ndGgtZSk7bGV0IGY9MDtmb3IobGV0IGg9ZDtoPD1hLm87aCsrKWUuc2V0KGEualtoXSxmKSxmKz1hLmpbaF0ubGVuZ3RoO2Euai5zcGxpY2UoZCxhLm8tZCsxLGUpO2Eubz0wO2Eudj0wO2EuZm9jdXMoYil9ZD1hLmpbYS5vXTtyZXR1cm4gbmV3IERhdGFWaWV3KGQuYnVmZmVyLGQuYnl0ZU9mZnNldCtiLWEudixjKX07CkdkYT1mdW5jdGlvbihhLGI9MCxjPS0xKXthPUZkYShhLGIsYyk7cmV0dXJuIG5ldyBVaW50OEFycmF5KGEuYnVmZmVyLGEuYnl0ZU9mZnNldCxhLmJ5dGVMZW5ndGgpfTtDSD1mdW5jdGlvbihhLGIpe2EuZm9jdXMoYik7cmV0dXJuIGEualthLm9dW2ItYS52XX07CkhkYT1mdW5jdGlvbihhKXtpZighYS5sZW5ndGgpcmV0dXJuIiI7dHJ5e2lmKF8uc0EpcmV0dXJuIF8uc0EuZGVjb2RlKGEpO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgoYSl9Y2F0Y2h7fWZvcih2YXIgYj0wLGM9W10sZD1hLmxlbmd0aDtiPGQ7KXtsZXQgZj0wO2Zvcig7ZjwxMDI0JiZiPGQ7KXt2YXIgZT1hW2IrK107aWYoZTwxMjgpe18uckFbZisrXT1lO2NvbnRpbnVlfWlmKGU8MjI0KWU9KGUmMzEpPDw2fGFbYisrXSY2MztlbHNlIGlmKGU8MjQwKWU9KGUmMTUpPDwxMnwoYVtiKytdJjYzKTw8NnxhW2IrK10mNjM7ZWxzZXtpZihmKzE9PT0xMDI0KXstLWI7YnJlYWt9ZT0oZSY3KTw8MTh8KGFbYisrXSY2Myk8PDEyfChhW2IrK10mNjMpPDw2fGFbYisrXSY2MztlLT02NTUzNjtfLnJBW2YrK109NTUyOTZ8ZT4+MTA7ZT01NjMyMHxlJjEwMjN9Xy5yQVtmKytdPWV9ZT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKXy5yQSk7ZjwxMDI0JiYoZT1lLnN1YnN0cmluZygwLGYpKTtjLnB1c2goZSl9cmV0dXJuIGMuam9pbigiIil9O0RIPWZ1bmN0aW9uKGEpe3ZhciBiPUNIKGEuaixhLnBvcyk7KythLnBvcztpZihiPDEyOClyZXR1cm4gYjtmb3IodmFyIGM9YiYxMjcsZD0xO2I+PTEyODspYj1DSChhLmosYS5wb3MpLCsrYS5wb3MsZCo9MTI4LGMrPShiJjEyNykqZDtyZXR1cm4gY307RUg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLm87Zm9yKGEubz0tMTthLnBvcysxPD1hLmoudG90YWxMZW5ndGg7KXtjPDAmJihjPURIKGEpKTt2YXIgZD1jPj4zO2xldCBlPWMmNztpZihkPT09YilyZXR1cm4hMDtpZihkPmIpe2Eubz1jO2JyZWFrfWM9LTE7c3dpdGNoKGUpe2Nhc2UgMDpESChhKTticmVhaztjYXNlIDE6YS5wb3MrPTg7YnJlYWs7Y2FzZSAyOmQ9REgoYSk7YS5wb3MrPWQ7YnJlYWs7Y2FzZSA1OmEucG9zKz00fX1yZXR1cm4hMX07Cl8uR0g9ZnVuY3Rpb24oYSl7YT1uZXcgSWRhKG5ldyBGSChbXy51YyhkZWNvZGVVUklDb21wb25lbnQoYSkpXSkpO2lmKEVIKGEsMikpe3ZhciBiPURIKGEpO3ZhciBjPUdkYShhLmosYS5wb3MsYik7YS5wb3MrPWI7Yj1jfWVsc2UgYj12b2lkIDA7Yj1iP0hkYShiKTp2b2lkIDA7YT1FSChhLDQpP0RIKGEpOnZvaWQgMDtjPV8udkFbYV07aWYodHlwZW9mIGM9PT0idW5kZWZpbmVkIil0aHJvdyBhPW5ldyBfLlhqKCJGYWlsZWQgdG8gcmVjb2duaXplIGZpZWxkIG51bWJlciIse25hbWU6IkVudGl0eUtleUhlbHBlckVycm9yIixXSTphfSksXy5HcChhKSxhO3JldHVybntSSTphLGVudGl0eVR5cGU6YyxlbnRpdHlJZDpifX07Xy5ISD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInBsYXllclN0YXRlRW50aXR5IixiKX07Xy5JSD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImJvb2xlYW5FbnRpdHkiLGIpfTsKRkg9Y2xhc3N7Y29uc3RydWN0b3IoYT1bXSl7dGhpcy5qPVtdO3RoaXMudG90YWxMZW5ndGg9dGhpcy52PXRoaXMubz0wO2EuZm9yRWFjaChiPT57dGhpcy5hcHBlbmQoYil9KX1hcHBlbmQoYSl7dmFyIGI9dGhpcy5qLmxlbmd0aD09PTA/ITE6KGI9dGhpcy5qW3RoaXMuai5sZW5ndGgtMV0pJiZiLmJ1ZmZlcj09PWEuYnVmZmVyJiZiLmJ5dGVPZmZzZXQrYi5sZW5ndGg9PT1hLmJ5dGVPZmZzZXQ7Yj8oYj10aGlzLmpbdGhpcy5qLmxlbmd0aC0xXSx0aGlzLmpbdGhpcy5qLmxlbmd0aC0xXT1uZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsYi5sZW5ndGgrYS5sZW5ndGgpLHRoaXMudj10aGlzLm89MCk6dGhpcy5qLnB1c2goYSk7dGhpcy50b3RhbExlbmd0aCs9YS5sZW5ndGh9c3BsaXQoYSl7dmFyIGI9bmV3IEZILGM9bmV3IEZIO2ZvcihsZXQgZCBvZiB0aGlzLmopYT49ZC5sZW5ndGg/KGIuYXBwZW5kKGQpLGEtPWQubGVuZ3RoKTphPyhiLmFwcGVuZChuZXcgVWludDhBcnJheShkLmJ1ZmZlciwKZC5ieXRlT2Zmc2V0LGEpKSxjLmFwcGVuZChuZXcgVWludDhBcnJheShkLmJ1ZmZlcixkLmJ5dGVPZmZzZXQrYSxkLmxlbmd0aC1hKSksYT0wKTpjLmFwcGVuZChkKTtyZXR1cm57ako6YixiTDpjfX1pc0ZvY3VzZWQoYSl7cmV0dXJuIGE+PXRoaXMudiYmYTx0aGlzLnYrdGhpcy5qW3RoaXMub10ubGVuZ3RofWZvY3VzKGEpe2lmKCF0aGlzLmlzRm9jdXNlZChhKSlmb3IoYTx0aGlzLnYmJih0aGlzLnY9dGhpcy5vPTApO3RoaXMudit0aGlzLmpbdGhpcy5vXS5sZW5ndGg8PWEmJnRoaXMubzx0aGlzLmoubGVuZ3RoOyl0aGlzLnYrPXRoaXMualt0aGlzLm9dLmxlbmd0aCx0aGlzLm8rPTF9fTtJZGE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5wb3M9MDt0aGlzLm89LTF9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEplYSxhSztKZWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1aSixkPV8uamYuR2EoKCk9PntjLlMoe3RleHQ6Yi50ZXh0LGxvY2F0aW9uOiRKLGFuY2hvcjphLG9mZnNldDpiLm9mZnNldCxzdHlsZTpiLnN0eWxlLGhvdGtleTpiLmhvdGtleX0pO2MubyghMCl9LDQsYi5kZWxheSk7Yy5qKGQpfTthSz1mdW5jdGlvbigpe3ZhciBhPVpKLGI9YS52KCk7YiYmKF8uamYuQWEoYiksYS5qKHZvaWQgMCkpO2EubyghMSl9OwpfLmJLPWZ1bmN0aW9uKGEsYil7dmFyIFtjLGRdPV8uQUMoKCk9PmEoKT8/Yj8uKCk/LnRleHQpO3JldHVybltlPT57dmFyIGY9Xy5OKCgpPT4oe2xvY2F0aW9uOiJib3R0b20iLG9mZnNldDoxNixkZWxheToxLC4uLmI/LigpLHRleHQ6YygpPz8iIn0pLHZvaWQgMCwiSUpVMzhkIik7Xy5uRSgoKT0+e3ZhciBsPWYoKTtfLkVBKCgpPT57Xy5qZi5HYSgoKT0+e1pKLm5vdGlmeShlLGwpfSw0KX0pfSwiV2xzZ1pjIik7dmFyIGg9KCk9PntKZWEoZSxmKCkpfSxrPSgpPT57YUsoKX07ZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixoKTtlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixoKTtlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGspO2UuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsayk7ZS5hZGRFdmVudExpc3RlbmVyKCJ0YXAiLGspO18uWXUoKCk9PntlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGgpO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsCmspO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpO2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsayk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0YXAiLGspO2FLKCl9KX0sZF19O3ZhciAkSj17bGVmdDoiMHB4IixyaWdodDoiYXV0byIsdG9wOiItMTAwcHgiLGJvdHRvbToiYXV0byJ9O3ZhciBaSj1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXtbdGhpcy5zdGF0ZSx0aGlzLlNdPV8uSih2b2lkIDAsdm9pZCAwLCJMZmt4b2YiKTtbdGhpcy5zaG93LHRoaXMub109Xy5KKCExLHZvaWQgMCwiazFGa29lIik7W3RoaXMudix0aGlzLmpdPV8uSih2b2lkIDAsdm9pZCAwLCJVbDhNSWMiKX1ub3RpZnkoYSxiKXt0aGlzLnN0YXRlKCk/LmFuY2hvcj09PWEmJnRoaXMuUyh7dGV4dDpiLnRleHQsbG9jYXRpb246JEosYW5jaG9yOmEsb2Zmc2V0OmIub2Zmc2V0LHN0eWxlOmIuc3R5bGUsaG90a2V5OmIuaG90a2V5fSl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5jSz1uZXcgXy5JKCJ0b29sdGlwVmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZEs9ZnVuY3Rpb24oYSxiKXtfLmFFKGEsey4uLmIsUHA6ITB9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBUYmE7VGJhPWZ1bmN0aW9uKGEsYil7dmFyIFtjLGRdPV8uSighMSx2b2lkIDAsIm1OeXd6YyIpLGU9ITEsZixoPWs9PntpZihmKXJldHVybiBfLksoZix7Li4ua30pO2lmKCFlKXtsZXQgbD1hKCk7ZT0hMDtpZihsIGluc3RhbmNlb2YgUHJvbWlzZSl7bGV0IG09Xy5hRDttPy5zdSgpO2wudGhlbihuPT57Zj1uO2QoITApO20/LkhyKCl9KS5jYXRjaChuPT57bT8uSHIoKTtpZihiPy5kZWJ1Z05hbWUpe3ZhciBwPW5ldyBfLlhqKCJmYWlsZWQgdG8gbG9hZCBjaHVuayIsYi5kZWJ1Z05hbWUsbj8udG9TdHJpbmc/LigpKTtfLkdwKHApfWVsc2UgXy5HcChuKTt0aHJvdyBuO30pfWVsc2UgcmV0dXJuIGY9bCxfLksoZix7Li4ua30pfXJldHVybiBfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKGYsey4uLmt9KX0pfTtfLmJELnNldChoLGEpO3JldHVybiBofTtfLmNEPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRiYShhLGI/e2RlYnVnTmFtZTpifTp2b2lkIDApfTtfLkpEPW5ldyBfLlZzKCJDSFVOS19SRUdJU1RSWV9UT0tFTiIpO18uYkQ9bmV3IFdlYWtNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZUs9bmV3IF8uVnMoIkxJR0hUX0VGRkVDVF9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS2VhO18uZks9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9IiI7Zm9yKGxldCBjIG9mIEtlYSlpZihhLmVuZHNXaXRoKGMpKXtiPWEuc2xpY2UoMCwtYy5sZW5ndGgpO2JyZWFrfWlmKGImJihhPU51bWJlcihiKSwhaXNOYU4oYSkpKXJldHVybiBhfX07S2VhPVsicmVtIiwicHgiLCJtcyIsIiUiLCJzIl07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLZGEsUkg7Xy5RSD1mdW5jdGlvbihhKXt2YXIgYj1fLlBIKCk7cmV0dXJuIEtkYShhLGIpfTtfLlBIPWZ1bmN0aW9uKCl7dmFyIGE9Xy55KCkucmVzb2x2ZShfLkluKFJIKSksW2IsY109Xy5KKGEsdm9pZCAwLCJ6TElZUmMiKTthfHxfLll0KFJILGMpO3JldHVybiBifTtLZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5OKCgpPT57dmFyIGM9YSgpO3JldHVybiBjP2IoKT8uKGMpOnZvaWQgMH0sdm9pZCAwLCJlUXhobWIiKX07Ukg9bmV3IF8uVnMoIlNFTUFOVElDX0xBWU9VVF9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmlLPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiT3RLU0plIik7cmV0dXJuIF8uVUN9O18uaks9Xy5jRCgoKT0+Xy5pSygpLCJ0b3VjaEZlZWRiYWNrU2hhcGUiKTtfLll0KF8uSkQsYT0+e2EuSigidG91Y2hGZWVkYmFja1NoYXBlIiwiT3RLU0plIixfLmlLKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIga0ssTmVhLGxLLFBlYSxtSyxRZWEsUmVhLG5LLHBLLFZlYSxXZWEsWGVhLFllYTtrSz1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IFtjLGRdb2YgYS5qLmVudHJpZXMoKSliLnB1c2goe2VsZW1lbnQ6YyxQeTpkfSk7YS52KGIpfTtOZWE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7ZD0wfXZhciBkPTA7cmV0dXJuIGZ1bmN0aW9uKGUpe2R8fChkPV8udS5zZXRUaW1lb3V0KGMsYiksYS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKSl9fTtsSz1mdW5jdGlvbihhKXtyZXR1cm4haXNOYU4oTnVtYmVyKGEpKSYmIS9eW1xzXHhhMF0qJC8udGVzdChhKX07ClBlYT1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtjPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGEsW3t0cmFuc2Zvcm06InRyYW5zbGF0ZVkoMHB4KSJ9LHt0cmFuc2Zvcm06YHRyYW5zbGF0ZVkoJHsoZj9tSyhiLGMsZCxlKTpkPy0xOjEpKmh9cHgpYH1dLE9lYSksZG9jdW1lbnQudGltZWxpbmUpO2I/KGEuc3R5bGUuZGlzcGxheT0iIixjLm9uZmluaXNoPW51bGwpOmMub25maW5pc2g9KCk9PnthLnN0eWxlLmRpc3BsYXk9Im5vbmUifTtjLnBsYXkoKTtyZXR1cm4gY307bUs9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9TnVtYmVyKGEpKzEwO2I/YT8oYT1OdW1iZXIoYSksYj1OdW1iZXIoYiksYz1jP2I8YT9lOmUrMTA6YjxhP2UtMTA6ZSk6Yz1jPzMwOjA6Yz1hPT09IjAiP2U6Yz9lLTEwOmUrMTA7cmV0dXJuIGQtY307ClFlYT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJtb25vIjpzd2l0Y2goYil7Y2FzZSAiZmlsbGVkIjpyZXR1cm4gMTtjYXNlICJ0b25hbCI6cmV0dXJuIDM7Y2FzZSAib3V0bGluZSI6cmV0dXJuIDU7ZGVmYXVsdDpyZXR1cm4gMH1jYXNlICJtb25vLWludmVyc2UiOnN3aXRjaChiKXtjYXNlICJmaWxsZWQiOnJldHVybiAyO2Nhc2UgInRvbmFsIjpyZXR1cm4gNDtjYXNlICJvdXRsaW5lIjpyZXR1cm4gNjtkZWZhdWx0OnJldHVybiAwfWRlZmF1bHQ6cmV0dXJuIDB9fTsKUmVhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe3ZhciB7ZGlzYWJsZWQ6ayxpY29uUG9zaXRpb246bCxzdHlsZTptLGZvY3VzZWQ6bix1c2VPdXRsaW5lZEljb246cCxBYzpyfT1uSyhhKSx0PSgpPT4hIUEoKSYmbCgpPT09Imljb24tb25seSIsdj0oKT0+ISFBKCkmJmwoKT09PSJpY29uLW9ubHktNDAiLHo9KCk9PiEhQSgpJiZsKCk9PT0iaWNvbi13aXRoLWxhYmVsIixFPSgpPT4oaygpPyJkaXNhYmxlZCI6YSgpLnN0YXRlKT09PSJkaXNhYmxlZCJ8fGsoKSxBPSgpPT4hIWJ8fCEhZD8uKCl8fCEhcj8uKCksRj0oKT0+Xy54KCJhbmltYXRlX2ljb25fZGlzYWJsZWRfa2lsbHN3aXRjaCIpP2g/LigpOmg/LigpJiYhRSgpLEM9Xy5QSCgpLEc9KCk9Pl8ub0soYSgpLCEwLEMsYSgpLmlnbm9yZUljb25TaXplT3ZlcnJpZGUpO3JldHVybnt0eXBlOigpPT5tKCk9PT0iY2FsbC10by1hY3Rpb24taW52ZXJzZSI/InRleHQiOm0oKT09PSJvdmVybGF5LWRhcmsiJiZhKCkudHlwZSE9PSJmaWxsZWQiJiYKYSgpLnR5cGUhPT0idG9uYWwiPyJ0b25hbCI6YSgpLnR5cGUsdG46KCk9PihuKCl8fGY/LigpKSYmIWsoKSxJbDooKT0+ISFBKCkmJmwoKT09PSJsZWFkaW5nIixLbDooKT0+ISFBKCkmJmwoKT09PSJ0cmFpbGluZyIsSmw6KCk9PiEhQSgpJiYhKCFjJiYhZT8uKCkpJiZsKCk9PT0ibGVhZGluZy10cmFpbGluZyIsRXc6dCxGdzp2LEd3OnosaWNvbkJ1dHRvbjooKT0+dCgpfHx2KCl8fHooKSxqaTpFLHZ6OigpPT4hYSgpLmlnbm9yZUljb25TaXplT3ZlcnJpZGUmJnBLKGEoKSxBKCkpLG14OmI/YjooKT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjpyfSwoKT0+Xy5LKCJkaXYiLHtzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7RygpfXB4YCxoZWlnaHQ6KCk9PmAke0coKX1weGB9KSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uVyx7ZGF0YTpyfSx7YW5pbWF0ZWRBc3NldFZpZXdNb2RlbDooe2RhdGE6RH0pPT5fLksoXy5xSyx7ZGF0YTpELHNuOiEwfSl9KSkpLF8uSyhfLkRFLApudWxsLCgpPT5fLksoXy5NRCx7aWNvbjpkLFpwOigpPT5hKCkuY3VzdG9tQ29sb3JzPy5tSixzaXplOkcsYWN0aXZlOigpPT5hKCkudG9nZ2xlZCYmIXA/LigpLGFnOigpPT57YSgpfSxHZTpGfSkpKSxhQTpjP2M6KCk9Pl8uSyhfLk1ELHtpY29uOmUsc2l6ZTpHLGFjdGl2ZTooKT0+YSgpLnRvZ2dsZWQmJiFwPy4oKSxhZzooKT0+e2EoKX19KX19OwpuSz1mdW5jdGlvbihhKXtyZXR1cm57c2l6ZTooKT0+YSgpLnNpemUsc3R5bGU6KCk9PmEoKS5zdHlsZSxmb2N1c2VkOigpPT5hKCkuZm9jdXNlZCxkaXNhYmxlZDooKT0+YSgpLmRpc2FibGVkLG9uVGFwOmI9PmEoKS5vblRhcD8uKGIpLG9pOigpPT5hKCkub2ksdWM6KCk9PmEoKS51YyxjdXN0b21Db2xvcnM6KCk9PmEoKS5jdXN0b21Db2xvcnMsc2VnbWVudGVkUG9zaXRpb246KCk9PmEoKS5zZWdtZW50ZWRQb3NpdGlvbix0b2dnbGVkOigpPT5hKCkudG9nZ2xlZCx0b2dnbGVhYmxlOigpPT5hKCkudG9nZ2xlYWJsZSxhY2Nlc3NpYmlsaXR5TGFiZWw6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5TGFiZWwsSGU6KCk9PmEoKS5IZSxvblRvZ2dsZTpiPT5hKCkub25Ub2dnbGU/LihiKSxpY29uUG9zaXRpb246KCk9PmEoKS5pY29uUG9zaXRpb24sb25lT2ZmQ3VzdG9tVGV4dFdyYXA6KCk9PmEoKS5vbmVPZmZDdXN0b21UZXh0V3JhcCxJZjooKT0+YSgpLklmLEFwOigpPT5hKCkuQXAsdG9vbHRpcFRleHQ6KCk9PgphKCkudG9vbHRpcFRleHQsRG46KCk9PmEoKS5EbixhcmlhSGlkZGVuOigpPT5hKCkuYXJpYUhpZGRlbixhcmlhRXhwYW5kZWQ6KCk9PmEoKS5hcmlhRXhwYW5kZWQsdGFiSW5kZXg6KCk9PmEoKS50YWJJbmRleCxidXR0b25UZXh0OigpPT5hKCkuYnV0dG9uVGV4dCxXYTooKT0+YSgpLldhLGFiOigpPT5hKCkuYWIsb25DbGlja1JhdGVMaW1pdE1zOigpPT5hKCkub25DbGlja1JhdGVMaW1pdE1zLG9uSG92ZXI6Yj0+YSgpLm9uSG92ZXI/LihiKSxtaWRkbGVncm91bmRBc3NldDooKT0+YSgpLm1pZGRsZWdyb3VuZEFzc2V0LEFjOigpPT5hKCkuQWMsZGlzYWJsZUxpZ2h0U2hhcGU6KCk9PmEoKS5kaXNhYmxlTGlnaHRTaGFwZSx1c2VPdXRsaW5lZEljb246KCk9PmEoKS51c2VPdXRsaW5lZEljb259fTsKcEs9ZnVuY3Rpb24oYSxiKXtiPShhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHkifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHktNDAifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLXdpdGgtbGFiZWwiKSYmYjtyZXR1cm4hYS5zZWdtZW50ZWRQb3NpdGlvbiYmYiYmYS5zaXplPT09IlMifTsKXy5vSz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jKCk7aWYoXy54KCJ3ZWJfYnV0dG9uX2ljb25fc2l6ZV9leHBlcmltZW50Iikpe2E6e2M9Xy5mSyhlPy4oU2VhKSk/PzEyO3ZhciBmPV8uZksoZT8uKFRlYSkpPz8xODtlPV8uZksoZT8uKHJLKSk/PzI0O2xldCBoPWEuaWNvblBvc2l0aW9uPT09Imljb24tb25seSImJiFhLnNlZ21lbnRlZFBvc2l0aW9ufHxhLmljb25Qb3NpdGlvbj09PSJpY29uLW9ubHktNDAifHxhLmljb25Qb3NpdGlvbj09PSJpY29uLXdpdGgtbGFiZWwiO3N3aXRjaChhLnNpemUpe2Nhc2UgIlhTIjphPWM7YnJlYWsgYTtjYXNlICJTIjphPSFkJiZwSyhhLGIpP2U6ZjticmVhayBhO2Nhc2UgIk0iOmE9aD9lOmY7YnJlYWsgYTtkZWZhdWx0OmE9ZX19cmV0dXJuIGF9Yz1fLmZLKGU/LihVZWEpKT8/MTY7Zj1fLmZLKGU/LihySykpPz8yNDtzd2l0Y2goYS5zaXplKXtjYXNlICJYUyI6cmV0dXJuIGM7Y2FzZSAiUyI6cmV0dXJuIWQmJnBLKGEsYik/ZjpjO2RlZmF1bHQ6cmV0dXJuIGZ9fTsKVmVhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJmaWxsZWQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRGaWxsZWQiO2Nhc2UgIm91dGxpbmUiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdXRsaW5lIjtjYXNlICJ0b25hbCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFRvbmFsIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRUZXh0In19OwpXZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImNhbGwtdG8tYWN0aW9uIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uIjtjYXNlICJjYWxsLXRvLWFjdGlvbi1vdmVybGF5IjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uT3ZlcmxheSI7Y2FzZSAibW9ubyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8iO2Nhc2UgIm92ZXJsYXkiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5IjtjYXNlICJvdmVybGF5LWRhcmsiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRPdmVybGF5RGFyayI7Y2FzZSAiY2FsbC10by1hY3Rpb24taW52ZXJzZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dENhbGxUb0FjdGlvbkludmVyc2UiO2Nhc2UgIm1vbm8taW52ZXJzZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm9JbnZlcnNlIjtjYXNlICJicmFuZC1ncmFkaWVudCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEJyYW5kR3JhZGllbnQiOwpjYXNlICJnZW4tYWktZ3JhZGllbnQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRHZW5BaUdyYWRpZW50IjtjYXNlICJyYWlzZWQiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRSYWlzZWQiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE1vbm8ifX07WGVhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJYUyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVYcyI7Y2FzZSAiUyI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVTIjtjYXNlICJMIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZUwiO2Nhc2UgIlhMIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhsIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTSJ9fTsKWWVhPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9Xy5oSygpO18ubkUoKCk9PntiJiYoYSgpP2Muai5zZXQoYix2b2lkIDApOmMuai5kZWxldGUoYiksa0soYykpfSwib0dRY2ljIik7Xy5ZdSgoKT0+e2Muai5kZWxldGUoYik7a0soYyl9KX19O18udEs9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJuTzVkVGQiKTtyZXR1cm4gXy5ZSn07Xy5xSz1fLmNEKCgpPT5fLnRLKCksImFuaW1hdGVkQXNzZXRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYW5pbWF0ZWRBc3NldFZpZXdNb2RlbCIsIm5PNWRUZCIsXy50Syl9KTt2YXIgT2VhPXtkdXJhdGlvbjoxRTMsZWFzaW5nOiJlYXNlIixmaWxsOiJmb3J3YXJkcyJ9LHVLPV8uTChhPT57dmFyIGI9Xy51RSgiYW5pbWF0ZWQtcm9sbGluZy1jaGFyYWN0ZXIiKSxjPXZvaWQgMCxkPV8uTigoKT0+bEsoYS5KYz8uKCkpfHxsSyhhLnhlPy4oKSksdm9pZCAwLCJxU0REOWQiKSxbZSxmXT1fLkooMCx2b2lkIDAsIlNJZ0tEZCIpO18ub0YoKCk9PntpZih3aW5kb3cuUmVzaXplT2JzZXJ2ZXImJl8ueCgid2ViX2ZpeF9yb2xsaW5nX251bWJlcnNfem9vbV9zYWZhcmkiKSl7bGV0IGg9bmV3IF8uV3QoKCk9Pnt2YXIgbD1NYXRoLnJvdW5kKChiLnZhbHVlLnF1ZXJ5U2VsZWN0b3IoImRpdiIpPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ/PzApKjEwMCkvMTAwO2wmJmYobCl9LDUwMCksaz1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9PntoLnYoKX0pO2sub2JzZXJ2ZShiLnZhbHVlKTtfLll1KCgpPT57ay5kaXNjb25uZWN0KCk7aC5kaXNwb3NlKCl9KX19KTtfLm5FKCgpPT4Ke3ZhciBoPV8ueCgid2ViX2ZpeF9yb2xsaW5nX251bWJlcnNfem9vbV9zYWZhcmkiKT9lOmEuQmg7aWYoaCgpKXtjPy5jYW5jZWwoKTtpZihkKCkpe3ZhciBrPWEueGU/LigpP051bWJlcihhLnhlKCkpKzEwOmEuRWQoKT8wOjMwO2EueGI/LigpfHwoay09bUsoYS5KYz8uKCksYS54ZT8uKCksYS5FZCgpLGspKX1lbHNlIGlmKGs9YS5FZCgpPzA6MiwhYS54Yj8uKCkpe3ZhciBsPWEuRWQoKT8tMToxO2stPWx9Yi52YWx1ZS5zdHlsZS5tYXJnaW5Ub3A9YC0ke2sqaCgpfXB4YDthLnhiPy4oKT9jPVBlYShiLnZhbHVlLGEuSmM/LigpLGEueGU/LigpLGEuRWQoKSxrLGQoKSxoKCkpOmIudmFsdWUuc3R5bGUuZGlzcGxheT1hLkpjPy4oKT8iIjoibm9uZSJ9fSwiTko0Z0EiKTtyZXR1cm4gXy5LKCJhbmltYXRlZC1yb2xsaW5nLWNoYXJhY3RlciIse2VsOmIsY2xhc3M6ImFuaW1hdGVkUm9sbGluZ0NoYXJhY3Rlckhvc3QifSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKFplYSxudWxsKSxXOigpPT4KXy5LKCRlYSx7SmM6YS5KY30pfSkpfSwiZ2EiKTt1Sy5pZG9tQ29tcGF0PSEwO3ZhciBaZWE9Xy5MKCgpPT57dmFyIGE9W107Zm9yKGxldCBiPTE7YjwzMDtiKyspYS5wdXNoKF8uSygiZGl2IixudWxsLGIlMTApKTtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoImRpdiIsbnVsbCwiXHUwMGEwIiksYSxfLksoImRpdiIsbnVsbCwiXHUwMGEwIikpfSwiaGEiKSwkZWE9Xy5MKCh7SmM6YX0pPT5fLksoXy5JQixudWxsLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSxfLksoXy5PLHtBOigpPT4hYT8uKCl8fC9eW1xzXHhhMF0qJC8udGVzdChhPy4oKSksdGhlbjooKT0+Xy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpLFc6KCk9Pl8uSygiZGl2IixudWxsLGEpfSksXy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpKSwiaWEiKTt2YXIgdks9Xy5MKGE9Pnt2YXIgYj12b2lkIDAsYz12b2lkIDA7Xy5uRSgoKT0+e2I9YS5YYigpO2M9YS5udW1iZXJWYWx1ZT8uKCl9LCJyN3RxUWQiKTt2YXIgZD1fLk4oKCk9PntpZighYS5YYigpKXJldHVybltdO3ZhciBlPWEuUXA/LigpfHwhY3x8IWEubnVtYmVyVmFsdWU/LigpfHxjPGEubnVtYmVyVmFsdWUoKSxmPWEuWGIoKSxoPWEuZ2g/LigpP2EuaGVpZ2h0UHgoKSphLmdoKCk6YS5oZWlnaHRQeCgpLGs9ISFhLnhiPy4oKSxsPVtdLG09MCxuPTAscD0oYj9iLnJlcGxhY2UoL1xEL2csIiIpLmxlbmd0aDowKS0oZj9mLnJlcGxhY2UoL1xEL2csIiIpLmxlbmd0aDowKSxyPWI/Yi5zcGxpdCgvKFxkKS8pLmZpbHRlcihCb29sZWFuKTpbXTtmb3IoZj1mLnNwbGl0KC8oXGQpLykuZmlsdGVyKEJvb2xlYW4pO3A8MDspe3ZhciB0PWZbbl07bC5wdXNoKHtKYzp0LEVkOmUsQmg6aCx4YjprfSk7bisrO2xLKHQpJiZwKyt9Zm9yKDttPHA7KXQ9clttXSxsLnB1c2goe3hlOnQsRWQ6ZSwKQmg6aCx4YjprfSksbSsrLGxLKHQpfHxwKys7Zm9yKDtuPGYubGVuZ3RoOylwPWZbbl0sdD1yW21dLGxLKHApPT09bEsodCk/KG4rKyxtKyspOmxLKHApPyhtKysscD12b2lkIDApOmxLKHQpJiYobisrLHQ9dm9pZCAwKSxsLnB1c2goe0pjOnAseGU6dCxFZDplLEJoOmgseGI6a30pO3JldHVybiBsfSx2b2lkIDAsIndtbkhSIik7cmV0dXJuIF8uSygieXQtYW5pbWF0ZWQtcm9sbGluZy1udW1iZXIiLHtjbGFzczoiYW5pbWF0ZWRSb2xsaW5nTnVtYmVySG9zdCIsc3R5bGU6KCk9PmEuWGIoKT9bYGhlaWdodDogJHthLmdoPy4oKT9hLmhlaWdodFB4KCkqYS5naCgpOmEuaGVpZ2h0UHgoKX1weDtgLGBsaW5lLWhlaWdodDogJHthLmhlaWdodFB4KCl9cHg7YF0uam9pbigiICIpOiIiLGRpcjoibHRyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uZ0cse3BhOmQsdGI6IklOREVYIn0sZT0+Xy5LKHVLLHtKYzooKT0+ZSgpLkpjLHhlOigpPT5lKCkueGUsQmg6KCk9PmUoKS5CaCxFZDooKT0+CmUoKS5FZCx4YjooKT0+ZSgpLnhifSkpKX0sImthIik7dksuaWRvbUNvbXBhdD0hMDt2YXIgYWZhPVsibW9ubyIsIm1vbm8taW52ZXJzZSIsIm92ZXJsYXkiXSxiZmE9WyJmaWxsZWQiXTt2YXIgd0s9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHhLO2E6e3ZhciB5Sz1fLmJjKCk7eUs9eUsudG9Mb3dlckNhc2UoKTtpZih5Sy5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeks9eUsubWF0Y2goL2FuZHJvaWRccyooXGQrKFwuXGQrKT8pW147fCldKls7KV0vKTtpZih6Syl7bGV0IGE9cGFyc2VGbG9hdCh6S1sxXSk7aWYoYTwxMDApe3hLPWE7YnJlYWsgYX19dmFyIEFLPXlLLm1hdGNoKCIoIitPYmplY3Qua2V5cyh3Sykuam9pbigifCIpKyIpIik7eEs9QUs/d0tbQUtbMF1dOjB9ZWxzZSB4Sz12b2lkIDB9Xy5CSz14Sz49MDt2YXIgQ0ssRks7e3ZhciBESz1fLmJjKCk7bGV0IGE9REsubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighYXx8YS5sZW5ndGg8MilDSz12b2lkIDA7ZWxzZXt2YXIgRUs9REsubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsgKFU7ICk/Q1BVIChpUGhvbmUgKT9PUyAoXGQrX1xkKVtfIF0vKTtDSz1FSyYmRUsubGVuZ3RoPT09Nj9OdW1iZXIoRUtbNV0ucmVwbGFjZSgiXyIsIi4iKSk6MH19Rks9Q0s7Xy5HSz1GSz49MDt2YXIgVWVhPXt5dFN5c01lYXN1cmVtZW50UmVmZXJlbmNlOiJZVF9TWVNfTUVBU1VSRU1FTlRfUkVGRVJFTkNFX0lDT05fU0laRV9DT05ERU5TRUQifSxySz17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfQ09NRk9SVEFCTEUifSxTZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX01JTkkifSxUZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX0NPTVBBQ1QifSxjZmE9Xy5MKGE9Pl8uSyhfLk8se0E6YS51Yyx0aGVuOmI9Pl8uSyhfLm5ILHt1YzpiLGRpc2FibGVkOmEuZGlzYWJsZWQsY2xhc3NOYW1lOmEuY2xhc3NOYW1lLHN0eWxlOmEuc3R5bGUsdGl0bGU6YS50aXRsZSxhcmlhTGFiZWw6YS5hcmlhTGFiZWwsSGU6YS5IZSxhcmlhQ3VycmVudDooKT0+YS50b2dnbGVhYmxlPy4oKSYmCmEudG9nZ2xlZD8uKCksYXJpYUV4cGFuZGVkOmEuYXJpYUV4cGFuZGVkLHJlZjphLnJlZixvbkhvdmVyOmEub25Ib3Zlcn0sYS5jaGlsZHJlbiksVzooKT0+Xy5LKCJidXR0b24iLHtlbDpfLnJGKGEucmVmKSwib246Y2xpY2siOmEub25DbGljaywib246bW91c2VlbnRlciI6YS5vbkhvdmVyLGNsYXNzOmEuY2xhc3NOYW1lLHRpdGxlOmEudGl0bGUsc3R5bGU6YS5zdHlsZSxkaXNhYmxlZDphLmRpc2FibGVkLCJhcmlhLXByZXNzZWQiOigpPT5hLnRvZ2dsZWFibGU/LigpPyEhYS50b2dnbGVkPy4oKTp2b2lkIDAsImFyaWEtbGFiZWwiOmEuYXJpYUxhYmVsLCJhcmlhLWRlc2NyaWJlZGJ5IjphLkhlLCJhcmlhLWRpc2FibGVkIjphLmppLCJhcmlhLWhpZGRlbiI6YS5hcmlhSGlkZGVuLCJhcmlhLWV4cGFuZGVkIjphLmFyaWFFeHBhbmRlZCx0YWJpbmRleDooKT0+YS50YWJJbmRleD8uKCk/PygoXy5Pa3x8Xy5yeigpKSYmXy54KCJ3ZWJfZW5hYmxlX3NhZmFyaV9idXR0b25fdGFiaW5kZXhfZml4Iik/CjA6dm9pZCAwKX0sYS5jaGlsZHJlbil9KSwibGEiKSxkZmE9Xy5MKCh7ZGF0YTphLElsOmIsSmw6YyxLbDpkLGljb25CdXR0b246ZSxpeDpmLFp6OmgsaWNvbjprLHNlY29uZGFyeUljb246bCxVQTptLEp5Om4samk6cCxkaXNhYmxlTGlnaHRTaGFwZTpyfSk9Pnt2YXIgdD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5lSykpLHY9Xy5JRSh7Y29sb3I6KCk9PmEoKS5jdXN0b21Db2xvcnM/Lmljb25Db2xvcn0pO3JldHVybiBfLksoSEsse2NsYXNzTmFtZToiIixzdHlsZToiZGlzcGxheTogaW5oZXJpdDsganVzdGlmeS1jb250ZW50OiBjZW50ZXIifSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJWNHoxVWMiLEE6KCk9PmsmJihiKCl8fGMoKXx8ZT8uKCkpLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSygiZGl2Iix7Y2xhc3M6ZixzdHlsZTp2LCJhcmlhLWhpZGRlbiI6InRydWUifSxrPy4oKSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToib2szYnRiIixBOigpPT4oYSgpLmJ1dHRvblRleHR8fAphKCkuYWJ8fGEoKS5XYSkmJiFlPy4oKSx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoSUsse2NsYXNzTmFtZTptLGljb25Qb3NpdGlvbjooKT0+YSgpLmljb25Qb3NpdGlvbix0ZXh0OigpPT5hKCkuYnV0dG9uVGV4dCxvbmVPZmZDdXN0b21UZXh0V3JhcDooKT0+YSgpLm9uZU9mZkN1c3RvbVRleHRXcmFwLFdhOigpPT5hKCkuV2EsYWI6KCk9PmEoKS5hYn0pKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IkRPNVJ6IixBOmQsdGhlbjooKT0+Xy5LKEhLLG51bGwsXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOnZ9LGs/LigpKSl9KSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJibm9qU2MiLEE6Yyx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoImRpdiIse2NsYXNzOmgsc3R5bGU6dn0sbD8uKCkpKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IkhOM2thZCIsQTooKT0+IWEoKS5kaXNhYmxlZCYmISh0Py5XbyYmIXA/LigpKSx0aGVuOigpPT5fLksoXy5qSyx7bW9kZWw6KCk9Pnt2YXIgej0KYSgpO3JldHVybntjb2xvcjp6LnN0eWxlPT09Im92ZXJsYXktZGFyayI/NDp6LnN0eWxlPT09Im92ZXJsYXkiP3oudHlwZT09PSJmaWxsZWQiPzQ6Mzp6LnR5cGU9PT0iZmlsbGVkInx8ei5zdHlsZT09PSJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlInx8ei5zdHlsZT09PSJtb25vLWludmVyc2UiPzI6MX19fSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWlkZGxlZ3JvdW5kQXNzZXR9LHthbmltYXRlZEFzc2V0Vmlld01vZGVsOih7ZGF0YTp6fSk9Pl8uSyhfLnFLLHtkYXRhOnosY2xhc3NOYW1lOm4sc246ITB9KX0pLF8uSyhfLk8se0E6KCk9PnQ/Lkl1JiYhcD8uKCkmJiFyPy4oKSx0aGVuOigpPT5fLksoXy55RSx7Y29uZmlnOigpPT57dmFyIHo9YSgpLEU9ei5zdHlsZSxBPXoudHlwZSxGPV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSk7cmV0dXJue1ZhOlFlYShFLEEpLGprOkY/LlZvJiZBPT09InRvbmFsIixldjp6LmN1c3RvbUNvbG9ycz8uYmFja2dyb3VuZENvbG9yLGR2OnouY3VzdG9tQ29sb3JzPy5ib3JkZXJDb2xvciwKQ0I6Rj8uV299fX0pfSkpfSwibWEiKSxJSz1fLkwoYT0+e3ZhciBiPSgpPT5hLmljb25Qb3NpdGlvbj8uKCk9PT0iaWNvbi13aXRoLWxhYmVsInx8YS5vbmVPZmZDdXN0b21UZXh0V3JhcD8uKCk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6YS5jbGFzc05hbWUsImFyaWEtaGlkZGVuIjooKT0+YS5hcmlhSGlkZGVuPy4oKSYmKCEhYS5hYj8uKCl8fCEhYS5XYT8uKCkpfSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hLmFiPy4oKX0sKCk9Pl8uSyh2Syx7WGI6KCk9PmEuYWIoKS5YYixudW1iZXJWYWx1ZTooKT0+YS5hYigpLm51bWJlclZhbHVlLGhlaWdodFB4OigpPT5hLmFiKCkuaGVpZ2h0UHgsZ2g6KCk9PmEuYWIoKS5naCx4YjooKT0+YS5hYigpLnhiLFFwOigpPT5hLmFiKCkuUXB9KSksXy5LKF8uQ0Use3doZW46KCk9PmEuV2E/LigpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+KHsuLi5hLldhKCksbGluZUJyZWFrTW9kZTpiKCk/IkxJTkVfQlJFQUtfTU9ERV9CWV9XT1JEX1dSQVBQSU5HIjoKYS5XYSgpLmxpbmVCcmVha01vZGUsYWxpZ25tZW50OmIoKT8iVEVYVF9BTElHTk1FTlRfQ0VOVEVSIjphLldhKCkuYWxpZ25tZW50fSksdWI6ITAsbm9XcmFwOigpPT4hYigpfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5hLmljb25Qb3NpdGlvbj8uKCk9PT0iaWNvbi13aXRoLWxhYmVsIiYmYS50ZXh0Py4oKX0sKCk9Pl8uSyhfLlYse3RleHQ6KCk9Pih7Y29udGVudDphLnRleHQoKSxsaW5lQnJlYWtNb2RlOiJMSU5FX0JSRUFLX01PREVfQllfV09SRF9XUkFQUElORyIsYWxpZ25tZW50OiJURVhUX0FMSUdOTUVOVF9DRU5URVIifSksdWI6ITAsbm9XcmFwOiExfSkpLF8uSyhfLkRFLG51bGwsKCk9PmEudGV4dCkpKX0sIm5hIiksZWZhPV8uTChhPT5fLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJrTTdTZ2MiLEE6YS5oYXNMYWJlbCx0aGVuOigpPT5fLksoImxhYmVsIix7Y2xhc3M6YS5jbGFzc05hbWV9LGEuY2hpbGRyZW4sYS50ZXh0Q29udGVudD8uKCkpLFc6KCk9PmEuY2hpbGRyZW59KSwib2EiKSwKSEs9Xy5MKGE9PmEuY2hpbGRyZW4sInBhIik7Xy5KSz1fLkwoKHtkYXRhOmEsaWNvbjpiLGljb25OYW1lOmMsR2U6ZCxzZWNvbmRhcnlJY29uOmUsUXI6ZixYSTpoLGFwOmt9KT0+e18ubUcoKTt2YXIge3NpemU6bCxzdHlsZTptLGRpc2FibGVkOm4sb25UYXA6cCxvaTpyLHVjOnQsY3VzdG9tQ29sb3JzOnYsc2VnbWVudGVkUG9zaXRpb246eix0b2dnbGVkOkUsdG9nZ2xlYWJsZTpBLGFjY2Vzc2liaWxpdHlMYWJlbDpGLG9uVG9nZ2xlOkMsaWNvblBvc2l0aW9uOkcsb25lT2ZmQ3VzdG9tVGV4dFdyYXA6RCxJZjpILEFwOlIsdG9vbHRpcFRleHQ6TSxEbjpTLGFyaWFIaWRkZW46WSxhcmlhRXhwYW5kZWQ6cGEsdGFiSW5kZXg6b2EsYnV0dG9uVGV4dDpVLFdhOmhhLGFiOm1hLG9uQ2xpY2tSYXRlTGltaXRNczp0YSxvbkhvdmVyOlQsbWlkZGxlZ3JvdW5kQXNzZXQ6YmEsZGlzYWJsZUxpZ2h0U2hhcGU6YWF9PW5LKGEpLHt0eXBlOk9hLHRuOkpiLElsOnphLEtsOkxiLEpsOmNjLEV3OmxjLEZ3OlZiLEd3OnRkLGljb25CdXR0b246QmUsCmppOmFkLHZ6Om5zLG14Ok1nLGFBOlpCfT1SZWEoYSxiLGUsYyxmLGgsZCksW2ZmYV09Xy5iSyhNLFMpLExUPXJiPT57cD8uKHJiKTtBKCkmJkM/LihyYil9LE1UPV8uTigoKT0+dGE/LigpLHZvaWQgMCwic2lLeXdiIiksZ2ZhPV8uTigoKT0+TVQoKT9OZWEoTFQsTVQoKSk6TFQsdm9pZCAwLCJ3RFRjTiIpLCRCPV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSk7Yj1fLk4oKCk9PmJhKCl8fCRCPy5JdSx2b2lkIDAsInpVUVJPZSIpO3ZhciBoZmE9WWVhKCgpPT57dmFyIHJiPW0oKSxhaT1PYSgpO3JldHVybiEhXy55KCkucmVzb2x2ZShfLkluKF8uZUspKT8uVm8mJmFmYS5pbmNsdWRlcyhyYikmJmJmYS5pbmNsdWRlcyhhaSl9KTtyZXR1cm4gXy5LKGVmYSx7Y2xhc3NOYW1lOl8uUCgieXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxIb3N0Iix7eXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxJc092ZXJsYXk6KCk9Pm0oKT09PSJvdmVybGF5Inx8bSgpPT09Im92ZXJsYXktZGFyayJ9KSxoYXNMYWJlbDp0ZCwKdGV4dENvbnRlbnQ6KCk9Pl8uSyhJSyx7dGV4dDpVLGNsYXNzTmFtZToieXRTcGVjQnV0dG9uU2hhcGVXaXRoTGFiZWxMYWJlbCIsYXJpYUhpZGRlbjohMCxvbmVPZmZDdXN0b21UZXh0V3JhcDpELGljb25Qb3NpdGlvbjpHLFdhOmhhLGFiOm1hfSl9LF8uSyhjZmEse3VjOnQsY2xhc3NOYW1lOl8uUCgieXRTcGVjQnV0dG9uU2hhcGVOZXh0SG9zdCIsKCk9PlZlYShPYSgpKSwoKT0+YWQoKT92b2lkIDA6V2VhKG0oKSksKCk9PlhlYShsKCkpLHt5dFNwZWNCdXR0b25TaGFwZU5leHREaXNhYmxlZDphZCx5dFNwZWNCdXR0b25TaGFwZU5leHRGb2N1c2VkOkpiLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25UcmFpbGluZzpMYix5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZzp6YSx5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uTGVhZGluZ1RyYWlsaW5nOmNjLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmdOb1RleHQ6KCk9PmNjKCkmJiEoVSgpfHxoYSgpKSwKeXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkJ1dHRvbjooKT0+bGMoKXx8dGQoKSx5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uT25seURlZmF1bHQ6VmIseXRTcGVjQnV0dG9uU2hhcGVOZXh0QWxpZ25CeVRleHQ6cix5dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRTdGFydDooKT0+eigpPT09InN0YXJ0Iix5dFNwZWNCdXR0b25TaGFwZU5leHRTZWdtZW50ZWRFbmQ6KCk9PnooKT09PSJlbmQiLHl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJyaWRlU21hbGxTaXplSWNvbjpucyx5dFNwZWNCdXR0b25TaGFwZU5leHRPbmVPZmZDdXN0b21UZXh0V3JhcENvbnRhaW5lcjpELHl0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVUZXh0RWxsaXBzaXM6SCx5dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVCYWNrZHJvcEZpbHRlckV4cGVyaW1lbnQ6KCk9Pnt2YXIgcmI7aWYocmI9IVIoKSkhKHJiPV8uR0smJkZLPj0xNCkmJihyYj1fLkJLKSYmKHJiPV8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeT49CjgpLHJiPXJiPyFfLngoIndlYl9kaXNhYmxlX2JhY2tkcm9wX2ZpbHRlciIpOiExO3JldHVybiByYn0seXRTcGVjQnV0dG9uU2hhcGVOZXh0RW5hYmxlTGlnaHRUb3VjaFJlc3BvbnNlOigpPT4hISRCPy5XbyYmIWFkKCkseXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlSWNvblNpemU6KCk9Pl8ueCgid2ViX2J1dHRvbl9pY29uX3NpemVfZXhwZXJpbWVudCIpLHl0U3BlY0J1dHRvblNoYXBlTmV4dE1haW5zdGFnZVBhZGRpbmc6KCk9Pl8ueCgid2ViX2J1dHRvbl9tYWluc3RhZ2VfcGFkZGluZyIpfSksc3R5bGU6KCk9Pnt2YXIgcmI9digpO2lmKHJiKXt2YXIgYWk9cmIuY29sb3I7dmFyIE5UPXJiLmJhY2tncm91bmRDb2xvcjtyYj1yYi5ib3JkZXJDb2xvcjt2YXIgcHM9IiI7YWkmJihwcys9YGNvbG9yOiAke2FpfTtgKTtOVCYmKHBzKz1gYmFja2dyb3VuZC1jb2xvcjogJHtOVH07YCk7cmImJihwcys9YGJvcmRlci1jb2xvcjogJHtyYn07YCk7YWk9e3N0eWxlOnBzfX1lbHNlIGFpPQp7fTtyZXR1cm4gYWkuc3R5bGV9LG9uQ2xpY2s6cmI9PntnZmEoKShyYil9LG9uSG92ZXI6cmI9PntUPy4ocmIpfSxkaXNhYmxlZDpuLGFyaWFMYWJlbDpGLHRvZ2dsZWFibGU6QSx0b2dnbGVkOkUsdGl0bGU6KCk9PiFrPy4oKSYmTSgpP00oKToiIixqaTphZCxhcmlhSGlkZGVuOlksYXJpYUV4cGFuZGVkOnBhLHRhYkluZGV4Om9hLHJlZjpyYj0+eyRCPy5WbyYmaGZhKHJiKTtrPy4oKSYmZmZhKHJiKX19LF8uSyhkZmEse2RhdGE6YSxJbDp6YSxKbDpjYyxLbDpMYixpY29uQnV0dG9uOkJlLGljb246TWcsVUE6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRCdXR0b25UZXh0Q29udGVudCIse3l0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudDpifSksaXg6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uIix7eXRTcGVjQnV0dG9uU2hhcGVOZXh0RWxldmF0ZWRDb250ZW50OmJ9KSxaejpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dFNlY29uZGFyeUljb24iLHt5dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnQ6Yn0pLApzZWNvbmRhcnlJY29uOlpCLEp5OiJ5dFNwZWNCdXR0b25TaGFwZU5leHRNaWRkbGVncm91bmRBc3NldCIsamk6YWQsZGlzYWJsZUxpZ2h0U2hhcGU6YWF9KSkpfSwicmEiKTtfLkpLLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aWNvbjohMCxzZWNvbmRhcnlJY29uOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBMZGEsTWRhLE5kYSxPZGE7TGRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5WSC5UZSgpLmdldFN0YXRlKCk7cmV0dXJuIGI/YShjLC4uLmIpOmEoYyl9O18uWEg9ZnVuY3Rpb24oKXtpZihXSClyZXR1cm4gV0g7dmFyIFthLCxiXT1fLkooMCx2b2lkIDAsIk1CMUhiIik7Xy5WSC5UZSgpLnN1YnNjcmliZSgoKT0+e01kYShiKX0pO3JldHVybiBXSD1hfTtNZGE9ZnVuY3Rpb24oYSl7WUh8fChZSD0hMCxQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57YShiPT5iKzEpO1lIPSExfSkpfTtfLlpIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uVkgucHcoKShhLGIpfTtfLmJJPW5ldyBfLlZzKCJTVEFURV9TVE9SRV9UT0tFTiIpO05kYT1uZXcgXy5WcygiU0VMRUNUX1RPS0VOIik7T2RhPW5ldyBfLlZzKCJESVNQQVRDSF9UT0tFTiIpO3ZhciBXSCxZSDtfLlZIPXtwdzooKT0+Xy55KCkucmVzb2x2ZShfLkluKE5kYSkpPz9MZGEsbXc6KCk9Pl8ueSgpLnJlc29sdmUoXy5JbihPZGEpKT8/Xy5WSC5UZSgpLmRpc3BhdGNoLmJpbmQoXy5WSC5UZSgpKSxUZTooKT0+Xy55KCkucmVzb2x2ZShfLmJJKX07WUg9ITE7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uY0k9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uTigoKT0+e18uWEgoKSgpO3JldHVybiBfLlpIKGEpfSx7ZGVidWdOYW1lOiJkOEI2MmMifSwiREVYa2hkIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgaWZhLGpmYSxPSyxOSyxuZmEsUkssb2ZhLHBmYSxUSyxxZmEscmZhLFNLLHNmYSx0ZmEsdWZhLHZmYTtpZmE9ZnVuY3Rpb24oYSxiKXtiLmZvckVhY2goYz0+e3ZhciBkPW51bGw7Yz9kPWMuYXBwbHkobnVsbCxhLmFyZ3MpOihjPUVycm9yKCJyZCIpLGMucGFyYW1zPWEuYWN0aW9uTmFtZSxfLlVpKGMpKTthLnJldHVyblZhbHVlLnB1c2goZCl9KX07amZhPWZ1bmN0aW9uKGEsYixjKXtiLmZvckVhY2goZD0+e3ZhciBlPV8uUkooZCk7ZSYmKGQ9bmV3IF8uT0ooZSwhMCxbZCxjLHZvaWQgMF0pLChlPWEuai5nZXQoZC5hY3Rpb25OYW1lKSkmJmlmYShkLGUpLGQuanx8ZC5yZXR1cm5WYWx1ZS5sZW5ndGghPT0wfHwoZD1uZXcgXy5YaigiVW5oYW5kbGVkIGFjdGlvbiIsZC5hY3Rpb25OYW1lKSxfLldpKGQpKSl9KX07Xy5LSz1mdW5jdGlvbihhKXtyZXR1cm4oYSY0Mjc4MTkwMDgwKT4+PjI0PT09MD9fLmlFKGEsIjEiKTpfLk5EKGEpfTsKXy5NSz1mdW5jdGlvbigpe0xLfHwoTEs9bmV3IGtmYSk7cmV0dXJuIExLfTtPSz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy5hY3Rpb24sZT1jLmVsZW1lbnQ7ZSYmZCYmKGxmYS5pbmNsdWRlcyhiKXx8Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfUkVNSVgifHxhLkQmJmEuRC5BSihlKT9OSyhhLGIsYyk6YS52JiYoYS5vfHwoYS5vPW5ldyBXZWFrTWFwKSxkPWEudi5vYnNlcnZlKGUsKCk9PntOSyhhLGIsYyk7YS5vLmRlbGV0ZShlKX0se1ZiOiEwLHN0YXRlOiJ2aXNpYmxlIn0pLGEuby5zZXQoZSxkKSkpfTtfLlBLPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5CLmdldChiKTtpZihjKXt2YXIgZD1hLmouZ2V0KGMpO2QmJihkZWxldGUgZC5lbGVtZW50LGEuai5zZXQoYyxkKSk7YS5CLmRlbGV0ZShiKTthLnYmJmEubyYmKGM9YS5vLmdldChiKSkmJihhLnYucmYoYyksYS5vLmRlbGV0ZShiKSl9fTsKXy5RSz1mdW5jdGlvbihhLGIsYyl7Xy5QSyhhLGMpO3ZhciBkPWEuai5nZXQoYik7ZHx8KGQ9e30sYS5qLnNldChiLGQpKTtkLmVsZW1lbnQ9YzthLkIuc2V0KGMsYik7T0soYSxiLGQpfTtOSz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy5hY3Rpb247KGM9Yy5lbGVtZW50KSYmZCYmKGpmYShhLkssW2RdLGMpLGEuai5kZWxldGUoYiksYS5CLmRlbGV0ZShjKSxhLlkuYWRkKGIpKX07Cm5mYT1mdW5jdGlvbihhLGIsYyl7aWYoYyYmYilzd2l0Y2goYyl7Y2FzZSAiQlVUVE9OX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1JFTU9WRV9BRFNfQURfU1RBVEUiOnJldHVybihhPV8uSEgoYSxiKSk/e2lzSGlkZGVuOmEuYWRzU3RhdGU9PT0iQURTX1NUQVRFX05PTkUifHxhLmFkc1N0YXRlPT09IkFEU19TVEFURV9VTktOT1dOIn06e2lzSGlkZGVuOiEwfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQ0hBVEJPVF9QRU5ESU5HX1JFU1BPTlNFIjpyZXR1cm57aXNIaWRkZW46ITEsaXNEaXNhYmxlZDohIV8ucUEoYS5lbnRpdGllcywieW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eSIsYik/LmlzUGVuZGluZ1Jlc3BvbnNlfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQk9PTEVBTl9ESVNBQkxFRCI6cmV0dXJue2lzSGlkZGVuOiExLGlzRGlzYWJsZWQ6ISFfLklIKGEsYik/LnZhbHVlfTtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWSI6cmV0dXJuIGE9Cl8ucUEoYS5lbnRpdGllcywiYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eSIsYik/LnN0YXRlLGE9PT0iQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWV9TVEFURV9QRU5ESU5HIj97aXNIaWRkZW46ITEsYXJpYURpc2FibGVkOiEwLGFyaWFCdXN5OiEwLGFjY2Vzc2liaWxpdHlMYWJlbDoiR2VuZXJhdGluZyBzdW1tYXJ5Li4uIixpY29uTmFtZTp2b2lkIDAsQWM6bWZhfTphPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfVU5SRUFEInx8YT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX0ZBSUxFRCI/KGE9YT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX1VOUkVBRCIse2lzSGlkZGVuOiExLGFyaWFEaXNhYmxlZDohMCxhY2Nlc3NpYmlsaXR5TGFiZWw6YT8iVW5yZWFkIHN1bW1hcnkiOiJGYWlsZWQgdG8gZ2VuZXJhdGUgc3VtbWFyeSIsaWNvbk5hbWU6IllUSUNPTl9GSUxMX0RPVF9TMjQiLApBYzp2b2lkIDAsLi4uKGEmJntjdXN0b21Db2xvcnM6e2NvbG9yOiJ2YXIoLS15dC1zcGVjLWNhbGwtdG8tYWN0aW9uKSIsaWNvbkNvbG9yOiJ2YXIoLS15dC1zcGVjLWNhbGwtdG8tYWN0aW9uKSJ9fSl9KTp7aXNIaWRkZW46ITB9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DT01NRVJDRV9UT0tFTl9CQUxBTkNFIjpyZXR1cm4gYT1fLnFBKGEuZW50aXRpZXMsImNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5IixiKSxhPy5zZXJ2ZXJUb2tlbkJhbGFuY2UhPW51bGw/KGE9TnVtYmVyKGEuc2VydmVyVG9rZW5CYWxhbmNlKSxhPWlzTmFOKGEpP3ZvaWQgMDpTdHJpbmcoYS8xRTYpLHtpc0hpZGRlbjohMSxXYTphP3tjb250ZW50OmF9OnZvaWQgMH0pOntpc0hpZGRlbjohMX07ZGVmYXVsdDpyZXR1cm57aXNIaWRkZW46ITF9fX07ClJLPWZ1bmN0aW9uKGEpe3JldHVybnt0ZXh0OmEudG9vbHRpcFRleHQ/PyIiLGxvY2F0aW9uOm9mYShhLnBsYWNlbWVudCksc3R5bGU6YS5zdHlsZSxob3RrZXk6YS5ob3RrZXl9fTtvZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlRPT0xUSVBfVklFV19NT0RFTF9QTEFDRU1FTlRfQk9UVE9NIjpyZXR1cm4iYm90dG9tIjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX1RPUCI6cmV0dXJuInRvcCI7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9MRUZUIjpyZXR1cm4ibGVmdCI7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9SSUdIVCI6cmV0dXJuInJpZ2h0IjtkZWZhdWx0OnJldHVybiJib3R0b20ifX07CnBmYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uUkQoYT8ub25UYXApLGQ9e307YyYmKGQuYko9KCk9PlNLKGEsYyxiPy52YWx1ZT8udmlzdWFsRWxlbWVudCkpO2Q9Xy5iRSh7Ymg6YS5vblRhcCxxZDohMCxBbzpkfSk7cmV0dXJuIGQ/LmhyZWY/ZDp2b2lkIDB9O1RLPWZ1bmN0aW9uKGEsYixjLGQsZSl7Yz17ckM6Y307Xy5kSyhhLHtmb3JtOntjdXJyZW50RGF0YTpjLHNvdXJjZURhdGE6YyxlbGVtZW50OmIsZXZlbnQ6ZH0sLi4uZX0pfTsKcWZhPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9dm9pZCAwO3JldHVybiBoPT57dmFyIGs9Xy5SRChjP2E/Lm9uRGlzYWJsZWRUYXA6YT8ub25UYXApO2lmKGspaWYoZj1mPz9iPy52YWx1ZSxfLngoIndlYl9idXR0b25fdm1fY2xpY2tfY2xpZW50X3ZlX2tpbGxzd2l0Y2giKSlUSyhrLGYsYSxoKTtlbHNle2xldCBsPVNLKGEsayxmPy52aXN1YWxFbGVtZW50KTtpZihlKXtUSyhrLGUsYSxoLHtjbGlja2VkVmlzdWFsRWxlbWVudDpsLGZvcm06e2VsZW1lbnQ6ZX19KTtyZXR1cm59VEsoayxmLGEsaCx7Y2xpY2tlZFZpc3VhbEVsZW1lbnQ6bH0pfWQmJmQoaCl9fTtyZmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXZvaWQgMDtyZXR1cm4gZT0+e3ZhciBmPV8uUkQoYT8ub25Ib3Zlcik7ZiYmKGQ9ZD8/Yj8udmFsdWUsYz9USyhmLGMsYSxlLHtmb3JtOntlbGVtZW50OmN9fSk6VEsoZixkLGEsZSkpfX07ClNLPWZ1bmN0aW9uKGEsYixjKXtiPWI/LmNsaWNrVHJhY2tpbmdQYXJhbXM7YT1hPy5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGU7aWYoYyYmYSYmIWIpcmV0dXJuIGN9OwpzZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0NUQSI6cmV0dXJuImNhbGwtdG8tYWN0aW9uIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9NT05PIjpjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9CUkFORCI6cmV0dXJuIm1vbm8iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVkiOnJldHVybiJvdmVybGF5IjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9PVkVSTEFZX0RBUksiOnJldHVybiJvdmVybGF5LWRhcmsiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EX0dSQURJRU5UIjpyZXR1cm4iYnJhbmQtZ3JhZGllbnQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EX0FJIjpyZXR1cm4iZ2VuLWFpLWdyYWRpZW50IjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9SQUlTRUQiOnJldHVybiJyYWlzZWQiO2RlZmF1bHQ6cmV0dXJuIm1vbm8ifX07CnRmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9GSUxMRUQiOnJldHVybiJmaWxsZWQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfT1VUTElORSI6cmV0dXJuIm91dGxpbmUiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVEVYVCI6cmV0dXJuInRleHQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVE9OQUwiOnJldHVybiJ0b25hbCI7ZGVmYXVsdDpyZXR1cm4idGV4dCJ9fTt1ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0FDVElWRSI6cmV0dXJuImFjdGl2ZSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfSU5BQ1RJVkUiOnJldHVybiJkaXNhYmxlZCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfRElTQUJMRUQiOnJldHVybiJkaXNhYmxlZCI7ZGVmYXVsdDpyZXR1cm4iYWN0aXZlIn19Owp2ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfWFNNQUxMIjpyZXR1cm4iWFMiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfQ09NUEFDVCI6cmV0dXJuIlMiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfREVGQVVMVCI6cmV0dXJuIk0iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfTEFSR0UiOnJldHVybiJMIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TSVpFX1hMQVJHRSI6cmV0dXJuIlhMIjtkZWZhdWx0OnJldHVybiJNIn19O3ZhciBsZmE9WyJicm93c2UtdmlkZW8tbWVudS1idXR0b24iLCJ1bmlmaWVkLXZlcmlmaWVkLWJhZGdlIiwidG9wYmFyLWd1aWRlLW1lbnUiXSxrZmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLks9Xy5TSi5qYygpO3RoaXMuaj1uZXcgTWFwO3RoaXMuQj1uZXcgV2Vha01hcDt0aGlzLlk9bmV3IFNldH1kaXNwb3NlKCl7dGhpcy5EJiZfLmNmKHRoaXMuRCwieXQtdmlzaWJpbGl0eS1tb25pdG9yLXJlZnJlc2hlZCIsdGhpcy5JLCExLHRoaXMpO3RoaXMudiYmdGhpcy52LmRpc3Bvc2UoKX1JKCl7Zm9yKGxldCBbYSxiXW9mIHRoaXMuai5lbnRyaWVzKCkpT0sodGhpcyxhLGIpfX0sTEs7dmFyIG1mYT17YW5pbWF0ZWRBc3NldFZpZXdNb2RlbDp7Z2VuZXJpY0JlaGF2aW9yOnthdXRvcGxheTohMCxsb29wOiEwfSxsb3R0aWVBc3NldDp7dGhlbWVkVXJsOntsaWdodDoiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvbG90dGllL3lvdWNoYXRfYW5pbWF0aW9ucy9wcm9ncmVzc19pbmRpY2F0b3Jfc29sb192MS5qc29uIixkYXJrOiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUveW91Y2hhdF9hbmltYXRpb25zL3Byb2dyZXNzX2luZGljYXRvcl9zb2xvX3YxLmpzb24ifX19fTt2YXIgd2ZhPVsieW91LWNoYXQtZW50cnlwb2ludC1idXR0b24iXTsKXy5IRD1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsc3R5bGU6YyxidXR0b25PdmVycmlkZXM6ZCxhYjplLG9uQ2xpY2s6Zix0YXJnZXQ6aH0pPT57dmFyIGs9Xy51RSgiYnV0dG9uLXZpZXctbW9kZWwiLEQ9PntELmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ5dC1yZW5kZXJpZG9tLWZpbmlzaGVkIix7YnViYmxlczohMCxjYW5jZWxhYmxlOiExLGNvbXBvc2VkOiEwfSkpO3ZhciBIPWEoKS50YXJnZXRJZDtIJiZfLlFLKF8uTUsoKSxILEQpO3JldHVybigpPT57Xy5QSyhfLk1LKCksRCl9fSksbD1fLmNJKEQ9Pm5mYShELGEoKT8uZW50aXR5S2V5LGEoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlKSksbT0oKT0+YSgpPy5lbnRpdHlLZXkmJmEoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlP2woKTp2b2lkIDAsbj0oKT0+Xy54KCJXZWJGRUFsbFN0dWRpb0J5Q2hhbm5lbF9fd2ViX2J1dHRvbl92aWV3X21vZGVsX2VudGl0eV9vdmVycmlkZXMiKT9tKCk6dm9pZCAwLHA9CigpPT57dmFyIEQ9bigpO2lmKEQ/Lmljb25OYW1lIT09dm9pZCAwKXJldHVybiBELmljb25OYW1lO2lmKEQ/LkFjPT09dm9pZCAwKXJldHVybiBhKCk/Lmljb25OYW1lfHxhKCk/Lnl0SWNvbn0scj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKSx0PSgpPT57dmFyIEQ9ZD8uKCksSD1tKCksUj1uKCksTT1EO2EoKT8uYnV0dG9uRW50aXR5U2VsZWN0b3JUeXBlJiYoTT17Li4uRCxkaXNhYmxlZDohIUg/LmlzRGlzYWJsZWR8fCEhRD8uZGlzYWJsZWR9KTtEPWEoKTt2YXIgUz1NLFk9ZT8uKCkscGE9Uj8uYXJpYURpc2FibGVkfHxIPy5pc0Rpc2FibGVkfHxSPy5hcmlhQnVzeXx8TT8uZGlzYWJsZWQ/dm9pZCAwOmY7TT1oPy4oKTtpZihEKXt2YXIgb2E9dGZhKEQudHlwZSk7dmFyIFU9ISFELnRpdGxlfHwhIUQudGl0bGVGb3JtYXR0ZWQ7dmFyIGhhPSEhKEQuaWNvbk5hbWV8fEQuaWNvbkltYWdlfHxELnl0SWNvbnx8RC5sZWFkaW5nQXNzZXQpO1U9aGEmJiFVPyJpY29uLW9ubHkiOgpoYT9ELmljb25Qb3NpdGlvbj09PSJCVVRUT05fVklFV19NT0RFTF9JQ09OX1BPU0lUSU9OX0FCT1ZFIj8iaWNvbi13aXRoLWxhYmVsIjpELmljb25UcmFpbGluZ3x8RC5pY29uUG9zaXRpb249PT0iQlVUVE9OX1ZJRVdfTU9ERUxfSUNPTl9QT1NJVElPTl9UUkFJTElORyI/InRyYWlsaW5nIjoibGVhZGluZyI6dm9pZCAwO1U9PT0iaWNvbi1vbmx5LTQwIiYmKG9hPSJ0ZXh0Iik7aGE9Uz8uc3RhdGU/P3VmYShELnN0YXRlKTt2YXIgbWE9Uz8uZGlzYWJsZWQ/PyhELnN0YXRlPT09IkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0RJU0FCTEVEInx8RC5zdGF0ZT09PSJCVVRUT05fVklFV19NT0RFTF9TVEFURV9JTkFDVElWRSIpO18ueCgid2ViX2J1dHRvbl92bV9yZWZhY3Rvcl9kaXNhYmxlZCIpJiYobWE9Uz8uZGlzYWJsZWQ/P2hhPT09ImRpc2FibGVkIik7WT1ZJiZZLlhiJiYhaXNOYU4oTnVtYmVyKFkubnVtYmVyVmFsdWUpKT9ZOnZvaWQgMDt2YXIgdGE9RC50aXRsZSxUPUQudGl0bGVGb3JtYXR0ZWQsCmJhPUQuYWNjZXNzaWJpbGl0eVRleHQsYWE9c2ZhKEQuc3R5bGUpLE9hPXZmYShELmJ1dHRvblNpemUpO3BhPXFmYShELGssbWEscGEsTSk7dmFyIEpiPW1hJiYhRC5vbkRpc2FibGVkVGFwLHphPXBmYShELGspLExiPUQuY3VzdG9tRm9udENvbG9yLGNjPUQuY3VzdG9tQmFja2dyb3VuZENvbG9yO3ZhciBsYz1ELmN1c3RvbUJvcmRlckNvbG9yO2xldCB0ZD1ELmN1c3RvbURhcmtUaGVtZUZvbnRDb2xvcixCZT1ELmN1c3RvbURhcmtUaGVtZUJhY2tncm91bmRDb2xvcjt2YXIgVmI9RC5jdXN0b21EYXJrVGhlbWVCb3JkZXJDb2xvcjtMYj1yJiZ0ZD90ZDpMYjtjYz1yJiZCZT9CZTpjYztsYz1yJiZWYj9WYjpsYztsYz17Y29sb3I6TGI/Xy5ORChMYik6dm9pZCAwLGJhY2tncm91bmRDb2xvcjpjYz9fLk5EKGNjKTp2b2lkIDAsYm9yZGVyQ29sb3I6bGM/Xy5ORChsYyk6dm9pZCAwfTtWYj1fLkIoRC50b29sdGlwRGF0YSxfLmNLKTtjYz1fLkIoRC5kaXNhYmxlZFRvb2x0aXBEYXRhLF8uY0spOwpEPXtidXR0b25UZXh0OnRhLFdhOlQsYWI6WSxhY2Nlc3NpYmlsaXR5TGFiZWw6YmEsc3R5bGU6YWEsdHlwZTpvYSxzdGF0ZTpoYSxzaXplOk9hLGljb25Qb3NpdGlvbjpVLG9uVGFwOnBhLGRpc2FibGVkOkpiLHVjOnphLGN1c3RvbUNvbG9yczpsYyx0b29sdGlwVGV4dDpELnRvb2x0aXAsRG46bWEmJmNjP1JLKGNjKTpWYj9SSyhWYik6dm9pZCAwLG9uSG92ZXI6cmZhKEQsayxNKSxtaWRkbGVncm91bmRBc3NldDpELm1pZGRsZWdyb3VuZEFzc2V0LEFjOkQubGVhZGluZ0Fzc2V0LC4uLlN9fWVsc2UgRD17c3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUiLHNpemU6Ik0ifTtELmZvY3VzZWQ9RigpO1I/LmFjY2Vzc2liaWxpdHlMYWJlbCE9PXZvaWQgMCYmKEQuYWNjZXNzaWJpbGl0eUxhYmVsPVIuYWNjZXNzaWJpbGl0eUxhYmVsKTtSPy5jdXN0b21Db2xvcnMhPT12b2lkIDAmJihELmN1c3RvbUNvbG9ycz1SLmN1c3RvbUNvbG9ycyk7Uj8uQWMhPT12b2lkIDA/KEQuQWM9ClIuQWMsRC5pY29uUG9zaXRpb249Imljb24tb25seSIpOlI/Lmljb25OYW1lIT09dm9pZCAwJiYoRC5BYz12b2lkIDAsRC5pY29uUG9zaXRpb249Imljb24tb25seSIpO0g/LldhJiYoRC5XYT1ILldhKTtyZXR1cm4gRH0sdj1fLlBIKCksej0oKT0+e3ZhciBEPXQoKTtyZXR1cm4gXy5vSyhELCEhcCgpfHwhIUQuQWMsdil9LFtFLEFdPV8uSighMSx2b2lkIDAsIlBwbk5BIiksRj1FO18ubkUoKCk9Pnt2YXIgRD1fLkIoYSgpPy5vblZpc2libGUsXy5PRCk7RCYmXy5hRShELHttZDohMH0pfSwiZWZldXkiKTt2YXIgQz0oKT0+e3ZhciBEPWEoKT8uaWNvbkltYWdlO3JldHVybiBEP3tzb3VyY2VzOltEXX06dm9pZCAwfSxHPUhUTUxFbGVtZW50LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgicG9wb3ZlciIpO3JldHVybiBfLksoImJ1dHRvbi12aWV3LW1vZGVsIix7ZWw6ayxjbGFzczpfLlAoInl0U3BlY0J1dHRvblZpZXdNb2RlbEhvc3QiLGIsKCk9Pnt2YXIgRD1hKCk/LnRhcmdldElkOwppZihEKXJldHVybiB3ZmEuaW5jbHVkZXMoRCk/RDp2b2lkIDB9KSwib246Zm9jdXNpbiI6ZnVuY3Rpb24oKXt2YXIgRD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5qSCkpO0QmJkEoRC5YZSgpKX0sIm9uOmZvY3Vzb3V0IjpmdW5jdGlvbigpe0EoITEpfSwiYXJpYS1kaXNhYmxlZCI6KCk9Pm4oKT8uYXJpYURpc2FibGVkPyJ0cnVlIjp2b2lkIDAsImFyaWEtYnVzeSI6KCk9Pm4oKT8uYXJpYUJ1c3k/InRydWUiOnZvaWQgMH0sXy5LKF8uTyx7QTooKT0+IShtKCk/LmlzSGlkZGVuPz8hMSksdGhlbjooKT0+Xy5LKF8uTyx7QTpDLHRoZW46RD0+Xy5LKF8uSksse2RhdGE6dCxpY29uOigpPT5fLksoXy5qRix7ZGF0YTpELGFsdDoiIixBYjp6LGRjOnosVGE6ITAsWWE6ITB9KSxhcDpHfSksVzooKT0+Xy5LKF8uSksse2RhdGE6dCxpY29uTmFtZTpwLEdlOigpPT4hIWM/LigpPy5hbmltYXRlSWNvbixhcDpHfSl9KX0pKX0sInRhIik7Xy5IRC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQ2xpY2s6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiRGx2RjFkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWUM9bmV3IF8uSSgiYWNjZXNzaWJpbGl0eUNvbnRleHQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5zTD1uZXcgXy5JKCJhdmF0YXJWaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RRj1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKSxjPWEuZGFya1RoZW1lSW1hZ2U/P2EuaW1hZ2U7cmV0dXJuIGI/YzphLmltYWdlfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUkY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJSYXE0Y2IiKTtyZXR1cm4gXy5JRH07Xy5TRj1fLmNEKCgpPT5fLlJGKCksImF2YXRhclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhdmF0YXJWaWV3TW9kZWwiLCJSYXE0Y2IiLF8uUkYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uJEY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJQelVkWmIiKTtyZXR1cm4gXy5FRH07Xy5hRz1fLmNEKCgpPT5fLiRGKCksImJhZGdlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImJhZGdlVmlld01vZGVsIiwiUHpVZFpiIixfLiRGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnVMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiV3FsY1ZiIik7cmV0dXJuIF8ueER9O18udkw9Xy5jRCgoKT0+Xy51TCgpLCJkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsIiwiV3FsY1ZiIixfLnVMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLndMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgidWhsTEdiIik7cmV0dXJuIF8ud0R9O18ueEw9Xy5jRCgoKT0+Xy53TCgpLCJmbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZmxleGlibGVBY3Rpb25zVmlld01vZGVsIiwidWhsTEdiIixfLndMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnlMPWZ1bmN0aW9uKCl7aWYoISgibWF0Y2hNZWRpYSJpbiB3aW5kb3cpKXJldHVybiBfLldpKEVycm9yKCJ0ZCIpKSwoKT0+MDt2YXIgYT13aW5kb3cubWF0Y2hNZWRpYSgiKG1heC13aWR0aDogNTI3LjlweCkiKSxiPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA1MjhweCkgYW5kIChtYXgtd2lkdGg6IDgzOS45cHgpIiksYz13aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjlweCkiKSxkPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAxMDI0cHgpIiksW2UsZl09Xy5KKGEubWF0Y2hlcyx2b2lkIDAsIlRtSUtjYiIpLFtoLGtdPV8uSihiLm1hdGNoZXMsdm9pZCAwLCJaMGZUS2QiKSxbbCxtXT1fLkooYy5tYXRjaGVzLHZvaWQgMCwidzR4eTdiIiksW24scF09Xy5KKGQubWF0Y2hlcyx2b2lkIDAsIkRyYk5DIikscj1FPT57ZihFLm1hdGNoZXMpfSx0PUU9PntrKEUubWF0Y2hlcyl9LHY9RT0+e20oRS5tYXRjaGVzKX0sCno9RT0+e3AoRS5tYXRjaGVzKX07Xy5VSigoKT0+e2EuYWRkRXZlbnRMaXN0ZW5lcj8oYS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpLGIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0KSxjLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdiksZC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHopKTphLmFkZExpc3RlbmVyJiYoYS5hZGRMaXN0ZW5lcihyKSxiLmFkZExpc3RlbmVyKHQpLGMuYWRkTGlzdGVuZXIodiksZC5hZGRMaXN0ZW5lcih6KSk7Xy5ZdSgoKT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oYS5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHIpLGIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0KSxjLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdiksZC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHopKTphLnJlbW92ZUxpc3RlbmVyJiYoYS5yZW1vdmVMaXN0ZW5lcihyKSxiLnJlbW92ZUxpc3RlbmVyKHQpLGMucmVtb3ZlTGlzdGVuZXIodiksCmQucmVtb3ZlTGlzdGVuZXIoeikpfSl9KTtyZXR1cm4oKT0+ZSgpPzE6aCgpPzI6bCgpPzM6bigpPzQ6MH07Xy5BTD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy55KCkucmVzb2x2ZShfLkluKHpMKSksW2UsZl09Xy5KKGQsdm9pZCAwLCJ4R3NSUSIpO2R8fF8uWXQoekwsZik7cmV0dXJuIF8uTigoKT0+e3ZhciBoPWEoKTtyZXR1cm4gaCYmYigpP2UoKT8uKGgsYixjKTp2b2lkIDB9LHZvaWQgMCwiYnNvc2RkIil9O3ZhciB6TD1uZXcgXy5WcygiU0VNQU5USUNfVFlQT0dSQVBIWV9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlRIPWZ1bmN0aW9uKGEpe3JldHVybigpPT5fLkIoYSgpLF8uWUMpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJMPWZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIF8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpP2EuZGFya1RoZW1lOmEubGlnaHRUaGVtZX0sQ0w9bmV3IF8uSSgiYmFkZ2VWaWV3TW9kZWwiKTt2YXIgQ2ZhPW5ldyBfLlZzKCJDT01NT05fTUFSS19WSUVXX01PREVMX1RPS0VOIik7dmFyIERmYTtfLkRMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRnFIY0dlIik7cmV0dXJuIF8udEZ9O0RmYT1fLmNEKCgpPT5fLkRMKCksInNlY3Rpb25IZWFkZXJMYXlvdXQiKTtfLll0KF8uSkQsYT0+e2EuSigic2VjdGlvbkhlYWRlckxheW91dCIsIkZxSGNHZSIsXy5ETCl9KTtfLnZEPV8uTCgoe2NsYXNzTmFtZTphLGRhdGE6YixkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6YyxkaXNhYmxlVmVydGljYWxQYWRkaW5nOmQsVGk6ZSxLbjpmLGlzT3ZlcmxheTpoLEVzOmssZ0w6bCxpSjptfSk9Pnt2YXIgbj1fLlRIKCgpPT5iKCkucmVuZGVyZXJDb250ZXh0KSxwPV8ueUwoKSxyPV8uQUwoKCk9PmIoKS5oZWFkbGluZVR5cG9ncmFwaHlUb2tlbixwLHttYXhMaW5lczoyfSk7cD1fLkFMKCgpPT5iKCkuc3VidGl0bGVUeXBvZ3JhcGh5VG9rZW4scCk7dmFyIHQ9Xy5RSCgoKT0+YigpLmhvcml6b250YWxQYWRkaW5nKSx2PV8uUUgoKCk9PmIoKS50b3BQYWRkaW5nKSx6PV8uUUgoKCk9PmIoKS5ib3R0b21QYWRkaW5nKTtyZXR1cm4gXy5LKCJ5dC1zZWN0aW9uLWhlYWRlci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxIb3N0IixhKSxzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6KCk9PkJMKGIoKS5iYWNrZ3JvdW5kQ29sb3IpPwpfLk5EKEJMKGIoKS5iYWNrZ3JvdW5kQ29sb3IpKTp2b2lkIDB9KX0sXy5LKERmYSx7YXJpYUxhYmVsOigpPT5uKCk/LmxhYmVsLEF3OiExLHRpdGxlOigpPT5fLksoXy5WLHt0ZXh0OigpPT5iKCkuaGVhZGxpbmUsWGE6ITB9KSxraDohMCxzdWJsYWJlbDooKT0+Xy5LKEVmYSx7ZGF0YTpifSksTHc6KCk9PiEhYigpLnN1YmxhYmVsfHwhIWIoKS5ib3R0b21CYWRnZXx8ISFiKCkuYm90dG9tQmFkZ2VzLHN1cGVybGFiZWw6KCk9Pl8uSyhGZmEse2RhdGE6Yn0pLE13OigpPT4hIWIoKS5zdXBlcmxhYmVsfHwhIWIoKS50b3BCYWRnZSxsZWFkaW5nSW1hZ2U6KCk9Pl8uSyhHZmEse2xlYWRpbmdBY2Nlc3Nvcnk6KCk9PmIoKS5sZWFkaW5nQWNjZXNzb3J5fSksSHc6KCk9PiEhYigpLmxlYWRpbmdBY2Nlc3NvcnksdHJhaWxpbmdBY3Rpb25zOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxUcmFpbGluZ0FjdGlvbnNDb250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT4KYigpLnRyYWlsaW5nQWN0aW9uc30se2ZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbDpfLnhMfSksXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb25zQ29udGFpbmVyIn0sXy5LKF8uZ0cse3BhOigpPT5sPy4oKXx8W119LEU9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbENoZXZyb24ifSxFKSkpfSkpLE53OigpPT5tPy4oKXx8ISFiKCkudHJhaWxpbmdBY3Rpb25zLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+Yz8uKCl8fGIoKS5kaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmcsZGlzYWJsZVZlcnRpY2FsUGFkZGluZzooKT0+ZD8uKCl8fGIoKS5kaXNhYmxlVmVydGljYWxQYWRkaW5nLFRpOmUsS246Zixpc092ZXJsYXk6aCxyaDooKT0+ISFfLnNIKGIoKS5yZW5kZXJlckNvbnRleHQpLGhvdmVyRWZmZWN0RW5hYmxlZDooKT0+YigpLmhvdmVyRWZmZWN0RW5hYmxlZCxvbkNsaWNrOkU9Pgp7dmFyIEE9Xy5zSChiKCkucmVuZGVyZXJDb250ZXh0KTtBJiZfLmFFKEEse2Zvcm06e2VsZW1lbnQ6RS50YXJnZXQsZXZlbnQ6RX19KX0sYm90dG9tQWNjZXNzb3J5OigpPT5fLksoXy5XLHtkYXRhOigpPT5iKCkuYm90dG9tQWNjZXNzb3J5fSx7ZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsOih7ZGF0YTpFfSk9Pl8uSyhfLnZMLHtkYXRhOkUsWGM6ITB9KSxjb21tb25NYXJrVmlld01vZGVsOih7ZGF0YTpFfSk9Pl8uSyhfLklCLG51bGwsXy55KCkucmVzb2x2ZShfLkluKENmYSkpPy4oe2RhdGE6RX0pKX0pLHp3OigpPT4hIWIoKS5ib3R0b21BY2Nlc3NvcnksRXM6ayxoZWFkbGluZVR5cG9ncmFwaHlUb2tlbjpyLHN1YnRpdGxlVHlwb2dyYXBoeVRva2VuOnAsanE6dCxmQjp2LEh1Onp9KSl9LCJ3YSIpOwp2YXIgR2ZhPV8uTCgoe2xlYWRpbmdBY2Nlc3Nvcnk6YX0pPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6KCk9PmEoKS5pbWFnZT8/Xy5RRihhKCkudGhlbWVkSW1hZ2UpLHRoZW46Yj0+Xy5LKF8uakYse2RhdGE6YixhbHQ6IiIsVGE6ITAsWWE6ITB9KX0pLF8uSyhfLk8se0E6KCk9Pl8uQihhKCkuYXZhdGFyLF8uc0wpLHRoZW46Yj0+Xy5LKF8uU0Yse2RhdGE6Yn0pfSkpLCJ4YSIpLEVmYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoInNwYW4iLHtjbGFzczpfLlAoe3l0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEJhZGdlV2l0aExhYmVsOigpPT4oISFhKCkuYm90dG9tQmFkZ2VzfHwhIWEoKS5ib3R0b21CYWRnZSkmJiEhYSgpLnN1YmxhYmVsfSl9LF8uSyhfLk8se0E6KCk9Pl8uQihhKCkuYm90dG9tQmFkZ2UsQ0wpLHRoZW46Yj0+Xy5LKF8uYUcse2RhdGE6Yn0pfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJvdHRvbUJhZGdlc30se2JhZGdlVmlld01vZGVsOih7ZGF0YTpifSk9PgpfLksoXy5hRyx7ZGF0YTpiLGNsYXNzOl8uUCgieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VzIil9KX0pKSxfLksoXy5PLHtBOigpPT5hKCkuc3VibGFiZWwsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSwieWEiKSxGZmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS50b3BCYWRnZSxDTCksdGhlbjpiPT5fLksoXy5hRyx7ZGF0YTpiLGNsYXNzOl8uUCh7eXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VXaXRoTGFiZWw6KCk9PiEhYigpJiYhIWEoKS5zdXBlcmxhYmVsfSl9KX0pLF8uSyhfLk8se0E6KCk9PmEoKS5zdXBlcmxhYmVsLHRoZW46Yj0+Xy5LKF8uVix7dGV4dDpifSl9KSksInphIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImN5Q1ZsZCIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgTkg7Tkg9ZnVuY3Rpb24oKXt9O18uT0g9ZnVuY3Rpb24oKXtyZXR1cm4iOiIrKEpkYS5qKyspLnRvU3RyaW5nKDM2KX07Xy53YShOSCk7TkgucHJvdG90eXBlLmo9MDt2YXIgSmRhPU5ILmpjKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRkk9bmV3IF8uVnMoIlNVQk1JVF9BUElfU0VSVklDRV9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgib3NUdHhlIik7cmV0dXJuIF8uQUR9O18ubEw9Xy5jRCgoKT0+Xy5rTCgpLCJiYXNpY0NvbnRlbnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFzaWNDb250ZW50Vmlld01vZGVsIiwib3NUdHhlIixfLmtMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlRGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRGx2RjFkIik7cmV0dXJuIF8uSER9O18uVUY9Xy5jRCgoKT0+Xy5URigpLCJidXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYnV0dG9uVmlld01vZGVsIiwiRGx2RjFkIixfLlRGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLm1MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRnNvWHpjIik7cmV0dXJuIF8uekR9O18ubkw9Xy5jRCgoKT0+Xy5tTCgpLCJjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY29udGVudExpc3RJdGVtVmlld01vZGVsIiwiRnNvWHpjIixfLm1MKX0pO18ub0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwZTJvamIiKTtyZXR1cm4gXy5DRH07Xy5wTD1fLmNEKCgpPT5fLm9MKCksImxpc3RJdGVtVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxpc3RJdGVtVmlld01vZGVsIiwicGUyb2piIixfLm9MKX0pO18ucUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJVQU01bSIpO3JldHVybiBfLnlEfTtfLnJMPV8uY0QoKCk9Pl8ucUwoKSwibG9ja3VwVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxvY2t1cFZpZXdNb2RlbCIsIlVBTTVtIixfLnFMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkZMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVk9VUDlkIik7cmV0dXJuIF8udUR9O18uR0w9Xy5jRCgoKT0+Xy5GTCgpLCJsaW5lYXJMYXlvdXRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGluZWFyTGF5b3V0Vmlld01vZGVsIiwiVk9VUDlkIixfLkZMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS0ksYWVhLCRJLGFKLGJlYTtfLkdJPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE/LmZvcm1JZD09PWI/LmZvcm1JZCYmYT8uZmllbGRJZD09PWI/LmZpZWxkSWR9O18uSEk9ZnVuY3Rpb24oYSl7cmV0dXJuIEVycm9yKCJuZGAiK2EucmVwbGFjZSgvXG5ccyovZywiICIpKX07Xy5JST1mdW5jdGlvbihhKXtyZXR1cm4gRXJyb3IoIm9kYCIrYS5yZXBsYWNlKC9cblxzKi9nLCIgIikpfTtfLkpJPWZ1bmN0aW9uKCl7cmV0dXJue25qOiExLGZiOiEwLHpkOiExLGlzU3VibWl0dGluZzohMSxjczowfX07S0k9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMDtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYSkpe2lmKGQ9PT0iZm9ybUlkIiljb250aW51ZTtsZXQgZT1hW2RdO2Uua2luZD09PTEmJihLSShlLnZhbHVlLGIpfHwoYz0hMSkpfWIoYS5mb3JtSWQpfHwoYz0hMSk7cmV0dXJuIGN9OwpfLk1JPWZ1bmN0aW9uKGEpe3ZhciBiPUxJLmdldChhKTtpZihiKXJldHVybiBiO2I9YS5yZXBsYWNlKC9fKFthLXpBLVowLTldKS9nLChjLGQpPT5kLnRvVXBwZXJDYXNlKCkpO0xJLnNldChhLGIpO3JldHVybiBifTtfLk9JPWZ1bmN0aW9uKCl7Tkk/LihhPT5hKzEpfTtfLlJJPWZ1bmN0aW9uKGEpe1BJP1BJKCk6KFtQSSwsTkldPV8uSigwLHZvaWQgMCwiVnhZMGZiIiksUEkoKSk7cmV0dXJuIF8uUUkuZ2V0KGEpfTtfLlNJPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9Xy5SSShhKTtpZihjKXtpZihiJiZiIT09Yy5VaSl0aHJvdyBfLklJKGBGb3JtIHR5cGUgbWlzbWF0Y2ggZm9yIGZvcm1JZCAke2F9OiBwcm92aWRlZCBmb3JtVHlwZSAiJHtifSIgZG9lcyBub3QgbWF0Y2ggc3RvcmVkIGZvcm1UeXBlICIke2MuVWl9Ii5gKTtyZXR1cm4gYy5mb3JtfX19OwpfLlZJPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUkkoYSk7aWYoIWIpdGhyb3cgXy5USShhKTtpZihiLlNwPT09MClyZXR1cm4gYi5mb3JtO2I9Yi5wZztpZighYil0aHJvdyBfLlVJKGEpO2E9Xy5TSShiLlZ6KTtpZighYSl0aHJvdyBfLkhJKGBGb3JtSWQgJHtiLlZ6fSBub3QgZm91bmQuYCk7cmV0dXJuIGF9O2FlYT1mdW5jdGlvbihhKXt0cnl7dmFyIGI9Xy5WSShhKX1jYXRjaChjKXtyZXR1cm4hMX0oYT1LSShiLGM9Pl8uUUkuZGVsZXRlKGMpKSkmJl8uT0koKTtyZXR1cm4gYX07Xy5XST1mdW5jdGlvbihhLGIpe2lmKGI9PT0iZm9ybUlkIil0aHJvdyBfLklJKCJGaWVsZCBpZCBjYW5ub3QgYmUgZm9ybUlkLiIpO2lmKGE9Xy5TSShhKSlyZXR1cm4gYj1fLk1JKGIpLGFbYl19O18uWEk9ZnVuY3Rpb24oYSl7aWYoYT1fLlJJKGEpKXJldHVybiBhLkRsfTsKXy5aST1mdW5jdGlvbihhKXt2YXIgYj1fLk4oKCk9Pl8uQnYoYSk/P3t9LHtlcXVhbHM6Xy5HSX0sIkxETkxiZCIpLGM9Xy5OKCgpPT57dmFyIHtmb3JtSWQ6ZCxmaWVsZElkOmV9PWIoKTtpZihkJiZlKXt2YXIgZjtpZihmPV8uV0koZCxlKSl7aWYoISgiZnVuY3Rpb24iPT10eXBlb2YgXy5ZSSYmZiBpbnN0YW5jZW9mIF8uWUkpKXRocm93IF8uSUkoYEZpZWxkICR7ZX0gaW4gZm9ybSAke2R9IGlzIG5vdCBhIFNjYWxhckZpZWxkLmApO31lbHNlIGY9dm9pZCAwO3JldHVybiBmfX0sdm9pZCAwLCJvOG8wMGQiKTtyZXR1cm4oKT0+YygpfTskST1mdW5jdGlvbihhLGIpe3ZhciBjPShjPV8uUkkoYSkpP2MuQ246dm9pZCAwO2lmKCFjKXRocm93IF8uSEkoYE1pc3NpbmcgdG9Gb3JtRGF0YSBmdW5jdGlvbiBmb3IgRm9ybUlkICR7YX0uYCk7cmV0dXJuIGMoYil9OwphSj1mdW5jdGlvbihhLGIpe3ZhciBjPShjPV8uUkkoYSkpP2MuQ2w6dm9pZCAwO2lmKCFjKXRocm93IF8uSEkoYE1pc3NpbmcgZm9ybURhdGFFeHRlbnNpb25GaWVsZCBmb3IgRm9ybUlkICR7YX0uYCk7cmV0dXJue1tjXTpifX07CmJlYT1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj1fLlZJKGEpLGM9Xy5YSShhKTt2YXIgZD0oZD1fLlJJKGEpKT9kLnN1Ym1pdENvbmZpZzp2b2lkIDA7dmFyIGU9Xy55KCkucmVzb2x2ZShfLkluKF8uRkkpKSxmPV8uUkkoYSk7ZiYmKGYuWmQ9ey4uLmYuWmQsaXNTdWJtaXR0aW5nOiEwfSxfLk9JKCkpO3RyeXtpZihkJiZlKXtsZXQgaz0kSShhLGIpO3ZhciBoPWFKKGEsayk7bGV0IGw9YXdhaXQgZS5iaShkLnN1Ym1pdElkLGgse3N1Ym1pdEFjdGlvbjoiU1VCTUlUX0FDVElPTl9TVUJNSVNTSU9OIixhbGxGaWVsZHM6ITB9LGQucGFyYW1zLGQuY2xpY2tUcmFja2luZ1BhcmFtcyk7aWYobC5zdWJtaXRFcnJvcil0aHJvdyBiSihsLnN1Ym1pdEVycm9yKTthd2FpdCBjPy5IbT8uKGwpfWVsc2UgYXdhaXQgYz8ub25TdWJtaXQ/LihiKX1jYXRjaChrKXtyZXR1cm4gayBpbnN0YW5jZW9mIEVycm9yP1Byb21pc2UucmVqZWN0KGspOlByb21pc2UucmVqZWN0KGJKKGspKX1maW5hbGx5e2lmKGE9Cl8uUkkoYSkpYS5aZD17Li4uYS5aZCxpc1N1Ym1pdHRpbmc6ITEsY3M6YS5aZC5jcysxfSxfLk9JKCl9fTtfLmNKPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5OKCgpPT5fLkJ2KGEpPz8iIix2b2lkIDAsIkdSbXByIiksZD1fLk4oKCk9Pl8uU0koYygpLGIpLHZvaWQgMCwicGJUZUJiIiksZT1fLk4oKCk9Pnt2YXIgaD1jKCk7cmV0dXJuKGg9Xy5SSShoKSk/aC5aZDpfLkpJKCl9LHZvaWQgMCwidWN2NkxiIiksZj1fLk4oKCk9Pnt2YXIgaD1kKCk7aWYoIWgpcmV0dXJue2Zvcm1EYXRhOnZvaWQgMCxldzp2b2lkIDB9O2g9JEkoYygpLGgpO3JldHVybntmb3JtRGF0YTpoLGV3OmFKKGMoKSxoKX19LHZvaWQgMCwiaEg2MXFjIik7cmV0dXJue2Zvcm06KCk9PmQoKSxkYXRhOigpPT5mKCksc3RhdGU6KCk9PmUoKSxzdWJtaXQ6YXN5bmMoKT0+e2F3YWl0IGJlYShjKCkpfSxkaXNwb3NlOigpPT5hZWEoYygpKX19O18uZEo9U3ltYm9sKCJkZCIpO3ZhciBiSjtfLlRJPWE9Pl8uSEkoYEZvcm0gc2Vzc2lvbiBmb3IgRm9ybUlkICR7YX0gbm90IGZvdW5kLmApO18uVUk9YT0+Xy5ISShgTmVzdGVkIGZvcm0gYWNjZXNzb3IgZm9yIEZvcm1JZCAke2F9IG5vdCBmb3VuZC5gKTtiSj1hPT5fLklJKGBVbmtub3duIGVycm9yIGR1cmluZyBmb3JtIHN1Ym1pc3Npb246ICR7SlNPTi5zdHJpbmdpZnkoYSl9YCk7dmFyIExJPW5ldyBNYXA7dmFyIFBJLE5JO18uUUk9bmV3IE1hcDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEhmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQ0FSRF9TVFlMRV9PVVRMSU5FIjpyZXR1cm4ieXRDYXJkVmlld01vZGVsT3V0bGluZSI7Y2FzZSAiQ0FSRF9TVFlMRV9UT05BTCI6cmV0dXJuInl0Q2FyZFZpZXdNb2RlbFRvbmFsIjtjYXNlICJDQVJEX1NUWUxFX0lOVkVSU0UiOnJldHVybiJ5dENhcmRWaWV3TW9kZWxJbnZlcnRlZCI7ZGVmYXVsdDpyZXR1cm4ieXRDYXJkVmlld01vZGVsUmFpc2VkIn19O3ZhciBITD1uZXcgXy5JKCJzZWN0aW9uSGVhZGVyVmlld01vZGVsIik7dmFyIElmYTtfLklMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVmJYclVlIik7cmV0dXJuIF8uaEh9O0lmYT1fLmNEKCgpPT5fLklMKCksImNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbCIsIlZiWHJVZSIsXy5JTCl9KTt2YXIgSmZhO18uSkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwRVNsRGIiKTtyZXR1cm4gXy5lRn07SmZhPV8uY0QoKCk9Pl8uSkwoKSwidGhlbWVkSW1hZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidGhlbWVkSW1hZ2VWaWV3TW9kZWwiLCJwRVNsRGIiLF8uSkwpfSk7dmFyIEtmYT1uZXcgXy5WcygiQVNLX1NUVURJT19DQVJEX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgTGZhPW5ldyBfLlZzKCJBU0tfU1RVRElPX1ZJREVPX0VESVRfUFJFVklFV19WSUVXX01PREVMX1RPS0VOIik7dmFyIE1mYT1uZXcgXy5WcygiQVVESUVOQ0VfT05MSU5FX0hFQVRNQVBfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBOZmE9bmV3IF8uVnMoIkNPTU1FTlRTX0RJR0VTVF9DT05URU5UX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgT2ZhPW5ldyBfLlZzKCJQUklNRVRJTUVfT0ZGRVJJTkdfSU5fUkVWSUVXX0NBUkRfQ09OVEVOVF9WSUVXX01PREVMX1RPS0VOIik7dmFyIFBmYT1uZXcgXy5WcygiWVRDUF9GVU5ORUxfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBRZmE7Xy5LTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInFWRGdCZCIpO3JldHVybiBfLmRGfTtRZmE9Xy5jRCgoKT0+Xy5LTCgpLCJjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiY2luZW1hdGljQ29udGFpbmVyVmlld01vZGVsIiwicVZEZ0JkIixfLktMKX0pO3ZhciBSZmE7Xy5MTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImk2WG9tZSIpO3JldHVybiBfLlBGfTtSZmE9Xy5jRCgoKT0+Xy5MTCgpLCJyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmFkaW9CdXR0b25JdGVtVmlld01vZGVsIiwiaTZYb21lIixfLkxMKX0pO3ZhciBTZmE7Xy5NTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImJ6ajBqZCIpO3JldHVybiBfLnRMfTtTZmE9Xy5jRCgoKT0+Xy5NTCgpLCJpbmxpbmVFeHBhbmRlclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJpbmxpbmVFeHBhbmRlclZpZXdNb2RlbCIsImJ6ajBqZCIsXy5NTCl9KTt2YXIgVGZhO18uTkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGaU5HT2MiKTtyZXR1cm4gXy5nSH07VGZhPV8uY0QoKCk9Pl8uTkwoKSwiZGlzbWlzc2libGVJdGVtIik7Xy5ZdChfLkpELGE9PnthLkooImRpc21pc3NpYmxlSXRlbSIsIkZpTkdPYyIsXy5OTCl9KTt2YXIgVWZhPW5ldyBfLlZzKCJDT05URU5UX1NFQ1RJT05fVklFV19NT0RFTF9UT0tFTiIpO3ZhciBWZmE7Xy5PTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInVSSWFDIik7cmV0dXJuIF8uQkh9O1ZmYT1fLmNEKCgpPT5fLk9MKCksImNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjaGFubmVsQXR0cmlidXRpb25WaWV3TW9kZWwiLCJ1UklhQyIsXy5PTCl9KTt2YXIgUEw9Xy5MKGE9Pnt2YXIgYj1fLlFIKCgpPT5hLmRhdGEoKS50b3BDb250ZW50UGFkZGluZ1Rva2VuKSxjPV8uUUgoKCk9PmEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1ZhbHVlcz8udG9wUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZD1fLlFIKCgpPT5hLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdWYWx1ZXM/LmJvdHRvbVBhZGRpbmdUb2tlbnx8YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVG9rZW4pLGU9Xy5RSCgoKT0+YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVmFsdWVzPy5ob3Jpem9udGFsUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZj0oKT0+YS5kYXRhKCkuYmFja2dyb3VuZCxoPSgpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbkxheW91dD09PSJDQVJEX1RSQUlMSU5HX0FDVElPTl9MQVlPVVRfT1ZFUkxBWSIsaz0oKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb25MYXlvdXQ9PT0KIkNBUkRfVFJBSUxJTkdfQUNUSU9OX0xBWU9VVF9JTkxJTkVfQ0VOVEVSIixsPV8ueSgpLnJlc29sdmUoXy5JbihVZmEpKSxtPV8ueSgpLnJlc29sdmUoXy5JbihLZmEpKSxuPV8ueSgpLnJlc29sdmUoXy5JbihMZmEpKSxwPV8ueSgpLnJlc29sdmUoXy5JbihOZmEpKSxyPV8ueSgpLnJlc29sdmUoXy5JbihNZmEpKSx0PV8ueSgpLnJlc29sdmUoXy5JbihQZmEpKSx2PV8ueSgpLnJlc29sdmUoXy5JbihPZmEpKSx6PSgpPT5hLmRhdGEoKS5jYXJkU3RhdGU/LmVuYWJsZW1lbnRTdGF0ZT09PSJDQVJEX0VOQUJMRU1FTlRfU1RBVEVfRElTQUJMRUQiLEU9KCk9PiF6KCkmJl8udEgoYS5kYXRhKCkucmVuZGVyZXJDb250ZXh0KSxBPSgpPT57aWYoYS5pc0V4cGFuZGVkPy4oKSE9PXZvaWQgMClyZXR1cm4gYS5pc0V4cGFuZGVkPy4oKTtzd2l0Y2goYS5kYXRhKCkuY2FyZFN0YXRlPy5leHBhbnNpb25TdGF0ZSl7Y2FzZSAiQ0FSRF9FWFBBTlNJT05fU1RBVEVfRVhQQU5ERUQiOnJldHVybiEwOwpjYXNlICJDQVJEX0VYUEFOU0lPTl9TVEFURV9DT0xMQVBTRUQiOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuIGEuaXNTZWxlY3RlZD8uKCl9fTtyZXR1cm4gXy5LKCJ5dC1jYXJkLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbEhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKFRmYSx7Y29udGVudElkOigpPT5hLmRhdGEoKS5jb250ZW50SWR9LCgpPT5fLksoImRpdiIse2VsOl8uckYoXy51SCgoKT0+RSgpP2EuZGF0YSgpLnJlbmRlcmVyQ29udGV4dDp2b2lkIDAsdm9pZCAwLHZvaWQgMCxbIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKSwuLi4oXy54KCJXZWJGRUFsbFN0dWRpb0J5Q2hhbm5lbF9fZW5hYmxlX2FuYWx5dGljc19odWJfd2ViIik/WyJZVC1MSVNULUlURU0tVklFVy1NT0RFTCJdOltdKV0pKSxjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbENhcmRWaWV3TW9kZWxJbm5lciIse3l0Q2FyZFZpZXdNb2RlbENsaWNrYWJsZTpFfSwoKT0+SGZhKGEuZGF0YSgpLmNhcmRTdHlsZSksCnt5dENhcmRWaWV3TW9kZWxDYXJkU2VsZWN0ZWQ6KCk9PiEhYS5pc1NlbGVjdGVkPy4oKX0sKCk9PntpZihhLmlzU2VsZWN0ZWQ/LigpPT09dm9pZCAwKXthOntzd2l0Y2goYS5kYXRhKCkuY2FyZFN0YXRlPy5zZWxlY3Rpb25TdGF0ZSl7Y2FzZSAiQ0FSRF9TRUxFQ1RJT05fU1RBVEVfU0VMRUNURUQiOnZhciBGPSJ5dENhcmRWaWV3TW9kZWxTZWxlY3RlZCI7YnJlYWsgYX1GPXZvaWQgMH1yZXR1cm4gRn19KSxyb2xlOigpPT5FKCkmJiFfLkIoYS5kYXRhKCkudG9wQ29udGVudCxITCk/ImJ1dHRvbiI6dm9pZCAwLCJhcmlhLWRpc2FibGVkIjp6LHRhYmluZGV4OigpPT56KCk/LTE6RSgpJiYhXy5CKGEuZGF0YSgpLnRvcENvbnRlbnQsSEwpPzA6dm9pZCAwfSxfLksoXy5XLHtkYXRhOmYsd3JhcHBlcjpGPT5fLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kV3JhcHBlciJ9LEYoKSl9LHtjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWw6UWZhLHRoZW1lZEltYWdlVmlld01vZGVsOih7ZGF0YTpGfSk9PgpfLksoSmZhLHtkYXRhOkYsY2xhc3NOYW1lOiJ5dENhcmRWaWV3TW9kZWxCYWNrZ3JvdW5kIn0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsQ29udGVudFdyYXBwZXIifSxfLksoXy5PLHtBOigpPT4haCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsVG9wQ29udGVudCIse3l0Q2FyZFZpZXdNb2RlbFRvcENvbnRlbnRQYWRkaW5nOigpPT4hYS5kYXRhKCkuZGlzYWJsZVRvcENvbnRlbnRQYWRkaW5nJiZhLmRhdGEoKS50b3BDb250ZW50fSksc3R5bGU6Xy5JRSh7cGFkZGluZzpifSl9LF8uSyhfLlcse2RhdGE6KCk9PmEuZGF0YSgpLnRvcENvbnRlbnR9LHtjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWw6Xy5uTCxiYXNpY0NvbnRlbnRWaWV3TW9kZWw6Xy5sTCxsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCxsaXN0SXRlbVZpZXdNb2RlbDpfLnBMLApzZWN0aW9uSGVhZGVyVmlld01vZGVsOl8udkR9KSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uIix7eXRDYXJkVmlld01vZGVsSW5saW5lQ2VudGVyVHJhaWxpbmdBY3Rpb246ayx5dENhcmRWaWV3TW9kZWxJbmxpbmVUcmFpbGluZ0FjdGlvbk1hcmdpbjooKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb259KX0sXy5LKF8uVyx7ZGF0YTooKT0+YS5kYXRhKCkudHJhaWxpbmdBY3Rpb259LHtidXR0b25WaWV3TW9kZWw6Xy5VRn0pKSl9KSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRDYXJkVmlld01vZGVsQm90dG9tQ29udGVudFBhZGRpbmc6KCk9PiFhLmRhdGEoKS5kaXNhYmxlQm9keUNvbnRlbnRQYWRkaW5nJiZhLmRhdGEoKS5ib2R5Q29udGVudH0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLXRvcCI6YywicGFkZGluZy1ib3R0b20iOmQsInBhZGRpbmctbGVmdCI6ZSwicGFkZGluZy1yaWdodCI6ZX0pfSxfLksoXy5XLHtkYXRhOigpPT4KYS5kYXRhKCkuYm9keUNvbnRlbnR9LHtiYXNpY0NvbnRlbnRWaWV3TW9kZWw6Xy5sTCxjaGFubmVsQXR0cmlidXRpb25WaWV3TW9kZWw6VmZhLGNvbnRlbnRJbnNwaXJhdGlvbkNvbnZlcnNhdGlvblZpZGVvSWRlYUNhcmRWaWV3TW9kZWw6SWZhLGNvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbDpfLm5MLGRlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbDpfLnZMLGlubGluZUV4cGFuZGVyVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhTZmEse2RhdGE6Rixpc1NlbGVjdGVkOkF9KSxsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCxsaXN0SXRlbVZpZXdNb2RlbDpfLnBMLGxvY2t1cFZpZXdNb2RlbDooe2RhdGE6Rn0pPT5fLksoXy5yTCx7ZGF0YTpGLHdxOiEwfSksLi4uKG0mJnthc2tTdHVkaW9DYXJkVmlld01vZGVsOm19KSwuLi4obiYme2Fza1N0dWRpb1ZpZGVvRWRpdFByZXZpZXdWaWV3TW9kZWw6bn0pLC4uLihyJiZ7YXVkaWVuY2VPbmxpbmVIZWF0bWFwVmlld01vZGVsOnJ9KSwuLi4ocCYmCntjb21tZW50c0RpZ2VzdENvbnRlbnRWaWV3TW9kZWw6cH0pLC4uLihsJiZ7Y29udGVudFNlY3Rpb25WaWV3TW9kZWw6bH0pLC4uLih2JiZ7cHJpbWV0aW1lT2ZmZXJpbmdJblJldmlld0NhcmRDb250ZW50Vmlld01vZGVsOnZ9KSwuLi4odCYme2Z1bm5lbFZpZXdNb2RlbDp0fSl9KSkpLF8uSyhfLk8se0E6KCk9PmgoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxPdmVybGF5VHJhaWxpbmdBY3Rpb24ifSxfLksoXy5XLHtkYXRhOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0se2J1dHRvblZpZXdNb2RlbDpfLlVGfSkpfSksXy5LKF8uTyx7QTp6LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbERpc2FibGVkT3ZlcmxheSIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KX0pKSkpfSwiQWEiKTt2YXIgV2ZhPVsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXSxYZmE9Xy5MKGE9PntmdW5jdGlvbiBiKEgpe2UoKS5pc0Rpc2FibGVkfHwoZj9mKEgudGFyZ2V0LGUoKSxrPy4oKSk6QSghRSgpKSl9ZnVuY3Rpb24gYyhIKXtILmtleT09PSIgIiYmKEgucHJldmVudERlZmF1bHQoKSxILnRhcmdldC5jbGljaygpKX12YXIgZD1fLngoImVuYWJsZV9uYXRpdmVfaW5wdXRfc2VsZWN0YWJsZV9pdGVtIiksZT1hLmRhdGEsZj1hLm9uU2VsZWN0ZWQsaD1hLlNoLGs9YS5ncm91cE5hbWUsbD1hLmNsYXNzTmFtZSxtPWEucm9sZSxuPSJyYWRpbyIrXy5PSCgpLHA9Xy5RSCgoKT0+ZSgpLnZlcnRpY2FsUGFkZGluZ1Rva2VuKSxyPV8uUUgoKCk9PmUoKS5ob3Jpem9udGFsUGFkZGluZ1Rva2VuKSx0PSgpPT5lKCkuY29udGVudCxbdix6XT1fLkooITEsdm9pZCAwLCJVbTdGZ2MiKSxFPXYsQT16LEY9KCk9PiEhZSgpLmlzRGlzYWJsZWQsQz0oKT0+e2lmKGghPT12b2lkIDApe2xldCBIPQpoKCk7cmV0dXJuISghSHx8ZSgpLmtleSE9PUgpfXJldHVybiBFKCl9LEc9KCk9PmghPT12b2lkIDAmJmUoKS5iZWhhdmlvcj09PSJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfRVhQQU5ERURfTk9UX1NFTEVDVEVEIj8hMTpDKCksRD0oKT0+e2lmKGghPT12b2lkIDAmJkMoKSlzd2l0Y2goZSgpLmJlaGF2aW9yKXtjYXNlICJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfU0VMRUNURURfTk9UX0VYUEFOREVEIjpyZXR1cm4hMTtjYXNlICJTRUxFQ1RBQkxFX0lURU1fQkVIQVZJT1JfRVhQQU5ERURfTk9UX1NFTEVDVEVEIjpyZXR1cm4hMH19O3JldHVybiBkP18uSygieXQtc2VsZWN0YWJsZS1pdGVtLXZpZXctbW9kZWwiLHtzdHlsZTpfLklFKHsicGFkZGluZy10b3AiOnAsInBhZGRpbmctYm90dG9tIjpwLCJwYWRkaW5nLWxlZnQiOnIsInBhZGRpbmctcmlnaHQiOnJ9KSxjbGFzczpfLlAoInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxIb3N0IixsLCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsQ29udGFpbmVyIiwKInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVDb250YWluZXIiLHt5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsRGlzYWJsZWQ6Rn0pLCJwcm9wOmNoZWNrZWQiOkd9LF8uSygiaW5wdXQiLHtpZDpuLHR5cGU6InJhZGlvIixuYW1lOmEuZ3JvdXBOYW1lLCJwcm9wOmNoZWNrZWQiOkcsZGlzYWJsZWQ6Riwib246Y2xpY2siOmIsIm9uOmtleWRvd24iOmMsY2xhc3M6Inl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVSYWRpb0J1dHRvbiJ9KSxfLksoImxhYmVsIix7Zm9yOm4sY2xhc3M6Inl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxOYXRpdmVMYWJlbCIsIm9uOmtleWRvd24iOmN9LF8uSyhfLlcse2RhdGE6dH0se2NhcmRWaWV3TW9kZWw6KHtkYXRhOkh9KT0+Xy5LKFBMLHtkYXRhOkgsaXNTZWxlY3RlZDpHLGlzRXhwYW5kZWQ6RH0pfSkpKTpfLksoInl0LXNlbGVjdGFibGUtaXRlbS12aWV3LW1vZGVsIix7c3R5bGU6Xy5JRSh7InBhZGRpbmctdG9wIjpwLCJwYWRkaW5nLWJvdHRvbSI6cCwKInBhZGRpbmctbGVmdCI6ciwicGFkZGluZy1yaWdodCI6cn0pLCJhcmlhLWNoZWNrZWQiOkcsY2xhc3M6Xy5QKCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsSG9zdCIsbCwieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbENvbnRhaW5lciIse3l0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxEaXNhYmxlZDpGfSksIm9uOmNsaWNrIjpmdW5jdGlvbihIKXtpZighZSgpLmlzRGlzYWJsZWQpe3ZhciBSPUguY3VycmVudFRhcmdldDtpZihfLngoIndlYl9zZWxlY3RhYmxlX2l0ZW1fY2hpbGRfdGFwX2tpbGxfc3dpdGNoIikpUj0hMTtlbHNle3ZhciBNPV8ucUgoSCk7Uj1fLnJIKE0sUixXZmEpfVJ8fChmP2YoSC5jdXJyZW50VGFyZ2V0LGUoKSxrPy4oKSk6QSghRSgpKSl9fSwicHJvcDpjaGVja2VkIjpHLHJvbGU6bSwiYXJpYS1kaXNhYmxlZCI6Rix0YWJpbmRleDowfSxfLksoXy5XLHtkYXRhOnR9LHtjYXJkVmlld01vZGVsOih7ZGF0YTpIfSk9Pl8uSyhQTCx7ZGF0YTpILGlzU2VsZWN0ZWQ6RywKaXNFeHBhbmRlZDpEfSl9KSl9LCJCYSIpO18uRUw9Xy5MKGE9PntmdW5jdGlvbiBiKHosRSxBKXt2YXIgRj1jKCkuZm9ybUZpZWxkTWV0YWRhdGEmJm0oKSE9PXZvaWQgMD8zOmQoKT8yOjE7Rj09PTEmJkUua2V5IT1udWxsJiZ0KEUua2V5KTtGPT09MyYmRS5rZXkhPW51bGwmJm0oKT8udXBkYXRlVmFsdWUoRS5rZXkpO2U/Lih6LEUsQSl9dmFyIHtkYXRhOmMsV2I6ZCxvblNlbGVjdGVkOmUsU2g6Zixncm91cE5hbWU6aCxjbGFzc05hbWU6ayxuYTpsfT1fLkRDKGEse1diOiEwfSksbT1fLlpJKCgpPT5jKCkuZm9ybUZpZWxkTWV0YWRhdGEpLG49KCk9Pmg/LigpfHxjKCkua2V5LFtwLHJdPV8uQUMoKCk9PmMoKS5kZWZhdWx0U2VsZWN0ZWRLZXkpLHQ9cix2PSgpPT4oYygpLmZvcm1GaWVsZE1ldGFkYXRhJiZtKCkhPT12b2lkIDA/MzpkKCk/MjoxKT09PTM/bSgpPy52YWx1ZTpkKCk/Zj8uKCk6cCgpO3JldHVybiBfLksoInl0LXJhZGlvLWJ1dHRvbi1ncm91cC12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxIb3N0IiwKayl9LF8uSygiZmllbGRzZXQiLHtjbGFzczoieXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRmllbGRzZXQiLHJvbGU6InJhZGlvZ3JvdXAiLCJhcmlhLWludmFsaWQiOigpPT4hIW0oKT8uZXJyb3JzPy5bMF0sImFyaWEtZGVzY3JpYmVkYnkiOigpPT5tKCk/LmVycm9ycz8uWzBdP2BlcnJvci0ke2MoKS5rZXl9YDp2b2lkIDB9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5yYWRpb0J1dHRvbnN9LHtyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWw6KHtkYXRhOnp9KT0+Xy5LKFJmYSx7ZGF0YTp6LG9uU2VsZWN0ZWQ6YixTaDp2LGdyb3VwTmFtZTpuLG5hOmx9KSxzZWxlY3RhYmxlSXRlbVZpZXdNb2RlbDooe2RhdGE6en0pPT5fLksoWGZhLHtkYXRhOnosb25TZWxlY3RlZDpiLFNoOnYsZ3JvdXBOYW1lOm4scm9sZToicmFkaW8ifSl9KSksXy5LKF8uTyx7QTooKT0+bSgpPy5lcnJvcnM/LlswXSx0aGVuOno9Pl8uSygiZGl2Iix7aWQ6KCk9PmBlcnJvci0ke2MoKS5rZXl9YCxjbGFzczoieXRSYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsRXJyb3IifSwKKCk9PnooKS5tZXNzYWdlKX0pKX0sIkNhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImQyTFR4YiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFFPV8uTCgoe25hbWU6YSxvbkNoYW5nZTpiLG9uQ2xpY2s6YyxjaGVja2VkOmQsWWU6ZSxoazpmLFlpOmgscWo6ayxuYTpsLFZjOm0sYXJpYUxhYmVsOm4sY2xhc3NOYW1lOnAsZGlzYWJsZWQ6cixob3Jpem9udGFsUGFkZGluZzp0LHZlcnRpY2FsUGFkZGluZzp2fSk9Pnt2YXIgej0icmFkaW8iK18uT0goKSxFPV8udUUoImlucHV0IiksQT1fLngoImVuYWJsZV9pb3Nfd2Vidmlld19yYWRpb19idXR0b25fcmVzcG9uc2l2ZW5lc3MiKSxbRixDXT1fLkooITEsdm9pZCAwLCJmTHJYNmQiKTtyZXR1cm4gXy5LKCJyYWRpby1zaGFwZSIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlSG9zdCIscCl9LF8uSygiaW5wdXQiLHtlbDpFLGNsYXNzOl8uUCgieXRSYWRpb1NoYXBlSW5wdXQiLHt5dFJhZGlvU2hhcGVUYXBwYWJsZTooKT0+KCEhYnx8ISFjKSYmIXI/LigpfSksaWQ6eiwicHJvcDpjaGVja2VkIjpkLG5hbWU6YSx0eXBlOiJyYWRpbyIsZGlzYWJsZWQ6ciwib246Y2hhbmdlIjpmdW5jdGlvbihHKXtFLnZhbHVlLmNoZWNrZWQ9CiEhZD8uKCk7Yj8uKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjbGljayI6ZnVuY3Rpb24oRyl7Yz8uKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJhcmlhLWxhYmVsIjpuLCJvbjpmb2N1c2luIjpmdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk/LlhlKCkmJkMoITApfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKCl7QyghMSl9fSksXy5LKCJsYWJlbCIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlTGFiZWxDb250YWluZXIiLGsse3l0UmFkaW9TaGFwZUNvbXBhY3Q6bCx5dFJhZGlvU2hhcGVLZXlib2FyZEZvY3VzZWQ6Rix5dFJhZGlvU2hhcGVUYXBwYWJsZTooKT0+KCEhYnx8ISFjKSYmIXI/LigpLHl0UmFkaW9TaGFwZURpc2FibGVkOnJ9KSxmb3I6en0sXy5LKF8uTyx7QTooKT0+IWg/LigpLHRoZW46KCk9Pl8uSyhTSCx7Y2hlY2tlZDpkLGhrOmYsZ2c6ITAsVmM6bSxEczpBfSl9KSxfLksoXy5PLHtBOigpPT4hIWUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UmFkaW9TaGFwZUxhYmVsIiwKe3l0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2g6QX0pLCJhcmlhLWhpZGRlbiI6KCk9PiEhbj8uKCksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6dCwicGFkZGluZy1yaWdodCI6dCwicGFkZGluZy10b3AiOnYsInBhZGRpbmctYm90dG9tIjp2fSl9LGU/LigpKX0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoU0gse2NoZWNrZWQ6ZCxoazpmLGdnOiExLFZjOm0sRHM6QX0pfSkpKX0sInciKTtfLkFFLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DaGFuZ2U6ITAsb25DbGljazohMCxZZTohMH19Owp2YXIgU0g9Xy5MKCh7aGs6YSxWYzpiLERzOmN9KT0+e3ZhciBkPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJDSVJDTEVfRlVMTCI6IkNJUkNMRSI7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVSYWRpbyIsYix7eXRSYWRpb1NoYXBlQ2hlY2tJY29uOmEseXRSYWRpb1NoYXBlUmFkaW9EZWZhdWx0U3R5bGU6KCk9PiFiPy4oKSx5dFJhZGlvU2hhcGVFdmVudFBhc3N0aHJvdWdoOmN9KSwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uTUQse2ljb246KCk9PmE/LigpPyJDSEVDSyI6IkNJUkNMRSJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YT8uKCk/IkNIRUNLIjpkLGFjdGl2ZTooKT0+IWE/LigpfSkpfSwieCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJ6Q2tLQmMiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5WRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImFjRnVWYyIpO3JldHVybiBfLkdEfTtfLldGPV8uY0QoKCk9Pl8uVkYoKSwiY29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsIiwiYWNGdVZjIixfLlZGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLllGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiZjkwdENiIik7cmV0dXJuIF8uRkR9O18uWkY9Xy5jRCgoKT0+Xy5ZRigpLCJ0b2dnbGVCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidG9nZ2xlQnV0dG9uVmlld01vZGVsIiwiZjkwdENiIixfLllGKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmJHPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiTFZpTU0iKTtyZXR1cm4gXy5ERH07Xy5jRz1fLmNEKCgpPT5fLmJHKCksInN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWwiLCJMVmlNTSIsXy5iRyl9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGRHO18uZUc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy55KCkucmVzb2x2ZShfLkluKGRHKSksW2MsZF09Xy5KKGIsdm9pZCAwLCJIZkRkSyIpO2J8fF8uWXQoZEcsZCk7cmV0dXJuIF8uTigoKT0+e3ZhciBlPWEoKTtyZXR1cm4gZT9jKCk/LihlKTp2b2lkIDB9LHZvaWQgMCwidjcwRTdiIil9O2RHPW5ldyBfLlZzKCJTRU1BTlRJQ19DT0xPUl9SRVNPTFZFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmlIPW5ldyBfLlZzKCJIT1JJWk9OVEFMX0JBUl9WSUVXX01PREVMX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTEg9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBfLnkoKS5yZXNvbHZlKF8uSkgpO3JldHVybiBfLnkoKS5yZXNvbHZlKF8uS0gpKCl9O18uTUg9ZnVuY3Rpb24oKXtyZXR1cm4gXy55KCkucmVzb2x2ZShfLktIKSgpfTtuZXcgXy5jcztfLkpIPW5ldyBfLlZzKCJXQVRDSF9QTEFZRVJfUFJPTUlTRV9UT0tFTiIpO25ldyBfLmNzO18uS0g9bmV3IF8uVnMoIkdFVF9TSE9SVFNfUExBWUVSX0ZVTkNUSU9OX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVUg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPU9iamVjdC5rZXlzKGIpO18ubkUoKCk9PntpZihhPy4oKSl7Zm9yKGxldCBlIG9mIGQpYy5hZGRFdmVudExpc3RlbmVyKGUsYltlXSk7Xy5ZdSgoKT0+e2ZvcihsZXQgZSBvZiBkKWMucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGJbZV0pfSl9fSwiYlhaR2ZlIil9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGRJLFBkYSxmSSxRZGEsaUksU2RhO2RJPWZ1bmN0aW9uKGEpe2lmKGEpc3dpdGNoKGEpe2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1hTTUFMTCI6cmV0dXJuIDE2O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1NNQUxMIjpyZXR1cm4gMTg7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfU1RBTkRBUkQiOnJldHVybiAyNDtjYXNlICJMSVNUX0lURU1fSUNPTl9BQ0NFU1NPUllfU0laRV9MQVJHRSI6cmV0dXJuIDM2O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX1hMQVJHRSI6cmV0dXJuIDQ4O2RlZmF1bHQ6cmV0dXJuIDI0fX07ClBkYT1mdW5jdGlvbihhLGIpe2lmKCFhPy5lbnRpdHlTZWxlY3RvclR5cGV8fCFhPy5lbnRpdHlLZXkpcmV0dXJue307c3dpdGNoKGEuZW50aXR5U2VsZWN0b3JUeXBlKXtjYXNlICJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DQVBUSU9OX0xBTkdVQUdFX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT1fLk1IKCk/LmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpLGI9dHlwZW9mIGE/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U9PT0ib2JqZWN0IiYmYS50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fGE/LmRpc3BsYXlOYW1lfHwiIix7ZGF0YTp7Li4uKCEhYiYme3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yn19KSwuLi4oISFiJiZ7bGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZToiQ0xPU0VEX0NBUFRJT05fU0VMRUNURUQifX1dfX0pLGlzRGlzYWJsZWQ6dHlwZW9mIGE9PT0idW5kZWZpbmVkIn19O2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0FVRElPX1RSQUNLX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT0KXy5NSCgpPy5nZXRBdWRpb1RyYWNrKCl8fHZvaWQgMCxiPWE/LmdldExhbmd1YWdlSW5mbygpPy5nZXROYW1lKCkse2RhdGE6e3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yn0sLi4uKGImJiFhPy5nZXRMYW5ndWFnZUluZm8oKT8uZ2V0SXNEZWZhdWx0KCkmJntsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJQRVJTT05fUkFEQVJfRklMTEVEIn19XX19KX19O2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1BMQVlCQUNLX1NQRUVEX1NFTEVDVElPTl9URVhUIjpyZXR1cm4gYT1fLngoIndlYl9zaG9ydHNfcGxheWJhY2tfcmF0ZV9waWNrZXIiKSxfLmVJWyJjb3VudGVyZmFjdHVhbHMud2ViX3Nob3J0c19wbGF5YmFja19yYXRlX3BpY2tlciJdPVN0cmluZyhhKSxhPyhhPV8uTUgoKT8uZ2V0UGxheWJhY2tSYXRlKCksYj1fLk1IKCk/LmdldEF2YWlsYWJsZVBsYXliYWNrUmF0ZXMoKSxhPXtkYXRhOntzZWxlY3Rpb25UZXh0Ontjb250ZW50OmE9PT0KMT9fLmFBKCJQTEFZRVJfU1BFRURfTk9STUFMIix2b2lkIDAsIk5vcm1hbCIpOl8uYUEoIlBMQVlCQUNLX1NQRUVEX1giLHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyOmAke2E/LnRvRml4ZWQoMil9YH0pfSxpc0Rpc2FibGVkOiFiPy5sZW5ndGh9fSk6YT17fSxhO2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1JFTU9WRV9BRFNfQURfU1RBVEUiOnJldHVybiBhPWE/LmVudGl0eUtleT8oYT1fLkhIKGIsYS5lbnRpdHlLZXkpKT97aXNIaWRkZW46YT8uYWRzU3RhdGUhPT0iQURTX1NUQVRFX1BMQVlJTkcifTp7aXNIaWRkZW46ITB9Ont9LGE7ZGVmYXVsdDpyZXR1cm57fX19O2ZJPWZ1bmN0aW9uKGEpe2lmKGEmJihhPWEuc3BsaXQoIjoiKSxhLmxlbmd0aD4xKSlyZXR1cm4gYVswXS5sZW5ndGg+MD9hWzBdOnZvaWQgMH07UWRhPWZ1bmN0aW9uKGEpe2lmKGEmJiFnSS5oYXMoYSkpe3ZhciBiPWZJKGEpO2ImJmdJLnNldChhLGIpfX07CmlJPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17Li4uaEkoKX07aWYoYiYmYz09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIil7bGV0IGU9ZkkoYSk7ZSYmZ0kuZm9yRWFjaCgoZixoKT0+e2Y9PT1lJiZoIT09YSYmKGRbaF09ITEpfSl9ZFthXT1iO1JkYShkKX07U2RhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2lmKCFjPy4oKSl7dmFyIGU9Zj0+e18uckgoXy5xSChmKSxkLGIpfHxhKGYpfTtkLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlKTtyZXR1cm4oKT0+e2QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLGUpfX19fTtfLmVJPXt9O18uakk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJtbTJOMGMiKTtyZXR1cm4gXy56RX07Xy5rST1fLmNEKCgpPT5fLmpJKCksInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzd2l0Y2hCdXR0b25WaWV3TW9kZWwiLCJtbTJOMGMiLF8uakkpfSk7dmFyIG1JO18ubEk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJoYjBXbWYiKTtyZXR1cm4gXy5YRn07bUk9Xy5jRCgoKT0+Xy5sSSgpLCJhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbCIsImhiMFdtZiIsXy5sSSl9KTt2YXIgVGRhO18ubkk9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJoTmVsdmQiKTtyZXR1cm4gXy5hSX07VGRhPV8uY0QoKCk9Pl8ubkkoKSwibGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWwiLCJoTmVsdmQiLF8ubkkpfSk7dmFyIFVkYTtfLm9JPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicjVDT0hmIik7cmV0dXJuIF8uJEh9O1VkYT1fLmNEKCgpPT5fLm9JKCksImxpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImxpc3RJdGVtVmlld0NvdW50Vmlld01vZGVsIiwicjVDT0hmIixfLm9JKX0pO3ZhciBwST1fLkwoKHtkYXRhOmEsZ2c6YixjZTpjLGlzVG9nZ2xlZDpkLERnOmUsbmE6Zn0pPT57dmFyIGg9KCk9PmIoKT9hKCkubGVhZGluZ0ltYWdlOmEoKS50cmFpbGluZ0ltYWdlPz9fLlFGKGEoKS50aGVtZWRUcmFpbGluZ0ltYWdlKSxrPSgpPT57YTp7dmFyIHI9YSgpLmxpc3RJdGVtSWNvbkFmdGVyU2VsZWN0aW9uVGV4dDtpZighYz8uKCkpc3dpdGNoKHIpe2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX0VYUEFORF9NT1JFIjpyPSJleHBhbmRfbW9yZSI7YnJlYWsgYTtjYXNlICJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9OT05FIjpicmVhaztkZWZhdWx0OnI9ImNoZXZyb25fcmlnaHQiO2JyZWFrIGF9cj12b2lkIDB9cmV0dXJuIHJ9LGw9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSW1hZ2VDb250YWluZXIiLHt5dExpc3RJdGVtVmlld01vZGVsTGVhZGluZzpiLHl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzooKT0+IWIoKX0pLAptPV8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEFjY2Vzc29yeSIsInl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZSIpLG49Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5Iix7eXRMaXN0SXRlbVZpZXdNb2RlbExlYWRpbmc6Yix5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmc6KCk9PiFiKCl9KSxwPV8uZUcoKCk9PmIoKT9hKCkubGVhZGluZ0ljb25Db2xvclRva2VuOmEoKS50cmFpbGluZ0ljb25Db2xvclRva2VuKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+e3ZhciByPWEoKSx0PWIoKTtyZXR1cm4hISh0JiYoci5sZWFkaW5nSW1hZ2V8fHIubGVhZGluZ0FjY2Vzc29yeSl8fCF0JiYoci50cmFpbGluZ0ltYWdlfHxyLnRyYWlsaW5nQnV0dG9ufHxyLnRyYWlsaW5nQnV0dG9uc3x8ci50cmFpbGluZ0FjY2Vzc29yaWVzTGlzdHx8ci5zZWxlY3Rpb25UZXh0fHxyLnRoZW1lZFRyYWlsaW5nSW1hZ2V8fHIudHJhaWxpbmdJbWFnZUFjY2Vzc29yeVR5cGU9PT0iTElTVF9JVEVNX0lNQUdFX0FDQ0VTU09SWV9UWVBFX05FV19DT05URU5UX0lORElDQVRPUiJ8fApyLnRyYWlsaW5nTGFiZWwpKX0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOmgsdGhlbjpyPT5fLksoImRpdiIse2NsYXNzOmwsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLmpGLHtkYXRhOnIsYWx0OiIiLFRhOiEwLFlhOiEwLEFiOigpPT57dmFyIHQ9KGIoKT9hKCkubGVhZGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfSUNPTiI6YSgpLnRyYWlsaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9JQ09OIik/YigpP2RJKGEoKS5sZWFkaW5nSWNvbkFjY2Vzc29yeVNpemUpOmRJKGEoKS50cmFpbGluZ0ljb25BY2Nlc3NvcnlTaXplKTp2b2lkIDA7cmV0dXJuIHR9LGNsYXNzTmFtZTptLGlzVG9nZ2xlZDooKT0+IWU/LigpJiZkPy4oKSxzdHlsZTpfLklFKHtjb2xvcjpwfSl9KSl9KSxfLksoXy5PLHtBOigpPT5iKCkmJmEoKS5sZWFkaW5nQWNjZXNzb3J5LHRoZW46KCk9PgpfLksoImRpdiIse2NsYXNzOmx9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5sZWFkaW5nQWNjZXNzb3J5fSx7YXZhdGFyVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlNGLHtkYXRhOnIsZ2Q6bSxNazooKT0+Zj8uKCk/e3NpemU6ImV4dHJhLXNtYWxsIn06e3NpemU6Im1lZGl1bSJ9fSksY29sbGVjdGlvblRodW1ibmFpbFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5XRix7ZGF0YTpyLG1heEhlaWdodDozNix3aWR0aDo1NixjZzohMH0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQnV0dG9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5hKCkudHJhaWxpbmdCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQnV0dG9ucz8uYnV0dG9ucywKdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50cmFpbGluZ0J1dHRvbnM/LmJ1dHRvbnN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pLGFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhtSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmtJLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uY0cse2RhdGE6cixpc092ZXJsYXk6ITEsUWQ6ITEsY2xhc3NOYW1lOm59KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uWkYse2RhdGE6cixjbGFzc05hbWU6bn0pfSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0Py50cmFpbGluZ0FjY2Vzc29yaWVzLAp0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0Py50cmFpbGluZ0FjY2Vzc29yaWVzfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlVGLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxhY2NvdW50TGlua0J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksobUkse2RhdGE6cixjbGFzc05hbWU6bn0pLHN3aXRjaEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5rSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3Vic2NyaWJlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmNHLHtkYXRhOnIsaXNPdmVybGF5OiExLFFkOiExLGNsYXNzTmFtZTpufSksdG9nZ2xlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLlpGLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxiYWRnZVZpZXdNb2RlbDooe2RhdGE6cn0pPT4KXy5LKF8uYUcse2RhdGE6cixjbGFzczpufSksbGlzdEl0ZW1MaWtlQ291bnRWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKFRkYSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksbGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKFVkYSx7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiYhIWEoKS5zZWxlY3Rpb25UZXh0LHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uVix7dGV4dDooKT0+YSgpLnNlbGVjdGlvblRleHQsY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbFNlbGVjdGlvblRleHQiLCJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmdTZWxlY3Rpb25UZXh0Iil9KSxfLksoXy5PLHtBOmssdGhlbjpyPT5fLksoXy5NRCx7aWNvbjpyLGNsYXNzTmFtZToieXRMaXN0SXRlbVZpZXdNb2RlbENoZXZyb25JY29uIixhcmlhSGlkZGVuOiEwLHN0eWxlOl8uSUUoe2NvbG9yOnB9KX0pfSkpfSksXy5LKF8uTyx7QTooKT0+CiFiKCkmJmEoKS50cmFpbGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfTkVXX0NPTlRFTlRfSU5ESUNBVE9SIix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmx9LF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxOZXdDb250ZW50SW5kaWNhdG9yIn0pKX0pLF8uSyhfLk8se0E6KCk9PiFiKCkmJmEoKS50cmFpbGluZ0xhYmVsLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmEoKS50cmFpbGluZ0xhYmVsLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ0xhYmVsIiwieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIil9KX0pKX0pfSwieiIpO3ZhciBWZGE9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5pSCkpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQm90dG9tQWNjZXNzb3J5In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJvdHRvbUFjY2Vzc29yeX0sey4uLihiJiZ7aG9yaXpvbnRhbEJhclZpZXdNb2RlbDpifSl9KSl9LCJBIik7dmFyIHFJPV8uTChhPT57dmFyIGI9YS5kYXRhLGM9YS5jbGFzc05hbWUsZD1fLmVHKCgpPT5iKCkuaXNEaXNhYmxlZCYmYigpLmxhYmVsRGlzYWJsZWRDb2xvclRva2VuP2IoKS5sYWJlbERpc2FibGVkQ29sb3JUb2tlbjpiKCkubGFiZWxUZXh0Q29sb3JUb2tlbiksZT1fLmVHKCgpPT5iKCkuc3VwZXJMYWJlbENvbG9yVG9rZW4pO3JldHVybiBfLksoXy5PLHtBOigpPT5iKCkuc3VwZXJsYWJlbHx8YigpLnRpdGxlfHxiKCkuc3VidGl0bGV8fGIoKS5zdWJ0aXRsZUJhZGdlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uTyx7QTooKT0+YigpLnN1cGVybGFiZWwsdGhlbjpmPT5fLksoXy5WLHt0ZXh0OmYsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsU3VwZXJsYWJlbCIsc3R5bGU6Xy5JRSh7Y29sb3I6ZX0pfSl9KSxfLksoXy5PLHtBOigpPT5iKCkudGl0bGUsdGhlbjpmPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsVGl0bGVXcmFwcGVyIn0sCl8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsVGl0bGUiLHt5dExpc3RJdGVtVmlld01vZGVsU2luZ2xlTGluZVRpdGxlOigpPT5iKCkudGl0bGVNYXhMaW5lcz09PTF9KSxzdHlsZTpfLklFKHtjb2xvcjpkfSl9KSl9KSxfLksoXy5PLHtBOigpPT5iKCkuc3VidGl0bGVCYWRnZXx8YigpLnN1YnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZUJhZGdlV3JhcHBlciJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKS5zdWJ0aXRsZUJhZGdlfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmZ9KT0+Xy5LKF8uYUcse2RhdGE6Zn0pfSkpLF8uSyhXZGEse2RhdGE6Yix5dzooKT0+ISFiKCkuc3VidGl0bGVCYWRnZX0pKX0pKX0pfSwiQiIpLFdkYT1fLkwoYT0+e3ZhciBiPV8uZUcoKCk9PmEuZGF0YSgpLnN1YkxhYmVsQ29sb3JUb2tlbik7CnJldHVybiBfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5zdWJ0aXRsZSx0aGVuOmM9Pl8uSyhfLlYse3RleHQ6YyxjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsU3VidGl0bGUiLHt5dExpc3RJdGVtVmlld01vZGVsV2l0aEJhZGdlOmEueXd9KSxzdHlsZTpfLklFKHtjb2xvcjpifSl9KX0pfSwiQyIpO3ZhciBYZGE9Xy5MKCh7ZGF0YTphLGNlOmIsZnU6Yyxpc1RvZ2dsZWQ6ZCxkaXNhYmxlZDplLFh4OmYsbmE6aCxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpsLGhvcml6b250YWxQYWRkaW5nOm0sWXg6bix1QjpwLG9uVGFwOnIsYXJpYUxhYmVsOnQsRGc6dn0pPT57dmFyIHo9KCk9PiEhYSgpLmlzRGlzYWJsZWR8fCEhZT8uKCksRT1fLmVHKCgpPT5hKCkudHJhaWxpbmdJY29uQ29sb3JUb2tlbik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsTGF5b3V0V3JhcHBlciIse3l0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXI6KCk9PiFmPy4oKSx5dExpc3RJdGVtVmlld01vZGVsRGlzYWJsZWQ6eix5dExpc3RJdGVtVmlld01vZGVsSGFzU3VidGl0bGU6KCk9PiEhYSgpLnN1YnRpdGxlLHl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0OmgseXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlOm4seXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHk6Xy54KCJ3ZWJfZW5hYmxlX2xpc3RfaXRlbV9hY3Rpb25fdHlwb2dyYXBoeSIpLAp5dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cDprLHl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6KCk9Pmw/LigpJiYhZj8uKCkseXRMaXN0SXRlbVZpZXdNb2RlbE5vVHJhaWxpbmdUZXh0OigpPT4hYSgpLnNlbGVjdGlvblRleHQmJiFhKCkudHJhaWxpbmdMYWJlbH0sKCk9PnthOntzd2l0Y2goYSgpLmxheW91dFByaW9yaXR5KXtjYXNlICJMSVNUX0lURU1fTEFZT1VUX1BSSU9SSVRZX1RSQUlMSU5HIjp2YXIgQT0ieXRMaXN0SXRlbVZpZXdNb2RlbFByaW9yaXRpemVUcmFpbGluZyI7YnJlYWsgYX1BPXZvaWQgMH1yZXR1cm4gQX0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLWxlZnQiOm0sInBhZGRpbmctcmlnaHQiOm19KX0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbE1haW5Db250YWluZXIifSxfLksocEkse2RhdGE6YSxnZzohMCxjZTpiLGlzVG9nZ2xlZDpkLERnOnYsbmE6aH0pLF8uSyhfLk8se0E6cCx0aGVuOigpPT5fLksoXy5WQywKe2NvbW1hbmQ6KCk9Pl8uc0goYSgpLnJlbmRlcmVyQ29udGV4dCksb25DbGljazpyLGRpc2FibGVkOnosY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yIiwieXRMaXN0SXRlbVZpZXdNb2RlbFRleHRXcmFwcGVyIiksdG9nZ2xlYWJsZTpkIT09dm9pZCAwLHRvZ2dsZWQ6ZCxhcmlhTGFiZWw6dH0sXy5LKHFJLHtkYXRhOmF9KSksVzooKT0+Xy5LKHFJLHtkYXRhOmEsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXIifSl9KSxfLksoXy5PLHtBOigpPT4hIWMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIixzdHlsZTpfLklFKHtjb2xvcjpFfSl9LGMmJl8uSyhjLG51bGwpKSxXOigpPT5fLksocEkse2RhdGE6YSxnZzohMSxjZTpiLGlzVG9nZ2xlZDpkLERnOnYsbmE6aH0pfSkpLF8uSyhfLk8se0E6KCk9PmEoKS5ib3R0b21BY2Nlc3NvcnksdGhlbjooKT0+Xy5LKFZkYSx7ZGF0YTphfSl9KSl9LAoiRCIpO3ZhciBbaEksUmRhXT1fLkooe30sdm9pZCAwLCJwZHJhRiIpLGdJPW5ldyBNYXA7dmFyIHNJPV8uTChhPT57dmFyIHtuYW1lOmIsb25DaGFuZ2U6YyxvbkNsaWNrOmQsY2hlY2tlZDplLFllOmYsWWk6aCxxajprLG5hOmwsVmM6bSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bixob3Jpem9udGFsUGFkZGluZzpwLGRpc2FibGVkOnIsYXJpYUxhYmVsOnR9PV8uREMoYSx7Y2hlY2tlZDohMSxkaXNhYmxlZDohMX0pO2E9ImNoZWNrYm94IitfLk9IKCk7cmV0dXJuIF8uSygiY2hlY2tib3gtc2hhcGUiLG51bGwsXy5LKCJsYWJlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveFNoYXBlSG9zdCIsayx7eXRDaGVja2JveFNoYXBlSG9zdENvbXBhY3Q6bCx5dENoZWNrYm94U2hhcGVEaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bn0pLHN0eWxlOl8uSUUoeyJwYWRkaW5nLWxlZnQiOnAsInBhZGRpbmctcmlnaHQiOnB9KX0sXy5LKCJpbnB1dCIse2NsYXNzOiJ5dENoZWNrYm94U2hhcGVJbnB1dCIsaWQ6YSxjaGVja2VkOmUsbmFtZTpiLHR5cGU6ImNoZWNrYm94IixkaXNhYmxlZDpyLAoiYXJpYS1sYWJlbCI6dCwicHJvcDpjaGVja2VkIjplLCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKHYpe2M/Lih2KTt2LnN0b3BQcm9wYWdhdGlvbigpfSwib246Y2xpY2siOmZ1bmN0aW9uKHYpe2Q/Lih2KTt2LnN0b3BQcm9wYWdhdGlvbigpfX0pLF8uSyhfLk8se0E6KCk9PiFoPy4oKSx0aGVuOigpPT5fLksockkse2dnOiEwLFZjOm19KX0pLF8uSyhfLk8se0E6KCk9PiEhZix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENoZWNrYm94U2hhcGVMYWJlbCJ9LGY/LigpKX0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksockkse2dnOiExLFZjOm19KX0pKSl9LCJFIik7c0kuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNoYW5nZTohMCxvbkNsaWNrOiEwLFllOiEwfX07CnZhciByST1fLkwoKHtWYzphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94U2hhcGVDaGVja2JveCIsYSx7eXRDaGVja2JveFNoYXBlQ2hlY2tib3hEZWZhdWx0U3R5bGU6KCk9PiFhPy4oKX0pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5NRCx7aWNvbjpfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8ic3F1YXJlIjoiQk9YX0VNUFRZIn0pLF8uSyhfLk1ELHtpY29uOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJjaGVja19zcXVhcmUiOiJCT1hfQ0hFQ0siLGFjdGl2ZTohMH0pKSwiRiIpO3ZhciB0ST1fLkwoKHtkYXRhOmEsSWE6YixuYTpjLG9uVGFwOmQseHM6ZSxjZTpmLGRpc2FibGVkOmgsQmM6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bCxpc092ZXJsYXk6bSxpc1RvZ2dsZWQ6bixhcmlhTGFiZWw6cCxhcmlhUHJlc3NlZDpyLERnOnQsYnA6dn0pPT57ZnVuY3Rpb24geihiYSl7YmEuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGFhPWEoKS5lbnRpdHlLZXksT2E9RygpLmlzU2VsZWN0ZWQ7aWYoYWEmJk0oKSl7aWYoRygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iJiZPYSlyZXR1cm47aUkoYWEsIU9hLEcoKS5zZWxlY3Rpb25TdHlsZSl9ZD9kKGJhKTooYWE9Xy5zSChHKCkucmVuZGVyZXJDb250ZXh0KSxPYT1fLnkoKS5yZXNvbHZlKF8uVUQpLGFhJiZPYSYmT2EucmVzb2x2ZUNvbW1hbmQoYWEsYmEudGFyZ2V0P3tmb3JtOntlbGVtZW50OmJhLnRhcmdldCxzb3VyY2VEYXRhOmFhfX06dm9pZCAwKSl9dmFyIEU9IV8ueCgid2ViX2VuYWJsZV9raWxsc3dpdGNoX2Zvcl9zZWxlY3RhYmxlX2xpc3RfaXRlbV9vbl90YXBfZml4IiksCkE9IV8ueCgid2ViX2VuYWJsZV9raWxsc3dpdGNoX2Zvcl9za2lwX2NoaWxkX3RhZ3MiKSxGPV8uUUgoKCk9PmEoKS5ob3Jpem9udGFsUGFkZGluZ1Rva2VuKSxDPSgpPT5sPy4oKXx8YSgpLmRpc2FibGVIb3Jpem9udGFsUGFkZGluZyxHPV8uTigoKT0+e3ZhciBiYT1hKCksYWE9digpLE9hPWEoKT8uZW50aXR5U2VsZWN0b3JUeXBlP3suLi5iYSwuLi5hYS5kYXRhfTpiYTtPYS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIiYmUWRhKE9hLmVudGl0eUtleSk7dmFyIEpiPU9hLmVudGl0eUtleTtiYT1KYj9oSSgpW0piXTp2b2lkIDA7YWE9ISFPYS5pc1NlbGVjdGVkO3ZhciB6YT1iYSE9PXZvaWQgMD9iYTphYTtKYiYmT2Euc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyImJmFhJiZiYT09PXZvaWQgMCYmcXVldWVNaWNyb3Rhc2soKCk9PntpSShKYiwhMCxPYS5zZWxlY3Rpb25TdHlsZSl9KTtyZXR1cm57Li4uT2EsCmlzU2VsZWN0ZWQ6emF9fSx2b2lkIDAsInZSa255IiksRD0oKT0+ISFHKCkuaXNEaXNhYmxlZHx8ISFoPy4oKSxIPV8uVEgoKCk9PkcoKS5yZW5kZXJlckNvbnRleHQpLFI9KCk9PnA/LigpfHxIKCk/LmxhYmVsLE09KCk9PiEoIUcoKS5zZWxlY3Rpb25TdHlsZXx8RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfVU5TUEVDSUZJRUQiKSxTPSgpPT4oXy50SChHKCkucmVuZGVyZXJDb250ZXh0KXx8ZCkmJiFNKCksWT0oKT0+Xy50SChHKCkucmVuZGVyZXJDb250ZXh0KXx8ISFkfHxNKCkscGE9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQ29udGFpbmVyIix7eXRMaXN0SXRlbVZpZXdNb2RlbFRhcHBhYmxlOlkseXRMaXN0SXRlbVZpZXdNb2RlbEFjdGlvblR5cG9ncmFwaHk6Xy54KCJ3ZWJfZW5hYmxlX2xpc3RfaXRlbV9hY3Rpb25fdHlwb2dyYXBoeSIpLHl0TGlzdEl0ZW1WaWV3TW9kZWxDb21wYWN0OmMseXRMaXN0SXRlbVZpZXdNb2RlbEluUG9wdXA6aywKeXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+Qz8uKCkmJk0oKX0pLG9hPV8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlQ29udGFpbmVyIiwoKT0+RygpLmxlYWRpbmdJbWFnZXx8RygpLmxlYWRpbmdBY2Nlc3Nvcnk/Inl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZyI6Inl0TGlzdEl0ZW1WaWV3TW9kZWxMZWFkaW5nIiksW1UsaGFdPV8uSighMSx2b2lkIDAsImN1WTRtZiIpLG1hPSgpPT57dmFyIGJhO2lmKGJhPV8ueCgid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIikmJlM/LigpKWJhPWEoKSxiYT0hKGJhLnRyYWlsaW5nTGFiZWx8fGJhLnNlbGVjdGlvblRleHQpO3JldHVybiBiYX0sdGE9KCk9Pl8uSyhYZGEse2RhdGE6RyxjZTpmLGZ1OmUsaXNUb2dnbGVkOm4sZGlzYWJsZWQ6aCxYeDpNLG5hOmMsQmM6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Qyxob3Jpem9udGFsUGFkZGluZzpGLFl4OlMsdUI6bWEsb25UYXA6ZCxhcmlhTGFiZWw6UiwKRGc6dH0pLFQ9KCk9PntpZihiPy4oKSl7bGV0IGJhPUcoKS5zZWxlY3Rpb25TdHlsZTtyZXR1cm4gYmE9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCI/Im1lbnVpdGVtY2hlY2tib3giOmJhPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8ifHxiYT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiPyJtZW51aXRlbXJhZGlvIjoibWVudWl0ZW0ifXJldHVybiJsaXN0aXRlbSJ9O3JldHVybiBfLksoInl0LWxpc3QtaXRlbS12aWV3LW1vZGVsIix7ZWw6Xy5yRihfLnVIKCgpPT5EKCk/dm9pZCAwOkcoKS5yZW5kZXJlckNvbnRleHQsdm9pZCAwLHZvaWQgMCxfLngoIndlYl9idXR0b25fb3JfYW5jaG9yX2xpc3RfaXRlbSIpP1siQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXTpbXSksU2RhKGZ1bmN0aW9uKGJhKXtEKCl8fEUmJk0oKXx8KE0oKT96KGJhKTpkPy4oYmEpKX0sQT9bIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKV06CltdLCgpPT4hWSgpKSxfLlVIKCgpPT5TPy4oKSx7Zm9jdXNpbjpmdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk/LlhlKCkmJmhhKCEwKX0sZm9jdXNvdXQ6ZnVuY3Rpb24oKXtoYSghMSl9fSkpLGNsYXNzOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLHt5dExpc3RJdGVtVmlld01vZGVsSXNPdmVybGF5Om0seXRMaXN0SXRlbVZpZXdNb2RlbEtleWJvYXJkRm9jdXNlZDpVLHl0TGlzdEl0ZW1WaWV3TW9kZWxIaWRkZW46KCk9PmEoKT8uZW50aXR5U2VsZWN0b3JUeXBlP3YoKS5pc0hpZGRlbjohMX0pLCJkYXRhLXRhcmdldC1pZCI6KCk9PkcoKS50YXJnZXRJZCxyb2xlOlQsdGFiaW5kZXg6KCk9Pnt2YXIgYmE9UygpO1koKTt2YXIgYWE9bWEoKSxPYT1EKCk7YmE9IWFhJiYoXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfdGFiaW5kZXhfZml4Iik/ZHx8YmE6YmEpP09hPy0xOjA6dm9pZCAwO3JldHVybiBiYX0sIm9uOmtleWRvd24iOmZ1bmN0aW9uKGJhKXtpZighQXx8CiFbIkEiLnRvU3RyaW5nKCksIkJVVFRPTiIudG9TdHJpbmcoKV0uaW5jbHVkZXMoYmEudGFyZ2V0LnRhZ05hbWUpKWlmKGJhLmtleT09PSJFbnRlciJ8fE0oKSYmYmEua2V5PT09IiAiKWJhLnByZXZlbnREZWZhdWx0KCksRCgpfHwoRSYmTSgpP3ooYmEpOmJhLmN1cnJlbnRUYXJnZXQuY2xpY2soKSl9LCJhcmlhLWxhYmVsIjpSLCJhcmlhLWNoZWNrZWQiOigpPT57dmFyIGJhPVQoKTtyZXR1cm4gYmE9PT0ibWVudWl0ZW1jaGVja2JveCJ8fGJhPT09Im1lbnVpdGVtcmFkaW8iP0coKS5pc1NlbGVjdGVkOnZvaWQgMH0sImFyaWEtcHJlc3NlZCI6KCk9PmI/LigpfHxNKCk/dm9pZCAwOnI/LigpfSxfLksoXy5PLHtBOk0sdGhlbjooKT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfQ0hFQ0tCT1gifSwoKT0+Xy5LKHNJLHtZZTp0YSxuYTpjLGNoZWNrZWQ6KCk9PiEhRygpLmlzU2VsZWN0ZWQsCllpOigpPT4hKCFHKCkubGVhZGluZ0ltYWdlJiYhRygpLmxlYWRpbmdBY2Nlc3NvcnkpLHFqOnBhLFZjOm9hLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpDLGhvcml6b250YWxQYWRkaW5nOkYsb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uQ0Use3doZW46KCk9PkcoKS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIn0sKCk9Pl8uSyhfLkFFLHtZZTp0YSxuYTpjLGNoZWNrZWQ6KCk9PiEhRygpLmlzU2VsZWN0ZWQsWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2Esb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uQ0Use3doZW46KCk9PkcoKS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQifSwoKT0+Xy5LKF8uQUUse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+CiEhRygpLmlzU2VsZWN0ZWQsWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2EsaGs6ITAsb25DbGljazpFP3o6dm9pZCAwLGRpc2FibGVkOkQsYXJpYUxhYmVsOlJ9KSksXy5LKF8uREUsbnVsbCx0YSkpLFc6dGF9KSl9LCJHIiksWWRhPV8uTChhPT57dmFyIGI9Xy5jSShjPT5QZGEoYS5kYXRhKCksYykpO3JldHVybiBfLksodEksey4uLmEsYnA6Yn0pfSwiSCIpO18uQ0Q9Xy5MKGE9Pl8uSyhfLk8se0E6KCk9PiEhYS5kYXRhKCk/LmVudGl0eVNlbGVjdG9yVHlwZSx0aGVuOigpPT5fLksoWWRhLHsuLi5hfSksVzooKT0+Xy5LKHRJLHsuLi5hLGJwOigpPT4oe30pfSl9KSwiSSIpO18uQ0QuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvblRhcDohMCx4czohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJwZTJvamIiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RTD1mdW5jdGlvbihhLGIpe2lmKGEmJmIpc3dpdGNoKGIpe2Nhc2UgIlNFTEVDVElPTl9UWVBFX0JPT0wiOnJldHVybiBhLmJvb2xWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9JTlQiOnJldHVybiBhLmludFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX1NUUklORyI6cmV0dXJuIGEuc3RyaW5nVmFsdWU7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfUFJJVkFDWV9TVEFUVVMiOnJldHVybiBhLnByaXZhY3lTdGF0dXNWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9USU1FX1BJQ0tFUl9GT1JNQVQiOnJldHVybiBhLnRpbWVQaWNrZXJGb3JtYXRWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9FTkdBR0VNRU5UX1BFUk1JU1NJT04iOnJldHVybiBhLmVuZ2FnZW1lbnRQZXJtaXNzaW9uVmFsdWV9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5DST1mdW5jdGlvbihhKXtfLlZILm13KCkoYSl9O18uREk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlhIKCk7cmV0dXJuIF8uTigoKT0+e2MoKTtyZXR1cm4gXy5aSChhLFtfLkJ2KGIpfHwiIl0pfSx7ZGVidWdOYW1lOiJMVVpzbGYifSwiWjEwNXQiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uUkw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLmVudGl0aWVzLCJsaWtlU3RhdHVzRW50aXR5IixiKX07Xy5TTD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxpa2VDb3VudEVudGl0eSIsYil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWWZhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTigoKT0+Xy5CdihhKT8/e30se2VxdWFsczpfLkdJfSwielRVWlFjIiksYz1fLk4oKCk9Pnt2YXIge2Zvcm1JZDpkLGZpZWxkSWQ6ZX09YigpO2lmKGQmJmUpe2E6e2xldCBoPV8uU0koZCk7aWYoaCl7dmFyIGY9Xy5NSShlKTtpZihmPWhbZl0pe2lmKCEoImZ1bmN0aW9uIj09dHlwZW9mIF8uVEwmJmYgaW5zdGFuY2VvZiBfLlRMKSl0aHJvdyBfLklJKGBGaWVsZCAke2V9IGluIGZvcm0gJHtkfSBpcyBub3QgYSBTY2FsYXJMaXN0RmllbGQuYCk7YnJlYWsgYX19Zj12b2lkIDB9cmV0dXJuIGZ9fSx2b2lkIDAsIkUwS1NGZCIpO3JldHVybigpPT5jKCl9LFpmYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInNlbGVjdGlvblZhbHVlTGlzdEVudGl0eSIsYil9LCRmYT1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZXMoYSk/Yj1iLmZpbHRlcihjPT5jIT09YSk6Yi5wdXNoKGEpO3JldHVyblsuLi5iXX0sVUw9bmV3IF8uSSgiY2hlY2tib3hJdGVtVmlld01vZGVsIik7dmFyIGFnYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLFdiOmMsc2VsZWN0ZWQ6ZCxvblRhcDplLGdyb3VwTmFtZTpmLGNsYXNzTmFtZTpoLG5hOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmwsTGk6bX09Xy5EQyhhLHtXYjohMSxzZWxlY3RlZDohMSxuYTohMSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ITEsTGk6ITF9KSxuPSgpPT5jKCk/MjpiKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFtKCk/MzoxO18uVUooKCk9PntuKCk9PT0yJiZiKCkuZGVmYXVsdFNlbGVjdGVkP18uR3AoRXJyb3IoInVkIikpOm4oKT09PTEmJmQoKT9fLkdwKEVycm9yKCJ2ZCIpKTpuKCk9PT0zJiZkKCkmJl8uR3AoRXJyb3IoIndkIikpfSk7dmFyIHA9Xy5aSSgoKT0+YigpLmZvcm1GaWVsZE1ldGFkYXRhKSxbcix0XT1fLkFDKCgpPT57aWYobigpPT09MSlyZXR1cm4gYigpLmRlZmF1bHRTZWxlY3RlZH0pO3JldHVybiBfLksoInl0LWNoZWNrYm94LWl0ZW0tdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveEl0ZW1WaWV3TW9kZWxIb3N0IiwKaCl9LF8uSyhfLkNELHtkYXRhOigpPT57dmFyIHY9YigpLHo9bigpPT09Mz9wKCk/LnZhbHVlfHwhMTpuKCk9PT0xP3IoKTpkKCk7cmV0dXJue3RpdGxlOnYudGV4dCxzdWJ0aXRsZTp2LnN1YnRleHQsc3VwZXJsYWJlbDp2LnN1cGVybGFiZWwsaXNTZWxlY3RlZDohIXosaXNEaXNhYmxlZDp2LmlzRGlzYWJsZWQsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfQ0hFQ0tCT1gifX0sb25UYXA6KCk9Pnt2YXIgdj0hKG4oKT09PTM/cCgpPy52YWx1ZTpuKCk9PT0xP3IoKTpkKCkpO24oKT09PTM/cCgpPy51cGRhdGVWYWx1ZSh2KTpuKCk9PT0xJiZ0KHYpO2U/Lih2LGIoKSxmPy4oKSl9LG5hOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmx9KSl9LCJEYSIpO18udEQ9Xy5MKCh7ZGF0YTphLFdiOmIsZEE6YyxnejpkLGdyb3VwTmFtZTplLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmLG5hOmh9KT0+e3ZhciBrPV8uREkoWmZhLCgpPT5hKCkuaGlkZUl0ZW1zRW50aXR5S2V5KSxsPSgpPT5iPy4oKT8yOmEoKS5mb3JtRmllbGRNZXRhZGF0YT8zOjEsbT0oKT0+ZT8uKCl8fGEoKS5rZXk7Xy5VSigoKT0+e2woKT09PTImJmEoKS5kZWZhdWx0U2VsZWN0ZWRLZXlzP18uR3AoRXJyb3IoInhkIikpOmwoKT09PTEmJmM/LigpP18uR3AoRXJyb3IoInlkIikpOmwoKT09PTMmJihjPy4oKSE9PXZvaWQgMCYmXy5HcChFcnJvcigiemQiKSksYSgpLmRlZmF1bHRTZWxlY3RlZEtleXMmJl8uR3AoRXJyb3IoIkFkIikpKX0pO3ZhciBuPVlmYSgoKT0+YSgpLmZvcm1GaWVsZE1ldGFkYXRhKSxbcCxyXT1fLkFDKCgpPT57aWYobCgpPT09MSlyZXR1cm4gYSgpLmRlZmF1bHRTZWxlY3RlZEtleXN9KSx0PV8uWkkoKCk9Pih7Zm9ybUlkOmEoKS5zZWFyY2hRdWVyeUZpZWxkTWV0YWRhdGE/LmZvcm1JZHx8CiIiLGZpZWxkSWQ6YSgpLnNlYXJjaFF1ZXJ5RmllbGRNZXRhZGF0YT8uZmllbGRJZHx8IiJ9KSksdj1fLk4oKCk9Pnt2YXIgRT1hKCkuY2hlY2tib3hlc3x8W10sQT1rKCk7aWYoQT8udmFsdWVzJiZBLnZhbHVlcy5sZW5ndGg+MCl7bGV0IEM9QS50eXBlLEc9bmV3IFNldChBLnZhbHVlcy5tYXAoRD0+Xy5RTChELEMpKS5maWx0ZXIoRD0+RCE9PXZvaWQgMCkpO0U9RS5maWx0ZXIoRD0+e0Q9Xy5CKEQsVUwpO2lmKCFEPy52YWx1ZSlyZXR1cm4hMDtEPV8uUUwoRC52YWx1ZSxDKTtyZXR1cm4gRD09PXZvaWQgMHx8IUcuaGFzKEQpfSl9dmFyIEY9KHQoKT8udmFsdWV8fCIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiBGP0UuZmlsdGVyKEM9PntDPV8uQihDLFVMKTtyZXR1cm4gQz8udGV4dD8uY29udGVudD9DLnRleHQuY29udGVudC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKEYpOiExfSk6RX0sdm9pZCAwLCJYNlk1TWMiKSx6PWFzeW5jKEUsQSxGKT0+e0U9W107bCgpPT09MSYmQS5rZXk/KEU9CiRmYShBLmtleSxwKCl8fFtdKSxyKEUpKTpsKCk9PT0zJiZBLmtleSYmKEU9bigpPy52YWx1ZXx8W10sRS5pbmNsdWRlcyhBLmtleSk/KEU9RS5pbmRleE9mKEEua2V5KSxFIT09LTEmJmF3YWl0IG4oKT8ucmVtb3ZlKEUpKTphd2FpdCBuKCk/LmFkZChBLmtleSksRT1uKCk/LnZhbHVlfHxbXSk7ZD8uKEEsRSxGKX07cmV0dXJuIF8uSygieXQtY2hlY2tib3gtZ3JvdXAtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDaGVja2JveEdyb3VwVmlld01vZGVsSG9zdCIpfSxfLksoImZpZWxkc2V0Iix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94R3JvdXBWaWV3TW9kZWxGaWVsZHNldCIpfSxfLksoImRpdiIse3JvbGU6Imxpc3QifSxfLksoXy5XLHtkYXRhOnZ9LHtjaGVja2JveEl0ZW1WaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKGFnYSx7ZGF0YTpFLFdiOiEwLHNlbGVjdGVkOigpPT57dmFyIEE9bCgpPT09Mj9jPy4oKXx8W106bCgpPT09Mz9uKCk/LnZhbHVlfHxbXTpwKCl8fFtdLEY9RSgpLmtleTsKcmV0dXJuIEY/QS5pbmNsdWRlcyhGKTohMX0sb25UYXA6eixncm91cE5hbWU6bSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZixuYTpofSl9KSkpKX0sIkVhIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInZEY2sxZCIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkpKPWZ1bmN0aW9uKGEsYil7aWYoIWEmJiFiKXJldHVybiJtZWRpdW0iO2E9TWF0aC5tYXgoYXx8MCxifHwwKTtyZXR1cm4gYT49MjU2PyJsYXJnZSI6YT49OTY/Im1lZGl1bSI6InNtYWxsIn07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBHZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMjpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVG91Y2hSZXNwb25zZUludmVyc2UiO2Nhc2UgMzpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlT3ZlcmxheVRvdWNoUmVzcG9uc2UiO2Nhc2UgNDpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlT3ZlcmxheVRvdWNoUmVzcG9uc2VJbnZlcnNlIjtkZWZhdWx0OnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlIn19LEhlYT1mdW5jdGlvbihhLGIpe2lmKGIpcmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCI7aWYoYSlzd2l0Y2goYSl7Y2FzZSAibGFyZ2UiOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUaHVtYm5haWxTaXplTGFyZ2UiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVNZWRpdW0iO2RlZmF1bHQ6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVTbWFsbCJ9fSwKSWVhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGEsW3tvZmZzZXQ6MCxvcGFjaXR5Oi4xLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIn0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjo0MDB9KSxkb2N1bWVudC50aW1lbGluZSk7dGhpcy5vPW5ldyBBbmltYXRpb24obmV3IEtleWZyYW1lRWZmZWN0KGIsW3tvZmZzZXQ6MCxvcGFjaXR5Oi4yLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIn0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjo0MDB9KSxkb2N1bWVudC50aW1lbGluZSl9cGxheSgpe3RoaXMuai5wbGF5Py4oKTt0aGlzLm8ucGxheT8uKCl9Y2FuY2VsKCl7dGhpcy5qLmNhbmNlbD8uKCk7dGhpcy5vLmNhbmNlbD8uKCl9fTtfLlVDPV8uTCgoe21vZGVsOmEsVG06YixWbTpjLFVtOmQsUmI6ZX0pPT57ZnVuY3Rpb24gZigpe3YoKTtyKCExKX1mdW5jdGlvbiBoKCl7dD8uY2FuY2VsKCk7cighMCl9dmFyIGs9Xy51RSgieXQtdG91Y2gtZmVlZGJhY2stc2hhcGUiKSxsPV8udUUoImRpdiIpLG09Xy51RSgiZGl2IiksW24scF09Xy5BQygoKT0+Yz8uKCl8fGQ/LigpPyExOiEhYj8uKCl8fCExKSxyPXAsdD12b2lkIDAsdj0oKT0+eyF0JiZtLnZhbHVlJiZsLnZhbHVlJiZ0eXBlb2YgQW5pbWF0aW9uPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEtleWZyYW1lRWZmZWN0PT09ImZ1bmN0aW9uIiYmKHQ9bmV3IEllYShtLnZhbHVlLGwudmFsdWUpKTt0Py5wbGF5KCl9O18ubkUoKCk9PntjPy4oKSYmdigpfSwiQ1kyUyIpO18ubkUoKCk9PntiPy4oKSYmdD8uY2FuY2VsKCl9LCJ2ZXFmNmIiKTtfLm5FKCgpPT57ZD8uKCkmJnQ/LmNhbmNlbCgpfSwiVFZyZkNjIik7Xy5ZdSgoKT0+e3QmJih0Py5jYW5jZWwoKSx0PXZvaWQgMCl9KTsKcmV0dXJuIF8uSygieXQtdG91Y2gtZmVlZGJhY2stc2hhcGUiLHtlbDprLGNsYXNzOl8uUCgieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlSG9zdCIsKCk9PkdlYShhKCkuY29sb3IpLCgpPT5IZWEoYSgpLnRodW1ibmFpbFNpemUsISFhKCkuaXNFeHRlbmRlZCkse3l0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZvY3VzZWQ6KCk9PiEhYSgpLmZvY3VzZWQmJiFhKCkuZGlzYWJsZWQseXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlQ2lyY3VsYXI6KCk9PiEhYSgpLmNpcmN1bGFyLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZURvd246bix5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUcmlnZ2VyRXZlbnRzOigpPT4hIWEoKS5tQix5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlcmVkOigpPT5lPy4oKX0pLHN0eWxlOl8uSUUoe21hcmdpbjooKT0+YSgpLm1hcmdpbj9gLSR7YSgpLm1hcmdpbn1weGA6dm9pZCAwLCJtYXJnaW4tdG9wIjooKT0+YSgpLnhwP2AtJHthKCkueHB9cHhgOnZvaWQgMH0pLCJvbjptb3VzZWRvd24iOmgsCiJvbjptb3VzZXVwIjpmLCJvbjpwb2ludGVybGVhdmUiOmZ1bmN0aW9uKCl7dD8uY2FuY2VsKCk7cighMSl9LCJvbjp0b3VjaHN0YXJ0IjpoLCJvbjp0b3VjaGVuZCI6ZiwiYXJpYS1oaWRkZW4iOiEwfSxfLksoXy5PLHtBOigpPT4hIWEoKS5ObCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckVmZmVjdCIsc3R5bGU6Xy5JRSh7ImJvcmRlci1yYWRpdXMiOigpPT5hKCkuYm9yZGVyUmFkaXVzLGJhY2tncm91bmQ6KCk9Pnt7bGV0IEU9YSgpLk5sO2lmKEUpe3ZhciB6PVtdO2ZvcihsZXQgQSBvZiBFPy5saWdodGluZ1RlY2huaXF1ZXN8fFtdKXN3aXRjaChBKXtjYXNlIDI6ei5wdXNoKGBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAke0U/LnBhbGV0dGU/LmtleUxpZ2h0fSwgJHtFPy5wYWxldHRlPy5iYWNrZ3JvdW5kfSlgKX16LnB1c2goYSgpLk5sPy5wYWxldHRlPy5iYWNrZ3JvdW5kKTt6PXouam9pbigiLCAiKX1lbHNlIHo9dm9pZCAwfXJldHVybiB6fX0pfSl9KSwKXy5LKCJkaXYiLHtjbGFzczoieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlU3Ryb2tlIixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsImJvcmRlci1jb2xvciI6KCk9PmEoKS50cz8ucGFsZXR0ZT8uYmFja2dyb3VuZH0pLGVsOmx9KSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVGaWxsIixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsImJhY2tncm91bmQtY29sb3IiOigpPT5hKCkudHM/LnBhbGV0dGU/LmJhY2tncm91bmR9KSxlbDptfSkpfSwiVCIpO18uVUMuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiT3RLU0plIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBPYWEsUGFhLFFhYTtPYWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17fSxkPU9iamVjdC5rZXlzKGEpO2ZvcihsZXQgZSBvZiBkKWNbZV09YihlLGFbZV0pO3JldHVybiBjfTtQYWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdHlwZW9mIGEhPT0ib2JqZWN0Inx8YT09PW51bGw/ITE6T2JqZWN0LmtleXMoYikuZXZlcnkoYz0+YyBpbiBhKX07Xy5pQT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5rZXlzKGEpLm1hcChiPT5bYixiXSkpfTtRYWE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBPYWEoYywoZCxlKT0+KGYsLi4uaCk9PlBhYShmLGEpP2UoZltiXSwuLi5oKTplKGYsLi4uaCkpfTtfLmpBPWZ1bmN0aW9uKGEpe3JldHVybihiLGMpPT5RYWEoYSxiLGMpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFRhYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEsInBsYXlsaXN0TG9vcFN0YXRlRW50aXR5IixiKT8/dm9pZCAwfSxVYWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLCJ0b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHkiLGIpPz92b2lkIDB9LHdBPV8uaUEoe2VudGl0aWVzOnt9fSk7Xy54QT1fLmpBKHdBKSh3QS5lbnRpdGllcyx7YkE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4oXy5xQShhLCJzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5IixiKT8/dm9pZCAwKT8uc2Z2QXVkaW9JdGVtUGxheWJhY2tTdGF0ZT8/dm9pZCAwfSx0SzpUYWEsZUI6VWFhfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWkM9bmV3IF8uSSgibGlzdEl0ZW1WaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHZJO18udUk9ZnVuY3Rpb24oYSxiKXtpZihfLnRBPy5lbmNvZGVJbnRvKXtsZXQge3JlYWQ6ZCx3cml0dGVuOmV9PV8udEEuZW5jb2RlSW50byhhLGIpO3JldHVybiBkPGEubGVuZ3RoP2EubGVuZ3RoKjQ6ZX12YXIgYz0wO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hLmNoYXJDb2RlQXQoZCk7ZTwxMjg/YltjKytdPWU6KGU8MjA0OD9iW2MrK109ZT4+NnwxOTI6KChlJjY0NTEyKT09PTU1Mjk2JiZkKzE8YS5sZW5ndGgmJihhLmNoYXJDb2RlQXQoZCsxKSY2NDUxMik9PT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gY307CnZJPWZ1bmN0aW9uKGEsYixjKXtpZihiJiZjJiZjLmJ1ZmZlcj09PWIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyKXtsZXQgZD1iLm1lbW9yeS5yZWFsbG9jKGMuYnl0ZU9mZnNldCxhKTtpZihkKXJldHVybiBuZXcgVWludDhBcnJheShiLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcixkLGEpfWE9Yj9uZXcgVWludDhBcnJheShiLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcixiLm1lbW9yeS5tYWxsb2MoYSksYSk6bmV3IFVpbnQ4QXJyYXkoYSk7YyYmYS5zZXQoYyk7cmV0dXJuIGF9O18ud0k9ZnVuY3Rpb24oYSxiKXtiPWEucG9zK2I7aWYoIShhLmJ1Zi5sZW5ndGg+PWIpKXtmb3IodmFyIGM9YS5idWYubGVuZ3RoKjI7YzxiOyljKj0yO2EuYnVmPXZJKGMsYS53YXNtLGEuYnVmLnN1YmFycmF5KDAsYS5wb3MpKTthLnZpZXc9bmV3IERhdGFWaWV3KGEuYnVmLmJ1ZmZlcixhLmJ1Zi5ieXRlT2Zmc2V0LGEuYnVmLmJ5dGVMZW5ndGgpfX07Cl8ueEk9ZnVuY3Rpb24oYSxiKXtpZihiPjI2ODQzNTQ1NSl7Xy53SShhLDQpO2xldCBjPWImMTA3Mzc0MTgyMztmb3IobGV0IGQ9MDtkPDQ7ZCsrKWEudmlldy5zZXRVaW50OChhLnBvcyxjJjEyN3wxMjgpLGM+Pj49NyxhLnBvcys9MTtiPU1hdGguZmxvb3IoYi8yNjg0MzU0NTYpfWZvcihfLndJKGEsNCk7Yj4xMjc7KWEudmlldy5zZXRVaW50OChhLnBvcyxiJjEyN3wxMjgpLGI+Pj49NyxhLnBvcys9MTthLnZpZXcuc2V0VWludDgoYS5wb3MsYik7YS5wb3MrPTF9OwpfLnpJPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IF8ueUk7aWYoXy50QSlhPV8udEEuZW5jb2RlKGEpO2Vsc2V7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoTWF0aC5jZWlsKGEubGVuZ3RoKjEuMikpLGU9Xy51SShhLGQpO2QubGVuZ3RoPGUmJihkPW5ldyBVaW50OEFycmF5KGUpLGU9Xy51SShhLGQpKTtkLmxlbmd0aD5lJiYoZD1kLnN1YmFycmF5KDAsZSkpO2E9ZH1hIT09dm9pZCAwJiYoXy54SShjLDE4KSxkPWEubGVuZ3RoLF8ueEkoYyxkKSxfLndJKGMsZCksYy5idWYuc2V0KGEsYy5wb3MpLGMucG9zKz1kKTthPV8udUFbYl07aWYodHlwZW9mIGE9PT0idW5kZWZpbmVkIil0aHJvdyBiPW5ldyBfLlhqKCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6Yn0pLF8uR3AoYiksYjthIT09dm9pZCAwJiYoXy54SShjLDMyKSxfLnhJKGMsYSkpO18ueEkoYyw0MCk7Xy54SShjLDEpO2I9bmV3IFVpbnQ4QXJyYXkoYy5idWYuYnVmZmVyLApjLmJ1Zi5ieXRlT2Zmc2V0LGMucG9zKTtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KF8uc2MoYiwwKSl9O18ueUk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLndhc209dm9pZCAwO3RoaXMucG9zPTA7dGhpcy5qPVtdO3RoaXMuYnVmPXZJKDQwOTYpO3RoaXMudmlldz1uZXcgRGF0YVZpZXcodGhpcy5idWYuYnVmZmVyLHRoaXMuYnVmLmJ5dGVPZmZzZXQsdGhpcy5idWYuYnl0ZUxlbmd0aCl9fTtfLnpJKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfTUFOVUFMX0RPV05MT0FEUyIsIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5Iik7Xy56SSgiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5Iik7Xy56SSgiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtfLnpJKCJTTUFSVF9ET1dOTE9BRFNfRU5BQkxFRCIsInNldHRpbmdFbnRpdHkiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5BST1uZXcgXy5JKCJvZmZsaW5lUGxheWxpc3RFbmRwb2ludCIpO18uQkk9bmV3IF8uSSgib2ZmbGluZVZpZGVvRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFpkYTtfLkVJPWZ1bmN0aW9uKGEsYixjLGQsZSl7YT1iP2Euc3dpdGNoT2ZmQ29tbWFuZDphLnN3aXRjaE9uQ29tbWFuZDtpZihkJiZlKVpkYShhLGMsZSk7ZWxzZSBfLmJFKHtiaDphfSk/Lm9uY2xpY2s/LihjKX07WmRhPWZ1bmN0aW9uKGEsYixjKXthPV8uYkUoe2JoOmEsQW86e0VpOntvblN1Y2Nlc3M6KCk9PntjKCExKX0sbno6KCk9PntjKCExKX19fX0pO2E/Lm9uY2xpY2smJihhLm9uY2xpY2soYiksYyghMCkpfTtfLiRkYT1uZXcgXy5JKCJzd2l0Y2hCdXR0b25WaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGVKPWZ1bmN0aW9uKGEpe2lmKGEpcmV0dXJuIF8uQihhLF8uJGRhKX07Xy5mSj1fLkwoKHtkYXRhOmEsb25UYXA6YixrSzpjLG1LOmQsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmUsTGk6ZixuYTpofSk9PntmdW5jdGlvbiBrKEYpe2lmKCFGLm91KXtGLm91PSEwO3ZhciBDPWVKKEEoKSk7IUN8fEMuaXNEaXNhYmxlZHx8YSgpLmlnbm9yZVRhcFVudGlsQ29tbWFuZENvbXBsZXRlcyYmdigpfHwoYj8uKEYpLF8uRUkoQyxFKCksRixhKCkuaWdub3JlVGFwVW50aWxDb21tYW5kQ29tcGxldGVzLHopLChhKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFmPy4oKT8zOjEpPT09Mz9sKCk/LnVwZGF0ZVZhbHVlKCFFKCkpOnAoIUUoKSksYz8uKEUoKSkpfX12YXIgbD1fLlpJKCgpPT5hKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFttLG5dPV8uQUMoKCk9PmVKKEEoKSk/LnN3aXRjaGVkT25CeURlZmF1bHR8fCExKSxwPW4sW3IsdF09Xy5KKCExLHZvaWQgMCwiT3ZrdWxlIiksdj1yLHo9dCxFPSgpPT4oYSgpLmZvcm1GaWVsZE1ldGFkYXRhJiYhZj8uKCk/MzoxKT09PTM/bCgpPy52YWx1ZXx8CiExOm0oKSxBPSgpPT57dmFyIEY7aWYoIShGPWEoKS5zd2l0Y2hCdXR0b24pKXt2YXIgQz1hKCk7Rj1kPy4oKTtDPXtzd2l0Y2hPbkNvbW1hbmQ6Qy5zd2l0Y2hPbkNvbW1hbmQsc3dpdGNoT2ZmQ29tbWFuZDpDLnN3aXRjaE9mZkNvbW1hbmQsc3dpdGNoZWRPbkJ5RGVmYXVsdDpDLnN3aXRjaGVkT25CeURlZmF1bHQsaXNEaXNhYmxlZDpDLmlzRGlzYWJsZWQsYTExeUxhYmVsU3dpdGNoZWRPbjpDLmExMXlMYWJlbFN3aXRjaGVkT24sYTExeUxhYmVsU3dpdGNoZWRPZmY6Qy5hMTF5TGFiZWxTd2l0Y2hlZE9mZn07RiE9PXZvaWQgMCYmKEMuaXNEaXNhYmxlZD1GKTtGPXtzd2l0Y2hCdXR0b25WaWV3TW9kZWw6Q319Qz1lSihGKTtpZighQylyZXR1cm4gRjt2YXIgRz1hKCkudGl0bGU/LmNvbnRlbnQ7cmV0dXJuIEc/e3N3aXRjaEJ1dHRvblZpZXdNb2RlbDp7Li4uQyxhMTF5TGFiZWxTd2l0Y2hlZE9uOkcsYTExeUxhYmVsU3dpdGNoZWRPZmY6R319OkZ9O3JldHVybiBfLksoInN3aXRjaC1saXN0LWl0ZW0tdmlldy1tb2RlbCIsCntjbGFzczoieXRTd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLCJvbjpjbGljayI6a30sXy5LKF8uQ0Qse2RhdGE6KCk9Pih7dGl0bGU6YSgpLnRpdGxlLHN1YnRpdGxlOmEoKS5hdHRyaWJ1dGVkU3VidGl0bGUsbGVhZGluZ0ltYWdlOmEoKS5sZWFkaW5nSW1hZ2UsbGVhZGluZ0FjY2Vzc29yeTphKCkubGVhZGluZ0FjY2Vzc29yeSxpc0Rpc2FibGVkOmEoKS5pc0Rpc2FibGVkfSksaXNUb2dnbGVkOkUsRGc6ITAsbmE6aCx4czooKT0+Xy5LKF8uVyx7ZGF0YTpBfSx7c3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhfLmtJLHtkYXRhOkYscXI6RSxvblRhcDprfSl9KSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZX0pKX0sIkoiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGNlYSxnSixkZWEsaEosaUosZWVhLGZlYSxnZWEsaGVhLGplYSxrZWEsbGVhLG1lYSxqSixrSixtSixuZWEsb2VhLHBlYSx0ZWEsdWVhLHFKLHJKLHNKLHdlYSx0SixpZWEsdUo7Y2VhPWZ1bmN0aW9uKGEsYj0yKXtfLnhJKGEsMTApO2Euai5wdXNoKGEucG9zKTthLmoucHVzaChiKTthLnBvcys9Yn07CmdKPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLnlJO2lmKGEhPT12b2lkIDApe2NlYShiLE1hdGguY2VpbChNYXRoLmxvZzIoYS5sZW5ndGgqNCsyKS83KSk7Xy53SShiLGEubGVuZ3RoKjEuMik7dmFyIGM9Xy51SShhLGIuYnVmLnN1YmFycmF5KGIucG9zKSk7Yi5wb3MrYz5iLmJ1Zi5sZW5ndGgmJihfLndJKGIsYyksYz1fLnVJKGEsYi5idWYuc3ViYXJyYXkoYi5wb3MpKSk7Yi5wb3MrPWM7YT1iLmoucG9wKCk7Yz1iLmoucG9wKCk7bGV0IGQ9Yi5wb3MtYy1hO2Zvcig7YS0tOyl7bGV0IGU9YT8xMjg6MDtiLnZpZXcuc2V0VWludDgoYysrLGQmMTI3fGUpO2Q+Pj03fX1iPW5ldyBVaW50OEFycmF5KGIuYnVmLmJ1ZmZlcixiLmJ1Zi5ieXRlT2Zmc2V0LGIucG9zKTtyZXR1cm4obmV3IFRleHREZWNvZGVyKCJ1dGYtOCIpKS5kZWNvZGUoYil9OwpkZWE9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm5bXTtiPV8uekkoYiwibWFpblBsYXlsaXN0RW50aXR5Iik7dmFyIGM9YS5tYWluUGxheWxpc3RFbnRpdHk/LltiXTtiPVtdO2lmKCFjPy52aWRlb3MpcmV0dXJuIGI7Zm9yKGxldCBkIG9mIGMudmlkZW9zKXtjPWE/Lm1haW5QbGF5bGlzdFZpZGVvRW50aXR5Py5bZF0/LnZpZGVvO2lmKCFjKWNvbnRpbnVlOyh7ZW50aXR5SWQ6Y309Xy5HSChjKSk7YyYmYi5wdXNoKGMpfXJldHVybiBifTtoSj1mdW5jdGlvbihhKXtyZXR1cm4iZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllcyJpbiBhfTsKaUo9ZnVuY3Rpb24oYSl7dmFyIGI9YS5tdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eSxjPVtdO2lmKCFiKXJldHVybiBjO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhiKSl7YTp7dmFyIGQ9YSxlPV8uR0goaCkuZW50aXR5SWQ7aWYoZSl7dmFyIGY9Xy5xQShkLCJtdXNpY1BsYXlsaXN0IixfLnpJKGUsIm11c2ljUGxheWxpc3QiKSk7ZD1fLnFBKGQsIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5IixfLnpJKGUsIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5IikpO2lmKGYmJmQpe2Y9e211c2ljUGxheWxpc3RFbnRpdHk6ZixtdXNpY1BsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpkfTticmVhayBhfX1mPXZvaWQgMH1kPU51bWJlcihiW2hdPy5hZGRlZFRpbWVzdGFtcE1pbGxpcyk7ZD1pc05hTihkKT8oMCxfLmVsKSgpOmQ7ZiE9PXZvaWQgMCYmYy5wdXNoKHtkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOmYsYWRkZWRUaW1lc3RhbXBNaWxsaXM6ZH0pfXJldHVybiBjfTsKZWVhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBTZXQ7Zm9yKGxldCBjIG9mIGEpaWYoIm11c2ljUGxheWxpc3RFbnRpdHkiaW4gYyYmIm11c2ljUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5ImluIGMpZm9yKGxldCBkIG9mIGMubXVzaWNQbGF5bGlzdEVudGl0eS50cmFja3MpYi5hZGQoZCk7cmV0dXJuIGJ9OwpmZWE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5tdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eSxjPVtdO2lmKCFiKXJldHVybltdO2ZvcihsZXQgbSBvZiBPYmplY3Qua2V5cyhiKSl7YTp7dmFyIGQ9YSxlPV8uR0gobSkuZW50aXR5SWQ7aWYoZSl7Yj1fLnFBKGQsIm11c2ljVHJhY2siLF8uekkoZSwibXVzaWNUcmFjayIpKTt2YXIgZj1fLnFBKGQsIm11c2ljQXJ0aXN0IixfLnpJKGUsIm11c2ljQXJ0aXN0IikpfHx7fTtiOnt2YXIgaD1lO2lmKGgpe2U9Xy5xQShkLCJwbGF5YmFja0RhdGEiLF8uekkoaCwicGxheWJhY2tEYXRhIikpPz9udWxsO3ZhciBrPV8ucUEoZCwidHJhbnNmZXIiLF8uekkoaCwidHJhbnNmZXIiKSk/P251bGwsbD1fLnFBKGQsIm9mZmxpbmVWaWRlb1N0cmVhbXMiLF8uekkoaCwib2ZmbGluZVZpZGVvU3RyZWFtcyIpKT8/bnVsbDtkPV8ucUEoZCwib2ZmbGluZVZpZGVvUG9saWN5IixfLnpJKGgsIm9mZmxpbmVWaWRlb1BvbGljeSIpKT8/bnVsbDtpZihlfHwKa3x8bHx8ZCl7ZD17cGxheWJhY2tEYXRhRW50aXR5OmUsdHJhbnNmZXJFbnRpdHk6ayxzdHJlYW1FbnRpdHk6bCxwb2xpY3lFbnRpdHk6ZH07YnJlYWsgYn19ZD12b2lkIDB9aWYoZCYmYiYmZil7Yj17bXVzaWNUcmFja0VudGl0eTpiLG11c2ljQXJ0aXN0RW50aXR5OmYsLi4uZH07YnJlYWsgYX19Yj12b2lkIDB9Zj1OdW1iZXIoXy5xQShhLCJtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eSIsbSk/LmFkZGVkVGltZXN0YW1wTWlsbGlzKTtmPWlzTmFOKGYpPygwLF8uZWwpKCk6ZjtiIT09dm9pZCAwJiZjLnB1c2goe2Rvd25sb2FkZWRNdXNpY0VudGl0aWVzOmIsYWRkZWRUaW1lc3RhbXBNaWxsaXM6Zn0pfXJldHVybiBjfTsKZ2VhPWZ1bmN0aW9uKGEpe3ZhciBiPWZlYShhKS5zb3J0KChjLGQpPT5kLmFkZGVkVGltZXN0YW1wTWlsbGlzLWMuYWRkZWRUaW1lc3RhbXBNaWxsaXMpLm1hcChjPT4iZG93bmxvYWRlZE11c2ljRW50aXRpZXMiaW4gYz9jLmRvd25sb2FkZWRNdXNpY0VudGl0aWVzOmhKKGMpP2MuZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczp7fSk7YT1pSihhKS5zb3J0KChjLGQpPT5kLmFkZGVkVGltZXN0YW1wTWlsbGlzLWMuYWRkZWRUaW1lc3RhbXBNaWxsaXMpLm1hcChjPT4iZG93bmxvYWRlZE11c2ljRW50aXRpZXMiaW4gYz9jLmRvd25sb2FkZWRNdXNpY0VudGl0aWVzOmhKKGMpP2MuZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczp7fSk7cmV0dXJue2Rvd25sb2FkZWRNdXNpY0VudGl0aWVzOmIsZG93bmxvYWRlZE11c2ljUGxheWxpc3RFbnRpdGllczphfX07CmhlYT1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBTZXQsZD1pSihhKS5tYXAoZT0+ZS5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzKTtkPWVlYShkKTtmb3IobGV0IGUgb2YgZCkoe2VudGl0eUlkOmR9PV8uR0goZSkpLGQmJmMuYWRkKGQpOyh7ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6YX09Z2VhKGEpKTtyZXR1cm4gYS5maWx0ZXIoZT0+e2lmKGUubXVzaWNUcmFja0VudGl0eT8udmlkZW9JZCl7ZT1lLm11c2ljVHJhY2tFbnRpdHk7dmFyIGY7aWYoZj1iPT09IlBQT00iPyEwOiFjLmhhcyhlLnZpZGVvSWQpKWI6c3dpdGNoKGU9ZS5tdXNpY1ZpZGVvVHlwZSxiKXtjYXNlICJQUFNFIjpmPWU9PT0iTVVTSUNfVklERU9fVFlQRV9QT0RDQVNUX0VQSVNPREUiO2JyZWFrIGI7ZGVmYXVsdDpmPWUhPT0iTVVTSUNfVklERU9fVFlQRV9QT0RDQVNUX0VQSVNPREUifWU9Zn1lbHNlIGU9ITE7cmV0dXJuIGV9KS5tYXAoZT0+ZS5tdXNpY1RyYWNrRW50aXR5Py52aWRlb0lkKX07CmplYT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybltdO2lmKE9iamVjdC52YWx1ZXMoaWVhKS5pbmNsdWRlcyhiKSlyZXR1cm4gaGVhKGEsYik7Yj1fLnpJKGIsIm11c2ljUGxheWxpc3QiKTtiPWEubXVzaWNQbGF5bGlzdD8uW2JdO2E9W107aWYoIWI/LnRyYWNrcylyZXR1cm4gYTtmb3IobGV0IGMgb2YgYi50cmFja3MpKHtlbnRpdHlJZDpifT1fLkdIKGMpKSxiJiZhLnB1c2goYik7cmV0dXJuIGF9OwprZWE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFNldChhKTtpZihiLmhhcygiVFJBTlNGRVJfU1RBVEVfRkFJTEVEIikmJmIuc2l6ZT09PTEpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCI7Yi5kZWxldGUoIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCIpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIikmJmIuc2l6ZT09PTEpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI7Yi5kZWxldGUoIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKTtpZihiLmhhcygiVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIikmJmIuc2l6ZT09PTF8fGIuc2l6ZT09PTApcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI7YT1iLmhhcygiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIik7Yj1iLmhhcygiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiKTtyZXR1cm4gYXx8Yj8iVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIjoiVFJBTlNGRVJfU1RBVEVfQ09NUExFVEUifTsKbGVhPWZ1bmN0aW9uKGEsYil7Yj1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9SRU1JWCI/amVhKGEsYik6ZGVhKGEsYik7aWYoIWIubGVuZ3RoKXJldHVybiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjtiPWIubWFwKGM9PntjPWM/KGM9Xy5xQShhLCJ0cmFuc2ZlciIsXy56SShjLCJ0cmFuc2ZlciIpKSk/Yy50cmFuc2ZlclN0YXRlPz8iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iOiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjtyZXR1cm4gY30pO3JldHVybiBrZWEoYil9O21lYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImRvd25sb2FkU3RhdHVzRW50aXR5IixfLnpJKGIsImRvd25sb2FkU3RhdHVzRW50aXR5IikpPy5kb3dubG9hZFN0YXRlPT09IkRPV05MT0FEX1NUQVRFX1VTRVJfREVMRVRFRCI/ITA6ITF9O2pKPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBDU1MhPT0idW5kZWZpbmVkIiYmQ1NTLnN1cHBvcnRzPy4oInNlbGVjdG9yKDpoYXMoKikpIil9OwprSj1mdW5jdGlvbihhKXtyZXR1cm4gYS52aXNpYmlsaXR5IT09ImhpZGRlbiImJmEuZGlzcGxheSE9PSJub25lIn07bUo9ZnVuY3Rpb24oYSl7aWYoakooKXx8YS50YWdOYW1lIT09IkRFVEFJTFMiPyFhLm1hdGNoZXMobEopOmEucXVlcnlTZWxlY3Rvcigic3VtbWFyeSIpIT09bnVsbClyZXR1cm4tMTthPWEuZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpfHwiMCI7cmV0dXJuIE51bWJlcihhKX07bmVhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNvbWUoYj0+bUooYik+MCl9O29lYT1mdW5jdGlvbihhKXtpZihhLnRleHRDb250ZW50fHxhLmFyaWFMYWJlbClyZXR1cm4hMDtpZihhIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCl7aWYoIWEubGFiZWxzKXJldHVybiExO2ZvcihsZXQgYiBvZiBhLmxhYmVscylpZihiLnRleHRDb250ZW50KXJldHVybiEwfXJldHVybiExfTtwZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc29ydCgoYixjKT0+bUooYyktbUooYikpfTsKXy5uSj1mdW5jdGlvbihhKXthPUFycmF5LmZyb20oYS5xdWVyeVNlbGVjdG9yQWxsKGxKKSkuZmlsdGVyKGI9PihrSihiLnN0eWxlKT9rSih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShiKSk6ITEpJiZvZWEoYikpO3JldHVybiBuZWEoYSk/cGVhKGEpOmF9Owp0ZWE9ZnVuY3Rpb24oYSxiLGMpe2lmKGIpcmV0dXJuW29KXTtzd2l0Y2goYSl7Y2FzZSAiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiOmNhc2UgIlRSQU5TRkVSX1NUQVRFX0NPTVBMRVRFIjpyZXR1cm5bcEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX1BSRV9UUkFOU0ZFUiI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJSSU5HIjpyZXR1cm4gYz9bcEpdOltxZWEscEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX1BBVVNFRF9CWV9VU0VSIjpyZXR1cm5bcmVhLHBKXTtjYXNlICJUUkFOU0ZFUl9TVEFURV9GQUlMRUQiOmNhc2UgIlRSQU5TRkVSX1NUQVRFX1dBSVRJTkdfRk9SX1BMQVlFUl9SRVNQT05TRV9SRUZSRVNIIjpyZXR1cm5bc2VhLHBKXTtkZWZhdWx0OnJldHVybltvSl19fTsKdWVhPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0ZWEoYSxiLGQpLm1hcChlPT57dmFyIGY9ZS50ZXh0LGg9ZS5pY29uVHlwZSxrPWUuaWk7ZT1lLktoO2Y9Zj97Y29udGVudDpmfTp2b2lkIDA7aD1oJiZ7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6aH19XX07dmFyIGw9Xy5xZChjKTtpZihsKXtsZXQgbT1fLkIobCxfLkJJKSxuPV8uQihsLF8uQUkpO20mJms/bS5hY3Rpb249azpuJiZlJiYobi5hY3Rpb249ZSl9cmV0dXJue3RpdGxlOmYsbGVhZGluZ0ltYWdlOmgscmVuZGVyZXJDb250ZXh0OmwmJntjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6bH19fX19KX07cUo9ZnVuY3Rpb24oYSl7YT1fLnNIKGEucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5CKGEsXy5CSSk/LnZpZGVvSWR9O3JKPWZ1bmN0aW9uKGEpe2E9Xy5zSChhLnJlbmRlcmVyQ29udGV4dCk7cmV0dXJuIF8uQihhLF8uQUkpPy5wbGF5bGlzdElkfTsKc0o9ZnVuY3Rpb24oYSl7YT1fLkIoYSxfLlpDKTtyZXR1cm4hIWEmJl8udEgoYS5yZW5kZXJlckNvbnRleHQpfTt3ZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGlzdEl0ZW1zPy5zb21lKGI9PntpZihzSihiKSlyZXR1cm4hMDtiPV8uQihiLHZlYSk7cmV0dXJuISFiJiYoXy50SChiLnJlbmRlcmVyQ29udGV4dCl8fHNKKGIuZGVmYXVsdExpc3RJdGVtKXx8c0ooYi50b2dnbGVkTGlzdEl0ZW0pKX0pfTt0Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoO2FbYj09PS0xP2MtMTooYi0xK2MpJWNdPy5mb2N1cygpfTtpZWE9e2RDOiJQUEFEIixPQzoiUFBEUCIsTEY6IlBQT00iLHFHOiJQUFJDIix3RzoiUFBTRSIseEc6IlBQU1YifTt1Sj0iYVtocmVmXSBhW3RhYmluZGV4XSBhcmVhW2hyZWZdIGlmcmFtZSBbdGFiaW5kZXhdIFtjb250ZW50RWRpdGFibGVdIHN1bW1hcnkgaW5wdXQ6bm90KFtkaXNhYmxlZF0pIHNlbGVjdDpub3QoW2Rpc2FibGVkXSkgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSkgb2JqZWN0Om5vdChbZGlzYWJsZWRdKSIuc3BsaXQoIiAiKTsKakooKSYmdUoucHVzaCgiZGV0YWlsczpub3QoOmhhcyhzdW1tYXJ5KSkiKTt2YXIgbEo9dUouam9pbigiLCIpO3ZhciB2ZWE9bmV3IF8uSSgidG9nZ2xlYWJsZUxpc3RJdGVtVmlld01vZGVsIik7dmFyIHhlYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLGNsYXNzTmFtZTpjLG5hOmQsSWE6ZSxCYzpmfT1fLkRDKGEse25hOiExLElhOiExLEJjOiExfSksaD1fLmNJKG49PnthOnt2YXIgcD1iKCkuZW50aXR5S2V5LHI9YigpLmVudGl0eVNlbGVjdG9yVHlwZTtpZihyKXN3aXRjaChyKXtjYXNlICJUT0dHTEVBQkxFX0xJU1RfSVRFTV9FTlRJVFlfU0VMRUNUT1JfVFlQRV9UT0dHTEVfTUVOVV9TRVJWSUNFX0lURU1fRU5USVRZIjppZighcClicmVhaztuPShuPV8ueEEuZUIobixwKSkmJm4uaXNUb2dnbGVkIT09dm9pZCAwP3tpc1RvZ2dsZWQ6bi5pc1RvZ2dsZWR9OnZvaWQgMDticmVhayBhO2RlZmF1bHQ6Xy5JcChuZXcgXy5YaigiRXJyb3I6IGVudGl0eVNlbGVjdG9yVHlwZSBkZWZpbmVkIGJ1dCBub3QgbWF0Y2hlZCBpbiBzZWxlY3Rvci4iLG4scikpfW49dm9pZCAwfXJldHVybiBufSksW2ssbF09Xy5BQygoKT0+aCgpPy5pc1RvZ2dsZWQhPT12b2lkIDA/aCgpPy5pc1RvZ2dsZWQ6YigpLmluaXRpYWxTdGF0ZT8uaXNUb2dnbGVkPz8KYigpLmluaXRpYWxJc1RvZ2dsZWQ/PyExKSxtPSgpPT57dmFyIG49aygpP2IoKS50b2dnbGVkTGlzdEl0ZW06YigpLmRlZmF1bHRMaXN0SXRlbTtyZXR1cm4gXy5CKF8uQihuLF8uWkMpPy5yZW5kZXJlckNvbnRleHQsXy5ZQyk/LmxhYmVsfTtyZXR1cm4gXy5LKCJ0b2dnbGVhYmxlLWxpc3QtaXRlbS12aWV3LW1vZGVsIix7ZWw6Xy5yRihfLnVIKCgpPT5iKCkucmVuZGVyZXJDb250ZXh0LHtvblRhcDoobixwKT0+e3AoKTtoKCk/LmlzVG9nZ2xlZCE9PXZvaWQgMHx8bCghaygpKX19KSksY2xhc3M6Xy5QKCJ0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWxIb3N0IixjKX0sXy5LKF8uTyx7QTooKT0+e2lmKGsoKSl7dmFyIG49YigpLnRvZ2dsZWRMaXN0SXRlbTtuPV8uQihuLF8uWkMpfWVsc2Ugbj1iKCkuZGVmYXVsdExpc3RJdGVtLG49Xy5CKG4sXy5aQyk7cmV0dXJuIG59LHRoZW46bj0+Xy5LKF8uQ0Qse2RhdGE6bixpc1RvZ2dsZWQ6ayxuYTpkLElhOmUsQmM6ZixhcmlhTGFiZWw6bSwKYXJpYVByZXNzZWQ6a30pfSkpfSwiSyIpO3ZhciB5ZWE9Xy5hQSgiRE9XTkxPQUQiLHt9LCJEb3dubG9hZCIpLHplYT1fLmFBKCJERUxFVEVfRlJPTV9ET1dOTE9BRFMiLHt9LCJEZWxldGUgZnJvbSBkb3dubG9hZHMiKSxBZWE9Xy5hQSgiUkVUUlkiLHt9LCJSZXRyeSIpLEJlYT1fLmFBKCJQQVVTRV9ET1dOTE9BRElORyIse30sIlBhdXNlIGRvd25sb2FkaW5nIiksQ2VhPV8uYUEoIlJFU1VNRV9ET1dOTE9BRCIse30sIlJlc3VtZSBkb3dubG9hZCIpLG9KPXt0ZXh0OnllYSxpY29uVHlwZToiT0ZGTElORV9ET1dOTE9BRCIsaWk6IkFDVElPTl9BREQiLEtoOiJBQ1RJT05fQUREIn0scEo9e3RleHQ6emVhLGljb25UeXBlOiJERUxFVEUiLGlpOiJBQ1RJT05fUkVNT1ZFIixLaDoiQUNUSU9OX1JFTU9WRSJ9LHNlYT17dGV4dDpBZWEsaWNvblR5cGU6Ik9GRkxJTkVfRE9XTkxPQUQiLGlpOiJBQ1RJT05fUkVUUlkiLEtoOiJBQ1RJT05fUkVNT1ZFIn0scWVhPXt0ZXh0OkJlYSxpY29uVHlwZToiT0ZGTElORV9QQVVTRSIsaWk6IkFDVElPTl9QQVVTRSIsCktoOiJBQ1RJT05fUEFVU0UifSxyZWE9e3RleHQ6Q2VhLGljb25UeXBlOiJPRkZMSU5FX0RPV05MT0FEIixpaToiQUNUSU9OX1JFU1VNRSIsS2g6IkFDVElPTl9SRVNVTUUifTtfLkwoYT0+e3ZhciBiPV8uY0koaD0+e3ZhciBrPXFKKGEuZGF0YSgpKSxsPXJKKGEuZGF0YSgpKTtrPyhoPWguZW50aXRpZXMsaz8obD1fLnFBKGgsInRyYW5zZmVyIixfLnpJKGssInRyYW5zZmVyIikpKT9rPWwudHJhbnNmZXJTdGF0ZT8/IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iOihsPV8ucUEoaCwib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5IixfLnpJKGssIm9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eSIpKSxrPV8ucUEoaCwibWFpblZpZGVvRW50aXR5IixfLnpJKGssIm1haW5WaWRlb0VudGl0eSIpKSxrPWx8fGs/IlRSQU5TRkVSX1NUQVRFX1RSQU5TRkVSX0lOX1FVRVVFIjoiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpOms9IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKTprPWw/bGVhKGguZW50aXRpZXMsbCk6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO3JldHVybiBrfSksYz1fLkRJKG1lYSwoKT0+cUooYS5kYXRhKCkpKSwKZD1fLmNJKGg9Pnt2YXIgaz1xSihhLmRhdGEoKSksbD1ySihhLmRhdGEoKSk7IWsmJmw/KGs9aC5lbnRpdGllcyxsPyhsPWdKKGwpLGs9Xy5xQShrLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIsXy56SShsLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIpKT8uYWRkVG9PZmZsaW5lQnV0dG9uU3RhdGU/PyJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCIpOms9IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9ESVNBQkxFRCIpOihsPWguZW50aXRpZXMsaz8oaz1nSihrKSxrPV8ucUEobCwib2ZmbGluZWFiaWxpdHlFbnRpdHkiLF8uekkoaywib2ZmbGluZWFiaWxpdHlFbnRpdHkiKSk/LmFkZFRvT2ZmbGluZUJ1dHRvblN0YXRlPz8iQUREX1RPX09GRkxJTkVfQlVUVE9OX1NUQVRFX0VOQUJMRUQiKTprPSJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRElTQUJMRUQiKTtyZXR1cm4ga30pLGU9KCk9PnVlYShiKCksYygpLF8uc0goYS5kYXRhKCkucmVuZGVyZXJDb250ZXh0KSwKISFySihhLmRhdGEoKSkpLGY9KCk9PmQoKSE9PSJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCI7cmV0dXJuIF8uSygieXQtZG93bmxvYWQtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtjbGFzczoieXREb3dubG9hZExpc3RJdGVtVmlld01vZGVsSG9zdCIsaGlkZGVuOmZ9LF8uSyhfLk8se0E6KCk9PiFmKCksdGhlbjooKT0+Xy5LKF8uTyx7QTplLHRoZW46aD0+Xy5LKF8uZ0cse3BhOmh9LGs9Pl8uSyhfLkNELHtkYXRhOmssbmE6YS5uYSxJYTphLklhLEJjOmEuQmMsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmEuZGlzYWJsZUhvcml6b250YWxQYWRkaW5nfSkpfSl9KSl9LCJMIikuaWRvbUNvbXBhdD0hMDtfLkJEPV8uTCgoe2RhdGE6YSxuYTpiLGNlOmMsQmM6ZCxpc092ZXJsYXk6ZSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Zn0pPT57dmFyIGg9KCk9PndlYShhKCkpJiZkPy4oKTtyZXR1cm4gXy5LKCJ5dC1saXN0LXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0TGlzdFZpZXdNb2RlbEhvc3QiLHt5dExpc3RWaWV3TW9kZWxIb3N0S2Fpb3NTcGF0TmF2Ol8uZ3ImJmRvY3VtZW50LmJvZHkuaGFzQXR0cmlidXRlKCJzcGF0aWFsLW5hdmlnYXRpb24tZW5hYmxlZCIpJiZkb2N1bWVudC5ib2R5LmdldEF0dHJpYnV0ZSgic3BhdGlhbC1uYXZpZ2F0aW9uLWVuYWJsZWQiKT09PSJ0cnVlIn0pLHJvbGU6KCk9PmgoKT8ibWVudSI6Imxpc3QiLHN0eWxlOl8uSUUoeyJtYXgtaGVpZ2h0IjooKT0+e3ZhciBrPWEoKT8udmlzaWJsZUVsZW1lbnRDb3VudDtpZihrKXJldHVybmAkeyhrKy41KSo0MH1weGB9fSksIm9uOmtleWRvd24iOmZ1bmN0aW9uKGspe2lmKGQ/LigpJiZfLngoIndlYl9lbmFibGVfYXJyb3dfa2V5X25hdmlnYXRpb25faW5fZHJvcGRvd24iKSl7dmFyIGw9Cl8ubkooay5jdXJyZW50VGFyZ2V0KTtpZihsLmxlbmd0aCE9PTApe3ZhciBtPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtzd2l0Y2goay5rZXkpe2Nhc2UgIkFycm93RG93biI6ay5wcmV2ZW50RGVmYXVsdCgpO2xbKG0rMSklbC5sZW5ndGhdPy5mb2N1cygpO2JyZWFrO2Nhc2UgIkFycm93VXAiOmsucHJldmVudERlZmF1bHQoKTt0SihsLG0pO2JyZWFrO2Nhc2UgIlRhYiI6ay5wcmV2ZW50RGVmYXVsdCgpLGsuc2hpZnRLZXk/dEoobCxtKTpsWyhtKzEpJWwubGVuZ3RoXT8uZm9jdXMoKX19fX19LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5saXN0SXRlbXN9LHtsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6a30pPT5fLksoXy5DRCx7ZGF0YTprLElhOmgsbmE6YixjZTpjLEJjOmQsaXNPdmVybGF5OmUsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmZ9KSx0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOmt9KT0+Xy5LKHhlYSwKe2RhdGE6ayxJYTpoLG5hOmIsQmM6ZH0pLGRvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWw6KCk9Pl8uSyhfLklCLG51bGwpLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOigpPT5fLksoXy5JQixudWxsKX0pKX0sIk0iKTtfLkJELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIkh4amxiYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLktKPW5ldyBfLkkoImJ1dHRvblZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNEPV8uTChhPT57ZnVuY3Rpb24gYihuKXt2YXIgcD1jKCk7dmFyIHI9ZCgpO3IhPT12b2lkIDA/cD1yOihyPV8uQihwLnNlY29uZGFyeUJ1dHRvbixfLktKKSxwPV8uQihwLnByaW1hcnlCdXR0b24sXy5LSik/LmlzRnVsbFdpZHRoIT09ITF8fHImJnI/LmlzRnVsbFdpZHRoIT09ITE/MTozKTtyZXR1cm4gbj09PXB9dmFyIHtkYXRhOmMsdHlwZTpkLGRpc2FibGVQYWRkaW5nOmUsTmk6ZixYcTpofT1fLkRDKGEse3R5cGU6dm9pZCAwLGRpc2FibGVQYWRkaW5nOiExLE5pOiExfSksaz0oKT0+YygpLnN0YWNraW5nPT09IlBBTkVMX0ZPT1RFUl9TVEFDS0lOR19WRVJUSUNBTCIsbD0oKT0+KHtkaXNhYmxlZDpmKCksc3RhdGU6ZigpPyJkaXNhYmxlZCI6ImFjdGl2ZSJ9KSxtPSgpPT5jKCkubGVhZGluZ0xhYmVsfHxjKCkudHJhaWxpbmdMYWJlbDtyZXR1cm4gXy5LKCJ5dC1wYW5lbC1mb290ZXItdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEhvc3QiLAp7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEhpZGVEaXZpZGVyOigpPT5jKCkuc2hvdWxkSGlkZURpdmlkZXIseXRQYW5lbEZvb3RlclZpZXdNb2RlbERpc2FibGVQYWRkaW5nOmV9KX0sXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsVGV4dFJvdyIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxSb3dCb3R0b21QYWRkaW5nOigpPT57dmFyIG49YygpO3JldHVybiEoIW4ubGVhZGluZ0xhYmVsJiYhbi50cmFpbGluZ0xhYmVsfHwhbi5wcmltYXJ5QnV0dG9uJiYhbi5zZWNvbmRhcnlCdXR0b24pfX0pfSxfLksoXy5WLHt0ZXh0OigpPT5jKCkubGVhZGluZ0xhYmVsLGNsYXNzTmFtZTpfLlAoe3l0UGFuZWxGb290ZXJWaWV3TW9kZWxUZXh0UGFkZGluZzptfSl9KSxfLksoXy5WLHt0ZXh0OigpPT5jKCkudHJhaWxpbmdMYWJlbH0pKX0pLF8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2sifSwKXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UGFuZWxGb290ZXJWaWV3TW9kZWxQcmltYXJ5QnV0dG9uIix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblN0YWNrVG9wQnV0dG9uOigpPT5jKCkuc2Vjb25kYXJ5QnV0dG9ufSl9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5wcmltYXJ5QnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpufSk9Pl8uSyhfLkhELHtkYXRhOm4sYnV0dG9uT3ZlcnJpZGVzOmwsb25DbGljazpofSl9KSksXy5LKF8uVyx7ZGF0YTooKT0+YygpLnNlY29uZGFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDpfLkhEfSkpfSksXy5LKF8uTyx7QTooKT0+IWsoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvdyIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dUcmFpbGluZzooKT0+YigzKX0pfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0xlZnRCdXR0b24iLAp7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0Z1bGxXaWR0aDooKT0+YigxKSx5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93SGlkZGVuOigpPT4hYygpLnNlY29uZGFyeUJ1dHRvbnx8YigwKSx5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93U2hyaW5rOigpPT5iKDIpfSl9LF8uSyhfLlcse2RhdGE6KCk9PmMoKS5zZWNvbmRhcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6Xy5IRH0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbFByaW1hcnlCdXR0b24iLHt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RnVsbFdpZHRoOigpPT5iKDApfHxiKDEpLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dFeHBhbmQ6KCk9PmIoMil9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnByaW1hcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOm59KT0+Xy5LKF8uSEQse2RhdGE6bixidXR0b25PdmVycmlkZXM6bCwKb25DbGljazpofSl9KSkpfSkpfSwiRmEiKTtfLnNELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImxQV2prYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmVMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiakJpc2FmIik7cmV0dXJuIF8uVEN9O18uZkw9Xy5jRCgoKT0+Xy5lTCgpLCJiYWRnZVNoYXBlIik7Xy5ZdChfLkpELGE9PnthLkooImJhZGdlU2hhcGUiLCJqQmlzYWYiLF8uZUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5ZmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlTnpSYXRpbmdHcmVlbkNpcmNsZSI7Y2FzZSAxOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1llbGxvd0NpcmNsZSI7Y2FzZSAyOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ1JlZFNxdWFyZSI7Y2FzZSAzOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsR3JlZW5TcXVhcmUiO2Nhc2UgNDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsdWVTcXVhcmUiO2Nhc2UgNTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZUJsdWVTcXVhcmUiO2Nhc2UgNjpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFllbGxvd1NxdWFyZSI7CmNhc2UgNzpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVllbGxvd1NxdWFyZSI7Y2FzZSA4OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsT3JhbmdlU3F1YXJlIjtjYXNlIDk6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VPcmFuZ2VTcXVhcmUiO2Nhc2UgMTA6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxSZWRTcXVhcmUiO2Nhc2UgMTE6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nTGFyZ2VSZWRTcXVhcmUiO2Nhc2UgMTI6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxCbGFja1NxdWFyZSI7Y2FzZSAxMzpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZUJsYWNrU3F1YXJlIn19LHpmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQkFER0VfQ09NTUVSQ0UiOmNhc2UgIkJBREdFX01FTUJFUlNfT05MWSI6cmV0dXJuIDEwOwpjYXNlICJCQURHRV9ESVNDT1VOVCI6cmV0dXJuIDg7Y2FzZSAiQkFER0VfU1RBVFVTX05FVyI6cmV0dXJuIDEzO2Nhc2UgIkJBREdFX1BSRU1JVU0iOnJldHVybiA3O2Nhc2UgIkJBREdFX1BST01PVEVEIjpyZXR1cm4gNDtjYXNlICJCQURHRV9QUk9NT1RFRF9JTlZFUlRFRCI6cmV0dXJuIDU7Y2FzZSAiQkFER0VfTUVESUEiOnJldHVybiAxO2Nhc2UgIkJBREdFX1RJTUVMWSI6cmV0dXJuIDY7Y2FzZSAiQkFER0VfTElWRV9OT1ciOnJldHVybiAxOTtjYXNlICJCQURHRV9TVEFUVVNfQ09NUExFVEUiOnJldHVybiAxNDtjYXNlICJCQURHRV9TVEFUVVNfV0FSTklORyI6cmV0dXJuIDE1O2Nhc2UgIkJBREdFX1NUQVRVU19FUlJPUiI6cmV0dXJuIDE2O2Nhc2UgIkJBREdFX1NUQVRVU19ERUZBVUxUIjpyZXR1cm4gMTc7ZGVmYXVsdDpyZXR1cm4gMH19LEFmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQkFER0VfTlpfUkFUSU5HX0dSRUVOX0NJUkNMRSI6cmV0dXJuIDA7Y2FzZSAiQkFER0VfTlpfUkFUSU5HX1lFTExPV19DSVJDTEUiOnJldHVybiAxOwpjYXNlICJCQURHRV9OWl9SQVRJTkdfUkVEX1NRVUFSRSI6cmV0dXJuIDI7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0dSRUVOX1NRVUFSRSI6cmV0dXJuIDM7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0JMVUVfU1FVQVJFIjpyZXR1cm4gNDtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfQkxVRV9TUVVBUkUiOnJldHVybiA1O2Nhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9ZRUxMT1dfU1FVQVJFIjpyZXR1cm4gNjtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfWUVMTE9XX1NRVUFSRSI6cmV0dXJuIDc7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX09SQU5HRV9TUVVBUkUiOnJldHVybiA4O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9PUkFOR0VfU1FVQVJFIjpyZXR1cm4gOTtjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfUkVEX1NRVUFSRSI6cmV0dXJuIDEwO2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9SRURfU1FVQVJFIjpyZXR1cm4gMTE7CmNhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9CTEFDS19TUVVBUkUiOnJldHVybiAxMjtjYXNlICJCQURHRV9CUl9SQVRJTkdfTEFSR0VfQkxBQ0tfU1FVQVJFIjpyZXR1cm4gMTN9fTt2YXIgQmZhPV8uTCgoe2RhdGE6YX0pPT5fLksoImJyLW56LWJhZGdlLXNoYXBlIix7Y2xhc3M6Xy5QKCgpPT55ZmEoYSgpLnVpKSkscm9sZTooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0PyJpbWciOnZvaWQgMCwiYXJpYS1sYWJlbCI6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dH0sKCk9PmEoKT8udGV4dCksInVhIik7Xy5FRD1fLkwoYT0+e3ZhciBiPSgpPT57dmFyIGM9YS5kYXRhKCk7aWYoYyl7dmFyIGQ9ISFhLnpMPy4oKSxlPWEub2c/LigpLGY9YS5Eaj8uKCksaD1hLmVwPy4oKSxrPWEucXg/LigpO2E6c3dpdGNoKGMuYmFkZ2VTdHlsZSl7Y2FzZSAiQkFER0VfT1ZFUkxBWSI6dmFyIGw9ITA7YnJlYWsgYTtkZWZhdWx0Omw9ITF9Yz17dHlwZTpkPzE4OnpmYShjLmJhZGdlU3R5bGUpLHVpOkFmYShjLmJhZGdlU3R5bGUpLHRleHQ6Yy5iYWRnZVRleHQsaWNvbjpjLmljb25OYW1lLGlzT3ZlcmxheTpsLG9nOmV8fF8ueCgid2ViX21vZGVybl9iYWRnZV92aWV3X21vZGVsIiksYWNjZXNzaWJpbGl0eVRleHQ6Yy5hY2Nlc3NpYmlsaXR5TGFiZWx8fF8uQihjLnJlbmRlcmVyQ29udGV4dCxfLllDKT8ubGFiZWwsRGo6ZixlcDpoLG9BOmssbnM6Xy5CKGMudG9vbHRpcE9uSG92ZXIsXy5jSyk/LnRvb2x0aXBUZXh0fX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfTtyZXR1cm4gXy5LKCJ5dC1iYWRnZS12aWV3LW1vZGVsIiwKe2NsYXNzOl8uUCgieXRCYWRnZVZpZXdNb2RlbEhvc3QiLGEuY2xhc3MpfSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4hIWIoKT8udWl9LCgpPT5fLksoQmZhLHtkYXRhOigpPT5iKCl9KSksXy5LKF8uQ0Use3doZW46KCk9PiEhYigpJiYhYigpLnVpfSwoKT0+Xy5LKF8uZkwse2RhdGE6KCk9PmIoKX0pKSkpfSwidmEiKTtfLkVELmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIlB6VWRaYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnZKPWZ1bmN0aW9uKGEsYixjLGQpe2R8fChkPXtidWJibGVzOiEwLGNhbmNlbGFibGU6ITEsY29tcG9zZWQ6ITB9KTtjIT09bnVsbCYmYyE9PXZvaWQgMCYmKGQuZGV0YWlsPWMpO3ZhciBlPW5ldyBDdXN0b21FdmVudChiLGQpO18uRUEoKCk9PnZvaWQgYS5kaXNwYXRjaEV2ZW50KGUpKTtyZXR1cm4gZX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZEw9ZnVuY3Rpb24oKXt9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnJFPV8uTChhPT57dmFyIHtGSTpiLGZGOmMscEM6ZCxhc3NldFR5cGU6ZSxRZzpmLGtoOmgsdms6ayx6azpsLFB3Om0scWs6bixVbzpwLGJ1dHRvblN0eWxlOnIsRXo6dCxQcjp2LGNvbnRlbnRBbGlnbm1lbnQ6eixpc0Z1bGxzY3JlZW46RSxrcDpBLHdpZHRoOkYsbWF4SGVpZ2h0OkMsdXE6RyxudDpELHNxOkgsbHQ6Un09Xy5EQyhhLHtQdzowLFVvOjAsYnV0dG9uU3R5bGU6MCxjb250ZW50QWxpZ25tZW50OjAsbWF4SGVpZ2h0OjAsaXNGdWxsc2NyZWVuOiExLGtwOiExLGtoOiEwLHVxOiExLHNxOiExfSk7YT10PygpPT50KHtidXR0b25PdmVycmlkZXM6KCk9Pih7c3R5bGU6cj8uKCk9PT0xPyJjYWxsLXRvLWFjdGlvbiI6Im1vbm8iLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9KSxjbGFzc05hbWU6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRCdXR0b246ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc0lubGluZVN0cmV0Y2hlZDooKT0+cD8uKCk9PT0KMHx8cD8uKCk9PT0yfSl9KTp2b2lkIDA7dmFyIE09dj8oKT0+dih7YnV0dG9uT3ZlcnJpZGVzOntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9LGNsYXNzTmFtZTpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkOigpPT5wPy4oKT09PTB8fHA/LigpPT09Mn0pfSk6dm9pZCAwLFM9KCk9PighIWYmJmgoKXx8ISFrfHwhIWwpJiZtKCk9PT0wO3JldHVybiBfLksoImRpYWxvZy1sYXlvdXQiLHtlbDpfLnJGKGIsXy5kTCksY2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRIb3N0OiEwLHl0U3BlY0RpYWxvZ0xheW91dEZ1bGxzY3JlZW46RSx5dFNwZWNEaWFsb2dMYXlvdXRSZXNwb25zaXZlOigpPT4hRSgpJiYhQSgpLHl0U3BlY0RpYWxvZ0xheW91dEV4dGVuZGVkTWF4SGVpZ2h0OigpPT5DKCk9PT0xLHl0U3BlY0RpYWxvZ0xheW91dEFzc2V0SW5zZXQ6KCk9PgplPy4oKT09PTF9KSxzdHlsZTooKT0+Rj8uKCkhPT12b2lkIDA/YHdpZHRoOiAke0YoKX1weDtgOiIifSxjP18uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRJY29uOiEwLHl0U3BlY0RpYWxvZ0xheW91dEljb25BYm92ZU1lZGlhOigpPT4hIWQmJm0oKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0SWNvbkNlbnRlckFsaWduOigpPT56KCk9PT0xfSl9LF8uSyhjLG51bGwpKTpudWxsLF8uSyhfLk8se0E6Ryx0aGVuOigpPT5EP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckNvbnRhaW5lciJ9LF8uSyhELG51bGwpKTpudWxsLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTpTLHRoZW46KCk9Pl8uSyhZUCx7Y29udGVudEFsaWdubWVudDp6LHZrOmssems6bCxRZzpmLGtoOmgsVGw6ISFkfSl9KSxkP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dEFzc2V0In0sXy5LKGQse2NsYXNzTmFtZToieXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJdGVtIn0pKToKbnVsbCl9KSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Q29udGFpbmVyOigpPT4hQSgpLHl0U3BlY0RpYWxvZ0xheW91dENlbnRlckFsaWduOigpPT56Py4oKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0VG9wUGFkZGluZzooKT0+IVMoKSYmIUEoKSYmIUcoKSYmIShmJiZoKCkmJiFEJiZtPy4oKT09PTEpfHwhIWQmJm0/LigpPT09MH0pfSxfLksoXy5PLHtBOigpPT5mJiZoKCkmJiFEJiZtPy4oKT09PTEsdGhlbjooKT0+Xy5LKFlQLHtjb250ZW50QWxpZ25tZW50Onosdms6ayx6azpsLFFnOmYsa2g6aCxUbDohMX0pfSksbj9fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRDb250ZW50In0sXy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dENvbnRlbnRJbm5lcjooKT0+IUEoKX0pfSxfLksobixudWxsKSkpOm51bGwsXy5LKF8uTyx7QTpILHRoZW46KCk9PlI/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVyIn0sCl8uSyhSLG51bGwpKTpudWxsfSksYXx8TT9fLksoUmlhLHthdzpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEZvb3RlckNvbnRhaW5lcjohMCx5dFNwZWNEaWFsb2dMYXlvdXRGb290ZXI6ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nQnV0dG9uc1N0YWNrZWQ6KCk9PnA/LigpPT09Mix5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lRW5kOigpPT5wPy4oKT09PTF9KSxZdDphLGN1Ok19KTpudWxsKSl9LCJQYiIpOwp2YXIgWVA9Xy5MKGE9Pnt2YXIge2NvbnRlbnRBbGlnbm1lbnQ6Yix2azpjLFFnOmQsa2g6ZSx6azpmLFRsOmgsRXY6a309Xy5EQyhhLHtUbDohMSxFdjohMH0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyQ29udGFpbmVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlcjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dIZWFkZXJBYm92ZUFzc2V0OmgseXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ246KCk9PmI/LigpPT09MSYmaygpfSl9LF8uSyhfLk8se0E6KCk9PmsoKSx0aGVuOigpPT5jP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dExlYWRpbmdBY3Rpb25IZWFkZXIifSxfLksoYyxudWxsKSk6bnVsbH0pLGQ/Xy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSygiaDIiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0VGl0bGUifSxfLksoZCxudWxsKSl9KTpudWxsLGY/Xy5LKCJkaXYiLG51bGwsCl8uSyhmLG51bGwpKTpudWxsKX0sIlFiIiksUmlhPV8uTCgoe2F3OmEsWXQ6YixjdTpjfSk9Pl8uSygiZGl2Iix7Y2xhc3M6YX0sYz9fLksoYyxudWxsKTpudWxsLGI/Xy5LKGIsbnVsbCk6bnVsbCksIlJiIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInZpVVdWIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYk09bmV3IF8uVnMoIkxPVFRJRV9MT0FERVJfVE9LRU4iKTtfLmNNPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixhbmltYXRpb25OYW1lOmMsYW5pbWF0aW9uUmVmOmQsR0k6ZX0pPT57dmFyIGY9Xy52RSgibG90dGllLWNvbXBvbmVudCIpLGg7Xy5ZdSgoKT0+dm9pZCBoPy5kZXN0cm95KCkpO3ZhciBrO18ubkUoKCk9Pnt2YXIgbD1fLkJ2KGMpO2lmKGwhPT1rKXtrPWw7dmFyIG09e2FuaW1hdGlvbk5hbWU6bCxhbmltYXRpb25SZWY6Xy5CdihkKSwuLi5fLkJ2KGEpfTt0cnl7Xy55KCkucmVzb2x2ZShfLmJNKSgpLnRoZW4obj0+e2g/LmRlc3Ryb3koKTt2YXIgcD1lPy4oKT8udmFsdWU/P2YudmFsdWUscj1tLmFuaW1hdGlvblJlZix0PW0ubGlzdGVuZXJzO249bi5sb2FkQW5pbWF0aW9uKHtjb250YWluZXI6cCxyZW5kZXJlclNldHRpbmdzOm0ucmVuZGVyZXJTZXR0aW5ncywuLi5tLmFuaW1hdGlvbkNvbmZpZ30pO3ImJihyLmxvdHRpZUVsPW4pO2lmKHQpZm9yKGxldCBbdix6XW9mIE9iamVjdC5lbnRyaWVzKHQpKXI9diwodD16KSYmbi5hZGRFdmVudExpc3RlbmVyKHIsCnQpO2g9bn0pfWNhdGNoKG4pe2w9IkxvdHRpZUNvbXBvbmVudCBlcnJvci4iLG4ubWVzc2FnZSYmKGwrPWAgT3JpZ2luYWwgZGVzY3JpcHRpb246ICR7bi5tZXNzYWdlfWApLF8uY3cobixsKSxfLklwKG4pLG0ubGlzdGVuZXJzPy5lcnJvciYmbS5saXN0ZW5lcnMuZXJyb3Iobil9fX0sInhPQ2s1Iik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PiFlPy4oKSx0aGVuOigpPT5fLksoImxvdHRpZS1jb21wb25lbnQiLHtjbGFzczpfLlAoInl0TG90dGllQ29tcG9uZW50SG9zdCIsYiksZWw6Zn0pfSl9LCJLYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgYmdhO2JnYT1mdW5jdGlvbihhLGIsYyxkKXtmdW5jdGlvbiBlKGgsayl7aWYoYi52YWx1ZT09PWsmJiFiLmNhbmNlbGxlZCl7Zm9yKDthLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5maXJzdENoaWxkKTthLmNsYXNzTGlzdC5hZGQoInl0U3BlY0ljb25TaGFwZUhvc3QiKTtoKGEsZCl9fXZhciBmPV8ueSgpLnJlc29sdmUoXy5YTCkucHkoYyk7dHlwZW9mIGY9PT0iZnVuY3Rpb24iPyhiLnZhbHVlPW51bGwsZShmLG51bGwpKTooYi52YWx1ZT1mLGYudGhlbihoPT57ZShoLGYpfSkpfTtfLlhMPW5ldyBfLlZzKCJJQ09OX01BTkFHRVJfVE9LRU4iKTtfLllMPV8uTChhPT57dmFyIGI9e3ZhbHVlOm51bGwsY2FuY2VsbGVkOiExfTtfLll1KCgpPT57Yi5jYW5jZWxsZWQ9ITB9KTt2YXIgYz1fLk4oYS5kYXRhLHtlcXVhbHM6KGQsZSk9PmQuaWNvbk5hbWU9PT1lLmljb25OYW1lJiZkLmljb25TdHlsZT09PWUuaWNvblN0eWxlJiZkLmljb25TaXplPT09ZS5pY29uU2l6ZSYmZC5seD09PWUubHgmJmQua3g9PT1lLmt4fSwiY2syNGpiIik7cmV0dXJuIF8uSygic3BhbiIse2NsYXNzOiJ5dC1pY29uLXNoYXBlIixlbDpfLnJGKGQ9PntfLm5FKCgpPT57dmFyIGU9YS5vcHRpb25zPy4oKSxmPWMoKTtiZ2EoZCxiLGYsZSl9LCJ2ODc4SmUiKX0pfSl9LCJIYSIpO18uWUwuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEVQPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDE4OmNhc2UgMTk6Y2FzZSAyMDpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0sR2lhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDM6cmV0dXJuInl0QmFkZ2VTaGFwZUFkIjtjYXNlIDE6cmV0dXJuInl0QmFkZ2VTaGFwZU1lZGlhIjtjYXNlIDI6cmV0dXJuInl0QmFkZ2VTaGFwZU1lZGlhT3ZlcmxheSI7Y2FzZSA0OnJldHVybiJ5dEJhZGdlU2hhcGVQcm9tb3RlZCI7Y2FzZSA1OnJldHVybiJ5dEJhZGdlU2hhcGVQcm9tb3RlZEludmVydGVkIjtjYXNlIDY6cmV0dXJuInl0QmFkZ2VTaGFwZVRpbWVseSI7Y2FzZSA3OnJldHVybiJ5dEJhZGdlU2hhcGVQcmVtaXVtIjtjYXNlIDg6cmV0dXJuInl0QmFkZ2VTaGFwZVNhbGUiO2Nhc2UgOTpyZXR1cm4ieXRCYWRnZVNoYXBlTWVtYmVyc2hpcCI7Y2FzZSAxMDpyZXR1cm4ieXRCYWRnZVNoYXBlQ29tbWVyY2UiO2Nhc2UgMTI6cmV0dXJuInl0QmFkZ2VTaGFwZUxpdmUiO2Nhc2UgMTM6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c05ldyI7CmNhc2UgMTQ6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c0NvbXBsZXRlIjtjYXNlIDE1OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNXYXJuaW5nIjtjYXNlIDE2OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNFcnJvciI7Y2FzZSAxNzpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzRGVmYXVsdCI7Y2FzZSAxODpyZXR1cm4gXy54KCJlbmFibGVfbG9ja3VwX3JlZGVzaWduIik/Inl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHRSZWRlc2lnbiI6Inl0QmFkZ2VTaGFwZVRodW1ibmFpbERlZmF1bHQiO2Nhc2UgMTk6cmV0dXJuInl0QmFkZ2VTaGFwZVRodW1ibmFpbExpdmUiO2Nhc2UgMjA6cmV0dXJuInl0QmFkZ2VTaGFwZVRodW1ibmFpbFNwZWNpYWwiO2RlZmF1bHQ6cmV0dXJuInl0QmFkZ2VTaGFwZURlZmF1bHQifX07dmFyIEhpYT1uZXcgU2V0KFsiT1VUTElORV9CQUciXSk7Cl8uVEM9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj0oKT0+e3ZhciBkPWEoKS5pY29uO2lmKGQpYTp7ZD1fLktEKGQpPy5pY29uTmFtZT8/ZDtsZXQgaD0ieW91dHViZV9maWxsIjtIaWEuaGFzKGQudG9VcHBlckNhc2UoKSkmJihoPSJ5b3V0dWJlX291dGxpbmUiKTtsZXQgaz1oPT09InlvdXR1YmVfZmlsbCI/InlvdXR1YmVfb3V0bGluZSI6InlvdXR1YmVfZmlsbCIsbD1fLnkoKS5yZXNvbHZlKF8uWEwpO3ZhciBlPVsxMiwyNF07Zm9yKGYgb2YgZSl7ZT17aWNvbk5hbWU6ZCxpY29uU3R5bGU6aCxpY29uU2l6ZTpmfTtsZXQgbT17aWNvbk5hbWU6ZCxpY29uU3R5bGU6ayxpY29uU2l6ZTpmfTtpZihsLmooZSkpe3ZhciBmPWU7YnJlYWsgYX1pZihsLmoobSkpe2Y9bTticmVhayBhfX1mPXZvaWQgMH1lbHNlIGY9dm9pZCAwO3JldHVybiBmfSxbY109Xy5iSygoKT0+YSgpLm5zKTtyZXR1cm4gXy5LKCJiYWRnZS1zaGFwZSIse2VsOl8uckYoZD0+e2MoZCl9KSxjbGFzczpfLlAoInl0QmFkZ2VTaGFwZUhvc3QiLAooKT0+R2lhKGEoKS50eXBlKSx7eXRCYWRnZVNoYXBlT3ZlcmxheTooKT0+YSgpLmlzT3ZlcmxheSx5dEJhZGdlU2hhcGVBZHNJbmNsdWRlRG90OigpPT5hKCkuQm8seXRCYWRnZVNoYXBlVGh1bWJuYWlsQmFkZ2U6KCk9PkVQKGEoKS50eXBlKSx5dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZVJlZGVzaWduOigpPT5fLngoImVuYWJsZV9sb2NrdXBfcmVkZXNpZ24iKSYmRVAoYSgpLnR5cGUpLHl0QmFkZ2VTaGFwZVN0YXR1c0JhZGdlOigpPT57YTpzd2l0Y2goYSgpLnR5cGUpe2Nhc2UgMTM6Y2FzZSAxNDpjYXNlIDE1OmNhc2UgMTY6Y2FzZSAxNzp2YXIgZD0hMDticmVhayBhO2RlZmF1bHQ6ZD0hMX1yZXR1cm4gZH0seXRCYWRnZVNoYXBlTm9UZXh0OigpPT4hYSgpLnRleHQseXRCYWRnZVNoYXBlSXNFbXB0eTooKT0+IWEoKS50ZXh0JiYhYSgpLmljb24mJiFhKCkuYW5pbWF0aW9uLHl0QmFkZ2VTaGFwZU1vZGVybjooKT0+YSgpLm9nfHxfLngoIndlYl9tb2Rlcm5fYmFkZ2Vfc2hhcGUiKSwKeXRCYWRnZVNoYXBlVHlwb2dyYXBoeTooKT0+e2E6e3ZhciBkPWEoKTtpZihkLm9BKXN3aXRjaChkLnR5cGUpe2Nhc2UgMDpjYXNlIDE6Y2FzZSAxMDpkPSEwO2JyZWFrIGE7ZGVmYXVsdDpkPSExfWVsc2UgZD0hMX1yZXR1cm4hZH0seXRCYWRnZVNoYXBlTWVkaXVtRm9udEFkQmFkZ2U6KCk9PmEoKS5HeSx5dEJhZGdlU2hhcGVMYXJnZUZvbnRBZEJhZGdlOigpPT5hKCkuanl9KSxzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6KCk9PmEoKS5jdXN0b21Db2xvcnM/LmJhY2tncm91bmRDb2xvcn0pLHJvbGU6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dD8iaW1nIjp2b2lkIDAsImFyaWEtbGFiZWwiOigpPT5hKCkuYWNjZXNzaWJpbGl0eVRleHR9LF8uSyhfLk8se0E6KCk9PmEoKS5hbmltYXRpb24sdGhlbjpkPT5fLksoXy5jTSx7Y2xhc3NOYW1lOiJ5dEJhZGdlU2hhcGVJY29uIixkYXRhOmQsYW5pbWF0aW9uTmFtZTooKT0+ZCgpLmFuaW1hdGlvbkNvbmZpZy5uYW1lfHwiIn0pfSksCl8uSyhfLk8se0E6KCk9PmIoKSYmIWEoKT8uYW5pbWF0aW9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0QmFkZ2VTaGFwZUljb24ifSxfLksoXy5ZTCx7ZGF0YTooKT0+YigpfSkpfSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0QmFkZ2VTaGFwZVRleHQiLHt5dEJhZGdlU2hhcGVUZXh0Q2xpcFRleHRPdmVyZmxvdzooKT0+YSgpLmVwLHl0QmFkZ2VTaGFwZVRleHRIYXNNdWx0aXBsZUJhZGdlc0luUm93OigpPT4oYSgpLkRqfHwwKT4xfSl9LCgpPT5hKCk/LnRleHQpKX0sInliIik7Xy5UQy5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJqQmlzYWYiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJKO18ud0o9ZnVuY3Rpb24oYSxiLGMsZD0wKXsoZD1fLmlxKGQpKSYmXy5meChhLmNsaWVudCxkLGIsYyl9O18ueEo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmdldFNjcmVlbkxheWVyJiZiLmdldFNjcmVlbkxheWVyKCk7Yi52aXN1YWxFbGVtZW50P18ud0ooYSxiLnZpc3VhbEVsZW1lbnQsdm9pZCAwLGMpOihfLkR4KCksYj1fLlZpKF8uQngoKS5qKS5iaW5kKF8uQngoKSkoYiksYS5DZihiLHZvaWQgMCxjKSl9O18ueUo9ZnVuY3Rpb24oYSxiLGMpe18uVmkoXy5meCkodm9pZCAwLGEsYixjLHZvaWQgMCl9O18ueko9ZnVuY3Rpb24oYSxiPTApeyhiPV8uaXEoYikpJiZhJiZfLnlKKGIsXy5VdyhhKSl9O18uQUo9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5nRS5wdXNoKHtjb21tYW5kOmEsc291cmNlRGF0YTpiLGNvbW1hbmRDb250ZXh0OmR9KTtjJiZhLmNsaWNrVHJhY2tpbmdQYXJhbXMmJl8uekooYS5jbGlja1RyYWNraW5nUGFyYW1zKX07CkJKPWZ1bmN0aW9uKGEpe2lmKCFhPy5ydW5zKXJldHVybiEwO2ZvcihsZXQgYiBvZiBhLnJ1bnMpaWYoYi5icmFja2V0fHxiLmVycm9yVW5kZXJsaW5lfHxiLmRlZW1waGFzaXplfHxfLkIoYixfLlhjYSl8fF8uQihiLF8uWWNhKSlyZXR1cm4hMTtyZXR1cm4hMH07Xy5DSj1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLnNpbXBsZVRleHQ/YS5zaW1wbGVUZXh0OmEucnVucz9hLnJ1bnMubWFwKGI9PmIudGV4dCkuam9pbigiIik6IiI6IiJ9O18uREo9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gYS5sYWJlbD9hLmxhYmVsOl8uREooYS5hY2Nlc3NpYmlsaXR5RGF0YSl9O18uRGVhPW5ldyBfLkkoInlwY09mZmVyc0VuZHBvaW50Iik7Xy5FZWE9bmV3IF8uSSgieXBjR2V0T2ZmZXJzRW5kcG9pbnQiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGhlbWUtbWV0YSIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcHAiKTtfLkZlYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyIik7Xy5FSj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWNvbnRhaW5lci1pZCIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udHJvbC1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWVuZHNjcmVlbi1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLXNob3J0cy1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGxheWVyLWNpbmVtYXRpY3MtY29udGFpbmVyIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZ1bGwtc2NyZWVuLWNvbnRlbnQtaWQiKTtfLkZKPV8uS3koImluaXQiKTt2YXIgR0o7CkdKPV8uTCgoe3J1bjphLG1hOmJ9KT0+e3ZhciBjPSgpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50O3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuYm9sZH0sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLGJvbGQ6dm9pZCAwfSksdm9pZCAwLCJTbFpsNiIpO3JldHVybiBfLksoInN0cm9uZyIse2NsYXNzOiJmb3JtYXR0ZWQtc3RyaW5nLWJvbGQifSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLmRlZW1waGFzaXplfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksZGVlbXBoYXNpemU6dm9pZCAwfSksdm9pZCAwLCJ5SXh3ZGQiKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6ImZvcm1hdHRlZC1zdHJpbmctZGVlbXBoYXNpemUifSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLml0YWxpY3N9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxpdGFsaWNzOnZvaWQgMH0pLHZvaWQgMCwKIlFOWEhIYiIpO3JldHVybiBfLksoImVtIixudWxsLF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkudGV4dENvbG9yfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksdGV4dENvbG9yOnZvaWQgMH0pLHZvaWQgMCwieEplRzNiIik7cmV0dXJuIF8uSygic3BhbiIse3N0eWxlOigpPT5gY29sb3I6ICR7Xy5KRShhKCkudGV4dENvbG9yKX1gfSxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLnN0cmlrZXRocm91Z2h9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxzdHJpa2V0aHJvdWdoOnZvaWQgMH0pLHZvaWQgMCwiWENSNmhkIik7cmV0dXJuIF8uSygicyIsbnVsbCxfLksoR0ose3J1bjpkLG1hOmJ9KSl9KSxfLksoXy5DRSx7d2hlbjooKT0+IWEoKS5uYXZpZ2F0aW9uRW5kcG9pbnR8fGIoKX0sKCk9Pl8uSyhfLklCLG51bGwsKCk9PmEoKS50ZXh0KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKF8ubkgse2NvbW1hbmQ6YywKdGFiSW5kZXg6MH0sXy5LKF8uSUIsbnVsbCwoKT0+YSgpLnRleHQpKSkpfSwiTiIpOwpfLklKPV8uTCgoe2RhdGE6YSwuLi5ifSk9Pnt2YXIgYz0oKT0+Yi5tYT8uKCksZD0oKT0+Yi51Yj8uKCksZT0oKT0+Yi5JZD8uKCksZj0oKT0+Yi51c2VySW5wdXQ/LigpLGg9KCk9PmIuWGE/LigpLGs9KCk9PmIucmc/LigpPz8hMDtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+IShhPy4oKSYmT2JqZWN0LmtleXMoYSgpKS5sZW5ndGgpfSwoKT0+bnVsbCksXy5LKF8uQ0Use3doZW46KCk9Pnt2YXIgbDtpZihsPUJKKGEoKSkpbD1hKCksbD0hIShsPy5jb250ZW50IT09dm9pZCAwP2w6Xy5BRihsKSkuY29udGVudDtyZXR1cm4gbH19LCgpPT5fLksoXy5WLHt0ZXh0OmEsYXJpYUxhYmVsOigpPT5fLkRKKGEoKS5hY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YSksWGE6aCxtYTpjLHViOmQscmc6ayxJZDplLHVzZXJJbnB1dDpmLFl1OiEwfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5CSihhKCkpfSwoKT0+bnVsbCksXy5LKF8uQ0Use3doZW46KCk9Pnt2YXIgbDsKaWYoKGw9YT8uKCkmJk9iamVjdC5rZXlzKGEoKSkubGVuZ3RoKSYmIShsPWEoKS5hY2Nlc3NpYmlsaXR5KSlhOntsPWEoKTtpZihsLnJ1bnMpZm9yKGxldCBtIG9mIGwucnVucylpZihtLm5hdmlnYXRpb25FbmRwb2ludCl7bD0hMTticmVhayBhfWw9ITB9cmV0dXJuIGwmJmEoKS5ydW5zJiZhKCkucnVucy5sZW5ndGg+MX19LCgpPT5fLksoInNwYW4iLHsiYXJpYS1sYWJlbCI6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhKSxjbGFzczoiZm9ybWF0dGVkLXN0cmluZy10ZXh0Iixyb2xlOiJ0ZXh0In0sXy5LKEhKLHtzaW1wbGVUZXh0OigpPT5hKCkuc2ltcGxlVGV4dCxydW5zOigpPT5hKCkucnVucyxtYTpjfSkpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoSEose3NpbXBsZVRleHQ6KCk9PmEoKS5zaW1wbGVUZXh0LHJ1bnM6KCk9PmEoKS5ydW5zLG1hOmN9KSkpfSwiTyIpO18uSUouaWRvbUNvbXBhdD0hMDsKdmFyIEhKPV8uTCgoe3NpbXBsZVRleHQ6YSxydW5zOmIsbWE6Y30pPT5fLksoXy5PLHtBOigpPT5hJiZhKCksdGhlbjpkPT5kLFc6KCk9Pl8uSyhfLk8se0E6KCk9PmImJmIoKSx0aGVuOmQ9Pl8uSyhfLmdHLHtwYTpkLHRiOiJJTkRFWCJ9LGU9Pl8uSyhHSix7cnVuOmUsbWE6KCk9PiEhYz8uKCl9KSl9KX0pLCJQIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTEo9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJaUUt4MSIpO3JldHVybiBfLlZDfTtfLk1KPV8uY0QoKCk9Pl8uTEooKSwiYnV0dG9uT3JBbmNob3IiKTtfLll0KF8uSkQsYT0+e2EuSigiYnV0dG9uT3JBbmNob3IiLCJaUUt4MSIsXy5MSil9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFlLO1lLPWE9PmI9PigpPT5iPy4oKSE9PXZvaWQgMD9TdHJpbmcoYigpKSthOnZvaWQgMDtfLlpLPVlLKCJweCIpO18ueGZhPVlLKCIlIik7Xy4kSz1ZSygicyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFMPWZ1bmN0aW9uKC4uLmEpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKWlmKGMpaWYodHlwZW9mIGM9PT0ic3RyaW5nIiliLnB1c2goYyk7ZWxzZSBmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYykpYT1kLGUmJmIucHVzaChhKTtyZXR1cm4gYi5qb2luKCIgIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmJMPW5ldyBfLlZzKCJQQU5FTF9DT05UUk9MTEVSX1RPS0VOIik7Xy5jTD1uZXcgXy5WcygiU0hFRVRfQ09OVFJPTExFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicjlLTWpiIik7cmV0dXJuIF8uJEN9O18uaEw9Xy5jRCgoKT0+Xy5nTCgpLCJ1cHNlbGxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigidXBzZWxsVmlld01vZGVsIiwicjlLTWpiIixfLmdMKX0pO18uaUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWY0dTOCIpO3JldHVybiBfLkVDfTtfLmpMPV8uY0QoKCk9Pl8uaUwoKSwibWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooIm1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbCIsIlZjR1M4IixfLmlMKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZMPW5ldyBfLkkoImJ1dHRvblJlbmRlcmVyIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV0w9ZnVuY3Rpb24oYSl7cmV0dXJue3J1bnM6W3t0ZXh0OmF9XX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlpMPV8uTChhPT57KHt3cmFwcGVyOmF9PV8uREMoYSx7d3JhcHBlcjohMX0pKTtyZXR1cm4gXy5LKF8uTyx7QTphLHRoZW46KCk9Pl8uSygieXQtc3Bpbm5lci1zaGFwZSIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVdyYXBwZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVNwaW5uZXIifSkpLFc6KCk9Pl8uSygieXQtc3Bpbm5lci1zaGFwZSIse2NsYXNzOiJ5dFNwaW5uZXJTaGFwZVNwaW5uZXIifSl9KX0sIklhIik7Xy5aTC5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLiRMPXtFbzohMSxscTohMSx2cDoiIix1cDoiIix3cjohMSxDcTohMX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYU09ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0wfHxhPT09MX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBlTSxjZ2EsZGdhLGZNLGdNLGlNLGpNLGVnYSxnZ2EsaWdhLGtnYSxtZ2Esb2dhLHBNLHBnYSxxZ2Esbk07Xy5kTT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSlyZXR1cm4gYn07ZU09ZnVuY3Rpb24oLi4uYSl7cmV0dXJuIGEubGVuZ3RoPT09MD9iPT5iOmEubGVuZ3RoPT09MT9hWzBdOmEucmVkdWNlKChiLGMpPT4oLi4uZCk9PmIoYyguLi5kKSkpfTtjZ2E9ZnVuY3Rpb24oKXt2YXIgYT1bXTtyZXR1cm4gYj0+KGMsZCk9PntjPWIoYyxkKTt2YXIgZT0oKT0+e3Rocm93IEVycm9yKCJRYiIpO30sZj17Z2V0U3RhdGU6Yy5nZXRTdGF0ZSxkaXNwYXRjaDooaCwuLi5rKT0+ZShoLC4uLmspfTtkPWEubWFwKGg9PmgoZikpO2U9ZU0oLi4uZCkoYy5kaXNwYXRjaCk7cmV0dXJuey4uLmMsZGlzcGF0Y2g6ZX19fTsKZGdhPWZ1bmN0aW9uKGEpe09iamVjdC5rZXlzKGEpLmZvckVhY2goYj0+e3ZhciBjPWFbYl07aWYodHlwZW9mIGModm9pZCAwLHt0eXBlOl8ubUF9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCJSYmAiK2IpO2lmKHR5cGVvZiBjKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7Xy5sQSgpfWB9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCJTYmAiK2IrImAiK18ubUEpO30pfTsKZk09ZnVuY3Rpb24oYSl7dmFyIGI9T2JqZWN0LmtleXMoYSksYz17fTtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKyl7bGV0IGg9YltmXTt0eXBlb2YgYVtoXT09PSJmdW5jdGlvbiImJihjW2hdPWFbaF0pfXZhciBkPU9iamVjdC5rZXlzKGMpO3RyeXtkZ2EoYyl9Y2F0Y2goZil7dmFyIGU9Zn1yZXR1cm4gZnVuY3Rpb24oZj17fSxoKXtpZihlKXRocm93IGU7dmFyIGs9ITEsbD17fTtmb3IobGV0IG09MDttPGQubGVuZ3RoO20rKyl7bGV0IG49ZFttXSxwPWZbbl0scj0oMCxjW25dKShwLGgpO2lmKHR5cGVvZiByPT09InVuZGVmaW5lZCIpdGhyb3cgZj1oJiZoLnR5cGUsRXJyb3IoIlRiYCIrKGY/YCIke1N0cmluZyhmKX0iYDoiKHVua25vd24gdHlwZSkiKSsiYCIrbik7bFtuXT1yO2s9a3x8ciE9PXB9cmV0dXJuKGs9a3x8ZC5sZW5ndGghPT1PYmplY3Qua2V5cyhmKS5sZW5ndGgpP2w6Zn19OwpnTT1mdW5jdGlvbihhLGIsYyl7ZnVuY3Rpb24gZCgpe2lmKG4pdGhyb3cgRXJyb3IoIlViIik7cmV0dXJuIGt9ZnVuY3Rpb24gZShyKXtpZih0eXBlb2YgciE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIlZiYCIrdHlwZW9mIHIpO2lmKG4pdGhyb3cgRXJyb3IoIldiIik7dmFyIHQ9ITA7bT09PWwmJihtPWwuc2xpY2UoKSk7bS5wdXNoKHIpO3JldHVybiBmdW5jdGlvbigpe2lmKHQpe2lmKG4pdGhyb3cgRXJyb3IoIlhiIik7dD0hMTttPT09bCYmKG09bC5zbGljZSgpKTt2YXIgdj1tLmluZGV4T2Yocik7bS5zcGxpY2UodiwxKTtsPW51bGx9fX1mdW5jdGlvbiBmKHIpe2lmKHR5cGVvZiByIT09Im9iamVjdCJ8fHI9PT1udWxsKXZhciB0PSExO2Vsc2V7Zm9yKHQ9cjtPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkhPT1udWxsOyl0PU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTt0PU9iamVjdC5nZXRQcm90b3R5cGVPZihyKT09PXR9aWYoIXQpdGhyb3cgRXJyb3IoIlliYCIrdHlwZW9mIHIpOwppZih0eXBlb2Ygci50eXBlPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlpiIik7aWYobil0aHJvdyBFcnJvcigiJGIiKTt0cnl7bj0hMCxrPWgoayxyKX1maW5hbGx5e249ITF9dD1sPW07Zm9yKGxldCB2PTA7djx0Lmxlbmd0aDt2KyspKDAsdFt2XSkoKTtyZXR1cm4gcn1pZih0eXBlb2YgYj09PSJmdW5jdGlvbiImJnR5cGVvZiBjPT09ImZ1bmN0aW9uInx8dHlwZW9mIGM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiYWMiKTt0eXBlb2YgYj09PSJmdW5jdGlvbiImJnR5cGVvZiBjPT09InVuZGVmaW5lZCImJihjPWIsYj12b2lkIDApO2lmKHR5cGVvZiBjIT09InVuZGVmaW5lZCIpe2lmKHR5cGVvZiBjIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiYmNgIit0eXBlb2YgYyk7cmV0dXJuIGMoZ00pKGEsYil9aWYodHlwZW9mIGEhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJjY2AiK3R5cGVvZiBhKTt2YXIgaD1hLGs9CmIsbD1bXSxtPWwsbj0hMTtmKHt0eXBlOl8ubUF9KTt2YXIgcD17ZGlzcGF0Y2g6ZixzdWJzY3JpYmU6ZSxnZXRTdGF0ZTpkLHJlcGxhY2VSZWR1Y2VyOmZ1bmN0aW9uKHIpe2lmKHR5cGVvZiByIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiZGNgIit0eXBlb2Ygcik7aD1yO2Yoe3R5cGU6Xy5SYWF9KTtyZXR1cm4gcH0sW18ubkFdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShyKXtmdW5jdGlvbiB0KCl7ci5uZXh0JiZyLm5leHQoZCgpKX1pZih0eXBlb2YgciE9PSJvYmplY3QifHxyPT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJlY2AiK3R5cGVvZiByKTt0KCk7cmV0dXJue3Vuc3Vic2NyaWJlOmUodCl9fSxbXy5uQV0oKXtyZXR1cm4gdGhpc319fX07cmV0dXJuIHB9OwpfLmhNPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17Li4uYX07Zm9yKGxldCBlIG9mIE9iamVjdC5rZXlzKGIpKXtsZXQgZj1hW2VdLGg9YltlXTtpZihoPT09dm9pZCAwKWRlbGV0ZSBkW2VdO2Vsc2UgaWYoZj09PXZvaWQgMClkW2VdPWg7ZWxzZSBpZihBcnJheS5pc0FycmF5KGgpJiZBcnJheS5pc0FycmF5KGYpKWRbZV09Yz9bLi4uZiwuLi5oXTpoO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoaCkmJl8uQWEoaCkmJiFBcnJheS5pc0FycmF5KGYpJiZfLkFhKGYpKWRbZV09Xy5oTShmLGgsYyk7ZWxzZSBpZih0eXBlb2YgaD09PXR5cGVvZiBmKWRbZV09aDtlbHNlIHJldHVybiBiPW5ldyBfLlhqKCJBdHRlbXB0ZWQgdG8gbWVyZ2UgZmllbGRzIG9mIGRpZmZlcmluZyB0eXBlcy4iLHtuYW1lOiJEZWVwTWVyZ2VFcnJvciIsa2V5OmUsSGo6Zix1cGRhdGVWYWx1ZTpofSksXy5HcChiKSxhfXJldHVybiBkfTsKaU09ZnVuY3Rpb24oYSxiLGMsZCl7aWYoZD09PXZvaWQgMCl7bGV0IHtbY106ZSwuLi5mfT1hW2JdfHx7fTtyZXR1cm57Li4uYSxbYl06Zn19cmV0dXJuey4uLmEsW2JdOnsuLi5hW2JdLFtjXTpkfX19O2pNPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YVtiXXx8e30saD1mW2NdO2lmKCFoJiYhXy54KCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIGE7ZD1fLmhNKGh8fHt9LGQsZT09PSJSRVBFQVRFRF9GSUVMRFNfTUVSR0VfT1BUSU9OX0FQUEVORCIpO3JldHVybnsuLi5hLFtiXTp7Li4uZixbY106ZH19fTsKZWdhPWZ1bmN0aW9uKGE9e30sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRU5USVRZX0xPQURFRCI6cmV0dXJuIGIucGF5bG9hZC5yZWR1Y2UoKGMsZCk9Pnt2YXIgZT1kLm9wdGlvbnM/LnBlcnNpc3RlbmNlT3B0aW9uO2lmKGUmJmUhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9VTktOT1dOIiYmZSE9PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX0lOTUVNT1JZX0FORF9QRVJTSVNUIilyZXR1cm4gYztpZighZC5lbnRpdHlLZXkpcmV0dXJuIF8uR3AoRXJyb3IoImdjIikpLGM7aWYoZC50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1JFUExBQ0UiKXtpZighZC5wYXlsb2FkKXJldHVybiBkPW5ldyBfLlhqKCJSRVBMQUNFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpkLmVudGl0eUtleX0pLF8uR3AoZCksYzt2YXIgZj1fLmRNKGQucGF5bG9hZCk7cmV0dXJuIGlNKGMsZixkLmVudGl0eUtleSxkLnBheWxvYWRbZl0pfWlmKGQudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7ZD1kLmVudGl0eUtleTt0cnl7bGV0IGg9Xy5HSChkKS5lbnRpdHlUeXBlO2Y9aU0oYyxoLGQpO2JyZWFrIGF9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIEVycm9yKXtkPW5ldyBfLlhqKCJGYWlsZWQgdG8gZGVzZXJpYWxpemUgZW50aXR5IGtleSIse2VudGl0eUtleTpkLG9yaWdpbmFsTWVzc2FnZTpoLm1lc3NhZ2V9KTtfLkdwKGQpO2Y9YzticmVhayBhfXRocm93IGg7fWY9dm9pZCAwfXJldHVybiBmfWlmKGQudHlwZT09PSJFTlRJVFlfTVVUQVRJT05fVFlQRV9VUERBVEUiKXtpZighZC5wYXlsb2FkKXJldHVybiBkPW5ldyBfLlhqKCJVUERBVEUgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmQuZW50aXR5S2V5fSksXy5HcChkKSxjO2Y9Xy5kTShkLnBheWxvYWQpO3JldHVybiBqTShjLGYsZC5lbnRpdHlLZXksZC5wYXlsb2FkW2ZdLGQuZmllbGRNYXNrPy5tZXJnZU9wdGlvbnM/LnJlcGVhdGVkRmllbGRzTWVyZ2VPcHRpb24pfXJldHVybiBjfSwKYSk7Y2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBpTShhLGIucGF5bG9hZC5lbnRpdHlUeXBlLGIucGF5bG9hZC5rZXksYi5wYXlsb2FkLnhsKTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoYi5wYXlsb2FkKS5yZWR1Y2UoKGMsZCk9Pnt2YXIgZT1iLnBheWxvYWRbZF07cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgoZixoKT0+aU0oZixkLGgsZVtoXSksYyl9LGEpO2Nhc2UgIlVQREFURV9FTlRJVFkiOnJldHVybiBqTShhLGIucGF5bG9hZC5lbnRpdHlUeXBlLGIucGF5bG9hZC5rZXksYi5wYXlsb2FkLnhsLGIucGF5bG9hZC5JeSk7ZGVmYXVsdDpyZXR1cm4gYX19OwpfLmxNPWZ1bmN0aW9uKCl7aWYoXy5rTSlyZXR1cm4gXy5rTTtpZih3aW5kb3cubG90dGllKXJldHVybiBfLmtNPVByb21pc2UucmVzb2x2ZSh3aW5kb3cubG90dGllKTt2YXIgYT1fLmh3KF8udygiTE9UVElFX1VSTCIpKTtyZXR1cm4gYT9fLmtNPW5ldyBQcm9taXNlKChiLGMpPT57dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ZC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e2IobG90dGllKX0pO2QuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGU9Pnt2YXIgZj0iTG90dGllIGxpYnJhcnkgZmFpbGVkIHRvIGxvYWQuIjtlP2UubWVzc2FnZSYmKGYrPWAgT3JpZ2luYWwgZGVzY3JpcHRpb246ICR7ZS5tZXNzYWdlfWAsXy5jdyhlLGYpKTplPUVycm9yKGYpO18uSXAoZSk7YyhlKX0pO2Quc2V0QXR0cmlidXRlKCJhc3luYyIsIiIpO18ub2IoZCxhKTtkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGQpfSk6UHJvbWlzZS5yZWplY3QoRXJyb3IoIkJkIikpfTsKZ2dhPWZ1bmN0aW9uKGE9ZmdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19CT1RUT01fU0hFRVRfT1BFTl9TVEFURSI6cmV0dXJuey4uLmEsamo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07aWdhPWZ1bmN0aW9uKGE9aGdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9DSU5FTUFUSUNfU0VUVElOR19TVEFURSI6cmV0dXJuey4uLmEsaXNBbGxvd2VkOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19OwprZ2E9ZnVuY3Rpb24oYT1qZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0VSUk9SX01FU1NBR0VfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSxlcnJvck1lc3NhZ2U6Yi5wYXlsb2FkfTtjYXNlICJTRVRfVElUTEVfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSx0aXRsZTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9QUklWQUNZX0NSRUFURV9QTEFZTElTVF9TVEFURSI6cmV0dXJuey4uLmEscHJpdmFjeTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9JU19ESVNBQkxFRF9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLGlzRGlzYWJsZWQ6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07bWdhPWZ1bmN0aW9uKGE9bGdhLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19EUkFXRVJfTEFZT1VUX09QRU5fU1RBVEUiOnJldHVybnsuLi5hLGpqOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19OwpvZ2E9ZnVuY3Rpb24oYT1uZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0ZVTExTQ1JFRU5fU1RBVEUiOnJldHVybnsuLi5hLGlzRnVsbHNjcmVlbjpiLnBheWxvYWR9O2Nhc2UgIlNFVF9OQVZJR0FUSU9OX0JVVFRPTiI6dmFyIGM9ey4uLmEubmF2aWdhdGlvbkJ1dHRvbnN9O2NbYi5wYXlsb2FkLnRhcmdldElkXT1iLnBheWxvYWQuYnV0dG9uO3JldHVybnsuLi5hLG5hdmlnYXRpb25CdXR0b25zOmN9O2Nhc2UgIlNFVF9UT1BfUEFORUxfSURfU1RBVEUiOnJldHVybnsuLi5hLHFzOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NFQ09OREFSWV9IRUFERVIiOnJldHVybiBjPXsuLi5hLnNlY29uZGFyeUhlYWRlcn0sY1tiLnBheWxvYWQucGFuZWxJZF09Yi5wYXlsb2FkLnNlY29uZGFyeUhlYWRlcix7Li4uYSxzZWNvbmRhcnlIZWFkZXI6Y307ZGVmYXVsdDpyZXR1cm4gYX19O18ub009ZnVuY3Rpb24oKXttTXx8KG1NPW5ldyBuTSk7cmV0dXJuIG1NfTsKcE09ZnVuY3Rpb24oYSxiKXtiPWI/LkFzfHxfLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtzd2l0Y2goYSl7Y2FzZSAiTElLRSI6YT1fLm9NKCkuZ2V0U3RhdGUoKTthPShhPV8ucUEoYS5lbnRpdGllcywibGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eSIsIkVoeHNhV3RsWDJKMWRIUnZibDloYm1sdFlYUnBiMjVmWlc1MGFYUjVJTGNFS0FFJTNEIikpJiZhLmFuaW1hdGlvbkxpZ2h0VXJsJiZhLmFuaW1hdGlvbkRhcmtVcmw/e0VjOnthbmltYXRpb25Db25maWc6e25hbWU6Yj8iY3VzdG9tX2FuaW1hdGVkX2xpa2VfaWNvbl9kYXJrIjoiY3VzdG9tX2FuaW1hdGVkX2xpa2VfaWNvbiIscGF0aDpiP2EuYW5pbWF0aW9uRGFya1VybDphLmFuaW1hdGlvbkxpZ2h0VXJsLGxvb3A6ITEsYXV0b3BsYXk6ITEscmVuZGVyZXJTZXR0aW5nczp7dmlld0JveE9ubHk6ITAsY2xhc3NOYW1lOiJjdXN0b20tYW5pbWF0ZWQtbGlrZS1pY29uIn19fSx0b3RhbEZyYW1lczoxMjAsemg6ITB9OnZvaWQgMDsKaWYoYSlyZXR1cm4gYTtiPWBhbmltYXRlZF9saWtlX2ljb25fJHtiPyJkYXJrIjoibGlnaHQifV92NWA7cmV0dXJue0VjOnthbmltYXRpb25Db25maWc6e25hbWU6YixwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvYW5pbWF0ZWRfbGlrZV9pY29uLyR7Yn0uanNvbmAsbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImFuaW1hdGVkLWxpa2UtaWNvbiJ9fX0sdG90YWxGcmFtZXM6MTIwLHpoOiEwfTtjYXNlICJOT1RJRklDQVRJT05fQkVMTCI6cmV0dXJue0VjOnthbmltYXRpb25Db25maWc6e25hbWU6Yj8ibm90aWZpY2F0aW9uX2JlbGxfZGFyayI6Im5vdGlmaWNhdGlvbl9iZWxsX2xpZ2h0IixwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX2JlbGxfaWNvbl8ke2I/ImRhcmsiOiJsaWdodCJ9X3Y0Lmpzb25gLApsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e2NsYXNzTmFtZToiYW5pbWF0ZWQtc3Vic2NyaWJlLWljb24ifX19LHRvdGFsRnJhbWVzOjEyMCx6aDohMX19fTtwZ2E9ZnVuY3Rpb24oYSxiKXtfLmpmLnBiKGFzeW5jKCk9Pnt0cnl7YXdhaXQgXy5sTSgpO2xldCBjPWF3YWl0IChhd2FpdCBmZXRjaChhKSkuanNvbigpO3FNLnNldChhLGMpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2IoYyl9KX1jYXRjaChjKXtfLklwKGMpfX0pfTtxZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9e2FuaW1hdGlvbkNvbmZpZzp7fSxsaXN0ZW5lcnM6e319LGM9KCk9PnthKCEwKX07Yi5saXN0ZW5lcnMuckk9YztiLmxpc3RlbmVycy5lcnJvcj1jO2IubGlzdGVuZXJzLnNJPSgpPT57YSghMSl9O3JldHVybiBifTsKbk09Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgYT1mTSh7ZW5nYWdlbWVudFBhbmVsOm9nYSx0aTpnZ2EsZUk6aWdhLERwOm1nYSxtSTprZ2EsUUo6cmdhLEJLOnNnYSxDSzp0Z2EsLi4udWdhLC4uLnZnYX0pLGI9ZU0oY2dhKCkpO3RoaXMuc3RvcmU9Z00oYSx2b2lkIDAsYil9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdG9yZS5nZXRTdGF0ZSgpfWRpc3BhdGNoKGEpe3JldHVybiB0aGlzLnN0b3JlLmRpc3BhdGNoKGEpfXN1YnNjcmliZShhKXtyZXR1cm4gdGhpcy5zdG9yZS5zdWJzY3JpYmUoYSl9cmVwbGFjZVJlZHVjZXIoYSl7cmV0dXJuIHRoaXMuc3RvcmUucmVwbGFjZVJlZHVjZXIoYSl9W1N5bWJvbC5vYnNlcnZhYmxlXSgpe3JldHVybiB0aGlzLnN0b3JlW1N5bWJvbC5vYnNlcnZhYmxlXSgpfX07dmFyIHFNPW5ldyBNYXA7dmFyIHdnYT17SnA6bnVsbH07dmFyIHVnYT17VHI6ZnVuY3Rpb24oYT1fLiRMLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9TSEFSRURfQU5JTUFURURfVEhVTUJOQUlMX0VOQUJMRUQiOnJldHVybnsuLi5hLEVvOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9JTkxJTkVfUFJFVklFV19FTkFCTEVEIjpyZXR1cm57Li4uYSxscTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9TSEFSRURfQ1VSUkVOVF9QQUdFX1RZUEUiOnJldHVybnsuLi5hLHZwOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9DVVJSRU5UX1BBR0VfU1VCX1RZUEUiOnJldHVybnsuLi5hLHVwOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9QRVJTSVNURU5UX1BBTkVMX1ZJU0lCTEUiOnJldHVybnsuLi5hLHdyOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9JU19TRUFSQ0hCT1hfSElEREVOIjpyZXR1cm57Li4uYSxDcTpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fSxhMTF5OmZNKHtKcDpmdW5jdGlvbihhPXdnYS5KcCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfRVBIRU1FUkFMX0FDVElPTiI6cmV0dXJuIGIucGF5bG9hZDsKZGVmYXVsdDpyZXR1cm4gYX19fSksZW50aXRpZXM6ZnVuY3Rpb24oYT17fSxiKXtyZXR1cm4gZWdhKGEsYil9fTt2YXIgck09e1hsOiExLGZtOiExLGptOiExLHBsYXllclN0YXRlOi0xLGlzRnVsbHNjcmVlbjohMSxtajohMSxabDohMSxnbTohMSxUajoyLHhqOjB9O3ZhciB4Z2E9Zk0oe1hsOmZ1bmN0aW9uKGE9ck0uWGwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0RFU0tUT1BfU01BTExfV0lEVEgiOnJldHVybiBiLnBheWxvYWQuWGw7ZGVmYXVsdDpyZXR1cm4gYX19LGZtOmZ1bmN0aW9uKGE9ck0uZm0sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1NIT1JUU19BQ1RJVkUiOnJldHVybiBiLnBheWxvYWQuZm07ZGVmYXVsdDpyZXR1cm4gYX19LGptOmZ1bmN0aW9uKGE9ck0uam0sYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1dBVENIX1dISUxFX01PREUiOnJldHVybiBiLnBheWxvYWQuam07ZGVmYXVsdDpyZXR1cm4gYX19LHBsYXllclN0YXRlOmZ1bmN0aW9uKGE9ck0ucGxheWVyU3RhdGUsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1BMQVlFUl9TVEFURSI6cmV0dXJuIGIucGF5bG9hZC5wbGF5ZXJTdGF0ZTtkZWZhdWx0OnJldHVybiBhfX0saXNGdWxsc2NyZWVuOmZ1bmN0aW9uKGE9ck0uaXNGdWxsc2NyZWVuLApiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfRlVMTFNDUkVFTiI6cmV0dXJuIGIucGF5bG9hZC5pc0Z1bGxzY3JlZW47ZGVmYXVsdDpyZXR1cm4gYX19LG1qOmZ1bmN0aW9uKGE9ck0ubWosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1NNQUxMX1NDUkVFTl9TUVVFRVpFQkFDSyI6cmV0dXJuIGIucGF5bG9hZC5tajtkZWZhdWx0OnJldHVybiBhfX0sZ206ZnVuY3Rpb24oYT1yTS5nbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU0hPUlRTX1BJUF9BQ1RJVkUiOnJldHVybiBiLnBheWxvYWQuZ207ZGVmYXVsdDpyZXR1cm4gYX19LFpsOmZ1bmN0aW9uKGE9ck0uWmwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX1BMQVlCQUNLX1NUQVJURUQiOnJldHVybiBiLnBheWxvYWQuWmw7ZGVmYXVsdDpyZXR1cm4gYX19LFRqOmZ1bmN0aW9uKGE9ck0uVGosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1NIT1JUU19MQVlPVVQiOnJldHVybiBiLnBheWxvYWQuVGo7CmRlZmF1bHQ6cmV0dXJuIGF9fSx4ajpmdW5jdGlvbihhPXJNLnhqLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9NRVRBUEFORUxfU1RZTEUiOnJldHVybiBiLnBheWxvYWQueGo7ZGVmYXVsdDpyZXR1cm4gYX19fSk7dmFyIGZnYT17amo6ITF9O3ZhciBoZ2E9e2lzQWxsb3dlZDohMX07dmFyIGpnYT17ZXJyb3JNZXNzYWdlOiIiLHRpdGxlOiIiLHByaXZhY3k6IiIsaXNEaXNhYmxlZDohMH07dmFyIGxnYT17amo6ITF9O3ZhciBuZ2E9e2lzRnVsbHNjcmVlbjohMSxxczp2b2lkIDAsbmF2aWdhdGlvbkJ1dHRvbnM6e30sc2Vjb25kYXJ5SGVhZGVyOnt9fTt2YXIgeWdhPXtyZXNwb25zZTp2b2lkIDB9O3ZhciByZ2E9KGE9eWdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiTE9DQVRJT05fQ09MTEVDVElPTl9SRVNQT05TRV9DSEFOR0UiOnJldHVybnsuLi5hLHJlc3BvbnNlOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciB6Z2E9e25leHRDb21tYW5kOnZvaWQgMCxUeTohMSxidzp2b2lkIDAsUHg6ITF9O3ZhciBzZ2E9KGE9emdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiUkVQT1JUX0NIQU5ORUxfTkVYVF9ESVNBQkxFRF9DSEFOR0UiOnJldHVybnsuLi5hLFR5OmIucGF5bG9hZH07Y2FzZSAiUkVQT1JUX0NIQU5ORUxfTkVYVF9DT01NQU5EX0NIQU5HRSI6cmV0dXJuey4uLmEsbmV4dENvbW1hbmQ6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9NT0RBTF9GT09URVJfUkVOREVSRVJfU1VCTUlTU0lPTl9EQVRBX0NIQU5HRSI6cmV0dXJuey4uLmEsYnc6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0lNUEVSU09OQVRJT05fVkFMSURJVFlfQ0hBTkdFIjpyZXR1cm57Li4uYSxQeDpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTt2YXIgQWdhPXtVejp2b2lkIDAsVHo6dm9pZCAwfTt2YXIgdGdhPShhPUFnYSxiKT0+e3N3aXRjaChiLnR5cGUpe2Nhc2UgIlJFUE9SVF9GT1JNX01PREFMX1JFTkRFUkVSX0RBVEFfQ0hBTkdFIjpyZXR1cm57Li4uYSxVejpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9ERVRBSUxTX0ZPUk1fUkVOREVSRVJfREFUQV9DSEFOR0UiOnJldHVybnsuLi5hLFR6OmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciBCZ2E9e307dmFyIHNNPXtzaDohMSx3aDpfLngoIndlYl9wbGF5bGlzdF9wYW5lbF9kZWZhdWx0X2NvbGxhcHNlZCIpLHZnOltdLFppOiExfTt2YXIgQ2dhPWZNKHtzaDpmdW5jdGlvbihhPXNNLnNoLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9JU19MSVZFX0NIQVRfQ09MTEFQU0VEIjpyZXR1cm4gYi5wYXlsb2FkP2IucGF5bG9hZC5zaDphO2RlZmF1bHQ6cmV0dXJuIGF9fSx3aDpmdW5jdGlvbihhPXNNLndoLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9JU19QTEFZTElTVF9QQU5FTF9DT0xMQVBTRUQiOnJldHVybiBiLnBheWxvYWQud2g7ZGVmYXVsdDpyZXR1cm4gYX19LHZnOmZ1bmN0aW9uKGE9c00udmcsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfQUREX09QRU5fRU5HQUdFTUVOVF9QQU5FTCI6cmV0dXJuWy4uLmEsYi5wYXlsb2FkLnh6XTtjYXNlICJNQUlOX0FQUF9SRU1PVkVfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIjpyZXR1cm4gYS5sZW5ndGg9PT0wP2E6YS5maWx0ZXIoYz0+YyE9PWIucGF5bG9hZC5vSyk7ZGVmYXVsdDpyZXR1cm4gYX19LFppOmZ1bmN0aW9uKGE9CnNNLlppLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIk1BSU5fQVBQX1NFVF9IQVNfUExBWUxJU1QiOnJldHVybiBiLnBheWxvYWQuWmk7ZGVmYXVsdDpyZXR1cm4gYX19fSk7dmFyIHZnYT17eEw6ZnVuY3Rpb24oYT1CZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1RSQU5TQ1JJUFRJT05fU1RBVEUiOnJldHVybnsuLi5hLGpMOmIucGF5bG9hZH07Y2FzZSAiU0VUX09WRVJMQVlfU1RBVEUiOnJldHVybnsuLi5hLG92ZXJsYXk6Yi5wYXlsb2FkfTtjYXNlICJSRVNFVF9WT0lDRV9TRUFSQ0hfU1RBVEUiOnJldHVybnt9O2RlZmF1bHQ6cmV0dXJuIGF9fSxzaG9ydHM6eGdhLEFkOkNnYX07dmFyIG1NPXZvaWQgMDttTT1uZXcgbk07Xy50TT1fLkwoYT0+e3ZhciB7YW5pbWF0ZWRJY29uVHlwZTpiLGFjdGl2ZTpjLEhjOmQsYW5pbWF0aW9uUmVmOmUsSEE6ZixzaXplOmh9PV8uREMoYSx7SGM6dm9pZCAwLGFuaW1hdGlvblJlZjp7fSxzaXplOjI0fSksW2ssbF09Xy5KKHZvaWQgMCx2b2lkIDAsIlR2Z21DZSIpLG09KCk9PnBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZy5uYW1lPz8iIixuPSgpPT57aWYocE0oYigpLGQ/LigpKSl7dmFyIHtwYXRoOkF9PXBNKGIoKSxkPy4oKSkuRWMuYW5pbWF0aW9uQ29uZmlnO3JldHVybiBxTS5nZXQoQSl8fGsoKX19LFtwLHJdPV8uSighMSx2b2lkIDAsImpmMkR5YiIpLHQ9cWdhKHIpLHY9KCk9PnBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZz8ucmVuZGVyZXJTZXR0aW5ncz8uY2xhc3NOYW1lPz8iIix6PXZvaWQgMCxFPXZvaWQgMDtfLm5FKCgpPT57dmFyIEE9cE0oYigpLGQ/LigpKSxGPW0oKSxDPW4oKSxHPXAoKSxEPWMoKTtpZihBJiYoRSE9PUYmJihFPQpGLHo9RCxGPWUoKSx0LmFuaW1hdGlvbkNvbmZpZz1BLkVjLmFuaW1hdGlvbkNvbmZpZyx0LmFuaW1hdGlvblJlZj1GLEMmJih0LmFuaW1hdGlvbkNvbmZpZy5hbmltYXRpb25EYXRhPUMsdC5hbmltYXRpb25Db25maWcucGF0aD12b2lkIDApLEY9QS5FYy5hbmltYXRpb25Db25maWcucGF0aCwhcU0uZ2V0KEYpJiZBLnpoJiZGJiZwZ2EoRixsKSksIShHfHxBLnpoJiYhQykpKXtpZihDPSFlKCkubG90dGllRWwpRD8oRz1BLnRvdGFsRnJhbWVzLHQuYW5pbWF0aW9uQ29uZmlnLmluaXRpYWxTZWdtZW50PVtHLTEsR10pOnQuYW5pbWF0aW9uQ29uZmlnLmluaXRpYWxTZWdtZW50PXZvaWQgMDt6PT09RHx8Q3x8KEM9ZSgpLEQ/Qy5sb3R0aWVFbD8ucGxheVNlZ21lbnRzKFswLEEudG90YWxGcmFtZXNdLCEwKTpDLmxvdHRpZUVsPy5wbGF5U2VnbWVudHMoWzAsMV0sITApKTt6PUR9fSwiWEIxR1NiIik7cmV0dXJuIF8uSygiYW5pbWF0ZWQtaWNvbiIse2NsYXNzOiJ5dEFuaW1hdGVkSWNvbkhvc3QiLAoiZGF0YS1zaXplIjooKT0+aCgpfSxfLksoXy5PLHtBOigpPT4hKCFwTShiKCksZD8uKCkpPy5FYy5hbmltYXRpb25Db25maWcucGF0aHx8cE0oYigpLGQ/LigpKT8uemgmJiFuKCl8fHAoKSksdGhlbjooKT0+Xy5LKF8uY00se2RhdGE6dCxhbmltYXRpb25OYW1lOm0sY2xhc3NOYW1lOnYsYW5pbWF0aW9uUmVmOmV9KSxXOmZ9KSl9LCJNYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnVNPWZ1bmN0aW9uKGEpe3JldHVybiBfLnNFKCgpPT4oe3ZhbHVlOmF9KSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeU0sek0sRGdhLEFNLEJNLENNLERNLEVNLEdNLEZnYSxJTSxHZ2EsTE0sSGdhLE1NLFJNLFNNLFRNLGJOLEtnYSxjTixlTixMZ2EsT2dhLE5nYSxNZ2EsaE4sUGdhLFJnYSxpTixqTixrTixTZ2EsVGdhLGxOLFVnYSxtTixuTixwTixWZ2EsV2dhLFhnYSxxTixhaGEsJGdhLHJOLFpnYSxZZ2EsZGhhLGNoYSxzTixiaGEsZmhhLHZOLFgsQU4sQ04sZ2hhLGloYSxoaGEsamhhLE1OLGxoYSxtaGEsUU4sbmhhLG9oYSxUTixxaGEsYU8scmhhLHNoYSx0aGEsdWhhLHZoYSx3aGEseGhhLEVnYSxGTSxITSxiTyx5aGEsT00sUU0sSWdhLEpnYSx6aGEsQWhhO18udk09ZnVuY3Rpb24oYSl7dmFyIGI9Xy4kdChhKTtyZXR1cm57W1N5bWJvbC5kaXNwb3NlXSgpe18uJHQoYil9fX07Xy54TT1mdW5jdGlvbigpe2lmKF8uWHooKSl7dmFyIGE9Xy5HaChgJHtfLlZqKCl9Ojp5dC1tYXctcGxheWVyYCk7aWYoYSlyZXR1cm4gbmV3IF8ud00oYSl9fTsKeU09ZnVuY3Rpb24oYSxiKXtmb3IoO2EubGVuZ3RoPmI7KWEucG9wKCl9O3pNPWZ1bmN0aW9uKGEpe2E9QXJyYXkoYSk7eU0oYSwwKTtyZXR1cm4gYX07RGdhPWZ1bmN0aW9uKGEsYixjLGQpeyhkW2JdfHxkW18uUkEuZGVmYXVsdF0pKGEsYixjKX07QU09ZnVuY3Rpb24oYSxiLGMpe2I9bmV3IEVnYShiLGMpO3JldHVybiBhLl9faW5jcmVtZW50YWxET01EYXRhPWJ9OwpCTT1mdW5jdGlvbihhLGIpe2lmKGEuX19pbmNyZW1lbnRhbERPTURhdGEpcmV0dXJuIGEuX19pbmNyZW1lbnRhbERPTURhdGE7dmFyIGM9YS5ub2RlVHlwZT09PTE/YS5sb2NhbE5hbWU6YS5ub2RlTmFtZSxkPWEubm9kZVR5cGU9PT0xP2EuZ2V0QXR0cmlidXRlKCJrZXkiKTpudWxsO2I9QU0oYSxjLGEubm9kZVR5cGU9PT0xP2R8fGI6bnVsbCk7aWYoYS5ub2RlVHlwZT09PTEmJihjPWEuYXR0cmlidXRlcyxkPWMubGVuZ3RoKSl7YT1iLmp8fChiLmo9ek0oZCoyKSk7Zm9yKGxldCBlPTAsZj0wO2U8ZDtlKz0xLGYrPTIpe2xldCBoPWNbZV0saz1oLnZhbHVlO2FbZl09aC5uYW1lO2FbZisxXT1rfX1yZXR1cm4gYn07Q009ZnVuY3Rpb24oKXtfLllBPV8uVkEoKX07CkRNPWZ1bmN0aW9uKGEsYil7Q00oKTt2YXIgYzthOntpZihjPV8uWUEpe2Rve2lmKGM9PT1udWxsKWJyZWFrO3ZhciBkPWMsZT1hLGY9YjtsZXQgaD1CTShkLGYpO2lmKCgwLF8uYkIpKGQsZSxoLm8sZixoLmtleSkpYnJlYWsgYX13aGlsZShiJiYoYz1jLm5leHRTaWJsaW5nKSl9Yz1udWxsfWN8fChhPT09IiN0ZXh0Ij8oYT1fLlpBLmNyZWF0ZVRleHROb2RlKCIiKSxBTShhLCIjdGV4dCIsbnVsbCkpOihjPV8uWkEsZD1fLlVBLHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9jPW5ldyBhOmM9KGQ9YT09PSJzdmciPyJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6YT09PSJtYXRoIj8iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI6ZD09bnVsbHx8Qk0oZCkubz09PSJmb3JlaWduT2JqZWN0Ij9udWxsOmQubmFtZXNwYWNlVVJJKT9jLmNyZWF0ZUVsZW1lbnROUyhkLGEpOmMuY3JlYXRlRWxlbWVudChhKSxBTShjLGEsYiksYT1jKSxfLldBLmNyZWF0ZWQucHVzaChhKSxjPQphKTthPWM7aWYoYSE9PV8uWUEpe2lmKF8uJEEuaW5kZXhPZihhKT49MClmb3IoYj1fLlVBLGM9YS5uZXh0U2libGluZyxkPV8uWUE7ZCE9PW51bGwmJmQhPT1hOyllPWQubmV4dFNpYmxpbmcsYi5pbnNlcnRCZWZvcmUoZCxjKSxkPWU7ZWxzZSBfLlVBLmluc2VydEJlZm9yZShhLF8uWUEpO18uWUE9YX19O0VNPWZ1bmN0aW9uKGEsYil7RE0oYSxiKTtfLlVBPV8uWUE7Xy5ZQT1udWxsO3JldHVybiBfLlVBfTtHTT1mdW5jdGlvbihhLGIsYyxkKXtGTS5wdXNoKERnYSk7Rk0ucHVzaChhKTtGTS5wdXNoKGIpO0ZNLnB1c2goYyk7Rk0ucHVzaChkKX07CkZnYT1mdW5jdGlvbihhPV8uSEMpe3ZhciBiPV8uVUEsYz1CTShiKSxkPV8uYUI7Yz1jLmp8fChjLmo9ek0oZC5sZW5ndGgpKTtmb3IodmFyIGU9IWMubGVuZ3RofHwhMSxmPTA7ZjxkLmxlbmd0aDtmKz0yKXt2YXIgaD1kW2ZdO2lmKGUpY1tmXT1oO2Vsc2UgaWYoY1tmXSE9PWgpYnJlYWs7bGV0IGw9ZFtmKzFdO2lmKGV8fGNbZisxXSE9PWwpY1tmKzFdPWwsR00oYixoLGwsYSl9aWYoZjxkLmxlbmd0aHx8ZjxjLmxlbmd0aCl7Zm9yKGY9ZT1mO2Y8Yy5sZW5ndGg7Zis9MilfLkpDW2NbZl1dPWNbZisxXTtmb3IoZj1lO2Y8ZC5sZW5ndGg7Zis9MillPWRbZl0saD1kW2YrMV0sXy5KQ1tlXSE9PWgmJkdNKGIsZSxoLGEpLGNbZl09ZSxjW2YrMV09aCxkZWxldGUgXy5KQ1tlXTt5TShjLGQubGVuZ3RoKTtmb3IodmFyIGsgaW4gXy5KQylHTShiLGssdm9pZCAwLGEpLGRlbGV0ZSBfLkpDW2tdfWE9SE07SE09Yj1GTS5sZW5ndGg7Zm9yKGs9YTtrPGI7ays9NSkoMCxGTVtrXSkoRk1baysxXSwKRk1baysyXSxGTVtrKzNdLEZNW2srNF0pO0hNPWE7eU0oRk0sYSk7eU0oZCwwKX07SU09ZnVuY3Rpb24oYSwuLi5iKXtETSgiI3RleHQiLG51bGwpO2I9Xy5ZQTt2YXIgYz1CTShiKTtpZihjLnRleHQhPT1hKXtjPWMudGV4dD1hO2ZvcihsZXQgZD0xO2Q8YXJndW1lbnRzLmxlbmd0aDtkKz0xKWM9KDAsYXJndW1lbnRzW2RdKShjKTtiLmRhdGEhPT1jJiYoYi5kYXRhPWMpfX07CkdnYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT1bXTthLl9kaXNwb3NlRWZmZWN0cz1fLnV2KCgpPT57Xy50digoKT0+e3ZhciBmPWMoKTtpZihmPT09bnVsbHx8Zj09PXZvaWQgMClmPSIiO2lmKF8ucUIoZil8fGY9PT1udWxsKWQ/PyhkPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSksZC5wYXJlbnROb2RlIT09YSYmKGQuX2lzU2lnbmFsVGV4dE5vZGU9ITAsYS5pbnNlcnRCZWZvcmUoZCxiKSksZC50ZXh0Q29udGVudD1TdHJpbmcoZik7ZWxzZSBpZihfLm9CKGYpKXtsZXQgaD1lLmxlbmd0aD4wP2VbZS5sZW5ndGgtMV0ubmV4dFNpYmxpbmc6Yjtmb3IobGV0IGsgb2YgZSlhLnJlbW92ZUNoaWxkKGspO2Y9Xy5wQihmKTtlPUFycmF5LmZyb20oZi5jaGlsZE5vZGVzKTtmb3IobGV0IGsgb2YgZSlhLmluc2VydEJlZm9yZShrLGgpfWVsc2UgdGhyb3cgRXJyb3IoIkFiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikrImAiK3R5cGVvZiBmKTt9LCJWdkRnQyIpfSxfLkt1LnJpfHwhIV8uWnQpfTsKXy5LTT1mdW5jdGlvbihhKXtpZighXy5KTSlyZXR1cm4hMTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMoXy5KTSkpaWYoYS5oYXNPd25Qcm9wZXJ0eShiKSlyZXR1cm4hMDtyZXR1cm4hMX07TE09ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGgpe2lmKGEubGVuZ3RoPT09MSlyZXR1cm4gYVswXTt2YXIgYj17fTtfLndGKGIsXy5TRCx7Y29tbWFuZHM6YX0pO3JldHVybiBifX07SGdhPWZ1bmN0aW9uKGEpe3ZhciBiPUFycmF5LmlzQXJyYXkoYS5pdGVtcyk/YS5pdGVtczpBcnJheS5mcm9tKGEuaXRlbXMpO3JldHVybiBfLmZHKGIsYS5jaGlsZHJlbil9O01NPWZ1bmN0aW9uKGEpe2E9Xy5uSihhKTthLmxlbmd0aD4wJiZhWzBdLmZvY3VzKCl9O18uTk09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWU9PnthLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixkKTtyZXR1cm4gYy5jYWxsKGEsZSl9O2EuYWRkRXZlbnRMaXN0ZW5lcihiLGQsdm9pZCAwKX07Cl8uUE09ZnVuY3Rpb24oYSl7T018fChPTT1fLkNkKCJBIikpO09NLmhyZWYhPT1hJiZfLkx5KE9NLGEpO3JldHVybiBPTX07Uk09ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoUU1bYV0pcmV0dXJuIFFNW2FdO3ZhciBiPV8uUE0oYSkucGF0aG5hbWU7UU1bYV09Yi5zdGFydHNXaXRoKCIvIik/YjoiLyIrYjtyZXR1cm4gUU1bYV19OwpTTT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PSIvIj8iaG9tZSI6YS5zdGFydHNXaXRoKCIvcmVzdWx0cyIpPyJzZWFyY2giOmEuc3RhcnRzV2l0aCgiL3dhdGNoIik/IndhdGNoIjphLnN0YXJ0c1dpdGgoIi9zaG9ydHMiKT8ic2hvcnRzIjphLnN0YXJ0c1dpdGgoIi9oYXNodGFnIik/Imhhc2h0YWciOmEuc3RhcnRzV2l0aCgiL2NyZWF0ZV9jaGFubmVsIik/ImNyZWF0ZV9jaGFubmVsIjphLnN0YXJ0c1dpdGgoIi9wb3N0LyIpPyJwb3N0IjphLnN0YXJ0c1dpdGgoIi9AIil8fGEuc3RhcnRzV2l0aCgiL3VzZXIvIil8fGEuc3RhcnRzV2l0aCgiL2NoYW5uZWwvIik/ImNoYW5uZWwiOmEuc3RhcnRzV2l0aCgiL2V4cGVyaW1lbnRzIik/ImV4cGVyaW1lbnRzIjphLnN0YXJ0c1dpdGgoIi9zcG9uc29yX2NoYW5uZWwiKT8ic3BvbnNvcnNoaXAiOmEuc3RhcnRzV2l0aCgiL3NlbGVjdF9zaXRlIik/InNldHRpbmdzIjphLnN0YXJ0c1dpdGgoIi9sb2NhdGUiKT8ibG9jYXRlIjphLnN0YXJ0c1dpdGgoIi9yZWRlZW0iKT8KInJlZGVlbSI6YS5zdGFydHNXaXRoKCIvbXVzaWNwcmVtaXVtIil8fGEuc3RhcnRzV2l0aCgiL3ByZW1pdW0iKXx8YS5zdGFydHNXaXRoKCIvcmVkIik/InByZW1pdW0iOmEuc3RhcnRzV2l0aCgiL3BhaWRfbWVtYmVyc2hpcHMiKT8icGFpZF9tZW1iZXJzaGlwcyI6YS5zdGFydHNXaXRoKCIvb29wcyIpPyJvb3BzIjphLnN0YXJ0c1dpdGgoIi9jbGlwIik/ImNsaXAiOl8uWEQ/LnJlc3BvbnNlPy5wYWdlPT09IjQwNCI/IjQwNCI6YS5zdGFydHNXaXRoKCIvZmVlZC9oaXN0b3J5Iik/Imhpc3RvcnkiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvbGlicmFyeSIpPyJsaWJyYXJ5IjphLnN0YXJ0c1dpdGgoIi9mZWVkL3N1YnNjcmlwdGlvbnMiKT8ic3Vic2NyaXB0aW9ucyI6YS5zdGFydHNXaXRoKCIvZmVlZC90cmVuZGluZyIpPyJ0cmVuZGluZyI6YS5zdGFydHNXaXRoKCIvZmVlZC9uZXdzX2Rlc3RpbmF0aW9uIik/Im5ld3MiOmEuc3RhcnRzV2l0aCgiL3BsYXlsaXN0Iik/InBsYXlsaXN0IjphLnN0YXJ0c1dpdGgoIi9taW5vcl9tb21lbnQiKT8KIm1pbm9yX21vbWVudCI6YS5zdGFydHNXaXRoKCIvcGxheWFibGUvIil8fGEubWF0Y2goIl4vcGxheWFibGVzLyg/IXNhdmVkKS4iKT8ibWluaV9hcHAiOmEuc3RhcnRzV2l0aCgiL3BsYXlhYmxlcyIpPyJwbGF5YWJsZXMiOmEuc3RhcnRzV2l0aCgiL2NyZWF0ZS9saXZlL2pvaW4iKT8ib3Blbl9pbl9hcHAiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvZXhwbG9yZSIpPyJleHBsb3JlIjoiYnJvd3NlIn07ClRNPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRD8ucmVzcG9uc2UsYj1hPy5lbmRwb2ludDtpZighYilyZXR1cm4gYT8ucGFnZT09PSJ3YXRjaCI/IndhdGNoIjpTTShSTSh3aW5kb3cubG9jYXRpb24uaHJlZikpO2E9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ud2ViUGFnZVR5cGU7dmFyIGM9ITE7aWYoYSYmIUlnYS5pbmNsdWRlcyhhKSlzd2l0Y2goYSl7Y2FzZSAiV0VCX1BBR0VfVFlQRV9TRUFSQ0giOnJldHVybiJzZWFyY2giO2Nhc2UgIldFQl9QQUdFX1RZUEVfU0hPUlRTIjpyZXR1cm4ic2hvcnRzIjtjYXNlICJXRUJfUEFHRV9UWVBFX0NIQU5ORUwiOnJldHVybiJjaGFubmVsIjtjYXNlICJXRUJfUEFHRV9UWVBFX1NFVFRJTkdTIjpyZXR1cm4ic2V0dGluZ3MiO2Nhc2UgIldFQl9QQUdFX1RZUEVfUExBWUxJU1QiOnJldHVybiJwbGF5bGlzdCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9PUEVOX0lOX0FQUCI6cmV0dXJuIm9wZW5faW5fYXBwIjtjYXNlICJXRUJfUEFHRV9UWVBFX01JTklfQVBQIjpyZXR1cm4ibWluaV9hcHAiOwpjYXNlICJXRUJfUEFHRV9UWVBFX1dBVENIIjpyZXR1cm4gXy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsJiZSTShfLkIoYi5jb21tYW5kTWV0YWRhdGEsXy56dykudXJsKS5zdGFydHNXaXRoKCIvY2xpcCIpPyJjbGlwIjoid2F0Y2giO2Nhc2UgIldFQl9QQUdFX1RZUEVfQlJPV1NFIjpyZXR1cm4oYj1fLkIoYixfLmNFKT8uYnJvd3NlSWQpP0pnYVtiXXx8ImJyb3dzZSI6ImJyb3dzZSI7ZGVmYXVsdDpjPSEwfWlmKF8uQihiLF8uRWVhKXx8Xy5CKGIsXy5EZWEpKXJldHVybiJzcG9uc29yc2hpcCI7dmFyIGQ9Uk0od2luZG93LmxvY2F0aW9uLmhyZWYpO2lmKGQuc3RhcnRzV2l0aCgiL2V4cGVyaW1lbnRzIikpcmV0dXJuImV4cGVyaW1lbnRzIjtpZihkLnN0YXJ0c1dpdGgoIi9jcmVhdGVfY2hhbm5lbCIpKXJldHVybiJjcmVhdGVfY2hhbm5lbCI7aWYoXy5CKGIsXy5WRCkmJmQuc3RhcnRzV2l0aCgiL3Nob3J0cyIpKXJldHVybiJzaG9ydHMiO2lmKF8uQihiLF8uVkQpJiYKZC5zdGFydHNXaXRoKCIvd2F0Y2giKSlyZXR1cm4id2F0Y2giO2MmJihiPW5ldyBfLlhqKCJVbnN1cHBvcnRlZCBtV2ViIHBhZ2UgdHlwZSIse3BhdGhuYW1lOmQsd2ViUGFnZVR5cGU6YX0pLF8uR3AoYikpO3JldHVybiJicm93c2UifTtfLlVNPWZ1bmN0aW9uKGEpe2E/LmhyZWY/YT0oYT1hLmhyZWYpP1NNKFJNKGE/YTp3aW5kb3cubG9jYXRpb24uaHJlZikpOlRNKCk6YT1hPy5wYWdlVHlwZTtyZXR1cm4gYXx8VE0oKX07Xy5WTT1mdW5jdGlvbihhKXtyZXR1cm4gXy5VTShhKT09PSJ3YXRjaCJ9O18uV009ZnVuY3Rpb24oKXtyZXR1cm4gXy5VTSgpPT09InNob3J0cyJ9O18uWE09ZnVuY3Rpb24oYSxiKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoYSx7ZGV0YWlsOmJ9KSl9OwpfLlpNPWZ1bmN0aW9uKCl7Xy5ZTSYmXy5IcChuZXcgXy5YaihgVW5leHBlY3RlZCBjYWxsIHRvIHJlcXVlc3RCYWNrTmF2aWdhdGlvbiwgZnJhZ21lbnQ6ICR7d2luZG93LmxvY2F0aW9uLmhhc2h9YCkpO18uRko9bmV3IF8uQmYoYT0+e2Z1bmN0aW9uIGIoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKTthKCl9d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsYil9KTtfLk5NKHdpbmRvdywicG9wc3RhdGUiLCgpPT57c2V0VGltZW91dCgoKT0+e30pfSk7aGlzdG9yeS5iYWNrKCk7cmV0dXJuIF8uRkp9OwpfLiRNPWZ1bmN0aW9uKGEsYj0hMSl7aWYoXy5ZTSl7dmFyIGM9d2luZG93LmxvY2F0aW9uO2E9Xy5kYihgIyR7YX1gKTthIT09dm9pZCAwJiZjLnJlcGxhY2UoYSl9ZWxzZSB3aW5kb3cubG9jYXRpb24uaGFzaD1hO2J8fF8ueCgibXdlYl9lbmFibGVfa2V0b19jb250ZW50Iil8fF8uWE0oInVwZGF0ZXVpIil9O18uYU49ZnVuY3Rpb24oYSl7aWYoYSYmYS5zaW1wbGVUZXh0KXJldHVybiBhLnNpbXBsZVRleHQ7dmFyIGI9IiI7aWYoYSYmYS5ydW5zKWZvcihsZXQgYz0wO2M8YS5ydW5zLmxlbmd0aDtjKyspYS5ydW5zW2NdLnRleHQmJihiKz1hLnJ1bnNbY10udGV4dCk7cmV0dXJuIGJ9O2JOPWZ1bmN0aW9uKGEpe3JldHVybiBfLmtBKHt0eXBlOiJTRVRfSVNfQk9UVE9NX1NIRUVUX09QRU5fU1RBVEUiLHBheWxvYWQ6YX0pfTsKS2dhPWZ1bmN0aW9uKGEpe2lmKGEmJmEuZm9jdXMpaWYoYSE9PWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpYS5mb2N1cygpO2Vsc2UgcmV0dXJuIGNOKGFzeW5jKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtyZXR1cm4gY04oKCk9PnthLmZvY3VzKCl9KX0pfTtfLmROPWZ1bmN0aW9uKGEpe3ZhciBiPTU7c2V0VGltZW91dChhc3luYygpPT57Zm9yKHZhciBjPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1jfHxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZG9jdW1lbnQuYm9keSkmJmI+PTAmJmE7KXthd2FpdCBLZ2EoYSk7aWYoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWEpYnJlYWs7YT1hLnBhcmVudEVsZW1lbnQ7LS1ifX0sMTUpfTtjTj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2IoYSgpKX0pfSl9OwplTj1mdW5jdGlvbihhKXtpZih0eXBlb2YgYS5jaGlsZHJlbj09PSJmdW5jdGlvbiIpcmV0dXJuIGEuY2hpbGRyZW4oKSxudWxsO2ZvcihsZXQgYiBvZiBhLmNoaWxkcmVuKWIoKTtyZXR1cm4gbnVsbH07Xy5mTj1mdW5jdGlvbihhLGIpe18uUnUoKCk9PkxnYShhLGIpKX07TGdhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bnVsbDtfLmd2Kys7dHJ5e2M9KDAsXy5JQykoYSwoKT0+e18uZ04oYil9KSxfLklBKCExKX1jYXRjaChkKXt0aHJvdyBfLklBKCEwKSxkO31yZXR1cm4gYz09PW51bGw/YTpjfTsKXy5nTj1mdW5jdGlvbihhKXtpZihhIT09dm9pZCAwJiZhIT09bnVsbClpZihhIGluc3RhbmNlb2YgXy5kQylmb3IodmFyIGI9Xy5VQTtfLlZBKCkhPW51bGwmJl8ubkMgaW4gXy5WQSgpJiZiLmNvbnRhaW5zKF8uVkEoKSk7KUNNKCk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYyBvZiBhKV8uZ04oYyk7ZWxzZSBpZihhIGluc3RhbmNlb2YgXy5TYSlJTShhLnRvU3RyaW5nKCkpO2Vsc2UgaWYoXy5pQihhKSl7aWYoXy5WQSgpIT09YSl0aHJvdyBFcnJvcigiRGJgIithLnRhZ05hbWUrImAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKTtDTSgpfWVsc2UgaWYoYz1hLGMhPW51bGwmJmMuR2k9PT1fLm1CfHxjIGluc3RhbmNlb2YgXy5mYnx8Xy5MQSgpKGMpKXtiPV8ucEIoYSk7Yj1BcnJheS5mcm9tKGIuY2hpbGROb2Rlcyk7Zm9yKHZhciBkIG9mIGIpXy5VQS5hcHBlbmRDaGlsZChkKSxDTSgpfWVsc2UgaWYoXy5YYShhKSYmKGE9YS50b1N0cmluZygpKSxkPXR5cGVvZiBhLApkPT09ImJvb2xlYW4ifHxkPT09Im51bWJlciJ8fGQ9PT0ic3RyaW5nIilJTShhKTtlbHNlIGlmKHR5cGVvZiBhPT09ImZ1bmN0aW9uIiliPV8uVUEsKGQ9Xy5WQSgpKSYmKGQuX2lzU2lnbmFsVGV4dE5vZGV8fGQuX2lzU2FmZU9yU2FuaXRpemVkSHRtbE5vZGUpfHxHZ2EoYixkLGEpLENNKCk7ZWxzZSBpZihhLnR5cGU9PT1IZ2EpXy5nTihhLnR5cGUoT2JqZWN0LmFzc2lnbih7fSxhLnByb3BzLHtjaGlsZHJlbjphLmNoaWxkcmVuWzBdfSkpKTtlbHNle2lmKHR5cGVvZiBhLnR5cGU9PT0ic3RyaW5nIil7YTp7YS5jZHx8RU0oYS50eXBlLGEucHJvcHMuaWRvbUtleSk7Yz1fLlVBO2ZvcihiIGluIGEucHJvcHMpaWYoYS5wcm9wc1tiXSE9PV8uS2JhKXtkPWEucHJvcHNbYl07bGV0IGU9Xy5hQjtlLnB1c2goYik7ZS5wdXNoKGQpfUZnYShfLkt1LmF0dHJpYnV0ZXMpO18uakMoYyxhLnByb3BzLCEwKTtpZigoYS5wcm9wcy5za2lwfHxhLnByb3BzLnNraXBjaGlsZHJlbikmJl8uVUEuaGFzQ2hpbGROb2RlcygpKV8uWUE9Cl8uVUEubGFzdENoaWxkO2Vsc2V7aWYoYS50eXBlPT09InN0eWxlIiYmXy5SQihhLmNoaWxkcmVuKT09PW51bGwpe18uWUE9Xy5VQS5sYXN0Q2hpbGQ7Yj12b2lkIDA7YnJlYWsgYX1fLmdOKGEuY2hpbGRyZW4pfV8uWEEoKTtfLllBPV8uVUE7Xy5VQT1fLlVBLnBhcmVudE5vZGU7YS5jZCYmKGEuY2Q9ITEpO18uQUIoYyxhLnByb3BzKTtiPWN9cmV0dXJuIGJ9aWYoYS50eXBlPT09Xy5JQilfLmdOKGEuY2hpbGRyZW4pO2Vsc2UgaWYoIU1nYShhKSl7Yj1hO3RyeXtOZ2EoYil9Y2F0Y2goZSl7Xy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoZSxiLnR5cGU/LlpjKSl9Yi5jZCYmKF8uWEEoKSxfLllBPV8uVUEsXy5VQT1fLlVBLnBhcmVudE5vZGUsYi5jZD0hMSl9fX07T2dhPWZ1bmN0aW9uKGEsYil7dmFyIGM7YS5wcm90b3R5cGU/Lm9jPT09dm9pZCAwP2M9bmV3IF8ubUMoYixhKTpjPW5ldyBhKGIpO2Muaj1hO2Mud289e25leHRTdGF0ZTpjLnN0YXRlLE14OiExfTtyZXR1cm4gY307Ck5nYT1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGUsYz1iLlpjO2lmKGI9PT1lTilhLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4sYihhLnByb3BzKTtlbHNle2EuY2hpbGRyZW4ubGVuZ3RoPjAmJihhLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4pO3ZhciBkOyhkPWEucHJvcHMpLmlkb21LZXl8fChkLmlkb21LZXk9Yik7dmFyIGU9ITE7aWYoYyl7dmFyIGY9RU0oYyxhLnByb3BzLmlkb21LZXkpO2EuY2Q9ITA7dmFyIGg9Zi5fX2luc3RhbmNlfWh8fChlPSEwLGg9T2dhKGIsYS5wcm9wcyksaC5wcm9wcz1udWxsLGYmJihmLl9faW5zdGFuY2U9aCxoLmVsPWYpKTsoe25leHRTdGF0ZTpjfT1oLndvPz97bmV4dFN0YXRlOmguc3RhdGUsTXg6ITF9KTtoLndvPXZvaWQgMDtiLmx3JiYoYz1iLmx3KGEucHJvcHMsYykpO3ZhciBrPWgucHJvcHMsbD1oLnN0YXRlO2gucHJvcHM9YS5wcm9wcztoLnN0YXRlPWM7Yz0oKT0+e3ZhciBtPWg7Xy5idy5TbyhtKTt2YXIgbj1tLm9jKG0ucHJvcHMpOwpuPyhtLnByb3BzLmlkb21LZXkmJihuLnByb3BzLmlkb21LZXk9bS5wcm9wcy5pZG9tS2V5KSxtPW4pOm09dm9pZCAwO2lmKG49bSluLmNkPWEuY2QsbT1fLmdOKG4pLGEuY2Q9bi5jZCxiLlpjfHwobT8oYi5aYz1tLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxtLl9faW5zdGFuY2U9aCxoLmVsPW0pOmguWmY/Lmxlbmd0aCYmXy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoRXJyb3IoIkNkIikpKSk7ZT8oaC5KaSgpLF8uYncuSmkoaCkpOihoLktpKGssbCksXy5idy5LaShoLGssYS5wcm9wcykpO2guR2YoKTtfLmJ3LkdmKGgpfTsoZD1oLm8pP18uR0EoZCxjLGgucHJvcHMuZGVidWdJbnN0YW5jZSk6YygpfX07Ck1nYT1mdW5jdGlvbihhKXt2YXIgYj1hLnR5cGU7aWYoYi5wcm90b3R5cGU/Lm9jIT09dm9pZCAwfHxiPT09ZU58fGIuY29tcG9uZW50VHlwZT09PV8uS3YpcmV0dXJuITE7YS5wcm9wcy5jaGlsZHJlbj1hLmNoaWxkcmVuLmxlbmd0aD4xP2EuY2hpbGRyZW46YS5jaGlsZHJlblswXTt2YXIgYz1hLnByb3BzLmlkb21LZXk/P2EudHlwZTtpZihfLlZBKCkmJl8uVkEoKVtfLldCXT8ua2V5PT09Yyl7Yj1fLlZBKCk7Yz1iW18uV0JdO2lmKCFjKXRocm93IEVycm9yKCJDYmAiK2IudGFnTmFtZSk7Yy5xQj8uKGEucHJvcHMpO1BnYShjKTtyZXR1cm4hMH1pZihRZ2EuaGFzKGIubmFtZSkpdGhyb3cgRXJyb3IoIkJiYCIrYi5uYW1lKyJgIisoXy5NdT8ubmFtZT8/InVua25vd24iKSk7YS5wcm9wcy5qbj0hMDsoYj1fLkdBKGEudHlwZSwoKT0+Xy5nQyhhLnR5cGUsYS5wcm9wcyksYS5wcm9wcy5kZWJ1Z0luc3RhbmNlKSkmJlJnYShiKTtyZXR1cm4hMH07CmhOPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8Xy5iQyhhKS5sZW5ndGg7YisrKUNNKCl9O1BnYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZBKClbXy5XQl0/LnluO2lmKGIpaE4oYik7ZWxzZSBmb3IobGV0IGM9MDtjPGEuVXE7YysrKShiPV8uVkEoKVtfLldCXT8ueW4pP2hOKGIpOkNNKCl9O1JnYT1mdW5jdGlvbihhKXthPV8uR0IoYSk7YT1BcnJheS5pc0FycmF5KGEpP2E6W2FdO2ZvcihsZXQgYiBvZiBhKV8uVUEuaW5zZXJ0QmVmb3JlKGIsXy5WQSgpKSxDTSgpfTtpTj1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57YSYmXy5kRShhKTtiJiZiKGMpfX07ak49ZnVuY3Rpb24oYSl7dmFyIGI9MjE7aWYoIWEpcmV0dXJuIGI7Yis9YS5oZWFkZXJUaXRsZT8yNzowO2IrPWEuaGVhZGVyVGl0bGUmJmEuaWg/NDowO3JldHVybiBiKz1hLmhlYWRlclRpdGxlJiZhLmhlYWRlclN1YnRpdGxlPzE2OjB9OwprTj1mdW5jdGlvbihhKXt2YXIgYj0wO2lmKCFhKXJldHVybiBiO2IrPWEuVWZ8fGEuVmY/NDg6MDtiKz1hLlBmfHxhLk1mPzMwOjA7cmV0dXJuIGIrPWEuVWZ8fGEuVmZ8fCFhLlBmJiYhYS5NZj8wOjEyfTsKU2dhPWZ1bmN0aW9uKGEse2tleTpiLHBheWxvYWQ6Y30pe2lmKGI9PT0iRHJhZyBTdGFydCIpcmV0dXJuey4uLmEsQ2M6ITEsVmU6Yy5jbGllbnRZfTtpZihiPT09IkRyYWcgTW92ZSIpe2I9TWF0aC5taW4oYy5UcCxjLmhxW2MuSGldKyhjLmZxPz9qTihjLmhlYWRlcikpLShjLk5wPz9rTihjLmZvb3RlcikpKTtsZXQgZD1NYXRoLm1heChjLm1wPy0xKihhLlZlLTI0KTowLGMuY2xpZW50WS1hLlZlKTtyZXR1cm57Li4uYSxPYjpkLEZjOk1hdGgubWluKGIsTWF0aC5tYXgoMCwoYS5QYz9iOmMucXApLWQpKX19cmV0dXJuIGI9PT0iU25hcCBUbyBGdWxsIFNjcmVlbiI/ey4uLmEsQ2M6ITEsT2I6MCxQYzohMCxGYzpjLm1heEhlaWdodH06Yj09PSJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iP3suLi5hLENjOiExLE9iOjAsUGM6ITEsRmM6Yy5tYXhIZWlnaHR9OmI9PT0iQ2xvc2UgU2hlZXQiP3suLi5hLENjOiEwLE9iOmMuY2xpZW50SGVpZ2h0LFBjOiExLEZjOmMubWF4SGVpZ2h0fTphfTsKVGdhPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBfLnRoLGM9YTtyZXR1cm57c3Vic2NyaWJlKGQpe2Iuc3Vic2NyaWJlKCJjaGFuZ2VkIixkKX0sZGlzcGF0Y2goZCxlKXtjPVNnYShjLHtrZXk6ZCxwYXlsb2FkOmV9KTtiLnB1Ymxpc2goImNoYW5nZWQiLGMpfX19O2xOPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57Yi5zdG9wUHJvcGFnYXRpb24oKTtyZXR1cm4gYT8uKGIpfX07VWdhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDA6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbkRlZmF1bHQiO2Nhc2UgMTpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uVHJhaWxpbmdQYWlyIjtjYXNlIDI6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvblNwbGl0UGFpciI7Y2FzZSAzOnJldHVybiJ5dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25QcmltYXJ5U3BsaXRQYWlyIn19O21OPWZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLmNMKS5KZSgpfTsKbk49ZnVuY3Rpb24oYSl7cmV0dXJue2hlYWRlclRpdGxlOmEuaGVhZGVyVGl0bGU/LigpLGhlYWRlclN1YnRpdGxlOmEuaGVhZGVyU3VidGl0bGU/LigpLFdmOmEuV2YsTmY6YS5OZixPZjphLk9mLFJlOmEuUmU/LigpLE1mOmEuTWY/LigpLFBmOmEuUGY/LigpLEhhOmEuSGE/LigpLHBmOmEucGY/LigpLEdrOmEuR2s/LigpLEdoOmEuR2gsZm9jdXNPbkNsb3NlOmEuZm9jdXNPbkNsb3NlPy4oKSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZD8uKCksZGlzYWJsZWRDb21tYW5kOmEuZGlzYWJsZWRDb21tYW5kPy4oKSxVZTphLlVlLEdiOmEuR2IsU2U6YS5TZSxqaDphLmpoKCksWGk6YS5YaSgpLGhoOmEuaGgoKSxVZjphLlVmKCksVmY6YS5WZigpLGloOmEuaWgoKX19O3BOPWZ1bmN0aW9uKGEpe29OfHwob049Xy54TSgpKTtvTj8uc2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIixTdHJpbmcoYSoxMDApKX07VmdhPWZ1bmN0aW9uKGEpe2E9YS50YXJnZXQudmFsdWVBc051bWJlcjtfLk1IKCk/LnNldFBsYXliYWNrUmF0ZShhKX07CldnYT1mdW5jdGlvbihhKXtwTihhLnRhcmdldC52YWx1ZUFzTnVtYmVyKX07WGdhPWZ1bmN0aW9uKGEpe18uTUgoKT8uc2V0UGxheWJhY2tSYXRlKGEpO3BOKGEpfTtxTj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm57fTt2YXIgYj1hLmZvcmVncm91bmRUaXRsZUNvbG9yLGM9YS5iYWNrZ3JvdW5kQ29sb3I7YT1hLmJvcmRlckNvbG9yO3ZhciBkPSJ0ZXh0IjthP2Q9Im91dGxpbmUiOmMmJihkPSJmaWxsZWQiKTtyZXR1cm57dHlwZTpkLGN1c3RvbUNvbG9yczp7Y29sb3I6Yj9fLk5EKGIpOnZvaWQgMCxiYWNrZ3JvdW5kQ29sb3I6Yz9fLk5EKGMpOnZvaWQgMCxib3JkZXJDb2xvcjphP18uTkQoYSk6dm9pZCAwfX19OwphaGE9ZnVuY3Rpb24oe3JlbmRlcmVyOmEsSW06Yix3QTpjLFNjOmQsZHc6ZSxRZjpmLEJsOmgsaXNTdWJzY3JpYmU6az0hMSxDSjpsPSExLG9MOm09ITF9KXt2YXIgbj1ZZ2EoYSk7ayYmKG4uc3R5bGU9Im1vbm8iLG4udHlwZT0iZmlsbGVkIik7ZT0hYS5pY29ufHwhZSYmYS50ZXh0P2EuaWNvbj9hLmljb25Qb3NpdGlvbj09PSJCVVRUT05fSUNPTl9QT1NJVElPTl9UWVBFX1JJR0hUX09GX1RFWFQiPyJ0cmFpbGluZyI6ImxlYWRpbmciOnZvaWQgMDpmPyJpY29uLW9ubHkiOiJpY29uLW9ubHktNDAiO2U9PT0iaWNvbi1vbmx5LTQwIiYmKG4udHlwZT0idGV4dCIpO209ey4uLlpnYShhLG0pfTtsPSEhYS5pc1NlbGVjdGVkfHwhXy54KCJ3ZWJfcHJvcGFnYXRlX2lzX3ByZXNzZWRfa2lsbHN3aXRjaCIpJiYhIWw7Zj1hLmlzU2VsZWN0ZWQhPT12b2lkIDA7aD1oPT09dm9pZCAwP2EuaXNEaXNhYmxlZDpoO2s9YS50ZXh0P18uQUYoYS50ZXh0KTp2b2lkIDA7dmFyIHA9KHA9YS5hY2Nlc3NpYmlsaXR5RGF0YT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHwKYS5hY2Nlc3NpYmlsaXR5Py5sYWJlbCk/cDpfLmFOKGEudGV4dCk7Yj0kZ2EoYSxiLGMpO2M9ck4oYSk7Yz8ubGVuZ3RoPyhjPV8uYkUoe2lubmVydHViZUNvbW1hbmQ6TE0oYykscWQ6ITB9KSxjPWM/LmhyZWY/Yzp2b2lkIDApOmM9dm9pZCAwO3JldHVybnsuLi5uLC4uLm0saWNvblBvc2l0aW9uOmUsLi4uZCxmb2N1c2VkOiExLHRvZ2dsZWQ6bCx0b2dnbGVhYmxlOmYsZGlzYWJsZWQ6aCxXYTprLGFjY2Vzc2liaWxpdHlMYWJlbDpwLG9uVGFwOmIsdWM6YywuLi5xTihhLmNvbG9yRGF0YT8uYmFzaWNDb2xvclBhbGV0dGVEYXRhKSxvbmVPZmZDdXN0b21UZXh0V3JhcDphLm9uZU9mZkN1c3RvbVRleHRXcmFwfX07JGdhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZhciBlPXJOKGEpO2IoZSxkKTtpZighYylmb3IobGV0IGYgb2YgZSlfLmRLKGYpfX07CnJOPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2EuY29tbWFuZCYmYi5wdXNoKGEuY29tbWFuZCk7YS5zZXJ2aWNlRW5kcG9pbnQmJmIucHVzaChhLnNlcnZpY2VFbmRwb2ludCk7YS5uYXZpZ2F0aW9uRW5kcG9pbnQmJmIucHVzaChhLm5hdmlnYXRpb25FbmRwb2ludCk7cmV0dXJuIGJ9O1pnYT1mdW5jdGlvbihhLGIpe2lmKGIpc3dpdGNoKGEuc2l6ZSl7Y2FzZSAiU0laRV9TTUFMTCI6cmV0dXJue3NpemU6IlMifTtjYXNlICJTSVpFX0xBUkdFIjpyZXR1cm57c2l6ZToiTCJ9O2Nhc2UgIlNJWkVfWExBUkdFIjpyZXR1cm57c2l6ZToiWEwifTtjYXNlICJTSVpFX1hTTUFMTCI6cmV0dXJue3NpemU6IlhTIn07ZGVmYXVsdDpyZXR1cm57c2l6ZToiTSJ9fXN3aXRjaChhLnN0eWxlKXtjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOnJldHVybntzaXplOiJTIn07ZGVmYXVsdDpyZXR1cm57c2l6ZToiTSJ9fX07CllnYT1mdW5jdGlvbihhKXtzd2l0Y2goYS5zdHlsZSl7Y2FzZSAiU1RZTEVfVklTSUJMWV9ESVNBQkxFRCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImRpc2FibGVkIn07Y2FzZSAiU1RZTEVfUFJJTUFSWSI6Y2FzZSAiU1RZTEVfUEFZTUVOVCI6Y2FzZSAiU1RZTEVfQ0FMTF9UT19BQ1RJT05fRklMTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9DQUxMX1RPX0FDVElPTl9UT05BTCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVVRMSU5FIjpjYXNlICJTVFlMRV9TVUdHRVNUSVZFIjpjYXNlICJTVFlMRV9TVUdHRVNURURfQUNUSU9OIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfQkxVRV9URVhUIjpjYXNlICJTVFlMRV9BTEVSVF9JTkZPIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIiwKdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfV0hJVEVfV0lUSF9CT1JERVIiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0xJR0hUX1RFWFQiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fRklMTEVEX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTU9OT19UT05BTF9PVkVSTEFZIjpjYXNlICJTVFlMRV9EQVJLX09OX0JMQUNLIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRvbmFsIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWV9QUk9URUNURUQiOnJldHVybntzdHlsZToib3ZlcmxheS1kYXJrIiwKdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX0ZJTExFRCI6Y2FzZSAiU1RZTEVfREVTVFJVQ1RJVkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfREVGQVVMVCI6Y2FzZSAiU1RZTEVfQ09NUEFDVF9HUkFZIjpjYXNlICJTVFlMRV9NT05PX1RPTkFMIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRvbmFsIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfSU5BQ1RJVkVfT1VUTElORSI6Y2FzZSAiU1RZTEVfTU9OT19PVVRMSU5FIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CTFVFX1RFWFRfV0lUSF9JTlZFUlNFX1RIRU1FIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uLWludmVyc2UiLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CUkFORF9HUkFESUVOVCI6cmV0dXJue3N0eWxlOiJicmFuZC1ncmFkaWVudCIsCnR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0dFTkVSQVRJVkVfR1JBRElFTlQiOnJldHVybntzdHlsZToiZ2VuLWFpLWdyYWRpZW50Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtkZWZhdWx0OnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9fX07CmRoYT1mdW5jdGlvbih7cmVuZGVyZXI6YSxlbGVtZW50OmIsdG9nZ2xlZDpjLEltOmQsUnU6ZSxTYzpmLGR3OmgsUWY6ayxCbDpsLG5MOm0sYWI6bn0pe3ZhciBwPWJoYShhLGMpO2g9IWEuZGVmYXVsdEljb258fCFoJiZhLmRlZmF1bHRUZXh0P2EuZGVmYXVsdEljb24/ImxlYWRpbmciOnZvaWQgMDprPyJpY29uLW9ubHkiOiJpY29uLW9ubHktNDAiO2g9PT0iaWNvbi1vbmx5LTQwIiYmKHAudHlwZT0idGV4dCIpO2E6c3dpdGNoKGEuc3R5bGU/LnN0eWxlVHlwZSl7Y2FzZSAiU1RZTEVfQ09NUEFDVF9HUkFZIjprPXtzaXplOiJTIn07YnJlYWsgYTtkZWZhdWx0Oms9e3NpemU6Ik0ifX1rPXsuLi5rfTt2YXIgcj0ocj1jJiZhLnRvZ2dsZWRUZXh0fHxhLmRlZmF1bHRUZXh0KT9fLkFGKHIpOnZvaWQgMDttPyhtPV8uYU4oYyYmYS50b2dnbGVkVGV4dHx8YS5kZWZhdWx0VGV4dCkpJiZuJiYhaXNOYU4oTnVtYmVyKG4ubnVtYmVyVmFsdWUpKT8obi5YYj1tLGMmJihuLm51bWJlclZhbHVlKz0KMSkpOm49dm9pZCAwOm49dm9pZCAwO209KG09KGM/YS50b2dnbGVkQWNjZXNzaWJpbGl0eURhdGF8fGEudG9nZ2xlZFRleHQ/LmFjY2Vzc2liaWxpdHk6YS5hY2Nlc3NpYmlsaXR5RGF0YXx8YS5kZWZhdWx0VGV4dD8uYWNjZXNzaWJpbGl0eSk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbHx8YS5hY2Nlc3NpYmlsaXR5Py5sYWJlbCk/bTpfLmFOKGMmJmEudG9nZ2xlZFRleHR8fGEuZGVmYXVsdFRleHQpO2w9bD09PXZvaWQgMD9hLmlzRGlzYWJsZWQ6bDtiPWNoYShhLGMsZCxiLGUpO2Q9c04oYSxjKTtkPy5sZW5ndGg/KGQ9Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpMTShkKSxxZDohMH0pLGQ9ZD8uaHJlZj9kOnZvaWQgMCk6ZD12b2lkIDA7cmV0dXJuey4uLnAsLi4uayxpY29uUG9zaXRpb246aCwuLi5mLGZvY3VzZWQ6ITEsdG9nZ2xlZDohIWMsdG9nZ2xlYWJsZTohMCxXYTpyLGFiOm4sYWNjZXNzaWJpbGl0eUxhYmVsOm0sZGlzYWJsZWQ6bCxvblRhcDpiLHVjOmQsLi4ucU4oYS5jb2xvckRhdGE/LmJhc2ljQ29sb3JQYWxldHRlRGF0YSl9fTsKY2hhPWZ1bmN0aW9uKGEsYixjLGQsZT17fSl7cmV0dXJuIGY9Pnt2YXIgaD1hLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZT9fLnV4KGEubG9nZ2luZ0RpcmVjdGl2ZXMuY2xpZW50VmVTcGVjLnVpVHlwZSk6dm9pZCAwO2UuY2xpY2tlZFZpc3VhbEVsZW1lbnR8fChlLmNsaWNrZWRWaXN1YWxFbGVtZW50PWgpO2g9c04oYSxiKTtjKGgsZik7Zm9yKGxldCBuIG9mIGgpe2g9bjt2YXIgaz1kLGw9ZixtPWU7bS5mb3JtP20uZm9ybS5ldmVudD1sOm0uZm9ybT17ZWxlbWVudDprLGV2ZW50Omx9O18uZEsoaCxtKX19fTsKc049ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtiPyhhLnRvZ2dsZWRDb21tYW5kJiZjLnB1c2goYS50b2dnbGVkQ29tbWFuZCksYS50b2dnbGVkU2VydmljZUVuZHBvaW50JiZjLnB1c2goYS50b2dnbGVkU2VydmljZUVuZHBvaW50KSk6KGEuZGVmYXVsdENvbW1hbmQmJmMucHVzaChhLmRlZmF1bHRDb21tYW5kKSxhLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQmJmMucHVzaChhLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQpLGEuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCYmYy5wdXNoKGEuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCkpO3JldHVybiBjfTsKYmhhPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b2dnbGVkU3R5bGV8fGEuc3R5bGU7c3dpdGNoKChiP2M6YS5zdHlsZSk/LnN0eWxlVHlwZSl7Y2FzZSAiU1RZTEVfVklTSUJMWV9ESVNBQkxFRCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImRpc2FibGVkIn07Y2FzZSAiU1RZTEVfUFJJTUFSWSI6Y2FzZSAiU1RZTEVfUEFZTUVOVCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfU1VHR0VTVElWRSI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JMVUVfVEVYVCI6cmV0dXJue3N0eWxlOiJjYWxsLXRvLWFjdGlvbiIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0RFU1RSVUNUSVZFIjpjYXNlICJTVFlMRV9NT05PX0ZJTExFRCI6cmV0dXJue3N0eWxlOiJtb25vIiwKdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9MSUdIVF9URVhUIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX1RPTkFMX09WRVJMQVkiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9ERUZBVUxUIjpjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9JTkFDVElWRV9PVVRMSU5FIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtkZWZhdWx0OnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9fX07Cl8udE49ZnVuY3Rpb24oYSl7cmV0dXJuIF8uSyhfLmdHLHtwYTooKT0+W2EuY29tcG9uZW50KCldfSxiPT5iPy4oKSl9O2ZoYT1mdW5jdGlvbihhLGIsYyl7aWYoYz09PW51bGx8fGM9PT12b2lkIDApcmV0dXJuIGM7dmFyIGQ9Xy5nQihhLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxiLCgpPT57dGhyb3cgRXJyb3IoIm1jIik7fSk7aWYoZD09PW51bGwpcmV0dXJuIGM7ZD1laGFbZF07aWYoZC5oZT8uKGMpKXtpZihkLktkKXJldHVybiBkLktkKGMpO3Rocm93IEVycm9yKCJEZCIpO31yZXR1cm4gZC5wZD9kLnBkKGEudGFnTmFtZSxiLFN0cmluZyhjKSk6Y307Xy51Tj1mdW5jdGlvbihhKXtyZXR1cm4gYS5mb3JlZ3JvdW5kVGl0bGVDb2xvcj09PSJUSEVNRV9BVFRSSUJVVEVfVEVYVF9ESVNBQkxFRCJ8fGEuZm9yZWdyb3VuZEljb25Db2xvcj09PSJUSEVNRV9BVFRSSUJVVEVfSUNPTl9ESVNBQkxFRCJ9O3ZOPWZ1bmN0aW9uKGEpe2lmKGEmJl8uS00oYSkpcmV0dXJuIGF9OwpYPWZ1bmN0aW9uKGEsYil7KGI9Xy5hQShhLHt9LGIpKXx8Xy5XaShFcnJvcigiRWRgIithKSk7cmV0dXJuIGJ9O18ud049ZnVuY3Rpb24oYSl7cmV0dXJue3VybEVuZHBvaW50Ont1cmw6YX0sY29tbWFuZE1ldGFkYXRhOnt3ZWJDb21tYW5kTWV0YWRhdGE6e3VybDphfX19fTtfLnhOPWZ1bmN0aW9uKCl7cmV0dXJuIF8ub00oKS5nZXRTdGF0ZSgpLnRpPy5qan07Xy55Tj1mdW5jdGlvbihhKXtfLnkoKS5yZXNvbHZlKF8uY0wpLndnKHtRazphfSl9O18uek49ZnVuY3Rpb24oKXtfLnkoKS5yZXNvbHZlKF8uY0wpLkplKCl9O18uQk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1hPy5wYXJlbnRFbGVtZW50Py5jaGlsZHJlbjtpZihjKWZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXtsZXQgZT1jW2RdO2NbZF0hPT1hJiYoYj9lLnNldEF0dHJpYnV0ZSgiaW5lcnQiLCJ0cnVlIik6ZS5yZW1vdmVBdHRyaWJ1dGUoImluZXJ0IiksQU4oZSxiKSl9fTsKQU49ZnVuY3Rpb24oYSxiKXtiPyhhLmhhc0F0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSYmYS5zZXRBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIixhLmdldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSksYS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpKTooYS5oYXNBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIikmJihhLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLGEuZ2V0QXR0cmlidXRlKCJkYXRhLW9sZC1hcmlhLWhpZGRlbiIpKSxhLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iKSksYS5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIikpfTtDTj1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGxheWVyLWNvbnRhaW5lci1pZCIpO2ImJkFOKGIsYSl9OwpnaGE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtyZXR1cm4oYT1hLnNjcm9sbGluZ0VsZW1lbnQ/YS5zY3JvbGxpbmdFbGVtZW50Ol8uY3J8fGEuY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP2EuYm9keXx8YS5kb2N1bWVudEVsZW1lbnQ6YS5kb2N1bWVudEVsZW1lbnQpJiZ0eXBlb2YgYS5zY3JvbGxUb3A9PT0ibnVtYmVyIj9hLnNjcm9sbFRvcDp0eXBlb2Ygd2luZG93LnBhZ2VZT2Zmc2V0PT09Im51bWJlciI/d2luZG93LnBhZ2VZT2Zmc2V0OjB9OwpfLkpOPWZ1bmN0aW9uKGEsYj1kb2N1bWVudC5hY3RpdmVFbGVtZW50LGM9ITEpe2EhPT1fLkROW18uRE4ubGVuZ3RoLTFdJiZfLkROLnB1c2goYSk7YiE9PWRvY3VtZW50LmJvZHk/RU4uc2V0KGEsYik6RU4uaGFzKGEpfHxFTi5zZXQoYSxudWxsKTtjP18uT0UoKCk9PntoaGEoYSxhLnF1ZXJ5U2VsZWN0b3IoImRpYWxvZyIpKX0pOl8uT0UoKCk9PnthPy5xdWVyeVNlbGVjdG9yKCJkaWFsb2ciKT8uZm9jdXMoKX0pO18uRE4ubGVuZ3RoPjF8fChGTj1naGEoKSxfLkJOKGEsITApLEdOJiZITiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoR04pLElOPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18ueE4oKXx8KGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCJtb2RhbC1vcGVuLWJvZHkiLCIiKSxkb2N1bWVudC5ib2R5LnN0eWxlLnRvcD1gLSR7Rk59cHhgLHdpbmRvdy5zY3JvbGxUbygwLC1GTiksSU49bnVsbCl9KSl9OwppaGE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmZyb20oYS5xdWVyeVNlbGVjdG9yQWxsKCdhLGlucHV0Om5vdChbZGlzYWJsZWRdKSxzZWxlY3Q6bm90KFtkaXNhYmxlZF0pLGJ1dHRvbjpub3QoW2Rpc2FibGVkXSk6bm90KC5tb2RhbC1oaWRkZW4tYnV0dG9uKSxbdGFiaW5kZXg9IjAiXScpKS5maWx0ZXIoYj0+e2lmKGIudGV4dENvbnRlbnQpcmV0dXJuITA7aWYoYiBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpe2lmKCFiLmxhYmVscylyZXR1cm4hMTtmb3IobGV0IGMgb2YgYi5sYWJlbHMpaWYoYy50ZXh0Q29udGVudClyZXR1cm4hMH1yZXR1cm4hMX0pfTsKaGhhPWZ1bmN0aW9uKGEsYil7dmFyIGM9aWhhKGEpLGQ9Y1swXTtpZighZCYmYiliLmZvY3VzKCk7ZWxzZXt2YXIgZT1jW2MubGVuZ3RoLTFdO2lmKGQpe2QuZm9jdXMoKTtsZXQgZj1oPT57aC5rZXlDb2RlPT09MjcmJihhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGYpLF8uS04oYSkpO2gua2V5Q29kZSE9PTM4JiZoLmtleUNvZGUhPT00MCYmaC5rZXlDb2RlIT09OXx8amhhKGQsZSl9O2EuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZil9fX07amhhPWZ1bmN0aW9uKGEsYil7aWYoIUxOKXtMTj0hMDt2YXIgYz1NTigpO2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxhKTtjLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCgpPT57Yi5mb2N1cygpfSk7Yz1NTigpO2IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxiLm5leHRTaWJsaW5nKTtjLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzaW4iLCgpPT57YS5mb2N1cygpfSl9fTsKTU49ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7YS5jbGFzc05hbWU9Im1vZGFsLWhpZGRlbi1idXR0b24iO2Euc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIi0xIik7YS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO3JldHVybiBhfTsKXy5LTj1mdW5jdGlvbihhKXt2YXIgYj1FTi5nZXQoYSk7RU4uZGVsZXRlKGEpO2lmKGtoYSl7aWYoXy5CTihhLCExKSxfLldNKCkmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInl0bS1lbmdhZ2VtZW50LXBhbmVsIikmJkNOKCEwKSxfLnhiKF8uRE4sYSksXy5ETi5sZW5ndGghPT0wKXtiJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntfLmROKGIpfSk7cmV0dXJufX1lbHNle18ueGIoXy5ETixhKTtpZihfLkROLmxlbmd0aCE9PTApe2ImJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18uZE4oYil9KTtyZXR1cm59Xy5CTihhLCExKTtfLldNKCkmJmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInl0bS1lbmdhZ2VtZW50LXBhbmVsIikmJkNOKCEwKX1JTiYmSE4mJmNhbmNlbEFuaW1hdGlvbkZyYW1lKElOKTtHTj1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pntkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgibW9kYWwtb3Blbi1ib2R5Iik7ZG9jdW1lbnQuYm9keS5zdHlsZS50b3A9CiIiO2ImJl8uZE4oYik7Xy5mcj9fLk9FKCgpPT57d2luZG93LnNjcm9sbFRvKDAsRk4pfSk6d2luZG93LnNjcm9sbFRvKDAsRk4pO0dOPW51bGx9KX07bGhhPWZ1bmN0aW9uKGEsYixjPV8uTk4pe2lmKGEpe3ZhciBkPV8ueSgpLnJlc29sdmUoXy5MeCk7ZD9fLkp4KGEse2RhdGE6YixvYnNlcnZlcjpkLE5iOmMsTmM6Xy5uRixlYjpfLm1GLGxheWVyOmEubGF5ZXJ9KTpfLklwKG5ldyBfLlhqKCJXYXJuaW5nOiBtb25pdG9yVmlzaWJpbGl0eSBjYWxsZWQgd2l0aCBudWxsIG9ic2VydmVyIixhLnRhZ05hbWUsYj8ubG9nZ2luZ0RpcmVjdGl2ZXMsYj8udHJhY2tpbmdQYXJhbXMpKX1lbHNlIF8uSXAobmV3IF8uWGooIldhcm5pbmc6IG1vbml0b3JWaXNpYmlsaXR5IGNhbGxlZCB3aXRoIG51bGwgZWxlbWVudCIsYj8ubG9nZ2luZ0RpcmVjdGl2ZXMsYj8udHJhY2tpbmdQYXJhbXMsYj8ucmVuZGVyZXJDb250ZXh0KSl9OwptaGE9ZnVuY3Rpb24oYSxiKXthJiZfLk9FKCgpPT57bGhhKGEsYixfLk5OKX0pfTtRTj1mdW5jdGlvbihhKXtyZXR1cm4gYT09PSJTSE9SVFNfTElLRSImJl8ueCgiZW5hYmxlX3Nob3J0c19oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIik/InNob3J0c190aHVtYnNfdXAiOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiZhJiZPTlthXT9PTlthXTphJiZQTlthXT9QTlthXTphfTtuaGE9ZnVuY3Rpb24oKXtpZihSTil7dmFyIGE9Xy55KCkucmVzb2x2ZShfLkluKFNOKSk7Uk49ITE7YT8udigpfX07b2hhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iW2IubGVuZ3RoLTFdIT09IiQiO2M9ZmhhKGEsYixjKTtkP2FbYl09YzooZD1jPT1udWxsP251bGw6U3RyaW5nKGMpLF8uUUEoYSxiLnNsaWNlKDAsLTEpLGQpKX07ClROPWZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPWEuY29tcG9uZW50O2ImJihiPy5ldmVudHM/LnB1Ymxpc2goIkRJU0NPTk5FQ1RFRCIpLGI/LmRLPy4oKSk7YS5MSD8uSGY/LigpO2ZvcihiPTA7YjxhLmNoaWxkTm9kZXMubGVuZ3RoO2IrKylUTihhLmNoaWxkTm9kZXNbYl0pfX07Xy5VTj1mdW5jdGlvbigpe3JldHVybiBfLkZKLnRoZW4oKCk9Pnt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjbWVudSImJihfLllNP18uJE0oIiIpOl8uWk0oKSk7cmV0dXJuIF8uRkp9KX07CnFoYT1mdW5jdGlvbihhKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoYS5pc0Rpc2FibGVkJiZhLmRpc2FibGVkQ29tbWFuZClfLkFKKGEuZGlzYWJsZWRDb21tYW5kLGEsITEpO2Vsc2V7Vk49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1lbnUiKTtWTnx8KFZOPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLFZOLmlkPSJtZW51Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKFZOKSk7d2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI21lbnUiJiZfLiRNKCJtZW51Iik7Vk4uY2xhc3NOYW1lPWEuaXNGdWxsV2lkdGg/Im1lbnUtY29udGFpbmVyIG1lbnUtZnVsbC13aWR0aCI6Im1lbnUtY29udGFpbmVyIjthLmNsYXNzTmFtZSYmKFZOLmNsYXNzTmFtZSs9IiAiK2EuY2xhc3NOYW1lKTsic2Nyb2xsVG8iaW4gVk4mJlZOLnNjcm9sbFRvKDAsMCk7dmFyIGM9YS5GQXx8Xy5tRygpO18uVnooYixfLnZNKGEub3duZXImJiFhLm93bmVyLmlhPwphLm93bmVyOm51bGwpKTtfLngoIm13ZWJfYzNfbWVudV9zaWduYWxzX3JlbmRlciIpPyhwaGEoYSksV058fChXTj1fLnhGKFZOLCgpPT5fLksoXy5JQixudWxsLF8uSyhYTix7RGg6KCk9PllOKCl9LF8uSyhfLnROLHtjb21wb25lbnQ6KCk9Pnt2YXIgZD1ZTigpO2lmKGQpcmV0dXJuKCk9Pl8ucEcoY3x8e30sKCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PmQuY29udGVudH0pKX19KSksXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLlVOfSkpLHtJazpfLlhDfSkpKTooXy5mTihWTixudWxsKSxfLmZOKFZOLF8uSyhfLklCLG51bGwsXy5LKFhOLHtEaDphfSxhLmNvbnRlbnQoKSksXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLlVOfSkpKSk7YS5ybj09PXZvaWQgMCYmKGEucm49ITApO18uSk4oVk4sYS5mb2N1c09uQ2xvc2UsYS5ybil9fWNhdGNoKGQpe2IuZXJyb3I9ZCxiLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihiKX19OwphTz1mdW5jdGlvbigpe1ZOJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjbWVudSImJihfLktOKFZOKSxfLngoIm13ZWJfYzNfbWVudV9zaWduYWxzX3JlbmRlciIpPyhXTj8uKCksV049dm9pZCAwKTpUTihWTiksVk4uaXNDb25uZWN0ZWQmJmRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoVk4pLFZOPW51bGwpfTtyaGE9LyYvZztzaGE9LzwvZzt0aGE9Lz4vZzt1aGE9LyIvZzt2aGE9LycvZzt3aGE9L1x4MDAvZzt4aGE9L1tceDAwJjw+IiddLztfLndNPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1uZXcgXy56aChhKX1zZXQoYSxiLGMpe2M9YyE9PXZvaWQgMD9EYXRlLm5vdygpK2M6dm9pZCAwO3RoaXMuai5zZXQoYSxiLGMpfWdldChhKXtyZXR1cm4gdGhpcy5qLmdldChhKX1yZW1vdmUoYSl7dGhpcy5qLnJlbW92ZShhKX19O0VnYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1udWxsO3RoaXMubz1hO3RoaXMua2V5PWI7dGhpcy50ZXh0PXZvaWQgMH19O0ZNPVtdOwpITT0wO2JPPXsiKiI6e2FzeW5jOjEsZGlyOjAsbG9hZGluZzoyLHRhcmdldDozfX07eWhhPVt7YXV0bzohMCxsdHI6ITAscnRsOiEwfSx7YXN5bmM6ITB9LHtlYWdlcjohMCxsYXp5OiEwfSx7X3NlbGY6ITAsX2JsYW5rOiEwfV07T009bnVsbDtRTT17fTtJZ2E9IldFQl9QQUdFX1RZUEVfQUNDT1VOVFMgV0VCX1BBR0VfVFlQRV9XRUxDT01FIFdFQl9QQUdFX1RZUEVfQUNDT1VOVF9TRUxFQ1RPUiBXRUJfUEFHRV9UWVBFX1NJR05fSU5fSURFTlRJRklFUl9FTlRSWSBXRUJfUEFHRV9UWVBFX1NJR05fSU5fUEFTU1dPUkRfRU5UUlkgV0VCX1BBR0VfVFlQRV9TSUdOX0lOX0RFVklDRV9QUk9NUFRfQ0hBTExFTkdFIFdFQl9QQUdFX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTCBXRUJfUEFHRV9UWVBFX1VOS05PV04iLnNwbGl0KCIgIik7CkpnYT17RkV3aGF0X3RvX3dhdGNoOiJob21lIixGRWhhc2h0YWc6Imhhc2h0YWciLEZFdHJlbmRpbmc6InRyZW5kaW5nIixGRWhpc3Rvcnk6Imhpc3RvcnkiLFNQdW5saW1pdGVkOiJwcmVtaXVtIixGRW1lbWJlcnNoaXBzX2FuZF9wdXJjaGFzZXM6InBhaWRfbWVtYmVyc2hpcHMiLFNQcmVkZWVtX2NvZGU6InJlZGVlbSIsU1B2ZXJpZnlfbG9jYXRpb246ImxvY2F0ZSIsU1BtaW5vcl9tb21lbnQ6Im1pbm9yX21vbWVudCIsRkVtaW5pX2FwcF9jb250YWluZXI6Im1pbmlfYXBwIixGRW5ld3NfZGVzdGluYXRpb246Im5ld3MiLFNQb3Blbl9pbl9hcHA6Im9wZW5faW5fYXBwIixGRWV4cGxvcmU6ImV4cGxvcmUiLEZFc3Vic2NyaXB0aW9uczoic3Vic2NyaXB0aW9ucyIsRkVzZnZfYXVkaW9fcGl2b3Q6InNmdl9hdWRpb19waXZvdCIsRkVwbGF5bGlzdF9hZ2dyZWdhdGlvbjoicGxheWxpc3RfYWdncmVnYXRpb24ifTtfLllNPSExO3poYT17YUQ6InlvdXR1YmVfZmlsbCIsUkY6InlvdXR1YmVfb3V0bGluZSJ9OwpBaGE9e2pGOiJMSUtFIixFRjoiTk9USUZJQ0FUSU9OX0JFTEwifTtfLktCPV8ubEM7dmFyIFFnYT1uZXcgU2V0KFsiRm9yIiwiSWYiLCJNYXRjaCIsIldhdGNoIl0pLGNPPXtbXy5SQS5kZWZhdWx0XTooKT0+Xy56QixzdHlsZTooKT0+Xy56Qn07Zm9yKGxldCBhIGluIGNPKV8uS3UuYXR0cmlidXRlc1thXT1jT1thXShfLkt1LmF0dHJpYnV0ZXNbYV0pO18uQmhhPW5ldyBfLkkoInNpZ25JbkVuZHBvaW50Iik7Xy5kTz1uZXcgXy5JKCJsaWtlRW5kcG9pbnQiKTt2YXIgQ2hhPW5ldyBfLkkoImhvcml6b250YWxTbGlkZXJWaWV3TW9kZWwiKTt2YXIgRGhhPW5ldyBfLlZzKCJWSURFT19OT1RJQ0VTX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgRWhhPV8uTChhPT57ZnVuY3Rpb24gYihrKXt2YXIgbD1oKCktYS5zdGVwU2l6ZSgpO2QudmFsdWUudmFsdWVBc051bWJlcj1sO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IikpO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNoYW5nZSIpKTtrLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGMoayl7dmFyIGw9aCgpK2Euc3RlcFNpemUoKTtkLnZhbHVlLnZhbHVlQXNOdW1iZXI9bDtkLnZhbHVlLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbnB1dCIpKTtkLnZhbHVlLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJjaGFuZ2UiKSk7ay5zdG9wUHJvcGFnYXRpb24oKX12YXIgZD1fLnVFKCJpbnB1dCIpLFtlLGZdPV8uQUMoKCk9PmEudmFsdWUoKT8/MCksaD1lO18ubkUoKCk9Pnt2YXIgaz1kLnZhbHVlO2sudmFsdWVBc051bWJlcj1oKCk7dmFyIGw9aCgpLG09YS5taW5WYWx1ZSgpLG49YS5SbCgpO2suc3R5bGUuc2V0UHJvcGVydHkoIi0teXQtc2xpZGVyLXNoYXBlLWdyYWRpZW50LXBlcmNlbnQiLApgJHsobC1tKS9uKjEwMH0lYCl9LCJqVDVDQ2YiKTtyZXR1cm4gXy5LKCJzbGlkZXItc2hhcGUiLHtjbGFzczpfLlAoInl0U2xpZGVyU2hhcGVIb3N0Iix7eXRTbGlkZXJTaGFwZVZlcnRpY2FsOigpPT5hLmlzVmVydGljYWwoKX0pfSxfLksoXy5PLHtBOmEuVWosdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b24iLCJhcmlhLWxhYmVsIjphLmpsLGRpc2FibGVkOigpPT5oKCk9PT1hLm1pblZhbHVlKCksIm9uOmNsaWNrIjpifSxfLksoXy5VQyx7bW9kZWw6e2NpcmN1bGFyOiEwfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjoiQkFSX0hPUklaT05UQUwiLGNsYXNzTmFtZToieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uIn0pKSl9KSxfLksoImlucHV0Iix7Y2xhc3M6KCk9PmEuaXNWZXJ0aWNhbCgpPyJ5dFNsaWRlclNoYXBlVmVydGljYWxTbGlkZXIiOgoieXRTbGlkZXJTaGFwZUhvc3RTbGlkZXIiLHR5cGU6InJhbmdlIixpZDoic2xpZGVyIixlbDpkLG1pbjphLm1pblZhbHVlLG1heDphLm1heFZhbHVlLCJhcmlhLWxhYmVsIjphLmFyaWFMYWJlbCwiYXJpYS12YWx1ZW1pbiI6YS5taW5WYWx1ZSwiYXJpYS12YWx1ZW1heCI6YS5tYXhWYWx1ZSwiYXJpYS12YWx1ZW5vdyI6aCwiYXJpYS12YWx1ZXRleHQiOigpPT5TdHJpbmcoaCgpKSx2YWx1ZTpoLHN0ZXA6YS5zdGVwU2l6ZSwib246aW5wdXQiOmZ1bmN0aW9uKGspe2EuUmM/LihrKTtmKE51bWJlcihkLnZhbHVlPy52YWx1ZT8/MCkpO2suc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKGspe2Eub25DaGFuZ2U/LihrKTtrLnN0b3BQcm9wYWdhdGlvbigpfX0pLF8uSyhfLk8se0E6YS5Vaix0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbiIsImFyaWEtbGFiZWwiOmEuUGwsZGlzYWJsZWQ6KCk9PmgoKT09PQphLm1heFZhbHVlKCksIm9uOmNsaWNrIjpjfSxfLksoXy5VQyx7bW9kZWw6e2NpcmN1bGFyOiEwfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjoiQUREIixjbGFzc05hbWU6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uSWNvbiJ9KSkpfSkpfSwiT2EiKTt2YXIgRmhhPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYztpZigoYz1hLmRhdGEoKSkmJmMubWF4VmFsdWUmJmMubWluVmFsdWUmJmMuc3RlcENvdW50KXt2YXIgZD1jLnZhbHVlRGVub21pbmF0b3I/PzEsZT0oYy5tYXhWYWx1ZS1jLm1pblZhbHVlKS9kO2M9e3ZhbHVlOihjLmluaXRpYWxWYWx1ZT8/Yy5taW5WYWx1ZSkvZCxhcmlhTGFiZWw6Xy5CKGMucmVuZGVyZXJDb250ZXh0LF8uWUMpPy5sYWJlbD8/IiIsbWluVmFsdWU6Yy5taW5WYWx1ZS9kLG1heFZhbHVlOmMubWF4VmFsdWUvZCxSbDplLHN0ZXBTaXplOmUvYy5zdGVwQ291bnQsb25DaGFuZ2U6aU4oYy5vblNsaWRlclZhbHVlU2V0Q29tbWFuZCxhLll5KSxSYzppTihjLm9uU2xpZGVyVG91Y2hDb21tYW5kLGEuZnopLFBsOl8uQihjLmluY3JlYXNlQnV0dG9uLF8uS0opPy5hY2Nlc3NpYmlsaXR5VGV4dD8/IiIsamw6Xy5CKGMuZGVjcmVhc2VCdXR0b24sXy5LSik/LmFjY2Vzc2liaWxpdHlUZXh0Pz8iIixpc1ZlcnRpY2FsOiExLApVajohIV8uQihjLmluY3JlYXNlQnV0dG9uLF8uS0opJiYhIV8uQihjLmRlY3JlYXNlQnV0dG9uLF8uS0opfX1lbHNlIGM9e307cmV0dXJuIGN9O3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dEhvcml6b250YWxTbGlkZXJWaWV3TW9kZWxIb3N0In0sXy5LKEVoYSx7dmFsdWU6KCk9PmIoKS52YWx1ZSxhcmlhTGFiZWw6KCk9PmIoKS5hcmlhTGFiZWwsbWluVmFsdWU6KCk9PmIoKS5taW5WYWx1ZSxtYXhWYWx1ZTooKT0+YigpLm1heFZhbHVlLHN0ZXBTaXplOigpPT5iKCkuc3RlcFNpemUsUmw6KCk9PmIoKS5SbCxQbDooKT0+YigpLlBsLGpsOigpPT5iKCkuamwsaXNWZXJ0aWNhbDooKT0+YigpLmlzVmVydGljYWwsb25DaGFuZ2U6Yz0+e2IoKS5vbkNoYW5nZShjKX0sUmM6Yz0+e2IoKS5SYyhjKX0sVWo6KCk9PmIoKS5Van0pKX0sIlBhIik7dmFyIGVPPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVXcmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46Yj0+Xy5LKCJoMiIse2NsYXNzOl8uUCgieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyIix7eXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlSGVhZGVyTm9uSW50ZXJhY3RpdmU6IV8ueCgid2ViX3BhbmVsX2hlYWRlcl90aXRsZV9ub25faW50ZXJhY3RpdmVfa2lsbHN3aXRjaCIpfSl9LF8uSyhfLlYse3RleHQ6YixjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZSJ9KSl9KSxfLksoXy5PLHtBOigpPT5hKCkuc3VidGl0bGUsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmIsY2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsU3VidGl0bGUifSl9KSksIlFhIiksZk89Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLlRIKCgpPT5hKCkucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5LKCJ5dC1wYW5lbC1oZWFkZXItdmlldy1tb2RlbCIsCntjbGFzczpfLlAoInl0UGFuZWxIZWFkZXJWaWV3TW9kZWxIb3N0Iix7eXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RIaWRlRGl2aWRlcjooKT0+ISFhKCkuc2hvdWxkSGlkZURpdmlkZXIseXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3RDb21wYWN0OigpPT4hIWEoKS5zdWJ0aXRsZX0pLCJhcmlhLWxhYmVsIjooKT0+YigpPy5sYWJlbH0sXy5LKF8uTyx7QTooKT0+Xy50SChhKCkucmVuZGVyZXJDb250ZXh0KSx0aGVuOigpPT5fLksoXy5NSix7Y2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uT3JBbmNob3IiLGNvbW1hbmQ6KCk9Pl8uc0goYSgpLnJlbmRlcmVyQ29udGV4dCksWnY6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvckZvY3VzZWQifSxfLksoZU8se2RhdGE6YX0pKSxXOigpPT5fLksoZU8se2RhdGE6YX0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQnV0dG9ucyJ9LF8uSyhfLlcse2RhdGE6KCk9PgphKCkudHJhaWxpbmdCdXR0b25zfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpjfSk9Pl8uSyhfLkhELHtkYXRhOmMsY2xhc3NOYW1lOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsQnV0dG9uIn0pfSkpKX0sIlJhIik7Zk8uaWRvbUNvbXBhdD0hMDt2YXIgZ089Xy5MKGE9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEhvc3QiLCJ5dFNwZWNCb3R0b21TaGVldExheW91dENvbnRhaW5lciIsInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TW9kZXJuIiksc3R5bGU6KCk9PmEuQ2MoKT9gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7YS5PYigpfXB4KTt0cmFuc2l0aW9uOiAwLjJzYDoiIn0sYS5oZWFkZXI/LigpLF8uSygiZGl2Iix7aWQ6YS5IaSxjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRDb250ZW50V3JhcHBlciIsc3R5bGU6Xy5JRSh7Im1heC1oZWlnaHQiOigwLF8uWkspKGEuRmMpfSksIm9uOnNjcm9sbCI6bE4oYS5qciksIm9uOnRvdWNobW92ZSI6bE4oKX0sXy5LKCJkaXYiLHtlbDpfLnJGKGEubnApLGNsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEJvdHRvbVNoZWV0Q29udGVudCIsIm9uOmNsaWNrIjpmdW5jdGlvbihiKXthLnBmPy4oKT9iLnN0b3BQcm9wYWdhdGlvbigpOmEuWXEoYil9fSwKYS5ib2R5Py4oKSkpLGEuZm9vdGVyPy4oKSksIlNhIik7Z08uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntqcjohMCxucDohMCxZcTohMH19O3ZhciBoTz1fLkwoYT0+e3ZhciB7bGVhZGluZ0xhYmVsOmIsdHJhaWxpbmdMYWJlbDpjLFJlOmQscHJpbWFyeUJ1dHRvbjplLEl3OmYsc2Vjb25kYXJ5QnV0dG9uOmgsS3c6ayxPcDpsLEN3Om19PV8uREMoYSx7bGVhZGluZ0xhYmVsOnZvaWQgMCx0cmFpbGluZ0xhYmVsOnZvaWQgMCxSZTp2b2lkIDB9KSxuPSgpPT5iKCl8fGMoKXx8ZigpfHxrKCk7cmV0dXJuIF8uSyhfLk8se0E6bSx0aGVuOigpPT5fLksoXy5JQixudWxsLGw/LigpKSxXOigpPT5fLksoXy5PLHtBOm4sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJXcmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+YigpfHxjKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Rm9vdGVyTGFiZWxXcmFwcGVyIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXJXaXRob3V0QnV0dG9uczooKT0+IWYoKX0pfSxfLksoXy5PLAp7QTpiLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0TGVhZGluZ0xhYmVsIn0sYil9KSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUcmFpbGluZ0xhYmVsIn0sYyl9KSl9KSxfLksoXy5PLHtBOigpPT5mKCl8fGsoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJCdXR0b25XcmFwcGVyIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJCdXR0b25XcmFwcGVyTGFuZHNjYXBlQnV0dG9uV3JhcHBlcjpfLkJjYX0pfSxfLksoXy5PLHtBOigpPT5rKCkmJmQoKSE9PTAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uIix7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25UcmFpbGluZ1BhaXI6KCk9PmQoKT09PTEmJmsoKSwKeXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b25TcGxpdFBhaXI6KCk9PmQoKT09PTImJmsoKSx5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblByaW1hcnlTcGxpdFBhaXI6KCk9PmQoKT09PTMmJmYoKX0pfSxoPy4oKSl9KSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvbiIsKCk9PlVnYShkKCkpKX0sZT8uKCkpfSkpfSkpfSl9KX0sIlRhIik7aE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntwcmltYXJ5QnV0dG9uOiEwLHNlY29uZGFyeUJ1dHRvbjohMCxPcDohMH19O3ZhciBpTz1fLkwoYT0+e3ZhciB7dGl0bGU6YixzdWJ0aXRsZTpjLGdxOmQsRHc6ZSx4bzpmLHh3Omgsd3M6ayx2czpsLHVzOm0sUXE6bixPdzpwLGlzRHJhZ2dpbmc6cn09Xy5EQyhhLHt0aXRsZTp2b2lkIDAsc3VidGl0bGU6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJJc0RyYWdnaW5nOnJ9KSxpZDpwLCJvbjp0b3VjaHN0YXJ0IjpsTihrKSwib246dG91Y2htb3ZlIjpsTihsKSwib246dG91Y2hlbmQiOmxOKG0pLCJvbjptb3VzZWRvd24iOmxOKG4pfSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dERyYWdMaW5lIn0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoXy5JQixudWxsLGQ/LigpKSxXOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXI6ITAsCnl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV2l0aFRpdGxlOmJ9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZVdyYXBwZXIifSxfLksoXy5PLHtBOmIsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoImgyIix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0VGl0bGUifSxiKSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJoMyIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFN1YnRpdGxlIn0sYyl9KSl9KSksXy5LKF8uTyx7QTooKT0+YigpJiZoKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRBY3Rpb25IZWFkZXIifSxmPy4oKSl9KSl9KSl9LCJVYSIpO2lPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7d3M6ITAsdnM6ITAsdXM6ITAsUXE6ITAseG86ITAsZ3E6ITAsaXNEcmFnZ2luZzohMH19O3ZhciBqTz1fLkwoYT0+e2Z1bmN0aW9uIGIoYWEpe2lmKCFZJiZ0eXBlb2YgTXV0YXRpb25PYnNlcnZlciE9PSJ1bmRlZmluZWQiKXt2YXIgT2E9e2NoaWxkTGlzdDohMH07Ik11dGF0aW9uT2JzZXJ2ZXIiaW4gd2luZG93JiYoWT1uZXcgTXV0YXRpb25PYnNlcnZlcihjLmJpbmQodm9pZCAwLGFhKSksWS5vYnNlcnZlKGFhLE9hKSl9fWZ1bmN0aW9uIGMoYWEpe3R5cGVvZiBZIT09InVuZGVmaW5lZCImJihwYVsiY29udGVudC13cmFwcGVyIl09PT12b2lkIDAmJihwYVsiY29udGVudC13cmFwcGVyIl09YWEuY2hpbGRyZW5bMF0uY2xpZW50SGVpZ2h0KSxHKHBhWyJjb250ZW50LXdyYXBwZXIiXSksIShDKCk+UigpKSYmQygpPjAmJk0oQygpKSl9ZnVuY3Rpb24gZCgpe0Uod2luZG93LmlubmVySGVpZ2h0KTshKEMoKT5SKCkpJiZDKCk+MCYmTShDKCkpO29hLlBjWzBdKCkmJkMoKT5SKCk/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOlUoKS5kaXNwYXRjaCgiU25hcCBUbyBOZXV0cmFsIFBvc2l0aW9uIiwKe21heEhlaWdodDpSKCl9KX1mdW5jdGlvbiBlKGFhKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSI7YWEucHJldmVudERlZmF1bHQoKTtVKCkuZGlzcGF0Y2goIkRyYWcgU3RhcnQiLHtjbGllbnRZOmFhLnRvdWNoZXNbMF0uY2xpZW50WX0pfWZ1bmN0aW9uIGYoYWEpe2FhLnByZXZlbnREZWZhdWx0KCk7VSgpLmRpc3BhdGNoKCJEcmFnIE1vdmUiLHtjbGllbnRZOmFhLnRvdWNoZXNbMF0uY2xpZW50WSxtcDpDKCk+UigpLFRwOlMoKSxxcDpSKCksaHE6cGEsSGk6ImNvbnRlbnQtd3JhcHBlciIsaGVhZGVyOm5OKGEpLGZvb3RlcjpuTihhKSxmcTpwYVsiYm90dG9tLXNoZWV0LWhlYWRlciJdLE5wOnBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl19KX1mdW5jdGlvbiBoKGFhKXthYS5idXR0b249PT0wJiYoYWEucHJldmVudERlZmF1bHQoKSx0YSghMCksVSgpLmRpc3BhdGNoKCJEcmFnIFN0YXJ0Iix7Y2xpZW50WTphYS5jbGllbnRZfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsClQpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKSl9ZnVuY3Rpb24gaygpe3RhKCExKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixUKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsayk7bSgpfWZ1bmN0aW9uIGwoKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0iIjttKCl9ZnVuY3Rpb24gbSgpe29hLlBjWzBdKCk/b2EuT2JbMF0oKT49NjA/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLHttYXhIZWlnaHQ6UigpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOm9hLk9iWzBdKCk+PTYwP24oKTpvYS5PYlswXSgpPD0tNjAmJkMoKT5SKCk/VSgpLmRpc3BhdGNoKCJTbmFwIFRvIEZ1bGwgU2NyZWVuIix7bWF4SGVpZ2h0OlMoKX0pOlUoKS5kaXNwYXRjaCgiU25hcCBUbyBOZXV0cmFsIFBvc2l0aW9uIix7bWF4SGVpZ2h0OlIoKX0pfQpmdW5jdGlvbiBuKCl7VSgpLmRpc3BhdGNoKCJDbG9zZSBTaGVldCIse2NsaWVudEhlaWdodDp6KCksbWF4SGVpZ2h0OjB9KTtzZXRUaW1lb3V0KCgpPT57bU4oKX0sMjUwKX12YXIgcD1fLnVFKCJkaXYiKSxyPV8udUUoImRpdiIpLFt0LHZdPV8uSih3aW5kb3cuaW5uZXJIZWlnaHQsdm9pZCAwLCJDbU9zVSIpLHo9dCxFPXYsW0EsRl09Xy5KKDAsdm9pZCAwLCJwMEZsaGIiKSxDPUEsRz1GLFtELEhdPV8uQUMoKCk9Pnt2YXIgYWE9bk4oYSk7cmV0dXJuLjYqeigpLWpOKGFhKS1rTihhYSl9KSxSPUQsTT1ILFM9KCk9Pnt2YXIgYWE9bk4oYSksT2E9eigpLEpiPXBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl0semE9cGFbImJvdHRvbS1zaGVldC1mb290ZXIiXTtyZXR1cm4gT2EtKGFhLmpoJiZKYiE9PXZvaWQgMD9KYjpqTihhYSkpLShhYS5oaCYmemEhPT12b2lkIDA/emE6a04oYWEpKS0yNC0yNH0sWT1udWxsLHBhPXt9LG9hPXtWZTpfLkooMCx2b2lkIDAsInN4ZEVTZCIpLE9iOl8uSigwLAp2b2lkIDAsIkdaenFlYiIpLENjOl8uSighMSx2b2lkIDAsInZKQnVwYyIpLFBjOl8uSighMSx2b2lkIDAsIlh5UkRwIiksRmM6Xy5BQyhSKX0sVT0oKCk9Pnt2YXIgYWE9bnVsbDtyZXR1cm4oKT0+e2lmKCFhYSl7bGV0IE9hPXtWZTpvYS5WZVswXSgpLE9iOm9hLk9iWzBdKCksQ2M6b2EuQ2NbMF0oKSxQYzpvYS5QY1swXSgpLEZjOm9hLkZjWzBdKCl9O2FhPVRnYShPYSl9cmV0dXJuIGFhfX0pKCk7Xy5VSigoKT0+e3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGQpO1UoKS5zdWJzY3JpYmUoYWE9PntvYS5WZVsxXShhYS5WZSk7b2EuT2JbMV0oYWEuT2IpO29hLkNjWzFdKGFhLkNjKTtvYS5QY1sxXShhYS5QYyk7b2EuRmNbMV0oYWEuRmMpfSk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57cC52YWx1ZSYmKHBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl09cC52YWx1ZS5jbGllbnRIZWlnaHQpO3IudmFsdWUmJihwYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdPXIudmFsdWUuY2xpZW50SGVpZ2h0KX0pfSk7Cl8uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixkKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixUKTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsayk7WSYmKFkuZGlzY29ubmVjdCgpLFk9bnVsbCl9KTt2YXIgW2hhLG1hXT1fLkooITEsdm9pZCAwLCJLc2lUWWUiKSx0YT1tYSxUPWFhPT57VSgpLmRpc3BhdGNoKCJEcmFnIE1vdmUiLHtjbGllbnRZOmFhLmNsaWVudFksbXA6QygpPlIoKSxUcDpTKCkscXA6UigpLGhxOnBhLEhpOiJjb250ZW50LXdyYXBwZXIiLGhlYWRlcjpuTihhKSxmb290ZXI6bk4oYSksZnE6cGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXSxOcDpwYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdfSl9LGJhPV8uUCh7ImJvdHRvbS1zaGVldC1jb250ZW50LXdpdGhvdXQtaWNvbiI6KCk9PiFhLkhhPy4oKX0pO3JldHVybiBfLksoImJvdHRvbS1zaGVldC1sYXlvdXQiLG51bGwsXy5LKGdPLHtIaToiY29udGVudC13cmFwcGVyIiwKQ2M6KCk9Pm9hLkNjWzBdKCksT2I6KCk9Pm9hLk9iWzBdKCksRmM6KCk9Pm9hLkZjWzBdKCksSGE6YS5IYSxwZjphLnBmLGpyOigpPT57dmFyIGFhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJib3R0b20tc2hlZXQtaGVhZGVyIiksT2E9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnQtd3JhcHBlciIpO2lmKGFhJiZPYSl7dmFyIEpiPXt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXI6ITAseXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVyQm90dG9tQm9yZGVyOiEwfTthYS5jbGFzc05hbWU9T2Euc2Nyb2xsVG9wPjE/Xy5hTChKYik6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlciJ9fSxZcTptTixucDphYT0+e2IoYWEpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2MoYWEpfSl9LGhlYWRlcjooKT0+Xy5LKCJkaXYiLHtlbDpwfSxfLksoaU8se2lzRHJhZ2dpbmc6aGEsd3M6ZSx2czpmLHVzOmwsUXE6aCx0aXRsZTphLmhlYWRlclRpdGxlLApzdWJ0aXRsZTphLmhlYWRlclN1YnRpdGxlLE93OiJib3R0b20tc2hlZXQtaGVhZGVyIixncTphLlVlLER3OmEuamgseG86YS5XZix4dzphLmlofSkpLGZvb3RlcjooKT0+Xy5LKCJkaXYiLHtlbDpyfSxfLksoaE8se1JlOmEuUmUsbGVhZGluZ0xhYmVsOmEuTWYsdHJhaWxpbmdMYWJlbDphLlBmLHByaW1hcnlCdXR0b246YS5OZixJdzphLlVmLHNlY29uZGFyeUJ1dHRvbjphLk9mLEt3OmEuVmYsT3A6YS5TZSxDdzphLmhofSkpLGJvZHk6KCk9Pl8uSyhfLk8se0E6YS5YaSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmJhfSxhLkdiPy4oKSl9KX0pKX0sIlZhIik7ak8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntXZjohMCxVZTohMCxHYjohMCxTZTohMCxOZjohMCxPZjohMH19O18uTChhPT57dmFyIGI9Xy55KCkucmVzb2x2ZShfLmNMKTtyZXR1cm4gXy5LKCJ5dC1jb250ZXh0dWFsLXNoZWV0LWxheW91dCIse2NsYXNzOl8uUCgieXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0Iix7eXRDb250ZXh0dWFsU2hlZXRMYXlvdXRBZGRQYWRkaW5nOmEucnUseXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIb3N0T2xkTWluV2lkdGg6KCk9PiEhYS5oYXNIZWFkZXI/LigpfHwhIWEuQnc/LigpfHxfLngoImVuYWJsZV9jb250ZXh0dWFsX3NoZWV0X29sZF9taW5fd2lkdGhfa2lsbHN3aXRjaCIpfSksZWw6Xy5yRihfLmRMKSwib246Y2xpY2siOigpPT57YT8udks/LigpfHxiLkplKCl9fSxfLksoXy5PLHtBOigpPT4hIWEuaGVhZGVyLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0SGVhZGVyQ29udGFpbmVyIn0sYS5oZWFkZXIoKSl9KSxfLksoXy5PLHtBOigpPT4hIWEuY29udGVudCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENvbnRleHR1YWxTaGVldExheW91dENvbnRlbnRDb250YWluZXIifSwKYS5jb250ZW50KCkpfSksXy5LKF8uTyx7QTooKT0+ISFhLmZvb3Rlcix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dENvbnRleHR1YWxTaGVldExheW91dEZvb3RlckNvbnRhaW5lciJ9LGEuZm9vdGVyKCkpfSkpfSwiV2EiKS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2hlYWRlcjohMCxjb250ZW50OiEwLGZvb3RlcjohMCxoYXNIZWFkZXI6ITAsZ0o6ITAsQnc6ITAscnU6ITB9fTt2YXIgR2hhPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixvbkNsaWNrOmN9KT0+Xy5LKCJ5dHctdmFyaWFibGUtc3BlZWQtY29udHJvbGxlci1zcGVlZC1idXR0b24tdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJTcGVlZEJ1dHRvblZpZXdNb2RlbEhvc3QiLGIpfSxfLksoXy5XLHtkYXRhOigpPT5hKCkucGxheWJhY2tTcGVlZEJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5IRCx7ZGF0YTpkLG9uQ2xpY2s6Y30pfSksXy5LKF8uVix7Y2xhc3NOYW1lOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsU3BlZWRMYWJlbCIsdGV4dDooKT0+YSgpLmJ1dHRvbkxhYmVsfSkpLCJYYSIpO3ZhciBvTjsKXy5rTz1fLkwoKHtkYXRhOmEscHo6Yj1WZ2Esb3o6Yz1XZ2EscXo6ZD1YZ2F9KT0+e3ZhciBbZSxmXT1fLkooMTAwLHZvaWQgMCwiZDBOS3liIiksW2gsa109Xy5KKCExLHZvaWQgMCwiWFh2Z2tiIiksbD1tPT57ZihtLnRhcmdldC52YWx1ZUFzTnVtYmVyKTtiPy4obSl9O18ubkUoKCk9PntpZihhKCkuc2xpZGVyKXt2YXIgbT1fLkIoYSgpLnNsaWRlcixDaGEpO20mJihtLmluaXRpYWxWYWx1ZSYmbS52YWx1ZURlbm9taW5hdG9yP2YobS5pbml0aWFsVmFsdWUvbS52YWx1ZURlbm9taW5hdG9yKTpmKDApKX19LCJSdkhEcmYiKTtyZXR1cm4gXy5LKCJ2YXJpYWJsZS1zcGVlZC1jb250cm9sbGVyLXZpZXctbW9kZWwiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxTcGVlZEluZGljYXRvckNvbnRhaW5lciJ9LF8uSyhfLk8se0E6KCk9PmUoKT4yLHRoZW46KCk9PgpfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFByZW1pdW1CYWRnZSJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5iYWRnZX0se2JhZGdlVmlld01vZGVsOih7ZGF0YTptfSk9Pl8uSyhfLkVELHtkYXRhOm19KX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUGxheWJhY2tTcGVlZERpc3BsYXkiLCJhcmlhLWxpdmUiOiJwb2xpdGUiLCJhcmlhLWF0b21pYyI6InRydWUiLCJhcmlhLWJ1c3kiOmh9LCgpPT5fLmFBKCJQTEFZQkFDS19TUEVFRF9YIix7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcjpgJHtlKCkudG9GaXhlZCgyKX1gfSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFNsaWRlckNvbnRhaW5lciIsIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKG0pe20udGFyZ2V0LnRhZ05hbWU9PT0iSU5QVVQiJiZrKCEwKX0sIm9uOmZvY3Vzb3V0IjpmdW5jdGlvbihtKXttLnRhcmdldC50YWdOYW1lPT09CiJJTlBVVCImJmsoITEpfX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnNsaWRlcn0se2hvcml6b250YWxTbGlkZXJWaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKEZoYSx7ZGF0YTooKT0+KHsuLi5tKCksaW5pdGlhbFZhbHVlOmUoKSoxMDB9KSxmejpsLFl5OmN9KX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5wbGF5YmFja1NwZWVkQnV0dG9uc30se3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKEdoYSx7ZGF0YTptLGNsYXNzTmFtZToieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkQnV0dG9uIixvbkNsaWNrOigpPT57dmFyIG49bSgpPy5wbGF5YmFja1NwZWVkQnV0dG9uQ2VudGlWYWx1ZTtuJiYoZihuLzEwMCksZD8uKG4vMTAwKSl9fSl9KSkpfSwiWmEiKTt2YXIgSGhhPW5ldyBfLlZzKCJDT05URU5UX0ZFRURCQUNLX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgbE89Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uVUQpLGM9Xy5wSCh7TmI6KGYsaCk9PntfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKXx8IWZ8fF8uekgoYT8uKCk/LnJlbmRlcmVyQ29udGV4dCl8fE1NKGgpfSxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifX0pLGQ9Xy55KCkucmVzb2x2ZShfLkluKEhoYSkpLGU9Xy55KCkucmVzb2x2ZShfLkluKERoYSkpO3JldHVybiBfLksoInl0LXNoZWV0LXZpZXctbW9kZWwiLHsib246bW91c2Vkb3duIjpmdW5jdGlvbihmKXtfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKSYmZi5jdXJyZW50VGFyZ2V0IT09Zi50YXJnZXQmJmYucHJldmVudERlZmF1bHQoKX0sIm9uOmZvY3VzIjpmdW5jdGlvbihmKXtfLngoInNoZWV0X2ZvY3VzX2ZpcnN0X2tpbGxzd2l0Y2giKSYmTU0oZi5jdXJyZW50VGFyZ2V0KX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKCl7dmFyIGY9Xy56SChhPy4oKT8ucmVuZGVyZXJDb250ZXh0KTsKZiYmYi5yZXNvbHZlQ29tbWFuZChmKX0sY2xhc3M6Xy5QKCJ5dFNoZWV0Vmlld01vZGVsSG9zdCIse3l0U2hlZXRWaWV3TW9kZWxDb250ZXh0dWFsOiExLHl0U2hlZXRWaWV3TW9kZWxEaXNhYmxlQmFja2Ryb3BGaWx0ZXI6ITF9KSxlbDpfLnJGKGMpLHRhYmluZGV4Oi0xfSxfLksoXy5PLHtBOmEsdGhlbjpmPT5fLksoak8se1VlOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuaGVhZGVyfSx7cGFuZWxIZWFkZXJWaWV3TW9kZWw6Zk99KSxqaDohMCxpaDohMSxHYjooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+ZigpLmNvbnRlbnR9LHtjaGVja2JveEdyb3VwVmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLnRELHtkYXRhOmgsV2I6ITF9KSxyYWRpb0J1dHRvbkdyb3VwVmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLkVMLHtkYXRhOmgsV2I6ITF9KSxsaXN0Vmlld01vZGVsOih7ZGF0YTpofSk9Pl8uSyhfLkJELHtkYXRhOmgsQmM6ITB9KSx2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbDpfLmtPLApsaW5lYXJMYXlvdXRWaWV3TW9kZWw6Xy5HTCx1cHNlbGxWaWV3TW9kZWw6Xy5oTCxtaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWw6Xy5qTCwuLi4oZSYme3ZpZGVvTm90aWNlc1ZpZXdNb2RlbDplfSksLi4uKGQmJntjb250ZW50RmVlZGJhY2tWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKGQse2RhdGE6aCxjbGFzc05hbWU6Inl0U2hlZXRWaWV3TW9kZWxQYWRkZWRDb250ZW50In0pfSl9KSxYaTohMCxTZTooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+ZigpLmZvb3Rlcn0se3BhbmVsRm9vdGVyVmlld01vZGVsOl8uc0R9KSxoaDohMCxVZjohMSxWZjohMSxIYTohMH0pfSkpfSwiJGEiKTtsTy5pZG9tQ29tcGF0PSEwO18ubU89bmV3IF8uVnMoIklDT05fU0VUX1RPS0VOIik7Xy5uTz1uZXcgXy5WcygiSUNPTl9VUkxfUFJPVklERVJfVE9LRU4iKTtfLm9PPW5ldyBfLlZzKCJJQ09OX01BUF9GTl9UT0tFTiIpO3ZhciBTTj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO3RoaXMubz1ifXYoKXt2YXIgYT0oXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/SWhhOkpoYSk/P3RoaXMubztpZihhPy5sZW5ndGgpe2xldCBiPVtdO2E9KG5ldyBTZXQoYSkpLnZhbHVlcygpO2ZvcihsZXQgYyBvZiBhKWZvcihsZXQgZCBvZiBPYmplY3QudmFsdWVzKHpoYSkpYi5wdXNoKHtpY29uTmFtZTpjLGljb25TdHlsZTpkfSk7dGhpcy5qLnlhKGIpfWVsc2UgUHJvbWlzZS5yZXNvbHZlKCl9fTtTTltfLkxuXT1bXy5YTCxfLkluKG5ldyBfLlZzKCJQUkVGRVRDSF9JQ09OU19UT0tFTiIpKV07dmFyIEtoYT0vXig/IWphdmFzY3JpcHQ6KSg/OlthLXowLTkrLi1dKzp8W14mOlwvPyNdKig/OltcLz8jXXwkKSkvaSxlaGE9e1sxXTp7cGQ6bnVsbCxoZTpudWxsLEtkOm51bGx9LFsyXTp7cGQ6ZnVuY3Rpb24oYSxiLGMpe2E9Yzt4aGEudGVzdChhKSYmKGEuaW5kZXhPZigiJiIpIT0tMSYmKGE9YS5yZXBsYWNlKHJoYSwiJmFtcDsiKSksYS5pbmRleE9mKCI8IikhPS0xJiYoYT1hLnJlcGxhY2Uoc2hhLCImbHQ7IikpLGEuaW5kZXhPZigiPiIpIT0tMSYmKGE9YS5yZXBsYWNlKHRoYSwiJmd0OyIpKSxhLmluZGV4T2YoJyInKSE9LTEmJihhPWEucmVwbGFjZSh1aGEsIiZxdW90OyIpKSxhLmluZGV4T2YoIiciKSE9LTEmJihhPWEucmVwbGFjZSh2aGEsIiYjMzk7IikpLGEuaW5kZXhPZigiXHgwMCIpIT0tMSYmKGE9YS5yZXBsYWNlKHdoYSwiJiMwOyIpKSk7cmV0dXJuIGF9LGhlKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5mYn0sS2Q6YT0+Xy55QShhKX0sWzNdOntwZDpmdW5jdGlvbihhLApiLGMpe3JldHVybiBLaGEudGVzdChjKT9jOl8uRnEudG9TdHJpbmcoKX0saGUoYSl7cmV0dXJuIF8uWGEoYSl9LEtkOmE9Pl8uWWEoYSl9LFs0XTp7cGQ6ZnVuY3Rpb24oKXtyZXR1cm4gXy5GcS50b1N0cmluZygpfSxoZShhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uU2F9LEtkOmE9Pl8uVWEoYSkudG9TdHJpbmcoKX0sWzVdOntwZDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN9LGhlKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifSxLZDphPT5hLnRvU3RyaW5nKCl9LFs3XTp7cGQ6ZnVuY3Rpb24oKXtyZXR1cm4iIC8qekNsb3N1cmV6Ki8gIn0saGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmpifSxLZDphPT5fLmxiKGEpfSxbOF06e3BkKGEsYixjKXtjPVN0cmluZyhjKS50b0xvd2VyQ2FzZSgpO2E6e2xldCBkPW51bGw7KGE9Yk9bYV0pJiYoZD1hW2JdKTtpZih0eXBlb2YgZCE9PSJudW1iZXIiJiYoKGE9Yk9bIioiXSkmJihkPWFbYl0pLHR5cGVvZiBkIT09Im51bWJlciIpKXtiPQohMTticmVhayBhfWI9ITA9PT15aGFbZF1bU3RyaW5nKGMpLnRvTG93ZXJDYXNlKCldfXJldHVybiBiP2M6InpDbG9zdXJleiJ9LGhlOm51bGwsS2Q6bnVsbH0sWzEwXTp7cGQ6bnVsbCxoZTpudWxsLEtkOm51bGx9fTtfLnBPPV8uTCgoe2RhdGE6YSx0ZzpiLEhhOmMsaWNvbjpkLHByb2Nlc3NBbGxFbmRwb2ludHM6ZSxwcmV2ZW50RGVmYXVsdDpmLHN0b3BQcm9wYWdhdGlvbjpoLHdJOmssY2xhc3NOYW1lOmwsYnV0dG9uT3ZlcnJpZGVzOm0sUWY6bixpc1N1YnNjcmliZTpwLG9pOnIsQmw6dH0pPT57dmFyIHY9Xy5tRygpLHo9KEYsQyk9PntmPy4oKSYmQy5wcmV2ZW50RGVmYXVsdCgpO2g/LigpJiZDLnN0b3BQcm9wYWdhdGlvbigpO2lmKCFrPy4oKSl7Rj1hKCk7dmFyIEc9ISFlPy4oKTtpZighRi5faXNCdXN5KXtiJiZiKCk7dmFyIEQ9IUYubmF2aWdhdGlvbkVuZHBvaW50fHwhIV8uQihGLm5hdmlnYXRpb25FbmRwb2ludCxfLll6KXx8ISFfLkIoRi5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5aeik7Rz8oRi50cmFja2luZ1BhcmFtcyYmRCYmXy56SihGLnRyYWNraW5nUGFyYW1zKSxGLnNlcnZpY2VFbmRwb2ludCYmXy5BSihGLnNlcnZpY2VFbmRwb2ludCxGLCExLHtldmVudDpDLEJkOnZ9KSxGLm5hdmlnYXRpb25FbmRwb2ludCYmCl8uQUooRi5uYXZpZ2F0aW9uRW5kcG9pbnQsRiwhMSx7ZXZlbnQ6QyxCZDp2fSksRi5jb21tYW5kJiZfLkFKKEYuY29tbWFuZCxGLCExLHtldmVudDpDLEJkOnZ9KSk6KEc9dk4oRi5zZXJ2aWNlRW5kcG9pbnQpfHx2TihGLm5hdmlnYXRpb25FbmRwb2ludCl8fHZOKEYuY29tbWFuZCkpJiZfLkFKKEcsRixELHtldmVudDpDLEJkOnZ9KX19fSxFPSgpPT57aWYoYz8uKCkhPT0hMSlyZXR1cm4gZD8uKCl8fGEoKS5pY29uPy5pY29uVHlwZX0sQT1fLk4oKCk9Pih7Li4uYWhhKHtyZW5kZXJlcjphKCksSW06eix3QTohMCxTYzptPy4oKSxWeTohMCxRZjpuPy4oKSxpc1N1YnNjcmliZTpwPy4oKXx8ITEsQmw6dD8uKCl9KSxvaTpyPy4oKX0pLHZvaWQgMCwiUGM0dDNiIik7cmV0dXJuIF8uSygieXRtLWJ1dHRvbi1yZW5kZXJlciIse2hpZGRlbjooKT0+IWEoKS50ZXh0JiYhXy5ESihhKCkuYWNjZXNzaWJpbGl0eURhdGF8fGEoKS5hY2Nlc3NpYmlsaXR5KSxjbGFzczpfLlAobCwoKT0+RT8uKCk/CmBpY29uLSR7RSgpLnRvTG93ZXJDYXNlKCl9YDp2b2lkIDAse2Rpc2FibGVkOigpPT5hKCkudGhlbWVkQmFzaWNDb2xvclBhbGV0dGUmJl8udU4oYSgpLnRoZW1lZEJhc2ljQ29sb3JQYWxldHRlKX0pfSxfLksoXy5KSyx7ZGF0YTpBLGljb25OYW1lOkV9KSl9LCJhYiIpO18ucE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkJ1dHRvbkNsaWNrQ2FsbGJhY2s6ITB9fTtfLnFPPV8uTCgoe2RhdGE6YSxRZjpiLHN0eWxlOmMsYnV0dG9uT3ZlcnJpZGVzOmQsY2xhc3NOYW1lOmUsc3RvcFByb3BhZ2F0aW9uOmYsUms6aCxIYzprLHN6Omx9KT0+e3ZhciBbbSxuXT1fLkFDKGEpLHA9KCk9Pnt2YXIgdD1tKCk7dmFyIHY9Yz8uKCk/LmFuaW1hdGVJY29uPT09InRydWUiLHo9dC50b2dnbGVkSWNvbiYmdC50b2dnbGVkSWNvbi5pY29uVHlwZSxFPXQuZGVmYXVsdEljb24mJnQuZGVmYXVsdEljb24uaWNvblR5cGU7dD12P0V8fG51bGw6dC5pc1RvZ2dsZWQmJnp8fEV8fG51bGw7dj1tKCk7cmV0dXJuKGM/LigpPy5hbmltYXRlSWNvbj09PSJ0cnVlIj90OnQ9PT0iTElLRSImJnYuaXNUb2dnbGVkPyJMSUtFX0ZJTExFRCI6dD09PSJESVNMSUtFIiYmdi5pc1RvZ2dsZWQ/IkRJU0xJS0VfRklMTEVEIjp0KT8/dm9pZCAwfSxyPSh0LHYpPT57aD9oKHQsdik6KGY/LigpJiZ2LnN0b3BQcm9wYWdhdGlvbigpLHQ9IW0oKS5pc1RvZ2dsZWQsbih7Li4ubSgpLGlzVG9nZ2xlZDp0fSksCmw/Lih0KSl9O3JldHVybiBfLksoInl0bS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyIix7Y2xhc3M6ZX0sXy5LKF8uSksse2RhdGE6KCk9Pnt2YXIgdD1tKCksdj1tKCksej0hKHYuaXNUb2dnbGVkPyF2LnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQ6IXYuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCksRT12O3YuZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludCYmKEU9e30pO3JldHVybiBkaGEoe3JlbmRlcmVyOnQsSW06cixSdTpfLllEKEUse30seiksU2M6ZD8uKCksVnk6ITAsdG9nZ2xlZDohIW0oKS5pc1RvZ2dsZWQsUWY6Yj8uKCl9KX0saWNvbjooKT0+Xy5LKF8uTUQse2ljb246cCxHZTooKT0+ISFjPy4oKT8uYW5pbWF0ZUljb24sYWN0aXZlOigpPT5tKCkuaXNUb2dnbGVkLEhjOmt9KX0pKX0sImJiIik7Xy5xTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e1JrOiEwLHN6OiEwfX07Xy4kTj17S0I6WCgiQUNDT1VOVF9MQUJFTCIpLE1COlgoIkFDVF9PTl9USElTX0NPTU1FTlQiKSxOQjpYKCJBRERfVE9fRFJPUERPV05fTEFCRUwiKSxPQjpYKCJBRF9CQURHRV9ISU5UIiksUEI6WCgiQURfQkFER0VfVEVYVCIpLGNDOlgoIkFMTF9DSEFOTkVMU19MQUJFTCIpLGVDOlgoIkFNQklFTlRfTU9ERSIpLGZDOlgoIkFNQklFTlRfTU9ERV9PRkYiKSxnQzpYKCJBTUJJRU5UX01PREVfT04iKSxoQzpYKCJBTkRST0lEX0RFUFJFQ0FUSU9OX01FU1NBR0VfQk9EWSIpLGlDOlgoIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9IRUFERVIiKSxrQzpYKCJBUFBfVVBTRUxMX1NVQlRJVExFIiksbEM6WCgiQVBQX1VQU0VMTF9USVRMRSIpLE5zOlgoIkFVRElPX1RSQUNLIiwiQXVkaW8gVHJhY2siKSxuazpYKCJBVVRPTkFWX1RPR0dMRSIpLG1DOlgoIkFVVE9QTEFZX0lOX1RFTl9TRUNPTkRTIiksbkM6WCgiQVVUT1BMQVlfUEFVU0VEIiksb0M6WCgiQVVUT1BMQVlfUExBWV9OT1ciKSwKT3M6WCgiQVVUT1BMQVlfVVBfTkVYVF9JTiIpLFBzOlgoIkFVVE9fWk9PTSIsIkF1dG8gem9vbSIpLEJBQ0s6WCgiQkFDSyIpLHFDOlgoIkJSQU5ERURfU0lHTl9JTl9ESUFMT0dfREVTQ1JJUFRJT04iLCJBY2Nlc3MgYWxsIGZlYXR1cmVzIGFuZCBnZXQgYSBzZWFtbGVzcyBleHBlcmllbmNlIiksQ0FOQ0VMOlgoIkNBTkNFTCIpLHVDOlgoIkNIQU5ORUxfU1dJVENIRVJfTEFCRUwiKSxDTE9TRTpYKCJDTE9TRSIsImNsb3NlIiksUnM6WCgiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIiksU3M6WCgiQ0xPU0VEX0NBUFRJT05TX09GRiIpLFRzOlgoIkNMT1NFRF9DQVBUSU9OU19PTiIpLFVzOlgoIkNMT1NFRF9DQVBUSU9OU19PTl9MQU5HVUFHRSIpLHhDOlgoIkNMT1NFX1NFQVJDSF9MQUJFTCIpLHlDOlgoIkNMT1NFX1NFVFRJTkdTX0xBQkVMIiksekM6WCgiQ09NTUVOVF9NT0RBTF9DT05URU5UIiksV3M6WCgiQ09ORklSTV9PSyIpLEFDOlgoIkNPTk5FQ1RfVE9fVEhFX0lOVEVSTkVUIiksClhzOlgoIkNPUElFRF9UT19DTElQQk9BUkQiKSxZczpYKCJDT1BZIiksVG46WCgiQ09QWV9ERUJVR19JTkZPIiksWnM6WCgiQ09QWV9FTUJFRF9DT0RFIiksQ0M6WCgiQ09QWV9MSU5LX0xBQkVMIiksYnQ6WCgiQ09QWV9WSURFT19VUkwiKSxmdDpYKCJDT1BZX1ZJREVPX1VSTF9BVF9DVVJSRU5UX1RJTUUiKSxEQzpYKCJDUkVBVEVfQ0hBTk5FTF9USVRMRSIpLElDOlgoIkRFTEVURV9GUk9NX0RPV05MT0FEUyIpLFhuOlgoIkRJQUxPRyIpLERPTkU6WCgiRE9ORSIpLE5DOlgoIkRPV05MT0FEIiksa3Q6WCgiRkFJTEVEX0NPUFlfRVJST1JfTUVTU0FHRSIpLGJEOlgoIkZMQUdfQ09ORklSTSIpLGNEOlgoIkZMQUdfQ09OVEVOVCIpLGREOlgoIkZMQUdfTEFCRUwiKSxlRDpYKCJGTEFHX1RJVExFIiksZkQ6WCgiRlVMTFNDUkVFTl9HRU5FUklDX0VSUk9SIiksVkU6WCgiR0lGVFMiLCJHaWZ0cyIpLFdFOlgoIkdPT0dMRV9DT01QQU5ZIiksbXQ6WCgiSElERV9QTEFZRVJfQ09OVFJPTFMiLAoiSGlkZSBwbGF5ZXIgY29udHJvbHMiKSxZRTpYKCJISURFX1BMQVlMSVNUX1ZJREVPUyIpLFpFOlgoIkhJREVfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxIT01FOlgoIkhPTUUiLCJIb21lIiksZEY6WCgiSU5WQUxJRF9SRVNQT05TRV9SRUNFSVZFRCIpLGdGOlgoIkxFQVZFX0FfQ09NTUVOVF9USVRMRSIsIkxlYXZlIGEgY29tbWVudD8iKSxoRjpYKCJMSUJSQVJZIiwiTGlicmFyeSIpLGtGOlgoIkxJU1RFTklORyIpLExPQURJTkc6WCgiTE9BRElORyIpLGxGOlgoIkxPTkdfUFJFU1NfTUlDX1RPX1NQRUFLIiwiTG9uZyBwcmVzcyBtaWNfaWNvbl9wbGFjZWhvbGRlciB0byBzcGVhayIpLHV0OlgoIkxPT1AiKSxvRjpYKCJNRU5VX0RFU0tUT1AiKSxwRjpYKCJNRU5VX0VYSVQiKSxxRjpYKCJNRU5VX0ZFRURCQUNLIiksckY6WCgiTUVOVV9IRUxQIiksc0Y6WCgiTUVOVV9JTVBSRVNTVU0iKSx2dDpYKCJNRU5VX1BMQVlFUl9TRVRUSU5HUyIpLHRGOlgoIk1FTlVfU0VUVElOR1MiKSx1RjpYKCJNRU5VX1NJR05fSU4iKSwKdkY6WCgiTUVOVV9USVRMRSIpLHdGOlgoIk1FTlVfWU9VUl9EQVRBIiksQUY6WCgiTU9SRV9JTkZPIiksd3Q6WCgiTU9SRV9PUFRJT05TIiksYm86WCgiTU9SRV9WSURFT1MiLCJNb3JlIHZpZGVvcyIpLHh0OlgoIk1PUkVfVklERU9TX0NMT1NFX0JVVFRPTl9BUklBX0xBQkVMIiwiSGlkZSBtb3JlIHZpZGVvcyIpLHp0OlgoIk1PUkVfVklERU9TX0ZST01fQ0hBTk5FTCIsIk1vcmUgdmlkZW9zIGZyb20gJGNoYW5uZWxfbmFtZV9wbGFjZWhvbGRlciIpLGVvOlgoIk1PUkVfVklERU9TX05FWFRfQlVUVE9OX0FSSUFfTEFCRUwiLCJOZXh0IHZpZGVvcyIpLGZvOlgoIk1PUkVfVklERU9TX1BSRVZJT1VTX0JVVFRPTl9BUklBX0xBQkVMIiwiUHJldmlvdXMgdmlkZW9zIiksQXQ6WCgiTVVURV9WT0xVTUUiKSxDRjpYKCJORVdfUExBWUxJU1QiKSxERjpYKCJORVhUX1ZJREVPIiksQ3Q6WCgiTk9USUZJQ0FUSU9OX0VSUk9SX01FU1NBR0UiKSxGRjpYKCJOT1RfRk9VTkRfQ1RBIiksR0Y6WCgiTk9UX0ZPVU5EX01FU1NBR0UiKSwKSEY6WCgiTk9UX0ZPVU5EX1RJVExFIiksSUY6WCgiTk9fRE9XTkxPQURTIiksSkY6WCgiTk9fTUlDX0lOUFVUIiksS0Y6WCgiT0ZGTElORV9DSEVDS19DT05ORUNUSU9OIiksRHQ6WCgiT09QU19NRVNTQUdFIiksTUY6WCgiT1BFTl9BUFAiKSxORjpYKCJPUEVOX1lPVVRVQkUiKSxPRjpYKCJPUEVOX1lPVVRVQkVfQVBQIiwiT3BlbiBZb3VUdWJlIGFwcCIpLFBBVVNFOlgoIlBBVVNFIiksVUY6WCgiUExBWSIpLEV0OlgoIlBMQVlFUl9DQVBUSU9OIiksRnQ6WCgiUExBWUVSX0NBUFRJT05fT0ZGIiksVkY6WCgiUExBWUVSX0NBUFRJT05fT04iKSxHdDpYKCJQTEFZRVJfRE9VQkxFX1NQRUVEX1VTRVJfRURVIiksV0Y6WCgiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0VFSyIpLFhGOlgoIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NIT1dfT1JfSElERV9QTEFZRVJfQ09OVFJPTFMiKSxIdDpYKCJQTEFZRVJfRVhJVF9GVUxMU0NSRUVOIiksSXQ6WCgiUExBWUVSX0ZBU1RGT1JXQVJEX1NFQ09ORFMiKSwKSnQ6WCgiUExBWUVSX0ZVTExTQ1JFRU4iKSxsbzpYKCJQTEFZRVJfTElWRV9MQUJFTCIpLFlGOlgoIlBMQVlFUl9MSVZFX05PVyIpLFpGOlgoIlBMQVlFUl9NSU5JTUlaRSIpLEt0OlgoIlBMQVlFUl9ORVhUIiksTHQ6WCgiUExBWUVSX1BBVVNFIiksUGc6WCgiUExBWUVSX1BMQVkiKSxNdDpYKCJQTEFZRVJfUFJFVklPVVMiKSxhRzpYKCJQTEFZRVJfUFJPR1JFU1NfQkFSIiksTnQ6WCgiUExBWUVSX1FVQUxJVFkiKSxPdDpYKCJQTEFZRVJfUVVBTElUWV9BVVRPIiksUHQ6WCgiUExBWUVSX1JFUExBWSIpLFF0OlgoIlBMQVlFUl9SRVdJTkRfU0VDT05EUyIpLG1vOlgoIlBMQVlFUl9TUEVFRCIpLGJHOlgoIlBMQVlFUl9TUEVFRFVQX1VTRVJfRURVIiksUnQ6WCgiUExBWUVSX1NQRUVEX0RFQ1JFQVNFIiksU3Q6WCgiUExBWUVSX1NQRUVEX0lOQ1JFQVNFIiksbm86WCgiUExBWUVSX1NQRUVEX05PUk1BTCIpLFR0OlgoIlBMQVlFUl9TUEVFRF9SRUNFTlQiKSxVdDpYKCJQTEFZRVJfVElNRV9EVVJBVElPTiIpLApWdDpYKCJQTEFZRVJfVElNRV9FTEFQU0VEIiksY0c6WCgiUExBWUxJU1RfREVTQ1JJUFRJT05fSU5WQUxJRF9DSEFSQUNURVJTIiksZEc6WCgiUExBWUxJU1RfTUlYX0RFVEFJTEVEX0xPTkdfQllMSU5FIiksZUc6WCgiUExBWUxJU1RfTkFNRV9JTlZBTElEX0NIQVJBQ1RFUlMiKSxmRzpYKCJQTEFZTElTVF9OQU1FX01JU1NJTkciKSxnRzpYKCJQTEFZTElTVF9OQU1FX1RPT19MT05HIiksaEc6WCgiUExBWUxJU1RfUEFORUxfRU5EX09GX1BMQVlMSVNUIiksaUc6WCgiUExBWUxJU1RfUEFORUxfTkVYVCIpLGpHOlgoIlBMQVlMSVNUX1BBTkVMX1VOTElTVEVEX1BMQVlMSVNUIiksa0c6WCgiUExBWUxJU1RfVEVYVF9JTlBVVF9DSEFSX0NPVU5UIiksbEc6WCgiUExBWV9BTEwiKSxtRzpYKCJQTEVBU0VfRklYX0VSUk9SUyIpLFh0OlgoIlBSRU1JVU1fQkFER0VfTEFCRUwiLCJQcmVtaXVtIiksbkc6WCgiUFJFVklPVVNfVklERU8iKSxvRzpYKCJQUklWQUNZX1BPTElDWSIpLHJHOlgoIlJFTE9BRCIpLApzRzpYKCJSRVFVSVJFRF9MQUJFTCIpLHlHOlgoIlNBVkVfUExBWUxJU1QiKSxBRzpYKCJTQ1JVQl9TTElERV9VU0VSX0VEVSIpLENHOlgoIlNFQVJDSCIsIlNlYXJjaCIpLERHOlgoIlNFQVJDSF9BUFBFTkRfTEFCRUwiKSxFRzpYKCJTRUFSQ0hfQ0hBTk5FTCIpLEZHOlgoIlNFQVJDSF9DTEVBUl9MQUJFTCIpLEdHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9BTEJVTV9OT19BUlRJU1QiLCJBbGJ1bSIpLEhHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9NT1ZJRSIsIk1vdmllIiksSUc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1NPTkdfTk9fQVJUSVNUIiwiU29uZyIpLEpHOlgoIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9UVl9TSE9XIiwiVFYgU2hvdyIpLEtHOlgoIlNFQVJDSF9GSUxURVJTX0xBQkVMIiksTEc6WCgiU0VBUkNIX0xBQkVMIiksTUc6WCgiU0VBUkNIX1BQUF9QTEFDRUhPTERFUl9URVhUIiksTkc6WCgiU0VFS19TTElERVIiKSxPRzpYKCJTRVRUSU5HU19MQUJFTCIpLApQRzpYKCJTRVRUSU5HU19NSUNfUEVSTUlTU0lPTiIpLFNHOlgoIlNIT1JUU19UQUJfTEFCRUwiLCJTaG9ydHMiKSxURzpYKCJTSE9XX0xFU1MiKSxVRzpYKCJTSE9XX01PUkUiKSxadDpYKCJTSE9XX1BMQVlFUl9DT05UUk9MUyIsIlNob3cgcGxheWVyIGNvbnRyb2xzIiksVkc6WCgiU0hPV19QTEFZTElTVF9WSURFT1MiKSxXRzpYKCJTSE9XX1NFQVJDSF9GSUxURVJTX0xBQkVMIiksYXU6WCgiU0lHTl9JTl9MQUJFTCIpLFpHOlgoIlNJR05fSU5fT05fV0VCIikseWs6WCgiU1RBQkxFX1ZPTFVNRSIpLGpIOlgoIlNUQUJMRV9WT0xVTUVfT0ZGIiksa0g6WCgiU1RBQkxFX1ZPTFVNRV9PTiIpLGJ1OlgoIlNUQVRTX0ZPUl9ORVJEUyIpLGxIOlgoIlNVR0dFU1RJT05fRElTTUlTU0VEX0xBQkVMIiksbUg6WCgiU1VHR0VTVElPTl9ESVNNSVNTX0xBQkVMIiksbkg6WCgiU1VHR0VTVElPTl9ORVdfVklERU9TX1RFWFQiKSxvSDpYKCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9MQUJFTCIsCiJWaWV3IGltYWdlIHNvdXJjZSIpLHBIOlgoIlNVR0dFU1RJT05fVEhVTUJOQUlMX0xBQkVMIikscUg6WCgiVEVSTVNfT0ZfU0VSVklDRSIpLHJIOlgoIlRJTUVTVEFNUF9NSU5VVEVTIiksc0g6WCgiVElNRVNUQU1QX1NFQ09ORFMiKSx0SDpYKCJUT0dHTEVfT0ZGIiksdUg6WCgiVE9HR0xFX09OIiksdkg6WCgiVFJFTkRJTkciKSxkdTpYKCJUUk9VQkxFU0hPT1RfUExBWUJBQ0tfSVNTVUUiKSxldTpYKCJUUllfQUdBSU5fTEFURVIiKSx3SDpYKCJUUllfQUdBSU5fTUlDX1BFUk1JU1NJT04iKSx4SDpYKCJUVVJOX09GRl9BVVRPUExBWV9DT05GSVJNX0JVVFRPTl9USVRMRSIpLHlIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0RJQUxPR19ERVNDUklQVElPTiIpLHpIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0RJQUxPR19USVRMRSIpLGd1OlgoIlVOTVVURV9WT0xVTUUiKSxzbzpYKCJWSURFT19MSU5LX0xBQkVMIil9O18uTGhhPU9iamVjdC5mcmVlemU/T2JqZWN0LmZyZWV6ZShPYmplY3QuY3JlYXRlKG51bGwpKTp7fTtfLk5OPSgpPT57fTt3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz8uYmluZCh3aW5kb3cpO18uWk49Xy5MKGE9Pnt2YXIge2xhYmVsOmIsb25jbGljazpjLHNob3dTcGlubmVyOmQsdGk6ZSxlbmdhZ2VtZW50UGFuZWw6ZixLeDpoLERwOmsscmVsYXRpdmU6bCxvcGFjaXR5Om19PV8uREMoYSx7c2hvd1NwaW5uZXI6ITEsUks6ITEsdGk6ITEsZW5nYWdlbWVudFBhbmVsOiExLERwOiExLHJlbGF0aXZlOiExLEt4OiExLG9wYWNpdHk6dm9pZCAwfSk7cmV0dXJuIF8uSygieXR3LXNjcmltIix7Y2xhc3M6Xy5QKCJ5dFdlYlNjcmltSG9zdCIsInl0V2ViU2NyaW1Ib3N0TW9kZXJuT3ZlcmxheSIse3l0V2ViU2NyaW1Ib3N0Qm90dG9tU2hlZXQ6ZSx5dFdlYlNjcmltSG9zdEVuZ2FnZW1lbnRQYW5lbDooKT0+IWUoKSYmZigpLHl0V2ViU2NyaW1Ib3N0RHJhZ2dhYmxlRW5nYWdlbWVudFBhbmVsOigpPT4hZSgpJiZmKCkmJmgoKSx5dFdlYlNjcmltSG9zdERyYXdlckxheW91dDooKT0+IWUoKSYmIWYoKSYmaygpLHl0V2ViU2NyaW1Ib3N0UmVsYXRpdmU6bH0pLCJvbjpjbGljayI6Yywib246dG91Y2htb3ZlIjpmdW5jdGlvbihuKXtuLnByZXZlbnREZWZhdWx0KCk7Cm4uc3RvcFByb3BhZ2F0aW9uKCl9LHN0eWxlOigpPT5tKCkhPT12b2lkIDA/YGJhY2tncm91bmQ6cmdiYSgwLCAwLCAwLCAke20oKX0pO2A6IiJ9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFdlYlNjcmltRGlhbG9nQ29udGFpbmVyIn0sXy5LKF8uWkwsbnVsbCkpfSksXy5LKCJidXR0b24iLHtjbGFzczoieXRXZWJTY3JpbUhpZGRlbkJ1dHRvbiIsImFyaWEtbGFiZWwiOmJ9KSl9LCJjYiIpO3ZhciBGTixFTixJTixHTixMTixITixraGE7Rk49MDtFTj1uZXcgTWFwO0lOPW51bGw7R049bnVsbDtMTj0hMTtfLkROPVtdO0hOPSFfLngoImNhbmNlbF9tb2RhbF9wZW5kaW5nX2FuaW1hdGlvbnNfa2lsbHN3aXRjaCIpO2toYT0hXy54KCJyZXNob3dfbmVzdGVkX21vZGFsX3NpYmxpbmdzX2tpbGxzd2l0Y2giKTt2YXIgck87Cl8uc089Xy5MKCh7dHE6YX0pPT57ZnVuY3Rpb24gYihHKXtpZigoYSgpJiZkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudHx8IWEoKSYmIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50KSYmRyl7dmFyIEQ9Ry5RayxIPUcudmlld01vZGVsO2sudmFsdWU/RihHKTpEPy5pc0Rpc2FibGVkJiZEPy5kaXNhYmxlZENvbW1hbmQ/KENOKCEwKSxfLkFKKEQuZGlzYWJsZWRDb21tYW5kLGgudmFsdWUsITEpKTood2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2JvdHRvbS1zaGVldCImJl8uJE0oImJvdHRvbS1zaGVldCIsITApLGsudmFsdWU9ITAsZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImJvdHRvbS1zaGVldC1vcGVuIiwiIiksXy5vTSgpLmRpc3BhdGNoKGJOKCEwKSksck89Xy5tRygpLHAoRCksdihIKSxDTighMCksaC52YWx1ZXx8Xy5JcChFcnJvcigiRmQiKSksXy5KTihoLnZhbHVlLEQ/LmZvY3VzT25DbG9zZSwhMCkpfX1mdW5jdGlvbiBjKCl7ay52YWx1ZSYmKGsudmFsdWU9ITEsZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoImJvdHRvbS1zaGVldC1vcGVuIiksCm4oKT8uR2g/LigpLHJPPXZvaWQgMCxwKHZvaWQgMCksdih2b2lkIDApLENOKCExKSxfLktOKGgudmFsdWUpLF8ub00oKS5kaXNwYXRjaChiTighMSkpKX1mdW5jdGlvbiBkKCl7ay52YWx1ZSYmd2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2JvdHRvbS1zaGVldCImJmMoKX1hc3luYyBmdW5jdGlvbiBlKCl7YXdhaXQgXy5GSjt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjYm90dG9tLXNoZWV0IiYmKGRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50fHxfLllNP18uJE0oIiIsITApOmF3YWl0IF8uWk0oKSxkKCkpO0EoKSYmKGIoQSgpKSxGKHZvaWQgMCkpfWZ1bmN0aW9uIGYoRyl7Xy56TigpO0cuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGg9Xy51RSgiYm90dG9tLXNoZWV0LWNvbnRhaW5lciIpLGs9Xy51TSghMSksW2wsbV09Xy5KKHZvaWQgMCx2b2lkIDAsInZXdVhrYiIpLG49bCxwPW0sW3IsdF09Xy5KKHZvaWQgMCx2b2lkIDAsIkJmUkFMYiIpLHY9dCxbeixFXT1fLkoodm9pZCAwLHZvaWQgMCwKInk3dE5sYyIpLEE9eixGPUUsQz0oKT0+ISghbigpJiYhcigpKTtfLlVKKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGQpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IixjKTtfLnkoKS5yZXNvbHZlKF8uY0wpLlB6KHt3ZzpHPT57RyYmYih7dmlld01vZGVsOkcudmlld01vZGVsLFFrOkcuUWt9KX0sSmU6YXN5bmMoKT0+e2F3YWl0IGUoKX0sZG06YXN5bmMoKT0+ISFfLnhOKCksWHA6KCk9PmgudmFsdWUsb3c6Rz0+R30sYSgpKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IixjKX0pfSk7cmV0dXJuIF8uSygiYm90dG9tLXNoZWV0LWNvbnRhaW5lciIse2VsOmgscm9sZToiZGlhbG9nIixoaWRkZW46KCk9PiFDKCksImFyaWEtbW9kYWwiOiEwLCJhcmlhLWxhYmVsIjooKT0+bigpPy5oZWFkZXJUaXRsZT8KbigpLmhlYWRlclRpdGxlOl8uJE4uWG59LF8uSyhfLk8se0E6Qyx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLlpOLHtsYWJlbDpfLiROLkNMT1NFLG9uY2xpY2s6Xy56Tix0aTohMH0pLF8uSyhfLk8se0E6cix0aGVuOkc9Pl8uSyhsTyx7ZGF0YTpHfSksVzooKT0+Xy5LKF8uTyx7QTpuLHRoZW46Rz0+Xy5wRyhyT3x8e30sKCk9Pl8uSyhqTyx7SGE6KCk9PkcoKS5IYSxwZjooKT0+RygpLnBmLEdrOigpPT5HKCkuR2ssR2g6KCk9PkcoKS5HaCxmb2N1c09uQ2xvc2U6KCk9PkcoKS5mb2N1c09uQ2xvc2UsaXNEaXNhYmxlZDooKT0+RygpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5HKCkuZGlzYWJsZWRDb21tYW5kLFVlOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuVWV9KSxqaDooKT0+ISFHKCkuVWUsR2I6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5HYn0pLFhpOigpPT4hIUcoKS5HYixTZTooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+CkcoKS5TZX0pLGhoOigpPT4hIUcoKS5TZSxoZWFkZXJUaXRsZTooKT0+RygpLmhlYWRlclRpdGxlLGhlYWRlclN1YnRpdGxlOigpPT5HKCkuaGVhZGVyU3VidGl0bGUsV2Y6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5XZn0pLGloOigpPT4hIUcoKS5XZixOZjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLk5mfSksVWY6KCk9PiEhRygpLk5mLE9mOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuT2Z9KSxWZjooKT0+ISFHKCkuT2YsUmU6KCk9PkcoKS5SZSxNZjooKT0+RygpLk1mLFBmOigpPT5HKCkuUGZ9KSl9KX0pLF8uSygiYnV0dG9uIix7Y2xhc3M6ImNsb3NlLWJ1dHRvbiIsImFyaWEtbGFiZWwiOl8uJE4uQ0xPU0UsIm9uOmNsaWNrIjpmfSkpfSkpfSwiZGIiKTtfLnNPLmlkb21Db21wYXQ9ITA7Xy50Tz1fLkwoKHthcmlhTGFiZWw6YSxVSDpiLGFyaWFQcmVzc2VkOmMsYXJpYUV4cGFuZGVkOmQsYXJpYURpc2FibGVkOmUsY2xhc3NOYW1lOmYsY29udGVudDpoLGJxOmssaWQ6bCxuYW1lOm0sb25jbGljazpuLG9udG91Y2hzdGFydDpwLG9udG91Y2htb3ZlOnIsb250b3VjaGVuZDp0LGJ4OnZ9KT0+e3Y9Xy51RSgiYnV0dG9uIix2KTtyZXR1cm4gXy5LKCJidXR0b24iLHtpZDpsLGNsYXNzOl8uUCgiaWNvbi1idXR0b24iLGYpLGVsOnYsImFyaWEtbGFiZWwiOmEsImFyaWEtbGFiZWxsZWRieSI6YiwiYXJpYS1wcmVzc2VkIjpjLCJhcmlhLWV4cGFuZGVkIjpkLCJhcmlhLWhhc3BvcHVwIjprLCJhcmlhLWRpc2FibGVkIjplLCJvbjpjbGljayI6biwib246dG91Y2hzdGFydCI6bE4ocCksIm9uOnRvdWNobW92ZSI6bE4ociksIm9uOnRvdWNoZW5kIjpsTih0KX0sXy5LKF8uTyx7QTooKT0+ISFoLHRoZW46KCk9Pmg/LigpLFc6KCk9Pl8uSyhfLk1ELHtpY29uOm19KX0pKX0sImViIik7Cl8udE8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntjb250ZW50OiEwLG9uY2xpY2s6ITAsb250b3VjaHN0YXJ0OiEwLG9udG91Y2htb3ZlOiEwLG9udG91Y2hlbmQ6ITAsYng6ITB9fTt2YXIgUk4sUE4sT047Uk49ITA7ClBOPXtBVkFUQVJfQ0lSQ0xFX0JMVUU6IkFWQVRBUl9MT0dHRURfT1VUIixCQUNLOiJBUlJPV19CQUNLIixCTE9DS19VU0VSOiJCTE9DSyIsQlJPQURDQVNUOiJwb2RjYXN0IixDQVBUSU9OUzoiQ0xPU0VEX0NBUFRJT04iLENIRUNLX0JMVUU6IkNIRUNLIixDSEVDS19DSVJDTEVfRklMTEVEOiJDSEVDS19DSVJDTEVfRklMTEVEIixDSEVDS19DSVJDTEVfVEhJQ0s6IkNIRUNLX0NJUkNMRV9PVVRMSU5FIixDT1VSU0U6ImxpZ2h0YnVsYiIsRElTTElLRV9DT01NRU5UOiJESVNMSUtFIixESVNMSUtFX0NPTU1FTlRfRklMTEVEOiJESVNMSUtFX0ZJTExFRCIsRElTTElLRV9TRUxFQ1RFRDoiRElTTElLRV9GSUxMRUQiLERJU01JU1NBTF9CTEFDSzoiRElTTUlTU0FMIixFWFBBTkRfTU9SRToiRVhQQU5EIixGQVNISU9OX0xPR086ImZhc2hpb24iLEdBTUlORzoiZ2FtaW5nIixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHRUFSOiJTRVRUSU5HUyIsSEVMUDoiSEVMUF9PVVRMSU5FIixMSUtFX0NPTU1FTlQ6IkxJS0UiLApMSUtFX0NPTU1FTlRfRklMTEVEOiJMSUtFX0ZJTExFRCIsTElLRV9TRUxFQ1RFRDoiTElLRV9GSUxMRUQiLExJVkU6IlJBREFSX0xJVkUiLExPR086IllPVVRVQkUiLE1PUkVfQ0hFVlJPTjoiRVhQQU5EIixNT1JFX1ZFUlRfV0hJVEU6Ik1PUkVfVkVSVCIsTVVTSUM6ImF1ZGlvIixNVVNJQ19GSUxMRUQ6ImF1ZGlvX2ZpbGxlZCIsTkVXUzoibmV3cyIsT0ZGSUNJQUxfQVJUSVNUX0JBREdFOiJhdWRpbyIsUExBWUFCTEVTX0xPR086InRpY190YWNfdG9lIixQTEFZRVJfTkVYVDoiU0tJUF9ORVhUX0ZJTExFRCIsUExBWUVSX1BBVVNFOiJQQVVTRV9GSUxMRUQiLFBMQVlFUl9QTEFZOiJQTEFZX0FSUk9XX0ZJTExFRCIsUExBWUVSX1BSRVZJT1VTOiJTS0lQX1BSRVZJT1VTX0ZJTExFRCIsUExBWUVSX1JFUExBWToiUkVQTEFZIixQTEFZX0FMTDoiUExBWV9BUlJPV19GSUxMRUQiLFJFTU9WRToiRElTTUlTU0FMIixTSE9SVFNfRElTTElLRToic2hvcnRzX3RodW1ic19kb3duIixTSE9SVFNfTElLRToic2hvcnRzX3RodW1ic191cCIsClNQT05TT1JTSElQX1NUQVI6IlNQT05TT1JTSElQX1NUQVJfRklMTEVEIixUQUJfQUNDT1VOVDoiQVZBVEFSX0xPR0dFRF9PVVQiLFRBQl9UUkVORElORzoiZmlyZSIsVEFCX1RSRU5ESU5HX0ZJTExFRDoiZmlyZV9maWxsZWQiLFRSRU5ESU5HOiJmaXJlIixUUk9QSFk6InRyb3BoeSIsVk9MVU1FX0RPV05fT1VUTElORToiVk9MVU1FX0RPV04iLFZPTFVNRV9VUDoiVk9MVU1FX1VQX0ZJTExFRCIsVk9MVU1FX1VQX09VVExJTkU6IlZPTFVNRV9VUCIsWU9VVFVCRV9MT0dPOiJMT0dPX1dJVEhfVEVYVCIsWU9VVFVCRV9QUkVNSVVNX0xPR086IllPVVRVQkVfUFJFTUlVTV9MT0dPX1NIT1JUIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoieW91dHViZV9zaG9ydHNfbm9fdHJpYW5nbGVfZmlsbGVkIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZV9maWxsZWQifTsKT049e0xPR086IkxPR08iLFBMQVlBQkxFU19MT0dPOiJwbGF5YWJsZXMiLFNIT1JUU19ESVNMSUtFOiJ0aHVtYl9kb3duIixTSE9SVFNfTElLRToidGh1bWJfdXAiLFRBQl9UUkVORElORzoidHJlbmRpbmciLFRBQl9UUkVORElOR19GSUxMRUQ6InRyZW5kaW5nX2ZpbGxlZCIsVFJFTkRJTkc6InRyZW5kaW5nIn07Cl8udU89Xy5MKCh7aWNvbjphLGFjdGl2ZTpiLGNsYXNzTmFtZTpjLHN0eWxlOmQseXA6ZSxoYzpmLHJvbGU6aCxHZTprLEhjOmwsYXJpYUhpZGRlbjptLGFyaWFFeHBhbmRlZDpuLGFyaWFMYWJlbDpwLGlkOnIsYWc6dCxzaXplOnZ9KT0+e25oYSgpO3ZhciB6PSgpPT5RTihhPy4oKSksRT1fLk4oKCk9PnthOnt2YXIgRj1RTihhPy4oKSksQz1iPy4oKTt2YXIgRz12Py4oKTtpZihGKXt2YXIgRD1fLnkoKS5yZXNvbHZlKF8uWEwpLEg9Ri50b0xvd2VyQ2FzZSgpO0Y9e2ljb25OYW1lOkgsaWNvblN0eWxlOkguZW5kc1dpdGgoIl9maWxsZWQiKXx8Ri5lbmRzV2l0aCgiX29uIil8fEM/InlvdXR1YmVfZmlsbCI6dm9pZCAwLGljb25TaXplOkd9O0M9RC5qKEYpOyFDJiZHJiYoRi5pY29uU2l6ZT12b2lkIDAsQz1ELmooRikpOyFDJiZILmVuZHNXaXRoKCJfZmlsbGVkIikmJihGLmljb25OYW1lPUguc3Vic3RyaW5nKDAsSC5sZW5ndGgtNyksQz1ELmooRikpO0N8fChGLmljb25TdHlsZT12b2lkIDAsCkM9RC5qKEYpKTtpZihDKXtHPUY7YnJlYWsgYX1fLklwKG5ldyBfLlhqKCJJY29uIG5vdCBzdXBwb3J0ZWQiLHtpY29uTmFtZTpGLmljb25OYW1lfSkpfUc9dm9pZCAwfXJldHVybiBHfSx2b2lkIDAsIk02WGtHYiIpLEE9KCk9Pih7aWNvbldpZHRoOiIxMDAlIixpY29uSGVpZ2h0OiIxMDAlIixhZzp0Py4oKX0pO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5RTihhPy4oKSkmJms/LigpJiZiPy4oKSE9PXZvaWQgMCYmT2JqZWN0LnZhbHVlcyhBaGEpLmluY2x1ZGVzKFFOKGE/LigpKXx8IiIpfSwoKT0+Xy5LKF8udE0se2FuaW1hdGVkSWNvblR5cGU6eixhY3RpdmU6KCk9PiEhYj8uKCksSGM6bCxzaXplOnYsSEE6KCk9Pl8uSyhfLnVPLHtpY29uOmEsYWN0aXZlOmIsR2U6ITF9KX0pKSxfLksoXy5DRSx7d2hlbjooKT0+UU4oYT8uKCkpJiZFKCl9LCgpPT5fLksoImMzLWljb24iLHtjbGFzczpjLHN0eWxlOmQscm9sZTpoLCJkYXRhLXNlbGVjdGVkIjplLCJkYXRhLWRpc2FibGVkIjpmLAoiZmlsbC1pY29uIjooKT0+Yj8uKCk9PT0hMCxpZDpyLCJpY29uLXN0YXRlLW91dGxpbmUiOigpPT5iPy4oKT09PSExPyIiOnZvaWQgMCwiaWNvbi1zdGF0ZS1maWxsZWQiOigpPT5iPy4oKT09PSEwPyIiOnZvaWQgMCwiYXJpYS1oaWRkZW4iOm0sImFyaWEtZXhwYW5kZWQiOm4sImFyaWEtbGFiZWwiOnB9LF8uSyhfLllMLHtkYXRhOigpPT5FKCksb3B0aW9uczpBfSkpKSl9LCJmYiIpO18udU8uaWRvbUNvbXBhdD0hMDtfLkwoKHtuYW1lOmEsbGFiZWw6YixvbmNsaWNrOmMsYnE6ZCxyb2xlOmV9KT0+Xy5LKCJkaXYiLHtjbGFzczoiaWNvbi1idXR0b24iLHJvbGU6ZSwiYXJpYS1sYWJlbCI6YiwiYXJpYS1oYXNwb3B1cCI6ZCwib246Y2xpY2siOmN9LF8uSyhfLnVPLHtpY29uOmF9KSksImdiIikuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbmNsaWNrOiEwfX07CnZhciBKaGE9ImFsaWduX2xlZnQgYXJyb3dfbGVmdCBmbGFnIGhvbWUgbG9nb193aXRoX3RleHQgbWVzc2FnZV9idWJibGVfYWxlcnQgbWljIG9wZW5fbmV3IG92ZXJmbG93X2hvcml6b250YWwgb3ZlcmZsb3dfdmVydGljYWwgcGxheV9jaXJjbGVfc2hvcnRzIHNlYXJjaCBzaG9ydHNfY29tbWVudCBzaG9ydHNfc2hhcmUgc2hvcnRzX3RodW1ic19kb3duIHNob3J0c190aHVtYnNfdXAgd2F2ZWZvcm0geF9tYXJrIHlvdXR1YmVfc2hvcnRzIHlvdXR1YmVfc2hvcnRzX2JyYW5kXzI0Ii5zcGxpdCgiICIpLEloYT0iYWxlcnRfYnViYmxlIGFycm93X2xlZnQgYXJyb3dfdXBfcmlnaHQgZmxhZyBob21lIGxvZ29fd2l0aF90ZXh0IG1pYyBvdmVyZmxvd19ob3Jpem9udGFsIG92ZXJmbG93X3ZlcnRpY2FsIHBsYXlfY2lyY2xlX3Nob3J0cyBzZWFyY2ggc2hhcmUgc2hvcnRzIHRleHRfYWxpZ25fbGVmdCB0ZXh0X2J1YmJsZSB0aHVtYl9kb3duIHRodW1iX3VwIHdhdmVmb3JtIHggeW91dHViZV9zaG9ydHNfYnJhbmRfMjQiLnNwbGl0KCIgIik7Xy52Tz1fLkwoYT0+e3ZhciB7aWNvblR5cGU6YixsYWJlbDpjLGFyaWFMYWJlbDpkLGFyaWFQcmVzc2VkOmUsZGlzYWJsZWQ6ZixvbmNsaWNrOmgsc3R5bGU6ayxWbDpsLExtOm0sT3g6bixiYXNpY0NvbG9yUGFsZXR0ZURhdGE6cCxkYXRhOnIsYXJpYUhpZGRlbjp0fT1fLkRDKGEse2ljb25UeXBlOiIiLFZsOiExLExtOiIiLE94OiExLGFyaWFIaWRkZW46ITF9KTtfLnVFKCJkaXYiLHY9PntyPy4oKSYmbWhhKHYscj8uKCkpfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJidXR0b24td2l0aC1pY29uIGJ1dHRvbi1yZW5kZXJlciBjb21wYWN0IixtKSxzdHlsZTooKT0+e3ZhciB2O2lmKHY9cD8uKCkpe3ZhciB6PSIiLEU7Zm9yKEUgaW4gdil7aWYoIXYuaGFzT3duUHJvcGVydHkoRSkpY29udGludWU7bGV0IEE9dltFXSxGPUUuaW5jbHVkZXMoImZvcmVncm91bmQiKT8iY29sb3IiOlN0cmluZyhFKS5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCk7QSYmCih6Kz1gJHtGfToke18uTkQoQSl9O2ApfXY9en1lbHNlIHY9dm9pZCAwO3JldHVybiB2Py50b1N0cmluZygpfSwiZGF0YS1zdHlsZSI6KCk9PnR5cGVvZiBrPy4oKT09PSJzdHJpbmciP2soKTprPy4oKT8uc3R5bGVUeXBlLCJkYXRhLWljb24tb25seSI6KCk9PiFjPy4oKSwiaXMtYnVzeSI6bCwiYXJpYS1idXN5IjpsLCJhcmlhLWhpZGRlbiI6dH0sXy5LKCJidXR0b24iLHtjbGFzczoiYnV0dG9uLXdpdGgtaWNvbi1idXR0b24iLCJvbjpjbGljayI6ZnVuY3Rpb24odil7aD8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9LGRpc2FibGVkOmYsImFyaWEtbGFiZWwiOigpPT5kPy4oKXx8IiIsImFyaWEtcHJlc3NlZCI6KCk9PmU/LigpPz92b2lkIDB9LF8uSygiZGl2Iix7Y2xhc3M6ImJ1dHRvbi13aXRoLWljb24taW5uZXIifSxfLksoXy5PLHtBOigpPT4hbj8uKCkmJmIoKSx0aGVuOigpPT5fLksoXy51Tyx7aWNvbjpiLGNsYXNzTmFtZToiYnV0dG9uLXJlbmRlcmVyLWljb24ifSl9KSxfLksoImRpdiIsCntjbGFzczoiYnV0dG9uLXJlbmRlcmVyLXRleHQifSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKF8uSUose2RhdGE6Y30pfSkpLF8uSyhfLk8se0E6KCk9Pm4oKSYmYigpLHRoZW46KCk9Pl8uSyhfLnVPLHtpY29uOmIsY2xhc3NOYW1lOiJidXR0b24tcmVuZGVyZXItaWNvbiJ9KX0pLF8uSyhfLk8se0E6bCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJidXR0b24td2l0aC1pY29uLXNwaW5uZXIgc3Bpbm5lciJ9KX0pKSkpfSwiaWIiKTtfLkhDW18uUkFbImRlZmF1bHQiXV09b2hhOyhmdW5jdGlvbigpe3ZhciBhPV8uY0I7Xy5jQj1iPT57YT8uKGIpO18uT0UoKCk9Pntmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKylUTihiW2NdKX0pfX0pKCk7Xy53Tz1fLkwoKHtjaGlsZHJlbjphLG9uY2xpY2s6Yixyb2xlOmMsSHk6ZH0pPT57dmFyIGU9Xy51RSgiYnV0dG9uIik7Xy5VSigoKT0+e2Q/LihlLnZhbHVlKX0pO3JldHVybiBfLksoInl0bS1tZW51LWl0ZW0iLG51bGwsXy5LKCJidXR0b24iLHtjbGFzczoibWVudS1pdGVtLWJ1dHRvbiIsZWw6ZSwib246Y2xpY2siOmIscm9sZTpjfSxhKSl9LCJqYiIpO18ud08uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbmNsaWNrOiEwLEh5OiEwfX07Xy5MKCh7dXJsOmEsbEs6YixjaGlsZHJlbjpjfSk9Pl8uSygieXRtLW1lbnUtaXRlbSIsbnVsbCxfLksoImEiLHtocmVmOmEsY2xhc3M6Im1lbnUtaXRlbS1idXR0b24iLHRhcmdldDooKT0+Yj8uKCk/Il9ibGFuayI6dm9pZCAwfSxjKSksImtiIikuaWRvbUNvbXBhdD0hMDsKXy5MKCh7Y29tbWFuZDphLGNoaWxkcmVuOmJ9KT0+Xy5LKCJ5dG0tbWVudS1pdGVtIixudWxsLF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCk/P3ZvaWQgMCxjbGFzc05hbWU6Im1lbnUtaXRlbS1idXR0b24ifSxiKSksImxiIikuaWRvbUNvbXBhdD0hMDt2YXIgVk4sV04sW1lOLHBoYV09Xy5KKG51bGwsdm9pZCAwLCJHQ0tnOGUiKSx4Tz1fLkwoKHtEaDphfSk9Pl8uSyhfLndPLG51bGwsXy5LKCJkaXYiLHtjbGFzczoibWVudS1jYW5jZWwtYnV0dG9uIn0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5UZCxjbGFzc05hbWU6Im1lbnUtY2FuY2VsLWljb24ifSksKCk9PmEoKS5jYW5jZWxCdXR0b25MYWJlbCkpLCJtYiIpLFhOPV8uTCgoe0RoOmEsY2hpbGRyZW46Yn0pPT57dmFyIGM9Xy51RSgiZGl2IiwoKT0+e30pO3JldHVybiBfLksoImRpdiIse2VsOmMsY2xhc3M6Xy5QKCJtZW51LWNvbnRlbnQiLHsibWVudS1ib3R0b20iOigpPT5hKCkubnEsIm1lbnUtc2hvdy1pY29ucyI6KCk9PmEoKS5IYXx8YSgpLm5xfHxhKCkuaXNGdWxsV2lkdGgsInJvdW5kZWQtY29udGFpbmVyIjooKT0+IWEoKS5pc0Z1bGxXaWR0aH0pLCJvbjpjbGljayI6ZnVuY3Rpb24oKXthKCkuU3d8fGEoKS5FSXx8Xy5VTigpfSxyb2xlOigpPT5hKCkuaXNGdWxsV2lkdGg/CnZvaWQgMDoiZGlhbG9nIiwiYXJpYS1tb2RhbCI6KCk9PiFhKCkuaXNGdWxsV2lkdGgsImFyaWEtbGFiZWxsZWRieSI6KCk9PmEoKS5WSH0sYixfLksoXy5PLHtBOigpPT4hYSgpLlN3LHRoZW46KCk9Pl8uSyhfLk8se0E6KCk9PiEhYSgpLm5xLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1tZW51LWNhbmNlbCJ9LF8uSyh4Tyx7RGg6YX0pKSxXOigpPT5fLksoeE8se0RoOmF9KX0pfSkpfSwibmIiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIixhTyk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGFPKTt2YXIgeU87eU89Xy5MKGE9Pnt2YXIgYj1hLmNoaWxkcmVuLGM9Xy5adHx8dm9pZCAwLGQ9Xy5tRygpO3JldHVybiBfLksoInl0bS1tZW51IixudWxsLGIoe29uQ2xpY2s6ZT0+e2Euc3RvcFByb3BhZ2F0aW9uPy4oKSYmZS5zdG9wUHJvcGFnYXRpb24oKTthLnByZXZlbnREZWZhdWx0Py4oKSYmZS5wcmV2ZW50RGVmYXVsdCgpO3FoYSh7Y29udGVudDphLmNvbnRlbnQsY2FuY2VsQnV0dG9uTGFiZWw6YS5jYW5jZWxCdXR0b25MYWJlbD8uKCksVGQ6YS5UZD8uKCksY2xhc3NOYW1lOmEuZGY/LigpLGZvY3VzT25DbG9zZTplLmN1cnJlbnRUYXJnZXQsSGE6YS5IYT8uKCksaXNEaXNhYmxlZDphLmlzRGlzYWJsZWQ/LigpLGRpc2FibGVkQ29tbWFuZDphLmRpc2FibGVkQ29tbWFuZD8uKCksb3duZXI6YyxGQTpkfSl9fSkpfSwicGIiKTsKXy56Tz1fLkwoYT0+Xy5LKHlPLHsuLi5hLGNvbnRlbnQ6YS5jaGlsZHJlbn0sKHtvbkNsaWNrOmJ9KT0+Xy5LKF8uTyx7QTooKT0+YS5idXR0b25PdmVycmlkZXM/LigpLHRoZW46Yz0+Xy5LKF8uSksse2RhdGE6KCk9Pih7b25UYXA6YixpY29uUG9zaXRpb246Imljb24tb25seSIsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHNpemU6Ik0iLHN0YXRlOiJhY3RpdmUiLGFjY2Vzc2liaWxpdHlMYWJlbDphLmxhYmVsPy4oKSwuLi5jKCl9KSxpY29uTmFtZTphLmljb25UeXBlfSksVzooKT0+Xy5LKF8udE8se25hbWU6YS5pY29uVHlwZSxhcmlhTGFiZWw6YS5sYWJlbCxjbGFzc05hbWU6Xy5QKGEuRmgse3NtYWxsOmEubGJ9KSxvbmNsaWNrOmIsYnE6ITB9KX0pKSwicWIiKTtfLnpPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Y2hpbGRyZW46ITB9fTsKXy5NaGE9Xy5MKGE9Pl8uSyh5Tyx7Li4uYSxjb250ZW50OmEuY2hpbGRyZW59LCh7b25DbGljazpifSk9Pl8uSyhfLk8se0E6KCk9PmEuYnV0dG9uT3ZlcnJpZGVzPy4oKSx0aGVuOmM9Pl8uSyhfLkpLLHtkYXRhOigpPT4oe29uVGFwOmIsaWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzaXplOiJNIixzdGF0ZToiYWN0aXZlIixhY2Nlc3NpYmlsaXR5TGFiZWw6YS5hcmlhTGFiZWw/LigpLFdhOmEubGFiZWw/LigpP18uQUYoYS5sYWJlbCgpKTp2b2lkIDAsLi4uYygpfSksaWNvbk5hbWU6YS5pY29uVHlwZX0pLFc6KCk9Pl8uSyhfLnZPLHtpY29uVHlwZTphLmljb25UeXBlLGxhYmVsOmEubGFiZWwsYXJpYUxhYmVsOmEuYXJpYUxhYmVsLGFyaWFQcmVzc2VkOiExLG9uY2xpY2s6YixzdHlsZTphLnN0eWxlLFZsOmEuVmwsTG06YS5hSX0pfSkpLCJyYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgT2hhLFBoYSxCTyxRaGEsUmhhLENPLFNoYSxHTyxITyxWaGEsVWhhLFdoYSxYaGEsWWhhLFpoYSxhaWEsUE8sYmlhLGNpYSxkaWEsZWlhLGZpYSxoaWEsZ2lhLFdPLGlpYSxYTyxqaWEsa2lhLGVQLGhQLGxQLG1pYSxuaWEsa1AsalAsTmhhLFRoYTtPaGE9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIG9mIE9iamVjdC52YWx1ZXMoTmhhKSlpZihfLmlxKGIpPT09YSlyZXR1cm4hMDtyZXR1cm4hMX07ClBoYT1mdW5jdGlvbihhLGIsYyxkLGUsZixoLGssbCl7dmFyIG09KDAsXy5EdykoKTtmPW5ldyBfLlR3KHt2ZVR5cGU6Yix5b3V0dWJlRGF0YTpmLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTtsPV8uV3coe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOmx9LG0pO2UmJihsLmN0dEF1dGhJbmZvPWUpO2U9e2NzbjptLHBhZ2VWZTpmLmdldEFzSnNvbigpfTtfLngoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmayYmay5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKGUuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9ay5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7YyYmYy52aXN1YWxFbGVtZW50PyhlLmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOmMuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpjLnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJihlLmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6YyYmXy5JcChuZXcgXy5YaigibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKYikpO2QmJihlLmNsb25lQ3NuPWQpO2E/Xy5DcCgic2NyZWVuQ3JlYXRlZCIsZSxhLGwpOl8uRXAoInNjcmVlbkNyZWF0ZWQiLGUsbCk7Xy5zbShfLkN3LG5ldyBfLkJ3KG0pKTtfLkV3LmNsZWFyKCk7Xy5Gdy5jbGVhcigpO18uR3cuY2xlYXIoKTtyZXR1cm4gbX07Xy5BTz1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLnd4KGEsYixjLGUsaCl9O0JPPWZ1bmN0aW9uKGEsYil7YS5LLmhhcyhiKXx8YS5LLnNldChiLFtdKTtyZXR1cm4gYS5LLmdldChiKX07ClFoYT1mdW5jdGlvbihhLGIsYz0wKXtfLlZpKCgpPT57Yi50aGVuKGQ9PnthLmouaGFzKGMpJiZhLkImJmEuQigpO3ZhciBlPV8uaXEoYyksZj1fLlZ3KGMpO2lmKGUmJmYpe3ZhciBoPXthdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTozfTtkPy5yZXNwb25zZT8udHJhY2tpbmdQYXJhbXMmJl8uYngoYS5jbGllbnQsZSxmLF8uVXcoZC5yZXNwb25zZS50cmFja2luZ1BhcmFtcyksITEsaCk7ZD8ucGxheWVyUmVzcG9uc2U/LnRyYWNraW5nUGFyYW1zJiZfLmJ4KGEuY2xpZW50LGUsZixfLlV3KGQucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07UmhhPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wO2I8YS5ELmxlbmd0aDtiKyspe3ZhciBjPWEuRFtiXTt0cnl7YygpfWNhdGNoKGQpe18uR3AoZCl9fWEuRC5sZW5ndGg9MDtmb3IoYj0wO2I8YS5VLmxlbmd0aDtiKyspe2M9YS5VW2JdO3RyeXtjKCl9Y2F0Y2goZCl7Xy5HcChkKX19fTsKQ089ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9dm9pZCAwO2QubGF5ZXJ8fChkLmxheWVyPTApO2U9ZC5wYXJlbnRMYXllciE9PXZvaWQgMD9kLnBhcmVudExheWVyOmQubGF5ZXI7dmFyIGY9Xy5pcShlKTtlPV8uVncoZSk7dmFyIGg9Y3x8ZSxrO2gmJihkLnBhcmVudENzbiE9PXZvaWQgMD9rPXtjbGllbnRTY3JlZW5Ob25jZTpkLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmYmJmYhPT0iVU5ERUZJTkVEX0NTTiImJihrPXtjbGllbnRTY3JlZW5Ob25jZTpmLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgbCxtPV8udygiRVZFTlRfSUQiKTtmPT09IlVOREVGSU5FRF9DU04iJiZtJiYobD17c2VydmxldERhdGE6e3NlcmlhbGl6ZWRTZXJ2bGV0RXZlbnRJZDptfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmZiYmXy5reChhLGYpO18ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSYmaCYmZiYmXy5jeChoLGYpO3RyeXt2YXIgbj1QaGEoYS5jbGllbnQsYixrLApkLnRwLGQuY3R0QXV0aEluZm8sbCxkLmltcGxpY2l0R2VzdHVyZVR5cGUsZC5sb2dnaW5nRXhwZWN0YXRpb25zLGQuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKHIpe18uY3cocix7R0s6Yixyb290VmU6ZSxxSzpjLG5JOmYscEs6ayx0cDpkLnRwfSk7Xy5HcChyKTtyZXR1cm59Xy5tcShuLGIsZC5sYXllcixkLmN0dEF1dGhJbmZvKTtmJiZmIT09IlVOREVGSU5FRF9DU04iJiZlJiYhT2hhKGYpJiYoXy52eChhLmNsaWVudCxmLGUsITApLGEuby5kZWxldGUoZikpO2I9Qk8oYSxkLmxheWVyfHwwKTtiLmxlbmd0aD4wJiYhYltiLmxlbmd0aC0xXS5jc24mJihiW2IubGVuZ3RoLTFdLmNzbj1ufHwiIik7Xy56cSh7Y2xpZW50U2NyZWVuTm9uY2U6bn0pO18uRHgoKTtfLlZpKF8uQngoKS5LKS5iaW5kKF8uQngoKSkoKTt2YXIgcD1fLlZ3KGQubGF5ZXIpO2YmJmYhPT0iVU5ERUZJTkVEX0NTTiImJnAmJl8ueCgibXVzaWNfd2ViX21hcmtfcm9vdF92aXNpYmxlIikmJl8uVmkoXy5BTykodm9pZCAwLApuLHAsdm9pZCAwLHZvaWQgMCx2b2lkIDApO2Euai5kZWxldGUoZC5sYXllcnx8MCk7YS5CPXZvaWQgMDthLmhhLmdldChkLmxheWVyKT8uZm9yRWFjaCgocix0KT0+e3I/Xy5peChhLHQscixkLmxheWVyKTpwJiZfLml4KGEsdCxwLGQubGF5ZXIpfSk7UmhhKGEpfTtTaGE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5qLmFkZChkLmxheWVyfHwwKTthLkI9KCk9PntDTyhhLGIsYyxkKTt2YXIgZT1fLlZ3KGQubGF5ZXIpO2lmKGUpe2xldCBmPV8uaXEoZC5sYXllcik7Zm9yKGxldCBoIG9mIGEuWSl7bGV0IGs9aFswXSxsPWhbMV18fGU7Zj9fLmp4KGEsayxsLGQubGF5ZXIsZik6Xy5peChhLGssbCxkLmxheWVyKX1mb3IobGV0IGggb2YgYS5NKV8ubXgoYSxoWzBdLGhbMV0pfX07Y3x8Xy5pcShkLmxheWVyKXx8YS5CKCk7aWYoZC5mbClmb3IobGV0IGUgb2YgZC5mbClRaGEoYSxlLGQubGF5ZXIpO2Vsc2UgXy5HcChFcnJvcigiTmIiKSl9OwpfLkRPPWZ1bmN0aW9uKGEsYixjLGQ9e30pe18uVmkoKCk9PntUaGEuaW5jbHVkZXMoYil8fChfLklwKG5ldyBfLlhqKCJjcmVhdGVDbGllbnRTY3JlZW4oKSBjYWxsZWQgd2l0aCBhIG5vbi1wYWdlIFZFIixiKSksYj04Mzc2OSk7aWYoIWQuaXNIaXN0b3J5TmF2aWdhdGlvbil7bGV0IGU9ZC5sYXllcnx8MDthLmdhLnNldChlLFtdKTtCTyhhLGUpLnB1c2goe3Jvb3RWZTpiLGtleTpkLmtleXx8IiJ9KX1hLlk9W107YS5NPVtdO2QuZmw/U2hhKGEsYixjLGQpOkNPKGEsYixjLGQpfSkoKX07Xy5FTz1mdW5jdGlvbihhLGIsYyxkKXtiPV8uZGIoYik7cmV0dXJuIGIhPT12b2lkIDA/YS5vcGVuKGIsYyxkKTpudWxsfTtfLkZPPWZ1bmN0aW9uKGEsYixjKXtjPWMhPW51bGw/Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYykpOiIiO3JldHVybiBfLlNiKGEsYitjKX07R089ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5ReShfLmVkKGEsYikpPz8hMX07CkhPPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5XeChhLGIsXy54dyhjKSwhMSl9O18uSU89ZnVuY3Rpb24oYSxiKXt2YXIgYztfLnViKGEsZD0+e2M9YltkXTtyZXR1cm4hIWN9KTtyZXR1cm4gY307Xy5KTz1mdW5jdGlvbihhLGIsYz0wKXsoYz1fLmlxKGMpKSYmYSYmXy5WaShfLkFPKSh2b2lkIDAsYyxhLHZvaWQgMCxiLHZvaWQgMCl9O18uS089ZnVuY3Rpb24oKXtyZXR1cm4hIV8udygiTVdFQl9GSVJFRk9YX1lUX0xBVU5DSEVSIil9O18uTE89ZnVuY3Rpb24oKXtyZXR1cm4gXy5rTT9fLmtNOl8ubE0oKX07Xy5NTz1mdW5jdGlvbihhLGI9NSxjKXtpZihiIT09MCl7dmFyIGQ9dHlwZW9mIGE9PT0iZnVuY3Rpb24iP2EoKTpkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2Q/Yz8ucmw/Xy5kTihkKTpkLmZvY3VzKCk6c2V0VGltZW91dCgoKT0+e18uTU8oYSxiLTEsYyl9LDUwMCl9fTtWaGE9ZnVuY3Rpb24oKXt2YXIgYT1VaGEoKTtyZXR1cm4gSE8oYSw3LCEwKX07ClVoYT1mdW5jdGlvbigpe3ZhciBhPW5ldyBOTzthPUhPKGEsNSwhMCk7YT1ITyhhLDIsITApO2E9SE8oYSw0LCExKTthPUhPKGEsOCwhMCk7cmV0dXJuIEhPKGEsOSwhMCl9O1doYT1mdW5jdGlvbigpe3ZhciBhPVZoYSgpO3JldHVybiBITyhhLDEwLCEwKX07WGhhPWZ1bmN0aW9uKCl7dmFyIGE9V2hhKCk7cmV0dXJuIEhPKGEsMTIsITApfTtZaGE9ZnVuY3Rpb24oKXt2YXIgYT1YaGEoKTtyZXR1cm4gSE8oYSwxMywhMSl9O1poYT1mdW5jdGlvbigpe3ZhciBhPVloYSgpO3JldHVybiBITyhhLDE0LCEwKX07YWlhPWZ1bmN0aW9uKGEpe3JldHVybiAkaGEuc29tZShiPT5iLnRlc3QoYSkpfTsKUE89ZnVuY3Rpb24oYSxiKXt7dmFyIGM9YS5mb3JtQ29udGVudD8ubG9jYWxlO2xldCBkPWM/LnNwbGl0KCItIilbMF07Yz1jJiZPTy5pbmNsdWRlcyhjKT9jOmQmJk9PLmluY2x1ZGVzKGQpP2Q6dm9pZCAwfWM9KGM/PyJlbiIpLnJlcGxhY2VBbGwoIi0iLCJfIikudG9Mb3dlckNhc2UoKTthPWEuaW5pdGlhbGl6YXRpb25EYXRhPy51c2VOaWdodGx5UmVsZWFzZT8ibmlnaHRseSI6ImxpdmUiO3JldHVybiBiPy5nZXRFbmFibGVBbG9oYUJpbmFyeVNwbGl0Py4oKT8oMCxfLll4KWBodHRwczovL3d3dy5nc3RhdGljLmNvbS91c2Vydm9pY2UvZmVlZGJhY2svY2xpZW50L3dlYi8ke2F9L21haW5fbGlnaHRfYmluYXJ5LmpzYDooMCxfLll4KWBodHRwczovL3d3dy5nc3RhdGljLmNvbS91c2Vydm9pY2UvZmVlZGJhY2svY2xpZW50L3dlYi8ke2F9L21haW5fYmluYXJ5X18ke2N9LmpzYH07CmJpYT1mdW5jdGlvbihhLGIsYyxkKXtpZihRTyYmUk89PT1iKXJldHVybiBRTztSTz1iO3ZhciBlPVBPKGEsZCk7cmV0dXJuIFFPPWIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdD9Qcm9taXNlLnJlc29sdmUoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpuZXcgUHJvbWlzZSgoZixoKT0+e3ZhciBrPV8uQ2QoIlNDUklQVCIpO18ub2IoayxlKTtrLm9ubG9hZD0oKT0+e2IuZmVlZGJhY2tWMkdsb2JhbE9iamVjdD9mKGIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdCk6aChFcnJvcigiR2QiKSl9O2sub25lcnJvcj0oKT0+e2goRXJyb3IoIkhkYCIrZS50b1N0cmluZygpKSl9O2MuYm9keS5hcHBlbmRDaGlsZChrKX0pfTsKY2lhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKFNPJiZUTz09PWIpcmV0dXJuIFNPO1RPPWI7dmFyIGU9UE8oYSxkKTtyZXR1cm4gU089Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P1Byb21pc2UucmVzb2x2ZShiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOm5ldyBQcm9taXNlKChmLGgpPT57dmFyIGs9Xy5DZCgiU0NSSVBUIik7Xy5vYihrLGUpO2sub25sb2FkPSgpPT57Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P2YoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpoKEVycm9yKCJHZCIpKX07ay5vbmVycm9yPSgpPT57aChFcnJvcigiSGRgIitlLnRvU3RyaW5nKCkpKX07Yy5ib2R5LmFwcGVuZENoaWxkKGspfSl9O2RpYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1EYXRlLm5vdygpO2E9YXdhaXQgKGF3YWl0IGJpYShhLGMsZCxiKSkuaW5pdGlhbGl6ZUZlZWRiYWNrQ2xpZW50QXN5bmMoYSxlLGIpO2EuaW5pdGlhdGVBbG9oYSgpO3JldHVybiBhfTsKZWlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPURhdGUubm93KCk7YT1hd2FpdCAoYXdhaXQgY2lhKGEsYyxkLmRvY3VtZW50LGIpKS5pbml0aWFsaXplRmVlZGJhY2tDbGllbnRBc3luYyhhLGUsYixkKTthLmluaXRpYXRlQWxvaGEoKTtyZXR1cm4gYX07CmZpYT1hc3luYyBmdW5jdGlvbihhLGIsYyl7dmFyIGQ9Y3x8Xy51O2lmKGI/LmdldEVuYWJsZUFsb2hhQmluYXJ5U3BsaXQ/LigpKXtpZihkLmlzRm9ybU9wZW5lZCl0aHJvdyBuZXcgVU87ZC5pc0Zvcm1PcGVuZWQ9ITA7YS5jYWxsYmFja3M9YS5jYWxsYmFja3N8fHt9O2xldCBlPWEuY2FsbGJhY2tzLm9uQ2xvc2V8fCgoKT0+e30pO2EuY2FsbGJhY2tzLm9uQ2xvc2U9Zj0+e2QuaXNGb3JtT3BlbmVkPSExO2UoZil9O3RyeXtyZXR1cm4gZWlhKGEsYixkLGQpfWNhdGNoKGYpe3Rocm93IGQuaXNGb3JtT3BlbmVkPSExLGY7fX1lbHNle2lmKGQuaXNGb3JtT3BlbmVkKXRocm93IG5ldyBVTztkLmlzRm9ybU9wZW5lZD0hMDthLmNhbGxiYWNrcz1hLmNhbGxiYWNrc3x8e307bGV0IGU9YS5jYWxsYmFja3Mub25DbG9zZXx8KCgpPT57fSk7YS5jYWxsYmFja3Mub25DbG9zZT1mPT57ZC5pc0Zvcm1PcGVuZWQ9ITE7ZShmKX07dHJ5e3JldHVybiBkaWEoYSxiLGQsZC5kb2N1bWVudCl9Y2F0Y2goZil7dGhyb3cgZC5pc0Zvcm1PcGVuZWQ9CiExLGY7fX19O2hpYT1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBuZXcgUHJvbWlzZSgoYyxkKT0+e051bWJlci5pc0ludGVnZXIoTnVtYmVyKGEpKSYmTnVtYmVyKGEpPjA/KGQ9Z2lhKGI/PyIiKSsiL2Fsb2hhX2Zvcm1fcHJvcGVydGllcz9wcm9kdWN0SWQ9IithLF8ubHkoZCxlPT57ZT1lLnRhcmdldDt2YXIgZj1udWxsO3RyeXt2YXIgaD1KU09OLGs9aC5zdHJpbmdpZnk7aWYoZS5yYSl7dmFyIGw9ZS5yYS5yZXNwb25zZVRleHQ7bC5pbmRleE9mKCIpXX0nXG4iKT09MCYmKGw9bC5zdWJzdHJpbmcoNSkpO3ZhciBtPV8uRXYobCl9ZWxzZSBtPXZvaWQgMDtmPV8uWHgoVk8say5jYWxsKGgsbSkpfWNhdGNoKG4pe2s9bmV3IFZPLG09WmhhKCksbT1ITyhtLDE1LCEwKSxtPUhPKG0sMjAsITEpLG09SE8obSwyNSwhMSksbT1ITyhtLDI2LCExKSxmPV8uS3coaywxLG0pfWMoZil9LCJHRVQiLCIiLHt9LDJFMywhMCkpOmQoRXJyb3IoIklkYCIrYSkpfSl9OwpnaWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGFpYShhKT9hOiJodHRwczovL3d3dy5nb29nbGUuY29tL3Rvb2xzL2ZlZWRiYWNrIn07CldPPWZ1bmN0aW9uKGEsYixjLGQpe2EudGltZU9mU3RhcnRDYWxsPShuZXcgRGF0ZSkuZ2V0VGltZSgpO3ZhciBlPWN8fF8udSxmPWUuZG9jdW1lbnQsaD1hLm5vbmNlfHxfLmliKGUuZG9jdW1lbnQpO2gmJiFhLm5vbmNlJiYoYS5ub25jZT1oKTtpZihhLmZsb3c9PSJoZWxwIil7dmFyIGs9Xy5zYSgiZG9jdW1lbnQubG9jYXRpb24uaHJlZiIsZSk7IWEuaGVscENlbnRlckNvbnRleHQmJmsmJihhLmhlbHBDZW50ZXJDb250ZXh0PWsuc3Vic3RyaW5nKDAsMTIwMCkpO2s9ITA7aWYoYiYmSlNPTiYmSlNPTi5zdHJpbmdpZnkpe2xldCBsPUpTT04uc3RyaW5naWZ5KGIpOyhrPWwubGVuZ3RoPD0xMjAwKSYmKGEucHNkSnNvbj1sKX1rfHwoYj17aW52YWxpZFBzZDohMH0pfWI9W2EsYixjLGRdO2UuR09PR0xFX0ZFRURCQUNLX1NUQVJUX0FSR1VNRU5UUz1iO2M9YS5mZWVkYmFja1NlcnZlclVyaXx8Ii8vd3d3Lmdvb2dsZS5jb20vdG9vbHMvZmVlZGJhY2siO2lmKGQ9ZS5HT09HTEVfRkVFREJBQ0tfU1RBUlQpZC5hcHBseShlLApiKTtlbHNle2U9YysiL2xvYWQuanM/Ijtmb3IobGV0IGwgaW4gYSliPWFbbF0sYj09bnVsbHx8Xy5BYShiKXx8KGUrPWVuY29kZVVSSUNvbXBvbmVudChsKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKyImIik7YT1fLnhkKGYpLmNyZWF0ZUVsZW1lbnQoIlNDUklQVCIpO2gmJmEuc2V0QXR0cmlidXRlKCJub25jZSIsaCk7Xy5vYihhLF8uVGEoZSkpO2YuYm9keS5hcHBlbmRDaGlsZChhKX19OwppaWE9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5mbG93PT09InN1Ym1pdCIsZj0hIV8uZHIsaD10eXBlb2Ygd2luZG93IT09InVuZGVmaW5lZCImJiEhKHdpbmRvdy5fX2thcm1hX198fHdpbmRvdy5qYXNtaW5lfHx3aW5kb3cubW9jaGF8fHdpbmRvdy5qZXN0KTtpZihlJiZoKVdPKGEsYixjLGQpO2Vsc2V7aD0oYXdhaXQgaGlhKGEucHJvZHVjdElkLGEuZmVlZGJhY2tTZXJ2ZXJVcmkpKT8udigpO2Y9IWZ8fGg/LmdldEVuYWJsZU13ZWIoKTt2YXIgaz0hYS50aW55Tm9Qb2ludGVyfHxoPy5nZXRFbmFibGVUaW55Tm9Qb2ludGVyKCk7Zj0hZSYmKCFofHxoLmdldEFsb2hhQXV0b0dhUm9sbG91dCgpJiZmJiZrKTtlPWUmJmg/LmdldEVuYWJsZUFsb2hhSGVhZGxlc3MoKSYmYS5yZXBvcnQ7Znx8ZT9hd2FpdCBYTyhhLGIsYyxoLGQpOldPKGEsYixjLGQpfX07ClhPPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Y3x8Xy51LGg9YS5zZXJ2ZXJFbnZpcm9ubWVudD09PSJERVYiO2M9Y3x8Xy51O2M9YS5ub25jZXx8Xy5pYihjLmRvY3VtZW50KTtoPXtpbnRlZ3JhdGlvbktleXM6e3Byb2R1Y3RJZDphLnByb2R1Y3RJZCxmZWVkYmFja0J1Y2tldDphLmJ1Y2tldCx0cmlnZ2VySWQ6YS50cmlnZ2VySWQsbWljcm9mZWVkYmFja1Njb3JlOmEubWljcm9mZWVkYmFja1Njb3JlfSxjYWxsYmFja3M6e29uQ2xvc2U6YS5jYWxsYmFjayxvbkxvYWQ6YS5vbkxvYWRDYWxsYmFja30sZm9ybUNvbnRlbnQ6e2xvY2FsZTphLmxvY2FsZSxkaXNhYmxlU2NyZWVuc2hvdDphLmRpc2FibGVTY3JlZW5zaG90dGluZyxwcm9kdWN0RGlzcGxheU5hbWU6dm9pZCAwLGFubm91bmNlbWVudDp2b2lkIDAsaXNzdWVDYXRlZ29yaWVzOnZvaWQgMCxpbmNsdWRlU2V2ZXJpdHlTZWxlY3Rpb246dm9pZCAwLGN1c3RvbUltYWdlU3JjOnZvaWQgMCx0aGFua1lvdU1lc3NhZ2U6dm9pZCAwLAp1c2VyRW1haWw6dm9pZCAwLGRlZmF1bHRGb3JtSW5wdXRWYWx1ZXM6dm9pZCAwLGRlZmF1bHRGb3JtSW5wdXRWYWx1ZXNTdHJpbmc6dm9pZCAwLGFidXNlTGluazphLmFidXNlTGluayxhZGRpdGlvbmFsRGF0YUNvbnNlbnQ6YS5hZGRpdGlvbmFsRGF0YUNvbnNlbnR9LGluaXRpYWxpemF0aW9uRGF0YTp7aXNMb2NhbFNlcnZlcjpoLG5vbmNlOmMsdXNlTmlnaHRseVJlbGVhc2U6aCxmZWVkYmFja0pzVXJsOnZvaWQgMCxmZWVkYmFja0Nzc1VybDp2b2lkIDAsZmVlZGJhY2tKc1VybFNlcmlhbGl6ZWQ6dm9pZCAwLGZlZWRiYWNrQ3NzVXJsU2VyaWFsaXplZDp2b2lkIDAsc3VibWlzc2lvblNlcnZlclVyaTphLmZlZWRiYWNrU2VydmVyVXJpLGNvbG9yU2NoZW1lOmEuY29sb3JTY2hlbWV9LGV4dHJhRGF0YTp7cHJvZHVjdFZlcnNpb246YS5wcm9kdWN0VmVyc2lvbixhdXRoVXNlcjphLmF1dGh1c2VyLGNvbmZpZ3VyYXRvcklkOmEuY29uZmlndXJhdG9ySWQsY3VzdG9tWkluZGV4OmEuY3VzdG9tWkluZGV4LAp0aW55Tm9Qb2ludGVyOmEudGlueU5vUG9pbnRlcixhbGxvd05vbkxvZ2dlZEluRmVlZGJhY2s6YS5hbGxvd05vbkxvZ2dlZEluRmVlZGJhY2ssZW5hYmxlQW5vbnltb3VzRmVlZGJhY2s6YS5lbmFibGVBbm9ueW1vdXNGZWVkYmFja319O2EucmVwb3J0JiYoaC5oZWFkbGVzc1JlcG9ydD1hLnJlcG9ydCk7YiYmKGE9bmV3IE1hcChPYmplY3QuZW50cmllcyhiKSksaC5leHRyYURhdGEucHJvZHVjdFNwZWNpZmljRGF0YT1hKTtlJiYoZT1uZXcgTWFwKE9iamVjdC5lbnRyaWVzKGUpKSxoLmV4dHJhRGF0YS5wcm9kdWN0U3BlY2lmaWNCaW5hcnlEYXRhPWUpO2F3YWl0IGZpYShoLGQsZil9OwpfLllPPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXtpZihhLmZsb3c9PT0iaGVscCIpe2xldCBlPWEuaGVscENlbnRlclBhdGgucmVwbGFjZSgvXlwvLywiIik7Xy5FTyhjfHx3aW5kb3csYGh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tLyR7ZX1gKX1lbHNlIGlpYShhLGIsYyxkKS5jYXRjaChlPT57IWV8fGUgaW5zdGFuY2VvZiBVT3x8V08oYSxiLGMsZCl9KX1jYXRjaChlKXtYTyhhLGIsYyxudWxsLGQpLmNhdGNoKGY9PnshZnx8ZiBpbnN0YW5jZW9mIFVPfHxXTyhhLGIsYyxkKX0pfX07Xy5aTz1mdW5jdGlvbigpe3ZhciBhPV8uSU8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO3JldHVybiBhP2E6bnVsbH07Cl8uJE89ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2tsaXN0Iix7aW5jbHVkZUFzcjohMH0pPz9bXTtyZXR1cm4gYj1qaWEoYixhKX07Xy5hUD1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhbnNsYXRpb25MYW5ndWFnZXMiLHtpbmNsdWRlQXNyOiEwfSl8fFtdfTtqaWE9ZnVuY3Rpb24oYSxiKXtiPV8uYVAoYik7aWYoIWI/Lmxlbmd0aClyZXR1cm4gYTt2YXIgYz1iLmZpbHRlcihkPT5kKTtiPWEuZmlsdGVyKGQ9PmQubGFuZ3VhZ2VDb2RlPy5zdGFydHNXaXRoKCJlbiIpKTtmb3IobGV0IGQgb2YgYylpZihiLmxlbmd0aCl7Yz1iWzBdO2xldCBlPXsuLi5jfTtjLmxhbmd1YWdlQ29kZSE9PWQubGFuZ3VhZ2VDb2RlJiYoZS5kaXNwbGF5TmFtZT1gJHtjLmxhbmd1YWdlTmFtZX0gPj4gJHtkLmxhbmd1YWdlTmFtZX1gLGUudHJhbnNsYXRpb25MYW5ndWFnZT1kLGEucHVzaChlKSl9cmV0dXJuIGF9OwpraWE9ZnVuY3Rpb24oKXtfLk1PKCdbYXJpYS1sYWJlbD0iWW91VHViZSJdJyw1LHtybDohMH0pfTtlUD1mdW5jdGlvbihhKXt2YXIgYj1iUDtiJiYoYT9jUD1fLnhGKGIsKCk9Pl8uSyhkUCxudWxsLF8uSyhfLnROLHtjb21wb25lbnQ6bGlhfSkpLHtJazpfLlhDfSk6KGNQPy4oKSxjUD1udWxsKSl9O2hQPWZ1bmN0aW9uKCl7Y1AmJihjUCgpLGNQPW51bGwpO2ZQKHZvaWQgMCk7Z1AoIm91dCIpO2JQJiYoYlAucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChiUCksYlA9bnVsbCl9O2xQPWZ1bmN0aW9uKCl7aVAubGVuZ3RoJiYoZ1AoIm91dCIpLHNldFRpbWVvdXQoKCk9PntpUC5zaGlmdCgpO2lQLmxlbmd0aD4wPyhoUCgpLGpQKCksa1AoKSk6KGVQKCksaFAoKSl9LDE5NSkpfTttaWE9ZnVuY3Rpb24oKXtfLk5NKHdpbmRvdywic3RhdGUtbmF2aWdhdGVlbmQiLCgpPT57c2V0VGltZW91dChraWEsMUUzKX0pfTsKbmlhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImMzLXRvYXN0Iik7aWYoYil7bGV0IGM9Yi5xdWVyeVNlbGVjdG9yKCJidXR0b24iKTtjJiZfLk5NKGMsImZvY3VzIiwoKT0+e2NsZWFyVGltZW91dChtUCk7bVA9c2V0VGltZW91dChsUCxhKTtfLk5NKGMsImJsdXIiLCgpPT57Xy5PRShfLm5QKX0pfSl9fTtrUD1mdW5jdGlvbigpe2dQKCJpbiIpO3ZhciB7Y29udGVudDphLGR1cmF0aW9uTXM6Yn09aVAubGVuZ3RoP2lQWzBdOnt9O2ZQKGEpO2NQfHxlUChhKTttUD1zZXRUaW1lb3V0KCgpPT57bFAoKX0sMjI1KyhifHwwKSk7Xy5VTSgpPT09ImxpYnJhcnkiP21pYSgpOmIhPT12b2lkIDAmJm5pYShiKX07alA9ZnVuY3Rpb24oKXtiUHx8KGJQPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGJQLmlkPSJ0b2FzdHMiLChfLlpPKCl8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKGJQKSxlUCgpKX07Cl8ucFA9ZnVuY3Rpb24oYSxiPW9QLGM9ITEpe2pQKCk7Yj1ifHxvUDtjJiZpUC5sZW5ndGg+MD8oY2xlYXJUaW1lb3V0KG1QKSxfLk9FKCgpPT57aVBbMF09e2NvbnRlbnQ6YSxkdXJhdGlvbk1zOmJ9O2tQKCl9KSk6KGlQLnB1c2goe2NvbnRlbnQ6YSxkdXJhdGlvbk1zOmJ9KSxpUC5sZW5ndGg9PT0xJiZfLk9FKGtQKSl9O18ublA9ZnVuY3Rpb24oKXtpUC5sZW5ndGg+MCYmKGNsZWFyVGltZW91dChtUCksbFAoKSl9O18ucVA9ZnVuY3Rpb24oYSl7Xy5YTSgibmF2aWdhdGUiLGEpfTtfLnJQPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgibXdlYl9uZXdfZnVsbHNjcmVlbiIpPyEhXy5aTygpOiEhXy5aTygpfHx3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZmF1eGZ1bGxzY3JlZW4ifTsKXy5zUD1mdW5jdGlvbihhKXthPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEudG9TdHJpbmcoKSk7YS5mb2N1cygpO2Euc2V0U2VsZWN0aW9uUmFuZ2UoMCxhLnZhbHVlLmxlbmd0aCk7YT0hMTt0cnl7YT1kb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpfWNhdGNoKGIpe31fLnBQKGE/KCk9Pm9pYTooKT0+cGlhKX07Xy50UD1mdW5jdGlvbigpe3JldHVybiEhXy53KCJJRF9UT0tFTiIpfTtOaGE9e0hDOjAsdkM6MSxCQzoyLHlGOjMsWG46NCxESDo1LEJGOjYsUUc6NyxwRzo4LHVHOjksVEY6MTAsbkY6MTEsMDoiREVGQVVMVCIsMToiQ0hBVCIsMjoiQ09OVkVSU0FUSU9OUyIsMzoiTUlOSVBMQVlFUiIsNDoiRElBTE9HIiw1OiJWT1oiLDY6Ik1VU0lDX1dBVENIX1RBQlMiLDc6IlNIQVJFIiw4OiJQVVNIX05PVElGSUNBVElPTlMiLDk6IlJJQ0hfR1JJRF9XQVRDSCIsMTA6IlBJQ1RVUkVfSU5fUElDVFVSRSIsMTE6Ik1FRElBX0NMSUVOVCJ9OwpUaGE9WzM2MTEsMjc2ODYsMjIxMDU4LDg1MDEzLDIzNDYyLDI0MTE4NywxNTc1NTcsNDIwMTYsMjY5MjYsNTEyMzYsNzkxNDgsNTAxNjAsNzc1MDQsMzEwMjgxLDE1MzU4Nyw4NzkwNywxODYzMCwxNzcwMTgsMTc3MDIzLDU0NDQ1LDMyMTY2NiwzMjYzNTMsMzI2MzU0LDgwOTM1LDE1MjE3MiwxODQ1NTMsMTA1Njc1LDE1MDcyMywzNzUyMSwxNDcyODUsNDc3ODYsMjMxMjU1LDIzMTI1NCwyMzEyNTgsMjMxMjU5LDk4MzQ5LDIzNzI5OSwxNjgyNzEsMTY4OTU0LDE2ODI3NywxNjgyNzMsMTY4MjcwLDEyMzY5NSwyNzIwMTgsMzM4NDk3LDIyNjk4NywyMjY5OTAsMjI2OTg4LDY4MjcsMjk0MzQsMjU1MDEwLDE3MTM4OCwyNDQxODksMjM2MjA4LDcyODIsMTI0NDQ4LDI5OTkwMywyOTk4OTcsMjk5OTA0LDI5OTkwMSwyOTk4OTksMjk5OTAyLDI5OTkwMCwyOTk4OTgsMTk2MDg4LDI1MDg5NywxOTgxMDQsMzIyNzYsMTk1MTE1LDE5NTExNCw3NjI3OCwyMDA2MzUsMjMwNTk0LDE0Nzg2OCwxNDc4NjksCjI3NjI0Myw5MzkxMSwyNzQxODgsMjc2NjUxLDMxMzY4MCwxMDY1MzEsMjU3MjM0LDI1MjU5OCwyNTI1OTcsMjUyNjAwLDI1MjU5OSwyNTI1OTYsMjI1MDMxLDE3Nzg0MywyNzI1OSwyNzI2MiwyNzI2MywyMTc1OSwyODM2NzAsMTYwODY2LDIwNDI0OSwyMjI5MDAsMjA0MjUwLDE4MDYyNiwxNzc5NTksMTc3OTU3LDE4MDYyOCwyMDU3MTYsMTk3ODc4LDI3Mzc2NiwxNzEyNDMsMTYwNzg5LDE3MTI0NCwxNzEyNDEsMTcxMjQ1LDE3MTI0MiwyMjU1NjAsMTgwNjI3LDE3Nzk2MCwyMzE1ODksMTc3OTU4LDE4MDYyOSwyMDU3MTcsMTk3ODc5LDE3NzU2NSwyMTI1NzMsMjEwNzA5LDk5NDQxMiwyMzA2ODQsMjI5ODAxLDIzMDY4NSwzMzQzMTAsMzM0MzExLDMzNDMxMiwxOTczMzcsMjA5MDEwLDE5NzMzNiwxOTczMzgsMTk4NjE4LDMwMDg4NCwxNzU0OTIsMTk4MDUyLDE5ODA1MSwxOTc4NTIsMTk3OTc2LDMxNzM3NywxNzU0OTMsMTc1NDk0LDE3NTQ5NSwxODkyNTQsMTc1NDk2LDE3NTQ5NywzODQwOCwKMTc1NDk4LDE3NTUwMywxNzU1MDQsMTc1NTA1LDE3NTUwNiwxNzU1MDcsMTc1NTA4LDgwNjM3LDY4NzI3LDIwNjkzMywyMDc5NDQsMjA2OTM0LDMwMzEyMywyMDY5MjksMjIxNTc1LDY4NzI4LDIyMTU3Niw4MDM1Myw4MDM1NiwzMDgwMzMsMjQ5MTA3LDE4MDYzNSw3NDYxMCw0NTcwNyw4Mzk2Miw4Mzk3MCw0NjcxMywxNjY1OTEsODk3MTEsNzQ2MTIsMjEzODA5LDE3OTYwNywyNDUwMDYsMTU1NzkyLDkzMjY1LDc0NjExLDEzMTM4MCwxMjg5NzksMTM5MzExLDEyODk3OCwxMzEzOTEsMTA1MzUwLDEzOTMxMiwzMzM2MzcsMTM0ODAwLDEzMTM5MiwxMTM1MzMsMjI5Mjk4LDkzMjUyLDk5MzU3LDk0NTIxLDExNDI1MiwxMTM1MzIsOTQ1MjIsOTQ1ODMsMjAyMzcxLDg4RTMsMTM5NTgwLDkzMjUzLDkzMjU0LDk0Mzg3LDk0Mzg4LDkzMjU1LDk3NDI0LDcyNTAyLDIxOTg2OCwyMTI5OTEsMTEwMTExLDc2MDE5LDExNzA5MiwxMTcwOTMsODk0MzEsMTkxODMxLDExMDQ2NiwyMzEzNDYsNzcyNDAsCjYwNTA4LDE4NjA5MSwxNDgxMjMsMTQ4MTI0LDEzNzQwMSwxMzc0MDIsMTM3MDQ2LDczMzkzLDI0Njc3NiwxMTM1MzQsMjc2MjAwLDkyMDk4LDEzMTM4MSw4NDUxNyw4Mzc1OSwzMDk1ODAsMjMwNjc2LDI0OTE4MywyMzA2NzksMjMwNjc4LDIzMDY3NywyMzA2ODEsMjMwNjgwLDE2MjcxMSwyMzUyMzQsMTYyNzEyLDgwMzU3LDk5NDQxMSwyNDMzMTUsMzEzNTA2LDMyMTk2NCw4NjExMyw3MjU5OCwxNjg0MTMsNzI3MzMsMTA3MzQ5LDEyNDI3NSwxMTgyMDMsMjAwNDEwLDEzMzI3NSwxNjAxNTcsMTUyNTY5LDE1NjY1MSwxMzMyNzQsMTYwMTU5LDE2MDE1OCwxMzMyNzIsMTMzMjczLDEzMzI3NiwxNDQ1MDcsMTQzMjQ3LDE3NTk5NCwxNTY2NTIsMTQzMjQ4LDE0MzI0OSwxNDMyNTAsMTQzMjUxLDE4OTg5MiwxODk4OTQsMTg5ODkzLDE1NjY1MywyMTQyMzYsMTQ0NDAxLDExNzQzMSwxMzM3OTcsMjI1MTM3LDI3MzkwNSwyMjI2MTIsMjIyNjEzLDE1Mzk2NCwyMDExMzMsMjAxMTM0LDIwMTEzNSwKMjAxMTM2LDIwMTEzNywxMjg1NzIsMjAwNDExLDIwMDQxMiwxOTAzMzcsMTMzNDA1LDExNzQyOSwxMTc0MzAsMTc3OTUwLDE3NDczNCwxNzc5NTEsMjAxMTM4LDIwMTEzOSwyMDExNDAsMjAxMTQxLDIwMTE0MiwxMTc0MzIsMTczOTk2LDE3Mzk5NSwxNzQ5NTMsMTczOTk0LDE3Mzk5NywxMjAwODAsMTE3MjU5LDE3ODU0NiwyOTc3NTIsMTk3ODkxLDE1NjY1NSwxNTY2NTQsMTIxNjkyLDIxMTQxNCwyMTE0MTEsMjExNDEyLDIxMTQxMywyMTE0MDMsMTg0ODQ2LDE4NTk5MywzMzUwNDgsMTQ1NjU2LDE1NjY1NiwxNDU2NTUsMTQ1NjUzLDE0NTY1NCwxNDU2NTcsMTMyOTcyLDEzMzA1MSwxMzM2NTgsMTMyOTcxLDMzNjcyOCw5NzYxNSwxODEyNjIsMTkwNzYyLDI1MDM0NCwyNTQwMjcsMTQzMzU5LDE0MzM1NiwxNDMzNjEsMTQzMzU4LDE0MzM2MCwxNDMzNTcsMTQyMzAzLDE0MzM1MywyODIxNTksMTcyODU5LDE0MzM1NCwxNDQ0NzksMTQzMzU1LDMxNDAyLDE4MTU5MCwxMzM2MjQsMTQ2NDc3LAoxMzM2MjMsMTMzNjIyLDEzMzYyMSwxOTI0MTgsODQ3NzQsMzA0Nzc2LDE5Nzk5MywyNDE0NjAsMTYwODAxLDE5Nzk5NSw5NTExNywxNzI3MjEsMTUwNDk3LDk4OTMwLDk4OTMxLDk4OTMyLDMzODU3MCwzMzg0NzQsMzM4NDc4LDMzODQ3MywxNTMzMjAsMTUzMzIxLDQzMzQ3LDMwNTI2OCwyNDkyOTUsMjEwMDE2LDIxMDAxNywyNjI2ODYsMjExODUxLDIxMTg1MiwzMDcyMTksMjExODUzLDMyNzgxMCwxMjk4ODksMTk3ODg4LDE5Nzg4OSwxNDkxMjMsMjIxOTU5LDIyMTYyNywyMjE5NTgsNDU0NzQsMTAwMzUyLDk4NDQzLDExNzk4NSwzMzM3MDgsNzQ2MTMsMTU1OTExLDc0NjE0LDY0NTAyLDEzNjAzMiw3NDYxNSw3NDYxNiwxMjIyMjQsNzQ2MTcsNzc4MjAsNzQ2MTgsMjYyOTg4LDI2Mjk4OSwyMjY5ODEsOTMyNzgsOTMyNzQsOTMyNzUsOTMyNzYsMjAwNjg4LDIwMDY4NiwyMDA2ODcsMTk5ODQxLDIyMTEwLDI5NDMzLDEzMzc5OCwxMzIyOTUsMjgxMzMyLDEyMDU0MSwyMjIxMTIsODIwNDcsCjExMzU1MCw3NTgzNiw3NTgzNywzMDM4ODIsMTkyNDA5LDIwMzIyMSw0MjM1Miw4NDUxMiw3NjA2NSw3NTk4OSwyMDU5MTEsMjA1OTEyLDI1MjY0OSwyMDU5MTMsMjUyNjUwLDI1MjY1MSw1MTg3OSwxNjYyMywzMjU5NCwyNzI0MCwzMzgxMDksMjkzMzI0LDMyNjMzLDc0ODU4LDMwNDE1MCwyOTcwNDUsMjc1MTk4LDI3MTg4NCwyMjI5MzIsMjc5MTE5LDMxMjU4MSwyNzE4ODYsMjEzOTE1LDI3NTE5OSwzMTA3NDgsMjI1MjE2LDI1MTI0NCwyNTgyNTEsMjE4Njc0LDI1MTI2NiwyNTgyNTAsMjUxMjY1LDMwMTY2MiwyNTEyNDUsMjcxODg1LDMxNTgxOCwxNTY5OTksMzk0NSwxNjk4OSw0NTUyMCwyNTQ4OCwyNTQ5MiwyNTQ5NCwyMzIxMTMsNTU3NjAsMTQwNTcsMTg0NTEsNTcyMDQsNTcyMDMsMTc4OTcsMTgxOTgsMTc4OTgsMTc5MDksNDM5ODAsMjIxMDUzLDE5NTUyOSwxODk2NjAsMzA4MDg4LDMwNjQ0OCwzMDY0NDcsMzA4MDg3LDMwODA4Niw0NjIyMCwxMTcyMSwxNDc5OTQsNDk5NTQsOTYzNjksCjM4NTQsMjE3NjQwLDE1MTYzMyw1NjI1MSwyMDUxOTIsMjE2Nzk3LDE1OTEwOCwxODE1NjgsMjM0Nzg5LDI1NjI0LDE1MjAzNiwxNjkwNiw5OTk5OSw2ODE3Miw0Nzk3Myw3Mjc3MywyNjk3MCwyNjk3MSw5NjgwNSwxNzc1MiwyODIxODEsMjc4OTI2LDczMjMzLDIwNTkyMywxMDk1MTIsMjIyNTYsMTQxMTUsMjI2OTYsMjM0NDA5LDIzNDQwOCw4OTI3OCw4OTI3NywxOTU3NDUsMTA5NTEzLDQzMjc4LDQzNDU5LDQzNDY0LDg5Mjc5LDQzNzE3LDU1NzY0LDIyMjU1LDE0NzkxMiw4OTI4MSw0MDk2Myw0MzI3Nyw0MzQ0Miw5MTgyNCwyODM4OTgsMTIwMTM3LDE4NjM1MCwxODYzNTEsMjU2NjkwLDI2NDM0OSwyNjQzNTEsMjY0MzUwLDI2NDM1MiwyMTEwMjYsMjUwODk2LDk2MzY3LDM2ODUwLDcyNjk0LDM3NDE0LDM2ODUxLDEyNDg2MywxMjEzNDMsNzM0OTEsNTQ0NzMsMTY2ODYxLDQzMzc1LDQ2Njc0LDMwMjYzMSwzMzE0NzMsMjQyNTI4LDE0MzgxNSwxMzkwOTUsMTQ0NDAyLDE0OTk2OCwxNDk5NjksCjMyNDczLDcyOTAxLDcyOTA2LDUwNjEyLDUwNjEzLDUwOTQyLDg0OTM4LDg0OTQzLDg0OTM5LDg0OTQxLDg0OTQ0LDg0OTQwLDg0OTQyLDM1NTg1LDUxOTI2LDc5OTgzLDE4OTIxLDU3ODkzLDQxMTgyLDEzNTczMiwzMzQyNCwyMjIwNywzNjIyOSwyMjIwNiwyMjIwNSw0NDc2MywzMzQyNyw2Nzc5MywyMjE4MiwzNzA5MSwzNDY1MCw1MDYxNywyMjI4NywyNTE0NCw5NzkxNywyMjAxMjIsNjIzOTcsMTUwODcxLDE1MDg3NCwxMjU1OTgsMTM3OTM1LDM2OTYxLDEwODAzNSwzMjM0OTMsMjc0MjYsMjc4NTcsMjc4NDYsMjc4NTQsNjk2OTIsNjE0MTEsMzkyOTksMzg2OTYsNjI1MjAsMzYzODIsMTA4NzAxLDE5MjY4MiwyNzk1MzEsNTA2NjMsMzYzODcsMTQ5MDgsMzc1MzMsMTA1NDQzLDYxNjM1LDYyMjc0LDE2MTY3MCwxMzM4MTgsMTgyMTE5LDY1NzAyLDY1NzAzLDY1NzAxLDMyMDQ2NCw3NjI1NiwyOTgxNTcsMjYzODQzLDMxNTIzNCwxOTYwNzUsMTk0NzY4LDI1MjIwMSwxOTQ3NjksMTkxODg1LAoyODE0ODAsMjMzNjM0LDI2NTgxMCwxOTQ3NzAsMjk2OTMzLDE5NTM1MCwzMjczODUsMzI0NTg2LDMwMTYwNywxOTUzNDksMTk0NzcxLDI5MzA0MSwzMDExMjEsMjkzMDQyLDI5MzA0MywzMDExMTYsMTY2MzgyLDM3NjcxLDQ5OTUzLDIyMDY2OSw2MDAwMDEsNjAwMDAyLDZFNSwzMzUxMzQsMjQ5MjI5LDIxMzc3NCwyMDQ1NzIsMTkxMzg5LDI3MjI1NCwyNzIyNTMsMjUzODMwLDI1MzgzMSwyNTM4MzIsMjcyMjUyLDI1MzgzMywyNTM4MzQsMjA0NTc0LDE5MTM5MCwxNzk1NTYsMjM4NTk2LDIxMjY2MSwxOTEzOTIsMTk3ODI2LDE5MTM5MywyMDQ1NzMsMzYyMTYsMjgyMzcsMjQxMjEyLDI3MjA0OSwxNzM3MTgsMzk1NTMsMTkyNTQ3LDI5MjIyLDMwNDg0NSwyNjEwNywyNDEyMTEsMzgwNTAsMjYxMDgsMjc1ODEwLDEyMDc0NSwyNjEwOSwyNjExMCw2Njg4MSwyODIzNiwxNDU4NiwyOTc2NzIsMTYwNTk4LDU3OTI5LDIyNjczNiw3NDcyMyw0NDA5OCwxNzM2ODksNDQwOTksMjM1MjgsNjE2OTksCjEzNDEwNCwxMzQxMDMsMTk4MzEzLDU5MTQ5LDE4MTAxMywyNzgzMDYsMjgyNDcyLDI3Nzg0OCwxNzMxOTEsMTczMTkyLDE3MzE5MywxMDE5NTEsMTcxNTAyLDE5NjA0MywxOTgzMDUsOTczNDYsMTE4MDUxLDk1MTAyLDY0ODgyLDExOTUwNSw2MzU5NSwyOTQxMTksMjU3MjY4LDYzMzQ5LDI4MTEyNywyNDA1NTMsOTUxMDEsNzUyNDAsMjcwMzksNjg4MjMsMjE1MzcsODM0NjQsNzU3MDcsMjUyOTA0LDE3MDIxNSwyMjMwMzMsODMxMTMsMTAxOTUyLDEwMTk1Myw3OTYxMCwxMjU3NTUsMjQ0MDIsMjQ0MDAsMzI5MjUsMTkzNDA2LDU3MTczLDE4MzM1MSwxNTY0MjEsMTIyNTAyLDE0NTI2OCwxMzg0ODAsNjQ0MjMsNjQ0MjQsMzM5ODYsMTAwODI4LDEyOTA4OSwyOTk1NDEsMjE0MDksMjgyMjE4LDI5OTUwNiwzMzM5NTYsMjk5NTQwLDI5OTUwNywyOTk1MDksMjk5NTM5LDI5OTUwOCwyOTk1MTAsMTg1NjEyLDIyMjgyNSwzMjMzMzEsMjQ1MzY2LDEzNTE1NSwxMzUxNTYsMTM1MTU3LDEzNTE1OCwKMTU4MjI1LDEzNTE1OSwxMzUxNjAsMTY3NjUxLDEzNTE2MSwxMzUxNjIsMTM1MTYzLDE1ODIyNiwxNTgyMjcsMTM1MTY0LDEzNTE2NSwxMzUxNjYsMTEwNzAsMTEwNzQsMTc4ODAsMjcwNTYwLDMwNzA5LDMwNzA3LDMwNzExLDMwNzEwLDMwNzA4LDE4NTIxMywxODUyNzMsMTQ2MTQzLDYzNjQ4LDYzNjQ5LDIyMTA1NiwyNjQ0OTAsMjExMTg5LDExMTA1OSwyMTExODgsNTc1NCwyNjQ0OTEsMjA0NDUsMjMzNDcxLDE1MTMwOCwzMTM3NTAsMTUxMTUyLDIyODA2NywxMzA5NzUsMTMwOTc2LDI0NzI0NCwyNzE2MjIsMjcxODEzLDI2MTIxMCwyMTA4MTUsMjk1MDY5LDI0NjEyNywzMTY4NTgsMjQ1MjU2LDI0NDk1MCwxOTE5MjUsMTY3NjM3LDIzNDU0NSwxOTcxOTYsMzAyNzM1LDIxNDI5NSwxMTAzODYsMjIxMDU0LDI3Mzk2MCwyODIxMTEsMzEyMjkwLDExMzc0NiwzMjU1OTMsMjY4ODg2LDY2NTU3LDE4MzIxNSwxNzMxMCwyODYzMSwyMDE5MzUsMjE1ODksMjQyMDM2LDIzODM1MSwxNjQ4MTcsCjE2ODAxMSwxNTQ5NDYsNjgwMTIsMTYyNjE3LDYwNDgwLDE4NDQzMSwxMzg2NjQsMjk0MDg5LDI0OTgyNywxOTRFMywxNDExMjEsMTY0NTAyLDMxNTcxLDE5NTAwMiwyMDY3OTMsMTQxOTc4LDIzMzk4NSwyNTA4OTUsMjU0MDUyLDI1NDA1MywyNTQwNTQsMjU0MDUxLDI1NDA1MCwyNTQwNTUsMTUwMTA1LDMwNDE2OSwxNTAxMDYsMTUwMTA3LDE1MDEwOCw3Njk4MCw0MTU3Nyw0NTQ2OSwzODY2OSwxMzc2OCwxMzc3NywxNDE4NDIsNjI5ODUsMjEzMTkwLDQ3MjQsMjIzMDUyLDU5MzY5LDQzOTI3LDQzOTI4LDEyOTI0LDE5Nzg1MywxMDAzNTUsNTYyMTksMjc2NjksMjA5OTI4LDEwMzM3LDIwMzY0OCwyMDM2NDksNDc4OTYsMzI2OTM3LDEyMjYyOSwxODYyMDQsMjIyODI0LDI3NTg2OSwzMTIyOTUsMjcxNjczLDI3NDYzNywzMTc0NjIsMTM5NzIzLDEzOTcyMiwxMjEyNTgsMjUzNzg5LDI1Mzc4NywyNTM3ODYsMjUzNzg4LDI1Mzc5MCwxMDc1OTgsMTI3OTkxLDk2NjM5LDEwNzUzNiwxMzAxNjksCjIxNjUyMiwyOTYzMTYsOTY2NjEsMTQ1MTg4LDMyMDQyOCwyMTM5MDQsMjY5MzQyLDk2NjU4LDExNjY0NiwxNTk0MjgsMTY4NjExLDE2ODYxMiwxMjExMjIsMjE5ODYyLDk2NjYwLDI4MjIwOCwxMjc3MzgsMTI3MDgzLDE1NTI4MSwxNjI5NTksMjIwODg2LDIyNzM1NiwyNDgwMDcsMTYzNTY2LDMwNzY0NiwxODY2NDEsMTQ3ODQyLDI3MzY0NiwyNzM2NDcsMjE3OTMyLDEwNDQ0Myw5NjY1OSwxNDc1OTUsMTA2NDQyLDI0NzE2MiwyMzE0OTMsMjEzNDI3LDI5NjgxMywyNDY1NzUsMTgyNDIzLDE2Mjc3NiwyMjg5MDgsMTM0ODQwLDYzNjY3LDYzNjY4LDYzNjY5LDEzMDY4NiwzMzcxNzIsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBOTz1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9Z2V0RW5hYmxlU3NFbmdpbmUoKXtyZXR1cm4gR08odGhpcywyKX1nZXRFbmFibGVBd3IoKXtyZXR1cm4gR08odGhpcywzKX1nZXRBbG9oYUF1dG9HYVJvbGxvdXQoKXtyZXR1cm4gR08odGhpcyw1KX1nZXRFbmFibGVDb25maWd1cmF0b3IoKXtyZXR1cm4gR08odGhpcyw2KX1nZXRFbmFibGVNd2ViKCl7cmV0dXJuIEdPKHRoaXMsNyl9Z2V0RW5hYmxlQ3RsQ29uc2VudENoZWNrYm94KCl7cmV0dXJuIEdPKHRoaXMsOCl9Z2V0RW5hYmxlSWZyYW1lKCl7cmV0dXJuIEdPKHRoaXMsOSl9Z2V0RW5hYmxlU2NyZWVuc2hvdE51ZGdlKCl7cmV0dXJuIEdPKHRoaXMsMTApfWdldEVuYWJsZVdlYlN0YXJ0dXBDb25maWdFbmRwb2ludCgpe3JldHVybiBHTyh0aGlzLDExKX1nZXRFbmFibGVKdW5rTnVkZ2UoKXtyZXR1cm4gR08odGhpcywxMil9Z2V0RW5hYmxlQ29uZmlndXJhdG9yTG9jYWxlKCl7cmV0dXJuIEdPKHRoaXMsCjEzKX1nZXRFbmFibGVUaW55Tm9Qb2ludGVyKCl7cmV0dXJuIEdPKHRoaXMsMTQpfWdldEVuYWJsZVN1cHBvcnRTZXNzaW9uTG9nZ2luZygpe3JldHVybiBHTyh0aGlzLDE1KX1nZXRFbmFibGVGaWxlVXBsb2FkRm9yU2NyZWVuc2hvdCgpe3JldHVybiBHTyh0aGlzLDE2KX1nZXRFbmFibGVEaXJlY3REZWZsZWN0aW9uRm9yU2luZ2xlQ2F0ZWdvcnkoKXtyZXR1cm4gR08odGhpcywxNyl9Z2V0RW5hYmxlSW1hZ2VTYW5pdGl6YXRpb24oKXtyZXR1cm4gR08odGhpcywxOCl9Z2V0RW5hYmxlQWxvaGFCaW5hcnlTcGxpdCgpe3JldHVybiBHTyh0aGlzLDE5KX1nZXRFbmFibGVEYkZlZWRiYWNrSW50ZW50cygpe3JldHVybiBHTyh0aGlzLDIwKX1nZXRFbmFibGVNYXJrTWFuZGF0b3J5RmllbGRzV2l0aFJlcXVpcmVkKCl7cmV0dXJuIEdPKHRoaXMsMjEpfWdldEVuYWJsZUZlZWRiYWNrQ2F0ZWdvcnlDdXN0b21VaSgpe3JldHVybiBHTyh0aGlzLDIyKX1nZXRFbmFibGVSZWFsdGltZUN0bCgpe3JldHVybiBHTyh0aGlzLAoyMyl9Z2V0RW5hYmxlQWxvaGFIZWFkbGVzcygpe3JldHVybiBHTyh0aGlzLDI0KX1nZXRVcGRhdGVGZWVkYmFja0NvbmZpcm1hdGlvbkNsYXJpdHkoKXtyZXR1cm4gR08odGhpcywyNSl9Z2V0RW5hYmxlVmlld0ZlZWRiYWNrUmVwb3J0c0xpbmsoKXtyZXR1cm4gR08odGhpcywyNil9fTt2YXIgVk89Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfXYoKXtyZXR1cm4gXy5OeCh0aGlzLE5PLDEpfX07dmFyICRoYT1bL2h0dHBzOlwvXC9zYW5kYm94XC5nb29nbGVcLmNvbVwvdG9vbHNcL2ZlZWRiYWNrLywvaHR0cHM6XC9cL2ZlZWRiYWNrLWZyb250ZW5kLXF1YWxbYS16MC05Ll0qXC5nb29nbGVcLmNvbVwvaW5hcHAvLC9odHRwczpcL1wvZmVlZGJhY2stZnJvbnRlbmQtcXVhbFthLXowLTkuXSpcLmdvb2dsZVwuY29tXC90b29sc1wvZmVlZGJhY2svLC9odHRwczpcL1wvLipcLmdvb2dsZXVzZXJjb250ZW50XC5jb21cL2luYXBwL107dmFyIE9PPSJhZiBhbSBhci1FRyBhci1KTyBhci1NQSBhci1TQSBhci1YQiBhciBheiBiZSBiZyBibiBicyBjYSBjcyBjeSBkYSBkZS1BVCBkZS1DSCBkZSBlbCBlbiBlbi1HQiBlbi1BVSBlbi1DQSBlbi1JRSBlbi1JTiBlbi1OWiBlbi1TRyBlbi1YQSBlbi1YQyBlbi1aQSBlcyBlcy00MTkgZXMtQVIgZXMtQk8gZXMtQ0wgZXMtQ08gZXMtQ1IgZXMtRE8gZXMtRUMgZXMtR1QgZXMtSE4gZXMtTVggZXMtTkkgZXMtUEEgZXMtUEUgZXMtUFIgZXMtUFkgZXMtU1YgZXMtVVMgZXMtVVkgZXMtVkUgZXQgZXUgZmEgZmkgZmlsIGZyLUNBIGZyLUNIIGZyIGdsIGdzdyBndSBoZSBoaSBociBodSBoeSBpZCBpbiBpcyBpdCBpdyBqYSBrYSBrayBrbSBrbiBrbyBreSBsbiBsbyBsdCBsdiBtayBtbCBtbiBtbyBtciBtcyBteSBuYiBuZSBubCBubyBwYSBwbCBwdCBwdC1CUiBwdC1QVCBybyBydSBzaSBzayBzbCBzcSBzci1MYXRuIHNyIHN2IHN3IHRhIHRlIHRoIHRsIHRyIHVrIHVyIHV6IHZpIHpoIHpoLUNOIHpoLUhLIHpoLVRXIHp1Ii5zcGxpdCgiICIpO3ZhciBVTz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIkZvcm0gaXMgZWl0aGVyIGxvYWRpbmcgb3IgYWxyZWFkeSBvcGVuZWQiKTt0aGlzLm5hbWU9IkR1cGxpY2F0ZUZvcm1FcnJvciJ9fSxRTyxTTyxSTyxUTztfLnJhKCJ1c2VyZmVlZGJhY2suQ29sb3JTY2hlbWVzIix7aUY6MSxHQzoyfSk7Xy5yYSgidXNlcmZlZWRiYWNrLmFwaS5zdGFydEZlZWRiYWNrIixfLllPKTtfLnFpYT1uZXcgXy5JKCJuYXRpdmVBcHBEZWVwbGlua0VuZHBvaW50Iik7Xy5yaWE9TWF0aC5yYW5kb20oKTt2YXIgc2lhPW5ldyBfLlZzKCJTVEFUSUNfQVBQX1BST1BTX1RPS0VOIik7Xy52UD1uZXcgXy5WcygiVE9BU1RfT1BUSU9OUyIpO3ZhciBvUD1fLnNqKCJtd2ViX2MzX3RvYXN0X2R1cmF0aW9uX21zIiw1RTMpLGJQLGNQPW51bGwsW3dQLGdQXT1fLkooIm91dCIsdm9pZCAwLCJXY1pjZWUiKSxbbGlhLGZQXT1fLkoodm9pZCAwLHZvaWQgMCwiWFZ5eHhmIiksaVA9W10sbVAsZFA9Xy5MKGE9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oXy52UCkpO3JldHVybiBfLksoImMzLXRvYXN0Iix7ZGlyOndQLHJvbGU6KCk9PndQKCk9PT0iaW4iPyJhbGVydCI6IiIsY2xhc3M6Xy5QKHsiaHVnLXRvYXN0IjohIWI/LlZ1LCJpbnZlcnNlLXRoZW1lIjohIWI/LkN4fSl9LGEuY2hpbGRyZW4pfSwic2IiKTtkUC5pZG9tQ29tcGF0PSEwO18udGlhPV8udXgoMzA3OTUzKTsoe01nOl8udWlhLGdrOl8ueFB9PV8uekcoYT0+YS5jaGFubmVsSWQpKTsoe01nOl8udmlhLGdrOl8ud2lhfT1fLnpHKGE9Pl8uQihhLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyPy5kZWZhdWx0U2VydmljZUVuZHBvaW50LF8uQnkpPy5wYXJhbXMpKTtfLnlQPW5ldyBfLlZzKCJMQVlFUl9UT0tFTiIpO18uelA9Xy5MKCh7VW86YSxzdGF5T3Blbk9uQ2xpY2s6Yixpc1BlcnNpc3RlbnQ6YyxjaGlsZHJlbjpkfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKHsiZGlhbG9nLWZsZXgtYnV0dG9uIjooKT0+YT8uKCkhPT0xfSksIm9uOmNsaWNrIjpmdW5jdGlvbigpe2I/LigpfHxjPy4oKXx8Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfSx0YWJpbmRleDooKT0+KGI/LigpfHxjPy4oKSx2b2lkIDApfSxkKSwidWIiKTtfLnpQLmlkb21Db21wYXQ9ITA7Xy5BUD1fLkwoKHtjaGlsZHJlbjphfSk9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oc2lhKSk/LlVJO3JldHVybiBfLksoImRpdiIseyJhcmlhLWxpdmUiOiJwb2xpdGUiLHRhYmluZGV4OmI/MDp2b2lkIDB9LGEpfSwidmIiKTtfLkFQLmlkb21Db21wYXQ9ITA7Xy54aWE9Xy5zaigibXdlYl9pb3NfZnVsbHNjcmVlbl9wbGF5YmFja190cmFuc2l0aW9uX2RlbGF5X21zIil8fDUwMDtfLnlpYT1fLnNqKCJtd2ViX2lvc19mdWxsc2NyZWVuX3N5c3RlbV9wYXVzZV9lcGlsc29uX21zIil8fDM1MDt2YXIgb2lhPV8uJE4uWHMscGlhPV8uJE4ua3Q7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYVE9ZnVuY3Rpb24oYSxiKXtyZXR1cm57b3BlblBvcHVwQWN0aW9uOntwb3B1cFR5cGU6IlRPQVNUIixwb3B1cDp7bm90aWZpY2F0aW9uQWN0aW9uUmVuZGVyZXI6e3Jlc3BvbnNlVGV4dDphfX0sLi4uKGIhPT12b2lkIDA/e2R1cmF0aW9uSGludE1zOmJ9Ont9KX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy53bmE9bmV3IF8uSSgiZW50aXR5VXBkYXRlQ29tbWFuZCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLk5XPW5ldyBfLkkoInNob3dTaGVldENvbW1hbmQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy54bmE9bmV3IF8uSSgibGlzdFZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLk9XPW5ldyBfLlZzKCJTQ1JFRU5fTUFOQUdFUl9UT0tFTiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeW5hO18uUFc9ZnVuY3Rpb24oYSl7cmV0dXJuIHluYVthXT8/IkVWRU5UX1NQQU5fVFlQRV9VTktOT1dOIn07CnluYT17Y2xpY2s6IkVWRU5UX1NQQU5fVFlQRV9DTElDSyIsZGJsY2xpY2s6IkVWRU5UX1NQQU5fVFlQRV9EQkxDTElDSyIsbW91c2Vkb3duOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VET1dOIixtb3VzZXVwOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VVUCIsbW91c2VvdmVyOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VPVkVSIixtb3VzZW91dDoiRVZFTlRfU1BBTl9UWVBFX01PVVNFT1VUIixtb3VzZWVudGVyOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VFTlRFUiIsbW91c2VsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX01PVVNFTEVBVkUiLG1vdXNlbW92ZToiRVZFTlRfU1BBTl9UWVBFX01PVVNFTU9WRSIsY29udGV4dG1lbnU6IkVWRU5UX1NQQU5fVFlQRV9DT05URVhUTUVOVSIsa2V5ZG93bjoiRVZFTlRfU1BBTl9UWVBFX0tFWURPV04iLGtleXVwOiJFVkVOVF9TUEFOX1RZUEVfS0VZVVAiLGtleXByZXNzOiJFVkVOVF9TUEFOX1RZUEVfS0VZUFJFU1MiLHRvdWNoc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSFNUQVJUIiwKdG91Y2hlbmQ6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSEVORCIsdG91Y2htb3ZlOiJFVkVOVF9TUEFOX1RZUEVfVE9VQ0hNT1ZFIix0b3VjaGNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIQ0FOQ0VMIixwb2ludGVyZG93bjoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJET1dOIixwb2ludGVydXA6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSVVAiLHBvaW50ZXJtb3ZlOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUk1PVkUiLHBvaW50ZXJvdmVyOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUk9WRVIiLHBvaW50ZXJvdXQ6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVST1VUIixwb2ludGVyZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSRU5URVIiLHBvaW50ZXJsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJMRUFWRSIscG9pbnRlcmNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJDQU5DRUwiLGdvdHBvaW50ZXJjYXB0dXJlOiJFVkVOVF9TUEFOX1RZUEVfR09UUE9JTlRFUkNBUFRVUkUiLApsb3N0cG9pbnRlcmNhcHR1cmU6IkVWRU5UX1NQQU5fVFlQRV9MT1NUUE9JTlRFUkNBUFRVUkUiLHN1Ym1pdDoiRVZFTlRfU1BBTl9UWVBFX1NVQk1JVCIsY2hhbmdlOiJFVkVOVF9TUEFOX1RZUEVfQ0hBTkdFIixpbnB1dDoiRVZFTlRfU1BBTl9UWVBFX0lOUFVUIixmb2N1czoiRVZFTlRfU1BBTl9UWVBFX0ZPQ1VTIixibHVyOiJFVkVOVF9TUEFOX1RZUEVfQkxVUiIscmVzZXQ6IkVWRU5UX1NQQU5fVFlQRV9SRVNFVCIsc2VsZWN0OiJFVkVOVF9TUEFOX1RZUEVfU0VMRUNUIixpbnZhbGlkOiJFVkVOVF9TUEFOX1RZUEVfSU5WQUxJRCIsbG9hZDoiRVZFTlRfU1BBTl9UWVBFX0xPQUQiLHVubG9hZDoiRVZFTlRfU1BBTl9UWVBFX1VOTE9BRCIsYmVmb3JldW5sb2FkOiJFVkVOVF9TUEFOX1RZUEVfQkVGT1JFVU5MT0FEIixkb21jb250ZW50bG9hZGVkOiJFVkVOVF9TUEFOX1RZUEVfRE9NQ09OVEVOVExPQURFRCIscmVzaXplOiJFVkVOVF9TUEFOX1RZUEVfUkVTSVpFIixzY3JvbGw6IkVWRU5UX1NQQU5fVFlQRV9TQ1JPTEwiLApwYWdlc2hvdzoiRVZFTlRfU1BBTl9UWVBFX1BBR0VTSE9XIixwYWdlaGlkZToiRVZFTlRfU1BBTl9UWVBFX1BBR0VISURFIixwbGF5OiJFVkVOVF9TUEFOX1RZUEVfUExBWSIscGF1c2U6IkVWRU5UX1NQQU5fVFlQRV9QQVVTRSIscGxheWluZzoiRVZFTlRfU1BBTl9UWVBFX1BMQVlJTkciLHdhaXRpbmc6IkVWRU5UX1NQQU5fVFlQRV9XQUlUSU5HIixzZWVraW5nOiJFVkVOVF9TUEFOX1RZUEVfU0VFS0lORyIsc2Vla2VkOiJFVkVOVF9TUEFOX1RZUEVfU0VFS0VEIixlbmRlZDoiRVZFTlRfU1BBTl9UWVBFX0VOREVEIix2b2x1bWVjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9WT0xVTUVDSEFOR0UiLHRpbWV1cGRhdGU6IkVWRU5UX1NQQU5fVFlQRV9USU1FVVBEQVRFIixyYXRlY2hhbmdlOiJFVkVOVF9TUEFOX1RZUEVfUkFURUNIQU5HRSIsZHJhZ3N0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfRFJBR1NUQVJUIixkcmFnOiJFVkVOVF9TUEFOX1RZUEVfRFJBRyIsZHJhZ2VuZDoiRVZFTlRfU1BBTl9UWVBFX0RSQUdFTkQiLApkcmFnZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9EUkFHRU5URVIiLGRyYWdsZWF2ZToiRVZFTlRfU1BBTl9UWVBFX0RSQUdMRUFWRSIsZHJhZ292ZXI6IkVWRU5UX1NQQU5fVFlQRV9EUkFHT1ZFUiIsZHJvcDoiRVZFTlRfU1BBTl9UWVBFX0RST1AiLGFuaW1hdGlvbnN0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9OU1RBUlQiLGFuaW1hdGlvbmVuZDoiRVZFTlRfU1BBTl9UWVBFX0FOSU1BVElPTkVORCIsYW5pbWF0aW9uaXRlcmF0aW9uOiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9OSVRFUkFUSU9OIix0cmFuc2l0aW9ucnVuOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTlJVTiIsdHJhbnNpdGlvbnN0YXJ0OiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTlNUQVJUIix0cmFuc2l0aW9uZW5kOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTkVORCIsdHJhbnNpdGlvbmNhbmNlbDoiRVZFTlRfU1BBTl9UWVBFX1RSQU5TSVRJT05DQU5DRUwifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5RVz1uZXcgXy5JKCJzaG93RW5nYWdlbWVudFBhbmVsRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCk1hdGgudXVpZC5qcyAodjEuNCkKaHR0cDovL3d3dy5icm9vZmEuY29tCm1haWx0bzpyb2JlcnRAYnJvb2ZhLmNvbQpDb3B5cmlnaHQgKGMpIDIwMTAgUm9iZXJ0IEtpZWZmZXIKRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGFuZCBHUEwgbGljZW5zZXMuCiovCnZhciB6bmEsUlcsQW5hLEJuYSxDbmEsRG5hLEVuYSxUVyxGbmEsVVcsR25hLEhuYSxWVyxJbmEsSm5hLFhXLFlXLFpXLCRXLExuYSxNbmEsYlgsaFgsTm5hLE9uYSxQbmEsalgsa1gsUm5hLG1YLFNuYSxvWCxwWCxVbmEsVm5hLG5YLFduYSxUbmEsbFgscVgsWW5hLGFvYSxib2EsY29hLGRvYSxlb2Esc1gsZm9hLGdvYSx0WCxob2EsdVgsdlgsaW9hLGtvYSx4WCxsb2EseVgsbm9hLG9vYSxwb2EscW9hLEJYLHJvYSxzb2EsQ1gsdG9hLHVvYSx2b2Esd29hLHhvYSx5b2Esem9hLEFvYSxCb2EsQ29hLEhYLElYLEZvYSxtb2EsS1gsSG9hLEpYLElvYSxKb2EsS29hLE1YLExvYSxOWCxNb2EsTm9hLE9vYSxQb2EsUW9hLFJvYSxTb2EsT1gsVG9hLFBYLFFYLFZvYSxVb2EsV29hLFhvYSxZb2EsWm9hLCRvYSxWWCxVWCxXWCwkWCxYWCxZWCxaWCxhWSxhcGEsYnBhLGNwYSxiWSxlWSxkWSxkcGEsZlksZXBhLGZwYSxncGEsaHBhLGdZLGpwYSxpcGEsbHBhLHBwYSxqWSxxcGEsa1ksbFksblksbVksCmlZLHJwYSxzcGEsdXBhLHBZLHdwYSxvWSxyWSxzWSx0WSx1WSx6cGEsQXBhLHdZLHhZLHlZLEFZLENwYSxCWSxEcGEsRFksRXBhLEZZLEhZLEZwYSxJWSxKWSxIcGEsS1ksTVksSXBhLEpwYSxMcGEsTXBhLE5wYSxQcGEsUnBhLFRwYSxVcGEsTlksV3BhLFZwYSxQWSxTWSxPWSxSWSxacGEsWXBhLGJxYSxkcWEsZXFhLGZxYSxncWEsV1ksaHFhLGlxYSxqcWEsa3FhLGxxYSxtcWEsY3FhLFZZLHRxYSxucWEselgsdXFhLFdXLERvYSxjWixLbmEseHFhLGRaLGVaLHlxYSx6cWEsQXFhLEJxYSxDcWEsRHFhLGFYLGZaLGdYLGNYLGRYLGVYLGZYLEVxYSxnWixoWixGcWEsaVosR3FhLEhxYSxpWCxqWixJcWEsUW5hLFhuYSxKcWEsWm5hLCRuYSxyWCxMcWEsam9hLFhZLGtaLE1xYSxxWSxBWDt6bmE9ZnVuY3Rpb24oYSxiKXtiPSgwLF8ueWcpKGIpO2I9Xy5FZihiLGIpO2Iudj0hMDtfLkpmKGEsYik7cmV0dXJuIGF9OwpSVz1mdW5jdGlvbihhLGIpe2E9YS53YXRjaEVuZHBvaW50U3VwcG9ydGVkQXV0aG9yaXphdGlvblRva2VuQ29uZmlnPy52aWRlb0F1dGhvcml6YXRpb25Ub2tlbj8uY3JlZGVudGlhbFRyYW5zZmVyVG9rZW5zfHxbXTtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYylpZihhW2NdLnNjb3BlPT09YilyZXR1cm4gYVtjXS50b2tlbnx8dm9pZCAwfTsKQW5hPWZ1bmN0aW9uKGEsYixjPXt9KXtfLlZpKCgpPT57dmFyIGQ9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucm9vdFZlfHxfLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8ubngpPy5zY3JlZW5WaXN1YWxFbGVtZW50Py51aVR5cGU7aWYoZCl7dmFyIGU9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLmVhYSk7aWYoZT8ucGFyZW50VHJhY2tpbmdQYXJhbXMpe3ZhciBmPV8uVXcoZS5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoZS5wYXJlbnRDc24pdmFyIGg9ZS5wYXJlbnRDc259ZWxzZSBjLmNsaWNrZWRWaXN1YWxFbGVtZW50P2Y9Yy5jbGlja2VkVmlzdWFsRWxlbWVudDpiLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihmPV8uVXcoYi5jbGlja1RyYWNraW5nUGFyYW1zKSk7YTp7ZT1fLkIoYixfLkF3KTt2YXIgaz1fLkIoYixfLmRhYSk7aWYoZSl7aWYoaz1SVyhlLCJWSURFTyIpKXtlPXt0b2tlbjprLHZpZGVvSWQ6ZS52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGsmJihlPVJXKGssCiJQTEFZTElTVCIpKSl7ZT17dG9rZW46ZSxwbGF5bGlzdElkOmsucGxheWxpc3RJZH07YnJlYWsgYX1lPXZvaWQgMH1jPXtjdHRBdXRoSW5mbzplLHBhcmVudENzbjpoLC4uLmN9O18ueCgiZXhwZWN0YXRpb25fbG9nZ2luZyIpJiYoYy5sb2dnaW5nRXhwZWN0YXRpb25zPV8uQihiPy5jb21tYW5kTWV0YWRhdGEsXy5ueCk/LmxvZ2dpbmdFeHBlY3RhdGlvbnN8fHZvaWQgMCk7Xy5ETyhhLGQsZixjKX1lbHNlIF8uSXAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gY3JlYXRlIGEgbmV3IHNjcmVlbiB3aXRob3V0IGEgcm9vdFZlVHlwZSIsYikpfSkoKX07Qm5hPWZ1bmN0aW9uKGEsYil7YT1gU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX0ZVTExTQ1JFRU5fUkVRVUVTVF9TTElfJHthfWA7Xy5FeS5yZWdpc3Rlci5oYXMoYSk/Yj1fLkV5LnJlZ2lzdGVyLmdldChhKTooYj1iKCksXy5FeS5yZWdpc3Rlci5zZXQoYSxiKSk7cmV0dXJuIGJ9O0NuYT1mdW5jdGlvbih7c2VydmljZUlkOmF9KXtyZXR1cm4gYS5vfTsKRG5hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5HeSxiPVtTV10sYz1iLm1hcChsPT5DbmEobCkpLGQ9Yi5tYXAobD0+YS5tYXBwaW5ncy5nZXQobC50b1N0cmluZygpKSkuZmlsdGVyKGw9PmwpO2lmKGQubGVuZ3RoPT09Yi5sZW5ndGgpcmV0dXJuIF8uS3koZC5tYXAoKGwsbSk9Pl8ubnkoYSxsLGJbbV0pKSk7dmFyIGU9Xy5WZCgpLmFmKGMpO2Q9Xy5JZihjLm1hcChsPT5lW2xdKSk7dmFyIGY9ZG9jdW1lbnQuaGlkZGVuLGg9LTEsaz1fLnNqKCJnZXRfYXN5bmNfdGltZW91dF9tcyIsLTEpO2s+LTEmJihoPXNldFRpbWVvdXQoKCk9PntfLklwKG5ldyBfLlhqKCJNb2R1bGUgdGltZW91dC4iLGMsZixkb2N1bWVudC5oaWRkZW4pKX0saykpO3JldHVybiB6bmEoZC50aGVuKCgpPT5iLm1hcChsPT5fLm55KGEsYS5tYXBwaW5ncy5nZXQobC50b1N0cmluZygpKSxsKSkpLktnKGw9Pntmb3IobGV0IG0gb2YgYS5qKW0obCk7dGhyb3cgbDt9KSwoKT0+e2NsZWFyVGltZW91dChoKX0pfTsKRW5hPWZ1bmN0aW9uKCl7cmV0dXJuIERuYSgpLnRoZW4oYT0+YVswXSl9O1RXPWZ1bmN0aW9uKGEsYil7YS5EZj1iO2ZvcihsZXQgYyBvZiBhLmRhdGEpYihjKTthLmRhdGE9W119O0ZuYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYSxiKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLGIsYyl9O1VXPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgZD0wO2Q8YXJndW1lbnRzLmxlbmd0aDtkKyspe2xldCBlPWFyZ3VtZW50c1tkXTtpZihBcnJheS5pc0FycmF5KGUpKWZvcihsZXQgZj0wO2Y8ZS5sZW5ndGg7Zis9ODE5Mil7dmFyIGM9Rm5hKGUsZixmKzgxOTIpO2M9VVcuYXBwbHkobnVsbCxjKTtmb3IobGV0IGg9MDtoPGMubGVuZ3RoO2grKyliLnB1c2goY1toXSl9ZWxzZSBiLnB1c2goZSl9cmV0dXJuIGJ9OwpHbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLkJmKGZ1bmN0aW9uKGIpe3ZhciBjPWEubGVuZ3RoLGQ9W107aWYoYyl7dmFyIGU9ZnVuY3Rpb24oaCxrLGwpe2MtLTtkW2hdPWs/e2Z1bGZpbGxlZDohMCx2YWx1ZTpsfTp7ZnVsZmlsbGVkOiExLHJlYXNvbjpsfTtjPT0wJiZiKGQpfTtmb3IobGV0IGg9MDtoPGEubGVuZ3RoO2grKyl7dmFyIGY9YVtoXTtfLkhmKGYsXy5EYShlLGgsITApLF8uRGEoZSxoLCExKSl9fWVsc2UgYihkKX0pfTtIbmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5NeigiTE9HR0VEX0lOIixmdW5jdGlvbihjKXthLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO18uTnooYil9KX07Vlc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oKT0+e3ZhciBjPV8ueSgpO2MucmVzb2x2ZShfLkluKGEpKXx8Xy5KeihjLHtqYTphLFBhOmEsW18uTG5dOmJ9KTtyZXR1cm4gYy5yZXNvbHZlKGEpfX07CkluYT1mdW5jdGlvbihhKXtpZihXVz09PXZvaWQgMCl0aHJvdyBFcnJvcigic2IiKTtpZihXVylmb3IobGV0IFtiLGNdb2YgV1cpYShiLGMpO18uTnYuYWRkKGEpO1dXPXZvaWQgMH07Sm5hPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJjYW5hcnkiOnJldHVybiJDTElFTlRfQ0FOQVJZX1NUQVRFX0NBTkFSWSI7Y2FzZSAiY29udHJvbCI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfQ09OVFJPTCI7Y2FzZSAibm9uZSI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfTk9ORSI7ZGVmYXVsdDpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9VTktOT1dOIn19O1hXPWZ1bmN0aW9uKGEsYj0iIil7dmFyIGM9W107Zm9yKGxldCBkIGluIGEpe2lmKCFhLmhhc093blByb3BlcnR5KGQpKWNvbnRpbnVlO2xldCBlPWIhPT0iIj9iKyIuIitkOmQ7dHlwZW9mIGFbZF09PT0ib2JqZWN0Ij9jLnB1c2goLi4uWFcoYVtkXSxlKSk6Yy5wdXNoKFtlLGFbZF1dKX1jLnNvcnQoKTtyZXR1cm4gY307CllXPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhLmV2ZW50cy52YWx1ZXMoKSliLnB1c2goYyk7cmV0dXJuIGJ9O1pXPWZ1bmN0aW9uKGEpe18uRnk9PW51bGwmJihfLkZ5PW5ldyBLbmEpO3ZhciBiPV8uRnk7dmFyIGM9Yi52O2EuZGltZW5zaW9ucz1hLmRpbWVuc2lvbnN8fHt9O2EuZGltZW5zaW9ucy5jc249Xy5pcSgpfHwiIjt2YXIgZD1YVyhhLmRpbWVuc2lvbnMpLmpvaW4oIjsiKTthLnJlY29yZHMhPW51bGwmJihjLmV2ZW50cy5oYXMoZCk/Yy5ldmVudHMuZ2V0KGQpLnJlY29yZHM/LnB1c2goLi4uYS5yZWNvcmRzKTpjLmV2ZW50cy5zZXQoZCxhKSk7Yi5qLmVuYWJsZWR8fGIuai5zdGFydCgpO2IubysrO2Iubz49MTAwJiZiLmZsdXNoKCl9OyRXPWZ1bmN0aW9uKGEpe2E9YS5rZXl8fGEuaWQ7aWYoIWEpdGhyb3cgRXJyb3IoImZjIik7cmV0dXJuIGF9OwpMbmE9ZnVuY3Rpb24oKXtpZihhWClyZXR1cm4gYVgoKTthWD1fLiRsKCJQZXJzaXN0ZW50RW50aXR5U3RvcmVEYiIse3NlOntFbnRpdHlTdG9yZTp7UGQ6MX0sRW50aXR5QXNzb2NpYXRpb25TdG9yZTp7UGQ6Mn19LHNoYXJlZDohMSx1cGdyYWRlKGEsYil7YigxKSYmXy5vbChfLmtsKGEsIkVudGl0eVN0b3JlIix7a2V5UGF0aDoia2V5In0pLCJlbnRpdHlUeXBlIiwiZW50aXR5VHlwZSIpO2IoMikmJihhPV8ua2woYSwiRW50aXR5QXNzb2NpYXRpb25TdG9yZSIse2tleVBhdGg6WyJwYXJlbnRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSJdfSksXy5vbChhLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLF8ub2woYSwiYnlDaGlsZEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5IikpfSx2ZXJzaW9uOjN9KTtyZXR1cm4gYVgoKX07TW5hPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKExuYSgpLGEpfTsKYlg9ZnVuY3Rpb24oYSl7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KGEpOkFycmF5KGEpfTsKaFg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5rZXksYz1hLmNvdW50ZXJbMF1eYlswXSxkPWEuY291bnRlclsxXV5iWzFdLGU9YS5jb3VudGVyWzJdXmJbMl0sZj1hLmNvdW50ZXJbM11eYlszXTtmb3IodmFyIGg9MztoPj0wJiYhKGEuY291bnRlcltoXT0tfmEuY291bnRlcltoXSk7aC0tKTtmb3IodmFyIGssbCxtPTQ7bTw0MDspaD1jWFtjPj4+MjRdXmRYW2Q+PjE2JjI1NV1eZVhbZT4+OCYyNTVdXmZYW2YmMjU1XV5iW20rK10saz1jWFtkPj4+MjRdXmRYW2U+PjE2JjI1NV1eZVhbZj4+OCYyNTVdXmZYW2MmMjU1XV5iW20rK10sbD1jWFtlPj4+MjRdXmRYW2Y+PjE2JjI1NV1eZVhbYz4+OCYyNTVdXmZYW2QmMjU1XV5iW20rK10sZj1jWFtmPj4+MjRdXmRYW2M+PjE2JjI1NV1eZVhbZD4+OCYyNTVdXmZYW2UmMjU1XV5iW20rK10sYz1oLGQ9ayxlPWw7YT1hLm87aD1iWzQwXTthWzBdPWdYW2M+Pj4yNF1eaD4+PjI0O2FbMV09Z1hbZD4+MTYmMjU1XV5oPj4xNiYyNTU7YVsyXT1nWFtlPj44JgoyNTVdXmg+PjgmMjU1O2FbM109Z1hbZiYyNTVdXmgmMjU1O2g9Yls0MV07YVs0XT1nWFtkPj4+MjRdXmg+Pj4yNDthWzVdPWdYW2U+PjE2JjI1NV1eaD4+MTYmMjU1O2FbNl09Z1hbZj4+OCYyNTVdXmg+PjgmMjU1O2FbN109Z1hbYyYyNTVdXmgmMjU1O2g9Yls0Ml07YVs4XT1nWFtlPj4+MjRdXmg+Pj4yNDthWzldPWdYW2Y+PjE2JjI1NV1eaD4+MTYmMjU1O2FbMTBdPWdYW2M+PjgmMjU1XV5oPj44JjI1NTthWzExXT1nWFtkJjI1NV1eaCYyNTU7aD1iWzQzXTthWzEyXT1nWFtmPj4+MjRdXmg+Pj4yNDthWzEzXT1nWFtjPj4xNiYyNTVdXmg+PjE2JjI1NTthWzE0XT1nWFtkPj44JjI1NV1eaD4+OCYyNTU7YVsxNV09Z1hbZSYyNTVdXmgmMjU1fTsKTm5hPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthLmp8fChhLmo9YXdhaXQgYS5vLmltcG9ydEtleSgicmF3IixhLnYse25hbWU6IkFFUy1DVFIifSwhMSxbImVuY3J5cHQiXSkpO2E9YXdhaXQgYS5vLmVuY3J5cHQoe25hbWU6IkFFUy1DVFIiLGNvdW50ZXI6YyxsZW5ndGg6MTI4fSxhLmosYik7cmV0dXJuIG5ldyBVaW50OEFycmF5KGEpfTtPbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIlVOS05PV05fRU5DT0RFX0VSUk9SIix7b3JpZ2luYWxNZXNzYWdlOmEubWVzc2FnZX0pOm5ldyBpWCgiVU5LTk9XTl9FTkNPREVfRVJST1IiKX07UG5hPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgRXJyb3I/bmV3IGlYKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTphLm1lc3NhZ2V9KTpuZXcgaVgoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpqWD1mdW5jdGlvbihhLGIpe2E9YSBpbnN0YW5jZW9mIGlYP2E6YihhKTtfLkdwKGEpO3Rocm93IGE7fTtrWD1mdW5jdGlvbihhKXthPShuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKS5zdWJhcnJheSgwLDE2KTt2YXIgYj1uZXcgVWludDhBcnJheSgxNik7Yi5zZXQoYSk7cmV0dXJuIGJ9O1JuYT1mdW5jdGlvbihhKXt2YXIgYj1RbmFbYV07aWYoYilyZXR1cm4gYjtfLklwKG5ldyBfLlhqKCJFbnRpdHkgbW9kZWwgbm90IGZvdW5kLiIse2VudGl0eVR5cGU6YX0pKX07bVg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbFgoYS5vLGIudmVyc2lvbikuZGVjb2RlKGIuZGF0YSxiLmtleSl9O1NuYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5nZXQoYikudGhlbihkPT57aWYoZCl7aWYoYyYmZC5lbnRpdHlUeXBlIT09Yyl0aHJvdyBFcnJvcigiaGMiKTtyZXR1cm4gbVgoYSxkKX19KX07Cm9YPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0kVyhiKTtyZXR1cm4gblgoYSxkKS50aGVuKCgpPT5UbmEoYSxiLGMpKX07cFg9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEudltjXTtkfHwoZD1uZXcgU2V0LGEudltjXT1kKTtkLmFkZChiKX07ClVuYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9JFcoYiksZT1sWChhLm8sMSksZj17Li4uYn07cmV0dXJuIGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5nZXQoZCkudGhlbihoPT57aWYoaCl7aWYoaC5lbnRpdHlUeXBlIT09Yyl0aHJvdyBFcnJvcigiaGMiKTtmLmVudGl0eU1ldGFkYXRhfHwoaD1tWChhLGgpLGYuZW50aXR5TWV0YWRhdGE9aC5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e3ZhciBoPXtrZXk6ZCxlbnRpdHlUeXBlOmMsZGF0YTplLmVuY29kZShmLGQpLHZlcnNpb246MX07cmV0dXJuIF8uVmsuYWxsKFtfLmxsKGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKSxoKSxvWChhLGYsYyldKX0pLnRoZW4oKCk9PntwWChhLGQsYyk7cmV0dXJuIGR9KX07ClZuYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uR0goYikuZW50aXR5VHlwZTtyZXR1cm4gXy5Way5hbGwoW2Euai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKS5kZWxldGUoYiksblgoYSxiKV0pLnRoZW4oKCk9PntwWChhLGIsYyl9KX07blg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIikuaW5kZXgoImJ5UGFyZW50RW50aXR5S2V5IikuZGVsZXRlKElEQktleVJhbmdlLm9ubHkoYikpfTsKV25hPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWxYKGEubywxKTtyZXR1cm4gU25hKGEsYixkKS50aGVuKGY9PntpZihmfHxfLngoIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiKSl7Zj1fLmhNKGZ8fHt9LGMpO3ZhciBoPXtrZXk6YixlbnRpdHlUeXBlOmQsZGF0YTplLmVuY29kZShmLGIpLHZlcnNpb246MX07cmV0dXJuIF8uVmsuYWxsKFtfLmxsKGEuai5vYmplY3RTdG9yZSgiRW50aXR5U3RvcmUiKSxoKSxvWChhLGYsZCldKX19KS50aGVuKCgpPT57cFgoYSxiLGQpO3JldHVybiBifSl9OwpUbmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRXKGIpO2M9Um5hKGMpO2lmKCFjKXJldHVybiBfLlZrLnJlc29sdmUoW10pO2I9bmV3IGMoYik7YT1hLmoub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtjPVtdO2ZvcihsZXQgZSBvZiBiLm8oKSljLnB1c2goXy5sbChhLHtwYXJlbnRFbnRpdHlLZXk6ZCxjaGlsZEVudGl0eUtleTplfSkpO3JldHVybiBfLlZrLmFsbChjKS50aGVuKGU9PmUubWFwKGY9PmZbMV0pKX07bFg9ZnVuY3Rpb24oYSxiPTApe2E9YS5qW2JdO2lmKCFhKXRocm93IGI9bmV3IGlYKCJJTlZBTElEX0VOQ09ERVJfVkVSU0lPTiIse0lwOmJ9KSxfLkdwKGIpLGI7cmV0dXJuIGF9O3FYPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIG9mIGEub2JzZXJ2ZXJzKWMoYil9OwpZbmE9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hd2FpdCBNbmEoYS50b2tlbiksZDtjPWF3YWl0IF8uaWwoYyxbIkVudGl0eVN0b3JlIiwiRW50aXR5QXNzb2NpYXRpb25TdG9yZSJdLCJyZWFkd3JpdGUiLGU9PntkPW5ldyBYbmEoZSxhLmopO3JldHVybiBiKGQpfSk7aWYoZCl7bGV0IGU9ZC52O09iamVjdC5rZXlzKGUpLmxlbmd0aD4wJiYoYS5jaGFubmVsLnBvc3RNZXNzYWdlKGUpLHFYKGEsZSkpfXJldHVybiBjfTthb2E9YXN5bmMgZnVuY3Rpb24oKXt0cnl7bGV0IGI9YXdhaXQgXy5QbCgpO2lmKGImJl8uV2ooKSYmdHlwZW9mIF8udS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBhPW5ldyBabmE7cmV0dXJuIG5ldyAkbmEoYixhKX19Y2F0Y2goYil7YiBpbnN0YW5jZW9mIEVycm9yJiZfLkdwKGIpfX07CmJvYT1mdW5jdGlvbihhKXthPWEub3B0aW9ucz8ucGVyc2lzdGVuY2VPcHRpb247cmV0dXJuIGE9PT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9QRVJTSVNUInx8YT09PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX0lOTUVNT1JZX0FORF9QRVJTSVNUIn07CmNvYT1hc3luYyBmdW5jdGlvbihhKXtyWHx8KHJYPWFvYSgpKTt2YXIgYj1hd2FpdCByWDtiJiZhd2FpdCBZbmEoYixjPT57dmFyIGQ9e307Zm9yKGxldCBlIG9mIGEpe2lmKCFlLmVudGl0eUtleXx8IWJvYShlKSljb250aW51ZTtsZXQgZj1fLmRNKGUucGF5bG9hZCksaD12b2lkIDA7ZS50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1JFUExBQ0UiJiYoaD0oKT0+VW5hKGMsZS5wYXlsb2FkW2ZdLGYpKTtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIiYmKGg9KCk9PlZuYShjLGUuZW50aXR5S2V5KSk7ZS50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1VQREFURSImJihoPSgpPT5XbmEoYyxlLmVudGl0eUtleSxlLnBheWxvYWRbZl0sZikpO2gmJihkW2UuZW50aXR5S2V5XT1kW2UuZW50aXR5S2V5XT9kW2UuZW50aXR5S2V5XS50aGVuKGgpOmgoKSl9cmV0dXJuIF8uVmsuYWxsKE9iamVjdC52YWx1ZXMoZCkpfSl9Owpkb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXshKGE9YS5tdXRhdGlvbnMpfHxhLmxlbmd0aDw9MHx8KGImJmIuZGlzcGF0Y2goXy5rQSh7dHlwZToiRU5USVRZX0xPQURFRCIscGF5bG9hZDphfSkpLGF3YWl0IGNvYShhKSxhLmxlbmd0aD0wKX07ZW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8udUMoKTtiLk9jPSEwO2Iuc2Vzc2lvbklkPWEuc2Vzc2lvbklkfHwiIjtiLmRoPWEuZGg7YS5XaCE9bnVsbCYmKGIuV2g9YS5XaCl9O3NYPWZ1bmN0aW9uKGEpe18udUMoKS5wcm9jZXNzb3JzLnB1c2goYSl9O2ZvYT1mdW5jdGlvbigpe18uVnAuc3Vic2NyaWJlKCJoYW5kbGVFcnJvciIsYT0+e3RyeXtmb3IobGV0IGIgaW4gXy5lSSl0cnl7bGV0IGM9Xy5lSVtiXTt0eXBlb2YgXy5lSVtiXT09PSJmdW5jdGlvbiImJihjPWMoKSk7YS5wYXJhbXNbYl09dHlwZW9mIF8uZUlbYl09PT0ib2JqZWN0Ij9KU09OLnN0cmluZ2lmeShjKTpTdHJpbmcoYyl9Y2F0Y2goYyl7Xy5JcChjKX19Y2F0Y2goYil7Xy5JcChiKX19KX07CmdvYT1mdW5jdGlvbigpe307dFg9ZnVuY3Rpb24oYSxiLGM9MCl7KGM9Xy5pcShjKSkmJmEmJl8ueUooYyxhLGIpfTtob2E9ZnVuY3Rpb24oYSl7cmV0dXJuIFVXKE9iamVjdC5rZXlzKGEpLm1hcChiPT5iPT09InBsYXlsaXN0RWRpdEVuZHBvaW50Ij9fLkIoYSxfLkF6KS5jbGllbnRBY3Rpb25zfHxbXTphW2JdLmFjdGlvbnN8fGFbYl0uY2xpZW50QWN0aW9uc3x8W10pKX07dVg9ZnVuY3Rpb24oYSl7YT1fLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpO3JldHVybiBhPy51cmw/YS51cmw6bnVsbH07dlg9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYSlfLkFKKGMsYiwhMCl9Owppb2E9ZnVuY3Rpb24oKXtfLkpNPXdYO1RXKF8uZ0UsKHtjb21tYW5kOmEsc291cmNlRGF0YTpiLGNvbW1hbmRDb250ZXh0OmN9KT0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSxfLllEKGIsYykpfHwoYT1uZXcgXy5YaigiQ29tbWFuZCBub3QgaGFuZGxlZCBieSBDb21tYW5kSGFuZGxlciIsT2JqZWN0LmtleXMoYSksYyksXy5HcChhKSl9KX07a29hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5QRShqb2EpO3JldHVybiBhIT09dm9pZCAwP2E6Xy5SRTw9Mjk5fTt4WD1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50O3JldHVybiBfLnZiKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sYj0+YG9uJHtiLnRvTG93ZXJDYXNlKCl9YGluIGEpfTsKbG9hPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQ7cmV0dXJuIF8udmIoWyJmdWxsc2NyZWVuZXJyb3IiLCJ3ZWJraXRmdWxsc2NyZWVuZXJyb3IiLCJtb3pmdWxsc2NyZWVuZXJyb3IiLCJNU0Z1bGxzY3JlZW5FcnJvciJdLGI9PmBvbiR7Yi50b0xvd2VyQ2FzZSgpfWBpbiBhKX07eVg9ZnVuY3Rpb24oYSxiLGMpe18ucmlhPF8uc2ooIndlYl9zbGlfbG9nX3dhcm5pbmdfc2FtcGxlX3NpemVfcmF0ZSIsLjAwMSkmJl8uSXAobmV3IF8uWGooYFtTTEldICIke2F9IiBlcnJvcmAse3NsaU5hbWU6YSxkaW1lbnNpb25zOmIsZGV0YWlsczpjfSkpfTsKbm9hPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe2N8fF8uSXAobmV3IF8uWGooIkZ1bGxzY3JlZW4gY2hhbmdlIHNsaSBjYWxsZWQgYmVmb3JlIHN0YXJ0LiIpKX12YXIgYj16WCxjPSExLGQ9e2p3Om1vYX0uancoImZ1bGxzY3JlZW5fcmVxdWVzdCIpLGU9bG9hKCl8fCJmdWxsc2NyZWVuZXJyb3IiO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsZj0+e2EoKTtkLnpnKCJGQUlMVVJFIik7eVgoImZ1bGxzY3JlZW4gcmVxdWVzdCIsYigpLHtldmVudDpmfSk7Yz0hMX0pO2U9eFgoKXx8ImZ1bGxzY3JlZW5jaGFuZ2UiO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKGUsKCk9PnthKCk7ZC56ZygiU1VDQ0VTUyIpO2M9ITF9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbnJlcXVlc3QiLCgpPT57Yz0hMDtkLkRyKGIoKSl9KX07Cm9vYT1mdW5jdGlvbihhKXt2YXIgYj1hLmZhbGxiYWNrRW5kcG9pbnQsYz1hLnRpbWVvdXRNcztpZighXy54KCJtd2ViX2MzX25pdHJhdGVfY2xpZW50X29wZW5fYXBwX2ZhbGxiYWNrX2tzIikmJmEudXJsKXt2YXIgZD1fLlpiKGEudXJsLCJmZWF0dXJlIil8fCIiO2Q9ZC5zdGFydHNXaXRoKCJlMTVtXyIpfHxkLnN0YXJ0c1dpdGgoImUxZF8iKXx8ZC5zdGFydHNXaXRoKCJlM2RfIik7Xy5mciYmZCYmIWImJihhPWEudXJsLGEuc3RhcnRzV2l0aCgidm5kLnlvdXR1YmU6Ly8iKT9hPWEucmVwbGFjZSgidm5kLnlvdXR1YmU6Ly8iLCJodHRwczovLyIpOmEuc3RhcnRzV2l0aCgieW91dHViZTovLyIpJiYoYT1hLnJlcGxhY2UoInlvdXR1YmU6Ly8iLCJodHRwczovLyIpKSxfLlhiKGEsMCwicmVkaXJlY3RfYXBwX3N0b3JlX2lvcyIsYS5zZWFyY2goXy5ZYikpPj0wfHwoYT1fLkZPKGEsInJlZGlyZWN0X2FwcF9zdG9yZV9pb3MiLCIxIikpLGI9Xy53TihhKSwhY3x8Yzw9MCkmJihjPV8uc2ooIm13ZWJfZGVlcF9saW5rX2ZhbGxiYWNrX3RpbWVvdXRfbXMiLAozRTMpKX1yZXR1cm57ZmFsbGJhY2tFbmRwb2ludDpiLHRpbWVvdXRNczpjfX07cG9hPWZ1bmN0aW9uKGEsYil7Xy54KCJtd2ViX2FwcF9idXR0b25fbG9nX2tzIil8fHRYKF8udGlhKTtiLmV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTthPV8uQihhLF8ucWlhKTthPy51cmwmJih3aW5kb3cubG9jYXRpb249YS51cmwpO3ZhciB7ZmFsbGJhY2tFbmRwb2ludDpjLHRpbWVvdXRNczpkfT1hP29vYShhKTp7ZmFsbGJhY2tFbmRwb2ludDp2b2lkIDAsdGltZW91dE1zOnZvaWQgMH07QVg9PT12b2lkIDAmJmQmJmQ+MCYmKEFYPXNldFRpbWVvdXQoKCk9PntBWD12b2lkIDA7YyYmXy5BSihjLGIuc291cmNlRGF0YSwhMCl9LGQpLF8uTk0od2luZG93LCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e0FYJiYod2luZG93LmNsZWFyVGltZW91dChBWCksQVg9dm9pZCAwKX0pKX07CnFvYT1mdW5jdGlvbihhKXt2YXIgYj14WCgpO2ImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKGIsKCk9Pnt2YXIgYz0hIV8uWk8oKTtjfHxfLk1PKCIueXR3UGxheWVyQm90dG9tQ29udHJvbHNGdWxsc2NyZWVuQnV0dG9uV3JhcHBlciAuZnVsbHNjcmVlbi1pY29uIC5idXR0b24iKTthLnNldEZhdXhGdWxsc2NyZWVuKGMpfSl9O0JYPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNnb29nbGUtZmVlZGJhY2siKTtiJiYoXy5CTihiLGEpLGEmJl8uTU8oKCk9PmIucXVlcnlTZWxlY3RvcigiaWZyYW1lIik/LmNvbnRlbnREb2N1bWVudD8ucXVlcnlTZWxlY3RvcigiLnV2RmVlZGJhY2tGb3JtZm9ybS1pbml0aWFsLWZvY3VzLWVsZW1lbnQsIC51dkZlZWRiYWNrUnNhZGlhbG9nZGlhbG9nIC5zY1NoYXJlZE1hdGVyaWFsYnV0dG9ucm9vdCIpLDUse3JsOiEwfSkpfTsKcm9hPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRC5yZXNwb25zZT8ucmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09ImUiKVswXSxiPW5ldyBTZXQoXy53KCJGRVhQX0VYUEVSSU1FTlRTIixbXSkpOyhhPy52YWx1ZT8uc3BsaXQoIiwiKXx8W10pLmZvckVhY2goYz0+e2IuYWRkKE51bWJlcihjKSl9KTtyZXR1cm4gQXJyYXkuZnJvbShiKS5qb2luKCIsIil9Owpzb2E9ZnVuY3Rpb24oKXtyZXR1cm4gXy5XRCgoKT0+e3ZhciBhPV8uWEQucmVzcG9uc2U/LnJlc3BvbnNlPy5yZXNwb25zZUNvbnRleHQ/LnNlcnZpY2VUcmFja2luZ1BhcmFtcz8uZmlsdGVyKGM9PmMuc2VydmljZT09PSJHRkVFREJBQ0siKVswXS5wYXJhbXM/LmZpbHRlcihjPT5jLmtleT09PSJwcmVtaXVtX21lbWJlcnNoaXAiKVswXSxiPV8uWEQucmVzcG9uc2U/LnBsYXllclJlc3BvbnNlPy5yZXNwb25zZUNvbnRleHQ/LnNlcnZpY2VUcmFja2luZ1BhcmFtcz8uZmlsdGVyKGM9PmMuc2VydmljZT09PSJHRkVFREJBQ0siKVswXS5wYXJhbXM/LmZpbHRlcihjPT5jLmtleT09PSJwcmVtaXVtX21lbWJlcnNoaXAiKVswXTtyZXR1cm4gYT9hLnZhbHVlOmI/Yi52YWx1ZTpudWxsfSl9OwpDWD1mdW5jdGlvbihhKXsobmV3IF8uZnkoYS5vbGRVUkwpKS52PT09IiNmZWVkYmFjayImJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNmZWVkYmFjayImJihCWCghMSksKGE9d2luZG93LkdPT0dMRV9GRUVEQkFDS19ERVNUUk9ZX0ZVTkNUSU9OKSYmYSgpKX07dG9hPWZ1bmN0aW9uKCl7Xy5GSi50aGVuKCgpPT57d2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2ZlZWRiYWNrIiYmKF8uWU0/Xy4kTSgiIik6Xy5aTSgpKTtyZXR1cm4gXy5GSn0pfTt1b2E9ZnVuY3Rpb24oKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsQ1gpO3RvYSgpO0JYKCExKTtfLkVwKCJ1c2VyRmVlZGJhY2tFdmVudCIse30pfTt2b2E9ZnVuY3Rpb24oKXtyZXR1cm57cHJvZHVjdElkOiI3NzUyMiIsbG9jYWxlOl8udygiSFRNTF9MQU5HIiwiZW4iKSxhbGxvd05vbkxvZ2dlZEluRmVlZGJhY2s6ITAsYnVja2V0OiJDMyIsY2FsbGJhY2s6dW9hLG9uTG9hZENhbGxiYWNrOigpPT57QlgoITApfX19Owp3b2E9ZnVuY3Rpb24oYSl7dmFyIGI9dm9hKCksYz17Y2xpZW50QXBwVmVyc2lvbjpfLncoIkNMSUVOVF9BUFBfVkVSU0lPTiIsIiIpLGV4cGVyaW1lbnRzOnJvYSgpLGxvZ2dlZF9pbjpfLnRQKCksRGV2aWNlOl8uYmMoKSxwcmVtaXVtX21lbWJlcnNoaXA6c29hKCl9O18uVk0oKXx8Xy5XTSgpO2EmJmEuZm9yRWFjaChkPT57KGQ9ZC51c2VyRmVlZGJhY2tFbmRwb2ludFByb2R1Y3RTcGVjaWZpY1ZhbHVlRGF0YSkmJmQua2V5JiYoY1tkLmtleV09ZC52YWx1ZSl9KTtfLlVOKCkudGhlbigoKT0+e18uJE0oImZlZWRiYWNrIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLENYKTtfLllPKGIsYyl9KX07eG9hPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBEWDtiLmFib3J0KGEpO3JldHVybiBiLnNpZ25hbH07CnlvYT1mdW5jdGlvbigpe2lmKHRoaXMuYWJvcnRlZCl0aHJvdyB0aGlzLnJlYXNvbj8/bmV3IERPTUV4Y2VwdGlvbigic2lnbmFsIGlzIGFib3J0ZWQgd2l0aG91dCByZWFzb24iLCJBYm9ydEVycm9yIik7fTt6b2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO2ZvcihsZXQgYyBvZiBhKWlmKGMuYWJvcnRlZCl7Yi5hYm9ydChjLnJlYXNvbik7YnJlYWt9ZWxzZSBFWC5zZXQoYi5zaWduYWwsYiksRlguYWRkKGMsYi5zaWduYWwpO3JldHVybiBiLnNpZ25hbH07QW9hPWZ1bmN0aW9uKCl7Zm9yKGxldCBhIG9mIEZYLmdldCh0aGlzKSlFWC5nZXQoYSkuYWJvcnQodGhpcy5yZWFzb24pfTtCb2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO3NldFRpbWVvdXQoKCk9PntiLmFib3J0KG5ldyBET01FeGNlcHRpb24oInNpZ25hbCB0aW1lZCBvdXQiLCJUaW1lb3V0RXJyb3IiKSl9LGEpO3JldHVybiBiLnNpZ25hbH07CkNvYT1mdW5jdGlvbigpe3ZhciBhPVtdLGI7dmFyIGM9Y3x8R1gubGVuZ3RoO2ZvcihiPTA7Yjw4O2IrKylhW2JdPUdYWzB8TWF0aC5yYW5kb20oKSpjXTtyZXR1cm4gYS5qb2luKCIiKX07SFg9ZnVuY3Rpb24oYSl7Zm9yKGxldCBbLGJdb2YgT2JqZWN0LmVudHJpZXMoRG9hKSl7bGV0IGM9YjtpZihjPT09IlNMSV9TVEFUVVNfIithKXJldHVybiBjfXJldHVybiJTTElfU1RBVFVTX1VOS05PV04ifTtJWD1mdW5jdGlvbihhLGIsYyl7Yj1IWChiKTtaVyh7ZGltZW5zaW9uczpjLHJlY29yZHM6W3tuYW1lOmEsc3RhdGU6IlNMSV9TVEFURV9FTkQiLHN0YXR1czpifV19KX07Rm9hPWZ1bmN0aW9uKGEpe3JldHVybiBCbmEoYSwoKT0+bmV3IEVvYShhKSl9O21vYT1mdW5jdGlvbihhKXtyZXR1cm4gRm9hKGEpfTtLWD1mdW5jdGlvbihhLGIpe0pYKGEsYCR7Yn0gd2FzIGNhbGxlZCBidXQgbm90IHNldGApfTtIb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIEdvYS5pbmRleE9mKGEpPi0xfTsKSlg9ZnVuY3Rpb24oYSxiLGMpe2M9YyE9PXZvaWQgMD9PYmplY3Qua2V5cyhhKS5maWx0ZXIoYyk6T2JqZWN0LmtleXMoYSk7YT1uZXcgXy5YaihgW0NvbW1hbmQgSGFuZGxlcl0gJHtifWAse2ZpbHRlcmVkQ29tbWFuZE5hbWVzOmMsb3JpZ2luYWxDb21tYW5kOmF9KTtfLkdwKGEpfTtJb2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLk5KKTtpZihjJiYoYz1iW2Muc2lnbmFsXSkpcmV0dXJuIGMoKTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYSkpaWYoYltkXSYmKGE9YltkXSkpcmV0dXJuIGEoKX07Sm9hPWZ1bmN0aW9uKGEsYixjPSExLGQ9ITEsZT1bXSl7TFguaW5zdGFuY2U9bmV3IExYKGEsYixjLGQsZSl9OwpLb2E9ZnVuY3Rpb24oYSl7aWYoIWEuRCYmXy53QygiY29tbWFuZCIpKXtsZXQgYj1hLnJlc29sdmVDb21tYW5kO2EucmVzb2x2ZUNvbW1hbmQ9ZnVuY3Rpb24oYyxkKXthOntmb3IoZSBpbiBjKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjLGUpKXt2YXIgZT17Y29tbWFuZFR5cGU6ZX07YnJlYWsgYX1lPXt9fXJldHVybiBfLnlDKCJjb21tYW5kIixlLGIuYmluZCh0aGlzLGMsZCkpfTthLkQ9ITB9fTsKTVg9ZnVuY3Rpb24oYSxiLGMpeyFjPy5tZCYmYS5qJiYoYi5jbGlja1RyYWNraW5nUGFyYW1zPyhjPWM/LmZvcm0/LmVsZW1lbnQsYS5qLmNsaWNrQ29tbWFuZChiLG51bGwsYyYmYy5nZXRTY3JlZW5MYXllciYmYy5nZXRTY3JlZW5MYXllcigpKSk6Yi5jbGlja1RyYWNraW5nUGFyYW1zP2Euai5jbGlja0NvbW1hbmQoYik6IV8ueCgiZGlzYWJsZV9jbGlja2VkX3Zpc3VhbF9lbGVtZW50X2luX2NvbW1hbmRfaGFuZGxlciIpJiZjPy5jbGlja2VkVmlzdWFsRWxlbWVudCYmXy53SihhLmosYy5jbGlja2VkVmlzdWFsRWxlbWVudCkpfTsKTG9hPWZ1bmN0aW9uKGEsYixjKXtpZighYS5CKXJldHVybntoYW5kbGVkOiExfTt2YXIgZD1Jb2EoYixhLkIpO3JldHVybiBkPygoYS5LLnNvbWUoZT0+ISFfLkIoYixlKSl8fGM/LlBwfHwhYS5JKSYmTVgoYSxiLGMpLHtoYW5kbGVkOiEwLFprOihhc3luYygpPT57YXdhaXQgKGQgaW5zdGFuY2VvZiBQcm9taXNlP2F3YWl0IGQ6ZCkucmVzb2x2ZShiLGMpfSkoKX0pOntoYW5kbGVkOiExfX07Ck5YPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1Nb2EoYik7aWYoIWM/LlRLKXtsZXQgZj1Mb2EoYSxiLGMpO2lmKGYuaGFuZGxlZClyZXR1cm4gZn1pZihkKXJldHVybiBOb2EoYSxiLGMpO2lmKCFhLnYpcmV0dXJuIEpYKGIsIlVuaGFuZGxlZCBjb21tYW5kIGJ5IGJ1aWxkQ29tbWFuZFBheWxvYWQiKSx7aGFuZGxlZDohMX07dmFyIGU9YS52KGIsYyk7Yz8uRWkmJihlLkVpPWMuRWkpO2lmKGUudHlwZT09PTApe2lmKCFhLm5hdmlnYXRlKXJldHVybiBLWChiLCJuYXZpZ2F0ZSIpLHtoYW5kbGVkOiExfTtpZighXy5CKGUuY29tbWFuZD8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwpcmV0dXJuIEpYKGIsIlBhZ2UgcmVxdWVzdHMgbmVlZCB0byBzcGVjaWZ5IGEgdXJsIikse2hhbmRsZWQ6ITF9O2lmKE9vYShhLGUuY29tbWFuZCkpcmV0dXJue2hhbmRsZWQ6ITF9O18ueCgibG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpJiZfLmlvKCkudHJhbnNpdGlvbigiYXBwbGljYXRpb25fbmF2aWdhdGluZyIpOwpiPWEubmF2aWdhdGUoZSl8fFtdO2Q9UHJvbWlzZS5yZXNvbHZlKEduYShiKS50aGVuKCgpPT57YS5vLmRlbGV0ZShlLmNvbW1hbmQpfSkpO2EuaiYmIWEuWSYmQW5hKGEuaixlLmNvbW1hbmQse2NsaWNrZWRWaXN1YWxFbGVtZW50OmM/LmNsaWNrZWRWaXN1YWxFbGVtZW50LGZsOmIsbGF5ZXI6ZS5sYXllcixhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTo0fSk7cmV0dXJue2hhbmRsZWQ6ITAsWms6ZH19aWYoZS50eXBlPT09MSlyZXR1cm4gS1goYiwiaGFuZGxlU2VydmljZVJlcXVlc3QiKSx7aGFuZGxlZDohMX07ZS50eXBlPT09MiYmS1goYiwic2VuZEFjdGlvbiIpO3JldHVybntoYW5kbGVkOiExfX07TW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLF8uenopPy5zaWduYWw9PT0iQ0xJRU5UX1NJR05BTCI7cmV0dXJuISFfLkIoYSxfLlNEKXx8Yn07Ck5vYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT1fLkIoYixfLlNEKTtlP2Q9ZT8uY29tbWFuZHN8fFtdOl8uQihiLF8uenopPy5zaWduYWw9PT0iQ0xJRU5UX1NJR05BTCImJihkPV8uQihiLF8uenopPy5hY3Rpb25zfHxbXSk7aWYoZCl7KGU9UG9hKGEsZCkpJiZNWChhLGIsYyk7Yj1bXTtmb3IobGV0IGYgb2YgZCl0cnl7ZD17Li4uY307ZSYmKGQubWQ9ITApO2xldCBoPU5YKGEsZixkKTtoLmhhbmRsZWQmJmIucHVzaChoLlprKX1jYXRjaChoKXtoIGluc3RhbmNlb2YgRXJyb3ImJl8uR3AoaCl9cmV0dXJue2hhbmRsZWQ6ITAsWms6UHJvbWlzZS5hbGxTZXR0bGVkKGIpLnRoZW4oKCk9Pnt9KX19SlgoYiwiQ291bGQgbm90IGhhbmRsZSB0aGUgbWV0YSBjb21tYW5kIik7cmV0dXJue2hhbmRsZWQ6ITF9fTtPb2E9ZnVuY3Rpb24oYSxiKXtpZihhLm8uaGFzKGIpKXJldHVybiEwO2Euby5hZGQoYik7cmV0dXJuITF9OwpQb2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5ldmVyeShjPT5hLk0uc29tZShkPT4hIV8uQihjLGQpKSl9O1FvYT1mdW5jdGlvbihhLGIpe2E9YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2lmKGEubGVuZ3RoKXJldHVybiBhPy5maW5kKGM9PmM/LmdldExhbmd1YWdlSW5mbygpPy5nZXRJZCgpPT09Yil9O1JvYT1mdW5jdGlvbihhLGIsYyl7YT1fLiRPKGEpO2lmKGEubGVuZ3RoKXJldHVybiBjP2EuZmluZChkPT5kLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/ZC50cmFuc2xhdGlvbkxhbmd1YWdlLmxhbmd1YWdlQ29kZT09PWI6ITEpOmE/LmZpbmQoZD0+ZC5sYW5ndWFnZUNvZGU9PT1iKX07ClNvYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7aWYoYj8ubGVuZ3RoKXt2YXIgYz1hLmdldEF1ZGlvVHJhY2soKTthPXtsaXN0SXRlbXM6Wy4uLmIubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0TmFtZSgpfSxpc1NlbGVjdGVkOmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PWM/LmdldExhbmd1YWdlSW5mbygpLmdldElkKCksc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7YXVkaW9UcmFja1NlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZTpkLmdldExhbmd1YWdlSW5mbygpLmdldElkKCl9fV19fX19fX19KSldLAp2aXNpYmxlRWxlbWVudENvdW50OjV9O3JldHVybntzaG93U2hlZXRDb21tYW5kOntwYW5lbExvYWRpbmdTdHJhdGVneTp7aW5saW5lQ29udGVudDp7c2hlZXRWaWV3TW9kZWw6e2hlYWRlcjp7cGFuZWxIZWFkZXJWaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoIkFVRElPX1RSQUNLIix2b2lkIDAsIkF1ZGlvIFRyYWNrIil9fX0sY29udGVudDp7bGlzdFZpZXdNb2RlbDphfX19fX19fX07T1g9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrbGlzdCIse2luY2x1ZGVBc3I6ITB9KX07VG9hPWZ1bmN0aW9uKGEpe3ZhciBiPU9YKGEpO2lmKGI/Lmxlbmd0aClyZXR1cm4gYjthLmxvYWRNb2R1bGUoImNhcHRpb25zIik7cmV0dXJuIE9YKGEpfTsKUFg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKTtpZihiKXJldHVybiBiO2EubG9hZE1vZHVsZSgiY2FwdGlvbnMiKTtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKX07UVg9ZnVuY3Rpb24oYSxiKXtyZXR1cm57cGFuZWxIZWFkZXJWaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoYSx2b2lkIDAsYil9fX19OwpWb2E9ZnVuY3Rpb24oYSl7dmFyIGI9VG9hKGEpO2lmKGI/Lmxlbmd0aCl7dmFyIGM9UFgoYSk7YT17bGlzdEl0ZW1zOlt7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50Ol8uYUEoIlBMQVlFUl9DQVBUSU9OX09GRiIsdm9pZCAwLCJPZmYiKX0saXNTZWxlY3RlZDohYz8ubGFuZ3VhZ2VDb2RlLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbe2NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZToiIn19LHtoaWRlU2hlZXRDb21tYW5kOnt9fV19fX19fX19LC4uLmIubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQuZGlzcGxheU5hbWV9LGlzU2VsZWN0ZWQ6ZC5kaXNwbGF5TmFtZT09PQpjPy5kaXNwbGF5TmFtZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3tjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kOntsYW5ndWFnZUNvZGU6ZC5sYW5ndWFnZUNvZGV9fSx7aGlkZVNoZWV0Q29tbWFuZDp7fX1dfX19fX19fSkpLHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiQVVUT19UUkFOU0xBVEUiLHZvaWQgMCwiQXV0by10cmFuc2xhdGUiKX0saXNTZWxlY3RlZDohIWMudHJhbnNsYXRpb25MYW5ndWFnZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIiwuLi4oISFjLnRyYW5zbGF0aW9uTGFuZ3VhZ2UmJntzZWxlY3Rpb25UZXh0Ontjb250ZW50OmM/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8CiIifX0pLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbVW9hKGEpXX19fX19fX1dLHZpc2libGVFbGVtZW50Q291bnQ6NX07cmV0dXJue3Nob3dTaGVldENvbW1hbmQ6e3BhbmVsTG9hZGluZ1N0cmF0ZWd5OntpbmxpbmVDb250ZW50OntzaGVldFZpZXdNb2RlbDp7aGVhZGVyOlFYKCJQTEFZRVJfQ0FQVElPTiIsIkNhcHRpb25zIiksY29udGVudDp7bGlzdFZpZXdNb2RlbDphfX19fX19fX07ClVvYT1mdW5jdGlvbihhKXt2YXIgYj1fLmFQKGEpO2lmKCFiPy5sZW5ndGgpdGhyb3cgRXJyb3IoImJlIik7dmFyIGM9UFgoYSk7YT17bGlzdEl0ZW1zOlsuLi5iLmZpbHRlcihkPT4hZC5sYW5ndWFnZUNvZGU/LnN0YXJ0c1dpdGgoImVuIikpLm1hcChkPT4oe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpkLmxhbmd1YWdlTmFtZXx8IiJ9LGlzU2VsZWN0ZWQ6ZC5sYW5ndWFnZU5hbWU9PT1jPy50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWUsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7Y2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOmQubGFuZ3VhZ2VDb2RlLGlzQXV0b1RyYW5zbGF0ZWQ6ITB9fSwKe2hpZGVTaGVldENvbW1hbmQ6e319XX19fX19fX0pKV0sdmlzaWJsZUVsZW1lbnRDb3VudDo1fTtyZXR1cm57c2hvd1NoZWV0Q29tbWFuZDp7cGFuZWxMb2FkaW5nU3RyYXRlZ3k6e2lubGluZUNvbnRlbnQ6e3NoZWV0Vmlld01vZGVsOntoZWFkZXI6UVgoIkFVVE9fVFJBTlNMQVRFIiwiQXV0by10cmFuc2xhdGUiKSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19O1dvYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZ3KCk7aWYoYil7dmFyIGM9e3dlYkNsaWVudENvbXBvbmVudHNEYXRhOntjb21wb25lbnRzOkFycmF5LmZyb20oYS5pZHMsZD0+KHtpZDpkfSkpfX07YS5pZHMuY2xlYXIoKTtfLmh4KCkudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChiLGMpfX07ClhvYT1mdW5jdGlvbihhKXt2YXIgYj16WDthLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLGM9PntpZihhKXt2YXIgZD1hLmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkO2QhPT1SWCYmYz09PTEmJihSWD1kLFNYLm8oYigpKSxUWC5vKGIoKSkpfX0pO2EuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYz0+e1NYLmooYigpKTt5WCgicGxheWVyIGVycm9yIixiKCkse2Vycm9yQ29kZTpjfSl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGxheWJhY2stdW5wbGF5YWJsZSIsYz0+e1RYLmooYigpKTt5WCgicGxheWVyIHVucGxheWFibGUiLGIoKSx7cmVhc29uOmMuZGV0YWlsPy5yZWFzb259KX0pfTtZb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmouZ2V0KGIpO2lmKGMpcmV0dXJuIGMucHJvbWlzZTtjPW5ldyBfLmNzO2Euai5zZXQoYixjKTtyZXR1cm4gYy5wcm9taXNlfTsKWm9hPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9YS5PbS5nZXQoYik7cmV0dXJuIGM/YzpZb2EoYSxiKX07JG9hPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYS5wYW5lbExvYWRpbmdTdHJhdGVneT8ucmVxdWVzdFRlbXBsYXRlKXRyeXtsZXQgYz1hd2FpdCBhLm8uUWkoYik7aWYoYylyZXR1cm4gYy5jb250ZW50O18uR3AoRXJyb3IoImNlIikpfWNhdGNoKGMpe18uR3AoYyl9fTtWWD1mdW5jdGlvbihhLGIpe3JldHVybiBVWChhKT8ub3coYik/P2J9O1VYPWZ1bmN0aW9uKGEpe3JldHVybiBfLlpPKCkmJmEuTT9hLk06YS5jb250YWluZXJ9O1dYPWZ1bmN0aW9uKGEpe2EuWSYmKGNsZWFyVGltZW91dChhLlkpLGEuWT12b2lkIDApO2EuQiYmKGNsZWFyVGltZW91dChhLkIpLGEuQj12b2lkIDApfTsKJFg9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD1jKXt2YXIgZT17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7bGV0IGY9Xy5adCxoPWF3YWl0IGEuZG0oKTtfLlZ6KGUsXy52TShmKSk7aWYoaClpZihhLm8pe2lmKGEuY3VycmVudFRhcmdldD09PWMpcmV0dXJuO1hYKGEpO1lYKGEpO2F3YWl0IFVYKGEpPy5KZSgpfWVsc2UgaWYoIV8ueCgiZGVsYXlfc2hlZXRfb3Blbl9raWxsc3dpdGNoIikpe2lmKF8ueCgid2ViX2Nsb3NlX3NoZWV0X2lmX3NhbWVfdGFyZ2V0X2tpbGxzd2l0Y2giKSYmYyYmYS5jdXJyZW50VGFyZ2V0PT09Yyl7VVgoYSk/LkplKCk7cmV0dXJufWEudj17ZGF0YTpiLHRhcmdldDpWWChhLGMpfTtyZXR1cm59Yi52aWV3TW9kZWwmJihiPXt2aWV3TW9kZWw6Yi52aWV3TW9kZWwsVXI6Yi5VcixleHBhbmRUb0Z1bGxXaWR0aDpiLmV4cGFuZFRvRnVsbFdpZHRoLG9wZW5Ub1NpZGU6Yi5vcGVuVG9TaWRlfSk7VVgoYSk/LndnKGIsYyxkKTthLmN1cnJlbnRUYXJnZXQ9CmM7YS5vPyhhLkkoKSxhLmN1cnJlbnRUYXJnZXQ/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuSSksYS5jdXJyZW50VGFyZ2V0Py5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLlopLFpYKGEpKTphLkQmJlpYKGEpfWNhdGNoKGYpe2UuZXJyb3I9ZixlLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihlKX19O1hYPWZ1bmN0aW9uKGEpe2EuY3VycmVudFRhcmdldD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5JKTthLmN1cnJlbnRUYXJnZXQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGEuWil9O1lYPWZ1bmN0aW9uKGEpe3ZhciBiPVVYKGEpPy5YcCgpO2I/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuVSk7Yj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5LKX07ClpYPWZ1bmN0aW9uKGEpe3ZhciBiPVVYKGEpPy5YcCgpO2I/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGEuVSk7Yj8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5LKX07YVk9YXN5bmMgZnVuY3Rpb24oYSl7aWYoYS5vKXtpZihhLmopcmV0dXJuO1hYKGEpO1lYKGEpfWVsc2UgYS5EJiYoWVgoYSksYS5LKCkpO2F3YWl0IFVYKGEpPy5KZSgpO2EuY3VycmVudFRhcmdldD12b2lkIDA7YS5qPSExO2Eubz0hMTthLmhpZGVEZWxheU1zPTA7YS5zaG93RGVsYXlNcz0wO2EuRD0hMTthLnYmJiFfLngoImRlbGF5X3NoZWV0X29wZW5fa2lsbHN3aXRjaCIpJiYoYXdhaXQgYS53ZyhhLnYuZGF0YSxhLnYudGFyZ2V0KSxhLnY9dm9pZCAwKX07CmFwYT1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7cmV0dXJue2NsZWFyOmZ1bmN0aW9uKCl7Yz1iLmxlbmd0aD0wfSxwdXNoOmZ1bmN0aW9uKGQpe2JbY109ZDtjPShjKzEpJWF9LFp4OmZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWIubGVuZ3RoO2ZvcihsZXQgZT0wO2U8ZDtlKyspeWllbGQgYlsoYytlKSVkXX0oKX19fTticGE9ZnVuY3Rpb24oYSl7YS55bHx8KGEueWw9W10pO3ZhciBiPWEueWwubWFwKF8uUFcpLGM9bmV3IFNldChiKSxkPWFwYShhLmJ1ZmZlclNpemUpO3JldHVybntmbHVzaDpmdW5jdGlvbigpe3ZhciBlPUFycmF5LmZyb20oZC5aeCgpKTtkLmNsZWFyKCk7ZT1lLm1hcChmPT4oe25hbWU6Zi5uYW1lLHRpbWVzdGFtcDpmLnN0YXJ0VGltZSxhdHRyaWJ1dGVzOmYuYXR0cmlidXRlc30pKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9LEdtKGUpe2UubmFtZT09PSJldmVudCImJmMuaGFzKGUuYXR0cmlidXRlcy50eXBlKXx8ZC5wdXNoKGUpfX19OwpjcGE9ZnVuY3Rpb24oYSl7dmFyIHtmbHVzaDpiLEdtOmN9PWJwYShhKTtzWCh7R206Y30pO18uVnAuc3Vic2NyaWJlKCJoYW5kbGVFcnJvciIsZD0+e3RyeXtkLnBhcmFtcy5icmVhZGNydW1icz1iKCl9Y2F0Y2goZSl7Xy5HcChlLCJXQVJOSU5HIil9fSl9O2JZPWZ1bmN0aW9uKCl7Xy5Teigid2ViX3RyYWNpbmdfYWN0aW9uIik7Xy5Ueigid2ViX3RyYWNpbmdfYWN0aW9uIix7fSx2b2lkIDAsIkxBVEVOQ1lfQUNUSU9OX1dFQl9UUkFDSU5HIil9O2VZPWZ1bmN0aW9uKCl7aWYoY1kpcmV0dXJuIndlYl90cmFjaW5nX2FjdGlvbiI7ZFkoKTtzZXRJbnRlcnZhbChkWSw2RTUpO2NZPSEwO3JldHVybiJ3ZWJfdHJhY2luZ19hY3Rpb24ifTtkWT1mdW5jdGlvbigpe18uU3ooIndlYl90cmFjaW5nX2FjdGlvbiIpO18uVHooIndlYl90cmFjaW5nX2FjdGlvbiIse30sdm9pZCAwLCJMQVRFTkNZX0FDVElPTl9XRUJfVFJBQ0lORyIpfTsKZHBhPWZ1bmN0aW9uKGEsYj1lWSgpLGMpe3JldHVybigwLF8uY3QpKGEubmFtZSwoYS5lbmRUaW1lPz9hLnN0YXJ0VGltZSktYS5zdGFydFRpbWUsYS5zdGFydFRpbWUse3dlYlRyYWNpbmc6e1thLm5hbWVdOmEuYXR0cmlidXRlc319LGMsYix7c3BhblN0YXR1czphLnN0YXR1cyxyb290U3Bhbk5vbmNlOnZvaWQgMCxxdTp2b2lkIDB9KX07Zlk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kcGEoYSxiLGMpO2lmKGEuY2hpbGRyZW4pZm9yKGxldCBlIG9mIGEuY2hpbGRyZW4pZlkoZSxiLGMsZHx8Yyl9OwplcGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z29hLmJpbmQobnVsbCwieXQudGVsZW1ldHJ5X2V4dGVuc2lvbiIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixjPT57Yy5kYXRhJiZ0eXBlb2YgYy5kYXRhPT09Im9iamVjdCImJihjPWMuZGF0YSxjLmZyb209PT0iZXh0ZW5zaW9uIiYmYy5hcHA9PT0ieXQudGVsZW1ldHJ5IiYmKGIoIlJlY2VpdmVkIG1lc3NhZ2UgZnJvbSBleHRlbnNpb24iLGMpLGEub25NZXNzYWdlKGMpKSl9KTtyZXR1cm4gZnVuY3Rpb24oYyxkKXtjPXthcHA6Inl0LnRlbGVtZXRyeSIsZnJvbToiYXBwIixrZXk6YyxwYXlsb2FkOmR9O2IoIlNlbmRpbmcgbWVzc2FnZSB0byBleHRlbnNpb24iLGMpO3dpbmRvdy5wb3N0TWVzc2FnZShjLCIqIil9fTsKZnBhPWZ1bmN0aW9uKCl7dmFyIGE9ZXBhKHtvbk1lc3NhZ2UoKXt9fSksYj1bXTtyZXR1cm57bHIoYyl7Yy5wYXJlbnRJZD09bnVsbCYmYi5wdXNoKGMpPT09MSYmc2V0VGltZW91dCgoKT0+e3ZhciBkPVsuLi5iXTtiLmxlbmd0aD0wO2EoInNwYW5zUmVwb3J0ZWQiLHtzcGFuczpkfSl9LDNFMyl9fX07Z3BhPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93LmZldGNoO3dpbmRvdy5mZXRjaD0oLi4uYik9Pnt2YXIgW2MsZD17fV09YixlPV8ueUMoImh0dHBFdmVudCIse21ldGhvZDpkLm1ldGhvZHx8IkdFVCIscGF0aDpnWShjKSx0eXBlOiJmZXRjaCJ9LHthY3RpdmU6ITF9KTtyZXR1cm4gYSguLi5iKS50aGVuKGY9PntlLkRlKHtzdGF0dXNDb2RlOmYuc3RhdHVzLHN0YXR1c1RleHQ6Zi5zdGF0dXNUZXh0fSk7ZS5lbmQoKTtyZXR1cm4gZn0pLmNhdGNoKGY9PntlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKTt0aHJvdyBmO30pfX07CmhwYT1mdW5jdGlvbigpe3ZhciBhPVhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZS5vcGVuLGI9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLnNlbmQ7WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24oYyxkLGU9ITAsZixoKXt0aGlzLnY9e21ldGhvZDpjLHVybDpkLnRvU3RyaW5nKCl9O3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt2YXIgaz10aGlzLmo7az8uRGUoe3N0YXR1c0NvZGU6dGhpcy5zdGF0dXMscmVzcG9uc2VDb250ZW50TGVuZ3RoOnRoaXMucmVzcG9uc2VUZXh0Lmxlbmd0aH0pO2s/LmVuZCgpfSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2YXIgaz10aGlzLmo7az8uRGUoe3N0YXR1c0NvZGU6dGhpcy5zdGF0dXMsc3RhdHVzVGV4dDp0aGlzLnN0YXR1c1RleHR9KTtrPy5lbmQoIlNQQU5fU1RBVFVTX0VSUk9SIil9KTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cywKYWJvcnRlZDohMH0pO2s/LmVuZCgpfSk7YS5hcHBseSh0aGlzLFtjLGQsZSxmLGhdKX07WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oYyl7dmFyIHttZXRob2Q6ZCx1cmw6ZX09dGhpcy52fHx7bWV0aG9kOiJOL0EiLHVybDoiTi9BIn07dGhpcy5qPV8ueUMoImh0dHBFdmVudCIse21ldGhvZDpkLHBhdGg6Z1koZSksdHlwZToieGhyIn0se2FjdGl2ZTohMX0pO2IuYXBwbHkodGhpcyxbY10pfX07Z1k9ZnVuY3Rpb24oYSl7dHJ5e2lmKGEgaW5zdGFuY2VvZiBVUkwpcmV0dXJuIGEucGF0aG5hbWU7YSBpbnN0YW5jZW9mIFJlcXVlc3QmJihhPWEudXJsKTtyZXR1cm4obmV3IFVSTChhLCJodHRwczovL3lvdXR1YmUuY29tIikpLnBhdGhuYW1lfWNhdGNoKGIpe3JldHVybiI8dW5hYmxlIHRvIHBhcnNlIHBhdGg+In19OwpqcGE9ZnVuY3Rpb24oKXt3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt0cnl7bGV0IGE9d2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoIm5hdmlnYXRpb24iKTtpZihhLmxlbmd0aD4wKXtsZXQgYj1hWzBdLGM9d2luZG93LnBlcmZvcm1hbmNlLnRpbWVPcmlnaW47Xy55QygicGFnZUxvYWQiLHtuYXZpZ2F0aW9uVHlwZTppcGEoYi50eXBlKSx1bmxvYWRFdmVudFN0YXJ0Ok1hdGgucm91bmQoYi51bmxvYWRFdmVudFN0YXJ0KSx1bmxvYWRFdmVudEVuZDpNYXRoLnJvdW5kKGIudW5sb2FkRXZlbnRFbmQpLGRvbUludGVyYWN0aXZlOk1hdGgucm91bmQoYi5kb21JbnRlcmFjdGl2ZSksZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLmRvbUNvbnRlbnRMb2FkZWRFdmVudFN0YXJ0KSxkb21Db250ZW50TG9hZGVkRXZlbnRFbmQ6TWF0aC5yb3VuZChiLmRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZCksCmRvbUNvbXBsZXRlOk1hdGgucm91bmQoYi5kb21Db21wbGV0ZSksbG9hZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLmxvYWRFdmVudFN0YXJ0KSxsb2FkRXZlbnRFbmQ6TWF0aC5yb3VuZChiLmxvYWRFdmVudEVuZCkscmVkaXJlY3RDb3VudDpiLnJlZGlyZWN0Q291bnR9LHthY3RpdmU6ITEsc3RhcnRUaW1lOmMrYi5zdGFydFRpbWUsZW5kVGltZTpjK2IubG9hZEV2ZW50RW5kfSl9fWNhdGNoKGEpe319KX07CmlwYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAibmF2aWdhdGUiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX05BVklHQVRFIjtjYXNlICJyZWxvYWQiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX1JFTE9BRCI7Y2FzZSAiYmFja19mb3J3YXJkIjpyZXR1cm4iUEVSRk9STUFOQ0VfTkFWSUdBVElPTl9USU1JTkdfVFlQRV9CQUNLX0ZPUldBUkQiO2Nhc2UgInByZXJlbmRlciI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfUFJFUkVOREVSIjtkZWZhdWx0OnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX1VOS05PV04ifX07CmxwYT1mdW5jdGlvbigpe0luYSgoYSxiKT0+e3ZhciBjPW5ldyBNYXAsZCxlPWVZKCk7Zm9yKGxldCBoIG9mIGEuc3BhbnMpe2lmKGgubWFya2VyKWNvbnRpbnVlO3ZhciBmPWIuZ2V0KGguaWQpPy5nZXQoXy5Pdik7bGV0IGs9Zj9rcGFbZi50eXBlXTp2b2lkIDA7aWYoIWZ8fGguZHVyYXRpb25Ncz09PXZvaWQgMHx8az09PXZvaWQgMCl7aC5wYXJlbnRJZCE9PXZvaWQgMCYmKGY9Yy5nZXQoaC5wYXJlbnRJZCksZiE9PXZvaWQgMCYmYy5zZXQoaC5pZCxmKSk7Y29udGludWV9bGV0IGw9YS5uSytoLnlLLG09aC5wYXJlbnRJZCE9PXZvaWQgMD9jLmdldChoLnBhcmVudElkKTp2b2lkIDAsbixwO3N3aXRjaChmLnR5cGUpe2Nhc2UgIlJlbmRlciI6Y2FzZSAiRWZmZWN0IjpjYXNlICJPbkluaXQiOmNhc2UgIlJlbmRlckVmZmVjdCI6cD1mLmxvY2F0aW9uO2JyZWFrO2Nhc2UgIkNyZWF0ZVJlYWN0aXZlQ29tcG9uZW50IjpuPWYuY29tcG9uZW50TmFtZTticmVhaztjYXNlICJDb21wdXRlZCI6bj0KZi5oSTtwPWYubG9jYXRpb247YnJlYWs7Y2FzZSAiU2lnbmFsVXBkYXRlIjpuPWYuU0t9aWYoZj0oMCxfLmN0KSgiY293X3NwYW4iLGguZHVyYXRpb25NcyxsLHt3ZWJUcmFjaW5nOntjb3dTcGFuOnt0eXBlOmssbmFtZTpuLGNvZGVMb2NhdGlvbjpwfX19LG0sZSx7cm9vdFNwYW5Ob25jZTpkfSkpYy5zZXQoaC5pZCxmKSxkPT09dm9pZCAwJiYoZD1mKX19KX07CnBwYT1mdW5jdGlvbigpe3ZhciBhPWhZLnZhbHVlLGI9e307Zm9yKGxldCBjIG9mIGEuSHYpYltjXT0hMDtlb2Eoe3Nlc3Npb25JZDpfLkZuKCksZGg6YixXaChjLGQsZSl7cmV0dXJuIG1wYT9jPT09InNob3J0VG9TaG9ydCJ8fGU/Lld6KCk/Lm5hbWU9PT0ic2hvcnRUb1Nob3J0IjohMH19KTtmb2EoKTtfLndDKCJwYWdlTG9hZCIpJiZqcGEoKTtfLndDKCJjb3dTcGFuIikmJmxwYSgpO18ud0MoImh0dHBFdmVudCIpJiYoZ3BhKCksaHBhKCkpO2EuUXYmJnNYKG5wYSk7YS5SdiYmc1goZnBhKCkpO2EuTXE+MCYmY3BhKHt5bDpvcGEsYnVmZmVyU2l6ZTphLk1xfSl9OwpqWT1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDB8fGEuZ2V0QXR0cmlidXRlKCJ2aWV3Qm94Iil8fGEuc2V0QXR0cmlidXRlKCJ2aWV3Qm94IixgMCAwICR7Yn0gJHtifWApO2Euc2V0QXR0cmlidXRlKCJmb2N1c2FibGUiLCJmYWxzZSIpO2Euc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTtiPV8ueCgia2lsbHN3aXRjaF9yZW1vdmVfaWNvbl9maWxsX2NvbG9yIik7YS5nZXRBdHRyaWJ1dGUoImZpbGwiKSE9PSJjdXJyZW50Y29sb3IiJiZhLmdldEF0dHJpYnV0ZSgiZmlsbCIpIT09ImN1cnJlbnRDb2xvciJ8fGJ8fGEucmVtb3ZlQXR0cmlidXRlKCJmaWxsIik7dHJ5e2Euc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsYS5zdHlsZS5kaXNwbGF5PSJpbmhlcml0IixhLnN0eWxlLndpZHRoPSIxMDAlIixhLnN0eWxlLmhlaWdodD0iMTAwJSJ9Y2F0Y2goYyl7aVkoe2Vycm9yOmM/LnRvU3RyaW5nP2MudG9TdHJpbmcoKToiIn0pO3RyeXthLnN0eWxlLmNzc1RleHQ9InBvaW50ZXItZXZlbnRzOiBub25lOyBkaXNwbGF5OiBpbmhlcml0OyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyJ9Y2F0Y2goZCl7aVkoe2Vycm9yOmQ/LnRvU3RyaW5nPwpkLnRvU3RyaW5nKCk6IiJ9KX19cmV0dXJuIGF9OwpxcGE9ZnVuY3Rpb24oYSl7aWYoXy54KCJ3aWxfaWNvbnNfY2FjaGVfcHVyZ2Vfa2lsbHN3aXRjaCIpKXJldHVybiExO3RyeXt2YXIgYj1fLnUubG9jYWxTdG9yYWdlfWNhdGNoKGUpe3JldHVybiExfWlmKCFifHwhYS5CKXJldHVybiExO3ZhciBjPWU9Pnt0cnl7Yj8uc2V0SXRlbSgieXQtaWNvbnMtbGFzdC1wdXJnZWQiLGUudG9TdHJpbmcoKSl9Y2F0Y2goZil7aVkoe2Vycm9yOmY/LnRvU3RyaW5nP2YudG9TdHJpbmcoKToiIn0pfX0sZD1OdW1iZXIoYi5nZXRJdGVtKCJ5dC1pY29ucy1sYXN0LXB1cmdlZCIpKTtpZighZClyZXR1cm4gZD1uZXcgRGF0ZSxkPWQuc2V0RGF0ZShkLmdldERhdGUoKS1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOTArMSkpLGMoZCksITE7aWYoZnVuY3Rpb24oZSxmKXtlPW5ldyBEYXRlKGUpO2Y9bmV3IERhdGUoZik7cmV0dXJuIGYuZ2V0TW9udGgoKS1lLmdldE1vbnRoKCkrMTIqKGYuZ2V0RnVsbFllYXIoKS1lLmdldEZ1bGxZZWFyKCkpfShkLERhdGUubm93KCkpPAozKXJldHVybiExO3RyeXtyZXR1cm4gXy51LmNhY2hlcy5kZWxldGUoInl0LWljb25zIikudGhlbihlPT57ZSYmYyhEYXRlLm5vdygpKTtyZXR1cm4gZX0pLmNhdGNoKCgpPT4hMSkuZmluYWxseSgoKT0+e2EuSz0hMX0pfWNhdGNoKGUpe3JldHVybiBpWSh7ZXJyb3I6ZT8udG9TdHJpbmc/ZS50b1N0cmluZygpOiIifSksITF9fTsKa1k9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnVybDtpZighcnBhKGMpKXRocm93IEVycm9yKCJkZSIpO3JldHVybiBzcGEoYSxjKS50aGVuKGQ9PmQuY2xvbmUoKS50ZXh0KCkpLnRoZW4oZD0+e3ZhciBlPV8uZ2IoZCk7ZD1iLnNpemU7dmFyIGY9Xy5DZCgiRElWIik7Xy56QShmLGUpO2lmKGYuZmlyc3RFbGVtZW50Q2hpbGQhPT12b2lkIDApZT1mLmZpcnN0RWxlbWVudENoaWxkO2Vsc2UgZm9yKGU9Zi5maXJzdENoaWxkO2UmJmUubm9kZVR5cGUhPTE7KWU9ZS5uZXh0U2libGluZztlPV8uRGQoZSk7ZD1qWShlLGQpO2EuRFtjXT1kLmNsb25lTm9kZSghMCk7ZGVsZXRlIGEuWVtjXTtyZXR1cm4gZH0pLmNhdGNoKCgpPT57fSl9OwpsWT1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4oZSxmKT0+e3ZhciBoPV8uQ2QoIkRJViIpLGs9e2ljb25XaWR0aDpgJHtiLnNpemV9cHhgLGljb25IZWlnaHQ6YCR7Yi5zaXplfXB4YCxqeDoiYmxvY2siLC4uLmYsaWNvbkNvbG9yOmY/Lmljb25Db2xvcj8/ImN1cnJlbnRjb2xvciJ9O2Y9ay5pY29uQ29sb3I7dmFyIGw9ay5hZztrPWB3aWR0aDogJHtrLmljb25XaWR0aH07IGhlaWdodDogJHtrLmljb25IZWlnaHR9OyBkaXNwbGF5OiAke2suanh9O2A7bCYmKGsrPWAgZmlsdGVyOiAke2x9O2ApO2M9PT0wJiYoays9YCBmaWxsOiAke2Z9O2ApO2M9PT0xJiYobD1iLnVybCxrKz1gIC13ZWJraXQtbWFzazogdXJsKCR7bH0pIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjsgbWFzazogdXJsKCR7bH0pIG5vLXJlcGVhdCBjZW50ZXIgLyBjb3ZlcjsgYmFja2dyb3VuZC1jb2xvcjogJHtmfWApO2IudnUmJmEuS2s9PT0icnRsIiYmKGsrPSIgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7Iik7Cmguc2V0QXR0cmlidXRlKCJzdHlsZSIsayk7Yz09PTAmJmQmJmguYXBwZW5kQ2hpbGQoZCk7ZS5hcHBlbmRDaGlsZChoKX19OwpuWT1mdW5jdGlvbihhLGIpe2lmKGIpe2EuY291bnRlcis9MTthPWBfeXQke2EuY291bnRlcn1gO2I9W2IsLi4uYi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpXTtmb3IobGV0IGMgb2YgYilpZihjLnRhZ05hbWU9PT0ic3R5bGUiJiZjLnRleHRDb250ZW50KWMudGV4dENvbnRlbnQ9bVkoYy50ZXh0Q29udGVudCxhLCEwKTtlbHNlIGZvcihsZXQgZCBvZiBjLmF0dHJpYnV0ZXMpe2QubmFtZT09PSJpZCImJihkLnZhbHVlKz1hKTtbIm1hc2siLCJmaWxsIiwiY2xpcC1wYXRoIl0uaW5jbHVkZXMoZC5uYW1lKSYmKGQudmFsdWU9bVkoZC52YWx1ZSxhKSk7aWYoZC5uYW1lPT09InN0eWxlIil7Yj1jLnN0eWxlO3RyeXtiLmNzc1RleHQ9bVkoYi5jc3NUZXh0LGEsITApfWNhdGNoKGUpe2lZKHtlcnJvcjplPy50b1N0cmluZz8uKCl8fCIiLGVsOmMub3V0ZXJIVE1MLHN0eWxlOiEhYixjc3NUZXh0OmI/LmNzc1RleHR9KX19ZC5uYW1lPT09InhsaW5rOmhyZWYiJiYoZC52YWx1ZT1kLnZhbHVlLnJlcGxhY2UoLyMoLiopLywKYCMkMSR7YX1gKSl9fX07bVk9ZnVuY3Rpb24oYSxiLGM9ITEpe3ZhciBkPS91cmxcKFsiJ10/IyguKj8pWyInXT9cKS87YyYmKGQ9L3VybFwoWyInXT8jKC4qPylbIiddP1wpL2cpO3JldHVybiBhLnJlcGxhY2UoZCxgdXJsKCMkMSR7Yn0pYCl9O2lZPWZ1bmN0aW9uKGEpe18uSXAobmV3IF8uWGooIkVycm9yIGluIEljb25NYW5hZ2VyIixhKSl9O3JwYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgdHBhKWlmKGEuc3RhcnRzV2l0aChiKSYmYS5lbmRzV2l0aCgiLnN2ZyIpKXJldHVybiEwO3JldHVybiExfTsKc3BhPWFzeW5jIGZ1bmN0aW9uKGEsYil7YS5RYSYmYXdhaXQgdXBhKGEpO3ZhciBjPWEuWVtiXTtpZighYyl7bGV0IGQ9YXN5bmMoKT0+e3ZhciBlPWEuQj9hLlp8fGF3YWl0IGEuVTp2b2lkIDA7cmV0dXJuIGEub2E/YS5nYShiLGUpLmNhdGNoKGEuaGEuYmluZChhLGIsZSkpOmEuaGEoYixlKS5jYXRjaChhLmdhLmJpbmQoYSxiLGUpKX07Yz1hLk1hP25ldyBQcm9taXNlKChlLGYpPT57Xy5ZaigoKT0+e2QoKS50aGVuKGUpLmNhdGNoKGYpfSwxMCl9KTpkKCk7YS5ZW2JdPWN9cmV0dXJuIGMuY2F0Y2goZD0+e2RlbGV0ZSBhLllbYl07aVkoe2Vycm9yOmQ/LnRvU3RyaW5nP2QudG9TdHJpbmcoKToiIix1cmw6Yn0pO3Rocm93IGQ7fSl9O3VwYT1mdW5jdGlvbihhKXt2YXIgYj1hLnY/LnByb21pc2U7Ynx8KGEudj1uZXcgXy5jcyxiPWEudi5wcm9taXNlLF8udS5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PnthLnY/LnJlc29sdmUoKTthLnY9bnVsbH0pKTtyZXR1cm4gYn07CnBZPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYS5JPHZwYSlyZXR1cm4gYS5JKz0xLG9ZKGEsYikuZmluYWxseSgoKT0+ey0tYS5JO2lmKE9iamVjdC5rZXlzKGEubykubGVuZ3RoKXtsZXQgZD1PYmplY3Qua2V5cyhhLm8pWzBdLGU9YS5vW2RdO2RlbGV0ZSBhLm9bZF07ZS5yZXNvbHZlKHBZKGEsZCkpfX0pO3ZhciBjPW5ldyBfLmNzO2Eub1tiXT1jO3JldHVybiBjLnByb21pc2V9O3dwYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXtkJiZuZXcgUHJvbWlzZShlPT57Xy5Zaihhc3luYygpPT57YS5vYSYmYXdhaXQgZC5tYXRjaChiKS5jYXRjaCgoKT0+e30pfHxhd2FpdCBkLnB1dChiLGMuY2xvbmUoKSkuY2F0Y2goZj0+e2lZKHtlcnJvcjpmPy50b1N0cmluZz9mLnRvU3RyaW5nKCk6IiIsdXJsOmJ9KX0pO2UoKX0sNTApfSl9OwpvWT1hc3luYyBmdW5jdGlvbihhLGIsYz0yKXtyZXR1cm4gXy51LmZldGNoKGIse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIscHJpb3JpdHk6ImxvdyJ9KS50aGVuKGQ9PmQub2s/ZDpQcm9taXNlLnJlamVjdChFcnJvcigiZWVgIitkLnN0YXR1cysiYCIrZC5zdGF0dXNUZXh0KSkpLmNhdGNoKGQ9PntpZihjPjApcmV0dXJuIG9ZKGEsYixjLTEpO3Rocm93IGQ7fSl9OwpyWT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hW2IuaWNvbk5hbWVdfHxbXTthPXZvaWQgMDtmb3IobGV0IGggb2YgZSl7YTp7dmFyIGY9Yi5pY29uU2l6ZTtlPWIuaWNvblN0eWxlO2Y9IWZ8fGY9PT1oWzJdO2xldCBrPXFZW2hbMF1dO2lmKGQmJmQhPT1oWzFdfHwhZnx8ZSYmZSE9PWspe2U9ITE7YnJlYWsgYX1pZighYSl7ZT0hMDticmVhayBhfWU9cVlbaFswXV07ZT0hIWIuaWNvblN0eWxlfHxlPT09InlvdXR1YmVfb3V0bGluZSI7Zj1hLnZlcnNpb248PWhbMV07ZT0oISFiLmljb25TaXplfHxoWzJdPT09MjQpJiZlJiZmfWUmJihhPXtuYW1lOmIuaWNvbk5hbWUsc3R5bGU6cVlbaFswXV0sc2l6ZTpoWzJdLHZlcnNpb246aFsxXSx2dTohIWhbM10sdXJsOmMoYi5pY29uTmFtZSxoKX0pfXJldHVybiBhfTtzWT1mdW5jdGlvbihhLGIsYyxkPSExKXtyZXR1cm5gJHthfSR7cVlbY1swXV19JHtkPyJfZXhwZXJpbWVudGFsIjoiIn0vJHtifS92JHtjWzFdfS8ke2NbMl19cHguc3ZnYH07CnRZPWZ1bmN0aW9uKGEpe3JldHVybiBfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpIT09IldFQl9SRU1JWCImJl8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIikhPT0iV0VCX0NSRUFUT1IiPyJib29rbWFyayI6YX07dVk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIil8fGI/eHBhW2EudG9VcHBlckNhc2UoKV06eXBhW2EudG9VcHBlckNhc2UoKV19O3pwYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvIixhLGIpfTtBcGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gc1koImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pLyIsYSxiLCEwKX07d1k9ZnVuY3Rpb24oKXt2WS5pbnN0YW5jZXx8KHZZLmluc3RhbmNlPW5ldyB2WSk7cmV0dXJuIHZZLmluc3RhbmNlfTsKeFk9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQnBhLmhhcyhiKXx8Xy53KCJJU19IT01FUEFHRV9DT0xEIil8fF8udygiSVNfUkVTVUxUU19QQUdFX0NPTEQiKXx8Xy53KCJJU19XQVRDSF9QQUdFX0NPTEQiKT9hLnNpZ25hbHMuaW5kZXhPZihiKT49MDohMH07eVk9ZnVuY3Rpb24oYSl7dmFyIGI9ITE7cmV0dXJuKCk9PntifHwoYj0hMCxhKCkpfX07QVk9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZih6WS5oYXMoZCkpXy5DaygpLkdhKGIsYyxlKTtlbHNle2xldCBmPWEuai5nZXQoZCk7ZiYmXy5DaygpLkdhKCgpPT57eFkoYSxkKXx8KGYuaGc/Xy5DaygpLkdhKGIsYyk6Zi5Cbi5wdXNoKCgpPT57Xy5DaygpLkdhKGIsYyl9KSl9LGMsZSl9fTtDcGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9KCk9PnthLldtKGIpfTtmb3IobGV0IGYgb2YgZClhLmFkZExpc3RlbmVyKGYsZSk7YS5qLnNldChiLHtzaWduYWxzOmMsVng6ITAsaXNJbml0aWFsaXplZDohMSxoZzohMSxCbjpbXX0pO0JZKGEsYil9OwpCWT1mdW5jdGlvbihhLGIpe2lmKCF4WShhLGIpKXt2YXIgYz1hLmouZ2V0KGIpO2lmKGMmJiFjLmhnKXt2YXIgZD0hMSxlPTAsZj0wO2ZvcihsZXQgaCBvZiBjLnNpZ25hbHMpe2xldCBrPSF4WShhLGgpO2lmKHpZLmhhcyhoKSlkPSEwO2Vsc2V7bGV0IGw9YS5qLmdldChoKTtsP2smJiFsLmhnJiYoZisrLGMuaXNJbml0aWFsaXplZHx8bC5Cbi5wdXNoKCgpPT57QlkoYSxiKX0pKTprJiZlKyt9fWMuaXNJbml0aWFsaXplZD0hMDtjLlZ4P2QmJihjLmhnPSEwKTplPT09MCYmZj09PTAmJihjLmhnPSEwKTtpZihjLmhnKWZvcihsZXQgaCBvZiBjLkJuKWgoKX19fTsKRHBhPWZ1bmN0aW9uKGEpe2E9YS5vcGVuUG9wdXBBY3Rpb258fGE7dmFyIGI9YS5wb3B1cFR5cGUsYz1hLnBvcHVwO3N3aXRjaChiKXtjYXNlICJUT0FTVCI6Zm9yKGxldCBkIGluIGMpYy5oYXNPd25Qcm9wZXJ0eShkKSYmXy5wUCgoKT0+Xy5LKF8uVyx7ZGF0YTooKT0+Y30se25vdGlmaWNhdGlvbkFjdGlvblJlbmRlcmVyOkNZfSksYS5kdXJhdGlvbkhpbnRNcyxhLnJldXNlUG9wdXApO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoImZlYCIrYik7fX07CkRZPWZ1bmN0aW9uKGEsYil7dmFyIGM9dVgoYSk7aWYoYyl7dmFyIGQ9dm9pZCAwLGU9Xy5CKGE/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KTtlJiZlLnJvb3RWZSYmKGQ9ZS5yb290VmUpO18ucVAoe2hyZWY6YyxwYXJhbXM6e2l0Y3Q6YS5jbGlja1RyYWNraW5nUGFyYW1zLGF1dG9uYXY6Yj8uYXV0b25hdn0sdGFyZ2V0Ol8uS08oKSYmXy5CKGEsXy5CaGEpPyJfYmxhbmsiOnZvaWQgMCxhazpkLGNsaWNrZWRWaXN1YWxFbGVtZW50OmIuY2xpY2tlZFZpc3VhbEVsZW1lbnQsaW1wbGljaXRHZXN0dXJlVHlwZTpiLmltcGxpY2l0R2VzdHVyZVR5cGUsZWxlbWVudDpiLmV2ZW50Py50YXJnZXQgaW5zdGFuY2VvZiBFbGVtZW50P2IuZXZlbnQudGFyZ2V0OnZvaWQgMCxlbmRwb2ludDphLHBhcmVudExheWVyOmIucGFyZW50TGF5ZXJ9KX19OwpFcGE9ZnVuY3Rpb24oYSxiKXtpZihfLngoImVtYmVkc19lbmFibGVfZW1jM2RzX3BmcCIpKWlmKEVZKXt2YXIgYz1fLkIoYSxfLkF3KSxkPWM/LnZpZGVvSWQsZT1jPy5wbGF5bGlzdElkO2R8fGU/KGE9e3ZpZGVvX2lkOmR9LGMmJihhLnBsYXllcl9wYXJhbXM9Yy5wbGF5ZXJQYXJhbXMpLGU/KGEubGlzdD1lLEVZLmxvYWRQbGF5bGlzdChhKSk6RVkubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGEpKTooYz1uZXcgXy5YaigiRW1jM2RzIFdhdGNoRW5kcG9pbnQgbWFsZm9ybWVkIix7Y29tbWFuZDpKU09OLnN0cmluZ2lmeShhKX0pLF8uR3AoYyksRFkoYSxiKSl9ZWxzZSBjPW5ldyBfLlhqKCJFbWMzZHMgV2F0Y2hFbmRwb2ludCByZXNvbHZlZCB3aXRob3V0IHBsYXllckFwaSIse2NvbW1hbmQ6SlNPTi5zdHJpbmdpZnkoYSl9KSxfLkdwKGMpLERZKGEsYik7ZWxzZSBEWShhLGIpfTtGWT1mdW5jdGlvbihhKXtyZXR1cm57cmVzb2x2ZTooYixjPXt9KT0+e2EoYixjLmZvcm18fHt9KTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9fX07CkhZPWZ1bmN0aW9uKGEsYil7R1kucHVzaCh7YWN0aW9uOmEsY29udGV4dDpifSl9O0ZwYT1mdW5jdGlvbigpe1RXKEdZLCh7YWN0aW9uOmEsY29udGV4dDpifSk9PntfLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKGEse2Zvcm06Yn0pfHxKWChhLCJBY3Rpb24gbm90IGhhbmRsZWQgYnkgQ29tbWFuZEhhbmRsZXIiLEhvYSl9KX07CklZPWZ1bmN0aW9uKGEsYixjKXtmb3IobGV0IGYgb2YgaG9hKGEpKUhZKGYsYyk7YT1iLmRhdGE/LmFjdGlvbnM/P1tdO2Zvcih2YXIgZCBvZiBhKUhZKGQsYyk7ZD1iLmRhdGE/LmNvbW1hbmRzPz9bXTtmb3IodmFyIGUgb2YgZClIWShlLGMpOyhlPWIuZGF0YT8uY29tbWFuZCkmJkhZKGUsYyk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zPz9bXSxjLnNvdXJjZURhdGEpO3ZYKGIuZGF0YT8ub25SZXNwb25zZVJlY2VpdmVkQ29tbWFuZHM/P1tdLGMuc291cmNlRGF0YSk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHM/P1tdLGMuc291cmNlRGF0YSk7KGI9Yi5kYXRhPy51cGRhdGVGbG93Q29tbWFuZCkmJkhZKGIsYyl9OwpKWT1hc3luYyBmdW5jdGlvbihhLGI9Xy5MaGEpe3ZhciBjPWI7Xy5CKGEsXy5BeSl8fChjPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl8fCIifSxiKSk7Yj1hd2FpdCBfLnkoKS5yZXNvbHZlKF8uSHkpKCk7aWYoYi5KdyhhKSlyZXR1cm4gYi5RaShhLGMpLnRoZW4oZD0+ZD8uZGF0YT9kLmRhdGE6ZCkudGhlbihkPT57dmFyIGU7KGU9ZD8uZGF0YT8udHJhY2tpbmdQYXJhbXMpJiZfLmx4KF8uaHgoKSxlKTtyZXR1cm57Y29kZTpkJiZkLmVycm9yPyJFUlJPUiI6IlNVQ0NFU1MiLGRhdGE6ZH19KTt0aHJvdyBuZXcgXy5Yaigibm8gcmVxdWVzdCBidWlsZGVyIGZvdW5kIixhKTt9O0hwYT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmtleXMoYSkuc29tZShiPT5iIGluIEdwYSl9OwpLWT1mdW5jdGlvbihhKXt2YXIgYj1hLmRhdGE/LmNvbnRlbnRzPy5bMF07aWYoIWJ8fCFIcGEoYikpcmV0dXJuIGE7Yj17b3BlblBvcHVwQWN0aW9uOntwb3B1cFR5cGU6IkRJQUxPRyIscG9wdXA6Yn19O2EuZGF0YS5hY3Rpb25zfHwoYS5kYXRhLmFjdGlvbnM9W10pO2EuZGF0YS5hY3Rpb25zLnB1c2goYik7cmV0dXJuIGF9OwpNWT1mdW5jdGlvbihhLGIsYyl7Xy5CKGEsXy5BeSkmJmEuY2xpY2tUcmFja2luZ1BhcmFtcyYmKExZPV8uVXcoYS5jbGlja1RyYWNraW5nUGFyYW1zKSk7cmV0dXJuIEpZKGEsYykudGhlbihkPT57aWYoXy5CKGEsXy5BeSk/LnJlcXVlc3Q9PT0iQ09OVElOVUFUSU9OX1JFUVVFU1RfVFlQRV9SRUVMX1dBVENIX1NFUVVFTkNFIil7dmFyIGU9ZC5kYXRhO2UmJiFlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMmJihlLmVudHJpZXN8fGUucHJldkVudHJpZXMpJiYoZS5lbnRyaWVzPyhlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnM9W10sZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zLnB1c2goe2FwcGVuZFJlZWxXYXRjaFNlcXVlbmNlQ29udGludWF0aW9uRW50cmllc0FjdGlvbjp7ZW50cmllczplLmVudHJpZXMsY29udGludWF0aW9uRW5kcG9pbnQ6ZS5jb250aW51YXRpb25FbmRwb2ludH19KSk6ZS5wcmV2RW50cmllcyYmKGUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucz1bXSwKZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zLnB1c2goe2FwcGVuZFJlZWxXYXRjaFNlcXVlbmNlQ29udGludWF0aW9uRW50cmllc0FjdGlvbjp7cHJldkVudHJpZXM6ZS5wcmV2RW50cmllcyxwcmV2Q29udGludWF0aW9uRW5kcG9pbnQ6ZS5wcmV2Q29udGludWF0aW9uRW5kcG9pbnR9fSkpKX1pZihfLkIoYSxfLlV6KXx8Xy5CKGEsXy5kTykpYi5jdXJyZW50RGF0YXx8KGIuY3VycmVudERhdGE9Xy5YRD8ucmVzcG9uc2U/P3t9KSxiLnNvdXJjZURhdGF8fChiLnNvdXJjZURhdGE9YSk7SVkoYSxLWShkKSxiKTtfLkIoYSxfLkF5KSYmZD8uZGF0YT8udHJhY2tpbmdQYXJhbXMmJl8ubHgoXy5oeCgpLGQuZGF0YS50cmFja2luZ1BhcmFtcyxMWSk7cmV0dXJuIGR9LGQ9Pnt2YXIgZT1PYmplY3Qua2V5cyhhKS5maWx0ZXIoZj0+Xy5NYShmLCJFbmRwb2ludCIpKVswXTtlJiYoZT1hW2VdLChlPWU/Lm9uRmFpbHVyZUFjdGlvbj8/ZT8ub25GYWlsdXJlQ29tbWFuZCkmJkhZKGUsYikpO3Rocm93IGQ7Cn0pfTtJcGE9ZnVuY3Rpb24oYSxiKXtfLkIoYSxfLmNFKT8ubmF2aWdhdGlvblR5cGU9PT0iQlJPV1NFX05BVklHQVRJT05fVFlQRV9TVEFZX09OX1BBR0UiP01ZKGEsYik6RFkoYSxiKX07SnBhPWZ1bmN0aW9uKGEsYil7aWYoYT0oXy5CKGEsXy5TRCl8fGEpLmNvbW1hbmRzKWZvcihsZXQgYyBvZiBhKV8uS00oYyk/Xy5BSihjLGIuc291cmNlRGF0YSwhMCxiKTpIWShjLGIpfTsKTHBhPWFzeW5jIGZ1bmN0aW9uKGEpe2E9Xy5CKGEsS3BhKTtpZihhPy50ZXh0JiZuYXZpZ2F0b3IuY2xpcGJvYXJkKXRyeXtpZihhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChhLnRleHQpLGEuc3VjY2Vzc0FjdGlvbnMmJmEuc3VjY2Vzc0FjdGlvbnMubGVuZ3RoIT09MClmb3IobGV0IGIgb2YgYS5zdWNjZXNzQWN0aW9ucylfLkFKKGIse30sITEpfWNhdGNoKGIpe2lmKGEuZmFpbHVyZUFjdGlvbnMmJmEuZmFpbHVyZUFjdGlvbnMubGVuZ3RoIT09MClmb3IobGV0IGMgb2YgYS5mYWlsdXJlQWN0aW9ucylfLkFKKGMse30sITEpfX07TXBhPWZ1bmN0aW9uKGEpeygwLF8ud2lhKSh7bm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbjp7dG9nZ2xlQnV0dG9uUmVuZGVyZXI6YS5zb3VyY2VEYXRhfX0sYj0+KHsuLi5iLG5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b246e3RvZ2dsZUJ1dHRvblJlbmRlcmVyOmEuc291cmNlRGF0YX19KSl9OwpOcGE9ZnVuY3Rpb24oYSxiKXtNWShhLGIpLnRoZW4oKCk9PntNcGEoYil9KX07UHBhPWZ1bmN0aW9uKGEpe18ucVAoe2hyZWY6Xy5LeihgdGVsOiR7Xy5CKGEsT3BhKS5waG9uZU51bWJlcn1gLFtfLkhxXSkudG9TdHJpbmcoKSxlbmRwb2ludDphfSl9O1JwYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIEpZKGEsYykudGhlbihkPT57SVkoYSxLWShkKSxiKTt2YXIgZT1fLldEKCgpPT5kLmRhdGEucmVkaXJlY3RFbmRwb2ludCk7ZSYmXy5BSihlLGQuZGF0YSwhMSl9LGQ9PntfLnBQKCgpPT5RcGEpO3Rocm93IGQ7fSl9O1RwYT1mdW5jdGlvbihhKXt2YXIgYj1fLkIoYSxTcGEpLGM9YHNtczoke2IucGhvbmVOdW1iZXJzJiZiLnBob25lTnVtYmVyc1swXX1gO2IubWVzc2FnZVRleHQmJihjKz1gPyZib2R5PSR7ZW5jb2RlVVJJKGIubWVzc2FnZVRleHQpfWApO18ucVAoe2hyZWY6Xy5LeihjLFtfLk9xXSkudG9TdHJpbmcoKSxlbmRwb2ludDphfSl9OwpVcGE9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2RpYWxvZyJ9O05ZPWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgXy5GSjtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLnlQKSk7Yj8ucnEoKSYmYi5sZCgpO3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNkaWFsb2ciP18uWU0/c2V0VGltZW91dCgoKT0+e18uJE0oIiIpO2EoKX0sMTAwKTpfLlpNKCkudGhlbigoKT0+e2EoKX0pOmEoKX0pfTsKV3BhPWZ1bmN0aW9uKGEsYixjLGQpe1ZwYShjKTtjPU9ZKGEpO3ZhciBlPW5hdmlnYXRvcixmPV8uZnImJl8udygiTVdFQl9JT1NfTkFUSVZFX1NIQVJFIiksaD17dXJsOmN9O2lmKCghXy5mcnx8ZikmJmUuc2hhcmUmJmMmJmUuY2FuU2hhcmUmJmUuY2FuU2hhcmUoaCkpe2xldCBrPV8uRXgoXy5oeCgpLHt2ZVR5cGU6OTc3MH0pLGw9e291dGJvdW5kQXBwRGF0YTp7b3V0Ym91bmRBcHA6IkRJUkVDVF9TWVNURU1fQUNUSVZJVFlfRElBTE9HIn0sc2hhcmluZ0RhdGE6e3NlcmlhbGl6ZWRTaGFyZUVudGl0eTpkfX07Xy5KTyhrLGwsNyk7ZS5zaGFyZShoKS50aGVuKCgpPT57dFgoayxsLDcpfSkuY2F0Y2gobT0+e20ubmFtZSE9PSJBYm9ydEVycm9yIiYmKF8uSXAobmV3IF8uWGooIlN5c3RlbSBTaGFyZSBQYW5lbCBmYWlsZWQgdG8gb3Blbi4iKSksUFkoYSxiKSl9KX1lbHNlIFBZKGEsYil9OwpWcGE9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9Xy5oeCgpO18uRE8oYiwyMTc2MCx2b2lkIDAse2xheWVyOjcscGFyZW50TGF5ZXI6MH0pO18ubHgoYixhLHZvaWQgMCw3KX19O1BZPWZ1bmN0aW9uKGEsYil7dmFyIGM9T1koYSk7Xy5ncnx8Xy5URSgpfHxfLnJQKCk/Xy55KCkucmVzb2x2ZShfLnlQKS5vcGVuRGlhbG9nKHtVbjooKT0+Xy5LKFhwYSx7ZGF0YTphfSl9KTpfLnlOKHtoZWFkZXJUaXRsZToiU2hhcmUiLEdiOigpPT5fLksoImRpdiIse2NsYXNzOiJib3R0b20tc2hlZXQtc2hhcmUtaXRlbSJ9LF8uSyhfLk8se0E6KCk9PmMsdGhlbjpkPT5fLksoUVkse3Nob3J0VXJsOmQsdHJhY2tpbmdQYXJhbXM6UlkoYSl9KX0pLFNZKGEpPy5tYXAoZD0+ZD8uc2hhcmVUYXJnZXRSZW5kZXJlcj9fLksoVFkse2RhdGE6ZC5zaGFyZVRhcmdldFJlbmRlcmVyfSk6bnVsbCkpLEhhOiExLGZvY3VzT25DbG9zZTpiPy5ldmVudD8udGFyZ2V0fSl9OwpTWT1mdW5jdGlvbihhKXtpZihhLmNvbnRlbnRzJiZhLmNvbnRlbnRzWzBdKXJldHVybihhPWEuY29udGVudHNbMF0udGhpcmRQYXJ0eU5ldHdvcmtTZWN0aW9uPy5zaGFyZVRhcmdldENvbnRhaW5lcj8udGhpcmRQYXJ0eVNoYXJlVGFyZ2V0U2VjdGlvblJlbmRlcmVyPy5zaGFyZVRhcmdldHMpJiZhLmxlbmd0aD41P2Euc2xpY2UoMCw1KTphfTtPWT1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb250ZW50cyYmYS5jb250ZW50c1swXT9fLkIoYS5jb250ZW50c1swXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LmNvcHlMaW5rQ29udGFpbmVyLFVZKT8uc2hvcnRVcmw6IiJ9O1JZPWZ1bmN0aW9uKGEpe3JldHVybiBfLkIoXy5CKGE/LmNvbnRlbnRzPy5bMF0udGhpcmRQYXJ0eU5ldHdvcmtTZWN0aW9uPy5jb3B5TGlua0NvbnRhaW5lcixVWSk/LmNvcHlCdXR0b24sXy5WTCk/LnRyYWNraW5nUGFyYW1zfTsKWnBhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5aeik/LnNoYXJlUGFuZWxUeXBlLGQ9Xy5CKGEsXy5aeik/LnNlcmlhbGl6ZWRTaGFyZUVudGl0eTtNWShhLGIpLnRoZW4oZT0+e1lwYShlLGIsYyxkKX0pfTtZcGE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5jb2RlPT09IlNVQ0NFU1MiJiZhLmRhdGEpYT1hLmRhdGEsYS5jb250ZW50cyYmYS5jb250ZW50cy51bmlmaWVkU2hhcmVQYW5lbFJlbmRlcmVyJiZjPT09IlNIQVJFX1BBTkVMX1RZUEVfVU5JRklFRF9TSEFSRV9QQU5FTCImJldwYShhLmNvbnRlbnRzLnVuaWZpZWRTaGFyZVBhbmVsUmVuZGVyZXIse2V2ZW50OmI/LmV2ZW50fSxhLnRyYWNraW5nUGFyYW1zLGQpO2Vsc2V7Xy5nRj09PXZvaWQgMCYmKF8uZ0Y9a29hKCkpO2xldCBlPV8uZ0Y/JHBhOmFxYTtfLnBQKCgpPT5lKX19O2JxYT1mdW5jdGlvbihhKXthPWEucGFuZWxJZGVudGlmaWVyfHxhLmlkZW50aWZpZXI/LnRhZztpZighYSl0aHJvdyBFcnJvcigiZ2UiKTtyZXR1cm4gYX07CmRxYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8uQihhLF8uUVcpO2lmKGMpe3ZhciBkPV8uV0QoKCk9PmI/LmV2ZW50Py5jdXJyZW50VGFyZ2V0fHxiPy5lbGVtZW50KSxlPWJxYShjKTt2YXIgZj1jP2MuZ2xvYmFsQ29uZmlndXJhdGlvbj8uaW5pdGlhbFN0YXRlfHxjLmVuZ2FnZW1lbnRQYW5lbDp2b2lkIDA7aWYoZSl7bGV0IGg9Xy55KCkucmVzb2x2ZShfLmJMKSxrPWF3YWl0IF8ueSgpLnJlc29sdmUoXy5IeSkoKTthd2FpdCBjcWEoaCx7aWRlbnRpZmllcjplLElqOmYsdGFyZ2V0OmR9KTtjLmdsb2JhbENvbmZpZ3VyYXRpb24mJihhPWF3YWl0IGsuUWkoYSksYXdhaXQgVlkoaCx7aWRlbnRpZmllcjplLElqOmE/LmNvbnRlbnQsdG46ITF9KSl9fX07CmVxYT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5FTyh3aW5kb3csYSwibG9naW5Qb3B1cCIsIndpZHRoPTgwMCxoZWlnaHQ9NjAwLHJlc2l6YWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMiKSlIbmEoKCk9PntiKCl9KSxhLm1vdmVUbygoc2NyZWVuLndpZHRoLTgwMCkvMiwoc2NyZWVuLmhlaWdodC02MDApLzIpfTtmcWE9ZnVuY3Rpb24oYSxiKXtfLktPKCk/KChiPXVYKGEpKSYmXy5FTyh3aW5kb3csYiksYS5jbGlja1RyYWNraW5nUGFyYW1zJiZfLnpKKGEuY2xpY2tUcmFja2luZ1BhcmFtcykpOl8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiI/KGE9dVgoYSkpJiZlcWEoYSwoKT0+e3dpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX0pOkRZKGEsYil9OwpncWE9ZnVuY3Rpb24oYSl7aWYoYS5zb3VyY2VEYXRhLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyPy5jaGFubmVsSWQpKDAsXy54UCkoe2NoYW5uZWxJZDphLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIuY2hhbm5lbElkfSxjPT4oey4uLmMsc3Vic2NyaWJlZDohYS5zb3VyY2VEYXRhLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLnN1YnNjcmliZWR9KSk7ZWxzZXt2YXIgYj1fLkIoYS5zb3VyY2VEYXRhLnNlcnZpY2VFbmRwb2ludCxfLkR5KTtiJiYoMCxfLnhQKSh7Y2hhbm5lbElkOmIuY2hhbm5lbElkcz8uWzBdfSxjPT4oey4uLmMsc3Vic2NyaWJlZDohMX0pKX19O1dZPWZ1bmN0aW9uKGEsYixjKXtNWShhLGIsYykudGhlbigoKT0+e2dxYShiKX0pfTsKaHFhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5WRCksZD1jLnVybDtjPWMudGFyZ2V0PT09IlRBUkdFVF9ORVdfV0lORE9XIj8iX2JsYW5rIjoiIjt2YXIgZTthLmNsaWNrVHJhY2tpbmdQYXJhbXMmJihlPXtpdGN0OmEuY2xpY2tUcmFja2luZ1BhcmFtc30pO3ZhciBmPWI/LnNvdXJjZURhdGE/LnBhcmFtcz8udGltZXN0YW1wO2YmJihlPXsuLi5lLHRpbWVzdGFtcDpmfSk7Xy5xUCh7aHJlZjpkLHBhcmFtczplLHRhcmdldDpjLGVuZHBvaW50OmEsYWs6Xy5CKGE/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucm9vdFZlLGVsZW1lbnQ6Yi5ldmVudD8udGFyZ2V0fSl9O2lxYT1mdW5jdGlvbihhKXt3b2EoXy5CKGEsXy5mY2EpPy5hZGRpdGlvbmFsRGF0YXMpfTsKanFhPWZ1bmN0aW9uKGEpe3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZSIsYj0+e3ZhciBjPWIuZGV0YWlsO2MucGFyYW1zfHwoYy5wYXJhbXM9e30pO2I9Yy5wYXJhbXM7dmFyIGQ9Yi5pdGN0O2QmJihfLmh4KCkuQ2YoZCksZGVsZXRlIGIuaXRjdCk7Yj1jLmhyZWY7aWYoIVhZW2JdKXtkPSExO2lmKGIuc3RhcnRzV2l0aCgiaHR0cCIpfHxiLnN0YXJ0c1dpdGgoIi8vIikpe3ZhciBlPWI/Xy5QTShiKS5ob3N0bmFtZXx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lOiIiLGY9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO2lmKGQ9ZSE9PWYpZT1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLGY9Zi5zcGxpdCgiLiIpLnNsaWNlKC0yKSxlLmxlbmd0aCYmZi5sZW5ndGgmJihkPWUuam9pbigiLiIpIT09Zi5qb2luKCIuIikpfVhZW2JdPWR9ZD1YWVtiXTtpZihkKV8uRU8od2luZG93LGIpO2Vsc2V7ZD1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKTthOntpZighYS5nZXRWaWRlb0RhdGEoKS5pc0xpdmUpe2lmKChmPQpjLnBhcmFtcykmJmYudGltZXN0YW1wKXtmPWYudGltZXN0YW1wO2JyZWFrIGF9aWYoIV8ueCgiZW1iZWRzX2VtYzNkc19hbHdheXNfY3VydGltZV9rcyIpJiYoZj0vXmh0dHBzPzpcL1wvd3d3LnlvdXR1YmUuY29tXC93YXRjaFw/dj0oW0EtWmEtejAtOV8tXXsxMX0pLy5leGVjKGMuaHJlZik/LlsxXSkmJmY9PT1hLmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkJiYoZj1hLmdldEN1cnJlbnRUaW1lKCksZj4wKSl7Zj1NYXRoLmZsb29yKGYpLnRvU3RyaW5nKCk7YnJlYWsgYX19Zj12b2lkIDB9ZT0oZT1jLmVsZW1lbnQpP18uVXgoZSk/P3ZvaWQgMDp2b2lkIDA7YTp7aWYoZSl7dmFyIGg9ZS5nZXRBc0pzb24oKTtlPWgudmVUeXBlO2g9aC50cmFja2luZ1BhcmFtcztpZihlKXtlPVN0cmluZyhlKTticmVhayBhfWlmKGgmJihlPV8uRW8oXy5DbyhoKSwyKSkpe2U9ZS50b1N0cmluZygpO2JyZWFrIGF9fWU9dm9pZCAwfWV8fChNYXRoLnJhbmRvbSgpPF8uc2ooImVtYmVkc19sb2dfd2FybmluZ19zYW1wbGVfc2l6ZV9yYXRlIiwKLjAwMSkmJl8uSXAobmV3IF8uWGooIlVzaW5nIGZhbGxiYWNrIFZFIGZvciBlbGVtZW50OiAiLHt0YWdOYW1lOmMuZWxlbWVudD8udGFnTmFtZSxjbGFzc0xpc3Q6Yy5lbGVtZW50Py5jbGFzc0xpc3QudG9TdHJpbmcoKSxkZXRhaWw6Y30pKSxlPSgyMTQyODMpLnRvU3RyaW5nKCkpO2M9e307ZC53aWRnZXRSZWZlcnJlciYmKGMuZW1iZWRzX3dpZGdldF9yZWZlcnJlcj1kLndpZGdldFJlZmVycmVyKTtkLmxvYWRlclVybCYmKGMuZW1iZWRzX3JlZmVycmluZ19ldXJpPWQubG9hZGVyVXJsLnN1YnN0cmluZygwLDEyOCkpO2QuaXNFbWJlZCYmZC5lbWJlZHNJZnJhbWVPcmlnaW5QYXJhbSYmKGMuZW1iZWRzX3JlZmVycmluZ19vcmlnaW49ZC5lbWJlZHNJZnJhbWVPcmlnaW5QYXJhbSk7ZC5pc0VtYmVkJiZkLmVtYmVkc0ZlYXR1cmUmJihjLmZlYXR1cmU9ZC5lbWJlZHNGZWF0dXJlKTtkPWU7Yj0obmV3IFVSTChiLCJodHRwczovL3d3dy55b3V0dWJlLmNvbSIpKS50b1N0cmluZygpO2YmJgooYj1fLmVqKGIse3RpbWVfY29udGludWU6Zn0pKTtpZihkKXtpZighXy5NaygiY29iYWx0Iikpe2Y9W107ZT0wO2ZvcihoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWQuY2hhckNvZGVBdChoKTtrPjI1NSYmKGZbZSsrXT1rJjI1NSxrPj49OCk7ZltlKytdPWt9ZD1fLnNjKGYsNCl9Yj1fLmVqKGIse3NvdXJjZV92ZV9wYXRoOmR9KX1jJiYoYj1fLmVqKGIsYykpO18uRU8od2luZG93LGIpfX0pfTsKa3FhPWZ1bmN0aW9uKCl7dmFyIGE9e307YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsL2Nsb3NlZF9jYXB0aW9uL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0zLjAxIDNDMyAzIDMgMyAzLjAxIDNMMyAyMWgxOFYzSDMuMDF6TTExIDExSDkuNXYtLjVoLTJ2M2gyVjEzSDExdjFjMCAuNTUtLjQ1IDEtMSAxSDdjLS41NSAwLTEtLjQ1LTEtMXYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxem03IDBoLTEuNXYtLjVoLTJ2M2gyVjEzSDE4djFjMCAuNTUtLjQ1IDEtMSAxaC0zYy0uNTUgMC0xLS40NS0xLTF2LTRjMC0uNTUuNDUtMSAxLTFoM2MuNTUgMCAxIC40NSAxIDF2MXoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbF9leHBlcmltZW50YWwvY2xvc2VkX2NhcHRpb25zL3YzLzI0cHguc3ZnIl09Cl8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIxIDNIM2EyIDIgMCAwMC0yIDJ2MTRhMiAyIDAgMDAyIDJoMThhMiAyIDAgMDAyLTJWNWEyIDIgMCAwMC0yLTJaTTkuMDM4IDguMDg5Yy42OTcuMTc4IDEuMjk0LjYwNiAxLjczNyAxLjE3NmExIDEgMCAwMS0xLjU3OCAxLjIyOGMtLjIxLS4yNy0uNDQ0LS40MTMtLjY1NC0uNDY3YS44Ni44NiAwIDAwLS42MzIuMDg1Yy0uMjIyLjExOS0uNDUzLjM0Mi0uNjMxLjY4NEEyLjY0IDIuNjQgMCAwMDcgMTJhMi42NCAyLjY0IDAgMDAuMjgxIDEuMjA1Yy4xNzcuMzQyLjQwOC41NjUuNjMuNjg0YS44Ni44NiAwIDAwLjYzMi4wODVjLjIwOS0uMDU0LjQ0NC0uMTk3LjY1NC0uNDY3YTEgMSAwIDAxMS41NzggMS4yMjhjLS40NDMuNTctMS4wNC45OTgtMS43MzcgMS4xNzZhMi44NiAyLjg2IDAgMDEtMi4wNjYtLjI1N2MtLjYzMS0uMzM2LTEuMTMxLS44ODEtMS40NjYtMS41MjZBNC42IDQuNiAwIDAxNSAxMmMtLjAwNC0uNzQuMTctMS40Ny41MDYtMi4xMjguMzM2LS42NDUuODM1LTEuMTkgMS40NjYtMS41MjZhMi44NiAyLjg2IDAgMDEyLjA2Ni0uMjU3Wm04IDBjLjY5Ny4xNzggMS4yOTQuNjA2IDEuNzM3IDEuMTc2YTEgMSAwIDAxLTEuNTc4IDEuMjI4Yy0uMjEtLjI3LS40NDQtLjQxMy0uNjU0LS40NjdhLjg2Ljg2IDAgMDAtLjYzMi4wODVjLS4yMjIuMTE5LS40NTMuMzQyLS42MzEuNjg0QTIuNjQgMi42NCAwIDAwMTUgMTJhMi42NCAyLjY0IDAgMDAuMjgxIDEuMjA1Yy4xNzcuMzQyLjQwOC41NjUuNjMuNjg0YS44Ni44NiAwIDAwLjYzMi4wODVjLjIwOS0uMDU0LjQ0NC0uMTk3LjY1NC0uNDY3YTEgMSAwIDAxMS41NzggMS4yMjhjLS40NDMuNTctMS4wNC45OTgtMS43MzcgMS4xNzZhMi44NiAyLjg2IDAgMDEtMi4wNjYtLjI1N2MtLjYzMS0uMzM2LTEuMTMxLS44ODEtMS40NjYtMS41MjZBNC42IDQuNiAwIDAxMTMgMTJjLS4wMDQtLjc0LjE3LTEuNDcuNTA2LTIuMTI4LjMzNi0uNjQ1LjgzNS0xLjE5IDEuNDY2LTEuNTI2YTIuODYgMi44NiAwIDAxMi4wNjYtLjI1N1oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvcGF1c2UvdjkvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNOSAxOUg3VjVoMlptOC0xNGgtMnYxNGgyWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9wYXVzZS92OS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTYuNSAzQTEuNSAxLjUgMCAwMDUgNC41djE1QTEuNSAxLjUgMCAwMDYuNSAyMWgyYTEuNSAxLjUgMCAwMDEuNS0xLjV2LTE1QTEuNSAxLjUgMCAwMDguNSAzaC0yWm05IDBBMS41IDEuNSAwIDAwMTQgNC41djE1YTEuNSAxLjUgMCAwMDEuNSAxLjVoMmExLjUgMS41IDAgMDAxLjUtMS41di0xNUExLjUgMS41IDAgMDAxNy41IDNoLTJaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsL3BsYXlfYXJyb3cvdjcvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJtNyA0IDEyIDgtMTIgOFY0eiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9wbGF5L3Y0LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNSA0LjYyM1YxOS4zOGExLjUgMS41IDAgMDAyLjI2IDEuMjlMMjIgMTIgNy4yNiAzLjMzQTEuNSAxLjUgMCAwMDUgNC42MjNaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwveW91dHViZV9sb2dvX2ljb24vdjYvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIxLjU4IDcuMTlhMi41MSAyLjUxIDAgMDAtMS43Ny0xLjc3QzE4LjI1IDUgMTIgNSAxMiA1cy02LjI1IDAtNy44MS40MmEyLjUxIDIuNTEgMCAwMC0xLjc3IDEuNzdBMjUuODcgMjUuODcgMCAwMDIgMTJhMjUuODcgMjUuODcgMCAwMC40MiA0LjgxIDIuNTEgMi41MSAwIDAwMS43NyAxLjc3QzUuNzUgMTkgMTIgMTkgMTIgMTlzNi4yNSAwIDcuODEtLjQyYTIuNTEgMi41MSAwIDAwMS43Ny0xLjc3QTI1Ljg3IDI1Ljg3IDAgMDAyMiAxMmEyNS44NyAyNS44NyAwIDAwLS40Mi00Ljgxek0xMCAxNC42NXYtNS4zTDE1IDEyeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC95b3V0dWJlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLApmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDVzLTYuMjQ5IDAtNy44MS40MmMtLjg2LjIzLTEuNTQuOTEtMS43NyAxLjc3QzIgOC43NSAyIDEyIDIgMTJzMCAzLjI1LjQyIDQuODFjLjIzLjg2LjkxIDEuNTQgMS43NyAxLjc3QzUuNzUxIDE5IDEyIDE5IDEyIDE5czYuMjQ5IDAgNy44MS0uNDJjLjg2LS4yMyAxLjU0LS45MSAxLjc3LTEuNzdDMjIgMTUuMjUgMjIgMTIgMjIgMTJzMC0zLjI1LS40Mi00LjgxYy0uMjMtLjg2LS45MS0xLjU0LTEuNzctMS43N0MxOC4yNDkgNSAxMiA1IDEyIDVabS0yIDEwVjlsNSAzLTUgM1oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9hcnJvd19jaXJjbGUvdjYvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTIyIDEyYzAgNS41MS00LjQ5IDEwLTEwIDEwUzIgMTcuNTEgMiAxMmgxYzAgNC45NiA0LjA0IDkgOSA5czktNC4wNCA5LTktNC4wNC05LTktOUM4LjgxIDMgNS45MiA0LjY0IDQuMjggNy4zOGMtLjExLjE4LS4yMi4zNy0uMzEuNTZMMy45NCA4SDh2MUgxLjk2VjNoMXY0Ljc0Yy4wNC0uMDkuMDctLjE3LjExLS4yNS4xMS0uMjIuMjMtLjQyLjM1LS42M0M1LjIyIDMuODYgOC41MSAyIDEyIDJjNS41MSAwIDEwIDQuNDkgMTAgMTB6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2Fycm93X2NvdW50ZXJjbG9ja3dpc2UvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLAp3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMyAyYTEgMSAwIDAwLTEgMXY2aDZhMSAxIDAgMDAwLTJINS43NTdhOCA4IDAgMTEtMS40ODUgNy4wNyAxIDEgMCAxMC0xLjkzMS41MTcgMTAuMDAyIDEwLjAwMiAwIDAwMTguMDkzIDIuNzgyQTkuOTk5IDkuOTk5IDAgMDA0IDZWM2ExIDEgMCAwMC0xLTFaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvYmVsbC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTAgMjBoNGMwIDEuMS0uOSAyLTIgMnMtMi0uOS0yLTJ6bTEwLTIuNjVWMTlINHYtMS42NWwyLTEuODh2LTUuMTVDNiA3LjQgNy41NiA1LjEgMTAgNC4zNHYtLjM4YzAtMS40MiAxLjQ5LTIuNSAyLjk5LTEuNzYuNjUuMzIgMS4wMSAxLjAzIDEuMDEgMS43NnYuMzljMi40NC43NSA0IDMuMDYgNCA1Ljk4djUuMTVsMiAxLjg3em0tMSAuNDItMi0xLjg4di01LjQ3YzAtMi40Ny0xLjE5LTQuMzYtMy4xMy01LjEtMS4yNi0uNTMtMi42NC0uNS0zLjg0LjAzQzguMTUgNi4xMSA3IDcuOTkgNyAxMC40MnY1LjQ3bC0yIDEuODhWMThoMTR2LS4yM3oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2JlbGwvdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTYgMTlhNCA0IDAgMTEtOCAwSDQuNzY1QzMuMjEgMTkgMi4yNSAxNy4zMDQgMy4wNSAxNS45N2wxLjgwNi0zLjAxQTEgMSAwIDAwNSAxMi40NDZWOGE3IDcgMCAwMTE0IDB2NC40NDZjMCAuMTgxLjA1LjM2LjE0Mi41MTVsMS44MDcgMy4wMWMuOCAxLjMzMy0uMTYxIDMuMDI5LTEuNzE2IDMuMDI5SDE2Wk0xMiAzYTUgNSAwIDAwLTUgNXY0LjQ0NmEzIDMgMCAwMS0uNDI4IDEuNTQzTDQuNzY1IDE3aDE0LjQ2OGwtMS44MDUtMy4wMUEzIDMgMCAwMTE3IDEyLjQ0NVY4YTUgNSAwIDAwLTUtNVptLTIgMTZhMiAyIDAgMTA0IDBoLTRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Nsb2NrL3YxMC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNC45NyAxNi45NSAxMCAxMy44N1Y3aDJ2NS43Nmw0LjAzIDIuNDktMS4wNiAxLjd6TTEyIDNjLTQuOTYgMC05IDQuMDQtOSA5czQuMDQgOSA5IDkgOS00LjA0IDktOS00LjA0LTktOS05bTAtMWM1LjUyIDAgMTAgNC40OCAxMCAxMHMtNC40OCAxMC0xMCAxMFMyIDE3LjUyIDIgMTIgNi40OCAyIDEyIDJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2Nsb2NrL3YxMC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLApoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMiAxQzUuOTI1IDEgMSA1LjkyNSAxIDEyczQuOTI1IDExIDExIDExIDExLTQuOTI1IDExLTExUzE4LjA3NSAxIDEyIDFabTAgMmE5IDkgMCAxMTAgMTguMDAxQTkgOSAwIDAxMTIgM1ptMCAzYTEgMSAwIDAwLTEgMXY1LjU2NWwuNDg1LjI5MiAzLjMzIDJhMSAxIDAgMDAxLjAzLTEuNzE0TDEzIDExLjQzNVY3YTEgMSAwIDAwLTEtMVoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9jbG9zZWRfY2FwdGlvbi92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNiAxNHYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxSDkuNXYtLjVoLTJ2M2gyVjEzSDExdjFjMCAuNTUtLjQ1IDEtMSAxSDdjLS41NSAwLTEtLjQ1LTEtMXptOCAxaDNjLjU1IDAgMS0uNDUgMS0xdi0xaC0xLjV2LjVoLTJ2LTNoMnYuNUgxOHYtMWMwLS41NS0uNDUtMS0xLTFoLTNjLS41NSAwLTEgLjQ1LTEgMXY0YzAgLjU1LjQ1IDEgMSAxem02LTExSDR2MTZoMTZWNG0xLTF2MThIM1YzLjAxQzMgMyAzIDMgMy4wMSAzSDIxeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvY2xvc2VkX2NhcHRpb25zL3YzLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEgM0gzYTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxOGEyIDIgMCAwMDItMlY1YTIgMiAwIDAwLTItMlpNMyAxOVY1aDE4djE0SDNaTTYuOTcyIDguMzQ2Yy0uNjMxLjMzNi0xLjEzMS44ODEtMS40NjYgMS41MjZBNC42IDQuNiAwIDAwNSAxMmMtLjAwNC43NC4xNyAxLjQ3LjUwNiAyLjEyOC4zMzYuNjQ1LjgzNSAxLjE5MSAxLjQ2NiAxLjUyNmEyLjg2IDIuODYgMCAwMDIuMDY2LjI1N2MuNjk3LS4xNzggMS4yOTQtLjYwNiAxLjczNy0xLjE3NmExIDEgMCAwMC0xLjU3OC0xLjIyOGMtLjIxLjI3LS40NDQuNDEzLS42NTQuNDY3YS44Ni44NiAwIDAxLS42MzItLjA4NWMtLjIyMi0uMTE5LS40NTMtLjM0Mi0uNjMxLS42ODRBMi42NCAyLjY0IDAgMDE3IDEyYTIuNiAyLjYgMCAwMS4yODEtMS4yMDVjLjE3Ny0uMzQyLjQwOC0uNTY1LjYzLS42ODRhLjg2Ljg2IDAgMDEuNjMyLS4wODVjLjIwOS4wNTQuNDQ0LjE5Ny42NTQuNDY3YTEgMSAwIDAwMS41NzgtMS4yMjhjLS40NDMtLjU3LTEuMDQtLjk5OC0xLjczNy0xLjE3NmEyLjg2IDIuODYgMCAwMC0yLjA2Ni4yNTdabTggMGMtLjYzMS4zMzYtMS4xMzEuODgxLTEuNDY2IDEuNTI2QTQuNiA0LjYgMCAwMDEzIDEyYy0uMDA0Ljc0LjE3IDEuNDcuNTA2IDIuMTI4LjMzNi42NDUuODM1IDEuMTkxIDEuNDY2IDEuNTI2YTIuODYgMi44NiAwIDAwMi4wNjYuMjU3Yy42OTctLjE3OCAxLjI5NC0uNjA2IDEuNzM3LTEuMTc2YTEgMSAwIDAwLTEuNTc4LTEuMjI4Yy0uMjEuMjctLjQ0NC40MTMtLjY1NC40NjdhLjg2Ljg2IDAgMDEtLjYzMi0uMDg1Yy0uMjIyLS4xMTktLjQ1My0uMzQyLS42MzEtLjY4NEEyLjY0IDIuNjQgMCAwMTE1IDEyYTIuNiAyLjYgMCAwMS4yODEtMS4yMDVjLjE3Ny0uMzQyLjQwOC0uNTY1LjYzLS42ODRhLjg2Ljg2IDAgMDEuNjMyLS4wODVjLjIwOS4wNTQuNDQ0LjE5Ny42NTQuNDY3YTEgMSAwIDAwMS41NzgtMS4yMjhjLS40NDMtLjU3LTEuMDQtLjk5OC0xLjczNy0xLjE3NmEyLjg2IDIuODYgMCAwMC0yLjA2Ni4yNTdaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2dlYXIvdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDkuNWMxLjM4IDAgMi41IDEuMTIgMi41IDIuNXMtMS4xMiAyLjUtMi41IDIuNS0yLjUtMS4xMi0yLjUtMi41IDEuMTItMi41IDIuNS0yLjVtMC0xYy0xLjkzIDAtMy41IDEuNTctMy41IDMuNXMxLjU3IDMuNSAzLjUgMy41IDMuNS0xLjU3IDMuNS0zLjUtMS41Ny0zLjUtMy41LTMuNXpNMTMuMjIgM2wuNTUgMi4yLjEzLjUxLjUuMThjLjYxLjIzIDEuMTkuNTYgMS43Mi45OGwuNC4zMi41LS4xNCAyLjE3LS42MiAxLjIyIDIuMTEtMS42MyAxLjU5LS4zNy4zNi4wOC41MWMuMDUuMzIuMDguNjQuMDguOThzLS4wMy42Ni0uMDguOThsLS4wOC41MS4zNy4zNiAxLjYzIDEuNTktMS4yMiAyLjExLTIuMTctLjYyLS41LS4xNC0uNC4zMmMtLjUzLjQzLTEuMTEuNzYtMS43Mi45OGwtLjUuMTgtLjEzLjUxLS41NSAyLjI0aC0yLjQ0bC0uNTUtMi4yLS4xMy0uNTEtLjUtLjE4Yy0uNi0uMjMtMS4xOC0uNTYtMS43Mi0uOTlsLS40LS4zMi0uNS4xNC0yLjE3LjYyLTEuMjEtMi4xMiAxLjYzLTEuNTkuMzctLjM2LS4wOC0uNTFjLS4wNS0uMzItLjA4LS42NS0uMDgtLjk4cy4wMy0uNjYuMDgtLjk4bC4wOC0uNTEtLjM3LS4zNkwzLjYgOC41NmwxLjIyLTIuMTEgMi4xNy42Mi41LjE0LjQtLjMyYy41My0uNDQgMS4xMS0uNzcgMS43Mi0uOTlsLjUtLjE4LjEzLS41MS41NC0yLjIxaDIuNDRNMTQgMmgtNGwtLjc0IDIuOTZjLS43My4yNy0xLjQuNjYtMiAxLjE0bC0yLjkyLS44My0yIDMuNDYgMi4xOSAyLjEzYy0uMDYuMzctLjA5Ljc1LS4wOSAxLjE0cy4wMy43Ny4wOSAxLjE0bC0yLjE5IDIuMTMgMiAzLjQ2IDIuOTItLjgzYy42LjQ4IDEuMjcuODcgMiAxLjE0TDEwIDIyaDRsLjc0LTIuOTZjLjczLS4yNyAxLjQtLjY2IDItMS4xNGwyLjkyLjgzIDItMy40Ni0yLjE5LTIuMTNjLjA2LS4zNy4wOS0uNzUuMDktMS4xNHMtLjAzLS43Ny0uMDktMS4xNGwyLjE5LTIuMTMtMi0zLjQ2LTIuOTIuODNjLS42LS40OC0xLjI3LS44Ny0yLTEuMTRMMTQgMnoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL2dlYXIvdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIuODQ0IDFoLTEuNjg3YTIgMiAwIDAwLTEuOTYyIDEuNjE2IDMgMyAwIDAxLTMuOTIgMi4yNjMgMiAyIDAgMDAtMi4zOC44OTFsLS44NDIgMS40NmEyIDIgMCAwMC40MTcgMi41MDcgMyAzIDAgMDEwIDQuNTI1IDIgMiAwIDAwLS40MTcgMi41MDdsLjg0MyAxLjQ2YTIgMiAwIDAwMi4zOC44OTIgMy4wMDEgMy4wMDEgMCAwMTMuOTE4IDIuMjYzQTIgMiAwIDAwMTEuMTU3IDIzaDEuNjg2YTIgMiAwIDAwMS45NjMtMS42MTUgMy4wMDIgMy4wMDIgMCAwMTMuOTItMi4yNjMgMiAyIDAgMDAyLjM4LS44OTJsLjg0Mi0xLjQ2YTIgMiAwIDAwLS40MTgtMi41MDcgMyAzIDAgMDEwLTQuNTI2IDIgMiAwIDAwLjQxOC0yLjUwOGwtLjg0My0xLjQ2YTIgMiAwIDAwLTIuMzgtLjg5MSAzIDMgMCAwMS0zLjkxOS0yLjI2M0EyIDIgMCAwMDEyLjg0NCAxWm0tMS43NjcgMi4zNDdhNiA2IDAgMDAuMDgtLjM0N2gxLjY4N2E0Ljk4IDQuOTggMCAwMDIuNDA3IDMuMzcgNC45OCA0Ljk4IDAgMDA0LjEyMi40bC44NDMgMS40NkE0Ljk4IDQuOTggMCAwMDE4LjUgMTJhNC45OCA0Ljk4IDAgMDAxLjcxNiAzLjc3bC0uODQzIDEuNDZhNC45OCA0Ljk4IDAgMDAtNC4xMjMuNEE0Ljk3OSA0Ljk3OSAwIDAwMTIuODQzIDIxaC0xLjY4NmE0Ljk4IDQuOTggMCAwMC0yLjQwOC0zLjM3MSA0Ljk5OSA0Ljk5OSAwIDAwLTQuMTItLjM5OWwtLjg0NC0xLjQ2QTQuOTc5IDQuOTc5IDAgMDA1LjUgMTJhNC45OCA0Ljk4IDAgMDAtMS43MTUtMy43N2wuODQyLTEuNDU5YTQuOTggNC45OCAwIDAwNC4xMjMtLjM5OSA0Ljk4MSA0Ljk4MSAwIDAwMi4zMjctMy4wMjVaTTE2IDEyYTQgNCAwIDExLTcuOTk5IDAgNCA0IDAgMDE4IDBabS00IDJhMiAyIDAgMTAwLTQgMiAyIDAgMDAwIDRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2xpbmsvdjgvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTcuNzggMTZjMi4zNSAwIDQuMjYtMi4wMiA0LjI2LTQuNVMyMC4xMyA3IDE3Ljc4IDdIMTN2MWg0Ljc4YzEuOCAwIDMuMjYgMS41NyAzLjI2IDMuNVMxOS41OCAxNSAxNy43OCAxNUgxM3YxaDQuNzh6TTExIDE1SDYuMTljLTEuOCAwLTMuMjYtMS41Ny0zLjI2LTMuNVM0LjM5IDggNi4xOSA4SDExVjdINi4xOWMtMi4zNSAwLTQuMjYgMi4wMi00LjI2IDQuNVMzLjg0IDE2IDYuMTkgMTZIMTF2LTF6bTUtNEg4djFoOHYtMXoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvbGluay92OC8yNHB4LnN2ZyJdPV8uSygic3ZnIiwKe3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik05IDE4Yy4yMjYgMCAuNDQ4LS4wMTIuNjY3LS4wMzdBOC4wMDEgOC4wMDEgMCAwMTguMDcgMTZIN2E0IDQgMCAxMTAtOGgyYTQgNCAwIDAxNCA0IDIgMiAwIDAwMS42NjggMS45NzNBNS45OTkgNS45OTkgMCAwMDkgNkg3YTYgNiAwIDEwMCAxMmgyWm04IDBhNiA2IDAgMTAwLTEyaC0yYy0uMjI1IDAtLjQ0OC4wMTItLjY2Ny4wMzZBOCA4IDAgMDExNS45MyA4SDE3YTQgNCAwIDExMCA4aC0yYTQgNCAwIDAxLTQtNCAyIDIgMCAwMC0xLjY2OC0xLjk3M0E2IDYgMCAwMDE1IDE4aDJaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvc2hhcmUvdjEyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLApoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNSA1LjYzIDIwLjY2IDEyIDE1IDE4LjM3VjE0aC0xYy0zLjk2IDAtNy4xNCAxLTkuNzUgMy4wOSAxLjg0LTQuMDcgNS4xMS02LjQgOS44OS03LjFsLjg2LS4xM1Y1LjYzTTE0IDN2NkM2LjIyIDEwLjEzIDMuMTEgMTUuMzMgMiAyMWMyLjc4LTMuOTcgNi40NC02IDEyLTZ2Nmw4LTktOC05eiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9zaGFyZS92MTIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCAzLjE1OFY3LjUxYy01LjQyOC4yMjMtOC4yNyAzLjc1LTguODc1IDExLjE5OS0uMDQuNDg3LS4wNy45NzUtLjA5IDEuNDY0bC0uMDE0LjM5NWMtLjAxNC40NzMuNTc4LjY4NC44OC4zMi4zMDItLjM2OC42MS0uNzMuOTI1LTEuMDg2bC4yNDQtLjI3M2MxLjc5LTEuOTY3IDMtMi42NzcgNC45My0yLjkxN2ExOC4wMTEgMTguMDExIDAgMDEyLS4xMTJ2NC4zNDZhMSAxIDAgMDAxLjY0Ni43NjNsOS44MDUtOC4yOTcgMS41NS0xLjMxLTEuNTUtMS4zMS05LjgwNS04LjI5N0ExIDEgMCAwMDEwIDMuMTU4Wm0yIDYuMjd2LjAwMi00LjExNmw3LjkwNCA2LjY4OEwxMiAxOC42ODl2LTQuMjEybC0yLjAyMy4wMjRjLTEuOTM1LjAyMi0zLjU4Ny4xNy01LjE5NyAxLjAyNGE5IDkgMCAwMC0xLjM0OC44OTNjLjM1NS0xLjk0Ny45MTYtMy4zOSAxLjYzLTQuNDI1IDEuMDYyLTEuNTQxIDIuNjA3LTIuMzg1IDUuMDItMi40ODVMMTIgOS40MjhaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3ZvbHVtZV9vZmYvdjQvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJtMy4xNSAzLjg1IDQuMTcgNC4xN0w2LjE2IDlIM3Y2aDMuMTZMMTIgMTkuOTN2LTcuMjJsMi40NSAyLjQ1Yy0uMTUuMDctLjMuMTMtLjQ1LjE4djEuMDRjLjQzLS4xLjgzLS4yNyAxLjItLjQ4bDEuODEgMS44MWMtLjg4LjYyLTEuOSAxLjA0LTMuMDEgMS4ydjEuMDFjMS4zOS0uMTcgMi42Ni0uNzEgMy43My0xLjQ5bDIuNDIgMi40Mi43MS0uNzEtMTctMTctLjcxLjcxek0xMSAxMS43MXY2LjA3TDYuNTIgMTRINHYtNGgyLjUybDEuNS0xLjI3TDExIDExLjcxem0tLjY3LTQuOTItLjcxLS43MUwxMiA0LjA3djQuMzlsLTEtMVY2LjIybC0uNjcuNTd6TTE0IDguNjZWNy42MmMyIC40NiAzLjUgMi4yNCAzLjUgNC4zOCAwIC41OC0uMTMgMS4xMy0uMzMgMS42NGwtLjc5LS43OWMuMDctLjI3LjEyLS41NS4xMi0uODUgMC0xLjU4LTEuMDYtMi45LTIuNS0zLjM0em0wLTMuNThWNC4wN2MzLjk1LjQ5IDcgMy44NSA3IDcuOTMgMCAxLjU2LS40NiAzLjAxLTEuMjMgNC4yNGwtLjczLS43M2MuNjEtMS4wMy45Ni0yLjIzLjk2LTMuNTEgMC0zLjUyLTIuNjEtNi40My02LTYuOTJ6In0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC92b2x1bWVfbXV0ZS92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTExLjQ4NSAyLjE0MyAzLjkxMyA2LjY4N0E2IDYgMCAwMDEgMTEuODMydi4zMzhhNiA2IDAgMDAyLjkxMyA1LjE0NGw3LjU3MiA0LjU0M0ExIDEgMCAwMDEzIDIxVjNhMS4wMDEgMS4wMDEgMCAwMC0xLjUxNS0uODU3Wk00Ljk0MiA4LjQgMTEgNC43Njd2MTQuNDY2bC02LjA1OC0zLjYzNEE0IDQgMCAwMTMgMTIuMTY5di0uMzM4QTQgNCAwIDAxNC45NDIgOC40Wm0xNi4zNTEtLjEwOEwxOSAxMC41ODZsLTIuMjkzLTIuMjkzYTEgMSAwIDEwLTEuNDE0IDEuNDE0TDE3LjU4NiAxMmwtMi4yOTMgMi4yOTNhMSAxIDAgMTAxLjQxNCAxLjQxNEwxOSAxMy40MTRsMi4yOTMgMi4yOTNhMSAxIDAgMTAxLjQxNC0xLjQxNEwyMC40MTQgMTJsMi4yOTMtMi4yOTRhMSAxIDAgMTAtMS40MTQtMS40MTRaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3ZvbHVtZV9vbi92My8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNy41IDEyYzAgMi4xNC0xLjUgMy45Mi0zLjUgNC4zOHYtMS4wNGMxLjQ0LS40MyAyLjUtMS43NiAyLjUtMy4zNCAwLTEuNTgtMS4wNi0yLjktMi41LTMuMzRWNy42MmMyIC40NiAzLjUgMi4yNCAzLjUgNC4zOHpNMTIgNC4wN3YxNS44Nkw2LjE2IDE1SDNWOWgzLjE2TDEyIDQuMDd6bS0xIDIuMTVMNi41MiAxMEg0djRoMi41MkwxMSAxNy43OFY2LjIyek0yMSAxMmMwIDQuMDgtMy4wNSA3LjQ0LTcgNy45M3YtMS4wMWMzLjM5LS40OSA2LTMuNCA2LTYuOTJzLTIuNjEtNi40My02LTYuOTJWNC4wN2MzLjk1LjQ5IDcgMy44NSA3IDcuOTN6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3ZvbHVtZV9tYXgvdjIvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTEuNDg1IDIuMTQzIDMuOTEzIDYuNjg3QTYgNiAwIDAwMSAxMS44MzJ2LjMzOGE2IDYgMCAwMDIuOTEzIDUuMTQ0bDcuNTcyIDQuNTQzQTEgMSAwIDAwMTMgMjFWM2ExLjAwMSAxLjAwMSAwIDAwLTEuNTE1LS44NTdabTYuODggMi4wNzlhMSAxIDAgMDAtLjAwMSAxLjQxNCA5IDkgMCAwMTAgMTIuNzI4IDEgMSAwIDAwMS40MTQgMS40MTQgMTEgMTEgMCAwMDAtMTUuNTU2IDEgMSAwIDAwLTEuNDEzIDBaTTQuOTQxIDguNDAybC4wMDEtLjAwMkwxMSA0Ljc2N3YxNC40NjZsLTYuMDU4LTMuNjM1QTQgNCAwIDAxMyAxMi4xNjh2LS4zMzdhNCA0IDAgMDExLjk0MS0zLjQyOVpNMTUuNTM1IDcuMDVhMSAxIDAgMDAwIDEuNDE1IDUgNSAwIDAxMCA3LjA3IDEgMSAwIDAwMS40MTUgMS40MTUgNi45OTkgNi45OTkgMCAwMDAtOS45IDEgMSAwIDAwLTEuNDE1IDBaIn0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL3hfbWFyay92NC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im0xMi43MSAxMiA4LjE1IDguMTUtLjcxLjcxTDEyIDEyLjcxbC04LjE1IDguMTUtLjcxLS43MUwxMS4yOSAxMiAzLjE1IDMuODVsLjcxLS43MUwxMiAxMS4yOWw4LjE1LTguMTUuNzEuNzFMMTIuNzEgMTJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3gvdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0IiwKd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE3LjI5MyA1LjI5MyAxMiAxMC41ODYgNi43MDcgNS4yOTNhMSAxIDAgMTAtMS40MTQgMS40MTRMMTAuNTg2IDEybC01LjI5MyA1LjI5M2ExIDEgMCAwMDEuNDE0IDEuNDE0TDEyIDEzLjQxNGw1LjI5MyA1LjI5M2ExIDEgMCAwMDEuNDE0LTEuNDE0TDEzLjQxNCAxMmw1LjI5My01LjI5M2ExIDEgMCAxMC0xLjQxNC0xLjQxNFoifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL2VxdWFsaXplci92MS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiLTQgLTQgMjQgMjQiLHZlcnNpb246IjEuMSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieG1sbnM6eXQiOiJodHRwOi8vd3d3LnlvdXR1YmUuY29tIn0sXy5LKCJnIiwKe2lkOiJ5dG0tZXF1YWxpemVyLWljb24iLGZpbGw6IiNmZmYifSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItbGVmdCIseDoiMSIseToiNyIsd2lkdGg6IjQiLGhlaWdodDoiOSJ9KSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItbWlkZGxlIix4OiI2Iix5OiIyIix3aWR0aDoiNCIsaGVpZ2h0OiIxNCJ9KSxfLksoInJlY3QiLHtjbGFzczoieXRtLWVxdWFsaXplci1iYXItcmlnaHQiLHg6IjExIix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiIxMiJ9KSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3Nob3J0c190ZXh0X2xvZ28vdjIvNzJweC5zdmciXT1fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCA3MiAyNCIsZmlsbDoibm9uZSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIn0sCl8uSygiZyIse3RyYW5zZm9ybToidHJhbnNsYXRlKDI0LCAyKSJ9LF8uSygicGF0aCIse2Q6Im0uNzMyMTcgMTMuNzg4NiAyLjU3NzMyLS4wNTE1Yy0uMDUxNTUgMi4zMTk1LjM2MDgyIDMuMDQxMiAxLjM0MDIxIDMuMDQxMi45NTM2MSAwIDEuMzQwMi0uNjE4NiAxLjM0MDItMS44ODE0IDAtMS44ODE1LS45NzkzOC0yLjgzNTEtMi4zNzExMy00LjA0NjRDMS40Nzk1OSA4Ljk5NDc5LjU1MTc1OCA3Ljk2Mzg2LjU1MTc1OCA1LjIzMTljMC0yLjYwMzA5IDEuMTU5NzkyLTQuMTQ5NDggNC4xNzUyNjItNC4xNDk0OCAyLjkxMjM3IDAgNC4xMjM3MSAxLjcwMTAzIDMuNzExMzMgNS4yMDYxOWwtMi41NzczMi4xNTQ2M2MuMDUxNTUtMi4zOTY5LS4yMDYxOC0zLjIyMTY0LTEuMjYyODgtMy4yMjE2NC0uOTc5MzggMC0xLjMxNDQ0LjY0NDMzLTEuMzE0NDQgMS44Mjk4OSAwIDEuNzc4MzUuNzQ3NDMgMi4zMTk1OSAyLjM0NTM3IDMuODQwMjEgMS45ODQ1MyAxLjg4MTQgMy4wOTI3OCAyLjk4OTcgMy4wOTI3OCA1LjU0MTIgMCAzLjI0NzUtMS4yNjI4OSA0LjQ4NDYtNC4yMDEwMyA0LjQ4NDYtMy4wNjcwMS4wMjU3LTQuMzA0MTI1LTEuNjIzNy0zLjc4ODY2LTUuMTI4OVpNOS42NzU1NC43NDc0MDVoMi44MzUwNlY0LjU4NzYxYzAgMS4xNTk3OS0uMDUxNiAxLjk1ODc2LS4xNTQ3IDIuOTM4MTRoLjA1MTZjLjU0MTItMS4xNTk3OSAxLjQ0MzMtMS43NTI1NyAyLjYwMzEtMS43NTI1NyAxLjc1MjYgMCAyLjUgMS4yMzcxMSAyLjUgMy4zNTA1MXY5LjUzNjExaC0yLjgzNTFWOS4zMjk4OGMwLTEuMDMwOTMtLjI1NzctMS41NDYzOS0uOTAyLTEuNTQ2MzktLjQ4OTcgMC0uOTI3OS4yODM1LTEuMjM3MS43OTg5N1YxOC42NTk4SDkuNzAxMzFWLjc0NzQwNWgtLjAyNTc3Wk0xOC42NzAzIDEzLjI3MzJ2LTEuODI5OWMwLTQuMDcyMTYgMS4xODU2LTUuNjQ0MzMgMy45OTQ4LTUuNjQ0MzMgMi44MDkzIDAgMy44NjYgMS42MjM3MSAzLjg2NiA1LjY0NDMzdjEuODI5OWMwIDMuOTY5MS0xLjAwNTIgNS41OTI4LTMuOTQzMyA1LjU5MjgtMi45ODk3IDAtMy45MTc1LTEuNjc1My0zLjkxNzUtNS41OTI4Wm01IDEuMDMwOXYtMy45NDMzYzAtMS43MjY3OC0uMjU3OC0yLjYwMzA3LTEuMDgyNS0yLjYwMzA3LS43OTkgMC0xLjA1NjcuODc2MjktMS4wNTY3IDIuNjAzMDd2My45NDMzYzAgMS44MDQxLjI1NzcgMi42Mjg5IDEuMDU2NyAyLjYyODkuODI0NyAwIDEuMDgyNS0uODI0OCAxLjA4MjUtMi42Mjg5Wk0yNy42NjUyIDYuMDMwODloMi4xOTA3bC4yNTc4IDIuNzMxOTZoLjEwM2MuMjgzNi0yLjAxMDMxIDEuMjExNC0zLjAxNTQ2IDIuMzk2OS0zLjAxNTQ2LjE1NDcgMCAuMzA5My4wMjU3Ny41MTU1LjA1MTU0bC0uMTU0NiAzLjI3MzJjLTEuMTg1Ni0uMjU3NzMtMi4xMzkyLS4wNTE1NS0yLjU3NzMuNzIxNjVWMTguNjM0aC0yLjczMlY2LjAzMDg5Wk0zNC44MDQ0IDE1LjY3MDFWOC4yNzMyaC0xLjAzMDlWNi4wNTY3aDEuMTU5OGwuMzYwOC0zLjczNzExaDIuMTEzNFY2LjA1NjdoMS45MzN2Mi4yMTY1aC0xLjgwNDF2Ni45ODQ1YzAgMS4xODU2LjE1NDYgMS40NDMzLjYxODUgMS40NDMzLjQxMjQgMCAuNzczMi0uMDUxNSAxLjEwODMtLjE4MDRsLjM2MDggMS44MDQxYy0uODUwNS40MTI0LTEuOTMzLjU0MTMtMi42MDMxLjU0MTMtMS44Mjk5LS4wMjU4LTIuMjE2NS0uOTc5NC0yLjIxNjUtMy4xOTU5Wk00MC4yNjgyIDE0LjgxOTZsMi4zOTY5LS4wNTE1Yy0uMTI4OSAxLjM5MTcuMzYwOCAyLjE5MDcgMS4yMTEzIDIuMTkwNy43MjE3IDAgMS4xMzQxLS40NjM5IDEuMTM0MS0xLjEwODMgMC0uODc2My0uNzk5LTEuNDY5LTIuMTY1LTIuNS0xLjYyMzctMS4yMzcxLTIuNjAzMS0yLjE2NDktMi42MDMxLTQuMjAxIDAtMi4yNDIyNyAxLjE4NTYtMy4zMjQ3NCAzLjYzNC0zLjMyNDc0IDIuNjAzMSAwIDMuNjM0MSAxLjI4ODY2IDMuNDI3OSA0LjM1NTY0bC0yLjM5NjkuMTAzMWMtLjAyNTgtMS45MDcxOS0uMjgzNS0yLjQ0ODQzLTEuMDgyNS0yLjQ0ODQzLS43NzMyIDAtMS4xMDgzLjM4NjYtMS4xMDgzIDEuMDgyNDcgMCAuOTc5MzguNTY3MSAxLjQ0MzI2IDEuNDk0OSAyLjExMzM2IDIuMjE2NSAxLjY0OTUgMy4yNDc0IDIuNDc0MyAzLjI0NzQgNC41MzYxIDAgMi4yNjgxLTEuMjg4NyAzLjQwMjEtMy43MzcxIDMuNDAyMS0yLjc4MzUtLjAyNTgtMy44MTQ0LTEuNTQ2NC0zLjQ1MzYtNC4xNDk1WiIsCmZpbGw6IiNmZmYifSkpLF8uSygiZyIse3RyYW5zZm9ybToidHJhbnNsYXRlKDAsIDApIn0sXy5LKCJwYXRoIix7ZDoiTTE4LjQ1IDguODUxYzEuOTA0LTEuMDY2IDIuNTQxLTMuNCAxLjQyMi01LjIxNC0xLjExOS0xLjgxNC0zLjU3LTIuNDItNS40NzUtMS4zNTVMNS41NSA3LjI0N2MtMS4yOS43MjItMi4wNDkgMi4wNjktMS45NjggMy40OTEuMDgxIDEuNDIzLjk4OSAyLjY4MyAyLjM1MyAzLjI2OGwuOTQyLjQwNC0xLjMyNy43NDJjLTEuOTA0IDEuMDY2LTIuNTQxIDMuNC0xLjQyMiA1LjIxNCAxLjExOSAxLjgxNCAzLjU3IDIuNDIxIDUuNDc1IDEuMzU1bDguODQ3LTQuOTY1YzEuMjktLjcyMiAyLjA0OS0yLjA2OCAxLjk2OC0zLjQ5LS4wODEtMS40MjMtLjk4OS0yLjY4NC0yLjM1My0zLjI2OWwtLjk0Mi0uNDAzIDEuMzI3LS43NDNaTTEwIDE0LjU2N2EuMjUuMjUgMCAwMC4zNzQuMjE3bDQuNDUtMi41NjdhLjI1LjI1IDAgMDAwLS40MzNsLTQuNDUtMi41NjdhLjI1LjI1IDAgMDAtLjM3NC4yMTZ2NS4xMzRaIiwKImZpbGwtcnVsZSI6ImV2ZW5vZGQiLGZpbGw6IiNmZmYifSkpKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC93YXRlcm1hcmsvdjIvMTEwcHguc3ZnIl09Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix2aWV3Qm94OiIwIDAgMTEwIDI2Iix2ZXJzaW9uOiIxLjEiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInhtbG5zOnhsaW5rIjoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhtbG5zOnl0IjoiaHR0cDovL3d3dy55b3V0dWJlLmNvbSJ9LF8uSygicGF0aCIse2lkOiJ5dHAtc3ZnLXdhdGVybWFyayIsZDoiTSAxNi42ODcwMDYsMC45OTk5ODUyNCBDIDEzLjU1MTA2OSwxLjAzMjc5NzIgNy4wMjQ1MTE0LDEuMTYyNDg1MiA0Ljk5OTUxMjYsMS42ODc0ODUyIGMgLTEuNDk5OTk5MSwwLjQgLTIuNTk5OTk4NCwxLjYgLTIuOTk5OTk4MiwzIC0wLjY5OTk5OTUsMi43IC0wLjY4NzQ5OTUsOC4zMTI0OTk4IC0wLjY4NzQ5OTUsOC4zMTI0OTk4IDAsMCAtMC4wMTI1LDUuNjEyNSAwLjY4NzQ5OTUsOC4zMTI1IDAuMzk5OTk5OCwxLjUgMS41OTk5OTkxLDIuNiAyLjk5OTk5ODIsMyAyLjY5OTk5ODQsMC43IDEzLjQwNjI0MjQsMC42ODc1IDEzLjQwNjI0MjQsMC42ODc1IDAsMCAxMC43MDYyNDMsMC4wMTI1IDEzLjQwNjI0MSwtMC42ODc1IDEuNSwtMC40IDIuNTk5OTk5LC0xLjYgMi45OTk5OTksLTMgMC42OTk5OTksLTIuNyAwLjY4NzQ5OSwtOC4zMTI1IDAuNjg3NDk5LC04LjMxMjUgMCwwIDAuMTEyNSwtNS42MTI0OTk4IC0wLjY4NzQ5OSwtOC4zMTI0OTk4IC0wLjQsLTEuNSAtMS41OTk5OTksLTIuNiAtMi45OTk5OTksLTMgQyAyOS4xMTE5OTgsMC45ODc0ODUyNCAxOC40MDU3NTUsMC45OTk5ODUyNCAxOC40MDU3NTUsMC45OTk5ODUyNCBjIDAsMCAtMC42NzM0MzcsLTAuMDEwOTM4IC0xLjcxODc0OSwwIHogbSA3Mi4yMTg3MDYsMC45MDYyNDk5NiAwLDIxLjI4MTI0OTggMi43ODEyNDgsMCAwLjMxMjUsLTEuMzc1IDAuMDkzNzUsMCBjIDAuMywwLjUgMC43MTg3NSwwLjg4NzUgMS4yMTg3NDksMS4xODc1IDAuNSwwLjMgMS4wODc1LDAuNDA2MjUgMS42ODc0OTksMC40MDYyNSAxLjEsMCAxLjk5OTk5OSwtMC40OTM3NSAyLjQ5OTk5OSwtMS41OTM3NSAwLjUsLTEuMSAwLjgxMjQ5OSwtMi43MDYyNSAwLjgxMjQ5OSwtNC45MDYyNSBsIDAsLTIuNDA2MjUgYyAwLC0xLjYgLTAuMTEyNSwtMi45MDYyNSAtMC4zMTI0OTksLTMuOTA2MjUgLTAuMiwtMC44OTk5OTk5IC0wLjUsLTEuNTkzNzQ5OSAtMSwtMi4wOTM3NDk5IC0wLjUsLTAuNCAtMS4xMDYyNDksLTAuNTkzNzQ5OSAtMS45MDYyNDksLTAuNTkzNzQ5OSAtMC41OTk5OTksMCAtMS4xODc0OTksMC4xOTk5OTk5IC0xLjY4NzQ5OSwwLjQ5OTk5OTkgLTAuNDk5OTk5LDAuMyAtMS4wMTg3NDksMC44MDYyNSAtMS4yMTg3NDksMS40MDYyNSBsIDAsLTcuOTA2MjQ5OSAtMy4yODEyNDgsMCB6IG0gLTQ5Ljk5OTk3LDAuNzgxMjUgMy45MDYyNDgsMTMuOTA2MjQ5OCAwLjE4NzUsNi43MTg3NSAzLjMxMjQ5OCwwIDAsLTYuNzE4NzUgMy44NzQ5OTcsLTEzLjkwNjI0OTggLTMuMzc0OTk4LDAgLTEuNDA2MjQ5LDYuMzEyNDk5OSBjIC0wLjQsMS44OTk5OTk5IC0wLjcxMjQ5OSwzLjE5OTk5OTkgLTAuODEyNDk5LDMuOTk5OTk5OSBsIC0wLjA5Mzc1LDAgYyAtMC4yLC0xLjEgLTAuNTEyNSwtMi40IC0wLjgxMjUsLTMuOTk5OTk5OSBsIC0xLjM3NDk5OSwtNi4zMTI0OTk5IC0zLjQwNjI0OCwwIHogbSAyOS41OTM3MzIsMCAwLDIuNzE4NzUgMy40MDYyNDgsMCAwLDE3LjkwNjI0OTggMy4yODEyNDgsMCAwLC0xNy45MDYyNDk4IDMuNDA2MjQ4LDAgYyAwLDAgMC4wMDYyLC0yLjcxODc1IC0wLjA5Mzc1LC0yLjcxODc1IGwgLTkuOTk5OTk0LDAgeiBtIC01My40OTk5NjcsNS4xMjUgOC45MDYyNDQsNS4xODc0OTk4IC04LjkwNjI0NCw1LjA5Mzc1IDAsLTEwLjI4MTI0OTggeiBtIDg5LjQwNjE5MywwLjA5Mzc1IGMgLTEuNywwIC0yLjg5Mzc1LDAuNTkzNzQ5OSAtMy41OTM3NSwxLjU5Mzc0OTkgLTAuNjk5OTksMC45OTk5OTk5IC0wLjk5OTk5NSwyLjYwNjI0OTkgLTAuOTk5OTk1LDQuOTA2MjQ5OSBsIDAsMi41OTM3NSBjIDAsMi4yIDAuMzAwMDA1LDMuOTA2MjUgMC45OTk5OTUsNC45MDYyNSAwLjcsMS4xIDEuOCwxLjU5Mzc1IDMuNSwxLjU5Mzc1IDEuNCwwIDIuMzg3NSwtMC4zIDMuMTg3NSwtMSAwLjcsLTAuNyAxLjA5Mzc1LC0xLjY5Mzc1IDEuMDkzNzUsLTMuMDkzNzUgbCAwLC0wLjUgLTIuOTA2MjUsLTAuMjE4NzUgYyAwLDEgLTAuMDgxMiwxLjYgLTAuMjgxMjUsMiAtMC4xLDAuNCAtMC41LDAuNjI1IC0xLDAuNjI1IC0wLjMsMCAtMC42MTI1LC0wLjExMjUgLTAuODEyNSwtMC4zMTI1IC0wLjIsLTAuMyAtMC4zMDYyNSwtMC41OTM3NSAtMC40MDYyNSwtMS4wOTM3NSAtMC4xLC0wLjUgLTAuMDkzNywtMS4yMTg3NSAtMC4wOTM3LC0yLjIxODc1IGwgMCwtMC43ODEyNSA1LjcxODc1LC0wLjA5Mzc1IDAsLTIuNjI1IGMgMCwtMS42IC0wLjEwNjI1LC0yLjc4NzUgLTAuNDA2MjUsLTMuNjg3NSAtMC4yLC0wLjg5OTk5OTkgLTAuNzEyNSwtMS41OTk5OTk5IC0xLjMxMjUsLTEuOTk5OTk5OSAtMC43LC0wLjQgLTEuNDg3NSwtMC41OTM3NDk5IC0yLjY4NzUsLTAuNTkzNzQ5OSB6IG0gLTUwLjQ5OTk2NywwLjA5Mzc1IGMgLTEuMDk5OTk5LDAgLTIuMDE4NzQ5LDAuMTg3NDk5OSAtMi43MTg3NDgsMC42ODc0OTk5IC0wLjcsMC40IC0xLjIsMS4xMjUgLTEuNDk5OTk5LDIuMTI0OTk5OSAtMC4zLDEgLTAuNSwyLjI3NSAtMC41LDMuODc1IGwgMCwyLjIxODc1IGMgMCwxLjUgMC4xMDYyNSwyLjc4MTI1IDAuNDA2MjUsMy43ODEyNSAwLjIsMC45IDAuNzA2MjQ5LDEuNjI1IDEuNDA2MjQ5LDIuMTI1IDAuNjk5OTk5LDAuNSAxLjcxMjQ5OSwwLjY4MTI1IDIuODEyNDk4LDAuNzgxMjUgMS4xOTk5OTksMCAyLjA4MTI0OSwtMC4yODc1IDIuNzgxMjQ5LC0wLjY4NzUgMC42OTk5OTksLTAuNCAxLjA5OTk5OSwtMS4wOTM3NSAxLjQ5OTk5OSwtMi4wOTM3NSAwLjM5OTk5OSwtMSAwLjQ5OTk5OSwtMi4zMDYyNSAwLjQ5OTk5OSwtMy45MDYyNSBsIDAsLTIuMjE4NzUgYyAwLC0xLjYgLTAuMiwtMi44NzUgLTAuNDk5OTk5LC0zLjg3NSAtMC4zLC0wLjg5OTk5OTkgLTAuOCwtMS42MjQ5OTk5IC0xLjQ5OTk5OSwtMi4xMjQ5OTk5IC0wLjcsLTAuNSAtMS41ODc1LC0wLjY4NzQ5OTkgLTIuNjg3NDk5LC0wLjY4NzQ5OTkgeiBtIDEyLjE4NzQ5MywwLjA5Mzc1IDAsMTEuOTA2MjQ5OCBjIC0wLjEsMC4zIC0wLjI5Mzc1LDAuNDg3NSAtMC41OTM3NSwwLjY4NzUgLTAuMiwwLjIgLTAuNTEyNSwwLjMxMjUgLTAuODEyNDk5LDAuMzEyNSAtMC4zLDAgLTAuNTg3NSwtMC4xMDYyNSAtMC42ODc1LC0wLjQwNjI1IC0wLjEsLTAuMyAtMC4xODc1LC0wLjcwNjI1IC0wLjE4NzUsLTEuNDA2MjUgbCAwLC0xMC45OTk5OTk4IC0zLjQwNjI0OCwwIDAsMTEuMjE4NzQ5OCBjIDAsMS40IDAuMTg3NSwyLjM5Mzc1IDAuNjg3NSwzLjA5Mzc1IDAuNDk5OTk5LDAuNyAxLjIxODc0OSwxIDIuMjE4NzQ4LDEgMS40LDAgMi40ODc0OTksLTAuNjkzNzUgMy4xODc0OTksLTIuMDkzNzUgbCAwLjA5Mzc1LDAgMC4zMTI1LDEuNzgxMjUgMi41OTM3NDksMCAwLC0xNC45OTk5OTk4IGMgMCwwIC0zLjQwNjI0OCwwLjAwNjIgLTMuNDA2MjQ4LC0wLjA5Mzc1IHogbSAxNy4zMTI0ODksMCAwLDExLjkwNjI0OTggYyAtMC4xLDAuMyAtMC4yOTM3NDksMC40ODc1IC0wLjU5Mzc0OSwwLjY4NzUgLTAuMiwwLjIgLTAuNTEyNSwwLjMxMjUgLTAuODEyNSwwLjMxMjUgLTAuMywwIC0wLjU4NzQ5OSwtMC4xMDYyNSAtMC42ODc0OTksLTAuNDA2MjUgLTAuMSwtMC4zIC0wLjIxODc1LC0wLjcwNjI1IC0wLjIxODc1LC0xLjQwNjI1IGwgMCwtMTAuOTk5OTk5OCAtMy40MDYyNDgsMCAwLDExLjIxODc0OTggYyAwLDEuNCAwLjIxODc1LDIuMzkzNzUgMC43MTg3NDksMy4wOTM3NSAwLjUsMC43IDEuMTg3NSwxIDIuMTg3NDk5LDEgMS4zOTk5OTksMCAyLjUxODc0OSwtMC42OTM3NSAzLjIxODc0OCwtMi4wOTM3NSBsIDAuMDkzNzUsMCAwLjI4MTI1LDEuNzgxMjUgMi42MjQ5OTgsMCAwLC0xNC45OTk5OTk4IGMgMCwwIC0zLjQwNjI0OCwwLjAwNjIgLTMuNDA2MjQ4LC0wLjA5Mzc1IHogbSAyMC45MDYyMzUsMi4wOTM3NDk4IGMgMC40LDAgMC41ODEyNSwwLjExMjUgMC43ODEyNSwwLjMxMjUgMC4yLDAuMyAwLjMwNjI1LDAuNTkzNzUgMC40MDYyNSwxLjA5Mzc1IDAuMSwwLjUgMC4wOTM3LDEuMjE4NzUgMC4wOTM3LDIuMjE4NzUgbCAwLDEuMDkzNzUgLTIuNSwwIDAsLTEuMDkzNzUgYyAwLC0xIC0wLjAwNiwtMS43MTg3NSAwLjA5MzcsLTIuMjE4NzUgMCwtMC40IDAuMTEyNSwtMC44IDAuMzEyNSwtMSAwLjIsLTAuMyAwLjUxMjUsLTAuNDA2MjUgMC44MTI1LC0wLjQwNjI1IHogbSAtNTAuNDk5OTY3LDAuMTI1IGMgMC41LDAgMC44LDAuMTg3NSAxLDAuNjg3NSAwLjE5OTk5OSwwLjUgMC4yODEyNDksMS4zMDYyNSAwLjI4MTI0OSwyLjQwNjI1IGwgMCw0LjY4NzUgYyAwLDEuMSAtMC4wODEyNSwxLjkwNjI1IC0wLjI4MTI0OSwyLjQwNjI1IC0wLjIsMC41IC0wLjUsMC42ODc1IC0xLDAuNjg3NSAtMC41LDAgLTAuNzk5OTk5LC0wLjE4NzUgLTAuOTk5OTk5LC0wLjY4NzUgLTAuMiwtMC41IC0wLjMxMjUsLTEuMzA2MjUgLTAuMzEyNSwtMi40MDYyNSBsIDAsLTQuNjg3NSBjIDAsLTEuMSAwLjExMjUsLTEuOTA2MjUgMC4zMTI1LC0yLjQwNjI1IDAuMiwtMC41IDAuNDk5OTk5LC0wLjY4NzUgMC45OTk5OTksLTAuNjg3NSB6IG0gMzkuNjg3NDc2LDAuMDkzNzUgYyAwLjMsMCAwLjYxMjUsMC4xMDYyNSAwLjgxMjUsMC40MDYyNSAwLjIsMC4zIDAuMjc1LDAuNjc1IDAuMzc1LDEuMzc1IDAuMSwwLjYgMC4xMjQ5OTksMS41MTg3NSAwLjEyNDk5OSwyLjcxODc1IGwgMC4wOTM3NSwxLjkwNjI1IGMgMCwxLjEgMC4wMDYyLDEuOTkzNzUgLTAuMDkzNzUsMi41OTM3NSAtMC4xLDAuNiAtMC4xOTk5OTksMS4wODEyNSAtMC40OTk5OTksMS4yODEyNSAtMC4yLDAuMyAtMC41MDYyNSwwLjQwNjI1IC0wLjkwNjI1LDAuNDA2MjUgLTAuMywwIC0wLjUxMjQ5OSwtMC4wODc1IC0wLjgxMjQ5OSwtMC4xODc1IC0wLjIsLTAuMSAtMC4zOTM3NSwtMC4yOTM3NSAtMC41OTM3NSwtMC41OTM3NSBsIDAsLTguNSBjIDAuMSwtMC40IDAuMjkzNzUsLTAuNyAwLjU5Mzc1LC0xIDAuMywtMC4zIDAuNjA2MjQ5LC0wLjQwNjI1IDAuOTA2MjQ5LC0wLjQwNjI1IHoiLApjbGFzczoieXRwLXN2Zy1maWxsIixmaWxsOiIjZmZmIn0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC95b3V0dWJlX3Nob3J0c19icmFuZF8yNC92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix3aWR0aDoiMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCJ9LF8uSygicGF0aCIse2Q6Im0xOS40NSwzLjg4YzEuMTIsMS44Mi40OCw0LjE1LTEuNDIsNS4yMmwtMS4zMi43NC45NC40MWMxLjM2LjU4LDIuMjcsMS44NSwyLjM1LDMuMjcuMDgsMS40My0uNjgsMi43Ny0xLjk3LDMuNDlsLTgsNC40N2MtMS45MSwxLjA2LTQuMzUuNDYtNS40OC0xLjM1LTEuMTItMS44Mi0uNDgtNC4xNSwxLjQyLTUuMjJsMS4zMy0uNzQtLjk0LS40MWMtMS4zNi0uNTgtMi4yNy0xLjg1LTIuMzUtMy4yNy0uMDgtMS40My42OC0yLjc3LDEuOTctMy40OWw4LTQuNDdjMS45MS0xLjA2LDQuMzUtLjQ2LDUuNDgsMS4zNVoiLApmaWxsOiIjZjAzIn0pLF8uSygicGF0aCIse2Q6Im0xMCwxNWw1LTMtNS0zdjZaIixmaWxsOiIjZmZmIn0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfZmlsbC95b3V0dWJlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHZpZXdCb3g6IjAgMCA2NyA2MCIsZmlsbDoiIn0sXy5LKCJwYXRoIix7ZDoiTTYzIDE0Ljg3YTcuODg1IDcuODg1IDAgMDAtNS41Ni01LjU2QzUyLjU0IDggMzIuODggOCAzMi44OCA4UzEzLjIzIDggOC4zMiA5LjMxYy0yLjcuNzItNC44MyAyLjg1LTUuNTYgNS41NkMxLjQ1IDE5Ljc3IDEuNDUgMzAgMS40NSAzMHMwIDEwLjIzIDEuMzEgMTUuMTNjLjcyIDIuNyAyLjg1IDQuODMgNS41NiA1LjU2QzEzLjIzIDUyIDMyLjg4IDUyIDMyLjg4IDUyczE5LjY2IDAgMjQuNTYtMS4zMWMyLjctLjcyIDQuODMtMi44NSA1LjU2LTUuNTZDNjQuMzEgNDAuMjMgNjQuMzEgMzAgNjQuMzEgMzBzMC0xMC4yMy0xLjMxLTE1LjEzeiJ9KSwKXy5LKCJwYXRoIix7ZmlsbDoiI0ZGRiIsY2xhc3M6ImxvZ28tYXJyb3ciLGQ6Ik0yNi42IDM5LjQzTDQyLjkzIDMwIDI2LjYgMjAuNTd6In0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfb3V0bGluZS9mdWxsc2NyZWVuX2V4aXQvdjEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTAsMTBINlY5aDNWNmgxVjEweiBNMTgsOWgtM1Y2aC0xdjRoNFY5eiBNMTUsMTVoM3YtMWgtNHY0aDFWMTV6IE0xMCwxNEg2djFoM3YzaDFWMTR6In0pKTthWyJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9pY29ucy9td2ViL3lvdXR1YmVfb3V0bGluZS9mdWxsc2NyZWVuL3YxLzI0cHguc3ZnIl09Cl8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik03LDExSDZWNmg1djFIN1YxMXogTTE4LDZoLTV2MWg0djRoMVY2eiBNMTgsMTNoLTF2NGgtNHYxaDVWMTN6IE0xMSwxN0g3di00SDZ2NWg1VjE3eiJ9KSk7cmV0dXJuIGF9O2xxYT1mdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoRW5hKCkpfTttcWE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gc1koImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIvIixhLGIpfTsKY3FhPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5pZGVudGlmaWVyLGQ9Yi5JaixlPWIuZXh0cmFzLGY9Yi50YXJnZXQsaD1iLlBtO2I9Yi5uQTtkJiZhd2FpdCBWWShhLHtpZGVudGlmaWVyOmMsSWo6ZCx0bjohMSxleHRyYXM6ZSxQbTpofSk7YXdhaXQgYS5pc1Zpc2libGUoYyl8fChhPWF3YWl0IFpvYShhLGMpLF8uWE0oImVuZ2FnZW1lbnQtcGFuZWwtcHVzaCIse2lkZW50aWZpZXI6Yyx3ejphLExKOmYsbkE6Yn0pLGMmJl8ub00oKS5kaXNwYXRjaChfLmtBKHt0eXBlOiJNQUlOX0FQUF9BRERfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIixwYXlsb2FkOnt4ejpjfX0pKSl9O1ZZPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5pZGVudGlmaWVyLGQ9Yi5JajtiPWIuUG07YyYmKGQmJmEuT20uc2V0KGMsZCksXy5YTSgiZW5nYWdlbWVudC1wYW5lbC11cGRhdGUiLHtpZGVudGlmaWVyOmMsd3o6ZCxQbTpifSkpfTsKdHFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8ueSgpO25xYSgpO18uSnooYix7amE6Xy5MeCxNYjpvcWF9KTtfLkp6KGIse2phOl8ubEYsTWI6Xy53KCJIVE1MX0RJUiIpPT09InJ0bCI/InJ0bCI6Imx0ciJ9KTtfLkp6KGIse2phOl8ua0YsTWI6KCk9PiEwfSk7Xy5KeihiLHtqYTpfLm1PLFBhOllZfSk7Xy5KeihiLHtqYTpfLlhMLFBhOlpZfSk7Xy5KeihiLHtqYTpfLm9PLE1iOmtxYX0pO18uSnooYix7amE6Xy5MRCxNYjpfLnVPfSk7Xy5KeihiLHtqYTpfLmNMLFBhOnBxYX0pO18uSnooYix7amE6Xy5iSSxXYzpfLm9NfSk7Xy5KeihiLHtqYTpfLnlQLE1iOm5ldyBxcWF9KTtfLkp6KGIse2phOl8udlAsTWI6e1Z1OiEwLEN4OiEwfX0pO18uSnooYix7amE6Xy5KSCxXYzooKT0+UHJvbWlzZS5yZXNvbHZlKGEpfSk7Xy5KeihiLHtqYTpfLktILFdjOigpPT4oKT0+YX0pO18uSnooYix7amE6JFksUGE6YVp9KTtfLkp6KGIse2phOl8uYkwsUGE6cnFhfSk7Xy5KeihiLHtqYTpfLk9XLFdjOl8uaHh9KTsKXy5KeihiLHtqYTpfLmJNLE1iOl8uTE99KTtpZihfLngoIndlYl9lbmFibGVfcmVuZGVyZXJfbG9nZ2VyIikpe2xldCBjPW5ldyBEWDtfLk5NKHdpbmRvdywibmF2aWdhdGUiLCgpPT57Yy5hYm9ydCgpfSk7Xy5KeihiLHtqYTpfLkNHLE1iOm5ldyBzcWEoYy5zaWduYWwpfSl9fTtucWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKSxiPWEucmVzb2x2ZShfLkl5KTtfLkd5Lm1hcHBpbmdzLnNldChTVy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSk7Xy5KeihhLHtqYTpfLkh5LE1iOmxxYX0pfTt6WD1mdW5jdGlvbigpe3ZhciBhPXt9LGI9Xy5WdygpO2ImJihhLmRlc3RpbmF0aW9uU2NyZWVuPWIuZ2V0QXNKc29uKCkudmVUeXBlfHx2b2lkIDApO2EubmF2VHlwZT0iU0xJX05BVl9UWVBFX0NPTEQiO2EuYWN0aW9uVHlwZT0iTEFURU5DWV9BQ1RJT05fRU1CRUQiO3JldHVybntuYXZpZ2F0aW9uOmF9fTsKdXFhPWZ1bmN0aW9uKGEsYj17fSl7cmV0dXJue3R5cGU6Mixjb21tYW5kOmEsZm9ybTpiLmZvcm19fTsKXy5iWj1mdW5jdGlvbihhKXtfLkFxKCJlcF9pbml0X2lqcyIpO3RxYShhKTt2YXIgYj1kb2N1bWVudC5ib2R5O2lmKCFiKXRocm93IEVycm9yKCJpZSIpO2I9bmV3IHZxYSh7cm9vdDpiLHBKOl8ueSgpfSk7Yi5pbnN0YWxsKHdxYSk7Yi50cmFuc2l0aW9uKCJpbml0aWFsaXplZCIpO18uQXEoImVwX2luaXRfaWplIik7Xy54KCJlbWJlZHNfdHJhY2luZ19rcyIpfHxwcGEoKTtfLllNPSEwOyhfLk1rKCJpZW1vYmlsZSIpfHxfLk1rKCJ3aW5kb3dzIHBob25lIikmJl8uTWsoImVkZ2UiKSkmJl8uTWsoIjsgdmlydHVhbCIpfHwoWG9hKGEpLG5vYSgpKTtxb2EoYSk7RVk9YTtqcWEoYSk7YT0hXy54KCJtd2ViX2NvbW1hbmRfaGFuZGxlcl9zY3JlZW5fbWFuYWdlcl9raWxsc3dpdGNoIik7Yj1bXy5RVyxfLlV6LF8uQ3ldO0pvYShfLngoIm13ZWJfY29tbWFuZF9oYW5kbGVyX2Rpc2FibGVfYnVpbGRfY29tbWFuZF9wYXlsb2FkX3N0dWIiKT91cWE6dm9pZCAwLGE/Xy5oeCgpOnZvaWQgMCxhLAphLGIpO18uSnooXy55KCkse2phOl8uVUQsTWI6TFguaW5zdGFuY2V9KTtpb2EoKTtGcGEoKX07V1c9W107RG9hPXtnSDoiU0xJX1NUQVRVU19VTktOT1dOIixlSDoiU0xJX1NUQVRVU19TVUNDRVNTIixjSDoiU0xJX1NUQVRVU19GQUlMVVJFIixmSDoiU0xJX1NUQVRVU19USU1FT1VUIixhSDoiU0xJX1NUQVRVU19BQk9SVEVEIixiSDoiU0xJX1NUQVRVU19DQU5DRUxMRUQiLGRIOiJTTElfU1RBVFVTX1JFSkVDVEVEIn07Y1o9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmV2ZW50cz1uZXcgTWFwfWNsZWFyKCl7dGhpcy5ldmVudHMuY2xlYXIoKX19OwpLbmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLkQ9bmV3IHhxYTt0aGlzLnY9bmV3IGNaO3RoaXMuQj1uZXcgY1o7dGhpcy5vPTA7dGhpcy5mbHVzaEludGVydmFsPTNFNDt0aGlzLmo9bmV3IF8uankodGhpcy5mbHVzaEludGVydmFsKTt0aGlzLmoubGlzdGVuKCJ0aWNrIix0aGlzLmZsdXNoLCExLHRoaXMpfWZsdXNoKCl7aWYodGhpcy5vKXt2YXIgYT17bG9nZ2VkRXZlbnRzOllXKHRoaXMudiksdW5sb2dnZWRFdmVudHM6WVcodGhpcy5CKX07aWYoXy54KCJleHBvcnRfcGxheWVyX3ZlcnNpb25fdG9feXRjb25maWciKSl7dmFyIGI7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSk/KGI9Yi5zcGxpdCgiLSIpWzBdLnJlcGxhY2UoL1wuL2csIiIpLGI9aXNOYU4oTnVtYmVyKGIpKT8iMCI6Yik6Yj0iIjt2YXIgYz1fLncoIlBMQVlFUl9DTElFTlRfVkVSU0lPTiIpO2lmKGMpe2M9Yy5zcGxpdCgiLSIpO2xldCBkPSIiO2MubGVuZ3RoPjEmJihkPWNbYy5sZW5ndGgtMV0pO2M9CkpuYShkLnN0YXJ0c1dpdGgoImNhbmFyeV9leHBlcmltZW50Iik/ImNhbmFyeSI6ZC5zdGFydHNXaXRoKCJjYW5hcnlfY29udHJvbCIpPyJjb250cm9sIjoibm9uZSIpfWVsc2UgYz0iQ0xJRU5UX0NBTkFSWV9TVEFURV9VTktOT1dOIjthLmRpbWVuc2lvbnM9e3BsYXllckNsaWVudFZlcnNpb246YixwbGF5ZXJDYW5hcnlTdGF0ZTpjfX10aGlzLkQuZmx1c2goYSk7dGhpcy52LmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vPTA7dGhpcy5qLmVuYWJsZWQmJnRoaXMuai5zdG9wKCl9fX07eHFhPWNsYXNze2ZsdXNoKGEsYil7Xy54KCJlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nIikmJl8uRXAoInNsaUV2ZW50QmF0Y2giLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6ISFifSl9fTtkWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwplWj1jbGFzcyBleHRlbmRzIGRae2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLmouZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKGEpe3RoaXMuai5lbnRpdHlNZXRhZGF0YT1hfX07eXFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTt6cWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmoucGxheWxpc3QmJmEucHVzaCh0aGlzLmoucGxheWxpc3QpO3RoaXMuai52aWRlb0l0ZW0mJmEucHVzaCh0aGlzLmoudmlkZW9JdGVtKTt0aGlzLmoucGxheWxpc3RJdGVtJiZhLnB1c2godGhpcy5qLnBsYXlsaXN0SXRlbSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTsKQXFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfX07QnFhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJmEucHVzaCguLi4obmV3IEFxYSh0aGlzLmoucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkubygpKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O0NxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19OwpEcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLmNyZWF0b3JFbnRpdHkmJmEucHVzaCh0aGlzLmouY3JlYXRvckVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTtmWj0hMTsKRXFhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuY291bnRlcj1bMCwwLDAsMF07dGhpcy5vPW5ldyBVaW50OEFycmF5KDE2KTt0aGlzLmo9MTY7aWYoIWZaKXt2YXIgYixjPW5ldyBVaW50OEFycmF5KDI1NiksZD1uZXcgVWludDhBcnJheSgyNTYpO3ZhciBlPTE7Zm9yKGI9MDtiPDI1NjtiKyspY1tlXT1iLGRbYl09ZSxlXj1lPDwxXihlPj43JiYyODMpO2dYPW5ldyBVaW50OEFycmF5KDI1Nik7Y1g9YlgoMjU2KTtkWD1iWCgyNTYpO2VYPWJYKDI1Nik7Zlg9YlgoMjU2KTtmb3IobGV0IGg9MDtoPDI1NjtoKyspe2U9aD9kWzI1NV5jW2hdXTowO2VePWU8PDFeZTw8Ml5lPDwzXmU8PDQ7ZT1lJjI1NV5lPj4+OF45OTtnWFtoXT1lO2I9ZTw8MV4oZT4+NyYmMjgzKTt2YXIgZj1iXmU7Y1hbaF09Yjw8MjR8ZTw8MTZ8ZTw8OHxmO2RYW2hdPWY8PDI0fGNYW2hdPj4+ODtlWFtoXT1lPDwyNHxkWFtoXT4+Pjg7ZlhbaF09ZTw8MjR8ZVhbaF0+Pj44fWZaPQohMH1lPWJYKDQ0KTtmb3IoYz0wO2M8NDtjKyspZVtjXT1hWzQqY108PDI0fGFbNCpjKzFdPDwxNnxhWzQqYysyXTw8OHxhWzQqYyszXTtmb3IoZD0xO2M8NDQ7YysrKWE9ZVtjLTFdLGMlNHx8KGE9KGdYW2E+PjE2JjI1NV1eZCk8PDI0fGdYW2E+PjgmMjU1XTw8MTZ8Z1hbYSYyNTVdPDw4fGdYW2E+Pj4yNF0sZD1kPDwxXihkPj43JiYyODMpKSxlW2NdPWVbYy00XV5hO3RoaXMua2V5PWV9ZW5jcnlwdChhKXt2YXIgYj1hLmxlbmd0aDthPW5ldyBVaW50OEFycmF5KGEuYnVmZmVyLnNsaWNlKGEuYnl0ZU9mZnNldCxhLmJ5dGVPZmZzZXQrYikpO2Zvcih2YXIgYz10aGlzLm8sZD0wO2Q8YiYmdGhpcy5qPDE2OylhW2QrK11ePWNbdGhpcy5qKytdO2Zvcih2YXIgZT1iLShiLWQpJTE2O2Q8ZTspaFgodGhpcyksYVtkKytdXj1jWzBdLGFbZCsrXV49Y1sxXSxhW2QrK11ePWNbMl0sYVtkKytdXj1jWzNdLGFbZCsrXV49Y1s0XSxhW2QrK11ePWNbNV0sYVtkKytdXj1jWzZdLGFbZCsrXV49Y1s3XSwKYVtkKytdXj1jWzhdLGFbZCsrXV49Y1s5XSxhW2QrK11ePWNbMTBdLGFbZCsrXV49Y1sxMV0sYVtkKytdXj1jWzEyXSxhW2QrK11ePWNbMTNdLGFbZCsrXV49Y1sxNF0sYVtkKytdXj1jWzE1XTtpZihkPGIpZm9yKGhYKHRoaXMpLHRoaXMuaj0wO2Q8YjspYVtkKytdXj1jW3RoaXMuaisrXTtyZXR1cm4gYX19O2daPSExO0ZxYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMudj1hO3RoaXMubz1ifWFzeW5jIGVuY3J5cHQoYSxiKXt0cnl7cmV0dXJuIGF3YWl0IE5uYSh0aGlzLGEsYil9Y2F0Y2goYyl7dGhyb3cgXy5JcChjKSxnWj0hMCxjO319fTsKaVo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWF9ZW5jcnlwdChhLGIpe3RoaXMuanx8KHRoaXMuaj1uZXcgRXFhKHRoaXMubykpO3ZhciBjPXRoaXMuajtmb3IobGV0IGQ9MDtkPDQ7ZCsrKWMuY291bnRlcltkXT1iW2QqNF08PDI0fGJbZCo0KzFdPDwxNnxiW2QqNCsyXTw8OHxiW2QqNCszXTtjLmo9MTY7cmV0dXJuIHRoaXMuai5lbmNyeXB0KGEpfWRlY3J5cHQoYSxiKXtyZXR1cm4gdGhpcy5lbmNyeXB0KGEsYil9fTsKR3FhPWNsYXNze2NvbnN0cnVjdG9yKGEpe2E6e2lmKCFnWiYmIV8uSmwpe2lmKGhaKXt2YXIgYj1oWjticmVhayBhfWhaPXdpbmRvdy5jcnlwdG8/LnN1YnRsZTtpZihoWj8uaW1wb3J0S2V5JiZoWj8uc2lnbiYmaFo/LmVuY3J5cHQpe2I9aFo7YnJlYWsgYX1oWj12b2lkIDB9Yj12b2lkIDB9YiYmKHRoaXMuaj1uZXcgRnFhKGEsYikpO3RoaXMubz1uZXcgaVooYSl9YXN5bmMgZW5jcnlwdChhLGIpe2lmKHRoaXMuail0cnl7cmV0dXJuIGF3YWl0IHRoaXMuai5lbmNyeXB0KGEsYil9Y2F0Y2goYyl7Xy5JcChjKSxnWj0hMCx0aGlzLmo9dm9pZCAwfXJldHVybiB0aGlzLm8uZW5jcnlwdChhLGIpfWRlY3J5cHQoYSxiKXtyZXR1cm4gdGhpcy5lbmNyeXB0KGEsYil9fTsKSHFhPXtJTlZBTElEX0VOQ09ERVJfVkVSU0lPTjoiSW52YWxpZCBlbmNvZGVyIHZlcnNpb24iLEtFWV9DUkVBVElPTl9GQUlMRUQ6IkZhaWxlZCB0byBjcmVhdGUgZW5jb2RlciBrZXkiLFVOS05PV05fREVDT0RFX0VSUk9SOiJGYWlsZWQgdG8gZGVjb2RlIFBFUyBkYXRhIixVTktOT1dOX0VOQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGVuY29kZSBQRVMgZGF0YSIsV1JPTkdfREFUQV9UWVBFOiJFbmNvZGVyIGNhbm5vdCBwcm9jZXNzIHRoZSBkYXRhIHR5cGUifTtpWD1jbGFzcyBleHRlbmRzIF8uWGp7Y29uc3RydWN0b3IoYSxiPXt9KXtzdXBlcihIcWFbYV0se25hbWU6IlBFU0VuY29kZXJFcnJvciIsdHlwZTphLC4uLmJ9KTt0aGlzLnR5cGU9YTt0aGlzLmxldmVsPSJXQVJOSU5HIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxpWC5wcm90b3R5cGUpfX07CmpaPWNsYXNze2VuY29kZShhLGIpe3RyeXtyZXR1cm4gdGhpcy52KGEsYil9Y2F0Y2goYyl7algoYyxPbmEpfX1kZWNvZGUoYSxiKXt0cnl7cmV0dXJuIHRoaXMubyhhLGIpfWNhdGNoKGMpe2pYKGMsUG5hKX19fTtJcWE9Y2xhc3MgZXh0ZW5kcyBqWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfXYoYSxiKXtiPWtYKGIpO2E9KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKEpTT04uc3RyaW5naWZ5KGEpKTtyZXR1cm4gdGhpcy5qLmVuY3J5cHQoYSxiKX1vKGEsYil7aWYoIShhIGluc3RhbmNlb2YgVWludDhBcnJheSkpdGhyb3cgbmV3IGlYKCJXUk9OR19EQVRBX1RZUEUiLHtJcDoxfSk7dmFyIGM9bmV3IFRleHREZWNvZGVyO2I9a1goYik7YT10aGlzLmouZGVjcnlwdChhLGIpO3JldHVybiBKU09OLnBhcnNlKGMuZGVjb2RlKGEpKX19OwpRbmE9e2FuaW1hdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhbmltYXRpb25FbnRpdHkifX0sYWNjb3VudExpbmtTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYWNjb3VudExpbmtTdGF0dXNFbnRpdHkifX0sYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5In19LGJvb2xlYW5FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYm9vbGVhbkVudGl0eSJ9fSxidXR0b25FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iYnV0dG9uRW50aXR5In19LGNhcHRpb25UcmFjazpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjYXB0aW9uVHJhY2sifX0sCmNoYW5uZWxIYW5kbGU6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hhbm5lbEhhbmRsZSJ9fSxjaGF0TG9hZGluZ1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNoYXRMb2FkaW5nU3RhdGVFbnRpdHkifX0sYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5In19LGNoaXBFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hpcEVudGl0eSJ9fSxjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eSJ9fSwKY29tbWVyY2VDYXJ0TGlzdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21tZXJjZUNhcnRMaXN0RW50aXR5In19LGNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlVG9rZW5CYWxhbmNlRW50aXR5In19LGNvbXBvc2l0ZVNvdXJjZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb21wb3NpdGVTb3VyY2VFbnRpdHkifX0sbXVsdGl2aWV3U3RhZ2luZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouY29tcG9zaXRlU291cmNlS2V5cyYmYS5wdXNoKC4uLnRoaXMuai5jb21wb3NpdGVTb3VyY2VLZXlzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdWx0aXZpZXdTdGFnaW5nRW50aXR5In19LGNvbnRleHROb3RlRmVlZEVudGl0eVBheWxvYWQ6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZCJ9fSwKY29udGV4dE5vdGVVc2VyUmF0aW5nRW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkIn19LGNvbnRpbnVhdGlvblRva2VuRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbnRpbnVhdGlvblRva2VuRW50aXR5In19LGRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZFF1YWxpdHlQaWNrZXJFbnRpdHkifX0sZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5In19LGRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkifX0sCmRvd25sb2FkU3RhdHVzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2FkU3RhdHVzRW50aXR5In19LGRpc21pc3NTdGF0ZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkaXNtaXNzU3RhdGUifX0sc2Z2QXVkaW9JdGVtQ3VycmVudGx5UGxheWluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5In19LGVtb2ppRm91bnRhaW5EYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImVtb2ppRm91bnRhaW5EYXRhRW50aXR5In19LGVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJlbW9qaUN1c3RvbWl6YXRpb25TZXRFbnRpdHkifX0sCmZha2VDaGFubmVsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5hbHRlcm5hdGVDaGFubmVsJiZhLnB1c2godGhpcy5qLmFsdGVybmF0ZUNoYW5uZWwpO3RoaXMuai5hbHRlcm5hdGVDaGFubmVsTGlzdCYmYS5wdXNoKC4uLnRoaXMuai5hbHRlcm5hdGVDaGFubmVsTGlzdCk7dGhpcy5qLm9uZW9mQ2hhbm5lbEVudGl0eSYmYS5wdXNoKHRoaXMuai5vbmVvZkNoYW5uZWxFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VDaGFubmVsIn19LGZha2VQbGF5bGlzdDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouZW50cnlDb2xsZWN0aW9uJiZhLnB1c2godGhpcy5qLmVudHJ5Q29sbGVjdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVBsYXlsaXN0In19LGZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbjpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnBhcmVudFBsYXlsaXN0JiZhLnB1c2godGhpcy5qLnBhcmVudFBsYXlsaXN0KTtpZih0aGlzLmouZW50cmllcylmb3IobGV0IGIgb2YgdGhpcy5qLmVudHJpZXMpYS5wdXNoKC4uLihuZXcgeXFhKGIpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbiJ9fSxmYWtlVmlkZW86Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRlc2NyaXB0aW9uRW50aXR5JiZhLnB1c2godGhpcy5qLmRlc2NyaXB0aW9uRW50aXR5KTt0aGlzLmouY3JlYXRvcnMmJmEucHVzaCguLi50aGlzLmouY3JlYXRvcnMpO3RoaXMuai50aGVCaWdnZXN0RmFuJiZhLnB1c2godGhpcy5qLnRoZUJpZ2dlc3RGYW4pO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VWaWRlbyJ9fSxmYWtlVmlkZW9EZXNjcmlwdGlvbjpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmYWtlVmlkZW9EZXNjcmlwdGlvbiJ9fSwKZmVhdHVyZWRQcm9kdWN0c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmZWF0dXJlZFByb2R1Y3RzRW50aXR5In19LHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHkifX0sZmxvd1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZsb3dTdGF0ZUVudGl0eSJ9fSxpY29uQmFkZ2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iaWNvbkJhZGdlRW50aXR5In19LGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iaW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eSJ9fSxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpa2VCdXR0b25BbmltYXRpb25FbnRpdHkifX0sCmxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVDaGF0UG9sbFN0YXRlRW50aXR5In19LGRhdGFGcmVzaG5lc3NFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZGF0YUZyZXNobmVzc0VudGl0eSJ9fSxsaXZlVmlld2VyTGVhZGVyYm9hcmRDaGF0RW50cnlQb2ludFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHkifX0sbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eSJ9fSxsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJsaXZlUmVhY3Rpb25zRGF0YUVudGl0eSJ9fSwKbG9nb0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJsb2dvRW50aXR5In19LG1hY3JvTWFya2VyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hY3JvTWFya2VyRW50aXR5In19LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5kb3dubG9hZHNMaXN0JiZhLnB1c2godGhpcy5qLmRvd25sb2Fkc0xpc3QpO3RoaXMuai5zbWFydERvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmouc21hcnREb3dubG9hZHNMaXN0KTt0aGlzLmoucmVjb21tZW5kZWREb3dubG9hZHNMaXN0JiZhLnB1c2godGhpcy5qLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHkifX0sCm1haW5Eb3dubG9hZHNMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO2lmKHRoaXMuai5kb3dubG9hZHMpZm9yKGxldCBiIG9mIHRoaXMuai5kb3dubG9hZHMpYS5wdXNoKC4uLihuZXcgenFhKGIpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5Eb3dubG9hZHNMaXN0RW50aXR5In19LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHkifX0sbWFpblBsYXlsaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jaGFubmVsT3duZXImJgphLnB1c2godGhpcy5qLmNoYW5uZWxPd25lcik7dGhpcy5qLnZpZGVvcyYmYS5wdXNoKC4uLnRoaXMuai52aWRlb3MpO3RoaXMuai5jb2xsYWJvcmF0b3JDaGFubmVscyYmYS5wdXNoKC4uLnRoaXMuai5jb2xsYWJvcmF0b3JDaGFubmVscyk7dGhpcy5qLmRvd25sb2FkU3RhdGUmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0ZSk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0RW50aXR5In19LG1haW5QbGF5bGlzdFZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7dGhpcy5qLmNoYW5uZWxDb250cmlidXRvciYmYS5wdXNoKHRoaXMuai5jaGFubmVsQ29udHJpYnV0b3IpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5QbGF5bGlzdFZpZGVvRW50aXR5In19LAptYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja0RhdGEmJmEucHVzaCh0aGlzLmoucGxheWJhY2tEYXRhKTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZhLnB1c2godGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5In19LG1haW5WaWRlb0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoub3duZXImJmEucHVzaCh0aGlzLmoub3duZXIpO3RoaXMuai5kb3dubG9hZFN0YXRlJiZhLnB1c2godGhpcy5qLmRvd25sb2FkU3RhdGUpO3RoaXMuai51c2VyU3RhdGUmJmEucHVzaCguLi4obmV3IENxYSh0aGlzLmoudXNlclN0YXRlKSkubygpKTsKdGhpcy5qLmFkZGl0aW9uYWxNZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgQnFhKHRoaXMuai5hZGRpdGlvbmFsTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5WaWRlb0VudGl0eSJ9fSxtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eSJ9fSxtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHkifX0sbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3RoaXMuai50cmFja3MmJmEucHVzaCguLi50aGlzLmoudHJhY2tzKTsKcmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWwifX0sbXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eSJ9fSxtdXNpY0FsYnVtUmVsZWFzZTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5JiZhLnB1c2godGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSk7dGhpcy5qLnByaW1hcnlBcnRpc3RzJiZhLnB1c2goLi4udGhpcy5qLnByaW1hcnlBcnRpc3RzKTt0aGlzLmouZGV0YWlscyYmYS5wdXNoKHRoaXMuai5kZXRhaWxzKTsKdGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTt0aGlzLmoudHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrcyk7dGhpcy5qLnNoYXJlJiZhLnB1c2godGhpcy5qLnNoYXJlKTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FsYnVtUmVsZWFzZSJ9fSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbCJ9fSxtdXNpY0FydGlzdERldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnBhcmVudEFydGlzdCYmYS5wdXNoKHRoaXMuai5wYXJlbnRBcnRpc3QpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQXJ0aXN0RGV0YWlsIn19LG11c2ljQXJ0aXN0OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpO3RoaXMuai51c2VyRGV0YWlscyYmYS5wdXNoKHRoaXMuai51c2VyRGV0YWlscyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBcnRpc3QifX0sbXVzaWNBcnRpc3RVc2VyRGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wYXJlbnRBcnRpc3QmJmEucHVzaCh0aGlzLmoucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FydGlzdFVzZXJEZXRhaWwifX0sbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmouZG93bmxvYWRlZFRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLmouc21hcnREb3dubG9hZGVkVHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5qLmRvd25sb2FkZWRFcGlzb2RlcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuai5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5qLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJmEucHVzaCguLi50aGlzLmouc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5qLmRvd25sb2FkZWRQbGF5bGlzdHMmJmEucHVzaCguLi50aGlzLmouZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5qLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmYS5wdXNoKC4uLnRoaXMuai5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpO3RoaXMuai5tZXRhZGF0YU9ubHlUcmFja3MmJgphLnB1c2goLi4udGhpcy5qLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5In19LG11c2ljTGlicmFyeUVkaXQ6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNMaWJyYXJ5RWRpdCJ9fSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5In19LG11c2ljUGxheWxpc3Q6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai50cmFja3MpO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO3RoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJmEucHVzaCh0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTsKdGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLmRvd25sb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5qLnNpZGVsb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouc2lkZWxvYWRNZXRhZGF0YSk7dGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTt0aGlzLmouZW50cnlDb2xsZWN0aW9uJiZhLnB1c2godGhpcy5qLmVudHJ5Q29sbGVjdGlvbik7dGhpcy5qLnNoYXJlJiZhLnB1c2godGhpcy5qLnNoYXJlKTt0aGlzLmoucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEmJmEucHVzaCguLi4obmV3IERxYSh0aGlzLmoucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljUGxheWxpc3QifX0sbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljU2hhcmU6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNTaGFyZSJ9fSxtdXNpY1RyYWNrRGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wYXJlbnRUcmFjayYmYS5wdXNoKHRoaXMuai5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja0RldGFpbCJ9fSxtdXNpY1RyYWNrRG93bmxvYWRNZXRhZGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoucGxheWJhY2tEYXRhJiZhLnB1c2godGhpcy5qLnBsYXliYWNrRGF0YSk7CnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljVHJhY2s6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmYS5wdXNoKHRoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuai5hcnRpc3RzJiZhLnB1c2goLi4udGhpcy5qLmFydGlzdHMpO3RoaXMuai5hdWRpb01vZGVWZXJzaW9uJiZhLnB1c2godGhpcy5qLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuai52aWRlb01vZGVWZXJzaW9uJiZhLnB1c2godGhpcy5qLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuai51c2VyRGV0YWlscyYmCmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpO3RoaXMuai5hbGJ1bVJlbGVhc2UmJmEucHVzaCh0aGlzLmouYWxidW1SZWxlYXNlKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5saWJyYXJ5RWRpdCYmYS5wdXNoKHRoaXMuai5saWJyYXJ5RWRpdCk7dGhpcy5qLmRvd25sb2FkTWV0YWRhdGEmJmEucHVzaCh0aGlzLmouZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5qLnBsYXliYWNrUG9zaXRpb24mJmEucHVzaCh0aGlzLmoucGxheWJhY2tQb3NpdGlvbik7dGhpcy5qLmx5cmljcyYmYS5wdXNoKHRoaXMuai5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljVHJhY2sifX0sbXVzaWNUcmFja1VzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudFRyYWNrJiZhLnB1c2godGhpcy5qLnBhcmVudFRyYWNrKTsKcmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja1VzZXJEZXRhaWwifX0sb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eSJ9fSxvZmZsaW5lVmlkZW9Qb2xpY3k6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZVZpZGVvUG9saWN5In19LG9mZmxpbmVWaWRlb1N0cmVhbXM6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZVZpZGVvU3RyZWFtcyJ9fSxvZmZsaW5lYWJpbGl0eUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lYWJpbGl0eUVudGl0eSJ9fSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai5mYWtlQ2hpbGRyZW4mJmEucHVzaCguLi50aGlzLmouZmFrZUNoaWxkcmVuKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHkifX0scGFnZUhlYWRlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwYWdlSGVhZGVyRW50aXR5In19LHBhcnR5R2FtZVBhbmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBhcnR5R2FtZVBhbmVsRW50aXR5In19LHNsaWRlckdhbWVQYW5lbEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzbGlkZXJHYW1lUGFuZWxFbnRpdHkifX0scGRwU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGRwU3RhdGVFbnRpdHkifX0scGlubmVkUHJvZHVjdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwaW5uZWRQcm9kdWN0RW50aXR5In19LApwbGF5YmFja0RhdGE6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYW5zZmVyJiZhLnB1c2godGhpcy5qLnRyYW5zZmVyKTt0aGlzLmouYWRzUGxheWJhY2tEYXRhJiZhLnB1c2goLi4udGhpcy5qLmFkc1BsYXliYWNrRGF0YSk7dGhpcy5qLmRybUxpY2Vuc2UmJmEucHVzaCh0aGlzLmouZHJtTGljZW5zZSk7dGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSYmYS5wdXNoKHRoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWJhY2tEYXRhIn19LHBsYXllclN0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBsYXllclN0YXRlRW50aXR5In19LHBsYXlsaXN0VGh1bWJuYWlsRWRpdHNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eSJ9fSwKcXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJxdWFudGl0eUluY3JlbWVudGVyRW50aXR5In19LHJlZnJlc2g6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icmVmcmVzaCJ9fSxzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5In19LHNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQifX0sc2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNlbGVjdGlvblZhbHVlTGlzdEVudGl0eSJ9fSxzZXR0aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNldHRpbmdFbnRpdHkifX0sCnN0cmluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzdHJpbmdFbnRpdHkifX0sc3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHkifX0sdHJhbnNmZXI6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLm9mZmxpbmVWaWRlb1N0cmVhbXMmJmEucHVzaCguLi50aGlzLmoub2ZmbGluZVZpZGVvU3RyZWFtcyk7dGhpcy5qLmNhcHRpb25UcmFjayYmYS5wdXNoKC4uLnRoaXMuai5jYXB0aW9uVHJhY2spO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInRyYW5zZmVyIn19LHRyZW5kaW5nT2ZmZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idHJlbmRpbmdPZmZlckVudGl0eSJ9fSwKdW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idW5wbHVnZ2VkU2lkZXNoZWV0SGVhZGVyU3RhdGVFbnRpdHkifX0sdmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkifX0sdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5In19LHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkifX0sdm90aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZvdGluZ0VudGl0eSJ9fSwKeXRNYWluQ2hhbm5lbEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudXNlckNoYW5uZWxEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJDaGFubmVsRGV0YWlscyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ieXRNYWluQ2hhbm5lbEVudGl0eSJ9fSx5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHkifX0seXRNYWluRG93bmxvYWRlZFZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai52aWRlbyYmYS5wdXNoKHRoaXMuai52aWRlbyk7dGhpcy5qLnBsYXliYWNrRGF0YSYmYS5wdXNoKHRoaXMuai5wbGF5YmFja0RhdGEpO3RoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kmJmEucHVzaCh0aGlzLmoub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHkifX0sCnl0TWFpblZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jaGFubmVsT3duZXImJmEucHVzaCh0aGlzLmouY2hhbm5lbE93bmVyKTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5qLmRvd25sb2FkU3RhdHVzJiZhLnB1c2godGhpcy5qLmRvd25sb2FkU3RhdHVzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5WaWRlb0VudGl0eSJ9fX07WG5hPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWI7dGhpcy52PXt9fX07CkpxYT1jbGFzcyBleHRlbmRzIGpae3YoYSl7cmV0dXJuIGF9byhhKXtpZihhIGluc3RhbmNlb2YgVWludDhBcnJheSl0aHJvdyBuZXcgaVgoIldST05HX0RBVEFfVFlQRSIse0lwOjB9KTtyZXR1cm4gYX19O1puYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLmpbMF09bmV3IEpxYTtpZighXy54KCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgYT10aGlzLmo7dHJ5e2xldCBkPV8uVmooKTt2YXIgYj1rWChkKTt2YXIgYz1uZXcgSXFhKG5ldyBpWihiKSxuZXcgR3FhKGIpKX1jYXRjaChkKXt0aHJvdyBhPWQgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6ZC5tZXNzYWdlfSk6bmV3IGlYKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksXy5HcChhKSxhO31hWzFdPWN9fX07CiRuYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMudG9rZW49YTt0aGlzLmo9Yjt0aGlzLm9ic2VydmVycz1bXTthPW5ldyBfLnUuQnJvYWRjYXN0Q2hhbm5lbChgUEVSU0lTVEVOVF9FTlRJVFlfU1RPUkVfU1lOQzoke18uVmooKX1gKTthLm9ubWVzc2FnZT10aGlzLm8uYmluZCh0aGlzKTt0aGlzLmNoYW5uZWw9YX1vYnNlcnZlKGEpe3RoaXMub2JzZXJ2ZXJzLnB1c2goYSk7cmV0dXJuKCk9Pnt2YXIgYj10aGlzLm9ic2VydmVycy5pbmRleE9mKGEpO2I+PTAmJnRoaXMub2JzZXJ2ZXJzLnNwbGljZShiLDEpfX1vKGEpe3FYKHRoaXMsYS5kYXRhKX1sYSgpe3RoaXMuY2hhbm5lbC5jbG9zZSgpfX07CkxxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPUtxYTt0aGlzLm9ic2VydmVycz1bXTt0aGlzLnZhbHVlPWF9c3Vic2NyaWJlKGEpe2lmKGEuZWohPW51bGwpdGhyb3cgRXJyb3IoIkZjIik7YS5laj10aGlzLm9ic2VydmVycy5sZW5ndGg7dGhpcy5vYnNlcnZlcnMucHVzaChhKTt0cnl7YSh0aGlzLnZhbHVlKX1jYXRjaChiKXt9cmV0dXJuKCk9Pnt2YXIgYj10aGlzLm9ic2VydmVyc1t0aGlzLm9ic2VydmVycy5sZW5ndGgtMV07dGhpcy5vYnNlcnZlcnNbYS5lal09YjtiLmVqPWEuZWo7dGhpcy5vYnNlcnZlcnMucG9wKCl9fXVwZGF0ZShhKXt0aGlzLnZhbHVlPWEodGhpcy52YWx1ZSk7dGhpcy5ub3RpZnkoKX1zZXQoYSl7dGhpcy52YWx1ZT1hO3RoaXMubm90aWZ5KCl9bm90aWZ5KCl7Zm9yKGxldCBhIG9mIHRoaXMub2JzZXJ2ZXJzKXRyeXthKHRoaXMudmFsdWUpfWNhdGNoKGIpe319fTsKam9hPXtsYW5kc2NhcGU6IihtYXgtd2lkdGg6IDI5OXB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIixwb3J0cmFpdDoiKG1heC13aWR0aDogMjk5cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSJ9O1hZPXt9O2taPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYodGhpcy5jb25zdHJ1Y3Rvcj09PWtaKXRocm93IG5ldyBUeXBlRXJyb3IoInNkIik7fWRpc3Bvc2UoKXt9ZGlzY29ubmVjdCgpe31vYnNlcnZlKGEsYixjKXtyZXR1cm57ZWxlbWVudDphLG9wdGlvbjpjfX1yZigpe319OwpNcWE9Y2xhc3MgZXh0ZW5kcyBrWntjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pc0Nvbm5lY3RlZD0hMDt0aGlzLnY9ITE7dGhpcy5vYnNlcnZlcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIodGhpcy5CLmJpbmQodGhpcykse3Jvb3RNYXJnaW46Ii0wLjFweCJ9KTt0aGlzLm89bmV3IE1hcDt0aGlzLmo9bmV3IE1hcH1kaXNwb3NlKCl7dGhpcy5kaXNjb25uZWN0KCk7dGhpcy5qLmNsZWFyKCl9ZGlzY29ubmVjdChhPSExKXt0aGlzLmlzQ29ubmVjdGVkPSExO3RoaXMudj1hO3RoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO2ZvcihsZXQgYiBvZiB0aGlzLm8udmFsdWVzKCkpYi5kaXNjb25uZWN0KCl9QihhKXtmb3IobGV0IGMgb2YgYSl7dmFyIGI9dGhpcy5qLmdldChjLnRhcmdldCk7aWYoIWIpY29udGludWU7YT1jLmlzSW50ZXJzZWN0aW5nO2ZvcihsZXQgW2QsZV1vZiBiKXtiPWQ7bGV0IGY9ZTtiJiYoYi5zdGF0ZT09PSJ2aXNpYmxlIiYmYXx8Yi5zdGF0ZT09PSJoaWRkZW4iJiYKIWEpJiYoZihjLnRhcmdldCxiLnN0YXRlKSxiLlZiJiZ0aGlzLnJmKHtlbGVtZW50OmMudGFyZ2V0LG9wdGlvbjpifSkpfX19RChhKXtmb3IobGV0IGIgb2YgYSlpZigoYT10aGlzLmouZ2V0KGIudGFyZ2V0KSkmJmIuaXNJbnRlcnNlY3RpbmcpZm9yKGxldCBbYyxkXW9mIGEpe2E9YztsZXQgZT1kO2EmJmEuc3RhdGU9PT0icHJlc2NhbiImJihlKGIudGFyZ2V0LGEuc3RhdGUpLGEuVmImJnRoaXMucmYoe2VsZW1lbnQ6Yi50YXJnZXQsb3B0aW9uOmF9KSl9fW9ic2VydmUoYSxiLGMpe3ZhciBkPShkPXRoaXMuai5nZXQoYSkpJiZkLmhhcyhjKT97ZWxlbWVudDphLG9wdGlvbjpjfTp2b2lkIDA7aWYoZClyZXR1cm4gZDtkPXtlbGVtZW50OmEsb3B0aW9uOmN9O3RoaXMuai5oYXMoYSl8fHRoaXMuai5zZXQoYSxuZXcgTWFwKTt2YXIgZT10aGlzLmouZ2V0KGEpO2UmJiFlLmhhcyhjKSYmZS5zZXQoYyxiKTt0aGlzLnZ8fChjLnN0YXRlPT09InByZXNjYW4iJiYoYj0wLGEuaGFzQXR0cmlidXRlKCJwcmVzY2FuLWhlaWdodCIpJiYKKGM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJwcmVzY2FuLWhlaWdodCIpKSxpc05hTihjKXx8KGI9YykpLHRoaXMuby5oYXMoYik/Yj10aGlzLm8uZ2V0KGIpOihjPWAtMC4xcHggLTAuMXB4ICR7Yn1weCAtMC4xcHhgLGM9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHRoaXMuRC5iaW5kKHRoaXMpLHtyb290TWFyZ2luOmN9KSx0aGlzLm8uc2V0KGIsYyksYj1jKSxiLm9ic2VydmUoYSkpLHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZShhKSk7cmV0dXJuIGR9cmYoYSl7dmFyIGI9dGhpcy5qLmdldChhLmVsZW1lbnQpO2lmKGImJmIuaGFzKGEub3B0aW9uKSl7Yi5kZWxldGUoYS5vcHRpb24pO2lmKGEmJmEub3B0aW9uLnN0YXRlPT09InByZXNjYW4iKWZvcihsZXQgYyBvZiB0aGlzLm8udmFsdWVzKCkpYy51bm9ic2VydmUoYS5lbGVtZW50KTtiLnNpemU9PT0wJiYodGhpcy5qLmRlbGV0ZShhLmVsZW1lbnQpLHRoaXMub2JzZXJ2ZXIudW5vYnNlcnZlKGEuZWxlbWVudCkpfX19OwpxWT1bInlvdXR1YmVfZmlsbCIsInlvdXR1YmVfb3V0bGluZSJdO0FYPXZvaWQgMDt2YXIgTnFhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudmFsdWU9YX1kZXJlZigpe3JldHVybiB0aGlzLnZhbHVlfX0sT3FhPXR5cGVvZiBXZWFrUmVmPT09ImZ1bmN0aW9uIj9XZWFrUmVmOk5xYTt2YXIgRlg9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubWFwPW5ldyBXZWFrTWFwfWFkZChhLGIpe3RoaXMubWFwLmhhcyhhKXx8KHRoaXMuaihhKSx0aGlzLm1hcC5zZXQoYSxbXSkpO3RoaXMubWFwLmdldChhKS5wdXNoKG5ldyBPcWEoYikpfWdldChhKXt2YXIgYj10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1iLm1hcC5nZXQoYSk7aWYoYyl7dmFyIGQ9MDtmb3IobGV0IGUgb2YgYyl7bGV0IGY9ZS5kZXJlZigpO2YmJihkKysseWllbGQgZil9aWYoMipkPGMubGVuZ3RoKXtkPTA7Zm9yKGxldCBlIG9mIGMpZS5kZXJlZigpJiYoY1tkKytdPWUpO2MubGVuZ3RoPWR9fX0oKX19KGE9PnthLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixBb2Ese29uY2U6ITB9KX0pLEVYPW5ldyBXZWFrTWFwLERYPUFib3J0Q29udHJvbGxlcixsWj1BYm9ydFNpZ25hbDt0eXBlb2YgbFouYWJvcnQhPT0iZnVuY3Rpb24iJiYobFouYWJvcnQ9eG9hKTsKdHlwZW9mIGxaLnByb3RvdHlwZS50aHJvd0lmQWJvcnRlZCE9PSJmdW5jdGlvbiImJihsWi5wcm90b3R5cGUudGhyb3dJZkFib3J0ZWQ9eW9hKTt0eXBlb2YgbFouYW55IT09ImZ1bmN0aW9uIiYmKGxaLmFueT16b2EpO3R5cGVvZiBsWi50aW1lb3V0IT09ImZ1bmN0aW9uIiYmKGxaLnRpbWVvdXQ9Qm9hKTt2YXIgR1g9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIik7dmFyIFVZPW5ldyBfLkkoImNvcHlMaW5rUmVuZGVyZXIiKTt2YXIgUHFhPW5ldyBfLkkoImF1ZGlvVHJhY2tTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIFFxYT1uZXcgXy5JKCJjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIFJxYT1uZXcgXy5JKCJzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQiKTt2YXIgU3FhPW5ldyBfLkkoInNob3dDYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kIik7dmFyIE9wYT1uZXcgXy5JKCJwaG9uZURpYWxlckVuZHBvaW50Iik7dmFyIFNwYT1uZXcgXy5JKCJzZW5kU21zRW5kcG9pbnQiKTt2YXIgS3BhPW5ldyBfLkkoImNvcHlUZXh0RW5kcG9pbnQiKTt2YXIgbVo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5uYW1lPWF9byhhPXt9KXtJWCh0aGlzLm5hbWUsIlNVQ0NFU1MiLGEpfWooYT17fSl7SVgodGhpcy5uYW1lLCJGQUlMVVJFIixhKX19LEVvYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9IlNMSV9OQU1FX1lPVVRVQkVfRU1CRURTX1dFQl9GVUxMU0NSRUVOX1JFUVVFU1RfU0xJIjt0aGlzLnNsaUlkPWE7dGhpcy50aW1lb3V0TXM9M0U0O3RoaXMubz0iIjt0aGlzLnY9LTE7dGhpcy5qPSExO3RoaXMuZGltZW5zaW9ucz17fX1nZXRJZCgpe3JldHVybiB0aGlzLnNsaUlkfURyKGE9e30pe3RoaXMuanx8KHRoaXMuaj0hMCx0aGlzLmRpbWVuc2lvbnM9YSx0aGlzLm89Q29hKCksWlcoe2RpbWVuc2lvbnM6dGhpcy5kaW1lbnNpb25zLHJlY29yZHM6W3tuYW1lOnRoaXMubmFtZSxzdGF0ZToiU0xJX1NUQVRFX1NUQVJUIixzbGlJZDp0aGlzLm99XX0pLHRoaXMudGltZW91dE1zPjAmJih0aGlzLnY9c2V0VGltZW91dCgoKT0+Cnt0aGlzLnpnKCJUSU1FT1VUIil9LHRoaXMudGltZW91dE1zKSkpfXpnKGEpe3RoaXMuaiYmKHRoaXMudGltZW91dE1zPjAmJmNsZWFyVGltZW91dCh0aGlzLnYpLHRoaXMuaj0hMSxhPXtkaW1lbnNpb25zOnRoaXMuZGltZW5zaW9ucyxyZWNvcmRzOlt7bmFtZTp0aGlzLm5hbWUsc3RhdHVzOkhYKGEpLHN0YXRlOiJTTElfU1RBVEVfRU5EIixzbGlJZDp0aGlzLm99XX0sXy5FeS5yZWdpc3Rlci5kZWxldGUoYCR7dGhpcy5uYW1lfV8ke3RoaXMuc2xpSWR9YCksWlcoYSkpfX07dmFyIFNYPW5ldyBtWigiU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX1BMQVlFUl9FUlJPUl9TTEkiKSxUWD1uZXcgbVooIlNMSV9OQU1FX1lPVVRVQkVfRU1CRURTX1dFQl9QTEFZRVJfVU5QTEFZQUJMRV9TTEkiKTt2YXIgR29hPVsiY2xpY2tUcmFja2luZ1BhcmFtcyIsImNvbW1hbmRNZXRhZGF0YSIsImxvZ2dpbmdVcmxzIiwiYnVpbGRDb21tYW5kUGF5bG9hZCJdO3ZhciBMWD1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYz0hMSxkPSExLGU9W10pe3ZhciBmPXdYO3RoaXMudj1hO3RoaXMubmF2aWdhdGU9dm9pZCAwO3RoaXMuaj1iO3RoaXMuWT1jO3RoaXMuST1kO3RoaXMuQj1mO3RoaXMuSz1lO3RoaXMuTT1bXTt0aGlzLm89bmV3IFNldDt0aGlzLkQ9ITE7S29hKHRoaXMpfXJlc29sdmVDb21tYW5kKGEsYil7cmV0dXJuIE5YKHRoaXMsYSxiKS5oYW5kbGVkfX07dmFyIG5aPW5ldyBfLlZzKCJFTlRJVFlfU1RBVEVfVE9LRU4iKTt2YXIgb1o9Y2xhc3N7YXN5bmMgcmVzb2x2ZShhLGIpe2F3YWl0IHRoaXMucmVzb2x2ZUNvbW1hbmQoYSxiKX19O3ZhciBwWj1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5zdG9yZT1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe2lmKGE9Xy5CKGEsXy53bmEpPy5lbnRpdHlCYXRjaFVwZGF0ZSlhPXsuLi5hLG11dGF0aW9uczpbLi4uKGEubXV0YXRpb25zfHxbXSldfSxhd2FpdCBkb2EoYSx0aGlzLnN0b3JlKX19O3BaW18uTG5dPVtuWl07dmFyICRZPW5ldyBfLlZzKCJQQU5FTF9MT0FESU5HX1NUUkFURUdZX1RPS0VOIik7dmFyIHFaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuY29udHJvbGxlcj1hO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k9Yn1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe3ZhciBjPV8uQihhLF8uTlcpO2lmKGM/LnBhbmVsTG9hZGluZ1N0cmF0ZWd5KXt2YXIgZD1WWCh0aGlzLmNvbnRyb2xsZXIsYj8uZm9ybT8uZWxlbWVudCksZT1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8ucG9zaXRpb24sZj1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8uaG92ZXJDb25maWcsaD1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8uZXhwYW5kVG9GdWxsV2lkdGgsaz1jLmNvbnRleHR1YWxTaGVldFByZXNlbnRhdGlvbkNvbmZpZz8ub3BlblRvU2lkZTthd2FpdCB0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmV4ZWN1dGUoe2NvbW1hbmQ6YSxkYXRhOmMucGFuZWxMb2FkaW5nU3RyYXRlZ3ksZ246YXN5bmMgbD0+CntpZihsLnNoZWV0Vmlld01vZGVsKXtpZihmKXt2YXIgbT10aGlzLmNvbnRyb2xsZXI7bS5vPSEhZi5wcmV2ZW50Q2xvc2VXaGlsZUhvdmVyZWQ7bS5oaWRlRGVsYXlNcz1mLmhpZGVEZWxheU1zPz8wO20uc2hvd0RlbGF5TXM9Zi5zaG93RGVsYXlNcz8/MH1hd2FpdCB0aGlzLmNvbnRyb2xsZXIud2coe3ZpZXdNb2RlbDpsLnNoZWV0Vmlld01vZGVsLFVyOmUsZXhwYW5kVG9GdWxsV2lkdGg6aCxvcGVuVG9TaWRlOmt9LGQsYj8uZm9ybT8uZWxlbWVudCl9fSxidjp7bGF5ZXI6MH19KX19fTtxWltfLkxuXT1bXy5jTCwkWV07dmFyIFRxYT1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1hc3luYyByZXNvbHZlQ29tbWFuZChhKXt2YXIgYj1fLkIoYSxQcWEpO2ImJihhPWF3YWl0IF8uTEgoKSkmJmE/LmlzUmVhZHk/LigpJiYoYj1Rb2EoYSxiPy5sYW5ndWFnZUNvZGUpKSYmYS5zZXRBdWRpb1RyYWNrKGIpfX07dmFyIHJaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhKXt2YXIgYj1fLkIoYSxRcWEpO2lmKGImJihhPWF3YWl0IF8uTEgoKSkpe3ZhciBjPWI/Lmxhbmd1YWdlQ29kZTtiPWI/LmlzQXV0b1RyYW5zbGF0ZWQ7YS5nZXRWaWRlb0RhdGEmJl8uJE8oYSkubGVuZ3RoJiYoKGM9Um9hKGEsYyxiKSk/YS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLGMpOihhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7fSksYS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLHt9KSkpO2E9YS5pc1N1YnRpdGxlc09uKCk/Xy5hQSgiQ0FQVElPTl9PTl9UT0FTVCIsdm9pZCAwLCJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9uIik6Xy5hQSgiQ0FQVElPTl9PRkZfVE9BU1QiLHZvaWQgMCwiU3VidGl0bGVzL0NDIHR1cm5lZCBvZmYiKTt0aGlzLmoucmVzb2x2ZUNvbW1hbmQoXy5hUShfLldMKGEpLDVFMykpfX19OwpyWltfLkxuXT1bXy5VRF07dmFyIHNaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe18uQihhLFJxYSkmJihhPWF3YWl0IF8uTEgoKSkmJihhPVNvYShhKSkmJnRoaXMuai5yZXNvbHZlQ29tbWFuZChhLGIpfX07c1pbXy5Mbl09W18uVURdO3ZhciB0Wj1jbGFzcyBleHRlbmRzIG9ae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9YXN5bmMgcmVzb2x2ZUNvbW1hbmQoYSxiKXtfLkIoYSxTcWEpJiYoYT1hd2FpdCBfLkxIKCkpJiYoKGE9Vm9hKGEpKT90aGlzLmoucmVzb2x2ZUNvbW1hbmQoYSxiKTooYj1fLmFBKCJDTE9TRURfQ0FQVElPTlNfRElTQUJMRUQiLHZvaWQgMCwiTm8gY2FwdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgdGhpcyB2aWRlbyIpLHRoaXMuai5yZXNvbHZlQ29tbWFuZChfLmFRKF8uV0woYikpKSkpfX07dFpbXy5Mbl09W18uVURdO3ZhciBzcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5zaWduYWw9YTt0aGlzLmo9dGhpcy5vLmJpbmQodGhpcyk7dGhpcy5sb2dnaW5nRW5hYmxlZD0hMDt0aGlzLmlkcz1uZXcgU2V0O2EuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLHRoaXMuaik7dGhpcy5qb2JJZD1fLllqKHRoaXMuaiwxRTQpfXd5KGEpe3RoaXMubG9nZ2luZ0VuYWJsZWQmJiF0aGlzLmlkcy5oYXMoYSkmJnRoaXMuaWRzLmFkZChhKX1vKCl7dGhpcy5sb2dnaW5nRW5hYmxlZCYmKHRoaXMubG9nZ2luZ0VuYWJsZWQ9ITEsXy5qZi5BYSh0aGlzLmpvYklkKSx0aGlzLnNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsdGhpcy5qKSxXb2EodGhpcykpfX07dmFyIFJYO3ZhciBVcWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk9tPW5ldyBNYXA7dGhpcy5qPW5ldyBNYXB9T3ooYSxiKXtpZihhKXt0aGlzLk9tLnNldChhLGIpO3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMucmVzb2x2ZShiKSx0aGlzLmouZGVsZXRlKGEpKX19fTt2YXIgYVo9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YTt0aGlzLnY9Yn1qKCl7aWYodGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneSYmdGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneS5pbmxpbmVDb250ZW50KXJldHVybiB0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmlubGluZUNvbnRlbnR9YXN5bmMgZXhlY3V0ZShhKXt2YXIgYj1hLlRJLGM9YS5wYXJlbnRWZSxkPWEuYnYsZT1hLmduLGY9YS5jb21tYW5kO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k9YS5kYXRhOyhhPXRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnNjcmVlblZlP3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnNjcmVlblZlOmIpJiZfLkRPKHRoaXMudixhLGMsZCk7KGM9dGhpcy5qKCkpJiZhd2FpdCBlKGMpO3RoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3k/LnJlcXVlc3RUZW1wbGF0ZSYmKGY9YXdhaXQgJG9hKHRoaXMsZikpJiZhd2FpdCBlKGYpfX07YVpbXy5Mbl09W18uSXksXy5PV107dmFyIHBxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj10aGlzLm89ITE7dGhpcy5zaG93RGVsYXlNcz10aGlzLmhpZGVEZWxheU1zPTA7dGhpcy5EPSExO3RoaXMuST0oKT0+e3RoaXMuaj0hMH07dGhpcy5aPSgpPT57dGhpcy5qPSExfTt0aGlzLlU9KCk9Pnt0aGlzLmo9ITB9O3RoaXMuSz0oKT0+e3RoaXMuaj0hMX19UHooYSxiPSExKXtiP3RoaXMuTT1hOnRoaXMuY29udGFpbmVyPWF9YXN5bmMgd2coYSxiLGM9Yil7V1godGhpcyk7dGhpcy5zaG93RGVsYXlNcz90aGlzLlk9c2V0VGltZW91dChhc3luYygpPT57YXdhaXQgJFgodGhpcyxhLGIsYyl9LHRoaXMuc2hvd0RlbGF5TXMpOmF3YWl0ICRYKHRoaXMsYSxiLGMpfWFzeW5jIEplKCl7V1godGhpcyk7dGhpcy5oaWRlRGVsYXlNcz90aGlzLkI9c2V0VGltZW91dChhc3luYygpPT57YXdhaXQgYVkodGhpcyl9LHRoaXMuaGlkZURlbGF5TXMpOmF3YWl0IGFZKHRoaXMpfWFzeW5jIGRtKCl7cmV0dXJuIFVYKHRoaXMpPy5kbSgpPz8KITF9fTt2YXIgb3BhPVsidG91Y2htb3ZlIiwic2Nyb2xsIl07dmFyIHVaPSExO3ZhciBjWT0hMTt2YXIgbnBhPXtscihhKXthLnBhcmVudElkPT1udWxsJiYodVp8fChiWSgpLHNldEludGVydmFsKGJZLDZFNSksdVo9ITApLGZZKGEsIndlYl90cmFjaW5nX2FjdGlvbiIpKX19O3ZhciBoWSxLcWE9e2lMOl8ueCgid2ViX3RyYWNpbmdfYWxsX2NvbXBvbmVudHMiKSxRdjpfLngoIndlYl90cmFjaW5nX2V4cG9ydF90b19jc2kiKSxIdjpmdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxjPT5TdHJpbmcoY3x8IiIpKTpbU3RyaW5nKGF8fCIiKV19KCJ3ZWJfdHJhY2luZ19lbmFibGVkX3NwYW5zIiksUnY6Xy54KCJ3ZWJfdHJhY2luZ19leHBvcnRfdG9fZGV2dG9vbHMiKSxNcTpfLnNqKCJ0ZWxfbWF4X2JyZWFkY3J1bWJzIiwwKX07aFk9bmV3IExxYTt2YXIga3BhPXtSZW5kZXI6IkNPV19TUEFOX1RZUEVfUkVOREVSIixPbkluaXQ6IkNPV19TUEFOX1RZUEVfT05fSU5JVCIsRWZmZWN0OiJDT1dfU1BBTl9UWVBFX0VGRkVDVCIsQ29tcHV0ZWQ6IkNPV19TUEFOX1RZUEVfQ09NUFVURUQiLFNpZ25hbFVwZGF0ZToiQ09XX1NQQU5fVFlQRV9TSUdOQUxfVVBEQVRFIixSZW5kZXJFZmZlY3Q6IkNPV19TUEFOX1RZUEVfUkVOREVSX0VGRkVDVCIsQ3JlYXRlUmVhY3RpdmVDb21wb25lbnQ6IkNPV19TUEFOX1RZUEVfQ09NUE9ORU5UX1JFTkRFUiJ9O3ZhciBtcGE9Xy54KCJ3ZWJfc2hvcnRzX2VuYWJsZV90cmFjaW5nIik7dmFyIHRwYT1bImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20iLCJodHRwczovL3R2LnlvdXR1YmUuY29tIiwiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20iLCJodHRwczovL3d3dy55b3V0dWJlLmNvbSJdLHZwYT1fLnNqKCJ3aWxfaWNvbl9tYXhfY29uY3VycmVudF9mZXRjaGVzIixJbmZpbml0eSksWlk9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuRmE9YTt0aGlzLktrPWI7dGhpcy5ZPXt9O3RoaXMuRD17fTt0aGlzLm89e307dGhpcy5JPXRoaXMuY291bnRlcj0wO3RoaXMuQj0hIV8udS5jYWNoZXM7dGhpcy5VPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO3RoaXMuWj12b2lkIDA7dGhpcy52PW51bGw7dGhpcy5NPV8ueCgid2lsX2ljb25fdXNlX21hc2tfcmVuZGVyaW5nIik/MTowO3RoaXMub2E9Xy54KCJ3aWxfaWNvbl9uZXR3b3JrX2ZpcnN0Iik7dGhpcy5NYT1fLngoIndpbF9pY29uX3JlbmRlcl93aGVuX2lkbGUiKTt0aGlzLlFhPSFfLngoIndpbF9pY29uX2xvYWRfaW1tZWRpYXRlbHkiKTsKdGhpcy5LPSExO2E9KCk9Pnt0aGlzLkImJih0aGlzLlU9Xy51LmNhY2hlcy5vcGVuKCJ5dC1pY29ucyIpLnRoZW4oZD0+dGhpcy5aPWQpLmNhdGNoKCgpPT57dGhpcy5CPSExfSkpfTtjPWM/LigpfHx7fTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYykpYz1kLGI9Xy5mQyhlKSxqWShiKSx0aGlzLkRbY109Yi5jbG9uZU5vZGUoITApO3RoaXMuSz1xcGEodGhpcyk7dGhpcy5LIGluc3RhbmNlb2YgUHJvbWlzZT90aGlzLksudGhlbihhKTphKCl9aihhKXtyZXR1cm4hIXRoaXMubWYoYSl9YXN5bmMgeWEoYSl7aWYoYS5sZW5ndGgpe3ZhciBiPVtdO2ZvcihsZXQgYyBvZiBhKShhPXRoaXMubWYoYykpJiYhdGhpcy5EW2EudXJsXSYmYi5wdXNoKGtZKHRoaXMsYSkudGhlbigoKT0+e30pLmNhdGNoKCgpPT57fSkpO1Byb21pc2UuYWxsKGIpfX1weShhKXt2YXIgYj10aGlzLm1mKGEpO3JldHVybiBiP3RoaXMuTT09PTE/bFkodGhpcyxiLHRoaXMuTSk6KGE9dGhpcy5EW2IudXJsXSk/CihhPWEuY2xvbmVOb2RlKCEwKSxuWSh0aGlzLGEpLGxZKHRoaXMsYix0aGlzLk0sYSkpOmtZKHRoaXMsYikudGhlbihjPT57dmFyIGQ9Yz8wOjE7blkodGhpcyxjKTtyZXR1cm4gbFkodGhpcyxiLGQsYyl9KTooXy5IcChuZXcgXy5YaigiSWNvbiBub3QgZm91bmQiLHtpY29uU2hhcGU6YX0pKSwoKT0+e30pfWFzeW5jIGdhKGEsYil7cmV0dXJuIHBZKHRoaXMsYSkudGhlbihjPT57d3BhKHRoaXMsYSxjLGIpO3JldHVybiBjfSl9YXN5bmMgaGEoYSxiKXtyZXR1cm4gYj9iLm1hdGNoKGEpLnRoZW4oYz0+YyYmYy5vaz9jOlByb21pc2UucmVqZWN0KCkpOlByb21pc2UucmVqZWN0KCl9bWYoYSl7cmV0dXJuIHRoaXMuRmEubWYoYSl9fTtaWVtfLkxuXT1bXy5tTyxfLmxGLF8uSW4oXy5vTyldO3ZhciB5cGE9e0FDQ0VTU19USU1FOiJjbG9jayIsQUNDT1VOVF9CT1g6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiI/InBlcnNvbl9ib3giOiJwZXJzb25fYWNjb3VudCIsQUNDT1VOVF9CT1hfQ0FJUk86InBlcnNvbl9hY2NvdW50X2NhaXJvIixBQ0NPVU5UX0NJUkNMRToicGVyc29uX2NpcmNsZSIsQUNDT1VOVF9DSVJDTEVfQ0FJUk86InBlcnNvbl9jaXJjbGVfY2Fpcm8iLEFDQ09VTlRfTElOS0VEOiJhY2NvdW50X2xpbmtfc3VjY2VzcyIsQUNDT1VOVF9VTkxJTktFRDoiYWNjb3VudF9saW5rIixBRERfRlJJRU5EOiJwZW9wbGUiLEFERF9NT0RFUkFUT1I6InNoaWVsZF9hZGQiLEFERF9UT19MSUJSQVJZOiJib29rbWFyayIsQUREX1RPX1BMQVlMSVNUOiJhZGQiLEFERF9UT19RVUVVRV9UQUlMOiJsaXN0X3F1ZXVlIixBRERfVE9fUkVNT1RFX1FVRVVFOiJsaXN0X211c2ljIixBRERfVE9fV0FUQ0hfTEFURVI6ImNsb2NrIixBRERfVklERU9fTElOSzoiZmlsbV9zdHJpcF9hZGQiLApBTEVSVF9XQVJOX1JFRDoiYWxlcnRfdHJpYW5nbGUiLEFSUk9XX0JBQ0s6ImFycm93X2xlZnQiLEFSUk9XX0RJQUdPTkFMX1VQX1JJR0hUX0ZJTExFRDoiYXJyb3dfZGlhZ29uYWxfdXBfcmlnaHQiLEFSUk9XX0RST1BfRE9XTjoiY2hldnJvbl9kb3duIixBUlJPV19EUk9QX1VQOiJjaGV2cm9uX3VwIixBUlJPV19GT1JXQVJEOiJhcnJvd19yaWdodCIsQVJUSVNUOiJwZXJzb25fbXVzaWMiLEFVRElPVFJBQ0s6ImF1ZGlvIixBVVRPX0FXRVNPTUU6InNwYXJrbGUiLEFWQVRBUl9BTk9OWU1PVVM6InBlcnNvbl9jaXJjbGUiLEFWQVRBUl9MT0dHRURfT1VUOiJwZXJzb25fY2lyY2xlIixCQUNLOiJhcnJvd19sZWZ0IixCQVJfQ0hBUlQ6ImJhcl9ncmFwaCIsQkxPQ0s6InNsYXNoX2NpcmNsZV9sZWZ0IixCTE9DS19VU0VSOiJzbGFzaF9jaXJjbGVfbGVmdCIsQk9PS01BUktfQk9SREVSOiJib29rbWFyayIsQlJFQUtJTkdfTkVXU19BTFRfMToiYXJ0aWNsZV9hbGVydCIsQlJPQURDQVNUX0NBSVJPOiJwb2RjYXN0X2NhaXJvIiwKQlVHX1JFUE9SVDoiYnVnIixDQU1FUkFfQUxUOiJjYW1lcmEiLENBTVBBSUdOOiJtZWdhcGhvbmUiLENBTkNFTDoieF9jaXJjbGUiLENBUFRJT05TOiJjbG9zZWRfY2FwdGlvbiIsQ0FTVF9PVVRMSU5FOiJjaHJvbWVjYXN0IixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09GRjoiYmVsbCIsQ0hBTk5FTF9OT1RJRklDQVRJT05fUFJFRkVSRU5DRV9PTjoiYmVsbF9vbiIsQ0hBVDoibWVzc2FnZV9idWJibGVfbGVmdCIsQ0hBVF9CVUJCTEU6Im1lc3NhZ2VfYnViYmxlX2VtcHR5IixDSEFUX1NQQVJLOiJzcGFya19tZXNzYWdlX2J1YmJsZV9sZWZ0IixDSEVDS19CT1hfT1VUTElORV9CTEFOSzoiYm94X2VtcHR5IixDSEVDS19DSVJDTEVfT1VUTElORToiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfVEhJQ0s6ImNoZWNrX2NpcmNsZSIsQ0xBUklGWToiYXJ0aWNsZV9jbGFyaWZ5IixDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRDoiY2xvc2VkX2NhcHRpb24iLENMT1NFOiJ4X21hcmsiLApDTE9VRF9VUExPQUQ6ImNsb3VkX2Fycm93X3VwIixDT0xMQVBTRToiY2hldnJvbl91cCIsQ09MTEFQU0VfQ0FJUk86ImNoZXZyb25fdXBfY2Fpcm8iLENPTExFQ1RJT046ImxheWVycyIsQ09MT1JfTEVOUzoicGFsZXR0ZSIsQ09NTUVOVDoibWVzc2FnZV9idWJibGVfcmlnaHQiLENPTlNFTlRfU0hJRUxEOiJwZXJzb25fc2hpZWxkIixDT05URU5UX0NVVDoic2Npc3NvcnMiLENPTlRFTlRfQ1VUX0NBSVJPOiJzY2lzc29yc19jYWlybyIsQ09VUlNFOl8ueCgid2ViX2VuYWJsZV9jb3Vyc2VfaWNvbl91cGRhdGUiKT8iY3JlYXRvcl9hY2FkZW15IjoibGlnaHRidWxiIixDT1VSU0VfQ0FJUk86Xy54KCJ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZSIpPyJjcmVhdG9yX2FjYWRlbXlfY2Fpcm8iOiJsaWdodGJ1bGJfY2Fpcm8iLENSRUFUSU9OX0xJVkU6InJhZGFyX2xpdmUiLENSRUFUSU9OX1BPU1Q6ImJveF9wZW5jaWwiLENSRUFUSU9OX1VQTE9BRDoibXlfdmlkZW9zIixDUkVBVElPTl9VUExPQURfUkVEOiJ1cGxvYWQiLApDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTjoiZG9sbGFyX3NpZ24iLENSRUFUT1JfTUVUQURBVEFfTU9ORVRJWkFUSU9OX09GRjoiZG9sbGFyX3NpZ25fb2ZmIixDUkVBVE9SX1NUVURJTzoieW91dHViZV9zdHVkaW8iLERBU0hCT0FSRDoiZ3JpZF9hc3ltbWV0cmljYWwiLERFTEVURToidHJhc2hfY2FuIixERUxFVEVfU1dFRVA6InRyYXNoX2NhbiIsREVTS1RPUDoibGFwdG9wIixESVNMSUtFOiJ0aHVtYl9kb3duIixESVNMSUtFX1NFTEVDVEVEOiJ0aHVtYl9kb3duIixESVNNSVNTQUw6InhfbWFyayIsRElTTUlTU19RVUVVRToibGlzdF9yZW1vdmUiLERPTkVfQUxMOiJjaGVja19kb3VibGUiLERPV05fQVJST1c6ImFycm93X2Rvd24iLERPX05PVF9ESVNUVVJCOiJzbGFzaF9jaXJjbGVfbGVmdCIsRFJBRlQ6InBhcGVyX2Nvcm5lcl9mb2xkZWQiLERSQUdfSEFORExFOiJiYXJzXzIiLEVESVQ6InBlbmNpbCIsRU1PSkk6ImZhY2VfdmVyeV9oYXBweSIsRU1PSklfRkxBR1M6ImZsYWciLApFTU9KSV9PQkpFQ1RTOiJsaWdodGJ1bGIiLEVNT0pJX1BFT1BMRToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9SRUNFTlQ6ImNsb2NrIixFTVBUWV9IRUFSVDoiaGVhcnQiLEVNUFRZX0xJS0U6InRodW1iX3VwIixFUlJPUl9CTEFDSzoiYWxlcnRfY2lyY2xlIixFUlJPUl9PVVRMSU5FOiJhbGVydF9jaXJjbGUiLEVYSVRfQVBQOiJhcnJvd19pbiIsRVhJVF9UT19BUFA6ImFycm93X2luIixFWFBBTkQ6ImNoZXZyb25fZG93biIsRVhQQU5EX0FMTDoiY2hldnJvbl9leHBhbmQiLEVYUEFORF9DQUlSTzoiY2hldnJvbl9kb3duX2NhaXJvIixFWFBBTkRfTEVTUzoiY2hldnJvbl91cCIsRVhQQU5EX01PUkU6ImNoZXZyb25fZG93biIsRVhQTE9SRToiY29tcGFzcyIsRVhQTE9SRV9ERVNUSU5BVElPTjoiY29tcGFzcyIsRVhURVJOQUxfTElOSzoib3Blbl9uZXciLEZBQl9VUExPQUQ6InVwbG9hZCIsRkFDRV9IQVBQWV9PVVRMSU5FOiJmYWNlX2hhcHB5IixGQUNUX0NIRUNLOiJhcnRpY2xlX2NoZWNrIiwKRkFTSElPTl9MT0dPOiJmYXNoaW9uIixGQVNISU9OX0xPR09fQ0FJUk86ImZhc2hpb25fY2Fpcm8iLEZBVk9SSVRFOiJoZWFydCIsRkVFREJBQ0s6Im1lc3NhZ2VfYnViYmxlX2FsZXJ0IixGRUVEQkFDS19DQUlSTzoibWVzc2FnZV9idWJibGVfYWxlcnRfY2Fpcm8iLEZJTExfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsRklMTF9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLEZJTExfRE9MTEFSX1NJR05fSEVBUlRfMTI6ImRvbGxhcl9zaWduX2hlYXJ0IixGSUxURVI6Im1lbnVfZmlsdGVyIixGSVJTVF9QQUdFOiJjaGV2cm9uX2ZpcnN0IixGTEFHOiJmbGFnIixGVUxMX0hFQVJUOiJoZWFydCIsR0FNRV9DT05TT0xFX0RQQUQ6ImdhbWVfY29uc29sZV9kcGFkIixHQU1FX0NPTlNPTEVfRkFDRV9CVVRUT05TOiJnYW1lX2NvbnNvbGVfZmFjZV9idXR0b25zIixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHQU1JTkdfTE9HT19DQUlSTzoiZ2FtaW5nX2NhaXJvIiwKR09fVE9fUEFHRToiYXJyb3dfcmlnaHQiLEdST1VQUzoicGVvcGxlX2dyb3VwIixIQVBQWToiZmFjZV9oYXBweSIsSEVBTFRIX0FORF9TQUZFVFk6InNoaWVsZF9wbHVzIixIRUxQOiJxdWVzdGlvbl9jaXJjbGUiLEhFTFBfQ0FJUk86InF1ZXN0aW9uX2NpcmNsZV9jYWlybyIsSEVMUF9PVVRMSU5FOiJxdWVzdGlvbl9jaXJjbGUiLEhJREU6InNsYXNoX2NpcmNsZV9sZWZ0IixJTUFHRToiaW1hZ2UiLElORklOSVRZX0lDT046ImluZmluaXR5IixJTkZPOiJpbmZvX2NpcmNsZSIsSU5GT19PVVRMSU5FOiJpbmZvX2NpcmNsZSIsSU5TRVJUX0NIQVJUOiJiYXJfZ3JhcGhfYm94X3ZlcnRpY2FsIixJTlNFUlRfQ0hBUlRfT1VUTElORUQ6ImJhcl9ncmFwaF9ib3hfdmVydGljYWwiLElOU0VSVF9QSE9UTzoiaW1hZ2UiLEtFRVA6InBpbiIsS0VFUF9PRkY6InBpbl9vZmYiLEtFWUJPQVJEOiJrZXlib2FyZCIsS0VZQk9BUkRfQVJST1dfRE9XTjoiY2hldnJvbl9kb3duIixLRVlCT0FSRF9BUlJPV19VUDoiY2hldnJvbl91cCIsCktJRFNfQkxPQ0s6InNsYXNoX2NpcmNsZV9sZWZ0IixMQU5HVUFHRToiZ2xvYmUiLExBU1RfUEFHRToiY2hldnJvbl9sYXN0IixMQVVOQ0g6Im9wZW5fbmV3IixMRUFSTklORzoibGlnaHRidWxiIixMRUFSTklOR19DQUlSTzoibGlnaHRidWxiX2NhaXJvIixMSUJSQVJZX0FERDp0WSgibGlicmFyeV9hZGQiKSxMSUJSQVJZX09VVExJTkU6ImxpYnJhcnkiLExJQlJBUllfUkVNT1ZFOnRZKCksTElHSFRCVUxCX1NQQVJLX09VVExJTkU6ImxpZ2h0YnVsYl9zcGFyayIsTElLRVNfUExBWUxJU1Q6InRodW1iX3VwIixMSUtFU19QTEFZTElTVF9DQUlSTzoidGh1bWJfdXBfY2Fpcm8iLExJS0U6InRodW1iX3VwIixMSUtFX1NFTEVDVEVEOiJ0aHVtYl91cCIsTElWRToicmFkYXJfbGl2ZSIsTElWRV9DQUlSTzoicmFkYXJfbGl2ZV9jYWlybyIsTElWRV9VTkxJU1RFRDoibGluayIsTE9DQVRJT05fT046ImxvY2F0aW9uX3BvaW50IixMT0NBVElPTl9QSU46ImxvY2F0aW9uX3BvaW50IixMT09QOiJhcnJvd19yZXBlYXQiLApMT09QX0FDVElWRToiYXJyb3dfcmVwZWF0IixMT09QX09ORToiYXJyb3dfcmVwZWF0XzEiLExPT1BfT05FX0FDVElWRToiYXJyb3dfcmVwZWF0XzEiLE1FSDoiZmFjZV9tZWgiLE1FTUJFUlNfT05MWV9NT0RFX09GRjoibWVzc2FnZV9idWJibGVfbGVmdCIsTUVOVToiYmFyc18zIixNRVNTQUdFOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixNSUNST1BIT05FX09OOiJtaWMiLE1JWDoieW91dHViZV9taXgiLE1PTkVUSVpBVElPTl9PTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixNT05FWV9GSUxMOiJkb2xsYXJfc2lnbl9jb250YWluZXIiLE1PTkVZX0ZJTExfSlBZOiJ5ZW5fc2lnbl9jb250YWluZXIiLE1PTkVZX0hFQVJUOiJkb2xsYXJfc2lnbl9oZWFydCIsTU9SRV9IT1JJWjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsTU9SRV9WRVJUOiJvdmVyZmxvd192ZXJ0aWNhbCIsTVVTSUM6ImF1ZGlvIixNVVNJQ19DQUlSTzoiYXVkaW9fY2Fpcm8iLE1VU0lDX05PVEVfU1lNQk9MOiJtdXNpYyIsTVVTSUNfU0hVRkZMRToiYXJyb3dfc2h1ZmZsZSIsCk1ZX0NIQU5ORUw6InBlcnNvbl9jaXJjbGUiLE1ZX0xPQ0FUSU9OOiJsb2NhdGlvbl9wb2ludCIsTkVXU19TVE9SWToibmV3cyIsTkVYVDoiY2hldnJvbl9yaWdodCIsTk9USUZJQ0FUSU9OUzoiYmVsbCIsTk9USUZJQ0FUSU9OU19BQ1RJVkU6ImJlbGxfb24iLE5PVElGSUNBVElPTlNfQ0FJUk86ImJlbGxfY2Fpcm8iLE5PVElGSUNBVElPTlNfRE9ORV9DSEVDS01BUks6ImNoZWNrIixOT1RJRklDQVRJT05TX0lOQk9YOiJiZWxsIixOT1RJRklDQVRJT05TX05PTkU6ImJlbGwiLE5PVElGSUNBVElPTlNfT0ZGOiJiZWxsX29mZiIsTk9UX0lOVEVSRVNURUQ6InNsYXNoX2NpcmNsZV9sZWZ0IixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixPRkZMSU5FX0NMT1VEOiJjbG91ZF9vZmYiLE9GRkxJTkVfRE9XTkxPQUQ6ImRvd25sb2FkIixPRkZMSU5FX0RPV05MT0FEX0NBSVJPOiJkb3dubG9hZF9jYWlybyIsT0ZGTElORV9QQVVTRToicGF1c2UiLE9QRU5fSU5fTkVXOiJvcGVuX25ldyIsCk9VVExJTkVfQURKVVNUOiJhZGp1c3QiLE9VVExJTkVfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsT1VUTElORV9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLE9VVExJTkVfQkFHOiJiYWciLE9VVExJTkVfQ0xPQ0tfSEFMRl9DSVJDTEU6ImNsb2NrX2hhbGZfY2lyY2xlIixPVVRMSU5FX01PQklMRV9ET1dOTE9BRDoibW9iaWxlX2Rvd25sb2FkIixPVVRMSU5FX09WRVJGTE9XX0hPUklaT05UQUxfMzI6Im92ZXJmbG93X2hvcml6b250YWwiLE9VVExJTkVfT1ZFUkZMT1dfVkVSVElDQUw6Im92ZXJmbG93X3ZlcnRpY2FsIixPVVRMSU5FX1lPVVRVQkVfSU1QUk9WRV9UVjoieW91dHViZV9pbXByb3ZlX3R2IixQQUlEOiJkb2xsYXJfc2lnbiIsUEFVU0VfT1VUTElORUQ6InBhdXNlIixQQVlNRU5UOiJjcmVkaXRfY2FyZCIsUEVSU09OX1JBREFSX0ZJTExFRDoicGVyc29uX3JhZGFyIixQSE9ORV9ET1dOTE9BRDoibW9iaWxlX2Rvd25sb2FkIixQTEFZQUJMRVNfTE9HTzoidGljX3RhY190b2UiLApQTEFZQUJMRVNfTE9HT19DQUlSTzoidGljX3RhY190b2VfY2Fpcm8iLFBMQVlMSVNUUzoibGlzdF9wbGF5X2Fycm93IixQTEFZTElTVFNfQ0FJUk86Imxpc3RfcGxheV9hcnJvd19jYWlybyIsUExBWUxJU1RfQUREOnRZKCJsaXN0X2FkZCIpLFBMQVlMSVNUX0FERF9DSEVDSzp0WSgibGlzdF9jaGVjayIpLFBMQVlMSVNUX1BMQVk6Imxpc3RfcGxheV9hcnJvdyIsUExBWV9BTEw6InBsYXlfYXJyb3ciLFBMQVlfQ0lSQ0xFOiJwbGF5X2Fycm93X2NpcmNsZSIsUExBWV9PVVRMSU5FRDoicGxheV9hcnJvd19jaXJjbGUiLFBSSVZBQ1lfSU5GTzoic2hpZWxkIixQUklWQUNZX1BSSVZBVEU6ImxvY2siLFBSSVZBQ1lfUFVCTElDOiJlYXJ0aCIsUFJJVkFDWV9VTkxJU1RFRDoibGluayIsUFJPTU9URToibWVnYXBob25lIixQVVJDSEFTRVM6InByaWNlX3RhZyIsUFVSQ0hBU0VfU1VQRVJfQ0hBVDoic3VwZXJfY2hhdCIsUFVSQ0hBU0VfU1VQRVJfU1RJQ0tFUjoic3VwZXJfc3RpY2tlciIsUVVFU1RJT05fQU5TV0VSOiJtZXNzYWdlX2J1YmJsZV9xdWVzdGlvbiIsClFVRVVFX1BMQVlfTEFTVDoibGlzdF9xdWV1ZV9sYXN0IixRVUVVRV9QTEFZX05FWFQ6Imxpc3RfcGxheV9hcnJvdyIsUkVNSVhfRklMTEVEOiJ5b3V0dWJlX3Nob3J0c19yZW1peCIsUkVNT1ZFOiJiYXJfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFOiJiYXJfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFX09VVExJTkU6ImJhcl9jaXJjbGUiLFJFTU9WRV9ET05FOiJjaGVja19kb3VibGVfb2ZmIixSRU1PVkVfRlJPTV9ISVNUT1JZOiJiYXJfY2lyY2xlIixSRU1PVkVfRlJPTV9QTEFZTElTVDoiYmFyX2NpcmNsZSIsUkVNT1ZFX01PREVSQVRPUjoic2hpZWxkX29mZiIsUkVQTEFZOiJhcnJvd19jaXJjbGUiLFJFUExBWV8xMDoic2tpcF9iYWNrXzEwIixSRVBPUlRfUFJPQkxFTToiYWxlcnRfdHJpYW5nbGUiLFNBRDoiZmFjZV9zYWQiLFNBVkVfUExBWUxJU1Q6ImJvb2ttYXJrIixTQ0hFRFVMRToiY2xvY2siLFNDSE9PTDoiY3JlYXRvcl9hY2FkZW15IixTQ1JFRU5fRlVMTFNDUkVFTjoic2NyZWVuX2Z1bGwiLApTRUFSQ0hfSElTVE9SWToiYXJyb3dfdGltZSIsU0VMTDoicHJpY2VfdGFnIixTRVRUSU5HUzoiZ2VhciIsU0VUVElOR1NfQ0FJUk86ImdlYXJfY2Fpcm8iLFNFVFRJTkdTX0xJR0hUOiJnZWFyIixTRVRUSU5HU19NQVRFUklBTDoiZ2VhciIsU0hBUkVfQVJST1c6InNoYXJlIixTSElFTERfV0lUSF9BVkFUQVI6InBlcnNvbl9zaGllbGQiLFNIT1BQSU5HX0JBRzoiYmFnIixTSE9QUElOR19CQUdfQ0FJUk86ImJhZ19jYWlybyIsU0hPUFBJTkdfQ0FSVDoiY2FydCIsU0hPUlRTX0NPTU1FTlQ6InlvdXR1YmVfc2hvcnRzX21lc3NhZ2VfYnViYmxlX3JpZ2h0IixTSE9SVFNfRElTTElLRToieW91dHViZV9zaG9ydHNfdGh1bWJfZG93biIsU0hPUlRTX0xJS0U6InlvdXR1YmVfc2hvcnRzX3RodW1iX3VwIixTSE9SVFNfU0hBUkU6InlvdXR1YmVfc2hvcnRzX3NoYXJlIixTSFVGRkxFOiJhcnJvd19zaHVmZmxlIixTTE9XX01PREVfT0ZGOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixTT0NJQUw6InBlb3BsZSIsClNPUlQ6Im1lbnVfc29ydCIsU1BBUktfTElHSFRCVUxCX09VVExJTkU6InNwYXJrX2xpZ2h0YnVsYiIsU1BFRURfMVg6IjF4IixTUEVFRF8xX1BPSU5UXzJYOiIxX3BvaW50XzJ4IixTUEVFRF8xX1BPSU5UXzVYOiIxX3BvaW50XzV4IixTUEVFRF8xX1BPSU5UXzhYOiIxX3BvaW50Xzh4IixTUEVFRF8yWDoiMngiLFNQRUVEX1BPSU5UXzJYOiJwb2ludF8yeCIsU1BFRURfUE9JTlRfOFg6InBvaW50Xzh4IixTUE9OU09SU0hJUF9TVEFSOiJzdGFyX2NpcmNsZSIsU1RBRkZfUElDSzoic3BvdGxpZ2h0IixTVEFSVF9EVlI6ImFkZCIsU1RBUl9CT1JERVI6InN0YXIiLFNUQVJfQ0lSQ0xFX1JJQkJPTl9PVVRMSU5FOiJzdGFyX2NpcmNsZV9yaWJib24iLFNUSUNLRVJfRU1PVElDT046ImZhY2VfaGFwcHkiLFNUT1BfRFZSOiJzdG9wIixTVUJTQ1JJQkU6InlvdXR1YmVfbG9nb19pY29uIixTVUJTQ1JJQkVfUExVUzoiYWRkX2NhaXJvIixTVUJTQ1JJUFRJT05fTUFOQUdFUjoiZ2VhciIsU1VQRVJWSVNPUl9BQ0NPVU5UOiJwZW9wbGUiLApTVVBFUl9DSEFUX0ZPUl9HT09EOiJoYW5kc19oZWFydCIsU1dBUF9IT1JJWjoiYXJyb3dfc3dhcF9ob3Jpem9udGFsIixTV0lUQ0hfQUNDT1VOVFM6InBlcnNvbl9hY2NvdW50IixUQUJfQUNDT1VOVDoicGVyc29uIixUQUJfQUNUSVZJVFk6ImJlbGwiLFRBQl9CT09LTUFSSzoiYm9va21hcmsiLFRBQl9FWFBMT1JFOiJjb21wYXNzIixUQUJfSE9NRToiaG9tZSIsVEFCX0hPTUVfQ0FJUk86ImhvbWVfY2Fpcm8iLFRBQl9JTkJPWDoibWFpbCIsVEFCX0xJS0VEOiJ0aHVtYl91cCIsVEFCX01VU0lDX1BSRU1JVU06InlvdXR1YmVfbXVzaWMiLFRBQl9TSE9SVFM6InlvdXR1YmVfc2hvcnRzIixUQUJfU0hPUlRTX0NBSVJPOiJ5b3V0dWJlX3Nob3J0c19jYWlybyIsVEFCX1NVQlNDUklQVElPTlM6InN1YnNjcmlwdGlvbnMiLFRBQl9TVUJTQ1JJUFRJT05TX0NBSVJPOiJzdWJzY3JpcHRpb25zX2NhaXJvIixUQUJfVFJFTkRJTkc6ImZpcmUiLFRJTUVSOiJzdG9wd2F0Y2giLFRSQUlMRVI6InlvdXR1YmVfb3JpZ2luYWxzIiwKVFJFTkRJTkc6ImZpcmUiLFRSRU5ESU5HX0NBSVJPOiJmaXJlX2NhaXJvIixUUkVORElOR19ET1dOOiJyYXRpbmdfZG93biIsVFJFTkRJTkdfVVA6InJhdGluZ191cCIsVFJPUEhZOiJ0cm9waHkiLFRST1BIWV9DRUxFQlJBVElPTlM6ImZpcmV3b3JrcyIsVFVORToiYWRqdXN0IixVTkJMT0NLX1VTRVI6ImJhcl9jaXJjbGUiLFVOTElNSVRFRDoieW91dHViZV9sb2dvX2ljb24iLFVOUExVR0dFRF9MSVZFX0dVSURFOiJyYWRhcl9saXZlIixVTlBMVUdHRURfU1BPUlRTOiJleWVfb2ZmIixVUExPQURTOiJsaWJyYXJ5IixVUF9BUlJPVzoiYXJyb3dfdXAiLFZFUlRJQ0FMX0FMSUdOX0JPVFRPTToiZG93bmxvYWQiLFZFUllfSEFQUFk6ImZhY2VfdmVyeV9oYXBweSIsVkVSWV9TQUQ6ImZhY2VfdmVyeV9zYWQiLFZJREVPR0FNRV9BU1NFVDoiZ2FtaW5nIixWSURFT1M6InBsYXlfYXJyb3dfY2lyY2xlIixWSURFT19DQUxMOiJ2aWRlb19jYW1lcmFfYWRkIixWSURFT19MSUJSQVJZX1dISVRFOiJsaWJyYXJ5IiwKVklERU9fWU9VVFVCRToieW91dHViZV9sb2dvX2ljb24iLFZJRVdfTElTVDoibGlzdF92aWV3IixWSUVXX0xJU1RfQ0FJUk86Imxpc3Rfdmlld19jYWlybyIsVklTSUJJTElUWToiZXllIixWSVNJQklMSVRZX09GRjoiZXllX29mZiIsVk9MVU1FX01VVEU6InZvbHVtZV9vZmYiLFZPTFVNRV9VUDoidm9sdW1lX29uIixXQUxMUEFQRVI6ImltYWdlIixXQVJOSU5HOiJhbGVydF90cmlhbmdsZSIsV0FUQ0hfSElTVE9SWToiYXJyb3dfdGltZSIsV0FUQ0hfSElTVE9SWV9DQUlSTzoiYXJyb3dfdGltZV9jYWlybyIsV0FUQ0hfTEFURVI6ImNsb2NrIixXQVRDSF9MQVRFUl9DQUlSTzoiY2xvY2tfY2Fpcm8iLFdBVENIX1JFTEFURURfTUlYOiJ5b3V0dWJlX21peCIsV0hBVF9UT19XQVRDSDoiaG9tZSIsWU9VVFVCRV9DUkVBVEVfUkVEX0xPR086InlvdXR1YmVfY3JlYXRlX2xvZ28iLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRToieW91dHViZV9tdXNpYyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FX0NBSVJPOiJ5b3V0dWJlX211c2ljX2NhaXJvIiwKWU9VVFVCRV9TSE9SVFNfRklMTF9OT19UUklBTkdMRV9SRURfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZSIsWU9VVFVCRV9TSE9SVFNfT1VUTElORV8yNDoieW91dHViZV9zaG9ydHMiLFlUX09VVExJTkVfTVVTSUNfMjQ6Im11c2ljIn07dmFyIHhwYT17QUNDRVNTX1RJTUU6ImNsb2NrIixBQ0NPVU5UX0JPWDoicGVyc29uX3NxdWFyZSIsQUNDT1VOVF9CT1hfQ0FJUk86InBlcnNvbl9zcXVhcmUiLEFDQ09VTlRfQ0lSQ0xFOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0NJUkNMRV9DQUlSTzoicGVyc29uX2NpcmNsZSIsQUNDT1VOVF9MSU5LRUQ6ImFjY291bnRfbGluayIsQUNDT1VOVF9VTkxJTktFRDoiYWNjb3VudF9saW5rIixBRERfQ0lSQ0xFOiJhZGRfY2lyY2xlIixBRERfQ0lSQ0xFX09VVExJTkU6ImFkZF9jaXJjbGUiLEFERF9GUklFTkQ6InBlcnNvbl9jaGlsZCIsQUREX01PREVSQVRPUjoic2hpZWxkX2FkZCIsQUREX1RPX0xJQlJBUlk6ImJvb2ttYXJrIixBRERfVE9fUExBWUxJU1Q6ImFkZCIsQUREX1RPX1FVRVVFX1RBSUw6InF1ZXVlIixBRERfVE9fUkVNT1RFX1FVRVVFOiJwbGF5bGlzdF9hdWRpbyIsQUREX1RPX1dBVENIX0xBVEVSOiJjbG9jayIsQUREX1ZJREVPX0xJTks6ImZpbG1fc3RyaXBfYWRkIixBRE1JTl9QQU5FTF9TRVRUSU5HUzoicGVyc29uX2dlYXIiLApBTEVSVF9XQVJOX1JFRDoiYWxlcnRfdHJpYW5nbGUiLEFMSUdOX0xFRlQ6InRleHRfYWxpZ25fbGVmdCIsQVJST1dTX0FMRVJUOiJhcnJvd19zcGxpdF9hbGVydCIsQVJST1dfQkFDSzoiYXJyb3dfbGVmdCIsQVJST1dfQ0lSQ0xFOiJhcnJvd19jb3VudGVyY2xvY2t3aXNlIixBUlJPV19DSVJDTEVfUExBWToicmVwbGF5IixBUlJPV19DSVJDTEVfUklHSFQ6ImFycm93X2Nsb2Nrd2lzZSIsQVJST1dfRElBR09OQUw6ImFycm93X3VwX2xlZnQiLEFSUk9XX0RJQUdPTkFMX1VQX1JJR0hUOiJhcnJvd191cF9yaWdodCIsQVJST1dfRFJPUF9ET1dOOiJ0cmlhbmdsZV9kb3duIixBUlJPV19EUk9QX1VQOiJ0cmlhbmdsZV91cCIsQVJST1dfRk9SV0FSRDoiYXJyb3dfcmlnaHQiLEFSUk9XX1BBVVNFOiJwYXVzZV9oaXN0b3J5IixBUlJPV19VTkRPOiJ1bmRvIixBUlRJQ0xFOiJ0ZXh0X3BhZ2UiLEFSVElDTEVfQUxFUlQ6InRleHRfcGFnZV9hbGVydCIsQVJUSUNMRV9DSEVDSzoidGV4dF9wYWdlX2NoZWNrIiwKQVJUSUNMRV9DTEFSSUZZOiJ0ZXh0X3BhZ2VfaW5mbyIsQVJUSVNUOiJwZXJzb25fYXVkaW8iLEFVRElPVFJBQ0s6ImF1ZGlvIixBVURJT19CQURHRToiYXVkaW9fYmFkZ2UiLEFVRElPX1NVUlJPVU5EOiJzdXJyb3VuZF9zb3VuZCIsQVVUT19BV0VTT01FOiJzcGFya2xlcyIsQVZBVEFSX0FOT05ZTU9VUzoicGVyc29uX2NpcmNsZSIsQVZBVEFSX0xPR0dFRF9PVVQ6InBlcnNvbl9jaXJjbGUiLEJBQ0s6ImFycm93X2xlZnQiLEJBUl9DSEFSVDoiY2hhcnRfYmFyIixCQVJfQ0lSQ0xFOiJtaW51c19jaXJjbGUiLEJBUl9IT1JJWk9OVEFMOiJtaW51cyIsQkxPQ0s6ImNpcmNsZV9zbGFzaCIsQkxPQ0tfVVNFUjoiY2lyY2xlX3NsYXNoIixCT09LTUFSS19CT1JERVI6ImJvb2ttYXJrIixCT1hfT1BFTl9DSEVDSzoicXVpeiIsQk9YX1BFTkNJTDoic3F1YXJlX3BlbmNpbCIsQk9YX1NUQUNLXzM6InNxdWFyZTNfc3RhY2siLEJSRUFLSU5HX05FV1NfQUxUXzE6InRleHRfcGFnZV9hbGVydCIsCkJST0FEQ0FTVDoicG9kY2FzdCIsQlJPQURDQVNUX0NBSVJPOiJwb2RjYXN0IixCVUdfUkVQT1JUOiJidWciLENBTUVSQV9BTFQ6ImNhbWVyYSIsQ0FNUEFJR046Im1lZ2FwaG9uZSIsQ0FOQ0VMOiJ4X2NpcmNsZSIsQ0FQVElPTlM6ImNsb3NlZF9jYXB0aW9ucyIsQ0FTVF9JQ09OOiJjaHJvbWVjYXN0IixDQVNUX09VVExJTkU6ImNocm9tZWNhc3QiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT0ZGOiJiZWxsIixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09OOiJiZWxsX3dhdmVzIixDSEFUOiJ0ZXh0X2J1YmJsZSIsQ0hBVF9CVUJCTEU6ImJ1YmJsZSIsQ0hFQ0tfQk9YOiJjaGVja19zcXVhcmUiLENIRUNLX0JPWF9PVVRMSU5FX0JMQU5LOiJzcXVhcmUiLENIRUNLX0NJUkNMRV9GSUxMRUQ6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfQ0lSQ0xFX09VVExJTkU6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfQ0lSQ0xFX1RISUNLOiJjaGVja19jaXJjbGUiLENIRUNLX0RPVUJMRToiY2hlY2tfZG9uZSIsCkNIRUNLX0RPVUJMRV9PRkY6ImNoZWNrX2RvbmVfc2xhc2giLENIRVZST05fTEVGVDoiY2hldnJvbl9sZWZ0IixDSEVWUk9OX1JJR0hUOiJjaGV2cm9uX3JpZ2h0IixDSEVWUk9OX1JJR0hUX0NBSVJPOiJjaGV2cm9uX3JpZ2h0IixDSVJDTEVTX09WRVJMQVA6ImFjY291bnRfbGluayIsQ0xBUFBFUkJPQVJEX0NBSVJPOiJjbGFwcGVyYm9hcmQiLENMQVJJRlk6InRleHRfcGFnZV9pbmZvIixDTE9DS19BUlJPV1M6ImNsb2NrX3NwbGl0IixDTE9DS19BUlJPV1NfQUxFUlQ6ImNsb2NrX3NwbGl0X2FsZXJ0IixDTE9TRURfQ0FQVElPTjoiY2xvc2VkX2NhcHRpb25zIixDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRDoiY2xvc2VkX2NhcHRpb25zIixDTE9TRToieCIsQ0xPVURfVVBMT0FEOiJjbG91ZF9hcnJvd191cCIsQ09MTEFQU0U6ImNoZXZyb25fdXAiLENPTExBUFNFX0NBSVJPOiJjaGV2cm9uX3VwIixDT0xMRUNUSU9OOiJzcXVhcmUzZF9zdGFjayIsQ09MT1JfTEVOUzoicGFpbnRfcGFsZXR0ZSIsCkNPTU1FTlQ6InRleHRfYnViYmxlIixDT05TRU5UX1NISUVMRDoicGVyc29uX3NoaWVsZCIsQ09OVEVOVF9DVVQ6InNjaXNzb3JzIixDT05URU5UX0NVVF9DQUlSTzoic2Npc3NvcnMiLENPVVJTRToiZ3JhZHVhdGlvbl9jYXAiLENPVVJTRV9DQUlSTzoiZ3JhZHVhdGlvbl9jYXAiLENSRUFUSU9OX0xJVkU6ImxpdmUiLENSRUFUSU9OX1BPU1Q6InNxdWFyZV9wZW5jaWwiLENSRUFUSU9OX1VQTE9BRDoidmlkZW8iLENSRUFUSU9OX1VQTE9BRF9SRUQ6InVwbG9hZCIsQ1JFQVRPUl9BQ0FERU1ZOiJncmFkdWF0aW9uX2NhcCIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT046ImRvbGxhcl9zaWduX2NpcmNsZSIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT05fT0ZGOiJkb2xsYXJfc2lnbl9jaXJjbGVfc2xhc2giLENSRUFUT1JfU1RVRElPOiJ5b3V0dWJlX3N0dWRpbyIsREFSS19USEVNRToidGhlbWUiLERFTEVURToidHJhc2hfY2FuIixERUxFVEVfU1dFRVA6InRyYXNoX2NhbiIsCkRFU0tUT1A6ImxhcHRvcCIsRElTTElLRToidGh1bWJfZG93biIsRElTTElLRV9TRUxFQ1RFRDoidGh1bWJfZG93biIsRElTTUlTU0FMOiJ4IixESVNNSVNTX1FVRVVFOiJwbGF5bGlzdF94IixET0dGT09EOiJwYXdwcmludCIsRE9MTEFSX1NJR046ImRvbGxhcl9zaWduX2NpcmNsZSIsRE9MTEFSX1NJR05fQ0lSQ0xFOiJkb2xsYXJfc2lnbl9jaXJjbGUiLERPTExBUl9TSUdOX0NPTlRBSU5FUjoiZG9sbGFyX3NpZ25fcmVjdGFuZ2xlIixET1dOX0FSUk9XOiJhcnJvd19kb3duIixET19OT1RfRElTVFVSQjoiY2lyY2xlX3NsYXNoIixEUkFGVDoiZG9jdW1lbnQiLERSQUdfSEFORExFOiJlcXVhbCIsRUFSVEg6Imdsb2JlIixFRElUOiJwZW5jaWwiLEVNT0pJOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX0ZMQUdTOiJmbGFnIixFTU9KSV9PQkpFQ1RTOiJsaWdodGJ1bGIiLEVNT0pJX1BFT1BMRToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9SRUNFTlQ6ImNsb2NrIixFTVBUWV9IRUFSVDoiaGVhcnQiLApFTVBUWV9MSUtFOiJ0aHVtYl91cCIsRVJST1JfQkxBQ0s6ImFsZXJ0X2NpcmNsZSIsRVJST1JfT1VUTElORToiYWxlcnRfY2lyY2xlIixFUlJPUl9XSElURToiYWxlcnRfY2lyY2xlIixFWElUX0FQUDoiYXJyb3dfaW4iLEVYSVRfVE9fQVBQOiJhcnJvd19pbiIsRVhQQU5EOiJjaGV2cm9uX2Rvd24iLEVYUEFORF9BTEw6ImNoZXZyb25fZXhwYW5kIixFWFBBTkRfQ0FJUk86ImNoZXZyb25fZG93biIsRVhQQU5EX0xFU1M6ImNoZXZyb25fdXAiLEVYUEFORF9NT1JFOiJjaGV2cm9uX2Rvd24iLEVYUExPUkU6ImNvbXBhc3MiLEVYUExPUkVfREVTVElOQVRJT046ImNvbXBhc3MiLEVYVEVSTkFMX0xJTks6ImFycm93X3VwX3JpZ2h0IixFWUVfT0ZGOiJleWVfc2xhc2giLEZBQl9VUExPQUQ6InVwbG9hZCIsRkFDRV9IQVBQWV9PVVRMSU5FOiJmYWNlX2hhcHB5IixGQUNFX01FSDoiZmFjZV9uZXV0cmFsIixGQUNUX0NIRUNLOiJ0ZXh0X3BhZ2VfY2hlY2siLEZBU0hJT05fTE9HTzoiZmFzaGlvbiIsCkZBU0hJT05fTE9HT19DQUlSTzoiZmFzaGlvbiIsRkFWT1JJVEU6InRodW1iX3VwIixGRUVEQkFDSzoiYWxlcnRfYnViYmxlIixGRUVEQkFDS19DQUlSTzoiYWxlcnRfYnViYmxlIixGSUxMX0FSUk9XX1NPTElEX0RPV05fMTY6ImFycm93X3NvbGlkX2Rvd24iLEZJTExfQVJST1dfU09MSURfVVBfMTY6ImFycm93X3NvbGlkX3VwIixGSUxMX0RPTExBUl9TSUdOX0hFQVJUXzEyOiJkb2xsYXJfc2lnbl9oZWFydCIsRklSU1RfUEFHRToiY2hldnJvbl9sZWZ0X2VuZCIsRkxBR19DQUlSTzoiZmxhZyIsRkxBU0hfT0ZGOiJmbGFzaF9zbGFzaCIsRkxBU0hfT046ImZsYXNoIixGVUxMX0hFQVJUOiJoZWFydCIsR0FNSU5HX0xPR086ImdhbWluZyIsR0FNSU5HX0xPR09fQ0FJUk86ImdhbWluZyIsR09fVE9fUEFHRToiYXJyb3dfcmlnaHQiLEdSSURfQVNZTU1FVFJJQ0FMOiJkYXNoYm9hcmQiLEdST1VQUzoicGVyc29uMyIsSEFORF9TV0lQRV9MRUZUOiJnZXN0dXJlX3N3aXBlX2xlZnQiLEhBTkRfU1dJUEVfUklHSFQ6Imdlc3R1cmVfc3dpcGVfcmlnaHQiLApIQVBQWToiZmFjZV9oYXBweSIsSEVBTFRIX0FORF9TQUZFVFk6InNoaWVsZF9oZWFsdGgiLEhFQVJUX0JPWDoiaGVhcnRfY3ViZSIsSEVMUDoiaGVscF9jaXJjbGUiLEhFTFBfQ0FJUk86ImhlbHBfY2lyY2xlIixIRUxQX09VVExJTkU6ImhlbHBfY2lyY2xlIixISURFOiJjaXJjbGVfc2xhc2giLElOQ09HTklUT19DQUlSTzoiaW5jb2duaXRvIixJTkZJTklUWV9JQ09OOiJpbmZpbml0eSIsSU5GTzoiaW5mb19jaXJjbGUiLElORk9fT1VUTElORToiaW5mb19jaXJjbGUiLElOU0VSVF9DSEFSVDoiY2hhcnRfYmFyX3NxdWFyZSIsSU5TRVJUX0NIQVJUX09VVExJTkVEOiJjaGFydF9iYXJfc3F1YXJlIixJTlNFUlRfUEhPVE86ImltYWdlIixLRUVQOiJwaW4iLEtFRVBfT0ZGOiJwaW5fc2xhc2giLEtFWUJPQVJEOiJrZXlib2FyZCIsS0VZQk9BUkRfQVJST1dfRE9XTjoiY2hldnJvbl9kb3duIixLRVlCT0FSRF9BUlJPV19VUDoiY2hldnJvbl91cCIsS0lEU19CTE9DSzoiY2lyY2xlX3NsYXNoIiwKTEFOR1VBR0U6Imdsb2JlIixMQVNUX1BBR0U6ImNoZXZyb25fcmlnaHRfZW5kIixMQVVOQ0g6ImFycm93X3VwX3JpZ2h0IixMRUFSTklORzoibGlnaHRidWxiIixMRUFSTklOR19DQUlSTzoibGlnaHRidWxiIixMSUJSQVJZX0FERDoiYm9va21hcmsiLExJQlJBUllfSU1BR0U6ImltYWdlX3N0YWNrIixMSUJSQVJZX01VU0lDOiJhdWRpb19zcXVhcmVfc3RhY2siLExJQlJBUllfT1VUTElORToicGxheV9zcXVhcmVfc3RhY2siLExJQlJBUllfUkVNT1ZFOiJib29rbWFyayIsTElCUkFSWV9TQVZFRDoiY2hlY2tfc3F1YXJlX3N0YWNrIixMSUtFU19QTEFZTElTVDoidGh1bWJfdXAiLExJS0VTX1BMQVlMSVNUX0NBSVJPOiJ0aHVtYl91cCIsTElLRToidGh1bWJfdXAiLExJS0VfU0VMRUNURUQ6InRodW1iX3VwIixMSVNUX1FVRVVFOiJxdWV1ZSIsTElWRV9DQUlSTzoibGl2ZSIsTElWRV9VTkxJU1RFRDoibGluayIsTE9DQVRJT05fT046ImxvY2F0aW9uX3BpbiIsTE9DQVRJT05fUElOOiJsb2NhdGlvbl9waW4iLApMT0NBVElPTl9QT0lOVDoibG9jYXRpb25fcGluIixMT09QOiJyZXBlYXQiLExPT1BfQUNUSVZFOiJyZXBlYXQiLExPT1BfT05FOiJyZXBlYXQxIixMT09QX09ORV9BQ1RJVkU6InJlcGVhdDEiLE1FRVQ6Imdvb2dsZV9tZWV0IixNRUg6ImZhY2VfbmV1dHJhbCIsTUVNQkVSU0hJUFM6Im1lbWJlcnNoaXBzIixNRU1CRVJTX09OTFlfTU9ERV9PRkY6InRleHRfYnViYmxlIixNRU5VX0ZJTFRFUjoiZmlsdGVyIixNRVNTQUdFOiJ0ZXh0X2J1YmJsZSIsTUVTU0FHRV9CVUJCTEVfR0VBUjoiYnViYmxlX2dlYXIiLE1FU1NBR0VfQlVCQkxFX0xFRlQ6InRleHRfYnViYmxlIixNRVNTQUdFX0JVQkJMRV9MRUZUX0JPT1NUOiJidWJibGVfc3BhcmtsZXMiLE1FU1NBR0VfQlVCQkxFX09WRVJMQVA6ImJ1YmJsZV9zdGFjayIsTUVTU0FHRV9CVUJCTEVfUVVFU1RJT046ImhlbHBfYnViYmxlIixNSUNST1BIT05FX09OOiJtaWMiLE1PTkVUSVpBVElPTl9PTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixNT05FWV9GSUxMOiJkb2xsYXJfc2lnbl9yZWN0YW5nbGUiLApNT05FWV9GSUxMX0pQWToieWVuX3NpZ25fcmVjdGFuZ2xlIixNT05FWV9IQU5EOiJkb2xsYXJfc2lnbl9jaXJjbGVfaGFuZCIsTU9ORVlfSEVBUlQ6ImRvbGxhcl9zaWduX2hlYXJ0IixNT09OX1o6InNsZWVwX3RpbWVyIixNT1JFX0hPUklaOiJvdmVyZmxvd19ob3Jpem9udGFsIixNT1JFX1ZFUlQ6Im92ZXJmbG93X3ZlcnRpY2FsIixNVVNJQzoiYXVkaW8iLE1VU0lDX0NBSVJPOiJhdWRpbyIsTVVTSUNfRVhQTElDSVRfQkFER0U6ImV4cGxpY2l0IixNVVNJQ19ORVdfUkVMRUFTRToiYXVkaW9fYmFkZ2UiLE1VU0lDX05PVEVfU1lNQk9MOiJhdWRpbyIsTVVTSUNfU0NJU1NPUlM6ImF1ZGlvX3NjaXNzb3JzIixNVVNJQ19TSFVGRkxFOiJzaHVmZmxlIixNWV9DSEFOTkVMOiJwZXJzb25fY2lyY2xlIixNWV9MT0NBVElPTjoibG9jYXRpb25fcGluIixNWV9WSURFT1M6InZpZGVvIixNWV9WSURFT1NfQ0FJUk86InZpZGVvIixORVdTX0NBSVJPOiJuZXdzIixORVdTX1NUT1JZOiJuZXdzIiwKTkVYVDoiY2hldnJvbl9yaWdodCIsTk9URV9BREQ6ImJ1YmJsZV9wZW5jaWwiLE5PVElGSUNBVElPTlM6ImJlbGwiLE5PVElGSUNBVElPTlNfQUNUSVZFOiJiZWxsX3dhdmVzIixOT1RJRklDQVRJT05TX0NBSVJPOiJiZWxsIixOT1RJRklDQVRJT05TX0RPTkVfQ0hFQ0tNQVJLOiJjaGVjayIsTk9USUZJQ0FUSU9OU19JTkJPWDoiYmVsbCIsTk9USUZJQ0FUSU9OU19OT05FOiJiZWxsIixOT1RJRklDQVRJT05TX09GRjoiYmVsbF9zbGFzaCIsTk9UX0lOVEVSRVNURUQ6ImNpcmNsZV9zbGFzaCIsT0ZGSUNJQUxfQVJUSVNUX0JBREdFOiJhdWRpbyIsT0ZGTElORV9DTE9VRDoiY2xvdWRfc2xhc2giLE9GRkxJTkVfRE9XTkxPQUQ6ImRvd25sb2FkIixPRkZMSU5FX0RPV05MT0FEX0NBSVJPOiJkb3dubG9hZCIsT0ZGTElORV9QQVVTRToicGF1c2UiLE9QRU5fSU5fTkVXOiJhcnJvd191cF9yaWdodCIsT1VUTElORV9BREpVU1Q6ImFkanVzdCIsT1VUTElORV9BUlJPV19TT0xJRF9ET1dOOiJhcnJvd19zb2xpZF9kb3duIiwKT1VUTElORV9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQOiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLE9VVExJTkVfQkFHOiJiYWciLE9VVExJTkVfQ0xPQ0tfSEFMRl9DSVJDTEU6ImNsb2NrX2hhbGZfZGFzaGVkIixPVVRMSU5FX01PQklMRV9ET1dOTE9BRDoibW9iaWxlX2Fycm93X2Rvd24iLE9VVExJTkVfT1ZFUkZMT1dfSE9SSVpPTlRBTF8zMjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsT1VUTElORV9PVkVSRkxPV19WRVJUSUNBTDoib3ZlcmZsb3dfdmVydGljYWwiLE9VVExJTkVfWU9VVFVCRV9JTVBST1ZFX1RWOiJzdGFyX3R2IixPVVRMSU5FX1lPVVRVQkVfU0hPUlRTX1BMVVM6InNob3J0c19hZGQiLFBBSUQ6ImRvbGxhcl9zaWduX2NpcmNsZSIsUEFVU0VfT1VUTElORUQ6InBhdXNlIixQQVlNRU5UOiJjcmVkaXRfY2FyZCIsUEVPUExFOiJwZXJzb25fY2hpbGQiLApQRU9QTEVfMjoicGVyc29uMl9yZWN0YW5nbGUiLFBFT1BMRV9BTFQ6InBlcnNvbjIiLFBFT1BMRV9HUk9VUDoicGVyc29uMyIsUEVPUExFX05PVEU6ImJ1YmJsZV9hc3RlcmlzayIsUEVSU09OXzI6InBlcnNvbjIiLFBFUlNPTl9BQ0NPVU5UOiJwZXJzb25fc3F1YXJlX3N0YWNrIixQRVJTT05fTUlOVVM6InBlcnNvbl94IixQRVJTT05fTVVTSUM6InBlcnNvbl9hdWRpbyIsUEVSU09OX1JBREFSOiJwZXJzb25fd2F2ZXMiLFBFUlNPTl9SQURBUl9GSUxMRUQ6InBlcnNvbl93YXZlcyIsUEVSU09OX1NFVFRJTkc6InBlcnNvbl9nZWFyIixQSE9ORUxJTks6InFyX2NvZGUiLFBIT05FOiJwaG9uZSIsUEhPTkVfRE9XTkxPQUQ6Im1vYmlsZV9hcnJvd19kb3duIixQSUNUVVJFX0lOX1BJQ1RVUkU6InBpY3R1cmVfaW5fcGljdHVyZSIsUExBWUFCTEVTX0xPR086InBsYXlhYmxlcyIsUExBWUFCTEVTX0xPR09fQ0FJUk86InBsYXlhYmxlcyIsUExBWUxJU1RTOiJwbGF5bGlzdCIsUExBWUxJU1RTX0NBSVJPOiJwbGF5bGlzdCIsClBMQVlMSVNUX0FERF9DSEVDSzoiYm9va21hcmsiLFBMQVlfQUxMOiJwbGF5IixQTEFZX0FSUk9XOiJwbGF5IixQTEFZX0FSUk9XX0NJUkNMRToicGxheV9jaXJjbGUiLFBMQVlfQVJST1dfSEFMRl9DSVJDTEU6InBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkIixQTEFZX0FSUk9XX09VVExJTkVEOiJwbGF5IixQTEFZX0NJUkNMRToicGxheV9jaXJjbGUiLFBMQVlfT1VUTElORUQ6InBsYXlfY2lyY2xlIixQT0RDQVNUX0FERDoicG9kY2FzdF9hZGQiLFBPRENBU1RfQ0hFQ0s6InBvZGNhc3RfY2hlY2siLFBSSVZBQ1lfSU5GTzoic2hpZWxkX3giLFBSSVZBQ1lfUFJJVkFURToibG9jayIsUFJJVkFDWV9QVUJMSUM6Imdsb2JlIixQUklWQUNZX1VOTElTVEVEOiJsaW5rIixQUk9NT1RFOiJtZWdhcGhvbmUiLFBVUkNIQVNFUzoicHJpY2VfdGFnIixQVVJDSEFTRV9TVVBFUl9DSEFUOiJzdXBlcl9jaGF0IixQVVJDSEFTRV9TVVBFUl9TVElDS0VSOiJzdXBlcl9zdGlja2VyIixRVUVTVElPTl9BTlNXRVI6ImhlbHBfYnViYmxlIiwKUVVFU1RJT05fQ0lSQ0xFOiJoZWxwX2NpcmNsZSIsUVVFVUVfUExBWV9MQVNUOiJxdWV1ZV9sYXN0IixRVUVVRV9QTEFZX05FWFQ6InF1ZXVlX25leHQiLFFVT1RBVElPTl9NQVJLOiJxdW90ZSIsUkFEQVJfTElWRToibGl2ZSIsUkVNT1ZFOiJtaW51c19jaXJjbGUiLFJFTU9WRV9DSVJDTEU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0NJUkNMRV9PVVRMSU5FOiJtaW51c19jaXJjbGUiLFJFTU9WRV9GUk9NX0hJU1RPUlk6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0ZST01fUExBWUxJU1Q6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX01PREVSQVRPUjoic2hpZWxkX3NsYXNoIixSRVBMQVk6ImFycm93X2NvdW50ZXJjbG9ja3dpc2UiLFJFUExBWV8xMDoic2tpcDEwX2JhY2siLFJFUExBWV9BUlJPVzoicmVwbGF5IixSRVBPUlRfUFJPQkxFTToiYWxlcnRfdHJpYW5nbGUiLFJTU19PRkY6InJzc19zbGFzaCIsU0FEOiJmYWNlX3NhZCIsU0FWRV9QTEFZTElTVDoiYm9va21hcmsiLFNDSEVEVUxFOiJjbG9jayIsClNDSE9PTDoiZ3JhZHVhdGlvbl9jYXAiLFNDUkVFTl9ERUZBVUxUOiJwbGF5ZXJfZGVmYXVsdCIsU0NSRUVOX0ZVTExTQ1JFRU46InBsYXllcl9mdWxsX2VudGVyIixTQ1JFRU5fTElHSFQ6ImFtYmllbnRfbW9kZSIsU0NSRUVOX1JPVEFUSU9OOiJyb3RhdGVfcG9ydHJhaXQiLFNDUkVFTl9TV0lUQ0g6InBsYXllcl9zd2l0Y2giLFNDUkVFTl9USEVBVFJFOiJwbGF5ZXJfdGhlYXRlciIsU0VBUkNIX0NBSVJPOiJzZWFyY2giLFNFQVJDSF9ISVNUT1JZOiJoaXN0b3J5IixTRUxMOiJwcmljZV90YWciLFNFVFRJTkdTOiJnZWFyIixTRVRUSU5HU19DQUlSTzoiZ2VhciIsU0VUVElOR1NfTElHSFQ6ImdlYXIiLFNFVFRJTkdTX01BVEVSSUFMOiJnZWFyIixTRVRUSU5HU19SRU1PVEU6InJlbW90ZV93YXZlcyIsU0hBUkU6InNoYXJlIixTSEFSRV9BUlJPVzoic2hhcmUiLFNIQVJFX0NBSVJPOiJzaGFyZSIsU0hJRUxEOiJzaGllbGRfeCIsU0hJRUxEX0VNUFRZOiJzaGllbGQiLFNISUVMRF9PRkY6InNoaWVsZF9zbGFzaCIsClNISUVMRF9XSVRIX0FWQVRBUjoicGVyc29uX3NoaWVsZCIsU0hPUFBJTkdfQkFHOiJiYWciLFNIT1BQSU5HX0JBR19DQUlSTzoiYmFnIixTSE9QUElOR19DQVJUOiJjYXJ0IixTSE9SVFNfQ09NTUVOVDoidGV4dF9idWJibGUiLFNIT1JUU19ESVNMSUtFOiJ0aHVtYl9kb3duIixTSE9SVFNfTElLRToidGh1bWJfdXAiLFNIT1JUU19TSEFSRToic2hhcmUiLFNLSVBfRk9SV0FSRF8zMDoic2tpcDMwX2ZvcndhcmQiLFNMQVNIX0NJUkNMRV9MRUZUOiJjaXJjbGVfc2xhc2giLFNMQVNIX0NJUkNMRV9SSUdIVDoiY2lyY2xlX3NsYXNoIixTTE9XX01PREU6ImJ1YmJsZV9zbG93IixTTE9XX01PREVfT0ZGOiJ0ZXh0X2J1YmJsZSIsU0xPV19NT1RJT05fVklERU86InBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkIixTT0NJQUw6InBlcnNvbl9jaGlsZCIsU1BBUktMRToic3BhcmtsZXMiLFNQQVJLX0lNQUdFOiJpbWFnZV9zcGFyayIsU1BBUktfTElHSFRCVUxCX09VVExJTkU6InNwYXJrX2xpZ2h0YnVsYiIsClNQQVJLX1BFTkNJTDoicGVuY2lsX3NwYXJrIixTUEFSS19SQURBUjoic3Bhcmtfd2F2ZXMiLFNQQVJLX1ZJREVPOiJ2aWRlb19zcGFyayIsU1BFQUtFUl9HUk9VUDoic3BlYWtlcl9zdGFjayIsU1BFQUtFUl9PRkY6InNwZWFrZXJfc2xhc2giLFNQRUVEXzFYOiJuMXgiLFNQRUVEXzFfUE9JTlRfMlg6Im4xcG9pbnQyeCIsU1BFRURfMV9QT0lOVF81WDoibjFwb2ludDV4IixTUEVFRF8xX1BPSU5UXzhYOiJuMXBvaW50OHgiLFNQRUVEXzJYOiJuMngiLFNQT05TT1JTSElQX1NUQVI6InN0YXJfY2lyY2xlIixTUE9SVFM6ImJhc2tldGJhbGwiLFNQT1RMSUdIVDoic3BvdGxpZ2h0IixTVEFGRl9QSUNLOiJzcG90bGlnaHQiLFNUQVJUX0RWUjoiYWRkIixTVEFSX0JPUkRFUjoic3RhciIsU1RBUl9DSVJDTEVfUklCQk9OOiJtZW1iZXJzaGlwc19naWZ0IixTVEFSX0hBTEY6InN0YXJfZnVsbF9oYWxmIixTVEFSX1NIT09USU5HOiJoeXBlIixTVElDS0VSOiJzdGlja2VyIixTVElDS0VSX0VNT1RJQ09OOiJmYWNlX2hhcHB5IiwKU1RPUF9EVlI6InN0b3AiLFNVQlNDUklCRToieW91dHViZSIsU1VCU0NSSUJFX1BMVVM6ImFkZCIsU1VCU0NSSVBUSU9OX01BTkFHRVI6ImdlYXIiLFNVUEVSU1RBUjoic3VwZXJfc3RhciIsU1VQRVJWSVNPUl9BQ0NPVU5UOiJwZXJzb25fY2hpbGQiLFNVUEVSX0NIQVRfRk9SX0dPT0Q6ImhhbmRzX2hlYXJ0IixTV0FQX0hPUklaOiJhcnJvd19zd2FwX2hvcml6b250YWwiLFNXSVRDSF9BQ0NPVU5UUzoicGVyc29uX3NxdWFyZV9zdGFjayIsVEFCX0FDQ09VTlQ6InBlcnNvbiIsVEFCX0FDVElWSVRZOiJiZWxsIixUQUJfQk9PS01BUks6ImJvb2ttYXJrIixUQUJfRVhQTE9SRToiY29tcGFzcyIsVEFCX0hPTUU6ImhvbWUiLFRBQl9IT01FX0NBSVJPOiJob21lIixUQUJfSU5CT1g6Im1haWwiLFRBQl9MSUtFRDoidGh1bWJfdXAiLFRBQl9NVVNJQ19QUkVNSVVNOiJ5b3V0dWJlX211c2ljIixUQUJfU0hPUlRTOiJzaG9ydHMiLFRBQl9TSE9SVFNfQ0FJUk86InNob3J0cyIsVEFCX1NVQlNDUklQVElPTlM6InN1YnNjcmlwdGlvbnMiLApUQUJfU1VCU0NSSVBUSU9OU19DQUlSTzoic3Vic2NyaXB0aW9ucyIsVEFCX1RSRU5ESU5HOiJ0cmVuZGluZyIsVEFSR0VUOiJ0YXJnZXQiLFRBUkdFVF9BREQ6InRhcmdldF9hZGQiLFRFTVBMQVRFX0FERDoidGVtcGxhdGVfYWRkIixURVhUOiJmb250IixUSUNLRVRfU1RBUjoic3Rhcl90aWNrZXQiLFRJTUVSOiJzdG9wd2F0Y2giLFRSRU5ESU5HX0NBSVJPOiJ0cmVuZGluZyIsVFJFTkRJTkdfRE9XTjoiYXJyb3dfdHJlbmRfZG93biIsVFJFTkRJTkdfVVA6ImFycm93X3RyZW5kX3VwIixUUk9QSFlfQ0FJUk86InRyb3BoeSIsVFJPUEhZX0NFTEVCUkFUSU9OUzoiZmlyZXdvcmtzIixUUk9QSFlfU1RBUjoic3Rhcl90cm9waHkiLFRVTkU6ImFkanVzdCIsVFZfT0ZGOiJ0dl9zbGFzaCIsVU5CTE9DS19VU0VSOiJtaW51c19jaXJjbGUiLFVORkFWT1JJVEU6InRodW1iX2Rvd24iLFVOTElNSVRFRDoieW91dHViZSIsVU5QTFVHR0VEX0xJVkVfR1VJREU6ImxpdmUiLFVOUExVR0dFRF9TUE9SVFM6ImV5ZV9zbGFzaCIsClVQTE9BRFM6InBsYXlfc3F1YXJlX3N0YWNrIixVUF9BUlJPVzoiYXJyb3dfdXAiLFZFUlRJQ0FMX0FMSUdOX0JPVFRPTToiY2hldnJvbl9kb3duX2VuZCIsVkVSVElDQUxfQUxJR05fVE9QOiJjaGV2cm9uX3VwX2VuZCIsVkVSWV9IQVBQWToiZmFjZV92ZXJ5X2hhcHB5IixWRVJZX1NBRDoiZmFjZV92ZXJ5X3NhZCIsVklERU9TOiJwbGF5X2NpcmNsZSIsVklERU9fQ0FMTDoidmlkZW9fY2FtZXJhX2FkZCIsVklERU9fTElCUkFSWV9XSElURToicGxheV9zcXVhcmVfc3RhY2siLFZJREVPX1FVQUxJVFlfNEs6Im40ayIsVklERU9fUVVBTElUWV84SzoibjhrIixWSURFT19ZT1VUVUJFOiJ5b3V0dWJlIixWSUVXX0xJU1RfQ0FJUk86InZpZXdfbGlzdCIsVklFV19NT0RVTEU6InZpZXdfY29sdW1uM19yb3cyIixWSVNJQklMSVRZOiJleWUiLFZJU0lCSUxJVFlfT0ZGOiJleWVfc2xhc2giLFZPTFVNRV9ET1dOOiJ2b2x1bWVfbWluIixWT0xVTUVfTVVURToidm9sdW1lX211dGUiLFZPTFVNRV9PRkY6InZvbHVtZV9tdXRlIiwKVk9MVU1FX1NUQUJMRToic3RhYmxlX3ZvbHVtZSIsVk9MVU1FX1VQOiJ2b2x1bWVfbWF4IixXQUxMUEFQRVI6ImltYWdlIixXQVJOSU5HOiJhbGVydF90cmlhbmdsZSIsV0FUQ0hfSElTVE9SWToiaGlzdG9yeSIsV0FUQ0hfSElTVE9SWV9DQUlSTzoiaGlzdG9yeSIsV0FUQ0hfTEFURVI6ImNsb2NrIixXQVRDSF9MQVRFUl9DQUlSTzoiY2xvY2siLFdBVENIX1JFTEFURURfTUlYOiJtaXgiLFdIQVRfVE9fV0FUQ0g6ImhvbWUiLFlPVVRVQkVfQ1JFQVRFX1JFRF9MT0dPOiJ5b3V0dWJlX2NyZWF0ZV9sb2dvIixZT1VUVUJFX0xJTktFRF9UVjoidHZfbW9iaWxlIixZT1VUVUJFX01VU0lDX01PTk9DSFJPTUU6InlvdXR1YmVfbXVzaWMiLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRV9DQUlSTzoieW91dHViZV9tdXNpYyIsWU9VVFVCRV9TSE9SVFNfQVJST1dfRE9XTjoiYXJyb3dfZG93biIsWU9VVFVCRV9TSE9SVFNfQVJST1dfVVA6ImFycm93X3VwIixZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoic2hvcnRzX2VtcHR5IiwKWU9VVFVCRV9TSE9SVFNfRklMTF9OT19UUklBTkdMRV9XSElURV8xNjoic2hvcnRzX2VtcHR5IixZT1VUVUJFX1NIT1JUU19PVVRMSU5FXzI0OiJzaG9ydHMiLFlPVVRVQkVfU0hPUlRTX09VVExJTkVfV0lUSF9URVhUXzI0OiJzaG9ydHNfdGV4dF9sb2dvIixZVF9PVVRMSU5FX01VU0lDXzI0OiJhdWRpbyJ9O3ZhciBWcWE9ezE1OltbMSwzLDI0XV0sIjFfcG9pbnRfMngiOltbMSwxLDI0XV0sIjFfcG9pbnRfNXgiOltbMSwxLDI0XV0sIjFfcG9pbnRfOHgiOltbMSwxLDI0XV0sIjF4IjpbWzEsMSwyNF1dLCIyX3BvaW50XzV4IjpbWzEsMSwyNF1dLCIyZCI6W1sxLDEsMjRdXSwiMngiOltbMSwzLDI0XV0sIjNkIjpbWzEsMSwyNF1dLCIzeCI6W1sxLDMsMjRdXSwiNGQiOltbMSwxLDI0XV0sIjRrIjpbWzAsMywyNF0sWzEsMywyNF1dLDYwOltbMSwzLDI0XV0sIjhrIjpbWzAsMiwyNF0sWzEsMiwyNF1dLGFjY2Vzc2liaWxpdHk6W1sxLDQsMjRdXSxhY2NvdW50X2xpbms6W1sxLDgsMjRdXSxhY2NvdW50X2xpbmtfZXJyb3I6W1sxLDYsMjRdXSxhY2NvdW50X2xpbmtfc29tZTpbWzAsNSwyNF1dLGFjY291bnRfbGlua19zdWNjZXNzOltbMCw1LDI0XV0sYWRkOltbMSw5LDE2XSxbMSw5LDI0XV0sYWRkX2NhaXJvOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDI0XV0sYWRkX2NpcmNsZTpbWzEsNiwyNF0sClsxLDYsMzZdXSxhZGRfaGFsZl9jaXJjbGU6W1sxLDIsMjRdXSxhZGp1c3Q6W1swLDksMjRdLFsxLDksMThdLFsxLDksMjRdXSxhaXJwbGFuZTpbWzAsNSwyNF0sWzEsNSwyMF0sWzEsNSwyNF1dLGFpcnBsYXk6W1sxLDYsMTZdLFsxLDYsMjRdXSxhaXJwbGF5X29mZjpbWzEsMSwyNF1dLGFsYnVtOltbMCw4LDI0XSxbMSw4LDI0XV0sYWxlcnRfY2lyY2xlOltbMCwxMSwyNF0sWzEsMTEsMTZdLFsxLDExLDI0XV0sYWxlcnRfdHJpYW5nbGU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzEsMTAsMjRdXSxhbGlnbl9jZW50ZXI6W1swLDYsMjRdLFsxLDYsMjRdXSxhbGlnbl9sZWZ0OltbMCw2LDI0XSxbMSw2LDI0XV0sYWxpZ25fcmlnaHQ6W1swLDYsMjRdLFsxLDYsMjRdXSxhcnJvd19jYXBzOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfY2lyY2xlOltbMSw2LDI0XSxbMSw2LDQ4XV0sYXJyb3dfY2lyY2xlX2Rhc2g6W1sxLDEsMjRdXSxhcnJvd19jaXJjbGVfcGxheTpbWzEsMSwyNF0sWzEsMSwKMzZdLFsxLDEsNDhdXSxhcnJvd19jaXJjbGVfcmlnaHQ6W1swLDMsMjRdLFsxLDMsMTJdLFsxLDMsMTZdLFsxLDMsMThdLFsxLDMsMjRdXSxhcnJvd19kaWFnb25hbDpbWzEsNSwyNF1dLGFycm93X2RpYWdvbmFsX2Rvd25fcmlnaHQ6W1swLDEsMTJdLFswLDEsMTZdLFswLDEsMThdLFswLDEsMjRdLFsxLDEsMTJdLFsxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjRdXSxhcnJvd19kaWFnb25hbF91cF9yaWdodDpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLGFycm93X2Rvd246W1swLDMsMjRdLFsxLDMsMjRdXSxhcnJvd19kb3duX2NpcmNsZTpbWzAsNCwxMl0sWzAsNCwxNl0sWzAsNCwxOF0sWzAsNCwyNF1dLGFycm93X2ZsaXA6W1sxLDEwLDE2XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSxhcnJvd19mbGlwX2RvbGxhcl9zaWduOltbMSwyLDI0XV0sYXJyb3dfaW46W1swLDgsMjRdLFsxLDgsMjRdXSxhcnJvd19sZWZ0OltbMSwKOCwyNCwhMF1dLGFycm93X2xlZnRfY2Fpcm86W1sxLDIsMjQsITBdXSxhcnJvd19tZXJnZTpbWzEsMiwyNF1dLGFycm93X291dDpbWzAsMiwyNF1dLGFycm93X3BhdXNlOltbMSwxLDI0XV0sYXJyb3dfcmVkbzpbWzEsMSwyNF1dLGFycm93X3JlbWl4OltbMSwxLDI0XV0sYXJyb3dfcmVwZWF0OltbMCw1LDI0XSxbMSw1LDI0XV0sYXJyb3dfcmVwZWF0XzE6W1swLDMsMjRdLFsxLDMsMjRdXSxhcnJvd19yaWdodDpbWzEsMywyNCwhMF1dLGFycm93X3NodWZmbGU6W1swLDUsMjRdLFsxLDUsMjRdXSxhcnJvd19za2lwX2ZvcndhcmQ6W1swLDEsMjRdLFsxLDEsMjRdXSxhcnJvd19zb2xpZF9kb3duOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDE2XSxbMSw0LDI0XV0sYXJyb3dfc29saWRfdXA6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxhcnJvd19zcGxpdDpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3N3YXBfaG9yaXpvbnRhbDpbWzAsNSwyNF0sWzEsNSwxOF0sClsxLDUsMjRdXSxhcnJvd190aW1lOltbMCw4LDI0XSxbMSw4LDI0XV0sYXJyb3dfdGltZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGFycm93X3RpbWVfZm9yd2FyZDpbWzEsMSwyNF1dLGFycm93X3VuZG86W1sxLDEsMjRdXSxhcnJvd191cDpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3VwX2NpcmNsZTpbWzAsNCwxMl0sWzAsNCwxNl0sWzAsNCwxOF0sWzAsNCwyNF1dLGFycm93c19hbGVydDpbWzEsMSwyNF1dLGFydGljbGU6W1sxLDIsMjRdXSxhcnRpY2xlX2FsZXJ0OltbMSwyLDI0XV0sYXJ0aWNsZV9jaGVjazpbWzEsMiwyNF1dLGFydGljbGVfY2xhcmlmeTpbWzEsMiwyNF1dLGF1ZGlvOltbMCwxNCwxMl0sWzAsMTQsMTZdLFswLDE0LDE4XSxbMCwxNCwyNF0sWzEsMTQsMThdLFsxLDE0LDI0XV0sYXVkaW9fYmFkZ2U6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxhdWRpb19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX29mZjpbWzEsMiwyNF1dLGF1ZGlvX3N1cnJvdW5kOltbMCwKMSwyNF0sWzEsMSwyNF1dLGJhY2tncm91bmQ6W1sxLDEsMjRdXSxiYWNrc3BhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxiYWc6W1swLDcsMTJdLFswLDcsMThdLFswLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxiYWdfYm9va21hcms6W1sxLDIsMjRdXSxiYWdfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxiYXJfY2lyY2xlOltbMSw0LDI0XV0sYmFyX2dyYXBoOltbMCwyLDI0XSxbMSwyLDI0XV0sYmFyX2dyYXBoX2JveF92ZXJ0aWNhbDpbWzAsNiwyNF0sWzEsNiwyNF1dLGJhcl9ob3Jpem9udGFsOltbMSwyLDE2XSxbMSwyLDI0XV0sYmFyc18yOltbMSw5LDE2XSxbMSw5LDI0XV0sYmFyc18zOltbMCwyLDI0XSxbMSwyLDI0XV0sYmVha2VyOltbMSwyLDI0XV0sYmVsbDpbWzAsMTEsMjRdLFsxLDExLDI0XV0sYmVsbF9jYWlybzpbWzAsMywyNF0sWzEsMywyNF1dLGJlbGxfb2ZmOltbMSw1LDI0XV0sYmVsbF9vZmZfY2Fpcm86W1sxLDIsMjRdXSxiZWxsX29uOltbMCw3LDI0XV0sYmVsbF9vbl9jYWlybzpbWzAsCjIsMjRdXSxibHVyOltbMSwyLDI0XV0sYm9vazpbWzEsMywyNF1dLGJvb2ttYXJrOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxib29rbWFya19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGJveF8zZDpbWzAsMSwyNF0sWzEsMSwyNF1dLGJveF9iYXI6W1swLDMsMjRdXSxib3hfY2hlY2s6W1swLDYsMThdLFswLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdXSxib3hfY2hldnJvbl9yaWdodDpbWzEsMywyNF1dLGJveF9kYXNoZWRfdHJpYW5nbGU6W1sxLDMsMjRdXSxib3hfZW1wdHk6W1sxLDUsMjRdXSxib3hfb3Blbl9jaGVjazpbWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLGJveF9wZW5jaWw6W1sxLDMsMTZdLFsxLDMsMjRdXSxib3hfcGxhY2Vob2xkZXJfbGVmdDpbWzEsMSwyNF1dLGJveF9zZWFyY2g6W1sxLDEsMjRdXSxib3hfc3RhY2tfMzpbWzAsMSwyNF0sWzEsMSwyNF1dLGJveGVzXzI6W1sxLDMsMjRdXSxicmllZmNhc2U6W1sxLDIsMjRdXSxicmllZmNhc2Vfc2xhc2g6W1swLAozLDI0XV0sYnJpZ2h0bmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGJyb2FkY2FzdDpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywxNl0sWzEsMywxOF0sWzEsMywyNF0sWzEsMyw0OF1dLGJ1ZzpbWzAsNCwyNF0sWzEsNCwyNF1dLGJ1c2luZXNzOltbMSw0LDI0XV0sY2FibGU6W1sxLDIsMjRdXSxjYWxjdWxhdG9yOltbMCwzLDI0XSxbMSwzLDI0XV0sY2FsZW5kYXI6W1swLDQsMjRdLFsxLDQsMjRdXSxjYW1lcmE6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGNhbWVyYV9hdWRpbzpbWzEsNSwyNF1dLGNhbWVyYV9lZmZlY3RzOltbMSw0LDI0XV0sY2FtZXJhX2ZsaXA6W1sxLDQsMjRdXSxjYW1lcmFfaGFzaHRhZzpbWzEsNSwyNF1dLGNhbWVyYV9zd2l0Y2g6W1swLDMsMjRdLFsxLDMsMjRdXSxjYXJkOltbMCwzLDEyXSxbMCwzLDE2XSxbMCwzLDI0XV0sY2FydDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhcnRfc3Bhcms6W1sxLDEsMjRdXSxjYXQ6W1swLDMsMjRdLFsxLDMsMjRdXSxjZWxlYnJhdGlvbjpbWzEsCjIsMjRdXSxjaGVjazpbWzAsMTMsMTJdLFswLDEzLDE2XSxbMCwxMywyNF0sWzEsMTMsMTZdLFsxLDEzLDI0XV0sY2hlY2tfY2lyY2xlOltbMCwxMCwxOF0sWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2hlY2tfZG91YmxlOltbMSwxLDI0XV0sY2hlY2tfZG91YmxlX29mZjpbWzEsMSwyNF1dLGNoZXZyb25fY29sbGFwc2U6W1sxLDMsMjRdXSxjaGV2cm9uX2Rvd246W1sxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX2Rvd25fY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX2Rvd25fY2lyY2xlOltbMCwzLDI0XV0sY2hldnJvbl9leHBhbmQ6W1sxLDUsMjRdXSxjaGV2cm9uX2ZpcnN0OltbMSwxLDI0XV0sY2hldnJvbl9sYXN0OltbMSwxLDI0XV0sY2hldnJvbl9sZWZ0OltbMSw5LDE2LCEwXSxbMSw5LDE4LCEwXSxbMSw5LDI0LCEwXV0sY2hldnJvbl9sZWZ0X2NpcmNsZTpbWzAsMywyNF1dLGNoZXZyb25fbGVmdF9pb3M6W1sxLDMsMjRdXSxjaGV2cm9uX2xlZnRfaW9zX2NhaXJvOltbMSwyLDI0XV0sCmNoZXZyb25fcmlnaHQ6W1swLDcsMTYsITBdLFswLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTYsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxjaGV2cm9uX3JpZ2h0X2NhaXJvOltbMSwyLDI0XV0sY2hldnJvbl9yaWdodF9jaXJjbGU6W1swLDMsMjRdXSxjaGV2cm9uX3JpZ2h0X2lvczpbWzEsMSwyNF1dLGNoZXZyb25fdXA6W1sxLDksMTZdLFsxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX3VwX2NhaXJvOltbMSwyLDI0XV0sY2hldnJvbl91cF9jaXJjbGU6W1swLDMsMjRdXSxjaHJvbWVjYXN0OltbMCwxMSwyNF0sWzEsMTEsMjRdXSxjaHJvbWVjYXN0X2FuaW1hdGVfZnJhbWVfMTpbWzEsNSwyNF1dLGNocm9tZWNhc3RfYW5pbWF0ZV9mcmFtZV8yOltbMSw1LDI0XV0sY2hyb21lY2FzdF9hbmltYXRlX2ZyYW1lXzM6W1sxLDUsMjRdXSxjaHJvbWVjYXN0X2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hyb21lY2FzdF9tb2JpbGU6W1sxLDQsMjRdLFsxLDQsMzZdXSxjaHJvbWVjYXN0X3dhdmVmb3JtOltbMSwKMiwyNF1dLGNpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLGNpcmNsZV9mdWxsOltbMCwzLDI0XV0sY2lyY2xlX2hhbGZfZnVsbDpbWzEsMSwyNF1dLGNpcmNsZXNfNjpbWzAsMSwyNF1dLGNpcmNsZXNfb3ZlcmxhcDpbWzAsMSwyNF0sWzEsMSwyNF1dLGNpcmNsZXNfb3ZlcmxhcF9jaGVjazpbWzAsMSwxNl0sWzAsMSwyNF1dLGNsYXBwZXJib2FyZDpbWzAsMywyNF0sWzEsMywyNF1dLGNsYXBwZXJib2FyZF9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrOltbMCwxMCwyNF0sWzEsMTAsMTZdLFsxLDEwLDI0XV0sY2xvY2tfYXJyb3dzOltbMSwxLDI0XV0sY2xvY2tfYXJyb3dzX2FsZXJ0OltbMSwxLDI0XV0sY2xvY2tfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjbG9ja19oYWxmX2NpcmNsZTpbWzAsMSwyNF0sWzEsMSwyNF1dLGNsb3NlZF9jYXB0aW9uOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxjbG91ZDpbWzEsMiwyNF1dLGNsb3VkX2Fycm93X2Rvd246W1sxLDMsMjRdXSxjbG91ZF9hcnJvd191cDpbWzAsCjYsMjRdLFsxLDYsMjRdXSxjbG91ZF9jaGVjazpbWzAsMywyNF0sWzEsMywyNF1dLGNsb3VkX2VsbGlwc2lzOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfb2ZmOltbMSwyLDI0XV0sY29kZTpbWzEsMiwyNF1dLGNvbXBhc3M6W1swLDksMjRdLFsxLDksMjRdXSxjb21wYXNzX2NhaXJvOltbMCwxLDI0XSxbMSwxLDI0XV0sY29udHJvbGxlcjpbWzAsMiwyNF0sWzEsMiwyNF1dLGNvcHk6W1sxLDMsMjRdXSxjb3B5cmlnaHQ6W1swLDQsMjRdLFsxLDQsMjRdXSxjcmVhdG9yX2FjYWRlbXk6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdLFsxLDMsMjRdXSxjcmVhdG9yX2FjYWRlbXlfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjcmVkaXRfY2FyZDpbWzEsNCwyNF1dLGNyb3A6W1sxLDQsMTZdLFsxLDQsMjRdXSxjcm9wX3JvdGF0ZTpbWzEsMiwyNF1dLGNyb3duOltbMCw1LDE2XSxbMCw1LDI0XSxbMSw1LDEyXSxbMSw1LDE2XSxbMSw1LDI0XV0sY3ViZV9zcGFyazpbWzEsMSwyNF1dLApjdXJ2ZV9zOltbMCwxLDI0XV0sZGFzaGJvYXJkX3BsdXM6W1sxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjBdLFsxLDEsMjRdXSxkaWVfMzpbWzAsNSwyNF0sWzEsNSwyNF1dLGRpcmVjdGlvbnM6W1sxLDMsMjRdXSxkb2dmb29kOltbMSwxLDI0XV0sZG9sbGFyX3NpZ246W1swLDcsMjRdLFsxLDcsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGU6W1swLDEyLDE2XSxbMCwxMiwyNF0sWzEsMTIsMTZdLFsxLDEyLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX3BhdXNlOltbMSwyLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX3BsdXM6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jb250YWluZXI6W1sxLDcsMjRdXSxkb2xsYXJfc2lnbl9oZWFydDpbWzAsMjQsMTJdLFswLDI0LDI0XSxbMSwyNCwxNl0sWzEsMjQsMjRdXSxkb2xsYXJfc2lnbl9vZmY6W1sxLDMsMjRdXSxkb3Q6W1swLDIsMTJdLFswLDIsMjRdXSxkb3dubG9hZDpbWzAsMTEsMjRdLFsxLDExLDE2XSxbMSwxMSwyNF1dLGRvd25sb2FkX2NhaXJvOltbMCwKMiwyNF0sWzEsMiwyNF1dLGRvd25sb2FkZWQ6W1swLDgsMjRdXSxkb3dubG9hZGluZzpbWzEsNSwyNF1dLGRvd25sb2FkaW5nXzA6W1sxLDUsMjRdXSxkb3dubG9hZGluZ18xOltbMSw2LDI0XV0sZG93bmxvYWRpbmdfMjpbWzEsNiwyNF1dLGRvd25sb2FkaW5nXzM6W1sxLDYsMjRdXSxkb3dubG9hZGluZ180OltbMSw2LDI0XV0sZG93bmxvYWRpbmdfNTpbWzEsNywyNF1dLGRvd25sb2FkaW5nXzY6W1sxLDYsMjRdXSxkcml2ZV9hZGQ6W1sxLDIsMjRdXSxlYXJ0aDpbWzAsMTIsMjRdLFsxLDEyLDE2XSxbMSwxMiwxOF0sWzEsMTIsMjRdXSxleHBsaWNpdDpbWzAsNywxOF0sWzAsNywyNF0sWzEsNywyNF1dLGV5ZTpbWzAsNiwyNF0sWzEsNiwyNF1dLGV5ZV9vZmY6W1sxLDQsMjRdXSxleWVkcm9wcGVyOltbMSwyLDI0XV0sZmFjZV9hZGQ6W1sxLDEsMjRdXSxmYWNlX2Fycm93c19kaWFnb25hbDpbWzEsMSwyNF1dLGZhY2VfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLApbMSwxMiwzNl1dLGZhY2VfaW1hZ2U6W1sxLDIsMjRdXSxmYWNlX21laDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYWNlX21laF8yOltbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XSxbMSw2LDM2XV0sZmFjZV9wYWludGJydXNoOltbMSwyLDI0XV0sZmFjZV9zYWQ6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV91bmhhcHB5OltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfdXBzZXQ6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV92ZXJ5X2hhcHB5OltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfdmVyeV9zYWQ6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFzaGlvbjpbWzAsNCwyNF0sWzEsNCwyNF1dLGZhc2hpb25fY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmYXN0X2JhY2s6W1swLAozLDI0XSxbMSwzLDI0XV0sZmFzdF9mb3J3YXJkOltbMCw1LDI0XV0sZmlsbV9zdHJpcDpbWzAsNywyNF0sWzEsNywyNF1dLGZpbG1fc3RyaXBfYWRkOltbMSwyLDI0XV0sZmlsdGVyX2ZhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxmaWx0ZXJfcGhvdG86W1swLDgsMjRdLFsxLDgsMjRdXSxmaXJlOltbMCwxMCwxMl0sWzAsMTAsMjRdLFsxLDEwLDE2XSxbMSwxMCwyNF1dLGZpcmVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmaXJld29ya3M6W1sxLDMsMjRdXSxmbGFnOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxmbGFnX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxhc2hfYXV0bzpbWzAsMywyNF0sWzEsMywyNF1dLGZsYXNoX2NpcmNsZTpbWzAsNSwxOF0sWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX29mZjpbWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX29uOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxpcF9ob3Jpem9udGFsOltbMSw0LDI0XV0sZmxpcF9ob3Jpem9udGFsX2Rhc2g6W1sxLAoxLDI0XV0sZmxpcF92ZXJ0aWNhbF9kYXNoOltbMSwxLDI0XV0sZm9sZGVyOltbMCw0LDE2XSxbMCw0LDI0XSxbMSw0LDI0XV0sZm9udF9zcXVhcmVfc3Bhcms6W1sxLDEsMTZdLFsxLDEsMjRdXSxmb290YmFsbDpbWzAsNCwyNF0sWzEsNCwyNF1dLGdhbWluZzpbWzAsMywyNF0sWzEsMywyNF1dLGdhbWluZ19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGdlYXI6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGdlYXJfY2Fpcm86W1swLDMsMjRdLFsxLDMsMjRdXSxnaG9zdDpbWzAsNSwyNF0sWzEsNSwyNF1dLGdpZjpbWzEsMywyNF1dLGdpZnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxnbG9iZTpbWzAsNCwyNF0sWzAsNCwzNl0sWzEsNCwyNF0sWzEsNCwzNl1dLGdsb2JlX2ltYWdlOltbMCwzLDI0XSxbMCwzLDM2XSxbMSwzLDI0XSxbMSwzLDM2XV0sZ2xvdzpbWzEsMiwyNF1dLGdvb2dsZV9sZW5zOltbMSw0LDI0XV0sZ3JlYXRlcl90aGFuXzIwOltbMSwyLDI0XV0sZ3JpZF8yeDI6W1sxLDEsMjRdXSwKZ3JpZF8zX2J5XzM6W1swLDEsMjRdLFsxLDEsMjRdXSxncmlkX2FzeW1tZXRyaWNhbDpbWzAsMSwyNF0sWzEsMSwyNF1dLGhhbmQ6W1sxLDIsMjRdXSxoYW5kX2xvbmdfcHJlc3M6W1swLDMsMjRdLFsxLDMsMjRdXSxoYW5kX3BpbmNoX2luOltbMSwyLDI0XV0saGFuZF9zd2lwZV9sZWZ0OltbMSwxLDI0XV0saGFuZF9zd2lwZV9yaWdodDpbWzEsMiwyNF1dLGhhbmRfdGFwOltbMCwyLDI0XSxbMSwyLDI0XV0saGFuZF93YXZlOltbMSwyLDI0XV0saGFuZHNfaGVhcnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxoYXNodGFnOltbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDIwXSxbMSwyLDI0XV0saGQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFkc2V0OltbMCw4LDI0XSxbMSw4LDI0XV0saGVhcnQ6W1swLDE5LDEzXSxbMCwxOSwyNF0sWzEsMTksMTZdLFsxLDE5LDI0XV0saGVhcnRfYm94OltbMSwxLDI0XV0saGVhcnRfY2lyY2xlOltbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDIwXSxbMSwyLDI0XV0sCmhlYXJ0X29mZjpbWzEsMiwyNF1dLGhpZXJhcmNoeTpbWzAsNCwyNF0sWzEsNCwyNF1dLGhpZ2hsaWdodHM6W1sxLDIsMjRdXSxob21lOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxob21lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0saG91cmdsYXNzOltbMSwzLDE2XSxbMSwzLDI0XV0saW1hZ2U6W1swLDgsMjRdLFsxLDgsMjRdXSxpbWFnZV9hZGQ6W1sxLDQsMjRdXSxpbWFnZV93YWxscGFwZXI6W1sxLDEsMjRdXSxpbmNvZ25pdG86W1swLDksMjRdLFsxLDksMjRdXSxpbmNvZ25pdG9fY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxpbmZpbml0ZTpbWzAsMiwyNF1dLGluZmluaXR5OltbMSwyLDI0XV0saW5mb19jaXJjbGU6W1sxLDExLDE2XSxbMSwxMSwxOF0sWzEsMTEsMjBdLFsxLDExLDI0XV0saW5mb19jaXJjbGVfc3Bhcms6W1sxLDIsMjRdXSxqb3VybmV5OltbMSwyLDI0XV0sa2V5OltbMSw1LDI0XV0sa2V5Ym9hcmQ6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbDpbWzAsNCwyNF0sClsxLDQsMjRdXSxsYXB0b3A6W1sxLDMsMjRdXSxsYXB0b3BfbW9iaWxlOltbMCw0LDI0XSxbMSw0LDI0XV0sbGF5ZXJzOltbMCwxLDI0XSxbMSwxLDI0XV0sbGVhZjpbWzEsMiwyNF1dLGxlbnM6W1sxLDEsMjRdXSxsZXNzX3RoYW5fNDpbWzEsMiwyNF1dLGxpYnJhcnk6W1swLDcsMjRdLFsxLDcsMjRdXSxsaWJyYXJ5X2FkZDpbWzEsNywxNl0sWzEsNywyNF1dLGxpYnJhcnlfaW1hZ2U6W1sxLDEsMjRdXSxsaWJyYXJ5X211c2ljOltbMCwzLDI0XSxbMSwzLDI0XV0sbGlicmFyeV9zYXZlZDpbWzAsNywyNF1dLGxpZ2h0YnVsYjpbWzAsNCwxMl0sWzAsNCwyNF0sWzEsNCwyNF1dLGxpZ2h0YnVsYl9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpZ2h0YnVsYl9zcGFyazpbWzEsMiwyNF1dLGxpbms6W1sxLDgsMThdLFsxLDgsMjRdXSxsaW5rX29mZjpbWzEsMSwyNF1dLGxpc3RfYWRkOltbMSw1LDI0XV0sbGlzdF9jaGVjazpbWzAsMiwyNF1dLGxpc3RfbXVzaWM6W1sxLDMsMjRdXSxsaXN0X3BlbmNpbDpbWzEsCjUsMjRdXSxsaXN0X3BsYXlfYXJyb3c6W1swLDgsMjRdLFsxLDgsMTJdLFsxLDgsMjRdXSxsaXN0X3BsYXlfYXJyb3dfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxsaXN0X3F1ZXVlOltbMSwxLDI0XV0sbGlzdF9xdWV1ZV9sYXN0OltbMCwzLDI0XSxbMSwzLDI0XV0sbGlzdF9xdWV1ZV9uZXh0OltbMSwxLDI0XV0sbGlzdF9yZW1vdmU6W1sxLDEsMjRdXSxsaXN0X3ZpZXc6W1sxLDIsMjRdXSxsaXN0X3ZpZXdfY2Fpcm86W1sxLDIsMjRdXSxsaXZlX21vYmlsZV9sYW5kc2NhcGVfb3JpZW50YXRpb246W1sxLDEsMjRdXSxsaXZlX3Bob3RvOltbMSwyLDI0XV0sbGl2ZV93YXZlczpbWzEsMiwxOF0sWzEsMiwyNF1dLGxvY2F0aW9uX3BvaW50OltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDI0XV0sbG9jYXRpb25fcG9pbnRfb2ZmOltbMSwxLDI0XV0sbG9jazpbWzAsMTMsMTJdLFswLDEzLDI0XSxbMSwxMywxMl0sWzEsMTMsMTZdLFsxLDEzLDE4XSxbMSwxMywyNF1dLGxvY2tfb3BlbjpbWzEsCjQsMjRdXSxtYWdpY193YW5kOltbMCwzLDI0XSxbMSwzLDI0XV0sbWFpbDpbWzAsOSwyNF0sWzEsOSwyNF1dLG1hcDpbWzEsMywyNF1dLG1hdGhfYWRkOltbMCwzLDI0XV0sbWF0aF9hbmQ6W1swLDMsMjRdXSxtYXRoX2RpdmlkZTpbWzAsMywyNF1dLG1hdGhfZXF1YWxzOltbMCwzLDI0XV0sbWF0aF9lcXVhbHNfc2xhc2g6W1sxLDMsMjRdXSxtYXRoX2dyZWF0ZXJfdGhhbjpbWzAsMywyNF1dLG1hdGhfZ3JlYXRlcl90aGFuX29yX2VxdWFsOltbMSwxLDI0XV0sbWF0aF9sZXNzX3RoYW46W1swLDMsMjRdXSxtYXRoX2xlc3NfdGhhbl9vcl9lcXVhbDpbWzEsNCwyNF1dLG1hdGhfbXVsdGlwbHk6W1swLDMsMjRdXSxtYXRoX29yOltbMCwzLDI0XV0sbWF0aF9wZXJjZW50OltbMCwzLDI0XV0sbWF0aF9zdWJ0cmFjdDpbWzAsMywyNF1dLG1heGltaXplX2NhaXJvOltbMSwxLDI0XV0sbWVkYWw6W1sxLDIsMjRdXSxtZWRhbF9zdGFyOltbMSwyLDI0XV0sbWVldDpbWzEsMSwyNF1dLG1lZ2FwaG9uZTpbWzAsCjUsMjRdLFsxLDUsMjRdXSxtZW1iZXJzaGlwczpbWzAsOSwxMl0sWzAsOSwxNl0sWzAsOSwxOF0sWzAsOSwyNF0sWzEsOSwyNF1dLG1lbnRpb246W1sxLDUsMTZdLFsxLDUsMjRdXSxtZW51X2ZpbHRlcjpbWzAsMSwyNF0sWzEsMSwyNF1dLG1lbnVfc29ydDpbWzEsNCwyNF1dLG1lc3NhZ2VfYnViYmxlX2FsZXJ0OltbMCw2LDI0XSxbMSw2LDI0XV0sbWVzc2FnZV9idWJibGVfYWxlcnRfY2Fpcm86W1sxLDIsMjRdXSxtZXNzYWdlX2J1YmJsZV9lbXB0eTpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2dlYXI6W1sxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9sZWZ0OltbMCwxLDI0XSxbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfbGVmdF9ib29zdDpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2xlZnRfb2ZmOltbMSwxLDE2XSxbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfb3ZlcmxhcDpbWzAsOCwyNF0sWzEsOCwyNF1dLG1lc3NhZ2VfYnViYmxlX3F1ZXN0aW9uOltbMCwyLDE2XSxbMCwyLAoyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLG1lc3NhZ2VfYnViYmxlX3JpZ2h0OltbMCwxNCwyNF0sWzAsMTQsMzJdLFsxLDE0LDE2XSxbMSwxNCwyNF1dLG1lc3NhZ2VfYnViYmxlX3JpZ2h0X2NhcHRpb246W1sxLDEsMjRdXSxtaWM6W1swLDE0LDI0XSxbMSwxNCwyNF1dLG1pY19vZmY6W1sxLDIsMjRdXSxtaW5pcGxheWVyX2V4aXQ6W1sxLDEsMjRdXSxtb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxtb2JpbGVfY2hlY2s6W1sxLDIsMjRdXSxtb2JpbGVfZG93bmxvYWQ6W1sxLDMsMjRdXSxtb2JpbGVfbGFuZHNjYXBlOltbMSwzLDI0XV0sbW9iaWxlX3NjcmVlbl9ob3Jpem9udGFsOltbMSwxLDI0XV0sbW9iaWxlX3NjcmVlbl92ZXJ0aWNhbDpbWzEsMSwyNF1dLG1vbmV5X2hhbmQ6W1sxLDIsMjRdXSxtb25pdG9yX2Rpc3BsYXk6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxtb25pdG9yX2Rpc3BsYXlfb2ZmOltbMSwxLDI0XV0sbW9vbl96OltbMCwxLDI0XSxbMSwKMSwyNF1dLG1vdGlvbjpbWzEsMiwyNF1dLG1vdmU6W1sxLDQsMjRdXSxtdXNpYzpbWzAsNiwyNF0sWzEsNiwxNl0sWzEsNiwxOF0sWzEsNiwyNF1dLG11c2ljX29mZjpbWzEsMywyNF1dLG11c2ljX3NjaXNzb3JzOltbMSwzLDI0XV0sbXVzaWNfc2hhcGU6W1sxLDMsMjRdXSxtdXNpY192aWRlbzpbWzEsNCwyNF1dLG11c2ljX3ZpZGVvX29mZjpbWzEsMSwyNF1dLG15X3ZpZGVvczpbWzEsNiwyNF1dLG15X3ZpZGVvc19jYWlybzpbWzEsMiwyNF1dLG5ld3M6W1swLDMsMjRdLFsxLDMsMTJdLFsxLDMsMjRdXSxuZXdzX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sbm9kZV9sZWZ0OltbMSwyLDI0XV0sbm9kZV9yaWdodDpbWzEsMiwyNF1dLG5vdGU6W1swLDEsMTZdLFswLDEsMjRdLFsxLDEsMTZdLFsxLDEsMjRdXSxub3RlX2FkZDpbWzEsMSwxNl0sWzEsMSwyNF1dLG5vdGVfc3Bhcms6W1swLDIsMTZdLFswLDIsMjRdLFsxLDIsMTZdLFsxLDIsMjRdXSxvZG9tZXRlcjpbWzAsNCwyNF0sClsxLDQsMjRdXSxvcGVuX25ldzpbWzAsNywyNF0sWzEsNywxMl0sWzEsNywyNF1dLG92ZXJmbG93X2hvcml6b250YWw6W1sxLDYsMjRdLFsxLDYsMzJdXSxvdmVyZmxvd192ZXJ0aWNhbDpbWzEsMTMsMjRdXSxvdmVyZmxvd192ZXJ0aWNhbF9jYWlybzpbWzEsMSwyNF1dLHBhaW50X2J1Y2tldDpbWzEsMywyNF1dLHBhbGV0dGU6W1sxLDEsMjRdXSxwYW5lbHM6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXBlcl9jb3JuZXJfZm9sZGVkOltbMCwyLDI0XSxbMSwyLDI0XV0scGFwZXJfb3Blbl9pbl9uZXc6W1swLDEsMjRdLFsxLDEsMjRdXSxwYXVzZTpbWzAsOSwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMiwxMl0sWzAsMiwxNl0sWzAsMiwyNF1dLHBkZjpbWzEsMiwyNF1dLHBlbmNpbDpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHBlb3BsZTpbWzAsNiwxMl0sWzAsNiwyNF0sWzEsNiwyNF1dLHBlb3BsZV8yOltbMCwxLDI0XSxbMSwxLDI0XV0scGVvcGxlX2dyb3VwOltbMCw0LDI0XSwKWzEsNCwxNl0sWzEsNCwyNF1dLHBlb3BsZV9ub3RlOltbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uOltbMCw3LDEyXSxbMCw3LDEzXSxbMCw3LDE2XSxbMCw3LDI0XSxbMCw3LDQ4XSxbMSw3LDEzXSxbMSw3LDE2XSxbMSw3LDI0XV0scGVyc29uXzI6W1sxLDEsMjRdXSxwZXJzb25fYWNjb3VudDpbWzEsNiwyNF1dLHBlcnNvbl9hY2NvdW50X2NhaXJvOltbMSwxLDI0XV0scGVyc29uX2FkZDpbWzEsNywyNF1dLHBlcnNvbl9ib3g6W1sxLDUsMjRdXSxwZXJzb25fY2lyY2xlOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxwZXJzb25fY2lyY2xlX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX2NpcmNsZV9zbGFzaDpbWzEsMiwyNF1dLHBlcnNvbl9taW51czpbWzAsMSwyNF0sWzEsMSwyNF1dLHBlcnNvbl9tdXNpYzpbWzAsNCwyNF0sWzEsNCwyNF1dLHBlcnNvbl9yYWRhcjpbWzAsNywxMl0sWzAsNywyNF0sWzEsNywxNl0sWzEsNywxOF0sWzEsNywyNF1dLHBlcnNvbl9zZXR0aW5nOltbMSwKNiwyNF1dLHBlcnNvbl9zaGllbGQ6W1sxLDgsMjRdXSxwZXJzb25fc3F1YXJlX3NwYXJrOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3dhdmVmb3JtOltbMSwyLDI0XV0scGhvbmU6W1swLDMsMjRdLFsxLDMsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmU6W1swLDIsMjRdLFsxLDIsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmVfY29tYmluZTpbWzEsMSwyNF1dLHBpbjpbWzAsNywxMl0sWzAsNywyNF0sWzEsNywxNl0sWzEsNywyNF1dLHBpbl9vZmY6W1sxLDEsMjRdXSxwbGF5X2Fycm93OltbMCw3LDI0XSxbMSw3LDI0XV0scGxheV9hcnJvd19jaXJjbGU6W1swLDIsMjRdLFsxLDIsMjRdXSxwbGF5X2Fycm93X2Rpc2FibGVkOltbMCwxLDEyXSxbMCwxLDI0XV0scGxheV9hcnJvd19oYWxmX2NpcmNsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLHBvZGNhc3Q6W1swLDYsMjRdLFsxLDYsMTJdLFsxLDYsMTZdLFsxLDYsMThdLFsxLDYsMjRdXSxwb2RjYXN0X2FkZDpbWzAsMiwyNF0sWzEsMiwyNF1dLApwb2RjYXN0X2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0scG9kY2FzdF9jaGVjazpbWzAsMiwyNF1dLHBvaW50XzJ4OltbMSwxLDI0XV0scG9pbnRfM3g6W1sxLDMsMjRdXSxwb2ludF81eDpbWzEsMywyNF1dLHBvaW50Xzh4OltbMSwxLDI0XV0scG9sbDpbWzEsMTAsMTZdLFsxLDEwLDI0XSxbMSwxMCw0MF1dLHBvdW5kOltbMSwzLDI0XV0scHJlc2VudGF0aW9uOltbMSwzLDI0XV0scHJlc2VudGF0aW9uX3JlbW92ZTpbWzEsMSwyNF1dLHByaWNlX3RhZzpbWzAsOCwxMl0sWzAsOCwyNF0sWzEsOCwyNF1dLHByaWNlX3RhZ19oZWFydDpbWzEsMiwyNF1dLHFyX2NvZGU6W1sxLDMsMjRdXSxxdWVzdGlvbl9jaXJjbGU6W1sxLDUsMjRdXSxxdWVzdGlvbl9jaXJjbGVfY2Fpcm86W1sxLDIsMjRdXSxxdWVzdGlvbl9oZWFkOltbMSwyLDI0XV0scXVvdGF0aW9uX21hcms6W1swLDEsMjRdLFsxLDEsMjRdXSxxdW90YXRpb25fbWFya19vZmY6W1sxLDEsMjRdXSxyYWRhcl9saXZlOltbMCw3LDI0XSwKWzEsNywxMl0sWzEsNywxNl0sWzEsNywyNF1dLHJhZGFyX2xpdmVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxyYXRpbmdfZG93bjpbWzEsMSwyNF1dLHJhdGluZ191cDpbWzEsNywxMl0sWzEsNywxNl0sWzEsNywyNF1dLHJlY29yZDpbWzAsMiwyNF1dLHJlbWl4OltbMSwyLDE2XSxbMSwyLDI0XV0scmVwbGF5X2Fycm93OltbMSwxLDI0XV0scm90YXRlXzkwOltbMSwxLDI0XV0scm90YXRlXzkwX2Nsb2Nrd2lzZTpbWzEsMiwyNF1dLHJzczpbWzEsMiwxNl0sWzEsMiwyNF1dLHJzc19vZmY6W1sxLDEsMTZdLFsxLDEsMjRdXSxydWJ5OltbMSwyLDEyXSxbMSwyLDE2XSxbMSwyLDE4XSxbMSwyLDI0XV0sc2FtcGxlczpbWzAsMiwyNF0sWzEsMiwyNF1dLHNhdHVyYXRpb246W1sxLDIsMjRdXSxzY2FsZTpbWzEsNCwyNF1dLHNjaXNzb3JzOltbMCw4LDEyXSxbMCw4LDI0XSxbMSw4LDI0XV0sc2Npc3NvcnNfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxzY2lzc29yc19jdXQ6W1sxLDQsCjE2XSxbMSw0LDE4XSxbMSw0LDI0XV0sc2NyZWVuX2RlZmF1bHQ6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxzY3JlZW5fZnVsbDpbWzEsNywyNF1dLHNjcmVlbl9mdWxsX2NhaXJvOltbMSwxLDI0XV0sc2NyZWVuX2Z1bGxfZXhpdDpbWzEsNiwyNF1dLHNjcmVlbl9mdWxsX2V4aXRfY2Fpcm86W1sxLDEsMjRdXSxzY3JlZW5fZnVsbHNjcmVlbjpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9saWdodDpbWzEsMSwyNF1dLHNjcmVlbl9taW5pX3BsYXllcjpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9tdWx0aV92aWV3OltbMCwzLDI0XSxbMSwzLDI0XV0sc2NyZWVuX3JvdGF0aW9uOltbMSwyLDE4XSxbMSwyLDI0XV0sc2NyZWVuX3N3aXRjaDpbWzAsMSwyNF0sWzEsMSwyNF1dLHNjcmVlbl90aGVhdHJlOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX3ZlcnRpY2FsOltbMSwKMSwyNF1dLHNjcmVlbl94OltbMSwyLDI0XV0sc2Q6W1swLDMsMjRdLFsxLDMsMjRdXSxzZWFyY2g6W1swLDE1LDI0XSxbMSwxNSwyNF1dLHNlYXJjaF9jYWlybzpbWzEsMiwyNF1dLHNlYXJjaF9zdXBlcnNjcmlwdDpbWzEsMSwyNF1dLHNlbmQ6W1swLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxzZXR0aW5nc19yZW1vdGU6W1sxLDEsMjRdXSxzaGFkb3dfaGFyZDpbWzAsMywyNF1dLHNoYWRvd19zb2Z0OltbMCwzLDI0XV0sc2hhcGVzOltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcmU6W1swLDEyLDI0LCEwXSxbMCwxMiwzMiwhMF0sWzEsMTIsMTYsITBdLFsxLDEyLDI0LCEwXV0sc2hhcmVfY2Fpcm86W1sxLDIsMjRdXSxzaGFyZV9pb3M6W1sxLDIsMjRdXSxzaGFyZV9saW5rOltbMCwxLDI0XSxbMSwxLDI0XV0sc2hpZWxkOltbMSw2LDI0XV0sc2hpZWxkX2FkZDpbWzEsMiwyNF1dLHNoaWVsZF9jaGVjazpbWzEsMSwyNF1dLHNoaWVsZF9lbXB0eTpbWzAsCjEsMTZdLFswLDEsMThdLFswLDEsMjRdLFsxLDEsMTZdLFsxLDEsMThdLFsxLDEsMjRdXSxzaGllbGRfb2ZmOltbMSwxLDI0XV0sc2hpZWxkX292ZXJmbG93OltbMSwyLDI0XV0sc2hpZWxkX3BsdXM6W1sxLDEsMjRdXSxzaGllbGRfc2VhcmNoOltbMSwyLDI0XV0sc2hvcnRzX2xheW91dF9ib3R0b206W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X2NlbnRlcmVkX3NxdWFyZTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfZm9yZWdyb3VuZDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGFuZHNjYXBlX2JvdHRvbTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGFuZHNjYXBlX3RvcDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfbGVmdDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfcGlwOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9yaWdodDpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfc2luZ2xlOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF90b3A6W1sxLDEsMjRdXSxza2lwX2JhY2tfMTA6W1swLAoxLDI0XV0sc2tpcF9iYWNrXzE1OltbMCwxLDI0XV0sc2tpcF9iYWNrXzIwOltbMCwxLDI0XV0sc2tpcF9iYWNrXzMwOltbMCwxLDI0XV0sc2tpcF9iYWNrXzU6W1swLDEsMjRdXSxza2lwX2JhY2tfNjA6W1swLDEsMjRdXSxza2lwX2Rvd246W1swLDYsMjRdXSxza2lwX2ZvcndhcmRfMTA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMTU6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMjA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfMzA6W1swLDEsMjRdXSxza2lwX2ZvcndhcmRfNTpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF82MDpbWzAsMSwyNF1dLHNraXBfbmV4dDpbWzAsNywyNF1dLHNraXBfcHJldmlvdXM6W1swLDYsMjRdXSxza2lwX3VwOltbMCw2LDI0XV0sc2xhc2hfY2lyY2xlX2xlZnQ6W1sxLDcsMjRdXSxzbGFzaF9jaXJjbGVfcmlnaHQ6W1sxLDIsMjRdXSxzb2NjZXJfYmFsbDpbWzEsMywyNF1dLHNvY2Nlcl9jYXJkOltbMCwyLDEyXSxbMCwyLDE2XSxbMCwyLDI0XV0sc3BhY2ViYXI6W1sxLAoyLDI0XV0sc3Bhcms6W1swLDExLDEyXSxbMCwxMSwxNl0sWzAsMTEsMjRdLFsxLDExLDI0XV0sc3BhcmtfY2hhdDpbWzEsMSwxNl0sWzEsMSwyNF1dLHNwYXJrX2ltYWdlOltbMSwyLDI0XV0sc3BhcmtfbGlnaHRidWxiOltbMCwzLDI0XSxbMSwzLDI0XV0sc3BhcmtfbWVzc2FnZV9idWJibGU6W1sxLDQsMTZdLFsxLDQsMjRdXSxzcGFya19tZXNzYWdlX2J1YmJsZV9sZWZ0OltbMSwxLDI0XV0sc3BhcmtfbXVzaWM6W1sxLDIsMjRdXSxzcGFya19wZW5jaWw6W1sxLDIsMjRdXSxzcGFya19yYWRhcjpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwyNF1dLHNwYXJrX3RleHQ6W1sxLDEsMjRdXSxzcGFya192aWRlbzpbWzEsMiwyNF1dLHNwYXJrbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxzcGVha2VyOltbMSwyLDI0XV0sc3BlYWtlcl9ncm91cDpbWzEsMSwyNF1dLHNwZWFrZXJfZ3JvdXBfb2ZmOltbMSwxLDI0XV0sc3BlYWtlcl9oZWFkc2V0OltbMSwKMiwyNF1dLHNwZWFrZXJfb2ZmOltbMSwxLDI0XV0sc3BsaXQ6W1sxLDQsMjRdXSxzcG9ydHM6W1swLDEsMjRdXSxzcG90bGlnaHQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzdGFyOltbMCw2LDEyXSxbMCw2LDE2XSxbMCw2LDI0XSxbMSw2LDEyXSxbMSw2LDE2XSxbMSw2LDI0XV0sc3Rhcl9jaXJjbGU6W1swLDYsMTJdLFswLDYsMTZdLFswLDYsMThdLFswLDYsMjRdXSxzdGFyX2NpcmNsZV9yaWJib246W1swLDEsMTZdLFswLDEsMjBdLFswLDEsMjRdLFswLDEsMzZdLFsxLDEsMTZdLFsxLDEsMjBdLFsxLDEsMjRdLFsxLDEsMzZdXSxzdGFyX2hhbGY6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxzdGFyX3Nob290aW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sc3RhdGlzdGljc19ncmFwaDpbWzEsMiwyNF1dLHN0aWNrZXI6W1sxLDMsMjRdXSxzdG9wOltbMCw2LDI0XSxbMCw2LDM2XV0sc3RvcHdhdGNoOltbMCw1LDE2XSxbMCw1LDI0XSxbMSw1LDE2XSxbMSw1LDI0XV0sc3RvcHdhdGNoXzEwOltbMCwKMSwyNF1dLHN0b3B3YXRjaF8zOltbMCwxLDI0XV0sc3Vic2NyaXB0aW9uczpbWzAsMTIsMjRdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLHN1YnNjcmlwdGlvbnNfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxzdWJ0aXRsZXM6W1swLDUsMTJdLFswLDUsMjRdLFsxLDUsMjRdXSxzdXBlcl9jaGF0OltbMSw4LDE4XSxbMSw4LDI0XV0sc3VwZXJfc3RpY2tlcjpbWzAsOCwxNl0sWzAsOCwyNF0sWzEsOCwxNl0sWzEsOCwyNF1dLHN1cGVyX3N0b3JlOltbMSwzLDI0XV0sc3VwZXJzdGFyOltbMSwxLDI0XV0sdGFibGV0OltbMSwxLDI0XV0sdGFyZ2V0OltbMCwyLDI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sdGFyZ2V0X2FkZDpbWzAsMiwyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLHRlbXBsYXRlX2FkZDpbWzEsMywxNl0sWzEsMywyNF1dLHRlbXBsYXRlX3BsYXk6W1swLDMsMjRdLFsxLDMsMjRdXSx0ZXh0OltbMCw5LDI0XSxbMSw5LDE2XSxbMSw5LDE4XSxbMSw5LDI0XV0sdGV4dF9iZWxsX2NhaXJvOltbMSwKMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLHRleHRfYm9sZDpbWzEsMSwyNF1dLHRleHRfYm94OltbMSw1LDI0XV0sdGV4dF9pdGFsaWM6W1sxLDEsMjRdXSx0ZXh0X291dGxpbmU6W1sxLDIsMjRdXSx0ZXh0X3ByZXNldDpbWzEsMSwyNF1dLHRleHRfc2VyaWY6W1sxLDEsMjRdXSx0ZXh0X3NoYWRvdzpbWzEsMiwyNF1dLHRleHRfc3RyaWtldGhyb3VnaDpbWzEsMSwyNF1dLHRleHRfdW5kZXJsaW5lOltbMSwxLDI0XV0sdGhlbWVfc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0sdGhlcm1vbWV0ZXI6W1sxLDIsMjRdXSx0aHVtYl9kb3duOltbMCwyNSwxNl0sWzAsMjUsMjRdLFswLDI1LDM2XSxbMSwyNSwxNl0sWzEsMjUsMjRdLFsxLDI1LDM2XV0sdGh1bWJfdXA6W1swLDI0LDE2XSxbMCwyNCwyNF0sWzAsMjQsMzZdLFsxLDI0LDE2XSxbMSwyNCwyNF0sWzEsMjQsMzZdXSx0aHVtYl91cF9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHRodW1iX3VwX2Rvd246W1swLDQsCjI0XSxbMSw0LDI0XV0sdGljX3RhY190b2U6W1swLDQsMTJdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSx0aWNfdGFjX3RvZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHRpY2tldF9zdGFyOltbMSwxLDI0XV0sdGlsdDpbWzEsNCwyNF1dLHRpbWVfc3RhbXBfcGx1czpbWzEsMSwyNF1dLHRpbWVsaW5lOltbMSwzLDI0XV0sdG9vbGJveDpbWzEsNCwyNF1dLHRyYW5zY3JpcHQ6W1sxLDIsMTZdLFsxLDIsMjRdXSx0cmFuc2NyaXB0X3NlYXJjaDpbWzEsMSwxNl0sWzEsMSwyNF1dLHRyYW5zaXRpb246W1swLDUsMjRdLFsxLDUsMjRdXSx0cmFuc2xhdGU6W1sxLDQsMTZdLFsxLDQsMjRdXSx0cmFzaF9jYW46W1sxLDEwLDE2XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSx0cmlhbmdsZV9kb3duOltbMSw4LDI0XV0sdHJpYW5nbGVfdGhyZWVfbGVmdDpbWzAsMSwyNF1dLHRyaWFuZ2xlX3RocmVlX3JpZ2h0OltbMCwxLDI0XV0sdHJvcGh5OltbMCwzLDI0XSxbMSwzLDI0XV0sdHJvcGh5X2NhaXJvOltbMCwKMiwyNF0sWzEsMiwyNF1dLHRyb3BoeV9zdGFyOltbMSwxLDI0XV0sdHJ1Y2s6W1swLDUsMjRdLFsxLDUsMjRdXSx0djpbWzAsOCwxMl0sWzAsOCwxNl0sWzAsOCwyNF0sWzEsOCwxNl0sWzEsOCwyNF1dLHR2X2Fycm93X2xlZnQ6W1sxLDIsMjRdXSx0dl9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSx0dl9kb2xsYXJfc2lnbjpbWzAsMSwyNF0sWzEsMSwyNF1dLHR2X29mZjpbWzEsMiwyNF1dLHR2X3F1ZXVlOltbMSw0LDI0XV0sdHZfcXVldWVfY2hldnJvbjpbWzEsMiwyNF1dLHVwbG9hZDpbWzEsNSwyNF1dLHVwbG9hZGluZzpbWzEsMSwyNF1dLHZhcmlhYmxlOltbMSw0LDI0XV0sdmVyaWZpZWRfY2lyY2xlOltbMSw0LDI0XV0sdmlkZW9fY2FtZXJhOltbMCw5LDI0XSxbMSw5LDI0XV0sdmlkZW9fY2FtZXJhX2FkZDpbWzEsMiwyNF1dLHZpZGVvX2NhbWVyYV9vZmY6W1sxLDEsMjRdXSx2aWRlb19saW5rOltbMSw1LDE2XSxbMSw1LDI0XV0sdmlkZW9fcmV2ZXJzZTpbWzEsMSwyNF1dLAp2aWRlb19zcGFyazpbWzEsMiwyNF1dLHZpZGVvX3N0aXRjaDpbWzEsMiwyNF1dLHZpZGVvX3dhdmVmb3JtOltbMSwxLDI0XV0sdm9sdW1lX2Rvd246W1swLDIsMjRdLFsxLDIsMjRdXSx2b2x1bWVfZmFkZTpbWzEsMiwyNF1dLHZvbHVtZV9vZmY6W1swLDQsMjRdLFsxLDQsMjRdXSx2b2x1bWVfb246W1swLDMsMjRdLFsxLDMsMjRdXSx2b2x1bWVfc3RhYmxlOltbMCwxLDI0XSxbMSwxLDI0XV0sdnI6W1swLDcsMjRdLFsxLDcsMjRdXSx3YXZlZm9ybTpbWzEsMywyNF1dLHdhdmVmb3JtX211c2ljOltbMCwyLDE4XSxbMCwyLDI0XSxbMCwyLDQ4XV0sd2F2ZWZvcm1fc3Bhcms6W1sxLDIsMjRdXSx3cmVuY2g6W1swLDMsMjRdLFsxLDMsMjRdXSx4OltbMSwxMSwxOF0sWzEsMTEsMjRdXSx4X2NhaXJvOltbMSwxLDI0XV0seF9jaXJjbGU6W1swLDksMjRdLFsxLDksMjRdXSx4X21hcms6W1sxLDQsMjBdLFsxLDQsMjRdXSx4X29jdGFnb246W1sxLDMsMjRdXSx5ZW5fc2lnbl9jb250YWluZXI6W1swLAoyLDI0XSxbMSwyLDI0XV0seW91dHViZV9pbXByb3ZlX3R2OltbMSwxLDI0XV0seW91dHViZV9raWRzOltbMCw1LDI0XSxbMSw1LDI0XV0seW91dHViZV9sYWJzOltbMCwxLDI0XV0seW91dHViZV9saW5rZWRfdHY6W1sxLDQsMjRdXSx5b3V0dWJlX2xvZ29faWNvbjpbWzAsNiwyNF0sWzEsNiwyNF1dLHlvdXR1YmVfbWl4OltbMSw1LDEyXSxbMSw1LDE2XSxbMSw1LDI0XV0seW91dHViZV9tdXNpYzpbWzAsNywyNF0sWzEsNywyNF1dLHlvdXR1YmVfbXVzaWNfY2Fpcm86W1sxLDIsMjRdXSx5b3V0dWJlX29yaWdpbmFsczpbWzAsNiwyNF0sWzEsNiwyNF1dLHlvdXR1YmVfc2hvcnRzOltbMCwxMSwxMl0sWzAsMTEsMjBdLFswLDExLDI0XSxbMSwxMSwyMF0sWzEsMTEsMjRdXSx5b3V0dWJlX3Nob3J0c19hcnJvd19kb3duOltbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfYXJyb3dfbGVmdDpbWzEsMiwyNF1dLHlvdXR1YmVfc2hvcnRzX2Fycm93X3VwOltbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfY2FtZXJhOltbMSwzLDI0XV0seW91dHViZV9zaG9ydHNfY2hldnJvbl9sZWZ0X2lvczpbWzEsMiwyNF1dLHlvdXR1YmVfc2hvcnRzX2dyZWVuX3NjcmVlbjpbWzAsMSwyNF0sWzEsMSwyNF1dLHlvdXR1YmVfc2hvcnRzX2hlYXJ0OltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfbWVzc2FnZV9idWJibGVfcmlnaHQ6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZTpbWzAsNCwxNl0sWzAsNCwyNF0sWzAsNCwzMl0sWzEsNCwxNl0sWzEsNCwyNF0sWzEsNCwzMl1dLHlvdXR1YmVfc2hvcnRzX292ZXJmbG93X3ZlcnRpY2FsOltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfcGx1czpbWzEsNSwxNl0sWzEsNSwyNF1dLHlvdXR1YmVfc2hvcnRzX3JlbWl4OltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfc2VhcmNoOltbMSwzLDI0XV0seW91dHViZV9zaG9ydHNfc2hhcmU6W1swLAoyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfc3RpY2tlcjpbWzEsMSwxOF0sWzEsMSwyNF1dLHlvdXR1YmVfc2hvcnRzX3RodW1iX2Rvd246W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c190aHVtYl91cDpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX3dhdmVmb3JtOltbMSwyLDE4XSxbMSwyLDI0XV0seW91dHViZV9zdHVkaW86W1swLDgsMjRdLFsxLDgsMjRdXSx5b3V0dWJlX3R2OltbMCw4LDI0XSxbMSw4LDI0XV0sem9vbV9hdXRvOltbMCwyLDI0XSxbMSwyLDI0XV19O3ZhciBXcWE9e2FjY2Vzc2liaWxpdHk6W1swLDQsMjRdLFsxLDQsMjRdXSxhY2NvdW50X2xpbms6W1swLDgsMjRdLFsxLDgsMjRdXSxhY2NvdW50X2xpbmtfZXJyb3I6W1sxLDYsMjRdXSxhZGQ6W1sxLDksMThdLFsxLDksMjRdXSxhZGRfY2lyY2xlOltbMCw2LDE4XSxbMCw2LDI0XSxbMSw2LDI0XSxbMSw2LDM2XV0sYWRkX3NxdWFyZV9zdGFjazpbWzEsMSwyNF1dLGFkZF90djpbWzEsMSwyNF1dLGFkZF90dl9jaGV2cm9uX3JpZ2h0OltbMSwxLDI0XV0sYWRqdXN0OltbMCw5LDI0XSxbMSw5LDI0XV0sYWlycGxhbmU6W1swLDUsMjRdLFswLDUsNDhdLFsxLDUsMjRdXSxhaXJwbGF5OltbMSw2LDI0XV0sYWlycGxheV9zbGFzaDpbWzEsMSwyNF1dLGFsYnVtOltbMCw4LDI0XSxbMSw4LDE4XSxbMSw4LDI0XSxbMSw4LDQ4XV0sYWxlcnRfYnViYmxlOltbMSwyLDE4XSxbMSwyLDI0XV0sYWxlcnRfY2lyY2xlOltbMCwxMSwyNF0sWzEsMTEsMTJdLFsxLDExLDI0XSxbMSwxMSw0OF1dLGFsZXJ0X29jdGFnb246W1swLAoyLDI0XSxbMSwyLDI0XV0sYWxlcnRfdHJpYW5nbGU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDI0XV0sYW1iaWVudF9tb2RlOltbMSwxLDI0XV0sYW1wZXJzYW5kOltbMSwxLDI0XV0sYXBpOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJjaGl2ZTpbWzEsMSwyNF1dLGFycm93X2FyY19mb3J3YXJkOltbMSwxLDI0XV0sYXJyb3dfY2xvY2t3aXNlOltbMSwxLDI0XV0sYXJyb3dfY291bnRlcmNsb2Nrd2lzZTpbWzEsMiwyNF0sWzEsMiw0OF1dLGFycm93X2NvdW50ZXJjbG9ja3dpc2VfZGFzaGVkOltbMSwxLDI0XV0sYXJyb3dfZG93bjpbWzEsMywyNF1dLGFycm93X2Rvd25fY2lyY2xlOltbMCw0LDI0XSxbMSw0LDI0XV0sYXJyb3dfZG93bl9jaXJjbGVfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxhcnJvd19kb3duX3JpZ2h0OltbMSwxLDI0XV0sYXJyb3dfZmxpcDpbWzEsMTAsMjRdXSxhcnJvd19pbjpbWzEsOCwxOF0sWzEsOCwyNF1dLGFycm93X2xlZnQ6W1sxLDgsCjI0LCEwXSxbMSw4LDM2LCEwXV0sYXJyb3dfbWVyZ2U6W1sxLDIsMjRdXSxhcnJvd19vdXQ6W1sxLDIsMjRdXSxhcnJvd19yaWdodDpbWzEsMywyNCwhMF1dLGFycm93X3JpZ2h0X3JlY3RhbmdsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGFycm93X3NvbGlkX2Rvd246W1swLDQsMThdLFswLDQsMjRdLFsxLDQsMThdLFsxLDQsMjRdXSxhcnJvd19zb2xpZF91cDpbWzAsNCwxOF0sWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLGFycm93X3NwbGl0OltbMSwzLDI0XV0sYXJyb3dfc3BsaXRfYWxlcnQ6W1sxLDEsMjRdXSxhcnJvd19zd2FwX2hvcml6b250YWw6W1sxLDUsMjRdXSxhcnJvd190cmVuZF9kb3duOltbMSwxLDI0XV0sYXJyb3dfdHJlbmRfdXA6W1sxLDIsMTJdLFsxLDIsMjRdXSxhcnJvd190dXJuX2Rvd25fcmlnaHQ6W1sxLDIsMThdLFsxLDIsMjRdXSxhcnJvd191cDpbWzEsMywyNF1dLGFycm93X3VwX2NpcmNsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLGFycm93X3VwX2xlZnQ6W1sxLAoxLDI0XV0sYXJyb3dfdXBfcmVjdGFuZ2xlX3BvcnRyYWl0OltbMSwxLDI0XV0sYXJyb3dfdXBfcmlnaHQ6W1sxLDIsMThdLFsxLDIsMjRdLFsxLDIsMzZdXSxhc3BlY3RfcmF0aW9fdzE2X2g5OltbMSwxLDI0XV0sYXNwZWN0X3JhdGlvX3c5X2gxNjpbWzEsMSwyNF1dLGF1ZGlvOltbMCwxNCwxMl0sWzAsMTQsMThdLFswLDE0LDI0XSxbMSwxNCwxMl0sWzEsMTQsMThdLFsxLDE0LDI0XSxbMSwxNCw0OF1dLGF1ZGlvX2Fycm93X2ZsaXA6W1swLDIsMjRdLFsxLDIsMjRdXSxhdWRpb19iYWRnZTpbWzAsMywyNF0sWzEsMywyNF1dLGF1ZGlvX3NjaXNzb3JzOltbMSwxLDI0XV0sYXVkaW9fc2xhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxhdWRpb19zcGFyazpbWzEsMSwyNF1dLGF1ZGlvX3NxdWFyZV9zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX3N0YWZmOltbMCwyLDI0XSxbMSwyLDI0XV0sYmFja3NwYWNlOltbMCw1LDI0XSxbMSw1LDI0XV0sYmFnOltbMCw3LDI0XSxbMSw3LDI0XV0sCmJhZ19ib29rbWFyazpbWzEsMiwyNF1dLGJhc2tldGJhbGw6W1swLDIsMjRdLFsxLDIsMjRdXSxiZWFrZXI6W1sxLDIsMjRdXSxiZWQ6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxiZWxsOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxiZWxsX3NsYXNoOltbMSwxLDI0XV0sYmVsbF93YXZlczpbWzAsMiwyNF0sWzEsMiwyNF1dLGJsdXI6W1sxLDIsMjRdXSxib29rOltbMCwzLDI0XSxbMSwzLDI0XV0sYm9va19hdWRpbzpbWzEsMSwyNF1dLGJvb2ttYXJrOltbMCwxMCwxOF0sWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLGJyaWVmY2FzZTpbWzEsMiwyNF1dLGJyaWVmY2FzZV9zbGFzaDpbWzAsMywyNF0sWzEsMywyNF1dLGJyaWdodG5lc3M6W1swLDMsMjRdLFsxLDMsMjRdXSxicm93c2VyOltbMCwyLDI0XSxbMSwyLDI0XV0sYnJvd3Nlcl9zbGFzaDpbWzEsMSwyNF1dLGJ1YmJsZTpbWzEsMSwyNF1dLGJ1YmJsZV9hc3RlcmlzazpbWzAsMiwyNF0sWzEsMiwyNF1dLApidWJibGVfZWxsaXBzaXM6W1sxLDEsMjRdXSxidWJibGVfZ2VhcjpbWzEsMSwyNF1dLGJ1YmJsZV9saXN0OltbMSwxLDI0XV0sYnViYmxlX3BlbmNpbDpbWzEsMSwyNF1dLGJ1YmJsZV9zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGJ1YmJsZV9zbG93OltbMCwyLDI0XSxbMCwyLDQ4XSxbMSwyLDI0XSxbMSwyLDQ4XV0sYnViYmxlX3NwYXJrOltbMSwxLDI0XV0sYnViYmxlX3NwYXJrbGVzOltbMSwxLDI0XV0sYnViYmxlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0sYnVnOltbMCw0LDE4XSxbMCw0LDI0XSxbMSw0LDI0XV0sYnVzaW5lc3M6W1swLDQsMjRdLFsxLDQsMjRdXSxjYWJsZTpbWzEsMiwyNF1dLGNhbGN1bGF0b3I6W1swLDMsMjRdLFsxLDMsMjRdXSxjYWxlbmRhcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhbGVuZGFyX2V2ZW50OltbMCwyLDI0XSxbMSwyLDI0XV0sY2FsZW5kYXJfdG9kYXk6W1sxLDEsMjRdXSxjYW1lcmE6W1swLDEwLDI0XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSwKY2FtZXJhX2F1ZGlvOltbMSw1LDI0XV0sY2FtZXJhX2ZsaXA6W1sxLDQsMjRdXSxjYW1lcmFfaGFzaHRhZzpbWzEsNSwyNF1dLGNhbWVyYV9zcGFya2xlczpbWzEsMSwyNF1dLGNhbWVyYV9zd2l0Y2g6W1swLDMsMjRdLFsxLDMsMjRdXSxjYXJkOltbMCwzLDI0XV0sY2FydDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhcnRfYWRkOltbMSwxLDI0XV0sY2FydF9zcGFyazpbWzEsMSwyNF1dLGNhdDpbWzAsMywyNF0sWzEsMywyNF1dLGNlbGVicmF0aW9uOltbMSwyLDI0XV0sY2hhcnRfYmFyOltbMSwyLDEyXSxbMSwyLDI0XV0sY2hhcnRfYmFyX3NlYXJjaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNoYXJ0X2Jhcl9zcXVhcmU6W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxjaGFydF9saW5lOltbMSwxLDI0XV0sY2hhcnRfcGllOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hhcnRfc2NhdHRlcl9wbG90OltbMSwxLDI0XV0sY2hlY2s6W1sxLDEzLDEyXSxbMSwxMywxOF0sWzEsMTMsMjRdLFsxLDEzLAozNl1dLGNoZWNrX2NpcmNsZTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2hlY2tfZG9uZTpbWzEsMSwyNF1dLGNoZWNrX2RvbmVfc2xhc2g6W1sxLDEsMjRdXSxjaGVja19zaGllbGQ6W1sxLDEsMjRdXSxjaGVja19zcXVhcmU6W1swLDIsMjRdLFsxLDIsMjRdXSxjaGVja19zcXVhcmVfc3RhY2s6W1swLDEsMjRdXSxjaGV2cm9uX2NvbGxhcHNlOltbMSwzLDI0XV0sY2hldnJvbl9kb3duOltbMSw5LDE4XSxbMSw5LDI0XV0sY2hldnJvbl9kb3duX2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLGNoZXZyb25fZG93bl9lbmQ6W1sxLDEsMjRdXSxjaGV2cm9uX2V4cGFuZDpbWzEsNSwyNF1dLGNoZXZyb25fbGVmdDpbWzEsOSwyNCwhMF1dLGNoZXZyb25fbGVmdF9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX2xlZnRfZW5kOltbMSwxLDI0XV0sY2hldnJvbl9sZWZ0X2lvczpbWzEsMywyNF1dLGNoZXZyb25fcmlnaHQ6W1sxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxjaGV2cm9uX3JpZ2h0X2NpcmNsZTpbWzAsCjMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX3JpZ2h0X2VuZDpbWzEsMSwyNF1dLGNoZXZyb25fcmlnaHRfc3F1YXJlOltbMSwxLDI0XV0sY2hldnJvbl91cDpbWzEsOSwxMl0sWzEsOSwyNF1dLGNoZXZyb25fdXBfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sY2hldnJvbl91cF9lbmQ6W1sxLDEsMjRdXSxjaHJvbWVjYXN0OltbMCwxMSwyNF0sWzEsMTEsMThdLFsxLDExLDI0XSxbMSwxMSwzNl1dLGNocm9tZWNhc3RfbW9iaWxlOltbMSw0LDI0XSxbMSw0LDM2XV0sY2hyb21lY2FzdF93YXZlZm9ybTpbWzEsMiwyNF1dLGNpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLGNpcmNsZV9mdWxsOltbMCwzLDI0XV0sY2lyY2xlX2Z1bGxfaGFsZjpbWzAsMSwyNF1dLGNpcmNsZV9oYWxmX2ZpbGxlZDpbWzEsMSwyNF1dLGNpcmNsZV9zbGFzaDpbWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF0sWzEsNCw0OF1dLGNpcmNsZXM2OltbMSwxLDI0XV0sY2xhcHBlcmJvYXJkOltbMCwzLDI0XSxbMSwzLAoyNF1dLGNsYXBwZXJib2FyZF9zbGFzaDpbWzEsMSwyNF1dLGNsYXBwZXJib2FyZF9zcGFya2xlczpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrOltbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDI0XV0sY2xvY2tfYXJyb3dfY2xvY2t3aXNlOltbMSwxLDI0XV0sY2xvY2tfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxjbG9ja19zcGxpdDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrX3NwbGl0X2FsZXJ0OltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvc2VkX2NhcHRpb25zOltbMCwzLDI0XSxbMCwzLDQ4XSxbMSwzLDI0XSxbMSwzLDQ4XV0sY2xvdWQ6W1sxLDIsMjRdXSxjbG91ZF9hcnJvd19kb3duOltbMSwzLDI0XV0sY2xvdWRfYXJyb3dfdXA6W1swLDYsMjRdLFsxLDYsMThdLFsxLDYsMjRdXSxjbG91ZF9jaGVjazpbWzAsMywyNF0sWzEsMywyNF1dLGNsb3VkX2VsbGlwc2lzOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfc2xhc2g6W1sxLDIsMjRdLFsxLDIsNDhdXSxjbXNfYWxsb3dsaXN0OltbMCwKMiwyNF0sWzEsMiwyNF1dLGNvZGU6W1sxLDIsMjRdXSxjb21wYXJlOltbMSwyLDI0XV0sY29tcGFzczpbWzAsOSwyNF0sWzEsOSwyNF1dLGNvcHk6W1sxLDMsMjRdXSxjb3B5X3RvX2FsbDpbWzEsMSwyNF1dLGNvcHlyaWdodDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNvcHlyaWdodF9zZWFyY2g6W1swLDIsMjRdLFsxLDIsMjRdXSxjb3Zlcl9jbGFpbTpbWzEsMSwyNF1dLGNyZWF0aXZlX2NvbW1vbnM6W1swLDIsMjRdLFsxLDIsMjRdXSxjcmVkaXRfY2FyZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNyb3A6W1sxLDQsMThdLFsxLDQsMjRdXSxjcm9wX3JvdGF0ZTpbWzEsMiwyNF1dLGNyb3NzaGFpcjpbWzEsMSwxOF0sWzEsMSwyNF1dLGNyb3duOltbMCw1LDE4XSxbMCw1LDI0XSxbMSw1LDI0XV0sY3N2OltbMCwyLDI0XSxbMSwyLDI0XV0sY3ViZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGN1YmVfc3Bhcms6W1sxLDEsMjRdXSxjdXJzb3JfY2xpY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxjdXJ2ZTpbWzEsCjEsMjRdXSxjdnA6W1swLDIsMjRdLFsxLDIsMjRdXSxkYW5jZV9zcGFyazpbWzAsMSwyNF1dLGRhc2hib2FyZDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRhc2hib2FyZF9hZGQ6W1sxLDEsMjRdXSxkaWVfZmFjZTM6W1swLDIsMjRdLFsxLDIsMjRdXSxkaXJlY3Rpb25zOltbMSwzLDI0XV0sZGlzcGxheTpbWzAsMiwyNF0sWzEsMiwyNF1dLGRpc3BsYXlfc2xhc2g6W1sxLDEsMjRdXSxkaXZpZGU6W1sxLDEsMjRdXSxkb2N1bWVudDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRvY3VtZW50X2Fycm93X3VwX3JpZ2h0OltbMCwyLDI0XSxbMSwyLDI0XV0sZG9sbGFyX3NpZ25fYXJyb3dfZmxpcDpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZTpbWzAsMTIsMjRdLFsxLDEyLDEyXSxbMSwxMiwxOF0sWzEsMTIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfYWRkOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlX2hhbmQ6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGF1c2U6W1sxLDIsMjRdXSwKZG9sbGFyX3NpZ25fY2lyY2xlX3NsYXNoOltbMSwyLDEyXSxbMSwyLDI0XV0sZG9sbGFyX3NpZ25faGVhcnQ6W1swLDI0LDEyXSxbMCwyNCwyNF0sWzEsMjQsMTJdLFsxLDI0LDI0XV0sZG9sbGFyX3NpZ25fcmVjdGFuZ2xlOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fdHY6W1swLDIsMjRdLFsxLDIsMjRdXSxkb3Q6W1swLDIsMTJdLFswLDIsMjRdXSxkb3dubG9hZDpbWzEsMTEsMThdLFsxLDExLDI0XV0sZHBhZDpbWzAsMiwyNF0sWzEsMiwyNF1dLGVtYmVkOltbMCwyLDI0XSxbMSwyLDI0XV0sZXF1YWw6W1sxLDIsMThdLFsxLDIsMjRdXSxlcXVhbF9zbGFzaDpbWzEsMSwyNF1dLGV4cGxpY2l0OltbMCw3LDI0XSxbMSw3LDI0XV0sZXllOltbMCw2LDI0XSxbMSw2LDI0XV0sZXllX3NsYXNoOltbMSwxLDI0XV0sZXllZHJvcHBlcjpbWzEsMiwyNF1dLGV5ZWdsYXNzZXM6W1sxLDEsMjRdXSxmYWNlX2FkZDpbWzEsMSwyNF1dLGZhY2VfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzAsCjEyLDQ4XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX2ltYWdlOltbMSwyLDI0XV0sZmFjZV9tZWg6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhY2VfbmV1dHJhbDpbWzAsNCwyNF0sWzAsNCwzNl0sWzEsNCwyNF0sWzEsNCwzNl1dLGZhY2VfcGFpbnRicnVzaDpbWzEsMiwyNF1dLGZhY2Vfc2FkOltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2Vfc2NhbGU6W1sxLDEsMjRdXSxmYWNlX3NwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sZmFjZV91bmhhcHB5OltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfdXBzZXQ6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhY2VfdmVyeV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX3Zlcnlfc2FkOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxmYXNoaW9uOltbMCw0LDI0XSxbMSw0LDI0XV0sZmFzdF9mb3J3YXJkOltbMCw1LDI0XSxbMSwKNSwyNF1dLGZhc3RfcmV3aW5kOltbMCwyLDI0XSxbMSwyLDI0XV0sZmlsbV9zdHJpcDpbWzAsNywyNF0sWzAsNyw0OF0sWzEsNywyNF1dLGZpbG1fc3RyaXBfYWRkOltbMSwyLDI0XV0sZmlsbV9zdHJpcF9hdWRpbzpbWzEsMSwyNF1dLGZpbHRlcjpbWzEsMSwyNF1dLGZpbHRlcl9hdWRpbzpbWzEsMSwyNF1dLGZpbHRlcl9waG90bzpbWzAsOCwyNF0sWzEsOCwyNF1dLGZpcmV3b3JrczpbWzEsMywyNF1dLGZsYWc6W1swLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMThdLFsxLDEwLDI0XSxbMSwxMCw0OF1dLGZsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxhc2hfYXV0bzpbWzAsMywyNF0sWzEsMywyNF1dLGZsYXNoX2NpcmNsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGZsYXNoX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sZmxpcF9ob3Jpem9udGFsOltbMSw0LDI0XV0sZmxpcF9ob3Jpem9udGFsX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0sZmxpcF92ZXJ0aWNhbF9oYWxmX2Rhc2hlZDpbWzEsCjEsMjRdXSxmb2xkZXI6W1swLDQsMjRdLFsxLDQsMjRdXSxmb250OltbMSwxLDI0XV0sZm9udF9ib2xkOltbMSwxLDI0XV0sZm9udF9pdGFsaWM6W1sxLDEsMjRdXSxmb250X291dGxpbmU6W1sxLDEsMjRdXSxmb250X3ByZXNlbnQ6W1sxLDEsMjRdXSxmb250X3NlcmlmOltbMSwxLDI0XV0sZm9udF9zaGFkb3c6W1sxLDEsMjRdXSxmb250X3NwYXJrOltbMSwxLDI0XV0sZm9udF9zcXVhcmU6W1swLDIsMjRdLFsxLDIsMjRdXSxmb250X3NxdWFyZV9zcGFyazpbWzEsMSwxOF0sWzEsMSwyNF1dLGZvbnRfc3RyaWtldGhyb3VnaDpbWzEsMSwyNF1dLGZvbnRfc3R5bGU6W1sxLDIsMThdLFsxLDIsMjRdXSxmb250X3VuZGVybGluZTpbWzEsMSwyNF1dLGZvb3RiYWxsOltbMCw0LDI0XSxbMSw0LDI0XSxbMSw0LDM2XV0sZ2FtZV9jb250cm9sbGVyOltbMSwxLDI0XV0sZ2FtaW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sZ2VhcjpbWzAsMTAsMjRdLFswLDEwLDQ4XSxbMSwxMCwxOF0sWzEsMTAsMjRdLApbMSwxMCw0OF1dLGdlc3R1cmVfbG9uZ19wcmVzczpbWzAsMiwyNF0sWzEsMiwyNF1dLGdlc3R1cmVfcGluY2hfaW46W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX2xlZnQ6W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX3JpZ2h0OltbMSwxLDI0XV0sZ2VzdHVyZV9zd2lwZV91cDpbWzEsMSwyNF1dLGdlc3R1cmVfdGFwOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2hvc3Q6W1swLDUsMjRdLFsxLDUsMjRdXSxnaWY6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxnaWZ0OltbMCwzLDI0XSxbMSwzLDI0XV0sZ2xvYmU6W1sxLDQsMjRdXSxnbG9iZV9pbWFnZTpbWzEsMywyNF1dLGdsb3c6W1sxLDIsMjRdXSxnb29nbGU6W1swLDEsMjRdXSxnb29nbGVfYmxvZ2dlcjpbWzAsMSwyNF1dLGdvb2dsZV9kcml2ZV9hZGQ6W1sxLDEsMjRdXSxnb29nbGVfbGVuczpbWzEsNCwyNF1dLGdvb2dsZV9tZWV0OltbMCwyLDI0XSxbMSwyLDI0XV0sZ29vZ2xlX3F1aWNrX3NoYXJlOltbMSwxLDI0XV0sCmdyYWR1YXRpb25fY2FwOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sZ3JlYXRlcl90aGFuOltbMSwxLDI0XV0sZ3JlYXRlcl90aGFuX24yMDpbWzEsMSwyNF1dLGdyZWF0ZXJfdGhhbl9vcl9lcXVhbF90bzpbWzEsMSwyNF1dLGhhbmQ6W1sxLDIsMjRdXSxoYW5kX3dhdmU6W1sxLDIsMjRdXSxoYW5kc19jbGFwOltbMSwxLDI0XV0saGFuZHNfaGVhcnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxoYXNodGFnOltbMSwyLDI0XV0saGQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFkc2V0OltbMCw4LDI0XSxbMSw4LDI0XV0saGVhcmluZzpbWzAsMiwyNF0sWzEsMiwyNF1dLGhlYXJ0OltbMCwxOSwyNF0sWzEsMTksMThdLFsxLDE5LDI0XV0saGVhcnRfY2lyY2xlOltbMSwyLDI0XV0saGVhcnRfY3ViZTpbWzEsMSwyNF1dLGhlYXJ0X3NsYXNoOltbMSwxLDI0XV0saGVscF9idWJibGU6W1swLDIsMjRdLFsxLDIsMjRdXSxoZWxwX2NpcmNsZTpbWzEsMiwxOF0sWzEsMiwyNF1dLGhpZXJhcmNoeTpbWzAsCjQsMjRdLFsxLDQsMjRdXSxoaWdobGlnaHRzOltbMSwyLDI0XV0saGlzdG9yeTpbWzEsMSwyNF1dLGhvbWU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGhvdXJnbGFzczpbWzEsMywxOF0sWzEsMywyNF1dLGh5cGU6W1swLDIsMjRdLFsxLDIsMjRdXSxpbWFnZTpbWzAsOCwyNF0sWzEsOCwyNF1dLGltYWdlX2FkZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGltYWdlX2ZyYW1lOltbMSwxLDI0XV0saW1hZ2VfbGlzdDpbWzAsMiwyNF0sWzEsMiwyNF1dLGltYWdlX2xpc3Rfc2xhc2g6W1sxLDEsMjRdXSxpbWFnZV9zcGFyazpbWzEsMSwyNF1dLGltYWdlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0saW1hZ2Vfdmlld2ZpbmRlcjpbWzEsMSwyNF1dLGluY29nbml0bzpbWzAsOSwyNF0sWzEsOSwyNF1dLGluZmluaXR5OltbMSwyLDI0XV0saW5mb19jaXJjbGU6W1sxLDEwLDE4XSxbMSwxMCwyNF1dLGluZm9fY2lyY2xlX3NwYXJrOltbMSwxLDI0XV0samV3ZWw6W1sxLDEsMjRdXSxqb3VybmV5OltbMSwKMiwyNF1dLGtleTpbWzEsNSwyNF1dLGtleWJvYXJkOltbMCw0LDI0XSxbMSw0LDI0XV0sbGFiZWw6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbF9zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGxhcHRvcDpbWzEsMywyNF1dLGxhcHRvcF9tb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxsYXlvdXRfYm90dG9tOltbMSwxLDI0XV0sbGF5b3V0X2ZvcmVncm91bmQ6W1sxLDEsMjRdXSxsYXlvdXRfZnVsbDpbWzEsMSwyNF1dLGxheW91dF9sZWZ0OltbMSwxLDI0XV0sbGF5b3V0X21pZGRsZTpbWzEsMSwyNF1dLGxheW91dF9waWN0dXJlX2luX3BpY3R1cmU6W1sxLDEsMjRdXSxsYXlvdXRfcmlnaHQ6W1sxLDEsMjRdXSxsYXlvdXRfdG9wOltbMSwxLDI0XV0sbGVhZjpbWzEsMiwyNF1dLGxlc3NfdGhhbjpbWzEsMSwyNF1dLGxlc3NfdGhhbl9uNDpbWzEsMSwyNF1dLGxlc3NfdGhhbl9vcl9lcXVhbF90bzpbWzEsMSwyNF1dLGxpY2Vuc2U6W1swLDIsMjRdLFsxLDIsMjRdXSxsaWNlbnNlX2FsZXJ0OltbMSwKMSwyNF1dLGxpY2Vuc2Vfc2VhcmNoOltbMSwxLDI0XV0sbGljZW5zZV9zbGFzaDpbWzEsMSwyNF1dLGxpZ2h0YnVsYjpbWzAsNCwyNF0sWzEsNCwyNF1dLGxpbms6W1sxLDgsMThdLFsxLDgsMjRdXSxsaW5rX3NsYXNoOltbMSwxLDI0XV0sbGl2ZTpbWzEsMywxMl0sWzEsMywyNF1dLGxpdmVfcGhvdG86W1sxLDIsMjRdXSxsaXZlX3dhdmVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbG9jYXRpb25fcGluOltbMCwyLDI0XSxbMSwyLDI0XV0sbG9jYXRpb25fcGluX3NsYXNoOltbMSwxLDI0XV0sbG9jazpbWzAsMTMsMTJdLFswLDEzLDI0XSxbMSwxMywxOF0sWzEsMTMsMjRdLFsxLDEzLDQ4XV0sbG9ja19jbG9jazpbWzEsMSwyNF1dLGxvY2tfbjI6W1sxLDEsMjRdXSxsb2NrX29wZW46W1swLDQsMjRdLFsxLDQsMjRdXSxtYWdpY193YW5kOltbMCwzLDI0XSxbMSwzLDI0XV0sbWFpbDpbWzAsOSwyNF0sWzEsOSwyNF1dLG1hcDpbWzEsMywyNF1dLG1lZGFsOltbMSwyLDI0XV0sbWVkYWxfc3RhcjpbWzEsCjIsMjRdXSxtZWdhcGhvbmU6W1swLDUsMjRdLFsxLDUsMTJdLFsxLDUsMjRdXSxtZW1iZXJzaGlwczpbWzAsOSwyNF0sWzAsOSwzNl0sWzEsOSwyNF1dLG1lbWJlcnNoaXBzX2dpZnQ6W1sxLDEsMjRdXSxtZW50aW9uOltbMSw1LDI0XV0sbWVudTpbWzEsMSwyNF1dLG1pYzpbWzAsMTQsMThdLFswLDE0LDI0XSxbMCwxNCwzNl0sWzAsMTQsNDhdLFsxLDE0LDE4XSxbMSwxNCwyNF0sWzEsMTQsNDhdXSxtaWNfc2xhc2g6W1sxLDIsMjRdXSxtaWNfc3Bhcms6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMThdLFsxLDEsMjRdXSxtaW51czpbWzEsMiwxOF0sWzEsMiwyNF1dLG1pbnVzX2NpcmNsZTpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLG1pbnVzX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLG1peDpbWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLG1vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLG1vYmlsZV9hcnJvd19kb3duOltbMSwxLDI0XV0sbW9iaWxlX2Fycm93X2luOltbMSwKMSwyNF1dLG1vYmlsZV9hcnJvd19vdXQ6W1sxLDEsMjRdXSxtb2JpbGVfY2hlY2s6W1sxLDIsMjRdXSxtb2JpbGVfbGFuZHNjYXBlOltbMCwzLDI0XSxbMSwzLDI0XV0sbW90aW9uOltbMSwyLDI0XV0sbW92ZTpbWzEsNCwxOF0sWzEsNCwyNF1dLG11c2ljX3ZpZGVvOltbMCw0LDI0XSxbMSw0LDI0XV0sbXVzaWNfdmlkZW9fc2xhc2g6W1sxLDEsMjRdXSxuMTU6W1sxLDEsMjRdXSxuMXBvaW50Mng6W1sxLDEsMjRdXSxuMXBvaW50NXg6W1sxLDEsMjRdXSxuMXBvaW50OHg6W1sxLDEsMjRdXSxuMXg6W1sxLDEsMjRdXSxuMmQ6W1sxLDEsMjRdXSxuMnBvaW50NXg6W1sxLDEsMjRdXSxuMng6W1sxLDEsMjRdXSxuM2Q6W1sxLDEsMjRdXSxuM3g6W1sxLDEsMjRdXSxuNGQ6W1sxLDEsMjRdXSxuNGs6W1swLDEsMjRdLFsxLDEsMjRdXSxuNjA6W1sxLDEsMjRdXSxuOGs6W1swLDEsMjRdLFsxLDEsMjRdXSxuZXdfcmVsZWFzZTpbWzEsMSwyNF1dLG5ld3M6W1swLDMsMjRdLFsxLDMsMjRdXSxuZXdzX2FsZXJ0OltbMCwKMSwyNF1dLG5vZGVfbGVmdDpbWzEsMiwyNF1dLG5vZGVfcmlnaHQ6W1sxLDIsMjRdXSxub3RlOltbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDE4XSxbMSwxLDI0XV0sbm90ZV9zcGFyazpbWzAsMiwxOF0sWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLG9wZW5faW5fcGFuZWw6W1sxLDIsMjRdXSxvcmlnaW5hbHM6W1swLDEsMjRdLFsxLDEsMjRdXSxvdmVyZmxvd19ob3Jpem9udGFsOltbMSw2LDI0XSxbMSw2LDM2XV0sb3ZlcmZsb3dfdmVydGljYWw6W1sxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsMzZdXSxwYWdlX3NlYXJjaDpbWzEsMSwyNF1dLHBhaW50X2J1Y2tldDpbWzEsMywyNF1dLHBhaW50X3BhbGV0dGU6W1sxLDEsMjRdXSxwYW5lbHM6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXVzZTpbWzAsOSwyNF0sWzAsOSwzNl0sWzAsOSw0OF0sWzEsOSwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhdXNlX2hpc3Rvcnk6W1sxLDEsMjRdXSxwYXdwcmludDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxwZGY6W1sxLDIsMjRdXSxwZW5jaWw6W1swLDEwLDI0XSxbMSwxMCwxOF0sWzEsMTAsMjRdXSxwZW5jaWxfc3Bhcms6W1sxLDEsMjRdXSxwZXJjZW50OltbMSwxLDI0XV0scGVyc29uOltbMCw3LDI0XSxbMSw3LDEyXSxbMSw3LDI0XV0scGVyc29uMjpbWzEsMSwyNF1dLHBlcnNvbjJfcmVjdGFuZ2xlOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uMzpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl9hZGQ6W1swLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxwZXJzb25fYXVkaW86W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdLFsxLDMsNDhdXSxwZXJzb25fYmFja2dyb3VuZF9zcGFyazpbWzEsMSwyNF1dLHBlcnNvbl9jaGVjazpbWzEsMSwyNF1dLHBlcnNvbl9jaGlsZDpbWzAsMiwxMl0sWzAsMiwyNF0sWzEsMiwyNF1dLHBlcnNvbl9jaXJjbGU6W1swLDEwLDI0XSxbMSwxMCwyNF0sWzEsMTAsNDhdXSxwZXJzb25fY2lyY2xlX3NsYXNoOltbMSwKMiwyNF1dLHBlcnNvbl9nZWFyOltbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX3NoaWVsZDpbWzEsNywyNF1dLHBlcnNvbl9zcXVhcmU6W1swLDIsMjRdLFsxLDIsMThdLFsxLDIsMjRdXSxwZXJzb25fc3F1YXJlX3NwYXJrOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3NxdWFyZV9zdGFjazpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl92aWV3ZmluZGVyOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3dhdmVmb3JtOltbMSwyLDI0XV0scGVyc29uX3dhdmVzOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX3g6W1sxLDEsMjRdXSxwaG9uZTpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywyNF1dLHBpYW5vOltbMSwxLDI0XV0scGljdHVyZV9pbl9waWN0dXJlOltbMCwyLDI0XSxbMSwyLDI0XV0scGljdHVyZV9pbl9waWN0dXJlX3N0YWNrOltbMSwxLDI0XV0scGluOltbMCw3LDI0XSxbMSw3LDE4XSxbMSw3LDI0XV0scGluX3NsYXNoOltbMCwyLDI0XSxbMSwyLDE4XSwKWzEsMiwyNF1dLHBsYXk6W1swLDQsMThdLFswLDQsMjRdLFswLDQsMzZdLFswLDQsNDhdLFsxLDQsMjRdXSxwbGF5X2NpcmNsZTpbWzAsMiwyNF0sWzAsMiw0OF0sWzEsMiwyNF1dLHBsYXlfY2lyY2xlX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0scGxheV9wYXVzZTpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5X3NxdWFyZV9oYWxmX2Rhc2hlZDpbWzEsMSwyNF1dLHBsYXlfc3F1YXJlX3N0YWNrOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWFibGVzOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGxheWVyX2RlZmF1bHQ6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfZnVsbF9lbnRlcjpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyX2FsdDpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyX3BvcnRyYWl0OltbMSwyLDI0XV0scGxheWVyX2Z1bGxfZXhpdDpbWzEsMSwyNF1dLHBsYXllcl9mdWxsX2V4aXRfYWx0OltbMSwxLAoyNF1dLHBsYXllcl9taW5pX2VudGVyOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWVyX21pbmlfZXhpdDpbWzEsMSwyNF1dLHBsYXllcl9tdWx0aXZpZXc6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheWVyX3RoZWF0ZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5bGlzdDpbWzEsNSwxMl0sWzEsNSwxOF0sWzEsNSwyNF0sWzEsNSw0OF1dLHBsYXlsaXN0X2FkZDpbWzEsMywxOF0sWzEsMywyNF1dLHBsYXlsaXN0X2F1ZGlvOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XSxbMSwzLDQ4XV0scGxheWxpc3RfYXVkaW9fc2xhc2g6W1sxLDEsMjRdXSxwbGF5bGlzdF9jaGVjazpbWzEsMSwyNF1dLHBsYXlsaXN0X3BlbmNpbDpbWzEsMiwyNF0sWzEsMiw0OF1dLHBsYXlsaXN0X3g6W1sxLDMsMThdLFsxLDMsMjRdXSxwb2RjYXN0OltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDEyXSxbMSw2LDE4XSxbMSw2LDI0XSxbMSw2LDQ4XV0scG9kY2FzdF9hZGQ6W1swLAoyLDI0XSxbMSwyLDI0XV0scG9kY2FzdF9jaGVjazpbWzAsMiwyNF1dLHBvaW50Mng6W1sxLDEsMjRdXSxwb2ludDN4OltbMSwxLDI0XV0scG9pbnQ1eDpbWzEsMSwyNF1dLHBvaW50OHg6W1sxLDEsMjRdXSxwb2xsOltbMSwxMCwxOF0sWzEsMTAsMjRdLFsxLDEwLDM2XV0scG9zdDpbWzAsMiwxMl0sWzAsMiwxOF0sWzAsMiwyNF0sWzEsMiwxMl0sWzEsMiwxOF0sWzEsMiwyNF1dLHByZW1pdW06W1swLDEsMjRdLFsxLDEsMjRdXSxwcmVzZW50YXRpb246W1sxLDMsMjRdXSxwcmljZV90YWc6W1swLDgsMjRdLFswLDgsNDhdLFsxLDgsMjRdXSxwcmljZV90YWdfaGVhcnQ6W1sxLDIsMjRdXSxwcmljZV90YWdfcmVjdGFuZ2xlOltbMSwxLDI0XV0scXJfY29kZTpbWzEsMywyNF1dLHFyX2NvZGVfdmlld2ZpbmRlcjpbWzEsMSwyNF1dLHF1ZXN0aW9uX2hlYWQ6W1sxLDIsMjRdXSxxdWV1ZTpbWzEsMSwyNF1dLHF1ZXVlX2xhc3Q6W1sxLDEsMjRdXSxxdWV1ZV9uZXh0OltbMSwxLDI0XV0scXVpejpbWzAsCjEsMjRdLFsxLDEsMjRdXSxxdW90ZTpbWzAsMSwyNF0sWzEsMSwyNF1dLHF1b3RlX3NsYXNoOltbMCwxLDI0XSxbMSwxLDI0XV0scmVjb3JkOltbMCwyLDI0XV0scmVkbzpbWzEsMiwxOF0sWzEsMiwyNF1dLHJlbWl4OltbMSwyLDI0XV0scmVtaXhfc3BhcmtsZXM6W1sxLDEsMjRdXSxyZW1vdGVfd2F2ZXM6W1sxLDEsMjRdXSxyZXBlYXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxyZXBlYXQxOltbMCwxLDI0XSxbMSwxLDI0XV0scmVwbGF5OltbMSwyLDI0XSxbMSwyLDM2XV0scm90YXRlX2Nsb2Nrd2lzZTpbWzEsMSwyNF1dLHJvdGF0ZV9jb3VudGVyY2xvY2t3aXNlOltbMSwxLDI0XV0scm90YXRlX2xhbmRzY2FwZTpbWzEsMiwxOF0sWzEsMiwyNF1dLHJvdGF0ZV9wb3J0cmFpdDpbWzEsMSwyNF1dLHJzczpbWzEsMiwyNF1dLHJzc19zbGFzaDpbWzEsMSwyNF1dLHJ1Ynk6W1sxLDIsMjRdXSxzYW1wbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc2F0dXJhdGlvbjpbWzEsMiwyNF1dLHNjYWxlOltbMSwKNCwyNF1dLHNjaXNzb3JzOltbMCw4LDI0XSxbMSw4LDE4XSxbMSw4LDI0XV0sc2Npc3NvcnNfY3V0OltbMSw0LDI0XV0sc2NyaWJibGU6W1sxLDEsMjRdXSxzZDpbWzAsMywyNF0sWzEsMywyNF1dLHNlYXJjaDpbWzAsMTUsMjRdLFsxLDE1LDE4XSxbMSwxNSwyNF0sWzEsMTUsNDhdXSxzZWFyY2hfc2hpZWxkOltbMCwxLDI0XSxbMSwxLDI0XV0sc2VhcmNoX3NwYXJrOltbMSwzLDE4XSxbMSwzLDI0XV0sc2Vla19mb3J3YXJkOltbMCwxLDI0XV0sc2Vla19yZXdpbmQ6W1swLDEsMjRdXSxzZW5kOltbMCw3LDE4LCEwXSxbMCw3LDI0LCEwXSxbMSw3LDE4LCEwXSxbMSw3LDI0LCEwXV0sc2hhZG93OltbMSwxLDI0XV0sc2hhZG93X2hhcmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzaGFkb3dfc29mdDpbWzAsMywyNF0sWzEsMywyNF1dLHNoYXBlczpbWzAsMywyNF0sWzEsMywyNF1dLHNoYXJlOltbMCwxMiwyNCwhMF0sWzEsMTIsMTgsITBdLFsxLDEyLDI0LCEwXV0sc2hhcmVfYW5kcm9pZDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxzaGFyZV9pb3M6W1sxLDIsMjRdXSxzaGFycGVuOltbMSwxLDI0XV0sc2hpZWxkOltbMCw2LDI0XSxbMSw2LDI0XV0sc2hpZWxkX2FkZDpbWzEsMiwyNF1dLHNoaWVsZF9oZWFsdGg6W1sxLDEsMjRdXSxzaGllbGRfb3ZlcmZsb3c6W1sxLDIsMjRdXSxzaGllbGRfc2xhc2g6W1sxLDEsMjRdXSxzaGllbGRfeDpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHNob3J0czpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHNob3J0c19hZGQ6W1sxLDEsMThdLFsxLDEsMjRdXSxzaG9ydHNfZW1wdHk6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMjRdXSxzaHVmZmxlOltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sc2tpcDEwX2JhY2s6W1sxLDIsMjRdLFsxLDIsMzZdXSxza2lwMTBfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXAxNV9iYWNrOltbMSwxLDI0XV0sc2tpcDE1X2ZvcndhcmQ6W1sxLDEsMjRdXSxza2lwMjBfYmFjazpbWzEsMSwyNF1dLHNraXAyMF9mb3J3YXJkOltbMSwKMSwyNF1dLHNraXAzMF9iYWNrOltbMSwxLDI0XV0sc2tpcDMwX2ZvcndhcmQ6W1sxLDIsMjRdLFsxLDIsMzZdXSxza2lwNV9iYWNrOltbMSwxLDI0XV0sc2tpcDVfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXA2MF9iYWNrOltbMSwxLDI0XV0sc2tpcDYwX2ZvcndhcmQ6W1sxLDEsMjRdXSxza2lwX2Rvd246W1swLDYsMjRdLFsxLDYsMjRdXSxza2lwX25leHQ6W1swLDcsMTJdLFswLDcsMjRdLFswLDcsMzZdLFsxLDcsMjRdXSxza2lwX3ByZXZpb3VzOltbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XV0sc2tpcF91cDpbWzAsNiwyNF0sWzEsNiwyNF1dLHNsYXNoX2ZvcndhcmQ6W1sxLDEsMjRdXSxzbGVlcF90aW1lcjpbWzAsMiwyNF0sWzEsMiwyNF1dLHNsaXA6W1sxLDEsMThdLFsxLDEsMjRdXSxzbm93Zmxha2U6W1sxLDEsMjRdXSxzb2NjZXJfYmFsbDpbWzEsMywyNF1dLHNvbmFyOltbMSwxLDI0XV0sc29ydDpbWzEsMywxMl0sWzEsMywxOF0sWzEsMywyNF1dLHNwYWNlYmFyOltbMSwyLAoyNF1dLHNwYXJrOltbMCwxMSwxMl0sWzAsMTEsMjRdLFsxLDExLDI0XV0sc3BhcmtfYnViYmxlX2NoYXQ6W1sxLDEsMjRdXSxzcGFya19saWdodGJ1bGI6W1swLDMsMjRdLFsxLDMsMjRdXSxzcGFya19zZWFyY2g6W1sxLDEsMjRdXSxzcGFya193YXZlczpbWzAsMiwyNF0sWzEsMiwyNF1dLHNwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BlYWtlcjpbWzEsMiwyNF1dLHNwZWFrZXJfaGVhZHNldDpbWzEsMiwyNF1dLHNwZWFrZXJfc2xhc2g6W1sxLDEsMjRdXSxzcGVha2VyX3N0YWNrOltbMSwxLDI0XV0sc3BlYWtlcl9zdGFja19zbGFzaDpbWzEsMSwyNF1dLHNwZWVkb21ldGVyOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BsaWNlOltbMSwxLDI0XV0sc3BsaXQ6W1sxLDQsMjRdXSxzcG90bGlnaHQ6W1swLDMsMjRdLFsxLDMsMjRdXSxzcHJlYWRzaGVldDpbWzEsMSwyNF1dLHNxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHNxdWFyZTNfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSwKc3F1YXJlM2Rfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxzcXVhcmVfZ3JpZDJ4MjpbWzEsMSwyNF1dLHNxdWFyZV9ncmlkM3gzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3F1YXJlX3BhaW50YnJ1c2g6W1sxLDEsMjRdXSxzcXVhcmVfcGVuY2lsOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sc3RhYmxlX3ZvbHVtZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHN0YXI6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMjRdXSxzdGFyX2NpcmNsZTpbWzAsNiwxMl0sWzAsNiwxOF0sWzAsNiwyNF0sWzAsNiwzNl0sWzEsNiwyNF1dLHN0YXJfZnVsbF9oYWxmOltbMCwxLDEyXSxbMCwxLDI0XV0sc3Rhcl9oYWxmX2ZpbGxlZDpbWzEsMiwxMl0sWzEsMiwyNF1dLHN0YXJfdGlja2V0OltbMCwyLDI0XSxbMSwyLDI0XV0sc3Rhcl90cm9waHk6W1sxLDEsMjRdXSxzdGFyX3R2OltbMSwxLDI0XV0sc3RpY2tlcjpbWzEsMywxOF0sWzEsMywyNF1dLHN0b3A6W1swLDYsMjRdLFswLDYsMzZdLApbMSw2LDI0XV0sc3RvcF9jaXJjbGU6W1swLDIsMjRdLFsxLDIsMjRdXSxzdG9wd2F0Y2g6W1swLDUsMjRdLFsxLDUsMjRdXSxzdG9wd2F0Y2gxMDpbWzAsMSwyNF1dLHN0b3B3YXRjaDM6W1swLDEsMjRdXSxzdG9yYWdlOltbMCwyLDI0XSxbMSwyLDI0XV0sc3Vic2NyaXB0aW9uczpbWzAsMTIsMjRdLFsxLDEyLDI0XSxbMSwxMiw0OF1dLHN1YnRpdGxlczpbWzAsNSwyNF0sWzAsNSw0OF0sWzEsNSwyNF1dLHN1YnRpdGxlc19idWJibGU6W1sxLDEsMjRdXSxzdW06W1sxLDEsMjRdXSxzdXBlcl9jaGF0OltbMCw4LDI0XSxbMSw4LDI0XV0sc3VwZXJfc3RhcjpbWzEsMSwyNF1dLHN1cGVyX3N0aWNrZXI6W1swLDgsMjRdLFsxLDgsMjRdXSxzdXBlcl9zdG9yZTpbWzAsMywyNF0sWzEsMywyNF1dLHN1cHBvcnRfYWdlbnQ6W1sxLDEsMjRdXSxzdXJyb3VuZF9zb3VuZDpbWzAsMiwyNF0sWzEsMiwyNF1dLHRhYmxldF9sYW5kc2NhcGU6W1sxLDEsMjRdXSx0YXJnZXQ6W1sxLDIsMjRdXSx0YXJnZXRfYWRkOltbMSwKMiwyNF1dLHRlbXBsYXRlX2FkZDpbWzEsMywyNF1dLHRlbXBsYXRlX3BsYXk6W1swLDMsMjRdLFsxLDMsMjRdXSx0ZW1wbGF0ZV9wbGF5X3NwYXJrOltbMSwxLDI0XV0sdGV4dF9hbGlnbl9jZW50ZXI6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2FsaWduX2xlZnQ6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2FsaWduX3JpZ2h0OltbMCwyLDI0XSxbMSwyLDI0XV0sdGV4dF9idWJibGU6W1swLDQsMjRdLFsxLDQsMTJdLFsxLDQsMThdLFsxLDQsMjRdXSx0ZXh0X3BhZ2U6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X3BhZ2VfYWxlcnQ6W1sxLDEsMjRdXSx0ZXh0X3BhZ2VfY2hlY2s6W1sxLDEsMjRdXSx0ZXh0X3BhZ2VfaW5mbzpbWzEsMSwyNF1dLHRleHRfc3Bhcms6W1sxLDEsMjRdXSx0ZXh0dXJlOltbMSwxLDI0XV0sdGhlYXRlcjpbWzEsMSwyNF1dLHRoZW1lOltbMCwyLDI0XSxbMSwyLDI0XV0sdGhlcm1vbWV0ZXI6W1sxLDIsMjRdXSx0aHVtYl9kb3duOltbMCwyNSwxOF0sWzAsCjI1LDI0XSxbMCwyNSwzNl0sWzAsMjUsNDhdLFsxLDI1LDE4XSxbMSwyNSwyNF0sWzEsMjUsMzZdLFsxLDI1LDQ4XV0sdGh1bWJfdXA6W1swLDI0LDEyXSxbMCwyNCwxOF0sWzAsMjQsMjRdLFswLDI0LDM2XSxbMCwyNCw0OF0sWzEsMjQsMTJdLFsxLDI0LDE4XSxbMSwyNCwyNF0sWzEsMjQsMzZdLFsxLDI0LDQ4XV0sdGh1bWJfdXBfZG93bjpbWzAsNCwyNF0sWzEsNCwyNF1dLHRpbHQ6W1sxLDQsMjRdXSx0aW1lbGluZTpbWzEsMywyNF1dLHRpbWVsaW5lX3NwYXJrOltbMSwxLDI0XV0sdGltZXN0YW1wX2FkZDpbWzEsMSwyNF1dLHRvb2xib3g6W1swLDQsMjRdLFsxLDQsMjRdXSx0cmFuc2NyaXB0OltbMSwyLDI0XV0sdHJhbnNpdGlvbjpbWzAsNSwyNF0sWzEsNSwyNF1dLHRyYW5zbGF0ZTpbWzEsNCwxOF0sWzEsNCwyNF1dLHRyYXNoX2NhbjpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHRyZW5kaW5nOltbMCwyLDI0XSxbMSwyLDI0XV0sdHJpYW5nbGVfZG93bjpbWzAsOCwKMThdLFswLDgsMjRdLFsxLDgsMjRdXSx0cmlhbmdsZV91cDpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHRyb3BoeTpbWzAsMywyNF0sWzEsMywyNF1dLHRydWNrOltbMCw1LDI0XSxbMSw1LDI0XV0sdHY6W1swLDgsMjRdLFsxLDgsMjRdLFsxLDgsNDhdXSx0dl9hcnJvd19sZWZ0OltbMSwyLDI0XV0sdHZfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sdHZfbW9iaWxlOltbMSwyLDI0XSxbMSwyLDM2XV0sdHZfc2xhc2g6W1sxLDEsMjRdXSx1bmFyY2hpdmU6W1sxLDEsMjRdXSx1bmRvOltbMSwyLDE4XSxbMSwyLDI0XV0sdXBsb2FkOltbMSw1LDI0XV0sdmFyaWFibGU6W1sxLDQsMjRdXSx2aWRlbzpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHZpZGVvX2NhbWVyYTpbWzAsOSwyNF0sWzAsOSw0OF0sWzEsOSwyNF0sWzEsOSw0OF1dLHZpZGVvX2NhbWVyYV9hZGQ6W1sxLDIsMjRdXSx2aWRlb19jYW1lcmFfc2xhc2g6W1sxLDEsMjRdXSx2aWRlb19saW5rOltbMSw1LDE4XSwKWzEsNSwyNF1dLHZpZGVvX3BvcnRyYWl0X3NwYXJrOltbMSwxLDI0XV0sdmlkZW9fcmV2ZXJzZTpbWzEsMSwyNF1dLHZpZGVvX3NsYXNoOltbMSwxLDEyXSxbMSwxLDE4XSxbMSwxLDI0XSxbMSwxLDM2XSxbMSwxLDQ4XV0sdmlkZW9fc3Bhcms6W1sxLDIsMjRdXSx2aWRlb19zdGFja19zcGFyazpbWzEsMSwxOF0sWzEsMSwyNF1dLHZpZGVvX3N0aXRjaDpbWzEsMiwyNF1dLHZpZGVvX3dhdmVmb3JtOltbMSwxLDI0XV0sdmlld19jb2x1bW4yOltbMSwxLDI0XV0sdmlld19jb2x1bW4zOltbMCwyLDI0XSxbMSwyLDI0XV0sdmlld19jb2x1bW4zX3JvdzI6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2NvbXBhY3Q6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2ZlZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2xpc3Q6W1sxLDEsMjRdXSx2aWV3X3JvdzI6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X3RpbWVsaW5lOltbMSwxLDI0XV0sdmlld2ZpbmRlcjpbWzEsMSwxMl0sWzEsMSwxOF0sClsxLDEsMjRdXSx2aWduZXR0ZTpbWzEsMSwyNF1dLHZvbHVtZV9mYWRlOltbMSwyLDI0XV0sdm9sdW1lX21heDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9taW46W1swLDIsMjRdLFsxLDIsMjRdXSx2b2x1bWVfbXV0ZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHZyOltbMCw3LDI0XSxbMSw3LDI0XV0sd2F0Y2g6W1sxLDEsMjRdXSx3YXRlcjpbWzEsMSwyNF1dLHdhdmVmb3JtOltbMSwzLDI0XSxbMSwzLDQ4XV0sd2F2ZWZvcm1fc3Bhcms6W1sxLDIsMjRdXSx3aWZpX3RldGhlcmluZzpbWzEsMSwyNF1dLHdyZW5jaDpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLHg6W1sxLDExLDE4XSxbMSwxMSwyNF0sWzEsMTEsMzZdXSx4X2NpcmNsZTpbWzAsOSwyNF0sWzEsOSwxOF0sWzEsOSwyNF1dLHhfb2N0YWdvbjpbWzEsMywxMl0sWzEsMywyNF1dLHhfcmVjdGFuZ2xlOltbMSwxLDI0XV0seWVuX3NpZ25fcmVjdGFuZ2xlOltbMCwyLDI0XSxbMSwyLDI0XV0seW91dHViZTpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX2tpZHM6W1swLDUsMjRdLFsxLDUsMjRdXSx5b3V0dWJlX2xhYnM6W1swLDEsMjRdXSx5b3V0dWJlX211c2ljOltbMCw3LDI0XSxbMSw3LDI0XV0seW91dHViZV9zaG9ydHM6W1swLDExLDI0XSxbMSwxMSwyNF1dLHlvdXR1YmVfc3R1ZGlvOltbMCw4LDI0XSxbMSw4LDI0XV0seW91dHViZV90djpbWzAsOCwyNF0sWzEsOCwyNF1dLHpvb21fYXV0bzpbWzEsMiwyNF1dLHpvb21faW46W1swLDIsMjRdLFsxLDIsMjRdXSx6b29tX291dDpbWzAsMiwyNF0sWzEsMiwyNF1dfTt2YXIgWHFhPXtWT0xVTUVfVVBfREVMSElfUExBWUVSX0ZJTExFRDoiVk9MVU1FX01BWCIsVk9MVU1FX09GRl9ERUxISV9QTEFZRVI6IlZPTFVNRV9NVVRFIixWT0xVTUVfRE9XTl9ERUxISV9QTEFZRVJfRklMTEVEOiJWT0xVTUVfTUlOIixDTE9TRURfQ0FQVElPTl9ERUxISV9QTEFZRVI6IkNBUFRJT05TIixDTE9TRURfQ0FQVElPTl9ERUxISV9QTEFZRVJfRklMTEVEOiJDQVBUSU9OUyIsU1VCVElUTEVTX0RFTEhJX1BMQVlFUjoiU1VCVElUTEVTIixTVUJUSVRMRVNfREVMSElfUExBWUVSX0ZJTExFRDoiU1VCVElUTEVTIixQTEFZRVJfRlVMTF9FTlRFUl9BTFQ6IlBMQVlFUl9GVUxMX0VOVEVSX0FMVCIsUExBWUVSX0ZVTExfRVhJVF9BTFQ6IlBMQVlFUl9GVUxMX0VYSVRfQUxUIixQQVVTRV9ERUxISV9QTEFZRVJfRklMTEVEOiJQQVVTRSIsUExBWV9BUlJPV19ERUxISV9QTEFZRVJfRklMTEVEOiJQTEFZX0FSUk9XIn0sdlo9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9bWYoYSwKYil7dmFyIGM9WHFhW2EuaWNvbk5hbWUudG9VcHBlckNhc2UoKV07YyYmKGEuaWNvbk5hbWU9Yyk7dmFyIGQ9YS5pY29uTmFtZTtkPWQucmVwbGFjZSgvLS9nLCJfIik7YT17Li4uYSxpY29uTmFtZTp1WShkLCEhYyl8fGQudG9Mb3dlckNhc2UoKX07cmV0dXJuIF8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpfHxjP3JZKFdxYSxhLHRoaXMuaj8ucnd8fEFwYSxiKTpyWShWcWEsYSx0aGlzLmo/LnJ3fHx6cGEsYil9fTt2WltfLkxuXT1bXy5JbihfLm5PKV07dmFyIEJwYT1uZXcgU2V0KFsiY2kiLCJjciIsImNhcm1sIl0pLHZZPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zaWduYWxzPVtdO3RoaXMuaj1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMudj1uZXcgTWFwfVZxKGEpe2lmKGEubGVuZ3RoPjEpe3ZhciBiPVtdO2xldCBmPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKHZhciBjIG9mIGEpZltjXXx8KGIucHVzaChjKSxmW2NdPSEwKTthPWJ9aWYoYS5sZW5ndGg9PT0xKXZhciBkPWFbMF07ZWxzZXtjPWE7Yj0iIjtjLnNvcnQoKTtmb3IoZSBvZiBjKWIrPWUrInwiO3ZhciBlPWI7aWYoIXRoaXMuai5nZXQoZSkpe2M9MDtiPVtdO2ZvcihkIG9mIGEpYysrLHhZKHRoaXMsZCl8fGIucHVzaChkKTtjPmIubGVuZ3RoP3RoaXMuc2lnbmFscy5wdXNoKGUpOkNwYSh0aGlzLGUsYSxiKX1kPWV9cmV0dXJuIGR9SGgoYSxiLGMsZCxlKXt4WSh0aGlzLGMpP18uQ2soKS5HYShhLGIsZCk6KGUmJihhPXlZKGEpLEFZKHRoaXMsCmEsYixjLGUpKSxlPXRoaXMuby5nZXQoYyksZXx8KHRoaXMuby5zZXQoYyxbXSksZT10aGlzLm8uZ2V0KGMpKSxlLnB1c2goe3hoOmEscHJpb3JpdHk6YixkZWxheTpkfSkpfWFkZExpc3RlbmVyKGEsYixjKXtjJiYoYj15WShiKSxBWSh0aGlzLGIsMCxhLGMpKTtjPXRoaXMudi5nZXQoYSk7Y3x8KHRoaXMudi5zZXQoYSxbXSksYz10aGlzLnYuZ2V0KGEpKTtjLnB1c2goYil9V20oYSl7aWYoIXhZKHRoaXMsYSkpe3RoaXMuQi5hZGQoYSk7dmFyIGI9dGhpcy5vLmdldChhKTtpZihiKXtmb3IobGV0IGMgb2YgYilfLkNrKCkuR2EoYy54aCxjLnByaW9yaXR5LGMuZGVsYXkpO3RoaXMuby5kZWxldGUoYSl9aWYoYj10aGlzLnYuZ2V0KGEpKXtmb3IobGV0IGMgb2YgYiljKCk7dGhpcy52LmRlbGV0ZShhKX10aGlzLnNpZ25hbHMucHVzaChhKTt0aGlzLkIuZGVsZXRlKGEpfX19O3ZZLnByb3RvdHlwZS5wcm9jZXNzU2lnbmFsPXZZLnByb3RvdHlwZS5XbTsKdlkucHJvdG90eXBlLnBhcmtPclNjaGVkdWxlSm9iPXZZLnByb3RvdHlwZS5IaDt2WS5wcm90b3R5cGUub25Bbnk9dlkucHJvdG90eXBlLlZxO18ucmEoInl0c2lnbmFscy5nZXRJbnN0YW5jZSIsd1kpO3ZZLnByb3RvdHlwZS5vbkFueT12WS5wcm90b3R5cGUuVnE7dlkucHJvdG90eXBlLnBhcmtPclNjaGVkdWxlSm9iPXZZLnByb3RvdHlwZS5IaDt2WS5wcm90b3R5cGUucHJvY2Vzc1NpZ25hbD12WS5wcm90b3R5cGUuV207dmFyIHpZPW5ldyBTZXQoWyJlb3AiLCJlb2NzIiwiZGwiLCJwY2wiXSk7dmFyIHZxYT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoYSl7dmFyIGI9e307c3VwZXIoInVuaW5pdGlhbGl6ZWQiKTt0aGlzLmVudj1hO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJ1bmluaXRpYWxpemVkIix0bzoiaW5pdGlhbGl6ZWQiLGFjdGlvbjp0aGlzLmluaXR9LHtmcm9tOiJpbml0aWFsaXplZCIsdG86InJlbmRlcmluZyIsYWN0aW9uOnRoaXMuS30se2Zyb206InJlbmRlcmluZyIsdG86InJlbmRlcmVkIixhY3Rpb246dGhpcy5EfSx7ZnJvbToicmVuZGVyZWQiLHRvOiJhZnRlci1yZW5kZXItZGVmZXJyZWQiLGFjdGlvbjp0aGlzLm99XTtiLkZnIT09dm9pZCAwJiYodGhpcy5CLkZnPWIuRmcpfWFzeW5jIGluaXQoYSl7dGhpcy5CLkZnP2F3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJyZW5kZXJpbmciKX0sMTAsImNpIil9YXN5bmMgSyhhKXt0aGlzLkIuRmc/CmF3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJyZW5kZXJlZCIpfSwxMCwiY3IiKX1hc3luYyBEKGEpe3RoaXMuQi5GZz9hd2FpdCBhKHRoaXMuZW52KTphKHRoaXMuZW52KTt0aGlzLmomJmF3YWl0IHRoaXMuai5vLnByb21pc2U7d1koKS5IaCgoKT0+e3RoaXMudHJhbnNpdGlvbigiYWZ0ZXItcmVuZGVyLWRlZmVycmVkIil9LDEwLCJjYXJtbCIpfWFzeW5jIG8oYSl7YSh0aGlzLmVudil9fTt2YXIgd1o9ITEsd3FhPXtpbml0aWFsaXplZDp7cHJpb3JpdHk6MTAsY2FsbGJhY2s6ZnVuY3Rpb24oKXt3Wnx8KF8uZHcoe0dmOmE9PnthLmVsJiZfLnV5KGEuZWwsYS5wcm9wcyl9LEhmOmE9PntfLnN5KGEuZWwpfX0pLHdaPSEwKX19fTt2YXIgQ1k9Xy5MKCh7ZGF0YTphfSk9PntmdW5jdGlvbiBiKGYpe18ublAoKTtmLnN0b3BQcm9wYWdhdGlvbigpfXZhciBjPV8udkUoImRpdiIpLGQ9Xy54KCJ3ZWJfcmVtb3ZlX3NuYWNrYmFyX2FjdGlvbnMiKTtfLlVKKCgpPT57fSk7dmFyIGU9e2J1dHRvbk92ZXJyaWRlczp7c3R5bGU6ImNhbGwtdG8tYWN0aW9uLWludmVyc2UifX07cmV0dXJuIF8uSygieXRtLW5vdGlmaWNhdGlvbi1hY3Rpb24tcmVuZGVyZXIiLG51bGwsXy5LKCJkaXYiLHsiYXJpYS1saXZlIjpfLmZyPyJvZmYiOiJwb2xpdGUiLGNsYXNzOiJub3RpZmljYXRpb24tYWN0aW9uLXJlc3BvbnNlLXRleHQifSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLnJlc3BvbnNlVGV4dH0pKSxfLksoXy5PLHtBOigpPT5hKCkuYWN0aW9uQnV0dG9uJiYhZCx0aGVuOigpPT5fLksoImRpdiIse2VsOmMsY2xhc3M6Im5vdGlmaWNhdGlvbi1hY3Rpb24tYnV0dG9uIiwib246Y2xpY2siOmJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5hY3Rpb25CdXR0b259LAp7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmZ9KT0+Xy5LKF8ucE8se2RhdGE6ZiwuLi5lfSksdG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOmZ9KT0+Xy5LKF8ucU8se2RhdGE6ZiwuLi5lfSl9KSl9KSl9LCJiZiIpO0NZLmlkb21Db21wYXQ9ITA7dmFyIEVZO3ZhciBHWT1uZXcgXy5lRTt2YXIgR3BhPXthZGRUb1BsYXlsaXN0UmVuZGVyZXI6ITB9O3ZhciBMWTt2YXIgUXBhPV8uJE4uQ3Q7dmFyIFRZPV8uTCgoe2RhdGE6YX0pPT57dmFyIGI9Xy51RSgieXRtLXNoYXJlLXRhcmdldC1yZW5kZXJlciIpO18uVUooKCk9PntiLnZhbHVlLmxheWVyPTd9KTt2YXIgYz0oKT0+Xy5CKGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5WRCk/LnVybCxkPSgpPT57YSgpO3JldHVybiExfTtyZXR1cm4gXy5LKCJ5dG0tc2hhcmUtdGFyZ2V0LXJlbmRlcmVyIix7ZWw6Yiwib246Y2xpY2siOmZ1bmN0aW9uKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCk7aWYoZCgpKXt2YXIgZj1jKCksaD1hKCkubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zO18uekooaCw3KTtuZXcgTW96QWN0aXZpdHkoe25hbWU6Im5ldyIsZGF0YTp7dHlwZToid2Vic21zL3NtcyIsYm9keTpmfX0pO05ZKCk7ZS5wcmV2ZW50RGVmYXVsdCgpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBOWSgpfX0sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSygiYSIse2hyZWY6YyxjbGFzczoic2hhcmUtdGFyZ2V0LWxpbmsifSwKXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxXOigpPT5fLksoXy5uSCx7Y2xhc3NOYW1lOiJzaGFyZS10YXJnZXQtbGluayIsY29tbWFuZDooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCx0YXJnZXQ6Il9ibGFuayJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSl9KSl9LCJjZiIpO1RZLmlkb21Db21wYXQ9ITA7dmFyIFlxYT1fLiROLkNBTkNFTCxYcGE9Xy5MKCh7ZGF0YTphfSk9PntmdW5jdGlvbiBiKGYpe3ZhciBoPV8ueSgpLnJlc29sdmUoXy55UCksaz1SWShhKCkpO2YucHJldmVudERlZmF1bHQoKTtrJiZfLnpKKGssNyk7Xy5zUChlKTtoPy5sZCgpO18uek4oKTtmLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGMoZil7Xy55KCkucmVzb2x2ZShfLnlQKT8ubGQoKTtfLnpOKCk7Zi5zdG9wUHJvcGFnYXRpb24oKX12YXIgZD0oKT0+T1koYSgpKSxlPSJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIrXy5PSCgpO3JldHVybiBfLksoXy5yRSx7UWc6KCk9Pl8uSyhfLkFQLG51bGwsXy5LKF8uSUose2RhdGE6KCk9Pnt2YXIgZj1hKCkuaGVhZGVyPy5zaGFyZVBhbmVsSGVhZGVyUmVuZGVyZXI/LnRpdGxlPy5zaGFyZVBhbmVsVGl0bGVWMTVSZW5kZXJlcj8udGl0bGU7cmV0dXJuIGY/Zjp7c2ltcGxlVGV4dDoiU2hhcmUifX19KSkscWs6KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+CiEwLHRoZW46KCk9Pl8uSygiaW5wdXQiLHt2YWx1ZTpkLCJzZWxlY3Rpb24tZW5kIjowLGNsYXNzOiJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIsaWQ6ZSwib246Y2xpY2siOmIsImFyaWEtbGFiZWwiOigpPT5gJHtfLiROLnNvfSAke09ZKGEoKSl9YCxyZWFkb25seTohMH0pfSksXy5LKF8uZ0cse3BhOigpPT5TWShhKCkpfHxbXX0sZj0+Xy5LKF8uTyx7QTooKT0+Zi5zaGFyZVRhcmdldFJlbmRlcmVyLHRoZW46aD0+Xy5LKFRZLHtkYXRhOmh9KX0pKSksUHI6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKCJidXR0b24iLHtjbGFzczoiY29tcGFjdCIsIm9uOmNsaWNrIjpjfSxZcWEpKX0pfSwiZGYiKSxRWT1fLkwoKHtzaG9ydFVybDphLHRyYWNraW5nUGFyYW1zOmJ9KT0+e2Z1bmN0aW9uIGMoZSl7dmFyIGY9ZCxoPWI/LigpO2UucHJldmVudERlZmF1bHQoKTtoJiZfLnpKKGgsNyk7Xy5zUChmKTtOWSgpO18uek4oKTtlLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPSJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIrCl8uT0goKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ITAsdGhlbjooKT0+Xy5LKCJpbnB1dCIse2NsYXNzOiJ1bmlmaWVkLXNoYXJlLXVybC1pbnB1dCIsaWQ6ZCx2YWx1ZTphLHJlYWRvbmx5OiEwLCJhcmlhLWxhYmVsIjooKT0+YCR7Xy4kTi5zb30gJHthKCl9YCwib246Y2xpY2siOmMsInNlbGVjdGlvbi1lbmQiOjB9KX0pfSwiZWYiKTtRWS5pZG9tQ29tcGF0PSEwO3ZhciAkcGE9Xy4kTi5EdCxhcWE9Xy4kTi5ldTtfLnJhKCJ5dC5wdWJzdWIucHVibGlzaCIsXy5Peik7dmFyIHdYPXthdWRpb1RyYWNrU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyhUcWEpLGJyb3dzZUVuZHBvaW50OigpPT5GWShJcGEpLGNhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6VlcoclopLGNvbW1hbmRFeGVjdXRvckNvbW1hbmQ6KCk9PkZZKEpwYSksY29weVRleHRFbmRwb2ludDooKT0+RlkoTHBhKSxlbnRpdHlVcGRhdGVDb21tYW5kOlZXKHBaLFtuWl0pLGZlZWRiYWNrRW5kcG9pbnQ6KCk9PkZZKE1ZKSxtb2RpZnlDaGFubmVsTm90aWZpY2F0aW9uUHJlZmVyZW5jZUVuZHBvaW50OigpPT5GWShOcGEpLG5hdGl2ZUFwcERlZXBsaW5rRW5kcG9pbnQ6KCk9PkZZKHBvYSksb3BlblBvcHVwQWN0aW9uOigpPT5GWShEcGEpLHBob25lRGlhbGVyRW5kcG9pbnQ6KCk9PkZZKFBwYSkscGxheWxpc3RFZGl0RW5kcG9pbnQ6KCk9PkZZKFJwYSksc2VuZFNtc0VuZHBvaW50OigpPT5GWShUcGEpLHNoYXJlRW50aXR5RW5kcG9pbnQ6KCk9PkZZKFpwYSksc2hvd0F1ZGlvVHJhY2tQaWNrZXJBY3Rpb25Db21tYW5kOlZXKHNaKSwKc2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6VlcodFopLHNob3dFbmdhZ2VtZW50UGFuZWxFbmRwb2ludDooKT0+RlkoZHFhKSxzaG93U2hlZXRDb21tYW5kOlZXKHFaLFtfLmNMLCRZXSksc2lnbkluRW5kcG9pbnQ6KCk9PkZZKGZxYSksc3Vic2NyaWJlRW5kcG9pbnQ6KCk9PkZZKFdZKSx1bmRvRmVlZGJhY2tFbmRwb2ludDooKT0+RlkoTVkpLHVuc3Vic2NyaWJlRW5kcG9pbnQ6KCk9PkZZKFdZKSx1cmxFbmRwb2ludDooKT0+RlkoaHFhKSx1c2VyRmVlZGJhY2tFbmRwb2ludDooKT0+RlkoaXFhKSx3YXRjaEVuZHBvaW50OigpPT5GWShFcGEpfTt2YXIgeFo9Xy5MKCh7Y2hpbGRyZW46YSxCcTpiLGlzRnVsbHNjcmVlbjpjLHN0eWxlOmQsYXJpYUxhYmVsOmV9KT0+e3ZhciBmPV8udUUoImRpYWxvZyIpO18uVUooKCk9Pnt2YXIgaD0oKT0+e30saz1mLnZhbHVlO2suYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgsITApO18uWXUoKCk9PntrLnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixoLCEwKX0pfSk7cmV0dXJuIF8uSygiZGlhbG9nIix7ZWw6ZixjbGFzczpfLlAoImRpYWxvZyIsIm1vZGVybi1kaWFsb2ctbGF5b3V0IiwibW9kZXJuLWRpYWxvZyIse3Njcm9sbGFibGU6YiwiZGlhbG9nLWZ1bGxzY3JlZW4iOmMsInJvdW5kZWQtY29udGFpbmVyIjooKT0+IWM/LigpfSkscm9sZToiZGlhbG9nIiwiYXJpYS1tb2RhbCI6ITAsc3R5bGU6ZCwiYXJpYS1sYWJlbCI6ZX0sYSl9LCJmZiIpO3haLmlkb21Db21wYXQ9ITA7dmFyIFpxYT1jbGFzc3t9O3ZhciBxcWE9Y2xhc3MgZXh0ZW5kcyBacWF7Y29uc3RydWN0b3IoKXt2YXIgYT17WWw6VXBhLFdrOk5ZfTtzdXBlcigpO3RoaXMubz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLm8uaWQ9Imdsb2JhbC1sb2FkZXIiO2RvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHRoaXMubyxkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpO3RoaXMuWWw9YT8uWWw7dGhpcy5Xaz1hPy5Xa31ycSgpe3JldHVybiEhdGhpcy5qfWFzeW5jIG9wZW5EaWFsb2coYSl7dmFyIGI9e3N0YWNrOltdLGVycm9yOnZvaWQgMCxoYXNFcnJvcjohMX07dHJ5e2xldCBjPV8uWnR8fHt9O3RoaXMuWWw/LigpJiZhd2FpdCB0aGlzLldrPy4oKTt0aGlzLnJxKCkmJnRoaXMubGQoKTtfLlZ6KGIsXy52TShjKSk7bGV0IGQ9YS5VbixlPWEuQnEsZj1hLmlzRnVsbHNjcmVlbixoPWEubkosaz1hLmlzUGVyc2lzdGVudCxsPWEuZm9jdXNPbkNsb3NlLG09YS5ybixuPWEuZksscD1hLnN0eWxlLHI9YS5hcmlhTGFiZWw7CnRoaXMuQj1hO3RoaXMudj10aGlzLmxkLmJpbmQodGhpcyk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLWNoYW5nZSIsdGhpcy52KTt0aGlzLmo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dGhpcy5qLmlkPSJkaWFsb2ctY29udGFpbmVyIjt0aGlzLmouY2xhc3NOYW1lPV8uYUwoImRpYWxvZy1jb250YWluZXIiLHtbImRpYWxvZy1mdWxsc2NyZWVuIl06Zn0pOyhfLlpPKCl8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHRoaXMuaik7Xy5mTih0aGlzLmosXy5LKF8uSUIsbnVsbCxfLksoeFose0JxOmUsaXNGdWxsc2NyZWVuOmYsc3R5bGU6cCxhcmlhTGFiZWw6cn0sXy5LKGQsbnVsbCkpLF8uSyhfLlpOLHtsYWJlbDoiZGlhbG9nIixvbmNsaWNrOigpPT57aHx8a3x8dGhpcy5sZCgpfX0pKSk7Xy5KTih0aGlzLmosbCxtKTtuPy4oKX1jYXRjaChjKXtiLmVycm9yPWMsYi5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooYil9fWxkKCl7dGhpcy5qJiYodGhpcy5CLkdoPy4oKSwKdGhpcy5CPXZvaWQgMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIix0aGlzLnYpLHRoaXMudj12b2lkIDAsXy5LTih0aGlzLmopLF8ucEModGhpcy5qKSx0aGlzLmoucmVtb3ZlKCksdGhpcy5qPXZvaWQgMCl9UXUoKXt0aGlzLm8uZmlyc3RDaGlsZCYmdGhpcy5vLnJlbW92ZUNoaWxkKHRoaXMuby5maXJzdENoaWxkKX19O3ZhciBTVz1uZXcgXy5DdCgiSW5uZXJUdWJlVHJhbnNwb3J0IiwiUnYzZTNkIik7bmV3IF8uQ3QoIlBhZ2VSZXF1ZXN0IiwiUnYzZTNkIik7dmFyICRxYT17YXV0b25hdl9vZmZfdG9nZ2xlX3NwYW5uZXI6W1swLDEsMzZdXSxhdXRvbmF2X29uX3RvZ2dsZV9zcGFubmVyOltbMCwxLDM2XV0sYXV0b25hdl9wbGF5X2NpcmNsZTpbWzAsMSwyMF1dLGF1dG9wbGF5OltbMCwyLDI0XV0sY3JlYXRvcl9zdHVkaW9fcmVkX2xvZ286W1swLDIsMjRdXSxlcXVhbGl6ZXI6W1swLDEsMjRdXSxmdWxsc2NyZWVuOltbMSwxLDI0XV0sZnVsbHNjcmVlbl9leGl0OltbMSwxLDI0XV0sZnVsbHNjcmVlbl9mcDpbWzEsMiwyNF1dLGdvb2dsZTpbWzAsMSwyNF1dLGdvb2dsZV9sb2dvOltbMCwyLDI0XV0saW5jb2duaXRvX2NpcmNsZTpbWzAsMSwyNF1dLGtpZHNfcmVkX2xvZ286W1swLDIsMjRdXSxsb2dvOltbMCwyLDY3XV0sbG9nb193aXRoX3RleHQ6W1swLDMsMjBdXSxsb2dvX3dpdGhfdGV4dF9tb25vY2hyb21lOltbMCwxLDIwXV0sbXVzaWNfcmVkX2xvZ286W1swLDIsMjRdXSxwYXVzZV9jaXJjbGU6W1swLDEsMjRdXSxwYXVzZV9vdXRsaW5lZDpbWzAsCjEsMjRdXSxwaXZvdF9saWJyYXJ5OltbMCwxLDI0XV0scGxheV9jaXJjbGVfc2hvcnRzOltbMCwyLDI0XV0scGxheWVyX2F1dG9wbGF5X25leHQ6W1swLDIsMjRdXSxwcmVtaXVtOltbMCwyLDI0XV0scHJlbWl1bV9zdGFuZGFsb25lOltbMCwyLDI0XV0scHJlbWl1bV9zdGFuZGFsb25lX2NhaXJvOltbMCwxLDI0XV0scmluZ29fbG9nbzpbWzAsMiwyNF1dLHNjcmVlbl9saWdodDpbWzEsMSwyNF1dLCJzaG9ydHMtaGVhcnQiOltbMCwxLDI0XSxbMSwxLDI0XV0sInNob3J0cy1oZWFydC1ncmFkaWVudCI6W1swLDEsMjRdLFsxLDEsMjRdXSxzaG9ydHNfY29tbWVudDpbWzAsMSwzMl1dLHNob3J0c19zaGFyZTpbWzAsMSwzMl1dLHNob3J0c190ZXh0X2xvZ286W1swLDIsNzJdXSxzaG9ydHNfdGh1bWJzX2Rvd246W1swLDEsMzJdXSxzaG9ydHNfdGh1bWJzX3VwOltbMCwxLDMyXV0sc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxzcGFya19zZWFyY2g6W1swLDEsMjRdXSxzdWJkaXJlY3RvcnlfYXJyb3dfcmlnaHQ6W1sxLAoxLDI0XV0sdW5wbHVnZ2VkX3JlZF9sb2dvOltbMCwyLDI0XV0sdmlkZW9feW91dHViZTpbWzAsMSwyNF1dLHdhdGVybWFyazpbWzAsMiwxMTBdXSx5b3V0dWJlOltbMCwyLDI0XV0seW91dHViZV9jcmVhdGVfbG9nbzpbWzAsMSwyNF1dLHlvdXR1YmVfcHJlbWl1bV9sb2dvX3Nob3J0OltbMCwyLDIwXV0seW91dHViZV9wcmVtaXVtX2xvZ29fc2hvcnRfbW9ub2Nocm9tZTpbWzAsMSwyMF1dLHlvdXR1YmVfc2hvcnRzX2JyYW5kXzI0OltbMCwyLDI0XV0seW91dHViZV9zaG9ydHNfZmlsbF9ub190cmlhbmdsZV9yZWRfMTY6W1swLDEsMTZdXX07dmFyIHlaPW5ldyBNYXAoW1sicGxheV9jaXJjbGVfZmlsbGVkIiwiYXV0b25hdl9wbGF5X2NpcmNsZSJdLFsic2VhcmNoIiwic2VhcmNoX2NhaXJvIl0sWyJ0YWJfaG9tZSIsImhvbWVfY2Fpcm8iXSxbInRhYl9zaG9ydHMiLCJ5b3V0dWJlX3Nob3J0c19jYWlybyJdLFsiYWNjb3VudF9jaXJjbGUiLCJwZXJzb25fY2lyY2xlX2NhaXJvIl0sWyJwcmVtaXVtX3N0YW5kYWxvbmUiLCJwcmVtaXVtX3N0YW5kYWxvbmVfY2Fpcm8iXV0pLGFyYT1uZXcgU2V0KFsiYXVkaW9fYmFkZ2UiLCJwYXVzZSIsInBsYXlfYXJyb3ciXSksWVk9Y2xhc3MgZXh0ZW5kcyB2Wntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKTt0aGlzLm89YX1tZihhLGIpe3ZhciBjPXsuLi5hfTthLmljb25OYW1lLnRvTG93ZXJDYXNlKCk9PT0ic2hvcnRzX3RodW1ic191cCImJl8ueCgiZW5hYmxlX3Nob3J0c19oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIikmJihjLmljb25OYW1lPV8ueCgidXNlX3doaXRlX2ZpbGxlZF9oZWFydF9pY29uX2luX3Nob3J0c193YXRjaF9wYWdlIik/CiJzaG9ydHMtaGVhcnQiOiJzaG9ydHMtaGVhcnQtZ3JhZGllbnQiKTthcmEuaGFzKGEuaWNvbk5hbWUpJiYoYy5pY29uU3R5bGU9InlvdXR1YmVfZmlsbCIpO3laLmhhcyhhLmljb25OYW1lKSYmIV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiYoYS5pY29uTmFtZT15Wi5nZXQoYS5pY29uTmFtZSkpO2EuaWNvbk5hbWU9PT0iYWNjb3VudF9saW5rZWQiJiYoYy5pY29uTmFtZT0iY2lyY2xlc19vdmVybGFwX2NoZWNrIixjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7YS5pY29uTmFtZT09PSJhY2NvdW50X3VubGlua2VkIiYmKGMuaWNvbk5hbWU9ImNpcmNsZXNfb3ZlcmxhcCIsYy5pY29uU3R5bGU9InlvdXR1YmVfb3V0bGluZSIpO18ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiYoYS5pY29uTmFtZT09PSJwbGF5bGlzdF9hZGQiJiYoYy5pY29uTmFtZT0iYm9va21hcmsiKSxhLmljb25OYW1lPT09ImNpcmNsZXNfb3ZlcmxhcF9jaGVjayJ8fGMuaWNvbk5hbWU9PT0iY2lyY2xlc19vdmVybGFwX2NoZWNrIikmJgooYy5pY29uTmFtZT0iYWNjb3VudF9saW5rIixjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7YT0oYT11WShjLmljb25OYW1lKSk/ey4uLmMsaWNvbk5hbWU6YX06YzthPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpJiZhLmljb25OYW1lPT09InlvdXR1YmUiP3ZvaWQgMDpyWSgkcWEsYSx0aGlzLm8/LmVKfHxtcWEsYik7cmV0dXJuIGE/YTpzdXBlci5tZihjLGIpfX07WVlbXy5Mbl09W18uSW4oXy5uTyldO3ZhciBycWE9Y2xhc3MgZXh0ZW5kcyBVcWF7aXNWaXNpYmxlKGEpe3ZhciBiPVByb21pc2UsYz1iLnJlc29sdmU7dmFyIGQ9Xy5vTSgpLmdldFN0YXRlKCkuZW5nYWdlbWVudFBhbmVsPy5xcztyZXR1cm4gYy5jYWxsKGIsYT09PWQpfX07dmFyIGJyYT1jbGFzcyBleHRlbmRzIGtae2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLm9ic2VydmVyPW5ldyBfLmZGKDAsYT0+e3RoaXMubG9nVmlzaWJpbGl0eShhKX0pfW9ic2VydmUoYSxiLGMpe2MuVmJ8fGMuc3RhdGUhPT0idmlzaWJsZSJ8fChjLlZiPSEwKTt2YXIgZD17ZWxlbWVudDphLG9wdGlvbjpjfTtpZighYy5WYnx8Yy5zdGF0ZSE9PSJ2aXNpYmxlIilyZXR1cm4gZDtpZih0eXBlb2YgYiE9PSJmdW5jdGlvbiIpcmV0dXJuIF8uV2koRXJyb3IoImhlYCIrdHlwZW9mIGIpKSxkO2EuX192aXNpYmlsaXR5Q2FsbGJhY2s9Yjt0aGlzLm9ic2VydmVyLm9ic2VydmUoYSk7cmV0dXJuIGR9bG9nVmlzaWJpbGl0eShhKXthLl9fdmlzaWJpbGl0eUNhbGxiYWNrJiZ0eXBlb2YgYS5fX3Zpc2liaWxpdHlDYWxsYmFjaz09PSJmdW5jdGlvbiImJmEuX192aXNpYmlsaXR5Q2FsbGJhY2soYSwidmlzaWJsZSIpfXJmKGEpe2RlbGV0ZSBhLmVsZW1lbnQuX192aXNpYmlsaXR5Q2FsbGJhY2s7CnRoaXMub2JzZXJ2ZXIudW5vYnNlcnZlKGEuZWxlbWVudCl9ZGlzcG9zZSgpe3RoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpfX07dmFyIG9xYT0iSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiaW4gd2luZG93P25ldyBNcWE6bmV3IGJyYTtfLnVQPV8uYlo7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoIm1lSDlFYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkJQPWZ1bmN0aW9uKGEsYj0hMSl7dmFyIGMsZD0oKT0+e3ZhciBlPV8uTEIoITApO18uZ3YrKzt0cnl7Yz1fLmJDKGEoKSksXy5JQSghMSl9Y2F0Y2goZil7dGhyb3cgXy5JQSghMCksXy5VdShmLDQpO31maW5hbGx5e18uTEIoZSl9fTtiPWJ8fF8uWnQ/Xy51dihkLGIpOl8uaXcoZCk7cmV0dXJuW2MsYl19O18uS0I9Xy5sQzsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHppYSxBaWEsQmlhLEVpYSxDaWEsRGlhLEZpYTt6aWE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQWEoYSkmJmEubm9kZVR5cGU9PTE/YS5nZXRBdHRyaWJ1dGUoImpzbmFtZSIpPT09ImNvRlN4ZSI6ITF9O0FpYT1mdW5jdGlvbihhLGIpe2IuaWR8fChiLmlkPSJvdyIrXy5mdyhiKSk7YS5zZXRBdHRyaWJ1dGUoImpzb3duZXIiLGIuaWQpO2EuX19vd25lcj1iO3ZhciBjPV8uZ3coYix6aWEpO2MmJihfLkdDLmhhcyhjKXx8Xy5HQy5zZXQoYyxbXSksXy5HQy5nZXQoYykucHVzaChhKSk7KGM9Xy5GQy5nZXQoYikpfHxfLkZDLnNldChiLGM9W10pO2MuaW5jbHVkZXMoYSl8fGMucHVzaChhKTtiLnNldEF0dHJpYnV0ZSgiX19JU19PV05FUiIsITApfTtCaWE9ZnVuY3Rpb24oKXt2YXIgYT1fLkNBKDEpO2E9Xy5jdShhLF8uTEMpO2lmKCEoXy5idShhKXx8YVtfLk12XSYmIWEudm8pKXJldHVybiBhLnZhbHVlfTsKRWlhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5DQSgyKSxiPW5ldyBTZXQsYz0oKT0+e2IuZm9yRWFjaChkPT52b2lkIGQoKSk7Yi5jbGVhcigpfTtfLll1KGMpO3JldHVyblsoZCxlKT0+e3ZhciBmPV8uJHQoYSk7dHJ5e2xldCBoPUNpYShEaWEoZCksZSk7Yi5hZGQoaCk7cmV0dXJuKCk9PntoKCk7Yi5kZWxldGUoaCl9fWZpbmFsbHl7Xy4kdChmKX19LGNdfTtfLkNQPWZ1bmN0aW9uKHtjaGlsZHJlbjphLHJvb3Q6Yn0pe18ub0YoKCk9Pnt2YXIgW2NdPUVpYSgpO2M9YyhiLGEpO18uWXUoYyl9KTtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpfTtDaWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaWEoYSk7KGE9QmlhKCkpJiZBaWEoYyxhKTt2YXIgW2QsZV09Xy5CUChiLCEwKTtmb3IobGV0IGYgb2YgZCljLmFwcGVuZENoaWxkKGYpO18uVkIubG9nKGMpO3JldHVybigpPT57ZSgpO2MucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQoYyl9fTsKRGlhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpe2E9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhKTtpZighKDAsXy5wcikoYSkpdGhyb3cgRXJyb3IoInBgYCIrU3RyaW5nKGEpKTtyZXR1cm4gYX1pZihfLmpCKGEpKXJldHVybiBhO2lmKCFhLkNrJiYhYS5sdSl7dmFyIGI9YS5qdTtiPUVycm9yKCJVY2AiKyh0eXBlb2YgYj09PSJzeW1ib2wiP2IuZGVzY3JpcHRpb246YikpO2Eua3U9ITA7dGhyb3cgYjt9cmV0dXJuIGEudmFsdWV9O0ZpYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoYS5uYW1lc3BhY2VVUkksYS5uYW1lc3BhY2VVUkk9PT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPyJnIjoiZGl2Iik7cmV0dXJuIGEuYXBwZW5kQ2hpbGQoYil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkRQPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5DQSgpLGQ9ZT0+e18ub0goYywoKT0+e2IoZSl9KX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYSxkLHZvaWQgMCk7Xy5ZdSgoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKGEsZCx2b2lkIDApfSl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSWlhLEhQLEZQLEdQLEtpYSxNaWEsTGlhLExQO0lpYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsInN0cmluZ0VudGl0eSIsYil9OwpIUD1mdW5jdGlvbihhLGIsYyl7aWYoYSl7dmFyIGQ9YS5saWtlU3RhdHVzO3JldHVybiBiP3tzdHlsZTp7c3R5bGVUeXBlOiJTVFlMRV9URVhUIn0sdG9nZ2xlZFN0eWxlOntzdHlsZVR5cGU6IlNUWUxFX0RFRkFVTFRfQUNUSVZFIn0saXNUb2dnbGVkOmQ9PT0iTElLRSIsaXNEaXNhYmxlZDohYS5saWtlc0FsbG93ZWQsZGVmYXVsdEljb246e2ljb25UeXBlOmN9LGRlZmF1bHRUZXh0OmQ9PT0iTElLRSI/YS5saWtlQ291bnRXaXRoVW5saWtlVGV4dDphLmxpa2VDb3VudFRleHQsdG9nZ2xlZFRleHQ6ZD09PSJMSUtFIj9hLmxpa2VDb3VudFRleHQ6YS5saWtlQ291bnRXaXRoTGlrZVRleHQsZGVmYXVsdE5hdmlnYXRpb25FbmRwb2ludDpGUChhLCJMSUtFIiksZGVmYXVsdFNlcnZpY2VFbmRwb2ludDpHUChhLCJMSUtFIiksdG9nZ2xlZFNlcnZpY2VFbmRwb2ludDpHUChhLCJJTkRJRkZFUkVOVCIpLGRlZmF1bHRUb29sdGlwOl8uYU4oYS5saWtlQ291bnRUb29sdGlwVGV4dCksdG9nZ2xlZFRvb2x0aXA6Xy5hTihhLmxpa2VDb3VudFRvb2x0aXBUZXh0KSwKdGFyZ2V0SWQ6YS50YXJnZXRJZH06e3N0eWxlOntzdHlsZVR5cGU6IlNUWUxFX1RFWFQifSx0b2dnbGVkU3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfREVGQVVMVF9BQ1RJVkUifSxpc1RvZ2dsZWQ6ZD09PSJESVNMSUtFIixpc0Rpc2FibGVkOiFhLmxpa2VzQWxsb3dlZCxkZWZhdWx0SWNvbjp7aWNvblR5cGU6Y30sZGVmYXVsdFRleHQ6ZD09PSJESVNMSUtFIj9hLmRpc2xpa2VDb3VudFdpdGhVbmRpc2xpa2VUZXh0OmEuZGlzbGlrZUNvdW50VGV4dCx0b2dnbGVkVGV4dDpkPT09IkRJU0xJS0UiP2EuZGlzbGlrZUNvdW50VGV4dDphLmRpc2xpa2VDb3VudFdpdGhEaXNsaWtlVGV4dCxkZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50OkZQKGEsIkRJU0xJS0UiKSxkZWZhdWx0U2VydmljZUVuZHBvaW50OkdQKGEsIkRJU0xJS0UiKSx0b2dnbGVkU2VydmljZUVuZHBvaW50OkdQKGEsIklORElGRkVSRU5UIiksZGVmYXVsdFRvb2x0aXA6Xy5hTihhLmRpc2xpa2VDb3VudFRvb2x0aXBUZXh0KSx0b2dnbGVkVG9vbHRpcDpfLmFOKGEuZGlzbGlrZUNvdW50VG9vbHRpcFRleHQpfX19OwpGUD1mdW5jdGlvbihhLGIpe2lmKGI9PT0iTElLRSIpcmV0dXJuIGEubGlrZUNvbW1hbmQ7aWYoYj09PSJESVNMSUtFIilyZXR1cm4gYS5kaXNsaWtlTmF2aWdhdGlvbkVuZHBvaW50fTtHUD1mdW5jdGlvbihhLGIpe3JldHVybiBhLnNlcnZpY2VFbmRwb2ludHM/LmZpbmQoYz0+Xy5CKGMsXy5kTyk/LnN0YXR1cz09PWIpfTtfLklQPWZ1bmN0aW9uKGEpe3JldHVybntjb250ZW50OmF9fTsKXy5KUD1mdW5jdGlvbihhLGIsYyl7Yj1jfHwoYj8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg/PzApKkppYTthPWEudGh1bWJuYWlscztpZighYSlyZXR1cm4iIjtjPTA7dmFyIGQ9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsZT0wLGY9LU51bWJlci5NQVhfU0FGRV9JTlRFR0VSO2ZvcihsZXQgaz0wO2s8YS5sZW5ndGg7aysrKXtsZXQgbD1hW2tdLndpZHRoLWI7bD49MCYmbDw9ZD8oYz1rLGQ9bCk6bDwwJiZsPmYmJihlPWssZj1sKX12YXIgaD1bXTthLmZvckVhY2goaz0+e2gucHVzaChrLnVybCl9KTtyZXR1cm4gZDwxMDB8fGQ8LWY/YVtjXS51cmw6YVtlXS51cmx9O0tpYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoYj0+e18uT0UoKCk9PntiKGEpfSl9KX07TWlhPWZ1bmN0aW9uKGEpe2E9YS5tYXAoTGlhKTtyZXR1cm4gXy5JZihhKS50aGVuKEtpYSl9OwpMaWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29tcGxldGU/Xy5LeSgibG9hZCIpOm5ldyBfLkJmKGI9PntmdW5jdGlvbiBjKGQpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsYyk7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsYyk7YihkLnR5cGUpfWEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYyk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsYyl9KX07TFA9ZnVuY3Rpb24oYSl7S1B8fE1pYShbYV0pLnRoZW4oKCk9PntpZighS1Ape3ZhciBiPSgwLF8uZWwpKCk7Xy5BcSgiZnRsIixiLHZvaWQgMCk7S1A9ITB9fSl9O18uTVA9bmV3IF8uSSgic3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWwiKTtfLk5QPV8uTCgoKT0+e3ZhciBhPV8udygiUExBWUVSX1ZBUlMiKSxiPWEudXNlcl9kaXNwbGF5X25hbWUsYz1hLnVzZXJfZGlzcGxheV9pbWFnZSxkPWEudXNlcl9kaXNwbGF5X2NoYW5uZWxfaGFuZGxlLGU9ZCYmXy5JUChkKSxmPSgpPT5fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKGIpLGxlYWRpbmdBY2Nlc3Nvcnk6e2F2YXRhclZpZXdNb2RlbDp7aW1hZ2U6e3NvdXJjZXM6W3t1cmw6Y31dfX19LHN1YnRpdGxlOmV9fSxfLlpDKTtyZXR1cm4gXy5LKCJhY2NvdW50LWluZm8tbWVudS1pdGVtIix7Y2xhc3M6ImFjY291bnRJbmZvSG9zdCJ9LF8uSyhfLkNELHtkYXRhOmYsSWE6ITAsb25UYXA6KCk9PntkJiZfLkFKKF8ud04oYEAke2R9YCksZigpLCExKX19KSl9LCJ6YiIpO18uTlAuaWRvbUNvbXBhdD0hMDt2YXIge01nOk5pYX09Xy56RyhhPT5hLnRhcmdldD8udmlkZW9JZCk7dmFyIE9QPV8uTChhPT57dmFyIHtkYXRhOmIsYnV0dG9uT3ZlcnJpZGVzOmN9PV8uREMoYSx7YnV0dG9uT3ZlcnJpZGVzOnt9fSksW2QsZV09TmlhKGIpLGY9KCk9PkhQKGQoKSwhMCwiU0hPUlRTX0xJS0UiKSxoPSgpPT5IUChkKCksITEsIlNIT1JUU19ESVNMSUtFIiksaz0obCxtKT0+e20uc3RvcFByb3BhZ2F0aW9uKCk7Zm9yKGxldCBuIG9mIGwpKGw9Xy5CKG4sXy5kTykpJiZkJiZlKHsuLi5kKCksbGlrZVN0YXR1czpsLnN0YXR1c30pfTtyZXR1cm4gXy5LKCJ5dG0tbGlrZS1idXR0b24tcmVuZGVyZXIiLG51bGwsXy5LKF8uTyx7QTooKT0+ZCgpLmxpa2VTdGF0dXMmJiEhZigpJiYhIWgoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLnFPLHtkYXRhOmYsYnV0dG9uT3ZlcnJpZGVzOigpPT4oe3R5cGU6ZCgpLmxpa2VTdGF0dXM9PT0iTElLRSI/ImZpbGxlZCI6InRvbmFsIiwuLi5jKCl9KSxSazprfSksXy5LKF8uTyx7QTooKT0+IWQoKS5oaWRlRGlzbGlrZUJ1dHRvbix0aGVuOigpPT4KXy5LKF8ucU8se2RhdGE6aCxidXR0b25PdmVycmlkZXM6KCk9Pih7dHlwZTpkKCkubGlrZVN0YXR1cz09PSJESVNMSUtFIj8iZmlsbGVkIjoidG9uYWwiLC4uLmMoKX0pLFJrOmt9KX0pKX0pKX0sIkFiIik7T1AuaWRvbUNvbXBhdD0hMDt2YXIgUFA9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXRtLW1lbnUtbmF2aWdhdGlvbi1pdGVtLXJlbmRlcmVyIixudWxsLF8uSyhfLndPLHtvbmNsaWNrOmI9Pnt2YXIgYz1hKCk7Xy54TigpJiZfLnpOKCk7Xy5BSihjLm5hdmlnYXRpb25FbmRwb2ludCxjLCExKTtfLkIoYy5uYXZpZ2F0aW9uRW5kcG9pbnQ/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8uaWdub3JlTmF2aWdhdGlvbnx8Yi5zdG9wUHJvcGFnYXRpb24oKX0scm9sZTooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCYmXy5CKGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsXy5WRCk/ImxpbmsiOnZvaWQgMH0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGV4dH0pKSksIkJiIik7UFAuaWRvbUNvbXBhdD0hMDt2YXIgUVA9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLm1HKCk7cmV0dXJuIF8uSygieXRtLW1lbnUtc2VydmljZS1pdGVtLXJlbmRlcmVyIixudWxsLF8uSyhfLndPLHtvbmNsaWNrOigpPT57dmFyIGM9YSgpLGQ9Yy5zZXJ2aWNlRW5kcG9pbnQsZT1jLmNvbW1hbmQ7ZCYmXy5BSihkLGMsITAse0JkOmJ9KTtlJiZfLkFKKGUsYywhMCx7QmQ6Yn0pfX0sXy5LKF8uTyx7QTooKT0+YSgpLmljb24/Lmljb25UeXBlLHRoZW46KCk9Pl8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGV9KX0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGV4dCxtYTohMH0pKSl9LCJDYiIpO1FQLmlkb21Db21wYXQ9ITA7dmFyIFJQPV8uTCgoe2RhdGE6YSxCZDpifSk9Pnt2YXIgYz1fLkRJKElpYSwoKT0+YSgpPy50b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHlLZXl8fCIiKSxkPSgpPT5hKCk/LnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleT8hIWMoKT8udmFsdWU6YSgpPy5pc1RvZ2dsZWQsZT0oKT0+YygpP3tydW5zOlt7dGV4dDpjKCk/LnZhbHVlfHwiIn1dfTphKCk/LnRvZ2dsZWRTZWNvbmRhcnlUZXh0O3JldHVybiBfLksoInl0bS10b2dnbGUtbWVudS1zZXJ2aWNlLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6KCk9Pnt2YXIgZj1hKCksaD1iPy4oKSxrPWYuaXNUb2dnbGVkP2YudG9nZ2xlZFNlcnZpY2VFbmRwb2ludDpmLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQ7ayYmKF8uQUooayxmLCEwLHtCZDpofSksZi50b2dnbGVNZW51U2VydmljZUl0ZW1FbnRpdHlLZXl8fChmLmlzVG9nZ2xlZD0hZi5pc1RvZ2dsZWQpKX19LF8uSyhfLk1ELHtpY29uOigpPT5kKCk/YSgpLnRvZ2dsZWRJY29uPy5pY29uVHlwZT8udG9TdHJpbmcoKToKYSgpLmRlZmF1bHRJY29uPy5pY29uVHlwZT8udG9TdHJpbmcoKSxhY3RpdmU6ZH0pLF8uSyhfLklKLHtkYXRhOigpPT5kKCk/YSgpLnRvZ2dsZWRUZXh0OmEoKS5kZWZhdWx0VGV4dH0pLF8uSyhfLk8se0E6KCk9PmEoKS5kZWZhdWx0U2Vjb25kYXJ5VGV4dHx8ZSgpLHRoZW46KCk9Pl8uSyhfLklKLHtkYXRhOigpPT5kKCk/ZSgpOmEoKS5kZWZhdWx0U2Vjb25kYXJ5VGV4dH0pfSkpKX0sIkRiIik7UlAuaWRvbUNvbXBhdD0hMDt2YXIgT2lhOwpfLlNQPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixUZDpjLEVoOmQsRmg6ZSxkZjpmLEhhOmgsdW46ayxzdG9wUHJvcGFnYXRpb246bCxwcmV2ZW50RGVmYXVsdDptLGxiOm4sYnV0dG9uT3ZlcnJpZGVzOnB9KT0+Xy5LKCJ5dG0tbWVudS1yZW5kZXJlciIse2NsYXNzOmJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50b3BMZXZlbEJ1dHRvbnN9LHtidXR0b25SZW5kZXJlcjpfLnBPLG1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOl8ucU8sdG9nZ2xlTWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UlAsbGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ucEwse2RhdGE6cixJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmZKLHtkYXRhOnJ9KSxtZW51TmF2aWdhdGlvbkl0ZW1SZW5kZXJlcjpQUCxsaWtlQnV0dG9uUmVuZGVyZXI6T1B9KSxfLksoT2lhLHtkYXRhOmEsVGQ6YyxFaDpkLEZoOmUsZGY6ZiwKSGE6aCx1bjprLHN0b3BQcm9wYWdhdGlvbjpsLHByZXZlbnREZWZhdWx0Om0sbGI6bixidXR0b25PdmVycmlkZXM6cH0se21lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLHRvZ2dsZU1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlJQLGxpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLnBMLHtkYXRhOnIsSWE6ITB9KSxzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5mSix7ZGF0YTpyfSksbGlrZUJ1dHRvblJlbmRlcmVyOk9QLGJ1dHRvblJlbmRlcmVyOl8ucE8sYWNjb3VudEluZm9NZW51SXRlbTpfLk5QfSkpLCJFYiIpO18uU1AuaWRvbUNvbXBhdD0hMDsKT2lhPV8uTCgoe2RhdGE6YSxjaGlsZHJlbjpiLC4uLmN9KT0+Xy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+KCFhKCkuaXRlbXN8fCFhKCkuaXRlbXMubGVuZ3RoKSYmIShhKCkuaXNEaXNhYmxlZCYmYSgpLmRpc2FibGVkQ29tbWFuZCl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+Yy51bj8uKCl9LCgpPT5fLksoXy5NaGEse2ljb25UeXBlOigpPT5jLkVoPy4oKT8/Ik1PUkVfVkVSVCIsbGFiZWw6KCk9Pl8uV0woXy5ESihhKCkuYWNjZXNzaWJpbGl0eSk/PyIiKSxhcmlhTGFiZWw6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHkpfHwiIixjYW5jZWxCdXR0b25MYWJlbDpfLiROLkNBTkNFTCxUZDooKT0+Yy5UZD8uKCksZGY6KCk9PmMuZGY/LigpLEhhOigpPT5jLkhhPy4oKSxzdG9wUHJvcGFnYXRpb246KCk9PmMuc3RvcFByb3BhZ2F0aW9uPy4oKSxwcmV2ZW50RGVmYXVsdDooKT0+Yy5wcmV2ZW50RGVmYXVsdD8uKCksYnV0dG9uT3ZlcnJpZGVzOigpPT5jLmJ1dHRvbk92ZXJyaWRlcz8uKCksCmlzRGlzYWJsZWQ6KCk9PmEoKS5pc0Rpc2FibGVkLGRpc2FibGVkQ29tbWFuZDooKT0+YSgpLmRpc2FibGVkQ29tbWFuZH0sKCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5pdGVtc30sYikpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy56Tyx7aWNvblR5cGU6KCk9PmMuRWg/LigpPz8iTU9SRV9WRVJUIixsYWJlbDooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eSl8fCIiLGNhbmNlbEJ1dHRvbkxhYmVsOl8uJE4uQ0FOQ0VMLFRkOigpPT5jLlRkPy4oKSxGaDooKT0+Yy5GaD8uKCksZGY6KCk9PmMuZGY/LigpLEhhOigpPT5jLkhhPy4oKSxzdG9wUHJvcGFnYXRpb246KCk9PmMuc3RvcFByb3BhZ2F0aW9uPy4oKSxwcmV2ZW50RGVmYXVsdDooKT0+Yy5wcmV2ZW50RGVmYXVsdD8uKCksbGI6KCk9PmMubGI/LigpLGJ1dHRvbk92ZXJyaWRlczooKT0+Yy5idXR0b25PdmVycmlkZXM/LigpLGlzRGlzYWJsZWQ6KCk9PmEoKS5pc0Rpc2FibGVkLGRpc2FibGVkQ29tbWFuZDooKT0+YSgpLmRpc2FibGVkQ29tbWFuZH0sCigpPT5fLksoXy5XLHtkYXRhOigpPT5hKCkuaXRlbXN9LGIpKSkpLCJGYiIpO18uVFA9Xy5MKGE9Pl8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLml0ZW1zPy5sZW5ndGh8fGEuZGF0YSgpLmlzRGlzYWJsZWQmJmEuZGF0YSgpLmRpc2FibGVkQ29tbWFuZCx0aGVuOigpPT5fLksoUGlhLHsuLi5hfSl9KSwiR2IiKTtfLlRQLmlkb21Db21wYXQ9ITA7CnZhciBQaWE9Xy5MKGE9Pnt2YXIge2RhdGE6YixjbGFzc05hbWU6YyxFaDpkLHNob3dJY29uOmUsYnV0dG9uU2l6ZTpmLGJ1dHRvbk92ZXJyaWRlczpofT1fLkRDKGEse3Nob3dJY29uOiExLGJ1dHRvbk92ZXJyaWRlczp7fSxidXR0b25TaXplOiJMIixFaDoiTU9SRV9WRVJUIn0pLGs9Xy5adDtyZXR1cm4gXy5LKCJ5dG0tYm90dG9tLXNoZWV0LXJlbmRlcmVyIix7Y2xhc3M6Y30sXy5LKF8uSksse2RhdGE6KCk9Pnt2YXIgbD17R2I6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1zaGVldC1tZWRpYS1tZW51LWl0ZW0ifSxfLksoXy5XLHtkYXRhOigpPT5iKCkuaXRlbXN9LHttZW51U2VydmljZUl0ZW1SZW5kZXJlcjpRUCxtZW51TmF2aWdhdGlvbkl0ZW1SZW5kZXJlcjpQUCx0b2dnbGVNZW51U2VydmljZUl0ZW1SZW5kZXJlcjpSUCxsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoXy5wTCx7ZGF0YTptLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOm19KT0+Cl8uSyhfLmZKLHtkYXRhOm19KSxsaWtlQnV0dG9uUmVuZGVyZXI6T1AsYnV0dG9uUmVuZGVyZXI6Xy5wTyxhY2NvdW50SW5mb01lbnVJdGVtOl8uTlB9KSksSGE6ZSgpLGlzRGlzYWJsZWQ6YigpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOmIoKS5kaXNhYmxlZENvbW1hbmR9O3JldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZTpmKCksaWNvblBvc2l0aW9uOiJpY29uLW9ubHkiLGFjY2Vzc2liaWxpdHlMYWJlbDpfLkRKKGIoKT8uYWNjZXNzaWJpbGl0eSl8fCIiLG9uVGFwOm09Pnt2YXIgbj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7Xy54SihfLmh4KCkse2RhdGE6YigpfSksbC5mb2N1c09uQ2xvc2U9bS5jdXJyZW50VGFyZ2V0LF8uV00oKSYmbS5zdG9wUHJvcGFnYXRpb24oKSxfLlZ6KG4sXy52TShrKSksXy55TihsKX1jYXRjaChwKXtuLmVycm9yPXAsbi5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3oobil9fSwKLi4uaCgpfX0saWNvbk5hbWU6KCk9PmQoKX0pKX0sIkhiIik7dmFyIEppYT1fLnUuZGV2aWNlUGl4ZWxSYXRpb3x8Mjt2YXIgS1A9ITE7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIiwoKT0+e0tQPSExfSk7Cl8uVVA9Xy5MKGE9Pnt2YXIge3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6YyxhbHQ6ZCxhcmlhTGFiZWw6ZSxNZDpmLFRiOmgsaGM6ayxhcmlhSGlkZGVuOmwsWWE6bSxUYTpufT1fLkRDKGEse1RiOiEwLHRodW1ibmFpbERldGFpbHM6dm9pZCAwLGNsYXNzTmFtZTp2b2lkIDAsYWx0OnZvaWQgMCxhcmlhTGFiZWw6dm9pZCAwLE1kOnZvaWQgMCxoYzp2b2lkIDAsYXJpYUhpZGRlbjp2b2lkIDAsWWE6dm9pZCAwLFRhOnZvaWQgMH0pLHA9Xy52RSgiaW1nIiksW3IsdF09Xy5BQyhiKTtfLlVKKCgpPT57dmFyIHY9ey4uLmIoKX07dCh2KX0pO18ubkUoKCk9PntpZihwLnZhbHVlKXtsZXQgdj1wLnZhbHVlO0xQKHYpO2xldCB6PWIoKTt6JiYodi5zcmM9Xy5KUCh6LHYsZigpKSl9fSwibjdrYzRjIik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmIoKSYmKGQoKXx8ZSgpfHxjKCl8fGsoKXx8bCgpKSx0aGVuOigpPT5fLksoXy5qRix7ZGF0YTooKT0+cigpLGNsYXNzTmFtZTpjLGFsdDooKT0+CmQoKXx8ZSgpfHwiIixjb250ZW50TW9kZToiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSUxMIixoYzprLGFyaWFIaWRkZW46bCxjYWxsYmFjazpMUCxUYjpoLFlhOm0sVGE6bn0pLFc6KCk9Pl8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoXy5oRix7ZGF0YTpiLGNvbmZpZzooKT0+KHtjbGFzc05hbWU6YygpLGFsdDpkKCl8fGUoKXx8IiIsaGM6aygpLGFyaWFIaWRkZW46bCgpLFlhOm0oKSxUYTpuKCl9KSxHbDp7U2c6KHYseik9PntMUCh6KTtyZXR1cm4gdj9fLkpQKHYseixmKCkpOiIifX0sbGF6eTohMH0pLFc6KCk9Pl8uSygiaW1nIix7ZWw6cCxhbHQ6ZCwiYXJpYS1sYWJlbCI6ZSxjbGFzczpjLCJkYXRhLWRpc2FibGVkIjprLCJhcmlhLWhpZGRlbiI6bH0pfSl9KX0sIktiIik7Xy5VUC5pZG9tQ29tcGF0PSEwO18uVlA9Xy5MKGE9Pl8uSygieXRtLXRodW1ibmFpbC1vdmVybGF5LXRpbWUtc3RhdHVzLXJlbmRlcmVyIix7Y2xhc3M6YS5jbGFzc05hbWUsInRodW1ibmFpbC1zaXplIjphLnRodW1ibmFpbFNpemUsImRhdGEtc3R5bGUiOigpPT5hLmRhdGE/LigpLnN0eWxlLCJhcmlhLWhpZGRlbiI6YS5hcmlhSGlkZGVuLCJkYXRhLXR5cGUiOigpPT5hLmRhdGE/LigpLnR5cGU/LnJlcGxhY2UoIlRIVU1CTkFJTF9PVkVSTEFZX1RJTUVfU1RBVFVTX1RZUEVfIiwiIil9LF8uSyhfLlRDLHtkYXRhOigpPT4oe3R5cGU6YS5kYXRhKCkuc3R5bGU9PT0iTElWRSI/MTk6MTgsdGV4dDpfLkNKKGEuZGF0YSgpLnRleHQpLGljb246YS5kYXRhKCkuaWNvbj8uaWNvblR5cGV8fGEuZGF0YSgpLnl0SWNvbixxTDphLmRhdGEoKS5zdHlsZT09PSJTSE9SVFMifSl9KSksIkxiIik7dmFyIFFpYTtfLldQPV8uTChhPT57dmFyIHtkZXRhaWxzOmIsb3ZlcmxheTpjLFRiOmQsaGo6ZSxNZDpmfT1fLkRDKGEse2RldGFpbHM6dm9pZCAwLFRiOiEwLGhqOiExfSksaD1fLlAoInZpZGVvLXRodW1ibmFpbC1pbWciLHsiY3VzdG9tLXRodW1ibmFpbCI6ZX0pO3JldHVybiBfLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ2aWRlby10aHVtYm5haWwtaW1nIiwidmlkZW8tdGh1bWJuYWlsLWJnIil9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKFFpYSx7ZGV0YWlsczpiLGNsYXNzTmFtZTpoLFRiOmQsTWQ6Zn0pfSksXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6aCxUYjpkLE1kOmYsYWx0OiIifSksXy5LKCJkaXYiLHtjbGFzczoidmlkZW8tcHJldmlldy1zaGltIn0pLGM/LigpKX0sIk1iIik7ClFpYT1fLkwoKHtkZXRhaWxzOmEsY2xhc3NOYW1lOmIsVGI6YyxNZDpkfSk9Pl8uSygiZGl2Iix7Y2xhc3M6ImN1c3RvbS10aHVtYm5haWwtYmFja2dyb3VuZC1jb250YWluZXIiLHN0eWxlOigpPT57aWYoYT8uKCkuc2FtcGxlZFRodW1ibmFpbENvbG9yKXt2YXIge3JlZDplLGdyZWVuOmYsYmx1ZTpofT1hKCkuc2FtcGxlZFRodW1ibmFpbENvbG9yO3JldHVybmBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR7ZX0sJHtmfSwke2h9LDEpO2B9fX0sXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YSxjbGFzc05hbWU6YixhbHQ6IiIsTWQ6ZCxUYjpjfSkpLCJOYiIpO18uWFA9Xy5MKGE9Pnt2YXIge3RodW1ibmFpbERldGFpbHM6YixvdmVybGF5OmMsTWQ6ZCxjbGFzc05hbWU6ZSxUYjpmLGhqOmgsaG06a309Xy5EQyhhLHtUYjohMCxoajohMSx0aHVtYm5haWxEZXRhaWxzOnZvaWQgMH0pO3JldHVybiBfLksoInl0bS1jb21wYWN0LXRodW1ibmFpbCIse2NsYXNzOl8uUCgidmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0IiwidmlkZW8tdGh1bWJuYWlsLWNvbnRhaW5lci1jb21wYWN0LXJvdW5kZWQiLGUseyJvcmlnaW5hbC1hc3BlY3QtcmF0aW8iOigpPT5iKCk/LmlzT3JpZ2luYWxBc3BlY3RSYXRpbyxzdGFja2VkOmt9KX0sXy5LKF8uV1Ase2RldGFpbHM6YixvdmVybGF5OmMsTWQ6ZCxUYjpmLGhqOmh9KSl9LCJPYiIpO18uWFAuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvdmVybGF5OiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWlA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLlRqfTtfLiRQPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy54an07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJwZXZ0dmMiKTtyZXR1cm4gXy5yRH07Xy5jUT1fLmNEKCgpPT5fLmJRKCksImRpc2xpa2VCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiZGlzbGlrZUJ1dHRvblZpZXdNb2RlbCIsInBldnR2YyIsXy5iUSl9KTtfLmRRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiaXpqbVAiKTtyZXR1cm4gXy5xRH07Xy5lUT1fLmNEKCgpPT5fLmRRKCksImxpa2VCdXR0b25WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlrZUJ1dHRvblZpZXdNb2RlbCIsIml6am1QIixfLmRRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmZRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiQVQ4TFRlIik7cmV0dXJuIF8ucER9O18uZ1E9Xy5jRCgoKT0+Xy5mUSgpLCJvdmVybGF5UHJvZHVjdFN0aWNrZXIiKTtfLll0KF8uSkQsYT0+e2EuSigib3ZlcmxheVByb2R1Y3RTdGlja2VyIiwiQVQ4TFRlIixfLmZRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgU2lhO18uaFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJYZVJYQmQiKTtyZXR1cm4gXy5jRn07U2lhPV8uY0QoKCk9Pl8uaFEoKSwicmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWwiLCJYZVJYQmQiLF8uaFEpfSk7Xy5pUT1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmJ9KT0+e3ZhciBjPV8udUUoInBpdm90LWJ1dHRvbi12aWV3LW1vZGVsIik7Xy5VSigoKT0+e2EoKT8uYmFja2dyb3VuZENvbG9yJiZjLnZhbHVlLnNldEF0dHJpYnV0ZSgiZGF0YS1iYWNrZ3JvdW5kLWNvbG9yIixTdHJpbmcoYSgpLmJhY2tncm91bmRDb2xvcikpfSk7cmV0dXJuIF8uSygicGl2b3QtYnV0dG9uLXZpZXctbW9kZWwiLHtlbDpjLGNsYXNzOl8uUCgieXR3UGl2b3RCdXR0b25WaWV3TW9kZWxIb3N0IixiKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9Pnt2YXIgZD1hKCk7ZD1kLm9uQ2xpY2tDb21tYW5kP18uUkQoZC5vbkNsaWNrQ29tbWFuZCk6ZC5jb250ZW50RGVzY3JpcHRpb24/Xy5hUShfLldMKGQuY29udGVudERlc2NyaXB0aW9uKSk6dm9pZCAwO3JldHVybiBkfSxhcmlhTGFiZWw6KCk9PmEoKS5jb250ZW50RGVzY3JpcHRpb259LF8uSyhfLk8se0E6KCk9PmEoKS50aHVtYm5haWwsdGhlbjpkPT5fLksoXy5qRix7ZGF0YTpkLAphbHQ6IiIsY2xhc3NOYW1lOiJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJbWFnZSJ9KSxXOigpPT5fLksoXy5PLHtBOigpPT5hKCkuaWNvbix0aGVuOmQ9Pl8uSyhfLk1ELHtpY29uOigpPT5kKCkuaWNvblR5cGUsY2xhc3NOYW1lOiJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3RJY29uIn0pfSl9KSkpfSwiU2IiKTtfLmpRPV8uTCgoe2RhdGE6YSxBZjpifSk9Pnt2YXIgYz0oKT0+Inl0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlQWN0aW9uQnV0dG9uIjtyZXR1cm4gXy5LKCJyZWVsLWFjdGlvbi1iYXItdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3QiLHt5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdE1vYmlsZTooKT0+ITAseXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3REZXNrdG9wOigpPT4hMX0pfSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uVmlld01vZGVsc30se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5VRix7Y2xhc3NOYW1lOmMsZGF0YTpkLGJ1dHRvbk92ZXJyaWRlczpifSksbGlrZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5lUSx7Y2xhc3NOYW1lOmMsZGF0YTpkLEFmOmJ9KSxkaXNsaWtlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLmNRLHtjbGFzc05hbWU6YywKZGF0YTpkLEFmOmJ9KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uWkYse2NsYXNzTmFtZTpjLGRhdGE6ZCx3aTpifSkscGl2b3RCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uaVEse2NsYXNzTmFtZTpjLGRhdGE6ZH0pfSkpfSwiVGIiKTt2YXIgVGlhO18ua1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJzNjQ5aiIpO3JldHVybiBfLm1IfTtUaWE9Xy5jRCgoKT0+Xy5rUSgpLCJwbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInBsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWwiLCJzNjQ5aiIsXy5rUSl9KTt2YXIgVWlhO18ubFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ1U3hkbmIiKTtyZXR1cm4gXy5mSH07VWlhPV8uY0QoKCk9Pl8ubFEoKSwicmVlbENhcm91c2VsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInJlZWxDYXJvdXNlbFZpZXdNb2RlbCIsInVTeGRuYiIsXy5sUSl9KTt2YXIgVmlhO18ubVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJXZmY2QmQiKTtyZXR1cm4gXy5lSH07VmlhPV8uY0QoKCk9Pl8ubVEoKSwicmVlbENoYW5uZWxCYXJWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbENoYW5uZWxCYXJWaWV3TW9kZWwiLCJXZmY2QmQiLF8ubVEpfSk7dmFyIFdpYTtfLm5RPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiVTNtenNkIik7cmV0dXJuIF8ubEh9O1dpYT1fLmNEKCgpPT5fLm5RKCksInJlZWxNdWx0aUZvcm1hdExpbmtWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbCIsIlUzbXpzZCIsXy5uUSl9KTt2YXIgWGlhO18ub1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ5UDBKQmQiKTtyZXR1cm4gXy5iRn07WGlhPV8uY0QoKCk9Pl8ub1EoKSwic2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigic2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWwiLCJ5UDBKQmQiLF8ub1EpfSk7dmFyIFlpYTtfLnBRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiUnFhSnNkIik7cmV0dXJuIF8uWEp9O1lpYT1fLmNEKCgpPT5fLnBRKCksInNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWwiLCJScWFKc2QiLF8ucFEpfSk7dmFyIFppYTtfLnFRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiRTNIZWJjIik7cmV0dXJuIF8uYUZ9O1ppYT1fLmNEKCgpPT5fLnFRKCksInNob3J0c1ZpZGVvVGl0bGVWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigic2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbCIsIkUzSGViYyIsXy5xUSl9KTtfLnJRPV8uTCgoe2RhdGE6YX0pPT5fLksoInl0LXJlZWwtbWV0YXBhbmVsLXZpZXctbW9kZWwiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsSG9zdCJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZXRhZGF0YUl0ZW1zfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhfLmFHLHtkYXRhOmJ9KSkscGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFRpYSx7ZGF0YTpifSkpLHByb2R1Y3RTdGlja2VyVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoXy5nUSx7ZGF0YTooKT0+YigpLnN0aWNrZXJ9KSkscmVlbENhcm91c2VsVmlld01vZGVsOih7ZGF0YTpifSk9PgpfLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFVpYSx7ZGF0YTpifSkpLHJlZWxDaGFubmVsQmFyVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVmlhLHtkYXRhOmJ9KSkscmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFdpYSx7ZGF0YTpifSkpLHJlZWxTb3VuZE1ldGFkYXRhVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoU2lhLHtkYXRhOmJ9KSksc2hvcnRzRGlzY2xvc3VyZXNWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LApfLksoWGlhLHtkYXRhOmJ9KSksc2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoWWlhLHtkYXRhOmJ9KSksc2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKFppYSx7ZGF0YTpifSkpLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKF8uWkYse2RhdGE6Yn0pKX0pKSwiVWIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5zUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImZLRThxZCIpO3JldHVybiBfLm9EfTtfLiRpYT1fLmNEKCgpPT5fLnNRKCksImRpYWxvZ1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkaWFsb2dWaWV3TW9kZWwiLCJmS0U4cWQiLF8uc1EpfSk7Xy50UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlJaZWtKIik7cmV0dXJuIF8uU0N9O18uYWphPV8uY0QoKCk9Pl8udFEoKSwic21hcnRpbWF0aW9ucyIpO18uWXQoXy5KRCxhPT57YS5KKCJzbWFydGltYXRpb25zIiwiUlpla0oiLF8udFEpfSk7Xy51UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInNET1RHZSIpO3JldHVybiBfLm5EfTtfLmJqYT1fLmNEKCgpPT5fLnVRKCksInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIiwic0RPVEdlIixfLnVRKX0pO18udlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJlY3VQQWMiKTtyZXR1cm4gXy5tRH07Xy5jamE9Xy5jRCgoKT0+Xy52USgpLCJwbGF5ZXJPdmVybGF5SW50ZXJhY3Rpb24iKTtfLll0KF8uSkQsYT0+e2EuSigicGxheWVyT3ZlcmxheUludGVyYWN0aW9uIiwiZWN1UEFjIixfLnZRKX0pO18ud1E9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGUWRJSmUiKTtyZXR1cm4gXy5sRH07Xy5kamE9Xy5jRCgoKT0+Xy53USgpLCJzdGlja2Vyc0xheWVyIik7Xy5ZdChfLkpELGE9PnthLkooInN0aWNrZXJzTGF5ZXIiLCJGUWRJSmUiLF8ud1EpfSk7Xy54UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm43ZW8yIik7cmV0dXJuIF8ua0R9O18uZWphPV8uY0QoKCk9Pl8ueFEoKSwiaW50ZXJzdGl0aWFsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImludGVyc3RpdGlhbFZpZXdNb2RlbCIsIm43ZW8yIixfLnhRKX0pO18ueVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJOdWlsdWUiKTtyZXR1cm4gXy5qRH07Xy5mamE9Xy5jRCgoKT0+Xy55USgpLCJ2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIiKTtfLll0KF8uSkQsYT0+e2EuSigidmlkZW9XaXRoQ29udGV4dFJlbmRlcmVyIiwiTnVpbHVlIixfLnlRKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFRPV8uTCgoe09vOmEsUnA6YixjaGlsZHJlbjpjLFBuOmQsZGlzYWJsZUFuaW1hdGlvbjplfSk9Pnt2YXIgZj0oKT0+IWU/LigpO3JldHVybiBfLksoInl0LWFuaW1hdGVkLWFjdGlvbiIse2NsYXNzOl8uUCgieXRBbmltYXRlZEFjdGlvbkhvc3QiLGQpfSxfLksoImRpdiIse2NsYXNzOiJ5dEFuaW1hdGVkQWN0aW9uQ29udGVudFdpdGhCYWNrZ3JvdW5kIn0sXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSyh6USx7UG46Inl0QW5pbWF0ZWRBY3Rpb25CYWNrZ3JvdW5kQ29udGFpbmVyIix5eToieXRBbmltYXRlZEFjdGlvbkJhY2tncm91bmQiLEVjOigpPT4oe2FuaW1hdGlvblJlZjphPy4oKSxhbmltYXRpb25Db25maWc6e25hbWU6ImFuaW1hdGVkLWFjdGlvbnMtYmFja2dyb3VuZCIsYXV0b3BsYXk6ITEsbG9vcDohMSxwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX2NvbnRhaW5lcl8ke18ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpPz8KITE/ImRhcmsiOiJsaWdodCJ9X3Y1Lmpzb25gfX0pfSl9KSxjKSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKHpRLHtFYzooKT0+KHthbmltYXRpb25SZWY6Yj8uKCksYW5pbWF0aW9uQ29uZmlnOntuYW1lOiJhbmltYXRlZC1hY3Rpb25zLWZvcmVncm91bmQiLGF1dG9wbGF5OiExLGxvb3A6ITEscGF0aDpgaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvbG90dGllL3N1YnNjcmliZV9hY3Rpb24vc3Vic2NyaWJlX2FjdGlvbl9zcGFya2xlc18ke18ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpPz8hMT8iZGFyayI6ImxpZ2h0In1fdjQuanNvbmB9fSl9KX0pKX0sIlZiIik7Xy5BUS5pZG9tQ29tcGF0PSEwOwp2YXIgelE9Xy5MKCh7UG46YSx5eTpiLEVjOmN9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0QW5pbWF0ZWRBY3Rpb25Mb3R0aWUiLGEpLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5jTSx7Y2xhc3NOYW1lOmIsZGF0YTpjLGFuaW1hdGlvbk5hbWU6KCk9PmMoKS5hbmltYXRpb25Db25maWcubmFtZX0pKSwiV2IiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5CUT1mdW5jdGlvbigpe3JldHVybntsb3R0aWVFbDp2b2lkIDB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5DUT1mdW5jdGlvbihhLGIpe18ubkUoKCk9Pnt2YXIgYz1hKCk7Xy5FQSgoKT0+dm9pZCBiKGMpKX0sImNLUjlzZiIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGdqYSxEUSxFUSxGUSxoamEsaWphLGpqYSxHUSxIUSxramEsSVEsbGphLEpRLEtRLExRLE1RLE5RLE9RLG1qYSxQUSxRUSxSUSxuamEsU1Esb2phLFRRLFVRLHBqYSxWUSxXUSxYUSxaUSxxamEscmphLCRRLGFSLHNqYSx0amEsdWphLGJSLGNSLHZqYSx3amEseGphLGhSLGZSLG1SLG5SLG9SLHBSLGdSLHRSLHVSLGtSLHZSLGxSLHpqYSxBamEselIsQVIsQlIsRWphLERSLEhSLEZqYSxHamEsSGphLElqYSxJUixKUixKamEsTFIsTGphLE1qYSxNUixRamEsUGphLFJqYSxPamEsTlIsTmphLFBSLE9SLFVqYSxXamEsUlIsWGphLFNSLGRTLGVTLGZTLGdTLGRrYSxpa2EsaVMsa2thLGpTLGtTLG9rYSxwUyxxa2EscmthLHFTLHNrYSx0a2EsclMsc1MsdFMsdVMsd1MseFMsdlMseVMselMsQVMsQlMsRVMsRlMsQ1MsR1MsemthLEpTLEhTLENrYSxMUyxNUyxOUyxQUyxJUyxGa2EsU1MsR2thLFVTLFdTLFhTLEhrYSxZUyxaUywkUyxjVCxiVCxJa2EsZFQsSmthLEtrYSxMa2EsTWthLGdULApmVCxoVCxrVCxsVCxOa2EsbVQsalQsaVQsblQsb1QscFQsT2thLHJULFBrYSxRa2EsdFQsUmthLHZULFNrYSxUa2Esc1QsVWthLFZrYSxXa2EsWGthLFlrYSx4VCx1VCxxVCx3VCx5VCx6VCxBVCxCVCxDVCxEVCwka2EsRVQsSFQsSVQsRlQsY2xhLGJsYSxKVCxLVCxPVCxQVCxlbGEsUVQsVFQsUlQsZmxhLGhsYSxnbGEsaWxhLFdULFhULGpsYSxaVCxrbGEsYVUsYlUsY1UsbGxhLGhVLG5sYSxvbGEsaVUsalUsbFUsbVUsblUsb1UscFUscGxhLHFVLHFsYSxyVSxybGEsc1UsdVUsc2xhLHVsYSx3VSxJVSx4VSxLVSxKVSx2bGEsd2xhLHhsYSx6bGEsTFUseWxhLE9VLE1VLEJsYSxDbGEsRGxhLFBVLEVsYSxGbGEsR2xhLEhsYSxJbGEsSmxhLEtsYSxMbGEsTWxhLE5sYSxRVSxSVSxTVSxVVSxQbGEsWFUsWVUsUWxhLFJsYSxaVSxTbGEsJFUsVWxhLGFWLFRsYTtnamE9ZnVuY3Rpb24oKXtyZXR1cm4hIV8uWk8oKX07CkRRPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoYSxiKSxjKX07RVE9ZnVuY3Rpb24oYSxiKXtpZighYilyZXR1cm4gbnVsbDt2YXIgYz1iP1N0cmluZyhiKS50b1VwcGVyQ2FzZSgpOm51bGw7cmV0dXJuIF8uZ3coYSxmdW5jdGlvbihkKXtyZXR1cm4oIWN8fGQubm9kZU5hbWU9PWMpJiYhMH0sITApfTtGUT1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLmxlZnQ9YTt0aGlzLnRvcD1iO3RoaXMud2lkdGg9Yzt0aGlzLmhlaWdodD1kfTtoamE9ZnVuY3Rpb24oYSxiKXtiP18uU3QoYSwieXRQbGF5ZXJDb250cm9sc0NvbnRhaW5lclJlbmRlcmVkIik6Xy5UdChhLCJ5dFBsYXllckNvbnRyb2xzQ29udGFpbmVyUmVuZGVyZWQiKX07CmlqYT1mdW5jdGlvbigpe18uVmkoKCk9PntpZighXy5CcSgiZnRsIikpe3ZhciBhPV8ucG8oKTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntzZXRUaW1lb3V0KCgpPT57YSE9PV8ucG8oKXx8Xy5CcSgiZnRsIil8fF8uQXEoImZ0bCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9fSkoKX07amphPWZ1bmN0aW9uKCl7aWYoXy5YeigpKXt2YXIgYT1fLkdoKCJwZnAtbWF3LXBsYXllciIpO2lmKGEpcmV0dXJuIG5ldyBfLndNKGEpfX07R1E9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2woKDAsXy5TYWEpKCksYSl9OwpIUT1mdW5jdGlvbigpe2lmKF8ueCgiZW5hYmxlX2F1dG9tb3RpdmVfZm9ybV9mYWN0b3JfY2hlY2siKSlyZXR1cm4gXy53KCJJTk5FUlRVQkVfQ09OVEVYVCIse30pLmNsaWVudD8uY2xpZW50Rm9ybUZhY3Rvcj09PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIjt2YXIgYT1fLncoIklOTkVSVFVCRV9DT05URVhUIix7fSk7cmV0dXJuIGEuY2xpZW50Py5vc05hbWUmJmEuY2xpZW50Lm9zTmFtZT09PSJBbmRyb2lkIEF1dG9tb3RpdmUifTtramE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5xQShhLmVudGl0aWVzLCJkaXNtaXNzU3RhdGUiLGIpfTtJUT1mdW5jdGlvbigpe3JldHVybiBfLlVNKCk9PT0iaGFzaHRhZyJ9O2xqYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxvZ29FbnRpdHkiLGIpfTsKSlE9ZnVuY3Rpb24oKXtyZXR1cm4gYT0+e3ZhciBiPV8uTEIoITEpO3RyeXtsZXQgYz1hLmNoaWxkcmVuO18uVUE/Yz9fLmdOKF8uSyhfLnNPLGEsYykpOl8uZ04oXy5LKF8uc08sYSkpOl8uSXAobmV3IF8uWGooImtldG9Ub0MzIGNhbGxlZCBvdXRzaWRlIG9mIGEgcGF0Y2giLHt0YWdOYW1lOl8uc08uWmN9KSl9ZmluYWxseXtfLkxCKGIpfX19OwpLUT1mdW5jdGlvbihhLGIpe2lmKGEucmVxdWVzdEZ1bGxzY3JlZW4pYT1hLnJlcXVlc3RGdWxsc2NyZWVuKGIpO2Vsc2UgaWYoYS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbilhPWEud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKGEubW96UmVxdWVzdEZ1bGxTY3JlZW4pYT1hLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihhLm1zUmVxdWVzdEZ1bGxzY3JlZW4pYT1hLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKGEud2Via2l0RW50ZXJGdWxsc2NyZWVuKWE9YS53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiSmQiKSk7cmV0dXJuIGEgaW5zdGFuY2VvZiBQcm9taXNlP2E6UHJvbWlzZS5yZXNvbHZlKCl9OwpMUT1mdW5jdGlvbigpe3JldHVybiEhXy5JTyhbImZ1bGxzY3JlZW5FbmFibGVkIiwid2Via2l0RnVsbHNjcmVlbkVuYWJsZWQiLCJtb3pGdWxsU2NyZWVuRW5hYmxlZCIsIm1zRnVsbHNjcmVlbkVuYWJsZWQiXSxkb2N1bWVudCl9O01RPWZ1bmN0aW9uKGEpe3ZhciBiO0xRKCk/Xy5aTygpPT1hJiYoYj1kb2N1bWVudCk6Yj1hO2lmKGImJihhPV8uSU8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxiKSkpe2EuY2FsbChiKWluc3RhbmNlb2YgUHJvbWlzZXx8UHJvbWlzZS5yZXNvbHZlKCk7cmV0dXJufVByb21pc2UucmVzb2x2ZSgpfTtOUT1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siKX07T1E9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9TlEoYSkpPyEhYS5kaXNwbGF5TmFtZTohMX07Cm1qYT1mdW5jdGlvbihhKXtyZXR1cm4gXy52YihhLGI9PmIubGFuZ3VhZ2VDb2RlPT09ImVuIil9O1BRPWZ1bmN0aW9uKGEpe2lmKCFhLmdldE9wdGlvbnMoImNhcHRpb25zIikpcmV0dXJuIiI7YT1fLiRPKGEpO2lmKCFhLmxlbmd0aClyZXR1cm4iIjt2YXIgYj1tamEoYSk7cmV0dXJuIGI/Yi5kaXNwbGF5TmFtZXx8IiI6YVswXS5kaXNwbGF5TmFtZXx8IiJ9OwpRUT1mdW5jdGlvbihhLGIsYyl7aWYoT1EoYSkpXy54KCJtd2ViX2VuYWJsZV9wbGF5ZXJfY2FwdGlvbnNfcGVyc2lzdGVuY2Vfc3RhdGVfbWFjaGluZSIpP2Euc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt1c2VySW5pdGlhdGVkOmN9KTphLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7fSksYS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLHt9KTtlbHNle2xldCBkPV8udmIoXy4kTyhhKSxlPT5lLmRpc3BsYXlOYW1lPT09Yik7YS5zZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2siLGQpO18ueCgibXdlYl9lbmFibGVfcGxheWVyX2NhcHRpb25zX3BlcnNpc3RlbmNlX3N0YXRlX21hY2hpbmUiKSYmYS5zZXRPcHRpb24oImNhcHRpb25zIiwic3RpY2t5TG9hZGluZyIse3VzZXJJbml0aWF0ZWQ6Y30pfX07UlE9ZnVuY3Rpb24oKXt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZ1bGxzY3JlZW5yZXF1ZXN0IikpfTsKbmphPWZ1bmN0aW9uKGEpe3ZhciBbYl09KDAsXy51aWEpKGEpLFtjXT0oMCxfLnZpYSkoYSk7cmV0dXJuW18uTigoKT0+e3ZhciBkPXsuLi5iKCl9O2Qubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmKGQubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbj17Li4uYygpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b259KTtyZXR1cm4gZH0sdm9pZCAwLCJ1dlM4N2IiKV19O1NRPWZ1bmN0aW9uKGEpe01RKGF8fGRvY3VtZW50LmJvZHkpfTsKb2phPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW8iKTthJiYoUlEoKSxLUShhKS5jYXRjaChiPT57aWYoYj8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKV8uV2koYik7ZWxzZSB0aHJvdyBiO30pKX07VFE9ZnVuY3Rpb24oYSxiKXtfLlpPKCk/KFJRKCksU1EoYikpOkxRKCk/KFJRKCksYj1LUShifHxkb2N1bWVudC5ib2R5LHtuYXZpZ2F0aW9uVUk6ImhpZGUifSksYT8uZHMmJmI/LmNhdGNoKCgpPT5udWxsKSk6b2phKCl9OwpVUT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gMDt2YXIgYj1hLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCksYz1hLmdldFZpZGVvRGF0YSgpO3JldHVybiBjJiZjLmlzTGl2ZT8oYT1hLmdldFByb2dyZXNzU3RhdGUoYiksYS5zZWVrYWJsZUVuZC1hLnNlZWthYmxlU3RhcnQpOmEuZ2V0RHVyYXRpb24oYil9O3BqYT1mdW5jdGlvbihhLGIsYyl7YXx8Xy5PRSgoKT0+e2I/LnByZXZpb3VzVmlkZW8oYyl9KX07VlE9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRQbGF5ZXJTdGF0ZSgpO2lmKGI9PT0yKXJldHVybiEwO2lmKGIhPT0zKXJldHVybiExO2E9YS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO3JldHVybiFhLmlzQnVmZmVyaW5nJiYhYS5pc1Vuc3RhcnRlZCYmIWEuaXNQbGF5aW5nJiZhLmlzUGF1c2VkfTsKV1E9ZnVuY3Rpb24oYSl7dmFyIGI9YS5nZXRQbGF5ZXJTdGF0ZSgpO2lmKGI9PT0xKXJldHVybiBhLnBhdXNlVmlkZW8oKSwiUExBWUVSX1BBVVNFIjtpZihiPT09LTEpYS5wbGF5VmlkZW8oKTtlbHNlIGlmKGI9PT0yfHxWUShhKSlyZXR1cm4gYS5wbGF5VmlkZW8oKSwiUExBWUVSX1BMQVkifTtYUT1mdW5jdGlvbihhKXthPWEmJmEuZ2V0UGxheWxpc3RJbmRleCYmYS5nZXRQbGF5bGlzdEluZGV4KCk+PTA7cmV0dXJuISFfLlpiKHdpbmRvdy5sb2NhdGlvbi5ocmVmLCJsaXN0Iil8fCEhYX07WlE9ZnVuY3Rpb24oYSl7WVE9YX07cWphPWZ1bmN0aW9uKGEpe3ZhciBiPVlRO2I/KGE9YS50aW1lU3RhbXAsYj1iLnRpbWVTdGFtcCxiPWlzTmFOKGEpfHxpc05hTihiKT8hMTpNYXRoLmFicyhhLWIpPD1fLnlpYSk6Yj0hMTtyZXR1cm4gYn07CnJqYT1mdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtpZihiKXt2YXIgYz0hYi5wYXVzZWQ7KHFqYShhKXx8YykmJnNldFRpbWVvdXQoKCk9PntiLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhdXNlIixaUSk7ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlPT09InZpc2libGUiJiZfLlZNKCl9LF8ueGlhKX19OyRRPWZ1bmN0aW9uKCl7Xy54KCJtd2ViX25ld19mdWxsc2NyZWVuIik/U1EoXy5FSik6Xy5FSiYmKE1RKF8uRUopLF8ueCgibXdlYl9uZXdfZnVsbHNjcmVlbl9yZXNpemUiKXx8Xy5YTSgicmVzaXplIikpfTsKYVI9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpO2EmJihfLmZyJiZfLngoIm13ZWJfaW9zX2Z1bGxzY3JlZW5fcGxheWJhY2tfdHJhbnNpdGlvbiIpJiYoYS5hZGRFdmVudExpc3RlbmVyKCJwYXVzZSIsWlEpLF8uTk0oYSwid2Via2l0ZW5kZnVsbHNjcmVlbiIscmphKSksXy5YTSgiZnVsbHNjcmVlbnJlcXVlc3QiKSxLUShhKS5jYXRjaChiPT57aWYoYj8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxiPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKV8uV2koYik7ZWxzZSB0aHJvdyBiO30pKX07c2phPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93LnNjcmVlbi5vcmllbnRhdGlvbjtpZihhPy5sb2NrJiYhXy5NRSgpJiYhXy5URSgpKXRyeXthLmxvY2soImxhbmRzY2FwZSIpLmNhdGNoKCgpPT57fSl9Y2F0Y2goYil7fX07CnRqYT1mdW5jdGlvbihhKXtfLlhNKCJmdWxsc2NyZWVucmVxdWVzdCIpO3ZhciBiPUtRKF8uRUose25hdmlnYXRpb25VSToiaGlkZSJ9KTthfHxzamEoKTtfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW5fcmVzaXplIil8fF8uWE0oInJlc2l6ZSIpO3JldHVybiBifTsKdWphPWZ1bmN0aW9uKGEpe2RvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIik9PT0idHJ1ZSImJmRvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIik7aWYoXy54KCJtd2ViX25ld19mdWxsc2NyZWVuIikpVFEoYSxfLkVKKTtlbHNle3ZhciBiPV8uclAoKSxjO18uZnI/Yz1hUigpOkxRKCk/Yj8kUSgpOmM9dGphKGE/LnpJKTpfLngoIm13ZWJfbmF0aXZlX2NvbnRyb2xfaW5fZmF1eF9mdWxsc2NyZWVuX3NoYXJlZCIpP2M9YVIoKTpfLlhNKCJwbGF5ZXItZnVsbHNjcmVlbi10b2dnbGVkIix7aXNDdXJyZW50bHlGdWxsc2NyZWVuOmJ9KTtjPy5jYXRjaChkPT57aWYoZD8ubWVzc2FnZT8uaW5jbHVkZXMoIkZ1bGxzY3JlZW4gaXMgbm90IHN1cHBvcnRlZCIpfHxkPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBlcnJvciIpfHxkPy5tZXNzYWdlPy5pbmNsdWRlcygiZnVsbHNjcmVlbiBlcnJvciIpKWRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCJmdWxsc2NyZWVuLXJlamVjdGVkIiwKInRydWUiKSxfLlhNKCJwbGF5ZXItZnVsbHNjcmVlbi10b2dnbGVkIix7aXNDdXJyZW50bHlGdWxsc2NyZWVuOmJ9KX0pO2E/LmRzJiZjPy5jYXRjaCgoKT0+bnVsbCl9fTtiUj1mdW5jdGlvbihhKXtyZXR1cm57bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOmEudGl0bGUsc2VsZWN0aW9uVGV4dDphLnNlbGVjdGlvblRleHQsbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTphLmljb25UeXBlfX1dfSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZCxpc1NlbGVjdGVkOmEuaXNTZWxlY3RlZCxzZWxlY3Rpb25TdHlsZTphLnNlbGVjdGlvblN0eWxlfX19OwpjUj1mdW5jdGlvbihhKXtyZXR1cm57c3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOmEudGl0bGUsbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTphLmljb25UeXBlfX1dfSxzd2l0Y2hlZE9uQnlEZWZhdWx0OmEua2wsYTExeUxhYmVsU3dpdGNoZWRPbjphLkVrLGExMXlMYWJlbFN3aXRjaGVkT2ZmOmEuRGssaXNEaXNhYmxlZDphLmlzRGlzYWJsZWR9fX07dmphPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy5pc0Z1bGxzY3JlZW59O3dqYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5zaG9ydHMubWp9Owp4amE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmxlbmd0aDtzd2l0Y2goYyl7Y2FzZSAwOnJldHVybiIiO2Nhc2UgMTpyZXR1cm4gU3RyaW5nKGJbMF0pO2Nhc2UgMjpyZXR1cm4gYS5ELnJlcGxhY2UoInswfSIsU3RyaW5nKGJbMF0pKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiWzFdKSl9dmFyIGQ9YS5CLnJlcGxhY2UoInswfSIsU3RyaW5nKGJbMF0pKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiWzFdKSk7Zm9yKGxldCBlPTI7ZTxjLTE7KytlKWQ9YS52LnJlcGxhY2UoInswfSIsZCkucmVwbGFjZSgiezF9IixTdHJpbmcoYltlXSkpO3JldHVybiBhLm8ucmVwbGFjZSgiezB9IixkKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiW2MtMV0pKX07CmhSPWZ1bmN0aW9uKCl7dGhpcy5LPW51bGw7dGhpcy5WZD10aGlzLk1hPXRoaXMuUWE9ITE7dGhpcy5aPTQwO3RoaXMubz0xO3RoaXMuaGE9MDt0aGlzLmo9Mzt0aGlzLnlhPXRoaXMuQj0wO3RoaXMuRWI9ITE7dGhpcy5nYT10aGlzLk09IiI7dGhpcy5EPWRSLmFvO3RoaXMuVT0iIjt0aGlzLnY9MTt0aGlzLlk9ITE7dGhpcy5JPVtdO3RoaXMuRmE9dGhpcy5mYz0hMTt0aGlzLm9hPTA7aWYoZVIpZlIodGhpcyk7ZWxzZXt0aGlzLks9bnVsbDt2YXIgYT1kUi5ndDtsZXQgZT1bMF07dGhpcy5NPWdSKHRoaXMsYSxlKTt2YXIgYj1lWzBdO2xldCBmPS0xLGg9MDt2YXIgYz0wLGQ9MDtsZXQgaz0tMSxsPWEubGVuZ3RoO2ZvcihsZXQgbT0hMDtlWzBdPGwmJm07ZVswXSsrKXN3aXRjaChhLmNoYXJBdChlWzBdKSl7Y2FzZSAiIyI6Yz4wP2QrKzpoKys7az49MCYmZjwwJiZrKys7YnJlYWs7Y2FzZSAiMCI6aWYoZD4wKXRocm93IEVycm9yKCJWZGAiK2EpO2MrKztrPj0wJiZmPDAmJmsrKzticmVhazsKY2FzZSAiLCI6az4wJiZ0aGlzLkkucHVzaChrKTtrPTA7YnJlYWs7Y2FzZSAiLiI6aWYoZj49MCl0aHJvdyBFcnJvcigiV2RgIithKTtmPWgrYytkO2JyZWFrO2Nhc2UgIkUiOmlmKHRoaXMuRmEpdGhyb3cgRXJyb3IoIlhkYCIrYSk7dGhpcy5GYT0hMDt0aGlzLnlhPTA7ZVswXSsxPGwmJmEuY2hhckF0KGVbMF0rMSk9PSIrIiYmKGVbMF0rKyx0aGlzLkViPSEwKTtmb3IoO2VbMF0rMTxsJiZhLmNoYXJBdChlWzBdKzEpPT0iMCI7KWVbMF0rKyx0aGlzLnlhKys7aWYoaCtjPDF8fHRoaXMueWE8MSl0aHJvdyBFcnJvcigiWWRgIithKTttPSExO2JyZWFrO2RlZmF1bHQ6ZVswXS0tLG09ITF9Yz09MCYmaD4wJiZmPj0wJiYoYz1mLGM9PTAmJmMrKyxkPWgtYyxoPWMtMSxjPTEpO2lmKGY8MCYmZD4wfHxmPj0wJiYoZjxofHxmPmgrYyl8fGs9PTApdGhyb3cgRXJyb3IoIlpkYCIrYSk7ZD1oK2MrZDt0aGlzLmo9Zj49MD9kLWY6MDtmPj0wJiYodGhpcy5CPWgrYy1mLHRoaXMuQjwwJiYodGhpcy5CPQowKSk7dGhpcy5vPShmPj0wP2Y6ZCktaDt0aGlzLkZhJiYodGhpcy5aPWgrdGhpcy5vLHRoaXMuaj09MCYmdGhpcy5vPT0wJiYodGhpcy5vPTEpKTt0aGlzLkkucHVzaChNYXRoLm1heCgwLGspKTt0aGlzLmZjPWY9PTB8fGY9PWQ7Yj1lWzBdLWI7dGhpcy5nYT1nUih0aGlzLGEsZSk7ZVswXTxhLmxlbmd0aCYmYS5jaGFyQXQoZVswXSk9PSI7Ij8oZVswXSsrLHRoaXMudiE9MSYmKHRoaXMuWT0hMCksdGhpcy5EPWdSKHRoaXMsYSxlKSxlWzBdKz1iLHRoaXMuVT1nUih0aGlzLGEsZSkpOih0aGlzLkQrPXRoaXMuTSx0aGlzLlUrPXRoaXMuZ2EpfX07CmZSPWZ1bmN0aW9uKGEpe3ZhciBiPXtub3RhdGlvbjoic3RhbmRhcmQiLG1pbmltdW1JbnRlZ2VyRGlnaXRzOk1hdGgubWluKDIxLE1hdGgubWF4KDEsYS5vKSl9O2EuRWImJihiLnNpZ25EaXNwbGF5PSJhbHdheXMiKTthLlFhPyhiLm1pbmltdW1TaWduaWZpY2FudERpZ2l0cz0xLGIubWF4aW11bVNpZ25pZmljYW50RGlnaXRzPU1hdGgubWF4KDEsTWF0aC5taW4oMjEsYS5oYSkpKTphLk1hJiYoYi5taW5pbXVtRnJhY3Rpb25EaWdpdHM9TWF0aC5tYXgoMCxhLkIpLGIubWF4aW11bUZyYWN0aW9uRGlnaXRzPU1hdGgubWluKDIwLE1hdGgubWF4KDAsYS5qKSkpO2Iuc3R5bGU9ImRlY2ltYWwiO3RyeXtsZXQgYzsoYz0iZW4tVVMiLnJlcGxhY2UoIl8iLCItIikpJiZjIGluIGlSJiYoYi5udW1iZXJpbmdTeXN0ZW09aVJbY10pO2EuSz1uZXcgSW50bC5OdW1iZXJGb3JtYXQoYyxiKX1jYXRjaChjKXt0aHJvdyBhLks9bnVsbCxFcnJvcigiUmRgIitjKTt9alI9YS5WZD1hLlFhPWEuTWE9ITF9OwptUj1mdW5jdGlvbihhLGIpe3ZhciBjPWtSKGIsYS5qKTthLmhhPjAmJihjPWxSKGMsYS5oYSxhLmopKTtjPU1hdGgucm91bmQoYyk7aWYoaXNGaW5pdGUoYykpe3ZhciBkPU1hdGguZmxvb3Ioa1IoYywtYS5qKSk7Yz1NYXRoLmZsb29yKGMta1IoZCxhLmopKTtpZihjPDB8fGM+PWtSKDEsYS5qKSlkPU1hdGgucm91bmQoYiksYz0wfWVsc2UgZD1iLGM9MDtyZXR1cm57aW50VmFsdWU6ZCxodzpjfX07Cm5SPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEuQj5hLmopdGhyb3cgRXJyb3IoIlNkIik7ZHx8KGQ9W10pO2I9bVIoYSxiKTt2YXIgZT1iLmludFZhbHVlLGY9Yi5odyxoPWEuQj4wfHxmPjB8fCExO2I9YS5CO2gmJihiPWEuQik7Zm9yKHZhciBrPSIiLGw9ZTtsPjFFMjA7KWs9IjAiK2ssbD1NYXRoLnJvdW5kKGtSKGwsLTEpKTtrPWwrazt2YXIgbT1kUi5WbjtsPWRSLkJrLmNvZGVQb2ludEF0KDApO3ZhciBuPWsubGVuZ3RoLHA9MDtpZihlPjB8fGM+MCl7Zm9yKGU9bjtlPGM7ZSsrKWQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsKSk7aWYoYS5JLmxlbmd0aD49Milmb3IoYz0xO2M8YS5JLmxlbmd0aDtjKyspcCs9YS5JW2NdO2M9bi1wO2lmKGM+MCl7ZT1hLkk7cD1uPTA7dmFyIHI9ZFIucmssdD1rLmxlbmd0aDtmb3IobGV0IHo9MDt6PHQ7eisrKWlmKGQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihrLmNoYXJBdCh6KSkpKSx0LXo+MSl7dmFyIHY9ZVtwXTtpZih6PApjKXtsZXQgRT1jLXo7KHY9PT0xfHx2PjAmJkUldj09PTEpJiZkLnB1c2gocil9ZWxzZSBwPGUubGVuZ3RoJiYoej09PWM/cCs9MTp2PT09ei1jLW4rMSYmKGQucHVzaChyKSxuKz12LHArPTEpKX19ZWxzZXtjPWs7az1hLkk7ZT1kUi5yazt2PWMubGVuZ3RoO3I9W107Zm9yKG49ay5sZW5ndGgtMTtuPj0wJiZ2PjA7bi0tKXtwPWtbbl07Zm9yKHQ9MDt0PHAmJnYtdC0xPj0wO3QrKylyLnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQobCtOdW1iZXIoYy5jaGFyQXQodi10LTEpKSkpO3YtPXA7dj4wJiZyLnB1c2goZSl9ZC5wdXNoLmFwcGx5KGQsci5yZXZlcnNlKCkpfX1lbHNlIGh8fGQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsKSk7KGEuZmN8fGgpJiZkLnB1c2gobSk7Zj1TdHJpbmcoZik7aD1mLnNwbGl0KCJlKyIpO2gubGVuZ3RoPT0yJiYoZj1TdHJpbmcobFIocGFyc2VGbG9hdChoWzBdKSxhLmhhLDEpKSxmPWYucmVwbGFjZSgiLiIsIiIpLGYrPSIwIi5yZXBlYXQocGFyc2VJbnQoaFsxXSwKMTApLWYubGVuZ3RoKzEpKTthLmorMT5mLmxlbmd0aCYmKGY9IjEiKyIwIi5yZXBlYXQoYS5qLWYubGVuZ3RoKStmKTtmb3IoYT1mLmxlbmd0aDtmLmNoYXJBdChhLTEpPT0iMCImJmE+YisxOylhLS07Zm9yKGI9MTtiPGE7YisrKWQucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihmLmNoYXJBdChiKSkpKX07b1I9ZnVuY3Rpb24oYSxiLGMpe2MucHVzaChkUi5Zbik7YjwwPyhiPS1iLGMucHVzaChkUi5hbykpOmEuRWImJmMucHVzaChkUi5XdCk7Yj0iIitiO3ZhciBkPWRSLkJrO2ZvcihsZXQgZT1iLmxlbmd0aDtlPGEueWE7ZSsrKWMucHVzaChkKTthPWQuY29kZVBvaW50QXQoMCkteWphO2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspYy5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGErYi5jb2RlUG9pbnRBdChkKSkpfTsKcFI9ZnVuY3Rpb24oYSl7YT1hLmNvZGVQb2ludEF0KDApO2lmKDQ4PD1hJiZhPDU4KXJldHVybiBhLTQ4O3ZhciBiPWRSLkJrLmNvZGVQb2ludEF0KDApO3JldHVybiBiPD1hJiZhPGIrMTA/YS1iOi0xfTsKZ1I9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0iIixlPSExLGY9Yi5sZW5ndGg7Y1swXTxmO2NbMF0rKyl7dmFyIGg9Yi5jaGFyQXQoY1swXSk7aWYoaD09IiciKWNbMF0rMTxmJiZiLmNoYXJBdChjWzBdKzEpPT0iJyI/KGNbMF0rKyxkKz0iJyIpOmU9IWU7ZWxzZSBpZihlKWQrPWg7ZWxzZSBzd2l0Y2goaCl7Y2FzZSAiIyI6Y2FzZSAiMCI6Y2FzZSAiLCI6Y2FzZSAiLiI6Y2FzZSAiOyI6cmV0dXJuIGQ7Y2FzZSAiXHUwMGE0IjpjWzBdKzE8ZiYmYi5jaGFyQXQoY1swXSsxKT09Ilx1MDBhNCI/KGNbMF0rKyxkKz1kUi5Xbik6KGg9ZFIuV24sZCs9aCBpbiBxUj9xUltoXVsxXTpoKTticmVhaztjYXNlICIlIjppZighYS5ZJiZhLnYhPTEpdGhyb3cgRXJyb3IoIlRkIik7aWYoYS5ZJiZhLnYhPTEwMCl0aHJvdyBFcnJvcigiVWQiKTthLnY9MTAwO2EuWT0hMTtkKz1kUi5qbzticmVhaztjYXNlICJcdTIwMzAiOmlmKCFhLlkmJmEudiE9MSl0aHJvdyBFcnJvcigiVGQiKTtpZihhLlkmJgphLnYhPTFFMyl0aHJvdyBFcnJvcigiVWQiKTthLnY9MUUzO2EuWT0hMTtkKz1kUi5rbzticmVhaztkZWZhdWx0OmQrPWh9fXJldHVybiBkfTt0Uj1mdW5jdGlvbihhLGIpe2E9YS5vYT09MT9yUi5TbjpyUi5WczthPT1udWxsJiYoYT1yUi5Tbik7aWYoYjwzKXJldHVybiBzUjtiPU1hdGgubWluKDE0LGIpO3ZhciBjPWFba1IoMSxiKV07Zm9yKC0tYjshYyYmYj49MzspYz1hW2tSKDEsYildLGItLTtpZighYylyZXR1cm4gc1I7Yz1jLm90aGVyO3ZhciBkPWE9IiIsZT1jLmluZGV4T2YoIjsiKTtlPj0wJiYoYz1jLnN1YnN0cmluZygwLGUpLGU9Yy5zdWJzdHJpbmcoZSsxKSkmJihkPS8oW14wXSopKDArKSguKikvLmV4ZWMoZSksYT1kWzFdLGQ9ZFszXSk7cmV0dXJuIGMmJmMhPSIwIj8oYz0vKFteMF0qKSgwKykoLiopLy5leGVjKGMpKT97cGw6YisxLShjWzJdLmxlbmd0aC0xKSx3bTphLHhtOmQscHJlZml4OmNbMV0sc3VmZml4OmNbM119OnNSOnNSfTsKdVI9ZnVuY3Rpb24oYSl7aWYoIWlzRmluaXRlKGEpKXJldHVybiBhPjA/YTowO2Zvcih2YXIgYj0wOyhhLz0xMCk+PTE7KWIrKztyZXR1cm4gYn07a1I9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWlzRmluaXRlKGEpfHxiPT0wKXJldHVybiBhO2E9U3RyaW5nKGEpLnNwbGl0KCJlIik7cmV0dXJuIHBhcnNlRmxvYXQoYVswXSsiZSIrKHBhcnNlSW50KGFbMV18fDAsMTApK2IpKX07dlI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSYmaXNGaW5pdGUoYSk/a1IoTWF0aC5yb3VuZChrUihhLGIpKSwtYik6YX07bFI9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhKXJldHVybiBhO2I9Yi11UihhKS0xO3JldHVybiBiPC1jP3ZSKGEsLWMpOnZSKGEsYil9O3pqYT1mdW5jdGlvbihhKXtyZXR1cm4gYSUxMD09MSYmYSUxMDAhPTExPyJvbmUiOmElMTA9PTImJmElMTAwIT0xMj8idHdvIjphJTEwPT0zJiZhJTEwMCE9MTM/ImZldyI6Im90aGVyIn07CkFqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWF8MDtpZih2b2lkIDA9PT1iKXtiPU1hdGg7dmFyIGQ9Yi5taW47bGV0IGU9YSsiIixmPWUuaW5kZXhPZigiLiIpO2I9ZC5jYWxsKGIsZj09PS0xPzA6ZS5sZW5ndGgtZi0xLDMpfWQ9TWF0aC5wb3coMTAsYik7YT17RkI6YixmOihhKmR8MCklZH07cmV0dXJuIGM9PTEmJmEuRkI9PTA/Im9uZSI6Im90aGVyIn07elI9ZnVuY3Rpb24oYSl7dGhpcy52PWE7dGhpcy5vPXRoaXMuaj10aGlzLkQ9bnVsbDthPWRSO3ZhciBiPXJSO2lmKHdSIT09YXx8eFIhPT1iKXdSPWEseFI9Yix5Uj1uZXcgaFI7dGhpcy5LPXlSfTsKQVI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtmb3IobGV0IHA9MDtwPGIubGVuZ3RoO3ArKyl7dmFyIGY9dm9pZCAwO3N3aXRjaChiW3BdLnR5cGUpe2Nhc2UgNDplLnB1c2goYltwXS52YWx1ZSk7YnJlYWs7Y2FzZSAzOmY9YltwXS52YWx1ZTt2YXIgaD1hLGs9ZSxsPWNbZl07bD09PXZvaWQgMD9rLnB1c2goIlVuZGVmaW5lZCBwYXJhbWV0ZXIgLSAiK2YpOihoLmoucHVzaChsKSxrLnB1c2goaC5CKGguaikpKTticmVhaztjYXNlIDI6Zj1iW3BdLnZhbHVlO2g9YTtrPWM7bD1kO3ZhciBtPWUsbj1mLnNpO2tbbl09PT12b2lkIDA/bS5wdXNoKCJVbmRlZmluZWQgcGFyYW1ldGVyIC0gIituKToobj1mW2tbbl1dLG49PT12b2lkIDAmJihuPWYub3RoZXIpLEFSKGgsbixrLGwsbSkpO2JyZWFrO2Nhc2UgMDpmPWJbcF0udmFsdWU7QlIoYSxmLGMsQ1IsZCxlKTticmVhaztjYXNlIDE6Zj1iW3BdLnZhbHVlLEJSKGEsZixjLEJqYSxkLGUpfX19OwpCUj1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGg9Yi5zaSxrPWIuR28sbD0rY1toXTtpc05hTihsKT9mLnB1c2goIlVuZGVmaW5lZCBvciBpbnZhbGlkIHBhcmFtZXRlciAtICIraCk6KGs9bC1rLGg9YltjW2hdXSxoPT09dm9pZCAwJiYoZD1kKE1hdGguYWJzKGspKSxoPWJbZF0saD09PXZvaWQgMCYmKGg9Yi5vdGhlcikpLGI9W10sQVIoYSxoLGMsZSxiKSxjPWIuam9pbigiIiksZT9mLnB1c2goYyk6KGE9YS5LLmZvcm1hdChrKSxmLnB1c2goYy5yZXBsYWNlKC8jL2csYSkpKSl9O0VqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuRCxkPWEuQi5iaW5kKGEpO2I9Yi5yZXBsYWNlKENqYSxmdW5jdGlvbigpe2MucHVzaCgiJyIpO3JldHVybiBkKGMpfSk7cmV0dXJuIGI9Yi5yZXBsYWNlKERqYSxmdW5jdGlvbihlLGYpe2MucHVzaChmKTtyZXR1cm4gZChjKX0pfTsKRFI9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPVtdLGQ9W10sZT0vW3t9XS9nO2UubGFzdEluZGV4PTA7Zm9yKHZhciBmO2Y9ZS5leGVjKGEpOyl7bGV0IGg9Zi5pbmRleDtmWzBdPT0ifSI/KGMucG9wKCksYy5sZW5ndGg9PTAmJihmPXt0eXBlOjF9LGYudmFsdWU9YS5zdWJzdHJpbmcoYixoKSxkLnB1c2goZiksYj1oKzEpKTooYy5sZW5ndGg9PTAmJihiPWEuc3Vic3RyaW5nKGIsaCksYiE9IiImJmQucHVzaCh7dHlwZTowLHZhbHVlOmJ9KSxiPWgrMSksYy5wdXNoKCJ7IikpfWE9YS5zdWJzdHJpbmcoYik7YSE9IiImJmQucHVzaCh7dHlwZTowLHZhbHVlOmF9KTtyZXR1cm4gZH07CkhSPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107Yj1EUihiKTtmb3IobGV0IGU9MDtlPGIubGVuZ3RoO2UrKyl7bGV0IGY9e307aWYoMD09YltlXS50eXBlKWYudHlwZT00LGYudmFsdWU9YltlXS52YWx1ZTtlbHNlIGlmKDE9PWJbZV0udHlwZSl7dmFyIGQ9YltlXS52YWx1ZTtzd2l0Y2goRVIudGVzdChkKT8wOkZSLnRlc3QoZCk/MTpHUi50ZXN0KGQpPzI6L15ccypcdytccyovLnRlc3QoZCk/Mzo1KXtjYXNlIDI6Zi50eXBlPTI7Zi52YWx1ZT1GamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDA6Zi50eXBlPTA7Zi52YWx1ZT1HamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDE6Zi50eXBlPTE7Zi52YWx1ZT1IamEoYSxiW2VdLnZhbHVlKTticmVhaztjYXNlIDM6Zi50eXBlPTMsZi52YWx1ZT1iW2VdLnZhbHVlfX1jLnB1c2goZil9cmV0dXJuIGN9OwpGamE9ZnVuY3Rpb24oYSxiKXt2YXIgYz0iIjtiPWIucmVwbGFjZShHUixmdW5jdGlvbihmLGgpe2M9aDtyZXR1cm4iIn0pO3ZhciBkPXt9O2Quc2k9YztiPURSKGIpO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7KXtsZXQgZj1iW2VdLnZhbHVlO2UrKztsZXQgaDsxPT1iW2VdLnR5cGUmJihoPUhSKGEsYltlXS52YWx1ZSkpO2RbZi5yZXBsYWNlKC9ccy9nLCIiKV09aDtlKyt9cmV0dXJuIGR9O0dqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiLGQ9MDtiPWIucmVwbGFjZShFUixmdW5jdGlvbihoLGssbCl7Yz1rO2wmJihkPXBhcnNlSW50KGwsMTApKTtyZXR1cm4iIn0pO3ZhciBlPXt9O2Uuc2k9YztlLkdvPWQ7Yj1EUihiKTtmb3IodmFyIGY9MDtmPGIubGVuZ3RoOyl7bGV0IGg9YltmXS52YWx1ZTtmKys7bGV0IGs7MT09YltmXS50eXBlJiYoaz1IUihhLGJbZl0udmFsdWUpKTtlW2gucmVwbGFjZSgvXHMqKD86PSk/KFx3KylccyovLCIkMSIpXT1rO2YrK31yZXR1cm4gZX07CkhqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiO2I9Yi5yZXBsYWNlKEZSLGZ1bmN0aW9uKGYsaCl7Yz1oO3JldHVybiIifSk7dmFyIGQ9e307ZC5zaT1jO2QuR289MDtiPURSKGIpO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7KXtsZXQgZj1iW2VdLnZhbHVlO2UrKztsZXQgaDsxPT1iW2VdLnR5cGUmJihoPUhSKGEsYltlXS52YWx1ZSkpO2RbZi5yZXBsYWNlKC9ccyooPzo9KT8oXHcrKVxzKi8sIiQxIildPWg7ZSsrfXJldHVybiBkfTtJamE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYil7ZGVmYXVsdDpjYXNlICJ5ZWFycyI6cmV0dXJuIGEuai5ZRUFSO2Nhc2UgIm1vbnRocyI6cmV0dXJuIGEuai5NT05USDtjYXNlICJ3ZWVrcyI6cmV0dXJuIGEuai5XRUVLO2Nhc2UgImRheXMiOnJldHVybiBhLmouREFZO2Nhc2UgImhvdXJzIjpyZXR1cm4gYS5qLkhPVVI7Y2FzZSAibWludXRlcyI6cmV0dXJuIGEuai5NSU5VVEU7Y2FzZSAic2Vjb25kcyI6cmV0dXJuIGEuai5TRUNPTkR9fTsKSVI9ZnVuY3Rpb24oYSxiLGMpe2E9SWphKGEsYyk7cmV0dXJuKGE9YS5MT05HIT12b2lkIDA/YS5MT05HOmEuTkFSUk9XIT12b2lkIDA/YS5OQVJST1c6YS5TSE9SVCk/KG5ldyB6Uigie0RVUkFUSU9OX1ZBTFVFLHBsdXJhbCwiK2ErIn0iKSkuZm9ybWF0KHtEVVJBVElPTl9WQUxVRTpifSk6IiJ9O0pSPWZ1bmN0aW9uKCl7Xy5IeigpO3JldHVybiFfLkN6KDE0MSkmJl8udygiQVVUT05BVl9PRkZfQllfREVGQVVMVCIpPyExOiFfLkN6KDE0MCl9O0pqYT1mdW5jdGlvbigpe2lmKCFLUil7dmFyIGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3BsYXllci5za2VsZXRvbiIpO2EmJihfLkRkKGEpLEtSPSEwKX19O0xSPWZ1bmN0aW9uKGEsYixjLGQ9ITEpe2I9bmV3IEtqYShifHxhLGN8fGEpO3JldHVybnt4OmEueCtMamEoYixkKSouMix5OmEueStNamEoYixkKSouMn19O0xqYT1mdW5jdGlvbihhLGI9ITEpe3JldHVybiBiP2EuaiotMTphLmp9OwpNamE9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYj9hLm8qLTE6YS5vfTtNUj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4hMTt2YXIgYj1hLmVycm9yU2NyZWVuPy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyPz9hLmVycm9yU2NyZWVuPy55cGNUcmFpbGVyUmVuZGVyZXI7cmV0dXJuIShhLnN0YXR1cyE9PSJPSyImJmEuc3RhdHVzIT09IkxJVkVfU1RSRUFNX09GRkxJTkUiKXx8ISFifTsKUWphPWZ1bmN0aW9uKHtyZW5kZXJlcjphLHN1YnNjcmliZWQ6Yixpc092ZXJsYXk6YyxzdG9wUHJvcGFnYXRpb246ZH0pe3ZhciBlPU5qYShhLGIpO2MmJihlLnN0eWxlPSJvdmVybGF5Iik7YTpzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJDT01QQUNUX0dSQVkiOmNhc2UgIkNPTVBBQ1RfUkVEIjpjPXtzaXplOiJTIn07YnJlYWsgYTtkZWZhdWx0OmM9e3NpemU6Ik0ifX1jPXsuLi5jfTt2YXIgZj1PamEoYSxiKTt2YXIgaD0oaD1iP2Euc3Vic2NyaWJlZEJ1dHRvblRleHQ6YS51bnN1YnNjcmliZWRCdXR0b25UZXh0KT9fLkFGKGgpOnZvaWQgMDtyZXR1cm57Li4uZSwuLi5jLGZvY3VzZWQ6ITEsdG9nZ2xlZDpiLGFjY2Vzc2liaWxpdHlMYWJlbDpmLFdhOmgsb25UYXA6UGphKGEsYixkKX19OwpQamE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9UmphKGEsYik7aWYoZSl7bGV0IGY9e3N1YnNjcmliZUJ1dHRvblJlbmRlcmVyOmF9O18uZEsoZSx7Zm9ybTp7Y3VycmVudERhdGE6Zixzb3VyY2VEYXRhOmYsZXZlbnQ6ZH19KX1jJiZkLnN0b3BQcm9wYWdhdGlvbigpfX07UmphPWZ1bmN0aW9uKGEsYil7aWYoYS5zaWduSW5FbmRwb2ludCYmIV8ueCgid2ViX3N1YnNjcmliZV9zaWduX2luX2VuZHBvaW50X2tpbGxzd2l0Y2giKSlyZXR1cm4gYS5zaWduSW5FbmRwb2ludDtpZihiKXtpZihhLnNlcnZpY2VFbmRwb2ludHMpcmV0dXJuIGEuc2VydmljZUVuZHBvaW50c1sxXTtpZihhLm9uVW5zdWJzY3JpYmVFbmRwb2ludHMpcmV0dXJuIGEub25VbnN1YnNjcmliZUVuZHBvaW50c1swXX1lbHNle2lmKGEuc2VydmljZUVuZHBvaW50cylyZXR1cm4gYS5zZXJ2aWNlRW5kcG9pbnRzWzBdO2lmKGEub25TdWJzY3JpYmVFbmRwb2ludHMpcmV0dXJuIGEub25TdWJzY3JpYmVFbmRwb2ludHNbMF19fTsKT2phPWZ1bmN0aW9uKGEsYil7Yj1iP2EudW5zdWJzY3JpYmVBY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWw6YS5zdWJzY3JpYmVBY2Nlc3NpYmlsaXR5Py5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWw7cmV0dXJuIGEubG9uZ1N1YnNjcmliZXJDb3VudFRleHQ/W2IsXy5hTihhLmxvbmdTdWJzY3JpYmVyQ291bnRUZXh0KV0uZmlsdGVyKGM9PmMpLmpvaW4oIiAiKTpifTtOUj1mdW5jdGlvbihhLGIpe3JldHVybiBifHxhPy5pc0NoYW5uZWxEZWxlZ2F0ZT8iZGlzYWJsZWQiOiJhY3RpdmUifTsKTmphPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEuc3R5bGU/LnN0eWxlVHlwZSl7Y2FzZSAiQ09NUEFDVF9HUkFZIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRvbmFsIixzdGF0ZTpOUihhKX07Y2FzZSAiTUVESVVNX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTtjYXNlICJWSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOk5SKGEsITApfTtjYXNlICJPVkVSTEFZIjpyZXR1cm4gYj97c3R5bGU6Im92ZXJsYXkiLHR5cGU6InRvbmFsIixzdGF0ZTpOUihhKX06e3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOk5SKGEpfTtkZWZhdWx0OnJldHVybiBiP3tzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTp7c3R5bGU6Im1vbm8iLHR5cGU6ImZpbGxlZCIsc3RhdGU6TlIoYSl9fX07ClBSPWZ1bmN0aW9uKGEpe3ZhciBiPWEuaG91cnN8fDA7dmFyIGM9YS5taW51dGVzfHwwLGQ9YS5zZWNvbmRzfHwwO2I9ZCtjKjYwK2IqMzYwMCsoYS5kYXlzfHwwKSo4NjQwMCsoYS53ZWVrc3x8MCkqNjA0ODAwKyhhLm1vbnRoc3x8MCkqMjYyOTgwMCsoYS55ZWFyc3x8MCkqMzE1NTc2MDA7Yjw9MD9iPXtob3VyczowLG1pbnV0ZXM6MCxzZWNvbmRzOjB9OihhPWIsYj1NYXRoLmZsb29yKGEvMzYwMCksYSU9MzYwMCxjPU1hdGguZmxvb3IoYS82MCksZD1NYXRoLmZsb29yKGElNjApLGI9e2hvdXJzOmIsbWludXRlczpjLHNlY29uZHM6ZH0pO3ZhciB7aG91cnM6ZT0wLG1pbnV0ZXM6Zj0wLHNlY29uZHM6aD0wfT1iO2I9W107aWYoZT4wKXtjPU9SKCkuZm9ybWF0KHtob3VyczplfSk7aWYoISJiZSBiZyBlcyBldCBodSBpdCBrYSBsdiBwbCBwdC1QVCBzbCBzcSIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKXx8ZT45OTk5KXthPWMucmVwbGFjZTtkPWUudG9TdHJpbmcoKTt2YXIgaz0obmV3IEludGwuTnVtYmVyRm9ybWF0KCJlbi11LW51LWxhdG4iKSkuZm9ybWF0KGUpOwp2YXIgbD1bImZyIl07bGV0IG09ImF6IGJzIGNhIGRhIGRlIGVsIGVzIGV1IGdsIGhyIGlkIGlzIGl0IGttIGxvIG1rIG5sIHB0LUJSIHJvIHNsIHNyIHNyLUxhdG4gdHIgdmkiLnNwbGl0KCIgIik7az0iYWYgYmUgYmcgY3MgZXQgZmkgZnItQ0EgaHUgaHkga2Ega2sga3kgbHQgbHYgbm8gcGwgcHQtUFQgcnUgc2sgc3Egc3YgdWsgdXoiLnNwbGl0KCIgIikuaW5jbHVkZXMoWik/ay5yZXBsYWNlKCIsIiwiXHUwMGEwIik6bC5pbmNsdWRlcyhaKT9rLnJlcGxhY2UoIiwiLCJcdTIwMmYiKTptLmluY2x1ZGVzKFopP2sucmVwbGFjZSgiLCIsIi4iKTprO2M9YS5jYWxsKGMsZCxrKTtaPT09ImttIiYmKGM9Yy5yZXBsYWNlKCIuIiwiLCIpKX1iLnB1c2goYyl9Zj4wJiZiLnB1c2goT1IoKS5mb3JtYXQoe21pbnV0ZXM6Zn0pKTsoaD4wfHxlPT09MCYmZj09PTApJiZiLnB1c2goT1IoKS5mb3JtYXQoe3NlY29uZHM6aH0pKTtjPSJiZSBndSBqYSBrayBrbSBrbyBtbiBydSB0ciB1eiB6aC1ISyB6aC1UVyIuc3BsaXQoIiAiKTsKYT1aPT0iYW0iPyJ7MH1cdTEzNjMgIjpaPT0iZmEiPyJ7MH1cdTA2MGNcdTIwMGYgIjpaPT0ibXkiPyJ7MH0gLSAiOlo9PSJ0aCI/InswfSAiOlo9PSJ1ciI/InswfVx1MDYwYyAiOlo9PSJhciJ8fFo9PSJhci1YQiI/InswfSBcdTA2NDgiOlo9PSJqYSJ8fFo9PSJ6aC1DTiJ8fFo9PSJ6aC1ISyJ8fFo9PSJ6aC1UVyI/InswfVx1MzAwMSI6InswfSwgIjtkPVo9PSJhbSI/Ilx1MTM2MyAiOlo9PSJmYSI/Ilx1MDYwY1x1MjAwZiAiOlo9PSJteSI/IiAtICI6Wj09InRoIj8iICI6Wj09InVyIj8iXHUwNjBjICI6Wj09ImFyInx8Wj09ImFyLVhCIj8iIFx1MDY0OCI6Wj09ImphInx8Wj09InpoLUNOInx8Wj09InpoLUhLInx8Wj09InpoLVRXIj8iXHUzMDAxIjoiLCAiO2s9Wj09ImFtIj8iIFx1MTJhNVx1MTI5MyB7MH0iOlo9PSJhcyI/IiBcdTA5ODZcdTA5ZjBcdTA5YzEgezB9IjpaPT0iYXoiPyIgdlx1MDI1OSB7MH0iOlo9PSJibiI/IiBcdTA5OGZcdTA5YWNcdTA5ODIgezB9IjpaPT0iY3MiPwoiIGFcdTAwYTB7MH0iOlo9PSJkZSI/IiB1bmQgezB9IjpaPT0iZWwiPyIgXHUwM2JhXHUwM2IxXHUwM2I5IHswfSI6Wj09ImV1Ij8iIGV0YSB7MH0iOlo9PSJmYSI/Ilx1MDYwYyBcdTA2NDggezB9IjpaPT0iZmlsIj8iLCBhdCB7MH0iOlo9PSJndSI/IiBcdTBhODVcdTBhYThcdTBhYzcgezB9IjpaPT0iaGkiPyIsIFx1MDkxNFx1MDkzMCB7MH0iOlo9PSJodSI/IiBcdTAwZTlzIHswfSI6Wj09Imh5Ij8iIFx1MDU4NyB7MH0iOlo9PSJpZCI/IiwgZGFuIHswfSI6Wj09Iml3Ij8iIFx1MDVkNS17MH0iOlo9PSJqYSI/Ilx1MzAwMXswfSI6Wj09ImthIj8iIFx1MTBkM1x1MTBkMCB7MH0iOlo9PSJrbSI/IiBcdTE3OTNcdTE3YjdcdTE3ODQgezB9IjpaPT0ia24iPyIsIFx1MGNhZVx1MGNhNFx1MGNjZFx1MGNhNFx1MGNjMSB7MH0iOlo9PSJrbyI/IiBcdWJjMGYgezB9IjpaPT0ia3kiPyIgXHUwNDM2XHUwNDMwXHUwNDNkXHUwNDMwIHswfSI6Wj09Imx0Ij8iIGlyIHswfSI6Wj09Imx2Ij8KIiB1biB7MH0iOlo9PSJtciI/IiBcdTA5MDZcdTA5MjNcdTA5M2YgezB9IjpaPT0ibXMiPyIgZGFuIHswfSI6Wj09Im15Ij8iXHUxMDE0XHUxMDNlXHUxMDA0XHUxMDM3XHUxMDNhIHswfSI6Wj09Im5lIj8iIFx1MDkzMCB7MH0iOlo9PSJvciI/IiwgXHUwYjEzIHswfSI6Wj09InBhIj8iIFx1MGEwNVx1MGEyNFx1MGE0NyB7MH0iOlo9PSJybyI/IiBcdTAyMTlpIHswfSI6Wj09InNpIj8iLCBcdTBkYzNcdTBkYzQgezB9IjpaPT0ic2siPyIgYSB7MH0iOlo9PSJzbCI/IiBpbiB7MH0iOlo9PSJzcSI/IiBkaGUgezB9IjpaPT0ic3YiPyIgb2NoIHswfSI6Wj09InN3Ij8iIG5hIHswfSI6Wj09InRhIj8iIFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCB7MH0iOlo9PSJ0ZSI/IiBcdTBjMmVcdTBjMzBcdTBjM2ZcdTBjMmZcdTBjNDEgezB9IjpaPT0idGgiPyIgXHUwZTQxXHUwZTI1XHUwZTMwezB9IjpaPT0idHIiPyIgdmUgezB9IjpaPT0idXIiPyJcdTA2MGMgXHUwNjI3XHUwNjQ4XHUwNjMxIHswfSI6Clo9PSJ1eiI/IiB2YSB7MH0iOlo9PSJ2aSI/IiB2XHUwMGUwIHswfSI6Wj09InpoLUhLIj8iXHU1M2NhezB9IjpaPT0ienUiPyIsIG5lLXswfSI6Wj09ImFmInx8Wj09Im5sIj8iIGVuIHswfSI6Wj09ImFyInx8Wj09ImFyLVhCIj8iIFx1MDY0OHswfSI6Wj09ImJlInx8Wj09InVrIj8iIFx1MDQ1NiB7MH0iOlo9PSJlbi1HQiJ8fFo9PSJlbi1JTiI/IiBhbmQgezB9IjpaPT0iZW4ifHxaPT0iZW4tWEEiPyIsIGFuZCB7MH0iOlo9PSJldCJ8fFo9PSJmaSI/IiBqYSB7MH0iOlo9PSJmciJ8fFo9PSJmci1DQSI/IiBldCB7MH0iOlo9PSJ6aC1DTiJ8fFo9PSJ6aC1UVyI/Ilx1NTQ4Y3swfSI6Wj09ImRhInx8Wj09ImlzInx8Wj09Im5vIj8iIG9nIHswfSI6Wj09ImVzInx8Wj09ImVzLTQxOSJ8fFo9PSJlcy1VUyI/IiB5IHswfSI6Wj09ImJnInx8Wj09Im1rInx8Wj09InJ1Inx8Wj09InNyIj8iIFx1MDQzOCB7MH0iOlo9PSJnbCJ8fFo9PSJpdCJ8fFo9PSJwdC1CUiJ8fFo9PSJwdC1QVCI/IiBlIHswfSI6Clo9PSJrayJ8fFo9PSJsbyJ8fFo9PSJtbCJ8fFo9PSJtbiI/IiwgezB9IjoiIGkgezB9IjtsPVo9PSJhbSI/InswfSBcdTEyYTVcdTEyOTMgezF9IjpaPT0iYXMiPyJ7MH0gXHUwOTg2XHUwOWYwXHUwOWMxIHsxfSI6Wj09ImF6Ij8iezB9IHZcdTAyNTkgezF9IjpaPT0iYm4iPyJ7MH0gXHUwOThmXHUwOWFjXHUwOTgyIHsxfSI6Wj09ImRlIj8iezB9IHVuZCB7MX0iOlo9PSJlbCI/InswfSBcdTAzYmFcdTAzYjFcdTAzYjkgezF9IjpaPT0iZXUiPyJ7MH0gZXRhIHsxfSI6Wj09ImZhIj8iezB9IFx1MDY0OCB7MX0iOlo9PSJmaWwiPyJ7MH0gYXQgezF9IjpaPT0iZ3UiPyJ7MH0gXHUwYTg1XHUwYWE4XHUwYWM3IHsxfSI6Wj09ImhpIj8iezB9IFx1MDkxNFx1MDkzMCB7MX0iOlo9PSJodSI/InswfSBcdTAwZTlzIHsxfSI6Wj09Imh5Ij8iezB9IFx1MDU4NyB7MX0iOlo9PSJpdyI/InswfSBcdTA1ZDUtezF9IjpaPT0iamEiPyJ7MH1cdTMwMDF7MX0iOlo9PSJrYSI/InswfSBcdTEwZDNcdTEwZDAgezF9IjoKWj09ImtrIj8iezB9IFx1MDQzNlx1MDRkOVx1MDQzZFx1MDQzNSB7MX0iOlo9PSJrbSI/InswfSBcdTE3OTNcdTE3YjdcdTE3ODRcdTIwMGJ7MX0iOlo9PSJrbiI/InswfSBcdTBjYWVcdTBjYTRcdTBjY2RcdTBjYTRcdTBjYzEgezF9IjpaPT0ia28iPyJ7MH0gXHViYzBmIHsxfSI6Wj09Imt5Ij8iezB9IFx1MDQzNlx1MDQzMFx1MDQzZFx1MDQzMCB7MX0iOlo9PSJsbyI/InswfSBcdTBlYzFcdTBlYTVcdTBlYjAgezF9IjpaPT0ibHQiPyJ7MH0gaXIgezF9IjpaPT0ibHYiPyJ7MH0gdW4gezF9IjpaPT0ibXIiPyJ7MH0gXHUwOTA2XHUwOTIzXHUwOTNmIHsxfSI6Wj09Im15Ij8iezB9XHUxMDE0XHUxMDNlXHUxMDA0XHUxMDM3XHUxMDNhIHsxfSI6Wj09Im5lIj8iezB9IFx1MDkzMCB7MX0iOlo9PSJvciI/InswfSBcdTBiMTMgezF9IjpaPT0icGEiPyJ7MH0gXHUwYTA1XHUwYTI0XHUwYTQ3IHsxfSI6Wj09InJvIj8iezB9IFx1MDIxOWkgezF9IjpaPT0ic2kiPyJ7MH0gXHUwZGMzXHUwZGM0IHsxfSI6Clo9PSJzbCI/InswfSBpbiB7MX0iOlo9PSJzcSI/InswfSBkaGUgezF9IjpaPT0ic3YiPyJ7MH0gb2NoIHsxfSI6Wj09InN3Ij8iezB9IG5hIHsxfSI6Wj09InRhIj8iezB9IFx1MGJhZVx1MGJiMVx1MGJjZFx1MGJiMVx1MGJjMVx1MGJhZVx1MGJjZCB7MX0iOlo9PSJ0ZSI/InswfSBcdTBjMmVcdTBjMzBcdTBjM2ZcdTBjMmZcdTBjNDEgezF9IjpaPT0idGgiPyJ7MH1cdTBlNDFcdTBlMjVcdTBlMzB7MX0iOlo9PSJ0ciI/InswfSB2ZSB7MX0iOlo9PSJ1ciI/InswfSBcdTA2MjdcdTA2NDhcdTA2MzEgezF9IjpaPT0idXoiPyJ7MH0gdmEgezF9IjpaPT0idmkiPyJ7MH0gdlx1MDBlMCB7MX0iOlo9PSJ6aC1ISyI/InswfVx1NTNjYXsxfSI6Wj09Inp1Ij8iezB9IG5lLXsxfSI6Wj09ImFmInx8Wj09Im5sIj8iezB9IGVuIHsxfSI6Wj09ImFyInx8Wj09ImFyLVhCIj8iezB9IFx1MDY0OHsxfSI6Wj09ImJlInx8Wj09InVrIj8iezB9IFx1MDQ1NiB7MX0iOlo9PSJjcyJ8fFo9PSJzayI/InswfSBhXHUwMGEwezF9IjoKWj09ImV0Inx8Wj09ImZpIj8iezB9IGphIHsxfSI6Wj09ImZyInx8Wj09ImZyLUNBIj8iezB9IGV0IHsxfSI6Wj09ImlkInx8Wj09Im1zIj8iezB9IGRhbiB7MX0iOlo9PSJtbCJ8fFo9PSJtbiI/InswfSwgezF9IjpaPT0iemgtQ04ifHxaPT0iemgtVFciPyJ7MH1cdTU0OGN7MX0iOlo9PSJkYSJ8fFo9PSJpcyJ8fFo9PSJubyI/InswfSBvZyB7MX0iOlo9PSJlcyJ8fFo9PSJlcy00MTkifHxaPT0iZXMtVVMiPyJ7MH0geSB7MX0iOlo9PSJiZyJ8fFo9PSJtayJ8fFo9PSJydSJ8fFo9PSJzciI/InswfSBcdTA0MzggezF9IjpaPT0iZW4ifHxaPT0iZW4tR0IifHxaPT0iZW4tSU4ifHxaPT0iZW4tWEEiPyJ7MH0gYW5kIHsxfSI6Wj09ImdsInx8Wj09Iml0Inx8Wj09InB0LUJSInx8Wj09InB0LVBUIj8iezB9IGUgezF9IjoiezB9IGkgezF9IjtaPT09InNxIj8oaz1rLnJlcGxhY2UoImRoZSIsImUiKSxsPWwucmVwbGFjZSgiZGhlIiwiZSIpKTpaPT09InRoIj8oZD1kLnJlcGxhY2UoInswfSIsCiIgezB9IiksbD1sLnJlcGxhY2UoInswfSIsInswfSAiKSxsPWwucmVwbGFjZSgiezF9IiwiIHsxfSIpKTpaPT09Im5lIj9kPSIsIjpaPT09InpoLUNOIj9kPSIiOmMuaW5jbHVkZXMoWikmJihkPSIgIik7cmV0dXJuIGIubGVuZ3RoPDI/Yi5qb2luKCIiKToiYW0gYXIgYmcgYnMgY2EgY3MgZGEgZXMgZXMtNDE5IGVzLVVTIGV1IGZhIGZpIGZyLUNBIGZyIGdsIGd1IGhpIGhyIGh1IGh5IGlzIGl0IGx0IGx2IG1rIG15IG5vIG5sIHBsIHB0LUJSIHB0LVBUIHJvIHNpIHNsIHNxIHNyLUxhdG4gc3Igc3cgdGggdWsiLnNwbGl0KCIgIikuaW5jbHVkZXMoWik/Yi5sZW5ndGg9PT0yP2wucmVwbGFjZSgiezB9IixiWzBdKS5yZXBsYWNlKCJ7MX0iLGJbMV0pOmEucmVwbGFjZSgiezB9IixiWzBdKStiLnNsaWNlKDEsLTEpLmpvaW4oZCkray5yZXBsYWNlKCJ7MH0iLGJbYi5sZW5ndGgtMV0pOmIuam9pbihkKX07T1I9ZnVuY3Rpb24oKXtRUnx8KENSPVNqYSxRUj1uZXcgVGphKTtyZXR1cm4gUVJ9OwpVamE9ZnVuY3Rpb24oKXtKUSgpKHt0cTohMH0pO0pRKCkoe3RxOiExfSl9O1dqYT1mdW5jdGlvbihhKXt2YXIgYj1fLldEKCgpPT5hLmdldERlYnVnVGV4dCghMCkpO2ImJl8ueSgpLnJlc29sdmUoXy55UCkub3BlbkRpYWxvZyh7VW46KCk9Pl8uSyhWamEse2Z2OmJ9KX0pfTtSUj1mdW5jdGlvbihhLGIpe2lmKGIpYT1hLmdldFZpZGVvVXJsKCk7ZWxzZXthPWEuZ2V0UGxheWVyUmVzcG9uc2UoKS52aWRlb0RldGFpbHM/LnZpZGVvSWQ7aWYoIWEpcmV0dXJuO2E9YGh0dHBzOi8veW91dHUuYmUvJHthfWB9YSYmd2luZG93Lm5hdmlnYXRvcj8uY2xpcGJvYXJkJiZ3aW5kb3cubmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYSl9OwpYamE9ZnVuY3Rpb24oYSxiLGMsZCl7Xy55Tih7R2I6KCk9Pl8uSyhfLklCLG51bGwsU1IoYSxiKSxfLksoXy5PLHtBOigpPT5kJiZjLHRoZW46KCk9Pl8uSyhUUix7SDphLHRhOmN9KX0pLF8uSyhVUix7SDphfSksXy5LKFZSLHtIOmF9KSxfLksoV1Ise0g6YX0pLF8uSyhZUix7SDphfSksXy5LKFpSLHtIOmF9KSxfLksoJFIse0g6YX0pLF8uSyhhUyx7SDphfSksXy5LKGJTLHtIOmF9KSksSGE6ITB9KX07U1I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5LKF8uTyx7QTooKT0+Xy50UCgpLHRoZW46KCk9Pl8uSyhfLk5QLG51bGwpLFc6KCk9Pl8uSyhfLk8se0E6KCk9PiFiLHRoZW46KCk9Pl8uSyhjUyx7SDphfSl9KX0pfTtkUz1mdW5jdGlvbihhLGIpe18ueU4oe0diOmIsSGE6ITB9KTthLnN0b3BQcm9wYWdhdGlvbigpfTtlUz1mdW5jdGlvbihhKXthPWEuZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcygpO3JldHVybiBhW2EubGVuZ3RoLTFdPjJ9O2ZTPWZ1bmN0aW9uKGEpe3JldHVybntidXR0b25WaWV3TW9kZWw6e2FjY2Vzc2liaWxpdHlUZXh0OmF9fX07CmdTPWZ1bmN0aW9uKGEsYil7Yj1hPT09MTAwP1lqYTphPT09Yj9aamE6dm9pZCAwO3JldHVybnt2YXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsOntwbGF5YmFja1NwZWVkQnV0dG9uOntidXR0b25WaWV3TW9kZWw6e3RpdGxlOmAke2EvMTAwfXhgLHN0eWxlOiJCVVRUT05fVklFV19NT0RFTF9TVFlMRV9NT05PIix0eXBlOiJCVVRUT05fVklFV19NT0RFTF9UWVBFX1RPTkFMIixidXR0b25TaXplOiJCVVRUT05fVklFV19NT0RFTF9TSVpFX0NPTVBBQ1QiLGljb25UcmFpbGluZzohMH19LGJ1dHRvbkxhYmVsOntjb250ZW50OmJ9LHBsYXliYWNrU3BlZWRCdXR0b25DZW50aVZhbHVlOmF9fX07CmRrYT1mdW5jdGlvbihhKXtpZihhPy5pc1JlYWR5Py4oKSl7dmFyIGI9YS5nZXRQbGF5YmFja1JhdGUoKTtpZihiKXtoU3x8KGhTPV8ueE0oKSk7dmFyIGM9ZVMoYSk/JGphOmFrYTtpZighaFM/LmdldCgicmVjZW50LWN1c3RvbS1zcGVlZCIpfHxiIT09MSlyZXR1cm4gYy5tYXAoZT0+Z1MoZSkpO3ZhciBkPU51bWJlcihoUy5nZXQoInJlY2VudC1jdXN0b20tc3BlZWQiKSk7aWYoYy5pbmNsdWRlcyhkKSlyZXR1cm4gYy5tYXAoZT0+Z1MoZSxkKSk7YT1lUyhhKT9ia2Euc2xpY2UoKTpja2Euc2xpY2UoKTthLnB1c2goZCk7YS5zb3J0KChlLGYpPT5lLWYpO3JldHVybiBhLm1hcChlPT5nUyhlLGQpKX19fTsKaWthPWZ1bmN0aW9uKGEpe2lmKGE/LmlzUmVhZHk/LigpKXt2YXIgYj1hLmdldFBsYXliYWNrUmF0ZSgpLGM9YS5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7aWYoYiYmYyl7dmFyIGQ9Y1tjLmxlbmd0aC0xXSoxMDA7Yz1jWzBdKjEwMDtiPXtob3Jpem9udGFsU2xpZGVyVmlld01vZGVsOnttYXhWYWx1ZTpkLG1pblZhbHVlOmMsaW5pdGlhbFZhbHVlOmIqMTAwLHN0ZXBDb3VudDooZC1jKS81LHZhbHVlRGVub21pbmF0b3I6MTAwLGluY3JlYXNlQnV0dG9uOmZTKGVrYSksZGVjcmVhc2VCdXR0b246ZlMoZmthKSxyZW5kZXJlckNvbnRleHQ6e2FjY2Vzc2liaWxpdHlDb250ZXh0OntsYWJlbDpna2F9fX19O2E9ZGthKGEpO3JldHVybnt2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbDp7c2xpZGVyOmIscGxheWJhY2tTcGVlZEJ1dHRvbnM6YSxiYWRnZTp7YmFkZ2VWaWV3TW9kZWw6e2JhZGdlVGV4dDoiUCIsYmFkZ2VTdHlsZToiQkFER0VfUFJFTUlVTSIsYWNjZXNzaWJpbGl0eUxhYmVsOmhrYX19fX19fX07CmlTPWZ1bmN0aW9uKGEpe2hTfHwoaFM9Xy54TSgpKTtoUyYmaFMuc2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIixTdHJpbmcoYSoxMDApKX07a2thPWZ1bmN0aW9uKGEpe3ZhciBiPWlrYShhKSxjPV8uQihiLGprYSk7YyYmXy55Tih7SGE6ITAscGY6ITAsR2I6KCk9Pl8uSyhfLmtPLHtkYXRhOmMscHo6ZD0+e2Euc2V0UGxheWJhY2tSYXRlKGQudGFyZ2V0LnZhbHVlQXNOdW1iZXIpfSxvejpkPT57aVMoZC50YXJnZXQudmFsdWVBc051bWJlcil9LHF6OmQ9PnthLnNldFBsYXliYWNrUmF0ZShkKTtkIT09MSYmaVMoZCk7Xy56TigpfX0pfSl9O2pTPWZ1bmN0aW9uKGEpe3JldHVybihhPWxrYVthXSk/YCR7YX1wYDpta2F9O2tTPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5XRCgoKT0+YS5nZXRQbGF5YmFja1F1YWxpdHkoKSksZD1fLldEKCgpPT5hLmdldFByZWZlcnJlZFF1YWxpdHkoKSksZT1qUyhiKTtiPT09ImF1dG8iJiZkPT09ImF1dG8iJiYoZSs9YCAoJHtqUyhjKX0pYCk7cmV0dXJuIGV9Owpva2E9ZnVuY3Rpb24oYSl7Xy55Tih7R2I6KCk9Pl8uSyhua2Ese0g6YX0pLEhhOiEwfSl9O3BTPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZFMoYSwoKT0+Xy5LKF8uSUIsbnVsbCxfLksobFMse0g6Yn0pLF8uSyhtUyx7SDpifSksXy5LKHBrYSx7SDpifSksXy5LKF8uTyx7QTooKT0+Yi5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpPy5sZW5ndGgsdGhlbjooKT0+Xy5LKG5TLHtIOmJ9KX0pLF8uSyhvUyx7SDpiLG9oOmMsdGE6ZCx0QTplfSkpKX07cWthPWZ1bmN0aW9uKGEsYixjKXtkUyhhLCgpPT5fLksoXy5JQixudWxsLFNSKGIsYykpKX07CnJrYT1mdW5jdGlvbihhKXtfLm5QKCk7aWYoYS54YylpZihhLmNhcHRpb25zRW5hYmxlZClxUyhfLiROLlNzKTtlbHNle3ZhciBiPWEuSDtpZihiKXtpZihhPVBRKGIpLGI9TlEoYikpYjp7aWYoYi50cmFuc2xhdGlvbkxhbmd1YWdlJiYoYT1iLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Yi50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fCIiOiIiKSlicmVhayBiO2E9Yi5kaXNwbGF5TmFtZX19ZWxzZSBhPSIiO3FTKGE/Xy4kTi5Vcy5yZXBsYWNlKCJsYW5ndWFnZV9wbGFjZWhvbGRlciIsYSk6Xy4kTi5Ucyl9ZWxzZSBxUyhfLiROLlJzKX07cVM9ZnVuY3Rpb24oYSl7Xy5wUCgoKT0+YSl9O3NrYT1mdW5jdGlvbihhLGIpe3ZhciBjPXJTKGEpO2E9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7YT17Li4uc1MoYSksRWU6ITB9O3JldHVybnt0YTpjLGJhOmEsVGM6ZG9jdW1lbnQuYm9keSxHYzpifX07CnRrYT1mdW5jdGlvbihhLGIpe3ZhciBjPWpqYSgpLGQ9ey4uLnJTKGEpLFNqOmY9Pnt2YXIgaD0hdFMoKSxrPWEuaXNSZWFkeT8uKCkmJiEhYS5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheTtwUyhmLGEsaCxkLGspfSxkZTooKT0+e3ZhciBmPWM/LmdldCgiYXV0b25hdl9lbmFibGVkIik7cmV0dXJuIGY9PT12b2lkIDB8fGY9PT0idHJ1ZSJ9LFJqOihmLGgpPT57aCYmYz8uc2V0KCJhdXRvbmF2X2VuYWJsZWQiLFN0cmluZyhmKSl9LFVsOigpPT5jPy5nZXQoImF1dG9uYXZfZW5hYmxlZCIpIT09dm9pZCAwfSxlPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2U9ey4uLnNTKGUpLHZ2OjM1MCx6djohMCxNbDo0RTMsaGlkZVZpZGVvSW5mbzplLmhpZGVJbmZvfTtyZXR1cm57dGE6ZCxiYTplLFRjOmRvY3VtZW50LmJvZHksR2M6Yn19OwpyUz1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKSxjPWdqYSxkPVRRLGU9U1E7aWYoYj8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd1NldEZhdXhGdWxsc2NyZWVuJiZiPy5leHRlcm5hbEZ1bGxzY3JlZW4pe2xldCBmPW5ldyB1a2EoYSk7Yz0oKT0+Zi5pc0Z1bGxzY3JlZW4oKTtkPSgpPT57Zi50b2dnbGVGdWxsc2NyZWVuKCl9O2U9KCk9PntmLmV4aXRGdWxsc2NyZWVuKCl9fXJldHVybntTajpmPT57dmFyIGg9IXRTKCk7YT8uZ2V0U2l6ZSgpPy53aWR0aDwzMjA/cWthKGYsYSxoKTpwUyhmLGEsaCl9LHFBOnJrYSxpc0Z1bGxzY3JlZW46Yyx0b2dnbGVGdWxsc2NyZWVuOmQsZXhpdEZ1bGxzY3JlZW46ZSxkZTooKT0+ITEsUmo6KCk9Pnt9LFVsOigpPT4hMX19OwpzUz1mdW5jdGlvbihhKXtyZXR1cm57RWU6ITAsTWk6ITAsTWw6Xy54KCJlbWJlZHNfZW5hYmxlX2RlbGF5X2NvbnRyb2xzX2hpZGUiKT80RTM6dm9pZCAwLGlxOmEuZGlzYWJsZUZ1bGxzY3JlZW4sbmg6YS5jb250cm9sc1R5cGU9PT0wLG9oOiF0UygpLGhpZGVWaWRlb0luZm86YS5oaWRlSW5mbyYmYS5lbWJlZHNIb3N0RmxhZ3M/Lm9wdE91dEFwaURlcHJlY2F0aW9uLHVqOiEwLER6OiFfLngoImVtYmVkc19lbWMzZHNfcHJlc2VydmVfZnVsbHNjcmVlbl9rcyIpLHpyOiEwLHJBOiEwLFpoOiEwLHZuOiEwLFpBOiFfLngoImVtYmVkc19lbWMzZHNfZnRsX2tzIiksdm9sdW1lQ29udHJvbFR5cGU6Xy54KCJlbWJlZHNfZGVza3RvcF9lbmFibGVfdm9sdW1lX3NsaWRlciIpJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKGFueS1wb2ludGVyOiBmaW5lKSIpLm1hdGNoZXM/InZvbHVtZS1zbGlkZXIiOiJtdXRlLWJ1dHRvbiJ9fTsKdFM9ZnVuY3Rpb24oKXtyZXR1cm4gXy50UCgpfHxfLnF6KCkmJiFfLncoIlBMQVlFUl9WQVJTIik/LnByaXZlbWJlZCYmIShfLmVyJiZfLk1rKCJ2ZXJzaW9uLyIpKSYmIV8ucnooKX07dVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGxheWVyU3RhdGU9PT0wfTt3Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS52aWRlb0R1cmF0aW9uP3ZTKGEpP0RRKGEuQ2EvYS52aWRlb0R1cmF0aW9uLDAsMSk6RFEoKGEudmF8fDApL2EudmlkZW9EdXJhdGlvbiwwLDEpOjB9O3hTPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpZGVvRHVyYXRpb24/YS5pc0RyYWdnaW5nfHx2UyhhKT9EUShhLkNhL2EudmlkZW9EdXJhdGlvbiwwLDEpOkRRKChhLnZhfHwwKS9hLnZpZGVvRHVyYXRpb24sMCwxKTowfTt2Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS5LYj4xJiZhLkpkIT09MH07CnlTPWZ1bmN0aW9uKGEpe3JldHVybihfLngoIndlYl9lbmFibGVfZGlic19pbXBsZW1lbnRhdGlvbiIpfHxfLngoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSkmJmEuSD8uZ2V0VmlkZW9EYXRhKGEucGxheWVyVHlwZSk/LmlzU2Vla2FibGV8fGEucGxheWVyVHlwZT09PTE/ITE6YS5iYT8uWmg/IWEuSD8uZ2V0UGxheWVyU3RhdGVPYmplY3QoYS5wbGF5ZXJUeXBlKS5pc0RvbVBhdXNlZDohMH07elM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5hdXRvbmF2VG9nZ2xlLHZrYSl9O0FTPWZ1bmN0aW9uKGEpe3JldHVybiBhPy5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cz8uYXV0b3BsYXk/LmF1dG9wbGF5fTtCUz1mdW5jdGlvbihhKXtyZXR1cm4gYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uYXV0b3BsYXk/LnBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyfTsKRVM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihDUyhhKT8ucGxheWVyQmFyLERTKX07RlM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5tYXJrZXJzTWFwPy5maW5kKGI9PmIua2V5PT09IkhFQVRTRUVLRVIiKT8udmFsdWU/LmhlYXRtYXAsd2thKX07Q1M9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihhPy5kZWNvcmF0ZWRQbGF5ZXJCYXJSZW5kZXJlcix4a2EpfTtHUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKENTKGEpPy5wbGF5aGVhZCx5a2EpfTt6a2E9ZnVuY3Rpb24oYSl7cmV0dXJuISFhPy5tYXJrZXJzTWFwPy5maW5kKGI9PlsiREVTQ1JJUFRJT05fQ0hBUFRFUlMiLCJBVVRPX0NIQVBURVJTIl0uaW5jbHVkZXMoYi5rZXkpKX07SlM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gSFMoYSxiKXx8SVMoYSk/ITE6IWEuaXNEcmFnZ2luZyYmIXZTKGEpJiYhYS5zYiYmYS5MZiE9PSJvbiJ9OwpIUz1mdW5jdGlvbihhLGIpe3JldHVybiFhLmF1dG9uYXZFbmFibGVkfHxhLnhmfHwhYnx8YS5yY3x8YS5pc1BsYXlsaXN0JiZiPy5zZXRzPy5bMF0uYXV0b3BsYXlWaWRlbz8hMTp1UyhhKX07Q2thPWZ1bmN0aW9uKGEsYil7Yj1iPy5hY3Rpb25CYXJCdXR0b25zO3JldHVybiBfLkIoXy5CKGE/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmZ1bGxzY3JlZW5FbmdhZ2VtZW50LEFrYSk/LmFjdGlvbkJhcixCa2EpPy5hY3Rpb25CYXJCdXR0b25zfHxifHxbXX07TFM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihfLkIoYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZnVsbHNjcmVlblF1aWNrQWN0aW9uc0JhcixLUyk/LmZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludCxEa2EpfTsKTVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmVuZFNjcmVlbj8ud2F0Y2hOZXh0RW5kU2NyZWVuUmVuZGVyZXI/LnJlc3VsdHN8fFtdfTtOUz1mdW5jdGlvbihhLGIpe3JldHVybiBhP2EudmlkZW9EZXRhaWxzPy5lbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlcjpfLkIoYj8udmlkZW9EZXRhaWxzLEVrYSl9O1BTPWZ1bmN0aW9uKGEsYil7Yj1fLkIoYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LmluZm9QYW5lbCxPUyk7cmV0dXJuIF8uQihhPy5pbmZvUGFuZWwsT1MpfHxifTtJUz1mdW5jdGlvbihhKXtyZXR1cm4gYS5OYT8hMDphLkpmIT09MH07CkZrYT1mdW5jdGlvbih7ZWxlbWVudDphLHZlVHlwZTpiLExBOmM9bnVsbCxlbGVtZW50SW5kZXg6ZD0wLGNsaWVudFlvdVR1YmVEYXRhOmV9KXt2YXIgZj1fLmlxKCk7ZiE9PVFTJiYoUlMuY2xlYXIoKSxRUz1mKTtpZihhLnZpc3VhbEVsZW1lbnQmJlJTLmhhcyhhLnZpc3VhbEVsZW1lbnQpKXJldHVybiBudWxsO2lmKGMmJlJTLmhhcyhjKSlyZXR1cm4gYS52aXN1YWxFbGVtZW50PWMsbnVsbDtiPV8uRXgoXy5oeCgpLHt2ZVR5cGU6YixlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTplfSk7aWYoIWIpcmV0dXJuIG51bGw7YS52aXN1YWxFbGVtZW50PWI7UlMuYWRkKGIpO3JldHVybiBifTsKU1M9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPV8uTk4sZT1udWxsLGYsaCl7dmFyIGs9KCk9PntpZihiKXtjIGluc3RhbmNlb2YgRnVuY3Rpb24mJihjPWMoKSk7dmFyIGw9RmthKHtlbGVtZW50OmIsdmVUeXBlOmEsTEE6YyxjbGllbnRZb3VUdWJlRGF0YTpmfSk7bCYmKF8uSngoYix7ZGF0YTplLG9ic2VydmVyOl8ueSgpLnJlc29sdmUoXy5MeCksTmM6Xy5uRixlYjpfLm1GLGxheWVyOmIubGF5ZXJ9KSxkKGwpKX19O2g/aygpOl8uT0UoKCk9PntrKCl9KX07R2thPWZ1bmN0aW9uKGEpe1NTKDExMjM5NCxhLCgpPT5UUyxiPT57VFM9Yn0pfTsKVVM9ZnVuY3Rpb24oYSl7dmFyIGI9VFMsYz1fLmlxKDApO2lmKGMmJmIpe3ZhciBkPU1hdGgucm91bmQoYS52YSoxRTMpO2E9TWF0aC5yb3VuZChhLkNhKjFFMyk7ZD4yKiozMS0xfHxhPjIqKjMxLTF8fF8uVmkoXy5leCkodm9pZCAwLGMsYiwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyIse3NlZWtEYXRhOntzdGFydE1lZGlhVGltZU1zOlN0cmluZyhkKSxlbmRNZWRpYVRpbWVNczpTdHJpbmcoYSksc2Vla1NvdXJjZToiU0VFS19TT1VSQ0VfU0xJREVfT05fU0NSVUJCRVJfQkFSIn19LHZvaWQgMCl9fTtXUz1mdW5jdGlvbihhLGIsYyl7U1MoYixhLCgpPT5WU1tiXSxkPT57VlNbYl09ZDtfLkpPKGQpfSx2b2lkIDAsdm9pZCAwLGMpfTtYUz1mdW5jdGlvbihhKXsoYT1WU1thXSkmJl8ud0ooXy5oeCgpLGEpfTtIa2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5WdygwKSxjPV8uaXEoMCk7YyYmYiYmYSYmXy5WaShfLmJ4KSh2b2lkIDAsYyxiLGEpfTsKWVM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5pcSgwKTtiJiZhJiZfLnlKKGIsYSl9O1pTPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaXEoMCk7YiYmYSYmXy5WaShfLkFPKSh2b2lkIDAsYixhLHZvaWQgMCx2b2lkIDAsdm9pZCAwKX07JFM9ZnVuY3Rpb24oYSxiKXtpZighYS5iYT8uWmh8fCFhLkgpcmV0dXJuITE7YT1hLkguZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtyZXR1cm4gYS5pc0Vycm9yfHxiJiYhTVIoYik/ITE6YS5pc0N1ZWR8fGEuaXNEb21QYXVzZWR9O2NUPWZ1bmN0aW9uKGEsYil7YVQmJiFiPy5JY3x8YS5wbGF5ZXJTdGF0ZT09PTJ8fGEucGxheWVyU3RhdGU9PT0tMXx8dVMoYSl8fGEucGxheWVyU3RhdGU9PT01fHwoYj8uSWMmJmJUKCksYVQ9c2V0VGltZW91dCgoKT0+e2EuUyh7ZWE6ITF9KX0sYS5iYT8uTWw/PzJFMykpfTtiVD1mdW5jdGlvbigpe2FUJiYoY2xlYXJUaW1lb3V0KGFUKSxhVD12b2lkIDApfTtJa2E9ZnVuY3Rpb24oYSl7YVQ9YX07CmRUPWZ1bmN0aW9uKGEpe3JldHVybntpc0xpdmU6ITEsaXNMaXZlRHZyRW5hYmxlZDohMCxpc1BsYXlsaXN0OiExLHBsYXllclR5cGU6MSx5cTohMSx2aWRlb0lkOnZvaWQgMCxjYXB0aW9uc0VuYWJsZWQ6ITEseGM6ITEsdm9sdW1lOjAscmM6ITAsSmY6MCxSeDohMSxzYjohMSxXZDohMSxOYTohMSxpc0Z1bGxzY3JlZW46ITEsS2I6MCx5aDowLEpkOjAseGY6ITEsYXV0b25hdkVuYWJsZWQ6ITEsemY6ITEseWY6MCxZaDohMSxpc0RyYWdnaW5nOiExLENhOjAsUWM6ITEsZGo6MCxRbTowLHBsYXllclN0YXRlOmE/LmdldFBsYXllclN0YXRlKCk/Py0xLHZpZGVvRHVyYXRpb246MCx2YTowLE9uOiExLGplOnZvaWQgMCxwbGF5YmFja1JhdGU6MSxlYTohMSx5YjohMSxnZTohMSxMZjoib2ZmIixacjowLExwOjAsWXY6MH19O0prYT1mdW5jdGlvbihhKXthVCYmYlQoKTtJa2Eoc2V0VGltZW91dCgoKT0+e2EuUyh7ZWE6ITEseWI6ITF9KX0sMkUzKSl9OwpLa2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg/LmdldFBsYXllclN0YXRlKCk7IWN8fGM9PT1iLnBsYXllclN0YXRlfHxjIT09MSYmYyE9PTJ8fChjJiYoYz09PTI/Yi5lYT8oYi5TKHt5YjohMX0pLGJUKCkpOmIuUyh7ZWE6ITAseWI6ITF9KTpjPT09MSYmYi5lYSYmIWIuaXNEcmFnZ2luZyYmKGIueWI/SmthKGIpOmIuUyh7ZWE6ITEseWI6ITF9KSkpLGIuUyh7cGxheWVyU3RhdGU6Y30pKX19O0xrYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKSxkPWMuSCxlPWQ/LmdldFZpZGVvRGF0YSgpLnZpZGVvX2lkO2UhPT1jLnZpZGVvSWQmJmI/LnR5cGU9PT0ibmV3ZGF0YSImJihiPWQ/LmdldER1cmF0aW9uKGI/LnBsYXllcnR5cGUpLGJUKCksYy5TKHt2aWRlb0R1cmF0aW9uOmIsdmE6MCx2aWRlb0lkOmUsZWE6ITEseWI6ITF9KSl9fTsKTWthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpLGQ9Yy5IO2lmKGQpe3ZhciBlPWQuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtfLngoIndlYl9zaG9ydHNfdXNlX3Byb2dyZXNzX3N0YXRlX2Zvcl9nYXBsZXNzIik/KGQ9ZC5nZXRQcm9ncmVzc1N0YXRlKGUpLGQ9ZC5zZWVrYWJsZUVuZC1kLnNlZWthYmxlU3RhcnQpOmQ9ZC5nZXREdXJhdGlvbihlKTtjLlMoe3ZhOmIsdmlkZW9EdXJhdGlvbjpkfSl9fX07Z1Q9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm5bXTthPWEubWFya2Vyc01hcD8uZmluZChjPT5bIkRFU0NSSVBUSU9OX0NIQVBURVJTIiwiQVVUT19DSEFQVEVSUyJdLmluY2x1ZGVzKGMua2V5KSk/LnZhbHVlPy5jaGFwdGVyc3x8W107KGEubGVuZ3RoPT09MD8wOl8uQihhWzBdLGVUKT8udGltZVJhbmdlU3RhcnRNaWxsaXMhPT0wKSYmIWI/Lm54JiYoYT1bZlQoKSwuLi5hXSk7cmV0dXJuIGF9O2ZUPWZ1bmN0aW9uKCl7cmV0dXJue2NoYXB0ZXJSZW5kZXJlcjp7dGltZVJhbmdlU3RhcnRNaWxsaXM6MH19fTsKaFQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS50aW1lUmFuZ2VTdGFydE1pbGxpc3x8MDowfTtrVD1mdW5jdGlvbihhLGIpe3JldHVybiBnVChiKS5maW5kKChjLGQsZSk9PmlUKGpUKGEpLGUsZCkuTGQ9PT0iYWN0aXZlIil9O2xUPWZ1bmN0aW9uKGEsYil7aWYoYS5pc0RyYWdnaW5nJiZiKXJldHVybiBhPU5rYShhLGIpLGE9PT0tMT9mVCgpOmdUKGIpW2FdfTtOa2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5pc0RyYWdnaW5nJiZiP2dUKGIse254OiEwfSkuZmluZEluZGV4KChjLGQsZSk9PmlUKGpUKGEpLGUsZCkuQmcpOi0xfTttVD1mdW5jdGlvbihhKXthPV8uQihhLGVUKTthPy5vbkFjdGl2ZUNvbW1hbmQmJl8uYUUoYS5vbkFjdGl2ZUNvbW1hbmQpfTtqVD1mdW5jdGlvbihhKXtyZXR1cm57Li4uYSx2aWRlb0R1cmF0aW9uOmEudmlkZW9EdXJhdGlvbioxRTMsdmE6YS52YSoxRTMsQ2E6YS5DYSoxRTN9fTsKaVQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWhUKF8uQihiW2NdLGVUKSk7Yj1oVChfLkIoYltjKzFdLGVUKSl8fGEudmlkZW9EdXJhdGlvbjtjPWEuaXNEcmFnZ2luZzt2YXIgZTtpZihlPWEuaXNEcmFnZ2luZyllPWEuQ2EsZT1lIT09bnVsbCYmZT49ZCYmZTxiO3ZhciBmPWEudmE7cmV0dXJuIGYhPT1udWxsJiZmPj1kJiZmPGI/e0xkOiJhY3RpdmUiLGJtOmMsQmc6ZX06YS52YTxkP3tMZDoicGVuZGluZyIsYm06YyxCZzplfTp7TGQ6InNlZW4iLGJtOmMsQmc6ZX19O25UPWZ1bmN0aW9uKGEsYixjKXtpZihpVChhLGIsYykuTGQhPT0iYWN0aXZlIilyZXR1cm4gMDt2YXIgZD1oVChfLkIoYltjXSxlVCkpO3JldHVybihhLnZhLWQpLygoaFQoXy5CKGJbYysxXSxlVCkpfHxhLnZpZGVvRHVyYXRpb24pLWQpfTtvVD1mdW5jdGlvbihhLGI9MCl7cmV0dXJuIGEuTGQ9PT0ic2VlbiJ8fGI+MH07CnBUPWZ1bmN0aW9uKGEsYixjKXtiPWEvYi5acjtjPWdUKGMpO2lmKCFjLmxlbmd0aClyZXR1cm4tYio3Mjt2YXIgZD0wO2ZvcihsZXQgZSBvZiBjKWlmKGhUKF8uQihlLGVUKSkvMUUzPGEpZCsrO2Vsc2UgYnJlYWs7cmV0dXJuLShiKjcyKS1kKjU2fTtPa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO2EuQigpO2Quc3RvcFByb3BhZ2F0aW9uKCk7ZD1xVChhLGUsZC5jbGllbnRYKSplLnZpZGVvRHVyYXRpb247ZS5TKHt2YTpkfSk7ZS5wbGF5ZXJTdGF0ZT09PTJ8fGYuRm4/LigpO2EuRC52KGQsZSw3KX19O3JUPWZ1bmN0aW9uKGEpe2E9YS50b3VjaGVzWzBdO3JldHVybnt4OmEuY2xpZW50WCx5OmEuY2xpZW50WX19O1BrYT1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9clQoYyksZT1iKCk7YS5zdGFydFBvc2l0aW9ufHwoYS5zdGFydFBvc2l0aW9uPWQsYS5CKCksYS5qPWUuZWEsYy5zdG9wUHJvcGFnYXRpb24oKSl9fTsKUWthPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD17eDpjLmNsaWVudFgseTpjLmNsaWVudFl9LGU9YigpO2Euc3RhcnRQb3NpdGlvbnx8KGEuc3RhcnRQb3NpdGlvbj1kLGEuQigpLGEuaj1lLmVhLGMuc3RvcFByb3BhZ2F0aW9uKCkpfX07CnRUPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXthLnN0YXJ0UG9zaXRpb24mJihmJiZlLmlqJiZhLnN0YXJ0UG9zaXRpb24mJiFhLm8mJk1hdGguYWJzKGMueS1hLnN0YXJ0UG9zaXRpb24ueSk+TWF0aC5hYnMoYy54LWEuc3RhcnRQb3NpdGlvbi54KT9zVChhLGQsZSk6KGIucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLGQudmlkZW9EdXJhdGlvbiYmKGEuc3RhcnRQb3NpdGlvbiYmIWEubyYmKGEubz1NYXRoLmFicyhjLngtYS5zdGFydFBvc2l0aW9uLngpPj0xKSxlLktmJiYoYS5zdGFydFBvc2l0aW9uJiYoYS52PS0oYy55LWEuc3RhcnRQb3NpdGlvbi55KT49NjApLCFhLnN0YXJ0UG9zaXRpb258fGMueT49YS5zdGFydFBvc2l0aW9uLnl8fChkLlMoe0xmOiJkcmFnZ2luZyIsTHA6cFQoZC5DYSxkLGUuUmEpfSksYS5VKGQuQ2EpLGEuWihhLnN0YXJ0UG9zaXRpb24ueSxjLnksZCkpKSxhLm8mJihiPXFUKGEsZCxjLngpLGEudiYmKGQuSD8ucGF1c2VWaWRlbygpLGQuUyh7TGY6Im9uIiwKWXY6ZC5DYSxMcDpwVChiKmQudmlkZW9EdXJhdGlvbixkLGUuUmEpfSkpLGUuS2YmJighZS5LZnx8YS5LKGQpPDY4KXx8KGQuaXNEcmFnZ2luZ3x8ZC50YS5rej8uKCksZC5TKHtDYTpiKmQudmlkZW9EdXJhdGlvbixlYTohMCxpc0RyYWdnaW5nOiEwLHliOmEuan0pKSxlLllvPy4oKSkpKSl9O1JrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7dFQoYSxkLHJUKGQpLGUsZiwhMCk7aWYoZi5vblRvdWNoTW92ZSlmLm9uVG91Y2hNb3ZlKGUpfX07dlQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYi5idXR0b25zIT09MSl7aWYoYi5tb3ZlbWVudFh8fGIubW92ZW1lbnRZKWIucHJldmVudERlZmF1bHQoKSxiLnN0b3BQcm9wYWdhdGlvbigpLGE9cVQoYSxjLGIuY2xpZW50WCksYy5RY3x8Yy50YS5rej8uKCksYy5TKHtRYzohMCxkajphKmMudmlkZW9EdXJhdGlvbn0pfWVsc2UgdVQoYyksdFQoYSxiLHt4OmIuY2xpZW50WCx5OmIuY2xpZW50WX0sYyxkLCExKX07ClNrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2VChhLGQsYigpLGMoKSl9fTtUa2E9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7dVQoYil9fTtzVD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jLktmJiZiLkxmIT09Im9mZiI7Yi5pc0RyYWdnaW5nfHxlPyhkPXtpc0RyYWdnaW5nOiExLHZhOmIuQ2EsZWE6YS5qfSxjLktmJiZiLkxmIT09Im9uIiYmKGEuTSgpLGQuTGY9Im9mZiIpLFVTKGIpLGIuUyhkKSxhLkQudihiLkNhLGIsNyksYy5JbiYmYi5yYyYmYi5IPy51bk11dGUoKSx3VChhKSk6KF8ueCgibWF3cGNfdG91Y2hfZW5kX2hhbmRsZXJfYnVnX2ZpeF9raWxsc3dpdGNoIik/Yi5TKHtlYTohYi5lYX0pOmIuUyh7ZWE6ITB9KSxjLkZuPy4oKSx3VChhKSxfLngoIm1hd3BjX3RvdWNoX2VuZF9oYW5kbGVyX2J1Z19maXhfa2lsbHN3aXRjaCIpfHxkPy5zdG9wUHJvcGFnYXRpb24oKSl9OwpVa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO3NUKGEsZSxmLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9fTtWa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9YigpLGY9YygpO3NUKGEsZSxmLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9fTtXa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57c1QoYSxiKCksYygpLGQpfX07WGthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57Yi5rZXlDb2RlPT09Mzl8fGIua2V5Q29kZT09PTM4P2EoKT8uSD8uc2Vla0J5KDUsdm9pZCAwLHZvaWQgMCw3Mik6KGIua2V5Q29kZT09PTM3fHxiLmtleUNvZGU9PT00MCkmJmEoKT8uSD8uc2Vla0J5KC01LHZvaWQgMCx2b2lkIDAsNzEpfX07WWthPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+eyFjKCkuZGlzYWJsZVNjcnViYmluZyYmYS5zdGFydFBvc2l0aW9uJiZ2VChhLGQsYigpLGMoKSl9fTsKeFQ9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57aWYoIWMoKS5kaXNhYmxlU2NydWJiaW5nKWlmKGEuc3RhcnRQb3NpdGlvbil7dmFyIGU9YigpLGY9YygpO3NUKGEsYigpLGMoKSxkKTtpZihmLm9uVG91Y2hFbmQpZi5vblRvdWNoRW5kKGUpfWVsc2UgYigpLlMoe2lzRHJhZ2dpbmc6ITF9KX19O3VUPWZ1bmN0aW9uKGEpe2EuUWMmJmEuUyh7UWM6ITEsZGo6MH0pfTtxVD1mdW5jdGlvbihhLGIsYyl7YT1hLkkoYik7cmV0dXJuIERRKDAsKGMtYS5sZWZ0KS9hLndpZHRoLDEpfTt3VD1mdW5jdGlvbihhKXthLnN0YXJ0UG9zaXRpb249bnVsbDthLm89ITE7YS52PSExO2Euaj0hMX07eVQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS53aWR0aC9hLmNvbHVtbnM6MH07elQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/YS5oZWlnaHQvYS5yb3dzOjB9O0FUPWZ1bmN0aW9uKGEpe3JldHVybiBhLlFjP2EuZGo6YS5DYX07CkJUPWZ1bmN0aW9uKGEsYil7YT1hLkNhKjFFMztyZXR1cm4gYT49Yi52aXNpYmxlVGltZVJhbmdlU3RhcnRNaWxsaXMmJmE8PWIudmlzaWJsZVRpbWVSYW5nZUVuZE1pbGxpc307Q1Q9ZnVuY3Rpb24oYSl7aWYoYT09PXZvaWQgMHx8TnVtYmVyLmlzTmFOKGEpKXJldHVybiItLTotLSI7dmFyIGI9TWF0aC5hYnMoTWF0aC5mbG9vcihhKSksYz1NYXRoLmZsb29yKGIvODY0MDApLGQ9TWF0aC5mbG9vcihiJTg2NDAwLzM2MDApLGU9TWF0aC5mbG9vcihiJTM2MDAvNjApO2I9TWF0aC5mbG9vcihiJTYwKTt2YXIgZj0iIjtjPjAmJihmKz1gJHtjfTpgLGQ8MTAmJihmKz0iMCIpKTtpZihjPjB8fGQ+MClmKz1gJHtkfTpgLGU8MTAmJihmKz0iMCIpO2YrPWAke2V9OmA7YjwxMCYmKGYrPSIwIik7Zis9YjtyZXR1cm4gYT49MD9mOmAtJHtmfWB9OwpEVD1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9QVQoYSgpKTt2YXIgZD1iKCk7dmFyIGU9YSgpLkg7aWYoZSYmZS5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMoKSE9PTApe3ZhciBmPWUuZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgoYywxKTtmIT09LTE/ZD1lLmdldFN0b3J5Ym9hcmRGcmFtZShmLDEpOihjPWUuZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgoYywwKSxlPWUuZ2V0U3Rvcnlib2FyZEZyYW1lKGMsMCksZCYmZSYmKGUuaGVpZ2h0Kj0zLGUud2lkdGgqPTMpLGQ9ZSl9ZWxzZSBkPW51bGw7aWYoIWQpcmV0dXJuIG51bGw7YigpJiYoZC53aWR0aD05MCpkLmNvbHVtbnMsZC5oZWlnaHQ9MTYwKmQucm93cyk7cmV0dXJuIGR9fTsKJGthPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBhLk5hfHxhLmlzTGl2ZT9kOmI+MT9FVChkKTpzZXRUaW1lb3V0KCgpPT57YygpO25hdmlnYXRvcj8udmlicmF0ZSYmbmF2aWdhdG9yLnZpYnJhdGUoWmthKX0sXy5zaigic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyIsNTAwKSl9O0VUPWZ1bmN0aW9uKGEpe2EhPT12b2lkIDAmJmNsZWFyVGltZW91dChhKX07CkhUPWZ1bmN0aW9uKGEsYil7YS5OYXx8YS5pc0xpdmV8fChiPjEmJkZUKGEpLGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgicHJldmVudC1oaWdobGlnaHRzIiksR1Q9c2V0VGltZW91dCgoKT0+e2EuSD8ucGxheVZpZGVvKCk7YlQoKTthLlMoe3NiOiEwLGVhOiEwfSk7dmFyIGM9Xy5zaigic3BlZWRtYXN0ZXJfcGxheWJhY2tfcmF0ZSIsMiksZD1hLkg7ZD8uc2V0UGxheWJhY2tSYXRlPy4oYyk7Xy54KCJtd2ViX2xvbmdfcHJlc3Nfc3BlZWR1cF92aWJyYXRpb24iKSYmZD8uZ2V0UGxheWJhY2tSYXRlKCk9PT1jJiZuYXZpZ2F0b3I/LnZpYnJhdGUmJm5hdmlnYXRvci52aWJyYXRlKGFsYSl9LF8uc2ooInNwZWVkbWFzdGVyX3RvdWNoX2FjdGl2YXRpb25fbXMiLDUwMCkpKX07CklUPWZ1bmN0aW9uKGEsYixjKXtjLnNiJiZhLnByZXZlbnREZWZhdWx0KCk7YT1iLmxrO2I9Yi5PZDtNYXRoLnNxcnQoYSphK2IqYik+Xy5zaigic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIiwxMCkmJiFjLnNiJiZGVChjKX07RlQ9ZnVuY3Rpb24oYSl7ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCJwcmV2ZW50LWhpZ2hsaWdodHMiKTtHVCYmY2xlYXJUaW1lb3V0KEdUKTthLnNiJiYoYS5TKHtzYjohMSxlYTp1UyhhKX0pLGE9YS5ILHR5cGVvZiBhPy5zZXRQbGF5YmFja1JhdGU9PT0iZnVuY3Rpb24iP2Euc2V0UGxheWJhY2tSYXRlKDEpOl8uV2koRXJyb3IoIiRkIikpKX07CmNsYT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmYSl7dmFyIGQ9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihiPWJsYShiLGQud2lkdGgsZC5oZWlnaHQpKWM/LlpBJiYoYz1uZXcgSW1hZ2UsYy5vbmxvYWQ9KCk9PntpamEoKX0sYy5zcmM9YixfLkl6KCJmdHIiKSksYS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9YHVybCgke2J9KWB9fTtibGE9ZnVuY3Rpb24oYSxiLGMpe2lmKChhPWEudGh1bWJuYWlscykmJmEubGVuZ3RoIT09MCl7dmFyIGQ9d2luZG93LmRldmljZVBpeGVsUmF0aW8+MT93aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbzoxO2IqPWQ7Yyo9ZDtpZihiPjY0MHx8Yz40ODApcmV0dXJuIGEuYXQoLTEpLnVybDtpZihiPjMyMHx8Yz4xODApe3ZhciBlO2Q9Yj1jPXZvaWQgMDtmb3IoZSBvZiBhKSFkJiZlLndpZHRoPj0zMjA/ZD1lLnVybDohYiYmZS53aWR0aD49NDgwP2I9ZS51cmw6IWMmJmUud2lkdGg+PTY0MCYmKGM9ZS51cmwpO2lmKGU9Y3x8Ynx8ZClyZXR1cm4gZX1yZXR1cm4gYVswXS51cmx9fTsKSlQ9ZnVuY3Rpb24oYSl7KGE9YT8uaGVhZGVyPy5wbGF5bGlzdEhlYWRlclJlbmRlcmVyKT8oYT1fLkIoYS5jaW5lbWF0aWNDb250YWluZXIsZGxhKT8uYmFja2dyb3VuZEltYWdlQ29uZmlnPy50aHVtYm5haWw/LnRodW1ibmFpbHMsYT1hPy5sZW5ndGg/YVthLmxlbmd0aC0xXS51cmw6dm9pZCAwLGE9IWEpOmE9ITE7cmV0dXJuIGF9O0tUPWZ1bmN0aW9uKGEpe2E9YXx8Xy5YRD8ucmVzcG9uc2U/LnJlc3BvbnNlO3JldHVybiBhPy5oZWFkZXI/LnBhZ2VIZWFkZXJSZW5kZXJlcn07T1Q9ZnVuY3Rpb24oKXt2YXIgYT1fLlhEPy5yZXNwb25zZT8ucmVzcG9uc2U7cmV0dXJuISFLVCgpPy50aXRsZUFuaW1hdGlvbnx8SlQoYSl9OwpQVD1mdW5jdGlvbigpe3ZhciBhPV8uWEQ/LnJlc3BvbnNlPy5yZXNwb25zZSxiPUtUKGEpO2lmKGIpYT1iLnRvcEJhckFuaW1hdGlvbj8hMDohMTtlbHNle2lmKGI9WFEoKSYmIV8uVk0oKSliPV8uWmIod2luZG93LmxvY2F0aW9uLmhyZWYsImxpc3QiKSxiPSEoYj8uc3RhcnRzV2l0aCgiRUwiKXx8Yj8uc3RhcnRzV2l0aCgiU0MiKSk7YT1iJiYhSlQoYSl9cmV0dXJuIGF9OwplbGE9ZnVuY3Rpb24oKXtpZihfLncoIk1XRUJfU1RJQ0tZX1BMQVlFUiIsITEpJiZRVCgpJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjc2VhcmNoaW5nIiYmXy5VTSgpIT09InNlYXJjaCIpe3ZhciBhPXdpbmRvdy5zY3JvbGxZLGI7KGI9Xy5WTSgpKXx8KGI9Xy5VTSgpPT09ImNsaXAiKTtpZihiKSFfLlRFKCkmJiFIUSgpfHwoXy5GZWEub2Zmc2V0SGVpZ2h0PndpbmRvdy5pbm5lckhlaWdodCouNj9fLlR0KF8uRUosInN0aWNreS1wbGF5ZXIiKTpfLlN0KF8uRUosInN0aWNreS1wbGF5ZXIiKSksUlQoImluIiksU1Q9YTtlbHNle2I9U1Q+YTt2YXIgYz1hPj00OCxkPWE8MTI2O1NUPWE7Yj8oYz9SVCgiZmlsbGVkIik6UlQoImluIiksSVEoKSYmZD9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItaW4iKSk6Yz9QVCgpfHxPVCgpP1JUKCJmaWxsZWQiKTooUlQoIm91dCIpLElRKCkmJmQ/VFQoImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKTpUVCgiZmlsdGVyLWNoaXAtYmFyLW91dCIpKToKKFJUKCJpbiIpLElRKCk/VFQoImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKTpUVCgiZmlsdGVyLWNoaXAtYmFyLWluIikpfX12YXIgZTtfLlZNKCkmJihlPVFUKCkpIT1udWxsJiYoYT1lLnNldEF0dHJpYnV0ZSxiPV8uTUUoKT8xOjI0LF8uRE4ubGVuZ3RoPjAmJiFfLnhOKCk/KGM9TnVtYmVyKGRvY3VtZW50LmJvZHkuc3R5bGUudG9wLnJlcGxhY2UoLyhweCl8LS9nLCIiKSksYj0haXNOYU4oYykmJmM8Yik6Yj1TVDxiLGEuY2FsbChlLCJhbWJpZW50LXRvcGJhciIsYi50b1N0cmluZygpKSl9O1FUPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoZWFkZXItYmFyIi50b1N0cmluZygpKX07ClRUPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVU0oKT09PSJob21lInx8SVEoKT9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsdGVyLWNoaXAtYmFyIi50b1N0cmluZygpKTpudWxsO2ImJihfLlR0KGIsImZpbHRlci1jaGlwLWJhci1zdGF0aWMiKSxfLlR0KGIsImZpbHRlci1jaGlwLWJhci1pbiIpLF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLW91dCIpLF8uU3QoYixhKSl9OwpSVD1mdW5jdGlvbihhKXt2YXIgYj1RVCgpO2lmKGIpe2xldCBjPV8uYUwoe1sic3RpY2t5LXBsYXllciJdOl8udygiTVdFQl9TVElDS1lfUExBWUVSIiwhMSksWyJpcy1hdXRvbW90aXZlIl06SFEoKX0pO18uV00oKT9jPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LWJhY2tncm91bmQiLCJzaG9ydHMtdG9wYmFyIik6UFQoKT9jPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LWJhY2tncm91bmQiKTpPVCgpJiYoYz1fLmFMKGMsInRvcGJhci10cmFuc3BhcmVudC10aXRsZSIpKTtiLmNsYXNzTmFtZT1fLmFMKGEsYyl9fTtmbGE9ZnVuY3Rpb24oKXtyZXR1cm4gVVR9O2hsYT1mdW5jdGlvbihhLGIpe2ImJihWVD0hMCk7YT1VVD1hO2I9SlIoKTthIT09YiYmKGI9Xy5IeigpLF8uRHooMTQxLCEwKSxfLkR6KDE0MCwhYSksYi5zYXZlKCkpO2dsYSgpfTtnbGE9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KCgpPT57Xy5YTSgicGxheWVyLWF1dG9uYXYtcGF1c2UiLHtwYXVzZWQ6ITF9KX0pfTsKaWxhPWZ1bmN0aW9uKCl7cmV0dXJuIFZUfTtXVD1mdW5jdGlvbihhLGIpe3JldHVybiBfLk1FKCk/YiYmYT8udmlkZW9EdXJhdGlvbj4zMDpiJiYhYS5lYX07WFQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYiYmYS5lYSYmIV8uTUUoKX07amxhPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoYj1iPz9hd2FpdCBfLkxIKCkpYi51bk11dGUoITApLGIuc2V0Vm9sdW1lKGEsITApfTtaVD1mdW5jdGlvbihhLGIpe2EmJihhLnZhbHVlPWAke2J9YCxhLnN0eWxlLnNldFByb3BlcnR5KCItLWdyYWRpZW50LXBlcmNlbnQiLGAke2J9JWApKX07a2xhPWZ1bmN0aW9uKGEpe3JldHVybiBfLngoInBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0Iik/Xy5rRygkVCk6YX07YVU9ZnVuY3Rpb24oYSl7cmV0dXJuYGh0dHBzOi8vbS55b3V0dWJlLmNvbS9zdGF0aWMvbG90dGllLyR7YX0uanNvbmB9OwpiVT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiYW5pbWF0ZWRfbGlrZV9pY29uIjpyZXR1cm57bmFtZToiYW5pbWF0ZWRfbGlrZV9pY29uX3YyX2RhcmsiLHBhdGg6YVUoImFuaW1hdGVkX2xpa2VfaWNvbl92Ml9kYXJrIiksbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImFuaW1hdGVkLWxpa2UtaWNvbiJ9fTtjYXNlICJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiI6Y2FzZSAibGlrZV90YXBfZmVlZGJhY2tfc2hvcnRzX2hlYXJ0IjpjYXNlICJwYXVzZV85NmRwX2FuaW1hdGlvbiI6Y2FzZSAicGxheV85NmRwX2FuaW1hdGlvbiI6Y2FzZSAic2Vla185NmRwX2FuaW1hdGlvbiI6cmV0dXJue25hbWU6YSxwYXRoOmFVKGEpLGxvb3A6ITEsYXV0b3BsYXk6ITF9O2RlZmF1bHQ6cmV0dXJue25hbWU6IiIscGF0aDoiIn19fTsKY1U9ZnVuY3Rpb24oYSl7Xy5MTygpLnRoZW4oYj0+e2Iuc3RvcCgibGlrZV8yNDBkcF9hbmltYXRpb25fdjIiKTtiLnN0b3AoImxpa2VfdGFwX2ZlZWRiYWNrX3Nob3J0c19oZWFydCIpO2Iuc3RvcCgicGxheV85NmRwX2FuaW1hdGlvbiIpO2Iuc3RvcCgicGF1c2VfOTZkcF9hbmltYXRpb24iKTtiLnBsYXkoYSl9KX07CmxsYT1mdW5jdGlvbihhKXt2YXIgYj1fLkh6KCk7SFEoKXx8YS5xdnx8YS5zdXBwcmVzc0FmdGVyQ2xvc2luZyYmTnVtYmVyKGIuZ2V0KCJzdXBwcmVzc19hcHBfdXBzZWxsIikpJiYhXy54KCJtd2ViX2FwcF91cHNlbGxfYnV0dG9uIil8fChkVXx8KGRVPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKGRVLGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCkpLF8uSk4oZFUsbnVsbCwhMCksYSE9PWVVJiYoZlU/LigpLGZVPV8ueEYoZFUsKCk9PntfLm9GKCgpPT57Xy5NTygiLll0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVySG9zdCAuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50cyIpfSk7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTY3JpbUNvbnRhaW5lciJ9LF8uSyhfLlpOLHtsYWJlbDpfLiROLkNMT1NFfSkpLF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyT3ZlcmxheUNvbnRhaW5lciJ9LApfLksoZ1Use2RhdGE6YX0pKSl9LCJkZCIpKSxlVT1hKX07aFU9ZnVuY3Rpb24oKXtyZXR1cm57c3R5bGU6Im92ZXJsYXktZGFyayIsaWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHNpemU6IkwiLHNpemU6IlMiLHR5cGU6InRleHQiLHN0eWxlOiJvdmVybGF5In19O25sYT1mdW5jdGlvbihhKXt2YXIgYj1fLkIoYS5zaG9wcGluZ1Vwc2VsbCxtbGEpO2ImJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntsbGEoYil9KX07b2xhPWZ1bmN0aW9uKGEpe2E/LmxvZ2dpbmdEaXJlY3RpdmVzPy50cmFja2luZ1BhcmFtcyYmXy5seChfLmh4KCksYS5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtcyl9O2lVPWZ1bmN0aW9uKGEpe3JldHVybiBhfHxfLlZNKCl8fF8uVU0oKT09PSJob21lIn07alU9ZnVuY3Rpb24oYSxiKXtpZihiKXtpZihhJiZiLmRhcmtUaGVtZUxvZ28/Lmljb24/Lmljb25UeXBlKXJldHVybiBiLmRhcmtUaGVtZUxvZ28uaWNvbi5pY29uVHlwZTtpZihiLmxpZ2h0VGhlbWVMb2dvPy5pY29uPy5pY29uVHlwZSlyZXR1cm4gYi5saWdodFRoZW1lTG9nby5pY29uLmljb25UeXBlfX07CmxVPWZ1bmN0aW9uKGEpe3ZhciBiPWEuSDtiJiYoa1U9KGE9a1UpPygoYj1OUShiKSk/Yi5kaXNwbGF5TmFtZXx8IiI6bnVsbCl8fGE6UFEoYikpO3JldHVybiBrVX07bVU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYSgpLnBsYXllclN0YXRlPT09MCYmISFiJiYhYSgpLnhmJiZhKCkuYXV0b25hdkVuYWJsZWR9O25VPWZ1bmN0aW9uKGEsYil7Yj1NUyhiKTtyZXR1cm4gYSgpLnBsYXllclN0YXRlPT09MCYmYi5sZW5ndGg+MH07b1U9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuSD8uaXNSZWFkeT8uKCkmJmEuSD8uaXNBdExpdmVIZWFkKCl9O3BVPWZ1bmN0aW9uKCl7cmV0dXJuIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udHJvbC1vdmVybGF5Iil9O3BsYT1mdW5jdGlvbihhKXthIT09LTEmJl8ueCgicGxheWVyX2NvbnRyb2xzX2xvZ19jcmVhdGlvbl9lbmFibGVkIikmJnBVKCkmJihfLkFxKCJwY3VfY3MiLGEpLF8uQXEoInBjdV9jZSIpKX07CnFVPWZ1bmN0aW9uKGEpe2lmKCFhfHxhLmdldFZpZGVvRGF0YSlyZXR1cm4gYX07cWxhPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIG9mIE9iamVjdC5rZXlzKGEpKWlmKGFbY10hPT1iW2NdKXJldHVybiExO3JldHVybiEwfTtyVT1mdW5jdGlvbigpe3JldHVybiBfLncoIk1XRUJfU1VQUE9SVFNfRE9VQkxFX1RBUF9UT19TRUVLIil9O3JsYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPGIvMz8tMTphPjIqYi8zPzE6MH07c1U9ZnVuY3Rpb24oYSxiLGMpe3JVKCkmJnZTKHsuLi5jLEpkOmIsS2I6YX0pJiYoKGE9Yy5IKSYmYS5zZWVrQnkoTWF0aC5zaWduKGIpKjEwLHZvaWQgMCx2b2lkIDAsNCksYy5wbGF5ZXJTdGF0ZT09PTJ8fGMuSD8ucGF1c2VWaWRlbygpLGI9PT0tMT9YUygyODIzOSk6WFMoMjgyNDApKX07CnVVPWZ1bmN0aW9uKGEsYil7clUoKSYmKGNsZWFyVGltZW91dCh0VSksdFU9c2V0VGltZW91dCgoKT0+e3ZhciBjPXtLYjowLEpkOjAseWg6MH07aWYodlMoYSkpe3ZhciBkPXVTKGEpfHxhLkNhPj1hLnZpZGVvRHVyYXRpb247Yy5lYT1hLnBsYXllclN0YXRlPT09Mnx8YS5wbGF5ZXJTdGF0ZT09PTN8fGQ7Yy52YT1hLkNhO2MueWI9ITE7YS5IPy5pc1JlYWR5Py4oKSYmKGEuSC5zZWVrVG8oYS5DYSksZD17Li4uYSwuLi5jfSwoZC5pc0xpdmV8fGQudmE8ZC52aWRlb0R1cmF0aW9uKSYmZC5PbiYmZC5IPy5nZXRQbGF5ZXJTdGF0ZSgpIT09MSYmZC5IPy5wbGF5VmlkZW8oKSl9ZWxzZSBhLktiPT09MSYmYj8uKCk7YS5TKGMpO2NsZWFyVGltZW91dCh0VSl9LGEuYmE/LnZ2Pz82MDApKX07c2xhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHJVKCkmJmIhPT0wP2EuSmQhPT1iPzE6KDAsXy5lbCkoKS1hLnloPjM1MD9hLktiOmEuS2IrMTowfTsKdWxhPWFzeW5jIGZ1bmN0aW9uKCl7dmFyIGE9YXdhaXQgdlUuamMoKTthJiYoYT1hd2FpdCBhLmdldCgiYXV0by16b29tLWVuYWJsZWQiKSx0bGEodHlwZW9mIGE9PT0iYm9vbGVhbiI/YTohMCkpfTt3VT1mdW5jdGlvbihhKXt2YXIgYj1hLnRvdWNoZXNbMF0sYz1hLnRvdWNoZXNbMV07YT1iLnBhZ2VYLWMucGFnZVg7Yj1iLnBhZ2VZLWMucGFnZVk7cmV0dXJuIE1hdGguc3FydChhKmErYipiKX07CklVPWZ1bmN0aW9uKGEsYil7eFUoYSkmJihhLnN0b3BQcm9wYWdhdGlvbigpLGE9eVUtelUsQVV8fChhPTApLEZUKGIpLF8ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJihCVT0wLENVKCkmJkRVKCExKSksYi5iYT8uTWl8fChiLk5hfHxiLldkfHxiLnNifHxfLlRFKCl8fF8uTUUoKSYmIWIuaXNGdWxsc2NyZWVufHwoYi5pc0Z1bGxzY3JlZW4mJihhKj0tMSksKGE8LTEwMHx8TWF0aC5hYnMoYSk+MTAwJiZiLmlzRnVsbHNjcmVlbikmJmIudGEudG9nZ2xlRnVsbHNjcmVlbih7ZHM6ITB9KSxFVSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNmb3JtOiJzY2FsZSgxKSIsdHJhbnNpdGlvbjoiMC4ycyBlYXNlIn0pKSxiLldkJiYoKGE9TWF0aC5hYnMoYi5KZik+NTA/IWIuTmE6Yi5OYSl8fGNUKGIpLGIuUyh7V2Q6ITEsTmE6YSxKZjowfSkpKSxGVT0oMCxfLmVsKSgpLHlVPUdVPXpVPUhVPTAsQVU9ITEpfTsKeFU9ZnVuY3Rpb24oYSl7dmFyIGI9W2EudGFyZ2V0Py5nZXRBdHRyaWJ1dGUoImlkIiksLi4uKGEudGFyZ2V0Py5jbGFzc0xpc3R8fFtdKV07cmV0dXJuISEicGxheWVyLWNvbnRyb2wtb3ZlcmxheSBwbGF5ZXItY29udHJvbHMtbWlkZGxlIHBsYXllci1jb250cm9scy1ib3R0b20gZnVsbHNjcmVlbi1jb250cm9scyBwbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZCB0b3AtZnVsbC1zY3JlZW4tY29udHJvbHMiLnNwbGl0KCIgIikuZmluZChjPT5iLmZpbmQoZD0+ZD09PWMpKX07CktVPWZ1bmN0aW9uKGEsYil7aWYoYi5OYSlKVShhKSYmYi5TKHtOYTohMX0pO2Vsc2UgaWYoYi5wbGF5ZXJTdGF0ZSE9PS0xJiZiLnBsYXllclN0YXRlIT09NSlpZihKVShhKSl7dmFyIGM9V1EoYi5IKTtiLlMoe2VhOiEwLHliOiEwLGplOmN9KX1lbHNle3ZhciBkPXJsYShhLmNsaWVudFgsYi5UYy5vZmZzZXRXaWR0aCk7Yz1zbGEoYixkKTt2YXIgZT1jPmIuS2I7bGV0IGY9Yi5DYTtlJiYoZj1jPDI/Yi52YTpEUShiLkNhKyhkPT09LTE/LTE6MSkqMTAsMCxiLnZpZGVvRHVyYXRpb24pLHNVKGMsZCxiKSk7IWIuZWEmJmM8PTE/Y1QoYix7SWM6ITB9KTpiVCgpO2E9Yi5iYT8uenYmJmIuZWEmJiFKVShhKTtkPXtlYTp2bGEoey4uLmIsS2I6Y30pfHxhLFloOiExLEpkOmQsQ2E6ZixLYjpjLHliOiEwLHloOigwLF8uZWwpKCl9O2U/dVUoey4uLmIsS2I6YyxDYTpmfSxhPygpPT57aWYoYi5IPy5pc1JlYWR5Py4oKSl7bGV0IGg9V1EoYi5IKTtiLlMoe2plOmh9KX19OnZvaWQgMCk6YSYmYi5IJiYKKGU9V1EoYi5IKSxiLlMoe2plOmV9KSk7Yz09PTEmJihkLk9uPWIucGxheWVyU3RhdGU9PT0xfHxiLnBsYXllclN0YXRlPT09Myk7Yi5TKGQpfX07SlU9ZnVuY3Rpb24oYSl7cmV0dXJuIV8ueCgibXdlYl9pb3NfZGV0ZWN0X2Zha2VfY2xpY2tfa2lsbHN3aXRjaCIpJiZfLkdLJiZGVT4wJiYoMCxfLmVsKSgpLUZVPDEwMD8hMTp0eXBlb2YgUG9pbnRlckV2ZW50IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBQb2ludGVyRXZlbnQmJmEucG9pbnRlclR5cGU9PT0ibW91c2UifTt2bGE9ZnVuY3Rpb24oYSl7cmV0dXJuIHVTKGEpfHxhLnBsYXllclN0YXRlPT09M3x8YS5LYj4xPyEwOiFhLmVhfTt3bGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz17dm9sdW1lOmIuSD8uZ2V0Vm9sdW1lKCk/PzAscmM6ISFiLkg/LmlzTXV0ZWQoKX07Yi5TKGMpfX07CnhsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSDtpZihjKXt2YXIgZD17eGM6ISFjLmdldE9wdGlvbnMoImNhcHRpb25zIil9O2QueGMmJihkLmNhcHRpb25zRW5hYmxlZD1PUShjKSk7Yi5TKGQpfX19Owp6bGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hKCksZD1jLkg7aWYoZCYmIWQuaXNLZXlib2FyZERpc2FibGVkPy4oKSYmIXlsYShiLnRhcmdldCxiKSl7c3dpdGNoKGIuY29kZSl7Y2FzZSAiU3BhY2UiOmNhc2UgIktleUsiOmQ9V1EoZCk7Yy5TKHtlYTohMCxqZTpkfSk7YnJlYWs7Y2FzZSAiQXJyb3dMZWZ0IjpjYXNlICJLZXlKIjpMVShjLC0xKTticmVhaztjYXNlICJBcnJvd1JpZ2h0IjpjYXNlICJLZXlMIjpMVShjLDEpO2JyZWFrO2Nhc2UgIktleU0iOmMucmM/ZC51bk11dGUoKTpkLm11dGUoKTtjLlMoe2VhOiEwfSk7YnJlYWs7Y2FzZSAiS2V5RiI6UlEoKTtkLnRvZ2dsZUZ1bGxzY3JlZW4oKTtjLlMoe2VhOiEwfSk7Yi5zdG9wUHJvcGFnYXRpb24oKTticmVhaztjYXNlICJLZXlDIjpjLnhjJiZRUShkLGxVKGMpKTtjLlMoe2VhOiEwfSk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59Yi5wcmV2ZW50RGVmYXVsdCgpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fX07CkxVPWZ1bmN0aW9uKGEsYil7aWYoXy54KCJtd2ViX2tleWJvYXJkX3NlZWtfb3ZlcmxheV9raWxsc3dpdGNoIikpYS5IPy5zZWVrQnkoMTAqKGI9PT0tMT8tMToxKSksYS5TKHtlYTohMH0pO2Vsc2V7dmFyIGM9YS5LYixkPWEuSmQsZT0oMCxfLmVsKSgpLGY9ZS1hLnloO2M9ZCE9PWJ8fGY+MzUwPzI6YysxO2Q9Yj09PS0xPy0xOjE7ZD1jPT09Mj8oYS52YXx8MCkrZCoxMDphLkNhK2QqMTA7ZD1EUShkLDAsYS52aWRlb0R1cmF0aW9uKTtlPXtlYTohMCxZaDohMSxKZDpiLENhOmQsS2I6Yyx5YjohMCx5aDplfTtjPT09MiYmKGUuT249YS5wbGF5ZXJTdGF0ZT09PTF8fGEucGxheWVyU3RhdGU9PT0zKTtzVShjLGIsey4uLmEsLi4uZX0pO3VVKHsuLi5hLC4uLmV9KTthLlMoZSl9fTsKeWxhPWZ1bmN0aW9uKGEsYil7aWYoYi5jdHJsS2V5fHxiLmFsdEtleXx8Yi5tZXRhS2V5KXJldHVybiEwO3ZhciBjPWEudGFnTmFtZTtyZXR1cm4gYz09PSJJTlBVVCJ8fGM9PT0iVEVYVEFSRUEifHxjPT09IlNFTEVDVCJ8fGIua2V5PT09IlRhYiJ8fGIuY29kZT09PSJTcGFjZSImJihjPT09IkJVVFRPTiJ8fGM9PT0iQSJ8fChhPWEuZ2V0QXR0cmlidXRlKCJyb2xlIikpJiYoYT09PSJidXR0b24ifHxhPT09Im9wdGlvbiJ8fGEuc3RhcnRzV2l0aCgibWVudWl0ZW0iKSkpPyEwOiExfTsKT1U9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYSgpLHBsYXllclN0YXRlOjB9LGQ9QVMoYigpPy53YXRjaE5leHRSZXNwb25zZSksZT1CUyhiKCk/LndhdGNoTmV4dFJlc3BvbnNlKTtIUyhjLGQpJiYoTVUoYSksYy5TKHt5ZjohZT8uY291bnREb3duU2Vjc3x8ZS5jb3VudERvd25TZWNzPD0wPzEwOmUuY291bnREb3duU2Vjc30pLGM9d2luZG93LnNldEludGVydmFsKCgpPT57dmFyIGY9YSgpO2lmKGYueWYhPT0xKWYuUyh7eWY6Zi55Zi0xfSk7ZWxzZXtNVShhKTtmPWIoKT8ud2F0Y2hOZXh0UmVzcG9uc2U7Zj1BUyhmKTtsZXQgaD1mPy5zZXRzPy5bMF0uYXV0b3BsYXlWaWRlbztoJiZfLkFKKGgsZiwhMSx7YXV0b25hdjoiMSJ9KX19LDFFMyksXy54KCJtd2ViX3BsYXllcl91bmlmaWNhdGlvbl9zdGF0ZV9yZWZhY3Rvcl9raWxsc3dpdGNoIik/TlU9YzphKCkuUyh7Rms6Y30pKX07Ck1VPWZ1bmN0aW9uKGEpeyFfLngoIm13ZWJfcGxheWVyX3VuaWZpY2F0aW9uX3N0YXRlX3JlZmFjdG9yX2tpbGxzd2l0Y2giKSYmYT8oYT1hKCksYS5GayE9PXZvaWQgMCYmKGNsZWFySW50ZXJ2YWwoYS5GayksYS5TKHtGazp2b2lkIDB9KSkpOk5VJiYoY2xlYXJJbnRlcnZhbChOVSksTlU9dm9pZCAwKX07CkJsYT1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9YSgpLGU9e3hmOiExfTtlLnBsYXllclN0YXRlPWM7ZC5IJiZWUShkLkgpJiYoZS5wbGF5ZXJTdGF0ZT0yKTtjPT09MSYmKGQuSD8ubG9hZE1vZHVsZSgiY2FwdGlvbnMiKSxfLngoIm13ZWJfYmV0dGVyX2NhcHRpb25zX3BsYWNlbWVudCIpJiZkLkg/LnNldFN1YnRpdGxlc1RhcmdldENvbnRhaW5lcklkKCJjYXB0aW9ucy1nYWxvcmUtY29udGFpbmVyIikpO2M9PT0wJiYoZC5IPy51bmxvYWRNb2R1bGUoImNhcHRpb25zIiksXy54KCJtd2ViX2JldHRlcl9jYXB0aW9uc19wbGFjZW1lbnQiKSYmZC5IPy5jbGVhclN1YnRpdGxlc1RhcmdldENvbnRhaW5lcklkKCkpO2lmKGUucGxheWVyU3RhdGU9PT0tMSllLmVhPSEwO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTUpZS5lYT0hMDtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0zKWUuZWE9ITAsYlQoKTtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0xKWQuc2J8fGQueXF8fChkLnliPwpjVCh7Li4uZCwuLi5lfSk6ZS5lYT0hMSk7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09MiliVCgpO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTApe2UuZWE9ITA7YlQoKTtjPWEoKTt2YXIgZj1iKCk/LndhdGNoTmV4dFJlc3BvbnNlO2lmKGY9Xy5CKGY/LmNvbnRlbnRzPy5zaW5nbGVDb2x1bW5XYXRjaE5leHRSZXN1bHRzPy5hdXRvcGxheT8uYXV0b3BsYXk/LmF1dG9wbGF5RXhwbGljaXRDaG9pY2VEaWFsb2dSZW5kZXJlcixBbGEpKWYuZGlzYWJsZUJ1dHRvblN0eWxlT3ZlcnJpZGVzPSEwOyFjLnRhLlVsKCkmJmYmJihjLnRhLmV4aXRGdWxsc2NyZWVuKCksXy5BSih7b3BlblBvcHVwQWN0aW9uOntwb3B1cDp7Y29uZmlybURpYWxvZ1JlbmRlcmVyOmZ9LHBvcHVwVHlwZToiRElBTE9HIn19LHt9LCExKSk7ZC5hdXRvbmF2RW5hYmxlZCYmKE9VKGEsYiksXy5NTygiI3BsYXllci1lbmRzY3JlZW4gLnl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVsIGJ1dHRvbiIsNSx7cmw6ITB9KSl9ZC5TKGUpfX07CkNsYT1mdW5jdGlvbihhKXtQVSgoKT0+YSkoKX07RGxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpLGM9Yi5IO2MmJlZRKGMpJiZiLlMoe3BsYXllclN0YXRlOjJ9KX19OwpQVT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKTt2YXIgZD1jLkg7dmFyIGU9ZD8uZ2V0VmlkZW9EYXRhKCksZj1lPy5pc0xpdmV8fCExLGg9ZT8udmlkZW9faWQ7ZT1lPy5hbGxvd0xpdmVEdnI/PyEwO2Y9e3ZpZGVvRHVyYXRpb246VVEoZHx8dm9pZCAwKSxpc0xpdmU6Zix2aWRlb0lkOmgsaXNMaXZlRHZyRW5hYmxlZDplfTtmLnZpZGVvSWQhPT1jLnZpZGVvSWQmJihmPXsuLi5kVChkKSwuLi5mfSk7Yj8ucGxheWVydHlwZSYmKGYucGxheWVyVHlwZT1iLnBsYXllcnR5cGUpO2QmJihmLnhjPSEhZC5nZXRPcHRpb25zKCJjYXB0aW9ucyIpLGI9ZixoPShoPWQuZ2V0U3Rvcnlib2FyZExldmVsKGQuZ2V0TnVtYmVyT2ZTdG9yeWJvYXJkTGV2ZWxzKCktMSk/LmludGVydmFsTXMpP2gvMUUzOnZvaWQgMCxiLlpyPWgsZi54YyYmKGYuY2FwdGlvbnNFbmFibGVkPU9RKGQpKSk7Zi5yYz0hIWQ/LmlzTXV0ZWQoKTtkPWY7ZC5hdXRvbmF2RW5hYmxlZD1jLnRhLmRlKCk7ZC5pc1BsYXlsaXN0PQpYUSgpO2MuYmE/Lk1sIT09dm9pZCAwJiYoZC55Yj0hMCk7ZC5pc0Z1bGxzY3JlZW49Yy5pc0Z1bGxzY3JlZW47ZC5wbGF5ZXJTdGF0ZT09PTMmJihkLmVhPSEwKTtkLnBsYXllclN0YXRlPT09LTEmJihkLmVhPSEwKTtiPWMuR2M7eVMoey4uLmMsLi4uZH0pP2ImJihiLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTpiJiYoYi5zdHlsZS5kaXNwbGF5PSIiKTtNVShhKTtjLlMoZCl9fTsKRWxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCksZT1iKCksZj1kLkg7aWYoZil7ZC52aWRlb0lkPT09dm9pZCAwJiZDbGEoZCk7aWYoZSYmYyE9PXZvaWQgMCl7dmFyIGg9ey4uLmQsdmE6Y307KGU9RVMoZS5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpKSYmIWguaXNEcmFnZ2luZyYmKGg9a1QoaCxlKSxtVChoKSl9aD1mLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk7Yz17dmE6Y3x8MCxRbTpmLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24oKSxwbGF5ZXJUeXBlOmh9O3VTKGQpJiYoYy52YT1kLnZpZGVvRHVyYXRpb24pO2QuaXNMaXZlJiYoaD1mLmdldFByb2dyZXNzU3RhdGUoaCksYy52YS09aC5zZWVrYWJsZVN0YXJ0LGMudmlkZW9EdXJhdGlvbj1VUShmKSk7eVMoZCkmJmRlbGV0ZSBjLnZhO2Y9Yzt5Uyh7Li4uZCwuLi5mfSkmJihjPWQuR2MpJiYoYy5zdHlsZS5kaXNwbGF5PSJub25lIik7ZC5TKGYpfX19OwpGbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9PnthKCkuUyh7ZWE6ITEscmM6ITF9KX19O0dsYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2EoKS5TKHtpc0Z1bGxzY3JlZW46Yi5mdWxsc2NyZWVuLE5hOiExfSl9fTtIbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg7Yi5TKHtpc0Z1bGxzY3JlZW46Yi50YS5pc0Z1bGxzY3JlZW4oKSxjYXB0aW9uc0VuYWJsZWQ6Yz9PUShjKTpiLmNhcHRpb25zRW5hYmxlZH0pfX07SWxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpO18uVk0oe2hyZWY6d2luZG93LmxvY2F0aW9uLmhyZWZ9KXx8Yi5TKHtpc0Z1bGxzY3JlZW46ITF9KX19OwpKbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7WzkwLDI3MF0uaW5jbHVkZXMoTWF0aC5hYnMod2luZG93Lm9yaWVudGF0aW9uP3dpbmRvdy5vcmllbnRhdGlvbjp3aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbj8uYW5nbGU/d2luZG93LnNjcmVlbi5vcmllbnRhdGlvbi5hbmdsZTowKSk/ZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImxhbmRzY2FwZSIsInRydWUiKTpkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgibGFuZHNjYXBlIik7Yi5OYSYmYi5TKHtOYTohMX0pfX07S2xhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpO2IudGEuZXhpdEZ1bGxzY3JlZW4oKTtiLlMoe2lzRnVsbHNjcmVlbjohMX0pfX07TGxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCk7Yy5kZXRhaWw/LnBhdXNlZD8oTVUoYSksZC56Znx8ZC5TKHt6ZjohMH0pKToodVMoZCkmJk9VKGEsYiksZC56ZiYmZC5TKHt6ZjohMX0pKX19OwpNbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLnRhLmRlKCk7Y3x8TVUoYSk7Yi5TKHthdXRvbmF2RW5hYmxlZDpjfSl9fTtObGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PnthKCkuUyh7Ung6ISFifSl9fTtRVT1mdW5jdGlvbihhKXtNVShhLnByb3BzKTthLnByb3BzKCkuUyh7eGY6ITB9KX07UlU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5XRCgoKT0+YS5zZXRzWzBdLnByZXZpb3VzQnV0dG9uVmlkZW8pLGM9Xy5XRCgoKT0+YS5zZXRzWzBdLm5leHRCdXR0b25WaWRlbyk7cmV0dXJue1VhOmIsbmV4dDpjfX07U1U9ZnVuY3Rpb24oYSxiKXtiPWIoKT8ucnVucz8uWzBdLm5hdmlnYXRpb25FbmRwb2ludDt2YXIgYz1fLkIoYixfLlZEKT8udXJsO2EoKS5IPy5pc0VtYmVkc1Nob3J0c01vZGU/LigpJiZjJiZjLmluY2x1ZGVzKCIvd2F0Y2g/dj0iKSYmKF8uQihiLF8uVkQpLnVybD1jLnJlcGxhY2UoIi93YXRjaD92PSIsIi9zaG9ydHMvIikpO3JldHVybiBifTsKVVU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIiLGU9IiI7c3dpdGNoKGEpe2Nhc2UgLTE6Y2FzZSAwOmQ9Yj8iVk9MVU1FX09GRiI6Yz8iVk9MVU1FX09GRl9ERUxISV9QTEFZRVIiOiJWT0xVTUVfT0ZGX0ZJTExFRCI7ZT1PbGE7YnJlYWs7Y2FzZSAxOmQ9Yj8iVk9MVU1FX1VQX09VVExJTkUiOmM/IlZPTFVNRV9VUF9ERUxISV9QTEFZRVJfRklMTEVEIjoiVk9MVU1FX1VQX0ZJTExFRCI7ZT1UVTticmVhaztjYXNlIDI6ZD1iPyJWT0xVTUVfRE9XTl9PVVRMSU5FIjpjPyJWT0xVTUVfRE9XTl9ERUxISV9QTEFZRVJfRklMTEVEIjoiVk9MVU1FX0RPV05fRklMTEVEIjtlPVRVO2JyZWFrO2RlZmF1bHQ6Xy5lYihhLHZvaWQgMCl9cmV0dXJue2ljb25OYW1lOmQsYXJpYUxhYmVsOmV9fTsKUGxhPWZ1bmN0aW9uKGEsYil7dHlwZW9mIFZVPT09Im51bWJlciImJmNsZWFyVGltZW91dChWVSk7VlU9c2V0VGltZW91dCgoKT0+e2EuUyh7WWg6ITF9KTtWVT12b2lkIDB9LF8uQihiLmVuYWJsZWRFZHVDb21tYW5kLFdVKT8uZHVyYXRpb25Nc3x8NEUzKX07WFU9ZnVuY3Rpb24oYSxiLGMpe2EuUyh7YXV0b25hdkVuYWJsZWQ6YixZaDpjfSk7YS50YS5SaihiLGMpfTtZVT1mdW5jdGlvbihhKXtyZXR1cm4gXy5JRSh7ZGlzcGxheTooKT0+YSgpPyIiOiJub25lIn0pfTtRbGE9ZnVuY3Rpb24oYSl7aWYoXy54KCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIikmJmEpcmV0dXJue3BsYXloZWFkSW1hZ2U6YS5wbGF5aGVhZEltYWdlLHBsYXloZWFkUmV3aW5kSW1hZ2U6YS5wbGF5aGVhZFJld2luZEltYWdlLHBsYXloZWFkRmFzdEZvcndhcmRJbWFnZTphLnBsYXloZWFkRmFzdEZvcndhcmRJbWFnZX19OwpSbGE9ZnVuY3Rpb24oYSl7YT1hPy5nZXRQbGF5ZXJTdGF0ZU9iamVjdD8uKCk7cmV0dXJuKGE/LmlzQ3VlZHx8YT8uaXNVbnN0YXJ0ZWQpJiYhYT8uaXNFcnJvcn07WlU9ZnVuY3Rpb24oYSl7YS5mb3JFYWNoKGI9PntiKCl9KTthLmxlbmd0aD0wfTtTbGE9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Yi5pZD0icGxheWVyLWNvbnRyb2xzIjtiLmNsYXNzTGlzdC5hZGQoInl0UGxheWVyQ29udHJvbHNDb250YWluZXJIb3N0Iik7dmFyIFtjLGRdPV8uSih7fSx2b2lkIDAsImJqSklsZCIpO2EuYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLCgpPT57JFUoYSxiLGMsZCl9KTthLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57JFUoYSxiLGMsZCl9KTtyZXR1cm4gYn07CiRVPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVRsYShhKTtkKGUpO2hqYShiLCFhLmdldFBsYXllclN0YXRlT2JqZWN0KCk/LmlzRXJyb3J8fCEhYVYoZSkpO2IuaGFzQ2hpbGROb2RlcygpfHxfLnhGKGIsKCk9PlVsYShhLGIsYyksIiRlIil9OwpVbGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uTigoKT0+YVYoYygpKSx2b2lkIDAsImRXNThiZCIpLGU9Xy51RihrPT57aWYoIV8ueCgiZW1iZWRzX2VuYWJsZV9lbWMzZHNfcGZwIikpcmV0dXJuITE7dmFyIGw9YygpO3JldHVybihsPWwuamI/LmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllck1vZGU/P2wucGxheWVyUmVzcG9uc2U/LnBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZSk/bD09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiOmt9LHtpbml0aWFsOiExfSksZj1fLnVGKGs9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX2VtYzNkc19wZmwiKSlyZXR1cm4hMTt2YXIgbD1jKCk7cmV0dXJuKGw9bC5qYj8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZT8/bC5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlKT8KbD09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiOmt9LHtpbml0aWFsOiExfSksaD1fLk4oKCk9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpfHxfLngoImVtYmVkc19lbmFibGVfc2hvcnRzX2NvdW50ZXJmYWN0dWFsIikpcmV0dXJuITE7dmFyIGs9YygpLlBoPy5lbmRwb2ludDtyZXR1cm4hKCFrfHwhXy5CKGssXy5URCkpfSx2b2lkIDAsIldxZ0pyYiIpO18ubkUoKCk9PntfLngoImVtYmVkc19lbmFibGVfc2hvcnRzIikmJihfLngoImVtYmVkc19lbmFibGVfc2hvcnRzX2NvdW50ZXJmYWN0dWFsIil8fChlKCl8fGYoKXx8IWgoKT9hLnNldExvb3BWaWRlbyghMSk6YS5zZXRMb29wVmlkZW8oITApKSl9LCJaZ1V3Z2UiKTtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+ZCgpfSwoKT0+Xy5LKGJWLHtkYXRhOigpPT5kKCl9KSksXy5LKF8uQ0Use3doZW46ZX0sKCk9Pl8uSyhWbGEse0g6YSxjb250ZXh0OnRrYShhLGIpLGRhdGE6Y30pKSxfLksoXy5DRSwKe3doZW46Zn0sKCk9Pnt2YXIgaz1yUyhhKSxsPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2w9ey4uLnNTKGwpLFh3OiEwLFl3OiEwfTtyZXR1cm4gXy5LKGNWLHtjb250ZXh0Ont0YTprLGJhOmwsVGM6ZG9jdW1lbnQuYm9keSxHYzpifSxkYXRhOmN9KX0pLF8uSyhfLkNFLHt3aGVuOmh9LCgpPT5fLksoV2xhLHtyZWVsSXRlbVdhdGNoUmVzcG9uc2U6KCk9PmMoKS5yZWVsSXRlbVdhdGNoUmVzcG9uc2UsamI6KCk9PmMoKS5qYixQaDooKT0+YygpLlBoLEg6KCk9PmEsY29udGV4dDpza2EoYSxiKX0pKSxfLksoXy5ERSxudWxsLCgpPT57dmFyIGs9clMoYSksbD1zUyhhLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKSk7cmV0dXJuIF8uSyhjVix7Y29udGV4dDp7dGE6ayxiYTpsLFRjOmRvY3VtZW50LmJvZHksR2M6Yn0sZGF0YTpjfSl9KSl9OwphVj1mdW5jdGlvbihhKXtyZXR1cm4gYS5qYj8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzPy5lcnJvclNjcmVlbj8ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJ8fGEucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzPy5lcnJvclNjcmVlbj8ucGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJ9O1RsYT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclJlc3BvbnNlKCksYz1hLmdldFdhdGNoTmV4dFJlc3BvbnNlKCksZD1hLmdldFJlZWxJdGVtV2F0Y2hSZXNwb25zZSgpLGU9YS5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCksZj1hLmdldFJlc29sdmVVcmxSZXNwb25zZSgpO3JldHVybntwbGF5ZXJPdmVybGF5UmVuZGVyZXI6Yz8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcixwbGF5ZXJSZXNwb25zZTpiLFBoOmYsd2F0Y2hOZXh0UmVzcG9uc2U6YyxyZWVsSXRlbVdhdGNoUmVzcG9uc2U6ZCxqYjplLEg6YX19OwpfLmRWPWZ1bmN0aW9uKGEpe18uQXEoImVwX2luaXRfcnMiKTt2YXIgYj1kb2N1bWVudC5ib2R5O2E9U2xhKGEpO2IuYXBwZW5kQ2hpbGQoYSk7YT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmlkPSJib3R0b20tc2hlZXQtd3JhcHBlciI7KDAsXy5JQykoYSxVamEpO2IuYXBwZW5kQ2hpbGQoYSk7Xy5BcSgiZXBfaW5pdF9yZSIpfTtfLmc9RlEucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgRlEodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKXy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLmVWJiZhIGluc3RhbmNlb2YgXy5lVj9hLng+PXRoaXMubGVmdCYmYS54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmYS55Pj10aGlzLnRvcCYmYS55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PWEubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PWEubGVmdCthLndpZHRoJiZ0aGlzLnRvcDw9YS50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1hLnRvcCthLmhlaWdodH07Xy5nLmdldFNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8ubmQodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguY2VpbCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGguY2VpbCh0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Cl8uZy5mbG9vcj1mdW5jdGlvbigpe3RoaXMubGVmdD1NYXRoLmZsb29yKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5mbG9vcih0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLnRyYW5zbGF0ZT1mdW5jdGlvbihhLGIpeyJmdW5jdGlvbiI9PXR5cGVvZiBfLmVWJiZhIGluc3RhbmNlb2YgXy5lVj8odGhpcy5sZWZ0Kz1hLngsdGhpcy50b3ArPWEueSk6KHRoaXMubGVmdCs9YSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy50b3ArPWIpKTtyZXR1cm4gdGhpc307Cl8uZy5zY2FsZT1mdW5jdGlvbihhLGIpe2I9dHlwZW9mIGI9PT0ibnVtYmVyIj9iOmE7dGhpcy5sZWZ0Kj1hO3RoaXMud2lkdGgqPWE7dGhpcy50b3AqPWI7dGhpcy5oZWlnaHQqPWI7cmV0dXJuIHRoaXN9Owp2YXIgdlU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy50b2tlbj1hfXN0YXRpYyBhc3luYyBqYygpe3JldHVybiBuZXcgUHJvbWlzZShhPT57Xy5QbCgpLnRoZW4oYj0+e2I/KHZVLmluc3RhbmNlfHwodlUuaW5zdGFuY2U9bmV3IHZVKGIpKSxhKHZVLmluc3RhbmNlKSk6YSh2b2lkIDApfSl9KX1hc3luYyBnZXQoYSl7aWYoYT1hd2FpdCAoYXdhaXQgR1EodGhpcy50b2tlbikpLmdldCgicHJlZnMiLGEpKXt2YXIgYj0oMCxfLmVsKSgpO3JldHVybiBhLmV4cGlyYXRpb25UaW1lc3RhbXBNczw9Yj92b2lkIDA6YS52YWx1ZX19YXN5bmMgc2V0KGEsYixjPTMxNTM2RTMpe3ZhciBkPSgwLF8uZWwpKCk7YT17a2V5OmEsdmFsdWU6YixleHBpcmF0aW9uVGltZXN0YW1wTXM6ZCtjKjFFM307Yj1hd2FpdCBHUSh0aGlzLnRva2VuKTthd2FpdCBfLm1sKGIsInByZWZzIixhKX1hc3luYyByZW1vdmUoYSl7YXdhaXQgKGF3YWl0IEdRKHRoaXMudG9rZW4pKS5kZWxldGUoInByZWZzIixhKX19LFlRPQpudWxsLGZWPXtTbjp7MUUzOntvdGhlcjoiMEsifSwxRTQ6e290aGVyOiIwMEsifSwxRTU6e290aGVyOiIwMDBLIn0sMUU2OntvdGhlcjoiME0ifSwxRTc6e290aGVyOiIwME0ifSwxRTg6e290aGVyOiIwMDBNIn0sMUU5OntvdGhlcjoiMEIifSwxRTEwOntvdGhlcjoiMDBCIn0sMUUxMTp7b3RoZXI6IjAwMEIifSwxRTEyOntvdGhlcjoiMFQifSwxRTEzOntvdGhlcjoiMDBUIn0sMUUxNDp7b3RoZXI6IjAwMFQifX0sVnM6ezFFMzp7b3RoZXI6IjAgdGhvdXNhbmQifSwxRTQ6e290aGVyOiIwMCB0aG91c2FuZCJ9LDFFNTp7b3RoZXI6IjAwMCB0aG91c2FuZCJ9LDFFNjp7b3RoZXI6IjAgbWlsbGlvbiJ9LDFFNzp7b3RoZXI6IjAwIG1pbGxpb24ifSwxRTg6e290aGVyOiIwMDAgbWlsbGlvbiJ9LDFFOTp7b3RoZXI6IjAgYmlsbGlvbiJ9LDFFMTA6e290aGVyOiIwMCBiaWxsaW9uIn0sMUUxMTp7b3RoZXI6IjAwMCBiaWxsaW9uIn0sMUUxMjp7b3RoZXI6IjAgdHJpbGxpb24ifSwxRTEzOntvdGhlcjoiMDAgdHJpbGxpb24ifSwKMUUxNDp7b3RoZXI6IjAwMCB0cmlsbGlvbiJ9fX0sclI9ZlY7clI9ZlY7dmFyIHFSPXtBRUQ6WzIsImRoIiwiXHUwNjJmLlx1MDYyNS4iXSxBTEw6WzAsIkxlayIsIkxlayJdLEFVRDpbMiwiJCIsIkFVJCJdLEJEVDpbMiwiXHUwOWYzIiwiVGsiXSxCR046WzIsImxldiIsImxldiJdLEJSTDpbMiwiUiQiLCJSJCJdLENBRDpbMiwiJCIsIkMkIl0sQ0RGOlsyLCJGckNEIiwiQ0RGIl0sQ0hGOlsyLCJDSEYiLCJDSEYiXSxDTFA6WzAsIiQiLCJDTCQiXSxDTlk6WzIsIlx1MDBhNSIsIlJNQlx1MDBhNSJdLENPUDpbMzIsIiQiLCJDT0wkIl0sQ1JDOlswLCJcdTIwYTEiLCJDUlx1MjBhMSJdLENaSzpbNTAsIktcdTAxMGQiLCJLXHUwMTBkIl0sREtLOls1MCwia3IuIiwia3IuIl0sRE9QOlsyLCJSRCQiLCJSRCQiXSxFR1A6WzIsIlx1MDBhMyIsIkxFIl0sRVRCOlsyLCJCaXJyIiwiQmlyciJdLEVVUjpbMiwiXHUyMGFjIiwiXHUyMGFjIl0sR0JQOlsyLCJcdTAwYTMiLCJHQlx1MDBhMyJdLEhLRDpbMiwiJCIsIkhLJCJdLEhSSzpbMiwia24iLCJrbiJdLEhVRjpbMzQsCiJGdCIsIkZ0Il0sSURSOlswLCJScCIsIlJwIl0sSUxTOlszNCwiXHUyMGFhIiwiSUxcdTIwYWEiXSxJTlI6WzIsIlx1MjBiOSIsIlJzIl0sSVJSOlswLCJSaWFsIiwiSVJSIl0sSVNLOlswLCJrciIsImtyIl0sSk1EOlsyLCIkIiwiSkEkIl0sSlBZOlswLCJcdTAwYTUiLCJKUFx1MDBhNSJdLEtSVzpbMCwiXHUyMGE5IiwiS1JcdTIwYTkiXSxMS1I6WzIsIlJzIiwiU0xScyJdLExUTDpbMiwiTHQiLCJMdCJdLE1OVDpbMCwiXHUyMGFlIiwiTU5cdTIwYWUiXSxNVlI6WzIsIlJmIiwiTVZSIl0sTVhOOlsyLCIkIiwiTWV4JCJdLE1ZUjpbMiwiUk0iLCJSTSJdLE5PSzpbNTAsImtyIiwiTk9rciJdLFBBQjpbMiwiQi8uIiwiQi8uIl0sUEVOOlsyLCJTLy4iLCJTLy4iXSxQSFA6WzIsIlx1MjBiMSIsIlBIUCJdLFBLUjpbMCwiUnMiLCJQS1JzLiJdLFBMTjpbNTAsInpcdTAxNDIiLCJ6XHUwMTQyIl0sUk9OOlsyLCJST04iLCJST04iXSxSU0Q6WzAsImRpbiIsIlJTRCJdLFJVQjpbNTAsIlx1MjBiZCIsCiJSVUIiXSxTQVI6WzIsIlNBUiIsIlNBUiJdLFNFSzpbNTAsImtyIiwia3IiXSxTR0Q6WzIsIiQiLCJTJCJdLFRIQjpbMiwiXHUwZTNmIiwiVEhCIl0sVFJZOlsyLCJcdTIwYmEiLCJUUlkiXSxUV0Q6WzIsIiQiLCJOVCQiXSxUWlM6WzAsIlRTaCIsIlRTaCJdLFVBSDpbMiwiXHUwNDMzXHUwNDQwXHUwNDNkLiIsIlVBSCJdLFVTRDpbMiwiJCIsIlVTJCJdLFVZVTpbMiwiJCIsIiRVIl0sVk5EOls0OCwiXHUyMGFiIiwiVk5cdTIwYWIiXSxZRVI6WzAsIlJpYWwiLCJSaWFsIl0sWkFSOlsyLCJSIiwiWkFSIl19O3ZhciBnVjsKZ1Y9e0RBWTp7TE9ORzoib25leyMgZGF5fW90aGVyeyMgZGF5c30iLFNIT1JUOiJvbmV7IyBkYXl9b3RoZXJ7IyBkYXlzfSIsTkFSUk9XOiJvbmV7I2R9b3RoZXJ7I2R9In0sSE9VUjp7TE9ORzoib25leyMgaG91cn1vdGhlcnsjIGhvdXJzfSIsU0hPUlQ6Im9uZXsjIGhyfW90aGVyeyMgaHJ9IixOQVJST1c6Im9uZXsjaH1vdGhlcnsjaH0ifSxNSU5VVEU6e0xPTkc6Im9uZXsjIG1pbnV0ZX1vdGhlcnsjIG1pbnV0ZXN9IixTSE9SVDoib25leyMgbWlufW90aGVyeyMgbWlufSIsTkFSUk9XOiJvbmV7I219b3RoZXJ7I219In0sTU9OVEg6e0xPTkc6Im9uZXsjIG1vbnRofW90aGVyeyMgbW9udGhzfSIsU0hPUlQ6Im9uZXsjIG10aH1vdGhlcnsjIG10aHN9IixOQVJST1c6Im9uZXsjbX1vdGhlcnsjbX0ifSxTRUNPTkQ6e0xPTkc6Im9uZXsjIHNlY29uZH1vdGhlcnsjIHNlY29uZHN9IixTSE9SVDoib25leyMgc2VjfW90aGVyeyMgc2VjfSIsTkFSUk9XOiJvbmV7I3N9b3RoZXJ7I3N9In0sV0VFSzp7TE9ORzoib25leyMgd2Vla31vdGhlcnsjIHdlZWtzfSIsClNIT1JUOiJvbmV7IyB3a31vdGhlcnsjIHdrc30iLE5BUlJPVzoib25leyN3fW90aGVyeyN3fSJ9LFlFQVI6e0xPTkc6Im9uZXsjIHllYXJ9b3RoZXJ7IyB5ZWFyc30iLFNIT1JUOiJvbmV7IyB5cn1vdGhlcnsjIHlyc30iLE5BUlJPVzoib25leyN5fW90aGVyeyN5fSJ9fTt2YXIgaFY9e0NlOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSwgezF9Il0sUm46WyJ7MH0gYW5kIHsxfSIsInswfSAmIHsxfSIsInswfSwgezF9Il0sbWs6WyJ7MH0sIGFuZCB7MX0iLCJ7MH0sICYgezF9IiwiezB9LCB7MX0iXSxpbzpbInswfSBvciB7MX0iLCJ7MH0gb3IgezF9IiwiezB9IG9yIHsxfSJdLHhrOlsiezB9LCBvciB7MX0iLCJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9Il0scm86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLHFvOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXSxBazpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il19OwpoVj17Q2U6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9LCB7MX0iXSxSbjpbInswfSBhbmQgezF9IiwiezB9ICYgezF9IiwiezB9LCB7MX0iXSxtazpbInswfSwgYW5kIHsxfSIsInswfSwgJiB7MX0iLCJ7MH0sIHsxfSJdLGlvOlsiezB9IG9yIHsxfSIsInswfSBvciB7MX0iLCJ7MH0gb3IgezF9Il0seGs6WyJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iXSxybzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0scW86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLEFrOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXX07dmFyIFhsYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPXt0eXBlOiJ1bml0IixzdHlsZToibmFycm93In07dGhpcy5JPWEmJmEudHlwZT9hLnR5cGU6ImNvbmp1bmN0aW9uIjt0aGlzLks9YSYmYS5zdHlsZT9hLnN0eWxlOiJsb25nIjt0aGlzLmo9aFY7YT0wO3N3aXRjaCh0aGlzLkspe2Nhc2UgInNob3J0IjphPTE7YnJlYWs7Y2FzZSAibmFycm93IjphPTJ9c3dpdGNoKHRoaXMuSSl7Y2FzZSAiY29uanVuY3Rpb24iOnRoaXMuQj10aGlzLmouQ2VbYV07dGhpcy5EPSh0aGlzLmouUm58fHRoaXMuai5taylbYV07dGhpcy52PSh0aGlzLmouakN8fHRoaXMuai5DZSlbYV07dGhpcy5vPXRoaXMuai5ta1thXTticmVhaztjYXNlICJkaXNqdW5jdGlvbiI6dGhpcy5CPSh0aGlzLmouUUZ8fHRoaXMuai5DZSlbYV07dGhpcy5EPSh0aGlzLmouaW98fHRoaXMuai54aylbYV07dGhpcy52PSh0aGlzLmouUEZ8fHRoaXMuai5DZSlbYV07dGhpcy5vPXRoaXMuai54a1thXTticmVhaztjYXNlICJ1bml0Ijp0aGlzLkI9Cih0aGlzLmoucm98fHRoaXMuai5DZSlbYV0sdGhpcy5EPSh0aGlzLmouQUh8fHRoaXMuai5BaylbYV0sdGhpcy52PSh0aGlzLmoucW98fHRoaXMuai5DZSlbYV0sdGhpcy5vPXRoaXMuai5Ba1thXX19Zm9ybWF0KGEpe3JldHVybiB4amEodGhpcyxhKX19O3ZhciBpUj17YXI6ImxhdG4iLCJhci1FRyI6ImFyYWIiLGJuOiJiZW5nIixmYToiYXJhYmV4dCIsbXI6ImRldmEiLG15OiJteW1yIixuZToiZGV2YSJ9O3ZhciBpVj17Vm46Ii4iLHJrOiIsIixqbzoiJSIsQms6IjAiLFd0OiIrIixhbzoiLSIsWW46IkUiLGtvOiJcdTIwMzAiLHNrOiJcdTIyMWUiLEJ0OiJOYU4iLGd0OiIjLCMjMC4jIyMiLHpHOiIjRTAiLFNGOiIjLCMjMCUiLEZDOiJcdTAwYTQjLCMjMC4wMCIsV246IlVTRCJ9LGRSPWlWO2RSPWlWO3ZhciBlUj1JbnRsLk51bWJlckZvcm1hdC5zdXBwb3J0ZWRMb2NhbGVzT2YoWyJlbi1VUyIucmVwbGFjZSgiXyIsIi0iKV0pLmxlbmd0aD4wLGpSPSExOwpoUi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSxiKXtiPWJ8fFswXTtpZih0aGlzLm9hIT09MCl0aHJvdyBFcnJvcigiT2QiKTthPWEucmVwbGFjZSgvIHxcdTIwMmYvZywiXHUwMGEwIik7dmFyIGM9YS5pbmRleE9mKHRoaXMuTSxiWzBdKT09YlswXSxkPWEuaW5kZXhPZih0aGlzLkQsYlswXSk9PWJbMF07YyYmZCYmKHRoaXMuTS5sZW5ndGg+dGhpcy5ELmxlbmd0aD9kPSExOnRoaXMuTS5sZW5ndGg8dGhpcy5ELmxlbmd0aCYmKGM9ITEpKTtjP2JbMF0rPXRoaXMuTS5sZW5ndGg6ZCYmKGJbMF0rPXRoaXMuRC5sZW5ndGgpO2lmKGEuaW5kZXhPZihkUi5zayxiWzBdKT09YlswXSl7YlswXSs9ZFIuc2subGVuZ3RoO3ZhciBlPUluZmluaXR5fWVsc2V7ZT1hO2xldCBmPSExLGg9ITEsaz0hMSxsPS0xLG09MSxuPWRSLlZuLHA9ZFIucmsscj1kUi5ZbjtpZih0aGlzLm9hIT0wKXRocm93IEVycm9yKCJQZCIpO3A9cC5yZXBsYWNlKC9cdTIwMmYvZywiXHUwMGEwIik7bGV0IHQ9IiI7Zm9yKDtiWzBdPAplLmxlbmd0aDtiWzBdKyspe2xldCB2PWUuY2hhckF0KGJbMF0pLHo9cFIodik7aWYoej49MCYmejw9OSl0Kz16LGs9ITA7ZWxzZSBpZih2PT1uLmNoYXJBdCgwKSl7aWYoZnx8aClicmVhazt0Kz0iLiI7Zj0hMH1lbHNlIGlmKHY9PXAuY2hhckF0KDApJiYoIlx1MDBhMCIhPXAuY2hhckF0KDApfHxiWzBdKzE8ZS5sZW5ndGgmJnBSKGUuY2hhckF0KGJbMF0rMSkpPj0wKSl7aWYoZnx8aClicmVha31lbHNlIGlmKHY9PXIuY2hhckF0KDApKXtpZihoKWJyZWFrO3QrPSJFIjtoPSEwO2w9YlswXX1lbHNlIGlmKHY9PSIrInx8dj09Ii0iKXtpZihrJiZsIT1iWzBdLTEpYnJlYWs7dCs9dn1lbHNlIGlmKHRoaXMudj09MSYmdj09ZFIuam8uY2hhckF0KDApKXtpZihtIT0xKWJyZWFrO209MTAwO2lmKGspe2JbMF0rKzticmVha319ZWxzZSBpZih0aGlzLnY9PTEmJnY9PWRSLmtvLmNoYXJBdCgwKSl7aWYobSE9MSlicmVhazttPTFFMztpZihrKXtiWzBdKys7YnJlYWt9fWVsc2UgYnJlYWt9dGhpcy52IT0KMSYmKG09dGhpcy52KTtlPXBhcnNlRmxvYXQodCkvbX1pZihjKXtpZihhLmluZGV4T2YodGhpcy5nYSxiWzBdKSE9YlswXSlyZXR1cm4gTmFOO2JbMF0rPXRoaXMuZ2EubGVuZ3RofWVsc2UgaWYoZCl7aWYoYS5pbmRleE9mKHRoaXMuVSxiWzBdKSE9YlswXSlyZXR1cm4gTmFOO2JbMF0rPXRoaXMuVS5sZW5ndGh9cmV0dXJuIGQ/LWU6ZX07CmhSLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYodGhpcy5CPnRoaXMuail0aHJvdyBFcnJvcigiU2QiKTtpZihlUiYmdGhpcy5LKXsodGhpcy5LLmZvcm1hdD09bnVsbHx8dGhpcy5RYXx8dGhpcy5NYXx8dGhpcy5WZHx8alIpJiZmUih0aGlzKTtpZihNYXRoLmFicyhhKTwxJiZ0aGlzLmhhPnRoaXMuail7dmFyIGI9TWF0aC5wb3coMTAsdGhpcy5qKTthPU1hdGgucm91bmQoTWF0aC5hYnMoYSkqYikqTWF0aC5zaWduKGEpL2J9dGhpcy5LLnJlc29sdmVkT3B0aW9ucygpO3JldHVybiB0aGlzLksuZm9ybWF0KGEpfWlmKGlzTmFOKGEpKXJldHVybiBkUi5CdDtiPVtdO3ZhciBjPWE7aWYodGhpcy5vYT09MCljPXNSO2Vsc2V7Yz1NYXRoLmFicyhjKTt2YXIgZD10Uih0aGlzLGM8PTE/MDp1UihjKSkucGw7Yz10Uih0aGlzLGQrdVIobVIodGhpcyxrUihjLC1kKSkuaW50VmFsdWUpKX1hPWtSKGEsLWMucGwpOyhkPWE8MHx8YT09MCYmMS9hPDApP2Mud20/Yi5wdXNoKGMud20pOgooYi5wdXNoKGMucHJlZml4KSxiLnB1c2godGhpcy5EKSk6KGIucHVzaChjLnByZWZpeCksYi5wdXNoKHRoaXMuTSkpO2lmKGlzRmluaXRlKGEpKWlmKGEqPWQ/LTE6MSxhKj10aGlzLnYsdGhpcy5GYSl7dmFyIGU9YTtpZihlPT0wKW5SKHRoaXMsZSx0aGlzLm8sYiksb1IodGhpcywwLGIpO2Vsc2V7dmFyIGY9TWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLmxvZygxMCkrMkUtMTUpO2U9a1IoZSwtZik7dmFyIGg9dGhpcy5vO3RoaXMuWj4xJiZ0aGlzLlo+dGhpcy5vPyhoPWYldGhpcy5aLGg8MCYmKGg9dGhpcy5aK2gpLGU9a1IoZSxoKSxmLT1oLGg9MSk6dGhpcy5vPDE/KGYrKyxlPWtSKGUsLTEpKTooZi09dGhpcy5vLTEsZT1rUihlLHRoaXMuby0xKSk7blIodGhpcyxlLGgsYik7b1IodGhpcyxmLGIpfX1lbHNlIG5SKHRoaXMsYSx0aGlzLm8sYik7ZWxzZSBiLnB1c2goZFIuc2spO2Q/Yy54bT9iLnB1c2goYy54bSk6KGlzRmluaXRlKGEpJiZiLnB1c2goYy5zdWZmaXgpLGIucHVzaCh0aGlzLlUpKToKKGlzRmluaXRlKGEpJiZiLnB1c2goYy5zdWZmaXgpLGIucHVzaCh0aGlzLmdhKSk7cmV0dXJuIGIuam9pbigiIil9O3ZhciB5amE9IjAiLmNvZGVQb2ludEF0KDApLHNSPXtwbDowLHdtOiIiLHhtOiIiLHByZWZpeDoiIixzdWZmaXg6IiJ9O3ZhciBqVixCamE9alY9alY9emphO3ZhciBrVixDUj1rVj1rVj1BamE7dmFyIHdSPW51bGwseFI9bnVsbCx5Uj1udWxsLERqYT1SZWdFeHAoIicoW3t9I10uKj8pJyIsImciKSxDamE9UmVnRXhwKCInJyIsImciKTt6Ui5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKGEpe2lmKHRoaXMudil7dGhpcy5EPVtdO3ZhciBiPUVqYSh0aGlzLHRoaXMudik7dGhpcy5vPUhSKHRoaXMsYik7dGhpcy52PW51bGx9aWYodGhpcy5vJiZ0aGlzLm8ubGVuZ3RoIT0wKWZvcih0aGlzLmo9Xy55Yih0aGlzLkQpLGI9W10sQVIodGhpcyx0aGlzLm8sYSwhMSxiKSxhPWIuam9pbigiIik7dGhpcy5qLmxlbmd0aD4wOylhPWEucmVwbGFjZSh0aGlzLkIodGhpcy5qKSxTdHJpbmcodGhpcy5qLnBvcCgpKS5yZXBsYWNlKCIkIiwiJCQkJCIpKTtlbHNlIGE9IiI7cmV0dXJuIGF9O3ZhciBFUj0vXlxzKihcdyspXHMqLFxzKnBsdXJhbFxzKiwoPzpccypvZmZzZXQ6KFxkKykpPy8sRlI9L15ccyooXHcrKVxzKixccypzZWxlY3RvcmRpbmFsXHMqLC8sR1I9L15ccyooXHcrKVxzKixccypzZWxlY3RccyosLzsKelIucHJvdG90eXBlLkI9ZnVuY3Rpb24oYSl7cmV0dXJuIlx1ZmRkZl8iKyhhLmxlbmd0aC0xKS50b1N0cmluZygxMCkrIl8ifTt2YXIgVGphPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVlsYXx8Z1Z9Zm9ybWF0KGEpe3ZhciBiPVtdLGM9YS55ZWFycyxkPWEubW9udGhzLGU9YS53ZWVrcyxmPWEuZGF5cyxoPWEuaG91cnMsaz1hLm1pbnV0ZXM7YT1hLnNlY29uZHM7YyE9bnVsbCYmYi5wdXNoKElSKHRoaXMsYywieWVhcnMiKSk7ZCE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZCwibW9udGhzIikpO2UhPW51bGwmJmIucHVzaChJUih0aGlzLGUsIndlZWtzIikpO2YhPW51bGwmJmIucHVzaChJUih0aGlzLGYsImRheXMiKSk7aCE9bnVsbCYmYi5wdXNoKElSKHRoaXMsaCwiaG91cnMiKSk7ayE9bnVsbCYmYi5wdXNoKElSKHRoaXMsaywibWludXRlcyIpKTthIT1udWxsJiZiLnB1c2goSVIodGhpcyxhLCJzZWNvbmRzIikpO3JldHVybihuZXcgWGxhKS5mb3JtYXQoYil9fTsvKgoKIE1JVCBMaWNlbnNlCgogQ29weXJpZ2h0IChjKSAyMDE3IEFsZXhhbmRlciBSZWFyZG9uCgogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKCiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCgogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUKIFNPRlRXQVJFCiovCnZhciBabGE9KGEsYik9PntpZihhLmxlbmd0aCE9PWIubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7KytjKWlmKGFbY10hPT1iW2NdKXJldHVybiExO3JldHVybiEwfTt2YXIgbFY9bmV3IF8uSSgid2F0Y2hPbllvdXR1YmVCdXR0b25WaWV3TW9kZWwiKTt2YXIgRWthPW5ldyBfLkkoImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyIiksbVY9bmV3IF8uSSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxuVj1uZXcgXy5JKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNFeHBhbmRlZFJlbmRlcmVyIik7dmFyIE9TPW5ldyBfLkkoImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyICRsYT1uZXcgXy5JKCJtb2JpbGVUb3BiYXJSZW5kZXJlciIpO3ZhciBhbWE9bmV3IF8uSSgiY2FsbFRvQWN0aW9uQnV0dG9uVmlld01vZGVsIik7dmFyIGJtYT1uZXcgXy5JKCJpbnRlcnN0aXRpYWxWaWV3TW9kZWwiKTt2YXIgZGxhPW5ldyBfLkkoImNpbmVtYXRpY0NvbnRhaW5lclJlbmRlcmVyIik7dmFyIGprYT1uZXcgXy5JKCJ2YXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbCIpO3ZhciBEa2E9bmV3IF8uSSgiZnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsIik7dmFyIG9WPW5ldyBfLkkoInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxwVj1uZXcgXy5JKCJwbGF5ZXJNdXRlZEF1dG9wbGF5RW5kU2NyZWVuUmVuZGVyZXIiKTt2YXIgS1M9bmV3IF8uSSgicXVpY2tBY3Rpb25zVmlld01vZGVsIik7dmFyIGNtYT1uZXcgXy5JKCJyZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbCIpO3ZhciBBbGE9bmV3IF8uSSgiY29uZmlybURpYWxvZ1JlbmRlcmVyIik7dmFyIG1sYT1uZXcgXy5JKCJib3R0b21TaGVldE92ZXJsYXlSZW5kZXJlciIpO3ZhciBkbWE9bmV3IF8uSSgiZGlhbG9nSGVhZGVyVmlld01vZGVsIik7dmFyIGVtYT1uZXcgXy5JKCJkaWFsb2dWaWV3TW9kZWwiKTt2YXIgV1U9bmV3IF8uSSgicGxheWVyVG9hc3RDb21tYW5kIik7dmFyIHZrYT1uZXcgXy5JKCJhdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyIik7dmFyIHhrYT1uZXcgXy5JKCJkZWNvcmF0ZWRQbGF5ZXJCYXJSZW5kZXJlciIpLERTPW5ldyBfLkkoIm11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyIiksZVQ9bmV3IF8uSSgiY2hhcHRlclJlbmRlcmVyIik7dmFyIHlrYT1uZXcgXy5JKCJkZWNvcmF0ZWRQbGF5aGVhZFJlbmRlcmVyIik7dmFyIEFrYT1uZXcgXy5JKCJmdWxsc2NyZWVuRW5nYWdlbWVudE92ZXJsYXlSZW5kZXJlciIpLEJrYT1uZXcgXy5JKCJmdWxsc2NyZWVuRW5nYWdlbWVudEFjdGlvbkJhclJlbmRlcmVyIiksZm1hPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyU2F2ZUJ1dHRvblJlbmRlcmVyIik7dmFyIGdtYT1uZXcgXy5JKCJoZWF0TWFya2VyUmVuZGVyZXIiKTt2YXIgd2thPW5ldyBfLkkoImhlYXRtYXBSZW5kZXJlciIpO3ZhciBxVj1uZXcgXy5JKCJ0aW1lZE1hcmtlckRlY29yYXRpb25SZW5kZXJlciIpO3ZhciBobWE9WyJlbi1DQSIsImVuIiwiZXMtTVgiLCJmci1DQSJdO3ZhciByVjtyVj17YnJvd3NlRW5kcG9pbnQ6e2Jyb3dzZUlkOiJGRXdoYXRfdG9fd2F0Y2gifSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOiIvIixyb290VmU6Mzg1NCx3ZWJQYWdlVHlwZToiV0VCX1BBR0VfVFlQRV9CUk9XU0UifX19O3ZhciBLUj0hMTt2YXIgS2phPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPXRoaXMuaj0wO3RoaXMuaj1iLngtYS54O3RoaXMubz1iLnktYS55fX07dmFyICRUPV8uZ3Uodm9pZCAwLCJCREVxSmIiKTt2YXIgc1Y9d2luZG93LFo9c1YuR0h8fCJlbi1VUyIsU2phPXNWLkhIfHxDUixZbGE9c1YuRkh8fGdWO3ZhciBRUjt2YXIgdWthPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuSD1hfXRvZ2dsZUZ1bGxzY3JlZW4oKXt0aGlzLkgudG9nZ2xlRnVsbHNjcmVlbigpfWV4aXRGdWxsc2NyZWVuKCl7dGhpcy5pc0Z1bGxzY3JlZW4oKSYmdGhpcy50b2dnbGVGdWxsc2NyZWVuKCl9aXNGdWxsc2NyZWVuKCl7cmV0dXJuIHRoaXMuSC5pc0Z1bGxzY3JlZW4oKX19O3ZhciBUUj1fLkwoKHt0YTphfSk9Pl8uSyhfLmZKLHtkYXRhOigpPT57dmFyIGI9Y1Ioe3RpdGxlOl8uSVAoXy4kTi5uayksa2w6YSgpLmRlKCksaWNvblR5cGU6IkFVVE9QTEFZIixFazpfLiROLm5rLERrOl8uJE4ubmt9KTtyZXR1cm4gXy5CKGIsXy5NUCl9LG9uVGFwOmZ1bmN0aW9uKGIpe3ZhciBjPSFhKCkuZGUoKTthKCkuUmooYywhMCk7Yi5zdG9wUHJvcGFnYXRpb24oKTtfLlhNKCJwZnAtYXV0b25hdi11cGRhdGUiLHthdXRvbmF2RW5hYmxlZDpjfSl9fSksIlliIik7VFIuaWRvbUNvbXBhdD0hMDt2YXIgaW1hPV8uJE4uYXUsY1M9Xy5MKCgpPT57dmFyIGE9KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChpbWEpLGljb25UeXBlOiJQRVJTT05fQ0lSQ0xFIn0pLF8uWkMpO3JldHVybiBfLksoXy5DRCx7ZGF0YTphLElhOiEwLG9uVGFwOigpPT57dmFyIGI9Xy5LTygpP18uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsIi9zaWduaW4/YWN0aW9uX2Nsb3NlX3RhYj10cnVlIik6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfRU1CRURERURfUExBWUVSIj9fLkZPKCIvL3lvdXR1YmUuY29tL3NpZ25pbiIsIm5leHQiLCIvcG9zdF9sb2dpbiIpOl8uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsbG9jYXRpb24ucGF0aG5hbWUrbG9jYXRpb24uc2VhcmNoKTtfLkFKKHtzaWduSW5FbmRwb2ludDp7fSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOmJ9fX0sYSgpLCExKX19KX0sIlpiIik7Y1MuaWRvbUNvbXBhdD0hMDt2YXIgam1hPV8uJE4uV3Msa21hPV8uJE4uWXMsbG1hPV8uJE4uVG4sVmphPV8uTCgoe2Z2OmF9KT0+e3ZhciBiPSJjb3B5LWRlYnVnLWluZm8tdGV4dGFyZWEiK18uT0goKTtyZXR1cm4gXy5LKF8uckUse1FnOigpPT5fLksoXy5BUCxudWxsLGxtYSkscWs6KCk9Pl8uSygidGV4dGFyZWEiLHtjbGFzczoiY29weURlYnVnSW5mb1BsYXllckRlYnVnSW5mbyIsaWQ6Yn0sYSksRXo6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKF8uSksse2RhdGE6e2J1dHRvblRleHQ6am1hLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOiJNIixvblRhcDooKT0+e18ueSgpLnJlc29sdmUoXy55UCkubGQoKX19fSkpLFByOigpPT5fLksoXy56UCxudWxsLF8uSyhfLkpLLHtkYXRhOntidXR0b25UZXh0OmttYSxzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSIsb25UYXA6KCk9PntfLnNQKGIpO18ueSgpLnJlc29sdmUoXy55UCkubGQoKX19fSkpfSl9LAoiJGIiKTt2YXIgbW1hPV8uJE4uVG4sJFI9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAobW1hKSxpY29uVHlwZToiQlVHX1JFUE9SVCJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e1dqYShhKCkpfX0pLCJhYyIpOyRSLmlkb21Db21wYXQ9ITA7dmFyIG5tYT1fLiROLlpzLFpSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKG5tYSksaWNvblR5cGU6IkNPREUifSksXy5aQyksSWE6ITAsb25UYXA6KCk9Pnt2YXIgYj1hKCkuZ2V0VmlkZW9FbWJlZENvZGUoKTtiJiZiJiZ3aW5kb3cubmF2aWdhdG9yPy5jbGlwYm9hcmQmJndpbmRvdy5uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChiKX19KSwiYmMiKTtaUi5pZG9tQ29tcGF0PSEwO3ZhciBvbWE9Xy4kTi5idCxwbWE9Xy4kTi5mdCxXUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChvbWEpLGljb25UeXBlOiJMSU5LIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57UlIoYSgpLCExKX19KSwiY2MiKTtXUi5pZG9tQ29tcGF0PSEwO3ZhciBZUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChwbWEpLGljb25UeXBlOiJMSU5LIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57UlIoYSgpLCEwKX19KSwiZGMiKTtZUi5pZG9tQ29tcGF0PSEwO3ZhciB0Vj1fLiROLnV0LFZSPV8uTCgoe0g6YX0pPT5fLksoXy5mSix7ZGF0YTooKT0+e3ZhciBiPWNSKHt0aXRsZTpfLklQKHRWKSxrbDphKCkuZ2V0TG9vcFZpZGVvKCksRWs6dFYsRGs6dFYsaWNvblR5cGU6IkxPT1AifSk7cmV0dXJuIF8uQihiLF8uTVApfSxvblRhcDpiPT57YSgpLnNldExvb3BWaWRlbyghYSgpLmdldExvb3BWaWRlbygpKTtiLnN0b3BQcm9wYWdhdGlvbigpfX0pLCJlYyIpO1ZSLmlkb21Db21wYXQ9ITA7dmFyIFVSPV8uTCgoe0g6YX0pPT5fLksoInN0YWJsZS12b2x1bWUtdG9nZ2xlIix7Y2xhc3M6InN0YWJsZVZvbHVtZVRvZ2dsZUhvc3QifSxfLksoXy5mSix7ZGF0YTooKT0+Xy5CKGNSKHt0aXRsZTpfLklQKF8uJE4ueWspLGtsOmEoKS5oYXNEcmNBdWRpb1RyYWNrKCkmJmEoKS5nZXREcmNVc2VyUHJlZmVyZW5jZSgpPT09MSxpY29uVHlwZToiVk9MVU1FX1NUQUJMRSIsRWs6Xy4kTi55ayxEazpfLiROLnlrLGlzRGlzYWJsZWQ6IWEoKS5oYXNEcmNBdWRpb1RyYWNrKCl9KSxfLk1QKSxvblRhcDpmdW5jdGlvbihiKXthKCkuc2V0RHJjVXNlclByZWZlcmVuY2UoYSgpLmhhc0RyY0F1ZGlvVHJhY2soKSYmYSgpLmdldERyY1VzZXJQcmVmZXJlbmNlKCk9PT0xPzA6MSk7Yi5zdG9wUHJvcGFnYXRpb24oKX19KSksImZjIik7VVIuaWRvbUNvbXBhdD0hMDt2YXIgcW1hPV8uJE4uYnUsYlM9Xy5MKCh7SDphfSk9Pnt2YXIgYj0oKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHFtYSksaWNvblR5cGU6IklORk8ifSksXy5aQyk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PiEhYSgpLmdldFZpZGVvRGF0YSx0aGVuOigpPT5fLksoXy5DRCx7ZGF0YTpiLElhOiEwLG9uVGFwOigpPT57dmFyIGM9YSgpOyFjLmdldFZpZGVvRGF0YXx8KGMuaXNWaWRlb0luZm9WaXNpYmxlKCk/Yy5oaWRlVmlkZW9JbmZvKCk6Yy5zaG93VmlkZW9JbmZvKCkpfX0pfSl9LCJnYyIpO2JTLmlkb21Db21wYXQ9ITA7dmFyIHJtYT1fLiROLmR1LGFTPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHJtYSksaWNvblR5cGU6IlFVRVNUSU9OX0NJUkNMRSJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e2EoKS5yZXBvcnRQbGF5YmFja0lzc3VlJiYoYSgpLnJlcG9ydFBsYXliYWNrSXNzdWUoKSxfLnFQKHtocmVmOiJodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlLz9wPXJlcG9ydF9wbGF5YmFjayJ9KSl9fSksImhjIik7YVMuaWRvbUNvbXBhdD0hMDt2YXIgc21hPV8uJE4ud3Qsb1M9Xy5MKCh7SDphLG9oOmIsdGE6Yyx0QTpkfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAoc21hKSxpY29uVHlwZToiT1VUTElORV9PVkVSRkxPV19IT1JJWk9OVEFMXzMyIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57WGphKGEoKSxiKCksYz8uKCksZD8uKCkpfX0pLCJpYyIpO29TLmlkb21Db21wYXQ9ITA7dmFyIGdrYT1fLiROLm1vLFlqYT1fLiROLm5vLFpqYT1fLiROLlR0LGZrYT1fLiROLlJ0LGVrYT1fLiROLlN0LGhrYT1fLiROLlh0LGFrYT1bNTAsMTAwLDEyNSwxNTAsMTc1LDIwMF0sJGphPVsxMDAsMTI1LDE1MCwxNzUsMjAwLDMwMF0sY2thPVs1MCwxMDAsMTI1LDE1MCwyMDBdLGJrYT1bMTAwLDEyNSwxNTAsMjAwLDMwMF0saFM7dmFyIHRtYT1fLiROLm1vLHVtYT1fLiROLm5vLG1TPV8uTCgoe0g6YX0pPT57dmFyIGI9KCk9Pnt2YXIgZD1hKCk/LmdldFBsYXliYWNrUmF0ZSgpLGU9Xy5hQSgiUExBWUJBQ0tfU1BFRURfWCIse3NwZWVkX3JhdGVfcGxhY2Vob2xkZXI6YCR7ZH1gfSk7cmV0dXJuIF8uQihiUih7dGl0bGU6Xy5JUCh0bWEpLHNlbGVjdGlvblRleHQ6Xy5JUChkPT09MT91bWE6ZSksaWNvblR5cGU6IlBMQVlfQVJST1dfSEFMRl9DSVJDTEUifSksXy5aQyl9LGM9KCk9Pntra2EoYSgpKX07cmV0dXJuIF8uSyhfLk8se0E6KCk9PiEhYSgpPy5nZXRQbGF5YmFja1JhdGUoKSx0aGVuOigpPT5fLksoXy5DRCx7ZGF0YTpiLElhOiEwLG9uVGFwOmN9KX0pfSwiamMiKTttUy5pZG9tQ29tcGF0PSEwO3ZhciB2bWE9Xy4kTi5OcyxuUz1fLkwoKCk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKHZtYSksbGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0OiJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9ERUZBVUxUIixsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJQRVJTT05fUkFEQVIifX1dfSxlbnRpdHlLZXk6IkVpb3ZlVzkxZEhWaVpTOWhjSEF2Y0d4aGVXVnlYMkYxWkdsdlgzUnlZV05yWDJWdWRHbDBlVjlyWlhrZ19nSW9BUSUzRCUzRCIsZW50aXR5U2VsZWN0b3JUeXBlOiJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9BVURJT19UUkFDS19TRUxFQ1RJT05fVEVYVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOlt7c2hvd0F1ZGlvVHJhY2tQaWNrZXJBY3Rpb25Db21tYW5kOnt9fV19fX19fX19LApfLlpDKSxJYTohMH0pLCJrYyIpO25TLmlkb21Db21wYXQ9ITA7dmFyIHdtYT1fLiROLkV0LHhtYT1fLiROLkZ0LHBrYT1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYj1hKCk/LmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpLGM9dHlwZW9mIGI/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U9PT0ib2JqZWN0IiYmYi50cmFuc2xhdGlvbkxhbmd1YWdlPy5sYW5ndWFnZU5hbWV8fGI/LmRpc3BsYXlOYW1lfHwiIjtyZXR1cm4gXy5CKHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6Xy5JUCh3bWEpLGxpc3RJdGVtSWNvbkFmdGVyU2VsZWN0aW9uVGV4dDoiTElTVF9JVEVNX0lDT05fQUZURVJfU0VMRUNUSU9OX1RFWFRfREVGQVVMVCIsc2VsZWN0aW9uVGV4dDp7Y29udGVudDpjP2M6eG1hfSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmM/IkNMT1NFRF9DQVBUSU9OX1NFTEVDVEVEIjoiQ0xPU0VEX0NBUFRJT04ifX1dfSxlbnRpdHlLZXk6IkVpOHZlVzkxZEhWaVpTOWhjSEF2Y0d4aGVXVnlYMk5oY0hScGIyNWZiR0Z1WjNWaFoyVmZaVzUwYVhSNVgydGxlU0QtQWlnQiIsCmVudGl0eVNlbGVjdG9yVHlwZToiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfQ0FQVElPTl9MQU5HVUFHRV9TRUxFQ1RJT05fVEVYVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOlt7c2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e319XX19fX19LGlzRGlzYWJsZWQ6dHlwZW9mIGI9PT0idW5kZWZpbmVkIn19LF8uWkMpfSxJYTohMH0pLCJsYyIpO3ZhciBsa2E9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9O3ZhciB5bWE9Xy4kTi5OdCxta2E9Xy4kTi5PdCxsUz1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYj1iUih7dGl0bGU6Xy5JUCh5bWEpLHNlbGVjdGlvblRleHQ6Xy5JUChrUyhhKCksYSgpLmdldFBsYXliYWNrUXVhbGl0eSgpKSksaWNvblR5cGU6Ik9VVExJTkVfQURKVVNUIn0pO3JldHVybiBfLkIoYixfLlpDKX0sSWE6ITAsb25UYXA6KCk9PnthKCkuZ2V0QXZhaWxhYmxlUXVhbGl0eUxldmVscygpJiZva2EoYSgpKX19KSwibWMiKTtsUy5pZG9tQ29tcGF0PSEwOwp2YXIgbmthPV8uTCgoe0g6YX0pPT5fLksoXy5nRyx7cGE6KCk9PmEoKS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzKCksdGI6IklOREVYIn0sYj0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgYz1iKCksZD1hKCkuZ2V0UHJlZmVycmVkUXVhbGl0eSgpO2M9YlIoe3RpdGxlOl8uSVAoa1MoYSgpLGMpKSxpY29uVHlwZTpjPT09ZD8iQ0hFQ0siOnZvaWQgMH0pO3JldHVybiBfLkIoYyxfLlpDKX0sSWE6ITAsb25UYXA6KCk9Pnt2YXIgYz1iKCk7YSgpLnNldFBsYXliYWNrUXVhbGl0eVJhbmdlKGMsYyl9fSkpLCJuYyIpO3ZhciBSUz1uZXcgU2V0LFFTPW51bGw7dmFyIFRTPW51bGwsVlM9e307dmFyIHVWPV8uTChhPT57dmFyIGI9Xy52RSgiYnV0dG9uIixkPT57ZCYmV1MoZCwyODU3MiwhXy54KCJlbWJlZHNfY3VlZF9vdmVybGF5X3ZlX2tzIikpfSksYz0oKT0+YS5HKCkuSD8uaXNFbWJlZHNTaG9ydHNNb2RlPy4oKTtyZXR1cm4gXy5LKCJjdWVkLW92ZXJsYXkiLHtjbGFzczpfLlAoInl0bUN1ZWRPdmVybGF5SG9zdCIse3l0bUN1ZWRPdmVybGF5SGlkZGVuOigpPT4hJFMoYS5HKCksYS5wbGF5YWJpbGl0eVN0YXR1cz8uKCkpfSksIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtiLnZhbHVlJiYoWFMoMjg1NzIpLGEuRygpLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDAsXy5LLnZpc3VhbEVsZW1lbnQpLGEuSD8uKCkucGxheVZpZGVvKCkpO2Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT4hYS5HKCkuYmE/LmhpZGVWaWRlb0luZm8mJiF1UyhhLkcoKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtQ3VlZE92ZXJsYXlHcmFkaWVudCJ9KX0pLF8uSygiYnV0dG9uIiwKe2NsYXNzOl8uUCgieXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uIix7eXRtQ3VlZE92ZXJsYXlTaG9ydHM6Y30pLGVsOmIsImFyaWEtbGFiZWwiOl8uJE4uUGcsdGl0bGU6Xy4kTi5QZ30sXy5LKF8uTUQse2ljb246KCk9PmMoKT8iWU9VVFVCRV9TSE9SVFNfQlJBTkRfMjQiOiJMT0dPIixjbGFzc05hbWU6Inl0bUN1ZWRPdmVybGF5UGxheUJ1dHRvbkljb24ifSkpKX0sIm9jIik7dVYuaWRvbUNvbXBhdD0hMDt2YXIgYVQ7dmFyIEFtYT1fLkwoKHtKejphLG11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyOmIscHJvZ3Jlc3NCYXJXaWR0aDpjLHByb2dyZXNzQ29sb3I6ZH0pPT57dmFyIGU9KCk9PmdUKGIoKSksZj0oKT0+alQoYSgpKSxoPSgpPT5jKCkqKGEoKS52YS9hKCkudmlkZW9EdXJhdGlvbik7cmV0dXJuIF8uSygieXQtY2hhcHRlcmVkLXByb2dyZXNzLWJhci1saW5lIix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJIb3N0In0sXy5LKF8uZ0cse3BhOmV9LChrLGwpPT5fLksoem1hLHtOeTpmLGNoYXB0ZXJzOmUsaW5kZXg6bCxDejpoLHByb2dyZXNzQ29sb3I6ZCxEdTooKT0+e3ZhciBtPWpUKGEoKSksbj1nVChiKCkpLHA9bCgpLHI9aCgpO3JldHVybihtLnZhLWhUKF8uQihuW3BdLGVUKSkpL20udmEqcn19KSkpfSwicGMiKSx6bWE9Xy5MKCh7Tnk6YSxjaGFwdGVyczpiLGluZGV4OmMsQ3o6ZCxEdTplLHByb2dyZXNzQ29sb3I6Zn0pPT57dmFyIGg9Xy5QKCJ5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyQ2hhcHRlciIsCnt5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyQ2hhcHRlcklzU2NydWJiaW5nOigpPT5rKCkuYm0seXRDaGFwdGVyZWRQcm9ncmVzc0JhckhvdmVyZWRNYWNyb01hcmtlcjooKT0+aygpLkJnLHl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyU2VlbjooKT0+aygpLkxkPT09InNlZW4ifSksaz0oKT0+aVQoYSgpLGIoKSxjKCkpLGw9KCk9Pnt2YXIgbT1mPy4oKTtyZXR1cm4gbSE9PXZvaWQgMD9fLkpFKG0pOnZvaWQgMH07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6aCxzdHlsZTpfLklFKHt3aWR0aDooKT0+e3ZhciBtPWEoKSxuPWIoKSxwPWMoKSxyPV8uQihuW3BdLGVUKTtuPV8uQihuW3ArMV0sZVQpO3JldHVybmAkeyhuP2hUKG4pLWhUKHIpOm0udmlkZW9EdXJhdGlvbi1oVChyKSkvbS52aWRlb0R1cmF0aW9uKjEwMH0lYH0sImJhY2tncm91bmQtY29sb3IiOigpPT57YTp7dmFyIG09aygpO3N3aXRjaChtLkxkKXtjYXNlICJwZW5kaW5nIjptPQptLkJnPyJ3aGl0ZSI6InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSkiO2JyZWFrIGE7Y2FzZSAiYWN0aXZlIjptPW0uQmc/IndoaXRlIjoicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSI7YnJlYWsgYTtkZWZhdWx0Om09IiJ9fXJldHVybmAke219YH0sImJhY2tncm91bmQtc2l6ZSI6KCk9PmAke29UKGsoKSk/ZCgpOiIifXB4YCwiYmFja2dyb3VuZC1wb3NpdGlvbi14IjooKT0+YCR7b1QoaygpKT9lKCk6IiJ9cHhgLGJhY2tncm91bmQ6KCk9PmsoKS5MZD09PSJzZWVuIj9sKCk6dm9pZCAwfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJMb2FkZWQiLHN0eWxlOigpPT57dmFyIG09YSgpLG49YigpLHA9YygpO2lmKGlUKG0sbixwKS5MZD09PSJzZWVuIil2YXIgcj0wO2Vsc2Ugcj1oVChfLkIobltwXSxlVCkpLG49aFQoXy5CKG5bcCsxXSxlVCkpfHxtLnZpZGVvRHVyYXRpb24sbT1tLnZpZGVvRHVyYXRpb24qbS5RbSxyPW48PQptPzE6cj49bT8wOihtLXIpLyhuLXIpO3JldHVybmB3aWR0aDogJHtyKjEwMH0lYH19KSxfLksoImRpdiIse2NsYXNzOiJ5dENoYXB0ZXJlZFByb2dyZXNzQmFyQ2hhcHRlcmVkUGxheWVyQmFyRmlsbCIsc3R5bGU6Xy5JRSh7d2lkdGg6KCk9PmAke25UKGEoKSxiKCksYygpKSoxMDB9JWAsImJhY2tncm91bmQtc2l6ZSI6KCk9PmAke29UKGsoKSxuVChhKCksYigpLGMoKSkpP2QoKToiIn1weGAsImJhY2tncm91bmQtcG9zaXRpb24teCI6KCk9PmAke29UKGsoKSxuVChhKCksYigpLGMoKSkpP2UoKToiIn1weGAsYmFja2dyb3VuZDpsfSl9KSl9LCJxYyIpO3ZhciB2Vj1fLkwoKHtMYjphLGNvbmZpZzpifSk9Pnt2YXIgYz0oKT0+e3ZhciBkPShiKCkuU2k/Lk11Pz8wKSoxMDAsZT0oYigpLlNpPy5MdT8/MCkqMTAwLGY9ZS1kO3JldHVybiBmPjAmJmY8MTA/KGY9KDEwLWYpLzIsZC1mPj0wJiZlK2Y8MTAwP1tkLWYsZStmXTpkLWY8MD9bMCwxMF06WzkwLDEwMF0pOltkLGVdfTtyZXR1cm4gXy5LKCJ5dC1mb2N1c2VkLWNoYXB0ZXItcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZUhvc3QifSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZSIse3l0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVkOigpPT5iKCkuWHoseXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0OigpPT5iKCkucG9zaXRpb249PT0yfSl9LF8uSygiZGl2IiwKe2NsYXNzOiJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kIixzdHlsZTooKT0+YHdpZHRoOiAke2MoKVsxXS1jKClbMF19JTsgbGVmdDogJHtjKClbMF19JWB9LF8uSygiZGl2Iix7Y2xhc3M6Inl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhclBsYXllZCIsc3R5bGU6KCk9Pnt2YXIgZD1iKCkuU2k/Lk11Pz8wLGU9YigpLlNpPy5MdT8/MCxmPXdTKGEoKSk7cmV0dXJuYHdpZHRoOiAke2Y8ZD8wOmY+ZXx8ZT09PWQ/MTAwOihmLWQpLyhlLWQpKjEwMH0lO2B9fSkpKSl9LCJyYyIpO3ZWLmlkb21Db21wYXQ9ITA7dmFyIEJtYT0oKGEsYj1abGEpPT57dmFyIGMsZD1bXSxlLGY9ITE7cmV0dXJuIGZ1bmN0aW9uKC4uLmgpe2lmKGYmJmM9PT10aGlzJiZiKGgsZCkpcmV0dXJuIGU7ZT1hLmFwcGx5KHRoaXMsaCk7Zj0hMDtjPXRoaXM7ZD1oO3JldHVybiBlfX0pKGE9Pnt2YXIge21pbkhlaWdodERwOmI9MCxtYXhIZWlnaHREcDpjPTYwLGhlYXRNYXJrZXJzOmR9PWEsZT0xRTMvZC5sZW5ndGg7YT1bXTthLnB1c2goe3g6MCx5OjEwMH0pO2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgaD0oZisuNSkqZSxrPTEwMC1EUSgoXy5CKGRbZl0sZ21hKT8uaGVhdE1hcmtlckludGVuc2l0eVNjb3JlTm9ybWFsaXplZHx8MCkqMTAwLGIvMzIxKjEwMCxjLzMyMSoxMDApO2YhPT0wfHxhLnB1c2goe3g6MCx5Omt9KTthLnB1c2goe3g6aCx5Omt9KTtmPT09ZC5sZW5ndGgtMSYmYS5wdXNoKHt4OjFFMyx5Omt9KX1hLnB1c2goe3g6MUUzLHk6MTAwfSk7ZT0iIjtmb3IoZj0wO2Y8YS5sZW5ndGg7ZisrKXtoPQphW2ZdO2lmKGY9PT0wKWg9YE0gJHtoLngudG9GaXhlZCgxKX0sJHtoLnkudG9GaXhlZCgxKX1gO2Vsc2V7az1MUihhW2YtMV0sYVtmLTJdLGgpO2xldCBsPUxSKGgsYVtmLTFdLGFbZisxXSwhMCk7aD1gICR7YEMgJHtrLngudG9GaXhlZCgxKX0sJHtrLnkudG9GaXhlZCgxKX0gJHtsLngudG9GaXhlZCgxKX0sJHtsLnkudG9GaXhlZCgxKX0gJHtoLngudG9GaXhlZCgxKX0sJHtoLnkudG9GaXhlZCgxKX1gfWB9ZSs9aH1yZXR1cm4gZX0pO3ZhciBDbWE9Xy5MKCh7TGI6YSxjb25maWc6YixoaWdoQ29udHJhc3Q6Y30pPT57Yz1fLlAoInl0SGVhdFNlZWtlckhvc3QiLHt5dEhlYXRTZWVrZXJIaWdoQ29udHJhc3Q6Y30pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1oZWF0c2Vla2VyIix7Y2xhc3M6YyxzdHlsZTooKT0+YGhlaWdodDogMzIwcHg7IGRpc3BsYXk6ICR7YSgpLmlzRHJhZ2dpbmcmJkZTKGIoKS5SYSk/LmhlYXRNYXJrZXJzPyJibG9jayI6Im5vbmUifWB9LF8uSyhfLk8se0E6KCk9PkZTKGIoKS5SYSksdGhlbjpkPT5fLksoXy5PLHtBOigpPT5kKCkuaGVhdE1hcmtlcnMsdGhlbjooKT0+Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIzMjBweCIsdmlld0JveDoiMCAwIDEwMDAgMTAwIixwcmVzZXJ2ZUFzcGVjdFJhdGlvOiJub25lIn0sXy5LKCJwYXRoIix7ZDooKT0+Qm1hKGQoKSl9KSksZGVidWdJbnN0YW5jZToiR2ppMFNlIn0pLGRlYnVnSW5zdGFuY2U6ImlWVFh3ZiJ9KSl9LCJzYyIpO3ZhciB3Vj1fLkwoKHtMYjphLGNvbmZpZzpifSk9Pnt2YXIgYz1fLlAoInl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lIix7eXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVSb3VuZGVkOigpPT5iKCkuWHoseXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmVCb3R0b21JbnNldDooKT0+YigpLnBvc2l0aW9uPT09Mn0pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1saW5lIix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJMaW5lSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmQifSksXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxvYWRlZCIsc3R5bGU6KCk9PmB3aWR0aDogJHthKCkuUW0qMTAwfSVgfSksXy5LKCJkaXYiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckhvdmVyZWQiLHN0eWxlOigpPT57dmFyIGQ9CmEoKTtyZXR1cm5gd2lkdGg6ICR7KGQudmlkZW9EdXJhdGlvbj9EUShkLmRqL2QudmlkZW9EdXJhdGlvbiwwLDEpOjApKjEwMH0lYH19KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVkIixzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7d1MoYSgpKSoxMDB9JWAsYmFja2dyb3VuZDooKT0+YigpLnByb2dyZXNzQ29sb3IhPT12b2lkIDA/Xy5KRShiKCkucHJvZ3Jlc3NDb2xvcik6dm9pZCAwfSl9KSkpfSwidGMiKTt3Vi5pZG9tQ29tcGF0PSEwO3ZhciB4Vj1fLkwoKHtMYjphLGhmOmIsQng6YyxXdzpkfSk9Pnt2YXIgZT1fLlAoInl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3QiLHt5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkRG90TGFyZ2U6KCk9PmEoKS5pc0RyYWdnaW5nLHl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RIaWRlOigpPT4hYSgpLmlzRHJhZ2dpbmcmJmQoKX0pO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhci1wbGF5aGVhZCIse2NsYXNzOiJ5dFByb2dyZXNzQmFyUGxheWhlYWRIb3N0IixzdHlsZTpfLklFKHsibWFyZ2luLWxlZnQiOigpPT5gJHt4UyhhKCkpKjEwMH0lYCx0cmFuc2Zvcm06KCk9PmI/LigpPy5wbGF5aGVhZEltYWdlP2B0cmFuc2xhdGVYKC0ke2MoKT94UyhhKCkpKjIwOjEwfXB4KWA6YHRyYW5zbGF0ZVgoLSR7YygpP3hTKGEoKSkqMTI6Nn1weClgfSl9LF8uSyhfLk8se0E6KCk9PmI/LigpPy5wbGF5aGVhZEltYWdlLAp0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tIix7eXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZEN1c3RvbUxhcmdlOigpPT5hKCkuaXNEcmFnZ2luZyx5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tSGlkZTooKT0+IWEoKS5pc0RyYWdnaW5nJiZkKCl9KSxzdHlsZTpfLklFKHsidHJhbnNmb3JtLW9yaWdpbiI6KCk9PmAke2MoKT94UyhhKCkpKjIwOjEwfXB4IGNlbnRlcmB9KX0sXy5LKF8uakYse2RhdGE6ZixhbHQ6IiIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsVGI6ITF9KSksVzooKT0+Xy5LKCJkaXYiLHtjbGFzczplLHN0eWxlOl8uSUUoeyJ0cmFuc2Zvcm0tb3JpZ2luIjooKT0+YCR7YygpP3hTKGEoKSkqMTI6Nn1weCBjZW50ZXJgfSl9KX0pKX0sInVjIik7eFYuaWRvbUNvbXBhdD0hMDt2YXIgRG1hPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQsZSxmKXt0aGlzLkk9YTt0aGlzLkI9Yjt0aGlzLks9Yzt0aGlzLlU9ZDt0aGlzLlo9ZTt0aGlzLk09Zjt0aGlzLnN0YXJ0UG9zaXRpb249bnVsbDt0aGlzLmo9dGhpcy52PXRoaXMubz0hMTt0aGlzLkQ9bmV3IF8uV3QodGhpcy5ZLDEwMCx0aGlzKX1ZKGEsYixjKXtpZihiPWIuSCl7aWYoYi5nZXRWaWRlb0RhdGEoKT8uaXNMaXZlKXtsZXQgZD10aGlzLmdldFByb2dyZXNzU3RhdGUoYik7YSs9ZD8uc2Vla2FibGVTdGFydHx8MH1iLnNlZWtUbyhhLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGMpfX1nZXRQcm9ncmVzc1N0YXRlKGEpe3ZhciBiPWE/LmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk7cmV0dXJuIGE/LmdldFByb2dyZXNzU3RhdGUoYil9fTt2YXIgRm1hPV8uTCgoe0xiOmEsY29uZmlnOmIsWm06YyxSYTpkfSk9Pnt2YXIgZT1EVChhLCgpPT5iKCkuSWIpLGY9KCk9PiFhKCkuUWMmJiFiKCkuSWIsaD1fLlAoInl0UGxheWVyU3Rvcnlib2FyZEhvc3QiLCJ5dFBsYXllclN0b3J5Ym9hcmRIb3N0QmlnYm9hcmQiLHt5dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0czooKT0+YigpLkliJiYhMH0pO3JldHVybiBfLksoInl0LXBsYXllci1zdG9yeWJvYXJkIixudWxsLF8uSyhfLk8se0E6KCk9PmEoKS5pc0RyYWdnaW5nfHxhKCkuUWMsdGhlbjooKT0+Xy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOmgsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyh5Vix7cHJvcHM6YSxjb25maWc6YixlZTohMCxSYTpkfSkpLFc6KCk9Pl8uSyhFbWEse3Byb3BzOmEsZnJhbWU6ZSxjb25maWc6YixabTpjLFJhOmR9KX0pfSl9KSl9LCJ2YyIpLEdtYT1fLkwoKHtMYjphLEliOmJ9KT0+Cnt2YXIgYz1EVChhLGIpO3JldHVybiBfLksoInl0LXBsYXllci1iaWctc3Rvcnlib2FyZCIse2NsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRCaWdib2FyZFdyYXBwZXIifSxfLksoXy5PLHtBOigpPT5hKCkuaXNEcmFnZ2luZ3x8YSgpLlFjLHRoZW46KCk9Pl8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoelYse2ZyYW1lOmMscHJvcHM6YSxlZTohMH0pfSl9KSl9LCJ3YyIpLEVtYT1fLkwoKHtwcm9wczphLGZyYW1lOmIsY29uZmlnOmMsWm06ZCxSYTplfSk9Pnt2YXIgZj1fLlAoInl0UGxheWVyU3Rvcnlib2FyZEhvc3QiLHt5dFBsYXllclN0b3J5Ym9hcmRIb3N0TXdlYlNob3J0czooKT0+YygpLkliJiYhMCx5dFBsYXllclN0b3J5Ym9hcmRIb3N0SW5saW5lUGxheWVyOigpPT5jKCkueHEseXRQbGF5ZXJTdG9yeWJvYXJkSG9zdEZhZGVJbjooKT0+YygpLnVzZUZhZGVJbkFuaW1hdGlvbn0pLGg9KCk9PntpZighXy54KCJlbmFibGVfd2ViX3dhdGNoX25leHRfaW1wX2NsaWVudCIpfHwhYygpLnhxKXJldHVybiAxOwp2YXIgaz1hKCkuSD8uZ2V0U2l6ZSgpPy5oZWlnaHQ/PzA7cmV0dXJuIGs+MCYmazwxNjA/ay8xNjA6MX07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6ZiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixzdHlsZTpfLklFKCgpPT57dmFyIGs9YSgpLGw9eVQoYigpKSpoKCksbT1kKCk7az1BVChrKS9rLnZpZGVvRHVyYXRpb247dmFyIG49bSprLHA9bC8yKzY7bD1tLShsLzIrNik7cmV0dXJue2xlZnQ6YCR7bjw9cD9wL20qMTAwOm4+PWw/bC9tKjEwMDprKjEwMH0lYCwiLS1zdG9yeWJvYXJkLXNjYWxlIjpgJHtoKCl9YH19KX0sXy5LKF8uTyx7QTooKT0+e3ZhciBrPWEoKTtyZXR1cm4hKGMoKS5JYiYmay52aWRlb0R1cmF0aW9uPDE1KX0sdGhlbjooKT0+Xy5LKHpWLHtmcmFtZTpiLHByb3BzOmEsZWU6ITEsekE6aH0pfSksXy5LKHlWLHtwcm9wczphLGNvbmZpZzpjLGVlOiExLFJhOmV9KSl9LCJ4YyIpLHpWPV8uTCgoe2ZyYW1lOmEscHJvcHM6YixlZTpjLHpBOmR9KT0+e3ZhciBlPSgpPT5iKCkuSD8uZ2V0VmlkZW9Db250ZW50UmVjdCgpPz8Ke3dpZHRoOjAsaGVpZ2h0OjB9LGY9Xy5QKHt5dFBsYXllclN0b3J5Ym9hcmRCaWdib2FyZEltYWdlV3JhcHBlcjpjLHl0UGxheWVyU3Rvcnlib2FyZFN0b3J5Ym9hcmRJbWFnZVdyYXBwZXI6KCk9PiFjKCl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOl8uSUUoKCk9Pih7d2lkdGg6YCR7YygpP2UoKS53aWR0aDp5VChhKCkpKihkPy4oKT8/MSl9cHhgLGhlaWdodDpgJHtjKCk/ZSgpLmhlaWdodDp6VChhKCkpKihkPy4oKT8/MSl9cHhgfSkpfSxfLksoSG1hLHtmcmFtZTphLFBBOigpPT55VChhKCkpLE5BOigpPT56VChhKCkpLE9BOigpPT57dmFyIGg9eVQoYSgpKTtyZXR1cm4gaD4wPyhjKCk/ZSgpLndpZHRoOnlUKGEoKSkqKGQ/LigpPz8xKSkvaDoxfX0pKX0sInljIiksSG1hPV8uTCgoe2ZyYW1lOmEsUEE6YixOQTpjLE9BOmR9KT0+Xy5LKCJpbWciLHtzcmM6KCk9PmEoKT8udXJsPz8iIixjbGFzczoieXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlIixhbHQ6InByZXZpZXctaW1hZ2UiLApzdHlsZTpfLklFKCgpPT57dmFyIGU9YSgpPz97cm93OjAsY29sdW1uOjAsd2lkdGg6MCxoZWlnaHQ6MH0sZj1iKCksaD1jKCksaz1kKCkse2xlZnQ6bCx0b3A6bX09e2xlZnQ6LWUuY29sdW1uKmYqayx0b3A6LWUucm93Kmgqa307cmV0dXJue2xlZnQ6YCR7bH1weGAsdG9wOmAke219cHhgLHdpZHRoOmAke2Uud2lkdGgqa31weGAsaGVpZ2h0OmAke2UuaGVpZ2h0Kmt9cHhgfX0pfSksInpjIikseVY9Xy5MKCh7cHJvcHM6YSxjb25maWc6YixlZTpjLFJhOmR9KT0+e3ZhciBlPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkTWV0YWRhdGEiLHt5dFBsYXllclN0b3J5Ym9hcmRNZXRhZGF0YUJpZ2JvYXJkOmN9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczplfSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoQVYse3Byb3BzOmEsY29uZmlnOmJ9KSxfLksoXy5PLHtBOigpPT57YTp7dmFyIGY9YSgpO3ZhciBoPWIoKSxrPWQoKTtpZihoPy5SZyYmXy5CKGg/LlJnLGVUKT8udGl0bGUpZj0KITA7ZWxzZXtmb3IobGV0IGwgb2YgRlMoayk/LmhlYXRNYXJrZXJzRGVjb3JhdGlvbnM/P1tdKXtmPShoPV8uQihsLHFWKSkmJkJUKGYsaCk7YnJlYWsgYX1mPSExfX1yZXR1cm4gZn0sdGhlbjooKT0+Xy5LKEJWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KX0pKSxXOigpPT5fLksoXy5JQixudWxsLF8uSyhCVix7cHJvcHM6YSxjb25maWc6YixlZTohMCxSYTpkfSksXy5LKEFWLHtwcm9wczphLGNvbmZpZzpifSkpfSkpfSwiQWMiKSxBVj1fLkwoKHtwcm9wczphLGNvbmZpZzpifSk9Pnt2YXIgYz1fLlAoInl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcCIse3l0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcFNob3J0czooKT0+YigpLkliLHl0UGxheWVyU3Rvcnlib2FyZFRpbWVzdGFtcElzSG92ZXJpbmc6KCk9PmEoKS5RY3x8YigpLkliJiYhMX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmN9LF8uSyhfLklCLG51bGwsKCk9PkNUKEFUKGEoKSkpKSl9LCJCYyIpLEJWPV8uTCgoe3Byb3BzOmEsCmNvbmZpZzpiLGVlOmMsUmE6ZH0pPT57Yz1fLlAoInl0UGxheWVyU3Rvcnlib2FyZFRpdGxlIix7eXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGVCaWdib2FyZDpjfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uTyx7QTooKT0+IWIoKS5JYix0aGVuOigpPT5fLksoSW1hLHtwcm9wczphLFJnOigpPT5iKCkuUmcsUmE6ZH0pfSkpfSwiQ2MiKSxJbWE9Xy5MKCh7cHJvcHM6YSxSZzpiLFJhOmN9KT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5nRyx7cGE6KCk9Pnt2YXIgZD1jKCk7cmV0dXJuIEZTKGQpPy5oZWF0TWFya2Vyc0RlY29yYXRpb25zPz9bXX0sdGI6IklOREVYIn0sZD0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT5fLkIoZCgpLHFWKSYmQlQoYSgpLF8uQihkKCkscVYpKSx0aGVuOigpPT5fLksoSm1hLHtjQjooKT0+Xy5CKGQoKSxxVil9KX0pKSksXy5LKF8uTyx7QTooKT0+YigpJiZfLkIoYigpLGVUKT8udGl0bGUsdGhlbjpkPT5fLksoXy5WLHt0ZXh0OmQscmc6ITB9KX0pKSwKIkRjIiksSm1hPV8uTCgoe2NCOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoImRpdiIse2NsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb25XcmFwcGVyIn0sXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uLGNsYXNzTmFtZToieXRQbGF5ZXJTdG9yeWJvYXJkVGltZWRNYXJrZXJJY29uIn0pKSxfLksoXy5WLHt0ZXh0OigpPT5hKCkubGFiZWwscmc6ITB9KSksIkVjIik7dmFyIENWPV8uTCgoe0xiOmEsaGY6Yixjb25maWc6Y30pPT57dmFyIGQ9Xy51RSgieXQtcHJvZ3Jlc3MtYmFyIiksZT1fLnVFKCJkaXYiKSxmPV8udUUoImRpdiIpLFtoLGtdPV8uSih7d2lkdGg6MCxsZWZ0OjB9LHZvaWQgMCwiZDFic2JmIiksbD0oKT0+e2YudmFsdWUmJmsoZi52YWx1ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSl9LG09KCk9PntoKCkud2lkdGg8PTAmJmwoKTtyZXR1cm4gaCgpfTtfLkRQKCJyZXNpemUiLGwpO3ZhciBuPW5ldyBEbWEobSwoKT0+e30sKCk9PjAsKCk9Pnt9LCgpPT57fSwoKT0+e30pLHA9KCk9PmEoKSxbcix0XT1fLkooITEsdm9pZCAwLCJjVnNUSyIpO18uRFAoIm1vdXNlbW92ZSIsWWthKG4scCxjKSk7Xy5EUCgibW91c2V1cCIseFQobixwLGMpKTt2YXIgdjtfLlVKKCgpPT57R2thKGUudmFsdWUpO3QoITEpO2woKTt4VChuLHAsYykoKTtjKCkuaWomJih2PW5ldyBSZXNpemVPYnNlcnZlcihsKSx2Lm9ic2VydmUoZi52YWx1ZSkpO18uWXUoKCk9Pgp7dj8uZGlzY29ubmVjdCgpfSl9KTt2YXIgej1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0IiwoKT0+YygpLmNsYXNzTmFtZSx7eXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RSZWFkT25seTooKT0+YygpLmRpc2FibGVTY3J1YmJpbmcseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RIaWRkZW46KCk9PmMoKS5rSiYmIXIoKSx5dFBsYXllclByb2dyZXNzQmFySG9zdExvd2VyUGxheWVyOigpPT5jKCkucG9zaXRpb249PT0wLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Qm90dG9tRWRnZTooKT0+YygpLnBvc2l0aW9uPT09MSx5dFBsYXllclByb2dyZXNzQmFySG9zdEJvdHRvbUluc2V0OigpPT5jKCkucG9zaXRpb249PT0yLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Q3VzdG9tOigpPT5jKCkucG9zaXRpb249PT0zfSksRT1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJCYWNrZ3JvdW5kIix7eXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmRIaWRlOigpPT5jKCkucG9zaXRpb249PT0yJiYhcigpJiYKIWEoKS5pc0RyYWdnaW5nfSksQT1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJEcmFnQ29udGFpbmVyIix7eXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXJCb3R0b21FZGdlOigpPT5jKCkucG9zaXRpb249PT0xfSksRj1fLlAoInl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0JhciIse3l0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0OigpPT5jKCkucG9zaXRpb249PT0yLHl0UGxheWVyUHJvZ3Jlc3NCYXJQcm9ncmVzc0Jhckluc2V0TWluaW1pemVkOigpPT5jKCkucG9zaXRpb249PT0yJiYhcigpJiYhYSgpLmlzRHJhZ2dpbmd9KSxDPSgpPT5NYXRoLmZsb29yKHdTKGEoKSkqMTAwKTtyZXR1cm4gXy5LKCJ5dC1wcm9ncmVzcy1iYXIiLHtlbDpkLGNsYXNzOnp9LF8uSyhfLk8se0E6KCk9PmMoKS5wb3NpdGlvbj09PTIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpFfSl9KSxfLksoImRpdiIse2VsOmUsIm9uOmNsaWNrIjpmdW5jdGlvbihHKXsoYygpLkRJfHx0eXBlb2YgUG9pbnRlckV2ZW50IT09CiJ1bmRlZmluZWQiJiZHIGluc3RhbmNlb2YgUG9pbnRlckV2ZW50JiZHLnBvaW50ZXJUeXBlPT09Im1vdXNlIikmJk9rYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKEcpe1BrYShuLHApKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKEcpe1JrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNlZW50ZXIiOmZ1bmN0aW9uKCl7dCghMCk7YygpLnBvc2l0aW9uPT09Mj9zZXRUaW1lb3V0KCgpPT57bCgpfSwxMDApOmwoKX0sIm9uOm1vdXNlZG93biI6ZnVuY3Rpb24oRyl7UWthKG4scCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNlbGVhdmUiOmZ1bmN0aW9uKCl7dCghMSk7VGthKHApKCl9LCJvbjptb3VzZW1vdmUiOmZ1bmN0aW9uKEcpe1NrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOm1vdXNldXAiOmZ1bmN0aW9uKEcpe1ZrYShuLApwLGMpKEcpO3IoKSYmYSgpLlMoe1FjOiEwfSk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoZW5kIjpmdW5jdGlvbihHKXtVa2EobixwLGMpKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaGNhbmNlbCI6ZnVuY3Rpb24oRyl7V2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246a2V5ZG93biI6ZnVuY3Rpb24oRyl7WGthKHApKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LGNsYXNzOkEscm9sZToic2xpZGVyIiwiYXJpYS12YWx1ZW5vdyI6QywiYXJpYS12YWx1ZXRleHQiOigpPT5gJHtDKCl9JWAsImFyaWEtdmFsdWVtaW4iOigpPT4wLCJhcmlhLXZhbHVlbWF4IjooKT0+MTAwLGRyYWdnYWJsZToiZmFsc2UiLHRhYmluZGV4OjAsImFyaWEtbGFiZWwiOl8uYUEoIlNFRUtfU0xJREVSIil9LF8uSygiZGl2Iix7ZWw6ZixjbGFzczpGfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckhlYXRzZWVrZXJDb250YWluZXIiLHt5dFBsYXllclByb2dyZXNzQmFySGVhdHNlZWtlckNvbnRhaW5lckluc2V0OigpPT4KYygpLnBvc2l0aW9uPT09Mn0pfSxfLksoQ21hLHtMYjphLGNvbmZpZzpjLGhpZ2hDb250cmFzdDooKT0+ISFjKCkuaWomJmMoKS5wb3NpdGlvbiE9PTJ9KSksXy5LKF8uTyx7QTooKT0+YygpLlJhJiZ6a2EoYygpLlJhKSx0aGVuOigpPT5fLksoQW1hLHtKejphLG11bHRpTWFya2Vyc1BsYXllckJhclJlbmRlcmVyOigpPT5jKCkuUmEscHJvZ3Jlc3NCYXJXaWR0aDooKT0+aCgpLndpZHRoLHByb2dyZXNzQ29sb3I6KCk9PmMoKS5wcm9ncmVzc0NvbG9yfSksVzooKT0+Xy5LKF8uTyx7QTooKT0+YygpLlNpLHRoZW46KCk9Pl8uSyh2Vix7TGI6YSxjb25maWc6Y30pLFc6KCk9Pl8uSyh3Vix7TGI6YSxjb25maWc6Y30pfSl9KSxfLksoeFYse0xiOmEsaGY6KCk9Pl8ueCgiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiIpP2MoKS5oZjpiPy4oKSxCeDooKT0+YygpLnBvc2l0aW9uIT09MixXdzooKT0+YygpLnhyPT09MSYmIXIoKXx8YygpLnhyPT09Mn0pKSksXy5LKEZtYSx7TGI6YSxjb25maWc6KCk9Pgooe1JnOmxUKGEoKSxjKCkuUmEpLGRKOigpPT5tKCkud2lkdGgsSWI6ISFjKCkuSWIseHE6ISFjKCkuaWosdXNlRmFkZUluQW5pbWF0aW9uOiEhYygpLmlqfSksWm06KCk9PmgoKS53aWR0aCxSYTooKT0+YygpLlJhfSkpfSwiRmMiKTtDVi5pZG9tQ29tcGF0PSEwO3ZhciBEVj1fLkwoYT0+e3ZhciBiPSgpPT57dmFyIGQ9YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LigpO2lmKGQpcmV0dXJuIHpTKGQpfSxjPSgpPT57dmFyIGQ9YigpO2lmKGQpe3ZhciBlPWEuSm8oKS5hdXRvbmF2RW5hYmxlZDtyZXR1cm4gXy5hTihlP18uQihkLmVuYWJsZWRFZHVDb21tYW5kLFdVKT8udGV4dDpfLkIoZC5kaXNhYmxlZEVkdUNvbW1hbmQsV1UpPy50ZXh0KX19O3JldHVybiBfLksoXy5PLHtBOigpPT5hLkpvKCkuWWgmJiEhYigpLHRoZW46KCk9Pl8uSygiYXV0b25hdi10b29sdGlwIix7Y2xhc3M6Inl0d0F1dG9uYXZUb29sdGlwSG9zdCIscm9sZToiYWxlcnQifSxfLksoInNwYW4iLHsiYXJpYS1sYWJlbCI6Yyxyb2xlOiJ0ZXh0In0sYykpfSl9LCJHYyIpO0RWLmlkb21Db21wYXQ9ITA7dmFyIEVWPV8uTChhPT57dmFyIGI9Xy52RSgic3BlZWRtYXN0ZXItdG9vbHRpcCIpLGM9Xy5OKCgpPT5hLkcoKS5zYix2b2lkIDAsIkVzVFJsYyIpO18ubkUoKCk9PntpZihjKCkmJmIudmFsdWUpe2xldCBkPW51bGw7U1MoMTczMDQwLGIudmFsdWUsZCxlPT57ZD1lfSl9fSwiQXZwR0lmIik7cmV0dXJuIF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoInNwZWVkbWFzdGVyLXRvb2x0aXAiLHtlbDpiLGNsYXNzOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXR3U3BlZWRtYXN0ZXJUb29sdGlwTGFiZWwifSxfLiROLkd0KSxfLksoXy5NRCx7aWNvbjoiRkFTVF9GT1JXQVJEIixhY3RpdmU6ITAsY2xhc3NOYW1lOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBJY29uIn0pKX0pfSwiSWMiKTtFVi5pZG9tQ29tcGF0PSEwO3ZhciBGVj1fLkwoYT0+Xy5LKCJwbGF5ZXItdXNlci1lZHUtdG9vbHRpcCIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcEhvc3QifSxfLksoRFYse0pvOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJVc2VyRWR1VG9vbHRpcFRvb2x0aXBXcmFwcGVyIn0sXy5LKEVWLHtHOmEuR30pKSkpLCJKYyIpO0ZWLmlkb21Db21wYXQ9ITA7dmFyIFprYT1bMCwxLDIwLDIxXTt2YXIgYWxhPVswLDEsMjAsMjFdLEdUPXZvaWQgMDt2YXIgS21hPV8uTCgoe3VkOmEsRXI6Yn0pPT57ZnVuY3Rpb24gYyhwKXtwLnRvdWNoZXM/LlswXSYmKHA9cC50b3VjaGVzWzBdLGsoe3g6cC5wYWdlWCx5OnAucGFnZVl9KSl9ZnVuY3Rpb24gZChwKXt2YXIgcj1oKCk7aWYoIXJ8fCFwLnRvdWNoZXM/LlswXSlyZXR1cm4gbnVsbDtwPXAudG91Y2hlc1swXTtyZXR1cm57bGs6cC5wYWdlWC1yLngsT2Q6cC5wYWdlWS1yLnl9fXZhciBbZSxmXT1fLkoobnVsbCx2b2lkIDAsIkFoMzBnIiksaD1lLGs9ZixbbCxtXT1fLkoodm9pZCAwLHZvaWQgMCwiUW83NmhkIik7Xy5ZdSgoKT0+e0ZUKGEoKSk7bShFVChsKCkpKX0pO3ZhciBuPXtHYjooKT0+Xy5LKCJkaXYiLG51bGwsXy5LKF8uVyx7ZGF0YTooKT0+Yj8uKCk/Lm1lbnVSZW5kZXJlcj8uaXRlbXN8fFtdfSx7bGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnB9KT0+Xy5LKF8ucEwse2RhdGE6cCxJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOl8uZkp9KSksSGE6ITB9O3JldHVybiBfLksoInl0bS1zaG9ydHMtZ2VzdHVyZS1vdmVybGF5LWNvbnRyb2xzIiwKe2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzR2VzdHVyZU92ZXJsYXkifSxfLksoRlYse0c6YX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc1NwZWVkbWFzdGVyR2VzdHVyZUFyZWEiLCJvbjp0b3VjaHN0YXJ0IjpwPT57YyhwKTtIVChhKCkscC50b3VjaGVzLmxlbmd0aCl9LCJvbjp0b3VjaG1vdmUiOnA9Pnt2YXIgcj1kKHApO3ImJklUKHAscixhKCkpfSwib246dG91Y2hlbmQiOigpPT57RlQoYSgpKTtrKG51bGwpfSwib246dG91Y2hjYW5jZWwiOigpPT57RlQoYSgpKTtrKG51bGwpfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNNZW51R2VzdHVyZUFyZWEiLCJvbjp0b3VjaHN0YXJ0IjpwPT57YyhwKTttKCRrYShhKCkscC50b3VjaGVzLmxlbmd0aCwKKCk9PntfLnlOKG4pfSxsKCkpKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7aWYocil7cD1sKCk7dmFyIHQ9ci5saztyPXIuT2Q7cD1NYXRoLnNxcnQodCp0K3Iqcik+Xy5zaigic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIiwxMCk/RVQocCk6cDttKHApfX0sIm9uOnRvdWNoZW5kIjooKT0+e20oRVQobCgpKSk7ayhudWxsKX0sIm9uOnRvdWNoY2FuY2VsIjooKT0+e20oRVQobCgpKSk7ayhudWxsKX19KSxfLksoImRpdiIse2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO0hUKGEoKSxwLnRvdWNoZXMubGVuZ3RoKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7ciYmSVQocCxyLGEoKSl9LCJvbjp0b3VjaGVuZCI6KCk9PntGVChhKCkpO2sobnVsbCl9LCJvbjp0b3VjaGNhbmNlbCI6KCk9PntGVChhKCkpO2sobnVsbCl9fSkpKX0sIktjIik7dmFyIEdWPV8uTChhPT57dmFyIGI9Xy51RSgiZGl2IiksYz1fLk4oKCk9PmEudGh1bWJuYWlsRGV0YWlscz8uKCksdm9pZCAwLCJFODhVR2QiKSxkPV8uTigoKT0+YS5HKCkuYmEsdm9pZCAwLCJYdEdBbWUiKTtfLm5FKCgpPT57Y2xhKGIudmFsdWUsYygpLGQoKSl9LCJ5QWtpaWMiKTtyZXR1cm4gXy5LKCJ2aWRlby1jb3ZlciIse2NsYXNzOl8uUCgieXRtVmlkZW9Db3Zlckhvc3QiLHtlbmRlZDooKT0+dVMoYS5HKCkpLGhpZGRlbjooKT0+e3ZhciBlPWEuRygpO3JldHVybiEoJFMoZSl8fHVTKGUpKX19KX0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9Db3ZlclRodW1ibmFpbCIsZWw6Yn0pKX0sIk1jIik7R1YuaWRvbUNvbXBhdD0hMDtuZXcgXy5XdChlbGEsMjAwKTt2YXIgU1Q9MDt2YXIgVVQ9SlIoKSxWVD0hMTtuZXcgXy5DdCgicGxheWVyU2V0dGluZ3NNZW51IiwiTnhkM3VmIik7dmFyIExtYT1fLkwoKHtnZjphLEV4OmIscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6Y30pPT57dmFyIGQ9Xy5QKCJ5dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3QiLHt5dE13ZWJTaG9ydHNQbGF5ZXJDb250cm9sc0hvc3RJc1NjcnViYmFibGVNb2RlOigpPT5YVChhKCksYigpKX0se3l0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdEhpZGVQcm9ncmVzc0JhcjooKT0+V1QoYSgpLGIoKSkmJmEoKS52aWRlb0R1cmF0aW9uPD0zMH0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmR9LF8uSyhDVix7TGI6YSxjb25maWc6KCk9Pnt2YXIgZT17SWI6ITAscG9zaXRpb246MyxkaXNhYmxlU2NydWJiaW5nOiFYVChhKCksYigpKSxJbjohMSx4cjpYVChhKCksYigpKT8wOjEsb25Ub3VjaE1vdmU6KCk9PnthKCkuZ2V8fChhKCkuUyh7Z2U6ITB9KSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInVwZGF0ZS1zaG9ydHMtb3ZlcmxheS12aXNpYmlsaXR5Iix7YnViYmxlczohMCwKZGV0YWlsOntnZTohMH19KSkpfSxvblRvdWNoRW5kOmg9PntVUyhoKTthKCkuUyh7Z2U6ITF9KTt3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInVwZGF0ZS1zaG9ydHMtb3ZlcmxheS12aXNpYmlsaXR5Iix7YnViYmxlczohMCxkZXRhaWw6e2dlOiExfX0pKX19LGY9Yz8uKCk7cmV0dXJuIGY/LnBsYXloZWFkSW1hZ2U/ey4uLmUsaGY6e3BsYXloZWFkSW1hZ2U6Zi5wbGF5aGVhZEltYWdlfX06ZX19KSl9LCJRYyIpLE1tYT1fLkwoKHtIOmEsY29udGV4dDpiLHJlZWxQbGF5ZXJTY3J1YmJlclJlbmRlcmVyOmMsRXI6ZH0pPT57dmFyIFtlLGZdPV8uSighMSx2b2lkIDAsIlFjWlNnZCIpLFtoLGtdPV8uSighMSx2b2lkIDAsImNudHpyZiIpLFtsLG1dPV8uSighMSx2b2lkIDAsIlNUSWFlYiIpLFtuLHBdPV8uSighMSx2b2lkIDAsIkN3WGZiYyIpLFtyLHRdPV8uSigwLHZvaWQgMCwiczVLTE1iIiksW3Ysel09Xy5KKDAsdm9pZCAwLCJnamxxTmMiKSxbRSxBXT1fLkooMCwKdm9pZCAwLCJHVWNpWmUiKSxbRixDXT1fLkooIiIsdm9pZCAwLCJ4R0llOCIpLFtHLERdPV8uSighMSx2b2lkIDAsIkZwNUQ0YiIpLEg9Xy5OKCgpPT57dmFyIHBhPXtlYTplKCksZ2U6aCgpLHliOmwoKSxpc0RyYWdnaW5nOm4oKSx2aWRlb0R1cmF0aW9uOnYoKSx2YTpFKCksdmlkZW9JZDpGKCksQ2E6cigpLHNiOkcoKX07cmV0dXJuey4uLmRUKCksLi4ucGEsLi4uKGI/LigpPz97fSksUzpvYT0+e29hLmVhIT09dm9pZCAwJiZmKG9hLmVhKTtvYS5nZSE9PXZvaWQgMCYmayhvYS5nZSk7b2EueWIhPT12b2lkIDAmJm0ob2EueWIpO29hLmlzRHJhZ2dpbmchPT12b2lkIDAmJnAob2EuaXNEcmFnZ2luZyk7b2EuQ2EhPT12b2lkIDAmJnQob2EuQ2EpO29hLnZpZGVvRHVyYXRpb24hPT12b2lkIDAmJnoob2EudmlkZW9EdXJhdGlvbik7b2EudmEhPT12b2lkIDAmJkEob2EudmEpO29hLnZpZGVvSWQhPT12b2lkIDAmJkMob2EudmlkZW9JZCk7b2Euc2IhPT12b2lkIDAmJkQob2Euc2IpfSx0YTp7aXNGdWxsc2NyZWVuOl8uclAsCnRvZ2dsZUZ1bGxzY3JlZW46dWphLGV4aXRGdWxsc2NyZWVuOiRRLGRlOmZsYSxSajpobGEsVWw6aWxhfSxIOmEoKX19LHZvaWQgMCwiVXljTVNiIiksUj1Na2EoSCksTT1Ma2EoSCksUz1La2EoSCksWT0oKT0+e307Xy5vRigoKT0+e3ZhciBwYT1hKCk7cGEmJihwYS5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLFIpLHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixNKSxwYS5hZGRFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixTKSl9KTtfLll1KCgpPT57dmFyIHBhPWEoKTtwYSYmcGE/LmlzUmVhZHk/LigpJiYocGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25WaWRlb1Byb2dyZXNzIixSKSxwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTSkscGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsUykpfSk7cmV0dXJuIF8uSygieXQtbXdlYi1zaG9ydHMtcGxheWVyLWNvbnRyb2xzIix7Y2xhc3M6Xy5QKHtQcm9ncmVzc0JhclNob3dpbmc6KCk9PgpYVChIKCksITApfSl9LF8uSyhfLk8se0E6KCk9PkgoKS5iYT8uWmgsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6SCx0aHVtYm5haWxEZXRhaWxzOll9KSxfLksodVYse0c6SCxIOmF9KSl9KSxfLksoXy5PLHtBOigpPT57dmFyIHBhPUgoKTtyZXR1cm4gWFQocGEsITApfHxXVChwYSwhMCl9LHRoZW46KCk9Pl8uSyhMbWEse2dmOkgsRXg6KCk9PiEwLHJlZWxQbGF5ZXJTY3J1YmJlclJlbmRlcmVyOmN9KX0pLF8uSyhfLk8se0E6KCk9Pl8ueCgibXdlYl9zaG9ydHNfZW5hYmxlX2xvbmdfcHJlc3Nfc3BlZWR1cCIpLHRoZW46KCk9Pl8uSyhfLkNQLHtyb290OiIjZ2VzdHVyZS1sYXllciJ9LCgpPT5fLksoS21hLHt1ZDpILEVyOmR9KSl9KSl9LCJTYyIpO3ZhciBIVj1fLkwoYT0+e2Z1bmN0aW9uIGIoVSl7VSE9PTB8fHIoKT9VPjUwJiYocigpfHwhRSgpKT8odCghMSksQSghMCkpOlU8PTUwJiYocigpfHxFKCkpJiYodCghMSksQSghMSkpOnQoITApfWFzeW5jIGZ1bmN0aW9uIGMoVSxoYSl7KFU9ZSgpPz9hd2FpdCBfLkxIKCkpJiYoaGE/VS51bk11dGUoITApOlUubXV0ZSghMCkpfWFzeW5jIGZ1bmN0aW9uIGQoVSl7dmFyIGhhPWUoKT8/YXdhaXQgXy5MSCgpLG1hPTUwO2hhJiYobWE9aGEuZ2V0Vm9sdW1lKCksaGEuaXNNdXRlZCgpP1pUKFUsMCk6WlQoVSxtYSkpO0cobWEpfXZhciBlPWtsYShhLkgpLGY9Xy51RSgidm9sdW1lLWNvbnRyb2xzIiksaD1fLnVFKCJidXR0b24iKSxrPV8udkUoImlucHV0IiksW2wsbV09Xy5KKCExLHZvaWQgMCwic01jTGxiIiksW24scF09Xy5KKCExLHZvaWQgMCwiZ29OcHYiKSxyPW4sdD1wLFt2LHpdPV8uSighMCx2b2lkIDAsImtBVDk1IiksRT12LEE9eixbRixDXT1fLkooNTAsdm9pZCAwLCJxNXFEMmMiKSwKRz1DLEQ9Xy5OKCgpPT57dmFyIFU9cigpO3JldHVybiBfLngoIndlYl9zaG9ydHNfa2V5Ym9hcmRfZW5hYmxlX211dGVfc2hvcnRjdXQiKT9VP18uYUEoIlBMQVlFUl9MQUJFTF9VTk1VVEUiLHZvaWQgMCwiVW5tdXRlIChtKSIpOl8uYUEoIlBMQVlFUl9MQUJFTF9NVVRFIix2b2lkIDAsIk11dGUgKG0pIik6VT9fLmFBKCJVTk1VVEVfVk9MVU1FIix2b2lkIDAsIlVubXV0ZSIpOl8uYUEoIk1VVEVfVk9MVU1FIix2b2lkIDAsIk11dGUiKX0sdm9pZCAwLCJsUjFzR2MiKSxIPV8uTigoKT0+e3ZhciBVPXIoKSxoYT1FKCk7cmV0dXJue3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOlU/IlZPTFVNRV9PRkZfRklMTEVEIjpoYT8iVk9MVU1FX1VQX0ZJTExFRCI6IlZPTFVNRV9ET1dOX0ZJTExFRCJ9fV19fSx2b2lkIDAsIlNJcWtlYyIpLFI9Xy5OKCgpPT57dmFyIFU9RigpO3JldHVybiByKCk/YCR7VX0lIHZvbHVtZSBtdXRlZGA6YCR7VX0lIHZvbHVtZWB9LHZvaWQgMCwiVGZIUDBkIiksCk09Xy5OKCgpPT5hLm9yaWVudGF0aW9uKCk9PT0idmVydGljYWxfZG93biIsdm9pZCAwLCJaN0YzdWIiKSxTPV8uTigoKT0+TSgpPyJ2ZXJ0aWNhbCI6Imhvcml6b250YWwiLHZvaWQgMCwic1YyTXBiIiksWT1fLk4oKCk9PmEuRHY/LigpPz8hMSx2b2lkIDAsInpvdlVMZSIpLHBhPV8uTigoKT0+YS5DcD8uKCk/PyExLHZvaWQgMCwicEVVaHFlIik7Xy5VSigoKT0+e2Z1bmN0aW9uIFUoKXttKCEwKX1mdW5jdGlvbiBoYSgpe20oITEpfWsmJmsudmFsdWUmJihrLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixVKSxrLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSksZChrLnZhbHVlKS50aGVuKCgpPT57YihOdW1iZXIoay52YWx1ZT8udmFsdWU/PzApKX0pKTtoJiZoLnZhbHVlJiYoV1MoaC52YWx1ZSwyODY2MiksaC52YWx1ZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsVSksaC52YWx1ZS5hZGRFdmVudExpc3RlbmVyKCJmb2N1c291dCIsaGEpKTtfLll1KCgpPT4Ke2s/LnZhbHVlPy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsVSk7az8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSk7aD8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixVKTtoPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKX0pfSk7dmFyIG9hPVU9PntVPVUubXV0ZWQ/MDpVLnZvbHVtZTtHKFUpO2IoVSk7ay52YWx1ZSYmWlQoay52YWx1ZSxVKX07Xy5uRSgoKT0+e3ZhciBVPWUoKTtVJiYoVS5hZGRFdmVudExpc3RlbmVyKCJvblZvbHVtZUNoYW5nZSIsb2EpLF8uWXUoKCk9PntVLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uVm9sdW1lQ2hhbmdlIixvYSl9KSl9LCJ4aDNHWmMiKTtyZXR1cm4gXy5LKCJ2b2x1bWUtY29udHJvbHMiLHtjbGFzczpfLlAoInl0ZFZvbHVtZUNvbnRyb2xzSG9zdCIse3l0ZFZvbHVtZUNvbnRyb2xzRGlzYWJsZVNsaWRlcjpwYX0sYS5jbGFzc05hbWUpLGVsOmZ9LF8uSygiZGl2IiwKeyJvbjpwb2ludGVybGVhdmUiOmZ1bmN0aW9uKCl7bSghMSl9LGNsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lciIse3l0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJWZXJ0aWNhbDpNLHl0ZFZvbHVtZUNvbnRyb2xzVm9sdW1lQ29udHJvbHNDb250YWluZXJFeHBhbmRlZDooKT0+bCgpfSl9LF8uSyhfLk8se0E6KCk9PiFhLmJqPy4oKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW0iLHt5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkOmwseXRkVm9sdW1lQ29udHJvbHNCYWNrZ3JvdW5kU2NyaW1FeHBhbmRlZEhvdmVyU3RhdGU6KCk9PmwoKSYmWSgpfSl9KX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uQ29udGFpbmVyOk19KX0sXy5LKCJidXR0b24iLHsiYXJpYS1sYWJlbCI6RCwKdGl0bGU6RCxlbDpoLCJvbjpjbGljayI6ZnVuY3Rpb24oVSl7WFMoMjg2NjIpO2smJmsudmFsdWUmJmMoay52YWx1ZSxyKCkpO1Uuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpwb2ludGVyZW50ZXIiOmZ1bmN0aW9uKCl7bSghMCl9LGNsYXNzOiJ5dGRWb2x1bWVDb250cm9sc011dGVJY29uQnV0dG9uIn0sSD9fLksoXy5qRix7ZGF0YTpILGFsdDpELGNsYXNzTmFtZToieXRkVm9sdW1lQ29udHJvbHNNdXRlSWNvbiJ9KTpudWxsKSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyIix7eXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJFeHBhbmRlZDpsLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWw6TSx5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lclZlcnRpY2FsRG93bjpNLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxFeHBhbmRlZDooKT0+bCgpJiZNKCkseXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJEaXNhYmxlU2xpZGVyOnBhLAp5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lcldpdGhTY3JpbTooKT0+IWEuYmo/LigpfSksIm9uOmNsaWNrIjpmdW5jdGlvbihVKXtVLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKCJpbnB1dCIse2RpcjoibHRyIiwiYXJpYS1sYWJlbCI6Xy5hQSgiVk9MVU1FIiksdGl0bGU6Xy5hQSgiVk9MVU1FIiksZWw6aywib246aW5wdXQiOmZ1bmN0aW9uKFUpe2smJmsudmFsdWUmJmpsYShOdW1iZXIoay52YWx1ZT8udmFsdWU/PzApLGUoKSk7VS5zdG9wUHJvcGFnYXRpb24oKX0sdHlwZToicmFuZ2UiLGNsYXNzOiJ5dGRWb2x1bWVDb250cm9sc05hdGl2ZVNsaWRlciIsaWQ6InZvbHVtZS1pbnB1dCIscm9sZToic2xpZGVyIiwiYXJpYS12YWx1ZW5vdyI6RiwiYXJpYS12YWx1ZXRleHQiOlIsImFyaWEtdmFsdWVtaW4iOjAsImFyaWEtdmFsdWVtYXgiOjEwMCwiYXJpYS1vcmllbnRhdGlvbiI6U30pKSkpfSwiVWMiKTt2YXIgTm1hPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYz1hLkcoKSxkPWMuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoO3JldHVybihjLmJhPy5FZXx8Xy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKSkmJiEhZCYmZDw0MjB9O3JldHVybiBfLksoInl0bS1mdWxsc2NyZWVuLXJlbGF0ZWQtdmlkZW9zLWVudHJ5LXBvaW50LXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEhvc3QiLHt5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaXRsZUhpZGRlbjpifSl9LF8uSygiYnV0dG9uIix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxCdXR0b24iLHt5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTaW5nbGVUaHVtYm5haWw6Xy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKX0pLAoib246Y2xpY2siOmZ1bmN0aW9uKGMpe2EuRygpLlMoe05hOiEwfSk7Xy5NTygiLmZ1bGxzY3JlZW4tcmVjb21tZW5kYXRpb24gLm1lZGlhLWl0ZW0taW5mbyBhIik7YlQoKTtjLnN0b3BQcm9wYWdhdGlvbigpfSwiYXJpYS1sYWJlbCI6KCk9PmEuZGF0YSgpLnRpdGxlPy5jb250ZW50Pz8iIn0sXy5LKF8uTyx7QTooKT0+IWIoKSx0aGVuOigpPT5fLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS50aXRsZX0pfSksXy5LKF8uTyx7QTooKT0+YS5kYXRhKCkuaW1hZ2VGcm9udCx0aGVuOmM9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRodW1ibmFpbFN0YWNrIn0sXy5LKF8uTyx7QTooKT0+IV8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil8fCEhYS5kYXRhKCkuaW1hZ2VCYWNrLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxGYWRlZFRodW1ibmFpbCIsCiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxTbWFsbEZhZGVkVGh1bWJuYWlsIil9KX0pLF8uSyhfLk8se0E6KCk9PiFfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfHwhIWEuZGF0YSgpLmltYWdlTWlkZGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxGYWRlZFRodW1ibmFpbCIsInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbExhcmdlRmFkZWRUaHVtYm5haWwiKX0pfSksXy5LKCJkaXYiLHtjbGFzczoieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsQ29udGFpbmVyIn0sXy5LKF8uakYse2RhdGE6YyxhbHQ6IiIsY2xhc3NOYW1lOiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWwiLGFyaWFIaWRkZW46ITAsCllhOiEwfSkpKX0pKSl9LCJWYyIpO3ZhciBJVj1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmN9KT0+Xy5LKCJ5dG0tc2xpbS1tZXRhZGF0YS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczoieXRtU2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXJIb3N0In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmN9KX0pKSwiV2MiKTtJVi5pZG9tQ29tcGF0PSEwO3ZhciBKVj1fLkwoKHtkYXRhOmEsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmMsSGM6ZH0pPT57dmFyIGU9Xy5ESShfLlJMLCgpPT5hKCkubGlrZVN0YXR1c0VudGl0eUtleXx8IiIpLGY9KCk9Pl8udFAoKSYmYSgpLmlzTGlrZSYmYSgpLmJ1dHRvbj8udG9nZ2xlQnV0dG9uUmVuZGVyZXI/e3N0eWxlOiJtb25vIn06Yz8uKCksaD0oKT0+Xy50UCgpJiZhKCkuaXNMaWtlJiZhKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcj97YW5pbWF0ZUljb246InRydWUifTp2b2lkIDA7cmV0dXJuIF8uSygieXRtLXNsaW0tbWV0YWRhdGEtdG9nZ2xlLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOmJ9LF8uSyhfLk8se0E6KCk9Pnt2YXIgaz1hKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcjtpZihrJiZhKCkubGlrZVN0YXR1c0VudGl0eUtleSl7bGV0IGw9YSgpLmlzTGlrZT9lKCk/Lmxpa2VTdGF0dXM9PT0iTElLRSI6ZSgpPy5saWtlU3RhdHVzPT09IkRJU0xJS0UiO3JldHVybnsuLi5rLAppc1RvZ2dsZWQ6bH19cmV0dXJuIGt9LHRoZW46az0+Xy5LKF8ucU8se2RhdGE6ayxzdHlsZTpoLGNsYXNzTmFtZTpiLGJ1dHRvbk92ZXJyaWRlczpmLEhjOmR9KX0pKX0sIlhjIik7SlYuaWRvbUNvbXBhdD0hMDt2YXIgS1Y9Xy5MKGE9PntmdW5jdGlvbiBiKHIpe3ZhciB0PWMoKTt0LmJhPy5Eenx8Xy50UCgpfHx0LmlzRnVsbHNjcmVlbiYmdC50YS50b2dnbGVGdWxsc2NyZWVuKCk7ci5zdG9wUHJvcGFnYXRpb24oKX12YXIgYz1hLkcsZD0oKT0+YS5HKCkuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoLGU9Xy5OKCgpPT4hIWEuRygpLkg/LmlzRW1iZWRzU2hvcnRzTW9kZT8uKCksdm9pZCAwLCJ3c0hEWiIpLGY9Xy5QKHsicGxheWVyLWNvbnRyb2xzLWhpZGUiOigpPT4hKCFJUyhhLkcoKSl8fGEuRygpLmJhPy5FZSYmIWEuRygpLk5hKX0pLGg9YS53YXRjaE5leHRSZXNwb25zZSxrPWEudGh1bWJuYWlsUHJldmlld1JlbmRlcmVyLGw9YS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyLG09KCk9Pnt2YXIgcj1Da2EoaD8uKCksaz8uKCkpO3JldHVybiBlKCl8fGEuRygpLmJhPy5vaD9yLmZpbHRlcih0PT5fLkIodCxmbWEpPyExOl8uQih0LF8uVkwpPy5pY29uPy5pY29uVHlwZSE9PSJBRERfVE9fV0FUQ0hfTEFURVIiKToKcn0sbj0oKT0+e3ZhciByPWg/LigpLHQ9az8uKCksdj1sPy4oKSx6PSRTKGEuRygpKTt2YXIgRT1lKCk7aWYodilFPXY/LnlvdXR1YmVXYXRlcm1hcms7ZWxzZSBpZih0PV8uQih0Py5xdWlja0FjdGlvbnNCYXIsS1MpPy53YXRjaE9uWW91dHViZUJ1dHRvbix2PV8uQihyPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5mdWxsc2NyZWVuUXVpY2tBY3Rpb25zQmFyLEtTKT8ud2F0Y2hPbllvdXR1YmVCdXR0b24scj1fLkIodHx8dixsVik/LndhdGNoT25ZdExhYmVsQnV0dG9uLHQ9Xy5CKHR8fHYsbFYpPy55dExvZ29Pbmx5QnV0dG9uLHopRT1yO2Vsc2V7aWYoRSl0cnl7bGV0IEE9dC5idXR0b25WaWV3TW9kZWwsRj1BLnRpdGxlRm9ybWF0dGVkLmF0dGFjaG1lbnRSdW5zWzBdLmVsZW1lbnQ7Ri50eXBlLmltYWdlVHlwZS5pbWFnZS5zb3VyY2VzWzBdLmNsaWVudFJlc291cmNlLmltYWdlTmFtZT0ic2hvcnRzX3RleHRfbG9nbyI7Ri5wcm9wZXJ0aWVzLmxheW91dFByb3BlcnRpZXMuaGVpZ2h0LnZhbHVlPQoyNDtGLnByb3BlcnRpZXMubGF5b3V0UHJvcGVydGllcy53aWR0aC52YWx1ZT03Mjt6PUE/Lm9uVGFwPy5pbm5lcnR1YmVDb21tYW5kPy51cmxFbmRwb2ludD8udXJsO2lmKEUmJnomJnouaW5jbHVkZXMoIi93YXRjaD92PSIpKXtsZXQgQz16LnJlcGxhY2UoIi93YXRjaD92PSIsIi9zaG9ydHMvIik7QS5vblRhcC5pbm5lcnR1YmVDb21tYW5kLnVybEVuZHBvaW50LnVybD1DfX1jYXRjaChBKXt9RT10fXJldHVybiBFfSxwPXtjbGFzc05hbWU6ImNpcmNsZS1idXR0b25zIixidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19O3JldHVybiBfLksoInBsYXllci1mdWxsc2NyZWVuLWFjdGlvbi1tZW51Iix7Y2xhc3M6Inl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51SG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Zn0sXy5LKCJkaXYiLHtjbGFzczoiZnVsbHNjcmVlbi1hY3Rpb24tbWVudSIsIm9uOmNsaWNrIjpmdW5jdGlvbihyKXt2YXIgdD1jKCk7Y1QodCx7SWM6ITB9KTtyLnN0b3BQcm9wYWdhdGlvbigpOwpyLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+IShhLkcoKS5iYT8uaGlkZVZpZGVvSW5mb3x8YS5HKCkuYmE/Lll3fHxkKCkmJmQoKTwzMjApLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJhY3Rpb24tbWVudS1lbmdhZ2VtZW50LWJ1dHRvbnMtd3JhcHBlciIsIm5vLWxhYmVsLWV4cCIpLCJvbjpjbGljayI6Yn0sXy5LKF8uVyx7ZGF0YTptfSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKF8ucE8se2RhdGE6ciwuLi5wfSksc2xpbU1ldGFkYXRhVG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKEpWLHtkYXRhOnIsY2xhc3NOYW1lOl8uUChwLmNsYXNzTmFtZSx7Imxpa2UtYnV0dG9uLW5vLWxhYmVsLWV4cCI6KCk9PnIoKS5pc0xpa2V9KSxIYzooKT0+cigpLmlzTGlrZT97QXM6ITB9OnZvaWQgMCxidXR0b25PdmVycmlkZXM6KCk9PnIoKS5pc0xpa2U/dm9pZCAwOnAuYnV0dG9uT3ZlcnJpZGVzfSksc2xpbU1ldGFkYXRhQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Cl8uSyhJVix7ZGF0YTpyLC4uLnB9KSxmdWxsc2NyZWVuRW5nYWdlbWVudEFjdGlvbkJhclNhdmVCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoSVYse2RhdGE6ciwuLi5wfSksYnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLkhELHtkYXRhOnIsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuQWN0aW9uTWVudUNpcmNsZUJ1dHRvbnMiLGJ1dHRvbk92ZXJyaWRlczp7aWNvblBvc2l0aW9uOiJpY29uLW9ubHktNDAifX0pLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTpyfSk9Pl8uSyhfLnFPLHtkYXRhOnIsLi4ucH0pfSkpfSksXy5LKCJkaXYiLHtjbGFzczoicXVpY2stYWN0aW9ucy13cmFwcGVyIn0sXy5LKF8uTyx7QTooKT0+IWEuRygpLmJhPy5YdyYmISRTKGEuRygpKSYmIShkKCkmJmQoKTwzMjApJiYhZSgpJiZMUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiZnVsbHNjcmVlbi13YXRjaC1uZXh0LWVudHJ5cG9pbnQtd3JhcHBlciJ9LApfLksoTm1hLHtkYXRhOigpPT5MUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksRzpjfSkpfSksXy5LKF8uTyx7QTooKT0+JFMoYS5HKCkpJiYoZSgpfHxkKCkmJmQoKTwzMjApPyExOiEwLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6IndhdGNoLW9uLXlvdXR1YmUtYnV0dG9uLXdyYXBwZXIifSxfLksoXy5XLHtkYXRhOm59LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uSEQse2RhdGE6cixjbGFzc05hbWU6IndhdGNoLW9uLXlvdXR1YmUtYnV0dG9uIixidXR0b25PdmVycmlkZXM6KCk9Pnt2YXIgdD1yKCk7cmV0dXJue3NpemU6IkwiLGRpc2FibGVkOiFfLkIoXy5CKHQ/Lm9uVGFwLF8uT0QpLF8uVkQpfX19KSxidXR0b25SZW5kZXJlcjpfLnBPLHRvZ2dsZUJ1dHRvblJlbmRlcmVyOl8ucU99KSl9KSkpKSl9LCJZYyIpO0tWLmlkb21Db21wYXQ9ITA7dmFyIExWPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgbT1hLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXI/LigpO3JldHVybiBfLkIobT8uZW5kU2NyZWVuLHBWKT8uY29udGludWVXYXRjaGluZ30sYz0oKT0+e3ZhciBtPWEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCk7cmV0dXJuIF8uQihtPy5lbmRTY3JlZW4scFYpPy5icmFuZGluZ0ljb259LFtkLGVdPV8uSighMSx2b2lkIDAsIkVlWFhCYyIpLGYsaD0oKT0+e2NsZWFyVGltZW91dChmKTtlKCExKTtmPXNldFRpbWVvdXQoKCk9PntlKCEwKX0sNEUzKX0saz0oKT0+e3ZhciBtPWEuRygpLkg/LmdldFZpZGVvRGF0YSgpPy52aWRlb19pZDttJiZhLkcoKS5IPy5jdWVWaWRlb0J5SWQobSl9LGw9KCk9Pnt2YXIgbT1fLlV3KGEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCkudHJhY2tpbmdQYXJhbXMpO20mJl8uSk8obSl9O18uVUooKCk9PntoKCk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25NdXRlZEF1dG9wbGF5U3RhcnRzIiwKaCk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25BdXRvcGxheUJsb2NrZWQiLGspO2EuRygpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixsKX0pO18uWXUoKCk9PntjbGVhclRpbWVvdXQoZik7YS5HKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25NdXRlZEF1dG9wbGF5U3RhcnRzIixoKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkF1dG9wbGF5QmxvY2tlZCIsayk7YS5HKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLGwpfSk7cmV0dXJuIF8uSygieXRtLW11dGVkLWF1dG9wbGF5LW92ZXJsYXkiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIb3N0Iiwib246Y2xpY2siOmZ1bmN0aW9uKG0pe3ZhciBuPWEuRz8uKCkuSCxwPW4/LmdldFZpZGVvRGF0YSgpPy52aWRlb19pZCxyPW4/LmdldEN1cnJlbnRUaW1lKCk7cCYmciYmKG4/LnVuTXV0ZSgpLG4/LmxvYWRWaWRlb0J5SWQocCxyKSk7Cm0uc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT51UyhhLkcoKSksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCYWNrZ3JvdW5kIn0sXy5LKCJkaXYiLG51bGwsXy5LKF8uVyx7ZGF0YTpifSx7YnV0dG9uVmlld01vZGVsOl8uSER9KSksXy5LKCJkaXYiLHtjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlCcmFuZGluZ0ljb24ifSxfLksoXy5PLHtBOmMsdGhlbjptPT5fLksoXy5qRix7ZGF0YTptLGFsdDoiWW91VHViZSBMb2dvIn0pfSkpKSxXOigpPT5fLksoImRpdiIsbnVsbCxfLksoImRpdiIse2NsYXNzOl8uUCgieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlBY3Rpb25NZW51Iix7eXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlIaWRlQWN0aW9uTWVudTpkfSl9LF8uSyhLVix7RzphLkcscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjphLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXJ9KSksXy5LKCJkaXYiLAp7Y2xhc3M6Inl0bU11dGVkQXV0b3BsYXlPdmVybGF5RXF1YWxpemVyIn0sXy5LKF8uTUQse2ljb246ImVxdWFsaXplciJ9KSkpfSkpfSwiWmMiKTtMVi5pZG9tQ29tcGF0PSEwO3ZhciBPbWE9Xy5MKCh7Rng6YSxhbmltYXRpb246Yn0pPT57dmFyIGM9Xy51RSgiZGl2IiksW2QsZV09Xy5KKCExLHZvaWQgMCwidGkwMm8iKSxmPTAsaD1fLngoIm13ZWJfZW5hYmxlX3Nob3J0c19oZWFydF9uZXdfZG91YmxlX3RhcCIpPyJsaWtlX3RhcF9mZWVkYmFja19zaG9ydHNfaGVhcnQiOiJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiI7Xy5uRSgoKT0+e2UoITApO18uamYuQWEoZik7Zj1fLllqKCgpPT57ZSghMSl9LDJFMyk7dmFyIGs9Yj8uKCk/Lm5hbWU7aWYoaz09PWgpe2NVKGgpO2s9Yj8uKCk/Lng7dmFyIGw9Yj8uKCk/Lnk7bGV0IG09Yy52YWx1ZTttJiYoayE9PXZvaWQgMCYmbCE9PXZvaWQgMD8obS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLG0uc3R5bGUubGVmdD1gJHtrfXB4YCxtLnN0eWxlLnRvcD1gJHtsfXB4YCxtLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlKC01MCUsIC01MCUpIik6KG0uc3R5bGUucG9zaXRpb249IiIsbS5zdHlsZS5sZWZ0PSIiLG0uc3R5bGUudG9wPQoiIixtLnN0eWxlLnRyYW5zZm9ybT0iIikpfWVsc2V7aWYobD1jLnZhbHVlKWwuc3R5bGUucG9zaXRpb249IiIsbC5zdHlsZS5sZWZ0PSIiLGwuc3R5bGUudG9wPSIiLGwuc3R5bGUudHJhbnNmb3JtPSIiO2s9PT0icGxheV85NmRwX2FuaW1hdGlvbiI/Y1UoInBsYXlfOTZkcF9hbmltYXRpb24iKTprPT09InBhdXNlXzk2ZHBfYW5pbWF0aW9uIiYmY1UoInBhdXNlXzk2ZHBfYW5pbWF0aW9uIil9fSwiRUNKVWRkIik7cmV0dXJuIF8uSygic2hvcnRzLXRvdWNoLWZlZWRiYWNrIix7Y2xhc3M6Xy5QKCJ5dFNob3J0c1RvdWNoRmVlZGJhY2tIb3N0Iix7eXRTaG9ydHNUb3VjaEZlZWRiYWNrSGlkZGVuOigpPT4hZCgpfSl9LF8uSyhfLk8se0E6YSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKCJkaXYiLHtlbDpjLGNsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uV3JhcHBlciIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LApfLksoXy5jTSx7YW5pbWF0aW9uTmFtZTooKT0+aCxkYXRhOnthbmltYXRpb25Db25maWc6YlUoaCl9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrTGlrZUFuaW1hdGlvbiJ9KSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRTaG9ydHNUb3VjaEZlZWRiYWNrVG91Y2hGZWVkYmFjayJ9LF8uSyhfLmNNLHthbmltYXRpb25OYW1lOigpPT4icGxheV85NmRwX2FuaW1hdGlvbiIsZGF0YTp7YW5pbWF0aW9uQ29uZmlnOmJVKCJwbGF5Xzk2ZHBfYW5pbWF0aW9uIil9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrUGxheVBhdXNlQW5pbWF0aW9uIn0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKF8uY00se2FuaW1hdGlvbk5hbWU6KCk9PiJwYXVzZV85NmRwX2FuaW1hdGlvbiIsZGF0YTp7YW5pbWF0aW9uQ29uZmlnOmJVKCJwYXVzZV85NmRwX2FuaW1hdGlvbiIpfSxjbGFzc05hbWU6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1BsYXlQYXVzZUFuaW1hdGlvbiJ9KSkpfSwKImFkIik7dmFyIGRVPXZvaWQgMCxlVT12b2lkIDAsZlUsZ1U9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgW2IsY109Xy5KKDAsdm9pZCAwLCJWZnY1OCIpLFtkLGVdPV8uSigwLHZvaWQgMCwiZ0dDTjlkIiksW2YsaF09Xy5KKCExLHZvaWQgMCwiblNhTGgiKTtyZXR1cm4gXy5LKCJ5dG0tYm90dG9tLXNoZWV0LW92ZXJsYXktcmVuZGVyZXIiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIb3N0In0sXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250YWluZXIiLHN0eWxlOigpPT57dmFyIGs9YigpLGw9ZCgpLG09ZigpO2s9YHRyYW5zZm9ybTogdHJhbnNsYXRlWSgke01hdGgubWF4KDAsTWF0aC5yb3VuZChsLWspKX1weCk7YDttJiYoays9InRyYW5zaXRpb246IDAuMnM7Iik7cmV0dXJuIGt9LCJvbjp0b3VjaHN0YXJ0IjpmdW5jdGlvbihrKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0ibm9uZSI7YyhrLnRvdWNoZXNbMF0uY2xpZW50WSk7Cmsuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKGspe2Uoay50b3VjaGVzWzBdLmNsaWVudFkpO2suc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaGVuZCI6ZnVuY3Rpb24oayl7ZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyc2Nyb2xsQmVoYXZpb3I9IiI7d2luZG93LnNjcmVlbi5hdmFpbEhlaWdodC1kKCk8PTMwMD8oaCghMCksZSh3aW5kb3cuc2NyZWVuLmF2YWlsSGVpZ2h0KSxzZXRUaW1lb3V0KCgpPT57aWYoZFUhPW51bGwpe3ZhciBsPV8uSHooKTtsLnNldCgic3VwcHJlc3NfYXBwX3Vwc2VsbCIsMSk7bC5zYXZlKCk7ZVUmJihlVS5xdj0hMCxlVT12b2lkIDApO18uS04oZFUpO2RvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZFUpO2RVPXZvaWQgMDtmVT8uKCk7ZlU9dm9pZCAwO18ueSgpLnJlc29sdmUoXy55UCkuUXUoKX19LDI1MCkpOihoKCEwKSxlKDApKTtrLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIZWFkZXIiLApzdHlsZTooKT0+YSgpLmJhY2tncm91bmRJbWFnZT9gYmFja2dyb3VuZC1pbWFnZTogdXJsKCR7YSgpLmJhY2tncm91bmRJbWFnZX0pO2A6dm9pZCAwfSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckRyYWdIYW5kbGUifSksXy5LKF8uTUQse2ljb246KCk9PmEoKS5jZW50cmFsSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNlbnRyYWxJY29uIn0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5jbG9zZUJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTprfSk9Pl8uSyhfLnBPLHtkYXRhOmssY2xhc3NOYW1lOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNsb3NlIixwcmV2ZW50RGVmYXVsdDohMCxRZjohMH0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ29udGVudHMifSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclRpdGxlIn0sCl8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJTdWJ0aXRsZSJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkuc3VidGl0bGV9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbnN9LHtidXR0b25SZW5kZXJlcjpfLnBPfSkpKSl9LCJiZCIpO2dVLmlkb21Db21wYXQ9ITA7dmFyIE1WPV8uTCgoe2RhdGE6YSxzdG9wUHJvcGFnYXRpb246Yn0pPT5fLksoInl0bS1mb3JjZWQtbXV0ZS1tZXNzYWdlLXJlbmRlcmVyIixudWxsLF8uSyhfLnZPLHtpY29uVHlwZTpfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8iYXVkaW9fc2xhc2giOiJhdWRpb19vZmYiLGFyaWFMYWJlbDooKT0+Xy5hTihhKCkuZm9yY2VkTXV0ZU1lc3NhZ2VUZXh0KSxvbmNsaWNrOmM9PntiPy4oKSYmYy5zdG9wUHJvcGFnYXRpb24oKTtjPWEoKTtfLkIoYy5oZWxwQnV0dG9uLF8uVkwpPy5uYXZpZ2F0aW9uRW5kcG9pbnQmJl8uQUooXy5CKGMuaGVscEJ1dHRvbixfLlZMKT8ubmF2aWdhdGlvbkVuZHBvaW50LGMsITApfSxMbToieXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UifSkpLCJlZCIpO01WLmlkb21Db21wYXQ9ITA7dmFyIE5WPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixHSjpjfSk9Pnt2YXIgZD1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpPy4oKTtyZXR1cm4gXy5LKCJ5dG0taW5mby1wYW5lbC1jb250ZW50LXJlbmRlcmVyIix7Y2xhc3M6Xy5QKGIsInl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3QiLHt5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIb3N0SXNXYXRjaEluZm9QYW5lbDpjLHl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RDaW5lbWF0aWNCYWNrZ3JvdW5kOigpPT5kJiZjPy4oKX0pLCJ5dG0taW5mby1wYW5lbC1jb250ZW50LXRydW5jYXRlLXBhcmFncmFwaHMiOigpPT4hIWEoKS50cnVuY2F0ZVBhcmFncmFwaHN8fHZvaWQgMCwieXRtLWluZm8tcGFuZWwtY29udGVudC1oYXMtbWVudSI6KCk9PiEhYSgpLm1lbnV8fHZvaWQgMCwiZGF0YS1iYWNrZ3JvdW5kIjooKT0+YSgpLmJhY2tncm91bmR9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCkuc291cmNlRW5kcG9pbnQsCmNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyRW5kcG9pbnQifSxfLksoUG1hLHtkYXRhOmF9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmV9KT0+Xy5LKF8uU1Ase2RhdGE6ZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlck1lbnUifSl9KSl9LCJmZCIpLFBtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyV3JhcHBlciIsImRhdGEtaGFzLWljb24iOigpPT4hIWEoKS5pY29ufSxfLksoXy5PLHtBOigpPT5hKCkuc291cmNlQXRUb3AmJmEoKS5zb3VyY2UsdGhlbjooKT0+Xy5LKE9WLHtkYXRhOmF9KX0pLF8uSyhfLk8se0E6KCk9PmEoKS50aXRsZSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaXRsZUNvbnRhaW5lciJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSxfLksoXy5NRCwKe2ljb246KCk9PmEoKS5pbmxpbmVMaW5rSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbiJ9KSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJCb2R5In0sXy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyVGV4dCJ9LF8uSyhfLk8se0E6KCk9PiFhKCkuc291cmNlQXRUb3AmJmEoKS5zb3VyY2UsdGhlbjooKT0+Xy5LKE9WLHtkYXRhOmF9KX0pLF8uSyhfLmdHLHtwYTooKT0+YSgpLnBhcmFncmFwaHN8fFtdfSwoYixjKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUGFyYWdyYXBoIn0sXy5LKF8uSUose2RhdGE6Yn0pLF8uSyhfLk8se0E6KCk9PmMoKT09PWEoKS5wYXJhZ3JhcGhzLmxlbmd0aC0xJiZhKCkuaW5saW5lU291cmNlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZSJ9LApfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJJbmxpbmVTb3VyY2VUZXh0In0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5pbmxpbmVTb3VyY2V9KSksXy5LKF8uTUQse2ljb246KCk9PmEoKS5pbmxpbmVMaW5rSWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJMaW5rSWNvbiJ9KSl9KSkpKSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbix0aGVuOmI9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhlYWRlclJpZ2h0SXRlbXMifSxfLksoXy5NRCx7aWNvbjooKT0+YigpLmljb25UeXBlLGNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVySWNvbiJ9KSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLnRpdGxlfSkpfSksXy5LKF8uTyx7QTooKT0+YSgpLnRodW1ibmFpbCx0aGVuOmI9Pl8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOmIsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUaHVtYm5haWwiLAphbHQ6IiIsWWE6Xy54KCJjM19wcmVzZXJ2ZV9kaW1lbnNpb25zX2tzIik/dm9pZCAwOiEwLFRhOl8ueCgiYzNfcHJlc2VydmVfZGltZW5zaW9uc19rcyIpP3ZvaWQgMDohMH0pfSkpKSwiZ2QiKSxPVj1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWV0YWRhdGEifSxfLksoXy5PLHtBOigpPT5hKCkuc291cmNlLHRoZW46Yj0+Xy5LKF8uSUose2RhdGE6Yn0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnB1Ymxpc2hlZFRpbWVUZXh0LHRoZW46Yj0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyUHVibGlzaFRpbWUifSwiXHUyMDIyICIsXy5LKF8uSUose2RhdGE6Yn0pKX0pKSwiaGQiKTtOVi5pZG9tQ29tcGF0PSEwO3ZhciBQVj1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dG0taW5mby1wYW5lbC1jb250YWluZXItcmVuZGVyZXIiLHtiYWNrZ3JvdW5kOigpPT5hKCkuYmFja2dyb3VuZH0sXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWxlZnQtaXRlbXMifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24/Lmljb25UeXBlLGNsYXNzTmFtZToieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1pY29uIn0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKF8uU1Ase2RhdGE6YixjbGFzc05hbWU6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItbWVudSJ9KX0pKX0pLF8uSyhfLlcse2RhdGE6KCk9PgphKCkuY29udGVudH0se2luZm9QYW5lbENvbnRlbnRSZW5kZXJlcjpOVn0pKSwiaWQiKTtQVi5pZG9tQ29tcGF0PSEwO3ZhciBSVj1fLkwoKHtkYXRhOmEsaXNBY3RpdmU6YixISjpjLGNsYXNzTmFtZTpkfSk9Pnt2YXIgZT1fLmNJKF8uWlApLGY9Xy5jSSh3amEpLGg9Xy5jSSh2amEpLGs7Xy5uRSgoKT0+e2I/LigpJiZhKCk/LnRyYWNraW5nUGFyYW1zJiZhKCkudHJhY2tpbmdQYXJhbXMhPT1rJiZfLmlxKCkhPT1rJiYoXy5seChfLmh4KCksYSgpLnRyYWNraW5nUGFyYW1zKSxrPV8uaXEoKSl9LCJMUmVTbGIiKTtfLlVKKCgpPT57bmxhKGEoKSl9KTtyZXR1cm4gXy5LKCJ5dG0tcmVlbC1wbGF5ZXItb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOmQsImRhdGEtaXMtYWN0aXZlIjpifHx2b2lkIDAsImRhdGEtaGFzLWluZm8tcGFuZWwiOigpPT57dmFyIGw9YSgpLG09Xy5CKGwucGxheWVyT3ZlcmxheSxjbWEpO3JldHVybiEhbC5pbmZvUGFuZWx8fCEhbT8uaW5mb1BhbmVsfHx2b2lkIDB9LCJleHRyYWN0LW92ZXJsYXkiOigpPT5lKCk9PT0xfHx2b2lkIDAsImV4dHJhY3QtYWN0aW9uLWJhciI6KCk9Pl8uYU0oZSgpKXx8CnZvaWQgMCwic21hbGxlci1zY3JlZW4tc3F1ZWV6ZWJhY2siOigpPT5mKCl8fHZvaWQgMCwiaXMtZnVsbHNjcmVlbiI6KCk9PmgoKXx8dm9pZCAwLCJpcy13ZWIiOigpPT5jPy4oKXx8dm9pZCAwfSxfLksoXy5PLHtBOigpPT5hKCkucGxheWVyT3ZlcmxheSx0aGVuOmw9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+ITAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS10b3AtYmFyIn0sXy5LKFFWLHtkYXRhOmF9KSl9KSxfLksoXy5XLHtkYXRhOmx9LHtyZWVsUGxheWVyT3ZlcmxheVZpZXdNb2RlbDpfLmJqYX0pKSxXOigpPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktbWFpbi1jb250ZW50In0sXy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS1tZXRhZGF0YSJ9LF8uSyhRbWEse2RhdGE6YX0pKSxudWxsLF8uSyhSbWEse2RhdGE6YX0pKSxfLksoU21hLHtkYXRhOmF9KSl9KSwKXy5LKFRtYSx7ZGF0YTphfSkpfSwia2QiKTtSVi5pZG9tQ29tcGF0PSEwOwp2YXIgUW1hPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5XLHtkYXRhOigpPT5hKCkubWV0YXBhbmVsfSx7cmVlbE1ldGFwYW5lbFZpZXdNb2RlbDpfLnJRfSksImxkIiksU21hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LWluZm8tcGFuZWwifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuaW5mb1BhbmVsfSx7aW5mb1BhbmVsQ29udGFpbmVyUmVuZGVyZXI6UFZ9KSksIm1kIiksUm1hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LWFjdGlvbnMifSxfLksoUVYse2RhdGE6YX0pLF8uSyhVbWEse2RhdGE6YX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5waXZvdEJ1dHRvbn0se3Bpdm90QnV0dG9uVmlld01vZGVsOl8uaVF9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuZm9yY2VkTXV0ZU1lc3NhZ2VSZW5kZXJlcn0se2ZvcmNlZE11dGVNZXNzYWdlUmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKE1WLHtkYXRhOmIsCnN0b3BQcm9wYWdhdGlvbjohMH0pfSkpLCJuZCIpLFFWPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5PLHtBOigpPT4hXy5URSgpLHRoZW46KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZW51fSx7bWVudVJlbmRlcmVyOih7ZGF0YTpifSk9Pl8uSyhfLlRQLHtkYXRhOmIsc2hvd0ljb246ITAsYnV0dG9uT3ZlcnJpZGVzOmhVKCl9KX0pLFc6KCk9Pl8uSyhfLk8se0E6KCk9Pl8uVEUoKSx0aGVuOigpPT5fLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoXy5TUCx7ZGF0YTpiLGRmOiJyZWVsLXBsYXllci1vdmVybGF5LW92ZXJmbG93LW1lbnUiLEhhOiExLHVuOiExLHN0b3BQcm9wYWdhdGlvbjohMCxidXR0b25PdmVycmlkZXM6aFUoKX0pfSl9KX0pLCJxZCIpLFVtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJ1dHRvbkJhcn0se3JlZWxBY3Rpb25CYXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKF8ualEse2RhdGE6YiwKQWY6e2ljb25Qb3NpdGlvbjoiaWNvbi13aXRoLWxhYmVsIixzaXplOiJTIix0eXBlOiJ0ZXh0IixzdHlsZToib3ZlcmxheSJ9fSl9KSwicmQiKSxUbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InN0aWNrZXItbGF5ZXIifSxfLksoXy5PLHtBOigpPT4hIWEoKS52aWRlb0ludGVyYWN0aW9ucyYmXy54KCJtd2ViX2VuYWJsZV9zaG9ydHNfc3RpY2tlcnMiKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLmdHLHtwYTooKT0+YSgpLnZpZGVvSW50ZXJhY3Rpb25zPy5pbnRlcmFjdGlvbnN8fFtdfSxiPT5fLksoXy5jamEse2RhdGE6Yn0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCk/LnZpZGVvSW50ZXJhY3Rpb25zPy5lbGVtZW50c0ludGVyYWN0aW9uc0xheWVyfSx7c3RpY2tlcnNMYXllclJlbmRlcmVyOl8uZGphfSkpfSkpLCJzZCIpO3ZhciBTVj1fLkwoKHtkYXRhOmEsWWY6YixjajpjLHZCOmQsSXI6ZSxlaDpmfSk9PntmdW5jdGlvbiBoKHApe24ubG90dGllRWwmJm4ubG90dGllRWwuaXNQYXVzZWQmJm4ubG90dGllRWwuZ29Ub0FuZFBsYXkoMCk7cC5zdG9wUHJvcGFnYXRpb24oKX1fLlVKKCgpPT57dmFyIHA9b2xhLmJpbmQodm9pZCAwLGEoKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIixwKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlZW5kIixwKX0pfSk7dmFyIGs9KCk9Pnt2YXIgcD1hKCk7cmV0dXJuIGQ/LigpP3AuZGFya1RoZW1lTG9nbz8ubG90dGllQW5pbWF0aW9uPy51cmw6cC5saWdodFRoZW1lTG9nbz8ubG90dGllQW5pbWF0aW9uPy51cmx9LGw9KCk9PmEoKS5hY2Nlc3NpYmlsaXR5RGF0YT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHxfLmFOKGEoKS50b29sdGlwVGV4dCl8fCIiLG09KCk9PmQ/LigpPyJsb2dvLWVudGl0eS1sb3R0aWUtYW5pbWF0aW9uLWRhcmsiOgoibG9nby1lbnRpdHktbG90dGllLWFuaW1hdGlvbi1saWdodCIsbj17fTtyZXR1cm4gXy5LKCJ5dG0tbG9nby1lbnRpdHkiLHtjbGFzczoieXRtTG9nb0VudGl0eUhvc3QifSxlPy4oKSxfLksoXy5PLHtBOigpPT4hZSYmYj8uKCkhPT12b2lkIDAmJmM/LigpIT09dm9pZCAwJiZkPy4oKSE9PXZvaWQgMCx0aGVuOigpPT5fLksoXy5PLHtBOmssdGhlbjooKT0+Xy5LKCJkaXYiLHtpZDpjLGNsYXNzOiJ5dG1Mb2dvRW50aXR5Q29udGFpbmVyIiwib246Y2xpY2siOmh9LF8uSyhfLmNNLHtjbGFzc05hbWU6Xy5QKGIsInl0bUxvZ29FbnRpdHlMb2dvIiksZGF0YTooKT0+KHthbmltYXRpb25Db25maWc6e3BhdGg6aygpLGF1dG9wbGF5OiEwLGxvb3A6ITEscmVuZGVyZXJTZXR0aW5nczp7dmlld0JveE9ubHk6ITB9fSxsaXN0ZW5lcnM6e2RhdGFfZmFpbGVkOmYsZXJyb3I6Zn19KSxhbmltYXRpb25SZWY6bixhbmltYXRpb25OYW1lOm19KSksVzooKT0+Xy5LKFZtYSx7Y2xhc3NOYW1lOiJ5dG1Mb2dvRW50aXR5Q29udGFpbmVyIiwKWWY6YixpZDooKT0+Yz8uKCk/PyIiLERBOnA9Pnt2YXIgcj1hKCksdD0hIWQ/LigpO3JldHVybiB0JiZyLmRhcmtUaGVtZUxvZ28/LnRodW1ibmFpbD9fLkpQKHIuZGFya1RoZW1lTG9nby50aHVtYm5haWwscHx8dm9pZCAwKTohdCYmci5saWdodFRoZW1lTG9nbz8udGh1bWJuYWlsP18uSlAoci5saWdodFRoZW1lTG9nby50aHVtYm5haWwscHx8dm9pZCAwKToiIn0sYWx0VGV4dDpsLGVoOmZ9KX0pfSkpfSwidGQiKTtTVi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e0lyOiEwLGVoOiEwfX07CnZhciBWbWE9Xy5MKCh7Y2xhc3NOYW1lOmEsWWY6YixpZDpjLERBOmQsYWx0VGV4dDplLGVoOmZ9KT0+e3ZhciBoPV8udUUoImRpdiIpLGs9Xy51RSgiaW1nIik7Xy5VSigoKT0+e2sudmFsdWUuc3JjPWQoaC52YWx1ZSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczphLGVsOmh9LF8uSygiaW1nIix7ZWw6aywib246ZXJyb3IiOmZ1bmN0aW9uKGwpe2Y/LigpO2wuc3RvcFByb3BhZ2F0aW9uKCl9LGlkOmMsY2xhc3M6Xy5QKGIsInl0bUxvZ29FbnRpdHlMb2dvIiksYWx0OmV9KSl9LCJ1ZCIpO3ZhciBVVj1fLkwoKHt0b3BiYXJMb2dvUmVuZGVyZXI6YSxWajpiLFdqOmMsWGo6ZCx1bTplLGljb25PdmVycmlkZTpmLGh6OmgsYWs6a30pPT57ZnVuY3Rpb24gbCgpe3QoITApfXZhciBtPV8uREkobGphLCgpPT5hPy4oKT8ub3ZlcnJpZGVFbnRpdHlLZXl8fF8uVk0oKT8iRWdaMGIzQmlZWElnOVFFb0FRJTNEJTNEIjoiIiksbj0oKT0+YT8uKCk/Lmljb25JbWFnZT8uaWNvblR5cGUsW3Ascl09Xy5KKCExLHZvaWQgMCwiWmFQUGxiIiksdD1yLHY9Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKSx6PShfLlZNKCl8fHY/LigpKT8/ITEsRT1udWxsLEE9Xy51RSgiYnV0dG9uIik7Xy5VSihmdW5jdGlvbigpeyhtPy4oKT8/dm9pZCAwKXx8U1MoMTIwODEsQS52YWx1ZSxFLEY9PntFPUZ9LG51bGwpfSk7cmV0dXJuIF8uSygieXRtLWhvbWUtbG9nbyIsbnVsbCxfLksoImJ1dHRvbiIse2VsOkEsImFyaWEtbGFiZWwiOigpPT5fLkNKKGE/LigpPy50b29sdGlwVGV4dCk/Xy5DSihhPy4oKT8udG9vbHRpcFRleHQpOgoiWW91VHViZSIscm9sZToibGluayIsY2xhc3M6Xy5QKHsibG9nby1pbi1wbGF5ZXItZW5kcG9pbnQiOmMsIm1vYmlsZS10b3BiYXItaGVhZGVyLWVuZHBvaW50IjooKT0+IWMoKX0pLGtleTooKT0+bT8uKCk/P3ZvaWQgMD8ieW9vZGxlIjoibG9nbyIsIm9uOmNsaWNrIjpmdW5jdGlvbihGKXt2YXIgQz1hPy4oKT8uZW5kcG9pbnQ/P3JWLEc9bT8uKCk/P3ZvaWQgMCxEPSIvIjtHPyhDPUcub25UYXBDb21tYW5kfHxDLEQ9Xy5CKEcub25UYXBDb21tYW5kPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybHx8RCk6RD1fLkIoQz8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmx8fEQ7dmFyIEg9az8uKCk/PzM4NTQsUj1GLmN1cnJlbnRUYXJnZXQ7RyYmKFIuZGF0YT1HKTtoPy4oRik7Xy5xUCh7aHJlZjpELGFrOkgsZWxlbWVudDpSLHB1c2hTdGF0ZTohMCxlbmRwb2ludDpDfSk7Ri5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PiFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSYmCmpVKHosbT8uKCk/P3ZvaWQgMCksdGhlbjooKT0+Xy5LKFNWLHtkYXRhOigpPT5tPy4oKT8/dm9pZCAwLElyOigpPT5fLksoVFYse1ZqOmIsV2o6YyxYajpkLFlmOiJtb2JpbGUtdG9wYmFyLWxvZ28iLGNqOiJob21lLWljb24iLHVtOmUsaWNvbk92ZXJyaWRlOmYscnM6bn0pLGVoOmx9KX0pLF8uSyhfLk8se0E6KCk9PiFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSYmIWpVKHosbT8uKCk/P3ZvaWQgMCksdGhlbjooKT0+Xy5LKFNWLHtkYXRhOigpPT5tPy4oKT8/dm9pZCAwLFlmOiJtb2JpbGUtdG9wYmFyLWxvZ28iLGNqOiJob21lLWljb24iLHZCOnosZWg6bH0pfSksXy5LKF8uTyx7QTooKT0+ISghcCgpJiYobT8uKCk/P3ZvaWQgMCkmJmlVKGIoKSkpLHRoZW46KCk9Pl8uSyhUVix7Vmo6YixXajpjLFhqOmQsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdW06ZSxpY29uT3ZlcnJpZGU6ZixyczpufSl9KSkpfSwidmQiKTtVVi5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2h6OiEwfX07CnZhciBUVj1fLkwoKHtWajphLFdqOmIsWGo6YyxZZjpkLGNqOmUsdW06ZixpY29uT3ZlcnJpZGU6aCxyczprfSk9Pnt2YXIgbD0oKT0+YSgpP2g/LigpfHwiTE9HT19XSVRIX1RFWFQiOmM/LigpP2s/LigpOiJMT0dPIjtyZXR1cm4gXy5LKF8uTUQse2ljb246KCk9Pnt2YXIgbT1sKCk7Zj8uKCkmJmE/LigpJiYobSs9Il9NT05PQ0hST01FIik7cmV0dXJuIG19LGNsYXNzTmFtZTpfLlAoKCk9PmIoKT8ibG9nby1pbi1wbGF5ZXIiOmQoKSx7ImZ1bGwtbG9nbyI6YSwiZnVsbC1sb2dvLXJlZCI6KCk9PmEoKSYmbCgpPT09IllPVVRVQkVfUFJFTUlVTV9MT0dPX1NIT1JUIiwic2hvcnRzLWxvZ28iOmMsbW9ub2Nocm9tYXRpYzpmfSksaWQ6ZX0pfSwid2QiKTt2YXIgV21hPV8uTChhPT5fLksoXy5JQixudWxsLF8uSyhPbWEse0Z4OiExLGFuaW1hdGlvbjphLmFuaW1hdGlvbn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzRW1iZWRzVG9wYmFyQ29udGFpbmVyIn0sXy5LKFVWLHt0b3BiYXJMb2dvUmVuZGVyZXI6YS54eSxWajohMSxXajohMCxYajohMCxhazoxMzQ4NDB9KSxfLksoXy5PLHtBOmEucmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHRoZW46KCk9Pl8uSyhIVix7b3JpZW50YXRpb246InZlcnRpY2FsX2Rvd24iLEg6YS5ILENwOiEwLGNsYXNzTmFtZToieXRTaG9ydHNFbWJlZHNWb2x1bWVDb250cm9scyIsYmo6ITB9KX0pKSxfLksoXy5PLHtBOmEub3ZlcmxheSx0aGVuOmI9Pl8uSyhSVix7ZGF0YTooKT0+e3ZhciBjPWIoKTtpZihfLnRQKCkpe3ZhciBkPWMubWVudT8ubWVudVJlbmRlcmVyO2M9ZD8uaXRlbXM/ey4uLmMsbWVudTp7Li4uYy5tZW51LG1lbnVSZW5kZXJlcjp7Li4uZCxpdGVtczpbe2FjY291bnRJbmZvTWVudUl0ZW06ITB9LAouLi5kLml0ZW1zXX19fTpjfXJldHVybiBjfSxjbGFzc05hbWU6Inl0U2hvcnRzRW1iZWRzUmVlbFBsYXllck92ZXJsYXlSZW5kZXJlciJ9KX0pLF8uSyhNbWEse0g6YS5ILGNvbnRleHQ6YS5jb250ZXh0fSkpLCJ4ZCIpLFdsYT1fLkwoYT0+e3ZhciB7SDpiLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpjLGpiOmQsUGg6ZSxjb250ZXh0OmZ9PV8uREMoYSx7SDp2b2lkIDAscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOnZvaWQgMCxqYjp2b2lkIDAsUGg6dm9pZCAwfSksW2gsa109Xy5KKHZvaWQgMCx2b2lkIDAsIkNQU3pJZSIpLFtsLG1dPV8uSih2b2lkIDAsdm9pZCAwLCJJSTRIQ2QiKTtfLm9GKCgpPT57dmFyIEE9Yj8uKCk7QT8uaXNSZWFkeSgpJiZtKEEuZ2V0UGxheWVyU3RhdGUoKSl9KTt2YXIgbj1BPT57Yj8uKCkmJm0oQSl9O18ubkUoKCk9Pnt2YXIgQT1iPy4oKTtBJiYoQS5hZGRFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixuKSxfLll1KCgpPT57QS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIiwKbil9KSl9LCJDN0Q1OWQiKTtfLm5FKCgpPT57dmFyIEE9YygpO2lmKEEpe2xldCBGPV8ueSgpLnJlc29sdmUoXy5iTCk7Zm9yKGxldCBDIG9mIEEuZW5nYWdlbWVudFBhbmVsc3x8W10pKEE9Qy5lbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyKSYmRi5PeihBLmlkZW50aWZpZXI/LnRhZ3x8QS50YXJnZXRJZHx8QS5wYW5lbElkZW50aWZpZXIsQyl9fSwiUWRTZVRiIik7Xy5uRSgoKT0+e2Z1bmN0aW9uIEEoKXtpZihDKXtsZXQgRz1DLmdldE9wdGlvbnM/LigiY2FwdGlvbnMiKTtHJiZHLmxlbmd0aD4wJiZDPy51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3M/Lih7Zm9udFNpemVJbmNyZW1lbnQ6Mn0sITEpfX12YXIgRj1iPy4oKTtpZihGKXt2YXIgQz1GO0EoKTtDLmFkZEV2ZW50TGlzdGVuZXIoIm9uQ2FwdGlvbnNNb2R1bGVBdmFpbGFibGUiLEEpO18uWXUoKCk9PntDLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ2FwdGlvbnNNb2R1bGVBdmFpbGFibGUiLEEpfSl9fSwibDhXMXZiIik7CnZhciBwPV8uTigoKT0+YygpPy5vdmVybGF5Py5yZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyfHxkKCk/LmVtYmVkUHJldmlldz8ucmVlbFBsYXllck92ZXJsYXlSZW5kZXJlcix2b2lkIDAsInplaFlZYiIpLHI9Xy5OKCgpPT57dmFyIEE7KEE9Xy5CKGMoKT8udG9wYmFyLCRsYSk/LnRvcGJhckxvZ28/LnRvcGJhckxvZ29SZW5kZXJlcil8fChBPWUoKT8uZW5kcG9pbnQsQT0oQT0oQSYmXy5CKEEsXy5URCkpPy52aWRlb0lkKT9gaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzLyR7QX1gOiJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMiLEE9e2ljb25JbWFnZTp7aWNvblR5cGU6IllPVVRVQkVfU0hPUlRTX09VVExJTkVfV0lUSF9URVhUXzI0In0sdG9vbHRpcFRleHQ6e3J1bnM6W3t0ZXh0OiJZb3VUdWJlIFNob3J0cyJ9XX0sZW5kcG9pbnQ6e2NvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6QSx3ZWJQYWdlVHlwZToiV0VCX1BBR0VfVFlQRV9TSE9SVFMiLApyb290VmU6MzgzMn19LHVybEVuZHBvaW50Ont1cmw6QSx0YXJnZXQ6IlRBUkdFVF9ORVdfV0lORE9XIn19fSk7cmV0dXJuIEF9LHZvaWQgMCwiTk4yNzJjIik7YT1fLk4oKCk9PntpZihsKCk9PT01KXt2YXIgQT1lKCk/LmVuZHBvaW50O2lmKEEmJihBPV8uQihBLF8uVEQpPy50aHVtYm5haWw/LnRodW1ibmFpbHM/LlswXT8udXJsKSlyZXR1cm4gXy5JRSh7ImJhY2tncm91bmQtc2l6ZSI6ImNvdmVyIiwiYmFja2dyb3VuZC1wb3NpdGlvbiI6ImNlbnRlciIsImJhY2tncm91bmQtcmVwZWF0Ijoibm8tcmVwZWF0IiwiYmFja2dyb3VuZC1pbWFnZSI6YCR7ImxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC40KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSAxNjBweCksXG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNCkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgOTZweCkifSwgdXJsKCR7QX0pYH0pKCl9fSx2b2lkIDAsImkxNkZEZSIpOwp2YXIgdD1fLk4oKCk9PmIoKT8/dm9pZCAwLHZvaWQgMCwiVWZZdEZmIiksdj1fLk4oKCk9PnQoKT8uaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheT8uKCksdm9pZCAwLCJsS2NBbWQiKSx6PV8uTigoKT0+KHt0YTpmKCkudGEsVGM6ZigpLlRjLEdjOmYoKS5HYyxiYTpmKCkuYmEsSDp0KCkscGxheWVyU3RhdGU6bCgpPz8tMSxTOigpPT57fX0pLHZvaWQgMCwiZTZsU2llIiksRT1fLk4oKCk9Pnt2YXIgQT10KCk/LmdldFBsYXllclJlc3BvbnNlPy4oKTtyZXR1cm4gQT9fLkIoQT8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXI/Lm11dGVkQXV0b3BsYXksb1YpOnZvaWQgMH0sdm9pZCAwLCJER1RTbmQiKTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKCRULHQpXX0sXy5LKCJzaG9ydHMtZW1iZWRzIix7Y2xhc3M6Inl0U2hvcnRzRW1iZWRzSG9zdCIsIm9uOmNsaWNrIjpmdW5jdGlvbihBKXtBLnN0b3BQcm9wYWdhdGlvbigpO2lmKCFFUShBLnRhcmdldCwiQSIpJiYKIUVRKEEudGFyZ2V0LCJCVVRUT04iKSYmKEE9YigpKSYmQS5pc1JlYWR5KCkpaWYoQS5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KCkpe3ZhciBGPUEuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkLEM9QS5nZXRDdXJyZW50VGltZSgpO0YmJihBLnVuTXV0ZSgpLEEubG9hZFZpZGVvQnlJZChGLEMpKX1lbHNlIEY9QS5nZXRQbGF5ZXJTdGF0ZSgpPT09MSxDPUEuaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSgpLEYmJkM/QS51bk11dGUoKTooRj1BLmdldFBsYXllclN0YXRlKCk9PT0xLEM9QS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCksRiYmIUM/KEEucGF1c2VWaWRlbygpLGsoe25hbWU6InBhdXNlXzk2ZHBfYW5pbWF0aW9uIn0pKTpGfHwoQyYmQS51bk11dGUoKSxBLnBsYXlWaWRlbygpLGsoe25hbWU6InBsYXlfOTZkcF9hbmltYXRpb24ifSkpKX0sc3R5bGU6YX0sXy5LKF8uTyx7QTooKT0+digpLHRoZW46KCk9Pl8uSyhMVix7Rzp6LHBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXI6RX0pLApXOigpPT5fLksoV21hLHthbmltYXRpb246aCx4eTpyLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpjLEg6dCxvdmVybGF5OnAsY29udGV4dDpmfSl9KSkpfSwiQ2QiKTt2YXIgYlY9Xy5MKCh7ZGF0YTphfSk9PntKamEoKTtyZXR1cm4gXy5LKCJ5dC1wbGF5ZXItaW50ZXJzdGl0aWFsLXJlbmRlcmVyIix7Y2xhc3M6InBsYXllckludGVyc3RpdGlhbFJlbmRlcmVySG9zdCIscm9sZToiZGlhbG9nIiwiYXJpYS1sYWJlbCI6KCk9Pnt2YXIgYjthOntpZihiPWEoKS5jb250ZW50KXt2YXIgYz1fLkIoYixibWEpO2lmKGM/LnRpdGxlPy5jb250ZW50KXtiPWMudGl0bGUuY29udGVudDticmVhayBhfWI9Xy5CKGIsZW1hKTtiPWI/LmhlYWRlciYmXy5CKGIuaGVhZGVyLGRtYSk7aWYoYj8uaGVhZGxpbmU/LmNvbnRlbnQpe2I9Yi5oZWFkbGluZS5jb250ZW50O2JyZWFrIGF9fWI9dm9pZCAwfXJldHVybiBifSx0YWJpbmRleDotMSxlbDpfLnJGKGI9PnZvaWQgYj8uZm9jdXMoKSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllckludGVyc3RpdGlhbFJlbmRlcmVyU2NyaW0ifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuY29udGVudH0se2ludGVyc3RpdGlhbFZpZXdNb2RlbDpfLmVqYSwKZGlhbG9nVmlld01vZGVsOl8uJGlhfSkpKX0sIkRkIik7YlYuaWRvbUNvbXBhdD0hMDt2YXIgVlY9Xy5MKCh7Z2Y6YSxJYjpifSk9Pl8uSygieXQtYmlnYm9hcmQiLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmlzRHJhZ2dpbmcsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRCaWdib2FyZFN0b3J5Ym9hcmRIb3N0In0sXy5LKEdtYSx7TGI6YSxJYjpifSkpfSkpLCJFZCIpO1ZWLmlkb21Db21wYXQ9ITA7dmFyIFdWPV8uTChhPT57dmFyIGI9YS5HO2E9Xy5OKCgpPT5iKCkuZWE/Xy4kTi5tdDpfLiROLlp0LHZvaWQgMCwieGlkenVkIik7cmV0dXJuIF8uSygiYnV0dG9uIix7Im9uOmNsaWNrIjpmdW5jdGlvbihjKXt2YXIgZD17ZWE6IWIoKS5lYSx5cTohMH07YigpLlMoZCk7Yy5zdG9wUHJvcGFnYXRpb24oKX0saWQ6InBsYXllci1jb250cm9scy1hMTF5LXRvZ2dsZSIsY2xhc3M6Inl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b24iLCJhcmlhLWxhYmVsIjphfSl9LCJGZCIpO3ZhciBYVj1fLkwoYT0+e2Z1bmN0aW9uIGIoaCl7WFMoYS5GZCgpPT09LTE/MTQxOTAyOjE0MTkwMyk7dmFyIGs9Yz8uKCksbD1hLkZkKCk7az8uc2Vla0J5KGwqMTAsdm9pZCAwLHZvaWQgMCxsPT09LTE/ODM6ODIpO2guc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGM9Xy5rRygkVCksZD0oKT0+YS5GZCgpPT09LTE/Xy4kTi5RdC5yZXBsYWNlKCIkc2Vjb25kc19wbGFjZWhvbGRlciIsKDEwKS50b1N0cmluZygpKTpfLiROLkl0LnJlcGxhY2UoIiRzZWNvbmRzX3BsYWNlaG9sZGVyIiwoMTApLnRvU3RyaW5nKCkpLGU9Xy5OKCgpPT57dmFyIGg9YS5HKCk7cmV0dXJuIF8ueCgibXdlYl9wY19saXZlX2R2cl9rcyIpPyEwOiEoaC5pc0xpdmUmJiFoLmlzTGl2ZUR2ckVuYWJsZWQpfSx2b2lkIDAsIkthcklLYyIpLGY9Xy51RSgiYnV0dG9uIixoPT57V1MoaCxhLkZkKCk9PT0tMT8xNDE5MDI6MTQxOTAzKX0pO3JldHVybiBfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKCJidXR0b24iLHsiYXJpYS1sYWJlbCI6ZCwKY2xhc3M6Xy5QKGEuY2xhc3NOYW1lLCJ5dG1BMTF5U3R5bGVzSGlkZGVuQnV0dG9uIiwicGxheWVyLWNvbnRyb2wtc2Vlay1pY29uLWExMXkiKSxzdHlsZTpfLklFKHtsZWZ0OigpPT5hLkZkKCk9PT0tMT8iMCI6InVuc2V0IixyaWdodDooKT0+YS5GZCgpPT09MT8iMCI6InVuc2V0In0pLGVsOmYsIm9uOmNsaWNrIjpifSl9KX0sIkdkIik7dmFyIFlWPV8uTChhPT57dmFyIHtVZDpiLG9uY2xpY2s6YywuLi5kfT1hO2E9Xy51RSgiZGl2IixlPT57V1MoZSxiKCkpfSk7cmV0dXJuIF8uSygiZGl2Iix7ZWw6YX0sXy5LKF8udE8sey4uLmQsb25jbGljazplPT57WFMoYigpKTtjPy4oZSl9fSkpfSwiSGQiKTt2YXIgWlY9Xy5MKGE9Pnt2YXIgYj1fLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8icGxheWVyX2Z1bGxfZW50ZXJfYWx0IjoiRlVMTFNDUkVFTiIsYz1fLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT8icGxheWVyX2Z1bGxfZXhpdF9hbHQiOiJGVUxMU0NSRUVOX0VYSVQiLGQ9KCk9PmEuRygpLmlzRnVsbHNjcmVlbj9jOmI7cmV0dXJuIF8uSyhZVix7bmFtZTpkLGFyaWFMYWJlbDooKT0+YS5HKCkuaXNGdWxsc2NyZWVuP18uJE4uSHQ6Xy4kTi5KdCxjb250ZW50OigpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItYm90dG9tLWNvbnRyb2xzLWZ1bGxzY3JlZW4taWNvbi12aXNpYmxlLWFyZWEifSxfLksoXy5NRCx7aWNvbjpkfSkpLGNsYXNzTmFtZToiZnVsbHNjcmVlbi1pY29uIixVZDoxMzkxMTcsb25jbGljazplPT57YS5HKCkudGEudG9nZ2xlRnVsbHNjcmVlbigpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJJZCIpO3ZhciAkVj1fLkwoYT0+e3ZhciBiPV8ua0coJFQpO3JldHVybiBfLksoWVYse25hbWU6KCk9PmEuRygpLnBsYXllclN0YXRlPT09MXx8YS55cyYmYS5HKCkucGxheWVyU3RhdGU9PT0zPyJQQVVTRV9GSUxMRUQiOiJQTEFZX0FSUk9XX0ZJTExFRCIsYXJpYUxhYmVsOigpPT5hLkcoKS5wbGF5ZXJTdGF0ZT09PTF8fGEueXMmJmEuRygpLnBsYXllclN0YXRlPT09Mz9fLiROLkx0Ol8uJE4uUGcsY2xhc3NOYW1lOiJwbGF5ZXItY29udHJvbC1wbGF5LXBhdXNlLWljb24iLFVkOjM2ODQyLG9uY2xpY2s6Yz0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZSYmKGU9V1EoZSksZC5TKHtqZTplfSkpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJKZCIpO3ZhciBhVz1fLkwoYT0+e3ZhciBiPV8ua0coJFQpO3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9SRVBMQVkiLGFyaWFMYWJlbDpfLiROLlB0LGNsYXNzTmFtZToiZW5kc2NyZWVuLXJlcGxheS1idXR0b24iLFVkOjU2Mzg2LG9uY2xpY2s6Yz0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZSYmKGQucmMmJmU/LnVuTXV0ZSgpLGUucGxheVZpZGVvKCkpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSl9LCJLZCIpO3ZhciBiVz1fLkwoYT0+Xy5LKFlWLHtuYW1lOiJHRUFSIixhcmlhTGFiZWw6Xy4kTi52dCxjbGFzc05hbWU6Xy5QKCJwbGF5ZXItc2V0dGluZ3MtaWNvbiIsYS5jbGFzc05hbWUpLFVkOjI4NjYzLG9uY2xpY2s6Yj0+e2EuRygpLnRhLlNqKGIpfX0pLCJMZCIpO3ZhciBjVz1fLkwoYT0+e3ZhciB7S3U6YixvbkNsaWNrOmMsYXJpYUxhYmVsOmQsYXJpYVByZXNzZWQ6ZSxpc092ZXJsYXk6Zn09Xy5EQyhhLHtpc092ZXJsYXk6ITF9KTthPV8udUUoImJ1dHRvbiIsaD0+e1dTKGgsMTI3Mjk5KX0pO3JldHVybiBfLksoInl0bS1jbG9zZWQtY2FwdGlvbmluZy1idXR0b24iLHtjbGFzczpfLlAoInl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25Ib3N0Iix7eXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZE92ZXJsYXk6KCk9PmIoKT09PS0xJiZmKCkseXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkljb25EaXNhYmxlZDooKT0+YigpPT09LTEmJiFmKCl9KX0sXy5LKCJidXR0b24iLHtlbDphLGNsYXNzOiJ5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uQnV0dG9uIix0aXRsZTpkLCJhcmlhLWxhYmVsIjpkLCJhcmlhLXByZXNzZWQiOmUsImFyaWEtZGlzYWJsZWQiOigpPT5iKCk9PT0tMT8idHJ1ZSI6dm9pZCAwLCJvbjpjbGljayI6ZnVuY3Rpb24oaCl7WFMoMTI3Mjk5KTsKYz8uKGgpO2guc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5NRCx7aWNvbjooKT0+e3ZhciBoPSIiO2lmKF8ueCgibXdlYl9sb2NhbGl6ZWRfY2NfaWNvbiIpKXt2YXIgaz1fLkh6KCkuZ2V0KCJobCIpO2s9IWt8fGhtYS5pbmNsdWRlcyhrKT8iQ0xPU0VEX0NBUFRJT04iOiJTVUJUSVRMRVMifWVsc2Ugaz0iQ0xPU0VEX0NBUFRJT04iO3ZhciBsPWIoKTtzd2l0Y2gobCl7Y2FzZSAtMTpjYXNlIDA6aD1rO2JyZWFrO2Nhc2UgMTpoPWsrIl9GSUxMRUQiO2JyZWFrO2RlZmF1bHQ6Xy5lYihsLHZvaWQgMCl9cmV0dXJuIGh9LGNsYXNzTmFtZTpfLlAoe3l0bUNsb3NlZENhcHRpb25pbmdCdXR0b25ZdEljb25PdmVybGF5OmZ9KX0pKSl9LCJNZCIpO2NXLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DbGljazohMH19O3ZhciBrVT0iIjt2YXIgZFc9Xy5MKGE9Pnt2YXIgYj1hLmdmLGM9YS5zTCxkPWEuV3EsZT1hLmNsYXNzTmFtZSxmPWEuVnIsaD1wPT57dmFyIHI9YigpLHQ9Yz8uKCksdj1mKCk7ci54YyYmKHQ/ci5IPy50b2dnbGVTdWJ0aXRsZXModik6KHQ9ci5IKSYmUVEodCxsVShyKSx2KSk7Xy54KCJ3ZWJfZGVsZXRlX3NuYWNrYmFycyIpfHxyLnRhLnFBPy4ocik7ZD8uKHApfSxrPV8uTigoKT0+e3ZhciBwPWIoKSxyPS0xO3AueGMmJihyPXAuY2FwdGlvbnNFbmFibGVkPzE6MCk7cmV0dXJuIHJ9LHZvaWQgMCwiSE1vMnJjIiksbD1fLk4oKCk9Pnt2YXIgcD1iKCk7cmV0dXJuIHAueGM/Xy5hQShwLmNhcHRpb25zRW5hYmxlZD8iQ0xPU0VEX0NBUFRJT05TX09OIjoiQ0xPU0VEX0NBUFRJT05TX09GRiIpOl8uYUEoIkNMT1NFRF9DQVBUSU9OU19ESVNBQkxFRCIpfSx2b2lkIDAsIldRNTFZZSIpLG09Xy5OKCgpPT57dmFyIHA9YigpO3A9cC54Yz9wLmNhcHRpb25zRW5hYmxlZDp2b2lkIDA7cmV0dXJuIHB9LHZvaWQgMCwKIkkwTFR1YiIpLG49Xy5OKCgpPT5iKCkueGMsdm9pZCAwLCJMdmVPV2UiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX3BsYXllcl9oaWRlX3VuYXZhaWxhYmxlX3N1YnRpdGxlc19idXR0b24iKT9uKCk6ITAsdGhlbjooKT0+Xy5LKCJ5dC1jbG9zZWQtY2FwdGlvbnMtdG9nZ2xlLWJ1dHRvbiIse2NsYXNzOmV9LF8uSyhjVyx7S3U6ayxhcmlhTGFiZWw6bCxhcmlhUHJlc3NlZDptLG9uQ2xpY2s6aCxpc092ZXJsYXk6ITB9KSl9KX0sIk5kIik7dmFyIGVXPV8uTCgoe0lBOmEsZGF0YTpiLGNoaWxkcmVuOmN9KT0+e2Z1bmN0aW9uIGQoKXthPy4oKXx8cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Zi52YWx1ZSYmKGgudmFsdWUuc3R5bGUud2lkdGg9YCR7Zi52YWx1ZS5vZmZzZXRXaWR0aH1weGApfSl9dmFyIGU9dm9pZCAwLGY9Xy51RSgiZGl2IiksaD1fLnVFKCJkaXYiKSxrPV8uQlEoKSxsPV8uQlEoKTtfLm5FKCgpPT57ZCgpOyFlJiZiKCkuc3Vic2NyaWJlZCYmKGsubG90dGllRWw/LmdvVG9BbmRQbGF5KDApLGwubG90dGllRWw/LmdvVG9BbmRQbGF5KDApKTtlPSEhYigpLnN1YnNjcmliZWR9LCJNTTBqQWYiKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Ib3N0In0sXy5LKF8uQVEse09vOmssUnA6bH0sXy5LKCJkaXYiLHtlbDpoLGNsYXNzOl8uUCgieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25Db250ZW50Q29udGFpbmVyIix7eXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25TdGF0aWNXaWR0aDphLAp5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNhbkFuaW1hdGU6KCk9PmIoKS5zdWJzY3JpYmVkfSl9LF8uSygiZGl2Iix7ZWw6ZixjbGFzczoieXR3QW5pbWF0ZWRTdWJzY3JpYmVCdXR0b25GbGV4Q29udGFpbmVyIn0sYykpKSl9LCJQZCIpO2VXLmlkb21Db21wYXQ9ITA7dmFyIGZXPV8uTCgoe2RhdGE6YSxidXR0b25PdmVycmlkZXM6Yn0pPT57dmFyIFtjXT1uamEoYSk7cmV0dXJuIF8uSygieXRtLXN1YnNjcmliZS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczpfLlAoeyJpcy1zdWJzY3JpYmVkIjooKT0+YygpLnN1YnNjcmliZWQsImlzLW5vdC1zdWJzY3JpYmVkIjooKT0+IWMoKS5zdWJzY3JpYmVkLGRpc2FibGVkOigpPT57dmFyIGQ7aWYoZD0hIWMoKS50aGVtZSl7ZD0hIWMoKS5zdWJzY3JpYmVkO3ZhciBlPWMoKS50aGVtZTtkPWQ/ISFlLnN1YnNjcmliZWRDb2xvclBhbGV0dGUmJl8udU4oZS5zdWJzY3JpYmVkQ29sb3JQYWxldHRlKTohIWUudW5zdWJzY3JpYmVkQ29sb3JQYWxldHRlJiZfLnVOKGUudW5zdWJzY3JpYmVkQ29sb3JQYWxldHRlKX1yZXR1cm4gZH19KX0sXy5LKF8uYWphLHtzZXR0aW5nczooKT0+KHt1bmlxdWVJZDoic3Vic2NyaWJlIixmazpjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fFtdLFhkOihjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fApbXSkubGVuZ3RoPjAsZW5hYmxlZDohYygpLnN1YnNjcmliZWQmJihjKCkudGltZWRBbmltYXRpb25EYXRhPy5hbmltYXRpb25UaW1pbmd8fFtdKS5sZW5ndGg+MH0pfSxfLksoWG1hLHtkYXRhOmMsYnV0dG9uT3ZlcnJpZGVzOmJ9KSkpfSwiUWQiKTtmVy5pZG9tQ29tcGF0PSEwOwp2YXIgWG1hPV8uTCgoe2RhdGE6YSxidXR0b25PdmVycmlkZXM6Yn0pPT57dmFyIGM9KCk9PiEoIWEoKS5zdWJzY3JpYmVkfHwhYSgpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24pLGQ9Xy5OKCgpPT4oey4uLlFqYSh7cmVuZGVyZXI6YSgpLHN1YnNjcmliZWQ6ISFhKCkuc3Vic2NyaWJlZCxpc092ZXJsYXk6Xy5XTSgpPyEwOiExLHN0b3BQcm9wYWdhdGlvbjohMH0pLGRpc2FibGVkOiFhKCkuZW5hYmxlZCwuLi4oYj8uKCl8fHt9KX0pLHZvaWQgMCwieW9DZGNlIik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Im1vZGVybi1zdWJzY3JpYmUtYnV0dG9uLWNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJub3RpZmljYXRpb24tYmVsbC1jb250YWluZXIiLHtoaWRkZW46KCk9PiFjKCl9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b259LHt0b2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6ZX0pPT5fLksoXy5xTywKe2RhdGE6ZSxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In0sY2xhc3NOYW1lOl8uUCgibm90aWZpY2F0aW9uLWJlbGwiLHtoaWRkZW46KCk9PiFjKCl9KX0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJtb2Rlcm4tc3Vic2NyaWJlLWJ1dHRvbiIseyJ3aXRoLW5vdGlmaWNhdGlvbi1iZWxsIjpjfSl9LF8uSyhfLk8se0E6KCk9PiFfLldNKCksdGhlbjooKT0+e3ZhciBlPV8uVU0oKT09PSJjaGFubmVsIjtyZXR1cm4gXy5LKGVXLHtkYXRhOmEsSUE6ZX0sXy5LKF8uSksse2RhdGE6ZH0pKX0sVzooKT0+Xy5LKF8uSksse2RhdGE6ZH0pfSksXy5LKCJkaXYiLHtjbGFzczoic3Vic2NyaWJlLWJ1dHRvbi1jb3VudCJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkuc3Vic2NyaWJlckNvdW50VGV4dH0pKSkpfSwiUmQiKTt2YXIgZ1c9Xy5MKCh7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOmEsaXNBY3RpdmU6YixYaDpjfSk9PntmdW5jdGlvbiBkKCl7Xy5BSihhKCkuZW5kcG9pbnQsYSgpLCEwKX12YXIgZT0oKT0+YSgpLnN0eWxlPT09IkNIQU5ORUwiLGY9Xy5QKCJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsIix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFJvdW5kOmV9KSxoPSgpPT5OdW1iZXIoYSgpLmxlZnQpK051bWJlcihhKCkud2lkdGgvMik8LjUsaz1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Iix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlSaWdodDpoLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdDooKT0+IWgoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0QWN0aXZlOigpPT5iKCkmJmgoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUxlZnRBY3RpdmU6KCk9PgpiKCkmJiFoKCl9KSxsPSgpPT5hKCkudGl0bGUsbT0oKT0+YSgpLmhvdmVyY2FyZEJ1dHRvbixuPSgpPT5hKCkubWV0YWRhdGEscD0oKT0+YSgpLmNhbGxUb0FjdGlvbixyPV8uUCh7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YVdlYnNpdGU6KCk9PiFlKCkseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlNZXRhZGF0YUNoYW5uZWw6ZX0pO2M9Xy5QKCJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW0iLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1DaGFubmVsOmUseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudFNjcmltQWN0aXZlOmN9KTt2YXIgdD1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRIb3N0Iix7eXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmU6Yn0pO3JldHVybiBfLksoImV4cGFuZGluZy1lbmRzY3JlZW4tZWxlbWVudCIse2NsYXNzOnR9LF8uSygiZGl2Iix7Y2xhc3M6Y30pLApfLksoImRpdiIse2NsYXNzOmt9LF8uSygiZGl2Iix7Y2xhc3M6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5Q29udGVudCJ9LF8uSyhfLk8se0E6bCx0aGVuOigpPT5fLksoXy5WLHt0ZXh0OmwsY2xhc3NOYW1lOiJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVRpdGxlIn0pfSksXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5QnV0dG9uIn0sXy5LKF8uVyx7ZGF0YTptfSx7c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6Zld9KSl9KSxfLksoXy5PLHtBOm4sdGhlbjooKT0+Xy5LKF8uVix7Y2xhc3NOYW1lOnIsdGV4dDpufSl9KSxfLksoXy5PLHtBOigpPT4hZSgpJiZhKCkuY2FsbFRvQWN0aW9uLHRoZW46KCk9Pl8uSygiZGl2Iix7Im9uOmNsaWNrIjpkLHN0eWxlOiJkaXNwbGF5OiBjb250ZW50cyJ9LF8uSyhfLlYse2NsYXNzTmFtZToieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDYWxsVG9BY3Rpb24iLAp0ZXh0OnB9KSl9KSkpLF8uSygiZGl2Iix7Im9uOmNsaWNrIjpkfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YSgpLmltYWdlLGNsYXNzTmFtZTpmfSkpKX0sIlNkIik7Z1cuaWRvbUNvbXBhdD0hMDt2YXIgaFc9Xy5MKCh7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOmEsaXNBY3RpdmU6YixYaDpjfSk9Pnt2YXIgZD0oKT0+YSgpLnRpdGxlLGU9KCk9PmEoKS50aHVtYm5haWxPdmVybGF5cyxmPSgpPT5hKCkucGxheWxpc3RMZW5ndGg7Yj1fLlAoInl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRIb3N0Iix7eXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3RBY3RpdmU6Yn0pO2M9Xy5QKCJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW0iLHt5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmU6Y30pO3JldHVybiBfLksoInRodW1ibmFpbC1lbmRzY3JlZW4tZWxlbWVudCIse2NsYXNzOmIsIm9uOmNsaWNrIjpmdW5jdGlvbigpe18uQUooYSgpLmVuZHBvaW50LGEoKSwhMCl9fSxfLksoImRpdiIse2NsYXNzOmN9KSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcE92ZXJsYXkifSwKXy5LKCJkaXYiLHtjbGFzczoieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRvcEdyYWRpZW50In0pLF8uSyhfLlYse3RleHQ6ZCxjbGFzc05hbWU6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWxUaXRsZSIsdWI6ITAsbWE6ITB9KSl9KSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YSgpLmltYWdlLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbCJ9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKF8uVyx7ZGF0YTplfSx7dGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcjooe2RhdGE6aH0pPT5fLksoXy5WUCx7ZGF0YTpoLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRpbWVTdGF0dXMifSl9KX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGhPdmVybGF5In0sXy5LKF8uTUQsCntpY29uOiJQTEFZTElTVFNfQ0FJUk8iLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFBsYXlsaXN0SWNvbiJ9KSxfLksoXy5WLHt0ZXh0OmYsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RMZW5ndGgiLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pKX0sIlRkIik7aFcuaWRvbUNvbXBhdD0hMDt2YXIgaVc9WzM0Niw0MjYsNDcwLDUwNiw1NzAsNjQwLDg1MywxMjgwLDE5MjBdLGpXPVsieXRtQ3JlYXRvckVuZHNjcmVlblJvdW5kaW5nU21hbGwiLCJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdNZWRpdW0iLCJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdMYXJnZSJdLGxXPV8uTCgoe2VuZHNjcmVlblJlbmRlcmVyOmEsRzpifSk9Pnt2YXIgW2MsZF09Xy5KKG5ldyBGUSgwLDAsMCwwKSx2b2lkIDAsInV1dU1LYyIpLFtlLGZdPV8uSihuZXcgXy5uZCgwLDApLHZvaWQgMCwicHlhaWpiIiksW2gsa109Xy5KKCIiLHZvaWQgMCwiTUszaUFmIiksW2wsbV09Xy5KKCExLHZvaWQgMCwiZU1PZmliIiksbj1fLk4oKCk9PmIoKS5ILHZvaWQgMCwicEY2ODRiIikscD1fLk4oKCk9Pl8uVXcoYSgpLnRyYWNraW5nUGFyYW1zKSx2b2lkIDAsImpib1BGZiIpLHI9KCk9Pnt2YXIgQT1uKCk/LmdldFZpZGVvQ29udGVudFJlY3QoKTtBJiZBLndpZHRoPjAmJkEuaGVpZ2h0PjAmJmQobmV3IEZRKEEubGVmdCwKQS50b3AsQS53aWR0aCxBLmhlaWdodCkpOyhBPW4oKT8uZ2V0U2l6ZSgpKSYmQS53aWR0aD4wJiZBLmhlaWdodD4wJiZmKG5ldyBfLm5kKEEud2lkdGgsQS5oZWlnaHQpKX0sdD1BPT57QT09PSJ5dG0tY2UtaW4tZW5kc2NyZWVuIiYmKG0oITApLFpTKHAoKSkpfSx2PUE9PntBPT09Inl0bS1jZS1pbi1lbmRzY3JlZW4iJiZtKCExKX07Xy5VSigoKT0+e3IoKTtIa2EocCgpKTtuKCk/LmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdCk7bigpPy5hZGRFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRXhpdCIsdik7bigpPy5hZGRDdWVSYW5nZSgieXRtLWNlLWluLWVuZHNjcmVlbiIsTnVtYmVyKGEoKS5zdGFydE1zKS8xRTMsTnVtYmVyKDB4N2ZmZmZmZmZmZmZmZikvMUUzKTtfLll1KCgpPT57YigpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdCk7YigpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsdik7bigpPy5yZW1vdmVDdWVSYW5nZSgieXRtLWNlLWluLWVuZHNjcmVlbiIpfSl9KTsKXy5EUCgicmVzaXplIixyKTt2YXIgej1fLlAoInl0bUNyZWF0b3JFbmRzY3JlZW5Ib3N0IiwoKT0+e3ZhciBBPWMoKS53aWR0aCxGPTAsQz0tMTtmb3IobGV0IEc9MDtHPGlXLmxlbmd0aDtHKyspe2xldCBEPU1hdGguYWJzKEEtaVdbR10pO2lmKEM9PT0tMXx8Rj49RClDPUcsRj1EfXJldHVybmB5dG1DcmVhdG9yRW5kc2NyZWVuU2l6ZSR7aVdbQ119YH0se3l0bUNyZWF0b3JFbmRzY3JlZW5JbkN1ZVJhbmdlOmx9KSxFPV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlblNjcmltIix7eXRtQ3JlYXRvckVuZHNjcmVlblNjcmltVmlzaWJsZTooKT0+aCgpfSk7cmV0dXJuIF8uSygiY3JlYXRvci1lbmRzY3JlZW4iLHtjbGFzczp6fSxfLksoImRpdiIse2NsYXNzOkUsc3R5bGU6Xy5JRSh7d2lkdGg6KDAsXy5aSykoKCk9PmUoKS53aWR0aCksaGVpZ2h0OigwLF8uWkspKCgpPT5lKCkuaGVpZ2h0KX0pfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmVsZW1lbnRzfSx7ZW5kc2NyZWVuRWxlbWVudFJlbmRlcmVyOih7ZGF0YTpBfSk9PgpfLksoa1cse2RhdGE6QSxHQjpjLGlzQWN0aXZlOigpPT5oKCk9PT1BKCkuaWQsWGg6KCk9PiEhaCgpJiZoKCkhPT1BKCkuaWQsZUE6ayxIOm59KX0pKX0sIlVkIik7bFcuaWRvbUNvbXBhdD0hMDsKdmFyIGtXPV8uTCgoe2RhdGE6YSxHQjpiLGlzQWN0aXZlOmMsWGg6ZCxlQTplLEg6Zn0pPT57dmFyIFtoLGtdPV8uSighMSx2b2lkIDAsIktXWUpJZSIpLGw9Xy5OKCgpPT5fLlV3KGEoKS50cmFja2luZ1BhcmFtcyksdm9pZCAwLCJVeHB5VWIiKSxtPXQ9Pnt0LnN1YnN0cmluZygxNSk9PT1hKCkuaWQmJihrKCEwKSxaUyhsKCkpKX0sbj10PT57dC5zdWJzdHJpbmcoMTUpPT09YSgpLmlkJiZrKCExKX07Xy5VSigoKT0+e2Y/LigpLmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsbSk7Zj8uKCkuYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUV4aXQiLG4pO3ZhciB0PWB5dG0tY2UtZWxlbWVudC0ke2EoKS5pZH1gO2Y/LigpLmFkZEN1ZVJhbmdlKHQsTnVtYmVyKGEoKS5zdGFydE1zKS8xRTMsTnVtYmVyKGEoKS5lbmRNcykvMUUzKTtfLll1KCgpPT57Zj8uKCkucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIixtKTtmPy4oKS5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRW50ZXIiLApuKTtmPy4oKS5yZW1vdmVDdWVSYW5nZSh0KX0pfSk7dmFyIHA9KCk9PmIoKS5jbG9uZSgpLnNjYWxlKGEoKS53aWR0aCxhKCkud2lkdGgqYigpLmdldFNpemUoKS5hc3BlY3RSYXRpbygpL2EoKS5hc3BlY3RSYXRpbykudHJhbnNsYXRlKGEoKS5sZWZ0KmIoKS53aWR0aC1iKCkubGVmdCooYSgpLndpZHRoLTEpLGEoKS50b3AqYigpLmhlaWdodC1iKCkudG9wKihhKCkud2lkdGgqYigpLmdldFNpemUoKS5hc3BlY3RSYXRpbygpL2EoKS5hc3BlY3RSYXRpby0xKSkscj1fLlAoInl0bUNyZWF0b3JFbmRzY3JlZW5FbGVtZW50Iix7eXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnRWaXNpYmxlOigpPT5oKCl9LCgpPT5wKCkud2lkdGg+MjU2fHxwKCkuaGVpZ2h0PjI1Nj9qV1syXTpwKCkud2lkdGg+OTZ8fHAoKS5oZWlnaHQ+OTY/aldbMV06aldbMF0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOnIsc3R5bGU6Xy5JRSh7d2lkdGg6KDAsXy5aSykoKCk9PnAoKS53aWR0aCksaGVpZ2h0OigwLF8uWkspKCgpPT4KcCgpLmhlaWdodCksdG9wOigwLF8uWkspKCgpPT5wKCkudG9wKSxsZWZ0Ol8ueSgpLnJlc29sdmUoXy5sRik9PT0ibHRyIj8oMCxfLlpLKSgoKT0+cCgpLmxlZnQpOiJhdXRvIixyaWdodDpfLnkoKS5yZXNvbHZlKF8ubEYpPT09InJ0bCI/KDAsXy5aSykoKCk9PihmPy4oKS5nZXRTaXplKCk/LndpZHRoPz8wKS1wKCkubGVmdC1wKCkud2lkdGgpOiJhdXRvIn0pLCJvbjptb3VzZW92ZXIiOmZ1bmN0aW9uKHQpe2UoYSgpLmlkKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VvdXQiOmZ1bmN0aW9uKHQpe2UoIiIpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpmb2N1c2luIjpmdW5jdGlvbih0KXtzZXRUaW1lb3V0KCgpPT57ZShhKCkuaWQpfSwwKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKHQpe2UoIiIpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjp0b3VjaHN0YXJ0IjpmdW5jdGlvbih0KXtlKGEoKS5pZCk7WVMobCgpKTt0LnN0b3BQcm9wYWdhdGlvbigpfSwKIm9uOmNsaWNrIjpmdW5jdGlvbih0KXtZUyhsKCkpO3Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuc3R5bGU9PT0iVklERU8ifHxhKCkuc3R5bGU9PT0iUExBWUxJU1QifSwoKT0+Xy5LKGhXLHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpjLFhoOmR9KSksXy5LKF8uQ0Use3doZW46KCk9PmEoKS5zdHlsZT09PSJDSEFOTkVMInx8YSgpLnN0eWxlPT09IldFQlNJVEUifSwoKT0+Xy5LKGdXLHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpjLFhoOmR9KSkpKX0sIlZkIik7a1cuaWRvbUNvbXBhdD0hMDt2YXIgWW1hPV8uTChhPT57ZnVuY3Rpb24gYih6KXt2YXIgRT1mKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsQT1mKCk/LnZpZGVvSWQ7RSYmIXo/Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChFKTpBJiZhLkgoKT8ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKHt2aWRlb0lkOkEsYXV0b25hdjp6LGF1dG9wbGF5Onp9KX1mdW5jdGlvbiBjKHope1hTKDExNTEzMCk7YighMSk7ei5zdG9wUHJvcGFnYXRpb24oKX12YXIgW2QsZV09Xy5KKDAsdm9pZCAwLCJZYkRNZmIiKSxmPV8uTigoKT0+QlMoYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwiSGFGS01iIiksaD1hLkcsaz1fLk4oKCk9PmgoKS55Zix2b2lkIDAsInNZZ256ZSIpLGw9Xy5OKCgpPT5oKCkuemYsdm9pZCAwLCJkeUN2S2YiKSxtPV8uTigoKT0+bVUoYS5HLGYoKSksdm9pZCAwLCJDWkZvTWIiKSxuPV8udkUoImJ1dHRvbiIsej0+e3omJldTKHosMTE1MTMwKX0pLApwPV8udkUoImRpdiIsej0+e3omJldTKHosMTE1MTI5KX0pO18ubkUoKCk9Pnt2YXIgej1tKCksRT1sKCksQT1rKCksRj1hLkgoKSxDPWYoKTtpZih6KXt6PUM/LmNvdW50RG93blNlY3N8fDEwO3ZhciBHPXoqMUUzO2lmKEUmJkE+MCllKE1hdGgubWF4KDAsKHotQSkveikpO2Vsc2V7dmFyIEQ9KDAsXy5lbCkoKSxIPSgpPT57dmFyIE09KDAsXy5lbCkoKS1EO009TWF0aC5taW4oTS9HLDEpO2UoTSk7TT49MT8od2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lKFIpLEY/LmlzUmVhZHk/LigpJiZiKCEwKSk6Uj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKEgpfTt2YXIgUj13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKEgpO18uWXUoKCk9Pnt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoUil9KX19ZWxzZSBlKDApfSwiR1NPdHdiIik7dmFyIHI9KCk9PntYUygxMTUxMjkpO2EuRygpLlMoe3hmOiEwfSl9LHQ9Xy5OKCgpPT5gJHstMjExKihkKCkrMSl9YCx2b2lkIDAsIlY1c213ZCIpLAp2PSgpPT5mKCk/LmJhY2tncm91bmQ7cmV0dXJuIF8uSygicGZwLWF1dG9uYXYiLHtjbGFzczpfLlAoInl0UGZwQXV0b25hdkhvc3QiLGEuY2xhc3NOYW1lLHt5dFBmcEF1dG9uYXZWaXNpYmxlOm19KSwib246Y2xpY2siOmZ1bmN0aW9uKHope3ouc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6YS5HLHRodW1ibmFpbERldGFpbHM6dn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdlNjcmltIn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBBdXRvbmF2SGVhZGVyIn0sXy5LKF8uVix7dGV4dDooKT0+ZigpPy50aXRsZSxtYTohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmYoKT8udmlkZW9UaXRsZSxtYTohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZCeWxpbmUifSxfLksoXy5WLHt0ZXh0OigpPT5mKCk/LmJ5bGluZSxtYTohMH0pKSwKXy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBBdXRvbmF2UGxheUJ1dHRvbiIsIm9uOmNsaWNrIjpjLGVsOm4sImFyaWEtbGFiZWwiOigpPT5mKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5hY2Nlc3NpYmlsaXR5Py5sYWJlbH0sXy5LKCJzdmciLHtjbGFzczoieXRQZnBBdXRvbmF2UmluZyIsdmlld0JveDoiMCAwIDcyIDcyIn0sXy5LKCJjaXJjbGUiLHtjeDoiMzYiLGN5OiIzNiIscjoiMzEuNSIsZmlsbDoid2hpdGUiLCJmaWxsLW9wYWNpdHkiOiIwLjMifSksXy5LKCJjaXJjbGUiLHtjeDoiLTM2IixjeToiMzYiLHI6IjMzLjUiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0IixmaWxsOiJub25lIix0cmFuc2Zvcm06InJvdGF0ZSgtOTApIiwic3Ryb2tlLWRhc2hhcnJheSI6IjIxMSIsc3R5bGU6Xy5JRSh7InN0cm9rZS1kYXNob2Zmc2V0Ijp0fSl9KSksXy5LKF8uTUQse2ljb246IlBMQVlFUl9QTEFZIixjbGFzc05hbWU6Inl0UGZwQXV0b25hdlBsYXlJY29uIn0pKSwKXy5LKF8uVyx7ZGF0YTooKT0+ZigpPy5jYW5jZWxCdXR0b259LHtidXR0b25SZW5kZXJlcjooe2RhdGE6en0pPT5fLksoImRpdiIse2VsOnAsY2xhc3M6Inl0UGZwQXV0b25hdkNhbmNlbEJ1dHRvbiJ9LF8uSyhfLnBPLHtkYXRhOnosdGc6cixzdG9wUHJvcGFnYXRpb246ITAsYnV0dG9uT3ZlcnJpZGVzOntzdHlsZToib3ZlcmxheSJ9fSkpfSkpKX0pKX0sIlhkIik7dmFyIG1XPV8uTChhPT5fLksoInBmcC1lbmRzY3JlZW4tdmlkZW8tcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEuZGF0YSgpLm5hdmlnYXRpb25FbmRwb2ludCxhcmlhTGFiZWw6KCk9Pl8uYU4oYS5kYXRhKCkudGl0bGUpfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YS5kYXRhKCkudGh1bWJuYWlsLGNsYXNzTmFtZToieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyVGh1bWJuYWlsIn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXkifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJPdmVybGF5VGl0bGVCeWxpbmUifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlLAptYTohMCx5YzohMH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJCeWxpbmUifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS5zaG9ydEJ5bGluZVRleHQsbWE6ITAseWM6ITB9KSxfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5zaG9ydFZpZXdDb3VudFRleHQsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCwiIFx1MjAyMiAiLF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnNob3J0Vmlld0NvdW50VGV4dCxtYTohMH0pKX0pKSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyRHVyYXRpb24ifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS5sZW5ndGhUZXh0LG1hOiEwfSkpKSkpLCJZZCIpO3ZhciBabWE9Xy5MKGE9PntmdW5jdGlvbiBiKEQpe0Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhEKXt0KCExKTtELnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGQoRCl7dCghMCk7RD8uc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZSgpe0coKX1mdW5jdGlvbiBmKEQpe3ZhciBIPUYudmFsdWU7SCYmKEguc2Nyb2xsVG8oe2xlZnQ6SC5zY3JvbGxMZWZ0LUguY2xpZW50V2lkdGgqLjgsYmVoYXZpb3I6InNtb290aCJ9KSxELnN0b3BQcm9wYWdhdGlvbigpKX1mdW5jdGlvbiBoKEQpe3ZhciBIPUYudmFsdWU7SCYmKEguc2Nyb2xsVG8oe2xlZnQ6SC5zY3JvbGxMZWZ0K0guY2xpZW50V2lkdGgqLjgsYmVoYXZpb3I6InNtb290aCJ9KSxELnN0b3BQcm9wYWdhdGlvbigpKX12YXIgaz1fLk4oKCk9PmEuVWMoKS53YXRjaE5leHRSZXNwb25zZSx2b2lkIDAsIldYNlJCZSIpLGw9Xy5OKCgpPT5NUyhrKCkpLmZpbHRlcihEPT5ELmVuZFNjcmVlblZpZGVvUmVuZGVyZXIpLHZvaWQgMCwKIlZWVWRyYyIpLG09Xy5OKCgpPT57dmFyIEQ9YS5VYygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyPy5zdGFydE1zO0Q9RD8rRDp2b2lkIDA7cmV0dXJuIGEuRygpLnBsYXllclN0YXRlPT09MiYmbD8uKCk/Lmxlbmd0aD4wJiYoIUR8fGEuRygpLnZhKjFFMzxEKX0sdm9pZCAwLCJwUVNRS2IiKSxuPV8uTigoKT0+YS5VYygpLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnZpZGVvSWQsdm9pZCAwLCJ5UWJOMWUiKSxbcCxyXT1fLkFDKCgpPT57bigpO3JldHVybiExfSksdD1yLFt2LHpdPV8uSighMSx2b2lkIDAsInFRUjczYiIpLFtFLEFdPV8uSighMSx2b2lkIDAsInZjYTNJZCIpLEY9Xy52RSgiZGl2IiksQz1fLk4oKCk9PmEuVWMoKS5wbGF5ZXJSZXNwb25zZT8udmlkZW9EZXRhaWxzPy5hdXRob3I/PyIiLHZvaWQgMCwib0pFMHNkIiksRz0oKT0+e3ZhciBEPUYudmFsdWU7RCYmKHooRC5zY3JvbGxMZWZ0PjEpLEEoRC5zY3JvbGxMZWZ0PApELnNjcm9sbFdpZHRoLUQuY2xpZW50V2lkdGgtMSkpfTtfLm5FKCgpPT57cCgpO20oKSYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57RygpfSl9LCJ0QTExN2QiKTtyZXR1cm4gXy5LKCJwZnAtbW9yZS12aWRlb3MiLHtjbGFzczpfLlAoInl0UGZwTW9yZVZpZGVvc0hvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8uTyx7QTooKT0+bSgpJiYhcCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc092ZXJsYXkiLCJvbjpjbGljayI6Yn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zSGVhZGVyIn0sXy5LKCJoMyIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NUaXRsZSJ9LCgpPT5fLiROLnp0LnJlcGxhY2UoIiRjaGFubmVsX25hbWVfcGxhY2Vob2xkZXIiLEMoKSkpLF8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc0Nsb3NlQnV0dG9uIiwib246Y2xpY2siOmQsImFyaWEtbGFiZWwiOl8uJE4ueHR9LF8uSyhfLk1ELHtpY29uOiJDTE9TRSIsCmNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zQ2xvc2VJY29uIn0pKSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0Q29udGFpbmVyIn0sXy5LKF8uTyx7QTp2LHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZUxlZnQiLCJvbjpjbGljayI6ZiwiYXJpYS1sYWJlbCI6Xy4kTi5mb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fTEVGVCIsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1ZpZGVvTGlzdCIsZWw6Riwib246c2Nyb2xsIjplfSxfLksoXy5XLHtkYXRhOmwsSGs6ITB9LHtlbmRTY3JlZW5WaWRlb1JlbmRlcmVyOih7ZGF0YTpEfSk9Pl8uSyhtVyx7ZGF0YTpELGNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zVmlkZW9JdGVtIn0pfSkpLF8uSyhfLk8se0E6RSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVSaWdodCIsCiJvbjpjbGljayI6aCwiYXJpYS1sYWJlbCI6Xy4kTi5lb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQiLGNsYXNzTmFtZToieXRQZnBNb3JlVmlkZW9zUGFkZGxlSWNvbiJ9KSl9KSkpfSksXy5LKF8uTyx7QTooKT0+bSgpJiZwKCksdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zTW9yZVZpZGVvc0J1dHRvbiIsIm9uOmNsaWNrIjpjLCJhcmlhLWxhYmVsIjpfLiROLmJvfSxfLiROLmJvKX0pKX0sIiRkIik7dmFyICRtYT1fLkwoYT0+Xy5LKCJwZnAtZW5kc2NyZWVuLXBsYXlsaXN0LXJlbmRlcmVyIix7Y2xhc3M6Xy5QKCJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJIb3N0IixhLmNsYXNzTmFtZSl9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hLmRhdGEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsYXJpYUxhYmVsOigpPT5fLmFOKGEuZGF0YSgpLnRpdGxlKX0sXy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6KCk9PmEuZGF0YSgpLnRodW1ibmFpbCxjbGFzc05hbWU6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlclRodW1ibmFpbCJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5In0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyT3ZlcmxheVRpdGxlIn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGl0bGUifSxfLksoXy5WLHt0ZXh0OigpPT5hLmRhdGEoKS50aXRsZSwKbWE6ITB9KSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJCb3R0b21PdmVybGF5In0sXy5LKF8uTUQse2ljb246IlBMQVlMSVNUUyIsY2xhc3NOYW1lOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJJY29uIn0pLF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnZpZGVvQ291bnRUZXh0LHljOiEwfSkpKSksImFlIik7dmFyIGFuYT1fLkwoYT0+e2Z1bmN0aW9uIGIoRil7Ri5zdG9wUHJvcGFnYXRpb24oKTtGPXooKS5sZW5ndGg7bSgobCgpLXIoKStGKnIoKSklRil9ZnVuY3Rpb24gYyhGKXtGLnN0b3BQcm9wYWdhdGlvbigpO0Y9eigpLmxlbmd0aDttKChsKCkrcigpKSVGKX12YXIgZD1fLnZFKCJkaXYiKSxbZSxmXT1fLkooW10sdm9pZCAwLCJFclVRSWUiKSxbaCxrXT1fLkooMCx2b2lkIDAsIldNZVlvZCIpLGw9aCxtPWssW24scF09Xy5KKDAsdm9pZCAwLCJPelBTa2UiKSxyPW4sW3QsLHZdPV8uSigwLHZvaWQgMCwibENUbXBlIik7Xy5EUCgicmVzaXplIiwoKT0+e3YoRj0+RisxKX0pO3ZhciB6PV8uTigoKT0+TVMoYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwicnkyRFQiKSxFPV8uTigoKT0+blUoYS5HLGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSx2b2lkIDAsIkZoVVpyIiksQT1fLk4oKCk9PnIoKSYmeigpLmxlbmd0aD5yKCksdm9pZCAwLCJVd0VjNWIiKTtfLm5FKCgpPT57dCgpOwp2YXIgRj16KCksQz1sKCk7aWYoRSgpJiZkLnZhbHVlKWlmKEYubGVuZ3RoKXt2YXIgRz1kLnZhbHVlLEQ9Ry5jbGllbnRXaWR0aDtHPUcuY2xpZW50SGVpZ2h0O2xldCBUPUYubGVuZ3RoO2Zvcih2YXIgSD0yLFI9MixNPU1hdGgubWF4KEQvOTYsMiksUz1NYXRoLm1heChHLzU0LDIpLFk9KFQtMSkqNDtZPjAmJihIPE18fFI8Uyk7KXt2YXIgcGE9SC8yLG9hPVIvMixVPUg8PU0tMiYmWT49b2EqNCxoYT1SPD1TLTImJlk+PXBhKjQ7aWYoKHBhKzEpL29hKm5XLyhEL0cpPkQvRy8ocGEvKG9hKzEpKm5XKSYmaGEpWS09cGEqNCxSKz0yO2Vsc2UgaWYoVSlZLT1vYSo0LEgrPTI7ZWxzZSBpZihoYSlZLT1wYSo0LFIrPTI7ZWxzZSBicmVha31sZXQge2NvbHVtbkNvdW50OmJhLFl6OmFhLFJ6Ok9hfT17Y29sdW1uQ291bnQ6SCxZejpSLFJ6Oll9O0g9ITE7T2E+PTEyJiZUKjQtT2E8PTYmJihhYT49NHx8YmE+PTQpJiYoSD0hMCk7Uj1iYSo5NjtNPWFhKjU0O1M9TWF0aC5taW4oUi9NPEQvRz8KRy9NOkQvUiwyKTtSPU1hdGguZmxvb3IoTWF0aC5taW4oRCxSKlMpKTtNPU1hdGguZmxvb3IoTWF0aC5taW4oRyxNKlMpKTtsZXQge1NBOkpiLFJBOnphfT17U0E6UixSQTpNfTtSPUpiKzQ7TT16YSs0O1M9MDtZPVtdO2ZvcihwYT0wO3BhPGJhO3BhKyspZm9yKG9hPTA7b2E8YWE7b2ErKylpZihVPTAsSCYmcGE+PWJhLTImJm9hPj1hYS0yP1U9MTpvYSUyPT09MCYmcGElMj09PTAmJihVPTIpLGhhPVMlVCxVIT09MCl7bGV0IExiPU1hdGguZmxvb3IoTSpvYS9hYSksY2M9TWF0aC5mbG9vcihSKnBhL2JhKTtZLnB1c2goe2RhdGE6RlsoaGErQyklVF0sbGVmdDpjYysoRC1KYikvMix0b3A6TGIrKEctemEpLzIsd2lkdGg6TWF0aC5mbG9vcihSKihwYStVKS9iYSktY2MtNCxoZWlnaHQ6TWF0aC5mbG9vcihNKihvYStVKS9hYSktTGItNH0pO1MrK312YXIge1N5Om1hLGluZGV4OnRhfT17U3k6WSxpbmRleDpTfTtmKG1hKTtwKHRhKX1lbHNlIGYoW10pfSwid2VZNEIiKTtyZXR1cm4gXy5LKCJwZnAtdmlkZW8td2FsbC1lbmRzY3JlZW4iLAp7Y2xhc3M6Xy5QKCJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlbkhvc3QiLGEuY2xhc3NOYW1lLHt5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpc2libGU6RSx5dFBmcFZpZGVvV2FsbEVuZHNjcmVlbklzT2JzY3VyZWQ6YS5VeH0pLCJvbjpjbGljayI6ZnVuY3Rpb24oRil7Ri5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6RSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblZpZGVvTGlzdENvbnRhaW5lciJ9LF8uSyhfLk8se0EsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVMZWZ0Iiwib246Y2xpY2siOmIsImFyaWEtbGFiZWwiOl8uJE4uZm99LF8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX0xFRlQiLGNsYXNzTmFtZToieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0IiwKZWw6ZH0sXy5LKF8uZ0cse3BhOmV9LEY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9JdGVtIixzdHlsZTpfLklFKHt0b3A6KDAsXy5aSykoKCk9PkYudG9wKSxsZWZ0OigwLF8uWkspKCgpPT5GLmxlZnQpLHdpZHRoOigwLF8uWkspKCgpPT5GLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PkYuaGVpZ2h0KX0pfSxfLksoXy5XLHtkYXRhOigpPT5GLmRhdGF9LHtlbmRTY3JlZW5WaWRlb1JlbmRlcmVyOm1XLGVuZFNjcmVlblBsYXlsaXN0UmVuZGVyZXI6JG1hfSkpKSksXy5LKF8uTyx7QSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZVJpZ2h0Iiwib246Y2xpY2siOmMsImFyaWEtbGFiZWwiOl8uJE4uZW99LF8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX1JJR0hUIixjbGFzc05hbWU6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlSWNvbiJ9KSl9KSl9KSl9LCJjZSIpLG5XPTk2LzU0O3ZhciBvVz1fLkwoKHtqZTphfSk9Pnt2YXIgYj1fLk4oKCk9PmEoKSx2b2lkIDAsIkVUZ2U3ZCIpLFtjLCxkXT1fLkooMCx2b2lkIDAsIlpDQklzIik7Xy5uRSgoKT0+e2IoKSYmZChlPT5lKzEpfSwiS3NYM3JmIik7cmV0dXJuIF8uSygicGxheWVyLWFjdGlvbi1pbmRpY2F0b3IiLHtjbGFzczoieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckhvc3QifSxfLksoXy5nRyx7cGE6KCk9PmIoKT9bYygpXTpbXX0sKCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGxheWVyQ29udHJvbHNQbGF5ZXJBY3Rpb25JbmRpY2F0b3JBY3Rpb24ifSxfLksoXy5NRCx7aWNvbjpiLGNsYXNzTmFtZToieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckljb24ifSkpKSl9LCJlZSIpO29XLmlkb21Db21wYXQ9ITA7dmFyIHBXPV8uTCgoe0c6YSxTbTpiLHBsYXllck92ZXJsYXlSZW5kZXJlcjpjLFZ3OmQsY2xhc3NOYW1lOmV9KT0+e3ZhciBmPSgpPT5fLkIoYj8uKCk/LnBsYXllckJhckFjdGlvbkJ1dHRvbixfLlZMKTtyZXR1cm4gXy5LKCJwbGF5ZXItdGltZS1kaXNwbGF5Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheUhvc3QiLGUpfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlUaW1lQ2h1bmtzIix7eXR3UGxheWVyVGltZURpc3BsYXlQaWxsOigpPT4hZD8uKCkseXR3UGxheWVyVGltZURpc3BsYXlMaXZlRG90OigpPT5hKCkuaXNMaXZlLHl0d1BsYXllclRpbWVEaXNwbGF5TGl2ZUhlYWQ6KCk9Pm9VKGEoKSl9KSwib246Y2xpY2siOmZ1bmN0aW9uKGgpe2lmKGEoKS5pc0xpdmUmJiFvVShhKCkpKXthKCkuSD8uc2Vla1RvKEluZmluaXR5KTt2YXIgaz1VUShhKCkuSCk7ayYmYSgpLlMoe3ZpZGVvRHVyYXRpb246a30pfWguc3RvcFByb3BhZ2F0aW9uKCl9fSwKXy5LKCJkaXYiLHtkaXI6Imx0ciJ9LF8uSyhibmEse0c6YSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6Y30pLF8uSyhfLk8se0E6KCk9PiFvVShhKCkpLHRoZW46KCk9Pl8uSyhjbmEse0c6YX0pfSkpKSxfLksoXy5PLHtBOigpPT57dmFyIGg9Xy5CKGI/LigpPy5wbGF5ZXJCYXIsRFMpP18uQihrVChhKCksXy5CKGI/LigpPy5wbGF5ZXJCYXIsRFMpKSxlVCk/LnRpdGxlOnZvaWQgMCxrPWYoKT8udGV4dDtyZXR1cm4gaD8/a30sdGhlbjpoPT5fLksoZG5hLHt0aXRsZTpoLGJ1dHRvbjpmLEc6YX0pfSkpfSwiZmUiKSxibmE9Xy5MKCh7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpifSk9Pnt2YXIgYz0oKT0+YSgpLmlzTGl2ZT9fLiROLmxvOkNUKGEoKS52YSk7cmV0dXJuIF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVFbGFwc2VkIn0sXy5LKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLk8se0E6KCk9PmI/LigpPy5saXZlSW5kaWNhdG9yVGV4dCwKdGhlbjpkPT5fLksoXy5WLHt0ZXh0OmR9KSxXOigpPT5fLksoXy5JQixudWxsLGMpfSkpLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHkifSwoKT0+e2lmKGEoKS5pc0xpdmUpcmV0dXJuIF8uJE4ubG87dmFyIGQ9UFIoe3NlY29uZHM6YSgpLnZhfSk7cmV0dXJuYCR7Xy4kTi5WdH0gJHtkfWB9KSl9LCJnZSIpLGNuYT1fLkwoKHtHOmF9KT0+e3ZhciBiPSgpPT57aWYob1UoYSgpKSl2YXIgYz0wO2Vsc2V7Yz1NYXRoO3ZhciBkPWMucm91bmQsZT1hKCk7Yz1kLmNhbGwoYyxlLmlzRHJhZ2dpbmc/ZS5DYTplLnZhKS1NYXRoLnJvdW5kKFVRKGEoKS5IKSl9cmV0dXJuIGN9O3JldHVybiBfLksoXy5JQixudWxsLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVTZWNvbmQifSksXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZURlbGltaXRlciIsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LAoiLyIpLF8uSygic3BhbiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlUaW1lU2Vjb25kIiwieXR3UGxheWVyVGltZURpc3BsYXlUaW1lRHVyYXRpb24iKX0sXy5LKCJzcGFuIix7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LCgpPT5hKCkuaXNMaXZlP0NUKGIoKSk6Q1QoYSgpLnZpZGVvRHVyYXRpb24pKSxfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlTY3JlZW5SZWFkZXJPbmx5In0sKCk9PntpZihhKCkuaXNMaXZlKXJldHVybiBDVChiKCkpO3ZhciBjPVBSKHtzZWNvbmRzOmEoKS52aWRlb0R1cmF0aW9ufSk7cmV0dXJuYCR7Xy4kTi5VdH0gJHtjfWB9KSkpfSwiaGUiKSxkbmE9Xy5MKCh7dGl0bGU6YSxidXR0b246YixHOmN9KT0+e2Z1bmN0aW9uIGQoZil7Yj8uKCk/LmNvbW1hbmQmJihfLkFKKGIoKS5jb21tYW5kLHt9LCExKSxmLnN0b3BQcm9wYWdhdGlvbigpKX12YXIgZT1fLk4oKCk9PmMoKS5iYT8uRWUsdm9pZCAwLCJqZzJPTWMiKTtyZXR1cm4gXy5LKF8uTywKe0E6Yix0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQWN0aW9uQ29udGFpbmVyIn0sXy5LKCJidXR0b24iLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5UGlsbCIsInl0d1BsYXllclRpbWVEaXNwbGF5UGxheWVyQmFyQnV0dG9uIiksIm9uOmNsaWNrIjpkLCJhcmlhLWxhYmVsIjooKT0+Xy5hTihmKCkudGV4dCl9LF8uSyhfLlYse3RleHQ6YSx5YzohMH0pLF8uSyhfLk8se0E6KCk9PiEoXy54KCJtd2ViX3VzZV9vbmx5X2NoYXB0ZXJfdGl0bGVfaW5fZnVsbHNjcmVlbiIpJiZjKCkuaXNGdWxsc2NyZWVuKSx0aGVuOigpPT5fLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVF9DQUlSTyIsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheUNoZXZyb24ifSl9KSkpLFc6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheUNoYXB0ZXJUZXh0Iix7eXR3UGxheWVyVGltZURpc3BsYXlGdWxsc2NyZWVuQ29udHJvbHNBbHdheXNPbjplfSl9LApfLksoXy5WLHt0ZXh0OmEseWM6ITB9KSl9KX0sImllIik7dmFyIHFXPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMuZ249YTt0aGlzLmxpc3RlbmVycz1bXTt0aGlzLmNvbnRleHQ9Yjt0aGlzLm89ZDt0aGlzLnY9cVUodGhpcy5VYz8uSCk7dGhpcy5EPXRoaXMuUy5iaW5kKHRoaXMpO3RoaXMuc3RhdGU9ey4uLmRUKCksLi4uY307YT10aGlzLnVkKCk7W3RoaXMuQix0aGlzLmpdPV8uSihhLHZvaWQgMCwicDNOd3EiKX1TKGEpe2lmKCFxbGEoYSx0aGlzLnN0YXRlKSl7dGhpcy5zdGF0ZT17Li4udGhpcy5zdGF0ZSwuLi5hfTthPV8ueCgicGxheWVyX2NvbnRyb2xzX2xvZ19jcmVhdGlvbl9lbmFibGVkIik7dmFyIGI9LTE7YSYmIXBVKCkmJihiPSgwLF8uZWwpKCkpO2EmJl8uQXEoInBjdV9zIik7dGhpcy5qJiZ0aGlzLmoodGhpcy51ZCgpKTthJiYoXy5BcSgicGN1X3NlIiksXy5BcSgicGN1X3JzIikpO3RoaXMuZ24odGhpcy51ZCgpKTthJiYoXy5BcSgicGN1X3JlIikscGxhKGIpLF8uamYuR2EoKCk9PntfLkFxKCJwY3VfYXAiKX0sCjgpKX19dWQoKXt2YXIgYT10aGlzLm8/cVUodGhpcy5vKCkpOnFVKHRoaXMuVWM/LkgpO3JldHVybnsuLi50aGlzLnN0YXRlLFM6dGhpcy5ELEg6YSx0YTp0aGlzLmNvbnRleHQudGEsVGM6dGhpcy5jb250ZXh0LlRjLEdjOnRoaXMuY29udGV4dC5HYyxiYTp0aGlzLmNvbnRleHQuYmF9fWdldERhdGEoKXtyZXR1cm4gdGhpcy5VY319O3ZhciByVz1fLkwoYT0+e2Z1bmN0aW9uIGIoWSl7TT1ILmFuaW1hdGUoW3tvZmZzZXQ6MCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsb3BhY2l0eTpZfSx7b2Zmc2V0OjEsb3BhY2l0eToxfV0se2R1cmF0aW9uOjIwMCxmaWxsOiJmb3J3YXJkcyJ9KTtNLmFkZEV2ZW50TGlzdGVuZXIoImZpbmlzaCIsKCk9PntNPXZvaWQgMDtlKCk7Rj0ibGluZ2VyaW5nIn0pfWZ1bmN0aW9uIGMoWSxwYT0hMSxvYT0hMSl7dmFyIFU9W107VS5wdXNoKHtvZmZzZXQ6MCx0cmFuc2Zvcm06YHRyYW5zbGF0ZVgoJHtDPT09LTE/MjA6LTIwfXB4KWAsb3BhY2l0eTpwYT8iMCI6IjEifSk7cGEmJlUucHVzaCh7b2Zmc2V0Oi41LG9wYWNpdHk6IjEifSk7VS5wdXNoKHtvZmZzZXQ6MSx0cmFuc2Zvcm06InRyYW5zbGF0ZVgoMCkiLG9wYWNpdHk6IjEifSk7cGE9WS5hbmltYXRlKFUse2R1cmF0aW9uOjQwMCxlYXNpbmc6ImN1YmljLWJlemllcigwLjA1LCAwLjAwLCAwLjAwLCAxLjAwKSJ9KTsKWT1ZLnF1ZXJ5U2VsZWN0b3IoInBhdGgiKTtVPVtdO3ZhciBoYT17b2Zmc2V0OjAsZDpDPT09LTE/J3BhdGgoIk0gMTggNCBMIDE4IDE2IEwgMTggMjgiKSc6J3BhdGgoIk0gNCA0IEwgNCAxNiBMIDQgMjgiKSd9O29hJiYoaGEuZmlsdGVyPSJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwLjgpKSIpO1UucHVzaChoYSk7b2EmJlUucHVzaCh7b2Zmc2V0Oi44LGZpbHRlcjoiZHJvcC1zaGFkb3coMCAwIDAuNXB4IHJnYmEoMCwgMCwgMCwgMC44KSkifSk7aGE9e29mZnNldDoxLGQ6Qz09PS0xPydwYXRoKCJNIDE4IDQgTCA2IDE2IEwgMTggMjgiKSc6J3BhdGgoIk0gNCA0IEwgMTYgMTYgTCA0IDI4IiknfTtvYSYmKGhhLmZpbHRlcj0iZHJvcC1zaGFkb3coMCAwIDAuNXB4IHJnYmEoMCwgMCwgMCwgMCkpIik7VS5wdXNoKGhhKTtZLmFuaW1hdGUoVSx7ZHVyYXRpb246MzMzLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIixmaWxsOiJmb3J3YXJkcyJ9KTsKcmV0dXJuIHBhfWZ1bmN0aW9uIGQoKXt2YXIgWT1ILnF1ZXJ5U2VsZWN0b3IoIi55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpLmNsb25lTm9kZSghMCk7WS5jbGFzc0xpc3QuYWRkKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93QWRkaXRpb25hbCIpO1kuY2xhc3NMaXN0LnJlbW92ZSgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKTtILmFwcGVuZENoaWxkKFkpO2MoWSwhMCwhMCkuYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e1kucmVtb3ZlKCl9KX1mdW5jdGlvbiBlKCl7Y2xlYXJUaW1lb3V0KFIpO1I9c2V0VGltZW91dCgoKT0+e2YoKX0sXy5zaigid2ViX3BsYXllcl9zZWVrX292ZXJsYXlfbGluZ2VyX2R1cmF0aW9uIiwzMDApKX1mdW5jdGlvbiBmKFk9MSxwYT0hMCl7TT1ILmFuaW1hdGUoW3tvZmZzZXQ6MCxvcGFjaXR5Oll9LHtvZmZzZXQ6MSxvcGFjaXR5OjB9XSx7ZHVyYXRpb246MjAwLGZpbGw6ImZvcndhcmRzIixlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSJ9KTsKcGEmJihNLmFkZEV2ZW50TGlzdGVuZXIoImZpbmlzaCIsKCk9PntTPy4oKTtNPXZvaWQgMDtrKCk7QSghMSl9KSxGPSJmYWRpbmctb3V0Iil9ZnVuY3Rpb24gaCgpe2lmKCFNKXJldHVybiAwO3ZhciBZPU51bWJlcihnZXRDb21wdXRlZFN0eWxlKEgpLm9wYWNpdHkpO00uY2FuY2VsKCk7TT12b2lkIDA7cmV0dXJuIFl9ZnVuY3Rpb24gaygpe0Y9ImhpZGRlbiI7SD1DPXZvaWQgMDtjbGVhclRpbWVvdXQoUil9dmFyIGw9Xy5OKCgpPT5hLkcoKS5KZCx2b2lkIDAsInBkbG1ZYiIpLG09Xy5OKCgpPT5hLkcoKS5LYix2b2lkIDAsImFQUzlKIiksbj1fLk4oKCk9PmEuRygpLkgsdm9pZCAwLCJ4dkJybGYiKSxbcCxyXT1fLkooIiIsdm9pZCAwLCJWSnVnemQiKSxbdCx2XT1fLkooIiIsdm9pZCAwLCJZU0tTT2QiKSxbeixFXT1fLkooITEsdm9pZCAwLCJPc21pbmMiKSxBPUUsRj0iaGlkZGVuIixDLEcsRCxILFI9MCxNLFM7Xy5uRSgoKT0+e2lmKEVsZW1lbnQucHJvdG90eXBlLmFuaW1hdGUpe3ZhciBZPQpsKCk7aWYoIShtKCk8PTF8fFk9PT0wKSl7QSghMCk7aWYoQyYmWSE9PUMpe2xldCBwYT0xO00mJihwYT1oKCkpO2YocGEsITEpO2soKX1DPVk7SD1DPT09LTE/RzpEO2lmKEcmJkQpaWYoWT1uKCksWT1ZPy5pc1JlYWR5Py4oKT9ZLmdldEN1cnJlbnRUaW1lKCk6MCxZPUM9PT0tMSYmWTw9MTA/MTA6KG0oKS0xKSoxMCxZPWAke0M9PT0tMT8iXHUyMjEyIjoiKyJ9ICR7WX1gLEM9PT0tMT9yKFkpOnYoWSksRj09PSJoaWRkZW4ifHxGPT09ImZhZGluZy1vdXQiKVk9MCxGPT09ImZhZGluZy1vdXQiJiYoWT1oKCksZCgpKSxiKFkpLEYhPT0iZmFkaW5nLW91dCImJmMoSC5xdWVyeVNlbGVjdG9yKCIueXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKSksRj0iZmFkaW5nLWluIjtlbHNlIGlmKEY9PT0iZmFkaW5nLWluInx8Rj09PSJsaW5nZXJpbmciKUgucXVlcnlTZWxlY3RvcigiLnl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24iKS5hbmltYXRlKFt7b2Zmc2V0OjAsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkiLAp0cmFuc2Zvcm06InNjYWxlKDEpIn0se29mZnNldDouNjQsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkiLHRyYW5zZm9ybTpgc2NhbGUoJHtfLnNqKCJ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9kdXJhdGlvbl9idW1wX3NjYWxlIil8fC45fSlgfSx7b2Zmc2V0OjEsdHJhbnNmb3JtOiJzY2FsZSgxKSJ9XSx7ZHVyYXRpb246MTg0fSksZCgpLEY9PT0ibGluZ2VyaW5nIiYmZSgpfX19LCJoem55RCIpO18uWXUoKCk9PntoKCk7aygpfSk7cmV0dXJuIF8uSygieXR3LXBsYXllci1zZWVrLW92ZXJsYXkiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlIb3N0IixzdHlsZTpfLklFKHtkaXNwbGF5OigpPT56KCk/ImJsb2NrIjoibm9uZSJ9KX0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uIiwieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25CYWNrIiksZWw6Xy5yRihZPT57Rz1ZfSl9LF8uSygiZGl2IiwKe2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyIsInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50Iil9LF8uSygic3ZnIix7dmlld0JveDoiMCAwIDIyIDMyIix3aWR0aDoiMjIiLGhlaWdodDoiMjQiLGNsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3ZnIn0sXy5LKCJwYXRoIix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoIixkOiJNIDE4IDQgTCA2IDE2IEwgMTggMjgiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsZmlsbDoibm9uZSJ9KSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24ifSxwKSksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QW5pbWF0aW9uIiwieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb25Gb3J3YXJkIiksZWw6Xy5yRihZPT57RD1ZfSl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5RHVyYXRpb24ifSwKdCksXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3ciLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpfSxfLksoInN2ZyIse3ZpZXdCb3g6IjAgMCAyMiAzMiIsd2lkdGg6IjIyIixoZWlnaHQ6IjI0IixjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1N2ZyJ9LF8uSygicGF0aCIse2NsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGF0aCIsZDoiTSA0IDQgTCAxNiAxNiBMIDQgMjgiLHN0cm9rZToid2hpdGUiLCJzdHJva2Utd2lkdGgiOiI0Iiwic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsZmlsbDoibm9uZSJ9KSkpKSl9LCJrZSIpO3ZhciB0VTt2YXIgW2VuYSxzV109Xy5KKCExLHZvaWQgMCwiR05XM1MiKSxbQ1UsRFVdPV8uSighMSx2b2lkIDAsIkdBRWtKIiksW3RXLHRsYV09Xy5KKHZvaWQgMCx2b2lkIDAsIk9WUDFlZSIpO3ZhciBCVT0wO3ZhciBFVT12b2lkIDA7dmFyIHpVPTAsSFU9MCxHVT0wLHlVPTAsQVU9ITEsRlU9MDt2YXIgTlU7dmFyIHVXPVt7cmVnaXN0ZXI6YT0+e3ZhciBiPXdsYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25Wb2x1bWVDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9eGxhKGEpO2E9YSgpLkg7YT8uYWRkRXZlbnRMaXN0ZW5lcigiY2FwdGlvbnNjaGFuZ2VkIixiKTthPy5hZGRFdmVudExpc3RlbmVyKCJjYXB0aW9uc3NldHRpbmdzY2hhbmdlZCIsYik7YT8uYWRkRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjooYSxiKT0+e2I9QmxhKGEsYik7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9RGxhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJTRUVLX0NPTVBMRVRFIixiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPVBVKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsCmIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjooYSxiKT0+e2I9RWxhKGEsYik7YSgpPy5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9RmxhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9SGxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUlsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUdsYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25GdWxsc2NyZWVuQ2hhbmdlIiwKYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1KbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJvcmllbnRhdGlvbmNoYW5nZSIsYil9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1LbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZ1bGxzY3JlZW5lcnJvciIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmVycm9yIixiKX19fSx7cmVnaXN0ZXI6KGEsYik9Pnt2YXIgYz1MbGEoYSxiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGxheWVyLWF1dG9uYXYtcGF1c2UiLGMpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBsYXllci1hdXRvbmF2LXBhdXNlIixjKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPU1sYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYXV0b25hdi10b2dnbGUtY2xpY2siLApiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJhdXRvbmF2LXRvZ2dsZS1jbGljayIsYil9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1ObGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uTG9vcFJhbmdlQ2hhbmdlIixiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e2lmKCFfLngoImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyIpKXJldHVybigpPT57fTt2YXIgYj16bGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLGIpfX19XTt2YXIgVmxhPV8uTChhPT57dmFyIGI9Xy5OKCgpPT5hLkgoKSx2b2lkIDAsInE4V3NLZiIpLGM9Xy5OKCgpPT5hLmRhdGEoKSx2b2lkIDAsIms2VWVWIiksZD1fLk4oKCk9Pnt2YXIgQz1hLmNvbnRleHQoKTtyZXR1cm4gbmV3IHFXKCgpPT57fSxDLHthdXRvbmF2RW5hYmxlZDpDLnRhLmRlKCksZWE6ITB9LGIpfSx2b2lkIDAsIk9BeElKYiIpLGU9Xy5OKCgpPT4oMCxkKCkuQikoKSx2b2lkIDAsIlV1MVJpIiksZj1fLk4oKCk9Pnt2YXIgQz1lKCk7cmV0dXJuIF8ueCgibXdlYl9wY19saXZlX2R2cl9rcyIpPyExOkMuaXNMaXZlJiYhQy5pc0xpdmVEdnJFbmFibGVkfSx2b2lkIDAsImN0VWczZCIpLGg9Xy5OKCgpPT57dmFyIEM9ZigpO3JldHVybiByVSgpJiYhQ30sdm9pZCAwLCJuSmRrMGMiKSxrPV8uTigoKT0+YygpLnBsYXllclJlc3BvbnNlPy5wbGF5YWJpbGl0eVN0YXR1c3x8YygpLmpiPy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsdm9pZCAwLCJCVlhDOSIpLGw9Xy5OKCgpPT4KZSgpLmJhPy5aaCYmJFMoZSgpLGsoKSksdm9pZCAwLCJNSHZId2YiKSxtPV8uTigoKT0+blUoZSxjKCkud2F0Y2hOZXh0UmVzcG9uc2UpLHZvaWQgMCwiY3R4VXMiKSxuPV8uTigoKT0+bVUoZSxCUyhjKCkud2F0Y2hOZXh0UmVzcG9uc2UpKSx2b2lkIDAsIkdMa0JVIikscD1fLk4oKCk9Pnt2YXIgQz1sKCksRz1tKCksRD1uKCksSD1lKCkucGxheWVyU3RhdGU7cmV0dXJuIEM/ITA6R3x8RD8hMTpIPT09MH0sdm9pZCAwLCJYRUV2QiIpLHI9Xy52RSgiYnV0dG9uIixDPT57QyYmV1MoQywyODU3MiwhXy54KCJlbWJlZHNfY3VlZF9vdmVybGF5X3ZlX2tzIikpfSksdD1fLk4oKCk9Pnt2YXIgQz1jKCk7cmV0dXJuKEM9Xy5CKE5TKEMud2F0Y2hOZXh0UmVzcG9uc2U/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsQy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpPy5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnRpdGxlKT9fLmFOKEMpOnZvaWQgMH0sCnZvaWQgMCwiZ3NHV3kiKSx2PV8udUYoQz0+e3ZhciBHPWUoKSxEPWMoKSxIPXQoKTtyZXR1cm4gRy5iYT8uaGlkZVZpZGVvSW5mbz8hMTpELndhdGNoTmV4dFJlc3BvbnNlfHxELmpiP0ghPT12b2lkIDA6Q30se2luaXRpYWw6ITB9KSx6PV8uTigoKT0+ZSgpLmVhLHZvaWQgMCwiVFI5S0dkIiksRT1fLnVGKEM9Pnt2YXIgRz1jKCk7cmV0dXJuKEcucGxheWVyUmVzcG9uc2U/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyfHxHLmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcik/LmNvbnRyb2xCZ0h0bWw/P0N9LHtpbml0aWFsOnZvaWQgMH0pLEE9W107Xy5uRSgoKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntBLmZvckVhY2goQz0+dm9pZCBDKCkpO0EubGVuZ3RoPTA7dVcuZm9yRWFjaChDPT57QS5wdXNoKEMucmVnaXN0ZXIoKCk9PmQoKS51ZCgpLCgpPT5jKCkpKX0pfSl9LCJZMnFZN2IiKTtfLm5FKCgpPT57dmFyIEM9ZCgpLApHPWMoKTtDLlVjPUc7dmFyIEQ9Qy52PT09Ry5IO0Mudj1xVShHLkgpO0R8fEMuaiYmQy5qKEMudWQoKSl9LCJhMTc4UmQiKTt2YXIgRj1DPT57Qz1DLmRldGFpbC5hdXRvbmF2RW5hYmxlZDt2YXIgRz17YXV0b25hdkVuYWJsZWQ6Q307QyYmKEcueGY9ITApO2UoKS5TKEcpfTtfLm9GKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBmcC1hdXRvbmF2LXVwZGF0ZSIsRil9KTtfLll1KCgpPT57QS5mb3JFYWNoKEM9PnZvaWQgQygpKTtBLmxlbmd0aD0wO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwZnAtYXV0b25hdi11cGRhdGUiLEYpfSk7cmV0dXJuIF8uSyhfLm5HLHtFZjpbXy5vRygkVCxiKV19LF8uSygicGZwLWNvbnRyb2xzIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNIb3N0Iiwib246Y29udGV4dG1lbnUiOmZ1bmN0aW9uKEMpe2EuY29udGV4dCgpLnRhLlNqPy4oQyk7Qy5wcmV2ZW50RGVmYXVsdCgpfX0sXy5LKEdWLHtHOmUsdGh1bWJuYWlsRGV0YWlsczooKT0+e3ZhciBDPQpjKCk7cmV0dXJuIEMuamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5kZWZhdWx0VGh1bWJuYWlsfHxDLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnRodW1ibmFpbH19KSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzQ3JlYXRvckVuZHNjcmVlbkNvbnRhaW5lciIsIm9uOmNsaWNrIjpmdW5jdGlvbihDKXtDLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+YygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyLHRoZW46KCk9Pl8uSyhsVyx7ZW5kc2NyZWVuUmVuZGVyZXI6KCk9PmMoKS5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlcixHOmV9KX0pKSxfLksoImRpdiIse2lkOiJwbGF5ZXItY29udHJvbC1vdmVybGF5IixjbGFzczpfLlAoInl0UGZwQ29udHJvbHNPdmVybGF5Iix7eXRQZnBDb250cm9sc0ZhZGVJbjp6fSksIm9uOmNsaWNrIjpmdW5jdGlvbihDKXtwKCk/CihYUygyODU3MiksZSgpLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDAsQy5jdXJyZW50VGFyZ2V0LnZpc3VhbEVsZW1lbnQpLGIoKS5wbGF5VmlkZW8oKSk6S1UoQyxlKCkpfSwib246cG9pbnRlcm1vdmUiOmZ1bmN0aW9uKEMpe0MucG9pbnRlclR5cGU9PT0ibW91c2UiJiYoZSgpLlMoe2VhOiEwfSksY1QoZSgpLHtJYzohMH0pKX19LF8uSyhfLk8se0E6dix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzR3JhZGllbnRUb3AifSxfLksoXy5PLHtBOnQsdGhlbjooKT0+Xy5LKCJoMiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzVmlkZW9UaXRsZSJ9LHQpfSkpfSksXy5LKG9XLHtqZTooKT0+ZSgpLmplfSksXy5LKF8uTyx7QTpwLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNMYXJnZVBsYXlCdXR0b24iLGVsOnIsImFyaWEtbGFiZWwiOl8uJE4uUGcsdGl0bGU6Xy4kTi5QZ30sXy5LKCJzdmciLHtoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsCnZpZXdCb3g6IjAgMCA2MCA2MCIsd2lkdGg6IjEwMCUifSxfLksoInBhdGgiLHtjbGFzczoieXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbkljb25CZyIsZDoiTTMwLDBBMzAsMzAsMCwxLDAsNjAsMzAsMzAsMzAsMCwwLDAsMzAsMFoiLGZpbGw6KCk9PkUoKT8/IiMxZjFmMWYifSksXy5LKCJwYXRoIix7ZDoiTTIxLDQxLjY1VjE4TDQzLjcsMjkuODVaIixmaWxsOiIjZmZmIn0pKSl9KSxfLksoWm1hLHtHOmUsVWM6Y30pLF8uSyhhbmEse0c6ZSx3YXRjaE5leHRSZXNwb25zZTooKT0+YygpLndhdGNoTmV4dFJlc3BvbnNlLFV4Om4sY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVmlkZW9XYWxsRW5kc2NyZWVuIn0pLF8uSyhZbWEse0g6YixHOmUsd2F0Y2hOZXh0UmVzcG9uc2U6KCk9PmMoKS53YXRjaE5leHRSZXNwb25zZSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNBdXRvbmF2In0pLF8uSyhfLk8se0E6KCk9PiFsKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoV1Yse0c6ZX0pLApfLksoVlYse2dmOmUsSWI6ITF9KSxfLksoWFYse0c6ZSxGZDotMSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNIaWRkZW5TZWVrQnV0dG9uIn0pLF8uSyhYVix7RzplLEZkOjEsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzSGlkZGVuU2Vla0J1dHRvbiJ9KSxfLksoXy5PLHtBOmgsdGhlbjooKT0+Xy5LKHJXLHtHOmV9KX0pLF8uSyhmbmEse0g6YixHOmUsVWM6YyxGejpFLGRpc2FibGVTY3J1YmJpbmc6Zn0pKX0pKSkpfSwib2UiKSxmbmE9Xy5MKCh7SDphLEc6YixVYzpjLEZ6OmQsZGlzYWJsZVNjcnViYmluZzplfSk9PntmdW5jdGlvbiBmKHIpe3Iuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGg9Xy5OKCgpPT4hYigpLmJhPy5uaCx2b2lkIDAsInBGdERYYiIpLGs9Xy5OKCgpPT4hYigpLmJhPy5pcSx2b2lkIDAsInY0WDVzZSIpLGw9Xy5OKCgpPT5jKCkucGxheWVyT3ZlcmxheVJlbmRlcmVyLHZvaWQgMCwiakxoaFdjIiksbT1fLk4oKCk9PkdTKGwoKSksdm9pZCAwLCJzNjd4U2IiKSxuPV8uTigoKT0+CkVTKGwoKSksdm9pZCAwLCJwQ2lhdSIpLHA9Xy5OKCgpPT4hYigpLmJhPy56cix2b2lkIDAsInN2dXhCIik7cmV0dXJuIF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNQcm9ncmVzc0JhckNvbnRhaW5lciJ9LF8uSyhDVix7TGI6YixoZjptLGNvbmZpZzooKT0+KHtwb3NpdGlvbjoxLEtmOiExLEluOnAoKSxSYTpuKCksZGlzYWJsZVNjcnViYmluZzplKCksWW86KCk9PntiVCgpfSxGbjooKT0+e2NUKGIoKSx7SWM6ITB9KX19KX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzQm90dG9tQmFyIixzdHlsZTpfLklFKHsiYmFja2dyb3VuZC1jb2xvciI6ZH0pLCJvbjpjbGljayI6Zn0sXy5LKCJkaXYiLHtjbGFzczoieXRQZnBDb250cm9sc0xlZnRDb250cm9scyJ9LF8uSyhfLk8se0E6KCk9PmIoKS5wbGF5ZXJTdGF0ZT09PTAsdGhlbjooKT0+Xy5LKGFXLHtHOmJ9KSxXOigpPT5fLksoJFYse0c6Yix5czohMH0pfSksCl8uSyhIVix7b3JpZW50YXRpb246Imhvcml6b250YWxfcmlnaHQiLEg6YSxEdjohMCxDcDpfLkJLfHxfLkdLLGJqOiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1ZvbHVtZUNvbnRyb2xzIn0pLF8uSyhwVyx7RzpiLHBsYXllck92ZXJsYXlSZW5kZXJlcjpsLFZ3OiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1RpbWVEaXNwbGF5In0pKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzUmlnaHRDb250cm9scyJ9LF8uSyhkVyx7Z2Y6YixWcjohMCxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNDYXB0aW9uc0J1dHRvbiJ9KSxfLksoYlcse0c6YixjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNTZXR0aW5nc0J1dHRvbiJ9KSxfLksoXy5PLHtBOmssdGhlbjooKT0+Xy5LKFpWLHtHOmJ9KX0pKSkpfSl9LCJwZSIpO3ZhciBnbmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXQtZW1iZWRzLWluZm8tcGFuZWwtZGV0YWlscy12aWV3LW1vZGVsIix7Y2xhc3M6Inl0RW1iZWRzSW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbEhvc3QifSxfLksoXy5WLHtjbGFzc05hbWU6Inl0RW1iZWRzSW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbEJvZHlUZXh0Iix0ZXh0OigpPT5hKCkuYm9keVRleHR9KSxfLksoXy5nRyx7cGE6KCk9PmEoKS5jdGFCdXR0b25zfHxbXX0sYj0+KGI9KGI9Xy5CKGIsYW1hKSk/Xy5CKHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Yi5ib2R5VGV4dD8uY29udGVudH0sbGVhZGluZ0ltYWdlOntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTpiPy5pY29uPy5pY29uVHlwZX19XX0scmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6Yj8ub25UYXB9fX19LF8uWkMpOnZvaWQgMCk/Xy5LKF8uQ0Qse2RhdGE6Yn0pOm51bGwpKSwicWUiKTt2YXIgaG5hPV8uTCgoe2RhdGE6YSxvbkNsaWNrOmJ9KT0+Xy5LKCJ5dC1lbWJlZHMtaW5mby1wYW5lbC1vdmVydmlldy12aWV3LW1vZGVsIixudWxsLF8uSygiYnV0dG9uIix7Im9uOmNsaWNrIjpiLGNsYXNzOiJ5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckJ1dHRvbiJ9LF8uSyhfLk8se0E6KCk9PmEoKS5oZWFkZXJJY29uPy5pY29uVHlwZSx0aGVuOigpPT5fLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PmEoKS5oZWFkZXJJY29uPy5pY29uVHlwZX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyVGV4dCJ9LF8uSyhfLlYse3RleHQ6KCk9PmEoKS50aXRsZX0pLF8uSyhfLlYse3RleHQ6KCk9Pih7Y29udGVudDphKCkudGl0bGUmJmEoKS5ib2R5VGV4dD8iIFx1MjAyMiAiOiIifSl9KSxfLksoXy5WLHt0ZXh0OigpPT5hKCkuYm9keVRleHR9KSkpKSwicmUiKTt2YXIgdlc9Xy5MKCh7ZGF0YTphLHByb3BzOmJ9KT0+e2Z1bmN0aW9uIGMoZCl7dmFyIGU9YSgpLmluZm9QYW5lbERldGFpbHNWaWV3TW9kZWw7aWYoZSl7dmFyIGY9e307ZS50aXRsZT8uY29udGVudCYmKGYuaGVhZGVyVGl0bGU9ZS50aXRsZS5jb250ZW50KTtfLnlOKHsuLi5mLEdiOigpPT5fLksoZ25hLHtkYXRhOmV9KSxIYTohMH0pfWQuc3RvcFByb3BhZ2F0aW9uKCl9cmV0dXJuIF8uSygieXRtLWVtYmVkcy1pbmZvLXBhbmVsLXJlbmRlcmVyIix7Y2xhc3M6Xy5QKCJ5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3QiLHt5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RBdXRvaGlkZTooKT0+YigpLnBsYXllclN0YXRlPT09MSx5dG1FbWJlZHNJbmZvUGFuZWxSZW5kZXJlckhvc3RUb3BDb250cm9sc1N0YWNrZWRJblBvcnRyYWl0OigpPT4hJFMoYigpKSYmIWIoKS5iYT8uaGlkZVZpZGVvSW5mbyYmIWIoKS5iYT8ubmh9KSxzdHlsZTpfLklFKHsiYW5pbWF0aW9uLWRlbGF5IjooKT0+CmAke2EoKS5kdXJhdGlvbk1zfHwxRTR9bXNgfSl9LF8uSyhfLk8se0E6KCk9PmEoKS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbCx0aGVuOmQ9Pl8uSyhobmEse2RhdGE6ZCxvbkNsaWNrOmN9KX0pKX0sInNlIik7dlcuaWRvbUNvbXBhdD0hMDt2YXIgd1c9Xy5MKCh7RzphfSk9Pnt2YXIgW2IsY109Xy5KKCJoaWRkZW4iLHZvaWQgMCwiU0JoYkhlIiksZCxlLFtmLGhdPV8uSighMSx2b2lkIDAsIkhnN3huZiIpLFtrLGxdPV8uSighMSx2b2lkIDAsIm5LSGxaZSIpO18uVUooKCk9Pnt0VygpPT09dm9pZCAwJiZ1bGEoKTtlPXNldFRpbWVvdXQoKCk9Pnt0VygpJiZtKCEwKTtsKCEwKX0sMkUzKX0pO18uWXUoKCk9PnttKCExKTtjbGVhclRpbWVvdXQoZSk7Y2xlYXJUaW1lb3V0KGQpfSk7Xy5uRSgoKT0+e0NVKCkmJmYoKSYmKG0oITEpLHNXKCEwKSk7IXRXKCkmJmYoKSYmbSghMSk7dFcoKSYmIWVuYSgpJiYhZigpJiZrKCkmJm0oITApfSwiVkNGQkliIik7dmFyIG09bj0+e2gobik7YSgpLkg/LnNldEF1dG9jcm9wRW5hYmxlZChuKTtjbGVhclRpbWVvdXQoZCk7bj8oYygidmlzaWJsZSIpLGQ9c2V0VGltZW91dCgoKT0+e2MoIiIpfSwzRTMpKTooYygiIiksZD1zZXRUaW1lb3V0KCgpPT57YygiaGlkZGVuIil9LDNFMykpfTtyZXR1cm4gXy5LKCJkaXYiLAp7Y2xhc3M6Xy5QKCJ5dEF1dG9jcm9wQnV0dG9uSG9zdCIse3l0QXV0b2Nyb3BCdXR0b25WaXNpYmxlOigpPT5iKCk9PT0idmlzaWJsZSIseXRBdXRvY3JvcEJ1dHRvbkhpZGRlbjooKT0+YigpPT09ImhpZGRlbiJ9KX0sXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIix0ZXh0OntydW5zOlt7dGV4dDpfLiROLlBzfV19fSxjbGFzc05hbWU6Inl0QXV0b2Nyb3BCdXR0b25BdXRvQ3JvcEJ1dHRvbiIscHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57bSghZigpKTtzVyghZigpKX19KSxXOigpPT5fLksoXy5wTyx7ZGF0YTp7c3R5bGU6IlNUWUxFX0xJR0hUX1RFWFQiLHNpemU6IlNJWkVfREVGQVVMVCIsdGV4dDp7cnVuczpbe3RleHQ6IjEwMCUifV19fSxjbGFzc05hbWU6Inl0QXV0b2Nyb3BCdXR0b25BdXRvQ3JvcEJ1dHRvbiIscHJldmVudERlZmF1bHQ6ITAsCnN0b3BQcm9wYWdhdGlvbjohMCx0ZzooKT0+e20oIWYoKSk7c1coIWYoKSl9fSl9KSl9LCJ1ZSIpO3dXLmlkb21Db21wYXQ9ITA7dmFyIHhXPV8uTCgoe2RhdGE6YSxGZTpifSk9Pl8uSygieXRtLWVuZHNjcmVlbi12aWRlby1yZW5kZXJlciIsbnVsbCxfLksoXy5mamEse2RhdGE6KCk9Pih7dGh1bWJuYWlsOmEoKS50aHVtYm5haWwsdGh1bWJuYWlsT3ZlcmxheXM6YSgpLnRodW1ibmFpbE92ZXJsYXlzLHZpZGVvSWQ6YSgpLnZpZGVvSWQsbGVuZ3RoVGV4dDphKCkubGVuZ3RoVGV4dCxwdWJsaXNoZWRUaW1lVGV4dDphKCkucHVibGlzaGVkVGltZVRleHQsbmF2aWdhdGlvbkVuZHBvaW50OmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsaGVhZGxpbmU6YSgpLnRpdGxlfSksRmU6Yn0pKSwidmUiKTt4Vy5pZG9tQ29tcGF0PSEwO3ZhciB6Vz1fLkwoKHt3YXRjaE5leHRSZXNwb25zZTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0RnVsbHNjcmVlblZpZGVvUmVjb21tZW5kYXRpb25zSG9zdCIsaWRvbUtleToiZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbnMtd3JhcHBlciJ9LF8uSyhfLmdHLHtwYTooKT0+TVMoYT8uKCkpfSxiPT5fLksoeVcse3ZpZGVvOmJ9KSkpLCJ3ZSIpO3pXLmlkb21Db21wYXQ9ITA7dmFyIHlXPV8uTCgoe3ZpZGVvOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNSZWNvbW1lbmRhdGlvbiJ9LF8uSyhfLlcse2RhdGE6YX0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKHhXLHtkYXRhOmIsRmU6ITB9KX0pKSwieGUiKTt5Vy5pZG9tQ29tcGF0PSEwO3ZhciBCVz1fLkwoYT0+Xy5LKCJwbGF5ZXItZnVsbHNjcmVlbi10b3AtY29udHJvbHMiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzSG9zdCIsc3R5bGU6Xy5JRSh7dmlzaWJpbGl0eTooKT0+YS5HKCkuTmE/InZpc2libGUiOiJoaWRkZW4ifSl9LF8uSygiaDIiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNvbnRyb2xzVmlkZW9UaXRsZSJ9LF8uSyhfLk8se0E6KCk9PmEud2F0Y2hOZXh0UmVzcG9uc2U/LigpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy52aWRlb0RldGFpbHM/LnBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlcj8udGl0bGUsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSxfLksoQVcse0c6YS5HfSkpLCJ5ZSIpO0JXLmlkb21Db21wYXQ9ITA7CnZhciBBVz1fLkwoKHtHOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlblRvcENvbnRyb2xzRnVsbHNjcmVlbkNsb3NlQnV0dG9uV3JhcHBlciJ9LF8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIixpY29uOntpY29uVHlwZToiQ0xPU0UifSxhY2Nlc3NpYmlsaXR5OntsYWJlbDoiQ2xvc2UifSxhY2Nlc3NpYmlsaXR5RGF0YTp7YWNjZXNzaWJpbGl0eURhdGE6e2xhYmVsOiJDbG9zZSJ9fX0scHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57YSgpLlMoe05hOiExfSk7Xy5NTygiLmZ1bGxzY3JlZW4tbW9yZS12aWRlb3MtZW5kcG9pbnQiKTtjVChhKCkpfX0pKSwiemUiKTtBVy5pZG9tQ29tcGF0PSEwO3ZhciBDVz1fLkwoYT0+e3ZhciBiPSgpPT5hLkcoKS5pc0Z1bGxzY3JlZW58fGEuRygpLmJhPy5FZSxjPSgpPT57dmFyIGY9YS5HKCk7cmV0dXJuIF8uYUwoImZ1bGxzY3JlZW4tY29udHJvbHMiLHtleHBhbmRlZDpmLk5hLCJzdHlsZS1yZWNvbW1lbmRhdGlvbnMtaW4tcG9ydHJhaXQiOmYuYmE/LkVlfHxfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSl9LGQ9KCk9Pnt2YXIgZj1hLkcoKTtyZXR1cm5gCiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgke2YuSmZ9cHgpOwogICAgICB0cmFuc2l0aW9uOiAke2YuV2Q/Im5vbmUiOiJ0cmFuc2Zvcm0gMC4ycyBlYXNlLCBib3R0b20gMC4ycyBlYXNlIn07CiAgICAgIHZpc2liaWxpdHk6ICR7Zi5KZnx8Zi5OYT8idmlzaWJsZSI6ImluaGVyaXQifTsKICAgICAgcG9pbnRlci1ldmVudHM6ICAke2YuTmE/ImFsbCI6Im5vbmUifTsKICAgIGB9LGU9KCk9Pl8ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJmEuYXV0b2Nyb3BDb25maWc/LigpO3JldHVybiBfLksoInBsYXllci1mdWxsc2NyZWVuLWNvbnRyb2xzIix7aGlkZGVuOiFiLGNsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuQ29udHJvbHNIb3N0In0sXy5LKF8uTyx7QTpiLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKEJXLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSksXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyh3Vyx7RzphLkd9KX0pLF8uSyhLVix7RzphLkcsd2F0Y2hOZXh0UmVzcG9uc2U6YS53YXRjaE5leHRSZXNwb25zZSx0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI6YS50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXJ9KSxfLksoImRpdiIse2NsYXNzOmMsc3R5bGU6ZH0sXy5LKHpXLHt3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSkpKX0pKX0sIkFlIik7Q1cuaWRvbUNvbXBhdD0hMDt2YXIgRFc9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnVFKCJ5dG0tcGFpZC1jb250ZW50LW92ZXJsYXktcmVuZGVyZXIiKTtyZXR1cm4gXy5LKCJ5dG0tcGFpZC1jb250ZW50LW92ZXJsYXktcmVuZGVyZXIiLHtjbGFzczoieXRtUGFpZENvbnRlbnRPdmVybGF5SG9zdCIsZWw6Yiwib246YW5pbWF0aW9uZW5kIjpmdW5jdGlvbihjKXtiLnZhbHVlLmNsYXNzTGlzdC5hZGQoInl0bVBhaWRDb250ZW50T3ZlcmxheUhpZGRlbiIpO2Muc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCxjbGFzc05hbWU6Inl0bVBhaWRDb250ZW50T3ZlcmxheUxpbmsifSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsdGhlbjooKT0+Xy5LKCJzcGFuIixudWxsLF8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGV9KSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1QYWlkQ29udGVudE92ZXJsYXlUZXh0In0sXy5LKF8uViwKe3RleHQ6KCk9PmEoKS50ZXh0fSkpLF8uSyhfLk8se0E6KCk9PmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQsdGhlbjooKT0+Xy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQifSl9KSkpfSwiQmUiKTtEVy5pZG9tQ29tcGF0PSEwO3ZhciBFVz1fLkwoYT0+e3ZhciBiPSgpPT5hLkcoKS5IPy5nZXRTaXplPy4oKT8ud2lkdGg7cmV0dXJuIF8uSygicGxheWVyLWJvdHRvbS1jb250cm9scyIse2NsYXNzOl8uUCgieXR3UGxheWVyQm90dG9tQ29udHJvbHNIb3N0Iix7ImRlbGhpLXBsYXllciI6Xy54KCJtd2ViX3dhdGNoX2RlbGhpX3BsYXllciIpfSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1jb250cm9scy1ib3R0b20gcGxheWVyLWNvbnRyb2xzLWJvdHRvbS1sZWZ0In0sXy5LKF8uTyx7QTooKT0+IShiKCkmJmIoKTwzMjApLHRoZW46KCk9Pl8uSyhwVyx7RzphLkcsU206YS5TbSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KX0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgicGxheWVyLWNvbnRyb2xzLWJvdHRvbSIsInBsYXllci1jb250cm9scy1ib3R0b20tcmlnaHQiKX0sXy5LKF8uTyx7QTooKT0+IShhLkcoKS5iYT8uaXF8fGIoKSYmYigpPDI0MCksdGhlbjooKT0+Xy5LKCJkaXYiLAp7Y2xhc3M6Inl0d1BsYXllckJvdHRvbUNvbnRyb2xzRnVsbHNjcmVlbkJ1dHRvbldyYXBwZXIifSxfLksoWlYse0c6YS5HfSkpfSkpKX0sIkNlIik7RVcuaWRvbUNvbXBhdD0hMDt2YXIgRlc9Xy5MKGE9Pnt2YXIge0c6Yix3YXRjaE5leHRSZXNwb25zZTpjfT1fLkRDKGEse3dhdGNoTmV4dFJlc3BvbnNlOnZvaWQgMH0pO3JldHVybiBfLksoXy5PLHtBOigpPT5IUyhiKCksQVMoYygpKSksdGhlbjooKT0+Xy5LKCJwbGF5ZXItZW5kc2NyZWVuIix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5Db250YWluZXIifSxfLksoImRpdiIse2lkOiJwbGF5ZXItZW5kc2NyZWVuIixjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuUGxheWVyRW5kc2NyZWVuIiwiZGF0YS1oYXMtdGltZXItY291bnRkb3duIjohMH0sXy5LKGluYSx7cHJvcHM6YixwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjooKT0+QlMoYygpKX0pLF8uSyhqbmEse3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6KCk9PkJTKGMoKSl9KSxfLksoa25hLHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOigpPT4KQlMoYygpKX0pKSkpfSl9LCJEZSIpO0ZXLmlkb21Db21wYXQ9ITA7CnZhciBpbmE9Xy5MKGE9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblRvcFBhbmVsIn0sXy5LKGxuYSx7Li4uYX0pLF8uSyhtbmEsey4uLmF9KSksIkVlIiksbG5hPV8uTChhPT57dmFyIHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmN9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSksW2QsZV09Xy4kTi5Pcy5zcGxpdCgic2Vjb25kc19wbGFjZWhvbGRlciIpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5IZWFkZXIiLHJvbGU6InRleHQifSxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5iKCkuemYmJmMoKX0sKCk9Pl8uSyhfLlYse3RleHQ6KCk9PmMoKT8ucGF1c2VUZXh0fSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSygic3BhbiIse2lkOiJ1cG5leHQtaW4tbWVzc2FnZSJ9LGQsXy5LKG5uYSx7Li4uYX0pLGUpKSkpfSwiRmUiKSxubmE9Xy5MKGE9Pnt2YXIgYj0KYS5wcm9wcztyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bk51bWJlciIsImFyaWEtaGlkZGVuIjohMH0sKCk9PmIoKS55Zil9LCJHZSIpLG1uYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+YigpPy5jbG9zZUJ1dHRvbix0aGVuOmM9Pl8uSyhfLlcse2RhdGE6Y30se3RodW1ibmFpbE92ZXJsYXlUaW1lU3RhdHVzUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8uVlAse2RhdGE6ZH0pLGJ1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsdGc6KCk9PntRVShhKX0sYnV0dG9uT3ZlcnJpZGVzOntzdHlsZToib3ZlcmxheSJ9fSl9KX0pfSwiSGUiKSxqbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7CnJldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5Db3VudGRvd25Db250YWluZXIifSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YigpPy5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LGNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuQ3VlZFZpZGVvQ29udGFpbmVyIixhcmlhTGFiZWw6KCk9Pl8uREooYigpPy52aWRlb1RpdGxlPy5hY2Nlc3NpYmlsaXR5KX0sXy5LKG9uYSx7Li4uYX0pLF8uSyhwbmEsey4uLmF9KSkpfSwiSWUiKSxvbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkN1ZWRUaHVtYm5haWxPdmVybGF5In0sXy5LKF8uWFAse3RodW1ibmFpbERldGFpbHM6KCk9PmIoKT8uYmFja2dyb3VuZCxNZDp2b2lkIDAsVGI6ITEsCmNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuVGh1bWJuYWlsQ29udGFpbmVyIn0pLF8uSyhfLlcse2RhdGE6KCk9PmIoKT8udGh1bWJuYWlsT3ZlcmxheXN9LHt0aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyOih7ZGF0YTpjfSk9Pl8uSyhfLlZQLHtkYXRhOmMsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5UaHVtYm5haWxPdmVybGF5cyIsYXJpYUhpZGRlbjohMH0pfSkpfSwiSmUiKSxwbmE9Xy5MKGE9Pnt2YXIge3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOmJ9PV8uREMoYSx7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6dm9pZCAwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblZpZGVvSW5mbyIsImFyaWEtaGlkZGVuIjohMH0sXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVmlkZW9UaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmIoKT8udmlkZW9UaXRsZX0pKSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb0F1dGhvciJ9LApfLksoXy5WLHt0ZXh0OigpPT5iKCk/LmJ5bGluZSxtYTohMH0pKSl9LCJLZSIpLGtuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KSxjPXtzdHlsZToib3ZlcmxheSJ9O3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5CdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5iKCk/LmNhbmNlbEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b24iLHRnOigpPT57UVUoYSl9LGJ1dHRvbk92ZXJyaWRlczpjfSl9KSxfLksoXy5XLHtkYXRhOigpPT5iKCk/Lm5leHRCdXR0b259LHtidXR0b25SZW5kZXJlcjooe2RhdGE6ZH0pPT5fLksoXy5wTyx7ZGF0YTpkLGNsYXNzTmFtZToieXR3UGxheWVyRW5kc2NyZWVuQWN0aW9uQnV0dG9uIiwKYnV0dG9uT3ZlcnJpZGVzOmN9KX0pKX0sIkxlIik7dmFyIEdXPV8uTChhPT57dmFyIGI9Xy5rRygkVCksYz1fLlAoInl0d1BsYXllck1pZGRsZUNvbnRyb2xzSG9zdCIsInBsYXllci1jb250cm9scy1taWRkbGUiLHsicHJldmVudC1jb250cm9scy1jb2xsaXNpb24iOigpPT57dmFyIGg9Yj8uKCk7aWYoIWg/LmlzUmVhZHk/LigpKXJldHVybiExO2g9aD8uZ2V0U2l6ZSgpPy5oZWlnaHQ7aD0hIWgmJmg8Mjc1O3ZhciBrPWEuRygpLmJhPy52b2x1bWVDb250cm9sVHlwZT09PSJ2b2x1bWUtc2xpZGVyIjtyZXR1cm4gaHx8a319KSxkPSgpPT57dmFyIGg9YS5HKCk7cmV0dXJuIGgucGxheWVyU3RhdGU9PT0zfHxoLnBsYXllclN0YXRlPT09LTF9LGU9KCk9Pnt2YXIgaD1hLkcoKTt2YXIgaz1iPy4oKTtYUShrKXx8IWs/LmlzUmVhZHk/LigpP2s9ITE6aD8uYmE/LnZuP2s9ITA6KGg9ay5nZXRWaWRlb0RhdGEoKSxrPSFoLmlzTGlzdGVkfHxoLnlwY1ByZXZpZXd8fGguaXNMaXZlfHx0eXBlb2Ygay5nZXRMb29wUmFuZ2U9PT0iZnVuY3Rpb24iJiYKay5nZXRMb29wUmFuZ2UoKT8hMDohMSk7cmV0dXJuIWt9LGY9Xy5QKCJwbGF5ZXItY29udHJvbHMtbWlkZGxlLWNvcmUtYnV0dG9ucyIseyJzY3JlZW5yZWFkZXItc2FmZS1oaWRlLW1pZGRsZS1idXR0b25zIjpkfSk7cmV0dXJuIF8uSygicGxheWVyLW1pZGRsZS1jb250cm9scyIse2NsYXNzOmN9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksocW5hLG51bGwpfSksXy5LKCJkaXYiLHtjbGFzczpmfSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKHJuYSx7RzphLkcsd2F0Y2hOZXh0UmVzcG9uc2U6YS53YXRjaE5leHRSZXNwb25zZX0pfSksXy5LKFhWLHtGZDotMSxHOmEuRyxjbGFzc05hbWU6Inl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b24ifSksXy5LKF8uTyx7QTooKT0+e3ZhciBoPWEuRygpO3JldHVybiF1UyhoKX0sdGhlbjooKT0+Xy5LKCRWLHtHOmEuR30pLFc6KCk9Pl8uSyhhVyx7RzphLkd9KX0pLF8uSyhYVix7RmQ6MSxHOmEuRyxjbGFzc05hbWU6Inl0d1BsYXllck1pZGRsZUNvbnRyb2xzQTExeVNlZWtCdXR0b24ifSksCl8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoc25hLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSl9KSkpfSwiTWUiKTtHVy5pZG9tQ29tcGF0PSEwOwp2YXIgcW5hPV8uTCgoKT0+Xy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLXNwaW5uZXIifSxfLksoImRpdiIse2NsYXNzOiJzcGlubmVyIn0pKSwiTmUiKSxybmE9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPSgpPT4hYS5HKCkuYmE/LnZuO3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9QUkVWSU9VUyIsYXJpYUxhYmVsOl8uJE4uTXQsYXJpYURpc2FibGVkOmMsY2xhc3NOYW1lOl8uUCgicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIix7Imljb24tZGlzYWJsZSI6Y30pLFVkOjM2ODQwLGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOiJQTEFZRVJfUFJFVklPVVMifSkpLG9uY2xpY2s6KCk9Pnt2YXIgZD1hLkcoKSxlPWI/LigpO2QucmMmJmU/LnVuTXV0ZSgpO3ZhciBmPWEud2F0Y2hOZXh0UmVzcG9uc2U/LigpLGg9QVMoZik7CmlmKFhRKGUpJiZmJiZoKXtpZihkPVJVKGgpLlVhKV8uJEQoZCksXy5BSihkLHt9LCExKX1lbHNlIGY9YS5HKCkuYmE/LnZuLHBqYShjKCksZSxmKSxkLmJhPy51aiYmXy5ETyhfLmh4KCksMjcyNDApfX0pfSwiT2UiKSxzbmE9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPSgpPT57dmFyIGQ9Yj8uKCk7aWYoIWQ/LmlzUmVhZHk/LigpKXJldHVybiEwO3ZhciBlPWQ/LmdldFBsYXlsaXN0KCk7ZD1kPy5nZXRQbGF5bGlzdEluZGV4KCk7dmFyIGY9ITE7ZSYmZCE9PXZvaWQgMCYmKGY9ZD49ZS5sZW5ndGgtMSk7cmV0dXJuIGZ9O3JldHVybiBfLksoWVYse25hbWU6IlBMQVlFUl9ORVhUIixhcmlhTGFiZWw6Xy4kTi5LdCxhcmlhRGlzYWJsZWQ6YyxVZDozNjg0MSxjb250ZW50OigpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC12aXNpYmxlLWFyZWEifSxfLksoXy5NRCx7aWNvbjoiUExBWUVSX05FWFQifSkpLGNsYXNzTmFtZTpfLlAoInBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LWJ1dHRvbiIsCnsiaWNvbi1kaXNhYmxlIjpjfSksb25jbGljazooKT0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZC5yYyYmZT8udW5NdXRlKCk7dmFyIGY9YS53YXRjaE5leHRSZXNwb25zZT8uKCksaD1BUyhmKTtpZihYUShlKSYmZiYmaCl7aWYoZD1SVShoKS5uZXh0KV8uJEQoZCksXy5BSihkLHt9LCExKX1lbHNlIGMoKXx8KGU/Lm5leHRWaWRlbygpLGQuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCkpfX0pfSwiUGUiKTt2YXIgSFc9Xy5MKCh7dmlkZW9EZXRhaWxzOmEsRzpifSk9PntmdW5jdGlvbiBjKFQpe0MoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGQoVCl7RygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZShUKXtDKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBmKFQpe0U/LnZhbHVlPy5jb250YWlucyhULnRhcmdldCl8fEcoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGgoVCl7VC5wcmV2ZW50RGVmYXVsdCgpO1hTKDIzODUxKTt2YXIgYmE9U1UoYixEKTtpZihiYSl7dmFyIGFhPWIoKT8uSD8uZ2V0Q3VycmVudFRpbWUoKTtfLkFKKGJhLHtwYXJhbXM6e3RpbWVzdGFtcDphYT9NYXRoLmZsb29yKGFhKS50b1N0cmluZygpOnZvaWQgMH19LCExLHtldmVudDpUfSl9VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBrKFQpe1UoVCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBsKFQpe1QucHJldmVudERlZmF1bHQoKTt6KCl8fEYoKSYmRigpPDMyMD8KVShUKTpDKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBtKFQpe1QucHJldmVudERlZmF1bHQoKTtHKDI1MDApO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gbihUKXtHKDI1MDApO1Quc3RvcFByb3BhZ2F0aW9uKCl9dmFyIFtwLHJdPV8uSighMSx2b2lkIDAsImlaTVFtZiIpLFt0LHZdPV8uSighMSx2b2lkIDAsIkNoaEgwYiIpLHo9dCxFPV8udkUoImRpdiIpLEEsRj0oKT0+YigpLkg/LmdldFNpemU/LigpPy53aWR0aCxDPSgpPT57RigpJiZGKCk8MzIwfHwocighMCksQSYmY2xlYXJUaW1lb3V0KEEpLHooKXx8KGJUKCksdighMCkpKX0sRz0oVD01MDApPT57RigpJiZGKCk8MzIwfHwocighMSksQT1zZXRUaW1lb3V0KCgpPT57IXAoKSYmeigpJiYodighMSksY1QoYigpLHtJYzohMH0pKX0sVCkpfSxEPSgpPT5fLkIoYT8uKCkuY29sbGFwc2VkUmVuZGVyZXIsbVYpPy50aXRsZSxIPSgpPT5hPy4oKS5jaGFubmVsVGh1bWJuYWlsRW5kcG9pbnQsUj0oKT0+YT8uKCkuY2hhbm5lbFRodW1ibmFpbCwKTT0oKT0+Xy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy50aXRsZT8/KF8ueCgiZW1iZWRzX3ZpZF9kZXRhaWxzX2ZhbGxiYWNrX2NoYW5uZWxfbmFtZV9rcyIpP3ZvaWQgMDpfLkIoYT8uKCkuY29sbGFwc2VkUmVuZGVyZXIsbVYpPy5zdWJ0aXRsZSksUz0oKT0+Xy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy5zdWJ0aXRsZSxZPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnN1YnNjcmliZUJ1dHRvbixwYT1fLk4oKCk9Pl8uQihTVShiLEQpLF8uVkQpPy51cmwsdm9pZCAwLCJ5VEhOaiIpLG9hPV8uTigoKT0+Xy5CKGE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCxfLlZEKT8udXJsLHZvaWQgMCwicHdsM0ljIiksVT1UPT57VC5wcmV2ZW50RGVmYXVsdCgpO2lmKGE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCYmYT8uKCkpe3ZhciBiYT1hPy4oKS5jaGFubmVsVGh1bWJuYWlsRW5kcG9pbnQ7WFMoMzY5MjUpO18uQUooYmEse30sITEsCntldmVudDpUfSl9fSxoYT1fLlAoInl0bVZpZGVvSW5mb1ZpZGVvVGl0bGVDb250YWluZXIiLHt5dG1WaWRlb0luZm9Mb2dvRW5hYmxlZDooKT0+ISFhPy4oKS5jaGFubmVsVGh1bWJuYWlsfSksbWE9Xy5QKCJ5dG1WaWRlb0luZm9PdmVybGF5Iix7eXRtVmlkZW9JbmZvRXhwYW5kZWQ6KCk9PnooKX0pLHRhPSgpPT4hIV8uQihhPy4oKS5leHBhbmRlZFJlbmRlcmVyLG5WKT8uc3Vic2NyaWJlQnV0dG9uJiYhYigpLmJhPy5vaDtyZXR1cm4gXy5LKCJlbWJlZGRlZC1wbGF5ZXItdmlkZW8tZGV0YWlscyIse2NsYXNzOiJ5dG1WaWRlb0luZm9Ib3N0In0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvVmlkZW9EZXRhaWxzQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpoYX0sXy5LKF8uTyx7QTpELHRoZW46KCk9Pl8uSyhfLk8se0E6cGEsdGhlbjooKT0+Xy5LKCJhIix7Im9uOmNsaWNrIjpoLGNsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb1RpdGxlIixlbDpfLnJGKFQ9PntXUyhULAoyMzg1MSl9KSxocmVmOnBhfSxfLksoXy5WLHt0ZXh0OkQsY2xhc3NOYW1lOl8uUCgieXRtVmlkZW9JbmZvTGluayIpLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKSxXOigpPT5fLksoInNwYW4iLHtjbGFzczoieXRtVmlkZW9JbmZvVmlkZW9UaXRsZSJ9LF8uSyhfLlYse3RleHQ6RCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSl9KX0pLF8uSyhfLk8se0E6Xy54KCJlbWJlZHNfdmlkX2RldGFpbHNfZmFsbGJhY2tfY2hhbm5lbF9uYW1lX2tzIik/SDpNLHRoZW46KCk9Pl8uSyhfLk8se0E6b2EsdGhlbjooKT0+Xy5LKCJhIix7Im9uOmNsaWNrIjprLGNsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsVGl0bGUiLGhyZWY6b2F9LF8uSyhfLlYse3RleHQ6TSxjbGFzc05hbWU6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIikseWM6ITAsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLFc6KCk9Pl8uSygic3BhbiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsVGl0bGUifSxfLksoXy5WLHt0ZXh0Ok0seWM6ITAsCnViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pfSkpLF8uSyhfLk8se0E6Uix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsQ29udGFpbmVyIixlbDpFLCJvbjpmb2N1c2luIjplLCJvbjpmb2N1c291dCI6Ziwib246bW91c2VvdmVyIjpjLCJvbjptb3VzZW91dCI6ZH0sXy5LKCJidXR0b24iLHsib246dG91Y2hzdGFydCI6bCwib246dG91Y2hlbmQiOm0sIm9uOmNsaWNrIjprLGNsYXNzOl8uUCgieXRtVmlkZW9JbmZvTGluayIsInl0bVZpZGVvSW5mb0NoYW5uZWxBdmF0YXIiKSxlbDpfLnJGKFQ9PntXUyhULDM2OTI1KX0pfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczpSLGNsYXNzTmFtZToieXRtVmlkZW9JbmZvQ2hhbm5lbExvZ28iLGFsdDoidGh1bWJuYWlsLWltYWdlIn0pKSxfLksoImRpdiIse2NsYXNzOm1hLCJvbjp0b3VjaHN0YXJ0IjpDLCJvbjp0b3VjaGVuZCI6bn0sXy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvQ2hhbm5lbEluZm8iLApyb2xlOiJ0ZXh0In0sXy5LKF8uVix7dGV4dDpNLGNsYXNzTmFtZToieXRtVmlkZW9JbmZvRmx5b3V0Q2hhbm5lbFRpdGxlIix5YzohMCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSxfLksoXy5WLHt0ZXh0OlMsY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9GbHlvdXRDaGFubmVsU3VidGl0bGUiLHljOiEwLHViOiEwLG5vV3JhcDohMCxtYTohMH0pKSxfLksoXy5PLHtBOnRhLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVZpZGVvSW5mb1N1YnNjcmliZUJ1dHRvbiJ9LF8uSyhfLlcse2RhdGE6WX0se3N1YnNjcmliZUJ1dHRvblJlbmRlcmVyOmZXfSkpfSkpKX0pKSl9LCJRZSIpO0hXLmlkb21Db21wYXQ9ITA7dmFyIFRVPV8uJE4uQXQsT2xhPV8uJE4uZ3UsdG5hPV8uTCgoe1F5OmEsb25DbGljazpiLEpuOmMsQnM6ZH0pPT57dmFyIGU9Xy51RSgiYnV0dG9uIixoPT57V1MoaCwyODY2Mil9KSxmPSgpPT5VVShhKCksYz8uKCksZD8uKCkpLmFyaWFMYWJlbDtyZXR1cm4gXy5LKCJ5dG0tbXV0ZS1idXR0b24iLHtjbGFzczoieXRtTXV0ZUJ1dHRvbkhvc3QifSxfLksoImJ1dHRvbiIse2VsOmUsY2xhc3M6Inl0bU11dGVCdXR0b25CdXR0b24iLHRpdGxlOmYsImFyaWEtbGFiZWwiOmYsIm9uOmNsaWNrIjpmdW5jdGlvbihoKXtYUygyODY2Mik7Yj8uKGgpO2guc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PlVVKGEoKSxjPy4oKSxkPy4oKSkuaWNvbk5hbWV9KSkpKX0sIlJlIik7dmFyIElXPV8uTCgoe0hCOmEsV3E6YixKbjpjLEJzOmQsY2xhc3NOYW1lOmV9KT0+Xy5LKCJ5dC1tdXRlLXRvZ2dsZS1idXR0b24iLHtjbGFzczplfSxfLksodG5hLHtReTooKT0+e3ZhciBmPWEoKTtyZXR1cm4gZi5yY3x8Zi52b2x1bWU9PT0wPzA6Zi52b2x1bWU+NTA/MToyfSxvbkNsaWNrOmY9Pnt2YXIgaD1hKCkuSDtoJiYoaC5pc011dGVkKCk/aC51bk11dGUoKTpoLm11dGUoITEpKTtiPy4oZil9LEpuOigpPT4hIWM/LigpLEJzOigpPT4hIWQ/LigpfSkpLCJTZSIpO0lXLmlkb21Db21wYXQ9ITA7dmFyIFZVO3ZhciB1bmE9Xy5MKCh7ZW5hYmxlZDphLGFyaWFMYWJlbDpiLG9uQ2xpY2s6Y30pPT5fLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpiLCJhcmlhLXByZXNzZWQiOmEsIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtjPy4oZCk7ZC5zdG9wUHJvcGFnYXRpb24oKX0sY2xhc3M6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25Ib3N0In0sXy5LKF8uTUQse2ljb246KCk9PmEoKT8iQVVUT05BVl9PTl9UT0dHTEVfU1BBTk5FUiI6IkFVVE9OQVZfT0ZGX1RPR0dMRV9TUEFOTkVSIixjbGFzc05hbWU6KCk9PmEoKT8ieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblNwYW5uZXJJY29uT24iOiJ5dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PZmYifSksXy5LKF8uTUQse2ljb246KCk9PmEoKT8iUExBWV9DSVJDTEVfRklMTEVEIjoiUEFVU0VfQ0lSQ0xFX0ZJTExFRCIsY2xhc3NOYW1lOigpPT5hKCk/Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25QbGF5SWNvbiI6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25QYXVzZUljb24ifSkpLAoiVGUiKTt2YXIgSlc9Xy5MKCh7RzphLEN1OmJ9KT0+e18uQ1EoYixlPT57ZSYmZS5lbmFibGVkIT09dm9pZCAwJiZlLmVuYWJsZWQhPT1hKCkuYXV0b25hdkVuYWJsZWQmJlhVKGEoKSxlLmVuYWJsZWQsITEpfSk7dmFyIGM9Xy5OKCgpPT5hKCkuYXV0b25hdkVuYWJsZWQ/Xy5ESihiKCkuZW5hYmxlZEFjY2Vzc2liaWxpdHlEYXRhKTpfLkRKKGIoKS5kaXNhYmxlZEFjY2Vzc2liaWxpdHlEYXRhKSx2b2lkIDAsIlE5Z3Z6YyIpLGQ9Xy5OKCgpPT5hKCkuYXV0b25hdkVuYWJsZWQsdm9pZCAwLCJJUUNaa2YiKTtyZXR1cm4gXy5LKCJwbGF5ZXItYXV0b25hdi10b2dnbGUiLHtjbGFzczoieXR3UGxheWVyQXV0b25hdlRvZ2dsZUhvc3QifSxfLksodW5hLHtlbmFibGVkOmQsYXJpYUxhYmVsOmMsb25DbGljazplPT57dmFyIGY9YSgpLGg9Zi5hdXRvbmF2RW5hYmxlZDtYVShmLCFmLmF1dG9uYXZFbmFibGVkLCEwKTt2YXIgaz1iKCk7IWgmJmsub25FbmFibGVkQ29tbWFuZD9fLkFKKGsub25FbmFibGVkQ29tbWFuZCwKaywhMCk6aCYmay5vbkRpc2FibGVkQ29tbWFuZCYmXy5BSihrLm9uRGlzYWJsZWRDb21tYW5kLGssITApO1BsYShmLGIoKSk7dVMoZil8fGNUKGYse0ljOiEwfSk7ZS5zdG9wUHJvcGFnYXRpb24oKX19KSl9LCJVZSIpO0pXLmlkb21Db21wYXQ9ITA7dmFyIExXPV8uTChhPT57dmFyIGI9KCk9Pk5TKGEucGxheWVyT3ZlcmxheVJlbmRlcmVyPy4oKSxhLnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uKCkpLGM9KCk9PmIoKSYmIWEuRygpLmJhPy5oaWRlVmlkZW9JbmZvO3JldHVybiBfLksoInBsYXllci10b3AtY29udHJvbHMiLHtjbGFzczoieXR3UGxheWVyVG9wQ29udHJvbHNIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy10b3AiLHt5dHdQbGF5ZXJUb3BDb250cm9sc0NvbnRhaW5lcldpdGhFbWJlZGRlZFZpZGVvRGV0YWlsczpjfSksIm9uOmNsaWNrIjpmdW5jdGlvbihkKXtkLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSyhIVyx7dmlkZW9EZXRhaWxzOmIsRzphLkd9KX0pLF8uSyhfLk8se0E6KCk9PiFhLkcoKS5iYT8ubmgmJiEkUyhhLkcoKSksdGhlbjooKT0+Xy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUb3BDb250cm9sc1BsYXllckNvbnRyb2xzVG9wUmlnaHQiLAoicGxheWVyLWNvbnRyb2xzLXRvcC1yaWdodCIse3l0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzUGxheWVyQ29udHJvbHNUb3BSaWdodDpjfSl9LF8uSyhLVyx7RzphLkcscGxheWVyT3ZlcmxheVJlbmRlcmVyOmEucGxheWVyT3ZlcmxheVJlbmRlcmVyfSkpLFc6KCk9Pl8uSyhLVyx7RzphLkcscGxheWVyT3ZlcmxheVJlbmRlcmVyOmEucGxheWVyT3ZlcmxheVJlbmRlcmVyfSl9KX0pKSl9LCJWZSIpO0xXLmlkb21Db21wYXQ9ITA7CnZhciB2bmE9KGEsYik9Pl8uSyhkVyx7Z2Y6YSxWcjohMCxXcTpifSksS1c9Xy5MKCh7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpifSk9Pnt2YXIgYz0oKT0+YSgpLkg7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+YSgpLmJhPy52b2x1bWVDb250cm9sVHlwZT09PSJ2b2x1bWUtc2xpZGVyIn0sKCk9Pl8uSyhIVix7b3JpZW50YXRpb246InZlcnRpY2FsX2Rvd24iLGJqOiEwLEg6Y30pKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBkPWEoKS5IPy5nZXRTaXplKCksZT1kPy53aWR0aCYmZC53aWR0aD49MjUwO2Q9ZD8uaGVpZ2h0JiZkLmhlaWdodD49MjAwO3JldHVybiBhKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09Im11dGUtYnV0dG9uIiYmZSYmZH19LCgpPT5fLksoSVcse0hCOmEsSm46ITB9KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKF8uSUIsbnVsbCkpKSxfLksoXy5PLHtBOigpPT4hIXpTKGI/LigpKSx0aGVuOigpPT5fLksoSlcsCntHOmEsQ3U6KCk9PnpTKGI/LigpKX0pfSksdm5hKGEsZnVuY3Rpb24oKXtjVChhKCkse0ljOiEwfSl9KSxfLksoXy5PLHtBOigpPT57dmFyIGQ9YSgpLkg/LmdldFNpemUoKTtkPWQ/LndpZHRoJiZkLndpZHRoPj0zMjB8fCFhKCkuYmE/Lm9oO3JldHVybiEhYSgpLnRhLlNqJiZkfSx0aGVuOigpPT5fLksoYlcse0c6YX0pfSkpfSwiV2UiKTtLVy5pZG9tQ29tcGF0PSEwO3ZhciBNVz1fLkwoYT0+e2Z1bmN0aW9uIGIoVCl7VC5wb2ludGVyVHlwZT09PSJtb3VzZSImJihsKCkuUyh7ZWE6ITB9KSxjVChsKCkse0ljOiEwfSkpfWZ1bmN0aW9uIGMoVCl7S1UoVCxsKCkpfWZ1bmN0aW9uIGQoVCl7dmFyIGJhPWwoKTtpZih4VShUKSl7VC5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYWE9VC50b3VjaGVzWzBdO0hVPWFhLnBhZ2VYO3pVPWFhLnBhZ2VZO18ueCgid2ViX2VuYWJsZV9zbWFydF96b29tIikmJlQudG91Y2hlcy5sZW5ndGg9PT0yJiYoQlU9d1UoVCkpO0hUKGJhLFQudG91Y2hlcy5sZW5ndGgpO2JhLmJhPy5NaXx8YmEuTmF8fGJhLldkfHxiYS5zYnx8Xy5URSgpfHwoRVU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vdmllX3BsYXllciIpKSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNpdGlvbjoiIix0cmFuc2Zvcm1PcmlnaW46IiJ9KX19ZnVuY3Rpb24gZShUKXt2YXIgYmE9bCgpO2lmKHhVKFQpKXtULnN0b3BQcm9wYWdhdGlvbigpO3ZhciBhYT0KVC50b3VjaGVzWzBdO0FVPSEwO0dVPWFhLnBhZ2VYO3lVPWFhLnBhZ2VZO2FhPXtsazpHVS1IVSxPZDp5VS16VX07YWEuT2Q9PT0wJiZhYS5saz09PTB8fF8uTUUoKSYmIWJhLmlzRnVsbHNjcmVlbnx8YmEuYmE/Lk1pfHxULnByZXZlbnREZWZhdWx0KCk7SVQoVCxhYSxiYSk7Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmVC50b3VjaGVzLmxlbmd0aD09PTImJkJVIT09MCYmTWF0aC5hYnMod1UoVCktQlUpPjEwJiZEVSghMCk7IWJhLmJhPy5NaSYmKGJhLk5hfHxiYS5XZHx8YmEuc2J8fF8uVEUoKXx8Xy5NRSgpJiYhYmEuaXNGdWxsc2NyZWVufHwoYmEuUyh7ZWE6ITF9KSxUPWFhLk9kLGJhLmlzRnVsbHNjcmVlbiYmKFQqPS0xKSwhYmEuaXNGdWxsc2NyZWVuJiZUPjAmJihUPTApLFQ8LTEwMCYmKFQ9LTEwMCksYmEuaXNGdWxsc2NyZWVuP0VVJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2Zvcm06YHNjYWxlKCR7MS0uMDUqTWF0aC5taW4oNCpNYXRoLmFicyhULy0xMDApLAoxKX0pIHRyYW5zbGF0ZVkoJHstVH1weClgfSk6RVUmJk9iamVjdC5hc3NpZ24oRVUuc3R5bGUse3RyYW5zZm9ybTpgc2NhbGUoJHsxKy4yNSpNYXRoLmFicyhULy0xMDApfSlgLHRyYW5zZm9ybU9yaWdpbjoiYm90dG9tIGNlbnRlciJ9KSksIWJhLmlzRnVsbHNjcmVlbnx8YmEuaXNEcmFnZ2luZ3x8YmEuc2J8fCFfLk1FKCkmJiFfLlRFKCk/MDpiYS5XZHx8KGJhLk5hP0RRKGFhLk9kLDAsMjE1KTpEUShhYS5PZCwtMjE1LDApKSE9PTApJiYoYlQoKSxiYS5TKHtXZDohMCxlYTohMCxKZjpiYS5OYT9EUShhYS5PZCwwLDIxNSk6RFEoYWEuT2QsLTIxNSwwKX0pKX19ZnVuY3Rpb24gZihUKXtJVShULGwoKSxtKCkpfWZ1bmN0aW9uIGgoVCl7SVUoVCxsKCksbSgpKX1mdW5jdGlvbiBrKFQpe1Quc3RvcFByb3BhZ2F0aW9uKCl9dmFyIHtHOmwsZGF0YTptfT1fLkRDKGEse2RhdGE6dm9pZCAwfSksbj1fLk4oKCk9PmwoKS5ILHZvaWQgMCwiWjdIOXJlIik7YT1fLk4oKCk9PmwoKS5lYSx2b2lkIDAsCiJkcmhxN2QiKTt2YXIgcD1fLk4oKCk9PmwoKS5zYix2b2lkIDAsInZzdFlFZSIpLHI9Xy5OKCgpPT5sKCkuYmE/LkVlLHZvaWQgMCwiTGJGd0piIiksdD1fLk4oKCk9PmwoKS5LYj4oXy54KCJtd2ViX3BsYXllcl90YXBwaW5nX3RocmVzaG9sZF9raWxsc3dpdGNoIik/ODowKSx2b2lkIDAsImU0anFNZCIpLHY9Xy5OKCgpPT5sKCkuSmQhPT0wLHZvaWQgMCwicHFnRDVlIiksej1fLk4oKCk9PmwoKS5iYT8uWmgsdm9pZCAwLCJ0bVFkZyIpLEU9KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzLEE9Xy5OKCgpPT4kUyhsKCksbSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXMpLHZvaWQgMCwiWGE5cXhmIiksRj1fLk4oKCk9PiFsKCkuYmE/LnpyLHZvaWQgMCwibUZPbHQiKSxDPV8uTigoKT0+e3ZhciBUPWwoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITE6VC5pc0xpdmUmJiFULmlzTGl2ZUR2ckVuYWJsZWR9LHZvaWQgMCwKIkQxaTY3IiksRz1fLk4oKCk9Pnt2YXIgVD1DKCk7cmV0dXJuIHJVKCkmJiFUfSx2b2lkIDAsInZRemltZSIpLEQ9Xy5OKCgpPT50KCkmJnYoKSx2b2lkIDAsIkJlR3A3IiksSD1fLlAoIm5ldy1jb250cm9scyIsImJpZ2JhciIsIm1lZGl1bS1tb2RpZmljYXRpb24iLCJhbmltYXRpb24tZW5hYmxlZCIsImVuYWJsZS1mdWxsc2NyZWVuLWNvbnRyb2xzIiwiZnMtd2F0Y2gtc3lzdGVtIix7ZmFkZWluOmEsImJhY2tncm91bmQtaGlkZGVuIjpwLCJmdWxsc2NyZWVuLWNvbnRyb2xzLWFsd2F5cy1vbiI6ciwiZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMtZm9yLXBvcnRyYWl0IjpfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSksUj0oKT0+bT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlLE09KCk9Pm0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsUz0oKT0+bSgpPy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIsWT0oKT0+CkdTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpLHBhPSgpPT5tKCk/LmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uZGVmYXVsdFRodW1ibmFpbHx8bSgpPy5wbGF5ZXJSZXNwb25zZT8udmlkZW9EZXRhaWxzPy50aHVtYm5haWwsb2E9KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXllckNvbmZpZz8uYXV0b2Nyb3BDb25maWcsVT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlciYmbigpLGhhPSgpPT57dmFyIFQ7aWYoVD1QUyhtKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixtKCk/LmpiKSl7VD1sKCk7dmFyIGJhPW4oKSxhYT1QUyhtKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixtKCk/LmpiKTtpZihhYSYmYWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC50aXRsZXx8YWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwuYm9keVRleHQpJiYKYmEmJmJhLmdldFBsYXllclN0YXRlT2JqZWN0JiZiYS5nZXRQbGF5ZXJTaXplJiYhXy5ESShramEsYWEuaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwuZGlzbWlzc1N0YXRlRW50aXR5S2V5KSgpPy5pc0Rpc21pc3NlZCl7YWE9YmEuZ2V0UGxheWVyU3RhdGVPYmplY3QoKT8uaXNFcnJvcjtpZihhYT0hdVMoVCkmJiFhYSlhYT1iYS5nZXRQbGF5ZXJTaXplKCksYmE9YWEud2lkdGg8MzYwLGFhPWFhLmhlaWdodDwzMjAsYWE9ISgoVC5wbGF5ZXJTdGF0ZT09PS0xfHxULnBsYXllclN0YXRlPT09NSkmJmJhJiZhYSk7VD1hYX1lbHNlIFQ9ITF9cmV0dXJuIFR9LG1hPSgpPT57dmFyIFQ9bSgpPy5wbGF5ZXJSZXNwb25zZTtyZXR1cm4gXy5CKFQ/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyPy5tdXRlZEF1dG9wbGF5LG9WKX0sdGE9KCk9Pm0oKT8uSD8uaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheT8uKCk7cmV0dXJuIF8uSygieXRtLXdhdGNoLXBsYXllci1jb250cm9scyIsCntjbGFzczoieXRtV2F0Y2hQbGF5ZXJDb250cm9sc0hvc3QifSxfLksoXy5PLHtBOigpPT57dmFyIFQ9bCgpLGJhPW0oKT8ucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzO3JldHVybiBfLngoIm13ZWJfaGlkZV9jb250cm9sc19mb3JfdW5wbGF5YWJsZV92aWRlb19rcyIpfHwhYmF8fE1SKGJhKXx8VC5pc0Z1bGxzY3JlZW4/KHlTKFQpfHxULnBsYXllclN0YXRlPT09LTF8fFQucGxheWVyU3RhdGU9PT01fHxULnJjJiYhVC5iYT8uckE/ITE6dVMoVCk/ITA6VC5wbGF5ZXJTdGF0ZT09PTF8fFQucGxheWVyU3RhdGU9PT0zfHxULnBsYXllclN0YXRlPT09Mil8fFQucmMmJnVTKFQpfHwkUyhULGJhKTohMX0sdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOnosdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoR1Yse0c6bCx0aHVtYm5haWxEZXRhaWxzOnBhfSksXy5LKHVWLHtHOmwsSDpuLHBsYXlhYmlsaXR5U3RhdHVzOkV9KSl9KSxfLksoXy5PLHtBOmhhLHRoZW46KCk9PgpfLksodlcse2RhdGE6KCk9PlBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpLHByb3BzOmx9KX0pLF8uSyhfLk8se0E6dGEsdGhlbjooKT0+Xy5LKExWLHtHOmwscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjptYX0pfSksXy5LKF8uTyx7QTooKT0+IXRhKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoV1Yse0c6bH0pLF8uSyhfLk8se0E6KCk9Pl8ueCgibXdlYl9iZXR0ZXJfY2FwdGlvbnNfcGxhY2VtZW50IiksdGhlbjooKT0+Xy5LKCJkaXYiLHtpZDoiY2FwdGlvbnMtZ2Fsb3JlLWNvbnRhaW5lciJ9KX0pLF8uSygiZGl2Iix7aWQ6InBsYXllci1jb250cm9sLW92ZXJsYXkiLGNsYXNzOkgsIm9uOmNsaWNrIjpjLCJvbjpwb2ludGVybW92ZSI6Yiwib246dG91Y2hzdGFydCI6ZCwib246dG91Y2htb3ZlIjplLCJvbjp0b3VjaGVuZCI6Ziwib246dG91Y2hjYW5jZWwiOmh9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtY29udGVudCIsCnsicG9pbnRlci1ldmVudHMtb2ZmIjpEfSl9LF8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kLWNvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtYmFja2dyb3VuZCIseyJmdWxsc2NyZWVuLXJlY3MtZXhwYW5kZWQiOigpPT5JUyhsKCkpfSksIm9uOnRvdWNoc3RhcnQiOmQsIm9uOnRvdWNobW92ZSI6ZSwib246dG91Y2hlbmQiOmYsIm9uOnRvdWNoY2FuY2VsIjpofSksXy5LKCJkaXYiLHtjbGFzczoieXRtV2F0Y2hQbGF5ZXJDb250cm9sc0JhY2tncm91bmRBY3Rpb25JdGVtcyIsIm9uOmNsaWNrIjprfSxfLksoXy5PLHtBOigpPT57dmFyIFQ7aWYoVD0hQSgpKVQ9bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGFpZENvbnRlbnRPdmVybGF5Py5wYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlcjtyZXR1cm4gVH0sdGhlbjooKT0+Xy5LKERXLHtkYXRhOigpPT5tKCk/LnBsYXllclJlc3BvbnNlPy5wYWlkQ29udGVudE92ZXJsYXk/LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfSl9KSwKXy5LKF8uTyx7QTpVLHRoZW46KCk9Pl8uSyhsVyx7ZW5kc2NyZWVuUmVuZGVyZXI6KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXIsRzpsfSl9KSkpLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOkcsdGhlbjooKT0+Xy5LKHJXLHtHOmx9KX0pLF8uSyhGVix7RzpsLHBsYXllck92ZXJsYXlSZW5kZXJlcjpNfSksXy5LKFZWLHtnZjpsLEliOiExfSkpfSksXy5LKCJkaXYiLHtzdHlsZTpZVSgoKT0+SlMobCgpLEFTKG0/LigpPy53YXRjaE5leHRSZXNwb25zZSkpKX0sXy5LKExXLHtHOmwscGxheWVyT3ZlcmxheVJlbmRlcmVyOk0sdGh1bWJuYWlsUHJldmlld1JlbmRlcmVyOlN9KSxfLksoXy5PLHtBOigpPT4hQSgpLHRoZW46KCk9Pl8uSyhHVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlJ9KX0pKSxfLksoXy5PLHtBOigpPT4hQSgpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLAp7c3R5bGU6WVUoKCk9Pnt2YXIgVD1sKCksYmE9QVMobT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlKTtyZXR1cm4gSFMoVCxiYSl8fFQuYmE/Lm5oPyExOlQuaXNMaXZlfHxKUyhUKX0pfSxfLksoRVcse0c6bCxTbTooKT0+Q1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikscGxheWVyT3ZlcmxheVJlbmRlcmVyOk19KSksXy5LKCJkaXYiLHtzdHlsZTpZVSgoKT0+e3ZhciBUPWwoKTtyZXR1cm4gVC5iYT8ubmg/ITE6IUlTKFQpfSl9LF8uSyhDVix7TGI6bCxoZjpZLGNvbmZpZzooKT0+KHtjbGFzc05hbWU6IndhdGNoLXBhZ2UtcHJvZ3Jlc3MtYmFyIixwb3NpdGlvbjowLEluOkYoKSxSYTpFUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKSxLZjohMSxkaXNhYmxlU2NydWJiaW5nOkMoKSxvblRvdWNoTW92ZTooKT0+e3ZhciBUPWwoKSxiYT1FUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKTtiYSYmKFQ9bFQoVCxiYSksbVQoVCkpfSxZbzooKT0+e2JUKCl9LEZuOigpPT4Ke2NUKGwoKSx7SWM6ITB9KX0scHJvZ3Jlc3NDb2xvcjpfLngoImVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjIiKT9DUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKT8ucHJvZ3Jlc3NDb2xvcjp2b2lkIDAsaGY6UWxhKEdTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpKX0pfSkpLF8uSyhGVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlJ9KSl9KSxfLksoQ1cse0c6bCx3YXRjaE5leHRSZXNwb25zZTpSLHRodW1ibmFpbFByZXZpZXdSZW5kZXJlcjpTLGF1dG9jcm9wQ29uZmlnOm9hfSkpKSl9KSl9KSl9LCJYZSIpO01XLmlkb21Db21wYXQ9ITA7dmFyIGNWPV8uTChhPT57dmFyIGI9Xy5OKCgpPT5hLmRhdGEoKS5ILHZvaWQgMCwiRHVmbU0iKSxjPV8uTigoKT0+bmV3IHFXKCgpPT57fSx7dGE6YS5jb250ZXh0KCkudGEsVGM6YS5jb250ZXh0KCkuVGMsR2M6YS5jb250ZXh0KCkuR2MsYmE6YS5jb250ZXh0KCkuYmF9LHthdXRvbmF2RW5hYmxlZDphLmNvbnRleHQoKS50YS5kZSgpLGVhOlJsYShiKCkpfSxiKSx2b2lkIDAsImpQeDhkZSIpLGQ9W107Xy5uRSgoKT0+e2IoKSYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e1pVKGQpO3VXLmZvckVhY2goZT0+e2QucHVzaChlLnJlZ2lzdGVyKCgpPT5jKCkudWQoKSwoKT0+YS5kYXRhKCkpKX0pfSl9LCJIdVlNSmIiKTtfLll1KCgpPT57TVUoKCk9PmMoKS51ZCgpKTtiVCgpO2EuY29udGV4dCgpLnRhLmV4aXRGdWxsc2NyZWVuPy4oKTtaVShkKX0pO3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coJFQsYildfSxfLksoInl0bS1jdXN0b20tY29udHJvbCIse2NsYXNzOiJ5dG1DdXN0b21Db250cm9sSG9zdCJ9LApfLksoTVcse0c6KCk9PigwLGMoKS5CKSgpLGRhdGE6YS5kYXRhfSkpKX0sIlplIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uelo9ZnVuY3Rpb24oYSl7Xy5iWihhKTtfLmRWKGEpfTtfLnp5PV8uelo7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInI3OERyYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":14,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/generate_204?mAYfMw","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:51.453Z","timestamp":1785129951453,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /generate_204?mAYfMw HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/H7OiZO_9ahE\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-length: 0\r\ncross-origin-resource-policy: cross-origin\r\ndate: Mon, 27 Jul 2026 05:25:51 GMT\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":172,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-15T16:46:18.775881Z","times_seen":17905015,"resource_available":true,"data":""}},"time_used":9,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"172.217.118.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:51.682Z","timestamp":1785129951682,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"OPTIONS /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAccess-Control-Request-Method: POST\r\nAccess-Control-Request-Headers: content-type,x-goog-api-key\r\nReferer: https://www.youtube.com/\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"OPTIONS"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: https://www.youtube.com\r\nvary: origin, referer, x-origin\r\naccess-control-allow-credentials: true\r\naccess-control-allow-methods: DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUT\r\naccess-control-allow-headers: content-type,x-goog-api-key\r\naccess-control-max-age: 3600\r\ndate: Mon, 27 Jul 2026 05:25:51 GMT\r\ncontent-type: text/html\r\nserver: ESF\r\ncontent-length: 0\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":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-15T16:46:18.775881Z","times_seen":17905015,"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":"digitaltradeinvest.org/images/home-business-tab-img04.jpg","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.067Z","timestamp":1785129949067,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /images/home-business-tab-img04.jpg HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: image/webp\r\ncontent-length: 32790\r\ncache-control: public, max-age=604800\r\nage: 88\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 3418dc493b2ff67e88ae34859cf15471-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":32790,"size_decoded":33094,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"5235403c1d1a325fdb9c72d796058b04","sha1":"1266c252e1a9d50f90d45a4a5be487219f8eba04","sha256":"8198d744ebdbe467000eb1b7bf379c40e845740e4fa8911a6ba119175c7a67f0","sha512":"38fbc07035618af22f3da5b4c84c64ae93b1b0ec01cb0b51d346a8161565b979cf7f568e474cd618b23d34b0c08b47ab1e3bb6414634824f601ad246b93af755","ssdeep":"768:gNzYhv4/FGoFxc5/YM2Pd0GcXoCIKpJxcJB9hqPmtiyX31DU:UCvEFGGY/z2Pdg3IKmLEmtiyXtU","tlshash":"14e2f132364e60a7e91794015152d1ad53bc2cf3350ba9ef8671efcb0ebb5a8f492780","first_seen":"2026-07-27T03:23:52.791778Z","last_seen":"2026-07-27T09:46:53.945485Z","times_seen":7,"resource_available":false,"data":"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"}},"time_used":65,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":64,"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":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/home-business-slider-img01.jpeg","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.561Z","timestamp":1785129949561,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /home-business-slider-img01.jpeg HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: image/webp\r\ncontent-length: 9362\r\ncache-control: public, max-age=604800\r\nage: 87\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 3fd4e1fd0de988e0a2d6ca75307bc7db-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":9362,"size_decoded":9665,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"16167e68591cb2797af25b2e80c714c1","sha1":"256fde7f665fea13d0b1c9e70bc76ed3cd8b4324","sha256":"dad7eeae4afd9c17d7ac0e4206c38a79daf2c3e28e1000a19f3ea7278bb16c01","sha512":"5984f3fd62bb96085dfd8a62e95bae74093158649c3530609ad34177e7614e8a0007a8a085eabb6a8be5b7ee5cdb9aca6e4046bc139ed2098f85bf272a40e63f","ssdeep":"192:ZzWHeWpdyaA7sj+bHdZIFtnjo3tyOo/CRHXjdymn826zb1QzrWr:Z8bE1bHdZYtnjo33VQM826/uzrW","tlshash":"3712ae9e852ea6dad97ee03e3b45fb0e1ae24ddd2141071c25d81842dc2646cb9cdef0","first_seen":"2026-07-27T04:14:44.378103Z","last_seen":"2026-07-27T05:27:28.112303Z","times_seen":3,"resource_available":false,"data":"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"}},"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":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/home-business-slider-img03.jpeg","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.564Z","timestamp":1785129949564,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /home-business-slider-img03.jpeg HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: image/webp\r\ncontent-length: 11084\r\ncache-control: public, max-age=604800\r\nage: 87\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: cc3356ffafabe1af434857dae8344fab-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":11084,"size_decoded":11388,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"0167f600372a545fee14de8323b8ee8d","sha1":"b35682362fe1953c531a34048dad37f96936a456","sha256":"a121861dd47f7782c485d945b04a2be1a895e933b81050d393b0b393fa9ceab9","sha512":"074401829113f62e7e1fd19d3f94b05829f009450f1b260edc10b7ab81ca7a72fd7b19af3c70b149dca669821c18c1b5afbd272c92e49561c81aa610e0930d0a","ssdeep":"192:m3lwvI7kABVcBj9l22ekLnWp7Hc/S+2t6lsEMR5uZ6MWWbzqjtWesi:vvI7S7ekLcDcyt6lsEu5E6sC/n","tlshash":"d632bf6b68d6fefbd67aa5709e0f167e48c2ec70b4330a0361db485c38c6174cab4152","first_seen":"2026-07-27T04:14:44.620619Z","last_seen":"2026-07-27T05:27:28.083106Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:49.644Z","timestamp":1785129949644,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/H7OiZO_9ahE\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 475313\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:32:16 GMT\r\nexpires: Thu, 22 Jul 2027 07:32:16 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 424413\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1597230,"size_decoded":476001,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (787)","md5":"ef473a4d0528fc7651d726fa43900068","sha1":"3b0d807a63c3244fc3fedeac020c2e81106185e1","sha256":"360a9b05bfc89caf69f220ef2473c20d1657318e21c4e0ffdab81e238b42dc61","sha512":"590afd923ebf8ce8da8def22bdf6149595740d96360cbf541954f52366a31fd5e3d3e6d8dd973044383f2cbad84c18f9f67ff69bf04c3dc6891b35b3eb29bb90","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4kf:fdhuuYnFCL4MVJBJO5DtKV2hdf","tlshash":"7e255b9977f2b46343a3f0e0286f018ab17f591454ccd46cb9a9e5f42da090e917bfac","first_seen":"2026-07-22T15:37:53.752532Z","last_seen":"2026-07-27T16:06:30.195204Z","times_seen":1773,"resource_available":false,"data":"dmFyIF95dF9wbGF5ZXI9e307KGZ1bmN0aW9uKGcpe3ZhciB3aW5kb3c9dGhpczsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIENvcHlyaWdodCBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwovKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBJPSd0b1N0cmluZztOO2Ntbz10ZDtzcGxpY2U7MTk3MC0wMS0wMVQxMTo0NTo0MS4wMDArMTE6NDU7bGVuZ3RoO21hdGNoOy87Y2xvbmU7WDtjYWxsO3Rocm93O2Ntbztqb2luO2Fzc2lnbjsvdmlkZW9wbGF5YmFjaztodHRwOi8vbG9jYWw7SjtpbmRleE9mO3d3dy55b3V0dWJlLmNvbTtzcDs7cHVzaDtzbGljZTtHRztyZXZlcnNlO3NjaGVtZTtcXC5nb29nbGV2aWRlb1xcLmNvbSQ7cGF0aDt1cmw7L2luaXRwbGF5YmFjaztuO3BsYXllcmZhbGxiYWNrO2dldDtzZXQ7c3RhcnRzV2l0aDtzcGxpdDs9O2ZhbGxiYWNrX2NvdW50O1c7MTtWO3k3O3Vuc2hpZnQ7cnI7dW5kZWZpbmVkO3BvcDssO2luZGV4Lm0zdTg7Jjtmcm9tQ2hhckNvZGU7V3NsWmtDWm96bFlyNkVCME43LV93OF87cnI/WzEtOV0uKlxcLmNcXC55b3V0dWJlXFwuY29tJDsxOTcwLTAxLTAxVDAyOjMwOjMxLjAwMCswMjozMDslM0Q7RWw7XFwuYTFcXC5nb29nbGV2aWRlb1xcLmNvbSQ7bGV0O0VJO3M7Zm9yRWFjaDt5SXkxUGEyOzE5NjktMTItMzFUMTc6MDA6MzcuMDAwLTA3OjAwO2xvY2FsO2Zvcjt5b3V0dWJlLnBsYXllci53ZWJfMjAyNjA3MjFfMDhfUkMwMDsvZmlsZS9pbmRleC5tM3U4OywiIns7Oi8vO1VudHJ1c3RlZCBVUkw7ZnZpcDthMS5nb29nbGV2aWRlby5jb207V0Q7aHR0cHM6Ly9sb2NhbDttbjsvLztmaWxlO3NpZ25hdHVyZUNpcGhlcjsvYXBpL21hbmlmZXN0O2Ntbz1wZjtyO3JlcGxhY2U7cmVkaXJlY3Rvci5nb29nbGV2aWRlby5jb207LCx9L1wnO3hpJy5zcGxpdCgiOyIpLApXWixuMncsaGksazIsdjJDLGVVLE5pLHB0LEFpLGhNaSxFdyx1eCxkcix4aU0semIsbHgsTFMxLFZqLGVNcixENCxrMyx4MyxneixxVSxKRixTaixtYyxLYixPTSxxd3QsR2JpLFYyLERlLGFNLHRVaCx2NCxucCwkaXgsaEEscmliLHhsLGUxLFhNLHFoLEc1LHNULHBwLEkxaSxTd2gsSkEsUzEsQUEsbVcsS3AsUDQsWmUseUcsVDUsS1MxLFJQLE90aSxadFosbjAsVWl3LFcyLERYLGJwLGtLLGg0LHlpdCx4SyxMMCwkSyxzQSxOeCxwMCxZSyxTdSx1aGgsemgsbHAsbzIsVUEsek0yLEMwLE14LFFsLFZsLFIyLGMyLG41LFc5LHY5LGtVLGhfLEw1LFhELHEzLE4zLHA1LEg5LGY1LFlVLEkwLFNYLG0wLEs1LE9fLFpCLFVfLEVfLHU0LEM1LEI5LG8wLHo5LEZELGpDaCxDeE0sYTAsbkcsRlMyLFdILGJXLGh2LHh2LGVXLGdnLHdaQyxHeix0dixWVVMscmcsTkUsWXYscEcsbjMyLFNXLEp2LFdjcixiYlosT0ssbV8sUEgsWlIsVUsseWcsS0csaVcsRUssb3osdVcsQ0csZGcsbFcsRkYsTUUsUnosClFnLGNILEQyLGJhLHZXLGF6LFdXLG5uLGhTLHg5LGVFLGdlLHFILFhfLFZHLHRTLCQ5LHJlLHNWLGpXLE5ILGFQLHBuLFk5LEhXLEpTLElZLEFTLEtuLFBXLHkxLHVhLG9ZLGs0MixaMixpYSx6JCxsYSxDbixqRSxGXyx3ZSxNSCxRMSxhWSxEOSxiRyxrbSx4bSxMaCx4VWosWHQsWW0sSHksSjMsSXgsU0MsQTMsbTQsS2gsT3MseW0sRXMsaUcsUHksdUcsb3gsZEcsVFMsQ2gsd0csTWYsUngsakMsVm0sYXgsbjgsWE1pLGczVSxiNixrbixoOSxMOCxxTU0sZTYsWGYsc2YsTlkscDgsSjksSV8sSzgsdGpVLHU2LG9fLHNNMixkUSxOenIsenYsbDYsVHYsajYsQzgsQk8sd1EsUl8sY08sV3gsdngsa3ksaEsscWMsWFp4LEFLLG9oLHVrLE1jLHdtLGZULHBNeCxZTXgsbkssdkwsREQsSGJTLEpGWixMSyxJNFMsZWcsZ0QsQUZaLG1VdyxTTVMsS2NoLFBfaSxaYmgsVVViLHJGdCxQTywkVU0sRzcseUZaLGVYLFhULEUzdCxpYlUsJEUsckQsTjUsbzNiLEhMLGZLLEpILElXLEFILEtLLGRVcixTZywKeTcsRTIsWkQsekJ0LE8yLG1oLGRELGw0aixUenIsak1oLHE4LCRHLHBxLFlHLFNPLGdwLEJ6aSxKJCxISixmcSxLcSxDXzEsRXUsdWUsbzUsRmNiLGRwLHozLHdNUyxsZSxUMyxqTyxSQmIsQkosRjEsd3AsUU1VLFY4LFI1LG5WLFE4LGE1LFczLERvLFZqdCx2MyxubDEsV1dyLGJwTSxibixMVix2bHIsZyQsazVaLHRxLFg2LGhIUyx4aGIsTFcyLGVIaCxnbGgsc2wsSDMsRzVoLHJBYixzUDIsTlR0LHA0aSwkaGgsdDFVLEpxLG1JLElpLFlUVSxPbCxQMyxabyx5aSxFbCxmZWIsSkF3LElldyxtaHcsU1RyLG9pLGQkLGxuLHpILEtXVSxCMyxQZjIsam0sT3BpLE12LHckLHlBMSxFbGksaXByLHVNWixSaSxuVyx6SGksVFRyLHZZLGtxLHhxLFhtLHF0LHQxLE50LHNqLENmMSxGV1osdzRyLFlxLEoxLElzLEhZLGZXLFYxVSxBMSxTUyxtRyxLVyxPaixaYSxQWSxjQVUsYWVoLG5LaSx5TixFaixpcix1cixscixvcyx6TixiMHgsZGgsVE4sQ1csalMsV3hoLHZLYixCWSxGbSx3aCxNdCxScyxRTiwKVk4sY1ksYXMsbl8sV0ssaEN4LERpLGJILHZLLGt0LHh4aixMeGksZUNVLGdLdCxYZCxZWSxoYSx4dCxMXyxxdyxzMncsclgsTldoLFl0LEhLLElGLFNBLEFhLG1hLHlLLHAyaix1SCxZQTEsbEgsVEssSDBpLGpBLENfLEJLLEo0cix3WCxNdyxSRixRSyxWSyxJWDEsY0ssYUYsbmUsV1MsRFEsYkMsa2oseGosTGUsZXYsdGsscjcscyQsTjYscGUsWWosSFMsZmUsSmssSVMsU3YsVSQsRSQsaUMsdUMsQTR4LG9TLGQ3LGxDLFRCLGp2LHc3LE02LFJTLFF0LGFTLG53LFdWLG14aixLeFUsREUsTzBpLFBwMSx2VixYJCxxTixVeGoseTQyLCRmLE5OLHB3LGZ3LFlmLEpyLG15LGkwYixQVixPdCxaRSx5Rix1dyxkMixDdyxVdCxUVzIsYUUsY1YsVzAsRHIsdjAsa1QsYmIsaHkseFQsQ3BNLGc4LEJXaixYbixxWCx3MjIsdHksTXVDLFJDVSxRMmksajJaLGFYQyxuVXcsSUssQXksSyQsZ1osWnIsVXoseUgsRXosaWIsb0sselEsbGIsVFEsQyQsQjAsRm4sUkssVkgsYzAsbnksV0IsREksYk8sdkIsCmtSLEx5LGhPLGI1dCxnSixlXyxHMSx0TywkUixOMCx2VTEsc1AscHksazlpLEFPLG1ZLEt5LFVQLHl4LGlPLGhxaCxkSix6MSxUMSxqXyxCQix3SixSOSxNMCxhOSxiUSxrdSxMRixlRixnMCxYcSwkdSxlcTEsZ1VyLHBGLFl1LE5MLEhOLFg5VSxKYyxJZyxTRixBYyxPUixaeSxVUixLRix5YyxFUix1USx0WFUsJDN4LHMwcixkMCxyX2osRzl3LHpuLE5aaSxpUSxvZyxINXgsbFEsVG4sakYsQ0YsRnEsdzAsZkJVLEpfMixJQmksY04sYWcsV3osRG0sU19aLEFfcixtM3csSzByLGI5LHZ6LFA0TSxrTyxoNyx4TyxMUCxlOSxnMyxVM3QscUIsaTVoLHVEeCwkTyxyMyx0Nyx5X3Isc0osTkIscFAsWU8sR28sRVVTLEh6LGZQLEo3LEk3LEE3LG1ULEtQLE9KLFB6LFRaaixabSxvNyxkMyxsOSxqMHgsRjBNLEJaaCx6byxGMyxWZCxNWFMsdzMsY3osbm0sYTcsRDUsYk0sV1UsUnEyLFEwUyxWWDIsY19aLGtRLGFCUyxudjIsV19DLERFeCxiR0MsdnZpLGt6aSxoSSx4USx4RXcsTF9pLGd2dyxldywKTG0sJFEscUt3LHNjLHBtLFlRLHRXdywkRXQsZm0sT2MsUFUsWjUseUosRWMsU3csVWMsaU0scnZoLHN6Uyx1TSx6VCxqdyxUVCxCVSxsTSxDbSxNYixhSSxuWCxOZ3csY1UsVkosZ0UsZVosdHAsJG8sckUsWUtqLGZSMixTS0MsSnZaLHM5LElSMSxOaixISSxwWCxJYixBcCxLWCxaQSxQSSxPOSxVOSxpeSx1eSxkRSxLXzIsT0d4LFBXMSxRUixNaixjSSxDWCxuVSxxMSxiUix2cyxrQSxUcCxzeSxwVSxpR2osS1UsRXZDLGpaLG1yLER2LGc0LE4xLGFiLEY0LEJJLHdFLFZSLHI0LHVSLG92LEV5LFRVLGp5LENVLENXaSxCcyxGUix3NCxNMSxCZ3Isd0hDLE1XdyxRNCxjcyxuNCxhdixXYSxRejEsVld4LGhQLGtCLG45dyx4QixnSyxMNCxlaSxXTlUsREh0LGhUUyxLNCxPYSxnOWksdWcsaWcsWFdqLFRxLHFWWixqaSxHJGosenEsQzR3LG9VLGxnLGRLLFBhLEZqLHRFeCwkSHQsd0ssTWcsUTUsTmUyLGFVLG5CLGtWLGhtLHBXTSxMQixnYixYQSxxUSxHdyx0bSwkVixZVlMscmIsZUwsc0gsCnBCLEhiLGZCLFlWLElMLEhucixmMmosT0gsWk0sRUgseXYsaSQsSlNyLHp3LGRiLEkyWix1JCxTVjEsakwsQ0IsQVN4LG1IMSxLTnQsQmIsRkEsb0wsVHcsUGF4LGNiLFdQLFZ2LGtELHhELGVrLHlTaCxFOWIsaW53LGRIaix1X3QsR1cscGwsSFAsZmwsSmUselRqLElqLEFlLG1FLFNrLEtsLFRlYixPbyxQUCxqWTEsWlksRk54LEJlUyxDYVUsTUV3LFVvLFZFMixsMmoseXEsRW8sY1MyLHFyLHRlLER3LHZHLGtNLGhSLHhNLExSLGU1LGdkLFhhLHFELEc2LHRSLCRNLHJkLHN4LGEyMixwUixKUixJdyxtayxLUixPeCxQRyxadyxVeCx5QSxFeCxpaCx1aCxvdyxkZCxUNixqNSxDUixCRyx3ZCxNRCxRQSxjRyxuZixXZSxERyxiQixubWgsVzRVLERmUyxrJCxYOCx0RSxiaDEsJCQsc2UsTmEscGYsa1NqLHhmUyxIZSxMNFosZWFVLGdtMixKRSxJOCxxc1UsQUUsR1N3LCRmaSxLZixyM1osT2UsbUwsc3hyLHRDaCxTWSxQZSxaRyxweXQsWXNNLEhodyxVZSxJOTIseVcsRWUsdUIsU3NaLGROLApuYyxXUSx5M3IsYjAsRW14LHg1LExjLGV0LG9tTSx0aixYeSxkZjIsRzAsJDUsemFpLGw5aSxUR2gscWUsdXQyLHJhLHNoLEhRLEJHTSxGNGIsZmMsSmosUmFTLGE5cixxNCxubjEsdFgsck0scGksWXosZmksSWYsbVUsUzIsaGp0LEFYLHhZYixLaSxPMyxlancsWnEsZ25aLFAkLExEWixpWixYT2IscWZTLHQ2QyxyOVMsR3ZVLHNfMixOUWksajIsQiQsSDhyLFFyLEo5YixmOEMsTTQsVnIsUmYsYyQsSThqLEE5UyxTZmosRkcsbVl3LFA2Uyx3TSx1Zk0sb25yLGRZTSxpOFUsRW4yLHk5dCx6ajEsYWYscE9pLGw4dCxZZmksVFFNLGpfVSxuNyxGRGIsQzZVLFduLEJRdyx3T1osUmpVLFFfMSxNNlUsbnl3LFdCaixhODIsa0Z3LGhzdyxWNnIsYzlNLExCVSx4Y2Isa2QsZXNqLGhzLGd5MSxHRkMsWHh0LHRwYixxMGIsJGN4LHhkLEw3LGVJLHJLcixzaFosZ1AsTm10LFhOLHB4aSxZMFUscUcsR0UsSFRaLGZsaixKS2osSWxqLHRzLFMwdyxBS3IsbWNyLEtCTSxPVGIsUGtDLFpUVSxVY2kseUtDLApFeTIsaVR4LHVMMixveWgsZGN0LHpzMSxsbHIsVG1yLGpoTSxDa3gsQm1qLHd4WixNcEMsclAsc24scDcsWWQsUnN4LEhuLGY3LFFodyxKcyxWcEMsSU8sQXMsbTUsSzcsWlUsVW4seXcsaUosYWx4LG9PLHpFLFRFLGdYLEM3LGhBaSxCbixlQSxGTixlQVosTUcsUk8sVncsZ0V3LERjLHZBLGtKLFhMUyx4SixlSixnRixYcCxxZCxOZCxJRGgsUzJiLFlKLEhLaSwkNXIsSlQsc1diLElyLHJGLCRKLHRnaCxHN1UscTJDLHRULGZnLHNELEhBLFBBLFpjLFVELHlMLEVELGkzLHUzLG9yLGRGLHpfLFRfLGpKLENnLEJBLEZwLHdGLFFMLFd3LFZMLGNBLHZ3LGt4LGFyLEtoMixMcyxnQSxHaixQSUMsWktaLFl4LHBzLFU1WiwkeCxyQSxzWSxOayxIdyxmcyxKWSxJQixTUCxtdCxBWSx5SHIsS3MsUHcsRUVaLE9ZLFpfLGlLVSxVWSx5ZixvRWksemosbEwsalAsVGosQncsRjUsd0EsTWssUWYsY3csbnosV18sREosZDV3LGJULHZfLGtOLHpBMixoSix4TixMeixleCxnayxYeCxsRHgsVEQxLEdQLHRKLAokTixPdixQXyxaSixVdix5cyxkayx6UCx3TFUsbFQsVFAsangsQ3osTWdNLFJBUyxRV00sVmdpLGNIaixhRFUsRngsTUksbkdTLERPLHZSLGhNLHhYLExNLGVHLFhaLHEkLEdpLHRNLCRYLHJ5LHNOLE4kLFlYLGZNLEpNLElkLFNHLFFQLE9OLG1GLEtnLE0zLFpPLFVOLHZHVSx5VCxrM3IsaTgsdTgsZHksaGdTLHppLGw4LFRpLGpHLHJrLENNLEJSLHg4aixGWixNJCxSZCxRVCxWVCxjUixhZCxuNixXRix2RixMS1UsTDYsZWcxLGU0LFhKaSxxeixxdWosRzNDLHRPWix0WixzNVUsTnBqLHBKYixJbyxZdWgsSHFoLGZ0WixHXyxmRHcsJGcsUzQsSzYsT2ssUEYsSiRVLEl0aSxaSCx5QyxBWixFayxBJGksaUEsdUEsb28sbTh0LHp4LFR4LGo0LEM2LEJGLEtLdCxGdixwNixWQyxPcXgsVThaLERLLHJIaSxKSHIsdlgsaHoseGgsTE4sZVQsZzEsRUdDLCRoLG9HdyxkOGksaXF0LHR6LHUxcixsdGIsTlYsemcyLHBOLFRwYixIWCxORFMsWTJTLE9ELFNKLENlVSxmTixKeix3SngsajVpLFNULG1WLApLTixBeixPZCxQWCxSZ1UsRWQsVk9yLGF0dCxpbyxuWUMsb24sekwsWHYsVEwsalQsQlgsRlYsUU0sY1gsbG8sYzksV0UsYmksdkUsaHUsTEUsdHUsWnFTLHZZaixmRSxKdSxTTSxBdSxWUCxLRSxMSUMsZUVpLE9tLFBFLGdZWix0bU0sWmYsWDNTLEdIdCxxbGgscnFaLHNpcixpaSx1aSxvQSxUbCxDRSx3YyxGQyxNRixSQSxZbHcsUW4sSFZ4LGZvaSxKcVosQXExLG12aixhQSxuTCxQbjEsWlZpLHlxMSxFWTEsaVYyLHU2UyxvWU0sekViLGxvaixrTCx4TCxMTCxlJCxnNix0eCxCJHgsdzNpLEdmLFJFaSwkTCxyNixRaTIsVm10LHNVLFZuLFdqLEhqLGZMLG1mLEVVLGlqLHVqLGQ2LHpmLG9RLGdxWixsaixYWWgscWpoLEdOaCxDTCxCaixGZSxKeCx3NixQMCxNcyxBSixSUSxReixOSSxWeixVdE0sY2oseTFoLEk0LGFRLG5BLGJGLFRmLGokLFN4LGhELEVxaCx4cCxLeixpV1MsdW10LG9xMSx6a1UsTEEsZTcsZ2wsWDIsZHQxLEdlLHRELCRwLHJsLEF4LE51LFlwLElULEFELGlULHB6LEtBLApPUyxQVCxUaGksY3F4LHBMLFpQLFVTLHlVLEVTLGlGLHVGLGxGLHplLGo3LGRsLE1TTSxDQSxCVCxGMix3bCxNdSxhVCxjVCxRc1MsbjIsVzcsVlNoLGtGLGhmLGMxQyx4RixMMixlQixiX0MsZ3YsWHoscXAsdGYsdnRDLGh4dyxmMixKZixJeSx4dzIsU0IsQWYsbVAsWiQsVUYseUUsRUYsaTUsenUsVHUsakIsQzIsQjcsTGF4LEZ6LHd2LE1wLFJ5LFFFLFZFLGM3LGF5LG52LGJZLFd1LERiLEdLdCxxSXcsdEFDLCR3aixyYVUsc0ZNLHZ1LGtzLE5YaCxlbixnVixZSTEsSF9VLHFXLFhyLHRCLGZpeCxyVixzYixOVyxwdixmdixZcyxKQixJNixKYWksSHUsWmIsVWIsRWIsbzYsU0laLHVZLEFhMixURCxsWSxtd3Isam4sQ3YsRnIsd1YsTVcsUWssVmssY3UsQ25pLEZJMSxhNixXcCxEeCxidSx2cCxrWixoVSx4WixMMyxlVixnQyxVd2IseWFqLGlfYixYdSx6eFMsakZNLFNWLENIaCxGYU0sd0tqLE1BTSxSeGosUUZ3LFZBUyxjYXQsYWlNLG5qMSxtZSxXJGosRDZ4LEszLE9HLGJlcixQcCwKdmp3LGg3Mix4NncsVUcsWngsTCQyLHlCLGl1LGU3YixnajEsWFNoLG9xLEdCYixya2osekkscSQyLCQ2aCxsdSxqVixzU3csTjdTLHBTUyxGdSxIZVUsd0MsUnEsSVExLFMkaCxtNncsSyRqLFZCLGNwLFBDMixhcSxaZXcsTXEsVTZDLGZRaCxPZWksQWtNLFc2LHlrcixFalosaWVpLHU5VSxvancsRGQsVDdiLGQ2cix6N1UsalNaLGJTLENDTSxsUWgsdjYseEMsTHIsZXEsa0MsQjdiLHdTVSxndSxGJHgsTXZTLFI3VSxWdnQsY2tqLFgwLGFRUyxuZngsRE4xLGJ3QyxxMixHWix0MCwkQyxRRXcsVkh4LGNyaCxEWDIsdmZ0LGtkVSxuVHcsV2paLGFFdyx2VFosSDYsSjQsZnIseWssbWksS3YsUHUsaVksS3IsSSQsaFpyLE80LHhYQyxMalUsUDYsQTAsbWQsWmQsZ1RDLFU0LEowLGc3LHlvLEU0LGlTLFNxLGtRdyxlWnQsdVMsWDB0LHF6aCxHUWIsdGRqLCRYMSxyeUMsTjhaLGR1LEprQyx6WixsUyxSNixLYTIscDBiLGpxLFZvLElyYixZemksZnJDLENyLEYwLG1YYixLamksTyRpLFokaSxQYlUsClVYWixhJCx5eXgsbkQsV2wsaSRTLEVUaixvVGosRGssdW5VLHZsLHpaaixscjIsVDhoLENidCxCOGksdzBiLGhnLGt3LEZqaixSWmgsTEQsVmR0LGVSLFFLeCx4dyxnaixYQixXWWgsblJ0LCR3LHFQLFl3LHZSdyxlU2osaFMxLExZMix4MEMsZkQsWEJ3LHFQaSxHMVMsdF9oLCQwYixyT2gsczlDLE5KaSxJayxwQngsWVBNLEh5VSxKT3csZkl0LElJYixKZyxBT00sU1IsY3laLFBsLFp5UyxpeWksdWtoLG9SdCxQT3QsRXEsdTEseXUsZDBiLFVxLGxJYixvayxaayxVMFosaTEseU9aLG0wTSxtdixqOUMsT3laLENPaixCSnQsVEpiLEZZQyx3QngsemMsTV93LFE5YixWXzIsUlNDLGNPdyxhSVosV1hoLERMYixrbnIsYkZqLHZ1TSxUYyxoUXgseEx0LExYcixndUMsalIsQ0QsWE5pLEJsLHFScixHbncsdEZ4LCRMQyxyYzIsc2d3LE4wUyxwTnQsWVJ3LEhGWixmeVUsSmNiLEl5dyxTUnQsQWNaLG1MMixLWFosT0ZDLFBRcixaRnQsVUwyLHljMixFdXQsaUZVLHVxdCxvdTIsZExpLHpRUyxseTIsClQwVSxqZ2gsQ1FDLEIwaixGWDIsTUZ4LFJRVSxWRlMsTVAsUXUsVnUsY2wsbk9NLG5DLFdUaCxEQmksYlBTLGFrLHZPMixheVosYm0saEQxLHhCaCxMVGIsdnIsa29yLE9iLGRWLFlDLFN6TSxjNixIJGgsUW8sQjYsd3UsUiQsZGoselMyLEVSUyxYemgscUoyLHQ5aCxrYywkQmkscjdoLGgyLGVEYixYYixIUGIsZm14LEo3aSxJbWkscW0sZ09DLEE3eCxzN3IsTjNDLHhjLExDLHB6aCxaUGosS1RpLE9QMixyUyxOMiwkYyxTSloseTdpLEVPaCxpUFMsbUJiLHUzeCxvT3gsZEJoLFQzaCxqN2osQzl4LHBDLEIzeCx3enIsRlR0LFJEaixRNzIsYzdyLFdnMixoOE0seGJqLEhyLG5RdyxKMixmQyxMZ3csZTh3LGJtaCxWOWksTTliLGdRdyxYVVMscWNVLEdUUyx0d00sckkxLFMwLCRiWixOb0Msc0lNLFljMSxwVWosbW4sQTIsSG1TLGY1eCxKSWIsSTUyLEtDLEFJTSxtYk0sS2d4LE9YLE9tMixQTWosUHIsWm1oLHlJcixpbXIsWlYsVVgseTMsaW0sdW0sRVgsRVFNLHVpaixvUTIsZGJTLHo4MiwKbDVVLGJBLG91LFRvaSxqSWosQ014LEJvdCxkUyxGZ2IselgsTXdoLGwxLFRYLGowLENDLEJyLEZiLHdTLFFJUyxWd00sY0lqLGE1cixSdSxXM1osRGoyLGJYdCxrcGksaHlpLGJKLHZ5TSx4amosTDN4LGV5aixYSVosYXUsV2QscTkxLG51LEQ3LGJWLHRaTSwkalosdmQscnB0LGNjWixNbSxWMyxoQyxIWDIsZkF0LEpwVSxJQWgsUzliLEFwaixtanQsSzNVLE9YMixlaCxncyxYSixQeUMscTksUjhDLFVqdyx0QyxHWSwkMCxFb2ksaVhTLHJzLHNCLHlwYixwdSx1NGIsWTAsb294LGZ1LFRFMixqYjIsSkMsRjNiLFNoLG1vLGRqcixNWjEsSGQsUnlpLFFidyxsQXQsVlppLHp5MSxhQXcsbkF4LGNwdCxQZCxaNyxMcjEsdkFqLHlhLGVwWixrVWksRDF0LGdBaSxXcmgsR1UxLFhzaSxVQix0eTIsYlVVLHI2dyx4MVUscHNyLEVCLEhVaSxmdmksWXlpLEl2aCxTeXIsU1BNLEdYLG9jLFA5VSxtMVUsSWMsbFYselksamgsQmQsRkosS3JiLHdzLFUxaSx5NlosRUFDLE05LFBSYixSYyxpVXQsQ3UsCmNkLG9BdCxRYSxWYSx1VixUWSx3c2ksTXl4LE9VaCxkcyxScFUsYnYsQTZqLGQxMixhdlosbkJDLFcxaSxiNHQsRGdDLHZCMixCNFUsUXZpLGhMWixMMWIseGdaLGVMaCxnQnIsWGFTLGtQLGg1LHFhVSxHcU0senBpLHRpUywkZ0MsTGEsclBoLHNVUyxlbCx4UCxwYU0sZzksWFksSDR0LGZwaSxKUE0sSXBDLFNhTSxZYVUsQVAyLG1naCxPNEMscVQsSzFVLEdHLFBneCxaNHgseVBqLEVCQyxVZzIsb0JyLGRndyxpNFUsdWp4LHpMWixscDIsalVVLFRLdyxSTHQsUVVaLENndCxCS0MsRjF3LHdhUyxNaWksVmliLHI5LHNyLCRQLE5ULGFweCxuVnIsV3F4LEpKLHBhLGJCeCx2VjIsa3d3LFlQLGZhLEg4LHhRdyxoYmosZ1ZoLEo1LFIwLFhiaCxJRyxxSDEsR3dVLHRMeCwkUXgscm1NLHNMYixOYmIsSEJ3LFlIaSxBNSxtQSxKbXgsS2EsU2wsZk0xLE9yLEtxcixQJEMsWkJqLFVRaSx5bWksRVZiLGlCUyxaVCxpdix1QXQsdXYsemJyLG9WMixEJCxURyxqbCxDYSxHdSxCOCxGWSxqTGosQyR3LAp3OSxSRyxRWSxGcU0sTVQsQmJoLFJieCxjbWIsVlksYU1VLG5EaixhRyxEclosVkxNLFdjLGJsWixuTyx2RDEsa1cxLGJzLHZjLHhydCxrSSxlMEMsZ0R4LExFcixYUGkscW8yLGhoLEdXYix0azEsTE8sZXMsZ2YsJHJNLHJlUyxzalMsTl9oLFlvQyx0aCxIbEMsJEksQWV0LHJmLG1yaixLRWgsUGRaLE9sTSxOSyxwTyxabGksRURqLEhjLFlJLHU3dCxkck0samp4LENkaixKaCxJZSxCX0Msc0YsZk8sRkVaLFNzLHdQMSxNa00sbVIsY2ViLHlSMSxHRCwkcyxlMCx6RCx5UyxCdSxFZyxpcyxUWixVZyxpUlosdXMsdWFVLG9NaCxkRGIselVoLHR2aSxNMixqd2osRncsQ2gxLE1LLGlwLGpzLEZraixjYyxDTyxuSixjUmIsVjVoLGx3WixXZixkZixUZGosbHMsbiRNLFdMcixEYXIsTTVpLHYkaCxodnIsZXZ0LGckUyxrcix2ZixYZWosYmwsREwseHIsTEwyLHFlaSwkYXIsdVJyLHJFUyxzOHIsWWVpLFhTLHBlVSx0YixOTncscTcsZkdTLEpFYixJR3csU2UxLEFFaSxyNSxaZncsc1osT2Z0LHlFMiwKRSRNLGlmQyxLTFosdThiLFlyLG8kVSx2NyxmSixKYixBYixQZixWUyx6djIsVVosbEd3LGo4MixDQlMseVosaWwsVWFoLHdlVSxNWU0sUnZaLFE4eCxWWXgsYUcxLFcydyxEZWIsb1gsY0VyLFZaLGswaix6QSxFWixoZDEsbngsTDJNLHhlcixXcSxERixiVSx2cSxlZFMsYVgsT1osQ0osbGwsVEEsQmYsbjVqLEZTLEtKLHVsLGRhdCxYUXgsRzBqLFNhLFFaLHR0dywkZVUseGkscmpqLHNhaSxoVixOYWIsa2ksZW8sWWhpLEhjdCxmNmg7V1o9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG50W25dLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OwpnLkQxPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG50W25dPVd9OwpuMnc9ZnVuY3Rpb24obixXKXtpZihXKWZvcih2YXIgRD0wO0Q8dloubGVuZ3RoO0QrKylrMih2WltEXSsiQXJyYXkucHJvdG90eXBlLiIrbixXKX07CmhpPWZ1bmN0aW9uKG4sVyl7VyYmazIobixXKX07CmsyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9eDI7bj1uLnNwbGl0KCIuIik7Zm9yKHZhciBiPTA7YjxuLmxlbmd0aC0xO2IrKyl7dmFyIHY9bltiXTtpZighKHYgaW4gRCkpcmV0dXJuO0Q9RFt2XX1uPW5bbi5sZW5ndGgtMV07Yj1EW25dO1c9VyhiKTtXIT1iJiZXIT1udWxsJiZXU0MoRCxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6V30pfTsKdjJDPWZ1bmN0aW9uKG4sVyl7bi5wcm90b3R5cGU9RGl4KFcucHJvdG90eXBlKTtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO2J0UyhuLFcpO24uVEI9Vy5wcm90b3R5cGV9OwplVT1mdW5jdGlvbihuKXtuPU1hdGgudHJ1bmMobil8fDA7bjwwJiYobis9dGhpcy5sZW5ndGgpO2lmKCEobjwwfHxuPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbbl19OwpnLkdiPWZ1bmN0aW9uKG4sVyxEKXtuPW4uc3BsaXQoIi4iKTtEPUR8fGcucWk7Zm9yKHZhciBiO24ubGVuZ3RoJiYoYj1uLnNoaWZ0KCkpOyluLmxlbmd0aHx8Vz09PXZvaWQgMD9EW2JdJiZEW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXT9EPURbYl06RD1EW2JdPXt9OkRbYl09V307Ck5pPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigiQ0xPU1VSRV9GTEFHUyIpO249RCYmRFtuXTtyZXR1cm4gbiE9bnVsbD9uOld9OwpnLnJyPWZ1bmN0aW9uKG4sVyl7bj1uLnNwbGl0KCIuIik7Vz1XfHxnLnFpO2Zvcih2YXIgRD0wO0Q8bi5sZW5ndGg7RCsrKWlmKFc9V1tuW0RdXSxXPT1udWxsKXJldHVybiBudWxsO3JldHVybiBXfTsKcHQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFchPSJvYmplY3QiP1c6bj9BcnJheS5pc0FycmF5KG4pPyJhcnJheSI6VzoibnVsbCJ9OwpnLlkyPWZ1bmN0aW9uKG4pe3ZhciBXPXB0KG4pO3JldHVybiBXPT0iYXJyYXkifHxXPT0ib2JqZWN0IiYmdHlwZW9mIG4ubGVuZ3RoPT0ibnVtYmVyIn07CmcuZnQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFc9PSJvYmplY3QiJiZuIT1udWxsfHxXPT0iZnVuY3Rpb24ifTsKQWk9ZnVuY3Rpb24obil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLFNVKSYmbltTVV18fChuW1NVXT0rK2tidCl9OwpoTWk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLmNhbGwuYXBwbHkobi5iaW5kLGFyZ3VtZW50cyl9OwpnLkt0PWZ1bmN0aW9uKG4sVyxEKXtnLkt0PWhNaTtyZXR1cm4gZy5LdC5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpnLlBaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBiPUQuc2xpY2UoKTtiLnB1c2guYXBwbHkoYixhcmd1bWVudHMpO3JldHVybiBuLmFwcGx5KHRoaXMsYil9fTsKZy5Vdz1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTsKZy55aj1mdW5jdGlvbihuKXtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXJSdW4iLG4pfTsKRXc9ZnVuY3Rpb24obil7cmV0dXJuIG59OwpnLml4PWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRCgpe30KRC5wcm90b3R5cGU9Vy5wcm90b3R5cGU7bi5UQj1XLnByb3RvdHlwZTtuLnByb3RvdHlwZT1uZXcgRDtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO24uQU89ZnVuY3Rpb24oYix2LGspe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLHg9Mjt4PGFyZ3VtZW50cy5sZW5ndGg7eCsrKWhbeC0yXT1hcmd1bWVudHNbeF07cmV0dXJuIFcucHJvdG90eXBlW3ZdLmFwcGx5KGIsaCl9fTsKdXg9ZnVuY3Rpb24obiwuLi5XKXtXPVcuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighVylyZXR1cm4gbjt2YXIgRD1uLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIEQ/bi5zbGljZSgwLEQuaW5kZXgrMSkrVysiJiIrbi5zbGljZShELmluZGV4KzEpOm4rKG4uaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrV307CmRyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/IiYiK24rIj0iK2VuY29kZVVSSUNvbXBvbmVudChXKToiIn07CnhpTT1mdW5jdGlvbihuKXtuPW4uWDtpZighbilyZXR1cm4iIjt2YXIgVz1kcigidWFwIixuLnBsYXRmb3JtKStkcigidWFwdiIsbi5wbGF0Zm9ybVZlcnNpb24pK2RyKCJ1YWZ2IixuLnVhRnVsbFZlcnNpb24pK2RyKCJ1YWEiLG4uYXJjaGl0ZWN0dXJlKStkcigidWFtIixuLm1vZGVsKStkcigidWFiIixuLmJpdG5lc3MpO24uZnVsbFZlcnNpb25MaXN0JiYoVys9IiZ1YWZ2bD0iK2VuY29kZVVSSUNvbXBvbmVudChuLmZ1bGxWZXJzaW9uTGlzdC5tYXAoRD0+ZW5jb2RlVVJJQ29tcG9uZW50KEQuYnJhbmQpKyI7IitlbmNvZGVVUklDb21wb25lbnQoRC52ZXJzaW9uKSkuam9pbigifCIpKSk7Cm4ud293NjQhPW51bGwmJihXKz0iJnVhdz0iK051bWJlcihuLndvdzY0KSk7cmV0dXJuIFcuc2xpY2UoMSl9Owp6Yj1mdW5jdGlvbihuLFcpe2lmKFchPT1udWxsJiZXIT09dm9pZCAwKXtpZih0eXBlb2YgVyE9PSJvYmplY3QiJiZ0eXBlb2YgVyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkLiIpO2lmKEQ9PT12b2lkIDApe2lmKCFTeW1ib2wuZGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC4iKTt2YXIgRD1XW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgRCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IG5vdCBkaXNwb3NhYmxlLiIpO24uc3RhY2sucHVzaCh7dmFsdWU6VyxkaXNwb3NlOkQsYXN5bmM6ITF9KX1yZXR1cm4gV307Cmx4PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoayl7bi5lcnJvcj1uLmhhc0Vycm9yP25ldyBTdXBwcmVzc2VkRXJyb3IoayxuLmVycm9yLCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIik6aztuLmhhc0Vycm9yPSEwfQpmdW5jdGlvbiBEKCl7Zm9yKDtiPW4uc3RhY2sucG9wKCk7KXRyeXtpZighYi5hc3luYyYmdj09PTEpcmV0dXJuIHY9MCxuLnN0YWNrLnB1c2goYiksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihEKTtpZihiLmRpc3Bvc2Upe3ZhciBrPWIuZGlzcG9zZS5jYWxsKGIudmFsdWUpO2lmKGIuYXN5bmMpcmV0dXJuIHZ8PTIsUHJvbWlzZS5yZXNvbHZlKGspLnRoZW4oRCxmdW5jdGlvbihoKXtXKGgpO3JldHVybiBEKCl9KX1lbHNlIHZ8PTF9Y2F0Y2goaCl7VyhoKX1pZih2PT09MSlyZXR1cm4gbi5oYXNFcnJvcj9Qcm9taXNlLnJlamVjdChuLmVycm9yKTpQcm9taXNlLnJlc29sdmUoKTsKaWYobi5oYXNFcnJvcil0aHJvdyBuLmVycm9yO30KdmFyIGIsdj0wO0QoKX07CmcuVGI9ZnVuY3Rpb24obixXKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLGcuVGIpO2Vsc2V7bGV0IEQ9RXJyb3IoKS5zdGFjaztEJiYodGhpcy5zdGFjaz1EKX1uJiYodGhpcy5tZXNzYWdlPVN0cmluZyhuKSk7VyE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Vyl9OwpMUzE9ZnVuY3Rpb24oKXt9OwpnLmpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ubGFzdEluZGV4T2YoVywwKT09MH07CmcuQlo9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmxlbmd0aC1XLmxlbmd0aDtyZXR1cm4gRD49MCYmbi5pbmRleE9mKFcsRCk9PUR9OwpnLkZoPWZ1bmN0aW9uKG4pe3JldHVybi9eW1xzXHhhMF0qJC8udGVzdChuKX07Cmcud3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoVy50b0xvd2VyQ2FzZSgpKSE9LTF9OwpnLmNaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtuPVN0cmluZyhuKS50cmltKCkuc3BsaXQoIi4iKTtXPVN0cmluZyhXKS50cmltKCkuc3BsaXQoIi4iKTt2YXIgYj1NYXRoLm1heChuLmxlbmd0aCxXLmxlbmd0aCk7Zm9yKGxldCBoPTA7RD09MCYmaDxiO2grKyl7dmFyIHY9bltoXXx8IiIsaz1XW2hdfHwiIjtkb3t2PS8oXGQqKShcRCopKC4qKS8uZXhlYyh2KXx8WyIiLCIiLCIiLCIiXTtrPS8oXGQqKShcRCopKC4qKS8uZXhlYyhrKXx8WyIiLCIiLCIiLCIiXTtpZih2WzBdLmxlbmd0aD09MCYma1swXS5sZW5ndGg9PTApYnJlYWs7RD1Waih2WzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KHZbMV0sMTApLGtbMV0ubGVuZ3RoPT0wPzA6cGFyc2VJbnQoa1sxXSwxMCkpfHxWaih2WzJdLmxlbmd0aD09MCxrWzJdLmxlbmd0aD09MCl8fFZqKHZbMl0sa1syXSk7dj12WzNdO2s9a1szXX13aGlsZShEPT0wKX1yZXR1cm4gRH07ClZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG48Vz8tMTpuPlc/MTowfTsKZU1yPWZ1bmN0aW9uKCl7dmFyIG49bnVsbDtpZighbmIpcmV0dXJuIG47dHJ5e2xldCBXPUQ9PkQ7Cm49bmIuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOlcsY3JlYXRlU2NyaXB0OlcsY3JlYXRlU2NyaXB0VVJMOld9KX1jYXRjaChXKXt9cmV0dXJuIG59OwpEND1mdW5jdGlvbigpe1dNPT09dm9pZCAwJiYoV009ZU1yKCkpO3JldHVybiBXTX07CmszPWZ1bmN0aW9uKG4pe3ZhciBXPUQ0KCk7bj1XP1cuY3JlYXRlU2NyaXB0VVJMKG4pOm47cmV0dXJuIG5ldyBiXyhuKX07CngzPWZ1bmN0aW9uKG4pe2lmKG4gaW5zdGFuY2VvZiBiXylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9Owpnej1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5lailyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpxVT1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFhJKFc9Plcuc3Vic3RyKDAsbi5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PW4rIjoiKX07CmcudEY9ZnVuY3Rpb24obixXPWcuRzQpe2lmKG4gaW5zdGFuY2VvZiBnLmVqKXJldHVybiBuO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7KytEKXtsZXQgYj1XW0RdO2lmKGIgaW5zdGFuY2VvZiBYSSYmYi5PVihuKSlyZXR1cm4gbmV3IGcuZWoobil9fTsKZy5yej1mdW5jdGlvbihuKXtpZihnMmoudGVzdChuKSlyZXR1cm4gbn07Cmcuc009ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLmVqP2d6KG4pOmcucnoobil9OwpnLk5VPWZ1bmN0aW9uKG4sVyl7Vz1nLnNNKFcpO1chPT12b2lkIDAmJihuLmhyZWY9Vyl9OwpnLnBiPWZ1bmN0aW9uKG4sVz1gdW5leHBlY3RlZCB2YWx1ZSAke259IWApe3Rocm93IEVycm9yKFcpO307CmcuSE09ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVIVE1MKG4pOm47cmV0dXJuIG5ldyBnLlkzKG4pfTsKZy5mYj1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5ZMylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpKRj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9d2luZG93O249Zy5zTShuKTtyZXR1cm4gbiE9PXZvaWQgMD9iLm9wZW4obixXLEQpOm51bGx9OwpTaj1mdW5jdGlvbihuPWRvY3VtZW50KXtuPW4ucXVlcnlTZWxlY3Rvcj8uKCJzY3JpcHRbbm9uY2VdIik7cmV0dXJuIG49PW51bGw/IiI6bi5ub25jZXx8bi5nZXRBdHRyaWJ1dGUoIm5vbmNlIil8fCIifTsKbWM9ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVTY3JpcHQobik6bjtyZXR1cm4gbmV3IEFGKG4pfTsKS2I9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIEFGKXJldHVybiBuLk47dGhyb3cgRXJyb3IoIiIpO307Ck9NPWZ1bmN0aW9uKG4pe3ZhciBXPVNqKG4ub3duZXJEb2N1bWVudCk7VyYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixXKX07CmcuUE09ZnVuY3Rpb24obixXKXtuLnNyYz14MyhXKTtPTShuKX07CnF3dD1mdW5jdGlvbihuKXt2YXIgVz0idHJ1ZSIudG9TdHJpbmcoKSxEPVtYWnhgZGF0YS1gXTtpZihELmxlbmd0aD09PTApdGhyb3cgRXJyb3IoIiIpO2lmKEQubWFwKGI9PntpZihiIGluc3RhbmNlb2YgWjQpYj1iLk47ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGJ9KS5ldmVyeShiPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoYikhPT0wKSl0aHJvdyBFcnJvcignQXR0cmlidXRlICJkYXRhLWxvYWRlZCIgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBhbGxvd2VkIHByZWZpeGVzLicpOwpuLnNldEF0dHJpYnV0ZSgiZGF0YS1sb2FkZWQiLFcpfTsKZy5VTT1mdW5jdGlvbihuKXtyZXR1cm4gbltuLmxlbmd0aC0xXX07CmcueTI9ZnVuY3Rpb24obixXKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG4sVyx2b2lkIDApfTsKZy5FTT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChuLFcsRCl9OwpnLmlfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChuLFcsdm9pZCAwKX07CmcudV89ZnVuY3Rpb24obixXLEQpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwobixXLEQpfTsKZy5vTT1mdW5jdGlvbihuLFcpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG4sVyx2b2lkIDApfTsKZy5kej1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG4sVyxEKX07CmcubF89ZnVuY3Rpb24obixXKXtXPWcuejQobixXKTtyZXR1cm4gVzwwP251bGw6dHlwZW9mIG49PT0ic3RyaW5nIj9uLmNoYXJBdChXKTpuW1ddfTsKZy56ND1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5sZW5ndGgsdj10eXBlb2Ygbj09PSJzdHJpbmciP24uc3BsaXQoIiIpOm47Zm9yKGxldCBrPTA7azxiO2srKylpZihrIGluIHYmJlcuY2FsbChELHZba10sayxuKSlyZXR1cm4gaztyZXR1cm4tMX07CmcuVDQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubGVuZ3RoLHY9dHlwZW9mIG49PT0ic3RyaW5nIj9uLnNwbGl0KCIiKTpuO2ZvcigtLWI7Yj49MDtiLS0paWYoYiBpbiB2JiZXLmNhbGwoRCx2W2JdLGIsbikpcmV0dXJuIGI7cmV0dXJuLTF9OwpnLmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobixXLHZvaWQgMCk+PTB9OwpnLkNiPWZ1bmN0aW9uKG4pe2lmKCFBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKWRlbGV0ZSBuW1ddO24ubGVuZ3RoPTB9OwpnLkZJPWZ1bmN0aW9uKG4sVyl7Vz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG4sVyx2b2lkIDApO3ZhciBEOyhEPVc+PTApJiZnLkJNKG4sVyk7cmV0dXJuIER9OwpnLkJNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChuLFcsMSkubGVuZ3RoPT0xfTsKR2JpPWZ1bmN0aW9uKG4sVyl7Vz1nLno0KG4sVyk7Vz49MCYmZy5CTShuLFcpfTsKZy53ej1mdW5jdGlvbihuKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhcmd1bWVudHMpfTsKZy5STT1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aDtpZihXPjApe2xldCBEPUFycmF5KFcpO2ZvcihsZXQgYj0wO2I8VztiKyspRFtiXT1uW2JdO3JldHVybiBEfXJldHVybltdfTsKZy5RMj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0xO0Q8YXJndW1lbnRzLmxlbmd0aDtEKyspe2xldCBiPWFyZ3VtZW50c1tEXTtpZihnLlkyKGIpKXtsZXQgdj1uLmxlbmd0aHx8MCxrPWIubGVuZ3RofHwwO24ubGVuZ3RoPXYraztmb3IobGV0IGg9MDtoPGs7aCsrKW5bditoXT1iW2hdfWVsc2Ugbi5wdXNoKGIpfX07CmcuY009ZnVuY3Rpb24obixXLEQsYil7QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShuLFYyKGFyZ3VtZW50cywxKSl9OwpWMj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobixXKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuLFcsRCl9OwpnLlc0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gYU0obixEfHxucCwhMSxXKX07CkRlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGFNKG4sVywhMCl9OwphTT1mdW5jdGlvbihuLFcsRCxiKXtmb3IodmFyIHY9MCxrPW4ubGVuZ3RoLGg7djxrOyl7bGV0IHg9disoay12Pj4+MSksTDtEP0w9Vy5jYWxsKHZvaWQgMCxuW3hdLHgsbik6TD1XKGIsblt4XSk7TD4wP3Y9eCsxOihrPXgsaD0hTCl9cmV0dXJuIGg/djotdi0xfTsKZy5iZj1mdW5jdGlvbihuLFcpe24uc29ydChXfHxucCl9Owp0VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1ucDtnLmJmKG4sZnVuY3Rpb24oYix2KXtyZXR1cm4gRChXKGIpLFcodikpfSl9Owp2ND1mdW5jdGlvbihuLFcsRCl7aWYoIWcuWTIobil8fCFnLlkyKFcpfHxuLmxlbmd0aCE9Vy5sZW5ndGgpcmV0dXJuITE7dmFyIGI9bi5sZW5ndGg7RD1EfHwkaXg7Zm9yKGxldCB2PTA7djxiO3YrKylpZighRChuW3ZdLFdbdl0pKXJldHVybiExO3JldHVybiEwfTsKbnA9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj5XPzE6bjxXPy0xOjB9OwokaXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PVd9OwpnLmtsPWZ1bmN0aW9uKG4sVyxEKXtEPWcuVzQobixXLEQpO0Q8MCYmZy5jTShuLC0oRCsxKSwwLFcpfTsKaEE9ZnVuY3Rpb24obixXKXtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mnx8KG4uX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyPXt9KTtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mi5zZXZlcml0eT1XfTsKcmliPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7bj09bnVsbCYmKG49J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTpuLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOlcsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgRD0hMTt0cnl7dmFyIGI9bi5saW5lTnVtYmVyfHxuLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChrKXtiPSJOb3QgYXZhaWxhYmxlIixEPSEwfXRyeXt2YXIgdj1uLmZpbGVOYW1lfHxuLmZpbGVuYW1lfHxuLnNvdXJjZVVSTHx8Zy5xaS4kZ29vZ0RlYnVnRm5hbWV8fFd9Y2F0Y2goayl7dj0iTm90IGF2YWlsYWJsZSIsRD0hMH1XPXhsKG4pO2lmKCEoIUQmJm4ubGluZU51bWJlciYmbi5maWxlTmFtZSYmbi5zdGFjayYmbi5tZXNzYWdlJiZuLm5hbWUpKXtEPW4ubWVzc2FnZTsKaWYoRD09bnVsbCl7aWYobi5jb25zdHJ1Y3RvciYmbi5jb25zdHJ1Y3RvciBpbnN0YW5jZW9mIEZ1bmN0aW9uKXtpZihuLmNvbnN0cnVjdG9yLm5hbWUpRD1uLmNvbnN0cnVjdG9yLm5hbWU7ZWxzZSBpZihEPW4uY29uc3RydWN0b3IsTHBbRF0pRD1McFtEXTtlbHNle0Q9U3RyaW5nKEQpO2lmKCFMcFtEXSl7bGV0IGs9L2Z1bmN0aW9uXHMrKFteXChdKykvbS5leGVjKEQpO0xwW0RdPWs/a1sxXToiW0Fub255bW91c10ifUQ9THBbRF19RD0nVW5rbm93biBFcnJvciBvZiB0eXBlICInK0QrJyInfWVsc2UgRD0iVW5rbm93biBFcnJvciBvZiB1bmtub3duIHR5cGUiO3R5cGVvZiBuLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyE9PW4udG9TdHJpbmcmJihEKz0iOiAiK24udG9TdHJpbmcoKSl9cmV0dXJue21lc3NhZ2U6RCxuYW1lOm4ubmFtZXx8IlVua25vd25FcnJvciIsbGluZU51bWJlcjpiLGZpbGVOYW1lOnYsc3RhY2s6V3x8Ik5vdCBhdmFpbGFibGUifX1yZXR1cm57bWVzc2FnZTpuLm1lc3NhZ2UsCm5hbWU6bi5uYW1lLGxpbmVOdW1iZXI6bi5saW5lTnVtYmVyLGZpbGVOYW1lOm4uZmlsZU5hbWUsc3RhY2s6V319Owp4bD1mdW5jdGlvbihuLFcpe1d8fChXPXt9KTtXW2UxKG4pXT0hMDt2YXIgRD1uLnN0YWNrfHwiIixiPW4uY2F1c2U7YiYmIVdbZTEoYildJiYoRCs9IlxuQ2F1c2VkIGJ5OiAiLGIuc3RhY2smJmIuc3RhY2suaW5kZXhPZihiLnRvU3RyaW5nKCkpPT0wfHwoRCs9dHlwZW9mIGI9PT0ic3RyaW5nIj9iOmIubWVzc2FnZSsiXG4iKSxEKz14bChiLFcpKTtuPW4uZXJyb3JzO2lmKEFycmF5LmlzQXJyYXkobikpe2I9MTtsZXQgdjtmb3Iodj0wO3Y8bi5sZW5ndGgmJiEoYj40KTt2KyspV1tlMShuW3ZdKV18fChEKz0iXG5Jbm5lciBlcnJvciAiK2IrKyArIjogIixuW3ZdLnN0YWNrJiZuW3ZdLnN0YWNrLmluZGV4T2Yoblt2XS50b1N0cmluZygpKT09MHx8KEQrPXR5cGVvZiBuW3ZdPT09InN0cmluZyI/blt2XTpuW3ZdLm1lc3NhZ2UrIlxuIiksRCs9eGwoblt2XSxXKSk7djxuLmxlbmd0aCYmKEQrPSJcbi4uLiAiKyhuLmxlbmd0aC12KSsiIG1vcmUgaW5uZXIgZXJyb3JzIil9cmV0dXJuIER9OwplMT1mdW5jdGlvbihuKXt2YXIgVz0iIjt0eXBlb2Ygbi50b1N0cmluZz09PSJmdW5jdGlvbiImJihXPSIiK24pO3JldHVybiBXK24uc3RhY2t9OwpnLmdUPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wYXJzZUZyb21TdHJpbmcoZy5mYihXKSxEKX07ClhNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBXb3JrZXIoeDMobiksVyl9OwpxaD1mdW5jdGlvbihuKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhuKSl9OwpHNT1mdW5jdGlvbihuKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KG4ucmVwbGFjZSgvXCsvZywiICIpKX07CmcudEE9ZnVuY3Rpb24obil7c0NoLnRlc3QobikmJihuLmluZGV4T2YoIiYiKSE9LTEmJihuPW4ucmVwbGFjZShOcmgsIiZhbXA7IikpLG4uaW5kZXhPZigiPCIpIT0tMSYmKG49bi5yZXBsYWNlKHBadywiJmx0OyIpKSxuLmluZGV4T2YoIj4iKSE9LTEmJihuPW4ucmVwbGFjZShZd2ksIiZndDsiKSksbi5pbmRleE9mKCciJykhPS0xJiYobj1uLnJlcGxhY2UoSHRVLCImcXVvdDsiKSksbi5pbmRleE9mKCInIikhPS0xJiYobj1uLnJlcGxhY2UoZjFTLCImIzM5OyIpKSxuLmluZGV4T2YoIlx4MDAiKSE9LTEmJihuPW4ucmVwbGFjZShKaVosIiYjMDsiKSkpO3JldHVybiBufTsKZy5yVD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD8iIjpTdHJpbmcobil9OwpzVD1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKVc9MzEqVytuLmNoYXJDb2RlQXQoRCk+Pj4wO3JldHVybiBXfTsKZy5OaD1mdW5jdGlvbihuKXt2YXIgVz1OdW1iZXIobik7cmV0dXJuIFc9PTAmJmcuRmgobik/TmFOOld9OwpwcD1mdW5jdGlvbihuKXtyZXR1cm4gU3RyaW5nKG4pLnJlcGxhY2UoL1wtKFthLXpdKS9nLGZ1bmN0aW9uKFcsRCl7cmV0dXJuIEQudG9VcHBlckNhc2UoKX0pfTsKSTFpPWZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoUmVnRXhwKCIoXnxbXFxzXSspKFthLXpdKSIsImciKSxmdW5jdGlvbihXLEQsYil7cmV0dXJuIEQrYi50b1VwcGVyQ2FzZSgpfSl9OwpTd2g9ZnVuY3Rpb24obil7dmFyIFc9MTtuPW4uc3BsaXQoIjoiKTtmb3IodmFyIEQ9W107Vz4wJiZuLmxlbmd0aDspRC5wdXNoKG4uc2hpZnQoKSksVy0tO24ubGVuZ3RoJiZELnB1c2gobi5qb2luKCI6IikpO3JldHVybiBEfTsKZy5IND1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD0iIjtuJiYoeCs9bisiOiIpO0QmJih4Kz0iLy8iLFcmJih4Kz1XKyJAIikseCs9RCxiJiYoeCs9IjoiK2IpKTt2JiYoeCs9dik7ayYmKHgrPSI/IitrKTtoJiYoeCs9IiMiK2gpO3JldHVybiB4fTsKZy5mcD1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXRjaChBaXIpfTsKSkE9ZnVuY3Rpb24obil7cmV0dXJuIG4/ZGVjb2RlVVJJKG4pOm59OwpnLklQPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzNdfHxudWxsKX07ClMxPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzVdfHxudWxsKX07CkFBPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChuWzFdLG5bMl0sblszXSxuWzRdKX07Cm1XPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChudWxsLG51bGwsbnVsbCxudWxsLG5bNV0sbls2XSxuWzddKX07CktwPWZ1bmN0aW9uKG4pe3ZhciBXPW4uaW5kZXhPZigiIyIpO3JldHVybiBXPDA/bjpuLnNsaWNlKDAsVyl9OwpnLk9UPWZ1bmN0aW9uKG4sVyl7aWYobil7bj1uLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe2xldCBiPW5bRF0uaW5kZXhPZigiPSIpLHYsaz1udWxsO2I+PTA/KHY9bltEXS5zdWJzdHJpbmcoMCxiKSxrPW5bRF0uc3Vic3RyaW5nKGIrMSkpOnY9bltEXTtXKHYsaz9HNShrKToiIil9fX07ClA0PWZ1bmN0aW9uKG4sVyl7aWYoIVcpcmV0dXJuIG47dmFyIEQ9bi5pbmRleE9mKCIjIik7RDwwJiYoRD1uLmxlbmd0aCk7dmFyIGI9bi5pbmRleE9mKCI/Iik7aWYoYjwwfHxiPkQpe2I9RDt2YXIgdj0iIn1lbHNlIHY9bi5zdWJzdHJpbmcoYisxLEQpO249W24uc2xpY2UoMCxiKSx2LG4uc2xpY2UoRCldO0Q9blsxXTtuWzFdPVc/RD9EKyImIitXOlc6RDtyZXR1cm4gblswXSsoblsxXT8iPyIrblsxXToiIikrblsyXX07ClplPWZ1bmN0aW9uKG4sVyxEKXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKVplKG4sU3RyaW5nKFdbYl0pLEQpO2Vsc2UgVyE9bnVsbCYmRC5wdXNoKG4rKFc9PT0iIj8iIjoiPSIrcWgoVykpKX07CnlHPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKVplKEQsbltEXSxXKTtyZXR1cm4gVy5qb2luKCImIil9OwpnLkVUPWZ1bmN0aW9uKG4sVyl7Vz15RyhXKTtyZXR1cm4gUDQobixXKX07CmcudWY9ZnVuY3Rpb24obixXLEQpe0Q9RCE9bnVsbD8iPSIrcWgoRCk6IiI7cmV0dXJuIFA0KG4sVytEKX07CmcuZFQ9ZnVuY3Rpb24obixXLEQsYil7Zm9yKHZhciB2PUQubGVuZ3RoOyhXPW4uaW5kZXhPZihELFcpKT49MCYmVzxiOyl7dmFyIGs9bi5jaGFyQ29kZUF0KFctMSk7aWYoaz09Mzh8fGs9PTYzKWlmKGs9bi5jaGFyQ29kZUF0KFcrdiksIWt8fGs9PTYxfHxrPT0zOHx8az09MzUpcmV0dXJuIFc7Vys9disxfXJldHVybi0xfTsKZy5sZj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VhcmNoKGcuejUpLGI9Zy5kVChuLDAsVyxEKTtpZihiPDApcmV0dXJuIG51bGw7dmFyIHY9bi5pbmRleE9mKCImIixiKTtpZih2PDB8fHY+RCl2PUQ7Yis9Vy5sZW5ndGgrMTtyZXR1cm4gRzUobi5zbGljZShiLHYhPT0tMT92OjApKX07ClQ1PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPW4uc2VhcmNoKGcuejUpLGI9MCx2LGs9W107KHY9Zy5kVChuLGIsVyxEKSk+PTA7KWsucHVzaChuLnN1YnN0cmluZyhiLHYpKSxiPU1hdGgubWluKG4uaW5kZXhPZigiJiIsdikrMXx8RCxEKTtrLnB1c2gobi5zbGljZShiKSk7cmV0dXJuIGsuam9pbigiIikucmVwbGFjZShtaTEsIiQxIil9OwpLUzE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLnVmKFQ1KG4sVyksVyxEKX07CmcuQ3A9ZnVuY3Rpb24obil7biYmdHlwZW9mIG4uZGlzcG9zZT09ImZ1bmN0aW9uIiYmbi5kaXNwb3NlKCl9OwpnLkI0PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wLEQ9YXJndW1lbnRzLmxlbmd0aDtXPEQ7KytXKXtsZXQgYj1hcmd1bWVudHNbV107Zy5ZMihiKT9nLkI0LmFwcGx5KG51bGwsYik6Zy5DcChiKX19OwpnLkZNPWZ1bmN0aW9uKCl7dGhpcy5IRD10aGlzLkhEO3RoaXMuQlY9dGhpcy5CVn07CmcudT1mdW5jdGlvbihuLFcpe24uYWRkT25EaXNwb3NlQ2FsbGJhY2soZy5QWihnLkNwLFcpKX07CmcuTWg9ZnVuY3Rpb24obj0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoVz0+e2lmKHdpbmRvdz09PXdpbmRvdy50b3ApdmFyIEQ9d2luZG93O2Vsc2V7dHJ5e0Q9ISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2godil7RD0hMH1EPUQ/d2luZG93OndpbmRvdy50b3B9dmFyIGI9RFtuXTtiPy5iZXZhc3JzP1cobmV3IHdUKGIuYmV2YXNycykpOihifHwoYj17bnFmYmVsOltdfSxEW25dPWIpLGIubnFmYmVsLnB1c2godj0+e1cobmV3IHdUKHYpKX0pKX0pfTsKUlA9ZnVuY3Rpb24obil7dmFyIFc9e2M6bi53XyxlOm4ueEMsbWM6bi5HcixtZTpuLkVSfTtuLmhHJiYoVy5jbz17YzpuLmhHLmFtLGE6bi5oRy5BQixzOm4uaEcucjN9KTtyZXR1cm4gV307Ck90aT1mdW5jdGlvbihuKXtuLkohPT12b2lkIDAmJihuLlcuZm9yRWFjaChXPT57bi5KPy5yZW1vdmVFdmVudExpc3RlbmVyKFcsbi5YKX0pLG4uSj12b2lkIDApfTsKWnRaPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLk8xLndwYyl0aHJvdyBuZXcgUUcoMzAsIk5XQSIpO2lmKG4uTilyZXR1cm4gbi5OO3ZhciBXPWF3YWl0IG4uTzEud3BjKCk7bi5OPW5ldyBQeFMoVyk7cmV0dXJuIG4uTn07Cm4wPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO1ZHKG4sYzQsNikuZm9yRWFjaChEPT57YVAoRCwyKTw9NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClVpdz1mdW5jdGlvbihuKXt2YXIgVz1bXTtWRyhuLGM0LDYpLmZvckVhY2goRD0+e2FQKEQsMik+NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClcyPWZ1bmN0aW9uKG4pe24udGhlbigoKT0+e30sKCk9Pnt9KX07CkRYPWZ1bmN0aW9uKG4pe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6bn19OwpicD1mdW5jdGlvbihuKXtyZXR1cm57ZmllbGRUeXBlOjMsZmllbGROYW1lOm59fTsKa0s9ZnVuY3Rpb24obil7cmV0dXJuKHYyfHwodjI9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKG4pfTsKaDQ9ZnVuY3Rpb24obil7Zy5xaS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgbjt9LDApfTsKeWl0PWZ1bmN0aW9uKG4pe3JldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwobixmdW5jdGlvbihXKXtXPVcudG9TdHJpbmcoMTYpO3JldHVybiBXLmxlbmd0aD4xP1c6IjAiK1d9KS5qb2luKCIiKX07CnhLPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCs9MilXLnB1c2gocGFyc2VJbnQobi5zdWJzdHJpbmcoRCxEKzIpLDE2KSk7cmV0dXJuIFd9OwpMMD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT01NTI5NiYmYisxPG4ubGVuZ3RoJiYobi5jaGFyQ29kZUF0KGIrMSkmNjQ1MTIpPT01NjMyMD8odj02NTUzNisoKHYmMTAyMyk8PDEwKSsobi5jaGFyQ29kZUF0KCsrYikmMTAyMyksV1tEKytdPXY+PjE4fDI0MCxXW0QrK109dj4+MTImNjN8MTI4KTpXW0QrK109dj4+MTJ8MjI0LFdbRCsrXT12Pj42JjYzfDEyOCksV1tEKytdPXYmNjN8MTI4KX1yZXR1cm4gV307CmcuWFE9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbiYmKG49bi51c2VyQWdlbnQpP246IiJ9OwokSz1mdW5jdGlvbihuKXtpZighZy5xeCYmIWcuR2h8fCFnLnQ0KXJldHVybiExO2ZvcihsZXQgVz0wO1c8Zy50NC5icmFuZHMubGVuZ3RoO1crKyl7bGV0IHticmFuZDpEfT1nLnQ0LmJyYW5kc1tXXTtpZihEJiZELmluZGV4T2YobikhPS0xKXJldHVybiEwfXJldHVybiExfTsKZy5yVz1mdW5jdGlvbihuKXtyZXR1cm4gZy5YUSgpLmluZGV4T2YobikhPS0xfTsKc0E9ZnVuY3Rpb24oKXtyZXR1cm4gZy5xeHx8Zy5HaD8hIWcudDQmJmcudDQuYnJhbmRzLmxlbmd0aD4wOiExfTsKTng9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8hMTpnLnJXKCJPcGVyYSIpfTsKcDA9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiRmlyZWZveCIpfHxnLnJXKCJGeGlPUyIpfTsKZy5IMj1mdW5jdGlvbigpe3JldHVybiBnLnJXKCJTYWZhcmkiKSYmIShZSygpfHwoc0EoKT8wOmcuclcoIkNvYXN0IikpfHxOeCgpfHwoc0EoKT8wOmcuclcoIkVkZ2UiKSl8fChzQSgpPyRLKCJNaWNyb3NvZnQgRWRnZSIpOmcuclcoIkVkZy8iKSl8fChzQSgpPyRLKCJPcGVyYSIpOmcuclcoIk9QUiIpKXx8cDAoKXx8Zy5yVygiU2lsayIpfHxnLnJXKCJBbmRyb2lkIikpfTsKWUs9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8kSygiQ2hyb21pdW0iKTooZy5yVygiQ2hyb21lIil8fGcuclcoIkNyaU9TIikpJiYhKHNBKCk/MDpnLnJXKCJFZGdlIikpfHxnLnJXKCJTaWxrIil9OwpnLmYwPWZ1bmN0aW9uKCl7cmV0dXJuIGcucXh8fGcuR2g/ISFnLnQ0JiYhIWcudDQucGxhdGZvcm06ITF9Owp2YXIgRTJVPWZ1bmN0aW9uKG4sVyxELGIsdil7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDI1LDE4NjYsbixXLEQsYix2KX07CmcuSTI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mMCgpP2cudDQucGxhdGZvcm09PT0iQW5kcm9pZCI6Zy5yVygiQW5kcm9pZCIpfTsKU3U9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiaVBob25lIikmJiFnLnJXKCJpUG9kIikmJiFnLnJXKCJpUGFkIil9OwpnLkE0PWZ1bmN0aW9uKCl7cmV0dXJuIFN1KCl8fGcuclcoImlQYWQiKXx8Zy5yVygiaVBvZCIpfTsKZy5teD1mdW5jdGlvbigpe3JldHVybiBnLmYwKCk/Zy50NC5wbGF0Zm9ybT09PSJtYWNPUyI6Zy5yVygiTWFjaW50b3NoIil9OwpnLkswPWZ1bmN0aW9uKCl7cmV0dXJuIGcuZjAoKT9nLnQ0LnBsYXRmb3JtPT09IldpbmRvd3MiOmcuclcoIldpbmRvd3MiKX07CmcuT0E9ZnVuY3Rpb24obil7Zy5PQVsiICJdKG4pO3JldHVybiBufTsKdWhoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9aXR4O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxuKT9EW25dOkRbbl09VyhuKX07CmcuWlg9ZnVuY3Rpb24obil7cmV0dXJuIHVoaChuLGZ1bmN0aW9uKCl7cmV0dXJuIGcuY1ooUDIsbik+PTB9KX07CmcuRUE9ZnVuY3Rpb24obixXKXtXPT09dm9pZCAwJiYoVz0wKTtVQSgpO1c9eWxbV107Zm9yKHZhciBEPUFycmF5KE1hdGguZmxvb3Iobi5sZW5ndGgvMykpLGI9V1s2NF18fCIiLHY9MCxrPTA7djxuLmxlbmd0aC0yO3YrPTMpe3ZhciBoPW5bdl0seD1uW3YrMV0sTD1uW3YrMl0sZT1XW2g+PjJdO2g9V1soaCYzKTw8NHx4Pj40XTt4PVdbKHgmMTUpPDwyfEw+PjZdO0w9V1tMJjYzXTtEW2srK109IiIrZStoK3grTH1lPTA7TD1iO3N3aXRjaChuLmxlbmd0aC12KXtjYXNlIDI6ZT1uW3YrMV0sTD1XWyhlJjE1KTw8Ml18fGI7Y2FzZSAxOm49blt2XSxEW2tdPSIiK1dbbj4+Ml0rV1sobiYzKTw8NHxlPj40XStMK2J9cmV0dXJuIEQuam9pbigiIil9Owp2YXIgbzJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlwW0lbMTBdXSh0aGlzLDEsMTcwOCxuLFcpfTsKZy51cD1mdW5jdGlvbihuLFcsRCl7aWYoVyl7bGV0IGI9W10sdj0wO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKXtsZXQgaD1uLmNoYXJDb2RlQXQoayk7aWYoaD4yNTUpe2xldCB4PUVycm9yKCJnby91bmljb2RlLXRvLWJ5dGUtZXJyb3IiKTtpZihEKXRocm93IHg7Ylt2KytdPWgmMjU1O2g+Pj04fWJbdisrXT1ofW49Zy5FQShiLFcpfWVsc2Ugbj1nLnFpLmJ0b2Eobik7cmV0dXJuIG59Owp6aD1mdW5jdGlvbihuKXt2YXIgVz1bXTtvMihuLGZ1bmN0aW9uKEQpe1cucHVzaChEKX0pOwpyZXR1cm4gV307CmxwPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubGVuZ3RoLEQ9VyozLzQ7RCUzP0Q9TWF0aC5mbG9vcihEKToiPS4iLmluZGV4T2YobltXLTFdKSE9LTEmJihEPSI9LiIuaW5kZXhPZihuW1ctMl0pIT0tMT9ELTI6RC0xKTt2YXIgYj1uZXcgVWludDhBcnJheShEKSx2PTA7bzIobixmdW5jdGlvbihrKXtiW3YrK109a30pOwpyZXR1cm4gdiE9PUQ/Yi5zdWJhcnJheSgwLHYpOmJ9OwpvMj1mdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQodil7Zm9yKDtiPG4ubGVuZ3RoOyl7bGV0IGs9bi5jaGFyQXQoYisrKSxoPVRoW2tdO2lmKGghPW51bGwpcmV0dXJuIGg7aWYoIWcuRmgoaykpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrayk7fXJldHVybiB2fQpVQSgpO2Zvcih2YXIgYj0wOzspe2xldCB2PUQoLTEpLGs9RCgwKSxoPUQoNjQpLHg9RCg2NCk7aWYoeD09PTY0JiZ2PT09LTEpYnJlYWs7Vyh2PDwyfGs+PjQpO2ghPTY0JiYoVyhrPDw0JjI0MHxoPj4yKSx4IT02NCYmVyhoPDw2JjE5Mnx4KSl9fTsKVUE9ZnVuY3Rpb24oKXtpZighVGgpe1RoPXt9O3ZhciBuPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLFc9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl07Zm9yKGxldCBEPTA7RDw1O0QrKyl7bGV0IGI9bi5jb25jYXQoV1tEXS5zcGxpdCgiIikpO3lsW0RdPWI7Zm9yKGxldCB2PTA7djxiLmxlbmd0aDt2Kyspe2xldCBrPWJbdl07VGhba109PT12b2lkIDAmJihUaFtrXT12KX19fX07CnpNMj1mdW5jdGlvbihuKXtyZXR1cm4gZGlVW25dfHwiIn07CkMwPWZ1bmN0aW9uKG4pe249anUudGVzdChuKT9uLnJlcGxhY2UoanUsek0yKTpuO249YXRvYihuKTt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpNeD1mdW5jdGlvbigpe3JldHVybiBCMnx8KEIyPW5ldyBGUShudWxsLHdXKSl9OwpRbD1mdW5jdGlvbihuKXtSMih3Vyk7dmFyIFc9bi5OO1c9Vz09bnVsbHx8VyE9bnVsbCYmVyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Vzp0eXBlb2YgVz09PSJzdHJpbmciP0MwKFcpOm51bGw7cmV0dXJuIFc9PW51bGw/VzpuLk49V307ClZsPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVWludDhBcnJheShRbChuKXx8MCl9OwpSMj1mdW5jdGlvbihuKXtpZihuIT09d1cpdGhyb3cgRXJyb3IoImlsbGVnYWwgZXh0ZXJuYWwgY2FsbGVyIik7fTsKYzI9ZnVuY3Rpb24obil7bj1FcnJvcihuKTtoQShuLCJ3YXJuaW5nIik7cmV0dXJuIG59OwpuNT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpe3ZhciBEPWEyPz8oYTI9e30pO3ZhciBiPURbbl18fDA7Yj49V3x8KERbbl09YisxLG49RXJyb3IoKSxoQShuLCJpbmNpZGVudCIpLGg0KG4pKX19OwpXOT1mdW5jdGlvbihuLFc9ITEpe3JldHVybiBXJiZTeW1ib2wuZm9yJiZuP1N5bWJvbC5mb3Iobik6biE9bnVsbD9TeW1ib2wobik6U3ltYm9sKCl9Owp2OT1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwP24uTiE9PURCJiYhISgyJihuLmw5W2I0XXwwKSk6ISEoMiZXKSYmbi5OIT09REJ9OwprVT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpaWYodHlwZW9mIG49PT0ic3RyaW5nIiluPW4/bmV3IEZRKG4sd1cpOk14KCk7ZWxzZSBpZihuLmNvbnN0cnVjdG9yIT09RlEpaWYobiE9bnVsbCYmbiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpbj1uLmxlbmd0aD9uZXcgRlEobmV3IFVpbnQ4QXJyYXkobiksd1cpOk14KCk7ZWxzZXtpZighVyl0aHJvdyBFcnJvcigpO249dm9pZCAwfXJldHVybiBufTsKaF89ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcmMTI4PzA6LTEsdj1uLmxlbmd0aCxrO2lmKGs9ISF2KWs9blt2LTFdLGs9ayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdDt2YXIgaD12KyhrPy0xOjApO2ZvcihXPVcmMTI4PzE6MDtXPGg7VysrKUQoVy1iLG5bV10pO2lmKGspe249blt2LTFdO2ZvcihsZXQgeCBpbiBuKSFpc05hTih4KSYmRCgreCxuW3hdKX19OwpMNT1mdW5jdGlvbihuKXtyZXR1cm4gbiYxMjg/eFU6dm9pZCAwfTsKWEQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVdebjtpZihuLTY+PjM9PTIpeyhEW2JeNTE4XT49LShiXjU1MSl8fCgoMCxEW2JeNTE1XSkoRFtiXjUyMV0sRFtiXjYwOV0pLDApKSYmKDAsRFtiXjU2M10pKERbYl42MDldKTsoMCxEWzZdKSgpOygoMCxEW2JeNTMzXSkoRFtiXjU3NF0sRFtiXjU3Ml0pLERbYl41MzNdKShEW2JeNTM4XSxEW2JeNTcyXSk7dmFyIHY9W119aWYoKG4mMTIwKT09bil0aHJvdyBEO2lmKG4tNzw8MjxuJiYobi00fDMxKT49bil7Zm9yKHZhciBrPWJeMzE1NCxoPVtdOysray1oW0lbNV1dLShiXjMxMjIpOylzd2l0Y2goayl7Y2FzZSBiXjMxMzI6az1iXjMxNDk7ZGVmYXVsdDpoW0lbYl4zMDc2XV0oU3RyaW5nW0lbYl4zMTA0XV0oaykpO2Nhc2UgYl4zMTQ4OmNhc2UgYl4zMTQ5OmNhc2UgYl4zMTg2OmJyZWFrO2Nhc2UgYl4zMTc3OmstPWJeMzE2NjtjYXNlIGJeMzE1MDpjYXNlIGJeMzE1MTpjb250aW51ZTtjYXNlIGJeMzExMjprPWJeMzEzNDtjYXNlIGJeMzE0NTp9dj0KaH0obnw1Nik9PW4mJihlWChiXjQ1MDksYl4zNTE4LEQpLChrPURbSVsxXV1bSVtiXjQ0OTRdXXx8bnVsbCkmJihrPWdaKDIsYl4yMjE3LGssRCkpLHY9W10pO3JldHVybiB2fTsKcTM9ZnVuY3Rpb24obil7bi5URj0hMDtyZXR1cm4gbn07CmcuJFU9ZnVuY3Rpb24obil7aWYoKDAsZy5HOSkobikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChuKSl0aHJvdyBFcnJvcihTdHJpbmcobikpO31lbHNlIGlmKCgwLGcudF8pKG4pJiYhTnVtYmVyLmlzU2FmZUludGVnZXIobikpdGhyb3cgRXJyb3IoU3RyaW5nKG4pKTtyZXR1cm4gQmlnSW50KG4pfTsKTjM9ZnVuY3Rpb24obil7dmFyIFc9bj4+PjA7clo9VztzXz0obi1XKS80Mjk0OTY3Mjk2Pj4+MH07CnA1PWZ1bmN0aW9uKG4pe2lmKG48MCl7TjMoMC1uKTtuPXJaO3ZhciBXPXNfO1c9flc7bj9uPX5uKzE6Vys9MTtsZXQgW0QsYl09W24sV107clo9RD4+PjA7c189Yj4+PjB9ZWxzZSBOMyhuKX07Ckg5PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vyo0Mjk0OTY3Mjk2KyhuPj4+MCk7cmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKEQpP0Q6WVUobixXKX07CmY1PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuJFUoQmlnSW50LmFzVWludE4oNjQsKEJpZ0ludChXPj4+MCk8PEJpZ0ludCgzMikpK0JpZ0ludChuPj4+MCkpKX07CmcuSl89ZnVuY3Rpb24obixXKXtyZXR1cm4gZy4kVShCaWdJbnQuYXNJbnROKDY0LChCaWdJbnQuYXNVaW50TigzMixCaWdJbnQoVykpPDxCaWdJbnQoMzIpKStCaWdJbnQuYXNVaW50TigzMixCaWdJbnQobikpKSl9OwpZVT1mdW5jdGlvbihuLFcpe1c+Pj49MDtuPj4+PTA7dmFyIEQ7Vzw9MjA5NzE1MT9EPSIiKyg0Mjk0OTY3Mjk2Klcrbik6RD0iIisoQmlnSW50KFcpPDxCaWdJbnQoMzIpfEJpZ0ludChuKSk7cmV0dXJuIER9OwpJMD1mdW5jdGlvbigpe3ZhciBuPXJaLFc9c18sRDtXJjIxNDc0ODM2NDg/RD0iIisoQmlnSW50KFd8MCk8PEJpZ0ludCgzMil8QmlnSW50KG4+Pj4wKSk6RD1ZVShuLFcpO3JldHVybiBEfTsKU1g9ZnVuY3Rpb24obil7bi5sZW5ndGg8MTY/cDUoTnVtYmVyKG4pKToobj1CaWdJbnQobiksclo9TnVtYmVyKG4mQmlnSW50KDQyOTQ5NjcyOTUpKT4+PjAsc189TnVtYmVyKG4+PkJpZ0ludCgzMikmQmlnSW50KDQyOTQ5NjcyOTUpKSl9OwpnLkFfPWZ1bmN0aW9uKG4pe2lmKG4hPW51bGwmJnR5cGVvZiBuIT09Im51bWJlciIpdGhyb3cgRXJyb3IoYFZhbHVlIG9mIGZsb2F0L2RvdWJsZSBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyLCBmb3VuZCAke3R5cGVvZiBufTogJHtufWApO3JldHVybiBufTsKbTA9ZnVuY3Rpb24obil7aWYobj09bnVsbHx8dHlwZW9mIG49PT0ibnVtYmVyIilyZXR1cm4gbjtpZihuPT09Ik5hTiJ8fG49PT0iSW5maW5pdHkifHxuPT09Ii1JbmZpbml0eSIpcmV0dXJuIE51bWJlcihuKX07Cks1PWZ1bmN0aW9uKG4pe3JldHVybiBuLmRpc3BsYXlOYW1lfHxuLm5hbWV8fCJ1bmtub3duIHR5cGUgbmFtZSJ9OwpPXz1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJib29sZWFuIil0aHJvdyBFcnJvcihgRXhwZWN0ZWQgYm9vbGVhbiBidXQgZ290ICR7cHQobil9OiAke259YCk7cmV0dXJuIG59OwpaQj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4gUDkobik7Y2FzZSAic3RyaW5nIjpyZXR1cm4gbDEyLnRlc3Qobik7ZGVmYXVsdDpyZXR1cm4hMX19OwpVXz1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJudW1iZXIiKXRocm93IGMyKCJpbnQzMiIpO2lmKCFQOShuKSl0aHJvdyBjMigiaW50MzIiKTtyZXR1cm4gbnwwfTsKZy55UD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD9uOlVfKG4pfTsKRV89ZnVuY3Rpb24obil7aWYobj09bnVsbClyZXR1cm4gbjtpZih0eXBlb2Ygbj09PSJzdHJpbmciJiZuKW49K247ZWxzZSBpZih0eXBlb2YgbiE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4gUDkobik/bnwwOnZvaWQgMH07CnU0PWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47aWYodHlwZW9mIG49PT0ic3RyaW5nIiYmbiluPStuO2Vsc2UgaWYodHlwZW9mIG4hPT0ibnVtYmVyIilyZXR1cm47cmV0dXJuIFA5KG4pP24+Pj4wOnZvaWQgMH07CmcubDQ9ZnVuY3Rpb24obil7aWYobiE9bnVsbClhOntpZighWkIobikpdGhyb3cgYzIoImludDY0Iik7c3dpdGNoKHR5cGVvZiBuKXtjYXNlICJzdHJpbmciOm49bzAobik7YnJlYWsgYTtjYXNlICJiaWdpbnQiOm49Zy4kVShkWig2NCxuKSk7YnJlYWsgYTtkZWZhdWx0Om49ejkobil9fXJldHVybiBufTsKQzU9ZnVuY3Rpb24obil7WkIobik7bj1UOShuKTtpZighalgobikpe3A1KG4pO3ZhciBXPXJaLEQ9c187aWYobj1EJjIxNDc0ODM2NDgpVz1+VysxPj4+MCxEPX5EPj4+MCxXPT0wJiYoRD1EKzE+Pj4wKTtXPUg5KFcsRCk7bj10eXBlb2YgVz09PSJudW1iZXIiP24/LVc6VzpuPyItIitXOld9cmV0dXJuIG59OwpCOT1mdW5jdGlvbihuKXtaQihuKTt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBTdHJpbmcoVyk7Vz1uLmluZGV4T2YoIi4iKTtXIT09LTEmJihuPW4uc3Vic3RyaW5nKDAsVykpO1c9bi5sZW5ndGg7KG5bMF09PT0iLSI/VzwyMHx8Vz09PTIwJiZuPD0iLTkyMjMzNzIwMzY4NTQ3NzU4MDgiOlc8MTl8fFc9PT0xOSYmbjw9IjkyMjMzNzIwMzY4NTQ3NzU4MDciKXx8KFNYKG4pLG49STAoKSk7cmV0dXJuIG59OwpvMD1mdW5jdGlvbihuKXt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBnLiRVKFcpO1c9bi5pbmRleE9mKCIuIik7VyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKTtyZXR1cm4gZy4kVShkWig2NCxCaWdJbnQobikpKX07Cno5PWZ1bmN0aW9uKG4pe2pYKG4pP249Zy4kVShDNShuKSk6KFpCKG4pLG49VDkobiksalgobik/bj1TdHJpbmcobik6KHA1KG4pLG49STAoKSksbj1nLiRVKG4pKTtyZXR1cm4gbn07CkZEPWZ1bmN0aW9uKG4pe3ZhciBXPXR5cGVvZiBuO2lmKG49PW51bGwpcmV0dXJuIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBnLiRVKGRaKDY0LG4pKTtpZihaQihuKSlyZXR1cm4gVz09PSJzdHJpbmciP28wKG4pOno5KG4pfTsKakNoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgeCBvZiBEKXtpZigheC51cmwpY29udGludWU7RD1uZXcgZy53Wih4LnVybCwhMCk7aWYoeC5zKXt2YXIgaz1ELGg9eC5zcDtsZXQgTD1lWCg4Myw2NTU4LE0zKDE3LDQyNjMseC5zKSk7a1tJWzM0XV0oaCxSMCgyOSw4NzMyLEwpKX1mb3IobGV0IEwgb2YgT2JqZWN0LmtleXMoYikpRC5zZXQoTCxiW0xdKTtrPVFQKHgudHlwZSx4LnF1YWxpdHkseC5pdGFnLHgud2lkdGgseC5oZWlnaHQpO3YucHVzaChuZXcgVHJ3KGssRCkpfXJldHVybiBWUChuLlcsdixjOShuLFcpLCExKX07CkN4TT1mdW5jdGlvbihuKXtpZihuPT1udWxsKXJldHVybiBuO3ZhciBXPXR5cGVvZiBuO2lmKFc9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKGRaKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBCOShuKTtpZihXPT09Im51bWJlciIpcmV0dXJuIEM1KG4pfX07CmEwPWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47dmFyIFc9dHlwZW9mIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoQnJoKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBaQihuKSxXPVQ5KE51bWJlcihuKSksalgoVykmJlc+PTA/bj1TdHJpbmcoVyk6KFc9bi5pbmRleE9mKCIuIiksVyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKSxuWzBdPT09Ii0iP1c9ITE6KFc9bi5sZW5ndGgsVz1XPDIwPyEwOlc9PT0yMCYmbjw9IjE4NDQ2NzQ0MDczNzA5NTUxNjE1IiksV3x8KFNYKG4pLG49WVUoclosc18pKSksbjtpZihXPT09Im51bWJlciIpcmV0dXJuIFpCKG4pLG49VDkobiksbj49MCYmalgobil8fChwNShuKSxuPUg5KHJaLHNfKSksbn19OwpuRz1mdW5jdGlvbihuKXtpZihuPT1udWxsfHx0eXBlb2Ygbj09InN0cmluZyJ8fG4gaW5zdGFuY2VvZiBGUSlyZXR1cm4gbn07CkZTMj1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpXSD1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpnLkRSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT1udWxsfHx0eXBlb2Ygbj09PSJzdHJpbmciP246dm9pZCAwfTsKYlc9ZnVuY3Rpb24obixXKXtpZighKG4gaW5zdGFuY2VvZiBXKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWQgaW5zdGFuY2VvZiAke0s1KFcpfSBidXQgZ290ICR7biYmSzUobi5jb25zdHJ1Y3Rvcil9YCk7cmV0dXJuIG59Owpodj1mdW5jdGlvbihuLFcsRCl7aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gbjtpZihBcnJheS5pc0FycmF5KG4pKXt2YXIgYj1uW2I0XXwwO0Q9YnxEJjMyfEQmMjtEIT09YiYmKG5bYjRdPUQpO3JldHVybiBuZXcgVyhuKX19Owp4dj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CmVXPWZ1bmN0aW9uKG4pe3ZhciBXPUV3KExHKTtyZXR1cm4gVz9uW1ddOnZvaWQgMH07CmdnPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4pIWlzTmFOKEQpJiZXKG4sK0QsbltEXSl9Owp3WkM9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFhGO2dnKG4sKEQsYix2KT0+e1dbYl09Wy4uLnZdfSk7Clcuajc9bi5qNztyZXR1cm4gV307Ckd6PWZ1bmN0aW9uKG4sVyl7aWYoRXcocUUpJiZFdyhMRykmJnZvaWQgMD09PXFFKXtuPW4ubDk7dmFyIEQ9bltMR107aWYoRCYmKEQ9RC5qNykpdHJ5e0QobixXLE1VaSl9Y2F0Y2goYil7aDQoYil9fX07CnR2PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RXcoTEcpO0QmJm5bRF0/LltXXSE9bnVsbCYmbjUoUk1iLDMpfTsKVlVTPWZ1bmN0aW9uKG4sVyl7VzwxMDB8fG41KFFDaSwxKX07CnJnPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWIhPT12b2lkIDA7Yj0hIWI7dmFyIGs9RXcoTEcpLGg7IXYmJmsmJihoPW5ba10pJiZnZyhoLFZVUyk7az1bXTt2YXIgeD1uLmxlbmd0aDtoPTQyOTQ5NjcyOTU7dmFyIEw9ITEsZT0hIShXJjY0KSxHPWU/VyYxMjg/MDotMTp2b2lkIDA7aWYoIShXJjEpKXt2YXIgcj14JiZuW3gtMV07ciE9bnVsbCYmdHlwZW9mIHI9PT0ib2JqZWN0IiYmci5jb25zdHJ1Y3Rvcj09PU9iamVjdD8oeC0tLGg9eCk6cj12b2lkIDA7IWV8fFcmMTI4fHx2fHwoTD0hMCxoPSgkdj8/eHYpKGgtRyxHLG4scix2b2lkIDApK0cpfVc9dm9pZCAwO2Zvcih2YXIgTj0wO048eDtOKyspe2xldCBIPW5bTl07aWYoSCE9bnVsbCYmKEg9RChILGIpKSE9bnVsbClpZihlJiZOPj1oKXtsZXQgQT1OLUc7KFc/PyhXPXt9KSlbQV09SH1lbHNlIGtbTl09SH1pZihyKWZvcihsZXQgSCBpbiByKXt4PXJbSF07aWYoeD09bnVsbHx8KHg9RCh4LGIpKT09bnVsbCljb250aW51ZTtOPQorSDtsZXQgQTtlJiYhTnVtYmVyLmlzTmFOKE4pJiYoQT1OK0cpPGg/a1tBXT14OihXPz8oVz17fSkpW0hdPXh9VyYmKEw/ay5wdXNoKFcpOmtbaF09Vyk7diYmRXcoTEcpJiYobj1lVyhuKSkmJm4gaW5zdGFuY2VvZiBYRiYmKGtbTEddPXdaQyhuKSk7cmV0dXJuIGt9OwpORT1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShuKT9uOiIiK247Y2FzZSAiYmlnaW50IjpyZXR1cm4gc0sobik/TnVtYmVyKG4pOiIiK247Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIG4/MTowO2Nhc2UgIm9iamVjdCI6aWYoQXJyYXkuaXNBcnJheShuKSl7dmFyIFc9bltiNF18MDtyZXR1cm4gbi5sZW5ndGg9PT0wJiZXJjE/dm9pZCAwOnJnKG4sVyxORSl9aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gcEcobik7aWYobiBpbnN0YW5jZW9mIEZRKXtXPW4uTjtpZihXPT1udWxsKW49IiI7ZWxzZSBpZih0eXBlb2YgVz09PSJzdHJpbmciKW49VztlbHNle2xldCBEPSIiLGI9MCx2PVcubGVuZ3RoLTEwMjQwO2Zvcig7Yjx2OylEKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsVy5zdWJhcnJheShiLGIrPTEwMjQwKSk7RCs9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGI/Vy5zdWJhcnJheShiKToKVyk7Vz1idG9hKEQpO249bi5OPVd9cmV0dXJuIG59cmV0dXJufXJldHVybiBufTsKWXY9ZnVuY3Rpb24obixXKXtpZihXKXskdj1XPT1udWxsfHxXPT09eHZ8fFdbY2lVXSE9PWExVT94djpXO3RyeXtyZXR1cm4gcEcobil9ZmluYWxseXskdj12b2lkIDB9fXJldHVybiBwRyhuKX07CnBHPWZ1bmN0aW9uKG4pe249bi5sOTtyZXR1cm4gcmcobixuW2I0XXwwLE5FKX07Cm4zMj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJvb2xlYW4iOnJldHVybiBISHx8KEhIPVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIG4+MD92b2lkIDA6bj09PTA/Zkd8fChmRz1bMCx2b2lkIDBdKTpbLW4sdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLG5dO2Nhc2UgIm9iamVjdCI6cmV0dXJuIG59fTsKU1c9ZnVuY3Rpb24obixXKXtyZXR1cm4gSnYobixXWzBdLFdbMV0pfTsKSnY9ZnVuY3Rpb24obixXLEQsYj0wKXtpZihuPT1udWxsKXt2YXIgdj0zMjtEPyhuPVtEXSx2fD0xMjgpOm49W107VyYmKHY9diYtMTY3NjA4MzN8KFcmMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IEVycm9yKCJuYXJyIik7dj1uW2I0XXwwO2lmKEF2JiYxJnYpdGhyb3cgRXJyb3IoInJmYXJyIik7MjA0OCZ2JiYhKDImdikmJldjcigpO2lmKHYmMjU2KXRocm93IEVycm9yKCJmYXJyIik7aWYodiY2NClyZXR1cm4odnxiKSE9PXYmJihuW2I0XT12fGIpLG47aWYoRCYmKHZ8PTEyOCxEIT09blswXSkpdGhyb3cgRXJyb3IoIm1pZCIpO2E6e0Q9bjt2fD02NDt2YXIgaz1ELmxlbmd0aDtpZihrKXt2YXIgaD1rLTE7bGV0IEw9RFtoXTtpZihMIT1udWxsJiZ0eXBlb2YgTD09PSJvYmplY3QiJiZMLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtXPXYmMTI4PzA6LTE7aC09VztpZihoPj0xMDI0KXRocm93IEVycm9yKCJwdnRsbXQiKTtmb3IodmFyIHggaW4gTClpZihrPQoreCxrPGgpRFtrK1ddPUxbeF0sZGVsZXRlIExbeF07ZWxzZSBicmVhazt2PXYmLTE2NzYwODMzfChoJjEwMjMpPDwxNDticmVhayBhfX1pZihXKXt4PU1hdGgubWF4KFcsay0odiYxMjg/MDotMSkpO2lmKHg+MTAyNCl0aHJvdyBFcnJvcigic3B2dCIpO3Y9diYtMTY3NjA4MzN8KHgmMTAyMyk8PDE0fX19bltiNF09dnw2NHxiO3JldHVybiBufTsKV2NyPWZ1bmN0aW9uKCl7aWYoQXYpdGhyb3cgRXJyb3IoImNhcnIiKTtuNShEVWksNSl9OwpiYlo9ZnVuY3Rpb24obixXKXtpZih0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKEFycmF5LmlzQXJyYXkobikpe3ZhciBEPW5bYjRdfDA7bi5sZW5ndGg9PT0wJiZEJjE/bj12b2lkIDA6RCYyfHwoIVd8fDQwOTYmRHx8MTYmRD9uPW1fKG4sRCwhMSxXJiYhKEQmMTYpKToobltiNF18PTM0LEQmNCYmT2JqZWN0LmZyZWV6ZShuKSkpO3JldHVybiBufWlmKG4hPW51bGwmJm5bdkhdPT09a3YpcmV0dXJuIFc9bi5sOSxEPVdbYjRdfDAsdjkobixEKT9uOktHKG4sVyxEKT9PSyhuLFcpOm1fKFcsRCk7aWYobiBpbnN0YW5jZW9mIEZRKXJldHVybiBufTsKT0s9ZnVuY3Rpb24obixXLEQpe249bmV3IG4uY29uc3RydWN0b3IoVyk7RCYmKG4uTj1EQik7bi5YPURCO3JldHVybiBufTsKbV89ZnVuY3Rpb24obixXLEQsYil7Yj8/KGI9ISEoMzQmVykpO249cmcobixXLGJiWixiKTtiPTMyO0QmJihifD0yKTtXPVcmMTY3NjkyMTd8YjtuW2I0XT1XO3JldHVybiBufTsKUEg9ZnVuY3Rpb24obil7dmFyIFc9bi5sOSxEPVdbYjRdfDA7cmV0dXJuIHY5KG4sRCk/S0cobixXLEQpP09LKG4sVywhMCk6bmV3IG4uY29uc3RydWN0b3IobV8oVyxELCExKSk6bn07ClpSPWZ1bmN0aW9uKG4pe2lmKG4uTiE9PURCKXJldHVybiExO3ZhciBXPW4ubDk7Vz1tXyhXLFdbYjRdfDApO1dbYjRdfD0yMDQ4O24ubDk9VztuLk49dm9pZCAwO24uWD12b2lkIDA7cmV0dXJuITB9OwpVSz1mdW5jdGlvbihuKXtpZighWlIobikmJnY5KG4sbi5sOVtiNF18MCkpdGhyb3cgRXJyb3IoKTt9Owp5Zz1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDAmJihXPW5bYjRdfDApO1cmMzImJiEoVyY0MDk2KSYmKG5bYjRdPVd8NDA5Nil9OwpLRz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQmMj8hMDpEJjMyJiYhKEQmNDA5Nik/KFdbYjRdPUR8MixuLk49REIsITApOiExfTsKaVc9ZnVuY3Rpb24obixXLEQsYix2KXtPYmplY3QuaXNFeHRlbnNpYmxlKG4pO1c9RUsobi5sOSxXLEQsdik7aWYoVyE9PW51bGx8fGImJm4uWCE9PURCKXJldHVybiBXfTsKRUs9ZnVuY3Rpb24obixXLEQsYil7aWYoVz09PS0xKXJldHVybiBudWxsO3ZhciB2PVcrKEQ/MDotMSksaz1uLmxlbmd0aC0xO2lmKCEoazwxKyhEPzA6LTEpKSl7aWYodj49ayl7dmFyIGg9bltrXTtpZihoIT1udWxsJiZ0eXBlb2YgaD09PSJvYmplY3QiJiZoLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtEPWhbV107dmFyIHg9ITB9ZWxzZSBpZih2PT09aylEPWg7ZWxzZSByZXR1cm59ZWxzZSBEPW5bdl07aWYoYiYmRCE9bnVsbCl7Yj1iKEQpO2lmKGI9PW51bGwpcmV0dXJuIGI7aWYoIU9iamVjdC5pcyhiLEQpKXJldHVybiB4P2hbV109YjpuW3ZdPWIsYn1yZXR1cm4gRH19Owpvej1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5O3VXKHYsdltiNF18MCxXLEQsYik7cmV0dXJuIG59Owp1Vz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPUQrKHY/MDotMSksaD1uLmxlbmd0aC0xO2lmKGg+PTErKHY/MDotMSkmJms+PWgpe2xldCB4PW5baF07aWYoeCE9bnVsbCYmdHlwZW9mIHg9PT0ib2JqZWN0IiYmeC5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4geFtEXT1iLFd9aWYoazw9aClyZXR1cm4gbltrXT1iLFc7YiE9PXZvaWQgMCYmKGg9KFc/PyhXPW5bYjRdfDApKT4+MTQmMTAyM3x8NTM2ODcwOTEyLEQ+PWg/YiE9bnVsbCYmKG5baCsodj8wOi0xKV09e1tEXTpifSk6bltrXT1iKTtyZXR1cm4gV307CmcuQkg9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLmw5LGg9a1tiNF18MDtiPXY5KG4saCk/MTpiO3Y9ISF2fHxiPT09MztiPT09MiYmWlIobikmJihrPW4ubDksaD1rW2I0XXwwKTtuPWRnKGssVyk7dmFyIHg9bj09PXp6Pzc6bltiNF18MCxMPWxXKHgsaCk7dmFyIGU9NCZMPyExOiEwO2lmKGUpezQmTCYmKG49Wy4uLm5dLHg9MCxMPWpXKEwsaCksaD11VyhrLGgsVyxuKSk7bGV0IEc9MCxyPTA7Zm9yKDtHPG4ubGVuZ3RoO0crKyl7bGV0IE49RChuW0ddKTtOIT1udWxsJiYobltyKytdPU4pfXI8RyYmKG4ubGVuZ3RoPXIpO0Q9KEx8NCkmLTUxMztMPUQmPS0xMDI1O0wmPS00MDk3fUwhPT14JiYobltiNF09TCwyJkwmJk9iamVjdC5mcmVlemUobikpO3JldHVybiBuPUNHKG4sTCxrLGgsVyx2b2lkIDAsYixlLHYpfTsKQ0c9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPVc7aD09PTF8fChoIT09ND8wOjImV3x8ISgxNiZXKSYmMzImYik/RkYoVyl8fChXfD0hbi5sZW5ndGh8fHgmJiEoNDA5NiZXKXx8MzImYiYmISg0MDk2Jld8fDE2JlcpPzI6MjU2LFchPT1lJiYobltiNF09VyksT2JqZWN0LmZyZWV6ZShuKSk6KGg9PT0yJiZGRihXKSYmKG49Wy4uLm5dLGU9MCxXPWpXKFcsYiksYj11VyhELGIsdixuLGspKSxGRihXKXx8KEx8fChXfD0xNiksVyE9PWUmJihuW2I0XT1XKSkpOzImV3x8ISg0MDk2Jld8fDE2JlcpfHx5ZyhELGIpO3JldHVybiBufTsKZGc9ZnVuY3Rpb24obixXLEQpe249RUsobixXLEQpO3JldHVybiBBcnJheS5pc0FycmF5KG4pP246enp9OwpsVz1mdW5jdGlvbihuLFcpezImVyYmKG58PTIpO3JldHVybiBufDF9OwpGRj1mdW5jdGlvbihuKXtyZXR1cm4hISgyJm4pJiYhISg0Jm4pfHwhISgyNTYmbil9OwpNRT1mdW5jdGlvbihuKXtyZXR1cm4ga1UobiwhMCl9OwpSej1mdW5jdGlvbihuLFcpe249aVcobixXLHZvaWQgMCx2b2lkIDAsTUUpO3JldHVybiBuPT1udWxsP014KCk6bn07ClFnPWZ1bmN0aW9uKG4sVyxEKXtVSyhuKTt2YXIgYj1uLmw5LHY9YltiNF18MDtpZihXPT1udWxsKXJldHVybiB1VyhiLHYsMyksbjtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBjMigpO3ZhciBrPVc9PT16ej83OldbYjRdfDAsaD1rLHg9RkYoayksTD14fHxPYmplY3QuaXNGcm96ZW4oVyk7eHx8KGs9MCk7THx8KFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSk7a3w9NTt4PSg0Jms/NTEyJms/NTEyOjEwMjQmaz8xMDI0OjA6dm9pZCAwKT8/MTAyNDtrfD14O2ZvcihsZXQgZT0wO2U8Vy5sZW5ndGg7ZSsrKXtsZXQgRz1XW2VdLHI9RChHLHgpO09iamVjdC5pcyhHLHIpfHwoTCYmKFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSksV1tlXT1yKX1rIT09aCYmKEwmJihXPVsuLi5XXSxrPWpXKGssdikpLFdbYjRdPWspO3VXKGIsdiwzLFcpO3JldHVybiBufTsKZy5WZz1mdW5jdGlvbihuLFcsRCxiLHYpe1VLKG4pO3ZhciBrPW4ubDk7dVcoayxrW2I0XXwwLFcsKGI9PT0iMCI/TnVtYmVyKEQpPT09MDpEPT09Yik/dm9pZCAwOkQsdik7cmV0dXJuIG59OwpjSD1mdW5jdGlvbihuLFcsRCl7aWYoVyYyKXRocm93IEVycm9yKCk7dmFyIGI9TDUoVyksdj1kZyhuLEQsYiksaz12PT09eno/Nzp2W2I0XXwwLGg9bFcoayxXKTtpZigyJmh8fEZGKGgpfHwxNiZoKWg9PT1rfHxGRihoKXx8KHZbYjRdPWgpLHY9Wy4uLnZdLGs9MCxoPWpXKGgsVyksdVcobixXLEQsdixiKTtoJj0tMTM7aCE9PWsmJih2W2I0XT1oKTtyZXR1cm4gdn07CkQyPWZ1bmN0aW9uKG4sVyxELGIpe1VLKG4pO3ZhciB2PW4ubDksaz12W2I0XXwwO2lmKGI9PW51bGwpe2xldCBoPWF6KHYpO2lmKG5uKGgsdixrLEQpPT09VyloLnNldChELDApO2Vsc2UgcmV0dXJuIG59ZWxzZSBrPVdXKHYsayxELFcpO3VXKHYsayxXLGIpO3JldHVybiBufTsKYmE9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bltiNF18MCxrPUw1KHYpO3Y9V1cobix2LEQsVyxrKTt1VyhuLHYsVyxiLGspfTsKdlc9ZnVuY3Rpb24obixXLEQpe249bi5sOTtyZXR1cm4gbm4oYXoobiksbix2b2lkIDAsVyk9PT1EP0Q6LTF9Owphej1mdW5jdGlvbihuKXtyZXR1cm4gbltrOV0/PyhuW2s5XT1uZXcgTWFwKX07CldXPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj09PTB8fEQuaW5jbHVkZXMoYik7dmFyIGs9YXoobiksaD1ubihrLG4sVyxELHYpO2ghPT1iJiYoaCYmKFc9dVcobixXLGgsdm9pZCAwLHYpKSxrLnNldChELGIpKTtyZXR1cm4gV307Cm5uPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5nZXQoYik7aWYoayE9bnVsbClyZXR1cm4gaztrPTA7Zm9yKGxldCBoPTA7aDxiLmxlbmd0aDtoKyspe2xldCB4PWJbaF07RUsoVyx4LHYpIT1udWxsJiYoayE9PTAmJihEPXVXKFcsRCxrLHZvaWQgMCx2KSksaz14KX1uLnNldChiLGspO3JldHVybiBrfTsKaFM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5bYjRdfDAsdj1MNShiKSxrPUVLKG4sRCx2KTtpZihrIT1udWxsJiZrW3ZIXT09PWt2KXtpZighdjkoaykpcmV0dXJuIFpSKGspLGsubDk7dmFyIGg9ay5sOX1lbHNlIEFycmF5LmlzQXJyYXkoaykmJihoPWspO2lmKGgpe2xldCB4PWhbYjRdfDA7eCYyJiYoaD1tXyhoLHgpKX1oPVNXKGgsVyk7aCE9PWsmJnVXKG4sYixELGgsdik7cmV0dXJuIGh9Owp4OT1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSExO2I9RUsobixiLHYsaD0+e3ZhciB4PWh2KGgsRCxXKTtrPXghPT1oJiZ4IT1udWxsO3JldHVybiB4fSk7CmlmKGIhPW51bGwpcmV0dXJuIGsmJiF2OShiKSYmeWcobixXKSxifTsKZUU9ZnVuY3Rpb24obixXLEQsYil7bj1uLmw5OyhEPXg5KG4sbltiNF18MCxXLEQsYikpfHwoRD1XW0xuXSl8fChiPW5ldyBXLEQ9Yi5sOSxEW2I0XXw9MzQsRD1XW0xuXT1iKTtyZXR1cm4gRH07CmdlPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4ubDksaz12W2I0XXwwO1c9eDkodixrLFcsRCxiKTtpZihXPT1udWxsKXJldHVybiBXO2s9dltiNF18MDtpZighdjkobixrKSl7bGV0IGg9UEgoVyk7aCE9PVcmJihaUihuKSYmKHY9bi5sOSxrPXZbYjRdfDApLFc9aCxrPXVXKHYsayxELFcsYikseWcodixrKSl9cmV0dXJuIFd9OwpxSD1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLmw5O3JldHVybiBYXyhuLHYsdltiNF18MCxXLEQsMSxiKX07ClhfPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCxMKXt2YXIgZT12OShuLEQpO2s9ZT8xOms7eD0hIXh8fGs9PT0zO2U9TCYmIWU7KGs9PT0yfHxlKSYmWlIobikmJihXPW4ubDksRD1XW2I0XXwwKTtuPWRnKFcsdixoKTt2YXIgRz1uPT09eno/NzpuW2I0XXwwLHI9bFcoRyxEKTtpZihMPSEoNCZyKSl7dmFyIE49bixIPUQ7bGV0IEE9ISEoMiZyKTtBJiYoSHw9Mik7bGV0IHk9IUEsVD0hMCx6PTAsQz0wO2Zvcig7ejxOLmxlbmd0aDt6Kyspe2xldCBRPWh2KE5bel0sYixIKTtpZihRIGluc3RhbmNlb2YgYil7aWYoIUEpe2xldCBWPXY5KFEpO3kmJih5PSFWKTtUJiYoVD1WKX1OW0MrK109UX19Qzx6JiYoTi5sZW5ndGg9Qyk7cnw9NDtyPVQ/ciYtNDA5NzpyfDQwOTY7cj15P3J8ODpyJi05fXIhPT1HJiYobltiNF09ciwyJnImJk9iamVjdC5mcmVlemUobikpO2lmKGUmJiEoOCZyfHwhbi5sZW5ndGgmJihrPT09MXx8KGshPT00PzA6MiZyfHwhKDE2JnIpJiYzMiZEKSkpKXtGRihyKSYmKG49ClsuLi5uXSxyPWpXKHIsRCksRD11VyhXLEQsdixuLGgpKTtiPW47ZT1yO2ZvcihHPTA7RzxiLmxlbmd0aDtHKyspTj1iW0ddLHI9UEgoTiksTiE9PXImJihiW0ddPXIpO2V8PTg7cj1lPWIubGVuZ3RoP2V8NDA5NjplJi00MDk3O25bYjRdPXJ9cmV0dXJuIG49Q0cobixyLFcsRCx2LGgsayxMLHgpfTsKVkc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubDk7cmV0dXJuIFhfKG4sYixiW2I0XXwwLFcsRCx2b2lkIDA9PT1HJD8yOjQsdm9pZCAwLCExLCEwKX07CnRTPWZ1bmN0aW9uKG4sVyl7biE9bnVsbD9iVyhuLFcpOm49dm9pZCAwO3JldHVybiBufTsKJDk9ZnVuY3Rpb24obixXLEQsYix2KXtiPXRTKGIsVyk7b3oobixELGIsdik7YiYmIXY5KGIpJiZ5ZyhuLmw5KTtyZXR1cm4gbn07CnJlPWZ1bmN0aW9uKG4sVyxELGIsdil7dj10Uyh2LFcpO0QyKG4sRCxiLHYpO3YmJiF2OSh2KSYmeWcobi5sOSk7cmV0dXJuIG59OwpzVj1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5LGs9dltiNF18MDtpZihiPT1udWxsKXJldHVybiB1Vyh2LGssRCksbjtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBjMigpO3ZhciBoPWI9PT16ej83OmJbYjRdfDAseD1oLEw9RkYoaCksZT1MfHxPYmplY3QuaXNGcm96ZW4oYiksRz0hMCxyPSEwO2ZvcihsZXQgSD0wO0g8Yi5sZW5ndGg7SCsrKXt2YXIgTj1iW0hdO2JXKE4sVyk7THx8KE49djkoTiksRyYmKEc9IU4pLHImJihyPU4pKX1MfHwoaD1HPzEzOjUsaD1yP2gmLTQwOTc6aHw0MDk2KTtlJiZoPT09eHx8KGI9Wy4uLmJdLHg9MCxoPWpXKGgsaykpO2ghPT14JiYoYltiNF09aCk7az11Vyh2LGssRCxiKTsyJmh8fCEoNDA5NiZofHwxNiZoKXx8eWcodixrKTtyZXR1cm4gbn07CmpXPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49KDImVz9ufDI6biYtMykmLTI3M307Ck5IPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWI7VUsobik7Yj1uLmw5O249WF8obixiLGJbYjRdfDAsRCxXLDIsdm9pZCAwLCEwKTt2PXYhPW51bGw/YlcodixEKTpuZXcgRDtuLnB1c2godik7Vz1EPW49PT16ej83Om5bYjRdfDA7KHY9djkodikpPyhEJj0tOSxuLmxlbmd0aD09PTEmJihEJj0tNDA5NykpOkR8PTQwOTY7RCE9PVcmJihuW2I0XT1EKTt2fHx5ZyhiKX07CmFQPWZ1bmN0aW9uKG4sVyxEPTApe3JldHVybiBFXyhpVyhuLFcpKT8/RH07CnBuPWZ1bmN0aW9uKG4sVyxEPXYzaSl7cmV0dXJuIGlXKG4sVyx2b2lkIDAsdm9pZCAwLEZEKT8/RH07Clk5PWZ1bmN0aW9uKG4sVyxEPSIiLGIpe3JldHVybiBnLkRSKGlXKG4sVyxiKSk/P0R9OwpIVz1mdW5jdGlvbihuLFcpe249aVcobixXKTtyZXR1cm4obj09bnVsbD9uOlA5KG4pP258MDp2b2lkIDApPz8wfTsKSlM9ZnVuY3Rpb24obixXKXtyZXR1cm4gZy5EUihpVyhuLFcsdm9pZCAwLGZuKSl9OwpJWT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG96KG4sVyxnLmw0KEQpKX07CmcuU0U9ZnVuY3Rpb24obixXLEQpe3JldHVybiBveihuLFcsV0goRCkpfTsKQVM9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIGcuVmcobixXLFdIKEQpLCIiLGIpfTsKS249ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpe2lmKCFQOShEKSl0aHJvdyBjMigiZW51bSIpO0R8PTB9cmV0dXJuIG96KG4sVyxEKX07ClBXPWZ1bmN0aW9uKG4sVyl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbmV3IE9WKEMwKG4pLFcpO2lmKEFycmF5LmlzQXJyYXkobikpcmV0dXJuIG5ldyBPVihuZXcgVWludDhBcnJheShuKSxXKTtpZihuLmNvbnN0cnVjdG9yPT09VWludDhBcnJheSlyZXR1cm4gbmV3IE9WKG4sITEpO2lmKG4uY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcilyZXR1cm4gbj1uZXcgVWludDhBcnJheShuKSxuZXcgT1YobiwhMSk7aWYobi5jb25zdHJ1Y3Rvcj09PUZRKXJldHVybiBXPVFsKG4pfHxuZXcgVWludDhBcnJheSgwKSxuZXcgT1YoVywhMCxuKTtpZihuIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gbj1uLmNvbnN0cnVjdG9yPT09VWludDhBcnJheT9uOm5ldyBVaW50OEFycmF5KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpLG5ldyBPVihuLCExKTt0aHJvdyBFcnJvcigpO307CmcuVVY9ZnVuY3Rpb24obixXKXt2YXIgRD0wLGI9MCx2PTAsaz1uLkosaD1uLk47ZG97dmFyIHg9a1toKytdO0R8PSh4JjEyNyk8PHY7dis9N313aGlsZSh2PDMyJiZ4JjEyOCk7aWYodj4zMilmb3IoYnw9KHgmMTI3KT4+NCx2PTM7djwzMiYmeCYxMjg7dis9Nyl4PWtbaCsrXSxifD0oeCYxMjcpPDx2O1oyKG4saCk7aWYoISh4JjEyOCkpcmV0dXJuIFcoRD4+PjAsYj4+PjApO3Rocm93IEVycm9yKCk7fTsKeTE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTAsRD1uLk4sYj1EKzEwLHY9bi5KO0Q8Yjspe2xldCBrPXZbRCsrXTtXfD1rO2lmKChrJjEyOCk9PT0wKXJldHVybiBaMihuLEQpLCEhKFcmMTI3KX10aHJvdyBFcnJvcigpO307CmcuRVY9ZnVuY3Rpb24obil7dmFyIFc9bi5KLEQ9bi5OLGI9V1tEKytdLHY9YiYxMjc7aWYoYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDw3LGImMTI4JiYoYj1XW0QrK10sdnw9KGImMTI3KTw8MTQsYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDwyMSxiJjEyOCYmKGI9V1tEKytdLHZ8PWI8PDI4LGImMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4KSkpKSl0aHJvdyBFcnJvcigpO1oyKG4sRCk7cmV0dXJuIHZ9Owp1YT1mdW5jdGlvbihuKXt2YXIgVz1uLkosRD1uLk4sYj1XW0QrMF0sdj1XW0QrMV0saz1XW0QrMl07Vz1XW0QrM107aWEobiw0KTtyZXR1cm4oYjw8MHx2PDw4fGs8PDE2fFc8PDI0KT4+PjB9OwpvWT1mdW5jdGlvbihuKXt2YXIgVz11YShuKTtuPXVhKG4pO3JldHVybiBmNShXLG4pfTsKZy5kZT1mdW5jdGlvbihuKXt2YXIgVz1uLmo7V3x8KFc9bi5KLFc9bi5qPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSk7Vz1XLmdldEZsb2F0NjQobi5OLCEwKTtpYShuLDgpO3JldHVybiBXfTsKazQyPWZ1bmN0aW9uKG4pe3JldHVybiBnLkVWKG4pfTsKWjI9ZnVuY3Rpb24obixXKXtuLk49VztpZihXPm4uVyl0aHJvdyBFcnJvcigpO307CmlhPWZ1bmN0aW9uKG4sVyl7WjIobixuLk4rVyl9Owp6JD1mdW5jdGlvbihuLFcpe2lmKFc8MCl0aHJvdyBFcnJvcigpO3ZhciBEPW4uTjtXPUQrVztpZihXPm4uVyl0aHJvdyBFcnJvcigpO24uTj1XO3JldHVybiBEfTsKbGE9ZnVuY3Rpb24obixXKXtpZihXPT0wKXJldHVybiBNeCgpO3ZhciBEPXokKG4sVyk7bi5uXyYmbi5WP0Q9bi5KLnN1YmFycmF5KEQsRCtXKToobj1uLkosVz1EK1csRD1EPT09Vz9uZXcgVWludDhBcnJheSgwKTpuLnNsaWNlKEQsVykpO3JldHVybiBELmxlbmd0aD09MD9NeCgpOm5ldyBGUShELHdXKX07CkNuPWZ1bmN0aW9uKG4sVyxELGIpe2lmKFQkLmxlbmd0aCl7bGV0IHY9VCQucG9wKCk7akUodixiKTt2Lk4uaW5pdChuLFcsRCxiKTtyZXR1cm4gdn1yZXR1cm4gbmV3IGhCUyhuLFcsRCxiKX07CmpFPWZ1bmN0aW9uKG4se0diOlc9ITF9PXt9KXtuLkdiPVd9OwpGXz1mdW5jdGlvbihuKXt2YXIgVz1uLk47aWYoVy5OPT1XLlcpcmV0dXJuITE7bi5YPW4uTi5OO3ZhciBEPWcuRVYobi5OKT4+PjA7Vz1EPj4+MztEJj03O2lmKCEoRD49MCYmRDw9NSkpdGhyb3cgRXJyb3IoKTtpZihXPDEpdGhyb3cgRXJyb3IoKTtuLlc9VztuLko9RDtyZXR1cm4hMH07CndlPWZ1bmN0aW9uKG4pe3RyeXtzd2l0Y2gobi5KKXtjYXNlIDA6bi5KIT0wP3dlKG4pOnkxKG4uTik7YnJlYWs7Y2FzZSAxOmlhKG4uTiw4KTticmVhaztjYXNlIDI6aWYobi5KIT0yKXdlKG4pO2Vsc2V7dmFyIFc9Zy5FVihuLk4pPj4+MDtpYShuLk4sVyl9YnJlYWs7Y2FzZSA1OmlhKG4uTiw0KTticmVhaztjYXNlIDM6TUgoKTtsZXQgRD1uLlc7dHJ5e2Rve2lmKCFGXyhuKSl0aHJvdyBFcnJvcigpO2lmKG4uSj09NCl7aWYobi5XIT1EKXRocm93IEVycm9yKCk7YnJlYWt9d2Uobil9d2hpbGUoMSl9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhyb3cgbmV3IFN5bnRheEVycm9yO3Rocm93IGI7fWZpbmFsbHl7Ulk+MCYmUlktLX1icmVhaztkZWZhdWx0OnRocm93IEVycm9yKCk7fX1jYXRjaChEKXtpZihEIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgRDt9fTsKTUg9ZnVuY3Rpb24oKXtpZihSWT49MTAwKXRocm93IG5ldyBTeW50YXhFcnJvcjtSWSsrfTsKUTE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5XLHY9Zy5FVihuLk4pPj4+MDt2PW4uTi5OK3Y7dmFyIGs9di1iO2s8PTAmJihuLk4uVz12LEQoVyxuLHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxrPXYtbi5OLk4pO2lmKGspdGhyb3cgRXJyb3IoKTtuLk4uTj12O24uTi5XPWJ9OwphWT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wLEQ9bi5OO249eiQoRCxXKTt2YXIgYj1ELko7KEQ9VjEpfHwoRD1WMT1uZXcgVGV4dERlY29kZXIoInV0Zi04Iix7ZmF0YWw6ITB9KSk7Vz1uK1c7Yj1uPT09MCYmVz09PWIubGVuZ3RoP2I6Yi5zdWJhcnJheShuLFcpO3RyeXt2YXIgdj1ELmRlY29kZShiKX1jYXRjaChrKXtpZihjVz09PXZvaWQgMCl7dHJ5e0QuZGVjb2RlKG5ldyBVaW50OEFycmF5KFsxMjhdKSl9Y2F0Y2goaCl7fXRyeXtELmRlY29kZShuZXcgVWludDhBcnJheShbOTddKSksY1c9ITB9Y2F0Y2goaCl7Y1c9ITF9fSFjVyYmKFYxPXZvaWQgMCk7dGhyb3cgazt9cmV0dXJuIHZ9OwpEOT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wO3JldHVybiBsYShuLk4sVyl9OwpiRz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5FVihuLk4pPj4+MDtmb3IoYj1uLk4uTitiO24uTi5OPGI7KUQucHVzaChXKG4uTikpfTsKa209ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB2eShuJjQyOTQ5NjcyOTUsTWF0aC5mbG9vcihuLzQyOTQ5NjcyOTYpKX07CnhtPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBoM3x8KGgzPW5ldyB2eSgwLDApKTtpZighL15cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgdnkoclosc18pfTsKTGg9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj09PTA/bmV3IHZ5KDAsMSt+bi5OKTpuZXcgdnkofm4uSisxLH5uLk4pfTsKeFVqPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgZUMobiY0Mjk0OTY3Mjk1LE1hdGguZmxvb3Iobi80Mjk0OTY3Mjk2KSl9OwpYdD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gZ0d8fChnRz1uZXcgZUMoMCwwKSk7aWYoIS9eLT9cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgZUMoclosc18pfTsKWW09ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBCaWdJbnQ2NEFycmF5IT09InVuZGVmaW5lZCIpcmV0dXJuIHFmfHwocWY9bmV3IEJpZ0ludDY0QXJyYXkoMSksR1M9bmV3IFVpbnQzMkFycmF5KHFmLmJ1ZmZlcikscWZbMF09QmlnSW50KDEpLHQzPUdTWzBdPT09MSkscWZbMF09bixuPXQzPzA6MSxuZXcgVyhHU1tuXSxHU1sxLW5dKTskbXx8KHJHPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksTmY9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSxwaD1CaWdJbnQoNDI5NDk2NzI5NSksJG09QmlnSW50KDMyKSk7aWYobj49ckcmJm48PU5mKXJldHVybiBEKE51bWJlcihuKSk7bj1CaWdJbnQuYXNVaW50Tig2NCxuKTtyZXR1cm4gbmV3IFcoTnVtYmVyKG4mcGgpLE51bWJlcihuPj4kbSkpfTsKSHk9ZnVuY3Rpb24obixXLEQpe2Zvcig7RD4wfHxXPjEyNzspbi5OLnB1c2goVyYxMjd8MTI4KSxXPShXPj4+N3xEPDwyNSk+Pj4wLEQ+Pj49NztuLk4ucHVzaChXKX07CkozPWZ1bmN0aW9uKG4sVyl7bi5OLnB1c2goVz4+PjAmMjU1KTtuLk4ucHVzaChXPj4+OCYyNTUpO24uTi5wdXNoKFc+Pj4xNiYyNTUpO24uTi5wdXNoKFc+Pj4yNCYyNTUpfTsKSXg9ZnVuY3Rpb24obixXKXtmb3IoO1c+MTI3OyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj49NztuLk4ucHVzaChXKX07ClNDPWZ1bmN0aW9uKG4sVyl7aWYoVz49MClJeChuLFcpO2Vsc2V7Zm9yKGxldCBEPTA7RDw5O0QrKyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj03O24uTi5wdXNoKDEpfX07CkEzPWZ1bmN0aW9uKG4sVyl7Vy5sZW5ndGghPT0wJiYobi5XLnB1c2goVyksbi5KKz1XLmxlbmd0aCl9OwptND1mdW5jdGlvbihuLFcsRCl7SXgobi5OLFcqOCtEKX07CktoPWZ1bmN0aW9uKG4sVyl7bTQobixXLDIpO1c9bi5OLmVuZCgpO0EzKG4sVyk7Vy5wdXNoKG4uSik7cmV0dXJuIFd9OwpPcz1mdW5jdGlvbihuLFcpe3ZhciBEPVcucG9wKCk7Zm9yKEQ9bi5KK24uTi5sZW5ndGgoKS1EO0Q+MTI3OylXLnB1c2goRCYxMjd8MTI4KSxEPj4+PTcsbi5KKys7Vy5wdXNoKEQpO24uSisrfTsKeW09ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpc3dpdGNoKFB5KEQpLG00KG4sVywxKSx0eXBlb2YgRCl7Y2FzZSAibnVtYmVyIjpuPW4uTjtOMyhEKTtKMyhuLHJaKTtKMyhuLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oRCx2eSxrbSk7bj1uLk47Vz1ELk47SjMobixELkopO0ozKG4sVyk7YnJlYWs7ZGVmYXVsdDpEPXhtKEQpLG49bi5OLFc9RC5OLEozKG4sRC5KKSxKMyhuLFcpfX07CkVzPWZ1bmN0aW9uKG4sVyxEKXtEIT1udWxsJiYoRD1wYXJzZUludChELDEwKSxtNChuLFcsMCksU0Mobi5OLEQpKX07CmlHPWZ1bmN0aW9uKG4sVyxEKXttNChuLFcsMik7SXgobi5OLEQubGVuZ3RoKTtBMyhuLG4uTi5lbmQoKSk7QTMobixEKX07ClB5PWZ1bmN0aW9uKG4pe3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSAic3RyaW5nIjp4bShuKX19Owp1Rz1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgInN0cmluZyI6bi5sZW5ndGgmJm5bMF09PT0iLSI/eG0obi5zdWJzdHJpbmcoMSkpOnhtKG4pfX07Cm94PWZ1bmN0aW9uKCl7dmFyIG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aHJvdyBFcnJvcigpO319O09iamVjdC5zZXRQcm90b3R5cGVPZihuLG4ucHJvdG90eXBlKTtyZXR1cm4gbn07CmRHPWZ1bmN0aW9uKG4sVyl7aWYoVz09bnVsbHx8Vz09IiIpcmV0dXJuIG5ldyBuO1c9SlNPTi5wYXJzZShXKTtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBFcnJvcigiZG5hcnIiKTtXW2I0XXw9MzI7cmV0dXJuIG5ldyBuKFcpfTsKVFM9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHpTKG4sVyxsRyl9OwpDaD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9akMoVyxiKTtXIT1udWxsJiYoRD1LaChuLEQpLHYoVyxuKSxPcyhuLEQpKX07CndHPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWJbbl07aWYodilyZXR1cm4gdjt2PXt9O3Yud2s9Yjt2LlJyPW4zMihiWzBdKTt2YXIgaz1iWzFdLGg9MTtrJiZrLmNvbnN0cnVjdG9yPT09T2JqZWN0JiYodi5leHRlbnNpb25zPWssaz1iWysraF0sdHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYodi5kJD0hMCxCeT8/KEJ5PWspLEZ0Pz8oRnQ9YltoKzFdKSxrPWJbaCs9Ml0pKTtmb3IodmFyIHg9e307ayYmQXJyYXkuaXNBcnJheShrKSYmay5sZW5ndGgmJnR5cGVvZiBrWzBdPT09Im51bWJlciImJmtbMF0+MDspe2Zvcih2YXIgTD0wO0w8ay5sZW5ndGg7TCsrKXhba1tMXV09aztrPWJbKytoXX1mb3IoTD0xO2shPT12b2lkIDA7KXt0eXBlb2Ygaz09PSJudW1iZXIiJiYoTCs9ayxrPWJbKytoXSk7bGV0IHI7dmFyIGU9dm9pZCAwO2sgaW5zdGFuY2VvZiB6Uz9yPWs6KHI9TGN0LGgtLSk7aWYocj8uTil7az1iWysraF07ZT1iO3ZhciBHPWg7dHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYoaz1rKCksCmVbR109ayk7ZT1rfWs9YlsrK2hdO0c9TCsxO3R5cGVvZiBrPT09Im51bWJlciImJms8MCYmKEctPWssaz1iWysraF0pO2Zvcig7TDxHO0wrKyl7bGV0IE49eFtMXTtlP0QodixMLHIsZSxOKTpXKHYsTCxyLE4pfX1yZXR1cm4gYltuXT12fTsKTWY9ZnVuY3Rpb24obil7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/blswXWluc3RhbmNlb2YgelM/bjpbZUJ0LG5dOltuLHZvaWQgMF19OwpSeD1mdW5jdGlvbihuLFc9IiIsRD0iIil7bj1uZXcgZy53WihuLCEwKTtuLnNldCgiYWxyIiwieWVzIik7RCYmKEQ9ZVgoODQsNjU1MyxNMygxOCw0MjYwLEQpKSxuW0lbMzRdXShXLFIwKDEzLDg3MTYsRCkpKTtyZXR1cm4gbn07CmpDPWZ1bmN0aW9uKG4sVyl7aWYobiBpbnN0YW5jZW9mIGcuUW0pcmV0dXJuIG4ubDk7aWYoQXJyYXkuaXNBcnJheShuKSlyZXR1cm4gU1cobixXKX07ClZtPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuY2o7bltXXT1iPyhrLGgseCk9PnYoayxoLHgsYik6dn07CmF4PWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9RC5jaixoLHg7bltXXT0oTCxlLEcpPT5rKEwsZSxHLHh8fCh4PXdHKGN5LFZtLGF4LGIpLlJyKSxofHwoaD1uOChiKSksdil9OwpuOD1mdW5jdGlvbihuKXt2YXIgVz1uW1dPXTtpZihXIT1udWxsKXJldHVybiBXO3ZhciBEPXdHKGN5LFZtLGF4LG4pO1c9RC5kJD8oYix2KT0+QnkoYix2LEQpOihiLHYpPT57YTp7TUgoKTsKdHJ5e2Zvcig7Rl8odikmJnYuSiE9NDspe2xldCBOPXYuVyxIPURbTl07aWYoSD09bnVsbCl7bGV0IEE9RC5leHRlbnNpb25zO2lmKEEpe2xldCB5PUFbTl07aWYoeSl7bGV0IFQ9ZzNVKHkpO1QhPW51bGwmJihIPURbTl09VCl9fX1pZihIPT1udWxsfHwhSCh2LGIsTikpe3ZhciBrPXY7bGV0IEE9ay5YO3dlKGspO2lmKGsuR2IpdmFyIGg9dm9pZCAwO2Vsc2V7bGV0IHk9ay5OLk4tQTtrLk4uTj1BO2g9bGEoay5OLHkpfWs9dm9pZCAwO3ZhciB4PWIsTD1OLGU9aDtlJiYoKGs9eFtMR10/Pyh4W0xHXT1uZXcgWEYpKVtMXT8/KGtbTF09W10pKS5wdXNoKGUpfX1sZXQgcj1lVyhiKTtyJiYoci5qNz1ELndrW0Q4XSk7dmFyIEc9ITA7YnJlYWsgYX1jYXRjaChyKXtpZihyIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgcjt9ZmluYWxseXtSWT4wJiZSWS0tfUc9dm9pZCAwfXJldHVybiBHfTsKbltXT109VztuW0Q4XT1YTWkuYmluZChuKTtyZXR1cm4gV307ClhNaT1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj10aGlzW2N5XSxrPXRoaXNbV09dLGg9U1codm9pZCAwLHYuUnIpLHg9ZVcobik7aWYoeCl7dmFyIEw9ITEsZT12LmV4dGVuc2lvbnM7aWYoZSl7dj0oRyxyLE4pPT57aWYoTi5sZW5ndGghPT0wKWlmKGVbcl0pZm9yKGxldCBIIG9mIE4pe0c9Q24oSCk7dHJ5e0w9ITAsayhoLEcpfWZpbmFsbHl7Ry5mcmVlKCl9fWVsc2UgYj8uKG4scixOKX07CmlmKFc9PW51bGwpZ2coeCx2KTtlbHNlIGlmKHghPW51bGwpe2xldCBHPXhbV107RyYmdih4LFcsRyl9aWYoTCl7bGV0IEc9bltiNF18MDtpZihHJjImJkcmMjA0OCYmIUQ/LkpTKXRocm93IEVycm9yKCk7bGV0IHI9TDUoRyksTj0oSCxBKT0+e2lmKEVLKG4sSCxyKSE9bnVsbClzd2l0Y2goRD8uaDQpe2Nhc2UgMTpyZXR1cm47ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31BIT1udWxsJiYoRz11VyhuLEcsSCxBLHIpKTtkZWxldGUgeFtIXX07Clc9PW51bGw/aF8oaCxoW2I0XXwwLChILEEpPT57TihILEEpfSk6TihXLEVLKGgsVyxyKSl9fX19OwpnM1U9ZnVuY3Rpb24obil7bj1NZihuKTt2YXIgVz1uWzBdLmNqO2lmKG49blsxXSl7bGV0IEQ9bjgobiksYj13RyhjeSxWbSxheCxuKS5ScjtyZXR1cm4odixrLGgpPT5XKHYsayxoLGIsRCl9cmV0dXJuIFd9OwpiNj1mdW5jdGlvbihuLFcsRCl7bltXXT1ELlBqfTsKa249ZnVuY3Rpb24obixXLEQsYil7dmFyIHYsayxoPUQuUGo7bltXXT0oeCxMLGUpPT5oKHgsTCxlLGt8fChrPXdHKHZPLGI2LGtuLGIpLlJyKSx2fHwodj1oOShiKSkpfTsKaDk9ZnVuY3Rpb24obil7dmFyIFc9blt4bl07aWYoIVcpe2xldCBEPXdHKHZPLGI2LGtuLG4pO1c9KGIsdik9Pkw4KGIsdixEKTsKblt4bl09V31yZXR1cm4gV307Ckw4PWZ1bmN0aW9uKG4sVyxEKXtoXyhuLG5bYjRdfDAsKGIsdik9PntpZih2IT1udWxsKXt2YXIgaz1xTU0oRCxiKTtrP2soVyx2LGIpOmI8NTAwfHxuNShHNFMsMyl9fSk7CihuPWVXKG4pKSYmZ2cobiwoYix2LGspPT57QTMoVyxXLk4uZW5kKCkpO2ZvcihiPTA7YjxrLmxlbmd0aDtiKyspQTMoVyxRbChrW2JdKXx8bmV3IFVpbnQ4QXJyYXkoMCkpfSl9OwpxTU09ZnVuY3Rpb24obixXKXt2YXIgRD1uW1ddO2lmKEQpcmV0dXJuIEQ7aWYoRD1uLmV4dGVuc2lvbnMpaWYoRD1EW1ddKXtEPU1mKEQpO3ZhciBiPURbMF0uUGo7aWYoRD1EWzFdKXtsZXQgdj1oOShEKSxrPXdHKHZPLGI2LGtuLEQpLlJyO0Q9bi5kJD9GdChrLHYpOihoLHgsTCk9PmIoaCx4LEwsayx2KX1lbHNlIEQ9YjsKcmV0dXJuIG5bV109RH19OwplNj1mdW5jdGlvbihuLFcsRCl7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9V1tiNF18MDtpZihiJjQpcmV0dXJuIFc7Zm9yKHZhciB2PTAsaz0wO3Y8Vy5sZW5ndGg7disrKXtsZXQgaD1uKFdbdl0pO2ghPW51bGwmJihXW2srK109aCl9azx2JiYoVy5sZW5ndGg9ayk7bj1ifDE7RCYmKG49KG58NCkmLTE1MzcpO24hPT1iJiYoV1tiNF09bik7RCYmbiYyJiZPYmplY3QuZnJlZXplKFcpO3JldHVybiBXfX07CmcuZ1E9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKWGY9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKZy5xWT1mdW5jdGlvbihuLFcsRCl7dVcobixuW2I0XXwwLFcsRCxMNShuW2I0XXwwKSl9OwpnLnQ5PWZ1bmN0aW9uKG4sVyxEKXtXPW0wKFcpO1chPW51bGwmJihtNChuLEQsMSksbj1uLk4sRD1Hdnx8KEd2PW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxELnNldEZsb2F0NjQoMCwrVywhMCksclo9RC5nZXRVaW50MzIoMCwhMCksc189RC5nZXRVaW50MzIoNCwhMCksSjMobixyWiksSjMobixzXykpfTsKZy4kbj1mdW5jdGlvbihuLFcsRCl7Vz1DeE0oVyk7aWYoVyE9bnVsbCl7c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOlh0KFcpfWlmKFchPW51bGwpc3dpdGNoKG00KG4sRCwwKSx0eXBlb2YgVyl7Y2FzZSAibnVtYmVyIjpuPW4uTjtwNShXKTtIeShuLHJaLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oVyxlQyx4VWopO0h5KG4uTixELkosRC5OKTticmVhaztkZWZhdWx0OkQ9WHQoVyksSHkobi5OLEQuSixELk4pfX19OwpnLnJRPWZ1bmN0aW9uKG4sVyxEKXtXPUVfKFcpO1chPW51bGwmJlchPW51bGwmJihtNChuLEQsMCksU0Mobi5OLFcpKX07CnNmPWZ1bmN0aW9uKG4sVyxEKXtXPVc9PW51bGx8fHR5cGVvZiBXPT09ImJvb2xlYW4iP1c6dHlwZW9mIFc9PT0ibnVtYmVyIj8hIVc6dm9pZCAwO1chPW51bGwmJihtNChuLEQsMCksbi5OLk4ucHVzaChXPzE6MCkpfTsKTlk9ZnVuY3Rpb24obixXLEQpe1c9Zy5EUihXKTtXIT1udWxsJiZpRyhuLEQsa0soVykpfTsKcDg9ZnVuY3Rpb24obixXLEQsYix2KXtXPWpDKFcsYik7VyE9bnVsbCYmKEQ9S2gobixEKSx2KFcsbiksT3MobixEKSl9OwpKOT1mdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxvWShuLk4pKTtyZXR1cm4hMH07CklfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKEQsYik9PnthOntsZXQgaz17aEI6ITB9O2ImJk9iamVjdC5hc3NpZ24oayxiKTtEPUNuKEQsdm9pZCAwLHZvaWQgMCxrKTt0cnl7bGV0IGg9bmV3IG4seD1oLmw5O244KFcpKHgsRCk7dmFyIHY9aDticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBoO31maW5hbGx5e0QuZnJlZSgpfXY9dm9pZCAwfXJldHVybiB2fX07CmcuQTk9ZnVuY3Rpb24obil7cmV0dXJuIFc9PlM2KFcsbil9OwpnLm1EPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBTNih0aGlzLG4pfX07Cks4PWZ1bmN0aW9uKG4pe3JldHVybiBXPT5kRyhuLFcpfTsKdGpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFFnKG4sVyxVXyl9Owp1Nj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZy5PZjtXPWcuU0UoVywxLG4uSik7dmFyIEQ9JFVNKG4pO1c9UWcoVyxELEZTMik7RD1bXTt2YXIgYj1bXTtmb3IodmFyIHYgb2Ygbi5OLmtleXMoKSliLnB1c2godi5zcGxpdCgiLCIpKTtmb3Iodj0wO3Y8Yi5sZW5ndGg7disrKXtsZXQgcj1iW3ZdO3ZhciBrPW4uVyxoPVBPKG4sLi4ucil8fFtdO2xldCBOPVtdO2Zvcih2YXIgeD0wO3g8aC5sZW5ndGg7eCsrKXt2YXIgTD1oW3hdLGU9TCYmTC5OO0w9bmV3IFo4O3N3aXRjaChrKXtjYXNlIDM6ZT1OdW1iZXIoZSk7TnVtYmVyLmlzRmluaXRlKGUpJiZEMihMLDEsVWYsZy5sNChlKSk7YnJlYWs7Y2FzZSAyOkQyKEwsMixVZixnLkFfKE51bWJlcihlKSkpfU4ucHVzaChMKX1mb3Ioaz0wO2s8Ti5sZW5ndGg7aysrKXt4PU5ba107aD1uZXcgeWU7aD0kOShoLFo4LDIseCk7eD1bXTtMPXJGdChuKTtmb3IoZT0wO2U8TC5sZW5ndGg7ZSsrKXt2YXIgRz1MW2VdO2xldCBIPXJbZV0sQT1uZXcgRWY7CnN3aXRjaChHKXtjYXNlIDM6RDIoQSwxLGk2LFdIKFN0cmluZyhIKSkpO2JyZWFrO2Nhc2UgMjpHPU51bWJlcihIKTtOdW1iZXIuaXNGaW5pdGUoRykmJkQyKEEsMixpNixnLnlQKEcpKTticmVhaztjYXNlIDE6RDIoQSwzLGk2LE9fKEg9PT0idHJ1ZSIpKX14LnB1c2goQSl9c1YoaCxFZiwxLHgpO0QucHVzaChoKX19c1YoVyx5ZSw0LEQpO3JldHVybiBXfTsKb189ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChuKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7bi5pbmRleE9mKCJibG9iOiIpPT09MCYmKG49bi5zdWJzdHJpbmcoNSkpO249bi5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07bj1uLnRvTG93ZXJDYXNlKCk7bi5pbmRleE9mKCIvLyIpPT0wJiYobj13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrbik7L15bXHdcLV0qOlwvXC8vLnRlc3Qobil8fChuPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgVz1uLnN1YnN0cmluZyhuLmluZGV4T2YoIjovLyIpKzMpLEQ9Vy5pbmRleE9mKCIvIik7RCE9LTEmJihXPVcuc3Vic3RyaW5nKDAsRCkpO0Q9bi5zdWJzdHJpbmcoMCxuLmluZGV4T2YoIjovLyIpKTtpZighRCl0aHJvdyBFcnJvcigiVVJJIGlzIG1pc3NpbmcgcHJvdG9jb2w6ICIrbik7aWYoRCE9PSJodHRwIiYmRCE9PSJodHRwcyImJkQhPT0iY2hyb21lLWV4dGVuc2lvbiImJgpEIT09Im1vei1leHRlbnNpb24iJiZEIT09ImZpbGUiJiZEIT09ImFuZHJvaWQtYXBwIiYmRCE9PSJjaHJvbWUtc2VhcmNoIiYmRCE9PSJjaHJvbWUtdW50cnVzdGVkIiYmRCE9PSJjaHJvbWUiJiZEIT09ImFwcCImJkQhPT0iZGV2dG9vbHMiKXRocm93IEVycm9yKCJJbnZhbGlkIFVSSSBzY2hlbWUgaW4gb3JpZ2luOiAiK0QpO249IiI7dmFyIGI9Vy5pbmRleE9mKCI6Iik7aWYoYiE9LTEpe3ZhciB2PVcuc3Vic3RyaW5nKGIrMSk7Vz1XLnN1YnN0cmluZygwLGIpO2lmKEQ9PT0iaHR0cCImJnYhPT0iODAifHxEPT09Imh0dHBzIiYmdiE9PSI0NDMiKW49IjoiK3Z9cmV0dXJuIEQrIjovLyIrVytufTsKc00yPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZbMF09MTczMjU4NDE5Mzt2WzFdPTQwMjMyMzM0MTc7dlsyXT0yNTYyMzgzMTAyO3ZbM109MjcxNzMzODc4O3ZbNF09MzI4NTM3NzUyMDtHPWU9MH0KZnVuY3Rpb24gVyhyKXtmb3IodmFyIE49aCxIPTA7SDw2NDtIKz00KU5bSC80XT1yW0hdPDwyNHxyW0grMV08PDE2fHJbSCsyXTw8OHxyW0grM107Zm9yKEg9MTY7SDw4MDtIKyspcj1OW0gtM11eTltILThdXk5bSC0xNF1eTltILTE2XSxOW0hdPShyPDwxfHI+Pj4zMSkmNDI5NDk2NzI5NTtyPXZbMF07dmFyIEE9dlsxXSx5PXZbMl0sVD12WzNdLHo9dls0XTtmb3IoSD0wO0g8ODA7SCsrKXtpZihIPDQwKWlmKEg8MjApe3ZhciBDPVReQSYoeV5UKTt2YXIgUT0xNTE4NTAwMjQ5fWVsc2UgQz1BXnleVCxRPTE4NTk3NzUzOTM7ZWxzZSBIPDYwPyhDPUEmeXxUJihBfHkpLFE9MjQwMDk1OTcwOCk6KEM9QV55XlQsUT0zMzk1NDY5NzgyKTtDPSgocjw8NXxyPj4+MjcpJjQyOTQ5NjcyOTUpK0MreitRK05bSF0mNDI5NDk2NzI5NTt6PVQ7VD15O3k9KEE8PDMwfEE+Pj4yKSY0Mjk0OTY3Mjk1O0E9cjtyPUN9dlswXT12WzBdK3ImNDI5NDk2NzI5NTt2WzFdPXZbMV0rQSY0Mjk0OTY3Mjk1O3ZbMl09CnZbMl0reSY0Mjk0OTY3Mjk1O3ZbM109dlszXStUJjQyOTQ5NjcyOTU7dls0XT12WzRdK3omNDI5NDk2NzI5NX0KZnVuY3Rpb24gRChyLE4pe2lmKHR5cGVvZiByPT09InN0cmluZyIpe3I9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHIpKTtmb3IodmFyIEg9W10sQT0wLHk9ci5sZW5ndGg7QTx5OysrQSlILnB1c2goci5jaGFyQ29kZUF0KEEpKTtyPUh9Tnx8KE49ci5sZW5ndGgpO0g9MDtpZihlPT0wKWZvcig7SCs2NDxOOylXKHIuc2xpY2UoSCxIKzY0KSksSCs9NjQsRys9NjQ7Zm9yKDtIPE47KWlmKGtbZSsrXT1yW0grK10sRysrLGU9PTY0KWZvcihlPTAsVyhrKTtIKzY0PE47KVcoci5zbGljZShILEgrNjQpKSxIKz02NCxHKz02NH0KZnVuY3Rpb24gYigpe3ZhciByPVtdLE49Ryo4O2U8NTY/RCh4LDU2LWUpOkQoeCw2NC0oZS01NikpO2Zvcih2YXIgSD02MztIPj01NjtILS0pa1tIXT1OJjI1NSxOPj4+PTg7VyhrKTtmb3IoSD1OPTA7SDw1O0grKylmb3IodmFyIEE9MjQ7QT49MDtBLT04KXJbTisrXT12W0hdPj5BJjI1NTtyZXR1cm4gcn0KZm9yKHZhciB2PVtdLGs9W10saD1bXSx4PVsxMjhdLEw9MTtMPDY0OysrTCl4W0xdPTA7dmFyIGUsRztuKCk7cmV0dXJue3Jlc2V0Om4sdXBkYXRlOkQsZGlnZXN0OmIsSFU6ZnVuY3Rpb24oKXtmb3IodmFyIHI9YigpLE49IiIsSD0wO0g8ci5sZW5ndGg7SCsrKU4rPSIwMTIzNDU2Nzg5QUJDREVGIi5jaGFyQXQoTWF0aC5mbG9vcihyW0hdLzE2KSkrIjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChyW0hdJTE2KTtyZXR1cm4gTn19fTsKZFE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVN0cmluZyhnLnFpLmxvY2F0aW9uLmhyZWYpO3JldHVybiBiJiZuJiZXP1tXLE56cihvXyhiKSxuLER8fG51bGwpXS5qb2luKCIgIik6bnVsbH07Ck56cj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1bXTtpZigoQXJyYXkuaXNBcnJheShEKT8yOjEpPT0xKXJldHVybiB2PVtXLG5dLGcueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KSx6dih2LmpvaW4oIiAiKSk7CnZhciBrPVtdLGg9W107Zy55MihELGZ1bmN0aW9uKHgpe2gucHVzaCh4LmtleSk7ay5wdXNoKHgudmFsdWUpfSk7CkQ9TWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWUoKS8xRTMpO3Y9ay5sZW5ndGg9PTA/W0QsVyxuXTpbay5qb2luKCI6IiksRCxXLG5dO2cueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KTsKbj16dih2LmpvaW4oIiAiKSk7bj1bRCxuXTtoLmxlbmd0aD09MHx8bi5wdXNoKGguam9pbigiIikpO3JldHVybiBuLmpvaW4oIl8iKX07Cnp2PWZ1bmN0aW9uKG4pe3ZhciBXPXNNMigpO1cudXBkYXRlKG4pO3JldHVybiBXLkhVKCkudG9Mb3dlckNhc2UoKX07Cmw2PWZ1bmN0aW9uKG4pe3RoaXMuTj1ufHx7Y29va2llOiIifX07ClR2PWZ1bmN0aW9uKG4pe249KG4uTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO3ZhciBXPVtdLEQ9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspe3ZhciBiPW5ba10udHJpbSgpO3ZhciB2PWIuaW5kZXhPZigiPSIpO3Y9PS0xPyhXLnB1c2goIiIpLEQucHVzaChiKSk6KFcucHVzaChiLnN1YnN0cmluZygwLHYpKSxELnB1c2goYi5zdWJzdHJpbmcodisxKSkpfXJldHVybntrZXlzOlcsdmFsdWVzOkR9fTsKajY9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLl9fU0FQSVNJRHx8Zy5xaS5fX0FQSVNJRHx8Zy5xaS5fXzNQU0FQSVNJRHx8Zy5xaS5fXzFQU0FQSVNJRHx8Zy5xaS5fX09WRVJSSURFX1NJRDtpZihuKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYobj1uZXcgbDYoZG9jdW1lbnQpLG49bi5nZXQoIlNBUElTSUQiKXx8bi5nZXQoIkFQSVNJRCIpfHxuLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8bi5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhbn07CkM4PWZ1bmN0aW9uKG4sVyxELGIpeyhuPWcucWlbbl0pfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KG49KG5ldyBsNihkb2N1bWVudCkpLmdldChXKSk7cmV0dXJuIG4/ZFEobixELGIpOm51bGx9OwpCTz1mdW5jdGlvbihuKXt2YXIgVz1vXyhnLnFpPy5sb2NhdGlvbi5ocmVmKSxEPVtdO2lmKGo2KCkpe1c9Vy5pbmRleE9mKCJodHRwczoiKT09MHx8Vy5pbmRleE9mKCJjaHJvbWUtZXh0ZW5zaW9uOiIpPT0wfHxXLmluZGV4T2YoImNocm9tZS11bnRydXN0ZWQ6Ly9uZXctdGFiLXBhZ2UiKT09MHx8Vy5pbmRleE9mKCJtb3otZXh0ZW5zaW9uOiIpPT0wO3ZhciBiLHY9KGI9Vyk/Zy5xaS5fX1NBUElTSUQ6Zy5xaS5fX0FQSVNJRDt2fHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KHY9bmV3IGw2KGRvY3VtZW50KSx2PXYuZ2V0KGI/IlNBUElTSUQiOiJBUElTSUQiKXx8di5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhiPXY/ZFEodixiPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLG4pOm51bGwpJiZELnB1c2goYik7VyYmKChXPUM4KCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsbikpJiZELnB1c2goVyksKG49QzgoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsbikpJiZELnB1c2gobikpfXJldHVybiBELmxlbmd0aD09MD9udWxsOkQuam9pbigiICIpfTsKZy5GZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KG4sVyksRCl9Owp3UT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4rRCooVy1uKX07CmcuTVk9ZnVuY3Rpb24obixXKXt0aGlzLng9biE9PXZvaWQgMD9uOjA7dGhpcy55PVchPT12b2lkIDA/VzowfTsKUl89ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ueD09Vy54JiZuLnk9PVcueTohMX07CmcuUWU9ZnVuY3Rpb24obixXKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9V307CmcuVmU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ud2lkdGg9PVcud2lkdGgmJm4uaGVpZ2h0PT1XLmhlaWdodDohMX07CmNPPWZ1bmN0aW9uKG4pe3JldHVybiBuLndpZHRoKm4uaGVpZ2h0fTsKZy5hXz1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4pVy5jYWxsKEQsbltiXSxiLG4pfTsKZy5uVD1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBpbiBuKVcuY2FsbCh2b2lkIDAsbltiXSxiLG4pJiYoRFtiXT1uW2JdKTtyZXR1cm4gRH07Cld4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCBiIGluIG4pRFtiXT1XLmNhbGwodm9pZCAwLG5bYl0sYixuKTtyZXR1cm4gRH07CmcuRGw9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBuKWlmKFcuY2FsbChELG5bYl0sYixuKSlyZXR1cm4hMDtyZXR1cm4hMX07CmcuYms9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZighVy5jYWxsKHZvaWQgMCxuW0RdLEQsbikpcmV0dXJuITE7cmV0dXJuITB9Owp2eD1mdW5jdGlvbihuKXtmb3IobGV0IFcgaW4gbilyZXR1cm4gV307Cmt5PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKXJldHVybiBuW1ddfTsKaEs9ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO2ZvcihsZXQgYiBpbiBuKVdbRCsrXT1uW2JdO3JldHVybiBXfTsKZy5MVD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiIGluIG4pV1tEKytdPWI7cmV0dXJuIFd9OwpnLmVwPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG59OwpnLmdtPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4paWYobltEXT09VylyZXR1cm4hMDtyZXR1cm4hMX07CmcuWEw9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZihXLmNhbGwodm9pZCAwLG5bRF0sRCxuKSlyZXR1cm4gRH07CnFjPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFc9Zy5YTChuLFcpKSYmbltXXX07CmcuR0Y9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4pcmV0dXJuITE7cmV0dXJuITB9OwpnLnRLPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKWRlbGV0ZSBuW1ddfTsKZy4keT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG4/bltXXTpEfTsKZy5ybT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBuKWlmKCEoRCBpbiBXKXx8bltEXSE9PVdbRF0pcmV0dXJuITE7Zm9yKGxldCBEIGluIFcpaWYoIShEIGluIG4pKXJldHVybiExO3JldHVybiEwfTsKZy5zMD1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQgaW4gbilXW0RdPW5bRF07cmV0dXJuIFd9OwpnLk5jPWZ1bmN0aW9uKG4pe2lmKCFufHx0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKHR5cGVvZiBuLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gbi5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChuKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQobik7aWYobiBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKG4uZ2V0VGltZSgpKTt2YXIgVz1BcnJheS5pc0FycmF5KG4pP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KG4pfHxuIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IG4uY29uc3RydWN0b3Iobi5sZW5ndGgpO2ZvcihsZXQgRCBpbiBuKVdbRF09Zy5OYyhuW0RdKTtyZXR1cm4gV307CmcuWXk9ZnVuY3Rpb24obixXKXtmb3IobGV0IHY9MTt2PGFyZ3VtZW50cy5sZW5ndGg7disrKXt2YXIgRD1hcmd1bWVudHNbdl07Zm9yKGIgaW4gRCluW2JdPURbYl07Zm9yKGxldCBrPTA7azxwVC5sZW5ndGg7aysrKXt2YXIgYj1wVFtrXTtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxiKSYmKG5bYl09RFtiXSl9fX07ClhaeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFo0KG5bMF0udG9Mb3dlckNhc2UoKSl9OwpnLkh4PWZ1bmN0aW9uKG4sLi4uVyl7aWYoVy5sZW5ndGg9PT0wKXJldHVybiBrMyhuWzBdKTt2YXIgRD1uWzBdO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKUQrPWVuY29kZVVSSUNvbXBvbmVudChXW2JdKStuW2IrMV07cmV0dXJuIGszKEQpfTsKZy5TcD1mdW5jdGlvbihuKXtyZXR1cm4gbj9uZXcgZlQoZy5KSyhuKSk6SWh8fChJaD1uZXcgZlQpfTsKQUs9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIFc9PT0ic3RyaW5nIj9uLmdldEVsZW1lbnRCeUlkKFcpOld9OwpnLktUPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8ZG9jdW1lbnQ7RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lP249RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pWzBdOihEPWRvY3VtZW50LG49bj8oV3x8RCkucXVlcnlTZWxlY3RvcihuPyIuIituOiIiKTpnLm1CKEQsIioiLG4sVylbMF18fG51bGwpO3JldHVybiBufHxudWxsfTsKZy5tQj1mdW5jdGlvbihuLFcsRCxiKXtuPWJ8fG47cmV0dXJuKFc9VyYmVyE9IioiP1N0cmluZyhXKS50b1VwcGVyQ2FzZSgpOiIiKXx8RD9uLnF1ZXJ5U2VsZWN0b3JBbGwoVysoRD8iLiIrRDoiIikpOm4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKX07CmcuUHg9ZnVuY3Rpb24obixXKXtnLmFfKFcsZnVuY3Rpb24oRCxiKXtiPT0ic3R5bGUiP24uc3R5bGUuY3NzVGV4dD1EOmI9PSJjbGFzcyI/bi5jbGFzc05hbWU9RDpiPT0iZm9yIj9uLmh0bWxGb3I9RDpPMC5oYXNPd25Qcm9wZXJ0eShiKT9uLnNldEF0dHJpYnV0ZShPMFtiXSxEKTpnLmpVKGIsImFyaWEtIil8fGcualUoYiwiZGF0YS0iKT9uLnNldEF0dHJpYnV0ZShiLEQpOm5bYl09RH0pfTsKZy5FMD1mdW5jdGlvbihuKXt2YXIgVz1uLnNjcm9sbGluZ0VsZW1lbnQ/bi5zY3JvbGxpbmdFbGVtZW50OmcuWmx8fG4uY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP24uYm9keXx8bi5kb2N1bWVudEVsZW1lbnQ6bi5kb2N1bWVudEVsZW1lbnQ7bj1uLmRlZmF1bHRWaWV3O3JldHVybiBuZXcgZy5NWShuPy5wYWdlWE9mZnNldHx8Vy5zY3JvbGxMZWZ0LG4/LnBhZ2VZT2Zmc2V0fHxXLnNjcm9sbFRvcCl9OwpnLmlrPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGVmYXVsdFZpZXc6d2luZG93fTsKZy5kbT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9YXJndW1lbnRzLHY9ZG9jdW1lbnQsaz1iWzFdLGg9dWsodixTdHJpbmcoYlswXSkpO2smJih0eXBlb2Ygaz09PSJzdHJpbmciP2guY2xhc3NOYW1lPWs6QXJyYXkuaXNBcnJheShrKT9oLmNsYXNzTmFtZT1rLmpvaW4oIiAiKTpnLlB4KGgsaykpO2IubGVuZ3RoPjImJm9oKHYsaCxiLDIpO3JldHVybiBofTsKb2g9ZnVuY3Rpb24obixXLEQsYil7ZnVuY3Rpb24gdihrKXtrJiZXLmFwcGVuZENoaWxkKHR5cGVvZiBrPT09InN0cmluZyI/bi5jcmVhdGVUZXh0Tm9kZShrKTprKX0KZm9yKDtiPEQubGVuZ3RoO2IrKyl7bGV0IGs9RFtiXTshZy5ZMihrKXx8Zy5mdChrKSYmay5ub2RlVHlwZT4wP3Yoayk6Zy55MihrJiZ0eXBlb2Ygay5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2Ygay5pdGVtPT0iZnVuY3Rpb24iP2cuUk0oayk6ayx2KX19OwpnLnpGPWZ1bmN0aW9uKG4pe3JldHVybiB1ayhkb2N1bWVudCxuKX07CnVrPWZ1bmN0aW9uKG4sVyl7Vz1TdHJpbmcoVyk7bi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoVz1XLnRvTG93ZXJDYXNlKCkpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoVyl9OwpnLmxrPWZ1bmN0aW9uKG4pe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcobikpfTsKZy5URj1mdW5jdGlvbihuKXtmb3IodmFyIFc7Vz1uLmZpcnN0Q2hpbGQ7KW4ucmVtb3ZlQ2hpbGQoVyl9OwpnLmpwPWZ1bmN0aW9uKG4sVyxEKXtuLmluc2VydEJlZm9yZShXLG4uY2hpbGROb2Rlc1tEXXx8bnVsbCl9OwpnLkNUPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLnBhcmVudE5vZGU/bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pOm51bGx9OwpnLkJ4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4mJlc/bj09V3x8bi5jb250YWlucyhXKTohMX07CmcuSks9ZnVuY3Rpb24obil7cmV0dXJuIG4ubm9kZVR5cGU9PTk/bjpuLm93bmVyRG9jdW1lbnR8fG4uZG9jdW1lbnR9OwpnLkZMPWZ1bmN0aW9uKG4sVyl7aWYoInRleHRDb250ZW50ImluIG4pbi50ZXh0Q29udGVudD1XO2Vsc2UgaWYobi5ub2RlVHlwZT09MyluLmRhdGE9U3RyaW5nKFcpO2Vsc2UgaWYobi5maXJzdENoaWxkJiZuLmZpcnN0Q2hpbGQubm9kZVR5cGU9PTMpe2Zvcig7bi5sYXN0Q2hpbGQhPW4uZmlyc3RDaGlsZDspbi5yZW1vdmVDaGlsZChuLmxhc3RDaGlsZCk7bi5maXJzdENoaWxkLmRhdGE9U3RyaW5nKFcpfWVsc2UgZy5URihuKSxuLmFwcGVuZENoaWxkKGcuSksobikuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKFcpKSl9OwpNYz1mdW5jdGlvbihuKXtyZXR1cm4gbi50YWdOYW1lPT0iQSImJm4uaGFzQXR0cmlidXRlKCJocmVmIil8fG4udGFnTmFtZT09IklOUFVUInx8bi50YWdOYW1lPT0iVEVYVEFSRUEifHxuLnRhZ05hbWU9PSJTRUxFQ1QifHxuLnRhZ05hbWU9PSJCVVRUT04iPyFuLmRpc2FibGVkJiYoIW4uaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHx3bShuKSk6bi5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJndtKG4pfTsKd209ZnVuY3Rpb24obil7bj1uLnRhYkluZGV4O3JldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiJiZuPj0wJiZuPDMyNzY4fTsKZy5SaD1mdW5jdGlvbihuLFcsRCl7biYmIUQmJihuPW4ucGFyZW50Tm9kZSk7Zm9yKEQ9MDtuOyl7aWYoVyhuKSlyZXR1cm4gbjtuPW4ucGFyZW50Tm9kZTtEKyt9cmV0dXJuIG51bGx9OwpmVD1mdW5jdGlvbihuKXt0aGlzLk49bnx8Zy5xaS5kb2N1bWVudHx8ZG9jdW1lbnR9OwpwTXg9ZnVuY3Rpb24obil7c1YoUVEsVlEsMSxuKX07CllNeD1mdW5jdGlvbihuLFc9Y3gpe2lmKCFhaCl7bj1uLm5hdmlnYXRvcj8udXNlckFnZW50RGF0YTtpZighbnx8dHlwZW9mIG4uZ2V0SGlnaEVudHJvcHlWYWx1ZXMhPT0iZnVuY3Rpb24ifHxuLmJyYW5kcyYmdHlwZW9mIG4uYnJhbmRzLm1hcCE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJVQUNIIHVuYXZhaWxhYmxlIikpO3BNeCgobi5icmFuZHN8fFtdKS5tYXAoYj0+e3ZhciB2PW5ldyBWUTt2PWcuU0UodiwxLGIuYnJhbmQpO3JldHVybiBnLlNFKHYsMixiLnZlcnNpb24pfSkpOwp0eXBlb2Ygbi5tb2JpbGU9PT0iYm9vbGVhbiImJm96KFFRLDIsT18obi5tb2JpbGUpKTthaD1uLmdldEhpZ2hFbnRyb3B5VmFsdWVzKFcpfXZhciBEPW5ldyBTZXQoVyk7cmV0dXJuIGFoLnRoZW4oYj0+e3ZhciB2PVFRLmNsb25lKCk7RC5oYXMoInBsYXRmb3JtIikmJmcuU0UodiwzLGIucGxhdGZvcm0pO0QuaGFzKCJwbGF0Zm9ybVZlcnNpb24iKSYmZy5TRSh2LDQsYi5wbGF0Zm9ybVZlcnNpb24pO0QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmZy5TRSh2LDUsYi5hcmNoaXRlY3R1cmUpO0QuaGFzKCJtb2RlbCIpJiZnLlNFKHYsNixiLm1vZGVsKTtELmhhcygidWFGdWxsVmVyc2lvbiIpJiZnLlNFKHYsNyxiLnVhRnVsbFZlcnNpb24pO3JldHVybiB2LmJZKCl9KS5jYXRjaCgoKT0+UVEuYlkoKSl9OwpuSz1mdW5jdGlvbihuKXtyZXR1cm4gS24obiwxLDEpfTsKdkw9ZnVuY3Rpb24obixXKXskOShuLk4sV0wsMSxXKTtIVyhXLDEpfHxuSyhXKTtuLmdSfHwoVz1ERChuKSxZOShXLDUpfHxnLlNFKFcsNSxuLmxvY2FsZSkpO24udWFjaCYmKFc9REQobiksZ2UoVyxiSSw5KXx8JDkoVyxiSSw5LG4udWFjaCkpfTsKREQ9ZnVuY3Rpb24obil7dmFyIFc9Z2Uobi5OLFdMLDEpO1d8fChXPW5ldyBXTCx2TChuLFcpKTtuPVc7Vz1nZShuLGtFLDExKTtXfHwoVz1uZXcga0UsJDkobixrRSwxMSxXKSk7cmV0dXJuIFd9OwpIYlM9ZnVuY3Rpb24obixXKXtuLko9V307CkpGWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdSP3ZvaWQgMDpnLmlrKCk7Vz9ZTXgoVyxjeCkudGhlbihEPT57bi51YWNoPWY0MihEPz8iW10iKTtEPUREKG4pOyQ5KEQsYkksOSxuLnVhY2gpO3JldHVybiEwfSkuY2F0Y2goKCk9PiExKTpQcm9taXNlLnJlc29sdmUoITEpfTsKZy5oSD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLlg9bjt0aGlzLmo9Vzt0aGlzLk49dGhpcy5XPW47dGhpcy5WPUR8fDA7dGhpcy5LPWJ8fDJ9OwpnLnhFPWZ1bmN0aW9uKG4pe24uTj1NYXRoLm1pbihuLmosbi5OKm4uSyk7bi5XPU1hdGgubWluKG4uaixuLk4rKG4uVj9NYXRoLnJvdW5kKG4uViooTWF0aC5yYW5kb20oKS0uNSkqMipuLk4pOjApKTtuLkorK307CkxLPWZ1bmN0aW9uKCl7cmV0dXJuImh0dHBzOi8vcGxheS5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWUifTsKSTRTPWZ1bmN0aW9uKG4sVyl7aWYoIW4uUyQpcmV0dXJuKCk9Pnt9Owp2YXIgRD0oKT0+e24uZmx1c2goKX07CnJldHVybiBXPygpPT57VygpLnRoZW4oRCl9OkR9OwplZz1mdW5jdGlvbihuKXtuLlcuaXNGaW5hbD0hMDtuLmZsdXNoKCk7bi5XLmlzRmluYWw9ITF9OwpnRD1mdW5jdGlvbihuKXtuLll8fChuLlk9TEsoKSk7dHJ5e3JldHVybihuZXcgVVJMKG4uWSkpLnRvU3RyaW5nKCl9Y2F0Y2goVyl7cmV0dXJuKG5ldyBVUkwobi5ZLGcuaWsoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07CkFGWj1mdW5jdGlvbihuKXtTTVMobiwoVyxEKT0+e1c9bmV3IFVSTChXKTtXLnNlYXJjaFBhcmFtcy5zZXQoImZvcm1hdCIsImpzb24iKTt2YXIgYj0hMTt0cnl7Yj1nLmlrKCkubmF2aWdhdG9yLnNlbmRCZWFjb24oVy50b1N0cmluZygpLEQuYlkoKSl9Y2F0Y2h7fWJ8fChuLkQ9ITEpO3JldHVybiBifSl9OwptVXc9ZnVuY3Rpb24obixXLEQ9bnVsbCxiPW4ud2l0aENyZWRlbnRpYWxzKXt2YXIgdj17fSxrPW5ldyBVUkwoZ0QobikpO0QmJih2LkF1dGhvcml6YXRpb249RCk7bi5zZXNzaW9uSW5kZXgmJih2WyJYLUdvb2ctQXV0aFVzZXIiXT1uLnNlc3Npb25JbmRleCxrLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixuLnNlc3Npb25JbmRleCkpO24ucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHYsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTpuLnBhZ2VJZH0pLGsuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixuLnBhZ2VJZCkpO3JldHVybnt1cmw6ay50b1N0cmluZygpLGJvZHk6VyxvJDoxLFpKOnYscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpiLHRpbWVvdXRNaWxsaXM6bi50aW1lb3V0TWlsbGlzfX07ClNNUz1mdW5jdGlvbihuLFcpe2lmKG4uTi5sZW5ndGghPT0wKXt2YXIgRD1uZXcgVVJMKGdEKG4pKTtELnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBiPW4ubjEoKTtiJiZELnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGIpO0Quc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLG4uc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihiPTA7YjwxMCYmbi5OLmxlbmd0aDsrK2Ipe2xldCB2PW4uTi5zbGljZSgwLDMyKSxrPW4uVy5idWlsZCh2LG4uWCxuLlYsbi5QZyxuLmNKLG4uTyk7aWYoIVcoRC50b1N0cmluZygpLGspKXsrK24uVjticmVha31uLlg9MDtuLlY9MDtuLmNKPTA7bi5PPTA7bi5OPW4uTi5zbGljZSh2Lmxlbmd0aCl9bi5KLmVuYWJsZWQmJm4uSi5zdG9wKCl9fTsKS2NoPWZ1bmN0aW9uKG4sVyl7bi5idWlsZExhYmVsPVc7cmV0dXJuIG59OwpQX2k9ZnVuY3Rpb24obil7bi5uZXR3b3JrPW5ldyBPYjE7cmV0dXJuIG59OwpaYmg9ZnVuY3Rpb24obixXKXtuLk49V307ClVVYj1mdW5jdGlvbihuKXtuLko9ITA7cmV0dXJuIG59OwpyRnQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkVHlwZSl9OwpQTz1mdW5jdGlvbihuLC4uLlcpe1c9WFQoLi4uVyk7cmV0dXJuIG4uTi5oYXMoVyk/bi5OLmdldChXKTp2b2lkIDB9OwokVU09ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkTmFtZSl9OwpHNz1mdW5jdGlvbihuLFcsLi4uRCl7RD1YVCguLi5EKTtuLk4uc2V0KEQsW25ldyBxNShXKV0pfTsKeUZaPWZ1bmN0aW9uKG4sVywuLi5EKXt2YXIgYj1QTyhuLC4uLkQpO2I/Yi5wdXNoKG5ldyBxNShXKSk6RzcobixXLC4uLkQpfTsKZVg9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9V15uO2lmKChuPj4xJjE2KTw1JiYobi0zJjExKT49OSYmRFtJWzE3XV0pdmFyIGs9UjAoOCw3NTQxLEQpO2lmKG4tMj4+ND09NCl7az12XjQ4NTA7Zm9yKHZhciBoPVtdOysray1oW0lbNV1dLSh2XjQ3NTQpOylzd2l0Y2goayl7Y2FzZSB2XjQ3NDQ6az12XjQ4MTg7Y29udGludWU7Y2FzZSB2XjQ4NDE6az12XjQ3NjY7YnJlYWs7Y2FzZSB2XjQ4NTE6az12XjQ3NjU7Y29udGludWU7Y2FzZSB2XjQ3NjQ6az12XjQ2NTE7Y2FzZSB2XjQ4MDk6ay09dl40NzQ0O2RlZmF1bHQ6aFtJW3ZeNDc3Ml1dKFN0cmluZ1tJW3ZeNDczNl1dKGspKX12YXIgeD1ofShuXjcwKT4+Mz09MiYmKGs9RFtJW3ZeNjYzM11dKElbdl42NjE2XSksdEhbSVt2XjY2NDddXShrLHZeNjYyMSksdEhbSVt2XjY2NDddXShrLDIpLHRIW0lbdl42NjEzXV0oayx2XjY2MzEpLHg9a1tJW3ZeNjU5Ml1dKElbdl42NjE2XSkpO248PDImMjd8fChlWCh2XjEzMzYsdl42NDI3LEQpLAprPU0zKHZeMTM4Nix2XjU1OTYsRFtJW3ZeMTM0OF1dKElbdl4xMzI3XSl8fElbdl4xMzkyXSlbSVt2XjEzNDVdXShJW3ZeMTM1NF0pLHg9RFtJW3ZeMTQwMV1dPT09SVt2XjEzODZdJiZrW0lbNV1dPjEmJiEha1sxXSk7KG48PDEmMTUpPT00JiZiW0lbNV1dIT0wJiYoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgwLDEsYltJWzNdXShELDEsYlswXSlbMF0pKTtuLTM+PjM9PTImJih4PUQhPT1udWxsKTtyZXR1cm4geH07ClhUPWZ1bmN0aW9uKC4uLm4pe3JldHVybiBuP24uam9pbigiLCIpOiJrZXkifTsKRTN0PWZ1bmN0aW9uKG4sLi4uVyl7cmV0dXJuKG49UE8obiwuLi5XKSkmJm4ubGVuZ3RoP25bMF06dm9pZCAwfTsKaWJVPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9MCxiPUUzdChuLC4uLlcpO2ImJihEPWIuTik7RzcobixEKzEsLi4uVyl9OwokRT1mdW5jdGlvbihuLFcpe3RoaXMudHlwZT1uO3RoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1XO3RoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLko9ITF9OwpyRD1mdW5jdGlvbihuLFcpeyRFLmNhbGwodGhpcyxuP24udHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy5OPW51bGw7biYmdGhpcy5pbml0KG4sVyl9OwpONT1mdW5jdGlvbihuKXtyZXR1cm4hKCFufHwhbltzMl0pfTsKbzNiPWZ1bmN0aW9uKG4sVyxELGIsdil7dGhpcy5saXN0ZW5lcj1uO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1XO3RoaXMudHlwZT1EO3RoaXMuY2FwdHVyZT0hIWI7dGhpcy5oYW5kbGVyPXY7dGhpcy5rZXk9Kyt1SWg7dGhpcy51Nz10aGlzLnFfPSExfTsKSEw9ZnVuY3Rpb24obil7bi51Nz0hMDtuLmxpc3RlbmVyPW51bGw7bi5wcm94eT1udWxsO24uc3JjPW51bGw7bi5oYW5kbGVyPW51bGx9OwpmSz1mdW5jdGlvbihuKXt0aGlzLnNyYz1uO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuTj0wfTsKSkg9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnR5cGU7RCBpbiBuLmxpc3RlbmVycyYmZy5GSShuLmxpc3RlbmVyc1tEXSxXKSYmKEhMKFcpLG4ubGlzdGVuZXJzW0RdLmxlbmd0aD09MCYmKGRlbGV0ZSBuLmxpc3RlbmVyc1tEXSxuLk4tLSkpfTsKSVc9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoIWsudTcmJmsubGlzdGVuZXI9PVcmJmsuY2FwdHVyZT09ISFEJiZrLmhhbmRsZXI9PWIpcmV0dXJuIHZ9cmV0dXJuLTF9OwpBSD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGImJmIub25jZSlyZXR1cm4gU2cobixXLEQsYix2KTtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylBSChuLFdba10sRCxiLHYpO3JldHVybiBudWxsfUQ9bWgoRCk7cmV0dXJuIE41KG4pP24uU18oVyxELGcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLHYpOktLKG4sVyxELCExLGIsdil9OwpLSz1mdW5jdGlvbihuLFcsRCxiLHYsayl7aWYoIVcpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO3ZhciBoPWcuZnQodik/ISF2LmNhcHR1cmU6ISF2LHg9TzIobik7eHx8KG5bUExdPXg9bmV3IGZLKG4pKTtEPXguYWRkKFcsRCxiLGgsayk7aWYoRC5wcm94eSlyZXR1cm4gRDtiPWRVcigpO0QucHJveHk9YjtiLnNyYz1uO2IubGlzdGVuZXI9RDtpZihuLmFkZEV2ZW50TGlzdGVuZXIpdj09PXZvaWQgMCYmKHY9ITEpLG4uYWRkRXZlbnRMaXN0ZW5lcihXLnRvU3RyaW5nKCksYix2KTtlbHNlIGlmKG4uYXR0YWNoRXZlbnQpbi5hdHRhY2hFdmVudChaRChXLnRvU3RyaW5nKCkpLGIpO2Vsc2UgaWYobi5hZGRMaXN0ZW5lciYmbi5yZW1vdmVMaXN0ZW5lciluLmFkZExpc3RlbmVyKGIpO2Vsc2UgdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtVMisrO3JldHVybiBEfTsKZFVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihEKXtyZXR1cm4gVy5jYWxsKG4uc3JjLG4ubGlzdGVuZXIsRCl9CnZhciBXPXpCdDtyZXR1cm4gbn07ClNnPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSl7Zm9yKGxldCBrPTA7azxXLmxlbmd0aDtrKyspU2cobixXW2tdLEQsYix2KTtyZXR1cm4gbnVsbH1EPW1oKEQpO3JldHVybiBONShuKT9uLmVGKFcsRCxnLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2KTpLSyhuLFcsRCwhMCxiLHYpfTsKeTc9ZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgaz0wO2s8Vy5sZW5ndGg7aysrKXk3KG4sV1trXSxELGIsdik7ZWxzZSBiPWcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLEQ9bWgoRCksTjUobik/bi53SChXLEQsYix2KTpuJiYobj1PMihuKSkmJihXPW4uc2MoVyxELGIsdikpJiZFMihXKX07CkUyPWZ1bmN0aW9uKG4pe2lmKHR5cGVvZiBuIT09Im51bWJlciImJm4mJiFuLnU3KXt2YXIgVz1uLnNyYztpZihONShXKSlKSChXLmRfLG4pO2Vsc2V7dmFyIEQ9bi50eXBlLGI9bi5wcm94eTtXLnJlbW92ZUV2ZW50TGlzdGVuZXI/Vy5yZW1vdmVFdmVudExpc3RlbmVyKEQsYixuLmNhcHR1cmUpOlcuZGV0YWNoRXZlbnQ/Vy5kZXRhY2hFdmVudChaRChEKSxiKTpXLmFkZExpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyKGIpO1UyLS07KEQ9TzIoVykpPyhKSChELG4pLEQuTj09MCYmKEQuc3JjPW51bGwsV1tQTF09bnVsbCkpOkhMKG4pfX19OwpaRD1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbiBpST9pSVtuXTppSVtuXT0ib24iK259Owp6QnQ9ZnVuY3Rpb24obixXKXtpZihuLnU3KW49ITA7ZWxzZXtXPW5ldyByRChXLHRoaXMpO2xldCBEPW4ubGlzdGVuZXIsYj1uLmhhbmRsZXJ8fG4uc3JjO24ucV8mJkUyKG4pO249RC5jYWxsKGIsVyl9cmV0dXJuIG59OwpPMj1mdW5jdGlvbihuKXtuPW5bUExdO3JldHVybiBuIGluc3RhbmNlb2YgZks/bjpudWxsfTsKbWg9ZnVuY3Rpb24obil7aWYodHlwZW9mIG49PT0iZnVuY3Rpb24iKXJldHVybiBuO25bdUldfHwoblt1SV09ZnVuY3Rpb24oVyl7cmV0dXJuIG4uaGFuZGxlRXZlbnQoVyl9KTsKcmV0dXJuIG5bdUldfTsKZy5vVz1mdW5jdGlvbigpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLmRfPW5ldyBmSyh0aGlzKTt0aGlzLkhkPXRoaXM7dGhpcy5sWj1udWxsfTsKZEQ9ZnVuY3Rpb24obixXLEQsYil7Vz1uLmRfLmxpc3RlbmVyc1tTdHJpbmcoVyldO2lmKCFXKXJldHVybiEwO1c9Vy5jb25jYXQoKTt2YXIgdj0hMDtmb3IobGV0IGs9MDtrPFcubGVuZ3RoOysrayl7bGV0IGg9V1trXTtpZihoJiYhaC51NyYmaC5jYXB0dXJlPT1EKXtsZXQgeD1oLmxpc3RlbmVyLEw9aC5oYW5kbGVyfHxoLnNyYztoLnFfJiZKSChuLmRfLGgpO3Y9eC5jYWxsKEwsYikhPT0hMSYmdn19cmV0dXJuIHYmJiFiLmRlZmF1bHRQcmV2ZW50ZWR9OwpnLlQ3PWZ1bmN0aW9uKG4pe249KDAsZy56Nykobik7bEl8fChsST1sNGooKSk7bEkobil9OwpsNGo9ZnVuY3Rpb24oKXtpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWwhPT0idW5kZWZpbmVkIil7bGV0IG49bmV3IE1lc3NhZ2VDaGFubmVsLFc9e30sRD1XO24ucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKCl7aWYoVy5uZXh0IT09dm9pZCAwKXtXPVcubmV4dDtsZXQgYj1XLmtBO1cua0E9bnVsbDtiKCl9fTsKcmV0dXJuIGZ1bmN0aW9uKGIpe0QubmV4dD17a0E6Yn07RD1ELm5leHQ7bi5wb3J0Mi5wb3N0TWVzc2FnZSgwKX19cmV0dXJuIGZ1bmN0aW9uKG4pe2cucWkuc2V0VGltZW91dChuLDApfX07ClR6cj1mdW5jdGlvbigpe2Zvcih2YXIgbjtuPWpnLnJlbW92ZSgpOyl7dHJ5e24uTi5jYWxsKG4uc2NvcGUpfWNhdGNoKFcpe2g0KFcpfUNLLnB1dChuKX1CTD0hMX07CmcuRlQ9ZnVuY3Rpb24oKXt9OwpqTWg9ZnVuY3Rpb24obil7dmFyIFc9V3x8MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwLFcpKX19OwpnLndEPWZ1bmN0aW9uKG4pe3ZhciBXPSExLEQ7cmV0dXJuIGZ1bmN0aW9uKCl7V3x8KEQ9bigpLFc9ITApO3JldHVybiBEfX07CmcuWDE9ZnVuY3Rpb24obixXKXt0aGlzLk49MDt0aGlzLks9dm9pZCAwO3RoaXMuWD10aGlzLko9dGhpcy5XPW51bGw7dGhpcy5qPXRoaXMuVj0hMTtpZihuIT1nLkZUKXRyeXtsZXQgRD10aGlzO24uY2FsbChXLGZ1bmN0aW9uKGIpe2dwKEQsMixiKX0sZnVuY3Rpb24oYil7Z3AoRCwzLGIpfSl9Y2F0Y2goRCl7Z3AodGhpcywzLEQpfX07CnE4PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuY29udGV4dD10aGlzLko9dGhpcy5XPXRoaXMuTj1udWxsO3RoaXMuWD0hMX07CmcudCQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUczLmdldCgpO2IuVz1uO2IuSj1XO2IuY29udGV4dD1EO3JldHVybiBifTsKJEc9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIG47dmFyIFc9bmV3IGcuWDEoZy5GVCk7Z3AoVywyLG4pO3JldHVybiBXfTsKZy5ycD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IGcuWDEoZnVuY3Rpb24oVyxEKXtEKG4pfSl9OwpwcT1mdW5jdGlvbihuLFcsRCxiKXtnLk44KG4sZy50JChXfHxnLkZULER8fG51bGwsYikpfTsKWUc9ZnVuY3Rpb24obixXKXtpZihuLk49PTApaWYobi5XKXt2YXIgRD1uLlc7aWYoRC5KKXt2YXIgYj0wLHY9bnVsbCxrPW51bGw7Zm9yKGxldCBoPUQuSjtoJiYoaC5YfHwoYisrLGguTj09biYmKHY9aCksISh2JiZiPjEpKSk7aD1oLm5leHQpdnx8KGs9aCk7diYmKEQuTj09MCYmYj09MT9ZRyhELFcpOihrPyhiPWssYi5uZXh0PT1ELlgmJihELlg9YiksYi5uZXh0PWIubmV4dC5uZXh0KTpISihEKSxmcShELHYsMyxXKSkpfW4uVz1udWxsfWVsc2UgZ3AobiwzLFcpfTsKZy5OOD1mdW5jdGlvbihuLFcpe24uSnx8bi5OIT0yJiZuLk4hPTN8fEokKG4pO24uWD9uLlgubmV4dD1XOm4uSj1XO24uWD1XfTsKU089ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9Zy50JChudWxsLG51bGwsbnVsbCk7di5OPW5ldyBnLlgxKGZ1bmN0aW9uKGssaCl7di5XPVc/ZnVuY3Rpb24oeCl7dHJ5e2xldCBMPVcuY2FsbChiLHgpO2soTCl9Y2F0Y2goTCl7aChMKX19Oms7CnYuSj1EP2Z1bmN0aW9uKHgpe3RyeXtsZXQgTD1ELmNhbGwoYix4KTtMPT09dm9pZCAwJiZ4IGluc3RhbmNlb2YgZy5JNT9oKHgpOmsoTCl9Y2F0Y2goTCl7aChMKX19Omh9KTsKdi5OLlc9bjtnLk44KG4sdik7cmV0dXJuIHYuTn07CmdwPWZ1bmN0aW9uKG4sVyxEKXtuLk49PTAmJihuPT09RCYmKFc9MyxEPW5ldyBUeXBlRXJyb3IoIlByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpLG4uTj0xLGcuQSQoRCxuLklRLG4uQVMsbil8fChuLks9RCxuLk49VyxuLlc9bnVsbCxKJChuKSxXIT0zfHxEIGluc3RhbmNlb2YgZy5JNXx8Q18xKG4sRCkpKX07CmcuQSQ9ZnVuY3Rpb24obixXLEQsYil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIHBxKG4sVyxELGIpLCEwO2lmKG4pdHJ5e3ZhciB2PSEhbi4kZ29vZ19UaGVuYWJsZX1jYXRjaChrKXt2PSExfWVsc2Ugdj0hMTtpZih2KXJldHVybiBuLnRoZW4oVyxELGIpLCEwO2lmKGcuZnQobikpdHJ5e2xldCBrPW4udGhlbjtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiIpcmV0dXJuIEJ6aShuLGssVyxELGIpLCEwfWNhdGNoKGspe3JldHVybiBELmNhbGwoYixrKSwhMH1yZXR1cm4hMX07CkJ6aT1mdW5jdGlvbihuLFcsRCxiLHYpe2Z1bmN0aW9uIGsoTCl7eHx8KHg9ITAsYi5jYWxsKHYsTCkpfQpmdW5jdGlvbiBoKEwpe3h8fCh4PSEwLEQuY2FsbCh2LEwpKX0KdmFyIHg9ITE7dHJ5e1cuY2FsbChuLGgsayl9Y2F0Y2goTCl7ayhMKX19OwpKJD1mdW5jdGlvbihuKXtuLlZ8fChuLlY9ITAsZy5tSyhuLnlzLG4pKX07CkhKPWZ1bmN0aW9uKG4pe3ZhciBXPW51bGw7bi5KJiYoVz1uLkosbi5KPVcubmV4dCxXLm5leHQ9bnVsbCk7bi5KfHwobi5YPW51bGwpO3JldHVybiBXfTsKZnE9ZnVuY3Rpb24obixXLEQsYil7aWYoRD09MyYmVy5KJiYhVy5YKWZvcig7biYmbi5qO249bi5XKW4uaj0hMTtpZihXLk4pVy5OLlc9bnVsbCxLcShXLEQsYik7ZWxzZSB0cnl7Vy5YP1cuVy5jYWxsKFcuY29udGV4dCk6S3EoVyxELGIpfWNhdGNoKHYpe091LmNhbGwobnVsbCx2KX1HMy5wdXQoVyl9OwpLcT1mdW5jdGlvbihuLFcsRCl7Vz09Mj9uLlcuY2FsbChuLmNvbnRleHQsRCk6bi5KJiZuLkouY2FsbChuLmNvbnRleHQsRCl9OwpDXzE9ZnVuY3Rpb24obixXKXtuLmo9ITA7Zy5tSyhmdW5jdGlvbigpe24uaiYmT3UuY2FsbChudWxsLFcpfSl9OwpnLkk1PWZ1bmN0aW9uKG4pe2cuVGIuY2FsbCh0aGlzLG4pfTsKZy5QSj1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLmd0PW58fDE7dGhpcy5WNz1XfHxnLnFpO3RoaXMuaEU9KDAsZy5LdCkodGhpcy5SUSx0aGlzKTt0aGlzLmpiPWcuVXcoKX07CmcuWnQ9ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBuPT09ImZ1bmN0aW9uIilEJiYobj0oMCxnLkt0KShuLEQpKTtlbHNlIGlmKG4mJnR5cGVvZiBuLmhhbmRsZUV2ZW50PT0iZnVuY3Rpb24iKW49KDAsZy5LdCkobi5oYW5kbGVFdmVudCxuKTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIGxpc3RlbmVyIGFyZ3VtZW50Iik7cmV0dXJuIE51bWJlcihXKT4yMTQ3NDgzNjQ3Py0xOmcucWkuc2V0VGltZW91dChuLFd8fDApfTsKZy5VdT1mdW5jdGlvbihuLFcpe3ZhciBEPW51bGw7cmV0dXJuKG5ldyBnLlgxKGZ1bmN0aW9uKGIsdil7RD1nLlp0KGZ1bmN0aW9uKCl7YihXKX0sbik7CkQ9PS0xJiZ2KEVycm9yKCJGYWlsZWQgdG8gc2NoZWR1bGUgdGltZXIuIikpfSkpLnNQKGZ1bmN0aW9uKGIpe2cucWkuY2xlYXJUaW1lb3V0KEQpOwp0aHJvdyBiO30pfTsKRXU9ZnVuY3Rpb24obixXLC4uLkQpe24uVy5oYXMoVyl8fG4uVy5zZXQoVyxuZXcgeTgoVyxEKSl9Owp1ZT1mdW5jdGlvbihuLFcsLi4uRCl7bi5XLmhhcyhXKXx8bi5XLnNldChXLG5ldyBpZShXLEQpKX07Cm81PWZ1bmN0aW9uKG4pe24uSi5lbmFibGVkfHxuLkouc3RhcnQoKTtuLlYrKztuLlY+PW4uWCYmbi5qKCl9OwpGY2I9ZnVuY3Rpb24obil7Zm9yKGxldCBXPTA7VzxuLmxlbmd0aDtXKyspbltXXS5jbGVhcigpfTsKZHA9ZnVuY3Rpb24obixXLC4uLkQpeyhXPW4uTihXKSkmJlcgaW5zdGFuY2VvZiBpZSYmKGliVShXLC4uLkQpLG81KG4pKX07CnozPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19Owp3TVM9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTsKbGU9ZnVuY3Rpb24oKXt9OwpUMz1mdW5jdGlvbihuLFcsRCl7aWYoVz09bnVsbClELnB1c2goIm51bGwiKTtlbHNle2lmKHR5cGVvZiBXPT0ib2JqZWN0Iil7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9VztXPWIubGVuZ3RoO0QucHVzaCgiWyIpO3ZhciB2PSIiO2Zvcih2YXIgaz0wO2s8VztrKyspRC5wdXNoKHYpLFQzKG4sYltrXSxEKSx2PSIsIjtELnB1c2goIl0iKTtyZXR1cm59aWYoVyBpbnN0YW5jZW9mIFN0cmluZ3x8VyBpbnN0YW5jZW9mIE51bWJlcnx8VyBpbnN0YW5jZW9mIEJvb2xlYW4pVz1XLnZhbHVlT2YoKTtlbHNle0QucHVzaCgieyIpO3Y9IiI7Zm9yKGIgaW4gVylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoVyxiKSYmKGs9V1tiXSx0eXBlb2YgayE9ImZ1bmN0aW9uIiYmKEQucHVzaCh2KSxqTyhiLEQpLEQucHVzaCgiOiIpLFQzKG4sayxEKSx2PSIsIikpO0QucHVzaCgifSIpO3JldHVybn19c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOmpPKFcsRCk7YnJlYWs7CmNhc2UgIm51bWJlciI6RC5wdXNoKGlzRmluaXRlKFcpJiYhaXNOYU4oVyk/U3RyaW5nKFcpOiJudWxsIik7YnJlYWs7Y2FzZSAiYm9vbGVhbiI6RC5wdXNoKFN0cmluZyhXKSk7YnJlYWs7Y2FzZSAiZnVuY3Rpb24iOkQucHVzaCgibnVsbCIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gdHlwZTogIit0eXBlb2YgVyk7fX19OwpqTz1mdW5jdGlvbihuLFcpe1cucHVzaCgnIicsbi5yZXBsYWNlKE1qWixmdW5jdGlvbihEKXt2YXIgYj1DcVtEXTtifHwoYj0iXFx1IisoRC5jaGFyQ29kZUF0KDApfDY1NTM2KS50b1N0cmluZygxNikuc2xpY2UoMSksQ3FbRF09Yik7cmV0dXJuIGJ9KSwnIicpfTsKUkJiPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDA6cmV0dXJuIk5vIEVycm9yIjtjYXNlIDE6cmV0dXJuIkFjY2VzcyBkZW5pZWQgdG8gY29udGVudCBkb2N1bWVudCI7Y2FzZSAyOnJldHVybiJGaWxlIG5vdCBmb3VuZCI7Y2FzZSAzOnJldHVybiJGaXJlZm94IHNpbGVudGx5IGVycm9yZWQiO2Nhc2UgNDpyZXR1cm4iQXBwbGljYXRpb24gY3VzdG9tIGVycm9yIjtjYXNlIDU6cmV0dXJuIkFuIGV4Y2VwdGlvbiBvY2N1cnJlZCI7Y2FzZSA2OnJldHVybiJIdHRwIHJlc3BvbnNlIGF0IDQwMCBvciA1MDAgbGV2ZWwiO2Nhc2UgNzpyZXR1cm4iUmVxdWVzdCB3YXMgYWJvcnRlZCI7Y2FzZSA4OnJldHVybiJSZXF1ZXN0IHRpbWVkIG91dCI7Y2FzZSA5OnJldHVybiJUaGUgcmVzb3VyY2UgaXMgbm90IGF2YWlsYWJsZSBvZmZsaW5lIjtkZWZhdWx0OnJldHVybiJVbnJlY29nbml6ZWQgZXJyb3IgY29kZSJ9fTsKQko9ZnVuY3Rpb24oKXt9OwpGMT1mdW5jdGlvbigpe307CndwPWZ1bmN0aW9uKG4pe2cub1cuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLlRDPW58fG51bGw7dGhpcy5KPSExO3RoaXMuTj1udWxsO3RoaXMuSz0iIjt0aGlzLlc9MDt0aGlzLmo9IiI7dGhpcy5YPXRoaXMudHc9dGhpcy5ZPXRoaXMuY0o9ITE7dGhpcy5EPTA7dGhpcy5WPW51bGw7dGhpcy5iZD0iIjt0aGlzLk89ITF9OwpRTVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9bmV3IHdwO004LnB1c2goeCk7VyYmeC5TXygiY29tcGxldGUiLFcpO3guZUYoInJlYWR5Iix4LldVKTtrJiYoeC5EPU1hdGgubWF4KDAsaykpO2gmJih4Lk89aCk7eC5zZW5kKG4sRCxiLHYpfTsKVjg9ZnVuY3Rpb24obixXKXtuLko9ITE7bi5OJiYobi5YPSEwLG4uTi5hYm9ydCgpLG4uWD0hMSk7bi5qPVc7bi5XPTU7UjUobik7UTgobil9OwpSNT1mdW5jdGlvbihuKXtuLmNKfHwobi5jSj0hMCxuLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksbi5kaXNwYXRjaEV2ZW50KCJlcnJvciIpKX07Cm5WPWZ1bmN0aW9uKG4pe2lmKG4uSiYmdHlwZW9mIGNKIT0idW5kZWZpbmVkIilpZihuLlkmJmE1KG4pPT00KXNldFRpbWVvdXQobi5OOC5iaW5kKG4pLDApO2Vsc2UgaWYobi5kaXNwYXRjaEV2ZW50KCJyZWFkeXN0YXRlY2hhbmdlIiksbi5pc0NvbXBsZXRlKCkpe24uZ2V0U3RhdHVzKCk7bi5KPSExO3RyeXtpZihuLmlzU3VjY2VzcygpKW4uZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxuLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle24uVz02O3RyeXt2YXIgVz1hNShuKT4yP24uTi5zdGF0dXNUZXh0OiIifWNhdGNoKEQpe1c9IiJ9bi5qPVcrIiBbIituLmdldFN0YXR1cygpKyJdIjtSNShuKX19ZmluYWxseXtROChuKX19fTsKUTg9ZnVuY3Rpb24obixXKXtpZihuLk4pe24uViYmKGNsZWFyVGltZW91dChuLlYpLG4uVj1udWxsKTtsZXQgRD1uLk47bi5OPW51bGw7V3x8bi5kaXNwYXRjaEV2ZW50KCJyZWFkeSIpO3RyeXtELm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsfWNhdGNoKGIpe319fTsKYTU9ZnVuY3Rpb24obil7cmV0dXJuIG4uTj9uLk4ucmVhZHlTdGF0ZTowfTsKVzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBuLk4/bi5OLnJlc3BvbnNlVGV4dDoiIn1jYXRjaChXKXtyZXR1cm4iIn19OwpEbz1mdW5jdGlvbihuKXt0cnl7aWYoIW4uTilyZXR1cm4gbnVsbDtpZigicmVzcG9uc2UiaW4gbi5OKXJldHVybiBuLk4ucmVzcG9uc2U7c3dpdGNoKG4uYmQpe2Nhc2UgIiI6Y2FzZSAidGV4dCI6cmV0dXJuIG4uTi5yZXNwb25zZVRleHQ7Y2FzZSAiYXJyYXlidWZmZXIiOmlmKCJtb3pSZXNwb25zZUFycmF5QnVmZmVyImluIG4uTilyZXR1cm4gbi5OLm1velJlc3BvbnNlQXJyYXlCdWZmZXJ9cmV0dXJuIG51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKVmp0PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249KG4uTiYmYTUobik+PTI/bi5OLmdldEFsbFJlc3BvbnNlSGVhZGVycygpfHwiIjoiIikuc3BsaXQoIlxyXG4iKTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7aWYoZy5GaChuW2JdKSljb250aW51ZTt2YXIgRD1Td2gobltiXSk7bGV0IHY9RFswXTtEPURbMV07aWYodHlwZW9mIEQhPT0ic3RyaW5nIiljb250aW51ZTtEPUQudHJpbSgpO2xldCBrPVdbdl18fFtdO1dbdl09aztrLnB1c2goRCl9cmV0dXJuIFd4KFcsZnVuY3Rpb24oYil7cmV0dXJuIGIuam9pbigiLCAiKX0pfTsKdjM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPWJuKCk7Vz1XKCk7bi5YKEQsYm4oKS1iKTtyZXR1cm4gV307Cm5sMT1mdW5jdGlvbihuLFcsRCxiKXtuPVVVYihQX2koS2NoKG5ldyBrWSxuKSkpLmtDKCk7Vy5sZW5ndGgmJlpiaChuLHRqVShuZXcgY0ZaLFcpKTtiIT09dm9pZCAwJiYobi5Saj1iKTt2YXIgdj1uZXcgYTRqKG4uYnVpbGQoKSk7Zy51KHYsbik7dmFyIGs9bmV3IGhxKHtmbHVzaChoKXt0cnl7di5mbHVzaChoKX1jYXRjaCh4KXtEKHgpfX19KTtrLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtrLmooKX1maW5hbGx5e3YuZGlzcG9zZSgpfX0pfSk7CmsuWD0xRTU7ay5mbHVzaEludGVydmFsPTNFNDtrLkouc2V0SW50ZXJ2YWwoM0U0KTtyZXR1cm4ga307CldXcj1mdW5jdGlvbihuKXtpZihuLnRpbWVyPT09dm9pZCAwKXtsZXQgVz1NYXRoLm1heCgwLG4uTituLkotYm4oKSk7bi50aW1lcj1zZXRUaW1lb3V0KCgpPT57dHJ5e24uY2FsbGJhY2soKX1maW5hbGx5e24uTj1ibigpLG4udGltZXI9dm9pZCAwfX0sVyl9fTsKYnBNPWZ1bmN0aW9uKG4sVz1bXSl7cmV0dXJuIG5ldyBEaHgobixXKX07CmJuPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9OwpMVj1mdW5jdGlvbihuLFcpe2lmKG4uZGlzYWJsZSlyZXR1cm4gbmV3IHhZO1c9Vz9uMChXKTpbXTtyZXR1cm4gYnBNKHtWajpuLlZqLFJoOm4uSnAsTFQ6bi5SaSxSajpuLlJqLHREOm4udEQscm86bi5yb30sVyl9Owp2bHI9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIG51bGw7bj1KUyhuLDQpO3JldHVybiBuPT09bnVsbHx8bj09PXZvaWQgMD9udWxsOmszKG4pfTsKZyQ9ZnVuY3Rpb24oKXtlbS5pbnN0YW5jZXx8KGVtLmluc3RhbmNlPW5ldyBlbSk7cmV0dXJuIGVtLmluc3RhbmNlfTsKazVaPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFXJiYhRClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIWIpcmV0dXJuIFg2KFcsRCk7dmFyIHY7KHY9bi5KKVtiXXx8KHZbYl09bmV3IFByb21pc2UoKGssaCk9PntYNihXLEQpLnRoZW4oKCk9PntuLk49YjtrKCl9LHg9PntkZWxldGUgbi5KW2JdOwpoKHgpfSl9KSk7CnJldHVybiBuLkpbYl19Owp0cT1mdW5jdGlvbihuLFcpe3JldHVybiBrNVoobixnZShXLHF2LDEseFUpLGdlKFcsR0gsMix4VSksWTkoVywzLHZvaWQgMCx4VSkpfTsKWDY9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz9oSFMoVyk6bj94aGIobik6UHJvbWlzZS5yZXNvbHZlKCl9OwpoSFM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKChXLEQpPT57dmFyIGI9Zy56RigiU0NSSVBUIiksdj12bHIobik7Zy5QTShiLHYpO2Iub25sb2FkPSgpPT57Zy5DVChiKTtXKCl9OwpiLm9uZXJyb3I9KCk9PntnLkNUKGIpO0QoRXJyb3IoIkVXTFMiKSl9OwooZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChiKX0pfTsKeGhiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57dmFyIEQ9Zy56RigiU0NSSVBUIik7aWYobil7dmFyIGI9SlMobiw2KTtiPWI9PT1udWxsfHxiPT09dm9pZCAwP251bGw6bWMoYil9ZWxzZSBiPW51bGw7RC50ZXh0Q29udGVudD1LYihiKTtPTShEKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChEKTtnLkNUKEQpO1coKX0pfTsKTFcyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFTKG4sMSxXKX07CmVIaD1mdW5jdGlvbihuLFcpe3JldHVybiBBUyhuLDIsVyl9OwpnbGg9ZnVuY3Rpb24obixXKXtyZXR1cm4gQVMobiwzLFcpfTsKc2w9YXN5bmMgZnVuY3Rpb24obixXLEQsYix2KXtXPWdsaChlSGgoTFcyKG5ldyAkWSxuLnJlcXVlc3RLZXkpLFcpLEQpO0Q9bi5OKCk7bj1hd2FpdCBiLlYoImMiLG4ucmVxdWVzdEtleSx2LG4uY2xpZW50LmNyZWF0ZShXLEQpKTt2YXIgaz1WbChSeihuLDIpKTtpZihrLmxlbmd0aClyZXR1cm4gdjMoYiwoKT0+e3ZhciBoPW5ldyBVaW50OEFycmF5KGsubGVuZ3RoKTtmb3IodmFyIHg9MDt4PGsubGVuZ3RoO3grKyloW3hdPWtbeF0rOTc7aWYoZy5xaS5UZXh0RGVjb2RlciloPShuZXcgVGV4dERlY29kZXIpLmRlY29kZShoKTtlbHNlIGlmKGgubGVuZ3RoPD04MTkyKWg9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGgpO2Vsc2V7eD0iIjtmb3IobGV0IEw9MDtMPGgubGVuZ3RoO0wrPTgxOTIpe2xldCBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGgsTCxMKzgxOTIpO3grPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKX1oPXh9cmV0dXJuIFg0WihoKX0sCiJVIik7CmI9Z2UobixyJCwxKTtpZighYil0aHJvdyBFcnJvcigiTWlzc2luZyBmaWVsZCIpO3JldHVybiBifTsKSDM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bi5OKCk7dmFyIGs9bmV3IE52O2s9QVMoaywxLG4ucmVxdWVzdEtleSk7dmFyIGg9QVMoaywyLFcpO1c9RC5WO2s9bi5yZXF1ZXN0S2V5O249bi5jbGllbnQ7dj1ZWShuLk4sbi5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixoLHZ8fHt9LHFUUyk7cmV0dXJuIFcuY2FsbChELCJnIixrLGIsdil9OwpHNWg9ZnVuY3Rpb24obixXLEQsYix2KXtyZXR1cm4gbiBpbnN0YW5jZW9mIGZWP3NsKG4sYix2LFcsRCk6c2wobixiLHYsbmV3IHhZLDApfTsKckFiPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGI9ZyQoKSx2PVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGspe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCB4PW51bGw7aWYoaCl7SnEobiw3KTt0cnl7eD1hd2FpdCBJaShoLnNuYXBzaG90KHt9KSxrLmpkLCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKEcpe3g9IkU6VUNFIn19bGV0IEwsZT1uZXcgZy5oSChoP2sudzg6ay5DcSxrLm96LGsuZDgsay5BaSk7CmZvcihsZXQgRz0xO0c8PWsubWF4QXR0ZW1wdHM7RysrKXtpZihHIT09MSl7SnEobiwwKTtuLk49bmV3IFNtKGUuZ2V0VmFsdWUoKSxrLnVtLGsubmIpO2xldCByPWF3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7cj09PTE/KEc9MSxlLnJlc2V0KCkpOmcueEUoZSl9dHJ5e2xldCByO0Q/cj1EOihKcShuLDUpLHI9YXdhaXQgSWkoRzVoKFcsbi5sb2dnZXIsRyxiLk4seCksay5ocCwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoIlJHRjpGZXRjaCB0aW1lZCBvdXQiKSkpKTsKSnEobiwzKTthd2FpdCBJaSh0cShiLHIpLGsuUVgsKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJEVFo6U2NyaXB0IHRpbWVkIG91dCIpKSk7CkpxKG4sOCk7YXdhaXQgdjtsZXQgTj1uZXcgQXEoe2NoYWxsZW5nZTpyLHgzOm4ub3B0aW9ucy54Myx3MzpuLm9wdGlvbnMudzN9KTthd2FpdCBJaShOLk92LGsucUssKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJRRUc6U2V0dXAgdGltZWQgb3V0IikpKTsKTD1OO2JyZWFrfWNhdGNoKHIpe24uaGFuZGxlRXJyb3IociksbUkobil9fWlmKG4ucU4oKSlicmVhaztMJiYoRD12b2lkIDAsdDFVKG4saCksaD1MLCRoaChuLEwpLG1JKG4pKTtKcShuLDIpO24uTj1uZXcgU20oay5GWixrLnVtLGsubmIpO24uaXNQYXVzZWQmJm4uTi5wYXVzZSgpO2F3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7aWYobi5xTigpKWJyZWFrfWg/LmRpc3Bvc2UoKX07CnNQMj1mdW5jdGlvbihuKXtuLks9RXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIik7bi5qLnJlc29sdmUoKTtXMihuLlYucHJvbWlzZSk7bi5WLnJlamVjdChFcnJvcigiQ2FuY2VsbGVkIGJ5IGRpc3Bvc2UiKSk7bi5sb2dnZXIuZGlzcG9zZSgpO1Byb21pc2UuYWxsKG4uWCkudGhlbihhc3luYygpPT57bi5XPy5kaXNwb3NlKCk7bi5XPXZvaWQgMH0pOwpuLlg9W107bi5OPy5KKCk7VzIobi5KLnByb21pc2UpO24uSi5yZWplY3QoRXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIikpfTsKTlR0PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4ucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO24uTj8uSigpO2F3YWl0IG4uSi5wcm9taXNlfTsKcDRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5xSjtuLnFKPSgpPT57RCgpO1coKX19OwokaGg9ZnVuY3Rpb24obixXKXtuLnFOKCl8fChuLlc9VyxuLmxvZ2dlci51cGRhdGUoVy5RRCgpKSxuLmoucmVzb2x2ZSgpLG4uVi5yZXNvbHZlKHZvaWQgMCksbi5xSigpKX07CnQxVT1mdW5jdGlvbihuLFcpe1cmJihQcm9taXNlLmFsbChuLlgpLnRoZW4oKCk9PnZvaWQgVy5kaXNwb3NlKCkpLG4uWD1bXSl9OwpKcT1mdW5jdGlvbihuLFcpe24uWT1XO24ub3B0aW9ucy5mUD8uKFcpfTsKbUk9ZnVuY3Rpb24obil7bi5xTigpfHwobi5KLnJlc29sdmUoKSxuLko9bmV3IGcuS1YpfTsKSWk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO0Q9KG5ldyBQcm9taXNlKHY9PntiPXNldFRpbWVvdXQodixXKX0pKS50aGVuKEQpOwpXMihEKTtyZXR1cm4gUHJvbWlzZS5yYWNlKFtuLmZpbmFsbHkoKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGIpKSwKRF0pfTsKWVRVPWZ1bmN0aW9uKG4sVyl7bi5lbmRUaW1lTXM9RGF0ZS5ub3coKStXO24udGljaygpfTsKT2w9ZnVuY3Rpb24obil7bi5OJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUDM9ZnVuY3Rpb24obixXKXt0cnl7cmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShuLFcpLCEwfWNhdGNoKEQpe3JldHVybiExfX07ClpvPWZ1bmN0aW9uKG4sVz0wLEQ9bi5sZW5ndGgsYil7dmFyIHY9MDtmb3IoYiYmKHY9Wm8oYikpO1c8RDtXKyspdj1IcGkoMzEsdikrKHR5cGVvZiBuPT09InN0cmluZyI/bi5jaGFyQ29kZUF0KFcpOm5bV10pfDA7cmV0dXJuIHZ9Owp5aT1mdW5jdGlvbihuKXt2YXIgW1csRF09W1pvKG4sMCxuLmxlbmd0aD4+MSxVbCksWm8obixuLmxlbmd0aD4+MSldO3JldHVybiBXLnRvU3RyaW5nKDE2KStELnRvU3RyaW5nKDE2KX07CkVsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W1pvKFcsMCxXLmxlbmd0aD4+MSx2b2lkIDApLFpvKFcsVy5sZW5ndGg+PjEpXTtuPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlcik7Vz1uWzBdO3ZhciBbYix2XT1EO2ZvcihEPTE7RDxuLmxlbmd0aDtEKz0yKXt2YXIgaz1XLGg9RCx4PWIsTD12O2ZvcihsZXQgZT0wO2U8MjI7ZSsrKWg9aD4+Pjh8aDw8MjQsaCs9a3wwLGhePXgrMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1oLEw9TD4+Pjh8TDw8MjQsTCs9eHwwLExePWUrMzgyOTMseD14PDwzfHg+Pj4yOSx4Xj1MO2s9W2ssaF07bltEXV49a1swXTtEKzE8bi5sZW5ndGgmJihuW0QrMV1ePWtbMV0pfX07CmZlYj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSg0LShVbC5sZW5ndGgrRC5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2srVWwubGVuZ3RoKzQrRC5sZW5ndGgpLHg9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxMPTA7eC5zZXRVaW50MzIoTCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO0w9TCs0K2s7aC5zZXQoVWwsTCk7TCs9VWwubGVuZ3RoO3guc2V0VWludDMyKEwsdik7aC5zZXQoRCxMKzQpO0VsKGgsYik7cmV0dXJuIG4ucXAoVyxlPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShlKSk/UDMoVyxnLkVBKGgpKT8icyI6InQiOiJpIn07CkpBdz1mdW5jdGlvbihuLFcpe3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShuKTtpZighRClyZXR1cm5bIm0iXTt0cnl7dmFyIGI9bHAoRCk7RWwoYixXKX1jYXRjaCh2KXtyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiYyJdfWZvcihXPTQ7Vzw3JiZiW1ddPT09MDspVysrO2ZvcihEPTA7RDxVbC5sZW5ndGg7RCsrKWlmKGJbVysrXSE9PVVsW0RdKXJldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0obiksWyJkIl07RD0obmV3IERhdGFWaWV3KGIuYnVmZmVyKSkuZ2V0VWludDMyKFcpO3JldHVybiBNYXRoLmZsb29yKERhdGUubm93KCkvMUUzKT49RD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiZSJdKTpbImEiLG5ldyBVaW50OEFycmF5KGIuYnVmZmVyLFcrNCldfTsKSWV3PWZ1bmN0aW9uKG4pe3ZhciBXPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiaVU1cS0hTzlAJCIpO2lmKCFXKXJldHVybiBuZXcgdW4obik7dmFyIEQ9Vy5zcGxpdCgiLCIpO2lmKEQubGVuZ3RoPDIpcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgiaVU1cS0hTzlAJCIpLG5ldyB1bihuKTtXPUQuc2xpY2UoMSk7Vy5sZW5ndGg9PT0xJiZXWzBdPT09IiImJihXPVtdKTtEPU51bWJlcihEWzBdKTtyZXR1cm4gaXNOYU4oRCl8fEQ8MHx8RD5XLmxlbmd0aD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IHVuKG4pKTpuZXcgdW4obixELFcpfTsKbWh3PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoKXtELT1iO0QtPXY7RF49dj4+PjEzO2ItPXY7Yi09RDtiXj1EPDw4O3YtPUQ7di09Yjt2Xj1iPj4+MTM7RC09YjtELT12O0RePXY+Pj4xMjtiLT12O2ItPUQ7Yl49RDw8MTY7di09RDt2LT1iO3ZePWI+Pj41O0QtPWI7RC09djtEXj12Pj4+MztiLT12O2ItPUQ7Yl49RDw8MTA7di09RDt2LT1iO3ZePWI+Pj4xNX0Kbj1TVHIobik7Zm9yKHZhciBEPTI2NTQ0MzU3NjksYj0yNjU0NDM1NzY5LHY9MzE0MTU5MjY1LGs9bi5sZW5ndGgsaD1rLHg9MDtoPj0xMjtoLT0xMix4Kz0xMilEKz1vaShuLHgpLGIrPW9pKG4seCs0KSx2Kz1vaShuLHgrOCksVygpO3YrPWs7c3dpdGNoKGgpe2Nhc2UgMTE6dis9blt4KzEwXTw8MjQ7Y2FzZSAxMDp2Kz1uW3grOV08PDE2O2Nhc2UgOTp2Kz1uW3grOF08PDg7Y2FzZSA4OmIrPW5beCs3XTw8MjQ7Y2FzZSA3OmIrPW5beCs2XTw8MTY7Y2FzZSA2OmIrPW5beCs1XTw8ODtjYXNlIDU6Yis9blt4KzRdO2Nhc2UgNDpEKz1uW3grM108PDI0O2Nhc2UgMzpEKz1uW3grMl08PDE2O2Nhc2UgMjpEKz1uW3grMV08PDg7Y2FzZSAxOkQrPW5beCswXX1XKCk7cmV0dXJuIEFBUy50b1N0cmluZyh2KX07ClNUcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2gobi5jaGFyQ29kZUF0KEQpKTtyZXR1cm4gV307Cm9pPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5bVyswXSsobltXKzFdPDw4KSsobltXKzJdPDwxNikrKG5bVyszXTw8MjQpfTsKZCQ9ZnVuY3Rpb24obixXKXt2YXIgRD1zZXRUaW1lb3V0KCgpPT57bi5YLnJlc29sdmUoKX0sVyk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KEQpKX07CmxuPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9YCR7VyhuLmVycm9yLm1lc3NhZ2UpfToke1cobi5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtXPUQubGVuZ3RoKzE7RD16SChEKTt2YXIgYj1uZXcgVWludDhBcnJheSg0K0QubGVuZ3RoKTtiLnNldChbNDIsVyYxMjd8MTI4LFc+Pjcsbi5lcnJvci5jb2RlXSk7Yi5zZXQoRCw0KTtyZXR1cm4gYn07CnpIPWZ1bmN0aW9uKG4pe3JldHVybiBnbG9iYWxUaGlzLlRleHRFbmNvZGVyPyhuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKTpMMChuKX07CktXVT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4gaW5zdGFuY2VvZiBmVj9IMyhuLEQsVywxKTpuLlpqKEQpfTsKQjM9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9dm9pZCAwO24uaisrO3ZhciBEPW5ldyBnLktWO24uTzEgaW5zdGFuY2VvZiBUSCYmbi5PMS5YLnB1c2goRC5wcm9taXNlKTtpZihuLlhsKXtsZXQgaz1uZXcgZy5LVjtzZXRUaW1lb3V0KCgpPT52b2lkIGsucmVzb2x2ZSgpKTsKYXdhaXQgay5wcm9taXNlfXZhciBiPW4ubG9nZ2VyLnNoYXJlKCk7dHJ5e24uc3RhdGU9NTtsZXQgaz1bXSxoPWF3YWl0IElpKG4uTzEuc25hcHNob3Qoe3dfOnt9LHRMOmt9KSxuLmtkLnJTLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTUsIk1EQTpUaW1lb3V0IikpKTsKam0obiwiTURBOkRpc3Bvc2VkIik7bGV0IHg9a1swXTtuLnN0YXRlPTY7bGV0IEw9YXdhaXQgSWkoS1dVKG4uVWcsYixoKSxuLmtkLlhVLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTAsIkJXQjpUaW1lb3V0IikpKTsKam0obiwiQldCOkRpc3Bvc2VkIik7bi5zdGF0ZT03O1c9djMoYiwoKT0+e3ZhciBlPU9waShuLEwsRCx4KTtlLlgucHJvbWlzZS50aGVuKCgpPT52b2lkIG4uVigpKTsKcmV0dXJuIGV9LCJpIil9Y2F0Y2goayl7Vz8uZGlzcG9zZSgpOwppZighbi5KKXtsZXQgaD1QZjIobixrKTtELnJlc29sdmUoKTt2YXIgdjtpZih2PW4uTzEgaW5zdGFuY2VvZiBUSCYmbi5qPDIpYTppZihrIGluc3RhbmNlb2YgUUcpdj1rLmNvZGUhPT0zMiYmay5jb2RlIT09MjAmJmsuY29kZSE9PTEwO2Vsc2V7aWYoayBpbnN0YW5jZW9mIENWKXN3aXRjaChrLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6dj0hMTticmVhayBhfXY9ITB9aWYodil7bGV0IHg9c2V0VGltZW91dCgoKT0+dm9pZCBuLlYoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKG4uTj82RTQ6MUUzKSk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHgpKTsKcmV0dXJufW4uSj1ofWIuSihuLk4/MTM6MTQpO24uWC5yZWplY3Qobi5KKTtyZXR1cm59ZmluYWxseXtiLmRpc3Bvc2UoKX1uLnN0YXRlPTg7bi5qPTA7bi5OPy5kaXNwb3NlKCk7bi5OPVc7bi5YLnJlc29sdmUoKX07ClBmMj1mdW5jdGlvbihuLFcpe2lmKCEoVyBpbnN0YW5jZW9mIFFHKSlpZihXIGluc3RhbmNlb2YgQ1Ype2xldCBEPUVycm9yKFcudG9TdHJpbmcoKSk7RC5zdGFjaz1XLnN0YWNrO1c9bmV3IFFHKDExLCJFQkg6RXJyb3IiLEQpfWVsc2UgVz1uZXcgUUcoMTIsIkJTTzpVbmtub3duIixXKTtyZXR1cm4gbi5yZXBvcnRFcnJvcihXKX07CmptPWZ1bmN0aW9uKG4sVyl7aWYobi5xTigpKXRocm93IG5ldyBRRyhuLk4/MjA6MzIsVyk7fTsKT3BpPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSh1NChpVyhXLDIpKT8/MCkqMUUzO2lmKHY8PTApdGhyb3cgbmV3IFFHKDMxLCJUVE06SW52YWxpZCIpO2lmKFk5KFcsNCkpcmV0dXJuIG5ldyBacHQobi5sb2dnZXIsWTkoVyw0KSx2KTtpZighKHU0KGlXKFcsMykpPz8wKSlyZXR1cm4gbmV3IFVoaihuLmxvZ2dlcixWbChSeihXLDEpKSx2KTtpZighYil0aHJvdyBuZXcgUUcoNCwiUE1EOlVuZGVmaW5lZCIpO2I9YihWbChSeihXLDEpKSk7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iKXRocm93IG5ldyBRRygxNiwiQVBGOkZhaWxlZCIpO24uSz1NYXRoLmZsb29yKChEYXRlLm5vdygpK3YpLzFFMyk7bj1uZXcgRjYobi5sb2dnZXIsYix1NChpVyhXLDMpKT8/MCx2KTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIEQucmVzb2x2ZSgpKTsKcmV0dXJuIG59OwpNdj1mdW5jdGlvbihuLFcsRCl7dHJ5e2lmKG4ucU4oKSl0aHJvdyBuZXcgUUcoMjEsIkJOVDpkaXNwb3NlZCIpO2lmKCFuLk4mJm4uSil0aHJvdyBuLko7cmV0dXJuIHlBMShuLFcsRCk/P0VsaShuLFcsRCk/P2lwcihuLFcsRCl9Y2F0Y2goYil7aWYoIVcuRVIpdGhyb3cgdyQobixiKTtyZXR1cm4gdU1aKG4sRCxiKX19Owp3JD1mdW5jdGlvbihuLFcpe1c9VyBpbnN0YW5jZW9mIFFHP1c6bmV3IFFHKDUsIlRWRDplcnJvciIsVyk7cmV0dXJuIG4ucmVwb3J0RXJyb3IoVyl9Owp5QTE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLk4/LkZwKCgpPT5SaShuLFcpLEQsYj0+e2lmKG4uTiBpbnN0YW5jZW9mIEY2JiZXLmhHPy5yMyl0cnl7bi5jYWNoZT8uTihSaShuLFcpLGIsVy5oRy5hbSxuLkstMTIwKX1jYXRjaCh2KXtuLnJlcG9ydEVycm9yKG5ldyBRRygyNCwiRUxYOndyaXRlIix2KSl9fSl9OwpFbGk9ZnVuY3Rpb24obixXLEQpe2lmKFcuaEc/LkFCKXRyeXtsZXQgYj1uLmNhY2hlPy5KKFJpKG4sVyksVy5oRy5hbSk7cmV0dXJuIGI/RD92MyhuLmxvZ2dlciwoKT0+Zy5FQShiLDIpLCJhIik6Yjp2b2lkIDB9Y2F0Y2goYil7bi5yZXBvcnRFcnJvcihuZXcgUUcoMjMsIlJYTzpyZWFkIixiKSl9fTsKaXByPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoIVcuR3IpdGhyb3cgbmV3IFFHKDI5LCJTREY6bm90cmVhZHkiKTtyZXR1cm4gemIoYixuZXcgUWkobi5sb2dnZXIsMCxuLnN0YXRlKSkuRnAoKCk9PlJpKG4sVyksRCl9Y2F0Y2godil7Yi5lcnJvcj12LGIuaGFzRXJyb3I9ITB9ZmluYWxseXtseChiKX19Owp1TVo9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgdj13JChuLEQpO3JldHVybiB6YihiLG5ldyBvbHcobi5sb2dnZXIsdikpLkZwKCgpPT5bXSxXKX1jYXRjaCh2KXtiLmVycm9yPXYsYi5oYXNFcnJvcj0hMH1maW5hbGx5e2x4KGIpfX07ClJpPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcueEM/Vy54QzpXLndfP3YzKG4ubG9nZ2VyLCgpPT5XLnhDPXpIKFcud18pLCJjIik6W119OwpuVz1mdW5jdGlvbigpe3ZhciBuPTAsVztyZXR1cm4gRD0+e1d8fChXPW5ldyB4WSk7dmFyIGI9bmV3IFFpKFcsbiwxKSx2PWIuRnAoKCk9PnpIKEQpLCEwKTsKYi5kaXNwb3NlKCk7bisrO3JldHVybiB2fX07CmcuV1k9ZnVuY3Rpb24obixXKXtpZihuKWZvcihsZXQgRCBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLEQpJiZXKG5bRF0sRCxuKX07CnpIaT1mdW5jdGlvbigpe3ZhciBuPVtdO2cuV1koZGhaLFc9PntuLnB1c2goVyl9KTsKcmV0dXJuIG59OwpUVHI9ZnVuY3Rpb24oKXt2YXIgbj1nLkRhKCJJRlJBTUUiKSxXPXt9O2cueTIobGVTKCksRD0+e24uc2FuZGJveCYmbi5zYW5kYm94LnN1cHBvcnRzJiZuLnNhbmRib3guc3VwcG9ydHMoRCkmJihXW0RdPSEwKX0pOwpyZXR1cm4gV307CmcuRGE9ZnVuY3Rpb24obixXPWRvY3VtZW50KXtyZXR1cm4gVy5jcmVhdGVFbGVtZW50KFN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKX07CmcuYnI9ZnVuY3Rpb24obixXLEQsYil7dGhpcy5sZWZ0PW47dGhpcy50b3A9Vzt0aGlzLndpZHRoPUQ7dGhpcy5oZWlnaHQ9Yn07CnZZPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49PVc/ITA6biYmVz9uLmxlZnQ9PVcubGVmdCYmbi53aWR0aD09Vy53aWR0aCYmbi50b3A9PVcudG9wJiZuLmhlaWdodD09Vy5oZWlnaHQ6ITF9OwpnLmgxPWZ1bmN0aW9uKG4sVyxEKXtpZih0eXBlb2YgVz09PSJzdHJpbmciKWtxKG4sRCxXKTtlbHNlIGZvcihsZXQgYiBpbiBXKWtxKG4sV1tiXSxiKX07CmtxPWZ1bmN0aW9uKG4sVyxEKXsoRD14cShuLEQpKSYmKGpQQy50ZXN0KEQpP24uc3R5bGUuc2V0UHJvcGVydHkoRCxXKTpuLnN0eWxlW0RdPVcpfTsKeHE9ZnVuY3Rpb24obixXKXt2YXIgRD1MV1tXXTtpZighRCl7dmFyIGI9cHAoVyk7RD1iO24uc3R5bGVbYl09PT12b2lkIDAmJihiPShnLlpsPyJXZWJraXQiOmcuZVM/Ik1veiI6bnVsbCkrSTFpKGIpLG4uc3R5bGVbYl0hPT12b2lkIDAmJihEPWIpKTtMV1tXXT1EfXJldHVybiBEfTsKZy5naD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc3R5bGVbcHAoVyldO3JldHVybiB0eXBlb2YgRCE9PSJ1bmRlZmluZWQiP0Q6bi5zdHlsZVt4cShuLFcpXXx8IiJ9OwpYbT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuSksobik7cmV0dXJuIEQuZGVmYXVsdFZpZXcmJkQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKG49RC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKG4sbnVsbCkpP25bV118fG4uZ2V0UHJvcGVydHlWYWx1ZShXKXx8IiI6IiJ9OwpxdD1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goVyl7cmV0dXJue2xlZnQ6MCx0b3A6MCxyaWdodDowLGJvdHRvbTowfX19OwpnLkdOPWZ1bmN0aW9uKG4pe3ZhciBXPWcuSksobiksRD1uZXcgZy5NWSgwLDApO2lmKG49PShXP2cuSksoVyk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudClyZXR1cm4gRDtuPXF0KG4pO1c9Zy5TcChXKTtXPWcuRTAoVy5OKTtELng9bi5sZWZ0K1cueDtELnk9bi50b3ArVy55O3JldHVybiBEfTsKZy4kcT1mdW5jdGlvbihuLFcpe249dDEobik7Vz10MShXKTtyZXR1cm4gbmV3IGcuTVkobi54LVcueCxuLnktVy55KX07Cmcucmg9ZnVuY3Rpb24obil7bj1xdChuKTtyZXR1cm4gbmV3IGcuTVkobi5sZWZ0LG4udG9wKX07CnQxPWZ1bmN0aW9uKG4pe2lmKG4ubm9kZVR5cGU9PTEpcmV0dXJuIGcucmgobik7bj1uLmNoYW5nZWRUb3VjaGVzP24uY2hhbmdlZFRvdWNoZXNbMF06bjtyZXR1cm4gbmV3IGcuTVkobi5jbGllbnRYLG4uY2xpZW50WSl9OwpOdD1mdW5jdGlvbihuLFcpe2lmKFcgaW5zdGFuY2VvZiBnLlFlKXt2YXIgRD1XLmhlaWdodDtXPVcud2lkdGh9ZWxzZSB0aHJvdyBFcnJvcigibWlzc2luZyBoZWlnaHQgYXJndW1lbnQiKTtuLnN0eWxlLndpZHRoPXNqKFcsITApO24uc3R5bGUuaGVpZ2h0PXNqKEQsITApfTsKc2o9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09Im51bWJlciImJihuPShXP01hdGgucm91bmQobik6bikrInB4Iik7cmV0dXJuIG59OwpnLnBXPWZ1bmN0aW9uKG4pe3ZhciBXPUNmMSxEOyhEPVhtKG4sImRpc3BsYXkiKSl8fChEPW4uY3VycmVudFN0eWxlP24uY3VycmVudFN0eWxlLmRpc3BsYXk6bnVsbCk7aWYoKER8fG4uc3R5bGUmJm4uc3R5bGUuZGlzcGxheSkhPSJub25lIilyZXR1cm4gVyhuKTtEPW4uc3R5bGU7dmFyIGI9RC5kaXNwbGF5LHY9RC52aXNpYmlsaXR5LGs9RC5wb3NpdGlvbjtELnZpc2liaWxpdHk9ImhpZGRlbiI7RC5wb3NpdGlvbj0iYWJzb2x1dGUiO0QuZGlzcGxheT0iaW5saW5lIjtuPVcobik7RC5kaXNwbGF5PWI7RC5wb3NpdGlvbj1rO0QudmlzaWJpbGl0eT12O3JldHVybiBufTsKQ2YxPWZ1bmN0aW9uKG4pe3ZhciBXPW4ub2Zmc2V0V2lkdGgsRD1uLm9mZnNldEhlaWdodCxiPWcuWmwmJiFXJiYhRDtyZXR1cm4oVz09PXZvaWQgMHx8YikmJm4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0PyhuPXF0KG4pLG5ldyBnLlFlKG4ucmlnaHQtbi5sZWZ0LG4uYm90dG9tLW4udG9wKSk6bmV3IGcuUWUoVyxEKX07CkZXWj1mdW5jdGlvbihuLFc9e30pe3JldHVybiBuZXcgQlR0KG4sVyl9Owp3NHI9ZnVuY3Rpb24obil7bi5WLnhWKCJkYXRhIixXPT57aWYoIjEiaW4gVyl7dmFyIEQ9V1siMSJdO2xldCBiO3RyeXtiPW4uSyhEKX1jYXRjaCh2KXtZcShuLG5ldyBDVigxMyxgRXJyb3Igd2hlbiBkZXNlcmlhbGl6aW5nIHJlc3BvbnNlIGRhdGE7IGVycm9yOiAke3Z9LCByZXNwb25zZTogJHtEfWApKX1iJiZIWShuLGIpfWlmKCIyImluIFcpZm9yKFc9ZlcobixXWyIyIl0pLEQ9MDtEPG4uai5sZW5ndGg7RCsrKW4ualtEXShXKX0pOwpuLlYueFYoImVuZCIsKCk9PntKMShuLElzKG4pKTtmb3IobGV0IFc9MDtXPG4uVy5sZW5ndGg7VysrKW4uV1tXXSgpfSk7Cm4uVi54VigiZXJyb3IiLCgpPT57aWYobi5OLmxlbmd0aCE9PTApe3ZhciBXPW4ueGhyLlc7VyE9PTB8fG4ueGhyLmlzU3VjY2VzcygpfHwoVz02KTt2YXIgRD0tMTtzd2l0Y2goVyl7Y2FzZSAwOnZhciBiPTI7YnJlYWs7Y2FzZSA3OmI9MTA7YnJlYWs7Y2FzZSA4OmI9NDticmVhaztjYXNlIDY6RD1uLnhoci5nZXRTdGF0dXMoKTtiPXozKEQpO2JyZWFrO2RlZmF1bHQ6Yj0xNH1KMShuLElzKG4pKTtXPVJCYihXKSsiLCBlcnJvcjogIituLnhoci5nZXRMYXN0RXJyb3IoKTtEIT09LTEmJihXKz1gLCBodHRwIHN0YXR1cyBjb2RlOiAke0R9YCk7WXEobixuZXcgQ1YoYixXKSl9fSl9OwpZcT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5OLmxlbmd0aDtEKyspbi5OW0RdKFcpfTsKSjE9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQ9MDtEPG4uWC5sZW5ndGg7RCsrKW4uWFtEXShXKX07CklzPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9Vmp0KG4ueGhyKTtPYmplY3Qua2V5cyhEKS5mb3JFYWNoKGI9PntXW2JdPURbYl19KTsKcmV0dXJuIFd9OwpIWT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5KLmxlbmd0aDtEKyspbi5KW0RdKFcpfTsKZlc9ZnVuY3Rpb24obixXKXt2YXIgRD0yLGI9e307dHJ5e2xldCBrO2s9TTFiKFcpO0Q9YVAoaywxKTt2YXIgdj1rLmdldE1lc3NhZ2UoKTtWRyhrLFJIaSwzKS5sZW5ndGgmJihiWyJncnBjLXdlYi1zdGF0dXMtZGV0YWlscy1iaW4iXT1XKX1jYXRjaChrKXtuLnhociYmbi54aHIuZ2V0U3RhdHVzKCk9PT00MDQ/KEQ9NSx2PSJOb3QgRm91bmQ6ICIrU3RyaW5nKG4ueGhyLkspKTooRD0xNCx2PWBVbmFibGUgdG8gcGFyc2UgUnBjU3RhdHVzOiAke2t9YCl9cmV0dXJue2NvZGU6RCxkZXRhaWxzOnYsbWV0YWRhdGE6Yn19OwpWMVU9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgUVBTO0FIKG4ueGhyLCJjb21wbGV0ZSIsKCk9PntpZihuLnhoci5pc1N1Y2Nlc3MoKSl7dmFyIGI9VzMobi54aHIpO2lmKFcmJm4ueGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKT09PSJ0ZXh0L3BsYWluIil7aWYoIWF0b2IpdGhyb3cgRXJyb3IoIkNhbm5vdCBkZWNvZGUgQmFzZTY0IHJlc3BvbnNlIik7Yj1hdG9iKGIpfXRyeXt2YXIgdj1uLksoYil9Y2F0Y2goaCl7WXEobixTUyhuZXcgQ1YoMTMsYEVycm9yIHdoZW4gZGVzZXJpYWxpemluZyByZXNwb25zZSBkYXRhOyBlcnJvcjogJHtofSwgcmVzcG9uc2U6ICR7Yn1gKSxEKSk7cmV0dXJufWI9ejMobi54aHIuZ2V0U3RhdHVzKCkpO0oxKG4sSXMobikpO2I9PT0wP0hZKG4sdik6WXEobixTUyhuZXcgQ1YoYiwiWGhyIHN1Y2NlZWRlZCBidXQgdGhlIHN0YXR1cyBjb2RlIGlzIG5vdCAyMDAiKSxEKSl9ZWxzZXtiPVczKG4ueGhyKTtsZXQgaDt2PUlzKG4pO2lmKGIpe3ZhciBrPQpmVyhuLGIpO2I9ay5jb2RlO2g9ay5kZXRhaWxzO2s9ay5tZXRhZGF0YX1lbHNlIGI9MixoPWBScGMgZmFpbGVkIGR1ZSB0byB4aHIgZXJyb3IuIHVyaTogJHtTdHJpbmcobi54aHIuSyl9LCBlcnJvciBjb2RlOiAke24ueGhyLld9LCBlcnJvcjogJHtuLnhoci5nZXRMYXN0RXJyb3IoKX1gLGs9djtKMShuLHYpO1lxKG4sU1MobmV3IENWKGIsaCxrKSxEKSl9fSl9OwpBMT1mdW5jdGlvbihuLFcpe1c9bi5pbmRleE9mKFcpO1c+LTEmJm4uc3BsaWNlKFcsMSl9OwpTUz1mdW5jdGlvbihuLFcpe1cuc3RhY2smJihuLnN0YWNrKz0iXG4iK1cuc3RhY2spO3JldHVybiBufTsKbUc9ZnVuY3Rpb24obil7dGhpcy5YPW4uWTZ8fG51bGw7dGhpcy5XPW4uWUJ8fCExO3RoaXMuSj12b2lkIDB9OwpLVz1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLnR3PW47dGhpcy5WPVc7dGhpcy5qPXZvaWQgMDt0aGlzLnN0YXR1cz10aGlzLnJlYWR5U3RhdGU9MDt0aGlzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVGV4dD10aGlzLnJlc3BvbnNlPXRoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLko9bnVsbDt0aGlzLmNKPSJHRVQiO3RoaXMuTz0iIjt0aGlzLk49ITE7dGhpcy5LPXRoaXMuVz10aGlzLlg9bnVsbDt0aGlzLlk9bmV3IEFib3J0Q29udHJvbGxlcn07Ck9qPWZ1bmN0aW9uKG4pe24uVy5yZWFkKCkudGhlbihuLmxFLmJpbmQobikpLmNhdGNoKG4uRFAuYmluZChuKSl9OwpaYT1mdW5jdGlvbihuKXtuLnJlYWR5U3RhdGU9NDtuLlg9bnVsbDtuLlc9bnVsbDtuLks9bnVsbDtQWShuKX07ClBZPWZ1bmN0aW9uKG4pe24ub25yZWFkeXN0YXRlY2hhbmdlJiZuLm9ucmVhZHlzdGF0ZWNoYW5nZS5jYWxsKG4pfTsKY0FVPWZ1bmN0aW9uKG4pe2lmKG4uejcmJnR5cGVvZiBuLno3PT0iZnVuY3Rpb24iKXJldHVybiBuLno3KCk7aWYodHlwZW9mIE1hcCE9PSJ1bmRlZmluZWQiJiZuIGluc3RhbmNlb2YgTWFwfHx0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20obi52YWx1ZXMoKSk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbi5zcGxpdCgiIik7aWYoZy5ZMihuKSl7bGV0IFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdKTtyZXR1cm4gV31yZXR1cm4gaEsobil9OwphZWg9ZnVuY3Rpb24obil7aWYobi51QiYmdHlwZW9mIG4udUI9PSJmdW5jdGlvbiIpcmV0dXJuIG4udUIoKTtpZighbi56N3x8dHlwZW9mIG4uejchPSJmdW5jdGlvbiIpe2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gQXJyYXkuZnJvbShuLmtleXMoKSk7aWYoISh0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpKXtpZihnLlkyKG4pfHx0eXBlb2Ygbj09PSJzdHJpbmciKXtsZXQgVz1bXTtuPW4ubGVuZ3RoO2ZvcihsZXQgRD0wO0Q8bjtEKyspVy5wdXNoKEQpO3JldHVybiBXfXJldHVybiBnLkxUKG4pfX19OwpuS2k9ZnVuY3Rpb24obixXLEQpe2lmKG4uZm9yRWFjaCYmdHlwZW9mIG4uZm9yRWFjaD09ImZ1bmN0aW9uIiluLmZvckVhY2goVyxEKTtlbHNlIGlmKGcuWTIobil8fHR5cGVvZiBuPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChuLFcsRCk7ZWxzZXtsZXQgYj1hZWgobiksdj1jQVUobiksaz12Lmxlbmd0aDtmb3IobGV0IGg9MDtoPGs7aCsrKVcuY2FsbChELHZbaF0sYiYmYltoXSxuKX19OwpnLlVqPWZ1bmN0aW9uKG4pe3RoaXMuTj10aGlzLlk9dGhpcy5YPSIiO3RoaXMuVj1udWxsO3RoaXMuaj10aGlzLko9IiI7dGhpcy5LPSExO3ZhciBXO24gaW5zdGFuY2VvZiBnLlVqPyh0aGlzLks9bi5LLHlOKHRoaXMsbi5YKSx0aGlzLlk9bi5ZLEVqKHRoaXMsbi5OKSxpcih0aGlzLG4uViksdGhpcy5KPW4uSix1cih0aGlzLG4uVy5jbG9uZSgpKSx0aGlzLmo9bi5qKTpuJiYoVz1nLmZwKFN0cmluZyhuKSkpPyh0aGlzLks9ITEseU4odGhpcyxXWzFdfHwiIiwhMCksdGhpcy5ZPW9zKFdbMl18fCIiKSxFaih0aGlzLFdbM118fCIiLCEwKSxpcih0aGlzLFdbNF0pLHRoaXMuSj1vcyhXWzVdfHwiIiwhMCksdXIodGhpcyxXWzZdfHwiIiwhMCksdGhpcy5qPW9zKFdbN118fCIiKSk6KHRoaXMuSz0hMSx0aGlzLlc9bmV3IGRoKG51bGwsdGhpcy5LKSl9Owp5Tj1mdW5jdGlvbihuLFcsRCl7bi5YPUQ/b3MoVywhMCk6VztuLlgmJihuLlg9bi5YLnJlcGxhY2UoLzokLywiIikpfTsKRWo9ZnVuY3Rpb24obixXLEQpe24uTj1EP29zKFcsITApOld9Owppcj1mdW5jdGlvbihuLFcpe2lmKFcpe1c9TnVtYmVyKFcpO2lmKGlzTmFOKFcpfHxXPDApdGhyb3cgRXJyb3IoIkJhZCBwb3J0IG51bWJlciAiK1cpO24uVj1XfWVsc2Ugbi5WPW51bGx9Owp1cj1mdW5jdGlvbihuLFcsRCl7VyBpbnN0YW5jZW9mIGRoPyhuLlc9VyxXeGgobi5XLG4uSykpOihEfHwoVz16TihXLER4UykpLG4uVz1uZXcgZGgoVyxuLkspKX07CmxyPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5Vaj9uLmNsb25lKCk6bmV3IGcuVWoobil9Owpvcz1mdW5jdGlvbihuLFcpe3JldHVybiBuP1c/ZGVjb2RlVVJJKG4ucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChuKToiIn07CnpOPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIj8obj1lbmNvZGVVUkkobikucmVwbGFjZShXLGIweCksRCYmKG49bi5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxuKTpudWxsfTsKYjB4PWZ1bmN0aW9uKG4pe249bi5jaGFyQ29kZUF0KDApO3JldHVybiIlIisobj4+NCYxNSkudG9TdHJpbmcoMTYpKyhuJjE1KS50b1N0cmluZygxNil9OwpkaD1mdW5jdGlvbihuLFcpe3RoaXMuSj10aGlzLk49bnVsbDt0aGlzLlc9bnx8bnVsbDt0aGlzLlg9ISFXfTsKVE49ZnVuY3Rpb24obil7bi5OfHwobi5OPW5ldyBNYXAsbi5KPTAsbi5XJiZnLk9UKG4uVyxmdW5jdGlvbihXLEQpe24uYWRkKEc1KFcpLEQpfSkpfTsKQ1c9ZnVuY3Rpb24obixXKXtUTihuKTtXPWpTKG4sVyk7cmV0dXJuIG4uTi5oYXMoVyl9OwpqUz1mdW5jdGlvbihuLFcpe1c9U3RyaW5nKFcpO24uWCYmKFc9Vy50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gV307Cld4aD1mdW5jdGlvbihuLFcpe1cmJiFuLlgmJihUTihuKSxuLlc9bnVsbCxuLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe3ZhciB2PWIudG9Mb3dlckNhc2UoKTtiIT12JiYodGhpcy5yZW1vdmUoYiksdGhpcy5yZW1vdmUodiksRC5sZW5ndGg+MCYmKHRoaXMuVz1udWxsLHRoaXMuTi5zZXQoalModGhpcyx2KSxnLlJNKEQpKSx0aGlzLko9dGhpcy5KK0QubGVuZ3RoKSl9LG4pKTsKbi5YPVd9Owp2S2I9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zy5hXyhuLGZ1bmN0aW9uKEQsYil7Vys9YjtXKz0iOiI7Vys9RDtXKz0iXHJcbiJ9KTsKcmV0dXJuIFd9OwpCWT1mdW5jdGlvbihuKXtnLkZNLmNhbGwodGhpcyk7dGhpcy5KPW47dGhpcy5OPXt9fTsKRm09ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKEFycmF5LmlzQXJyYXkoRCkpZm9yKGxldCBoPTA7aDxELmxlbmd0aDtoKyspRm0obixXLERbaF0sYix2LGspO2Vsc2V7Vz1TZyhXLEQsYnx8bi5oYW5kbGVFdmVudCx2LGt8fG4uSnx8bik7aWYoIVcpcmV0dXJuIG47bi5OW1cua2V5XT1XfXJldHVybiBufTsKd2g9ZnVuY3Rpb24obixXLEQpe24uVz0hMTt0aHJvdyBFcnJvcigiVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVyk7fTsKTXQ9ZnVuY3Rpb24oKXt0aGlzLlY9bnVsbDt0aGlzLks9W107dGhpcy5YPXRoaXMuSj10aGlzLlc9dGhpcy5OPXRoaXMuRD0wO3RoaXMuaj1udWxsO3RoaXMuWT0wfTsKUnM9ZnVuY3Rpb24obixXLEQsYil7bi5OPTM7bi5WPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIituLkQrIi8iK0QrIi4gRXJyb3I6ICIrYisiLiBXaXRoIGlucHV0OlxuIitXO3Rocm93IEVycm9yKG4uVik7fTsKUU49ZnVuY3Rpb24oKXt0aGlzLk49bnVsbDt0aGlzLko9MDt0aGlzLlc9bmV3IGtoUzt0aGlzLlg9bmV3IE10fTsKVk49ZnVuY3Rpb24obixXLEQpe24uTj0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVzt0aHJvdyBFcnJvcihuLk4pO307CmNZPWZ1bmN0aW9uKG4pe3JldHVybiBuPT0iXHIifHxuPT0iXG4ifHxuPT0iICJ8fG49PSJcdCJ9Owphcz1mdW5jdGlvbihuKXt0aGlzLkQ9bnVsbDt0aGlzLlY9W107dGhpcy5YPSIiO3RoaXMuY0o9W107dGhpcy5XPXRoaXMuSj0wO3RoaXMuSz0hMTt0aGlzLlk9MDt0aGlzLnR3PS9bXFwiXS9nO3RoaXMuTj10aGlzLmo9MDt0aGlzLk89ISghbnx8IW4uWkgpfTsKbl89ZnVuY3Rpb24obixXLEQpe24uaj0zO24uRD0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5XKyIvIitEKyIuIFdpdGggaW5wdXQ6XG4iK1c7dGhyb3cgRXJyb3Iobi5EKTt9OwpXSz1mdW5jdGlvbigpe3RoaXMuaj10aGlzLlc9bnVsbDt0aGlzLko9dGhpcy5OPTA7dGhpcy5YPVtdO3RoaXMuVj0hMX07CmhDeD1mdW5jdGlvbihuKXt2YXIgVz1uLk4/bi5OLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKTpudWxsO2lmKCFXKXJldHVybiBudWxsO1c9Vy50b0xvd2VyQ2FzZSgpO3JldHVybiBXLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24iKT9XLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiKT9uZXcgV0s6bmV3IGFzOlcuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1wcm90b2J1ZiIpPyhuPW4uTj9uLk4uZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmciKTpudWxsKT9uLnRvTG93ZXJDYXNlKCk9PSJiYXNlNjQiP25ldyBRTjpudWxsOm5ldyBNdDpudWxsfTsKRGk9ZnVuY3Rpb24obixXKXtuLmohPVcmJihuLmo9VyxuLksmJm4uSygpKX07CmJIPWZ1bmN0aW9uKG4pe24uWS5UaSgpO2lmKG4uTil7bGV0IFc9bi5OO24uTj1udWxsO1cuYWJvcnQoKTtXLmRpc3Bvc2UoKX19Owp2Sz1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXtsZXQgYj1uW0RdO1cuZm9yRWFjaChmdW5jdGlvbih2KXt0cnl7dihiKX1jYXRjaChrKXt9fSl9fTsKa3Q9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkpbV107RCYmRC5mb3JFYWNoKGZ1bmN0aW9uKGIpe3RyeXtiKCl9Y2F0Y2godil7fX0pOwooRD1uLk5bV10pJiZELmZvckVhY2goZnVuY3Rpb24oYil7YigpfSk7Cm4uTltXXT1bXX07Cnh4aj1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07Ckx4aT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07CmVDVT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5sMCx2PVcuZ2V0TWV0YWRhdGEoKSxrPWhhKG4sITApO249eHQobix2LGssRCtiLmdldE5hbWUoKSk7RD1MXyhrLGIuVywhMSk7VjFVKEQsdlsiWC1Hb29nLUVuY29kZS1SZXNwb25zZS1JZi1FeGVjdXRhYmxlIl09PT0iYmFzZTY0Iik7Vz1iLk4oVy5mdik7ay5zZW5kKG4sIlBPU1QiLFcpO3JldHVybiBEfTsKZ0t0PWZ1bmN0aW9uKG4sVyxELGIsdixrPXt9KXt2YXIgaD1XLnN1YnN0cmluZygwLFcubGVuZ3RoLXYubmFtZS5sZW5ndGgpLHg9az8uc2lnbmFsO3JldHVybiBMeGkoTD0+bmV3IFByb21pc2UoKGUsRyk9PntpZih4Py5hYm9ydGVkKXtsZXQgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX1lbHNle3ZhciByPXt9LE49ZUNVKG4sTCxoKTtOLnhWKCJlcnJvciIsSD0+dm9pZCBHKEgpKTsKTi54VigibWV0YWRhdGEiLEg9PntyPUh9KTsKTi54VigiZGF0YSIsSD0+e2UoRldaKEgscikpfSk7CngmJnguYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57Ti5jYW5jZWwoKTt2YXIgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX0pfX0pLG4uRk4pLmNhbGwobix2LkooRCxiKSkudGhlbihMPT5MLlB6KX07ClhkPWZ1bmN0aW9uKG4sVz0hMSl7ZVgoMjgsNzIzMSxuKTtpZihuW0lbMjhdXSE9PUlbMTVdKXt2YXIgRD1uW0lbOF1dKCk7RFtJWzM0XV0oSVszMl0sSVs0MF0pO3JldHVybiBEfXZhciBiPW5bSVs3Ml1dKCk7RD1uZXcgZy5VaihiKTt2YXIgdj1uW0lbMzNdXShJWzcwXSksaz1NMygxNiw0MjYyLG5bSVszM11dKElbNzRdKXx8SVsyMV0pW0lbMzZdXShJWzQ3XSk7aWYodiYmayYma1tJWzVdXT4xJiZrWzFdKXJldHVybiBiPUQuTixuPWJbSVs4MV1dKC9eW14uXSovLElbMjFdKSxFaihELGAke2JbSVsxOF1dKElbNDRdKT09PTA/SVs0NF06SVs4MF19JHt2fS0tLSR7a1sxXX0ke259YCksRD1uZXcgZy53WihEW0lbMF1dKCkpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO2lmKFcpcmV0dXJuIEQ9bltJWzhdXSgpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO3Y9RC5OW0lbNl1dKElbNTZdKTtELk5bSVs2XV0oSVsyN10pPyhFaihELElbODJdKSxiPURbSVswXV0oKSk6RC5OW0lbNl1dKElbNTJdKT8KKEVqKEQsSVsxOV0pLGI9RFtJWzBdXSgpKTooRD1lQShiKSxnWChEKSYmKGI9RCkpO0Q9bmV3IGcud1ooYik7RFtJWzM0XV0oSVs3OV0sSVs0MF0pO3YmJkRbSVszNF1dKElbMl0sSVs3MV0pO3JldHVybiBEfTsKWVk9ZnVuY3Rpb24obixXLEQsYix2LGs9e30pe3JldHVybiBnS3QobixXLEQsYix2LGspfTsKaGE9ZnVuY3Rpb24obixXKXtXPW4uTiYmIVc7cmV0dXJuIG4uU258fFc/bmV3IHdwKG5ldyBtRyh7WTY6bi5TbixZQjpXfSkpOm5ldyB3cH07Cnh0PWZ1bmN0aW9uKG4sVyxELGIpe1dbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIjtXWyJYLVVzZXItQWdlbnQiXT0iZ3JwYy13ZWItamF2YXNjcmlwdC8wLjEiO3ZhciB2PVcuQXV0aG9yaXphdGlvbjtpZih2JiZYMnIuaGFzKHYuc3BsaXQoIiAiKVswXSl8fG4ud2l0aENyZWRlbnRpYWxzKUQuTz0hMDtpZihuLllPKW49YixnLkdGKFcpP2I9bjooVz12S2IoVyksdHlwZW9mIG49PT0ic3RyaW5nIj9iPWcudWYobixxaCgiJGh0dHBIZWFkZXJzIiksVyk6KG4uVy5zZXQoIiRodHRwSGVhZGVycyIsVyksYj1uKSk7ZWxzZSBmb3IobGV0IGsgb2YgT2JqZWN0LmtleXMoVykpRC5oZWFkZXJzLnNldChrLFdba10pO3JldHVybiBifTsKTF89ZnVuY3Rpb24obixXLEQpe2lmKEQpe24uaXNBY3RpdmUoKTtEPW5ldyBxQXQobik7dmFyIGI9bmV3IEdoaShEKX1yZXR1cm4gbmV3IHR1MSh7eGhyOm4sTUU6Yn0sVyl9Owpxdz1mdW5jdGlvbigpe3RoaXMuTj1uZXcgJHhoO3RoaXMuSj0iaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20iLnJlcGxhY2UoL1wvKyQvLCIiKX07CmcuR0s9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5yZXBsYWNlKHI0MixmdW5jdGlvbihELGIpe3RyeXtsZXQgdj1nLiR5KFcsYik7aWYodj09bnVsbHx8di50b1N0cmluZygpPT1udWxsKXJldHVybiBEO3Y9di50b1N0cmluZygpO2lmKHY9PSIifHwhZy5GaChnLnJUKHYpKSlyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHYpLnJlcGxhY2UoLyUyQy9nLCIsIil9Y2F0Y2godil7fXJldHVybiBEfSl9OwpzMnc9ZnVuY3Rpb24oKXt2YXIgbj10YTskdC5pbnN0YW5jZXx8KCR0Lmluc3RhbmNlPW5ldyAkdChuKSk7cmV0dXJuICR0Lmluc3RhbmNlfTsKclg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5XP24uVzpuLlc9bmV3IFByb21pc2UoYXN5bmMgRD0+e3ZhciBiPXdpbmRvdy5BYm9ydENvbnRyb2xsZXI/bmV3IHdpbmRvdy5BYm9ydENvbnRyb2xsZXI6dm9pZCAwLHY9Yj8uc2lnbmFsLGs9ITE7dHJ5e2ImJihuLk49bi5BJC5MUygoKT0+e2IuYWJvcnQoKX0sV3x8MkU0KSksYXdhaXQgZmV0Y2goIi9nZW5lcmF0ZV8yMDQiLHttZXRob2Q6IkhFQUQiLApzaWduYWw6dn0pLGs9ITB9Y2F0Y2h7az0hMX1maW5hbGx5e24uVz12b2lkIDAsbi5OJiYobi5BJC5zTyhuLk4pLG4uTj0wKSxrIT09bi5pc09ubGluZSYmKG4uaXNPbmxpbmU9ayxuLmlzT25saW5lP24uZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTpuLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxEKGspfX0pfTsKTldoPWZ1bmN0aW9uKG4pe24uTj09PS0xJiYobi5OPW4uZGF0YS5yZWR1Y2UoKFcsRCxiKT0+VysoRD8yKipiOjApLDApKTsKcmV0dXJuIG4uTn07Cmcuc0k9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4mJlchPT1udWxsJiZXIT1XLnRvcCl7aWYoIVcudG9wKXJldHVybiBuZXcgZy5RZSgtMTIyNDU5MzMsLTEyMjQ1OTMzKTtXPVcudG9wfXRyeXtpZihEKXZhciBiPShuZXcgZy5RZShXLmlubmVyV2lkdGgsVy5pbm5lckhlaWdodCkpLnJvdW5kKCk7ZWxzZXtsZXQgdj0oV3x8d2luZG93KS5kb2N1bWVudCxrPXYuY29tcGF0TW9kZT09IkNTUzFDb21wYXQiP3YuZG9jdW1lbnRFbGVtZW50OnYuYm9keTtiPShuZXcgZy5RZShrLmNsaWVudFdpZHRoLGsuY2xpZW50SGVpZ2h0KSkucm91bmQoKX1yZXR1cm4gYn1jYXRjaCh2KXtyZXR1cm4gbmV3IGcuUWUoLTEyMjQ1OTMzLC0xMjI0NTkzMyl9fTsKZy5Odz1mdW5jdGlvbihuKXtyZXR1cm4gbi5wcmVyZW5kZXJpbmc/Mzp7dmlzaWJsZToxLGhpZGRlbjoyLHByZXJlbmRlcjozLHByZXZpZXc6NCx1bmxvYWRlZDo1LCIiOjB9W24udmlzaWJpbGl0eVN0YXRlfHxuLndlYmtpdFZpc2liaWxpdHlTdGF0ZXx8bi5tb3pWaXNpYmlsaXR5U3RhdGV8fCIiXT8/MH07CmcucF89ZnVuY3Rpb24obixXLEQpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLk49bnVsbDt0aGlzLlg9ITE7dGhpcy5WPW47dGhpcy5qPUQ7dGhpcy5KPVd8fHdpbmRvdzt0aGlzLlc9KDAsZy5LdCkodGhpcy5PdCx0aGlzKX07Cll0PWZ1bmN0aW9uKG4pe249bi5KO3JldHVybiBuLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG51bGx9OwpISz1mdW5jdGlvbihuKXtuPW4uSjtyZXR1cm4gbi5jYW5jZWxBbmltYXRpb25GcmFtZXx8bi5jYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ud2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1vekNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi5vQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1zQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxudWxsfTsKZy5mXz1mdW5jdGlvbihuLFcsRCl7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuTj1uO3RoaXMuZ3Q9V3x8MDt0aGlzLko9RDt0aGlzLlc9KDAsZy5LdCkodGhpcy5pJCx0aGlzKX07CmcuSmE9ZnVuY3Rpb24obixXKXtuLmlzQWN0aXZlKCl8fG4uc3RhcnQoVyl9OwpJRj1mdW5jdGlvbihuKXtuLlo2PWcuWnQoKCk9PntuLlo2PW51bGw7bi5OJiYhbi5KJiYobi5OPSExLElGKG4pKX0sbi5ndCk7CnZhciBXPW4uVztuLlc9bnVsbDtuLlguYXBwbHkobnVsbCxXKX07ClNBPWZ1bmN0aW9uKG4pe3JldHVybiB0eXBlb2Ygbi5jbGFzc05hbWU9PSJzdHJpbmciP24uY2xhc3NOYW1lOm4uZ2V0QXR0cmlidXRlJiZuLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9OwpBYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3Q6U0EobikubWF0Y2goL1xTKy9nKXx8W119OwptYT1mdW5jdGlvbihuLFcpe3R5cGVvZiBuLmNsYXNzTmFtZT09InN0cmluZyI/bi5jbGFzc05hbWU9VzpuLnNldEF0dHJpYnV0ZSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixXKX07CmcuS189ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QuY29udGFpbnMoVyk6Zy5qaihBYShuKSxXKX07CmcuVUk9ZnVuY3Rpb24obixXKXtpZihuLmNsYXNzTGlzdCluLmNsYXNzTGlzdC5hZGQoVyk7ZWxzZSBpZighZy5LXyhuLFcpKXtsZXQgRD1TQShuKTttYShuLEQrKEQubGVuZ3RoPjA/IiAiK1c6VykpfX07CnlLPWZ1bmN0aW9uKG4sVyl7aWYobi5jbGFzc0xpc3QpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChXLGZ1bmN0aW9uKGIpe2cuVUkobixiKX0pOwplbHNle3ZhciBEPXt9O0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoQWEobiksZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpXPSIiO2ZvcihsZXQgYiBpbiBEKVcrPVcubGVuZ3RoPjA/IiAiK2I6YjttYShuLFcpfX07CmcuRUk9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5yZW1vdmUoVyk6Zy5LXyhuLFcpJiZtYShuLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChBYShuKSxmdW5jdGlvbihEKXtyZXR1cm4gRCE9V30pLmpvaW4oIiAiKSl9OwpwMmo9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oRCl7Zy5FSShuLEQpfSk6bWEobixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoQWEobiksZnVuY3Rpb24oRCl7cmV0dXJuIWcuamooVyxEKX0pLmpvaW4oIiAiKSl9OwpnLmlIPWZ1bmN0aW9uKG4sVyxEKXtEP2cuVUkobixXKTpnLkVJKG4sVyl9Owp1SD1mdW5jdGlvbigpe307CllBMT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2Ygb0Z8fG4gaW5zdGFuY2VvZiBkWHx8biBpbnN0YW5jZW9mIHpLKXJldHVybiBuO2lmKHR5cGVvZiBuLm5leHQ9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bik7CmlmKHR5cGVvZiBuW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bltTeW1ib2wuaXRlcmF0b3JdKCkpOwppZih0eXBlb2Ygbi5ncT09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IG9GKCgpPT5uLmdxKCkpOwp0aHJvdyBFcnJvcigiTm90IGFuIGl0ZXJhdG9yIG9yIGl0ZXJhYmxlLiIpO307CmxIPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dGhpcy5OPW47dGhpcy5LPVc7dGhpcy5XPUQ7dGhpcy5qPWI7dGhpcy5YPXY7dGhpcy5WPWs7dGhpcy5KPWg7dGhpcy5ZPXh9OwpUSz1mdW5jdGlvbihuLFcpe2lmKFc9PTApcmV0dXJuIG4uTjtpZihXPT0xKXJldHVybiBuLko7dmFyIEQ9d1Eobi5OLG4uVyxXKSxiPXdRKG4uVyxuLlgsVyk7bj13UShuLlgsbi5KLFcpO0Q9d1EoRCxiLFcpO2I9d1EoYixuLFcpO3JldHVybiB3UShELGIsVyl9OwpIMGk9ZnVuY3Rpb24obixXKXt2YXIgRD0oVy1uLk4pLyhuLkotbi5OKTtpZihEPD0wKXJldHVybiAwO2lmKEQ+PTEpcmV0dXJuIDE7dmFyIGI9MCx2PTEsaz0wO2Zvcih2YXIgaD0wO2g8ODtoKyspe2s9VEsobixEKTtsZXQgeD0oVEsobixEKzFFLTYpLWspLzFFLTY7aWYoTWF0aC5hYnMoay1XKTwxRS02KXJldHVybiBEO2lmKE1hdGguYWJzKHgpPDFFLTYpYnJlYWs7ZWxzZSBrPFc/Yj1EOnY9RCxELT0oay1XKS94fWZvcihoPTA7TWF0aC5hYnMoay1XKT4xRS02JiZoPDg7aCsrKWs8Vz8oYj1ELEQ9KEQrdikvMik6KHY9RCxEPShEK2IpLzIpLGs9VEsobixEKTtyZXR1cm4gRH07CmpBPWZ1bmN0aW9uKG4pe3JldHVybihuPW4uZXhlYyhnLlhRKCkpKT9uWzFdOiIifTsKQ189ZnVuY3Rpb24obil7cmV0dXJuIGcuY1ooZlgyLG4pPj0wfTsKQks9ZnVuY3Rpb24obil7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuVj0xO3RoaXMuVz1bXTt0aGlzLlg9MDt0aGlzLk49W107dGhpcy5KPXt9O3RoaXMuSz0hIW59OwpKNHI9ZnVuY3Rpb24obixXLEQpe2cubUsoZnVuY3Rpb24oKXtuLmFwcGx5KFcsRCl9KX07CmcuRmQ9ZnVuY3Rpb24obil7dGhpcy5OPW59Owp3WD1mdW5jdGlvbihuKXt0aGlzLk49bn07Ck13PWZ1bmN0aW9uKG4pe3RoaXMuZGF0YT1ufTsKUkY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT12b2lkIDB8fG4gaW5zdGFuY2VvZiBNdz9uOm5ldyBNdyhuKX07ClFLPWZ1bmN0aW9uKG4pe3RoaXMuTj1ufTsKVks9ZnVuY3Rpb24obil7dGhpcy5OPW59OwpJWDE9ZnVuY3Rpb24oKXt9OwpjSz1mdW5jdGlvbigpe307CmFGPWZ1bmN0aW9uKG4pe3RoaXMuTj1uO3RoaXMuSj1udWxsfTsKbmU9ZnVuY3Rpb24obil7aWYobi5OPT1udWxsKXRocm93IEVycm9yKCJTdG9yYWdlIG1lY2hhbmlzbTogU3RvcmFnZSB1bmF2YWlsYWJsZSIpO24uaXNBdmFpbGFibGUoKXx8aDQoRXJyb3IoIlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIHVuYXZhaWxhYmxlIikpfTsKV1M9ZnVuY3Rpb24oKXt2YXIgbj1udWxsO3RyeXtuPWcucWkubG9jYWxTdG9yYWdlfHxudWxsfWNhdGNoKFcpe31hRi5jYWxsKHRoaXMsbil9OwpEUT1mdW5jdGlvbigpe3ZhciBuPW51bGw7dHJ5e249Zy5xaS5zZXNzaW9uU3RvcmFnZXx8bnVsbH1jYXRjaChXKXt9YUYuY2FsbCh0aGlzLG4pfTsKYkM9ZnVuY3Rpb24obixXKXt0aGlzLko9bjt0aGlzLk49VysiOjoifTsKZy52Uz1mdW5jdGlvbihuKXt2YXIgVz1uZXcgV1M7cmV0dXJuIFcuaXNBdmFpbGFibGUoKT9uP25ldyBiQyhXLG4pOlc6bnVsbH07CmtqPWZ1bmN0aW9uKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9Owp4aj1mdW5jdGlvbihuKXt2YXIgVyxELGI9bi5sZW5ndGgsdj0wO2ZvcihXPTA7VzxiO1crKyl7dmFyIGs9bi5jaGFyQ29kZUF0KFcpO2lmKChrJjY0NTEyKT09PTU1Mjk2JiZXKzE8Yil7dmFyIGg9bi5jaGFyQ29kZUF0KFcrMSk7KGgmNjQ1MTIpPT09NTYzMjAmJihrPTY1NTM2KyhrLTU1Mjk2PDwxMCkrKGgtNTYzMjApLFcrKyl9dis9azwxMjg/MTprPDIwNDg/MjprPDY1NTM2PzM6NH12YXIgeD1uZXcgaGsuT20odik7Zm9yKFc9RD0wO0Q8djtXKyspaz1uLmNoYXJDb2RlQXQoVyksKGsmNjQ1MTIpPT09NTUyOTYmJlcrMTxiJiYoaD1uLmNoYXJDb2RlQXQoVysxKSwoaCY2NDUxMik9PT01NjMyMCYmKGs9NjU1MzYrKGstNTUyOTY8PDEwKSsoaC01NjMyMCksVysrKSksazwxMjg/eFtEKytdPWs6KGs8MjA0OD94W0QrK109MTkyfGs+Pj42OihrPDY1NTM2P3hbRCsrXT0yMjR8az4+PjEyOih4W0QrK109MjQwfGs+Pj4xOCx4W0QrK109MTI4fGs+Pj4xMiY2MykseFtEKytdPTEyOHxrPj4+CjYmNjMpLHhbRCsrXT0xMjh8ayY2Myk7cmV0dXJuIHh9OwpMZT1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5sZW5ndGg7LS1XPj0wOyluW1ddPTB9Owpldj1mdW5jdGlvbihuLFcsRCxiLHYpe3RoaXMua089bjt0aGlzLmJFPVc7dGhpcy50cD1EO3RoaXMuYXo9Yjt0aGlzLnVIPXY7dGhpcy5aZD1uJiZuLmxlbmd0aH07CnZhciBTQTE9ZnVuY3Rpb24obil7cmV0dXJuIGc3W0lbMTBdXSh0aGlzLDI1LDYzMjIsbil9Owp0az1mdW5jdGlvbihuLFcpe3RoaXMuTTA9bjt0aGlzLnJPPTA7dGhpcy5BWj1XfTsKcjc9ZnVuY3Rpb24obixXKXtuLkZCW24ucGVuZGluZysrXT1XJjI1NTtuLkZCW24ucGVuZGluZysrXT1XPj4+OCYyNTV9OwpzJD1mdW5jdGlvbihuLFcsRCl7bi5ZSD4xNi1EPyhuLlJKfD1XPDxuLllIJjY1NTM1LHI3KG4sbi5SSiksbi5SSj1XPj4xNi1uLllILG4uWUgrPUQtMTYpOihuLlJKfD1XPDxuLllIJjY1NTM1LG4uWUgrPUQpfTsKTjY9ZnVuY3Rpb24obixXLEQpe3MkKG4sRFtXKjJdLERbVyoyKzFdKX07CnBlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtkbyBEfD1uJjEsbj4+Pj0xLEQ8PD0xO3doaWxlKC0tVz4wKTtyZXR1cm4gRD4+PjF9OwpZaj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9QXJyYXkoMTYpLHY9MCxrO2ZvcihrPTE7azw9MTU7aysrKWJba109dj12K0Rbay0xXTw8MTtmb3IoRD0wO0Q8PVc7RCsrKXY9bltEKjIrMV0sdiE9PTAmJihuW0QqMl09cGUoYlt2XSsrLHYpKX07CkhTPWZ1bmN0aW9uKG4pe3ZhciBXO2ZvcihXPTA7VzwyODY7VysrKW4ua0dbVyoyXT0wO2ZvcihXPTA7VzwzMDtXKyspbi5sZltXKjJdPTA7Zm9yKFc9MDtXPDE5O1crKyluLndoW1cqMl09MDtuLmtHWzUxMl09MTtuLlhSPW4uVHY9MDtuLndYPW4ubWF0Y2hlcz0wfTsKZmU9ZnVuY3Rpb24obil7bi5ZSD44P3I3KG4sbi5SSik6bi5ZSD4wJiYobi5GQltuLnBlbmRpbmcrK109bi5SSik7bi5SSj0wO24uWUg9MH07CkprPWZ1bmN0aW9uKG4sVyxEKXtmZShuKTtyNyhuLEQpO3I3KG4sfkQpO2hrLlA3KG4uRkIsbi53aW5kb3csVyxELG4ucGVuZGluZyk7bi5wZW5kaW5nKz1EfTsKSVM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9VyoyLGs9RCoyO3JldHVybiBuW3ZdPG5ba118fG5bdl09PT1uW2tdJiZiW1ddPD1iW0RdfTsKU3Y9ZnVuY3Rpb24obixXLEQpe2Zvcih2YXIgYj1uLmhlYXBbRF0sdj1EPDwxO3Y8PW4uVW47KXt2PG4uVW4mJklTKFcsbi5oZWFwW3YrMV0sbi5oZWFwW3ZdLG4uZGVwdGgpJiZ2Kys7aWYoSVMoVyxiLG4uaGVhcFt2XSxuLmRlcHRoKSlicmVhaztuLmhlYXBbRF09bi5oZWFwW3ZdO0Q9djt2PDw9MX1uLmhlYXBbRF09Yn07ClUkPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0wO2lmKG4ud1ghPT0wKXtkb3t2YXIgdj1uLkZCW24uQTgrYioyXTw8OHxuLkZCW24uQTgrYioyKzFdO3ZhciBrPW4uRkJbbi50YStiXTtiKys7aWYodj09PTApTjYobixrLFcpO2Vsc2V7dmFyIGg9QWtba107TjYobixoKzI1NisxLFcpO3ZhciB4PW0kW2hdO3ghPT0wJiYoay09S2VbaF0scyQobixrLHgpKTt2LS07aD12PDI1Nj9PJFt2XTpPJFsyNTYrKHY+Pj43KV07TjYobixoLEQpO3g9UFNbaF07eCE9PTAmJih2LT1aUVtoXSxzJChuLHYseCkpfX13aGlsZShiPG4ud1gpfU42KG4sMjU2LFcpfTsKRSQ9ZnVuY3Rpb24obixXKXt2YXIgRD1XLk0wLGI9Vy5BWi5rTyx2PVcuQVouWmQsaz1XLkFaLmF6LGgseD0tMTtuLlVuPTA7bi5PND01NzM7Zm9yKGg9MDtoPGs7aCsrKURbaCoyXSE9PTA/KG4uaGVhcFsrK24uVW5dPXg9aCxuLmRlcHRoW2hdPTApOkRbaCoyKzFdPTA7Zm9yKDtuLlVuPDI7KXt2YXIgTD1uLmhlYXBbKytuLlVuXT14PDI/Kyt4OjA7RFtMKjJdPTE7bi5kZXB0aFtMXT0wO24uWFItLTt2JiYobi5Udi09YltMKjIrMV0pfVcuck89eDtmb3IoaD1uLlVuPj4xO2g+PTE7aC0tKVN2KG4sRCxoKTtMPWs7ZG8gaD1uLmhlYXBbMV0sbi5oZWFwWzFdPW4uaGVhcFtuLlVuLS1dLFN2KG4sRCwxKSxiPW4uaGVhcFsxXSxuLmhlYXBbLS1uLk80XT1oLG4uaGVhcFstLW4uTzRdPWIsRFtMKjJdPURbaCoyXStEW2IqMl0sbi5kZXB0aFtMXT0obi5kZXB0aFtoXT49bi5kZXB0aFtiXT9uLmRlcHRoW2hdOm4uZGVwdGhbYl0pKzEsRFtoKjIrMV09RFtiKjIrMV09TCxuLmhlYXBbMV09TCsrLApTdihuLEQsMSk7d2hpbGUobi5Vbj49Mik7bi5oZWFwWy0tbi5PNF09bi5oZWFwWzFdO2g9Vy5NMDtMPVcuck87Yj1XLkFaLmtPO3Y9Vy5BWi5aZDtrPVcuQVouYkU7dmFyIGU9Vy5BWi50cCxHPVcuQVoudUgscixOPTA7Zm9yKHI9MDtyPD0xNTtyKyspbi5WbltyXT0wO2hbbi5oZWFwW24uTzRdKjIrMV09MDtmb3IoVz1uLk80KzE7Vzw1NzM7VysrKXt2YXIgSD1uLmhlYXBbV107cj1oW2hbSCoyKzFdKjIrMV0rMTtyPkcmJihyPUcsTisrKTtoW0gqMisxXT1yO2lmKCEoSD5MKSl7bi5WbltyXSsrO3ZhciBBPTA7SD49ZSYmKEE9a1tILWVdKTt2YXIgeT1oW0gqMl07bi5YUis9eSoocitBKTt2JiYobi5Udis9eSooYltIKjIrMV0rQSkpfX1pZihOIT09MCl7ZG97Zm9yKHI9Ry0xO24uVm5bcl09PT0wOylyLS07bi5WbltyXS0tO24uVm5bcisxXSs9MjtuLlZuW0ddLS07Ti09Mn13aGlsZShOPjApO2ZvcihyPUc7ciE9PTA7ci0tKWZvcihIPW4uVm5bcl07SCE9PTA7KWI9bi5oZWFwWy0tV10sCmI+THx8KGhbYioyKzFdIT09ciYmKG4uWFIrPShyLWhbYioyKzFdKSpoW2IqMl0saFtiKjIrMV09ciksSC0tKX1ZaihELHgsbi5Wbil9OwppQz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO1dbKEQrMSkqMisxXT02NTUzNTtmb3IoYj0wO2I8PUQ7YisrKXt2YXIgZT1rO2s9V1soYisxKSoyKzFdOysraDx4JiZlPT09a3x8KGg8TD9uLndoW2UqMl0rPWg6ZSE9PTA/KGUhPT12JiZuLndoW2UqMl0rKyxuLndoWzMyXSsrKTpoPD0xMD9uLndoWzM0XSsrOm4ud2hbMzZdKyssaD0wLHY9ZSxrPT09MD8oeD0xMzgsTD0zKTplPT09az8oeD02LEw9Myk6KHg9NyxMPTQpKX19Owp1Qz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO2ZvcihiPTA7Yjw9RDtiKyspe3ZhciBlPWs7az1XWyhiKzEpKjIrMV07aWYoISgrK2g8eCYmZT09PWspKXtpZihoPEwpe2RvIE42KG4sZSxuLndoKTt3aGlsZSgtLWghPT0wKX1lbHNlIGUhPT0wPyhlIT09diYmKE42KG4sZSxuLndoKSxoLS0pLE42KG4sMTYsbi53aCkscyQobixoLTMsMikpOmg8PTEwPyhONihuLDE3LG4ud2gpLHMkKG4saC0zLDMpKTooTjYobiwxOCxuLndoKSxzJChuLGgtMTEsNykpO2g9MDt2PWU7az09PTA/KHg9MTM4LEw9Myk6ZT09PWs/KHg9NixMPTMpOih4PTcsTD00KX19fTsKQTR4PWZ1bmN0aW9uKG4pe3ZhciBXPTQwOTM2MjQ0NDcsRDtmb3IoRD0wO0Q8PTMxO0QrKyxXPj4+PTEpaWYoVyYxJiZuLmtHW0QqMl0hPT0wKXJldHVybiAwO2lmKG4ua0dbMThdIT09MHx8bi5rR1syMF0hPT0wfHxuLmtHWzI2XSE9PTApcmV0dXJuIDE7Zm9yKEQ9MzI7RDwyNTY7RCsrKWlmKG4ua0dbRCoyXSE9PTApcmV0dXJuIDE7cmV0dXJuIDB9OwpvUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47aWYoIShuKzQmNykpe0Q9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO3ZhciBrPWJbMF07YlswXT1iW0RdO2JbRF09azt2YXIgaD1bRF19KG4rOSY1KT09MSYmYltJWzNdXShiW0lbNV1dLDAsRCk7cmV0dXJuIGh9OwpkNz1mdW5jdGlvbihuLFcsRCl7bi5GQltuLkE4K24ud1gqMl09Vz4+PjgmMjU1O24uRkJbbi5BOCtuLndYKjIrMV09VyYyNTU7bi5GQltuLnRhK24ud1hdPUQmMjU1O24ud1grKztXPT09MD9uLmtHW0QqMl0rKzoobi5tYXRjaGVzKyssVy0tLG4ua0dbKEFrW0RdKzI1NisxKSoyXSsrLG4ubGZbKFc8MjU2P08kW1ddOk8kWzI1NisoVz4+PjcpXSkqMl0rKyk7cmV0dXJuIG4ud1g9PT1uLktYLTF9OwpsQz1mdW5jdGlvbihuLFcpe24ubXNnPXpCW1ddO3JldHVybiBXfTsKVEI9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW4ubGVuZ3RoOy0tVz49MDspbltXXT0wfTsKanY9ZnVuY3Rpb24obil7dmFyIFc9bi5zdGF0ZSxEPVcucGVuZGluZztEPm4udVImJihEPW4udVIpO0QhPT0wJiYoaGsuUDcobi5vdXRwdXQsVy5GQixXLmhSLEQsbi51Zyksbi51Zys9RCxXLmhSKz1ELG4udEIrPUQsbi51Ui09RCxXLnBlbmRpbmctPUQsVy5wZW5kaW5nPT09MCYmKFcuaFI9MCkpfTsKdzc9ZnVuY3Rpb24obixXKXt2YXIgRD1uLk9LPj0wP24uT0s6LTEsYj1uLnFzLW4uT0ssdj0wO2lmKG4ubGV2ZWw+MCl7bi5UUi5xUz09PTImJihuLlRSLnFTPUE0eChuKSk7RSQobixuLlFmKTtFJChuLG4uYVMpO2lDKG4sbi5rRyxuLlFmLnJPKTtpQyhuLG4ubGYsbi5hUy5yTyk7RSQobixuLm1NKTtmb3Iodj0xODt2Pj0zJiZuLndoW0NlW3ZdKjIrMV09PT0wO3YtLSk7bi5YUis9MyoodisxKSs1KzUrNDt2YXIgaz1uLlhSKzMrNz4+PjM7dmFyIGg9bi5UdiszKzc+Pj4zO2g8PWsmJihrPWgpfWVsc2Ugaz1oPWIrNTtpZihiKzQ8PWsmJkQhPT0tMSlzJChuLFc/MTowLDMpLEprKG4sRCxiKTtlbHNlIGlmKG4uc3RyYXRlZ3k9PT00fHxoPT09aylzJChuLDIrKFc/MTowKSwzKSxVJChuLEJTLEY5KTtlbHNle3MkKG4sNCsoVz8xOjApLDMpO0Q9bi5RZi5yTysxO2I9bi5hUy5yTysxO3YrPTE7cyQobixELTI1Nyw1KTtzJChuLGItMSw1KTtzJChuLHYtNCw0KTtmb3Ioaz0wO2s8djtrKyspcyQobiwKbi53aFtDZVtrXSoyKzFdLDMpO3VDKG4sbi5rRyxELTEpO3VDKG4sbi5sZixiLTEpO1UkKG4sbi5rRyxuLmxmKX1IUyhuKTtXJiZmZShuKTtuLk9LPW4ucXM7anYobi5UUil9OwpNNj1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVd9OwpSUz1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVc+Pj44JjI1NTtuLkZCW24ucGVuZGluZysrXT1XJjI1NX07ClF0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5lYixiPW4ucXMsdj1uLlRhLGs9bi5PUixoPW4ucXM+bi54ci0yNjI/bi5xcy0obi54ci0yNjIpOjAseD1uLndpbmRvdyxMPW4ueWUsZT1uLlJULEc9bi5xcysyNTgscj14W2Irdi0xXSxOPXhbYit2XTtuLlRhPj1uLnIkJiYoRD4+PTIpO2s+bi5HVyYmKGs9bi5HVyk7ZG97dmFyIEg9VztpZih4W0grdl09PT1OJiZ4W0grdi0xXT09PXImJnhbSF09PT14W2JdJiZ4WysrSF09PT14W2IrMV0pe2IrPTI7Zm9yKEgrKzt4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmYjxHOyk7SD0yNTgtKEctYik7Yj1HLTI1ODtpZihIPnYpe24uUVo9Vzt2PUg7aWYoSD49aylicmVhaztyPXhbYit2LTFdO049eFtiK3ZdfX19d2hpbGUoKFc9ZVtXJkxdKT5oJiYtLUQhPT0KMCk7cmV0dXJuIHY8PW4uR1c/djpuLkdXfTsKYVM9ZnVuY3Rpb24obil7dmFyIFc9bi54cixEO2Rve3ZhciBiPW4uYlgtbi5HVy1uLnFzO2lmKG4ucXM+PVcrKFctMjYyKSl7aGsuUDcobi53aW5kb3csbi53aW5kb3csVyxXLDApO24uUVotPVc7bi5xcy09VztuLk9LLT1XO3ZhciB2PUQ9bi5BeTtkb3t2YXIgaz1uLmhlYWRbLS12XTtuLmhlYWRbdl09az49Vz9rLVc6MH13aGlsZSgtLUQpO3Y9RD1XO2RvIGs9bi5SVFstLXZdLG4uUlRbdl09az49Vz9rLVc6MDt3aGlsZSgtLUQpO2IrPVd9aWYobi5UUi5CQT09PTApYnJlYWs7dj1uLlRSO0Q9bi53aW5kb3c7az1uLnFzK24uR1c7dmFyIGg9di5CQTtoPmImJihoPWIpO2g9PT0wP0Q9MDoodi5CQS09aCxoay5QNyhELHYuaW5wdXQsdi5VWixoLGspLHYuc3RhdGUud3JhcD09PTE/di5nST1WdCh2LmdJLEQsaCxrKTp2LnN0YXRlLndyYXA9PT0yJiYodi5nST1jUyh2LmdJLEQsaCxrKSksdi5VWis9aCx2LkVtKz1oLEQ9aCk7bi5HVys9RDtpZihuLkdXK24ucXA+PTMpZm9yKGI9bi5xcy1uLnFwLApuLnBBPW4ud2luZG93W2JdLG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYisxXSkmbi5sQjtuLnFwJiYhKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYiszLTFdKSZuLmxCLG4uUlRbYiZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPWIsYisrLG4ucXAtLSxuLkdXK24ucXA8Myk7KTt9d2hpbGUobi5HVzwyNjImJm4uVFIuQkEhPT0wKX07Cm53PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO0QhPT0wJiZuLnFzLUQ8PW4ueHItMjYyJiYobi5mQT1RdChuLEQpKTtpZihuLmZBPj0zKWlmKEQ9ZDcobixuLnFzLW4uUVosbi5mQS0zKSxuLkdXLT1uLmZBLG4uZkE8PW4uUmImJm4uR1c+PTMpe24uZkEtLTtkbyBuLnFzKyssbi5wQT0obi5wQTw8bi5IY15uLndpbmRvd1tuLnFzKzMtMV0pJm4ubEIsbi5SVFtuLnFzJm4ueWVdPW4uaGVhZFtuLnBBXSxuLmhlYWRbbi5wQV09bi5xczt3aGlsZSgtLW4uZkEhPT0wKTtuLnFzKyt9ZWxzZSBuLnFzKz1uLmZBLG4uZkE9MCxuLnBBPW4ud2luZG93W24ucXNdLG4ucEE9KG4ucEE8PG4uSGNeCm4ud2luZG93W24ucXMrMV0pJm4ubEI7ZWxzZSBEPWQ3KG4sMCxuLndpbmRvd1tuLnFzXSksbi5HVy0tLG4ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9bi5xczwyP24ucXM6MjtyZXR1cm4gVz09PTQ/KHc3KG4sITApLG4uVFIudVI9PT0wPzM6NCk6bi53WCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKT8xOjJ9OwpXVj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRCxiOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO24uVGE9bi5mQTtuLkx2PW4uUVo7bi5mQT0yO0QhPT0wJiZuLlRhPG4uUmImJm4ucXMtRDw9bi54ci0yNjImJihuLmZBPVF0KG4sRCksbi5mQTw9NSYmKG4uc3RyYXRlZ3k9PT0xfHxuLmZBPT09MyYmbi5xcy1uLlFaPjQwOTYpJiYobi5mQT0yKSk7aWYobi5UYT49MyYmbi5mQTw9bi5UYSl7Yj1uLnFzK24uR1ctMztEPWQ3KG4sbi5xcy0xLW4uTHYsbi5UYS0zKTtuLkdXLT1uLlRhLTE7bi5UYS09Mjtkbysrbi5xczw9YiYmKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbbi5xcyszLTFdKSZuLmxCLG4uUlRbbi5xcyZuLnllXT0Kbi5oZWFkW24ucEFdLG4uaGVhZFtuLnBBXT1uLnFzKTt3aGlsZSgtLW4uVGEhPT0wKTtuLlJGPTA7bi5mQT0yO24ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfWVsc2UgaWYobi5SRil7aWYoKEQ9ZDcobiwwLG4ud2luZG93W24ucXMtMV0pKSYmdzcobiwhMSksbi5xcysrLG4uR1ctLSxuLlRSLnVSPT09MClyZXR1cm4gMX1lbHNlIG4uUkY9MSxuLnFzKyssbi5HVy0tfW4uUkYmJihkNyhuLDAsbi53aW5kb3dbbi5xcy0xXSksbi5SRj0wKTtuLnFwPW4ucXM8Mj9uLnFzOjI7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKbXhqPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBELGIsdixrPW4ud2luZG93Ozspe2lmKG4uR1c8PTI1OCl7YVMobik7aWYobi5HVzw9MjU4JiZXPT09MClyZXR1cm4gMTtpZihuLkdXPT09MClicmVha31uLmZBPTA7aWYobi5HVz49MyYmbi5xcz4wJiYoYj1uLnFzLTEsRD1rW2JdLEQ9PT1rWysrYl0mJkQ9PT1rWysrYl0mJkQ9PT1rWysrYl0pKXtmb3Iodj1uLnFzKzI1ODtEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZiPHY7KTtuLmZBPTI1OC0odi1iKTtuLmZBPm4uR1cmJihuLmZBPW4uR1cpfW4uZkE+PTM/KEQ9ZDcobiwxLG4uZkEtMyksbi5HVy09bi5mQSxuLnFzKz1uLmZBLG4uZkE9MCk6KEQ9ZDcobiwwLG4ud2luZG93W24ucXNdKSxuLkdXLS0sbi5xcysrKTtpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9MDtyZXR1cm4gVz09PQo0Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKS3hVPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c9PT0wJiYoYVMobiksbi5HVz09PTApKXtpZihXPT09MClyZXR1cm4gMTticmVha31uLmZBPTA7RD1kNyhuLDAsbi53aW5kb3dbbi5xc10pO24uR1ctLTtuLnFzKys7aWYoRCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKREU9ZnVuY3Rpb24obixXLEQsYix2KXt0aGlzLm5rPW47dGhpcy5ZOD1XO3RoaXMuRWs9RDt0aGlzLlNSPWI7dGhpcy5mdW5jPXZ9OwpPMGk9ZnVuY3Rpb24oKXt0aGlzLlRSPW51bGw7dGhpcy5zdGF0dXM9MDt0aGlzLkZCPW51bGw7dGhpcy53cmFwPXRoaXMucGVuZGluZz10aGlzLmhSPXRoaXMueXY9MDt0aGlzLkZRPW51bGw7dGhpcy5HST0wO3RoaXMubWV0aG9kPTg7dGhpcy5obz0tMTt0aGlzLnllPXRoaXMuclo9dGhpcy54cj0wO3RoaXMud2luZG93PW51bGw7dGhpcy5iWD0wO3RoaXMuaGVhZD10aGlzLlJUPW51bGw7dGhpcy5PUj10aGlzLnIkPXRoaXMuc3RyYXRlZ3k9dGhpcy5sZXZlbD10aGlzLlJiPXRoaXMuZWI9dGhpcy5UYT10aGlzLkdXPXRoaXMuUVo9dGhpcy5xcz10aGlzLlJGPXRoaXMuTHY9dGhpcy5mQT10aGlzLk9LPXRoaXMuSGM9dGhpcy5sQj10aGlzLll2PXRoaXMuQXk9dGhpcy5wQT0wO3RoaXMua0c9bmV3IGhrLm1LKDExNDYpO3RoaXMubGY9bmV3IGhrLm1LKDEyMik7dGhpcy53aD1uZXcgaGsubUsoNzgpO1RCKHRoaXMua0cpO1RCKHRoaXMubGYpO1RCKHRoaXMud2gpO3RoaXMubU09dGhpcy5hUz0KdGhpcy5RZj1udWxsO3RoaXMuVm49bmV3IGhrLm1LKDE2KTt0aGlzLmhlYXA9bmV3IGhrLm1LKDU3Myk7VEIodGhpcy5oZWFwKTt0aGlzLk80PXRoaXMuVW49MDt0aGlzLmRlcHRoPW5ldyBoay5tSyg1NzMpO1RCKHRoaXMuZGVwdGgpO3RoaXMuWUg9dGhpcy5SSj10aGlzLnFwPXRoaXMubWF0Y2hlcz10aGlzLlR2PXRoaXMuWFI9dGhpcy5BOD10aGlzLndYPXRoaXMuS1g9dGhpcy50YT0wfTsKUHAxPWZ1bmN0aW9uKG4sVyl7aWYoIW58fCFuLnN0YXRlfHxXPjV8fFc8MClyZXR1cm4gbj9sQyhuLC0yKTotMjt2YXIgRD1uLnN0YXRlO2lmKCFuLm91dHB1dHx8IW4uaW5wdXQmJm4uQkEhPT0wfHxELnN0YXR1cz09PTY2NiYmVyE9PTQpcmV0dXJuIGxDKG4sbi51Uj09PTA/LTU6LTIpO0QuVFI9bjt2YXIgYj1ELmhvO0QuaG89VztpZihELnN0YXR1cz09PTQyKWlmKEQud3JhcD09PTIpbi5nST0wLE02KEQsMzEpLE02KEQsMTM5KSxNNihELDgpLEQuRlE/KE02KEQsKEQuRlEudGV4dD8xOjApKyhELkZRLnZMPzI6MCkrKEQuRlEuZXh0cmE/NDowKSsoRC5GUS5uYW1lPzg6MCkrKEQuRlEuY29tbWVudD8xNjowKSksTTYoRCxELkZRLnRpbWUmMjU1KSxNNihELEQuRlEudGltZT4+OCYyNTUpLE02KEQsRC5GUS50aW1lPj4xNiYyNTUpLE02KEQsRC5GUS50aW1lPj4yNCYyNTUpLE02KEQsRC5sZXZlbD09PTk/MjpELnN0cmF0ZWd5Pj0yfHxELmxldmVsPDI/NDowKSxNNihELEQuRlEub3MmCjI1NSksRC5GUS5leHRyYSYmRC5GUS5leHRyYS5sZW5ndGgmJihNNihELEQuRlEuZXh0cmEubGVuZ3RoJjI1NSksTTYoRCxELkZRLmV4dHJhLmxlbmd0aD4+OCYyNTUpKSxELkZRLnZMJiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLDApKSxELkdJPTAsRC5zdGF0dXM9NjkpOihNNihELDApLE02KEQsMCksTTYoRCwwKSxNNihELDApLE02KEQsMCksTTYoRCxELmxldmVsPT09OT8yOkQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj80OjApLE02KEQsMyksRC5zdGF0dXM9MTEzKTtlbHNle3ZhciB2PTgrKEQuclotODw8NCk8PDg7dnw9KEQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj8wOkQubGV2ZWw8Nj8xOkQubGV2ZWw9PT02PzI6Myk8PDY7RC5xcyE9PTAmJih2fD0zMik7RC5zdGF0dXM9MTEzO1JTKEQsdisoMzEtdiUzMSkpO0QucXMhPT0wJiYoUlMoRCxuLmdJPj4+MTYpLFJTKEQsbi5nSSY2NTUzNSkpO24uZ0k9MX1pZihELnN0YXR1cz09PTY5KWlmKEQuRlEuZXh0cmEpe2Zvcih2PQpELnBlbmRpbmc7RC5HSTwoRC5GUS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoRC5wZW5kaW5nIT09RC55dnx8KEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZyE9PUQueXYpKTspTTYoRCxELkZRLmV4dHJhW0QuR0ldJjI1NSksRC5HSSsrO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO0QuR0k9PT1ELkZRLmV4dHJhLmxlbmd0aCYmKEQuR0k9MCxELnN0YXR1cz03Myl9ZWxzZSBELnN0YXR1cz03MztpZihELnN0YXR1cz09PTczKWlmKEQuRlEubmFtZSl7dj1ELnBlbmRpbmc7ZG97aWYoRC5wZW5kaW5nPT09RC55diYmKEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZz09PUQueXYpKXt2YXIgaz0xO2JyZWFrfWs9RC5HSTxELkZRLm5hbWUubGVuZ3RoPwpELkZRLm5hbWUuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5HST0wLEQuc3RhdHVzPTkxKX1lbHNlIEQuc3RhdHVzPTkxO2lmKEQuc3RhdHVzPT09OTEpaWYoRC5GUS5jb21tZW50KXt2PUQucGVuZGluZztkb3tpZihELnBlbmRpbmc9PT1ELnl2JiYoRC5GUS52TCYmRC5wZW5kaW5nPnYmJihuLmdJPWNTKG4uZ0ksRC5GQixELnBlbmRpbmctdix2KSksanYobiksdj1ELnBlbmRpbmcsRC5wZW5kaW5nPT09RC55dikpe2s9MTticmVha31rPUQuR0k8RC5GUS5jb21tZW50Lmxlbmd0aD9ELkZRLmNvbW1lbnQuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5zdGF0dXM9MTAzKX1lbHNlIEQuc3RhdHVzPQoxMDM7RC5zdGF0dXM9PT0xMDMmJihELkZRLnZMPyhELnBlbmRpbmcrMj5ELnl2JiZqdihuKSxELnBlbmRpbmcrMjw9RC55diYmKE02KEQsbi5nSSYyNTUpLE02KEQsbi5nST4+OCYyNTUpLG4uZ0k9MCxELnN0YXR1cz0xMTMpKTpELnN0YXR1cz0xMTMpO2lmKEQucGVuZGluZyE9PTApe2lmKGp2KG4pLG4udVI9PT0wKXJldHVybiBELmhvPS0xLDB9ZWxzZSBpZihuLkJBPT09MCYmKFc8PDEpLShXPjQ/OTowKTw9KGI8PDEpLShiPjQ/OTowKSYmVyE9PTQpcmV0dXJuIGxDKG4sLTUpO2lmKEQuc3RhdHVzPT09NjY2JiZuLkJBIT09MClyZXR1cm4gbEMobiwtNSk7aWYobi5CQSE9PTB8fEQuR1chPT0wfHxXIT09MCYmRC5zdGF0dXMhPT02NjYpe2I9RC5zdHJhdGVneT09PTI/S3hVKEQsVyk6RC5zdHJhdGVneT09PTM/bXhqKEQsVyk6YndbRC5sZXZlbF0uZnVuYyhELFcpO2lmKGI9PT0zfHxiPT09NClELnN0YXR1cz02NjY7aWYoYj09PTF8fGI9PT0zKXJldHVybiBuLnVSPT09MCYmKEQuaG89Ci0xKSwwO2lmKGI9PT0yJiYoVz09PTE/KHMkKEQsMiwzKSxONihELDI1NixCUyksRC5ZSD09PTE2PyhyNyhELEQuUkopLEQuUko9MCxELllIPTApOkQuWUg+PTgmJihELkZCW0QucGVuZGluZysrXT1ELlJKJjI1NSxELlJKPj49OCxELllILT04KSk6VyE9PTUmJihzJChELDAsMyksSmsoRCwwLDApLFc9PT0zJiYoVEIoRC5oZWFkKSxELkdXPT09MCYmKEQucXM9MCxELk9LPTAsRC5xcD0wKSkpLGp2KG4pLG4udVI9PT0wKSlyZXR1cm4gRC5obz0tMSwwfWlmKFchPT00KXJldHVybiAwO2lmKEQud3JhcDw9MClyZXR1cm4gMTtELndyYXA9PT0yPyhNNihELG4uZ0kmMjU1KSxNNihELG4uZ0k+PjgmMjU1KSxNNihELG4uZ0k+PjE2JjI1NSksTTYoRCxuLmdJPj4yNCYyNTUpLE02KEQsbi5FbSYyNTUpLE02KEQsbi5FbT4+OCYyNTUpLE02KEQsbi5FbT4+MTYmMjU1KSxNNihELG4uRW0+PjI0JjI1NSkpOihSUyhELG4uZ0k+Pj4xNiksUlMoRCxuLmdJJjY1NTM1KSk7anYobik7RC53cmFwPjAmJgooRC53cmFwPS1ELndyYXApO3JldHVybiBELnBlbmRpbmchPT0wPzA6MX07CnZWPWZ1bmN0aW9uKG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIHZWKSlyZXR1cm4gbmV3IHZWKG4pO249dGhpcy5vcHRpb25zPWhrLmFzc2lnbih7bGV2ZWw6LTEsbWV0aG9kOjgsY2h1bmtTaXplOjE2Mzg0LHRnOjE1LEJrOjgsc3RyYXRlZ3k6MCx0bzoiIn0sbnx8e30pO24ucmF3JiZuLnRnPjA/bi50Zz0tbi50ZzpuLkJUJiZuLnRnPjAmJm4udGc8MTYmJihuLnRnKz0xNik7dGhpcy5lcnI9MDt0aGlzLm1zZz0iIjt0aGlzLmVuZGVkPSExO3RoaXMuY2h1bmtzPVtdO3RoaXMuVFI9bmV3IGtmO3RoaXMuVFIudVI9MDt2YXIgVz10aGlzLlRSO3ZhciBEPW4ubGV2ZWwsYj1uLm1ldGhvZCx2PW4udGcsaz1uLkJrLGg9bi5zdHJhdGVneTtpZihXKXt2YXIgeD0xO0Q9PT0tMSYmKEQ9Nik7djwwPyh4PTAsdj0tdik6dj4xNSYmKHg9Mix2LT0xNik7aWYoazwxfHxrPjl8fGIhPT04fHx2PDh8fHY+MTV8fEQ8MHx8RD45fHxoPDB8fGg+NClXPWxDKFcsLTIpO2Vsc2V7dj09PTgmJih2PTkpO3ZhciBMPQpuZXcgTzBpO1cuc3RhdGU9TDtMLlRSPVc7TC53cmFwPXg7TC5GUT1udWxsO0wuclo9djtMLnhyPTE8PEwuclo7TC55ZT1MLnhyLTE7TC5Zdj1rKzc7TC5BeT0xPDxMLll2O0wubEI9TC5BeS0xO0wuSGM9fn4oKEwuWXYrMy0xKS8zKTtMLndpbmRvdz1uZXcgaGsuT20oTC54cioyKTtMLmhlYWQ9bmV3IGhrLm1LKEwuQXkpO0wuUlQ9bmV3IGhrLm1LKEwueHIpO0wuS1g9MTw8ays2O0wueXY9TC5LWCo0O0wuRkI9bmV3IGhrLk9tKEwueXYpO0wuQTg9MSpMLktYO0wudGE9MypMLktYO0wubGV2ZWw9RDtMLnN0cmF0ZWd5PWg7TC5tZXRob2Q9YjtpZihXJiZXLnN0YXRlKXtXLkVtPVcudEI9MDtXLnFTPTI7RD1XLnN0YXRlO0QucGVuZGluZz0wO0QuaFI9MDtELndyYXA8MCYmKEQud3JhcD0tRC53cmFwKTtELnN0YXR1cz1ELndyYXA/NDI6MTEzO1cuZ0k9RC53cmFwPT09Mj8wOjE7RC5obz0wO2lmKCFocil7Yj1BcnJheSgxNik7Zm9yKGs9aD0wO2s8Mjg7aysrKWZvcihLZVtrXT1oLHY9MDt2PAoxPDxtJFtrXTt2KyspQWtbaCsrXT1rO0FrW2gtMV09aztmb3Ioaz1oPTA7azwxNjtrKyspZm9yKFpRW2tdPWgsdj0wO3Y8MTw8UFNba107disrKU8kW2grK109aztmb3IoaD4+PTc7azwzMDtrKyspZm9yKFpRW2tdPWg8PDcsdj0wO3Y8MTw8UFNba10tNzt2KyspTyRbMjU2K2grK109aztmb3Iodj0wO3Y8PTE1O3YrKyliW3ZdPTA7Zm9yKHY9MDt2PD0xNDM7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7Zm9yKDt2PD0yNTU7KUJTW3YqMisxXT05LHYrKyxiWzldKys7Zm9yKDt2PD0yNzk7KUJTW3YqMisxXT03LHYrKyxiWzddKys7Zm9yKDt2PD0yODc7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7WWooQlMsMjg3LGIpO2Zvcih2PTA7djwzMDt2KyspRjlbdioyKzFdPTUsRjlbdioyXT1wZSh2LDUpO3hmPW5ldyBldihCUyxtJCwyNTcsMjg2LDE1KTtMdz1uZXcgZXYoRjksUFMsMCwzMCwxNSk7ZUg9bmV3IGV2KFtdLFowdywwLDE5LDcpO2hyPSEwfUQuUWY9bmV3IHRrKEQua0cseGYpO0QuYVM9Cm5ldyB0ayhELmxmLEx3KTtELm1NPW5ldyB0ayhELndoLGVIKTtELlJKPTA7RC5ZSD0wO0hTKEQpO0Q9MH1lbHNlIEQ9bEMoVywtMik7RD09PTAmJihXPVcuc3RhdGUsVy5iWD0yKlcueHIsVEIoVy5oZWFkKSxXLlJiPWJ3W1cubGV2ZWxdLlk4LFcuciQ9YndbVy5sZXZlbF0ubmssVy5PUj1id1tXLmxldmVsXS5FayxXLmViPWJ3W1cubGV2ZWxdLlNSLFcucXM9MCxXLk9LPTAsVy5HVz0wLFcucXA9MCxXLmZBPVcuVGE9MixXLlJGPTAsVy5wQT0wKTtXPUR9fWVsc2UgVz0tMjtpZihXIT09MCl0aHJvdyBFcnJvcih6QltXXSk7bi5oZWFkZXImJihXPXRoaXMuVFIpJiZXLnN0YXRlJiZXLnN0YXRlLndyYXA9PT0yJiYoVy5zdGF0ZS5GUT1uLmhlYWRlcik7aWYobi5Dbyl7dmFyIGU7dHlwZW9mIG4uQ289PT0ic3RyaW5nIj9lPXhqKG4uQ28pOmcyLmNhbGwobi5Dbyk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2U9bmV3IFVpbnQ4QXJyYXkobi5Dbyk6ZT1uLkNvO249dGhpcy5UUjtrPWU7aD0Kay5sZW5ndGg7aWYobiYmbi5zdGF0ZSlpZihlPW4uc3RhdGUsVz1lLndyYXAsVz09PTJ8fFc9PT0xJiZlLnN0YXR1cyE9PTQyfHxlLkdXKVc9LTI7ZWxzZXtXPT09MSYmKG4uZ0k9VnQobi5nSSxrLGgsMCkpO2Uud3JhcD0wO2g+PWUueHImJihXPT09MCYmKFRCKGUuaGVhZCksZS5xcz0wLGUuT0s9MCxlLnFwPTApLEQ9bmV3IGhrLk9tKGUueHIpLGhrLlA3KEQsayxoLWUueHIsZS54ciwwKSxrPUQsaD1lLnhyKTtEPW4uQkE7Yj1uLlVaO3Y9bi5pbnB1dDtuLkJBPWg7bi5VWj0wO24uaW5wdXQ9aztmb3IoYVMoZSk7ZS5HVz49Mzspe2s9ZS5xcztoPWUuR1ctMjtkbyBlLnBBPShlLnBBPDxlLkhjXmUud2luZG93W2srMy0xXSkmZS5sQixlLlJUW2smZS55ZV09ZS5oZWFkW2UucEFdLGUuaGVhZFtlLnBBXT1rLGsrKzt3aGlsZSgtLWgpO2UucXM9aztlLkdXPTI7YVMoZSl9ZS5xcys9ZS5HVztlLk9LPWUucXM7ZS5xcD1lLkdXO2UuR1c9MDtlLmZBPWUuVGE9MjtlLlJGPTA7bi5VWj1iO24uaW5wdXQ9CnY7bi5CQT1EO2Uud3JhcD1XO1c9MH1lbHNlIFc9LTI7aWYoVyE9PTApdGhyb3cgRXJyb3IoekJbV10pO3RoaXMuWGg9ITB9fTsKWCQ9ZnVuY3Rpb24obil7dmFyIFc9V3x8e307Vy5CVD0hMDtXPW5ldyB2VihXKTtXLnB1c2gobiwhMCk7aWYoVy5lcnIpdGhyb3cgVy5tc2d8fHpCW1cuZXJyXTtyZXR1cm4gVy5yZXN1bHR9OwpxTj1mdW5jdGlvbiguLi5uKXtyZXR1cm4gbi5sZW5ndGg9PT0wP1c9Plc6bi5sZW5ndGg9PT0xP25bMF06bi5yZWR1Y2UoKFcsRCk9PiguLi5iKT0+VyhEKC4uLmIpKSl9OwpVeGo9ZnVuY3Rpb24oKXt2YXIgbj1bXTtyZXR1cm4gVz0+KEQsYik9PntEPVcoRCxiKTt2YXIgdj0oKT0+e3Rocm93IEVycm9yKCJEaXNwYXRjaGluZyB3aGlsZSBjb25zdHJ1Y3RpbmcgeW91ciBtaWRkbGV3YXJlIGlzIG5vdCBhbGxvd2VkLiBPdGhlciBtaWRkbGV3YXJlIHdvdWxkIG5vdCBiZSBhcHBsaWVkIHRvIHRoaXMgZGlzcGF0Y2guIik7fSxrPXtnZXRTdGF0ZTpELmdldFN0YXRlLApkaXNwYXRjaDooaCwuLi54KT0+dihoLC4uLngpfTsKYj1uLm1hcChoPT5oKGspKTsKdj1xTiguLi5iKShELmRpc3BhdGNoKTtyZXR1cm57Li4uRCxkaXNwYXRjaDp2fX19Owp5NDI9ZnVuY3Rpb24obil7T2JqZWN0LmtleXMobikuZm9yRWFjaChXPT57dmFyIEQ9bltXXTtpZih0eXBlb2YgRCh2b2lkIDAse3R5cGU6R2R9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKGBUaGUgc2xpY2UgcmVkdWNlciBmb3Iga2V5ICIke1d9IiByZXR1cm5lZCB1bmRlZmluZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBJZiB0aGUgc3RhdGUgcGFzc2VkIHRvIHRoZSByZWR1Y2VyIGlzIHVuZGVmaW5lZCwgeW91IG11c3QgZXhwbGljaXRseSByZXR1cm4gdGhlIGluaXRpYWwgc3RhdGUuIFRoZSBpbml0aWFsIHN0YXRlIG1heSBub3QgYmUgdW5kZWZpbmVkLiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBzZXQgYSB2YWx1ZSBmb3IgdGhpcyByZWR1Y2VyLCB5b3UgY2FuIHVzZSBudWxsIGluc3RlYWQgb2YgdW5kZWZpbmVkLmApO2lmKHR5cGVvZiBEKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7dHIoKX1gfSk9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcihgVGhlIHNsaWNlIHJlZHVjZXIgZm9yIGtleSAiJHtXfSIgcmV0dXJuZWQgdW5kZWZpbmVkIHdoZW4gcHJvYmVkIHdpdGggYSByYW5kb20gdHlwZS4gRG9uJ3QgdHJ5IHRvIGhhbmRsZSAnJHtHZH0nIG9yIG90aGVyIGFjdGlvbnMgaW4gInJlZHV4LyoiIG5hbWVzcGFjZS4gVGhleSBhcmUgY29uc2lkZXJlZCBwcml2YXRlLiBJbnN0ZWFkLCB5b3UgbXVzdCByZXR1cm4gdGhlIGN1cnJlbnQgc3RhdGUgZm9yIGFueSB1bmtub3duIGFjdGlvbnMsIHVubGVzcyBpdCBpcyB1bmRlZmluZWQsIGluIHdoaWNoIGNhc2UgeW91IG11c3QgcmV0dXJuIHRoZSBpbml0aWFsIHN0YXRlLCByZWdhcmRsZXNzIG9mIHRoZSBhY3Rpb24gdHlwZS4gVGhlIGluaXRpYWwgc3RhdGUgbWF5IG5vdCBiZSB1bmRlZmluZWQsIGJ1dCBjYW4gYmUgbnVsbC5gKTsKfSl9OwokZj1mdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuZ2V0U3RhdGUoKSB3aGlsZSB0aGUgcmVkdWNlciBpcyBleGVjdXRpbmcuIFRoZSByZWR1Y2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIHRoZSBzdGF0ZSBhcyBhbiBhcmd1bWVudC4gUGFzcyBpdCBkb3duIGZyb20gdGhlIHRvcCByZWR1Y2VyIGluc3RlYWQgb2YgcmVhZGluZyBpdCBmcm9tIHRoZSBzdG9yZS4iKTtyZXR1cm4geH0KZnVuY3Rpb24gdihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59J2ApO2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuc3Vic2NyaWJlKCkgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBJZiB5b3Ugd291bGQgbGlrZSB0byBiZSBub3RpZmllZCBhZnRlciB0aGUgc3RvcmUgaGFzIGJlZW4gdXBkYXRlZCwgc3Vic2NyaWJlIGZyb20gYSBjb21wb25lbnQgYW5kIGludm9rZSBzdG9yZS5nZXRTdGF0ZSgpIGluIHRoZSBjYWxsYmFjayB0byBhY2Nlc3MgdGhlIGxhdGVzdCBzdGF0ZS4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL2FwaS9zdG9yZSNzdWJzY3JpYmVsaXN0ZW5lciBmb3IgbW9yZSBkZXRhaWxzLiIpO3ZhciBIPSEwO2U9PT1MJiYoZT1MLnNsaWNlKCkpO2UucHVzaChOKTtyZXR1cm4gZnVuY3Rpb24oKXtpZihIKXtpZihHKXRocm93IEVycm9yKCJZb3UgbWF5IG5vdCB1bnN1YnNjcmliZSBmcm9tIGEgc3RvcmUgbGlzdGVuZXIgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBTZWUgaHR0cHM6Ly9yZWR1eC5qcy5vcmcvYXBpL3N0b3JlI3N1YnNjcmliZWxpc3RlbmVyIGZvciBtb3JlIGRldGFpbHMuIik7Ckg9ITE7ZT09PUwmJihlPUwuc2xpY2UoKSk7ZS5zcGxpY2UoZS5pbmRleE9mKE4pLDEpO0w9bnVsbH19fQpmdW5jdGlvbiBrKE4pe2lmKHR5cGVvZiBOIT09Im9iamVjdCJ8fE49PT1udWxsKXZhciBIPSExO2Vsc2V7Zm9yKEg9TjtPYmplY3QuZ2V0UHJvdG90eXBlT2YoSCkhPT1udWxsOylIPU9iamVjdC5nZXRQcm90b3R5cGVPZihIKTtIPU9iamVjdC5nZXRQcm90b3R5cGVPZihOKT09PUh9aWYoIUgpdGhyb3cgRXJyb3IoYEFjdGlvbnMgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBJbnN0ZWFkLCB0aGUgYWN0dWFsIHR5cGUgd2FzOiAnJHt0eXBlb2YgTn0nLiBZb3UgbWF5IG5lZWQgdG8gYWRkIG1pZGRsZXdhcmUgdG8geW91ciBzdG9yZSBzZXR1cCB0byBoYW5kbGUgZGlzcGF0Y2hpbmcgb3RoZXIgdmFsdWVzLCBzdWNoIGFzICdyZWR1eC10aHVuaycgdG8gaGFuZGxlIGRpc3BhdGNoaW5nIGZ1bmN0aW9ucy4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC00LXN0b3JlI21pZGRsZXdhcmUgYW5kIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC02LWFzeW5jLWxvZ2ljI3VzaW5nLXRoZS1yZWR1eC10aHVuay1taWRkbGV3YXJlIGZvciBleGFtcGxlcy5gKTsKaWYodHlwZW9mIE4udHlwZT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCdBY3Rpb25zIG1heSBub3QgaGF2ZSBhbiB1bmRlZmluZWQgInR5cGUiIHByb3BlcnR5LiBZb3UgbWF5IGhhdmUgbWlzc3BlbGxlZCBhbiBhY3Rpb24gdHlwZSBzdHJpbmcgY29uc3RhbnQuJyk7aWYoRyl0aHJvdyBFcnJvcigiUmVkdWNlcnMgbWF5IG5vdCBkaXNwYXRjaCBhY3Rpb25zLiIpO3RyeXtHPSEwLHg9aCh4LE4pfWZpbmFsbHl7Rz0hMX1IPUw9ZTtmb3IobGV0IEE9MDtBPEgubGVuZ3RoO0ErKykoMCxIW0FdKSgpO3JldHVybiBOfQppZih0eXBlb2YgVz09PSJmdW5jdGlvbiImJnR5cGVvZiBEPT09ImZ1bmN0aW9uInx8dHlwZW9mIEQ9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSXQgbG9va3MgbGlrZSB5b3UgYXJlIHBhc3Npbmcgc2V2ZXJhbCBzdG9yZSBlbmhhbmNlcnMgdG8gY3JlYXRlU3RvcmUoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBJbnN0ZWFkLCBjb21wb3NlIHRoZW0gdG9nZXRoZXIgdG8gYSBzaW5nbGUgZnVuY3Rpb24uIFNlZSBodHRwczovL3JlZHV4LmpzLm9yZy90dXRvcmlhbHMvZnVuZGFtZW50YWxzL3BhcnQtNC1zdG9yZSNjcmVhdGluZy1hLXN0b3JlLXdpdGgtZW5oYW5jZXJzIGZvciBhbiBleGFtcGxlLiIpO3R5cGVvZiBXPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEQ9PT0idW5kZWZpbmVkIiYmKEQ9VyxXPXZvaWQgMCk7aWYodHlwZW9mIEQhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIEQhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgZW5oYW5jZXIgdG8gYmUgYSBmdW5jdGlvbi4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBEfSdgKTsKcmV0dXJuIEQoJGYpKG4sVyl9aWYodHlwZW9mIG4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgcm9vdCByZWR1Y2VyIHRvIGJlIGEgZnVuY3Rpb24uIEluc3RlYWQsIHJlY2VpdmVkOiAnJHt0eXBlb2Ygbn0nYCk7dmFyIGg9bix4PVcsTD1bXSxlPUwsRz0hMTtrKHt0eXBlOkdkfSk7dmFyIHI9e2Rpc3BhdGNoOmssc3Vic2NyaWJlOnYsZ2V0U3RhdGU6YixyZXBsYWNlUmVkdWNlcjpmdW5jdGlvbihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBuZXh0UmVkdWNlciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59YCk7aD1OO2soe3R5cGU6RUtDfSk7cmV0dXJuIHJ9LApbcjJdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShOKXtmdW5jdGlvbiBIKCl7Ti5uZXh0JiZOLm5leHQoYigpKX0KaWYodHlwZW9mIE4hPT0ib2JqZWN0Inx8Tj09PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdGhlIG9ic2VydmVyIHRvIGJlIGFuIG9iamVjdC4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBOfSdgKTtIKCk7cmV0dXJue3Vuc3Vic2NyaWJlOnYoSCl9fSxbcjJdKCl7cmV0dXJuIHRoaXN9fX19OwpyZXR1cm4gcn07Ck5OPWZ1bmN0aW9uKG4pe3JldHVybiBuPyhuPW4ucHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlU2FmZVNjcmlwdFdyYXBwZWRWYWx1ZSk/bWMobik6bnVsbDpudWxsfTsKcHc9ZnVuY3Rpb24obil7cmV0dXJuIG4/KG49bi5wcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUpP2szKG4pOm51bGw6bnVsbH07CmcuSFY9ZnVuY3Rpb24obil7bj1ZZihuKTtyZXR1cm4gZy5ITShuKX07CmZ3PWZ1bmN0aW9uKG4pe249WWYobik7cmV0dXJuIGszKG4pfTsKWWY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT1udWxsPyJudWxsIjpuPT09dm9pZCAwPyJ1bmRlZmluZWQiOm59OwpKcj1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIn07CmcuU0g9ZnVuY3Rpb24oLi4ubil7bj1hcmd1bWVudHM7dmFyIFc9SUU7bi5sZW5ndGg+MT9XW25bMF1dPW5bMV06bi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKFcsblswXSl9OwpnLkFyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4gaW4gSUU/SUVbbl06V307Cm15PWZ1bmN0aW9uKG4pe3ZhciBXPUlFLkVYUEVSSU1FTlRfRkxBR1M7cmV0dXJuIFc/V1tuXTp2b2lkIDB9OwppMGI9ZnVuY3Rpb24obil7S3cuZm9yRWFjaChXPT5XKG4pKX07ClBWPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZ3aW5kb3cueXRlcnI/ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKFcpe090KFcpfX06bn07Ck90PWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO1c/VyhuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk6KFc9Zy5BcigiRVJST1JTIixbXSksVy5wdXNoKFtuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMF0pLGcuU0goIkVSUk9SUyIsVykpO2kwYihuKX07ClpFPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9Zy5ycigieXQubG9nZ2luZy5lcnJvcnMubG9nIik7az9rKG4sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2KTooaz1nLkFyKCJFUlJPUlMiLFtdKSxrLnB1c2goW24sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2XSksZy5TSCgiRVJST1JTIixrKSl9Owp5Rj1mdW5jdGlvbihuLFcpe1c9bi5zcGxpdChXKTt2YXIgRD17fTtmb3IobGV0IGs9MCxoPVcubGVuZ3RoO2s8aDtrKyspe2xldCB4PVdba10uc3BsaXQoIj0iKTtpZih4Lmxlbmd0aD09PTEmJnhbMF18fHgubGVuZ3RoPT09Mil0cnl7bGV0IEw9VXQoeFswXXx8IiIpLGU9VXQoeFsxXXx8IiIpO2lmKEwgaW4gRCl7bGV0IEc9RFtMXTtBcnJheS5pc0FycmF5KEcpP2cuUTIoRyxlKTpEW0xdPVtHLGVdfWVsc2UgRFtMXT1lfWNhdGNoKEwpe3ZhciBiPUwsdj14WzBdO2xldCBlPVN0cmluZyh5Rik7Yi5hcmdzPVt7a2V5OnYsdmFsdWU6eFsxXSxxdWVyeTpuLG1ldGhvZDp1UWg9PT1lPyJ1bmNoYW5nZWQiOmV9XTtvS2kuaGFzT3duUHJvcGVydHkodil8fFpFKGIpfX1yZXR1cm4gRH07CmcuRXQ9ZnVuY3Rpb24obil7dmFyIFc9W107Zy5hXyhuLChELGIpPT57dmFyIHY9cWgoYik7Zy55MihBcnJheS5pc0FycmF5KEQpP0Q6W0RdLGs9PntrPT0iIj9XLnB1c2godik6Vy5wdXNoKGAke3Z9PSR7cWgoayl9YCl9KX0pOwpyZXR1cm4gVy5qb2luKCImIil9OwpnLml3PWZ1bmN0aW9uKG4pe24uY2hhckF0KDApPT09Ij8iJiYobj1uLnN1YnN0cmluZygxKSk7cmV0dXJuIHlGKG4sIiYiKX07CnV3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNwbGl0KCIsIikubWFwKFc9PmcuaXcoVykpfTsKZy5vRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCI/IikhPT0tMT8obj0obnx8IiIpLnNwbGl0KCIjIilbMF0sbj1uLnNwbGl0KCI/IiwyKSxnLml3KG4ubGVuZ3RoPjE/blsxXTpuWzBdKSk6e319OwpnLnpkPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGQyKG4sV3x8e30sITApfTsKZy5sdz1mdW5jdGlvbihuLFcpe3JldHVybiBkMihuLFd8fHt9LCExKX07CmQyPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLnNwbGl0KCIjIiwyKTtuPWJbMF07Yj1iLmxlbmd0aD4xPyIjIitiWzFdOiIiO3ZhciB2PW4uc3BsaXQoIj8iLDIpO249dlswXTt2PWcuaXcodlsxXXx8IiIpO2ZvcihsZXQgayBpbiBXKWlmKER8fCFnLmVwKHYsaykpdltrXT1XW2tdO3JldHVybiBnLkVUKG4sdikrYn07CmcuVGQ9ZnVuY3Rpb24obil7aWYoIVcpdmFyIFc9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIEQ9Zy5mcChuKVsxXXx8bnVsbCxiPWcuSVAobik7RCYmYj8obj1nLmZwKG4pLFc9Zy5mcChXKSxuPW5bM109PVdbM10mJm5bMV09PVdbMV0mJm5bNF09PVdbNF0pOm49Yj9nLklQKFcpPT09YiYmKE51bWJlcihnLmZwKFcpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKGcuZnAobilbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gbn07Cmcuakg9ZnVuY3Rpb24obil7bnx8KG49ZG9jdW1lbnQubG9jYXRpb24uaHJlZik7bj1nLmZwKG4pWzFdfHxudWxsO3JldHVybiBuIT09bnVsbCYmbj09PSJodHRwcyJ9OwpnLkJWPWZ1bmN0aW9uKG4pe249Q3cobik7cmV0dXJuIG49PT1udWxsPyExOm5bMF09PT0iY29tIiYmblsxXS5tYXRjaCgvXnlvdXR1YmUoPzpraWRzfC1ub2Nvb2tpZSk/JC8pPyEwOiExfTsKZy5GJD1mdW5jdGlvbihuKXtuPUN3KG4pO3JldHVybiBuPT09bnVsbD8hMTpuWzFdPT09Imdvb2dsZSI/ITA6blsyXT09PSJnb29nbGUiP25bMF09PT0iYXUiJiZuWzFdPT09ImNvbSI/ITA6blswXT09PSJ1ayImJm5bMV09PT0iY28iPyEwOiExOiExfTsKQ3c9ZnVuY3Rpb24obil7bj1nLklQKG4pO3JldHVybiBuIT09bnVsbD9uLnNwbGl0KCIuIikucmV2ZXJzZSgpOm51bGx9OwpVdD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmbi5tYXRjaChkeGkpP246RzUobil9OwpnLk1OPWZ1bmN0aW9uKG4pe2E6e2xldCBEO3RyeXtEPW4uTi50b3AubG9jYXRpb24uaHJlZn1jYXRjaChiKXtuPTI7YnJlYWsgYX1uPUQ/RD09PW4uSi5sb2NhdGlvbi5ocmVmPzA6MToyfW49e2R0OnpDdyxmbGFzaDoiMCIsZnJtOm59O3RyeXtuLnVfdHo9LShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt0cnl7dmFyIFc9Zy53Mi5oaXN0b3J5Lmxlbmd0aH1jYXRjaChEKXtXPTB9bi51X2hpcz1XO24udV9oPWcudzIuc2NyZWVuPy5oZWlnaHQ7bi51X3c9Zy53Mi5zY3JlZW4/LndpZHRoO24udV9haD1nLncyLnNjcmVlbj8uYXZhaWxIZWlnaHQ7bi51X2F3PWcudzIuc2NyZWVuPy5hdmFpbFdpZHRoO24udV9jZD1nLncyLnNjcmVlbj8uY29sb3JEZXB0aH1jYXRjaChEKXt9cmV0dXJuIG59OwpnLlFGPWZ1bmN0aW9uKG49SnIoKSl7dmFyIFc9Zy5SRSxEPU9iamVjdCxiPUQuYXNzaWduLHY9Zy5NTihXKTt2YXIgaz1XLk47dHJ5e3ZhciBoPWsuc2NyZWVuWDt2YXIgeD1rLnNjcmVlbll9Y2F0Y2goVCl7fXRyeXt2YXIgTD1rLm91dGVyV2lkdGg7dmFyIGU9ay5vdXRlckhlaWdodH1jYXRjaChUKXt9dHJ5e3ZhciBHPWsuaW5uZXJXaWR0aDt2YXIgcj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIE49ay5zY3JlZW5MZWZ0O3ZhciBIPWsuc2NyZWVuVG9wfWNhdGNoKFQpe310cnl7Rz1rLmlubmVyV2lkdGgscj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIEE9ay5zY3JlZW4uYXZhaWxXaWR0aDt2YXIgeT1rLnNjcmVlbi5hdmFpbFRvcH1jYXRjaChUKXt9az1bTixILGgseCxBLHksTCxlLEcscl07aD1nLnNJKCExLFcuTi50b3ApO3g9bmV3IGxYcjsiU1ZHRWxlbWVudCJpbiBnLnFpJiYiY3JlYXRlRWxlbWVudE5TImluIGcucWkuZG9jdW1lbnQmJnguc2V0KDApOwpMPVRUcigpO0xbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZ4LnNldCgxKTtMWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmeC5zZXQoMik7Zy5xaS5jcnlwdG8mJmcucWkuY3J5cHRvLnN1YnRsZSYmeC5zZXQoMyk7IlRleHREZWNvZGVyImluIGcucWkmJiJUZXh0RW5jb2RlciJpbiBnLnFpJiZ4LnNldCg0KTtXPXtiYzpOV2goeCksYmloOmguaGVpZ2h0LGJpdzpoLndpZHRoLGJyZGltOmsuam9pbigpLHZpczpnLk53KFcuSiksd2dsOiEhZy53Mi5XZWJHTFJlbmRlcmluZ0NvbnRleHR9O0Q9Yi5jYWxsKEQsdixXKTtELmNhX3R5cGU9ImltYWdlIjtuJiYoRC5iaWQ9bik7cmV0dXJuIER9OwpUVzI9ZnVuY3Rpb24oKXtpZighVkYpcmV0dXJuIG51bGw7dmFyIG49VkYoKTtyZXR1cm4ib3BlbiJpbiBuP246bnVsbH07CmFFPWZ1bmN0aW9uKG4pe3N3aXRjaChjVihuKSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDM6Y2FzZSAyMDQ6Y2FzZSAyMDU6Y2FzZSAyMDY6Y2FzZSAzMDQ6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19OwpjVj1mdW5jdGlvbihuKXtyZXR1cm4gbiYmInN0YXR1cyJpbiBuP24uc3RhdHVzOi0xfTsKZy5uJD1mdW5jdGlvbihuLFcpe3R5cGVvZiBuPT09ImZ1bmN0aW9uIiYmKG49UFYobikpO3JldHVybiB3aW5kb3cuc2V0VGltZW91dChuLFcpfTsKVzA9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09PSJmdW5jdGlvbiImJihuPVBWKG4pKTtyZXR1cm4gd2luZG93LnNldEludGVydmFsKG4sVyl9OwpEcj1mdW5jdGlvbihuKXt3aW5kb3cuY2xlYXJJbnRlcnZhbChuKX07CmcubD1mdW5jdGlvbihuLFcpe249YmIobixXKTtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIiYmbj09PSJmYWxzZSI/ITE6ISFufTsKdjA9ZnVuY3Rpb24obixXKXtyZXR1cm4gTnVtYmVyKGJiKG4sVyl8fDApfTsKa1Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5BcigiRVhQRVJJTUVOVFNfVE9LRU4iLCIiKX07CmJiPWZ1bmN0aW9uKG4sVyl7bj1nLkFyKCJFWFBFUklNRU5UX0ZMQUdTIix7fSlbbl07cmV0dXJuIG4hPT12b2lkIDA/bjpXfTsKaHk9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPWcuQXIoIkVYUEVSSU1FTlRTX0ZPUkNFRF9GTEFHUyIse30pO2Zvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhXKSluLnB1c2goe2tleTpELHZhbHVlOlN0cmluZyhXW0RdKX0pO0Q9Zy5BcigiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhEKSliLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZXW2JdPT09dm9pZCAwJiZuLnB1c2goe2tleTpiLHZhbHVlOlN0cmluZyhEW2JdKX0pO3JldHVybiBufTsKeFQ9ZnVuY3Rpb24obixXLEQ9IkdFVCIsYj0iIix2LGssaCx4PSExLEwpe3ZhciBlPVRXMigpO2lmKCFlKXJldHVybiBudWxsO3ZhciBHPSgpPT57KGUmJiJyZWFkeVN0YXRlImluIGU/ZS5yZWFkeVN0YXRlOjApPT09NCYmVyYmUFYoVykoZSl9Owoib25sb2FkZW5kImluIGU/ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixHLCExKTplLm9ucmVhZHlzdGF0ZWNoYW5nZT1HO2cubCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYobj1qMloobikpO2Uub3BlbihELG4sITApO2smJihlLnJlc3BvbnNlVHlwZT1rKTtoJiYoZS53aXRoQ3JlZGVudGlhbHM9ITApO0Q9RD09PSJQT1NUIiYmKHdpbmRvdy5Gb3JtRGF0YT09PXZvaWQgMHx8IShiIGluc3RhbmNlb2YgRm9ybURhdGEpKTtpZih2PUNwTShuLHYpKWZvcihsZXQgciBpbiB2KWUuc2V0UmVxdWVzdEhlYWRlcihyLHZbcl0pLCJjb250ZW50LXR5cGUiPT09ci50b0xvd2VyQ2FzZSgpJiYoRD0hMSk7RCYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTtMJiYib25wcm9ncmVzcyJpbiBlJiYoZS5vbnByb2dyZXNzPSgpPT57TChlLnJlc3BvbnNlVGV4dCl9KTsKaWYoeCYmInNldEF0dHJpYnV0aW9uUmVwb3J0aW5nImluIFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZSl7bj17ZXZlbnRTb3VyY2VFbGlnaWJsZTohMCx0cmlnZ2VyRWxpZ2libGU6ITF9O3RyeXtlLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKG4pfWNhdGNoKHIpe1pFKHIpfX1lLnNlbmQoYik7cmV0dXJuIGV9OwpDcE09ZnVuY3Rpb24obixXPXt9KXt2YXIgRD1nLlRkKG4pLGI9Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIiksdj1nLmwoIndlYl9hamF4X2lnbm9yZV9nbG9iYWxfaGVhZGVyc19pZl9zZXQiKTtmb3IobGV0IHggaW4gTCQpe2xldCBMPWcuQXIoTCRbeF0pLGU9eD09PSJYLUdvb2ctQXV0aFVzZXIifHx4PT09IlgtR29vZy1QYWdlSWQiO3ghPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxMfHwoTD1nLkFyKCJWSVNJVE9SX0RBVEEiKSk7dmFyIGs7aWYoIShrPSFMKSl7aWYoIShrPUR8fChnLklQKG4pPyExOiEwKSkpe2s9bjt2YXIgaDtpZihoPWcubCgiYWRkX2F1dGhfaGVhZGVyc190b19yZW1hcmtldGluZ19nb29nbGVfZG90X2NvbV9waW5nIikmJng9PT0iQXV0aG9yaXphdGlvbiImJihiPT09IlRWSFRNTDUifHxiPT09IlRWSFRNTDVfVU5QTFVHR0VEInx8Yj09PSJUVkhUTUw1X1NJTVBMWSIpJiZnLkYkKGspKWs9UzEoayl8fCIiLGs9ay5zcGxpdCgiLyIpLGs9Ii8iKyhrLmxlbmd0aD4KMT9rWzFdOiIiKSxoPWs9PT0iL3BhZ2VhZCI7az1oPyEwOiExfWs9IWt9a3x8diYmV1t4XSE9PXZvaWQgMHx8Yj09PSJUVkhUTUw1X1VOUExVR0dFRCImJmV8fChXW3hdPUwpfSJYLUdvb2ctRU9NLVZpc2l0b3ItSWQiaW4gVyYmIlgtR29vZy1WaXNpdG9yLUlkImluIFcmJmRlbGV0ZSBXWyJYLUdvb2ctVmlzaXRvci1JZCJdO2lmKER8fCFnLklQKG4pKVdbIlgtWW91VHViZS1VdGMtT2Zmc2V0Il09U3RyaW5nKC0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO2lmKER8fCFnLklQKG4pKXtsZXQgeDt0cnl7eD0obmV3IEludGwuRGF0ZVRpbWVGb3JtYXQpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lfWNhdGNoe314JiYoV1siWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPXgpfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhRCYmZy5JUChuKXx8KFdbIlgtWW91VHViZS1BZC1TaWduYWxzIl09Zy5FdChnLlFGKCkpKTtyZXR1cm4gV307Cmc4PWZ1bmN0aW9uKG4sVyl7Vy5tZXRob2Q9IlBPU1QiO1cucG9zdFBhcmFtc3x8KFcucG9zdFBhcmFtcz17fSk7cmV0dXJuIGcuZWQobixXKX07CkJXaj1mdW5jdGlvbihuLFcpe2lmKHdpbmRvdy5mZXRjaCYmVy5mb3JtYXQhPT0iWE1MIil7dmFyIEQ9e21ldGhvZDpXLm1ldGhvZHx8IkdFVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn07Vy5oZWFkZXJzJiYoRC5oZWFkZXJzPVcuaGVhZGVycyk7Vy5wcmlvcml0eSYmKEQucHJpb3JpdHk9Vy5wcmlvcml0eSk7bj1YbihuLFcpO3ZhciBiPXFYKG4sVyk7YiYmKEQuYm9keT1iKTtXLndpdGhDcmVkZW50aWFscyYmKEQuY3JlZGVudGlhbHM9ImluY2x1ZGUiKTt2YXIgdj1XLmNvbnRleHR8fGcucWksaz0hMSxoO2ZldGNoKG4sRCkudGhlbih4PT57aWYoIWspe2s9ITA7aCYmd2luZG93LmNsZWFyVGltZW91dChoKTt2YXIgTD14Lm9rLGU9Rz0+e0c9R3x8e307TD9XLm9uU3VjY2VzcyYmVy5vblN1Y2Nlc3MuY2FsbCh2LEcseCk6Vy5vbkVycm9yJiZXLm9uRXJyb3IuY2FsbCh2LEcseCk7Vy5vbkZpbmlzaCYmVy5vbkZpbmlzaC5jYWxsKHYsRyx4KX07CihXLmZvcm1hdHx8IkpTT04iKT09PSJKU09OIiYmKEx8fHguc3RhdHVzPj00MDAmJnguc3RhdHVzPDUwMCk/eC5qc29uKCkudGhlbihlLCgpPT57ZShudWxsKX0pOmUobnVsbCl9fSkuY2F0Y2goKCk9PntXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKHYse30se30pfSk7Cm49Vy50aW1lb3V0fHwwO1cub25GZXRjaFRpbWVvdXQmJm4+MCYmKGg9Zy5uJCgoKT0+e2t8fChrPSEwLHdpbmRvdy5jbGVhclRpbWVvdXQoaCksVy5vbkZldGNoVGltZW91dC5jYWxsKFcuY29udGV4dHx8Zy5xaSkpfSxuKSl9ZWxzZSBnLmVkKG4sVyl9OwpnLmVkPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5mb3JtYXR8fCJKU09OIjtuPVhuKG4sVyk7dmFyIGI9cVgobixXKSx2PSExLGs9RngxKG4seD0+e2lmKCF2KXt2PSEwO2gmJndpbmRvdy5jbGVhclRpbWVvdXQoaCk7dmFyIEw9YUUoeCksZT1udWxsLEc9NDAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NTAwLHI9NTAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NjAwO2lmKEx8fEd8fHIpZT13MjIobixELHgsVy5jb252ZXJ0VG9TYWZlSHRtbCk7TCYmKEw9TXVDKEQseCxlKSk7ZT1lfHx7fTtHPVcuY29udGV4dHx8Zy5xaTtMP1cub25TdWNjZXNzJiZXLm9uU3VjY2Vzcy5jYWxsKEcseCxlKTpXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKEcseCxlKTtXLm9uRmluaXNoJiZXLm9uRmluaXNoLmNhbGwoRyx4LGUpfX0sVy5tZXRob2QsYixXLmhlYWRlcnMsVy5yZXNwb25zZVR5cGUsVy53aXRoQ3JlZGVudGlhbHMsITEsVy5vblByb2dyZXNzKTsKYj1XLnRpbWVvdXR8fDA7aWYoVy5vblRpbWVvdXQmJmI+MCl7bGV0IHg9Vy5vblRpbWVvdXQ7dmFyIGg9Zy5uJCgoKT0+e3Z8fCh2PSEwLGsuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLHguY2FsbChXLmNvbnRleHR8fGcucWksaykpfSxiKX1yZXR1cm4ga307ClhuPWZ1bmN0aW9uKG4sVyl7Vy5pbmNsdWRlRG9tYWluJiYobj1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKyhkb2N1bWVudC5sb2NhdGlvbi5wb3J0PyI6Iitkb2N1bWVudC5sb2NhdGlvbi5wb3J0OiIiKStuKTt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKTtpZihXPVcudXJsUGFyYW1zKVdbRF0mJmRlbGV0ZSBXW0RdLG49Zy56ZChuLFcpO3JldHVybiBufTsKcVg9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKSxiPWcuQXIoIlhTUkZfVE9LRU4iKSx2PVcucG9zdEJvZHl8fCIiLGs9Vy5wb3N0UGFyYW1zLGg9Zy5BcigiWFNSRl9GSUVMRF9OQU1FIikseDtXLmhlYWRlcnMmJih4PVcuaGVhZGVyc1siQ29udGVudC1UeXBlIl0pO1cuZXhjbHVkZVhzcmZ8fGcuSVAobikmJiFXLndpdGhDcmVkZW50aWFscyYmZy5JUChuKSE9PWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfHxXLm1ldGhvZCE9PSJQT1NUInx8eCYmeCE9PSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifHxXLnBvc3RQYXJhbXMmJlcucG9zdFBhcmFtc1toXXx8KGt8fChrPXt9KSxrW0RdPWIpO2smJnR5cGVvZiB2PT09InN0cmluZyImJih2PWcuaXcodiksZy5ZeSh2LGspLHY9Vy5wb3N0Qm9keUZvcm1hdCYmVy5wb3N0Qm9keUZvcm1hdD09PSJKU09OIj9KU09OLnN0cmluZ2lmeSh2KTp5Ryh2KSk7az12fHxrJiYhZy5HRihrKTshR1EmJgprJiZXLm1ldGhvZCE9PSJQT1NUIiYmKEdRPSEwLE90KEVycm9yKCJBSkFYIHJlcXVlc3Qgd2l0aCBwb3N0RGF0YSBzaG91bGQgdXNlIFBPU1QiKSkpO3JldHVybiB2fTsKdzIyPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW51bGw7c3dpdGNoKFcpe2Nhc2UgIkpTT04iOmxldCBrO3RyeXtrPUQucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGI9RXJyb3IoIkVycm9yIHJlYWRpbmcgcmVzcG9uc2VUZXh0IiksYi5wYXJhbXM9bixaRShiKSxoO31uPUQuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpfHwiIjtpZihrJiZuLmluZGV4T2YoImpzb24iKT49MCl7ay5zdWJzdHJpbmcoMCw1KT09PSIpXX0nXG4iJiYoaz1rLnN1YnN0cmluZyg1KSk7dHJ5e3Y9SlNPTi5wYXJzZShrKX1jYXRjaChoKXt9fWJyZWFrO2Nhc2UgIlhNTCI6aWYobj0obj1ELnJlc3BvbnNlWE1MKT9SQ1Uobik6bnVsbCl2PXt9LGcueTIobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLGg9Pnt2W2gudGFnTmFtZV09UTJpKGgpfSl9YiYmdHkodik7CnJldHVybiB2fTsKdHk9ZnVuY3Rpb24obil7aWYoZy5mdChuKSlmb3IobGV0IFcgaW4gbilXPT09Imh0bWxfY29udGVudCJ8fGcuQlooVywiX2h0bWwiKT9uW1ddPWcuSE0obltXXSk6dHkobltXXSl9OwpNdUM9ZnVuY3Rpb24obixXLEQpe2lmKFcmJlcuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChuKXtjYXNlICJKU09OIjpyZXR1cm4hIUQ7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKEQmJkQucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFEfX07ClJDVT1mdW5jdGlvbihuKXtyZXR1cm4gbj8obj0oInJlc3BvbnNlWE1MImluIG4/bi5yZXNwb25zZVhNTDpuKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicm9vdCIpKSYmbi5sZW5ndGg+MD9uWzBdOm51bGw6bnVsbH07ClEyaT1mdW5jdGlvbihuKXt2YXIgVz0iIjtnLnkyKG4uY2hpbGROb2RlcyxEPT57Vys9RC5ub2RlVmFsdWV9KTsKcmV0dXJuIFd9OwpqMlo9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxEPWcuSVAobik7Zy5sKCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IUQmJmcuVGQobikmJihEPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgYj1TMShuKTtiPShEPUQmJihELmVuZHNXaXRoKCJ5b3V0dWJlLmNvbSIpfHxELmVuZHNXaXRoKCJ5b3V0dWJlLW5vY29va2llLmNvbSIpKSkmJmImJmIuc3RhcnRzV2l0aCgiL2FwaS8iKTtpZighRHx8YilyZXR1cm4gbjt2YXIgdj1nLml3KFcpLGs9e307Zy55MihWdWIsaD0+e3ZbaF0mJihrW2hdPXZbaF0pfSk7CnJldHVybiBnLmx3KG4sayl9OwpnLnI4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5zMChXKSxiO3JldHVybihuZXcgZy5YMSgodixrKT0+e0Qub25TdWNjZXNzPWg9PnthRShoKT92KG5ldyBjNFUoaCkpOmsobmV3IGcuJFQoYFJlcXVlc3QgZmFpbGVkLCBzdGF0dXM9JHtjVihoKX1gLCJuZXQuYmFkc3RhdHVzIixoKSl9OwpELm9uRXJyb3I9aD0+e2sobmV3IGcuJFQoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIixoKSl9OwpELm9uVGltZW91dD1oPT57ayhuZXcgZy4kVCgiUmVxdWVzdCB0aW1lZCBvdXQiLCJuZXQudGltZW91dCIsaCkpfTsKYj1nLmVkKG4sRCl9KSkuc1Aodj0+e3YgaW5zdGFuY2VvZiBnLkk1JiZiPy5hYm9ydCgpOwpyZXR1cm4gZy5ycCh2KX0pfTsKZy5zej1mdW5jdGlvbihuLFcsRCxiLHY9LTEsayl7dmFyIGg9TD0+bmV3IGcuWDEoZT0+e3NldFRpbWVvdXQoZSxMKX0pLHg9KEwsZSxHKT0+TC5zUChyPT57aWYoZTw9MHx8Y1Yoci54aHIpPT09NDAzKXJldHVybiBnLnJwKG5ldyBnLiRUKCJSZXF1ZXN0IHJldHJpZWQgdG9vIG1hbnkgdGltZXMiLCJuZXQucmV0cnlleGhhdXN0ZWQiLHIueGhyKSk7CnZhciBOPU1hdGgucG93KDIsRC1lKzEpKkcsSD12PjA/TWF0aC5taW4odixOKTpOO3JldHVybiBoKEcpLnRoZW4oKCk9PntrJiZrKHIsZS0xKTtyZXR1cm4geChnLnI4KG4sVyksZS0xLEgpfSl9KTsKcmV0dXJuIHgoZy5yOChuLFcpLEQtMSxiKX07CmFYQz1mdW5jdGlvbihuLFc9bnVsbCl7bi5XPTI7bi5KPVd9OwpuVXc9ZnVuY3Rpb24obixXPW51bGwpe24uVz0xO24uSj1XfTsKZy5wJD1mdW5jdGlvbihuPW51bGwpe3ZhciBXPW5ldyBOWDthWEMoVyxuKTtyZXR1cm4gV307CmcuSDA9ZnVuY3Rpb24obj1udWxsKXt2YXIgVz1uZXcgTlg7blV3KFcsbik7cmV0dXJuIFd9OwpJSz1mdW5jdGlvbihuLFcsRCxiPSJ5b3V0dWJlLmNvbSIsdj0hMSl7ZiR8fEp5LnNldCgiIituLFcse256OkQscGF0aDoiLyIsZG9tYWluOmIsc2VjdXJlOnZ9KX07CmcuU2Q9ZnVuY3Rpb24obil7aWYoIWYkKXJldHVybiBKeS5nZXQoIiIrbix2b2lkIDApfTsKQXk9ZnVuY3Rpb24obixXPSIvIixEPSJ5b3V0dWJlLmNvbSIpe2YkfHxKeS5yZW1vdmUoIiIrbixXLEQpfTsKZy5taj1mdW5jdGlvbigpe2lmKCFKeS5pc0VuYWJsZWQoKSlyZXR1cm4hMTtpZighSnkuaXNFbXB0eSgpKXJldHVybiEwO0p5LnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse256OjYwfSk7aWYoSnkuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTtKeS5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKZy53PWZ1bmN0aW9uKG4sVyl7aWYobilyZXR1cm4gbltXLm5hbWVdfTsKSyQ9ZnVuY3Rpb24obil7dmFyIFc9Zy5BcigiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiKTtXJiYobj1TdHJpbmcoVykrU3RyaW5nKG1XKG4pKSk7cmV0dXJuIG59OwpnWj1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47dmFyIGs7KG4tNSYxMyk9PTEmJihrPURbSVsxN11dP0RbSVsxN11dW0lbMzVdXShJWzYzXSk6RFtJWzI2XV09PT1JWzYzXSk7aWYoKG4+PjEmNyk9PTEpe3ZhciBoPVAwKHZeNjQ0MCx2XjEzODcsRCk7YltJW3ZeNjQyNF1dKElbdl42NDM3XSxoKTtrPVtdfShuJjEzKT09biYmYltJWzVdXSE9MCYmKGg9b1MoNCw3NjI0LEQsYiksRD1oWzBdKTtyZXR1cm4ga307ClpyPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2cubCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKFcucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIG49Zy5sdyhuLFcpfTsKVXo9ZnVuY3Rpb24obixXPSJQT1NUIil7bj17bWV0aG9kOlcsbW9kZTpnLlRkKG4pPyJzYW1lLW9yaWdpbiI6ImNvcnMiLGNyZWRlbnRpYWxzOmcuVGQobik/InNhbWUtb3JpZ2luIjoiaW5jbHVkZSJ9O1c9e307dmFyIEQ9e307Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKFcpKVdbYl0mJihEW2JdPVdbYl0pO09iamVjdC5rZXlzKEQpLmxlbmd0aD4wJiYobi5oZWFkZXJzPUQpO3JldHVybiBufTsKeUg9ZnVuY3Rpb24obixXPXt9KXtyZXR1cm5gc2VydmljZToke259LyR7T2JqZWN0LmtleXMoVykuc29ydCgpLm1hcChEPT5EKyI6IitXW0RdKS5qb2luKCIvIil9YH07CkV6PWZ1bmN0aW9uKCl7dmFyIG49L0Nocm9tZVwvKFxkKykvLmV4ZWMoZy5YUSgpKTtyZXR1cm4gbj9wYXJzZUZsb2F0KG5bMV0pOk5hTn07CmliPWZ1bmN0aW9uKCl7dmFyIG49L1xzQ29iYWx0XC8oXFMrKVxzLy5leGVjKGcuWFEoKSk7aWYoIW4pcmV0dXJuIE5hTjt2YXIgVz1bXTtmb3IobGV0IEQgb2YgblsxXS5zcGxpdCgiLiIpKW49cGFyc2VJbnQoRCwxMCksbj49MCYmVy5wdXNoKG4pO3JldHVybiBwYXJzZUZsb2F0KFcuam9pbigiLiIpKX07Cm9LPWZ1bmN0aW9uKCl7cmV0dXJuIGcudWIoImFuZHJvaWQiKSYmZy51YigiY2hyb21lIikmJiEoZy51YigidHJpZGVudC8iKXx8Zy51YigiZWRnZS8iKSkmJiFnLnViKCJjb2JhbHQiKX07CmcuZDg9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiY29iYWx0Iil9Owp6UT1mdW5jdGlvbigpe3JldHVybiBnLnViKCJjb2JhbHQiKSYmZy51YigiYXBwbGV0diIpfTsKbGI9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiKHBzMzsgbGVhbmJhY2sgc2hlbGwpIil8fGcudWIoInBzMyIpJiZnLmQ4KCl9OwpUUT1mdW5jdGlvbigpe3JldHVybiBnLnViKCIocHM0OyBsZWFuYmFjayBzaGVsbCkiKXx8Zy51YigicHM0IikmJmcuZDgoKX07CmcuamQ9ZnVuY3Rpb24oKXtyZXR1cm4gZy5kOCgpJiYoZy51YigicHM0IHZyIil8fGcudWIoInBzNCBwcm8gdnIiKSl9OwpDJD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMCl9OwpCMD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMil9OwpGbj1mdW5jdGlvbigpe3JldHVybiBnLnViKCJpZW1vYmlsZSIpfHxnLnViKCJ3aW5kb3dzIHBob25lIikmJmcudWIoImVkZ2UiKX07ClJLPWZ1bmN0aW9uKCl7cmV0dXJuKHc4fHxNWCkmJmcudWIoImFwcGxld2Via2l0IikmJiFnLnViKCJ2ZXJzaW9uIikmJighZy51Yigic2FmYXJpIil8fGcudWIoImdzYS8iKSl9OwpWSD1mdW5jdGlvbigpe3JldHVybiBnLlFIJiZnLnViKCJ2ZXJzaW9uLyIpfTsKYzA9ZnVuY3Rpb24oKXtyZXR1cm4gZy51Yigic21hcnQtdHYiKSYmZy51Yigic2Ftc3VuZyIpfTsKZy51Yj1mdW5jdGlvbihuKXt2YXIgVz1nLlhRKCk7cmV0dXJuIFc/Vy50b0xvd2VyQ2FzZSgpLmluZGV4T2Yobik+PTA6ITF9OwpnLmFLPWZ1bmN0aW9uKCl7cmV0dXJuIGo2KCl8fFJLKCl8fFZIKCk/ITA6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpPyExOiEwfTsKbnk9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz09PXZvaWQgMHx8Vz09PW51bGw/bjpXPT09IjEifHxXPT09ITB8fFc9PT0xfHxXPT09IlRydWUiPyEwOiExfTsKV0I9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBEKWlmKERbYl09PVcpcmV0dXJuIERbYl07cmV0dXJuIG59OwpEST1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwfHxXPT09bnVsbD9uOk51bWJlcihXKX07CmJPPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc9PT12b2lkIDB8fFc9PT1udWxsP246Vy50b1N0cmluZygpfTsKdkI9ZnVuY3Rpb24obixXKXtpZihXKXtpZihuPT09ImZ1bGx3aWR0aCIpcmV0dXJuIEluZmluaXR5O2lmKG49PT0iZnVsbGhlaWdodCIpcmV0dXJuIDB9cmV0dXJuIG4mJihXPW4ubWF0Y2goVzAxKSkmJihuPU51bWJlcihXWzJdKSxXPU51bWJlcihXWzFdKSwhaXNOYU4obikmJiFpc05hTihXKSYmbj4wKT9XL246TmFOfTsKa1I9ZnVuY3Rpb24obil7dmFyIFc9bi5kb2NpZHx8bi52aWRlb19pZHx8bi52aWRlb0lkfHxuLmlkO2lmKFcpcmV0dXJuIFc7Vz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7V3x8KG49bi5wbGF5ZXJfcmVzcG9uc2UpJiYoVz1KU09OLnBhcnNlKG4pKTtyZXR1cm4gVyYmVy52aWRlb0RldGFpbHMmJlcudmlkZW9EZXRhaWxzLnZpZGVvSWR8fG51bGx9OwpnLnhSPWZ1bmN0aW9uKG4pe3JldHVybiBoTyhuLCExKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwifTsKTHk9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9GSVhFRF9QTEFZQkFDS19MSU1JVCJ8fG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIj8hMDohMX07CmhPPWZ1bmN0aW9uKG4sVz0hMSl7Vz1XPyJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIjoiRU1CRURERURfUExBWUVSX01PREVfVU5LTk9XTiI7d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluY2x1ZGVzKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpJiYoVz0iRU1CRURERURfUExBWUVSX01PREVfUEZMIik7dmFyIEQ9bi5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFEJiYobj1uLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZSkpdHJ5e0Q9SlNPTi5wYXJzZShuKX1jYXRjaChiKXtyZXR1cm4gV31yZXR1cm4gRD9XQihXLEQuZW1iZWRkZWRQbGF5ZXJNb2RlLEQzMSk6V307CmI1dD1mdW5jdGlvbihuKXtuJiYobi5kYXRhc2V0P24uZGF0YXNldFtlXygpXT0idHJ1ZSI6cXd0KG4pKX07CmdKPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGF0YXNldD9uLmRhdGFzZXRbZV8oKV06bi5nZXRBdHRyaWJ1dGUoImRhdGEtbG9hZGVkIik6bnVsbH07CmVfPWZ1bmN0aW9uKCl7cmV0dXJuIFhrLmxvYWRlZHx8KFhrLmxvYWRlZD0ibG9hZGVkIi5yZXBsYWNlKC9cLShbYS16XSkvZywobixXKT0+Vy50b1VwcGVyQ2FzZSgpKSl9OwpHMT1mdW5jdGlvbigpe3ZhciBuPWRvY3VtZW50O2lmKCJ2aXNpYmlsaXR5U3RhdGUiaW4gbilyZXR1cm4gbi52aXNpYmlsaXR5U3RhdGU7dmFyIFc9cTArIlZpc2liaWxpdHlTdGF0ZSI7aWYoVyBpbiBuKXJldHVybiBuW1ddfTsKdE89ZnVuY3Rpb24obixXKXt2YXIgRDtnLm9NKG4sYj0+e0Q9V1tiXTtyZXR1cm4hIUR9KTsKcmV0dXJuIER9OwokUj1mdW5jdGlvbihuKXtpZihuLnJlcXVlc3RGdWxsc2NyZWVuKW49bi5yZXF1ZXN0RnVsbHNjcmVlbih2b2lkIDApO2Vsc2UgaWYobi53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiluPW4ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ubW96UmVxdWVzdEZ1bGxTY3JlZW4pbj1uLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihuLm1zUmVxdWVzdEZ1bGxzY3JlZW4pbj1uLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ud2Via2l0RW50ZXJGdWxsc2NyZWVuKW49bi53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiRnVsbHNjcmVlbiBBUEkgdW5hdmFpbGFibGUiKSk7cmV0dXJuIG4gaW5zdGFuY2VvZiBQcm9taXNlP246UHJvbWlzZS5yZXNvbHZlKCl9OwpOMD1mdW5jdGlvbihuKXt2YXIgVztnLnJKKCk/c1AoKT09biYmKFc9ZG9jdW1lbnQpOlc9bjtyZXR1cm4gVyYmKG49dE8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxXKSk/KFc9bi5jYWxsKFcpLFcgaW5zdGFuY2VvZiBQcm9taXNlP1c6UHJvbWlzZS5yZXNvbHZlKCkpOlByb21pc2UucmVzb2x2ZSgpfTsKdlUxPWZ1bmN0aW9uKG4pe3JldHVybiBnLmxfKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sVz0+YG9uJHtXLnRvTG93ZXJDYXNlKCl9YGluIG4pfTsKZy5ySj1mdW5jdGlvbigpe3JldHVybiEhdE8oWyJmdWxsc2NyZWVuRW5hYmxlZCIsIndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIiwibW96RnVsbFNjcmVlbkVuYWJsZWQiLCJtc0Z1bGxzY3JlZW5FbmFibGVkIl0sZG9jdW1lbnQpfTsKc1A9ZnVuY3Rpb24obj0hMSl7dmFyIFc9dE8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO2lmKG4pZm9yKDtXJiZXLnNoYWRvd1Jvb3Q7KVc9Vy5zaGFkb3dSb290LmZ1bGxzY3JlZW5FbGVtZW50O3JldHVybiBXP1c6bnVsbH07CnB5PWZ1bmN0aW9uKG4pe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IFc9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtuLk49bi5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO24uSj1uLmNsaWVudFkrV319OwprOWk9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5hZGRFdmVudExpc3RlbmVyJiYoVyE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P1chPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9XPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoVz0iTW96TW91c2VQaXhlbFNjcm9sbCIpOlc9Im1vdXNlb3V0IjpXPSJtb3VzZW92ZXIiKTtyZXR1cm4gZy5YTChnLllSLHY9Pnt2YXIgaz10eXBlb2Ygdls0XT09PSJib29sZWFuIiYmdls0XT09ISFiLGg9Zy5mdCh2WzRdKSYmZy5mdChiKSYmZy5ybSh2WzRdLGIpO3JldHVybiEhdi5sZW5ndGgmJnZbMF09PW4mJnZbMV09PVcmJnZbMl09PUQmJihrfHxoKX0pfTsKZy5JOT1mdW5jdGlvbihuLFcsRCxiPXt9KXtpZighbnx8IW4uYWRkRXZlbnRMaXN0ZW5lciYmIW4uYXR0YWNoRXZlbnQpcmV0dXJuIiI7dmFyIHY9azlpKG4sVyxELGIpO2lmKHYpcmV0dXJuIHY7dj0rK0hCLmNvdW50KyIiO3ZhciBrPSEoVyE9Im1vdXNlZW50ZXIiJiZXIT0ibW91c2VsZWF2ZSJ8fCFuLmFkZEV2ZW50TGlzdGVuZXJ8fCJvbm1vdXNlZW50ZXIiaW4gZG9jdW1lbnQpO3ZhciBoPWs/eD0+e3g9bmV3IGZ5KHgpO2lmKCFnLlJoKHgucmVsYXRlZFRhcmdldCxMPT5MPT1uLCEwKSlyZXR1cm4geC5jdXJyZW50VGFyZ2V0PW4seC50eXBlPVcsRC5jYWxsKG4seCl9Ong9Pnt4PW5ldyBmeSh4KTsKeC5jdXJyZW50VGFyZ2V0PW47cmV0dXJuIEQuY2FsbChuLHgpfTsKaD1QVihoKTtuLmFkZEV2ZW50TGlzdGVuZXI/KFc9PSJtb3VzZWVudGVyIiYmaz9XPSJtb3VzZW92ZXIiOlc9PSJtb3VzZWxlYXZlIiYmaz9XPSJtb3VzZW91dCI6Vz09Im1vdXNld2hlZWwiJiYiTW96Qm94U2l6aW5nImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmKFc9Ik1vek1vdXNlUGl4ZWxTY3JvbGwiKSxKTygpfHx0eXBlb2YgYj09PSJib29sZWFuIj9uLmFkZEV2ZW50TGlzdGVuZXIoVyxoLGIpOm4uYWRkRXZlbnRMaXN0ZW5lcihXLGgsISFiLmNhcHR1cmUpKTpuLmF0dGFjaEV2ZW50KGBvbiR7V31gLGgpO2cuWVJbdl09W24sVyxELGgsYl07cmV0dXJuIHZ9OwpnLlNfPWZ1bmN0aW9uKG4pe24mJih0eXBlb2Ygbj09InN0cmluZyImJihuPVtuXSksZy55MihuLFc9PntpZihXIGluIGcuWVIpe3ZhciBEPWcuWVJbV107bGV0IGI9RFswXSx2PURbMV0saz1EWzNdO0Q9RFs0XTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Sk8oKXx8dHlwZW9mIEQ9PT0iYm9vbGVhbiI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKHYsayxEKTpiLnJlbW92ZUV2ZW50TGlzdGVuZXIodixrLCEhRC5jYXB0dXJlKTpiLmRldGFjaEV2ZW50JiZiLmRldGFjaEV2ZW50KGBvbiR7dn1gLGspO2RlbGV0ZSBnLllSW1ddfX0pKX07CkFPPWZ1bmN0aW9uKG4pe249bnx8d2luZG93LmV2ZW50O3ZhciBXO24uY29tcG9zZWRQYXRoJiZ0eXBlb2Ygbi5jb21wb3NlZFBhdGg9PT0iZnVuY3Rpb24iP1c9bi5jb21wb3NlZFBhdGgoKTpXPW4ucGF0aDtXJiZXLmxlbmd0aD9uPVdbMF06KG49bnx8d2luZG93LmV2ZW50LG49bi50YXJnZXR8fG4uc3JjRWxlbWVudCxuLm5vZGVUeXBlPT0zJiYobj1uLnBhcmVudE5vZGUpKTtyZXR1cm4gbn07Cm1ZPWZ1bmN0aW9uKG4pe3RoaXMuSz1uO3RoaXMuTj1udWxsO3RoaXMuWD0wO3RoaXMuVj1udWxsO3RoaXMuaj0wO3RoaXMuSj1bXTtmb3Iobj0wO248NDtuKyspdGhpcy5KLnB1c2goMCk7dGhpcy5XPTA7dGhpcy5jSj1nLkk5KHdpbmRvdywibW91c2Vtb3ZlIiwoMCxnLkt0KSh0aGlzLkQsdGhpcykpO3RoaXMuWT1XMCgoMCxnLkt0KSh0aGlzLk8sdGhpcyksMjUpfTsKS3k9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxELmxlbmd0aDt2Kyspbi5OTihXLERbdl0sYil9OwpnLlBCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1EJiZEPjA/RDowO0Q9Yj9EYXRlLm5vdygpK2IqMUUzOjA7aWYoKGI9Yj9PUC5CcCgpOk9QLnFiKCkpJiZ3aW5kb3cuSlNPTil7dHlwZW9mIFchPT0ic3RyaW5nIiYmKFc9SlNPTi5zdHJpbmdpZnkoVyx2b2lkIDApKTt0cnl7Yi5zZXQobixXLEQpfWNhdGNoKHYpe2IucmVtb3ZlKG4pfX19OwpnLlpJPWZ1bmN0aW9uKG4pe3ZhciBXPU9QLnFiKCksRD1PUC5CcCgpO2lmKCFXJiYhRHx8IXdpbmRvdy5KU09OKXJldHVybiBudWxsO3RyeXt2YXIgYj1XLmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIil0cnl7Yj1ELmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIilyZXR1cm4gbnVsbDt0cnl7Yj1KU09OLnBhcnNlKGIsdm9pZCAwKX1jYXRjaCh2KXt9cmV0dXJuIGJ9OwpVUD1mdW5jdGlvbigpe3ZhciBuPU9QLkJwKCk7aWYobiYmKG49bi5NRCgieXQtcGxheWVyLXF1YWxpdHkiKSkpcmV0dXJuIG4uY3JlYXRpb259Owp5eD1mdW5jdGlvbigpe2lmKCFnLnFpLm1hdGNoTWVkaWEpcmV0dXJuIldFQl9ESVNQTEFZX01PREVfVU5LTk9XTiI7dHJ5e3JldHVybiBnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChuKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwppTz1mdW5jdGlvbigpe0VQLmluc3RhbmNlfHwoRVAuaW5zdGFuY2U9bmV3IEVQKTtyZXR1cm4gRVAuaW5zdGFuY2V9OwpocWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFU0tUT1AiOnJldHVybiAxO2Nhc2UgIlVOS05PV05fUExBVEZPUk0iOnJldHVybiAwO2Nhc2UgIlRWIjpyZXR1cm4gMjtjYXNlICJHQU1FX0NPTlNPTEUiOnJldHVybiAzO2Nhc2UgIk1PQklMRSI6cmV0dXJuIDQ7Y2FzZSAiVEFCTEVUIjpyZXR1cm4gNX19OwpnLm85PWZ1bmN0aW9uKCl7dU98fCh1Tz1uZXcgeDNiKTtyZXR1cm4gdU99OwpkSj1mdW5jdGlvbihuKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1hdGNoOiAke259YCk7fTsKejE9ZnVuY3Rpb24obil7aWYoIS9eXHcrJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1pc21hdGNoOiAke259YCk7fTsKVDE9ZnVuY3Rpb24obil7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChuKT9wYXJzZUludChuLDE2KTpudWxsfTsKal89ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbj9uLmNvbm5lY3Rpb246dm9pZCAwfTsKQkI9ZnVuY3Rpb24oKXt2YXIgbj1qXygpO2lmKG4pe3ZhciBXPUN5W24udHlwZXx8InVua25vd24iXXx8IkNPTk5fVU5LTk9XTiI7bj1DeVtuLmVmZmVjdGl2ZVR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO1c9PT0iQ09OTl9DRUxMVUxBUl9VTktOT1dOIiYmbiE9PSJDT05OX1VOS05PV04iJiYoVz1uKTtpZihXIT09IkNPTk5fVU5LTk9XTiIpcmV0dXJuIFc7aWYobiE9PSJDT05OX1VOS05PV04iKXJldHVybiBufX07CndKPWZ1bmN0aW9uKCl7dmFyIG49al8oKTtpZihuPy5lZmZlY3RpdmVUeXBlKXJldHVybiBGay5oYXNPd25Qcm9wZXJ0eShuLmVmZmVjdGl2ZVR5cGUpP0ZrW24uZWZmZWN0aXZlVHlwZV06IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfVU5LTk9XTiJ9OwpSOT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gTTAoKSwhMH1jYXRjaChuKXtyZXR1cm4hMX19OwpNMD1mdW5jdGlvbigpe2lmKGcuQXIoIkRBVEFTWU5DX0lEIikhPT12b2lkIDApcmV0dXJuIGcuQXIoIkRBVEFTWU5DX0lEIik7dGhyb3cgbmV3IGcuUXgoIkRhdGFzeW5jIElEIG5vdCBzZXQiLCJ1bmtub3duIik7fTsKZy5jQj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGcuVngoMCxXLDAsRCl9OwphOT1mdW5jdGlvbihuKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSW1tZWRpYXRlSm9iIik7Vz9XKG4pOm4oKX07CmcuRHk9ZnVuY3Rpb24oKXtXTi5pbnN0YW5jZXx8KFdOLmluc3RhbmNlPW5ldyBXTik7cmV0dXJuIFdOLmluc3RhbmNlfTsKZy5WeD1mdW5jdGlvbihuLFcsRCxiKXtiIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGIpKSYmKGI9dm9pZCAwKTtyZXR1cm4obj1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIikpP24oVyxELGIpOmI9PT12b2lkIDA/KFcoKSxOYU4pOmcubiQoVyxifHwwKX07CmJRPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpO1cmJlcobil9OwprdT1mdW5jdGlvbigpe3JldHVybiB2TigpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTsKTEY9ZnVuY3Rpb24obil7aGN8fCh4dS5wdXNoKHt0eXBlOiJFUlJPUiIscGF5bG9hZDpufSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmVGPWZ1bmN0aW9uKG4sVyl7aGN8fCh4dS5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOm4scGF5bG9hZDpXfSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmcwPWZ1bmN0aW9uKG4pe2lmKG4uaW5kZXhPZigiOiIpPj0wKXRocm93IEVycm9yKCJEYXRhYmFzZSBuYW1lIGNhbm5vdCBjb250YWluICc6JyIpO307ClhxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnN1YnN0cigwLG4uaW5kZXhPZigiOiIpKXx8bn07CiR1PWZ1bmN0aW9uKG4sVyxELGIpe1c9WHEoVyk7dmFyIHY9biBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYFVuZXhwZWN0ZWQgZXJyb3I6ICR7bn1gKTtpZih2IGluc3RhbmNlb2YgcUwpcmV0dXJuIHY7bj17b2JqZWN0U3RvcmVOYW1lczpELGRiTmFtZTpXLGRiVmVyc2lvbjpifTtpZih2Lm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yIilyZXR1cm4gbmV3IHFMKCJRVU9UQV9FWENFRURFRCIsbik7aWYoZy5HbiYmdi5uYW1lPT09IlVua25vd25FcnJvciIpcmV0dXJuIG5ldyBxTCgiUVVPVEFfTUFZQkVfRVhDRUVERUQiLG4pO2lmKHYgaW5zdGFuY2VvZiB0YylyZXR1cm4gbmV3IHFMKCJNSVNTSU5HX0lOREVYIix7Li4ubixvYmplY3RTdG9yZTp2Lm9iamVjdFN0b3JlLGluZGV4OnYuaW5kZXh9KTtpZih2Lm5hbWU9PT0iSW52YWxpZFN0YXRlRXJyb3IiJiZMMGkuc29tZShrPT52Lm1lc3NhZ2UuaW5jbHVkZXMoaykpKXJldHVybiBuZXcgcUwoIkVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCIiwKbik7CmlmKHYubmFtZT09PSJBYm9ydEVycm9yIilyZXR1cm4gbmV3IHFMKCJVTktOT1dOX0FCT1JUIixuLHYubWVzc2FnZSk7di5hcmdzPVt7Li4ubixuYW1lOiJJZGJFcnJvciIsYTc6di5uYW1lfV07di5sZXZlbD0iV0FSTklORyI7cmV0dXJuIHZ9OwpnLnIwPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1rdSgpO3JldHVybiBuZXcgcUwoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOm4scHVibGljTmFtZTpXLHZlcnNpb246RCxoYXNTdWNjZWVkZWRPbmNlOmI/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9OwplcTE9ZnVuY3Rpb24obil7aWYoIW4pdGhyb3cgRXJyb3IoKTt0aHJvdyBuO307CmdVcj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CnBGPWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IkZVTEZJTExFRCIpdGhyb3cgRXJyb3IoImNhbGxpbmcgaGFuZGxlUmVzb2x2ZSBiZWZvcmUgdGhlIHByb21pc2UgaXMgZnVsZmlsbGVkLiIpO2xldCBrPUQobi5zdGF0ZS52YWx1ZSk7ayBpbnN0YW5jZW9mIHNSP05MKG4sVyxrLGIsdik6YihrKX1jYXRjaChrKXt2KGspfX07Cll1PWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IlJFSkVDVEVEIil0aHJvdyBFcnJvcigiY2FsbGluZyBoYW5kbGVSZWplY3QgYmVmb3JlIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLiIpO2xldCBrPUQobi5zdGF0ZS5yZWFzb24pO2sgaW5zdGFuY2VvZiBzUj9OTChuLFcsayxiLHYpOmIoayl9Y2F0Y2goayl7dihrKX19OwpOTD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9PT1EP3YobmV3IFR5cGVFcnJvcigiQ2lyY3VsYXIgcHJvbWlzZSBjaGFpbiBkZXRlY3RlZC4iKSk6RC50aGVuKGs9PntrIGluc3RhbmNlb2Ygc1I/TkwobixXLGssYix2KTpiKGspfSxrPT57dihrKX0pfTsKSE49ZnVuY3Rpb24obixXLEQpe3ZhciBiPSgpPT57dHJ5e24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsdiksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsayl9Y2F0Y2h7fX0sdj0oKT0+e1cobi5yZXN1bHQpOwpiKCl9LGs9KCk9PntEKG4uZXJyb3IpOwpiKCl9OwpuLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLHYpO24uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGspfTsKWDlVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZSgoVyxEKT0+e0hOKG4sVyxEKX0pfTsKSmM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntITihuLFcsRCl9KSl9OwpJZz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgc1IobmV3IGZGKChELGIpPT57dmFyIHY9KCk9Pnt2YXIgaz1uP1cobik6bnVsbDtrP2sudGhlbihoPT57bj1oO3YoKX0sYik6RCgpfTsKdigpfSkpfTsKU0Y9ZnVuY3Rpb24obil7cmV0dXJuIEpjKG4pLnRoZW4oVz0+Vz9uZXcgcV8yKG4sVyk6bnVsbCl9OwpBYz1mdW5jdGlvbigpe3JldHVybiBnLmwoImlkYl9pbW1lZGlhdGVfY29tbWl0Iil9OwpPUj1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj17bW9kZToicmVhZG9ubHkiLEdROiExLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIn07dHlwZW9mIEQ9PT0ic3RyaW5nIj92Lm1vZGU9RDpPYmplY3QuYXNzaWduKHYsRCk7bi50cmFuc2FjdGlvbkNvdW50Kys7RD12LkdRPzM6MTtmb3IodmFyIGs9MCxoOyFoOyl7aysrO2xldCBHPU1hdGgucm91bmQoKDAsZy5SKSgpKTt0cnl7dmFyIHg9bi5OLnRyYW5zYWN0aW9uKFcsdi5tb2RlKSxMPWIsZT0hIXYuY29tbWl0O2xldCByPW5ldyBtWCh4KSxOPWF3YWl0IEc5dyhyLEwsZSksSD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7S0YobixHLEgsayx2b2lkIDAsVy5qb2luKCksdik7cmV0dXJuIE59Y2F0Y2gocil7TD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7bGV0IE49JHUocixuLk4ubmFtZSxXLmpvaW4oKSxuLk4udmVyc2lvbik7aWYoTiBpbnN0YW5jZW9mIHFMJiYhTi5OfHxrPj1EKUtGKG4sRyxMLGssTixXLmpvaW4oKSwKdiksaD1OfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9OwpaeT1mdW5jdGlvbihuLFcsRCl7bj1uLk4uY3JlYXRlT2JqZWN0U3RvcmUoVyxEKTtyZXR1cm4gbmV3IFBOKG4pfTsKVVI9ZnVuY3Rpb24obixXKXtuLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhXKSYmbi5OLmRlbGV0ZU9iamVjdFN0b3JlKFcpfTsKS0Y9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7Vz1ELVc7dj8odiBpbnN0YW5jZW9mIHFMJiYodi50eXBlPT09IlFVT1RBX0VYQ0VFREVEInx8di50eXBlPT09IlFVT1RBX01BWUJFX0VYQ0VFREVEIikmJmVGKCJRVU9UQV9FWENFRURFRCIse2RiTmFtZTpYcShuLk4ubmFtZSksb2JqZWN0U3RvcmVOYW1lczprLHRyYW5zYWN0aW9uQ291bnQ6bi50cmFuc2FjdGlvbkNvdW50LHRyYW5zYWN0aW9uTW9kZTpoLm1vZGV9KSx2IGluc3RhbmNlb2YgcUwmJnYudHlwZT09PSJVTktOT1dOX0FCT1JUIiYmKEQtPW4uVyxEPDAmJkQ+PTIxNDc0ODM2NDgmJihEPTApLGVGKCJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCIse29iamVjdFN0b3JlTmFtZXM6ayx0cmFuc2FjdGlvbkR1cmF0aW9uOlcsdHJhbnNhY3Rpb25Db3VudDpuLnRyYW5zYWN0aW9uQ291bnQsZGJEdXJhdGlvbjpEfSksbi5KPSEwKSx5YyhuLCExLGIsayxXLGgudGFnKSxMRih2KSk6eWMobiwhMCxiLGssVyxoLnRhZyl9Owp5Yz1mdW5jdGlvbihuLFcsRCxiLHYsaz0iSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIil7ZUYoIlRSQU5TQUNUSU9OX0VOREVEIix7b2JqZWN0U3RvcmVOYW1lczpiLGNvbm5lY3Rpb25IYXNVbmtub3duQWJvcnRlZFRyYW5zYWN0aW9uOm4uSixkdXJhdGlvbjp2LGlzU3VjY2Vzc2Z1bDpXLHRyeUNvdW50OkQsdGFnOmt9KX07CkVSPWZ1bmN0aW9uKG4sVyxEKXtuLk4uY3JlYXRlSW5kZXgoVyxELHt1bmlxdWU6ITF9KX07CnVRPWZ1bmN0aW9uKG4sVyxEKXtuPW4uTi5vcGVuQ3Vyc29yKFcucXVlcnksVy5kaXJlY3Rpb24pO3JldHVybiBpUShuKS50aGVuKGI9PklnKGIsRCkpfTsKdFhVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIHVRKG4se3F1ZXJ5Old9LEQ9PkQuZGVsZXRlKCkudGhlbigoKT0+b2coRCkpKS50aGVuKCgpPT57fSl9OwokM3g9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB1UShuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwpzMHI9ZnVuY3Rpb24obil7dmFyIFc9W107cmV0dXJuIHJfaihuLEQ9PntXLnB1c2goRC5jdXJzb3IucHJpbWFyeUtleSk7RC5jdXJzb3IuY29udGludWUodm9pZCAwKTtyZXR1cm4gU0YoRC5yZXF1ZXN0KX0pLnRoZW4oKCk9PlcpfTsKZDA9ZnVuY3Rpb24obil7cmV0dXJuImdldEFsbEtleXMiaW4gSURCT2JqZWN0U3RvcmUucHJvdG90eXBlP0pjKG4uTi5nZXRBbGxLZXlzKHZvaWQgMCx2b2lkIDApKTpzMHIobil9OwpyX2o9ZnVuY3Rpb24obixXKXt2YXIgRD17cXVlcnk6dm9pZCAwfSxiPUQucXVlcnk7RD1ELmRpcmVjdGlvbjtuPSJvcGVuS2V5Q3Vyc29yImluIElEQk9iamVjdFN0b3JlLnByb3RvdHlwZT9uLk4ub3BlbktleUN1cnNvcihiLEQpOm4uTi5vcGVuQ3Vyc29yKGIsRCk7cmV0dXJuIFNGKG4pLnRoZW4odj0+SWcodixXKSl9OwpHOXc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyBQcm9taXNlKCh2LGspPT57dHJ5e2xldCBoPVcobik7RCYmbi5jb21taXQoKTtoLnRoZW4oeD0+e3YoeCl9KS5jYXRjaChrKX1jYXRjaChoKXtrKGgpLG4uYWJvcnQoKX19KTsKcmV0dXJuIFByb21pc2UuYWxsKFtiLG4uZG9uZV0pLnRoZW4oKFt2XSk9PnYpfTsKem49ZnVuY3Rpb24obixXLEQpe3ZhciB7cXVlcnk6Yj1udWxsLGRpcmVjdGlvbjp2PSJuZXh0In09VztuPW4uTi5vcGVuQ3Vyc29yKGIsdik7cmV0dXJuIGlRKG4pLnRoZW4oaz0+SWcoayxEKSl9OwpOWmk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB6bihuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwppUT1mdW5jdGlvbihuKXtyZXR1cm4gSmMobikudGhlbihXPT5XP25ldyBwOXgobixXKTpudWxsKX07Cm9nPWZ1bmN0aW9uKG4pe24uY3Vyc29yLmNvbnRpbnVlKHZvaWQgMCk7cmV0dXJuIGlRKG4ucmVxdWVzdCl9OwpINXg9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgUHJvbWlzZSgoYix2KT0+e3ZhciBrPVchPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihuLFcpOnNlbGYuaW5kZXhlZERCLm9wZW4obik7dmFyIGg9RC5ibG9ja2VkLHg9RC5ibG9ja2luZyxMPUQuQnosZT1ELnVwZ3JhZGUsRz1ELmNsb3NlZCxyLE49KCk9PntyfHwocj1uZXcgWV9yKGsucmVzdWx0LHtjbG9zZWQ6R30pKTtyZXR1cm4gcn07CmsuYWRkRXZlbnRMaXN0ZW5lcigidXBncmFkZW5lZWRlZCIsSD0+e3RyeXtpZihILm5ld1ZlcnNpb249PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IG5ld1ZlcnNpb24gb24gSURiVmVyc2lvbkNoYW5nZUV2ZW50IGlzIG51bGwiKTtpZihrLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigiSW52YXJpYW50OiB0cmFuc2FjdGlvbiBvbiBJRGJPcGVuRGJSZXF1ZXN0IGlzIG51bGwiKTtILmRhdGFMb3NzJiZILmRhdGFMb3NzIT09Im5vbmUiJiZlRigiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOkguZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpYcShuKX0pO2xldCBBPU4oKSx5PW5ldyBtWChrLnRyYW5zYWN0aW9uKTtlJiZlKEEsVD0+SC5vbGRWZXJzaW9uPFQmJkgubmV3VmVyc2lvbj49VCx5KTsKeS5kb25lLmNhdGNoKFQ9Pnt2KFQpfSl9Y2F0Y2goQSl7dihBKX19KTsKay5hZGRFdmVudExpc3RlbmVyKCJzdWNjZXNzIiwoKT0+e3ZhciBIPWsucmVzdWx0O3gmJkguYWRkRXZlbnRMaXN0ZW5lcigidmVyc2lvbmNoYW5nZSIsKCk9Pnt4KE4oKSl9KTsKSC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9PntlRigiSURCX1VORVhQRUNURURMWV9DTE9TRUQiLHtkYk5hbWU6WHEobiksZGJWZXJzaW9uOkgudmVyc2lvbn0pO0wmJkwoKX0pOwpiKE4oKSl9KTsKay5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2KGsuZXJyb3IpfSk7CmgmJmsuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntoKCl9KX0pfTsKbFE9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBINXgobixXLEQpfTsKVG49YXN5bmMgZnVuY3Rpb24obixXPXt9KXt0cnl7bGV0IEQ9c2VsZi5pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UobiksYj1XLmJsb2NrZWQ7YiYmRC5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIiwoKT0+e2IoKX0pOwphd2FpdCBYOVUoRCl9Y2F0Y2goRCl7dGhyb3cgJHUoRCxuLCIiLC0xKTt9fTsKakY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHFMKCJJTkNPTVBBVElCTEVfREJfVkVSU0lPTiIse2RiTmFtZTpuLm5hbWUsb2xkVmVyc2lvbjpuLm9wdGlvbnMudmVyc2lvbixuZXdWZXJzaW9uOld9KX07CkNGPWZ1bmN0aW9uKG4sVyl7aWYoIVcpdGhyb3cgZy5yMCgib3BlbldpdGhUb2tlbiIsWHEobi5uYW1lKSk7cmV0dXJuIG4ub3BlbigpfTsKRnE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gT1IoYXdhaXQgQ0YoQk4sVyksWyJkYXRhYmFzZXMiXSx7R1E6ITAsbW9kZToicmVhZHdyaXRlIn0sRD0+e3ZhciBiPUQub2JqZWN0U3RvcmUoImRhdGFiYXNlcyIpO3JldHVybiBiLmdldChuLmFjdHVhbE5hbWUpLnRoZW4odj0+e2lmKHY/bi5hY3R1YWxOYW1lIT09di5hY3R1YWxOYW1lfHxuLnB1YmxpY05hbWUhPT12LnB1YmxpY05hbWV8fG4udXNlcklkZW50aWZpZXIhPT12LnVzZXJJZGVudGlmaWVyOjEpcmV0dXJuIGIucHV0KG4pLnRoZW4oKCk9Pnt9KX0pfSl9Owp3MD1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBuPyhhd2FpdCBDRihCTixXKSkuZGVsZXRlKCJkYXRhYmFzZXMiLG4pOnZvaWQgMH07CmZCVT1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPVtdO1c9YXdhaXQgQ0YoQk4sVyk7YXdhaXQgT1IoVyxbImRhdGFiYXNlcyJdLHtHUTohMCxtb2RlOiJyZWFkb25seSJ9LGI9PntELmxlbmd0aD0wO3JldHVybiB1UShiLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKSx7fSx2PT57bih2LmdldFZhbHVlKCkpJiZELnB1c2godi5nZXRWYWx1ZSgpKTtyZXR1cm4gb2codil9KX0pOwpyZXR1cm4gRH07CkpfMj1mdW5jdGlvbihuLFcpe3JldHVybiBmQlUoRD0+RC5wdWJsaWNOYW1lPT09biYmRC51c2VySWRlbnRpZmllciE9PXZvaWQgMCxXKX07CklCaT1hc3luYyBmdW5jdGlvbigpe2lmKGt1KCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIG47aWYoIShuPWcuTUwmJkMkKCkmJiFCMCgpfHxnLlJnKSl7dHJ5e249c2VsZjt2YXIgVz0hIShuLmluZGV4ZWREQiYmbi5JREJJbmRleCYmbi5JREJLZXlSYW5nZSYmbi5JREJPYmplY3RTdG9yZSl9Y2F0Y2goRCl7Vz0hMX1uPSFXfWlmKG58fCEoIklEQlRyYW5zYWN0aW9uImluIHNlbGYmJiJvYmplY3RTdG9yZU5hbWVzImluIElEQlRyYW5zYWN0aW9uLnByb3RvdHlwZSkpcmV0dXJuITE7dHJ5e3JldHVybiBhd2FpdCBGcSh7YWN0dWFsTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIscHVibGljTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIsdXNlcklkZW50aWZpZXI6dm9pZCAwfSxRYyksYXdhaXQgdzAoInl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLFFjKSwhMH1jYXRjaChEKXtyZXR1cm4hMX19OwpjTj1mdW5jdGlvbigpe2lmKFZjIT09dm9pZCAwKXJldHVybiBWYztoYz0hMDtyZXR1cm4gVmM9SUJpKCkudGhlbihuPT57aGM9ITE7aWYodk4oKT8uSigpKXt2YXIgVz17aGFzU3VjY2VlZGVkT25jZTprdSgpPy5oYXNTdWNjZWVkZWRPbmNlfHxufTt2TigpPy5zZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsVywyNTkyRTMsITApfXJldHVybiBufSl9OwphZz1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dGdsb2JhbC5pZGJUb2tlbl8iKXx8dm9pZCAwfTsKZy5uUD1mdW5jdGlvbigpe3ZhciBuPWFnKCk7cmV0dXJuIG4/UHJvbWlzZS5yZXNvbHZlKG4pOmNOKCkudGhlbihXPT57Vz8oZy5HYigieXRnbG9iYWwuaWRiVG9rZW5fIixRYyksVz1RYyk6Vz12b2lkIDA7cmV0dXJuIFd9KX07Cld6PWZ1bmN0aW9uKG4pe2lmKCFSOSgpKXRocm93IG49bmV3IHFMKCJBVVRIX0lOVkFMSUQiLHtkYk5hbWU6bn0pLExGKG4pLG47dmFyIFc9TTAoKTtyZXR1cm57YWN0dWFsTmFtZTpgJHtufToke1d9YCxwdWJsaWNOYW1lOm4sdXNlcklkZW50aWZpZXI6V319OwpEbT1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1FcnJvcigpLnN0YWNrPz8iIixrPWF3YWl0IGcublAoKTtpZighayl0aHJvdyBXPWcucjAoIm9wZW5EYkltcGwiLG4sVyksZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIil8fChXLnN0YWNrPWAke1cuc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKSxMRihXKSxXO2cwKG4pO3Y9RD97YWN0dWFsTmFtZTpuLHB1YmxpY05hbWU6bix1c2VySWRlbnRpZmllcjp2b2lkIDB9Old6KG4pO3RyeXtyZXR1cm4gYXdhaXQgRnEodixrKSxhd2FpdCBsUSh2LmFjdHVhbE5hbWUsVyxiKX1jYXRjaChoKXt0cnl7YXdhaXQgdzAodi5hY3R1YWxOYW1lLGspfWNhdGNoe310aHJvdyBoO319OwpTX1o9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITEsRCl9OwpBX3I9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITAsRCl9OwptM3c9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLG49V3oobiksYXdhaXQgVG4obi5hY3R1YWxOYW1lLFcpLGF3YWl0IHcwKG4uYWN0dWFsTmFtZSxEKSl9OwpLMHI9ZnVuY3Rpb24obixXLEQpe249bi5tYXAoYXN5bmMgYj0+e2F3YWl0IFRuKGIuYWN0dWFsTmFtZSxXKTthd2FpdCB3MChiLmFjdHVhbE5hbWUsRCl9KTsKcmV0dXJuIFByb21pc2UuYWxsKG4pLnRoZW4oKCk9Pnt9KX07CmI5PWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9YXdhaXQgZy5uUCgpO0QmJihnMChuKSxuPWF3YWl0IEpfMihuLEQpLGF3YWl0IEswcihuLFcsRCkpfTsKdno9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLGF3YWl0IFRuKG4sVyksYXdhaXQgdzAobixEKSl9OwpQNE09ZnVuY3Rpb24obixXKXt2YXIgRDtyZXR1cm4oKT0+e0R8fChEPW5ldyBPNXQobixXKSk7cmV0dXJuIER9fTsKa089ZnVuY3Rpb24obixXKXtyZXR1cm4gUDRNKG4sVyl9OwpoNz1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoWjVDKCksbil9Owp4Tz1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXtuPXtjb25maWc6bixoYXNoRGF0YTpXLHRpbWVzdGFtcDpiIT09dm9pZCAwP2I6KDAsZy5SKSgpfTtEPWF3YWl0IGg3KEQpO2F3YWl0IEQuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IEQucHV0KCJob3RDb25maWdTdG9yZSIsbil9OwpMUD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYpe249e2NvbmZpZzpuLGhhc2hEYXRhOlcsY29uZmlnRGF0YTpELHRpbWVzdGFtcDp2IT09dm9pZCAwP3Y6KDAsZy5SKSgpfTtiPWF3YWl0IGg3KGIpO2F3YWl0IGIuY2xlYXIoImNvbGRDb25maWdTdG9yZSIpO3JldHVybiBhd2FpdCBiLnB1dCgiY29sZENvbmZpZ1N0b3JlIixuKX07CmU5PWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQgaDcobik7dmFyIFc9dm9pZCAwO2F3YWl0IE9SKG4sWyJjb2xkQ29uZmlnU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+em4oRC5vYmplY3RTdG9yZSgiY29sZENvbmZpZ1N0b3JlIikuaW5kZXgoImNvbGRUaW1lc3RhbXBJbmRleCIpLHtkaXJlY3Rpb246InByZXYifSxiPT57Vz1iLmdldFZhbHVlKCl9KSk7CnJldHVybiBXfTsKZzM9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCBoNyhuKTt2YXIgVz12b2lkIDA7YXdhaXQgT1IobixbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnpuKEQub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGI9PntXPWIuZ2V0VmFsdWUoKX0pKTsKcmV0dXJuIFd9OwpVM3Q9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgieXRHY2ZDb25maWciKX07CnFCPWZ1bmN0aW9uKCl7aWYoIWcuWDMuaW5zdGFuY2Upe2xldCBuPW5ldyBnLlgzO2cuWDMuaW5zdGFuY2U9bn1yZXR1cm4gZy5YMy5pbnN0YW5jZX07Cmk1aD1mdW5jdGlvbihuKXtpZighbi5KfHwhbi5OKXtpZighYWcoKSl7bGV0IFc9Zy5yMCgic2NoZWR1bGVHZXRDb25maWdzIik7WkUoVyl9bi5YfHwobi5YPXRhLkxTKGFzeW5jKCk9Pnt0cnl7YXdhaXQgeV9yKG4pfWNhdGNoe310cnl7YXdhaXQgRVVTKG4pfWNhdGNoe31uLlgmJihuLlg9MCl9LDEwMCkpfX07CnVEeD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmwoInN0YXJ0X2NsaWVudF9nY2YiKXx8Zy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpKWcubCgic3RhcnRfY2xpZW50X2djZiIpJiYoYXdhaXQgZy5uUCgpJiZSOSgpJiYhZy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpPyhuLlY9ITAsaTVoKG4pKTooR28obiksdDcobikpKSxnLmwoImRlbGV0ZV9nY2ZfY29uZmlnX2RiIikmJmF3YWl0IFUzdCgpfTsKJE89ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpfTsKdmFyIG9Vaj1mdW5jdGlvbihuLFcpe3JldHVybiBlWFtJWzEwXV0odGhpcywxMCw3MTI2LG4sVyl9OwpyMz1mdW5jdGlvbihuLFcpe24uSj1XO2cuR2IoInl0LmdjZi5jb25maWcuaG90Q29uZmlnR3JvdXAiLG4uSnx8bnVsbCl9Owp0Nz1mdW5jdGlvbihuKXtyMyhuLGcuQXIoIlJBV19IT1RfQ09ORklHX0dST1VQIikpO24uVyhnLkFyKCJTRVJJQUxJWkVEX0hPVF9IQVNIX0RBVEEiKSl9Owp5X3I9YXN5bmMgZnVuY3Rpb24obil7aWYobi5KKXJldHVybiAkTygpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0SG90Q29uZmlnIElEQiBub3QgaW5pdGlhbGl6ZWQiKSxaRShuKSxQcm9taXNlLnJlamVjdChuKTt2YXIgVz1hZygpLEQ9Zy5BcigiVElNRV9DUkVBVEVEX01TIik7aWYoVyl7dmFyIGI9YXdhaXQgZzMoVyk7aWYoYiYmYi50aW1lc3RhbXA+RClyZXR1cm4gcjMobixiLmNvbmZpZyksbi5XKGIuaGFzaERhdGEpLCRPKCl9ZWxzZSBiPWcucjAoImdldEhvdENvbmZpZyB0b2tlbiBlcnJvciIpLFpFKGIpO3Q3KG4pO1cmJm4uSiYmbi5ob3RIYXNoRGF0YSYmYXdhaXQgeE8obi5KLG4uaG90SGFzaERhdGEsVyxEKTtyZXR1cm4gbi5KPyRPKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKc0o9ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiKX07Ck5CPWZ1bmN0aW9uKG4sVyl7bi5OPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiLG4uTnx8bnVsbCl9OwpwUD1mdW5jdGlvbihuLFcpe24uY29uZmlnRGF0YT1XO2cuR2IoInl0LmdjZi5jb25maWcuY29sZENvbmZpZ0RhdGEiLG4uY29uZmlnRGF0YXx8bnVsbCl9OwpZTz1mdW5jdGlvbihuLFcpe24uY29sZEhhc2hEYXRhPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiLG4uY29sZEhhc2hEYXRhfHxudWxsKX07CkdvPWZ1bmN0aW9uKG4pe05CKG4sZy5BcigiUkFXX0NPTERfQ09ORklHX0dST1VQIikpO1lPKG4sZy5BcigiU0VSSUFMSVpFRF9DT0xEX0hBU0hfREFUQSIpKTtwUChuLG4uTj8uY29uZmlnRGF0YSl9OwpFVVM9YXN5bmMgZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBzSigpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0Q29sZENvbmZpZyBJREIgbm90IGluaXRpYWxpemVkIiksWkUobiksUHJvbWlzZS5yZWplY3Qobik7dmFyIFc9YWcoKSxEPWcuQXIoIlRJTUVfQ1JFQVRFRF9NUyIpO2lmKFcpe3ZhciBiPWF3YWl0IGU5KFcpO2lmKGImJmIudGltZXN0YW1wPkQpcmV0dXJuIE5CKG4sYi5jb25maWcpLHBQKG4sYi5jb25maWdEYXRhKSxZTyhuLGIuaGFzaERhdGEpLHNKKCl9ZWxzZSBiPWcucjAoImdldENvbGRDb25maWciKSxaRShiKTtHbyhuKTtXJiZuLk4mJm4uY29sZEhhc2hEYXRhJiZuLmNvbmZpZ0RhdGEmJmF3YWl0IExQKG4uTixuLmNvbGRIYXNoRGF0YSxuLmNvbmZpZ0RhdGEsVyxEKTtyZXR1cm4gbi5OP3NKKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKSHo9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKGcubCgic3RhcnRfY2xpZW50X2djZiIpKXtEJiZyMyhuLEQpO24uVyhXKTtsZXQgYj1hZygpO2ImJihEfHwoRD0oYXdhaXQgZzMoYikpPy5jb25maWcpLGF3YWl0IHhPKEQsVyxiKSk7aWYoRCl7bj1uLks7Zm9yKGxldCB2IG9mIG4uTil2KEQpfX19OwpmUD1hc3luYyBmdW5jdGlvbihuLFcsRCl7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJihZTyhuLFcpLG49YWcoKSkmJihEfHwoRD0oYXdhaXQgZTkobikpPy5jb25maWcpLEQmJmF3YWl0IExQKEQsVyxELmNvbmZpZ0RhdGEsbikpfTsKSjc9ZnVuY3Rpb24oKXt2YXIgbj1xQigpLFc9KDAsZy5SKSgpLW4uajtpZighKG4uaiE9PTAmJlc8djAoInNlbmRfY29uZmlnX2hhc2hfdGltZXIiKSkpe1c9Zy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnRGF0YSIpO3ZhciBEPWcucnIoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiKSxiPWcucnIoInl0LmdjZi5jb25maWcuY29sZEhhc2hEYXRhIik7VyYmRCYmYiYmKG4uaj0oMCxnLlIpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpXLGhvdEhhc2hEYXRhOkQsY29sZEhhc2hEYXRhOmJ9fX07Ckk3PWZ1bmN0aW9uKCl7cmV0dXJuIklOTkVSVFVCRV9BUElfS0VZImluIElFJiYiSU5ORVJUVUJFX0FQSV9WRVJTSU9OImluIElFfTsKZy5TOT1mdW5jdGlvbigpe3JldHVybntpbm5lcnR1YmVBcGlLZXk6Zy5BcigiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9BUElfVkVSU0lPTiIpLGNSOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9DT05GSUdfSU5GTyIpLEcwOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIiksRmQ6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpLGlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiksTWI6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSxFRTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9HTCIpLHY2OmcuQXIoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIil8fCIiLE9zOiEhZy5BcigiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSksT0Q6ISFnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIsCiExKSxhcHBJbnN0YWxsRGF0YTpnLkFyKCJTRVJJQUxJWkVEX0NMSUVOVF9DT05GSUdfREFUQSIpfX07CmcuVUo9ZnVuY3Rpb24obil7dmFyIFc9e2NsaWVudDp7aGw6bi5NYixnbDpuLkVFLGNsaWVudE5hbWU6bi5HMCxjbGllbnRWZXJzaW9uOm4uaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24sY29uZmlnSW5mbzpuLmNSfX07bmF2aWdhdG9yLnVzZXJBZ2VudCYmKFcuY2xpZW50LnVzZXJBZ2VudD1TdHJpbmcobmF2aWdhdG9yLnVzZXJBZ2VudCkpO3ZhciBEPWcucWkuZGV2aWNlUGl4ZWxSYXRpbztEJiZEIT0xJiYoVy5jbGllbnQuc2NyZWVuRGVuc2l0eUZsb2F0PVN0cmluZyhEKSk7RD1rVCgpO0QhPT0iIiYmKFcuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49RCk7RD1oeSgpO0QubGVuZ3RoPjAmJihXLnJlcXVlc3Q9e2ludGVybmFsRXhwZXJpbWVudEZsYWdzOkR9KTtBNyhuLHZvaWQgMCxXKTttVCh2b2lkIDAsVyk7S1Aodm9pZCAwLFcpO09KKG4sdm9pZCAwLFcpO1B6KHZvaWQgMCxXKTtnLmwoInN0YXJ0X2NsaWVudF9nY2YiKSYmWm0odm9pZCAwLFcpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJgohZy5sKCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoVy51c2VyPXtvbkJlaGFsZk9mVXNlcjpnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpfSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoVy51c2VyPXsuLi5XLnVzZXIsc2VyaWFsaXplZERlbGVnYXRpb25Db250ZXh0Om59KTtuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7Zy5sKCJlbmFibGVfcGVyc2lzdGVudF9kZXZpY2VfdG9rZW4iKSYmbj8uY2xpZW50Py5yb2xsb3V0VG9rZW4mJihXLmNsaWVudC5yb2xsb3V0VG9rZW49bj8uY2xpZW50Py5yb2xsb3V0VG9rZW4pO249T2JqZWN0O0Q9bi5hc3NpZ247dmFyIGI9Vy5jbGllbnQsdj1nLkFyKCJERVZJQ0UiLCIiKSxrPXt9O2ZvcihsZXQgW2gseF1vZiBPYmplY3QuZW50cmllcyhnLml3KHYpKSl2PWgsdj09PSJjYnJhbmQiPwprLmRldmljZU1ha2U9eDp2PT09ImNtb2RlbCI/ay5kZXZpY2VNb2RlbD14OnY9PT0iY2JyIj9rLmJyb3dzZXJOYW1lPXg6dj09PSJjYnJ2ZXIiP2suYnJvd3NlclZlcnNpb249eDp2PT09ImNvcyI/ay5vc05hbWU9eDp2PT09ImNvc3ZlciI/ay5vc1ZlcnNpb249eDp2PT09ImNwbGF0Zm9ybSImJihrLnBsYXRmb3JtPXgpO1cuY2xpZW50PUQuY2FsbChuLGIsayk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoVy5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsVy5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIFd9OwpBNz1mdW5jdGlvbihuLFcsRCl7bj1uLkcwO2lmKG49PT0iV0VCInx8bj09PSJNV0VCInx8bj09PTF8fG49PT0yKVc/KEQ9Z2UoVyx5ZCw5Nil8fG5ldyB5ZCxuPXl4KCksbj1PYmplY3Qua2V5cyhkM2opLmluZGV4T2Yobiksbj1uPT09LTE/bnVsbDpuLG4hPT1udWxsJiZLbihELDMsbiksJDkoVyx5ZCw5NixEKSk6RCYmKEQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPUQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPz97fSxELmNsaWVudC5tYWluQXBwV2ViSW5mby53ZWJEaXNwbGF5TW9kZT15eCgpKX07Cm1UPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpO0QmJihuPyhXPWdlKG4sRUosNyl8fG5ldyBFSixnLlNFKFcsNCxEKSwkOShuLEVKLDcsVykpOlcmJihXLnRoaXJkUGFydHk9e2VtYmVkVXJsOkR9KSl9OwpLUD1mdW5jdGlvbihuLFcpe2lmKGcubCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJmcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkpe2xldCBEPWcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnk7bj9veihuLDk1LGcubDQoRCoxRTYpKTpXJiYoVy5jbGllbnQubWVtb3J5VG90YWxLYnl0ZXM9YCR7RCoxRTZ9YCl9fTsKT0o9ZnVuY3Rpb24obixXLEQpe24uYXBwSW5zdGFsbERhdGEmJihXPyhEPWdlKFcsaTksNjIpPz9uZXcgaTksZy5TRShELDYsbi5hcHBJbnN0YWxsRGF0YSksJDkoVyxpOSw2MixEKSk6RCYmKEQuY2xpZW50LmNvbmZpZ0luZm89RC5jbGllbnQuY29uZmlnSW5mb3x8e30sRC5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1uLmFwcEluc3RhbGxEYXRhKSl9OwpQej1mdW5jdGlvbihuLFcpe3ZhciBEPUJCKCk7RCYmKG4/S24obiw2MSx6cXdbRF0pOlcmJihXLmNsaWVudC5jb25uZWN0aW9uVHlwZT1EKSk7Zy5sKCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKEQ9d0ooKSkmJihuP0tuKG4sOTQsbEJyW0RdKTpXJiYoVy5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9RCkpfTsKVFpqPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj17fTtnLkFyKCJFT01fVklTSVRPUl9EQVRBIik/Yj17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpfTpiPXsiWC1Hb29nLVZpc2l0b3ItSWQiOkQudmlzaXRvckRhdGF8fGcuQXIoIlZJU0lUT1JfREFUQSIsIiIpfTtpZihXJiZXLmluY2x1ZGVzKCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iKSlyZXR1cm4gYjtXPUQuUDF8fGcuQXIoIkFVVEhPUklaQVRJT04iKTtXfHwobj9XPWBCZWFyZXIgJHtnLnJyKCJnYXBpLmF1dGguZ2V0VG9rZW4iKSgpLmFjY2Vzc190b2tlbn1gOihuPWlPKCkuYWoodTkpLGcubCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIG5bIlgtR29vZy1QYWdlSWQiXSxiPXsuLi5iLC4uLm59KSk7VyYmKGIuQXV0aG9yaXphdGlvbj1XKTtyZXR1cm4gYn07ClptPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9SjcoKTtpZihEKXt2YXIgYj1ELmNvbGRDb25maWdEYXRhLHY9RC5jb2xkSGFzaERhdGE7RD1ELmhvdEhhc2hEYXRhO24/KFc9Z2UobixpOSw2Mik/P25ldyBpOSxiPWcuU0UoVywxLGIpLGcuU0UoYiwzLHYpLlcoRCksJDkobixpOSw2MixXKSk6VyYmKFcuY2xpZW50LmNvbmZpZ0luZm89Vy5jbGllbnQuY29uZmlnSW5mb3x8e30sYiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YiksdiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPXYpLEQmJihXLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPUQpKX19OwpvNz1mdW5jdGlvbihuKXt0aGlzLnZlcnNpb249MTt0aGlzLmFyZ3M9bn07CmQzPWZ1bmN0aW9uKG4sVyl7dGhpcy50b3BpYz1uO3RoaXMuTj1XfTsKbDk9ZnVuY3Rpb24obixXKXt2YXIgRD16bygpO0QmJkQucHVibGlzaC5jYWxsKEQsbi50b1N0cmluZygpLG4sVyl9OwpqMHg9ZnVuY3Rpb24obil7dmFyIFc9VG8sRD16bygpO2lmKCFEKXJldHVybiAwO3ZhciBiPUQuc3Vic2NyaWJlKFcudG9TdHJpbmcoKSwodixrKT0+e3ZhciBoPWcucnIoInl0UHVic3ViMlB1YnN1YjJTa2lwU3ViS2V5Iik7aCYmaD09Ynx8KGg9KCk9PntpZihqOVtiXSl0cnl7aWYoayYmVyBpbnN0YW5jZW9mIGQzJiZXIT12KXRyeXt7dmFyIHg9Vy5OLEw9aztpZighTC5hcmdzfHwhTC52ZXJzaW9uKXRocm93IEVycm9yKCJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogc2VyaWFsaXplZERhdGEgaXMgaW5jb21wbGV0ZS4iKTtsZXQgZTt0cnl7aWYoIXguQ2Ipe2xldCBHPW5ldyB4O3guQ2I9Ry52ZXJzaW9ufWU9eC5DYn1jYXRjaChHKXt9aWYoIWV8fEwudmVyc2lvbiE9ZSl0aHJvdyBFcnJvcigieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6IHNlcmlhbGl6ZWREYXRhIHZlcnNpb24gaXMgaW5jb21wYXRpYmxlLiIpO3RyeXtrPVJlZmxlY3QuY29uc3RydWN0KHgsZy5STShMLmFyZ3MpKX1jYXRjaChHKXt0aHJvdyBHLm1lc3NhZ2U9CiJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogIitHLm1lc3NhZ2UsRzt9fX1jYXRjaChlKXt0aHJvdyBlLm1lc3NhZ2U9Inl0LnB1YnN1YjIucHVic3ViMiBjcm9zcy1iaW5hcnkgY29udmVyc2lvbiBlcnJvciBmb3IgIitXLnRvU3RyaW5nKCkrIjogIitlLm1lc3NhZ2UsZTt9bi5jYWxsKHdpbmRvdyxrKX1jYXRjaChlKXtPdChlKX19LENQW1cudG9TdHJpbmcoKV0/Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/dGEuTFMoaCk6Zy5uJChoLDApOmgoKSl9KTsKajlbYl09ITA7QnpbVy50b1N0cmluZygpXXx8KEJ6W1cudG9TdHJpbmcoKV09W10pO0J6W1cudG9TdHJpbmcoKV0ucHVzaChiKTtyZXR1cm4gYn07CkYwTT1mdW5jdGlvbigpe3ZhciBuPUM0dyxXPWoweChmdW5jdGlvbihEKXtuLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO0JaaChXKX0pOwpyZXR1cm4gV307CkJaaD1mdW5jdGlvbihuKXt2YXIgVz16bygpO1cmJih0eXBlb2Ygbj09PSJudW1iZXIiJiYobj1bbl0pLGcueTIobixEPT57Vy51bnN1YnNjcmliZUJ5S2V5KEQpO2RlbGV0ZSBqOVtEXX0pKX07CnpvPWZ1bmN0aW9uKCl7cmV0dXJuIGcucnIoInl0UHVic3ViMlB1YnN1YjJJbnN0YW5jZSIpfTsKRjM9ZnVuY3Rpb24obixXLEQ9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixELnNhbXBsZVJhdGUvMTAwKSYmbDkoIm1ldGFfbG9nZ2luZ19jc2lfZXZlbnQiLHt0aW1lck5hbWU6bix0aW1lbGluZURhdGE6V30pfTsKVmQ9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9e3N0YXJ0VGltZTooMCxnLlIpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD13MyhXKTtpZihoPT1udWxsfHwhKGg+TUJ8fGg8UjcpKXt2YXIgaz1YJChRZChXKSk7bGV0IHg9KDAsZy5SKSgpO3YudGlja3MuZ2VsYz14O3c5aisrO2cubCgiZ2VsX2NvbXByZXNzaW9uX2NzaV9raWxsc3dpdGNoIil8fCFnLmwoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeSIpJiYhZy5sKCJsb2dfZ2VsX2NvbXByZXNzaW9uX2xhdGVuY3lfbHIiKXx8RjMoImdlbF9jb21wcmVzc2lvbiIsdix7c2FtcGxlUmF0ZTouMX0pO0QuaGVhZGVyc3x8KEQuaGVhZGVycz17fSk7RC5oZWFkZXJzWyJDb250ZW50LUVuY29kaW5nIl09Imd6aXAiO0QucG9zdEJvZHk9aztELnBvc3RQYXJhbXM9dm9pZCAwfWIobixEKX1jYXRjaChoKXtaRShoKSxiKG4sRCl9fTsKTVhTPWZ1bmN0aW9uKG4peygwLGcuUikoKTtpZighbi5ib2R5KXJldHVybiBuO3RyeXtsZXQgVz10eXBlb2Ygbi5ib2R5PT09InN0cmluZyI/bi5ib2R5OkpTT04uc3RyaW5naWZ5KG4uYm9keSksRD1XO2lmKHR5cGVvZiBXPT09InN0cmluZyIpe2xldCBiPXczKFcpO2lmKGIhPW51bGwmJihiPk1CfHxiPFI3KSlyZXR1cm4gbjtEPVgkKFFkKFcpKTsoMCxnLlIpKCl9bi5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihuLmhlYWRlcnN8fHt9KX07bi5ib2R5PUQ7cmV0dXJuIG59Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG59fTsKdzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybihuZXcgQmxvYihuLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG51bGx9fTsKY3o9ZnVuY3Rpb24obil7cmV0dXJuISFuLllXfHxuLld2fTsKbm09ZnVuY3Rpb24obil7Y3oobikmJiFuLk5oJiYobi5OPSEwLG4uQ3ImJk1hdGgucmFuZG9tKCk8PW4uS3ImJm4uZ0UudGkobi5ZVyksYTcobiksbi55Ry5XRygpJiZuLlcoKSxuLnlHLlNfKG4udVosbi5XLmJpbmQobikpLG4ueUcuU18obi5OQSxuLlguYmluZChuKSkpfTsKYTc9ZnVuY3Rpb24obil7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogcmV0cnlRdWV1ZWRSZXF1ZXN0cyIpO24uZ0UuaTQoIlFVRVVFRCIsbi5ZVykudGhlbihXPT57VyYmIVdVKG4sVyxuLlo0KT9uLkEkLkxTKGFzeW5jKCk9PntXLmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVyk7YTcobil9KTpuLnlHLldHKCkmJm4uVygpfSl9OwpENT1hc3luYyBmdW5jdGlvbihuLFcpe2lmKCFjeihuKSl0aHJvdyBFcnJvcigiSW5kZXhlZERCIGlzIG5vdCBzdXBwb3J0ZWQ6IGltbWVkaWF0ZVNlbmQiKTtXLmlkIT09dm9pZCAwJiYoYXdhaXQgbi5nRS5LNihXLmlkLG4uWVcpfHxuLkYyKEVycm9yKCJUaGUgcmVxdWVzdCBjYW5ub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlLiIpKSk7V1UobixXLG4uR3kpPyhXLnNraXBSZXRyeXx8KFc9UnEyKG4sVykpLFcmJihXLnNraXBSZXRyeSYmVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpLG4uTG0oVy51cmwsVy5vcHRpb25zLCEhVy5za2lwUmV0cnkpKSk6KG4uRjIoRXJyb3IoIk5ldHdvcmtsZXNzIExvZ2dpbmc6IFN0b3JlZCBsb2dzIHJlcXVlc3QgZXhwaXJlZCBhZ2UgbGltaXQiKSksVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpKX07CmJNPWZ1bmN0aW9uKG4sVyl7bi5oTCYmIW4ueUcuV0coKT9uLmhMKFcpOm4uaGFuZGxlRXJyb3IoVyl9OwpXVT1mdW5jdGlvbihuLFcsRCl7Vz1XLnRpbWVzdGFtcDtyZXR1cm4gbi5ub3coKS1XPj1EPyExOiEwfTsKUnEyPWZ1bmN0aW9uKG4sVyl7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogdXBkYXRlUmVxdWVzdEhhbmRsZXJzIik7dmFyIEQ9Vy5vcHRpb25zLm9uRXJyb3I/Vy5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9OwpXLm9wdGlvbnMub25FcnJvcj1hc3luYyh2LGspPT57dmFyIGg9UTBTKGspLHg9VlgyKGspO3gmJm4uRXEmJm4uRXEoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJm4uaGFuZGxlRXJyb3IoRXJyb3IoIlJlcXVlc3QgZmFpbGVkIGR1ZSB0byBjb21wcmVzc2lvbiIpLFcudXJsLGspO2lmKG4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmh8fG4uRXEmJiFuLkVxKCJud2xfY29uc2lkZXJfZXJyb3JfY29kZSIpJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcjw9bi5IRilpZihuLnlHLmhKJiZhd2FpdCBuLnlHLmhKKCksIW4ueUcuV0coKSl7RCh2LGspO24uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJlc/LmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMSk7cmV0dXJufW4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJiFoJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5uLkhGfHwobi5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKywKVz8uaWQhPT12b2lkIDAmJihXLnNlbmRDb3VudDxuLkExPyhhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMCx4PyExOnZvaWQgMCksbi5BJC5MUygoKT0+e24ueUcuV0coKSYmbi5XKCl9LG4uSVApKTphd2FpdCBuLmdFLlRNKFcuaWQsbi5ZVykpLEQodixrKSl9Owp2YXIgYj1XLm9wdGlvbnMub25TdWNjZXNzP1cub3B0aW9ucy5vblN1Y2Nlc3M6KCk9Pnt9OwpXLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKHYsayk9PntXPy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpO24ueUcubGMmJm4uRXEmJm4uRXEoInZzc19uZXR3b3JrX2hpbnQiKSYmbi55Ry5sYyghMCk7Yih2LGspfTsKcmV0dXJuIFd9OwpRMFM9ZnVuY3Rpb24obil7cmV0dXJuKG49bj8uZXJyb3I/LmNvZGUpJiZuPj00MDAmJm48PTU5OT8hMTohMH07ClZYMj1mdW5jdGlvbihuKXtuPW4/LmVycm9yPy5jb2RlO3JldHVybiEobiE9PTQwMCYmbiE9PTQxNSl9OwpjX1o9ZnVuY3Rpb24oKXtpZih2VSlyZXR1cm4gdlUoKTt2VT1rTygiTG9nc0RhdGFiYXNlVjIiLHtLYzp7TG9nc1JlcXVlc3RzU3RvcmU6e3Z4OjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcsRCl7VygyKSYmWnkobiwiTG9nc1JlcXVlc3RzU3RvcmUiLHtrZXlQYXRoOiJpZCIsYXV0b0luY3JlbWVudDohMH0pO1coMyk7Vyg1KSYmKEQ9RC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSxELk4uaW5kZXhOYW1lcy5jb250YWlucygibmV3UmVxdWVzdCIpJiZELk4uZGVsZXRlSW5kZXgoIm5ld1JlcXVlc3QiKSxFUihELCJuZXdSZXF1ZXN0VjIiLFsic3RhdHVzIiwiaW50ZXJmYWNlIiwidGltZXN0YW1wIl0pKTtXKDcpJiZVUihuLCJzYXBpc2lkIik7Vyg5KSYmVVIobiwiU1dIZWFsdGhMb2ciKX0sdmVyc2lvbjo5fSk7cmV0dXJuIHZVKCl9OwprUT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoY19aKCksbil9OwphQlM9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD17c3RhcnRUaW1lOigwLGcuUikoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtXPWF3YWl0IGtRKFcpO249ey4uLm4sb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG4ub3B0aW9ucykpLGludGVyZmFjZTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCl9O249YXdhaXQgVy5wdXQoIkxvZ3NSZXF1ZXN0c1N0b3JlIixuKTtELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4gbn07Cm52Mj1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPXtzdGFydFRpbWU6KDAsZy5SKSgpLGluZm9zOnt0cmFuc2FjdGlvblR5cGU6IllUX0lEQl9UUkFOU0FDVElPTl9UWVBFX1JFQUQifSx0aWNrczp7fX07Vz1hd2FpdCBrUShXKTt2YXIgYj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksdj1bbixiLDBdO2I9W24sYiwoMCxnLlIpKCldO3ZhciBrPUlEQktleVJhbmdlLmJvdW5kKHYsYiksaD0icHJldiI7Zy5sKCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiKSYmKGg9Im5leHQiKTt2YXIgeD12b2lkIDA7dj1uPT09Ik5FVyI/InJlYWR3cml0ZSI6InJlYWRvbmx5IjtnLmwoInVzZV9yZWFkb25seV9mb3JfZ2V0X21vc3RfcmVjZW50X2J5X3N0YXR1c19raWxsc3dpdGNoIikmJih2PSJyZWFkd3JpdGUiKTthd2FpdCBPUihXLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTp2LEdROiEwfSxMPT56bihMLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmssZGlyZWN0aW9uOmh9LGU9PntlLmdldFZhbHVlKCkmJih4PWUuZ2V0VmFsdWUoKSxuPT09Ik5FVyImJih4LnN0YXR1cz0iUVVFVUVEIixlLnVwZGF0ZSh4KSkpfSkpOwpELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4geH07CldfQz1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBPUihhd2FpdCBrUShXKSxbIkxvZ3NSZXF1ZXN0c1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pnt2YXIgYj1ELm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpO3JldHVybiBiLmdldChuKS50aGVuKHY9PntpZih2KXJldHVybiB2LnN0YXR1cz0iUVVFVUVEIixiLnB1dCh2KS50aGVuKCgpPT52KX0pfSl9OwpERXg9YXN5bmMgZnVuY3Rpb24obixXLEQ9ITAsYil7cmV0dXJuIE9SKGF3YWl0IGtRKFcpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sdj0+e3ZhciBrPXYub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGsuZ2V0KG4pLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsRCYmKGguc2VuZENvdW50Kz0xKSxiIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWIpLGsucHV0KGgpLnRoZW4oKCk9PmgpKTpzUi5yZXNvbHZlKHZvaWQgMCkpfSl9OwpiR0M9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4oYXdhaXQga1EoVykpLmRlbGV0ZSgiTG9nc1JlcXVlc3RzU3RvcmUiLG4pfTsKdnZpPWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQga1Eobik7dmFyIFc9KDAsZy5SKSgpLTI1OTJFNjthd2FpdCBPUihuLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+dVEoRC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxiPT57aWYoYi5nZXRWYWx1ZSgpLnRpbWVzdGFtcDw9VylyZXR1cm4gYi5kZWxldGUoKS50aGVuKCgpPT5vZyhiKSl9KSl9Owpremk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgiTG9nc0RhdGFiYXNlVjIiKX07CmhJPWZ1bmN0aW9uKG4pe2cubCgibndsX2NzaV9raWxsc3dpdGNoIil8fEYzKCJuZXR3b3JrbGVzc19wZXJmb3JtYW5jZSIsbix7c2FtcGxlUmF0ZToxfSl9Owp4UT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoaF94KCksbil9Owp4RXc9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCB4UShuKTt2YXIgVz0oMCxnLlIpKCktMjU5MkU2O2F3YWl0IE9SKG4sWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwfSxEPT51UShELm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGI9PntpZihiLmdldFZhbHVlKCkudGltZXN0YW1wPD1XKXJldHVybiBiLmRlbGV0ZSgpLnRoZW4oKCk9Pm9nKGIpKX0pKX07CkxfaT1hc3luYyBmdW5jdGlvbihuKXthd2FpdCAoYXdhaXQgeFEobikpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKZy5nbz1mdW5jdGlvbihuLFcsRCxiLHY9IiIsaz0hMSxoPSExKXtpZihuKWlmKEQmJiFnLmQ4KCkpWkUobmV3IGcuUXgoIkxlZ2FjeSByZWZlcnJlci1zY3J1YmJlZCBwaW5nIGRldGVjdGVkIikpLG4mJkxtKG4sdm9pZCAwLHtzY3J1YlJlZmVycmVyOiEwfSk7ZWxzZSBpZih2KXhUKG4sVywiUE9TVCIsdixiKTtlbHNlIGlmKGcuQXIoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8Ynx8aCl4VChuLFcsIkdFVCIsIiIsYix2b2lkIDAsayxoKTtlbHNle2I6e3RyeXtjOnt2YXIgeD1uZXcgZV93KHt1cmw6bn0pO2lmKHguTi5kc2g9PT0iMSIpdmFyIEw9bnVsbDtlbHNle3ZhciBlPXguTi5hZTtpZihlPT09IjEiKXtsZXQgcj14Lk4uYWR1cmw7aWYocil0cnl7TD17dmVyc2lvbjozLFViOmRlY29kZVVSSUNvbXBvbmVudChyKSxERzp1eCh4LkosImFjdD0xIiwicmk9MSIseGlNKHgpKX07YnJlYWsgY31jYXRjaChOKXt9fUw9ZT09PSIyIj97dmVyc2lvbjo0LFViOnV4KHguSiwKImRjdD0xIiwic3VpZD0iK3guVywicmk9MSIpLERHOnV4KHguSiwiYWN0PTEiLCJyaT0xIiwic3VpZD0iK3guVyl9Om51bGx9fWlmKEwpe2xldCByPVMxKG4pO3ZhciBHPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxnLmxmKG4sInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31HPSExfUc/ZXcobik/KFcmJlcoKSxEPSEwKTpEPSExOkQ9ITE7RHx8TG0obixXKX19Owpndnc9ZnVuY3Rpb24obixXPSIiKXtldyhuLFcpfHxnLmdvKG4sdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyl9Owpldz1mdW5jdGlvbihuLFc9IiIpe3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihuLFcpKXJldHVybiEwfWNhdGNoKEQpe31yZXR1cm4hMX07CkxtPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj1uZXcgSW1hZ2Usdj0iIitYSHcrKztYaVt2XT1iO2Iub25sb2FkPWIub25lcnJvcj0oKT0+e1cmJlhpW3ZdJiZXKCk7ZGVsZXRlIFhpW3ZdfTsKRC5zY3J1YlJlZmVycmVyJiYoYi5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtiLnNyYz1ufTsKZy5xYj1mdW5jdGlvbihuKXtyZXR1cm4gZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP24rIiZuaXM9NiI6bisiJm5pcz01In07CiRRPWZ1bmN0aW9uKCl7R1R8fChHVD1uZXcgdEkoInl0Lm9mZmxpbmUiKSk7cmV0dXJuIEdUfTsKcUt3PWZ1bmN0aW9uKG4pe2lmKGcubCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgVz0kUSgpLmdldCgiZXJyb3JzIiwhMCl8fHt9O1dbbi5tZXNzYWdlXT17bmFtZTpuLm5hbWUsc3RhY2s6bi5zdGFja307bi5sZXZlbCYmKFdbbi5tZXNzYWdlXS5sZXZlbD1uLmxldmVsKTskUSgpLnNldCgiZXJyb3JzIixXLDI1OTJFMywhMCl9fTsKc2M9ZnVuY3Rpb24oKXtpZighcm8uaW5zdGFuY2Upe2xldCBuPWcucnIoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIpfHxuZXcgcm87Zy5HYigieXQubmV0d29ya1JlcXVlc3RNb25pdG9yLmluc3RhbmNlIixuKTtyby5pbnN0YW5jZT1ufXJldHVybiByby5pbnN0YW5jZX07CnBtPWZ1bmN0aW9uKCl7aWYoIU5iLmluc3RhbmNlKXtsZXQgbj1nLnJyKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcgTmI7Zy5HYigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLG4pO05iLmluc3RhbmNlPW59cmV0dXJuIE5iLmluc3RhbmNlfTsKWVE9ZnVuY3Rpb24obixXKXtuLnJhdGVMaW1pdD9uLk4/KHRhLnNPKG4uWCksbi5YPXRhLkxTKCgpPT57bi5XIT09VyYmKG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKX0sbi5yYXRlTGltaXQtKCgwLGcuUikoKS1uLk4pKSk6KG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKTpuLmRpc3BhdGNoRXZlbnQoVyl9OwpnLkhVPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIpO258fChuPW5ldyBHemgsZy5HYigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsbiksZy5sKCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJmcublAoKS50aGVuKFc9PntuLllXPVc7bm0obik7bi5qLnJlc29sdmUoKTtuLkNyJiZNYXRoLnJhbmRvbSgpPD1uLktyJiZuLllXJiZ4RXcobi5ZVyk7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX3N3X2hlYWx0aF9zdG9yZSIpJiZ0V3cobil9KSk7CnJldHVybiBufTsKdFd3PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLllXKXRocm93IGcucjAoImNsZWFyU1dIZWFsdGhMb2dzRGIiKTtMX2kobi5ZVykuY2F0Y2goVz0+e24uaGFuZGxlRXJyb3IoVyl9KX07CiRFdD1mdW5jdGlvbihuLFcsRCl7Vz1nLmwoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sVyk6VztnLmwoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Vy5oZWFkZXJzJiZnLlRkKG4pJiYoVy5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxnLlIpKCkpKSk6Vy5wb3N0UGFyYW1zPy5yZXF1ZXN0VGltZU1zJiYoVy5wb3N0UGFyYW1zLnJlcXVlc3RUaW1lTXM9TWF0aC5yb3VuZCgoMCxnLlIpKCkpKTtEJiZPYmplY3Qua2V5cyhXKS5sZW5ndGg9PT0wP2cuZ28obik6Vy5jb21wcmVzcz9XLnBvc3RCb2R5Pyh0eXBlb2YgVy5wb3N0Qm9keSE9PSJzdHJpbmciJiYoVy5wb3N0Qm9keT1KU09OLnN0cmluZ2lmeShXLnBvc3RCb2R5KSksVmQobixXLnBvc3RCb2R5LFcsZy5lZCkpOlZkKG4sSlNPTi5zdHJpbmdpZnkoVy5wb3N0UGFyYW1zKSxXLGc4KTpnLmVkKG4sVyl9OwpmbT1mdW5jdGlvbihuLFcpe2cubCgidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIikmJmcuVGQobikmJihXLmhlYWRlcnN8fChXLmhlYWRlcnM9e30pLFcuaGVhZGVyc1siWC1Hb29nLUV2ZW50LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gV307CmcuSUk9ZnVuY3Rpb24obixXLEQsYil7IWcuQXIoIlZJU0lUT1JfREFUQSIpJiZXIT09InZpc2l0b3JfaWQiJiZNYXRoLnJhbmRvbSgpPC4wMSYmWkUobmV3IGcuUXgoIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLFcsRCxiKSk7aWYoIW4uaXNSZWFkeSgpKXRocm93IG49bmV3IGcuUXgoImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixXLEQsYiksT3Qobiksbjt2YXIgdj17aGVhZGVyczpiLmhlYWRlcnN8fHt9LG1ldGhvZDoiUE9TVCIscG9zdFBhcmFtczpELHBvc3RCb2R5OmIucG9zdEJvZHkscG9zdEJvZHlGb3JtYXQ6Yi5wb3N0Qm9keUZvcm1hdHx8IkpTT04iLG9uVGltZW91dDooKT0+e2Iub25UaW1lb3V0KCl9LApvbkZldGNoVGltZW91dDpiLm9uVGltZW91dCxvblN1Y2Nlc3M6KGUsRyk9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhHKX0sCm9uRmV0Y2hTdWNjZXNzOmU9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhlKX0sCm9uUHJvZ3Jlc3M6ZT0+e2lmKGIub25Qcm9ncmVzcyliLm9uUHJvZ3Jlc3MoZSl9LApvbkVycm9yOihlLEcpPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihHKX0sCm9uRmV0Y2hFcnJvcjplPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihlKX0sCnRpbWVvdXQ6Yi50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpiLmNvbXByZXNzfTt2LmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwodi5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO0Q9IiI7dmFyIGs9bi5jb25maWdfLnY2O2smJihEPWspO2s9bi5jb25maWdfLk9zfHwhMTt2YXIgaD1UWmooayxELGIpO09iamVjdC5hc3NpZ24odi5oZWFkZXJzLGgpO3YuaGVhZGVycy5BdXRob3JpemF0aW9uJiYhRCYmayYmKHYuaGVhZGVyc1sieC1vcmlnaW4iXT13aW5kb3cubG9jYXRpb24ub3JpZ2luKTt2YXIgeD1nLnpkKGAke0R9JHtgL3lvdXR1YmVpLyR7bi5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7V31gfWAse2FsdDoianNvbiJ9KSxMPShlPSExKT0+e3RyeXtpZihlJiZiLnJldHJ5JiYhYi5uZXR3b3JrbGVzc09wdGlvbnMuYnlwYXNzTmV0d29ya2xlc3Mpdi5tZXRob2Q9IlBPU1QiLGIubmV0d29ya2xlc3NPcHRpb25zLndyaXRlVGhlblNlbmQ/CmcuSFUoKS53cml0ZVRoZW5TZW5kKHgsdik6Zy5IVSgpLnNlbmRBbmRXcml0ZSh4LHYpO2Vsc2UgaWYoYi5jb21wcmVzcylpZih2LnBvc3RCb2R5KXtsZXQgRz12LnBvc3RCb2R5O3R5cGVvZiBHIT09InN0cmluZyImJihHPUpTT04uc3RyaW5naWZ5KHYucG9zdEJvZHkpKTtWZCh4LEcsdixnLmVkKX1lbHNlIFZkKHgsSlNPTi5zdHJpbmdpZnkodi5wb3N0UGFyYW1zKSx2LGc4KTtlbHNlIGc4KHgsdil9Y2F0Y2goRyl7aWYoRy5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpWkUoRXJyb3IoIkFuIGV4dGVuc2lvbiBpcyBibG9ja2luZyBuZXR3b3JrIHJlcXVlc3QuIikpO2Vsc2UgdGhyb3cgRzt9fTsKZy5ycigieXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnMiKSYmSkkuaXNOd2xJbml0aWFsaXplZD9jTigpLnRoZW4oZT0+e0woZSl9KTpMKCExKX07Ck9jPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1TdygpO2lmKGImJlcpe2xldCB2PWIuc3Vic2NyaWJlKG4sZnVuY3Rpb24oKXt2YXIgaz1hcmd1bWVudHMsaD0oKT0+e0FJW3ZdJiZXLmFwcGx5JiZ0eXBlb2YgVy5hcHBseT09ImZ1bmN0aW9uIiYmVy5hcHBseShEfHx3aW5kb3csayl9Owp0cnl7bWdbbl0/aCgpOmcubiQoaCwwKX1jYXRjaCh4KXtPdCh4KX19LEQpOwpBSVt2XT0hMDtLbVtuXXx8KEttW25dPVtdKTtLbVtuXS5wdXNoKHYpO3JldHVybiB2fXJldHVybiAwfTsKUFU9ZnVuY3Rpb24obil7dmFyIFc9U3coKTtXJiYodHlwZW9mIG49PT0ibnVtYmVyIj9uPVtuXTp0eXBlb2Ygbj09PSJzdHJpbmciJiYobj1bcGFyc2VJbnQobiwxMCldKSxnLnkyKG4sRD0+e1cudW5zdWJzY3JpYmVCeUtleShEKTtkZWxldGUgQUlbRF19KSl9OwpaNT1mdW5jdGlvbihuLFcpe3ZhciBEPVN3KCk7cmV0dXJuIEQ/RC5wdWJsaXNoLmFwcGx5KEQsYXJndW1lbnRzKTohMX07CnlKPWZ1bmN0aW9uKG4pe3ZhciBXPVN3KCk7aWYoVylpZihXLmNsZWFyKG4pLG4pVWMobik7ZWxzZSBmb3IobGV0IEQgaW4gS20pVWMoRCl9OwpFYz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPVdebjtpZighKG4tNj4+Mykpe2VYKGteMjk5MCxrXjYwMjksRCk7dmFyIGg9RFtJW2teMjk4Nl1dKyhEW0lba14yOTg2XV0/SVtrXjMwNjBdOklba14zMDY3XSkrRFtJW2teMjk2N11dK0RbSVtrXjI5ODhdXTtpZihQMChrXjMwNDUsa140NjE4LEQpKXtsZXQgTD1bXTtnLmFfKERbSVsxXV0sKEcscik9PntHIT09bnVsbCYmTFtJW2teMjk4Ml1dKGAke3J9PSR7R31gKX0pOwpsZXQgZT1MW0lba14zMDA1XV0oSVtrXjI5NDVdKTtoKz1gPyR7ZX1gfXZhciB4PWh9KG4rMl43KTxuJiYobi01fDIzKT49biYmKGI9PT1JW2teNjU4OV0mJigoaD12W0lba142NTYzXV0oSVtrXjY1NDhdKSk+PTA/KGI9YGNtbz0ke3ZbSVtrXjY1NjZdXSgwLGgpfWAsdj12W0lba142NTY2XV0oaCsxKSk6KGg9dltJW2teNjU2M11dKElba142NTM1XSkpPj0wJiYoYj1gY21vPSR7dltJW2teNjU2Nl1dKDAsaCl9YCx2PXZbSVtrXjY1NjZdXShoKzMpKSksRFtiXT12KTtyZXR1cm4geH07ClN3PWZ1bmN0aW9uKCl7cmV0dXJuIGcucWkueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07ClVjPWZ1bmN0aW9uKG4pe0ttW25dJiYobj1LbVtuXSxnLnkyKG4sVz0+e0FJW1ddJiZkZWxldGUgQUlbV119KSxuLmxlbmd0aD0wKX07CmlNPWZ1bmN0aW9uKG4sVyxEPW51bGwpe3J2aChuLFcsRCl9Owpydmg9ZnVuY3Rpb24obixXLEQ9bnVsbCl7dmFyIGI9dU0odHlwZW9mIG49PT0ic3RyaW5nIj9uOm4udG9TdHJpbmcoKSksdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxrPXYmJmdKKHYpLGg9diYmIWs7az9XJiZXKCk6KFcmJihrPU9jKGIsVyksVz1gJHtBaShXKX1gLG9JW1ddPWspLGh8fCh2PXN6UyhuLGIsKCk9PntnSih2KXx8KGI1dCh2KSxaNShiKSxnLm4kKCgpPT57eUooYil9LDApKX0sRCkpKX07CnN6Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwpe3ZhciB2PWcuekYoIlNDUklQVCIpO3YuaWQ9Vzt2Lm9ubG9hZD0oKT0+e0QmJnNldFRpbWVvdXQoRCwwKX07CnYub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57c3dpdGNoKHYucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6di5vbmxvYWQoKX19OwpiJiZ2LnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpO2cuUE0odix0eXBlb2Ygbj09PSJzdHJpbmciP2Z3KG4pOm4pO249ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTtuLmluc2VydEJlZm9yZSh2LG4uZmlyc3RDaGlsZCk7cmV0dXJuIHZ9Owp1TT1mdW5jdGlvbihuKXt2YXIgVz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Zy5OVShXLG4pO249Vy5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIik7cmV0dXJuYGpzLSR7c1Qobil9YH07CnpUPWZ1bmN0aW9uKG4sVyl7aWYobj09PVcpbj0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkobikmJkFycmF5LmlzQXJyYXkoVykpbj12NChuLFcselQpO2Vsc2UgaWYoZy5mdChuKSYmZy5mdChXKSlhOmlmKGcuTFQobikubGVuZ3RoIT1nLkxUKFcpLmxlbmd0aCluPSExO2Vsc2V7Zm9yKGxldCBEIGluIG4paWYoIXpUKG5bRF0sV1tEXSkpe249ITE7YnJlYWsgYX1uPSEwfWVsc2Ugbj0hMTtyZXR1cm4gbn07Cmp3PWZ1bmN0aW9uKG4sLi4uVyl7aWYoIWxNKG4pfHxXLnNvbWUoRD0+IWxNKEQpKSl0aHJvdyBFcnJvcigiT25seSBvYmplY3RzIG1heSBiZSBtZXJnZWQuIik7CmZvcihsZXQgRCBvZiBXKVRUKG4sRCl9OwpUVD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBXKWlmKGxNKFdbRF0pKXtpZihEIGluIG4mJiFsTShuW0RdKSl0aHJvdyBFcnJvcigiQ2Fubm90IG1lcmdlIGFuIG9iamVjdCBpbnRvIGEgbm9uLW9iamVjdC4iKTtEIGluIG58fChuW0RdPXt9KTtUVChuW0RdLFdbRF0pfWVsc2UgaWYoQ20oV1tEXSkpe2lmKEQgaW4gbiYmIUNtKG5bRF0pKXRocm93IEVycm9yKCJDYW5ub3QgbWVyZ2UgYW4gYXJyYXkgaW50byBhIG5vbi1hcnJheS4iKTtEIGluIG58fChuW0RdPVtdKTtCVShuW0RdLFdbRF0pfWVsc2UgbltEXT1XW0RdO3JldHVybiBufTsKQlU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgVylsTShEKT9uLnB1c2goVFQoe30sRCkpOkNtKEQpP24ucHVzaChCVShbXSxEKSk6bi5wdXNoKEQpO3JldHVybiBufTsKbE09ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KG4pfTsKQ209ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJkFycmF5LmlzQXJyYXkobil9OwpnLkZpPWZ1bmN0aW9uKG49ITEpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLlkkPW5ldyBCSyhuKTtnLnUodGhpcyx0aGlzLlkkKX07Ck1iPWZ1bmN0aW9uKG4pe2lmKHdpbmRvdy5jcnlwdG8mJndpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXRyeXt2YXIgVz1BcnJheShuKSxEPW5ldyBVaW50OEFycmF5KG4pO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKEQpO2Zvcih2YXIgYj0wO2I8Vy5sZW5ndGg7YisrKVdbYl09RFtiXTtyZXR1cm4gV31jYXRjaCh2KXt9Vz1BcnJheShuKTtmb3IoRD0wO0Q8bjtEKyspe2I9RGF0ZS5ub3coKTtmb3IobGV0IHY9MDt2PGIlMjM7disrKVdbRF09TWF0aC5yYW5kb20oKTtXW0RdPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTYpfWlmKHdvKWZvcihEPTEsYj0wO2I8d28ubGVuZ3RoO2IrKylXW0Qlbl1ePVdbKEQtMSklbl0vNF53by5jaGFyQ29kZUF0KGIpLEQrKztyZXR1cm4gV307CmcuUkk9ZnVuY3Rpb24obil7bj1NYihuKTt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJBdChuW0RdJjYzKSk7cmV0dXJuIFcuam9pbigiIil9OwpnLlFKPWZ1bmN0aW9uKCl7cmV0dXJuIGcuaV8oTWIoMTYpLG49PihuJjE1KS50b1N0cmluZygxNikpLmpvaW4oIiIpfTsKYUk9ZnVuY3Rpb24oKXsoe0NQOlc9ITEsTTY6bj0hMH09e30pO3ZhciBuLFc7aWYoZy5ycigiX2xhY3QiLHdpbmRvdyk9PW51bGwpe3ZhciBEPXBhcnNlSW50KGcuQXIoIkxBQ1QiKSwxMCk7RD1pc0Zpbml0ZShEKT9EYXRlLm5vdygpLU1hdGgubWF4KEQsMCk6LTE7Zy5HYigiX2xhY3QiLEQsd2luZG93KTtnLkdiKCJfZmFjdCIsRCx3aW5kb3cpO0Q9PS0xJiZWSigpO05ndyhXLG4pO25ldyBtWSgoKT0+e2NVKCJtb3VzZSIsMTAwKX0pfX07Cm5YPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IGcud1ooVyk7KFc9RC5nZXQoInJlcV9pZCIpKSYmbi5zZXQoInJlcV9pZCIsVyk7Zy5hXyhuLk4sKGIsdik9PntEWyJzZXQiXSh2LG51bGwpfSk7CnJldHVybiBEfTsKTmd3PWZ1bmN0aW9uKG49ITEsVz0hMCl7dmFyIEQ9d2luZG93O2cuSTkoRC5kb2N1bWVudCwia2V5ZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwia2V5dXAiLFZKKTtnLkk5KEQuZG9jdW1lbnQsIm1vdXNlZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwibW91c2V1cCIsVkopO24/Zy5JOShELCJ0b3VjaG1vdmUiLCgpPT57Y1UoInRvdWNobW92ZSIsMjAwKX0se3Bhc3NpdmU6ITB9KTooZy5JOShELCJyZXNpemUiLCgpPT57Y1UoInJlc2l6ZSIsMjAwKX0pLFcmJmcuSTkoRCwic2Nyb2xsIiwoKT0+e2NVKCJzY3JvbGwiLDIwMCl9KSk7CmcuSTkoRC5kb2N1bWVudCwidG91Y2hzdGFydCIsVkose3Bhc3NpdmU6ITB9KTtnLkk5KEQuZG9jdW1lbnQsInRvdWNoZW5kIixWSix7cGFzc2l2ZTohMH0pfTsKY1U9ZnVuY3Rpb24obixXKXtieVtuXXx8KGJ5W25dPSEwLHRhLkxTKCgpPT57VkooKTtieVtuXT0hMX0sVykpfTsKVko9ZnVuY3Rpb24oKXtnLnJyKCJfbGFjdCIsd2luZG93KT09bnVsbCYmKGFJKCksZy5ycigiX2xhY3QiLHdpbmRvdykpO3ZhciBuPURhdGUubm93KCk7Zy5HYigiX2xhY3QiLG4sd2luZG93KTtnLnJyKCJfZmFjdCIsd2luZG93KT09LTEmJmcuR2IoIl9mYWN0IixuLHdpbmRvdyk7KG49Zy5ycigieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJm4oKX07Cmcudkk9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJfbGFjdCIsd2luZG93KTtyZXR1cm4gbj09bnVsbD8tMTpNYXRoLm1heChEYXRlLm5vdygpLW4sMCl9OwpnLmhwPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcga28obil9OwpnLnhvPWZ1bmN0aW9uKG4sVyl7bi5KLnNldChXLk5ILFcpO3ZhciBEPW4uVy5nZXQoVy5OSCk7aWYoRCl0cnl7RC5RNChuLnJlc29sdmUoVy5OSCkpfWNhdGNoKGIpe0QuSlkoYil9fTsKZ0U9ZnVuY3Rpb24obixXLEQsYj0hMSl7aWYoRC5pbmRleE9mKFcpPi0xKXRocm93IEVycm9yKGBEZXBzIGN5Y2xlIGZvcjogJHtXfWApO2lmKG4uTi5oYXMoVykpcmV0dXJuIG4uTi5nZXQoVyk7aWYoIW4uSi5oYXMoVykpe2lmKGIpcmV0dXJuO3Rocm93IEVycm9yKGBObyBwcm92aWRlciBmb3I6ICR7V31gKTt9Yj1uLkouZ2V0KFcpO0QucHVzaChXKTtpZihiLlBmIT09dm9pZCAwKXZhciB2PWIuUGY7ZWxzZSBpZihiLlJjKXY9YltnLkxYXT9lWihuLGJbZy5MWF0sRCk6W10sdj1iLlJjKC4uLnYpO2Vsc2UgaWYoYi5ZTCl7dj1iLllMO2xldCBrPXZbZy5MWF0/ZVoobix2W2cuTFhdLEQpOltdO3Y9bmV3IHYoLi4uayl9ZWxzZSB0aHJvdyBFcnJvcihgQ291bGQgbm90IHJlc29sdmUgcHJvdmlkZXJzIGZvcjogJHtXfWApO0QucG9wKCk7Yi5wbnx8bi5OLnNldChXLHYpO3JldHVybiB2fTsKZVo9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXP1cubWFwKGI9PmIgaW5zdGFuY2VvZiBrbz9nRShuLGIua2V5LEQsITApOmdFKG4sYixEKSk6W119OwpnLnFqPWZ1bmN0aW9uKCl7WDR8fChYND1uZXcgcEhyKTtyZXR1cm4gWDR9Owp0cD1mdW5jdGlvbigpe3JldHVybiJoNXZjYyJpbiBHcCYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VCZWdpbiYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VFbmQ/MToicGVyZm9ybWFuY2UiaW4gR3AmJkdwLnBlcmZvcm1hbmNlLm1hcmsmJkdwLnBlcmZvcm1hbmNlLm1lYXN1cmU/MjowfTsKJG89ZnVuY3Rpb24obil7dmFyIFc9dHAoKTtzd2l0Y2goVyl7Y2FzZSAxOkdwLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsbik7YnJlYWs7Y2FzZSAyOkdwLnBlcmZvcm1hbmNlLm1hcmsoYCR7bn0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpnLnBiKFcsInVua25vd24gdHJhY2UgdHlwZSIpfX07CnJFPWZ1bmN0aW9uKG4pe3ZhciBXPXRwKCk7c3dpdGNoKFcpe2Nhc2UgMTpHcC5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixuKTticmVhaztjYXNlIDI6Vz1gJHtufS1zdGFydGA7bGV0IEQ9YCR7bn0tZW5kYDtHcC5wZXJmb3JtYW5jZS5tYXJrKEQpO0dwLnBlcmZvcm1hbmNlLm1lYXN1cmUobixXLEQpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0OmcucGIoVywidW5rbm93biB0cmFjZSB0eXBlIil9fTsKWUtqPWZ1bmN0aW9uKG4pe3ZhciBXPUFycmF5LmZyb20obi5OLmtleXMoKSkuc29ydCgoRCxiKT0+KG4uTltiXS5wcmlvcml0eT8/MCktKG4uTltEXS5wcmlvcml0eT8/MCkpOwpmb3IobGV0IEQgb2YgVylXPW4uTltEXSxXLmpvYklkPT09dm9pZCAwfHxXLk1KfHwobi5zY2hlZHVsZXIuc08oVy5qb2JJZCksZy5WeCgwLFcuSmEsMTApKX07CmZSMj1mdW5jdGlvbihuLFcsRCl7SEd0JiZjb25zb2xlLmdyb3VwQ29sbGFwc2VkJiZjb25zb2xlLmdyb3VwRW5kJiYoY29uc29sZS5ncm91cENvbGxhcHNlZChgWyR7bi5jb25zdHJ1Y3Rvci5uYW1lfV0gJyR7bi5zdGF0ZX0nIHRvICcke1d9J2ApLGNvbnNvbGUubG9nKCJ3aXRoIG1lc3NhZ2U6ICIsRCksY29uc29sZS5ncm91cEVuZCgpKX07ClNLQz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuZmlsdGVyKHY9PihuLko/P3YucHJpb3JpdHk/PzApPT09MTApLGI9Vy5maWx0ZXIodj0+KG4uSj8/di5wcmlvcml0eT8/MCkhPT0xMCk7CnJldHVybiBuLlguS0c/YXN5bmMoLi4udik9Pnthd2FpdCBKdlooRCwuLi52KTtzOShuLGIsLi4udil9OiguLi52KT0+e0lSMShELC4uLnYpOwpzOShuLGIsLi4udil9fTsKSnZaPWFzeW5jIGZ1bmN0aW9uKG4sLi4uVyl7Zy5EeSgpO2ZvcihsZXQgRCBvZiBuKXtsZXQgYjthOSgoKT0+e05qKEQubmFtZSk7dmFyIHY9cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpZbyh2KT9iPWcubCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIik/di50aGVuKCgpPT57SEkoRC5uYW1lKX0pOnYudGhlbigoKT0+e0hJKEQubmFtZSl9LGs9Pnt3aW5kb3cub25lcnJvcj8uKGsubWVzc2FnZSwiIiwwLDAsayk7CkhJKEQubmFtZSl9KTpISShELm5hbWUpfSk7CmImJmF3YWl0IGJ9fTsKczk9ZnVuY3Rpb24obixXLC4uLkQpe1c9Vy5tYXAoYj0+KHtKYTooKT0+e05qKGIubmFtZSk7cFgoKCk9PmIuY2FsbGJhY2soLi4uRCkpOwpISShiLm5hbWUpfSwKcHJpb3JpdHk6bi5KPz9iLnByaW9yaXR5Pz8wfSkpOwpXLmxlbmd0aCYmKG4uVz1uZXcgQXZqKFcpKX07CklSMT1mdW5jdGlvbihuLC4uLlcpe2cuRHkoKTtmb3IobGV0IEQgb2YgbilhOSgoKT0+e05qKEQubmFtZSk7cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpISShELm5hbWUpfSl9OwpOaj1mdW5jdGlvbihuKXtmWCYmbiYmJG8obil9OwpIST1mdW5jdGlvbihuKXtmWCYmbiYmckUobil9OwpwWD1mdW5jdGlvbihuKXtpZihnLmwoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpKXJldHVybiBuKCk7dHJ5e3JldHVybiBuKCl9Y2F0Y2goVyl7d2luZG93Lm9uZXJyb3I/LihXLm1lc3NhZ2UsIiIsMCwwLFcpfX07CkliPWZ1bmN0aW9uKCl7SnB8fChKcD1uZXcgbUV3KTtyZXR1cm4gSnB9OwpBcD1mdW5jdGlvbigpe1NafHwoU1o9cHcoZy5BcigiV09SS0VSX1NFUklBTElaQVRJT05fVVJMIikpKTtyZXR1cm4gU1p8fHZvaWQgMH07CktYPWZ1bmN0aW9uKCl7dmFyIG49QXAoKTttM3x8bj09PXZvaWQgMHx8KG0zPVhNKG4pKTtyZXR1cm4gbTN9OwpaQT1mdW5jdGlvbihuLFcpe3ZhciBEPU85KFcpO2lmKG4uTltEXSlyZXR1cm4gbi5OW0RdO3ZhciBiPU9iamVjdC5rZXlzKG4uc3RvcmUpfHxbXTtpZihiLmxlbmd0aDw9MSYmTzkoVyk9PT1iWzBdKXJldHVybiBiO3ZhciB2PVtdO2ZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXtsZXQgeD1iW2hdLnNwbGl0KCIvIik7aWYoUEkoVy5hdXRoLHhbMF0pKXt2YXIgaz1XLmlzSnNwYjtQSShrPT09dm9pZCAwPyJ1bmRlZmluZWQiOms/InRydWUiOiJmYWxzZSIseFsxXSkmJlBJKFcuY3R0QXV0aEluZm8seFsyXSkmJihrPVcudGllcixrPWs9PT12b2lkIDA/InVuZGVmaW5lZCI6SlNPTi5zdHJpbmdpZnkoayksUEkoayx4WzNdKSYmdi5wdXNoKGJbaF0pKX19cmV0dXJuIG4uTltEXT12fTsKUEk9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PXZvaWQgMHx8bj09PSJ1bmRlZmluZWQiPyEwOm49PT1XfTsKTzk9ZnVuY3Rpb24obil7cmV0dXJuW24uYXV0aD09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmF1dGgsbi5pc0pzcGI9PT12b2lkIDA/InVuZGVmaW5lZCI6bi5pc0pzcGIsbi5jdHRBdXRoSW5mbz09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmN0dEF1dGhJbmZvLG4udGllcj09PXZvaWQgMD8idW5kZWZpbmVkIjpuLnRpZXJdLmpvaW4oIi8iKX07ClU5PWZ1bmN0aW9uKCl7cmV0dXJuIGcubCgiaHRtbDVfc2VuZF9xb2Vfb25fZ2VsIil8fGcubCgid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIil9OwppeT1mdW5jdGlvbihuKXt5Uj1uO1U5KCkmJihnLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1uKTtFOT1uZXcgbn07CnV5PWZ1bmN0aW9uKG4pe3JldHVybiBuP246VTkoKT95Unx8Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRSZWdpc3RlcmVkQ2xpZW50Q3Rvcl98fG51bGw6bnVsbH07CmRFPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubG9nZ2luZy5pbXMiKTtufHwobj1uZXcgb2IsZy5HYigieXQubG9nZ2luZy5pbXMiLG4pKTtyZXR1cm4gbn07CktfMj1mdW5jdGlvbigpe2lmKHR5cGVvZiBXb3JrZXI9PT0iZnVuY3Rpb24iJiZBcCgpJiYhenApe3ZhciBuPUQ9PntEPUQuZGF0YTtpZihELm9wPT09InNlcmlhbGl6ZWRHZWxCYXRjaCIpe3ZhciBiPWx5LmdldChELmtleSk7YiYmKFRwKEQuc2VyaWFsaXplZEJhdGNoLGIuY2xpZW50LGIucmVzb2x2ZSxiLm5ldHdvcmtsZXNzT3B0aW9ucyxiLmlzSXNvbGF0ZWQsYi51c2VWU1NFbmRwb2ludCxiLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24sYi5yZXF1ZXN0c091dHN0YW5kaW5nKSxseS5kZWxldGUoRC5rZXkpKX19LFc9S1goKTsKVyYmKFcuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbiksVy5vbmVycm9yPSgpPT57bHkuY2xlYXIoKX0pOwp6cD0hMH19OwpPR3g9ZnVuY3Rpb24obixXKXtpZihuLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKG4pO3ZhciBEPUNYKG4pLGI9Qkkobi5wYXlsb2FkKXx8IiIsdj1GNChiKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe01qKG4sVyk7cmV0dXJufX1SYltEXT0hMDtEPXtjdHRBdXRoSW5mbzpELGlzSnNwYjohMSx0aWVyOmt9O2RFKCkuc3RvcmVQYXlsb2FkKEQsbi5wYXlsb2FkKTtRUihXLCExLEQsVlIoYikpfX07ClBXMT1mdW5jdGlvbihuLFcsRCl7aWYoVy5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtqWih2b2lkIDAsVyk7dmFyIGI9Q1goVywhMCksdj1GNChuKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe2NJKG4sVyxEKTtyZXR1cm59fVJiW2JdPSEwO2I9e2N0dEF1dGhJbmZvOmIsaXNKc3BiOiEwLHRpZXI6a307ZEUoKS5zdG9yZVBheWxvYWQoYixZdihXLnBheWxvYWQpKTtRUihELCEwLGIsVlIobikpfX07ClFSPWZ1bmN0aW9uKG4sVz0hMSxELGI9ITEpe24mJml5KG4pO249djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2giKXx8djAoIndlYl9sb2dnaW5nX21heF9iYXRjaCIpfHwxMDA7dmFyIHY9KDAsZy5SKSgpLGs9YWIoVyxELnRpZXIpLGg9ay5YO2ImJihrLk49ITApO2I9MDtEJiYoYj1kRSgpLmdldFNlcXVlbmNlQ291bnQoRCkpO2I+PTFFMz9uVSh7d3JpdGVUaGVuU2VuZDohMH0sVyxELnRpZXIpOmI+PW4/V3N8fChXcz1EdigoKT0+e25VKHt3cml0ZVRoZW5TZW5kOiEwfSxXLEQudGllcik7V3M9dm9pZCAwfSwwKSk6di1oPj0xMCYmKGJSKFcsRC50aWVyKSxrLlg9dil9OwpNaj1mdW5jdGlvbihuLFcpe2lmKG4uZW5kcG9pbnQ9PT0ibG9nX2V2ZW50Iil7Zy5sKCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmZEUoKS5zdG9yZVBheWxvYWQoe2lzSnNwYjohMX0sbi5wYXlsb2FkKTtqWihuKTt2YXIgRD1DWChuKSxiPW5ldyBNYXA7Yi5zZXQoRCxbbi5wYXlsb2FkXSk7dmFyIHY9Qkkobi5wYXlsb2FkKXx8IiI7KG49dXkoVykpJiZpeShuKTtyZXR1cm4gbmV3IGcuWDEoKGssaCk9PntFOSYmRTkuaXNSZWFkeSgpP3ZzKGIsRTksayxoLHtieXBhc3NOZXR3b3JrbGVzczohMH0sITAsVlIodikpOmsoKX0pfX07CmNJPWZ1bmN0aW9uKG4sVyxEKXtpZihXLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKHZvaWQgMCxXKTt2YXIgYj1DWChXLCEwKSx2PW5ldyBNYXA7di5zZXQoYixbWXYoVy5wYXlsb2FkKV0pOyhXPXV5KEQpKSYmaXkoVyk7cmV0dXJuIG5ldyBnLlgxKGs9PntFOSYmRTkuaXNSZWFkeSgpP2tBKHYsRTksayx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFZSKG4pKTprKCl9KX19OwpDWD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPSIiO2lmKG4uZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbilEPSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtlbHNlIGlmKG4uY3R0QXV0aEluZm8pe2lmKFcpe1c9bi5jdHRBdXRoSW5mby50b2tlbjtEPW4uY3R0QXV0aEluZm87bGV0IGI9bmV3IGg2O0QudmlkZW9JZD9iLnNldFZpZGVvSWQoRC52aWRlb0lkKTpELnBsYXlsaXN0SWQmJkQyKGIsMix4QSxXSChELnBsYXlsaXN0SWQpKTtMVVtXXT1ifWVsc2UgVz1uLmN0dEF1dGhJbmZvLEQ9e30sVy52aWRlb0lkP0QudmlkZW9JZD1XLnZpZGVvSWQ6Vy5wbGF5bGlzdElkJiYoRC5wbGF5bGlzdElkPVcucGxheWxpc3RJZCksZXlbbi5jdHRBdXRoSW5mby50b2tlbl09RDtEPW4uY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIER9OwpuVT1mdW5jdGlvbihuPXt9LFc9ITEsRCl7bmV3IGcuWDEoKGIsdik9Pnt2YXIgaz1hYihXLEQpLGg9ay5OO2suTj0hMTtpZihnLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpJiZnLmwoIndlYl92c3Nfcm91dGluZ19jaGVja19hbGxfdGllcl9wb2xpY2llcyIpKXtsZXQgeD1hYihXLDMwMCksTD1hYihXLDIwMCk7aD1ofHx4Lk58fEwuTjt4Lk49ITE7TC5OPSExfWc0KGsuVyk7ZzQoay5KKTtrLko9MDtFOSYmRTkuaXNSZWFkeSgpP0Q9PT12b2lkIDAmJmcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/cTEoYix2LG4sVywzMDAsaCk6cTEoYix2LG4sVyxELGgpOihiUihXLEQpLGIoKSl9KX07CnExPWZ1bmN0aW9uKG4sVyxEPXt9LGI9ITEsdj0yMDAsaz0hMSl7dmFyIGg9RTkseD1uZXcgTWFwLEw9bmV3IE1hcCxlPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDAsdGllcjp2fSxHPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDB9O2lmKGIpe2ZvcihsZXQgciBvZiBPYmplY3Qua2V5cyhSYikpVz1nLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2RFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOltlLEddLHNpemVMaW1pdDoxRTN9KTpkRSgpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMCxjdHRBdXRoSW5mbzpyfSksVy5sZW5ndGg+MCYmeC5zZXQocixXKSwoZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSYmRC53cml0ZVRoZW5TZW5kfHwhZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSkmJmRlbGV0ZSBSYltyXTtrQSh4LGgsbixELCExLGspfWVsc2V7Zm9yKGxldCByIG9mIE9iamVjdC5rZXlzKFJiKSl4PWcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/CmRFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOlt7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnIsdGllcjp2fSx7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnJ9XSxzaXplTGltaXQ6MUUzfSk6ZEUoKS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtpc0pzcGI6ITEsY3R0QXV0aEluZm86cn0pLHgubGVuZ3RoPjAmJkwuc2V0KHIseCksKGcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJkQud3JpdGVUaGVuU2VuZHx8IWcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgUmJbcl07dnMoTCxoLG4sVyxELCExLGspfX07CmJSPWZ1bmN0aW9uKG49ITEsVz0yMDApe3ZhciBEPSgpPT57blUoe3dyaXRlVGhlblNlbmQ6ITB9LG4sVyl9LGI9YWIobixXKSx2PWI9PT1HVXx8Yj09PXQ2PzVFMzpaR1o7CmcubCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhYi5KJiYodj1EdigoKT0+e0QoKX0sdiksYi5KPXYpOwpnNChiLlcpO3Y9Zy5BcigiTE9HR0lOR19CQVRDSF9USU1FT1VUIix2MCgid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Zy5sKCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmJEEmJih2PVVFdyk7dj1EdigoKT0+e3YwKCJnZWxfbWluX2JhdGNoX3NpemUiKT4wP2RFKCkuZ2V0U2VxdWVuY2VDb3VudCh7Y3R0QXV0aEluZm86dm9pZCAwLGlzSnNwYjpuLHRpZXI6V30pPj15dlMmJkQoKTpEKCl9LHYpOwpiLlc9dn07CnZzPWZ1bmN0aW9uKG4sVyxELGIsdj17fSxrLGgpe3ZhciB4PU1hdGgucm91bmQoKDAsZy5SKSgpKSxMPW4uc2l6ZSxlPXI0KGgpO2ZvcihsZXQgW0cscl1vZiBuKXtuPUc7aD1yO2xldCBOPWcuTmMoe2NvbnRleHQ6Zy5VSihXLmNvbmZpZ198fGcuUzkoKSl9KTtpZighZy5ZMihoKSYmIWcubCgidGhyb3dfZXJyX3doZW5fbG9nZXZlbnRfbWFsZm9ybWVkX2tpbGxzd2l0Y2giKSl7YigpO2JyZWFrfU4uZXZlbnRzPWg7KGg9ZXlbbl0pJiZFdkMoTixuLGgpO2RlbGV0ZSBleVtuXTtsZXQgSD1uPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO2lHaihOLHgsSCk7c3kodik7bGV0IEE9ej0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoeil9KTsKTC0tO0x8fEQoKX0seT0wLFQ9KCk9Pnt5Kys7CmlmKHYuYnlwYXNzTmV0d29ya2xlc3MmJnk9PT0xKXRyeXtnLklJKFcsZSxOLHBVKHt3cml0ZVRoZW5TZW5kOiEwfSxILEEsVCxrKSksJEE9ITF9Y2F0Y2goeil7T3QoeiksYigpfUwtLTtMfHxEKCl9Owp0cnl7Zy5JSShXLGUsTixwVSh2LEgsQSxULGspKSwkQT0hMX1jYXRjaCh6KXtPdCh6KSxiKCl9fX07CmtBPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrKXt2YXIgaD1NYXRoLnJvdW5kKCgwLGcuUikoKSkseD17dmFsdWU6bi5zaXplfSxMPW5ldyBNYXAoWy4uLm5dKTtmb3IobGV0IFtUXW9mIEwpe3ZhciBlPVQsRz1uLmdldChlKTtMPW5ldyB1RjI7dmFyIHI9Vy5jb25maWdffHxnLlM5KCksTj1uZXcgWUEsSD1uZXcgSHM7Zy5TRShILDEsci5NYik7Zy5TRShILDIsci5FRSk7S24oSCwxNixyLkZkKTtnLlNFKEgsMTcsci5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbik7aWYoci5jUil7dmFyIEE9ci5jUix5PW5ldyBpOTtBLmNvbGRDb25maWdEYXRhJiZnLlNFKHksMSxBLmNvbGRDb25maWdEYXRhKTtBLmFwcEluc3RhbGxEYXRhJiZnLlNFKHksNixBLmFwcEluc3RhbGxEYXRhKTtBLmNvbGRIYXNoRGF0YSYmZy5TRSh5LDMsQS5jb2xkSGFzaERhdGEpO0EuaG90SGFzaERhdGEmJnkuVyhBLmhvdEhhc2hEYXRhKTskOShILGk5LDYyLHkpfShBPWcucWkuZGV2aWNlUGl4ZWxSYXRpbykmJgpBIT0xJiZveihILDY1LGcuQV8oQSkpO0E9a1QoKTtBIT09IiImJmcuU0UoSCw1NCxBKTtBPWh5KCk7aWYoQS5sZW5ndGg+MCl7eT1uZXcgZlU7Zm9yKGxldCB6PTA7ejxBLmxlbmd0aDt6Kyspe2xldCBDPW5ldyBKNjtnLlNFKEMsMSxBW3pdLmtleSk7RDIoQywyLEl2LFdIKEFbel0udmFsdWUpKTtOSCh5LDE1LEo2LEMpfSQ5KE4sZlUsNSx5KX1BNyhyLEgpO21UKE4pO0tQKEgpO09KKHIsSCk7UHooSCk7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJlptKEgpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJiFnLmwoInBhZ2VpZF9hc19oZWFkZXJfd2ViIikmJihyPW5ldyBTeSxnLlNFKHIsMyxnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpKSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihBPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoeT1nZShOLFN5LDMpfHxuZXcgU3ksCnI9TixBPWcuU0UoeSwxOCxBKSwkOShyLFN5LDMsQSkpO3I9SDtBPWcuQXIoIkRFVklDRSIsIiIpO2ZvcihsZXQgW3osQ11vZiBPYmplY3QuZW50cmllcyhnLml3KEEpKSlBPXosQT09PSJjYnJhbmQiP2cuU0UociwxMixDKTpBPT09ImNtb2RlbCI/Zy5TRShyLDEzLEMpOkE9PT0iY2JyIj9nLlNFKHIsODcsQyk6QT09PSJjYnJ2ZXIiP2cuU0Uociw4OCxDKTpBPT09ImNvcyI/Zy5TRShyLDE4LEMpOkE9PT0iY29zdmVyIj9nLlNFKHIsMTksQyk6QT09PSJjcGxhdGZvcm0iJiZLbihyLDQyLGhxaChDKSk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYob3ooSCw1NSxnLnlQKHdpbmRvdy5pbm5lcldpZHRoKSksb3ooSCw1NixnLnlQKHdpbmRvdy5pbm5lckhlaWdodCkpKTtOLlcoSCk7JDkoTCxZQSwxLE4pO2lmKEg9TFVbZV0pYTp7aWYoSC5FMSgpKU49MTtlbHNlIGlmKEguZ2V0UGxheWxpc3RJZCgpKU49MjtlbHNlIGJyZWFrIGE7JDkoTCxoNiw0LEgpO0g9Z2UoTCwKWUEsMSl8fG5ldyBZQTtyPWdlKEgsU3ksMyl8fG5ldyBTeTtBPW5ldyBBNjtBLnNldFRva2VuKGUpO0tuKEEsMSxOKTtOSChyLDEyLEE2LEEpOyQ5KEgsU3ksMyxyKX1kZWxldGUgTFVbZV07ZT1lPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO21yKCl8fElZKEwsMixoKTshZSYmKE49Zy5BcigiRVZFTlRfSUQiKSkmJihIPUtVKCkscj1uZXcgT3ksZy5TRShyLDEsTiksSVkociwyLEgpLCQ5KEwsT3ksNSxyKSk7c3koYik7aWYoZy5sKCJqc3BiX3NlcmlhbGl6ZV93aXRoX3dvcmtlciIpJiYoTj1LWCgpKSYmYi53cml0ZVRoZW5TZW5kKXtseS5zZXQoUHMse2NsaWVudDpXLHJlc29sdmU6RCxuZXR3b3JrbGVzc09wdGlvbnM6Yixpc0lzb2xhdGVkOnYsdXNlVlNTRW5kcG9pbnQ6ayxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOmUscmVxdWVzdHNPdXRzdGFuZGluZzp4fSk7Ti5wb3N0TWVzc2FnZSh7b3A6ImdlbEJhdGNoVG9TZXJpYWxpemUiLGJhdGNoUmVxdWVzdDpZdihMKSxjbGllbnRFdmVudHM6RywKa2V5OlBzfSk7UHMrKzticmVha31pZihHKXtOPVtdO2ZvcihIPTA7SDxHLmxlbmd0aDtIKyspdHJ5e04ucHVzaChuZXcgWnYoR1tIXSkpfWNhdGNoe090KG5ldyBnLlF4KCJUcmFuc3BvcnQgZmFpbGVkIHRvIGRlc2VyaWFsaXplICIrU3RyaW5nKEdbSF0pKSl9Rz1OfWVsc2UgRz1bXTtmb3IobGV0IHogb2YgRylOSChMLDMsWnYseik7Rz17c3RhcnRUaW1lOigwLGcuUikoKSx0aWNrczp7fSxpbmZvczp7fX07TD1MLmJZKCk7Ry50aWNrcy5nZWxqc3BjPSgwLGcuUikoKTtnLmwoImxvZ19qc3BiX3NlcmlhbGl6ZV9sYXRlbmN5IikmJkYzKCJnZWxfanNwYl9zZXJpYWxpemUiLEcse3NhbXBsZVJhdGU6LjF9KTtUcChMLFcsRCxiLHYsayxlLHgpfX07ClRwPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrLGgseD17dmFsdWU6MH0pe2s9cjQoayk7Yj1wVShiLGgsTD0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoTCl9KTsKeC52YWx1ZS0tO3gudmFsdWV8fEQoKX0sKCk9Pnt4LnZhbHVlLS07CngudmFsdWV8fEQoKX0sdik7CmIuaGVhZGVyc1siQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiO2IucG9zdEJvZHlGb3JtYXQ9IkpTUEIiO2IucG9zdEJvZHk9bjtnLklJKFcsaywiIixiKTskQT0hMX07CnN5PWZ1bmN0aW9uKG4pe2cubCgiYWx3YXlzX3NlbmRfYW5kX3dyaXRlIikmJihuLndyaXRlVGhlblNlbmQ9ITEpfTsKcFU9ZnVuY3Rpb24obixXLEQsYix2KXtuPXtyZXRyeTohMCxvblN1Y2Nlc3M6RCxvbkVycm9yOmIsbmV0d29ya2xlc3NPcHRpb25zOm4sZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpXLFRVOiEhdixoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOmcubCgiY29tcHJlc3NfZ2VsIil8fGcubCgiY29tcHJlc3NfZ2VsX2xyIil9O21yKCkmJihuLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gbn07CmlHaj1mdW5jdGlvbihuLFcsRCl7bXIoKXx8KG4ucmVxdWVzdFRpbWVNcz1TdHJpbmcoVykpO2cubCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYobi51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFEJiYoVz1nLkFyKCJFVkVOVF9JRCIpKSYmKEQ9S1UoKSxuLnNlcmlhbGl6ZWRDbGllbnRFdmVudElkPXtzZXJpYWxpemVkRXZlbnRJZDpXLGNsaWVudENvdW50ZXI6U3RyaW5nKEQpfSl9OwpLVT1mdW5jdGlvbigpe3ZhciBuPWcuQXIoIkJBVENIX0NMSUVOVF9DT1VOVEVSIil8fDA7bnx8KG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKTtuKys7bj42NTUzNSYmKG49MSk7Zy5TSCgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLG4pO3JldHVybiBufTsKRXZDPWZ1bmN0aW9uKG4sVyxEKXtpZihELnZpZGVvSWQpdmFyIGI9IlZJREVPIjtlbHNlIGlmKEQucGxheWxpc3RJZCliPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47bi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPUQ7bi5jb250ZXh0PW4uY29udGV4dHx8e307bi5jb250ZXh0LnVzZXI9bi5jb250ZXh0LnVzZXJ8fHt9O24uY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOlcsc2NvcGU6Yn1dfTsKalo9ZnVuY3Rpb24obixXKXt2YXIgRD1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiKSxiPWJiKCJpbF9wYXlsb2FkX3NjcmFwaW5nIik7Yj0oYiE9PXZvaWQgMD9TdHJpbmcoYik6IiIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighRClpZihiKVV5PVtdLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmVuYWJsZVNjcmFwaW5nRm9yVGVzdCIsITApLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLFV5KSxnLkdiKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5wYXlsb2FkVG9TY3JhcGUiLCJ2aXN1YWxFbGVtZW50U2hvd24gdmlzdWFsRWxlbWVudEhpZGRlbiB2aXN1YWxFbGVtZW50QXR0YWNoZWQgc2NyZWVuQ3JlYXRlZCB2aXN1YWxFbGVtZW50R2VzdHVyZWQgdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIuc3BsaXQoIiAiKSksZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZFBheWxvYWRGcm9tQ2xpZW50RXZlbnRzRnVuY3Rpb24iKSwKZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuc2NyYXBlQ2xpZW50RXZlbnQiLCEwKTtlbHNlIHJldHVybjtEPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciKTtiPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnBheWxvYWRUb1NjcmFwZSIpO1cmJihXPVcucGF5bG9hZCwoVz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5nZXRTY3JhcGVkUGF5bG9hZEZyb21DbGllbnRFdmVudHNGdW5jdGlvbiIpLmJpbmQoVykoKSkmJkQucHVzaChXKSk7Vz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGImJmIubGVuZ3RoPj0xKWZvcihsZXQgdj0wO3Y8Yi5sZW5ndGg7disrKW4mJm4ucGF5bG9hZFtiW3ZdXSYmKFc/RC5wdXNoKG4ucGF5bG9hZCk6RC5wdXNoKChuPy5wYXlsb2FkKVtiW3ZdXSkpO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLEQpfTsKbXI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5sKCJ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlciIpfHxnLmwoImxyX3VzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil9OwpEdj1mdW5jdGlvbihuLFcpe3JldHVybiBnLmwoInRyYW5zcG9ydF91c2Vfc2NoZWR1bGVyIik9PT0hMT9nLm4kKG4sVyk6Zy5sKCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIil8fGcubCgibHJfbG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpP2cuY0IoMCwoKT0+e0liKCkuY3VycmVudFN0YXRlPT09Im5vbmUiP24oKTpJYigpLmluc3RhbGwoe25vbmU6e2NhbGxiYWNrOm59fSl9LFcpOmcuY0IoMCxuLFcpfTsKZzQ9ZnVuY3Rpb24obil7Zy5sKCJ0cmFuc3BvcnRfdXNlX3NjaGVkdWxlciIpP3RhLnNPKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9OwpOMT1hc3luYyBmdW5jdGlvbihuKXtuPW4/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIFc9Zy53KG4sb3Z0KSxEPW4/LmhvdEhhc2hEYXRhLGI9Zy53KG4sZEUyKSx2PW4/LmNvbGRIYXNoRGF0YSxrPWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpO2smJihEJiYoVz9hd2FpdCBIeihrLEQsVyk6YXdhaXQgSHooayxEKSksdiYmKGI/YXdhaXQgZlAoayx2LGIpOmF3YWl0IGZQKGssdikpKTtXPW4/LnJhd0ZpbmNoU3RhdGljQ29uZmlnR3JvdXA7KG49bj8uZmluY2hTdGF0aWNIYXNoRGF0YSk/KEQ9Zy5xaigpLnJlc29sdmUoZy5ocCh6X3QpKSk/YXdhaXQgRC5OVSh7Y29uZmlnOld8fHt9LFlVOm58fCIifSk6KFd8fG4pJiZaRShuZXcgZy5ReCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSBpcyBub3QgcHJlc2VudCwgYnV0IEZpbmNoIGNvbmZpZyBkYXRhIGlzIHByZXNlbnQuIikpOlcmJlpFKG5ldyBnLlF4KCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFiPWZ1bmN0aW9uKG4sVz0yMDApe3JldHVybiBuP1c9PT0zMDA/R1U6bFJDOlc9PT0zMDA/dDY6VGdpfTsKRjQ9ZnVuY3Rpb24obil7aWYoZy5sKCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7bj15NFtufHwiIl07dmFyIFc9Zy5xaigpLnJlc29sdmUoZy5ocChnLlgzKSk/LkxYKCk/LmxvZ2dpbmdIb3RDb25maWc/LmV2ZW50TG9nZ2luZ0NvbmZpZz8ucGF5bG9hZFBvbGljaWVzO2lmKFcpZm9yKGxldCBEPTA7RDxXLmxlbmd0aDtEKyspaWYoV1tEXS5wYXlsb2FkTnVtYmVyPT09bilyZXR1cm4gV1tEXX19OwpCST1mdW5jdGlvbihuKXtuPU9iamVjdC5rZXlzKG4pO2ZvcihsZXQgVyBvZiBuKWlmKHk0W1ddKXJldHVybiBXfTsKd0U9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07ClZSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09ImdlbERlYnVnZ2luZ0V2ZW50Inx8bj09PSJ3YXRjaFRpbWVTZWdtZW50In07CnI0PWZ1bmN0aW9uKG49ITEpe3JldHVybiBuJiZnLmwoInZzc190aHJvdWdoX2dlbF92aWRlb19zdGF0cyIpPyJ2aWRlb19zdGF0cyI6ImxvZ19ldmVudCJ9Owp1Uj1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj17fSxrPU1hdGgucm91bmQoYi50aW1lc3RhbXB8fCgwLGcuUikoKSk7di5ldmVudFRpbWVNcz1rPE51bWJlci5NQVhfU0FGRV9JTlRFR0VSP2s6MDt2W25dPVc7bj1nLnZJKCk7di5jb250ZXh0PXtsYXN0QWN0aXZpdHlNczpTdHJpbmcoYi50aW1lc3RhbXB8fCFpc0Zpbml0ZShuKT8tMTpuKX07Yi5zZXF1ZW5jZUdyb3VwJiYhZy5sKCJ3ZWJfZ2VsX3NlcXVlbmNlX2luZm9fa2lsbHN3aXRjaCIpJiYobj12LmNvbnRleHQsVz1iLnNlcXVlbmNlR3JvdXAsVz17aW5kZXg6RXkoVyksZ3JvdXBLZXk6V30sbi5zZXF1ZW5jZT1XLGIuZW5kT2ZTZXF1ZW5jZSYmZGVsZXRlIGlSW2Iuc2VxdWVuY2VHcm91cF0pO2cubCgid2ViX3RhZ19hdXRvbWF0ZWRfbG9nX2V2ZW50cyIpJiYodi5jb250ZXh0LmF1dG9tYXRlZExvZ0V2ZW50U291cmNlPWIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpOyhiLnNlbmRJc29sYXRlZFBheWxvYWQ/TWo6T0d4KSh7ZW5kcG9pbnQ6ImxvZ19ldmVudCIsCnBheWxvYWQ6dixjdHRBdXRoSW5mbzpiLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246Yi5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxEKX07Cm92PWZ1bmN0aW9uKG49ITEpe25VKHZvaWQgMCxuKX07CkV5PWZ1bmN0aW9uKG4pe2lSW25dPW4gaW4gaVI/aVJbbl0rMTowO3JldHVybiBpUltuXX07CmcuelU9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPWcuZDQ7Zy5BcigieXRMb2dnaW5nRXZlbnRzRGVmYXVsdERpc2FibGVkIiwhMSkmJmcuZDQ9PT1nLmQ0JiYoYj1udWxsKTt1UihuLFcsYixEKX07ClRVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgbFIoe3RyYWNraW5nUGFyYW1zOm59KX07Cmp5PWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD1qelorKztyZXR1cm4gbmV3IGxSKHt2ZVR5cGU6bix2ZUNvdW50ZXI6aCxlbGVtZW50SW5kZXg6RCxkYXRhRWxlbWVudDpXLHlvdXR1YmVEYXRhOmIsanNwYllvdXR1YmVEYXRhOnYsbG9nZ2luZ0RpcmVjdGl2ZXM6a30pfTsKQ1U9ZnVuY3Rpb24obj0wKXtyZXR1cm4gZy5BcigiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIse30pW25dfTsKQ1dpPWZ1bmN0aW9uKG4sVz0wKXt2YXIgRD1nLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7RHx8KEQ9e30sZy5TSCgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsRCkpO0RbV109bn07CkJzPWZ1bmN0aW9uKG49MCl7cmV0dXJuIG49PT0wPyJST09UX1ZFX1RZUEUiOmBST09UX1ZFX1RZUEUuJHtufWB9OwpGUj1mdW5jdGlvbihuPTApe3JldHVybiBnLkFyKEJzKG4pKX07Cnc0PWZ1bmN0aW9uKG49MCl7cmV0dXJuKG49RlIobikpP25ldyBsUih7dmVUeXBlOm4seW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTsKTTE9ZnVuY3Rpb24oKXt2YXIgbj1nLkFyKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIpO258fChuPXt9LGcuU0goImNzbi10by1jdHQtYXV0aC1pbmZvIixuKSk7cmV0dXJuIG59OwpCZ3I9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhnLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSkpLmZpbHRlcihuPT5uIT09dm9pZCAwKX07CmcuUnY9ZnVuY3Rpb24obj0wKXtuPUNVKG4pO2lmKCFuJiYhZy5BcigiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO258fChuPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIG4/bjpudWxsfTsKd0hDPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBPYmplY3QudmFsdWVzKEZfVSkpaWYoZy5SdihXKT09PW4pcmV0dXJuITA7cmV0dXJuITF9OwpNV3c9ZnVuY3Rpb24obixXLEQpe3ZhciBiPU0xKCk7KEQ9Zy5SdihEKSkmJmRlbGV0ZSBiW0RdO1cmJihiW25dPVcpfTsKUTQ9ZnVuY3Rpb24obil7cmV0dXJuIE0xKClbbl19Owpjcz1mdW5jdGlvbihuLFcsRD0wLGIpe2lmKG4hPT1DVShEKXx8VyE9PWcuQXIoQnMoRCkpKWlmKE1XdyhuLGIsRCksQ1dpKG4sRCksZy5TSChCcyhEKSxXKSxXPSgpPT57c2V0VGltZW91dCgoKT0+e24mJmcuelUoImZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkIix7Y2xpZW50RG9jdW1lbnROb25jZTpWNCxjbGllbnRTY3JlZW5Ob25jZTpufSl9LDApfSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdyl0cnl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShXKX1jYXRjaCh2KXtXKCl9ZWxzZSBXKCl9OwpuND1mdW5jdGlvbihuLFcpe3ZhciBEPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pLGI9Zy5JUCh3aW5kb3cubG9jYXRpb24uaHJlZik7YiYmRC5wdXNoKGIpO2I9Zy5JUChuKTtpZihnLmpqKEQsYil8fCFiJiZnLmpVKG4sIi8iKSlpZihEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxnLk5VKEQsbiksbj1ELmhyZWYpaWYobj1tVyhuKSxuPUtwKG4pKWlmKCFXLmNzbiYmKFcuaXRjdHx8Vy52ZWQpJiYoVz1PYmplY3QuYXNzaWduKHtjc246Zy5SdigpfSxXKSksdil7dmFyIHY9cGFyc2VJbnQodiwxMCk7aXNGaW5pdGUodikmJnY+MCYmYXYobixXLHYpfWVsc2UgYXYobixXKX07CmF2PWZ1bmN0aW9uKG4sVyxEKXtuPVdhKG4pO1c9Vz95RyhXKToiIjtEPUR8fDU7Zy5hSygpJiZJSyhuLFcsRCl9OwpXYT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgUl9NKW49VDUobixXKTtyZXR1cm4iU1QtIitzVChuKS50b1N0cmluZygzNil9OwpnLkRwPWZ1bmN0aW9uKG4pe2lmKG4uc2ltcGxlVGV4dClyZXR1cm4gbi5zaW1wbGVUZXh0O2lmKG4ucnVucyl7bGV0IFc9W107Zm9yKGxldCBEIG9mIG4ucnVucylELnRleHQmJlcucHVzaChELnRleHQpO3JldHVybiBXLmpvaW4oIiIpfXJldHVybiIifTsKZy5iZz1mdW5jdGlvbihuKXtpZihuLnNpbXBsZVRleHQpcmV0dXJuIG49ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobi5zaW1wbGVUZXh0KSxuO3ZhciBXPVtdO2lmKG4ucnVucylmb3IobGV0IHg9MDt4PG4ucnVucy5sZW5ndGg7eCsrKXt2YXIgRD1uLnJ1bnNbeF07aWYoRC50ZXh0KXt2YXIgYj1XLHY9Yi5wdXNoLGs9bnVsbDt2YXIgaD1ELnRleHQ7RC5ib2xkJiYoaz1nLmRtKCJCIixudWxsLGt8fGgpKTtELml0YWxpY3MmJihrPWcuZG0oIkkiLG51bGwsa3x8aCkpO0Quc3RyaWtldGhyb3VnaCYmKGs9Zy5kbSgiU1RSSUtFIixudWxsLGt8fGgpKTtELm5hdmlnYXRpb25FbmRwb2ludCYmRC5uYXZpZ2F0aW9uRW5kcG9pbnQudXJsRW5kcG9pbnQmJihEPUQubmF2aWdhdGlvbkVuZHBvaW50LnVybEVuZHBvaW50LGs9Zy5kbSgiQSIsbnVsbCxrfHxoKSxnLk5VKGssRC51cmwpLEQudGFyZ2V0PT0iVEFSR0VUX05FV19XSU5ET1ciJiYoay50YXJnZXQ9Il9ibGFuayIpKTtoPWt8fGcuZG0oIlNQQU4iLApudWxsLGgpO3YuY2FsbChiLGgpfX1yZXR1cm4gVy5sZW5ndGg9PTE/V1swXTpnLmRtKCJTUEFOIixudWxsLFcpfTsKUXoxPWZ1bmN0aW9uKG4pe2lmKG4ubmFtZT09PSJKYXZhRXhjZXB0aW9uIilyZXR1cm4hMDtuPW4uc3RhY2s7cmV0dXJuIG4uaW5jbHVkZXMoImNocm9tZTovLyIpfHxuLmluY2x1ZGVzKCItZXh0ZW5zaW9uOi8vIil8fG4uaW5jbHVkZXMoIndlYmtpdC1tYXNrZWQtdXJsOi8vIil9OwpWV3g9ZnVuY3Rpb24obil7aWYoIW4uc3RhY2spcmV0dXJuITA7dmFyIFc9IW4uc3RhY2suaW5jbHVkZXMoIlxuIik7cmV0dXJuIFcmJm4uc3RhY2suaW5jbHVkZXMoIkVycm9yVHlwZTogIil8fFcmJm4uc3RhY2suaW5jbHVkZXMoIkFub255bW91cyBmdW5jdGlvbiAoVW5rbm93biBzY3JpcHQiKXx8bi5zdGFjay50b0xvd2VyQ2FzZSgpPT09Im5vdCBhdmFpbGFibGUifHxuLmZpbGVOYW1lPT09InVzZXItc2NyaXB0Inx8bi5maWxlTmFtZS5zdGFydHNXaXRoKCJ1c2VyLXNjcmlwdDoiKT8hMDohMX07CmhQPWZ1bmN0aW9uKCl7aWYoIXZhKXt2YXIgbj12YT1uZXcgY3ZoO24uTjkubGVuZ3RoPTA7bi5rby5sZW5ndGg9MDtrQihuLGFSUyl9cmV0dXJuIHZhfTsKa0I9ZnVuY3Rpb24obixXKXtXLk45JiZuLk45LnVuc2hpZnQuYXBwbHkobi5OOSxXLk45KTtXLmtvJiZuLmtvLnVuc2hpZnQuYXBwbHkobi5rbyxXLmtvKX07Cm45dz1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aCxEPTAsYj0oKT0+bi5jaGFyQ29kZUF0KEQrKyk7CmRve3ZhciB2PXhCKGIpO2lmKHY9PT1JbmZpbml0eSlicmVhaztsZXQgaz12Pj4zO3N3aXRjaCh2Jjcpe2Nhc2UgMDp2PXhCKGIpO2lmKGs9PT0yKXJldHVybiB2O2JyZWFrO2Nhc2UgMTppZihrPT09MilyZXR1cm47RCs9ODticmVhaztjYXNlIDI6dj14QihiKTtpZihrPT09MilyZXR1cm4gbi5zdWJzdHIoRCx2KTtEKz12O2JyZWFrO2Nhc2UgNTppZihrPT09MilyZXR1cm47RCs9NDticmVhaztkZWZhdWx0OnJldHVybn19d2hpbGUoRDxXKX07CnhCPWZ1bmN0aW9uKG4pe3ZhciBXPW4oKSxEPVcmMTI3O2lmKFc8MTI4KXJldHVybiBEO1c9bigpO0R8PShXJjEyNyk8PDc7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7RHw9KFcmMTI3KTw8MTQ7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7cmV0dXJuIFc8MTI4P0R8KFcmMTI3KTw8MjE6SW5maW5pdHl9OwpnSz1mdW5jdGlvbihuLFcsRCxiKXtpZihuKWlmKEFycmF5LmlzQXJyYXkobikpe3ZhciB2PWI7Zm9yKGI9MDtiPG4ubGVuZ3RoJiYhKG5bYl0mJih2Kz1MNChiLG5bYl0sVyxEKSx2PjUwMCkpO2IrKyk7Yj12fWVsc2UgaWYodHlwZW9mIG49PT0ib2JqZWN0Iilmb3IodiBpbiBuKXtpZihuW3ZdKXthOnt2YXIgaz12O3ZhciBoPW5bdl0seD1XLEw9RDtpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxrIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZrIT09InRyYWNraW5nUGFyYW1zIil7az0wO2JyZWFrIGF9az0oaD1uOXcoYXRvYihoLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSkpP0w0KGAke2t9LnZlYCxoLHgsTCk6MH1iKz1rO2IrPUw0KHYsblt2XSxXLEQpO2lmKGI+NTAwKWJyZWFrfX1lbHNlIERbV109ZWkobiksYis9RFtXXS5sZW5ndGg7ZWxzZSBEW1ddPWVpKG4pLGIrPURbV10ubGVuZ3RoO3JldHVybiBifTsKTDQ9ZnVuY3Rpb24obixXLEQsYil7RCs9YC4ke259YDtuPWVpKFcpO2JbRF09bjtyZXR1cm4gRC5sZW5ndGgrbi5sZW5ndGh9OwplaT1mdW5jdGlvbihuKXt0cnl7cmV0dXJuKHR5cGVvZiBuPT09InN0cmluZyI/bjpTdHJpbmcoSlNPTi5zdHJpbmdpZnkobikpKS5zdWJzdHIoMCw1MDApfWNhdGNoKFcpe3JldHVybmB1bmFibGUgdG8gc2VyaWFsaXplICR7dHlwZW9mIG59ICgke1cubWVzc2FnZX0pYH19OwpXTlU9ZnVuY3Rpb24obixXPXt9KXtpZihuPW4uelope2xldCBEPW4uSngsYj1uLmQ2O249W1siY29tcG9uZW50U3RhY2siLG4ubUldLFsid2l6VGFnTmFtZSIsbi50YWdOYW1lXSxbIndpek93bmVyVHJhY2UiLG4uRHU/LmpvaW4oIiA+ICIpXSxbImVycm9yU2V2ZXJpdHkiLEQ/LnRvU3RyaW5nKCldLFsid2l6RmVhdHVyZUZsYWdzIixiP09iamVjdC5lbnRyaWVzKGIpLmpvaW4oIlxuIik6dm9pZCAwXV07Zm9yKGxldCBbdixrXW9mIG4pbj1rLG4hPT12b2lkIDAmJihXW3ZdPW4pfXJldHVybiBXfTsKZy5xZz1mdW5jdGlvbihuKXtnLlhqKG4pfTsKZy5HcT1mdW5jdGlvbihuKXtnLlhqKG4sIldBUk5JTkciKX07CmcuWGo9ZnVuY3Rpb24obixXPSJFUlJPUiIpe3ZhciBEPXt9O0QubmFtZT1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSk7RC52ZXJzaW9uPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7REh0KG4sRCxXKX07CkRIdD1mdW5jdGlvbihuLFcsRD0iRVJST1IiKXtpZihuKXtuLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZuLmxldmVsJiYoRD1uLmxldmVsKTtpZihnLmwoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBiPVc7aWYoIWI/LmNvbXBvbmVudFN0YWNrKXt2YXIgdj1uLnpaPy5tSTt2JiYoYnx8KGI9e30pLGIuY29tcG9uZW50U3RhY2s9dil9Vz1ifHxXfWVsc2UgVz1XTlUobixXKSxiPW4uelo/Lkp4LGIhPT12b2lkIDAmJkQhPT0iSUdOT1JFRCImJihEPWI+PTM/IkVSUk9SIjoiV0FSTklORyIpO2lmKGcubCgiY29uc29sZV9sb2dfanNfZXhjZXB0aW9ucyIpfHxbInRlc3QiLCJkZXYiLCJhdXRvcHVzaCIsInN0YWdpbmciXS5pbmNsdWRlcyhnLkFyKCJTRVJWRVJfVkVSU0lPTiIpKSliPVtdLGIucHVzaChgTmFtZTogJHtuLm5hbWV9YCksYi5wdXNoKGBNZXNzYWdlOiAke24ubWVzc2FnZX1gKSxuLmhhc093blByb3BlcnR5KCJwYXJhbXMiKSYmYi5wdXNoKGBFcnJvciBQYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkobi5wYXJhbXMpfWApLApuLmhhc093blByb3BlcnR5KCJhcmdzIikmJmIucHVzaChgRXJyb3IgYXJnczogJHtKU09OLnN0cmluZ2lmeShuLmFyZ3MpfWApLGIucHVzaChgRmlsZSBuYW1lOiAke24uZmlsZU5hbWV9YCksYi5wdXNoKGBTdGFja3RyYWNlOiAke24uc3RhY2t9YCksYj1iLmpvaW4oIlxuIiksd2luZG93LmNvbnNvbGUubG9nKGIsbik7aWYoISh0UD49NSkpe2I9W107Zm9yKGsgb2YgYm4yKXRyeXtrKCkmJmIucHVzaChrKCkpfWNhdGNoKEEpe312YXIgaz1iO2s9Wy4uLnY5MiwuLi5rXTt2YXIgaD1yaWIobik7Yj1oLm1lc3NhZ2V8fCJVbmtub3duIEVycm9yIjt2PWgubmFtZXx8IlVua25vd25FcnJvciI7dmFyIHg9aC5zdGFja3x8bi5TdHx8Ik5vdCBhdmFpbGFibGUiO2lmKHguc3RhcnRzV2l0aChgJHt2fTogJHtifWApKXt2YXIgTD14LnNwbGl0KCJcbiIpO0wuc2hpZnQoKTt4PUwuam9pbigiXG4iKX1MPWgubGluZU51bWJlcnx8Ik5vdCBhdmFpbGFibGUiO2g9aC5maWxlTmFtZXx8Ik5vdCBhdmFpbGFibGUiOwpsZXQgSD0wO2lmKG4uaGFzT3duUHJvcGVydHkoImFyZ3MiKSYmbi5hcmdzJiZuLmFyZ3MubGVuZ3RoKWZvcih2YXIgZT0wO2U8bi5hcmdzLmxlbmd0aCYmIShIPWdLKG4uYXJnc1tlXSxgcGFyYW1zLiR7ZX1gLFcsSCksSD49NTAwKTtlKyspO2Vsc2UgaWYobi5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJm4ucGFyYW1zKXtsZXQgQT1uLnBhcmFtcztpZih0eXBlb2Ygbi5wYXJhbXM9PT0ib2JqZWN0Iilmb3IoZSBpbiBBKXtpZighQVtlXSljb250aW51ZTtsZXQgeT1gcGFyYW1zLiR7ZX1gLFQ9ZWkoQVtlXSk7V1t5XT1UO0grPXkubGVuZ3RoK1QubGVuZ3RoO2lmKEg+NTAwKWJyZWFrfWVsc2UgVy5wYXJhbXM9ZWkoQSl9aWYoay5sZW5ndGgpZm9yKGU9MDtlPGsubGVuZ3RoJiYhKEg9Z0soa1tlXSxgcGFyYW1zLmNvbnRleHQuJHtlfWAsVyxIKSxIPj01MDApO2UrKyk7bmF2aWdhdG9yLnZlbmRvciYmIVcuaGFzT3duUHJvcGVydHkoInZlbmRvciIpJiYoV1siZGV2aWNlLnZlbmRvciJdPQpuYXZpZ2F0b3IudmVuZG9yKTtlPXttZXNzYWdlOmIsbmFtZTp2LGxpbmVOdW1iZXI6TCxmaWxlTmFtZTpoLHN0YWNrOngscGFyYW1zOlcsc2FtcGxlV2VpZ2h0OjF9O1c9TnVtYmVyKG4uY29sdW1uTnVtYmVyKTtpc05hTihXKXx8KGUubGluZU51bWJlcj1gJHtlLmxpbmVOdW1iZXJ9OiR7V31gKTtpZihuLmxldmVsPT09IklHTk9SRUQiKXZhciBHPTA7ZWxzZSBhOntuPWhQKCk7Zm9yKEcgb2Ygbi5OOSlpZihlLm1lc3NhZ2UmJmUubWVzc2FnZS5tYXRjaChHLktSKSl7Rz1HLndlaWdodDticmVhayBhfWZvcih2YXIgciBvZiBuLmtvKWlmKHIuY2FsbGJhY2soZSkpe0c9ci53ZWlnaHQ7YnJlYWsgYX1HPTF9ZS5zYW1wbGVXZWlnaHQ9RztHPWU7Zm9yKHZhciBOIG9mIGskYil7aWYoIU4uWXpbRy5uYW1lXSljb250aW51ZTtyPU4uWXpbRy5uYW1lXTtmb3IobGV0IEEgb2Ygcil7cj1HLm1lc3NhZ2UubWF0Y2goQS53Yik7aWYoIXIpY29udGludWU7Ry5wYXJhbXNbInBhcmFtcy5lcnJvci5vcmlnaW5hbCJdPQpyWzBdO249QS5ncm91cHM7ZT17fTtmb3IoVz0wO1c8bi5sZW5ndGg7VysrKWVbbltXXV09cltXKzFdLEcucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHtuW1ddfWBdPXJbVysxXTtHLm1lc3NhZ2U9Ti5HMShlKTticmVha319Ry5wYXJhbXN8fChHLnBhcmFtcz17fSk7Tj1oUCgpO0cucGFyYW1zWyJwYXJhbXMuZXJyb3JTZXJ2aWNlU2lnbmF0dXJlIl09YG1zZz0ke04uTjkubGVuZ3RofSZjYj0ke04ua28ubGVuZ3RofWA7Ry5wYXJhbXNbInBhcmFtcy5zZXJ2aWNlV29ya2VyIl09ImZhbHNlIjtnLnFpLmRvY3VtZW50JiZnLnFpLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihHLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3ICRCKHJLLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT0kQiYmKEcucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09InRydWUiKTt3aW5kb3cueXRlcnImJgp0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKEcpO0cuc2FtcGxlV2VpZ2h0PT09MHx8SVUuaGFzKEcubWVzc2FnZSl8fGhUUyhHLEQpfX19OwpoVFM9ZnVuY3Rpb24obixXPSJFUlJPUiIpe2lmKFc9PT0iRVJST1IiKXtTaS5XSigiaGFuZGxlRXJyb3IiLG4pO2lmKGcubCgicmVjb3JkX2FwcF9jcmFzaGVkX3dlYiIpJiZBUD09PTAmJm4uc2FtcGxlV2VpZ2h0PT09MSl7QVArKzt2YXIgRD17YXBwQ3Jhc2hUeXBlOiJBUFBfQ1JBU0hfVFlQRV9CUkVBS1BBRCJ9O2cubCgicmVwb3J0X2NsaWVudF9lcnJvcl93aXRoX2FwcF9jcmFzaF9rcyIpfHwoRC5zeXN0ZW1IZWFsdGg9e2NyYXNoRGF0YTp7Y2xpZW50RXJyb3I6e2xvZ01lc3NhZ2U6e21lc3NhZ2U6bi5tZXNzYWdlfX19fSk7Zy56VSgiYXBwQ3Jhc2hlZCIsRCl9eEhNKyt9ZWxzZSBXPT09IldBUk5JTkciJiZTaS5XSigiaGFuZGxlV2FybmluZyIsbik7aWYoZy5sKCJrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmciKSl7RD17fTtiOntmb3IoYiBvZiBMTkMpaWYoZy51YihiLnRvTG93ZXJDYXNlKCkpKXt2YXIgYj0hMDticmVhayBifWI9ITF9aWYoYilEPXZvaWQgMDtlbHNle3ZhciB2PQp7c3RhY2tUcmFjZTpuLnN0YWNrfTtuLmZpbGVOYW1lJiYodi5maWxlbmFtZT1uLmZpbGVOYW1lKTtiPW4ubGluZU51bWJlciYmbi5saW5lTnVtYmVyLnNwbGl0P24ubGluZU51bWJlci5zcGxpdCgiOiIpOltdO2IubGVuZ3RoIT09MCYmKGIubGVuZ3RoIT09MXx8aXNOYU4oTnVtYmVyKGJbMF0pKT9iLmxlbmd0aCE9PTJ8fGlzTmFOKE51bWJlcihiWzBdKSl8fGlzTmFOKE51bWJlcihiWzFdKSl8fCh2LmxpbmVOdW1iZXI9TnVtYmVyKGJbMF0pLHYuY29sdW1uTnVtYmVyPU51bWJlcihiWzFdKSk6di5saW5lTnVtYmVyPU51bWJlcihiWzBdKSk7Yj17bGV2ZWw6IkVSUk9SX0xFVkVMX1VOS05PV04iLG1lc3NhZ2U6bi5tZXNzYWdlLGVycm9yQ2xhc3NOYW1lOm4ubmFtZSxzYW1wbGVXZWlnaHQ6bi5zYW1wbGVXZWlnaHR9O1c9PT0iRVJST1IiP2IubGV2ZWw9IkVSUk9SX0xFVkVMX0VSUk9SIjpXPT09IldBUk5JTkciJiYoYi5sZXZlbD0iRVJST1JfTEVWRUxfV0FSTk5JTkciKTt2PXtpc09iZnVzY2F0ZWQ6ITAsCmJyb3dzZXJTdGFja0luZm86dn07RC5wYWdlVXJsPXdpbmRvdy5sb2NhdGlvbi5ocmVmO0Qua3ZQYWlycz1bXTtnLkFyKCJGRVhQX0VYUEVSSU1FTlRTIikmJihELmV4cGVyaW1lbnRJZHM9Zy5BcigiRkVYUF9FWFBFUklNRU5UUyIpKTt2YXIgaz1nLkFyKCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighbXkoIndlYl9kaXNhYmxlX2dlbF9zdHBfZWNhdGNoZXJfa2lsbHN3aXRjaCIpJiZrKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhrKSlELmt2UGFpcnMucHVzaCh7a2V5OmgsdmFsdWU6U3RyaW5nKGtbaF0pfSk7aWYoaD1uLnBhcmFtcylmb3IodmFyIHggb2YgT2JqZWN0LmtleXMoaCkpRC5rdlBhaXJzLnB1c2goe2tleTpgY2xpZW50LiR7eH1gLHZhbHVlOlN0cmluZyhoW3hdKX0pO2lmKHg9bi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZClELnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoeCk7eD1nLkFyKCJTRVJWRVJfTkFNRSIpO2g9Zy5BcigiU0VSVkVSX1ZFUlNJT04iKTsKeCYmaCYmKEQua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTp4fSksRC5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KHg9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiZELmt2UGFpcnMucHVzaCh7a2V5OiJjbGllbnQucGxheWVyLnZlcnNpb24iLHZhbHVlOnh9KTtEPXtlcnJvck1ldGFkYXRhOkQsc3RhY2tUcmFjZTp2LGxvZ01lc3NhZ2U6Yn19aWYoRCYmKGcuelUoImNsaWVudEVycm9yIixEKSxXPT09IkVSUk9SInx8Zy5sKCJlcnJvcnNfZmx1c2hfZ2VsX2Fsd2F5c19raWxsc3dpdGNoIikpKWE6e2lmKGcubCgid2ViX2ZwX3ZpYV9qc3BiIikpe0Q9bTE7bTE9W107aWYoRClmb3IodmFyIEwgb2YgRCl1UihMLnBheWxvYWROYW1lLEwucGF5bG9hZCxnLmQ0LEwub3B0aW9ucyk7b3YoITApO2lmKCFnLmwoIndlYl9mcF92aWFfanNwYl9hbmRfanNvbiIpKWJyZWFrIGF9b3YoKX19aWYoIWcubCgic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciKSl7TD0Kbi5wYXJhbXN8fHt9O1c9e3VybFBhcmFtczp7YToibG9nZXJyb3IiLHQ6ImpzZXJyb3IiLHR5cGU6bi5uYW1lLG1zZzpuLm1lc3NhZ2Uuc3Vic3RyKDAsMjUwKSxsaW5lOm4ubGluZU51bWJlcixsZXZlbDpXLCJjbGllbnQubmFtZSI6TC5uYW1lfSxwb3N0UGFyYW1zOnt1cmw6Zy5BcigiUEFHRV9OQU1FIix3aW5kb3cubG9jYXRpb24uaHJlZiksZmlsZTpuLmZpbGVOYW1lfSxtZXRob2Q6IlBPU1QifTtMLnZlcnNpb24mJihXWyJjbGllbnQudmVyc2lvbiJdPUwudmVyc2lvbik7aWYoVy5wb3N0UGFyYW1zKXtuLnN0YWNrJiYoVy5wb3N0UGFyYW1zLnN0YWNrPW4uc3RhY2spO2Zvcih2YXIgZSBvZiBPYmplY3Qua2V5cyhMKSlXLnBvc3RQYXJhbXNbYGNsaWVudC4ke2V9YF09TFtlXTtpZihlPWcuQXIoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgRyBvZiBPYmplY3Qua2V5cyhlKSlXLnBvc3RQYXJhbXNbR109ZVtHXTsoRz1nLkFyKCJMQVZBX1ZFUlNJT04iKSkmJgooVy5wb3N0UGFyYW1zWyJsYXZhLnZlcnNpb24iXT1HKTtHPWcuQXIoIlNFUlZFUl9OQU1FIik7ZT1nLkFyKCJTRVJWRVJfVkVSU0lPTiIpO0cmJmUmJihXLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09RyxXLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09ZSk7KEc9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiYoVy5wb3N0UGFyYW1zWyJjbGllbnQucGxheWVyLnZlcnNpb24iXT1HKX1nLmVkKGAke2cuQXIoIkVDQVRDSEVSX1JFUE9SVF9IT1NUIiwiIil9L2Vycm9yXzIwNGAsVyl9dHJ5e0lVLmFkZChuLm1lc3NhZ2UpfWNhdGNoKHIpe310UCsrfTsKSzQ9ZnVuY3Rpb24obiwuLi5XKXtuLmFyZ3N8fChuLmFyZ3M9W10pO0FycmF5LmlzQXJyYXkobi5hcmdzKSYmbi5hcmdzLnB1c2goLi4uVyl9OwpPYT1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVc9VyozMStuLmNoYXJDb2RlQXQoRCksRDxuLmxlbmd0aC0xJiYoVyU9MHg4MDAwMDAwMDAwMDApO3JldHVybiBXJTFFNX07Cmc5aT1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCl7dmFyIGU9ZVRoKCk7az1uZXcgbFIoe3ZlVHlwZTpXLHlvdXR1YmVEYXRhOmssanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO0w9UGEoe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOkx9LGUpO3YmJihMLmN0dEF1dGhJbmZvPXYpO3Y9e2NzbjplLHBhZ2VWZTprLmdldEFzSnNvbigpfTtnLmwoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmeCYmeC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKHYuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9eC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7RCYmRC52aXN1YWxFbGVtZW50Pyh2LmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOkQuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpELnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJih2LmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6RCYmZy5HcShuZXcgZy5ReCgibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKVykpO2ImJih2LmNsb25lQ3NuPWIpO24/dVIoInNjcmVlbkNyZWF0ZWQiLHYsbixMKTpnLnpVKCJzY3JlZW5DcmVhdGVkIix2LEwpO2w5KFRvLG5ldyBacChlKSk7VWEuY2xlYXIoKTt5NS5jbGVhcigpO0VhLmNsZWFyKCk7cmV0dXJuIGV9Owp1Zz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7aWcobixXLEQsW2JdLHYsayl9OwppZz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7T2JqZWN0LmFzc2lnbihrLFBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwfSxXKSk7Zm9yKGxldCB4IG9mIGIpe3ZhciBoPXguZ2V0QXNKc29uKCk7KGcuR0YoaCl8fCFoLnRyYWNraW5nUGFyYW1zJiYhaC52ZVR5cGUpJiZnLkdxKEVycm9yKCJDaGlsZCBWRSBsb2dnZWQgd2l0aCBubyBkYXRhIikpO2lmKGcubCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7bGV0IEw9b1UoeCxXKTtpZihoLnZlVHlwZSYmIXk1LmhhcyhMKSYmIUVhLmhhcyhMKSYmIXYpe2lmKCFnLmwoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxVYS5zaXplPDFFMyl7VWEuc2V0KEwsW24sVyxELHhdKTtyZXR1cm59Zy5sKCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiKSYmVWEuc2l6ZT4xRTMmJmcuR3EobmV3IGcuUXgoIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPW9VKEQsVyk7VWEuaGFzKGgpP2RLKEQsVyk6RWEuc2V0KGgsCiEwKX19Yj1iLmZpbHRlcih4PT57eC5jc24hPT1XPyh4LmNzbj1XLHg9ITApOng9ITE7cmV0dXJuIHh9KTsKRD17Y3NuOlcscGFyZW50VmU6RC5nZXRBc0pzb24oKSxjaGlsZFZlczpnLmlfKGIseD0+eC5nZXRBc0pzb24oKSl9OwpXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGssRCk6bj91UigidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELG4sayk6Zy56VSgidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELGspfTsKWFdqPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe2xnKEQsVyk7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpofSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZToxfTt2JiYoRC5jbGllbnREYXRhPXYpO1c9PT0iVU5ERUZJTkVEX0NTTiI/enEoInZpc3VhbEVsZW1lbnRTaG93biIsYixEKTpuP3VSKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsYil9OwpUcT1mdW5jdGlvbihuLFcsRCxiPSExKXt2YXIgdj1iPzE2Ojg7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmIsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZTp2fTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRIaWRkZW4iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixELGIpfTsKcVZaPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtqaShuLFcsRCxiLGspfTsKamk9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12b2lkIDA7bGcoRCxXKTtrPWt8fCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIjt2PVBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZ9LFcpO0Q9e2NzbjpXLHZlOkQuZ2V0QXNKc29uKCksZ2VzdHVyZVR5cGU6a307YiYmKEQuY2xpZW50RGF0YT1iKTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50R2VzdHVyZWQiLHYsRCk6bj91UigidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELG4sdik6Zy56VSgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELHYpfTsKRyRqPWZ1bmN0aW9uKCl7dmFyIG49TWIoMTYpO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVcucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KG5bRF0mNjMpKTtyZXR1cm4gVy5qb2luKCIiKX07CnpxPWZ1bmN0aW9uKG4sVyxEKXtDNC5wdXNoKHtwYXlsb2FkTmFtZTpuLHBheWxvYWQ6RCxwUDp2b2lkIDAsb3B0aW9uczpXfSk7QmF8fChCYT1GME0oKSl9OwpDNHc9ZnVuY3Rpb24obil7aWYoQzQpe2ZvcihsZXQgVyBvZiBDNClXLnBheWxvYWQmJihXLnBheWxvYWQuY3NuPW4uY3NuLGcuelUoVy5wYXlsb2FkTmFtZSxXLnBheWxvYWQsVy5vcHRpb25zKSk7QzQubGVuZ3RoPTB9QmE9MH07Cm9VPWZ1bmN0aW9uKG4sVyl7cmV0dXJuYCR7bi5nZXRBc0pzb24oKS52ZVR5cGV9JHtuLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke1d9YH07CmxnPWZ1bmN0aW9uKG4sVyl7aWYoZy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXt2YXIgRD1vVShuLFcpO3k1LnNldChELCEwKTtkSyhuLFcpfX07CmRLPWZ1bmN0aW9uKG4sVyl7bj1vVShuLFcpO1VhLmhhcyhuKSYmKFc9VWEuZ2V0KG4pfHxbXSx1ZyhXWzBdLFdbMV0sV1syXSxXWzNdLCEwKSxVYS5kZWxldGUobikpfTsKUGE9ZnVuY3Rpb24obixXKXtnLmwoImxvZ19zZXF1ZW5jZV9pbmZvX29uX2dlbF93ZWIiKSYmKG4uc2VxdWVuY2VHcm91cD1XKTtyZXR1cm4gbn07CkZqPWZ1bmN0aW9uKG4sVyxELGIpe1BWKFhXaikodm9pZCAwLG4sVyxELGIsdm9pZCAwKX07CnRFeD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntsZyhELG4pO3ZhciBiPVBhKHtjdHRBdXRoSW5mbzpRNChuKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZvaWQgMH0sbik7RD17Y3NuOm4sdmU6RC5nZXRBc0pzb24oKSxldmVudFR5cGU6NH07bj09PSJVTkRFRklORURfQ1NOIj96cSgidmlzdWFsRWxlbWVudFNob3duIixiLEQpOmcuelUoInZpc3VhbEVsZW1lbnRTaG93biIsRCxiKX0pfSkoKX07CiRIdD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntUcSh2b2lkIDAsbixEKX0pfSkoKX07CndLPWZ1bmN0aW9uKCl7dmFyIG49ITE7dHJ5e249ISF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKX1jYXRjaHtuPSEwfXJldHVybihnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiIpJiZufTsKTWc9ZnVuY3Rpb24oKXt0cnl7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInN0aWNraW5lc3NfcmVsb2FkIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInNlc3Npb25fbG9naW5pbmZvIik7Zy5TSCgiTE9HSU5fSU5GTyIsIiIpO3dpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJmcm9tX3N3aXRjaF9hY2NvdW50IiwiMSIpO3ZhciBuO2xldCBEPXJTaDtEfHwoRD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGVyc2lzdF9pZGVudGl0eSIpKTtpZihuPUQpe3ZhciBXPW4uc3JjPyhuZXcgVVJMKG4uc3JjKSkub3JpZ2luOiIqIjtuLmNvbnRlbnRXaW5kb3c/LnBvc3RNZXNzYWdlKHthY3Rpb246ImNsZWFyIn0sVyl9fWNhdGNoe319OwpnLlJVPWZ1bmN0aW9uKG4pe24mJihuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9BZGRTZXNzaW9uIik/TWcoKTpuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKT9NZygpOm4uc3RhcnRzV2l0aCgiaHR0cHM6Ly9teWFjY291bnQuZ29vZ2xlLmNvbSIpJiZscihuKS5KLmVuZHNXaXRoKCIveW91dHViZW9wdGlvbnMiKSYmTWcoKSk7aWYoZy5BcigiTE9HR0VEX0lOIiwhMCkmJndLKCkpe3ZhciBXPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBEPWcuSVAod2luZG93LmxvY2F0aW9uLmhyZWYpO0QmJlcucHVzaChEKTtEPWcuSVAobik7Zy5qaihXLEQpfHwhRCYmZy5qVShuLCIvIik/KFc9bVcobiksKFc9S3AoVykpPyhXPVdhKFcpLFc9KFc9Zy5TZChXKXx8bnVsbCk/Zy5pdyhXKTp7fSk6Vz1udWxsKTpXPW51bGw7Vz09bnVsbCYmKFc9e30pO0Q9Vzt2YXIgYj12b2lkIDA7CndLKCk/KGJ8fChiPWcuQXIoIkxPR0lOX0lORk8iKSksYj8oRC5zZXNzaW9uX2xvZ2luaW5mbz1iLEQ9ITApOkQ9ITEpOkQ9ITE7RCYmbjQobixXKX19OwpRNT1mdW5jdGlvbihuLFc9e30pe3ZhciBEPWcuQXIoIkVWRU5UX0lEIik7RCYmKFcuZWl8fChXLmVpPUQpKTtXJiZuNChuLFcpfTsKZy5jYT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe0QmJm40KG4sRCk7RD1nLnRGKG4sZy5HNCl8fGcuVjU7dmFyIGs9Z3ooRCk7biE9ayYmWkUoRXJyb3IoYFVuc2FmZSB3aW5kb3cub3BlbiBVUkw6ICR7bn1gKSk7bj1rO1c9V3x8c1QobikudG9TdHJpbmcoMzYpO3RyeXtpZih2KXJldHVybiB2PW4sdj1nLnFiKHYpLGcuUlUodiksSkYodixXLCJhdHRyaWJ1dGlvbnNyYyIpfWNhdGNoKGgpe090KGgpfWcuUlUobik7cmV0dXJuIEpGKEQsVyxiKX07Ck5lMj1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5ocmVmO2lmKGcubCgia2V2bGFyX2Rpc2FibGVfdGhlbWVfcGFyYW0iKSlyZXR1cm4gbnVsbDtTMShuKTt0cnl7bGV0IFc9Zy5vRShuKS50aGVtZTtyZXR1cm4gc1lVLmdldChXKXx8bnVsbH1jYXRjaChXKXt9cmV0dXJuIG51bGx9OwphVT1mdW5jdGlvbihuLFcpe2lmKFcuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPVcsdHlwZW9mIFcuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBEPU51bWJlcihXLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxEKjFFMyk7Cm4uSiYmSUsoIkNPTlNJU1RFTkNZIixXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHMsRCx2b2lkIDAsITApfX07Cm5CPWZ1bmN0aW9uKG4pe3JldHVybiBuLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgdEkoInl0LWNsaWVudC1sb2NhdGlvbiIpOm4ubG9jYWxTdG9yYWdlfTsKZy52Yj1mdW5jdGlvbihuLFc9ITEsRD0hMSxiLHYpe3ZhciBrPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7aWYoIWspcmV0dXJuIGcuWGooRXJyb3IoIkVycm9yOiBObyBJbm5lclR1YmVDb250ZXh0IHNoZWxsIHByb3ZpZGVkIGluIHl0Y29uZmlnLiIpKSx7fTtrPWcuTmMoayk7Zy5sKCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGsuY2xpY2tUcmFja2luZztrLmNsaWVudHx8KGsuY2xpZW50PXt9KTt2YXIgaD1rLmNsaWVudDtoLmNsaWVudE5hbWU9PT0iTVdFQiImJmguY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGguY2xpZW50Rm9ybUZhY3Rvcj1nLkFyKCJJU19UQUJMRVQiKT8iTEFSR0VfRk9STV9GQUNUT1IiOiJTTUFMTF9GT1JNX0ZBQ1RPUiIpO2guc2NyZWVuV2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGg7aC5zY3JlZW5IZWlnaHRQb2ludHM9d2luZG93LmlubmVySGVpZ2h0O2guc2NyZWVuUGl4ZWxEZW5zaXR5PQpNYXRoLnJvdW5kKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKTtoLnNjcmVlbkRlbnNpdHlGbG9hdD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtoLnV0Y09mZnNldE1pbnV0ZXM9LU1hdGguZmxvb3IoKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgeD1nLm85KCk7dmFyIEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjt4LlFRKDE2NSk/TD0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6eC5RUSgxNzQpP0w9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjohZy5sKCJrZXZsYXJfbGVnYWN5X2Jyb3dzZXJzIikmJndpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lKSIpLm1hdGNoZXMmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyYmKEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiKTt4PU5lMigpfHxMO2gudXNlckludGVyZmFjZVRoZW1lPQp4O2cubCgid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIikmJmcucWkuZG9jdW1lbnQmJihoLmFwcGxpY2F0aW9uU3RhdGU9Zy5xaS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFXKXtpZih4PUJCKCkpaC5jb25uZWN0aW9uVHlwZT14O2cubCgid2ViX2xvZ19lZmZlY3RpdmVfY29ubmVjdGlvbl90eXBlIikmJih4PXdKKCkpJiYoay5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9eCl9Zy5sKCJ3ZWJfbG9nX21lbW9yeV90b3RhbF9rYnl0ZXMiKSYmZy5xaS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGsuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke2cucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkqMUU2fWApO1cmJmImJiFnLmwoIndlYl9pdF9jb250ZXh0X3NldF9vcmlnaW5hbF91cmxfa3MiKSYmKHg9YixMPWcucWkubG9jYXRpb24uaHJlZixMIGluc3RhbmNlb2YKZy5Vanx8KEw9bHIoTCkpLHggaW5zdGFuY2VvZiBnLlVqfHwoeD1scih4KSkseD1MLnJlc29sdmUoeCksaC5vcmlnaW5hbFVybD14LnRvU3RyaW5nKCkpO2lmKGcubCgid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIikpe3ZhciBlPUo3KCk7ZSYmKHg9ZS5jb2xkQ29uZmlnRGF0YSxMPWUuY29sZEhhc2hEYXRhLGU9ZS5ob3RIYXNoRGF0YSxrLmNsaWVudC5jb25maWdJbmZvPWsuY2xpZW50LmNvbmZpZ0luZm98fHt9LHgmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRDb25maWdEYXRhPXgpLEwmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRIYXNoRGF0YT1MKSxlJiYoay5jbGllbnQuY29uZmlnSW5mby5ob3RIYXNoRGF0YT1lKSl9eD1nLm9FKGcucWkubG9jYXRpb24uaHJlZik7IWcubCgid2ViX3BvcHVsYXRlX2ludGVybmFsX2dlb19raWxsc3dpdGNoIikmJnguaW50ZXJuYWxjb3VudHJ5Y29kZSYmKGguaW50ZXJuYWxHZW89eC5pbnRlcm5hbGNvdW50cnljb2RlKTshZy5sKCJ3ZWJfcG9wdWxhdGVfY2xpZW50X3NjcmVlbl9raWxsc3dpdGNoIikmJgp2JiYoaC5jbGllbnRTY3JlZW49dik7aC5jbGllbnROYW1lPT09Ik1XRUIifHxoLmNsaWVudE5hbWU9PT0iV0VCIj8oaC5tYWluQXBwV2ViSW5mb3x8KGgubWFpbkFwcFdlYkluZm89e30pLGgubWFpbkFwcFdlYkluZm8uZ3JhZnRVcmw9Ynx8Zy5xaS5sb2NhdGlvbi5ocmVmLGcubCgia2V2bGFyX3dvZmZsZSIpJiZXYi5pbnN0YW5jZSYmKGI9V2IuaW5zdGFuY2UsaC5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hYi5OJiZiLko/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfVU5LTk9XTiIpLGgubWFpbkFwcFdlYkluZm8ud2ViRGlzcGxheU1vZGU9eXgoKSxoLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmguY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFnLmwoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJgooYj1nLkFyKCJMSVZJTkdfUk9PTV9BUFBfUVVBTElUWSIpKSYmKGgudHZBcHBJbmZvPU9iamVjdC5hc3NpZ24oaC50dkFwcEluZm98fHt9LHthcHBRdWFsaXR5OmJ9KSksYj1nLkFyKCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoaC50dkFwcEluZm89T2JqZWN0LmFzc2lnbihoLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpifSkpO2lmKCFnLmwoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIEc9KG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTticmVhayBhfWNhdGNoe31HPXZvaWQgMH1HJiYoaC50aW1lWm9uZT1HKX0oRz1rVCgpKT9oLmV4cGVyaW1lbnRzVG9rZW49RzpkZWxldGUgaC5leHBlcmltZW50c1Rva2VuO2g9aHkoKTtETS5pbnN0YW5jZXx8KERNLmluc3RhbmNlPW5ldyBETSk7Rz1oSyhETS5pbnN0YW5jZS5OKTsKay5yZXF1ZXN0PXsuLi5rLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6aCxjb25zaXN0ZW5jeVRva2VuSmFyczpHfTshZy5sKCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihoPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1BSRVFVRVNUX0NPTlRFWFQiKSkmJihrLnJlcXVlc3QuZXh0ZXJuYWxQcmVxdWVzdENvbnRleHQ9aCk7Rz1nLm85KCk7aD1HLlFRKDU4KTtHPUcuZ2V0KCJnc21sIiwiIik7ay51c2VyPXsuLi5rLnVzZXJ9O2gmJihrLnVzZXIuZW5hYmxlU2FmZXR5TW9kZT1oKTtHJiYoay51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO2cubCgid2FybV9vcF9jc25fY2xlYW51cCIpP0QmJihXPWcuUnYoKSkmJihrLmNsaWVudFNjcmVlbk5vbmNlPVcpOiFXJiYoVz1nLlJ2KCkpJiYoay5jbGllbnRTY3JlZW5Ob25jZT1XKTtuJiYoay5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOm59KTtpZihuPWcucnIoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWsucmVtb3RlQ2xpZW50PQpuO2IkLmdldEluc3RhbmNlKCkuc2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQoayk7dHJ5e3ZhciByPWcuUUYoKSxOPXIuYmlkO2RlbGV0ZSByLmJpZDtrLmFkU2lnbmFsc0luZm89e3BhcmFtczpbXSxiaWQ6Tn07Zm9yKGxldCBbSCxBXW9mIE9iamVjdC5lbnRyaWVzKHIpKXI9SCxOPUEsay5hZFNpZ25hbHNJbmZvLnBhcmFtcz8ucHVzaCh7a2V5OnIsdmFsdWU6YCR7Tn1gfSk7aWYoay5jbGllbnQ/LmNsaWVudE5hbWU9PT0iVFZIVE1MNSJ8fGsuY2xpZW50Py5jbGllbnROYW1lPT09IlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IEg9Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFQiKTtILmFkU2lnbmFsc0luZm8mJihrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZD1ILmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZCxrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZFNpZ25hbFR5cGU9IkRFVklDRV9JRF9UWVBFX0NPTk5FQ1RFRF9UVl9JRkEiLGsuYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmc9CkguYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmcsSC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cyE9PXZvaWQgMCYmKGsuYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXM9SC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cykpfX1jYXRjaChIKXtnLlhqKEgpfXJldHVybiBrfTsKa1Y9ZnVuY3Rpb24obil7dmFyIFc9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP1dbIlgtR29vZy1FT00tVmlzaXRvci1JZCJdPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKTpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKFdbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO1dbIlgtWW91dHViZS1Cb290c3RyYXAtTG9nZ2VkLUluIl09Zy5BcigiTE9HR0VEX0lOIiwhMSk7Zy5BcigiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKFdbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1nLkFyKCJERUJVR19TRVRUSU5HU19NRVRBREFUQSIpKTtuIT09ImNvcnMiJiYoKG49Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSkmJihXWyJYLVlvdXR1YmUtQ2xpZW50LU5hbWUiXT1uKSwobj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKFdbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQpuKSwobj1nLkFyKCJDSFJPTUVfQ09OTkVDVEVEX0hFQURFUiIpKSYmKFdbIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIl09biksKG49Zy5BcigiRE9NQUlOX0FETUlOX1NUQVRFIikpJiYoV1siWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSJdPW4pLChuPWIkLmdldEluc3RhbmNlKCkuZ2V0WEdlb0hlYWRlcj8uKCkpJiYoV1siWC1HZW8iXT1uKSk7KG49Zy5BcigiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoV1siWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1uKTtyZXR1cm4gV307CmhtPWZ1bmN0aW9uKG4pe3JldHVybigpPT5uZXcgbn07CnBXTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTEpcmV0dXJuIG5bMF07dmFyIFc9eFYuVU5LTk9XTl9JTlRFUkZBQ0U7aWYoVyl7Vz1uZXcgUmVnRXhwKFcpO2Zvcih2YXIgRCBvZiBuKWlmKFcuZXhlYyhEKSlyZXR1cm4gRH12YXIgYj1bXTtPYmplY3QuZW50cmllcyh4VikuZm9yRWFjaCgoW3Ysa10pPT57IlVOS05PV05fSU5URVJGQUNFIiE9PXYmJmIucHVzaChrKX0pOwpEPW5ldyBSZWdFeHAoYi5qb2luKCJ8IikpO24uc29ydCgodixrKT0+di5sZW5ndGgtay5sZW5ndGgpOwpmb3IobGV0IHYgb2YgbilpZighRC5leGVjKHYpKXJldHVybiB2O3JldHVybiBuWzBdfTsKTEI9ZnVuY3Rpb24obil7cmV0dXJuYC95b3V0dWJlaS92MS8ke3BXTShuKX1gfTsKZ2I9ZnVuY3Rpb24obil7cmV0dXJuIGcucnIoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iKXx8ZUwobil9OwpYQT1mdW5jdGlvbigpe3ZhciBuPWdiKCk7bi5pbmZvfHwobi5pbmZvPXt9KTtyZXR1cm4gbi5pbmZvfTsKcVE9ZnVuY3Rpb24obil7bj1nYihuKTtuLm1ldGFkYXRhfHwobi5tZXRhZGF0YT17fSk7cmV0dXJuIG4ubWV0YWRhdGF9OwpHdz1mdW5jdGlvbihuKXtuPWdiKG4pO24udGlja3x8KG4udGljaz17fSk7cmV0dXJuIG4udGlja307CnRtPWZ1bmN0aW9uKG4pe249Z2Iobik7aWYobi5nZWwpe2xldCBXPW4uZ2VsO1cuZ2VsSW5mb3N8fChXLmdlbEluZm9zPXt9KTtXLmdlbFRpY2tzfHwoVy5nZWxUaWNrcz17fSl9ZWxzZSBuLmdlbD17Z2VsVGlja3M6e30sZ2VsSW5mb3M6e319O3JldHVybiBuLmdlbH07CiRWPWZ1bmN0aW9uKG4pe249dG0obik7bi5nZWxJbmZvc3x8KG4uZ2VsSW5mb3M9e30pO3JldHVybiBuLmdlbEluZm9zfTsKWVZTPWZ1bmN0aW9uKCl7dmFyIG49dG0oKTtuLnByZUxvZ2dlZEdlbEluZm9zfHwobi5wcmVMb2dnZWRHZWxJbmZvcz1bXSk7cmV0dXJuIG4ucHJlTG9nZ2VkR2VsSW5mb3N9OwpyYj1mdW5jdGlvbihuKXt2YXIgVz1nYihuKS5ub25jZTtXfHwoVz1nLlJJKDE2KSxnYihuKS5ub25jZT1XKTtyZXR1cm4gV307CmVMPWZ1bmN0aW9uKG4pe3ZhciBXPXt0aWNrOnt9LGluZm86e319O2cuR2IoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iLFcpO3JldHVybiBXfTsKc0g9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5kZWJ1ZyIpO258fChuPVtdLGcuR2IoInl0Y3NpLmRlYnVnIixuKSxnLkdiKCJ5dGNzaS5yZWZlcmVuY2UiLHt9KSk7cmV0dXJuIG59OwpwQj1mdW5jdGlvbihuKXt2YXIgVz1zSCgpO1cucHVzaChuKTtnLmwoImxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemUiKSYmVy5sZW5ndGg+TlEmJlcuc3BsaWNlKDAsVy5sZW5ndGgtTlEpfTsKSGI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO2lmKFdbbl0pcmV0dXJuIFdbbl07dmFyIEQ9e3RpbWVyTmFtZTpuLGluZm86e30sdGljazp7fSxzcGFuOnt9LGpzcGJJbmZvOltdfTtwQihEKTtyZXR1cm4gV1tuXT1EfTsKZkI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO1dbbl0mJmRlbGV0ZSBXW25dO3ZhciBEPXt0aW1lck5hbWU6bixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07cEIoRCk7V1tuXT1EfTsKWVY9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5yZWZlcmVuY2UiKTtpZihuKXJldHVybiBuO3NIKCk7cmV0dXJuIGcucnIoInl0Y3NpLnJlZmVyZW5jZSIpfTsKSUw9ZnVuY3Rpb24obil7cmV0dXJuIEptW25dfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9OwpIbnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPU1hdGgucm91bmQoRC50aW1lc3RhbXB8fCgwLGcuUikoKSk7SVkobiwxLGI8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/YjowKTtiPW5ldyBTTDtpZihELmxhY3QpSVkoYiwxLGlzRmluaXRlKEQubGFjdCk/RC5sYWN0Oi0xKTtlbHNlIGlmKEQudGltZXN0YW1wKUlZKGIsMSwtMSk7ZWxzZXt2YXIgdj1nLnZJKCk7SVkoYiwxLGlzRmluaXRlKHYpP3Y6LTEpfWlmKEQuc2VxdWVuY2VHcm91cCYmIWcubCgid2ViX2dlbF9zZXF1ZW5jZV9pbmZvX2tpbGxzd2l0Y2giKSl7dj1ELnNlcXVlbmNlR3JvdXA7bGV0IGs9RXkodiksaD1uZXcgQW07SVkoaCwyLGspO2cuU0UoaCwxLHYpOyQ5KGIsQW0sMyxoKTtELmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBtcVtELnNlcXVlbmNlR3JvdXBdfSQ5KG4sU0wsMzMsYik7KEQuc2VuZElzb2xhdGVkUGF5bG9hZD9jSTpQVzEpKCJsYXRlbmN5QWN0aW9uSW5mbyIse2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6biwKY3R0QXV0aEluZm86RC5jdHRBdXRoSW5mbyxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOkQuZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbn0sVyl9OwpmMmo9ZnVuY3Rpb24obixXPXt9KXt2YXIgRD0hMTtnLkFyKCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmKEQ9ITApO0hucihuLEQ/bnVsbDpnLmQ0LFcpfTsKT0g9ZnVuY3Rpb24oKXtLQi5pbnN0YW5jZXx8KEtCLmluc3RhbmNlPW5ldyBLQik7cmV0dXJuIEtCLmluc3RhbmNlfTsKWk09ZnVuY3Rpb24obixXKXtQYltXXT1QYltXXXx8e2NvdW50OjB9O3ZhciBEPVBiW1ddO0QuY291bnQrKztELnRpbWU9KDAsZy5SKSgpO24uTnx8KG4uTj1nLmNCKDAsKCk9Pnt2YXIgYj0oMCxnLlIpKCk7Zm9yKGxldCB2IGluIFBiKVBiW3ZdJiZiLVBiW3ZdLnRpbWU+NkU0JiZkZWxldGUgUGJbdl07biYmKG4uTj0wKX0sNUUzKSk7CnJldHVybiBELmNvdW50PjU/KEQuY291bnQ9PT02JiZNYXRoLnJhbmRvbSgpKjFFNTwxJiYoRD1uZXcgZy5ReCgiQ1NJIGRhdGEgZXhjZWVkZWQgbG9nZ2luZyBsaW1pdCB3aXRoIGtleSIsVy5zcGxpdCgiXyIpKSxXLmluZGV4T2YoInBsZXYiKT49MHx8Zy5HcShEKSksITApOiExfTsKRUg9ZnVuY3Rpb24oKXt2YXIgbjtnLmwoImNzaV91c2VfcGVyZm9ybWFuY2VfbmF2aWdhdGlvbl90aW1pbmciKT8obj1VSD8uZ2V0RW50cmllc0J5VHlwZT8uKCJuYXZpZ2F0aW9uIik/LlswXT8udG9KU09OPy4oKSk/KG4ucmVxdWVzdFN0YXJ0PXl2KG4ucmVxdWVzdFN0YXJ0KSxuLnJlc3BvbnNlRW5kPXl2KG4ucmVzcG9uc2VFbmQpLG4ucmVkaXJlY3RTdGFydD15dihuLnJlZGlyZWN0U3RhcnQpLG4ucmVkaXJlY3RFbmQ9eXYobi5yZWRpcmVjdEVuZCksbi5kb21haW5Mb29rdXBFbmQ9eXYobi5kb21haW5Mb29rdXBFbmQpLG4uY29ubmVjdFN0YXJ0PXl2KG4uY29ubmVjdFN0YXJ0KSxuLmNvbm5lY3RFbmQ9eXYobi5jb25uZWN0RW5kKSxuLnJlc3BvbnNlU3RhcnQ9eXYobi5yZXNwb25zZVN0YXJ0KSxuLnNlY3VyZUNvbm5lY3Rpb25TdGFydD15dihuLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksbi5kb21haW5Mb29rdXBTdGFydD15dihuLmRvbWFpbkxvb2t1cFN0YXJ0KSxuLmlzUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nPQohMCk6bj1VSC50aW1pbmc6bj1nLmwoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShVSC50aW1pbmcpKTpVSC50aW1pbmc7cmV0dXJuIG59Owp5dj1mdW5jdGlvbihuKXtyZXR1cm4gTWF0aC5yb3VuZChpJCgpK24pfTsKaSQ9ZnVuY3Rpb24oKXtyZXR1cm4oZy5sKCJjc2lfdXNlX3RpbWVfb3JpZ2luIil8fGcubCgiY3NpX3VzZV90aW1lX29yaWdpbl90dmh0bWw1IikpJiZVSC50aW1lT3JpZ2luP01hdGguZmxvb3IoVUgudGltZU9yaWdpbik6VUgudGltaW5nLm5hdmlnYXRpb25TdGFydH07CkpTcj1mdW5jdGlvbigpe3ZhciBuPVlWUygpLFc9JFYoKSxEPXZvaWQgMDtmb3IodmFyIGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHg9bltiXTtpZih4LmxvYWRUeXBlKXtEPXgubG9hZFR5cGU7YnJlYWt9fWlmKHFRKCkubG9hZFR5cGU9PT0iY29sZCImJihXLmxvYWRUeXBlPT09ImNvbGQifHxEPT09ImNvbGQiKSl7RD1HdygpO2I9dG0oKTtiPWIuZ2VsVGlja3M/Yi5nZWxUaWNrczpiLmdlbFRpY2tzPXt9O2Zvcih2YXIgdiBpbiBEKXYgaW4gYnx8dHlwZW9mIERbdl09PT0ibnVtYmVyIiYmdSQodixvTCh2KSk7dmFyIGs9e30saD0hMTt2PXg9PntqdyhXLHgpO2p3KGsseCk7aD0hMH07CmZvcihsZXQgeCBvZiBuKXYoeCk7aCYmZGIoayl9fTsKenc9ZnVuY3Rpb24obixXKXt1JCgiX3N0YXJ0IixuLFcpfTsKZGI9ZnVuY3Rpb24obixXKXtpZighZy5sKCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFnYihXKS5hY3Rpb25EaXNhYmxlZCl7dmFyIEQ9SGIoV3x8IiIpO2p3KEQuaW5mbyxuKTtuLmxvYWRUeXBlJiYoRD1uLmxvYWRUeXBlLHFRKFcpLmxvYWRUeXBlPUQpO2p3KCRWKFcpLG4pO0Q9cmIoVyk7Vz1nYihXKS5jdHRBdXRoSW5mbztPSCgpLmluZm8obixELFcpfX07CkkyWj1mdW5jdGlvbigpe3JldHVybihnLnFqKCkucmVzb2x2ZShnLmhwKGcuWDMpKT8uTFgoKT8ubG9nZ2luZ0hvdENvbmZpZz8uY3NpQ29uZmlnPy5kZWJ1Z1RpY2tzPz9bXSkubWFwKG49Pk9iamVjdC52YWx1ZXMobilbMF0pfTsKdSQ9ZnVuY3Rpb24obixXLEQpe2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8IWdiKEQpLmFjdGlvbkRpc2FibGVkKXt2YXIgYj1yYihEKSx2O2lmKHY9Zy5sKCJ3ZWJfY3NpX2RlYnVnX3NhbXBsZV9lbmFibGVkIikmJmIpe2cucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpJiYhbCQmJihsJD0hMCx1JCgiZ2NmbCIsKDAsZy5SKSgpLEQpKTt2PWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnU2FtcGxlV2VpZ2h0fHwwO3ZhciBrO2lmKGs9diE9PTApYjp7az1JMlooKTtpZihrLmxlbmd0aD4wKWZvcih2YXIgaD0wO2g8ay5sZW5ndGg7aCsrKWlmKG49PT1rW2hdKXtrPSEwO2JyZWFrIGJ9az0hMX1rPyh2PU9hKGIpJXYhPT0wLGdiKEQpLmRlYnVnVGlja3NFeGNsdWRlZExvZ2dlZHx8KGs9e30say5kZWJ1Z1RpY2tzRXhjbHVkZWQ9dixkYihrLEQpKSxnYihEKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTp2PSExfWlmKCF2KXtpZihuWzBdIT09Il8iJiYodj1uLFVILm1hcmspKXt2LnN0YXJ0c1dpdGgoIm1hcmtfIil8fCh2PSJtYXJrXyIrdik7RCYmKHYrPWAgKCR7RH0pYCk7az12O2g9e307aWYoVyE9PXZvaWQgMCYmIWcubCgid2ViX2NzaV9kaXNhYmxlX2FsdF90aW1lX3BlcmZvcm1hbmNlX21hcmsiKSl7bGV0IEw9VztMPWcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP0wtVUgudGltZU9yaWdpbjpMLShVSC50aW1lT3JpZ2lufHxVSC50aW1pbmcubmF2aWdhdGlvblN0YXJ0KTtoLnN0YXJ0VGltZT1MfWcubCgiY3NpX2VuYWJsZV9jaHJvbWVfZGV2dG9vbHNfcGVyZm9ybWFuY2VfdGltZWxpbmVfaW50ZWdyYXRpb24iKSYmKGguZGV0YWlsPXtHVTp7ZGF0YVR5cGU6Im1hcmtlciIsY29sb3I6InByaW1hcnkiLHRvb2x0aXBUZXh0Omt9fSk7az1PYmplY3Qua2V5cyhoKS5sZW5ndGg+MD9oOnZvaWQgMDt0cnl7VUgubWFyayh2LGspfWNhdGNoKEwpe1VILm1hcmsodil9fXY9CkhiKER8fCIiKTt2LnRpY2tbbl09V3x8KDAsZy5SKSgpO2lmKHYuY2FsbGJhY2smJnYuY2FsbGJhY2tbbl0pZm9yKHZhciB4IG9mIHYuY2FsbGJhY2tbbl0peCgpO3g9dG0oRCk7eC5nZWxUaWNrcyYmKHguZ2VsVGlja3Nbbl09ITApO3Y9R3coRCk7eD1XfHwoMCxnLlIpKCk7dltuXT14O3Y9Z2IoRCkuY3R0QXV0aEluZm87bj09PSJfc3RhcnQiPyhuPU9IKCksWk0obixgYmFzZWxpbmVfJHtifWApfHxnLnpVKCJsYXRlbmN5QWN0aW9uQmFzZWxpbmVkIix7Y2xpZW50QWN0aW9uTm9uY2U6Yn0se3RpbWVzdGFtcDpXLGN0dEF1dGhJbmZvOnZ9KSk6T0goKS50aWNrKG4sYixXLHYpO1R3KEQpO3JldHVybiB4fX19OwpTVjE9ZnVuY3Rpb24oKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlPy4oIm1hcmsiKTtuJiZuLmZvckVhY2goVz0+e1cubmFtZS5zdGFydHNXaXRoKCJtYXJrXyIpJiZVSC5jbGVhck1hcmtzPy4oVy5uYW1lKX0pfTsKakw9ZnVuY3Rpb24oKXtzd2l0Y2goRzEoKSl7Y2FzZSAiaGlkZGVuIjpyZXR1cm4gMDtjYXNlICJ2aXNpYmxlIjpyZXR1cm4gMTtjYXNlICJwcmVyZW5kZXIiOnJldHVybiAyO2Nhc2UgInVubG9hZGVkIjpyZXR1cm4gMztkZWZhdWx0OnJldHVybi0xfX07CkNCPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9KGIsdixrKT0+e3Y9di5tYXRjaCgiX3JpZCIpP3Yuc3BsaXQoIl9yaWQiKVswXTp2O3R5cGVvZiBrPT09Im51bWJlciImJihrPUpTT04uc3RyaW5naWZ5KGspKTtiLnJlcXVlc3RJZHM/Yi5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OnYsaWQ6a30pOmIucmVxdWVzdElkcz1be2VuZHBvaW50OnYsaWQ6a31dfTsKZm9yKGxldCBbYix2XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtuPWI7bGV0IGs9djtzd2l0Y2gobil7Y2FzZSAiR2V0QnJvd3NlX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0R3VpZGVfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRIb21lX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0UGxheWVyX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2VhcmNoX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2V0dGluZ3NfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRUcmVuZGluZ19yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgInl0X3JlZCI6Vy5pc1JlZFN1YnNjcmliZXI9ISFrO2JyZWFrO2Nhc2UgInl0X2FkIjpXLmlzTW9uZXRpemVkPSEha319cmV0dXJuIFd9OwpBU3g9ZnVuY3Rpb24obixXKXtuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iobik7aWYoIW4pcmV0dXJuITE7dmFyIEQ9IiIsYj1uLm5vZGVOYW1lO2I9PT0iU0NSSVBUIj8oRD1uLnNyYyxEfHwoRD1uLmdldEF0dHJpYnV0ZSgiZGF0YS10aW1pbmctaHJlZiIpKSYmKEQ9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK0QpKTpiPT09IkxJTksiJiYoRD1uLmhyZWYpO1NqKGRvY3VtZW50KSYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixTaihkb2N1bWVudCkpO3JldHVybiBEPyhuPVVILmdldEVudHJpZXNCeU5hbWUoRCkpJiZuWzBdJiYobj1uWzBdLEQ9aSQoKSx1JCgicnNmXyIrVyxEK01hdGgucm91bmQobi5mZXRjaFN0YXJ0KSksdSQoInJzZV8iK1csRCtNYXRoLnJvdW5kKG4ucmVzcG9uc2VFbmQpKSxuLnRyYW5zZmVyU2l6ZSE9PXZvaWQgMCYmbi50cmFuc2ZlclNpemU9PT0wKT8hMDohMTohMX07Cm1IMT1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxXPVVILmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Vz1nLkVNKFcsRD0+RC5uYW1lLmluZGV4T2YoYCR7bn0vL2ZvbnRzLmdzdGF0aWMuY29tL3MvYCk9PT0wKTsKKFc9Zy51XyhXLChELGIpPT5iLmR1cmF0aW9uPkQuZHVyYXRpb24/YjpELHtkdXJhdGlvbjowfSkpJiZXLnN0YXJ0VGltZT4wJiZXLnJlc3BvbnNlRW5kPjAmJih1JCgid2ZmcyIseXYoVy5zdGFydFRpbWUpKSx1JCgid2ZmZSIseXYoVy5yZXNwb25zZUVuZCkpKX07CktOdD1mdW5jdGlvbihuLFcsRCl7VUgmJlVILm1lYXN1cmUmJihuLnN0YXJ0c1dpdGgoIm1lYXN1cmVfIil8fChuPSJtZWFzdXJlXyIrbiksRD9VSC5tZWFzdXJlKG4sVyxEKTpXP1VILm1lYXN1cmUobixXKTpVSC5tZWFzdXJlKG4pKX07CkJiPWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJhZnQiLG4pO2lmKFcpcmV0dXJuIFc7Vz1nLkFyKChufHwiIikrIlRJTUlOR19BRlRfS0VZUyIsWyJvbCJdKTt2YXIgRD1XLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKXtsZXQgdj1vTChXW2JdLG4pO2lmKHYpcmV0dXJuIHZ9cmV0dXJuIE5hTn07CkZBPWZ1bmN0aW9uKG4sVyl7Zy5HYigieXRnbG9iYWwudGltaW5nIisoV3x8IiIpKyJyZWFkeV8iLG4pfTsKb0w9ZnVuY3Rpb24obixXKXtpZihuPUd3KFcpW25dKXJldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiP246bltuLmxlbmd0aC0xXX07ClR3PWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJfc3RhcnQiLG4pLEQ9QmIobiksYj0hd2I7VyYmRCYmYiYmKGw5KE9udCxuZXcgTVEoTWF0aC5yb3VuZChELVcpLG4pKSx3Yj0hMCl9OwpQYXg9ZnVuY3Rpb24oKXtpZihVSC5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpO2lmKG49Zy5sXyhuLEQ9PkQubmFtZT09PSJmaXJzdC1wYWludCIpKXJldHVybiB5dihuLnN0YXJ0VGltZSl9dmFyIFc7CmcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP1c9VUguZ2V0RW50cmllc0J5VHlwZSgiZmlyc3QtcGFpbnQiKVswXS5zdGFydFRpbWU6Vz1VSC50aW1pbmcubDI7cmV0dXJuIFc/TWF0aC5tYXgoMCxXKTowfTsKZy5STD1mdW5jdGlvbihuKXtlTChuKTtabmkoKTtTVjEoKTtufHwoZy5BcigiVElNSU5HX0FDVElPTiIpJiZnLlNIKCJQUkVWSU9VU19BQ1RJT04iLGcuQXIoIlRJTUlOR19BQ1RJT04iKSksZy5TSCgiVElNSU5HX0FDVElPTiIsIiIpKX07CmNiPWZ1bmN0aW9uKG4sVyl7UFYoKCk9PntIYigiIikuaW5mby5hY3Rpb25UeXBlPW47VyYmZy5TSCgiVElNSU5HX0FGVF9LRVlTIixXKTtnLlNIKCJUSU1JTkdfQUNUSU9OIixuKTt2YXIgRD1DQihnLkFyKCJUSU1JTkdfSU5GTyIse30pKTtPYmplY3Qua2V5cyhEKS5sZW5ndGg+MCYmZGIoRCk7RD17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKX07dmFyIGI9Zy5BcigiUFJFVklPVVNfQUNUSU9OIik7YiYmKEQucHJldmlvdXNBY3Rpb249SUwoYikpO2lmKGI9Zy5BcigiQ0xJRU5UX1BST1RPQ09MIikpRC5odHRwUHJvdG9jb2w9YjtpZihiPWcuQXIoIkNMSUVOVF9UUkFOU1BPUlQiKSlELnRyYW5zcG9ydFByb3RvY29sPWI7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Yj1qTCgpO2lmKGI9PT0xfHxiPT09LTEpRC5pc1Zpc2libGU9ITA7Yj1xUSgpLmxvYWRUeXBlPT09ImNvbGQiOwp2YXIgdj1YQSgpO2J8fChiPXYueXRfbHQ9PT0iY29sZCIpO2lmKGIpe0QubG9hZFR5cGU9ImNvbGQiO2I9WEEoKTt2PUVIKCk7bGV0IHg9aSQoKSxMPWcuQXIoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtMPjAmJiFnLmwoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJih4PUwpO3gmJih1JCgic3J0Iix2LnJlc3BvbnNlU3RhcnQpLGIucHJlcmVuZGVyIT09MSYmencoeCkpO2I9UGF4KCk7Yj4wJiZ1JCgiZnB0IixiKTtiPUVIKCk7Yi5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmZGIoe3BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzohMH0sdm9pZCAwKTt1JCgibnJlcXMiLGIucmVxdWVzdFN0YXJ0LHZvaWQgMCk7dSQoIm5yZXNzIixiLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTt1JCgibnJlc2UiLGIucmVzcG9uc2VFbmQsdm9pZCAwKTtiLnJlZGlyZWN0RW5kLWIucmVkaXJlY3RTdGFydD4wJiYodSQoIm5ycyIsYi5yZWRpcmVjdFN0YXJ0LAp2b2lkIDApLHUkKCJucmUiLGIucmVkaXJlY3RFbmQsdm9pZCAwKSk7Yi5kb21haW5Mb29rdXBFbmQtYi5kb21haW5Mb29rdXBTdGFydD4wJiYodSQoIm5kbnNzIixiLmRvbWFpbkxvb2t1cFN0YXJ0LHZvaWQgMCksdSQoIm5kbnNlIixiLmRvbWFpbkxvb2t1cEVuZCx2b2lkIDApKTtiLmNvbm5lY3RFbmQtYi5jb25uZWN0U3RhcnQ+MCYmKHUkKCJudGNwcyIsYi5jb25uZWN0U3RhcnQsdm9pZCAwKSx1JCgibnRjcGUiLGIuY29ubmVjdEVuZCx2b2lkIDApKTtiLnNlY3VyZUNvbm5lY3Rpb25TdGFydD49aSQoKSYmYi5jb25uZWN0RW5kLWIuc2VjdXJlQ29ubmVjdGlvblN0YXJ0PjAmJih1JCgibnN0Y3BzIixiLnNlY3VyZUNvbm5lY3Rpb25TdGFydCx2b2lkIDApLHUkKCJudGNwZSIsYi5jb25uZWN0RW5kLHZvaWQgMCkpO1VIJiYiZ2V0RW50cmllc0J5VHlwZSJpbiBVSCYmbUgxKCk7Yj1bXTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZVSCYmVUguZ2V0RW50cmllc0J5TmFtZSlmb3IoayBpbiBRdilRdi5oYXNPd25Qcm9wZXJ0eShrKSYmCih2PVF2W2tdLEFTeChrLHYpJiZiLnB1c2godikpO3ZhciBrPWI7aWYoay5sZW5ndGg+MCl7RC5yZXNvdXJjZUluZm89W107Zm9yKHZhciBoIG9mIGspRC5yZXNvdXJjZUluZm8ucHVzaCh7cmVzb3VyY2VDYWNoZTpofSl9fWRiKEQpO0pTcigpO0ZBKCEwKTtoPWcuQXIoIlRJTUlOR19BQ1RJT04iKTtnLnJyKCJ5dGdsb2JhbC50aW1pbmdyZWFkeV8iKSYmaCYmVnYoKSYmQmIoKSYmVHcoKX0pKCl9OwpXUD1mdW5jdGlvbigpe3ZhciBuPXt9O1BWKCgpPT57VnYoKSYmZy5hTCgiYWEiLHZvaWQgMCx2b2lkIDApO2ZCKCk7Zy5STCgpO0ZBKCExKTtuLmN0dEF1dGhJbmZvJiYoZ2IoKS5jdHRBdXRoSW5mbz1uLmN0dEF1dGhJbmZvKTtnLlNIKCJUSU1JTkdfQUZUX0tFWVMiLFtdKTtuLnJQP2cubmwoe2xvYWRUeXBlOiJob3QifSk6Zy5ubCh7bG9hZFR5cGU6Indhcm0ifSk7Zy5TSCgiVElNSU5HX0FDVElPTiIsIiIpO2RlbGV0ZSBnLkFyKCJUSU1JTkdfSU5GTyIse30pLnl0X2x0O1BWKHp3KShuLnN0YXJ0VGltZSx2b2lkIDApfSkoKX07CmcuYmQ9ZnVuY3Rpb24obixXPXt9KXtQVigoKT0+e2cuRFkobik7dmFyIEQ9Vy5zYW1wbGVSYXRlO2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8RD09PXZvaWQgMHx8RDw9MSlEPSExO2Vsc2V7dmFyIGI9cmIobik7RD1PYShiKSVEIT09MH1EJiYoZ2IobikuYWN0aW9uRGlzYWJsZWQ9ITApO0hiKG58fCIiKS5pbmZvLmFjdGlvblR5cGU9bjtXLmN0dEF1dGhJbmZvJiYoZ2IobikuY3R0QXV0aEluZm89Vy5jdHRBdXRoSW5mbyk7Zy5TSChuKyJUSU1JTkdfQUNUSU9OIixuKTtQVih6dykoVy5zdGFydFRpbWUsbik7RD17YWN0aW9uVHlwZTpJTChuKX07Vy5leiYmKEQucHJldmlvdXNBY3Rpb249SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKSk7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Zy5ubChELG4pO0ZBKCEwLG4pfSkoKX07CmcuRFk9ZnVuY3Rpb24obil7UFYoKCk9PntWdihuKSYmZy5hTCgiYWEiLHZvaWQgMCxuKTtmQihuKTtnLlJMKG4pfSkoKX07ClZ2PWZ1bmN0aW9uKG4pe3JldHVybiBQVigoKT0+Zy52UCgiX3N0YXJ0IixuKSkoKX07Cmcubmw9ZnVuY3Rpb24obixXLEQ9ITEpe1BWKGRiKShuLFcsRCl9OwpnLmFMPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYodSQpKG4sVyxEKX07CmtEPWZ1bmN0aW9uKG4pe1BWKEtOdCkoImFjdGlvbl9maW5pc2hlZCIsbix2b2lkIDApfTsKZy52UD1mdW5jdGlvbihuLFcpe3JldHVybiBQVigoKT0+e3ZhciBEPUd3KFcpO3JldHVybiBuIGluIER9KSgpfTsKeEQ9ZnVuY3Rpb24obil7aWYoIWcubCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuIiI7bj1TMShuKXx8IiI7dmFyIFc9T2JqZWN0LmtleXMoaGUpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtsZXQgYj1XW0RdO2lmKG4uaW5jbHVkZXMoYikpcmV0dXJuIGJ9cmV0dXJuIiJ9Owplaz1mdW5jdGlvbihuKXtpZighZy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4oKT0+e307CnZhciBXPWhlW25dO3JldHVybiBXPyhnLkxsKFcpLCgpPT57dmFyIEQ9Zy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oRD1VSE1bbl0pP2cuTGwoRCk6ITE6ITE7cmV0dXJuIER9KTooKT0+e319OwpnLkxsPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYoKCk9PntpZihnLnZQKG4sRCkpcmV0dXJuITE7Zy5hTChuLFcsRCk7cmV0dXJuITB9KSgpfTsKZy5nXz1mdW5jdGlvbihuLFcsRCl7UFYoKCk9PntpZighVnYoRCl8fGcudlAobixEKSlyZXR1cm4hMTtnLmFMKG4sVyxEKTtyZXR1cm4hMH0pKCl9Owp5U2g9ZnVuY3Rpb24oKXtQVigoKT0+e3ZhciBuPXJiKCk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57c2V0VGltZW91dCgoKT0+e249PT1yYigpJiZnLmFMKCJmdGwiLHZvaWQgMCx2b2lkIDApfSwwKX0pfSkoKX07CkU5Yj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFg3Lmluc3RhbmNlIT09dm9pZCAwKXtpZihiPVg3Lmluc3RhbmNlLG49W24hPT1iLmosVyE9PWIueUcsRCE9PWIuVyx2IT09Yi5KLCExLCExLCExXSxuLnNvbWUoaz0+aykpdGhyb3cgbmV3IGcuUXgoIklubmVyVHViZVRyYW5zcG9ydFNlcnZpY2UgaXMgYWxyZWFkeSBpbml0aWFsaXplZCIsbik7Cn1lbHNlIFg3Lmluc3RhbmNlPW5ldyBYNyhuLFcsRCxiLHYpfTsKaW53PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtuPWF3YWl0ICRHKG4uVy5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsuLi5rVihEKSwuLi5ufSl9OwpkSGo9YXN5bmMgZnVuY3Rpb24obixXLEQsYj0oKT0+e30pe3ZhciB2PVcuY29uZmlnPy5Ibj8uUkw7CmlmKHYmJm4uSiYmbi5KLmhhcyh2KSYmIVcuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz1hd2FpdCBuLkouZ2V0KHYpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGsuaXNQcm9jZXNzZWQoKXx8KEdXKG4sYixXKSxhd2FpdCB0ZShuLkosdikpLFByb21pc2UucmVzb2x2ZShiKX1hd2FpdCB1X3QoVyk7KHY9Vy5jb25maWc/LnJlcXVlc3RLZXkpJiZuLk4uaGFzKHYpP0Q9bi5OLmdldCh2KTooaz1KU09OLnN0cmluZ2lmeShXLmlubmVyVHViZVJlcXVlc3QpLFcuUGk9ey4uLlcuUGksaGVhZGVyczp7Li4uKFcuUGk/LmhlYWRlcnM/P3t9KSwuLi5EfX0sRD17Li4uVy5QaX0sVy5QaS5tZXRob2Q9PT0iUE9TVCImJihEPXsuLi5ELGJvZHk6a30pLFcuY29uZmlnPy5MYSYmZy5hTChXLmNvbmZpZy5MYSksRD1uLnlHLmZldGNoKFcuaW5wdXQsRCxXLmNvbmZpZyksdiYmbi5OLnNldCh2LEQpKTtpZigoRD1hd2FpdCBEKSYmImVycm9yImluIEQmJkQ/LmVycm9yPy5kZXRhaWxzKXtrPQpELmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGspKGs9aFsiQHR5cGUiXSkmJm85ai5pbmRleE9mKGspPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sRD1oKX12JiZuLk4uaGFzKHYpJiZuLk4uZGVsZXRlKHYpO1cuY29uZmlnPy5SViYmZy5hTChXLmNvbmZpZy5SVik7R1cobixELFcpO1cuY29uZmlnPy5HdCYmZy5hTChXLmNvbmZpZy5HdCk7YigpO3JldHVybiBEfHx2b2lkIDB9OwpnLnJfPWZ1bmN0aW9uKG4sVyxELGIsdj17Qkc6e2lkZW50aXR5OnU5fX0pe3ZhciBrPWcucWooKS5yZXNvbHZlKGcuaHAoJEQpKT8uKCk7aWYoKGcubCgibWF3X25ldHdvcmtfbWFjaGluZV9yYXdfcmVxdWVzdCIpfHxnLmwoImFsbF93ZWJfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0IikpJiZrKXJldHVybiB6VGoobDJqKGsse2lubmVyVHViZVJlcXVlc3Q6VyxhcGlQYXRoOkQsY2xpY2tUcmFja2luZ1BhcmFtczpiLGNvbmZpZzp2LGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbih4PT54LCgpPT57fSk7CnZhciBoPSgpPT57fTsKaD1layh4RChEKSk7Vy5jb250ZXh0fHwoVy5jb250ZXh0PWcudmIoYiwhMCkpO3JldHVybiBuZXcgZy5YMShhc3luYyB4PT57dmFyIEw9SyQoRCk7TD1nLlRkKEwpPyJzYW1lLW9yaWdpbiI6ImNvcnMiO2lmKG4uVy5zQil7dmFyIGU9bi5XLmFqKHY/LkJHPy5pZGVudGl0eXx8dTkse3Nlc3Npb25JbmRleDp2Py5CRz8uc2Vzc2lvbkluZGV4fSk7TD17Li4ua1YoTCksLi4uZX19ZWxzZSBMPWF3YWl0IGludyhuLHYsTCk7ZT1acihLJChEKSk7ZT17aW5wdXQ6ZSxQaTpVeihlKSxpbm5lclR1YmVSZXF1ZXN0OlcsY29uZmlnOnZ9O3goZEhqKG4sZSxMLGgpKX0pfTsKdV90PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe249bi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBXIG9mW10pYXdhaXQgVy5CcyhuKX19OwpHVz1mdW5jdGlvbihuLFcsRCl7aWYoVyYmIVc/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZuLlgpZm9yKGxldCBiIG9mIHNvKW4uWFtiXSYmbi5YW2JdLmhhbmRsZVJlc3BvbnNlKFcsRCl9OwpwbD1mdW5jdGlvbigpe3ZhciBuLFc7cmV0dXJue3JGOm5ldyBOcigoRCxiKT0+e249RDtXPWJ9KSwKcmVzb2x2ZTpuLHJlamVjdDpXfX07CkhQPWZ1bmN0aW9uKG4pe3JldHVybiBZRChuKT9uOllvKG4pP25ldyBOcigoVyxEKT0+e24udGhlbihXLEQpfSk6bmV3IE5yKFc9PntXKG4pfSl9OwpmbD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IE5yKChXLEQpPT57RChuKX0pfTsKSmU9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBIUChuKCkpfWNhdGNoKFcpe3JldHVybiBmbChXKX19Owp6VGo9ZnVuY3Rpb24obil7cmV0dXJuIElqKG4sZy5YMSl9OwpJaj1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgVygoRCxiKT0+e1NrKG4sRCxiKX0pfTsKQWU9YXN5bmMgZnVuY3Rpb24obil7cmV0dXJuIElqKG4sUHJvbWlzZSl9OwptRT1mdW5jdGlvbihuKXtpZihuLk49PT0iZnVsZmlsbGVkIil7dmFyIFc9bi5KO24uSj1bXTtuLlc9W107Zm9yKHZhciBEIG9mIFcpRChuLnJlc3VsdCl9ZWxzZSBpZihuLk49PT0icmVqZWN0ZWQiKXtEPW4uVztuLko9W107bi5XPVtdO2ZvcihXIG9mIEQpVyhuLmVycm9yKX19OwpTaz1mdW5jdGlvbihuLFcsRCl7dmFyIHtyRjpiLHJlc29sdmU6dixyZWplY3Q6a309cGwoKTtuLkoucHVzaChoPT57aWYoVyl0cnl7bGV0IHg9VyhoKTt2KHgpfWNhdGNoKHgpe2soeCl9ZWxzZSB2KGgpfSk7Cm4uVy5wdXNoKGg9PntpZihEKXRyeXtsZXQgeD1EKGgpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIGsoaCl9KTsKbUUobik7cmV0dXJuIGJ9OwpLbD1mdW5jdGlvbihuLFcpe3JldHVybiBTayhuLHZvaWQgMCxXKX07ClRlYj1mdW5jdGlvbihuLFcpe1NrKG4sRD0+U2soSFAoVygpKSwoKT0+RCksRD0+U2soSFAoVygpKSwoKT0+ZmwoRCkpKX07Ck9vPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGpZMShXLmNhbGwobikpfTsKUFA9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKigpe3JldHVybiB5aWVsZHtyRjpIUChuKX19KCl9OwpqWTE9ZnVuY3Rpb24obil7cmV0dXJuIEplKCgpPT5aWShuLG4ubmV4dCgpKSl9OwpaWT1mdW5jdGlvbihuLFcpe3JldHVybiBXLmRvbmU/SFAoVy52YWx1ZSk6S2woU2soVy52YWx1ZS5yRixEPT5aWShuLG4ubmV4dChEKSkpLEQ9PlpZKG4sbi50aHJvdyhEKSkpfTsKRk54PWZ1bmN0aW9uKG4pe3ZhciBXPUNhVShuKTtyZXR1cm4gU2soQmVTKFcpLCgpPT5XLm1hcChEPT5ELnN0YXRlKCkpKX07CkJlUz1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIEhQKE5hTik7dmFyIHtyRjpXLHJlc29sdmU6RH09cGwoKSxiPW4ubGVuZ3RoO2ZvcihsZXQgdj0wO3Y8bi5sZW5ndGg7disrKVRlYihuW3ZdLCgpPT57Vy5OPT09InBlbmRpbmciJiYod1dqKHZvaWQgMCkmJih2b2lkIDApKHYpJiZXLk49PT0icGVuZGluZyI/RCh2KTooLS1iLGI9PT0wJiZEKE5hTikpKX0pOwpyZXR1cm4gV307CkNhVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+SFAoVykpfTsKTUV3PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciB2PSRHKGIuTi5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTt2PXlpZWxkKlBQKEhQKHYpKTtyZXR1cm57Li4ua1YoRCksLi4udn19KCl9KX07ClVvPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09MXx8bj09PTJ9OwpWRTI9ZnVuY3Rpb24obixXLEQ9ITEpe3ZhciBiLHY9Zy53KFcsUlRoKT8ucmVxdWVzdDt2JiZuLk4uaVQmJihiPW4uTi5pVFt2XSk7Ynx8RHx8KHY9Zy53KFcsUVlNKT8uc2lnbmFsKSYmbi5OLndkJiYoYj1uLk4ud2Rbdl0pO2lmKCFiJiYobj1EP24uTi51STpuLk4uemcpKWZvcihsZXQgayBpbiBXKWlmKG5ba10pe2I9bltrXTticmVha31pZighYil7aWYoRCl0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHN0cmVhbWluZyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQgZm9yIGNvbW1hbmQiKTt0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZC4iKTt9Vz1iKCk7cmV0dXJuIEhQKFcpfTsKbDJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ucnVuKCJSRVFVRVNUX0lOSVQiLFcpfTsKeXE9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5ydW4oIlBST0NFU1NfUkVTUE9OU0UiLFcsIlJlc3BvbnNlTWFjaGluZSAoQ2FjaGUpIil9OwpFbz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4ucnVuKCJJTklUIixXLEQhPT12b2lkIDA/YFJlc3BvbnNlTWFjaGluZSAoQ2h1bmsgJHtEfSlgOiJSZXNwb25zZU1hY2hpbmUiKX07CmNTMj1mdW5jdGlvbigpe3ZhciBuPWcucWooKTtnLnhvKG4se05IOmlkLFJjOigpPT5uZXcgTWFwfSk7CmcueG8obix7Tkg6dWQsWUw6dWQscG46ITB9KTtnLnhvKG4se05IOm9qLFlMOm9qLHBuOiEwfSk7Zy54byhuLHtOSDpkXyxZTDpkXyxwbjohMH0pO2cueG8obix7Tkg6elcsWUw6elcscG46ITB9KTtnLnhvKG4se05IOmxkLFlMOmxkLHBuOiEwfSk7Zy54byhuLHtOSDpUVyxZTDpUVyxwbjohMH0pO2cueG8obix7Tkg6amssWUw6amsscG46ITB9KTtnLnhvKG4se05IOkNsLFlMOkNsLHBuOiEwfSk7Zy54byhuLHtOSDpCUCxZTDpCUCxwbjohMH0pO2cueG8obix7Tkg6RjcsWUw6RjcscG46ITB9KTtnLnhvKG4se05IOndfLFJjOihXLEQsYix2LGssaCx4LEwsZSxHKT0+KHtDT01NQU5EX0lOSVQ6TCxSRVFVRVNUX0lOSVQ6ZSxDQUNIRTpELExPQ0FMX1JPVVRFUjp4LENPTlRFWFQ6YixBVVRIOlcsREVEVVBFOnYsRkVUQ0g6aCxSRVRSWTpHLEZBTExCQUNLOmt9KSwKW2cuTFhdOlt1ZCxvaixkXyx6VyxsZCxUVyxqayxDbCxCUCxGN10scG46ITB9KTtnLnhvKG4se05IOiRELFJjOlc9PigpPT5uZXcgZy5NcihXKSwKW2cuTFhdOlt3X10scG46ITB9KTtnLnhvKG4se05IOlJqLFlMOlJqLHBuOiEwfSk7Zy54byhuLHtOSDpRcSxZTDpRcSxwbjohMH0pO2cueG8obix7Tkg6VnEsWUw6VnEscG46ITB9KTtnLnhvKG4se05IOmNQLFlMOmNQLHBuOiEwfSk7Zy54byhuLHtOSDphaixSYzooVyxELGIsdik9Pih7SU5JVDp2LEVSUk9SX1VOUEFDS0VSOkQsUFJPQ0VTU19SRVNQT05TRTpiLENBTExCQUNLX0RJU1BBVENIRVI6V30pLApbZy5MWF06W1JqLFFxLFZxLGNQXSxwbjohMH0pO2cueG8obix7Tkg6blIsUmM6Vz0+KCk9Pm5ldyBXRyhXKSwKW2cuTFhdOlthal0scG46ITB9KX07CnFyPWZ1bmN0aW9uKG4pe3JldHVybnsuLi5uLmRhdGEuaW5uZXJ0dWJlUmVzcG9uc2UsY2FjaGVNZXRhZGF0YTp7aXNDYWNoZUhpdDohMH19fTsKdGU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihELmVudHJ5RGF0YS5pc1Byb2Nlc3NlZD0hMCxhd2FpdCBEdyhuLFcsRC5lbnRyeURhdGEpKX07CkR3PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLko7aWYoRC5leHBpcmVUaW1lc3RhbXBNcyl7Yj1OdW1iZXIoRC5leHBpcmVUaW1lc3RhbXBNcyktTWF0aC5yb3VuZCgoMCxnLlIpKCkpO2xldCB2PXYwKCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiKTt2PjAmJnY8YiYmKGI9dil9Yj1zZXRUaW1lb3V0KCgpPT57bi5yZW1vdmUoVyl9LGIpOwpuLk4uc2V0KFcse2VudHJ5RGF0YTpELHRpbWVyOmJ9KX07CnZHPWZ1bmN0aW9uKG4sVyl7aWYobj1uLk4uZ2V0KFcpKXJldHVybiBuZXcgYmgobi5lbnRyeURhdGEpfTsKa009ZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihjbGVhclRpbWVvdXQoRC50aW1lciksbi5OLmRlbGV0ZShXKSl9OwpoUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9ey4uLm59O2ZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhXKSl7bGV0IGs9blt2XSxoPVdbdl07aWYoaD09PXZvaWQgMClkZWxldGUgYlt2XTtlbHNlIGlmKGs9PT12b2lkIDApYlt2XT1oO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShoKSYmQXJyYXkuaXNBcnJheShrKSliW3ZdPUQ/Wy4uLmssLi4uaF06aDtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGgpJiZnLmZ0KGgpJiYhQXJyYXkuaXNBcnJheShrKSYmZy5mdChrKSliW3ZdPWhSKGssaCxEKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGspYlt2XT1oO2Vsc2UgcmV0dXJuIFc9bmV3IGcuUXgoIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6dixGVzprLHVwZGF0ZVZhbHVlOmh9KSxnLlhqKFcpLG59cmV0dXJuIGJ9Owp4TT1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ubGVuZ3RoPT09MD8hMToobj1uLk5bbi5OLmxlbmd0aC0xXSkmJm4uYnVmZmVyPT09Vy5idWZmZXImJm4uYnl0ZU9mZnNldCtuLmxlbmd0aD09PVcuYnl0ZU9mZnNldH07CkxSPWZ1bmN0aW9uKG4pe24uWD12b2lkIDA7bi5KPTA7bi5XPTB9OwplNT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXLk4pbi5hcHBlbmQoRCl9OwpnZD1mdW5jdGlvbihuLFcsRCl7dmFyIHtDczpiLFk5OnZ9PW4uc3BsaXQoVyk7KHtDczpifT12LnNwbGl0KEQpKTtyZXR1cm4gYn07ClhhPWZ1bmN0aW9uKG4sVyxEKXtuLmlzRm9jdXNlZChXKTtyZXR1cm4gVy1uLlcrRDw9bi5OW24uSl0ubGVuZ3RofTsKcUQ9ZnVuY3Rpb24obil7aWYoIW4uWCl7bGV0IFc9bi5OW24uSl07bi5YPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5sZW5ndGgpfXJldHVybiBuLlh9OwpHNj1mdW5jdGlvbihuLFc9MCxEPS0xKXtpZighbi50b3RhbExlbmd0aHx8IUQpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO0Q8MCYmKEQ9bi50b3RhbExlbmd0aC1XKTtuLmZvY3VzKFcpO2lmKCFYYShuLFcsRCkpe3ZhciBiPW4uSix2PW4uVztuLmZvY3VzKFcrRC0xKTt2PW5ldyBVaW50OEFycmF5KG4uVytuLk5bbi5KXS5sZW5ndGgtdik7bGV0IGs9MDtmb3IobGV0IGg9YjtoPD1uLko7aCsrKXYuc2V0KG4uTltoXSxrKSxrKz1uLk5baF0ubGVuZ3RoO24uTi5zcGxpY2UoYixuLkotYisxLHYpO0xSKG4pO24uZm9jdXMoVyl9Yj1uLk5bbi5KXTtyZXR1cm4gbmV3IERhdGFWaWV3KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCtXLW4uVyxEKX07CnRSPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249RzYobixXLEQpO3JldHVybiBuZXcgVWludDhBcnJheShuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoKX07CiRNPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249dFIobixXLEQpO1c9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO3RyeXtXLnNldChuKX1jYXRjaChiKXtmb3IoRD0wO0Q8bi5sZW5ndGg7RCsrKVdbRF09bltEXX1yZXR1cm4gV307CnJkPWZ1bmN0aW9uKG4sVyl7bi5mb2N1cyhXKTtyZXR1cm4gbi5OW24uSl1bVy1uLlddfTsKc3g9ZnVuY3Rpb24obixXKXtuLmZvY3VzKFcpO3JldHVybiBYYShuLFcsNCk/cUQobikuZ2V0VWludDMyKFctbi5XKToyNTYqKDI1NiooMjU2KnJkKG4sVykrcmQobixXKzEpKStyZChuLFcrMikpK3JkKG4sVyszKX07CmEyMj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpwUj1mdW5jdGlvbihuKXtyZXR1cm4gbi5sZW5ndGg/TkQ/TkQuZGVjb2RlKG4pOlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKToiIn07CmcuSEc9ZnVuY3Rpb24obil7aWYoIW4ubGVuZ3RoKXJldHVybiIiO3RyeXtpZihORClyZXR1cm4gTkQuZGVjb2RlKG4pO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgobil9Y2F0Y2h7fWZvcih2YXIgVz0wLEQ9W10sYj1uLmxlbmd0aDtXPGI7KXtsZXQgaz0wO2Zvcig7azwxMDI0JiZXPGI7KXt2YXIgdj1uW1crK107aWYodjwxMjgpe1lNW2srK109djtjb250aW51ZX1pZih2PDIyNCl2PSh2JjMxKTw8NnxuW1crK10mNjM7ZWxzZSBpZih2PDI0MCl2PSh2JjE1KTw8MTJ8KG5bVysrXSY2Myk8PDZ8bltXKytdJjYzO2Vsc2V7aWYoaysxPT09MTAyNCl7LS1XO2JyZWFrfXY9KHYmNyk8PDE4fChuW1crK10mNjMpPDwxMnwobltXKytdJjYzKTw8NnxuW1crK10mNjM7di09NjU1MzY7WU1baysrXT01NTI5Nnx2Pj4xMDt2PTU2MzIwfHYmMTAyM31ZTVtrKytdPXZ9dj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKWU0pO2s8MTAyNCYmKHY9di5zdWJzdHJpbmcoMCxrKSk7RC5wdXNoKHYpfXJldHVybiBELmpvaW4oIiIpfTsKSlI9ZnVuY3Rpb24obixXKXtpZihmUj8uZW5jb2RlSW50byl7bGV0IHtyZWFkOmIsd3JpdHRlbjp2fT1mUi5lbmNvZGVJbnRvKG4sVyk7cmV0dXJuIGI8bi5sZW5ndGg/bi5sZW5ndGgqNDp2fXZhciBEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT09NTUyOTYmJmIrMTxuLmxlbmd0aCYmKG4uY2hhckNvZGVBdChiKzEpJjY0NTEyKT09PTU2MzIwPyh2PTY1NTM2KygodiYxMDIzKTw8MTApKyhuLmNoYXJDb2RlQXQoKytiKSYxMDIzKSxXW0QrK109dj4+MTh8MjQwLFdbRCsrXT12Pj4xMiY2M3wxMjgpOldbRCsrXT12Pj4xMnwyMjQsV1tEKytdPXY+PjYmNjN8MTI4KSxXW0QrK109diY2M3wxMjgpfXJldHVybiBEfTsKSXc9ZnVuY3Rpb24obil7aWYoZlIpcmV0dXJuIGZSLmVuY29kZShuKTt2YXIgVz1uZXcgVWludDhBcnJheShNYXRoLmNlaWwobi5sZW5ndGgqMS4yKSksRD1KUihuLFcpO1cubGVuZ3RoPEQmJihXPW5ldyBVaW50OEFycmF5KEQpLEQ9SlIobixXKSk7Vy5sZW5ndGg+RCYmKFc9Vy5zdWJhcnJheSgwLEQpKTtyZXR1cm4gV307Cm1rPWZ1bmN0aW9uKG4sVyl7bj1uIGluc3RhbmNlb2YgVWludDhBcnJheT9uZXcgUzUoW25dKTpuO3JldHVybiBXKG5ldyBBUihuKSl9OwpLUj1mdW5jdGlvbihuKXt2YXIgVz1yZChuLk4sbi5wb3MpOysrbi5wb3M7aWYoVzwxMjgpcmV0dXJuIFc7Zm9yKHZhciBEPVcmMTI3LGI9MTtXPj0xMjg7KVc9cmQobi5OLG4ucG9zKSwrK24ucG9zLGIqPTEyOCxEKz0oVyYxMjcpKmI7cmV0dXJuIER9OwpPeD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uSjtmb3Iobi5KPS0xO24ucG9zKzE8PW4uTi50b3RhbExlbmd0aDspe0Q8MCYmKEQ9S1IobikpO3ZhciBiPUQ+PjM7bGV0IHY9RCY3O2lmKGI9PT1XKXJldHVybiEwO2lmKGI+Vyl7bi5KPUQ7YnJlYWt9RD0tMTtzd2l0Y2godil7Y2FzZSAwOktSKG4pO2JyZWFrO2Nhc2UgMTpuLnBvcys9ODticmVhaztjYXNlIDI6Yj1LUihuKTtuLnBvcys9YjticmVhaztjYXNlIDU6bi5wb3MrPTR9fXJldHVybiExfTsKUEc9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXJldHVybiBLUihuKX07Clp3PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4gVz10UihuLk4sbi5wb3MsOCksbi5wb3MrPTgsKG5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSkuZ2V0RmxvYXQ2NCgwLCEwKX07ClV4PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4hIUtSKG4pfTsKeUE9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXtXPUtSKG4pO3ZhciBEPXRSKG4uTixuLnBvcyxXKTtuLnBvcys9VztyZXR1cm4gRH19OwpFeD1mdW5jdGlvbihuLFcpe2lmKG49eUEobixXKSlyZXR1cm4gZy5IRyhuKX07CmloPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXlBKG4sVykpcmV0dXJuIEQobmV3IEFSKG5ldyBTNShbbl0pKSl9Owp1aD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1bXTtPeChuLFcpOylELnB1c2goS1IobikpO3JldHVybiBELmxlbmd0aD9EOnZvaWQgMH07Cm93PWZ1bmN0aW9uKG4sVyxEKXtmb3IodmFyIGI9W10sdjt2PXlBKG4sVyk7KWIucHVzaChEKG5ldyBBUihuZXcgUzUoW3ZdKSkpKTtyZXR1cm4gYi5sZW5ndGg/Yjp2b2lkIDB9OwpkZD1mdW5jdGlvbihuLFcsRCl7aWYoVyYmRCYmRC5idWZmZXI9PT1XLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcil7bGV0IGI9Vy5tZW1vcnkucmVhbGxvYyhELmJ5dGVPZmZzZXQsbik7aWYoYilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsYixuKX1uPVc/bmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsVy5tZW1vcnkubWFsbG9jKG4pLG4pOm5ldyBVaW50OEFycmF5KG4pO0QmJm4uc2V0KEQpO3JldHVybiBufTsKZy5saD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyB6Nig0MDk2KTtXKEQsbik7cmV0dXJuIG5ldyBVaW50OEFycmF5KEQuTi5idWZmZXIsRC5OLmJ5dGVPZmZzZXQsRC5wb3MpfTsKVDY9ZnVuY3Rpb24obixXKXtXPW4ucG9zK1c7aWYoIShuLk4ubGVuZ3RoPj1XKSl7Zm9yKHZhciBEPW4uTi5sZW5ndGgqMjtEPFc7KUQqPTI7bi5OPWRkKEQsbi5XVixuLk4uc3ViYXJyYXkoMCxuLnBvcykpO24udmlldz1uZXcgRGF0YVZpZXcobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCxuLk4uYnl0ZUxlbmd0aCl9fTsKajU9ZnVuY3Rpb24obixXKXtpZihXPjI2ODQzNTQ1NSl7VDYobiw0KTtsZXQgRD1XJjEwNzM3NDE4MjM7Zm9yKGxldCBiPTA7Yjw0O2IrKyluLnZpZXcuc2V0VWludDgobi5wb3MsRCYxMjd8MTI4KSxEPj4+PTcsbi5wb3MrPTE7Vz1NYXRoLmZsb29yKFcvMjY4NDM1NDU2KX1mb3IoVDYobiw0KTtXPjEyNzspbi52aWV3LnNldFVpbnQ4KG4ucG9zLFcmMTI3fDEyOCksVz4+Pj03LG4ucG9zKz0xO24udmlldy5zZXRVaW50OChuLnBvcyxXKTtuLnBvcys9MX07CkNSPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgpLGo1KG4sRCkpfTsKQkc9ZnVuY3Rpb24obixXLEQpe0QhPT12b2lkIDAmJkNSKG4sVyxEPzE6MCl9OwpnLkZhPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgrMiksVz1ELmxlbmd0aCxqNShuLFcpLFQ2KG4sVyksbi5OLnNldChELG4ucG9zKSxuLnBvcys9Vyl9Owp3ZD1mdW5jdGlvbihuLFcsRD0yKXtqNShuLFcqOCsyKTtuLkoucHVzaChuLnBvcyk7bi5KLnB1c2goRCk7bi5wb3MrPUR9OwpNRD1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5KLnBvcCgpLEQ9bi5KLnBvcCgpLGI9bi5wb3MtRC1XO1ctLTspe2xldCB2PVc/MTI4OjA7bi52aWV3LnNldFVpbnQ4KEQrKyxiJjEyN3x2KTtiPj49N319OwpnLlJ3PWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYod2QobixXLE1hdGguY2VpbChNYXRoLmxvZzIoRC5sZW5ndGgqNCsyKS83KSksVDYobixELmxlbmd0aCoxLjIpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSxuLnBvcytXPm4uTi5sZW5ndGgmJihUNihuLFcpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSksbi5wb3MrPVcsTUQobikpfTsKUUE9ZnVuY3Rpb24obixXLEQsYix2PTMpe0QmJih3ZChuLFcsdiksYihuLEQpLE1EKG4pKX07CmNHPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBBUihuZXcgUzUoW2xwKGRlY29kZVVSSUNvbXBvbmVudChuKSldKSk7bj1FeChXLDIpO1c9UEcoVyw0KTt2YXIgRD1WQVtXXTtpZih0eXBlb2YgRD09PSJ1bmRlZmluZWQiKXRocm93IG49bmV3IGcuUXgoIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGZpZWxkTnVtYmVyOld9KSxnLlhqKG4pLG47cmV0dXJue0RYOlcsZW50aXR5VHlwZTpELGVudGl0eUlkOm59fTsKbmY9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgejY7Zy5GYShELDIsSXcobikpO249YXdbV107aWYodHlwZW9mIG49PT0idW5kZWZpbmVkIil0aHJvdyBXPW5ldyBnLlF4KCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6V30pLGcuWGooVyksVztDUihELDQsbik7Q1IoRCw1LDEpO1c9bmV3IFVpbnQ4QXJyYXkoRC5OLmJ1ZmZlcixELk4uYnl0ZU9mZnNldCxELnBvcyk7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChnLkVBKFcsMCkpfTsKV2U9ZnVuY3Rpb24obil7bj1uLmtleXx8bi5pZDtpZighbil0aHJvdyBFcnJvcigiRW50aXR5IGtleSBpcyBtaXNzaW5nIik7cmV0dXJuIG59OwpERz1mdW5jdGlvbihuLFcsRCxiKXtpZihiPT09dm9pZCAwKXtsZXQge1tEXTp2LC4uLmt9PW5bV118fHt9O3JldHVybnsuLi5uLFtXXTprfX1yZXR1cm57Li4ubixbV106ey4uLm5bV10sW0RdOmJ9fX07CmJCPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bltXXXx8e30saD1rW0RdO2lmKCFoJiYhZy5sKCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIG47Yj1oUihofHx7fSxiLHY9PT0iUkVQRUFURURfRklFTERTX01FUkdFX09QVElPTl9BUFBFTkQiKTtyZXR1cm57Li4ubixbV106ey4uLmssW0RdOmJ9fX07Cm5taD1mdW5jdGlvbihuPXt9LFcpe3N3aXRjaChXLnR5cGUpe2Nhc2UgIkVOVElUWV9MT0FERUQiOnJldHVybiBXLnBheWxvYWQucmVkdWNlKChELGIpPT57dmFyIHY9Yi5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtpZih2JiZ2IT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fVU5LTk9XTiImJnYhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9JTk1FTU9SWV9BTkRfUEVSU0lTVCIpcmV0dXJuIEQ7aWYoIWIuZW50aXR5S2V5KXJldHVybiBnLlhqKEVycm9yKCJNaXNzaW5nIGVudGl0eSBrZXkiKSksRDtpZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFiLnBheWxvYWQpcmV0dXJuIGI9bmV3IGcuUXgoIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmIuZW50aXR5S2V5fSksZy5YaihiKSxEO3ZhciBrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIERHKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10pfWlmKGIudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7Yj1iLmVudGl0eUtleTt0cnl7bGV0IGg9Y0coYikuZW50aXR5VHlwZTtrPURHKEQsaCxiKTticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBFcnJvcil7Yj1uZXcgZy5ReCgiRmFpbGVkIHRvIGRlc2VyaWFsaXplIGVudGl0eSBrZXkiLHtlbnRpdHlLZXk6YixvcmlnaW5hbE1lc3NhZ2U6aC5tZXNzYWdlfSk7Zy5YaihiKTtrPUQ7YnJlYWsgYX10aHJvdyBoO31rPXZvaWQgMH1yZXR1cm4ga31pZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIil7aWYoIWIucGF5bG9hZClyZXR1cm4gYj1uZXcgZy5ReCgiVVBEQVRFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpiLmVudGl0eUtleX0pLGcuWGooYiksRDtrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIGJCKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10sYi5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIER9LApuKTsKY2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBERyhuLFcucGF5bG9hZC5lbnRpdHlUeXBlLFcucGF5bG9hZC5rZXksVy5wYXlsb2FkLmc4KTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoVy5wYXlsb2FkKS5yZWR1Y2UoKEQsYik9Pnt2YXIgdj1XLnBheWxvYWRbYl07cmV0dXJuIE9iamVjdC5rZXlzKHYpLnJlZHVjZSgoayxoKT0+REcoayxiLGgsdltoXSksRCl9LG4pOwpjYXNlICJVUERBVEVfRU5USVRZIjpyZXR1cm4gYkIobixXLnBheWxvYWQuZW50aXR5VHlwZSxXLnBheWxvYWQua2V5LFcucGF5bG9hZC5nOCxXLnBheWxvYWQublApO2RlZmF1bHQ6cmV0dXJuIG59fTsKVzRVPWZ1bmN0aW9uKCl7aWYodmUpcmV0dXJuIHZlKCk7dmU9a08oIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7S2M6e0VudGl0eVN0b3JlOnt2eDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOnt2eDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDEpJiZFUihaeShuLCJFbnRpdHlTdG9yZSIse2tleVBhdGg6ImtleSJ9KSwiZW50aXR5VHlwZSIsImVudGl0eVR5cGUiKTtXKDIpJiYobj1aeShuLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxFUihuLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLEVSKG4sImJ5Q2hpbGRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSIpKX0sdmVyc2lvbjozfSk7cmV0dXJuIHZlKCl9OwpEZlM9ZnVuY3Rpb24obil7cmV0dXJuIENGKFc0VSgpLG4pfTsKayQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KG4pOkFycmF5KG4pfTsKWDg9ZnVuY3Rpb24obil7dmFyIFc9bi5rZXksRD1uLmNvdW50ZXJbMF1eV1swXSxiPW4uY291bnRlclsxXV5XWzFdLHY9bi5jb3VudGVyWzJdXldbMl0saz1uLmNvdW50ZXJbM11eV1szXTtmb3IodmFyIGg9MztoPj0wJiYhKG4uY291bnRlcltoXT0tfm4uY291bnRlcltoXSk7aC0tKTtmb3IodmFyIHgsTCxlPTQ7ZTw0MDspaD1oRVtEPj4+MjRdXngkW2I+PjE2JjI1NV1eTGZbdj4+OCYyNTVdXmVZW2smMjU1XV5XW2UrK10seD1oRVtiPj4+MjRdXngkW3Y+PjE2JjI1NV1eTGZbaz4+OCYyNTVdXmVZW0QmMjU1XV5XW2UrK10sTD1oRVt2Pj4+MjRdXngkW2s+PjE2JjI1NV1eTGZbRD4+OCYyNTVdXmVZW2ImMjU1XV5XW2UrK10saz1oRVtrPj4+MjRdXngkW0Q+PjE2JjI1NV1eTGZbYj4+OCYyNTVdXmVZW3YmMjU1XV5XW2UrK10sRD1oLGI9eCx2PUw7bj1uLko7aD1XWzQwXTtuWzBdPWdOW0Q+Pj4yNF1eaD4+PjI0O25bMV09Z05bYj4+MTYmMjU1XV5oPj4xNiYyNTU7blsyXT1nTlt2Pj44JgoyNTVdXmg+PjgmMjU1O25bM109Z05bayYyNTVdXmgmMjU1O2g9V1s0MV07bls0XT1nTltiPj4+MjRdXmg+Pj4yNDtuWzVdPWdOW3Y+PjE2JjI1NV1eaD4+MTYmMjU1O25bNl09Z05baz4+OCYyNTVdXmg+PjgmMjU1O25bN109Z05bRCYyNTVdXmgmMjU1O2g9V1s0Ml07bls4XT1nTlt2Pj4+MjRdXmg+Pj4yNDtuWzldPWdOW2s+PjE2JjI1NV1eaD4+MTYmMjU1O25bMTBdPWdOW0Q+PjgmMjU1XV5oPj44JjI1NTtuWzExXT1nTltiJjI1NV1eaCYyNTU7aD1XWzQzXTtuWzEyXT1nTltrPj4+MjRdXmg+Pj4yNDtuWzEzXT1nTltEPj4xNiYyNTVdXmg+PjE2JjI1NTtuWzE0XT1nTltiPj44JjI1NV1eaD4+OCYyNTU7blsxNV09Z05bdiYyNTVdXmgmMjU1fTsKdEU9ZnVuY3Rpb24oKXtpZighcWEmJiFnLlJnKXtpZihHcilyZXR1cm4gR3I7R3I9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKEdyPy5pbXBvcnRLZXkmJkdyPy5zaWduJiZHcj8uZW5jcnlwdClyZXR1cm4gR3I7R3I9dm9pZCAwfX07CmJoMT1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJBRVMtQ1RSIn0sITEsWyJlbmNyeXB0Il0pKTtuPWF3YWl0IG4uSi5lbmNyeXB0KHtuYW1lOiJBRVMtQ1RSIixjb3VudGVyOkQsbGVuZ3RoOjEyOH0sbi5OLFcpO3JldHVybiBuZXcgVWludDhBcnJheShuKX07CiQkPWZ1bmN0aW9uKG4pe24uTj1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdO24uSz1bXTtuLksubGVuZ3RoPTY0O24uWD0wO24uSj0wfTsKc2U9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSyx2PW4uTlswXSxrPW4uTlsxXSxoPW4uTlsyXSx4PW4uTlszXSxMPW4uTls0XSxlPW4uTls1XSxHPW4uTls2XSxyPW4uTls3XSxOO2ZvcihsZXQgeT0wO3k8NjQ7KXtpZih5PDE2KWJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NDtlbHNle3ZhciBIPWJbeS0yXTt2YXIgQT1iW3ktMTVdO049Ylt5LTddK2JbeS0xNl0rKChIPj4+MTd8SDw8MTUpXihIPj4+MTl8SDw8MTMpXkg+Pj4xMCkrKChBPj4+N3xBPDwyNSleKEE+Pj4xOHxBPDwxNCleQT4+PjMpO2JbeV09Tn1IPXIrck5beV0rTisoKEw+Pj42fEw8PDI2KV4oTD4+PjExfEw8PDIxKV4oTD4+PjI1fEw8PDcpKSsoTCZlXn5MJkcpO0E9KCh2Pj4+Mnx2PDwzMCleKHY+Pj4xM3x2PDwxOSleKHY+Pj4yMnx2PDwxMCkpKyh2JmtediZoXmsmaCk7cj1IK0E7eCs9SDt5Kys7eTwxNj8oYlt5XT1OPVdbRF08PDI0fFdbRCsxXTw8MTZ8V1tEKzJdPDw4fFdbRCsKM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9RytyTlt5XStOKygoeD4+PjZ8eDw8MjYpXih4Pj4+MTF8eDw8MjEpXih4Pj4+MjV8eDw8NykpKyh4JkxefngmZSk7QT0oKHI+Pj4yfHI8PDMwKV4ocj4+PjEzfHI8PDE5KV4ocj4+PjIyfHI8PDEwKSkrKHImdl5yJmtediZrKTtHPUgrQTtoKz1IO3krKzt5PDE2PyhiW3ldPU49V1tEXTw8MjR8V1tEKzFdPDwxNnxXW0QrMl08PDh8V1tEKzNdLEQrPTQpOihIPWJbeS0yXSxBPWJbeS0xNV0sTj1iW3ktN10rYlt5LTE2XSsoKEg+Pj4xN3xIPDwxNSleKEg+Pj4xOXxIPDwxMyleSD4+PjEwKSsoKEE+Pj43fEE8PDI1KV4oQT4+PjE4fEE8PDE0KV5BPj4+MyksYlt5XT1OKTtIPWUrck5beV0rTisoKGg+Pj42fGg8PDI2KV4oaD4+PjExfGg8PDIxKV4oaD4+PjI1fApoPDw3KSkrKGgmeF5+aCZMKTtBPSgoRz4+PjJ8Rzw8MzApXihHPj4+MTN8Rzw8MTkpXihHPj4+MjJ8Rzw8MTApKSsoRyZyXkcmdl5yJnYpO2U9SCtBO2srPUg7eSsrO3k8MTY/KGJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9TCtyTlt5XStOKygoaz4+PjZ8azw8MjYpXihrPj4+MTF8azw8MjEpXihrPj4+MjV8azw8NykpKyhrJmhefmsmeCk7QT0oKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKSkrKGUmR15lJnJeRyZyKTtOPXI7cj14O3g9TjtOPUc7Rz1oO2g9TjtOPWU7ZT1rO2s9TjtMPXYrSDt2PUgrQTt5Kyt9bi5OWzBdPXYrbi5OWzBdfDA7bi5OWzFdPWsrbi5OWzFdfDA7bi5OWzJdPWgrbi5OWzJdfAowO24uTlszXT14K24uTlszXXwwO24uTls0XT1MK24uTls0XXwwO24uTls1XT1lK24uTls1XXwwO24uTls2XT1HK24uTls2XXwwO24uTls3XT1yK24uTls3XXwwfTsKTmE9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMzIpLEQ9NjQtbi5KO24uSj41NSYmKEQrPTY0KTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiWzBdPTEyODt2YXIgdj1uLlgqODtmb3IobGV0IGs9MTtrPDk7aysrKXtsZXQgaD12JTI1NjtiW0Qta109aDt2PSh2LWgpLzI1Nn1uLnVwZGF0ZShiKTtmb3IoRD0wO0Q8ODtEKyspV1tEKjRdPW4uTltEXT4+PjI0LFdbRCo0KzFdPW4uTltEXT4+PjE2JjI1NSxXW0QqNCsyXT1uLk5bRF0+Pj44JjI1NSxXW0QqNCszXT1uLk5bRF0mMjU1OyQkKG4pO3JldHVybiBXfTsKcGY9ZnVuY3Rpb24obixXLEQpe249bmV3IHZtaShuLk4pO24udXBkYXRlKFcpO24udXBkYXRlKEQpO1c9TmEobik7bi51cGRhdGUobi5qKTtuLnVwZGF0ZShXKTtXPU5hKG4pO24ucmVzZXQoKTtyZXR1cm4gV307CmtTaj1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJITUFDIixoYXNoOiJTSEEtMjU2In0sITEsWyJzaWduIl0pKTt2YXIgYj1uZXcgVWludDhBcnJheShXLmxlbmd0aCtELmxlbmd0aCk7Yi5zZXQoVyk7Yi5zZXQoRCxXLmxlbmd0aCk7bj1hd2FpdCBuLkouc2lnbih7bmFtZToiSE1BQyIsaGFzaDoiU0hBLTI1NiJ9LG4uTixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobil9Owp4ZlM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7bi5KfHwobi5KPW5ldyBoYXcobi5OLGIpKTtyZXR1cm4ga1NqKG4uSixXLEQpfTsKSGU9ZnVuY3Rpb24obixXLEQpe24uV3x8KG4uVz1uZXcgWSQobi5OKSk7cmV0dXJuIHBmKG4uVyxXLEQpfTsKTDRaPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10RSgpO2lmKGIpdHJ5e3JldHVybiBhd2FpdCB4ZlMobixXLEQsYil9Y2F0Y2godil7cmV0dXJuIGcuR3EodikscWE9ITAsSGUobixXLEQpfWVsc2UgcmV0dXJuIEhlKG4sVyxEKX07CmVhVT1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIEVycm9yP25ldyBmZigiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6bi5tZXNzYWdlfSk6bmV3IGZmKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTsKZ20yPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgRXJyb3I/bmV3IGZmKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTpuLm1lc3NhZ2V9KTpuZXcgZmYoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpKRT1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIGZmP246VyhuKTtnLlhqKG4pO3Rocm93IG47fTsKSTg9ZnVuY3Rpb24obil7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUobikuc3ViYXJyYXkoMCwxNik7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMTYpO1cuc2V0KG4pO3JldHVybiBXfTsKcXNVPWZ1bmN0aW9uKCl7dmFyIG49WHlVLnZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTtpZihuKXJldHVybiBuO2cuR3EobmV3IGcuUXgoIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5In0pKX07CkFFPWZ1bmN0aW9uKG4sVyl7YTp7bj1TWShuLlcsVy52ZXJzaW9uKTt0cnl7dmFyIEQ9bi5KKFcuZGF0YSxXLmtleSk7YnJlYWsgYX1jYXRjaChiKXtKRShiLGdtMil9RD12b2lkIDB9cmV0dXJuIER9OwpHU3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmluZGV4KCJlbnRpdHlUeXBlIikuZ2V0QWxsKElEQktleVJhbmdlLm9ubHkoVykpLnRoZW4oRD0+RC5tYXAoYj0+QUUobixiKSkpfTsKJGZpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V2UoVyk7cmV0dXJuIG1MKG4sRCkudGhlbigoKT0+dENoKG4sVykpfTsKS2Y9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSltEXTtifHwoYj1uZXcgU2V0LG4uSltEXT1iKTtiLmFkZChXKX07CnIzWj1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9U1kobi5XLDEpLHY9ey4uLld9O3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZ2V0KEQpLnRoZW4oaz0+e2lmKGspe2lmKGsuZW50aXR5VHlwZSE9PSJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKXRocm93IEVycm9yKCJJbmNvcnJlY3QgZW50aXR5IHR5cGUiKTt2LmVudGl0eU1ldGFkYXRhfHwoaz1BRShuLGspLHYuZW50aXR5TWV0YWRhdGE9ay5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e2E6e3RyeXt2YXIgaz1iLlcodixEKTsKYnJlYWsgYX1jYXRjaChoKXtKRShoLGVhVSl9az12b2lkIDB9az17a2V5OkQsZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IixkYXRhOmssdmVyc2lvbjoxfTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikucHV0KGspLCRmaShuLHYpXSl9KS50aGVuKCgpPT57S2YobixELCJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKTsKcmV0dXJuIER9KX07Ck9lPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Y0coVykuZW50aXR5VHlwZTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZGVsZXRlKFcpLG1MKG4sVyldKS50aGVuKCgpPT57S2YobixXLEQpfSl9OwptTD1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShXKSl9OwpzeHI9ZnVuY3Rpb24obixXKXtXPVcubWFwKEQ9Pk9lKG4sRCkpOwpyZXR1cm4gc1IuYWxsKFcpLnRoZW4oKCk9Pnt9KX07CnRDaD1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9cXNVKCk7aWYoIWIpcmV0dXJuIHNSLnJlc29sdmUoW10pO1c9bmV3IGIoVyk7bj1uLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtiPVtdO2ZvcihsZXQgdiBvZiBXLkooKSliLnB1c2gobi5wdXQoe3BhcmVudEVudGl0eUtleTpELGNoaWxkRW50aXR5S2V5OnZ9KSk7cmV0dXJuIHNSLmFsbChiKS50aGVuKHY9PnYubWFwKGs9PmtbMV0pKX07ClNZPWZ1bmN0aW9uKG4sVz0wKXtuPW4uTltXXTtpZighbil0aHJvdyBXPW5ldyBmZigiSU5WQUxJRF9FTkNPREVSX1ZFUlNJT04iLHtPQTpXfSksZy5YaihXKSxXO3JldHVybiBufTsKUGU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5vYnNlcnZlcnMpRChXKX07ClpHPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1hd2FpdCBEZlMobi50b2tlbiksdjtXPWF3YWl0IE9SKGIsWyJFbnRpdHlTdG9yZSIsIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiXSxXLGs9Pnt2PW5ldyBOR3coayxuLk4pO3JldHVybiBEKHYpfSk7CnYmJihiPXYuSixPYmplY3Qua2V5cyhiKS5sZW5ndGg+MCYmKG4uY2hhbm5lbC5wb3N0TWVzc2FnZShiKSxQZShuLGIpKSk7cmV0dXJuIFd9OwpweXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gWkcobix7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+cjNaKEQsVykpfTsKWXNNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pk9lKEQsVykpfTsKSGh3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnN4cihELFcpKX07ClVlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWRvbmx5IixHUTohMH0sRD0+R1N3KEQsVykpfTsKSTkyPWFzeW5jIGZ1bmN0aW9uKCl7dHJ5e2xldCBXPWF3YWl0IGcublAoKTtpZihXJiZSOSgpJiZ0eXBlb2YgZy5xaS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBuPW5ldyBmOWk7cmV0dXJuIG5ldyBKM2koVyxuKX19Y2F0Y2goVyl7VyBpbnN0YW5jZW9mIEVycm9yJiZnLlhqKFcpfX07CnlXPWZ1bmN0aW9uKCl7dmFyIG49WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLmZldGNoO3JldHVybiEhbiYmbi5sZW5ndGg9PT0zfTsKRWU9ZnVuY3Rpb24obixXKXtXPU51bWJlcihXKSoxRTM7dmFyIEQ9TWF0aC5yb3VuZCgoMCxnLlIpKCkpLGI9RC50b1N0cmluZygpO249e2lubmVydHViZVJlc3BvbnNlOm4sc2VydmVyRGF0ZVRpbWVzdGFtcE1zOmIsbGFzdE1vZGlmaWVkVGltZXN0YW1wTXM6YixleHBpcmVUaW1lc3RhbXBNczooRCtXKS50b1N0cmluZygpLGlzUHJvY2Vzc2VkOiEwfTtpZihXPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpbi5jbGllbnROYW1lPVc7cmV0dXJuIG59Owp1Qj1mdW5jdGlvbihuLFcsRCl7aWYoIWcubCgic3RhdGVfdGFnc19raWxsc3dpdGNoIikpe3ZhciBiPW5ldyBpQihXKTtpZigoYi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W10pLmxlbmd0aD4wKXt2YXIgdj1uLk4udUIoKTtmb3IobGV0IGggb2Ygdil7dmFyIGs9dkcobi5OLGgpO2lmKGspe2E6e3Y9Yi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W107az0obmV3IGlCKHFyKGspKSkuTj8ucmVsZXZhbnRTdGF0ZVRhZ3N8fFtdO2ZvcihsZXQgeCBvZiBrKWlmKHguc3RhdGVUYWchPW51bGwmJnYuaW5jbHVkZXMoeC5zdGF0ZVRhZykmJngub25TdGF0ZVRhZ01vZGlmaWVkPT09IlNUQVRFX1RBR19DQUNIRV9JTlNUUlVDVElPTl9FVklDVF9SRVNQT05TRSIpe3Y9ITA7YnJlYWsgYX12PSExfXYmJmtNKG4uTixoKX19fX1iPVcucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzO0QmJmImJk51bWJlcihiKT4wJiYoVz1FZShXLGIpLG4uTi5wdXQoRCxuZXcgYmgoVykpKX07ClNzWj1mdW5jdGlvbihuLFcsRCl7aWYobi5OKXtsZXQgYj1TMShUNShXLCJrZXkiKSl8fCIvVU5LTk9XTl9QQVRIIjtuLk4uc3RhcnQoYil9bj1EO2cubCgid3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0IikmJihuPU1YUyhEKSk7cmV0dXJuIG5ldyB3aW5kb3cuUmVxdWVzdChXLG4pfTsKZE49YXN5bmMgZnVuY3Rpb24obixXLEQsYix2LGspe2lmKGs/LmFib3J0ZWQpcmV0dXJuIFcuY2FuY2VsKCksYjt2YXIge3ZhbHVlOmgsZG9uZTp4fT1hd2FpdCBXLnJlYWQoKTtpZih4KXJldHVybiBuLk4/LnN1Y2Nlc3MoKSxiO3RyeXt2YXIgTD1ELnBhcnNlKGgpfWNhdGNoKGUpe3Rocm93IG5ldyBvOCgiRmFpbGVkIHRvIHBhcnNlIHN0cmVhbWluZyByZXNwb25zZSIsaCk7fWlmKEwhPW51bGwpZm9yKGxldCBlIG9mIEwpYi5wdXNoKGUpLHY/LihlKTtyZXR1cm4gZE4obixXLEQsYix2LGspfTsKbmM9ZnVuY3Rpb24obixXLEQpe2lmKCF6cil7bGV0IGs9Zy5xaigpO2cueG8oayx7Tkg6bEIsWUw6VHJ9KTtpZihEPy5vUyl7Zy54byhrLHtOSDpqWSxQZjpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsRC5jbGllbnRJbnRlcmZhY2UpfSk7Zy54byhrLHtOSDpDZixQZjo1MTg0RTZ9KTtnLnhvKGsse05IOkJlLFlMOkEzaixbZy5MWF06W2pZLENmXX0pO2cueG8oayx7Tkg6RjgsWUw6d059KTt2YXIgYj1rLnJlc29sdmUoRjgpO2xldCBoPXdpbmRvdztpZihoLnl0SW5pdGlhbFZpZGVvSWQpe3ZhciB2PWgueXRJbml0aWFsVmlkZW9JZDtoLnl0SW5pdGlhbFBsYXllclJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsUGxheWVyUmVzcG9uc2UseUgoInBsYXllciIse3ZpZGVvSWQ6dn0pKTtoLnl0SW5pdGlhbFdhdGNoTmV4dFJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsV2F0Y2hOZXh0UmVzcG9uc2UseUgoIm5leHQiLHt2aWRlb0lkOnZ9KSk7aC55dEluaXRpYWxSZWVsSXRlbVdhdGNoUmVzcG9uc2UmJgp1QihiLGgueXRJbml0aWFsUmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHlIKCJyZWVsX2l0ZW1fd2F0Y2giLHt2aWRlb0lkOnZ9KSl9fWcueG8oayx7Tkg6TWEsUGY6e3pnOntmZWVkYmFja0VuZHBvaW50OmhtKG1mUyksbW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludDpobShLNGkpLHBsYXlsaXN0RWRpdEVuZHBvaW50OmhtKE9ociksc2hhcmVFbnRpdHlFbmRwb2ludDpobShSOCksc3Vic2NyaWJlRW5kcG9pbnQ6aG0oUEd4KSx1bnN1YnNjcmliZUVuZHBvaW50OmhtKFpodCksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6aG0oVWZaKX19fSk7dj1iJC5nZXRJbnN0YW5jZSgpO2I9e307diYmKGIuY2xpZW50X2xvY2F0aW9uPXYpO0Q/Lm9TJiYodj1rLnJlc29sdmUoRjgpLGIuc3RvcmU9dixiLnJlc29sdmVfdXJsX3ByZWZldGNoPWsucmVzb2x2ZShRVykpO2cueG8oayx7Tkg6VlcsUGY6Yn0pO2cueG8oayx7Tkg6Y2UsUGY6biE9PXZvaWQgMD8KbjppTygpfSk7Vz09PXZvaWQgMCYmKFc9ay5yZXNvbHZlKGxCKSk7Zy5sKCJhbGxfd2ViX2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmY1MyKCk7RTliKGsucmVzb2x2ZShNYSksVyxrLnJlc29sdmUoY2UpLGsucmVzb2x2ZShWVyksRD8ub1M/ay5yZXNvbHZlKEJlKTp2b2lkIDApO2cueG8oayx7Tkg6YTgsUGY6WDcuaW5zdGFuY2V9KTt6cj1rLnJlc29sdmUoYTgpfXJldHVybiB6cn07CldRPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249bi5zcGxpdCgiJiIpO2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09MiYmKFdbblswXV09blsxXSk7cmV0dXJuIFd9Owp5M3I9YXN5bmMgZnVuY3Rpb24oKXt2YXIgbj13aW5kb3c7YXdhaXQgZy5NaChnLkQ2KCkpO3ZhciBXPW4uYmdldm1jO2lmKCFXKXRocm93IEVycm9yKCJCR0UgQ29udHJvbHMgbm90IGV4cG9zZWQiKTtyZXR1cm57cGF1c2U6KCk9PntXLnAoKX0sCnJlc3VtZTooKT0+e1cucigpfSwKY2hlY2tGb3JSZWZyZXNoOigpPT5XLmNyKCl9fTsKZy5ENj1mdW5jdGlvbigpe3JldHVybiBnLmwoImJnX3N0X2hyIik/ImhhdnVva21oaHMtMCI6YGhhdnVva21oaHMtJHtNYXRoLmZsb29yKGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/LnRpbWVPcmlnaW58fDApfWB9OwpiMD1mdW5jdGlvbihuKXt3aW5kb3cuYmdlbnM9bn07CkVteD1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShuPT57dmFyIFc9d2luZG93O1cubnRwZXZhc3JzIT09dm9pZCAwP24obmV3IHZRKFcubnRwZXZhc3JzKSk6KFcubnRwcWZiZWw9PT12b2lkIDAmJihXLm50cHFmYmVsPVtdKSxXLm50cHFmYmVsLnB1c2goRD0+e24obmV3IHZRKEQpKX0pKX0pfTsKeDU9ZnVuY3Rpb24oKXtpZihnLmFLKCkpe3ZhciBuPWcuQXIoIlBMQVlFUl9WQVJTIix7fSk7aWYoZy4keShuLCJwcml2ZW1iZWQiLCExKSE9IjEiJiYhZy54UihuKSl7dmFyIFc9KCk9PntrNT0hMDsiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3c/Zy5TSCgiRENMS1NUQVQiLDEpOmcuU0goIkRDTEtTVEFUIiwyKX07CnRyeXtsZXQgRD1Taihkb2N1bWVudCk7aU0oaGosVyxEKX1jYXRjaChEKXt9aWhDLnB1c2godGEuTFMoKCk9PntpZighKGs1fHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7aWYoaGoudG9TdHJpbmcoKSYmVyl7dmFyIEQ9YCR7QWkoVyl9YCxiPW9JW0RdO2ImJlBVKGIpfX1jYXRjaCh2KXt9azU9ITA7Zy5TSCgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07CkxjPWZ1bmN0aW9uKCl7dmFyIG49TnVtYmVyKGcuQXIoIkRDTEtTVEFUIiwwKSk7cmV0dXJuIGlzTmFOKG4pPzA6bn07CmV0PWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpvbU09YXN5bmMgZnVuY3Rpb24obil7aWYoZy5xaS55dEF0UCYmIWcubCgieXRhdHBfa3MiKSl7dmFyIFc9YXdhaXQgZy5xaS55dEF0UDtkZWxldGUgZy5xaS55dEF0UDt2YXIgRD1XPy5SO3ZhciBiPVc/LlQ7Vz11dDIoRCk7bGV0IGs9ISFiO24uSi5KKEQ/Vz9rPzc6MTA6az8xOjg6az8yOjksbi5XKyspO2lmKCFEfHxXKUQ9YXdhaXQgWHkobixxZShiLG51bGwpKSxEPUpTT04uc3RyaW5naWZ5KEQpO2cucWkueXRBdFJDP2cucWkueXRBdFJDKEQpOmcuR3EoRXJyb3IoInl0QXRSQyBub3QgZGVmaW5lZCBmb3IgeXRBdFAuIikpfWVsc2UgZy5xaS55dEF0UkM/Zy5WeCgwLGFzeW5jKCk9PntiPWcucWkueXRBdFQ7ZGVsZXRlIGcucWkueXRBdFQ7aWYoZy5xaS55dEF0UkMpe24uSi5KKDIsbi5XKyspO3ZhciBrPWF3YWl0IFh5KG4scWUoYixudWxsKSk7Zy5xaS55dEF0UkMmJmcucWkueXRBdFJDKEpTT04uc3RyaW5naWZ5KGspKX1lbHNlIG4uSi5KKDYsbi5XKyspfSwyLHYwKCJhdHRfaW5pdF9kZWxheSIsCjApKTooYj1nLnFpLnl0QXRULGRlbGV0ZSBnLnFpLnl0QXRULG4uSi5KKDEsbi5XKyspKTsKRD1hd2FpdCBFbXgoKTtELmJpbmRJbm5lcnR1YmVDaGFsbGVuZ2VGZXRjaGVyKGs9PntuLkouSigzLG4uVysrKTtyZXR1cm4gWHkobixxZShiLGspKX0pOwpELnJlZ2lzdGVyQ2hhbGxlbmdlRmV0Y2hlZENhbGxiYWNrKGs9PntrPWsuY2hhbGxlbmdlO2lmKCFrKXRocm93IEVycm9yKCJCR0VfTUFDUiIpO2s9e2NoYWxsZW5nZTprLFJSOldRKGspLE8xOnYsYmdDaGFsbGVuZ2U6bmV3IHIkfTtrPVByb21pc2UucmVzb2x2ZShrKTtuLk49a30pOwp2YXIgdj1hd2FpdCBnLk1oKGcuRDYoKSk7RD1ELmdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCkuY2hhbGxlbmdlO2lmKCFEKXRocm93IEVycm9yKCJCR0VfTUFDSUwiKTtyZXR1cm57Y2hhbGxlbmdlOkQsUlI6V1EoRCksTzE6dixiZ0NoYWxsZW5nZTpuZXcgciR9fTsKdGo9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9cWUodm9pZCAwLGckKCkuTik7dHJ5e3ZhciBEPWF3YWl0IGRmMihuLFcpfWNhdGNoKHgpe3JldHVybiBnLkdxKEVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggYXR0ZXN0YXRpb24gY2hhbGxlbmdlIGFmdGVyIDUgYXR0ZW1wdHM7IG5vdCByZXRyeWluZyBmb3IgMjRoLiIpKSxHMChuLDg2NEU1KSx7Y2hhbGxlbmdlOiIiLFJSOnt9LE8xOnZvaWQgMCxiZ0NoYWxsZW5nZTp2b2lkIDB9fVc9RC5RRjt2YXIgYj1ELlR0O0cwKG4sKE51bWJlcihiLnQpfHw3MjAwKSoxRTMpO249dm9pZCAwO2lmKCJjMWEiaW4gYiYmRC5iZ0NoYWxsZW5nZSl7RD1ELmJnQ2hhbGxlbmdlO3ZhciB2PW5ldyByJDtpZihELmludGVycHJldGVySmF2YXNjcmlwdCl7dmFyIGs9Tk4oRC5pbnRlcnByZXRlckphdmFzY3JpcHQpO2s9S2IoaykudG9TdHJpbmcoKTt2YXIgaD1uZXcgcXY7Zy5TRShoLDYsayk7JDkodixxdiwxLGgseFUpfWVsc2UgRC5pbnRlcnByZXRlclVybCYmCihrPXB3KEQuaW50ZXJwcmV0ZXJVcmwpLGs9eDMoaykudG9TdHJpbmcoKSxoPW5ldyBHSCxnLlNFKGgsNCxrKSwkOSh2LEdILDIsaCx4VSkpO0QuaW50ZXJwcmV0ZXJIYXNoJiZBUyh2LDMsRC5pbnRlcnByZXRlckhhc2gseFUpO0QucHJvZ3JhbSYmQVModiw0LEQucHJvZ3JhbSx4VSk7RC5nbG9iYWxOYW1lJiZBUyh2LDUsRC5nbG9iYWxOYW1lLHhVKTtELmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iJiZBUyh2LDcsRC5jbGllbnRFeHBlcmltZW50c1N0YXRlQmxvYix4VSk7dHJ5e2F3YWl0IHRxKGckKCksdil9Y2F0Y2goeCl7cmV0dXJuIGcuR3EoeCkse2NoYWxsZW5nZTpXLFJSOmIsTzE6bixiZ0NoYWxsZW5nZTp2fX10cnl7bj1uZXcgQXEoe2NoYWxsZW5nZTp2LHgzOntWajoiYUdJZiJ9fSksYXdhaXQgbi5Pdn1jYXRjaCh4KXtnLkdxKHgpLG49dm9pZCAwfX1yZXR1cm57Y2hhbGxlbmdlOlcsUlI6YixPMTpuLGJnQ2hhbGxlbmdlOnZ9fTsKWHk9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLlg7aWYoIUR8fEQuV0coKSlyZXR1cm4gJDUobixXKTtnLmdfKCJhdHRfcG5hIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBuZXcgUHJvbWlzZShiPT57RC5lRigicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PnskNShuLFcpLnRoZW4oYil9KX0pfTsKZGYyPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPXZvaWQgMCxiPTA7Yjw1Oyl7aWYoYj4wKXtsZXQgdj0xRTMqTWF0aC5wb3coMixiLTEpK01hdGgucmFuZG9tKCkqMUUzO2F3YWl0IG5ldyBQcm9taXNlKGs9PntnLmNCKDAsKCk9PntrKHZvaWQgMCl9LHYpfSl9dHJ5e24uSi5KKDQsbi5XKyspOwpsZXQgdj1hd2FpdCBYeShuLFcpO3JldHVybiB6YWkodil9Y2F0Y2godil7RD12LHYgaW5zdGFuY2VvZiBFcnJvciYmZy5HcSh2KX1iKyt9dGhyb3cgRDt9OwpHMD1mdW5jdGlvbihuLFcpe3ZhciBEPURhdGUubm93KCkrVyxiPWFzeW5jKCk9Pnt2YXIgdj1ELURhdGUubm93KCk7djwxRTM/YXdhaXQgbDlpKG4pOmcuY0IoMCxiLE1hdGgubWluKHYsNkU0KSl9OwpiKCl9OwokNT1hc3luYyBmdW5jdGlvbihuLFcpe2IwKDIpO3RyeXtsZXQgRD1hd2FpdCBYeShuLm5ldHdvcmssVyk7RD9ELmNoYWxsZW5nZSYmIUQuYmdDaGFsbGVuZ2U/YjAoMSk6YjAoNCk6YjAoMyk7cmV0dXJuIER9Y2F0Y2goRCl7YjAoMyl9fTsKemFpPWZ1bmN0aW9uKG4pe2lmKCFuKXRocm93IEVycm9yKCJGZXRjaGluZyBBdHRlc3RhdGlvbiBjaGFsbGVuZ2UgcmV0dXJuZWQgZmFsc3kiKTtpZighbi5jaGFsbGVuZ2UpdGhyb3cgRXJyb3IoIk1pc3NpbmcgQXR0ZXN0YXRpb24gY2hhbGxlbmdlIik7dmFyIFc9bi5jaGFsbGVuZ2UsRD1XUShXKTtpZigiYzFhImluIEQmJighbi5iZ0NoYWxsZW5nZXx8IW4uYmdDaGFsbGVuZ2UucHJvZ3JhbSkpdGhyb3cgRXJyb3IoIkV4cGVjdGVkIGJnIGNoYWxsZW5nZSBidXQgbWlzc2luZy4iKTtyZXR1cm57Li4ubixRRjpXLFR0OkR9fTsKbDlpPWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPWF3YWl0IFByb21pc2UucmFjZShbbi5OLG51bGxdKSxEPXRqKG4pO24uTj1EO1c/Lk8xPy5kaXNwb3NlKCl9OwpUR2g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IFByb21pc2UoRD0+e2cuY0IoMCwoKT0+e0QoVygpKX0sbil9KX07CnFlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e2VuZ2FnZW1lbnRUeXBlOiJFTkdBR0VNRU5UX1RZUEVfVU5CT1VORCJ9O24mJihELmVhY3JUb2tlbj1uKTtXJiYoRC5pbnRlcnByZXRlckhhc2g9Vyk7cmV0dXJuIER9Owp1dDI9ZnVuY3Rpb24obil7aWYoIW58fCFnLmwoInJvc2NhcyIpKXJldHVybiExO3RyeXt2YXIgVz1KU09OLnBhcnNlKG4pfWNhdGNoKEQpe3JldHVybiExfW49Vy5jaGFsbGVuZ2U7aWYoIW4pcmV0dXJuITE7Vz1XUShuKTtuPU51bWJlcihXLmMpfHx2b2lkIDA7Vz1OdW1iZXIoVy50KXx8NzIwMDtyZXR1cm4hIW4mJkRhdGUubm93KCk+KG4rVykqMUUzfTsKcmE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2Uobj0+e3ZhciBXPXdpbmRvdztXLmF0dG1wIT09dm9pZCAwP24oVy5hdHRtcCk6KFcuYXR0bXE9PT12b2lkIDAmJihXLmF0dG1xPVtdKSxXLmF0dG1xLnB1c2goRD0+e24oRCl9KSl9KX07CmcucGM9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKHNoKCkpe3ZhciBiPXdpbmRvdztyZXR1cm4gYi5hdHRtcCE9PXZvaWQgMD9iLmF0dG1wLnMobixXLEQpOihhd2FpdCByYSgpKS5zKG4sVyxEKX1yZXR1cm4oYj0oYj1nLnJyKCJ5dC5hYmEuYXR0IikpP2I6TmUuaW5zdGFuY2UhPT12b2lkIDA/TmUuaW5zdGFuY2UuZFEuYmluZChOZS5pbnN0YW5jZSk6bnVsbCk/YihuLFcsRCk6UHJvbWlzZS5yZXNvbHZlKHtlcnJvcjoiQVRURVNUQVRJT05fRVJST1JfQVBJX05PVF9SRUFEWSJ9KX07CmcuWTU9YXN5bmMgZnVuY3Rpb24oKXtpZihzaCgpKXJldHVybiB3aW5kb3cuYXR0bXA9PT12b2lkIDA/ITE6KGF3YWl0IHJhKCkpLmlyKCk7dmFyIG47cmV0dXJuKG49KG49Zy5ycigieXQuYWJhLmF0dDIiKSk/bjpOZS5pbnN0YW5jZSE9PXZvaWQgMD9OZS5pbnN0YW5jZS55Zi5iaW5kKE5lLmluc3RhbmNlKTpudWxsKT9uKCk6UHJvbWlzZS5yZXNvbHZlKCExKX07CnNoPWZ1bmN0aW9uKCl7cmV0dXJuKGcubCgiYXR0bXVzaSIpfHxnLmwoImF0dG11c2l3IikpJiZnLmwoImF0dG11c2lfdWUiKX07CkhRPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIik7RHx8KEQ9e30sZy5HYigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIixEKSk7aWYoZy5sKCJ3ZWJfZGRfaXUiKXx8anhTLmluY2x1ZGVzKG4pKURbbl09V307CkJHTT1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17Y29udGV4dDpnLnZiKCksc2V0dGluZ0l0ZW1JZDpXLG5ld1ZhbHVlOkR9O0Q9TEIoQ0diKTtuPWF3YWl0IGcucl8obixXLEQpO2lmKCFufHxuLmVycm9yTWV0YWRhdGEpbj9uLmVycm9yTWV0YWRhdGEmJmcuR3EobmV3IGcuUXgoYFNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAke24uZXJyb3JNZXRhZGF0YS5zdGF0dXN9YCkpOmcuR3EobmV3IGcuUXgoIlNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIGVtcHR5IHJlc3BvbnNlIikpfTsKRjRiPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtEPyhuLnZWKDIpLGlNKGZ3KEQpLCgpPT57aWYod2luZG93LnRyYXlyaWRlKWZjKG4sYix2KTtlbHNle24udlYoMyk7bGV0IGg9dU0oRCkseD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChoKTt4JiYoeUooaCkseC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHgpKTtnLkdxKG5ldyBnLlF4KCJCTDpVTEIiLGAke0R9YCkpfX0saykpOlc/KGs9Zy56RigiU0NSSVBUIiksVyBpbnN0YW5jZW9mIEFGPyhrLnRleHRDb250ZW50PUtiKFcpLE9NKGspKTprLnRleHRDb250ZW50PVcsay5ub25jZT1Taihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChrKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGspLHdpbmRvdy50cmF5cmlkZT9mYyhuLGIsdik6KG4udlYoNCksZy5HcShuZXcgZy5ReCgiQkw6VUxCSiIpKSkpOmcuR3EobmV3IGcuUXgoIkJMOlVMViIpKX07CmZjPWZ1bmN0aW9uKG4sVyxEKXtuLnZWKDUpO3ZhciBiPSEhbi5EYSYmd3loLmluY2x1ZGVzKGcuSVAobi5EYSl8fCIiKTt0cnl7bGV0IHY9bmV3IEFxKHtwcm9ncmFtOlcsZ2xvYmFsTmFtZToidHJheXJpZGUiLHgzOntkaXNhYmxlOiFnLmwoImF0dF93ZWJfcmVjb3JkX21ldHJpY3MiKXx8IWcubCgiYXR0X3NraXBfbWV0cmljc19mb3JfY29va2llbGVzc19kb21haW5zX2tzIikmJmIsVmo6ImFHSWYifX0pO3YuT3YudGhlbigoKT0+e24udlYoNik7RCYmRChXKX0pOwpuLk4odil9Y2F0Y2godil7bi52Vig3KSx2IGluc3RhbmNlb2YgRXJyb3ImJmcuR3Eodil9fTsKdmFyIE1DYj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDEsODEzOCxuLFcsRCl9OwpKaj1mdW5jdGlvbigpe3ZhciBuPWcucnIoInl0LmFidXNlLnBsYXllckF0dExvYWRlciIpO3JldHVybiBuJiZbImJndm1hIiwiYmd2bWIiLCJiZ3ZtYyJdLmV2ZXJ5KFc9PlcgaW4gbik/bjpudWxsfTsKUmFTPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDI6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiAyO2Nhc2UgMDpyZXR1cm4gMztjYXNlIDQ6Y2FzZSAzOnJldHVybiAxO2RlZmF1bHQ6Zy5wYihuLCJ1bmtub3duIHJlc3VsdCB0eXBlIil9fTsKZy5JYT1mdW5jdGlvbihuKXtyZXR1cm4gbj8ubGF5b3V0SWQhPW51bGwmJm4/LmxheW91dFR5cGUhPW51bGx9OwpnLlo2PWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuU3QpfHxnLncobixnLkFqKXx8Zy53KG4sZy5tMil8fGcudyhuLGcuS2MpfHxnLncobixnLk9oKXx8Zy53KG4sZy5QUSk/ITA6ITF9OwpnLnUwPWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuVWgpfHxnLncobixnLnlWKXx8Zy53KG4sUXhNKXx8Zy53KG4sZy5FaCl8fGcudyhuLGcuaTApPyEwOiExfTsKZy56MD1mdW5jdGlvbihuKXtyZXR1cm4gZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpP2cudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5vYSl8fGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5kYSk/ITA6ITE6ITF9OwpnLmwwPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclZhcnMhPT12b2lkIDAmJm4ucGluZ3MhPT12b2lkIDAmJm4uZXh0ZXJuYWxWaWRlb0lkIT09dm9pZCAwfTsKZy5NZT1mdW5jdGlvbihuKXtpZighZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpKXJldHVybiExO249bi5yZW5kZXJpbmdDb250ZW50O3ZhciBXPWcudyhuLGcuVDApO3JldHVybiBXP2cuanQoVyk6KFc9Zy53KG4sZy5DYykpP2cubDAoVyk6KFc9Zy53KG4sZy5CUSkpP1cucGxheWVyVmFycyE9PXZvaWQgMDooVz1nLncobixnLlVoKSk/Vy5kdXJhdGlvbk1pbGxpc2Vjb25kcyE9PXZvaWQgMDpnLncobixnLkZ5KXx8Zy53KG4sZy53YSk/ITA6ITF9OwpnLmp0PWZ1bmN0aW9uKG4pe249KG4uc2VxdWVudGlhbExheW91dHN8fFtdKS5tYXAoVz0+Zy53KFcsZy5SYSkpOwpyZXR1cm4gbi5sZW5ndGg+MCYmbi5ldmVyeShnLk1lKX07CmcuVlY9ZnVuY3Rpb24obil7cmV0dXJuIGcuSWEobi5hZExheW91dE1ldGFkYXRhKT8obj1nLncobi5yZW5kZXJpbmdDb250ZW50LGcuUVYpKSYmbi5waW5ncz8hMDohMTohMX07CmcuRHE9ZnVuY3Rpb24obil7aWYoIWcuSWEobi5hZExheW91dE1ldGFkYXRhKSlyZXR1cm4hMTtpZihnLncobi5yZW5kZXJpbmdDb250ZW50LGcuY1EpfHxnLncobi5yZW5kZXJpbmdDb250ZW50LGcub2EpKXJldHVybiEwO3ZhciBXPWcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5hYSk7cmV0dXJuIGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5uaSl8fGcudyhXPy5zaWRlUGFuZWwsVkMyKXx8Zy53KFc/LnNpZGVQYW5lbCxnLlckKXx8Zy53KFc/LnNpZGVQYW5lbCxjM2gpPyEwOiExfTsKZy5nTT1mdW5jdGlvbihuKXt2YXIgVzsoVz0hbil8fChXPW4uYWRTbG90TWV0YWRhdGEsVz0hKFc/LnNsb3RJZCE9PXZvaWQgMCYmVz8uc2xvdFR5cGUhPT12b2lkIDApKTtpZihXfHwhKGcuYloobil8fG4uc2xvdEVudHJ5VHJpZ2dlciYmbi5zbG90RnVsZmlsbG1lbnRUcmlnZ2VycyYmbi5zbG90RXhwaXJhdGlvblRyaWdnZXJzKSlyZXR1cm4hMTtuPW4uZnVsZmlsbG1lbnRDb250ZW50Py5mdWxmaWxsZWRMYXlvdXQ7cmV0dXJuKFc9Zy53KG4sZy5SYSkpP2cuTWUoVyk6KFc9Zy53KG4sZy52JCkpP2cuRHEoVyk6KFc9Zy53KG4sZy5reikpP2cudTAoVyk6KFc9Zy53KG4sZy5oWCkpP2cuWjYoVyk6KFc9Zy53KG4sZy54eikpP2cuSWEoVy5hZExheW91dE1ldGFkYXRhKT9nLncoVy5yZW5kZXJpbmdDb250ZW50LGcuU3QpPyEwOiExOiExOihXPWcudyhuLGcuTGkpKT9nLlZWKFcpOihuPWcudyhuLGcuZTIpKT9nLnowKG4pOiExfTsKZy5iWj1mdW5jdGlvbihuKXtyZXR1cm4obj1nLncobi5mdWxmaWxsbWVudENvbnRlbnQ/LmZ1bGZpbGxlZExheW91dCxnLnYkKSkmJm4uYWRMYXlvdXRNZXRhZGF0YT8ubGF5b3V0VHlwZT09PSJMQVlPVVRfVFlQRV9QQU5FTF9RUl9DT0RFIiYmbi5sYXlvdXRFeGl0Tm9ybWFsVHJpZ2dlcnM9PT12b2lkIDB9OwphOXI9ZnVuY3Rpb24obil7Zm9yKGxldCBXIG9mIG58fFtdKXtuPWcudyhXLGcuWEcpO2lmKG49PT12b2lkIDB8fCFnLmdNKG4pKWJyZWFrO2lmKChuPWcudyhuLmZ1bGZpbGxtZW50Q29udGVudD8uZnVsZmlsbGVkTGF5b3V0LGcuTGkpKSYmZy5WVihuKSlyZXR1cm4hMH1yZXR1cm4hMX07CnE0PWZ1bmN0aW9uKG4pe2lmKCFufHwhbi5hZFBsYWNlbWVudHMmJiFuLmFkU2xvdHMpcmV0dXJuITE7Zm9yKGxldCBXIG9mIG4uYWRQbGFjZW1lbnRzfHxbXSl7aWYoIVcpY29udGludWU7bGV0IEQ9Vy5hZFBsYWNlbWVudFJlbmRlcmVyO2lmKEQhPW51bGwmJihELmNvbmZpZyYmRC5jb25maWcuYWRQbGFjZW1lbnRDb25maWcmJkQuY29uZmlnLmFkUGxhY2VtZW50Q29uZmlnLmtpbmQpPT09IkFEX1BMQUNFTUVOVF9LSU5EX1NUQVJUIilyZXR1cm4hMH1mb3IobGV0IFcgb2Ygbi5hZFNsb3RzfHxbXSlpZihnLncoVyxnLlhHKT8uYWRTbG90TWV0YWRhdGE/LnRyaWdnZXJFdmVudD09PSJTTE9UX1RSSUdHRVJfRVZFTlRfQkVGT1JFX0NPTlRFTlQiKXJldHVybiEwO3JldHVybiExfTsKbm4xPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Vz9XLmlzVHJ1c3RlZD09PSEwP0QucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRCIpOlcuaXNUcnVzdGVkPT09ITE/RC5wdXNoKCJCSVNDT1RUSV9CQVNFRF9ERVRFQ1RJT05fU1RBVEVfQVNfU0VFS19FVkVOVF9OT1RfVFJVU1RFRCIpOkQucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRF9QUk9QRVJUWV9VTkRFRklORUQiKTpELnB1c2goIkJJU0NPVFRJX0JBU0VEX0RFVEVDVElPTl9TVEFURV9BU19TRUVLX0VWRU5UX1VOREVGSU5FRCIpO2cuR0MoMCwiYS5zXyIse21ldGFkYXRhOm4sc3RhdGVzOkR9KTtnLlNIKCJBU0RTVEFUIiwwKX07CmcuR0M9ZnVuY3Rpb24obixXLEQpe1c9V0RDW1ddO3ZhciBiPXtkZXRlY3RlZDpuPT09MCxzb3VyY2U6YCR7Vy5KfSR7RC50cmlnZ2VyQ29udGV4dD8/IiJ9JHtELk0zPz8iIn1gLGRldGVjdGlvblN0YXRlczpELnN0YXRlcyxkdXJhdGlvbk1zOkQuRXd9O0QubWV0YWRhdGEmJihiLmNvbnRlbnRDcG49RC5tZXRhZGF0YS5jb250ZW50Q3BuLGIuYWRDcG49RC5tZXRhZGF0YS5hZENwbik7Zy56VSgiYmlzY290dGlCYXNlZERldGVjdGlvbiIsYik7Vy5OIT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpLFcuTiE9PXZvaWQgMD8oVz1XLk4sbj1SYVMobiksbj1EJn4oMzw8Vyl8bjw8Vyk6bj1ELGcuU0goIkNBVFNUQVQiLG4pKX07CnRYPWZ1bmN0aW9uKG4sVyl7bj1uLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKWlmKG5bRF0uc2NvcGU9PT1XKXJldHVybiBuW0RdLnRva2VufHx2b2lkIDB9OwpnLk40PWZ1bmN0aW9uKG4pe3ZhciBXPWcudyhuLCR6KTtpZihXKXJldHVybiBXO2lmKChXPWcudyhuLERZcikpJiZXLmNvbW1hbmRzKXJldHVybiByTShXLmNvbW1hbmRzKTtpZigoVz1nLncobixiOGIpKSYmVy5jb21tYW5kcylyZXR1cm4gck0oVy5jb21tYW5kcyk7aWYoKG49Zy53KG4sdm5NKSkmJm4uaWRlbnRpZmllciYmbi5jb21tYW5kJiYoczN8fChzMz1bXSksIXMzLmluY2x1ZGVzKG4uaWRlbnRpZmllcikpKXJldHVybiBzMy5wdXNoKG4uaWRlbnRpZmllciksZy53KG4uY29tbWFuZCwkeil9OwpyTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aCE9PTApe3ZhciBXPVtdO2ZvcihsZXQgRCBvZiBuKShuPWcuTjQoRCkpJiZXLnB1c2gobik7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOld9fX19OwpwaT1mdW5jdGlvbihuKXtpZihuJiZuLnNpbXBsZVRleHQpcmV0dXJuIG4uc2ltcGxlVGV4dDt2YXIgVz0iIjtpZihuJiZuLnJ1bnMpZm9yKGxldCBEPTA7RDxuLnJ1bnMubGVuZ3RoO0QrKyluLnJ1bnNbRF0udGV4dCYmKFcrPW4ucnVuc1tEXS50ZXh0KTtyZXR1cm4gV307Cll6PWZ1bmN0aW9uKG4pe3JldHVybiBuP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChXKXtnLlhqKFcpfX06bn07CmZpPWZ1bmN0aW9uKCl7SCQuaW5zdGFuY2V8fChIJC5pbnN0YW5jZT1uZXcgSCQpO3JldHVybiBIJC5pbnN0YW5jZX07CklmPWZ1bmN0aW9uKCl7SlguaW5zdGFuY2V8fChKWC5pbnN0YW5jZT1uZXcgSlgpO3JldHVybiBKWC5pbnN0YW5jZX07Cm1VPWZ1bmN0aW9uKG4sVyxELGI9e30pe1BWKCgpPT57a3ZNLmluY2x1ZGVzKFcpfHwoZy5HcShuZXcgZy5ReCgiY3JlYXRlQ2xpZW50U2NyZWVuKCkgY2FsbGVkIHdpdGggYSBub24tcGFnZSBWRSIsVykpLFc9ODM3NjkpO2lmKCFiLmlzSGlzdG9yeU5hdmlnYXRpb24pe2xldCB2PWIubGF5ZXJ8fDA7bi5UQy5zZXQodixbXSk7UzIobix2KS5wdXNoKHtyb290VmU6VyxrZXk6Yi5rZXl8fCIifSl9bi5EPVtdO24uTz1bXTtiLlVBP2hqdChuLFcsRCxiKTpBWChuLFcsRCxiKX0pKCl9OwpTMj1mdW5jdGlvbihuLFcpe24uSy5oYXMoVyl8fG4uSy5zZXQoVyxbXSk7cmV0dXJuIG4uSy5nZXQoVyl9OwpoanQ9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5OLmFkZChiLmxheWVyfHwwKTtuLmo9KCk9PntBWChuLFcsRCxiKTt2YXIgdj13NChiLmxheWVyKTtpZih2KXtsZXQgaz1nLlJ2KGIubGF5ZXIpO2ZvcihsZXQgaCBvZiBuLkQpe2xldCB4PWhbMF0sTD1oWzFdfHx2O2s/S2kobix4LEwsYi5sYXllcixrKTpPMyhuLHgsTCxiLmxheWVyKX1mb3IobGV0IGggb2Ygbi5PKVAkKG4saFswXSxoWzFdKX19OwpEfHxnLlJ2KGIubGF5ZXIpfHxuLmooKTtpZihiLlVBKWZvcihsZXQgdiBvZiBiLlVBKXhZYihuLHYsYi5sYXllcik7ZWxzZSBnLlhqKEVycm9yKCJEZWxheWVkIHNjcmVlbiBuZWVkcyBhIGRhdGEgcHJvbWlzZS4iKSl9OwpBWD1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj12b2lkIDA7Yi5sYXllcnx8KGIubGF5ZXI9MCk7dj1iLnBhcmVudExheWVyIT09dm9pZCAwP2IucGFyZW50TGF5ZXI6Yi5sYXllcjt2YXIgaz1nLlJ2KHYpO3Y9dzQodik7dmFyIGg9RHx8dix4O2gmJihiLnBhcmVudENzbiE9PXZvaWQgMD94PXtjbGllbnRTY3JlZW5Ob25jZTpiLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmsmJmshPT0iVU5ERUZJTkVEX0NTTiImJih4PXtjbGllbnRTY3JlZW5Ob25jZTprLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgTCxlPWcuQXIoIkVWRU5UX0lEIik7az09PSJVTkRFRklORURfQ1NOIiYmZSYmKEw9e3NlcnZsZXREYXRhOntzZXJpYWxpemVkU2VydmxldEV2ZW50SWQ6ZX19KTtnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikmJmsmJlpxKG4sayk7Zy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZrJiZkSyhoLGspO3RyeXt2YXIgRz1nOWkobi5jbGllbnQsVyx4LGIuTDgsCmIuY3R0QXV0aEluZm8sTCxiLmltcGxpY2l0R2VzdHVyZVR5cGUsYi5sb2dnaW5nRXhwZWN0YXRpb25zLGIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKE4pe0s0KE4se2w3Olcscm9vdFZlOnYsSTc6RCxsQTprLGdQOngsTDg6Yi5MOH0pO2cuWGooTik7cmV0dXJufWNzKEcsVyxiLmxheWVyLGIuY3R0QXV0aEluZm8pO2smJmshPT0iVU5ERUZJTkVEX0NTTiImJnYmJiF3SEMoaykmJihUcShuLmNsaWVudCxrLHYsITApLG4uSi5kZWxldGUoaykpO1c9UzIobixiLmxheWVyfHwwKTtXLmxlbmd0aD4wJiYhV1tXLmxlbmd0aC0xXS5jc24mJihXW1cubGVuZ3RoLTFdLmNzbj1HfHwiIik7Zy5ubCh7Y2xpZW50U2NyZWVuTm9uY2U6R30pO1UzLmluc3RhbmNlfHwoVTMuaW5zdGFuY2U9bmV3IFUzKTtQVihmaSgpLk4pLmJpbmQoZmkoKSkoKTt2YXIgcj13NChiLmxheWVyKTtrJiZrIT09IlVOREVGSU5FRF9DU04iJiZyJiZnLmwoIm11c2ljX3dlYl9tYXJrX3Jvb3RfdmlzaWJsZSIpJiYKRmooRyxyKTtuLk4uZGVsZXRlKGIubGF5ZXJ8fDApO24uaj12b2lkIDA7bi5TJC5nZXQoYi5sYXllcik/LmZvckVhY2goKE4sSCk9PntOP08zKG4sSCxOLGIubGF5ZXIpOnImJk8zKG4sSCxyLGIubGF5ZXIpfSk7CkxEWihuKX07CnhZYj1mdW5jdGlvbihuLFcsRD0wKXtQVigoKT0+e1cudGhlbihiPT57bi5OLmhhcyhEKSYmbi5qJiZuLmooKTt2YXIgdj1nLlJ2KEQpLGs9dzQoRCk7aWYodiYmayl7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2I/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpO2I/LnBsYXllclJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07CktpPWZ1bmN0aW9uKG4sVyxELGI9MCx2KXtuLkouaGFzKHYpfHxuLkouc2V0KHYsbmV3IFNldCk7dmFyIGs9RHx8dzQoYik7az1gJHtXLnRvU3RyaW5nKCl9fCR7az9rLnRvU3RyaW5nKCk6IiJ9YDtuLkouZ2V0KHYpLmhhcyhrKXx8KE8zKG4sVyxELGIpLG4uSi5nZXQodikuYWRkKGspKX07Ck8zPWZ1bmN0aW9uKG4sVyxELGI9MCl7cmV0dXJuIFBWKCgpPT57aWYobi5OLmhhcyhiKSlyZXR1cm4gbi5ELnB1c2goW1csRF0pLCEwO3ZhciB2PWcuUnYoYiksaz1EfHx3NChiKTtpZih2JiZrKXtpZihnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikpe2xldCBoPW4uWC5nZXQoay50b1N0cmluZygpKTtoP2gucHVzaChXKToobi5ZLnNldChrLnRvU3RyaW5nKCksayksbi5YLnNldChrLnRvU3RyaW5nKCksW1ddKSk7bi50d3x8KG4udHc9Zy5jQigwLCgpPT57WnEobix2KX0sMTIwMCkpfWVsc2UgdWcobi5jbGllbnQsdixrLFcpOwpyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpnLnlyPWZ1bmN0aW9uKG4pe3ZhciBXPUlmKCk7UFYoKCk9Pnt2YXIgRD1UVShuKSxiPWcuUnYoMCk7YiYmIVcuTi5oYXMoMCk/S2koVyxELHZvaWQgMCwwLGIpOk8zKFcsRCx2b2lkIDAsMCk7cmV0dXJuIER9KSgpfTsKZWp3PWZ1bmN0aW9uKG4pe3ZhciBXPXt2ZVR5cGU6MjUzMjQ2fTtyZXR1cm4gUFYoKCk9PntpZighVy52ZVR5cGUpcmV0dXJuIGcucWcobmV3IGcuUXgoIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihXLnZpc2liaWxpdHlUeXBlcyl7dmFyIEQ9Vy52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChiLHYpPT5ifHYpOwpEPXt2aXNpYmlsaXR5Ont0eXBlczpTdHJpbmcoRCl9fX1EPWp5KFcudmVUeXBlLFcudmlzdWFsRWxlbWVudCxXLmVsZW1lbnRJbmRleCxXLmNsaWVudFlvdVR1YmVEYXRhLHZvaWQgMCxEKTtyZXR1cm4gTzMobixEKT9EOm51bGx9KSgpfTsKWnE9ZnVuY3Rpb24obixXKXtpZihXPT09dm9pZCAwKXtsZXQgRD1CZ3IoKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKylEW2JdIT09dm9pZCAwJiZacShuLERbYl0pfWVsc2Ugbi5YLmZvckVhY2goKEQsYik9PnsoYj1uLlkuZ2V0KGIpKSYmaWcobi5jbGllbnQsVyxiLEQpfSksbi5YLmNsZWFyKCksbi5ZLmNsZWFyKCksbi50dz12b2lkIDB9Owpnblo9ZnVuY3Rpb24obixXLEQsYj0wKXtpZighVylyZXR1cm4hMTtiPWcuUnYoYik7aWYoIWIpcmV0dXJuITE7amkobi5jbGllbnQsYixUVShXKSxEKTtyZXR1cm4hMH07ClAkPWZ1bmN0aW9uKG4sVyxELGI9MCl7dmFyIHY9Zy5SdihiKTtXPVd8fHc0KGIpO3YmJlcmJihuPW4uY2xpZW50LGI9UGEoe2N0dEF1dGhJbmZvOlE0KHYpfHx2b2lkIDB9LHYpLEQ9e2Nzbjp2LHZlOlcuZ2V0QXNKc29uKCksY2xpZW50RGF0YTpEfSx2PT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixELGIpKX07CkxEWj1mdW5jdGlvbihuKXtmb3IodmFyIFc9MDtXPG4uVi5sZW5ndGg7VysrKXt2YXIgRD1uLlZbV107dHJ5e0QoKX1jYXRjaChiKXtnLlhqKGIpfX1uLlYubGVuZ3RoPTA7Zm9yKFc9MDtXPG4uY0oubGVuZ3RoO1crKyl7RD1uLmNKW1ddO3RyeXtEKCl9Y2F0Y2goYil7Zy5YaihiKX19fTsKaVo9ZnVuY3Rpb24oKXtFMy5pbnN0YW5jZXx8KEUzLmluc3RhbmNlPW5ldyBFMyk7cmV0dXJuIEUzLmluc3RhbmNlfTsKWE9iPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgWE1MSHR0cFJlcXVlc3Q7RD8ubGcmJihiLm9ucmVhZHlzdGF0ZWNoYW5nZT12PT57RC5sZyhiLHYpfSk7CmIub3BlbihXLm1ldGhvZD8/IkdFVCIsbiwhMCk7Yi5yZXNwb25zZVR5cGU9InRleHQiO2Iud2l0aENyZWRlbnRpYWxzPSEwO2lmKFcuaGVhZGVycylmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMoVy5oZWFkZXJzKSliLnNldFJlcXVlc3RIZWFkZXIodixrKTtyZXR1cm4gYn07CnFmUz1mdW5jdGlvbigpe3ZhciBuPW5hdmlnYXRvcjtyZXR1cm4gbmV3IFByb21pc2UoKFcsRCk9PntuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YT9uLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2UucXVlcnlVc2FnZUFuZFF1b3RhKChiLHYpPT57Vyh7dXNhZ2U6YixxdW90YTp2fSl9LGI9PntEKGIpfSk6RChFcnJvcigid2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkLiIpKX0pfTsKdDZDPWZ1bmN0aW9uKG4sVyl7R3ZVKG4ucHJvZ3JhbSxXLkQzKSYmKGcuZ18oImJnX2kiLHZvaWQgMCwicGxheWVyX2F0dCIpLGcudVouaW5pdGlhbGl6ZShuLCgpPT57Zy5nXygiYmdfbCIsdm9pZCAwLCJwbGF5ZXJfYXR0Iik7b2Y9KDAsZy5SKSgpfSxXLmNzcE5vbmNlLFcuRGEpKX07CnZhciAkWWo9ZnVuY3Rpb24oKXtyZXR1cm4gSjRbSVsxMF1dKHRoaXMsMTYsNDYyNil9OwpyOVM9ZnVuY3Rpb24obj17fSl7cmV0dXJuIGcudVouaW52b2tlKG4pfTsKR3ZVPWZ1bmN0aW9uKG4sVyl7aWYobil7dmFyIEQ7Zy51Wi5pc0xvYWRpbmcoKT9EPSExOkQ9IW9mfHwoMCxnLlIpKCktb2Y+VztuPUR9ZWxzZSBuPSExO3JldHVybiBufTsKc18yPWZ1bmN0aW9uKG4sVyl7aWYoVy5wYXJ0bmVySWQ9PT0zOCYmbi5wbGF5ZXJTdHlsZT09PSJib29rcyIpe3ZhciBEPVcudmlkZW9JZC5pbmRleE9mKCI6Iik7bj1XLnZpZGVvSWQuc2xpY2UoMCxEKTtEPVcudmlkZW9JZC5zbGljZShEKzEpO3JldHVybiBnLkVUKGAvL3BsYXkuZ29vZ2xlLmNvbS9ib29rcy92b2x1bWVzLyR7bn0vY29udGVudC9tZWRpYWAse2FpZDpELHNpZzpXLnlkfSl9aWYoVy5wYXJ0bmVySWQ9PT0zMCYmbi5wbGF5ZXJTdHlsZT09PSJkb2NzIilyZXR1cm4gZy5FVCgiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZ2V0X3ZpZGVvX2luZm8iLHtkb2NpZDpXLnZpZGVvSWQsYXV0aHVzZXI6Vy5rcCxhdXRoa2V5OlcudkYsZXVybDpuLlFyfSk7aWYoVy5wYXJ0bmVySWQ9PT0zMyYmbi5wbGF5ZXJTdHlsZT09PSJnb29nbGUtbGl2ZSIpcmV0dXJuIGcuRVQoIi8vZ29vZ2xlLWxpdmVwbGF5ZXIuYXBwc3BvdC5jb20vZ2V0X3ZpZGVvX2luZm8iLHtrZXk6Vy52aWRlb0lkfSk7CnRocm93IEVycm9yKCJnZXRWaWRlb0luZm9VcmwgZm9yIGludmFsaWQgbmFtZXNwYWNlOiAiK24uVik7fTsKTlFpPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O24uY0wmJihXLnl0cmV4dD1uLmNMKTtyZXR1cm4gZy5HRihXKT92b2lkIDA6V307CmcuekM9ZnVuY3Rpb24obixXKXt0NkMobix7RDM6Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIiksY3NwTm9uY2U6Vy5jc3BOb25jZSxEYTpXLkRhfHwiIn0pfTsKZy5sWj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YSYmbi52aWRlb0RhdGEucEspe2xldCBXPVtuLnZpZGVvRGF0YS5wS107Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uTikpaWYobi5SUltEXSYmbi5OW0RdKXtsZXQgYj1uLk5bRF0obi5SUik7YiYmVy5wdXNoKGIpfXJldHVybiBXLmpvaW4oIiYiKX1yZXR1cm4gbnVsbH07CmcuVEM9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobilmb3IobGV0IFtiLHZdb2YgT2JqZWN0LmVudHJpZXMobikpe249Yjt2YXIgRD12O2lmKEQ9PT12b2lkIDApY29udGludWU7RD10eXBlb2YgRD09PSJib29sZWFuIj9gJHsrRH1gOmAke0R9YC5yZXBsYWNlKC9bOiw9XS9nLCJfIik7Vy5wdXNoKGAke259LiR7RH1gKX1yZXR1cm4gVy5qb2luKCI7Iil9OwpqMj1mdW5jdGlvbihuKXtyZXR1cm4gbj09PTF8fG49PT0yfTsKQiQ9ZnVuY3Rpb24obixXPTApe2lmKG4gaW5zdGFuY2VvZiBnLkNpKXJldHVybiBuO249biYmbiBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYCR7bn1gKTtqMihXKT9nLlhqKG4pOmcuR3Eobik7cmV0dXJuIG5ldyBnLkNpKFc9PT0xPyJwbGF5ZXIuZmF0YWxleGNlcHRpb24iOiJwbGF5ZXIuZXhjZXB0aW9uIix7bmFtZTpgJHtuLm5hbWV9YCxtZXNzYWdlOmAke24ubWVzc2FnZX1gfSxXKX07Ckg4cj1mdW5jdGlvbihuLFcpe1FBKG4sMixXLkNuLEZHLDMpO1FBKG4sMyxXLmlubmVydHViZVJlcXVlc3QscE9pLDMpO2cuRmEobiw0LFcub25lc2llVXN0cmVhbWVyQ29uZmlnKTtnLkZhKG4sOSxXLkJ4KTtRQShuLDEwLFcubUgsd00sMyk7UUEobiwxNSxXLnJlbG9hZFBsYXliYWNrUGFyYW1zLFlmaSwzKTtnLlJ3KG4sMTgsVy5Vayl9OwpRcj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLmZvcm1hdElkLE00LDMpO0NSKG4sMixXLnN0YXJ0VGltZU1zKTtDUihuLDMsVy5kdXJhdGlvbk1zKTtDUihuLDQsVy5BQyk7Q1Iobiw1LFcuaTkpO1FBKG4sOSxXLmo2LGY4QywzKTtRQShuLDExLFcuQUYsUmYsMSk7UUEobiwxMixXLkVqLFJmLDEpfTsKSjliPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy52aWRlb0lkKTtDUihuLDIsVy5sbXQpfTsKZjhDPWZ1bmN0aW9uKG4sVyl7aWYoVy5Geilmb3IobGV0IEQ9MDtEPFcuRnoubGVuZ3RoO0QrKylRQShuLDEsVy5GeltEXSxKOWIsMyl9OwpNND1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLml0YWcpO0NSKG4sMixXLmxtdCk7Zy5SdyhuLDMsVy54dGFncyl9OwpWcj1mdW5jdGlvbihuKXtyZXR1cm57aXRhZzpQRyhuLDEpLGxtdDpQRyhuLDIpLHh0YWdzOkV4KG4sMyl9fTsKUmY9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5zdGFydFRpY2tzKTtDUihuLDIsVy5sOCk7Q1IobiwzLFcudGltZXNjYWxlKX07CmMkPWZ1bmN0aW9uKG4pe3JldHVybntzdGFydFRpY2tzOlBHKG4sMSksbDg6UEcobiwyKSx0aW1lc2NhbGU6UEcobiwzKX19OwpJOGo9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5kZWZhdWx0UG9saWN5KTtDUihuLDIsVy5zbW9vdGgpO0NSKG4sMyxXLnZpc2liaWxpdHkpO0NSKG4sNCxXLk9iKTtDUihuLDUsVy5wZXJmb3JtYW5jZSk7Q1Iobiw2LFcuc3BlZWQpfTsKQTlTPWZ1bmN0aW9uKG4sVyl7aWYoVy5hdXRob3JpemVkRm9ybWF0cylmb3IobGV0IEQ9MDtEPFcuYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoO0QrKylRQShuLDEsVy5hdXRob3JpemVkRm9ybWF0c1tEXSxTZmosMSk7Zy5GYShuLDIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpfTsKU2ZqPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudHJhY2tUeXBlKTtCRyhuLDIsVy5pc0hkcil9OwpGRz1mdW5jdGlvbihuLFcpe0NSKG4sMTMsVy50aW1lU2luY2VMYXN0TWFudWFsRm9ybWF0U2VsZWN0aW9uTXMpO3ZhciBEPVcubGFzdE1hbnVhbERpcmVjdGlvbjtEIT09dm9pZCAwJiYoajUobiwxMTIpLGo1KG4sRDw8MV5EPj4zMSkpO0NSKG4sMTYsVy5pSCk7Q1IobiwxNyxXLmRldGFpbGVkTmV0d29ya1R5cGUpO0NSKG4sMTgsVy5zQSk7Q1IobiwxOSxXLllBKTtDUihuLDIxLFcuVE4pO0NSKG4sMjMsVy5JJCk7Q1IobiwyOCxXLm5SKTtDUihuLDI5LFcubHEpO0NSKG4sMzQsVy52aXNpYmlsaXR5KTtEPVcucGxheWJhY2tSYXRlO2lmKEQhPT12b2lkIDApe3ZhciBiPW5ldyBBcnJheUJ1ZmZlcig0KTsobmV3IEZsb2F0MzJBcnJheShiKSlbMF09RDtEPShuZXcgVWludDMyQXJyYXkoYikpWzBdO2lmKEQhPT12b2lkIDApZm9yKGo1KG4sMjg1KSxUNihuLDQpLGI9MDtiPDQ7KW4udmlldy5zZXRVaW50OChuLnBvcyxEJjI1NSksRD4+PTgsbi5wb3MrPTEsYis9MX1DUihuLDM2LFcuZnEpOwpRQShuLDM4LFcubWVkaWFDYXBhYmlsaXRpZXMsbVl3LDMpO0NSKG4sMzksVy5aSSk7Q1Iobiw0MCxXLllmKTtDUihuLDQ0LFcucGxheWVyU3RhdGUpO0JHKG4sNDYsVy5FYik7Q1Iobiw0OCxXLmo0KTtDUihuLDUwLFcua0UpO0NSKG4sNTEsVy5VbSk7Q1Iobiw1NCxXLkc3KTtpZihXLnlLKWZvcihEPTA7RDxXLnlLLmxlbmd0aDtEKyspQ1Iobiw1NSxXLnlLW0RdKTtCRyhuLDU2LFcuWkMpO0NSKG4sNTcsVy5YRCk7Qkcobiw1OCxXLmJ2KTtDUihuLDU5LFcublMpO0NSKG4sNjAsVy5HRik7Qkcobiw2MSxXLmlzUHJlZmV0Y2gpO0NSKG4sNjIsVy5TZik7Zy5GYShuLDYzLFcuc2FickxpY2Vuc2VDb25zdHJhaW50KTtDUihuLDY0LFcuazgpO0NSKG4sNjYsVy5WWCk7Q1Iobiw2NyxXLkJaKTtDUihuLDY4LFcucDYpO2cuUncobiw2OSxXLmF1ZGlvVHJhY2tJZCk7Qkcobiw3MSxXLnIwKTtRQShuLDcyLFcuTk8sSThqLDEpO0NSKG4sNzMsVy5pQik7Q1Iobiw3NCxXLllzKTtDUihuLDc1LFcuZXEpOwpDUihuLDc2LFcucU0pO1FBKG4sNzksVy5rYyxBOVMsMyk7Q1Iobiw4MCxXLkokKTtCRyhuLDg1LFcudXEpfTsKbVl3PWZ1bmN0aW9uKG4sVyl7aWYoVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllcylmb3IodmFyIEQ9MDtEPFcudmlkZW9Gb3JtYXRDYXBhYmlsaXRpZXMubGVuZ3RoO0QrKylRQShuLDEsVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllc1tEXSxLRDEsMSk7aWYoVy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcylmb3IoRD0wO0Q8Vy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcy5sZW5ndGg7RCsrKVFBKG4sMixXLmF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzW0RdLE84TSwxKTtRQShuLDQsVy5wZXJQbGF5YmFja0F0dHJpYnV0ZXMsUDZTLDMpO0NSKG4sNSxXLmhkck1vZGVCaXRtYXNrKX07CnZhciBaODE9ZnVuY3Rpb24oKXtyZXR1cm4gZzdbSVsxMF1dKHRoaXMsNDEsODk3NSl9Owp2YXIgS0QxPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudmlkZW9Db2RlYyk7QkcobiwyLFcuZWZmaWNpZW50KTtDUihuLDMsVy5tYXhIZWlnaHQpO0NSKG4sNCxXLm1heFdpZHRoKTtDUihuLDExLFcubWF4RnJhbWVyYXRlKTtDUihuLDEyLFcubWF4Qml0cmF0ZUJwcyk7QkcobiwxNSxXLmlzMTBCaXRTdXBwb3J0ZWQpfSxPOE09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5hdWRpb0NvZGVjKTsKQ1IobiwyLFcubnVtQ2hhbm5lbHMpO0NSKG4sMyxXLm1heEJpdHJhdGVCcHMpO0NSKG4sNixXLnNwYXRpYWxDYXBhYmlsaXR5Qml0bWFzayl9Owp2YXIgVVloPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDUxLDIyNDksbixXKX07ClA2Uz1mdW5jdGlvbihuLFcpe2lmKFcuaXRhZ0RlbnlsaXN0KWZvcihsZXQgRD0wO0Q8Vy5pdGFnRGVueWxpc3QubGVuZ3RoO0QrKylDUihuLDEsVy5pdGFnRGVueWxpc3RbRF0pfTsKd009ZnVuY3Rpb24obixXKXtRQShuLDEsVy5jbGllbnRJbmZvLHk5dCwzKTtnLkZhKG4sMixXLmROKTtnLkZhKG4sMyxXLnBsYXliYWNrQ29va2llKTtnLkZhKG4sNCxXLkJ4KTtpZihXLnJxKWZvcih2YXIgRD0wO0Q8Vy5ycS5sZW5ndGg7RCsrKVFBKG4sNSxXLnJxW0RdLEVuMiwzKTtpZihXLnV0KWZvcihEPTA7RDxXLnV0Lmxlbmd0aDtEKyspQ1Iobiw2LFcudXRbRF0pO2cuUncobiw3LFcucEcpO1FBKG4sOCxXLnEkLGk4VSwzKX07CnVmTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLlN6KTtDUihuLDIsVy5SNyl9OwpvbnI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmNvZGU7RCE9PXZvaWQgMCYmKGo1KG4sOCksajUobixEPDwxXkQ+PjMxKSk7Zy5SdyhuLDIsVy5tZXNzYWdlKX07CmRZTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmNsaWVudFN0YXRlKTtRQShuLDIsVy5adSx1Zk0sMSl9OwppOFU9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLll0KTtRQShuLDIsVy5TaixvbnIsMyk7UUEobiwzLFcuY29sZFN0YXJ0SW5mbyxkWU0sMyl9OwpFbjI9ZnVuY3Rpb24obixXKXtDUihuLDEsVy50eXBlKTtnLkZhKG4sMixXLnZhbHVlKX07Cnk5dD1mdW5jdGlvbihuLFcpe2cuUncobiwxLFcuaGwpO2cuUncobiwxMixXLmRldmljZU1ha2UpO2cuUncobiwxMyxXLmRldmljZU1vZGVsKTtDUihuLDE2LFcuY2xpZW50TmFtZSk7Zy5SdyhuLDE3LFcuY2xpZW50VmVyc2lvbik7Zy5SdyhuLDE4LFcub3NOYW1lKTtnLlJ3KG4sMTksVy5vc1ZlcnNpb24pfTsKemoxPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5uYW1lKTtnLlJ3KG4sMixXLnZhbHVlKX07CmFmPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy51cmwpO2lmKFcuZTMpZm9yKGxldCBEPTA7RDxXLmUzLmxlbmd0aDtEKyspUUEobiwyLFcuZTNbRF0semoxLDMpO2cuRmEobiwzLFcucG9zdEJvZHkpO0JHKG4sNCxXLkVhKTtCRyhuLDYsVy5lOCl9OwpwT2k9ZnVuY3Rpb24obixXKXtnLkZhKG4sMixXLnZVKTtnLkZhKG4sNSxXLmVuY3J5cHRlZENsaWVudEtleSk7Zy5GYShuLDYsVy5pdik7Zy5GYShuLDcsVy5kZik7QkcobiwxMCxXLm13KTtCRyhuLDEzLFcuRkQpO0JHKG4sMTQsVy5EWSk7Zy5GYShuLDE2LFcud1MpO0JHKG4sMTcsVy55Sil9OwpsOHQ9ZnVuY3Rpb24obil7cmV0dXJue1dzOlBHKG4sMSksaHR0cFN0YXR1czpQRyhuLDIpLGJvZHk6eUEobiw0KX19OwpZZmk9ZnVuY3Rpb24obixXKXtnLlJ3KG4sMSxXLnRva2VuKX07ClRRTT1mdW5jdGlvbihuKXtyZXR1cm57dG9rZW46RXgobiwxKX19OwpqX1U9ZnVuY3Rpb24obil7Zm9yKHZhciBXPVtdLEQ7RD1FeChuLDEpOylXLnB1c2goRCk7cmV0dXJue3VybDpXLmxlbmd0aD9XOnZvaWQgMH19OwpuNz1mdW5jdGlvbihuKXtyZXR1cm57QWg6UEcobiwxKSx2eTpQRyhuLDIpfX07CkZEYj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2lmKFcuY0UpZm9yKHZhciBEPTA7RDxXLmNFLmxlbmd0aDtEKyspUUEobiwyLFcuY0VbRF0sTTQsMyk7aWYoVy5lVylmb3IoRD0wO0Q8Vy5lVy5sZW5ndGg7RCsrKVFBKG4sMyxXLmVXW0RdLFFyLDMpO2cuRmEobiw1LFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7aWYoVy5CaSlmb3IoRD0wO0Q8Vy5CaS5sZW5ndGg7RCsrKVFBKG4sNixXLkJpW0RdLEM2VSwzKTtpZihXLkdoKWZvcihEPTA7RDxXLkdoLmxlbmd0aDtEKyspUUEobiwxNixXLkdoW0RdLE00LDMpO2lmKFcuTSQpZm9yKEQ9MDtEPFcuTSQubGVuZ3RoO0QrKylRQShuLDE3LFcuTSRbRF0sTTQsMyk7aWYoVy5Fdilmb3IoRD0wO0Q8Vy5Fdi5sZW5ndGg7RCsrKVFBKG4sMTgsVy5FdltEXSxNNCwzKTtRQShuLDE5LFcubUgsd00sMyk7UUEobiwyMSxXLk15LFduLDMpO0NSKG4sMjIsVy51TSk7Q1IobiwyMyxXLnJHKTtpZihXLmJLKWZvcihEPTA7RDxXLmJLLmxlbmd0aDtEKyspUUEobiwKMjQsVy5iS1tEXSxXbiwzKTtnLkZhKG4sMjUsVy5kUyk7aWYoVy5qcilmb3IoRD0wO0Q8Vy5qci5sZW5ndGg7RCsrKVFBKG4sMUUzLFcuanJbRF0sQlF3LDMpfTsKQzZVPWZ1bmN0aW9uKG4sVyl7UUEobiwxLFcuZm9ybWF0SWQsTTQsMyk7Q1IobiwyLFcudkQpO0NSKG4sMyxXLnNlcXVlbmNlTnVtYmVyKTtRQShuLDQsVy5oeCxSZiwxKTtDUihuLDUsVy5TMCk7Q1Iobiw2LFcudTMpfTsKV249ZnVuY3Rpb24obixXKXtpZihXLmFEKWZvcihsZXQgRD0wO0Q8Vy5hRC5sZW5ndGg7RCsrKWcuUncobiwxLFcuYURbRF0pO2cuRmEobiwyLFcuYWRzQ29uZmlnKTtnLlJ3KG4sMyxXLkJmKTtDUihuLDQsVy5ESik7Q1Iobiw1LFcub3YpO2cuUncobiw2LFcuZDMpO2cuUncobiw3LFcuY3VlcG9pbnRJZCk7Q1Iobiw4LFcuczEpO2cuUncobiw5LFcudGlsZUNvbnRleHQpO0NSKG4sMTAsVy5zdGFydFRpbWVNcyk7Q1IobiwxMSxXLmR1cmF0aW9uTXMpfTsKQlF3PWZ1bmN0aW9uKG4sVyl7aWYoVy5jRSlmb3IodmFyIEQ9MDtEPFcuY0UubGVuZ3RoO0QrKylRQShuLDEsVy5jRVtEXSxNNCwzKTtpZihXLmVXKWZvcihEPTA7RDxXLmVXLmxlbmd0aDtEKyspUUEobiwyLFcuZVdbRF0sUXIsMyk7Zy5SdyhuLDMsVy5jbGlwSWQpfTsKZy5EVT1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2cuRmEobiwzLFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7UUEobiw1LFcubUgsd00sMyk7UUEobiw2LFcuTXksV24sMyl9Owp3T1o9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKX19OwpSalU9ZnVuY3Rpb24obixXKXtpZihXLk8zKWZvcihsZXQgRD0wO0Q8Vy5PMy5sZW5ndGg7RCsrKVFBKG4sMSxXLk8zW0RdLE02VSwzKX07ClFfMT1mdW5jdGlvbihuLFcpe1FBKG4sMTA0NyxXLmJMLFJqVSwzKX07Ck02VT1mdW5jdGlvbihuLFcpe2lmKFcualYpZm9yKHZhciBEPTA7RDxXLmpWLmxlbmd0aDtEKyspZy5GYShuLDEsVy5qVltEXSk7aWYoVy5yWClmb3IoRD0wO0Q8Vy5yWC5sZW5ndGg7RCsrKWcuRmEobiwyLFcuclhbRF0pfTsKbnl3PWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5jcG4pO0NSKG4sMixXLnNlcXVlbmNlTnVtYmVyKTtnLlJ3KG4sMyxXLnNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQpO2lmKFcuZGVjb2RlckluZm8pZm9yKHZhciBEPTA7RDxXLmRlY29kZXJJbmZvLmxlbmd0aDtEKyspUUEobiw2LFcuZGVjb2RlckluZm9bRF0sVjZyLDMpO2cuUncobiw5LFcucGxheWVyUmVzcG9uc2VDcG4pO0NSKG4sMTAsVy50cmFuc2l0aW9uU3RpdGNoVHlwZSk7Zy5SdyhuLDExLFcucW9lUGluZ1VybCk7Q1IobiwxMixXLnRpbWVzdGFtcE9mZnNldE1zZWNzKTtDUihuLDE1LFcucmVtb3RlQ29udHJvbE1vZGUpO2lmKFcucmVtb3RlQ29ubmVjdGVkRGV2aWNlcylmb3IoRD0wO0Q8Vy5yZW1vdGVDb25uZWN0ZWREZXZpY2VzLmxlbmd0aDtEKyspUUEobiwxNixXLnJlbW90ZUNvbm5lY3RlZERldmljZXNbRF0sYzlNLDMpO2cuRmEobiwxNyxXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0KTsKaWYoVy5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLmxlbmd0aDtEKyspZy5GYShuLDE5LFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhW0RdKTtpZihXLmRhaUN1ZVBvaW50RXZlbnRzKWZvcihEPTA7RDxXLmRhaUN1ZVBvaW50RXZlbnRzLmxlbmd0aDtEKyspUUEobiwyMCxXLmRhaUN1ZVBvaW50RXZlbnRzW0RdLGE4MiwzKTtpZihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YS5sZW5ndGg7RCsrKWcuRmEobiwyMSxXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGFbRF0pfTsKV0JqPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5pZGVudGlmaWVyKTtnLlJ3KG4sMixXLnRpbGVDb250ZXh0KX07Cmcudm49ZnVuY3Rpb24obil7dmFyIFc9e25zOm4uUmEsZWw6bi5ldmVudExhYmVsLGNwbjpuLmNsaWVudFBsYXliYWNrTm9uY2UsdmVyOjIsY210Om4uSihuLk4pLGZtdDpuLnZpZGVvRm9ybWF0LGZzOm4ualc/IjEiOiIwIixydDpuLkoobi53YSksYWRmb3JtYXQ6bi5hZEZvcm1hdCxjb250ZW50X3Y6bi5jb250ZW50VmlkZW9JZCxldXJpOm4uTWQsbGFjdDpuLk5kLGxpdmU6bi5UUSxjbDooOTUxNzc5MTA0KS50b1N0cmluZygpLG1vczpuLlJ0LHN0YXRlOm4ucGxheWVyU3RhdGUsdm9sdW1lOm4uZ1R9O24uc3Vic2NyaWJlZCYmKFcuc3Vic2NyaWJlZD0iMSIpO09iamVjdC5hc3NpZ24oVyxuLlkkKTtuLkQ9PT0iYWxsIj9PYmplY3QuYXNzaWduKFcsbi55RSk6bi5EPT09Im9uY2UiJiZuLlcmJk9iamVjdC5hc3NpZ24oVyxuLnlFKTtuLmF1dG9wbGF5JiYoVy5hdXRvcGxheT0iMSIpO24uTEImJihXLnNhdXRvcGxheT0iMSIpO24uQ3UmJihXLmRuaT0iMSIpOyFuLlgmJm4uSEomJihXLmVwbT0KRGMxW24uSEpdKTtuLmlzRmluYWwmJihXWyJmaW5hbCJdPSIxIik7bi5udSYmKFcuc3BsYXk9IjEiKTtuLm9EJiYoVy5kZWxheT1uLm9EKTtuLkR0JiYoVy5obD1uLkR0KTtuLnJlZ2lvbiYmKFcuY3I9bi5yZWdpb24pO24udXNlckdlbmRlckFnZSYmKFcudWdhPW4udXNlckdlbmRlckFnZSk7bi51c2VyQWdlIT09dm9pZCAwJiZuLkdDJiYoVy51Z2E9bi5HQytuLnVzZXJBZ2UpO24uZSQhPT12b2lkIDAmJihXLmxlbj1uLkoobi5lJCkpOyghbi5YfHxuLkJWKSYmbi5leHBlcmltZW50SWRzLmxlbmd0aD4wJiYoVy5mZXhwPW4uZXhwZXJpbWVudElkcy50b1N0cmluZygpKTtuLkshPT1udWxsJiYoVy5ydG49bi5KKG4uSykpO24uUzkmJihXLmZlYXR1cmU9bi5TOSk7bi5pNSYmKFcuY3RybD1uLmk1KTtuLlVLJiYoVy55dHI9bi5VSyk7bi52SiYmKFcuYWZtdD1uLnZKKTtuLm9mZmxpbmVEb3dubG9hZFVzZXJDaG9pY2UmJihXLk9EVUM9bi5vZmZsaW5lRG93bmxvYWRVc2VyQ2hvaWNlKTtuLlkmJgooVy5saW89bi5KKG4uWSkpO24uWD8oVy5pZHBqPW4uRTUsVy5sZHBqPW4uUXIsbi5kZWxheVRocmVzaG9sZE1ldCYmKFcuZHRtPSIxIiksbi5PIT1udWxsJiYoVy5ydGk9bi5KKG4uTykpLG4uRkwmJihXLmFsZD1uLkZMKSxuLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbiYmKFcuY2xpbz1uLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbikpOm4uYWRUeXBlIT09dm9pZCAwJiYoVy5hdD1uLmFkVHlwZSk7bi5mQiYmKG4uV3x8bi5YKSYmKFcuc2l6ZT1uLmZCKTtuLlcmJm4uVi5sZW5ndGgmJihXLnBic3R5bGU9bi5WLmpvaW4oIiwiKSk7bi5IRCE9bnVsbCYmKG4uV3x8bi5YKSYmKFcuaW52aWV3PW4uSihuLkhEKSk7bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4mJihXLmhiX2RhdGE9bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4pO24uWCYmKFcudm9sdW1lPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQudm9sdW1lKSksVy5zdD1iSihuLGcuaV8obi5zZWdtZW50cywKRD0+RC5zdGFydFRpbWUpKSxXLmV0PWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQuZW5kVGltZSkpLGcub00obi5zZWdtZW50cyxEPT5ELnBsYXliYWNrUmF0ZSE9PTEpJiYoVy5yYXRlPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQucGxheWJhY2tSYXRlKSkpLGcub00obi5zZWdtZW50cyxEPT5ELk4hPT0iLSIpJiYoVy5hbHM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuTikuam9pbigiLCIpKSxnLm9NKG4uc2VnbWVudHMsRD0+RC5wcmV2aW91c2x5RW5kZWQpJiYoVy5wZT1nLmlfKG4uc2VnbWVudHMsRD0+YCR7K0QucHJldmlvdXNseUVuZGVkfWApLmpvaW4oIiwiKSkpOwpXLm11dGVkPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQubXV0ZWQ/MTowKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELnZpc2liaWxpdHlTdGF0ZSE9PTApJiYoVy52aXM9YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC52aXNpYmlsaXR5U3RhdGUpKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELmNvbm5lY3Rpb25UeXBlIT09MCkmJihXLmNvbm49YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5jb25uZWN0aW9uVHlwZSkpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuVyE9PTApJiYoVy5ibG89YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5XKSkpOwpnLm9NKG4uc2VnbWVudHMsRD0+ISFELmopJiYoVy5ibG89Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuaikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW4pJiYoVy5jYnM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuY29tcG9zaXRlTGl2ZVN0YXR1c1Rva2VuKS5qb2luKCIsIikpOwpnLm9NKG4uc2VnbWVudHMsRD0+RC5KIT09Ii0iKSYmKFcuY2M9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuSikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuY2xpcElkIT09Ii0iKSYmKFcuY2xpcGlkPWcuaV8obi5zZWdtZW50cyxEPT5ELmNsaXBJZCkuam9pbigiLCIpKTsKaWYoZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5hdWRpb0lkKSl7bGV0IEQ9ImF1IjsKbi5XJiYoRD0iYXVfZCIpO1dbRF09Zy5pXyhuLnNlZ21lbnRzLGI9PmIuYXVkaW9JZCkuam9pbigiLCIpfWcuakgoKSYmbi50dyYmKFcuY3R0PW4udHcsVy5jdHR5cGU9bi5QWCxXLm1keF9lbnZpcm9ubWVudD1uLm1keEVudmlyb25tZW50KTsKbi55dyYmKFcuZXR5cGU9bi5iZCE9PXZvaWQgMD9uLmJkOjApO24uRkYmJihXLnVvbz1uLkZGKTtuLmxpdmluZ1Jvb21BcHBNb2RlJiZuLmxpdmluZ1Jvb21BcHBNb2RlIT09IkxJVklOR19ST09NX0FQUF9NT0RFX1VOU1BFQ0lGSUVEIiYmKFcuY2xyYW09YlR3W24ubGl2aW5nUm9vbUFwcE1vZGVdfHxuLmxpdmluZ1Jvb21BcHBNb2RlKTtuLmo/dnlNKG4sVyk6KFcuZG9jaWQ9bi52aWRlb0lkLFcucmVmZXJyZXI9bi5yZWZlcnJlcixXLmVpPW4uZXZlbnRJZCxXLm9mPW4uUkgsVy5vc2lkPW4ub3NpZCxXLnZtPW4udmlkZW9NZXRhZGF0YSxuLmFkUXVlcnlJZCYmKFcuYXFpPW4uYWRRdWVyeUlkKSxuLmF1dG9uYXYmJihXLmF1dG9uYXY9IjEiKSxuLnBsYXlsaXN0SWQmJihXLmxpc3Q9bi5wbGF5bGlzdElkKSxuLkFSJiYoVy5zc3J0PSIxIiksbi5IcSYmKFcudXB0PW4uSHEpKTtuLlcmJihuLmVtYmVkc1JjdCYmKFcucmN0PW4uZW1iZWRzUmN0KSxuLmVtYmVkc1JjdG4mJihXLnJjdG49Cm4uZW1iZWRzUmN0biksbi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4mJihXLmNsaW89bi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4pKTtuLmhvc3RDcG4mJihXLmhvc3RfY3BuPW4uaG9zdENwbik7cmV0dXJuIFd9OwphODI9ZnVuY3Rpb24obixXKXtRQShuLDEsVy5pZGVudGlmaWVyLFdCaiwzKTtpZihXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMpZm9yKHZhciBEPTA7RDxXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMubGVuZ3RoO0QrKylRQShuLDIsVy5yZWNlaXZlZEN1ZVBvaW50RXZlbnRzW0RdLGtGdywxKTtpZihXLnJlY2VpdmVkQWRFdmVudHMpZm9yKEQ9MDtEPFcucmVjZWl2ZWRBZEV2ZW50cy5sZW5ndGg7RCsrKVFBKG4sMyxXLnJlY2VpdmVkQWRFdmVudHNbRF0saHN3LDMpfTsKa0Z3PWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Q1IobiwyLFcuc2VnbWVudFN0YXJ0VGltZU1zKTtDUihuLDMsVy5jdWVwb2ludEV2ZW50KTtDUihuLDQsVy5hZEJyZWFrRnVsZmlsbG1lbnRTdGF0ZSk7Q1Iobiw1LFcudHJhY2tUeXBlKTtDUihuLDYsVy5zZWdtZW50TnVtYmVyKTtDUihuLDcsVy5ub0Fkc1N0aXRjaGVkUmVhc29uKX07Cmhzdz1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmVsYXBzZWRUaW1lTXMpO2cuUncobiwyLFcuYWRDcG4pO0NSKG4sMyxXLmFkQWRkZWRMYXRlbmN5VGltZU1zKTtnLlJ3KG4sNCxXLmFkVmlkZW9JZCk7Q1Iobiw1LFcuYWRTdGFydFRpbWVNcyk7Q1Iobiw2LFcuYWREdXJhdGlvbk1zKTtDUihuLDcsVy5hZFJlamVjdGlvblJlYXNvbik7Q1Iobiw4LFcudGltZUVsYXBzZWRTaW5jZUN1ZXBvaW50TXMpfTsKVjZyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Zy5SdyhuLDMsVy52aWRlb0RlY29kZXJOYW1lKX07CmM5TT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmRldmljZUludGVyZmFjZSk7Zy5SdyhuLDIsVy5kZXZpY2VWZXJzaW9uKTtCRyhuLDMsVy5pc1NsZWVwaW5nKX07CkxCVT1mdW5jdGlvbihuKXtyZXR1cm57ZmY6aWgobiwxLHhjYiksdHJhY2tUeXBlOlBHKG4sMiksUFA6UEcobiwzKSx0aW1lUmFuZ2U6aWgobiw0LGMkKSx0aWxlQ29udGV4dDpFeChuLDUpLGJ4OlBHKG4sNiksRzM6UEcobiw3KSxvcHBvcnR1bml0eUlkOkV4KG4sOCksc2VyaWFsaXplZFByZWZldGNoQ29udGV4dDp5QShuLDkpfX07CnhjYj1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLGV2ZW50OlBHKG4sMiksTUs6WncobiwzKSxUeTpadyhuLDQpLHVUOkV4KG4sNSksaWRlbnRpZmllcjpFeChuLDYpLEFDOlBHKG4sOSl9fTsKa2Q9ZnVuY3Rpb24obil7cmV0dXJue2ZpcnN0OlBHKG4sMSksSjc6UEcobiwyKX19Owplc2o9ZnVuY3Rpb24obil7cmV0dXJue2JpdHJhdGU6UEcobiw2KSx3aWR0aDpQRyhuLDcpLGhlaWdodDpQRyhuLDgpLGZwczpQRyhuLDI1KSxhdmVyYWdlQml0cmF0ZTpQRyhuLDMxKSxhdWRpb1NhbXBsZVJhdGU6UEcobiw0NSksYXVkaW9DaGFubmVsczpQRyhuLDQ2KSxxdWFsaXR5T3JkaW5hbDpQRyhuLDU2KX19Owpocz1mdW5jdGlvbihuKXtyZXR1cm57aXRhZ0RlbnlsaXN0OnVoKG4sMSl9fTsKZ3kxPWZ1bmN0aW9uKG4pe3JldHVybntZazpVeChuLDEpLFhXOlBHKG4sMiksc1E6VXgobiwzKSxOVDpadyhuLDQpLGNyeXB0b1BlcmlvZEluZGV4OlBHKG4sNSksWlg6UEcobiw2KSxMRzpQRyhuLDcpfX07CkdGQz1mdW5jdGlvbihuKXtyZXR1cm57SzU6UEcobiwxKSxpdGFnOkV4KG4sMyksUXQ6aWgobiw0LFh4dCksbG10OlBHKG4sNSksQ2U6UEcobiw3KSx4dGFnczpFeChuLDE1KSxuNjppaChuLDIzLHEwYiksWHQ6aWgobiwzNCxocyl9fTsKWHh0PWZ1bmN0aW9uKG4pe3JldHVybntpdjp5QShuLDUpLE5FOlV4KG4sNyl9fTsKdHBiPWZ1bmN0aW9uKG4pe3JldHVybntnazp1aChuLDIpLHZpZGVvSWQ6RXgobiwzKSxRbzpQRyhuLDQpfX07CnEwYj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDIpfX07CiRjeD1mdW5jdGlvbihuKXtyZXR1cm57d2Y6UEcobiwzKSx2NzpQRyhuLDQpLEtOOlBHKG4sNSksWjM6VXgobiw4KSxXWjpQRyhuLDEwKSxITzpQRyhuLDEyKSxVUjpQRyhuLDEzKSxzUjpQRyhuLDE0KSx1MDpQRyhuLDE1KSxMejpQRyhuLDE2KX19Owp4ZD1mdW5jdGlvbihuKXtyZXR1cm57dGFyZ2V0QXVkaW9SZWFkYWhlYWRNczpQRyhuLDEpLHRhcmdldFZpZGVvUmVhZGFoZWFkTXM6UEcobiwyKSxiYWNrb2ZmVGltZU1zOlBHKG4sNCkscGxheWJhY2tDb29raWU6eUEobiw3KSx2aWRlb0lkOkV4KG4sOCl9fTsKTDc9ZnVuY3Rpb24obil7cmV0dXJue21pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjOlBHKG4sMSksbWluUmVhZGFoZWFkTXM6UEcobiwyKX19OwplST1mdW5jdGlvbihuKXtyZXR1cm57c3RhcnRNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwxLEw3KSxyZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwyLEw3KX19OwpyS3I9ZnVuY3Rpb24obil7cmV0dXJue2xhYmVsOkV4KG4sMSksdGV4dDpFeChuLDIpfX07CnNoWj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDEpLGZvcm1hdElkOmloKG4sMixWciksZGVidWdJbmZvOm93KG4sMyxyS3IpfX07CmdQPWZ1bmN0aW9uKG4pe3JldHVybntKMDpvdyhuLDEsc2haKX19OwpObXQ9ZnVuY3Rpb24obil7cmV0dXJue0ZrOlBHKG4sMSksZno6UEcobiwyKSxtaW5SZWFkYWhlYWRNczpQRyhuLDMpfX07ClhOPWZ1bmN0aW9uKG4pe3JldHVybntwdjpQRyhuLDEpLGl0ZW1zOm93KG4sMixObXQpLFBuOlBHKG4sMyl9fTsKcHhpPWZ1bmN0aW9uKG4pe3JldHVybnt0b2tlbjpFeChuLDEpLHZpZGVvSWQ6RXgobiwyKX19OwpZMFU9ZnVuY3Rpb24obil7cmV0dXJue2V3OlBHKG4sMSl9fTsKcUc9ZnVuY3Rpb24obil7cmV0dXJue1FxOkV4KG4sMSksYWN0aW9uOlBHKG4sMiksQ3Y6aWgobiwzLFkwVSl9fTsKR0U9ZnVuY3Rpb24obil7cmV0dXJue0pKOlBHKG4sMSksUUI6UEcobiwyKSxzZWVrU291cmNlOlBHKG4sMyl9fTsKSFRaPWZ1bmN0aW9uKG4pe3JldHVybnt6SDpQRyhuLDEpLHg6UEcobiwyKSx5OlBHKG4sMyksd2lkdGg6UEcobiw0KSxoZWlnaHQ6UEcobiw1KX19OwpmbGo9ZnVuY3Rpb24obil7cmV0dXJue3JlZ2lvbjppaChuLDEsSFRaKSx1MTppaChuLDIsYyQpLGNwbjpFeChuLDUpLGxvZ2dpbmdNZXRhZGF0YTp5QShuLDYpLGJUOmloKG4sNyxjJCksTlI6UEcobiw4KSxxUjpVeChuLDkpfX07CkpLaj1mdW5jdGlvbihuKXtyZXR1cm57UjE6b3cobiwxLGZsail9fTsKSWxqPWZ1bmN0aW9uKG4pe3JldHVybnttZXRhZGF0YTpvdyhuLDEsSktqKSx0cmFja1R5cGU6UEcobiwyKX19Owp0cz1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLHNjb3BlOlBHKG4sMiksdmFsdWU6eUEobiwzKSxzZW5kQnlEZWZhdWx0OlV4KG4sNCksd3JpdGVQb2xpY3k6UEcobiw1KX19OwpTMHc9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Zy5SdyhuLDIsVy51cmwpfTsKQUtyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuaWQpO2cuUncobiwyLFcubmFtZSk7Q1IobiwzLFcucmVzb3VyY2VJZCk7Q1Iobiw0LFcubGluZSk7Q1Iobiw1LFcuY29sdW1uKX07Cm1jcj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmlkKTtDUihuLDIsVy50aW1lc3RhbXBNcyk7Q1IobiwzLFcuc3RhY2tJZCl9OwpLQk09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Q1IobiwyLFcuZnJhbWVJZCk7Q1IobiwzLFcucGFyZW50SWQpfTsKT1RiPWZ1bmN0aW9uKG4sVyl7aWYoVy5yZXNvdXJjZXMpZm9yKHZhciBEPTA7RDxXLnJlc291cmNlcy5sZW5ndGg7RCsrKVFBKG4sMSxXLnJlc291cmNlc1tEXSxTMHcsMyk7aWYoVy5mcmFtZXMpZm9yKEQ9MDtEPFcuZnJhbWVzLmxlbmd0aDtEKyspUUEobiwyLFcuZnJhbWVzW0RdLEFLciwzKTtpZihXLnNhbXBsZXMpZm9yKEQ9MDtEPFcuc2FtcGxlcy5sZW5ndGg7RCsrKVFBKG4sMyxXLnNhbXBsZXNbRF0sbWNyLDEpO2lmKFcuc3RhY2tzKWZvcihEPTA7RDxXLnN0YWNrcy5sZW5ndGg7RCsrKVFBKG4sNCxXLnN0YWNrc1tEXSxLQk0sMSl9OwpQa0M9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpfTsKWlRVPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKVWNpPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuTXcpfTsKeUtDPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKRXkyPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5CQil9OwppVHg9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpO0NSKG4sMixXLlM3KX07CnVMMj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLnR5cGUpO3ZhciBEPVcucUw7aWYoRCE9PXZvaWQgMCl7dmFyIGI9bmV3IEFycmF5QnVmZmVyKDgpOyhuZXcgRmxvYXQ2NEFycmF5KGIpKVswXT1EO0Q9bmV3IFVpbnQzMkFycmF5KGIpO2I9RFswXTtEPURbMV07aWYoYiE9PXZvaWQgMCYmRCE9PXZvaWQgMCl7ajUobiwxNyk7VDYobiw4KTtmb3IobGV0IHY9MDt2PDQ7disrKW4udmlldy5zZXRVaW50OChuLnBvcyxiJjI1NSksYj4+Pj04LG4ucG9zKz0xO2I9RDtmb3IoRD0wO0Q8NDtEKyspbi52aWV3LnNldFVpbnQ4KG4ucG9zLGImMjU1KSxiPj4+PTgsbi5wb3MrPTF9fVFBKG4sMyxXLmE5LFBrQywzKTtRQShuLDQsVy5seCxaVFUsMSk7UUEobiw1LFcucTAsVWNpLDEpO1FBKG4sNixXLmlzVHlwZVN1cHBvcnRlZCx5S0MsMSk7UUEobiw3LFcueTgsRXkyLDMpO1FBKG4sOCxXLkpMLGlUeCwzKX07Cm95aD1mdW5jdGlvbihuKXtyZXR1cm57ZGF0YTp5QShuLDEpfX07CmRjdD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19Owp6czE9ZnVuY3Rpb24obil7cmV0dXJue0hTOlp3KG4sMSl9fTsKbGxyPWZ1bmN0aW9uKG4pe3JldHVybntwbGFjZWhvbGRlcjpVeChuLDEpfX07ClRtcj1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpqaE09ZnVuY3Rpb24obil7cmV0dXJue2RhdGE6eUEobiwxKSxrazpQRyhuLDIpfX07CkNreD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpCbWo9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKSxxTDpadyhuLDIpLFFKOlp3KG4sMyksVG86Wncobiw0KSxpbml0OmloKG4sNSxDa3gpLGE5OmloKG4sNixveWgpLGx4OmloKG4sNyxkY3QpLHEwOmloKG4sOCx6czEpLGlzVHlwZVN1cHBvcnRlZDppaChuLDksbGxyKSx5ODppaChuLDEwLFRtciksSkw6aWgobiwxMSxqaE0pfX07Cnd4Wj1mdW5jdGlvbihuKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhGQlUpLmluY2x1ZGVzKG4pfTsKTXBDPWZ1bmN0aW9uKG4peyRkPTI1OTJFMyoobnx8MSl9OwpyUD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci12b2x1bWUiKXx8e30sVz1uLnZvbHVtZTtyZXR1cm57dm9sdW1lOmlzTmFOKFcpPzEwMDpnLkZmKE1hdGguZmxvb3IoVyksMCwxMDApLG11dGVkOiEhbi5tdXRlZH19Owpzbj1mdW5jdGlvbihuKXtnLlBCKCJ5dC1wbGF5ZXItYmFuZHdpZHRoIixuLDI1OTJFMyl9OwpwNz1mdW5jdGlvbihuPSRkKXtpZihuPjAmJiEoVVAoKT4oMCxnLlIpKCktbioxRTMpKXJldHVybiAwO249Zy5aSSgieXQtcGxheWVyLXF1YWxpdHkiKTtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXtpZihuPU5HW25dLG4+MClyZXR1cm4gbn1lbHNlIGlmKG4gaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIG4ucXVhbGl0eTtyZXR1cm4gMH07CllkPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLXByb3hpbWEtcHJlZiIpO3JldHVybiBuPT1udWxsP251bGw6bn07ClJzeD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci1xdWFsaXR5Iik7aWYobiBpbnN0YW5jZW9mIE9iamVjdCYmbi5xdWFsaXR5JiZuLnByZXZpb3VzUXVhbGl0eSl7aWYobi5xdWFsaXR5Pm4ucHJldmlvdXNRdWFsaXR5KXJldHVybiAxO2lmKG4ucXVhbGl0eTxuLnByZXZpb3VzUXVhbGl0eSlyZXR1cm4tMX1yZXR1cm4gMH07CkhuPWZ1bmN0aW9uKCl7dmFyIG49e3ZhbHVlczp7fSxGWTp7fX07dHJ5e2xldCBXPUpTT04ucGFyc2UoSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlWyJ5dC1wbGF5ZXItbWVtb3J5Il0pLmRhdGEpO24udmFsdWVzPVcudmFsdWVzO24uaGFsZkxpdmVzPVcuaGFsZkxpdmVzfWNhdGNoe31yZXR1cm4gbn07CmY3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiKXx8e319OwpRaHc9ZnVuY3Rpb24obj0hMSl7aWYobil7bj1mNygpO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSlXLmluZGV4T2YoIjEiKSE9PTAmJmRlbGV0ZSBuW1ddO2cuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLG4sMjU5MkUzKX1lbHNlIHRyeXtsZXQgVz1PUC5xYigpLEQ9T1AuQnAoKTtXJiZXLnJlbW92ZSgieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcCIpO0QmJkQucmVtb3ZlKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwIil9Y2F0Y2goVyl7fX07CkpzPWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAtYWN0aXZlLXNldCIpPz9bXX07ClZwQz1mdW5jdGlvbihuPSExKXtuPyhuPUpzKCkuZmlsdGVyKFc9Plcuc3RhcnRzV2l0aCgiMSIpKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLG4sMjU5MkUzKSk6Zy5QQigieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcC1hY3RpdmUtc2V0IixbXSwyNTkyRTMpfTsKSU89ZnVuY3Rpb24oKXtyZXR1cm4hIWcuWkkoInl0LXBsYXllci1oZWFkZXJzLXJlYWRhYmxlIil9OwpnLlNJPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLWNhcHRpb24tbGFuZ3VhZ2UtcHJlZmVyZW5jZXMiKTtyZXR1cm4gbj9uOltdfTsKQXM9ZnVuY3Rpb24oKXt2YXIgbj1nLlpJKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIpLFc9bmV3IE1hcDtpZihuKWZvcihsZXQgW0QsYl1vZiBPYmplY3QuZW50cmllcyhuKSlXLnNldChELGIpO3JldHVybiBXfTsKbTU9ZnVuY3Rpb24oKXtyZXR1cm4gZy5aSSgieXQtcGxheWVyLXZvaWNlLWJvb3N0Iik/P3ZvaWQgMH07Cks3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1hdWRpby1xdWFsaXR5LXNldHRpbmciKT8/Mn07ClpVPWZ1bmN0aW9uKCl7dHJ5e2xldCBuPXdpbmRvdy5uYXZpZ2F0b3I7aWYobi5nZXRBdXRvcGxheVBvbGljeSYmdHlwZW9mIG4uZ2V0QXV0b3BsYXlQb2xpY3k9PT0iZnVuY3Rpb24iKXtsZXQgVz1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGcuT24uV0MpLEQ7RD1XLmxlbmd0aD4wJiZXWzBdP24uZ2V0QXV0b3BsYXlQb2xpY3koV1swXSk6bi5nZXRBdXRvcGxheVBvbGljeSgibWVkaWFlbGVtZW50Iik7aWYoUG5bRF0pcmV0dXJuIFBuW0RdfX1jYXRjaChuKXt9cmV0dXJuIkFVVE9QTEFZX0JST1dTRVJfUE9MSUNZX1VOU1BFQ0lGSUVEIn07ClVuPWZ1bmN0aW9uKG4pe3JldHVybiBuLlBYfHxuLkd1fHxuLm11dGVkQXV0b3BsYXl9Owp5dz1mdW5jdGlvbihuLFcpe3JldHVybiBVbihuKT9XIT09MSYmVyE9PTImJlchPT0wPyJBVVRPUExBWV9TVEFUVVNfVU5BVkFJTEFCTEUiOm4uc1o/IkFVVE9QTEFZX1NUQVRVU19CTE9DS0VEIjoiQVVUT1BMQVlfU1RBVFVTX09DQ1VSUkVEIjoiQVVUT1BMQVlfU1RBVFVTX05PVF9BVFRFTVBURUQifTsKZy5Fbj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5HKCk7bi50aGlyZFBhcnR5fHwobi50aGlyZFBhcnR5PXt9KTtuLnRoaXJkUGFydHk9ey4uLm4udGhpcmRQYXJ0eSxlbWJlZFVybDpiLmxvYWRlclVybH07Yi5hbmNlc3Rvck9yaWdpbnMmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGFuY2VzdG9yT3JpZ2luczpiLmFuY2VzdG9yT3JpZ2luc30pO2IuZUshPW51bGwmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LHZpc2liaWxpdHlGcmFjdGlvbjpOdW1iZXIoYi5lSyl9KTtiLkxLJiYobi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dD17Li4ubi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dCx2aXNpYmlsaXR5RnJhY3Rpb25Tb3VyY2U6Yi5MS30pO24udGhpcmRQYXJ0eS5lbWJlZGRlZFBsYXllckNvbnRleHQ9CnsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGF1dG9wbGF5QnJvd3NlclBvbGljeTpaVSgpLGF1dG9wbGF5SW50ZW5kZWQ6VW4oVyksYXV0b3BsYXlTdGF0dXM6eXcoVyxEKX19OwppSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5zcGxpdCgiLCIpKXtpZighRCljb250aW51ZTsobj1ELnN0YXJ0c1dpdGgoIiEiKSkmJihEPUQuc3Vic3RyaW5nKDEpKTtsZXQgYj1ELnNwbGl0KCItIik7Yi5sZW5ndGg8M3x8Vy5wdXNoKHtoajpiWzBdLHBsYXRmb3JtOmJbMV0sZGV2aWNlVmVyc2lvbjpiWzJdLEVzOm59KX1yZXR1cm4gV307CmFseD1mdW5jdGlvbihuKXtyZXR1cm4gaUoobikubWFwKCh7aGo6VyxkZXZpY2VWZXJzaW9uOkQsRXM6Yn0pPT4oe2RldmljZUludGVyZmFjZTpjS01bdUpbV11dfHwwLGRldmljZVZlcnNpb246RHx8IiIsaXNTbGVlcGluZzpifSkpfTsKb089ZnVuY3Rpb24obixXLEQ9ITEsYj0iIil7IW4mJkQmJmcuR3EoRXJyb3IoYFBsYXllciBVUkwgdmFsaWRhdG9yIGRldGVjdHMgaW52YWxpZCB1cmwuICR7Yn06ICR7V31gKSk7cmV0dXJuIG59Owp6RT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcmJlcudGVzdChuKXx8ZFAmJkQmJkQudGVzdChuKT8hMDohMX07ClRFPWZ1bmN0aW9uKG4pe3JldHVybihuPWxKJiZsSi5leGVjKG4pKT9uWzBdOiIifTsKZ1g9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sbkV3LFdoWiksbiwhMSwiVHJ1c3RlZCBTdHJlYW0gVVJMIil9OwpnLmpJPWZ1bmN0aW9uKG4pe3JldHVybiBvTyh6RShuLEQ1VSxiS1opLG4sITEsIlRydXN0ZWQgSW1hZ2UgVVJMIil9OwpDNz1mdW5jdGlvbihuKXtyZXR1cm4gb08oekUobix2RWgsbnVsbCksbiwhMSwiVHJ1c3RlZCBQcm9tb3RlZCBWaWRlbyBEb21haW4gVVJMIil9OwpoQWk9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sazdyLG51bGwpLG4sITEsIkRybSBMaWNlbnNvciBVUkwiKX07CkJuPWZ1bmN0aW9uKG4sVz0hMSl7cmV0dXJuIG9PKHpFKG4seDVyLExodCksbixXLCJDYXB0aW9ucyBVUkwiKX07CmVBPWZ1bmN0aW9uKG4pe249bmV3IGcuVWoobik7eU4obixkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk7RWoobixkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSk7ZG9jdW1lbnQubG9jYXRpb24ucG9ydCYmaXIobixkb2N1bWVudC5sb2NhdGlvbi5wb3J0KTtyZXR1cm4gbi50b1N0cmluZygpfTsKRk49ZnVuY3Rpb24obil7bj1uZXcgZy5VaihuKTt5TihuLGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKTtyZXR1cm4gbi50b1N0cmluZygpfTsKZUFaPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5uYW1lLFsyXTpuLmlkLFszXTpuLmlzRGVmYXVsdCxbNF06bi5pc0F1dG9EdWJiZWR9fTsKTUc9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB3UChuWzFdLG5bMl0sblszXSxuWzRdKX07ClJPPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5sYW5ndWFnZUNvZGUsWzJdOm4ubGFuZ3VhZ2VOYW1lLFszXTpuLmtpbmQsWzRdOm4ubmFtZSxbNV06bi5kaXNwbGF5TmFtZSxbNl06bi5pZCxbN106bi54dGFncyxbOF06bi5OLFs5XTpuLmlzVHJhbnNsYXRlYWJsZSxbMTBdOm4udXJsLFsxMV06bi52c3NJZCxbMTJdOm4uaXNEZWZhdWx0LFsxM106bi50cmFuc2xhdGlvbkxhbmd1YWdlLFsxNF06bi5jYXB0aW9uSWR9fTsKVnc9ZnVuY3Rpb24obil7dmFyIFc9bmV3IGcuUXcoe2xhbmd1YWdlQ29kZTpuWzFdLGxhbmd1YWdlTmFtZTpuWzJdLGtpbmQ6blszXSxuYW1lOm5bNF0saWQ6bls2XSxpc19zZXJ2YWJsZTpuWzhdLGlzX3RyYW5zbGF0ZWFibGU6bls5XSx1cmw6blsxMF0sdnNzX2lkOm5bMTFdLGlzX2RlZmF1bHQ6blsxMl0seHRhZ3M6bls3XSxjYXB0aW9uSWQ6blsxNF19KTtXLmRpc3BsYXlOYW1lPW5bNV07Vy50cmFuc2xhdGlvbkxhbmd1YWdlPW5bMTNdO3JldHVybiBXfTsKZy5jbj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRpc3BsYXlOYW1lKVcucHVzaChuLmRpc3BsYXlOYW1lKTtlbHNle2xldCBEPW4ubGFuZ3VhZ2VOYW1lfHwiIjtXLnB1c2goRCk7bi5raW5kPT09ImFzciImJkQuaW5kZXhPZigiKCIpPT09LTEmJlcucHVzaCgiIChBdXRvbWF0aWMgQ2FwdGlvbnMpIik7bi5uYW1lJiZXLnB1c2goYCAtICR7bi5uYW1lfWApfW4udHJhbnNsYXRpb25MYW5ndWFnZSYmVy5wdXNoKGAgPj4gJHtuLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VOYW1lfWApO3JldHVybiBXLmpvaW4oIiIpfTsKZy5hTz1mdW5jdGlvbihuKXtyZXR1cm4gbi50cmFuc2xhdGlvbkxhbmd1YWdlP24udHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGU6bi5sYW5ndWFnZUNvZGV9OwpnLm5nPWZ1bmN0aW9uKG4pe3ZhciBXPW4udnNzSWQ7bi50cmFuc2xhdGlvbkxhbmd1YWdlJiZXJiYoVz1gdCR7V30uJHtnLmFPKG4pfWApO3JldHVybiBXfTsKZ0V3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uVyxEPW4uTixiPW4uWDtyZXR1cm57WzFdOm4uY2FwdGlvbnNJbml0aWFsU3RhdGUsWzJdOm4uSixbM106bi5jYXB0aW9uVHJhY2tzLm1hcCh2PT5STyh2KSksCls0XTpXP1JPKFcpOm51bGwsWzVdOkQ/Uk8oRCk6bnVsbCxbNl06bi5pZCxbN106bi5qLFs4XTpuLlYsWzldOmVBWihuLmtaKSxbMTBdOmI/Uk8oYik6bnVsbCxbMTFdOm4ueHRhZ3N9fTsKRGM9ZnVuY3Rpb24obil7dmFyIFc9bls0XSxEPW5bNV0sYj1uWzEwXSx2PW5ldyBXQShuWzZdLE1HKG5bOV0pKTt2LmNhcHRpb25zSW5pdGlhbFN0YXRlPW5bMV07di5jYXB0aW9uVHJhY2tzPW5bM10ubWFwKGs9PlZ3KGspKTsKdi5KPW5bMl07di5XPVc/VncoVyk6bnVsbDt2Lk49RD9WdyhEKTpudWxsO3Yuaj1uWzddO3YuVj1uWzhdO3YuWD1iP1Z3KGIpOm51bGw7di54dGFncz1uWzExXTtyZXR1cm4gdn07CnZBPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBuZXcgYjMoTkdbbl18fDAsTkdbV118fDAsRCxiKX07CmtKPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5KLFsyXTpuLk4sWzNdOm4uVyxbNF06bi5yZWFzb24sWzVdOm4uTnN9fTsKWExTPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgYjMoblsxXSxuWzJdLG5bM10sbls0XSxuWzVdKX07CnhKPWZ1bmN0aW9uKG4pe2lmKGhUJiZuLk5zKXJldHVybiExO3ZhciBXPU5HLmF1dG87cmV0dXJuIG4uSj09PVcmJm4uTj09PVd9OwplSj1mdW5jdGlvbihuKXtyZXR1cm4gTGdbbi5OfHxuLkpdfHwiYXV0byJ9OwpnRj1mdW5jdGlvbihuLFcpe1c9TkdbV107cmV0dXJuIG4uSjw9VyYmKCFuLk58fG4uTj49Vyl9OwpYcD1mdW5jdGlvbihuKXtyZXR1cm4hIW5bIjEiXT8ubGVuZ3RofHwhIW5bIjFoIl0/Lmxlbmd0aHx8ISFuWyIxZSJdPy5sZW5ndGh9OwpxZD1mdW5jdGlvbihuKXtyZXR1cm4gbj09PSIxInx8bj09PSIxaCJ8fG49PT0iMWUifTsKTmQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9ITE7aWYobi5KKXJldHVybiBuLko7dmFyIEw9e30sZT1uZXcgU2V0LEc9e307aWYoR18oYikpe2Zvcih2YXIgciBpbiBiLk4pe2lmKCFiLk4uaGFzT3duUHJvcGVydHkocikpY29udGludWU7bj1iLk5bcl07R1tuLmluZm8uSUJdPVtuLmluZm9dfXJldHVybiBHfXI9dFQoVyxiLEwpO2lmKFcuSil7KHg9WHAocikpfHwoVy5OLm5vQXYxUmVhc29uPSJub0Zvcm1hdCIpO3ZhciBOPUQuWT8iZGlzYWJsZUF2MUZvclNlc3Npb24iOiIiO04mJihXLk4ubm9BdjFSZWFzb249Tik7dih7bm9BdjFSZWFzb246Vy5OLm5vQXYxUmVhc29ufSl9ayYmdih7YWZ0c3J0OiRKKHIpfSk7Tj17fTt2YXIgSD0iIjtmb3IobGV0IEEgb2YgT2JqZWN0LmtleXMocikpe2xldCB5PUE7Zm9yKGxldCBUIG9mIHJbeV0pe2xldCB6PVQuaXRhZyxDPXJGKHksVCxXKTtpZihOLmhhc093blByb3BlcnR5KEMpKXtOW0NdPT09ITA/R1t5XS5wdXNoKFQpOkxbel09Ck5bQ107Y29udGludWV9bGV0IFE9c0QoVyxULEQsYi5pc0xpdmUsZSk7USE9PSEwPyhoLmFkZCh5KSxMW3pdPVEsVy5KJiZULk1XKCkmJihIKz1gOyR7en07JHtRfWApLFE9PT0iZGlzYWJsZXZwOWhmciImJihOW0NdPSJkaXNhYmxldnA5aGZyIikpOihHW3ldPUdbeV18fFtdLEdbeV0ucHVzaChUKSxOW0NdPSEwKX19Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj1ILHYoe25vQXYxUmVhc29uOlcuTi5ub0F2MVJlYXNvbn0pKTtrJiZ2KHtiZmZsdDokSihHKX0pO2ZvcihsZXQgQSBpbiBHKXtpZighRy5oYXNPd25Qcm9wZXJ0eShBKSljb250aW51ZTtiPUE7R1tiXSYmR1tiXVswXS5mWSgpJiYoaD1HW2JdLmxlbmd0aCxHW2JdPUdbYl0sVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9MCYmKGg9R1tiXS5sZW5ndGgsdih7bm9BdjFGbXQ6ImZpbHRlclZwOVVsdGxvdyIsY29kZWM6Yn0pKSxHW2JdPXEyQyhXLEdbYl0sTCksVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9CjAmJihoPUdbYl0ubGVuZ3RoLHYoe25vQXYxRm10OiJmaWx0ZXJRdWFsaXRpZXMiLGNvZGVjOmJ9KSksR1tiXT1HN1UoR1tiXSxMKSxXLkomJnFkKGIpJiZoPjAmJkdbYl0ubGVuZ3RoPD0wJiZ2KHtub0F2MUZtdDoiZmlsdGVySGZyIixjb2RlYzpifSkpfWsmJk9iamVjdC5rZXlzKEwpLmxlbmd0aD4wJiZ2KHtyanI6Zy5UQyhMKX0pO2ZvcihsZXQgQSBvZiBlLnZhbHVlcygpKShMPUQuVy5nZXQoQSkpJiYtLUwuZzE7ayYmdih7YWZ0Zmx0OiRKKEcpfSk7Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj0iZmlsdGVyIix2KHtub0F2MVJlYXNvbjpXLk4ubm9BdjFSZWFzb259KSk7bi5KPWcublQoRyxBPT4hIUEubGVuZ3RoKTsKcmV0dXJuIG4uSn07CklEaD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1XLld8fCEhdixMPXgmJlcuTEI/azp2b2lkIDAsZT1uZXcgU2V0LEc9TmQobixXLEQsYixrLHgsZSk7Yi5YKCkmJihHPXRnaChELEcsdix4LGssVykseCYmayh7ZW5mbHQ6JEooRyl9KSk7Vy55RT0kNXIoRyxXKTt2PUx0PT4hIUdbTHRdOwp2YXIgcj1ySGkoVyk7RD1bXTtmb3IodmFyIE4gb2YgT2JqZWN0LnZhbHVlcyhHKSlOPy5sZW5ndGgmJk5bMF0uZVMoKSYmRC5wdXNoKC4uLk4pO2lmKEdfKGIpKXJldHVybiBrPWcubF8oT2JqZWN0LnZhbHVlcyhHKSxMdD0+ISFMdC5sZW5ndGgmJiEhTHRbMF0uYXVkaW8pLHg9Zy5sXyhPYmplY3QudmFsdWVzKEcpLEx0PT4hIUx0Lmxlbmd0aCYmISFMdFswXS52aWRlbyksayYmeHx8Zy5wJCgpLGcuSDAobmV3IHBnKHgsayxMLEQpKTsKTj1HLmE7dmFyIEg9ITE7Vy5IaSYmclswXSE9PSJhIiYmc1diKE4pJiYoci51bnNoaWZ0KCJhIiksSD0hMCk7eCYmKGsoe2F1ZGlvUHJlZk9yZGVyOnIuam9pbigiXyIpfSksayh7cHJlZmVySGlnaFF1YWxpdHlBdWRpbzpXLkhpfSksayh7Zm9yY2VkQWFjRm9ySHFhOkh9KSk7Tj1bXTtpZihXLnZYKXtyPWcuRU0ocix2KTtIPW5ldyBTZXQ7Zm9yKHZhciBBIG9mIHIpe3ZhciB5PUdbQV07bGV0IEx0PW5ldyBTZXQ7Zm9yKHZhciBUIG9mIHkpaWYoeT1ULmtaPy5pZClILmhhcyh5KT9MdC5oYXMoeSkmJk4ucHVzaChUKTooTHQuYWRkKHkpLEguYWRkKHkpLE4ucHVzaChUKSl9aWYoTi5sZW5ndGg9PT0wKXtpZihyLmxlbmd0aD09PTApcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbclswXV19fWVsc2V7Tj1nLmxfKHIsdik7aWYoIU4pcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbTl19R1siOSJdJiZHLmgmJmIuelcmJiFXLkZGJiYoeCYmayh7ZGx0dnA5OjF9KSwKZGVsZXRlIEdbIjkiXSk7aWYoaCl7eCYmayh7YmZzZmx0OiRKKEcpLGJmc2ZsdGE6WUoobil9KTtXLkR0P24uTj1ORFMoZSxuLk4pOm4uTi5jbGVhcigpO3gmJmsoe2Jmc2ZsdGI6WUoobil9KTtmb3IodmFyIHogaW4gRyl7aWYoIUcuaGFzT3duUHJvcGVydHkoeikpY29udGludWU7aD16O2lmKCEoaD09PSJmInx8Vy54ZD09PTAmJnBMai5oYXMoaCkpKWZvcih2YXIgQyBvZiBHW2hdKVcuRHQ/WTJTKGgsQyxuLk4pOkhLaShuLGgsQyl9eCYmayh7YWZ0c2ZsdDpZSihuKX0pfXo9R1siMWgiXT8iMWgiOiIxIjtuPUdbIjloIl0/IjloIjoiOSI7aD1HW3pdO2U9R1siMiJdO0E9R1tuXTtoJiZoLmxlbmd0aCYmKFcuTi5oaWdoZXN0QXYxUmVzb2x1dGlvbj1oW2gubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtBJiZBLmxlbmd0aCYmKFcuTi5oaWdoZXN0VnA5UmVzb2x1dGlvbj1BW0EubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtDPVtdO1Q9W107aWYoVy55dyYmZSlDPQplLFQ9WyIyIl07ZWxzZSBpZihXLk1kJiZoKUM9aCxUPVt6XSxrKHtmb3JjZUF2MTp6fSk7ZWxzZSBpZihXLkQmJiFXLmJ2KXtUPWZEdyhiKT9HWyIxaCJdfHxHWyI5aCJdP1siMWgiLCI5aCJdOlsiOSIsImgiXTpbIjEiLCI5IiwiaCJdO3gmJmsoe25ld2h5YnByZWY6VC5qb2luKCIuIil9KTtmb3IodmFyIFEgb2YgVClDPUMuY29uY2F0KEdbUV0pLmZpbHRlcihMdD0+THQpfWVsc2UgVy5uUz4wJiZBJiZoJiYoVD1beiwKbl0sQz1oLmNvbmNhdChBKS5maWx0ZXIoTHQ9Pkx0KSk7CmlmKEMubGVuZ3RoJiYhVy5idil7SEEoQyxUKTtpZih4KXt4PVtdO2Zvcih2YXIgViBvZiBDKXgucHVzaChWLml0YWcpO2soe2hiZGZtdDp4LmpvaW4oIi4iKX0pfXJldHVybiBnLkgwKG5ldyBwZyhDLE4sTCxEKSl9Vj1KSHIoVyk7Vj1nLmxfKFYsdik7aWYoIVYpe2lmKEdbel0pcmV0dXJuIGs9R1t6XSxIQShrKSxnLkgwKG5ldyBwZyhrLE4sTCxEKSk7eCYmayh7bm92aWRlbzoxfSk7cmV0dXJuIGcucCQoKX1WIT09IjEiJiZWIT09IjFoInx8IUdbbl18fChRPWZnKEdbVl0pLHY9ZmcoR1tuXSksdj5RP1Y9bjooUT12PT09USx2PUpUKEdbbl0pLHo9SlQoR1tWXSksIVF8fCF2fHxXLllaJiZ6fHwoVj1uKSkpO1Y9PT0iOSImJkcuaCYmZmcoRy5oKT5mZyhHWyI5Il0pJiYoVj0iaCIpO1cuQlYmJmIuaXNMaXZlJiZWPT09IigiJiZHLkgmJmZnKEdbIigiXSk8MTQ0MCYmKFY9IkgiKTt4JiZrKHt2Zm1seTpJcihWKX0pO1c9R1tWXTtpZighVy5sZW5ndGgpcmV0dXJuIHgmJmsoe25vdmZtbHk6SXIoVil9KSwKZy5wJCgpO0hBKFcpO3JldHVybiBnLkgwKG5ldyBwZyhXLE4sTCxEKSl9OwpTMmI9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4PSExKXtpZihXLkU1JiZoJiZoLmxlbmd0aD4xJiYhKFcublM+MHx8Vy5EKSl7bGV0IHI9Vy5XfHwhIXYsTj1yJiZXLkxCP2s6dm9pZCAwLEg9dFQoVyxiKSxBPVtdLHk9W10sVD17fTtmb3IobGV0IHo9MDt6PGgubGVuZ3RoO3orKyl7dmFyIEw9aFt6XSxlPWIuSi5nZXQoTCk7aWYoZSYmZS5pbmZvKXt2YXIgRz1lLmluZm87ZT1HLklCO2lmKHNEKFcsRyxELGIuaXNMaXZlKSl7TD1HLmZZKCk/QTp5O0c9SFtlXTtmb3IobGV0IEMgb2YgRylHPXJGKGUsQyxXKSxULmhhc093blByb3BlcnR5KEcpP1RbR109PT0hMCYmTC5wdXNoKEMpOnNEKFcsQyxELGIuaXNMaXZlKSYmKEwucHVzaChDKSxUW0ddPSEwKX1lbHNlIHImJmsoe29wZnU6TH0pfX1pZihBLmxlbmd0aCYmeS5sZW5ndGgpcmV0dXJuIHImJmsoe29wZm06QVswXS5pdGFnKyIsIit5WzBdLml0YWd9KSxnLkgwKG5ldyBwZyhBLHksTikpfXJldHVybiBJRGgobixXLEQsYix2LGsseCl9OwpZSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5OLmtleXMoKSl7bGV0IGI9bi5OLmdldChEKTtXLnB1c2goYCR7RH1fJHtiLm1heFdpZHRofV8ke2IubWF4SGVpZ2h0fWApfXJldHVybiBXLmpvaW4oIi4iKX07CkhLaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9RC52aWRlbz8uZnBzfHwwLHY9YCR7V31fJHtifWAsaz0hIUQuYXVkaW8saD1uLk4uZ2V0KHYpLHg9bi5OLmdldCh2KSxMPSEhRC5hdWRpbzt4JiYoTHx8IUwmJkQudmlkZW8/LmhlaWdodCYmeC5tYXhIZWlnaHQmJngubWF4SGVpZ2h0Pj1ELnZpZGVvPy5oZWlnaHQpfHwoeD1ELml0YWcsVz1oP2g6e2l0YWc6eCxJQjpXLGVTOmt9LGs/Vy5udW1DaGFubmVscz1ELmF1ZGlvLm51bUNoYW5uZWxzOihrPUQudmlkZW8sVy5tYXhXaWR0aD1rPy53aWR0aCxXLm1heEhlaWdodD1rPy5oZWlnaHQsVy5tYXhGcmFtZXJhdGU9YixXLm1heEJpdHJhdGVCcHM9RC5Ocyo4LFcuejk9az8uaXNIZHIoKSksbi5OLnNldCh2LFcpKX07CiQ1cj1mdW5jdGlvbihuLFcpe3ZhciBEPSEoIW4ubSYmIW4uTSksYj0hKCFuLm1hYzMmJiFuLk1BQzMpLHY9ISghbi5tZWFjMyYmIW4uTUVBQzMpO249ISghbi5pJiYhbi5JKTtXLlFyPW47cmV0dXJuIER8fGJ8fHZ8fG59OwpKVD1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLml0YWcmJkFIUy5oYXMoVy5pdGFnKSlyZXR1cm4hMDtyZXR1cm4hMX07CnNXYj1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLmF1ZGlvLmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giKXJldHVybiEwO3JldHVybiExfTsKSXI9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIioiOnJldHVybiJ2OGUiO2Nhc2UgIigiOnJldHVybiJ2OWUiO2Nhc2UgIihoIjpyZXR1cm4idjloZSI7ZGVmYXVsdDpyZXR1cm4gbn19OwpyRj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQuVEM/YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59XyR7ISFXLnZpZGVvPy5YfWA6YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59YH07CiRKPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKXtpZighbi5oYXNPd25Qcm9wZXJ0eShEKSljb250aW51ZTtsZXQgYj1EO1cucHVzaChJcihiKSk7Zm9yKGxldCB2IG9mIG5bYl0pVy5wdXNoKHYuaXRhZyl9cmV0dXJuIFcuam9pbigiLiIpfTsKdGdoPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17fSx4PXt9O2cuYV8oVywoTCxlKT0+e0w9TC5maWx0ZXIoRz0+e3ZhciByPUcuaXRhZztpZighRy5jb250ZW50UHJvdGVjdGlvbilyZXR1cm4geFtyXT0ibm9lbmMiLCExO2lmKGsuSEQmJkcuSUI9PT0iKGgiJiZrLmJkKXJldHVybiB4W3JdPSJsaWNoZHIiLCExO2lmKCFuLlgmJkcuSUI9PT0iMWUiKXJldHVybiB4W3JdPSJub2F2MWVuYyIsITE7aWYoRy5JQj09PSIoInx8Ry5JQj09PSIoaCIpe2lmKG4uSiYmRCYmRC5mbGF2b3I9PT0id2lkZXZpbmUiKXt2YXIgTj1HLm1pbWVUeXBlKyI7IGV4cGVyaW1lbnRhbD1hbGxvd2VkIjsoTj0hIUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiYhIUQuSltOXSl8fCh4W3JdPUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdPyJ1bnNwdCI6Im5vZmx2Iik7cmV0dXJuIE59aWYoIVNKKG4sQVQuQ1JZUFRPQkxPQ0tGT1JNQVQpJiYhbi5UQ3x8bi50dylyZXR1cm4geFtyXT1uLnR3PwoiZGlzdnAiOiJ2cHN1YiIsITF9cmV0dXJuIEQmJkcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiZELkpbRy5taW1lVHlwZV0/ITA6KHhbcl09RD9HLmNvbnRlbnRQcm90ZWN0aW9uW0QuZmxhdm9yXT8idW5zcHQiOiJub2ZsdiI6Im5vc3lzIiwhMSl9KTsKTC5sZW5ndGgmJihoW2VdPUwpfSk7CmImJk9iamVjdC5lbnRyaWVzKHgpLmxlbmd0aCYmdih7cmpyOmcuVEMoeCl9KTtpZihrLkopZm9yKGxldCBMIG9mIE9iamVjdC52YWx1ZXMoVykpaWYoTClmb3IobGV0IGUgb2YgTClXPXhbZS5pdGFnXSxlLk1XKCkmJlchPT12b2lkIDAmJihrLk5bZS5pdGFnXT1XKTtyZXR1cm4gaH07Ckc3VT1mdW5jdGlvbihuLFcpe3ZhciBEPWcudV8obiwoYix2KT0+di52aWRlby5KKCk/TWF0aC5taW4oYix2LnZpZGVvLndpZHRoKTpiLEluZmluaXR5KTsKRDxJbmZpbml0eSYmKG49bi5maWx0ZXIoYj0+e2lmKGIudmlkZW8uSigpfHxiLnZpZGVvLndpZHRoPEQpcmV0dXJuITA7V1tiLml0YWddPSJoZnJmaXJzdCI7cmV0dXJuITF9KSk7CmxiKCkmJihuPW4uZmlsdGVyKGI9PntpZihiLml0YWchPT0iMjk5IilyZXR1cm4hMDtXW2IuaXRhZ109InBzM2hmcjEwODAiO3JldHVybiExfSkpOwpyZXR1cm4gbn07CnEyQz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFc9Vy5maWx0ZXIoYj0+e2lmKGIudmlkZW8ucXVhbGl0eU9yZGluYWw8PW4ud2EpcmV0dXJuITA7RFtiLml0YWddPSJtYXhxdWFsaXR5IjtyZXR1cm4hMX0pfTsKdFQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2ZvcihsZXQgdiBpbiBXLk4pe2lmKCFXLk4uaGFzT3duUHJvcGVydHkodikpY29udGludWU7bGV0IGs9Vy5OW3ZdLmluZm87aWYobi5ZJiZrLnZpZGVvJiZrLnZpZGVvLnF1YWxpdHlPcmRpbmFsPG4uWSl7RCYmKERbay5pdGFnXT1gbWluJHtuLll9YCk7Y29udGludWV9bGV0IGg9ay5JQjtiW2hdPWJbaF18fFtdO2JbaF0ucHVzaChrKX1mb3IobGV0IHYgb2YgT2JqZWN0LmtleXMoYikpSEEoYlt2XSk7cmV0dXJuIGJ9OwpmZz1mdW5jdGlvbihuKXtyZXR1cm4gZy51XyhuLChXLEQpPT5NYXRoLm1heChXLEQudmlkZW8ucXVhbGl0eU9yZGluYWwpLDApfTsKc0Q9ZnVuY3Rpb24obixXLEQsYj0hMSx2PW5ldyBTZXQpe2lmKFcuSUI9PT0iIilyZXR1cm4idW5rbiI7aWYoKFcuaXRhZz09PSIzMDQifHxXLml0YWc9PT0iMjY2IikmJm4udHcpcmV0dXJuImJsazJraGZyIjtpZihuLksmJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5LKXJldHVybmBtYXgke24uS31gO2lmKG4uQ3UmJlcuSUI9PT0iaCImJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MClyZXR1cm4iYmxraGlnaDI2NCI7aWYoVy5JQj09PSIoaCImJiFELkspcmV0dXJuImVuY2hkciI7aWYoYiYmbUYoVykmJiFuLm51KXJldHVybiJibGs1MWxpdmUiO2lmKChXLklCPT09Ik1BQzMifHxXLklCPT09Im1hYzMiKSYmIW4uailyZXR1cm4iYmxrYWMzIjtpZigoVy5JQj09PSJNRUFDMyJ8fFcuSUI9PT0ibWVhYzMiKSYmIW4uVilyZXR1cm4iYmxrZWFjMyI7aWYoVy5JQj09PSJNInx8Vy5JQj09PSJtIilyZXR1cm4iYmxrYWFjNTEiO2lmKChXLklCPT09InNvInx8ClcuSUI9PT0ic2EiKSYmIW4uY0opcmV0dXJuImJsa2FtYiI7aWYoIW4uSEQmJktnKFcpJiYoIUQuWHx8Vy5JQiE9PSIxZSIpKXJldHVybiJjYmMiO2lmKCFELlgmJktnKFcpJiZXLklCPT09IjFlIilyZXR1cm4iY2JjYXYxIjtpZigoVy5JQj09PSJpInx8Vy5JQj09PSJJIikmJiFuLlZRKXJldHVybiJibGtpYW1mIjtpZihuLlJhJiZXLmF1ZGlvPy5OPT09ITApcmV0dXJuImJsa3ZiY2FiciI7aWYobi5UQyYmVy52aWRlbz8uWD09PSExKXJldHVybiJibGttdHZjYWJyIjtpZihuLnZKJiYoVy5JQj09PSIxInx8Vy5JQj09PSIxaCJ8fEQuWCYmVy5JQj09PSIxZSIpJiZXLnZpZGVvPy5xdWFsaXR5T3JkaW5hbCYmVy52aWRlbz8ucXVhbGl0eU9yZGluYWw+bi52SilyZXR1cm4iYXYxY2FwIjtiPUQuVy5nZXQoVy5JQik7aWYoIW4ualcmJmImJmIuZzE+MClyZXR1cm4gdi5hZGQoVy5JQiksImJ5ZXJyIjtpZihXLnZpZGVvPy5KKCkpe2lmKCFELmJkJiYhU0ooRCxBVC5GUkFNRVJBVEUpKXJldHVybiJjYXBIZnIiOwppZihuLlBYJiZXLnZpZGVvLnF1YWxpdHlPcmRpbmFsPj00MzIwKXJldHVybiJibGs4a2hmciI7aWYoVy5YKCkmJm4uVTUmJlcuY29udGVudFByb3RlY3Rpb24mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+PTE0NDApcmV0dXJuImRpc2FibGV2cDloZnIifWlmKG4uTnMmJlcuTnM+bi5OcylyZXR1cm4icmF0ZWNhcCI7aWYobi5TJD4wJiZXLmZZKCkmJlcudmlkZW8uaGVpZ2h0Pm4uUyQpcmV0dXJuIm12aGNhcCI7bj1PRChELFcpO3JldHVybiBuIT09ITA/bjohMH07CkhBPWZ1bmN0aW9uKG4sVz1bXSl7Zy5iZihuLChELGIpPT57dmFyIHY9Yi5Ocy1ELk5zO2lmKCFELmZZKCl8fCFiLmZZKCkpcmV0dXJuIHY7dmFyIGs9Yi52aWRlby5oZWlnaHQqYi52aWRlby53aWR0aC1ELnZpZGVvLmhlaWdodCpELnZpZGVvLndpZHRoOyFrJiZXJiZXLmxlbmd0aD4wJiYoRD1XLmluZGV4T2YoRC5JQikrMSxiPVcuaW5kZXhPZihiLklCKSsxLGs9RD09PTB8fGI9PT0wP2J8fC0xOkQtYik7a3x8KGs9dik7cmV0dXJuIGt9KX07ClBBPWZ1bmN0aW9uKG4sVyl7aWYoVz5uLngkKCkpbi5zZWdtZW50cz1bXTtlbHNle3ZhciBEPWcuejQobi5zZWdtZW50cyxiPT5iLmokPj1XLG4pOwpEPjAmJm4uc2VnbWVudHMuc3BsaWNlKDAsRCl9fTsKWmM9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K24uTik7bi5OKz0xO3JldHVybiBXfTsKVUQ9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQxNihuLm9mZnNldCtuLk4pO24uTis9MjtyZXR1cm4gV307CnlMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRJbnQzMihuLm9mZnNldCtuLk4pO24uTis9NDtyZXR1cm4gV307CkVEPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50MzIobi5vZmZzZXQrbi5OKTtuLk4rPTQ7cmV0dXJuIFd9OwppMz1mdW5jdGlvbihuKXt2YXIgVz1uLmRhdGE7dmFyIEQ9bi5vZmZzZXQrbi5OO1c9Vy5nZXRVaW50MzIoRCkqNDI5NDk2NzI5NitXLmdldFVpbnQzMihEKzQpO24uTis9ODtyZXR1cm4gV307CnUzPWZ1bmN0aW9uKG4sVz1OYU4pe2lmKGlzTmFOKFcpKXZhciBEPW4uc2l6ZTtlbHNlIGZvcihEPW4uTjtEPG4uc2l6ZSYmbi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K0QpIT09VzspKytEO1c9bmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLk4rbi5kYXRhLmJ5dGVPZmZzZXQsRC1uLk4pO24uTj1NYXRoLm1pbihEKzEsbi5zaXplKTtyZXR1cm4gcFIoVyl9Owpvcj1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLmRhdGEuYnl0ZU9mZnNldCxuLnNpemUpfTsKZEY9ZnVuY3Rpb24obixXLEQsYil7KG5ldyBVaW50OEFycmF5KG4uZGF0YS5idWZmZXIsbi5vZmZzZXQsYikpLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixEK1cuYnl0ZU9mZnNldCxiKSk7bi5vZmZzZXQrPWJ9Owp6Xz1mdW5jdGlvbihuLFcpe3JldHVybiBOdW1iZXIobi5kYXRhW1ddKXx8MH07ClRfPWZ1bmN0aW9uKG4pe3JldHVybiBuLmRhdGFbIkN1ZXBvaW50LVR5cGUiXT9uZXcgZy5sMygtKE51bWJlcihuLmRhdGFbIkN1ZXBvaW50LVBsYXloZWFkLVRpbWUtU2VjIl0pfHwwKSxOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1Ub3RhbC1EdXJhdGlvbi1TZWMiXSl8fDAsbi5kYXRhWyJDdWVwb2ludC1Db250ZXh0Il0sbi5kYXRhWyJDdWVwb2ludC1JZGVudGlmaWVyIl18fCIiLG01altuLmRhdGFbIkN1ZXBvaW50LUV2ZW50Il18fCIiXXx8InVua25vd24iLChOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1QbGF5aGVhZC1UaW1lLVNlYyJdKXx8MCkqMUUzKTpudWxsfTsKako9ZnVuY3Rpb24obil7cmV0dXJuIE51bWJlcihuLmRhdGFbIlN0YXJ0LU1lZGlhLVRpbWUtVXMiXSkvMUU2fHwwfTsKQ2c9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tSWQiXT9uLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKTpbXX07CkJBPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXSlmb3IobGV0IEQgb2Ygbi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1EdXJhdGlvbi1VcyJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSkpVy5wdXNoKChOdW1iZXIoRCl8fDApLzFFNik7cmV0dXJuIFd9OwpGcD1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LUZyYW1lLUluZGV4Il0pZm9yKGxldCBEIG9mIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tU3RhcnQtRnJhbWUtSW5kZXgiXS5zcGxpdCgiLCIpLnNsaWNlKDAsLTEpKVcucHVzaChOdW1iZXIoRCl8fDApO3JldHVybiBXfTsKd0Y9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1UaW1lLVdpdGhpbi1BZC1VcyJdKWZvcihsZXQgRCBvZiBuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LVRpbWUtV2l0aGluLUFkLVVzIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKSlXLnB1c2goKE51bWJlcihEKXx8MCkvMUU2KTtyZXR1cm4gV307CmcuTWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdP24uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdOiIifTsKZy5Scj1mdW5jdGlvbihuKXtzd2l0Y2gobi5kYXRhWyJJcy1BZC1CcmVhay1GaW5pc2hlZCJdKXtjYXNlICJ0cnVlIjpyZXR1cm4gMTtjYXNlICJmYWxzZSI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19OwpRTD1mdW5jdGlvbihuKXt2YXIgVz17fTtuPW4uc3BsaXQoIlxyXG4iKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKyl7aWYobltEXS5sZW5ndGg9PT0wKXJldHVybiBXO2xldCBiPW5bRF0ubWF0Y2goLyhbXjpdKyk6XHMrKFtcU1xzXSspLyk7YiE9bnVsbCYmKFdbYlsxXV09YlsyXSl9cmV0dXJuIG51bGx9OwpnLm5zPWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vz1hcihiLnR5cGUpP1crODpXK2Iuc2l6ZX1yZXR1cm4gbnVsbH07Cld3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTk1Mjg2ODQ1Mik7bj1nLm5zKG4sMCwxOTUzNjU4MjIyKTtpZihEJiZuKXtELnNraXAoMSk7dmFyIGI9WmMoRCk8PDE2fFVEKEQpO0Quc2tpcCg0KTtiJjEmJkQuc2tpcCg4KTtiJjImJkQuc2tpcCg0KTtpZihiJjgpe2I9RC5OO3ZhciB2PUVEKEQpO0QuZGF0YS5zZXRVaW50MzIoRC5vZmZzZXQrYixXPjE/TWF0aC5jZWlsKHYqVyk6TWF0aC5mbG9vcih2KlcpKX1uLnNraXAoMSk7RD1aYyhuKTw8MTZ8VUQobik7aWYoRCYyNTYpe2I9RCYxO3Y9RCY0O3ZhciBrPUQmNTEyLGg9RCYxMDI0LHg9RCYyMDQ4O0Q9RUQobik7YiYmbi5za2lwKDQpO3YmJm4uc2tpcCg0KTtiPShrPzQ6MCkrKGg/NDowKSsoeD80OjApO2Zvcih2PTA7djxEO3YrKylrPW4uTixoPUVEKG4pLG4uZGF0YS5zZXRVaW50MzIobi5vZmZzZXQrayxXPjE/TWF0aC5jZWlsKGgqVyk6TWF0aC5mbG9vcihoKlcpKSxuLnNraXAoYil9fX07ClZMPWZ1bmN0aW9uKG4sVyl7aWYobi5ieXRlTGVuZ3RoLVc8OClyZXR1cm4hMTt2YXIgRD1uLmdldFVpbnQzMihXKTtpZihEPDh8fG4uYnl0ZUxlbmd0aC1XPEQpcmV0dXJuITE7Zm9yKEQ9NDtEPDg7RCsrKXtsZXQgYj1uLmdldEludDgoVytEKTtpZihiPDQ4fHxiPjEyMilyZXR1cm4hMX1yZXR1cm4hMH07CmNBPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRVaW50MzIoVyksYj1uLmdldFVpbnQzMihXKzQpO3JldHVybiBuZXcgRF8obixXLEQsYil9OwpnLmJMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50OChuLmRhdGFPZmZzZXQpPzIwOjEyO3JldHVybiBuLmRhdGEuZ2V0VWludDMyKG4uZGF0YU9mZnNldCtXKX07CnZ3PWZ1bmN0aW9uKG4pe249bmV3IERhdGFWaWV3KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpO3JldHVybihuPWcubnMobiwwLDE4MzY0NzY1MTYpKT9nLmJMKG4pOk5hTn07Cmt4PWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vys9Yi5zaXplfXJldHVybiBudWxsfTsKYXI9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0xNzAxMDgyMjI3fHxuPT09MTgzNjAxOTU1OHx8bj09PTE4MzYwMTk1NzR8fG49PT0xODM1Mjk3MTIxfHxuPT09MTgzNTYyNjA4Nnx8bj09PTE5MzcwMDcyMTJ8fG49PT0xOTUzNjUzMDk0fHxuPT09MTk1MzY1MzA5OXx8bj09PTE4MzY0NzU3Njh9OwpLaDI9ZnVuY3Rpb24obil7dmFyIFc9Zy5ucyhuLDAsMTkzNzAxMTU1Nik7aWYoIVcpcmV0dXJuIG51bGw7Vz1reChuLFcuZGF0YU9mZnNldCs4LDE2MzUxNDg1OTMpfHxreChuLFcuZGF0YU9mZnNldCs4LDE2MzUxMzU1MzcpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPWt4KG4sVy5kYXRhT2Zmc2V0Kzc4LDE5MzY5OTUxNzIpLGI9a3gobixXLmRhdGFPZmZzZXQrNzgsMTkzNzEyNjI0NCk7aWYoIWIpcmV0dXJuIG51bGw7Vz1udWxsO2lmKEQpc3dpdGNoKEQuc2tpcCg0KSxaYyhEKSl7ZGVmYXVsdDpXPTA7YnJlYWs7Y2FzZSAxOlc9MjticmVhaztjYXNlIDI6Vz0xO2JyZWFrO2Nhc2UgMzpXPTI1NX12YXIgdj1EPW51bGwsaz1udWxsO2lmKGI9a3gobixiLmRhdGFPZmZzZXQsMTg4NjU0NzgxOCkpe2xldCBoPWt4KG4sYi5kYXRhT2Zmc2V0LDE4ODY1NDYwMjApLHg9a3gobixiLmRhdGFPZmZzZXQsMjAzNzY3MzMyOCk7aWYoIXgmJih4PWt4KG4sYi5kYXRhT2Zmc2V0LDE4MzYyNzk5MjApLAoheCkpcmV0dXJuIG51bGw7aCYmKGguc2tpcCg0KSxEPXlMKGgpLzY1NTM2LGs9eUwoaCkvNjU1MzYsdj15TChoKS82NTUzNik7bj1vcih4KTtuPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQrOCxuLmJ5dGVMZW5ndGgtOCk7cmV0dXJuIG5ldyBoWShXLEQsayx2LG4pfXJldHVybiBudWxsfTsKZy54eD1mdW5jdGlvbihuKXtpZihuLmRhdGEuZ2V0VWludDgobi5kYXRhT2Zmc2V0KSl7dmFyIFc9bi5kYXRhO249bi5kYXRhT2Zmc2V0KzQ7Vz1XLmdldFVpbnQzMihuKSo0Mjk0OTY3Mjk2K1cuZ2V0VWludDMyKG4rNCl9ZWxzZSBXPW4uZGF0YS5nZXRVaW50MzIobi5kYXRhT2Zmc2V0KzQpO3JldHVybiBXfTsKTHM9ZnVuY3Rpb24obil7bj1uZXcgRF8obi5kYXRhLG4ub2Zmc2V0LG4uc2l6ZSxuLnR5cGUsbi5KKTt2YXIgVz1aYyhuKTtuLnNraXAoNyk7dmFyIEQ9RUQobik7aWYoVz09PTApe1c9RUQobik7dmFyIGI9RUQobil9ZWxzZSBXPWkzKG4pLGI9aTMobik7bi5za2lwKDIpO3ZhciB2PVVEKG4pLGs9W10saD1bXTtmb3IobGV0IHg9MDt4PHY7eCsrKXtsZXQgTD1FRChuKTtrLnB1c2goTCk7aC5wdXNoKEVEKG4pKTtuLnNraXAoNCl9cmV0dXJue3RpbWVzY2FsZTpELGY4OlcsTm86YixIczprLHFnOmh9fTsKZy5lUD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wLGI9W107VkwobixEKTspe2xldCB2PWNBKG4sRCk7di50eXBlPT09VyYmYi5wdXNoKHYpO0Q9YXIodi50eXBlKT9EKzg6RCt2LnNpemV9cmV0dXJuIGJ9OwpnQT1mdW5jdGlvbihuKXtuLnNraXAoNCk7cmV0dXJue1d6OnUzKG4sMCksdmFsdWU6dTMobiwwKSx0aW1lc2NhbGU6RUQobiksbzc6RUQobiksZXZlbnREdXJhdGlvbjpFRChuKSxpZDpFRChuKSxadzp1MyhuKSxvZmZzZXQ6bi5vZmZzZXR9fTsKZy5xaz1mdW5jdGlvbihuKXt2YXIgVz1reChuLDAsMTcwMTY3MTc4Myk7aWYoIVcpcmV0dXJuIG51bGw7dmFyIEQ9Z0EoVyksYj1ELld6O0Q9UUwoRC5adyk7aWYobj1reChuLFcub2Zmc2V0K1cuc2l6ZSwxNzAxNjcxNzgzKSlpZihuPWdBKG4pLG49UUwobi5adyksRCYmbilmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobikpRFt2XT1uW3ZdO3JldHVybiBEP25ldyBYNShELGIpOm51bGx9OwpHaj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1reChuLDAsVyk7RDspe3ZhciBiPUQ7Yi50eXBlPTE5MzY0MTkxODQ7Yi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpO0Q9a3gobixELm9mZnNldCtELnNpemUsVyl9fTsKUElDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTkzNzAxMTU1NiksYj1nLm5zKG4sMCwxOTUzNjU0MTM2KTtpZighRHx8IWJ8fG4uZ2V0VWludDMyKEQub2Zmc2V0KzEyKT49MilyZXR1cm4gbnVsbDt2YXIgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoKSxrPWcubnModiwwLDE5MzcwMTE1NTYpO2lmKCFrKXJldHVybiBudWxsO1c9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzgpO2I9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzEyKTtpZihiIT09MTcwMTczMzIxNyYmYiE9PTE3MDE3MzMyMzgpcmV0dXJuIG51bGw7Yj1uZXcgT0t0KG4uYnl0ZUxlbmd0aCtXKTtkRihiLG4sMCxELm9mZnNldCsxMik7Yi5kYXRhLnNldEludDMyKGIub2Zmc2V0LDIpO2Iub2Zmc2V0Kz00O2RGKGIsbixELm9mZnNldCsxNixELnNpemUtMTYpO2RGKGIsdix2LmJ5dGVPZmZzZXQray5kYXRhT2Zmc2V0KzgsVyk7ZEYoYixuLEQub2Zmc2V0K0Quc2l6ZSxuLmJ5dGVMZW5ndGgtCihELm9mZnNldCtELnNpemUpKTtEPVsxODM2MDE5NTc0LDE5NTM2NTMwOTksMTgzNTI5NzEyMSwxODM1NjI2MDg2LDE5MzcwMDcyMTIsMTkzNzAxMTU1Nl07Zm9yKGxldCBoIG9mIEQpRD1nLm5zKG4sMCxoKSxiLmRhdGEuc2V0VWludDMyKEQub2Zmc2V0LEQuc2l6ZStXKTtuPWcubnMoYi5kYXRhLDAsMTk1MzY1NDEzNik7Yi5kYXRhLnNldFVpbnQzMihuLm9mZnNldCsxNiwyKTtyZXR1cm4gYi5kYXRhfTsKWktaPWZ1bmN0aW9uKG4pe3ZhciBXPWcubnMobiwwLDE5MzcwMTE1NTYpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPW4uZ2V0VWludDMyKFcuZGF0YU9mZnNldCsxMik7aWYoRCE9PTE3MDE3MzMyMTcmJkQhPT0xNzAxNzMzMjM4KXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCsyNCsoRD09PTE3MDE3MzMyMTc/Mjg6NzgpLDE5MzYyODkzODIpO2lmKCFXKXJldHVybiBudWxsO0Q9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzcpO2lmKCFEfHxuLmdldFVpbnQzMihELm9mZnNldCsxMikhPT0xNjY3MzkyMzcxKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzMpO2lmKCFXKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5NTI4MDQ0NTEpO2lmKCFXKXJldHVybiBudWxsO0Q9bmV3IFVpbnQ4QXJyYXkoMTYpO2ZvcihsZXQgYj0wO2I8MTY7YisrKURbYl09bi5nZXRJbnQ4KFcub2Zmc2V0KzE2K2IpO3JldHVybiBEfTsKWXg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyB0WShEKTtpZighJHgoYixuKSlyZXR1cm4hMTtiPXJBKGIpO2lmKCFzWShiLFcpKXJldHVybiExO2ZvcihuPTA7VzspVz4+Pj04LG4rKztXPWIuc3RhcnQrYi5wb3M7dmFyIHY9TmsoYiwhMCk7Yj1uKyhiLnN0YXJ0K2IucG9zLVcpK3Y7Yj1iPjk/cHMoYi05LDgpOnBzKGItMiwxKTtuPVctbjtELnNldFVpbnQ4KG4rKywyMzYpO2ZvcihXPTA7VzxiLmxlbmd0aDtXKyspRC5zZXRVaW50OChuKyssYltXXSk7cmV0dXJuITB9Owpwcz1mdW5jdGlvbihuLFcpe1d8fChXPU1hdGguY2VpbChNYXRoLmxvZyhuKzIpL01hdGgubG9nKDIpLzcpKTtmb3IodmFyIEQ9MTw8OC1XLGI9W107Yi5sZW5ndGg8Vy0xOyliLnVuc2hpZnQobiUyNTYpLG49TWF0aC5mbG9vcihuLzI1Nik7Yi51bnNoaWZ0KG58RCk7cmV0dXJuIGJ9OwpVNVo9ZnVuY3Rpb24obil7dmFyIFc9bmV3IHRZKG4pO1cuT0ooKTtpZigkeChXLFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdKSlXPXJBKFcpO2Vsc2UgcmV0dXJuIG51bGw7Zm9yKHZhciBEPW49bnVsbDshSHcoVyk7KXt2YXIgYj1OayhXLCExKTtpZihiPT09MjE0MzIpc3dpdGNoKGZzKFcpKXtkZWZhdWx0Om49MDticmVhaztjYXNlIDE6bj0xO2JyZWFrO2Nhc2UgMzpuPTI7YnJlYWs7Y2FzZSAxNTpuPTI1NX1lbHNlIGI9PT0zMDMyMD9EPXJBKFcpOkpZKFcpfWlmKCFEKXJldHVybiBudWxsO2Zvcih2YXIgdixrPWI9Vz1udWxsOyFIdyhEKTspc3dpdGNoKE5rKEQsITEpKXtjYXNlIDMwMzIxOmlmKGZzKEQpIT09MylyZXR1cm4gbnVsbDticmVhaztjYXNlIDMwMzI0Olc9SUIoRCk7YnJlYWs7Y2FzZSAzMDMyMzprPUlCKEQpO2JyZWFrO2Nhc2UgMzAzMjU6Yj1JQihEKTticmVhaztjYXNlIDMwMzIyOnY9TmsoRCwhMCk7dj1TUChELHYpO3Y9bmV3IERhdGFWaWV3KHYuYnVmZmVyLAp2LmJ5dGVPZmZzZXQsdi5ieXRlTGVuZ3RoKTticmVhaztkZWZhdWx0OkpZKEQpfXJldHVybiB2P25ldyBoWShuLFcsayxiLHYpOm51bGx9OwokeD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtpZighc1kobixXW0RdKSlyZXR1cm4hMTtEIT09Vy5sZW5ndGgtMSYmTmsobiwhMCl9cmV0dXJuITB9OwpyQT1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPW4uTi5ieXRlT2Zmc2V0K24ucG9zO0Q9bmV3IERhdGFWaWV3KG4uTi5idWZmZXIsRCxNYXRoLm1pbihXLG4uTi5idWZmZXIuYnl0ZUxlbmd0aC1EKSk7RD1uZXcgdFkoRCxuLnN0YXJ0K24ucG9zKTtuLnBvcys9VztyZXR1cm4gRH07CnNZPWZ1bmN0aW9uKG4sVyxEPSExKXtpZihIdyhuKSlyZXR1cm4hMTtmb3IodmFyIGI9bi5wb3M7TmsobiwhMSkhPT1XOylpZihKWShuKSxiPW4ucG9zLEh3KG4pKXJldHVybiExO0QmJihuLnBvcz1iKTtyZXR1cm4hMH07Ck5rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QVkobik7aWYoRD09PTEpe0Q9MDtmb3IoVz0wO1c8NztXKyspRD1EKjI1NitBWShuKTtyZXR1cm4gRH12YXIgYj0xMjg7Zm9yKGxldCB2PTA7djw2JiZiPkQ7disrKUQ9RCoyNTYrQVkobiksYio9MTI4O3JldHVybiBXP0QtYjpEfTsKSHc9ZnVuY3Rpb24obil7cmV0dXJuIG4ucG9zPj1uLk4uYnl0ZUxlbmd0aH07CmZzPWZ1bmN0aW9uKG4pe3ZhciBXPU5rKG4sITApLEQ9QVkobik7Zm9yKGxldCBiPTE7YjxXO2IrKylEPUQqMjU2K0FZKG4pO3JldHVybiBEfTsKSlk9ZnVuY3Rpb24obil7dmFyIFc9TmsobiwhMCk7bi5wb3MrPVd9OwpJQj1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPTA7Vz09PTQ/RD1uLk4uZ2V0RmxvYXQzMihuLnBvcyk6Vz09PTgmJihEPW4uTi5nZXRGbG9hdDY0KG4ucG9zKSk7bi5wb3MrPVc7cmV0dXJuIER9OwpTUD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrbi5wb3MsVyk7bi5wb3MrPVc7cmV0dXJuIER9OwptdD1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKTtyZXR1cm4gcFIoU1AobixXKSl9OwpBWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmdldFVpbnQ4KG4ucG9zKyspfTsKeUhyPWZ1bmN0aW9uKG4pe2lmKCFzWShuLDQ0MDc4Njg1MSwhMCkpcmV0dXJuIG51bGw7dmFyIFc9bi5wb3M7TmsobiwhMSk7dmFyIEQ9TmsobiwhMCkrbi5wb3MtVztuLnBvcz1XK0Q7aWYoIXNZKG4sNDA4MTI1NTQzLCExKSlyZXR1cm4gbnVsbDtOayhuLCEwKTtpZighc1kobiwzNTcxNDkwMzAsITApKXJldHVybiBudWxsO3ZhciBiPW4ucG9zO05rKG4sITEpO3ZhciB2PU5rKG4sITApK24ucG9zLWI7bi5wb3M9Yit2O2lmKCFzWShuLDM3NDY0ODQyNywhMCkpcmV0dXJuIG51bGw7dmFyIGs9bi5wb3M7TmsobiwhMSk7dmFyIGg9TmsobiwhMCkrbi5wb3Mtayx4PW5ldyBVaW50OEFycmF5KEQrMTIrditoKSxMPW5ldyBEYXRhVmlldyh4LmJ1ZmZlcik7eC5zZXQobmV3IFVpbnQ4QXJyYXkobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCtXLEQpKTtMLnNldFVpbnQzMihELDQwODEyNTU0Myk7TC5zZXRVaW50MzIoRCs0LDMzNTU0NDMxKTtMLnNldFVpbnQzMihEKzgsNDI5NDk2NzI5NSk7Cnguc2V0KG5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrYix2KSxEKzEyKTt4LnNldChuZXcgVWludDhBcnJheShuLk4uYnVmZmVyLG4uTi5ieXRlT2Zmc2V0K2ssaCksRCsxMit2KTtyZXR1cm4geH07CktzPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9zO24ucG9zPTA7dmFyIEQ9MUU2OyR4KG4sWzQwODEyNTU0MywzNTcxNDkwMzAsMjgwNzcyOV0pJiYoRD1mcyhuKSk7bi5wb3M9VztyZXR1cm4gRH07ClB3PWZ1bmN0aW9uKG4pe2lmKCFPWShuKXx8IXNZKG4sNTI0NTMxMzE3KSlyZXR1cm4hMTtOayhuLCEwKTtyZXR1cm4hMH07CkVFWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucG9zO24ucG9zPTA7aWYobi5OLmdldFVpbnQ4KG4ucG9zKSE9PTE2MCYmIVB3KG4pfHwhc1kobiwxNjApKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTt2YXIgYj1uLnBvcztpZighc1kobiwxNjEpKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTtBWShuKTt2YXIgdj1BWShuKTw8OHxBWShuKTtuLnBvcz1iO2lmKCFzWShuLDE1NSkpcmV0dXJuIG4ucG9zPUQsTmFOO2I9ZnMobik7bi5wb3M9RDtyZXR1cm4oditiKSpXLzFFOX07Ck9ZPWZ1bmN0aW9uKG4pe2lmKG4uT0ooKSl7aWYoIXNZKG4sNDA4MTI1NTQzKSlyZXR1cm4hMTtOayhuLCEwKX1yZXR1cm4hMH07ClpfPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5pbmRleE9mKCI/Iik7aWYoRD4wKXtsZXQgYj1nNygxLDUwLFcuc3Vic3RyaW5nKEQrMSkpO2cuYV8oYixmdW5jdGlvbih2LGspe3RoaXMuc2V0KGssdil9LG4pOwpXPVcuc3Vic3RyaW5nKDAsRCl9Vz1pcCgxNSw4MjUsVyk7Zy5hXyhXLGZ1bmN0aW9uKGIsdil7dGhpcy5zZXQodixiKX0sbil9OwppS1U9ZnVuY3Rpb24obil7dmFyIFc9bi5BTy5XRCgpLEQ9W107Zy5hXyhuLk4sKHYsayk9PntELnB1c2goYCR7a309JHt2fWApfSk7CmlmKCFELmxlbmd0aClyZXR1cm4gVzt2YXIgYj1ELmpvaW4oIiYiKTtuPVAwKDgzLDY1ODgsbi5BTyk/IiYiOiI/IjtyZXR1cm4gVytuK2J9OwpVWT1mdW5jdGlvbihuLFcpe25bV118fChuW1ddPW5ldyB1VGkpO3JldHVybiBuW1ddfTsKeWY9ZnVuY3Rpb24obixXPSExKXtXJiYobi5KKz0xKTtuLk4rPTF9OwpvRWk9ZnVuY3Rpb24obixXPSExKXtuLnRpbWVkT3V0Kz0xO1cmJnlmKG4sITApfTsKemo9ZnVuY3Rpb24obixXPSExKXtXJiYobi5YPSgwLGcuUikoKSxuLko9MCk7bi5WPSgwLGcuUikoKTtuLnN0YXJ0ZWQ9MDtuLnRpbWVkT3V0PTA7bi5OPTB9OwpsTD1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRClyZXR1cm4gMTw8TWF0aC5taW4obi5KLDUpO0Q9bi5zdGFydGVkK24uTio0O1cmJihEKz1uLlcpO0Q9TWF0aC5tYXgoMCxELTMpO3JldHVybiAxLjYqKkR9OwpqUD1mdW5jdGlvbihuLFcsRCl7aWYoZ1ooMzgsMTIwMixuLk4pKXJldHVybiExO3ZhciBiPVVZKEQsUjAoMzUsMzUwNyxuLk4pKTtpZihiLnRpbWVkT3V0PDEmJmIuTjwxKXJldHVybiExO2I9Yi50aW1lZE91dCtiLk47bj1UaihuLFcpO0Q9VVkoRCxSMCgzMiwzNTA0LG4pKTtyZXR1cm4gRC50aW1lZE91dCtELk4rMDxifTsKVGo9ZnVuY3Rpb24obixXKXtXPVc/Vy5vTTohMTtuLlh8fChuLlg9WGQobi5XLFcpKTtyZXR1cm4gbi5YfTsKQnc9ZnVuY3Rpb24obixXLEQpe249Vz9UaihuLEQpOm4uTjtyZXR1cm4gbmV3IENzKG4pfTsKRjU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBSMCgzNSwzNTA3LFc/VGoobixEKTpuLk4pfTsKd0E9ZnVuY3Rpb24obixXLEQsYix2KXsrK24uSjtXJiYrK24uVjtSMCgzMiwzNTA0LEQuQU8pLnN0YXJ0c1dpdGgoInJlZGlyZWN0b3IuIikmJihuLk49bi5XLmNsb25lKCksZGVsZXRlIG4uWCxiLnBFJiZkZWxldGUgdltSMCg2NywzNTM5LG4uTildKX07Ck1rPWZ1bmN0aW9uKG4pe3JldHVybiBuP2Ake24uaXRhZ3x8IiJ9OyR7bi5sbXR8fDB9OyR7bi54dGFnc3x8IiJ9YDoiIn07ClFmPWZ1bmN0aW9uKG4sVyl7bi5pbmZvJiZuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIiYmIW4uTyYmKGcuUkIobi5pbmZvKT9uLk89S2gyKFcpOm4uaW5mby5xSCgpJiYobi5PPVU1WihXKSkpfTsKY3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWsoZy5WZihuLmluZm8sVykpfTsKbno9ZnVuY3Rpb24obil7bj1uLnNwbGl0KCItIik7dmFyIFc9TnVtYmVyKG5bMF0pLEQ9TnVtYmVyKG5bMV0pO2lmKCFpc05hTihXKSYmIWlzTmFOKEQpJiZuLmxlbmd0aD09PTImJihuPW5ldyBhQihXLEQpLCFpc05hTihuLnN0YXJ0KSYmIWlzTmFOKG4uZW5kKSYmIWlzTmFOKG4ubGVuZ3RoKSYmbi5sZW5ndGg+MCkpcmV0dXJuIG59OwpXXz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgYUIobixuK1ctMSl9OwpESj1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gbmV3IGFCKDAsMCk7dmFyIFc9TnVtYmVyKG4uc3RhcnQpO249TnVtYmVyKG4uZW5kKTtpZighaXNOYU4oVykmJiFpc05hTihuKSYmKFc9bmV3IGFCKFcsbiksVy5sZW5ndGg+MCkpcmV0dXJuIFd9OwpkNXc9ZnVuY3Rpb24obil7bi5sZW5ndGg9PT0xfHxnLmR6KG4sRD0+ISFELnJhbmdlKTsKZm9yKHZhciBXPTE7VzxuLmxlbmd0aDtXKyspO1c9bltuLmxlbmd0aC0xXTtyZXR1cm4gbmV3IGFCKG5bMF0ucmFuZ2Uuc3RhcnQrblswXS5OLFcucmFuZ2Uuc3RhcnQrVy5OK1cuSi0xKX07CmJUPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUEo9PT1XLlBKP24ucmFuZ2UmJlcucmFuZ2U/bi5yYW5nZS5zdGFydCtuLk4rbi5KPT09Vy5yYW5nZS5zdGFydCtXLk46bi5qJD09PVcuaiQ/bi5OK24uSj09PVcuTjpuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaOiExfTsKdl89ZnVuY3Rpb24obil7bi5YPW4uc2VnbWVudFN0YXJ0VGltZTtuLks9bi5XO24uaj1uLlgrbi5LfTsKa049ZnVuY3Rpb24obil7cmV0dXJuIG4ucmFuZ2U/bi5qOk1hdGgubWluKG4uc2VnbWVudFN0YXJ0VGltZStNYXRoLm1pbihuLk4vbi5QSi5pbmZvLk5zLG4uVykrKG4ucmFuZ2U/bi5LOk1hdGgubWluKG4uVyxuLkovbi5QSi5pbmZvLk5zKSksbi5zZWdtZW50U3RhcnRUaW1lK24uVyl9Owp6QTI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPSEoIVd8fFcuUEohPT1uLlBKfHxXLnR5cGUhPT1uLnR5cGV8fFcuaiQhPT1uLmokKTtyZXR1cm4gRD9iJiYhIVcmJihuLnJhbmdlJiZXLnJhbmdlP1cucmFuZ2UuZW5kPT09bi5yYW5nZS5lbmQ6Vy5yYW5nZT09PW4ucmFuZ2UpJiZXLk4rVy5KPT09bi5OK24uSjpifTsKaEo9ZnVuY3Rpb24obil7cmV0dXJuIG4udHlwZT09PTF8fG4udHlwZT09PTJ9Owp4Tj1mdW5jdGlvbihuKXtyZXR1cm4gbi50eXBlPT09M3x8bi50eXBlPT09Nn07Ckx6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGJUKG4sVyl8fE1hdGguYWJzKG4uai1XLlgpPD0xRS02fHxuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaPyEwOiExfTsKZXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5qJCE9PVcuaiQmJlcuaiQhPT1uLmokKzF8fG4udHlwZSE9PVcudHlwZT8hMTpiVChuLFcpPyEwOk1hdGguYWJzKG4uWC1XLlgpPD0xRS02JiZuLmokPT09Vy5qJD8hMTpMeihuLFcpfTsKZ2s9ZnVuY3Rpb24obil7cmV0dXJuIG4uaiQrKG4uYVo/MTowKX07Clh4PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O1cuaXRhZz1uLlBKLmluZm8uaXRhZztXLnR5cGU9YCR7bi50eXBlfWA7Vy5zcmM9YCR7bi5zb3VyY2V9YDtXLnNlZ3NyYz1uLlk7Vy5zZWc9U3RyaW5nKG4uaiQpO24ucmFuZ2UmJihXLnJhbmdlPWAke24ucmFuZ2Uuc3RhcnQrbi5OfS0ke24ucmFuZ2Uuc3RhcnQrbi5OK24uSi0xfWApO1cudGltZT1gJHtuLlgudG9GaXhlZCgxKX0tJHsobi5YK24uSykudG9GaXhlZCgxKX1gO1cub2ZmPVN0cmluZyhuLk4pO1cubGVuPVN0cmluZyhuLkopO24uYVomJihXLmVuZD0iMSIpO24uVigpJiYoVy5lb3M9IjEiKTtuLmNsaXBJZCYmKFcuY2lkPW4uY2xpcElkKTtyZXR1cm4gV307CmxEeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IHFJKG4udHlwZSxuLlBKLG4ucmFuZ2UsImdldEVtcHR5U3R1YkJlZm9yZSIrbi5ZLG4uaiQsbi5zZWdtZW50U3RhcnRUaW1lLDAsbi5OLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKVEQxPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgcUkobi50eXBlLG4uUEosbi5yYW5nZSwiZ2V0RW1wdHlTdHViQWZ0ZXIiK24uWSxuLmokLG4uc2VnbWVudFN0YXJ0VGltZStuLlcsMCxuLk4rbi5KLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKR1A9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIG5ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJyZXNsaWNlIituLlksbi5qJCxuLnNlZ21lbnRTdGFydFRpbWUsbi5XLFcsRCxiLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKdEo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5yYW5nZSYmVy5yYW5nZT9uLnJhbmdlLnN0YXJ0K24uTj49Vy5yYW5nZS5zdGFydCtXLk4mJm4ucmFuZ2Uuc3RhcnQrbi5OK24uSjw9Vy5yYW5nZS5zdGFydCtXLk4rVy5KOm4uaiQ9PT1XLmokJiZuLk4+PVcuTiYmKG4uTituLko8PVcuTitXLkp8fFcuYVopfTsKJE49ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5jSigpJiZXLnR5cGU9PT0zJiZuLlBKLk4oKT8obj1uLlBKLlZRKG4pLGcub00obixEPT4kTihELFcpKSk6bi5qJD09PVcuaiQmJiEhVy5KJiZXLk4rVy5KPm4uTiYmVy5OK1cuSjw9bi5OK24uSn07Ck92PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCksRD1uLmg1KCksYj1ELmVfKCksdj1uLkcoKSxrPW4uZDAoKSxoPWsuVDEqOC8xMDI0LHg9ay54WS8xMDI0LEw9ay5LVCxlPWsuU1UsRz1rLk1BLHI9RC5nZXRDdXJyZW50VGltZSgpLnRvRml4ZWQoMiksTj1yayhELkooKSwiLCIsMyk7dmFyIEg9IiI7aWYoVy5pc0RhaUVuYWJsZWQoKSl7SD1OSShXKT9IKyJNViI6Vy5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaT9IKyJTUyI6SCsiQ1MiO0g9Vy5ERigpP0grIkxJRkEsICI6SCsiREFJLCAiO1cuYlYmJihIKz0iREFJRkIsICIpO3ZhciBBPWsuZEM7QSYmKEgrPUEpfWVsc2UgVy5LZj9IKz0iQ1NEQUksICI6Vy5KbD9IKz0iRFNEQUksICI6Vy5qRiYmKEgrPSJVU0RBSSwgIik7cHooVykmJiFXLkRGKCkmJihIKz0iTElGQUUsICIpO2cuWU4oVykmJihIKz0iU0FCUiwgIik7aWYoVy5mZXRjaFR5cGUpe3N3aXRjaChXLmZldGNoVHlwZSl7Y2FzZSAib25lc2llIjpBPSJvIjticmVhazsKY2FzZSAiZ3AiOkE9ImdwIjticmVhaztkZWZhdWx0OkE9Imd2aSJ9SCs9YHZkOiR7QX0sIGB9KEE9di5qXygpKSYmKEg9QS5pc0FzbWpzP0grIndhLCAiOkgrIncsICIpO0grPWBzOiR7R30gdDoke3J9IGI6JHtOfSBgO0QuaXNTZWVraW5nKCkmJihIKz0iUyIpO0QuaXNQYXVzZWQoKSYmKEgrPSJQIik7RC5pc0VuZGVkKCkmJihIKz0iRSIpO24uaXNPcmNoZXN0cmF0aW9uTGVhZGVyKCkmJihIKz0iIEwiKTsoRD1rLmVJKSYmKEgrPWAgbDoke0QudG9GaXhlZCgpfWApO0Q9ay5jdXJyZW50VGltZTtHPVcueW47RCYmRD5HLnN0YXJ0JiZEPEcuZW5kJiYoSCs9IiBhcyIpO0Q9UFYob0wpKCJfc3RhcnQiLHZvaWQgMCk7Rz1bXTtmb3IoeSBvZlsicGxfaSIsInZpciIsIm9yX3AiLCJvcmZiIiwicGJzIl0pKHI9UFYob0wpKHksdm9pZCAwKSkmJkQmJihyLT1ELEcucHVzaChgJHt5fToke01hdGgucm91bmQocil9YCkpO3ZhciB5PUcuam9pbigiICIpO0Q9Zy5IXygpO0c9Zy5meihuKS52VDtyPQpXLlcmJiFXLlcuTigpPyJkaXNwbGF5Om5vbmUiOiIiO2lmKChOPVcuY2xpZW50UGxheWJhY2tOb25jZSkmJk4ubGVuZ3RoPT0xNil7Tis9IkFBQUEiO0E9MDt2YXIgVD0iIjtmb3IobGV0IEM9MDtDPDIwO0MrKylpZihBPShBPDw2KSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuaW5kZXhPZihOLmNoYXJBdChDKSksQyU1PT00KXtsZXQgUT0iIjtmb3IobGV0IFY9MDtWPDY7VisrKVE9IjAxMjM0NTY3ODlBQkNERUZHSEpLTU5QUVJTVFZXWFlaIi5jaGFyQXQoQSYzMSkrUSxBPj49NTtUKz1RfU49YCR7VC5zdWJzdHIoMCw0KX0gJHtULnN1YnN0cig0LDQpfSAke1Quc3Vic3RyKDgsNCl9ICR7VC5zdWJzdHIoMTIsNCl9ICR7VC5zdWJzdHIoMTYsNCl9YH1lbHNlIE49IiI7aD17dmlkZW9faWRfYW5kX2NwbjpTdHJpbmcoVy52aWRlb0lkKSsiIC8gIitOLGNvZGVjczoiIixkaW1zX2FuZF9mcmFtZXM6IiIsYmFuZHdpZHRoX2ticHM6YCR7aC50b0ZpeGVkKDApfSBLYnBzYCwKYnVmZmVyX2hlYWx0aF9zZWNvbmRzOmAke0wudG9GaXhlZCgyKX0gc2AsZGF0ZTpgJHsobmV3IERhdGUpLnRvU3RyaW5nKCl9YCxkcm1fc3R5bGU6ZT8iIjoiZGlzcGxheTpub25lIixkcm06ZSxkZWJ1Z19pbmZvOkgsZXh0cmFfZGVidWdfaW5mbzoiIixiYW5kd2lkdGhfc3R5bGU6cixuZXR3b3JrX2FjdGl2aXR5X3N0eWxlOnIsbmV0d29ya19hY3Rpdml0eV9ieXRlczpgJHt4LnRvRml4ZWQoMCl9IEtCYCxzaGFkZXJfaW5mbzpHLHNoYWRlcl9pbmZvX3N0eWxlOkc/IiI6ImRpc3BsYXk6bm9uZSIscGxheWJhY2tfY2F0ZWdvcmllczoiIn07eD1gJHtiLmNsaWVudFdpZHRofXgke2IuY2xpZW50SGVpZ2h0fWArKEQ+MT9gKiR7RC50b0ZpeGVkKDIpfWA6IiIpO0w9Ii0iO2sudG90YWxWaWRlb0ZyYW1lcyYmKEw9YCR7ay5kcm9wcGVkVmlkZW9GcmFtZXN8fDB9IGRyb3BwZWQgb2YgJHtrLnRvdGFsVmlkZW9GcmFtZXN9YCk7aC5kaW1zX2FuZF9mcmFtZXM9YCR7eH0gLyAke0x9YDtlPW4uZ2V0Vm9sdW1lKCk7Cm49Vy5oZzt4PW4uTjtMPU1hdGgucm91bmQoZSk7ZT1NYXRoLnJvdW5kKGUqKHg/LlpyPz8xKSk7SD0iIjtXLlg/LmF1ZGlvLk4/SD0iIFZCIjpXLlg/LmF1ZGlvLlcmJihIPSIgRFJDIik7RD0iIjt4Py5mZCE9bnVsbD9EKz1gY29udC4ke3guZmQudG9GaXhlZCgxKX1kQmA6bi5RTyE9bnVsbCYmKEQrPWBsaXZlLiR7bi5RTy50b0ZpeGVkKDEpfWRCYCk7eD8ucHkhPW51bGwmJihEKz1gIHRndC4ke3gucHkudG9GaXhlZCgxKX1kQmApO0QmJihEPWAgKCR7RH0pYCk7aC52b2x1bWU9YCR7TH0lLyR7ZX0lJHtIfSR7RH1gO2gucmVzb2x1dGlvbj1gJHtiLnZpZGVvV2lkdGh9eCR7Yi52aWRlb0hlaWdodH1gO2lmKGI9Vy5KKXtpZihuPWIudmlkZW8peD1uLmZwcyx4PjEmJihoLnJlc29sdXRpb24rPWBAJHt4fWApLCh4PWsuTHQpJiZ4LnZpZGVvJiYoaC5yZXNvbHV0aW9uKz1gIC8gJHt4LnZpZGVvLndpZHRofXgke3gudmlkZW8uaGVpZ2h0fWAseC52aWRlby5mcHM+MSYmKGgucmVzb2x1dGlvbis9CmBAJHt4LnZpZGVvLmZwc31gKSksaC5jb2RlY3M9SkooYiksIVcuWHx8Yi5hdWRpbyYmYi52aWRlbz9iLkFhJiYoaC5jb2RlY3MrPWAgLyAke2IuQWF9QWApOmguY29kZWNzKz1gIC8gJHtKSihXLlgpfWAsbi5OfHxuLnByaW1hcmllcz8oeD1uLk58fCJ1bmtub3duIix4PT09InNtcHRlMjA4NCI/eD1gJHt4fSAoUFEpYDp4PT09ImFyaWItc3RkLWI2NyImJih4PWAke3h9IChITEcpYCksaC5jb2xvcj1gJHt4fSAvICR7bi5wcmltYXJpZXN8fCJ1bmtub3duIn1gLGguY29sb3Jfc3R5bGU9IiIpOmguY29sb3Jfc3R5bGU9ImRpc3BsYXk6bm9uZSI7aWYoYi5kZWJ1Z0luZm8pe2guZm10X2RlYnVnX2luZm89IiI7Zm9yKHZhciB6IG9mIGIuZGVidWdJbmZvKWguZm10X2RlYnVnX2luZm8rPWAke3oubGFiZWx9OiR7ei50ZXh0fSBgfWguZm10X2RlYnVnX2luZm9fc3R5bGU9aC5mbXRfZGVidWdfaW5mbyYmaC5mbXRfZGVidWdfaW5mby5sZW5ndGg+MD8iIjoiZGlzcGxheTpub25lIn16PVcuaXNMaXZlUGxheWJhY2s7CmI9Vy5YZztoLmxpdmVfbW9kZV9zdHlsZT16fHxiPyIiOiJkaXNwbGF5Om5vbmUiO2gubGl2ZV9sYXRlbmN5X3N0eWxlPXo/IiI6ImRpc3BsYXk6bm9uZSI7aWYoYiloLmxpdmVfbW9kZT0iUG9zdC1MaXZlIisoSTQoVyk/IiBNYW5pZmVzdGxlc3MiOiIiKTtlbHNlIGlmKHope2I9ay5wVDtoLmxpdmVfbGF0ZW5jeV9zZWNzPWAke2IudG9GaXhlZCgyKX1zYDt6PUk0KFcpPyJNYW5pZmVzdGxlc3MsICI6IiI7Vy5SSSYmKHorPSJXaW5kb3dlZCwgIik7bj0iVW5jZXJ0YWluIjtpZihiPj0wJiZiPDEyMClpZihXLmxhdGVuY3lDbGFzcyYmVy5sYXRlbmN5Q2xhc3MhPT0iVU5LTk9XTiIpc3dpdGNoKFcubGF0ZW5jeUNsYXNzKXtjYXNlICJOT1JNQUwiOm49Ik9wdGltaXplZCBmb3IgTm9ybWFsIExhdGVuY3kiO2JyZWFrO2Nhc2UgIkxPVyI6bj0iT3B0aW1pemVkIGZvciBMb3cgTGF0ZW5jeSI7YnJlYWs7Y2FzZSAiVUxUUkFMT1ciOm49Ik9wdGltaXplZCBmb3IgVWx0cmEgTG93IExhdGVuY3kiOwpicmVhaztkZWZhdWx0Om49IlVua25vd24gTGF0ZW5jeSBTZXR0aW5nIn1lbHNlIG49U3goVyk/Ik9wdGltaXplZCBmb3IgTG93IExhdGVuY3kiOiJPcHRpbWl6ZWQgZm9yIFNtb290aCBTdHJlYW1pbmciO3orPW47KGI9ay5GSSkmJih6Kz1gLCBzZXEgJHtiLnNlcXVlbmNlfWApO2gubGl2ZV9tb2RlPXp9di5leHBlcmltZW50cy5adCgpLk4uUVEoaldTKT9rLmlzR2FwbGVzcyYmIWsuZFQmJihoLnBsYXliYWNrX2NhdGVnb3JpZXM9ay5Ibz9oLnBsYXliYWNrX2NhdGVnb3JpZXMrIkdhcGxlc3MgIjpoLnBsYXliYWNrX2NhdGVnb3JpZXMrIlF1ZXVlZCAiKTohay5pc0dhcGxlc3N8fEFKKFcpJiZrLmRUfHwoaC5wbGF5YmFja19jYXRlZ29yaWVzKz0iR2FwbGVzcyAiKTtoLnBsYXliYWNrX2NhdGVnb3JpZXNfc3R5bGU9aC5wbGF5YmFja19jYXRlZ29yaWVzPyIiOiJkaXNwbGF5Om5vbmUiO2guYmFuZHdpZHRoX3NhbXBsZXM9ay5VJDtoLm5ldHdvcmtfYWN0aXZpdHlfc2FtcGxlcz1rLmRjOwpoLmxpdmVfbGF0ZW5jeV9zYW1wbGVzPWsuc0k7aC5idWZmZXJfaGVhbHRoX3NhbXBsZXM9ay5qeDt2PWcubU0oVyk7aWYoVy5jb3RufHx2KWguY290bl9hbmRfbG9jYWxfbWVkaWE9YCR7Vy5jb3RuP1cuY290bjoibnVsbCJ9IC8gJHt2fWA7aC5jb3RuX2FuZF9sb2NhbF9tZWRpYV9zdHlsZT1oLmNvdG5fYW5kX2xvY2FsX21lZGlhPyIiOiJkaXNwbGF5Om5vbmUiO0t6KFcsIndlYl9wbGF5ZXJfcmVsZWFzZV9kZWJ1ZyIpPyhoLnJlbGVhc2VfbmFtZT1JWzY1XSxoLnJlbGVhc2Vfc3R5bGU9IiIpOmgucmVsZWFzZV9zdHlsZT0iZGlzcGxheTpub25lIjtoLmRlYnVnX2luZm8mJnkubGVuZ3RoPjAmJmguZGVidWdfaW5mby5sZW5ndGgreS5sZW5ndGg8PTYwP2guZGVidWdfaW5mbys9IiAiK3k6aC5leHRyYV9kZWJ1Z19pbmZvPXk7aC5leHRyYV9kZWJ1Z19pbmZvX3N0eWxlPWguZXh0cmFfZGVidWdfaW5mbyYmaC5leHRyYV9kZWJ1Z19pbmZvLmxlbmd0aD4wPyIiOiJkaXNwbGF5Om5vbmUiOwpyZXR1cm4gaH07ClBfPWZ1bmN0aW9uKG4sVyxEKXtuLkorPVcuSjtuLnJhbmdlJiYobi5LKz1XLkspO24uaj1XLmo7bi5hWj1XLmFaO0QmJlcuYVomJihuLlc9Vy5XLG4uc2VnbWVudFN0YXJ0VGltZT1XLnNlZ21lbnRTdGFydFRpbWUsbi5YPW4uc2VnbWVudFN0YXJ0VGltZSxuLnJhbmdlfHwobi5LPW4uVykpfTsKWko9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmokO24uWT0idXBkYXRlV2l0aFNlZ21lbnRJbmZvIjtuLmokPUQ7aWYobi5zZWdtZW50U3RhcnRUaW1lIT09Vy5zdGFydFRpbWV8fG4uVyE9PVcuZHVyYXRpb24pbi5zZWdtZW50U3RhcnRUaW1lPVcuc3RhcnRUaW1lLG4uVz1XLmR1cmF0aW9uLHZfKG4pfTsKVXY9ZnVuY3Rpb24obil7cmV0dXJuIWhKKG4uQXdbbi5Bdy5sZW5ndGgtMV0pfTsKeXM9ZnVuY3Rpb24obil7cmV0dXJuIG4uQXdbbi5Bdy5sZW5ndGgtMV0uY0ooKX07CmcuRXY9ZnVuY3Rpb24obixXLEQpe0Q9bi5wUz09PW51bGw/bi5YYi5wUyhXLEQsbi5Bd1swXS50eXBlKTpuLnBTO2lmKG4uTil7Vz1EP1hkKG4uTixXLm9NKTpuLk47dmFyIGI9bmV3IENzKFcpO2IuZ2V0KCJhbHIiKXx8Yi5zZXQoImFsciIsInllcyIpO24uSiYmWl8oYixuLkopfWVsc2UvaHR0cFtzXT86XC9cLy8udGVzdChuLkopP2I9bmV3IENzKG5ldyBnLndaKG4uSikpOihiPUJ3KG4uWGIsRCxXKSxuLkomJlpfKGIsbi5KKSk7KFc9bi5yYW5nZSk/Yi5zZXQoInJhbmdlIixXLnRvU3RyaW5nKCkpOm4uQXdbMF0uUEouRCgpJiZuLkF3Lmxlbmd0aD09PTEmJm4uQXdbMF0uTiYmYi5zZXQoInJhbmdlIixgJHtuLkF3WzBdLk59LWApO24ucmVxdWVzdElkJiZiLnNldCgicmVxX2lkIixuLnJlcXVlc3RJZCk7aXNOYU4obi5aQSl8fGIuc2V0KCJoZWFkbSIsbi5aQS50b1N0cmluZygpKTtpc05hTihuLmopfHxiLnNldCgibWZmYSIsYCR7bi5qfW1zYCk7bi51cmxQYXJhbXMmJmcuYV8obi51cmxQYXJhbXMsCih2LGspPT57Yi5zZXQoayx2KX0pOwpyZXR1cm4gYn07CmRrPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkcoKSx2PXtodG1sNVByZWZlcmVuY2U6IkhUTUw1X1BSRUZfV0FOVFMiLGxhY3RNaWxsaXNlY29uZHM6U3RyaW5nKGcudkkoKSkscmVmZXJlcjpkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpLHNpZ25hdHVyZVRpbWVzdGFtcDoyMDY1NX0saz1nLm85KCk7bi5pc0F1dG9uYXYmJih2LmF1dG9uYXY9ITApO2suUVEoMTQxKSYmKHYuYXV0b25hdlN0YXRlPWsuUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTt2LmF1dG9DYXB0aW9uc0RlZmF1bHRPbj1rLlFRKDY2KTtpVChuKSYmKHYuYXV0b3BsYXk9ITApO2IuSyYmbi5jeWNUb2tlbiYmKHYuY3ljVG9rZW49bi5jeWNUb2tlbik7Yi5lbmFibGVQcml2YWN5RmlsdGVyJiYodi5lbmFibGVQcml2YWN5RmlsdGVyPSEwKTtuLmlzRmxpbmcmJih2LmZsaW5nPSEwKTt2YXIgaD1uLmZvcmNlQWRzVXJsO2lmKGgpe2s9e307dmFyIHg9W107aD1oLnNwbGl0KCIsIik7Zm9yKHZhciBMIG9mIGgpe3ZhciBlPQpMLnNwbGl0KCJ8Iik7ZS5sZW5ndGghPT0zfHxMLmluY2x1ZGVzKCI9Iil8fChlWzBdPWBicmVha3R5cGU9JHtlWzBdfWAsZVsxXT1gb2Zmc2V0PSR7ZVsxXX1gLGVbMl09YHVybD0ke2VbMl19YCk7aD17YWR0eXBlOiJ2aWRlb19hZCJ9O2Zvcih2YXIgRyBvZiBlKXtsZXQgW3osLi4uQ109Ry5zcGxpdCgiPSIpO2hbel09Qy5qb2luKCI9Iil9ZT1oLnVybDtsZXQgSD1oLnByZXNldGFkLEE9aC52aXJhbHJlc3BvbnNldXJsLHk9TnVtYmVyKGguY2FtcGFpZ25pZCksVD1oLmJpYmxpb3RlY2FhZGlkO2lmKGguYWR0eXBlPT09ImluX2Rpc3BsYXlfYWQiKWUmJihrLnVybD1lKSxIJiYoay5wcmVzZXRBZD1IKSxBJiYoay52aXJhbEFkUmVzcG9uc2VVcmw9QSkseSYmKGsudmlyYWxDYW1wYWlnbklkPVN0cmluZyh5KSksVCYmKGsuYmlibGlvdGVjYUFkSWQ9VCk7ZWxzZSBpZihoLmFkdHlwZT09PSJ2aWRlb19hZCIpe2xldCB6PXtvZmZzZXQ6e2tpbmQ6Ik9GRlNFVF9NSUxMSVNFQ09ORFMiLHZhbHVlOlN0cmluZyhOdW1iZXIoaC5vZmZzZXQpfHwKMCl9fTtpZihoPUNJWltoLmJyZWFrdHlwZV0pei5icmVha1R5cGU9aDtlJiYoei51cmw9ZSk7SCYmKHoucHJlc2V0QWQ9SCk7QSYmKHoudmlyYWxBZFJlc3BvbnNlVXJsPUEpO3kmJih6LnZpcmFsQ2FtcGFpZ25JZD1TdHJpbmcoeSkpO1QmJih6LmJpYmxpb3RlY2FBZElkPVQpO3gucHVzaCh6KX19T2JqZWN0LmtleXMoaykubGVuZ3RoPjA/di5mb3JjZUFkUGFyYW1ldGVycz17dmlkZW9BZHM6eCxpbkRpc3BsYXlBZDprfTp2LmZvcmNlQWRQYXJhbWV0ZXJzPXt2aWRlb0Fkczp4fX1uLmlzSW5saW5lUGxheWJhY2tOb0FkJiYodi5pc0lubGluZVBsYXliYWNrTm9BZD0hMCk7bi5pc0xpdmluZ1Jvb21EZWVwbGluayYmKHYuaXNMaXZpbmdSb29tRGVlcGxpbms9ITApO0w9bi5zUztpZihMIT1udWxsKXtMPXtzdGFydFdhbGx0aW1lOlN0cmluZyhMKX07aWYoRz1uLnptKUwubWFuaWZlc3REdXJhdGlvbj1TdHJpbmcoR3x8MTQ0MDApO3YubGl2ZUNvbnRleHQ9TH1uLm11dGVkQXV0b3BsYXkmJgoodi5tdXRlZEF1dG9wbGF5PSEwLEw9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCksTD8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd011dGVkQXV0b3BsYXlEdXJhdGlvbk1vZGUmJkw/LmVtYmVkc0hvc3RGbGFncz8uYWxsb3dNdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlLmluY2x1ZGVzKHVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pJiYodi5tdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlPXVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pKTtpZihuLmZCPzA6bi5QWCl2LnNwbGF5PSEwO0w9bi52bmQ7TD09PTUmJih2LnZuZD1MKTtMPXt9O2lmKEc9bi5pc01keFBsYXliYWNrKUwudHJpZ2dlcmVkQnlNZHg9RztpZihHPW4uRmYpTC5za2lwcGFibGVBZHNTdXBwb3J0ZWQ9Ry5zcGxpdCgiLCIpLmluY2x1ZGVzKCJza2EiKTtpZih4PW4uVUspe0c9bi5jTDtrPVtdO2Zvcih2YXIgciBvZiBpSih4KSl7eD1yLnBsYXRmb3JtO3g9e2FwcGxpY2F0aW9uU3RhdGU6ci5Fcz8KIklOQUNUSVZFIjoiQUNUSVZFIixjbGllbnRGb3JtRmFjdG9yOkJEalt4XXx8IlVOS05PV05fRk9STV9GQUNUT1IiLGNsaWVudE5hbWU6dUpbci5oal18fCJVTktOT1dOX0lOVEVSRkFDRSIsY2xpZW50VmVyc2lvbjpyLmRldmljZVZlcnNpb258fCIiLHBsYXRmb3JtOkZoaVt4XXx8IlVOS05PV05fUExBVEZPUk0ifTtoPXt9O2lmKEcpe3ZhciBOPXZvaWQgMDt0cnl7Tj1KU09OLnBhcnNlKEcpfWNhdGNoKEgpe2cuR3EoSCl9TiYmKGg9e3BhcmFtczpbe2tleToibXMiLHZhbHVlOk4ubXN9XX0sTi5hZHZlcnRpc2luZ19pZCYmKGguYWR2ZXJ0aXNpbmdJZD1OLmFkdmVydGlzaW5nX2lkKSxOLmxpbWl0X2FkX3RyYWNraW5nIT09dm9pZCAwJiZOLmxpbWl0X2FkX3RyYWNraW5nIT09bnVsbCYmKGgubGltaXRBZFRyYWNraW5nPU4ubGltaXRfYWRfdHJhY2tpbmcpLHgub3NOYW1lPU4ub3NfbmFtZSx4LnVzZXJBZ2VudD1OLnVzZXJfYWdlbnQseC53aW5kb3dIZWlnaHRQb2ludHM9Ti53aW5kb3dfaGVpZ2h0X3BvaW50cywKeC53aW5kb3dXaWR0aFBvaW50cz1OLndpbmRvd193aWR0aF9wb2ludHMpfWsucHVzaCh7YWRTaWduYWxzSW5mbzpoLHJlbW90ZUNsaWVudDp4fSl9TC5yZW1vdGVDb250ZXh0cz1rfXI9bi5zb3VyY2VDb250YWluZXJQbGF5bGlzdElkO049bi5zZXJpYWxpemVkTWR4TWV0YWRhdGE7aWYocnx8TilHPXt9LHImJihHLm1keFBsYXliYWNrQ29udGFpbmVySW5mbz17c291cmNlQ29udGFpbmVyUGxheWxpc3RJZDpyfSksTiYmKEcuc2VyaWFsaXplZE1keE1ldGFkYXRhPU4pLEwubWR4UGxheWJhY2tTb3VyY2VDb250ZXh0PUc7di5tZHhDb250ZXh0PUw7cj1XLndpZHRoO3I+MCYmKHYucGxheWVyV2lkdGhQaXhlbHM9TWF0aC5yb3VuZChyKSk7aWYoVz1XLmhlaWdodCl2LnBsYXllckhlaWdodFBpeGVscz1NYXRoLnJvdW5kKFcpO0QhPT0wJiYodi52aXM9RCk7aWYoRD1iLndpZGdldFJlZmVycmVyKXYud2lkZ2V0UmVmZXJyZXI9RC5zdWJzdHJpbmcoMCwxMjgpO2cubzQoYikmJnYmJih2LmFuY2VzdG9yT3JpZ2lucz0KYi5hbmNlc3Rvck9yaWdpbnMpO24uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQmJih2LmNvbXBvc2l0ZVZpZGVvQ29udGV4dD17ZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ6bi5kZWZhdWx0QWN0aXZlU291cmNlVmlkZW9JZH0pO2lmKG49Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCkpdi5lbmNyeXB0ZWRIb3N0RmxhZ3M9bi5lbmNyeXB0ZWRIb3N0RmxhZ3M7cmV0dXJuIHZ9Owp6UD1mdW5jdGlvbihuKXtpZihuLnJhbmdlKXJldHVybiBuLlc7bj1uLkF3WzBdO3JldHVybiBNYXRoLnJvdW5kKG4uSypuLlBKLmluZm8uTnMpfTsKd0xVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE1hdGgubWF4KDAsbi5Bd1swXS5YLVcpfTsKbFQ9ZnVuY3Rpb24obixXLEQpe2Zvcig7bjtuPW4ucGFyZW50Tm9kZSl7aWYoIW4uYXR0cmlidXRlc3x8RCYmbi5ub2RlTmFtZSE9PUQpY29udGludWU7bGV0IGI9bi5nZXRBdHRyaWJ1dGUoVyk7aWYoYilyZXR1cm4gYn1yZXR1cm4iIn07ClRQPWZ1bmN0aW9uKG4sVyl7Zm9yKDtuO249bi5wYXJlbnROb2RlKXtsZXQgRD1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKFcpO2lmKEQubGVuZ3RoPjApcmV0dXJuIERbMF19cmV0dXJuIG51bGx9OwpqeD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gMDt2YXIgVz1uLm1hdGNoKC9QVCgoWzAtOV0qKUgpPygoWzAtOV0qKU0pPygoWzAtOS5dKilTKT8vKTtyZXR1cm4gVz8oTnVtYmVyKFdbMl0pfDApKjM2MDArKE51bWJlcihXWzRdKXwwKSo2MCsoTnVtYmVyKFdbNl0pfDApOk51bWJlcihuKXwwfTsKQ3o9ZnVuY3Rpb24obil7cmV0dXJuIG4ubWF0Y2goL14oXGR7NH0pLShcZHsyfSktKFxkezJ9KVQoXGR7Mn0pOihcZHsyfSk6KFxkezJ9KVwuKFxkezN9KSQvKT9gJHtufVpgOm59OwpNZ009ZnVuY3Rpb24obil7dmFyIFc9bi5XO24uVz1bXTtyZXR1cm4gV307ClJBUz1mdW5jdGlvbihuKXtuLk58fChuLk49bmV3IEJfKTtyZXR1cm4gbi5OfTsKUVdNPWZ1bmN0aW9uKG4sVyl7bi5KW1ddfHwobi5KW1ddPW5ldyBCXyk7cmV0dXJuIG4uSltXXX07ClZnaT1mdW5jdGlvbihuLFcpe24uV1tXXXx8KG4uV1tXXT1uZXcgQl8pO3JldHVybiBuLldbV119OwpjSGo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtXPUFycmF5LmZyb20oVy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikpO2ZvcihsZXQgYiBvZiBXKXtXPWIucGFyZW50Tm9kZS5wYXJlbnROb2RlO2xldCB2PW51bGw7Vy5ub2RlTmFtZT09PSJQZXJpb2QiP3Y9UkFTKG4pOlcubm9kZU5hbWU9PT0iQWRhcHRhdGlvblNldCI/KFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fFcuZ2V0QXR0cmlidXRlKCJtaW1ldHlwZSIpfHwiIix2PVFXTShuLFcpKTpXLm5vZGVOYW1lPT09IlJlcHJlc2VudGF0aW9uIiYmKFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fCIiLHY9VmdpKG4sVykpO2lmKHY9PW51bGwpcmV0dXJuO3YudXBkYXRlKGIpO2cuUTIoRCxNZ00odikpfWcuUTIobi5YLEQpO3RVaChuLlgsYj0+Yi5zdGFydFNlY3MqMUUzK2IuTil9OwphRFU9ZnVuY3Rpb24obil7bi5OJiYobi5OLk49W10pO2cuYV8obi5KLFc9PntXLk49W119KTsKZy5hXyhuLlcsVz0+e1cuTj1bXX0pfTsKRng9ZnVuY3Rpb24obixXKXtyZXR1cm4gRGUobi5zZWdtZW50cyxEPT5XLUQuaiQpfTsKTUk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uaW5kZXguVihXKSx2PW4uaW5kZXguZ2V0U3RhcnRUaW1lKFcpLGs9bi5pbmRleC5nZXREdXJhdGlvbihXKTtEP2s9RD0wOkQ9bi5pbmZvLk5zKms7cmV0dXJuIG5ldyB3ayhbbmV3IHFJKDMsbix2b2lkIDAsIm90ZkNyZWF0ZVJlcXVlc3RJbmZvRm9yU2VnbWVudCIsVyx2LGssMCxEKV0sYil9OwpuR1M9ZnVuY3Rpb24obixXKXtpZighbi5pbmRleC5pc0xvYWRlZCgpKXt2YXIgRD1bXSxiPVcuajtXPVcuSy5zcGxpdCgiLCIpLmZpbHRlcihlPT5lLmxlbmd0aD4wKTsKdmFyIHY9MCxrPTAsaD0wLHg9L14oXGQrKS8sTD0vcj0oXGQrKS87Zm9yKGxldCBlPTA7ZTxiO2UrKyl7aWYoaDw9MClpZihoPVcuc2hpZnQoKSxrPShrPXguZXhlYyhoKSk/K2tbMV0vMUUzOjApaD0oaD1MLmV4ZWMoaCkpPytoWzFdOjAsaCs9MTtlbHNlIHJldHVybjtELnB1c2gobmV3IFI0KGUsdixrLE5hTiwic3EvIisoZSsxKSkpO3YrPWs7aC0tfW4uaW5kZXguYXBwZW5kKEQpfX07CmcuY189ZnVuY3Rpb24obixXLC4uLkQpe2cuUXMoNSxuIGluc3RhbmNlb2YgZy5Wcz9uLnRhZzpuLFcsLi4uRCl9OwpnLlFzPWZ1bmN0aW9uKG4sVyxELC4uLmIpe3ZhciB2PW49PT02PyJFUlJPUiI6IldBUk5JTkciO0Q9YGIke0R9YDtnLlhqKG5ldyBnLlF4KEQsLi4uYiksdik7Yi51bnNoaWZ0KEQpO2I9Yi5qb2luKCIsICIpO3Y9YTQuZ2V0KFcpO2lmKCF2KXt2PWB5dHBsb2cuJHtXfWA7RD01O3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5sb2NhbFN0b3JhZ2Vbdl0pJiYoRD0rd2luZG93LmxvY2FsU3RvcmFnZVt2XSksd2luZG93LnNlc3Npb25TdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5zZXNzaW9uU3RvcmFnZVt2XSkmJihEPSt3aW5kb3cuc2Vzc2lvblN0b3JhZ2Vbdl0pfWNhdGNoe31hNC5zZXQoVyxEKTt2PUR9bjx2fHwobj1XS3csdj1uLk4uZ2V0KFcpLHZ8fCh2PW5ldyBEODIsbi5OLnNldChXLHYpKSxuPXYsdj1EYXRlLm5vdygpLEQ9TWF0aC5mbG9vcigodi1uLkopKi4wMSksRD4wJiYobi5OPU1hdGgubWluKG4uTitELDEwKSxuLko9diksbi5OPjA/KG4uTi0tLG49CiEwKTpuPSExLG4/KHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmKGI9YigpKSxjb25zb2xlLmxvZyhgcGx5ci4ke1d9YCxiKSk6KGI9KG5NLmdldChXKT8/MCkrMSxuTS5zZXQoVyxiKSxiJTEwMD09PTEmJmNvbnNvbGUud2FybigicGx5ciIsYHBseXIuJHtXfSBpcyBjaGF0dHksIGRyb3BwaW5nIGxvZ3MuYCkpKX07CkRPPWZ1bmN0aW9uKG4pe2lmKCFuLkspe2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPWt4KFcsMCwxODM2MDE5NTc0KTtpZihEKXtEPUQub2Zmc2V0K0Quc2l6ZTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsRCkpO1c9Yn1lbHNlIFc9bnVsbH1lbHNlIFc9eUhyKG5ldyB0WShnLldSKG4pKSk7VyYmKG4uaW5mby5QSi5KPVcsbi5LPSEwKX19OwpnLldSPWZ1bmN0aW9uKG4pe3JldHVybiBHNihuLkopfTsKdlI9ZnVuY3Rpb24obixXKXtXPU1hdGgubWluKFcsbi5pbmZvLkopO3ZhciB7Q3M6RCxZOTpifT1uLkouc3BsaXQoVyksdj1uZXcgYjgobmV3IHFJKG4uaW5mby50eXBlLG4uaW5mby5QSixuLmluZm8ucmFuZ2Usbi5pbmZvLlksbi5pbmZvLmokLG4uaW5mby5zZWdtZW50U3RhcnRUaW1lLG4uaW5mby5XLG4uaW5mby5OLFcsITEsbi5pbmZvLnZELG4uaW5mby5jbGlwSWQsbi5pbmZvLkQpLEQpO3YuWD1uLlg7di5XPW4uVztXPW5ldyBiOChuZXcgcUkobi5pbmZvLnR5cGUsbi5pbmZvLlBKLG4uaW5mby5yYW5nZSxuLmluZm8uWSxuLmluZm8uaiQsbi5pbmZvLnNlZ21lbnRTdGFydFRpbWUsbi5pbmZvLlcsbi5pbmZvLk4rVyxuLmluZm8uSi1XLG4uaW5mby5hWixuLmluZm8udkQsbi5pbmZvLmNsaXBJZCxuLmluZm8uRCksYik7Vy5YPW4uWDtXLlc9bi5XO3JldHVyblt2LFddfTsKZy5rWD1mdW5jdGlvbihuKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtpZihuLlchPT0tMSlyZXR1cm4gbi5XO2lmKG4uTiYmakoobi5OKSlyZXR1cm4gbi5XPWpKKG4uTiksbi5XO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPW4uaW5mby5QSi5KLGI9TmFOO2xldCB2PU5hTixrPTA7Zm9yKDtWTChXLGspOyl7bGV0IGg9Y0EoVyxrKTtoLnR5cGU9PT0xOTM2Mjg2ODQwP3Y9aC5kYXRhLmdldFVpbnQzMihoLmRhdGFPZmZzZXQrOCk6aC50eXBlPT09MTgzNjQ3NjUxNj92PWcuYkwoaCk6aC50eXBlPT09MTk1Mjg2NzQ0NCYmaXNOYU4oYikmJihiPWcueHgoaCkpO2s9YXIoaC50eXBlKT9rKzg6aytoLnNpemV9IXYmJkQmJih2PXZ3KEQpKTtXPWIvdn1lbHNlIFc9bmV3IHRZKGcuV1IobikpLEQ9bi5WP1c6bmV3IHRZKG5ldyBEYXRhVmlldyhuLmluZm8uUEouSi5idWZmZXIpKSxiPUtzKEQpLEQ9Vy5wb3MsVy5wb3M9MCxQdyhXKT8Kc1koVywyMzEpPyhiPWZzKFcpKmIvMUU5LFcucG9zPUQsVz1iKTooVy5wb3M9RCxXPU5hTik6KFcucG9zPUQsVz1OYU4pO24uVz1XfHxuLmluZm8uWDtyZXR1cm4gbi5XfTsKaE09ZnVuY3Rpb24obixXKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtuLlc9VztpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIEQ9Zy5XUihuKTtuPW4uaW5mby5QSi5KO3ZhciBiPU5hTix2PU5hTjtsZXQgTD0wO2Zvcig7VkwoRCxMKTspe2xldCBlPWNBKEQsTCk7aXNOYU4oYikmJihlLnR5cGU9PT0xOTM2Mjg2ODQwP2I9ZS5kYXRhLmdldFVpbnQzMihlLmRhdGFPZmZzZXQrOCk6ZS50eXBlPT09MTgzNjQ3NjUxNiYmKGI9Zy5iTChlKSkpO2lmKGUudHlwZT09PTE5NTI4Njc0NDQpeyFiJiZuJiYoYj12dyhuKSk7dmFyIGs9Zy54eChlKTtpc05hTih2KSYmKHY9TWF0aC5yb3VuZChXKmIpLWspO3ZhciBoPWU7ays9djtpZihoLmRhdGEuZ2V0VWludDgoaC5kYXRhT2Zmc2V0KSl7dmFyIHg9aC5kYXRhO2g9aC5kYXRhT2Zmc2V0KzQ7eC5zZXRVaW50MzIoaCxNYXRoLmZsb29yKGsvNDI5NDk2NzI5NikpO3guc2V0VWludDMyKGgrNCxrJjQyOTQ5NjcyOTUpfWVsc2UgaC5kYXRhLnNldFVpbnQzMihoLmRhdGFPZmZzZXQrCjQsayl9TD1hcihlLnR5cGUpP0wrODpMK2Uuc2l6ZX1yZXR1cm4hMH1EPW5ldyB0WShnLldSKG4pKTtuPW4uVj9EOm5ldyB0WShuZXcgRGF0YVZpZXcobi5pbmZvLlBKLkouYnVmZmVyKSk7Yj1LcyhuKTtuPUQucG9zO0QucG9zPTA7aWYoUHcoRCkmJnNZKEQsMjMxKSlpZih2PU5rKEQsITApLFc9TWF0aC5mbG9vcihXKjFFOS9iKSxNYXRoLmNlaWwoTWF0aC5sb2coVykvTWF0aC5sb2coMikvOCk+dilXPSExO2Vsc2V7Zm9yKGI9di0xO2I+PTA7Yi0tKUQuTi5zZXRVaW50OChELnBvcytiLFcmMjU1KSxXPj4+PTg7RC5wb3M9bjtXPSEwfWVsc2UgVz0hMTtyZXR1cm4gV307CnhYPWZ1bmN0aW9uKG4sVyl7bi50aW1lc3RhbXBPZmZzZXQ+MCYmKFctPW4udGltZXN0YW1wT2Zmc2V0KTt2YXIgRD1nLmtYKG4pK1c7aE0obixEKTtuLnRpbWVzdGFtcE9mZnNldD1XfTsKTE09ZnVuY3Rpb24obil7Zy5SQihuLmluZm8uUEouaW5mbyl8fG4uaW5mby5QSi5pbmZvLnFIKCk7aWYobi5OJiZuLmluZm8udHlwZT09PTYpcmV0dXJuIG4uTi5yYjtpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIFc9Zy5XUihuKTt2YXIgRD0wO1c9Zy5lUChXLDE5MzYyODY4NDApO2Zvcih2YXIgYiBvZiBXKVc9THMoYiksRCs9Vy5xZ1swXS9XLnRpbWVzY2FsZTtEPUR8fE5hTjtpZighKEQ+PTApKWE6e0Q9Zy5XUihuKTtiPW4uaW5mby5QSi5KO2xldCByPVc9MDtmb3IodmFyIHY9MDtWTChELFcpOyl7bGV0IE49Y0EoRCxXKTtpZihOLnR5cGU9PT0xODM2NDc2NTE2KXI9Zy5iTChOKTtlbHNlIGlmKE4udHlwZT09PTE4MzYwMTk1NTgpeyFyJiZiJiYocj12dyhiKSk7aWYoIXIpe0Q9TmFOO2JyZWFrIGF9dmFyIGs9a3goTi5kYXRhLE4uZGF0YU9mZnNldCwxOTUzNjUzMDk0KSxoPWs7az1yO3ZhciB4PWt4KGguZGF0YSxoLmRhdGFPZmZzZXQsMTk1Mjg2ODQ1Mik7aD1reChoLmRhdGEsCmguZGF0YU9mZnNldCwxOTUzNjU4MjIyKTt2YXIgTD15TCh4KTt5TCh4KTtMJjImJnlMKHgpO3g9TCY4P3lMKHgpOjA7dmFyIGU9eUwoaCksRz1lJjE7TD1lJjQ7bGV0IEg9ZSYyNTYsQT1lJjUxMix5PWUmMTAyNDtlJj0yMDQ4O2xldCBUPUVEKGgpO0cmJnlMKGgpO0wmJnlMKGgpO0c9MDtmb3IobGV0IHo9MDt6PFQ7eisrKXtsZXQgQz1IP3lMKGgpOng7QSYmeUwoaCk7TCYmej09PTB8fCF5fHx5TChoKTtlJiZ5TChoKTtHKz1DfXYrPUcva31XPWFyKE4udHlwZSk/Vys4OlcrTi5zaXplfUQ9dnx8TmFOfUR8fGcuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcGFyc2luZyBibWZmIixuLmluZm8uZ2EoKSkpfWVsc2UgRD1uZXcgdFkoZy5XUihuKSksbj1uLlY/RDpuZXcgdFkobmV3IERhdGFWaWV3KG4uaW5mby5QSi5KLmJ1ZmZlcikpLEQ9RUVaKEQsS3MobikpO3JldHVybiBEfTsKZUc9ZnVuY3Rpb24obixXPSExKXt2YXIgRD1MTShuKTtuPVc/MDpuLmluZm8uSztyZXR1cm4gRHx8bn07CmcuZ3k9ZnVuY3Rpb24obil7aWYobi5pbmZvLlBKLlcoKSlyZXR1cm4gbi5pbmZvLlc7bi5YPT09LTEmJihuLlg9TE0obikpO3JldHVybiBuLlh8fG4uaW5mby5XfTsKWFo9ZnVuY3Rpb24obil7dmFyIFc9Zy5XUihuKSxEPWcubnMoVywwLDE5MzYyODY4NDApO0Q9RD9ELmRhdGEuZ2V0VWludDMyKEQuZGF0YU9mZnNldCs4KTpOYU47aXNOYU4oRCkmJihuPW4uaW5mby5QSi5KLEQ9KFc9Zy5ucyhXLDAsMTgzNjQ3NjUxNikpP2cuYkwoVyk6bj92dyhuKTpOYU4pO3JldHVybiBEfTsKcSQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uaW5mby5QSi5pbmZvLnFIKCkmJnJkKG4uSiwwKT09PTE2MH07CkdpPWZ1bmN0aW9uKG4pe2lmKCFuLk4pe2cuUkIobi5pbmZvLlBKLmluZm8pfHxuLmluZm8uUEouaW5mby5xSCgpO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXZhciBXPWcucWsoZy5XUihuKSk7ZWxzZXtXPW5ldyB0WShnLldSKG4pKTtsZXQgYj1XLnBvcztXLnBvcz0wO2xldCB2PW51bGwsaz1udWxsO2lmKCR4KFcsWzQwODEyNTU0MywzMDc1NDQ5MzVdKSl7bGV0IGg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxoOyl7aWYoTmsoVywhMSkhPT0yOTU1NSl7SlkoVyk7Y29udGludWV9bGV0IHg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczx4Oyl7aWYoTmsoVywhMSkhPT0yNjU2OCl7SlkoVyk7Y29udGludWV9bGV0IEw9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxMOyl7dmFyIEQ9TmsoVywhMSk7aWYoRD09PTE3NTQzKXtpZihEPW10KFcpLEQ9UUwoRCkpaWYoaylmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoRCkpa1tlXT1EW2VdO2Vsc2Ugaz1EfWVsc2UgRD09PTE3ODI3PyhEPQptdChXKSx2fHwodj1EKSk6SlkoVyl9fX19Vy5wb3M9YjtXPWs/bmV3IFg1KGssdik6bnVsbH1uLk49V319Owp0TT1mdW5jdGlvbihuLFcpe3JldHVybiBXKzE8bi5jb3VudHx8bi5XP24ub2Zmc2V0c1tXKzFdLW4ub2Zmc2V0c1tXXTotMX07CiRYPWZ1bmN0aW9uKG4pe24ub2Zmc2V0cy5sZW5ndGg8bi5jb3VudCsxJiZuLnJlc2l6ZShuLm9mZnNldHMubGVuZ3RoKjIpfTsKcnk9ZnVuY3Rpb24obixXLEQpe24uY291bnQrKzskWChuKTtuLm9mZnNldHNbbi5jb3VudF09bi5vZmZzZXRzW24uY291bnQtMV0rVztuLnN0YXJ0VGlja3Nbbi5jb3VudF09bi5zdGFydFRpY2tzW24uY291bnQtMV0rRH07CnNOPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgaz1XO2s8PW4uaW5kZXgueCQoKTtrKyspe2xldCBoPVdfKG4uaW5kZXguTihrKSx0TShuLmluZGV4LGspKSx4PW4uaW5kZXguZ2V0U3RhcnRUaW1lKGspLEw9bi5pbmRleC5nZXREdXJhdGlvbihrKSxlPU1hdGgubWF4KDAsRC1oLnN0YXJ0KSxHPU1hdGgubWluKGguZW5kKzEsRCtiKS0oaC5zdGFydCtlKTt2LnB1c2gobmV3IHFJKDMsbixoLCJnZXRSZXF1ZXN0SW5mb0ZvclJhbmdlIixrLHgsTCxlLEcpKTtpZihoLnN0YXJ0K2UrRz49RCtiKWJyZWFrfXYubGVuZ3RofHwobj1uZXcgZy5ReCgiYjE4OTYxOTU5MyIsYCR7V31gLGAke0R9YCxgJHtifWApLGcuWGoobikpO3JldHVybiBuZXcgd2sodil9OwpOJD1mdW5jdGlvbihuKXtpZihuPW4uY29sb3JJbmZvKWlmKG49bi50cmFuc2ZlckNoYXJhY3RlcmlzdGljcylyZXR1cm4gYnFVW25dO3JldHVybiBudWxsfTsKWVg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1heChuLFcpO249TWF0aC5taW4obixXKTtXPXBNWzBdO2ZvcihsZXQgYj0wO2I8cE0ubGVuZ3RoO2IrKyl7bGV0IHY9cE1bYl0saz1OR1t2XTtpZihEPj1NYXRoLmZsb29yKGsqMTYvOSkqMS4zfHxuPj1rKjEuMylyZXR1cm4gVztXPXZ9cmV0dXJuInRpbnkifTsKZk09ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBIUihuWzFdLG5bMl0sblszXSxuWzRdLG5bNV0sbls2XSxuWzddLG5bOF0sbls5XSxuWzEwXSl9OwpKTT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCIvbXA0Iik+PTA/MTpuLmluZGV4T2YoIi93ZWJtIik+PTA/MjpuLmluZGV4T2YoIi94LWZsdiIpPj0wPzM6bi5pbmRleE9mKCIvdnR0Iik+PTA/NDowfTsKSWQ9ZnVuY3Rpb24obil7cmV0dXJuLyhvcHVzfG1wNGF8ZHRzZXxhYy0zfGVjLTN8aWFtZikvLnRlc3Qobil9OwpTRz1mdW5jdGlvbihuKXtyZXR1cm4vKHZwOXx2cDA5fHZwOHxhdmMxfGF2MDF8YXYwMikvLnRlc3Qobil9OwpRUD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1uZXcgQU07VyBpbiBOR3x8KFc9InNtYWxsIik7Vz09PSJsaWdodCImJihXPSJ0aW55Iik7YiYmdj8odj1OdW1iZXIodiksYj1OdW1iZXIoYikpOih2PU5HW1ddLGI9TWF0aC5yb3VuZCh2KjE2LzkpKTtrPW5ldyBIUihiLHYsMCxudWxsLHZvaWQgMCxXLGssaCk7bj11bmVzY2FwZShuLnJlcGxhY2UoLyZxdW90Oy9nLCciJykpO3JldHVybiBuZXcgbXUoRCxuLHthdWRpbzp4LHZpZGVvOmt9KX07Ck9OPWZ1bmN0aW9uKG4pe3ZhciBXPW5bN10sRD1uWzExXSxiPW5bOV0sdj1uWzhdO3JldHVybiBuZXcgbXUoblsxXSxuWzJdLHtYbjpuWzNdLE5zOm5bNF0sbGFzdE1vZGlmaWVkOm5bNV0sY29udGVudExlbmd0aDpuWzZdLGF1ZGlvOlc/bmV3IEFNKFdbMV0sV1syXSxXWzNdLFdbNF0sV1s1XSxXWzZdLFdbN10sV1s4XSk6dm9pZCAwLHZpZGVvOnY/Zk0odik6dm9pZCAwLGtaOmI/TUcoYik6dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOm5bMTBdLGNhcHRpb25UcmFjazpEP25ldyBLTShEWzFdLERbMl0sRFszXSxEWzRdLERbNV0sRFs2XSk6dm9pZCAwLHN0cmVhbVR5cGU6blsxMl0sQWE6blsxM10sYXBwcm94RHVyYXRpb25NczpuWzE0XX0pfTsKbUY9ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iTUFDMyJ8fG4uSUI9PT0iTUVBQzMifHxuLklCPT09Ik0ifHxuLklCPT09IkkifTsKS2c9ZnVuY3Rpb24obil7cmV0dXJuISFuLmNvbnRlbnRQcm90ZWN0aW9uJiYhIW4uY29udGVudFByb3RlY3Rpb24uZmFpcnBsYXkmJihuLklCPT09IigifHxuLklCPT09IihoInx8bi5JQj09PSJBInx8bi5JQj09PSJNRUFDMyIpfHxQUiYmISFuLmNvbnRlbnRQcm90ZWN0aW9uJiZuLklCPT09IjFlIn07CmcuUkI9ZnVuY3Rpb24obil7cmV0dXJuIG4uY29udGFpbmVyVHlwZT09PTF9OwpNMz1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlLEcscil7dmFyIE49V15uO3ZhciBIOyhuJjc2KT09biYmKEg9YihoLHgsTCxlLEcscikpOyhuPj4xJjE1KT09MSYmKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dLGJbSVszXV0oRCwxKSk7bis5Pj4zPT0zJiYoSD1kZWNvZGVVUklDb21wb25lbnQoRCkpO24tOTwyMyYmKG4+PjEmMTUpPj0xMyYmKERbTl41MjY0XTwoTl41MzQzKSYmKERbTl41MjcwXTw9LTEmJigoKDAsRFtOXjUzMjhdKShEW25ldyBEYXRlKElbTl41MzQ2XSkvKE5eNTk1MSldLERbTl41MjY4XSksRFtOXjUzNDVdKShEW05eNTM2MV0sRFtOXjUyNjhdKSwxKXx8KDAsRFtOXjUzNTFdKSgoMCxEW05eNTM0NF0pKERbTl41MzY2XSxEW05eNTMxOV0pLERbMV0sRFtOXjUzMjBdLERbTl41MzQ4XSkpLERbTl41MjY4XT49LTImJigoMCxEW05eNTM1MV0pKCgwLERbM10pKERbTl41MzcyXSwoMCxEW25ldyBEYXRlKElbNF0pLyhOXjU5NTEpXSkoKSxEW05eNTMxNV0pLApEW05eNTM1Nl0sRFtOXjUyNzFdLERbTl41MzY1XSksRFtOXjUzMjZdKShEW05eNTMyMV0sRFtOXjUzNTZdKSxEWzVdPD0tMiYmKERbTl41Mjc2XTwoTl41MzQxKXx8KCgoKDAsRFtOXjUzMjZdKShEW05eNTMxOV0sRFtOXjUzNzNdKSxEW05eNTI2OV0pKCgwLERbTl41MjY4XSkoRFtOXjUzNTNdLERbTl41MzQ3XSksRFtOXjUzMzZdLCgwLERbNF0pKCgwLERbTl41MzYyXSkoRFtOXjUzNDldLCgwLERbTl41Mjc2XSkoKSxEW05eNTM3NV0pLERbTl41MjY2XSxEW05eNTM1NV0sRFtOXjUzMjhdKSxEW05eNTM2MV0sRFswXSksRFtOXjUzMThdKShEW05eNTM3M10sRFtOXjUzNDBdKSxJW05eNTMxNF0pKSYmKCgwLERbTl41MzI2XSkoKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbbmV3IERhdGUoSVtOXjUzNTNdKS8oTl41OTUxKV0pKCksRFtOXjUzNzBdKSxEW05eNTMyN10pKERbTl41MzQyXSksRFtOXjUzMTNdLCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzI4XSkoKSwKRFtOXjUyNzBdKSxEW05eNTI3NF0sRFtOXjUzNDJdKSxEW05eNTMzNl0pKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzYyXSkoKSxEW05eNTM0OF0pLERbTl41MzI1XSxEW05eNTI2Nl0sRFtOXjUzNTldKSxIPVtdKTtyZXR1cm4gSH07CmcuVmY9ZnVuY3Rpb24obixXKXtyZXR1cm57aXRhZzorbi5pdGFnLGxtdDpXPzA6bi5sYXN0TW9kaWZpZWQseHRhZ3M6bi5KfHwiIn19OwpaTz1mdW5jdGlvbihuKXtyZXR1cm4gbi5JQj09PSI5aCJ8fG4uSUI9PT0iKGgifTsKVU49ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iKCJ8fG4uSUI9PT0iKGgifHxuLklCPT09IkgifHxQUiYmbi5JQj09PSIxZSJ9Owp2R1U9ZnVuY3Rpb24obixXPTEpe3ZhciBEPXt9O24udmlkZW8mJihuLnZpZGVvLndpZHRoJiYoRFtBVC5XSURUSC5uYW1lXT1uLnZpZGVvLndpZHRoKSxuLnZpZGVvLmhlaWdodCYmKERbQVQuSEVJR0hULm5hbWVdPW4udmlkZW8uaGVpZ2h0KSxuLnZpZGVvLmZwcyYmKERbQVQuRlJBTUVSQVRFLm5hbWVdPW4udmlkZW8uZnBzKlcpLG4udmlkZW8uTiYmKERbQVQuRU9URi5uYW1lXT1uLnZpZGVvLk4pLG4uTnMmJihEW0FULkJJVFJBVEUubmFtZV09bi5Ocyo4KlcpLG4uSUI9PT0iKCImJihEW0FULkNSWVBUT0JMT0NLRk9STUFULm5hbWVdPSJzdWJzYW1wbGUiKSxuLnZpZGVvLnByb2plY3Rpb25UeXBlPT09IkVRVUlSRUNUQU5HVUxBUiJ8fG4udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSX1RIUkVFRF9UT1BfQk9UVE9NInx8bi52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIikmJihEW0FULkRFQ09ERVRPVEVYVFVSRS5uYW1lXT0idHJ1ZSIpO24uYXVkaW8/Lm51bUNoYW5uZWxzJiYKbi5JQiE9PSJpIiYmbi5JQiE9PSJJIiYmKERbQVQuQ0hBTk5FTFMubmFtZV09bi5hdWRpby5udW1DaGFubmVscyk7cmV0dXJuIER9Owp5VD1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIEVycm9yP24ubWVzc2FnZTpTdHJpbmcobik7dmFyIEQ9IiI7dHJ5e0Q9SlNPTi5zdHJpbmdpZnkoVyl9Y2F0Y2goYil7RD0iZmFpbGVkIHRvIHN0cmluZ2lmeSBjb25maWcifWcuY18oImRhc2giLDUxOTE5NjY0OSxuLEQpfTsKazNyPWZ1bmN0aW9uKG4pe3ZhciBXPW5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcztpZighVz8uZGVjb2RpbmdJbmZvfHxuLklCPT09ImYiKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgRD17dHlwZTpuLmF1ZGlvJiZuLnZpZGVvPyJmaWxlIjoibWVkaWEtc291cmNlIn07bi52aWRlbyYmKEQudmlkZW89e2NvbnRlbnRUeXBlOm4ubWltZVR5cGUsd2lkdGg6bi52aWRlby53aWR0aHx8NjQwLGhlaWdodDpuLnZpZGVvLmhlaWdodHx8MzYwLGJpdHJhdGU6bi5Ocyo4fHwxRTYsZnJhbWVyYXRlOm4udmlkZW8uZnBzfHwzMH0pO24uYXVkaW8mJihELmF1ZGlvPXtjb250ZW50VHlwZTpuLm1pbWVUeXBlLGNoYW5uZWxzOmAke24uYXVkaW8ubnVtQ2hhbm5lbHN8fDJ9YCxiaXRyYXRlOm4uTnMqOHx8MTI4RTMsc2FtcGxlcmF0ZTpuLmF1ZGlvLnNhbXBsZVJhdGV8fDQ0MTAwfSk7aWYoRU4pdHJ5e3JldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pLmNhdGNoKGI9Pgp7eVQoYixEKX0pfWNhdGNoKGIpe3JldHVybiB5VChiLEQpLFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pfTsKaTg9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dC5wbGF5ZXIudXRpbHMudmlkZW9FbGVtZW50XyIpO258fChuPWcuekYoIlZJREVPIiksZy5HYigieXQucGxheWVyLnV0aWxzLnZpZGVvRWxlbWVudF8iLG4pKTtyZXR1cm4gbn07CnU4PWZ1bmN0aW9uKG4pe3ZhciBXPWk4KCk7cmV0dXJuISEoVyYmVy5jYW5QbGF5VHlwZSYmVy5jYW5QbGF5VHlwZShuKSl9OwpkeT1mdW5jdGlvbihuKXtpZigvb3B1cy8udGVzdChuKSYmZy5vZCYmIUNfKCIzOCIpJiYhZy5kOCgpKXJldHVybiExO2lmKHNlbGYuTWVkaWFTb3VyY2UmJnNlbGYuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZChuKTtpZihzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZSYmc2VsZi5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobik7aWYoL3dlYm0vLnRlc3QobikmJiFUUSgpKXJldHVybiExO249PT0nYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInJiYobj0ndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNGQ0MDFmIicpO3JldHVybiEhdTgobil9OwpoZ1M9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWR5KCd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MjAwMUUiJyl8fGR5KCd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInKTtyZXR1cm4oZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fGR5KCdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiJykpJiYoV3x8IW4pfHx1OCgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFLCBtcDRhLjQwLjIiJyk/bnVsbDoiZm10Lm5vbmVhdmFpbGFibGUifWNhdGNoe3JldHVybiJodG1sNS5taXNzaW5nYXBpIn19Owp6aT1mdW5jdGlvbigpe3ZhciBuPWk4KCk7cmV0dXJuISghbi53ZWJraXRTdXBwb3J0c1ByZXNlbnRhdGlvbk1vZGV8fHR5cGVvZiBuLndlYmtpdFNldFByZXNlbnRhdGlvbk1vZGUhPT0iZnVuY3Rpb24iKX07Cmw4PWZ1bmN0aW9uKCl7dmFyIG49aTgoKTt0cnl7bGV0IFc9bi5tdXRlZDtuLm11dGVkPSFXO3JldHVybiBuLm11dGVkIT09V31jYXRjaHt9cmV0dXJuITF9OwpUaT1mdW5jdGlvbihuLFcpe3JldHVybntzdGFydChEKXtyZXR1cm4gbltEXX0sZW5kKEQpe3JldHVybiBXW0RdfSxsZW5ndGg6bi5sZW5ndGh9fTsKakc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdLHY9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspYi5wdXNoKG4uc3RhcnQoaykpLHYucHVzaChuLmVuZChrKSk7Yi5wdXNoKFcpO3YucHVzaChEKTtiLnNvcnQoKGssaCk9PmstaCk7CnYuc29ydCgoayxoKT0+ay1oKTsKcmV0dXJuIFRpKGIsdil9Owpyaz1mdW5jdGlvbihuLFc9IiwiLEQ9bj9uLmxlbmd0aDowKXt2YXIgYj1bXTtpZihuKWZvcihEPU1hdGgubWF4KG4ubGVuZ3RoLUQsMCk7RDxuLmxlbmd0aDtEKyspYi5wdXNoKGAke24uc3RhcnQoRCkudG9GaXhlZCgzKX0tJHtuLmVuZChEKS50b0ZpeGVkKDMpfWApO3JldHVybiBiLmpvaW4oVyl9OwpDTT1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybi0xO3RyeXtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylpZihuLnN0YXJ0KEQpPD1XJiZuLmVuZChEKT49VylyZXR1cm4gRH1jYXRjaChEKXt9cmV0dXJuLTF9OwpCUj1mdW5jdGlvbihuLFcpe3JldHVybiBDTShuLFcpPj0wfTsKeDhqPWZ1bmN0aW9uKG4sVyl7aWYoIW4pcmV0dXJuIE5hTjtXPUNNKG4sVyk7cmV0dXJuIFc+PTA/bi5zdGFydChXKTpOYU59OwpGWj1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBOYU47Vz1DTShuLFcpO3JldHVybiBXPj0wP24uZW5kKFcpOk5hTn07Cmcud3k9ZnVuY3Rpb24obil7cmV0dXJuIG4mJm4ubGVuZ3RoP24uZW5kKG4ubGVuZ3RoLTEpOk5hTn07Ck0kPWZ1bmN0aW9uKG4pe3JldHVybiBnLnd5KG4pPjB9OwpSZD1mdW5jdGlvbihuLFcpe249RloobixXKTtyZXR1cm4gbj49MD9uLVc6MH07ClFUPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVtdO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKW4uZW5kKGspPFd8fG4uc3RhcnQoayk+RHx8KGIucHVzaChNYXRoLm1heChXLG4uc3RhcnQoaykpLVcpLHYucHVzaChNYXRoLm1pbihELG4uZW5kKGspKS1XKSk7cmV0dXJuIFRpKGIsdil9OwpWVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuU291cmNlQnVmZmVyPyEhU291cmNlQnVmZmVyLnByb3RvdHlwZS5jaGFuZ2VUeXBlOiExfTsKY1I9ZnVuY3Rpb24oKXtyZXR1cm4hISh3aW5kb3cuTWVkaWFTb3VyY2V8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V8fHdpbmRvdy5XZWJLaXRNZWRpYVNvdXJjZXx8d2luZG93LkhUTUxNZWRpYUVsZW1lbnQmJkhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLndlYmtpdFNvdXJjZUFkZElkKX07CmFkPWZ1bmN0aW9uKCl7cmV0dXJuISghd2luZG93Lk1lZGlhU291cmNlfHwhd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCl8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V9OwpuNj1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uVygpPT09Im9wZW4ifWNhdGNoKFcpe3JldHVybiExfX07CldGPWZ1bmN0aW9uKG4sVyl7bjYobik/Zy5tSygoKT0+e1cobil9KTpuLmNhbGxiYWNrPVd9Owp2Rj1mdW5jdGlvbihuLFcsRCl7REgmJihiQShuLm1lZGlhRWxlbWVudCx7bDoibXN3c3NiIixzcjpuLm1lZGlhRWxlbWVudC5ZYT8ucGcoKX0sITEpLFcuaCQobi5MTCxuKSxELmgkKG4uTEwsbikpO24uTj1XO24uSj1EO2cudShuLFcpO2cudShuLEQpfTsKTEtVPWZ1bmN0aW9uKG4sVyxELGI9IiIpe2I9Vy5taW1lVHlwZStiO3ZhciB2PUQubWltZVR5cGU7Vz1XLklCO0Q9RC5JQjtuLlZRPW4ubWVkaWFTb3VyY2U/LmFkZFNvdXJjZUJ1ZmZlcih2KTtuLmUkPWIuc3BsaXQoIjsiKVswXT09PSJmYWtlc2IiP3ZvaWQgMDpuLm1lZGlhU291cmNlPy5hZGRTb3VyY2VCdWZmZXIoYik7bi5FViYmKG4uRVYud2Via2l0U291cmNlQWRkSWQoIjAiLHYpLG4uRVYud2Via2l0U291cmNlQWRkSWQoIjEiLGIpKTtEPW5ldyBrZyhuLlZRLG4uRVYsIjAiLEpNKHYpLEQsITEpO2I9bmV3IGtnKG4uZSQsbi5FViwiMSIsSk0oYiksVywhMCk7dkYobixELGIpfTsKTDY9ZnVuY3Rpb24obixXLEQsYil7aWYoIW4uTnx8IW4uSilyZXR1cm4gbnVsbDt2YXIgdj1uLk4uaXNWaWV3KCk/bi5OLmskOm4uTixrPW4uSi5pc1ZpZXcoKT9uLkouayQ6bi5KLGg9bmV3IGhaKG4ubWVkaWFFbGVtZW50LG4ubWVkaWFTb3VyY2UsITApO2guaj1uLmo7dkYoaCxuZXcgeGcodixXLEQsYiksbmV3IHhnKGssVyxELGIpKTtuNihuKXx8bi5OLnlPKG4uTi5TVygpKTtyZXR1cm4gaH07CmVnMT1mdW5jdGlvbihuKXtyZXR1cm4gZTQoKFcsRCk9Pmcuc3ooVyxELDQsMUUzKSxuLHtmb3JtYXQ6IlJBVyIsCm1ldGhvZDoiR0VUIix3aXRoQ3JlZGVudGlhbHM6ITB9KX07CmcuZ3Q9ZnVuY3Rpb24obil7dmFyIFc7bi5yZXNwb25zZVR5cGUmJm4ucmVzcG9uc2VUeXBlIT09InRleHQiP24ucmVzcG9uc2VUeXBlPT09ImFycmF5YnVmZmVyIiYmKFc9cFIobmV3IFVpbnQ4QXJyYXkobi5yZXNwb25zZSkpKTpXPW4ucmVzcG9uc2VUZXh0O3JldHVybiFXfHxXLmxlbmd0aD4yMDQ4PyIiOlcuaW5kZXhPZigiaHR0cHM6Ly8iKT09PTA/VzoiIn07CmU0PWZ1bmN0aW9uKG4sVyxEKXtXLm1hdGNoKGdHcik7cmV0dXJuIG4oVyxEKS50aGVuKGI9Pnt2YXIgdj1nLmd0KGIueGhyKTtyZXR1cm4gdj9lNChuLHYsRCk6Yi54aHJ9KX07ClhKaT1mdW5jdGlvbihuLFcsRCl7aWYoIW4/LldjKCkpcmV0dXJuITE7dmFyIGI9Vy5zb21lKGg9PmgucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSInx8aC5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iKSx2PVcuc29tZShoPT5oLnByb2plY3Rpb25UeXBlPT09Ik1FU0giKSxrPVcuc29tZShoPT5oLnN0ZXJlb0xheW91dD09PTEpOwpXPVcuc29tZShoPT5oLmlzSGRyKCkpOwpuPSFEJiYhVyYmbi5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBifHx2fHxrfHxufTsKcXo9ZnVuY3Rpb24obixXLEQsYil7aWYoWEppKG4sVyxEKSlyZXR1cm4hMDtpZighbj8udE0oKXx8IVh2KG4sYikpcmV0dXJuITE7bj1XLnNvbWUodj0+di5pc0hkcigpKTsKcmV0dXJuIER8fG4/ITE6ITB9OwpxdWo9ZnVuY3Rpb24obil7cmV0dXJuIGcub00obixXPT4iRk9STUFUX1NUUkVBTV9UWVBFX09URiI9PT1XLnR5cGUpPyJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIjoiRk9STUFUX1NUUkVBTV9UWVBFX1VOS05PV04ifTsKRzNDPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uZXcgZy5HeCgiIixiLmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4pe249dFooaCxXLGsuZHVyYXRpb24sYix2KTtsZXQge0VsOngsczpMLHk3OmV9PVAwKDE1LDcwMCxoKTsoRD1SeCh4fHxoLnVybHx8IiIsZSxMKSkmJihuLnN0cmVhbVR5cGU9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/JGcoayxuZXcgcnQoRCxuKSk6JGcoayxuZXcgc2soRCxuLERKKGguaW5pdFJhbmdlKSxESihoLmluZGV4UmFuZ2UpKSkpfWsuaXNPdGY9ITA7cmV0dXJuIGt9Owp0T1o9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGIuZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj10WihoLFcsay5kdXJhdGlvbixiLHYpO0Q9REooaC5pbml0UmFuZ2UpO2xldCB4PURKKGguaW5kZXhSYW5nZSkse0VsOkwsczplLHk3Okd9PVAwKDEzLDcwMixoKSxyPVJ4KEx8fGgudXJsfHwiIixHLGUpO3ImJiRnKGssbmV3IHNrKHIsbixELHgpKX1yZXR1cm4ga307CnRaPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uLm1pbWVUeXBlfHwiIixoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO2g9aD9oLnRvU3RyaW5nKCk6IiI7eCYmKGgrPWA7JHt4fWApO3g9aDtpZihTRyhrKSl7dmFyIEw9bi53aWR0aHx8NjQwO2g9bi5oZWlnaHR8fDM2MDtsZXQgeT1uLmZwcyxUPW4ucXVhbGl0eUxhYmVsLHo9bi5xdWFsaXR5T3JkaW5hbCxDPW4uY29sb3JJbmZvLFE9bi5wcm9qZWN0aW9uVHlwZTt2YXIgZTtuLnN0ZXJlb0xheW91dCYmKGU9JDh4W24uc3RlcmVvTGF5b3V0XSk7bGV0IFY9TiQobil8fHZvaWQgMDt2YXIgRztDPy5wcmltYXJpZXMmJihHPXIkeFtDLnByaW1hcmllc118fHZvaWQgMCk7TD1uZXcgSFIoTCxoLHksUSxlLHZvaWQgMCxULHomJk56W3pdLFYsRywobi52aWRlb1RyYWNrPy5hc3NvY2lhdGVkQXVkaW9UcmFja0lkPy5sZW5ndGg/PzApPT09MCk7az1wNihrLEwsWWdbbi5pdGFnfHwiIl0pO0hGJiYoays9IjsgZW5hYmxlZmx1c2hkdXJpbmdzZWVrPXRydWUiKTsKZjYmJihrKz0iOyBlbmFibGVyZXNldGF1ZGlvZGVjb2Rlcj10cnVlIik7cXooYixbTF0sVyx2KSYmKGsrPSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUiKX12YXIgcjtpZihJZChrKSl7dmFyIE49bi5hdWRpb1NhbXBsZVJhdGU7Yj1uLmF1ZGlvVHJhY2s7Tj1uZXcgQU0oTj8rTjp2b2lkIDAsbi5hdWRpb0NoYW5uZWxzLG4uc3BhdGlhbEF1ZGlvVHlwZSxuLmlzRHJjLG4ubG91ZG5lc3NEYixuLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMsbi5hdWRpb1F1YWxpdHl8fCJBVURJT19RVUFMSVRZX1VOS05PV04iLG4uaXNWYik7YiYmKHY9Yi5kaXNwbGF5TmFtZSxlPWIuaWQsRz1iLmF1ZGlvSXNEZWZhdWx0LGI9Yi5pc0F1dG9EdWJiZWQsdiYmKHI9bmV3IHdQKHYsZXx8IiIsISFHLCEhYikpKX12YXIgSDtuLmNhcHRpb25UcmFjayYmKGI9bi5jYXB0aW9uVHJhY2suZGlzcGxheU5hbWUsdj1uLmNhcHRpb25UcmFjay52c3NJZCxlPW4uY2FwdGlvblRyYWNrLmxhbmd1YWdlQ29kZSxHPW4uY2FwdGlvblRyYWNrLmtpbmQsCmg9bi5jYXB0aW9uVHJhY2suaWQsYiYmdiYmZSYmKEg9bmV3IEtNKGIsdixlLEcsbi54dGFncyxoKSkpO2I9TnVtYmVyKG4uYml0cmF0ZSkvODt2PU51bWJlcihuLmNvbnRlbnRMZW5ndGgpO2U9TnVtYmVyKG4ubGFzdE1vZGlmaWVkKTtoPW4uZHJtRmFtaWxpZXM7Rz1uLnR5cGU7bj1OdW1iZXIobi5hcHByb3hEdXJhdGlvbk1zKTtpZihXJiZoKXt2YXIgQT17fTtmb3IobGV0IHkgb2YgaCkoaD1KWlt5XSkmJihBW2hdPVdbaF0pfXJldHVybiBuZXcgbXUoeCxrLHthdWRpbzpOLHZpZGVvOkwsa1o6cixjb250ZW50UHJvdGVjdGlvbjpBLE5zOmIsWG46RCYmdj92L0Q6MCxjb250ZW50TGVuZ3RoOnYsbGFzdE1vZGlmaWVkOmUsY2FwdGlvblRyYWNrOkgsc3RyZWFtVHlwZTpHLGFwcHJveER1cmF0aW9uTXM6bn0pfTsKczVVPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4sVz0+IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiPT09Vy5zdHJlYW1fdHlwZSk/IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiOiJGT1JNQVRfU1RSRUFNX1RZUEVfVU5LTk9XTiJ9OwpOcGo9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGI/LmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4paWYobj1JbyhoLFcsay5kdXJhdGlvbixiLHYpLEQ9UngoaC51cmwsaC5zcCxoLnMpKWlmKG4uc3RyZWFtVHlwZT09PSJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIikkZyhrLG5ldyBydChELG4pKTtlbHNle2xldCB4PW56KGguaW5pdCksTD1ueihoLmluZGV4KTskZyhrLG5ldyBzayhELG4seCxMKSl9ay5pc090Zj0hMDtyZXR1cm4ga307CnBKYj1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bmV3IGcuR3goIiIsYj8uZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj1JbyhoLFcsay5kdXJhdGlvbixiLHYpO0Q9bnooaC5pbml0KTtsZXQgeD1ueihoLmluZGV4KSxMPVJ4KGgudXJsLGguc3AsaC5zKTtMJiYkZyhrLG5ldyBzayhMLG4sRCx4KSl9cmV0dXJuIGt9OwpJbz1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bi50eXBlO3ZhciBoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO3gmJihoPW4uaXRhZysiOyIreCk7aWYoU0coaykpe3ZhciBMPShuLnNpemV8fCI2NDB4MzYwIikuc3BsaXQoIngiKTtMPW5ldyBIUigrTFswXSwrTFsxXSwrbi5mcHMsbi5wcm9qZWN0aW9uX3R5cGUsK24uc3RlcmVvX2xheW91dCx2b2lkIDAsbi5xdWFsaXR5X2xhYmVsLCtuLnF1YWxpdHlfb3JkaW5hbCxuLmVvdGYsbi5wcmltYXJpZXMsIW4udmlkZW9fdHJhY2tfYXNzb2NpYXRlZF9hdWRpb190cmFja19pZCk7az1wNihrLEwsWWdbbi5pdGFnXSk7SEYmJihrKz0iOyBlbmFibGVmbHVzaGR1cmluZ3NlZWs9dHJ1ZSIpO2Y2JiYoays9IjsgZW5hYmxlcmVzZXRhdWRpb2RlY29kZXI9dHJ1ZSIpO3F6KGIsW0xdLFcsdikmJihrKz0iOyBkZWNvZGUtdG8tdGV4dHVyZT10cnVlIil9dmFyIGU7aWYoSWQoaykpe3ZhciBHPW5ldyBBTSgrbi5hdWRpb19zYW1wbGVfcmF0ZXx8dm9pZCAwLAorbi5hdWRpb19jaGFubmVsc3x8MCxuLnNwYXRpYWxfYXVkaW9fdHlwZSwhIW4uZHJjKTtuLm5hbWUmJihlPW5ldyB3UChuLm5hbWUsbi5hdWRpb190cmFja19pZCxuLmlzRGVmYXVsdD09PSIxIixuLmlzQXV0b0R1YmJlZD09PSIxIikpfXZhciByO24uY2FwdGlvbl9kaXNwbGF5X25hbWUmJm4uY2FwdGlvbl92c3NfaWQmJm4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlJiYocj1uZXcgS00obi5jYXB0aW9uX2Rpc3BsYXlfbmFtZSxuLmNhcHRpb25fdnNzX2lkLG4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlLG4uY2FwdGlvbl9raW5kLG4ueHRhZ3Msbi5jYXB0aW9uX2lkKSk7Yj1OdW1iZXIobi5iaXRyYXRlKS84O3Y9TnVtYmVyKG4uY2xlbik7eD1OdW1iZXIobi5sbXQpO0Q9RCYmdj92L0Q6MDtpZihXJiZuLmRybV9mYW1pbGllcyl7dmFyIE49e307Zm9yKGxldCBIIG9mIG4uZHJtX2ZhbWlsaWVzLnNwbGl0KCIsIikpTltIXT1XW0hdfXJldHVybiBuZXcgbXUoaCxrLHthdWRpbzpHLHZpZGVvOkwsCmtaOmUsY29udGVudFByb3RlY3Rpb246TixOczpiLFhuOkQsY29udGVudExlbmd0aDp2LGxhc3RNb2RpZmllZDp4LGNhcHRpb25UcmFjazpyLHN0cmVhbVR5cGU6bi5zdHJlYW1fdHlwZSxhcHByb3hEdXJhdGlvbk1zOk51bWJlcihuLmFwcHJveF9kdXJhdGlvbl9tcyl9KX07Cll1aD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAiZXF1aXJlY3Rhbmd1bGFyIjpyZXR1cm4iRVFVSVJFQ1RBTkdVTEFSIjtjYXNlICJlcXVpcmVjdGFuZ3VsYXJfdGhyZWVkX3RvcF9ib3R0b20iOnJldHVybiJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iO2Nhc2UgIm1lc2giOnJldHVybiJNRVNIIjtjYXNlICJyZWN0YW5ndWxhciI6cmV0dXJuIlJFQ1RBTkdVTEFSIjtkZWZhdWx0OnJldHVybiJVTktOT1dOIn19OwpIcWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9hbWJpc29uaWNzXzVfMSI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTXzVfMSI7Y2FzZSAic3BhdGlhbF9hdWRpb190eXBlX2FtYmlzb25pY3NfcXVhZCI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTX1FVQUQiO2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9mb2Ffd2l0aF9ub25fZGllZ2V0aWMiOnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfRk9BX1dJVEhfTk9OX0RJRUdFVElDIjtkZWZhdWx0OnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSJ9fTsKZnRaPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUzQobmV3IGcuR3gobixXLEQpLG4pfTsKR189ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PmdaKDI0LDExNjQsVy5YYi5OKSl9OwpmRHc9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PiEhVy5pbmZvLnZpZGVvJiZXLmluZm8udmlkZW8uaXNIZHIoKSl9OwokZz1mdW5jdGlvbihuLFcpe24uTltXLmluZm8uaWRdPVc7bi5KLnNldChjdyhXLG4uelcpLFcpfTsKUzQ9ZnVuY3Rpb24obixXPSIiKXtuLnN0YXRlPTE7bi5TJD0oMCxnLlIpKCk7cmV0dXJuIGVnMShXfHxuLnNvdXJjZVVybCkudGhlbihEPT57aWYoIW4ucU4oKSl7bi5sTj1ELnN0YXR1cztEPUQucmVzcG9uc2VUZXh0O2xldCB2PW5ldyBET01QYXJzZXI7RD1nLmdUKHYsZy5IVihEKSwidGV4dC94bWwiKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiTVBEIilbMF07bi5jSj1qeChsVChELCJtaW5pbXVtVXBkYXRlUGVyaW9kIikpKjFFM3x8SW5maW5pdHk7Yjp7aWYoRC5hdHRyaWJ1dGVzKWZvcihiIG9mIEQuYXR0cmlidXRlcylpZihiLnZhbHVlPT09Imh0dHA6Ly95b3V0dWJlLmNvbS95dC8yMDEyLzEwLzEwIil7dmFyIGI9Yi5uYW1lLnNwbGl0KCI6IilbMV07YnJlYWsgYn1iPSIifW4uaj1iO24uaXNMaXZlPW4uY0o8SW5maW5pdHkmJm4uaXNMaXZlUGxheWJhY2s7bi5ISj1OdW1iZXIobFQoRCxuLmorIjplYXJsaWVzdE1lZGlhU2VxdWVuY2UiKSl8fDA7aWYoYj1EYXRlLnBhcnNlKEN6KGxUKEQsCm4uaisiOm1wZFJlc3BvbnNlVGltZSIpKSkpbi5lJD0oKDAsZy5SKSgpLWIpLzFFMztuLmlzTGl2ZSYmRC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikubGVuZ3RoPD0wfHxnLmR6KEQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlBlcmlvZCIpLG4ueUUsbik7bi5zdGF0ZT0yO24uV0ooImxvYWRlZCIpO0FaKG4pfXJldHVybiBufSkuc1AoRD0+e2lmKEQgaW5zdGFuY2VvZiBnLiRUKXt2YXIgYj1ELnhocjsKbi5sTj1iLnN0YXR1c31uLnN0YXRlPTM7bi5XSigibG9hZGVycm9yIik7cmV0dXJuIGcucnAoYil9KX07CmcubUg9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby5OKCkpfTsKSzY9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby52aWRlbz9XLmluZm8udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSIjohMSl9OwpPaz1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOiExKX07ClBGPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRsKG4uTixXPT5XLmluZm8udmlkZW8/Vy5pbmZvLnZpZGVvLnByb2plY3Rpb25UeXBlPT09Ik1FU0giOiExKX07CkokVT1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5zdGVyZW9MYXlvdXQ9PT0xOiExKX07Ckl0aT1mdW5jdGlvbihuKXtyZXR1cm4gZy5iayhuLk4sVz0+Vy5pbmZvLnZpZGVvP1cubnUoKTohMCl9OwpaSD1mdW5jdGlvbihuLFcsRCl7Vz1nLlZmKFcuaW5mbyxuLnpXKTtpZihEKXtsZXQgYj1Nayh7aXRhZzpXLml0YWcsbG10Om4uelc/MDpXLmxtdHx8MCx4dGFnczpXLnh0YWdzfSk7aWYobi52SltiXSlyZXR1cm47bi52SltiXT1EfW4uR0MucHVzaChXKX07CnlDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bFQoVywiaWQiKTtEPUQucmVwbGFjZSgiOiIsIjsiKTt2YXIgYj1sVChXLCJtaW1lVHlwZSIpLHY9bFQoVywiY29kZWNzIik7Yj12P2Ake2J9OyBjb2RlY3M9IiR7dn0iYDpiO3Y9TnVtYmVyKGxUKFcsImJhbmR3aWR0aCIpKS84O3ZhciBrPU51bWJlcihUUChXLCJCYXNlVVJMIikuZ2V0QXR0cmlidXRlKG4uaisiOmNvbnRlbnRMZW5ndGgiKSksaD1uLmR1cmF0aW9uJiZrP2svbi5kdXJhdGlvbjowO2lmKFNHKGIpKXt2YXIgeD1OdW1iZXIobFQoVywid2lkdGgiKSksTD1OdW1iZXIobFQoVywiaGVpZ2h0IikpLGU9TnVtYmVyKGxUKFcsImZyYW1lUmF0ZSIpKTtsZXQgQT1ZdWgobFQoVyxuLmorIjpwcm9qZWN0aW9uVHlwZSIpKTthOnN3aXRjaChsVChXLG4uaisiOnN0ZXJlb0xheW91dCIpKXtjYXNlICJsYXlvdXRfbGVmdF9yaWdodCI6dmFyIEc9MTticmVhayBhO2Nhc2UgImxheW91dF90b3BfYm90dG9tIjpHPTI7YnJlYWsgYTtkZWZhdWx0Okc9CjB9Rz1uZXcgSFIoeCxMLGUsQSxHKX1pZihJZChiKSl7dmFyIHI9TnVtYmVyKGxUKFcsImF1ZGlvU2FtcGxpbmdSYXRlIikpO3ZhciBOPU51bWJlcihsVChXLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJBdWRpb0NoYW5uZWxDb25maWd1cmF0aW9uIilbMF0sInZhbHVlIikpO3g9SHFoKGxUKFcsbi5qKyI6c3BhdGlhbEF1ZGlvVHlwZSIpKTtyPW5ldyBBTShyLE4seCk7YTp7TD1sVChXLCJsYW5nIil8fCJ1bmQiO2lmKE49VFAoVywiUm9sZSIpKWlmKGU9bFQoTiwidmFsdWUiKXx8IiIsZy5lcChVayxlKSl7Tj1gJHtMfS4ke1VrW2VdfWA7eD1lPT09Im1haW4iO249bFQoVyxuLmorIjpsYW5nTmFtZSIpfHxgJHtMfSAtICR7ZX1gO049bmV3IHdQKG4sTix4KTticmVhayBhfU49dm9pZCAwfX1pZihXPVRQKFcsIkNvbnRlbnRQcm90ZWN0aW9uIikpaWYoVy5nZXRBdHRyaWJ1dGUoInNjaGVtZUlkVXJpIik9PT0iaHR0cDovL3lvdXR1YmUuY29tL2RybS8yMDEyLzEwLzEwIil7dmFyIEg9e307Zm9yKFc9ClcuZmlyc3RDaGlsZDtXIT1udWxsO1c9Vy5uZXh0U2libGluZyl7aWYoIShXIGluc3RhbmNlb2YgRWxlbWVudCkpY29udGludWU7aWYoIS9TeXN0ZW1VUkwvLnRlc3QoVy5ub2RlTmFtZSkpY29udGludWU7bj1XLmdldEF0dHJpYnV0ZSgidHlwZSIpO3g9Vy50ZXh0Q29udGVudDtuJiZ4JiYoSFtuXT14LnRyaW0oKSl9fWVsc2UgSD12b2lkIDA7cmV0dXJuIG5ldyBtdShELGIse2F1ZGlvOnIsdmlkZW86RyxrWjpOLGNvbnRlbnRQcm90ZWN0aW9uOkgsTnM6dixYbjpoLGNvbnRlbnRMZW5ndGg6a30pfTsKQVo9ZnVuY3Rpb24obil7dmFyIFc9bi5jSjtpc0Zpbml0ZShXKSYmKEVrKG4pP24ucmVmcmVzaCgpOihXPU1hdGgubWF4KDAsbi5TJCtXLSgwLGcuUikoKSksbi5LfHwobi5LPW5ldyBnLmZfKG4ucmVmcmVzaCxXLG4pLGcudShuLG4uSykpLG4uSy5zdGFydChXKSkpfTsKdmFyIFN1eD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsNCwxNjk5LG4sVyxELGIsdixrLGgseCxMLGUpfTsKRWs9ZnVuY3Rpb24obil7cmV0dXJuIG4uaXNMaXZlJiYoMCxnLlIpKCktbi5TJD49bi5jSn07CkEkaT1mdW5jdGlvbihuKXtuPW4uTjtmb3IobGV0IFcgaW4gbil7bGV0IEQ9bltXXS5pbmRleDtpZihELmlzTG9hZGVkKCkpcmV0dXJuIEQueCQoKSsxfXJldHVybiAwfTsKaUE9ZnVuY3Rpb24obil7cmV0dXJuIG4ub1I/bi5vUi0obi5EfHxuLnRpbWVzdGFtcE9mZnNldCk6MH07CnVBPWZ1bmN0aW9uKG4pe3JldHVybiBuLkpVP24uSlUtKG4uRHx8bi50aW1lc3RhbXBPZmZzZXQpOjB9Owpvbz1mdW5jdGlvbihuKXtpZighaXNOYU4obi5UQykpcmV0dXJuIG4uVEM7dmFyIFc9bi5OO2Zvcih2YXIgRCBpbiBXKXt2YXIgYj1XW0RdLmluZGV4O2lmKGIuaXNMb2FkZWQoKSYmIVdbRF0uaW5mby5OKCkpe1c9MDtmb3IoRD1iLlpPKCk7RDw9Yi54JCgpO0QrKylXKz1iLmdldER1cmF0aW9uKEQpO1cvPWIuSDcoKTtXPU1hdGgucm91bmQoVy8uNSkqLjU7Yi5INygpPjEwJiYobi5UQz1XKTtyZXR1cm4gV31pZihuLmlzTGl2ZSYmKGI9V1tEXSxiLnJiKSlyZXR1cm4gYi5yYn1yZXR1cm4gTmFOfTsKbTh0PWZ1bmN0aW9uKG4sVyl7bj1xYyhuLk4sYj0+Yi5pbmRleC5pc0xvYWRlZCgpKTsKaWYoIW4pcmV0dXJuIE5hTjtuPW4uaW5kZXg7dmFyIEQ9bi5SMyhXKTtyZXR1cm4gbi5nZXRTdGFydFRpbWUoRCk9PT1XP1c6RDxuLngkKCk/bi5nZXRTdGFydFRpbWUoRCsxKTpOYU59Owp6eD1mdW5jdGlvbihuLFcpe2lmKCFuLk5bIjAiXSl7dmFyIEQ9bmV3IG11KCIwIiwiZmFrZXNiIix7dmlkZW86bmV3IEhSKDAsMCwwLHZvaWQgMCx2b2lkIDAsImF1dG8iKX0pO24uTlsiMCJdPVc/bmV3IGR0KG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELCJmYWtlIik6bmV3IHNrKG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELG5ldyBhQigwLDApLG5ldyBhQigwLDApKX19OwpnLmxBPWZ1bmN0aW9uKG4pe2lmKG4uaXNNYW5pZmVzdGxlc3MpZm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5kZXguc2VnbWVudHM9W119OwpUeD1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4uTil7bGV0IHY9bi5OW2JdLmluZm8uTigpfHxuLk5bYl0uaW5mby5mWSgpO0Q9PT12JiZuLk5bYl0uaW5kZXg/Lk8oVyl9fTsKajQ9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5mby5OKCl8fFBBKG4uTltXXS5pbmRleCxJbmZpbml0eSl9OwpDNj1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBoIGluIG4uTil7dmFyIGI9bi5OW2hdLmluZGV4LHY9VyxrPUQ7Yi5PVCYmKHYmJihiLnFxPU1hdGgubWF4KGIucXEsdikpLGsmJihiLkRuPU1hdGgubWF4KGIuRG58fDAsaykpKX1EJiYobi50dz1ELzFFMyl9OwpCRj1mdW5jdGlvbihuLFcsRCxiPSExKXtiJiZEPT09bi5QWHx8KG4uYmQucHVzaChXKSxuLlBYPUQsbi5XSigiY3VlcG9pbnRzYWRkZWQiLEQpKX07CktLdD1mdW5jdGlvbihuKXtuLkpVPTA7bi5vUj0wO24uSVQ9MH07CkZ2PWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRJiZuLmlzTWFuaWZlc3RsZXNzP24uaXNMaXZlSGVhZFBsYXlhYmxlOm4uaXNMaXZlfTsKcDY9ZnVuY3Rpb24obixXLEQpe3d0PT09bnVsbCYmKHd0PXdpbmRvdy5NZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMi41MS4xMC4wMS4wOS4xNi4wOS4wMCInKSYmIU1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAyLjUxLjEwLjAxLjA5Ljk5Ljk5LjAwIicpKTtpZihNeiYmd2luZG93Lk1lZGlhU291cmNlJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQhPT12b2lkIDApcmV0dXJuIHd0fHxEIT09IjkiJiZEIT09IigiP3d0fHxEIT09IjloIiYmRCE9PSIoaCJ8fChuPSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicpOm49J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicsbjtpZighd3QmJiFSb3x8biE9PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInJiZuIT09J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5LjIiJylyZXR1cm4gbjsKRD0iMDAiO3ZhciBiPSIwOCIsdj0iMDEiLGs9IjAxIixoPSIwMSI7bj09PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicmJihEPSIwMiIsYj0iMTAiLFcucHJpbWFyaWVzPT09ImJ0MjAyMCImJihoPXY9IjA5IiksVy5OPT09InNtcHRlMjA4NCImJihrPSIxNiIpLFcuTj09PSJhcmliLXN0ZC1iNjciJiYoaz0iMTgiKSk7cmV0dXJuYHZpZGVvL3dlYm07IGNvZGVjcz0iJHtbInZwMDkiLEQsIjUxIixiLCIwMSIsdixrLGgsIjAwIl0uam9pbigiLiIpfSJgfTsKVkM9ZnVuY3Rpb24obixXLEQpe249YCR7bn0ke1c+NDk/InA2MCI6Vz4zMj8icDQ4IjoiIn1gO1c9ZjcoKVtuXTtpZihXIT1udWxsJiZXPjApcmV0dXJuIFc7Vz1RQy5nZXQobik7aWYoVyE9bnVsbCYmVz4wKXJldHVybiBXO0Q9RD8uZ2V0KG4pO3JldHVybiBEIT1udWxsJiZEPjA/RDo4MTkyfTsKT3F4PWZ1bmN0aW9uKG4sVz0hMSl7UWh3KFcpO1ZwQyhXKTtpZihXKXtmb3IobGV0IEQgb2YgUUMua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxRQy5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIGNGLnZhbHVlcygpKUQuc3RhcnRzV2l0aCgiMSIpfHxjRi5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIG4ua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxuLmRlbGV0ZShEKX1lbHNlIFFDLmNsZWFyKCksY0YuY2xlYXIoKSxuLmNsZWFyKCl9OwpVOFo9ZnVuY3Rpb24obix7aXNPdGY6VyxtVjpELHlYOmIsSVI6dixPdzprLEhpOmgsbFU6eCxvTDpMLHhkOmUsZGlzYWJsZUF2MTpHLGRCOnJ9KXt2YXIgTj1uZXcgUGVNKG4pO2lmKG4uV1goKXx8bi5TKCJodG1sNV9sb2dnaW5nX2Zvcm1hdF9zZWxlY3Rpb24iKSlOLlc9ITA7Ti5HQz1rO04uSGk9aCYmbi5LO04ueGQ9ZTtnLnViKCJ3aW5kb3dzIG50IDUuMSIpJiYhZy5hbyYmKE4uYnY9ITApO2lmKGs9RClrPWcubk4obik/WnFTKG4pOiExO2smJihOLmNKPSEwKTt4JiYoTi5idj0hMCxOLk5kPSEwKTtXJiYhbi5TKCJodG1sNV9vdGZfcHJlZmVyX3ZwOSIpJiYoTi5idj0hMCk7bi5wbGF5ZXJTdHlsZT09PSJwaWNhc2F3ZWIiJiYoVyYmKE4uYnY9ITEpLE4udHc9ITEpO3YmJihOLmJ2PSEwKTtTSihuLlcsQVQuQ0hBTk5FTFMpJiYobi5TKCJodG1sNV9lbmFibGVfYWMzIikmJihOLmo9ITApLG4uUygiaHRtbDVfZW5hYmxlX2VhYzMiKSYmKE4uVj0hMCksbi5TKCJodG1sNV9lbmFibGVfYWMzX2dhcGxlc3MiKSYmCihOLkhKPSEwKSk7bi5TKCJodG1sNV9ibG9ja184a19oZnIiKSYmKE4uUFg9ITApO04uSz1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO04uWT1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO2cuV1gmJihOLndhPTQ4MCk7aWYoYnx8RClOLnR3PSExO04uQ3U9ITE7Ti5kaXNhYmxlQXYxPUc7Ti5KPW4uUygiaHRtbDVfbG9nX25vX2F2MV9yZWFzb24iKTtXPURLKG4sTi5OLHZvaWQgMCxOLmRpc2FibGVBdjEpO1c+MCYmVzwyMTYwJiYoVlQoKXx8bi5TKCJodG1sNV9mb3JtYXRfaHlicmlkaXphdGlvbiIpKSYmKE4uTi5zdXBwb3J0c0NoYW5nZVR5cGU9K1ZUKCksTi5uUz1XKTtXPj0yMTYwJiYoTi5lJD0hMCk7Ti5vTD1MO04uRkY9Zy5SZ3x8YzAoKSYmIUw/ITE6ITA7Ti5EPW4uUygiaHRtbDVfZm9ybWF0X2h5YnJpZGl6YXRpb24iKTtOLkJWPW4uUygiaHRtbDVfZGlzYWJsZV9lbmNyeXB0ZWRfdnA5X2xpdmVfbm9uXzJrXzRrIik7Ck4ualc9cjtyZXR1cm4gTn07CkRLPWZ1bmN0aW9uKG4sVz17fSxELGI9ITEpe2lmKGIpcmV0dXJuIFcuZGlzYWJsZWQ9MSwwO2lmKFNKKG4uVyxBVC5BVjFfQ09ERUNTKSYmU0oobi5XLEFULkhFSUdIVCkmJlNKKG4uVyxBVC5CSVRSQVRFKSlyZXR1cm4gVy5pc0NhcGFiaWxpdHlVc2FibGU9MSw4MTkyO2I9MTA4MDt2YXIgdj1uYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeTt2PD0yJiYoYj00ODApO1cuY29yZUNvdW50PXY7aWYodj1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYXYxX3RocmVzaG9sZCIpKWI9V1siZGVmYXVsdCJdPXY7aWYodj1uLlcuY0opVy5tY2FwPXYsYj1NYXRoLm1heChiLHYpO2lmKEQpe2lmKHY9RC52aWRlb0luZm9zLmZpbmQoaD0+aC5NVygpKT8uaj8ucG93ZXJFZmZpY2llbnQpYj04MTkyLFcuaXNFZmZpY2llbnQ9MTsKRD1ELnZpZGVvSW5mb3NbMF0udmlkZW87bGV0IGs9TWF0aC5taW4oVkMoIjEiLEQuZnBzKSxWQygiMSIsMzApKTtXLnBlcmZDYXA9aztiPU1hdGgubWluKGIsayk7IUQuaXNIZHIoKXx8dnx8bi5adCgpLk4uUVEoeSRqKXx8KFcuaGRyPTEsYio9Ljc1KX1lbHNlIG49VkMoIjEiLDMwKSxXLnBlcmZDYXAzMD1uLGI9TWF0aC5taW4oYixuKSxuPVZDKCIxIiw2MCksVy5wZXJmQ2FwNjA9bixiPU1hdGgubWluKGIsbik7cmV0dXJuIFcuYXYxVGhyZXNob2xkPWJ9OwpySGk9ZnVuY3Rpb24obil7dmFyIFc9WyJvIiwiYSIsIkEiXTtpZihuLnhkPT09MSYmKG4uaiYmKFc9WyJtYWMzIiwiTUFDMyJdLmNvbmNhdChXKSksbi5WJiYoVz1bIm1lYWMzIiwiTUVBQzMiXS5jb25jYXQoVykpLG4uVlF8fG4uZkIpKXtsZXQgRD1bXTtuLlZRJiZELnB1c2goImkiKTtuLmZCJiZELnB1c2goIkkiKTtXPUQuY29uY2F0KFcpfW4uY0omJihXPVsic28iLCJzYSJdLmNvbmNhdChXKSk7IW4uTmR8fG4uSEp8fG4uWHx8bi5zNXx8Vy51bnNoaWZ0KCJhIik7bi5YJiYoVz0oYm9bbi5YXXx8W24uWF0pLmNvbmNhdChXKSk7cmV0dXJuIFd9OwpKSHI9ZnVuY3Rpb24obil7aWYobi5HQylyZXR1cm5bImYiXTtpZihnLnViKCJhcHBsZXR2NSIpKXJldHVybiJoIDloIDkgOCBIIChoICggKiIuc3BsaXQoIiAiKTt2YXIgVz1bIjloIiwiOSIsImgiLCI4Il07bi5ZJCYmVy5wdXNoKCIxZSIpO1c9Vy5jb25jYXQoWyIoaCIsIigiLCJIIiwiKiJdKTtuLmUkJiYoVy51bnNoaWZ0KCIxIiksVy51bnNoaWZ0KCIxaCIpKTtuLmJ2JiZXLnVuc2hpZnQoImgiKTtuLk8mJihXPShib1tuLk9dfHxbbi5PXSkuY29uY2F0KFcpKTtyZXR1cm4gV307CnZYPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93LFc9bi5NU01lZGlhS2V5cztDJCgpJiYhVyYmKFc9bi5XZWJLaXRNZWRpYUtleXMpO3JldHVybiBXJiZXLmlzVHlwZVN1cHBvcnRlZD9XOm51bGx9Owpoej1mdW5jdGlvbihuKXtyZXR1cm4gbmF2aWdhdG9yLnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzcz9nLm9kJiYhZy5kOCgpP0NfKCI0NSIpOmcuUmd8fGcua2g/bi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTpnLmFvP0NfKCI0NyIpOmcuR24mJm4uRXEoImh0bWw1X2VuYWJsZV9zYWZhcmlfZmFpcnBsYXkiKT8hMTohMDohMX07CnhoPWZ1bmN0aW9uKG4pe3JldHVybiBuLlg/ITE6IW4ua2V5U3lzdGVtQWNjZXNzJiYhIXZYKCkmJm4ua2V5U3lzdGVtPT09ImNvbS5taWNyb3NvZnQucGxheXJlYWR5In07CkxOPWZ1bmN0aW9uKG4pe3JldHVybiBuLmtleVN5c3RlbT09PSJjb20ubWljcm9zb2Z0LnBsYXlyZWFkeSJ9OwplVD1mdW5jdGlvbihuKXtyZXR1cm4hbi5rZXlTeXN0ZW1BY2Nlc3MmJiEhdlgoKSYmbi5rZXlTeXN0ZW09PT0iY29tLmFwcGxlLmZwcy4xXzAifTsKZzE9ZnVuY3Rpb24obil7cmV0dXJuIG4ua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5In07CmcuWFY9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmxhdm9yPT09ImZhaXJwbGF5In07CkVHQz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj16USgpLGs9KEQ9dnx8RCYmQyQoKSk/WyJjb20ueW91dHViZS5mYWlycGxheSJdOlsiY29tLndpZGV2aW5lLmFscGhhIl07VyYmay51bnNoaWZ0KCJjb20ueW91dHViZS53aWRldmluZS5sMyIpO3YmJmImJmsudW5zaGlmdCgiY29tLnlvdXR1YmUuZmFpcnBsYXkuc2JkbCIpO3JldHVybiBEP2s6bj9bLi4uaywuLi5xVi5wbGF5cmVhZHldOlsuLi5xVi5wbGF5cmVhZHksLi4ua119OwokaD1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uSi5sZW5ndGg9PT0wKW4uY2FsbGJhY2sobi5YKTtlbHNle3ZhciBXPW4uSlswXSxEPW4uV1tXXSxiPWlxdChuLEQpO0dMJiZHTC5rZXlTeXN0ZW09PT1XJiZHTC5JMT09PUpTT04uc3RyaW5naWZ5KGIpPyhuLlUoInJlbWtzYSIse3JlOiEwfSksdHoobixELEdMLmtleVN5c3RlbUFjY2VzcykpOihuLlUoInJlbWtzYSIse3JlOiExLG9rOkdMPy5rZXlTeXN0ZW0/PyIifSksR0w9dm9pZCAwLG5hdmlnYXRvci5yZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoVyxiKS50aGVuKFl6KHY9Pnt0eihuLEQsdixiKX0pLFl6KCgpPT57bi5qPSFuLmomJm4uV1tuLkpbMF1dLmZsYXZvcj09PSJ3aWRldmluZSI7Cm4uanx8bi5KLnNoaWZ0KCk7JGgobil9KSkpfX07Cm9Hdz1mdW5jdGlvbihuKXtpZih2WCgpJiYoZy5Hbnx8dzgpKW4uWC5wdXNoKG5ldyByMSgiZmFpcnBsYXkiLCJjb20uYXBwbGUuZnBzLjFfMCIsIiIsbi55US5leHBlcmltZW50cykpO2Vsc2V7dmFyIFc9dTFyKCksRD1nLmxfKG4uSixiPT57dmFyIHY9bi5XW2JdLGs9ITEsaD0hMTtmb3IobGV0IHggaW4gbi5OW3YuZmxhdm9yXSlXKHgsYikmJih2LkpbeF09ITAsaz1rfHx4LmluZGV4T2YoImF1ZGlvLyIpPT09MCxoPWh8fHguaW5kZXhPZigidmlkZW8vIik9PT0wKTtyZXR1cm4gayYmaH0pOwpEJiZuLlgucHVzaChuLldbRF0pO24uSj1bXX1uLmNhbGxiYWNrKG4uWCl9OwpkOGk9ZnVuY3Rpb24obixXKXtuLmNhbGxiYWNrPVc7bi5YPVtdO2h6KG4ueVEuZXhwZXJpbWVudHMpPyRoKG4pOm9HdyhuKX07CmlxdD1mdW5jdGlvbihuLFcpe3ZhciBEPXtpbml0RGF0YVR5cGVzOlsiY2VuYyIsIndlYm0iXSxhdWRpb0NhcGFiaWxpdGllczpbXSx2aWRlb0NhcGFiaWxpdGllczpbXX07aWYobi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikmJmcxKFcpKXJldHVybiBELmF1ZGlvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC41Iid9KSxELnZpZGVvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOid2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40ZDQwMGIiJ30pLFtEXTtMTihXKSYmKEQuaW5pdERhdGFUeXBlcz1bImtleWlkcyIsImNlbmMiXSk7Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKXt2YXIgYj12LmluZGV4T2YoImF1ZGlvLyIpPT09MDtsZXQgaz1iP0QuYXVkaW9DYXBhYmlsaXRpZXM6RC52aWRlb0NhcGFiaWxpdGllcztXLmZsYXZvciE9PSJ3aWRldmluZSJ8fG4uaj9rLnB1c2goe2NvbnRlbnRUeXBlOnZ9KToKYj9rLnB1c2goe2NvbnRlbnRUeXBlOnYscm9idXN0bmVzczoiU1dfU0VDVVJFX0NSWVBUTyJ9KTooZy5vZCYmZy51Yigid2luZG93cyBudCIpJiYhbi5TKCJodG1sNV9kcm1fZW5hYmxlX21vaG8iKXx8ay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IkhXX1NFQ1VSRV9BTEwifSksYj12LG4ueVEuVy5KJiZ2LmluY2x1ZGVzKCJ2cDA5IikmJihiPXYrIjsgZXhwZXJpbWVudGFsPWFsbG93ZWQiKSxrLnB1c2goe2NvbnRlbnRUeXBlOmIscm9idXN0bmVzczoiU1dfU0VDVVJFX0RFQ09ERSJ9KSxnLnNkKG4ueVEpJiYoVkgoKXx8b0soKSkmJihuLlUoInN3Y3J5cHRvIix7fSksay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IlNXX1NFQ1VSRV9DUllQVE8ifSkpKX1yZXR1cm5bRF19Owp0ej1mdW5jdGlvbihuLFcsRCxiKXtpZighbi5xTigpKXtiJiYoR0w9e2tleVN5c3RlbTpXLmtleVN5c3RlbSxrZXlTeXN0ZW1BY2Nlc3M6RCxJMTpKU09OLnN0cmluZ2lmeShiKX0pO1cua2V5U3lzdGVtQWNjZXNzPUQ7aWYoTE4oVykpe3ZhciB2PWk4KCk7Zm9yKHZhciBrIG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKVcuSltrXT0hIXYuY2FuUGxheVR5cGUoayl9ZWxzZXtrPVcua2V5U3lzdGVtQWNjZXNzLmdldENvbmZpZ3VyYXRpb24oKTtpZihrLmF1ZGlvQ2FwYWJpbGl0aWVzKWZvcih2IG9mIGsuYXVkaW9DYXBhYmlsaXRpZXMpVy5KW3YuY29udGVudFR5cGVdPSEwO2lmKGsudmlkZW9DYXBhYmlsaXRpZXMpZm9yKGxldCBoIG9mIGsudmlkZW9DYXBhYmlsaXRpZXMpVy5KW2guY29udGVudFR5cGVdPSEwfW4uWC5wdXNoKFcpO24udXNlQ29iYWx0V2lkZXZpbmV8fG4uUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZXLk4oKT8obi5KLnNoaWZ0KCksJGgobikpOm4uY2FsbGJhY2sobi5YKX19Owp1MXI9ZnVuY3Rpb24oKXt2YXIgbj12WCgpO2lmKG4pe2xldCBEPW4uaXNUeXBlU3VwcG9ydGVkO3JldHVybihiLHYpPT5EKHYsYil9dmFyIFc9aTgoKTsKcmV0dXJuIFcmJihXLmFkZEtleXx8Vy53ZWJraXRBZGRLZXkpPyhELGIpPT4hIVcuY2FuUGxheVR5cGUoRCxiKTooKT0+ITF9OwpsdGI9ZnVuY3Rpb24obixXKXtzd2l0Y2goVy5VMCl7Y2FzZSAiYm9vbCI6cmV0dXJuIG4uRXEoVy5ueCk7Y2FzZSAiaW50IjpyZXR1cm4gbj1OVihuLFcubngpLGcuJFUobik7Y2FzZSAiZG91YmxlIjpyZXR1cm4gTlYobixXLm54KTtjYXNlICJzdHJpbmciOnJldHVybiB6ZzIobixXLm54KTtjYXNlICJpbnQzMl9saXN0IjpyZXR1cm4gcE4obixXLm54KTtjYXNlICJpbnQ2NF9saXN0IjpyZXR1cm4gcE4obixXLm54KS5tYXAoRD0+Zy4kVShEKSk7CmNhc2UgInN0cmluZ19saXN0Ijp0aHJvdyBFcnJvcigiU3RyaW5nIGxpc3QgZmxhZ3MgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gV1BDQyIpO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gZmxhZyB0eXBlIik7fX07Ck5WPWZ1bmN0aW9uKG4sVyl7bj1uLmZsYWdzLmdldChgJHtXfWApO3JldHVybiBOdW1iZXIobil8fDB9Owp6ZzI9ZnVuY3Rpb24obixXKXtyZXR1cm4obj1uLmZsYWdzLmdldChgJHtXfWApKT9uLnRvU3RyaW5nKCk6IiJ9OwpwTj1mdW5jdGlvbihuLFcpe2lmKG49bi5mbGFncy5nZXQoYCR7V31gKSlpZihuPW4ucmVwbGFjZSgvXFsgKiguKj8pICpcXS8sIiQxIikpcmV0dXJuIG4uc3BsaXQoIiwiKS5tYXAoTnVtYmVyKTtyZXR1cm5bXX07CmcuZE09ZnVuY3Rpb24obixXLEQ9MCl7bj1uLlFRKFcpO0pTT04uc3RyaW5naWZ5KG4pO3JldHVybiBuPT09dm9pZCAwP0Q6TnVtYmVyKG4pfTsKZy5ZaD1mdW5jdGlvbihuLFcpe3JldHVybihuPW4uUVEoVykpP24udG9TdHJpbmcoKToiIn07ClRwYj1mdW5jdGlvbihuKXtpZihuPW4uUVEoImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpKWlmKG49bi5yZXBsYWNlKC9cWyAqKC4qPykgKlxdLywiJDEiKSlyZXR1cm4gbi5zcGxpdCgiLCIpLm1hcChOdW1iZXIpO3JldHVybltdfTsKSFg9ZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBuLk47aWYobi5leHBlcmltZW50SWRzLmxlbmd0aDw9MSlyZXR1cm4gbi5OPW4uZXhwZXJpbWVudElkcyxuLk47dmFyIFc9Wy4uLm4uZXhwZXJpbWVudElkc10ubWFwKEQ9Pk51bWJlcihEKSk7Clcuc29ydCgpO2ZvcihsZXQgRD1XLmxlbmd0aC0xO0Q+MDstLUQpV1tEXS09V1tELTFdO24uTj1XLm1hcChEPT5ELnRvU3RyaW5nKCkpOwpuLk4udW5zaGlmdCgidjEiKTtyZXR1cm4gbi5OfTsKTkRTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE1hcDtmb3IobGV0IGIgb2YgVy5rZXlzKCkpe2xldCB2PWIuc3BsaXQoIl8iKVswXTtuLmhhcyh2KXx8RC5zZXQoYixXLmdldChiKSl9cmV0dXJuIER9OwpZMlM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW8/LmZwc3x8MCx2PWAke259XyR7Yn1gLGs9ISFXLmF1ZGlvLGg9e2l0YWc6Vy5pdGFnLElCOm4sZVM6a307aWYoayloLm51bUNoYW5uZWxzPVcuYXVkaW8ubnVtQ2hhbm5lbHM7ZWxzZXt2YXIgeD1XLnZpZGVvO2gubWF4V2lkdGg9eD8ud2lkdGg7aC5tYXhIZWlnaHQ9eD8uaGVpZ2h0O2gubWF4RnJhbWVyYXRlPWI7aC5tYXhCaXRyYXRlQnBzPVcuTnMqODtoLno5PXg/LmlzSGRyKCl9eD1ELmdldCh2KTt4P2t8fChXPU1hdGgubWF4KHgubWF4V2lkdGh8fDAseC5tYXhIZWlnaHR8fDApPk1hdGgubWF4KGgubWF4V2lkdGh8fDAsaC5tYXhIZWlnaHR8fDApP3g6aCxuPXtpdGFnOlcuaXRhZyxJQjpuLGVTOmssbWF4V2lkdGg6TWF0aC5tYXgoeC5tYXhXaWR0aHx8MCxoLm1heFdpZHRofHwwKSxtYXhIZWlnaHQ6TWF0aC5tYXgoeC5tYXhIZWlnaHR8fDAsaC5tYXhIZWlnaHR8fDApLG1heEZyYW1lcmF0ZTpiLHo5Olcuejl9LG4ubWF4Qml0cmF0ZUJwcz0KVy5tYXhCaXRyYXRlQnBzLEQuc2V0KHYsbikpOkQuc2V0KHYsaCl9OwpPRD1mdW5jdGlvbihuLFcsRD0xKXt2YXIgYj1XLml0YWc7aWYoYj09PSIwIilyZXR1cm4hMDt2YXIgdj1XLm1pbWVUeXBlO2lmKFcuSUI9PT0iMWUiJiYhbi5YKXJldHVybiJkYXYxZW5jIjtpZihXLk1XKCkmJm4uWSlyZXR1cm4iZGF2MSI7aWYoVy52aWRlbyYmKFcudmlkZW8uaXNIZHIoKXx8Vy52aWRlby5wcmltYXJpZXM9PT0iYnQyMDIwIikmJiEoU0oobixBVC5FT1RGKXx8d2luZG93Lm1hdGNoTWVkaWEmJih3aW5kb3cubWF0Y2hNZWRpYSgiKGR5bmFtaWMtcmFuZ2U6IGhpZ2gpLCAodmlkZW8tZHluYW1pYy1yYW5nZTogaGlnaCkiKS5tYXRjaGVzfHx3aW5kb3cuc2NyZWVuLnBpeGVsRGVwdGg+MjQmJndpbmRvdy5tYXRjaE1lZGlhKCIoY29sb3ItZ2FtdXQ6IHAzKSIpLm1hdGNoZXMpKSlyZXR1cm4iZGhkciI7aWYoYj09PSIzMzgiJiYhKGcub2Q/Q18oNTMpOmcuYW8mJkNfKDY0KSkpcmV0dXJuImRvcHVzIjtEPXZHVShXLEQpO24uSiYmVy5YKCkmJihEW0FULkVYUEVSSU1FTlRBTC5uYW1lXT0KImFsbG93ZWQiKTtmb3IobGV0IHggb2YgT2JqZWN0LmtleXMoQVQpKXtsZXQgTD1BVFt4XTt2YXIgaztpZihrPURbTC5uYW1lXSlpZihrPSEoTD09PUFULkVPVEYmJlcubWltZVR5cGUuaW5kZXhPZigidnAwOS4wMiIpPjApKXtrPUw7dmFyIGg9VztrPSEobi5leHBlcmltZW50cy5FcSgiaHRtbDVfaWdub3JlX2gyNjRfZnJhbWVyYXRlX2NhcCIpJiZrPT09QVQuRlJBTUVSQVRFJiYoaC5JQj09PSJIInx8aC5JQj09PSJoIikpfWlmKGspaWYoU0oobixMKSlpZihuLmope2lmKG4ualtMLm5hbWVdPERbTC5uYW1lXSlyZXR1cm4gTC5uYW1lfWVsc2Ugdj1gJHt2fTsgJHtMLm5hbWV9PSR7RFtMLm5hbWVdfWA7ZWxzZSBpZihaTyhXKSYmTD09PUFULkVPVEYpcmV0dXJuImR2cDkyIn1uLk8mJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmVy5jb250ZW50UHJvdGVjdGlvbiYmKHYrPSI7IGhkY3A9Mi4yIik7cmV0dXJuIGI9PT0iMjI3Ij8iaHFjZW5jIjpiPT09IjU4NSJ8fApiPT09IjU4OCJ8fGI9PT0iNTgzInx8Yj09PSI1ODYifHxiPT09IjU4NCJ8fGI9PT0iNTg3Inx8Yj09PSI1OTEifHxiPT09IjU5MiI/Im5ld2h2YyI6elEoKSYmaWIoKT49MjEmJmcudWIoImFwcGxldHY1IikmJihiPT09IjQxMCJ8fGI9PT0iODQ1Iik/ITA6bi5pc1R5cGVTdXBwb3J0ZWQodik/ITA6InRwdXMifTsKU0o9ZnVuY3Rpb24obixXKXtXLm5hbWUgaW4gbi5EfHwobi5EW1cubmFtZV09ajVpKG4sVykpO3JldHVybiBuLkRbVy5uYW1lXX07CkNlVT1mdW5jdGlvbihuKXtuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyYmbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7dHlwZToibWVkaWEtc291cmNlIix2aWRlbzp7Y29udGVudFR5cGU6J3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTJNLjA4Iicsd2lkdGg6Mzg0MCxoZWlnaHQ6MjE2MCxiaXRyYXRlOjMyRTYsZnJhbWVyYXRlOjYwfX0pLnRoZW4oVz0+e1cuc21vb3RoJiZXLnBvd2VyRWZmaWNpZW50JiYobi5jSj0yMTYwKX0pfTsKZk49ZnVuY3Rpb24oKXt2YXIgbj1vSygpJiYhQ18oMjkpLFc9Zy51YigiZ29vZ2xlIHR2IikmJmcudWIoImNocm9tZSIpJiYhQ18oMzApO3JldHVybiBufHxXPyExOmNSKCl9OwpKej1mdW5jdGlvbihuLFcsRCl7dmFyIGI9NDgwLHY9MTA4MCxrO2lmKGs9bi5leHBlcmltZW50cy5adCgpLk4uUVEoQnB0KSluLlY9PT1udWxsJiYobi5WPSExLFNKKG4sQVQuV0lEVEgpJiZTSihuLEFULkhFSUdIVCkmJihuLlY9ZHkoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTdNLjA4Ijsgd2lkdGg9NzY4MDsgaGVpZ2h0PTQzMjAnKSkpLGs9bi5WO2smJih2PTIxNjApO2ZvcihsZXQgaCBvZiBXKVc9aC52aWRlby5xdWFsaXR5T3JkaW5hbCxXPD12JiZXPmImJk9EKG4saCxEKT09PSEwJiYoYj1XKTtyZXR1cm4gYn07CmcuSW49ZnVuY3Rpb24obixXPSExKXtyZXR1cm4gZk4oKSYmbi5pc1R5cGVTdXBwb3J0ZWQoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fCFXJiZuLmNhblBsYXlUeXBlKGk4KCksImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIpPyEwOiExfTsKd0p4PWZ1bmN0aW9uKG4pe0ZLQygoKT0+e2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhBVCkpU0oobixBVFtXXSl9KX07Cmo1aT1mdW5jdGlvbihuLFcpe2lmKG4uailyZXR1cm4hIW4ualtXLm5hbWVdO2lmKFc9PT1BVC5CSVRSQVRFJiZuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwJykmJiFuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwMCcpKXJldHVybiExO2lmKFc9PT1BVC5BVjFfQ09ERUNTKXJldHVybiBuLmlzVHlwZVN1cHBvcnRlZChgdmlkZW8vbXA0OyBjb2RlY3M9JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYHZpZGVvL21wNDsgY29kZWNzPSR7Vy52R31gKTtpZihXLnZpZGVvKXt2YXIgRD0ndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiJztuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjRkNDAxZSInKX1lbHNlIEQ9J2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLApuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyk7cmV0dXJuIG4uaXNUeXBlU3VwcG9ydGVkKGAke0R9OyAke1cubmFtZX09JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYCR7RH07ICR7Vy5uYW1lfT0ke1cudkd9YCl9OwpTVD1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bi5XLmhhcyhXKSYmKEQ9bi5XLmdldChXKS56RSk7bi5XLnNldChXLHt6RTpEKzEsZzE6MioqKEQrMSl9KTtuLk49ITB9OwptVj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFcmJnR5cGVvZiBXPT09Im9iamVjdCIpe2xldCBrPWg9PkF6KG4saCxELGIsdik7CmlmKFlvKFcpKXJldHVybiBXLnRoZW4oayk7aWYoWUQoVykpcmV0dXJuIFNrKFcsayl9cmV0dXJuIEF6KG4sVyxELGIsdil9OwpLTj1mdW5jdGlvbihuLFcsRCxiPTEpe0Q+PTAmJihXIGluIG4uTnx8KG4uTltXXT1uZXcgTU9pKSxuLk5bV10uZEUoRCxiKSl9OwpBej1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSgwLGcuUikoKTt2PXY/dihXKTp2b2lkIDA7dmFyIGg9dj8uVF8/PzE7aCE9PTAmJktOKG4sdj8ucHJvZmlsZT8/RCxrLWIsaCk7cmV0dXJuIFd9OwpPZD1mdW5jdGlvbihuKXt2YXIgVz13aW5kb3c7Vy55d2N8fChXLnl3Yz17fSk7dmFyIEQ9Vy55d2Nbbl07aWYoRClyZXR1cm4gRDtEPXt9O3JldHVybiBXLnl3Y1tuXT1EfTsKUFg9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93O1cueXdjJiZkZWxldGUgVy55d2Nbbl19OwpSZ1U9ZnVuY3Rpb24obil7dmFyIFc9T2Qobik7aWYoVy5iaW5QKXJldHVybiBXLmJpblA7Vy5iaW5QPVByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmZldGNoKG4pKS50aGVuKEQ9PntpZighRC5vayl0aHJvdyBFcnJvcihgSFRUUCR7RC5zdGF0dXNUZXh0fWApOwpyZXR1cm4gRC5hcnJheUJ1ZmZlcigpfSk7ClcuYmluUC50aGVuKEQ9PntXLmJpbj1EfSwoKT0+e1BYKG4pfSk7CnJldHVybiBXLmJpblB9OwpFZD1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1aSy50WCgpLHY9biYmVWQ7aWYoIXYmJiFXKXJldHVybiBEPy4oIndhc21ucyIse3A6bj8iMSI6IjAiLGE6Vz8iMSI6IjAiLHM6VWQ/IjEiOiIwIn0pLGZsKEVycm9yKCJ3YXNtLndtLm5zIikpO3ZhciBrPW5ldyBRNXI7aWYodil0cnl7bGV0IGg9eWllbGQqUFAoVk9yKGssbikpLHg9bmV3IHlNKGgsaywhMSk7WksuZVUoIndpbml0IixiKTtEPy4oIndhc21zdyIse30pO3JldHVybiB4fWNhdGNoKGgpe2lmKEQ/Ligid2FzbWVycnciLHtlOmAke2h9YH0pLCFXKXRocm93IEVycm9yKCJ3YXNtLndtLml3Iix7Y2F1c2U6aH0pO31pZighVyl0aHJvdyBFcnJvcigid2FzbS53bS54eCIpO3RyeXtsZXQgaD15aWVsZCpQUChXKGspKSx4PW5ldyB5TSh7ZXhwb3J0czpofSxrLCEwKTtaSy5lVSgid2luaXRqcyIsYik7RD8uKCJ3YXNtc2EiLHt9KTtyZXR1cm4geH1jYXRjaChoKXt0aHJvdyBEPy4oIndhc21lcnJhIiwKe2U6YCR7aH1gfSksRXJyb3IoYHdhc20ud20uaWE6ICR7aH1gKTt9fSgpfSl9OwpWT3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28oYyR0LGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7aWYoIUQuTil0aHJvdyJ3YXNtLnBzLm5zIjt2YXIgYj15aWVsZCpQUChhdHQoRCxXKSk7aWYoIWIpdGhyb3cid2FzbS5wcy51bSI7cmV0dXJuIHlpZWxkKlBQKFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGIsbikpfSgpfSl9OwphdHQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBEPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPVtdLHY9KCk9PiJ3YXNtLnBzLmM6IFsiK2IubWFwKHg9PmAiJHt4fSJgKS5qb2luKCIsICIpKyJdIixrPU9kKFcpOwppZihrLm1vZClyZXR1cm4gay5tb2Q7aWYoay5tb2RQKXRyeXtyZXR1cm4geWllbGQqUFAoay5tb2RQKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBjbSIpfXZhciBoPWsuYmluO2lmKCFoJiZrLmJpblApdHJ5e2g9eWllbGQqUFAoay5iaW5QKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBmYiIpfWlmKCFoKXRyeXtoPXlpZWxkKlBQKFJnVShXKSl9Y2F0Y2goeCl7dGhyb3cgRC5OPSExLGIudW5zaGlmdChgZmI6ICR7eH1gKSx2KCk7fXRyeXtyZXR1cm4geWllbGQqUFAoV2ViQXNzZW1ibHkuY29tcGlsZShoKSl9Y2F0Y2goeCl7UFgoVyksYi51bnNoaWZ0KGBjYTogJHt4fWApfXRocm93IHYoKTt9KCl9KX07CmlvPWZ1bmN0aW9uKG4sVyxELGIpe0Q9bi5XVi5tZW1vcnkuY29weUluKEQpO3ZhciB2PW4uTjt2LldWLmV4cG9ydHMuQUVTMTI4Q1RSQ2lwaGVyX3NldENvdW50ZXIodi5jaXBoZXIsRC5ieXRlT2Zmc2V0KTtXPW4uV1YubWVtb3J5LmNvcHlJbihXKTtuLk4uZW5jcnlwdChXKTt2PXZvaWQgMDtpZihiKXtiPW4uV1Y7dj1uLko7bGV0IGs9Yi5tZW1vcnkuYnVmZmVyKGIubWVtb3J5Lm1hbGxvYygzMiksMzIpO2IuZXhwb3J0cy5TaGEyNTZIbWFjKHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgsRC5ieXRlT2Zmc2V0LEQuYnl0ZUxlbmd0aCxXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoLGsuYnl0ZU9mZnNldCk7dj1uLldWLm1lbW9yeS5tb3ZlT3V0KGspfW4uV1YubWVtb3J5LmZyZWUoRC5ieXRlT2Zmc2V0KTtyZXR1cm57RzQ6bi5XVi5tZW1vcnkubW92ZU91dChXKSxzaWduYXR1cmU6dn19OwpuWUM9ZnVuY3Rpb24obil7bi5FaC5leHBvcnRzLlRyYWNrZWRQb2ludGVyX3JlbGVhc2Uobi5pZCl9Owpvbj1mdW5jdGlvbihuKXtuLlh8fChuLlg9bmV3IHVvKG4uSikpO3JldHVybiBuLlh9OwpnLmQxPWZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gbHAobil9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKekw9ZnVuY3Rpb24obil7dmFyIFc9SG4oKTtpZihXLnZhbHVlcyl7Vz1XLnZhbHVlcztsZXQgaD17fTtmb3IodmFyIEQgb2YgT2JqZWN0LmtleXMobi52YWx1ZXMpKXtXW0RdJiZuLkpbRF0mJihuLnZhbHVlc1tEXSs9V1tEXS1uLkpbRF0pO3ZhciBiPW4sdj1iO2lmKCF2LnZhbHVlc1tEXSl7dmFyIGs9SG4oKTt2LnZhbHVlcz1rLnZhbHVlc3x8e307di5GWT1rLmhhbGZMaXZlc3x8e307di5KPWsudmFsdWVzP09iamVjdC5hc3NpZ24oe30say52YWx1ZXMpOnt9fWhbRF09Yi52YWx1ZXNbRF0mJmIuRllbRF0/Yi52YWx1ZXNbRF0vMioqKGIuTi9iLkZZW0RdKTowfW4uSj1ofUQ9bi5GWTtXPXt9O1cudmFsdWVzPW4uSjtXLmhhbGZMaXZlcz1EO2cuUEIoInl0LXBsYXllci1tZW1vcnkiLFcsMjU5MkUzKX07Clh2PWZ1bmN0aW9uKG4sVyl7cmV0dXJuISFXJiYhIW4uWnQoKS5OLlFRKFdJTSkmJihXLnN0YXJ0c1dpdGgoImciKXx8Vy5zdGFydHNXaXRoKCJsIikpfTsKZy5zZD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iTVdFQiJ9OwpUTD1mdW5jdGlvbihuKXtuLmdUPT09bnVsbCYmKG4uZ1Q9d2luZG93Lk1lZGlhU291cmNlJiZ3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkP3dpbmRvdy5NZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUnKTohMSk7cmV0dXJuIG4uZ1R9OwpqVD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9TSU1QTFlfRU1CRURERURfUExBWUVSIn07CmcubzQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uSiYmZy5DTihuKSYmIUJYKG4pJiYhbi5YfTsKQlg9ZnVuY3Rpb24obil7cmV0dXJuIG4uWT09PSJhZHVuaXQifHxuLnBsYXllclN0eWxlPT09Imd2biJ9OwpGVj1mdW5jdGlvbihuKXtyZXR1cm4gbi5ZPT09ImRldGFpbHBhZ2UifTsKZy53MT1mdW5jdGlvbihuKXtyZXR1cm4gdzgmJiFuLnhofHxnLnViKCJuaW50ZW5kbyB3aWl1Iik/ITA6ITF9OwpnLkNOPWZ1bmN0aW9uKG4pe3JldHVybiBuLlk9PT0iZW1iZWRkZWQifTsKZy5NVj1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX1JFTUlYIn07ClFNPWZ1bmN0aW9uKG4pe2lmKCFuLndlYlBsYXllckNvbnRleHRDb25maWc/LmVtYmVkc0hvc3RGbGFncz8uZW5hYmxlTGl0ZVV4fHxuLnZKfHxuLlh8fG4uRHx8bi5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiKXJldHVybiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX05PTkUiO249Zy5kTShuLmV4cGVyaW1lbnRzLCJlbWJlZHNfd2ViX2xpdGVfbW9kZSIpO3JldHVybiBuPT09dm9pZCAwPyJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04iOm4+PTAmJm48Um4ubGVuZ3RoP1JuW25dOiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04ifTsKY1g9ZnVuY3Rpb24obixXLEQ9ITEpe24uUyQ9Yk8obi5TJCxXLnZpZGVvX2lkKTtuLmZCPWJPKG4uZkIsVy5ldmVudGlkKTtuLmZCJiYod289bi5mQik7dmFyIGI9W107Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKFZNKSl7bGV0IGs9Vk1bdl0saD1XW2tdO2ghPW51bGwmJihoIT09bi5OW2tdJiZiLnB1c2goayksbi5OW2tdPWgpfSFEJiZiLmxlbmd0aD4wJiZuLm9NJiYoYi5zb3J0KCksZy5HcShuZXcgZy5ReCgiUGxheWVyIGNsaWVudCBwYXJhbWV0ZXJzIGNoYW5nZWQgYWZ0ZXIgc3RhcnR1cCIsYikpKTtuLnVzZXJBZ2U9REkobi51c2VyQWdlLFcudXNlcl9hZ2UpO24udXNlckRpc3BsYXlJbWFnZT1iTyhuLnVzZXJEaXNwbGF5SW1hZ2UsVy51c2VyX2Rpc3BsYXlfaW1hZ2UpO2cuakkobi51c2VyRGlzcGxheUltYWdlKXx8KG4udXNlckRpc3BsYXlJbWFnZT0iIik7bi51c2VyRGlzcGxheU5hbWU9Yk8obi51c2VyRGlzcGxheU5hbWUsVy51c2VyX2Rpc3BsYXlfbmFtZSk7bi55dz1iTyhuLnl3LApXLnVzZXJfZ2VuZGVyKTtuLmNzaVBhZ2VUeXBlPWJPKG4uY3NpUGFnZVR5cGUsVy5jc2lfcGFnZV90eXBlKTtuLmNzaVNlcnZpY2VOYW1lPWJPKG4uY3NpU2VydmljZU5hbWUsVy5jc2lfc2VydmljZV9uYW1lKTtuLmVWPW55KG4uZVYsVy5lbmFibGVjc2kpO24ucGFnZUlkPWJPKG4ucGFnZUlkLFcucGFnZWlkKTtpZihEPVcuZW5hYmxlZF9lbmdhZ2VfdHlwZXMpbi5lbmFibGVkRW5nYWdlVHlwZXM9bmV3IFNldChELnNwbGl0KCIsIikpO1cubGl2aW5nX3Jvb21fc2Vzc2lvbl9wb190b2tlbiYmKG4ualc9Vy5saXZpbmdfcm9vbV9zZXNzaW9uX3BvX3Rva2VuLnRvU3RyaW5nKCkpfTsKZy5hbj1mdW5jdGlvbihuKXtyZXR1cm4vd2ViL2kudGVzdChsbyhuKSl9Owpsbz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmN9OwpjOT1mdW5jdGlvbihuLFcpe3JldHVybiFuLlgmJm9LKCkmJkNfKDU1KSYmbi5jb250cm9sc1R5cGU9PT0iMyImJiFXfTsKV0U9ZnVuY3Rpb24obil7bj1nLm5FKG4uRGEpO3JldHVybiBuPT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSI/Ind3dy55b3V0dWJlLmNvbSI6bn07CmcuRGY9ZnVuY3Rpb24obil7cmV0dXJuIGxvKG4pPT09IldFQl9VTlBMVUdHRUQifTsKYmk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLnByb3RvY29sKyI6Ly9pMS55dGltZy5jb20vdmkvIitXKyIvIisoRHx8ImhxZGVmYXVsdC5qcGciKX07CnZFPWZ1bmN0aW9uKG4pe3JldHVybiBGVihuKSYmIWcuRGYobil9OwpnLms2PWZ1bmN0aW9uKG4pe3JldHVybi9eVFZIVE1MNS8udGVzdChsbyhuKSl9OwpodT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9DQVNUInx8bG8obik9PT0iVFZIVE1MNSImJihuLk4uY3Zlci5zdGFydHNXaXRoKCI2LjIwMTMwNzI1Iil8fG4uTi5jdmVyLnN0YXJ0c1dpdGgoIjYuMjAxMzA3MjYiKSl9OwpnLng2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1In07CkxFPWZ1bmN0aW9uKG4pe3JldHVybiBuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QgVUxUUkEvU1RFQUsifHxuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QvU1RFQUsifTsKZy5IXz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjF9OwpnLmVNPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKS50b1VwcGVyQ2FzZSgpPT09IldFQiJ9OwpnLlhDPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfS0lEUyJ9OwpnLnFGPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1X1VOUExVR0dFRCJ9OwpnLkdsPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRmKG4pfHxsbyhuKT09PSJUVl9VTlBMVUdHRURfQ0FTVCJ8fGcucUYobil9Owp0dT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX01VU0lDX0lOVEVHUkFUSU9OUyJ9OwpnLiQ2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfRU1CRURERURfUExBWUVSIn07Cmcubk49ZnVuY3Rpb24obil7cmV0dXJuKG4uZGV2aWNlSXNBdWRpb09ubHl8fCFnLm9kfHxnLk1MfHxuLmNvbnRyb2xzVHlwZT09PSIzIj8hMTpnLlFIP24uSiYmZy5aWCg1MSk6ITApfHwobi5kZXZpY2VJc0F1ZGlvT25seXx8IWcuYW98fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDQ4KTpnLlpYKDM4KSl8fChuLmRldmljZUlzQXVkaW9Pbmx5fHwhcmN8fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDM3KTpnLlpYKDI3KSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLnNtJiYhRm4oKSYmZy5aWCgxMSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLkduJiZnLlpYKCI2MDQuNCIpfHxuLldjKCl9OwpacVM9ZnVuY3Rpb24obil7aWYoZy5DTihuKSYmTkYpcmV0dXJuITE7aWYoZy5hbyl7aWYoIWcuWlgoNDcpfHwhZy5aWCg1MikmJmcuWlgoNTEpKXJldHVybiExfWVsc2UgaWYoZy5HbilyZXR1cm4hMTtyZXR1cm4gd2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dD8hMDohMX07CmcucEU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5lbmFibGVkRW5nYWdlVHlwZXMuaGFzKFcudG9TdHJpbmcoKSl8fER2aS5pbmNsdWRlcyhXKX07CnZZaj1mdW5jdGlvbihuKXt2YXIgVz1XRShuKTtiVmkuaW5jbHVkZXMoVykmJihXPSJ3d3cueW91dHViZS5jb20iKTtyZXR1cm4gbi5wcm90b2NvbCsiOi8vIitXfTsKZy5IRT1mdW5jdGlvbihuLFc9IiIpe2lmKG4uSFkpe2xldCBEPW5ldyBZNixiLHY9bi5IWSgpO3Yuc2lnbmVkT3V0P2I9IiI6di50b2tlbj9iPXYudG9rZW46di5wZW5kaW5nUmVzdWx0LnRoZW4oaz0+e3Yuc2lnbmVkT3V0P0QucmVzb2x2ZSgiIik6RC5yZXNvbHZlKGsudG9rZW4pfSxrPT57Zy5HcShuZXcgZy5ReCgiYjE4OTM0ODMyOF9vYXV0aF9jYWxsYmFja19mYWlsZWQiLHtlcnJvcjprfSkpOwpELnJlc29sdmUoVyl9KTsKcmV0dXJuIGIhPT12b2lkIDA/Zy5IMChiKTpuZXcgTlgoRCl9cmV0dXJuIGcuSDAoVyl9OwpmRT1mdW5jdGlvbihuLFc9IiIpe3JldHVybiBuLllyP0hQKCEwKTpLbChTayhIUChnLkhFKG4sVykpLEQ9PkhQKCEhRCkpLCgpPT5IUCghMSkpfTsKSnU9ZnVuY3Rpb24obixXKXtpZihuLldWPVcpbi5QWD8uTj8uVihXKSxXLmlzQXNtanM/bi5reS5wdXNoKCJhc21qcyIpOm4ua3kucHVzaCgid2FzbSIpfTsKZy5uRT1mdW5jdGlvbihuKXt2YXIgVz1nLklQKG4pO3JldHVybihuPU51bWJlcihnLmZwKG4pWzRdfHxudWxsKXx8bnVsbCk/YCR7V306JHtufWA6V307ClNNPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9WWdbbl0sYj1JQVtEXSx2PWtIcltuXTtpZighdnx8IWIpcmV0dXJuIG51bGw7Vz1uZXcgSFIoVz92LmhlaWdodDp2LndpZHRoLFc/di53aWR0aDp2LmhlaWdodCx2LmZwcyk7Yj1wNihiLFcsRCk7cmV0dXJuIG5ldyBtdShuLGIse3ZpZGVvOlcsTnM6di5iaXRyYXRlLzh9KX07CkF1PWZ1bmN0aW9uKG4pe3ZhciBXPUlBW1lnW25dXSxEPWhFU1tuXTtyZXR1cm4gRCYmVz9uZXcgbXUobixXLHthdWRpbzpuZXcgQU0oRC5hdWRpb1NhbXBsZVJhdGUsRC5udW1DaGFubmVscyl9KTpudWxsfTsKVlA9ZnVuY3Rpb24obixXLEQsYil7aWYoRClyZXR1cm4gZy5wJCgpO0Q9e307dmFyIHY9aTgoKTtmb3IobGV0IGsgb2YgVylpZihuLmNhblBsYXlUeXBlKHYsay5rTCgpLm1pbWVUeXBlKXx8YilpZihXPWsuTi52aWRlby5xdWFsaXR5LCFEW1ddfHxEW1ddLmtMKCkucUgoKSlEW1ddPWs7bj1bXTtELmF1dG8mJm4ucHVzaChELmF1dG8pO2ZvcihsZXQgayBvZiBwTSkoYj1EW2tdKSYmbi5wdXNoKGIpO3JldHVybiBuLmxlbmd0aD9nLkgwKG4pOmcucCQoKX07CktFPWZ1bmN0aW9uKG4sVz0hMSxEPSEwLGI9e30pe3ZhciB2PXt9O2ZvcihsZXQgaCBvZiBuKXtpZihXJiZNZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiYobj1oLnR5cGUsaC5hdWRpb19jaGFubmVscyYmKG49bisiOyBjaGFubmVscz0iK2guYXVkaW9fY2hhbm5lbHMpLCFNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobikpKXtiW2guaXRhZ109InRwdXMiO2NvbnRpbnVlfWlmKCFEJiZoLmRybV9mYW1pbGllcyYmKGguZW90Zj09PSJzbXB0ZTIwODQifHxoLmVvdGY9PT0iYXJpYi1zdGQtYjY3Iikpe2JbaC5pdGFnXT0iZW5jaGRyIjtjb250aW51ZX1uPXZvaWQgMDtsZXQgeD17YnQ3MDk6IlNEUiIsYnQyMDIwOiJTRFIiLHNtcHRlMjA4NDoiUFEiLCJhcmliLXN0ZC1iNjciOiJITEcifTt2YXIgaz1oLnR5cGUubWF0Y2goL2NvZGVjcz0iKFteIl0qKSIvKTtrPWs/a1sxXToiIjtoLmF1ZGlvX3RyYWNrX2lkJiYobj1uZXcgd1AoaC5uYW1lLGguYXVkaW9fdHJhY2tfaWQsCiEhaC5pc19kZWZhdWx0KSk7bGV0IEw9aC5lb3RmO249bmV3IG04KHtpdGFnOmguaXRhZyx1cmw6aC51cmwsY29kZWNzOmssd2lkdGg6TnVtYmVyKGgud2lkdGgpLGhlaWdodDpOdW1iZXIoaC5oZWlnaHQpLGZwczpOdW1iZXIoaC5mcHMpLGJpdHJhdGU6TnVtYmVyKGguYml0cmF0ZSksYXVkaW9JdGFnOmguYXVkaW9faXRhZyxVaDpMP3hbTF06dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOmguZHJtX2ZhbWlsaWVzLGtaOm4sYXVkaW9DaGFubmVsczpOdW1iZXIoaC5hdWRpb19jaGFubmVscyl9KTt2W24uaXRhZ109dltuLml0YWddfHxbXTt2W24uaXRhZ10ucHVzaChuKX1yZXR1cm4gdn07CnZhciB4dlU9ZnVuY3Rpb24obixXKXtyZXR1cm4gZ1pbSVsxMF1dKHRoaXMsMSw3ODUyLG4sVyl9OwpMSUM9ZnVuY3Rpb24obixXKXtuLlcuc29tZShEPT5ELmtaPy5nZXRJZCgpPT09Vyk7Cm4uTj1XfTsKZUVpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9W107Zm9yKGxldCBiIG9mIG4uSiliLmJpdHJhdGU8PW4uWD9XLnB1c2goYik6RC5wdXNoKGIpO1cuc29ydCgoYix2KT0+di5iaXRyYXRlLWIuYml0cmF0ZSk7CkQuc29ydCgoYix2KT0+Yi5iaXRyYXRlLXYuYml0cmF0ZSk7Cm4uSj1XLmNvbmNhdChEKX07Ck9tPWZ1bmN0aW9uKG4sVyxEKXtuLmNwbiYmKFc9Zy5FVChXLHtjcG46bi5jcG59KSk7RCYmKFc9Zy5FVChXLHt2WjpEfSkpO3JldHVybiBXfTsKUEU9ZnVuY3Rpb24obixXKXtuPW4uaXRhZy50b1N0cmluZygpO1chPT1udWxsJiYobis9Vy5pdGFnLnRvU3RyaW5nKCkpO3JldHVybiBufTsKZ1laPWZ1bmN0aW9uKG4sVyl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gbnVsbDtuPUtFKFcsbi5TKCJodG1sNV9maWx0ZXJfZm1wNF9pbl9obHMiKSk7aWYoIW4pcmV0dXJuIG51bGw7Vz1bXTt2YXIgRD17fTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobikpZm9yKGxldCB2IG9mIG5bYl0paWYodi5rWil7bGV0IGs9di5rWi5nZXRJZCgpO2lmKCFEW2tdKXtsZXQgaD1uZXcgV0Eoayx2LmtaKTtEW2tdPWg7Vy5wdXNoKGgpfX1yZXR1cm4gVy5sZW5ndGg+MD9XOm51bGx9Owp0bU09ZnVuY3Rpb24obixXLEQsYix2LGssaCl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gZy5wJCgpO3ZhciB4PXt9LEw9WDNTKEQpLGU9S0UoRCxuLlMoImh0bWw1X2ZpbHRlcl9mbXA0X2luX2hscyIpLG4uVy5LLHgpO2lmKCFlKXJldHVybiBoKHtub3Bsc3Q6MX0pLGcucCQoKTtxbGgoZSk7dmFyIEc9e2ZhaXJwbGF5OiJodHRwczovL3lvdXR1YmUuY29tL2FwaS9kcm0vZnBzP2VrPXVuaW5pdGlhbGl6ZWQifSxyO0Q9W107dmFyIE49W10sSD1bXSxBPW51bGwseT0iIjtiPWImJmIubWF0Y2goL2hsc190aW1lZHRleHRfcGxheWxpc3QvKT9uZXcgbTgoe2l0YWc6IjAiLHVybDpiLGNvZGVjczoidnR0Iix3aWR0aDowLGhlaWdodDowLGZwczowLGJpdHJhdGU6MCxrWjpuZXcgd1AoIkVuZ2xpc2giLCJlbiIsITEpfSk6bnVsbDtmb3IobGV0IFEgb2YgT2JqZWN0LmtleXMoZSkpaWYoIW4uUygiaHRtbDVfZGlzYWJsZV9kcm1faGZyXzEwODAiKXx8USE9PSIzODMiJiZRIT09IjM3MyIpZm9yKGxldCBWIG9mIGVbUV0paWYoVi53aWR0aCl7Zm9yKGxldCBIWiBvZiBWLkopaWYoZVtIWl0pe1YuTj0KSFo7YnJlYWt9Vi5OfHwoVi5OPUdIdChlLFYpKTtsZXQgTHQ9ZVtWLk5dO2lmKCFMdCljb250aW51ZTtELnB1c2goVik7Vi5jb250ZW50UHJvdGVjdGlvbj09PSJmYWlycGxheSImJihyPUcpO2xldCB0aT0iIjtWLlVoPT09IlBRIj90aT0ic21wdGUyMDg0IjpWLlVoPT09IkhMRyImJih0aT0iYXJpYi1zdGQtYjY3Iik7dGkmJih5PXRpKTtILnB1c2goWmYoTHQsW1ZdLGIsayxWLml0YWcsVi53aWR0aCxWLmhlaWdodCxWLmZwcyxMLHZvaWQgMCx2b2lkIDAscix0aSkpO2lmKCFBfHxWLndpZHRoKlYuaGVpZ2h0KlYuZnBzPkEud2lkdGgqQS5oZWlnaHQqQS5mcHMpQT1WfWVsc2UgTi5wdXNoKFYpO2Vsc2UgeFtRXT0iZGlzZHJtaGZyIjtILnJlZHVjZSgoUSxWKT0+Vi5rTCgpLmlzRW5jcnlwdGVkKCkmJlEsITApJiYocj1HKTsKdj1NYXRoLm1heCh2LDApO3ZhciB7ZnBzOlQ9MCx3aWR0aDp6PTAsaGVpZ2h0OkM9MH09QXx8e307QT1uLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKTtILnB1c2goWmYoTixELGIsaywiOTMiLHosQyxULEwsImF1dG8iLHYscix5LEEpKTtPYmplY3QuZW50cmllcyh4KS5sZW5ndGgmJmgoeCk7cmV0dXJuIFZQKG4uVyxILGM5KG4sVyksITEpfTsKWmY9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSxHLHIsTixIKXt2YXIgQT0wLHk9IiI7Zm9yKGxldCBUIG9mIG4peXx8KHk9VC5pdGFnKSxULmF1ZGlvQ2hhbm5lbHMmJlQuYXVkaW9DaGFubmVscz5BJiYoQT1ULmF1ZGlvQ2hhbm5lbHMseT1ULml0YWcpO3Y9bmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2F1ZGlvOm5ldyBBTSgwLEEpLHZpZGVvOm5ldyBIUihrLGgseCxudWxsLHZvaWQgMCxlLHZvaWQgMCx2b2lkIDAsTiksY29udGVudFByb3RlY3Rpb246cixBYTp5fSk7bj1uZXcgJHYxKG4sVyxEP1tEXTpbXSxiLCEhSCk7bi5YPUc/RzoxMzY5ODQzO3JldHVybiBuZXcgVW0odixuLEwpfTsKWDNTPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuKWlmKFcudXJsJiYobj1XLnVybC5zcGxpdCgiZXhwaXJlLyIpLCEobi5sZW5ndGg8PTEpKSlyZXR1cm4rblsxXS5zcGxpdCgiLyIpWzBdO3JldHVybiBOYU59OwpHSHQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgT2JqZWN0LmtleXMobikpe2xldCBiPW5bRF1bMF07aWYoIWIud2lkdGgmJmIuY29udGVudFByb3RlY3Rpb249PT1XLmNvbnRlbnRQcm90ZWN0aW9uJiYhYi5hdWRpb0NoYW5uZWxzKXJldHVybiBEfXJldHVybiIifTsKcWxoPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBTZXQ7Zm9yKHZhciBEIG9mIE9iamVjdC52YWx1ZXMobikpaWYoRC5sZW5ndGgpe3ZhciBiPURbMF07Yi5oZWlnaHQmJmIuY29kZWNzLnN0YXJ0c1dpdGgoInZwMDkiKSYmVy5hZGQoYi5oZWlnaHQpfUQ9W107aWYoVy5zaXplKWZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhuKSluW3ZdLmxlbmd0aCYmKGI9blt2XVswXSxiLmhlaWdodCYmVy5oYXMoYi5oZWlnaHQpJiYhYi5jb2RlY3Muc3RhcnRzV2l0aCgidnAwOSIpJiZELnB1c2godikpO2ZvcihsZXQgdiBvZiBEKWRlbGV0ZSBuW3ZdfTsKcnFaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHYgb2YgRCl7aWYoIXZ8fCF2LnVybCljb250aW51ZTtEPVFQKHYudHlwZSwibWVkaXVtIiwiMCIpO2IucHVzaChuZXcgeW4oRCx2LnVybCkpfXJldHVybiBWUChuLlcsYixjOShuLFcpLCExKX07CnNpcj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdLGI9UVAoVy50eXBlLCJhdXRvIixXLml0YWcpO0QucHVzaChuZXcgeW4oYixXLnVybCkpO3JldHVybiBWUChuLlcsRCwhMSwhMCl9OwppaT1mdW5jdGlvbihuKXtyZXR1cm4gbiYmRW1bbl0/RW1bbl06bnVsbH07CnVpPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJtdWx0aXZpZXcudXN0cmVhbWVyX2Rpc2FibGVkIjpjYXNlICJzYWJyLmludmFsaWRfaW5wdXRfc3RyZWFtIjpjYXNlICJzYWJyLmxpdmVfbm9fbWF4X3NxIjpjYXNlICJzYWJyLmxpdmVfdW5hdXRob3JpemVkX3JlcXVlc3QiOmNhc2UgInNhYnIubWFsZm9ybWVkX2NvbmZpZyI6Y2FzZSAic2Fici5tZWRpYV9zZXJ2aW5nX2VuZm9yY2VtZW50X2lkX2Vycm9yIjpjYXNlICJzYWJyLm1ldGFkYXRhX2ZldGNoZXJfZXJyb3IiOmNhc2UgInNhYnIubm9fYXVkaW9fc2VsZWN0ZWQiOmNhc2UgInNhYnIubm9fYXZhaWxhYmxlX2Zvcm1hdHMiOmNhc2UgInNhYnIubm9fcmVkaXJlY3RfdXJsIjpjYXNlICJzYWJyLm5vX3ZpZGVvX3NlbGVjdGVkIjpjYXNlICJzYWJyLm90Zl9ub3Rfc3VwcG9ydGVkIjpjYXNlICJzYWJyLnRvb19tYW55X2NodW5rX3JlYWRlcl9lcnJvcl9yZXRyaWVzIjpyZXR1cm4gbjtkZWZhdWx0OnJldHVybiJzYWJyLmNvbmZpZyJ9fTsKb0E9ZnVuY3Rpb24obixXKXtpZihXPVc/LndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRPbmVzaWVDb25maWc/Lmh0bWw1UGxheWJhY2tPbmVzaWVDb25maWcpbi5RYT1uZXcgTiR3KFcpfTsKVGw9ZnVuY3Rpb24obixXLEQsYil7bnx8KG49VyYmZGMuaGFzT3duUHJvcGVydHkoVykmJnpsLmhhc093blByb3BlcnR5KFcpP3psW1ddKyJfIitkY1tXXTp2b2lkIDApO1c9bjtpZighVylyZXR1cm4gbnVsbDtuPVcubWF0Y2gobGkpO2lmKCFufHxuLmxlbmd0aCE9PTUpcmV0dXJuIG51bGw7e2xldCBrPVcubWF0Y2gobGkpO2lmKGspe249TnVtYmVyKGtbM10pO3ZhciB2PVs3LDgsMTAsNSw2XTtuPSEoTnVtYmVyKGtbMV0pPT09MSYmbj09PTgpJiZ2LmluZGV4T2Yobik+PTB9ZWxzZSBuPSExfXJldHVybiBEfHxifHxuP1c6bnVsbH07CkNFPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKGpNKSl7dmFyIGI9Vz9XK3Y6djtiPW5bYisiX3dlYnAiXXx8bltiXTtnLmpJKGIpJiYoRFtqTVt2XV09Yil9cmV0dXJuIER9Owp3Yz1mdW5jdGlvbihuKXt2YXIgVz17fTtpZighbnx8IW4udGh1bWJuYWlscylyZXR1cm4gVztuPW4udGh1bWJuYWlscy5maWx0ZXIodj0+ISF2LnVybCk7Cm4uc29ydCgodixrKT0+di53aWR0aC1rLndpZHRofHx2LmhlaWdodC1rLmhlaWdodCk7CmZvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhCRSkpe3ZhciBiPU51bWJlcihEKTtsZXQgdj1CRVtiXTtmb3IobGV0IGsgb2YgbilpZihrLndpZHRoPj1iKXtiPUZDKGsudXJsKTtnLmpJKGIpJiYoV1t2XT1iKTticmVha319KEQ9bi5wb3AoKSkmJkQud2lkdGg+PTEyODAmJihEPUZDKEQudXJsKSxnLmpJKEQpJiYoV1sibWF4cmVzZGVmYXVsdC5qcGciXT1EKSk7cmV0dXJuIFd9OwpGQz1mdW5jdGlvbihuKXtyZXR1cm4gbi5zdGFydHNXaXRoKCIvLyIpPyJodHRwczoiK246bn07Ck1GPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLmJhc2VVcmx8fCIifTsKUkE9ZnVuY3Rpb24obil7bj1nLm9FKG4pO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSl7bGV0IEQ9bltXXTtuW1ddPUFycmF5LmlzQXJyYXkoRCk/RFswXTpEfXJldHVybiBufTsKWWx3PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEIG9mIFcpaWYoVz1ELnBsYXllckFubm90YXRpb25zVXJsc1JlbmRlcmVyKXtXLmFkc09ubHkmJihuLlJtPSEwKTtpZihEPVcubG9hZFBvbGljeSluLmFubm90YXRpb25zTG9hZFBvbGljeT1wM01bRF07aWYoRD1XLmludmlkZW9Vcmwpbi5lYT1GTihEKTtuLnk1PSEwO2JyZWFrfX07ClFuPWZ1bmN0aW9uKG4sVyl7bi5ib3RndWFyZERhdGE9Vy5wbGF5ZXJBdHRlc3RhdGlvblJlbmRlcmVyLmJvdGd1YXJkRGF0YTtXPVcucGxheWVyQXR0ZXN0YXRpb25SZW5kZXJlci5jaGFsbGVuZ2U7VyE9bnVsbCYmKG4ucEs9Vyl9OwpIVng9ZnVuY3Rpb24obixXKXtuLmNhcHRpb25UcmFja3M9W107aWYoVy5jYXB0aW9uVHJhY2tzKWZvcih2YXIgRCBvZiBXLmNhcHRpb25UcmFja3Mpe3ZhciBiPVZuKEQuYmFzZVVybCk7aWYoIWIpcmV0dXJuO2I9e2lzX3RyYW5zbGF0ZWFibGU6ISFELmlzVHJhbnNsYXRhYmxlLGxhbmd1YWdlQ29kZTpELmxhbmd1YWdlQ29kZSxsYW5ndWFnZU5hbWU6RC5uYW1lJiZnLkRwKEQubmFtZSksdXJsOmIsdnNzX2lkOkQudnNzSWQsa2luZDpELmtpbmR9O2IubmFtZT1ELnRyYWNrTmFtZTtiLmRpc3BsYXlOYW1lPUQubmFtZSYmZy5EcChELm5hbWUpO24uY2FwdGlvblRyYWNrcy5wdXNoKG5ldyBnLlF3KGIpKX1uLlR3PVcuYXVkaW9UcmFja3N8fFtdO24uTyQ9Vy5kZWZhdWx0QXVkaW9UcmFja0luZGV4fHwwO24ucnA9W107aWYoVy50cmFuc2xhdGlvbkxhbmd1YWdlcylmb3IobGV0IHYgb2YgVy50cmFuc2xhdGlvbkxhbmd1YWdlcyl7RD17fTtELmxhbmd1YWdlQ29kZT12Lmxhbmd1YWdlQ29kZTsKRC5sYW5ndWFnZU5hbWU9Zy5EcCh2Lmxhbmd1YWdlTmFtZSk7aWYodi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyl7RC50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcz1bXTtmb3IobGV0IGsgb2Ygdi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcylELnRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzLnB1c2goayl9aWYodi5leGNsdWRlQXVkaW9UcmFja0luZGljZXMpe0QuZXhjbHVkZUF1ZGlvVHJhY2tJbmRpY2VzPVtdO2ZvcihsZXQgayBvZiB2LmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcylELmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcy5wdXNoKGspfW4ucnAucHVzaChEKX1uLmc1PVtdO2lmKFcuZGVmYXVsdFRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzKWZvcihsZXQgdiBvZiBXLmRlZmF1bHRUcmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyluLmc1LnB1c2godil9Owpmb2k9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcuZXJyb3JTY3JlZW47aWYoIShiJiYoYi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcnx8Yi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyfHxiLnlwY1RyYWlsZXJSZW5kZXJlcil8fEQmJkQuaXNVcGNvbWluZ3x8WyJPSyIsIkxJVkVfU1RSRUFNX09GRkxJTkUiLCJGVUxMU0NSRUVOX09OTFkiXS5pbmNsdWRlcyhXLnN0YXR1cykpKXtuLmVycm9yQ29kZT1paShXLmVycm9yQ29kZSl8fCJhdXRoIjtpZihEPWImJmIucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIpe24ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI9RDtsZXQgdj1ELnJlYXNvbjt2JiYobi5lcnJvclJlYXNvbj1nLkRwKHYpKTtpZihEPUQuc3VicmVhc29uKW4ud2k9Zy5EcChEKSxuLlRZPUR9ZWxzZSBuLmVycm9yUmVhc29uPVcucmVhc29ufHxudWxsO0Q9Vy5zdGF0dXM7RD09PSJMT0dJTl9SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0KIjEiOkQ9PT0iQ09OVEVOVF9DSEVDS19SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0iMiI6RD09PSJBR0VfQ0hFQ0tfUkVRVUlSRUQiPyhXPShXPVcuZXJyb3JTY3JlZW4pJiZXLnBsYXllckthdlJlbmRlcmVyLG4uZXJyb3JEZXRhaWw9VyYmVy5rYXZVcmw/IjQiOiIzIik6KGI9Yj8ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI/LnByb2NlZWRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5jb21tYW5kLG4uZXJyb3JEZXRhaWw9Vy5pc0Jsb2NrZWRJblJlc3RyaWN0ZWRNb2RlPyI1IjpnLncoYixnLmNFKT8uc2lnbmFsPT09IlJFTE9BRF9QQUdFIj8iNyI6IjAiKX19OwpKcVo9ZnVuY3Rpb24obixXKXtuLllpPSEwO3ZhciBEPVcuaGVhcnRiZWF0VG9rZW47bi5kcm1TZXNzaW9uSWQ9Vy5kcm1TZXNzaW9uSWR8fCIiO24uaGVhcnRiZWF0VG9rZW49RHx8IiI7bi5zRT1OdW1iZXIoVy5pbnRlcnZhbE1pbGxpc2Vjb25kcyk7bi5sND1OdW1iZXIoVy5tYXhSZXRyaWVzKTtuLkg2PSEhVy5zb2Z0RmFpbE9uRXJyb3I7bi5EZD0hIVcudXNlSW5uZXJ0dWJlSGVhcnRiZWF0c0ZvckRybTtuLmhlYXJ0YmVhdFNlcnZlckRhdGE9Vy5oZWFydGJlYXRTZXJ2ZXJEYXRhO24uUE09ISFXLmhlYXJ0YmVhdEF0dGVzdGF0aW9uQ29uZmlnPy5yZXF1aXJlc0F0dGVzdGF0aW9ufTsKQXExPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9RC5pbnRlcnN0aXRpYWxzLm1hcChiPT57dmFyIHY9Zy53KGIsSW9iKTtpZih2KXJldHVybntpc195dG9faW50ZXJzdGl0aWFsOiEwLHJhd19wbGF5ZXJfcmVzcG9uc2U6dn07aWYoYj1nLncoYixTbE0pKXJldHVybiBPYmplY3QuYXNzaWduKHtpc195dG9faW50ZXJzdGl0aWFsOiEwfSxnLml3KGIpKX0pOwpmb3IobGV0IGIgb2YgVylzd2l0Y2goRC5wb2RDb25maWcucGxheWJhY2tQbGFjZW1lbnQpe2Nhc2UgIklOVEVSU1RJVElBTF9QTEFZQkFDS19QTEFDRU1FTlRfUFJFIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZTowLHBsYXllclZhcnM6YixrcTo1fSk7YnJlYWs7Y2FzZSAiSU5URVJTVElUSUFMX1BMQVlCQUNLX1BMQUNFTUVOVF9QT1NUIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZToweDdmZmZmZmZmZmZmZmYscGxheWVyVmFyczpiLGtxOjZ9KTticmVhaztjYXNlICJJTlRFUlNUSVRJQUxfUExBWUJBQ0tfUExBQ0VNRU5UX0lOU0VSVF9BVF9WSURFT19USU1FIjpXPU51bWJlcihELnBvZENvbmZpZy50aW1lVG9JbnNlcnRBdE1pbGxpcyksbi5pbnRlcnN0aXRpYWxzPW4uaW50ZXJzdGl0aWFscy5jb25jYXQoe3RpbWU6VyxwbGF5ZXJWYXJzOmIsa3E6Vz09PTA/NTo3fSl9fX07Cm12aj1mdW5jdGlvbihuLFcpe2lmKFc9Vy5maW5kKEQ9PiEoIUR8fCFELnRvb2x0aXBSZW5kZXJlcikpKW4udG9vbHRpcFJlbmRlcmVyPVcudG9vbHRpcFJlbmRlcmVyfTsKYUE9ZnVuY3Rpb24obixXKXtXLnN1YnNjcmliZUNvbW1hbmQmJihuLnN1YnNjcmliZUNvbW1hbmQ9Vy5zdWJzY3JpYmVDb21tYW5kKTtXLnVuc3Vic2NyaWJlQ29tbWFuZCYmKG4udW5zdWJzY3JpYmVDb21tYW5kPVcudW5zdWJzY3JpYmVDb21tYW5kKTtXLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQmJihuLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQ9Vy5hZGRUb1dhdGNoTGF0ZXJDb21tYW5kKTtXLnJlbW92ZUZyb21XYXRjaExhdGVyQ29tbWFuZCYmKG4ucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kPVcucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kKTtXLmdldFNoYXJlUGFuZWxDb21tYW5kJiYobi5nZXRTaGFyZVBhbmVsQ29tbWFuZD1XLmdldFNoYXJlUGFuZWxDb21tYW5kKX07Cm5MPWZ1bmN0aW9uKG4sVyl7VyE9bnVsbD8obi5yUj1XLG4uaU49ITApOihuLnJSPSIiLG4uaU49ITEpfTsKUG4xPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKW5MKG4sVy5jb250cm9sQmdIdG1sKSxXLm11dGVkQXV0b3BsYXk/KFc9Zy53KFcubXV0ZWRBdXRvcGxheSxLSTEpKSYmVy5lbmRTY3JlZW4mJihXPWcudyhXLmVuZFNjcmVlbixPVngpKSYmVy50ZXh0JiYobi5NVj1nLkRwKFcudGV4dCkpOm4ubXV0ZWRBdXRvcGxheT0hMX07ClpWaT1mdW5jdGlvbihuLFcpe3ZhciBEPVcuYmFja2dyb3VuZGFiaWxpdHk7RCYmRC5iYWNrZ3JvdW5kYWJpbGl0eVJlbmRlcmVyLmJhY2tncm91bmRhYmxlJiYobi5iYWNrZ3JvdW5kYWJsZT0hMCk7Vy5vZmZsaW5lYWJpbGl0eT8ub2ZmbGluZWFiaWxpdHlSZW5kZXJlcj8ub2ZmbGluZWFibGUmJihuLm9mZmxpbmVhYmxlPSEwKTtpZihEPVcuY29udGV4dFBhcmFtcyluLmNvbnRleHRQYXJhbXM9RDsoRD1XLnBpY3R1cmVJblBpY3R1cmUpJiZELnBpY3R1cmVJblBpY3R1cmVSZW5kZXJlci5wbGF5YWJsZUluUGlwJiYobi5waXBhYmxlPSEwKTtXLnBsYXlhYmxlSW5FbWJlZCYmKG4uYWxsb3dFbWJlZD0hMCk7aWYoRD1XLnlwY0NsaWNrd3JhcClXPUQucGxheWVyTGVnYWN5RGVza3RvcFlwY0NsaWNrd3JhcFJlbmRlcmVyLEQ9RC55cGNSZW50YWxBY3RpdmF0aW9uUmVuZGVyZXIsVz8obi5Jaz1XLmR1cmF0aW9uTWVzc2FnZXx8IiIsbi5EbD0hMCk6RCYmKFc9RC5kdXJhdGlvbk1lc3NhZ2UsCm4uSWs9Vz9nLkRwKFcpOiIiLG4uRGw9ITApfTsKeXExPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1NRihXLmdvb2dsZVJlbWFya2V0aW5nVXJsKTtiJiYobi5nb29nbGVSZW1hcmtldGluZ1VybD1iKTtpZihiPU1GKFcueW91dHViZVJlbWFya2V0aW5nVXJsKSluLnlvdXR1YmVSZW1hcmtldGluZ1VybD1iO2lmKGI9Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW4pbi5oZWFydGJlYXRMb2dnaW5nVG9rZW49YjtiPXt9O3ZhciB2PU1GKFcucHRyYWNraW5nVXJsKTtpZih2KXt2PVJBKHYpO3ZhciBrPXYub2lkO2smJihuLlhvPWspO2lmKGs9di5wbHR5cGUpbi5xOD1rO2lmKGs9di5wdGNobiluLmgxPWs7aWYoaz12LnB0ayluLnh6PWVuY29kZVVSSUNvbXBvbmVudChrKTtpZih2PXYubSluLnk5PXZ9aWYodj1NRihXLnFvZVVybCkpe3Y9Zy5vRSh2KTtmb3IoaCBvZiBPYmplY3Qua2V5cyh2KSlrPXZbaF0sdltoXT1BcnJheS5pc0FycmF5KGspP2suam9pbigiLCIpOms7dmFyIGg9djtuLnpiPWg7aWYodj1oLmNhdCluLlMoImh0bWw1X2VuYWJsZV9xb2VfY2F0X2xpc3QiKT8Kbi5rSz1uLmtLLmNvbmNhdCh2LnNwbGl0KCIsIikpOm4ua3k9djtpZih2PWgubGl2ZSluLnVoPXY7aWYoaD1oLmRybV9wcm9kdWN0KW4uZHJtUHJvZHVjdD1ofWlmKGg9TUYoVy52aWRlb3N0YXRzUGxheWJhY2tVcmwpKXtoPVJBKGgpO2lmKHY9aC5hZGZvcm1hdClpZihELmFkZm9ybWF0PXYsaz1uLkcoKSxrPVRsKHYsbi5GdyxrLkosay5LKSluLmFkRm9ybWF0PWs7aWYoaz1oLmFxaSlELmFkX3F1ZXJ5X2lkPWs7aWYoRD1oLmF1dG9wbGF5KW4uR3U9RD09IjEiLG4uVlQ9RD09IjEiO2lmKEQ9aC5hdXRvbmF2KW4uaXNBdXRvbmF2PUQ9PSIxIjtpZihEPWguZGVsYXkpbi5vRD1nLk5oKEQpO2lmKEQ9aC5laSluLmV2ZW50SWQ9RDtpZihEPWcuZDEoaC5hZGNvbnRleHQpKXRyeXt2YXIgeD1VdjIoRCk7eCYmKG4uZk49eCl9Y2F0Y2goTCl7Zy5HcShFcnJvcigiTWFsZm9ybWVkIGFkQ29udGV4dCIpKX1pZihEfHx2KW4uR3U9ITA7aWYoeD1oLmZlYXR1cmUpbi5TOT14O2lmKHg9aC5saXN0KW4ucGxheWxpc3RJZD0KeDtpZih4PWgub2Ypbi5SSD14O2lmKHg9aC5vc2lkKW4ub3NpZD14O2lmKHg9aC5yZWZlcnJlciluLnJlZmVycmVyPXg7aWYoeD1oLnNkZXRhaWwpbi53dT14O2lmKHg9aC5zb3VyY2VpZCluLmJJPXg7aWYoeD1oLnNzcnQpbi5BUj14PT0iMSI7aWYoeD1oLnN1YnNjcmliZWQpbi5zdWJzY3JpYmVkPXg9PSIxIjtpZih4PWgudWdhKW4udXNlckdlbmRlckFnZT14O2lmKHg9aC51cHQpbi5IcT14O2lmKHg9aC52bSluLnZpZGVvTWV0YWRhdGE9eDtiLnBsYXliYWNrPWh9aWYoeD1NRihXLnZpZGVvc3RhdHNXYXRjaHRpbWVVcmwpKXt4PVJBKHgpO2lmKEQ9eC5hbGQpbi5GTD1EO2Iud2F0Y2h0aW1lPXh9aWYoeD1NRihXLmF0clVybCkpeD1SQSh4KSxiLmF0cj14O2lmKHg9TUYoVy5lbmdhZ2VVcmwpKXg9UkEoeCksYi5lbmdhZ2U9eDtuLlhUPWI7Vy5wcm9tb3RlZFBsYXliYWNrVHJhY2tpbmcmJihiPVcucHJvbW90ZWRQbGF5YmFja1RyYWNraW5nLGIuc3RhcnRVcmxzJiYobi5Gcj1iLnN0YXJ0VXJscyksCmIuZmlyc3RRdWFydGlsZVVybHMmJihuLndOPWIuZmlyc3RRdWFydGlsZVVybHMpLGIuc2Vjb25kUXVhcnRpbGVVcmxzJiYobi5DdD1iLnNlY29uZFF1YXJ0aWxlVXJscyksYi50aGlyZFF1YXJ0aWxlVXJscyYmKG4ub0g9Yi50aGlyZFF1YXJ0aWxlVXJscyksYi5jb21wbGV0ZVVybHMmJihuLkF0PWIuY29tcGxldGVVcmxzKSxiLmVuZ2FnZWRWaWV3VXJscyYmKGIuZW5nYWdlZFZpZXdVcmxzLmxlbmd0aD4xJiZnLkdxKG5ldyBnLlF4KCJUaGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBlbmdhZ2VkX3ZpZXdfdXJscy4iKSksbi5EeD1iLmVuZ2FnZWRWaWV3VXJsc1swXSkpO1cuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKG4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1XLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpO1cudnNzM0NvbmZpZz8uc2VyaWFsaXplZFdhdGNoVGltZUNvbnRleHREYXRhJiYobi5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGE9ClcudnNzM0NvbmZpZy5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGEpfTsKRVkxPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVylpZihiJiYoVz1iLnBsYXllckxlZ2FjeURlc2t0b3BXYXRjaEFkc1JlbmRlcmVyKSYmKFc9Vy5wbGF5ZXJBZFBhcmFtcykpe1cuYXV0b3BsYXk9PSIxIiYmKG4uR3U9ITAsbi5WVD0hMCk7bi5Jbz1XLmVuY29kZWRBZFNhZmV0eVJlYXNvbnx8bnVsbDtXLnNob3dDb250ZW50VGh1bWJuYWlsIT09dm9pZCAwJiYobi5xMj0hIVcuc2hvd0NvbnRlbnRUaHVtYm5haWwpO0QuZW5hYmxlZF9lbmdhZ2VfdHlwZXM9Vy5lbmFibGVkRW5nYWdlVHlwZXM7YnJlYWt9fTsKaVYyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5tYW5pZmVzdGxlc3NXaW5kb3dlZExpdmVDb25maWc7aWYoRCl7dmFyIGI9TnVtYmVyKEQubWluRHZyU2VxdWVuY2UpLHY9TnVtYmVyKEQubWF4RHZyU2VxdWVuY2UpLGs9TnVtYmVyKEQubWluRHZyTWVkaWFUaW1lTXMpLGg9TnVtYmVyKEQubWF4RHZyTWVkaWFUaW1lTXMpO0Q9TnVtYmVyKEQuc3RhcnRXYWxsdGltZU1zKTtiJiYobi5JdD1iKTtrJiYobi5KVT1rLzFFMyxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJmcuWU4obikmJihuLkgyPWsvMUUzKSk7diYmKG4uSFA9dik7aCYmKG4ub1I9aC8xRTMsbi5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpJiZnLllOKG4pJiYobi5XTT1oLzFFMykpO0QmJihuLklUPUQvMUUzKTsoYnx8aykmJih2fHxoKSYmKG4uUkk9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCxuLmFsbG93TGl2ZUR2cj0KITAsbi5YZz0hMSl9aWYoYj1XLmRhaUNvbmZpZyl7aWYoYi5lbmFibGVEYWkpe24uTFk9ITA7aWYodj1iLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpKW4uZW5hYmxlU2VydmVyU3RpdGNoZWREYWk9djtpZih2PWIuZW5hYmxlUHJlcm9sbCluLktkPXZ9aWYoYi5kYWlUeXBlPT09IkRBSV9UWVBFX1NTX0RJU0FCTEVEInx8Yi5kZWJ1Z0luZm8/LmlzRGlzYWJsZWRVbnBsdWdnZWRDaGFubmVsKW4uSmw9ITA7IW4uUygiaHRtbDVfdW1wX3N0aXRjaGVkX21ldGFkYXRhX3Vuc3BlY2lmaWVkX2hhbmRsaW5nIil8fGIuZGFpVHlwZSE9PSJEQUlfVFlQRV9VTlNQRUNJRklFRCImJmIuZGFpVHlwZSE9PXZvaWQgMHx8KG4uakY9ITApO2IuZGFpVHlwZT09PSJEQUlfVFlQRV9DTElFTlRfU1RJVENIRUQiJiYobi5DVT0hMCk7Yi5hbGxvd1VzdHJlYW1lclJlcXVlc3RBZGNvbmZpZyYmKG4uUTY9ITApO2Iuc2VuZFNzZGFpTWlzc2luZ0FkQnJlYWtSZWFzb25zJiYobi5LVj0hMCl9aWYoYj1XLmF1ZGlvQ29uZmlnKXt2PQpuLmhnO2IudHJhY2tBYnNvbHV0ZUxvdWRuZXNzTGtmcyE9bnVsbCYmKHYuSj1iLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMpO2IubG91ZG5lc3NUYXJnZXRMa2ZzIT1udWxsJiYodi5sb3VkbmVzc1RhcmdldExrZnM9Yi5sb3VkbmVzc1RhcmdldExrZnMpO2IubG91ZG5lc3NEYiE9bnVsbCYmKHYuVz1iLmxvdWRuZXNzRGIpO2lmKGs9Yi5sb3VkbmVzc05vcm1hbGl6YXRpb25Db25maWcpay5hcHBseVN0YXRlZnVsTm9ybWFsaXphdGlvbiYmKHYuYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb249ITApLGsucHJlc2VydmVTdGF0ZWZ1bExvdWRuZXNzVGFyZ2V0JiYodi5wcmVzZXJ2ZVN0YXRlZnVsTG91ZG5lc3NUYXJnZXQ9ITApLGsubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyE9bnVsbCYmKHYubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcz1rLm1pbmltdW1Mb3VkbmVzc1RhcmdldExrZnMpO3Y9Yi5sb3VkbmVzc0RiO3YhPW51bGwmJihuLllLPXYpO2IuYXVkaW9NdXRlZCYmKG4ueWw9CiEwKTtiLm11dGVPblN0YXJ0JiYobi5OMD0hMCk7Yi5wbGF5QXVkaW9Pbmx5JiYobi5KZz0hMCl9aWYodj1XLnBsYXliYWNrRW5kQ29uZmlnKWI9di5lbmRTZWNvbmRzLHY9di5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcyxuLm11dGVkQXV0b3BsYXkmJihiJiYobi5lbmRTZWNvbmRzPWIpLHYmJihuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPXYpKTtpZihiPVcuZmFpclBsYXlDb25maWcpe2lmKHY9Yi5jZXJ0aWZpY2F0ZSluLkNpPWcuZDEodik7dj1OdW1iZXIoYi5rZXlSb3RhdGlvblBlcmlvZE1zKTt2PjAmJihuLlY5PXYpO2I9TnVtYmVyKGIua2V5UHJlZmV0Y2hNYXJnaW5Ncyk7Yj4wJiYobi5qaT1iKX1pZigoYj1XLnBsYXliYWNrU3RhcnRDb25maWcpJiYhbi5OVil7bi52RT1OdW1iZXIoYi5zdGFydFNlY29uZHMpO2s9Yi5saXZlVXRjU3RhcnRTZWNvbmRzO3Y9ISFuLmxpdmVVdGNTdGFydFNlY29uZHMmJm4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz4wOwprJiYhdiYmKG4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz1OdW1iZXIoaykpO2lmKGs9Yi5zdGFydFBvc2l0aW9uKWlmKChoPWsudXRjVGltZU1pbGxpcykmJiF2JiYobi5saXZlVXRjU3RhcnRTZWNvbmRzPU51bWJlcihoKSouMDAxKSx2PWsuc3RyZWFtVGltZU1pbGxpcyluLlVyPU51bWJlcih2KSouMDAxO24ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPWIucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uO24ucHJvZ3Jlc3NCYXJFbmRQb3NpdGlvbj1iLnByb2dyZXNzQmFyRW5kUG9zaXRpb259ZWxzZSBpZihiPVcuc2tpcHBhYmxlU2VnbWVudHNDb25maWcpe2lmKHY9Yi5pbnRyb1NraXBEdXJhdGlvbk1zKW4uUEU9TnVtYmVyKHYpLzFFMztpZihiPWIub3V0cm9Ta2lwRHVyYXRpb25NcyluLm50PU51bWJlcihiKS8xRTN9aWYodj1XLnNraXBwYWJsZUludHJvQ29uZmlnKWI9TnVtYmVyKHYuc3RhcnRNcyksdj1OdW1iZXIodi5lbmRNcyksaXNOYU4oYil8fGlzTmFOKHYpfHwobi53Qj1iLG4uQXA9CnYpO2lmKGI9Vy5zdHJlYW1TZWxlY3Rpb25Db25maWcpbi5HZj1OdW1iZXIoYi5tYXhCaXRyYXRlKTtpZihiPVcudnJDb25maWcpbi5Kbz1iLnBhcnRpYWxTcGhlcmljYWw9PSIxIjtpZihiPVcud2ViRHJtQ29uZmlnKXtiLnNraXBXaWRldmluZSYmKG4uSmo9ITApO2lmKHY9Yi53aWRldmluZVNlcnZpY2VDZXJ0KW4uRmM9Zy5kMSh2KTtiLnVzZUNvYmFsdFdpZGV2aW5lJiYobi51c2VDb2JhbHRXaWRldmluZT0hMCk7Yi5zdGFydFdpdGhOb1F1YWxpdHlDb25zdHJhaW50JiYobi5aOT0hMCl9aWYoYj1XLm1lZGlhQ29tbW9uQ29uZmlnKXtpZih2PWIuZHluYW1pY1JlYWRhaGVhZENvbmZpZyl7bi5tYXhSZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1heFJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1pblJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5yZWFkQWhlYWRHcm93dGhSYXRlTXM9di5yZWFkQWhlYWRHcm93dGhSYXRlTXN8fE5hTjsKaWYodj1iPy5tZWRpYVVzdHJlYW1lclJlcXVlc3RDb25maWc/LnZpZGVvUGxheWJhY2tVc3RyZWFtZXJDb25maWcpbi5hST1nLmQxKHYpO2lmKCh2PWI/LnNhYnJDb250ZXh0VXBkYXRlcykmJnYubGVuZ3RoPjApZm9yKHZhciB4IG9mIHYpeC50eXBlJiZ4LnZhbHVlJiYodj17dHlwZTp4LnR5cGUsc2NvcGU6eC5zY29wZSx2YWx1ZTpnLmQxKHgudmFsdWUpfHx2b2lkIDAsc2VuZEJ5RGVmYXVsdDp4LnNlbmRCeURlZmF1bHR9LG4uc2FickNvbnRleHRVcGRhdGVzLnNldCh4LnR5cGUsdikpfWlmKHg9Yi5zZXJ2ZXJQbGF5YmFja1N0YXJ0Q29uZmlnKW4uc2VydmVyUGxheWJhY2tTdGFydENvbmZpZz14O2IudXNlU2VydmVyRHJpdmVuQWJyJiYobi5ERT0hMCk7aWYoeD1iLnJlcXVlc3RQaXBlbGluaW5nQ29uZmlnKW4ucmVxdWVzdFBpcGVsaW5pbmdDb25maWc9eH1pZih4PVcuaW5saW5lUGxheWJhY2tDb25maWcpbi52MT0hIXguc2hvd0F1ZGlvQ29udHJvbHM7aWYoeD1XLmVtYmVkZGVkUGxheWVyQ29uZmlnKXtuLmVtYmVkZGVkUGxheWVyQ29uZmlnPQp4O2lmKHY9eC5lbWJlZGRlZFBsYXllck1vZGUpYj1uLkcoKSxiLmNKPXYsYi5EPXY9PT0iRU1CRURERURfUExBWUVSX01PREVfUEZMIjtpZih4PXgucGVybWlzc2lvbnMpbi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hIXguYWxsb3dJbWFNb25ldGl6YXRpb259aWYoeD1XLndlYlBsYXllckNvbmZpZylpZih4LmdhdGV3YXlFeHBlcmltZW50R3JvdXAmJihuLmdhdGV3YXlFeHBlcmltZW50R3JvdXA9eC5nYXRld2F5RXhwZXJpbWVudEdyb3VwKSx4LmlzUHJveGltYUVsaWdpYmxlJiYobi5pc1Byb3hpbWFMYXRlbmN5RWxpZ2libGU9ITApLHg9eC5tdWx0aUFzcGVjdFN0cmVhbWluZ0NvbmZpZyluLldrPSEwLG4ucGxheWVyT3JpZW50YXRpb249eC5wbGF5ZXJPcmllbnRhdGlvbix4LnBsYXllck9yaWVudGF0aW9uPT09IlBMQVlFUl9PUklFTlRBVElPTl9IT1JJWk9OVEFMIj9uLkJqPXgudmVydGljYWxDb21tYW5kfHxudWxsOngucGxheWVyT3JpZW50YXRpb249PT0iUExBWUVSX09SSUVOVEFUSU9OX1ZFUlRJQ0FMIiYmCihuLkJqPXguaG9yaXpvbnRhbENvbW1hbmR8fG51bGwpO1c9Vy5wbGF5ZXJDb250cm9sc0NvbmZpZztXPy5pc1NlZWthYmxlIT09dm9pZCAwJiYobi5pc1NlZWthYmxlPSEhVy5pc1NlZWthYmxlKX07CnU2Uz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5mb3JtYXRzO2lmKGIpe3ZhciB2PVtdO2Zvcih2YXIgayBvZiBiKXYucHVzaChgJHtrLml0YWd9LyR7ay53aWR0aH14JHtrLmhlaWdodH1gKTtuLkdqPXYuam9pbigiLCIpO3Y9W107Zm9yKHZhciBoIG9mIGIpe2I9e2l0YWc6aC5pdGFnLHR5cGU6aC5taW1lVHlwZSxxdWFsaXR5OmgucXVhbGl0eX07KGs9aC51cmwpJiYoYi51cmw9ayk7bGV0IHt4aTpOLEVsOkgseTc6QSxzOnl9PVAwKDcsNjkyLGgpO04mJihiLnVybD1ILGIuc3A9QSxiLnM9eSk7di5wdXNoKHlHKGIpKX1uLmNmPXYuam9pbigiLCIpfWlmKGg9Vy5obHNGb3JtYXRzKXt2PXt9O2lmKEQmJihEPUQuYXVkaW9QYWlyaW5nQ29uZmlnKSYmRC5wYWlycylmb3IodmFyIHggb2YgRC5wYWlycylEPXgudmlkZW9JdGFnLHZbRF18fCh2W0RdPVtdKSx2W0RdLnB1c2goeC5hdWRpb0l0YWcpO3g9e307Zm9yKHZhciBMIG9mIGgpeFtMLml0YWddPUwuYml0cmF0ZTtMPVtdO2ZvcihHIG9mIGgpe0Q9CntpdGFnOkcuaXRhZyx0eXBlOkcubWltZVR5cGUsdXJsOkcudXJsLGJpdHJhdGU6Ry5iaXRyYXRlLHdpZHRoOkcud2lkdGgsaGVpZ2h0OkcuaGVpZ2h0LGZwczpHLmZwc307aWYoaD1HLmF1ZGlvVHJhY2spaWYoYj1oLmRpc3BsYXlOYW1lKUQubmFtZT1iLEQuYXVkaW9fdHJhY2tfaWQ9aC5pZCxoLmF1ZGlvSXNEZWZhdWx0JiYoRC5pc19kZWZhdWx0PSIxIik7aWYoRy5kcm1GYW1pbGllcyl7aD1bXTtmb3IodmFyIGUgb2YgRy5kcm1GYW1pbGllcyloLnB1c2goSlpbZV0pO0QuZHJtX2ZhbWlsaWVzPWguam9pbigiLCIpfShoPXZbRy5pdGFnXSkmJmgubGVuZ3RoJiYoRC5hdWRpb19pdGFnPWguam9pbigiLCIpLChoPXhbaFswXV0pJiYoRC5iaXRyYXRlKz1oKSk7KGg9TiQoRykpJiYoRC5lb3RmPWgpO0cuYXVkaW9DaGFubmVscyYmKEQuYXVkaW9fY2hhbm5lbHM9Ry5hdWRpb0NoYW5uZWxzKTtMLnB1c2goeUcoRCkpfXZhciBHPUwuam9pbigiLCIpO24uaGxzRm9ybWF0cz1HfWlmKChlPQpXLmxpY2Vuc2VJbmZvcykmJmUubGVuZ3RoPjApe0c9e307Zm9yKHZhciByIG9mIGUpZT1yLmRybUZhbWlseSx2PXIudXJsLGUmJnYmJihHW0paW2VdXT12KTtuLmNvbnRlbnRQcm90ZWN0aW9uPUd9aWYocj1XLmRybVBhcmFtcyluLmRybVBhcmFtcz1yO2lmKHI9Vy5kYXNoTWFuaWZlc3RVcmwpbi5UZj1nLkVUKHIse2NwbjpuLmNsaWVudFBsYXliYWNrTm9uY2V9KTtpZihyPVcuaGxzTWFuaWZlc3RVcmwpbi5obHN2cD1yO2lmKHI9Vy5wcm9iZVVybCluLnByb2JlVXJsPUZOKGcuRVQocix7Y3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pKTtpZihXPVcuc2VydmVyQWJyU3RyZWFtaW5nVXJsKW4ubEM9bmV3IGcud1ooVywhMCl9OwpvWU09ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW9JZDtiJiYobi52aWRlb0lkPWIsRC52aWRlb19pZHx8KEQudmlkZW9faWQ9YikpO2lmKGI9Vy50aXRsZSluLnRpdGxlPWIsRC50aXRsZXx8KEQudGl0bGU9Yik7aWYoYj1XLmxlbmd0aFNlY29uZHMpbi5sZW5ndGhTZWNvbmRzPU51bWJlcihiKSxELmxlbmd0aF9zZWNvbmRzfHwoRC5sZW5ndGhfc2Vjb25kcz1iKTtpZihiPVcua2V5d29yZHMpbi5rZXl3b3Jkcz1XaihiKTtpZihiPVcuY2hhbm5lbElkKW4uRjk9YixELnVjaWR8fChELnVjaWQ9Yik7aWYoYj1XLnZpZXdDb3VudCluLnJhd1ZpZXdDb3VudD1OdW1iZXIoYik7aWYoYj1XLmF1dGhvciluLmF1dGhvcj1iLEQuYXV0aG9yfHwoRC5hdXRob3I9Yik7aWYoRD1XLnNob3J0RGVzY3JpcHRpb24pbi5zaG9ydERlc2NyaXB0aW9uPUQ7aWYoRD1XLmlzQ3Jhd2xhYmxlKW4uaXNMaXN0ZWQ9RDtpZihEPVcubXVzaWNWaWRlb1R5cGUpbi5tdXNpY1ZpZGVvVHlwZT1EO0Q9Vy5pc0xpdmU7CkQhPW51bGwmJihuLmlzTGl2ZVBsYXliYWNrPUQpO2lmKER8fFcuaXNVcGNvbWluZyluLmlzUHJlbWllcmU9IVcuaXNMaXZlQ29udGVudDtpZihEPVcudGh1bWJuYWlsKW4udE89d2MoRCk7aWYoRD1XLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3Qpbi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0PUQ7KEQ9Vy5zdGF0aW9uVHlwZSkmJkQhPT0iU1RBVElPTl9UWVBFX1VOS05PV04iJiYobi56Mz0hMCk7RD1XLnZpZXdlckxpdmVzdHJlYW1Kb2luUG9zaXRpb247RD8udXRjVGltZU1pbGxpcyYmKG4uRHo9Zy5OaChELnV0Y1RpbWVNaWxsaXMpKTtuLkcoKS5leHBlcmltZW50cy5FcSgiZW5hYmxlX2NlbnRlcmVkX2NhcHRpb25fZm9yX3R2ZmlsbV92aWRlbyIpJiZXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmlzVHZmaWxtVmlkZW89Vy5pc1R2ZmlsbVZpZGVvKTtXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmNPPVcuaXNUdmZpbG1WaWRlbyYmbi5pc0xpdmVQbGF5YmFjayl9Owp6RWI9ZnVuY3Rpb24obixXKXtpZihXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXIpe3ZhciBEPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlcjtuLk1nPUQudHJhaWxlclZpZGVvSWR8fCIiO3ZhciBiPShiPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlci55cGNUcmFpbGVyKSYmYi55cGNUcmFpbGVyUmVuZGVyZXJ9ZWxzZSBXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNPZmZlclJlbmRlcmVyP0Q9Vy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcjpXLnlwY1RyYWlsZXJSZW5kZXJlciYmKGI9Vy55cGNUcmFpbGVyUmVuZGVyZXIsVz1iLmZ1bGxWaWRlb01lc3NhZ2Usbi5IQj1XP2cuRHAoVyk6IiIsbi5NZz1nLncoYixEeik/LnZpZGVvRGV0YWlscz8udmlkZW9JZHx8IiIpO0QmJihuLlU5PUQuaXRlbVRpdGxlfHwiIixELml0ZW1VcmwmJihuLndWPUQuaXRlbVVybCksRC5pdGVtQnV5VXJsJiYobi5nVj0KRC5pdGVtQnV5VXJsKSxuLkFKPUQuaXRlbVRodW1ibmFpbHx8IiIsbi5kVj1ELm9mZmVySGVhZGxpbmV8fCIiLG4uR249RC5vZmZlckRlc2NyaXB0aW9ufHwiIixuLk9oPUQub2ZmZXJJZHx8IiIsbi5Daj1ELm9mZmVyQnV0dG9uVGV4dHx8IiIsbi51Vz1ELm9mZmVyQnV0dG9uRm9ybWF0dGVkVGV4dHx8bnVsbCxuLkU5PUQub3ZlcmxheUR1cmF0aW9uTXNlY3x8TmFOLG4uSEI9RC5mdWxsVmlkZW9NZXNzYWdlfHwiIixuLnZNPSEwKTtiJiYoKEQ9Zy53KGIsRHopKT9uLkljPXtyYXdfcGxheWVyX3Jlc3BvbnNlOkR9OihEPWcudyhiLGR2aSksbi5JYz1EP2cuaXcoRCk6bnVsbCksbi52TT0hMCl9Owpsb2o9ZnVuY3Rpb24obixXLEQsYil7Vy5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0JiYobi5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0PSEwKTtXLmlzVXBjb21pbmcmJihuLmlzVXBjb21pbmc9ITApO2lmKFcuaXNQb3N0TGl2ZUR2cil7bi5YZz0hMDtpZihiPVcubGF0ZW5jeUNsYXNzKW4ubGF0ZW5jeUNsYXNzPWJqW2JdfHwiVU5LTk9XTiI7Vy5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtJiYobi5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtPSEwKX1lbHNle2xldCB2PSExO24uSVI/KG4uYWxsb3dMaXZlRHZyPWZOKCk/ITA6TVgmJnZqPDU/ITE6ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk6Vy5pc0xpdmU/KGIubGl2ZXN0cmVhbT0iMSIsbi5hbGxvd0xpdmVEdnI9Vy5pc0xpdmVEdnJFbmFibGVkP2ZOKCk/ITA6TVgmJnZqPDU/ITE6ITA6ITEsbi5wYXJ0bmVySWQ9Mjcsdj0hMCk6Vy5pc1VwY29taW5nJiYodj0hMCk7aWYoVy5pc0xpdmV8fG4uSVIpe1cuaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbSYmKG4uaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbT0KITApO2xldCBrPVcubGF0ZW5jeUNsYXNzO2smJihuLmxhdGVuY3lDbGFzcz1ialtrXXx8IlVOS05PV04iKTtpZihXPVcubGl2ZUNodW5rUmVhZGFoZWFkKW4ubGl2ZUNodW5rUmVhZGFoZWFkPVc7aWYoVz1EJiZELmxpdmVQbGF5ZXJDb25maWcpe1cuaGFzU3ViZnJhZ21lbnRlZEZtcDQmJihuLmhhc1N1YmZyYWdtZW50ZWRGbXA0PSEwKTtXLmhhc1N1YmZyYWdtZW50ZWRXZWJtJiYobi5JMj0hMCk7Vy5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzJiYobi5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzPSEwKTtpZihEPVcubGl2ZUV4cGVyaW1lbnRhbENvbnRlbnRJZCluLmxpdmVFeHBlcmltZW50YWxDb250ZW50SWQ9TnVtYmVyKEQpO1c9Vy5pc0xpdmVIZWFkUGxheWFibGU7bi5TKCJodG1sNV9saXZlX2hlYWRfcGxheWFibGUiKSYmVyE9bnVsbCYmKG4uaXNMaXZlSGVhZFBsYXlhYmxlPVcpfX12JiYobi5pc0xpdmVQbGF5YmFjaz0hMCxiLmFkZm9ybWF0JiZiLmFkZm9ybWF0LnNwbGl0KCJfIilbMV0hPT0KIjgifHxuLklKLnB1c2goImhlYXJ0YmVhdCIpKX19OwprTD1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzOyhuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0cyl8fChuPVc/LmVuZFNjcmVlbj8uZW5kU2NyZWVuPy5yZXN1bHRzKTtyZXR1cm4gbn07CnhMPWZ1bmN0aW9uKCl7aWYoaHg9PT12b2lkIDApe3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInl0LXBsYXllci1sdiIpfWNhdGNoKFcpe31hOnt0cnl7dmFyIG49ISFzZWxmLmxvY2FsU3RvcmFnZX1jYXRjaHtuPSExfWlmKG4mJihuPWcudlMoYCR7TTAoKX06Onl0LXBsYXllcmApKSl7aHg9bmV3IFQkYihuKTticmVhayBhfWh4PXZvaWQgMH19cmV0dXJuIGh4fTsKTEw9ZnVuY3Rpb24oKXt2YXIgbj14TCgpO2lmKCFuKXJldHVybnt9O3RyeXtsZXQgVz1uLmdldCgieXQtcGxheWVyLWx2Iik7cmV0dXJuIEpTT04ucGFyc2UoV3x8Int9Iil9Y2F0Y2goVyl7cmV0dXJue319fTsKZSQ9ZnVuY3Rpb24obil7cmV0dXJuIExMKClbbl18fDB9OwpnNj1mdW5jdGlvbihuLFcpe3ZhciBEPUxMKCk7VyE9PURbbl0mJihXIT09MD9EW25dPVc6ZGVsZXRlIERbbl0sbj14TCgpKSYmKEQ9SlNPTi5zdHJpbmdpZnkoRCksbi5zZXQoInl0LXBsYXllci1sdiIsRCkpfTsKZy5YZT1hc3luYyBmdW5jdGlvbihuKXtyZXR1cm4gQ0YoamlVKCksbil9Owp0eD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2lmKGUkKG4pPT09NClyZXR1cm4gNDt2YXIgTD1hd2FpdCBnLm5QKCk7aWYoIUwpdGhyb3cgZy5yMCgid2lhYyIpO3gmJmghPT12b2lkIDAmJihoPWF3YWl0IENuaSh4LGgpKTt2YXIgZT1ELmxhc3RNb2RpZmllZHx8IjAiO3g9YXdhaXQgZy5YZShMKTt0cnl7cmV0dXJuIHFzKyssYXdhaXQgT1IoeCxbImluZGV4IiwibWVkaWEiXSx7bW9kZToicmVhZHdyaXRlIix0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfV0lBQyIsR1E6ITB9LEc9PntpZihrIT09dm9pZCAwJiZoIT09dm9pZCAwKXt2YXIgcj1gJHtufXwke1cuaWR9fCR7ZX18JHtTdHJpbmcoaykucGFkU3RhcnQoMTAsIjAiKX1gO3I9Ry5vYmplY3RTdG9yZSgibWVkaWEiKS5wdXQoaCxyKX1lbHNlIHI9c1IucmVzb2x2ZSh2b2lkIDApO3ZhciBOPUdmKG4sVy5mWSgpKSxIPUdmKG4sIVcuZlkoKSksQT17Zm10czpnLkV0KHtkbHQ6Yi5kb3dubG9hZGVkRW5kVGltZS50b1N0cmluZygpLApta2V0OmIubWF4S25vd25FbmRUaW1lLnRvU3RyaW5nKCksYXZicjpiLmF2ZXJhZ2VCeXRlUmF0ZS50b1N0cmluZygpfSksZm9ybWF0OkR8fHt9fTtOPUcub2JqZWN0U3RvcmUoImluZGV4IikucHV0KEEsTik7dmFyIHk9Yi5kb3dubG9hZGVkRW5kVGltZT09PS0xO0E9eT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLmdldChIKTpzUi5yZXNvbHZlKHZvaWQgMCk7dmFyIFQ9e2ZtdHM6Im11c2ljIixmb3JtYXQ6e319O0c9eSYmdiYmIVcuZlkoKT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLnB1dChULEgpOnNSLnJlc29sdmUodm9pZCAwKTtyZXR1cm4gc1IuYWxsKFtHLEEscixOXSkudGhlbigoWyx6XSk9Pntxcy0tO3ZhciBDPWUkKG4pLFE7IShRPUMhPT00JiZ5JiZ2KSYmKFE9eiE9PXZvaWQgMCkmJihRPSh6PXouZm10cyk/ej09PSJtdXNpYyI/ITA6ei5pbmNsdWRlcygiZGx0PS0xIil8fCF6LmluY2x1ZGVzKCJkbHQ9Iik6ITEpO1EmJihDPTEsZzYobixDKSk7cmV0dXJuIEN9KX0pfWNhdGNoKEcpe3FzLS07Cng9ZSQobik7aWYoeD09PTQpcmV0dXJuIHg7ZzYobiw0KTt0aHJvdyBHO319OwpCJHg9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9YXdhaXQgZy5uUCgpO2lmKCFXKXRocm93IGcucjAoInJpIik7cmV0dXJuIE9SKGF3YWl0IGcuWGUoVyksWyJpbmRleCJdLHttb2RlOiJyZWFkb25seSIsdGFnOiJJREJfVFJBTlNBQ1RJT05fVEFHX0xNUkkifSxEPT57dmFyIGI9SURCS2V5UmFuZ2UuYm91bmQobisifCIsbisifiIpO3JldHVybiBELm9iamVjdFN0b3JlKCJpbmRleCIpLmdldEFsbChiKS50aGVuKHY9PnYubWFwKGs9Pms/ay5mb3JtYXQ6e30pKX0pfTsKdzNpPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9YXdhaXQgZy5uUCgpO2lmKCFrKXRocm93IGcucjAoInJjIik7az1PUihhd2FpdCBnLlhlKGspLFsibWVkaWEiXSx7bW9kZToicmVhZG9ubHkiLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19MTVJNIn0saD0+e3ZhciB4PWAke259fCR7V318JHtEfXwke1N0cmluZyhiKS5wYWRTdGFydCgxMCwiMCIpfWA7cmV0dXJuIGgub2JqZWN0U3RvcmUoIm1lZGlhIikuZ2V0KHgpfSk7CnJldHVybiB2P2sudGhlbihoPT57aWYoaD09PXZvaWQgMCl0aHJvdyBFcnJvcigiTm8gZGF0YSBmcm9tIGluZGV4RGIiKTtyZXR1cm4gRkkxKHYsaCl9KS5jYXRjaChoPT57dGhyb3cgbmV3IGcuUXgoYEVycm9yIHdoaWxlIHJlYWRpbmcgY2h1bms6ICR7aC5uYW1lfSwgJHtoLm1lc3NhZ2V9YCk7Cn0pOmt9OwpHZj1mdW5jdGlvbihuLFcpe3JldHVybmAke259fCR7Vz8idiI6ImEifWB9OwpSRWk9ZnVuY3Rpb24obil7dmFyIFc9e30sRD17fTtmb3IobGV0IGsgb2Ygbil7dmFyIGI9ay5zcGxpdCgifCIpO2lmKCFrLm1hdGNoKE1tQykpe0Rba109Ij8iO2NvbnRpbnVlfW49TnVtYmVyKGIucG9wKCkpO2lmKGlzTmFOKG4pKXtEW2tdPSI/Ijtjb250aW51ZX12YXIgdj1iLmpvaW4oInwiKTsoYj1XW3ZdKT8odj1iW2IubGVuZ3RoLTFdLG49PT12LmVuZCsxP3YuZW5kPW46Yi5wdXNoKHtzdGFydDpuLGVuZDpufSkpOldbdl09W3tzdGFydDpuLGVuZDpufV19Zm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKFcpKURba109V1trXS5tYXAoaD0+YCR7aC5zdGFydH0tJHtoLmVuZH1gKS5qb2luKCIsIik7CnJldHVybiBEfTsKJEw9ZnVuY3Rpb24obixXKXt2YXIgRD1uLlYoKSxiPW4uWCgpLHY9MSxrPTAsaD1nLmRNKG4ueVEuZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYWRfZ2FpbiIpO2ghPW51bGwmJkQmJih2PWgpO2lmKGI/LkQoKSl7az1iLmF1ZGlvPy5KPz9uLko7aWYoaz09bnVsbHx8aXNOYU4oaykpaz12b2lkIDA7cmV0dXJue0R5OjAsWnI6MSx3RzoxLGZkOmsscHk6ayxSUzprLGZvcm1hdElkOmIuaWQsYUc6VyxJejpuLnlRLlZRLFFPOm4uUU99fUQ9Yj8uYXVkaW8/Lko/P24uSjtiIT1udWxsJiZiLmF1ZGlvPy5KPT1udWxsJiZuLlUoImFnYyIse25vX2FiOjF9KTtpZihEPT1udWxsfHxpc05hTihEKSlyZXR1cm4gVz1iPy5hdWRpbz8uWCE9bnVsbD9iLmF1ZGlvLlg6bi5XLGlzTmFOKFcpfHwoaz00KSxXPS1XLHtEeTpXLFpyOk1hdGgubWluKDEsMTAqKihXLzIwKSl8fHYsd0c6ayxmb3JtYXRJZDpiPy5pZCxRTzpuLlFPfTtrPTE7aD1uLmxvdWRuZXNzVGFyZ2V0TGtmczt2YXIgeD1uLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uIik7CmlmKG4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24mJngpe2lmKFchPW51bGwpdmFyIEw9VztlbHNlIGlzRmluaXRlKG4ueVEuVlEpJiYoTD1uLnlRLlZRKTtMIT1udWxsJiYoaz0yLGg9Zy5GZihMLG4ubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyxuLmxvdWRuZXNzVGFyZ2V0TGtmcykpfXZhciBlPU1hdGgubWluKGgtRCwwKTt2YXIgRz1EK2U7dj1NYXRoLm1pbigxLDEwKiooZS8yMCkpfHx2O3gmJm4uVSgiYWdjIix7c3Rub3JtOm4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24saHN0OlcsZW52Om4ueVEuVlEsZm1sOkQsc3RndDpMLHRtaW46bi5taW5pbXVtTG91ZG5lc3NUYXJnZXRMa2ZzLHRtYXg6bi5sb3VkbmVzc1RhcmdldExrZnMsbmc6ZX0pO3JldHVybntEeTplLFpyOnYsd0c6ayxmZDpELHB5OmgsUlM6Ryxmb3JtYXRJZDpiPy5pZCxhRzpXLEl6Om4ueVEuVlEsUU86bi5RT319OwpyNj1mdW5jdGlvbihuLFcpe1c9JEwobixXKTtuLk49VztuLnByZXNlcnZlU3RhdGVmdWxMb3VkbmVzc1RhcmdldCYmVy5SUyE9bnVsbCYmKG4ueVEuVlE9Vy5SUyk7cmV0dXJuIFcuWnJ9OwpRaTI9ZnVuY3Rpb24obixXLEQpe1c9e2NwbjpXfTtuLmluZGV4T2YoIi9pYncvIik9PT0tMSYmKFcuaWJ3PUQ/U3RyaW5nKEQpOiIxMzY5ODQzIik7cmV0dXJue3VybDpnLkVUKG4sVyksdHlwZToiYXBwbGljYXRpb24veC1tcGVnVVJMIixxdWFsaXR5OiJhdXRvIixpdGFnOiI5MyJ9fTsKVm10PWZ1bmN0aW9uKG4pe3RyeXtsZXQgVz0obmV3IGcud1oobiwhMCkpLmdldCgibiIpO2lmKFcpe2xldCBEPW4ubWF0Y2goL1wvblwvKFteL10rKS8pO2lmKEQmJkRbMV0mJkRbMV0hPT1XKXJldHVybiBuLnJlcGxhY2UoYC9uLyR7RFsxXX1gLGAvbi8ke1d9YCl9fWNhdGNoKFcpe2cuR3EoVyl9cmV0dXJuIG59OwpzVT1mdW5jdGlvbihuKXtpZihuLmlzQWQoKSYmKG4uVlE/bi52aWRlb0lkIT09bi55US5TJDpuLnZpZGVvSWQhPW4ueVEuUyQpKXJldHVybiBuLnlRLlMkfTsKVm49ZnVuY3Rpb24obil7aWYobil7aWYoQm4obikpcmV0dXJuIG47bj1lQShuKTtpZihCbihuLCEwKSlyZXR1cm4gbn1yZXR1cm4iIn07CmcuWU49ZnVuY3Rpb24obil7aWYoZy4kNihuLnlRKSYmbi55US5WPT09Inl0IiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25feXRfZW1iZWRzIikpcmV0dXJuITE7aWYobi5abylyZXR1cm4gbi5ERSYmbi5VKCJmZHMiLHtmZHM6ITB9LCEwKSwhMTtpZihuLnlRLlYhPT0ieXQiJiYhY3F4KG4pKXJldHVybiBuLkRFJiZuLlUoImRzdm4iLHtuczpuLnlRLlZ9LCEwKSwhMTtpZihuLmNvdG58fCFuLk58fG4uTi5pc090ZiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpfHxuLlcmJiFuLlcuTigpfHxuLkNVJiYhbi5TKCJodG1sNV9lbmFibGVfc2Ficl9jc2RhaSIpKXJldHVybiExO2lmKG4uUygiaHRtbDVfdXNlX3NhYnJfcmVxdWVzdHNfZm9yX2RlYnVnZ2luZyIpKXJldHVybiEwO24uREUmJm4uVSgiZXNmdyIse3VzYmM6bi5ERSxoc3U6ISFuLmxDfSwhMCk7aWYobi5ERSYmbi5sQylyZXR1cm4hMDtpZihuLlMoImh0bWw1X3JlbW92ZV9jbGllbnRfc2Ficl9kZXRlcm1pbmF0aW9uIikpcmV0dXJuITE7CnZhciBXPSFuLk4uelcmJiFuLk1pKCksRD1XJiZOcyYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl92b2Rfc3RyZWFtaW5nX3hociIpO1c9VyYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3ZvZF9ub25fc3RyZWFtaW5nX3hociIpO3ZhciBiPXBMKG4pLHY9bi5TKCJodG1sNV9lbmFibGVfc2Ficl9kcm1fdm9kX3N0cmVhbWluZ194aHIiKSYmTnMmJm4uTWkoKSYmIW4uTi56VyYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCk7KEQ9RHx8V3x8Ynx8dikmJiFuLmxDJiZuLlUoInNhYnIiLHtsb2M6Im0ifSwhMCk7cmV0dXJuIEQmJiEhbi5sQ307CldqPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09Mj9XW25bMF1dPW5bMV06V1tEXT0hMDtyZXR1cm4gV307CkhqPWZ1bmN0aW9uKG4pe2lmKG4uUygiaHRtbDVfb25lc2llIikmJm4uZXJyb3JDb2RlKXJldHVybiExO3ZhciBXPWcuamoobi5JSiwieXBjIik7bi55cGNQcmV2aWV3JiYoVz0hMSk7cmV0dXJuIG4uT1YoKSYmIW4ubG9hZGluZyYmKGcuWUwobil8fGcuamoobi5JSiwiaGVhcnRiZWF0Iil8fFcpfTsKZkw9ZnVuY3Rpb24obil7bi5xTigpfHwobi5sb2FkaW5nPSExLG4uV0ooImRhdGFsb2FkZWQiKSl9OwptZj1mdW5jdGlvbihuLFcpe3ZhciBEPVcucmF3X2VtYmVkZGVkX3BsYXllcl9yZXNwb25zZTtpZighRCl7dmFyIGI9Vy5lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9RCYmKG4uTz1EKTtpZihuLk8pe24uZW1iZWRkZWRQbGF5ZXJDb25maWc9bi5PLmVtYmVkZGVkUGxheWVyQ29uZmlnfHxudWxsO2lmKEQ9bi5PLnZpZGVvRmxhZ3MpRC5wbGF5YWJsZUluRW1iZWQmJihuLmFsbG93RW1iZWQ9ITApLEQuaXNQcml2YXRlJiYobi5pc1ByaXZhdGU9ITApLEQudXNlckRpc3BsYXlOYW1lJiYoVy51c2VyX2Rpc3BsYXlfbmFtZT1ELnVzZXJEaXNwbGF5TmFtZSksRC51c2VyRGlzcGxheUltYWdlJiYoVy51c2VyX2Rpc3BsYXlfaW1hZ2U9RC51c2VyRGlzcGxheUltYWdlKTtpZigoRD1uLk8uZW1iZWRQcmV2aWV3KSYmRC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpe0Q9RC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI7bkwobixELmNvbnRyb2xCZ0h0bWwpO2lmKGI9CkQuZGVmYXVsdFRodW1ibmFpbCluLnRPPXdjKGIpOyhiPWcudyhEPy52aWRlb0RldGFpbHMsYW9VKSkmJkp4KG4sVyxiKTtiPWcudyhEPy52aWRlb0RldGFpbHMsbnFNKTtuLkU1PSEhRC5hZGRUb1dhdGNoTGF0ZXJCdXR0b247bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO2I/Lm11c2ljVmlkZW9UeXBlJiYobi5tdXNpY1ZpZGVvVHlwZT1iLm11c2ljVmlkZW9UeXBlKTtpZihiPWcudyhuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKT8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LnBsYXlCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsZy5JUSkpb0EobixiKSxuLnZpZGVvSWQ9Yi52aWRlb0lkfHxuLnZpZGVvSWQ7RC52aWRlb0R1cmF0aW9uU2Vjb25kcyYmKG4ubGVuZ3RoU2Vjb25kcz1nLk5oKEQudmlkZW9EdXJhdGlvblNlY29uZHMpKTtELndlYlBsYXllckFjdGlvbnNQb3J0aW5nJiZhQShuLEQud2ViUGxheWVyQWN0aW9uc1BvcnRpbmcpOwppZihEPWcudyhEPy5wbGF5bGlzdCxXR2kpKXtuLk1kPSEwO2I9W107dmFyIHY9TnVtYmVyKEQuY3VycmVudEluZGV4KTtpZihELmNvbnRlbnRzKWZvcihsZXQgaz0wLGg9RC5jb250ZW50cy5sZW5ndGg7azxoO2srKyl7bGV0IHg9RC5jb250ZW50c1trXS5wbGF5bGlzdFBhbmVsVmlkZW9SZW5kZXJlcjtpZigheCljb250aW51ZTtsZXQgTD14LnNob3J0QnlsaW5lVGV4dD9nLkRwKHguc2hvcnRCeWxpbmVUZXh0KToiIixlPXgudGl0bGU/Zy5EcCh4LnRpdGxlKToiIjtiLnB1c2goe2F1dGhvcjpMLGVuY3J5cHRlZF9pZDp4LnZpZGVvSWQsdGl0bGU6ZSxjaGFubmVsX3BhdGg6az09PXY/Vy5jaGFubmVsX3BhdGg6IiIscHJvZmlsZV9waWN0dXJlOms9PT12P1cucHJvZmlsZV9waWN0dXJlOiIiLGlzX3ByaXZhdGU6az09PXY/bi5pc1ByaXZhdGU6ITAsaXNfZG5pOms9PT12P24uaU46ITEsZG5pX2NvbG9yOms9PT12P24uclI6IiJ9KX1XPXtpbmRleDpELmN1cnJlbnRJbmRleCxsaXN0OkQucGxheWxpc3RJZCwKcGxheWxpc3RfbGVuZ3RoOkQudG90YWxWaWRlb3MsdmlkZW86Yn07RC50aXRsZVRleHQmJihXLnRpdGxlPWcuRHAoRC50aXRsZVRleHQpKTtELnNob3J0QnlsaW5lVGV4dCYmKFcuYXV0aG9yPWcuRHAoRC5zaG9ydEJ5bGluZVRleHQpKTtuLlE3PVd9aWYoVz1nLncobi5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCk/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKFc/LmR1cmF0aW9uTXMpfHxOYU4sVz8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPVc/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxXPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYobi5Saz1XPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsKX1pZihuLk8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzKXtpZihuLmVCPW4uTy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsVz1uLmVCLCFbIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKFcuc3RhdHVzKSl7bi5lcnJvckNvZGU9CmlpKFcuZXJyb3JDb2RlKTtEPVcuZXJyb3JTY3JlZW47aWYoYj1EPy5wbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcil7bi5mbT1iO2lmKHY9Yi5yZWFzb24pbi5lcnJvclJlYXNvbj1nLkRwKHYpO2lmKGI9Yi5zdWJyZWFzb24pbi53aT1nLkRwKGIpfWVsc2Ugbi5lcnJvclJlYXNvbj1XLnJlYXNvbnx8bnVsbDtzd2l0Y2goVy5zdGF0dXMpe2Nhc2UgIkxPR0lOX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIxIjticmVhaztjYXNlICJDT05URU5UX0NIRUNLX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIyIjticmVhaztjYXNlICJBR0VfQ0hFQ0tfUkVRVUlSRUQiOm4uZXJyb3JEZXRhaWw9RD8ucGxheWVyS2F2UmVuZGVyZXI/LmthdlVybD8iNCI6IjMiO2JyZWFrO2RlZmF1bHQ6bi5lcnJvckRldGFpbD1XLmlzQmxvY2tlZEluUmVzdHJpY3RlZE1vZGU/IjUiOiIwIn19fWVsc2Ugbi5PLnBsYXlhYmlsaXR5U3RhdHVzJiYobi5SdD1uLk8ucGxheWFiaWxpdHlTdGF0dXMsQXgobikmJihuLmVycm9yRGV0YWlsPQoiMCIsbi5SdCYmKChXPW4uUnQuZW1iZWRkZWRQbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcik/bi5mbT1nLncoVyxEdEMpOm4uZXJyb3JSZWFzb249bi5SdC5yZWFzb258fG51bGwpKSk7KFc9bi5PLmF0dGVzdGF0aW9uKSYmUW4obixXKTsoVz1uLk8ucGVybWlzc2lvbnMpJiZXLmFsbG93SW1hTW9uZXRpemF0aW9uJiYobi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hMCl9fTsKRVU9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnJhd193YXRjaF9uZXh0X3Jlc3BvbnNlO2lmKCFEKXt2YXIgYj1XLndhdGNoX25leHRfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9aWYoRCl7bi53YXRjaE5leHRSZXNwb25zZT1EOyhEPW4ud2F0Y2hOZXh0UmVzcG9uc2UucGxheWVyQ3VlUmFuZ2VTZXQpJiZnLktMKG4sRCk7RD1uLndhdGNoTmV4dFJlc3BvbnNlLnBsYXllck92ZXJsYXlzO2lmKEQmJihEPUQucGxheWVyT3ZlcmxheVJlbmRlcmVyKSl7aWYoYj1ELmF1dG9uYXZUb2dnbGUpbi5hdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyPWcudyhiLGJXWiksbi5TKCJ3ZWJfcGxheWVyX2F1dG9uYXZfdXNlX3NlcnZlcl9wcm92aWRlZF9zdGF0ZSIpJiZuLkFWKCkmJihuLmF1dG9uYXZTdGF0ZT1uLmF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIuZW5hYmxlZD8yOjEpO2lmKGI9RC52aWRlb0RldGFpbHMpe3ZhciB2PWIuZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXI7CmlmKGI9Yi5wbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIpYi50aXRsZSYmKFcudGl0bGU9Zy5EcChiLnRpdGxlKSksYi5zdWJ0aXRsZSYmKFcuc3VidGl0bGU9Zy5EcChiLnN1YnRpdGxlKSl9Zy5DTihuLnlRKSYmKG4uRTU9ISFELmFkZFRvTWVudSk7bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO0Quc3RhcnRQb3NpdGlvbiYmRC5lbmRQb3NpdGlvbiYmKG4ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPUQuc3RhcnRQb3NpdGlvbixuLnByb2dyZXNzQmFyRW5kUG9zaXRpb249RC5lbmRQb3NpdGlvbik7aWYoYj1nLncobi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKGI/LmR1cmF0aW9uTXMpfHxOYU4sYj8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPWI/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxiPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYKKG4uUms9Yj8uaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbCk7bi5zaG93U2Vla2luZ0NvbnRyb2xzPSEhRC5zaG93U2Vla2luZ0NvbnRyb2xzfWlmKEQ9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5jb250ZW50cz8udHdvQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cylpZihEPUQuZGVza3RvcE92ZXJsYXkmJmcudyhELmRlc2t0b3BPdmVybGF5LHZxdCkpRC5zdXBwcmVzc1NoYXJlQnV0dG9uJiYobi5zaG93U2hhcmVCdXR0b249ITEpLEQuc3VwcHJlc3NXYXRjaExhdGVyQnV0dG9uJiYobi5FNT0hMSk7diYmSngobixXLHYpO0Q9REkoMCxXLmF1dG9wbGF5X2NvdW50KTt2YXIgaz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk7Yj1rLmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzO3Y9ay5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI7dmFyIGg9a0wobik7aWYoKGs9ay5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cykmJgprLmF1dG9wbGF5Py5hdXRvcGxheSYmIWsucGxheWxpc3Qpe2xldCB5PWsuYXV0b3BsYXkuYXV0b3BsYXkuc2V0cztrPXt9O3ZhciB4PW5ldyBPVShuLkcoKSksTD1udWxsLGU7aWYoeSl7Zm9yKHZhciBHIG9mIHkpaWYoKGU9Ry5hdXRvcGxheVZpZGVvUmVuZGVyZXIpJiZlLmNvbXBhY3RWaWRlb1JlbmRlcmVyKXtMPWUuY29tcGFjdFZpZGVvUmVuZGVyZXI7YnJlYWt9aWYoZT15WzBdLmF1dG9wbGF5VmlkZW8pKEc9ZS5jbGlja1RyYWNraW5nUGFyYW1zKSYmKGsuaXRjdD1HKSxrLmF1dG9uYXY9IjEiLGsucGxheW5leHQ9U3RyaW5nKEQpfWVsc2Ugay5mZWF0dXJlPSJyZWxhdGVkLWF1dG8iO2U9Zy53KGUsZy5JUSk7aWYoTCl7eC52aWRlb0lkPUwudmlkZW9JZDtpZihlPUwuc2hvcnRCeWxpbmVUZXh0KXguYXV0aG9yPWcuRHAoZSk7aWYoZT1MLnRpdGxlKXgudGl0bGU9Zy5EcChlKX1lbHNlIGUhPW51bGwmJmUudmlkZW9JZCYmKHgudmlkZW9JZD1lLnZpZGVvSWQpO3gueXo9aztuLnN1Z2dlc3Rpb25zPQpbXTtuLlU1PXh9aWYoaCl7ZT1bXTtmb3IodmFyIHIgb2YgaCl7aD12b2lkIDA7Rz1udWxsO2lmKHIuZW5kU2NyZWVuVmlkZW9SZW5kZXJlcil7az1yLmVuZFNjcmVlblZpZGVvUmVuZGVyZXI7eD1rLnRpdGxlO0c9bmV3IE9VKG4uRygpKTtHLnZpZGVvSWQ9ay52aWRlb0lkO0cubGVuZ3RoU2Vjb25kcz1rLmxlbmd0aEluU2Vjb25kc3x8MDtpZihMPWsucHVibGlzaGVkVGltZVRleHQpRy5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKEwpO2lmKEw9ay5zaG9ydEJ5bGluZVRleHQpRy5hdXRob3I9Zy5EcChMKTtpZihMPWsuc2hvcnRWaWV3Q291bnRUZXh0KUcuc2hvcnRWaWV3Q291bnQ9Zy5EcChMKTt4JiYoRy50aXRsZT1nLkRwKHgpLCh4PXguYWNjZXNzaWJpbGl0eSkmJih4PXguYWNjZXNzaWJpbGl0eURhdGEpJiZ4LmxhYmVsJiYoRy5hcmlhTGFiZWw9eC5sYWJlbCkpO2lmKEw9ay5uYXZpZ2F0aW9uRW5kcG9pbnQpaD1MLmNsaWNrVHJhY2tpbmdQYXJhbXMseD1nLncoTCxnLklRKSxMPWcudyhMLApnLlBqKSx4P0cuczA9eDpMIT1udWxsJiYoRy53YXRjaFVybD1MLnVybCk7aWYoeD1rLnRodW1ibmFpbE92ZXJsYXlzKWZvcih2YXIgTiBvZiB4KWlmKHg9Ti50aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyKWlmKHguc3R5bGU9PT0iTElWRSIpe0cuaXNMaXZlUGxheWJhY2s9ITA7YnJlYWt9ZWxzZSBpZih4LnN0eWxlPT09IlVQQ09NSU5HIil7Ry5pc1VwY29taW5nPSEwO2JyZWFrfUcudE89d2Moay50aHVtYm5haWwpfWVsc2UgaWYoci5lbmRTY3JlZW5QbGF5bGlzdFJlbmRlcmVyKXtrPXIuZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjtoPWsubmF2aWdhdGlvbkVuZHBvaW50O2lmKCFoKWNvbnRpbnVlO0c9Zy53KGgsZy5JUSk7aWYoIUcpY29udGludWU7eD1HLnZpZGVvSWQ7Rz1uZXcgWnoobi5HKCkpO0cucGxheWxpc3RJZD1rLnBsYXlsaXN0SWQ7Ry5wbGF5bGlzdExlbmd0aD1OdW1iZXIoay52aWRlb0NvdW50KXx8MDtHLk49eHx8bnVsbDtHLnZpZGVvSWQ9eDtpZih4PQprLnRpdGxlKUcudGl0bGU9Zy5EcCh4KTtpZih4PWsuc2hvcnRCeWxpbmVUZXh0KUcuYXV0aG9yPWcuRHAoeCk7aD1oLmNsaWNrVHJhY2tpbmdQYXJhbXM7Ry50Tz13YyhrLnRodW1ibmFpbCl9RyYmKGgmJihHLnNlc3Npb25EYXRhPXtpdGN0Omh9KSxlLnB1c2goRykpfW4uc3VnZ2VzdGlvbnM9ZX1pZih2KXtuLkozPSEhdi5wcmVmZXJJbW1lZGlhdGVSZWRpcmVjdDtuLkcoKS5adCgpLk4uUVEoa05qKSYmKG4uaDM9ISF2LnNob3dQYXVzZWRXaGVuRGlzYWJsZWQpO24uclc9bi5yV3x8ISF2LndlYlNob3dOZXdBdXRvbmF2Q291bnRkb3duO2lmKG4uclcpe049djtiPWJ8fG51bGw7cj1uZXcgT1Uobi5HKCkpO3IudmlkZW9JZD1OLnZpZGVvSWQ7aWYoZT1OLnZpZGVvVGl0bGUpci50aXRsZT1nLkRwKGUpLChlPWUuYWNjZXNzaWJpbGl0eSkmJihlPWUuYWNjZXNzaWJpbGl0eURhdGEpJiZlLmxhYmVsJiYoci5hcmlhTGFiZWw9ZS5sYWJlbCk7aWYoZT1OLmJ5bGluZSlyLmF1dGhvcj1nLkRwKGUpOwppZihlPU4ucHVibGlzaGVkVGltZVRleHQpci5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKGUpO2lmKGU9Ti5zaG9ydFZpZXdDb3VudFRleHQpci5zaG9ydFZpZXdDb3VudD1nLkRwKGUpO2lmKGU9Ti50aHVtYm5haWxPdmVybGF5cylmb3IodmFyIEggb2YgZSlpZihlPUgudGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcilpZihlLnN0eWxlPT09IkxJVkUiKXtyLmlzTGl2ZVBsYXliYWNrPSEwO2JyZWFrfWVsc2UgaWYoZS5zdHlsZT09PSJVUENPTUlORyIpe3IuaXNVcGNvbWluZz0hMDticmVha31lbHNlIGlmKGUuc3R5bGU9PT0iREVGQVVMVCImJmUudGV4dCl7ci5sZW5ndGhUZXh0PWcuRHAoZS50ZXh0KTsoSD1lLnRleHQuYWNjZXNzaWJpbGl0eSkmJihIPUguYWNjZXNzaWJpbGl0eURhdGEpJiZILmxhYmVsJiYoci5pZz1ILmxhYmVsfHwiIik7YnJlYWt9ci50Tz13YyhOLmJhY2tncm91bmQpO2lmKEg9Ti5uZXh0QnV0dG9uKWlmKEg9SC5idXR0b25SZW5kZXJlcilpZihIPUgubmF2aWdhdGlvbkVuZHBvaW50KWlmKEg9CmcudyhILGcuSVEpKXIuczA9SDtOLnRvcEJhZGdlcyYmKEg9Ti50b3BCYWRnZXNbMF0pJiYoSD1nLncoSCxoazIpKSYmSC5zdHlsZT09PSJCQURHRV9TVFlMRV9UWVBFX1BSRU1JVU0iJiYoci5OPSEwKTtpZihIPU4uYWx0ZXJuYXRpdmVUaXRsZSlyLko5PWcuRHAoSCk7SD1yO0Q9e2F1dG9uYXY6IjEiLHBsYXluZXh0OlN0cmluZyhEKX07SC5wbGF5bGlzdElkJiYoRC5hdXRvcGxheT0iMSIpO2lmKGIpe2lmKE49Yi5hdXRvcGxheT8uYXV0b3BsYXk/LnNldHM/LlswXT8uYXV0b3BsYXlWaWRlbylpZigoYj1OLmNsaWNrVHJhY2tpbmdQYXJhbXMpJiYoRC5pdGN0PWIpLE49Zy53KE4sZy5JUSkpSC50RT1OfWVsc2UgTiYmKE49Ti5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zKSYmKEQuaXRjdD1OKTtELml0Y3R8fChELmZlYXR1cmU9InJlbGF0ZWQtYXV0byIpO0gueXo9RDtuLnN1Z2dlc3Rpb25zfHwobi5zdWdnZXN0aW9ucz0KW10pO24uVTU9cn12LmNvdW50RG93blNlY3MhPW51bGwmJihuLk9OPXYuY291bnREb3duU2VjcyoxRTMpO3YuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4hPW51bGwmJihuLnMzPXYuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4+PTA/di5jb3VudERvd25TZWNzRm9yRnVsbHNjcmVlbioxRTM6LTEpfWlmKHY9a0wobikpdj12Py5bMF0/LmVuZFNjcmVlblZpZGVvUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludD8uY2xpY2tUcmFja2luZ1BhcmFtcyxIPW4uVTV8fG4uc3VnZ2VzdGlvbnM/LlswXXx8bnVsbCx2JiZIJiYoSC5zZXNzaW9uRGF0YT17aXRjdDp2fSk7bi53YXRjaE5leHRSZXNwb25zZS5jdXJyZW50VmlkZW9UaHVtYm5haWwmJihuLnRPPXdjKG4ud2F0Y2hOZXh0UmVzcG9uc2UuY3VycmVudFZpZGVvVGh1bWJuYWlsKSk7KHY9bi53YXRjaE5leHRSZXNwb25zZT8uY29udGVudHM/LnR3b0NvbHVtbldhdGNoTmV4dFJlc3VsdHM/LnJlc3VsdHM/LnJlc3VsdHM/LmNvbnRlbnRzKSYmCnZbMF0mJihIPXZbMF0udmlkZW9QcmltYXJ5SW5mb1JlbmRlcmVyKSYmSCYmSC5zdWJ0aXRsZSYmKG4uWDQ9Zy5EcChILnN1YnRpdGxlKSk7diYmdlsxXSYmKHY9dlsxXS52aWRlb1NlY29uZGFyeUluZm9SZW5kZXJlcj8ub3duZXI/LnZpZGVvT3duZXJSZW5kZXJlcj8udGh1bWJuYWlsPy50aHVtYm5haWxzKSYmdi5sZW5ndGgmJihuLnByb2ZpbGVQaWN0dXJlPXZbdi5sZW5ndGgtMV0udXJsKTtXPWtSKFcpO2lmKHY9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHMpZm9yKHZhciBBIG9mIHYpZy53KEEsVVUpJiYobi5ScT1nLncoQSxVVSkpLHY9Zy53KEEseHRNKSx2Py5lbnRpdHlLZXlzJiYobi5MTj12LmVudGl0eUtleXN8fFtdLHYudmlzaWJsZU9uTG9hZEtleXMmJihuLnZpc2libGVPbkxvYWRLZXlzPXYudmlzaWJsZU9uTG9hZEtleXMpKTtuLlMoIndlYl9rZXlfbW9tZW50c19tYXJrZXJzIikmJihBPXl6LmdldFN0YXRlKCkuZW50aXRpZXMsCnY9bmYoInZpc2liaWxpdHlfb3ZlcnJpZGUiLCJtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5IiksQT1BLm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk/QS5tYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5W3ZdfHxudWxsOm51bGwsbi5IeD1BPy52aWRlb0lkPT09KG4udmlkZW9JZHx8VykmJkE/LnZpc2liaWxpdHlPdmVycmlkZU1hcmtlcnNLZXk/QS52aXNpYmlsaXR5T3ZlcnJpZGVNYXJrZXJzS2V5Om4udmlzaWJsZU9uTG9hZEtleXMsbi52aXNpYmxlT25Mb2FkS2V5cz1bLi4ubi5IeF0pfX07CmlqPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnJhd19yZWVsX2l0ZW1fd2F0Y2hfcmVzcG9uc2Upbi5yZWVsSXRlbVdhdGNoUmVzcG9uc2U9V307CnVqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5yYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U7RHx8KFc9Vy5yZXNvbHZlX3VybF9yZXNwb25zZSkmJihEPUpTT04ucGFyc2UoVykpO0QmJihuLnBvPUQpfTsKZDY9ZnVuY3Rpb24obixXKXtuLmZmbGFncz1iTyhuLmZmbGFncyxXLmZmbGFncyk7dmFyIEQ9Vy5pdl9pbnZpZGVvX3VybDtEJiYobi5lYT1GTihEKSk7bi5SbT1ueShuLlJtLFcuaXZfYWRzX29ubHkpO2lmKEQ9Vy5jdGFfY29udmVyc2lvbl91cmxzKW4ubE09RDtuLmlzUGhhcm1hPW55KG4uaXNQaGFybWEsVy5pc19waGFybWEpO24uYXV0aG9yPWJPKG4uYXV0aG9yLFcuYXV0aG9yKTtuLndhPVZuKFcudHRzdXJsKXx8bi53YTtuLldjPW55KG4uV2MsVy5jY19hc3IpO2lmKEQ9Vy5wcm9maWxlX3BpY3R1cmUpbi5wcm9maWxlUGljdHVyZT1iTyhuLnByb2ZpbGVQaWN0dXJlLEQpO24udmlkZW9Db3VudFRleHQ9Yk8obi52aWRlb0NvdW50VGV4dCxXLnZpZGVvX2NvdW50X3RleHQpO24uYXV0b25hdlN0YXRlPVdCKG4uYXV0b25hdlN0YXRlLFcuYXV0b25hdl9zdGF0ZSxMRzEpO24uY2xpZW50UGxheWJhY2tOb25jZT1iTyhuLmNsaWVudFBsYXliYWNrTm9uY2UsVy5jcG4pO24uc3Vic2NyaWJlZD0Kbnkobi5zdWJzY3JpYmVkLFcuc3Vic2NyaWJlZCk7bi5yYXdWaWV3Q291bnQ9REkobi5yYXdWaWV3Q291bnQsVy52aWV3X2NvdW50KTtuLnNob3J0Vmlld0NvdW50PWJPKG4uc2hvcnRWaWV3Q291bnQsVy5zaG9ydF92aWV3X2NvdW50X3RleHQpO24ucHVibGlzaGVkVGltZVRleHQ9Yk8obi5wdWJsaXNoZWRUaW1lVGV4dHx8IiIsVy5wdWJsaXNoZWRUaW1lVGV4dCk7bi5sZW5ndGhUZXh0PWJPKG4ubGVuZ3RoVGV4dHx8IiIsVy5sZW5ndGhUZXh0KTtuLmlnPWJPKG4uaWd8fCIiLFcuaWcpO24uSjk9Yk8obi5KOXx8IiIsVy5KOSk7bi50aXRsZT1iTyhuLnRpdGxlLFcudGl0bGUpO24uc3VidGl0bGU9Yk8obi5zdWJ0aXRsZSxXLnN1YnRpdGxlKTtuLmV4cGFuZGVkVGl0bGU9Yk8obi5leHBhbmRlZFRpdGxlLFcuZXhwYW5kZWRfdGl0bGUpO24uZXhwYW5kZWRTdWJ0aXRsZT1iTyhuLmV4cGFuZGVkU3VidGl0bGUsVy5leHBhbmRlZF9zdWJ0aXRsZSk7bi55cGNQcmV2aWV3PWJPKG4ueXBjUHJldmlldywKVy55cGNfcHJldmlldyk7bi5EVD1iTyhuLkRULFcueXBjX29yaWdpbik7bi5MQj1ueShuLkxCLFcueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXIpO24uSWs9Yk8obi5JayxXLnlwY19jbGlja3dyYXBfbWVzc2FnZSk7bi5wYXlnYXRlZD1ueShuLnBheWdhdGVkLFcucGF5Z2F0ZWQpO24uS289bnkobi5LbyxXLnJlcXVpcmVzX3B1cmNoYXNlKTtuLnNob3dTaGFyZUJ1dHRvbj0hbnkoIW4uc2hvd1NoYXJlQnV0dG9uLFcuc3MpO24uRTU9bnkobi5FNSxXLnNob3d3YXRjaGxhdGVyKTtpZihEPVcuZWwpbi5ldmVudExhYmVsPUQ7aWYoRD1XLmtleXdvcmRzKW4ua2V5d29yZHM9V2ooRC5zcGxpdCgiLCIpKTtpZihEPVcucnZzKW4uc3VnZ2VzdGlvbnM9dXcoRCkubWFwKGI9PmIucGxheWxpc3R8fGIubGlzdHx8Yi5hcGk/bmV3IFp6KG4ueVEsYik6bmV3IE9VKG4ueVEsYikpOwpuLmNvbnRlbnRDaGVja09rPW55KG4uY29udGVudENoZWNrT2ssVy5jY28pO24ucmFjeUNoZWNrT2s9bnkobi5yYWN5Q2hlY2tPayxXLnJjbyk7bi5pc0xpdmluZ1Jvb21EZWVwbGluaz1ueShuLmlzTGl2aW5nUm9vbURlZXBsaW5rLFcuaXNfbGl2aW5nX3Jvb21fZGVlcGxpbmspO24ub2F1dGhUb2tlbj1iTyhuLm9hdXRoVG9rZW4sVy5vYXV0aF90b2tlbik7bi5ISj1iTyhuLkhKLFcua3B0KTtuLnZpc2l0b3JEYXRhPWJPKG4udmlzaXRvckRhdGEsVy52aXNpdG9yX2RhdGEpO2lmKEQ9Vy5zZXNzaW9uX2RhdGEpbi5zZXNzaW9uRGF0YT15RihELCImIik7bi5XSz1iTyhuLldLLFcudHJhY2tpbmdfbGlzdCk7bi5EdD1ueShuLkR0LFcucGF1c2VfYXRfc3RhcnQpO29RKG4sVyl9Owp6Zj1mdW5jdGlvbihuLFcsRCxiKXtXJiZXLmNwbiYmZy5HcShuZXcgZy5ReCgiQ1BOIHByb3ZpZGVkIGluIFZpZGVvRGF0YSB1cGRhdGUiLHtIWjpXLmNwbixLWTpuLmNsaWVudFBsYXliYWNrTm9uY2UsdEY6RH0pKTtiJiYobi5lcnJvckNvZGU9bnVsbCxuLmVycm9yRGV0YWlsPSIiLG4uZXJyb3JSZWFzb249bnVsbCxuLndpPW51bGwpO0Q/KGtSKFcpLG4uc2V0RGF0YShXKSxIaihuKSYmZkwobikpOihXPVd8fHt9LG1mKG4sVyksRVUobixXKSxpaihuLFcpLHVqKG4sVyksZDYobixXKSxuLldKKCJkYXRhdXBkYXRlZCIpKX07Cm9RPWZ1bmN0aW9uKG4sVyl7Vy5pbmxpbmVNZXRyaWNFbmFibGVkJiYobi5pbmxpbmVNZXRyaWNFbmFibGVkPSEwKTtXLnBsYXliYWNrX3Byb2dyZXNzXzBzX3VybCYmKG4uVEk9bmV3IGVrdChXKSk7aWYoVz1XLnZpZGVvX21hc3RoZWFkX2FkX3F1YXJ0aWxlX3VybHMpbi5OZj1XLnF1YXJ0aWxlXzBfdXJsLG4uYmU9Vy5xdWFydGlsZV8yNV91cmwsbi56ND1XLnF1YXJ0aWxlXzUwX3VybCxuLm1EPVcucXVhcnRpbGVfNzVfdXJsLG4uV0g9Vy5xdWFydGlsZV8xMDBfdXJsLG4uRnI9Vy5xdWFydGlsZV8wX3VybHMsbi53Tj1XLnF1YXJ0aWxlXzI1X3VybHMsbi5DdD1XLnF1YXJ0aWxlXzUwX3VybHMsbi5vSD1XLnF1YXJ0aWxlXzc1X3VybHMsbi5BdD1XLnF1YXJ0aWxlXzEwMF91cmxzfTsKZy5LTD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXKUQuY3VlUmFuZ2VTZXRJZGVudGlmaWVyJiZuLmJOLnNldChELmN1ZVJhbmdlU2V0SWRlbnRpZmllcixELnBsYXllckN1ZVJhbmdlcz8/W10pfTsKZ3FaPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBudWxsO2ZvcihsZXQgVyBvZiBuKWlmKG49Vy5hZFBsYWNlbWVudFJlbmRlcmVyPy5yZW5kZXJlcj8udmlkZW9BZFRyYWNraW5nUmVuZGVyZXIpcmV0dXJuIG47cmV0dXJuIG51bGx9Owpsaj1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5zb3VyY2VDb25maWdzO249bi5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5jb21wb3NpdGVWaWRlb0NvbmZpZz8uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ7aWYoIVd8fCFXLmxlbmd0aClyZXR1cm4iIjtufHwobj1XWzBdLnZpZGVvSWR8fCIiKTtmb3IobGV0IEQgb2YgVylpZihELnZpZGVvSWQ9PT1uJiZELmF1ZGlvVHJhY2tzKWZvcihsZXQgYiBvZiBELmF1ZGlvVHJhY2tzKWlmKGIuaXNEZWZhdWx0Rm9yU291cmNlKXJldHVybiBiLmlkfHwiIjtyZXR1cm4iIn07ClhZaD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgIkVNQkVEREVEX1BMQVlFUl9MSVRFX01PREVfRklYRURfUExBWUJBQ0tfTElNSVQiOkQ+MzA/bi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0zMDpEPDMwJiZEPjEwJiYobi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0xMCk7YnJlYWs7Y2FzZSAiRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIjpuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPUQqLjJ9fTsKcWpoPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFchPW51bGw/bnkobi5LLFcpOm4uSz9uLks6bi55US5wcmVmZXJHYXBsZXNzJiZuLnlRLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKR05oPWZ1bmN0aW9uKG4pe3JldHVybiEhbiYmaXNGaW5pdGUobikmJm4+MUU5fTsKQ0w9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCkmJlRmKG4pPyExOmokKG4pJiYoZy5HbChuLnlRKT8hbi5pc0xpdmVQbGF5YmFjazpuLmhsc3ZwKXx8IWZOKCl8fG4uVVQ/ITA6ITF9OwpCaj1mdW5jdGlvbihuKXtuPWcub0Uobik7cmV0dXJuIE51bWJlcihuLmV4cGlyZSl8fDB9OwpGZT1mdW5jdGlvbihuKXt2YXIgVz1uLkcoKTtyZXR1cm4gbi55US5WPT09ImhtInx8bi55US5WPT09ImdkInx8Vy5leHBlcmltZW50cy5adCgpLk4uUVEodFMyKSYmbi55US5YJiZuLnlRLlYhPT0iZ2wiPyEwOiExfTsKSng9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUQuY2hhbm5lbFRodW1ibmFpbDtiJiYoYj1iLnRodW1ibmFpbHMpJiYoYj1iWzBdKSYmKFcucHJvZmlsZV9waWN0dXJlPWIudXJsKTtpZihiPWcudyhnLncoRD8uY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LCR0TSk/LnVybEVuZHBvaW50LGcuUGopKVcuY2hhbm5lbF9wYXRoPWIudXJsO2lmKGI9RC5jb2xsYXBzZWRSZW5kZXJlcilpZihiPWcudyhiLHIxcikpe2xldCB2PWIudGl0bGU7diYmKFcudGl0bGU9Zy5EcCh2KSk7aWYoYj1iLnN1YnRpdGxlKVcuc3VidGl0bGU9Zy5EcChiKX1pZihEPUQuZXhwYW5kZWRSZW5kZXJlcilpZihEPWcudyhELHNzQykpe2lmKGI9RC50aXRsZSlXLmV4cGFuZGVkX3RpdGxlPWcuRHAoYik7aWYoYj1ELnN1YnRpdGxlKVcuZXhwYW5kZWRfc3VidGl0bGU9Zy5EcChiKTtpZihEPUQuc3Vic2NyaWJlQnV0dG9uKW4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI9Zy53KEQsTmgxKSxuLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyJiYKKFcudWNpZD1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLmNoYW5uZWxJZCxXLnN1YnNjcmliZWQ9bi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5zdWJzY3JpYmVkLG4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmbi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uLnRvZ2dsZUJ1dHRvblJlbmRlcmVyJiYoVz1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24udG9nZ2xlQnV0dG9uUmVuZGVyZXIsVy5pc1RvZ2dsZWQ/KG4ubGU9Vy50b2dnbGVkU2VydmljZUVuZHBvaW50fHxudWxsLG4uWTA9Vy5kZWZhdWx0U2VydmljZUVuZHBvaW50fHxudWxsKToobi5sZT1XLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnR8fG51bGwsbi5ZMD1XLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnR8fG51bGwpKSl9fTsKdzY9ZnVuY3Rpb24obil7cmV0dXJuISFuLkR4fHwhIW4uTmZ8fCEhbi5Gcnx8ISFuLlRJfHxuLmZafTsKUDA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47aWYoKG4mMTA3KT09bil7dmFyIGg9YltJWzVdXTtEW0lba144MTgzXV0oZnVuY3Rpb24ocixOLEgpe3RoaXNbSVtrXjgxNTddXShIW05dPWJbKGJbSVtrXjgxNTNdXShyKS1iW0lba144MTUzXV0odGhpc1tOXSkrTitoLS0pJWJbSVs1XV1dKX0sdltJW2teODE3NV1dKElba144MTU4XSkpfWlmKChuXjcxKT49NiYmKG4tMiYxNik8MylhOnt2YXIgeD1nLncoRCxwWVopfHxEW0lba143NjZdXSxMPXt4aTohMSwKRWw6SVtrXjY3OF0seTc6SVtrXjY3OF0sczpJW2teNjc4XX07aWYoIXgpe3ZhciBlPUw7YnJlYWsgYX14PWcuaXcoeCk7TFtJW2teNzQzXV09ITA7TFtJW2teNjQ0XV09eFtJW2teNjg2XV07TFtJW2teNjY1XV09eFtJW2teNjc5XV07TFtJW2teNjQ4XV09eFtJW2teNjQ4XV07ZT1MfWlmKChuJjEyNik9PW4pYTp7TD1EW0lba143MjcxXV0oSVtrXjcyNTRdKTt4PVsvWy8sLTQsL11bfSxdXFsnLyxJW2teNzE4NF0sLShrXjE4MTg5Njc3MzgpLC0oa14zMzc1NjY4NzMpLGteOTg5NTU4NzU4LG51bGwsVVloLC0oa144MjEyMzQxMTApLGteODc1MzU2NTIyLC0oa145NDM2MTYyODUpLC0oa144MzYxOTg2MDIpLGteMTU5ODMxMjY5MixaODEsa143MDczMDE3OTAsa14xMTcyOTI1ODk4LG51bGwsa140MTk5NDUxMywtKGteMjc3NDM3NjUyKSxrXjE0MzEzMjI2NzcsRTJVLC0oa14xNDYyMzMwNzMxKSx4dlUsbnVsbCxrXjE2MDQ0MTY1LGteNDg4OTU0MTc0LGteODIyNTEwODUxLFlqWixMLEhXdCwKZmFpLG8yaiwtKGteMjAyOTQ4MDMyNyksa14xMjgxODQ0NjYsa142NjMwMjAxNDQsU0ExLC0oa14xMjYwMTUwODE1KSwtKGteMTM4NTgyODA1NiksLShrXjE2NjI1MTc4MzcpLGteMTQ3ODUyMTA0NCwkWWosa14xODcwOTA2Mjg1LGteODIyNTEwODUxLFN1eCwtKGteMTExOTIxMzExNCksLShrXjg3NDEwNjcxMCksa14yMDc2NDU3OTE4LGteMTc0Njc4MTY5NCxJW2teNzI0MF0sb1VqLGteMTM4NDIyNjkxNSxNQ2IsLShrXjE2MjA0NjE3NTYpLGteMTI3MjM0ODc2MCxJW2teNzI5NF0sLShrXjkxMjQ2MDk4MSksa14xODg3MTM4NTY5LEoxWixJW2teNzE3MV0sTCwtKGteMTg5NjQ1NTA0KSwtKGteMTM1NTU3MzkzMSksLShrXjE0MTE5OTc0MjkpLGteMTk0Mzk0NjQxMyxMLElhMixTalUsa14xODcwOTA2Mjg1LElba143MjkwXSxBMTEsa14xMDM5NzI3ODI1LGteOTQxOTgzMTg4LC0oa14xODUwNDM2ODczKSxJW2teNzE2OF0sa14yMTYzOTkwMjEsbXR4LC0oa140NjQ5MjEzOSldO3hbNV09Cng7eFtrXjcyNDRdPXg7eFtrXjcyNTNdPXg7aWYodHlwZW9mIEtHdD09PUlba143Mjc4XSl7ZT1EO2JyZWFrIGF9dHJ5e3RyeXt4W2teNzI1NV09PT0tMyYmKCgoMCx4W2teNzI1NF0pKHhba143MTczXSx4W2teNzI0NF0pLCgoMCx4W2teNzI4MV0pKHhba143MjU2XSwoMCx4W2teNzI5MV0pKCkseFtrXjcyOTBdKSx4W2teNzI4MV0pKHhba143Mjg5XSwoMCx4W2teNzI0N10pKCkseFtrXjcyOTBdKSx4W2teNzI2M10pKHhba143MjUzXSksMSl8fCgoMCx4W2teNzI1NF0pKHhba143MjUxXSx4W2teNzI1Nl0pLHhba143MjYxXSkoeFtrXjcyNzJdLHhba143MjkyXSk+PigoMCx4W2teNzI2M10pKHhba143MjU2XSl8KDAseFtrXjcxNzVdKSh4W2teNzI1Ml0seFs1XSkpfWNhdGNoKHIpeygwLHhba143MjU1XSkoeFtrXjcyODJdKX1maW5hbGx5e3ZhciBHPU0zKGteNzI1NyxrXjIxOTAseCl9dHJ5e0c9WEQoa143MjUzLGteNzgwMCx4KX1jYXRjaChyKXt4W2teNzE3OV0hPS0zJiYoKCgoMCx4W2teCjcyOTJdKSgoMCx4W2teNzI0N10pKHhba143MTc3XSx4W2teNzE3NF0pLHhba143MjgzXSx4W2teNzE2OF0pLCgwLHhba143MTY5XSkoeFs1XSx4W2teNzI0OV0pLHhba143MTgxXSkoeFtrXjcyNDBdLHhba143MjgyXSkseFszXSkoeFtrXjcyNzBdLHhba143MjY5XSkseFtrXjcyNzhdKSgoMCx4W2teNzI3N10pKHhba143MjYxXSx4W2teNzI1MF0pLHhba143MjQ4XSwoMCx4W2teNzI2NF0pKHhba143Mjg3XSx4W2teNzI0NF0pLHhba143MjgzXSx4W2teNzI3MV0pLHhba143MjYwXSE9PTAmJih4W2teNzE2OF08PS0zPygwLHhba143MjY0XSkoeFtrXjcyNjldLHhba143MTc3XSk6KDAseFtrXjcxNjldKSh4W2teNzI2OF0sKDAseFtrXjcyNThdKSgpLHhbNF0pKX1maW5hbGx5e3hba143MTczXSE9PTQmJih4W2teNzI0N108PS00PygwLHhba143Mjg5XSkoKCgwLHhba143Mjc5XSkoeFtrXjcxODNdLHhba143MjQ0XSkseFtrXjcyNjhdKSh4W2teNzE4M10seFtrXjcyNDVdKSx4W2teNzI0OV0sCigwLHhba143MjQzXSkoKDAseFtrXjcyNDhdKSh4W2teNzI1N10seFtrXjcyODJdKSx4W2teNzI2OF0seFtrXjcyNDJdLHhba143MTcyXSksKCgoKCgoMCx4W2teNzI5NF0pKHhba143MjgxXSx4W2teNzI0MF0pLHhba143Mjc1XSkoeFtrXjcxODddLHhba143MjYzXSkseFtrXjcyNTVdKSh4W2teNzE3N10sKDAseFtrXjcyNDJdKSgpLHhba143MjU2XSkseFtrXjcyNDldKSh4W2teNzI2Nl0seFtrXjcyOTNdKSx4W2teNzE3NV0pKCgwLHhba143MTgwXSkoeFtrXjcyNDhdLHhba143MjkzXSkseFtrXjcxNzNdLHhbMV0seFtrXjcyOTNdKSx4W2teNzI0OV0pKHhba143MTY4XSx4W2teNzI2M10pLCgwLHhba143Mjc1XSkoeFtrXjcyODhdLHhba143MjkzXSk8PSgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143Mjc5XSkoKSx4W2teNzI1MF0pLHhba143MTc2XSwoMCx4W2teNzE3Nl0pKHhba143MjUxXSx4W2teNzI2M10pLHhbMF0seFtrXjcxNzddKTooKCgwLHhba143MTgxXSkoKCgwLHhba14KNzE3Nl0pKHhba143MTY5XSx4W2teNzI2M10pLHhba143Mjc1XSkoeFtrXjcyOTFdLHhba143MjYzXSklKDAseFtrXjcxODJdKSh4W2teNzE3Ml0pLHhba143MjU1XSwoMCx4W2teNzE3Nl0pKHhbNF0seFtrXjcxNzJdKSx4W2teNzI5M10sKDAseFtrXjcyNzBdKSgpLHhba143MjU2XSksKDAseFtrXjcxODJdKSh4W2teNzI4MV0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pPT09KCgoMCx4W2teNzI1NV0pKHhba143MTc3XSwoMCx4W2teNzI1N10pKCkseFtrXjcyNTBdKSx4W2teNzI3NV0pKHhba143MjU5XSx4W2teNzE3MV0pLCgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143Mjc5XSkoKSx4W2teNzI1Nl0pXigwLHhba143Mjc1XSkoeFtrXjcyNzZdLHhba143MTcyXSksKDAseFtrXjcxNzVdKSgoMCx4W2teNzE3M10pKHhba143Mjc0XSx4W2teNzE3Ml0pLAp4W2teNzI1NV0seFtrXjcyOTNdLCgwLHhba143MjcwXSkoKSx4W2teNzI1MF0pLHhba143MTc2XSkoeFtrXjcyOTRdLHhba143MjYzXSkpfX1jYXRjaChyKXtlPUlba143MjgwXStEO2JyZWFrIGF9ZT1MW0lba143MjQ2XV0oSVtrXjcyNTRdKX0obl45MSk8MTYmJm4rMT4+Mz49MiYmKGVYKGteNjY0MixrXjE0ODksRCksZT1nLkRsKERbSVsxXV0sT1d0KSk7bis5Pj40Pj0zJiYobj4+MiYyNCk8MTImJmJbSVsyMl1dKEQpO3JldHVybiBlfTsKTXM9ZnVuY3Rpb24obil7cmV0dXJuISEobi5XJiZuLlcudmlkZW9JbmZvcyYmbi5XLnZpZGVvSW5mb3MubGVuZ3RoKX07CkFKPWZ1bmN0aW9uKG4pe3JldHVybiBuLk5QKCkmJm4uRygpLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKUlE9ZnVuY3Rpb24obil7dmFyIFc9WyJNVVNJQ19WSURFT19UWVBFX0FUViIsIk1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIl0sRD1sbyhuLnlRKT09PSJUVkhUTUw1X1NJTVBMWSImJm4ueVEuTi5jdGhlbWU9PT0iTVVTSUMiOyFuLkpnJiYoZy5NVihuLnlRKXx8dHUobi55USl8fEQpJiYoVy5pbmNsdWRlcyhuLm11c2ljVmlkZW9UeXBlKXx8bi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0KSYmKG4uSmc9ITApO2lmKFc9Zy5kOCgpKVc9L1N0YXJib2FyZFwvKFswLTldKykvLmV4ZWMoZy5YUSgpKSxXPShXP3BhcnNlSW50KFdbMV0sMTApOk5hTik8MTA7RD1odShuLnlRKSYmbi55US5OLmN0aGVtZT09PSJNVVNJQyI7dmFyIGI7aWYoYj0hbi5KZylEfHwoRD1uLnlRLEQ9bG8oRCk9PT0iVFZIVE1MNSImJkQuTi5jdmVyLnN0YXJ0c1dpdGgoIjciKSksYj1EO2ImJiFXJiYoVz1uLm11c2ljVmlkZW9UeXBlPT09Ik1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIiwKRD0obi5TKCJjYXN0X3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKXx8bi5TKCJrYWJ1a2lfcGFuZ2VhX3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKSkmJm4ubXVzaWNWaWRlb1R5cGU9PT0iTVVTSUNfVklERU9fVFlQRV9BVFYiLFd8fER8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCkmJihuLkpnPSEwKTtyZXR1cm4gbi55US5kZXZpY2VJc0F1ZGlvT25seXx8bi5KZyYmbi55US5LfTsKUXo9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuUygiaHRtbDVfZGlzYWJsZV9hdjEiKT8hMDohMX07Ck5JPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5jb21wb3NpdGVCcm9hZGNhc3RUeXBlPT09IkNPTVBPU0lURV9CUk9BRENBU1RfVFlQRV9DT01QUkVTU0VEX0RPTUFJTl9DT01QT1NJVEUifTsKVno9ZnVuY3Rpb24obil7dmFyIFc9bi5LO24uUygiaHRtbDVfZ2FwbGVzc191bmxpbWl0X2Zvcm1hdF9zZWxlY3Rpb24iKSYmQUoobikmJihXPSExKTt2YXIgRD0hIW4uTiYmbi5OLnpXO1c9VThaKG4ueVEse21WOm4ubVYoKSx5WDpELE93OlJRKG4pLEhpOm4uSGksbFU6Vyxpc090ZjpuLmlzT3RmKCksb0w6bi5vTCgpLElSOm4uSVIseGQ6bi5nZXRVc2VyQXVkaW81MVByZWZlcmVuY2UoKSxkaXNhYmxlQXYxOlF6KG4pLGRCOk5JKG4pfSk7Zy5ZTihuKSYmKFcudlg9ITApO3pRKCkmJm4ucGxheWVyUmVzcG9uc2UmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnJiZuLnBsYXllclJlc3BvbnNlLnBsYXllckNvbmZpZy53ZWJQbGF5ZXJDb25maWcmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnLndlYlBsYXllckNvbmZpZy51c2VDb2JhbHRUdm9zRG9nZm9vZEZlYXR1cmVzJiYoVy5qPSEwLFcuVj0hMCk7bi5LJiZuLmlzQWQoKSYmKG4uWXImJihXLk89bi5Zciksbi5TViYmCihXLlg9bi5TVikpO24uTlAoKSYmKFcuUyQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzIikpO1cubnU9bi5pc0xpdmVQbGF5YmFjayYmbi5NaSgpJiZuLnlRLlMoImh0bWw1X2RybV9saXZlX2F1ZGlvXzUxIik7Vy5iZD1uLkVUO24uUygiaHRtbDVfZGlzYWJsZV92cDlfaGRyX2ZhaXJwbGF5IikmJnpRKCkmJihXLmJkPSEwKTtXLlJhPSFnLllOKG4pO1cuVEM9IWcuWU4obikmJm4ueVEuZXhwZXJpbWVudHMuWnQoKS5OLlFRKFByaSk7cmV0dXJuIG4uZSQ9V307ClV0TT1mdW5jdGlvbihuKXtnLmFMKCJkcm1fcGJfcyIsdm9pZCAwLG4uelIpO24uQ2l8fG4uTiYmbi5OLlgoKTt2YXIgVz17fTtuLk4mJihXPU5kKG4ueXcsVnoobiksbi55US5XLG4uTixEPT5uLldKKCJjdG1wIiwiZm10Zmx0IixEKSwhMCxuZXcgU2V0KSk7Clc9bmV3IFpXUyhXLG4ueVEsbi5KaixuLnVzZUNvYmFsdFdpZGV2aW5lP3pRKCk/VGYobik6ITE6ITEsKEQsYik9PntuLlUoRCxiKX0pOwpnLnUobixXKTtuLlEkPSExO24ubG9hZGluZz0hMDtkOGkoVyxEPT57Zy5hTCgiZHJtX3BiX2YiLHZvaWQgMCxuLnpSKTtmb3IodmFyIGIgb2YgRClzd2l0Y2goYi5mbGF2b3Ipe2Nhc2UgImZhaXJwbGF5IjpiLkNpPW4uQ2k7Yi5WOT1uLlY5O2Iuamk9bi5qaTticmVhaztjYXNlICJ3aWRldmluZSI6Yi5GYz1uLkZjfW4uVFE9RDtpZihuLlRRLmxlbmd0aD4wJiYobi5qPW4uVFFbMF0sbi55US5XWCgpKSl7RD17fTtmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMobi5qLkopKXtiPWs7bGV0IGg9InVuayIseD12Lm1hdGNoKC8oLiopY29kZWNzPSIoLiopIi8pO3gmJihoPXhbMl0pO0RbaF09Yn1uLlUoImRybVByb2JlIixEKX1mTChuKX0pfTsKY2o9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz0hIW4uY290bilXPW4udmlkZW9JZCxXPSEhVyYmZSQoVyk9PT0xO3JldHVybiBXJiYhbi5XaX07CnkxaD1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5zdHJlYW1pbmdEYXRhPy5hZGFwdGl2ZUZvcm1hdHN8fFtdLEQ9bnVsbDtpZihXLmxlbmd0aD4wKUQ9YVEobixXKTtlbHNlIGlmKCFuLlMoImh0bWw1X2RlcHJlY2F0ZV9hZGFwdGl2ZV9mb3JtYXRzX3N0cmluZyIpKXtuLlUoInBhZm10c3RyIix7czpuLmFkYXB0aXZlRm9ybWF0cy5zdWJzdHJpbmcoMCw1MCl9KTtpZigoVz1uLmFkYXB0aXZlRm9ybWF0cykmJiFqJChuKSl7bi55US5XLkomJihSbz0hMCk7Vz1uQShXKTtEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9czVVKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaD8uZXhwZXJpbWVudHMsITApO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLlc9IWs7Yi5pc0xpdmU9IWs7Yi5YZz1rO2ZvcihHIG9mIFcpe3Y9SW8oRywKRCwwLGgseCk7TD1SeChHLnVybCxHLnNwLEcucyk7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aD8uZXhwZXJpbWVudHM/LkVxKCJodG1sNV9tYXhfa25vd25fZW5kX3RpbWVfcmViYXNlIik7bGV0IHI9TnVtYmVyKEcudGFyZ2V0X2R1cmF0aW9uX3NlYyl8fDUsTj1OdW1iZXIoRy5tYXhfZHZyX2R1cmF0aW9uX3NlYyl8fDE0NDAwLEg9TnVtYmVyKEwuZ2V0KCJtaW5kc3EiKXx8TC5nZXQoIm1pbl9zcSIpfHwiMCIpLEE9TnVtYmVyKEwuZ2V0KCJtYXhkc3EiKXx8TC5nZXQoIm1heF9zcSIpfHwiMCIpfHxJbmZpbml0eTtiLkl0PWIuSXR8fEg7Yi5IUD1iLkhQfHxBO2xldCB5PSF2Lk4oKTtMJiYkZyhiLG5ldyBXVChMLHYse3JiOnIsT1Q6eSx1YjpOLEl0OkgsSFA6QSx1azozMDAsWGc6ayxFMzplfSkpfXZhciBHPWJ9ZWxzZSBHPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/TnBqKFcsRCxiLGgseCk6cEpiKFcsRCxiLGgseCk7Vy5sZW5ndGg+CjAmJihXPVdbMF0sRmUobikmJlcudXJsJiYobi5SYT1uLlJhfHxCaihXLnVybCkpKTtXPW4uaXNMaXZlUGxheWJhY2smJiFuLlhnJiYhbi5SSSYmIW4uaXNQcmVtaWVyZTtuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiYoIWcuRFAobikmJlcmJm4uVSgibWlzc2luZ0xpdmVIZWFkUGxheWFibGUiLHt9KSxuLnlRLlY9PT0ieXQiJiYoRy5WUT0hMCkpO0Q9R31lbHNlIEQ9bnVsbDtuLlUoInBhZm10cyIse2lzTWFuaWZlc3RGaWxsZWQ6ISFEfSl9aWYoIUQpcmV0dXJuITE7YkYobixEKTtyZXR1cm4hMH07Ckk0PWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uTnx8IW4uTi5pc01hbmlmZXN0bGVzcyl9OwpnLkRQPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiZJNChuKSYmbi55US5WPT09Inl0Ij9uLmlzTGl2ZUhlYWRQbGF5YWJsZTpuLmlzTGl2ZVBsYXliYWNrfTsKYVE9ZnVuY3Rpb24obixXKXtpZihXLmxlbmd0aD09PTB8fGokKG4pKXJldHVybiBudWxsO24ueVEuVy5KJiYoUm89ITApO3ZhciBEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9cXVqKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaC5leHBlcmltZW50cywhMCk7Yi5XPSFrO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLmlzTGl2ZT0haztiLlhnPWs7Zm9yKGxldCBHIG9mIFcpe3Y9dFooRyxELDAsaCx4KTtsZXQge0VsOnIsczpOLHk3Okh9PVAwKDUsNjk0LEcpO0w9Ungocnx8Ry51cmx8fCIiLEgsTik7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aC5leHBlcmltZW50cz8uRXEoImh0bWw1X21heF9rbm93bl9lbmRfdGltZV9yZWJhc2UiKTtsZXQgQT1OdW1iZXIoRy50YXJnZXREdXJhdGlvblNlY3x8CjUpLHk9TnVtYmVyKEcubWF4RHZyRHVyYXRpb25TZWN8fDE0NDAwKSxUPU51bWJlcihMLmdldCgibWluZHNxIil8fEwuZ2V0KCJtaW5fc3EiKXx8IjAiKSx6PU51bWJlcihMLmdldCgibWF4ZHNxIil8fEwuZ2V0KCJtYXhfc3EiKXx8IjAiKXx8SW5maW5pdHk7Yi5JdD1iLkl0fHxUO2IuSFA9Yi5IUHx8ejtsZXQgQz0hdi5OKCk7TCYmJGcoYixuZXcgV1QoTCx2LHtyYjpBLE9UOkMsdWI6eSxJdDpULEhQOnosdWs6MzAwLFhnOmssRTM6ZX0pKX1EPWJ9ZWxzZSBEPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/RzNDKFcsRCxiLGgseCk6dE9aKFcsRCxiLGgseCk7Vy5sZW5ndGg+MCYmKFc9V1swXSxGZShuKSYmVy51cmwmJihuLlJhPW4uUmF8fEJqKFcudXJsKSkpO1c9bi5pc0xpdmVQbGF5YmFjayYmIW4uWGcmJiFuLlJJJiYhbi5pc1ByZW1pZXJlO24uUygiaHRtbDVfbGl2ZV9oZWFkX3BsYXlhYmxlIikmJighZy5EUChuKSYmVyYmbi5VKCJtaXNzaW5nTGl2ZUhlYWRQbGF5YWJsZSIsCnt9KSxuLnlRLlY9PT0ieXQiJiYoRC5WUT0hMCkpO3JldHVybiBEfTsKbkE9ZnVuY3Rpb24obixXKXtuPXV3KG4pO3ZhciBEPXt9O2lmKFcpZm9yKHZhciBiIG9mIFcuc3BsaXQoIiwiKSkoVz1iLm1hdGNoKC9eKFswLTldKylcLyhbMC05XSspeChbMC05XSspKFwvfCQpLykpJiYoRFtXWzFdXT17d2lkdGg6V1syXSxoZWlnaHQ6V1szXX0pO2ZvcihsZXQgdiBvZiBuKWlmKGI9RFt2Lml0YWddKXYud2lkdGg9Yi53aWR0aCx2LmhlaWdodD1iLmhlaWdodDtyZXR1cm4gbn07CmJGPWZ1bmN0aW9uKG4sVyxEPSExKXtuLmVWPXZvaWQgMDtuLk49VztnLnUobixXKTtXLkl0PW4uSXQ7Vy5IUD1uLkhQO1cuSlU9bi5KVTtXLm9SPW4ub1I7Vy5JVD1uLklUO24ubEMmJihXLlk9bmV3IHZUKG4ubEMpKTsobi5tVigpfHxnLmtwKG4pKSYmbi5JSi5wdXNoKCJ3ZWJnbCIpO24uTi5pc0xpdmV8fChuLmlzTGl2ZVBsYXliYWNrPSExKTt2YXIgYj1XLnNvdXJjZVVybC5zcGxpdCgiLyIpO2lmKG4uVlE/Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT09LTE6Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT0tMSluLnptPU51bWJlcihiW2IuaW5kZXhPZigibWFuaWZlc3RfZHVyYXRpb24iKSsxXSk7aWYoVy5XfHxXLmlzTWFuaWZlc3RsZXNzKVcuc3Vic2NyaWJlKCJjbGllbnR0ZW1wIixuLlUsbiksRD9XLnN1YnNjcmliZSgicmVmcmVzaCIsbi5QSCxuKTpXLnN1YnNjcmliZSgiY3VlcG9pbnRzYWRkZWQiLG4uRVosbik7Vy5YKCk/bi5RJD0hMDpHTD12b2lkIDA7Cm4uUkkmJihXLmlzV2luZG93ZWRMaXZlPW4uUkksVy5pc0xpdmU9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk7Vy5pc1ByZW1pZXJlPW4uaXNQcmVtaWVyZTtXLmlzTGl2ZUhlYWRQbGF5YWJsZT1uLmlzTGl2ZUhlYWRQbGF5YWJsZX07ClRmPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X3R2b3Nfc2tpcF9kYXNoX2F1ZGlvX2NoZWNrIil8fE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicpfTsKaiQ9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCk/IVRmKG4pOkMkKCk/bi5DaSYmbi5jTz8hMDohKCFuLkNpfHwhbi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJmZOKCkpOiExfTsKU3g9ZnVuY3Rpb24obil7cmV0dXJuIG4ubGF0ZW5jeUNsYXNzPT09IkxPVyJ8fG4ubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIn07CmhEPWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRP1N4KG4pJiZuLk4hPW51bGwmJm9vKG4uTik+PTU6U3gobikmJm4uTiE9dm9pZCAwJiZvbyhuLk4pPj01fTsKRXFoPWZ1bmN0aW9uKG4pe24ubG9hZGluZz0hMDtuLkN1PSExO2lmKGNqKG4pKUIkeChuLnZpZGVvSWQpLnRoZW4oYj0+e2lmKG4ucGxheWVyUmVzcG9uc2U/LnN0cmVhbWluZ0RhdGEpe3ZhciB2PVtdO2ZvcihsZXQgayBvZiBiKWI9T2JqZWN0LmFzc2lnbih7fSxrKSxiLnNpZ25hdHVyZUNpcGhlcj0iIix2LnB1c2goYik7di5sZW5ndGg8MiYmbi5VKCJvZmZtbGYiLHtsZW46di5sZW5ndGh9KTt2PWFRKG4sdik7UlEobikmJnp4KHYsITEpO2JGKG4sdik7bi5VKCJkbHIiLHt9KX1lbHNlIG4uVSgib2Zmc2RtIix7Y290bjpuLkNtP24uQ20uY290bjoiMCIsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pfSkudGhlbigoKT0+e2ZMKG4pfSk7CmVsc2V7Z1gobi5UZil8fGcuR3EobmV3IGcuUXgoIkRBU0ggTVBEIE9yaWdpbiBpbnZhbGlkOiAiLG4uVGYpKTt2YXIgVz1uLlRmLEQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJkYXNoX21hbmlmZXN0X3ZlcnNpb24iKXx8NDtXPWcuRVQoVyx7bXBkX3ZlcnNpb246RH0pO1N4KG4pJiZuLmxhdGVuY3lDbGFzcyE9PSJOT1JNQUwifHwoVz1nLkVUKFcse3BhY2luZzowfSkpO2Z0WihXLG4ueVEuZXhwZXJpbWVudHMsbi5pc0xpdmVQbGF5YmFjaykudGhlbihiPT57bi5xTigpfHwoYkYobixiLCEwKSxnLmFMKCJtcmMiLHZvaWQgMCxuLnpSKSxmTChuKSl9LGI9PntuLnFOKCl8fChuLmxvYWRpbmc9ITEsbi5XSigiZGF0YWxvYWRlcnJvciIsbmV3IGcuQ2koIm1hbmlmZXN0Lm5ldC5yZXRyeWV4aGF1c3RlZCIse2JhY2tlbmQ6Im1hbmlmZXN0IiwKcmM6Yi5zdGF0dXN9LDEpKSl9KTsKZy5hTCgibXJzIix2b2lkIDAsbi56Uil9fTsKeHA9ZnVuY3Rpb24obil7aWYoIW4uaXNQcm94aW1hTGF0ZW5jeUVsaWdpYmxlKXJldHVybiAwO3ZhciBXPVlkKCk7cmV0dXJuIG4ueVEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmFibGVQcm94aW1hTG93TGF0ZW5jeT8yOlc9PT0xPzE6bi5TKCJodG1sNV9lbmFibGVfcHJveGltYSIpPzI6MH07Ckt6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUyhXKT8hMDoobi5mZmxhZ3N8fCIiKS5pbmNsdWRlcyhXKyI9dHJ1ZSIpfTsKaVdTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8Q0wobil8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdDtpZighbi5OfHxEKXJldHVybiBuLlUoInNraXBEYXNoIix7ZG06ISFuLk4sYWlyOlcsZGQ6bi5VVCxtc3M6Zk4oKSwiM3BwIjpuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3R9KSxnLnAkKCk7UlEobikmJnp4KG4uTixuLmlzTGl2ZVBsYXliYWNrKTtyZXR1cm4gZy5IMCgpLnRoZW4oKCk9PlMyYihuLnl3LFZ6KG4pLG4ueVEuVyxuLk4sbi5qLGI9Pm4uV0ooImN0bXAiLCJmbXRmbHQiLGIpLG4ub00sTEEobikpLnRoZW4oYj0+e2U3KG4sYik7Cm4ueXcuSj1udWxsOy9eYXYvLnRlc3Qobi5jbGllbnRQbGF5YmFja05vbmNlKSYmbi5lJCYmbi5VKCJhdjEiLG4uZSQuTil9KSl9Owp1bXQ9ZnVuY3Rpb24obixXKXtpZihXJiZuLmhsc3ZwKXJldHVybiBnLnAkKCk7aWYobi5obHNGb3JtYXRzKXtpZihXPW5BKG4uaGxzRm9ybWF0cykpe2xldCBiPVtdO2Zvcih2YXIgRCBvZiBXKUQudXJsJiYoRC51cmw9Vm10KEQudXJsKSksbi5lJD8uVyYmYi5wdXNoKEQuaXRhZyk7bi5lJD8uVyYmYi5sZW5ndGg+MCYmbi5VKCJobHNmbXQiLHtpdGFnczpiLmpvaW4oIi4iKX0pfW4ueUU9Z1laKG4ueVEsVyk7bi55RSYmZ2wobixuLnlFKTtEPW4uY2xpZW50UGxheWJhY2tOb25jZTtyZXR1cm4gdG1NKG4ueVEsbi5pc0FkKCksVyxuLnBsYXllclJlc3BvbnNlPy5jYXB0aW9ucz8ucGxheWVyQ2FwdGlvbnNSZW5kZXJlcj8uYmFzZVVybD8/bnVsbCxuLkdmLEQsYj0+bi5XSigiY3RtcCIsImhsc2ZsdCIsYikpLnRoZW4oYj0+e3ZhciB2PTAsaz1bXTsKZm9yKGxldCBoIG9mIGIpay5wdXNoKGgua0woKT8uaXRhZyksaC5rTCgpPy5ZKCk/Lm51bUNoYW5uZWxzPnYmJih2PWgua0woKS5hdWRpby5udW1DaGFubmVscyk7dj4yJiZuLlUoImhsc2NobCIse21uOnZ9KTtuLmUkPy5XJiZuLlUoImhsc2ZtdGFmIix7aXRhZ3M6ay5qb2luKCIuIil9KTtpZihuLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5qPy5OKCkpe24uVSgiZHJtIix7c2JkbGZiazoxfSk7Zm9yKGxldCBoIG9mIG4uVFEpaWYoZzEoaCkpe24uaj1oO2JyZWFrfX1YMihuLGIpfSl9cmV0dXJuIGcucCQoKX07Cm9xMT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QmJm4uY2Ype2xldCBXPW5BKG4uY2YpO2lmKCFXWzBdKXJldHVybiBnLnAkKCk7bi5xdz1XWzBdO3JldHVybiBzaXIobi55USxXWzBdKS50aGVuKEQ9PntYMihuLEQpfSl9cmV0dXJuIG4uUXImJm4ub2M/cnFaKG4ueVEsbi5pc0FkKCksbi5RcikudGhlbihXPT57WDIobixXKX0pOmcucCQoKX07CnprVT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QpcmV0dXJuIGcucCQoKTt2YXIgVz1uQShuLmNmLG4uR2opO2lmKG4uaGxzdnApe2xldCBEPVFpMihuLmhsc3ZwLG4uY2xpZW50UGxheWJhY2tOb25jZSxuLkdmKTtXLnB1c2goRCl9cmV0dXJuIGpDaChuLnlRLG4uaXNBZCgpLFcsZHQxKG4pKS50aGVuKEQ9PntYMihuLEQpfSl9OwpMQT1mdW5jdGlvbihuKXt2YXIgVz1uLlMoImh0bWw1X2VuYWJsZV9zZXJ2ZXJfZm9ybWF0X2ZpbHRlciIpJiYhbi5NaSgpLEQ9bi5TKCJodG1sNV9lbmFibGVfc2VydmVyX2Zvcm1hdF9maWx0ZXJfZm9yX2RybSIpJiZuLk1pKCk7cmV0dXJuIGcuWU4obikmJihXfHxEKX07CmU3PWZ1bmN0aW9uKG4sVyl7bi5XPVc7Z2wobixuLlcuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKSk7aWYobi5XKWZvcih2YXIgRCBvZiBuLlcudmlkZW9JbmZvcylXPUQuY29udGFpbmVyVHlwZSxXIT09MCYmKG4uYkJbV109RC5pZCk7RD1uLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7RD1ELmNvbmNhdChuLnZYKTtmb3IoVz0wO1c8bi5Udy5sZW5ndGg7VysrKXtsZXQgdj1uLlR3W1ddO2ZvcihsZXQgaz0wO2s8RC5sZW5ndGg7aysrKXtsZXQgaD1EW2tdO3ZhciBiPWgua1ouaWQ9PT12LmF1ZGlvVHJhY2tJZDtpZihoLmtaLmlzRGVmYXVsdCYmVz09PW4uTyR8fGIpe2lmKHYuY2FwdGlvblRyYWNrSW5kaWNlcylmb3IoYj0wO2I8di5jYXB0aW9uVHJhY2tJbmRpY2VzLmxlbmd0aDtiKyspaC5jYXB0aW9uVHJhY2tzW2JdPW4uY2FwdGlvblRyYWNrc1t2LmNhcHRpb25UcmFja0luZGljZXNbYl1dO3YuZGVmYXVsdENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5XPW4uY2FwdGlvblRyYWNrc1t2LmRlZmF1bHRDYXB0aW9uVHJhY2tJbmRleF0pOwp2LmZvcmNlZENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5OPW4uY2FwdGlvblRyYWNrc1t2LmZvcmNlZENhcHRpb25UcmFja0luZGV4XSk7aC5KPXYudmlzaWJpbGl0eXx8IlVOS05PV04iO2guY2FwdGlvbnNJbml0aWFsU3RhdGU9di5jYXB0aW9uc0luaXRpYWxTdGF0ZXx8IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiJ9fX1pZihuLmomJm4uVyYmbi5XLnZpZGVvSW5mb3MmJiEobi5XLnZpZGVvSW5mb3MubGVuZ3RoPD0wKSYmKEQ9bi5XLnZpZGVvSW5mb3NbMF0uVygpLG4uai5mbGF2b3I9PT0iZmFpcnBsYXkiIT09RCkpZm9yKGxldCB2IG9mIG4uVFEpaWYoRD09PSh2LmZsYXZvcj09PSJmYWlycGxheSIpKXtuLmo9djticmVha319OwpnbD1mdW5jdGlvbihuLFcpe1cuc29ydCgoRCxiKT0+RC50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUoYi50b1N0cmluZygpLG4ueVEuaG9zdExhbmd1YWdlKSl9OwpYMj1mdW5jdGlvbihuLFcpe24ubnU9VztlNyhuLG5ldyBwZyhnLmlfKG4ubnUsRD0+RC5rTCgpKSkpfTsKZHQxPWZ1bmN0aW9uKG4pe3ZhciBXPXtjcG46bi5jbGllbnRQbGF5YmFja05vbmNlLGM6bi55US5OLmMsY3ZlcjpuLnlRLk4uY3Zlcn07bi54eiYmKFcucHRrPW4ueHosVy5vaWQ9bi5YbyxXLnB0Y2huPW4uaDEsVy5wbHR5cGU9bi5xOCxuLnk5JiYoVy5tPW4ueTkpKTtyZXR1cm4gV307CmcucXU9ZnVuY3Rpb24obil7cmV0dXJuIGokKG4pJiZuLkNpP3tmYWlycGxheToiaHR0cHM6Ly95b3V0dWJlLmNvbS9hcGkvZHJtL2Zwcz9laz11bmluaXRpYWxpemVkIn06bi5KJiZuLkouY29udGVudFByb3RlY3Rpb258fG51bGx9OwpHZT1mdW5jdGlvbihuKXtyZXR1cm4gbi5wbGF5ZXJSZXNwb25zZSYmbi5wbGF5ZXJSZXNwb25zZS5wYWlkQ29udGVudE92ZXJsYXkmJm4ucGxheWVyUmVzcG9uc2UucGFpZENvbnRlbnRPdmVybGF5LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfHxnLncobi53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8ucGxheWVyRGlzY2xvc3VyZSxsYVMpfHxudWxsfTsKdEQ9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcudGV4dD9nLkRwKFcudGV4dCk6bi5wYWlkQ29udGVudE92ZXJsYXlUZXh0fTsKJHA9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcuZHVyYXRpb25Ncz9nLk5oKFcuZHVyYXRpb25Ncyk6bi5wYWlkQ29udGVudE92ZXJsYXlEdXJhdGlvbk1zfTsKcmw9ZnVuY3Rpb24obil7dmFyIFc9IiI7aWYobi51aClyZXR1cm4gbi51aDtuLmlzTGl2ZVBsYXliYWNrJiYoVz1uLmFsbG93TGl2ZUR2cj8iZHZyIjpuLmlzUHJlbWllcmU/ImxwIjpuLlJJPyJ3aW5kb3ciOiJsaXZlIik7bi5YZyYmKFc9InBvc3QiKTtyZXR1cm4gV307Cmcuc1M9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIG4ua2V5d29yZHNbV10hPT0ic3RyaW5nIj9udWxsOm4ua2V5d29yZHNbV119OwpnLllMPWZ1bmN0aW9uKG4pe3JldHVybiEhKG4uVGZ8fG4uY2Z8fG4uUXJ8fG4uaGxzdnB8fG4uSXAoKSl9OwpBeD1mdW5jdGlvbihuKXtyZXR1cm4obj1uLlJ0KSYmbi5zaG93RXJyb3I/bi5zaG93RXJyb3I6ITF9OwpOdT1mdW5jdGlvbihuKXtuLm11dGVkQXV0b3BsYXk9ITE7bi5lbmRTZWNvbmRzPU5hTjtuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPU5hTjt6ZihuKX07CmcucEE9ZnVuY3Rpb24obil7cmV0dXJuIGcuRFAobikmJiFuLmFsbG93TGl2ZUR2cn07CllwPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRQKG4pJiZuLmFsbG93TGl2ZUR2cn07CmcuSFQ9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJks2KG4uTil9OwpnLmZBPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZPayhuLk4pfTsKZy5rcD1mdW5jdGlvbihuKXtyZXR1cm4hIW4uTiYmSiRVKG4uTil9OwpnLkpEPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZQRihuLk4pfTsKSVQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uYWRGb3JtYXQmJihuLlZRP24uYWRGb3JtYXQhPT0iMV81IjpuLmFkRm9ybWF0IT0iMV81Iik/ImFkdW5pdCI6bi5ldmVudExhYmVsfHxuLnlRLll9OwpnLlM3PWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJzaG9ydHNwYWdlIn07CkFEPWZ1bmN0aW9uKG4pe3JldHVybiBuLkd1fHxJVChuKT09PSJkZXRhaWxwYWdlInx8SVQobik9PT0ic2hvcnRzcGFnZSJ8fG4ubXV0ZWRBdXRvcGxheX07CmlUPWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJhZHVuaXQiP24uVlQ6QUQobik/SVQobik9PT0iZGV0YWlscGFnZSJ8fElUKG4pPT09InNob3J0c3BhZ2UiP24uaXNBdXRvbmF2fHxuLlMkPjA6bi5mQj8hMTpuLnlRLlU1fHxuLnlRLk1kfHwhZy5vNChuLnlRKT8hMDohMToobi5mQj8wOm4uUFgpJiZnLm80KG4ueVEpPyEwOiExfTsKZy5tTz1mdW5jdGlvbihuKXtyZXR1cm4gbi56VygpJiZnLllOKG4pfTsKcHo9ZnVuY3Rpb24obil7cmV0dXJuISFuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/Lm1lZGlhQ29tbW9uQ29uZmlnPy5zcGxpdFNjcmVlbkVsaWdpYmxlfTsKS0E9ZnVuY3Rpb24obil7cmV0dXJuIGlzTmFOKG4pPzA6TWF0aC5tYXgoKERhdGUubm93KCktbikvMUUzLTMwLDApfTsKT1M9ZnVuY3Rpb24obil7cmV0dXJuISghbi5XaXx8IW4ueVEuSykmJm4uSXAoKX07ClBUPWZ1bmN0aW9uKG4pe3JldHVybiBuLktkJiZuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpfTsKVGhpPWZ1bmN0aW9uKG4pe3JldHVybiBuLkRFJiYhbi5sQ307CmNxeD1mdW5jdGlvbihuKXtzd2l0Y2gobi55US5WKXtjYXNlICJnZCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fZHJpdmUiKTtjYXNlICJncCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fcGxheV9zdG9yZSIpO2Nhc2UgImRkIjpyZXR1cm4hMDtjYXNlICJwdyI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpO2RlZmF1bHQ6cmV0dXJuITF9fTsKcEw9ZnVuY3Rpb24obil7dmFyIFc7aWYoIShXPU5zJiZuLnpXKCkmJm4uTWkoKSYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCkmJm4uUygiaHRtbDVfc2Ficl9saXZlX2RybV9zdHJlYW1pbmdfeGhyIikpKXtXPW4uelcoKSYmIW4uTWkoKSYmTnM7dmFyIEQ9bi56VygpJiZuLmxhdGVuY3lDbGFzcyE9PSJVTFRSQUxPVyImJiFTeChuKSYmbi5TKCJodG1sNV9zYWJyX2xpdmVfbm9ybWFsX2xhdGVuY3lfc3RyZWFtaW5nX3hociIpLGI9U3gobikmJm4uUygiaHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtsZXQgdj1uLmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyImJm4uUygiaHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtXPVcmJihEfHxifHx2KX1EPVc7Vz1uLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZEJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3NzZGFpX3N0cmVhbWluZ194aHIiKTtEPSFuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYKRDtiPW4uelcoKSYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX2xpdmVfbm9uX3N0cmVhbWluZ194aHIiKTtuPU5zJiYobi5ERigpfHxweihuKSYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl9mb3JfbGlmYV9lbGlnaWJsZV9zdHJlYW1zIikpO3JldHVybiBXfHxEfHxifHxufTsKZy5tTT1mdW5jdGlvbihuKXtpZighbi5OfHwhbi5KfHwhbi5YKXJldHVybiExO3ZhciBXPW4uTi5OLEQ9ISFXW24uSi5pZF0mJmdaKDU2LDExOTYsV1tuLkouaWRdLlhiLk4pO1c9ISFXW24uWC5pZF0mJmdaKDIyLDExNTQsV1tuLlguaWRdLlhiLk4pO3JldHVybihuLkouaXRhZz09PSIwInx8RCkmJld9OwpaUD1mdW5jdGlvbihuKXtyZXR1cm4gbi5lQj9bIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKG4uZUIuc3RhdHVzKTohMH07ClVTPWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uaXNMaXZlUGxheWJhY2t8fCFuLmhhc1Byb2dyZXNzQmFyQm91bmRhcmllcygpKX07CnlVPWZ1bmN0aW9uKG4pe3JldHVybiBuLnlRLmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqc1opJiZuLk5QKCl8fG4uUygiZW5hYmxlX3BsYXllcl9yZXNwb25zZV9jYWNoZV9mb3JfbGl2ZSIpfTsKRVM9ZnVuY3Rpb24obil7cmV0dXJuISFuLmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckZsYWdzPy5lbmFibGVNdXNpY1V4fTsKaUY9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuSiYmbi5pc1ByaXZhdGV9OwpnLm9UPWZ1bmN0aW9uKG4pe3ZhciBXPW4uRygpLEQ9dUYoVyksYj1XLlFyO2cuQ04oVykmJihiJiYoRC50aGlyZFBhcnR5PXsuLi5ELnRoaXJkUGFydHksZW1iZWRVcmw6Yn0pLGcuRW4oRCxuKSk7KGI9bi50dyk/RC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmJ9OmcuQ04obi5HKCkpJiZnLkFyKCJFVkVOVF9JRCIpJiYoRC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmcuQXIoIkVWRU5UX0lEIil9KTtiPUQuY2xpZW50fHx7fTt2YXIgdj0iRU1CRUQiLGs9SVQobik7az09PSJsZWFuYmFjayI/dj0iV0FUQ0giOlcuUygiZ3ZpX2NoYW5uZWxfY2xpZW50X3NjcmVlbiIpJiZrPT09InByb2ZpbGVwYWdlIj92PSJDSEFOTkVMIjpuLklSP3Y9IkxJVkVfTU9OSVRPUiI6az09PSJkZXRhaWxwYWdlIj92PSJXQVRDSF9GVUxMX1NDUkVFTiI6az09PSJhZHVuaXQiP3Y9IkFEVU5JVCI6az09PSJzcG9uc29yc2hpcHNvZmZlciImJih2PSJVTktOT1dOIik7Yi5jbGllbnRTY3JlZW49CnY7aWYodj1uLmtpZHNBcHBJbmZvKWIua2lkc0FwcEluZm89SlNPTi5wYXJzZSh2KTsoaz1uLkFtKSYmIXYmJihiLmtpZHNBcHBJbmZvPXtjb250ZW50U2V0dGluZ3M6e2FnZVVwTW9kZTpDcmJba119fSk7aWYodj1uLnRHKWIudW5wbHVnZ2VkQXBwSW5mbz17ZW5hYmxlRmlsdGVyTW9kZTohMH07KGs9bi51bnBsdWdnZWRGaWx0ZXJNb2RlVHlwZSkmJiF2JiYoYi51bnBsdWdnZWRBcHBJbmZvPXtmaWx0ZXJNb2RlVHlwZTpCaGhba119KTtpZih2PW4uWFkpYi51bnBsdWdnZWRMb2NhdGlvbkluZm89djtELmNsaWVudD1iO2I9RC5yZXF1ZXN0fHx7fTtuLllaJiYoYi5pc1ByZWZldGNoPSEwKTtpZih2PW4ubWR4RW52aXJvbm1lbnQpYi5tZHhFbnZpcm9ubWVudD12O2lmKHY9bi5tZHhDb250cm9sTW9kZSliLm1keENvbnRyb2xNb2RlPUZHeFt2XTtELnJlcXVlc3Q9YjtiPUQudXNlcnx8e307aWYodj1uLkQpYi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnM9W3t0b2tlbjp2LHNjb3BlOiJWSURFTyJ9XTsKaWYodj1uLkhKKWIuZGVsZWdhdGVQdXJjaGFzZXM9e29hdXRoVG9rZW46dn0sYi5raWRzUGFyZW50PXtvYXV0aFRva2VuOnZ9O3Y9Vy5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk/LnVzZXJDb250ZW50UmF0aW5nOyF2JiZXLlMoImVuYWJsZV9icmF6aWxfYWdlX2dhdGluZ193ZWIiKSYmKHY9Zy5vOSgpLmdldCgiYnJfYWdlX3JhdGluZyIpKTt2JiYoYi5zZXJpYWxpemVkVXNlckNvbnRlbnRSYXRpbmc9dik7RC51c2VyPWI7aWYoVz1uLmNvbnRleHRQYXJhbXMpRC5hY3RpdmVQbGF5ZXJzPVt7cGxheWVyQ29udGV4dFBhcmFtczpXfV07aWYobj1uLmNsaWVudFNjcmVlbk5vbmNlKUQuY2xpZW50U2NyZWVuTm9uY2U9bjtyZXR1cm4gRH07CnVGPWZ1bmN0aW9uKG4pe3ZhciBXPWcudmIoKSxEPVcuY2xpZW50fHx7fTtpZihuLmZvcmNlZEV4cGVyaW1lbnRzKXt2YXIgYj1uLmZvcmNlZEV4cGVyaW1lbnRzLnNwbGl0KCIsIik7bGV0IHY9W107Zm9yKGxldCBrIG9mIGIpdi5wdXNoKE51bWJlcihrKSk7RC5leHBlcmltZW50SWRzPXZ9aWYoYj1uLmhvbWVHcm91cEluZm8pRC5ob21lR3JvdXBJbmZvPUpTT04ucGFyc2UoYik7aWYoYj1uLmdldFBsYXllclR5cGUoKSlELnBsYXllclR5cGU9YjtpZihiPW4uTi5jdGhlbWUpRC50aGVtZT1iO2lmKGI9bi5saXZpbmdSb29tQXBwTW9kZSlELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sbGl2aW5nUm9vbUFwcE1vZGU6Yn07Yj1uLmRldmljZVllYXI7bi5TKCJodG1sNV9wcm9wYWdhdGVfZGV2aWNlX3llYXIiKSYmYiYmKEQudHZBcHBJbmZvPXsuLi5ELnR2QXBwSW5mbyxkZXZpY2VZZWFyOmJ9KTtpZihiPW4ubGl2aW5nUm9vbVBvVG9rZW5JZClELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sCmxpdmluZ1Jvb21Qb1Rva2VuSWQ6Yn07Vy5jbGllbnQ9RDtiPVcudXNlcnx8e307bi5lbmFibGVTYWZldHlNb2RlJiYoYj17Li4uYixlbmFibGVTYWZldHlNb2RlOiEwfSk7IUQudHZBcHBJbmZvPy51c2VQYWdlaWRBc0hlYWRlciYmbi5wYWdlSWQmJihiPXsuLi5iLG9uQmVoYWxmT2ZVc2VyOm4ucGFnZUlkfSk7Vy51c2VyPWI7cmV0dXJuIFd9OwpsRj1mdW5jdGlvbihuLFcsRCl7Vz17dmlkZW9JZDpuLnZpZGVvSWQsY29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhuLFcsRCl9fTtuLmdUJiYoVy5wbGF5YmFja0NvbnRleHQucmVsb2FkUGxheWJhY2tDb250ZXh0PXtyZWxvYWRQbGF5YmFja1BhcmFtczpuLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtc30pO24uY29udGVudENoZWNrT2smJihXLmNvbnRlbnRDaGVja09rPSEwKTtpZihEPW4uY2xpZW50UGxheWJhY2tOb25jZSlXLmNwbj1EO2lmKEQ9bi5wbGF5ZXJQYXJhbXMpVy5wYXJhbXM9RDtlbHNlIGlmKEQ9bi5nZXRSZXNvbHZlVXJsUmVzcG9uc2UoKSlpZihEPWRsKEQpKVcucGFyYW1zPUQ7aWYoRD1uLnBsYXlsaXN0SWQpVy5wbGF5bGlzdElkPUQ7bi5yYWN5Q2hlY2tPayYmKFcucmFjeUNoZWNrT2s9ITApO0Q9bi5HKCk7dmFyIGI9RC5lbWJlZENvbmZpZztuLk5kP1cuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz0Kbi5OZDpiJiYoVy5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWIpO1cuY2FwdGlvblBhcmFtcz17fTtiPWcubzkoKS5RUSg2NSk7bi5kZXZpY2VDYXB0aW9uc09uIT1udWxsP1cuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc09uPW4uZGV2aWNlQ2FwdGlvbnNPbjpnLmVNKEQpJiYoVy5jYXB0aW9uUGFyYW1zLmRldmljZUNhcHRpb25zT249YiE9bnVsbD8hYjohMSk7bi5LTCYmKFcuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc0xhbmdQcmVmPW4uS0wpO2I9bi5TKCJ3ZWJfZW5hYmxlX3BsYXllcl9yZXF1ZXN0X2NhcHRpb25zX2xhc3RfbGFuZ3VhZ2Vfb25seSIpO2lmKG4uRmUubGVuZ3RoKVcuY2FwdGlvblBhcmFtcy52aWV3ZXJTZWxlY3RlZENhcHRpb25MYW5ncz1iP1tuLkZlLmF0KC0xKV06bi5GZTtlbHNlIGlmKGcuZU0oRCkpe3ZhciB2PWcuU0koKTt2Py5sZW5ndGgmJihXLmNhcHRpb25QYXJhbXMudmlld2VyU2VsZWN0ZWRDYXB0aW9uTGFuZ3M9Yj9bdi5hdCgtMSldOgp2KX1iPW4uZmV0Y2hUeXBlPT09Im9uZXNpZSImJm4uUygiaHRtbDVfb25lc2llX2F0dGFjaF9wb190b2tlbiIpO3Y9bi5mZXRjaFR5cGUhPT0ib25lc2llIiYmbi5TKCJodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlbiIpO2lmKGJ8fHYpYj1uLkcoKSxiLmpXJiYoVy5zZXJ2aWNlSW50ZWdyaXR5RGltZW5zaW9ucz17fSxXLnNlcnZpY2VJbnRlZ3JpdHlEaW1lbnNpb25zLnBvVG9rZW49Yi5qVyk7RC5TKCJmZXRjaF9hdHRfaW5kZXBlbmRlbnRseSIpJiYoVy5hdHRlc3RhdGlvblJlcXVlc3Q9e29taXRCb3RndWFyZERhdGE6ITB9KTtXLnBsYXliYWNrQ29udGV4dHx8KFcucGxheWJhY2tDb250ZXh0PXt9KTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcz16ZShuKTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcy5zdXBwb3J0c1ZwOUVuY29kaW5nPT09ITEmJm4uVSgibm9WcDkiLHt9KTtyZXR1cm4gV307CnplPWZ1bmN0aW9uKG4pe3ZhciBXPSFuPy5vTCgpJiZuPy56VygpJiZjMCgpO3JldHVybntzdXBwb3J0c1ZwOUVuY29kaW5nOiEoIW4/LllqKCl8fFcpLHN1cHBvcnRYaHI6TnN9fTsKajc9ZnVuY3Rpb24obil7aWYobj1uPy5lbmRwb2ludClyZXR1cm4gZy53KG4sZy5JUSl8fGcudyhuLFRlKX07CmRsPWZ1bmN0aW9uKG4pe3JldHVybiBqNyhuKT8ucGxheWVyUGFyYW1zfTsKTVNNPWFzeW5jIGZ1bmN0aW9uKG4sVyl7bj17Y29udGV4dDp1RihuLkcoKSksZW5nYWdlbWVudFR5cGU6IkVOR0FHRU1FTlRfVFlQRV9QTEFZQkFDSyIsaWRzOlt7cGxheWJhY2tJZDp7dmlkZW9JZDpuLnZpZGVvSWQsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX19XX07dmFyIEQ9TEIod1laKTtyZXR1cm4gYXdhaXQgZy5yXyhXLG4sRCl9OwpDQT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIik7KCFvZnx8KDAsZy5SKSgpLW9mPmIpJiZNU00obixEKS50aGVuKHY9Pnt2JiYodj12LmJvdGd1YXJkRGF0YSkmJmcuekModixXKX0sdj0+e24ucU4oKXx8KHY9QiQodiksbi5VKCJhdHRmIix2LmRldGFpbHMpKX0pfTsKQlQ9ZnVuY3Rpb24obixXLEQpe24uc3RhdGUuTltXXT0oLi4uYik9PkQuYXBwbHkobixiKX07CkYyPWZ1bmN0aW9uKG4sVyxEKXtuLnN0YXRlLk4uaGFzT3duUHJvcGVydHkoVyl8fEJUKG4sVyxEKTtuLnN0YXRlLmpbV109KC4uLmIpPT5ELmFwcGx5KG4sYik7Cm4uc3RhdGUuSy5hZGQoVyl9Owp3bD1mdW5jdGlvbihuLFcsRCl7bi5zdGF0ZS5OLmhhc093blByb3BlcnR5KFcpfHxCVChuLFcsRCk7bi5hcHAuRygpLksmJihuLnN0YXRlLlZbV109KC4uLmIpPT5ELmFwcGx5KG4sYiksbi5zdGF0ZS5LLmFkZChXKSl9OwpNdT1mdW5jdGlvbihuLFcpe24uc3RhdGUuTi5hZGRFbWJlZHNDb252ZXJzaW9uVHJhY2tpbmdQYXJhbXMoLi4uVyl9OwpnLlJUPWZ1bmN0aW9uKG4sVywuLi5EKXtuLnN0YXRlLlcuV0ooVywuLi5EKTtuLnN0YXRlLkouV0ooVywuLi5EKX07CmcuUVU9ZnVuY3Rpb24obixXLC4uLkQpe24uc3RhdGUuVy5XSihXLC4uLkQpO24uc3RhdGUuSi5XSihXLC4uLkQpO24uc3RhdGUuWC5XSihXLC4uLkQpfTsKZy5WVT1mdW5jdGlvbihuLFcsLi4uRCl7bi5zdGF0ZS5XLldKKFcsLi4uRCk7bi5zdGF0ZS5KLldKKFcsLi4uRCk7bi5zdGF0ZS5YLldKKFcsLi4uRCk7bi5zdGF0ZS5ZLldKKFcsLi4uRCl9OwphVD1mdW5jdGlvbihuLFcsRCl7dHlwZW9mIG49PT0ic3RyaW5nIiYmKG49e21lZGlhQ29udGVudFVybDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH0pO2E6e2lmKChXPW4ubWVkaWFDb250ZW50VXJsKSYmKFc9L1wvKFt2ZV18ZW1iZWQpXC8oW14jP10rKS8uZXhlYyhXKSkmJldbMl0pe1c9V1syXTticmVhayBhfVc9bnVsbH1uLnZpZGVvSWQ9VztyZXR1cm4gY1Qobil9OwpjVD1mdW5jdGlvbihuLFcsRCl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57dmlkZW9JZDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH07Vz17fTtmb3IobGV0IGIgb2YgUmtaKW5bYl0mJihXW2JdPW5bYl0pOyhuPW4uZW1iZWRDb25maWd8fG4uZW1iZWRfY29uZmlnKSYmKFcuZW1iZWRfY29uZmlnPW4yKG4pKTtyZXR1cm4gV307ClFzUz1mdW5jdGlvbihuLFcsRCxiKXtpZihnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKSl7Vz0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtEPXt9O2ZvcihiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07blt2XSYmKERbdl09blt2XSl9cmV0dXJuIER9Vz17aW5kZXg6VyxzdGFydFNlY29uZHM6RCxzdWdnZXN0ZWRRdWFsaXR5OmJ9O3R5cGVvZiBuPT09InN0cmluZyImJm4ubGVuZ3RoPT09MTY/Vy5saXN0PSJQTCIrbjpXLnBsYXlsaXN0PW47cmV0dXJuIFd9OwpuMj1mdW5jdGlvbihuKXtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXJldHVybiBuO2lmKGcuZnQobikpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShuKX1jYXRjaChXKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLFcpfX07Clc3PWZ1bmN0aW9uKG4sVz0xKXt2YXIgRD17fTtXPW4uYXBwLlZFKHtwbGF5ZXJUeXBlOld9KS5nZXRWaWRlb0RhdGEoKTtpZihpRihXKSlyZXR1cm57fTtELnZpZGVvX2lkPVcudmlkZW9JZDtELmF1dGhvcj1XLmF1dGhvcjtELnRpdGxlPVcudGl0bGU7RC5pc1BsYXlhYmxlPVpQKFcpO0QuZXJyb3JDb2RlPVcuZXJyb3JDb2RlO2lmKFcuSiYmVy5KLnZpZGVvKXtELnZpZGVvX3F1YWxpdHk9Vy5KLnZpZGVvLnF1YWxpdHk7Vz1XLkoudmlkZW87bGV0IGI9W107Vy5KKCkmJmIucHVzaCgiaGZyIik7Vy5pc0hkcigpJiZiLnB1c2goImhkciIpO1cucHJpbWFyaWVzPT09ImJ0MjAyMCImJmIucHVzaCgid2NnIik7RC52aWRlb19xdWFsaXR5X2ZlYXR1cmVzPWJ9aWYobj1uLmdldFBsYXlsaXN0SWQoKSlELmxpc3Q9bjtyZXR1cm4gRH07ClZTaD1mdW5jdGlvbihuKXtGMihuLCJjdWVWaWRlb0J5SWQiLG4uY0opO0YyKG4sImxvYWRWaWRlb0J5SWQiLG4uWSQpO0YyKG4sImN1ZVZpZGVvQnlVcmwiLG4uYmQpO0YyKG4sImxvYWRWaWRlb0J5VXJsIixuLlFyKTtGMihuLCJwbGF5VmlkZW8iLG4ueXcpO0YyKG4sInBhdXNlVmlkZW8iLG4ucGF1c2VWaWRlbyk7RjIobiwic3RvcFZpZGVvIixuLnptKTtGMihuLCJjbGVhclZpZGVvIixuLmNsZWFyVmlkZW8pO0YyKG4sImdldFZpZGVvQnl0ZXNMb2FkZWQiLG4uWVopO0YyKG4sImdldFZpZGVvQnl0ZXNUb3RhbCIsbi5SYSk7RjIobiwiZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbiIsbi5YKTtGMihuLCJnZXRWaWRlb1N0YXJ0Qnl0ZXMiLG4uTEIpO0YyKG4sImN1ZVBsYXlsaXN0IixuLmN1ZVBsYXlsaXN0KTtGMihuLCJsb2FkUGxheWxpc3QiLG4uTmQpO0YyKG4sIm5leHRWaWRlbyIsbi5VNSk7RjIobiwicHJldmlvdXNWaWRlbyIsbi5RJCk7RjIobiwicGxheVZpZGVvQXQiLG4uTWQpOwpGMihuLCJzZXRTaHVmZmxlIixuLnNldFNodWZmbGUpO0YyKG4sInNldExvb3AiLG4uc2V0TG9vcCk7RjIobiwiZ2V0UGxheWxpc3QiLG4ualcpO0YyKG4sImdldFBsYXlsaXN0SW5kZXgiLG4uZ2V0UGxheWxpc3RJbmRleCk7RjIobiwiZ2V0UGxheWxpc3RJZCIsbi5nZXRQbGF5bGlzdElkKTtGMihuLCJsb2FkTW9kdWxlIixuLmopO0YyKG4sInVubG9hZE1vZHVsZSIsbi5WKTtGMihuLCJzZXRPcHRpb24iLG4uSik7RjIobiwiZ2V0T3B0aW9uIixuLnZKKTtGMihuLCJnZXRPcHRpb25zIixuLk4pO0YyKG4sIm11dGUiLG4uczUpO0YyKG4sInVuTXV0ZSIsbi5taCk7RjIobiwiaXNNdXRlZCIsbi5pc011dGVkKTtGMihuLCJzZXRWb2x1bWUiLG4uYlYpO0YyKG4sImdldFZvbHVtZSIsbi5nZXRWb2x1bWUpO0YyKG4sInNlZWtUbyIsbi5TVik7RjIobiwiZ2V0UGxheWVyTW9kZSIsbi5nZXRQbGF5ZXJNb2RlKTtGMihuLCJnZXRQbGF5ZXJTdGF0ZSIsbi55RSk7RjIobiwiZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyIsCm4uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyk7RjIobiwiZ2V0UGxheWJhY2tRdWFsaXR5IiwoKT0+bi5nZXRQbGF5YmFja1F1YWxpdHkoMSkpOwpGMihuLCJzZXRQbGF5YmFja1F1YWxpdHkiLG4uZVYpO0YyKG4sImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiLG4uVlEpO0YyKG4sImdldEN1cnJlbnRUaW1lIixuLkhKKTtGMihuLCJnZXREdXJhdGlvbiIsbi5udSk7RjIobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5PKTtGMihuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLmdUKTtGMihuLCJnZXREZWJ1Z1RleHQiLG4uRHQpO0YyKG4sImdldFZpZGVvRGF0YSIsKCk9Plc3KG4pKTsKRjIobiwiYWRkQ3VlUmFuZ2UiLG4uWSk7RjIobiwicmVtb3ZlQ3VlUmFuZ2UiLG4ucmVtb3ZlQ3VlUmFuZ2UpO0YyKG4sInNldFNpemUiLG4uc2V0U2l6ZSk7RjIobiwiZ2V0QXBpSW50ZXJmYWNlIixuLmdldEFwaUludGVyZmFjZSk7RjIobiwiZGVzdHJveSIsbi5kZXN0cm95KTtGMihuLCJtdXRlZEF1dG9wbGF5IixuLm11dGVkQXV0b3BsYXkpO3ZhciBXPW4uYXBwLkcoKTtGMihuLCJnZXRWaWRlb0VtYmVkQ29kZSIsbi5nZXRWaWRlb0VtYmVkQ29kZSk7RjIobiwiZ2V0VmlkZW9VcmwiLG4ud2EpO0YyKG4sImdldE1lZGlhUmVmZXJlbmNlVGltZSIsbi5HQyk7RjIobiwiZ2V0U2l6ZSIsbi5nZXRTaXplKTtGMihuLCJzZXRGYXV4RnVsbHNjcmVlbiIsbi51NSk7Vy5TKCJlbWJlZHNfZW5hYmxlX21vdmVfc2V0X2NlbnRlcl9jcm9wX3RvX3B1YmxpYyIpJiZGMihuLCJzZXRDZW50ZXJDcm9wIixuLnNldENlbnRlckNyb3ApO1cuWHx8RjIobiwibG9nSW1hQWRFdmVudCIsbi5sb2dJbWFBZEV2ZW50KTsKRjIobiwicHJlbG9hZFZpZGVvQnlJZCIsbi5SdCk7RjIobiwid2FrZVVwQ29udHJvbHMiLG4ud2FrZVVwQ29udHJvbHMpfTsKZy5iNT1mdW5jdGlvbihuKXtyZXR1cm4obj1EJChuLmFwcC5KNSgpKSk/bi5CNygpOm51bGx9OwprRj1mdW5jdGlvbihuKXt2YXIgVz1RTShuLmFwcC5HKCkpLEQ9bi5hcHAuZ2V0VmlkZW9EYXRhKCk/Lk1kO249djcobi5hcHApO3JldHVybiBMeShXKSYmIUR8fG4/ITE6ITB9OwpoZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIHR5cGVvZiBuPT09Im51bWJlciI/e3BsYXllclR5cGU6bix2bzpXLGNwbjpEfTpufHx7fX07CmMxQz1mdW5jdGlvbihuKXt2YXIgVz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7aWYoIVcpe3ZhciBEPW4ucGxheWVyX3Jlc3BvbnNlO0QmJihXPUpTT04ucGFyc2UoRCkpfWRlbGV0ZSBuLnBsYXllcl9yZXNwb25zZTtkZWxldGUgbi5yYXdfcGxheWVyX3Jlc3BvbnNlO1cmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9e3N0cmVhbWluZ0RhdGE6Vy5zdHJlYW1pbmdEYXRhLHBsYXllckNvbmZpZzpXLnBsYXllckNvbmZpZ30sVy5wbGF5YmFja1RyYWNraW5nPy5xb2VVcmwmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9ey4uLm4ucmF3X3BsYXllcl9yZXNwb25zZSxwbGF5YmFja1RyYWNraW5nOntxb2VVcmw6Vy5wbGF5YmFja1RyYWNraW5nLnFvZVVybH19KSxXLmNhcHRpb25zJiYobi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsY2FwdGlvbnM6Vy5jYXB0aW9uc30pLFcudmlkZW9EZXRhaWxzJiYoVy52aWRlb0RldGFpbHMudmlkZW9JZHx8Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcykmJgooRD17fSxXLnZpZGVvRGV0YWlscy52aWRlb0lkJiYoRC52aWRlb0lkPVcudmlkZW9EZXRhaWxzLnZpZGVvSWQpLFcudmlkZW9EZXRhaWxzLmxlbmd0aFNlY29uZHMmJihELmxlbmd0aFNlY29uZHM9Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcyksbi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsdmlkZW9EZXRhaWxzOkR9KSl9Owp4Rj1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2lmKG4uYXBwLkcoKS5PKXtmb3IobGV0IGIgb2YgYWF4KVcuaGFzT3duUHJvcGVydHkoYikmJihEW2JdPVdbYl0pO2lmKG49RC5xb2VfY2F0KVc9IiIsdHlwZW9mIG49PT0ic3RyaW5nIiYmbi5sZW5ndGg+MCYmKFc9bi5zcGxpdCgiLCIpLmZpbHRlcihiPT5udDIuaW5jbHVkZXMoYikpLmpvaW4oIiwiKSksRC5xb2VfY2F0PVc7CmMxQyhEKX1lbHNlIGZvcihsZXQgYiBvZiBXYXcpVy5oYXNPd25Qcm9wZXJ0eShiKSYmKERbYl09V1tiXSk7cmV0dXJuIER9OwpMMj1mdW5jdGlvbihuKXtyZXR1cm4gbj9Ed1Vbbl18fDU6NX07CmVCPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKFcpKXtsZXQgYj1XW0RdO249bi5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrRCwiZ2kiKSwoKT0+Yil9cmV0dXJuIG59OwpiX0M9ZnVuY3Rpb24obil7QlQobiwiZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UiLG4uZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UpO0JUKG4sImdldFRydXN0ZWRBcGkiLG4uZ2V0VHJ1c3RlZEFwaSk7QlQobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5EKTtCVChuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLlRRKTtCVChuLCJjdWVWaWRlb0J5UGxheWVyVmFycyIsbi50dyk7QlQobiwibG9hZFZpZGVvQnlQbGF5ZXJWYXJzIixuLkU1KTtCVChuLCJwcmVsb2FkVmlkZW9CeVBsYXllclZhcnMiLG4uWmgpO0JUKG4sImdldEFkU3RhdGUiLG4uZ2V0QWRTdGF0ZSk7QlQobiwic2VuZEFiYW5kb25tZW50UGluZyIsbi5zZW5kQWJhbmRvbm1lbnRQaW5nKTtCVChuLCJzZXRMb29wUmFuZ2UiLG4uc2V0TG9vcFJhbmdlKTtCVChuLCJnZXRMb29wUmFuZ2UiLG4uZ2V0TG9vcFJhbmdlKTtCVChuLCJzZXRBdXRvbmF2U3RhdGUiLG4uc2V0QXV0b25hdlN0YXRlKTtCVChuLCJzZWVrVG8iLG4uYk4pO0JUKG4sCiJzZWVrQnkiLG4uc1YpO0JUKG4sInNlZWtUb0xpdmVIZWFkIixuLnNlZWtUb0xpdmVIZWFkKTtCVChuLCJyZXF1ZXN0U2Vla1RvV2FsbFRpbWVTZWNvbmRzIixuLnJlcXVlc3RTZWVrVG9XYWxsVGltZVNlY29uZHMpO0JUKG4sInNlZWtUb1N0cmVhbVRpbWUiLG4uc2Vla1RvU3RyZWFtVGltZSk7QlQobiwic3RhcnRTZWVrQ3NpQWN0aW9uIixuLnN0YXJ0U2Vla0NzaUFjdGlvbik7QlQobiwiZ2V0U3RyZWFtVGltZU9mZnNldCIsbi5nZXRTdHJlYW1UaW1lT2Zmc2V0KTtCVChuLCJnZXRWaWRlb0RhdGEiLG4uZkIpO0JUKG4sImdldEFwcFN0YXRlIixuLmdldEFwcFN0YXRlKTtCVChuLCJ1cGRhdGVMYXN0QWN0aXZlVGltZSIsbi51cGRhdGVMYXN0QWN0aXZlVGltZSk7QlQobiwic2V0VXNlckVuZ2FnZW1lbnQiLG4uc2V0VXNlckVuZ2FnZW1lbnQpO0JUKG4sInVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3MpO0JUKG4sImdldFByZXNlbnRpbmdQbGF5ZXJUeXBlIiwKbi5XKTtCVChuLCJjYW5QbGF5VHlwZSIsbi5jYW5QbGF5VHlwZSk7QlQobiwidXBkYXRlUGxheWxpc3QiLG4udXBkYXRlUGxheWxpc3QpO0JUKG4sInVwZGF0ZVZpZGVvRGF0YSIsbi51cGRhdGVWaWRlb0RhdGEpO0JUKG4sInVwZGF0ZUVudmlyb25tZW50RGF0YSIsbi51cGRhdGVFbnZpcm9ubWVudERhdGEpO0JUKG4sInNlbmRWaWRlb1N0YXRzRW5nYWdlRXZlbnQiLG4uWXIpO0JUKG4sInNldFNhZmV0eU1vZGUiLG4uc2V0U2FmZXR5TW9kZSk7QlQobiwiaXNBdExpdmVIZWFkIixXPT5uLmlzQXRMaXZlSGVhZCh2b2lkIDAsVykpOwpCVChuLCJnZXRWaWRlb0FzcGVjdFJhdGlvIixuLmdldFZpZGVvQXNwZWN0UmF0aW8pO0JUKG4sImdldFByZWZlcnJlZFF1YWxpdHkiLG4uZ2V0UHJlZmVycmVkUXVhbGl0eSk7QlQobiwiZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwiLG4uZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwpO0JUKG4sInNldFBsYXliYWNrUXVhbGl0eVJhbmdlIixuLldpKTtCVChuLCJvbkFkVXhDbGlja2VkIixuLm9uQWRVeENsaWNrZWQpO0JUKG4sImdldEZlZWRiYWNrUHJvZHVjdERhdGEiLG4uZ2V0RmVlZGJhY2tQcm9kdWN0RGF0YSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lIixuLmdldFN0b3J5Ym9hcmRGcmFtZSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgiLG4uZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgpO0JUKG4sImdldFN0b3J5Ym9hcmRMZXZlbCIsbi5nZXRTdG9yeWJvYXJkTGV2ZWwpO0JUKG4sImdldE51bWJlck9mU3Rvcnlib2FyZExldmVscyIsbi5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMpOwpCVChuLCJnZXRDYXB0aW9uV2luZG93Q29udGFpbmVySWQiLG4uZ2V0Q2FwdGlvbldpbmRvd0NvbnRhaW5lcklkKTtCVChuLCJnZXRBdmFpbGFibGVRdWFsaXR5TGFiZWxzIixuLmdldEF2YWlsYWJsZVF1YWxpdHlMYWJlbHMpO0JUKG4sImFkZEN1ZVJhbmdlIixuLmFkZEN1ZVJhbmdlKTtCVChuLCJhZGRVdGNDdWVSYW5nZSIsbi5hZGRVdGNDdWVSYW5nZSk7QlQobiwic2hvd0FpcnBsYXlQaWNrZXIiLG4uc2hvd0FpcnBsYXlQaWNrZXIpO0JUKG4sImRpc3BhdGNoUmVkdXhBY3Rpb24iLG4uZGlzcGF0Y2hSZWR1eEFjdGlvbik7QlQobiwiZ2V0UGxheWVyUmVzcG9uc2UiLG4uUFgpO0JUKG4sImdldFdhdGNoTmV4dFJlc3BvbnNlIixuLnZYKTtCVChuLCJnZXRIZWFydGJlYXRSZXNwb25zZSIsbi5GRik7QlQobiwiZ2V0Q3VycmVudFRpbWUiLG4uZSQpO0JUKG4sImdldER1cmF0aW9uIixuLm1aKTtCVChuLCJnZXRQbGF5ZXJTdGF0ZSIsbi5nZXRQbGF5ZXJTdGF0ZSk7QlQobiwiZ2V0UGxheWVyU3RhdGVPYmplY3QiLApuLkN1KTtCVChuLCJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIixuLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24pO0JUKG4sImdldFByb2dyZXNzU3RhdGUiLG4uZ2V0UHJvZ3Jlc3NTdGF0ZSk7QlQobiwiZ2V0Vm9sdW1lIixuLmdldFZvbHVtZSk7QlQobiwic2V0Vm9sdW1lIixuLmtGKTtCVChuLCJpc011dGVkIixuLmlzTXV0ZWQpO0JUKG4sIm11dGUiLG4uZ0cpO0JUKG4sInVuTXV0ZSIsbi5sbSk7QlQobiwibG9hZE1vZHVsZSIsbi5sb2FkTW9kdWxlKTtCVChuLCJ1bmxvYWRNb2R1bGUiLG4udW5sb2FkTW9kdWxlKTtCVChuLCJnZXRPcHRpb24iLG4uanUpO0JUKG4sImdldE9wdGlvbnMiLG4uZ2V0T3B0aW9ucyk7QlQobiwic2V0T3B0aW9uIixuLnNldE9wdGlvbik7QlQobiwibG9hZFZpZGVvQnlJZCIsbi5ydyk7QlQobiwibG9hZFZpZGVvQnlVcmwiLG4uSzApO0JUKG4sInBsYXlWaWRlbyIsbi5VRyk7QlQobiwic3RvcFZpZGVvIixuLkspO0JUKG4sImxvYWRQbGF5bGlzdCIsbi5sb2FkUGxheWxpc3QpOwpCVChuLCJuZXh0VmlkZW8iLG4ubmV4dFZpZGVvKTtCVChuLCJwcmV2aW91c1ZpZGVvIixuLnByZXZpb3VzVmlkZW8pO0JUKG4sInBsYXlWaWRlb0F0IixuLnBsYXlWaWRlb0F0KTtCVChuLCJnZXREZWJ1Z1RleHQiLG4uZ2V0RGVidWdUZXh0KTtCVChuLCJnZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnIixuLmdldFdlYlBsYXllckNvbnRleHRDb25maWcpO0JUKG4sImdldFZpZGVvQ29udGVudFJlY3QiLG4uZ2V0VmlkZW9Db250ZW50UmVjdCk7QlQobiwidG9nZ2xlU3VidGl0bGVzT24iLG4udG9nZ2xlU3VidGl0bGVzT24pO0JUKG4sImlzU3VidGl0bGVzT24iLG4uaXNTdWJ0aXRsZXNPbik7QlQobiwiZ2V0QXVkaW9UcmFjayIsbi5UQyk7QlQobiwic2V0QXVkaW9UcmFjayIsbi5zeik7QlQobiwiZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MiLG4uUyQpO0JUKG4sImlzT3JjaGVzdHJhdGlvbkxlYWRlciIsbi5pc09yY2hlc3RyYXRpb25MZWFkZXIpO0JUKG4sIm5vdGlmeVNob3J0c0FkU3dpcGVFdmVudCIsCm4ubm90aWZ5U2hvcnRzQWRTd2lwZUV2ZW50KTtCVChuLCJwcmVmZXRjaEtleVBsYXkiLG4ucHJlZmV0Y2hLZXlQbGF5KTtCVChuLCJwcmVmZXRjaEp1bXBBaGVhZCIsbi5wcmVmZXRjaEp1bXBBaGVhZCk7QlQobiwicHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQiLG4ucHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQpO0JUKG4sInNldEJsYWNrb3V0IixuLnNldEJsYWNrb3V0KTtCVChuLCJzZXRJbmxpbmVQcmV2aWV3IixuLnNldElubGluZVByZXZpZXcpO0JUKG4sInNldFNxdWVlemViYWNrIixuLnNldFNxdWVlemViYWNrKTtCVChuLCJyZXBvcnRQbGF5YmFja0lzc3VlIixuLnJlcG9ydFBsYXliYWNrSXNzdWUpO0JUKG4sInNldEF1dG9uYXYiLG4uc2V0QXV0b25hdik7QlQobiwiaXNOb3RTZXJ2YWJsZSIsbi5pc05vdFNlcnZhYmxlKTtCVChuLCJjaGFubmVsU3Vic2NyaWJlZCIsbi5jaGFubmVsU3Vic2NyaWJlZCk7QlQobiwiY2hhbm5lbFVuc3Vic2NyaWJlZCIsCm4uY2hhbm5lbFVuc3Vic2NyaWJlZCk7QlQobiwidG9nZ2xlUGljdHVyZUluUGljdHVyZSIsbi50b2dnbGVQaWN0dXJlSW5QaWN0dXJlKTtCVChuLCJzdXBwb3J0c0dhcGxlc3NBdWRpbyIsbi5zdXBwb3J0c0dhcGxlc3NBdWRpbyk7QlQobiwic3VwcG9ydHNHYXBsZXNzU2hvcnRzIixuLnN1cHBvcnRzR2FwbGVzc1Nob3J0cyk7QlQobiwiaXNHYXBsZXNzVHJhbnNpdGlvblJlYWR5IixuLmlzR2FwbGVzc1RyYW5zaXRpb25SZWFkeSk7QlQobiwic2V0U2hvcnRzQXV0b0FkdmFuY2VkRW5hYmxlZCIsbi5zZXRTaG9ydHNBdXRvQWR2YW5jZWRFbmFibGVkKTtCVChuLCJlbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMiLFc9PnZvaWQgbi5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMoVykpOwpCVChuLCJjbGVhclF1ZXVlIixuLmNsZWFyUXVldWUpO0JUKG4sImdldE1heFBsYXliYWNrUXVhbGl0eSIsbi5nZXRNYXhQbGF5YmFja1F1YWxpdHkpO0JUKG4sImdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlIixuLmdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlKTtCVChuLCJnZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3MiLG4uZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKTtCVChuLCJyZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi5yZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyk7QlQobiwic2V0TWluaW1pemVkIixuLnNldE1pbmltaXplZCk7QlQobiwic2V0T3ZlcmxheVZpc2liaWxpdHkiLG4uc2V0T3ZlcmxheVZpc2liaWxpdHkpO0JUKG4sImNvbmZpcm1ZcGNSZW50YWwiLG4uY29uZmlybVlwY1JlbnRhbCk7QlQobiwicXVldWVOZXh0VmlkZW8iLG4ucXVldWVOZXh0VmlkZW8pO0JUKG4sImhhbmRsZUV4dGVybmFsQ2FsbCIsbi5oYW5kbGVFeHRlcm5hbENhbGwpOwpCVChuLCJsb2dBcGlDYWxsIixuLmxvZ0FwaUNhbGwpO0JUKG4sImlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUiLG4uaXNFeHRlcm5hbE1ldGhvZEF2YWlsYWJsZSk7QlQobiwic2V0U2NyZWVuTGF5ZXIiLG4uc2V0U2NyZWVuTGF5ZXIpO0JUKG4sImdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlIixuLmdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlKTtCVChuLCJnZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSIsbi5nZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSk7QlQobiwic2hvdWxkU2VuZFZpc2liaWxpdHlTdGF0ZSIsbi5zaG91bGRTZW5kVmlzaWJpbGl0eVN0YXRlKTtCVChuLCJzeW5jVm9sdW1lIixuLnN5bmNWb2x1bWUpO0JUKG4sImhpZ2hsaWdodFNldHRpbmdzTWVudUl0ZW0iLG4uaGlnaGxpZ2h0U2V0dGluZ3NNZW51SXRlbSk7QlQobiwib3BlblNldHRpbmdzTWVudUl0ZW0iLG4ub3BlblNldHRpbmdzTWVudUl0ZW0pO0JUKG4sImdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UiLApuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UpO0JUKG4sImdldFZpc2liaWxpdHlTdGF0ZSIsbi5nZXRWaXNpYmlsaXR5U3RhdGUpO0JUKG4sImlzTXV0ZWRCeU11dGVkQXV0b3BsYXkiLG4uaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSk7QlQobiwiaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheSIsbi5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KTtCVChuLCJzZXRHbG9iYWxDcm9wIixuLnNldEdsb2JhbENyb3ApO0JUKG4sInNldEludGVybmFsU2l6ZSIsbi5zZXRJbnRlcm5hbFNpemUpO0JUKG4sInNldEZhdXhGdWxsc2NyZWVuIixuLnNldEZhdXhGdWxsc2NyZWVuKTtCVChuLCJzZXRBcHBGdWxsc2NyZWVuIixuLnNldEFwcEZ1bGxzY3JlZW4pO0JUKG4sImlzS2V5Ym9hcmREaXNhYmxlZCIsbi5pc0tleWJvYXJkRGlzYWJsZWQpO0JUKG4sImdldEN1cnJlbnRUaW1lRm9yVXgiLG4uZ2V0Q3VycmVudFRpbWVGb3JVeCk7QlQobiwiZ2V0RHVyYXRpb25Gb3JVeCIsbi5nZXREdXJhdGlvbkZvclV4KX07Cmd2PWZ1bmN0aW9uKG4pe24uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKT09PTM/bi5XSigibWR4YXV0b3BsYXljYW5jZWwiKTpnLlJUKG4sIm9uQXV0b25hdkNhbmNlbGxlZCIsITApfTsKWHo9ZnVuY3Rpb24obil7bj1uLko1KCkuTmkuZ2V0KCJlbmRzY3JlZW4iKTtyZXR1cm4hIW4mJlh6KG4pfTsKcXA9ZnVuY3Rpb24obil7bj1uLko1KCk7dmFyIFc9bi5OaS5nZXQoImVuZHNjcmVlbiIpO3JldHVybiBXJiZXLlhjKCk/ITA6bi5JVigpfTsKdGY9ZnVuY3Rpb24obil7dmFyIFc9R3Uobi5KNSgpKTtyZXR1cm4gbi5hcHAuWlYmJiFuLmlzRnVsbHNjcmVlbigpfHxuLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0zJiZXJiZXLmhhc05leHQoKSYmVy5oYXNQcmV2aW91cygpfHwhIW4uZ2V0UGxheWxpc3QoKX07CmcuZno9ZnVuY3Rpb24obil7cmV0dXJuKG49Zy4kRihuLko1KCkpKT9uLkhwKCk6e319OwpnLnJ2PWZ1bmN0aW9uKG4sVyxEKXtuPW4ubGooKS5lbGVtZW50O3ZhciBiPURlKG4uY2hpbGRyZW4sdj0+e3Y9TnVtYmVyKHYuZ2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIikpO3JldHVybiBELXZ8fDF9KTsKYjwwJiYoYj0tKGIrMSkpO2cuanAobixXLGIpO1cuc2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIixTdHJpbmcoRCkpfTsKdnRDPWZ1bmN0aW9uKG4sVyl7bj1zRihuLmFwcC5Wci5YKTtmb3IobGV0IEQgb2Ygbil7bj1ELmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7bGV0IGI9bnVsbDtmb3IobGV0IHYgb2YgbilpZih2LmdldExhbmd1YWdlSW5mbygpLmdldElkKCk9PT1XKXtiPXY7YnJlYWt9YiYmRC5MeShiLCEwKX19OwpnLnAyPWZ1bmN0aW9uKCl7TnB8fChOcD1uZXcga0t4KTtyZXR1cm4gTnB9OwpnLllGPWZ1bmN0aW9uKG4sVyl7Vz9uLlpKLkF1dGhvcml6YXRpb249YEJlYXJlciAke1d9YDpkZWxldGUgbi5aSi5BdXRob3JpemF0aW9ufTsKaHh3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9KC4uLmIpPT57bi5yZW1vdmVFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKTtXKC4uLmIpfTsKbi5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKX07CmcuSDc9ZnVuY3Rpb24obil7dmFyIFc9TWF0aC5hYnMoTWF0aC5mbG9vcihuKSksRD1NYXRoLmZsb29yKFcvODY0MDApLGI9TWF0aC5mbG9vcihXJTg2NDAwLzM2MDApLHY9TWF0aC5mbG9vcihXJTM2MDAvNjApO1c9TWF0aC5mbG9vcihXJTYwKTt2YXIgaz0iIjtEPjAmJihrKz1gJHtEfTpgLGI8MTAmJihrKz0iMCIpKTtpZihEPjB8fGI+MClrKz1gJHtifTpgLHY8MTAmJihrKz0iMCIpO2srPWAke3Z9OmA7VzwxMCYmKGsrPSIwIik7RD1rK1c7cmV0dXJuIG4+PTA/RDpgLSR7RH1gfTsKZjI9ZnVuY3Rpb24obil7cmV0dXJuKCEoImJ1dHRvbiJpbiBuKXx8dHlwZW9mIG4uYnV0dG9uIT09Im51bWJlciJ8fG4uYnV0dG9uPT09MCkmJiEoInNoaWZ0S2V5ImluIG4mJm4uc2hpZnRLZXkpJiYhKCJhbHRLZXkiaW4gbiYmbi5hbHRLZXkpJiYhKCJtZXRhS2V5ImluIG4mJm4ubWV0YUtleSkmJiEoImN0cmxLZXkiaW4gbiYmbi5jdHJsS2V5KX07CkpmPWZ1bmN0aW9uKG4sVyxELGIpe2lmKGIuc3Vic3RyaW5nKDAsMik9PT0ie3siKW4uWVpbYl09W1csRF07ZWxzZSByZXR1cm4gYn07Ckl5PWZ1bmN0aW9uKG4sVyxELGIpe2lmKEQ9PT0iY2hpbGQiKXtnLlRGKFcpO2xldCBrO2I9PT12b2lkIDA/az12b2lkIDA6az0hQXJyYXkuaXNBcnJheShiKXx8YiYmdHlwZW9mIGIuWj09PSJzdHJpbmciP1tiXTpiO0Q9eHcyKG4sayk7Zm9yKHZhciB2IG9mIEQpVy5hcHBlbmRDaGlsZCh2KX1lbHNlIEQ9PT0ic3R5bGUiP2cuaDEoVywiY3NzVGV4dCIsYj9iOiIiKTpiPT09bnVsbHx8Yj09PXZvaWQgMD9XLnJlbW92ZUF0dHJpYnV0ZShEKToodj1iLnRvU3RyaW5nKCksRD09PSJocmVmIiYmKHY9Z3ooZy50Rih2LGcuRzQpfHxnLlY1KSksVy5zZXRBdHRyaWJ1dGUoRCx2KSl9Owp4dzI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVylyZXR1cm4gRDtmb3IobGV0IGIgb2YgVyl7aWYoYj09bnVsbCljb250aW51ZTtXPWIubm9kZVR5cGU7Vz09PTF8fFc9PT0zP0QucHVzaChiKTpiJiZ0eXBlb2YgYi5aPT09InN0cmluZyI/RC5wdXNoKG4uY3JlYXRlRWxlbWVudChiKSk6Yi5lbGVtZW50P0QucHVzaChiLmVsZW1lbnQpOnR5cGVvZiBiPT09InN0cmluZyImJmIuaW5kZXhPZigiXG4iKSE9PS0xP2Iuc3BsaXQoIlxuIikuZm9yRWFjaCgodixrKT0+e2s+MCYmRC5wdXNoKGcuekYoIkJSIikpO0QucHVzaChnLmxrKHYpKX0pOkQucHVzaChnLmxrKGIpKX1yZXR1cm4gRH07ClNCPWZ1bmN0aW9uKG4sVyl7bj1uLmVsZW1lbnQuZWxlbWVudDtXP24uc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTpuLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKX07CkFmPWZ1bmN0aW9uKG4pe3JldHVybiBuLkomJm4uZmFkZS5zdGF0ZSE9PTR9OwptUD1mdW5jdGlvbihuKXtuLnNvdXJjZUVsZW1lbnQmJihkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZnLkJ4KG4uZWxlbWVudCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmbi5zb3VyY2VFbGVtZW50LmZvY3VzKCksbi5zb3VyY2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksbi5zb3VyY2VFbGVtZW50PXZvaWQgMCk7bi5OLkooKTtuLlc9dm9pZCAwfTsKZy5LMj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsdmlld0JveDoiMCAwIDMyIDMyIix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik0gMTkuNDEsMjAuMDkgMTQuODMsMTUuNSAxOS40MSwxMC45MSAxOCw5LjUgbCAtNiw2IDYsNiB6IixmaWxsOiIjZmZmIn19XX19OwpnLk9GPWZ1bmN0aW9uKCl7cmV0dXJue1o6InN2ZyIseGE6e2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMzIgMzIiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoibSAxMi41OSwyMC4zNCA0LjU4LC00LjU5IC00LjU4LC00LjU5IDEuNDEsLTEuNDEgNiw2IC02LDYgeiIsZmlsbDoiI2ZmZiJ9fV19fTsKZy5QNz1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjEwMCUifSxYRjpbe1o6InBhdGgiLHhhOntkOiJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIsZmlsbDoiI2ZmZiJ9fV19fTsKWiQ9ZnVuY3Rpb24oKXtyZXR1cm57Wjoic3ZnIix4YTp7aGVpZ2h0OiIxMDAlIix2ZXJzaW9uOiIxLjEiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIixLeTohMCxKdzoieXRwLXN2Zy1maWxsIix4YTp7ZDoiTSAxNi42OCwuOTkgQyAxMy41NSwxLjAzIDcuMDIsMS4xNiA0Ljk5LDEuNjggYyAtMS40OSwuNCAtMi41OSwxLjYgLTIuOTksMyAtMC42OSwyLjcgLTAuNjgsOC4zMSAtMC42OCw4LjMxIDAsMCAtMC4wMSw1LjYxIC42OCw4LjMxIC4zOSwxLjUgMS41OSwyLjYgMi45OSwzIDIuNjksLjcgMTMuNDAsLjY4IDEzLjQwLC42OCAwLDAgMTAuNzAsLjAxIDEzLjQwLC0wLjY4IDEuNSwtMC40IDIuNTksLTEuNiAyLjk5LC0zIC42OSwtMi43IC42OCwtOC4zMSAuNjgsLTguMzEgMCwwIC4xMSwtNS42MSAtMC42OCwtOC4zMSAtMC40LC0xLjUgLTEuNTksLTIuNiAtMi45OSwtMyBDIDI5LjExLC45OCAxOC40MCwuOTkgMTguNDAsLjk5IGMgMCwwIC0wLjY3LC0wLjAxIC0xLjcxLDAgeiBtIDcyLjIxLC45MCAwLDIxLjI4IDIuNzgsMCAuMzEsLTEuMzcgLjA5LDAgYyAuMywuNSAuNzEsLjg4IDEuMjEsMS4xOCAuNSwuMyAxLjA4LC40MCAxLjY4LC40MCAxLjEsMCAxLjk5LC0wLjQ5IDIuNDksLTEuNTkgLjUsLTEuMSAuODEsLTIuNzAgLjgxLC00LjkwIGwgMCwtMi40MCBjIDAsLTEuNiAtMC4xMSwtMi45MCAtMC4zMSwtMy45MCAtMC4yLC0wLjg5IC0wLjUsLTEuNTkgLTEsLTIuMDkgLTAuNSwtMC40IC0xLjEwLC0wLjU5IC0xLjkwLC0wLjU5IC0wLjU5LDAgLTEuMTgsLjE5IC0xLjY4LC40OSAtMC40OSwuMyAtMS4wMSwuODAgLTEuMjEsMS40MCBsIDAsLTcuOTAgLTMuMjgsMCB6IG0gLTQ5Ljk5LC43OCAzLjkwLDEzLjkwIC4xOCw2LjcxIDMuMzEsMCAwLC02LjcxIDMuODcsLTEzLjkwIC0zLjM3LDAgLTEuNDAsNi4zMSBjIC0wLjQsMS44OSAtMC43MSwzLjE5IC0wLjgxLDMuOTkgbCAtMC4wOSwwIGMgLTAuMiwtMS4xIC0wLjUxLC0yLjQgLTAuODEsLTMuOTkgbCAtMS4zNywtNi4zMSAtMy40MCwwIHogbSAyOS41OSwwIDAsMi43MSAzLjQwLDAgMCwxNy45MCAzLjI4LDAgMCwtMTcuOTAgMy40MCwwIGMgMCwwIC4wMCwtMi43MSAtMC4wOSwtMi43MSBsIC05Ljk5LDAgeiBtIC01My40OSw1LjEyIDguOTAsNS4xOCAtOC45MCw1LjA5IDAsLTEwLjI4IHogbSA4OS40MCwuMDkgYyAtMS43LDAgLTIuODksLjU5IC0zLjU5LDEuNTkgLTAuNjksLjk5IC0wLjk5LDIuNjAgLTAuOTksNC45MCBsIDAsMi41OSBjIDAsMi4yIC4zMCwzLjkwIC45OSw0LjkwIC43LDEuMSAxLjgsMS41OSAzLjUsMS41OSAxLjQsMCAyLjM4LC0wLjMgMy4xOCwtMSAuNywtMC43IDEuMDksLTEuNjkgMS4wOSwtMy4wOSBsIDAsLTAuNSAtMi45MCwtMC4yMSBjIDAsMSAtMC4wOCwxLjYgLTAuMjgsMiAtMC4xLC40IC0wLjUsLjYyIC0xLC42MiAtMC4zLDAgLTAuNjEsLTAuMTEgLTAuODEsLTAuMzEgLTAuMiwtMC4zIC0wLjMwLC0wLjU5IC0wLjQwLC0xLjA5IC0wLjEsLTAuNSAtMC4wOSwtMS4yMSAtMC4wOSwtMi4yMSBsIDAsLTAuNzggNS43MSwtMC4wOSAwLC0yLjYyIGMgMCwtMS42IC0wLjEwLC0yLjc4IC0wLjQwLC0zLjY4IC0wLjIsLTAuODkgLTAuNzEsLTEuNTkgLTEuMzEsLTEuOTkgLTAuNywtMC40IC0xLjQ4LC0wLjU5IC0yLjY4LC0wLjU5IHogbSAtNTAuNDksLjA5IGMgLTEuMDksMCAtMi4wMSwuMTggLTIuNzEsLjY4IC0wLjcsLjQgLTEuMiwxLjEyIC0xLjQ5LDIuMTIgLTAuMywxIC0wLjUsMi4yNyAtMC41LDMuODcgbCAwLDIuMjEgYyAwLDEuNSAuMTAsMi43OCAuNDAsMy43OCAuMiwuOSAuNzAsMS42MiAxLjQwLDIuMTIgLjY5LC41IDEuNzEsLjY4IDIuODEsLjc4IDEuMTksMCAyLjA4LC0wLjI4IDIuNzgsLTAuNjggLjY5LC0wLjQgMS4wOSwtMS4wOSAxLjQ5LC0yLjA5IC4zOSwtMSAuNDksLTIuMzAgLjQ5LC0zLjkwIGwgMCwtMi4yMSBjIDAsLTEuNiAtMC4yLC0yLjg3IC0wLjQ5LC0zLjg3IC0wLjMsLTAuODkgLTAuOCwtMS42MiAtMS40OSwtMi4xMiAtMC43LC0wLjUgLTEuNTgsLTAuNjggLTIuNjgsLTAuNjggeiBtIDEyLjE4LC4wOSAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjE4LC0wLjcwIC0wLjE4LC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjE4LDIuMzkgLjY4LDMuMDkgLjQ5LC43IDEuMjEsMSAyLjIxLDEgMS40LDAgMi40OCwtMC42OSAzLjE4LC0yLjA5IGwgLjA5LDAgLjMxLDEuNzggMi41OSwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMTcuMzEsMCAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjIxLC0wLjcwIC0wLjIxLC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjIxLDIuMzkgLjcxLDMuMDkgLjUsLjcgMS4xOCwxIDIuMTgsMSAxLjM5LDAgMi41MSwtMC42OSAzLjIxLC0yLjA5IGwgLjA5LDAgLjI4LDEuNzggMi42MiwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMjAuOTAsMi4wOSBjIC40LDAgLjU4LC4xMSAuNzgsLjMxIC4yLC4zIC4zMCwuNTkgLjQwLDEuMDkgLjEsLjUgLjA5LDEuMjEgLjA5LDIuMjEgbCAwLDEuMDkgLTIuNSwwIDAsLTEuMDkgYyAwLC0xIC0wLjAwLC0xLjcxIC4wOSwtMi4yMSAwLC0wLjQgLjExLC0wLjggLjMxLC0xIC4yLC0wLjMgLjUxLC0wLjQwIC44MSwtMC40MCB6IG0gLTUwLjQ5LC4xMiBjIC41LDAgLjgsLjE4IDEsLjY4IC4xOSwuNSAuMjgsMS4zMCAuMjgsMi40MCBsIDAsNC42OCBjIDAsMS4xIC0wLjA4LDEuOTAgLTAuMjgsMi40MCAtMC4yLC41IC0wLjUsLjY4IC0xLC42OCAtMC41LDAgLTAuNzksLTAuMTggLTAuOTksLTAuNjggLTAuMiwtMC41IC0wLjMxLC0xLjMwIC0wLjMxLC0yLjQwIGwgMCwtNC42OCBjIDAsLTEuMSAuMTEsLTEuOTAgLjMxLC0yLjQwIC4yLC0wLjUgLjQ5LC0wLjY4IC45OSwtMC42OCB6IG0gMzkuNjgsLjA5IGMgLjMsMCAuNjEsLjEwIC44MSwuNDAgLjIsLjMgLjI3LC42NyAuMzcsMS4zNyAuMSwuNiAuMTIsMS41MSAuMTIsMi43MSBsIC4wOSwxLjkwIGMgMCwxLjEgLjAwLDEuOTkgLTAuMDksMi41OSAtMC4xLC42IC0wLjE5LDEuMDggLTAuNDksMS4yOCAtMC4yLC4zIC0wLjUwLC40MCAtMC45MCwuNDAgLTAuMywwIC0wLjUxLC0wLjA4IC0wLjgxLC0wLjE4IC0wLjIsLTAuMSAtMC4zOSwtMC4yOSAtMC41OSwtMC41OSBsIDAsLTguNSBjIC4xLC0wLjQgLjI5LC0wLjcgLjU5LC0xIC4zLC0wLjMgLjYwLC0wLjQwIC45MCwtMC40MCB6In19XX19OwpVRj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntmaWxsOiJub25lIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxNDMgNTEiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoiTTU4LjM3IDQxLjM5SDYyLjc5VjI3LjIzQzYyLjc5IDIzLjAzIDYyLjY5IDE4LjY5IDYyLjQzIDEzLjU5SDYyLjkzTDYzLjY5IDE2Ljg5TDY4LjY3IDQxLjM5SDczLjE3TDc4LjA3IDE2Ljg5TDc4Ljg5IDEzLjU5SDc5LjM3Qzc5LjE1IDE4LjQ1IDc5LjAzIDIyLjg5IDc5LjAzIDI3LjIzVjQxLjM5SDgzLjQ1VjguNzlINzUuOTVMNzMuNDEgMjAuODFDNzIuMzUgMjUuODUgNzEuNTEgMzIuMDEgNzEuMDEgMzUuMTlINzAuNzNDNzAuMzMgMzEuOTUgNjkuNDkgMjUuODEgNjguNDEgMjAuODVMNjUuODEgOC43OUg1OC4zN1Y0MS4zOVoiLGZpbGw6IndoaXRlIn19LHtaOiJwYXRoIix4YTp7ZDoiTTkxLjQ1IDQxLjczQzkzLjkxIDQxLjczIDk1LjgzIDQwLjU5IDk3LjE3IDM4LjEzSDk3LjM1TDk3LjY5IDQxLjM5SDEwMS40M1YxNy43M0g5Ni40N1YzNi42MUM5NS45MSAzNy42NyA5NC44MSAzOC4yOSA5My43MyAzOC4yOUM5Mi4zMyAzOC4yOSA5MS44OSAzNy4xNyA5MS44OSAzNS4xM1YxNy43M0g4Ni45M1YzNS40M0M4Ni45MyAzOS40OSA4OC4xOSA0MS43MyA5MS40NSA0MS43M1oiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMTAuNzkgNDEuODlDMTE1LjE1IDQxLjg5IDExNy43NSAzOS44MyAxMTcuNzUgMzUuNjVDMTE3Ljc1IDMxLjc5IDExNS45MyAzMC4zOSAxMTEuODUgMjcuNDdDMTA5LjY3IDI1LjkxIDEwOC4zOSAyNS4wOSAxMDguMzkgMjIuOTVDMTA4LjM5IDIxLjQ3IDEwOS4yNyAyMC42MSAxMTAuODkgMjAuNjFDMTEyLjY5IDIwLjYxIDExMy4zMyAyMS44MSAxMTMuMzMgMjUuMjlMMTE3LjQ1IDI1LjA3QzExNy43NyAxOS41NyAxMTUuNzEgMTcuMjMgMTEwLjk3IDE3LjIzQzEwNi41NyAxNy4yMyAxMDQuMTcgMTkuMjcgMTA0LjE3IDIzLjQ1QzEwNC4xNyAyNy4yNSAxMDUuOTcgMjguODMgMTA4LjkzIDMxLjAzQzExMS44OSAzMy4yMyAxMTMuNTUgMzQuNTMgMTEzLjU1IDM2LjIzQzExMy41NSAzNy43NSAxMTIuNTEgMzguNjEgMTExLjAxIDM4LjYxQzEwOS4xMyAzOC42MSAxMDguMTEgMzYuOTcgMTA4LjI5IDM0LjQxTDEwNC4yMSAzNC40OUMxMDMuNTEgMzkuMjUgMTA1Ljg5IDQxLjg5IDExMC43OSA0MS44OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMjIuNSAxNC41OUMxMjQuMjIgMTQuNTkgMTI1LjA0IDEzLjk5IDEyNS4wNCAxMS41OUMxMjUuMDQgOS4zMyAxMjQuMTYgOC42NSAxMjIuNSA4LjY1QzEyMC44NCA4LjY1IDExOS45NCA5LjI3IDExOS45NCAxMS41OUMxMTkuOTQgMTMuOTkgMTIwLjgyIDE0LjU5IDEyMi41IDE0LjU5Wk0xMjAuMiA0MS4zOUgxMjVWMTcuNzNIMTIwLjJWNDEuMzlaIixmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMzQuOTUgNDEuNzlDMTM3LjMxIDQxLjc5IDEzOC42MyA0MS40OSAxMzkuNzEgNDAuNDdDMTQxLjMxIDM5LjAxIDE0MS45NyAzNi42MyAxNDEuODUgMzMuMTFMMTM3LjQxIDMyLjg3QzEzNy40MSAzNi44NyAxMzYuODEgMzguNDUgMTM1LjAzIDM4LjQ1QzEzMy4xMyAzOC40NSAxMzIuNzcgMzYuNDUgMTMyLjc3IDMxLjk3VjI3LjIxQzEzMi43NyAyMi40MSAxMzMuMjMgMjAuNTEgMTM1LjA3IDIwLjUxQzEzNi42NyAyMC41MSAxMzcuMjkgMjIuMDEgMTM3LjI5IDI2LjQ3TDE0MS42NSAyNi4xNUMxNDEuOTcgMjIuOTMgMTQxLjU5IDIwLjI5IDE0MC4wOSAxOC44M0MxMzkuMDEgMTcuNzcgMTM3LjM3IDE3LjI5IDEzNS4xNSAxNy4yOUMxMjkuNjUgMTcuMjkgMTI3Ljc1IDIwLjczIDEyNy43NSAyOC4wM1YzMS4xN0MxMjcuNzUgMzguNDcgMTI5LjIzIDQxLjc5IDEzNC45NSA0MS43OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6eyJjbGlwLXJ1bGUiOiJldmVub2RkIixkOiJNMjQuOTkgNDlDMjkuNzQgNDkuMDAgMzQuMzggNDcuNTkgMzguMzIgNDQuOTVDNDIuMjcgNDIuMzIgNDUuMzUgMzguNTcgNDcuMTcgMzQuMThDNDguOTggMjkuODAgNDkuNDYgMjQuOTcgNDguNTMgMjAuMzJDNDcuNjEgMTUuNjYgNDUuMzIgMTEuMzggNDEuOTcgOC4wM0MzOC42MSA0LjY3IDM0LjMzIDIuMzggMjkuNjggMS40NkMyNS4wMiAuNTMgMjAuMjAgMS4wMSAxNS44MSAyLjgyQzExLjQzIDQuNjQgNy42OCA3LjcxIDUuMDQgMTEuNjZDMi40MCAxNS42MSAxIDIwLjI1IDEgMjVDMC45OSAyOC4xNSAxLjYxIDMxLjI3IDIuODIgMzQuMThDNC4wMyAzNy4wOSA1Ljc5IDM5Ljc0IDguMDIgNDEuOTdDMTAuMjUgNDQuMTkgMTIuODkgNDUuOTYgMTUuODEgNDcuMTdDMTguNzIgNDguMzcgMjEuODQgNDkgMjQuOTkgNDlaTTI0Ljk5IDEyLjM2QzI3LjQ5IDEyLjM2IDI5Ljk0IDEzLjEwIDMyLjAyIDE0LjQ4QzM0LjEwIDE1Ljg3IDM1LjcyIDE3Ljg0IDM2LjY4IDIwLjE1QzM3LjY0IDIyLjQ2IDM3Ljg5IDI1LjAxIDM3LjQxIDI3LjQ2QzM2LjkyIDI5LjkxIDM1LjcyIDMyLjE3IDMzLjk1IDMzLjk0QzMyLjE4IDM1LjcwIDI5LjkzIDM2LjkxIDI3LjQ4IDM3LjQwQzI1LjAyIDM3Ljg5IDIyLjQ4IDM3LjY0IDIwLjE3IDM2LjY4QzE3Ljg2IDM1LjcyIDE1Ljg4IDM0LjEwIDE0LjUwIDMyLjAyQzEzLjExIDI5Ljk0IDEyLjM3IDI3LjUwIDEyLjM3IDI1QzEyLjM3IDIxLjY1IDEzLjcwIDE4LjQ0IDE2LjA3IDE2LjA3QzE4LjQzIDEzLjcwIDIxLjY0IDEyLjM3IDI0Ljk5IDEyLjM2Wk0yNC45OSAxMC40M0MyMi4xMSAxMC40MyAxOS4yOSAxMS4yOCAxNi44OSAxMi44OEMxNC41MCAxNC40OCAxMi42MyAxNi43NiAxMS41MyAxOS40MkMxMC40MiAyMi4wOSAxMC4xMyAyNS4wMiAxMC43MCAyNy44NUMxMS4yNiAzMC42NyAxMi42NSAzMy4yNyAxNC42OSAzNS4zMUMxNi43MyAzNy4zNSAxOS4zMiAzOC43MyAyMi4xNSAzOS4zMEMyNC45OCAzOS44NiAyNy45MSAzOS41NyAzMC41NyAzOC40NkMzMy4yMyAzNy4zNiAzNS41MSAzNS40OSAzNy4xMSAzMy4wOUMzOC43MSAzMC43MCAzOS41NyAyNy44OCAzOS41NiAyNUMzOS41NiAyMy4wOCAzOS4xOSAyMS4xOSAzOC40NiAxOS40MkMzNy43MiAxNy42NSAzNi42NSAxNi4wNCAzNS4zMCAxNC42OUMzMy45NCAxMy4zNCAzMi4zNCAxMi4yNyAzMC41NyAxMS41M0MyOC44MCAxMC44MCAyNi45MCAxMC40MyAyNC45OSAxMC40M1pNMzIuNjMgMjQuOTlMMjAuMzYgMzIuMDlWMTcuOTFMMzIuNjMgMjQuOTlaIiwKZmlsbDoid2hpdGUiLCJmaWxsLXJ1bGUiOiJldmVub2RkIn19XX19Owp5RT1mdW5jdGlvbihuPXt9LFc9W10pe1cucHVzaCgieXRwLW1lbnVpdGVtIik7InJvbGUiaW4gbnx8KG4ucm9sZT0ibWVudWl0ZW0iKTsidGFiaW5kZXgiaW4gbnx8KG4udGFiaW5kZXg9IjAiKTtyZXR1cm57WjoiZGl2IixLQjpXLHhhOm4sWEY6W3taOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0taWNvbiIsT3E6Int7aWNvbn19In0se1o6ImRpdiIsSnc6Inl0cC1tZW51aXRlbS1sYWJlbCIsT3E6Int7bGFiZWx9fSJ9LHtaOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0tY29udGVudCIsT3E6Int7Y29udGVudH19In1dfX07CkVGPWZ1bmN0aW9uKG4pe3JldHVybiBuP2cuRHAobik6IiJ9OwppNT1mdW5jdGlvbihuKXtyZXR1cm4gbj09PS0weDgwMDAwMDAwMDAwMDA/IkJFRk9SRV9NRURJQV9TVEFSVCI6bj09PTA/Ik1FRElBX1NUQVJUIjpuPT09MHg3ZmZmZmZmZmZmZmZmPyJNRURJQV9FTkQiOm49PT0weDgwMDAwMDAwMDAwMDA/IkFGVEVSX01FRElBX0VORCI6bi50b1N0cmluZygpfTsKZy51NT1mdW5jdGlvbihuLFcpe3JldHVybiBuLnN0YXJ0LVcuc3RhcnR8fG4ucHJpb3JpdHktVy5wcmlvcml0eXx8bi5KLVcuSn07Cmcub3k9ZnVuY3Rpb24obil7cmV0dXJuYGNybl8ke259YH07CmcuZHY9ZnVuY3Rpb24obil7cmV0dXJuYGNyeF8ke259YH07Cnp1PWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5zdGFydCxbMl06bi5lbmQsWzNdOm4uaWQsWzRdOm4ucHJpb3JpdHksWzVdOm4ubmFtZXNwYWNlLFs2XTpuLnZpc2libGUsWzddOm4uc3R5bGUsWzhdOm4udG9vbHRpcCxbOV06bi5jb2xvcixbMTBdOm4uaWNvbnMsWzExXTpuLmFzc29jaWF0ZWRDbGlwSWQsWzEyXTpuLm1hcmtlclBvc2l0aW9uTXN9fTsKVHU9ZnVuY3Rpb24obixXLEQsYil7VyBpbiBuLk58fChEPW5ldyBnLmw1KEQsYix7aWQ6Vyxwcmlvcml0eToyLG5hbWVzcGFjZToiYXBwYWQifSksbi5hcGkuZ2goW0RdLDEpLG4uTltXXT1EKX07CmpCPWZ1bmN0aW9uKG4sVyl7TGF4KG4sVykudGhlbihEPT57Zy5nbyhXLHZvaWQgMCx2b2lkIDAsRCl9KX07CkMyPWZ1bmN0aW9uKG4sVyl7Vy5mb3JFYWNoKEQ9PntqQihuLEQpfSl9OwpCNz1mdW5jdGlvbihuLFcsRCl7aWYoIShEIGluIFcpKXJldHVybiExO1c9V1tEXTtBcnJheS5pc0FycmF5KFcpfHwoVz1bV10pO2ZvcihsZXQgYiBvZiBXKVc9e0NQTjpuLmFwaS5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlfSxXPWcuR0soYixXKSxnLmdvKFcsdm9pZCAwLG9PKHpFKFcsZXh4LG51bGwpLFcsITEsIkFjdGl2ZSBWaWV3IDNyZCBQYXJ0eSBJbnRlZ3JhdGlvbiBVUkwiKXx8b08oekUoVyxndGosbnVsbCksVywhMSwiR29vZ2xlL1lvdVR1YmUgQnJhbmQgTGlmdCBVUkwiKXx8b08oekUoVyxYSzIsbnVsbCksVywhMSwiTmllbHNlbiBPQ1IgVVJMIikpO3JldHVybiEwfTsKTGF4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5hcGkuRygpKSYmZy5CVihXKSYmZy5qSChXKT9nLkhFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKS5WKCkpLnRoZW4oRD0+e3ZhciBiO0QmJihiPXtBdXRob3JpemF0aW9uOmBCZWFyZXIgJHtEfWB9KTtyZXR1cm4gYn0sdm9pZCAwKTpnLkgwKCl9OwpGej1mdW5jdGlvbihuLFcpe24uY2hlY2tlZD1XO24uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsU3RyaW5nKG4uY2hlY2tlZCkpfTsKd3Y9ZnVuY3Rpb24obixXKXtuLmVuYWJsZWQ9VztuLmVuYWJsZWQ/bi5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIpOm4uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIil9OwpNcD1mdW5jdGlvbihuLFcsRD0hMSxiKXt2YXIgdj1uLmN1cnJlbnRUYXJnZXQ7aWYoIUQmJmYyKG4pKXJldHVybiBuLnByZXZlbnREZWZhdWx0KCksITA7Vy5wYXVzZVZpZGVvKCk7bj12LmdldEF0dHJpYnV0ZSgiaHJlZiIpO1E1KG4sYik7cmV0dXJuITF9OwpSeT1mdW5jdGlvbihuLFcsRCl7aWYodkUoVy5HKCkpJiZXLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCkhPT0yKWYyKEQpJiYoVy5pc0Z1bGxzY3JlZW4oKSYmIVcuRygpLmV4dGVybmFsRnVsbHNjcmVlbiYmVy50b2dnbGVGdWxsc2NyZWVuKCksRC5wcmV2ZW50RGVmYXVsdCgpKTtlbHNle2xldCBiPWYyKEQpO2ImJlcucGF1c2VWaWRlbygpO1E1KG4pO2ImJihnLmNhKG4pLEQucHJldmVudERlZmF1bHQoKSl9fTsKUUU9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/LmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giJiYhbi5WKCl9OwpWRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5hdWRpbz8uVz09PSEwfTsKYzc9ZnVuY3Rpb24obil7cmV0dXJuIG4uVigpfTsKYXk9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/Lk49PT0hMH07Cm52PWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg8MilyZXR1cm4hMTt2YXIgRD1XKG5bMF0pO3JldHVybiBuLnNvbWUoYj0+VyhiKSE9PUQpfTsKYlk9ZnVuY3Rpb24obixXKXtuPXFJdyhuLFcubGFuZ3VhZ2VJZCk7bj1XdShuLCEhVy5nTyk7cmV0dXJuIG49RGIobiwhIVcuajkpfTsKV3U9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+YXkoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+VkUoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKR0t0PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcuaWQhPT0idW5kIj9nLkVNKG4sRD0+e3ZhciBiPVcuZ2V0TGFuZ3VhZ2VJbmZvKCk/Lm5hbWU7cmV0dXJuIEQua1o/Lm5hbWU9PT1ifSk6bn07CnFJdz1mdW5jdGlvbihuLFcpe2lmKFcmJlchPT0idW5kIilpZih0eXBlb2YgVz09PSJzdHJpbmciKXt2YXIgRD1nLmxfKG4sdj0+di5pZD09PVcpOwppZihEPy5rWil2YXIgYj1ELmtaLmlkfWVsc2UgYj1XLmtaPy5pZDtpZihiJiYoRD1nLkVNKG4sdj0+di5rWj8uaWQ9PT1iKSxELmxlbmd0aD4wKSlyZXR1cm4gRDsKRD1nLkVNKG4sdj0+ISF2LmtaPy5pc0RlZmF1bHQpOwpyZXR1cm4gRC5sZW5ndGg+MD9EOm59Owp0QUM9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PmM3KEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59Owokd2o9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PlFFKEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59OwpyYVU9ZnVuY3Rpb24obixXKXtuPW5ldyBTZXQobi5tYXAoVykpO24uZGVsZXRlKHZvaWQgMCk7cmV0dXJuIG4uc2l6ZT49Mn07CnNGTT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnByaW9yaXR5LW4ucHJpb3JpdHl9Owp2dT1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRCluLml0ZW1zLnB1c2goVyksbi5tZW51SXRlbXMuZWxlbWVudC5hcHBlbmRDaGlsZChXLmVsZW1lbnQpO2Vsc2V7RD1nLlc0KG4uaXRlbXMsVyxzRk0pO2lmKEQ+PTApcmV0dXJuO0Q9fkQ7Zy5jTShuLml0ZW1zLEQsMCxXKTtnLmpwKG4ubWVudUl0ZW1zLmVsZW1lbnQsVy5lbGVtZW50LEQpfVcuc3Vic2NyaWJlKCJzaXplLWNoYW5nZSIsbi5xQSxuKTtuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKX07CmtzPWZ1bmN0aW9uKG4sVyl7Vy51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLG4ucUEsbik7bi5xTigpfHwoZy5GSShuLml0ZW1zLFcpLG4ubWVudUl0ZW1zLmVsZW1lbnQucmVtb3ZlQ2hpbGQoVy5lbGVtZW50KSxuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKSl9OwpnLmhCPWZ1bmN0aW9uKG4sVyl7aWYobi5XKXt2YXIgRD1uLm9wdGlvbnNbbi5XXTtELmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiKTtELmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCJmYWxzZSIpO24uVz1udWxsfWlmKEQ9bi5vcHRpb25zW1ddKUQuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsInRydWUiKSxuLlgobi5qKFcpKSxuLlc9V307Ck5YaD1mdW5jdGlvbihuLFcsRCxiKXtEPW5ldyB4cyh7WjoiZGl2IixLQjpbInl0cC1tZW51aXRlbSIsIiJdLHhhOnt0YWJpbmRleDoiMCIscm9sZToibWVudWl0ZW1yYWRpbyIsImFyaWEtY2hlY2tlZCI6Yj8idHJ1ZSI6ImZhbHNlIn0sWEY6W3taOiJkaXYiLEtCOlsieXRwLW1lbnVpdGVtLWxhYmVsIl0sT3E6Int7bGFiZWx9fSJ9XX0sRCxuLmooVykpO0QuU18oImNsaWNrIiwoKT0+e24uRChXKX0pOwpyZXR1cm4gRH07CmcuTHY9ZnVuY3Rpb24obixXKXt2YXIgRD1uLks7Zm9yKHZhciBiIG9mIEQuaXRlbXMpYi51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLEQucUEsRCk7RC5pdGVtcz1bXTt0cnl7Zy5URihELm1lbnVJdGVtcy5lbGVtZW50KX1jYXRjaCh2KXtnLkdxKG5ldyBnLlF4KCJGYWlsZWQgdG8gcmVtb3ZlIG1lbnUgaXRlbXMgZnJvbSBwYW5lbCBtZW51LiIse2Vycm9yOnYubWVzc2FnZSxvcmlnaW5hbFN0YWNrOnYuc3RhY2ssY2hpbGRUb0JlUmVtb3ZlZDpELm1lbnVJdGVtcy5lbGVtZW50LmZpcnN0Q2hpbGQ/LnRleHRDb250ZW50Pz8iY2hpbGQgZWxlbWVudCBub3QgZm91bmQifSkpfUQubWVudUl0ZW1zLldKKCJzaXplLWNoYW5nZSIpO0Q9e307Yj0hMTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XSxoPW4ub3B0aW9uc1trXSx4PWs9PT1uLlc7eCYmKGI9ITApO2gmJmgucHJpb3JpdHk9PT0tdj8obi5vcHRpb25zW2tdLnVwZGF0ZVZhbHVlKCJsYWJlbCIsbi5qKGspKSwKZGVsZXRlIG4ub3B0aW9uc1trXSk6aD1OWGgobixrLC12LHgpO0Rba109aDt2dShuLkssaCwhMCl9Ynx8KG4uVz1udWxsKTtmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobi5vcHRpb25zKSluLm9wdGlvbnNbdl0uZGlzcG9zZSgpO24ub3B0aW9ucz1EfTsKZW49ZnVuY3Rpb24obil7aWYobi5tZW51SXRlbSl7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk7bi5tZW51SXRlbS5lbmFibGUoISFXJiYhIVcuV2spfX07CmdWPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tQb3NpdGlvbj8udXRjVGltZU1pbGxpcykvMUUzO2xldCBiPWBlbWJhcmdvXyR7V31gO24uYXBpLmFkZFV0Y0N1ZVJhbmdlKGIsVyxXK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSwiZW1iYXJnbyIsITEpO0Qub25FbnRlciYmKG4uTltiXT1ELm9uRW50ZXIuZmlsdGVyKG4uSikpfX07CllJMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRSb290Tm9kZSgpO1c9bi5hcGkuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLmVtYmVkc0VuYWJsZUVtYzNkcz9XLnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnR8fFc6VztuLk49bmV3IHBLcihXLEQ9PntEIT1udWxsJiYobi5hcGkuRygpLmVLPUQsbi5hcGkuRygpLkxLPSJFTUJFRERFRF9QTEFZRVJfVklTSUJJTElUWV9GUkFDVElPTl9TT1VSQ0VfSU5URVJTRUNUSU9OX09CU0VSVkVSIil9KTsKZy51KG4sbi5OKTtuLmV2ZW50cy5OTihuLmFwaSwidmlkZW9TdGF0c1BpbmdDcmVhdGVkIixEPT57dmFyIGI9bi5OO2I9Yi5OPT1udWxsP251bGw6TWF0aC5yb3VuZChiLk4qMTAwKS8xMDA7RC5pbnZpZXc9YiE9bnVsbD9iOnZvaWQgMDtiPW4uYXBpLmdldFBsYXllclNpemUoKTtpZihiLmhlaWdodD4wJiZiLndpZHRoPjApe2I9W01hdGgucm91bmQoYi53aWR0aCksTWF0aC5yb3VuZChiLmhlaWdodCldO2xldCB2PWcuSF8oKTt2PjEmJmIucHVzaCh2KTtiPWIuam9pbigiOiIpfWVsc2UgYj12b2lkIDA7RC5zaXplPWJ9KX07CkhfVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+bmV3IG11KFcuaWQsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2taOlcua1p9KSl9OwpxVz1mdW5jdGlvbihuLFcsRCxiKXtmdW5jdGlvbiB2KGgpe3ZhciB4PSEoaC5zdGF0dXMhPT0yMDQmJmguc3RhdHVzIT09MjAwJiYhaC5yZXNwb25zZSk7aD17c3VjYzpgJHsreH1gLHJjOmguc3RhdHVzLGxiOmgucmVzcG9uc2U/LmJ5dGVMZW5ndGh8fDAscnQ6KCgwLGcuUikoKS1rKS50b0ZpeGVkKCksc2hvc3Q6Zy5JUChuKSx0cmlnZ2VyOld9O1hyKGgsbik7RCYmRChoKTtiJiYheCYmYihuZXcgZy5DaSgicGF0aHByb2JlLm5ldCIsaCkpfQp2YXIgaz0oMCxnLlIpKCk7Zy5lZChuLHtmb3JtYXQ6IlJBVyIscmVzcG9uc2VUeXBlOiJhcnJheWJ1ZmZlciIsdGltZW91dDoxRTQsb25GaW5pc2g6dixvblRpbWVvdXQ6dn0pfTsKWHI9ZnVuY3Rpb24obixXKXt3aW5kb3cucGVyZm9ybWFuY2U/LmdldEVudHJpZXNCeU5hbWUmJihXPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoVykpJiZXLmxlbmd0aCYmKFc9V1swXSxuLnBlZG5zPShXLmRvbWFpbkxvb2t1cEVuZC1XLnN0YXJ0VGltZSkudG9GaXhlZCgpLG4ucGVjb249KFcuY29ubmVjdEVuZC1XLmRvbWFpbkxvb2t1cEVuZCkudG9GaXhlZCgpLG4ucGVycXM9KFcucmVxdWVzdFN0YXJ0LVcuY29ubmVjdEVuZCkudG9GaXhlZCgpKX07CnRCPWZ1bmN0aW9uKG4pe3JldHVybiBHRChuLmlqLCFuLnBvbGljeS5mUixuLnBvbGljeS5RSCl9OwpmaXg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1pbihuLnBvbGljeS5UNiwkcyhuLmlqKSk7bj10QihuKTtyZXR1cm4gVy1EKm59OwpyVj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLm1heChNYXRoLm1heChuLnBvbGljeS5abSxuLnBvbGljeS5UNCpEKSxNYXRoLm1pbihNYXRoLm1pbihuLnBvbGljeS5ISiwzMSpEKSxNYXRoLmNlaWwoVypEKSkpKXx8bi5wb2xpY3kuWm19OwpzYj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe2lmKG4ucG9saWN5LlE3KXJldHVybiBNYXRoLmNlaWwobi5wb2xpY3kuUTcqVyk7bi5wb2xpY3kudm4mJihiPU1hdGguYWJzKGIpKTtiLz1uLnBsYXliYWNrUmF0ZTt2YXIgaz0xL0dEKG4uaWopO0Q9TWF0aC5tYXgoLjkqKGItMyksJHMobi5paikrbi5pai5KLk4qaykvayouOC8oVytEKTtEPU1hdGgubWluKEQsYik7bi5wb2xpY3kuSFk+MCYmdiYmKEQ9TWF0aC5tYXgoRCxuLnBvbGljeS5IWSkpO3JldHVybiByVihuLEQsVyl9OwpOVz1mdW5jdGlvbihuKXtyZXR1cm4gdEIobikvbi5wbGF5YmFja1JhdGV9Owpwdj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5yZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3l8fFtdLHY9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5zdGFydE1pblJlYWRhaGVhZFBvbGljeXx8W107bj1JbmZpbml0eTtXPVcmJmIubGVuZ3RoPjA/Yjp2O2ZvcihsZXQgayBvZiBXKVc9ay5taW5SZWFkYWhlYWRNc3x8MCxEPChrLm1pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjfHwwKXx8bj5XJiYobj1XKTtyZXR1cm4gbjxJbmZpbml0eT9uLzFFMzpufTsKZnY9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5pbmZvLmFaKXJldHVybiBELmxlbmd0aD09PTA/RC5wdXNoKGIpOihuPUQucG9wKCk/LmooYikpP0QucHVzaChuKTpELnB1c2goYiksdjsoRD1ELnBvcCgpPy5qKGIpKXx8KEQ9Yik7aWYoRC5pbmZvLk4pcmV0dXJuIG4ubG9nZ2VyJiZuLmxvZ2dlcih7aW5jb21wbGV0ZVNlZ21lbnQ6RC5pbmZvLmdhKCl9KSx2O3ZhciB7Zm9ybWF0SWQ6ayxqJDpoLHN0YXJ0VGltZU1zOngsY2xpcElkOkwscjk6ZX09bi5LKEQpO2I9e2NsaXBJZDpMLGZvcm1hdElkOmssc3RhcnRUaW1lTXM6eCxkdXJhdGlvbk1zOmUsQUM6aCxpOTpofTt2PVlzKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRztpZihHPUQpe0c9Yjt2YXIgcj12LE49RC5zdGFydFRpbWVNcytELmR1cmF0aW9uTXMsSD1HLnN0YXJ0VGltZU1zK0cuZHVyYXRpb25NcztpZihHLnN0YXJ0VGltZU1zLU4+bi5OKUc9ITE7ZWxzZSBpZihIdShuLEQuZm9ybWF0SWQsRy5mb3JtYXRJZCkpRC5kdXJhdGlvbk1zPQpNYXRoLm1heChOLEgpLUQuc3RhcnRUaW1lTXMsRC5pOT1NYXRoLm1heChELmk5LEcuaTkpLEc9ITA7ZWxzZSBpZihNYXRoLmFicyhELnN0YXJ0VGltZU1zLUcuc3RhcnRUaW1lTXMpPD1uLk4paWYoRC5kdXJhdGlvbk1zPkcuZHVyYXRpb25NcytuLk4pe3I9RC5mb3JtYXRJZDt2YXIgQT1ELkFDLHk9RC5pOTtELmZvcm1hdElkPUcuZm9ybWF0SWQ7RC5kdXJhdGlvbk1zPUcuZHVyYXRpb25NcztELkFDPUcuQUM7RC5pOT1HLmk5O0cuZm9ybWF0SWQ9cjtHLnN0YXJ0VGltZU1zPUg7Ry5kdXJhdGlvbk1zPU4tSDtHLkFDPUE7Ry5pOT15O0c9ITF9ZWxzZSBELmZvcm1hdElkPUcuZm9ybWF0SWQsRz0hMDtlbHNlIE4+Ry5zdGFydFRpbWVNcyYmKE4+SCYmKFcuc3BsaWNlKHIrMSwwLHtmb3JtYXRJZDpELmZvcm1hdElkLHN0YXJ0VGltZU1zOkgsZHVyYXRpb25NczpOLUgsQUM6Ry5pOSsxLGk5OkQuaTl9KSxuLmxvZ2dlciYmbi5sb2dnZXIoe3NwbGl0T2xkU3RhcnQ6RC5zdGFydFRpbWVNcz8udG9GaXhlZCgzKSwKc3BsaXRPbGRFbmQ6Tj8udG9GaXhlZCgzKSxzcGxpdE5ld1N0YXJ0Okcuc3RhcnRUaW1lTXM/LnRvRml4ZWQoMyksc3BsaXROZXdFbmQ6SD8udG9GaXhlZCgzKX0pKSxELmR1cmF0aW9uTXM9Ry5zdGFydFRpbWVNcy1ELnN0YXJ0VGltZU1zLEQuaTk9Ry5BQy0xKSxHPSExfUc/Yj1EOih2Kz0xLFcuc3BsaWNlKHYsMCxiKSk7RD0wO2ZvcihHPXYrMTtHPFcubGVuZ3RoO0crKyl7Tj1uO0g9V1tHXTtyPWI7QT1ILnN0YXJ0VGltZU1zK0guZHVyYXRpb25Nczt5PXIuc3RhcnRUaW1lTXMrci5kdXJhdGlvbk1zO3k+PUErTi5OP049ITA6eStOLk48SC5zdGFydFRpbWVNcz9OPSExOkh1KE4sSC5mb3JtYXRJZCxyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKWXM9ZnVuY3Rpb24obixXKXtuPWcuVzQobix7c3RhcnRUaW1lTXM6V30sKEQsYik9PkQuc3RhcnRUaW1lTXMtYi5zdGFydFRpbWVNcyk7CnJldHVybiBuPj0wP246LW4tMn07CkpCPWZ1bmN0aW9uKG4sVyxEKXtpZihuLmxvZ2dlcil7dmFyIGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl07ay5Faj8uc3RhcnRUaWNrcyYmYi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9wc3N0LiR7ay5Faj8uc3RhcnRUaWNrc31fcHNkLiR7ay5Faj8ubDh9YCk7Yi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9lLiR7ay5zdGFydFRpbWVNcytrLmR1cmF0aW9uTXN9X2QuJHtrLmR1cmF0aW9uTXN9X3NuLiR7ay5BQ31fZW4uJHtrLmk5fWApfW4ubG9nZ2VyKHtwOmAke0R9YCxicjpiLmpvaW4oIjsiKX0pfX07Ckk2PWZ1bmN0aW9uKG4sVyxEPSExKXtpZihuLlFFKXt2YXIgYj1uLlFFLlpGKCk7aWYoYi5sZW5ndGghPT0wKXtpZihuLlcmJlcpe3ZhciB2PW4uVyxrPXYuaW5mby5YOyFCUihiLGspJiZ2LmluZm8uSz4wJiYoMCxnLlIpKCktbi5EPDVFMyYmKG4ubG9nZ2VyJiZuLmxvZ2dlcih7ZGVuZDp2LmluZm8uZ2EoKX0pLGI9akcoYixrLGsrLjAxKSl9dj1bXTtmb3IodmFyIGg9az0wO2s8Yi5sZW5ndGgmJmg8bi5lVy5sZW5ndGg7KXt2YXIgeD1iLnN0YXJ0KGspO2xldCBOPWIuZW5kKGspO3ZhciBMPW4uZVdbaF0uc3RhcnRUaW1lTXMvMUUzO2xldCBIPShuLmVXW2hdLnN0YXJ0VGltZU1zK24uZVdbaF0uZHVyYXRpb25NcykvMUUzO2lmKEw8PU4mJkg+PXgpe2xldCBBPXsuLi5uLmVXW2hdfTt2YXIgZT1uLkt1LkouZ2V0KE1rKG4uZVdbaF0uZm9ybWF0SWQpKSxHPU1hdGgubWF4KEwseCk7eD1lLmluZGV4LlIzKEcrbi5OLzFFMyk7TD1lLmluZGV4LmdldFN0YXJ0VGltZSh4KTt2YXIgcj14KworKE1hdGguYWJzKEwtRyk+bi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uaW5mby5XfHwxMTshRCYmaD09PW4uSiYmTjxIJiZILU48PXgqMS4wMSYmIShuLnBvbGljeS5TdyYmbi5RRSYmbi5RRS55dSgpKSYmKE49SCk7eD1NYXRoLm1pbihILE4pO0w9ZS5pbmRleC5SMyh4LW4uTi8xRTMpO0c9ZS5pbmRleC5qRShMKTtMLT0rKE1hdGguYWJzKEcteCk+bi5OLzFFMyk7eD1MK24uWDtlPWUuaW5kZXguakUoTCkqMUUzO0EuaTk9eDtBLmR1cmF0aW9uTXM9ZS1BLnN0YXJ0VGltZU1zO0EuQUM8PUEuaTkmJnYucHVzaChBKX1IPE4/aCs9MTprKz0xfW4uZVc9dn19fTsKSmFpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9Wy4uLm4uUDNdO24uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5UQy5aUCgpLHY9bi5KO2ZvcihsZXQgayBvZiBiKXY9ZnYobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLFAzOkR9fTsKSHU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXLml0YWchPT1ELml0YWd8fFcueHRhZ3MhPT1ELnh0YWdzPyExOm4uS3Uueld8fFcubG10PT09RC5sbXR9OwpaYj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCFXLlBKLk4oKSl7aWYoISh2PUQ9PT0wfHwhIVcuSi5sZW5ndGgmJlcuSlswXWluc3RhbmNlb2YgU24pKWE6e2lmKFcuSi5sZW5ndGgmJih2PVcuSlswXSx2IGluc3RhbmNlb2YgQUImJnYuSk8mJnYuYUkpKXt2PSEwO2JyZWFrIGF9dj0hMX12fHxuLnBvbGljeS5OfHxtaShXKTtyZXR1cm4gRH12YXIgaz1LdihXLEQpO2lmKCFpc05hTihrKSlyZXR1cm4gaztpZihuLmxvYWRlci5DNyhEKjFFMykpcmV0dXJuIEQ7di5BTT9uLnBvbGljeS5WSCYmKG49T2Iobi5sb2FkZXIsVyksVy5zTShEK24sITApKTooVy56aSgpLG4ubG9hZGVyLlgkKCExLGBzdGFfJHsrVy5QSi5pbmZvLmVTKCl9YCkpO3JldHVybiBiJiYobj1GWihiLlpGKCksRCksIWlzTmFOKG4pKT8oUHUoVyxuK0lpYix2KSxEKTpQdShXLEQsdil9OwpVYj1mdW5jdGlvbihuLFcsRCl7aWYoIW4ucG9saWN5Lmope249Vy5QSi5pbmRleDt2YXIgYj1XLk4uaiQ7bi5NSShiKXx8RCYmRC5qJD09PWI/KFcuUEQ9IW4uTUkoYiksVy5EPSFuLk1JKGIpKTooVy5QRD0hMCxXLkQ9ITApfX07CkViPWZ1bmN0aW9uKG4pe3ZhciBXPU1hdGgubWF4KG4udmlkZW9UcmFjay5TRSgpLG4uYXVkaW9UcmFjay5TRSgpKTt5ayhuLnZpZGVvVHJhY2spO3lrKG4uYXVkaW9UcmFjayk7bi5wb2xpY3kuanx8ajQobi5LdSk7bi5LdS5pc01hbmlmZXN0bGVzcyYmIW4ucG9saWN5LmomJihuLk49ITAsbi5KPTApO3ZhciBEPW4ubG9hZGVyO2lmKCFELnBvbGljeS5sbnx8RC5wb2xpY3kuR0MpRC5jdXJyZW50VGltZT1XO24uc2Vla2luZz0hMDtuLlc9bmV3IFk2O3JldHVybiBuLld9OwpvNj1mdW5jdGlvbihuKXt2YXIgVz1uLnZpZGVvVHJhY2suWCE9PS0xLEQ9bi5hdWRpb1RyYWNrLlghPT0tMTtpZighV3x8IUQpaWYoVz0hVyYmaVkobi52aWRlb1RyYWNrKSxEPSFEJiZpWShuLmF1ZGlvVHJhY2spLFd8fEQpaWYoRD1XP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2ssVz1XP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2ssRC5YPWlZKEQpLmluZm8uaiQsbi5wb2xpY3kuaiYmKFcuWD1pWShXKT8uaW5mby5UQygpfHxXLlgpLFcuWCE9PS0xKXtsZXQgYj1NYXRoLm1heChXLlBKLmluZGV4LmdldFN0YXJ0VGltZShXLlgpLEQuUEouaW5kZXguZ2V0U3RhcnRUaW1lKEQuWCkpO3VBKG4uS3UpJiZNYXRoLmFicyhiLXVBKG4uS3UpKT40MzJFMyYmS0t0KG4uS3UpO24uSiYmKGI9bi5KLG4uSj0wKTtnLm1LKCgpPT57bi5wb2xpY3kuanx8dVkobixiLDEwMil9KTsKbi5sb2FkZXIuVSgiaW5pdE1hbmlmZXN0bGVzc1N5bmMiLHtzdDpiLG9zdDpiK24ubG9hZGVyLlNXKCksYTpuLmF1ZGlvVHJhY2suWCx2Om4udmlkZW9UcmFjay5YfSk7bi5XJiYobi5XLnJlc29sdmUoYisuMSksbi5XPW51bGwpO24ucG9saWN5LmomJnVZKG4sYiwxMDIpfX07ClNJWj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uaXNTZWVraW5nKCkpcmV0dXJuLTE7RD0oRD9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5QSi5pbmRleDt2YXIgYj1ELlIzKG4udGFyZ2V0VGltZSk7cmV0dXJuKEQuTUkobi5LdS5JdCl8fFcuaiQ9PT1uLkt1Lkl0KSYmYjxuLkt1Lkl0P24uS3UuTGYoKTotMX07CnVZPWZ1bmN0aW9uKG4sVyxEKXtuLk4mJm4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEmJihuLk49ITEsbi50YXJnZXRUaW1lPVcsZFYobi5sb2FkZXIsVysuMSx7QTk6ITAscWQ6ImNodW5rU2VsZWN0b3JTeW5jaHJvbml6ZSIscWE6ITAsc2Vla1NvdXJjZTpEfSkpfTsKQWEyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4ucG9saWN5LmopIWJ8fCFuLk4mJm4ucG9saWN5LkJWfHxnLm1LKCgpPT57bzYobil9KTsKZWxzZXtpZihuLmlzU2Vla2luZygpJiZuLnRhcmdldFRpbWUpe2xldCBrPVNJWihuLFcsRCk7aWYoayE9PS0xKXtuLnZpZGVvVHJhY2suUEQ9ITE7bi5hdWRpb1RyYWNrLlBEPSExO24uTj0hMDtuLko9MDtnLm1LKCgpPT57bi5sb2FkZXIuVSgic2Vla3JlYXNvbiIse3JlYXNvbjoiYmVoaW5kTWluU3EiLHRndDprfSk7dVkobixrKX0pOwpyZXR1cm59fUQ/bi52aWRlb1RyYWNrLkQ9ITE6bi5hdWRpb1RyYWNrLkQ9ITE7dmFyIHY9IW4uTjtLdihuLnZpZGVvVHJhY2ssbi50YXJnZXRUaW1lKT49MCYmS3Yobi5hdWRpb1RyYWNrLG4udGFyZ2V0VGltZSk+PTAmJnY/KG4uUEQoKSYmbi5sb2FkZXIuVSgiaXRlcmF0aXZlU2Vla2luZyIse3N0YXR1czoiZG9uZSIsY291bnQ6bi5zZWVrQ291bnR9KSxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExKTpiJiZnLm1LKCgpPT57aWYobi5OfHwhbi5wb2xpY3kuQlYpbzYobik7ZWxzZXt2YXIgaz1XLnN0YXJ0VGltZSxoPVcuZHVyYXRpb247aWYoIW4ucG9saWN5Lmope3ZhciB4PW4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEsTD0hbi52aWRlb1RyYWNrLkQmJiFuLmF1ZGlvVHJhY2suRDsoRD9uLnZpZGVvVHJhY2suUEQ6bi5hdWRpb1RyYWNrLlBEKSYmeCYmTCYmKG4udGFyZ2V0VGltZT49ayYmbi50YXJnZXRUaW1lPGsraCsuMT8oKEQ/bi52aWRlb1RyYWNrOgpuLmF1ZGlvVHJhY2spLlBEPSExLG4uUEQoKXx8KG4ubG9hZGVyLlUoIml0ZXJhdGl2ZVNlZWtpbmciLHtzdGF0dXM6ImRvbmUiLHRhcmdldDprLG9yaWdpbmFsVGltZTprK24ubG9hZGVyLlNXKCksY291bnQ6bi5zZWVrQ291bnR9KSxuLnNlZWtDb3VudD0wKSk6bi5zZWVrQ291bnQ8OD8obi5zZWVrQ291bnQrKyxuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbnByb2dyZXNzIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprLGR1cmF0aW9uOmgsaXNWaWRlbzpEfSksbi5zZWVrKG4udGFyZ2V0VGltZSx7fSkpOihuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbmNvbXBsZXRlIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprfSksbi5zZWVrQ291bnQ9MCxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExLGRWKG4ubG9hZGVyLGsrLjEse0E5OiEwLHFkOiJjaHVua1NlbGVjdG9yU3luY2hyb25pemVNZWRpYSIsCnFhOiEwfSkpKX19fSl9fTsKVEQ9ZnVuY3Rpb24obixXLEQpe3pEKG4uaWosVyk7bi5EdCYmKG4uRHQuYWRkKE1hdGguY2VpbChXKS1NYXRoLmNlaWwobi5LKSksbi5EdC5hZGQoTWF0aC5tYXgoMCxNYXRoLmNlaWwoRC8xMDI0KS1NYXRoLmNlaWwobi5YLzEwMjQpKSkpO3ZhciBiPVctbi5LLHY9RC1uLlg7bi5VNT12O24ualc9TWF0aC5tYXgobi5qVyx2LyhiKy4wMSkqMUUzKTtuLks9VztuLlg9RDtuLkhKJiZEPm4uSEomJmxZKG4pfTsKbFk9ZnVuY3Rpb24obil7bi5udT1NYXRoLm1heChuLm51LG4uWC1uLlJ0KTtuLlZRPU1hdGgubWF4KG4uVlEsbi5LLW4uWmgpO24uSEo9MH07Cm13cj1mdW5jdGlvbihuLFcpe24udXJsPVc7d2luZG93LnBlcmZvcm1hbmNlJiYhcGVyZm9ybWFuY2Uub25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwmJihwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbD0oKT0+e3BlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCl9KX07CmpuPWZ1bmN0aW9uKG4pe24uaXNBY3RpdmUmJihuLmlzQWN0aXZlPSExKX07CkN2PWZ1bmN0aW9uKG4pe24uZSQ9bi5OK24uc25hcHNob3QuZGVsYXkqMUUzO24udlg9ITF9OwpGcj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uZGlzYWJsZVJlY29yZGluZyl7Vz1NYXRoLm1heChXLC4wMSk7dmFyIGI9bi5xWT9NYXRoLm1heChXLEQvbi5xWSk6Vyx2PW4uaWouSi5XO3YmJihiPVcsbi5xWSYmKGI9TWF0aC5tYXgoVyxEL24ucVkqdikpKTtCdShuLmlqLFcsRCxiKX19Owp3Vj1mdW5jdGlvbihuKXt2YXIgVz1uLkZGfHxuLkdDO3JldHVybiBXP24uc25hcHNob3QuZGVsYXkrTWF0aC5taW4obi5POCwobi5jSi1uLnR3KS8xRTMpK1c6bi5zNX07Ck1XPWZ1bmN0aW9uKG4pe3JldHVybihuLlktbi5OKS8xRTN9OwpRaz1mdW5jdGlvbihuLFcpe2lmKG4uaG4mJm4uaiQhPT12b2lkIDAmJm4uWkEhPT12b2lkIDApe3ZhciBEPU1hdGgsYj1ELm1pbix2PW4uVjt2YXIgaz1uLmhuO3ZhciBoPW4uTjtpZihSNihrLG4uaiQpKWs9VztlbHNle3ZhciB4PTA7ay50SSYmKHg9LjIpO2s9aCsoay5POCt4KSoxRTN9bi5WPWIuY2FsbChELHYsayk7RD1NYXRoO2I9RC5taW47dj1uLk87az1uLmhuO2g9bi5OO3g9S2EyKGssbi5qJCxuLlpBKTt4IT09MiYmKFc9eD9XOmgray5POCoxRTMsay50SSYmKFcrPWsuTzgqMUUzKSk7bi5PPWIuY2FsbChELHYsVyk7bi5WPD1uLk4/Q3Yobik6KG4uZSQ9bi5WLG4udlg9ITApfX07ClZrPWZ1bmN0aW9uKG4sVyl7aWYoVysxPD1uLnRvdGFsTGVuZ3RoKXt2YXIgRD1yZChuLFcpO0Q9RDwxMjg/MTpEPDE5Mj8yOkQ8MjI0PzM6RDwyNDA/NDo1fWVsc2UgRD0wO2lmKEQ8MXx8IShXK0Q8PW4udG90YWxMZW5ndGgpKXJldHVyblstMSxXXTtpZihEPT09MSluPXJkKG4sVysrKTtlbHNlIGlmKEQ9PT0yKUQ9cmQobixXKyspLG49cmQobixXKyspLG49KEQmNjMpKzY0Km47ZWxzZSBpZihEPT09Myl7RD1yZChuLFcrKyk7dmFyIGI9cmQobixXKyspO249cmQobixXKyspO249KEQmMzEpKzMyKihiKzI1NipuKX1lbHNlIGlmKEQ9PT00KXtEPXJkKG4sVysrKTtiPXJkKG4sVysrKTtsZXQgdj1yZChuLFcrKyk7bj1yZChuLFcrKyk7bj0oRCYxNSkrMTYqKGIrMjU2Kih2KzI1NipuKSl9ZWxzZSBEPVcrMSxuLmZvY3VzKEQpLFhhKG4sRCw0KT9uPXFEKG4pLmdldFVpbnQzMihELW4uVywhMCk6KGI9cmQobixEKzIpKzI1NipyZChuLEQrMyksbj1yZChuLEQpKzI1NioocmQobixEKzEpKwoyNTYqYikpLFcrPTU7cmV0dXJuW24sV119OwpjdT1mdW5jdGlvbihuKXtyZXR1cm4gZy5keihuLmluZm8uQXcsVz0+Vy50eXBlPT09Myl9OwpDbmk9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz8obmV3IHVvKG4uSikpLmVuY3J5cHQoVyxuLk4pOld9OwpGSTE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz9hd2FpdCAobmV3IHVvKG4uSikpLmRlY3J5cHQoVyxuLk4pOld9OwphNj1mdW5jdGlvbihuKXtuLlcucmVhZCgpLnRoZW4obi5ZLG4ub25FcnJvcikudGhlbih2b2lkIDAsZy5xZyl9OwpXcD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGdaKDYsMTE3MCxuLkFPKSlyZXR1cm4gbmV3IE9fcihuLEQpO249bi5XRCgpO3JldHVybiBiP3lXKCk/bmV3IG4zKG4sVyxELHYpOm5ldyBQSGoobixXLEQsdik6bmV3IFpfQyhuLEQsdil9OwpEeD1mdW5jdGlvbihuLFcsRCl7bi5OJiYoZTUobi5OLFcpLFc9bi5OLG4uTj1udWxsKTt2YXIgYj0wLHY9MDtmb3IobGV0IEwgb2Ygbi5Bdyl7aWYoTC5yYW5nZSYmYitMLko8PW4uSil7Yis9TC5KO2NvbnRpbnVlfWlmKGhKKEwpJiYhRCYmbi5KK1cudG90YWxMZW5ndGgtdjxiK0wuSil7KHtZOTpuLk59PVcuc3BsaXQodikpO2JyZWFrfWE6e3ZhciBrPW47dmFyIGg9TCx4PW4uSi1iO2xldCBlPVcudG90YWxMZW5ndGgtdjtoLnJhbmdlJiYoZT1NYXRoLm1pbihoLkoteCxlKSk7aD1HUChoLGguTit4LGUsaC5yYW5nZT9oLk4reCtlPT09aC5yYW5nZS5sZW5ndGg6ISFEKTt4PWdkKFcsdixlKTtoPW5ldyBiOChoLHgpO2lmKGsualMubGVuZ3RoJiYoeD1rLmpTW2sualMubGVuZ3RoLTFdLmooaCkpKXtrLmpTW2sualMubGVuZ3RoLTFdPXg7az1lO2JyZWFrIGF9ay5qUy5wdXNoKGgpO2s9ZX1uLkorPWs7dis9aztiKz1MLko7aWYodj09PVcudG90YWxMZW5ndGgpYnJlYWt9fTsKYnU9ZnVuY3Rpb24obil7cmV0dXJuIFVZKG4ubm4sUjAoNjQsMzUzNixuLlNPLkFPKSl9Owp2cD1mdW5jdGlvbihuKXtuLlhiLk89KDAsZy5SKSgpO249YnUobik7bi5qPSgwLGcuUikoKTtuLnN0YXJ0ZWQrPTF9OwprWj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe24udGltaW5nLkhEKCgwLGcuUikoKSxXLEQpO1c9bi5YYjtXLko9MDtXLlY9MDtXLkQ9MDt6aihidShuKSx2KTtiJiYoYj1idShuKSxiLlcrPTEpO24uVWo/Lk8obi5TTy5BTyl9OwpoVT1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubGFzdEVycm9yPT09InVtcC5zcHNyZWplY3RmYWlsdXJlIiluLnRpbWluZy5iZHx8d0Eobi5YYiwhMSxuLlNPLG4ucG9saWN5LG4ubm4pO2Vsc2V7aWYobi5sYXN0RXJyb3I9PT0ibmV0LnRpbWVvdXQiKW4udGltaW5nLnlFKCgwLGcuUikoKSk7ZWxzZXt2YXIgRD1uLnRpbWluZztURChELCgwLGcuUikoKSxELlgpfW4ubGFzdEVycm9yPT09Im5ldC5ub2NvbnRlbnQiPysrbi5YYi5EOigoRD1uLmxhc3RFcnJvcj09PSJuZXQudGltZW91dCJ8fG4ubGFzdEVycm9yPT09Im5ldC5jb25uZWN0Inx8bi5sYXN0RXJyb3I9PT0ibmV0LmNsb3NlZCIpJiYhZ1ooNiwxMTcwLG4uU08uQU8pP29FaShidShuKSxXKTp5ZihidShuKSxXKSxuLnRpbWluZy5iZHx8d0Eobi5YYixELG4uU08sbi5wb2xpY3ksbi5ubikpfW4uWWEudlYoNSl9Owp4Wj1mdW5jdGlvbihuLFcsRCxiPSExLHY9ITEsaz0hMSl7cmV0dXJuIFc+PTQwMHx8az8obi5sYXN0RXJyb3I9az8icHJvYmUubmV0LmJhZHN0YXR1cyI6Im5ldC5iYWRzdGF0dXMiLCEwKTp2PyhuLmxhc3RFcnJvcj0idW1wLnNwc3JlamVjdGZhaWx1cmUiLCEwKTpEfHxiPyExOihuLmxhc3RFcnJvcj1XPT09MjA0PyJuZXQubm9jb250ZW50IjoibmV0LmNvbm5lY3QiLCEwKX07CkwzPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuYiQpcmV0dXJuITE7dmFyIEQ9Vy5nZXRSZXNwb25zZUhlYWRlcigiY29udGVudC10eXBlIiksYj1XLmlpKCk7bj0hYnx8Yjw9bi5wb2xpY3kub2M7cmV0dXJuKCFXLkdwKCl8fCFEfHxELmluZGV4T2YoInRleHQvcGxhaW4iKSE9PS0xKSYmbn07CmVWPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9IiI7Vz1XLnNOKCk7Vy50b3RhbExlbmd0aDw9bi5wb2xpY3kub2MmJihuPXRSKFcpLG49cFIobiksRD1nWChuKT9uOiIiKTtyZXR1cm4gRH07CmdDPWZ1bmN0aW9uKG4pe3ZhciBXPW4udGltaW5nLkQoKTtXLnNob3N0PVIwKDk2LDM1Njgsbi5TTy5BTyk7bi5wb2xpY3kuQ3UmJm4ucG9saWN5LnZYJiYoVy5jc3JjPTEpO3JldHVybiBXfTsKVXdiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4/Lm1heFdpZHRoPlc/Lm1heFdpZHRofHxuPy5tYXhIZWlnaHQ+Vz8ubWF4SGVpZ2h0fTsKeWFqPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcua2V5cygpKXtsZXQgYj1XLmdldChEKTtpZihiLmxlbmd0aD09PTApY29udGludWU7Zy5iZihiLChoLHgpPT54Lm1heEZyYW1lcmF0ZS1oLm1heEZyYW1lcmF0ZSk7CmxldCB2PVtiWzBdXSxrPTA7Zm9yKGxldCBoPTE7aDxiLmxlbmd0aDtoKyspVXdiKGJbaF0sdltrXSkmJih2LnB1c2goYltoXSksaysrKTtuPW4uY29uY2F0KHYpfXJldHVybiBufTsKaV9iPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpVz1FdGpbYl18fDAsbi5OJiZXPm4uTnx8RC5wdXNoKGIpO3JldHVybiBEfTsKWHU9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXVkWltuXXx8W107RC5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4IikmJihiPW90dFtuXXx8W10pO1cucHVzaCguLi5iKTtELlMoImh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9kcm0iKSYmVy5wdXNoKC4uLihkd3Rbbl18fFtdKSl9Owp6eFM9ZnVuY3Rpb24obixXKXt2YXIgRD1WeihuKSxiPW4uRygpLHY9Yi5XO2I9Yi5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4Iik7dmFyIGs9bi5OUCgpO2lmKGIpe2lmKCF2Lk4pe2lmKGsmJnFxKXJldHVybiBxcTtpZihHSSlyZXR1cm4gR0l9fWVsc2UgaWYoR0kmJiF2Lk4pcmV0dXJuIEdJO3ZhciBoPVtdLHg9W10sTD17fSxlPXRVLmNvbmNhdCgkWik7YiYmKGU9dFUuY29uY2F0KHJDKSk7bi5TKCJodG1sNV9lYXJseV9tZWRpYV9mb3JfZHJtIikmJihlPWUuY29uY2F0KHNHKSxuLlMoImFsbG93X3ZwOV8xMDgwcF9tcV9lbmMiKSYmZS5wdXNoKE5xKSk7dmFyIEc9Wy4uLnAzXTtuLlMoImh0bWw1X2lhbWZfYXVkaW9fb25lc2llX2ZtdCIpJiZHLnB1c2goWyI3NzMiXSk7Zm9yKHZhciByIG9mIGUpe2U9ITE7Zm9yKGxldCBIIG9mIHIpe3ZhciBOPVNNKEgsayYmYik7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2lmKE4uTVcoKSYmIUQuZSQmJk4udmlkZW8ucXVhbGl0eU9yZGluYWw+CkQublMpY29udGludWU7bGV0IEE9Zy5kTShuLkcoKS5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7aWYoQT4wJiZVTihOKSYmTi5Ocz5BKWNvbnRpbnVlO2lmKGUpe2gucHVzaChIKTtYdShILGgsbik7Y29udGludWV9Tj1zRChELE4sdik7Tj09PSEwPyhlPSEwLGgucHVzaChIKSxYdShILGgsbikpOkxbSF09Tn19Zm9yKGxldCBIIG9mIEcpZm9yKGxldCBBIG9mIEgpe3I9QXUoQSk7aWYoIXJ8fCFyLmF1ZGlvfHwhbi5TKCJodG1sNV9vbmVzaWVfNTFfYXVkaW8iKSYmci5WKCkpY29udGludWU7cj1zRChELHIsdik7aWYocj09PSEwKXt4LnB1c2goQSk7WHUoQSx4LG4pO2JyZWFrfWVsc2UgTFtBXT1yfWlmKCFuLlMoImh0bWw1X2VuYWJsZV9hdWRpb19xdWFsaXR5X3NldHRpbmciKSl7bj1bIjE0MSIsIjc3NCJdO2ZvcihsZXQgSCBvZiBuKXguaW5jbHVkZXMoSCkmJihnLkZJKHgsSCksTFtIXT0iYmxraHFhIil9RC5XJiZXKCJvcmZtdHMiLEwpO2lmKGIpcmV0dXJuIHYuTiYmCih2Lk49ITEscXE9R0k9dm9pZCAwKSxrP3FxPXt2aWRlbzpoLGF1ZGlvOnh9OkdJPXt2aWRlbzpoLGF1ZGlvOnh9O0dJPXt2aWRlbzpoLGF1ZGlvOnh9O3YuTj0hMTtyZXR1cm4gR0l9OwpqRk09ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLkwsYj1uLnlRLHY9bi5paixrPUQuZ2V0VmlkZW9EYXRhKCksaD1wNygwKTt2YXIgeD1ELmdldFZpc2liaWxpdHlTdGF0ZSgpO2IuUygiaHRtbDVfZW5hYmxlX2F1ZGlvX3F1YWxpdHlfc2V0dGluZyIpJiYoVy5pQj1iLmlCKTtoJiYoVy5pSD1oLFcubGFzdE1hbnVhbERpcmVjdGlvbj1Sc3goKSxoPVVQKCl8fDAsaD4wJiYoaD0oYi5TKCJodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2UiKT9EYXRlLm5vdygpOigwLGcuUikoKSktaCxiLlMoImh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZSIpP2g+MCYmKFcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpOlcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpKTtpZih2Lk98fGIuUygiaHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lIikmJnc4KWg9CmIuUygiaHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmUiKT8hIW4ub1o/LmZSOiExLFcuSSQ9R0QodiwhaCk7dmFyIEw9TkcubWVkaXVtLGU9TWF0aC5mbG9vcihMKjE2LzkpLEc9ay5OUCgpfHwoay5OJiZrLlcmJmsuVy52aWRlb0luZm9zLmxlbmd0aCE9PTA/ay5XLnZpZGVvSW5mb3NbMF0uaXNWZXJ0aWNhbCgpOiExKTtoPUc/TDplO2U9Rz9lOkw7Rz1ELlNpKCk7TD1HLndpZHRoO0c9Ry5oZWlnaHQ7Vy5zQT1NYXRoLm1heChMLGgpO1cuWUE9TWF0aC5tYXgoRyxlKTtiLlMoImh0bWw1X2VuYWJsZV9jbGllbnRfdmlld3BvcnRfc2l6ZV9sb2dnaW5nIikmJmIuV1goKSYmKGg9RC5NaCgpLEQuVSgiY3Z3Iix7dzpMLGg6Ryxjdnc6Vy5zQSxjdmg6Vy5ZQSxjdnU6aC5OfSkpO1cudmlzaWJpbGl0eT14O1cuWkk9Zy52SSgpO1cuZnE9RC5sNSgpKjFFMzt4PW4uTC52JCgpO1cuTk89e2RlZmF1bHRQb2xpY3k6eD8uRHI/Lk58fDAsc21vb3RoOng/LnpOPy5OfHwKMCx2aXNpYmlsaXR5Ong/LmN3Py5OfHwwLE9iOng/LkFFPy5OfHwwLHBlcmZvcm1hbmNlOng/LmlQPy5OfHwwLHNwZWVkOng/LlhOPy5OfHwwfTtXLlROPXg/LlFZPy5OfHwwO2lmKG4uaHF8fG4uQ3gmJiFuLmdEKWg9Yi5adCgpLk4uUVEobGlaKT8/MCxoPjAmJiFXLlROJiYoTD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLGgsITEsInAiKSksVy5OTy5kZWZhdWx0UG9saWN5PUwuTixELlUoImxzbCIse3FjOmh9KSksay5saXZlUHJlbG9hZCYmay5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIikmJiFrLkcoKS5adCgpLk4uUVEoSHApJiYoeD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLDI0MCwhMSwicCIpKSxXLk5PLmRlZmF1bHRQb2xpY3k9eC5OKTt4PW4uaHF8fGsuWjk/W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9LHt0cmFja1R5cGU6Myxpc0hkcjohMX0se3RyYWNrVHlwZTozLAppc0hkcjohMH0se3RyYWNrVHlwZTo0LGlzSGRyOiExfSx7dHJhY2tUeXBlOjQsaXNIZHI6ITB9LHt0cmFja1R5cGU6NSxpc0hkcjohMX0se3RyYWNrVHlwZTo1LGlzSGRyOiEwfV06W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9XTtXLmtjPW4uYXV0aG9yaXplZEZvcm1hdHMmJm4uYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoPjA/e2F1dGhvcml6ZWRGb3JtYXRzOm4uYXV0aG9yaXplZEZvcm1hdHN9OnthdXRob3JpemVkRm9ybWF0czp4fTtuLnNhYnJMaWNlbnNlQ29uc3RyYWludCYmKFcua2Muc2FickxpY2Vuc2VDb25zdHJhaW50PW4uc2FickxpY2Vuc2VDb25zdHJhaW50KTtpZihiLlMoImh0bWw1X29uZXNpZV9tZWRpYV9jYXBhYmlsaXRpZXMiKXx8TEEoaykpVy5ZZj0zO2lmKGIuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEoayl8fG4ub1o/Lk4mJmxvKGIpPT09IlRWSFRNTDVfQVVESU8iKVcuWWY9CjE7bi5vWj8ueUUmJm4ub0cmJihXLllmPVcuWWY9PT12b2lkIDA/NzpXLllmfDQpO3g9ay5lJD9rLmUkOlZ6KGspO2lmKGIuUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtoPWIuVztMPVtdO2U9W107Rz1iLlMoImh0bWw1X3Nob3J0c19vbmVzaWVfbWlzbWF0Y2hlZF9maXgiKTt2YXIgcj1rLk5QKCksTj10VS5jb25jYXQoJFopO0cmJihOPXRVLmNvbmNhdChyQykpO2IuUygiaHRtbDVfZWFybHlfbWVkaWFfZm9yX2RybSIpJiYoTj1OLmNvbmNhdChzRyksYi5TKCJhbGxvd192cDlfMTA4MHBfbXFfZW5jIikmJk4ucHVzaChOcSkpO3ZhciBIPVsuLi5wM107Yi5TKCJodG1sNV9pYW1mX2F1ZGlvX29uZXNpZV9mbXQiKSYmSC5wdXNoKFsiNzczIl0pO2Zvcih2YXIgQSBvZiBOKWZvcih2YXIgeSBvZiBBKXtOPVNNKHksciYmRyk7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2xldCBRPWcuZE0oYi5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7CmlmKCEoUT4wJiZVTihOKSYmTi5Ocz5RKSYmc0QoeCxOLGgpPT09ITApe0wucHVzaCh7dmlkZW9Db2RlYzpmM1tZZ1t5XV0sbWF4V2lkdGg6Ti52aWRlby53aWR0aCxtYXhIZWlnaHQ6Ti52aWRlby5oZWlnaHQsbWF4RnJhbWVyYXRlOk4udmlkZW8uZnBzfSk7YnJlYWt9fWZvcih2YXIgVCBvZiBIKWZvcih2YXIgeiBvZiBUKWlmKChBPUF1KHopKSYmQS5hdWRpbyYmKGIuUygiaHRtbDVfb25lc2llXzUxX2F1ZGlvIil8fCFBLlYoKSkmJnNEKHgsQSxoKT09PSEwKXtlLnB1c2goe2F1ZGlvQ29kZWM6SlVbWWdbel1dLG51bUNoYW5uZWxzOkEuYXVkaW8ubnVtQ2hhbm5lbHN9KTticmVha31XLm1lZGlhQ2FwYWJpbGl0aWVzPXt2aWRlb0Zvcm1hdENhcGFiaWxpdGllczpMLGF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzOmV9fWlmKG4ub1o/LkR0KCkpe0E9bi5JODt5PW4ubGw7aD1uLm9aPy5OcztUPVtdO3o9W107TD1uZXcgTWFwO2U9KGU9ay5KKT9lLml0YWc6dm9pZCAwO0c9ay5XPy52aWRlb0luZm9zOwpHPUc/Lmxlbmd0aD9HW0cubGVuZ3RoLTFdLml0YWc6dm9pZCAwO2U9IVZUKCkmJmUhPT12b2lkIDAmJkE/LmluY2x1ZGVzKE51bWJlcihHKSk7Rz1rLnl3Lk47Zm9yKHZhciBDIG9mIEcudmFsdWVzKCkpQy5lUz96LnB1c2goe2F1ZGlvQ29kZWM6SlVbQy5JQl0sbnVtQ2hhbm5lbHM6Qy5udW1DaGFubmVscyxzcGF0aWFsQ2FwYWJpbGl0eUJpdG1hc2s6VFhNW0MuSUJdfSk6KEc9ZjNbQy5JQl0scj1DLm1heEJpdHJhdGVCcHN8fDAsSD1oP2gqODowLHI9e3ZpZGVvQ29kZWM6RyxtYXhXaWR0aDp5JiYhZT84NTQ6Qy5tYXhXaWR0aHx8MCxtYXhIZWlnaHQ6eSYmIWU/NDgwOkMubWF4SGVpZ2h0fHwwLG1heEZyYW1lcmF0ZTpDLm1heEZyYW1lcmF0ZXx8MCxpczEwQml0U3VwcG9ydGVkOkMuejl8fCExLG1heEJpdHJhdGVCcHM6SCYmcj9NYXRoLm1pbihILHIpOkh8fHIsZWZmaWNpZW50OiEwfSxHPWAke0d9XyR7Qy56OX1gLEg9TC5nZXQoRyl8fFtdLEgucHVzaChyKSxMLnNldChHLEgpKTsKVD15YWooVCxMKTtDPUEmJiFlP1suLi5BXTpbXTtrLlMoImh0bWw1X3NzZmZfZGVueWxpc3Rfb3B1c19sb3ciKSYmQy5wdXNoKDI0OSwzNTApO1Z6KGspO1cubWVkaWFDYXBhYmlsaXRpZXM9e3ZpZGVvRm9ybWF0Q2FwYWJpbGl0aWVzOlQsYXVkaW9Gb3JtYXRDYXBhYmlsaXRpZXM6eixoZHJNb2RlQml0bWFzazozLHBlclBsYXliYWNrQXR0cmlidXRlczpDLmxlbmd0aD97aXRhZ0RlbnlsaXN0OkN9Ont9fX1XLnVxPVZUKCk7bi5vWj8uTiYmKFcuYnY9eC5idixXLm5TPW4ub1o/Lm5TKTtiLnlFJiYoVy5FYj1iLnlFKTtXLm5SPW4ublI7Vy5Zcz1uLllzO1cuZXE9bi5lcTtXLmo0PW4uajQ7bi5weiYmKFcubHE9KDAsZy5SKSgpLW4ucHopO24uSiQmJihXLkokPW4uSiQpO05zfHwoVy5aQz0hMCk7Qz0kcyh2KSoxRTM7Qz4wJiYoVy5YRD1DKTtEPUQuZ2V0UGxheWJhY2tSYXRlKCk7RCE9PTEmJihXLnBsYXliYWNrUmF0ZT1EKTtuLm9aPy5MQiYmbi5HNyYmKFcua0U9bi5rRSxXLlVtPW4uVW0sClcuRzc9bi5HNyk7WWQoKT09PTEmJihXLms4PTEpO2IuUygiaHRtbDVfc2Ficl9mb3JjZV9wcm94aW1hIikmJihXLlZYPTEpO0Q9Zy5kTShiLmV4cGVyaW1lbnRzLCJodG1sNV9zYWJyX2ZvcmNlX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tcyIpO1cucDY9RD4wP0Q6di5pbnRlcnJ1cHRpb25zWzBdfHwwO24ub1o/LllaJiYoVy5yMD1uLnIwKTtiLkhKJiYoVy5hdWRpb1RyYWNrSWQ9Yi5ISik7ay5aaCgpJiYhVy5hdWRpb1RyYWNrSWQmJihiLlMoImh0bWw1X2ZpbGxfZGVmYXVsdF9tb3NhaWNfYXVkaW9fdHJhY2tfaWQiKXx8KG49bGooayksVy5hdWRpb1RyYWNrSWQ9biksaz8uVSgibWlzc3Rya2NoZyIseyJkZWZhdWx0IjpXLmF1ZGlvVHJhY2tJZH0pKTtpZihuPW5hdmlnYXRvci5jb25uZWN0aW9uPy50eXBlfHwiIilXLmRldGFpbGVkTmV0d29ya1R5cGU9SXFbbl18fElxLm90aGVyOyFiLlMoImh0bWw1X2VuYWJsZV92b2ljZV9ib29zdCIpfHxrLk5QKCl8fGsuaXNBZCgpfHwKKFcucU09Yi5taCk7cmV0dXJuIFd9OwpTVj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD17fTtXJiYoeC5xJD1XKTtpZighbilyZXR1cm4geDt4LnBsYXliYWNrQ29va2llPUQ/LnBsYXliYWNrQ29va2llO3YmJih4LmROPXYpO3gudXQ9W107eC5ycT1bXTtpZihoPy5zaXplKWZvcihsZXQgTCBvZiBoLnZhbHVlcygpKXgucnEucHVzaChMKTtpZihuLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKGxldCBMIG9mIG4uc2FickNvbnRleHRVcGRhdGVzLnZhbHVlcygpKUNIaCh4LEwsYik7Zy5ZTihuKSYmayYmQ0hoKHgsayxiKTtXPW4uRygpLk47eC5jbGllbnRJbmZvPXtjbGllbnROYW1lOkJYdFtXLmMudG9VcHBlckNhc2UoKV18fDB9O1cuY2JyYW5kJiYoeC5jbGllbnRJbmZvLmRldmljZU1ha2U9Vy5jYnJhbmQpO1cuY21vZGVsJiYoeC5jbGllbnRJbmZvLmRldmljZU1vZGVsPVcuY21vZGVsKTtXLmN2ZXImJih4LmNsaWVudEluZm8uY2xpZW50VmVyc2lvbj1XLmN2ZXIpO1cuY29zJiYoeC5jbGllbnRJbmZvLm9zTmFtZT0KVy5jb3MpO1cuY29zdmVyJiYoeC5jbGllbnRJbmZvLm9zVmVyc2lvbj1XLmNvc3Zlcik7Vz1uLkcoKTtXLlMoImh0bWw1X3NhYnJfZW5hYmxlX3NlcnZlcl94dGFnX3NlbGVjdGlvbiIpJiZXLlJhJiYoeC5jbGllbnRJbmZvLmhsPVcuUmEpO24uQngmJih4LkJ4PW4uQngpO3JldHVybiB4fTsKQ0hoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XLnR5cGV8fDA7RD8uaGFzKGIpP24ucnEucHVzaChXKTpuLnV0LnB1c2goYil9OwpGYU09ZnVuY3Rpb24obil7aWYoISh5cyhuLmluZm8pJiZuLmluZm8uUW4oKSYmbi5wb2xpY3kuc1YmJm4uZTEpfHxuLmluZm8uWGIuSj49Mnx8cDcoKT4wfHwhSU8oKSlyZXR1cm4hMTt2YXIgVz1uLlNPLmdldCgiYWl0YWdzIik7aWYoIVcpcmV0dXJuITE7Vz1HNShXKS5zcGxpdCgiLCIpO3ZhciBEPVtdO2ZvcihsZXQgYiBvZiBuLmUxKWcuamooVyxiKSYmRC5wdXNoKGIpO2lmKCFELmxlbmd0aClyZXR1cm4hMTtuLlNPLnNldCgiYWx0aXRhZ3MiLHFoKEQuam9pbigiLCIpKSk7cmV0dXJuITB9Owp3S2o9ZnVuY3Rpb24obixXLEQ9ITEpe2cuWGooVyk7bi50NS5sYXN0RXJyb3I9InBsYXllci5leGNlcHRpb24iO24uZXJyb3JNZXNzYWdlPWAke1cubmFtZX1fJHtXLm1lc3NhZ2V9YDtEP2cubUsoKCk9PntoVShuLnQ1KX0pOmhVKG4udDUpfTsKTUFNPWZ1bmN0aW9uKG4pe24uZXcmJihuLnhoci5zdGF0dXM9bi5ldyxuLmxOPW4uZXcpfTsKUnhqPWZ1bmN0aW9uKG4sVyl7bi50aW1pbmcuYmQ9ITA7bi54aHIuR3AoKSYmbi50aW1pbmcuVEMoKTtuLnBvbGljeS5OZCYmbi5UMj8uc3RvcCgpO0R4KG4uV28sVywhMSl9OwpRRnc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ucVk/TWF0aC5tYXgoVyxEL24ucVkpOlcsdj1uLmlqLkouVzt2JiYoYj1XLG4ucVkmJihiPU1hdGgubWF4KFcsRC9uLnFZKnYpKSk7QnUobi5paixXLEQsYil9OwpWQVM9ZnVuY3Rpb24obixXLEQsYix2LGspe24uTyYmKG4uTy5hZGQoTWF0aC5yb3VuZChXKSksbi5PLmFkZChNYXRoLnJvdW5kKEQpKSxuLk8uYWRkKE1hdGgucm91bmQoYikpLG4uTy5hZGQoTWF0aC5yb3VuZCh2KSksbi5PLmFkZChNYXRoLnJvdW5kKGspKSxuLk8uYWRkKE1hdGgucm91bmQobi52WCkpKX07CmNhdD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgNjg6bi5aYihEKTticmVhaztjYXNlIDM1Om4uc3koRCk7YnJlYWs7Y2FzZSA0NDpuLklyKEQpO2JyZWFrO2Nhc2UgNDM6bi5yTihEKTticmVhaztjYXNlIDUzOm4ua0ooRCk7YnJlYWs7Y2FzZSA1NjpuLk9lKCk7YnJlYWs7Y2FzZSA1NzpuLnlUKEQpO2JyZWFrO2Nhc2UgNDI6bi5XbChEKTticmVhaztjYXNlIDQ1Om4udVEoRCk7YnJlYWs7Y2FzZSA1OTpuLmdZKEQpO2JyZWFrO2Nhc2UgNTE6bi5DWChEKTticmVhaztjYXNlIDQ5Om4uTiQoRCk7YnJlYWs7Y2FzZSA1MDpuLkZYKEQpO2JyZWFrO2Nhc2UgNDc6bi5BcShEKTticmVhaztjYXNlIDU4Om4uc1coRCk7YnJlYWs7Y2FzZSA2MTpuLkhFKEQpO2JyZWFrO2Nhc2UgNzI6bi5ZYS5UcSgpO2JyZWFrO2Nhc2UgNjY6bi56cChEKTticmVhaztjYXNlIDQ2Om4udnQoRCk7YnJlYWs7Y2FzZSA2NzpuLm9uU25hY2tiYXJNZXNzYWdlKEQpO2JyZWFrO2Nhc2UgNzE6Vz1tayhELApJbGopLG4uWWEuSUYoVyl9fTsKYWlNPWZ1bmN0aW9uKG4pe0FVPW59OwpuajE9ZnVuY3Rpb24obixXLEQpe24udTkuZ2V0KFcpLm9uUHJvZ3Jlc3M9RH07Cm1lPWZ1bmN0aW9uKG4sVyl7bi5nRihXKSYmKEFVP24udTkuZ2V0KFcpLkZtLmNsZWFyKCk6bi51OS5nZXQoVykualM9bmV3IFM1LG4uSihXKSxuLlg9ITApfTsKVyRqPWZ1bmN0aW9uKG4pe2ZvcihsZXQgW1csRF1vZiBuLnU5KXtsZXQgYj1XO0QuRG98fG1lKG4sYil9fTsKRDZ4PWZ1bmN0aW9uKG4sVyl7bj1uLnU5LmdldChXKTtpZighbilyZXR1cm4gMDtXPTA7aWYobi5Bdy5sZW5ndGg+MCl7Zm9yKGxldCBEIG9mIG4uQXcpVys9RC5yYW5nZT8ubGVuZ3RofHwwO3JldHVybiBXfWlmKG4uQnQubGVuZ3RoPjApZm9yKGxldCBEIG9mIG4uQnQpVys9RC5lSHx8MDtyZXR1cm4gVytuLk1vfTsKSzM9ZnVuY3Rpb24obixXKXtpZihBVSl7bGV0IEQ9MDtuPW4udTkuZ2V0KFcpO2lmKCFuPy5GbSlyZXR1cm4gMDtmb3IobGV0IGIgb2Ygbi5GbS52YWx1ZXMoKSlEKz1iLmRhdGEudG90YWxMZW5ndGg7cmV0dXJuIER9cmV0dXJuIG4udTkuZ2V0KFcpPy5qUy5qKCl8fDB9OwpPRz1mdW5jdGlvbihuLFcpe249bi51OS5nZXQoVyk7aWYoQVUpe2lmKCFuPy5EbylyZXR1cm4hMTtXPW4uRm0uc2l6ZT4wO3JldHVybiBuLnBKLmxlbmd0aD4wfHxXfXJldHVybiEhbj8uRG8mJiEhbj8ualMuaigpfTsKYmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi51OS5nZXQoVyksYj1ENngobixXKSx2PSFiJiYhIUQuYnl0ZXNSZWNlaXZlZDtpZihBVSl7aWYobi5LdT8uelcpe2Zvcih2YXIgayBvZiBELkZtLnZhbHVlcygpKWlmKCFrLmtuKXJldHVybiExO3JldHVybiB2fX1lbHNlIGlmKGs9bi5tNihXKSx2JiZuLlcmJmshPT12b2lkIDApcmV0dXJuIGs7cmV0dXJuKHZ8fEQuYnl0ZXNSZWNlaXZlZD09PWIpJiZELmJ5K0szKG4sVyk9PT1ELmJ5dGVzUmVjZWl2ZWR9OwpQcD1mdW5jdGlvbihuLFcsRCxiKXtXPXZqdyhuLFcsRCk7RD1ELmF1O2IuQXcucHVzaCguLi5XKTtpZihBVSliLmNCLmhhcyhEKXx8Yi5jQi5zZXQoRCxbXSksYi5jQi5nZXQoRCkucHVzaCguLi5XKTtlbHNlIGlmKGIuV28pZm9yKGxldCB2IG9mIFcpYi5Xby5Bdy5wdXNoKHYpO2Vsc2UgYi5Xbz1uZXcga0JoKFsuLi5iLkF3XSksbi5vWj8uSHgmJmcudShuLGIuV28pO3JldHVybiBXfTsKdmp3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkt1Py5KLmdldChXKTtpZighYilyZXR1cm5bXTtpZihELk9KKXJldHVybiBiLlkoMCxELmNsaXBJZCk/LkF3fHxbXTtpZihiLlcoKSl7dmFyIHY9RC5zdGFydE1zLGs9RC5kdXJhdGlvbk1zLGg9MUUzO24ub1o/Lk4mJkQudGltZVJhbmdlJiYodj1ELnRpbWVSYW5nZS5zdGFydFRpY2tzPz8tMSxrPUQudGltZVJhbmdlLmw4Pz8tMSxoPUQudGltZVJhbmdlLnRpbWVzY2FsZT8/LTEpO2lmKEQuenY8MHx8RC5QUDwwfHxrPDB8fHY8MHx8RC5lSDwwfHxoPDApcmV0dXJuIG1lKG4sVyksW107bj1XXyhELnp2LEQuZUgpO1c9RC5kR3x8MDtyZXR1cm5bbmV3IHFJKDMsYixuLCJtYWtlU2xpY2VJbmZvc01lZGlhQnl0ZXMiLEQuUFAtMSx2L2gsay9oLFcsbi5sZW5ndGgtVyx2b2lkIDAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV19aWYoRC5QUDwwKXJldHVybiBtZShuLFcpLFtdO2lmKG4uS3U/LnpXKXJldHVybiBrPWIucmIsaD1rKmIuaW5mby5OcywKVz1ELmRHLG4ub1o/Lk4mJm4uVi50ZCgpIT09Ik9ORVNJRSImJkQudGltZVJhbmdlJiYhVyYmKHY9RC50aW1lUmFuZ2Uuc3RhcnRUaWNrcy9ELnRpbWVSYW5nZS50aW1lc2NhbGUpLFtuZXcgcUkoMyxiLHZvaWQgMCwibWFrZVNsaWNlSW5mb3NNZWRpYUJ5dGVzIixELlBQLHYsayxXLGgsITAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV07aWYobi5vWj8uUXImJmIgaW5zdGFuY2VvZiBydCl7aWYoIWIuTigpKXJldHVybiBuLnU5LmdldChXKS5XcS5zZXQoRC5hdSxEKSxbXTtuPUQuUFAtMTt2PWIuaW5kZXguZ2V0U3RhcnRUaW1lKG4pO2s9Yi5pbmRleC5nZXREdXJhdGlvbihuKTtyZXR1cm5bbmV3IHFJKDMsYix2b2lkIDAsIm1ha2VTbGljZUluZm9zTWVkaWFCeXRlcyIsbix2LGssMCxrKmIuaW5mby5Ocyx2b2lkIDAsdm9pZCAwLHZvaWQgMCxELkhmIT09dm9pZCAwKV19cmV0dXJuW119OwpoNzI9ZnVuY3Rpb24obixXLEQpe24uS3U9VztuLm9aPUQ7Zm9yKGxldCBbYix2XW9mIG4udTkpe1c9YjtEPXY7Zm9yKGxldCBrIG9mIEQucDkpUHAobixXLGssRCl9fTsKeDZ3PWZ1bmN0aW9uKG4pe3JldHVybiBuLndEKCkmJiFuLkFkfTsKVUc9ZnVuY3Rpb24obil7aWYobi5VOCE9PXZvaWQgMCl7dmFyIFc9bi5wb2xpY3kual8oKTtpZihXKXt2YXIgRD1XLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRFdmVudHNDb3VudChuLlU4KTtpZihEPjApe3ZhciBiPVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2dldEJhdGNoZWRFdmVudHMobi5VOCk7aWYoYil7Yj1XLm1lbW9yeS5idWZmZXIoYixEKjE2KTtiPW5ldyBVaW50MzJBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsRCo0KTtsZXQgaz0wO2ZvcihsZXQgaD0wO2g8RDtoKyspe3ZhciB2PWJba107bGV0IHg9YltrKzFdLEw9YltrKzJdLGU9YltrKzNdO3Y9PT0wP2UhPT0wJiYodj14JiZMPjA/bmV3IFM1KFtXLm1lbW9yeS5idWZmZXIoeCxMKS5zbGljZSgpXSk6bmV3IFM1KFtuZXcgVWludDhBcnJheSgwKV0pLG4ueUQud20oZSx2KSk6dj09PTEmJm4ueGhyLkdwKCkmJlp4KG4pO2srPTR9fVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NsZWFyRXZlbnRzKG4uVTgpfX19fTsKWng9ZnVuY3Rpb24obil7bi5wb2xpY3kuWTAmJm4uUHEmJiFuLmdVP24uZ1U9ITA6bi5uZi5UQygpfTsKTCQyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9LTEsYj0tMSx2PS0xO2lmKG4udFk/Lml0ZW1zKWZvcihsZXQgayBvZiBuLnRZLml0ZW1zKVc8ay5Ga3x8ay5GazxEfHwoRD1rLkZrLGI9ay5meix2PWsubWluUmVhZGFoZWFkTXMpO3JldHVybntxRTpELGZ6OmIsRFE6dn19Owp5Qj1mdW5jdGlvbihuKXtpZihuLlU4IT09dm9pZCAwKXJldHVybiBuLnBvbGljeS5qXygpLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRNZWRpYUJ5dGVzKG4uVTgpfTsKZy5FRz1mdW5jdGlvbihuLFcsRCl7Zy52UChuLEQpfHxnLmdfKG4sVyxEKTtnLnZQKG4sInZpZGVvX3RvX2FkIil8fGcuZ18obixXLCJ2aWRlb190b19hZCIpO2cudlAobiwiYWRfdG9fdmlkZW8iKXx8Zy5nXyhuLFcsImFkX3RvX3ZpZGVvIik7Zy52UChuLCJhZF90b19hZCIpfHxnLmdfKG4sVywiYWRfdG9fYWQiKX07Cml1PWZ1bmN0aW9uKG4pe24uT3x8KG4uTz0oMCxnLlIpKCksZy5FRygibWJfcyIsbi5PLG4uelIpKX07CmU3Yj1mdW5jdGlvbihuKXtuLnR3fHwobi50dz0oMCxnLlIpKCksZy5FRygib3Zmc19ycCIsbi50dyxuLnpSKSl9OwpnajE9ZnVuY3Rpb24obil7bi5jSnx8KG4uY0o9KDAsZy5SKSgpLGcuRUcoIm9hZnNfcnAiLG4uY0osbi56UikpfTsKWFNoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XIGluc3RhbmNlb2YgdXUmJiFuLlgmJiFuLk4sdj0hbi5YJiZEPy5pbmZvLnZpZGVvO0Q9IW4uTiYmRD8uaW5mby5hdWRpbztXLnN0YXRlPT09Mz8oKHZ8fGIpJiZuLnRpY2soInZyciIpLChEfHxiKSYmbi50aWNrKCJhcnIiKSk6Vy5zdGF0ZT09PTQ/dj8obi5YPVcuV0QoKSxnLkR5KCksYlEoNCkpOkQmJihuLk49Vy5XRCgpKTpXIGluc3RhbmNlb2YgQUImJlcuUXkoKSYmdiYmKGcuRHkoKSxiUSg0KSl9OwpvcT1mdW5jdGlvbihuLFcsRCl7bi5KIT09VyYmKG4uVSgic2RhaSIse3NldHNzdDpXLG9sZDpuLkoscjpEfSksbi5KPVcpfTsKR0JiPWZ1bmN0aW9uKG4sVyxELGI9ITApe2lmKEQmJiFuLlRDLmhhcyhXLmokKSl7dmFyIHY9Vy5zdGFydFRpbWUsaz1bXTtmb3IodmFyIGg9MDtoPEQuTi5sZW5ndGg7aCsrKXt2YXIgeD1ELk5baF0sTD12O3Y9TCtELkpbaF07ay5wdXNoKHtzdGFydFRpbWU6TCxlbmRUaW1lOnYsYWRDcG46eH0pfW4uVEMuc2V0KFcuaiQsayl9bi5wb2xpY3kuZVYmJih2PW4uRCYmVy5qJD09PW4uRC5qJCsxLG4uRD1XLGs9bi5OJiZXLmokPT09bi5OLmokKzEsaz1uLk4mJnYmJmsmJm4uTi5mZi5ldmVudCE9PSJzdG9wIiYmbi5OLmZmLmV2ZW50IT09InByZWRpY3RTdGFydCIsaD1XLmZmfHxudWxsLHg9bi52aWRlb1RyYWNrLlBKLmluZGV4LngkKCkseD1XLmokPj14LEw9bi5LdS5pc01hbmlmZXN0bGVzcyxoPyhuLk4/LmZmLmV2ZW50PT09InByZWRpY3RTdGFydCImJm4uTi5qJDxXLmokJiZoLmV2ZW50PT09InN0b3AiJiZuLmxvYWRlci5oYW5kbGVFcnJvcigic3NkYWkubWlzc2luZ3N0YXJ0Y3VlZXZlbnQiLAp7bGFzdHByZWRpY3Q6bi5OPy5qJHx8MCxjc3E6Vy5qJH0sMCksbi5OPXtmZjpoLGokOlcuaiQsZks6ISFELGZZOmJ9LHg/bi5WaShoLFcuaiQpOkwmJih2P2s/bi5WaShoLFcuaiQpOmguZXZlbnQ9PT0iY29udGludWUifHxoLmV2ZW50PT09InN0b3AiP3EkMihuLFcpOm4uVmkoaCxXLmokKTpuLlZpKGgsVy5qJCkpKTooayYmcSQyKG4sVyksbi5KPT09NCYmb3Eobiw1LCJxZW5kIikpKX07CnJraj1mdW5jdGlvbihuLFcsRCxiLHYpe1chPT1uLk4/LmokfHxuLko9PT0xfHxifHxuLk4uZmYuZXZlbnQ9PT0icHJlZGljdFN0YXJ0Inx8bi5VKCJzZGFpIix7dW5kZWNldnQ6MSxzcTpXLG10OkQsZXZ0Om4uTi5mZi5ldmVudH0sITApO1c+bi5qJiYobi5qPU5hTixuLlY9TmFOKTtpZihuLk4mJm4uTi5qJD09PVcpe2lmKGI9bi5OLCFuLnBvbGljeS5YfHwhbi5wb2xpY3kuVTEpaWYodiYmYil7dmFyIGs9Yi5mZixoPXYuU0Qoayk7ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5jSj1XKTtuLlUoInNkYWkiLHtvbnFldnQ6ay5ldmVudCxzcTpXLG10OkQsZ2FiOmgsY3N0Omsuc3RhcnRTZWNzLGN1ZWlkOm4ucG9saWN5LnlkJiYoaHx8ay5ldmVudD09PSJzdGFydCIpP2suaWRlbnRpZmllcjp2b2lkIDB9LCEwKTtoP2suZXZlbnQhPT0icHJlZGljdFN0YXJ0Ij8oay5ldmVudD09PSJzdGFydCImJm4uY0o9PT1XLTEmJm4uVSgic2RhaSIse2dhYm9uc3RhcnQ6V30pLGIuZks/b3EobiwKNCwiY3VlIik6KG4uaj1XLG4uVj1ELG4uVSgic2RhaSIse2pvaW5hZDpuLkosc2c6bi5qLHN0Om4uVi50b0ZpeGVkKDMpfSksbi5ZPURhdGUubm93KCksb3EobiwyLG4uSj09PTM/InN0YWZ0cHJlZCI6ImpvaW4iKSx0dmkodixiLmZmKSkpOihoPSQ2aChuKSxXKz1NYXRoLm1heChNYXRoLmNlaWwoLWsuTi9oKSwxKSxrPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLnBvbGljeS5VMT9uLlc9azpuLlg9VyxuLlUoInNkYWkiLHtvbnByZWQ6RCxlc3RzcTpXLGVzdG10OmsudG9GaXhlZCgzKX0pLGcuZEMobi5sb2FkZXIsayxrLFcsaCksbi5ZPURhdGUubm93KCksb3EobiwzLCJwcmVkaWN0IiksdHZpKHYsYi5mZikpOm4uSj09PTE/bi5zVT8uR2coRCk/KGcuZEMobi5sb2FkZXIsRCxELFcpLG9xKG4sNCwic2syaGVhZCIpKTpvcShuLDUsIm5vZ2FiIik6ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5wb2xpY3kuVTEmJm4uVz4wPyhEPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLlchPT1EJiYKbi5VKCJzZGFpIix7dXBkYXRlU3Q6RCxvbGQ6bi5XfSksbi5XPUQpOm4uWD4wJiYoRD1XK01hdGgubWF4KE1hdGguY2VpbCgtay5OLyQ2aChuKSksMSksbi5YIT09RCYmKG4uVSgic2RhaSIse3VwZGF0ZVN0OkQsb2xkOm4uWH0pLG4uWD1EKSkpfWVsc2Ugbi5VKCJzZGFpIix7bnVsbGRlYzoxLHNxOlcsbXQ6RC50b0ZpeGVkKDMpLGV2dDpiPy5mZj8uZXZlbnR8fCJub25lIn0pfWVsc2Ugbi5KPT09MSYmb3Eobiw1LCJub2FkIil9Owp6ST1mdW5jdGlvbihuLFcsRCl7cmV0dXJuKEQ8MHx8RD09PW4uaikmJiFpc05hTihuLlYpP24uVjpXfTsKcSQyPWZ1bmN0aW9uKG4sVyl7aWYobi5OKXt2YXIgRD1uLk4uZmYuQ2YtKFcuc3RhcnRUaW1lK24uSy1uLk4uZmYuc3RhcnRTZWNzKTtEPD0wfHwoRD1uZXcgZy5sMyhuLk4uZmYuc3RhcnRTZWNzLShpc05hTihuLkspPzA6bi5LKSxELG4uTi5mZi5jb250ZXh0LG4uTi5mZi5pZGVudGlmaWVyLCJzdG9wIixuLk4uZmYuTitXLmR1cmF0aW9uKjFFMyksbi5VKCJjdWVwb2ludGRpc2NvbnRpbnVpdHkiLHtzZWdOdW06Vy5qJH0pLG4uVmkoRCxXLmokKSl9fTsKJDZoPWZ1bmN0aW9uKG4pe3N3aXRjaChuLnBvbGljeS5sYXRlbmN5Q2xhc3Mpe2Nhc2UgIkxPVyI6cmV0dXJuIDJFMztjYXNlICJVTFRSQUxPVyI6cmV0dXJuIDFFMztkZWZhdWx0OnJldHVybiA1RTN9fTsKbHU9ZnVuY3Rpb24obixXLEQsYj0hMSl7Yj9vcShuLDEsInNlZWsiKTpXPjAmJk1hdGguYWJzKFctRCk+PTUmJm4uSj09PTQmJm9xKG4sNSwic2sydCIpfTsKZy5UST1mdW5jdGlvbihuKXtyZXR1cm4gbi50aWxlQ29udGV4dD9gJHtuLlNTfTske24udGlsZUNvbnRleHR9YDpuLlNTfTsKalY9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuInVua25vd24iO3N3aXRjaChuKXtjYXNlIDU6cmV0dXJuInByZWRpY3RTdGFydCI7Y2FzZSAxOnJldHVybiJzdGFydCI7Y2FzZSAyOnJldHVybiJjb250aW51ZSI7Y2FzZSAzOnJldHVybiJzdG9wIjtjYXNlIDY6cmV0dXJuInByZWZldGNoIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpzU3c9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInByZWRpY3RTdGFydCI6cmV0dXJuIDU7Y2FzZSAic3RhcnQiOnJldHVybiAxO2Nhc2UgImNvbnRpbnVlIjpyZXR1cm4gMjtjYXNlICJzdG9wIjpyZXR1cm4gMztjYXNlICJwcmVmZXRjaCI6cmV0dXJuIDY7ZGVmYXVsdDpyZXR1cm4gMH19OwpON1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDE6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gMH19OwpwU1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgNjpyZXR1cm4gNztjYXNlIDU6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgMTE6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiA0O2Nhc2UgMTpyZXR1cm4gNTtjYXNlIDEyOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9fTsKZy5DMz1mdW5jdGlvbihuKXtyZXR1cm4gbj9uLnRpbGVDb250ZXh0P2Ake24uaWRlbnRpZmllcn07JHtuLnRpbGVDb250ZXh0fWA6bi5pZGVudGlmaWVyOiIifTsKZy5CcD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAwOnJldHVybiJ1bmtub3duIjtjYXNlIDE6cmV0dXJuInRpbWVvdXQiO2Nhc2UgMjpyZXR1cm4icmF0ZWNvbnRyb2wiO2Nhc2UgMTE6cmV0dXJuInJhdGVjb250cm9sX2NsaWVudCI7Y2FzZSAzOnJldHVybiJzdmVyciI7Y2FzZSA0OnJldHVybiJkZWxldGVkIjtjYXNlIDU6cmV0dXJuIndhaXRpbmciO2Nhc2UgNjpyZXR1cm4icmVhZHkiO2Nhc2UgNzpyZXR1cm4ic3NkaXNhYmxlZCI7Y2FzZSA5OnJldHVybiJzc2Rpc2FibGVkX3VzdHJlYW1lciI7Y2FzZSAxMDpyZXR1cm4ic3NkaXNhYmxlZF9ub19jb25maWciO2Nhc2UgMTI6cmV0dXJuIm5vZ2FiY29uZmlnIjtjYXNlIDg6cmV0dXJuImluYWN0aXZlIjtjYXNlIDEzOnJldHVybiJjYWNoZW1pc3MiO2RlZmF1bHQ6cmV0dXJuInVua25vd24ifX07CkZ1PWZ1bmN0aW9uKG4pe3ZhciBXPS0obi5mZj8uVHl8fDApO24udGltZVJhbmdlJiYoVys9KG4udGltZVJhbmdlLnN0YXJ0VGlja3N8fDApLyhuLnRpbWVSYW5nZS50aW1lc2NhbGV8fDEpKTtyZXR1cm4gbmV3IGcubDMoVyxuLmZmPy5NS3x8MCxuLmZmPy51VHx8IiIsbi5mZj8uaWRlbnRpZmllcnx8IiIsalYobi5mZj8uZXZlbnQpLChuLmZmPy5UeXx8MCkqMUUzLG4udGlsZUNvbnRleHQpfTsKZy5ZJEM9ZnVuY3Rpb24obixXKXt2YXIgRD0iIixiPVtdO2ZvcihsZXQgW3Ysa11vZiBuLk4uZW50cmllcygpKXtsZXQgaD12LHg9azt4Py5zdGFydFRpbWVTZWNzPD1XJiZXPD14Py5zdGFydFRpbWVTZWNzK3g/LkNmJiZiLnB1c2goaCk7RCs9YCR7aH06JHt4Py5zdGFydFRpbWVTZWNzLnRvRml4ZWQoMyl9OiR7eD8uQ2YudG9GaXhlZCgzKX07YH1iLmxlbmd0aD09PTAmJihXPXtub19jaWQ6MSxtdDpXLnRvRml4ZWQoMyksYWRDb25maWdNYXA6RC5zdWJzdHJpbmcoMCwxMDI0KX0sbi5wb2xpY3kuRlImJm4uVSgiY2xzZGFpIixXKSk7cmV0dXJuIGJ9OwpIZVU9ZnVuY3Rpb24obixXLEQ9ITEpe0QmJihuLlY9ITApOysrbi5qO0Q9NkU0KjIqKm4uajtEPSgwLGcuUikoKStEO24uVy5zZXQoVy5pbmZvLmlkLEQpfTsKd0M9ZnVuY3Rpb24obil7Zm9yKGxldCBbVyxEXW9mIG4uVy5lbnRyaWVzKCkpe2xldCBiPVc7RDwoMCxnLlIpKCkmJm4uVy5kZWxldGUoYil9cmV0dXJuIG4uV307ClJxPWZ1bmN0aW9uKG4sVyl7bi5OPVc7dmFyIEQ9bi5LLnZpZGVvSW5mb3M7aWYoIW4uTi5pc0xvY2tlZCgpKXtsZXQgaz0oMCxnLlIpKCk7RD1nLkVNKEQsZnVuY3Rpb24oaCl7aWYoaC5Ocz50aGlzLnBvbGljeS5OcylyZXR1cm4hMTt2YXIgeD10aGlzLkt1Lk5baC5pZF07cmV0dXJuIHdDKHRoaXMuaikuZ2V0KGguaWQpPmt8fHguWGIuSj40fHx4LkZGPjQ/ITE6dGhpcy50dy5oYXMoK2guaXRhZyk/ITE6ITB9LG4pOwpuLmoubGwoKSYmKEQ9Zy5FTShELGg9PmgudmlkZW8ud2lkdGg8PTg1NCYmaC52aWRlby5oZWlnaHQ8PTQ4MCkpfUQubGVuZ3RofHwoRD1uLksudmlkZW9JbmZvcyk7CnZhciBiPUQ7bi5wb2xpY3kuUm8mJihiPWZRaChuLGIsVykpO2I9Zy5FTShiLFcuWCxXKTtpZihuLk4uaXNMb2NrZWQoKSYmbi5qLk4pe3ZhciB2PWcubF8oRCxrPT5rLmlkPT09bi5qLk4pOwp2P2I9W3ZdOm4uRGUoIiIpfW4ucG9saWN5LlJvfHwoYj1mUWgobixiLFcpKTtiLmxlbmd0aHx8KGI9W0RbMF1dKTtiLnNvcnQoKGssaCk9Pk1xKG4sayktTXEobixoKSk7CmZvcihXPTE7VzxiLmxlbmd0aDtXKyspRD1iW1ctMV0sdj1iW1ddLEQudmlkZW8ud2lkdGg+di52aWRlby53aWR0aD8oZy5CTShiLFcpLFctLSk6TXEobixEKSpuLnBvbGljeS5LPk1xKG4sdikmJihnLkJNKGIsVy0xKSxXLS0pO1c9YltiLmxlbmd0aC0xXTtuLkR0PSEhbi5XJiYhIW4uVy5pbmZvJiZuLlcuaW5mby5JQiE9PVcuSUI7bi5YPWI7bi5lJC5jbGVhcigpO0Q9ITE7Zm9yKHY9MDt2PGIubGVuZ3RoO3YrKylEP24uZSQuYWRkKGJbdl0uaXRhZyk6Ylt2XS52aWRlby5xdWFsaXR5T3JkaW5hbD49MTA4MCYmKEQ9ITApO0prQyhuLnBvbGljeSxXLG4uS3UuelcpfTsKSVExPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9saWN5LmNKLEQ9Tlcobi5JZykvVy1NcShuLG4uSi5pbmZvKTtXPWcuVDQobi5YLGZ1bmN0aW9uKGIpe3JldHVybiBNcSh0aGlzLGIpPER9LG4pOwpXPDAmJihXPTApO24udmlkZW9JbmRleD1XO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdfTsKUyRoPWZ1bmN0aW9uKG4pe24uUyQ/bi5TJD0hMTpuLlk9KDAsZy5SKSgpO24uRD0hMTtuLlZRPSExO3JldHVybiBuZXcgUUIobi5WLG4uVyxuLk4ucmVhc29uKX07Cm02dz1mdW5jdGlvbihuLFcsRCl7UnEobixXKTt2YXIgYj1uLmo7Vz1iLlguSjtEPWJZKFcse2dPOmIucG9saWN5LmdPLGo5OmIucG9saWN5Lmo5LGxhbmd1YWdlSWQ6RH0pO24uSj1uLkt1Lk5bKEQubGVuZ3RoPjA/RFswXTpXWzBdKS5pZF07VkIobik7bi5WPW4uSjtJUTEobik7bi5UQy5sZW5ndGgmJihuLm5leHRWaWRlbz1Ba00obixuLm5leHRWaWRlbyxuLksudmlkZW9JbmZvcyksbi5KPUFrTShuLG4uSixuLksuSikpO24uVz1uLm5leHRWaWRlbztuLlY9bi5KO3JldHVybiBTJGgobil9OwpLJGo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmVxdWFscyhXKSYmKCFuLmouTnx8IW4uTi5pc0xvY2tlZCgpfHxuLm5leHRWaWRlbz8uaW5mby5pZD09PW4uai5OKX07ClZCPWZ1bmN0aW9uKG4pe2lmKCFuLkp8fCFuLnBvbGljeS5KJiYhbi5KLmluZm8ua1ope3ZhciBXPW4uSy5KO24uSiYmKFc9YlkoVyx7bGFuZ3VhZ2VJZDpuLkouaW5mby5rWj8uaWQsZ086bi5wb2xpY3kuZ08sajk6bi5wb2xpY3kuajl9KSxXLmxlbmd0aHx8KFc9bi5LLkopKTtuLko9bi5LdS5OW1dbMF0uaWRdO2lmKFcubGVuZ3RoPjEmJiFuLnBvbGljeS5IaSl7aWYoIW4ucG9saWN5LnRHKXt2YXIgRD1nLmxfKFcsYj0+Yi5hdWRpby5hdWRpb1F1YWxpdHkhPT0iQVVESU9fUVVBTElUWV9ISUdIIik7CkQmJihuLko9bi5LdS5OW0QuaWRdKX1EPSExO2lmKEQ9bi5wb2xpY3kuWSQ/ITA6bi5OLmlzTG9ja2VkKCk/bi5OLk48MjQwOk9laShuLG4uSikpbi5KPW4uS3UuTltnLlVNKFcpLmlkXX19fTsKY3A9ZnVuY3Rpb24obil7aWYoIW4ubmV4dFZpZGVvfHwhbi5wb2xpY3kuSilpZihuLk4uaXNMb2NrZWQoKSluLm5leHRWaWRlbz1uLk4uTjw9MzYwP24uS3UuTltuLlhbMF0uaWRdOm4uS3UuTltnLlVNKG4uWCkuaWRdO2Vsc2V7Zm9yKHZhciBXPU1hdGgubWluKG4udmlkZW9JbmRleCxuLlgubGVuZ3RoLTEpLEQ9Tlcobi5JZyksYj1NcShuLG4uSi5pbmZvKSx2PUQvbi5wb2xpY3kuY0otYjtXPjAmJiEoTXEobixuLlhbV10pPD12KTtXLS0pO2ZvcihEPUQvbi5wb2xpY3kuSy1iO1c8bi5YLmxlbmd0aC0xJiYhKE1xKG4sbi5YW1crMV0pPj1EKTtXKyspO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdO24udmlkZW9JbmRleD1XfX07ClBDMj1mdW5jdGlvbihuLFcpe2lmKFcuUEouaW5mby52aWRlbyYmVy5hWil7bGV0IEQ9KFcuTitXLkopL1cuVyxiPVcuUEouaW5mby5OcztEJiZiJiYobi5udS5JSSgxLEQvYiksbi5wb2xpY3kuVyYmRC9iPjEuNSYmbi5sb2FkZXIuVSgib3ZlcnNob290Iix7c3E6Vy5qJCxicjpELG1heDpifSkpfX07CmFxPWZ1bmN0aW9uKG4sVyxEPSExKXtIZVUobi5qLFcsRCk7bi5ZPS0xO1JxKG4sbi5OKX07Clpldz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgUUIobi5WLG4uVyxXfHxuLk4ucmVhc29uKX07Ck1xPWZ1bmN0aW9uKG4sVyl7aWYoIW4uYmRbVy5pZF0pe3ZhciBEPW4uS3UuTltXLmlkXS5pbmRleC5YZChuLmNKLDE1KTtEPVcuWG4mJm4uVyYmbi5XLmluZGV4LmlzTG9hZGVkKCk/RHx8Vy5YbjpEfHxXLk5zO24uYmRbVy5pZF09RH1EPW4uYmRbVy5pZF07bi5lJC5oYXMoVy5pdGFnKSYmKEQqPTEuNSk7cmV0dXJuIEQqPU1hdGgubWF4KDEsbi5udS5MZygpfHwwKX07ClU2Qz1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBvZiBXKXtpZighYnx8IWIudmlkZW8pY29udGludWU7Vz1iLnZpZGVvLnF1YWxpdHlPcmRpbmFsO2xldCB2PURbV10saz12JiZ2Lk1XKCkmJnYudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5wb2xpY3kublMsaD1XPD1uLnBvbGljeS5uUz9iLk1XKCk6Yi5YKCk7aWYoIXZ8fGt8fGgpRFtXXT1ifXJldHVybiBEfTsKZlFoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1ELnJlYXNvbj09PSJtInx8RC5yZWFzb249PT0icyI7bi5wb2xpY3kuUnEmJm5yJiZnLkduJiYoIWJ8fEQuTjwxMDgwKSYmKFc9Vy5maWx0ZXIodj0+di52aWRlbyYmKCF2Lmp8fHYuai5wb3dlckVmZmljaWVudCkpKTsKaWYoVy5sZW5ndGg+MClpZihWVCgpKXtsZXQgdj1VNkMobixXKTtXPVcuZmlsdGVyKGs9PiEhayYmISFrLnZpZGVvJiZrLklCPT09dltrLnZpZGVvLnF1YWxpdHlPcmRpbmFsXS5JQil9ZWxzZXtsZXQgdj1XWzBdPy52aWRlbz8ucXVhbGl0eU9yZGluYWw7CmlmKHYpe0Q9Vy5maWx0ZXIoaD0+ISFoJiYhIWgudmlkZW8mJmgudmlkZW8ucXVhbGl0eU9yZGluYWw9PT12KTsKbGV0IGs9VTZDKG4sRClbdl0uSUI7Vz1XLmZpbHRlcihoPT4hIWgmJiEhaC52aWRlbyYmaC5JQj09PWspfX1yZXR1cm4gV307Ck9laT1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wO0QrMTxuLlgubGVuZ3RoJiZuLlhbRF0udmlkZW8ucXVhbGl0eT09PSJ0aW55IjspRCsrO3ZhciBiPU5XKG4uSWcpL24ucG9saWN5Lks7cmV0dXJuIE1xKG4sVy5pbmZvKStNcShuLG4uWFtEXSk+Yn07CkFrTT1mdW5jdGlvbihuLFcsRCl7aWYoVy5pbmZvLklCPT09ImYifHxuLlRDLmluY2x1ZGVzKGN3KFcsbi5LdS56VykpKXJldHVybiBXO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKXtsZXQgdj1uLkt1Lk5bRFtiXS5pZF07aWYoIW4uVEMuaW5jbHVkZXMoY3codixuLkt1LnpXKSkpY29udGludWU7bGV0IGs9Vy5pbmZvLklCLGg9di5pbmZvLklCO2lmKGs9PT1ofHxWVCgpKXtpZihXLmluZm8udmlkZW8/Vy5pbmZvLkohPT12LmluZm8uSjpXLmluZm8ua1o/LmlkIT09di5pbmZvLmtaPy5pZHx8YXkoVy5pbmZvKSE9PWF5KHYuaW5mbyl8fFZFKFcuaW5mbykhPT1WRSh2LmluZm8pKXJldHVybiBXNihuLHttaXNtYXRjaDoieHRhZyIsZjpXLmluZm8uaWQsdDp2LmluZm8uaWR9KSxXO1c2KG4se2Y6Vy5pbmZvLml0YWcsdDp2LmluZm8uaXRhZ30pO24uUyQ9ITA7cmV0dXJuIHZ9VzYobix7bWlzbWF0Y2g6ImVmZmljaWVudCIsZmM6ayx0YzpofSl9VzYobix7bWlzbWF0Y2g6InVuc2VsZWN0YWJsZSIsCmZtdHM6bi5UQy5qb2luKCIuIil9KTtyZXR1cm4gV307Clc2PWZ1bmN0aW9uKG4sVyl7bi5wb2xpY3kuRUQ/bi5sb2FkZXIuaGFuZGxlRXJyb3IoIm9uZXNpZS5mbXQubWlzbWF0Y2giLFcsMCk6bi5sb2FkZXIuVSgib21iaWZhIixXKX07Cnlrcj1mdW5jdGlvbihuLFcpe249cWMobi5LdS5OLEQ9PkQuaW5mby5pdGFnPT09Vyk7CmlmKCFuKXRocm93IEVycm9yKCJJdGFnICIrVysiIGZyb20gc2VydmVyIG5vdCBrbm93bi4iKTtyZXR1cm4gbn07CkVqWj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLk4ucmVhc29uPT09Im0ifHxuLk4ucmVhc29uPT09InMiKXJldHVybiBXO2lmKEl0aShuLkt1KSl7Zm9yKGxldCBEPU1hdGgubWF4KDAsbi52aWRlb0luZGV4LTIpO0Q8bi52aWRlb0luZGV4JiZEPG4uWC5sZW5ndGg7RCsrKVcucHVzaChuLlhbRF0uaXRhZyk7Vy5yZXZlcnNlKCl9cmV0dXJuIFd9OwppZWk9ZnVuY3Rpb24obixXKXtuLkRrKCJpc21wX3AiKTtuLko9V307CnU5VT1mdW5jdGlvbihuKXtuLk4mJihuLk4uZGlzcG9zZSgpLG4uRGsoImlzbXBfZCIpKX07Cm9qdz1mdW5jdGlvbih7dEk6bj0hMSxzSjpXPSExLGU0OkQ9ITF9PXt9KXtyZXR1cm4gbj9EPzM6MjpXPy0xOjF9OwpEZD1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1uLnRyYWNrLlFFO2lmKHYpe3Y9di5aRigpO2Zvcih2YXIgaz0wO2s8di5sZW5ndGg7aysrKWIucHVzaChNYXRoLnJvdW5kKHYuc3RhcnQoaykqMUUzKSksYi5wdXNoKE1hdGgucm91bmQodi5lbmQoaykqMUUzKSl9dj0xO2s9Yi5sZW5ndGg7aWYoaz09PW4uYnVmZmVyZWQubGVuZ3RoKXtmb3IodmFyIGg9MDtoPD1rJiZiW2hdPT09bi5idWZmZXJlZFtoXTtoKyspO2g+az92PTA6YltoXT5uLmJ1ZmZlcmVkW2hdJiYoaD09PWstMT92PTI6aD09PWstMiYmYltoKzFdPm4uYnVmZmVyZWRbaCsxXSYmKHY9MykpfW4uTi5hZGQoVzw8M3woRCYmNCl8dik7Vz1NYXRoLmNlaWwobi50cmFjay5sNSgpKjFFMyk7bi5OLmFkZChXLW4uaik7bi5qPVc7aWYodj09PTEpZm9yKG4uTi5hZGQoayksVz0wLGg9MDtoPGs7aCsrKW4uTi5hZGQoYltoXS1XKSxXPWJbaF07dj09PTMmJm4uTi5hZGQoYltrLTJdLW4uYnVmZmVyZWRbay0yXSk7dj49MiYmbi5OLmFkZChiW2stCjFdLW4uYnVmZmVyZWRbay0xXSk7RCYmbi5OLmFkZChEKTtuLmJ1ZmZlcmVkPWJ9OwpUN2I9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5hWilyZXR1cm4gRC5sZW5ndGg9PT0wP0QucHVzaChiLmNsb25lKCkpOihuPShXPUQucG9wKCkpP2Q2cihuLFcsYik6bnVsbCk/RC5wdXNoKG4pOkQucHVzaChiLmNsb25lKCkpLHY7KEQ9KEQ9RC5wb3AoKSk/ZDZyKG4sRCxiKTpudWxsKXx8KEQ9Yik7aWYoRC5OKXJldHVybiBuLmxvZ2dlciYmbi5sb2dnZXIoe2luY29tcGxldGVTZWdtZW50OkQuZ2EoKX0pLHY7dmFyIHtmb3JtYXRJZDprLGokOmgsc3RhcnRUaW1lTXM6eCxjbGlwSWQ6TCxyOTplfT17Zm9ybWF0SWQ6Zy5WZihELlBKLmluZm8sbi5LdS56VyksaiQ6RC5qJCtuLlgsc3RhcnRUaW1lTXM6RC5zZWdtZW50U3RhcnRUaW1lKjFFMyxjbGlwSWQ6RC5jbGlwSWQscjk6RC5XKjFFM307Yj17Y2xpcElkOkwsZm9ybWF0SWQ6ayxzdGFydFRpbWVNczp4LGR1cmF0aW9uTXM6ZSxBQzpoLGk5Omh9O3Y9ejdVKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRzsKaWYoRz1EKXtHPWI7dmFyIHI9dixOPUQuc3RhcnRUaW1lTXMrRC5kdXJhdGlvbk1zLEg9Ry5zdGFydFRpbWVNcytHLmR1cmF0aW9uTXM7aWYoRy5zdGFydFRpbWVNcy1OPm4uTilHPSExO2Vsc2UgaWYobFFoKG4sRC5mb3JtYXRJZCxHLmZvcm1hdElkKSlELmR1cmF0aW9uTXM9TWF0aC5tYXgoTixIKS1ELnN0YXJ0VGltZU1zLEQuaTk9TWF0aC5tYXgoRC5pOSxHLmk5KSxHPSEwO2Vsc2UgaWYoTWF0aC5hYnMoRC5zdGFydFRpbWVNcy1HLnN0YXJ0VGltZU1zKTw9bi5OKWlmKEQuZHVyYXRpb25Ncz5HLmR1cmF0aW9uTXMrbi5OKXtyPUQuZm9ybWF0SWQ7dmFyIEE9RC5BQyx5PUQuaTk7RC5mb3JtYXRJZD1HLmZvcm1hdElkO0QuZHVyYXRpb25Ncz1HLmR1cmF0aW9uTXM7RC5BQz1HLkFDO0QuaTk9Ry5pOTtHLmZvcm1hdElkPXI7Ry5zdGFydFRpbWVNcz1IO0cuZHVyYXRpb25Ncz1OLUg7Ry5BQz1BO0cuaTk9eTtHPSExfWVsc2UgRC5mb3JtYXRJZD1HLmZvcm1hdElkLEc9ITA7ZWxzZSBOPgpHLnN0YXJ0VGltZU1zJiYoTj5IJiYoVy5zcGxpY2UocisxLDAse2Zvcm1hdElkOkQuZm9ybWF0SWQsc3RhcnRUaW1lTXM6SCxkdXJhdGlvbk1zOk4tSCxBQzpHLmk5KzEsaTk6RC5pOX0pLG4ubG9nZ2VyJiZuLmxvZ2dlcih7c3BsaXRPbGRTdGFydDpELnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0T2xkRW5kOk4/LnRvRml4ZWQoMyksc3BsaXROZXdTdGFydDpHLnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0TmV3RW5kOkg/LnRvRml4ZWQoMyl9KSksRC5kdXJhdGlvbk1zPUcuc3RhcnRUaW1lTXMtRC5zdGFydFRpbWVNcyxELmk5PUcuQUMtMSksRz0hMX1HP2I9RDoodis9MSxXLnNwbGljZSh2LDAsYikpO0Q9MDtmb3IoRz12KzE7RzxXLmxlbmd0aDtHKyspe049bjtIPVdbR107cj1iO0E9SC5zdGFydFRpbWVNcytILmR1cmF0aW9uTXM7eT1yLnN0YXJ0VGltZU1zK3IuZHVyYXRpb25Nczt5Pj1BK04uTj9OPSEwOnkrTi5OPEguc3RhcnRUaW1lTXM/Tj0hMTpsUWgoTixILmZvcm1hdElkLApyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKZDZyPWZ1bmN0aW9uKG4sVyxEKXtpZighYlQoVyxEKXx8Vy5hWilyZXR1cm4gbnVsbDtQXyhXLEQsbi5wb2xpY3kuZUspO3JldHVybiBXfTsKejdVPWZ1bmN0aW9uKG4sVyl7bj1nLlc0KG4se3N0YXJ0VGltZU1zOld9LChELGIpPT5ELnN0YXJ0VGltZU1zLWIuc3RhcnRUaW1lTXMpOwpyZXR1cm4gbj49MD9uOi1uLTJ9OwpqU1o9ZnVuY3Rpb24obixXLEQpe2lmKG4ubG9nZ2VyKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XTtrLkVqPy5zdGFydFRpY2tzJiZiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X3Bzc3QuJHtrLkVqPy5zdGFydFRpY2tzfV9wc2QuJHtrLkVqPy5sOH1gKTtiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9bi5sb2dnZXIoe3A6YCR7RH1gLGJyOmIuam9pbigiOyIpfSl9fTsKYlM9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4uUUUpe3ZhciBiPW4uUUUuWkYoKTtpZihiLmxlbmd0aCE9PTApe2lmKG4uVyYmVyl7dmFyIHY9bi5XLGs9di5YOyFCUihiLGspJiZ2Lks+MCYmKDAsZy5SKSgpLW4uSzw1RTMmJihuLmxvZ2dlciYmbi5sb2dnZXIoe2RlbmQ6di5nYSgpfSksYj1qRyhiLGssaysuMDEpKX12PVtdO2Zvcih2YXIgaD1rPTA7azxiLmxlbmd0aCYmaDxuLmVXLmxlbmd0aDspe3ZhciB4PWIuc3RhcnQoayk7bGV0IE49Yi5lbmQoayk7dmFyIEw9bi5lV1toXS5zdGFydFRpbWVNcy8xRTM7bGV0IEg9KG4uZVdbaF0uc3RhcnRUaW1lTXMrbi5lV1toXS5kdXJhdGlvbk1zKS8xRTM7aWYoTDw9TiYmSD49eCl7bGV0IEE9ey4uLm4uZVdbaF19O3ZhciBlPW4uS3UuSi5nZXQoTWsobi5lV1toXS5mb3JtYXRJZCkpLEc9TWF0aC5tYXgoTCx4KTt4PWUuaW5kZXguUjMoRytuLk4vMUUzKTtMPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHgpO3ZhciByPXgrICsoTWF0aC5hYnMoTC1HKT4Kbi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uV3x8MTE7IUQmJmg9PT1uLkomJk48SCYmSC1OPD14KjEuMDEmJiEobi5wb2xpY3kuU3cmJm4uUUUmJm4uUUUueXUoKSkmJihOPUgpO3g9TWF0aC5taW4oSCxOKTtMPWUuaW5kZXguUjMoeC1uLk4vMUUzKTtHPWUuaW5kZXguakUoTCk7TC09KyhNYXRoLmFicyhHLXgpPm4uTi8xRTMpO3g9TCtuLlg7ZT1lLmluZGV4LmpFKEwpKjFFMztBLmk5PXg7QS5kdXJhdGlvbk1zPWUtQS5zdGFydFRpbWVNcztBLkFDPD1BLmk5JiZ2LnB1c2goQSl9SDxOP2grPTE6ays9MX1uLmVXPXZ9fX07CkNDTT1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPW4uTTcubWFwKGs9PmsuY2xvbmUoKSk7Cm4uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5ELmYzKCksdj1uLko7Zm9yKGxldCBrIG9mIGIpdj1UN2IobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLE03OkR9fTsKbFFoPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gVy5pdGFnIT09RC5pdGFnfHxXLnh0YWdzIT09RC54dGFncz8hMTpuLkt1LnpXfHxXLmxtdD09PUQubG10fTsKdjY9ZnVuY3Rpb24obil7cmV0dXJue2Rvd25sb2FkZWRFbmRUaW1lOk1hdGgucm91bmQobi5kSD9uLmRILmo6MCksbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19Owp4Qz1mdW5jdGlvbihuLFc9ITEpeyFXfHxuLmluZGV4UmFuZ2UmJm4uaW5pdFJhbmdlJiZuLmRIfHxrQyhuLG5ldyBoMCgiV29mZmxlOiBFeHBlY3QgaXNGaW5hbCB0byBhbHdheXMgaGF2ZSBpbmRleFJhbmdlIGFuZCBpbml0UmFuZ2UgYW5kIGxhc3RTbGljZSIpKTtXPXtsbXQ6bi5OLmluZm8ubGFzdE1vZGlmaWVkLGRvY2lkOm4ucG9saWN5LkosZm10aWQ6bi5OLmluZm8uaWQsdHlwZTpuLk4uaW5mby5taW1lVHlwZS5zcGxpdCgiOyIpWzBdLGNzejpuLmNodW5rU2l6ZSxjbGVuOm4uVypuLmNodW5rU2l6ZStuLkp9O24uY3J5cHRvJiYoVy5jaz1uLlksVy5jaXY9bi5LKTtXPSJsb2NhbDovL2xvY2FsaG9zdC92aWRlb3BsYXliYWNrPyIrZy5FdChXKTtXPXtpdGFnOituLk4uaW5mby5pdGFnLG1pbWVUeXBlOm4uTi5pbmZvLm1pbWVUeXBlLGJpdHJhdGU6bi5OLmluZm8uTnMqOCxsYXN0TW9kaWZpZWQ6U3RyaW5nKG4uTi5pbmZvLmxhc3RNb2RpZmllZCksaW5pdFJhbmdlOm4uaW5pdFJhbmdlPy5OKCksCmluZGV4UmFuZ2U6bi5pbmRleFJhbmdlPy5OKCksdXJsOld9O3ZhciBEPW4uTi5pbmZvLko7RCYmKFcueHRhZ3M9RCk7aWYoRD1uLk4uaW5mby52aWRlbylpZihXLnF1YWxpdHk9RC5xdWFsaXR5LFcucXVhbGl0eUxhYmVsPUQucXVhbGl0eUxhYmVsLFcud2lkdGg9RC53aWR0aCxXLmhlaWdodD1ELmhlaWdodCxEPUQuZnBzKVcuZnBzPUQ7aWYobj1uLk4uaW5mby5hdWRpbyl7aWYoRD1uLnNhbXBsZVJhdGUpVy5hdWRpb1NhbXBsZVJhdGU9U3RyaW5nKEQpO2lmKG49bi5udW1DaGFubmVscylXLmF1ZGlvQ2hhbm5lbHM9bn1yZXR1cm4gV307CkxyPWZ1bmN0aW9uKG4sVyxEPSExKXtXLnRoZW4oYj0+e24uTy5kZWxldGUoVyk7KER8fGI9PT00KSYmbi5WLnJlc29sdmUoYil9LGI9PntuLlYucmVqZWN0KGIpfSl9OwplcT1mdW5jdGlvbihuKXtyZXR1cm4hIW4uZEgmJm4uZEguVigpfTsKa0M9ZnVuY3Rpb24obixXKXtlJChuLnBvbGljeS5KKSE9PTQmJihnNihuLnBvbGljeS5KLDQpLGcuR3EoVyksbi5WLnJlamVjdChuZXcgaDAoVy5tZXNzYWdlKSkpfTsKQjdiPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPXRSKFcuSik7aWYobi5XPG4uWCl7RD1uLlgqbi5jaHVua1NpemUtKChXLmluZm8ucmFuZ2U/LnN0YXJ0fHwwKStXLmluZm8uTik7aWYoRD49Yi5sZW5ndGgpcmV0dXJuO2lmKEQ8MCl0aHJvdyBFcnJvcigiTWlzc2luZyBkYXRhIik7bi5XPW4uWDtuLko9MH1mb3IoO0Q8Yi5sZW5ndGg7KXt2YXIgdj1NYXRoLm1pbihiLmxlbmd0aC1ELG4uai5ieXRlTGVuZ3RoLW4uSik7bGV0IGs9bmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0K0Qsdik7bi5qLnNldChrLG4uSik7bi5KKz12O0QrPXY7aWYobi5KPT09bi5qLmxlbmd0aCl7aWYoVy5pbmZvPT09bi5kSCYmZXEobikmJkQ9PT1iLmxlbmd0aClicmVhazt2PXY2KG4pO3Y9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSx2LG4ucG9saWN5LmJkLG4uVyxuLmosbi5jcnlwdG8pO24uTy5hZGQodik7THIobix2KTtuLnFOKCl8fCh2PXY2KG4pLG4uYmQoeEMobiksdiE9PXZvaWQgMD8KKHYuZG93bmxvYWRlZEVuZFRpbWV8fDApKnYuYXZlcmFnZUJ5dGVSYXRlOnYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlLHYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlKSk7bi5qPW5ldyBVaW50OEFycmF5KG4uY2h1bmtTaXplKTtuLko9MDtuLlcrPTF9fX07CndTVT1mdW5jdGlvbihuKXtpZihlcShuKSlpZihuLmRIJiZuLmluZGV4UmFuZ2UpaWYobi5KKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmouYnVmZmVyLDAsbi5KKSxEPUYkeChuKSxiPW4ucG9saWN5Lko7UHJvbWlzZS5hbGwobi5PKS50aGVuKCgpPT57dmFyIHY9dHgoYixuLmRILlBKLmluZm8seEMobiwhMCksRCxuLnBvbGljeS5iZCxuLlcsVyxuLmNyeXB0byk7THIobix2LCEwKX0pfWVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGFsd2F5cyByZS1tYXJrIGN1cnJlbnRDaHVua09mZnNldCBhdCBFT1MiKSk7CmVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGF0IEVPUyB0byBhbHdheXMgaGF2ZSBsYXN0U2xpY2Ugb3IgaW5kZXhSYW5nZSIpKX07Cmd1PWZ1bmN0aW9uKG4sVyl7aWYoIWVxKG4pJiYhbi5xTigpKXtpZighKG4udHd8fChuLnR3PSEwLG4uWD4wKSkpe3ZhciBEPXY2KG4pO0Q9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSxELG4ucG9saWN5LmJkKTtMcihuLEQpfWlmKFcuaW5mby50eXBlPT09MSl7aWYobi5kSCl7a0MobixFcnJvcigiV29mZmxlOiBFeHBlY3QgSU5JVCBzbGljZXMgdG8gYWx3YXlzIHN0YXJ0IHVzIG9mZiIpKTtyZXR1cm59bi5pbml0UmFuZ2U9V18oMCxXLkoudG90YWxMZW5ndGgpfWVsc2UgaWYoVy5pbmZvLnR5cGU9PT0yKW4uZEgmJm4uZEgudHlwZT09PTF8fGtDKG4sRXJyb3IoIldvZmZsZTogSW5kZXggYmVmb3JlIGluaXQiKSksbi5pbmRleFJhbmdlPVdfKG4uaW5pdFJhbmdlLmVuZCsxLFcuSi50b3RhbExlbmd0aCk7ZWxzZSBpZihXLmluZm8udHlwZT09PTMpe2lmKCFuLmRIKXtrQyhuLEVycm9yKCJXb2ZmbGU6IEV4cGVjdCBNRURJQSBzbGljZXMgdG8gYWx3YXlzIGhhdmUgbGFzdFNsaWNlIikpOwpyZXR1cm59aWYobi5kSC50eXBlPT09MyYmIWJUKG4uZEgsVy5pbmZvKSYmKG4uRD1bXSxXLmluZm8uaiQhPT1nayhuLmRIKXx8Vy5pbmZvLk4hPT0wKSlyZXR1cm47aWYoVy5pbmZvLmFaKXtmb3IobGV0IGIgb2Ygbi5EKUI3YihuLGIpO24uRD1bXX1lbHNle24uRC5wdXNoKFcpO24uZEg9Vy5pbmZvO3JldHVybn19ZWxzZXtrQyhuLEVycm9yKCJXb2ZmbGU6IFVuZXhwZWN0ZWQgc2xpY2UgdHlwZSIpKTtyZXR1cm59bi5kSD1XLmluZm87QjdiKG4sVyk7d1NVKG4pfX07CkYkeD1mdW5jdGlvbihuKXtyZXR1cm57ZG93bmxvYWRlZEVuZFRpbWU6LTEsbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19OwpNdlM9ZnVuY3Rpb24obil7bj1nLmVQKG4sMTg4NjYxNDM3Nik7Zm9yKGxldCBXIG9mIG4pO3JldHVybiBnLmlfKG4sVz0+b3IoVykpfTsKUjdVPWZ1bmN0aW9uKG4pe3ZhciBXPWcudV8obiwoYix2KT0+Yit2Lmxlbmd0aCwwKTsKVz1uZXcgVWludDhBcnJheShXKTt2YXIgRD0wO2ZvcihsZXQgYiBvZiBuKVcuc2V0KGIsRCksRCs9Yi5sZW5ndGg7cmV0dXJuIFd9OwpWdnQ9ZnVuY3Rpb24obil7YTp7dmFyIFc9bi5pbml0RGF0YTt0cnl7dmFyIEQ9MDtsZXQgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIpO2Zvcig7RDx2LmJ5dGVMZW5ndGgtODspe2xldCBrPXYuZ2V0VWludDMyKEQpO2lmKGs8PTEpYnJlYWs7aWYodi5nZXRVaW50MzIoRCs0KSE9PTE4ODY2MTQzNzYpe0QrPWs7Y29udGludWV9bGV0IGg9MzI7aWYodi5nZXRVaW50OChEKzgpPjApe2xldCBMPXYuZ2V0VWludDMyKEQrMjgpO2grPUwqMTYrNH1sZXQgeD12LmdldFVpbnQzMihEK2gtNCk7dHJ5e2xldCBMPVFTeChXLnN1YmFycmF5KEQraCxEK2greCkpO2lmKEwhPT1udWxsKXt2YXIgYj1MO2JyZWFrIGF9fWNhdGNoKEwpe31EKz1rfWI9bnVsbDticmVhayBhfWNhdGNoKHYpe2I9bnVsbDticmVhayBhfWI9dm9pZCAwfWlmKGIhPW51bGwpe1c9dTQoaVcoYiw3LHZvaWQgMCxmbikpO1c9PW51bGx8fG4ucUh8fChuLmNyeXB0b1BlcmlvZEluZGV4PVcpO1c9dTQoaVcoYiwxMCx2b2lkIDAsZm4pKTsKVyE9bnVsbCYmVz4wJiYhbi5xSCYmKG4uTj1XKTtmb3IobGV0IHYgb2YgZy5CSChiLDIsTUUsdm9pZCAwPT09RyQ/Mjo0KSliPW4uSixXPWIucHVzaCxEPVZsKHYpLEQ9Zy5FQShELDQpLFcuY2FsbChiLEQpfX07CmNraj1mdW5jdGlvbihuKXtyZXR1cm4gaXNOYU4obi5jcnlwdG9QZXJpb2RJbmRleCk/Zy5FQShuLmluaXREYXRhKTpgJHtuLmNyeXB0b1BlcmlvZEluZGV4fWB9OwpYMD1mdW5jdGlvbihuKXtpZihuLm9mZnNldD49bi5KLnRvdGFsTGVuZ3RoKXRocm93IEVycm9yKCk7cmV0dXJuIHJkKG4uSixuLm9mZnNldCsrKX07CmFRUz1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPVgwKG4pO2lmKEQ9PT0xKXtXPS0xO2ZvcihEPTA7RDw3O0QrKyl7dmFyIGI9WDAobik7Vz09PS0xJiZiIT09MjU1JiYoVz0wKTtXPi0xJiYoVz1XKjI1NitiKX1yZXR1cm4gV31iPTEyODtmb3IobGV0IHY9MDt2PDYmJmI+RDt2KyspRD1EKjI1NitYMChuKSxiKj0xMjg7cmV0dXJuIFc/RDpELWJ9OwpuZng9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWFRUyhuLCEwKSxEPWFRUyhuLCExKTtyZXR1cm57aWQ6VyxzaXplOkR9fWNhdGNoKFcpe3JldHVybntpZDotMSxzaXplOi0xfX19OwpETjE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW5ldyBXeWoobiksRD0tMSxiPTAsdj0wOyFifHwhdjspe2xldCB7aWQ6ayxzaXplOmh9PW5meChXKTtpZihrPDApcmV0dXJuO2lmKGs9PT0xNzYpe2lmKGghPT0yKXJldHVybjtiPVcuTigpfWVsc2UgaWYoaz09PTE4Nil7aWYoaCE9PTIpcmV0dXJuO3Y9Vy5OKCl9az09PTM3NDY0ODQyNz9EPVcuTigpK2g6ayE9PTQwODEyNTU0MyYmayE9PTE3NCYmayE9PTIyNCYmVy5za2lwKGgpfVc9JE0obiwwLEQpO0Q9bmV3IERhdGFWaWV3KFcuYnVmZmVyKTtELnNldFVpbnQxNihiLDM4NDApO0Quc2V0VWludDE2KHYsMjE2MCk7Yj1uZXcgUzUoW1ddKTtlNShiLG4pO3JldHVybiBifTsKYndDPWZ1bmN0aW9uKCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoMTY0RTQpO2ZvcihsZXQgVz0wO1c8bi5sZW5ndGg7Vys9NjU1MzYpY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuLnN1YmFycmF5KFcsTWF0aC5taW4oVys2NTUzNixuLmxlbmd0aCkpKTtuZXcgUzUoW25dKX07CnEyPWZ1bmN0aW9uKG4pe24uYm4/LmRpc3Bvc2UoKTtuLmJuPW51bGx9OwpHWj1mdW5jdGlvbihuLFcpe1c9e3JzdDRkaXNjOlcsY2Q6bi5UOC50b0ZpeGVkKDMpLHNxOm4ubTE/bi5tMS5qJDotMX07bi5acT1OYU47bi5UOD0wO24uc0w9LTE7bi5tMT1udWxsO24uaWg9TmFOO24uWXA9TmFOO24uU0Y9bnVsbDtuLmxvYWRlci5VKCJtZHN0bSIsVyl9Owp0MD1mdW5jdGlvbihuKXtuLmJSPW51bGw7bi5FZz0tMTtuLlZwPTA7bi5qaz1udWxsO24uTDE9TmFOO24uWUU9MDtuLkwyPW51bGx9OwokQz1mdW5jdGlvbihuLFcpe2lmKFcuaW5mby5hWil7bi5JOT1XLmluZm87aWYobi5qayl7dmFyIEQ9bi5qayxiPXZmdChuLCExKTtEPWtkVShEKTtuLmxvYWRlci5SMChuLlBKLGIsRCk7bi5wb2xpY3kuZUsmJlpKKFcuaW5mbyxiKTtuLkwyfHxuLnBvbGljeS5lVnx8bi5WaSgpO24uTDI9bnVsbH10MChuKX1uLmJuJiZndShuLmJuLFcpO2lmKGI9bi5XeCgpKWlmKGI9Yi5qKFcsbi5wb2xpY3kuQW0sbi5wb2xpY3kuZkIpKXtuLlZ3LnBvcCgpO24uVncucHVzaChiKTtyZXR1cm59bi5Wdy5wdXNoKFcpfTsKUUV3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5XUihXKTtpZihaTyhXLmluZm8uUEouaW5mbykmJlcuaW5mby5QSi5pbmZvLnZpZGVvLnByaW1hcmllcz09PSJidDIwMjAiKXt2YXIgYj1uZXcgdFkoRCk7JHgoYixbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0LDIxOTM2LDIxOTM3XSkmJihiPWIuc3RhcnQrYi5wb3MsRC5nZXRVaW50OChiKT09PTEyOSYmRC5nZXRVaW50OChiKzEpPT09MSYmRC5zZXRVaW50OChiKzEsOSkpfWI9Vy5pbmZvLlBKLmluZm87Yi5YKCkmJiFaTyhiKSYmKGI9Zy5XUihXKSwobmV3IHRZKGIpKS5PSigpLFl4KFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdLDIxOTM2LGIpKTtXLmluZm8uUEouaW5mby5mWSgpJiZRZihXLmluZm8uUEosRCk7Vy5pbmZvLlBKLmluZm8ucUgoKSYmVy5pbmZvLmZZKCkmJihEPWcuV1IoVyksKG5ldyB0WShEKSkuT0ooKSxZeChbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0XSwzMDMyMCxEKSYmWXgoWzQwODEyNTU0MywzNzQ2NDg0MjcsCjE3NCwyMjRdLDIxNDMyLEQpKTtpZihuLnBvbGljeS54MCYmVy5pbmZvLlBKLmluZm8ucUgoKSl7Yj1nLldSKFcpO3ZhciB2PW5ldyB0WShiKTtpZigkeCh2LFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyOTYzN10pKXtEPU5rKHYsITApO3Y9di5zdGFydCt2LnBvcztmb3IodmFyIGs9MDtrPEQtMTtrKyspYi5zZXRVaW50OCh2K2ssMCk7Yi5zZXRVaW50OCh2K0QtMSwxKX19aWYobi5lUygpJiZnLlJCKFcuaW5mby5QSi5pbmZvKSl7RD1nLldSKFcpO2I9Zy5ucyhELDAsMTcwMTYwNjI2MCk7RD1nLm5zKEQsMCwxODM2NDc2NTE2KTtpZihiJiZEKXtiLnNraXAoMik7dmFyIGg9VUQoYik7az1FRChiKTtsZXQgeD1bXTt2PVtdO2xldCBMPVtdLGU9W107aWYoaClmb3IoaD0wO2g8azsrK2gpeC5wdXNoKGkzKGIpKSx2LnB1c2goaTMoYikpLEwucHVzaChVRChiKSksZS5wdXNoKFVEKGIpKTtlbHNlIGZvcihoPTA7aDxrOysraCl4LnB1c2goeUwoYikpLHYucHVzaCh5TChiKSksTC5wdXNoKFVEKGIpKSwKZS5wdXNoKFVEKGIpKTtiPXg7RD1nLmJMKEQpO0Q9bmV3IFJlaCh2WzBdL0QsYlswXS9EKX1lbHNlIEQ9bnVsbDtpZih2PUQpe2lmKGcuUkIoVy5pbmZvLlBKLmluZm8pKWZvcihEPWcuV1IoVyksaz1nLm5zKEQsMCwxNzAxMDgyMjI3KTtrOyliPWssYi50eXBlPTE5MzY0MTkxODQsYi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpLGs9Zy5ucyhELGsub2Zmc2V0K2suc2l6ZSwxNzAxMDgyMjI3KTtuLmYwPSEwO1cuaW5mby5QSi5WPXZ9fVcuaW5mby5QSi5XKCl8fFcuaW5mby5QSi5KfHxXLmluZm8uUEouaW5kZXhSYW5nZXx8RE8oVyl9OwpWSHg9ZnVuY3Rpb24obixXKXtpZihuLmlzRHJtKCkpe2lmKFcuaW5mby5QSi5pbmZvLnFIKCkpe3ZhciBEPW5ldyB0WShnLldSKFcpKTtpZigkeChELFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyODAzMiwyNTE1MiwyMDUzMywxODQwMl0pKXt2YXIgYj1OayhELCEwKTtEPWIhPT0xNj9udWxsOlNQKEQsYil9ZWxzZSBEPW51bGw7Yj0id2VibSJ9ZWxzZSBXLmluZm8uTz1NdlMoZy5XUihXKSksRD1SN1UoVy5pbmZvLk8pLGI9ImNlbmMiO0QmJkQubGVuZ3RoJiYoRD1uZXcgcnUoRCxiKSxuLnBvbGljeS5QSCYmZy5SQihXLmluZm8uUEouaW5mbykmJihiPVpLWihnLldSKFcpKSkmJihELlVXPWIpLEQucUg9Vy5pbmZvLlBKLmluZm8ucUgoKSxXLk4mJlcuTi5jcnlwdG9QZXJpb2RJbmRleCYmKEQuY3J5cHRvUGVyaW9kSW5kZXg9Vy5OLmNyeXB0b1BlcmlvZEluZGV4KSxXLk4mJlcuTi5YJiYoRC5OPVcuTi5YKSxuLmxvYWRlci5XbihEKSl9fTsKY3JoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5iUjtXPU1hdGgubWluKFcsRC5KLnRvdGFsTGVuZ3RoKTtpZihXPT09RC5KLnRvdGFsTGVuZ3RoKXJldHVybiBuLmJSPW51bGwsRDtEPXZSKEQsVyk7bi5iUj1EWzFdO3JldHVybiBEWzBdfTsKRFgyPWZ1bmN0aW9uKG4sVyxEKXtpZihELmluZm8uUEouVygpKXtpZihuLmYwJiZhRXcoRCkpe1c9Zy5XUihEKTt2YXIgYj1nLm5zKFcsMCwxOTUzNjU4MjIyKTtpZihiKXtiLnNraXAoMSk7dmFyIHY9WmMoYik8PDE2fFVEKGIpLGs9diYxLGg9diY0O2lmKHYmMjU2KXtXPXYmNTEyO3ZhciB4PXYmMTAyNDt2Jj0yMDQ4O3ZhciBMPUVEKGIpO0w8Mnx8KGsmJmIuc2tpcCg0KSxoJiZiLnNraXAoNCksaz1FRChiKSxiLnNraXAoKEwtMSkqKDQrKFc/NDowKSsoeD80OjApKyh2PzQ6MCkpLTQpLGIuZGF0YS5zZXRVaW50MzIoYi5vZmZzZXQrYi5OLGspKX19fWlmKFc9bi5xOSYmbi5xOS5PNygpKWlmKFc9RC5pbmZvLmZZKCkpVz1YWihEKSx4PW4ucTksczQ/KGI9MS9XLFc9bi5WeihXKT49eC5WeigpK2IpOlc9bi5nZXREdXJhdGlvbigpPj14LmdldER1cmF0aW9uKCksVz0hVztXJiZhRXcoRCkmJihXPW4ucTksczQ/KGI9WFooRCkseD0xL2IsYj1uLlZ6KGIpLFc9Vy5WeigpK3gtYik6Vz1XLmdldER1cmF0aW9uKCktCm4uZ2V0RHVyYXRpb24oKSxXPTErVy9ELmluZm8uVyxXdyhnLldSKEQpLFcpKX1lbHNle2I9ITE7bi5qa3x8KEdpKEQpLEQuTiYmKG4uams9RC5OLGI9ITAsaz1ELmluZm8saD1ELk4uc2VnbWVudE51bWJlcixrLlk9InVwZGF0ZVdpdGhFbXNnIixrLmokPWgsaz1ELk4say5WJiZuLlBKLnR3KCFrLlYsImVtc2ciKSxrPUQuaW5mby5QSi5pbmZvLGg9Zy5XUihEKSxnLlJCKGspP0dqKGgsMTcwMTY3MTc4Myk6ay5xSCgpJiZZeChbNDA4MTI1NTQzXSwzMDc1NDQ5MzUsaCkpKTthOmlmKChrPWVHKEQsbi5wb2xpY3kuUFgpKSYmcSQoRCkpaD1uVHcobixEKSxuLlQ4Kz1oLGstPWgsbi5ZRSs9ayxuLlpxPW4ucG9saWN5LlNWP24uWnErazpOYU47ZWxzZXtpZihuLnBvbGljeS5Zcil7aWYoaD1MPW4ubG9hZGVyLnFhKGcua1goRCksMSksbi5acT49MCYmRC5pbmZvLnR5cGUhPT02KXtpZihuLnBvbGljeS5TViYmaXNOYU4obi5ZcCkpe2cuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcHJvY2Vzc2luZyBwcmV2aW91cyBjaHVuayIsCkQuaW5mby5nYSgpKSk7bi5sb2FkZXIuaXNPZmZsaW5lKCkmJiFuLnBvbGljeS5UUXx8V2paKG4sRCxoKTtHWihuLCJtIik7YnJlYWsgYX12PUwtbi5acTt2YXIgZT12LW4uVDg7bGV0IEc9RC5pbmZvLmokLHI9bi5tMT9uLm0xLmokOi0xLE49bi5paCxIPW4uWXAsQT1uLnBvbGljeS5RJCYmdj5uLnBvbGljeS5RJCx5PU1hdGguYWJzKGUpPjEwLFQ9TWF0aC5hYnMobi5acS1oKTwxRS03O2lmKE1hdGguYWJzKGUpPjFFLTQpe24uSVMrPTE7bGV0IHo9bi5qaz8uSigpO2U9e2F1ZGlvOmAkeytuLmVTKCl9YCxzcTpHLnRvRml4ZWQoKSxzbGljZVN0YXJ0OkwsbGFzdFNxOnIudG9GaXhlZCgpLGxhc3RTbGljZVN0YXJ0Ok4sbGFzdFNsaWNlRHVyYXRpb246SCx0b3RhbERyaWZ0Oih2KjFFMykudG9GaXhlZCgpLHNlZ0RyaWZ0OihlKjFFMykudG9GaXhlZCgpLHNraXBSZXdyaXRlOmAkeysoQXx8eSl9YH07ej8ubGVuZ3RoJiYoZS5hZENwbj16WzBdKTtuLmxvYWRlci5oYW5kbGVFcnJvcigicW9lLmF2c3luYyIsCmUpO24uc0w9R31BfHx5fHxUfHwoaD1uLlpxKTtMPW5UdyhuLEQsTCk7ay09TDtuLlQ4PXYrTH19ZWxzZSBoPWlzTmFOKG4uWnEpP0QuaW5mby5zZWdtZW50U3RhcnRUaW1lOm4uWnE7V2paKG4sRCxoKSYmKG4uWUUrPWssbi5acT1oK2ssbi5wb2xpY3kuWmgmJm4uSVM+PW4ucG9saWN5LlpoJiYobi5JUz0wLG4ubG9hZGVyLkdtKHtyZXNldEZvclJld3JpdGVzOiJjb3VudCJ9KSkpfW4ubTE9RC5pbmZvO24uWXA9TE0oRCk7RC5XPj0wJiYobi5paD1ELlcpO2lmKGImJm4uamspe2I9dmZ0KG4sITApO1pKKEQuaW5mbyxiKTtuLmJSJiZaSihuLmJSLmluZm8sYik7Zm9yKHggb2YgVyluLnBvbGljeS5qJiZ4LmokIT09bi5qaz8uc2VnbWVudE51bWJlcnx8WkooeCxiKTsoRC5pbmZvLmFafHxuLmJSJiZuLmJSLmluZm8uYVopJiZELmluZm8udHlwZSE9PTZ8fChuLkwyPWIsbi5wb2xpY3kuVTE/KFc9a2RVKG4uamspLG4ubG9hZGVyLlIwKG4uUEosYixXKSk6KFc9bi5sb2FkZXIsVy5LdS5pc01hbmlmZXN0bGVzcyYmCk4yKFcsYixudWxsLCEhbi5QSi5pbmZvLnZpZGVvKSksbi5wb2xpY3kuZVZ8fG4uVmkoKSl9fVZIeChuLEQpO24udGltZXN0YW1wT2Zmc2V0JiZ4WChELG4udGltZXN0YW1wT2Zmc2V0KX07CnZmdD1mdW5jdGlvbihuLFcpe3ZhciBELGI9bi5qaztpZihEPVRfKGIpKUQuc3RhcnRTZWNzKz1uLkwxO3ZhciB2PW4uTDEsaz0wO24uUEogaW5zdGFuY2VvZiBkdCYmKGs9bi5QSi5yYik7cmV0dXJuIG5ldyBSNChiLnNlZ21lbnROdW1iZXIsdixXP2s6bi5ZRSxiLmluZ2VzdGlvblRpbWUsYHNxLyR7Yi5zZWdtZW50TnVtYmVyfWAsdm9pZCAwLHZvaWQgMCxXLEQsbi5wb2xpY3kueUg/Yi5OOm51bGwpfTsKa2RVPWZ1bmN0aW9uKG4pe3JldHVybiBuLmZLKCk/bmV3IHByKENnKG4pLG4uSigpLEJBKG4pLEZwKG4pLHdGKG4pLGcuTWQobiksZy5ScihuKSk6bnVsbH07Cm5Udz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtpZihXLmluZm8uUEouaW5mby5xSCgpJiYhcSQoVykpcmV0dXJuIDA7aWYobi5xOSYmIW4uZVMoKSl7bGV0IGU9MDtEJiZnLlJCKFcuaW5mby5QSi5pbmZvKT9lPUQtbi5acTpXLmluZm8uUEouaW5mby5xSCgpJiYoZT1uLlQ4KTt2YXIgdj1XLmluZm8uaiQ7RD1lRyhXLG4ucG9saWN5LlBYKTtsZXQge1Y1OkcsVGo6cn09bi5xOS5iNCgpO3Y9dj09PUd8fHY+RyYmdj5uLnNMO3ZhciBrPU1hdGguYWJzKHItZSk+LjAyO2lmKG4ucG9saWN5LlJ0KXt2YXIgaD1NYXRoLmFicyhyLWUpO2lmKHYmJmg+bi5wb2xpY3kuUnQmJmg8MTApcmV0dXJuIG4ubG9hZGVyLkdtKHthdkRlc3luYzoiY291bnQifSksMH1pZihXLmluZm8uUEouaW5mby5xSCgpJiZuLnBvbGljeS5WZilyZXR1cm4gMDtpZih2JiZrKXtiPU1hdGgubWF4KC45NSxNYXRoLm1pbigxLjA1LChELShyLWUpKS9EKSk7aWYoZy5SQihXLmluZm8uUEouaW5mbykpV3coZy5XUihXKSxiKTsKZWxzZSBpZihXLmluZm8uUEouaW5mby5xSCgpJiYoaz1lLXIsIWcuUkIoVy5pbmZvLlBKLmluZm8pJiYoVy5pbmZvLlBKLmluZm8ucUgoKSxiPW5ldyB0WShnLldSKFcpKSx2PVcuVj9iOm5ldyB0WShuZXcgRGF0YVZpZXcoVy5pbmZvLlBKLkouYnVmZmVyKSksZUcoVywhMCkpKSl7dmFyIHg9ayoxRTMsTD1Lcyh2KTt2PWIucG9zO2IucG9zPTA7aWYoYi5OLmdldFVpbnQ4KGIucG9zKT09PTE2MHx8UHcoYikpaWYoc1koYiwxNjApKWlmKE5rKGIsITApLHNZKGIsMTU1KSl7aWYoaz1iLnBvcyxoPU5rKGIsITApLGIucG9zPWsseD14KjFFOS9MLEw9ZnMoYikseD1MK01hdGgubWF4KC1MKi43LE1hdGgubWluKEwseCkpLHg9TWF0aC5zaWduKHgpKk1hdGguZmxvb3IoTWF0aC5hYnMoeCkpLCEoTWF0aC5jZWlsKE1hdGgubG9nKHgpL01hdGgubG9nKDIpLzgpPmgpKXtiLnBvcz1rKzE7Zm9yKGs9aC0xO2s+PTA7ay0tKWIuTi5zZXRVaW50OChiLnBvcytrLHgmMjU1KSx4Pj4+PTg7Yi5wb3M9CnZ9fWVsc2UgYi5wb3M9djtlbHNlIGIucG9zPXY7ZWxzZSBiLnBvcz12fWI9ZUcoVyxuLnBvbGljeS5QWCk7Yj1ELWJ9YiYmVy5pbmZvLlBKLmluZm8ucUgoKSYmbi5sb2FkZXIuVSgid2VibUR1cmF0aW9uQWRqdXN0bWVudCIse2R1cmF0aW9uQWRqdXN0bWVudDpiLHZpZGVvRHJpZnQ6ZStiLGF1ZGlvRHJpZnQ6cn0pfXJldHVybiBifTsKV2paPWZ1bmN0aW9uKG4sVyxEKXtpZighaE0oVyxEKSlyZXR1cm4gVz1YeChXLmluZm8pLFcuc21zdD0iMSIsWUMobi5sb2FkZXIsV3x8e30pLCExO2lzTmFOKG4uTDEpJiYobi5MMT1EKTtyZXR1cm4hMH07CmFFdz1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmZvLlBKLlcoKSYmbi5pbmZvLmokPT09bi5pbmZvLlBKLmluZGV4LngkKCl9Owp2VFo9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSl7dmFyIEc9Vy5leHBvcnRzLk1lZGlhU3RyZWFtX2dldEJhdGNoZWRTdHJlYW1FdmVudHMoRCk7aWYoRyl0cnl7dmFyIHI9Vy5tZW1vcnkuYnVmZmVyKEcsYio4OCk7bGV0IHk9bmV3IERhdGFWaWV3KHIuYnVmZmVyLHIuYnl0ZU9mZnNldCxiKjg4KSxUPVcubWVtb3J5LmhlYXAoKTtHPVtdO2ZvcihyPTA7cjxiO3IrKyl7bGV0IHo9bmV3IGIkQyh5LHIqODgsVyxUKTtHLnB1c2goe09mOnouT2YsYjM6ei5iMyxLOTp6Lks5LGx3OnoubHcsU2g6ei5TaCxnQzp6LmdDLHZXOnoudlcsR0s6ei5HSyxVVzp6LlVXLFckOnouVyQsZm9ybWF0SWQ6ei5mb3JtYXRJZCxyQzp6LnJDfSl9Yj12O2ZvcihsZXQgeiBvZiBHKXt6LmZvcm1hdElkJiZlJiYoYj1lKHouZm9ybWF0SWQpKTtsZXQgQz16Lk9mLFE9ei5iMyxWPXouSzksTHQ9ei5sdyx0aT16LlNoLEhaPXouZ0MsWjE9ei52VyxRaj16LkdLLE1pPXouVVcsTVU9ei5XJCxJQz16LmZvcm1hdElkLApJTT16LnJDO3N3aXRjaChIWil7Y2FzZSAxOmxldCBZbDt0cnl7bGV0IFVUPUpTT04ucGFyc2UoWjEpO1VUJiZ0eXBlb2YgVVQ9PT0ib2JqZWN0Ij9ZbD1VVDpZbD17cmVhc29uOlN0cmluZyhaMSl9fWNhdGNoKFVUKXtZbD17cmVhc29uOloxfX1ZQyhuLmxvYWRlcixZbCk7cmV0dXJuO2Nhc2UgMjpsZXQgajE7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCI/ajE9VVQ6ajE9e3JlYXNvbjpTdHJpbmcoWjEpfX1jYXRjaChVVCl7ajE9e3JlYXNvbjpaMX19ajEuYXZEZXN5bmMhPT12b2lkIDA/bi5sb2FkZXIuR20oajEpOm4ubG9hZGVyLmhhbmRsZUVycm9yKCJxb2UuYXZzeW5jIixqMSk7YnJlYWs7Y2FzZSAzOmxldCBUej1uZXcgcnUoUWosWjEpO01pLmxlbmd0aD4wJiYoVHouVVc9TWkpO01VIT09NDI5NDk2NzI5NSYmKFR6LmNyeXB0b1BlcmlvZEluZGV4PU1VKTtRPj0wJiYoVHouTj1RKTtUei5xSD1iLmluZm8/LnFIKCk/PyExO24ubG9hZGVyLlduKFR6KTsKYnJlYWs7Y2FzZSA0OmxldCBmaD1wUihRaiksT0k9UUwoZmgpO2lmKE9JKXtsZXQgVVQ9bmV3IFg1KE9JLFoxKTtuLk49VVQ7VVQuViYmYi50dz8uKCFVVC5WLCJlbXNnIik7bGV0IFBLPVRfKFVUKTtQSyYmKFBLLnN0YXJ0U2Vjcys9QyxuLmxvYWRlci5NZShiLFBLLFVULnNlZ21lbnROdW1iZXIsVVQuZksoKSkpfWJyZWFrO2Nhc2UgNzpsZXQgcEs7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCImJihwSz1VVCl9Y2F0Y2goVVQpe31pZihwSyYmcEsucmVzZXRGb3JSZXdyaXRlcyE9PXZvaWQgMCl7bi5sb2FkZXIuR20ocEspO2JyZWFrfWlmKFoxLnN0YXJ0c1dpdGgoImRpc2NvbnRpbnVpdHlfIikpe24ubG9hZGVyLlUoIm1kc3RtIix7cnN0NGRpc2M6WjEuc3Vic3RyaW5nKDE0KSxjZDpDLnRvRml4ZWQoMyksc3E6U3RyaW5nKElNKX0pO2JyZWFrfWxldCBPej1aMS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIik7bi5sb2FkZXIuVSgic2xpY2Vfbm90X2Z1bGx5X3Byb2Nlc3NlZCIsCnttc2c6T3p9KTticmVhaztjYXNlIDg6bGV0IEJXO3RyeXtCVz1KU09OLnBhcnNlKFoxKX1jYXRjaChVVCl7bi5sb2FkZXIuVSgid2FzbV9qc29uX3BhcnNlX2Vycm9yIix7ZXY6SFoudG9TdHJpbmcoKX0pO2NvbnRpbnVlfXgoQlcpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLG4uVyk7YnJlYWs7Y2FzZSA5OmxldCBZRTt0cnl7WUU9SlNPTi5wYXJzZShaMSl9Y2F0Y2goVVQpe24ubG9hZGVyLlUoIndhc21fanNvbl9wYXJzZV9lcnJvciIse2V2OkhaLnRvU3RyaW5nKCl9KTtjb250aW51ZX1MKFlFKTtiLk4oKSYmayYmWkgobi5sb2FkZXIuS3UsYixuLlcpO2JyZWFrO2Nhc2UgMTA6dj1aMTtuLlc9djtJQyYmZSYmKGI9ZShJQykpO2IuSj1RajtoPy5KKFFqLHYpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLHYpO2JyZWFrO2Nhc2UgMTE6Yi5WPW5ldyBSZWgodGksVik7YnJlYWs7Y2FzZSAxNDpsZXQgWmk9bmV3IFI0KElNLEMsVixMdCxgc3EvJHtJTX1gLHZvaWQgMCx2b2lkIDAsCiExLG4uSixuLk4/Lk4pO3Y9bnVsbDtuLk4mJm4uTi5mSygpJiYodj1uZXcgcHIoQ2cobi5OKSxuLk4uSigpLEJBKG4uTiksRnAobi5OKSx3RihuLk4pLGcuTWQobi5OKSxnLlJyKG4uTikpKTtuLmxvYWRlci5SMChiLFppLHYpO2JyZWFrO2Nhc2UgMTU6bGV0IFdJPU51bWJlcihaMSk7aXNOYU4oV0kpfHxuLmxvYWRlci5wWj8uKFdJKTticmVhaztjYXNlIDY6bGV0IERBPW5ldyBSNChJTSxDLFYsTHQsYHNxLyR7SU19YCx2b2lkIDAsdm9pZCAwLCEwLG4uSixuLk4/Lk4pO2lmKG4ucG9saWN5Py5VMT8/ITApdj1udWxsLG4uTiYmbi5OLmZLKCkmJih2PW5ldyBwcihDZyhuLk4pLG4uTi5KKCksQkEobi5OKSxGcChuLk4pLHdGKG4uTiksZy5NZChuLk4pLGcuUnIobi5OKSkpLG4ubG9hZGVyLlIwKGIsREEsdik7ZWxzZXt2YXIgTj1uLmxvYWRlcjtOLkt1LmlzTWFuaWZlc3RsZXNzJiZOMihOLERBLG51bGwsISFiLmluZm8udmlkZW8pfWJyZWFrO2Nhc2UgMTI6dmFyIEg9bi5sb2FkZXI7dj0KYjt2YXIgQT1uZXcgUjQoSU0sQyxWLEx0LGBzcS8ke0lNfWAsdm9pZCAwLHZvaWQgMCwhMCxuLkosbi5OPy5OKTtILkt1LmlzTWFuaWZlc3RsZXNzJiZUeChILkt1LEEuaiQsISF2LmluZm8udmlkZW8pO2JyZWFrO2Nhc2UgNTpsZXQgcFY7dHJ5e3BWPUpTT04ucGFyc2UoWjEpfWNhdGNoKFVUKXtuLmxvYWRlci5VKCJ3YXNtX2pzb25fcGFyc2VfZXJyb3IiLHtldjpIWi50b1N0cmluZygpfSk7Y29udGludWV9cFYuc3RhcnRTZWNzKz1DO24uSj1wVjtuLmxvYWRlci5NZShiLHBWLElNLG4uTj8uZksoKT8/ITEpO2JyZWFrO2Nhc2UgMTM6UWYoYixuZXcgRGF0YVZpZXcoUWouYnVmZmVyLFFqLmJ5dGVPZmZzZXQsUWouYnl0ZUxlbmd0aCkpO2JyZWFrO2RlZmF1bHQ6bi5sb2FkZXIuVSgid2FzbV91bmtub3duX2V2Iix7ZXY6SFoudG9TdHJpbmcoKX0pfX19ZmluYWxseXtXLmV4cG9ydHMuTWVkaWFTdHJlYW1fY2xlYXJQZW5kaW5nRXZlbnRzKEQpfWVsc2UgVy5leHBvcnRzLk1lZGlhU3RyZWFtX2NsZWFyUGVuZGluZ0V2ZW50cyhEKX07Ckg2PWZ1bmN0aW9uKG4pe24uVWwmJihuLlVsLmRpc3Bvc2UoKSxuLlVsPW51bGwpO24uU0s9dm9pZCAwO24uWFY9dm9pZCAwfTsKSjQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9V15uO3ZhciBMOyhufDIpPj0yNyYmbisyPDMzJiYoTD1iKHYsayxoKSk7aWYoISgobnw0KT4+NCkpZm9yKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO0QtLTspYltJW3heNDM4NF1dKGJbSVt4XjQzODldXSgpKTtpZigobi0yfDU4KT49biYmKG4tOHwxNSk8bil7Zm9yKHZhciBlPXheNDY3NCxHPVtdOysrZS1HW0lbNV1dLSh4XjQ2NDIpOyl7c3dpdGNoKGUpe2Nhc2UgeF40Njk3OmU9eF40NjU0O2NvbnRpbnVlO2Nhc2UgeF40NzI5OmU9eF40Njc1O2JyZWFrO2Nhc2UgeF40Njc1OmUtPXheNDYyNDtjb250aW51ZTtjYXNlIHheNDY2NDplPXheNDcwNjtjb250aW51ZTtjYXNlIHheNDY1MjplPXheNDcwMX1HW0lbeF40NjI4XV0oU3RyaW5nW0lbeF40NjU2XV0oZSkpfUw9R31yZXR1cm4gTH07CmZyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qXygpLGI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0VHlwZShXKSx2PUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFNlZ051bShXKSxrPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFN0YXJ0VGltZShXKSxoPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldER1cmF0aW9uKFcpLHg9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNFbmRPZlNlZ21lbnQoVykhPT0wLEw9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0U2xpY2VPZmZzZXQoVyksZT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TG10KFcpLEc9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNGYXN0U2Vla2FibGUoVykhPT0wLHI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkKFcpLE49RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkTGVuZ3RoKFcpLEg9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Rm9ybWF0SWQoVyksQT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRGb3JtYXRJZExlbmd0aChXKSwKeT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TWVkaWFTb3VyY2UoVyksVD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW4oVyksej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW5MZW5ndGgoVyksQz1ELm1lbW9yeS5oZWFwKCksUT0iIjtyJiZOPjAmJihRPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxyLE4pKS5yZXBsYWNlKC9cMC9nLCIiKSk7cj0iIjtIJiZBPjAmJihyPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxILEEpKS5yZXBsYWNlKC9cMC9nLCIiKSk7SD0iIjtUJiZ6PjAmJihIPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxULHopKS5yZXBsYWNlKC9cMC9nLCIiKSk7VD1yJiZuLkVlP24uRWUocik6bi5QSjtDPUQubWVtb3J5LmhlYXAoKTtBPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldERhdGEoVyk7ej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRMZW5ndGgoVyk7Qz1uZXcgUzUoWyhuZXcgVWludDhBcnJheShDLEEseikpLnNsaWNlKCldKTtBPQpELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50Qnl0ZVJhbmdlU3RhcnQoVyk7RD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TGVuZ3RoQnl0ZXMoVyk7Vz12b2lkIDA7RD4wJiZULlcoKSYmKFc9V18oQSxEKSk7aHx8dHlwZW9mIFQucmIhPT0ibnVtYmVyInx8KGg9VC5yYik7Yj1uZXcgcUkoYixULFcsIndhc20iLHYsayxoLEwseix4LGUsUSxHLHksSCk7eD1uZXcgYjgoYixDKTtpZihuLnBvbGljeS5Zcnx8bi5wb2xpY3kuUyQpYj0hIWIuTiYmdj09PW4ueHAseC5XPWI/bi5tOTprLHguWD1iP24uenI6aCxifHwobi54cD12LG4ubTk9eC5XLG4uenI9eC5YKTtyZXR1cm4geH07CnlrPWZ1bmN0aW9uKG4pe24uaj0hMDtuLlBEPSEwO24uWD0tMTtQdShuLEluZmluaXR5KX07Cm1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLkopSjAobixXKTtuLko9W107bi5OPW51bGx9OwpLdj1mdW5jdGlvbihuLFcsRD0hMSl7aWYobi5RRSl7bGV0IGI9bi5RRS5aRigpLHY9RlooYixXKSxrPU5hTixoPUkkKG4pO2gmJihrPUZaKGIsaC5QSi5pbmRleC5nZXRTdGFydFRpbWUoaC5qJCkpKTtpZih2PT09ayYmbi5OJiZuLk4uSiYma1F3KFNxKG4pLDApKXJldHVybiBXfW49QTAobixXLEQpO3JldHVybiBuPj0wP246TmFOfTsKUHU9ZnVuY3Rpb24obixXLEQpe24uUEouTigpO3ZhciBiPUEwKG4sVyk7aWYoYj49MClyZXR1cm4gYjtuLlY/LmNKKFcsRCk7Vz1NYXRoLm1pbihXLG4uVy5McygpKTtuLk49bi5wb2xpY3kudHc/bnVsbDpuLlBKLksoVykuQXdbMF07bWQobikmJihuLnBvbGljeS5YWSYmRD8uc2Vla1NvdXJjZT09PTYwfHxuLlFFJiZuLlFFLmFib3J0KCksbi5wb2xpY3kucG8mJm4uVj8uWSgpKTtuLlMkPTA7cmV0dXJuIG4uTj9uLk4uc2VnbWVudFN0YXJ0VGltZTpXfTsKaVk9ZnVuY3Rpb24obil7cmV0dXJuIG4uVy5XMigpfTsKS3I9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSl7VyYmczQmJm4uVy5CVyhXLml3KCkpO0R8fG4uVj8uVigpO24uUUU9VztuLlY/LnR3KG4uUUUsYil9OwpJJD1mdW5jdGlvbihuKXtyZXR1cm4gbi5wb2xpY3kuZkM/bi5WPy5iZCgpfHxudWxsOm4uUUUmJm4uUUUuWmcoKX07Cmhacj1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQ9MDtEPG4uTy5sZW5ndGg7RCsrKVdbYHIke0R9YF09bi5PW0RdO3JldHVybiBXfTsKTzQ9ZnVuY3Rpb24obixXKXtpc05hTihuLlkpfHxuLlUoImFzd3IiLHtzcTpXLmluZm8uQXdbMF0uaiQsaWQ6Vy5pbmZvLkF3WzBdLlBKLmluZm8uaXRhZyx4dGFnOlcuaW5mby5Bd1swXS5QSi5pbmZvLkosZXA6RGF0ZS5ub3coKS1uLll9KTtuLkoucHVzaChXKTtuLk49Zy5VTShXLmluZm8uQXcpO24uTy5wdXNoKFcuZ2EoKSk7bi5PLmxlbmd0aD40JiZuLk8uc2hpZnQoKX07CnhYQz1mdW5jdGlvbihuLFcpe2lmKFcuUUEoKSl7bGV0IEQ9Vy54OSgpO2ZvcihsZXQgYiBvZiBEKW4ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBTbiYmbi5VKCJvbWJsc3MiLHtzOmIuaW5mby5nYSgpfSksbi5XZyhXLmluZm8uQXcsYixXLlh2KCkpfX07CkxqVT1mdW5jdGlvbihuKXtuLkoubGVuZ3RoP24uTj1nLlVNKGcuVU0obi5KKS5pbmZvLkF3KTpuLlcuUkMoKT9uLk49bi5XLld4KCkuaW5mbzpuLk49SSQobil9OwpQNj1mdW5jdGlvbihuLFcpe3ZhciBEPXtlVzpbXSxCaTpbXX07cmV0dXJuIG4uVj8uTyhXKT8/RH07CkEwPWZ1bmN0aW9uKG4sVyxEPSExKXtpZighbi5OfHwhbi5OLkopcmV0dXJuIE5hTjtuPVNxKG4pO1c9ZVp0KG4sVysuMDIsRCk7cmV0dXJuIFc8MD9OYU46a1F3KG4sRD9XOjApP25bV10uc2VnbWVudFN0YXJ0VGltZTpOYU59OwptZD1mdW5jdGlvbihuKXtpZihuLlBKLmluZm8uSUI9PT0iZiJ8fG4ucG9saWN5LkomJm4uVy5vQygpKXJldHVybiEwO3ZhciBXPUkkKG4pO2lmKCFXKXJldHVybiExO3ZhciBEPVpkKFcpJiZXLmFaO3JldHVybiBuLmlzTWFuaWZlc3RsZXNzJiZuLnR3PjA/RHx8Vy5qJD49bi50dzpEfTsKWmQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/bi5WKCk6ITF9OwpnVEM9ZnVuY3Rpb24obil7dmFyIFc9SSQobik7cmV0dXJuIFc/Vy5qLW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk6MH07ClU0PWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFuLlBKLmluZGV4Lk1JKFcsITApKXJldHVybiExO3RyeXttaShuKTtuLlcuSzgoVyk7aWYobi5wb2xpY3kuTilyZXR1cm4gbi5OPW51bGwsITA7Yj5EP1B1KG4sYik6bi5OPW4uUEouaihXLTEsITEpLkF3WzBdfWNhdGNoKHYpe3JldHVybiBXPUIkKHYpLFcuZGV0YWlscy5yZWFzb249InJvbGxia2VyciIsbi5sb2FkZXIuaGFuZGxlRXJyb3IoVy5lcnJvckNvZGUsVy5kZXRhaWxzLFcuc2V2ZXJpdHkpLCExfXJldHVybiEwfTsKSjA9ZnVuY3Rpb24obixXLEQ9ITEpe24uY3EoVyxEKTtXLmRpc3Bvc2UoKX07Cmc3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XXm47aWYoISgobnw3KT4+NCkpe3ZhciB2PURbSVtiXjIzXV0oSVtiXjJdKSxrPXt9O2ZvcihsZXQgTD0wO0w8dltJWzVdXTtMKyspdmFyIGg9UjAoNixiXjczMjUsdixMLGspO3ZhciB4PWt9aWYoKG4tOV4yMSk8biYmbi03PDwxPj1uKWZvcih2PURbSVs1XV07djspRFtJW2JeNjMzM11dKERbSVszXV0oLS12LDEpWzBdKTtpZigobnw0MCk9PW4pe3Y9Yl45MDYyO2ZvcihrPVtdOysrdi1rW0lbNV1dLShiXjg5NjYpOyl7c3dpdGNoKHYpe2Nhc2UgYl44OTg4OnYtPWJeOUUzO2Nhc2UgYl45MDg1OmNhc2UgYl45MDgyOmNhc2UgYl45MDgzOmNvbnRpbnVlO2Nhc2UgYl45MDUzOnY9Yl44OTY5O2Nhc2UgYl45MDgwOmNhc2UgYl45MDgxOmNhc2UgYl45MDMwOmNvbnRpbnVlO2Nhc2UgYl44OTY4OnY9Yl45MDgxfWtbSVtiXjkwMDhdXShTdHJpbmdbSVtiXjg5ODBdXSh2KSl9eD1rfXJldHVybiB4fTsKeW89ZnVuY3Rpb24obil7dmFyIFc9bi5XLld4KCk7cmV0dXJuIFc/Vy5pbmZvOkkkKG4pfTsKRTQ9ZnVuY3Rpb24obixXKXt2YXIgRDtmb3IoRD0wO0Q8bi5KLmxlbmd0aCYmVyE9PW4uSltEXTtEKyspO2lmKEQ9PT1uLkoubGVuZ3RoKUowKG4sVyk7ZWxzZXtmb3IoO0Q8bi5KLmxlbmd0aDspSjAobixuLkoucG9wKCkpO3ZhciBiPXlvKG4pO2ImJmIuUEouRCgpJiZnLm9NKFcuaW5mby5Bdyx2PT4kTih2LGIpKT8obi5OPWIsbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6ImxzcCIsCmxzcDpiLmdhKCl9KSk6KHhOKFcuaW5mby5Bd1swXSk/KG4uTj1XLldvJiZXLldvLlc/VEQxKFcuV28uVyk6bER4KFcuaW5mby5Bd1swXSksbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6bi5OLmdhKCksbHNwOmI/LmdhKCl9KSk6KG4uTj1udWxsLG4ucG9saWN5LlcmJm4uVSgiY2VyIix7bHNyOiJudWxsIixsc3A6Yj8uZ2EoKX0pKSxuLmxvYWRlci5pc09mZmxpbmUoKSYmIW4ucG9saWN5LlRRfHxKMChuLFcsITApKX19OwppUz1mdW5jdGlvbihuKXtyZXR1cm4gbWQobil8fFpkKG4uVy5XeCgpPy5pbmZvKX07ClNxPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9SSQobik7RCYmVy5wdXNoKEQpO1c9Zy53eihXLG4uVy5mMygpKTtmb3IobGV0IGIgb2Ygbi5KKWZvcihsZXQgdiBvZiBiLmluZm8uQXcpYi5TMyYmKFc9Zy5FTShXLGs9PiF0SihrLHYpKSksKHhOKHYpfHx2LmNKKCkpJiZXLnB1c2godik7Cm4uTiYmIXpBMihuLk4sZy5VTShXKSxuLk4uUEouVygpKSYmVy5wdXNoKG4uTik7cmV0dXJuIFd9OwprUXc9ZnVuY3Rpb24obixXKXtpZighbi5sZW5ndGgpcmV0dXJuITE7Zm9yKFcrPTE7VzxuLmxlbmd0aDtXKyspaWYoIUx6KG5bVy0xXSxuW1ddKSlyZXR1cm4hMTtyZXR1cm4hMH07CmVadD1mdW5jdGlvbihuLFcsRD0hMSl7dmFyIGI9LTE7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoay5YPD1XKWlmKEQpYj12O2Vsc2UgaWYoay5zZWdtZW50U3RhcnRUaW1lK2suVz49VylyZXR1cm4gdn1yZXR1cm4gYn07CnZhciBZalo9ZnVuY3Rpb24obixXKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsMiw0OTA2LG4sVyl9Owp1Uz1mdW5jdGlvbihuKXtyZXR1cm4hKCFuLk58fG4uTi5QSj09PW4uUEopfTsKWDB0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wb2xpY3kuTj9uLnpzKCEwKTxEOihuPXlvKG4pKSYmIVpkKG4pP24uaj5XJiZuLmo8VytEOiExfTsKZy5vJD1mdW5jdGlvbihuKXtuLlY/LlYoKTtuLmtJKCl9Owpxemg9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJm4uTi5qJCE9PS0xJiZuLk4uaiQ8bi5QSi5pbmRleC5aTygpfTsKR1FiPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTjtXJiZXLmokPT09LTEmJihuPW4uVy5XeCgpKSYmeE4obi5pbmZvKSYmKG49bi5pbmZvLmokLFcuWT0idXBkYXRlTGFzdFNsaWNlUmVxdWVzdGVkIixXLmokPW4pfTsKdGRqPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4uSixXPT5XLmZKKX07CiRYMT1mdW5jdGlvbihuLFcpe3ZhciBEPWlZKG4pO3JldHVybiBEJiZELmluZm8udHlwZSE9PTY/IVcuTyhuLEQuaW5mby5qJCk6ITF9OwpyeUM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5jSilpZihELnNlZ21lbnROdW1iZXI9PT1XKXJldHVybiBELnBWPzI6MTtyZXR1cm4gMH07Ck44Wj1mdW5jdGlvbih7aGFzU3ViZnJhZ21lbnRlZEZtcDQ6bj0hMSxJMjpXPSExfT17fSl7dmFyIEQ9bmV3IHNLaTtELnRJPW58fFc7cmV0dXJuIER9OwpkdT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OJiZuLkZlJiZuLnBsYXliYWNrU3RhcnRQb2xpY3l9OwpKa0M9ZnVuY3Rpb24obixXLEQ9ITEpe1cudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmIW4uV0gmJihuLmUkPTM2NzAwMTYwLG4udko9NTI0Mjg4MCxuLkhKPU1hdGgubWF4KDQxOTQzMDQsbi5ISiksbi5XSD0hMCk7Vy52aWRlby5xdWFsaXR5T3JkaW5hbD4yMTYwJiYhbi5iZSYmKG4uZSQ9MTA0ODU3NjAwLG4uTnM9MTMxMDcyMDAsbi5iZT0hMCk7Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSE9PTA/Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoInNhbXN1bmciKSYmKGcudWIoImthbnQiKXx8Zy51YigibXVzZSIpKSYmKG4uTnM9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSk6Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoImthbnQiKSYmKG4uTnM9MTMxMDcyMCk7bi55UCE9PTAmJlcuaXNFbmNyeXB0ZWQoKSYmKG4uTnM9bi55UCk7bi5KRyE9PQowJiZXLmlzRW5jcnlwdGVkKCkmJkQmJihuLk5zPW4uSkcpO1cuTnMmJihuLlFIPU1hdGgubWF4KG4uWm0sTWF0aC5taW4obi5ISiw1KlcuTnMpKSl9Owp6Wj1mdW5jdGlvbihuLFcsRD0wKXtyZXR1cm4gZy5kTShuLnlRLmV4cGVyaW1lbnRzLFcpfHxEfTsKbFM9ZnVuY3Rpb24obixXLEQsYil7bi5GZSYmKG4ucGxheWJhY2tTdGFydFBvbGljeT1XLG4uTTU9RCxuLkRDPWIpfTsKUjY9ZnVuY3Rpb24obixXKXtpZihXPDApcmV0dXJuITA7dmFyIEQ9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYhbi5zSnx8Vz09PUQmJihuPW4uT2coKSkmJlc9PT1uLmokPyEwOiExfTsKS2EyPWZ1bmN0aW9uKG4sVyxEKXtpZighUjYobixXKSlyZXR1cm4gMDtpZighbi50SXx8IWlzTmFOKEQpJiZEPjApcmV0dXJuIDI7aWYoVzwwKXJldHVybiAxO0Q9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYobj1uLk9nKCkpJiZXPT09bi5qJCYmIW4ucGVuZGluZz8yOjF9OwpwMGI9ZnVuY3Rpb24obixXLEQpe2lmKCEoVy5YZiYmbi5pc0NvbXBsZXRlKCkmJm4uY2FuUmV0cnkoKSYmbi5pbmZvLlhiLnBTKFcsRCkpKXJldHVybiAwO3ZhciBiPW4uaW5mby5YYi5qO2lmKGImJiFXLmVuYWJsZVNhYnJQcm9iZU9uU2VydmVySW5pdGlhdGVkSG9zdEZhbGxiYWNrKXJldHVybiAwO249VVkoRCxGNShuLmluZm8uWGIsITEsVykpO3JldHVybiBiJiYoRD0oMCxnLlIpKCktbi5YLG4uWD4wJiZEPFcuc2FiclN1Y2Nlc3NmdWxQcm9iZVRpbWVvdXRNcyk/MDpuLmorVy5YZipsTChuLCEwLGIpPigwLGcuUikoKT8wOjF9OwpqcT1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kuem0pcmV0dXJuITE7dmFyIGI9bi5KQzt2YXIgdj1XLk4/LlRDKCl8fC0xO2IuSj09PTMmJnYrMT49Yi5YPyhiLlUoInNkYWkiLHtoYWx0cnE6disxLGVzdDpiLlh9KSxiPSExKTpiPWIuSiE9PTI7aWYoIWJ8fCEoVy5OP1cuTi5QSi5YYjpXLlBKLlhiKS5ZKG4ucG9saWN5LG4ubm4sbi5sb2FkZXIuSXcpfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmKCFUWihuLnNjaGVkdWxlKXx8bi5sb2FkZXIuT00pKXJldHVybiExO2lmKG4ucG9saWN5LkomJnFzPj01KXJldHVybiBnLkphKG4ubG9hZGVyLmoyKSwhMTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzKXtpZihXLkoubGVuZ3RoPjAmJlcuTiYmVy5OLmokPT09LTF8fFcuSi5sZW5ndGg+PW4ucG9saWN5LndvfHwhbi5wb2xpY3kuWE0mJlcuSi5sZW5ndGg+MCYmIW4ucG9saWN5LlYudEkpcmV0dXJuITE7aWYoVy5qKXJldHVybiFuLkt1LmlzTGl2ZXx8IWlzTmFOKG4uWkEpfWlmKHRkaihXKSlyZXR1cm4hMTsKaWYoIVcuTil7aWYoIVcuUEouTigpKXJldHVybiExO1B1KFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSl9aWYoaVkoVykmJihXLld4KCkhPT1pWShXKXx8bi5sb2FkZXIuaXNTdXNwZW5kZWQpKXJldHVybiExO3Y9KGI9bi5wb2xpY3kuc1MpJiYhVy5KLmxlbmd0aCYmVy56cyghMCk8TWF0aC5taW4oYixELnpzKCkpO2I9Vy5KLmxlbmd0aCtELkoubGVuZ3RoO3ZhciBrPShXLkoubGVuZ3RoP1cuSlswXS5ReSgpOiExKXx8KEQuSi5sZW5ndGg/RC5KWzBdLlF5KCk6ITEpfHxuLkt1LmlzTGl2ZTsodnx8aykmJi0tYjtpZihiKzE+PW4ucG9saWN5LkN5KXJldHVybiExO2I9Vy5OO2lmKCFiKXJldHVybiEwO2IuY0ooKSYmYi5QSi5OKCkmJihXLk49Zy5VTShiLlBKLlZRKGIpKSxiPVcuTik7aWYoIWIuVigpJiYhYi5QSi5YKGIpKXJldHVybiExO2s9bi5LdS5YZ3x8bi5LdS5pc1dpbmRvd2VkTGl2ZTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzJiZrKXtrPVcuUEouaW5kZXgueCQoKTt2YXIgaD0KRC5QSi5pbmRleC54JCgpO2s9TWF0aC5taW4oayxoKTtpZihXLlBKLmluZGV4LlRYKCk+MCYmaz4wJiZiLmokPj1rKXJldHVybiBXLnR3PWssRC50dz1rLCExfWlmKGIuUEouaW5mby5hdWRpbyYmYi5jSigpfHxiLlYoKSlyZXR1cm4hMTtrPSFXLlBEJiYhRC5QRDtpZih2PSF2KXY9Yi5qLHY9ISEoRC5OJiYhWmQoRC5OKSYmRC5OLmo8dik7aD1XPT09bi52aWRlb1RyYWNrJiZuLnBvbGljeS5UQztyZXR1cm4gdiYmKCFuLkt1LmlzTWFuaWZlc3RsZXNzfHxELk4mJkQuTi5qJiZiLmopJiZrJiYhaHx8bi5wb2xpY3kuQlYmJiFXLlBEJiZELlBEPyExOnhOKGIpJiZiLmo+WXppKG4sVyk/KFl6aShuLFcpLCExKToobj1XLlFFKSYmbi5pc0xvY2tlZCgpPyExOiEwfTsKVm89ZnVuY3Rpb24obixXKXtIJGgobi5sb2FkZXIsVyk7dmFyIEQ9elAoVyksYj1uLmxvYWRlci5sdSgpO0Q9e2lqOm4uc2NoZWR1bGUsczQ6RCxCbDpmaXgobi5JZyxEKSxRbjpoSihXLkF3WzBdKSxkaXNhYmxlUmVjb3JkaW5nOmdaKDQwLDEyMTIsVy5YYi5OKSxORDpuLnBvbGljeS5XLEJlOih2LGspPT57bi5sb2FkZXIuS2EodixrKX19OwpuLnNjaGVkdWxlLkouViYmKEQucVk9KG4udmlkZW9UcmFjay5QSj8uaW5mby5Oc3x8MCkrKG4uYXVkaW9UcmFjay5QSj8uaW5mby5Oc3x8MCkpO24uaG4mJihELmokPVcuQXdbMF0uaiQsRC5aQT1XLlpBLEQuaG49bi5obik7Yj17Vzc6d0xVKFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSksZTE6bi5wb2xpY3kuc1YmJnlzKFcpJiZXLkF3WzBdLlBKLmluZm8udmlkZW8/RWpaKG4uY1YpOnZvaWQgMCxTTjpuLnBvbGljeS5UQyxwb1Rva2VuOm4ubG9hZGVyLk1ZKCksVWo6bi5sb2FkZXIuVTQoKSxKTzppc05hTihuLkpPKT9udWxsOm4uSk8sYUk6bi5hSSxQbjpuLlBuLHEkOmJ9O3JldHVybiBuZXcgQUIobi5wb2xpY3ksVyxELG4ubm4sKHYsayk9Pnt0cnl7YTp7bGV0IE1pPXYuaW5mby5Bd1swXS5QSixNVT1NaS5pbmZvLnZpZGVvP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2s7aWYoISh2LnN0YXRlPj0yKXx8di5pc0NvbXBsZXRlKCl8fHYuQWcoKXx8ISghbi5sb2FkZXIubWVkaWFTb3VyY2V8fApuLmxvYWRlci5pc1N1c3BlbmRlZHx8TVUuenMoKT4zKSl7e3ZhciBoPW4ucG9saWN5LHg9bi5ubjtsZXQgSUM9di5BZygpO2lmKHYuaXNDb21wbGV0ZSgpfHwhSUN8fHYuaW5mby5YYi5wUyhoLHgpKXZhciBMPTA7ZWxzZXt2YXIgZT1oLnpmO2lmKCFlfHxJQzxlKUw9MDtlbHNle3ZhciBHPVVZKHgsRjUodi5pbmZvLlhiLCEwLGgpKTtMPUcuTnx8Ry50aW1lZE91dHx8Ry5zdGFydGVkPzA6Mn19fUw9PT0xJiYobi5WPSEwKTtmckMobix2LEwpO2lmKHYuaXNDb21wbGV0ZSgpfHx2LnFOKCkmJms8Myl7aWYobi5wb2xpY3kuVyl7bGV0IElDPXYudGltaW5nLkQoKTtJQy5yc3Q9di5zdGF0ZTtJQy5zdHJtPXYueGhyLkdwKCk7SUMuY25jbD12LnhociYmdi50NS5YPzE6MDtuLmxvYWRlci5VKCJycXMiLElDKX12Lm9QJiZuLmxvYWRlci5VKCJzYndlMyIse30sITApfWlmKCFuLnFOKCkmJnYuc3RhdGU+PTIpe1hTaChuLnRpbWluZyx2LE1pKTt2YXIgcj1uLmxvYWRlcjtuLkpPJiZ2Lnp3JiYKciYmKG4uSk89TmFOLG4ubG9hZGVyLm45KHYuencpLG4ubG9hZGVyLk1qKCksbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWsiLHttZWRpYVRpbWVTZWNvbmRzOnYuend9KSk7di50ViYmbi5KTyYmdi50ViYmIXYudFYuYWN0aW9uJiYobi5sb2FkZXIud1Iobi5KTyksbi5KTz1OYU4sbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWtGYWxsYmFjayIse3RhcmdldFV0Y1RpbWVTZWNvbmRzOm4uSk99KSk7di5BaCYmbi5sb2FkZXIuc1codi5BaCk7bi5wb2xpY3kuTmQmJihuLlBuPXYuUG4pO2lmKHYuc3RhdGU9PT0zKXtFNChNVSx2KTt5cyh2LmluZm8pJiZDcihuLE1VLE1pLCEwKTtpZihuLnNVKXtsZXQgSUM9di5pbmZvLllsKCk7SUMmJm4uc1UuWjUodi5pbmZvLkF3WzBdLmokLE1pLmluZm8uaWQsSUMpfW4ubG9hZGVyLkJZKCl9ZWxzZSBpZih2LmlzQ29tcGxldGUoKSYmdi5pbmZvLkF3WzBdLnR5cGU9PT01KXtpZih2LnN0YXRlIT09NCl2LnRuKCkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKHYuVkcoKSwKdi55MCgpKTtlbHNle3ZhciBOPSh2LmluZm8uQXdbMF0uUEouaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5KWzBdfHxudWxsO04mJk4gaW5zdGFuY2VvZiBBQiYmTi5BZygpJiZOLk1CKCl9di5kaXNwb3NlKCl9ZWxzZXtpZighdi50bigpJiZ2LmZKJiZ2LnN0YXRlPj0yJiZ2LnN0YXRlIT09Myl7dmFyIEg9di54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIlgtUmVzcG9uc2UtSXRhZyIpO2lmKEgpe3ZhciBBPXlrcihuLmNWLEgpLHk9di5pbmZvLlc7aWYoeSl7dmFyIFQ9eS1BLkhKKCk7QS5jSj0hMDt2LmluZm8uQXdbMF0uUEouY0o9ITE7dmFyIHo9QS5ZKFQpO3YuaW5mbz16O2lmKHYuV28pe3ZhciBDPXYuV28sUT16LkF3OyhRLmxlbmd0aCE9PUMuQXcubGVuZ3RofHxRLmxlbmd0aDxDLmpTLmxlbmd0aCkmJmcuY18oImRhc2gvcmVxdWVzdCIsMjYwNTExMTE5LGAke1EubGVuZ3RofWAsYCR7Qy5Bdy5sZW5ndGh9YCxgJHtDLmpTLmxlbmd0aH1gKTtDLkF3PVE7bGV0IElDPQpRWzBdLnJhbmdlLElNPW5ldyBTNTtmb3Ioaz0wO2s8Qy5qUy5sZW5ndGg7aysrKWU1KElNLEMualNba10uSik7Zm9yKGs9MDtrPEMualMubGVuZ3RoO2srKyl7Qy5qU1trXS5pbmZvPVFba107bGV0IFlsPVFba10ucmFuZ2U7Qy5qU1trXS5KPWdkKElNLFlsLnN0YXJ0LUlDLnN0YXJ0LFlsLmxlbmd0aCl9fXYuZko9ITE7QjYobi5sb2FkZXIsbi52aWRlb1RyYWNrLEEpO3ZhciBWPW4udmlkZW9UcmFjaztWLk4mJihWLk4uUEo9QSk7bi5sb2FkZXIuWUooQS5pbmZvLnZpZGVvLnF1YWxpdHkpO3ZhciBMdD12Llh2KCk7THQmJkEuaW5mby5sYXN0TW9kaWZpZWQmJkEuaW5mby5sYXN0TW9kaWZpZWQhPT0rTHQmJkU0KG4udmlkZW9UcmFjayx2KX19ZWxzZSB2LmZKPSExfXYuWHQ/Lml0YWdEZW55bGlzdCYmbi5sb2FkZXIuV0Yodi5YdC5pdGFnRGVueWxpc3QpO2lmKHYuc3RhdGU9PT00KUYwKG4sdiksbi5KQyYmbi5KQy5TJCh2LmluZm8sbi5zVSk7ZWxzZSBpZihuLnBvbGljeS5lNCYmdi5RQSgpJiYKIXYuaXNDb21wbGV0ZSgpJiYhRjAobix2KSYmIXYudG4oKSlicmVhayBhO2lmKHYudG4oKSl7bGV0IElDPXYuaW5mby5Bd1swXS5QSixJTT12LlZHKCk7aWYoZ1ooMjQsMTE2NCxJQy5YYi5OKSl7bGV0IFR6PWcudXAodi5zOCgpLDMpO24ubG9hZGVyLlUoImRsZGJyZXJyIix7ZW06VHp8fCJub25lIn0pfWxldCBZbD12LmluZm8uQXdbMF0uaiQsajE9ekkobi5KQyx2LmluZm8uQXdbMF0uWCxZbCk7SU09PT0ibmV0LmJhZHN0YXR1cyImJihuLk4rPTEpO2lmKHYuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpKXtpZighKHYuaW5mby5YYi5KPj1uLnBvbGljeS5sTSYmbi5zVSYmdi5pbmZvLmlzRGVjb3JhdGVkKCkmJklNPT09Im5ldC5iYWRzdGF0dXMiJiZNMihuLnNVLGoxLFlsKSkpe3ZhciB0aT0oSUMuaW5mby52aWRlbyYmSUMuWGIuSj4xfHx2LmxOPT09NDEwfHx2LmxOPT09NTAwfHx2LmxOPT09NTAzKSYmISh3QyhuLmNWLmopLnNpemU+MCkmJiFnWig1NCwxMTg2LElDLlhiLk4pLEhaPQp2LnkwKCksWjE9SUMuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3RpJiYoSFouc3R1bj0iMSIpO24ubG9hZGVyLmhhbmRsZUVycm9yKElNLEhaKTtuLnFOKCl8fCh0aSYmYXEobi5jVixJQyksRTQoWjEsdiksbi5sb2FkZXIuQlkoKSl9fWVsc2UgQT0xLG4uc1UmJnYuaW5mby5pc0RlY29yYXRlZCgpJiZJTT09PSJuZXQuYmFkc3RhdHVzIiYmTTIobi5zVSxqMSxZbCkmJihBPTApLG4uS3UuaXNMaXZlJiZ2LlZHKCk9PT0ibmV0LmJhZHN0YXR1cyImJm4uTjw9bi5wb2xpY3kueGgqMj8oajQobi5LdSksbi5LdS5YZ3x8bi5LdS5pc1ByZW1pZXJlP2RWKG4ubG9hZGVyLDAse3FkOiJiYWRTdGF0dXNXb3JrYXJvdW5kIn0pOm4uS3UuaXNXaW5kb3dlZExpdmU/ZFYobi5sb2FkZXIsbi5LdS5KVSx7cWQ6ImJhZFN0YXR1c1dvcmthcm91bmQiLHFhOiEwfSk6UiQobi5sb2FkZXIpKTpuLmxvYWRlci5oYW5kbGVFcnJvcihJTSx2LnkwKCksQSk7aXNOYU4obi5KTyl8fChuLmxvYWRlci53UihuLkpPKSwKbi5KTz1OYU4pfW4ucG9saWN5LkhEJiYhdi5pc0NvbXBsZXRlKCk/UW8obi5sb2FkZXIpOm4ubG9hZGVyLkJZKCk7dmFyIFFqPXAwYih2LG4ucG9saWN5LG4ubm4pO2ZyQyhuLHYsUWopfX19fX1jYXRjaChNaSl7UWo9bi5qPzE6MCxuLmo9ITAsdj1qMihRaiksUWo9QiQoTWksUWopLG4ubG9hZGVyLmhhbmRsZUVycm9yKFFqLmVycm9yQ29kZSxRai5kZXRhaWxzLFFqLnNldmVyaXR5KSx2fHxuLmxvYWRlci56aSgpfX0sYil9OwpJcmI9ZnVuY3Rpb24obixXLEQpe2lmKGpxKG4sVyxEKSl7RD1uLkooVyxEKTtpZihuLnNVKXt2YXIgYj1ELkF3WzBdLlBKLmluZm8uaWQ7dmFyIHY9bi5KQzt2YXIgaz1ELkF3WzBdLmokO3Y9azwwJiYhaXNOYU4odi5qKT92Lmo6aztrPXpJKG4uSkMsRC5Bd1swXS5YLHYpO2xldCBMPVc9PT1uLmF1ZGlvVHJhY2s/MToyLGU9RC5Bd1swXS5QSi5pbmZvLklCLEc9Yi5zcGxpdCgiOyIpWzBdO2E6e3ZhciBoPW4uSkM7aWYoaC5OKXt2YXIgeD1oLk4uZmYuZXZlbnQ7aWYoaC5OLmokPT09dil7aD14PT09InByZWRpY3RTdGFydCI/dm9pZCAwOmguTi5mZi5ldmVudDticmVhayBhfWlmKGguTi5qJD09PXYtMSl7aD14PT09InN0YXJ0Inx8eD09PSJjb250aW51ZSI/eDp2b2lkIDA7YnJlYWsgYX19aD12b2lkIDB9aWYobi5wb2xpY3kuVlEmJm4uSkMuSiE9PTApYj1nLkp5aShuLnNVLGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYiYmKG4ubG9hZGVyLlUoInNkYWkiLAp7c3NkYWlpbmZvOiIxIixkczpiLk15Py5CZnx8IiIsc2tpcHNxOmIuTXk/LkRKfHwtMSxpdGFnOkcsZjplLHNnOnYsc3Q6ay50b0ZpeGVkKDMpfSksRC5YPWIpO2Vsc2UgaWYoYj1uLnNVLllsKGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYil7az17ZGVjX3NxOnYsaXRhZzpHLHN0OmsudG9GaXhlZCgzKX07aWYobi5wb2xpY3kubiQmJlcuaXNSZXF1ZXN0UGVuZGluZyh2LTEpKXtuLmxvYWRlci5VKCJzZGFpIix7d3RfZGFpc3RhdGVfb25fc2c6di0xfSk7cmV0dXJufW4ubG9hZGVyLlUoInNkYWkiLGspO2ImJihELk49bmV3IGcud1ooYikpO24ucG9saWN5LlcmJih2PUQuWGIuVy5nZXQoImlkIil8fCIiLGI9RC5OPy5nZXQoImlkIil8fCIiLHYhPT1iJiZuLmxvYWRlci5VKCJzdG1pZG1pc21hdGNoIix7Y2lkOnYsYWlkOmJ9KSl9ZWxzZSBuLkpDLkohPT01JiZuLmxvYWRlci5VKCJzZGFpIix7bm9kZWNfc3E6dixpdGFnOkcsc3Q6ay50b0ZpeGVkKDMpfSl9bi5wb2xpY3kuQ20mJgpELkF3WzBdLmokIT09LTEmJkQuQXdbMF0uaiQ8bi5LdS5JdCYmKEQ9Vy5QSi5qKG4uS3UuSXQsITEpKTtPNChXLFZvKG4sRCkpO2l1KG4udGltaW5nKTtuLlc/Lk4oRC5YYil9fTsKWXppPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5KQztEPUQuTj9ELk4uZmY6bnVsbDtpZihuLnBvbGljeS5UQyYmRClyZXR1cm4gRC5zdGFydFNlY3MrRC5DZisxNTtXPU9iKG4ubG9hZGVyLFcpO24ucG9saWN5LmpXPjAmJihEPSgoMCxnLlIpKCktbi5sb2FkZXIucUcpLzFFMyxXPU1hdGgubWluKFcsbi5wb2xpY3kualcrbi5wb2xpY3kuTEsqRCkpO1c9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKStXO3JldHVybiBuLnBvbGljeS56NCYmKEQ9U3pNKG4ubG9hZGVyKStuLnBvbGljeS56NCxEPFcpPyhuLmxvYWRlci5VKCJtcmwiLHtvcmk6Vyxtb2Q6RH0sITApLG4ucG9saWN5LmxXJiZjNihuLmxvYWRlciksRCk6V307CmZyQz1mdW5jdGlvbihuLFcsRCl7aWYoRCE9PTApe2E6aWYoVz1XLmluZm8sRD1EPT09MixXLk4pVz1udWxsO2Vsc2V7dmFyIGI9Vy5Bd1swXTtpZihXLnJhbmdlKXZhciB2PVdfKFcucmFuZ2Uuc3RhcnQsTWF0aC5taW4oNDA5NixXLlcpKTtlbHNle2lmKFcuSiYmVy5KLmluZGV4T2YoIi9yYW5nZS8iKT49MHx8Vy5YYi5XLmdldCgiZGVmcmFnIik9PT0iMSJ8fFcuWGIuVy5nZXQoIm90ZiIpPT09IjEiKXtXPW51bGw7YnJlYWsgYX12PVdfKDAsNDA5Nil9dj1uZXcgd2soW25ldyBxSSg1LGIuUEosdiwiY3JlYXRlUHJvYmVSZXF1ZXN0SW5mbyIrYi5ZLGIuaiQpXSxXLkopO3YucFM9RDt2Lk49Vy5OO1c9dn1XJiZWbyhuLFcpfX07CkNyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCEoRC5OKCl8fEQuUyQoKXx8RC5jSnx8IUQuWGIuWShuLnBvbGljeSxuLm5uLG4ubG9hZGVyLkl3KXx8RC5pbmZvLklCPT09ImYifHxuLnBvbGljeS5OKSl7aWYoYil7Yj1uLklnO3ZhciB2PUQuaW5mbztiPXJWKGIsdi52aWRlbz9iLnBvbGljeS5SazpiLnBvbGljeS5JTSx2Lk5zKX1lbHNlIGI9MDtiPUQuWShiKTtuPVZvKG4sYik7VXYoYikmJk80KFcsbik7RC5jSj0hMH19OwpGMD1mdW5jdGlvbihuLFcpe2lmKFcucU4oKSlyZXR1cm4hMTt0cnl7dmFyIEQ9Vy5pbmZvLkF3WzBdLlBKO2xldCBoPUQuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3ZhciBiPWg7aWYobi5LdS5pc01hbmlmZXN0bGVzcyYmYil7bi5OPTA7Yi5qJiYoVy5xTigpLFcuaXNDb21wbGV0ZSgpfHxXLlFBKCksYi5qPSExKTtXLkloKCkmJm4ubG9hZGVyLkxyLklJKDEsVy5JaCgpKTt2YXIgdj1XLlRYKCksaz1XLmgwKCk7QzYobi5LdSx2LGspfWlmKFcuaW5mby5RbigpJiYhVXYoVy5pbmZvKSlmb3IobGV0IEwgb2YgVy54OSgpKWgudksoTCk7Yj1oO2ZvcihuLmxvYWRlci5nZXRDdXJyZW50VGltZSgpO2IuSi5sZW5ndGgmJmIuSlswXS5zdGF0ZT09PTQ7KXtsZXQgTD1iLkouc2hpZnQoKTt4WEMoYixMKTtiLlZRPUwuekQoKX1iLkoubGVuZ3RoJiZ4WEMoYixiLkpbMF0pO2xldCB4PSEhaVkoaCk7eCYmVyBpbnN0YW5jZW9mIFNuJiYoRC5pbmZvLmVTKCk/Z2oxKG4udGltaW5nKToKZTdiKG4udGltaW5nKSk7cmV0dXJuIHh9Y2F0Y2goaCl7Vz1XLnkwKCk7Vy5vcmlnaW49ImhyaHMiO2E6e249bi5sb2FkZXI7RD1oO2lmKEQgaW5zdGFuY2VvZiBFcnJvcil7Vy5tc2d8fChXLm1zZz1gJHtELm1lc3NhZ2V9YCk7Vy5uYW1lfHwoVy5uYW1lPWAke0QubmFtZX1gKTtpZihEIGluc3RhbmNlb2YgZy5ReCYmRC5hcmdzKWZvcihsZXQgW3gsTF1vZiBPYmplY3QuZW50cmllcyhELmFyZ3MpKVdbYGFyZyR7eH1gXT1gJHtMfWA7Zy5HcShEKTtpZihELmxldmVsPT09IldBUk5JTkciKXtuLkwuR20oVyk7YnJlYWsgYX19bi5oYW5kbGVFcnJvcigiZm10LnVucGxheWFibGUiLFcsMSl9cmV0dXJuITF9fTsKbVhiPWZ1bmN0aW9uKG4pe3ZhciBXPW4udmlkZW9UcmFjay5QSi5pbmRleDtuLmhuPW5ldyBBeVooe3NKOm4ucG9saWN5LnNKLHRJOm4ucG9saWN5LlYudEksTzg6Vy5VYygpLHgkOigpPT5XLngkKCksCk9nOigpPT5XLk9nKCl9KX07CktqaT1mdW5jdGlvbihuKXtpZihuLko/LmlzTG9ja2VkKCkpcmV0dXJuIG4udmlkZW9JbmZvczt2YXIgVz13QyhuLk4pLEQ9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi5Ocz5uLm9aLk5zPyExOiFXLmhhcyhiLmlkKSk7Cm4uTi5sbCgpJiYoRD1nLkVNKEQsYj0+Yi52aWRlby53aWR0aDw9ODU0JiZiLnZpZGVvLmhlaWdodDw9NDgwKSk7CnJldHVybiBEfTsKTyRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpRC5wdXNoKGcuVmYoYixuLkt1LnpXKSk7cmV0dXJuIER9OwpaJGk9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj8ucmVhc29uPT09Im0iPyJtIjpuLko/LnJlYXNvbj09PSJzIj8icyI6bi5KJiZQYlUobixuLkopP24uSi5yZWFzb246ImEifTsKUGJVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ub1ouSHcmJlcucmVhc29uPT09ImwifHxuLm9aLnFqPyExOm4ub1ouWWo/ITA6Vy5yZWFzb249PT0ibCJ8fFcucmVhc29uPT09ImIifHxXLnJlYXNvbj09PSJvIn07ClVYWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTi5OO2lmKEQpe24udmlkZW9JbmZvcz1uLlY7dmFyIGI9Zy5sXyhuLnZpZGVvSW5mb3Msdj0+di5pZD09PUQpOwpiJiZiLnZpZGVvLnF1YWxpdHlPcmRpbmFsPT09Vz9uLnZpZGVvSW5mb3M9W2JdOihiPW4udmlkZW9JbmZvcy5tYXAodj0+di5pZCksbi5sb2FkZXIuVSgic2FicnBmIix7cGZpZDpgJHtEfWAsCnZmaWRzOmAke2Iuam9pbigiLiIpfWB9KSxhJChuLFcsVyksbi5OLkRlKCIiKSl9ZWxzZSBhJChuLFcsVyl9OwphJD1mdW5jdGlvbihuLFcsRCl7bi52aWRlb0luZm9zPW4uVjtuLnZpZGVvSW5mb3M9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi52aWRlby5xdWFsaXR5T3JkaW5hbD49VyYmYi52aWRlby5xdWFsaXR5T3JkaW5hbDw9RCl9Owp5eXg9ZnVuY3Rpb24obixXKXtpZihuLlkpe3ZhciBEPWcuRU0obi5XLGI9PmIuaWQ9PT1uLlkpOwpyZXR1cm4gbkQobixEKS5pbmNsdWRlcyhXKX1EPWcuRU0obi5XLGI9PiEhYi5rWj8uaXNEZWZhdWx0KTsKcmV0dXJuIEQubGVuZ3RoPjA/bkQobixEKS5pbmNsdWRlcyhXKTpuRChuLG4uVykuaW5jbHVkZXMoVyl9OwpuRD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uS3Uuelc7cmV0dXJuIFcubWFwKGI9Pk1rKGcuVmYoYixEKSkpfTsKV2w9ZnVuY3Rpb24obixXLEQ9ITEpe0hlVShuLk4sVyxEKX07CmkkUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLkt1LGs9bi5MLmdldFZpZGVvRGF0YSgpLGg9bi5Fdix4PWpGTSh7aWo6bi5paix5UTprLkcoKSxMOm4uTCxuUjpuLm5SLG9aOm4ub1oscHo6bi5weixrRTpuLmtFLFVtOm4uVW0sRzc6bi5HNyxKJDpuLkokLFNmOm4uU2Ysc2FickxpY2Vuc2VDb25zdHJhaW50Omsuc2FickxpY2Vuc2VDb25zdHJhaW50LGo0Om4uajQscjA6bi5yMCxZczpuLllzLGVxOm4uZXEsb0c6ISFoLGF1dGhvcml6ZWRGb3JtYXRzOmsuYXV0aG9yaXplZEZvcm1hdHMsSTg6bi5JOCxsbDpuLmxsLEN4Om4uQ3gsZ0Q6bi5nRH0pLEw9U1YoayxuLnEkLG4ubmV4dFJlcXVlc3RQb2xpY3ksbi5SQSxuLmROLG4uYkosbi5yOCk7RCYmVyYmKEQ9TC5ycT9MLnJxLm1hcChyPT5yLnR5cGUpOltdLFcoInNhYnIiLHtzdG1jdHh0OkQuam9pbigiXyIpLAp1bnNudGN0eHQ6TC51dD9MLnV0LmpvaW4oIl8iKToiIn0pKTtXPW4uR2g7RD1uLk0kO0Q9PT12b2lkIDAmJlc9PT12b2lkIDAmJihEPUVUaih2LnpXLG4uZGs/LnZpZGVvKSxXPUVUaih2LnpXLG4uZGs/LmF1ZGlvKSk7aWYoay5hSSl2YXIgZT1rLmFJO3ZhciBHOyhrPW4ub1o/LlNhKSYmaz4wJiYobi5DeHx8bi5IZSkmJihHPW5ldyBVaW50OEFycmF5KGspKTtoPXtDbjp4LEJpOm4uQmksR2g6VyxNJDpELEV2OmgsdmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZzplLG1IOkwsZFM6R307YiYmbi5iSz9uLmJLLmxlbmd0aD4wJiYoaC5iSz1uLmJLKTpuLk15JiYoaC5NeT1uLk15KTtuLm9aPy5EdCgpJiYhVlQoKSYmKG4udU0mJihoLnVNPW4udU0pLG4uckcmJihoLnJHPW4uckcpKTtoLmVXPW4uZVc7aC5jRT12LkdDO3JldHVybiBofTsKRVRqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/W2cuVmYoVy5pbmZvLG4pXTpbXX07Cm9Uaj1mdW5jdGlvbihuLFcsRCl7Vz1CdyhuLlhiLHVuVShuLFcsRCksVyk7bi5ENSgpJiZXLnNldCgicHJvYmUiLCIxIik7bi5raCgpJiZXLnNldCgic2Jwcm9iZSIsIjEiKTtyZXR1cm4gV307CkRrPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9W10sYj1bXTtpZighbi5kYXRhKXJldHVybiBXO2Zvcih2YXIgdj0wO3Y8bi5kYXRhLmVXLmxlbmd0aDt2Kyspe3ZhciBrPW4uZGF0YS5lV1t2XTtELnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9Zm9yKHY9MDt2PG4uZGF0YS5CaS5sZW5ndGg7disrKWs9bi5kYXRhLkJpW3ZdLGIucHVzaChgaS4ke2suZm9ybWF0SWQ/Lml0YWd9X3NuLiR7ay5zZXF1ZW5jZU51bWJlcn1fc2wuJHtrLnZEfHxOYU59X2xiLiR7ay5TMH1fdHIuc18ke2suaHg/LnN0YXJ0VGlja3N9X2RfJHtrLmh4Py5sOH1fdF8ke2suaHg/LnRpbWVzY2FsZX1fZWRfJHtrLnUzfWApO1cucHRpbWU9bi5OPy5Dbj8ublJ8fDA7Vy5ydHlwZT1uLnJlcXVlc3RUeXBlO1cuYnJsPUQuam9pbigiOyIpO1cucHM9Yi5qb2luKCI7Iik7CnJldHVybiBXfTsKdW5VPWZ1bmN0aW9uKG4sVyxEKXtuLnBTPT09dm9pZCAwJiYobi5wUz1uLlhiLnBTKFcsRCkpO3JldHVybiBuLnBTfTsKdmw9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5OPy5lbmNyeXB0KFcsRCk7cmV0dXJuIGI/YjoobmV3IGIxKG4uTi5KKSkuZW5jcnlwdChXLEQpfTsKelpqPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt7dmFyIGI9bi5OO2xldCB2PXRFKCk7Yj12P25ldyBkWE0oYi5KLHYpOnZvaWQgMH1pZihiKXRyeXtyZXR1cm4gYXdhaXQgYi5lbmNyeXB0KFcsRCl9Y2F0Y2godil7fXJldHVybiB2bChuLFcsRCl9OwpscjI9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OP3paaihuLFcsbi5pdik6b24obi5OKS5lbmNyeXB0KFcsbi5pdil9OwpUOGg9ZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OPy5KKFcsbi5pdil9OwpDYnQ9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7dmFyIEQ9bi5OO0Quanx8KEQuaj1uZXcgaksxKEQuVykpO3JldHVybiBMNFooRC5qLFcsbi5pdil9OwpCOGk9YXN5bmMgZnVuY3Rpb24obixXLEQpeygwLGcuUikoKTtyZXR1cm4gbi5OLk4/elpqKG4sVyxEKTpvbihuLk4pLmRlY3J5cHQoVyxEKX07CncwYj1mdW5jdGlvbihuLFcpe3ZhciBEPVc/LnByaW1hcnk7a3cobiwwLEQpO0Q9RD9GamooRCk6dm9pZCAwO2t3KG4sMixEKTtrdyhuLDEsVz8uc2Vjb25kYXJ5KX07CmhnPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gbmV3IGcud1ooYCR7RD8iaHR0cCI6Imh0dHBzIn06Ly8ke1d9JHtuLkIuUFguYmFzZVVybH1gKX07Cmt3PWZ1bmN0aW9uKG4sVyxEKXtEPyhEPUQgaW5zdGFuY2VvZiBnLndaP0Q6aGcobixEKSxuLk4uZ2V0KFcpPy5OKCkhPT1SMCg5OCwzNTcwLEQpJiZuLk4uc2V0KFcsbmV3IE1kaihELFcpKSk6bi5OLmRlbGV0ZShXKX07CkZqaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKC8oXGQrKS0tLS9nLChXLEQpPT57Vz1OdW1iZXIoRCk7cmV0dXJuYCR7Vz09PTE/MjpXLTF9LS0tYH0pfTsKUlpoPWZ1bmN0aW9uKG4sVz0hMSxEKXt2YXIgYj1nLlloKG4uQi5leHBlcmltZW50cywiZGVidWdfYmFuZGFpZF9ob3N0bmFtZSIpO3JldHVybiBiPyhXPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJkZWJ1Z19iYW5kYWlkX3BvcnQiKSxiPVc+MD9gJHtifToke1d9YDpiLFc9bi5CLmV4cGVyaW1lbnRzLkVxKCJkZWJ1Z19iYW5kYWlkX2luc2VjdXJlX3NjaGVtZSIpLGhnKG4sYixXKSk6VyYmRD8udXJsJiYhbi5KPyhiPVIwKDY3LDM1MzksbmV3IGcud1ooRC51cmwpKSxoZyhuLGIpKTpuLk4uZ2V0KDApPy5sb2NhdGlvbi5jbG9uZSgpfTsKTEQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1oZyhuLCJyZWRpcmVjdG9yLmdvb2dsZXZpZGVvLmNvbSIpO0Quc2V0KCJhbHIiLCJ5ZXMiKTtELnNldCgiaWQiLGAke01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTUpfWApO2lmKFc9PT0xfHxXPT09MilELnNldCgiY21vPXNlbnNpdGl2ZV9jb250ZW50IiwieWVzIiksRC5zZXQoInNjIiwieWVzIik7Vz09PTImJkQuc2V0KCJjbW89dGQiLCJjLnlvdXR1YmUuY29tIik7dmFyIGI9YXdhaXQgZy5yOChELldEKCkse2Zvcm1hdDoiUkFXIix0aW1lb3V0OjVFM30pO2lmKGIueGhyLnN0YXR1cyE9PTIwMHx8IWIueGhyLnJlc3BvbnNlVGV4dClyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfbm9faG9zdCIsRC5XRCgpLGIueGhyLnN0YXR1cykpO3ZhciB2PW5ldyBnLndaKGIueGhyLnJlc3BvbnNlVGV4dCk7RD1SMCgzNCwzNTA2LHYpO2I9di5nZXQoIm1zIik7bj1oZyhuLEQpO3Y9di5nZXQoIm1tIik7bi5zZXQoIm1zIiwKYik7bi5zZXQoIm1tIix2KTtyZXR1cm4gRCYmUUt4KEQpP1chPT0yfHx4dyhEKT9uOlByb21pc2UucmVqZWN0KG5ldyBnLlF4KCJiMjA0MjU4MzcxX3VudHJ1c3RlZCIsRCxiKSk6UHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfaW52YWxpZCIsRCxiKSl9Owp2YXIgSFd0PWZ1bmN0aW9uKG4pe3JldHVybiBSMFtJWzEwXV0odGhpcyw0MSw1ODQ5LG4pfTsKVmR0PWZ1bmN0aW9uKG4sVyl7bj1gaHR0cHM6Ly8ke1cuTigpfS9pbml0cGxheWJhY2s/Yz0ke2xvKG4uQil9Jm93Yz0xYDtxVyhuLCJwdyIsRD0+e0QuaHQ9Vy5KfSl9OwplUj1mdW5jdGlvbihuLFcsRCxiKXtxVyhgaHR0cHM6Ly8ke1d9L3ZpZGVvcGxheWJhY2s/cHJvYmU9MWAsRCx2PT57IWIuUygiaHRtbDVfb25lc2llX2hvc3RfcmFjaW5nIil8fGIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHxiLlMoImh0bWw1X29uZXNpZV9wcm9iZV9lY19ob3N0cyIpfHxiLldSfHxjeVooYik7bi5XLnB1c2godil9LHY9PntuLlcucHVzaCh2LmRldGFpbHMpfSl9OwpRS3g9ZnVuY3Rpb24obil7cmV0dXJuLy4qKFwuY1wueW91dHViZVwuY29tfC4qXC5nb29nbGV2aWRlb1wuY29tKS8udGVzdChuKX07Cnh3PWZ1bmN0aW9uKG4pe3ZhciBXPS9zbi1bXi5dKi0vO3JldHVybi8uKlwuY1wueW91dHViZVwuY29tLy50ZXN0KG4pJiYhVy50ZXN0KG4pfTsKZ2o9ZnVuY3Rpb24obil7Zm9yKDtuLk4ubGVuZ3RoJiYhbi5OWzBdLmlzRW5jcnlwdGVkOyl7bGV0IHt2aWRlb0lkOkQsYXU6Yixmb3JtYXRJZDp2LGJ1ZmZlcjprLGlFOmh9PW4uTi5zaGlmdCgpO2lmKGspbi5OSS5ZYS5uQT8uZ2V0KEQpPy5OKGIsdixrKTtlbHNlIGlmKGgpbi5OSS5ZYS5ZaChELGIsdik7ZWxzZXt2YXIgVz1uLk5JO1cuTlt2XS5TdT0hMDtXPVcuWWEubkE/LmdldChEKTtXPy5nRih2KSYmVz8uSih2KX19fTsKZy5EMHI9ZnVuY3Rpb24obil7Zm9yKDshbi5YJiYhbi5lcnJvcjspe3ZhciBXPW47Vy5YPSEhWEIoVywxKTtzd2l0Y2goWEIoVywyKSl7Y2FzZSAyOnZhciBEPXZvaWQgMCxiPVtdLHY9W107di5sZW5ndGg9MTk7di5maWxsKDApO3ZhciBrPVhCKFcsNSkrMjU3O0Q9WEIoVyw1KSsxO3ZhciBoPVhCKFcsNCkrNDtmb3IodmFyIHg9MDt4PGg7eCsrKXZbYXJ4W3hdXT1YQihXLDMpO3Y9cVAodik7Zm9yKGg9aytEO2IubGVuZ3RoPGg7KXt4PW5SdChXLHYpO2xldCBMO3N3aXRjaCh4KXtjYXNlIDE2Ong9YltiLmxlbmd0aC0xXTtMPVhCKFcsMikrMzticmVhaztjYXNlIDE3Ong9MDtMPVhCKFcsMykrMzticmVhaztjYXNlIDE4Ong9MDtMPVhCKFcsNykrMTE7YnJlYWs7ZGVmYXVsdDpMPTF9Zm9yKDtMPjA7TC0tKWIucHVzaCh4KX1iLmxlbmd0aCE9PWg/Vy5lcnJvcj0hMDooRD1iLnNsaWNlKC1EKSxiLmxlbmd0aD1rLFdZaChXLGIsRCkpO2JyZWFrO2Nhc2UgMTpXWWgoVyxHYyx0Zyk7YnJlYWs7CmNhc2UgMDokdyhXLFcuTiY3KTtiPVhCKFcsMTYpO2s9WEIoVywxNik7KGJeaykhPT02NTUzNSYmKFcuZXJyb3I9ITApO2s9Vy5kYXRhLnN1YmFycmF5KFcuSixXLkorYik7Vy5vdXRwdXQuc2V0KGssVy5XKTtXLkorPWI7Vy5XKz1iO2JyZWFrO2RlZmF1bHQ6Vy5lcnJvcj0hMH1uLlc+bi5vdXRwdXQubGVuZ3RoJiYobi5vdXRwdXQ9bmV3IFVpbnQ4QXJyYXkobi5XKjIpLG4uVz0wLG4uSj0wLG4uWD0hMSxuLk49MCxuLnJlZ2lzdGVyPTApfW4ub3V0cHV0Lmxlbmd0aCE9PW4uVyYmKG4ub3V0cHV0PW4ub3V0cHV0LnN1YmFycmF5KDAsbi5XKSk7cmV0dXJuIG4uZXJyb3I/bmV3IFVpbnQ4QXJyYXkoMCk6bi5vdXRwdXR9OwpYQj1mdW5jdGlvbihuLFcpe2Zvcig7bi5OPFc7KXtpZihuLko+PW4uZGF0YS5sZW5ndGgpcmV0dXJuIG4uZXJyb3I9ITAsMDtuLnJlZ2lzdGVyfD1uLmRhdGFbbi5KKytdPDxuLk47bi5OKz04fXZhciBEPW4ucmVnaXN0ZXImKDE8PFcpLTE7bi5yZWdpc3Rlcj4+PVc7bi5OLT1XO3JldHVybiBEfTsKV1loPWZ1bmN0aW9uKG4sVyxEKXtXPXFQKFcpO0Q9cVAoRCk7Zm9yKHZhciBiPW4uZGF0YSx2PW4ub3V0cHV0LGs9bi5XLGg9bi5yZWdpc3Rlcix4PW4uTixMPW4uSjs7KXtpZih4PDE1KXtpZihMPmIubGVuZ3RoKzEpe24uZXJyb3I9ITA7YnJlYWt9aHw9KGJbTCsxXTw8OCkrYltMXTw8eDtMKz0yO3grPTE2fXZhciBlPVdbaCYxMjddO2lmKGU8MClmb3IoaD4+PTc7ZTwwOyllPVdbKGgmMSktZV0saD4+PTE7ZWxzZSBoPj49ZSYxNTt4LT1lJjE1O2U+Pj00O2lmKGU8MjU2KXZbaysrXT1lO2Vsc2UgaWYobi5yZWdpc3Rlcj1oLG4uTj14LG4uSj1MLGU+MjU2KXtoPXJqW2VdO2grPVhCKG4sc3FbZV0pO0w9blJ0KG4sRCk7eD1OUFtMXTt4Kz1YQihuLHBEW0xdKTtpZihieVomJmg8eCl4PWsteCx2LmNvcHlXaXRoaW4oayx4LHgraCk7ZWxzZSBmb3IoTD1rK2gsZT1rO2U8TDtlKz00KXZbZV09dltlLXhdLHZbZSsxXT12W2UteCsxXSx2W2UrMl09dltlLXgrMl0sdltlKzNdPXZbZS14KzNdOwprKz1oO2g9bi5yZWdpc3Rlcjt4PW4uTjtMPW4uSn1lbHNlIGJyZWFrfW4uVz1rfTsKblJ0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPDcpe3ZhciBEPW4uZGF0YTtsZXQgYj1uLko7Yj5ELmxlbmd0aCYmKG4uZXJyb3I9ITApO24ucmVnaXN0ZXJ8PShEW2IrMV08PDgpK0RbYl08PG4uTjtuLkorPTI7bi5OKz0xNn1EPVdbbi5yZWdpc3RlciYxMjddO2lmKEQ+PTApcmV0dXJuICR3KG4sRCYxNSksRD4+NDtmb3IoJHcobiw3KTtEPDA7KUQ9V1tYQihuLDEpLURdO3JldHVybiBEPj40fTsKJHc9ZnVuY3Rpb24obixXKXtuLk4tPVc7bi5yZWdpc3Rlcj4+PVd9OwpxUD1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IodmFyIEQgb2YgbilXW0RdfHwoV1tEXT0wKSxXW0RdKys7dmFyIGI9V1swXT0wO0Q9W107dmFyIHY9MCxrPTA7Zm9yKHZhciBoPTE7aDxXLmxlbmd0aDtoKyspV1toXT9rPWg6V1toXT0wLGI9YitXW2gtMV08PDEsRFtoXT1iLGg+NyYmKHYrPVdbaF0pO2ZvcihiPTE7Yjx2OyliPDw9MTtXPTEyODtrPW5ldyBJbnQxNkFycmF5KDEyOCsoYitrKSoyKTtmb3Iodj0wO3Y8bi5sZW5ndGg7disrKXtoPW5bdl07aWYoIWgpY29udGludWU7dmFyIHg9RFtoXSsrO2I9MDtmb3IodmFyIEw9MDtMPGg7TCsrKWI9Yjw8MXx4Pj5MJjE7eD12PDw0fGg7aWYoaDw9Nylmb3IoTD0xPDw3LWg7TC0tOylrW0w8PGh8Yl09eDtlbHNle0w9YiYxMjc7aC09Nztmb3IoYj4+PTc7aC0tOyl7a1tMXXx8KGtbTF09LVcsVys9Mik7bGV0IGU9YiYxO2I+Pj0xO0w9ZS1rW0xdfWtbTF09eH19cmV0dXJuIGt9OwpZdz1mdW5jdGlvbihuLFcpe24uVyhgZGNtcHJzXyR7bi5jb250ZXh0fV8ke24uTn1fZ3pfJHtXfWApfTsKdlJ3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE9vKG4sZnVuY3Rpb24oKXt2YXIgRD10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1EYXRlLm5vdygpO3RyeXtZdyhELCJzIik7dmFyIHY9eWllbGQqUFAoVygpKTtpZighdil0aHJvdyBFcnJvcigibm8gcmVzdWx0Iik7WXcoRCwiZSIpO3JldHVybiB2fWNhdGNoKGgpe1l3KEQsImYiKTt2YXIgaz1oO0QuSihrLCJneiIpO3Rocm93IGg7fWZpbmFsbHl7dj1EYXRlLm5vdygpLEQuYmooImd6Iix2LWIsayl9fSgpfSl9OwplU2o9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgdj0oayxoKT0+dlJ3KG5ldyBrMWkoayxELGIpLCgpPT5IUChoKG4pKSk7CmlmKEhsKXRyeXtyZXR1cm4geWllbGQqUFAodigibiIsaFMxKSl9Y2F0Y2goayl7fWlmKFcpdHJ5e3JldHVybiB5aWVsZCpQUCh2KFcuaXNBc21qcz8iYSI6InciLGs9PngwQyhrLFcpKSl9Y2F0Y2goayl7fXJldHVybiB5aWVsZCpQUCh2KCJwIixMWTIpKX0oKX0pfTsKaFMxPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFIbCl0aHJvdyBFcnJvcigiRGVjb21wcmVzc2lvblN0cmVhbSBpcyBub3Qgc3VwcG9ydGVkIik7dmFyIFc9WksudFgoKSxEPW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYj1ELndyaXRhYmxlLmdldFdyaXRlcigpO2Iud3JpdGUobik7Yi5jbG9zZSgpO249RC5yZWFkYWJsZS5nZXRSZWFkZXIoKTtmb3IoRD1uZXcgUzUoW10pOzspe2xldCB7dmFsdWU6dixkb25lOmt9PWF3YWl0IG4ucmVhZCgpO2lmKGspYnJlYWs7RC5hcHBlbmQodil9bj10UihEKTtaSy5lVSgiZ3puYiIsVyxNYXRoLmNlaWwobi5ieXRlTGVuZ3RoLzE2KSk7cmV0dXJuIG59OwpMWTI9ZnVuY3Rpb24obil7dmFyIFc9WksudFgoKTtuPWcuRDByKG5ldyBnLmdSYihuKSk7WksuZVUoImd6amIiLFcsTWF0aC5jZWlsKG4uYnl0ZUxlbmd0aC8xNikpO3JldHVybiBufTsKeDBDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9WksudFgoKTtuPVcubWVtb3J5LmNvcHlJbihuKTt0cnl7bGV0IHY9bi5ieXRlT2Zmc2V0LGs9bi5ieXRlTGVuZ3RoLGg9Vy5leHBvcnRzLmdldEluZmxhdGVkU2l6ZSh2LGspO2lmKGg9PT0wKXRocm93IEVycm9yKCJ3YXNtX2d6OiBiYWQgaW5wdXQiKTtsZXQgeD1XLm1lbW9yeS5tYWxsb2MoaCksTD1XLmV4cG9ydHMuaW5mbGF0ZUd6aXAodixrLHgpO2lmKEwpdGhyb3cgVy5tZW1vcnkuZnJlZSh4KSxFcnJvcihgd2FzbV9nejogZmFpbCR7TH1gKTt2YXIgYj1XLm1lbW9yeS5idWZmZXIoeCxoKX1maW5hbGx5e1cubWVtb3J5LmZyZWUobi5ieXRlT2Zmc2V0KX1XPVcubWVtb3J5Lm1vdmVPdXQoYik7WksuZVUoImd6d2IiLEQsTWF0aC5jZWlsKFcuYnl0ZUxlbmd0aC8xNikpO3JldHVybiBXfTsKZkQ9ZnVuY3Rpb24obil7dmFyIFc9bi5xdWV1ZTtXLk4ubGVuZ3RoJiZXLk5bMF0uaXNFbmNyeXB0ZWQmJiFXLkomJihXLk4ubGVuZ3RoPTApO2ZvcihsZXQgRCBvZiBPYmplY3Qua2V5cyhuLk4pKXtsZXQgYj1uLk5bRF07Yi5TdXx8KFc9bi5xdWV1ZSxXLk4ucHVzaCh7dmlkZW9JZDpiLnZpZGVvSWQsZm9ybWF0SWQ6RCxpc0VuY3J5cHRlZDohMX0pLFcuSnx8Z2ooVykpfX07ClhCdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcudG90YWxMZW5ndGgsYj0hMTtzd2l0Y2gobi5XKXtjYXNlIDA6bi5qcChXLG4uWCkudGhlbih2PT57dmFyIGs9bi5ZYTtrLkRrKCJvcHJyIik7ay5wbGF5ZXJSZXNwb25zZT12O2suVUl8fChrLkIyPSExKTtKZyhrKX0sdj0+e24uWWEuZmFpbCh2KX0pOwpicmVhaztjYXNlIDI6bi5Eaygib3JtayIpO1c9dFIoVyk7bi5xdWV1ZS5kZWNyeXB0KFcpO2JyZWFrO2RlZmF1bHQ6Yj0hMH1uLllhLnhHJiZuLllhLlUoIm9tYnVwIixgaWQuMTE7cHQuJHtuLld9O2xlbi4ke0R9JHtiPyI7aWdub3JlZC4xIjoiIn1gKTtuLlc9bnVsbH07CnFQaT1mdW5jdGlvbihuLFcpe24uWWEuRGsoIm9wcmd6Ml9zIik7Vz1lU2ooVyxuLllhLkcoKS5qXygpLG4uWWEueEc/bi5ZYS5VLmJpbmQobi5ZYSk6KCk9Pnt9LEQ9PntuLllhLkRrKEQpfSk7ClNrKFcsKCk9PntuLllhLkRrKCJvcHJnejJfZSIpfSwoKT0+e24uWWEuRGsoIm9wcmd6Ml9mIil9KTsKcmV0dXJuIFd9OwpHMVM9YXN5bmMgZnVuY3Rpb24obixXKXtuLllhLkRrKCJvcHJnel9zIik7aWYoSGwpdHJ5e3ZhciBEPWF3YWl0IGhTMShXKTtuLllhLkRrKCJvcHJnel9uIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJuIn0pO3JldHVybiBEfWNhdGNoKGIpe24uWWEuVSgiZ3plcnIiLHtpbXBsOiJuYXRpdmUiLGVycjpgJHtifWB9KX1pZihEPW4uWWEuRygpLmpfKCkpdHJ5e2xldCBiPXgwQyhXLEQpO24uWWEuRGsoIm9wcmd6X3ciKTtuLllhLlUoIm9wcnNneiIse2k6IncifSk7cmV0dXJuIGJ9Y2F0Y2goYil7bi5ZYS5VKCJnemVyciIse2ltcGw6Indhc20iLGVycjpgJHtifWB9KX1XPUxZMihXKTtuLllhLkRrKCJvcHJnel9wIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJqIn0pO3JldHVybiBXfTsKdF9oPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57c2V0VGltZW91dChXLG4pfSl9OwokMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkcoKTtEPW4uWVomJkQuUygiaHRtbDVfb25lc2llX3ByZWxvYWRfdXNlX2NvbnRlbnRfb3duZXIiKTtpZigoVz1SWmgoVyxELG4uUWEpKSYmbi52aWRlb0lkKXtuPWcuZDEobi52aWRlb0lkKTtEPVtdO2lmKG4pZm9yKGIgb2YgbilELnB1c2goYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKTt2YXIgYj1ELmpvaW4oIiIpO1cuc2V0KCJpZCIsYik7cmV0dXJuIFd9fTsKck9oPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPTApe3ZhciBiPVtdO2IucHVzaChXLmxvYWQoKSk7RD4wJiZiLnB1c2godF9oKEQpKTthd2FpdCBQcm9taXNlLnJhY2UoYik7cmV0dXJuICQwYihuLFcpfTsKczlDPWZ1bmN0aW9uKG4sVyxELGI9ITEpe24uc2V0KCJjcG4iLFcuY2xpZW50UGxheWJhY2tOb25jZSk7bi5zZXQoIm9wciIsIjEiKTt2YXIgdj1XLkcoKTtuLnNldCgicG9yIiwiMSIpO3RFKCl8fG4uc2V0KCJvbmVtIiwiMSIpO1cuc3RhcnRTZWNvbmRzPjAmJm4uc2V0KCJvc3RzIixgJHtXLnN0YXJ0U2Vjb25kc31gKTtifHwodi5TKCJodG1sNV9vbmVzaWVfZGlzYWJsZV9wYXJ0aWFsX3NlZ21lbnRzIikmJm4uc2V0KCJvc2VzIiwiMSIpLFc9di5TKCJodG1sNV9nYXBsZXNzX29uZXNpZV9ub19tZWRpYV9ieXRlcyIpJiZBSihXKSYmVy5ZWixEJiYhVz8oVz1ELmF1ZGlvLG4uc2V0KCJwdmkiLEQudmlkZW8uam9pbigiLCIpKSxuLnNldCgicGFpIixXLmpvaW4oIiwiKSksTnN8fG4uc2V0KCJvc2giLCIxIikpOihuLnNldCgib2FkIiwiMCIpLG4uc2V0KCJvdmQiLCIwIiksbi5zZXQoIm9hYWQiLCIwIiksbi5zZXQoIm9hdmQiLCIwIikpKX07Ck5KaT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe3ZhciBrPWBodHRwczovL3lvdXR1YmVpLmdvb2dsZWFwaXMuY29tL3lvdXR1YmVpLyR7Vy5TVi5pbm5lcnR1YmVBcGlWZXJzaW9ufS9wbGF5ZXJgLGg9W3tuYW1lOiJDb250ZW50LVR5cGUiLHZhbHVlOiJhcHBsaWNhdGlvbi9qc29uIn1dO2ImJmgucHVzaCh7bmFtZToiQXV0aG9yaXphdGlvbiIsdmFsdWU6YEJlYXJlciAke2J9YH0pO2gucHVzaCh7bmFtZToiVXNlci1BZ2VudCIsdmFsdWU6Zy5YUSgpfSk7Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP2gucHVzaCh7bmFtZToiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIix2YWx1ZTpnLkFyKCJFT01fVklTSVRPUl9EQVRBIil9KTooRD1ELnZpc2l0b3JEYXRhfHxnLkFyKCJWSVNJVE9SX0RBVEEiKSkmJmgucHVzaCh7bmFtZToiWC1Hb29nLVZpc2l0b3ItSWQiLHZhbHVlOkR9KTsoRD1nLkFyKCJTRVJJQUxJWkVEX0xBVkFfREVWSUNFX0NPTlRFWFQiKSkmJmgucHVzaCh7bmFtZToiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiLAp2YWx1ZTpEfSk7KFc9Zy5ZaChXLmV4cGVyaW1lbnRzLCJkZWJ1Z19zaGVybG9nX3VzZXJuYW1lIikpJiZoLnB1c2goe25hbWU6IlgtWW91dHViZS1TaGVybG9nLVVzZXJuYW1lIix2YWx1ZTpXfSk7bj1JdyhKU09OLnN0cmluZ2lmeShuKSk7cmV0dXJue3VybDprLGUzOmgscG9zdEJvZHk6bixFYTp2LGU4OnZ9fTsKSWs9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPW4uWUMsRz1uLmRmO249bi5DVjt2YXIgcj1lIT09dm9pZCAwJiZHIT09dm9pZCAwLE49Yi5nZXRWaWRlb0RhdGEoKSxIPVcuTi5lbmNyeXB0ZWRDbGllbnRLZXk7Vz1yP1cuaXY6dm9pZCAwO3I9R0QoaywhMCk7dj12fHwhIXRFKCkmJnI+MTU3Mjg2NDtyZXR1cm57aW5uZXJ0dWJlUmVxdWVzdDp7d1M6bix2VTplLGRmOkcsZW5jcnlwdGVkQ2xpZW50S2V5OkgsaXY6VyxtdzohMCxGRDohMCxEWToiRGVjb21wcmVzc2lvblN0cmVhbSJpbiB3aW5kb3d8fCF2LHlKOiEwfSxDbjpqRk0oe2lqOmsseVE6RCxMOmIsblI6Ti5zdGFydFNlY29uZHMqMUUzLGhxOiEwfSksb25lc2llVXN0cmVhbWVyQ29uZmlnOmgsQng6eCxtSDpTVihOKSxyZWxvYWRQbGF5YmFja1BhcmFtczpOLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtcyxVazpMfX07CnBCeD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPWcubGgobixhZiksZTtpZighbi5lOClpZihlPVQ4aChXLEwpKXt2YXIgRz1lLkc0O2U9ZS5zaWduYXR1cmV9ZWxzZSBlPUc9Vy5lbmNyeXB0KEwpLCgwLGcuUikoKSxlPXBmKG5ldyBZJChXLk4uVyksZSxXLml2KTtyZXR1cm4gSWsoRyYmZT97WUM6RyxkZjplfTp7Q1Y6TH0sVyxELGIsISFuLmU4LHYsayxoLHgpfTsKWVBNPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dmFyIEw9Zy5saChuLGFmKTtMPWF3YWl0IGxyMihXLEwpO3ZhciBlPWF3YWl0IENidChXLEwpO3JldHVybiBJayh7WUM6TCxkZjplfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpIeVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4KXt2YXIgTD1nLmxoKG4sYWYpO2lmKEw9VDhoKFcsTCkpcmV0dXJuIElrKHtZQzpMLkc0LGRmOkwuc2lnbmF0dXJlfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpKT3c9YXN5bmMgZnVuY3Rpb24obixXLEQpe24uRGsoIm9wcmRfcyIpO1c9Zkl0KG4pP2F3YWl0IEI4aShuLnlxLFcsRCk6bi55cS5kZWNyeXB0KFcsRCk7bi5Eaygib3ByZF9jIik7cmV0dXJuIFd9OwpmSXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5TKCJodG1sNV9vbmVzaWVfc3luY19yZXF1ZXN0X2VuY3J5cHRpb24iKXx8Vz8uZTg/ITE6ISF0RSgpfTsKSUliPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X29uZXNpZV9ob3N0X3Byb2JpbmciKXx8bi54Rz9OczohMX07CkpnPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclJlc3BvbnNlKXJldHVybiExO2lmKG4uYmspcmV0dXJuITA7dmFyIFc9bi52aWRlb0RhdGEuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEobi52aWRlb0RhdGEpO2lmKG4ubkEmJm4uQjIpe2lmKCFuLm5BLmhhcyhuLkxjKSlyZXR1cm4hMTtsZXQgYj1uLm5BLmdldChuLkxjKTt2YXIgRDtpZihEPWIpe0Q9ITE7Zm9yKGxldCB2IG9mIGIudTkua2V5cygpKXtsZXQgaz1iLnU5LmdldCh2KTtpZihrKWZvcihsZXQgaCBvZiBrLkJ0KWguZUg+MCYmKGsuZVM/RD0hMDpXPSEwKX1EPSEoVyYmRCl9aWYoRClyZXR1cm4hMX1uLkRrKCJvZnIiKTtuLkNSLnJlc29sdmUobi5wbGF5ZXJSZXNwb25zZSk7cmV0dXJuIG4uYms9ITB9OwpBT009ZnVuY3Rpb24obil7aWYobi5uQSYmIW4uUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtuLkRrKCJvZ3NmX3MiKTt2YXIgVz16eFMobi5MLmdldFZpZGVvRGF0YSgpLChiLHYpPT57bi5VKGIsdil9KSxEPVNQTShuLkwpOwpXLnZpZGVvPWlfYihELFcudmlkZW8pO24uRGsoIm9nc2ZfYyIpO2lmKFcudmlkZW8ubGVuZ3RoKXJldHVybiBXO24uVSgib21ic3BmIixgbC4ke0QuSn07dS4ke0QuTn07by4ke0QuV307ci4ke0QucmVhc29ufWApfX07ClNSPWZ1bmN0aW9uKG4pe2lmKCFuLm5mKXJldHVybnt9O3ZhciBXPW4ubmYuRCgpO1cuZD1uLm5mLkR0Py5iWSgpO1cuc2hvc3Q9bi56YztXLnR5PSJvIjtyZXR1cm4gV307CmN5Wj1mdW5jdGlvbihuKXtuLkIyPSExO2lmKCFKZyhuKSl7dmFyIFc9U1Iobik7Vy50aW1lb3V0PSIxIjtuLmZhaWwobmV3IGcuQ2koIm9uZXNpZS5yZXF1ZXN0IixXKSl9fTsKUGw9ZnVuY3Rpb24obixXKXtpZihXLnFOKCl8fG4ucU4oKSluLnBvbGljeS5QTHx8KG4ucG9saWN5Lmo/Zy5BZyhuLmxvYWRlcik6bi5sb2FkZXIuQlkoKSk7ZWxzZXtpZihuLnBvbGljeS5XJiZXLmlzQ29tcGxldGUoKSYmVyBpbnN0YW5jZW9mIHV1KXt2YXIgRD1uLmxvYWRlcixiPUQuVTt2YXIgdj1PYmplY3QuYXNzaWduKFcubmYuRCgpLHtyc3Q6Vy5zdGF0ZSxzdHJtOlcueGhyLkdwKCksZDpXLm5mLkR0Py5iWSgpLGNuY2w6Vy54aHImJlcudDUuWD8xOjAscnFiOlcuRUYsY3d0OlcudDUuVyxzd3Q6Vy5QcT8uS059KTt2PU9iamVjdC5hc3NpZ24oRGsoVy5pbmZvKSx2KTtiLmNhbGwoRCwicnFzIix2KX1pZihXLmlzQ29tcGxldGUoKSYmVy5ENSgpJiZXIGluc3RhbmNlb2YgdXUpVy5kaXNwb3NlKCksbi5sb2FkZXIuQlkoKTtlbHNle2lmKFcucVEoKSluLkhlPSEwLFcgaW5zdGFuY2VvZiB1dSYmWFNoKG4udGltaW5nLFcpLG0wTShuKSxtdihuKTtlbHNlIGlmKFcudG4oKSlEPW4uTC5lSigpLApXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJkQmJihuLkIuWnQoKS5OLlFRKEtZeCl8fG4ubG9hZGVyLndSKEQpKSxXIGluc3RhbmNlb2YgdXUmJlcua2goKT8oVy5WRygpJiZuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLDApLFcuZGlzcG9zZSgpKTpXIGluc3RhbmNlb2YgdXUmJng2dyhXKT9uLmxvYWRlci5ETz8uVygpOlcgaW5zdGFuY2VvZiBLRD9uLk4ucG9wKCk6KEQ9MSxXLmNhblJldHJ5KCkmJnd1KG4ubG9hZGVyKSYmKE95WihuLFcpLEQ9MCksYj1uLkwuZUooKSxXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJmImJm4uQi5adCgpLk4uUVEoS1l4KSYmKFcuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpP24ubG9hZGVyLlUoInV0Y1NlZWtpbmdSZXRyeSIse3RhcmdldFV0Y1RpbWVTZWM6Yn0pOm4ubG9hZGVyLndSKGIpKSxuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLEQpKTtlbHNle2lmKG4ubG9hZGVyLmlzU3VzcGVuZGVkJiYKIVcuaXNDb21wbGV0ZSgpKXJldHVybjttdihuKX1XLnFOKCl8fFcgaW5zdGFuY2VvZiBLRHx8KEQ9MCxXLmlzQ29tcGxldGUoKSYmKEQ9cDBiKFcsbi5wb2xpY3ksbi5ubikpLEQhPT0wJiYoVy5pbmZvLlhiLmo/KEQ9Vy5pbmZvLEQ9bmV3IE9xKDIsRC5YYixELllhKSxELnBTPSExKTooYj1uZXcgT3EoMSxXLmluZm8uWGIpLGIucFM9RD09PTIsRD1iKSxQT3QobixEKSkpO2lmKFcuaXNDb21wbGV0ZSgpKXtpZihuLnBvbGljeS5RciYmbi52aWRlb0RhdGEuaXNPdGYoKSYmbi5CLlY9PT0icHciJiYhbi5PJiYhVy5xUSgpJiYhVy50bigpJiYhUlEobi52aWRlb0RhdGEpJiYhbi52aWRlb1RyYWNrLlRDKXtuLkN4PSExO24uTz0hMDtuLmxvYWRlci5ncCh7cmVhc29uOiJzYWJyLm5vX3ZpZGVvX3JlY2VpdmVkX29uX3N0YXJ0IixhY3Rpb246MH0pO3JldHVybn1uLkN4PSExO1cucVEoKXx8KG4uTz0hMCxuLkhlPSExKTtuLkIuUygiaHRtbDVfdXNlX21lZGlhX2ZldGNoX2NvbnRyb2xsZXIiKSYmCm4ubG9hZGVyLkwuV0ooInJlcXVlc3Rjb21wbGV0ZWQiKX1uLnBvbGljeS5IRCYmIVcuaXNDb21wbGV0ZSgpP1FvKG4ubG9hZGVyKTpuLmxvYWRlci5CWSgpfX19OwpaeVM9ZnVuY3Rpb24obil7bi5wb2xpY3kuTEImJihuLlZRPXZvaWQgMCxuLkc3PTApfTsKaXlpPWZ1bmN0aW9uKG4pe2lmKG4ubG9hZGVyLkFiKXJldHVybiBaayhuLCJwcmVwYXJpbmduZXh0bG9vcCIpLCExO2lmKCFVMFoobixuLlMkKSlyZXR1cm4gWmsobiwicmF0ZWxpbWl0ZWQiKSwhMTtpZihpUyhuLmF1ZGlvVHJhY2spJiZpUyhuLnZpZGVvVHJhY2spKXJldHVybiBaayhuLCJlbmRvZnN0cmVhbSIpLCExO2lmKG4ucG9saWN5LlUxKWlmKG4ucG9saWN5Llgpe2lmKG4uVk8/LmNKKCkpcmV0dXJuIFprKG4sInNzZGFpYmxvY2tlZCIpLCExfWVsc2V7dmFyIFc9ITE7aWYobi5KQy5KPT09MilXPSEwO2Vsc2UgaWYobi5KQy5KPT09Myl7VXEobik7bi5sb2FkZXIuU1coKTt2YXIgRD1QNihuLmF1ZGlvVHJhY2ssbi5sb2FkZXIuaXNTZWVraW5nKCkpLmVXO3ZhciBiPVA2KG4udmlkZW9UcmFjayxuLmxvYWRlci5pc1NlZWtpbmcoKSkuZVc7dmFyIHY9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKXx8MDtEPXl1KG4sRCx2KTtiPXl1KG4sYix2KTtiPU1hdGgubWluKEQsYik7dj1uLkpDOwpiPj12Llc/KHYuVSgic2RhaSIse2hhbHRycTpiLGVzdDp2Lld9KSxiPSEwKTpiPSExO2ImJihXPSEwKX1pZihXKXJldHVybiBaayhuLCJ3YWl0aW5nZm9yYWRzIiksITF9bi5wb2xpY3kudTUmJihuLnR3PUVxKG4sbi5hdWRpb1RyYWNrKSxuLmJkPUVxKG4sbi52aWRlb1RyYWNrKSk7aWYoIW4uSilyZXR1cm4gaTEobix7bm9wb2xpY3k6MX0pLCEwO2lmKG4uTC5lSigpKXJldHVybiBpMShuLHt1dGM6MX0pLCEwO2lmKG4uazYuSylyZXR1cm4gaTEobix7YXVkaW86MX0pLCEwO2lmKG4ucG9saWN5LnNaJiZuLms2LkQpcmV0dXJuIGkxKG4se2NvbnN0cmFpbnQ6MX0pLCEwO2lmKCFuLkoudGFyZ2V0QXVkaW9SZWFkYWhlYWRNc3x8IW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zKXJldHVybiBpMShuLHtub3JlYWRhaGVhZDoxfSksITA7aWYobi5wb2xpY3kuaiYmbi5sb2FkZXIuWFgoKSlyZXR1cm4gaTEobix7c2Vla1RvSGVhZDoxfSksITA7Vz1NYXRoLm1pbihPYihuLmxvYWRlcixuLmF1ZGlvVHJhY2spKgoxRTMsbi5KLnRhcmdldEF1ZGlvUmVhZGFoZWFkTXMpO2I9TWF0aC5taW4oT2Iobi5sb2FkZXIsbi52aWRlb1RyYWNrKSoxRTMsbi5KLnRhcmdldFZpZGVvUmVhZGFoZWFkTXMpO3Y9TWF0aC5taW4oVyxiKTt2YXIgaz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTMse0IxOmgsbDE6eCxjdjpMLGFrOmV9PXlPWihuLGspO0Q9aDx2O3ZhciBHPXg8djtpZih1MShuKSl7az1vayhuLlcsayk7dmFyIHI9azx2O24uTC5XWCgpJiZyJiYhRCYmIUcmJm4ubG9hZGVyLlUoInNhYnJjcm5tIix7Y3JhOmssbXByYTp2LGNicmw6bi5XLmxlbmd0aH0pfWlmKCEoRHx8R3x8dTEobikmJnIpKXJldHVybiBuLnBvbGljeS51NSYmbi5MLldYKCkmJihMPHZ8fGU8dikmJm4ubG9hZGVyLlUoInNhYnJuY3JxIix7Y2FyOmgsdmFjOngsYWJoOkwsdmJoOmUsbWFyOlcsbXZyOmJ9KSxaayhuLCJyZWFkYWhlYWRtZXQiKSwhMTtpZihuLnBvbGljeS5SVyYmRVJTKG4ubG9hZGVyKSYmbi52aWRlb0RhdGEuTlAoKSlyZXR1cm4gWmsobiwKInNob3J0c2J1ZmZlcmVkdG9lbmQiKSwhMTtpZihuLnBvbGljeS5XZCYmRVJTKG4ubG9hZGVyKSlyZXR1cm4gWmsobiwidm9kYnVmZmVyZWR0b2VuZCIpLCExO3I9bi5sb2FkZXIueXIoKTtyLmNhcj1oO3IudmFjPXg7ci5tYXI9VztyLm12cj1iO3IudGFyPW4uSi50YXJnZXRBdWRpb1JlYWRhaGVhZE1zO3IudHZyPW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zO3IucGNsPW4uSi5wbGF5YmFja0Nvb2tpZT8ubGVuZ3RofHwwO3IudmJ1PXJrKG4uTC5oNSgpPy5KKCl8fG51bGwpO3IuYWJoPUw7ci52Ymg9ZTtpMShuLHIpO3JldHVybiEwfTsKdWtoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE9xKDAsbi5LdS5ZLG4pO24uazYuRD0hMTtuLnBvbGljeS52WCYmbi5sb2FkZXIuVSgic2FicmNzYyIse3RvOm4ucG9saWN5LlRJLHJsOm4ucG9saWN5LnN6LHNidDpuLnBvbGljeS5DdT8xOjB9LCEwKTtuPVBPdChuLEQsVyk7bi5wb2xpY3kuRkYmJihuLlU4PW4ucG9saWN5LmpfKCkuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NyZWF0ZSgpKTtyZXR1cm4gbn07Cm9SdD1mdW5jdGlvbihuLFcpe2l5aShuKSYmKFc9dWtoKG4sVyksbi5OLnB1c2goVyksbi5ZPy5OKG4uS3UuWSksbi5WPjAmJm4uUyQuRXkrKyl9OwpQT3Q9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtpajpuLmlqLEJlOihrLGgpPT57bi5MLkthKGssaCl9LApORDpuLnBvbGljeS5XLEtwOm4ucG9saWN5LktwfTtuLmlqLkouViYmKGIucVk9KG4udmlkZW9UcmFjay5QSi5pbmZvLk5zfHwwKSsobi5hdWRpb1RyYWNrLlBKLmluZm8uTnN8fDApKTtuLnBvbGljeS5VVCYmKGIuTzg9bi5hdWRpb1RyYWNrLlBKLmluZGV4LlVjKCksYi5Rbj0hMSk7dmFyIHY9dW5VKFcsbi5wb2xpY3ksbi5ubik/MjoxO3YhPT1uLm51JiYobi5udT12LG0wTShuKSk7RD1kMGIobixEKTtpZihuLnBvbGljeS5ZJiZuLnBvbGljeS5XJiZELlJBKXtsZXQgaz12PSIiO2ZvcihsZXQgaCBvZiBELlJBKW4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5oYXMoaCl8fG4ucG9saWN5LlkmJkQuYkomJkQuYkoudHlwZT09PWg/dis9YF8ke2h9YDprKz1gXyR7aH1gO24ubG9hZGVyLlUoInNhYnJibGRycXMiLHtjdHh0czp2LG1pc2N0eHRzOmt9KX0hVy5zZXREYXRhKEQsbi5wb2xpY3ksbi5ubikmJm4ucG9saWN5LlkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKCJwbGF5ZXIuZXhjZXB0aW9uIiwKe3JlYXNvbjoiYnVpbGRzYWJycmVxdWVzdGRhdGFmYWlsZWQifSwxKTtiPW5ldyB1dShuLnBvbGljeSxXLG4uS3Usbi5ubixuLGIsbi5sb2FkZXIuVTQoKSk7aXUobi50aW1pbmcpO24ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyY3JxaW5mbyIse3JuOmIuY0EoKSxwcm9iZTpXLkQ1KCl9KTtyZXR1cm4gbi5GRj1ifTsKRXE9ZnVuY3Rpb24obixXKXtVcShuKTtuLmxvYWRlci5TVygpO3JldHVybiBQNihXLG4ubG9hZGVyLmlzU2Vla2luZygpKX07CnUxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBvbGljeS55RSYmISFuLlh9Owp5dT1mdW5jdGlvbihuLFcsRCl7bj1uLmxvYWRlci5TVygpfHwwO3JldHVybiBvayhXLChEK24pKjFFMykvMUUzK0R9OwpkMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1kaihuLmxvYWRlcikmJlcmJlcuU3MhPT12b2lkIDAmJiFXLmJNP01hdGguY2VpbCgoVy5Tcysobi5sb2FkZXIuU1coKXx8MCkpKjFFMyk6VXEobik7aWYobi5wb2xpY3kudTUpe3ZhciBiPW4udHc7dmFyIHY9bi5iZH1lbHNlIGI9RXEobixuLmF1ZGlvVHJhY2spLHY9RXEobixuLnZpZGVvVHJhY2spO3ZhciBrPVsuLi5iLmVXLC4uLnYuZVddO3UxKG4pJiZrLnB1c2goLi4ubi5XKTt2YXIgaD1bLi4uYi5CaSwuLi52LkJpXSx4PVtdO2Zvcih2YXIgTCBvZiBoKUwudkQhPT12b2lkIDAmJkwudkQ+TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/bi5sb2FkZXIuVSgic2FicnBzZWdsbXQiLHtsbXQ6TC52RCxpdGFnOkwuZm9ybWF0SWQ/Lml0YWcsc3E6TC5zZXF1ZW5jZU51bWJlcn0pOngucHVzaChMKTtoPW4ubG9hZGVyLmx1KCk7bi5wb2xpY3kuWW4mJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEw9bi52aWRlb0RhdGEubGVuZ3RoU2Vjb25kcyoKMUUzLEQ+PUwmJm4ubG9hZGVyLlUoImludmFsaWRTYWJyQ210Iix7Y210OkQsdmQ6TH0pKTtMPW4uaWo7dmFyIGU9bi5MLEc9bi5LdSxyPW4uSixOPW4udmlkZW9EYXRhLmJkLEg9bi5wb2xpY3ksQT1uLmxvYWRlci5xRyx5PW4uVlE/LmtFLFQ9bi5WUT8uVW0sej1uLkc3LEM9TnVtYmVyKG4uazYuWD8uaW5mby5pdGFnKXx8MCxRPU51bWJlcihuLms2Lmo/LmluZm8uaXRhZyl8fDAsVj1uLkwudzkoKTt2YXIgTHQ9Vz8uSiQ/Vy5KJDpuLmxvYWRlci5pc1N1c3BlbmRlZD80OnZvaWQgMDtEPXtpajpMLEw6ZSxLdTpHLGVXOmssQmk6eCxuUjpELG5leHRSZXF1ZXN0UG9saWN5OnIsUkE6TixvWjpILHB6OkEsa0U6eSxVbTpULEc3OnosdU06QyxyRzpRLHEkOmgscjg6VixKJDpMdCxDeDpuLkN4LGdEOm4uUFgsSGU6bi5IZX07az1uLmxvYWRlci5NWSgpO3g9Zy5kMShrKTtrJiYoRC5kTj14KTtpZihXPWRqKG4ubG9hZGVyKSYmVz8uYk0/Vy5TczpuLkwuZUooKSlELmo0PVcqMUUzO1c9bi5rNjsKaz1XLnR3O2lmKFcub1o/LkR0KCkmJiFrKWZvcih0aSBvZiBXLlcpaWYodGkua1ope2s9ITA7YnJlYWt9dmFyIHRpPVcub1ouRHQoKSYmIWs/W106TyRpKFcsVy5XKTtELkdoPXRpO3RpPW4uazY7dGkub1ouRHQoKSYmIXRpLmJkP3RpPVtdOihXPUtqaSh0aSksVy5sZW5ndGg9PT0wJiYoVz10aS5WKSx0aT1PJGkodGksVykpO0QuTSQ9dGk7RC5Fdj11MShuKT9bbi5YXTp2b2lkIDA7RC5JOD1BcnJheS5mcm9tKHdDKG4uazYuTikua2V5cygpLE51bWJlcik7RC5sbD1uLms2LmxsKCk7bi5wb2xpY3kuS0UmJihELllzPXpTMihuLmxvYWRlcixuLmF1ZGlvVHJhY2spLEQuZXE9elMyKG4ubG9hZGVyLG4udmlkZW9UcmFjaykpO3RpPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk7Yj15dShuLGIuZVcsdGkpO3Y9eXUobix2LmVXLHRpKTt2PU1hdGgubWluKGIsdik7bi5UQz12O24ucG9saWN5LlUxJiYodTEobikmJihiPXl1KG4sbi5XLHRpKSxuLkwuV1goKSYmYjx2JiZuLmxvYWRlci5VKCJzYWJyY2ZiIiwKe21ldDp2LGNldDpiLGNicmw6bi5XLmxlbmd0aH0pLHY9TWF0aC5taW4odixiKSksIW4ucG9saWN5LlgmJihiPW4uc1U/LlNQKHYpKSkmJihELk15PWIsbi5sb2FkZXIuVSgic2RhaSIse3NzaW5mbzpiLmN1ZXBvaW50SWR9KSk7bi5wb2xpY3kuWCYmKGI9bi52aWRlb0RhdGEuYkJbbi52aWRlb0RhdGEuSj8uY29udGFpbmVyVHlwZXx8MF0sdis9bi5sb2FkZXIuU1coKSxELmJLPW4uVk8/LlkodixiKSxELmJLJiZuLmxvYWRlci5VKCJjbHNkYWkiLHtzc2luZm9zOkQuYksubGVuZ3RofSksbi5WTz8uTygpKTtuLnBvbGljeS5ZJiZuLk4ubGVuZ3RoPjAmJm4uTlswXS5ETCgpJiYoRC5iSj1uLk5bMF0ubWYoKSk7cmV0dXJuIER9OwpVcT1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5qJiZuLmxvYWRlcj8uWFgoKSxEPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCl8fDA7RD1sSWIobixEKTthOmlmKG4ucG9saWN5LmZtJiZuLmxvYWRlci5pc1NlZWtpbmcoKSl7dmFyIGI9QTAobi52aWRlb1RyYWNrLEQpO24ubG9hZGVyLlUoImFzbXRmbmN0diIse2I6RCxhOmJ9KTtpZighaXNOYU4oYikpe0Q9YjticmVhayBhfX1iPW4ubG9hZGVyLlNXKCl8fDA7RCs9YjtiPVlwKG4udmlkZW9EYXRhKXx8Zy5wQShuLnZpZGVvRGF0YSk7dmFyIHY9MDtXPyhiJiYodj1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUiksbi52aWRlb0RhdGEuUkkmJih2PU1hdGguY2VpbChuLnZpZGVvRGF0YS5KVSoxRTMpKSk6dj1NYXRoLmNlaWwoRCoxRTMpO3JldHVybiBNYXRoLm1pbihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUix2KX07CmxJYj1mdW5jdGlvbihuLFcpe2lmKG4ubG9hZGVyLmlzU2Vla2luZygpKXJldHVybiBXO3ZhciBEPW4uTC5oNSgpO2lmKCFEKXJldHVybiBXO0Q9RC5KKCk7aWYoRC5sZW5ndGg9PT0wfHxCUihELFcpKXJldHVybiBXO2lmKCFuLnZpZGVvVHJhY2suZnAoVykmJiFuLmF1ZGlvVHJhY2suZnAoVykpcmV0dXJuIG4ubG9hZGVyLlUoInN1bmRybiIse2I6MCxsdDpXfSksVzt2YXIgYj1XLHY9SW5maW5pdHk7Zm9yKGxldCBrPTA7azxELmxlbmd0aDtrKyspe2lmKEQuc3RhcnQoayk+Vyljb250aW51ZTtsZXQgaD1XLUQuZW5kKGspO2g8diYmKHY9aCxiPUQuZW5kKGspKX1yZXR1cm4gYiE9PVcmJihuLmxvYWRlci5VKCJzdW5kcm4iLHticmU6YixsdDpXfSksdj49MjApPyhuLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIse3JlYXNvbjoiYnVmZmVydW5kZXJydW5leGNlZWRzbGltaXQifSksVyk6Yn07Cm9rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPS0xO2ZvcihsZXQgdiBvZiBuKWlmKCEodi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXM8Vykpe2lmKGI8MCYmdi5zdGFydFRpbWVNcz5XfHxiPj0wJiZ2LkFDPmIrMSlicmVhaztEPU1hdGgubWF4KEQsdi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXMpO2I9TWF0aC5tYXgoYix2Lmk5KX1yZXR1cm4gTWF0aC5tYXgoMCxELVcpfTsKWms9ZnVuY3Rpb24obixXKXtuLkdDPVc7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcmIiLHtyZWFzb246V30pfTsKVTBaPWZ1bmN0aW9uKG4sVyl7YTp7aWYobi5WPjApe3ZhciBEPU1hdGguZmxvb3IoKDAsZy5SKSgpLzFFNCk7aWYoRD09PVcuWGope2lmKFcuRXk+PW4uVil7aWYoVy5FeT09PW4uVil7RD17cmVhc29uOiJ0b29tYW55cmVxdWVzdHMifTtELmxpbWl0PVcuRXk7aWYobi5GRil7bGV0IGI9RGsobi5GRi5pbmZvKTtELmxyX3B0aW1lPWIucHRpbWU7RC5scl9ydHlwZT1iLnJ0eXBlO0QubHJfYnJsPWIuYnJsO0QubHJfcHM9Yi5wc31uLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIsRCk7Vy5FeSs9MX1XPSExO2JyZWFrIGF9fWVsc2UgVy5Yaj1ELFcuRXk9MH1XPSEwfXJldHVybiFXfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmbi5sb2FkZXIuT00/ITE6bi5qJiYoMCxnLlIpKCk8bi5qPyhnLkphKG4ubG9hZGVyLmoyKSwhMSk6bi5OLmxlbmd0aD4wJiYoIW4ucG9saWN5Lll8fG4uTi5sZW5ndGghPT0xfHwhbi5OWzBdLkRMKCkpfHwhbi5LdS5ZPy5ZKG4ucG9saWN5LG4ubm4sCm4ubG9hZGVyLkl3KXx8bi5EdD8hMTohMH07CmkxPWZ1bmN0aW9uKG4sVyl7bi5HQz12b2lkIDA7bi5ZWj0oMCxnLlIpKCk7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcnEiLFcpfTsKeU9aPWZ1bmN0aW9uKG4sVyl7dmFyIHtjdjpELGFrOmJ9PVRKYihuKTtpZihuLnBvbGljeS51NSl7dmFyIHY9b2sobi50dy5lVyxXKTtuPW9rKG4uYmQuZVcsVyl9ZWxzZSB2PUQsbj1iO3JldHVybntCMTp2LGwxOm4sY3Y6RCxhazpifX07Cm0wTT1mdW5jdGlvbihuKXtuLnZpZGVvRGF0YS5iZC5jbGVhcigpO2lmKG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKHZhciBXIG9mIG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5rZXlzKCkpbi52aWRlb0RhdGEuc2FickNvbnRleHRVcGRhdGVzLmdldChXKT8uc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcpO2lmKG4ucG9saWN5LlkmJm4uTi5sZW5ndGgpZm9yKGxldCBEIG9mIG4uTikoVz1ELm1mKCkpJiZXLnR5cGUmJlcuc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcudHlwZSl9Owptdj1mdW5jdGlvbihuKXtmb3IoO24uTi5sZW5ndGgmJm4uTlswXS5CNihuLkUxKCkpOyl7bGV0IFc9bi5OLnNoaWZ0KCk7ajlDKG4sVyl9bi5OLmxlbmd0aCYmajlDKG4sbi5OWzBdKX07Cmo5Qz1mdW5jdGlvbihuLFcpe1cgaW5zdGFuY2VvZiB1dSYmKG4uZSQ9Vyk7dmFyIEQ9bmV3IFNldChXLlNKKG4uRTEoKSkpO2ZvcihsZXQgaCBvZiBEKXtpZihEPVcgaW5zdGFuY2VvZiBLRCl7RD1uLms2O3ZhciBiPXl5eChELGgpLHY9bkQoRCxELnZpZGVvSW5mb3MpLmluY2x1ZGVzKGgpOyFELm9aLlRQfHxifHx2fHxELmxvYWRlci5VKCJzYWJyY3BmIix7ZmlkOmAke2h9YCx2ZmlkczpgJHtuRChELEQudmlkZW9JbmZvcykuam9pbigiLiIpfWAsc2FpZDpELll8fCIifSk7RD0hKGJ8fHYpfWlmKEQpY29udGludWU7RD1XIGluc3RhbmNlb2YgdXU/eUIoVyk6dm9pZCAwO2lmKEQhPT12b2lkIDApe2lmKCFXLlFBKGgsbi5FMSgpKSljb250aW51ZTtiPW4uS3UuSi5nZXQoaCk7aWYoIWIpY29udGludWU7bi5wb2xpY3kueUUmJmIuaW5mby5OKCl8fChiLmluZm8uZVMoKT9uLmF1ZGlvVHJhY2s6bi52aWRlb1RyYWNrKS5aYyhELGgpO2NvbnRpbnVlfUQ9Vy5mMyhoLG4uRTEoKSk7Yj1uLnBvbGljeS55RSYmCkQubGVuZ3RoPjAmJkRbMF0uUEouaW5mby5OKCk7aWYoIVcuUUEoaCxuLkUxKCkpKWNvbnRpbnVlO3Y9Vy54OShoLG4uRTEoKSk7Zm9yKGxldCB4IG9mIHYpe24ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBLRCYmbi5sb2FkZXIuVSgib21ibHNzIix7czp4LmluZm8uZ2EoKX0pO2lmKGIpe3Y9bi50aW1pbmc7di5EfHwodi5EPSgwLGcuUikoKSxnLkVHKCJmY2JfciIsdi5ELHYuelIpKTtpZihuLnBvbGljeS5rdSl7dj1nLlZmKHguaW5mby5QSi5pbmZvLG4uS3UuelcpO3ZhciBrPXguaW5mby5qJDtpZihuLksmJk1rKG4uSyk9PT1Nayh2KSYmazw9bi5jSiljb250aW51ZTt4LmluZm8uYVomJihuLks9dixuLmNKPWspfXY9bjt2LnZpZGVvRGF0YS56VygpJiZ2LlgmJk1rKHYuWCk9PT1NayhnLlZmKHguaW5mby5QSi5pbmZvLHYuS3UuelcpKSYmdi5MLldKKCJzYWJyQ2FwdGlvbnNEYXRhTG9hZGVkIix4LHYueUUuYmluZCh2KSk7Y29udGludWV9dj14LmluZm8uUEouaW5mby5lUygpO2s9eC5pbmZvLlBKOwpsZXQgTD1XIGluc3RhbmNlb2YgS0Q/MToyO2lmKHYpe2lmKG4uazYuWHIoayxMLFcuSmQobi5FMSgpKT8udG9rZW4pKWNvbnRpbnVlfWVsc2Ugbi5rNi5EUihrLEwsVy5KZChuLkUxKCkpPy50b2tlbik7az12P24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7VyBpbnN0YW5jZW9mIEtEJiYoay5qPSExLFcgaW5zdGFuY2VvZiBLRCYmKHY/Z2oxKG4udGltaW5nKTplN2Iobi50aW1pbmcpKSk7dHJ5e2suV2coRCx4KX1jYXRjaChlKXt2PUIkKGUpLG4ubG9hZGVyLmhhbmRsZUVycm9yKHYuZXJyb3JDb2RlLHYuZGV0YWlscyx2LnNldmVyaXR5KSxrLnppKCksbi5YJCghMSwicHVzaFNsaWNlIiksZy5BZyhuLmxvYWRlcil9fX19OwpPeVo9ZnVuY3Rpb24obixXKXtuLnBvbGljeS5ZP24uTi5zcGxpY2Uobi5OLmluZGV4T2YoVykpLmZvckVhY2goRD0+e0QuZGlzcG9zZSgpfSk6KG4uTi5wb3AoKSxXPy5kaXNwb3NlKCkpfTsKQ09qPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PG4uTi5sZW5ndGg7disrKVcmJm4uTlt2XWluc3RhbmNlb2YgS0Q/Yi5wdXNoKG4uTlt2XSk6KG4ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyZGlzIix7ZDpuLk5bdl0uY0EoKSxzcmM6RH0pLG4uTlt2XS5kaXNwb3NlKCkpO24uTj1ifTsKQkp0PWZ1bmN0aW9uKG4sVyl7aWYoVy50bigpfHxXLnFOKCkpe3ZhciBEPW4ubG9hZGVyLGI9RC5VLHY9Vy5zdGF0ZTtuPW4uRTEoKTtXPVcubkE/LmdldChuKT8uWSgpPz8tMTtiLmNhbGwoRCwic2Ficm9tYiIse3M6dix0Ynl0ZXM6V30pfWVsc2V7RD1XLlNKKG4uRTEoKSk7Yj0hMTtmb3IobGV0IGsgb2YgRClpZih2PW4uazYsbkQodix2LnZpZGVvSW5mb3MpLmluY2x1ZGVzKGspKXtiPSEwO2JyZWFrfWlmKEQubGVuZ3RoPT09MHx8YiluLlBYPSEwO24uTi5wdXNoKFcpO1cuWEwucHVzaChuKTtpdShuLnRpbWluZyk7bi5wb2xpY3kuclcmJlcuYlAmJm4udVEoVy5iUCxXLmNBKCkpfX07ClRKYj1mdW5jdGlvbihuKXt2YXIgVz1uLmF1ZGlvVHJhY2suenMoITApKjFFMztuPW4udmlkZW9UcmFjay56cyghMCkqMUUzO3JldHVybntjdjpXLGFrOm59fTsKRllDPWZ1bmN0aW9uKG4se1NzOlcsYk06RH0pe2lmKFc9PT12b2lkIDApcmV0dXJuITE7Vz1EP24uTC5sSyhXKTpXO2lmKFc9IW4ubG9hZGVyLmZwKFcpJiZVMFoobixuLkN1KSl7Vz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTM7bGV0IHtCMTpiLGwxOnZ9PXlPWihuLFcpO1c9Yj49N0UzJiZ2Pj03RTN9cmV0dXJuIFd9Owp3Qng9ZnVuY3Rpb24obixXKXtuLmRlbGF5Py5kaXNwb3NlKCk7bi5kZWxheT1udWxsO3ZhciBEPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KChiLHYpPT5iLm1lZGlhVGltZS12Lm1lZGlhVGltZSk7CkQubGVuZ3RoIT09MCYmKFc9KERbMF0ubWVkaWFUaW1lLVcpKjFFMy9uLkwuZ2V0UGxheWJhY2tSYXRlKCksbi5kZWxheT1uZXcgZy5mXygoKT0+e3pjKG4pfSxXPjUwMD9XLTUwMDpXKSxuLmRlbGF5LnN0YXJ0KCkpfTsKemM9ZnVuY3Rpb24obixXKXtpZihsMShuLkwuZ2V0UGxheWVyU3RhdGUoKSkmJm4uTi5zaXplIT09MCl7Vz1XPz9BcnJheS5mcm9tKG4uTi52YWx1ZXMoKSkuc29ydCgodixrKT0+di5tZWRpYVRpbWUtay5tZWRpYVRpbWUpOwp2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj0oV1swXS5tZWRpYVRpbWUtRCkqMUUzL24uTC5nZXRQbGF5YmFja1JhdGUoKTtpZihiPDUwMCl7RD1iPjA/bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpOkQ7Zm9yKGxldCB2IG9mIFcpaWYoRD49di5tZWRpYVRpbWUpdi5yZXNvbHZlKFt2Lm1lZGlhVGltZSx2LmlkXSksbi5OLmRlbGV0ZSh2LmlkKTtlbHNlIGJyZWFrfXdCeChuLEQpfX07Ck1fdz1mdW5jdGlvbihuLFcsRCl7bi5OLmRlbGV0ZShEKTtyZXR1cm4gbmV3IFByb21pc2UoYj0+e24uTi5zZXQoRCx7aWQ6RCxtZWRpYVRpbWU6VyxyZXNvbHZlOmJ9KTtiPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KCh2LGspPT52Lm1lZGlhVGltZS1rLm1lZGlhVGltZSk7CkQ9PT1iWzBdLmlkJiZ6YyhuLGIpfSl9OwpROWI9ZnVuY3Rpb24obil7dmFyIFc9bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpLEQ9bi5YLlIzKFcpO1JTQyhuLEQsVyk7bi5pc1NlZWtpbmc9ITE7dmFyIGI9QXJyYXkuZnJvbShuLk4ua2V5cygpKS5maWx0ZXIodj0+dj49RCkuc29ydCgodixrKT0+di1rKTsKZm9yKGxldCB2IG9mIGIpYj12PT09RD9XLW4uWC5nZXRTdGFydFRpbWUoRCk6MCxuLksodixuLk4uZ2V0KHYpLGIpfTsKVl8yPWZ1bmN0aW9uKG4sVyxELGI9ITEpe1chPT1uLktZJiYobi5LWT1XLG4uTC5XSigicGxheWJhY2tzdGFydGVkIixXLEQrbi5MLlNXKCksYikpfTsKUlNDPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLk4uZ2V0KFcpLHY9bi5YLmdldFN0YXJ0VGltZShXKSxrPW4uWC5nZXREdXJhdGlvbihXKSxoPXY7KGI/Lk4/P1tuLmNwbl0pLmZvckVhY2goKHgsTCk9Pnt2YXIgZT1iPy5KW0xdPz9rO0Q+PWgmJkQ8aCtlJiYoTD14IT09bi5jcG4/aC0oYj8uWFtMXT8/MCk6aCxuLko9eCxWXzIobix4LEwsITApKTtoKz1lfSl9OwpjT3c9ZnVuY3Rpb24obixXKXsobi5XLmdldChXKT8/W10pLmZvckVhY2goRD0+e24uai5OLmRlbGV0ZShEKX0pOwpuLlcuZGVsZXRlKFcpfTsKYUlaPWZ1bmN0aW9uKG4sVyxELGIpe24uSj1EO0Q9YCR7V30uJHtEfWA7bi5XLmhhcyhXKT9uLlcuZ2V0KFcpLnB1c2goRCk6bi5XLnNldChXLFtEXSk7TV93KG4uaixiLEQpLnRoZW4oKFt2LGtdKT0+e3ZhciBbaCx4XT1rLnNwbGl0KCIuIik7WyxrXT1bTnVtYmVyKGgpLHhdO1ZfMihuLGssdil9KX07CldYaD1mdW5jdGlvbihuLFcsRCxiLHYsayl7cmV0dXJuIFcuVDcmJlcuRTUmJkQ9PT0zP25ldyBudTEobixXLGIsdixrKTpudWxsfTsKRExiPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuRDIpe3ZhciBEPVcuaW5mby5OcyxiPUdEKG4uc2NoZWR1bGUpO1c9Vy5pbmRleC5VYygpO0Q9TWF0aC5tYXgoMSxiL0QpO24uWT1NYXRoLnJvdW5kKE1hdGgubWF4KCgoRC0xKSpXK24ucG9saWN5LndhKS9ELFctbi5wb2xpY3kuTWwpKjFFMyl9fTsKa25yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RGF0ZS5ub3coKS8xRTMsYj1ELW4uc3RhcnRUaW1lU2Vjcyx2PUQtbi5WLGs9dj49bi5wb2xpY3kuT04saD0hMTtpZihrKXtsZXQgeD0wOyFpc05hTihXKSYmVz5uLmomJih4PVctbi5qLG4uaj1XKTt4L3Y8bi5wb2xpY3kuSVcmJihoPSEwKTtuLlY9RH1EPWI+PW4ucG9saWN5Lk1sJiYhbi5XO2lmKCFrJiYhRCYmYkZqKG4sVykpcmV0dXJuIE5hTjtEJiYobi5XPSEwKTthOntiPWg7RD0oMCxnLlIpKCkvMUUzLShuLnF6LkxnKCl8fDApLW4uSy5XLW4ucG9saWN5LndhO2s9bi5KLnNlZ21lbnRTdGFydFRpbWU7RD1rK0Q7aWYoYil7aWYoaXNOYU4oVykpe1RjKG4sTmFOLCJuIixXKTtrPU5hTjticmVhayBhfWI9Vy1uLnBvbGljeS5FVDtiPEQmJihEPWIpfWVsc2Ugbi5XJiYoYj1EK24ucG9saWN5LndhLW4uTytuLnBvbGljeS5BTCxpc05hTihXKXx8KGI9TWF0aC5tYXgoYixNYXRoLm1pbihELFctbi5wb2xpY3kuRVQpKSksRD1iKTtrPUQ9TWF0aC5tYXgoRCwKayl9bi5OPWs7aWYoaXNOYU4obi5OKSlyZXR1cm4gbi5jbGVhcigpLE5hTjtpZighaCYmYkZqKG4sVykpcmV0dXJuIHZ1TShuLFcpLE5hTjtpZihuLk48PW4uSi5zZWdtZW50U3RhcnRUaW1lKXJldHVybiBUYyhuLE5hTiwieSIsVyksbi5jbGVhcigpLE5hTjtpZighbi5EKG4uTiwhMSkpcmV0dXJuIXZ1TShuLFcpJiZoJiYoVGMobixOYU4sInQiLFcpLG4uY2xlYXIoKSksTmFOO2g9bi5OO1RjKG4saCwicyIsVyk7bi5jbGVhcigpO3JldHVybiBofTsKYkZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlzTmFOKFcpPyEwOmlzTmFOKG4uTik/ITE6VzxuLk4rKG4uVz9uLnBvbGljeS5FVDpuLnBvbGljeS5neCl9Owp2dU09ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5EKG4uTiwhMCk/ITE6KFRjKG4sTmFOLCJucyIsVyksbi5jbGVhcigpLCEwKX07ClRjPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4uWC55MCgpO3Yuc3NyX3NrPShXKjFFMykudG9GaXhlZCgwKTt2LnNzcl90PShuLk4qMUUzKS50b0ZpeGVkKDApO3Yuc3NyX3I9RDt2LnNzcl9zdD0obi5zdGFydFRpbWVTZWNzKjFFMykudG9GaXhlZCgwKTt2LnNzcl9uPSgwLGcuUikoKS50b0ZpeGVkKDApO3Yuc3NyX2Y9KG4uSy5XKjFFMykudG9GaXhlZCgwKTt2LnNzcl9mYT1uLlc/IjEiOiIwIjt2LnNzcl9vPShuLnF6LkxnKCkqMUUzfHwwKS50b0ZpeGVkKDApO3Yuc3NyX3Y9KGIqMUUzKS50b0ZpeGVkKDApO1c9bi5KLlBKLmluZGV4O1cuTUkobi5KLmokLCEwKSYmKHYuc3NyX2lzdD0oVy5nZXRTdGFydFRpbWUobi5KLmokKSoxRTMpLnRvRml4ZWQoMCksdi5zc3JfaWQ9KFcuZ2V0RHVyYXRpb24obi5KLmokKSoxRTMpLnRvRml4ZWQoMCkpO24ubG9hZGVyLlUoInNzciIsdil9OwpoUXg9ZnVuY3Rpb24oKXt2YXIgbj17fSxXPXdpbmRvdy5wZXJmb3JtYW5jZTtpZihXKXtsZXQgRD1XLm1lbW9yeTtEJiYobi5qc1RvdGFsPUQudG90YWxKU0hlYXBTaXplLG4uanNVc2VkPUQudXNlZEpTSGVhcFNpemUsbi5qc0xpbWl0PUQuanNIZWFwU2l6ZUxpbWl0LG4ubXNUb3RhbD1ELmdldE1lZGlhU291cmNlVG90YWxBbGxvY2F0ZWRNZW1vcnk/LigpPz9ELnRvdGFsTWVkaWFTb3VyY2VTaXplLG4ubXNMaW1pdD1ELmdldE1lZGlhU291cmNlTWF4aW11bU1lbW9yeUNhcGFjaXR5Py4oKT8/RC5tZWRpYVNvdXJjZVNpemVMaW1pdCxuLm1zVXNlZD1ELmdldE1lZGlhU291cmNlQ3VycmVudE1lbW9yeUNhcGFjaXR5Py4oKT8/RC51c2VkTWVkaWFTb3VyY2VNZW1vcnlTaXplKTtXLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkmJihuLmNiRnJlZT1XLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkoKSk7Vy5tZWFzdXJlVXNlZENwdU1lbW9yeSYmKG4uY2JVc2VkPVcubWVhc3VyZVVzZWRDcHVNZW1vcnkoKSl9d2luZG93Lmg1dmNjPy5jVmFsJiYKKG4uY2JGcmVlPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuQ1BVLkZyZWUiKSxuLmNiVXNlZD13aW5kb3cuaDV2Y2MuY1ZhbC5nZXRWYWx1ZSgiTWVtb3J5LkNQVS5Vc2VkIiksbi5jYkpzPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuSlMiKSk7cmV0dXJuIG59Owp4THQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5QcmVzc3VyZU9ic2VydmVyJiZuZXcgd2luZG93LlByZXNzdXJlT2JzZXJ2ZXIobil9OwpMWHI9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2F3YWl0IG4uan1jYXRjaHt9bi5XPy5kaXNjb25uZWN0KCl9OwpndUM9ZnVuY3Rpb24obixXKXtXP2VRai50ZXN0KG4pOihuPWcub0UobiksT2JqZWN0LmtleXMobikuaW5jbHVkZXMoImNwbiIpKX07CmpSPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17Zm9ybWF0OiJSQVcifSx4PXt9O2lmKGcuVGQobikmJmcuakgoKSl7bGV0IEw9Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpO0w/eFsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09TDpiP3hbIlgtR29vZy1WaXNpdG9yLUlkIl09YjpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKHhbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO0QmJih4WyJYLUdvb2ctUGFnZUlkIl09RCk7KGI9Vy5UQykmJiFnLnFGKFcpJiYoeFsiWC1Hb29nLUF1dGhVc2VyIl09Yik7diYmKHguQXV0aG9yaXphdGlvbj1gQmVhcmVyICR7dn1gKTtXLlMoImVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5ncyIpJiZXLllyJiZXLmRhdGFzeW5jSWQmJih4WyJYLVlvdVR1YmUtRGF0YVN5bmMtSWQiXT1XLmRhdGFzeW5jSWQpO2lmKFcuUygiZW5hYmxlX3JvbGxvdXRfdG9rZW5faGVhZGVyIikpe2xldCBlPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik/LmNsaWVudD8ucm9sbG91dFRva2VuOwplJiYoeFsiWC1Zb3VUdWJlLVJvbGxvdXQtVG9rZW4iXT1lKX1MfHx4WyJYLUdvb2ctVmlzaXRvci1JZCJdfHx2fHxEfHxiP2gud2l0aENyZWRlbnRpYWxzPSEwOlcuUygiaHRtbDVfc2VuZF9jcG5fd2l0aF9vcHRpb25zIikmJmVRai50ZXN0KG4pJiYoaC53aXRoQ3JlZGVudGlhbHM9ITApfU9iamVjdC5rZXlzKHgpLmxlbmd0aD4wJiYoaC5oZWFkZXJzPXgpO2smJihoLm9uRmluaXNoPWspO3JldHVybiBPYmplY3Qua2V5cyhoKS5sZW5ndGg+MT9oOm51bGx9OwpDRD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2cuakgoKSYmRC50b2tlbiYmKG49Zy56ZChuLHtjdHQ6RC50b2tlbixjdHR5cGU6RC55byxtZHhfZW52aXJvbm1lbnQ6RC5tZHhFbnZpcm9ubWVudH0pKTtiLlMoIm5ldF9waW5nc19sb3dfcHJpb3JpdHkiKSYmKFd8fChXPXt9KSxXLnByaW9yaXR5PSJsb3ciKTtrfHx4JiZiLlMoIm53bF9za2lwX3JldHJ5Iik/KFc9PW51bGw/Vz17fTpndUMobixiLlMoImh0bWw1X2Fzc2VydF9jcG5fd2l0aF9yZWdleCIpKSxoP2cuSFUoKS5zZW5kQW5kV3JpdGUobixXKTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShuLFcseCkpOlc/KGd1QyhuLGIuUygiaHRtbDVfYXNzZXJ0X2Nwbl93aXRoX3JlZ2V4IikpLEJXaihuLFcpKTpnLmdvKG4sdil9OwpYTmk9ZnVuY3Rpb24obil7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuO0QrKyl7bGV0IGI9e30sdj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOSoxRTgpKzFFOCxrPSIiO2ZvcihsZXQgaD0wO2g8OTtoKyspays9ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MildO2IudmlkZW9EZWNvZGVyTmFtZT1rO2IuZWxhcHNlZFRpbWVNcz12O1cucHVzaChiKX1yZXR1cm4gV307CkJsPWZ1bmN0aW9uKG4sVyl7bj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5zZXQobixXKTtyZXR1cm4gWW8obik/U2soSFAobiksKCk9PiEwLCgpPT4hMSk6SFAoISFuKX07CnFScj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VCdWZmZXJlZFJhbmdlIixuPzE6MCl9OwpHbnc9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJIVFRQMyIsbj8xOjApfTsKdEZ4PWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUF0dGFjaG1lbnRNZXRob2RzIixuPzE6MCl9OwokTEM9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJRVUlDIixuPzE6MCl9OwpyYzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BdWRpb1dyaXRlRHVyYXRpb25Mb2NhbCIsbil9OwpzZ3c9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsbj8xOjApfTsKTjBTPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsbil9OwpwTnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb1JlbmRlcmVyTWluSW5wdXRCdWZmZXJzIixuKX07CllSdz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvUmVuZGVyZXJNaW5EZWNvZGVkRnJhbWVzIixuKX07CkhGWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLG4/MTowKX07CmZ5VT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVJlc2V0QXVkaW9EZWNvZGVyIixuPzE6MCl9OwpKY2I9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVGbHVzaER1cmluZ1NlZWsiLG4/MTowKX07Ckl5dz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsbil9OwpTUnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLG4/MTowKX07CkFjWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLG4/MTowKX07Cm1MMj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbj8xOjApfTsKS1haPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuRXhwZXJpbWVudGFsTWF4UGVuZGluZ0J5dGVzUGVyUGFyc2UiLG4pfTsKdmFyIE9XdD1mdW5jdGlvbihuKXtyZXR1cm4gZVhbSVsxMF1dKHRoaXMsMTksNzA4NyxuKX07Ck9GQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsbil9OwpQUXI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5NZWRpYUNvZGVjUmVzZXREZWxheU1zIixuKX07ClpGdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRpc2FibGVMb3dQZXJmb3JtYW5jZVNvZnR3YXJlRGVjb2RlIixuPzE6MCl9OwpVTDI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVBdjFTdGFydHVwT3B0aW1pemF0aW9uIixuPzE6MCl9Owp5YzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Vc2VEdWFsVGhyZWFkc0ZvclZpZGVvIixuPzE6MCl9OwpFdXQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CmlGVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CnVxdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIixuPzE6MCl9OwpvdTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG4/MTowKX07CmRMaT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLG4/MTowKX07CnpRUz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIixuPzE6MCl9OwpseTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLG4/MTowKX07ClQwVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixuPzE6MCl9OwpqZ2g9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Ta2lwVmlkZW9GcmFtZXNPdmVyNjBGcHMiLG4/MTowKX07CkNRQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZsdXNoQXVkaW9UcmFja0R1cmluZ1NlZWsiLG4/MTowKX07CkIwaj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkJ5cGFzc01vam9Gb3JNZWRpYSIsbj8xOjApfTsKRlgyPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuSWdub3JlTWVkaWFDb2RlY0NhbGxiYWNrc0R1cmluZ0ZsdXNoaW5nIixuPzE6MCl9OwpNRng9ZnVuY3Rpb24oKXt2YXIgbj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5nZXRQZXJzaXN0ZW50U2V0dGluZ0FzU3RyaW5nPy4oImNwdV91c2FnZV90cmFja2VyX2ludGVydmFscyIpO2lmKG4hPW51bGwpe249SlNPTi5wYXJzZShuKT8/W107dmFyIFc9bi5maWx0ZXIoRD0+RC50eXBlPT09InRvdGFsIikubWFwKEQ9PkQuc2Vjb25kcyk7CmZvcihsZXQgRCBvZiB3TjIpVy5pbmRleE9mKEQpPT09LTEmJm4ucHVzaCh7dHlwZToidG90YWwiLHNlY29uZHM6RH0pO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzX2VuYWJsZWQiLDEpO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzIixKU09OLnN0cmluZ2lmeShuKSl9fTsKUlFVPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93Lkg1dmNjUGxhdGZvcm1TZXJ2aWNlLFc9IiI7aWYobiYmbi5oYXMoImRldi5jb2JhbHQuY29hdC5jbGllbnRsb2dpbmZvIikmJihuPW4ub3BlbigiZGV2LmNvYmFsdC5jb2F0LmNsaWVudGxvZ2luZm8iLCgpPT57fSkpKXtsZXQgRD1uLnNlbmQobmV3IEFycmF5QnVmZmVyKDApKTsKRCYmKFc9U3RyaW5nLmZyb21DaGFyQ29kZSguLi4obmV3IFVpbnQ4QXJyYXkoRCkpKSk7bi5jbG9zZSgpfXJldHVybiBXfTsKVkZTPWZ1bmN0aW9uKG4pe3ZhciBXPXdpbmRvdy5INXZjY1BsYXRmb3JtU2VydmljZTtpZihXKXt2YXIgRD1RZ2kuZmluZChiPT5XLmhhcyhiKSk7CkQmJihEPVcub3BlbihELCgpPT57fSkpJiYoRC5zZW5kKEl3KGBjcG46ICR7bn1gKS5idWZmZXIpLEQuY2xvc2UoKSl9fTsKZy53aj1mdW5jdGlvbihuLFcsRCxiKXtnLkZCKG4sRCxgJHtXLnRvRml4ZWQoMyl9OiR7Yi5qb2luKCI6Iil9YCl9OwpNUD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtnLndqKG4sVywiY210IixbRC50b0ZpeGVkKDMpXSk7dmFyIGI9RD1uLnByb3ZpZGVyLm90KCk7aWYoKCFuLmp8fEFKKG4ucHJvdmlkZXIudmlkZW9EYXRhKT8wOmIqMUUzPm4uai52TysxMDApJiZuLmope2I9bi5qLmlzQWQ7RD1EKjFFMy1uLmoudk87bi5lST1XKjFFMy1uLmoudFMtRC1uLmouT2E7dmFyIHY9KDAsZy5SKSgpLUQ7Vz1uLmVJO0Q9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIGs9RC5pc0FkKCk7aWYoYnx8ayl7az1gJHtiPyJhZCI6InZpZGVvIn1fdG9fJHtrPyJhZCI6InZpZGVvIn1gO3ZhciBoPXt9O0Qua1cmJihoLmN0dEF1dGhJbmZvPXt0b2tlbjpELmtXLHZpZGVvSWQ6RC52aWRlb0lkfSk7aC5zdGFydFRpbWU9di1XO2cuYmQoayxoKTtnLm5sKHt0YXJnZXRWaWRlb0lkOkQudmlkZW9JZCx0YXJnZXRDcG46RC5jbGllbnRQbGF5YmFja05vbmNlfSxrKTtnLmFMKCJwYnMiLHYsCmspfWVsc2Ugdj1uLnByb3ZpZGVyLkwuZUcoKSx2LlYhPT1ELmNsaWVudFBsYXliYWNrTm9uY2U/KHYuaj1ELmNsaWVudFBsYXliYWNrTm9uY2Usdi5KPVcpOkQuTlAoKXx8Zy5HcShuZXcgZy5ReCgiQ1NJIHRpbWluZyBsb2dnZWQgYmVmb3JlIGdsbGF0Iix7Y3BuOkQuY2xpZW50UGxheWJhY2tOb25jZX0pKTtuLlUoImdsbGF0Iix7bDpuLmVJLnRvRml4ZWQoKSxwcmV2X2FkOitifSk7ZGVsZXRlIG4uan19OwpnLkZCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkouZ2V0KFcpO2I/Yi5wdXNoKEQpOm4uSi5zZXQoVyxbRF0pfTsKUXU9ZnVuY3Rpb24obixXKXtuLmlzT2ZmbGluZT1XO2cud2oobixnLlJrKG4ucHJvdmlkZXIpLCJpc19vZmZsaW5lIixbbi5pc09mZmxpbmU/IjEiOiIwIl0pfTsKVnU9ZnVuY3Rpb24obixXLEQpe2lmKCFpc05hTihELlc3KSl7bGV0IGI9RC5XNztELko8YiYmKGI9RC5KKTtnLndqKG4sVywiYmgiLFtiLnRvRml4ZWQoMyldKX19OwpjbD1mdW5jdGlvbihuLFc9TmFOKXtXPVc+PTA/VzpnLlJrKG4ucHJvdmlkZXIpO3ZhciBEPW4ucHJvdmlkZXIuTC5ISygpLGI9RC5Fci0obi52Snx8MCk7Yj4wJiZnLndqKG4sVywiYndtIixbYiwoRC5vdy0obi5FNXx8MCkpLnRvRml4ZWQoMyldKTtpc05hTihuLnZKKSYmRC5FciYmbi5pc09mZmxpbmUmJlF1KG4sITEpO24udko9RC5FcjtuLkU1PUQub3c7aXNOYU4oRC5iYW5kd2lkdGhFc3RpbWF0ZSl8fGcud2oobixXLCJid2UiLFtELmJhbmR3aWR0aEVzdGltYXRlLnRvRml4ZWQoMCldKTtuLnByb3ZpZGVyLkIuV1goKSYmT2JqZWN0LmtleXMoRC5OKS5sZW5ndGghPT0wJiZuLlUoImJ3aW5mbyIsRC5OKTtpZihuLnByb3ZpZGVyLkIuV1goKXx8bi5wcm92aWRlci5CLlMoImh0bWw1X2xvZ19tZW1pbmZvIikpYj1oUXgoKSxPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9PXZvaWQgMCkmJm4uVSgibWVtaW5mbyIsYik7Cm4ucHJvdmlkZXIuQi5XWCgpJiYoYj1uLnlFPy5YKCkpJiZPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9bnVsbCkmJm4uVSgiY3B1aW5mbyIsYik7Cm4uVEMmJmcud2oobixXLCJiYXQiLFtuLlRDLmxldmVsLG4uVEMuY2hhcmdpbmc/IjEiOiIwIl0pO2I9bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO24uVTUhPT1iJiYoZy53aihuLFcsInZpcyIsW2JdKSxuLlU1PWIpO01QKG4sVyk7KGI9Y2NaKG4ucHJvdmlkZXIpKSYmYiE9PW4uWSQmJihnLndqKG4sVywiY29ubiIsW2JdKSxuLlkkPWIpO1Z1KG4sVyxEKX07Cm5PTT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5SayhuLnByb3ZpZGVyKTtheVoobixiLFcsMCxEKTtjbChuLGIpO2FrKG4pfTsKbkM9ZnVuY3Rpb24obixXKXtnLkZCKG4sImNhdCIsVyl9OwpXVGg9ZnVuY3Rpb24obixXKXtXPXtjcG46bi5wcm92aWRlci52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxzZXF1ZW5jZU51bWJlcjpXLHNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQ6bi5wcm92aWRlci52aWRlb0RhdGEubTB9O24uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQmJihXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0PWxwKG4uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQpfHx2b2lkIDApO24ucHJvdmlkZXIudmlkZW9EYXRhLnBsYXllclJlc3BvbnNlQ3BuJiYoVy5wbGF5ZXJSZXNwb25zZUNwbj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5wbGF5ZXJSZXNwb25zZUNwbik7V3IubGVuZ3RoJiYoVy5kZWNvZGVySW5mbz1Xcik7bi5yZW1vdGVDb250cm9sTW9kZSYmKFcucmVtb3RlQ29udHJvbE1vZGU9bi5yZW1vdGVDb250cm9sTW9kZSk7Cm4ucmVtb3RlQ29ubmVjdGVkRGV2aWNlcy5sZW5ndGgmJihXLnJlbW90ZUNvbm5lY3RlZERldmljZXM9bi5yZW1vdGVDb25uZWN0ZWREZXZpY2VzKTtpZihuLlBYPy5sZW5ndGgpe1cuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhPVtdO2Zvcih2YXIgRCBvZiBuLlBYKXtsZXQgYj1nLmQxKEQpO2ImJlcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLnB1c2goYil9fSFuLmpXJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhJiYoVy5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhPVtdLEQ9Zy5kMShuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhKSkmJihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEucHVzaChEKSxuLmpXPSEwKTtuLlkuc2l6ZSYmKFcuZGFpQ3VlUG9pbnRFdmVudHM9QXJyYXkuZnJvbShuLlkudmFsdWVzKCkpKTtuLlkuY2xlYXIoKTtyZXR1cm4gV307CkRCaT1mdW5jdGlvbihuKXt2YXIgVz17Li4ubn07bi5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEmJihXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YS5tYXAoRD0+RCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Zy5FQShEKTpEKSk7Cm4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEubWFwKEQ9PkQgaW5zdGFuY2VvZiBVaW50OEFycmF5P2cuRUEoRCk6RCkpOwpuLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0JiYobj1uLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0LG4gaW5zdGFuY2VvZiBVaW50OEFycmF5JiYoVy5zZXJpYWxpemVkSG91c2VCcmFuZFBsYXllclNlcnZpY2VMb2dnaW5nQ29udGV4dD1nLkVBKG4pKSk7cmV0dXJuIFd9OwpiUFM9ZnVuY3Rpb24obixXLEQpe2cuSEUobi5wcm92aWRlci5CLG4ucHJvdmlkZXIudmlkZW9EYXRhLlYoKSkudGhlbihiPT57dmFyIHY9ITE7Vy5pbmNsdWRlcygiJmR0PSIpfHxXLmluY2x1ZGVzKCImY290bj0iKT92PSEwOm4ucHJvdmlkZXIuQi5TKCJxb2Vfd2l0aF9uZXR3b3JrbGVzcyIpJiYodj0hMCk7dmFyIGs9bi5wcm92aWRlci5CLlMoInFvZV9zZW5kX2FuZF93cml0ZSIpLGg9bi5wcm92aWRlci5CO2I9alIoVyxoLG4ucHJvdmlkZXIuQi5wYWdlSWQsbi5wcm92aWRlci5CLnNlbmRWaXNpdG9ySWRIZWFkZXI/bi5wcm92aWRlci52aWRlb0RhdGEudmlzaXRvckRhdGE6dm9pZCAwLGIpO2guUygiaHRtbDVfc2ltcGxpZnlfcGluZ3MiKSYmKGI9Ynx8e30pO2I/KGIubWV0aG9kPSJQT1NUIixiLnBvc3RCb2R5PUQsQ0QoVyxiLHt0b2tlbjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5rVyx5bzpuLnByb3ZpZGVyLnZpZGVvRGF0YS5RdixtZHhFbnZpcm9ubWVudDpuLnByb3ZpZGVyLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudH0sCmgsdm9pZCAwLHYsayYmbi5TJCkpOnY/KHY9bi5wcm92aWRlci5CLlMoIm5ldHdvcmtsZXNzX2FqYXgiKSxoPXttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9LGsmJm4uUyQ/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLGgpOnY/Zy5lZChXLHttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9KTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShXLGgpKTpndncoVyxEKX0pfTsKYWs9ZnVuY3Rpb24obil7aWYoIW4ucHJvdmlkZXIuQi5TKCJodG1sNV9xb2Vfbm9fbGVuX2NoZWNrIikpe3ZhciBXPTA7Zm9yKGxldCBbRCxiXW9mIG4uSi5lbnRyaWVzKCkpVys9RC5sZW5ndGgrTnVtYmVyKGcudV8oYiwodixrKT0+ditrLmxlbmd0aCwwKSk7Clc+OTZFMyYmKG5ldyBnLmZfKG4ucmVwb3J0U3RhdHMsMCxuKSkuc3RhcnQoKX19Owp2TzI9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuWVomJm5DKG4sInByZWZldGNoIik7bi5wcm92aWRlci52aWRlb0RhdGEuUyQmJm4uVSgicmVsb2FkIix7cjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5yZWxvYWRSZWFzb24sY3Q6bi5wcm92aWRlci52aWRlb0RhdGEuUyR9KTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5JUiYmbkMobiwibW9uaXRvciIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuQyhuLCJsaXZlIik7TnMmJm5DKG4sInN0cmVhbWluZyIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmk1JiZuLlUoImN0cmwiLHttb2RlOm4ucHJvdmlkZXIudmlkZW9EYXRhLmk1fSwhMCk7aWYobi5wcm92aWRlci52aWRlb0RhdGEuVUspe3ZhciBXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlVLLnJlcGxhY2UoLywvZywiXyIpO24uVSgieXRwIix7dHlwZTpXfSwhMCl9bi5wcm92aWRlci52aWRlb0RhdGEuVDQmJihXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlQ0LnJlcGxhY2UoLywvZywKIi4iKSxuLlUoInl0cmV4cCIse2lkczpXfSwhMCkpO24ucHJvdmlkZXIuQi5XWCgpJiZuLlUoIm5vdyIse3d0OigwLGcuUikoKX0pO1c9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIEQ9bi5wcm92aWRlci5CLlMoImVuYWJsZV93aGl0ZV9ub2lzZSIpfHxuLnByb3ZpZGVyLkIuUygiZW5hYmxlX3dlYmdsX25vb3AiKSxiPWcua3AoVyl8fGcuSFQoVyl8fGcuZkEoVyl8fGcuSkQoVyk7KER8fGIpJiYoRD0oMCxnLkRWKSgpKSYmbi5KLnNldCgiZ3B1IixbRF0pO09TKG4ucHJvdmlkZXIudmlkZW9EYXRhKSYmZy53aihuLGcuUmsobi5wcm92aWRlciksImR0IixbIjEiXSk7Vy5jb3RuJiYhT1MoVykmJlF1KG4sITApO24ucHJvdmlkZXIuQi5XWCgpJiYoVz0oMCxnLlIpKCktbi5wcm92aWRlci5CLkN1LG4uVSgicGxheWVyYWdlIix7c2VjczooMS42KipNYXRoLnJvdW5kKE1hdGgubG9nKFcvMUUzKS9NYXRoLmxvZygxLjYpKSkudG9GaXhlZCgpfSkpO24uVj0hMDtuLks9VzAoKCk9PntuLnJlcG9ydFN0YXRzKCl9LAoxRTQpfTsKYXlaPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5wcm92aWRlci5CLk4uY2JydmVyO24ucHJvdmlkZXIuQi5OLmNicj09PSJDaHJvbWUiJiYvXjk2Wy5dLy50ZXN0KGspJiZEPT09Im5ldC5iYWRzdGF0dXMiJiYvcmNcLjUwMC8udGVzdCh2KSYmYm0obiwzKTsvYjI0ODE4MDI3OC8udGVzdCh2KSYmYm0obiw0KTtrPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtiPWI9PT0xPyJmYXRhbCI6IiI7RD1bRCxiLGsudG9GaXhlZCgzKV07YiYmKHYrPWA7YTZzLiR7TGMoKX1gKTt2JiZELnB1c2goa29yKHYpKTtnLndqKG4sVywiZXJyb3IiLEQpO24uVj0hMH07CmJtPWZ1bmN0aW9uKG4sVyl7bi5ZWnx8KGcuRkIobiwiZmNueiIsYCR7V31gKSxuLllaPSEwKX07CmhEMT1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKEQhPT1uLk4pe24uZSR8fFc8bi5XfHwobi5OPT09IlBMIj9uLnBsYXlUaW1lU2Vjcys9Vy1uLlc6bi5OPT09IkIiJiZuLmlzQnVmZmVyaW5nJiYobi5pc0J1ZmZlcmluZz0hMSxuLnJlYnVmZmVyVGltZVNlY3MrPVctbi5WUSwhbi5SYSYmbi5yZWJ1ZmZlclRpbWVTZWNzPj0xMCYmbi5wbGF5VGltZVNlY3M8PTE4MCYmKG4uSi5zZXQoInFvZWFsZXJ0IixbIjEiXSksbi5SYT0hMCkpLEQhPT0iQiJ8fG4uTiE9PSJQTCImJm4uTiE9PSJQQiJ8fChuLmlzQnVmZmVyaW5nPSEwKSxuLlc9Vyk7bi5OPT09IlBMIiYmKEQ9PT0iQiJ8fEQ9PT0iUyIpfHxuLnByb3ZpZGVyLkIuV1goKT9jbChuLFcpOihuLmZCfHxEIT09IlBMInx8KG4uZkI9ITAsVnUobixXLG4ucHJvdmlkZXIuTC5ISygpKSksTVAobixXKSk7RD09PSJQTCImJmcuSmEobi5NZCk7dmFyIGs9W0RdO0Q9PT0iUyImJmImJmsucHVzaChgc3MuJHtifWApO0Q9PT0iUEEiJiZ2JiZrLnB1c2goYHNyLiR7dn1gKTsKZy53aihuLFcsInZwcyIsayk7bi5OPUQ7bi5WUT1XO24uVz1XO24uVj0hMH19Owp4Qmg9ZnVuY3Rpb24obil7aWYoIShuLlg+PTApKWlmKG4ucHJvdmlkZXIuQi5OZHx8bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpIT09Myl7dmFyIFc9bi5wcm92aWRlci5MLnpzKCExKSxEPW4ucHJvdmlkZXIuTC56cyghMCk7bi5VKCJ1c2VyX2ludGVudF9iaCIse2JoOlcudG9GaXhlZCgzKSx0aDpELnRvRml4ZWQoMyl9KTtuLlg9Zy5SayhuLnByb3ZpZGVyKX1lbHNlIG4uQ3U9ITB9OwpMVGI9ZnVuY3Rpb24obixXKXtpZihnLm1NKG4ucHJvdmlkZXIudmlkZW9EYXRhKSl7bj00O3ZhciBEPTF9ZWxzZSBuPVcuc291cmNlPz8wO249YHNtcy4ke259YDtEIT09dm9pZCAwJiYobis9YF8ke0R9YCk7cmV0dXJuIG59Owp2YXIgQTExPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDEsNDM2MixuLFcpfTsKdnI9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9Zy5SayhuLnByb3ZpZGVyKTtEIT09MSYmRCE9PTMmJkQhPT01fHxnLndqKG4seCwidnBzIixbbi5OXSk7Zy5GQihuLCJ4dnQiLGB0LiR7eC50b0ZpeGVkKDMpfTttLiR7aC50b0ZpeGVkKDMpfTtnLiR7V307dHQuJHtEfTtucC4ke2J9O2MuJHt2fTtkLiR7a31gKX07Cmtvcj1mdW5jdGlvbihuKXsvW15hLXpBLVowLTk7LiFfLV0vLnRlc3QobikmJihuPW4ucmVwbGFjZSgvWytdL2csIi0iKS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIikpO3JldHVybiBufTsKT2I9ZnVuY3Rpb24obixXKXtpZihuLlpEJiYhbi5PbilyZXR1cm4gMztpZihuLmlzU3VzcGVuZGVkKXJldHVybiAxO2lmKG4ubWVkaWFTb3VyY2U/LmJkKCkpcmV0dXJuIDQ7dmFyIEQ9KFcuUEouaW5mby5hdWRpbz9uLnBvbGljeS52SjpuLnBvbGljeS5lJCkvKFcuTnMqbi5wb2xpY3kud3kpO2lmKG4ucG9saWN5LmNIPjAmJm4ubWVkaWFTb3VyY2UmJm42KG4ubWVkaWFTb3VyY2UpJiYoVz1XLlBKLmluZm8udmlkZW8/bi5tZWRpYVNvdXJjZS5KOm4ubWVkaWFTb3VyY2UuTikmJiFXLnl1KCkpe1c9Vy5aRigpO2xldCBiPUNNKFcsbi5nZXRDdXJyZW50VGltZSgpKTtiPj0wJiYoVz1uLmdldEN1cnJlbnRUaW1lKCktVy5zdGFydChiKSxEKz1NYXRoLm1heCgwLE1hdGgubWluKFctbi5wb2xpY3kuY0gsbi5wb2xpY3kuQmQpKSl9bi5wb2xpY3kuTz4wJiYoRD1NYXRoLm1pbihELG4ucG9saWN5Lk8pKTtyZXR1cm4gRH07CmRWPWZ1bmN0aW9uKG4sVyxEKXtlRGIobixELnFkfHwidW5rbm93biIpO24uTC5zZWVrVG8oVyxEKX07CmcuZEM9ZnVuY3Rpb24obixXLEQsYix2KXtuLkwuZ2V0VmlkZW9EYXRhKCkuREYoKT92JiZuLnhXLlRDK3YvMUUzPkQmJihuLlUoInNkYWkiLHtzZWc6YixyYnQ6RC50b0ZpeGVkKDMpLGVuZDpuLnhXLlRDLnRvRml4ZWQoMyksc2Q6di50b0ZpeGVkKDMpfSksbi5YJCghMSwicm9sbGJhY2siKSk6bi5wb2xpY3kuVTEmJm4uWCQoITEsInJvbGxiYWNrIik7aWYobi5LdS5pc01hbmlmZXN0bGVzcyl7dj1VNChuLmF1ZGlvVHJhY2ssYixELFcpO3ZhciBrPVU0KG4udmlkZW9UcmFjayxiLEQsVyk7bi5wb2xpY3kuczV8fChrJiZUeChuLkt1LGIsITApLHYmJlR4KG4uS3UsYiwhMSkpO2smJm4udmlkZW9UcmFjay5rSSgpO3YmJm4uYXVkaW9UcmFjay5rSSgpO24uVSgic2RhaSIse3JvbGxiazJfc2VnOmIscmJ0OkQudG9GaXhlZCgzKSxsdDpXLnRvRml4ZWQoMyksYTp2LHY6a30pOyh2fHxrKSYmbi5wb2xpY3kuVTEmJmcuQWcobil9fTsKWUM9ZnVuY3Rpb24obixXKXtuLmhhbmRsZUVycm9yKCJmbXQudW5wYXJzZWFibGUiLFcsMSl9OwpnLkFnPWZ1bmN0aW9uKG4pe2cuSmEobi5uTil9OwpTek09ZnVuY3Rpb24obil7dmFyIFc9bi5qbCgpLmZpbHRlcihEPT5ELm5hbWVzcGFjZT09PSJhZCIpOwpmb3IobGV0IEQgb2YgVylpZihELnN0YXJ0LzFFMz5uLmdldEN1cnJlbnRUaW1lKCkpcmV0dXJuIEQuc3RhcnQvMUUzO3JldHVybiBJbmZpbml0eX07CmM2PWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLnFHPVd9OwpIJGg9ZnVuY3Rpb24obixXKXtpZih4TihXLkF3W1cuQXcubGVuZ3RoLTFdKSl7YTp7dmFyIEQ9bi5jVjtXPVcuQXdbMF0uUEo7aWYoVy5pbmZvLnZpZGVvKXtpZihELlchPT1XKXtELlc9VztEPVMkaChEKTticmVhayBhfX1lbHNlIEQuSEo9RC5WIT09VyxELlY9VztEPW51bGx9Z09DKG4sRCl9fTsKUW89ZnVuY3Rpb24obil7bi5wb2xpY3kuSEQmJm4ucG9saWN5LmU0JiZNYXRoLm1pbihnVEMobi52aWRlb1RyYWNrKSxnVEMobi5hdWRpb1RyYWNrKSkqMUUzPm4ucG9saWN5Lm0kP2cuSmEobi5aSyk6bi5oVCgpfTsKQjY9ZnVuY3Rpb24obixXLEQsYj0hMSl7YiYmIVcuVEMmJihWVCgpfHwoYj1XLlFFKSYmIWIudFooRC5pbmZvKSYmbi5MLkJvKCksVy5UQz0hMCk7Vy5QSiE9PUQmJihXLlBKPUQpfTsKd3U9ZnVuY3Rpb24obil7cmV0dXJuIG4uSXc8bi5peH07ClIkPWZ1bmN0aW9uKG4pe24uemkoKTtuLlhhLmlzU2Vla2luZygpO24uUXUmJkRMYihuLlF1LG4udmlkZW9UcmFjay5QSik7Zy5BZyhuKTtyZXR1cm4gRWIobi5YYSl9Owpkaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFZpZGVvRGF0YSgpLnpXKCl8fG4ucG9saWN5Lm1EfTsKelMyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKE9iKG4sVykrbi5wb2xpY3kualIpKlcuTnN9OwpFUlM9ZnVuY3Rpb24obil7aWYobi5MLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXJldHVybiExO3ZhciBXPW4uTC5oNSgpO2lmKCFXKXJldHVybiExO1c9Vy5nZXREdXJhdGlvbigpO2lmKG4ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KKXt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj1uLm1lZGlhU291cmNlLk4uWkYoKTtuPW4ubWVkaWFTb3VyY2UuSi5aRigpO2I9Yj9GWihiLEQpOkQ7RD1uP0ZaKG4sRCk6RDtEPU1hdGgubWluKGIsRCk7Vz1pc05hTihEKT8hMTpEPj1XLS4wMX1lbHNlIFc9ITE7cmV0dXJuIFd9OwpYemg9ZnVuY3Rpb24obixXLEQpe2lmKCEobi52aWRlb1RyYWNrLlBKLk4oKSYmbi5hdWRpb1RyYWNrLlBKLk4oKSYmbi5tZWRpYVNvdXJjZSYmbi5tZWRpYVNvdXJjZS5KJiZuLm1lZGlhU291cmNlLk4pKXJldHVybiExO2lmKEQmJm4uS3UuaXNNYW5pZmVzdGxlc3MmJihuLnZpZGVvVHJhY2suWD09PS0xfHxuLmF1ZGlvVHJhY2suWD09PS0xKSlyZXR1cm4hMDt2YXIgYj1LdihuLnZpZGVvVHJhY2ssVyxEKTtpZihpc05hTihiKSlyZXR1cm4hMTtuPUt2KG4uYXVkaW9UcmFjayxuLnBvbGljeS5FNT9XOmIsRCk7cmV0dXJuIGlzTmFOKG4pPyExOiEwfTsKcUoyPWZ1bmN0aW9uKG4pe24uUWo/Llh0Py5pdGFnRGVueWxpc3QmJm4uV0Yobi5Raj8uWHQuaXRhZ0RlbnlsaXN0KTtuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5JiZsUyhuLnBvbGljeSxuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5LDMsbi5Raj8uY0EoKSk7aWYobi5wb2xpY3kuY0wpe3ZhciBXPW4uRTEoKTsoVz1XP24uUWo/LkR3LmdldChXKTp2b2lkIDApJiZuLnhXLnN5KFcsLTEpfW4uS3UuT3x8bi5wb2xpY3kuV2l8fChXPW4uUWo/LlFXLFc/LndmJiZXPy52NyYmbi5LdS56VyYmQzYobi5LdSxXLndmLFcudjcpKTtpZihuLlFqPy5NUyl7Vz1uLlFqLk1TLmdldChuLkUxKCl8fCIiKTtpZighVylyZXR1cm47aWYobi5LdSYmVy5mb3JtYXRJZCl7bGV0IEQ9bi5LdS5KLmdldChNayhXLmZvcm1hdElkKSk7RCYmKEQuaW5mby5kZWJ1Z0luZm89Vy5kZWJ1Z0luZm8pfX1uLnBvbGljeS5EJiYobi5Raj8uckIoKS5mb3JFYWNoKEQ9PntuLmk4KEQpfSksbi5Raj8uRm8oKSl9Owp0OWg9ZnVuY3Rpb24obil7aWYoIW4uS3UuelcpcmV0dXJuITA7dmFyIFc9bi5MLmdldFZpZGVvRGF0YSgpO2lmKG4uTC5PUCgpKXJldHVybiBuLlUoIm9tYnBhIix7fSksITE7aWYoISFuLlFqPy5RVz8uWjMhPT1uLkt1LlhnKXJldHVybiBuLlUoIm9tYnBsbW0iLHt9KSwhMTt2YXIgRD1XLlRDfHxXLmxpdmVVdGNTdGFydFNlY29uZHN8fFcuVXI7aWYobi5LdS5YZyYmRClyZXR1cm4gbi5VKCJvbWJwbHN0Iix7fSksITE7aWYobi5LdS5PfHxuLnBvbGljeS5XaSlyZXR1cm4gbi5VKCJvbWJhYiIse30pLCExO0Q9RGF0ZS5ub3coKTtpZighVy5saXZlUHJlbG9hZCYmRnYobi5LdSkmJiFpc05hTihuLkNIKSYmRC1uLkNIPm4ucG9saWN5LkZVKjFFMylyZXR1cm4gbi5VKCJvbWJ0dGwiLHt9KSwhMTtpZih4cChXKSE9PTAmJiFuLnBvbGljeS5OfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9tb3NhaWMiKSYmVy5aaCgpfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9saWZhX2VsaWdpYmxlIikmJgpweihXKSlyZXR1cm4hMTtpZihuLkwuRygpLlp0KCkuTi5RUShHb00pJiYoVz1uLlFqPy5waygpPz8wLFc+PTAmJm4uS3UuaXNXaW5kb3dlZExpdmUmJihXPG4uS3UuSlUqMUUzfHxXPm4uS3Uub1IqMUUzKSkpcmV0dXJuIG4uVSgib21id25kIix7c3Q6VyxtaW46bi5LdS5KVSoxRTMsbWF4Om4uS3Uub1IqMUUzfSksITE7aWYobi5LdS5JdCYmbi5LdS5pc1dpbmRvd2VkTGl2ZSlpZihuLkwuRygpLlMoImh0bWw1X3VzZV9vbmVzaWVfd2luZG93ZWRfbGl2ZV9tZWRpYSIpKW4uVSgib21hbWluc3EiLHt9KTtlbHNlIHJldHVybiBuLlUoIm9tYm1pbnNxIix7fSksITE7cmV0dXJuITB9OwprYz1mdW5jdGlvbihuLFcpe3ZhciBEPWN3KFcuUEosbi5LdS56VyksYj1uLmhtPy5mMyhEKXx8W107aWYoYi5sZW5ndGg9PT0wKXJldHVybiBuLlUoIm9tYm1zaSIse30pLCExO2I9bmV3IHdrKGIpO2lmKCghbi5wb2xpY3kudHd8fGlzRmluaXRlKG4uZ2V0Q3VycmVudFRpbWUoKSl8fG4uTC5lSigpKSYmIWIua2Yobi5nZXRDdXJyZW50VGltZSgpKSYmIW4uTC5nZXRWaWRlb0RhdGEoKS5saXZlUHJlbG9hZClyZXR1cm4gbi5VKCJvc3RtZiIse2N0Om4uZ2V0Q3VycmVudFRpbWUoKSxhOlcuUEouaW5mby5lUygpfSksITE7bi5obT8uRVMoRCk7cmV0dXJuITB9OwokQmk9ZnVuY3Rpb24obixXKXt2YXIgRD1XLlBKLGI9bi5LdS56VztpZih0OWgobikpaWYobi5obSYmbi5obS5nRihjdyhELGIpKSl7aWYoYj1jdyhELGIpLGtjKG4sVykpe3ZhciB2PW5ldyB3ayhuLmhtLmYzKGIpKSxrPWg9Pnt0cnl7aC50bigpPyhuLmhhbmRsZUVycm9yKGguVkcoKSxoLnkwKCkpLEU0KFcsaCkseXMoaC5pbmZvKSYmQ3Iobi5OeSxXLEQsITApLG4uaFQoKSk6RjAobi5OeSxoKSYmKG4uSkM/LlMkKGguaW5mbyxuLnNVKSxuLmhUKCkpfWNhdGNoKHgpe2g9QiQoeCksbi5oYW5kbGVFcnJvcihoLmVycm9yQ29kZSxoLmRldGFpbHMsaC5zZXZlcml0eSksbi56aSgpfX07CkQuY0o9ITA7VXYodikmJihPNChXLG5ldyBTbihuLnBvbGljeSxiLHYsbi5obSxrKSksaXUobi50aW1pbmcpKX19ZWxzZSBuLlUoIm9tYmZtdCIse30pfTsKcjdoPWZ1bmN0aW9uKG4pe24ucG9saWN5LlgmJm4uUWomJihuLlFqLkd3LmZvckVhY2goVz0+e24uSm0oVywtMSl9KSxuLlFqLkd3PVtdKX07CmgyPWZ1bmN0aW9uKG4sVyl7Vz1XfHxuLnZpZGVvVHJhY2smJm4udmlkZW9UcmFjay5OJiZuLnZpZGVvVHJhY2suTi5zZWdtZW50U3RhcnRUaW1lfHxuLmdldEN1cnJlbnRUaW1lKCk7dmFyIEQ9QjYsYj1uLnZpZGVvVHJhY2ssdj1uLmNWO1c9di5uZXh0VmlkZW8mJnYubmV4dFZpZGVvLmluZGV4LlIzKFcpfHwwO3YuY0ohPT1XJiYodi5iZD17fSx2LmNKPVcsUnEodix2Lk4pKTtXPSF2Lk4uaXNMb2NrZWQoKSYmdi5ZPi0xJiYoMCxnLlIpKCktdi5ZPHYucG9saWN5LkFrKjFFMzt2YXIgaz12Lm5leHRWaWRlbyYmTXEodix2Lm5leHRWaWRlby5pbmZvKSozPE5XKHYuSWcpO2lmKCFXfHxrKVZCKHYpLGNwKHYpLHYuTz12Lk98fHYubmV4dFZpZGVvIT09di5XO3YubmV4dFZpZGVvJiYhdi5uZXh0VmlkZW8uaW5kZXguaXNMb2FkZWQoKSYmKHYuY0o9LTEpO0QobixiLHYubmV4dFZpZGVvKTtCNihuLG4uYXVkaW9UcmFjayxuLmNWLkopfTsKZURiPWZ1bmN0aW9uKG4sVyl7aWYoIWlzTmFOKG4uajApKXtsZXQgRD1EYXRlLm5vdygpLW4uajA7RDwxRTQmJm4uVSgiYmZhc3d0Y2giLHtlcDpELHNrOlchPT12b2lkIDA/IjEiOiIwIixzcjpXfHwiIn0pfX07ClhiPWZ1bmN0aW9uKG4pe2E6e2lmKG4uSGcoKSYmbWQobi52aWRlb1RyYWNrKSYmbWQobi5hdWRpb1RyYWNrKSYmbi5MLkhvKCkmJiFuLkwuVjAoKSYmIW4ubWVkaWFTb3VyY2U/Lk4/LmlRKCkmJiFuLm1lZGlhU291cmNlPy5KPy5pUSgpJiYhbi5BYil7dmFyIFc9bi5MLlhTPy5YKCk7aWYoIVcpYnJlYWsgYTtuLmF1ZGlvVHJhY2suSlgoKTtuLnZpZGVvVHJhY2suSlgoKTtuLkFiPVd9aWYoVz1uLkhnKCkmJm4uTC5IbygpJiYhbi5MLlYwKCkpaWYobi5BYiYmbi5BYi5KJiZuLkFiLk4mJm4udmlkZW9UcmFjay5EZygpJiZuLmF1ZGlvVHJhY2suRGcoKSl7dmFyIEQ9bi52aWRlb1RyYWNrLlcuYjcoKTtXPW4uYXVkaW9UcmFjay5XLmI3KCk7dmFyIGI9bi5BYj8uSi5aRigpLHY9bi5BYj8uTi5aRigpO0QmJlc/KEQ9QlIoYixrTihELmluZm8pLS4xKSxXPUJSKHYsa04oVy5pbmZvKS0uMSksVz1EJiZXKTpXPSExfWVsc2UgVz0hMTtXJiZuLkwuWFM/LlcoKX1pZihuLm1lZGlhU291cmNlKWlmKFc9Cm4uQWJ8fG4ubWVkaWFTb3VyY2Usdj1XLk4sRD1XLkosczdyKG4sbi5hdWRpb1RyYWNrKSxzN3IobixuLnZpZGVvVHJhY2spLGI9TjNDKG4pKXtpZihuLnBvbGljeS5lNCl7aWYoIXYuRDkoKSYmKFc9aVkobi5hdWRpb1RyYWNrKSkpe2lmKCF4YyhuLG4uYXVkaW9UcmFjayx2LFcuaW5mbykpcmV0dXJuO0xDKG4sbi5hdWRpb1RyYWNrLHYsVyl9aWYoIUQuRDkoKSYmKFc9aVkobi52aWRlb1RyYWNrKSkpe2lmKCF4YyhuLG4udmlkZW9UcmFjayxELFcuaW5mbykpcmV0dXJuO0xDKG4sbi52aWRlb1RyYWNrLEQsVyl9fW4ubXh8fChuLm14PSgwLGcuUikoKSxuLnBvbGljeS5XJiZuLlUoImFwZHBzIix7cjpifSkpfWVsc2V7aWYobi5teCl7Yj1uLm14O3ZhciBrPSgwLGcuUikoKS1iO2xldCBoPW4uYXVkaW9UcmFjay56cyghMCkqMUUzLHg9bi52aWRlb1RyYWNrLnpzKCEwKSoxRTM7bi5wb2xpY3kuVyYmKG4uVSgiYXBkcGUiLHtkdXI6ay50b0ZpeGVkKCksYWJ1ZjpoLnRvRml4ZWQoKSx2YnVmOngudG9GaXhlZCgpfSksCmR1KG4ucG9saWN5KSYmKGs9Tlcobi5JZyksbi5VKCJzZHBzIix7Y3Q6YixhaDpoLnRvRml4ZWQoKSx2aDp4LnRvRml4ZWQoKSxtcjpwdihuLklnLG4uT24sayksYnc6ay50b0ZpeGVkKCksanM6bi5pc1NlZWtpbmcoKSxyZTorbi5Pbixwczoobi5wb2xpY3kuTTV8fCIiKS50b1N0cmluZygpLHJuOihuLnBvbGljeS5EQ3x8IiIpLnRvU3RyaW5nKCl9KSkpO24ubXg9MH1uLlF1JiYoYj1uLlF1LmhUKG4uYXVkaW9UcmFjayxnLnd5KG4ubWVkaWFTb3VyY2UuSi5aRigpKSkpJiZuLkwuc2Vla1RvKGIse0E5OiEwLHFkOiJwb2xsU3Vic2VnbWVudFJlYWRhaGVhZCIscWE6ITB9KTtiPSExO3B6aChuLG4udmlkZW9UcmFjayxEKSYmKGI9ITAsRD1uLnRpbWluZyxELld8fChELlc9KDAsZy5SKSgpLGcuRUcoInZkYSIsRC5XLEQuelIpLEQuSiYmKGcuRHkoKSxiUSg0KSkpLEQ9bi50aW1pbmcsRC5WUXx8KEQuVlE9KDAsZy5SKSgpLGcuRUcoInZyYl9mIixELlZRLEQuelIpKSk7VyYmIVcuUEEoKSYmCihwemgobixuLmF1ZGlvVHJhY2ssdikmJihiPSEwLHY9bi50aW1pbmcsdi5KfHwodi5KPSgwLGcuUikoKSxnLkVHKCJhZGEiLHYuSix2LnpSKSx2LlcmJihnLkR5KCksYlEoNCkpKSx2PW4udGltaW5nLHYuWXx8KHYuWT0oMCxnLlIpKCksZy5FRygiYXJiX2YiLHYuWSx2LnpSKSkpLCFuLnFOKCkmJm4ubWVkaWFTb3VyY2UmJighbi5wb2xpY3kuVjYmJm1kKG4udmlkZW9UcmFjaykmJm1kKG4uYXVkaW9UcmFjaykmJm42KFcpJiYhVy55dSgpJiYodj1JJChuLmF1ZGlvVHJhY2spLlBKLHY9PT1uLkt1Lk5bdi5pbmZvLmlkXSYmKG4uTC5HKCkuV1goKSYmbi5MLlUoInNlcyIse2VvczoxfSksbjYoVykmJihXLm1lZGlhU291cmNlP1cubWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTpXLkVWLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKFcuRVYuRU9TX05PX0VSUk9SKSksdj1uLnNjaGVkdWxlLHNuKGUwKHYpKSx2LmNKPSgwLGcuUikoKSx2Lk89ITAsdj0odj1uLnZpZGVvVHJhY2suUEopJiZ2LmluZGV4IGluc3RhbmNlb2YKZ1M/di5pbmRleC5LOnZvaWQgMCxuLkwuRygpLlp0KCkuTi5RUShZSmIpP3Y9PT0iZW1zZyImJm4ucG0oImUiKTpuLnBtKCJlIikpKSxiJiYoVy5OPyFXLk4uc3VwcG9ydHMoMCk6IWFkKCkpJiZnLkFnKG4pKSl9fTsKSFBiPWZ1bmN0aW9uKG4pe24ucG9saWN5LlY2PSExO3RyeXtYYihuKX1jYXRjaChXKXtnLlhqKFcpfX07CmZteD1mdW5jdGlvbihuLFc9ITEpe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KJiYobi5tZWRpYVNvdXJjZS5OLk05KG4uTEwsbiksbi5tZWRpYVNvdXJjZS5KLk05KG4uTEwsbikpO0tyKG4uYXVkaW9UcmFjayxudWxsLFcpO0tyKG4udmlkZW9UcmFjayxudWxsLFcpO24ubWVkaWFTb3VyY2UmJihuLm1lZGlhU291cmNlLlY9ITEpO24ubWVkaWFTb3VyY2U9bnVsbDtuLkFiPW51bGw7bi5MLlhTPy5yZXNldCgpfTsKSjdpPWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdj0hMSl7S3Iobi52aWRlb1RyYWNrLFcuSnx8bnVsbCxiLHYpO0tyKG4uYXVkaW9UcmFjayxXLk58fG51bGwsYix2KTtuLm1lZGlhU291cmNlPVc7bi5tZWRpYVNvdXJjZS5WPSEwO0R8fG4ucmVzdW1lKCk7Vy5OLmgkKG4uTEwsbik7Vy5KLmgkKG4uTEwsbil9OwpJbWk9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSx2PSExKXtuLnBvbGljeS5UQyYmKG4ucG9saWN5LlZRJiZuLlUoImxvYWRlciIse3NldHNtYjowfSksbi56aSgpLG4ucG9saWN5LlRDPSExKTtmbXgobixiKTtpZighVy5YKCkpe3ZhciBrPWlZKG4udmlkZW9UcmFjayk7az1rP2suaW5mby5QSjpuLnZpZGVvVHJhY2suUEo7bGV0IGg9aVkobi5hdWRpb1RyYWNrKTtMS1UoVyxrLmluZm8sKGg/aC5pbmZvLlBKOm4uYXVkaW9UcmFjay5QSikuaW5mbyxuLnBvbGljeS5wUil9SjdpKG4sVyxELGIsdik7dHJ5e24uaFQoKX1jYXRjaChoKXtnLlhqKGgpfX07CnFtPWZ1bmN0aW9uKG4pe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuUEEoKSYmbi5LMSgpfTsKZ09DPWZ1bmN0aW9uKG4sVyl7VyYmR1gobi5MLG5ldyB0MihXLnZpZGVvLFcucmVhc29uKSk7bi5jVi5ISiYmKFc9WmV3KG4uY1YsImEiKSxuLkwuZ20obmV3IHQyKFcuYXVkaW8sVy5yZWFzb24pKSl9OwpBN3g9ZnVuY3Rpb24obil7bi5CdiYmIW4uaXNTdXNwZW5kZWQmJlRaKG4uc2NoZWR1bGUpJiYoU0paKG4sbi5Cdiksbi5Cdj0iIil9OwpzN3I9ZnVuY3Rpb24obixXKXtpWShXKT8uaXNMb2NrZWQmJm1CYihXKSYmKG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bXVubG9jazppWShXKT8uaW5mby5nYSgpfSksJGMobixXPT09bi5hdWRpb1RyYWNrKSl9OwpOM0M9ZnVuY3Rpb24obil7aWYodGRqKG4udmlkZW9UcmFjaykpcmV0dXJuInNzZiI7aWYobi5wb2xpY3kubnUmJmlZKG4udmlkZW9UcmFjayk/LmlzTG9ja2VkJiZpWShuLmF1ZGlvVHJhY2spPy5pc0xvY2tlZClyZXR1cm4idXBkYXRlRW5kIjtpZihpUyhuLmF1ZGlvVHJhY2spfHxpUyhuLnZpZGVvVHJhY2spJiZuLnZpZGVvVHJhY2suUEouaW5mby5JQiE9PSJmIilyZXR1cm4iIjtpZihuLlhhLmlzU2Vla2luZygpKXt2YXIgVz1uLklnO3ZhciBEPW4udmlkZW9UcmFjazt2YXIgYj1uLmF1ZGlvVHJhY2s7aWYoVy5wb2xpY3kuTil7dmFyIHY9Vy5wb2xpY3kuV2M7ZHUoVy5wb2xpY3kpJiYodj1wdihXLCExLE5XKFcpKSk7Vz12O0Q9Yi56cyghMCk+PVcmJkQuenMoITApPj1XfWVsc2UgRC5KLmxlbmd0aHx8Yi5KLmxlbmd0aD8odj1ELlBKLmluZm8uTnMrYi5QSi5pbmZvLk5zLHY9MTAqKDEtTlcoVykvdiksVz1NYXRoLm1heCh2LFcucG9saWN5LldjKSxEPWIuenMoITApPj1XJiZELnpzKCEwKT49ClcpOkQ9ITA7aWYoIUQpcmV0dXJuImFiciI7RD1uLnZpZGVvVHJhY2s7aWYoRC5KLmxlbmd0aD4wJiZELlcua2koKT09PTEmJkQuVy5XMigpLmluZm8uSzxELlZRKXJldHVybiJzZWVrIn1pZihuLnBvbGljeS5VMSYmJFgxKG4udmlkZW9UcmFjayxuLkpDKSYmJFgxKG4uYXVkaW9UcmFjayxuLkpDKSlyZXR1cm4ic3NkYWkiO0Q9IW4ucG9saWN5LnRNfHxuLmdldEN1cnJlbnRUaW1lKCk8MTA7bi5wb2xpY3kuTnx8KEQ9RHx8bi52aWRlb1RyYWNrLlBKLmluZm8udmlkZW8ucXVhbGl0eU9yZGluYWw+MzYwKTtpZighbi5Pbnx8RClyZXR1cm4iIjtEPW4ucG9saWN5LnRNO2R1KG4ucG9saWN5KSYmKEQ9cHYobi5JZyxuLk9uLE5XKG4uSWcpKSk7RD1YMHQobi52aWRlb1RyYWNrLG4uZ2V0Q3VycmVudFRpbWUoKSxEKXx8WDB0KG4uYXVkaW9UcmFjayxuLmdldEN1cnJlbnRUaW1lKCksRCk7cmV0dXJuIGR1KG4ucG9saWN5KT9EPyJtYm5tIjoiIjoobi52aWRlb1RyYWNrLkoubGVuZ3RoPjB8fApuLmF1ZGlvVHJhY2suSi5sZW5ndGg+MHx8anEobi5OeSxuLnZpZGVvVHJhY2ssbi5hdWRpb1RyYWNrKXx8anEobi5OeSxuLmF1ZGlvVHJhY2ssbi52aWRlb1RyYWNrKSkmJkQ/Im5vcmQiOiIifTsKeGM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9SSQoVyk7IXZ8fHYuYVp8fGJUKHYsYil8fChELmFib3J0KCksbi5wb2xpY3kuZkMmJlcuVj8uWSgpLFcuSz8uVigpKTtpZighRC5LcygpfHxWVCgpKXRyeXtuLnBvbGljeS5Kaz9ELm5hKGIuUEouaW5mby5jb250YWluZXJUeXBlLGIuUEouaW5mby5JQikmJkQuVm8oYi5QSi5pbmZvLmNvbnRhaW5lclR5cGUsYi5QSi5pbmZvLklCLGIuUEouaW5mby5taW1lVHlwZSk6RC5qbihiLlBKLmluZm8uY29udGFpbmVyVHlwZSxiLlBKLmluZm8ubWltZVR5cGUpfWNhdGNoKGspe3JldHVybiBnLkdxKGspLG4uVSgiY3RleHAiLHtuYW1lOmsubmFtZSxtc2c6ay5tZXNzYWdlfSksITF9ZWxzZSBiLlBKLmluZm8uY29udGFpbmVyVHlwZSE9PUQuS3MoKSYmbi5VKCJjdHUiLHtjdDpWVCgpLHByZXZfYzpELktzKCksY3Vycl9jOmIuUEouaW5mby5jb250YWluZXJUeXBlfSk7Yj1iLlBKLlY7bi5wb2xpY3kuRFQmJmImJihXPTArYi5kdXJhdGlvbixiPS1iLk4sCjA9PT1ELk1yKCkmJlc9PT1ELktGKCl8fEQuZTcoMCxXKSxiIT09RC5TVygpJiYoRC55TyhiKSxzNCYmbi5hdWRpb1RyYWNrLlcuQlcoRC5pdygpKSkpO3JldHVybiEwfTsKTEM9ZnVuY3Rpb24obixXLEQsYil7Yi5pbmZvLlBKLk4oKTt2YXIgdj1iLmluZm8uUEouSjtpZighdnx8IUQuam8oKXx8RC5EOSgpPT09dilyZXR1cm4hMTt2YXIgaz12LGg9RC5MRigpO2lmKG4ucG9saWN5LktvJiZoJiZELmlzVmlldygpJiZnLlJCKGIuaW5mby5QSi5pbmZvKSl7bGV0IEw9bmV3IERhdGFWaWV3KHYuYnVmZmVyLHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgpOyhoPVBJQyhMLGgpKT9rPW5ldyBVaW50OEFycmF5KGguYnVmZmVyLGguYnl0ZU9mZnNldCxoLmJ5dGVMZW5ndGgpOm4uVSgiZmVuYyIse30pfW4ucG9saWN5LmtwJiYoaD1LVGkobixiLG5ldyBTNShba10pKSkmJihrPXRSKGgpKTt2YXIgeDsoaD1iLmluZm8uUEouWSgwLGIuaW5mby5jbGlwSWQpKSYmKHg9aC5Bd1swXSk7aWYoYj09PW4uaDcpe2lmKG4uQzErPTEsbi5MLmdldFZpZGVvRGF0YSgpLlMoImh0bWw1X3Nob3J0c19nYXBsZXNzX3Jlc3RhcnRfb25faW5pdF9zZWdfcmV0cmllcyIpJiZuLkMxPjUpcmV0dXJuIG4uQzE9CjAsbi5MLkdtKHtpbml0U2VnU3R1Y2s6MSxhczpiLmluZm8uZ2EoKX0pLCEwfWVsc2Ugbi5DMT0wLG4uaDc9YjtuLnBvbGljeS54aiYmKEQuYWJvcnQoKSxXLks/LlYoKSk7bi5BYiYmRC5pUSgpJiYoRC5hYm9ydCgpLFcuSz8uVigpKTt2PU9QMihuLEQsayx4LHYpO1cuSz8uRCh2LHgpO2lmKHYhPT0wKXJldHVybiBuLnBvbGljeS5aTiYmQUoobi5MLmdldFZpZGVvRGF0YSgpKT8obi5MLm9BKCl8fHJTKG4sInNlcEluaXQiLHYsYi5pbmZvKSxQOVUobi5MLCJzaWUiKSk6clMobiwic2VwSW5pdCIsdixiLmluZm8pLCEwO2IuaW5mby5mWSgpPyhXPW4udGltaW5nLFcuVEN8fChXLlRDPSgwLGcuUikoKSxnLkVHKCJ2aXNfYSIsVy5UQyxXLnpSKSkpOihXPW4udGltaW5nLFcuVnx8KFcuVj0oMCxnLlIpKCksZy5FRygiYWlzX2EiLFcuVixXLnpSKSkpOyhiPWIuaW5mby5QSi5TVSkmJm4uTC5XbihuZXcgcnUoYi5rZXksYi50eXBlKSk7cmV0dXJuIEQueXUoKX07CnB6aD1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kubnUmJmlZKFcpPy5pc0xvY2tlZClyZXR1cm4hMTtpZihELkRjKCkpcmV0dXJuITA7aWYoIUQuam8oKSlyZXR1cm4hMTt2YXIgYj1pWShXKTtpZighYnx8Yi5pbmZvLnR5cGU9PT02KXJldHVybiExO2lmKG4ucG9saWN5LmllfHxuLkpDPy5PKFcsYi5pbmZvLmokKSluLkxvPTA7ZWxzZSByZXR1cm4gbi5YYS5pc1NlZWtpbmcoKSYmZy5BZyhuKSxuLkxvPW4uTG98fCgwLGcuUikoKSwhMTtpZigheGMobixXLEQsYi5pbmZvKSlyZXR1cm4hMTtpZihuLkt1LlcmJmIuaW5mby5OPT09MCl7dmFyIHY7aWYoRC5EOSgpPT1udWxsKXt2YXIgaz1JJChXKTtpZighKHY9IWt8fGsuUEohPT1iLmluZm8uUEopKXtiOmlmKHY9ay5PLGs9Yi5pbmZvLk8sdi5sZW5ndGghPT1rLmxlbmd0aCl2PSExO2Vsc2V7Zm9yKGxldCBoPTA7aDx2Lmxlbmd0aDtoKyspaWYoIXY0KHZbaF0sa1toXSkpe3Y9ITE7YnJlYWsgYn12PSEwfXY9IXZ9fWVsc2Ugdj1ELkQ5KCksCmIuaW5mby5QSi5TJCgpJiZETyhiKSxrPWIuaW5mby5QSi5KLHY9diE9PWsmJiF2NCh2LGspO3YmJihrPUkkKFcpLG4uVSgiaW5pdGNoZyIse2l0OmIuaW5mby5QSi5pbmZvLmlkLHNyOiEhayYmay5QSj09PWIuaW5mby5QSix0eTpiLmluZm8udHlwZSxzZWc6Yi5pbmZvLmokfSkpO2s9Zy5SQihiLmluZm8uUEouaW5mbyk7bi5wb2xpY3kubWgmJmsmJiF2JiYoZy5SQihiLmluZm8uUEouaW5mbyk/KEdqKGcuV1IoYiksMTgzNjAxOTU3NCksR2ooZy5XUihiKSwxNzE4OTA5Mjk2KSk6KHY9bmV3IHRZKGcuV1IoYikpLE9ZKHYpLHNZKHYsNTI0NTMxMzE3LCEwKSxiLko9Yi5KLnNwbGl0KHYuc3RhcnQrdi5wb3MpLlk5KSxiLlY9ITEpfWs9bi5RdSYmISFuLlF1LlgmJlcuUEouaW5mby5hdWRpbzt2PW4uS3UuaXNNYW5pZmVzdGxlc3N8fGIuVjtpZighKG4uS3UuVyYmYi5pbmZvLk4hPT0wfHx2JiYhaykmJkxDKG4sVyxELGIpKXJldHVybiEwO2lmKGspcmV0dXJuITE7az1PYihuLFcpO2s9bi5nZXRDdXJyZW50VGltZSgpKwprO2lmKGIuaW5mby5YPmspcmV0dXJuIG4ucG9saWN5Lk4mJihXPT09bi52aWRlb1RyYWNrP24uYzc9bi5jN3x8KDAsZy5SKSgpOm4uTno9bi5Oenx8KDAsZy5SKSgpKSwhMTtXPT09bi52aWRlb1RyYWNrP24uYzc9MDpuLk56PTA7bi5wb2xpY3kuVTUmJkQ9PT1uLm1lZGlhU291cmNlPy5OJiZuLk9MJiYoRC5mRigpPT09MD8obi5PTD0hMSxuLnBvbGljeS5VNT0hMSk6bi5HSj1ELmZGKCkpO2lmKCFaUGoobixELGIsVykpcmV0dXJuITE7bi5wb2xpY3kubnUmJmIuaW5mby5WKCk/KG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bHM6Yi5pbmZvLmdhKCl9KSxiLmlzTG9ja2VkPSEwKTooVy5aJChiKSxQQzIobi5jVixiLmluZm8pKTt2JiYoVz1iLmluZm8uUEouU1UpJiZuLkwuV24obmV3IHJ1KFcua2V5LFcudHlwZSkpO3JldHVybiEwfTsKWlBqPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uTC5HKCkuWnQoKS5OLlFRKFVCYikmJkQuaW5mby5OJiYhVy5pUSgpKXJldHVybiBuLlUoImRyb3BfY2h1bmsiLHtzcTpELmluZm8uaiQsc3Q6RC5pbmZvLlh9KSwhMDt2YXIgdj1uLnBvbGljeS5SYT8oMCxnLlIpKCk6MCxrPUQuViYmRC5pbmZvLlBKLkp8fHZvaWQgMCxoPUQuSjtELlYmJihoPUtUaShuLEQsaCl8fGgpO3ZhciB4PXRSKGgpO2g9bi5wb2xpY3kuUmE/KDAsZy5SKSgpOjA7Vz1PUDIobixXLHgsRC5pbmZvLGspO2IuSz8uWShELmluZm8sVyxoLXYsKDAsZy5SKSgpLWgpO24uQzE9MDtpZihXPT09MClyZXR1cm4gbi5aRCYmKG4uWkQ9ITEsbi5xTz0hMSksbi5hQT0wLCEwO2lmKFc9PT0yfHxXPT09NSlyZXR1cm4gclMobiwiY2hlY2tlZCIsVyxELmluZm8pLCExO2lmKFc9PT0xKXtpZighbi5aRClyZXR1cm4gbi5aRD0hMCwhMTtpZighbi5xTylyZXR1cm4gbi5xTz0hMCxuLkwuc2Vla1RvKG4uZ2V0Q3VycmVudFRpbWUoKSx7cWQ6InF1b3RhRXhjZWVkZWQiLApxYTohMH0pLCExO0QuaW5mby5mWSgpPyhiPW4ucG9saWN5LGIuZSQ9TWF0aC5mbG9vcihiLmUkKi44KSxiLk89TWF0aC5mbG9vcihiLk8qLjgpKTooYj1uLnBvbGljeSxiLnZKPU1hdGguZmxvb3IoYi52SiouOCksYi5PPU1hdGguZmxvb3IoYi5PKi44KSk7bi5wb2xpY3kuTj9XbChuLms2LEQuaW5mby5QSik6YXEobi5jVixELmluZm8uUEopfW4uTC5HbSh7cmVhdHRhY2hPbkFwcGVuZDpXfSk7cmV0dXJuITF9OwpLVGk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO2lmKGI9bi5wb2xpY3kua3AmJm4ubWVkaWFTb3VyY2UmJiFuLm1lZGlhU291cmNlLk8mJiFuLkwuUHAoKSlXPVcuaW5mby5QSi5pbmZvLGI9Vy5xSCgpJiZXLlgoKSYmVy52aWRlbyYmVy52aWRlby53aWR0aDwzODQwJiZXLnZpZGVvLndpZHRoPlcudmlkZW8uaGVpZ2h0O2lmKGImJihuLm1lZGlhU291cmNlLk89ITAsZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MC4wOC4wMS4wMS4wMS4wMS4wMCI7IHdpZHRoPTM4NDA7IGhlaWdodD0yMTYwJykpKXJldHVybiBEPUROMShEKSxuLnBvbGljeS5XJiZuLlUoInNwNGsiLHtzOiEhRH0pLER9OwpPUDI9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkFifHxuLm1lZGlhU291cmNlO3RyeXtsZXQgaD1XPT09ay5OP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7aWYobi5wb2xpY3kubnUmJmI/LlYoKSl7aWYoYj8udHc+MSlyZXR1cm4gNjtoLmJkPW5ldyBnLmZfKCgpPT57dmFyIHg9aVkoaCk7bi5xTigpfHwheD8uaXNMb2NrZWQ/bi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHtkZWxheUE6eD8uaW5mby5nYSgpfSk6bUJiKGgpPyhuLkwuRygpLldYKCkmJm4uVSgiZW9zbCIse2R1bmxvY2s6eD8uaW5mby5nYSgpfSksJGMobixoPT09bi5hdWRpb1RyYWNrKSk6KG4uVSgibnVlIix7bHM6eC5pbmZvLmdhKCl9KSx4LmluZm8udHcrPTEsbi5tZWRpYVNvdXJjZSYmWGIobikpfSwxRTQsbik7Cm4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7ZGVsYXlTOmIuZ2EoKX0pO2guYmQuc3RhcnQoKX1uLnBvbGljeS5zMyYmYj8uUEogaW5zdGFuY2VvZiBkdCYmYi5WKCkmJm4uVSgicG9zZW9zIix7aXRhZzpiLlBKLmluZm8uaXRhZyxzZWc6Yi5qJCxsc2VnOmIuUEouaW5kZXgueCQoKSxlczpiLlBKLmluZGV4Lkt9KTtXLmFwcGVuZEJ1ZmZlcihELGIsdil9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbil7aWYoaC5uYW1lPT09IkludmFsaWRTdGF0ZUVycm9yInx8aC5jb2RlPT09MTEpcmV0dXJuIG4uTC5HKCkuV1goKSYmbi5VKCJhZWlzIix7bXNnOmcudXAoaC5tZXNzYWdlLDMpfSksMjtpZihoLm5hbWU9PT0iU3ludGF4RXJyb3IifHxoLmNvZGU9PT0xMilyZXR1cm4gNTtpZihoLm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yInx8aC5jb2RlPT09MjJ8fGgubWVzc2FnZS5pbmRleE9mKCJOb3QgZW5vdWdoIHN0b3JhZ2UiKT09PTApcmV0dXJuIFc9T2JqZWN0LmFzc2lnbih7bmFtZToiUXVvdGFFeGNlZWRlZEVycm9yIiwKYnVmZmVyZWQ6cmsoVy5aRigpKS5yZXBsYWNlKC8sL2csIl8iKSx2aGVhcDpuLnZpZGVvVHJhY2suUnUoKSxhaGVhcDpuLmF1ZGlvVHJhY2suUnUoKSxtZXNzYWdlOmcudXAoaC5tZXNzYWdlLDMpLHRyYWNrOms/Vz09PWsuSj8idiI6ImEiOiJ1In0saFF4KCkpLG4uaGFuZGxlRXJyb3IoInBsYXllci5leGNlcHRpb24iLFcpLDE7Zy5YaihoKX1yZXR1cm4gNH1yZXR1cm4gay5QQSgpPzM6MH07CnJTPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSJmbXQudW5wbGF5YWJsZSIsaz0xO0Q9PT01fHxEPT09Mz8odj0iZm10LnVucGFyc2VhYmxlIixuLnBvbGljeS5OPyFiLlBKLmluZm8udmlkZW98fHdDKG4uazYuTikuc2l6ZT4wfHxXbChuLms2LGIuUEopOiFiLlBKLmluZm8udmlkZW98fHdDKG4uY1Yuaikuc2l6ZT4wfHxhcShuLmNWLGIuUEopKTpEPT09MiYmKG4uYUE8MTU/KG4uYUErKyx2PSJodG1sNS5pbnZhbGlkc3RhdGUiLGs9MCk6dj0iZm10LnVucGxheWFibGUiKTtiPVh4KGIpO2IubXJzPW4ubWVkaWFTb3VyY2U/LlcoKTtiLm9yaWdpbj1XO2IucmVhc29uPUQ7Yi50cmc9ImFwcGVuZGVyciI7bi5oYW5kbGVFcnJvcih2LGIsayl9OwpOMj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uS3U7dmFyIGg9bi5wb2xpY3kuTix4PSExLEw9LTE7Zm9yKGxldCByIGluIGsuTil7dmFyIGU9ay5OW3JdLmluZm8uTigpfHxrLk5bcl0uaW5mby5mWSgpO2lmKGI9PT1lKWlmKGU9ay5OW3JdLmluZGV4LGUuTUkoVy5qJCkpe3t4PWU7dmFyIEc9VztsZXQgTj14LlcoRy5qJCk7TiYmTi5zdGFydFRpbWUhPT1HLnN0YXJ0VGltZT8oeC5zZWdtZW50cz1bXSx4LmooRykseD0hMCk6eD0hMX14P0w9Vy5qJDohVy5wZW5kaW5nJiZoJiYoRz1lLmdldER1cmF0aW9uKFcuaiQpLEchPT1XLmR1cmF0aW9uJiYoay5XSigiY2xpZW50dGVtcCIsIm1mbGR1clVwZGF0ZSIse2l0YWc6ay5OW3JdLmluZm8uaXRhZyxzZWc6Vy5qJCxvZDpHLG5kOlcuZHVyYXRpb259LCExKSxlLmooVykseD0hMCkpfWVsc2UgZS5qKFcpLHg9ITB9TD49MCYmay5XSigiY2xpZW50dGVtcCIsInJlc2V0TWZsSW5kZXgiLHtbYj8idiI6ImEiXTpMfSwhMSk7az14O0FhMihuLlhhLApXLGIsayk7bi5wb2xpY3kuRHx8bi5KQy5SMChXLEQsYix2KTtXLmokPT09bi5LdS5JdCYmayYmdUEobi5LdSkmJlcuc3RhcnRUaW1lPnVBKG4uS3UpJiYobi5LdS5KVT1XLnN0YXJ0VGltZSsoaXNOYU4obi50aW1lc3RhbXBPZmZzZXQpPzA6bi50aW1lc3RhbXBPZmZzZXQpLG4uWGEuaXNTZWVraW5nKCkmJm4uWGEudGFyZ2V0VGltZTxuLkt1LkxmKCkmJm4uWGEuc2VlayhuLkt1LkxmKCkse30pKX07CiRjPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kubnUmJm4ubWVkaWFTb3VyY2Upe3ZhciBEPVc/bi5tZWRpYVNvdXJjZT8uTjpuLm1lZGlhU291cmNlPy5KO2xldCBiPVc/bi5hdWRpb1RyYWNrOm4udmlkZW9UcmFjaztXPWlZKGIpO1c/LmlzTG9ja2VkJiYobi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHt1bmxvY2s6Vy5pbmZvLmdhKCl9KSxiLmJkPy5zdG9wKCksVy5pc0xvY2tlZD0hMSxiLlokKFcpLFBDMihuLmNWLFcuaW5mbyksRD1EPy5aZygpLEQ/LmdhKCkhPT1XLmluZm8uZ2EoKSYmbi5VKCJvdWUiLHtibHM6RD8uZ2EoKSx0bHM6Vy5pbmZvLmdhKCl9KSl9fTsKU0paPWZ1bmN0aW9uKG4sVyl7cVcoVywiY21zIixEPT57bi5wb2xpY3kuVyYmbi5VKCJwYXRocHJvYmUiLEQpfSxEPT57bi5MLmhhbmRsZUVycm9yKEQpfSl9Owp5N2k9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiZuLm1lZGlhU291cmNlLkomJihXLT1pc05hTihuLnRpbWVzdGFtcE9mZnNldCk/MDpuLnRpbWVzdGFtcE9mZnNldCxpc05hTihuLlE1KXx8bi5RNT09PVd8fG4ucmVzdW1lKCksbi5RNT1XKX07CkVPaD1mdW5jdGlvbihuLFcsRCxiKXtkaihuKSYmbi5ETyYmYiYmYj09PTk2JiYoYj1EP24uTC5sSyhXKTpXLG4uZnAoYil8fG4uRE8uTnx8bi5VKCJwcmVidWZmZXIiLHttaXNzOjEsdDpXLnRvRml4ZWQoMyksaXNVdGM6RH0pKX07CmlQUz1mdW5jdGlvbihuLFcpe3ZhciBEPVNxKG4udmlkZW9UcmFjaykuZmluZChiPT5iLnNlZ21lbnRTdGFydFRpbWU+PVcmJlh6aChuLGIuc2VnbWVudFN0YXJ0VGltZSwhMSkpOwpyZXR1cm4gRCYmRC5zZWdtZW50U3RhcnRUaW1lPFcrRC5XKjEuNT9ELnNlZ21lbnRTdGFydFRpbWUrLjE6MH07Cm1CYj1mdW5jdGlvbihuKXt2YXIgVz1pWShuKT8uaW5mbztyZXR1cm4hV3x8bi5mcChNYXRoLm1pbihXLlgrc1gsVy5qKSl9Owp1M3g9ZnVuY3Rpb24obil7aWYoIShuLmxlbmd0aDw9MjgpKWZvcih2YXIgVz0oMCxnLk5tKShbNjAsMCw3NSwwLDczLDAsNjgsMCw2MiwwXSksRD0yODtEPG4ubGVuZ3RoOyl7YTppZihuLmxlbmd0aC1EPFcubGVuZ3RoKXZhciBiPSExO2Vsc2V7Zm9yKGI9MDtiPFcubGVuZ3RoOysrYilpZihuW0QrYl0hPT1XW2JdKXtiPSExO2JyZWFrIGF9Yj0hMH1pZihiKXtEKz1XLmxlbmd0aDtpZihuLmxlbmd0aDw9RCs0OClicmVhaztXPW5ldyBVaW50OEFycmF5KDI0KTtmb3IoYj0wO2I8MjQ7KytiKVdbYl09bltEK2IqMl07bj1wUihXKTtuPWxwKG4pO2lmKCFuKWJyZWFrO0Q9blswXTtuWzBdPW5bM107blszXT1EO0Q9blsxXTtuWzFdPW5bMl07blsyXT1EO0Q9bls0XTtuWzRdPW5bNV07bls1XT1EO0Q9bls2XTtuWzZdPW5bN107bls3XT1EO3JldHVybiBufUQrK319OwpvT3g9ZnVuY3Rpb24obixXKXthOnt2YXIgRD1XLmNyeXB0b1BlcmlvZEluZGV4O2lmKGlzTmFOKEQpJiZuLlcuc2l6ZT4wKUQ9ITA7ZWxzZXtmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKWlmKGIuY3J5cHRvUGVyaW9kSW5kZXg9PT1EKXtEPSEwO2JyZWFrIGF9RD0hMX19bi5XSigibG9nX3FvZSIse3d2YWd0OiJyZXFuZXdzIixjYW5za2lwOkR9KTtEfHxuLldKKCJyb3RhdGVkX25lZWRfa2V5X2luZm9fcmVhZHkiLFcpfTsKZEJoPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJEUk1fVFJBQ0tfVFlQRV9BVURJTyI6cmV0dXJuIDE7Y2FzZSAiRFJNX1RSQUNLX1RZUEVfU0QiOnJldHVybiAyO2Nhc2UgIkRSTV9UUkFDS19UWVBFX0hEIjpyZXR1cm4gMztjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQxIjpyZXR1cm4gNDtjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQyIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfX07ClQzaD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPW4uc3RhdHVzPT09IkxJQ0VOU0VfU1RBVFVTX09LIj8wOjk5OTksYj1udWxsO2lmKG4ubGljZW5zZSl0cnl7Yj1scChuLmxpY2Vuc2UpfWNhdGNoKHYpe2cuWGoodil9aWYoRD09PTAmJiFiKXJldHVybiBudWxsO2I9bmV3IHpEWihELGIpO0QhPT0wJiZuLnJlYXNvbiYmKGIuZXJyb3JNZXNzYWdlPW4ucmVhc29uKTtpZihuLmF1dGhvcml6ZWRGb3JtYXRzKXtEPXt9O2xldCB2PVtdLGs9e307Zm9yKGxldCBoIG9mIG4uYXV0aG9yaXplZEZvcm1hdHMpe2lmKCFoLnRyYWNrVHlwZXx8IWgua2V5SWQpY29udGludWU7VyYmYi5KLnB1c2goe3RyYWNrVHlwZTpkQmgoaC50cmFja1R5cGUpLGlzSGRyOiEhaC5pc0hkcn0pO2xldCB4PWxtVVtoLnRyYWNrVHlwZV07aWYoeCl7eD09PSJIRCImJm4uaXNIZDcyMCYmKHg9IkhENzIwIik7aC5pc0hkciYmKHgrPSJIRFIiKTtEW3hdfHwodi5wdXNoKHgpLERbeF09ITApO2xldCBMPW51bGw7dHJ5e0w9bHAoaC5rZXlJZCl9Y2F0Y2goZSl7Zy5YaihlKX1MJiYKKGtbZy5FQShMLDQpXT14KX19Yi5XPXY7Yi5OPWt9bi5uZXh0RmFpcnBsYXlLZXlJZCYmKGIubmV4dEZhaXJwbGF5S2V5SWQ9bi5uZXh0RmFpcnBsYXlLZXlJZCk7bi5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJihiLnNhYnJMaWNlbnNlQ29uc3RyYWludD1scChuLnNhYnJMaWNlbnNlQ29uc3RyYWludCkpO3JldHVybiBifTsKajdqPWZ1bmN0aW9uKG4sVyxEKXtuLm9uU3VjY2Vzcz1XO24ub25FcnJvcj1EfTsKQzl4PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXt0aW1lb3V0OjNFNCxvblN1Y2Nlc3M6az0+e2lmKCFuLnFOKCkpaWYoZy5hTCgiZHJtX25ldF9yIix2b2lkIDAsbi50aW1lciksaz1UM2goayxuLkopKW4ub25TdWNjZXNzKGssbi5yZXF1ZXN0TnVtYmVyKTtlbHNlIG4ub25FcnJvcihuLCJkcm0ubmV0IiwidC5wO3AuaSIpfSwKb25FcnJvcjprPT57aWYoIW4ucU4oKSlpZihrJiZrLmVycm9yKWs9ay5lcnJvcixuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLGB0LnI7cC5pO2MuJHtrLmNvZGV9O3MuJHtrLnN0YXR1c31gLGsuY29kZSk7ZWxzZSBuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLCJ0LnI7cC5pO2MubiIpfSwKb25UaW1lb3V0OigpPT57bi5vbkVycm9yKG4sImRybS5uZXQiLGBydC5yZXEuJHtuLnJlcXVlc3ROdW1iZXJ9YCl9fTsKYiYmKHYuUDE9YEJlYXJlciAke2J9YCk7Zy5JSShELCJwbGF5ZXIvZ2V0X2RybV9saWNlbnNlIixXLHYpfTsKcEM9ZnVuY3Rpb24obixXLEQ9ITEpe2cuVEMoVyk7KER8fG4uQi5XWCgpKSYmbi5XSigiY3RtcCIsImRybWxvZyIsVyl9OwpCM3g9ZnVuY3Rpb24obil7dmFyIFc9bi5iYXNlVXJsO2hBaShXKXx8bi5lcnJvcigiZHJtLm5ldCIsMiwidC54Iik7aWYoIWcubGYoVywiZmV4cCIpKXtsZXQgRD1bIjIzODk4MzA3IiwiMjM5MTQwNjIiLCIyMzkxNjEwNiIsIjIzODgzMDk4Il0uZmlsdGVyKGI9Pm4uQi5leHBlcmltZW50cy5leHBlcmltZW50c1tiXSk7CkQubGVuZ3RoPjAmJihuLmouZmV4cD1ELmpvaW4oKSl9Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uaikpVz1LUzEoVyxELG4ualtEXSk7cmV0dXJuIFd9Owp3enI9ZnVuY3Rpb24obixXKXt2YXIgRD1udWxsO3RyeXtEPVcuY3JlYXRlU2Vzc2lvbihuLlksYj0+e3BDKG4se206Yn0pfSksRlR0KG4sRCl9Y2F0Y2goYil7Vz0idC5nIixiIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtjLiR7Yi5jb2RlfWApLG4uV0ooImxpY2Vuc2VlcnJvciIsImRybS51bmF2YWlsYWJsZSIsMSxXLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIpfXJldHVybiBEfTsKRlR0PWZ1bmN0aW9uKG4sVyl7TTliKFcsKEQsYik9PntSRGoobixELGIpfSwoRCxiLHYpPT57bi5xTigpfHwoYj12b2lkIDAsZy5YVihuLkopJiZnLkRmKG4uQikmJm4uQi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJnY9PT0xMjEyNDMzMjMyJiYoYj0iRVJST1JfSERDUCIpLG4uZXJyb3IoImRybS5rZXllcnJvciIsMSxELGIpKX0sKCk9PntuLnFOKCl8fChwQyhuLHtvbmt5YWRkOjF9KSxuLmNKfHwobi5XSigic2Vzc2lvbnJlYWR5Iiksbi5jSj0hMCkpfSxEPT57bi5ZVihEKX0pfTsKUkRqPWZ1bmN0aW9uKG4sVyxEKXtpZighbi5xTigpKWlmKFcpe3BDKG4se29ua210eXA6RH0pO24uc3RhdHVzPSJrbSI7c3dpdGNoKEQpe2Nhc2UgImxpY2Vuc2UtcmVuZXdhbCI6Y2FzZSAibGljZW5zZS1yZXF1ZXN0IjpjYXNlICJsaWNlbnNlLXJlbGVhc2UiOmJyZWFrO2Nhc2UgImluZGl2aWR1YWxpemF0aW9uLXJlcXVlc3QiOlE3MihuLFcpO3JldHVybjtkZWZhdWx0Om4uV0ooImN0bXAiLCJtZXNzYWdlX3R5cGUiLHt0OkQsbDpXLmJ5dGVMZW5ndGh9KX1uLnR3fHwoZy5hTCgiZHJtX2drX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uiksbi50dz0hMCxuLldKKCJuZXdzZXNzaW9uIixuKSk7aWYoTE4obi5KKSYmKFc9VjlpKFcpLCFXKSlyZXR1cm47dmFyIGI9ITE7aWYobi5CLlp0KCkuTi5RUShZYykpdHJ5e2I9bWsoVyx3T1opLnR5cGU9PT00fWNhdGNoKHYpe3BDKG4se2NlcnRfY2hlY2tfZmFpbGVkOjF9LCEwKX1pZihiJiZuLmRoPy5jZXJ0aWZpY2F0ZSl7cEMobix7Y2VydF9jYWNoZV9oaXQ6MX0sCiEwKTsrK24ucmVxdWVzdE51bWJlcjtsZXQgdj1uLmRoLmNlcnRpZmljYXRlO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntjN3IobixuZXcgekRaKDAsdiksYil9KX1lbHNlIFc9bmV3IGFtcihXLCsrbi5yZXF1ZXN0TnVtYmVyLG4udmlkZW9EYXRhLnpSLG4uQi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikpLGo3aihXLHY9PntjN3Iobix2LGIpfSwodixrLGgpPT57aWYoIW4ucU4oKSl7dmFyIHg9MDsKdi5OLko+PTMmJih4PTEsaz0iZHJtLm5ldC5yZXRyeWV4aGF1c3RlZCIpO3BDKG4se29ubGNzcnFlcnI6ayxpbmZvOmh9KTtuLmVycm9yKGsseCxoKTtuLnNob3VsZFJldHJ5KGoyKHgpLHYpJiZuUXcobix2KX19KSxnLnUobixXKSxXZzIobixXKX1lbHNlIG4uZXJyb3IoImRybS51bmF2YWlsYWJsZSIsMSwia20uZW1wdHkiKX07ClE3Mj1mdW5jdGlvbihuLFcpe3BDKG4se3NkcHZycToxfSk7bi5WPXBlcmZvcm1hbmNlLm5vdygpO2lmKG4uSi5mbGF2b3IhPT0id2lkZXZpbmUiKW4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuZmxhdm9yO2YuJHtuLkouZmxhdm9yfTtsLiR7Vy5ieXRlTGVuZ3RofWApO2Vsc2V7dmFyIEQ9e2NwbjpuLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlfTtPYmplY3QuYXNzaWduKEQsbi5CLk4pO0Q9Zy5FVCgiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY2VydGlmaWNhdGVwcm92aXNpb25pbmcvdjEvZGV2aWNlY2VydGlmaWNhdGVzL2NyZWF0ZT9rZXk9QUl6YVN5Qi01T0xLVHgyaVU1bWtvMThEZmR3SzU2MTFKSWpiVWhFIixEKTtXPXtmb3JtYXQ6IlJBVyIsaGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkpTT04uc3RyaW5naWZ5KHtzaWduZWRSZXF1ZXN0OlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwKVyl9KSxyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIn07Zy5zeihELFcsMyw1MDApLnRoZW4oWXooYj0+e2I9Yi54aHI7aWYoIW4ucU4oKSl7Yj1uZXcgVWludDhBcnJheShiLnJlc3BvbnNlKTt2YXIgdj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7dHJ5e3ZhciBrPUpTT04ucGFyc2Uodil9Y2F0Y2goaCl7fWsmJmsuc2lnbmVkUmVzcG9uc2U/KG4uV0ooImN0bXAiLCJkcm1pbmZvIix7cHJvdmlzaW9uaW5nOjF9KSxrPShwZXJmb3JtYW5jZS5ub3coKS1uLlYpLzFFMyxuLlY9TmFOLG4uV0ooImN0bXAiLCJwcm92cyIse2V0OmsudG9GaXhlZCgzKX0pLG4uWCYmbi5YLnVwZGF0ZShiKSk6KGs9ayYmay5lcnJvciYmay5lcnJvci5tZXNzYWdlLGI9ImUucGFyc2UiLGsmJihiKz1gO20uJHtrfWApLG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYikpfX0pLFl6KGI9PntuLnFOKCl8fG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuJHtiLmVycm9yQ29kZX07Yy4ke2IueGhyJiYKYi54aHIuc3RhdHVzfWApfSkpfX07CmM3cj1mdW5jdGlvbihuLFcsRCl7bi5xTigpfHwoKHBDKG4se29ubGNzcnNwOjF9KSxuLnN0YXR1cz0icnIiLFcuc3RhdHVzQ29kZSE9PTApP24uZXJyb3IoImRybS5hdXRoIiwxLGB0LmY7Yy4ke1cuc3RhdHVzQ29kZX1gLFcuZXJyb3JNZXNzYWdlfHx2b2lkIDApOihEJiZuLmRoJiZuLkIuWnQoKS5OLlFRKFljKSYmKG4uZGguY2VydGlmaWNhdGU9Vy5tZXNzYWdlKSxnLmFMKCJkcm1fa3JfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKSxXLmhlYXJ0YmVhdFBhcmFtcyYmVy5oZWFydGJlYXRQYXJhbXMudXJsJiZuLnZpZGVvRGF0YS5TKCJvdXRlcnR1YmVfc3RyZWFtaW5nX2RhdGFfYWx3YXlzX3VzZV9zdGFnaW5nX2xpY2Vuc2Vfc2VydmljZSIpJiYoRD1uLkouVy5tYXRjaCgvKC4qKXlvdXR1YmUuY29tL2cpKSYmKFcuaGVhcnRiZWF0UGFyYW1zLnVybD1EWzBdK1cuaGVhcnRiZWF0UGFyYW1zLnVybCksVy5oZWFydGJlYXRQYXJhbXMmJm4uV0ooIm5ld2xpY2Vuc2UiLFcuaGVhcnRiZWF0UGFyYW1zKSwKVy5XJiYobi5XPVcuVyxuLnZpZGVvRGF0YS5hTXx8bi5XSigibmV3bGljZW5zZSIsbmV3IERiaiksbi52aWRlb0RhdGEuYU09ITAsbi5LPWcub00obi5XLGI9PmIuaW5jbHVkZXMoIkhEUiIpKSksVy5KJiYobi5EPVcuSiksVy5OJiYobi5CLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5KLk4oKT8oRD1nLkVBKHhLKG4uZmFpcnBsYXlLZXlJZCksNCksbi5OW0RdPXt0eXBlOlcuTltEXSwKc3RhdHVzOiJ1bmtub3duIn0pOm4uTj1XeChXLk4sYj0+KHt0eXBlOmIsc3RhdHVzOiJ1bmtub3duIn0pKSksZzEobi5KKSYmKFcubWVzc2FnZT1hMjIoZy5FQShXLm1lc3NhZ2UpKSksbi5YJiYocEMobix7dXBkdGtzOjF9KSxuLnN0YXR1cz0ia3UiLG4uWC51cGRhdGUoVy5tZXNzYWdlKS50aGVuKCgpPT57Zy5hTCgiZHJtX2tyX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uik7CkhyKG4pfHwocEMobix7a3NBcGlVbnN1cDoxfSksbi5XSigia2V5c3RhdHVzZXNjaGFuZ2UiLG4pKX0sYj0+e2I9YG1zdWYucmVxLiR7bi5yZXF1ZXN0TnVtYmVyfTttc2cuJHtnLnVwKGIubWVzc2FnZSwzKX1gOwpuLmVycm9yKCJkcm0ua2V5ZXJyb3IiLDEsYil9KSksZy5YVihuLkopJiZuLldKKCJmYWlycGxheV9uZXh0X25lZWRfa2V5X2luZm8iLG4uYmFzZVVybCxXLm5leHRGYWlycGxheUtleUlkKSxuLkIuUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZuLkouTigpJiZuLldKKCJxdWFsaXR5Y2hhbmdlIixibWgobi5XKSksVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJm4uV0ooInNhYnJsaWNlbnNlY29uc3RyYWludCIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpKSl9OwpXZzI9ZnVuY3Rpb24obixXKXtuLnN0YXR1cz0ia20iO2cuYUwoImRybV9uZXRfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKTt2YXIgRD1uZXcgZy5kNChuLkIuU1YpLGI9e2NvbnRleHQ6Zy5VSihELmNvbmZpZ198fGcuUzkoKSl9O2IuZHJtU3lzdGVtPXZRQ1tuLkouZmxhdm9yXTtiLnZpZGVvSWQ9bi52aWRlb0RhdGEudmlkZW9JZDtiLmNwbj1uLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlO2Iuc2Vzc2lvbklkPW4uc2Vzc2lvbklkO2IubGljZW5zZVJlcXVlc3Q9Zy5FQShXLm1lc3NhZ2UpO2IuZHJtUGFyYW1zPW4udmlkZW9EYXRhLmRybVBhcmFtcztpc05hTihuLmNyeXB0b1BlcmlvZEluZGV4KXx8KGIuaXNLZXlSb3RhdGVkPSEwLGIuY3J5cHRvUGVyaW9kSW5kZXg9bi5jcnlwdG9QZXJpb2RJbmRleCk7dmFyIHY9ISFuLnZpZGVvRGF0YS5KPy5LKCk/LmlzSGRyKCk7Yi5kcm1WaWRlb0ZlYXR1cmU9dj8iRFJNX1ZJREVPX0ZFQVRVUkVfUFJFRkVSX0hEUiI6IkRSTV9WSURFT19GRUFUVVJFX1NEUiI7Cm4uQi5leHBlcmltZW50cy5adCgpLk4uUVEoa1RiKSYmKGIuY29udGV4dD1nLm9UKG4udmlkZW9EYXRhKSk7aWYoYi5jb250ZXh0JiZiLmNvbnRleHQuY2xpZW50KXtpZih2PW4uQi5OKWIuY29udGV4dC5jbGllbnQuZGV2aWNlTWFrZT12LmNicmFuZCxiLmNvbnRleHQuY2xpZW50LmRldmljZU1vZGVsPXYuY21vZGVsLGIuY29udGV4dC5jbGllbnQuYnJvd3Nlck5hbWU9di5jYnIsYi5jb250ZXh0LmNsaWVudC5icm93c2VyVmVyc2lvbj12LmNicnZlcixiLmNvbnRleHQuY2xpZW50Lm9zTmFtZT12LmNvcyxiLmNvbnRleHQuY2xpZW50Lm9zVmVyc2lvbj12LmNvc3ZlcjtuLkIuZXhwZXJpbWVudHMuWnQoKS5OLlFRKGtUYil8fChiLmNvbnRleHQudXNlcj1iLmNvbnRleHQudXNlcnx8e30sbi52aWRlb0RhdGEuRCYmKGIuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOm4udmlkZW9EYXRhLkQsc2NvcGU6IlZJREVPIn1dKSxuLnZpZGVvRGF0YS5ISiYmKGIuY29udGV4dC51c2VyLmtpZHNQYXJlbnQ9CntvYXV0aFRva2VuOm4udmlkZW9EYXRhLkhKfSkpO2IuY29udGV4dC5yZXF1ZXN0PWIuY29udGV4dC5yZXF1ZXN0fHx7fTtiLmNvbnRleHQucmVxdWVzdC5tZHhFbnZpcm9ubWVudD1uLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudHx8Yi5jb250ZXh0LnJlcXVlc3QubWR4RW52aXJvbm1lbnQ7Zy5YVihuLkopJiYoYi5mYWlycGxheUtleUlkPWcuRUEoeEsobi5mYWlycGxheUtleUlkKSkpO2cuSEUobi5CLG4udmlkZW9EYXRhLlYoKSkudGhlbihrPT57Qzl4KFcsYixELGspO24uc3RhdHVzPSJycyJ9KX1lbHNlIG4uZXJyb3IoImRybS5uZXQiLDIsInQucjtpYy4wIil9OwpoOE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2IuaXNIZHI9Vy5pbmNsdWRlcygiSERSIik7c3dpdGNoKFcucmVwbGFjZSgiSERSIiwiIikucmVwbGFjZSgiNzIwIiwiIikpe2Nhc2UgIkFVRElPIjpiLnRyYWNrVHlwZT0xO2JyZWFrO2Nhc2UgIlNEIjpiLnRyYWNrVHlwZT0yO2JyZWFrO2Nhc2UgIkhEIjpiLnRyYWNrVHlwZT0zO2JyZWFrO2Nhc2UgIlVIRDEiOmIudHJhY2tUeXBlPTQ7YnJlYWs7Y2FzZSAiVUhEMiI6Yi50cmFja1R5cGU9NTticmVhaztkZWZhdWx0OmIudHJhY2tUeXBlPTB9IWIudHJhY2tUeXBlfHxEW1ddfHxIcihuKSYmIWZDKG4sVyl8fChuLmF1dGhvcml6ZWRGb3JtYXRzLnB1c2goYiksRFtXXT0hMCl9Owp4Ymo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobi5OKSlELnB1c2goYCR7Yn1fJHtuLk5bYl0udHlwZX1fJHtuLk5bYl0uc3RhdHVzfWApO3JldHVybiBELmpvaW4oVyl9OwpIcj1mdW5jdGlvbihuKXt2YXIgVztpZihXPW4uTyYmbi5YIT1udWxsKW49bi5YLFc9ISghbi5OfHwhbi5OLmtleVN0YXR1c2VzKTtyZXR1cm4gV307Cm5Rdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuTi5nZXRWYWx1ZSgpO0Q9bmV3IGcuZl8oKCk9PntXZzIobixXKX0sRCk7CmcudShuLEQpO0Quc3RhcnQoKTtnLnhFKFcuTik7cEMobix7cnR5cnE6MX0pfTsKSjI9ZnVuY3Rpb24obil7dmFyIFc9e307V1tuLnN0YXR1c109SHIobik/eGJqKG4sIi4iKTpuLlcuam9pbigiLiIpO3JldHVybiBXfTsKZkM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbi5OKWlmKG4uTltEXS5zdGF0dXM9PT0idXNhYmxlIiYmbi5OW0RdLnR5cGU9PT1XKXJldHVybiEwO3JldHVybiExfTsKTGd3PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4uTilpZihuLk5bRF0udHlwZT09PVcpcmV0dXJuIG4uTltEXS5zdGF0dXN9OwplOHc9ZnVuY3Rpb24obil7dmFyIFc9blswXTtuWzBdPW5bM107blszXT1XO1c9blsxXTtuWzFdPW5bMl07blsyXT1XO1c9bls0XTtuWzRdPW5bNV07bls1XT1XO1c9bls2XTtuWzZdPW5bN107bls3XT1XfTsKYm1oPWZ1bmN0aW9uKG4pe3JldHVybiBnLmpqKG4sIlVIRDIiKXx8Zy5qaihuLCJVSEQySERSIik/ImhpZ2hyZXMiOmcuamoobiwiVUhEMSIpfHxnLmpqKG4sIlVIRDFIRFIiKT8iaGQyMTYwIjpnLmpqKG4sIkhEIil8fGcuamoobiwiSERIRFIiKT8iaGQxMDgwIjpnLmpqKG4sIkhENzIwIil8fGcuamoobiwiSEQ3MjBIRFIiKT8iaGQ3MjAiOiJsYXJnZSJ9OwpWOWk9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0yKVcrPVN0cmluZy5mcm9tQ2hhckNvZGUobltEXSk7bj1nLmdUKG5ldyBET01QYXJzZXIsZy5ITShXKSwidGV4dC94bWwiKTtpZighbilyZXR1cm4gbnVsbDsoVz1uLnF1ZXJ5U2VsZWN0b3IoIkNoYWxsZW5nZSIpKSYmVy5jaGlsZE5vZGVzJiZXLmNoaWxkTm9kZXMubGVuZ3RoIT09MD8obj1VaW50OEFycmF5LFc9emgoVy5jaGlsZE5vZGVzWzBdLm5vZGVWYWx1ZSksVz0oMCxnLk5tKShXKS5idWZmZXIsbj1uZXcgbihXKSk6bj1udWxsO3JldHVybiBufTsKTTliPWZ1bmN0aW9uKG4sVyxELGIsdil7bi5qPVc7bi5XPUQ7bi5WPWI7bi5LPXZ9OwpnUXc9ZnVuY3Rpb24obil7bi5OPyhuLlguTk4obi5OLCJtZXNzYWdlIixuLmJkKSxuLlguTk4obi5OLCJrZXlzdGF0dXNlc2NoYW5nZSIsbi5ZViksbi5OLmNsb3NlZCYmbi5OLmNsb3NlZC50aGVuKFl6KCgpPT57bi5xTigpfHxnLnViKCJ4Ym94b25lIikmJm4uVyYmbi5XKCJjbG9zZWRTaG91bGROb3RSZXRyeSIpfSksbnVsbCkpOm4uSiYmKEt5KG4uWCxuLkosWyJtc2tleW1lc3NhZ2UiLAoid2Via2l0a2V5bWVzc2FnZSJdLG4uY0opLEt5KG4uWCxuLkosWyJtc2tleWVycm9yIiwid2Via2l0a2V5ZXJyb3IiXSxuLk8pLEt5KG4uWCxuLkosWyJtc2tleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLkQpKX07ClhVUz1mdW5jdGlvbihuLFcsRCl7Zy5YaihEKTtuLlcmJihEIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtuLiR7RC5uYW1lfTttLiR7RC5tZXNzYWdlfWApLG4uVyhXKSl9OwpxY1U9ZnVuY3Rpb24obil7S3kobi5YLG4uZWxlbWVudCxbImtleW1lc3NhZ2UiLCJ3ZWJraXRrZXltZXNzYWdlIl0sbi5PKTtLeShuLlgsbi5lbGVtZW50LFsia2V5ZXJyb3IiLCJ3ZWJraXRrZXllcnJvciJdLG4uRCk7S3kobi5YLG4uZWxlbWVudCxbImtleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLlkpfTsKR1RTPWZ1bmN0aW9uKG4sVz1udWxsKXtpZihuLk4ua2V5U3lzdGVtQWNjZXNzKXJldHVybiBuLks9bi5LLnRoZW4oKCk9Pm4ubWVkaWFLZXlzP1Byb21pc2UucmVzb2x2ZSgpOlc/Lm1lZGlhS2V5cyYmVy5ZYT8ucGcoKT8obi5tZWRpYUtleXM9Vz8ubWVkaWFLZXlzLFByb21pc2UucmVzb2x2ZSgpKTpuLk4ua2V5U3lzdGVtQWNjZXNzLmNyZWF0ZU1lZGlhS2V5cygpLnRoZW4oRD0+e24ucU4oKXx8KG4ubWVkaWFLZXlzPUQsVz8uWWE/LnBnKCkmJihXLm1lZGlhS2V5cz1EKSl9KSkudGhlbigoKT0+e3ZhciBEPVc/LmVfKCk7CnJldHVybiBuLmVsZW1lbnQmJm4uZWxlbWVudCE9PUQmJm4uZWxlbWVudC5tZWRpYUtleXM/bi5lbGVtZW50LnNldE1lZGlhS2V5cyhudWxsKTpQcm9taXNlLnJlc29sdmUoKX0pLnRoZW4oKCk9PntuLmVsZW1lbnQ9Vz8uZV8oKTsKcmV0dXJuIG4uZWxlbWVudCYmbi5lbGVtZW50Lm1lZGlhS2V5cyE9PW4ubWVkaWFLZXlzP24uZWxlbWVudC5zZXRNZWRpYUtleXMobi5tZWRpYUtleXMpOlByb21pc2UucmVzb2x2ZSgpfSksbi5LOwp4aChuLk4pP24uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pOmVUKG4uTik/KG4uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pLG4uZWxlbWVudD8ud2Via2l0U2V0TWVkaWFLZXlzKG4uSikpOnFjVShuKTtyZXR1cm4gbnVsbH07CnR3TT1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KDI3MCk7Zm9yKGxldCBiPTA7YjwxMzU7YisrKURbYioyXT0nPFBsYXlSZWFkeUNETURhdGEgdHlwZT0iTGljZW5zZUFjcXVpc2l0aW9uIj48TGljZW5zZUFjcXVpc2l0aW9uIHZlcnNpb249IjEuMCIgUHJvYWN0aXZlPSJ0cnVlIj48L0xpY2Vuc2VBY3F1aXNpdGlvbj48L1BsYXlSZWFkeUNETURhdGE+Jy5jaGFyQ29kZUF0KGIpO249bi5KLmNyZWF0ZVNlc3Npb24oInZpZGVvL21wNCIsVyxEKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsbil9OwpySTE9ZnVuY3Rpb24obixXKXtXPSRiWihXLG4uTi5DaSk7Vz1uLkouY3JlYXRlU2Vzc2lvbigidmlkZW8vbXA0IixXKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsVyxuLlYpfTsKUzA9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmpbVy5zZXNzaW9uSWRdOyFEJiZuLlcmJihEPW4uVyxuLlc9bnVsbCxELnNlc3Npb25JZD1XLnNlc3Npb25JZCxuLmpbVy5zZXNzaW9uSWRdPUQpO3JldHVybiBEfTsKJGJaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5zdWJhcnJheSg0KTtEPW5ldyBVaW50MTZBcnJheShELmJ1ZmZlcixELmJ5dGVPZmZzZXQsRC5ieXRlTGVuZ3RoLzIpO0Q9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEQpLm1hdGNoKC9laz0oWzAtOWEtZl0rKS8pWzFdO3ZhciBiPSIiO2Zvcih2YXIgdj0wO3Y8RC5sZW5ndGg7dis9MiliKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KEQuc3Vic3RyaW5nKHYsdisyKSwxNikpO0Q9YjtiPW5ldyBBcnJheUJ1ZmZlcihELmxlbmd0aCoyKTt2PW5ldyBVaW50MTZBcnJheShiKTtmb3IodmFyIGs9MDtrPEQubGVuZ3RoO2srKyl2W2tdPUQuY2hhckNvZGVBdChrKTtEPW5ldyBVaW50OEFycmF5KGIpO2I9MDtrPW5ldyBBcnJheUJ1ZmZlcihuLmJ5dGVMZW5ndGgrNCtELmJ5dGVMZW5ndGgrNCtXLmJ5dGVMZW5ndGgpO3Y9bmV3IFVpbnQ4QXJyYXkoayk7az1uZXcgRGF0YVZpZXcoayk7di5zZXQobik7Yis9bi5ieXRlTGVuZ3RoOwprLnNldFVpbnQzMihiLEQubGVuZ3RoLCEwKTtiKz00O3Yuc2V0KEQsYik7Yis9RC5sZW5ndGg7ay5zZXRVaW50MzIoYixXLmJ5dGVMZW5ndGgsITApO3Yuc2V0KFcsYis0KTtyZXR1cm4gdn07Ck5vQz1mdW5jdGlvbihuKXt2YXIgVz1HVFMobi5tZWRpYUtleXMsbi5tZWRpYUVsZW1lbnQpO1c/Vy50aGVuKFl6KCgpPT57c0lNKG4pfSksWXooRD0+e2lmKCFuLnFOKCkpe2cuWGooRCk7CnZhciBiPSJ0LmEiO0QgaW5zdGFuY2VvZiBET01FeGNlcHRpb24mJihiKz0iO24uIitELm5hbWUrIjttLiIrRC5tZXNzYWdlKTtuLldKKCJsaWNlbnNlZXJyb3IiLCJkcm0udW5hdmFpbGFibGUiLDEsYiwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siKX19KSk6KG4uSih7bWRrcmR5OjF9KSxuLkQ9ITApOwpuLk8mJihXPUdUUyhuLk8sbi5tZWRpYUVsZW1lbnQpKX07CnNJTT1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uQi5TKCJodG1sNV9kcm1fc2V0X3NlcnZlcl9jZXJ0Iil8fG4uTi5OKCkpe2xldCBXPW4ubWVkaWFLZXlzLnNldFNlcnZlckNlcnRpZmljYXRlKCk7Vz9XLnRoZW4oWXooRD0+e24uQi5XWCgpJiZuLldKKCJjdG1wIiwic3NjIix7c3VjY2VzczpEfSl9KSxZeihEPT57bi5XSigiY3RtcCIsInNzY2UiLHtuOkQubmFtZSwKbTpELm1lc3NhZ2V9KX0pKS50aGVuKFl6KCgpPT57QTIobil9KSk6QTIobil9ZWxzZSBBMihuKX07ClljMT1mdW5jdGlvbihuLFcsRCl7bi5QWD0hMDtEPW5ldyBydShXLEQpO24uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmKG4uVi5nZXQoVyl8fG4uVi5zZXQoVyxEKSk7cFVqKG4sRCl9OwpwVWo9ZnVuY3Rpb24obixXKXtpZighbi5xTigpKXtuLkooe29uSW5pdERhdGE6MX0pO2lmKG4uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBEPW4uSy5nZXQoVy5pbml0RGF0YSk7Vz1uLlYuZ2V0KFcuaW5pdERhdGEpO2lmKCFEfHwhVylyZXR1cm47Vz1EO0Q9Vy5pbml0RGF0YTtuLlYucmVtb3ZlKEQpO24uSy5yZW1vdmUoRCl9bi5KKHtpbml0ZDpXLmluaXREYXRhLmxlbmd0aCxjdDpXLmNvbnRlbnRUeXBlfSk7aWYobi5OLmZsYXZvcj09PSJ3aWRldmluZSIpaWYobi5WUSYmIW4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrKW1uKG4pO2Vsc2V7aWYoIShuLkIuUygidnA5X2RybV9saXZlIikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZXLnFIKSl7bi5WUT0hMDtEPVcuY3J5cHRvUGVyaW9kSW5kZXg7dmFyIGI9Vy5OO1Z2dChXKTtXLnFIfHwoYiYmVy5OIT09Yj9uLldKKCJjdG1wIiwiY3BzbW0iLHtlbXNnOmIsCnBzc2g6Vy5OfSk6RCYmVy5jcnlwdG9QZXJpb2RJbmRleCE9PUQmJm4uV0ooImN0bXAiLCJjcGltbSIse2Vtc2c6RCxwc3NoOlcuY3J5cHRvUGVyaW9kSW5kZXh9KSk7bi5XSigid2lkZXZpbmVfc2V0X25lZWRfa2V5X2luZm8iLFcpfX1lbHNlIG4uUyQoVyl9fTsKbW49ZnVuY3Rpb24obil7aWYobi5QWCYmbi5EJiYhbi5iZCl7Zm9yKDtuLlgubGVuZ3RoOyl7bGV0IFc9bi5YWzBdLEQ9SG1TKG4pP2NraihXKTpnLkVBKFcuaW5pdERhdGEpO2lmKG4uTi5OKCkmJiFXLlVXKW4uWC5zaGlmdCgpO2Vsc2V7aWYobi5XLmdldChEKSlpZihuLk4uZmxhdm9yIT09ImZhaXJwbGF5Inx8bi5OLk4oKSl7bi5YLnNoaWZ0KCk7Y29udGludWV9ZWxzZSBuLlcuZGVsZXRlKEQpO1Z2dChXKTticmVha319bi5YLmxlbmd0aCYmbi5jcmVhdGVTZXNzaW9uKG4uWFswXSl9fTsKQTI9ZnVuY3Rpb24obil7bi5xTigpfHwobi5EPSEwLG4uSih7b25tZGtyZHk6MX0pLG1uKG4pKX07CkhtUz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmZsYXZvcj09PSJ3aWRldmluZSImJm4udmlkZW9EYXRhLlMoImh0bWw1X2RybV9jcGlfbGljZW5zZV9rZXkiKX07CmY1eD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmQ4KCkmJm4ubWVkaWFLZXlzLm1lZGlhS2V5cz8uZ2V0TWV0cmljcyl7dmFyIFc9YXdhaXQgbi5tZWRpYUtleXMuZ2V0TWV0cmljcygpO1cmJigoMCxnLkc5KShXKXx8KFc9Zy5IRyhXKSksL15bQS1aYS16MC05Xy1dKz17MCwzfSQvLnRlc3QoVyl8fChXPWcudXAoVyx2b2lkIDAsITApKSxuLldKKCJjdG1wIiwiZHJtIix7bWV0cmljczpXfSkpfX07CkpJYj1mdW5jdGlvbihuLFcpe2lmKG4udmlkZW9EYXRhLlkpcmV0dXJuITE7bi55US5udSs9MTtpZihuLnlRLm51PD0xMClyZXR1cm4hMTtXLmV4aWxlZD1gJHtuLnlRLm51fWA7bi5HcygicW9lLnN0YXJ0MTVzIixXKTtuLkwuV0ooInBsYXliYWNrc3RhbGxlZGF0c3RhcnQiKTtyZXR1cm4hMH07Ckk1Mj1mdW5jdGlvbihuKXtpZighbi5KKXtuLko9ITA7dmFyIFc9bi5MLmdldFBsYXllclN0YXRlKCk7Vz1XLmlzUGF1c2VkKCl8fFcuaXNTdXNwZW5kZWQoKTtuLkwub0ooKTtXJiYhT1Mobi52aWRlb0RhdGEpfHxuLkwuV0ooInNpZ25hdHVyZWV4cGlyZWQiKX19OwpLQz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi52aWRlb0RhdGEuSix2PW4udmlkZW9EYXRhLlgsaz1uLnlRLlMoImh0bWw1X2Rpc2FibGVfY29kZWNfZmFsbGJhY2tfZm9yX2RybSIpJiZuLnZpZGVvRGF0YS5NaSgpO0FKKG4uTC5nZXRWaWRlb0RhdGEoKSkmJlA5VShuLkwsInBlIik7bi55US5adCgpLk4uUVEoU2N0KSYmKEQuYmtnPW4uTC5YTygpLmlzQmFja2dyb3VuZCgpPyIxIjoiMCIpO2lmKChXPT09InByb2dyZXNzaXZlLm5ldC5yZXRyeWV4aGF1c3RlZCJ8fFc9PT0iZm10LnVucGxheWFibGUifHxXPT09ImZtdC5kZWNvZGUiKSYmIW4uTC5oVS5qJiZiJiZiLml0YWc9PT0iMjIiKXJldHVybiBuLkwuaFUuaj0hMCxuLkdzKCJxb2UucmVzdGFydCIse3JlYXNvbjoiZm10LnVucGxheWFibGUuMjIifSksbi5MLlZ2KCksITA7dmFyIGg9ITE7aWYobi52aWRlb0RhdGEuaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCl7aWYoaD1uLnZpZGVvRGF0YS5xdylELm1pbWVUeXBlPWgudHlwZSwKbi5VKCIzcHAiLHt1cmw6aC51cmx9KTtELm5zPSIzcHAiO24uTC5QVihXLDEsIlZJREVPX1VOQVZBSUxBQkxFIixnLlRDKChuZXcgZy5DaShXLEQsMSkpLmRldGFpbHMpKTtyZXR1cm4hMH12YXIgeD1uLmtzKzNFNDwoMCxnLlIpKCl8fG4uTi5pc0FjdGl2ZSgpO2lmKG4ueVEuUygiaHRtbDVfZW1wdHlfc3JjIikmJm4udmlkZW9EYXRhLmlzQWQoKSYmVz09PSJmbXQudW5wbGF5YWJsZSImJi9FbXB0eSBzcmMvLnRlc3QoYCR7RC5tc2d9YCkpcmV0dXJuIEQub3JpZ2luPSJlbXB0eXNyYyIsbi5HcygiYXV0aCIsRCksITA7dmFyIEw7aWYoTD0heClMPW4uTC5YTygpLEw9ISEoTC5CUCgpfHxMLmlzSW5saW5lKCl8fEwuaXNCYWNrZ3JvdW5kKCl8fEwuQW4oKXx8TC5qSSgpfHxMLlNJKCl8fEwuUTAoKSk7TCYmKEQubm9uZmc9InBhdXNlZCIseD0hMCxuLkwucGF1c2VWaWRlbygpKTtXIT09ImZtdC5kZWNvZGUiJiZXIT09ImZtdC51bnBsYXlhYmxlInx8IXY/LlYoKXx8KFNUKG4ueVEuVyx2LklCKSwKRC5hY2ZhbGxleHA9di5JQixoPXg9ITApOyF4JiZuLlc+MCYmKG4uTi5zdGFydCgpLHg9ITAsRC5kZWxheWVkPSIxIiwtLW4uVyk7dj1uLkwubG9hZGVyO3h8fCFiPy5NVygpJiYhYj8uWCgpfHxrfHwoU1Qobi55US5XLGIuSUIpLGg9eD0hMCxELmNmYWxsZXhwPWIuSUIpO2lmKCF4KXJldHVybiBKSWIobixEKTtrPSExO24uaj9uLmtzPSgwLGcuUikoKTprPW4uaj0hMDt4PW4udmlkZW9EYXRhO3guY0o/KHg9eC5jSi5qKCksTD1EYXRlLm5vdygpLzFFMysxODAwLHg9eDxMKTp4PSExO0QuZT1XO3gmJihELnN0YWxlcHJvZz0iMSIpO24uR3MoInFvZS5yZXN0YXJ0IixEKTtpZih4JiZuLlExKCkpcmV0dXJuIEk1MihuKSwhMDtpZighKCFnLnViKCJwaGlsaXBzIil8fFc9PT0iZm10LnVucGxheWFibGUiJiZ2JiZ2LkNIfHxuLnlRLk4uY3BsYXRmb3JtPT09IkdBTUVfQ09OU09MRSIpKXRyeXt3aW5kb3cuY2xvc2UoKX1jYXRjaHt9YiYmYi5NVygpJiYhbi55US5TKCJodG1sNV9hbGxvd19hdjFfcmV0cnlfaW5fc2Vzc2lvbiIpPwooaD1uLnlRLlcsaC5ZPSEwLGg9aC5OPSEwKTp2PyhXPW4ueVEuUygiaHRtbDVfZGlzYWJsZV9zdHVubmluZ19mb3Jfc2QiKSxEPW4udmlkZW9EYXRhLlcsRD1EPy52aWRlb0luZm9zPy5sZW5ndGg/RC52aWRlb0luZm9zW0QudmlkZW9JbmZvcy5sZW5ndGgtMV06bnVsbCxiPWImJkQmJmIudmlkZW8mJkQudmlkZW8mJmIudmlkZW8ucXVhbGl0eU9yZGluYWw9PT1ELnZpZGVvLnF1YWxpdHlPcmRpbmFsLGt8fFcmJmJ8fChiPShiPUkkKHYudmlkZW9UcmFjayl8fHYudmlkZW9UcmFjay5OKT9iLlBKOnYudmlkZW9UcmFjay5QSixiLkZGKz0xLHYucG9saWN5Lk4/V2wodi5rNixiLCEwKTphcSh2LmNWLGIsITApKSk6bi52aWRlb0RhdGEuY0omJm4udmlkZW9EYXRhLmNKLlgoKTtuLk4uaXNBY3RpdmUoKXx8bi5MLkJvKGgpO3JldHVybiEwfTsKQUlNPWZ1bmN0aW9uKG4sVyl7aWYoKG49bi5MLmg1KCkpJiYoVy5lcnJvckNvZGU9PT0iZm10LnVucGxheWFibGUifHxXLmVycm9yQ29kZT09PSJodG1sNS5pbnZhbGlkc3RhdGUiKSl7bGV0IEQ9bi5WRygpO1cuZGV0YWlscy5tZXJyPUQ/RC50b1N0cmluZygpOiIwIjtXLmRldGFpbHMubW1zZz1uLnM4KCl9fTsKbWJNPWZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yQ29kZT09PSJuZXQuYmFkc3RhdHVzIiYmKG4uc2V2ZXJpdHk9PT0xfHwhIW4uZGV0YWlscy5mbXRfdW5hdil9OwpLZ3g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi55US5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIikmJlcuZGV0YWlscy5yYz09PTQwM3x8Vy5kZXRhaWxzLnJjPT09IjQwMyI/KG49Vy5lcnJvckNvZGUsbj09PSJuZXQuYmFkc3RhdHVzInx8bj09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiKTohMX07Ck9YPWZ1bmN0aW9uKG4sVyxEKXt0cnl7Vz17ZGV0YWlsOmBwci4ke1d9YH0sZy54NihuLnlRKXx8bG8obi55USk9PT0iVFZIVE1MNV9GT1JfS0lEUyI/bi5MLlBWKCJxb2UucmVzdGFydCIsRD8xOjIsdm9pZCAwLGcuVEMoVyksIjciKToobi5HcygicW9lLnJlc3RhcnQiLFcpLHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSl9Y2F0Y2h7fX07Ck9tMj1mdW5jdGlvbihuLFcpe2lmKCFLZ3gobixXKSYmIW4uSilyZXR1cm4hMTtXLmRldGFpbHMuc3RzPSIyMDY1NSI7aWYobi5RMSgpKXJldHVybiBqMihXLnNldmVyaXR5KSYmKFc9T2JqZWN0LmFzc2lnbih7ZTpXLmVycm9yQ29kZX0sVy5kZXRhaWxzKSxXPW5ldyBnLkNpKCJxb2UucmVzdGFydCIsVykpLG4uR3MoVy5lcnJvckNvZGUsVy5kZXRhaWxzKSxJNTIobiksITA7KDAsZy5SKSgpLW4ueVEuQ3U+NjA0OEU1JiZPWChuLCJzaWduYXR1cmUiLCEwKTtyZXR1cm4hMX07ClBNaj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YS5lcnJvckRldGFpbD09PSI3IiYmZy5rNihuLnlRKSl7bGV0IFc9IW4udmlkZW9EYXRhLmlzSW5saW5lUGxheWJhY2tOb0FkO1cmJm4ueVEuVFErKztPWChuLCJpbm5lcnR1YmVfcGxheWVyX3JlbG9hZF9yZXF1aXJlZCIsVyYmbi55US5UUT4xKTtyZXR1cm4hMH1yZXR1cm4hMX07ClByPWZ1bmN0aW9uKG4sVz0iZm10Lm5vbmVhdmFpbGFibGUiKXt2YXIgRD1uLnlRLlc7RC5LPSExO0QuTj0hMDtuLkdzKCJxb2UucmVzdGFydCIse2U6VyxkZXRhaWw6ImhkciJ9KTtuLkwuQm8oITApfTsKWm1oPWZ1bmN0aW9uKG4pe2lmKG4uTC5YTygpLmlzSW5saW5lKCkpcmV0dXJuIFlaO249TGdbcDcoKV07cmV0dXJuIHZBKCJhdXRvIixuLCExLCJzIil9Owp5SXI9ZnVuY3Rpb24obixXKXt2YXIgRDthOmlmKChEPVcuTikmJkQudmlkZW9JbmZvcy5sZW5ndGgpe2Zvcih2YXIgYiBvZiBELnZpZGVvSW5mb3MpaWYoYi5qPy5zbW9vdGgpe0Q9Yi52aWRlby5xdWFsaXR5T3JkaW5hbDticmVhayBhfUQ9RC52aWRlb0luZm9zWzBdLnZpZGVvLnF1YWxpdHlPcmRpbmFsfWVsc2UgRD0wO2I9ITA7bi5CLlMoIndlYl9yZWxheF9hcm1fY2FwIikmJm5hdmlnYXRvci5KRiYmKGI9ITEpO2ImJihnLnViKCJhcm12NyIpfHxnLnViKCJhYXJjaDY0Iil8fGcudWIoImFuZHJvaWQiKSkmJiFnLms2KG4uQikmJlcuTi52aWRlb0luZm9zWzBdLlgoKSYmKEQ9TWF0aC5taW4oRCxORy5sYXJnZSkpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2NoaXBzZXRfc29mdF9jYXAiKTtiPjAmJihEPU1hdGgubWluKEQsYikpO2I9bi5CLncwKCkuTi5RUShVYlMpO2I+MCYmKEQ9TWF0aC5taW4oRCxiKSk7aWYoYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb24iKSl7bGV0IGg9CjQzMjA7Zm9yKHZhciB2PTA7djxXLk4udmlkZW9JbmZvcy5sZW5ndGg7disrKXt2YXIgaz1XLk4udmlkZW9JbmZvc1t2XTtrLnZpZGVvLmhlaWdodD5iJiYoaD1NYXRoLm1pbihoLGsudmlkZW8ucXVhbGl0eU9yZGluYWwpKX1pZihoPDQzMjApe3Y9MDtmb3Ioaz0wO2s8Vy5OLnZpZGVvSW5mb3MubGVuZ3RoO2srKyl7bGV0IHg9Vy5OLnZpZGVvSW5mb3Nba10udmlkZW8ucXVhbGl0eU9yZGluYWw7eDxoJiYodj1NYXRoLm1heCh2LHgpKX12JiYoRD1NYXRoLm1pbih2LEQpKX1uLkwuVSgibXZyIix7aDpiLGNwOkR9KX1yZXR1cm4gbmV3IGIzKDAsRCwhMSwibyIpfTsKaW1yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9NDMyMDshbi5CLmp8fGcuQ04obi5CKXx8bi5CLlMoImhsc19mb3Jfdm9kIil8fG4uQi5TKCJtd2ViX3JlbW92ZV8zNjBwX2NhcCIpfHwoRD1ORy5tZWRpdW0pO3ZhciBiPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwIik7YiYmVy5OLk4oKSYmKG4uQi5TKCJodG1sNV9hbHdheXNfYXBwbHlfZGVmYXVsdF9xdWFsaXR5X2NhcCIpfHwhVy52aWRlb0RhdGEuaTUmJiFXLnZpZGVvRGF0YS5jb250ZW50UHJvdGVjdGlvbikmJihEPU1hdGgubWluKEQsYikpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXAiKTt2YXIgdj0vW2EtaF0kLztiJiZ2LnRlc3QoVy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSkmJihEPU1hdGgubWluKEQsYikpO2lmKHY9Yj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfaGZyX3F1YWxpdHlfY2FwIikpYTp7dj1XLk47aWYodi5OKCkpZm9yKHZhciBrIG9mIHYudmlkZW9JbmZvcylpZihrLnZpZGVvLkooKSl7dj0KITA7YnJlYWsgYX12PSExfXYmJihEPU1hdGgubWluKEQsYikpOyhrPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9saXZlX3F1YWxpdHlfY2FwIikpJiZXLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEQ9TWF0aC5taW4oRCxrKSk7RD1FUU0obixXLEQpO249Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIik7cmV0dXJuIG5ldyBiMygwLEQ9PT00MzIwPzA6RCwhMSwiZCIsbil9OwpaVj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTC5YTygpO3JldHVybiBELmlzSW5saW5lKCkmJiFXLnVuY2FwSW5saW5lUXVhbGl0eT9uZXcgYjMoMCw0ODAsITEsInYiKTpnLllOKFcpP1laOkQuaXNCYWNrZ3JvdW5kKCkmJmcudkkoKS8xRTM+NjAmJiFnLms2KG4uQik/bmV3IGIzKDAsMzYwLCExLCJ2Iik6WVp9OwpVWD1mdW5jdGlvbihuLFcsRCl7aWYobi5CLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIikmJlcuaHEoKXx8Zy5rNihuLkIpJiYocDcoLTEpPj0xMDgwfHxXLm9zaWQpKXJldHVybiBZWjt2YXIgYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcCIpLHY9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2F1dG9uYXZfY2FwX2lkbGVfc2VjcyIpO3JldHVybiBiJiZXLmlzQXV0b25hdiYmZy52SSgpLzFFMz52PyhEJiYoYj1FUU0obixELGIpKSxuZXcgYjMoMCxiLCExLCJlIikpOllafTsKeTM9ZnVuY3Rpb24obixXKXtpZighVy5OLk4oKSlyZXR1cm4gbi5qP25ldyBiMygwLDM2MCwhMSwiYiIpOllaO3ZhciBEPSExLGI9ITE7Zm9yKHZhciB2IG9mIFcuTi52aWRlb0luZm9zKXYuTVcoKT9EPSEwOmI9ITA7RD1EJiZiO2I9MDt2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3IiKTt2PW4uQi5qPzI0MDp2O2ZvcihsZXQgayBvZiBXLk4udmlkZW9JbmZvcyl7aWYoRCYmay5NVygpKWNvbnRpbnVlO1c9VkMoay5JQixrLnZpZGVvLmZwcyxuLlcpO2xldCBoPWsudmlkZW8ucXVhbGl0eU9yZGluYWw7aWYoTWF0aC5tYXgoVyx2KT49aCl7Yj1oO2JyZWFrfX1yZXR1cm4gbmV3IGIzKDAsYiwhMSwiYiIpfTsKaW09ZnVuY3Rpb24obixXKXt2YXIgRD1FWChuLFcuTj8udmlkZW9JbmZvcyksYj1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7cmV0dXJuIGI+MSYmRD8obj1KeihuLkIuVyxXLk4udmlkZW9JbmZvcyxiKSxuZXcgYjMoMCxuLCEwLCJvIikpOm5ldyBiMygwLDAsITEsIm8iKX07CnVtPWZ1bmN0aW9uKG4sVyxEKXtnLms2KG4uQikmJihEPUQuY29tcG9zZShuLk1oKFcpKSk7cmV0dXJuIER9OwpFWD1mdW5jdGlvbihuLFcpe3JldHVybiBXJiZnLms2KG4uQik/Vy5zb21lKEQ9PkQudmlkZW8uSigpKTohMX07CkVRTT1mdW5jdGlvbihuLFcsRCl7aWYobi5TKCJodG1sNV9vcHRpbWFsaXR5X2RlZmF1bHRzX2Nob29zZXNfbmV4dF9oaWdoZXIiKSYmRClmb3Iobj1XLk4udmlkZW9JbmZvcyxXPTE7VzxuLmxlbmd0aDtXKyspaWYobltXXS52aWRlby5xdWFsaXR5T3JkaW5hbDxEKXJldHVybiBuW1ctMV0udmlkZW8ucXVhbGl0eU9yZGluYWw7cmV0dXJuIER9Owp1aWo9YXN5bmMgZnVuY3Rpb24obil7aWYoIW4uTi5OKCl8fHR5cGVvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2F3YWl0IFByb21pc2UucmVzb2x2ZSgpO2ZvcihsZXQgVyBvZiBuLk4udmlkZW9JbmZvcylhd2FpdCBrM3IoVyl9OwpvUTI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLklCLGI9Vy52aWRlby5mcHMsdj1XLnZpZGVvLnF1YWxpdHlPcmRpbmFsLTEsaz1uLlc7Vz1gJHtEfSR7Yj40OT8icDYwIjpiPjMyPyJwNDgiOiIifWA7RD1WQyhELGIsayk7dj4wJiYoRD1NYXRoLm1pbihELHYpKTshY0YuaGFzKFcpJiZKcygpLmluY2x1ZGVzKFcpPyhiPWY3KCksK2JbV10+MCYmKEQ9TWF0aC5taW4oK2JbV10sRCkpLGJbV10hPT1EJiYoYltXXT1ELGcuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLGIsMjU5MkUzKSkpOmNGLmhhcyhXKXx8az09bnVsbD8oYj1KcygpLnNsaWNlKCksYi5pbmNsdWRlcyhXKXx8KGIucHVzaChXKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLGIsMjU5MkUzKSksUUMuc2V0KFcsRCkpOihjRi5hZGQoVyksaz8uc2V0KFcsRCkpO24uTC5zVCgpfTsKZGJTPWZ1bmN0aW9uKCl7cmV0dXJuIFd4KGY3KCksbj0+YCR7bn1gKX07Cno4Mj1mdW5jdGlvbihuLFcsRCxiKXtpZighV3x8IUR8fCFXLnZpZGVvRGF0YS5KKXJldHVybiExO3ZhciB2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoIiksaz1uLlMoImh0bWw1X2xvZ19tZWRpYV9wZXJmX2luZm8iKTtpZighKCgwLGcuUikoKS1uLlg8NUUzPzA6a3x8dj4wKSlyZXR1cm4hMTt2YXIgaD0oKDAsZy5SKSgpLW4uWCkvMUUzO24uWD0oMCxnLlIpKCk7RD1ELmdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7aWYoIUQpcmV0dXJuITE7dmFyIHg9RC5kcm9wcGVkVmlkZW9GcmFtZXMtbi5WLEw9RC50b3RhbFZpZGVvRnJhbWVzLW4udG90YWxGcmFtZXM7bi5WPUQuZHJvcHBlZFZpZGVvRnJhbWVzO24udG90YWxGcmFtZXM9RC50b3RhbFZpZGVvRnJhbWVzO3ZhciBlPUQuZGlzcGxheUNvbXBvc2l0ZWRWaWRlb0ZyYW1lcz09PTA/MDpELmRpc3BsYXlDb21wb3NpdGVkVmlkZW9GcmFtZXN8fC0xO2smJm4uQi5XWCgpJiZuLkwuVSgiZGRmIiwKe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lcyxjb21wOmV9KTtpZihiKXJldHVybiBuLk49MCwhMTtpZigoTC14KS9oPm4uWXx8IXZ8fGcuazYobi5CKSlyZXR1cm4hMTtuLk49KEw+NjA/eC9MOjApPnY/bi5OKzE6MDtpZihuLk4hPT0zKXJldHVybiExO29RMihuLFcudmlkZW9EYXRhLkopO24uTC5VKCJkZmQiLE9iamVjdC5hc3NpZ24oe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lc30sZGJTKCkpKTtyZXR1cm4hMH07Cmw1VT1mdW5jdGlvbihuLFcpe24uUygiaHRtbDVfbG9nX21lZGlhX3BlcmZfaW5mbyIpJiYobi5MLlUoInBlcmZkYiIsZGJTKCkpLG4uTC5VKCJzZXNzaW9ucGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMoUUMuZW50cmllcygpKSksbi5MLlUoInBsYXliYWNrcGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMobi5XLmVudHJpZXMoKSkpLG4uTC5VKCJod2MiLHtuY2g6bmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3l9LCEwKSxXJiZuLkwuVSgibWNkYiIse2l0YWdzOlcuTi52aWRlb0luZm9zLmZpbHRlcihEPT5ELmo/LnNtb290aD09PSExKS5tYXAoRD0+RC5pdGFnKS5qb2luKCItIil9KSl9OwpiQT1mdW5jdGlvbihuLFcsRD0hMSl7bi5ZYT8uV1goKSYmbi5ZYS5VKCJybXMiLFcsRCl9OwpvdT1mdW5jdGlvbihuKXtuPW4uTygpO3JldHVybiBuLmxlbmd0aDwxP05hTjpuLmVuZChuLmxlbmd0aC0xKX07ClRvaT1mdW5jdGlvbihuLFcpe24uWGImJm4uWGIuZXF1YWxzKFcpfHwobi5YYiYmbi5YYi5kaXNwb3NlKCksbi5YYj1XKX07CmpJaj1mdW5jdGlvbihuKXshbi5XJiZjUigpJiYobi5qP24uai50aGVuKCgpPT5qSWoobikpOm4uWF8oKXx8KG4uVz1uLlV6KCkpKX07CkNNeD1mdW5jdGlvbihuLFcsRCl7bi5pc1BhdXNlZCgpfHxuLmdldEN1cnJlbnRUaW1lKCk+V3x8RD4xMHx8KG4ucGxheSgpLGcubiQoKCk9PntDTXgobixuLmdldEN1cnJlbnRUaW1lKCksRCsxKX0sNTAwKSl9OwpCb3Q9ZnVuY3Rpb24obixXKXtpZihuLlgoKT09PTB8fG4uaGFzRXJyb3IoKSlyZXR1cm4hMTt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gVz49MCYmKG49bi5PKCksbi5sZW5ndGh8fCFEKT9CUihuLFcpOkR9OwpkUz1mdW5jdGlvbihuKXtpZihuLlhfKCl8fG4uVEMoKSluLllhJiZuLllhLkNjKCJyc19zIiksZy5NTCYmbi5nZXRDdXJyZW50VGltZSgpPjAmJm4uc2Vla1RvKDApLG4uVlEoKSxuLmUkKCksbi5sb2FkKCksVG9pKG4sbnVsbCk7ZGVsZXRlIG4uan07CkZnYj1mdW5jdGlvbihuKXt2YXIgVz1uLkooKTtyZXR1cm4gTSQoVykmJm4uZ2V0RHVyYXRpb24oKT9XLmVuZChXLmxlbmd0aC0xKTowfTsKelg9ZnVuY3Rpb24obil7c3dpdGNoKG4uVkcoKSl7Y2FzZSAyOnJldHVybiJwcm9ncmVzc2l2ZS5uZXQucmV0cnlleGhhdXN0ZWQiO2Nhc2UgMzpyZXR1cm4gbj1uLnM4KCksbj8uaW5jbHVkZXMoIk1FRElBX0VSUl9DQVBBQklMSVRZX0NIQU5HRUQiKXx8d1VNJiZuPy5pbmNsdWRlcygiYXVkaW9fb3V0cHV0X2NoYW5nZSIpPyJjYXBhYmlsaXR5LmNoYW5nZWQiOiJmbXQuZGVjb2RlIjtjYXNlIDQ6cmV0dXJuImZtdC51bnBsYXlhYmxlIjtjYXNlIDU6cmV0dXJuImRybS51bmF2YWlsYWJsZSI7Y2FzZSAxRTM6cmV0dXJuImNhcGFiaWxpdHkuY2hhbmdlZCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19OwpNd2g9ZnVuY3Rpb24obil7dmFyIFc9bnVsbDtuWzRdJiYoVz1uWzRdLFc9e2Vycm9yQ29kZTpXWzVdLGVycm9yRGV0YWlsOldbNl0sZXJyb3JNZXNzYWdlOldbN10saHk6V1s4XSxUaDpXWzldLHdpOldbMTBdLEp4OldbMTFdLGNwbjpXWzEyXX0pO3JldHVybiBuZXcgZy5sbShuWzFdLFcsblsyXSxuWzNdKX07CmwxPWZ1bmN0aW9uKG4pe3JldHVybiBuLmlzUGxheWluZygpJiYhbi5OKDE2KSYmIW4uTigzMil9OwpUWD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OKDEyOCk/LTE6bi5OKDIpPzA6bi5OKDIwNDgpPzM6bi5OKDY0KT8tMTpuLk4oMSkmJiFuLk4oMzIpPzM6bi5OKDgpPzE6bi5OKDQpPzI6LTF9OwpqMD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCEoVz09PW4uc3RhdGUmJkQ9PT1uLmhPJiZiPT09bi5zZWVrU291cmNlJiZ2PT09bi5zdG9wcGFnZVJlYXNvbnx8VyE9PXZvaWQgMCYmKFcmMTI4JiYhRHx8VyYyJiZXJjE2KSkpe3ZhciBrO2lmKGs9VylrPVd8fG4uc3RhdGUsaz0hIShrJjE2fHxrJjMyKTtuPW5ldyBnLmxtKFcsRCxrP2I/YjpuLnNlZWtTb3VyY2U6bnVsbCx2KX1yZXR1cm4gbn07CkNDPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gUjhDKG4sVy5nZXRDdXJyZW50VGltZSgpLCgwLGcuUikoKSxXLnpzKCksRCl9OwpCcj1mdW5jdGlvbihuLFcsRD1udWxsLGI9bnVsbCl7cmV0dXJuIGowKG4sbi5zdGF0ZXxXLG51bGwsRCxiKX07CkZiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGowKG4sbi5zdGF0ZSZ+VyxudWxsLG51bGwsbnVsbCl9Owp3Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwsdj1udWxsKXtyZXR1cm4gajAobiwobi5zdGF0ZXxXKSZ+RCxudWxsLGIsdil9OwpRSVM9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zdGF0ZT09PW4uc3RhdGUmJlcuaE89PT1uLmhPfTsKVndNPWZ1bmN0aW9uKG4pe3N3aXRjaChuLkIucGxheWVyQ2FuYXJ5U3RhZ2U/LnRvTG93ZXJDYXNlKCkpe2Nhc2UgInhzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWFNNQUxMIjtjYXNlICJzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfU01BTEwiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTUVESVVNIjtjYXNlICJsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTEFSR0UiO2Nhc2UgInhsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWExBUkdFIjtkZWZhdWx0OnJldHVybiJIVE1MNV9QTEFZRVJfQ0FOQVJZX1NUQUdFX1VOU1BFQ0lGSUVEIn19OwpjSWo9ZnVuY3Rpb24obil7bi5OPj0wfHwobi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09Mz9uLlY9ITA6KG4uTj1nLlJrKG4ucHJvdmlkZXIpLG4uZGVsYXkuc3RhcnQoKSkpfTsKYTVyPWZ1bmN0aW9uKG4pe2lmKCEobi5KPDApKXt2YXIgVz1nLlJrKG4ucHJvdmlkZXIpLEQ9Vy1uLmo7bi5qPVc7bi5wbGF5ZXJTdGF0ZS5KKCk/bi5wbGF5VGltZVNlY3MrPUQ6bi5wbGF5ZXJTdGF0ZS5pc0J1ZmZlcmluZygpJiYhbi5wbGF5ZXJTdGF0ZS5OKDE2KSYmKG4ucmVidWZmZXJUaW1lU2Vjcys9RCl9fTsKUnU9ZnVuY3Rpb24obixXPSExKXtuLk4uWD1XO24uTi5zdGFydFRpbWU9bi5XO24uTi5lbmRUaW1lPW4uSjtuLmpWPy5sZW5ndGgmJihuLk4ualY9bi5qVik7bi5yWD8ubGVuZ3RoJiYobi5OLnJYPW4uclgpO1c9ITE7dmFyIEQ9Zy5VTShuLnNlZ21lbnRzKTtuLnNlZ21lbnRzLmxlbmd0aCYmIUQ/LlgmJkQ/LmlzRW1wdHkoKT8obi5zZWdtZW50c1tuLnNlZ21lbnRzLmxlbmd0aC0xXS5wcmV2aW91c2x5RW5kZWQmJihuLk4ucHJldmlvdXNseUVuZGVkPSEwKSxuLnNlZ21lbnRzW24uc2VnbWVudHMubGVuZ3RoLTFdPW4uTixXPSEwKTpuLnNlZ21lbnRzLmxlbmd0aCYmbi5OLmlzRW1wdHkoKSYmIW4uTi5YfHwobi5zZWdtZW50cy5wdXNoKG4uTiksVz0hMCk7Vz8obi5OLmVuZFRpbWU9PT0wJiYobi5wcmV2aW91c2x5RW5kZWQ9ITEpLG4uTi5yWD8ubGVuZ3RoJiZuLnByb3ZpZGVyLkwuVSgic2RhaSIse2F0dGFjaF9tZXRhOjEsc3Q6bi5OLnN0YXJ0VGltZSxldDpuLk4uZW5kVGltZSxzZWdfaWR4Om4uc2VnbWVudHMubGVuZ3RoLQoxfSkpOm4uTi5wcmV2aW91c2x5RW5kZWQmJihuLnByZXZpb3VzbHlFbmRlZD0hMCk7bi5WKz1uLkotbi5XO24uTj1NbShuLnByb3ZpZGVyKTtuLk4ucHJldmlvdXNseUVuZGVkPW4ucHJldmlvdXNseUVuZGVkO24ucHJvdmlkZXIuQi5adCgpLk4uUVEobm9yKSYmKG4uais9SlNPTi5zdHJpbmdpZnkobi5OKS5sZW5ndGgpO24ucHJldmlvdXNseUVuZGVkPSExO24uVz1uLko7cmV0dXJuIFc/Zy5VTShuLnNlZ21lbnRzKTp2b2lkIDB9OwpXM1o9ZnVuY3Rpb24obil7RHIobi5LKTtuLks9TmFOfTsKRGoyPWZ1bmN0aW9uKG4pe1czWihuKTtuLks9VzAoKCk9PntuLnVwZGF0ZSgpfSwxMDApOwpuLnJ6PWcuUmsobi5wcm92aWRlcik7bi5OPU1tKG4ucHJvdmlkZXIpfTsKYlh0PWZ1bmN0aW9uKG4sVyxEKXtELT1uLnJ6O3JldHVybiBXPT09bi5KJiZEPi41fTsKZy5RMz1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnZpc2l0b3JEYXRhOnZvaWQgMDtyZXR1cm4gZy5IRShuLkIsbi5hY2Nlc3NUb2tlbikudGhlbihiPT5qUihuLnVyaSxuLkIsbi5wYWdlSWQsRCxiLFcpKX07Cmcudm9qPWZ1bmN0aW9uKG4pe24uaW5kZXhPZigid2F0Y2h0aW1lIikhPT0tMSYmZy56VSgiZ2VsRGVidWdnaW5nRXZlbnQiLHt2c3MzZGVidWdnaW5nRXZlbnQ6e3ZzczJQaW5nOm59fSl9OwprcGk9ZnVuY3Rpb24obixXKXtuLmF0dGVzdGF0aW9uUmVzcG9uc2UmJmcuUTMobikudGhlbihEPT57RD1EfHx7fTtELm1ldGhvZD0iUE9TVCI7RC5wb3N0UGFyYW1zPXthdHI6bi5hdHRlc3RhdGlvblJlc3BvbnNlfTtuLlMkP24uVlE/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLEQpOmcuSFUoKS5zZW5kVGhlbldyaXRlKFcsRCk6Zy5lZChXLEQpfSl9OwpoeWk9ZnVuY3Rpb24obil7dmFyIFc9e08zOltdfTtpZihnLm9NKG4uc2VnbWVudHMsRD0+ISFELmpWfHwhIUQuclgpKXtmb3IobGV0IEQgb2Ygbi5zZWdtZW50cylXLk8zLnB1c2goe2pWOkQualZ8fFtdLApyWDpELnJYfHxbXX0pO249Zy5saCh7Ykw6V30sUV8xKTtyZXR1cm4gZy5FQShuLDQpfX07CmJKPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuaV8oVyxuLkopLmpvaW4oIiwiKX07CnZ5TT1mdW5jdGlvbihuLFcpe2lmKFcmJm4uail7dmFyIEQ9bmV3IFNldChbInEiLCJmZWF0dXJlIiwibW9zIl0pLGI9bmV3IFNldCgiYXV0b3BsYXkgY2wgbGVuIGZleHAgZGVsYXkgZWwgbnMgYWRmb3JtYXQiLnNwbGl0KCIgIikpLHY9bmV3IFNldChbImFxaSIsImF1dG9uYXYiLCJsaXN0Iiwic3NydCIsInVwdCJdKTtuLmoubnM9PT0iM3BwIiYmKFcubnM9IjNwcCIpO2ZvcihsZXQgayBvZiBPYmplY3Qua2V5cyhuLmopKWIuaGFzKGspfHxELmhhcyhrKXx8di5oYXMoaykmJiFuLmpba118fChXW2tdPW4ualtrXSl9fTsKeGpqPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJwbGF5aW5nIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX1BMQVlJTkciO2Nhc2UgInBhdXNlZCI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9QQVVTRUQiO2Nhc2UgImJ1ZmZlcmluZyI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9CVUZGRVJJTkciO2Nhc2UgInNlZWtpbmciOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU0VFS0lORyI7Y2FzZSAiZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfRU5ERUQiO2Nhc2UgImVycm9yIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX0VSUk9SIjtjYXNlICJzdXNwZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU1VTUEVOREVEIjtjYXNlICJ1bnN0YXJ0ZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5TVEFSVEVEIjtkZWZhdWx0OnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5LTk9XTiJ9fTsKTDN4PWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDE6cmV0dXJuIlZJU19NSU5JTUlaRUQiO2Nhc2UgMjpyZXR1cm4iVklTX0ZVTExTQ1JFRU4iO2Nhc2UgMzpyZXR1cm4iVklTX0JBQ0tHUk9VTkQiO2Nhc2UgNDpyZXR1cm4iVklTX0FJUlBMQVkiO2Nhc2UgNTpyZXR1cm4iVklTX0lOTElORSI7Y2FzZSA2OnJldHVybiJWSVNfVlIiO2Nhc2UgNzpyZXR1cm4iVklTX1BJQ1RVUkVfSU5fUElDVFVSRSI7Y2FzZSA4OnJldHVybiJWSVNfSU1NRVJTSVZFX1BSRVZJRVciO2Nhc2UgOTpyZXR1cm4iVklTX1NRVUVFWkVCQUNLIjtjYXNlIDEwOnJldHVybiJWSVNfVEhFQVRFUiI7Y2FzZSAzMTpyZXR1cm4iVklTX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIlZJU19ERUZBVUxUIn19OwpleWo9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4iQ09OTl9VTktOT1dOIjtjYXNlIDI6cmV0dXJuIkNPTk5fTk9ORSI7Y2FzZSAzOnJldHVybiJDT05OX1dJRkkiO2Nhc2UgNDpyZXR1cm4iQ09OTl9DRUxMVUxBUl8yRyI7Y2FzZSA1OnJldHVybiJDT05OX0NFTExVTEFSXzNHIjtjYXNlIDY6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNEciO2Nhc2UgNzpyZXR1cm4iQ09OTl9DRUxMVUxBUl9VTktOT1dOIjtjYXNlIDg6cmV0dXJuIkNPTk5fRElTQ08iO2Nhc2UgOTpyZXR1cm4iQ09OTl9DRUxMVUxBUl81RyI7Y2FzZSAxMDpyZXR1cm4iQ09OTl9XSUZJX01FVEVSRUQiO2Nhc2UgMTE6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfU0EiO2Nhc2UgMTI6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfTlNBIjtjYXNlIDMwOnJldHVybiJDT05OX1dJUkVEIjtjYXNlIDMxOnJldHVybiJDT05OX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIkNPTk5fREVGQVVMVCJ9fTsKZy5jcj1mdW5jdGlvbihuLFcpe3ZhciBEPVYzKG4ucHJvdmlkZXIpO09iamVjdC5hc3NpZ24oRCx7c3RhdGU6bi5YfSk7Vz1uZXcgZ29oKG4ucHJvdmlkZXIudmlkZW9EYXRhLG4ucHJvdmlkZXIuQixXLEQpO1cuTj1uLnByb3ZpZGVyLkwub3QoKTtEPW4ucHJvdmlkZXIudmlkZW9EYXRhLmNsaWVudFBsYXliYWNrTm9uY2U7Vy5OPW4ucHJvdmlkZXIuTC5vaChEKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFcuZSQ9bi5wcm92aWRlci5MLmdldER1cmF0aW9uKEQpKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5OJiYoRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKFcuTikpJiYoVy5ZPUQtVy5OKTtEPW4ucHJvdmlkZXIuTC5TVygpO1cuTis9RDtXLlkhPW51bGwmJihXLlktPUQpO1cud2E9Zy5SayhuLnByb3ZpZGVyKTtXLnNlZ21lbnRzPVtNbShuLnByb3ZpZGVyKV07cmV0dXJuIFd9OwpYSVo9ZnVuY3Rpb24obil7dmFyIFc9bi5wcm92aWRlci52aWRlb0RhdGEubFEsRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5IWSxiPVsxMCtXLDEwLDEwLDQwK0QtVyw0MF0sdj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nLGs9dj8udmlkZW9zdGF0c1NjaGVkdWxlZEZsdXNoV2FsbHRpbWVTZWNvbmRzO3Y9dj8udmlkZW9zdGF0c0RlZmF1bHRGbHVzaEludGVydmFsU2Vjb25kcztpZighKGsmJmsubGVuZ3RoPjAmJnYpKXJldHVybiBiO1c9W2tbMF0rVywuLi5rLnNsaWNlKDEpLm1hcCgoaCx4KT0+aC1rW3hdKSwKditELVcsdl07cmV0dXJuIFcuc29tZShoPT5oPDApPyhnLmNfKG4ubG9nZ2VyLDM0NzExMTg1NSxgTmVnIHZzcyBzY2hlZHVsZWQgcGluZ3MgJHtrfSAke3Z9YCksYik6V307CmF1PWZ1bmN0aW9uKG4sVz1OYU4pe3ZhciBEPWcuUmsobi5wcm92aWRlcik7Vz1pc05hTihXKT9EOlc7Vz1NYXRoLmNlaWwoVyk7dmFyIGI9bi5lJFtuLnR3XTtuLnR3KzE8bi5lJC5sZW5ndGgmJm4udHcrKzt2YXIgdj1XK2I7bi5ZPWcubiQoKCk9PntpZighbi5xTigpKXtuLlk9TmFOO3ZhciBrPW4uUyQoKSxoPXE5MShuLGspO2guTz12O3ZhciB4PW4ubnU+MUUzOyEoay5sZW5ndGg+MSkmJmtbMF0uaXNFbXB0eSgpfHx4fHwoaC5LPWF1KG4sdikpO2lmKG4uY0ope2s9a1trLmxlbmd0aC0xXTtpZih4PW4uVEMpe3g9azt2YXIgTD1uLlRDO3g9eC5zdGFydFRpbWU9PT1MLnN0YXJ0VGltZSYmeC5lbmRUaW1lPT09TC5lbmRUaW1lfXh8fG51KG4sW2tdKX1oLnNlbmQoKTtuLm51Kyt9fSwodi1EKSoxRTMpOwpyZXR1cm4gbi5KPXZ9OwpXZD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuQjtnLkhFKG4ucHJvdmlkZXIuQixuLnByb3ZpZGVyLnZpZGVvRGF0YS5WKCkpLnRoZW4oYj0+e3ZhciB2PW4ucHJvdmlkZXIuQi5wYWdlSWQsaz1uLnByb3ZpZGVyLkIuc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnByb3ZpZGVyLnZpZGVvRGF0YS52aXNpdG9yRGF0YTp2b2lkIDAsaD1uLnByb3ZpZGVyLkIuUygidnNzX3BpbmdzX3VzaW5nX25ldHdvcmtsZXNzIil8fG4ucHJvdmlkZXIuQi5TKCJrZXZsYXJfd29mZmxlIikseD1uLnByb3ZpZGVyLkIuUygiYWxsb3dfc2tpcF9uZXR3b3JrbGVzcyIpO2I9alIoVyxELHYsayxiKTtDRChXLGIse3Rva2VuOm4ucHJvdmlkZXIudmlkZW9EYXRhLmtXLHlvOm4ucHJvdmlkZXIudmlkZW9EYXRhLlF2LG1keEVudmlyb25tZW50Om4ucHJvdmlkZXIudmlkZW9EYXRhLm1keEVudmlyb25tZW50fSxELHZvaWQgMCxoJiYheCwhMSwhMCl9KX07CnE5MT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuY3Iobiwid2F0Y2h0aW1lIik7RDcobikmJihELmRlbGF5VGhyZXNob2xkTWV0PSEwLG4uRHQ9ITApO2lmKG4uaj4wKXtsZXQgYj1uLnByb3ZpZGVyLkwuU1coKTtmb3IobGV0IHYgb2YgVyl2LnN0YXJ0VGltZS09bi5qK2Isdi5lbmRUaW1lLT1uLmorYjtELk4tPW4uaitifWVsc2UgRC5OPW4uTi5KO0Quc2VnbWVudHM9VztyZXR1cm4gRH07Cm51PWZ1bmN0aW9uKG4sVyxEPSExKXtmb3IobGV0IFt4LExdb2YgVy5lbnRyaWVzKCkpe2xldCBlPXgsRz1MO3ZhciBiPW4sdj1WMyhiLnByb3ZpZGVyKTtPYmplY3QuYXNzaWduKHYse3N0YXRlOmIuWH0pO09iamVjdC5hc3NpZ24odix7c2VxdWVuY2VJZDpiLnNlcXVlbmNlSWR9KTtiLnByb3ZpZGVyLkIuUygid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIikmJk9iamVjdC5hc3NpZ24odix7c2VuZElzb2xhdGVkUGF5bG9hZDohMH0pO3ZhciBrPWIsaD1rLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nPy52c3MzQ29uZmlnPy52c3MzU2NoZWR1bGluZ0NvbmZpZztoJiYoaD1oLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3MmJihEYXRlLm5vdygpLWsuR0MpLzFFMzxoLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3M/aC5lYXJseVNlZ21lbnRNYXhpbXVtTGVuZ3RoU2VjczpoLmRlZmF1bHRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3MsCkcuc2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWsuVEM/Lm5leHRTY2hlZHVsZWRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3M/P2gsRy5uZXh0U2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWgpO2s9bmV3IEdwYihHLGIucHJvdmlkZXIudmlkZW9EYXRhLHYpO2IuSEomJihrLmlzRG91YmxlTG9nZ2VkPSExKTt2PWs7Yi5wcm92aWRlci52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2t8fCh2Lm1lZGlhTGVuZ3RoU2VjPWIucHJvdmlkZXIuTC5nZXREdXJhdGlvbihiLnByb3ZpZGVyLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlKSk7aWYoYi5wcm92aWRlci52aWRlb0RhdGEuTil7aD1iLnByb3ZpZGVyLkwub3QoKTtsZXQgcj1iLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKGgpO3ImJih2LmxpdmVJbmdlc3Rpb25PZmZzZXRVc2VjPShyLWgpKjFFNil9RDcoYikmJih2LmRlbGF5VGhyZXNob2xkTWV0PSEwLGIuRHQ9ITApO0QmJmU9PT1XLmxlbmd0aC0xJiYoay5pc0ZpbmFsPQohMCxuLkZGPSEwKTtrLnNlbmQoKTtuLnNlcXVlbmNlSWQrKztuLlRDPUd9fTsKRDc9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz1uLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xvYWRlZCgpJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5vRCYmbi5XJiYhbi5EdClXPW4uTixXPVcuVitXLm90KCktVy5XPj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5vRDtyZXR1cm4hIVd9OwpiVj1mdW5jdGlvbihuLFcsRD0hMSl7RD1uLksoIWlzTmFOKG4uSiksITEsRCk7VyYmKG4uSj1OYU4pO3JldHVybiBEfTsKdFpNPWZ1bmN0aW9uKG4pe24ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCYmIW4uQ3UmJihXZChuLG4ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCksbi5DdT0hMCl9Owokalo9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuZ29vZ2xlUmVtYXJrZXRpbmdVcmwmJiFuLlBYJiYoV2QobixuLnByb3ZpZGVyLnZpZGVvRGF0YS5nb29nbGVSZW1hcmtldGluZ1VybCksbi5QWD0hMCl9Owp2ZD1mdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlcpe24uWD0icGF1c2VkIjt2YXIgVz1iVihuLCExLCEwKTtXLmlzRmluYWw9ITA7Vy5zZW5kKCk7bi5kaXNwb3NlKCl9fTsKcnB0PWZ1bmN0aW9uKG4sVyxEKXtpZighbi52Sil7RHx8KEQ9Zy5jcihuLCJhdHIiKSk7RC5hdHRlc3RhdGlvblJlc3BvbnNlPVc7dHJ5e0Quc2VuZCgpfWNhdGNoKGIpe2lmKGIubWVzc2FnZSE9PSJVbmtub3duIEVycm9yIil0aHJvdyBiO31uLnZKPSEwfX07CmcuUms9ZnVuY3Rpb24obil7cmV0dXJuIGcuc2JyKG4pKCl9OwpjY1o9ZnVuY3Rpb24obil7dmFyIFc9bmF2aWdhdG9yLmNvbm5lY3Rpb24/LnR5cGV8fCIiO2lmKFcpcmV0dXJuIE5FcltXXXx8TkVyLm90aGVyO2lmKGcuazYobi5CKSl7bj1uYXZpZ2F0b3IudXNlckFnZW50O2lmKC9bV3ddaXJlbGVzc1spXS8udGVzdChuKSlyZXR1cm4gMztpZigvW1d3XWlyZWRbKV0vLnRlc3QobikpcmV0dXJuIDMwfXJldHVybiAwfTsKTW09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHBJMjtXLko9VjMobikuY2M/LnRvU3RyaW5nKCl8fCItIjtXLnBsYXliYWNrUmF0ZT1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7dmFyIEQ9bi5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO0QhPT0wJiYoVy52aXNpYmlsaXR5U3RhdGU9RCk7bi5CLkR0JiYoVy5XPTEpO1cuaj1uLnZpZGVvRGF0YS5wUjtXLmNvbXBvc2l0ZUxpdmVTdGF0dXNUb2tlbj1uLnZpZGVvRGF0YS5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW47Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW49bi52aWRlb0RhdGEuaGVhcnRiZWF0TG9nZ2luZ1Rva2VuO0Q9bi5MLmdldEF1ZGlvVHJhY2soKTtELmtaJiZELmtaLmlkJiZELmtaLmlkIT09InVuZCImJihXLmF1ZGlvSWQ9RC5rWi5pZCk7Vy5jb25uZWN0aW9uVHlwZT1jY1oobik7Vy52b2x1bWU9bi5MLmdldFZvbHVtZSgpO1cubXV0ZWQ9bi5MLmlzTXV0ZWQoKTtXLmNsaXBJZD1uLkwuRm4oKXx8Ii0iO1cuTj1uLnZpZGVvRGF0YS5WZnx8CiItIjtyZXR1cm4gV307ClYzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTC5oaCgpfHx7fTtXLmZzPW4uTC52MygpO1cudm9sdW1lPW4uTC5nZXRWb2x1bWUoKTtXLm11dGVkPW4uTC5pc011dGVkKCk/MTowO1cubW9zPVcubXV0ZWQ7Vy5jbGlwaWQ9bi5MLkZuKCk7Vy5wbGF5ZXJoZWlnaHQ9bi5MLmdldFBsYXllclNpemUoKT8uaGVpZ2h0fHwwO1cucGxheWVyd2lkdGg9bi5MLmdldFBsYXllclNpemUoKT8ud2lkdGh8fDA7bj1uLnZpZGVvRGF0YTt2YXIgRD17fTtuLkomJihELmZtdD1uLkouaXRhZyxuLlgmJihuLlZRP24uWC5pdGFnIT09bi5KLml0YWc6bi5YLml0YWchPW4uSi5pdGFnKSYmKEQuYWZtdD1uLlguaXRhZykpO0QuZWk9bi5ldmVudElkO0QubGlzdD1uLnBsYXlsaXN0SWQ7RC5jcG49bi5jbGllbnRQbGF5YmFja05vbmNlO24udmlkZW9JZCYmKEQudj1uLnZpZGVvSWQpO24ueWwmJihELmluZnJpbmdlPTEpOyhuLmZCPzA6bi5QWCkmJihELnNwbGF5PTEpO3ZhciBiPXJsKG4pO2ImJihELmxpdmU9Yik7bi5WVCYmCihELnNhdXRvcGxheT0xKTtuLkd1JiYoRC5hdXRvcGxheT0xKTtuLnd1JiYoRC5zZGV0YWlsPW4ud3UpO24ucGFydG5lcklkJiYoRC5wYXJ0bmVyaWQ9bi5wYXJ0bmVySWQpO24ub3NpZCYmKEQub3NpZD1uLm9zaWQpO24uWm0mJihELmNjPWcubmcobi5abSkpO3JldHVybiBPYmplY3QuYXNzaWduKFcsRCl9OwpnLnNicj1mdW5jdGlvbihuKXtpZighbi5OKXtsZXQgVz0oMCxnLlIpKCk7bi5OPSgpPT5NYXRoLnJvdW5kKCgwLGcuUikoKS1XKS8xRTM7Cm4uTC5RYigpfXJldHVybiBuLk59OwpnLmswPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uc3RhdGUuTihXKSYmIW4ub2xkU3RhdGUuTihXKT8xOiFuLnN0YXRlLk4oVykmJm4ub2xkU3RhdGUuTihXKT8tMTowfTsKaEM9ZnVuY3Rpb24obil7bi5KJiZjSWoobi5KKTtuLnFvZSYmeEJoKG4ucW9lKX07CkhYMj1mdW5jdGlvbihuLFcsRCxiKXtELmFkRm9ybWF0PUQuRkY7dmFyIHY9Vy5MO1c9bmV3IGcueDAobmV3IFk5UyhELFcuQix7Z2V0RHVyYXRpb246KCk9PkQubGVuZ3RoU2Vjb25kcywKZ2V0Q3VycmVudFRpbWU6KCk9PnYuZ2V0Q3VycmVudFRpbWUoKSwKb3Q6KCk9PnYub3QoKSwKb2g6KCk9PnYub2goKSwKSEs6KCk9PnYuSEsoKSwKZ2V0UGxheWVyU2l6ZTooKT0+di5nZXRQbGF5ZXJTaXplKCksCmdldEF1ZGlvVHJhY2s6KCk9PkQuZ2V0QXVkaW9UcmFjaygpLApnZXRQbGF5YmFja1JhdGU6KCk9PnYuZ2V0UGxheWJhY2tSYXRlKCksCkVjOigpPT52LkVjKCksCmdldFZpc2liaWxpdHlTdGF0ZTooKT0+di5nZXRWaXNpYmlsaXR5U3RhdGUoKSwKZUc6KCk9PnYuZUcoKSwKaGg6KCk9PnYuaGgoKSwKZ2V0Vm9sdW1lOigpPT52LmdldFZvbHVtZSgpLAppc011dGVkOigpPT52LmlzTXV0ZWQoKSwKdjM6KCk9PnYudjMoKSwKRm46KCk9PnYuRm4oKSwKZ2V0UHJveGltYUxhdGVuY3lQcmVmZXJlbmNlOigpPT52LmdldFByb3hpbWFMYXRlbmN5UHJlZmVyZW5jZSgpLApRYigpe3YuUWIoKX0sVShrLGgpe3YuVShrLGgpfSxPMDooKT0+di5PMCgpLApTVzooKT0+di5TVygpLAp6czprPT52LnpzKGspfSkpOwpXLmo9YjtnLnUobixXKTtyZXR1cm4gV307CmZBdD1mdW5jdGlvbihuKXtuLkomJm4uSi5zZW5kKCk7aWYobi5xb2Upe3ZhciBXPW4ucW9lO2lmKFcuVil7Vy5OPT09IlBMIiYmKFcuTj0iTiIpO3ZhciBEPWcuUmsoVy5wcm92aWRlcik7Zy53aihXLEQsInZwcyIsW1cuTl0pO1cuRHx8KFcuWD49MCYmVy5KLnNldCgidXNlcl9pbnRlbnQiLFtXLlgudG9TdHJpbmcoKV0pLFcuRD0hMCk7Vy5wcm92aWRlci5CLldYKCkmJlcuVSgiZmluYWxpemVkIix7fSk7Vy5TJD0hMDtXLnJlcG9ydFN0YXRzKEQpfX1pZihuLnByb3ZpZGVyLnZpZGVvRGF0YS5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaSlmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKXZkKGIpO2Vsc2Ugbi5OJiZ2ZChuLk4pO24uZGlzcG9zZSgpfTsKSnBVPWZ1bmN0aW9uKG4pe2lmKCFuLk4pcmV0dXJuIG51bGw7dmFyIFc9Zy5jcihuLk4sImF0ciIpO3JldHVybiBEPT57bi5OJiZycHQobi5OLEQsVyl9fTsKSUFoPWZ1bmN0aW9uKG4sVyl7bj1EZShuLmFycmF5LEQ9PlctRC5zdGFydHx8MSk7CnJldHVybiBuPDA/LShuKzEpOm59OwpTOWI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO2ZvcihXPUlBaChuLFcpO1c8bi5hcnJheS5sZW5ndGg7KytXKXtsZXQgdj1uLmFycmF5W1ddOyh2LmVuZDw9RHx8di5jb250YWlucyhEKSkmJmIucHVzaCh2KTtpZih2LnN0YXJ0PkQpYnJlYWt9cmV0dXJuIGJ9OwpnLkx1PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIG4uYXJyYXkpaWYoYi5jb250YWlucyhXKSYmRC5wdXNoKGIpLGIuc3RhcnQ+VylicmVhaztyZXR1cm4gRH07CkFwaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5hcnJheS5zbGljZShJQWgobiwweDdmZmZmZmZmZmZmZmYpLG4uYXJyYXkubGVuZ3RoKX07Cm1qdD1mdW5jdGlvbihuLFcpe3ZhciBEPU5hTjtmb3IobGV0IGIgb2Ygbi5hcnJheSlpZihiLmNvbnRhaW5zKFcpJiYoaXNOYU4oRCl8fGIuZW5kPEQpJiYoRD1iLmVuZCksYi5zdGFydD5XJiYoaXNOYU4oRCl8fGIuc3RhcnQ8RCkpe0Q9Yi5zdGFydDticmVha31yZXR1cm4gRH07CkszVT1mdW5jdGlvbihuLFcpe24uYXJyYXk9bi5hcnJheS5maWx0ZXIoRD0+IVcuaGFzKEQpKX07Ck9YMj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFBsYXllclN0YXRlKCkuTigyKT8weDgwMDAwMDAwMDAwMDA6bi5MLmdldEN1cnJlbnRUaW1lKCkqMUUzfTsKZWg9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVy5sZW5ndGgpcmV0dXJuIEQ7Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07di5hY3RpdmUmJm4uVy5pbmRleE9mKHYpPT09LTEmJihuLlcucHVzaCh2KSxELnB1c2goWzEsdl0pKX1yZXR1cm4gRH07CmdzPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpVz1EWzFdLERbMF09PT0xP24uTC5DSihnLm95KFcubmFtZXNwYWNlKSxXKTpuLkwuQ0ooZy5kdihXLm5hbWVzcGFjZSksVyl9OwpYSj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdO2lmKCFXLmxlbmd0aClyZXR1cm4gRDtXLnNvcnQoZy51NSk7Zm9yKGxldCBiIG9mIFcpbi5XLnNwbGljZShuLlcuaW5kZXhPZihiKSwxKSxELnB1c2goWzIsYl0pO3JldHVybiBEfTsKUHlDPWZ1bmN0aW9uKG4pe2lmKG4uc3RhcnRlZCYmIW4ucU4oKSl7bi5qLnN0b3AoKTt2YXIgVz1uLkwuZ2V0UGxheWVyU3RhdGUoKTtXLk4oMzIpJiZuLlkuc3RhcnQoKTt2YXIgRD1PWDIobiksYj1uLmlzRW5kZWQoVyxEKSx2PVtdLGs9W107Zm9yKHZhciBoIG9mIG4uVyloLmFjdGl2ZSYmKGI/aC5lbmQ8MHg4MDAwMDAwMDAwMDAwOiFoLmNvbnRhaW5zKEQpKSYmay5wdXNoKGgpO3Y9di5jb25jYXQoWEoobixrKSk7aD1rPW51bGw7Yj8oVz1nLkx1KG4uTiwweDdmZmZmZmZmZmZmZmYpLGs9Vy5maWx0ZXIoeD0+eC5lbmQ8MHg4MDAwMDAwMDAwMDAwKSxoPUFwaihuLk4pKTpXPW4uWDw9RCYmbDEoVyk/UzliKG4uTixuLlgsRCk6Zy5MdShuLk4sRCk7CnY9di5jb25jYXQoZWgobixXKSk7ayYmKHY9di5jb25jYXQoWEoobixrKSkpO2gmJih2PXYuY29uY2F0KGVoKG4saCkpKTtuLlg9RDtncyhuLHYpfX07CnE5PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+bi5tZWRpYVRpbWUrbi5YJiZXPG4ubWVkaWFUaW1lKzV9OwpSOEM9ZnVuY3Rpb24obixXLEQsYix2PSExKXtpZihuLmxuJiYhaXNGaW5pdGUoVykpcmV0dXJuITE7aWYoYj1iPjEpbi5XPSEwO2lmKHZ8fGlzTmFOKG4uTikpbi5OPVc7aWYobi5zZWVraW5nKVchPT1uLm1lZGlhVGltZSYmKG4uc2Vla2luZz0hMSk7ZWxzZSBpZihXPjAmJm4ubWVkaWFUaW1lPT09Vyl7dj0xNTAwO2lmKG4uQi5TKCJodG1sNV9idWZmZXJfdW5kZXJydW5fdHJhbnNpdGlvbl9maXgiKSl7dj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzIik7bGV0IGs9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zIik7dj12PjAmJms+MCYmTWF0aC5hYnMoVy1uLk4pPHY/azoxNTAwfXJldHVybiBELW4uSj4oYnx8IW4uVz92OjQwMCl9bi5tZWRpYVRpbWU9VztuLko9RDtyZXR1cm4hMX07ClVqdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcudEEoRCkudGhlbigoKT0+Zy5IMChuZXcgWlhoKFcsVy5XKSksYj0+e2IgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShiKTsKdmFyIHY9dTgoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSwgbXA0YS40MC4yIicpLGs9ZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyksaD12fHxrLHg9Vy5pc0xpdmVQbGF5YmFjayYmIWcuSW4obi5XLCEwKTtiPSJmbXQubm9uZWF2YWlsYWJsZSI7eD9iPSJodG1sNS51bnN1cHBvcnRlZGxpdmUiOmh8fChiPSJodG1sNS5taXNzaW5nYXBpIik7aD14fHwhaD8yOjE7dj17YnVpbGRSZWo6IjEiLGE6Vy5JcCgpLGQ6ISFXLlRmLGRybTpXLk1pKCksZjE4OlcuY2YuaW5kZXhPZigiaXRhZz0xOCIpPj0wLGMxODp2fTtXLk4mJihXLk1pKCk/KHYuZjE0Mj0hIVcuTi5OWyIxNDIiXSx2LmYxNDk9ISFXLk4uTlsiMTQ5Il0sdi5mMjc5PSEhVy5OLk5bIjI3OSJdKToodi5mMTMzPSEhVy5OLk5bIjEzMyJdLHYuZjE0MD0hIVcuTi5OWyIxNDAiXSx2LmYyNDI9ISFXLk4uTlsiMjQyIl0pLHYuY0FBQz1rLHYuY0FWQz1keSgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFIicpLAp2LmNWUDk9ZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicpKTtXLmomJih2LmRybXN5cz1XLmoua2V5U3lzdGVtLGs9MCxXLmouSiYmKGs9T2JqZWN0LmtleXMoVy5qLkopLmxlbmd0aCksdi5kcm1zdD1rKTtyZXR1cm4gbmV3IGcuQ2koYix2LGgpfSl9Owp0Qz1mdW5jdGlvbihuLFcpe1c9TWF0aC5tYXgoTWF0aC5tYXgoMSxNYXRoLmNlaWwobi5wb2xpY3kuWC9HWShuKSkpLFcpO3JldHVybiBNYXRoLm1pbihNYXRoLm1pbig4LE1hdGguZmxvb3Iobi5wb2xpY3kuRC9HWShuKSkpLFcpfTsKR1k9ZnVuY3Rpb24obil7cmV0dXJuIG4udmlkZW9EYXRhLk4/b28obi52aWRlb0RhdGEuTil8fDU6NX07CiQwPWZ1bmN0aW9uKG4pe3JldHVybiBHWShuKSpuLk59OwpFb2k9ZnVuY3Rpb24obixXKXtpZihXKXJldHVybiBXPW4udmlkZW9EYXRhLFc9eXBiKG4saXNOYU4oVy5saXZlQ2h1bmtSZWFkYWhlYWQpPzM6Vy5saXZlQ2h1bmtSZWFkYWhlYWQsVyksdEMobixXKTtpZihuLkoubGVuZ3RoKXtpZihNYXRoLm1pbi5hcHBseShudWxsLG4uSik+MSlyZXR1cm4gdEMobixuLk4tMSk7aWYobi5wb2xpY3kuWSlyZXR1cm4gdEMobixuLk4rMSl9cmV0dXJuIG4uTn07CmlYUz1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLkoubGVuZ3RoKXJldHVybiExO3ZhciBEPW4uTjtuLk49RW9pKG4sVyk7aWYoVz1EIT09bi5OKW4uSj1bXSxuLmp4PTA7cmV0dXJuIFd9Owpycz1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5OO24uWHx8KFc9TWF0aC5tYXgoVy0xLDApKTtyZXR1cm4gVypHWShuKX07CnNCPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+PW4uTlcoKS1ycyhuKX07CnlwYj1mdW5jdGlvbihuLFcsRCl7RC5JUiYmVy0tO2hEKEQpJiYoVz0xKTt4cChEKSE9PTAmJihuPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfbGl2ZV9jaHVua19yZWFkYWhlYWRfcHJveGltYV9vdmVycmlkZSIpKSYmKFc9bixELk4/Lm51KCkmJlcrKyk7cmV0dXJuIFd9OwpwdT1mdW5jdGlvbihuLFcsRD1udWxsKXtyZXR1cm4gbmV3IE45KGcuZE0obi5CLmV4cGVyaW1lbnRzLFcpfHwwLEQ/bi5CLlMoRCk6ITEpfTsKdTRiPWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpZMD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe1c/Vy50ZXN0KEQpPyhuLkdzKHYsVyxoKSxXLlZ8fGsoKSk6KCFXLkp8fFcuWD9EPSExOihEPSgwLGcuUikoKSxiP1cuTnx8KFcuTj1EKTpXLk49MCxrPSFiJiZELVcuSj4zRTQsRD1XLk4mJkQtVy5OPjFFM3x8az9XLlg9ITA6ITEpLEQmJih4PXsuLi5uLnlyKFcpLC4uLnh9LHgud249aCx4LndlPXYseC53c3VjPWIsbi5MLlUoIndvcmthcm91bmRSZXBvcnQiLHgpLGImJihXLnJlc2V0KCksbi5YW3ZdPSExKSkpOm4uTC5QVigiYXV0aCIsMiwiQlJPV1NFUl9PUl9FWFRFTlNJT05fRVJST1IiLGcuVEMoe3NvdXJjZToid2F0Y2hkb2ciLG5hbWU6aH0pKX07Cm9veD1mdW5jdGlvbihuLFcpe2lmKG4uTil7dmFyIEQ9bi5OO3ZhciBiPW4uZ2V0Q3VycmVudFRpbWUoKSx2PUQuTlcoKTt2YXIgaz1ELnBvbGljeS5KO0QuWHx8KGs9TWF0aC5tYXgoay0xLDApKTtrKj1HWShEKTtiPj12LWt8fCFELmpYKCk/RD1iPEQudmlkZW9EYXRhLkxmKCk/TWF0aC5taW4oRC52aWRlb0RhdGEuTGYoKSsxMCxELk5XKCkpOk5hTjooRC5wb2xpY3kuaiYmKEQucG9saWN5Lk8/KEQucG9saWN5Lko9TWF0aC5taW4oRC5wb2xpY3kuSitELnBvbGljeS5LLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5taW4oRC5wb2xpY3kuTisxLDEwKSk6KEQucG9saWN5Lko9TWF0aC5tYXgoRC5wb2xpY3kuSisxLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5tYXgoRC5wb2xpY3kuTisxLDEwKSkpLEQ9SW5maW5pdHkpO2lmKCFpc05hTihEKSl7aWYobi5sb2FkZXImJlcmJihXPW4uUyQuaXNBY3RpdmUoKSxiPW4uTi5OVygpLChiPWlQUyhuLmxvYWRlcixiLW4uU1coKSkpJiYKIVcpKXtuLlMkLnN0YXJ0KCk7bi5MLlUoImluQnVmZmVyUHRsIix7Y210Om4uZ2V0Q3VycmVudFRpbWUoKSxzZWVrVG86YituLlNXKCl9KTtuLnNlZWtUbyhiK24uU1coKSx7cWQ6InNlZWt0aW1lbGluZV9pbkJ1ZmZlclNlZWsiLHNlZWtTb3VyY2U6MzR9KTtyZXR1cm59bi5zZWVrVG8oRCx7cWQ6InNlZWt0aW1lbGluZV9wZWdUb0xpdmUiLHNlZWtTb3VyY2U6MzR9KX19fTsKZnU9ZnVuY3Rpb24obixXKXtpZihuLlgpe24udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuLnZpZGVvRGF0YS5XJiYhbi52aWRlb0RhdGEuVy5OKCkmJm4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5YKCk+MCYmb3Uobi5tZWRpYUVsZW1lbnQpPjAmJihuLko9SGQobixuLkosITEpKTt2YXIgRD1uLlMoImh0bWw1X3BzZXVkb2dhcGxlc3Nfc2hvcnRzX3NlZWtfdG9fbmV4dF9zdGFydCIpJiZXPy5zZWVrU291cmNlPT09NjA7aWYoIW4ubWVkaWFFbGVtZW50fHwhZGpyKG4sRCkpbi5SYS5zdGFydCg3NTApO2Vsc2UgaWYoIWlzTmFOKG4uSikmJmlzRmluaXRlKG4uSikmJihEPW4uSEotKG4uSi1uLnRpbWVzdGFtcE9mZnNldCksIShEPT09MHx8TWF0aC5hYnMoRCk8LjAwNSkpKWlmKEQ9bi5tZWRpYUVsZW1lbnQuZ2V0Q3VycmVudFRpbWUoKS1uLkosTWF0aC5hYnMoRCk8PW4uRHR8fE1hdGguYWJzKEQpPC4wMDUpenkxKG4pO2Vsc2V7aWYobi52aWRlb0RhdGEuTWwpbi52aWRlb0RhdGEuTWw9CiExO2Vsc2UgaWYoIWcuRFAobi52aWRlb0RhdGEpJiZuLko+PW4uckkoKS0uMSYmKG4uckkoKSE9PTB8fFc/LnFkIT09InNlZWt0aW1lbGluZV9zZXR1cE1lZGlhRWxlbWVudCIpKXtuLko9bi5ySSgpO24uWC5yZXNvbHZlKG4uckkoKSk7bi5CLldYKCkmJm4uTC5VKCJzZXRFbmRlZEluU2VlayIse3RndDpgJHtuLkp9YCxtYXhzdDpgJHtuLnJJKCl9YH0pO24uTC5rTigpO3JldHVybn10cnl7bGV0IGI9bi5KLW4udGltZXN0YW1wT2Zmc2V0O24ubWVkaWFFbGVtZW50LnNlZWtUbyhiKTtuLk8uTj1iO24uSEo9YjtuLlc9bi5KO24uY0o9ITF9Y2F0Y2goYil7fX19fTsKVEUyPWZ1bmN0aW9uKG4sVyl7bi5UQz0hMDtuLmxuKCkmJihuLko9bi5WLG4uVz1uLkosbi5WPU5hTik7bEF0KG4sVyl9OwpqYjI9ZnVuY3Rpb24obil7dmFyIFc9MCxEPU5hTixiPSIiO2lmKCFuLkQpcmV0dXJue3N0YXJ0U2Vjb25kczpXLE12OkQsc291cmNlOmJ9O24udmlkZW9EYXRhLlJJP1c9bi52aWRlb0RhdGEuSlU6Zy5EUChuLnZpZGVvRGF0YSkmJihXPUluZmluaXR5KTtpZihnLnBBKG4udmlkZW9EYXRhKSlyZXR1cm57c3RhcnRTZWNvbmRzOlcsTXY6RCxzb3VyY2U6Yn07bi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzPyhiPSJzcyIsVz1uLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpOm4udmlkZW9EYXRhLlVyJiYoYj0ic3RzcyIsVz1uLnZpZGVvRGF0YS5Vcik7bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyYmKEQ9bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyk7aWYoaXNGaW5pdGUoVykmJihXPm4uckkoKXx8VzxuLkxmKCkpKXtsZXQgdj17fTt2Lm1pblNlZWthYmxlVGltZT1uLkxmKCk7di5tYXhTZWVrYWJsZVRpbWU9bi5ySSgpO3YuY210PW4uZ2V0Q3VycmVudFRpbWUoKTt2LnNzPQpXO3YudXRjPUQ7di5zcmM9YjtuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLHYpO24udmlkZW9EYXRhLnpXKCkmJihXPUhkKG4sVywhMSkpfXJldHVybntzdGFydFNlY29uZHM6VyxNdjpELHNvdXJjZTpifX07CkpDPWZ1bmN0aW9uKG4pe3JldHVybiEhbi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzJiZpc0Zpbml0ZShuLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpJiZuLnZpZGVvRGF0YS5zdGFydFNlY29uZHM+MUU5fTsKRjNiPWZ1bmN0aW9uKG4sVyl7bi5wbGF5YmFja0RhdGE9VztuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKG4uWT1uZXcgQ3laKCgpPT57YTp7aWYobi5wbGF5YmFja0RhdGEmJm4ucGxheWJhY2tEYXRhLk4uTigpKXtpZihJNChuLnZpZGVvRGF0YSkmJm4ubG9hZGVyKXt2YXIgRD1uLmxvYWRlci5xaCgpO2JyZWFrIGF9aWYobi52aWRlb0RhdGEuTil7RD1uLnZpZGVvRGF0YS5OLnFoKCk7YnJlYWsgYX19RD0wfXJldHVybiBEfSksbi5OPW5ldyBCRWIobi52aWRlb0RhdGEsbi5CLmV4cGVyaW1lbnRzLCgpPT5uLnJJKCEwKSkpOwpJYyhuLkwpPyhuLnZpZGVvRGF0YS5nVD8uQWp8fChXPWpiMihuKSxXLk12PyhnLllOKG4udmlkZW9EYXRhKSYmbi5odShXLk12LFcuc3RhcnRTZWNvbmRzKSxuLlc9Vy5zdGFydFNlY29uZHMpOlcuc3RhcnRTZWNvbmRzPjAmJm4uc2Vla1RvKFcuc3RhcnRTZWNvbmRzLHtxZDoic2Vla3RpbWVsaW5lX3N0YXJ0UGxheWJhY2siLHNlZWtTb3VyY2U6MTUsQU06ITB9KSksbi5EPSExKTpKQyhuKXx8KG4uVz1uLld8fG4udmlkZW9EYXRhLnN0YXJ0U2Vjb25kc3x8MCxuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFc9bi5MLnZpZGVvRGF0YS5ySSgpLG4uVz5XJiYobi5TKCJodG1sNV9zYWJyX2xvZ19pbnZhbGlkX3NhYnJfY3VycmVudF90aW1lIikmJm4uTC5VKCJpbnZhbGlkU2FickNtdFN0YXJ0Iix7cnQ6bi5XLG1zdDpXfSksbi5TKCJodG1sNV9zYWJyX3ZvZF9pbnZhbGlkX3N0YXJ0X3RpbWVfZmFsbGJhY2siKSYmKG4uVz0wKSkpKX07ClNoPWZ1bmN0aW9uKG4sVyl7aWYobi5OJiZuLmxvYWRlcil7dmFyIEQ9ITE7Vz9EPSEwOlN4KG4udmlkZW9EYXRhKT9EPWlYUyhuLk4pOm4uQ3UmJihuLkN1PSExLEQ9aVhTKG4uTiwhMCkpO0QmJihEPW4uTC5CWCxXPSQwKG4uTiksRC5xb2UmJihEPUQucW9lLGcud2ooRCxnLlJrKEQucHJvdmlkZXIpLCJscmEiLFtXXSksRC5VKCJsaXZlLXJlYWRhaGVhZC1zZWNvbmRzIix7djpXfSkpKTtXPW4ubG9hZGVyO0Q9bi5OLk47bj1uLk47bj0obi5OLTErbi5wb2xpY3kuTikqR1kobik7dmFyIGI9TmFOO3ZhciB2PVcuVHI7dj09PTJ8fHY9PT0tMT8odj1ELGhEKFcuTC5nZXRWaWRlb0RhdGEoKSkmJihiPVcucG9saWN5LnpQKSk6dj1ELTE7dj1NYXRoLm1heCh2LDApO0Q9Vy5OeTtELlpBPXY7RC5YPWI7Vy5RdSYmKFcuUXUuTz1uKX19Owptbz1mdW5jdGlvbihuLFcpeyhuLmxvYWRlcj1XKT9TaChuLCEwKTpnLkFDKG4pfTsKZGpyPWZ1bmN0aW9uKG4sVz0hMSl7aWYoIW4ubWVkaWFFbGVtZW50fHxuLm1lZGlhRWxlbWVudC5YKCk9PT0wfHxuLm1lZGlhRWxlbWVudC5oYXNFcnJvcigpKXJldHVybiExO3ZhciBEPW4ubWVkaWFFbGVtZW50LmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCl8fG4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHwhbi52aWRlb0RhdGEuTWkoKT9uLko+PTAmJiFXJiYoVz1uLm1lZGlhRWxlbWVudC5PKCksVy5sZW5ndGh8fCFEKT9CUihXLG4uSi1uLnRpbWVzdGFtcE9mZnNldCk6RDpEfTsKTVoxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRDdXJyZW50VGltZSgpLGI9bi5pc0F0TGl2ZUhlYWQoRCk7aWYobi5ZJiZiKXt2YXIgdj1uLlk7aWYodi5OJiYhKEQ+PXYuSiYmRDx2LlgpKXt2YXIgaz12Lk4uUjMoRCk7ayE9PS0xJiYodi5KPXYuTi5nZXRTdGFydFRpbWUoayksdi5YPXYuSit2Lk4uZ2V0RHVyYXRpb24oayksaz0oMCxnLlIpKCkvMUUzLXYuTi5oQyhrKSxrLT12LmooKSx2LlcuYWRkKGspKX19bi5OJiYoYiYmKHY9bi5OLGs9bi56cygpLHYuangrKyx2Lmp4PDN8fERhdGUubm93KCktdi5WPDNFM3x8KHYuVj1EYXRlLm5vdygpLHYuSi5wdXNoKGspLHYuSi5sZW5ndGg+NTAmJnYuSi5zaGlmdCgpKSksbi5OLlUzKEQsVyksVyYmb294KG4sITApKTtiIT09bi5QWCYmKG4uQi5adCgpLk4uUVEod0kxKSYmbi52aWRlb0RhdGEuUkk/bi5QWD1iOihXPShuLkIuWnQoKS5OLlFRKHdJMSk/KG4uZ2V0Q3VycmVudFRpbWUoKS1uLkdDKSoxRTM6bi5nZXRDdXJyZW50VGltZSgpLQpuLkdDKTw9NTAwLEQ9bi5ZWj49MUUzLFd8fER8fChXPW4uTC5CWCxXLnFvZSYmKFc9Vy5xb2UsRD1nLlJrKFcucHJvdmlkZXIpLGcud2ooVyxELCJsaCIsW2I/IjEiOiIwIl0pKSxuLlBYPWIsbi5ZWisrLG4uR0M9bi5nZXRDdXJyZW50VGltZSgpKSkpfTsKZy5LdT1mdW5jdGlvbihuLFcpe3ZhciBEPW4uWDtEfHwobi5YPW5ldyBZNixEPW4uWCxmdShuLFcpKTtyZXR1cm4gRH07CkhkPWZ1bmN0aW9uKG4sVyxEKXtpZihpc05hTihXKSlyZXR1cm4gTmFOO3ZhciBiPW4uTGYoKTtEPW4uckkoRCk7cmV0dXJuIG4uUygiaHRtbDVfY2xhbXBfaW52YWxpZF9zZWVrX3RvX21pbl9zZWVrYWJsZV90aW1lIikmJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmVz5EKzEmJlc8SW5maW5pdHk/KG4uQi5XWCgpJiZuLkwuVSgiY2xhbXBJbnZhbGlkU2VlayIse3RndDpgJHtXfWAsbWF4c3Q6YCR7RH1gfSksYik6Zy5GZihXLGIsRCl9OwpSeWk9ZnVuY3Rpb24obixXKXtuLlc9V307ClFidz1mdW5jdGlvbihuLFc9ITEpe24uanx8IShuLlc+MCl8fG4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpPjB8fChXPXtxZDoic2Vla3RpbWVsaW5lX3Jlc3VtZVRpbWUiLEFNOld9LG4udmlkZW9EYXRhLll8fChXLnNlZWtTb3VyY2U9MTUpLG4uc2Vla1RvKG4uVyxXKSl9OwpsQXQ9ZnVuY3Rpb24obixXKXtWWmkobixXKS50aGVuKHZvaWQgMCwoKT0+e2cuQUMobil9KTsKZy5LdShuLFcpLnRoZW4oRD0+e2cuT0IobixEKX0sKCk9PntnLkFDKG4pfSk7Cm4uTC53WShXKTtuLkIuV1goKSYmKFc9bi55cigpLFdbIm5hdGl2ZSJdPWAkeytuLmNKfWAsVy50Z3Q9YCR7bi5KfWAsVy5vdGd0PWAke24uSituLnRpbWVzdGFtcE9mZnNldH1gLFcubWF4c3Q9YCR7bi5ySSgpfWAsbi5OJiZuLlMoImh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZyIpJiYoVy50aHQ9YCR7bi5OLmooKX1gLFcuaHQ9YCR7bi5OLk5XKCl9YCxXLmFkZnQ9YCR7cnMobi5OKX1gKSxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJm4udmlkZW9EYXRhLk4mJmcuWU4obi52aWRlb0RhdGEpJiYoVy5taW5zdD1gJHtuLnZpZGVvRGF0YS5OLkgyfWAsVy5jbWluc3Q9YCR7bi52aWRlb0RhdGEuTi5MZigpK24udGltZXN0YW1wT2Zmc2V0fWAsVy5tYXhzdD1gJHtuLnZpZGVvRGF0YS5OLldNfWAsVy5odHM9YCR7bi52aWRlb0RhdGEuTi50d31gLFcuY21heHN0PWAke24udmlkZW9EYXRhLk4uckkoKStuLnRpbWVzdGFtcE9mZnNldH1gKSwKbi5MLlUoInN0YXJ0U2VlayIsVykpfTsKVlppPWZ1bmN0aW9uKG4sVyl7bi50d3x8KG4ubG9hZGVyP2lzRmluaXRlKG4uSik/bi50dz1uLmxvYWRlci5zZWVrKG4uSi1uLnRpbWVzdGFtcE9mZnNldCxXKTooZy5EUChuLnZpZGVvRGF0YSksbi5MLmhhPTAsbi50dz1SJChuLmxvYWRlcikscEwobi52aWRlb0RhdGEpfHwobi5KPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCkrbi50aW1lc3RhbXBPZmZzZXQpKTpuLnR3PSRHKG4uSi1uLnRpbWVzdGFtcE9mZnNldCkpO3JldHVybiBuLnR3fTsKZy5PQj1mdW5jdGlvbihuLFcpe24uaiYmKG4uai5yZXNvbHZlKFcpLG4uTC5LdCgpLG4uQi5XWCgpJiYoVz1uLnlyKCksV1sibmF0aXZlIl09YCR7K24uY0p9YCxXLm90Z3Q9YCR7bi5KK24udGltZXN0YW1wT2Zmc2V0fWAsbi5MLlUoInNlZWtFbmQiLFcpKSk7Zy5BQyhuKX07Cnp5MT1mdW5jdGlvbihuKXtuLlgmJihuLlgucmVzb2x2ZShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpKSxuLk8uSj1udWxsKX07CmcuQUM9ZnVuY3Rpb24obil7bi5KPU5hTjtuLlY9TmFOO24uSEo9TmFOO24uWD1udWxsO24udHc9bnVsbDtuLmo9bnVsbDtuLlRDPSExO24uY0o9ITE7bi5EdD0wO24uUyQuc3RvcCgpO24ubnUuc3RvcCgpfTsKYUF3PWZ1bmN0aW9uKG4pe2lmKG4uRClpZihuLnZpZGVvRGF0YS5nVD8uQWopbi5EPSExO2Vsc2UgaWYoZy5wQShuLnZpZGVvRGF0YSkpbi5EPSExO2Vsc2V7dmFyIFc9InNzIixEPTA7bi52aWRlb0RhdGEuTj8uaXNNYW5pZmVzdGxlc3MmJm4udmlkZW9EYXRhLlRDJiYhSkMobikmJihXPSJtc3MiLEQ9bi52aWRlb0RhdGEuVEMpOyhuLnZpZGVvRGF0YS5SST9uLlMoImh0bWw1X3ByaW9yaXRpemVfd2luZG93ZWRfc3Rfc3RhcnRfc2Vjb25kcyIpOm4uUygiaHRtbDVfcHJpb3JpdGl6ZV9zdF9zdGFydF9zZWNvbmRzIikpJiYhRCYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTshRCYmY3B0KG4pJiYoRD1uLnZpZGVvRGF0YS5saXZlVXRjU3RhcnRTZWNvbmRzfHxuLnZpZGVvRGF0YS5UQyxXPSJ1dGMiLEQ9bi5ySSgpLW4uaEMobi5ySSgpKStEKTshRCYmbi52aWRlb0RhdGEuelcoKSYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTsKdmFyIGI9e307aWYoRCl7aWYoRD5uLnJJKCl8fEQ8bi5MZigpKWIubWluU2Vla2FibGVUaW1lPW4uTGYoKSxiLm1heFNlZWthYmxlVGltZT1uLnJJKCksYi5jbXQ9bi5nZXRDdXJyZW50VGltZSgpLGIuaXQ9bi5oQyhuLmdldEN1cnJlbnRUaW1lKCkpLGIuc3M9RCxiLnV0Yz1jcHQobik/bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kc3x8bi52aWRlb0RhdGEuVEM6MCxuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLGIpLG4udmlkZW9EYXRhLnpXKCkmJihEPUhkKG4sRCwhMSkpO24uc2Vla1RvKEQse3FkOiJzZWVrdGltZWxpbmVfc3RhcnRTZWNvbmRzIn0pO2JbV109RDtuLkwuVSgic3RhcnRTZWNvbmRzIixiKTtuLkQ9ITF9ZWxzZSBuLnZpZGVvRGF0YS5UQyYmKGJbV109bi52aWRlb0RhdGEuVEMrbi5TVygpLG4uTC5VKCJzdGFydFNlY29uZHMiLGIpKX19OwpuQXg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLm1lZGlhRWxlbWVudCxiPVcudHlwZTtzd2l0Y2goYil7Y2FzZSAic2Vla2luZyI6bGV0IHY9RC5nZXRDdXJyZW50VGltZSgpK24udGltZXN0YW1wT2Zmc2V0O2lmKCFuLlh8fG4uY0omJnYhPT1uLkopbi5YPW5ldyBZNixuLlgudGhlbihrPT57Zy5PQihuLGspfSwoKT0+e2cuQUMobil9KSxuLnZpZGVvRGF0YS5pc0FkKCkmJm5uMSh7YWRDcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSwKY29udGVudENwbjpuLnZpZGVvRGF0YS5ob3N0Q3BuPz8iIn0sVy5OKSxuLkhKPXYsdTRiKG4uTyxELmdldEN1cnJlbnRUaW1lKCkpLG4uc2Vla1RvKHYse3NlZWtTb3VyY2U6MTA0LHFkOiJzZWVrdGltZWxpbmVfbWVkaWFFbGVtZW50RXZlbnQifSksbi5jSj0hMDticmVhaztjYXNlICJzZWVrZWQiOnp5MShuKTticmVhaztjYXNlICJsb2FkZWRtZXRhZGF0YSI6SWMobi5MKXx8YUF3KG4pO2Z1KG4pO2JyZWFrO2Nhc2UgInByb2dyZXNzIjpmdShuKTticmVhaztjYXNlICJwYXVzZSI6bi5LPW4uZ2V0Q3VycmVudFRpbWUoKX1uLksmJigoYj09PSJwbGF5Inx8Yj09PSJwbGF5aW5nInx8Yj09PSJ0aW1ldXBkYXRlInx8Yj09PSJwcm9ncmVzcyIpJiZuLmdldEN1cnJlbnRUaW1lKCktbi5LPjEwJiYobi5TKCJodG1sNV9za3lfc2tpcF9wYXVzZV9qdW1wIik/bi5MLlUoInNraXBQYXVzZUp1bXAiLHtldnQ6YixjbXQ6bi5nZXRDdXJyZW50VGltZSgpLGxwdDpuLkt9KTpuLnNlZWtUbyhuLkssCntxZDoicGF1c2VKdW1wIn0pKSxiIT09InBhdXNlIiYmYiE9PSJwbGF5IiYmYiE9PSJwbGF5aW5nIiYmYiE9PSJwcm9ncmVzcyImJihuLks9MCkpfTsKY3B0PWZ1bmN0aW9uKG4pe3JldHVybihZcChuLnZpZGVvRGF0YSl8fCEhbi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcykmJighIW4udmlkZW9EYXRhLmxpdmVVdGNTdGFydFNlY29uZHN8fEpDKG4pKSYmISFuLnZpZGVvRGF0YS5OfTsKUGQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmdldChXKT8uYnVmZmVyLlcoKXx8W119OwpaNz1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4uZ2V0KFcpPy5idWZmZXIuWCgpfHwwfTsKTHIxPWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRChrKXtyZXR1cm4gYi5WIT09Inl0IiYmKHYucGFydG5lcklkPT09MzgmJmIucGxheWVyU3R5bGU9PT0iYm9va3MifHx2LnBhcnRuZXJJZD09PTMwJiZiLnBsYXllclN0eWxlPT09ImRvY3MifHx2LnBhcnRuZXJJZD09PTMzJiZiLnBsYXllclN0eWxlPT09Imdvb2dsZS1saXZlIik/V3JoKG4sdixrKTpEMXQobix2KS50aGVuKCgpPT57Yi5TKCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpJiZuLkcoKS5UNyYmdi5pc0VtYmVkc1Nob3J0c01vZGUobmV3IGcuUWUoMCwwKSwhIXYucGxheWxpc3RJZCk/YlVVKG4sdik6VUIobix2KX0saD0+e1VCKG4sdiwhMCk7CnRocm93IGg7fSl9CnZhciBiPW4uRygpLHY9bi5nZXRWaWRlb0RhdGEoKTt2LnFOKCk7di5sb2FkaW5nPSEwO3JldHVybiB2QWoobik/a1VpKG4sdixXKS50aGVuKCgpPT57VUIobix2KX0saz0+e2s9QiQoayk7CmlmKGoyKGsuc2V2ZXJpdHkpKXJldHVybiBVQihuLHYsITApLFByb21pc2UucmVqZWN0KGspO2suZXJyb3JDb2RlPT09Im9uZXNpZS5yZXNwb25zZS5iYWRwcm94eXN0YXR1cyImJmAke2suZGV0YWlscy5zdH1gPT09IjMiJiYoaHBTPSEwKTtuLmhhbmRsZUVycm9yKGspO3JldHVybiBEKCJvbmVzaWUiKX0pOmIuUygiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmYi5UNz94MVUobix2KS50aGVuKCgpPT5EKCJndmkiKSk6RCgiZ3ZpIil9Owp2QWo9ZnVuY3Rpb24obil7dmFyIFc9bi5HKCk7aWYoVy5TKCJodG1sNV9kaXNhYmxlX29uZXNpZSIpfHwhVy5TKCJodG1sNV9vbmVzaWUiKXx8IVcuUygiaHRtbDVfb25lc2llX2lubGluZSIpJiZuLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09NXx8Vy5WIT09Inl0IilyZXR1cm4hMTt2YXIgRD1XLlBYO2lmKCFEfHwhRC5OKXJldHVybiBuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJvbmVzaWUudW5hdmFpbGFibGUuaG90Y29uZmlnIix7a2V5OiIwIn0pKSwhMTtpZihELk4uSzwoMCxnLlIpKCkmJihuLlUoIm9rZXhwIiwiMSIpLChEPW4uVTQoKSkmJlcuUygiaHRtbDVfcHJlZmVyX3RydXN0ZWRfaG9zdF9vbl9rZXlfZXhwaXJhdGlvbiIpKSl7RC5KPSEwO2xldCBiPUQuTi5nZXQoMCk/Lk4oKTtiJiYheHcoYikmJkQuTi5kZWxldGUoMCl9aWYoaHBTKXJldHVybiBuLlUoIm9zdDMiLCIxIiksITE7RD17fTtyZXR1cm4gT2JqZWN0LmtleXMoRCkubGVuZ3RoPjA/KEQub25lc2llPSIwIixuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJodG1sNS5taXNzaW5nYXBpIiwKRCkpLCExKTpuLmdldFZpZGVvRGF0YSgpLmxpdmVQcmVsb2FkJiZXLlp0KCkuTi5RUShIcCk/ITE6ITB9Owp5YT1mdW5jdGlvbihuLFcpe3ZhciBEPWcucDIoKTtnLllGKEQsVyk7cmV0dXJuIG5jKEQsaVooKSx7b1M6bi5KLGNsaWVudEludGVyZmFjZTpsbyhuKX0pfTsKZXBaPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5HKCkpJiZXLnZKKCk/YCR7bi5nZXRQbGF5ZXJUeXBlKCl9XyR7Vy52aWRlb0lkfV8ke1cuS2Z9YDpgJHtuLmdldFBsYXllclR5cGUoKX1fJHtXLnZpZGVvSWR9XyR7Vy5LZn1fJHsrVy5pc0F1dG9uYXZ9JHsrVy5WVH1gfTsKa1VpPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtXLmZldGNoVHlwZT0ib25lc2llIjt2YXIgYj12b2lkIDA7aWYoeVUoVykpaWYoYj1uLmk3KXt2YXIgdj1lcFoobixXKTtiPWIuZ2V0KHYpfWVsc2UgYj12b2lkIDA7dj1uLnRiLlFwO2lmKGIpe2lmKFcubG9hZGluZz0hMSxXLk5WPSEwLHpmKFcse3BsYXllcl9yZXNwb25zZTpifSwhMCksVy5sb2FkaW5nfHxIaihXKSlyZXR1cm4gbi5VKCJwcnIiLCIxIiksUHJvbWlzZS5yZXNvbHZlKCl9ZWxzZXtiPWxGKFcsbi5nZXRQbGF5ZXJTaXplKCksbi5nZXRWaXNpYmlsaXR5U3RhdGUoKSk7RD1uZXcgS0QobixiLEQpO2I9YXdhaXQgRC5mZXRjaCgpO2xldCBoPXtwbGF5ZXJfcmVzcG9uc2U6Yn07Vy5sb2FkaW5nPSExO2lmKEQubkEpe2ZvcihsZXQgW3gsTF1vZiBELm5BLmVudHJpZXMoKSl7dmFyIGs9eDtsZXQgZT1MO3YuTi5zZXQoayxlLDE4MCk7az09PVcudmlkZW9JZCYmKGs9ZS5TSigpLFcub009ayl9di5VZz1EfWZvcihsZXQgW3gsTF1vZiBELnQwLmVudHJpZXMoKSl2Lkouc2V0KHgsCkwsMTgwKTt6ZihXLGgsITApO2lmKFcubG9hZGluZ3x8SGooVykpcmV0dXJuIHlVKFcpJiYodj1lcFoobixXKSxXPVcuZ2V0UGxheWVyUmVzcG9uc2UoKSkmJihXPVcucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9XLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLG4uaTc/LnB1dCh2LGIsVykpLFByb21pc2UucmVzb2x2ZSgpfXYuTi5UaSgpO3YuSi5UaSgpO1cub009W107bj17fTt2PSJvbmVzaWUucmVzcG9uc2UiO0Q9MDtXLmVycm9yQ29kZT8odj0iYXV0aCIsbi5lYz1XLmVycm9yQ29kZSxuLmVkPVcuZXJyb3JEZXRhaWwsbi5lcz1XLndpfHwiIixEPTIpOihuLnN1Y2Nlc3NCdXRVbnBsYXlhYmxlPSIxIixuLmRpc3Bvc2VkPWAkeytXLnFOKCl9YCxuLmFmbXRzPWAkeysvYWRhcHRpdmVGb3JtYXRzLy50ZXN0KGIpfWAsbi5jcG49Vy5jbGllbnRQbGF5YmFja05vbmNlKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kodiwKbixEKSl9OwpEMXQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1XLmlzQWQoKSxiPSFELHY9RD8xOjM7Zm9yKGxldCBoPTA7aDx2O2grKyl7aWYoaD4wKXthd2FpdCBnLlV1KDVFMyk7dmFyIGs9bmV3IGcuUXgoIlJldHJ5aW5nIE9uZVBsYXRmb3JtIHJlcXVlc3QiLHthdHRlbXB0Omh9KTtnLkdxKGspfXRyeXthd2FpdCBnQWkobixXKTtyZXR1cm59Y2F0Y2goeCl7bGV0IEw9QiQoeCk7az1MLmVycm9yQ29kZTtsZXQgZT1uLkcoKS5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/NDAxOiI0MDEiO2ImJms9PT0ibWFuaWZlc3QubmV0LmJhZHN0YXR1cyImJkwuZGV0YWlscy5yYz09PWUmJihiPSExLGg9PT12LTEmJih2Kz0xKSk7aWYoaD09PXYtMSlyZXR1cm4gbj1Yc2koRCxMLmRldGFpbHMpLG4uZGV0YWlscy5iYWNrZW5kPSJvcCIsbi5kZXRhaWxzLm9yaWdpbmVjPWssUHJvbWlzZS5yZWplY3Qobik7aWYoaz09PSJhdXRoInx8az09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQifHwKZy5DTihuLkcoKSkpcmV0dXJuIFByb21pc2UucmVqZWN0KEwpO24uaGFuZGxlRXJyb3IoTCk7aWYoajIoTC5zZXZlcml0eSkpYnJlYWt9fXJldHVybiBQcm9taXNlLnJlamVjdChYc2koRCx7YmFja2VuZDoib3AifSkpfTsKZ0FpPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Vy5mZXRjaFR5cGU9ImdwIjt2YXIgRD1uLkcoKSxiPWcuSEUoRCxXLlYoKSk7Yj1iLk4/YXdhaXQgYi5OOmIuZ2V0VmFsdWUoKTt2YXIgdj15YShELGIpLGs9bEYoVyxuLmdldFBsYXllclNpemUoKSxuLmdldFZpc2liaWxpdHlTdGF0ZSgpKSxoPUxCKHF5aikseD1XLlYoKSxMPSgwLGcuUikoKSxlPSExLEc9ImVtcHR5IjtiPTA7bi5EaygicHNucyIpO3ZhciByPXtsZzpmdW5jdGlvbihOKXtOLnJlYWR5U3RhdGU9PT0yJiZuLkRrKCJwc19jIil9fTsKaWYoRC5KKXtsZXQgTj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX0sSD1kbChXLmdldFJlc29sdmVVcmxSZXNwb25zZSgpKTtIJiYoTi5wYXJhbXM9SCk7Vy5wbGF5bGlzdElkJiYoTi5wbGF5bGlzdElkPVN0cmluZyhXLnBsYXlsaXN0SWQpKTtyLkhuPXtSTDp5SCgicGxheWVyIixOKX19dj1hd2FpdCBnLnJfKHYsayxoLHZvaWQgMCxyKTtuLkRrKCJwc25yIik7aWYoIVcucU4oKSl7dj8iZXJyb3IiaW4gdiYmdi5lcnJvcj8oZT0hMCxHPWBlc2Y6JHt2LmVycm9yLm1lc3NhZ2V9YCxiPXYuZXJyb3IuY29kZSk6di5lcnJvck1ldGFkYXRhJiYoZT0hMCxHPSJpdHMiLGI9di5lcnJvck1ldGFkYXRhLnN0YXR1cyk6ZT0hMDtpZihlKXJldHVybiBlPTAsdj0oKDAsZy5SKSgpLUwpLnRvRml4ZWQoKSxMPXt9LEw9RC5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/e2JhY2tlbmQ6Im9wIixyYzpiLHJ0OnYscmVhc29uOkcsaGFzX2twdDpXLkhKPyIxIjoiMCIsaGFzX21keF9lbnY6Vy5tZHhFbnZpcm9ubWVudD8KIjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8iMSI6IjAiLG1keF9jdHJsOlcuaTV8fCIiLHRva2VuX2VxOng9PT1XLlYoKT8iMSI6IjAifTp7YmFja2VuZDoib3AiLHJjOmAke2J9YCxydDp2LHJlYXNvbjpHLGhhc19rcHQ6Vy5ISj8iMSI6IjAiLGhhc19tZHhfZW52OlcubWR4RW52aXJvbm1lbnQ/IjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8KIjEiOiIwIixtZHhfY3RybDpXLmk1fHwiIix0b2tlbl9lcTp4PT09Vy5WKCk/IjEiOiIwIn0sVz0ibWFuaWZlc3QubmV0LmNvbm5lY3QiLGI9PT00Mjk/KFc9ImF1dGgiLGU9Mik6Yj4yMDAmJihXPSJtYW5pZmVzdC5uZXQuYmFkc3RhdHVzIixiPT09NDAwJiYoZT0yKSksUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koVyxMLGUpKTtXLmxvYWRpbmc9ITE7emYoVyx7cmF3X3BsYXllcl9yZXNwb25zZTp2fSwhMCk7Zy5DTihXLkcoKSkmJnYmJnYudHJhY2tpbmdQYXJhbXMmJmcueXIodi50cmFja2luZ1BhcmFtcyk7aWYoVy5lcnJvckNvZGUpcmV0dXJuIEQ9e2VjOlcuZXJyb3JDb2RlLGVkOlcuZXJyb3JEZXRhaWwsZXM6Vy53aXx8IiJ9LGI9ImF1dGgiLGcuQ04oVy5HKCkpJiZXLmVycm9yQ29kZSYmKGI9Vy5lcnJvckNvZGUpLFByb21pc2UucmVqZWN0KG5ldyBnLkNpKGIsRCwyKSk7aWYoIVcubG9hZGluZyYmIUhqKFcpKXJldHVybiBEPVcuaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIiwKUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koRCx7c3VjY2Vzc0J1dFVucGxheWFibGU6IjEiLGhhc01lZGlhOmcuWUwoVyk/IjEiOiIwIn0sMikpfX07CldyaD1hc3luYyBmdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe3JldHVybiEwfQpmdW5jdGlvbiB2KGUpe2U9QiQoZSk7aWYoajIoZS5zZXZlcml0eSkpcmV0dXJuIFByb21pc2UucmVqZWN0KGUpO24uaGFuZGxlRXJyb3IoZSk7cmV0dXJuITF9CnZhciBrPXNfMihuLkcoKSxXLG4uZ2V0UGxheWVyU2l6ZSgpLG4uZ2V0VmlzaWJpbGl0eVN0YXRlKCksbi5pc0Z1bGxzY3JlZW4oKSksaD1XLmlzQWQoKSx4PWg/MTozO2ZvcihsZXQgZT0wO2U8eDtlKyspe3ZhciBMPWs7ZT4wJiYoYXdhaXQgZy5VdSg1RTMpLEw9e3BsYXllcnJldHJ5OmUscGxheWVycmV0cnlzcmM6RH0saHx8KEwucmVjb3Zlcj0iZW1iZWRkZWQiKSxMPWcubHcoayxMKSk7aWYoYXdhaXQgR1UxKFcsTCkudGhlbihiLHYpKXJldHVybn1XPWg/ImF1dGgiOiJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiO0Q9aD8yOjE7aWYoIWgmJk1hdGgucmFuZG9tKCk8MUUtNCl0cnl7Zy5HcShuZXcgZy5ReCgiYi8xNTIxMzE1NzEiLGJ0b2EoaykpKX1jYXRjaHt9cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBnLkNpKFcse2JhY2tlbmQ6Imd2aSJ9LEQpKX07CkdVMT1hc3luYyBmdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQoTCl7aWYoIW4ucU4oKSl7TD1MP0wuc3RhdHVzOi0xO3ZhciBlPTAsRz0oKDAsZy5SKSgpLXgpLnRvRml4ZWQoKTtHPWIuUygiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpP3tiYWNrZW5kOiJndmkiLHJjOkwscnQ6R306e2JhY2tlbmQ6Imd2aSIscmM6YCR7TH1gLHJ0Okd9O3ZhciByPSJtYW5pZmVzdC5uZXQuY29ubmVjdCI7TD09PTQyOT8ocj0iYXV0aCIsZT0yKTpMPjIwMCYmKHI9Im1hbmlmZXN0Lm5ldC5iYWRzdGF0dXMiLEw9PT00MDAmJihlPTIpKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kocixHLGUpKX19Cm4uZmV0Y2hUeXBlPSJndmkiO3ZhciBiPW4uRygpLHY7KHY9TlFpKG4pKT8odj17Zm9ybWF0OiJSQVciLG1ldGhvZDoiUE9TVCIsd2l0aENyZWRlbnRpYWxzOiEwLHRpbWVvdXQ6M0U0LHBvc3RQYXJhbXM6dn0sVz1nLmx3KFcse2FjdGlvbl9kaXNwbGF5X3Bvc3Q6MX0pKTp2PXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHdpdGhDcmVkZW50aWFsczohMCx0aW1lb3V0OjNFNH07dmFyIGs9e307Yi5zZW5kVmlzaXRvcklkSGVhZGVyJiZuLnZpc2l0b3JEYXRhJiYoa1siWC1Hb29nLVZpc2l0b3ItSWQiXT1uLnZpc2l0b3JEYXRhKTt2YXIgaD1nLlloKGIuZXhwZXJpbWVudHMsImRlYnVnX3NoZXJsb2dfdXNlcm5hbWUiKTtoJiYoa1siWC1Zb3V0dWJlLVNoZXJsb2ctVXNlcm5hbWUiXT1oKTtPYmplY3Qua2V5cyhrKS5sZW5ndGg+MCYmKHYuaGVhZGVycz1rKTt2YXIgeD0oMCxnLlIpKCk7dj1hd2FpdCBlNChnLnI4LFcsdikudGhlbih2b2lkIDAsZnVuY3Rpb24oTCl7cmV0dXJuIEQoTC54aHIpfSk7CmlmKCF2fHwhdi5yZXNwb25zZVRleHQpcmV0dXJuIEQodik7bi5sb2FkaW5nPSExO3Y9Zy5pdyh2LnJlc3BvbnNlVGV4dCk7emYobix2LCEwKTtpZihuLmVycm9yQ29kZSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koImF1dGgiLHtlYzpuLmVycm9yQ29kZSxlZDpuLmVycm9yRGV0YWlsLGVzOm4ud2l8fCIifSwyKSk7aWYoIW4ubG9hZGluZyYmIUhqKG4pKXJldHVybiB2PW4uaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixQcm9taXNlLnJlamVjdChuZXcgZy5DaSh2LHtzdWNjZXNzQnV0VW5wbGF5YWJsZToiMSJ9LDIpKX07ClhzaT1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgZy5DaShuPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixXLG4/MjoxKX07ClVCPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPSExKXt2YXIgYj1uLkcoKTtEJiYoIWcuJDYoYil8fElUKFcpIT09ImVtYmVkZGVkIil8fFcuZkN8fElUKFcpIT09ImFkdW5pdCImJihnLms2KGIpfHxnLlhDKGIpfHxnLk1WKGIpfHx0dShiKXx8Zy5EZihiKXx8bG8oYik9PT0iV0VCX0NSRUFUT1IiKXx8KEQ9Zy5IRShiLFcuVigpKSxEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpLHR5MihuLFcsRCkpfTsKdHkyPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt0cnl7bGV0IGs9bi5HKCksaD15YShrLEQpO3ZhciBiPVcuRygpO2xldCB4PWcubzkoKSxMPXtjb250ZXh0Omcub1QoVyksdmlkZW9JZDpXLnZpZGVvSWQscmFjeUNoZWNrT2s6Vy5yYWN5Q2hlY2tPayxjb250ZW50Q2hlY2tPazpXLmNvbnRlbnRDaGVja09rLGF1dG9uYXZTdGF0ZToiU1RBVEVfTk9ORSJ9O0lUKFcpPT09ImFkdW5pdCImJihMLmlzQWRQbGF5YmFjaz0hMCk7Yi5lbWJlZENvbmZpZyYmKEwuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iLmVtYmVkQ29uZmlnKTtiLlluJiYoTC5zaG93Q29udGVudE93bmVyT25seT0hMCk7Vy5TYSYmKEwuc2hvd1Nob3J0c09ubHk9ITApO3guUVEoMTQxKSYmKEwuYXV0b25hdlN0YXRlPXguUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTtpZihnLmVNKGIpKXtsZXQgTj14LlFRKDY1KTtEPU4hPW51bGw/IU46ITE7bGV0IEg9ISFnLlpJKCJ5dC1wbGF5ZXItc3RpY2t5LWNhcHRpb24iKTsKTC5jYXB0aW9uc1JlcXVlc3RlZD1EJiZIfWxldCBlPWIuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmNyeXB0ZWRIb3N0RmxhZ3M7ZSYmKEwucGxheWJhY2tDb250ZXh0PXtlbmNyeXB0ZWRIb3N0RmxhZ3M6ZX0pO3ZhciB2PUw7bGV0IEc9TEIoJDFDKTtuLkRrKCJ3bl9zIik7Yj17fTtrLkomJihiLkhuPXtSTDp5SCgibmV4dCIse3ZpZGVvSWQ6U3RyaW5nKFcudmlkZW9JZCl9KX0pO2xldCByPWF3YWl0IGcucl8oaCx2LEcsdm9pZCAwLGIpO24uRGsoInduX3IiKTshcnx8ImVycm9yImluIHImJnIuZXJyb3J8fChnLkNOKFcuRygpKSYmci50cmFja2luZ1BhcmFtcyYmZy55cihyLnRyYWNraW5nUGFyYW1zKSx6ZihXLHtyYXdfd2F0Y2hfbmV4dF9yZXNwb25zZTpyfSwhMSkpfWNhdGNoKGspe319OwpiVVU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1nLkhFKG4uRygpLFcuVigpKTtEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpO3I2dyhuLFcsRCl9OwpyNnc9YXN5bmMgZnVuY3Rpb24obixXLEQpe249bi5HKCk7dHJ5e2xldCBoPXlhKG4sRCk7bGV0IHg9e2NvbnRleHQ6Zy5vVChXKSxwbGF5ZXJSZXF1ZXN0Ont2aWRlb0lkOlcudmlkZW9JZH0sZGlzYWJsZVBsYXllclJlc3BvbnNlOiEwfSxMPVcuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7aWYoTCl7bGV0IHI9ZGwoTCk7ciYmKHgucGxheWVyUmVxdWVzdC5wYXJhbXM9cik7bGV0IE49ajcoTCk/LnBhcmFtcztOJiYoeC5wYXJhbXM9Til9dmFyIGI9eDtsZXQgZT1MQihzdjIpO0Q9e307aWYobi5KKXtsZXQgcj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX07dmFyIHYsaz1XLmdldFJlc29sdmVVcmxSZXNwb25zZSgpOyh2PWo3KGspPy5wYXJhbXMpJiYoci5wYXJhbXM9dik7RC5Ibj17Ukw6eUgoInJlZWxfaXRlbV93YXRjaCIscil9fWxldCBHPWF3YWl0IGcucl8oaCxiLGUsdm9pZCAwLEQpOyFHfHwiZXJyb3IiaW4gRyYmRy5lcnJvcnx8emYoVyx7cmF3X3JlZWxfaXRlbV93YXRjaF9yZXNwb25zZTpHfSl9Y2F0Y2goaCl7fX07CngxVT1hc3luYyBmdW5jdGlvbihuLFcpe3RyeXtsZXQgaz1uLkcoKSxoPWcuSEUoayxXLlYoKSkseD1oLk4/YXdhaXQgaC5OOmguZ2V0VmFsdWUoKSxMPXlhKGsseCk7dmFyIEQ9bi5nZXRQbGF5ZXJTaXplKCksYj1uLmdldFZpc2liaWxpdHlTdGF0ZSgpO3ZhciB2PXtjb250ZXh0Omcub1QoVyksdXJsOmBodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke1cudmlkZW9JZH1gLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhXLEQsYil9fTtsZXQgZT1MQihONGgpLEc9YXdhaXQgZy5yXyhMLHYsZSk7Vy5xTigpfHxHJiZ6ZihXLHtyYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U6R30sITApfWNhdGNoKGspe319Owpwc3I9ZnVuY3Rpb24obixXKXtuLkRrKCJ2aXIiKTtuLkRrKCJwc19zIik7Zy5nXygidmlyIix2b2lkIDAsInZpZGVvX3RvX2FkIik7Vz1McjEobixXKTtXLnRoZW4oZnVuY3Rpb24oKXtuLkRrKCJ2aXJjIik7Zy5nXygidmlyYyIsdm9pZCAwLCJ2aWRlb190b19hZCIpO24uRGsoInBzX3IiKTtnLmdfKCJwc19yIix2b2lkIDAsInZpZGVvX3RvX2FkIil9LGZ1bmN0aW9uKCl7bi5EaygidmlyYyIpOwpnLmdfKCJ2aXJjIix2b2lkIDAsInZpZGVvX3RvX2FkIil9KTsKcmV0dXJuIFd9OwpFQj1mdW5jdGlvbigpe3ZhciBuPUcxKCk7cmV0dXJuISghbnx8bj09PSJ2aXNpYmxlIil9OwpIVWk9ZnVuY3Rpb24obil7dmFyIFc9WXlpKCk7VyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihXLG4sITEpfTsKZnZpPWZ1bmN0aW9uKG4pe3ZhciBXPVl5aSgpO1cmJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoVyxuLCExKX07Cll5aT1mdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSl2YXIgbj0idmlzaWJpbGl0eWNoYW5nZSI7ZWxzZXtpZighZG9jdW1lbnRbcTArIlZpc2liaWxpdHlTdGF0ZSJdKXJldHVybiIiO249cTArInZpc2liaWxpdHljaGFuZ2UifXJldHVybiBufTsKSXZoPWZ1bmN0aW9uKG4pe0o2cj1ufTsKU3lyPWZ1bmN0aW9uKG4pe2lWPW59OwpTUE09ZnVuY3Rpb24obil7dmFyIFc9bi5oVTtuPW4udmlkZW9EYXRhO3ZhciBEPVpWKFcsbik7Vy5TKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIil8fEQuY29tcG9zZShVWChXLG4pKTtyZXR1cm4gRH07CkdYPWZ1bmN0aW9uKG4sVyl7dVYobixXLnJlYXNvbixXLk4uaW5mbyxXLnNvdXJjZSxXLnRva2VuKX07Cm9jPWZ1bmN0aW9uKG4sVyl7bi5XSigibG9jYWxtZWRpYWNoYW5nZSIsVyl9OwpQOVU9ZnVuY3Rpb24obixXKXtuLnRiLmRUKCl8fChuLlUoInNnYXAiLHtmOld9KSxuLnRiLmNsZWFyUXVldWUoITEsVz09PSJwZSIpKX07Cm0xVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmKG4ubWVkaWFTb3VyY2U/KGRzKG4pLG4ubXkoKSxBNmoobiwhMSkpOihuLnZpZGVvRGF0YS5jSiYmbi52aWRlb0RhdGEuY0ouWCgpLG4ubWVkaWFFbGVtZW50LnN0b3BWaWRlbygpKSxuLnBsYXlWaWRlbygpKX07CkljPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2Rpc2FibGVfdmlkZW9fcGxheWVyX2luaXRpYXRlZF9zZWVrcyIpJiZnLllOKG4udmlkZW9EYXRhKX07CmxWPWZ1bmN0aW9uKG4sVyl7bi54byYmelkobik7bi54bz1uZXcgZy5sNShXKjFFMywweDdmZmZmZmZmZmZmZmYpO24ueG8ubmFtZXNwYWNlPSJlbmRjciI7bi5hZGRDdWVSYW5nZShuLnhvKX07CnpZPWZ1bmN0aW9uKG4pe24ucmVtb3ZlQ3VlUmFuZ2Uobi54byk7bi54bz1udWxsfTsKamg9ZnVuY3Rpb24obil7aWYobi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBXPVRZKG4pO24ubG9hZGVyJiZuLmxvYWRlci5tbyhXKX19OwpCZD1mdW5jdGlvbihuLFc9ITApe24uQi5BbSYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlJiZuLm1lZGlhRWxlbWVudCYmIW4uRTgoKSYmKG4uaXNCYWNrZ3JvdW5kKCkmJm4ubWVkaWFFbGVtZW50LkdDKCk/KG4uVSgiYmdtb2JpbGUiLHtzdXNwZW5kOjF9KSxuLm9KKCEwLCEwKSk6IW4uaXNCYWNrZ3JvdW5kKCkmJlcmJkN1KG4pJiZuLlUoImJnbW9iaWxlIix7cmVzdW1lOjF9KSl9OwpGSj1mdW5jdGlvbihuKXtpZighZy5EUChuLnZpZGVvRGF0YSkpcmV0dXJuIE5hTjt2YXIgVz0wO24ubG9hZGVyJiZuLnZpZGVvRGF0YS5OJiYoVz1JNChuLnZpZGVvRGF0YSk/bi5sb2FkZXIucWgoKTpuLnZpZGVvRGF0YS5OLnFoKCkpO3JldHVybigwLGcuUikoKS8xRTMtbi5oQygpLVd9OwpLcmI9ZnVuY3Rpb24obixXKXtpZihuLnBsYXllclR5cGU9PT0yfHxuLkIuQ20pVy5vYz0hMDt2YXIgRD1UbChXLkZGLFcuRncsbi5CLkosbi5CLkspO0QmJihXLmFkRm9ybWF0PUQpO24ucGxheWVyVHlwZT09PTImJihXLkd1PSEwKTtpZihuLmlzRnVsbHNjcmVlbigpfHxuLkIuSilEPWcuWkkoInl0LXBsYXllci1hdXRvbmF2c3RhdGUiKSxXLmF1dG9uYXZTdGF0ZT1EfHwobi5CLko/MjpuLnZpZGVvRGF0YS5hdXRvbmF2U3RhdGUpO1cuZW5kU2Vjb25kcyYmVy5lbmRTZWNvbmRzPlcuc3RhcnRTZWNvbmRzJiZsVihuLFcuZW5kU2Vjb25kcyl9Owp3cz1mdW5jdGlvbihuKXtuLmxvYWRlciYmKG4ubG9hZGVyLmRpc3Bvc2UoKSxuLmxvYWRlcj1udWxsLG1vKG4uZGEsbnVsbCkpO24ucGcoKT9PVWgobik6bi5teSgpfTsKVTFpPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclN0YXRlLk4oMTI4KSlpZihuLnZpZGVvRGF0YS5pc0xvYWRlZCgpLG4uaWw9Zy5STShuLnZpZGVvRGF0YS5JSiksZy5ZTChuLnZpZGVvRGF0YSkpe24ubVEudGljaygiYnBkX3MiKTtNOShuKS50aGVuKCgpPT57bi5tUS50aWNrKCJicGRfYyIpO2lmKCFuLnFOKCkpe24uTkwmJihuLkJOKEJyKEJyKG4ucGxheWVyU3RhdGUsNTEyKSwxKSksQ3UobikpO3ZhciBEPW4udmlkZW9EYXRhO0QuZW5kU2Vjb25kcyYmRC5lbmRTZWNvbmRzPkQuc3RhcnRTZWNvbmRzJiZsVihuLEQuZW5kU2Vjb25kcyk7bi5MUi5maW5pc2hlZD0hMDtSYyhuLCJkYXRhbG9hZGVkIik7bi5qSC5zdGFydGVkJiZRYShuKTtsNVUobi5oVSxuLkRoKX19KTsKbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgibG91ZG5lc3MiLHt2Om4udmlkZW9EYXRhLllLLnRvRml4ZWQoMyl9LCEwKTt2YXIgVz1uLm1lZGlhRWxlbWVudD8uZV8oKTtpZihXJiYiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiaW4gVyYmbi5CLkh4KXRyeXtXLmRpc2FibGVQaWN0dXJlSW5QaWN0dXJlPW4uQi5MQiYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlfWNhdGNoKEQpe2cuR3EoRCl9UFJiKG4pO24uQkg9bmV3IFpVcihuLnZpZGVvRGF0YSl9ZWxzZSBSYyhuLCJkYXRhbG9hZGVkIil9Owp5Nlo9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGE7cHNyKG4sbi5paikudGhlbih2b2lkIDAsRD0+e24udmlkZW9EYXRhIT09V3x8Vy5xTigpfHwoRD1CJChEKSxELmVycm9yQ29kZT09PSJhdXRoIiYmbi52aWRlb0RhdGEuZXJyb3JEZXRhaWwmJm4udmlkZW9EYXRhLmVycm9yRGV0YWlsIT09IjciP24uUFYoRC5lcnJvckNvZGUsMix1bmVzY2FwZShuLnZpZGVvRGF0YS5lcnJvclJlYXNvbiksZy5UQyhELmRldGFpbHMpLG4udmlkZW9EYXRhLmVycm9yRGV0YWlsLG4udmlkZW9EYXRhLndpfHx2b2lkIDApOm4uaGFuZGxlRXJyb3IoRCkpfSl9OwpFQUM9ZnVuY3Rpb24obil7cmV0dXJuIGcuazYobi5CKSYmbi52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2smJighbi5CLlMoImh0bWw1X2FsbG93X211bHRpdmlld190aWxlX3ByZWxvYWQiKXx8IW4udmlkZW9EYXRhLmxpdmVQcmVsb2FkKX07Ck05PWZ1bmN0aW9uKG4pe3dzKG4pO24uRGg9bnVsbDt2YXIgVz1Vancobi5CLG4udmlkZW9EYXRhLG4uRTgoKSk7bi50Uj1XO24udFIudGhlbihEPT57aVV0KG4sRCl9LEQ9PntuLnFOKCl8fChEPUIkKEQpLG4udmlzaWJpbGl0eS5pc0JhY2tncm91bmQoKT8oVmEobiwidnBfbm9uZV9hdmFpbCIpLG4udFI9bnVsbCxuLkxSLnJlc2V0KCkpOihuLkxSLmZpbmlzaGVkPSEwLG4uUFYoRC5lcnJvckNvZGUsRC5zZXZlcml0eSwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siLGcuVEMoRC5kZXRhaWxzKSkpKX0pOwpyZXR1cm4gV307ClBSYj1mdW5jdGlvbihuKXtpZihLeihuLnZpZGVvRGF0YSwiaHRtbDVfc2V0X2RlYnVnZ2luZ19vcHRfaW4iKSl7bGV0IFc9Zy5vOSgpO2lmKCFXLlFRKDE4Mykpe249YGYke01hdGguZmxvb3IoMTgzLzMxKSsxfWA7bGV0IEQ9VDEobil8fDA7RHw9MjY4NDM1NDU2O0Q9PT0wP2RlbGV0ZSBsT1tuXTpsT1tuXT1ELnRvU3RyaW5nKDE2KS50b1N0cmluZygpO1cuc2F2ZSgpfX19OwpSYz1mdW5jdGlvbihuLFc9ImRhdGF1cGRhdGVkIil7bi5XSigiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiLFcsbi52aWRlb0RhdGEpfTsKaVV0PWZ1bmN0aW9uKG4sVyl7aWYoIW4ucU4oKSYmIVcudmlkZW9EYXRhLnFOKCkpe24uRGg9VztGM2Iobi5kYSxuLkRoKTtpZihuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayl7dmFyIEQ9dVJyKG4udGIuUXAsbi52aWRlb0RhdGEudmlkZW9JZCl8fG4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpO0Q9bi5TKCJodG1sNV9vbmVzaWVfbGl2ZSIpJiZEO0ljKG4pfHxuLnZpZGVvRGF0YS5UQz4wJiYhSTQobi52aWRlb0RhdGEpfHxEfHxuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9wbGF5YmFja0RhdGEiLHNlZWtTb3VyY2U6MTh9KX1pZihuLnZpZGVvRGF0YS5XLk4oKSl7aWYoVGhpKG4udmlkZW9EYXRhKSl7bi5QVigiZm10Lm1pc3NpbmciLDIsIkJST1dTRVJfT1JfRVhURU5TSU9OX0VSUk9SIixnLlRDKHttaXNzYWJydXJsOjF9KSk7cmV0dXJufWlmKG4ubG9hZGVyKWcuR3EoRXJyb3IoIkR1cGxpY2F0ZWQgTG9hZGVyIikpO2Vsc2V7RD1nLmRNKG4uQi5leHBlcmltZW50cywKImh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tcyIpO2xldCBiPSgpPT57Y2QobiwoKT0+e24ucU4oKXx8bi5sb2FkZXJ8fG9BdChuKX0pfTsKRCYmbi5PUCgpJiZ1UnIobi50Yi5RcCxuLnZpZGVvRGF0YS5Xaik/Zy5uJChiLEQpOmIoKX19ZWxzZSFuLnZpZGVvRGF0YS5XLk4oKSYmT1Mobi52aWRlb0RhdGEpJiZvYyhuLG5ldyBhYyhuLnZpZGVvRGF0YS52aWRlb0lkfHwiIiw0KSk7bi51digpO3VpaihXKS50aGVuKCgpPT57dmFyIGI9e307bi5zVChiKTtuLkIuV1goKSYmbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgiYXYxSW5mbyIsYik7amgobil9KX19OwpDdT1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLm1lZGlhRWxlbWVudHx8IW4udmlkZW9EYXRhLlcpcmV0dXJuITE7dmFyIEQ9ZDEyKG4sVyksYj1uLm1lZGlhRWxlbWVudC5HQygpLHY9ITE7YiYmYi5lcXVhbHMoRCl8fCh6cGkobixEKSx2PSEwKTtuLnBsYXllclN0YXRlLk4oMil8fFFidyhuLmRhLFcpO2E6e1c9djtpZihnLllOKG4udmlkZW9EYXRhKSl7aWYoIW4udmlkZW9EYXRhLk1pKCkpYnJlYWsgYX1lbHNlIGlmKCFnLnF1KG4udmlkZW9EYXRhKSlicmVhayBhO2lmKG4ubWVkaWFFbGVtZW50KWlmKChEPW4udmlkZW9EYXRhLmopJiZuLm1lZGlhRWxlbWVudC5LKCkpe2I9bi5tZWRpYUVsZW1lbnQuZV8oKTtpZihuLkxBKWlmKGIhPT1uLkxBLmVsZW1lbnQpZHMobik7ZWxzZSBpZihXJiZELmZsYXZvcj09PSJmYWlycGxheSImJiF6USgpKWRzKG4pO2Vsc2UgYnJlYWsgYTtpZihuLlMoImh0bWw1X3JlcG9ydF9lcnJvcl9mb3JfdW5zdXBwb3J0ZWRfdHZvc193aWRldmluZSIpJiZ6USgpJiYKRC5mbGF2b3I9PT0id2lkZXZpbmUiKW4uUFYoImZtdC51bnBsYXlhYmxlIiwxLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInRyZy51bnNwdHR2b3N3aWRldmluZSIpO2Vsc2V7bi5MQT1uZXcgbHZ3KGIsbi52aWRlb0RhdGEsbi5CLG4ubWVkaWFFbGVtZW50LG4uZGgpO24uTEEuc3Vic2NyaWJlKCJsaWNlbnNlZXJyb3IiLG4uYm8sbik7bi5MQS5zdWJzY3JpYmUoInF1YWxpdHljaGFuZ2UiLG4uVzQsbik7bi5MQS5zdWJzY3JpYmUoImhlYXJ0YmVhdHBhcmFtcyIsbi5iWixuKTtuLkxBLnN1YnNjcmliZSgia2V5c3RhdHVzZXNjaGFuZ2UiLG4uWVYsbik7bi5MQS5zdWJzY3JpYmUoImN0bXAiLG4uVSxuKTtmb3IobGV0IGsgb2Ygbi5EYi5rZXlzKVc9bi5EYi5nZXQoayksbi5MQS5XbihXKTtuLlMoImh0bWw1X2VtZV9sb2FkZXJfc3luYyIpfHxuLkRiLlRpKCl9fWVsc2Ugbi5QVigiZm10LnVucGxheWFibGUiLDEsIkhUTUw1X05PX0FWQUlMQUJMRV9GT1JNQVRTX0ZBTExCQUNLIiwKInRyZy51cGRhdGVkcm0iKX1yZXR1cm4gdn07CmNkPWZ1bmN0aW9uKG4sVyl7bi5CLmVCJiZuLkIuWnQoKS5OLlFRKG5hKT9TayhuLkIuZUIsVywoKT0+e0p1KG4uQik7bi5CLmVCPXZvaWQgMDtXKCl9KTpXKCl9OwpvQXQ9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGEuTixEPXtjcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxjOm4uQi5OLmMsY3ZlcjpuLkIuTi5jdmVyfTtmb3IobGV0IFtoLHhdb2YgT2JqZWN0LmVudHJpZXMoRCkpe0Q9aDt2YXIgYj14O2Zvcih2YXIgdiBvZiBPYmplY3QudmFsdWVzKFcuTikpdi5YYi5jSihELGIpO1cuWT8uY0ooRCxiKX12PW4uQjtEPW4udmlkZW9EYXRhO2I9bi5pajtXPW5ldyBnLlQ0Mih2KTt2YXIgaz1OOFooe2hhc1N1YmZyYWdtZW50ZWRGbXA0OkQuaGFzU3ViZnJhZ21lbnRlZEZtcDQsSTI6RC5JMn0pO1cuVj1rO1cuTz1ELm1heFJlYWRBaGVhZE1lZGlhVGltZU1zLzFFM3x8Vy5PO2IuWC5MZygpPT09Yi5wb2xpY3kuTj9XLmpXPTEwOlcualc9RC5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcy8xRTN8fFcualc7Vy5MSz1ELnJlYWRBaGVhZEdyb3d0aFJhdGVNcy8xRTN8fFcuTEs7RC5RNiYmKFcuWD0hMCk7Vy5OZj0hYWQoKTtnLms2KHYpfHwKIWFkKCk/KFcuZSQ9ODM4ODYwOCxXLnZKPTUyNDI4OCxXLklNPTUsVy5ISj0xMDQ4NTc2LFcuVDQ9MS41LFcuTnM9NDU4NzUyMCxsYigpJiYoVy5Ocz03ODY0MzIpLFcuSyo9MS4xLFcuY0oqPTEuMSxXLm1oPSEwKTp2LmomJihXLksqPTEuMyxXLmNKKj0xLjMpO2cub2QmJmcudWIoImNya2V5IikmJihrPXYuTi5jbW9kZWw9PT0iQ0hST01FQ0FTVC9BTkNIT1ZZIixXLmUkPTIwOTcxNTIwLFcudko9MTU3Mjg2NCxrJiYoVy5Ocz04MTI1MDAsVy5iTj0xRTMsVy5Saz01LFcuSEo9MjA5NzE1MikpO2cuYW8mJihXLm1oPSEwKTt2LnN1cHBvcnRzR2FwbGVzc0F1ZGlvKCl8fChXLkRUPSExKTtnLldYJiYoVy5ZJD0hMCk7Vy5zVj12LlMoImh0bWw1X3BlYWtfc2hhdmUiKTtELmhxKCkmJnYuUygiaHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWUiKSYmKFcuc1Y9ITEpO2s9RC5OPy5YKCk7aWYoSTQoRCkpe1cuZVY9ITA7Vy5VVHx8KFcuZlI9ITApO1cuUFg9ITA7Vy5TVj0hMDtXLllyPQohMDtpZihELmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyJ8fEQubGF0ZW5jeUNsYXNzPT09IkxPVyImJiF2LlMoImh0bWw1X2Rpc2FibGVfbG93X3BpcGVsaW5lIikpVy53bz0yLFcuQ3k9NDtXLnNKPUQuZGVmcmFnZ2VkRnJvbVN1YmZyYWdtZW50cztnLnBBKEQpJiYoVy5CVj0hMSk7Vy5DbT1nLkdsKHYpfUQuaXNBZCgpJiYoVy50TT0wLFcuSFk9MCk7Vy5UNz12LlMoImh0bWw1X3VsdHJhX2xvd19sYXRlbmN5X3N1YnNlZ21lbnRfcmVhZGFoZWFkIikmJkQubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIjtXLlc9di5XWCgpO2IuSi5YPUk0KEQpPy41OjA7RC5pc0xpdmVQbGF5YmFjayYmKFcuV2M9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzIil8fC4yNSxXLm51PSExKTtELk1pKCkmJihXLm51PSExKTtXLnFqPSF2LlMoImh0bWw1X3NhYnJfa2VlcF9hbGxfcXVhbGl0eV9jb25zdHJhaW50cyIpO1cuQjM9CkxBKEQpO2hEKEQpJiYoVy5UNz0hMCxELmxhdGVuY3lDbGFzcz09PSJMT1ciP1cud2E9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0Iik6RC5sYXRlbmN5Q2xhc3M9PT0iVUxUUkFMT1ciJiYoVy53YT1nLmRNKHYuZXhwZXJpbWVudHMsImh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXQiKSksVy5iQj0hMCk7RC56VygpJiYoVy53eT0xLjMpO1cuWSQ9Vy5ZJHx8RC5mUjtXLkhpPShXLkhpfHxELkhpKSYmdi5LO1cuVjY9RC5LO3YuV1goKSYmKFcuUmE9ITApO0QuSyYmIWsmJihXLktvPSEwKTtELksmJkQuaXNBZCgpJiYoVy5LKj0xLjYsVy5jSio9MS42KTtPUyhEKSYmKFcuSj1ELnZpZGVvSWQsVy52bj0hMCxXLnN6PTEwMCxELnhoJiZELnhoLmxlbmd0aD4wJiYoVy5iVj1ELnhoKSk7Vy5lQj1ELlo5O1cublM9REsodix7fSxELld8fHZvaWQgMCxReihEKSk7Vy5iZD1SUShEKSYmKGcuTVYodil8fAp0dSh2KSk7Zy5ZTihEKSYmKFcuaj0hMCxXLkU1PWcuazYodikmJiFnLmQ4KCk/ITE6ITAsIVcuZTQmJnYuUygiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9jbGllbnRfcmVxdWVzdF9jYW5jZWxsYXRpb24iKSYmKFcudlg9ITAsVy5DdT0hMCxXLlRJPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9yZXF1ZXN0X2NhbmNlbGxhdGlvbl90aW1lb3V0X21zIil8fDhFMyxXLnN6PWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0Iil8fDMpLHYuUygiaHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvbiIpJiYoVy5SRD0hMCksVy5OPSEwLFcudkY9di5TKCJodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29yayIpLFcuSjg9di5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpLApXLmNMPXYuUygiaHRtbDVfY29uc3VtZV9vbmVzaWVfbmV4dF9yZXF1ZXN0X3BvbGljeV9mb3Jfc2FiciIpLFcuQVY9di5TKCJodG1sNV9sb2dfaGlnaF9yZXNfYnVmZmVyX3RpbWVsaW5lIikmJnYuV1goKSxXLmZDPXYuUygiaHRtbDVfZ2FwbGVzc19zYWJyX2J0bF9sYXN0X3NsaWNlIikmJkFKKEQpLFcucG89di5TKCJodG1sNV9yZXNldF9sYXN0X2FwcGVuZGVkX3NsaWNlX29uX3NlZWsiKSYmQUooRCksSTQoRCkmJihXLlZIPSEwLFcuUyQ9ITAsdi5TKCJodG1sNV9zaW1wbGlmaWVkX2JhY2t1cF90aW1lb3V0X3NhYnJfbGl2ZSIpJiYoVy5DdT0hMCxXLmJOPVcuZlopKSxXLmg4PXYuUygiaHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2FiciIpLFcuczU9di5TKCJodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXQiKSxXLlk9Zy5ZTihEKSxXLm9UPXYuUygiaHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkIiksCnYuUygiaHRtbDVfaW5jbHVkZV9wYXJ0aWFsX3NlZ21lbnRfZm9yX2p1bWJvX2xsIikmJmhEKEQpJiYoVy5vVD0hMSksVy5zMz12LlMoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIiksVy5sbj12LlMoImh0bWw1X2NlbnRyYWxpemVkX3BsYXllcl90aW1lX2xpdmUiKSYmZy5ZTihEKSYmRC5pc0xpdmVQbGF5YmFja3x8di5TKCJodG1sNV91c2VfY2VudHJhbGl6ZWRfcGxheWVyX3RpbWUiKSYmZy5ZTihEKSxXLkdDPXYuUygiaHRtbDVfbG9nX2NlbnRyYWxpemVkX3BsYXllcl90aW1lIiksVy5BeD12LlMoImh0bWw1X3VzZV9jZW50cmFsaXplZF9wbGF5ZXJfdGltZV9maXhlcyIpJiZnLllOKEQpLFcuclc9di5TKCJodG1sNV9jb25zdW1lX29uZXNpZV9zYWJyX3NlZWsiKSxXLnR3PXYuUygiaHRtbDVfZW5hYmxlX3NhYnJfc2Vla19sb2FkZXJfcmVmYWN0b3IiKSxELmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYoVy5VMT0hMCxXLldLPXYuUygiaHRtbDVfcmVzZXRfc2VydmVyX3N0aXRjaF9zdGF0ZV9mb3Jfbm9uX3NhYnJfc2VlayIpLApXLmllPXYuUygiaHRtbDVfcmVtb3ZlX3NzZGFpX2FwcGVuZF9wYXVzZSIpJiYhRC5ERigpLFcueXc9di5TKCJodG1sNV9zc2RhaV9sb2dfc3NldnRfaW5fbG9hZGVyX3RpbWVycyIpKSxXLkVaPXYuV1goKSxXLmxhdGVuY3lDbGFzcz1ELmxhdGVuY3lDbGFzcyxXLm1EPSFELnpXKCkmJnYuUygiaHRtbDVfcHJlYnVmZmVyX2luc3RyZWFtX21lZGlhX3ZvZCIpKTtXLnlFPWcubU8oRCk7Vy5Rcj12LlMoImh0bWw1X2VuYWJsZV9zYWJyX290Zl9pbl9jbGllbnQiKTtpZihELk5QKCl8fEQuaXNBZCgpKVcuZ089ITE7RC56VygpJiZ2LmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqdk0pJiYoYj1ELmxDPy5nZXQoImlkIikpJiZiLmluY2x1ZGVzKCIlN0UiKSYmKFcuV2k9ITApO1NKKHYuVyxBVC5CSVRSQVRFKSYmKFcuTnM9TmFOKTtpZihiPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfcmVxdWVzdF9zaXplX21heF9rYiIpKVcuSEo9YioxMDI0O2lmKHYuVy5KKVcucFI9IjsgIitBVC5FWFBFUklNRU5UQUwubmFtZSsKIj1hbGxvd2VkIjtlbHNlIGlmKHYuZXhwZXJpbWVudHMudzAoKS5OLlFRKENSaSkmJmcuZDgoKSl7bGV0IHtuYW1lOmgsdmFsaWQ6eH09QVQuVFVOTkVMTU9ERTtXLnBSPWA7ICR7aH09JHt4fWB9dj1ELnNlcnZlclBsYXliYWNrU3RhcnRDb25maWc7dj8uZW5hYmxlJiZ2Py5wbGF5YmFja1N0YXJ0UG9saWN5JiYoVy5GZT0hMCxsUyhXLHYucGxheWJhY2tTdGFydFBvbGljeSwyKSk7dj1CNFUobik7bi5EYi5UaSgpO2E6e0Q9bi50Yi5RcDtpZihiPW4udmlkZW9EYXRhLnZpZGVvSWQpaWYoaz1ELk4uZ2V0KGIpKXtELk4ucmVtb3ZlKGIpO0Q9azticmVhayBhfUQ9dm9pZCAwfW4ubG9hZGVyPW5ldyBnLlc4KG4sbi5paixXLG4udmlkZW9EYXRhLk4sbi52aWRlb0RhdGEuVyxUWShuKSx2LG4udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpLEQsbi52aWRlb0RhdGEuelIpO2lmKG4udmlkZW9EYXRhLlMoImh0bWw1X2Rpc2FibGVfcHJlbG9hZF9mb3Jfc3NkYWlfd2l0aF9wcmVyb2xsIikmJgpuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmbi5PUCgpKVc9ITA7ZWxzZSBpZihXPW4uTkwpVz1nLms2KG4uQikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiYoIW4uQi5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIil8fCFuLnZpZGVvRGF0YS5saXZlUHJlbG9hZHx8bi5CLlp0KCkuTi5RUShIcCkpO24ubG9hZGVyLmluaXRpYWxpemUobi5nZXRDdXJyZW50VGltZSgpLFRZKG4pLFcpO24udmlkZW9EYXRhLnByb2JlVXJsJiYobi5sb2FkZXIuQnY9bi52aWRlb0RhdGEucHJvYmVVcmwpO2lmKG4uaWwubGVuZ3RofHxuLk5MKW4udmlkZW9EYXRhLmNvdG58fG4ucEMoITEpO21vKG4uZGEsbi5sb2FkZXIpO24uc1UmJihuLmxvYWRlci5FVyhuLnNVKSxuLlUoInNkYWkiLHtzZGw6MX0pKTtnLm1NKG4udmlkZW9EYXRhKSYmKG49bi5sb2FkZXIsbi5wb2xpY3kueGg9bi5wb2xpY3kuVnMpfTsKUWE9ZnVuY3Rpb24obil7bi5xTigpO2lmKCFuLmpILmZpbmlzaGVkJiZuLkxSLmZpbmlzaGVkJiYhbi5wbGF5ZXJTdGF0ZS5OKDEyOCkmJiFuLmlsLmxlbmd0aCl7aWYoIW4ud0kuc3RhcnRlZCl7dmFyIFc9bi53STtXLnN0YXJ0ZWQ9ITA7Vy5KKCl9aWYoIW4uSm4oKSl7bi5sb2FkZXImJihuLm5VPW4ubG9hZGVyLnpzKCEwKT4wKTtuLmpILmZpbmlzaGVkfHwobi5qSC5maW5pc2hlZD0hMCk7Vz1uLlMoImh0bWw1X29uZXNpZV9saXZlIikmJm4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpOyFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8bi52aWRlb0RhdGEuVEM+MCYmIUk0KG4udmlkZW9EYXRhKXx8V3x8SWMobil8fChuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9yZWFkeWluZyIsc2Vla1NvdXJjZToxOH0pLG4uaXNCYWNrZ3JvdW5kKCkmJihuLlRsPSEwKSk7Vz1uLkJYO2lmKFcucW9lKXtXPVcucW9lO2xldCBiPVcucHJvdmlkZXIudmlkZW9EYXRhLHY9Vy5wcm92aWRlci5COwpmb3IodmFyIEQgb2Ygdi5reSluQyhXLEQpO2lmKFcucHJvdmlkZXIuUygiaHRtbDVfZW5hYmxlX3FvZV9jYXRfbGlzdCIpKWZvcihsZXQgayBvZiBiLmtLKW5DKFcsayk7ZWxzZSBiLmt5JiZuQyhXLFcucHJvdmlkZXIudmlkZW9EYXRhLmt5KTtiLnpXKCkmJihEPWIuTixJNChiKSYmbkMoVywibWFuaWZlc3RsZXNzIiksRCYmb28oRCkmJm5DKFcsYGxpdmUtc2VnbWVudC0ke29vKEQpLnRvRml4ZWQoMSl9YCkpO2cuWU4oYik/bkMoVywic2FiciIpOlcueiQoeHAoYikpO2lmKHB6KGIpfHxiLkRGKCkpYi5ERigpJiZuQyhXLCJzc2EiKSxuQyhXLCJsaWZhIik7TkkoYikmJm5DKFcsImNkbSIpO2IuZ2F0ZXdheUV4cGVyaW1lbnRHcm91cCYmKEQ9Yi5nYXRld2F5RXhwZXJpbWVudEdyb3VwLEQ9PT0iRVhQRVJJTUVOVF9HUk9VUF9TUElLWV9BRF9CUkVBS19FWFBFUklNRU5UIj9EPSJzcGthZHRydCI6RD09PSJFWFBFUklNRU5UX0dST1VQX1NQSUtZX0FEX0JSRUFLX0NPTlRST0wiJiYoRD0KInNwa2FkY3RybCIpLG5DKFcsRCkpO3YuViE9PSJ5dCImJlcuSi5zZXQoImxlbiIsW2IubGVuZ3RoU2Vjb25kcy50b0ZpeGVkKDIpXSk7Yi5jb3RuJiYhT1MoYikmJlF1KFcsITApO3YuV1goKSYmKEQ9UlFVKCkpJiZXLlUoImNibHQiLHttOkR9KTt2LlMoImh0bWw1X2xvZ19zY3JlZW5fZGlhZ29uYWwiKSYmVy5VKCJjYmx0ZGlhZyIse3Y6d2luZG93Lkg1dmNjU2NyZWVuPy5HZXREaWFnb25hbD93aW5kb3cuSDV2Y2NTY3JlZW4uR2V0RGlhZ29uYWwoKTowfSl9bi5XSigicGxheWJhY2tyZWFkeSIpO2cudlAoInBsX2MiLG4ubVEudGltZXJOYW1lKXx8KG4ubVEudGljaygicGxfYyIpLGcuZ18oInBsX2MiLHZvaWQgMCwidmlkZW9fdG9fYWQiKSk7Zy52UCgicGJyIixuLm1RLnRpbWVyTmFtZSl8fChuLm1RLnRpY2soInBiciIpLGcuZ18oInBiciIsdm9pZCAwLCJ2aWRlb190b19hZCIpKX19fTsKVmE9ZnVuY3Rpb24obixXKXtuLnBsYXllclN0YXRlLk4oMTI4KXx8KG4uQk4od1Mobi5wbGF5ZXJTdGF0ZSwxMDI4LDkpKSxuLlUoImRvbXBhdXNlZCIse3I6V30pLG4uV0ooIm9uQXV0b3BsYXlCbG9ja2VkIikpfTsKZy5EVD1mdW5jdGlvbihuKXt2YXIgVz1UWShuKTtyZXR1cm4geEooVyl8fCFuLkRoP251bGw6Zy5sXyhuLkRoLk4udmlkZW9JbmZvcyxEPT5XLlgoRCkpfTsKdVY9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aC5KPUQ7dmFyIHg9Zy5EVChuKTtEPW5ldyBGck0oRCxXLHg/eC5pdGFnOiIiLGIsdik7aWYoay5xb2Upe2s9ay5xb2U7Yj12PWcuUmsoay5wcm92aWRlcik7eD1bRC5OLmlkLEQuSixrLnM1LEQucmVhc29uXTtrLkR0fHx4LnB1c2goTFRiKGssRCkpO0QudG9rZW4mJngucHVzaChELnRva2VuKTtnLndqKGssYiwidmZzIix4KTtrLnM1PUQuTi5pZDt4PWsucHJvdmlkZXIuTC5nZXRQbGF5ZXJTaXplKCk7aWYoeC53aWR0aD4wJiZ4LmhlaWdodD4wKXt4PVtNYXRoLnJvdW5kKHgud2lkdGgpLE1hdGgucm91bmQoeC5oZWlnaHQpXTtsZXQgTD1nLkhfKCk7TD4xJiZ4LnB1c2goTCk7Zy53aihrLGIsInZpZXciLHgpfWsuRHR8fChrLnByb3ZpZGVyLkIuV1goKSYmKG5DKGssInJxcyIpLG5DKGssInJxczIiKSksay5wcm92aWRlci52aWRlb0RhdGEuTiYmR18oay5wcm92aWRlci52aWRlb0RhdGEuTikmJmsuSi5zZXQoInByZWxvYWQiLApbIjEiXSkpO2suRHQ9ITA7ay5WPSEwO0QucmVhc29uPT09Im0iJiYrK2suc1Y9PT0xMDAmJmJtKGssMik7Zy53aihrLHYsInZwcyIsW2suTl0pO2suZSR8fGsucmVwb3J0U3RhdHModil9RD1uLmhVO0QuSj0wO0QuTj0wO24uV0ooImludGVybmFsdmlkZW9mb3JtYXRjaGFuZ2UiLGgsVz09PSJtIil9OwpUWT1mdW5jdGlvbihuKXtpZihuLkRoKXt2YXIgVz1uLmhVO3ZhciBEPW4uRGg7bj1uLmcwKCk7dmFyIGI9Wm1oKFcpO2lmKHhKKGIpKXtpZihiPVcuTWgoRCkuY29tcG9zZSh5SXIoVyxEKSkuY29tcG9zZShpbXIoVyxEKSkuY29tcG9zZShaVihXLEQudmlkZW9EYXRhKSkuY29tcG9zZShVWChXLEQudmlkZW9EYXRhLEQpKS5jb21wb3NlKHkzKFcsRCkpLmNvbXBvc2UoaW0oVyxEKSkseEoobil8fFcuUygiaHRtbDVfYXBwbHlfcGJyX2NhcF9mb3JfZHJtIikpe3ZhciB2PWIuY29tcG9zZTtpZihXLlMoImh0bWw1X2Rpc2FibGVfdXN0cmVhbWVyX2NvbnN0cmFpbnRfZm9yX3NhYnIiKSYmZy5ZTihELnZpZGVvRGF0YSkpdmFyIGs9WVo7ZWxzZSBrPVcuTC51dSgpLFcuUygiaHRtbDVfdXNlX3ZpZGVvX3F1YWxpdHlfY2FwX2Zvcl91c3RyZWFtZXJfY29uc3RyYWludCIpJiZrJiZrLlFvPjAmJnhKKEQudmlkZW9EYXRhLkIzKSYmKGs9ay5RbyxELnZpZGVvRGF0YS5CMz1uZXcgYjMoMCxrLCExLAoidSIpKSxrPUQudmlkZW9EYXRhLkIzO2I9di5jYWxsKGIsayl9fWVsc2UgVy5TKCJodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3kiKSYmKGI9Yi5jb21wb3NlKHkzKFcsRCkpKTtiPWIuY29tcG9zZShpbShXLEQpKTtXPUQudmlkZW9EYXRhLkxLLmNvbXBvc2UoYikuY29tcG9zZShELnZpZGVvRGF0YS5MSCkuY29tcG9zZShuKX1lbHNlIFc9WVo7cmV0dXJuIFd9Owp3c2k9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aWYoRCE9PWguWCl7dmFyIHg9IWguWDtoLlg9RDt2YXIgTD1XPT09Im0ifHxXPT09InQiO0x8fChXPXg/ImkiOiJhIik7Vz1uZXcgRnJNKEQsVywiIixiLHYpO2lmKGsucW9lKXtrPWsucW9lO0Q9Zy5SayhrLnByb3ZpZGVyKTtsZXQgRz1bXTtpZihXLk4uaWQhPT1rLkZGKXtiPVtXLk4uaWQsay5GRixXLnJlYXNvbl07dj1HO3ZhciBlPXYucHVzaDtsZXQgcj1bXSxOPWsucHJvdmlkZXIudmlkZW9EYXRhLmhnLk4sSD1XLk4uYXVkaW8/Lko/P04/LlFPO0g9PW51bGx8fGlzTmFOKEgpfHxyLnB1c2goYGZsLiR7SH1gKTtOJiYoTi5mb3JtYXRJZCYmTi5mb3JtYXRJZCE9PVcuTi5pZCYmay5VKCJhZ2MiLHtxb2VtaXNtYXRjaDoiMSIsYWdjX2ZtdDpOLmZvcm1hdElkLGFmbXQ6Vy5OLmlkfSksTi5weT09bnVsbHx8aXNOYU4oTi5weSl8fHIucHVzaChgdGwuJHtOLnB5fWApLE4uRHk9PW51bGx8fGlzTmFOKE4uRHkpfHwKci5wdXNoKGB2Zy4ke04uRHl9YCksTi53RyE9PTAmJnIucHVzaChgbm0uJHtOLndHfWApKTtlLmNhbGwodiwuLi5yKTtXLnJlYXNvbj09PSJpIiYmRy5wdXNoKExUYihrLFcpKTtHLmxlbmd0aD4wJiZiLnB1c2goRy5qb2luKCI7IikpO1cudG9rZW4mJmIucHVzaChXLnRva2VuKTtnLndqKGssRCwiYWZzIixiKTtrLkZGPVcuTi5pZH19bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsaCwheCYmTCl9fTsKTXl4PWZ1bmN0aW9uKG4pe3ZhciBXPSJsb2Fkc3RhcnQgbG9hZGVkbWV0YWRhdGEgcGxheSBwbGF5aW5nIHByb2dyZXNzIHBhdXNlIGVuZGVkIHN1c3BlbmQgc2Vla2luZyBzZWVrZWQgdGltZXVwZGF0ZSBkdXJhdGlvbmNoYW5nZSByYXRlY2hhbmdlIGVycm9yIHdhaXRpbmcgcmVzaXplIi5zcGxpdCgiICIpO2ZvcihsZXQgRCBvZiBXKW4uczkuTk4obi5tZWRpYUVsZW1lbnQsRCxuLmlVLG4pO24uQi5EVCYmbi5tZWRpYUVsZW1lbnQuSygpJiYobi5zOS5OTihuLm1lZGlhRWxlbWVudCwid2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkIixuLnZrLG4pLG4uczkuTk4obi5tZWRpYUVsZW1lbnQsIndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkIixuLk9rLG4pKX07Ck9VaD1mdW5jdGlvbihuKXtpZihuLm1lZGlhU291cmNlKWlmKG4uSzEoKSxuLm1lZGlhU291cmNlLkspdHJ5e24uQi5XWCgpJiZuLlUoInJtcyIse2w6InZwcm1zIixzcjpuLnBnKCkscnM6bi5tZWRpYVNvdXJjZS5XKCl9KSxuLm1lZGlhU291cmNlLmNsZWFyKCksbi5tZWRpYUVsZW1lbnQ/LkhKKG4ubWVkaWFTb3VyY2UpLG4ubWVkaWFTb3VyY2U9bnVsbH1jYXRjaChEKXt2YXIgVz1uZXcgZy5ReChgRXJyb3Igd2hpbGUgY2xlYXJpbmcgTWVkaWEgU291cmNlIGluIFZpZGVvUGxheWVyOiAke0QubmFtZX0sICR7RC5tZXNzYWdlfWApO1c9QiQoVyk7bi5oYW5kbGVFcnJvcihXKTtuLm15KCl9ZWxzZSBuLm15KCl9Owpkcz1mdW5jdGlvbihuKXtuLkxBJiYobi5MQS5kaXNwb3NlKCksbi5MQT1udWxsKX07ClJwVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmbi5tZWRpYUVsZW1lbnQuRTgoKSYmKG4uVFY9KDAsZy5SKSgpKTtuLkIudEc/Zy5uJCgoKT0+e2J2KG4pfSwwKTpidihuKX07CmJ2PWZ1bmN0aW9uKG4pe2lmKCFuLm1lZGlhU291cmNlPy5nWCgpKXtpZihuLm1lZGlhRWxlbWVudCl0cnl7bi5Mdz1uLm1lZGlhRWxlbWVudC5wbGF5VmlkZW8oKX1jYXRjaChXKXtWYShuLGBlcnIuJHtXfWApfWlmKG4uTHcpe2xldCBXPW4uTHc7Vy50aGVuKHZvaWQgMCxEPT57aWYoIShuLnBsYXllclN0YXRlLk4oNCl8fG4ucGxheWVyU3RhdGUuTigyNTYpfHxuLkx3IT09V3x8RCYmRC5uYW1lPT09IkFib3J0RXJyb3IiJiZELm1lc3NhZ2UmJkQubWVzc2FnZS5pbmNsdWRlcygibG9hZCIpKSl7bGV0IGI9InByb21pc2UiO0QmJkQubmFtZSYmKGIrPWA7bS4ke0QubmFtZX1gKTtWYShuLGIpO24uVzE9ITA7bi52aWRlb0RhdGEuZkI9ITB9fSl9fX07CkE2aj1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubWVkaWFTb3VyY2UpcmV0dXJuIG4ubWVkaWFTb3VyY2UuajtRdmkobixXKTtyZXR1cm4gbi5VeigpPy50dygpfHxudWxsfTsKZDEyPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9bnVsbDtuLnZpZGVvRGF0YS5XPy5OKCk/KEQ9QTZqKG4sVyksbi5sb2FkZXI/LnJlc3VtZSgpKTood3Mobiksbi52aWRlb0RhdGEuY0omJihEPW4udmlkZW9EYXRhLmNKLkooKSkpO3JldHVybiBEfTsKYXZaPWZ1bmN0aW9uKG4sVyl7aWYoVy5OLnZpZGVvLnF1YWxpdHk9PT0iYXV0byImJlcua0woKS5XKCkpaWYobi5TKCJodG1sNV9obHNfcmVwb3J0X3BzZXVkb19pdGFnIikmJm4udmlkZW9EYXRhLmhsc3ZwKXt2YXIgRD1uLlVKKCk7aWYoRCYmRC52aWRlb0hlaWdodD4wJiZELnZpZGVvV2lkdGg+MCl7dmFyIGI9RC52aWRlb0hlaWdodDtEPUQudmlkZW9XaWR0aDthOntuPW4uTEE/Lk4uZmxhdm9yPT09ImZhaXJwbGF5Ij9WeVU6YzZaO2Zvcih2IG9mIG4paWYoYj49di5taW5IZWlnaHQpe3ZhciB2PXYuaXRhZzticmVhayBhfXY9IiJ9aWYodilyZXR1cm4gbmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse3ZpZGVvOm5ldyBIUihELGIpfSl9fWVsc2UgaWYobi52aWRlb0RhdGEubnUpZm9yKGIgb2Ygbi52aWRlb0RhdGEubnUpaWYoYi5nZXRIZWlnaHQoKT09PW4uejEmJmIuTi52aWRlby5xdWFsaXR5IT09ImF1dG8iKXJldHVybiBiLmtMKCk7cmV0dXJuIFcua0woKX07Cm5CQz1mdW5jdGlvbihuKXtyZXR1cm4hIShuLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKSYmZy5HbiYmbi52aWRlb0RhdGEuSj8uVygpKX07ClcxaT1mdW5jdGlvbihuKXtpZighbkJDKG4pKXJldHVybiExO249bi5tZWRpYUVsZW1lbnQ/LmF1ZGlvVHJhY2tzKCk7cmV0dXJuISEobiYmbi5sZW5ndGg+MSl9OwpiNHQ9ZnVuY3Rpb24obil7dmFyIFc9RGdDKG4pO2lmKFcpe3ZhciBEPXY4W1ddfHxXO3JldHVybiBuLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLmZpbmQoYj0+Yi5rWi5nZXROYW1lKCk9PT1EKX19OwpEZ0M9ZnVuY3Rpb24obil7aWYobj1uLm1lZGlhRWxlbWVudD8uYXVkaW9UcmFja3MoKSlmb3IobGV0IFc9MDtXPG4ubGVuZ3RoOysrVyl7bGV0IEQ9bltXXTtpZihELmVuYWJsZWQpcmV0dXJuIEQubGFiZWx9fTsKdkIyPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpO2lmKFcpe3ZhciBEPVtdO2ZvcihsZXQgdj0wO3Y8Vy5sZW5ndGg7Kyt2KXt2YXIgYj1XW3ZdO2I9bmV3IFdBKGIubGFiZWwsbmV3IHdQKHY4W2IubGFiZWxdfHxiLmxhYmVsLGIubGFiZWwsITEpKTtELnB1c2goYil9bi52aWRlb0RhdGEudm49RH19OwpCNFU9ZnVuY3Rpb24obil7dmFyIFcsRD1uLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLGI9bi5CLkhKO2ImJihXPUQuZmluZCh2PT52LmdldExhbmd1YWdlSW5mbygpLmlkPT09YikpOwppZihuLkIuZXhwZXJpbWVudHMuRXEoImVuYWJsZV9hdWRpb19kZXNjcmlwdGlvbl9zZXR0aW5nIikmJmcubzkoKS5RUSgxOTgpKWZvcihsZXQgdiBvZiBEKWlmKHYuail7Vz12O2JyZWFrfW4uWnQoKS5OLlFRKGtxTSkmJm4udmlkZW9EYXRhLmNvdG4mJihXPUQuZmluZCh2PT4hIXYuVikpOwpXfHwobj1uLmdldEF1ZGlvVHJhY2soKSxXPW4ua1ouaXNEZWZhdWx0P3ZvaWQgMDpuKTtyZXR1cm4gV307ClF2aT1mdW5jdGlvbihuLFc9ITEpe3RyeXtnLmQ4KCkmJm4udmlkZW9EYXRhLm1WKCkmJm4ubWVkaWFFbGVtZW50LlBYKCk7bGV0IGI9bi5veSgpLHY9bi5DZCgpO2lmKG4ubWVkaWFFbGVtZW50LmlzVmlldygpJiZuLm1lZGlhRWxlbWVudC5NZCYmKCFuLkZTKCl8fCFuLm1lZGlhRWxlbWVudC5ZJChiLHYpKSl7bi5CLldYKCkmJm4uVSgidXNtIix7ZmFsbGJhY2s6ITAscmVhc29uOm4uRlMoKT8iY29kZWMiOiJwb2xpY3kifSk7bGV0IGs9bi5tZWRpYUVsZW1lbnQubWVkaWFFbGVtZW50O2s/LlBYKCk7az8uc3RvcFZpZGVvKCk7bi5kYS5zZXRNZWRpYUVsZW1lbnQobnVsbCk7bi5zZXRNZWRpYUVsZW1lbnQoaywhMCl9dmFyIEQ9bi5tZWRpYUVsZW1lbnQuVXooYix2KX1jYXRjaChiKXtpZihLQyhuLkFJLCJodG1sNS5taXNzaW5nYXBpIix7dXBkYXRlTXM6IjEifSkpcmV0dXJuO2NvbnNvbGUuZXJyb3IoIndpbmRvdy5VUkwgb2JqZWN0IG92ZXJ3cml0dGVuIGJ5IGV4dGVybmFsIGNvZGUiLApiKTtuLlBWKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInVwZGF0ZU1zLjEiKTtyZXR1cm59bi5ubShELCExLCExLFcpfTsKaExaPWZ1bmN0aW9uKG4sVz0hMSl7aWYobi5sb2FkZXIpe24udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZuLmxvYWRlci5rSSgpO2xldCBEPW4uZ2V0Q3VycmVudFRpbWUoKS1uLlNXKCk7bi5sb2FkZXIuc2VlayhELHtBTTpXfSkuc1AoKCk9Pnt9KX1lbHNlIGNkKG4sKCk9PntuLnFOKCl8fG4ubG9hZGVyfHxvQXQobil9KX07CkwxYj1mdW5jdGlvbihuLFcsRD0hMSxiPSExLHY9ITEpeyFuLm1lZGlhU291cmNlfHxXJiZuLm1lZGlhU291cmNlIT09V3x8KFc9bi5nZXREdXJhdGlvbigpLCFXJiZJNChuLnZpZGVvRGF0YSkmJihXPTI1MjAwLG4ubG4oKSYmKFc9NDY4MDApKSxuLm1lZGlhU291cmNlLmlzVmlldz9XPm4ubWVkaWFTb3VyY2UuZ2V0RHVyYXRpb24oKSYmeGdaKG4sVyk6eGdaKG4sVyksVz0oKT0+e24ucU4oKXx8KEltaShuLmxvYWRlcixuLm1lZGlhU291cmNlLEQsYix2KSxuLldKKCJtZWRpYXNvdXJjZWF0dGFjaGVkIikpfSxuLmxvYWRlcj9XKCk6Y2QobixXKSl9Owp4Z1o9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiYobi5tZWRpYVNvdXJjZS5hVChXKSxuLmxvYWRlcj8uaFcoVykpfTsKZUxoPWZ1bmN0aW9uKG4sVyl7aWYobi5CLldYKCkmJm4ubWVkaWFFbGVtZW50KXtsZXQgRD1uLm1lZGlhRWxlbWVudC55cigpO0Qub210PShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpK24uU1coKSkudG9GaXhlZCgzKTtELnBzPW4ucGxheWVyU3RhdGUuc3RhdGUudG9TdHJpbmcoMTYpO0QucnQ9KGcuUmsobi5CWC5wcm92aWRlcikqMUUzKS50b0ZpeGVkKCk7RC5lPVc7bi5CRltuLmtRKyslNV09RH19OwpnQnI9ZnVuY3Rpb24obil7aWYoZy51YigiY29iYWx0IikmJmcudWIoIm5pbnRlbmRvIHN3aXRjaCIpKXt2YXIgVz0hd2luZG93Lm1hdGNoTWVkaWEoInNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcyMHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyMDBkcGkpIikubWF0Y2hlcztuLlUoIm54ZG9jayIse2Q6V30pfX07ClhhUz1mdW5jdGlvbihuKXtEcihuLm53KTtrUChuKXx8KG4ubnc9VzAoKCk9PmtQKG4pLDEwMCkpfTsKa1A9ZnVuY3Rpb24obil7dmFyIFc9bi5tZWRpYUVsZW1lbnQ7VyYmbi5BbCYmIW4udmlkZW9EYXRhLlkmJiFnLnZQKCJ2ZnAiLG4ubVEudGltZXJOYW1lKSYmVy5YKCk+PTImJiFXLmlzRW5kZWQoKSYmTSQoVy5KKCkpJiZuLm1RLnRpY2soInZmcCIpO3JldHVybihXPW4ubWVkaWFFbGVtZW50KSYmIW4udmlkZW9EYXRhLlkmJlcuZ2V0RHVyYXRpb24oKT4wJiYoVy5pc1BhdXNlZCgpJiZXLlgoKT49MiYmTSQoVy5KKCkpJiYoZy52UCgicGJwIixuLm1RLnRpbWVyTmFtZSl8fG4ubVEudGljaygicGJwIiksIW4udmlkZW9EYXRhLkR0fHxuLlZ0fHxXLmlzU2Vla2luZygpfHwobi5WdD0hMCxuLldKKCJvblBsYXliYWNrUGF1c2VBdFN0YXJ0IikpKSxXPVcuZ2V0Q3VycmVudFRpbWUoKSxxOShuLlZlLFcpJiYoIW4udmlkZW9EYXRhLlJvfHwhbi5wbGF5ZXJTdGF0ZS5OKDE2KSkpPyhuLmUyKCksITApOiExfTsKaDU9ZnVuY3Rpb24obixXKXtuLkIuUygiaHRtbDVfbG9nX3JlYnVmZmVyX3JlYXNvbiIpJiYoVz17cjpXLGxhY3Q6Zy52SSgpfSxuLm1lZGlhRWxlbWVudCYmKFcuYmg9bi5tZWRpYUVsZW1lbnQuenMoKSksbi5VKCJidWZyZWFzb24iLFcpKX07CnFhVT1mdW5jdGlvbihuKXtuLkJYLm9uUHJvZ3Jlc3MoKTtpZihnLkRQKG4udmlkZW9EYXRhKSYmRGF0ZS5ub3coKT5uLmhhKzYyODMpe2lmKG4udmlkZW9EYXRhLk4mJiFFayhuLnZpZGVvRGF0YS5OKSl7dmFyIFc9bi5CWDtpZihXLnFvZSl7Vz1XLnFvZTt2YXIgRD1XLnByb3ZpZGVyLkwuSEsoKSxiPWcuUmsoVy5wcm92aWRlcik7VnUoVyxiLEQpO2xldCB2PUQuVztEPUQuWDtpc05hTih2KXx8KCFpc05hTihEKSYmRD9nLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKSxELnRvRml4ZWQoMyldKTpnLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKV0pKX19Vz1nLkdsKG4uQik7Yj1uLlMoImh0bWw1X2Fsd2F5c19sb2dfcmF3bGF0Iik7KFd8fGIpJiZuLlUoInJhd2xhdCIse2w6Wjcobi5GNSwicmF3bGl2ZWxhdGVuY3kiKS50b0ZpeGVkKDMpfSk7bi5oYT1EYXRlLm5vdygpfW4udmlkZW9EYXRhLkomJm4udmlkZW9EYXRhLkouVygpJiYoVz1uLlVKKCkpJiZXLnZpZGVvSGVpZ2h0IT09Cm4uejEmJihuLnoxPVcudmlkZW9IZWlnaHQsdVYobiwiYSIsYXZaKG4sbi52aWRlb0RhdGEuY0opKSl9OwpHcU09ZnVuY3Rpb24obil7aWYobi5CLldYKCkpe24uQkYuc29ydCgoVyxEKT0+K1cucnQtK0QucnQpOwpmb3IobGV0IFcgb2Ygbi5CRiluLlUoInZwZSIsT2JqZWN0LmFzc2lnbih7dDpXLnJ0fSxXKSk7bi5CRj1bXTtuLmtRPTB9fTsKenBpPWZ1bmN0aW9uKG4sVyl7bi5tUS50aWNrKCJ2dGEiKTtnLmdfKCJ2dGEiLHZvaWQgMCwidmlkZW9fdG9fYWQiKTtuLmdldEN1cnJlbnRUaW1lKCk+MCYmUnlpKG4uZGEsbi5nZXRDdXJyZW50VGltZSgpKTtuLm1lZGlhRWxlbWVudC5EKFcpO24ubWVkaWFTb3VyY2UmJmJRKDQpOyFuLnZpZGVvRGF0YS5ZJiZuLnBsYXllclN0YXRlLmlzT3JXaWxsQmVQbGF5aW5nKCkmJm4uQl8uc3RhcnQoKTtuQkMobikmJihXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpKSYmKFcub25hZGR0cmFjaz0oKT0+e3ZCMihuKX0sVy5vbnJlbW92ZXRyYWNrPSgpPT57dkIyKG4pfSxXLm9uY2hhbmdlPSgpPT57bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsbi52aWRlb0RhdGEsITApfSl9Owp0aVM9ZnVuY3Rpb24obil7bj1uLmFwaS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO249bi5pc0N1ZWQoKXx8bi5pc0Vycm9yKCk/Im5vbmUiOm4uaXNPcldpbGxCZVBsYXlpbmcoKT8icGxheWluZyI6InBhdXNlZCI7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5wbGF5YmFja1N0YXRlPW59OwokZ0M9ZnVuY3Rpb24obil7aWYobi5OKWlmKG4uYXBpLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXRyeXt4UCh7ZHVyYXRpb246SW5maW5pdHl9KX1jYXRjaChXKXt4UCgpfWVsc2V7aWYobi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnpLKCkpe2xldCBXPW4uYXBpLmdldFByb2dyZXNzU3RhdGUoKS5zZWVrYWJsZUVuZCxEPU1hdGgubWluKG4uYXBpLmdldEN1cnJlbnRUaW1lKCksVyk7aWYoVyYmTnVtYmVyLmlzRmluaXRlKEQpKXt4UCh7ZHVyYXRpb246VyxwbGF5YmFja1JhdGU6bi5hcGkuZ2V0UGxheWJhY2tSYXRlKCkscG9zaXRpb246RH0pO3JldHVybn19eFAoKX19OwpMYT1mdW5jdGlvbihuLFcpe3RyeXtuYXZpZ2F0b3IubWVkaWFTZXNzaW9uLnNldEFjdGlvbkhhbmRsZXIobixXKX1jYXRjaChEKXt9fTsKclBoPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKCFufHwhbi50aHVtYm5haWxzKXJldHVybiBXO2ZvcihsZXQgRCBvZiBuLnRodW1ibmFpbHMpRC51cmwmJighRC53aWR0aHx8RC53aWR0aDw9MHx8IUQuaGVpZ2h0fHxELmhlaWdodDw9MHx8Zy5qSShELnVybCkmJlcucHVzaCh7c3JjOkQudXJsfHwiIixzaXplczpgJHtELndpZHRofXgke0QuaGVpZ2h0fWAsdHlwZToiaW1hZ2UvanBlZyJ9KSk7cmV0dXJuIFd9OwpzVVM9ZnVuY3Rpb24obil7TGEoInBsYXkiLCgpPT57bi5hcGkucGxheVZpZGVvKCk7ZWwobil9KTsKTGEoInBhdXNlIiwoKT0+e24uYXBpLnBhdXNlVmlkZW8oKTtlbChuKX0pOwpMYSgic2Vla2JhY2t3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSgtNSpuLmFwaS5nZXRQbGF5YmFja1JhdGUoKSk7ZWwobil9KTsKTGEoInNlZWtmb3J3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSg1Km4uYXBpLmdldFBsYXliYWNrUmF0ZSgpKTtlbChuKX0pOwpMYSgic2Vla3RvIixXPT57Vz1XLnNlZWtUaW1lO1chPW51bGwmJm4uYXBpLnNlZWtUbyhXKTtlbChuKX0pfTsKZWw9ZnVuY3Rpb24obil7bi5hcGkuUygid2ViX3Jlc2V0X2xhY3Rfb25fbWVkaWFfYWN0aW9ucyIpJiZuLmFwaS51cGRhdGVMYXN0QWN0aXZlVGltZSgpfTsKeFA9ZnVuY3Rpb24obil7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5zZXRQb3NpdGlvblN0YXRlKG4pfTsKcGFNPWZ1bmN0aW9uKG4pe2lmKG49bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LmdldFBsYXllclJlc3BvbnNlKCk/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKWlmKG49Zy53KG4uY29tcG9zaXRlVmlkZW9PdmVybGF5LE5LeCksbj8uc291cmNlcz8ubGVuZ3RoKWZvcihsZXQgVyBvZiBuPy5zb3VyY2VzKWlmKFcuaXNBY3RpdmUpcmV0dXJuIFd9OwpnOT1mdW5jdGlvbihuKXtuLk49dm9pZCAwO24uVy5jbGVhcigpO24uYXBpLk5wKCJjb21wb3NpdGVlbWJhcmdvIiwxKX07ClhZPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tSZWxhdGl2ZVBvc2l0aW9uPy51dGNUaW1lTXMpLzFFMztsZXQgYj1XK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSx2PWBjb21wb3NpdGVfZW1iYXJnb18ke1d9YDtpZihELm9uRW50ZXIpe2xldCBrPUQub25FbnRlci5maWx0ZXIobi5WKTtrLmxlbmd0aCYmKG4uVy5zZXQodixrKSxuLmFwaS5hZGRVdGNDdWVSYW5nZSh2LFcsYiwiY29tcG9zaXRlZW1iYXJnbyIsITEpKX19fTsKSDR0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPy5pZCE9PVcuaWQmJihuLmFwaS5xVyghMCksbi5XLmhhcyhXLmlkKSkpe3ZhciBEPW4uVy5nZXQoVy5pZCksYj1uLmFwaS5nZXRWaWRlb0RhdGEoKTtmb3IobGV0IHYgb2YgRClEPXYuY29tcG9zaXRlRW1iYXJnbz8uZW1iYXJnb1N0YXR1c1Rva2VuLGIucFIhPT1EJiYoYi5wUj1ELG4uYXBpLm5DKCkpLFlhVShuLFcpfX07CmZwaT1mdW5jdGlvbihuLFcpe2lmKG4uTj8uaWQ9PT1XLmlkJiYobi5hcGkucVcoITEpLG4uVy5oYXMoVy5pZCkpKXtpZihXPW4uYXBpLmdldFZpZGVvRGF0YSgpKVcucFI9dm9pZCAwO24uYXBpLm5DKCk7WWFVKG4pfX07CkpQTT1mdW5jdGlvbihuLFcpe24uY29tcG9zaXRlVmlkZW9TdGF0ZSE9PW51bGwmJihXLnBsYXliYWNrU3RhdGV8fChXLnBsYXliYWNrU3RhdGU9e30pLFcucGxheWJhY2tTdGF0ZS5jb21wb3NpdGVWaWRlb1N0YXRlPW4uY29tcG9zaXRlVmlkZW9TdGF0ZSl9OwpJcEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uYXBpLmdldFZpZGVvRGF0YSh7dm86ITF9KTtiPy5VKCJhdHJrY2hnIix7aWQ6VyxtOkR9KTtpZihiJiYhYi5JTSgpKXtEPW4uYXBpLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7Zm9yKGxldCB2IG9mIEQpaWYodi5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Vyl7bi5hcGkuRygpLkhKPVc7YnJlYWt9fX07ClNhTT1mdW5jdGlvbihuLFcpe1chPT1uLksmJihuLks9VyxuLkouSigpLFcmJihuLkouTk4obi5hcGksIm1vZHVsZWNyZWF0ZWQiLEQ9Pnt2YXIgYj1wYU0obik7RD09PSJjYXB0aW9ucyImJmI/LnRvcExlZnRDb3JuZXJYIT09dm9pZCAwJiZiPy50b3BMZWZ0Q29ybmVyWSE9PXZvaWQgMCYmYj8ud2lkdGghPT12b2lkIDAmJmI/LmhlaWdodCE9PXZvaWQgMCYmbi5hcGkuVG4oe3RvcDpiLnRvcExlZnRDb3JuZXJZLHJpZ2h0OjEtYi50b3BMZWZ0Q29ybmVyWC1iLndpZHRoLGJvdHRvbToxLWIudG9wTGVmdENvcm5lclktYi5oZWlnaHQsbGVmdDpiLnRvcExlZnRDb3JuZXJYfSl9KSxuLkouTk4obi5hcGksZy5veSgiY29tcG9zaXRlZW1iYXJnbyIpLEQ9PntINHQobixEKX0pLG4uSi5OTihuLmFwaSxnLmR2KCJjb21wb3NpdGVlbWJhcmdvIiksRD0+e2ZwaShuLEQpfSksbi5KLk5OKG4uYXBpLCJoZWFydGJlYXRSZXF1ZXN0IixEPT57SlBNKG4sRCl9KSxuLkouTk4obi5hcGksImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiLAooRCxiKT0+e0lwQyhuLEQsYil9KSxuLkouTk4obi5hcGksIm9uUGxheWJhY2tBdWRpb0NoYW5nZSIsKCk9PntuLmFwaS5uQygpfSkpKX07CllhVT1mdW5jdGlvbihuLFcpe24uTj8uaWQhPT1XPy5pZCYmKG4uTiYmKG4uVy5kZWxldGUobi5OLmlkKSxuLmFwaS5VTyhbbi5OXSwxKSksbi5OPVcpfTsKQVAyPWZ1bmN0aW9uKG4pe249bj8ucXVhbGl0eURldGFpbHN8fFtdO3JldHVybiBnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKT9uOm4ucmVkdWNlKChXLHtrZXk6RCx2YWx1ZTpifSk9PntEJiZiJiYoV1tEXT1iKTtyZXR1cm4gV30se30pfTsKbWdoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVc/MTU2NTk1OjE1MTg3NDtmb3IobGV0IGggb2Ygbil7dmFyIGs9aC52aWRlbztuPXtmb3JtYXRJZDpoLmlkLHF1YWxpdHlMYWJlbDprLnF1YWxpdHlMYWJlbCxxdWFsaXR5OmsucXVhbGl0eSxpc1BsYXlhYmxlOld9O2lmKGs9RFtrLnF1YWxpdHlMYWJlbF0pbi5wYXlnYXRlZFF1YWxpdHlEZXRhaWxzPXtwYXlnYXRlZEluZGljYXRvclRleHQ6ay5wYXlnYXRlZEluZGljYXRvclRleHQsZW5kcG9pbnQ6ay5lbmRwb2ludCx2ZVR5cGU6dix0cmFja2luZ1BhcmFtczprLnRyYWNraW5nUGFyYW1zfTtiLnB1c2gobil9cmV0dXJuIGJ9OwpPNEM9ZnVuY3Rpb24obil7cVQoKSYmKG4ubVE9bi5hcGkuZUcoKSxuLk49bmV3IFk2LG4uVz0yLG4ubVEuU2woInB0X3Bpc2giKSx3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz93aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+e0sxVShuKX0pOksxVShuKSl9OwpxVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuYW5kcm9pZCYmd2luZG93LmFuZHJvaWQud2VidmlldyYmd2luZG93LmFuZHJvaWQud2Vidmlldy5nZXRFeHBlcmltZW50YWxNZWRpYUludGVncml0eVRva2VuUHJvdmlkZXJ9OwpLMVU9ZnVuY3Rpb24obil7aWYocVQoKSl7bi5tUT1uLmFwaS5lRygpO24ubVEuU2woInB0X3BpcyIpO3RyeXt3aW5kb3cuYW5kcm9pZC53ZWJ2aWV3LmdldEV4cGVyaW1lbnRhbE1lZGlhSW50ZWdyaXR5VG9rZW5Qcm92aWRlcih7Y2xvdWRQcm9qZWN0TnVtYmVyOjg2ODYxODY3Njk1Mn0pLnRoZW4oVz0+e24uSj1XO24uTj8ucmVzb2x2ZSgpO24ubVEuU2woInB0X3BpZiIpfSkuY2F0Y2goVz0+e0dHKFcsInBsYXllcl9zdGFydCIpOwpuLm1RLlNsKCJwdF9waWUiKTtuLk4/LnJlamVjdChXKX0pfWNhdGNoKFcpe0dHKFcsInBsYXllcl9zdGFydF9jYXRjaCIpLG4uYXBpLlUoInBmZXMiLHt9KSxuLk4/LnJlamVjdChXKX19fTsKR0c9ZnVuY3Rpb24obixXKXtuLm1lc3NhZ2UmJmcuR3EoRXJyb3IoYCR7V31fJHtuLm1lc3NhZ2V9YCkpfTsKUGd4PWZ1bmN0aW9uKG4sVyl7aWYobi5KKXt2YXIgRD1XLnZpZGVvSWQ7bi5XPTM7bi5tUS5TbCgicHRfbXMiKTt0cnl7bi5KLnJlcXVlc3RUb2tlbihEKS50aGVuKGI9PntuLm1RLlNsKCJwdF9tZiIpO2lmKGI9Zy5kMShiKSlXLnpmPXtZdDpifX0pLmNhdGNoKGI9PntuLm1RLlNsKCJwdF9tZSIpOwpHRyhiLCJwbGF5ZXJfZ2VuZXJhdGUiKTtuLmhhbmRsZUVycm9yKGIsVyl9KX1jYXRjaChiKXtHRyhiLCJwbGF5ZXJfZ2VuZXJhdGVfY2F0Y2giKSxuLmhhbmRsZUVycm9yKGIsVyl9fX07Clo0eD1mdW5jdGlvbihuLFcpe2cueDYobi5hcGkuRygpKSYmKFc/bi5qLnNob3coKTpuLmouaGlkZSgpKX07CnlQaj1mdW5jdGlvbihuKXtuLlg8bi5KLmxlbmd0aD9VZzIobik6KG4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KDEpLk4oMikmJihuLlY9ITApLG4uTj0hMCxuLlg9MCxuLkoubGVuZ3RoPTAsbi5hcGkuWDkoKSxuLk49ITEpfTsKRUJDPWZ1bmN0aW9uKG4pe3ZhciB7aW50ZXJzdGl0aWFsczpXfT1uLmFwaS5nZXRWaWRlb0RhdGEoKSxEPVtdO2ZvcihsZXQgTCBvZiBXKXtXPUQ7dmFyIGI9Vy5wdXNoLHY9bixrPUwucGxheWVyVmFycyxoPUwua3EseD1MLnRpbWU7bGV0IGU9YHl0by0ke3YuWSsrfWA7eD1uZXcgZy5sNSh4LHgse2lkOmUscHJpb3JpdHk6NyxuYW1lc3BhY2U6Inl0byJ9KTt2LktbZV09e3BsYXllclZhcnM6ayxwbGF5ZXJUeXBlOmh9O2IuY2FsbChXLHgpO1c9bi5hcGkuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KTtXPU9iamVjdC5hc3NpZ24oe29hdXRoX3Rva2VuOlcub2F1dGhUb2tlbn0sTC5wbGF5ZXJWYXJzKTtuLmFwaS5wcmVsb2FkVmlkZW9CeVBsYXllclZhcnMoVyxMLmtxKX1uLmFwaS5naChELDEpfTsKVWcyPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSltuLlhdO2lmKFcpe3ZhciB7cGxheWVyVmFyczpELHBsYXllclR5cGU6Yn09bi5LW1ddO24uTj0hMDtuLlgrKztXPW4uYXBpLmdldFZpZGVvRGF0YSh7cGxheWVyVHlwZToxfSk7Vz1PYmplY3QuYXNzaWduKHtvYXV0aF90b2tlbjpXLm9hdXRoVG9rZW59LEQpO24uYXBpLmxvYWRWaWRlb0J5UGxheWVyVmFycyhXLCEwLGIsITApO24uTj0hMX19OwpvQnI9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7aWYoYXdhaXQgaTRVKG4pKXRyeXtsZXQgdj17a2V5Om5mKFcsInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSIpLHZpZGVvSWQ6VyxsYXN0UGxheWJhY2tQb3NpdGlvblNlY29uZHM6RC50b1N0cmluZygpLGxhc3RVcGRhdGVkQ2xpZW50VGltZXN0YW1wTXM6Yi50b1N0cmluZygpfTthd2FpdCBweXQobi5OLHYpO24uSiE9PVcmJihhd2FpdCB1angobiksbi5KPVcpfWNhdGNoKHYpe24uaGFuZGxlRXJyb3IoIkZhaWxlZCB0byBhZGQgb3IgdXBkYXRlIHBsYXliYWNrIHBvc2l0aW9uIix2KX1lbHNlIG4uYXBpLlUoInZwcGUiLHtwdToiYXUifSl9OwpkZ3c9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvSWQ7aWYoVyl7dmFyIEQ9bi5hcGkuZ2V0Q3VycmVudFRpbWUoKSxiPURhdGUubm93KCk7b0JyKG4sVyxELGIpfX07Cmk0VT1hc3luYyBmdW5jdGlvbihuKXtpZighbi5OKXt0NXx8KHQ1PUk5MigpKTtsZXQgVz1hd2FpdCB0NTtpZighVylyZXR1cm4hMTtuLk49V31yZXR1cm4hMH07CnVqeD1hc3luYyBmdW5jdGlvbihuKXtpZihuLk4pdHJ5e3ZhciBXPWF3YWl0IFVlKG4uTiwidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IiksRD1hd2FpdCBVZShuLk4sIm1haW5WaWRlb0VudGl0eSIpO2xldCBiPW5ldyBTZXQoRC5tYXAoaD0+aC52aWRlb0lkKSksdj1XLmZpbHRlcihoPT4hYi5oYXMoaC52aWRlb0lkKSk7CnYuc29ydCgoaCx4KT0+TnVtYmVyKHgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcyktTnVtYmVyKGgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcykpOwpsZXQgaz1EYXRlLm5vdygpLTg2NEU1O1c9W107Zm9yKEQ9MDtEPHYubGVuZ3RoO0QrKyl7bGV0IGg9dltEXTsoRD49bi5XfHxOdW1iZXIoaC5sYXN0VXBkYXRlZENsaWVudFRpbWVzdGFtcE1zKTxrKSYmaC5rZXkmJlcucHVzaChoLmtleSl9Vy5sZW5ndGg+MCYmKG4uYXBpLlUoInZwcGUiLHtleHA6Vy5sZW5ndGh9KSxhd2FpdCBIaHcobi5OLFcpKX1jYXRjaChiKXtuLmhhbmRsZUVycm9yKCJGYWlsZWQgdG8gZXhwaXJlIHBsYXliYWNrIHBvc2l0aW9uIixiKX19Owp6TFo9ZnVuY3Rpb24obil7L1teYS16QS1aMC05Oy4hXy1dLy50ZXN0KG4pJiYobj1uLnJlcGxhY2UoL1srXS9nLCItIikucmVwbGFjZSgvW15hLXpBLVowLTk7LiFfLV0vZywiXyIpKTtyZXR1cm4gbn07CmxwMj1mdW5jdGlvbihuKXtyZXR1cm4gd2luZG93LlByb2ZpbGVyJiZuZXcgd2luZG93LlByb2ZpbGVyKG4pfTsKalVVPWZ1bmN0aW9uKG4pe3ZhciBXPW4uc2FtcGxlSW50ZXJ2YWwsRD1uLm1heEJ1ZmZlclNpemU7aWYoIW4ucU4oKSYmVz4wJiZEPjAmJiFuLk4mJm4uVzwxRTcpdHJ5e24uWD1scDIoe3NhbXBsZUludGVydmFsOlcsbWF4QnVmZmVyU2l6ZTpEfSksbi5YPy5hZGRFdmVudExpc3RlbmVyKCJzYW1wbGVidWZmZXJmdWxsIixhc3luYygpPT57YXdhaXQgVEt3KG4pO2pVVShuKX0pfWNhdGNoKGIpe24uTj16TFooYi5tZXNzYWdlKSxuLkooKX19OwpUS3c9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2xldCBXPWF3YWl0IG4uWD8uc3RvcCgpO1cmJm4ubG9nVHJhY2UoVyl9Y2F0Y2goVyl7bi5OPXpMWihXLm1lc3NhZ2UpLG4uSigpfX07ClJMdD1mdW5jdGlvbihuLFcsRCl7aWYoRCl7dmFyIGI9IiI7Q2d0KG4sVykmJihiPVcsbi5hcGkuRygpLkhKPVcpO2ImJkJLQyhuLGIpJiYodnRDKG4uYXBpLGIpLFNrKGZFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKT8uVigpKSx2PT57dmFyIGs9YjtGMXcodikhPT1rJiZ3YVMobixNaWkodikse3N0cmluZ1ZhbHVlOmt9KX0pKX19OwpRVVo9ZnVuY3Rpb24obil7QXMoKT8uc2l6ZSYmU2soZkUobi5hcGkuRygpLG4uYXBpLmdldFZpZGVvRGF0YSgpPy5WKCkpLFc9PnsoVz1GMXcoVykpJiZCS0MobixXKSYmKG4uYXBpLkcoKS5ISj1XKX0pfTsKQ2d0PWZ1bmN0aW9uKG4sVyl7bj1uLmFwaS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2ZvcihsZXQgRCBvZiBuKWlmKEQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PVcpcmV0dXJuIEQ7cmV0dXJuIG51bGx9OwpCS0M9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zcGxpdCgiLiIpWzBdIT09IiImJm4uYXBpLmdldFZpZGVvRGF0YSgpPy5JTSgpfTsKRjF3PWZ1bmN0aW9uKG4pe3tuPU1paShuKTtsZXQgVz1BcygpO249Vz9XLmdldChuKTp2b2lkIDB9cmV0dXJuIG4mJm4uc3RyaW5nVmFsdWU/bi5zdHJpbmdWYWx1ZToiIn07CndhUz1mdW5jdGlvbihuLFcsRCl7VmliKFt7c2V0dGluZ0l0ZW1JZDpXLHNldHRpbmdPcHRpb25WYWx1ZTpEfV0pO1NrKG4uWW8oKSxiPT57QkdNKGIsVyxEKX0pfTsKTWlpPWZ1bmN0aW9uKG4pe3ZhciBXPSg0ODQpLnRvU3RyaW5nKCk7biYmKFc9KDQ4MykudG9TdHJpbmcoKSk7cmV0dXJuIFd9OwpWaWI9ZnVuY3Rpb24obil7dmFyIFc9QXMoKTtXfHwoVz1uZXcgTWFwKTtmb3IobGV0IEQgb2YgbilXLnNldChELnNldHRpbmdJdGVtSWQsRC5zZXR0aW5nT3B0aW9uVmFsdWUpO249SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKFcpKTtnLlBCKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIsbiwyNTkyRTMpfTsKcjk9ZnVuY3Rpb24obil7bi5qPW51bGw7bi5LPW51bGw7bi5OTigkUCgib3ZlciIpLG4uWjEpO24uTk4oInRvdWNoc3RhcnQiLG4uWSk7bi5OJiZuLk5OKCRQKCJkb3duIiksbi5WUSl9Owpzcj1mdW5jdGlvbihuKXtuLlguSighbi5OKX07CiRQPWZ1bmN0aW9uKG4pe3JldHVybiB3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQ/YE1TUG9pbnRlciR7bi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke24uc3Vic3RyaW5nKDEpfWA6YG1vdXNlJHtufWB9OwpOVD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmY1BiP2cuSksobil8fGRvY3VtZW50OmRvY3VtZW50fTsKYXB4PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEPTA7RDxXLmNoYW5nZWRUb3VjaGVzLmxlbmd0aDtEKyspe2xldCBiPVcuY2hhbmdlZFRvdWNoZXNbRF07aWYoYi5pZGVudGlmaWVyPT09bi5LKXJldHVybiBifXJldHVybiBudWxsfTsKblZyPWZ1bmN0aW9uKG4pe2NQYj1ufTsKV3F4PWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVyl7Vz1OdW1iZXIoYi5wbGF5YmFja1JlbGF0aXZlUG9zaXRpb24/LnV0Y1RpbWVNcykvMUUzO2xldCB2PVcrTnVtYmVyKGIuZHVyYXRpb24/LnNlY29uZHMpLGs9YHN0YXRpb25zOiR7RH06JHtXfWA7bi5KLmhhcyhrKXx8KG4uSi5hZGQoayksYi5vbkVudGVyJiYobi5OW2tdPWIub25FbnRlciksbi5hcGkuYWRkVXRjQ3VlUmFuZ2UoayxXLHYsRCwhMSkpfX07CkpKPWZ1bmN0aW9uKG4pe3ZhciBXPS9jb2RlY3M9IihbXiJdKikiLy5leGVjKG4ubWltZVR5cGUpO3JldHVybiBXJiZXWzFdP1dbMV0rIiAoIituLml0YWcrIikiOm4uaXRhZ307CnBhPWZ1bmN0aW9uKG4sVyl7aWYobi5oZWlnaHRQeD09PS0xKXt2YXIgRD1udWxsO3RyeXtEPWcuekYoIkNBTlZBUyIpLG4uVz1ELmdldENvbnRleHQoIjJkIil9Y2F0Y2goaCl7fWlmKG4uVyl7dmFyIGI9bi5OKm4uc2FtcGxlQ291bnQ7bi5qPUQ7bi5qLndpZHRoPWI7bi5qLnN0eWxlLndpZHRoPWAke2J9cHhgO24uZWxlbWVudC5hcHBlbmRDaGlsZChuLmopfWVsc2UgZm9yKG4uc2FtcGxlQ291bnQ9TWF0aC5mbG9vcihuLnNhbXBsZUNvdW50LzQpLG4uTio9NCxEPTA7RDxuLnNhbXBsZUNvdW50O0QrKyliPWcuekYoIlNQQU4iKSxiLnN0eWxlLndpZHRoPWAke24uTn1weGAsYi5zdHlsZS5sZWZ0PWAke24uTipEfXB4YCxuLmVsZW1lbnQuYXBwZW5kQ2hpbGQoYil9RD1uLmVsZW1lbnQuY2xpZW50SGVpZ2h0fHwyNDtEIT09bi5oZWlnaHRQeCYmKG4uaGVpZ2h0UHg9RCxuLlcmJihEPSh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk+MT8yOjEsbi5qLmhlaWdodD1uLmhlaWdodFB4KgpELG4uai5zdHlsZS5oZWlnaHQ9YCR7bi5oZWlnaHRQeH1weGAsbi5XLnNjYWxlKDEsRCkpKTtmb3IodmFyIHYgb2YgVyl7Vz1uO3ZhciBrPW4uaW5kZXg7Zm9yKEQ9MDtEKzI8Vy5WLmxlbmd0aCYmVy5WW0QrMV08djspRCsrO2I9TWF0aC5taW4oMSwodi1XLlZbRF0pLyhXLlZbRCsxXS1XLlZbRF0pKTtpZihXLlcpVy5XLmZpbGxTdHlsZT1XLktbRF0sVy5XLmZpbGxSZWN0KGsqVy5OLDAsVy5OLFcuaGVpZ2h0UHgpLFcuVy5maWxsU3R5bGU9Vy5LW0QrMV0sVy5XLmZpbGxSZWN0KGsqVy5OLFcuaGVpZ2h0UHgqKDEtYiksVy5OLFcuaGVpZ2h0UHgpO2Vsc2V7az1XLmVsZW1lbnQuY2hpbGRyZW5ba107bGV0IGg9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7Yj1NYXRoLm1pbihXLmhlaWdodFB4LE1hdGgucm91bmQoVy5oZWlnaHRQeCpiKmgpL2gpfHwwO2suc3R5bGUuaGVpZ2h0PWAke2J9cHhgO2suc3R5bGUuYmFja2dyb3VuZENvbG9yPVcuS1tEKzFdO2suc3R5bGUuYm9yZGVyVG9wPQpgc29saWQgJHtXLmhlaWdodFB4LWJ9cHggJHtXLktbRF19YH1uLmluZGV4PShuLmluZGV4KzEpJW4uc2FtcGxlQ291bnR9dj1uLmluZGV4O24uVz9uLlcuY2xlYXJSZWN0KHYqbi5OLDAsbi5OLG4uaGVpZ2h0UHgpOihuPW4uZWxlbWVudC5jaGlsZHJlblt2XSxuLnN0eWxlLmhlaWdodD0iMHB4IixuLnN0eWxlLmJvcmRlclRvcD0iIil9OwpiQng9ZnVuY3Rpb24obixXKXt2YXIgRD0hIW4uTj8uRTUoKTtuLk58fChuLk49bmV3IERRTShuLmFwaSksZy51KG4sbi5OKSxnLnJ2KG4uYXBpLG4uTi5lbGVtZW50LDQpKTtuLk4uTUwoVyk7dmFyIGI9R3Uobi5hcGkuSjUoKSk7YiYmYi5sb2FkZWQmJkQhPT1XJiZiLm5HKCk7VyYmbi5hcGkuVSgic2ZuIix7fSwhMCl9Owp2VjI9ZnVuY3Rpb24obixXKXtpZihuLlc9PT12b2lkIDApcmV0dXJuITE7aWYoVy5zZWVrRGlyZWN0aW9uPT09IlRJTUVMWV9BQ1RJT05fVFJJR0dFUl9ESVJFQ1RJT05fRk9SV0FSRCImJk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzKXtpZihXPW4uVz09PTcyKW4uWD0iVElNRUxZX0FDVElPTl9UUklHR0VSX1NPVVJDRV9LRVlCT0FSRF9GT1JXQVJEX1NFRUtfRklWRV9TRUNPTkRTIjtyZXR1cm4gV31pZihXLnNlZWtEaXJlY3Rpb249PT0iVElNRUxZX0FDVElPTl9UUklHR0VSX0RJUkVDVElPTl9GT1JXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQpe2lmKFc9bi5XPT09NzQpbi5YPSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfU09VUkNFX0tFWUJPQVJEX0ZPUldBUkRfU0VFS19URU5fU0VDT05EUyI7cmV0dXJuIFd9cmV0dXJuIFcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmCk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzP24uVz09PTcxOlcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQ/bi5XPT09NzM6ITF9Owprd3c9ZnVuY3Rpb24obil7bi50aW1lbHlBY3Rpb25zJiYobi5qPW4udGltZWx5QWN0aW9ucy5yZWR1Y2UoKFcsRCk9PntpZihELmN1ZVJhbmdlSWQ9PT12b2lkIDApcmV0dXJuIFc7V1tELmN1ZVJhbmdlSWRdPTA7cmV0dXJuIFd9LHt9KSl9OwpZUD1mdW5jdGlvbihuKXtuLmNKJiZjbGVhclRpbWVvdXQobi5jSik7bi5jSj12b2lkIDA7bi5PPSExfTsKZmE9ZnVuY3Rpb24obil7aWYobi5OIT09dm9pZCAwKXt2YXIgVz0oVz1IOChuLG4uTikpJiZXLm9uQ3VlUmFuZ2VFbnRlcj9nLk40KFcub25DdWVSYW5nZUVudGVyKTp2b2lkIDA7dmFyIEQ9SDgobixuLk4pO2E6aWYoRCYmRC5hZGRpdGlvbmFsVHJpZ2dlcil7Zm9yKGIgb2YgRC5hZGRpdGlvbmFsVHJpZ2dlcilpZihiLnR5cGUmJigwLG4uYmRbYi50eXBlXSk/LihiLmFyZ3M/P3t9KSl7dmFyIGI9ITA7YnJlYWsgYX1iPSExfWVsc2UgYj0hMDtXJiZiJiYoZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsVyksaGJqKG4sRCksbi5qW24uTl0hPT12b2lkIDAmJm4ualtuLk5dKyssbi5PPSEwKX19OwpIOD1mdW5jdGlvbihuLFcpe2lmKG4udGltZWx5QWN0aW9ucylmb3IobGV0IEQgb2Ygbi50aW1lbHlBY3Rpb25zKWlmKEQuY3VlUmFuZ2VJZD09PVcpcmV0dXJuIER9Owp4UXc9ZnVuY3Rpb24obixXKXtpZigobj1IOChuLFcpKSYmbi5vbkN1ZVJhbmdlRXhpdClyZXR1cm4gZy5ONChuLm9uQ3VlUmFuZ2VFeGl0KX07Cmhiaj1mdW5jdGlvbihuLFcpe3ZhciBEPU51bWJlcihXPy5tYXhWaXNpYmxlRHVyYXRpb25NaWxsaXNlY29uZHMpO0QmJihZUChuKSxuLmNKPXNldFRpbWVvdXQoKCk9PntpZihuLk4hPT12b2lkIDAmJlc/LmN1ZVJhbmdlSWQ9PT1uLk4pe24uTz0hMTtuLlg9dm9pZCAwO3ZhciBiPXhRdyhuLG4uTik7YiYmZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsYil9fSxEKSl9Owp2YXIgZmFpPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtyZXR1cm4gaXBbSVsxMF1dKHRoaXMsNCw1ODg5LG4sVyxELGIsdixrKX07CmdWaD1mdW5jdGlvbihuKXtpZihuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSlpZihuPWcudyhuLnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnRpbWVseUFjdGlvbnNPdmVybGF5Vmlld01vZGVsLExxQyksbj8udGltZWx5QWN0aW9ucylyZXR1cm4gbj8udGltZWx5QWN0aW9ucy5tYXAoVz0+Zy53KFcsZWJyKSkuZmlsdGVyKFc9PiEhVyl9OwpKNT1mdW5jdGlvbihuKXtuLk4hPT1udWxsJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUjA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47KG48PDEmMTUpPT0yJiZEW0lbMjVdXSgpO2lmKChuLTh8MTcpPG4mJihuLTZeMjIpPj1uKXt2YXIgaD1EW2JdLHg9aFtJW2teNzM1NF1dKElba143MzA5XSk7eD4wP0VjKGteNzM1NSxrXjEyOTAsdixoW0lba143MzU5XV0oMCx4KSxoW0lba143MzU5XV0oeCsxKSk6aCYmKHZbaF09SVtrXjczNTddKTt2YXIgTD1bXX1pZigobiYyNyk9PW4pe2lmKCEoZ1goRFtJW2teNzUzMl1dKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0OTBdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0NzZdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc1MzNdKSkpdGhyb3cgbmV3IGcuUXgoSVtrXjc0ODBdLERbSVtrXjc1MzJdXSk7aD1scihEW0lba143NTMyXV0pO0RbSVtrXjc1MjddXT1oW0lba143NTQwXV07RFtJW2teNzUxNF1dPWhbSVsxXV0rKGhbSVtrXjc1MDhdXSE9bnVsbD9gOiR7aFtJW2teNzUwOF1dfWA6Cklba143NTI4XSk7eD1oW0lba143NTMyXV07eFtJW2teNzUxOF1dKElba143NTM4XSk/KERbSVtrXjc1MjFdXT1JW2teNzUzOF0seD14W0lba143NTMwXV0oa143NTM5KSk6eFtJW2teNzUxOF1dKElba143NTIzXSk/KERbSVtrXjc1MjFdXT1JW2teNzUyM10seD14W0lba143NTMwXV0oa143NTM2KSk6eFtJW2teNzUxOF1dKElba143NDc1XSk/KHg9aXAoa143NTI5LGteODgwLHgsRCkseD14WzBdKTooRFtJW2teNzUyMV1dPXgseD1JW2teNzUyOF0pO3ZhciBlPURbSVsxXV07RFtJWzFdXT1pcChrXjc1MzMsa143NzcxLHgpO09iamVjdFtJW2teNzUzOV1dKERbSVsxXV0sZzcoMixrXjc1MDAsaFtJW2teNzUxNF1dW0lbMF1dKCkpKTtPYmplY3RbSVtrXjc1MzldXShEW0lbMV1dLGUpO0RbSVsxXV1bSVtrXjc0NzNdXT09PUlba143NTAxXSYmKGRlbGV0ZSBEW0lbMV1dW0lba143NDczXV0sRFtJW2teNzUyMV1dKz1JW2teNzQ4N10pO0RbSVtrXjc1MzJdXT1JW2teNzUyOF07RFtJW2teNzUyMF1dPQpJW2teNzUyOF07RFtJW2teNzU0MF1dJiYoaD1YRChrXjc0OTIsa14zMjg1LEQpKTtMPVtdfShuJjk5KT09biYmKGVYKGteMzQ4NSxrXjQ1NDIsRCksTD1EW0lba14zNTExXV0pO24rMyYxNXx8KEw9ZW5jb2RlVVJJQ29tcG9uZW50KEQpKTtyZXR1cm4gTH07ClhiaD1mdW5jdGlvbihuKXtKNShuKTtuLk49c2V0VGltZW91dCgoKT0+e24uaGlkZSgpfSwzRTMpfTsKSUc9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuVUooKTtpZihXKXtsZXQgRD1uLmFwaS5nZXRQbGF5ZXJTaXplKCk7Vy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke24uTipELndpZHRoKigxLW4uc2NhbGUpfXB4LCAke24uSipELmhlaWdodCooMS1uLnNjYWxlKX1weCkgc2NhbGUoJHtuLnNjYWxlfSlgO1cuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSIwIDAiO1c9bi5pbmRpY2F0b3I7Vy5XLnRleHRDb250ZW50PWAke051bWJlcihuLnNjYWxlLnRvRml4ZWQoMSkpfXhgO1cuTj09PW51bGwmJlhiaChXKTtuLnNjYWxlPjE/bi5pbmRpY2F0b3Iuc2hvdygpOm4uaW5kaWNhdG9yLmhpZGUoKTtXPW4uc2NhbGU+MT8iWk9PTV9TVEFURV9GUkVFIjoiWk9PTV9TVEFURV9PUklHSU5BTCI7VyE9PW4uem9vbVN0YXRlJiYobi56b29tU3RhdGU9VyxnLnpVKCJ3YXRjaFpvb21TdGF0ZUNoYW5nZSIse3pvb21TdGF0ZTpuLnpvb21TdGF0ZX0pKX19OwpxSDE9ZnVuY3Rpb24obil7bj1uLldEKCk7aWYoIW4pcmV0dXJuITE7bj1nLm9FKG4pLmV4cHx8IiI7cmV0dXJuIG4uaW5jbHVkZXMoInhwdiIpfHxuLmluY2x1ZGVzKCJ4cGUiKX07Ckd3VT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2Ygbi5OKCEwKSlpZihxSDEoVykpcmV0dXJuITA7cmV0dXJuITF9Owp0THg9ZnVuY3Rpb24obixXKXtmb3IobGV0IGIgb2Ygbi5OKCEwKSlpZihxSDEoYikpe249Yjt2YXIgRD17cG90YzoiMSIscG90Old9O24udXJsJiYobi51cmw9Zy56ZChuLnVybCxEKSl9fTsKJFF4PWFzeW5jIGZ1bmN0aW9uKG4pe3RyeXthd2FpdCBufWNhdGNoKFcpe319OwpybU09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHF3LEQ9e1siWC1Hb29nLUFwaS1LZXkiXToiQUl6YVN5RHlUNVcwSmg0OUYzMFBxcXR5ZmRmN3BETEZLTEpvQW53In07cmV0dXJuIG5ldyBmVihXLG4sKCk9PkQpfTsKc0xiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVEgobil9OwpOYmI9ZnVuY3Rpb24obil7bi5KJiYobi5YPW5ldyBZNixuLmoucHJvbWlzZS50aGVuKCgpPT57bi5tUS5TbCgicG90X2lmIik7U2wobil9KSl9OwpIQnc9ZnVuY3Rpb24obil7dmFyIFc9KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpfHxuLlMoImh0bWw1X2dlbmVyYXRlX2NvbnRlbnRfcG9fdG9rZW4iKSkmJiFuLnVzZUxpdmluZ1Jvb21Qb1Rva2VuO3RyeXtpZihuLlMoImh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlIil8fG4uYXBpLkcoKS5adCgpLk4uUVEocGJNKSlZSGkobik7ZWxzZSBpZihXKXtuLm1RLlNsKCJwb3RfaXNjIik7bGV0IEQ9Zy5kTShuLmFwaS5HKCkuZXhwZXJpbWVudHMsImh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXMiKTtEPyhBNShuKSxnLm4kKCgpPT57bUEobil9LEQpKTpuLlMoImh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iIik/KEE1KG4pLGcuY0IoZy5EeSgpLCgpPT57bUEobil9KSk6bUEobil9fWNhdGNoKEQpe0QgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShEKX19OwpZSGk9YXN5bmMgZnVuY3Rpb24obil7S2Eobiwic3dwb19pIik7QTUobik7U2wobik7dmFyIFc9YXdhaXQgZy5NaChnLkQ2KCkpO0thKG4sInN3cG9fY28iKTtXPWF3YWl0IFp0WihXKTtuLlMoImh0bWw1X3dlYl9wb190b2tlbl9kaXNhYmxlX2NhY2hpbmciKXx8Vy55aCgxNTApO24uSj1XO0thKG4sInN3cG9fY2MiKTskUXgoVy5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCk7S2Eobiwic3dwb19yZSIpfSk7CmcubiQoKCk9PnttQShuKTtLYShuLCJzd3BvX3NpIil9LDApfTsKQTU9ZnVuY3Rpb24obil7bi5XfHwobi5XPW5XKCkpfTsKbUE9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuRygpO24ubVEuU2woInBvdF9pc3QiKTtuLkp8fGZNMShuKTtuLlMoImh0bWw1X2JhbmRhaWRfYXR0YWNoX2NvbnRlbnRfcG9fdG9rZW4iKXx8KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpJiYoU2wobiksTmJiKG4pKSxXPWcuZE0oVy5leHBlcmltZW50cywiaHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zIil8fDAsVz4wJiYobi5ZPVcwKCgpPT57U2wobil9LFcpKSxuLks9ITApfTsKSm14PWZ1bmN0aW9uKG4pe3ZhciBXPWcuWWgobi5leHBlcmltZW50cywiaHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5Iik7cmV0dXJuIFc/VzpnLms2KG4pPyJaMWVsTmtBS0xwU1Izb1BPVU1TTiI6Ik80M3owZHBqaGdYMjBTQ3g0S0FvIn07CkthPWZ1bmN0aW9uKG4sVyl7bi5TKCJodG1sNV93ZWJwb19iZ2VfY3RtcCIpJiZuLmFwaS5VKFcse2h3cG86ISFuLkosaHdwb3I6bi5OfSl9OwpTbD1hc3luYyBmdW5jdGlvbihuKXtpZihuLlMoImh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW4iKSYmIW4udXNlTGl2aW5nUm9vbVBvVG9rZW4pe3ZhciBXPW4uYXBpLkcoKSxEPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKXx8Zy5BcigiVklTSVRPUl9EQVRBIik7RD1XLllyP1cuZGF0YXN5bmNJZDpEO0Q9Zy5ZaChXLmV4cGVyaW1lbnRzLCJodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlbiIpfHxXLmxpdmluZ1Jvb21Qb1Rva2VuSWR8fEQ7Vy5qVz1PcihuLEQpfX07CmZNMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5HKCksRD1KbXgoVyk7RD1ybU0oRCk7dmFyIGI9RC5aai5iaW5kKEQpO0QuWmo9YXN5bmMgaz0+e2s9YXdhaXQgYihrKTtuLmFwaS5VKCJpdHIiLHt9KTtyZXR1cm4ga307CnRyeXt2YXIgdj1zTGIoe1VnOkQsa2Q6e21heEF0dGVtcHRzOjV9LHgzOntWajoiQ0xFbiIsZGlzYWJsZTpXLmV4cGVyaW1lbnRzLkVxKCJodG1sNV93ZWJfcG9fZGlzYWJsZV9yZW1vdGVfbG9nZ2luZyIpLEpwOlRwYihXLmV4cGVyaW1lbnRzKSxybzpoPT57dmFyIHg9SU0yLmdldChoKTt4fHwoeD1uZXcgU0hpKGgpLHg9bmV3IGhxKHgpLElNMi5zZXQoaCx4KSk7cmV0dXJuIHh9LApSaTpuLlMoIndwb19kaXNfbGZkbXMiKT8wOjFFM30sdDY6Zy5HcX0pO2xldCBrPW5ldyBBbXQoe08xOnYsVWc6RCxvbkVycm9yOmcuR3F9KTskUXgoay5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCl9KTsKbi5TKCJodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nIil8fGsueWgoMTUwKTtnLnUobix2KTtnLnUobixrKTtuLko9a31jYXRjaChrKXtnLkdxKGspLHY/LmRpc3Bvc2UoKX19OwpPcj1mdW5jdGlvbihuLFcpe2lmKCFuLkope2lmKG4uVyl0cnl7cmV0dXJuIG4uVyhXKX1jYXRjaChEKXtnLkdxKEQpfXJldHVybiIifXRyeXtuLm1RLlNsKG4uTj8icG90X2NtcyI6InBvdF9jc21zIik7bGV0IEQ9e0dyOiEwLEVSOiEwLHdfOld9O24uUygiaHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZyIpfHwoRC5oRz17YW06VyxBQjohMCxyMzohMH0pO2xldCBiPW4uSi5aUihEKTtuLm1RLlNsKG4uTj8icG90X2NtZiI6InBvdF9jc21mIik7bi5OJiYobi5YPy5yZXNvbHZlKCksbi5YPW51bGwsbi5WJiYobi5WPSExLG4uYXBpLmFwcC5NTigpLmpEKCExKSkpO3JldHVybiBifWNhdGNoKEQpe3JldHVybiBnLkdxKEQpLCIifX07Cktxcj1mdW5jdGlvbihuKXt2YXIgVz1nLnFqKCk7bi5KJiZnLnhvKFcse05IOlFXLFlMOm1RU30pfTsKZy5QOD1mdW5jdGlvbihuLFcsRCl7Zy5hTCgicGJzIixXPz8oMCxnLlIpKCksRD8/bi50aW1lck5hbWUpfTsKZy5PQk09ZnVuY3Rpb24obixXLEQpe3ZhciBiPWcuQ04oVy55USkmJiFXLnlRLlg7aWYoVy55US5lViYmKEZWKFcueVEpfHxXLnlRLlk9PT0ic2hvcnRzcGFnZSJ8fFcueVEuWT09PSJsZWFuYmFjayJ8fGIpJiYhbi5XKXtuLlc9ITA7bi5WPVcuY2xpZW50UGxheWJhY2tOb25jZTtnLkFyKCJUSU1JTkdfQUNUSU9OIil8fGcuU0goIlRJTUlOR19BQ1RJT04iLG4uQi5jc2lQYWdlVHlwZSk7bi5CLmNzaVNlcnZpY2VOYW1lJiZnLlNIKCJDU0lfU0VSVklDRV9OQU1FIixuLkIuY3NpU2VydmljZU5hbWUpO2lmKG4uTil7Yj1uLk4uZUcoKTtmb3IodmFyIHYgb2YgT2JqZWN0LmtleXMoYikpZy5hTCh2LGJbdl0sbi50aW1lck5hbWUpO3Y9UFYoQ0IpKG4uTi5Idik7Zy5ubCh2LG4udGltZXJOYW1lKTt2PW4uTjt2Lko9e307di5Idj17fX1nLm5sKHtwbGF5ZXJJbmZvOnt2aXNpYmlsaXR5U3RhdGU6UFYoakwpKCl9LHBsYXllclR5cGU6IkxBVEVOQ1lfUExBWUVSX0hUTUw1In0sbi50aW1lck5hbWUpOwpuLmohPT1XLmNsaWVudFBsYXliYWNrTm9uY2V8fE51bWJlci5pc05hTihuLkopfHwoZy52UCgiX3N0YXJ0IixuLnRpbWVyTmFtZSk/RD1QVihvTCkoIl9zdGFydCIsbi50aW1lck5hbWUpK24uSjpnLkdxKG5ldyBnLlF4KCJhdHRlbXB0ZWQgdG8gbG9nIGdhcGxlc3MgcGJzIGJlZm9yZSBDU0kgdGltZWxpbmUgc3RhcnRlZCIse2NwbjpXLmNsaWVudFBsYXliYWNrTm9uY2V9KSkpOyFEfHxnLnZQKCJwYnMiLG4udGltZXJOYW1lKXx8Vy5HU3x8Zy5QOChuLEQpfX07ClAkQz1mdW5jdGlvbihuKXtXUCgpO2NiKCJ3YXRjaCIsWyJwYnMiLCJwYnUiXSk7bi50aW1lck5hbWU9IiJ9OwpaQmo9ZnVuY3Rpb24obil7aWYobi5OKXt2YXIgVz1uLk47Vy5KPXt9O1cuSHY9e319bi5XPSExO24uaj12b2lkIDA7bi5KPU5hTn07ClVRaT1mdW5jdGlvbihuLFcpe3ZhciBEPSExLGI9bi5xdWV1ZS5maW5kSW5kZXgodj0+di5ncz09PVcpOwpiPj0wJiYobi5xdWV1ZS5zcGxpY2UoYiwxKSxEPSEwLFcucU4oKXx8Vy51bnN1YnNjcmliZSgicmVxdWVzdGNvbXBsZXRlZCIsbi5XLG4pLG4uVShXLCJkZXFfcXVldWUiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO2I9bi5KLmZpbmRJbmRleCh2PT52LmdzPT09Vyk7CmI+PTAmJihuLkouc3BsaWNlKGIsMSksRD0hMCxXLnFOKCl8fFcudW5zdWJzY3JpYmUoInJlcXVlc3Rjb21wbGV0ZWQiLG4uVyxuKSxuLlUoVywiZGVxX3dhaXQiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO3JldHVybiBEfTsKeW1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLnF1ZXVlKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtmb3IobGV0IFcgb2Ygbi5KKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtuLnF1ZXVlPVtdO24uSj1bXX07CkVWYj1mdW5jdGlvbihuLFcpe24uVShXLCJyZXFfbG9hZCIse3RjcG46Vy5XTigpfHwibm9uZSIsdHlwZToicHJlIn0pO2lmKCFuLnF1ZXVlLnNvbWUoYj0+Yi5ncz09PVcpJiYhbi5KLnNvbWUoYj0+Yi5ncz09PVcpKXt2YXIgRD17Z3M6VywKc3RhcnRlZDohMX07bi5xdWV1ZS5sZW5ndGg8bi5wb2xpY3kuTj9uLnF1ZXVlLnB1c2goRCk6KG4uSi5wdXNoKEQpLG4uVShXLCJ3YWl0Iix7dGNwbjpXLldOKCl8fCJub25lIn0pKTtuLlcoKX19OwppQlM9ZnVuY3Rpb24obil7dmFyIFc9bi5OP24uTi5XTigpfHwibm9uZSI6Im5vbmUiLEQ9bi5xdWV1ZS5tYXAoYj0+Yi5ncy5XTigpfHwibm9uZSIpLmpvaW4oIiwiKTsKcmV0dXJue3BjcG46Vyx3czpuLkoubGVuZ3RoLGNwbnM6RH19OwpaVD1mdW5jdGlvbihuKXtyZXR1cm4hIShuLnBsYXlsaXN0fHxuLmxpc3R8fG4uYXBpKX07Cml2PWZ1bmN0aW9uKG4sVyxELGIpe1c9VyE9PXZvaWQgMD9XOm4uaW5kZXg7Vz1uLml0ZW1zJiZXIGluIG4uaXRlbXM/bi5pdGVtc1tuLm9yZGVyW1ddXTpudWxsO3ZhciB2PW51bGw7VyYmKEQmJihXLmF1dG9wbGF5PSIxIiksYiYmKFcuYXV0b25hdj0iMSIpLHY9bmV3IGcuVXIobi55USxXKSxnLnUobix2KSx2Lk1kPSEwLHYuc3RhcnRTZWNvbmRzPW4uc3RhcnRTZWNvbmRzfHx2LmNsaXBTdGFydHx8MCxuLmxpc3RJZCYmKHYucGxheWxpc3RJZD1uLmxpc3RJZC50b1N0cmluZygpKSk7cmV0dXJuIHZ9Owp1QXQ9ZnVuY3Rpb24obixXKXtpZihXLnZpZGVvJiZXLnZpZGVvLmxlbmd0aCl7bi50aXRsZT1XLnRpdGxlfHwiIjtuLmRlc2NyaXB0aW9uPVcuZGVzY3JpcHRpb247bi52aWV3cz1XLnZpZXdzO24ubGlrZXM9Vy5saWtlcztuLmRpc2xpa2VzPVcuZGlzbGlrZXM7bi5hdXRob3I9Vy5hdXRob3J8fCIiO3ZhciBEPVcubG9vcDtEJiYobi5sb29wPUQpO0Q9aXYobik7bi5pdGVtcz1bXTtmb3IobGV0IGIgb2YgVy52aWRlbyliJiYoYi52aWRlb19pZD1iLmVuY3J5cHRlZF9pZCxuLml0ZW1zLnB1c2goYikpO24ubGVuZ3RoPW4uaXRlbXMubGVuZ3RoOyhXPVcuaW5kZXgpP24uaW5kZXg9VzpuLmZpbmRJbmRleChEKTtuLnNldFNodWZmbGUoITEpO24ubG9hZGVkPSEwO24uTiYmbi5OKCl9fTsKdXY9ZnVuY3Rpb24obixXKXtuLmluZGV4PWcuRmYoVywwLG4ubGVuZ3RoLTEpO24uc3RhcnRTZWNvbmRzPTB9Owp6YnI9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uYygpLGI9bi5HKCksdj17Y29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDp7YW5jZXN0b3JPcmlnaW5zOmIuYW5jZXN0b3JPcmlnaW5zfX19LGs9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7az8uZW5jcnlwdGVkSG9zdEZsYWdzJiYodi5wbGF5YmFja0NvbnRleHQuY29udGVudFBsYXliYWNrQ29udGV4dC5lbmNyeXB0ZWRIb3N0RmxhZ3M9ay5lbmNyeXB0ZWRIb3N0RmxhZ3MpO2s/LmhpZGVJbmZvJiYodi5wbGF5ZXJQYXJhbXM9e3Nob3dpbmZvOiExfSk7Yj1iLmVtYmVkQ29uZmlnO2s9bi5OZDt2YXIgaD1XLmRvY2lkfHxXLnZpZGVvX2lkfHxXLnZpZGVvSWR8fFcuaWQ7aWYoIWgpe2g9Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFoKXt2YXIgeD1XLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZTt4JiYoaD1KU09OLnBhcnNlKHgpKX1oPWg/Zy53KGg/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5wbGF5QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LApnLklRKT8udmlkZW9JZHx8bnVsbDpudWxsfWg9aD9oOnZvaWQgMDt4PW4ucGxheWxpc3RJZD9uLnBsYXlsaXN0SWQ6Vy5saXN0O3ZhciBMPVcubGlzdFR5cGU7aWYoeCl7dmFyIGU7TD09PSJ1c2VyX3VwbG9hZHMiP2U9e3VzZXJuYW1lOnh9OmU9e3BsYXlsaXN0SWQ6eH07b1YyKGIsayxoLFcsZSk7di5wbGF5bGlzdFJlcXVlc3Q9ZX1lbHNlIFcucGxheWxpc3Q/KGU9e3RlbXBsaXN0VmlkZW9JZHM6Vy5wbGF5bGlzdC50b1N0cmluZygpLnNwbGl0KCIsIil9LG9WMihiLGssaCxXLGUpLHYucGxheWxpc3RSZXF1ZXN0PWUpOmgmJihlPXt2aWRlb0lkOmh9LGs/ZS5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWs6YiYmKGUuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iKSx2LnNpbmdsZVZpZGVvUmVxdWVzdD1lKTtiPUxCKGRRWik7dHJ5e2xldCBHPWF3YWl0IGcucl8oRCx2LGIpLHI9bi5HKCk7Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlPUc7ci5jSj0KaE8oVyxnLm80KHIpKTtyLkQ9ci5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiO0cmJkcudHJhY2tpbmdQYXJhbXMmJmcueXIoRy50cmFja2luZ1BhcmFtcyk7cmV0dXJuIG5ldyBnLlVyKHIsVyl9Y2F0Y2goRyl7cmV0dXJuIEcgaW5zdGFuY2VvZiBFcnJvcnx8KEc9RXJyb3IoImIyNTk4MDI3NDgiKSksZy5YaihHKSxufX07Cm9WMj1mdW5jdGlvbihuLFcsRCxiLHYpe2IuaW5kZXgmJih2LnBsYXlsaXN0SW5kZXg9U3RyaW5nKE51bWJlcihiLmluZGV4KSsxKSk7di52aWRlb0lkPUQ/RDoiIjtXP3Yuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1XOm4mJih2LnNlcmlhbGl6ZWRUaGlyZFBhcnR5RW1iZWRDb25maWc9bil9OwpnLmQ5PWZ1bmN0aW9uKG4sVyl7b0cuZ2V0KG4pO29HLnNldChuLFcpfTsKZy5sTVU9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5HKCkuUygiaHRtbDVfdXNlX2hsc19uYXRpdmVfY2FwdGlvbnMiKSYmZy5HbiYmbi56VygpJiYhIW4uSj8uVygpfTsKZy56Rz1mdW5jdGlvbihuLFcpe3JldHVybiBuLkcoKS5TKCJzYWZhcmlfbGl2ZV9kcm1fY2FwdGlvbnNfZml4IikmJm4uZ2V0VmlkZW9EYXRhKCk/Lk1pKCk/ITE6Zy5HbChuLkcoKSkmJiFXLmlzTWFuaWZlc3RsZXNzfTsKZy5sdj1mdW5jdGlvbihuLFcpe3JldHVybiBuLmluZm8uTigpP1c/bi5pbmZvLml0YWc9PT1XOiEwOiExfTsKZy5UYmk9ZnVuY3Rpb24obixXKXtpZihuLk4hPW51bGwmJmcuekcoVyxuLk4pJiZuLk4uTi5yYXdjYyE9bnVsbClyZXR1cm4hMDtpZighbi56VygpKXJldHVybiExO1c9ISFuLk4mJm4uTi5pc01hbmlmZXN0bGVzcyYmT2JqZWN0LnZhbHVlcyhuLk4uTikuc29tZShEPT5nLmx2KEQsIjM4NiIpKTsKbj0hIW4uTiYmIW4uTi5pc01hbmlmZXN0bGVzcyYmZy5tSChuLk4pO3JldHVybiBXfHxufTsKRCQ9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5lJClyZXR1cm4gbi5OaS5nZXQoInV4Iil9OwpURz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFkIil9OwpqbD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImNhcHRpb25zIil9OwpDYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFubm90YXRpb25zX21vZHVsZSIpfTsKR3U9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5GZSlyZXR1cm4gbi5OaS5nZXQoInJlbW90ZSIpfTsKQjg9ZnVuY3Rpb24obil7cmV0dXJuIG4uTmkuZ2V0KCJjcmVhdG9yZW5kc2NyZWVuIil9OwpGWT1mdW5jdGlvbihuKXtpZihnLlhDKG4uQS5HKCkpKXJldHVybiBuLk5pLmdldCgia2lkcyIpfTsKZy4kRj1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoIndlYmdsIil9OwpqTGo9ZnVuY3Rpb24obixXKXtuLlc9V307CkMkdz1mdW5jdGlvbihuKXt2YXIgVz1uLkEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGcubE1VKFcsbi5BKXx8ISFXLndhfHwhIVcuY2FwdGlvblRyYWNrcy5sZW5ndGh8fGcuVGJpKFcsbi5BKX07Cnc5PWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdil7dmFyIGssaD1uLk5pLmdldChXKTtpZighaHx8YilpZih2fHwodj0oKT0+e3c5KG4sVyxELGIpfSksa3x8KGs9KCk9PntNVChuLFcpfSksaD1ofHxCYmgobixXLEZxTShuLFcpLHYsaykpbi5OaS5zZXQoVyxoKSxoLmNyZWF0ZSgpLG4uQS5XSigibW9kdWxlY3JlYXRlZCIsVyksRCYmZy5WVShuLkEsIm9uQXBpQ2hhbmdlIil9OwpSRz1mdW5jdGlvbihuKXtpZihuLkEuRygpLkQpcmV0dXJuITE7aWYobj1uLkEuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KS5nZXRQbGF5ZXJSZXNwb25zZSgpKXtsZXQgVz1uLmFkUGxhY2VtZW50cztpZihXKWZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKWlmKFdbRF0uYWRQbGFjZW1lbnRSZW5kZXJlcilyZXR1cm4hMDtpZihuLmFkU2xvdHMpcmV0dXJuITB9cmV0dXJuITF9OwpRWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5BLkcoKS5TKCJodG1sNV9hbGxvd19hc21qcyIpfHxuLkEuRygpLlp0KCkuTi5RUSh3YlMpfTsKRnFNPWZ1bmN0aW9uKG4sVyl7c3dpdGNoKFcpe2Nhc2UgImFkIjpyZXR1cm4gUkcobik7Y2FzZSAiYW5ub3RhdGlvbnNfbW9kdWxlIjpyZXR1cm4hMTtjYXNlICJhc21qcyI6cmV0dXJuIFFZKG4pO2Nhc2UgImNyZWF0b3JlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImVtYmVkIjpyZXR1cm4gZy5vNChuLkEuRygpKTtjYXNlICJlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImhlYXJ0YmVhdCI6cmV0dXJuIG4ueVAoKTtjYXNlICJraWRzIjpyZXR1cm4gZy5YQyhuLkEuRygpKTtjYXNlICJyZW1vdGUiOnJldHVybiBuLkEuRygpLkZlO2Nhc2UgIm1pbmlwbGF5ZXIiOnJldHVybiBuLkEuRygpLnNob3dNaW5pcGxheWVyVWlXaGVuTWluaW1pemVkO2Nhc2UgIm9mZmxpbmUiOnJldHVybiBuLkEuRygpLlpoO2Nhc2UgImNhcHRpb25zIjpyZXR1cm4gQyR3KG4pO2Nhc2UgInVucGx1Z2dlZCI6cmV0dXJuIGcuRGYobi5BLkcoKSk7Y2FzZSAidXgiOnJldHVybiBuLkEuRygpLmUkO2Nhc2UgIndlYmdsIjpXPQpuLkEuZ2V0VmlkZW9EYXRhKCk7dmFyIEQ9bi5BLkcoKTtuPWcuamQoKTtsZXQgYj1nLm5OKEQpLHY9Vy5KPy52aWRlbz8uaXNIZHIoKTtEPSFnLnF1KFcpJiYhdiYmRC5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBnLkpEKFcpfHxnLkhUKFcpfHxnLmZBKFcpP258fGI6Zy5rcChXKT9iOkQ/YjohMTtjYXNlICJ5cGMiOnJldHVybiBuLklWKCk7ZGVmYXVsdDpyZXR1cm4gZy5YaihFcnJvcihgTW9kdWxlIGRlc2NyaXB0b3IgJHtXfSBkb2VzIG5vdCBtYXRjaGApKSwhMX19OwpNVD1mdW5jdGlvbihuLFcpe1c9TUxiW1ddO2ZvcihsZXQgRCBvZiBXKW4uQS5HaShEKX07CkJiaD1mdW5jdGlvbihuLFcsRCxiLHYpe3RyeXtpZihEKXtsZXQgaz1vRy5nZXQoVyk7aWYoaylyZXR1cm4gbmV3IGsobi5BKTtSYngobixXLGIsdil9ZWxzZSBNVChuLFcpfWNhdGNoKGspe01UKG4sVyksZy5YaihrKX1yZXR1cm4gbnVsbH07ClJieD1mdW5jdGlvbihuLFcsRCxiKXtpZihuLkQpe3ZhciB2PVFMaVtXXTtXPW4uRCt2O24uSyYmKFcrPWA/Y2I9JHtuLkt9YCk7VkxNKG4sVywoKT0+e24uai5hZGQodik7RC5jYWxsKG4pfSxiKX19OwpjbWI9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi5OaS5nZXQoImFzbWpzIik7aWYoVylyZXR1cm4gVztXPW9HLmdldCgiYXNtanMiKT8/YXdhaXQgbmV3IFByb21pc2UoKEQsYik9PntSYngobiwiYXNtanMiLCgpPT57dmFyIHY9b0cuZ2V0KCJhc21qcyIpO3Y/RCh2KTpiKCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKX0sYil9KTsKaWYoIVcpcmV0dXJuIFByb21pc2UucmVqZWN0KCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKTtXPW5ldyBXKG4uQSk7bi5OaS5zZXQoImFzbWpzIixXKTtXLmNyZWF0ZSgpO3JldHVybiBXfTsKVlk9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpO2lmKG49Vy5TKCJ3ZWJfcGxheWVyX2RlZmVyX2FkIikpe2lmKGcuamooVy5JSiwiYWQiKXx8dzYoVyl8fFcuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkpdmFyIEQ9ITE7ZWxzZXtuPVcuc3RhcnRTZWNvbmRzO3ZhciBiPVcucGxheWVyUmVzcG9uc2U/LmFkUGxhY2VtZW50cztpZihXPWIpe1c9TnVtYmVyLk1BWF9WQUxVRTtmb3IoRCBvZiBiKWlmKGI9RC5hZFBsYWNlbWVudFJlbmRlcmVyKXtsZXQgdj1iLmNvbmZpZz8uYWRQbGFjZW1lbnRDb25maWc7dj8ua2luZD09PSJBRF9QTEFDRU1FTlRfS0lORF9NSUxMSVNFQ09ORFMiJiYoYj0oTnVtYmVyKHY/LmFkVGltZU9mZnNldD8ub2Zmc2V0U3RhcnRNaWxsaXNlY29uZHMpfHwwKS1OdW1iZXIoYi5yZW5kZXJlcj8uYWRCcmVha1NlcnZpY2VSZW5kZXJlcj8ucHJlZmV0Y2hNaWxsaXNlY29uZHN8fDApLGI8VyYmKFc9YikpfVc9Vy01RTM8PW4qMUUzfUQ9Vz8hMTohMH1uPQpEfXJldHVybiBufTsKYU1VPWFzeW5jIGZ1bmN0aW9uKG4pe3JldHVybiBhd2FpdCBjbWIobil9OwpuRGo9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpLEQ9bi5PJiYhVy5pc0lubGluZVBsYXliYWNrTm9BZDtuLkEuUygiaHRtbDVfZGVmZXJfbW9kdWxlc19vbl9hZHNfb25seSIpJiYhVy5pc0FkKCkmJihEPSExKTtyZXR1cm4gRH07CmcuYzg9ZnVuY3Rpb24obil7VlkobikmJm4uWCgpO25EaihuKSYmKHc5KG4sImNhcHRpb25zIiwhMCksdzkobiwiZW5kc2NyZWVuIiksbi5OKCksdzkobiwiY3JlYXRvcmVuZHNjcmVlbiIsITApKX07CmFHPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgV0VpKXtsZXQgdj1uLk5pLmdldChiKTt2JiYoRHx8di5oVihXKSkmJihnLkNwKHYpLG4uTmkuZGVsZXRlKGIpKX1uLkEuV0ooIm1vZHVsZXNEZXN0cm95ZWQiLFcpfTsKRHJaPWZ1bmN0aW9uKG4pe3JldHVybiBKZSgoKT0+bi5OaS5nZXQoImFzbWpzIik/P2FNVShuKSl9OwpWTE09ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNDUklQVCIpLGs9ITE7Zm9yKGxldCBIPTA7SDx2Lmxlbmd0aDtIKyspe2xldCBBPXZbSF07aWYoQS5zcmM9PT1XfHxBLmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiKT09PVcpdmFyIGg9QX1ofHwoaD1nLnpGKCJTQ1JJUFQiKSxoLnNldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiLFcpLGs9ITApO3ZhciB4PSgpPT57bi5xTigpfHxELmNhbGwobil9LEw9KCk9PntuLnFOKCl8fGIuY2FsbChuKX0sZT1oLm9ubG9hZDsKaC5vbmxvYWQ9SD0+e2cuVDcoeCk7ZSYmZS5hcHBseSh3aW5kb3csW0hdKX07CnZhciBHPWgub25lcnJvcjtoLm9uZXJyb3I9SD0+e2lmKE1hdGgucmFuZG9tKCk8LjAxKXtsZXQgQT1uZXcgZy5ReCgiVW5hYmxlIHRvIGxvYWQgcGxheWVyIG1vZHVsZSIsVyxkb2N1bWVudC5sb2NhdGlvbiYmZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luKTtnLlhqKEEpfWcuVDcoTCk7RyYmRyhIKX07CnZhciByPWgsTj1yLm9ucmVhZHlzdGF0ZWNoYW5nZTtyLm9ucmVhZHlzdGF0ZWNoYW5nZT1IPT57c3dpdGNoKHIucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6Zy5UNyh4KX1OJiZOKEgpfTsKayYmKCh2PW4uQS5HKCkuY3NwTm9uY2UpJiZoLnNldEF0dHJpYnV0ZSgibm9uY2UiLHYpLGcuUE0oaCxmdyhXKSksdj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5ib2R5LHYuaW5zZXJ0QmVmb3JlKGgsdi5maXJzdENoaWxkKSxuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57aC5wYXJlbnROb2RlJiZoLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaCl9KSl9OwpXYz1mdW5jdGlvbihuLFcsRCl7bi5xTigpO3ZhciBiPW5PKG4pO0Q/KG4uSnw9VyxXJjEmJm4uRC5zdGFydCgpLFcmMiYmbi5PLnN0YXJ0KCksVyYyMDQ4JiZuLmNKLnN0YXJ0KCkpOihuLkomPX5XLFcmMSYmbi5ELnN0b3AoKSxXJjImJm4uTy5zdG9wKCksVyYyMDQ4JiZuLmNKLnN0b3AoKSxXJjUxMiYmbi50dy5zdG9wKCkpO24uSiY1MTImJiEobi5KJjEyOCkmJmcuSmEobi50dyxuLlZRKTtXPW5PKG4pO2IhPT1XJiZuLldKKCJhdXRvaGlkZXVwZGF0ZSIsVyl9OwpibFo9ZnVuY3Rpb24obil7V2Mobiw0LCExKTtuLksmJihuLk4ud0gobi5LKSxuLks9bnVsbCxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKTtuLlcmJihuLk4ud0gobi5XKSxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKX07Cm5PPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSjtuLmFwaS5HKCkuZlImJihXJj0tMTI5KTtuLmFwaS5TKCJ3ZWJfcGxheWVyX2RlZmF1bHRfYXV0b2hpZGUiKSYmKFcmPS01MTMpO3JldHVybiFXfTsKdkQxPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9bi5hcGkuRygpO2ZvcihsZXQgayBvZiBXKXtpZigha3x8ayBpbnN0YW5jZW9mIGcuVXImJiFrLnZpZGVvSWQpY29udGludWU7dmFyIGI9bi5hcGkubGooKS5nZXRQbGF5ZXJTaXplKCk7dmFyIHY9Zy5IXygpO1c9Yi53aWR0aCp2O3YqPWIuaGVpZ2h0O2lmKFc+MTI4MHx8dj43MjApaWYoYj1rLkdCKCJtYXhyZXNkZWZhdWx0LmpwZyIpKWJyZWFrO2lmKFc+NjQwfHx2PjQ4MClpZihiPWsuR0IoIm1heHJlc2RlZmF1bHQuanBnIikpYnJlYWs7aWYoVz4zMjB8fHY+MTgwKWlmKGI9ay5HQigic2RkZWZhdWx0LmpwZyIpfHxrLkdCKCJocWRlZmF1bHQuanBnIil8fGsuR0IoIm1xZGVmYXVsdC5qcGciKSlicmVhaztpZihiPWsuR0IoImRlZmF1bHQuanBnIikpYnJlYWt9Zy4kNihEKSYmKEQ9bmV3IEltYWdlLEQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt5U2goKX0pLEQuc3JjPWI/YjoiIixuLmFwaS5lRygpLnRpY2soImZ0ciIpKTsKbi5ZLnN0eWxlLmJhY2tncm91bmRJbWFnZT1iP2B1cmwoJHtifSlgOiIifTsKa1cxPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8bi5rZXlzLmxlbmd0aDtXKyspbi53SChuLmtleXNbV10pO24ua2V5cz1bXX07CmJzPWZ1bmN0aW9uKG4sVyxELGI9ITEsdj0hMSxrLGg9ITApe3Z8fCh2PW4uYXBpLkcoKS5KKTt2YXIgeD1uLmFwaS5nZXRWaWRlb0RhdGEoKTtXPWVCKGcuRHVbV118fCIiLGI/e0NQTjp4LmNsaWVudFBsYXliYWNrTm9uY2V9Ont9KS5zcGxpdCgvXCQoQkVHSU58RU5EKV9MSU5LLyk7Yj1bXTtrJiZiLnB1c2goe1o6ImgyIixPcTprfSk7Yi5wdXNoKFdbMF0pO2gmJmIucHVzaCh7WjoiYnIifSk7Yi5wdXNoKHtaOiJhIix4YTp7aHJlZjpELHRhcmdldDp2PyJfYmxhbmsiOm51bGx9LEp3OiJ5dHAtZXJyb3ItbGluayIsT3E6V1syXX0pO24uaj0hMDtiLnB1c2goV1s0XSk7cmV0dXJue1o6InNwYW4iLFhGOmJ9fTsKdmM9ZnVuY3Rpb24obil7bj1uLnNwbGl0KGgwWik7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0zKXtsZXQgYj1uW0QrK10uc3BsaXQoIlxuIik7Vy5wdXNoKGJbMF0pO2ZvcihsZXQgdj0xO3Y8Yi5sZW5ndGg7disrKVcucHVzaCh7WjoiYnIifSksVy5wdXNoKGJbdl0pO0Q8bi5sZW5ndGgmJlcucHVzaCh7WjoiYSIseGE6e2hyZWY6bltEXSx0YXJnZXQ6bltEKzFdfSxPcTpuW0QrMl19KX1yZXR1cm57Wjoic3BhbiIsWEY6V319Owp4cnQ9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKyl7bGV0IHY9bi5OTihEW2JdLCJjbGljayIsVyk7bi5rZXlzLnB1c2godil9fTsKa0k9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9TnVtYmVyKFcuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJsYXktb3JkZXIiKSl8fDAsaz0wLGg9bnVsbDtmb3IobGV0IHggb2YgRC5jaGlsZHJlbil7aWYoYiYmeC5jbGFzc0xpc3QuY29udGFpbnMoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSl7aD14O2JyZWFrfWlmKHY8KE51bWJlcih4LmdldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIikpfHwwKSlicmVhaztrKyt9aD9rSShuLFcsaCwhMSk6Yj8obj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuLmNsYXNzTGlzdC5hZGQoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIixgJHt2fWApLGg9bixoLmFwcGVuZENoaWxkKFcpLGcuanAoRCxoLGspKTpnLmpwKEQsVyxrKX07CmUwQz1mdW5jdGlvbihuLFcpe3ZhciBEPXREKFcpLGI9JHAoVyk7Vy5EbCYmbi5BLkpuKCl8fChuLk58fG4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iik/Vy52aWRlb0lkJiZXLnZpZGVvSWQhPT1uLnZpZGVvSWQmJihuLk4/LmplKCksIW4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iil8fEQmJmI/KG4udmlkZW9JZD1XLnZpZGVvSWQsbi5LPSEhYixuLksmJkQmJkxFcihuLGIsRCxXKSk6bi5LPSExKTpEJiZiJiYhbi5BLlMoImVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXgiKSYmTEVyKG4sYixELFcpKX07CmdEeD1mdW5jdGlvbihuLFcpe24uTiYmKFcuTig4KSYmbi5LPyhuLks9ITEsbi5XP24uVy5zdGFydCgpOm4uaigpKTooVy5OKDIpfHxXLk4oNjQpKSYmbi52aWRlb0lkJiYobi52aWRlb0lkPW51bGwsbi5XJiZuLlcuc3RvcCgpKSl9OwpMRXI9ZnVuY3Rpb24obixXLEQsYil7bi5OJiZuLk4uZGlzcG9zZSgpO24uTj1uZXcgZy5mXyhuLnV5LFcsbik7Zy51KG4sbi5OKTtiPUdlKGIpO1c9Yj8ubmF2aWdhdGlvbkVuZHBvaW50O2I9Yj8uaWNvbj8uaWNvblR5cGU7dmFyIHY9Zy53KFcsZy5Qaik/LnVybDtuLkEuc2V0VHJhY2tpbmdQYXJhbXMobi5lbGVtZW50LFc/LmNsaWNrVHJhY2tpbmdQYXJhbXN8fG51bGwpO1cmJiF2PyhuLmlubmVydHViZUNvbW1hbmQ9Vyx2PSIjISIpOm4uaW5uZXJ0dWJlQ29tbWFuZD1udWxsO24uVi51cGRhdGUoe2hyZWY6dj8/IiMiLHRleHQ6RCxpY29uOmI9PT0iTU9ORVlfSEFORCI/e1o6InN2ZyIseGE6e2ZpbGw6Im5vbmUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik02IDlINVY1VjRINkgxOVY1SDZWOVpNMjEuNzIgMTYuMDRDMjEuNTYgMTYuOCAyMS4xNSAxNy41IDIwLjU1IDE4LjA1QzIwLjQ3IDE4LjEzIDE4LjQyIDIwLjAxIDE0LjAzIDIwLjAxQzEzLjg1IDIwLjAxIDEzLjY3IDIwLjAxIDEzLjQ4IDIwQzExLjMgMTkuOTIgOC41MSAxOS4yMyA1LjQgMThIMlYxMEg1SDZIN1Y2SDIxVjEzSDE2LjcyQzE2LjM3IDEzLjU5IDE1Ljc0IDE0IDE1IDE0SDEyLjdDMTMuMDEgMTQuNDYgMTMuNTYgMTUgMTQuNSAxNUgxNS4wMkMxNi4wNyAxNSAxNy4xIDE0LjY0IDE3LjkyIDEzLjk4QzE4LjgyIDEzLjI2IDIwLjAzIDEzLjIyIDIwLjkxIDEzLjg0QzIxLjU4IDE0LjMyIDIxLjkgMTUuMTkgMjEuNzIgMTYuMDRaTTE1IDEwQzE1IDkuNDUgMTQuNTUgOSAxNCA5QzEzLjQ1IDkgMTMgOS40NSAxMyAxMEgxNVpNMjAgMTFDMTkuNDUgMTEgMTkgMTEuNDUgMTkgMTJIMjBWMTFaTTE5IDdDMTkgNy41NSAxOS40NSA4IDIwIDhWN0gxOVpNOCA4QzguNTUgOCA5IDcuNTUgOSA3SDhWOFpNOCAxMEgxMkMxMiA4LjkgMTIuOSA4IDE0IDhDMTUuMSA4IDE2IDguOSAxNiAxMFYxMC4yOEMxNi41OSAxMC42MyAxNyAxMS4yNiAxNyAxMkgxOEMxOCAxMC45IDE4LjkgMTAgMjAgMTBWOUMxOC45IDkgMTggOC4xIDE4IDdIMTBDMTAgOC4xIDkuMSA5IDggOVYxMFpNNSAxMy41VjExSDNWMTdINVYxMy41Wk0yMC4zMyAxNC42NkMxOS44MSAxNC4yOSAxOS4xIDE0LjMxIDE4LjYgMTQuNzFDMTcuNTUgMTUuNTYgMTYuMjkgMTYgMTUuMDIgMTZIMTQuNUMxMi42MiAxNiAxMS42NyAxNC40NiAxMS40MyAxMy42NEwxMS4yNCAxM0gxNUMxNS41NSAxMyAxNiAxMi41NSAxNiAxMkMxNiAxMS40NSAxNS41NSAxMSAxNSAxMUg2VjEzLjVWMTcuMTZDOC45IDE4LjI5IDExLjUgMTguOTMgMTMuNTIgMTlDMTcuODUgMTkuMTUgMTkuODUgMTcuMzQgMTkuODcgMTcuMzJDMjAuMzMgMTYuOSAyMC42MiAxNi40IDIwLjc0IDE1Ljg0QzIwLjg0IDE1LjM3IDIwLjY4IDE0LjkxIDIwLjMzIDE0LjY2WiIsCmZpbGw6IndoaXRlIn19XX06bnVsbCxjaGV2cm9uOnZ8fG4uaW5uZXJ0dWJlQ29tbWFuZD9nLk9GKCk6bnVsbH0pfTsKWFBpPWZ1bmN0aW9uKG4pe24uVnx8KG4uVj0hMCxuLmFwaS5sb2dWaXNpYmlsaXR5KG4uZWxlbWVudCwhMCkpfTsKcW8yPWZ1bmN0aW9uKG4pe3ZhciBXPW9LKCkmJkV6KCk+PTY3JiYhbi5hcGkuRygpLnR3O249bi5hcGkuRygpLmRpc2FibGVPcmdhbmljVWk7cmV0dXJuIWcudWIoInRpemVuIikmJiFnLldYJiYhVyYmIW59OwpoaD1mdW5jdGlvbihuKXt2YXIgVz0hIW4uVjImJiFYeihuLmFwaSkmJiFuLmt0O3ZhciBEPW4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yLGI9bi5hcGkuRygpO0Q/KGI9VEcobi5hcGkuSjUoKSksVz1XJiZiLmpRKCkpOihEPWIuUygid2ViX3BsYXllcl9pbWF4X3RoZWF0ZXJfbW9kZSIpJiZuLmFwaS5RMCgpJiYhbi5hcGkuaXNJbmxpbmUoKSxXPVcmJihiLnNafHxEfHxuLmFwaS5pc0Z1bGxzY3JlZW4oKXx8Yi5neSkpO24uQTAhPT1XJiYobi5BMD1XLGcuaUgobi5hcGkuZ2V0Um9vdE5vZGUoKSwieXRwLWhpZGUtaW5mby1iYXIiLCFXKSl9OwpHV2I9ZnVuY3Rpb24obixXKXtpZighVylyZXR1cm4hMTt2YXIgRD1uLmFwaS5oNSgpO2lmKEQuSygpJiYoRD1ELmVfKCkpJiZnLkJ4KEQsVykpcmV0dXJuIEQuY29udHJvbHM7Zm9yKEQ9MDtEPG4uSW4ubGVuZ3RoO0QrKylpZihnLkJ4KG4uSW5bRF0sVykpcmV0dXJuITE7Zm9yKGxldCBiIG9mIG4ua1gpaWYoZy5LXyhXLGIpKXJldHVybiExO3JldHVybiBXPT09bi5hcGkuZ2V0Um9vdE5vZGUoKT8hMTohMH07CnRrMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpPT09MiYmKG4uYXBpLmxqKCkud0Z8fG4uYXBpLkcoKS5kaXNhYmxlT3JnYW5pY1VpKSYmbi5hcGkuRygpLmomJnhJJiZ2aj49MTE7bj1uLmFwaS5HKCkudHcmJnhJO3JldHVybiEoIVcmJiFuKX07CkxPPWZ1bmN0aW9uKG4sVyl7bi5qSi5MaigpO2lmKG4uYlcmJm4uUCQpbi5QJD0hMTtlbHNlIGlmKCFuLmFwaS5HKCkuc1YmJiFuLmVoKCkpe2xldCBEPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCk7RC5OKDIpJiZxcChuLmFwaSl8fG4uc2hvd1BsYXliYWNrSWNvbihEKTtXJiYkck0obixXKT9yZVMobik6IW4uYXBpLkcoKS5SdHx8RC5pc0N1ZWQoKXx8RC5OKDEwMjQpP24uUGIoKTpuLmVOLmlzQWN0aXZlKCk/bi5lTi5zdG9wKCk6bi5lTi5zdGFydCgpfX07CmVzPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIW4uYXBpLmlzSW5saW5lKCkmJiFHV2IobixBTyhXKSkmJmYyKFcpfTsKZ2Y9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5hcGkuZ2V0VmlkZW9EYXRhKCk/Lm11dGVkQXV0b3BsYXkmJlcudGFyZ2V0Py5jbGFzc05hbWU/LmluY2x1ZGVzKCJ5dHAtaW5mby1wYW5lbCIpPyExOmYyKFcpJiZuLmFwaS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCk/KG4uYXBpLnVuTXV0ZSgpLG4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yJiZuLmFwaS5wbGF5VmlkZW8oKSxXPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCksIVcuTig0KXx8Vy5OKDgpfHxXLk4oMil8fG4uUGIoKSwhMCk6ITF9Owokck09ZnVuY3Rpb24obixXKXtpZighbi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfaW52aXNpYmxlX2Z1bGxzY3JlZW5fYnV0dG9uIikpcmV0dXJuITE7dmFyIEQ9bi5hcGkuZ2V0Um9vdE5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihXLnRhcmdldFRvdWNoZXMmJlcudGFyZ2V0VG91Y2hlcy5sZW5ndGgpe3ZhciBiPVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRYO3ZhciB2PVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZfWVsc2UgVy5jbGllbnRYIT09dm9pZCAwJiYoYj1XLmNsaWVudFgsdj1XLmNsaWVudFkpO3JldHVybiBiIT09dm9pZCAwJiZ2IT09dm9pZCAwJiYoVz1iLUQubGVmdCxEPXYtRC50b3Asbj1uLmFwaS5nZXRQbGF5ZXJTaXplKCksRD49bi5oZWlnaHQtNDAmJlc+PW4ud2lkdGgtNDApPyEwOiExfTsKcmVTPWZ1bmN0aW9uKG4pe2lmKG4uYXBpLkcoKS5SdCYmbi5hcGkuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSE9PTMpdHJ5e24uYXBpLnRvZ2dsZUZ1bGxzY3JlZW4oKS5jYXRjaChXPT57c2pTKFcpfSksbi5hcGkuUygid2ViX3BsYXllcl9mdWxsc2NyZWVuX2RvdWJsZV9jbGlja192ZSIpJiZuLmFwaS5sb2dDbGljayhuLmFwaS5saigpLmVsZW1lbnQpfWNhdGNoKFcpe3NqUyhXKX19OwpzalM9ZnVuY3Rpb24obil7U3RyaW5nKG4pLmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIik/Zy5HcShuKTpnLlhqKG4pfTsKTl9oPWZ1bmN0aW9uKG4sVyxEKXtuLmFwaS5pc0Z1bGxzY3JlZW4oKT9EPDEtVyYmbi5hcGkudG9nZ2xlRnVsbHNjcmVlbigpOkQ+MStXJiZuLmFwaS50b2dnbGVGdWxsc2NyZWVuKCl9OwpZb0M9ZnVuY3Rpb24oKXtwUGp8fCh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihYdz8idG91Y2hzdGFydCI6ImNsaWNrIiwoKT0+e2ZvcihsZXQgbj1xSy5sZW5ndGg7bjw0O24rKyl7bGV0IFc9Zy56RigiVklERU8iKTtXLmxvYWQoKTtxSy5wdXNoKG5ldyBnLkdWKFcpKX19LHtjYXB0dXJlOiEwLApwYXNzaXZlOiEwfSkscFBqPSEwKX07CnRoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuZ2V0VmlkZW9EYXRhKCksaz1XLmdldFZpZGVvRGF0YSgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5pc0Vycm9yKCkpcmV0dXJue21zZzoicGxheWVyLWVycm9yIn07dmFyIGg9ay5XO2lmKFcub3QoKT5iLzFFMysxKXJldHVybnttc2c6ImluLXRoZS1wYXN0In07aWYoay5pc0xpdmVQbGF5YmFjayYmIWlzRmluaXRlKGIpKXJldHVybnttc2c6ImxpdmUtaW5maW5pdGUifTtiPVcuaDUoKTt2YXIgeD1udWxsO2ImJih4PWIuaXNWaWV3KCk/Yi5tZWRpYUVsZW1lbnQuVigpOmIuVigpKTtpZih4JiZ4Lmxlbmd0aD4xMiYmZy5xdSh2KSlyZXR1cm57bXNnOiJwbGF5ZWQtcmFuZ2VzIn07aWYoIXYuVylyZXR1cm4gbnVsbDtpZighaClyZXR1cm57bXNnOiJuby1wdmQtZm9ybWF0cyJ9O2lmKCF2LlcuTigpfHwhaC5OKCkpcmV0dXJue21zZzoibm9uLWRhc2gifTtiPWgudmlkZW9JbmZvc1swXTt4PXYuVy52aWRlb0luZm9zWzBdO24uVEMmJkFKKGspJiYKKGI9Vy5veSgpLHg9RC5veSgpKTtpZighYnx8IXgpcmV0dXJue21zZzoibm8tdmlkZW8taW5mbyJ9O2lmKG4uTyYmKGIuTVcoKXx8eC5NVygpKSlyZXR1cm57bXNnOiJhdjEifTtXPW4uWSYmay5OUCgpJiZWVCgpO2lmKHguY29udGFpbmVyVHlwZSE9PWIuY29udGFpbmVyVHlwZSlpZihXKWsuVSgic2dhcCIse2llcnI6ImNvbnRhaW5lciJ9KTtlbHNlIHJldHVybnttc2c6ImNvbnRhaW5lciJ9O2lmKG4uRCYmIVcmJih4LklCIT09Yi5JQnx8eC5JQj09PSIifHxiLklCPT09IiIpKXJldHVybnttc2c6ImNvZGVjIn07aWYobi5jSiYmeC52aWRlbyYmYi52aWRlbyYmTWF0aC5hYnMoeC52aWRlby53aWR0aC94LnZpZGVvLmhlaWdodC1iLnZpZGVvLndpZHRoL2IudmlkZW8uaGVpZ2h0KT4uMDEpcmV0dXJue21zZzoicmF0aW8ifTtpZihnLnF1KGspJiZnLnF1KHYpKXJldHVybnttc2c6ImNvbnRlbnQtcHJvdGVjdGlvbiJ9O2g9aC5KWzBdO3Y9di5XLkpbMF07RD1oLmF1ZGlvO3ZhciBMPXYuYXVkaW87CmlmKEQuc2FtcGxlUmF0ZSE9PUwuc2FtcGxlUmF0ZSYmIWcub2QpaWYoVylrLlUoInNnYXAiLHtpZXJyOiJzcmF0ZSJ9KTtlbHNlIHJldHVybnttc2c6InNhbXBsZS1yYXRlIixjaTpoLml0YWcsY3I6RC5zYW1wbGVSYXRlLG5pOnYuaXRhZyxucjpMLnNhbXBsZVJhdGV9O3JldHVybihELm51bUNoYW5uZWxzfHwyKSE9PShMLm51bUNoYW5uZWxzfHwyKT97bXNnOiJjaGFubmVsLWNvdW50In06bi50dyYmay5OUCgpJiZiLnZpZGVvLmZwcyE9PXgudmlkZW8uZnBzP3ttc2c6ImZwcyJ9Om51bGx9OwpIbEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uZ2V0VmlkZW9EYXRhKCksdj1XLmdldFZpZGVvRGF0YSgpO2lmKCFiLkcoKS5zdXBwb3J0c0dhcGxlc3NTaG9ydHMoKSlyZXR1cm57bnE6ImVudiJ9O2lmKCEoRC5iZCYmIShiLkd1JiYhYi5pc0FkKCl8fHYuR3UmJiF2LmlzQWQoKSl8fEQuViYmKCFiLkd1fHxiLmlzQWQoKSkmJiF2Lkd1fHxELksmJighdi5HdXx8di5pc0FkKCkpJiYhYi5HdXx8Yi52SigpJiZ2LnZKKCkmJiFiLmlzQWQoKXx8IWIuR3UmJiF2Lkd1KSlyZXR1cm57bnE6ImF1dG9wbGF5In07aWYoYi5lbmRTZWNvbmRzPjApcmV0dXJue25xOiJlbmRjciJ9O2lmKCFiLkspcmV0dXJue25xOiJjbGllbnQifTtpZighbi5kVCgpKXJldHVybntucToibm8tZW1wdHkifTtuPXRoKEQsbixXLEluZmluaXR5KTtyZXR1cm4gbiE9bnVsbD97bnE6bi5tc2d9Om51bGx9OwokST1mdW5jdGlvbihuKXtuLkomJm4uTiYmKG4uSi51bnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsbi5YLG4pLG4uTi51bnN1YnNjcmliZSgiZGF0YWxvYWRlZCIsbi5YLG4pKX07CkFldD1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZlloO1cuWT1uLlMoImg1X2dhcGxlc3Nfc3VwcG9ydF90eXBlc19kaWZmIik7Vy50dz0hMTtXLlRDPW4uUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4Iik7Vy5PPW4uUygiaHRtbDVfZ2FwbGVzc19kaXNhYmxlX29uX2F2MSIpJiYhbi5TKCJodG1sNV9nYXBsZXNzX2VuYWJsZV9vbl9hdjEiKTtXLkQ9bi5TKCJodG1sNV9nYXBsZXNzX2NoZWNrX2NvZGVjX2RpZmZfc3RyaWN0bHkiKTtXLmJkPW4uUygiaHRtbDVfZ2FwbGVzc19vbl9hZF9hdXRvcGxheSIpO1cuY0o9bi5TKCJodG1sNV9nYXBsZXNzX2Rpc2FibGVfZGlmZl9hc3BlY3RfcmFkaW8iKTtXLlY9bi5TKCJodG1sNV9nYXBsZXNzX2FkX2F1dG9wbGF5X29uX2FkX3RvX3ZpZGVvX29ubHkiKSYmIW4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIik7Vy5XPW4uUygiaHRtbDVfcHNldWRvZ2FwbGVzc19zaG9ydHNfc2Vla190b19uZXh0X3N0YXJ0Iik7Clcuaj1uLlp0KCkuTi5RUShKZTEpO1cuSz1uLlMoImh0bWw1X2dhcGxlc3NfYWRfYXV0b3BsYXlfb25fdmlkZW9fdG9fYWRfb25seSIpO1cuTj1OdW1iZXIobi5adCgpLk4uUVEoSVlpKSk7Vy5KPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfc2hvcnRzX2dhcGxlc3NfbmV4dF9idWZmZXJfaW5fc2Vjb25kcyIpPz9XLko7Vy5YPU51bWJlcihuLlp0KCkuTi5RUShTb1MpPz9XLlgpO3JldHVybiBXfTsKcmY9ZnVuY3Rpb24obixXKXtXPD1uLnN0YXR1cy5zdGF0dXN8fChuLnN0YXR1cz17c3RhdHVzOlcsZXJyb3I6bnVsbH0sVz09PTUmJm4uQ1IucmVzb2x2ZSgpKX07Cm1yaj1mdW5jdGlvbihuLFcsRCxiKXtuPW4uaXNWaWV3KCk/bi5tZWRpYUVsZW1lbnQ6bjtyZXR1cm4gbmV3IGcuc2cobixXLEQsYil9OwpLRWg9YXN5bmMgZnVuY3Rpb24obil7aWYobi5xTigpKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8ImRpc3Bvc2VkIikpO24udGltZW91dC5zdGFydCgpO2F3YWl0IG4uQ1I7dmFyIFc9bi5OLmg1KCk7aWYoVy5pc0VuZGVkKCkpcmV0dXJuIG4uS2coImVuZGVkX2luX2ZpbmlzaFRyYW5zaXRpb24iKSxQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8IiIpKTtpZighbi5BYnx8IW42KG4uQWIpKXJldHVybiBuLlYmJm4uTi5VKCJubWMiLHtubXM6ISFuLkFiLG5tcnM6bi5BYj8uVygpfSksbi5LZygibmV4dF9tc2VfY2xvc2VkIiksUHJvbWlzZS5yZWplY3QoRXJyb3Iobi5zdGF0dXMuZXJyb3J8fCIiKSk7aWYobi5KLlV6KCkhPT1uLkFiKXJldHVybiBuLktnKCJuZXh0X21zZV9taXNtYXRjaCIpLFByb21pc2UucmVqZWN0KEVycm9yKG4uc3RhdHVzLmVycm9yfHwiIikpO3ZhciB7SF86RCxSOTpiLEYzOnZ9PW4uSygpO24uTi5jUCghMSwKITApO2lmKG4uVil7dmFyIGs9bi5BYi5OLGg9bi5BYi5KO2suVnUoITApO2guVnUoITApO2lmKGsuaVEoKSl7dmFyIHg9ay5aZygpO2xldCBMPWsuayQuTXIoKTt4JiZ4LnNlZ21lbnRTdGFydFRpbWUrTDxEJiZrLmFib3J0KCl9aC5pUSgpJiYoaz1oLlpnKCkseD1oLmskLk1yKCksayYmay5zZWdtZW50U3RhcnRUaW1lK3g8RCYmaC5hYm9ydCgpKX1uLnBvbGljeS5OPjAmJihuLlZ1KG4uQWIsITApLG4uSi51bCgpKTtoPW1yaihXLEQsdiwhbi5KLmdldFZpZGVvRGF0YSgpLmlzQWQoKSk7bi5KLnNldE1lZGlhRWxlbWVudChoKTsoaz1uLk4uTHAoKSkmJm4uSi5CbihrLkFvLGsud08pO24udHcmJihuLnBvbGljeS5XfHxuLkouc2Vla1RvKG4uSi5nZXRDdXJyZW50VGltZSgpKy4wMDEse0E5OiEwLFpVOjMscWQ6ImdhcGxlc3NfcHNldWRvIn0pLGgucGxheSgpKTtXPVcueXIoKTtXLmNwbj1uLk4uZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZTtXLnN0PWAke0R9YDtXLmV0PQpgJHt2fWA7bi5KLlUoImdhcGxlc3MiLFcpO24uTi5VKCJnYXBsZXNzVG8iLHtjcG46bi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2V9KTtXPW4uTi5nZXRQbGF5ZXJUeXBlKCk9PT1uLkouZ2V0UGxheWVyVHlwZSgpO24uTi5OMihiLCEwLCExLFcsbi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2Usbi5KLmdldFZpZGVvRGF0YSgpLnZpZGVvSWQpO24uSi5OMihuLkouZ2V0Q3VycmVudFRpbWUoKSwhMCwhMCxXLG4uTi5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlLG4uTi5nZXRWaWRlb0RhdGEoKS52aWRlb0lkKTtuLkouUDIoKTtnLm1LKCgpPT57IW4uSi5nZXRWaWRlb0RhdGEoKS5ZJiZuLkouZ2V0UGxheWVyU3RhdGUoKS5pc09yV2lsbEJlUGxheWluZygpJiZuLkouZTIoKX0pOwpyZihuLDYpO24uZGlzcG9zZSgpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07ClBkWj1mdW5jdGlvbihuKXtpZihuLkouZ2V0VmlkZW9EYXRhKCkuVyl7dmFyIFc9bi50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc19zdXNwZW5kX25leHRfbG9hZGVyIikmJm4uaj09PTE7bi5KLm5tKG4uQWIsVyxuLmo9PT0xJiZnLllOKG4uTi5nZXRWaWRlb0RhdGEoKSkpO3JmKG4sMyk7T2xNKG4pO3ZhciB7Z2Q6RCxUYzpifT1OSyhuKTtELnN1YnNjcmliZSgidXBkYXRlZW5kIixuLmVYLG4pO2Iuc3Vic2NyaWJlKCJ1cGRhdGVlbmQiLG4uZVgsbik7bi5lWChEKTtuLmVYKGIpfX07Ck9sTT1mdW5jdGlvbihuKXtuLk4udW5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixuLlgsbik7bi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsbi5YLG4pO24udGIuRygpLlMoImh0bWw1X2dhcGxlc3NfdXNlX2Zvcm1hdF9pbmZvX2ZpeCIpJiYobi5OLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbiksbi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbikpO24uTi51bnN1YnNjcmliZSgibWVkaWFzb3VyY2VhdHRhY2hlZCIsbi5YLG4pO24uSi51bnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLG4uVEMsbil9OwpOSz1mdW5jdGlvbihuKXtyZXR1cm57Z2Q6bi5XLk4uayQsVGM6bi5XLkouayR9fTsKcE89ZnVuY3Rpb24obixXKXtpZighbilyZXR1cm4hMTt2YXIgRD1uLko7cmV0dXJuIEJSKG4uTj8uWkYoKSxXKSYmQlIoRD8uWkYoKSxXKX07ClpsaT1mdW5jdGlvbihuKXtpZighbilyZXR1cm4hMTt2YXIgVz1uLko7cmV0dXJuIG4uTj8uaVEoKXx8Vz8uaVEoKX07CkVEaj1hc3luYyBmdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlgmJm4uTil7bi5PJiZuLmFwcC5NTigpLmtOKCEwLCExKTt2YXIgVz1udWxsO2lmKG4uVyl0cnl7YXdhaXQgS0VoKG4uVyl9Y2F0Y2goYil7Vz1ifWlmKG4uTiYmKFVydy5jVygidnFzcCIsKCk9PntuLmFwcC5RVChuLk4pfSksbi5OKSl7dmFyIEQ9bi5OLmg1KCk7Cm4uYXBwLkcoKS5TKCJodG1sNV9nYXBsZXNzX3NlZWtfb25fbmVnYXRpdmVfdGltZSIpJiZEJiZELmdldEN1cnJlbnRUaW1lKCk8LS4wMSYmbi5OLnNlZWtUbygwKTtVcncuY1coInZxcHYiLCgpPT57bi5hcHAucGxheVZpZGVvKCl9KTsKVyYmKG4uTj8oVz1XP1cubWVzc2FnZToiZm9yY2VkIixuLko/LlUoImdhcGZ1bGZiayIse3I6V30pLG4uYXBwLkcoKS5adCgpLk4uUVEoeWVpKSYmKG4uTi5nZXRWaWRlb0RhdGEoKS5HUz0hMSksbi5OLk9jKFcpKTpuLko/LlUoImdhcHNwIix7fSkpO1c9bi5YO1lJKG4pO1cmJlcucmVzb2x2ZSgpO1Byb21pc2UucmVzb2x2ZSgpfX19OwpIYz1mdW5jdGlvbihuKXtuLkQmJm4uaiYmbi5ELnJlbW92ZUV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLG4uaik7bi5qPW51bGw7bi5EPW51bGx9OwpZST1mdW5jdGlvbihuLFc9ITEpe2lmKG4uSil7aWYobi5WKXt2YXIgRD1uLko7bi5hcHAuUkIucmVtb3ZlRXZlbnRMaXN0ZW5lcihnLm95KCJ2cXVldWVkIiksbi5ZKTtELnJlbW92ZUN1ZVJhbmdlKG4uVil9bi5KPW51bGw7bi5WPW51bGx9bi5XJiYobi5XLnN0YXR1cy5zdGF0dXMhPT02JiYoRD1uLlcsRC5zdGF0dXMuc3RhdHVzIT09SW5maW5pdHkmJkQuaiE9PTEmJkQuS2coIkNhbmNlbGVkIikpLG4uVz1udWxsKTtuLlg9bnVsbDtuLk4mJiFXJiZuLk4hPT1uLmFwcC5jWCgpJiZuLk4hPT1uLmFwcC5NTigpJiZuLk4uZGlzcG9zZSgpO24uTiYmVyYmbi5OLm15KCk7bi5OPW51bGw7bi5PPSExfTsKdTd0PWZ1bmN0aW9uKG4sVyxEPSEwKXt2YXIgYj1uLmFwcC5NTigpLHY9Yi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjaz9JbmZpbml0eTpiLlBHKCEwKSoxRTM7Vz52JiYoVz12LTIwMCwhbi5hcHAuRygpLlp0KCkuTi5RUShpbGkpfHxEKSYmKG4uTz0hMCk7RCYmYi5nZXRDdXJyZW50VGltZSgpPj1XLzFFMz9uLlkoKToobi5KPWIsRCYmKEQ9VyxXPW4uSixuLmFwcC5SQi5hZGRFdmVudExpc3RlbmVyKGcub3koInZxdWV1ZWQiKSxuLlkpLEQ9aXNGaW5pdGUoRCl8fEQvMUUzPlcuZ2V0RHVyYXRpb24oKT9EOjB4ODAwMDAwMDAwMDAwMCxuLlY9bmV3IGcubDUoRCwweDgwMDAwMDAwMDAwMDAse25hbWVzcGFjZToidnF1ZXVlZCJ9KSxXLmFkZEN1ZVJhbmdlKG4uVikpKX07CmRyTT1mdW5jdGlvbihuLFcsRCxiPTAsdj0wKXtuLmRUKCl8fChIYyhuKSxZSShuKSk7bi5YPW5ldyBZNjtuLk49Vzt1N3QobixELHY9PT0wKTt2YXIgaz1iLz0xRTMsaD1XLmdldFZpZGVvRGF0YSgpLk47aWYoYiYmaCYmbi5KKXtsZXQgeD1iLEw9MDtXLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrJiYoaz1NYXRoLm1pbihELzFFMyxuLkouUEcoITApKSxMPU1hdGgubWF4KDAsay1uLkouZ2V0Q3VycmVudFRpbWUoKSkseD1NYXRoLm1pbihiLFcuUEcoKStMKSk7az1tOHQoaCx4KXx8YjtrIT09YiYmbi5OLlUoInF2YWxuIix7c3Q6YixhdDprLHJtOkwsY3Q6eH0pfVc9aztiPW4uTjtiLmdldFZpZGVvRGF0YSgpLllaPSEwO2IuZ2V0VmlkZW9EYXRhKCkuSz0hMDtiLmd6KCEwKTtoPXt9O24uSiYmKGg9bi5KLmw1KCksaz1uLkouZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZSxoPXtjcnQ6KGgqMUUzKS50b0ZpeGVkKCksY3BuOmt9KTtiLlUoInF1ZXVlZCIsaCk7VyE9PQowJiZiLnNlZWtUbyhXKy4wMSx7QTk6ITAsWlU6MyxxZDoidmlkZW9xdWV1ZXJfcXVldWVkIn0pO24uVz1uZXcgb0RiKG4uSyxuLmFwcC5NTigpLG4uTixELG4uYXBwLHYpO0Q9bi5XO0Quc3RhdHVzLnN0YXR1cyE9PUluZmluaXR5JiYocmYoRCwxKSxELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsRC5YLEQpLEQuSi5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixELlgsRCksRC50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4IikmJihELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixELlgsRCksRC5KLnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsRC5YLEQpKSxELk4uc3Vic2NyaWJlKCJtZWRpYXNvdXJjZWF0dGFjaGVkIixELlgsRCksRC5KLnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLEQuVEMsRCksRC5OLnN1YnNjcmliZSgibmV3ZWxlbWVudHJlcXVpcmVkIixELlZRLApEKSxELlgoKSk7cmV0dXJuIG4uWH07CmpqeD1mdW5jdGlvbihuLFcpe2lmKG4uYXBwLkcoKS5adCgpLk4uUVEoejBpKSl7dmFyIEQ9bi5hcHAuRygpLlp0KCkuTi5RUShsWWgpO2lmKCEoRDw9MCkpe0hjKG4pO3ZhciBiPW4uYXBwLk1OKCk/Lmg1KCk7YiYmbi5OJiYobi5hcHAuRygpLlp0KCkuTi5RUShUX0MpP24uTi5nZXRWaWRlb0RhdGEoKS5Sbz0hMDpuLk4uZ2V0VmlkZW9EYXRhKCkuR1M9ITAsbi5qPSgpPT57dmFyIHY9Yi5nZXRDdXJyZW50VGltZSgpO3Y+PVcrRC8xRTMmJih2PURhdGUubm93KCktKHYtVykqMUUzLG4uYXBwLmVHKCkudGljaygicGJzIix2KSxIYyhuKSl9LG4uRD1iLGIuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsbi5qKSl9fX07CkNkaj1mdW5jdGlvbihuLFcsRCl7aWYobi5kVCgpKXJldHVybiJxaWUiO2lmKG4uTj09bnVsbHx8bi5OLnFOKCl8fG4uTi5nZXRWaWRlb0RhdGEoKT09bnVsbClyZXR1cm4icXBkIjtpZihXLnZpZGVvSWQhPT1uLk4uRTEoKSlyZXR1cm4idmlubSI7aWYoKG4uVz8uYmQoKXx8LTEpPD0wKXJldHVybiJpdmQiO2lmKEQhPT0xKXJldHVybiJ1cHQiO249bi5XPy5lJCgpO3JldHVybiBuIT1udWxsP246bnVsbH07CkpoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLmRhdGEuZm9yRWFjaChEPT57RC5leHBpcmU8VyYmZk8obixELCEwKX0pOwpuLmRhdGE9Zy5FTShuLmRhdGEsRD0+IShELmV4cGlyZTxXKSl9OwpJZT1mdW5jdGlvbihuKXtuLk4uc3RvcCgpO3ZhciBXPUluZmluaXR5O2ZvcihsZXQgRCBvZiBuLmRhdGEpRC5leHBpcmU8VyYmKFc9RC5leHBpcmUpO1cmJmlzRmluaXRlKFcpJiYoVz1NYXRoLm1heChXLURhdGUubm93KCksMTAwKSxuLk4uc3RhcnQoVykpfTsKQl9DPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLmRhdGEuZmluZCh2PT52LmtleT09PVcpOwpiJiYoRCo9MUUzLGIuZXhwaXJlPSgwLGcuUikoKStELEllKG4pKX07CnNGPWZ1bmN0aW9uKG4pe0poKG4pO3JldHVybiBuLmRhdGEubWFwKFc9PlcudmFsdWUpfTsKZk89ZnVuY3Rpb24obixXLEQpe0QmJm4uSiYmbi5KKFcudmFsdWUpfTsKRkVaPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTj9bbi5OXTpbXTtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLmopKUQuZGlzcG9zZSgpLG4uS3x8ZGVsZXRlIG4uVltELldOKCldO24uaj17fTtuLk49bnVsbDtuLlk9bnVsbDtuLkQuY2xlYXIoKTtTcyhuLFtdLFcpfTsKU3M9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtuLkpdO24uTiYmYi5wdXNoKG4uTik7bi5hcGkuV0ooInBsYXliYWNrQ2hhbmdlIix7YWN0aXZlOmIuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKSwKc3RhcnRlZDpXLmZpbHRlcih2PT52LmdldFBsYXllclR5cGUoKSE9PTApLm1hcCh2PT4oe2Nwbjp2LldOKCl9KSksCmVuZGVkOkQuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKX0pfTsKd1AxPWZ1bmN0aW9uKG4sVyl7aWYobi5LKXtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLlcpKWlmKEQuV04oKT09PVcpcmV0dXJuIEQ7aWYobi5PPy5XTigpPT09VylyZXR1cm4gbi5PO2lmKHZvaWQgMD09PVcpcmV0dXJuIG51bGw7aWYobi5qW1ddKXJldHVybiBuLmpbV107Zm9yKGxldCBEIG9mIHNGKG4uWCkpaWYoRC5XTigpPT09VylyZXR1cm4gRDtyZXR1cm4gbnVsbH1pZihuLmFwaS5HKCkuWnQoKS5OLlFRKGcuQWgpKXJldHVybiBuLlZbV118fG51bGw7Zm9yKGxldCBEIG9mIE9iamVjdC52YWx1ZXMobi5XKSlpZihELldOKCk9PT1XKXJldHVybiBEO3JldHVybiBuLmpbV118fG51bGx9OwpNa009ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9RC5nZXRWaWRlb0RhdGEoKTtpZighdi5saXZlUHJlbG9hZCl7dmFyIGs9KCk9PntpZihuLlguZ2V0KFcpPT09RCl7dmFyIGg9di5nZXRQbGF5ZXJSZXNwb25zZSgpO2gmJihoPWgucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9oLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLGghPT12b2lkIDAmJihoPGImJkQuVSgidHRsZCIse3ByZXY6Yi50b1N0cmluZygpLCJuZXciOmgudG9TdHJpbmcoKX0pLGg9PT0wP24uWC5yZW1vdmUoVywhMCk6Ql9DKG4uWCxXLGgpKSl9fTsKaWYodi5pc0xvYWRlZCgpKWsoKTtlbHNle2xldCBoPSgpPT57aygpO3YudW5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfTsKdi5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfX19OwptUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W1ddLHY9bi5OP1tuLk5dOltdO24ualtXLldOKCldPVc7bi5LfHwobi5WW1cuV04oKV09Vyk7bi5OPVc7RCYmKG4uWT1XKTtuLkQuc2V0KCIiLFcpO1NzKG4sYix2KX07CmNlYj1mdW5jdGlvbihuKXt2YXIgVz1uLmV4cGVyaW1lbnRzLEQ9Vy5FcS5iaW5kKFcpO0tPPUQoImh0bWw1X3VzZV9hc3luY19zdG9wVmlkZW8iKTtSMGk9RCgiaHRtbDVfcGF1c2VfZm9yX2FzeW5jX3N0b3BWaWRlbyIpO09nPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO0QoImh0bWw1X2xpc3Rlbl9mb3JfYXVkaW9fb3V0cHV0X2NoYW5nZWQiKSYmKHdVTT0hMCk7REg9RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZSIpfHxEKCJodG1sNV9ub3RfcmVzZXRfbWVkaWFfc291cmNlX25vbl9kcm1fdm9kIik7UWpaPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO1BjPUQoImh0bWw1X3JldGFpbl9zb3VyY2VfYnVmZmVyX2FwcGVuZHNfZm9yX2RlYnVnZ2luZyIpO25WcihEKCJ3ZWJfd2F0Y2hfcGlwIil8fApEKCJ3ZWJfc2hvcnRzX3BpcCIpKTtJdmgoRCgibG9nX2ZvcmVncm91bmRfbm90X2ZvY3VzZWRfYXNfYmFja2dyb3VuZCIpKTtTeXIoRCgid2ViX3BsYXllcl9waXBfbG9nZ2luZ19maXgiKSk7RCgiaHRtbDVfbWVkaWFzdHJlYW1fYXBwbGllc190aW1lc3RhbXBfb2Zmc2V0IikmJihzND0hMCk7bi5XWCgpJiZNRngoKTtFcnJvci5zdGFja1RyYWNlTGltaXQ9NTA7dmFyIGI9Zy5kTShXLCJodG1sNV9pZGxlX3JhdGVfbGltaXRfbXMiKTtiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJyZXF1ZXN0SWRsZUNhbGxiYWNrIix7dmFsdWU6dj0+d2luZG93LnNldFRpbWVvdXQodixiKX0pOwp3Sngobi5XKTthaU0oRCgiaHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlciIpKTtEKCJodG1sNV9kaXNhYmxlX3N0cmVhbWluZ194aHIiKSYmKE5zPSExKTtEKCJodG1sNV9ieXRlcmF0ZV9jb25zdHJhaW50cyIpJiYoaFQ9ITApO0QoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIikmJihadT0hMCk7RCgiaHRtbDVfZW5hYmxlX2VuY3J5cHRlZF9hdjEiKSYmKFBSPSEwKTtXLlp0KCkuTi5RUShWa3cpJiYoRU49ITApO01wQyhnLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3MiKSl9Owp5UjE9ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLmV4cGVyaW1lbnRzLncwKCksYj1bXTtuPShrLGgseCk9PntiLnB1c2goU2soaCh4KSxMPT57V1trXT1MfSkpfTsKdmFyIHY9RC5OLlFRKGFZeCk7diYmbigiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUJ1ZmZlcmVkUmFuZ2UiLHFScix2PT09MSk7KHY9RC5OLlFRKG5NdykpJiZuKCJIVFRQMyIsR253LHY9PT0xKTsodj1ELk4uUVEoV2t0KSkmJm4oIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VBdHRhY2htZW50TWV0aG9kcyIsdEZ4LHY9PT0xKTsodj1ELk4uUVEoRERaKSkmJm4oIlFVSUMiLCRMQyx2PT09MSk7KHY9RC5OLlFRKGJSdykpJiZuKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsc2d3LHY9PT0xKTsodj1ELk4uUVEodk1TKSkmJm4oIk1lZGlhLkF1ZGlvV3JpdGVEdXJhdGlvbkxvY2FsIixyYzIsTnVtYmVyKHYpKTsodj1ELk4uUVEoazZ3KSkmJm4oIk1lZGlhLkV4cGVyaW1lbnRhbE1heFBlbmRpbmdCeXRlc1BlclBhcnNlIixLWFosTnVtYmVyKHYpKTsodj1ELk4uUVEoaFVpKSkmJm4oIk1lZGlhLkVuYWJsZUZsdXNoRHVyaW5nU2VlayIsCkpjYixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoeERaKSkmJm4oIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsSXl3LE51bWJlcih2KSk7KHY9RC5OLlFRKExrQykpJiZuKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLFNSdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZVVVKSkmJm4oIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLEFjWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZ014KSkmJm4oIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbUwyLE51bWJlcih2KT09PTEpOyh2PUQuTi5RUShYR1UpKSYmbigiTWVkaWEuRW5hYmxlUmVzZXRBdWRpb0RlY29kZXIiLGZ5VSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocXhoKSkmJm4oIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLEhGWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoRzYyKSkmJm4oIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsCk9GQyxOdW1iZXIodikpOyh2PUQuTi5RUSh0NWkpKSYmbigiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsTjBTLHYpOyh2PUQuTi5RUSgkRDEpKSYmbigiTWVkaWEuTWVkaWFDb2RlY1Jlc2V0RGVsYXlNcyIsUFFyLHYpOyh2PUQuTi5RUShyUmkpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbklucHV0QnVmZmVycyIscE50LHYpOyh2PUQuTi5RUShzd2kpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbkRlY29kZWRGcmFtZXMiLFlSdyx2KTsodj1ELk4uUVEoTmRTKSkmJm4oIk1lZGlhLlVzZUR1YWxUaHJlYWRzRm9yVmlkZW8iLHljMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocEcxKSkmJm4oIk1lZGlhLlZpZGVvQnVmZmVyU2l6ZUNsYW1wTWIiLEV1dCx2KTsodj1ELk4uUVEoWXhyKSkmJm4oIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixpRlUsdik7KHY9RC5OLlFRKEhScikpJiZuKCJNZWRpYS5EaXNhYmxlTG93UGVyZm9ybWFuY2VTb2Z0d2FyZURlY29kZSIsClpGdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZndqKSkmJm4oIk1lZGlhLkVuYWJsZUF2MVN0YXJ0dXBPcHRpbWl6YXRpb24iLFVMMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSlIxKSkmJm4oIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLGRMaSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSXd4KSkmJm4oIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIix1cXQsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFN4aSkpJiZuKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG91MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoQVJNKSkmJm4oIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIix6UVMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKG1EaCkpJiZuKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLGx5MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoS2tpKSkmJm4oIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixUMFUsTnVtYmVyKHYpPT09CjEpOyh2PUQuTi5RUShPUlUpKSYmbigiTWVkaWEuU2tpcFZpZGVvRnJhbWVzT3ZlcjYwRnBzIixqZ2gsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFBoaikpJiZuKCJNZWRpYS5GbHVzaEF1ZGlvVHJhY2tEdXJpbmdTZWVrIixDUUMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFpSeCkpJiZuKCJNZWRpYS5CeXBhc3NNb2pvRm9yTWVkaWEiLEIwaixOdW1iZXIodik9PT0xKTsoRD1ELk4uUVEoVUQyKSkmJm4oIk1lZGlhLklnbm9yZU1lZGlhQ29kZWNDYWxsYmFja3NEdXJpbmdGbHVzaGluZyIsRlgyLE51bWJlcihEKT09PTEpO3JldHVybiBTayhGTngoYiksKCk9PlcpfTsKR0Q9ZnVuY3Rpb24obixXPSExLEQ9MTA0ODU3Nil7dmFyIGI9VWcobik7Yj0xLygobi5LLkxnKCl8fDApKm4ucG9saWN5LkQrMS9iKTt2YXIgdj1uLlMkLkxnKCk7dj12PjA/djoxO3ZhciBrPU1hdGgubWF4KGIsdik7bi5wb2xpY3kuWD4wJiZ2PGImJihrPU1hdGgubWluKG4ucG9saWN5LlgsMSksaz0oMS1rKSpiK2sqdik7aWYoIVcpcmV0dXJuIGs7Vz0xRS05KyRzKG4pO0Q9aypNYXRoLm1pbigxLEQvKGsqVykpO24ucG9saWN5Lkp8fChuPSgobi5ELnBlcmNlbnRpbGUoLjk4KXx8MCktMSkvMixuPU1hdGgubWF4KDAsTWF0aC5taW4oMSxuKSksRCo9MS0uNSpuKTtyZXR1cm4gRH07CiRzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uWS5MZygpK24uVEMuTGcoKXx8MDtXPWlzTmFOKFcpPy41Olc7bi5wb2xpY3kuVDY+PTAmJihXPU1hdGgubWluKFcsbi5wb2xpY3kuVDYpKTtyZXR1cm4gV307CmUwPWZ1bmN0aW9uKG4pe3ZhciBXPXtkZWxheTokcyhuKSxzdGFsbDpuLksuTGcoKXx8MCxieXRlcmF0ZTpVZyhuKSxpbml0Om4uVlF9LEQ9bi5XWzBdO0Quc3RhbXA9TWF0aC5yb3VuZChuLlYvMzZFNSkqMzZFNTtELm5ldD1NYXRoLmNlaWwobi5iZCk7RC5tYXg9bi5pbnRlcnJ1cHRpb25zWzBdfHwwO1cuaW50ZXJydXB0aW9ucz1uLlc7cmV0dXJuIFd9Owp6RD1mdW5jdGlvbihuLFcpe2lmKG4uail7bGV0IEQ9Vy1uLmo7aWYoRDw2RTQpe2lmKEQ+MUUzKXtsZXQgYj1uLmludGVycnVwdGlvbnM7Yi5wdXNoKE1hdGguY2VpbChEKSk7Yi5zb3J0KCh2LGspPT5rLXYpOwpiLmxlbmd0aD4xNiYmYi5wb3AoKX1uLmJkKz1EfX1uLmo9V307CnlTPWZ1bmN0aW9uKG4sVyxEKXtpc05hTihEKXx8KG4udHcrPUQpO2lzTmFOKFcpfHwobi5EdCs9Vyl9OwpCdT1mdW5jdGlvbihuLFcsRCxiPVcpe24uWC5JSShiLEQvVyk7bi5WPSgwLGcuUikoKX07CkVnPWZ1bmN0aW9uKG4sVyxEKXtXPU1hdGgubWF4KFcsbi5KLk4pO24uSy5JSSgxLEQvVyl9Owppcz1mdW5jdGlvbihuLFcsRCxiLHYsaz0hMSl7bi5TJC5JSShXLEQvVyk7bi5WPSgwLGcuUikoKTt2fHxuLkQuSUkoMSxXLWIpO2t8fChuLmo9MCk7bi5jSj4tMSYmKDAsZy5SKSgpLW4uY0o+M0U0JiYoc24oZTAobikpLG4uY0o9KDAsZy5SKSgpLG4uTz0hMCl9OwpUWj1mdW5jdGlvbihuKXtyZXR1cm4oMCxnLlIpKCktbi5WPj00RTN9OwpVZz1mdW5jdGlvbihuKXtuPW4uWC5MZygpO3JldHVybiBuPjA/bjoxfTsKaVJaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgRU1NKEQpO24mJihiLlc9ITAsYi5qPS4xKTtELkVxKCJodG1sNV9tZWRpYV90aW1lX3dlaWdodCIpJiYoYi5XPSExKTtXJiYoYi5OPVcvOCk7Yi5KPXA3KCk+PTQ4MDtyZXR1cm4gYn07CnVzPWZ1bmN0aW9uKG4pe24uTi5jbGVhcigpO24uVy5jbGVhcigpO24uSi5jbGVhcigpfTsKdWFVPWZ1bmN0aW9uKG4sVyxEKXtuPW4uSjt2YXIgYj1nLlc0KG4se29hOld9LCh2LGspPT52Lm9hLWsub2EpOwpiPWI8MD8oYisyKSotMTpiO2lmKGI+PTApZm9yKGxldCB2PWI7djw9YisxJiZ2PG4ubGVuZ3RoO3YrKyl7bGV0IGs9blt2XTtpZihXPj1rLm9hLUQmJlc8PWsuZEkrRClyZXR1cm4ga319OwpvTWg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5nZXQoVyk7Yj8oYi5wdXNoKEQpLGcuYmYoYiwodixrKT0+di5vYS1rLm9hKSk6bi5OLnNldChXLFtEXSl9OwpkRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2Ygbi5KKVcoYil8fEQucHVzaChiKTtpZihuLkIuUygiaHRtbDVfc3N0bV9maXhlcyIpKWZvcihsZXQgYiBvZiBuLkopVyhiKSYmbi5XLmRlbGV0ZShiLmNwbik7bi5KPUR9Owp6VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkouaW5kZXhPZihXKTtEPj0wJiZuLkouc3BsaWNlKEQsMSk7bi5XLmRlbGV0ZShXLmNwbil9Owp0dmk9ZnVuY3Rpb24obixXKXtpZihuLnVLfHxXLmlkZW50aWZpZXImJm4ueXcuaGFzKFcuaWRlbnRpZmllcikpbi5iaih7c3RhcnRub2FkOlcuaWRlbnRpZmllcn0pLGcub2Uobik7ZWxzZSBpZihnLm9NKG4uY0osRD0+RC5pZGVudGlmaWVyPT09Vy5pZGVudGlmaWVyKSluLmJqKHt0aW1lZG91dGNwOjF9KSxuLlkuc3RhcnQoMCk7CmVsc2UgaWYoZy5vTShuLkR0LEQ9PkQuaWRlbnRpZmllcj09PVcuaWRlbnRpZmllcikpbi5iaih7ZmV0Y2hlZGNwOjF9KSxnLm9lKG4pOwplbHNlIGlmKG4uWS5pc0FjdGl2ZSgpKW4uYmooe3JhY2luZ2NwOmAke24uVj8uaWRlbnRpZmllcn1fJHtXLmlkZW50aWZpZXJ9YH0pO2Vsc2V7bi5DdT0obmV3IERhdGUpLmdldFRpbWUoKS8xRTM7bi5iaih7YWRmOjF9KTtsZXQgRD01RTM7RCYmVy5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYoRC09Vy5OKTtuLnZKPU1hdGgubWF4KEQsMTVFMyk7bi5EPSExO24uWS5zdGFydChuLnZKKTtuLlY9Vzt1cyhuLlRDKTtuLkZGPVtdfX07CmcuSnlpPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe3ZhciB4PXY9PT0zLEw9bHdaKG4sVyxELHYsYixoKTtpZighTClyZXR1cm4gZGYobixELHgpLEw9Zy56VihuLEQpPyJ1bmRlYyI6Im5jcCIsbi5iaih7Z3ZwcnA6TCxtdDpXLHNlZzpELHR0OnYsaXRhZzpiLGNlOmh9KSxudWxsO3h8fG4uWXEuc2V0KEQsTCk7aD1MLnZQO3Y9bi5HTShELTEsdixrKT8uQmZ8fCIiO3Y9PT0iIiYmbi5iaih7ZWRzOjF9KTtrPVRkaihuLEwuc3NkYWlBZHNDb25maWcpO3g9bi5ncy5nZXRWaWRlb0RhdGEoKTt4PXguYkJbeC5KPy5jb250YWluZXJUeXBlfHwwXTtMPUwubUYmJkQ+PUwubUY/TC5tRjp2b2lkIDA7dj17YUQ6aD9scyhuLGgpOltdLGFkc0NvbmZpZzprLEJmOnYsREo6TCxvdjpnLk5oKHguc3BsaXQoIjsiKVswXSksZDM6eC5zcGxpdCgiOyIpWzFdfHwiIn07TD17TXk6dn07bi5HQyYmKFc9e2d2cHJwcm86InYiLHNxOkQsbXQ6Vy50b0ZpeGVkKDMpLGl0YWc6YixhY3Buczp2LmFEPy5qb2luKCJfIil8fAoibm9uZSIsYWJpZDpofSxuLmJqKFcpKTtyZXR1cm4gTH07Ck0yPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj1ifHx7cmVhc29uOiJkaXNhYmxlc3NkYWkifTtpZihXJiZEKXtpZighZy5UVihuLFcsRCkpcmV0dXJuITE7Yi5zcT1EfWlmKG4udUspcmV0dXJuITE7bi51Sz0hMDtuLnVmPjAmJihuLnVmPTAsbi51Tj0iIixqcyhuLG4uZ3MuV04oKSwwKSxuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpKTtuLmdzLmRuKGIsdik7cmV0dXJuITB9Owpqd2o9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uald8fG4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKTtDTyhuLCEwKTtuLmdzLnNlZWtUbyhXLEQpO249bi5hcHAuTU4oKTtXPW4uZ2V0UGxheWVyU3RhdGUoKTtiLmlzT3JXaWxsQmVQbGF5aW5nKCkmJiFXLmlzT3JXaWxsQmVQbGF5aW5nKCk/bi5wbGF5VmlkZW8oKTpiLmlzUGF1c2VkKCkmJiFXLmlzUGF1c2VkKCkmJm4ucGF1c2VWaWRlbygpfTsKZy5CYz1mdW5jdGlvbihuKXtuLkdDJiZuLmJqKHthZGY6YDBfJHsobmV3IERhdGUpLmdldFRpbWUoKS8xRTMtbi5DdX1faXNUaW1lb3V0XyR7bi5EfWB9KX07Cmcub2U9ZnVuY3Rpb24obil7bi5EPSExO24uWS5pc0FjdGl2ZSgpJiZnLkJjKG4pO24uWS5zdG9wKCk7bi5SZighMSl9OwpGdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJue3NzdmM6VyxjcG46RD8uY3BufHwiIix2aWQ6RD8udmlkZW9EYXRhLnZpZGVvSWR8fCIiLGN0OihuLmdzLmdldEN1cnJlbnRUaW1lKCl8fDApLnRvRml4ZWQoMyksY210OihuLmdzLm90KCl8fDApLnRvRml4ZWQoMyl9fTsKQ2gxPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbmV3IGcubDUobixXLHtpZDpELG5hbWVzcGFjZToic2VydmVyc3RpdGNoZWRjdWVyYW5nZSIscHJpb3JpdHk6OX0pfTsKZy53Zj1mdW5jdGlvbihuKXtyZXR1cm57Y3BuOm4uZ3MuV04oKSxkdXJhdGlvbk1zOjAsb2E6MCxwbGF5ZXJUeXBlOjEsZEk6MCx2aWRlb0RhdGE6bi5ncy5nZXRWaWRlb0RhdGEoKSxlcnJvckNvdW50OjAsdlA6IiJ9fTsKTUs9ZnVuY3Rpb24obixXLEQsYil7bi5CLlMoImh0bWw1X3NzZGFpX2xvZ19zc2V2dF9pbl9sb2FkZXJfdGltZXJzIikmJihiPW4uYmQ/MDpNYXRoLnJvdW5kKChiLUQpKjFFMyksbi5ncy5VKCJzc2V2dCIse3RhZzoic3N0bWUiLGFkOlchPT1uLmdzLldOKCksY3BuOlcsc3Q6RC1uLmdzLkgzKCksbGF0ZTpifSkpfTsKZy5RUz1mdW5jdGlvbihuLFcpe24uanx8bi5iZHx8Zy5SZShuLG4udU4pO3ZhciBEPVcucUQsYj1XLnpZO2lmKGIuY3BuPT09bi51TiluLmJqKHtpZ3RyYW5zc2FtZToxLGVudGVyOmIuY3BuLGV4aXQ6RC5jcG59KTtlbHNle3ZhciB2PW4uYmQsaz0hIW4uajtuLmo9IiI7dmFyIGg9Vy5tNyx4PUQucGxheWVyVHlwZT09PTI/RC5vYS8xRTMrRC52aWRlb0RhdGEuR0M6Zy53ZihuKS52aWRlb0RhdGEuR0M7bi5hcGkuUygiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiKSYmKGt8fHZ8fEQucGxheWVyVHlwZSE9PTI/KHZ8fGspJiZuLmJqKHttZWNyOjAsc2Vlazp2LHNraXA6a30pOm4uYXBpLk5hKEQuY3BuKSk7aWYoRC5wbGF5ZXJUeXBlPT09MiYmYi5wbGF5ZXJUeXBlPT09MilrP24uYmooe2lndHJhbnNza2lwOjEsZW50ZXI6Yi5jcG4sZXhpdDpELmNwbixzZWVrOnYsc2tpcDpuLmp9KTpnLkJkdChuLEQsYix4LGgsdixrKTtlbHNle24udU49Yi5jcG47anMobixiLmNwbiwKYi5zdGFydFRpbWVTZWNzfHxoKTtXPVcuUXg7aWYoRC5wbGF5ZXJUeXBlPT09MSYmYi5wbGF5ZXJUeXBlPT09Mil7bi5TJD0wO0ZraihuLGIpO3ZhciBMPUZ3KG4sImMyYSIsYik7bi5iaihMKTtuLnVmKyt9ZWxzZSBpZihELnBsYXllclR5cGU9PT0yJiZiLnBsYXllclR5cGU9PT0xKXtuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpO0w9RncobiwiYTJjIik7bi5iaihMKTtuLnVmPTA7bi5TJD14O0w9RC5jcG47dmFyIGU9bi5TJDtpZihMIT09bi5ncy5XTigpKXtsZXQgRz1uLnR3LmdldChMKTtHP0cuTj1lOm4uYmooe25vcF9lOkx9KX1nLndHMShuLEQudlApfUw9TTVpKG4pO24uZ3MuY00oRCxiLHgsaCx2LGssVyxMKX1nLlJVaShuKX19OwppcD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPVdebjtpZigobi0xXjI3KT49biYmKG4rMV4yNCk8bil7dmFyIGU9RFtJW0xeNzg2XV0oSVtMXjgxN10pLEc9MDtlWzBdfHxHKys7bGV0IE49e307Zm9yKDtHPGVbSVs1XV07Rys9MillW0ddJiZFYyg1LExeNjc4NixOLGVbR10sZVtHKzFdKTt2YXIgcj1OfShuXjEzKTwyNiYmbi0yPj0xOCYmKGU9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxMXjc3MDEpLEc9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxlKzEpLGU+MCYmRz4wPyhiW0lbTF43Njg1XV09RFtJW0xeNzY5NF1dKDAsRyksRD1EW0lbTF43Njk0XV0oRysxKSk6KGJbSVtMXjc2ODVdXT1ELEQ9SVtMXjc2OTJdKSxyPVtEXSk7bi0zPj4zfHwocj1iKGssaCx4KSk7bj4+MiY3fHwoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgtRClbSVtMXjE3MTZdXSgpW0lbTF4xNjgxXV0oZnVuY3Rpb24oTil7YltJW0xeMTY3MF1dKE4pfSkpOwpyZXR1cm4gcn07CmpzPWZ1bmN0aW9uKG4sVyxEKXtpZihXPT09bi5ncy5XTigpKW1SKG4uYXBwLlZyLG4uZ3MsITEpO2Vsc2V7bGV0IGI9bi50dy5nZXQoVyk7Yj8oVz1iLFcuTj0wLFcuc3RhcnRUaW1lU2Vjcz1ELG1SKG4uYXBwLlZyLGIsITApKTpuLmJqKHtub3BfczpXfSl9fTsKRmtqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcHA7UFQoVlMoRCkpJiZELlZyLldbMl0mJmcuY18obi5sb2dnZXIsMzYwNzE3ODA2LCJTU1RNIGxpbmdlcmluZyBwbGF5YmFjayIpO24uYXBpLlNvKCk7bi5hcGkuV0ooInNlcnZlcnN0aXRjaGVkdmlkZW9jaGFuZ2UiLFcuY3BuLFcuTDMpfTsKY2M9ZnVuY3Rpb24obixXLEQ9MCl7cmV0dXJue0lEOnVhVShuLk4sVyoxRTMsRCoxRTMpLEJFOld9fTsKZy5SZT1mdW5jdGlvbihuLFcpe3ZhciBEPVd8fG4udU4sYj1uLk4uVkUoRCk7Yj8oVz1iLnZpZGVvRGF0YSxEPWIuTDN8fChuLlcuZ2V0KEQpPy5zdGFydD8/MCkvMUUzLG49bi5ncy5nZXRDdXJyZW50VGltZSgpLUQsVy5HQz1uPjA/bjowKTpnLndmKG4pLnZpZGVvRGF0YS5HQz1uLmdzLmdldEN1cnJlbnRUaW1lKCl9OwpnLlF3aT1mdW5jdGlvbihuLFcsRCl7bi5ncy5CbygpO24uZ3Muc2Vla1RvKFcsRCk7bi5ncy5wbGF5VmlkZW8oKX07CkNPPWZ1bmN0aW9uKG4sVyl7bi5MQj1OYU47bi5mQj1udWxsO24uUmEuc3RvcCgpO24uZSQmJlcmJm4uZSQuR18oKTtuLmpXPW51bGw7bi5lJD1udWxsfTsKbko9ZnVuY3Rpb24obil7VjVoKG4pO2Zvcih2YXIgVyBvZiBuLlcudmFsdWVzKCkpVy5zdGFydD49LTEmJlcuZW5kPD1JbmZpbml0eSYmKG4uZ3MucmVtb3ZlQ3VlUmFuZ2UoVyksbi5XLmRlbGV0ZShXLmdldElkKCkpLG4uYmooe3JtQWRDUjoxfSkpO3ZhciB7SUQ6RCxCRTpifT1jYyhuLC0uMDAxKTtEJiYoVz1iKjFFMy1ELm9hLGcuYWUobixELFcsRC5vYStXKSxXPW4uVy5nZXQoRC5jcG4pKSYmKFcuc3RhcnQ9RC5vYSxXLmVuZD1ELm9hK0QuZHVyYXRpb25Ncyk7KHtJRDpXfT1jYyhuLEluZmluaXR5KSk7VyYmbi5KKGBJbnZhbGlkX2NsZWFyRW5kVGltZU1zXyR7SW5maW5pdHl9X3RoYXRfZmFsbHNfZHVyaW5nXyR7YHBsYXliYWNrX2Nwbl8ke1cuY3BufV92aWRlb19pZF8ke1cudmlkZW9EYXRhPy52aWRlb0lkfV9kdXJhdGlvbk1zXyR7Vy5kdXJhdGlvbk1zfV9lbnRlclRpbWVNc18ke1cub2F9X3BhcmVudFJldHVyblRpbWVNc18ke1cuZEl9YH0uX0NoaWxkX3BsYXliYWNrc19jYW5fb25seV9oYXZlX2R1cmF0aW9uX3VwZGF0ZWRfbm90X3RoZWlyX3N0YXJ0LmApfTsKY1JiPWZ1bmN0aW9uKG4pe3VzKG4uVEMpO24uVy5jbGVhcigpO24uTi5jbGVhcigpO24uWXEuY2xlYXIoKTtuLkZGPVtdO24uVj1udWxsO24ueXcuY2xlYXIoKTtuLm51LmNsZWFyKCk7bi5jSj1bXTtuLkR0PVtdO24uczU9W107bi5FNT1bXTtuLlFyLmNsZWFyKCk7bi5NZC5jbGVhcigpO24uVTUuY2xlYXIoKTtuLnlFLmNsZWFyKCk7bi5EPSExO24uUyQ9MDtuLmJkPSExO24uWVo9ITE7bi51Zj0wO24uQ3U9MDtuLlkkPSExO24udUs9ITE7bi5qPSIiO0ZFWihuLmFwcC5Wcik7bVIobi5hcHAuVnIsbi5ncywhMSk7aWYobi5CLlp0KCk/LkooKSlmb3IobGV0IFcgb2Ygbi50dy52YWx1ZXMoKSlXLmRpc3Bvc2UoKTtuLnR3LmNsZWFyKCk7bi5ZLmlzQWN0aXZlKCkmJmcub2Uobil9OwpWNWg9ZnVuY3Rpb24obil7ZERiKG4uTixXPT5XLm9hPj0tMSYmVy5kSTw9SW5maW5pdHkpfTsKZy5hZT1mdW5jdGlvbihuLFcsRCxiKXtXLmR1cmF0aW9uTXM9RDtXLmRJPWI7KGI9bi50dy5nZXQoVy5jcG4pKT9iLmFUKEQvMUUzKTpuLmJqKHtub3BfZDpXLmNwbn0pfTsKZy56Vj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBuLkZGKWlmKFc+PUQuc3RhcnQmJlc8PUQuZW5kKXJldHVybiEwO3JldHVybiExfTsKZy5UVj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uWXEuZ2V0KEQpO2lmKCFrKXtpZihrPVdmKG4sVykpcmV0dXJuIGs7Vz1uLkdNKEQtMSxiPz8yKTtpZih2KXJldHVybiBuLmJqKHttaXNzY3VlOnYsc3E6RCx0eXBlOmIscHJldnNzdGF0ZTpXPy5zbCxwcmV2cmVjb3JkOm4uWXEuaGFzKEQtMSl9KSxuLllxLmdldChELTEpO2lmKFc/LnNsPT09MilyZXR1cm4gbi5iaih7YWRuZjoxLHNxOkQsdHlwZTpiLHByZXZyZWNvcmQ6bi5ZcS5oYXMoRC0xKX0pLG4uWXEuZ2V0KEQtMSl9cmV0dXJuIGt9Owpsd1o9ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKCFuLnVLKWlmKGcuelYobixEKSluLmJqKHtnZHU6InVuZGVjIixzZWc6RCxpdGFnOnZ9KTtlbHNlIGlmKFc9Zy5UVihuLFcsRCxiLGspLCFuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCl8fCFXPy5QTylyZXR1cm4gV307CldmPWZ1bmN0aW9uKG4sVyl7Vys9bi5IMygpO2lmKG4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSl7YTp7dmFyIEQ9bi5OO249VyoxRTM7Zm9yKGIgb2YgRC5KKWlmKEQ9Yi5MMz9iLkwzKjFFMzpiLm9hLG4+PWIub2EtMUUzJiZuPD1EK2IuZHVyYXRpb25NcysxRTMpYnJlYWsgYTt2YXIgYj12b2lkIDB9Yj17SUQ6YixCRTpXfX1lbHNlIGI9Y2MobixXKSxiPy5JRHx8KGI9Y2MobixXLDEpKTtyZXR1cm4gYj8uSUR9OwpkZj1mdW5jdGlvbihuLFcsRD0hMSl7aWYoIUQpe2ZvcihsZXQgYiBvZiBuLkZGKXtpZihXPj1iLnN0YXJ0JiZXPD1iLmVuZClyZXR1cm47aWYoVz09PWIuZW5kKzEpe2IuZW5kKz0xO3JldHVybn19bi5GRi5wdXNoKG5ldyBhd1MoVykpfX07ClRkaj1mdW5jdGlvbihuLFc9IiIpe3ZhciBEPWcuZDEoVyl8fHZvaWQgMDtXJiZEfHxuLmJqKHthZGNmZzpXPy5sZW5ndGgsZGNmZzpEPy5sZW5ndGh9KTtyZXR1cm4gRH07CmxzPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuW107Zm9yKGxldCBiIG9mIG4pYi5jcG4mJkQucHVzaChiLmNwbik7cmV0dXJuIER9OwpuJE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPSExO2lmKEQ9bi5OLk4uZ2V0KEQpKWZvcihsZXQgdiBvZiBEKXYuZHVyYXRpb25NcyE9PTAmJnYuZEkhPT12Lm9hJiYoRD12LmNwbixXPT09RCYmKGI9ITApLGImJiFuLk1kLmhhcyhEKSYmKG4uYmooe2RlY29yYXRlZEFkOkR9KSxuLk1kLmFkZChEKSkpfTsKdmFyIElhMj1mdW5jdGlvbihuLFcpe3JldHVybiBvU1tJWzEwXV0odGhpcywyLDQ0MzksbixXKX07CldMcj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtuPW4uTi5OLmdldChEKTtpZighbilyZXR1cm4tMTtmb3IobGV0IHYgb2Ygbil7aWYodi5jcG49PT1XKXJldHVybiBiO2IrK31yZXR1cm4tMX07CkRhcj1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuIDA7Zm9yKGxldCBiIG9mIG4pYi5kdXJhdGlvbk1zIT09MCYmYi5kSSE9PWIub2EmJkQrKztyZXR1cm4gRH07CmcuYmZ4PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLlcudmFsdWVzKCkpbi5ncy5yZW1vdmVDdWVSYW5nZShXKTtuLlcuY2xlYXIoKTt1cyhuLlRDKX07Ck01aT1mdW5jdGlvbihuKXt2YXIgVz1BcnJheS5mcm9tKG4uYXBwLlZyLkQudmFsdWVzKCkpLEQ9W10sYj1bXSx2PVtdLGs9W10saD1bXSx4PVtdO2Zvcih2YXIgTCBvZiBXKWlmKFc9bi5OLlZFKEwuV04oKSkpbi5iaih7YXR0YWNoX3RyYW5zX21ldGE6Vy5jcG4saGFzX3ZfbWV0YTpXLnNmPzE6MCxoYXNfYV9tZXRhOlcuWU0/MTowLGhhc19jdHhfbWV0YTpXLmpWPzE6MH0pLFcualYmJkQucHVzaChXLmpWKSxXLnNmJiZiLnB1c2goVy5zZiksVy5ZTSYmYi5wdXNoKFcuWU0pLGsucHVzaChXLmNwbiksaC5wdXNoKFcudmlkZW9EYXRhLnZpZGVvSWR8fCIiKSx4LnB1c2goVy52aWRlb0RhdGEuYWRGb3JtYXR8fFcudmlkZW9EYXRhLkZGKSxXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YSE9bnVsbCYmdi5wdXNoKFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhKTtMPXZvaWQgMDtuLnZYJiYobi5iaih7aGFzX2N0eF9saXN0OkQubGVuZ3RoPzE6MCxoYXNfY2xpcF9saXN0OmIubGVuZ3RoPwoxOjB9KSxMPXtqVjpELHJYOmJ9KTtyZXR1cm57UHc6TCxSUDp7YUQ6ayxhcTpoLGFkRm9ybWF0czp4LHNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YTp2fX19OwpnLkJkdD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtpZihXJiZEKXtuLnVOPUQuY3BuO2pzKG4sRC5jcG4sRC5zdGFydFRpbWVTZWNzfHx2KTtGa2oobixEKTt2YXIgeD1GdyhuLCJhMmEiLEQpO24uYmooeCk7bi51ZisrO3g9TTVpKG4pO24uZ3MuY00oVyxELGJ8fDAsdnx8MCwhIWssISFoLHZvaWQgMCx4KX1lbHNlIG4uYmooe21pc3NwYmtvbmFkdHJhbnM6MSxlbnRlcjpEPy5jcG58fCIiLGV4aXQ6Vz8uY3BufHwiIixzZWVrOmssc2tpcDpofSl9OwpnLlJVaT1mdW5jdGlvbihuKXtuLnlFLmFkZChuLmopO24uaj0iIjtuLmJkPSExfTsKdiRoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYjtpZihiPW4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSliPShiPW4uTi5WRShXKSkmJmIudlA/KG49bi5OLk4uZ2V0KGI/LnZQKSkmJm4uc2xpY2UoLTEpWzBdLmNwbj09PVc6ITE7cmV0dXJuIGImJkQ9PT0yPzFFMzowfTsKZy53RzE9ZnVuY3Rpb24obixXKXtpZihuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCkpe3ZhciBEPW4uTi5OLmdldChXKTtpZihEKXtmb3IodmFyIGIgb2YgRCl7bi5iaih7cmVtX21ldGE6Yi5jcG59KTtEPW47bGV0IHY9RC5XLmdldChiLmNwbik7RC5XLmRlbGV0ZShiLmNwbik7diYmRC5ncy5yZW1vdmVDdWVSYW5nZSh2KTt6VWgoRC5OLGIpfW4uWXEuY2xlYXIoKTtiPW4uTjtEPWIuTi5nZXQoVyk/P1tdO2ZvcihsZXQgdiBvZiBEKXpVaChiLHYpO2IuTi5kZWxldGUoVyk7KFc9bi5aaC5nZXQoVykpJiZuLlJ0JiZuLmdzLll5KFcpfX19OwpodnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPW4uVnx8bi5hcHAuTU4oKS5nZXRQbGF5ZXJTdGF0ZSgpO0RMKG4sITApO1c9aXNGaW5pdGUoVyk/VzpuLk4uTlcoKTt2YXIge0lEOnYsQkU6a309YmwobixXKTtXPXYmJiF2ZihuLHYpfHwhdiYmbi5OIT09bi5hcHAuTU4oKTt2YXIgaD1rKjFFMztoPW4uVyYmbi5XLnN0YXJ0PD1oJiZoPD1uLlcuZW5kOyFXJiZofHxrcihuKTt2P2cua3JaKG4sdixrLEQsYik6eHIobixrLEQsYiwiX2V4ZWN1dGUiKX07CmcuTEo9ZnVuY3Rpb24obixXLEQsYil7bi5OLlUoInRpbWVsaW5lZXJyb3IiLHtlOlcsY3BuOkQ/RDp2b2lkIDAsdmlkZW9JZDpiP2I6dm9pZCAwfSl9OwpnLmVhPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBnLmw1KE1hdGgubWF4KDAsbi01RTMpLFc/MHg4MDAwMDAwMDAwMDAwOm4tMSx7bmFtZXNwYWNlOiJjaGlsZHBsYXliYWNrIixwcmlvcml0eTo5fSl9OwpnLnhhaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5MeDtXLkx4PUQ7dmYobixXKSYmKEQ9bi5hcHAuTU4oKSxiLm9JPT09bi5XJiZrcihuKSxELnJlbW92ZUN1ZVJhbmdlKGIub0kpLEQuYWRkQ3VlUmFuZ2UoVy5MeC5vSSkpfTsKZy5rclo9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12ZihuLFcpO2lmKCFrKXtXLnBsYXllclZhcnMucHJlZmVyX2dhcGxlc3M9ITA7dmFyIGg9bmV3IGcuVXIobi5CLFcucGxheWVyVmFycyk7aC5LZj1XLktmO24uYXBpLnoyKGgsVy5wbGF5ZXJUeXBlKX1oPW4uYXBwLk1OKCk7a3x8aC5hZGRDdWVSYW5nZShXLkx4Lm9JKTtoLnNlZWtUbyhELHtxZDoiYXBwbGljYXRpb25fdGltZWxpbmVtYW5hZ2VyIiwuLi5ifSk7TEwyKG4sdil9OwpldnQ9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7Yj1XLktmO3ZhciB2PVcucGxheWVyVmFycyxrPVcucGxheWVyVHlwZTtuLks9Vzt2JiZuLmFwaS5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnModixrLEQsYil9OwpnJFM9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7bi5hcGkuV3Aobi5OLEQsVyl9Owprcj1mdW5jdGlvbihuKXtuLks9bnVsbDtuLlc9bnVsbDtuLmFwaS5kVCgpfHxuLmFwaS5jbGVhclF1ZXVlKCl9Owp2Zj1mdW5jdGlvbihuLFcpe249bi5hcHAuTU4oKTtyZXR1cm4hIW4mJm4uZ2V0VmlkZW9EYXRhKCkuS2Y9PT1XLktmfTsKWGVqPWZ1bmN0aW9uKG4sVyl7dmYobixXKXx8Zy5MSihuLCJjaGlsZFBsYXliYWNrSXNOb3RQcmVzZW50aW5nIik7cmV0dXJuIFcuZEk9PT1XLm9hK1cuZHVyYXRpb25Ncz9XLm9hK24uYXBwLk1OKCkuZ2V0Q3VycmVudFRpbWUoKSoxRTM6Vy5kSX07CmJsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtmb3IobGV0IGIgb2Ygbi5KKXtuPWIub2EvMUUzK0Q7bGV0IHY9bitiLmR1cmF0aW9uTXMvMUUzO2lmKG4+VylicmVhaztpZih2PlcpcmV0dXJue0lEOmIsQkU6Vy1ufTtEPXYtYi5kSS8xRTN9cmV0dXJue0lEOm51bGwsQkU6Vy1EfX07CkRMPWZ1bmN0aW9uKG4sVyl7bi5PPU5hTjtuLkQ9bnVsbDtuLlkuc3RvcCgpO24uWCYmVyYmbi5YLkdfKCk7bi5WPW51bGw7bi5YPW51bGx9Owp4cj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uTjtrIT09bi5hcHAuTU4oKSYmbi5hcHAuWDkoKTtuLkIuUygiaHRtbDVfc2Ficl9jc2RhaV9zZWVrX2xvZyIpfHwodj0iIik7ay5zZWVrVG8oVyx7cWQ6ImFwcGxpY2F0aW9uX3RpbWVsaW5lbWFuYWdlciIrKHY/PyIiKSwuLi5EfSk7TEwyKG4sYil9OwpMTDI9ZnVuY3Rpb24obixXKXtuPW4uYXBwLk1OKCk7dmFyIEQ9bi5nZXRQbGF5ZXJTdGF0ZSgpO1cuaXNPcldpbGxCZVBsYXlpbmcoKSYmIUQuaXNPcldpbGxCZVBsYXlpbmcoKT9uLnBsYXlWaWRlbygpOlcuaXNQYXVzZWQoKSYmIUQuaXNQYXVzZWQoKSYmbi5wYXVzZVZpZGVvKCl9OwpxZWk9ZnVuY3Rpb24obil7dmFyIFc9bi5KLmZpbmQoRD0+dmYobixEKSk7CmlmKFcpe2xldCBEPW4uYXBwLk1OKCk7a3Iobik7bGV0IGI9bmV3IGcubG0oOCk7Vz1YZWoobixXKS8xRTM7eHIobixXLHt9LGIsIl9mb3JjZSIpO0QuVSgiZm9yY2VQYXJlbnRUcmFuc2l0aW9uIix7Y2hpbGRQbGF5YmFjazoxfSk7bi5OLlUoImZvcmNlUGFyZW50VHJhbnNpdGlvbiIse3BhcmVudFBsYXliYWNrOjF9KX19OwpnLmc1PWZ1bmN0aW9uKG4sVz0tMSxEPUluZmluaXR5KXtmb3IobGV0IFt4LExdb2Ygbi5qKXt2YXIgYj14LHY9TDt2LnFJPj1XJiZ2LnRhcmdldCYmdi50YXJnZXQuZEk8PUQmJihuLk4ucmVtb3ZlQ3VlUmFuZ2UoYiksbi5qLmRlbGV0ZShiKSl9Yj1bXTtmb3IobGV0IHggb2Ygbi5KKXgub2E+PVcmJnguZEk8PUQ/KHY9bix2Lks9PT14JiZrcih2KSx2Zih2LHgpJiZ2LmFwcC5YOSgpKTpiLnB1c2goeCk7bi5KPWI7dmFyIHtJRDprLEJFOmh9PWJsKG4sVy8xRTMpO2smJihXPWgqMUUzLGcuR3IxKG4sayxXLGsuZEk9PT1rLm9hK2suZHVyYXRpb25Ncz9rLm9hK1c6ay5kSSkpOyh7SUQ6V309YmwobixELzFFMykpO1cmJmcuTEoobixgSW52YWxpZCBjbGVhckVuZFRpbWVNcz0ke0R9IHRoYXQgZmFsbHMgZHVyaW5nICR7YHBsYXliYWNrPXt0aW1lbGluZVBsYXliYWNrSWQ9JHtXLktmfSB2aWRlb19pZD0ke1cucGxheWVyVmFycy52aWRlb19pZH0gZHVyYXRpb25Ncz0ke1cuZHVyYXRpb25Nc30gZW50ZXJUaW1lTXM9JHtXLm9hfSBwYXJlbnRSZXR1cm5UaW1lTXM9JHtXLmRJfX1gfS5DaGlsZCBwbGF5YmFja3MgY2FuIG9ubHkgaGF2ZSBkdXJhdGlvbiB1cGRhdGVkIG5vdCB0aGVpciBzdGFydC5gKX07CmcuR3IxPWZ1bmN0aW9uKG4sVyxELGIpe1cuZHVyYXRpb25Ncz1EO1cuZEk9YjtiPXtvSTpnLmVhKEQsITApLHFJOkQsdGFyZ2V0Om51bGx9O2cueGFpKG4sVyxiKTt2ZihuLFcpJiZuLmFwcC5NTigpLmdldEN1cnJlbnRUaW1lKCkqMUUzPkQmJihXPVhlaihuLFcpLzFFMyxEPW4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKSx4cihuLFcse30sRCwiX3VwZGF0ZSIpKX07CiRhcj1mdW5jdGlvbihuKXtuJiZuIT09IndlYiImJnRZaS5pbmNsdWRlcyhuKX07CnVScj1mdW5jdGlvbihuLFcpe3JldHVybiBXPyEhbi5OLmdldChXKTohMX07CnJFUz1mdW5jdGlvbihuLFcpe24uZGF0YXNldC52ZXJzaW9uPVd9OwpzOHI9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuUkIsRD0oKT0+e24uRU49bmV3IGcuYnIoMCwwLDAsMCk7bi5JMD1uZXcgZy5icigwLDAsMCwwKX0sYj1oPT57aC5nZXRWaWRlb0RhdGEoKSYmbi51cGRhdGVWaWRlb0RhdGEoaC5nZXRWaWRlb0RhdGEoKSl9LHY9KGgseCk9PntuLmYxKGgseCl9LGs9aD0+e24ubkImJlhTKG4pOwpxNyhuKSE9PW4uUDAmJm4ucmVzaXplKCk7bi5hcHAuRygpLlMoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZuLm04JiYoaC5zdGF0ZS5pc1BhdXNlZCgpP24ubTgucGF1c2UoKTpoLlhRKDgpJiZuLm04LnBsYXlTdGF0ZT09PSJwYXVzZWQiJiZuLm04LnBsYXkoKSl9OwpXLmFkZEV2ZW50TGlzdGVuZXIoImluaXRpYWxpemluZ21vZGUiLEQpO1cuYWRkRXZlbnRMaXN0ZW5lcigidmlkZW9wbGF5ZXJyZXNldCIsYik7Vy5hZGRFdmVudExpc3RlbmVyKCJ2aWRlb2RhdGFjaGFuZ2UiLHYpO1cuYWRkRXZlbnRMaXN0ZW5lcigicHJlc2VudGluZ3BsYXllcnN0YXRlY2hhbmdlIixrKTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57Vy5yZW1vdmVFdmVudExpc3RlbmVyKCJpbml0aWFsaXppbmdtb2RlIixEKTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpZGVvcGxheWVycmVzZXQiLGIpO1cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlkZW9kYXRhY2hhbmdlIix2KTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInByZXNlbnRpbmdwbGF5ZXJzdGF0ZWNoYW5nZSIsayl9KX07ClllaT1mdW5jdGlvbihuKXt2YXIgVz1uLkV6KCksRD0xLGI9ITEsdj1OTncobixXLG4uZ2V0VmlkZW9Bc3BlY3RSYXRpbygpKSxrPW4uYXBwLkcoKSxoPWsuUygiZW5hYmxlX2Rlc2t0b3BfcGxheWVyX3VuZGVybGF5IikseD1GbigpLEw9Zy5kTShrLmV4cGVyaW1lbnRzLCJwbGF5ZXJfdW5kZXJsYXlfbWluX3BsYXllcl93aWR0aCIpO0w9aCYmbi5hSCYmbi5nZXRQbGF5ZXJTaXplKCkud2lkdGg+TDtpZihxNyhuKSl7dmFyIGU9cGVVKG4pO3ZhciBHPWlzTmFOKGUpfHxnLlJnfHxuciYmZy5Hbnx8TDtnLk1MJiYhZy5aWCg2MDEpP2U9di5hc3BlY3RSYXRpbzpHPUd8fGsuY29udHJvbHNUeXBlPT09IjMiO0c/TD8oRz1rLlMoInBsYWNlX3NocnVua2VuX3ZpZGVvX29uX2xlZnRfb2ZfcGxheWVyIik/MTY6bi5nZXRQbGF5ZXJTaXplKCkud2lkdGgtVy53aWR0aC0xNixlPU1hdGgubWF4KChuLmdldFBsYXllclNpemUoKS5oZWlnaHQtVy5oZWlnaHQpLzIsMCksRz1uZXcgZy5icihHLGUsVy53aWR0aCwKVy5oZWlnaHQpLG4ubkIuc3R5bGUuc2V0UHJvcGVydHkoImJvcmRlci1yYWRpdXMiLCIxMnB4IikpOkc9bmV3IGcuYnIoMCwwLFcud2lkdGgsVy5oZWlnaHQpOihEPXYuYXNwZWN0UmF0aW8vZSxHPW5ldyBnLmJyKChXLndpZHRoLXYud2lkdGgvRCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aC9ELHYuaGVpZ2h0KSxEPT09MSYmZy5HbiYmKGU9Ry53aWR0aC1XLmhlaWdodCplLGU+MCYmKEcud2lkdGgrPWUsRy5oZWlnaHQrPWUpKSk7Zy5pSChuLmVsZW1lbnQsInl0cC1maXQtY292ZXItdmlkZW8iLE1hdGgubWF4KEcud2lkdGgtdi53aWR0aCxHLmhlaWdodC12LmhlaWdodCk8MSk7aWYoeHx8bi5jSSluLm5CLnN0eWxlLmRpc3BsYXk9IiI7bi5QMD0hMH1lbHNle0c9LVcuaGVpZ2h0O2cuTUw/Ryo9d2luZG93LmRldmljZVBpeGVsUmF0aW86Zy5zbSYmKEctPXdpbmRvdy5zY3JlZW4uaGVpZ2h0KTtHPW5ldyBnLmJyKDAsRyxXLndpZHRoLFcuaGVpZ2h0KTtpZih4fHxuLmNJKW4ubkIuc3R5bGUuZGlzcGxheT0KIm5vbmUiO24uUDA9ITF9dlkobi5FTixHKXx8KG4uRU49RyxnLkRmKGspPyhuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJ3aWR0aCIsRy53aWR0aCsicHgiLCJpbXBvcnRhbnQiKSxuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLEcuaGVpZ2h0KyJweCIsImltcG9ydGFudCIpKTpOdChuLm5CLEcuZ2V0U2l6ZSgpKSxHPW5ldyBnLk1ZKEcubGVmdCxHLnRvcCksYj1uLm5CLHg9TWF0aC5yb3VuZChHLngpLHggaW5zdGFuY2VvZiBnLk1ZPyhrPXgueCx4PXgueSk6KGs9eCx4PU1hdGgucm91bmQoRy55KSksYi5zdHlsZS5sZWZ0PXNqKGssITEpLGIuc3R5bGUudG9wPXNqKHgsITEpLGI9ITApO1c9bmV3IGcuYnIoKFcud2lkdGgtdi53aWR0aCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aCx2LmhlaWdodCk7dlkobi5JMCxXKXx8KG4uSTA9VyxiPSEwKTtnLmgxKG4ubkIsInRyYW5zZm9ybSIsRD09PTE/IiI6YHNjYWxlWCgke0R9KWApO2gmJkwhPT1uLlp4JiYoTCYmKG4ubkIuYWRkRXZlbnRMaXN0ZW5lcihHQSwKbi5reiksbi5uQi5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uY2FuY2VsIixuLmt6KSxuLm5CLmNsYXNzTGlzdC5hZGQoZy5Pbi5WSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORykpLG4uWng9TCxuLmFwcC5SQi5XSigicGxheWVyVW5kZXJsYXlWaXNpYmlsaXR5Q2hhbmdlIixuLlp4PyJ0cmFuc2l0aW9uaW5nIjoiaGlkZGVuIikpO3JldHVybiBifTsKWFM9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuRygpLmNvbnRyb2xzVHlwZT09PSIzIiYmIW4ud0YmJnE3KG4pJiYhbi5hcHAuc2p8fCExO24ubkIuY29udHJvbHM9VztuLm5CLnRhYkluZGV4PVc/MDotMTtuLmFwcC5HKCkuSiYmKG4ubkIuYXJpYUhpZGRlbj0idHJ1ZSIpO1c/bi5uQi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCk6bi5uQi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCl9OwpwZVU9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuTU4oKTtpZihXPVc/Vy5nZXRWaWRlb0RhdGEoKTpudWxsKXtpZihnLkhUKFcpfHxnLmZBKFcpfHxnLkpEKFcpKXJldHVybiAxNi85O2lmKE1zKFcpJiZXLlcuTigpKXJldHVybiBuPVcuVy52aWRlb0luZm9zWzBdLnZpZGVvLHRiKG4ud2lkdGgsbi5oZWlnaHQpfXJldHVybihuPW4ubkIpP3RiKG4udmlkZW9XaWR0aCxuLnZpZGVvSGVpZ2h0KToxNi85fTsKdGI9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWF0aC5hYnMoJHIqVy1uKTwxfHxNYXRoLmFicygkci9uLVcpPDE/JHI6bi9XfTsKTk53PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQsaz10YihXLndpZHRoLFcuaGVpZ2h0KTtuLnJVP3Y9RDxrP0luZmluaXR5OjA6aXNOYU4obi5WUik/aXNOYU4obi5mVCl8fCh2PW4uZlQpOnY9bi5WUjtpc0Zpbml0ZSh2KT92PT09MCYmbi5hcHAuRygpLlp0KCkuTi5RUShIZngpJiYodj1NYXRoLm1pbihELGspKTp2PU1hdGgubWF4KEQsayk7bj12Pms/e3dpZHRoOlcud2lkdGgsaGVpZ2h0Olcud2lkdGgvdixhc3BlY3RSYXRpbzp2fTp2PGs/e3dpZHRoOlcuaGVpZ2h0KnYsaGVpZ2h0OlcuaGVpZ2h0LGFzcGVjdFJhdGlvOnZ9Ont3aWR0aDpXLndpZHRoLGhlaWdodDpXLmhlaWdodCxhc3BlY3RSYXRpbzprfTtifHxpc05hTihEKXx8KEQ+dj9uLndpZHRoPW4uaGVpZ2h0KkQ6RDx2JiYobi5oZWlnaHQ9bi53aWR0aC9EKSxuLmFzcGVjdFJhdGlvPUQpO3JldHVybiBufTsKcTc9ZnVuY3Rpb24obil7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTEpcmV0dXJuITE7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTYpcmV0dXJuITA7dmFyIFc9bi5hcHAuTU4oKTtpZighV3x8Vy5KbigpKXJldHVybiExO249bi5hcHAuUkIuZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtXPSFuLk4oMil8fFcmJlcuZ2V0VmlkZW9EYXRhKCkuSzt2YXIgRD1uLk4oMTAyNCk7cmV0dXJuIG4mJlcmJiFEJiYhbi5pc0N1ZWQoKX07CmZHUz1mdW5jdGlvbihuKXtpZihuLmNzbiE9PWcuUnYoKSlpZihuLmNzbj09PSJVTkRFRklORURfQ1NOIiluLmNzbj1nLlJ2KCk7ZWxzZXt2YXIgVz1nLlJ2KCksRD13NCgpO2lmKFcmJkQpe24uY3NuPVc7Zm9yKGxldCBiIG9mIG4uZWxlbWVudHMpe2xldCB2PWIudmlzdWFsRWxlbWVudDt2JiZ2LmlzQ2xpZW50VmUoKSYmVyYmRCYmKGcubCgiY29tYmluZV92ZV9ncmFmdHMiKT9PMyhJZigpLHYsRCk6UFYodWcpKHZvaWQgMCxXLEQsdikpfX1pZihXKWZvcihsZXQgYiBvZiBuLk4pKG49Yi52aXN1YWxFbGVtZW50KSYmbi5pc0NsaWVudFZlKCkmJkZqKFcsbil9fTsKSkViPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLlk2KXtuLlk2PW4uRChuLlkpO3RyeXtsZXQgRD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt2YXIgVz1zZXRUaW1lb3V0KCgpPT57RC5yZWplY3QoInRpbWVvdXQiKX0sMUU0KTsKbi5ZNi5vbmVycm9yPSgpPT57RC5yZWplY3QoImVycm9yIil9OwpuLlk2Lm9ubWVzc2FnZT0oKT0+e0QucmVzb2x2ZSgpO2NsZWFyVGltZW91dChXKX07CmF3YWl0IEQucHJvbWlzZTtuLlk2Lm9ubWVzc2FnZT1udWxsO24uWTYub25lcnJvcj1udWxsO24uWTYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+dm9pZCBuLnJlY2VpdmUoYikpOwpuLlUoIndvcmtlckN0b3IiLHt9KX1jYXRjaChEKXtjbGVhclRpbWVvdXQoVyksbi5ZNj8udGVybWluYXRlKCksbi5ZNi5vbm1lc3NhZ2U9bnVsbCxuLlk2Lm9uZXJyb3I9bnVsbCxuLlk2PXZvaWQgMCxuLlUoIndvcmtlckVyciIse2U6YCR7RH1gfSl9fX07CklHdz1mdW5jdGlvbihuLFcpe2lmKG4uTiYmbi5OLmJ5dGVMZW5ndGg9PT1XKXJldHVybiBuLk47Zm9yKHZhciBEPW5ldyBVaW50OEFycmF5KFcpLGI9MDtXPjA7KXtsZXQgdj1uZXcgVWludDhBcnJheShNYXRoLm1pbihXLDY1NTM2KSk7Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyh2KTtELnNldCh2LGIpO1ctPXYubGVuZ3RoO2IrPXYubGVuZ3RofXJldHVybiBuLk49RH07ClNlMT1mdW5jdGlvbihuLFcpe24uWTYmJihXPUlHdyhuLFcpLFcubGVuZ3RoPjAmJldbMF0rKyxXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjEsYTk6e2RhdGE6V319LG4ucmVxdWVzdChXKSl9OwpBRWk9YXN5bmMgZnVuY3Rpb24obil7bi5KIT09dm9pZCAwfHxuLld8fChuLlc9ITAsYXdhaXQgSkViKG4pLG4uVz0hMSxuLlk2JiYoU2UxKG4sbi5LKSxuLko9c2V0SW50ZXJ2YWwoKCk9Pnt2YXIgVz1bMSwyLDMsNF07bi5CQiYmKFcucHVzaCg1KSxuLlgmJlcucHVzaCg2KSk7c3dpdGNoKFdbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKlcubGVuZ3RoKV0pe2Nhc2UgMTpTZTEobixuLmopO2JyZWFrO2Nhc2UgMjpuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZToyLGx4OntwbGFjZWhvbGRlcjohMH19LG4ucmVxdWVzdChXKSk7YnJlYWs7Y2FzZSAzOlc9bi5NdztuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZTozLHEwOntNdzpXfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDQ6bi5ZNiYmKFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NCxpc1R5cGVTdXBwb3J0ZWQ6e3BsYWNlaG9sZGVyOiEwfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDU6bi5CQiYmCihXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjUseTg6e0JCOm4uQkJ9fSxuLnJlcXVlc3QoVykpO2JyZWFrO2Nhc2UgNjp2YXIgRD1uLmo7Vz1uLlM3O24uWTYmJihEPUlHdyhuLEQpLFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NixKTDp7ZGF0YTpELFM3Old9fSxuLnJlcXVlc3QoVykpfX0sbi5pbnRlcnZhbE1zKSkpfTsKcjU9ZnVuY3Rpb24obixXLEQpe24uc2VuZE1lc3NhZ2Uoe1sxNjFdOjIsWzExNl06VyxbMTM5XTpEfSl9OwpaZnc9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi50Yi5HKCksRD1XLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKS50cnVzdGVkUGxheWJhY2tXb3JrZXJVcmw7aWYoRD1wdyhEfHxudWxsKSluLlk2PVhNKEQpLG4uTj1uZXcgbWFVKG4uWTYpLG4uWTYuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntnLlhqKGIuZXJyb3IpfSksbi5ZNi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixiPT57dmFyIHY9Yi5kYXRhOwpiPXZbMTE4XTt2YXIgaz12WzE4MF07aWYoaylmb3IodmFyIGggb2Yga1sxMjJdKShrPW4uVy5nZXQoaFsxMTldKSkmJktMWihrLGhbMTUxXSk7c3dpdGNoKGJbMTYxXSl7Y2FzZSAxOmxldCB7WzEwM106ZSxbM106R309YlsxN107c3dpdGNoKGUpe2Nhc2UgMTpsZXQgW3IsTl09RztuLnRiLmNsZWFyUXVldWUocixOKTticmVhaztjYXNlIDI6W2JdPUc7bi50Yi5vblBsYXllclJlcXVlc3RTZW50KGIpO2JyZWFrO2Nhc2UgMzpsZXQgW0gsQSx5XT1HO2lmKGI9eT9uLkouZ2V0KHkpOm51bGwpYj1iLmdldFZpZGVvRGF0YSgpLG4udGIuVmEoSCxBLGIpO2JyZWFrO2Nhc2UgNDpsZXQgW1QseixDXT1HO2I9bi5YLmdldCh6KTtpZighYil0aHJvdyBFcnJvcihgVW5rbm93biBtaXJyb3JlZCBDdWVSYW5nZTogJHt6fWApO24udGIuQ0ooVCxiLEMpO2JyZWFrO2Nhc2UgNTpbYl09RzsoYj1uLkouZ2V0KGIpKSYmbi50Yi5ueShiLmdldFZpZGVvRGF0YSgpKTticmVhaztjYXNlIDY6W2JdPUc7KGI9Cm4uSi5nZXQoYikpJiZuLnRiLmZMKGIuZ2V0VmlkZW9EYXRhKCkpO2JyZWFrO2Nhc2UgNzpuLnRiLkdjKCk7YnJlYWs7ZGVmYXVsdDpnLnBiKGUsdm9pZCAwKX1icmVhaztjYXNlIDI6dj1uLk47aD1iWzExNl07Yj1iWzEzOV07az12Lk4uZ2V0KGgpO3RyeXtrJiZrLnJlamVjdChiKX1maW5hbGx5e3YuTi5kZWxldGUoaCl9YnJlYWs7Y2FzZSAzOnY9bi5OO2g9YlsxMTZdO2I9YlsxMzldO2s9di5OLmdldChoKTt0cnl7ayYmay5yZXNvbHZlKGIpfWZpbmFsbHl7di5OLmRlbGV0ZShoKX1icmVhaztjYXNlIDQ6T2Z0KG4sdik7YnJlYWs7Y2FzZSA1OmJyZWFrO2Nhc2UgNjpiPXZbMTE4XTtoPW4uSy5nZXQoYls5OF0pO3Y9dlsxMzhdO2lmKGgpe2xldCB7WzEwM106cixbM106Tn09YlsxN107c3dpdGNoKHIpe2Nhc2UgImxvYWQiOmgubG9hZCguLi5OKTt2JiZyNShuLk4sdik7YnJlYWs7Y2FzZSAicGxheSI6Yj1oLnBsYXkoLi4uTik7diYmc1oobix2LGJ8fHZvaWQgMCk7YnJlYWs7Y2FzZSAicGF1c2UiOmgucGF1c2UoLi4uTiksCnYmJnI1KG4uTix2KX19YnJlYWs7Y2FzZSA3OmlmKHY9bi5LLmdldChiWzk4XSkpe3ZhciB7WzEzNV06eCxbMTY1XTpMfT1iWzE0NF07Yj12LmVfKCk7c3dpdGNoKHgpe2Nhc2UgImN1cnJlbnRUaW1lIjpiLmN1cnJlbnRUaW1lPUw7YnJlYWs7Y2FzZSAiZGVmYXVsdFBsYXliYWNrUmF0ZSI6Yi5kZWZhdWx0UGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAibG9vcCI6Yi5sb29wPUw7YnJlYWs7Y2FzZSAibXV0ZWQiOmIubXV0ZWQ9TDticmVhaztjYXNlICJwbGF5YmFja1JhdGUiOmIucGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAic3JjIjpMPyhiPW4uRC5nZXQoTCkpJiZ2LnM1KGIpOih2LlZRKCksdi5lJCgpKTticmVhaztkZWZhdWx0OmcucGIoeCx2b2lkIDApfX1icmVhaztjYXNlIDg6aWYodj1uLlcuZ2V0KGJbMTE5XSkpe2xldCB7dHlwZTpyLGFyZ3M6TixsVDpIfT17dHlwZTpiWzQ3XVsxNjFdLGFyZ3M6Yls0N11bM10sbFQ6Wy4uLmJbNDddWzNdXX07c3dpdGNoKHIpe2Nhc2UgImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiOmI9Ck5bMF1bNV07di52aWRlb0RhdGEuWD1iP09OKGIpOm51bGw7SFswXT12LnZpZGVvRGF0YTticmVhaztjYXNlICJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIjpiPU5bMF1bNDhdO3YudmlkZW9EYXRhLko9Yj9PTihiKTpudWxsO0hbMF09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiOmI9TlsxXTtoPSEhdi52aWRlb0RhdGEuZ2V0UGxheWVyUmVzcG9uc2UoKTt6Zih2LnZpZGVvRGF0YSx7cmF3X3BsYXllcl9yZXNwb25zZTpiWzEyNV18fHZvaWQgMH0sIWgsITEpO0hbMV09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaGVhcnRiZWF0cGFyYW1zIjpiPU5bMF07SFswXT17dXJsOmJbMTYyXSxpbnRlcnZhbDpiWzU2XSxyZXRyaWVzOmJbMTQwXX07YnJlYWs7Y2FzZSAibm9uZmF0YWxlcnJvciI6Yj1OWzBdO0hbMF09bmV3IGcuQ2koYls0NV0sYlszOF0sYlsxNDVdKTticmVhaztjYXNlICJzdGF0ZWNoYW5nZSI6Yj1OWzBdO2g9TXdoKGJbMTUxXSk7SFswXT0KbmV3IGcuTjcoaCxNd2goYlsxMTNdKSk7di5wbGF5ZXJTdGF0ZT1oO2JyZWFrO2Nhc2UgInZpZGVvZWxlbWVudGV2ZW50IjpIWzBdPW5ldyBQQlModi5tZWRpYUVsZW1lbnQsTlswXVsxNjFdKX12LmV2ZW50cy5XSihyLC4uLkgpfWJyZWFrO2Nhc2UgOTpuLkQuc2V0KGJbMTAxXSxiWzEwMF0pO2JyZWFrO2RlZmF1bHQ6Zy5wYihiLHZvaWQgMCl9fSksbi5ZNi5wb3N0TWVzc2FnZSh7dHlwZToiQk9PVFNUUkFQIiwKZGF0YTp7aG9zdG5hbWU6d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLGhyZWY6d2luZG93LmxvY2F0aW9uLmhyZWYscHJvdG9jb2w6d2luZG93LmxvY2F0aW9uLnByb3RvY29sLHNlYXJjaDp3aW5kb3cubG9jYXRpb24uc2VhcmNoLHl0Q29uZmlnOntJTk5FUlRVQkVfSE9TVF9PVkVSUklERTp3aW5kb3cubG9jYXRpb24ub3JpZ2luLC4uLmcucWkueXQuY29uZmlnX319fSksbi5zZW5kTWVzc2FnZSh7WzE2MV06MyxbMTc1XTpXLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKX0pfTsKc1o9ZnVuY3Rpb24obixXLEQpe0Q/RC50aGVuKGI9PntyNShuLk4sVyxiKX0sYj0+e24uTi5zZW5kTWVzc2FnZSh7WzE2MV06MSwKWzExNl06VyxbMTM5XTpifSl9KTpyNShuLk4sVyxudWxsKX07Ck9mdD1mdW5jdGlvbihuLFcpe3ZhciBEPVdbMTE4XTtzd2l0Y2goRFsxMDNdKXtjYXNlIDE6bGV0IFtiLHYsa109RFszXTtEPW4udGIuZFEoYix2LGspOyhXPVdbMTM4XSkmJnNaKG4sVyxEKTticmVhaztjYXNlIDI6bGV0IFtoLHhdPURbM107RD1VYWgoeCxoKTsoVz1XWzEzOF0pJiZzWihuLFcsQWUoU2soRCxMPT4oe1sxNl06Zy5sWihMKSxbMTQ2XToiYzFhImluIEwuUlI/IWcudVouaXNJbml0aWFsaXplZCgpOiExfSkpKSk7CmJyZWFrO2Nhc2UgMzpEPW4udGIueWYoKTsoVz1XWzEzOF0pJiZzWihuLFcsRCk7YnJlYWs7ZGVmYXVsdDpnLnBiKERbMTAzXSx2b2lkIDApfX07CnlFMj1mdW5jdGlvbihuKXt2YXIgVz1uLnRiLkcoKSxEPW4udGIubGooKSxiPW4udGIuaGgoKSx2PUQuZ2V0UGxheWVyU2l6ZSgpO0Q9RC5FeigpO1c9e1syM106bi50Yi5GbigpLFs0NF06e1sxXTpXLlMkLFsxMjRdOlcuQ3UsWzEzMV06Vy55RSxbMTQzXTpXLmpXLFsxNTVdOlcuRVp9LFs1OV06bi50Yi5FOCgpLFs2MV06bi50Yi52MygpLFs2Nl06bi50Yi5pc0Z1bGxzY3JlZW4oKSxbNjddOiExLFs3MF06bi50Yi5qSSgpLFs3MV06bi50Yi5pc0lubGluZSgpLFs3Ml06bi50Yi5CUCgpLFs3M106bi50Yi5pc011dGVkKCksWzc1XTpuLnRiLmlzT3JjaGVzdHJhdGlvbkxlYWRlcigpLFs3N106bi50Yi5BbigpLFs4MF06ITEsWzgyXTohMSxbODNdOm4udGIuU0koKSxbODRdOm4udGIuUTAoKSxbMTA2XTpuLnRiLmlzTXV0ZWQoKSxbMTI2XTp7WzE3OV06di53aWR0aCxbNTNdOnYuaGVpZ2h0fSxbMTMzXTpuLnRiLk1OKCkuSEwoKSxbMTM0XTpuLnRiLk1OKCkuVXUoKSxbMTY2XTp7WzE3OV06RC53aWR0aCwKWzUzXTpELmhlaWdodH0sWzE3MV06YixbMTc0XTpuLnRiLmdldFZvbHVtZSgpfTtiPVtdO2ZvcihsZXQgW2ssaF1vZiBuLlcuZW50cmllcygpKXY9ayxEPWguZ2V0VmlkZW9EYXRhKCksYi5wdXNoKHtbMTE5XTp2LFsxNTFdOntbMTY3XTp7WzI1XTpELlJEfX19KTtuLlkmJk9iamVjdC5hc3NpZ24oVyx7WzY3XTpuLnRiLkhvKCksWzgwXTpuLnRiLmdXKCksWzgyXTpuLnRiLmRUKCl9KTtyZXR1cm57WzJdOlcsWzEyMl06Yn19OwpFJE09ZnVuY3Rpb24obixXKXt2YXIgRD1gbWFpbi5jdWVSYW5nZToke24uTysrfWA7aWYobi5YLmdldChEKSlyZXR1cm4gRDtuLlguc2V0KEQsVyk7bi5qLnNldChXLEQpO3JldHVybiBEfTsKaWZDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qLmdldChXKTtpZihEKXJldHVybiBuLmouZGVsZXRlKFcpLG4uWC5kZWxldGUoRCksRH07CktMWj1mdW5jdGlvbihuLFcpe1cmJihPYmplY3QuYXNzaWduKG4uTixXKSxuLmF1ZGlvVHJhY2s9RGMoV1s3XSksbi5YPVhMUyhXWzE0N10pLFc9V1sxNjddKSYmKG4udmlkZW9EYXRhLlR3PVdbMThdLG4udmlkZW9EYXRhLmNhcHRpb25UcmFja3M9V1syMF0ubWFwKEQ9PlZ3KEQpKSxuLnZpZGVvRGF0YS53YT1XWzIxXSxuLnZpZGVvRGF0YS5PJD1XWzE5XSxuLnZpZGVvRGF0YS5HQz1XWzMwXSxuLnZpZGVvRGF0YS52WD1EYyhXWzM1XSksbi52aWRlb0RhdGEuU3c9V1sxNzZdKX07CnU4Yj1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtyZXR1cm4gbi5mYSh7WzE2MV06OSxbMTddOlcsWzExOV06RH0pfTsKZy5wSj1mdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtuLnNlbmRNZXNzYWdlKHtbMTYxXTo5LFsxN106VyxbMTE5XTpEfSl9OwpZcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goe1sxNTBdOm4uc3RhcnQoRCksWzQyXTpuLmVuZChEKX0pO3JldHVybiBXfTsKbyRVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJlc9PT0yPyhuLkIuWnQoKS5OLlFRKEhmKT9uLlZyLk4/LmlzQWQoKT8/ITE6bi5Rdz8uTmQobi5nZXRDdXJyZW50VGltZSgpKSk/bi5pdTotMTpXIT09Mnx8bi5MWSgpP24uaXU6bi5CJH07CnY3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNqJiZuLmdldFZpZGVvRGF0YSgpLm11dGVkQXV0b3BsYXl9Owp2YXIgbXR4PWZ1bmN0aW9uKG4pe3JldHVybiBYRFtJWzEwXV0odGhpcywxNiw0MDI5LG4pfTsKZko9ZnVuY3Rpb24obixXLEQpe1cmJihXPW4uVkUoe3BsYXllclR5cGU6RH0pLFc9PT1uLmNYKCkmJihXLmdldFZpZGVvRGF0YSgpLlBYPSEwKSl9OwpKYj1mdW5jdGlvbihuLFcsRD0hMCxiLHYsayl7dmFyIGg9bi5WRSh7cGxheWVyVHlwZTp2fSkseD1oLmdldFZpZGVvRGF0YSgpO2guZ2V0UGxheWVyVHlwZSgpPT09MiYmIW4uTFkoaCkmJiF4LmlzU2Vla2FibGV8fGcucEEoeCl8fChoJiZoPT09bi5jWCgpJiZuLkhOJiYhZGF0KG4sVykmJm4uc2V0TG9vcFJhbmdlKG51bGwpLG4uc2Vla1RvKFcsRCxiLHYsaywiX3JlcXVlc3QiKSl9OwpBYj1mdW5jdGlvbihuLFcpe1c9bi5WRSh7cGxheWVyVHlwZTpXfSk7Vz1nLklYKG4sVyk7cmV0dXJuIFNhKG4sVy5QRygpLFcpfTsKUGY9ZnVuY3Rpb24obixXLEQpe24uQi5iTiYmKG4uRl89VyxXLm11dGVkfHxLSihuLCExKSxEJiZuLkIuc3RvcmVVc2VyVm9sdW1lJiYhbi5CLnM1JiYoRD17dm9sdW1lOk1hdGguZmxvb3IoVy52b2x1bWUpLG11dGVkOlcubXV0ZWR9LEQudW5zdG9yYWJsZXx8KGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQpLGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQsMjU5MkUzKSkpLE9aKG4pLEQ9Zy5vZCYmbi5tZWRpYUVsZW1lbnQmJiFuLm1lZGlhRWxlbWVudC5YXygpJiYhbi5tZWRpYUVsZW1lbnQuVEMoKSxuLkIuczUmJiFEfHxnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIix7bXV0ZWQ6Vy5tdXRlZCx2b2x1bWU6Vy52b2x1bWUsdW5zdG9yYWJsZTohbi5CLnN0b3JlVXNlclZvbHVtZX0pKX07ClZTPWZ1bmN0aW9uKG4pe3JldHVybiBuLmNYKCkuZ2V0VmlkZW9EYXRhKCl9Owp6djI9ZnVuY3Rpb24obixXPSExKXt2YXIgRD0hMTtuLkIuR0MmJihuLlJCLldKKCJwYWdlVHJhbnNpdGlvbiIpLEQ9ITApO24uc3RvcFZpZGVvKEQsVyl9OwpVWj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtXPXtpZDpXLG5hbWVzcGFjZTpoPz8iYXBwYXBpIn07az09PSJjaGFwdGVyIj8oVy5zdHlsZT1aTC5DSEFQVEVSX01BUktFUixXLnZpc2libGU9ITApOmlzTmFOKHYpfHwoaz09PSJhZCI/Vy5zdHlsZT1aTC5BRF9NQVJLRVI6KFcuc3R5bGU9WkwuVElNRV9NQVJLRVIsVy5jb2xvcj12KSxXLnZpc2libGU9ITApO24uWEgoW25ldyBnLmw1KEQqMUUzLGIqMUUzLFcpXSwxKTtyZXR1cm4hMH07CmxHdz1mdW5jdGlvbihuLFcsRD0hMCxiLHYpe3ZhciBrPW4uVkUoe3BsYXllclR5cGU6MX0pLGg9MDtrLmdldFN0cmVhbVRpbWVPZmZzZXQoKSYmIWsuU1coKSYmKGg9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO0piKG4sVy1oLEQsYiwxLHYpfTsKajgyPWZ1bmN0aW9uKG4pe2lmKG4uQi5zdG9yZVVzZXJWb2x1bWUpcmV0dXJuIHJQKCk7dmFyIFc9bi5pc0lubGluZSgpfHxuLndlYlBsYXllckNvbnRleHRDb25maWcuY29udGV4dElkPT09IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0lOTElORV9QUkVWSUVXIjtyZXR1cm4gbi5adCgpLk4uUVEoVE5DKSYmVz97dm9sdW1lOnJQKCkudm9sdW1lLG11dGVkOm4uQi5tdXRlfTp7dm9sdW1lOjEwMCxtdXRlZDpuLkIubXV0ZX19OwpDQlM9ZnVuY3Rpb24obixXLEQsYix2LGs9ITApe3ZhciBoPW4uaEMoKTtpZighaClyZXR1cm4gayYmbi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjayYmbi5KVi5wdXNoKHtpZDpXLFd1OkQsdHY6Yn0pLCExO2s9aC1uLmdldEN1cnJlbnRUaW1lKCk7cmV0dXJuIFVaKG4sVyxELWssYi1rLHZvaWQgMCx2b2lkIDAsdil9Owp5Wj1mdW5jdGlvbihuLFcpe24ucGxheWxpc3QmJihnLkNwKG4ucGxheWxpc3QpLG4ucGxheWxpc3Q9bnVsbCk7VyYmKG4uWlYmJihXLmZldGNoPTApLG4ucGxheWxpc3Q9bmV3IEJOYihuLkIsVykpfTsKaWw9ZnVuY3Rpb24obixXLEQpe1c9bi5WRSh7cGxheWVyVHlwZTpEfSkuTnAoVyk7RCYmbi5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpIT09RHx8RVoobiwiY3VlcmFuZ2VzcmVtb3ZlZCIsVyl9OwpVYWg9ZnVuY3Rpb24obixXKXtyZXR1cm4gSFAobmV3IGcuRkxVKHtwSzpXLGNsaWVudFBsYXliYWNrTm9uY2U6bn0pKX07CndlVT1mdW5jdGlvbihuLFcsRCxiPUluZmluaXR5LHY9MCl7dmFyIGs9bi5NTigpO0Q9RHx8ay5nZXRQbGF5ZXJUeXBlKCk7KGs9dWwobixELFcsITApKXx8KGs9b1gobixELFcsITApKTtXPW4uY1goKTtEPT09MiYmVyYmKEQ9ay5nZXRWaWRlb0RhdGEoKSxXLlV5KEQuY2xpZW50UGxheWJhY2tOb25jZSxELkZGfHwiIixELmJyZWFrVHlwZXx8MCxELllLLEQudmlkZW9JZHx8IiIpKTtuLldwKGssYiwwLHYpfTsKTVlNPWZ1bmN0aW9uKG4pe3ZhciBXPW4ud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmw7cmV0dXJuIFc/cHcoVykudG9TdHJpbmcoKTpuLndlYlBsYXllckNvbnRleHRDb25maWcuanNVcmx9OwpSdlo9ZnVuY3Rpb24obil7dmFyIFc9IiIsRD0iIixiPU1ZTShuKSx2PWcubGYoYiwiY2IiKTt2JiYvXltcdy1dKyQvLnRlc3QodikmJihEPXYpO2IuaW5kZXhPZigiLy8iKT09PTAmJihiPW4uQi5wcm90b2NvbCsiOiIrYik7dj1iLmxhc3RJbmRleE9mKCIvYmFzZS5qcyIpO3YhPT0tMSYmKFc9Yi5zdWJzdHJpbmcoMCx2KzEpKTtpZihiPUVycm9yKCkuc3RhY2spaWYoYj1iLm1hdGNoKC9cKCguKj9cLyhkZWJ1Zy0pP3BsYXllci0uKj8pOlxkKzpcZCtcKS8pKWI9YlsxXSxiLmluY2x1ZGVzKFcpfHxnLkdxKEVycm9yKGBQbGF5ZXIgbW9kdWxlIFVSTCBtaXNtYXRjaDogJHtifSB2cyAke1d9LmApKTtXPW5ldyBnLmQ1KG4uUkIsVyxEKTtqTGooVyx7ZGVzdHJveWVkOigpPT57bi5vbkFwaUNoYW5nZSgpfX0pOwpyZXR1cm4gV307ClE4eD1mdW5jdGlvbihuKXtpZihuLkIuWnQoKS5OLlFRKG5hKSl7bi5tUS50aWNrKCJ3YXNtX3MiKTtsZXQgVz1FZChuLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCx2b2lkIDAsbi5JbC5iaW5kKG4pKTtuLkIuZUI9U2soVyxEPT57bi5tUS50aWNrKEQuaXNBc21qcz8id2FzbV9mYSI6Indhc21fZnciKTtKdShuLkIsRCk7cmV0dXJuIER9LEQ9PntuLm1RLnRpY2soIndhc21fZmVyciIpOwp0aHJvdyBEO30pfWVsc2UgT28obixmdW5jdGlvbigpe3ZhciBXPXRoaXM7CnJldHVybiBmdW5jdGlvbiooKXtXLm1RLnRpY2soIndhc21fcyIpO3ZhciBEPVFZKFcueDYpP2I9PlNrKERyWihXLng2KSx2PT52LmdCKGIpKTp2b2lkIDA7CnRyeXtsZXQgYj1FZChXLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCxELFcuSWwuYmluZChXKSksdj15aWVsZCpQUChiKTtXLm1RLnRpY2sodi5pc0FzbWpzPyJ3YXNtX2ZhIjoid2FzbV9mdyIpO0p1KFcuQix2KX1jYXRjaChiKXtXLm1RLnRpY2soIndhc21fZmVyciIpfX0oKX0pfTsKVll4PWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBnLlVyKG4uQixuLk5RKTtuLlJCLldKKCJpbml0aWFsdmlkZW9kYXRhY3JlYXRlZCIsVyk7cmV0dXJuIG9YKG4sMSxXLCExKX07CmFHMT1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7Vy5zZXRQbGF5YmFja1JhdGUobi5CLko/MTpjRXIobixOdW1iZXIoZy5aSSgieXQtcGxheWVyLXBsYXliYWNrLXJhdGUiKSl8fDEpKTtXLmgkKG4uWkwsbik7Vy5zbSgpfTsKVzJ3PWZ1bmN0aW9uKG4pe24uamgoKTt2YXIgVz1uLk5RO3pBKG4pO24uZXZlbnRzLk5OKHdpbmRvdywicmVzaXplIixuLkE2KTt2YXIgRD1WUyhuKTtnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIixuLkZfKTtpZihXJiZaVChXKSl7bGV0IGI9dkUobi5CKTtiJiYhbi5aViYmKFcuZmV0Y2g9MCk7bGV0IHY9Zy5vNChuLkIpO3YmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9wcl9zIik7aWYoIWJ8fG4uWlYpaWYodiYmIW4uWlYpbGwobik7ZWxzZSBpZighRC5PVigpKW4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSl9bi5RVChuLmNYKCksITEsITApOwpuLmNYKCkuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCl8fChXPWhnUyghbi5CLmRldmljZUlzQXVkaW9Pbmx5KSxXPT09ImZtdC5ub25lYXZhaWxhYmxlIj9uLktnKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsIm5vY29kZWNzLjEiKTpXPT09Imh0bWw1Lm1pc3NpbmdhcGkiP24uS2coVywyLCJVTlNVUFBPUlRFRF9ERVZJQ0UiLCJub2NhbnBsYXltZWRpYS4xIik6RCYmRC5PVigpJiZDSihuKSYmKG4uQi5VNXx8bi5CLk1kKT9CZihuKTpELkpHP24uUkIubXV0ZWRBdXRvcGxheSh7ZHVyYXRpb25Nb2RlOkQubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZX0pOmcuWkkoInl0LXBsYXllci1wbGF5YmFjay1vbi1yZWxvYWQiKT8oZy56VSgiZW1iZWRzSXRwUGxheWVkT25SZWxvYWQiLHtwbGF5ZWRPblJlbG9hZDohMCxpc0xvZ2dlZEluOiEhbi5CLlRDfSksZy5QQigieXQtcGxheWVyLXBsYXliYWNrLW9uLXJlbG9hZCIsITEpLEJmKG4pKToKbi5CLlk9PT0ibGVhbmJhY2sifHxuNWoobiksZy5lTShuLkIpfHxnLnNkKG4uQik/KGcuY0IoZy5EeSgpLCgpPT57RlMobil9KSxnLmNCKGcuRHkoKSwoKT0+e3g1KCl9KSk6KEZTKG4pLHg1KCkpKX07CkRlYj1mdW5jdGlvbihuKXt2YXIgVz1EPT57RC5zdGFjayYmRC5zdGFjay5pbmRleE9mKCJwbGF5ZXIiKSE9PS0xJiZuLk1OKCkuVWUoRCl9OwpTaS5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTtLdy5wdXNoKFcpO3JldHVybigpPT57U2kudW5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTt2YXIgRD1Ldy5pbmRleE9mKFcpO0QhPT0tMSYmS3cuc3BsaWNlKEQsMSl9fTsKb1g9ZnVuY3Rpb24obixXLEQsYix2KXtpZihuLmZnJiZELk9WKCkpbj1uZXcgZy53NShuLkIsbi5mZyxXLEQpO2Vsc2V7bGV0IGs9bi5tUTtXPT09MiYmKGs9bmV3IGJjUyhuLkIpKTtXPW5ldyBnLk03KG4sbi5CLFcsayxuLnRlbXBsYXRlLG4udmlzaWJpbGl0eSxuLmlqLEQsdixuLmRoLG4uaTcpO24uQi5adCgpLk4uUVEodjVpKSYmbi5uVChELmNsaWVudFBsYXliYWNrTm9uY2UpO249bmV3IGcuUlgoVyl9YiYmbi5zbSgpO3JldHVybiBufTsKY0VyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5SQi5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7Vz1OdW1iZXIoVy50b0ZpeGVkKDIpKTtuPURbMF07RD1EW0QubGVuZ3RoLTFdO1c8PW4/Vz1uOlc+PUQ/Vz1EOihuPU1hdGguZmxvb3IoVyoxMDArLjAwMSklNSxuIT09MCYmKFctPW4qLjAxLFc9TWF0aC5mbG9vcihXKjEwMCsuMDAxKS8xMDApKTtyZXR1cm4gV307ClZaPWZ1bmN0aW9uKG4pe1FaKG4pO24uc2V0TG9vcFZpZGVvKCExKTtuLnNldExvb3BSYW5nZShudWxsKTtuLlJCLldKKCJsZWdhY3lhZHRyYWNraW5ncGluZ3Jlc2V0Iik7bi5hbD17fTtuLkpWPVtdO1pCaihuLm1RKTtpZihuLlF3KXt2YXIgVz1uLlF3LEQ9bi5jWCgpO0QuZ2V0UGxheWVyVHlwZSgpO0NPKFcsITEpO25KKFcpO2NSYihXKTtXLmdzPUR9Vz1uLnNVO249bi5jWCgpO24uZ2V0UGxheWVyVHlwZSgpIT09MSYmZy5MSihXLCJpbnZhbGlkUGFyZW50VmlkZW9QbGF5ZXJUeXBlIik7REwoVywhMSk7Zy5nNShXKTtXLk49bn07Cmswaj1mdW5jdGlvbihuKXt2YXIgVz1uLm1lZGlhRWxlbWVudDt6aSgpP24ua1YuTk4oVywid2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQiLG4udFcpOndpbmRvdy5kb2N1bWVudC5waWN0dXJlSW5QaWN0dXJlRW5hYmxlZCYmKG4ua1YuTk4oVywiZW50ZXJwaWN0dXJlaW5waWN0dXJlIiwoKT0+e24ucEwoITApfSksbi5rVi5OTihXLCJsZWF2ZXBpY3R1cmVpbnBpY3R1cmUiLCgpPT57bi5wTCghMSl9KSk7Cnc4JiYobi5rVi5OTihXLCJ3ZWJraXRiZWdpbmZ1bGxzY3JlZW4iLCgpPT57bi5GTygzKX0pLG4ua1YuTk4oVywid2Via2l0ZW5kZnVsbHNjcmVlbiIsKCk9PntuLkZPKDApfSkpfTsKekE9ZnVuY3Rpb24obil7bi5tZWRpYUVsZW1lbnQ9bi5CLmRldmljZUlzQXVkaW9Pbmx5P25ldyBnLkdWKGcuekYoIkFVRElPIikpOnFLLnBvcCgpfHxuZXcgZy5HVihnLnpGKCJWSURFTyIpKTtuLkIuWnQoKS5OLlFRKGNmKXx8Zy51KG4sbi5tZWRpYUVsZW1lbnQpO24uTU4oKS5zZXRNZWRpYUVsZW1lbnQobi5tZWRpYUVsZW1lbnQpO3RyeXtuLkIuczU/KG4uR3YmJm4uZXZlbnRzLndIKG4uR3YpLG4uR3Y9bi5ldmVudHMuTk4obi5tZWRpYUVsZW1lbnQsInZvbHVtZWNoYW5nZSIsbi56ZCkpOihuLm1lZGlhRWxlbWVudC5jSihuLkZfLm11dGVkKSxuLm1lZGlhRWxlbWVudC5zZXRWb2x1bWUobi5GXy52b2x1bWUvMTAwKSl9Y2F0Y2godil7bi5LZygiaHRtbDUubWlzc2luZ2FwaSIsMiwiVU5TVVBQT1JURURfREVWSUNFIixgc2V0dm9sdW1lLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09Im9iamVjdCImJiJtZXNzYWdlImluIHYmJnR5cGVvZiB2Lm1lc3NhZ2U9PT0ic3RyaW5nIiYmdi5tZXNzYWdlLnJlcGxhY2UoL1s7OixdL2csCiJfIil9YCk7cmV0dXJufW4ua1YuSigpO2swaihuKTt2YXIgVz1uLnRlbXBsYXRlLEQ9bi5tZWRpYUVsZW1lbnQuZV8oKTtXLm5CPUQ7Vy53Rj0hMTtXLm5CLnBhcmVudE5vZGV8fGcuanAoVy5WUCxXLm5CLDApO1cuRU49bmV3IGcuYnIoMCwwLDAsMCk7WWVpKFcpO1hTKFcpO0Q9Vy5uQjtnLlVJKEQsInZpZGVvLXN0cmVhbSIpO2cuVUkoRCxnLk9uLk1BSU5fVklERU8pO3ZhciBiPVcuYXBwLkcoKTtiLmxRJiZELnNldEF0dHJpYnV0ZSgiZGF0YS1uby1mdWxsc2NyZWVuIiwidHJ1ZSIpO2IueGgmJihELnNldEF0dHJpYnV0ZSgid2Via2l0LXBsYXlzaW5saW5lIiwiIiksRC5zZXRBdHRyaWJ1dGUoInBsYXlzaW5saW5lIiwiIikpO2IuSkcmJlcubkImJlcuTk4oRCwiY2xpY2siLEQucGxheSxEKTt0cnl7bi5tZWRpYUVsZW1lbnQuRCgpfWNhdGNoKHYpe24uS2coImh0bWw1Lm1pc3NpbmdhcGkiLDIsIlVOU1VQUE9SVEVEX0RFVklDRSIsYGFjdGl2YXRlLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09CiJvYmplY3QiJiYibWVzc2FnZSJpbiB2JiZ0eXBlb2Ygdi5tZXNzYWdlPT09InN0cmluZyImJnYubWVzc2FnZS5yZXBsYWNlKC9bOzosXS9nLCJfIil9YCl9fTsKRVo9ZnVuY3Rpb24obixXLEQpe24uUkIuV0ooVyxEKTt2YXIgYj1nLms2KG4uQil8fGcuRGYobi5CKXx8Zy5NVihuLkIpO2lmKEQmJmIpe2xldCB2O3N3aXRjaChXKXtjYXNlICJjdWVyYW5nZW1hcmtlcnN1cGRhdGVkIjp2PSJvbkN1ZVJhbmdlTWFya2Vyc1VwZGF0ZWQiO2JyZWFrO2Nhc2UgImN1ZXJhbmdlc2FkZGVkIjp2PSJvbkN1ZVJhbmdlc0FkZGVkIjticmVhaztjYXNlICJjdWVyYW5nZXNyZW1vdmVkIjp2PSJvbkN1ZVJhbmdlc1JlbW92ZWQifXYmJmcuUlQobi5SQix2LEQubWFwKGs9Pih7Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH0sZW5kOmsuZW5kLGlkOmsuZ2V0SWQoKSxuYW1lc3BhY2U6ay5uYW1lc3BhY2U9PT0iYWQiPyJhZCI6IiIsc3RhcnQ6ay5zdGFydCxzdHlsZTprLnN0eWxlLHZpc2libGU6ay52aXNpYmxlLG1hcmtlclBvc2l0aW9uTXM6ay5tYXJrZXJQb3NpdGlvbk1zfSkpKX19OwpoZDE9ZnVuY3Rpb24obixXPSEwKXt2YXIgRDtpZihEPW4uckgpe0Q9bi5ySDt2YXIgYj1uLm1lZGlhRWxlbWVudDtEPSEhYiYmYj09PUQubWVkaWFFbGVtZW50fUQmJihuLmNQKCksekEobikpO0Q9bi5NTigpO0QuY1AoIVcpO0QuTTkobi5zRixuKTtELmdldFBsYXllclR5cGUoKSE9PTEmJkQuZGlzcG9zZSgpO249bi5WcjtXPVtuLkpdO24uSj1uLmNKO1NzKG4sW10sVyl9OwpueD1mdW5jdGlvbihuLFcsRCxiKXtEJiYobi5jUCgpLHpBKG4pKTtEPW4uTU4oKTtELnhLKFcpO3ZhciB2PW4uZ2V0VmlkZW9EYXRhKCksaz17fTtrLnZpZGVvX2lkPXYudmlkZW9JZDtrLmFkZm9ybWF0PXYuYWRGb3JtYXQ7di5pc0xpdmVQbGF5YmFja3x8KGsuc3RhcnQ9RC5nZXRDdXJyZW50VGltZSgpLGsucmVzdW1lPSIxIik7di5pc0xpdmVQbGF5YmFjayYmSTQodikmJmcuR2wobi5CKSYmKGsubGl2ZV91dGNfc3RhcnQ9RC5oQygpLGsucmVzdW1lPSIxIik7di5EJiYoay52dnQ9di5EKTt2LmtXJiYoay52c3NfY3JlZGVudGlhbHNfdG9rZW49di5rVyxrLnZzc19jcmVkZW50aWFsc190b2tlbl90eXBlPXYuUXYpO3Yub2F1dGhUb2tlbiYmKGsub2F1dGhfdG9rZW49di5vYXV0aFRva2VuKTtrLmF1dG9wbGF5PTE7ay5yZWxvYWRfY291bnQ9di5TJCsxO2sucmVsb2FkX3JlYXNvbj1XO3Yub1QmJihrLnVucGx1Z2dlZF9wYXJ0bmVyX29wdF9vdXQ9di5vVCk7di5MQiYmKGsueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXI9CnYuTEIpO3YucGxheWVyUGFyYW1zJiYoay5wbGF5ZXJfcGFyYW1zPXYucGxheWVyUGFyYW1zKTt2LnR3JiYoay5pdGN0PXYudHcpO24ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGssdm9pZCAwLCEwLHZvaWQgMCx2b2lkIDAsYik7Vz09PSJzaWduYXR1cmUiJiZuLlF3JiZhWChuKX07CkwyTT1mdW5jdGlvbihuKXtpZigheGVyKG4pKXt2YXIgVz1uLmNYKCkuaDUoKTtXJiYoVz1XLmJkKCksVyBpbnN0YW5jZW9mIFByb21pc2UmJlcuY2F0Y2goKCk9Pnt9KSk7CldxKG4sVFgobi5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSl9fTsKeGVyPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXlsaXN0JiYoZy5DTihuLkIpfHxuLkIuWT09PSJiYWNrZ3JvdW5kX2F1ZGlvX3BsYXliYWNrIikmJm4ueGwoKT8obi5uZXh0VmlkZW8oITEsITApLCEwKTohMX07CldxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpLGI9RC5nZXRQbGF5ZXJUeXBlKCk7aWYoYiE9PTJ8fG4uTFkoKSl7aWYoYj09PTImJm4uTFkoKXx8Yj09PTV8fGI9PT02fHxiPT09NylpZihXPT09LTF8fFc9PT0wfHxXPT09NSlyZXR1cm47aWYoVz09PTApe2lmKG4uSE4pcmV0dXJuO2lmKEQuY0coKSYmZy5rNihuLkIpKXtuLnBsYXlWaWRlbygpO3JldHVybn19bi5pdSE9PVcmJihuLml1PVcsZy5WVShuLlJCLCJvblN0YXRlQ2hhbmdlIixXKSl9ZWxzZSBuLkIkIT09VyYmKG4uQiQ9VyxnLlZVKG4uUkIsIm9uQWRTdGF0ZUNoYW5nZSIsVykpfTsKREY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5Wci5WRShXKX07CmcuSVg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5MWShXKT9uLmNYKCk6V307CmJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpO3JldHVybiBXPT09bi5jWCgpJiZuLkxZKFcpJiZuLkxZKEQpP0Q6V307CnZxPWZ1bmN0aW9uKG4pe249R3Uobi54Nik7cmV0dXJuISFuJiZuLmxvYWRlZH07CmVkUz1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpLEQ9bi54NjtWWShEKXx8RC5YKCk7IVVkJiZRWShEKSYmYU1VKEQpO3c5KEQsImVtYmVkIik7dzkoRCwia2lkcyIpO3c5KEQsInJlbW90ZSIpO3c5KEQsIm1pbmlwbGF5ZXIiKTt3OShELCJvZmZsaW5lIik7dzkoRCwidW5wbHVnZ2VkIik7dzkoRCwieXBjIiwhMSwhMCk7dzkoRCwid2ViZ2wiLCExLCEwKTtuRGooRCl8fCh3OShELCJjYXB0aW9ucyIsITApLHc5KEQsImVuZHNjcmVlbiIpLEQuTigpLHc5KEQsImNyZWF0b3JlbmRzY3JlZW4iLCEwKSk7RC5ZKCk7RC5BLldKKCJtb2R1bGVzQ3JlYXRlZCIpO24uUkIuV0ooInZpZGVvcmVhZHkiLFcpfTsKYVg9ZnVuY3Rpb24obil7aWYoIXZxKG4pKXtsZXQgVz1URyhuLng2KTtXJiYhVy5jcmVhdGVkJiZSRyhuLng2KSYmVy5jcmVhdGUoKX19OwpPWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpO2lmKCFXLnlsKXt2YXIgRDtuLkIuZXhwZXJpbWVudHMuRXEoImh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb24iKSYmVy5ob3N0Q3BuJiYoRD1raShuLFcuaG9zdENwbik/LmdldFZpZGVvRGF0YSgpLmhnLmooKSk7Vz1uLkIuczU/MTpyNihXLmhnLEQpO0Q9bi5tZWRpYUVsZW1lbnQ7RC5jSihuLkZfLm11dGVkKTt0cnl7RC5zZXRWb2x1bWUobi5GXy52b2x1bWUqVy8xMDApfWNhdGNoe2cuR3EobmV3IGcuUXgoImIxODM3NDIzMDciLGBtdWx0aXBsaWVyOiAke1d9LCB2b2x1bWU6ICR7bi5GXy52b2x1bWV9YCkpfX19Owp2YXIgSjFaPWZ1bmN0aW9uKCl7cmV0dXJuIGVYW0lbMTBdXSh0aGlzLDY3LDQ4NDkpfTsKQ0o9ZnVuY3Rpb24obil7bj1WUyhuKTtuLk9WKCk7cmV0dXJuIEFEKG4pfTsKbGw9ZnVuY3Rpb24obixXKXt2YXIgRD0oVz9XOlZTKG4pKS5RNztuLm1RLnRpY2soImVwX3ByX3IiKTtpZihEIT1udWxsJiYodUF0KG4ucGxheWxpc3QsRCksbi5sSikpbi5wbGF5bGlzdC5vblJlYWR5KCgpPT57VEEobixXKX0pfTsKVEE9ZnVuY3Rpb24obixXKXt2YXIgRD1nLm80KG4uQikmJiFuLkIuTyxiPUQmJlc/VzppdihuLnBsYXlsaXN0KTtXPUQmJlc/VzpuLmdldFZpZGVvRGF0YSgpO2ImJihXLkd1JiYobi5CLlU1fHxuLkIuTWQpfHwhbi5LSD8oVz1XLlBYLGI9bi56MihiLDEpLFcmJmZKKG4sYikpOmhWKG4sYiwxKSk7Zy5vNChuLkIpJiZuLm1RLnRpY2soImVwX3BfbCIpO24ubEo9ITE7Zy5RVShuLlJCLCJvblBsYXlsaXN0VXBkYXRlIil9OwpCZj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoVy5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4hMTtXPVcuZ2V0VmlkZW9EYXRhKCk7Q0oobikmJm4uQi5NZCYmKHFLLmxlbmd0aCYmbi5zaj8oUGYobix7bXV0ZWQ6ITEsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMSkpOnFLLmxlbmd0aHx8bi5GXy5tdXRlZHx8KFBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpLEtKKG4sITApKSk7Q0oobikmJmcubzQobi5CKSYmVy5tdXRlZEF1dG9wbGF5JiYoUGYobix7bXV0ZWQ6ITAsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMCkpO1cuTjAmJlBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpO3VsKG4sMSxXLCExKTt2YXIgRD1uLmNYKCk7bi5SQi5XSigiaW5pdGlhbGl6aW5nbW9kZSIpO24uUVQoRCk7bi5HMigzKTt2YXIgYjtpZighKGI9IW4uQi5HUykpe2lmKGI9bi5ySCl7Yj1uLnJIO3ZhciB2PW4ubWVkaWFFbGVtZW50OwpiPSEhdiYmdj09PWIubWVkaWFFbGVtZW50fWI9YiYmbi5hQ31iJiYobi5jUCgpLHpBKG4pLEQuc2V0TWVkaWFFbGVtZW50KG4ubWVkaWFFbGVtZW50KSk7RC5uTCgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCkpcmV0dXJuITE7Vy5EdHx8V3EobiwzKTtyZXR1cm4gbi5hQz0hMH07Cm41aj1mdW5jdGlvbihuKXtuLlJCLldKKCJpbml0aWFsaXppbmdtb2RlIik7bi5HMigyKTt3OShuLng2LCJyZW1vdGUiKTt3OShuLng2LCJtaW5pcGxheWVyIil9OwpGUz1mdW5jdGlvbihuKXtpZighbi5TKCJ1c2VfcnRhX2Zvcl9wbGF5ZXIiKSlpZihuLlMoImZldGNoX2F0dF9pbmRlcGVuZGVudGx5IikpZy5KYShuLkNOKTtlbHNle3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkuYm90Z3VhcmREYXRhO1cmJmcuekMoVyxuLkIsbi5nZXRWaWRlb0RhdGEoKS5wS3x8IiIpfX07CktKPWZ1bmN0aW9uKG4sVyl7VyE9PW4uc2omJihuLnNqPVcsZy5RVShuLlJCLCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLFcpKX07CnVsPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXhpKG4sVyxEKSxrPW4uVnIuWC5nZXQodil8fG51bGw7aWYoIWspcmV0dXJuIG51bGw7bi5Wci5YLnJlbW92ZSh2KTtpZihrLnFOKCkpcmV0dXJuIG51bGw7aWYoay5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4gay5kaXNwb3NlKCksbnVsbDtpZihrPT09REYobix7cGxheWVyVHlwZTpXfSkpcmV0dXJuIG4ubVEuaW5mb0dlbCh7aXNDYWNoZUhpdDohMH0pLGs7aWYoKGsuZ2V0VmlkZW9EYXRhKCkub2F1dGhUb2tlbnx8RC5vYXV0aFRva2VuKSYmay5nZXRWaWRlb0RhdGEoKS5vYXV0aFRva2VuIT09RC5vYXV0aFRva2VuKXJldHVybiBudWxsO1c9PT0xJiYoVz1uLk1OKCkuZ2V0VmlkZW9EYXRhKCksQUooVykmJlcuaXNBZCgpJiZifHxRWihuKSk7Ynx8bi5RVChrLCEwKTtuLm1RLmluZm9HZWwoe2lzQ2FjaGVIaXQ6ITB9KTtyZXR1cm4ga307CmcuZzVoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKSxEPW4uZ2V0Q3VycmVudFRpbWUoKTtuPW4uZ2V0VmlkZW9EYXRhKCk7RD0xRTMqKEQtbi5zdGFydFNlY29uZHMpO24uaXNMaXZlUGxheWJhY2smJihEPTApO3JldHVybiBXLU1hdGgubWF4KEQsMCl9OwpkYXQ9ZnVuY3Rpb24obixXKXtpZighbi5ITilyZXR1cm4hMTt2YXIgRD1uLkhOLnN0YXJ0VGltZU1zKi4wMDEtMSxiPW4uSE4uZW5kVGltZU1zKi4wMDE7bi5ITi50eXBlPT09InJlcGVhdENoYXB0ZXIiJiZiLS07cmV0dXJuIE1hdGguYWJzKFctRCk8PTFFLTZ8fE1hdGguYWJzKFctYik8PTFFLTZ8fFc+PUQmJlc8PWJ9OwpYUXg9ZnVuY3Rpb24obil7dmFyIFc9bi5NTigpO2lmKG4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIikmJlcuZ2V0VmlkZW9EYXRhKCkuaXNBZCgpPzA6QUooVy5nZXRWaWRlb0RhdGEoKSkmJiFXLklLKCkpVz1BYihuKSoxRTMtbi5nZXRWaWRlb0RhdGEoKS5QTCxuPW4uVGUsaWwobi5hcHAsImdhcGxlc3NzaG9ydHNsb29wcmFuZ2UiKSxXPW5ldyBnLmw1KDAsVyx7aWQ6ImdhcGxlc3Nsb29wcmFuZ2UiLG5hbWVzcGFjZToiZ2FwbGVzc3Nob3J0c2xvb3ByYW5nZSJ9KSwobj1uLmFwcC5NTigpKSYmbi5hZGRDdWVSYW5nZShXKX07Ckcwaj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoIShXLmdldFBsYXllclN0YXRlKCkuTig2NCkmJlZTKG4pLmlzTGl2ZVBsYXliYWNrJiZuLkhOLnN0YXJ0VGltZU1zPDVFMykpe2lmKG4uSE4udHlwZT09PSJyZXBlYXRDaGFwdGVyIil7dmFyIEQ9RCQobi5KNSgpKT8uQjcoKTtsZXQgYj1uLmdldFZpZGVvRGF0YSgpPy5iJDtpZihEIGluc3RhbmNlb2YgcWhTJiZiKXtsZXQgdj0wO2ZvcihsZXQgayBvZiBiKXtpZihrLnN0YXJ0VGltZT5uLkhOLnN0YXJ0VGltZU1zKWJyZWFrO3YrK31ELnJlbmRlckNoYXB0ZXJTZWVraW5nQW5pbWF0aW9uKDAsYlt2PT09MD92OnYtMV0udGl0bGUpfWlzTmFOKE51bWJlcihuLkhOLmxvb3BDb3VudCkpP24uSE4ubG9vcENvdW50PTA6bi5ITi5sb29wQ291bnQrKztuLkhOLmxvb3BDb3VudD09PTEmJmcuUlQobi5SQiwiaW5uZXJ0dWJlQ29tbWFuZCIsbi5nZXRWaWRlb0RhdGEoKS5aTil9RD17cWQ6ImFwcGxpY2F0aW9uX2xvb3BSYW5nZVN0YXJ0In07CmlmKG4uSE4udHlwZT09PSJjbGlwcyJ8fG4uSE4udHlwZT09PSJzaG9ydHNMb29wIilELnNlZWtTb3VyY2U9NTg7Vy5zZWVrVG8obi5ITi5zdGFydFRpbWVNcyouMDAxLEQpfX07ClNhPWZ1bmN0aW9uKG4sVyxEKXtpZihuLkxZKEQpJiYoRD1ELmdldFZpZGVvRGF0YSgpLCFnLkx4KG4pKSl7bj1uLnNVO2Zvcih2YXIgYiBvZiBuLkopaWYoRC5LZj09PWIuS2Ype1crPWIub2EvMUUzO2JyZWFrfWI9Vztmb3IobGV0IHYgb2Ygbi5KKXtpZihELktmPT09di5LZilicmVhaztuPXYub2EvMUUzO2lmKG48VyliKz12LmR1cmF0aW9uTXMvMUUzK24tdi5kSS8xRTM7ZWxzZSBicmVha31yZXR1cm4gYn1yZXR1cm4gV307CmcuTHg9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJiEhbi5Rd307ClFaPWZ1bmN0aW9uKG4peyhuPVRHKG4uSjUoKSkpJiZuLmNyZWF0ZWQmJm4uZGVzdHJveSgpfTsKdHR3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkueWwsRD1uLkIuRHQsYj1uLmlzSW5saW5lKCkmJiFuLmdldFZpZGVvRGF0YSgpLnYxLHY9bi5tZWRpYUVsZW1lbnQ7V3x8RHx8Yj92LmZCKCk6KHYuTEIoKSxQZihuLG4uRl8pKX07CiRlVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5TKCJ3ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5lTShuLkIpfHxuLlMoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5zZChuLkIpfTsKeGk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLms2KG4uQikmJkQudkooKT9gJHtXfV8ke0QudmlkZW9JZH1fJHtELktmfWA6YCR7V31fJHtELnZpZGVvSWR9XyR7RC5LZn1fJHsrRC5pc0F1dG9uYXZ9JHsrRC5WVH1gfTsKcmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcmJm4uQi5MQiYmIW4uZ2V0VmlkZW9EYXRhKCk/LmJhY2tncm91bmRhYmxlPyhuLkZqP24uRmouc3RhcnQoKTpuLlZLKCksITApOiExfTsKc2FpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtpZihXKXRyeXtsZXQgaz1kZWNvZGVVUklDb21wb25lbnQoVyksaD1scChrKTt2YXIgYj1uZXcgQVIobmV3IFM1KFtoXSkpO3ZhciB2PVBHKGIsMzIpO0Q9TnVtYmVyKHZ8fDApfWNhdGNoKGspe24uY1goKS5VKCJnZXRfbHVzdHNfZXJyIix7fSl9cmV0dXJuIER9OwpoVj1mdW5jdGlvbihuLFcsRD0xKXtpZihXLk9WKCkpe3ZhciBiPW9YKG4sRCxXLCExKTtuLmNhbmNlbFBsYXliYWNrKDQsRCk7bi5RVChiKTtiLnNtKCk7RD09PTEmJihuLkcyKDEpLGcubzQobi5CKSYmIVpQKFcpPyhXLmRpc3Bvc2UoKSxuLmNYKCkuZGlzcG9zZSgpKTpuNWoobikpfWVsc2UgVy5kaXNwb3NlKCksKFc9REYobix7cGxheWVyVHlwZTpEfSkpJiZXLmRpc3Bvc2UoKSxQVChWUyhuKSkmJkQ9PT0yJiZuLlNvKCl9OwpOYWI9ZnVuY3Rpb24obixXLEQsYix2KXtXPVFzUyhXLEQsYix2KTsoRD1nLm80KG4uQikmJiFuLkIuTykmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3MiKTtpZihEJiYhbi5aVilEPVZTKG4pLHpicihELFcpLnRoZW4oaz0+e24ubEo9ITA7bGwobixrKX0pOwplbHNlIG4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSk7CmcubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3IiKX07CmtpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9REYobix7cGxheWVyVHlwZToxfSk7aWYoRCl7aWYoRC5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlPT09VylyZXR1cm4gRDtpZigobj1uLlNHLk4pJiZuLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2U9PT1XKXJldHVybiBufXJldHVybiBudWxsfTsKZW89ZnVuY3Rpb24obil7dmFyIFc9c1AoITApO3JldHVybiBXJiYoVz09PW4udGVtcGxhdGUuZWxlbWVudHx8bi5tZWRpYUVsZW1lbnQmJlc9PT1uLm1lZGlhRWxlbWVudC5lXygpKT9XOm51bGx9OwpZaGk9ZnVuY3Rpb24obixXKXt2YXIgRD13aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbjtpZihuLkIudHcmJkQmJkQubG9jayYmKCFnLm9kfHwhcFFqKSlpZihXKXtXPUQudHlwZS5pbmRleE9mKCJwb3J0cmFpdCIpPT09MDtsZXQgYj1uLnRlbXBsYXRlLmdldFZpZGVvQXNwZWN0UmF0aW8oKSx2PVc7YjwxP3Y9ITA6Yj4xJiYodj0hMSk7bi5KUiYmdj09PVd8fChEPUQubG9jayh2PyJwb3J0cmFpdCI6ImxhbmRzY2FwZSIpLEQhPW51bGwmJkQuY2F0Y2goKCk9Pnt9KSxuLkpSPSEwKX1lbHNlIG4uSlImJihuLkpSPSExLEQudW5sb2NrKCkpfTsKSGN0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5VeigpLGI9Vy5oNSgpO2lmKEQmJmImJm42KEQpKXt2YXIgdj1iLmlzVmlldygpP2IubWVkaWFFbGVtZW50OmI7bGV0IGg9Yi5pc1ZpZXcoKT9iLnN0YXJ0OjA7Yj1GZ2IoYikraDt2YXIgaz1MNihELGgsYiwhMCk7bGV0IHg9bmV3IGcuc2codixoLGIsITApO1cubm0oaywhMSwhMCwhMSk7Vy5zZXRNZWRpYUVsZW1lbnQoeCk7az1iKzEwO0Q9TDYoRCxrLEluZmluaXR5LCEwKTt2PW5ldyBnLnNnKHYsayxJbmZpbml0eSwhMSwhMCk7di5ISihEKTtuLlZxPXY7bi5CLldYKCkmJlcuVSgidXNtIix7cG1lOiEwLGNzOmgsY2U6YixuczprfSk7cmV0dXJuITB9cmV0dXJuITF9OwpmNmg9ZnVuY3Rpb24obixXKXtXLmJvdW5kcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBEPVsiZGlzcGxheSIsIm9wYWNpdHkiLCJ2aXNpYmlsaXR5IiwiekluZGV4Il07Zm9yKGxldCBiIG9mIEQpV1tiXT1YbShuLGIpO1cuaGlkZGVuPSEhbi5oaWRkZW59Owp2YXIgU2pVPWZ1bmN0aW9uKCl7cmV0dXJuIFhEW0lbMTBdXSh0aGlzLDQsMzA5NCl9Owp2YXIgSmoyPWZ1bmN0aW9uKG4pe3JldHVybiBuLm5hbWU9PT0iVHlwZUVycm9yIiYmbi5zdGFjay5pbmNsdWRlcygiL3MvcGxheWVyLyIpJiZFeigpPD0xMDV9LGdxPWZ1bmN0aW9uKG4sVyl7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBEPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uaituLlcpKTsKbGV0IGI9TWF0aC5taW4oRCtuLmNvbHVtbnMsbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgpLTE7Zm9yKDtEPD1iO0QrKyluLmFwaS5sb2dWaXNpYmlsaXR5KG4uTltEXS5lbGVtZW50LFcpfX0sWFA9ZnVuY3Rpb24obil7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke24uS31weGA7Cm4ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7bi5LfXB4YDt2YXIgVz1uLnNjcm9sbFBvc2l0aW9uLEQ9bi5jb250YWluZXJXaWR0aC1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aCoobi5qK24uVyk7Zy5pSChuLmVsZW1lbnQsInl0cC1zY3JvbGwtbWluIixXPj0wKTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1tYXgiLFc8PUQpfSxJNlo9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTA7VzxuLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDtXKyspe3ZhciBEPW4uc3VnZ2VzdGlvbkRhdGFbV107CmxldCBrPW4uTltXXTt2YXIgYj1ELnNob3J0Vmlld0NvdW50P0Quc2hvcnRWaWV3Q291bnQ6RC5hdXRob3I7bGV0IGg9RC5NZigpLHg9bi5hcGkuRygpO2lmKGcubzQoeCkmJiF4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciB2PXt9O011KG4uYXBpLFt2XSk7aD1nLkVUKGgsdil9ay5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi10aXRsZSIpO3FsLnRlc3QuY2FsbChxbCxELnRpdGxlKT92LmRpcj0icnRsIjpHZy50ZXN0LmNhbGwoR2csRC50aXRsZSkmJih2LmRpcj0ibHRyIik7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi1hdXRob3IiKTtxbC50ZXN0LmNhbGwocWwsYik/di5kaXI9InJ0bCI6R2cudGVzdC5jYWxsKEdnLGIpJiYodi5kaXI9Imx0ciIpO2sudXBkYXRlKHt2aWV3c19vcl9hdXRob3I6YixkdXJhdGlvbjpELmlzTGl2ZVBsYXliYWNrPyJMaXZlIjpELmxlbmd0aFNlY29uZHM/CmcuSDcoRC5sZW5ndGhTZWNvbmRzKToiIixsaW5rOmgsaG92ZXJfdGl0bGU6RC50aXRsZSx0aXRsZTpELnRpdGxlLGFyaWFfbGFiZWw6RC5hcmlhTGFiZWx8fG51bGwsaXNfbGl2ZTpELmlzTGl2ZVBsYXliYWNrfSk7Yj1ELkdCKCk7ay5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9Yj9gdXJsKCR7Yn0pYDoiIjt4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikmJihuLmFwaS5jcmVhdGVTZXJ2ZXJWZShrLmVsZW1lbnQsayksKEQ9KEQ9RC5zZXNzaW9uRGF0YSkmJkQuaXRjdCkmJm4uYXBpLnNldFRyYWNraW5nUGFyYW1zKGsuZWxlbWVudCxEKSl9Zm9yKDtXPG4uTi5sZW5ndGg7VysrKW4uTltXXS5lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiO1hQKG4pfSxTaFU9ZnVuY3Rpb24obixXLEQpe1cucHJldmVudERlZmF1bHQoKTsKbi5hcGkubG9nQ2xpY2soRCk7Vz1ELmdldEF0dHJpYnV0ZSgiaHJlZiIpO0Q9e307TXUobi5hcGksW0RdKTtXPWcuR0YoRCk/VzpnLkVUKFcsRCk7SkYoVyl9LEFqTT1mdW5jdGlvbihuLFcpe24uQkooInl0cC1lcnJvci1jb250ZW50Iikuc3R5bGUucGFkZGluZ1RvcD0iMHB4IjsKdmFyIEQ9bi5CSigieXRwLWVycm9yLWNvbnRlbnQiKSxiPUQuY2xpZW50SGVpZ2h0O24uTiYmbi5OLnJlc2l6ZShXLFcuaGVpZ2h0LWIpO0Quc3R5bGUucGFkZGluZ1RvcD1gJHsoVy5oZWlnaHQtKG4uTj9uLk4uZWxlbWVudC5jbGllbnRIZWlnaHQ6MCkpLzItYi8yfXB4YH0sSzJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcGkuRygpLGI7ClcucmVhc29uJiYodFYoVy5yZWFzb24pP2I9Zy5iZyhXLnJlYXNvbik6Yj12YyhnLkRwKFcucmVhc29uKSksbi5YKGIsImNvbnRlbnQiKSk7dmFyIHY7Vy5zdWJyZWFzb24mJih0VihXLnN1YnJlYXNvbik/dj1nLmJnKFcuc3VicmVhc29uKTp2PXZjKGcuRHAoVy5zdWJyZWFzb24pKSxuLlgodiwic3VicmVhc29uIikpO2lmKFcucHJvY2VlZEJ1dHRvbiYmVy5wcm9jZWVkQnV0dG9uLmJ1dHRvblJlbmRlcmVyKXtiPW4uQkooInl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uIik7Vz1XLnByb2NlZWRCdXR0b24uYnV0dG9uUmVuZGVyZXI7bGV0IGs9Zy56RigiQSIpO1cudGV4dCYmVy50ZXh0LnNpbXBsZVRleHQmJih2PVcudGV4dC5zaW1wbGVUZXh0LGsudGV4dENvbnRlbnQ9dixtZVUoYix2KXx8RC5EJiYhRC5lbWJlZHNFcnJvckxpbmtzfHwoRD1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy51cmwsVz1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy50YXJnZXQsCkQmJihrLnNldEF0dHJpYnV0ZSgiaHJlZiIsRCksbi5hcGkuY3JlYXRlQ2xpZW50VmUoayxuLDE3ODQyNCksbi5OTihrLCJjbGljayIsaD0+e1NoVShuLGgsayl9KSksVyYmay5zZXRBdHRyaWJ1dGUoInRhcmdldCIsVyksRD1nLnpGKCJESVYiKSxELmFwcGVuZENoaWxkKGspLGIuYXBwZW5kQ2hpbGQoRCkpKX19LHRWPWZ1bmN0aW9uKG4pe2lmKG4ucnVucylmb3IobGV0IFc9MDtXPG4ucnVucy5sZW5ndGg7VysrKWlmKG4ucnVuc1tXXS5uYXZpZ2F0aW9uRW5kcG9pbnQpcmV0dXJuITA7CnJldHVybiExfSxtZVU9ZnVuY3Rpb24obixXKXtuPShufHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkEiKTsKZm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspaWYobltEXS50ZXh0Q29udGVudD09PVcpcmV0dXJuITA7cmV0dXJuITF9LE9jYj1mdW5jdGlvbihuKXt2YXIgVz17fTsKTXUobi5hcGksW1ddKTtuPW4uYXBpLmdldFZpZGVvVXJsKCk7cmV0dXJuIG49Zy5FVChuLFcpfSxQMHQ9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCksRD1uLmFwaS5HKCkuYlYmJiFuLnN0YXRlLk4oMikmJiFuLmFwaS5nZXRWaWRlb0RhdGEoe3BsYXllclR5cGU6MX0pLmlOOwpXLm11dGVkQXV0b3BsYXl8fG4uTUwoRCk7bi5hcGkubG9nVmlzaWJpbGl0eShuLmVsZW1lbnQsRCl9LFVlaj1mdW5jdGlvbihuKXtuLndhdGVybWFya3x8KG4ud2F0ZXJtYXJrPW5ldyBaY3Iobi5hcGkpLGcudShuLG4ud2F0ZXJtYXJrKSxuLndhdGVybWFyay5MdShuLmJvdHRvbUJ1dHRvbnMsMCksZy5pSChuLndhdGVybWFyay5lbGVtZW50LCJ5dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrIiwhMCksbi5OPW5ldyBnLiRpKG4ud2F0ZXJtYXJrLDAsITAsMTAwKSxnLnUobixuLk4pKX0seWpqPWZ1bmN0aW9uKG4pe24uSiYmbi5OJiYobi5OLnNob3coKSxuLlYuc3RhcnQoKSl9LEU1VT1mdW5jdGlvbihuKXtmb3IobGV0IFc9MDtXPDE2OysrVyl7bGV0IEQ9bmV3IGcucnEoe1o6ImEiLApKdzoieXRwLXN1Z2dlc3Rpb24tbGluayIseGE6e2hyZWY6Int7bGlua319Iix0YXJnZXQ6bi5hcGkuRygpLllaLCJhcmlhLWxhYmVsIjoie3thcmlhX2xhYmVsfX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWltYWdlIn0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLW92ZXJsYXkiLHhhOntzdHlsZToie3tibGlua19yZW5kZXJpbmdfaGFja319IiwiYXJpYS1oaWRkZW4iOiJ7e2FyaWFfaGlkZGVufX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLXRpdGxlIixPcToie3t0aXRsZX19In0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWF1dGhvciIsT3E6Int7YXV0aG9yX2FuZF92aWV3c319In0se1o6ImRpdiIseGE6eyJkYXRhLWlzLWxpdmUiOiJ7e2lzX2xpdmV9fSJ9LEp3OiJ5dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbiIsT3E6Int7ZHVyYXRpb259fSJ9XX1dfSk7Zy51KG4sRCk7bGV0IGI9RC5CSigieXRwLXN1Z2dlc3Rpb24tbGluayIpO2cuaDEoYiwKInRyYW5zaXRpb25EZWxheSIsYCR7Vy8yMH1zYCk7bi5qLk5OKGIsImNsaWNrIix2PT57dmFyIGs9VztpZihuLlcpe3ZhciBoPW4uc3VnZ2VzdGlvbkRhdGFba10seD1oLnNlc3Npb25EYXRhO24uSyYmbi5hcGkuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKT8obi5hcGkubG9nQ2xpY2sobi5OW2tdLmVsZW1lbnQpLGs9aC5NZigpLGg9e30sTXUobi5hcGksW2hdKSxrPWcuRVQoayxoKSxSeShrLG4uYXBpLHYpKTpNcCh2LG4uYXBpLG4uSyx4fHx2b2lkIDApJiZuLmFwaS5NMihoLnZpZGVvSWQseCxoLnBsYXlsaXN0SWQpfWVsc2Ugdi5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpfSk7CkQuTHUobi5zdWdnZXN0aW9ucy5lbGVtZW50KTtuLk4ucHVzaChEKTtuLmFwaS5jcmVhdGVTZXJ2ZXJWZShELmVsZW1lbnQsRCl9fSxpY3I9ZnVuY3Rpb24obil7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBXPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uVis4KSk7CmxldCBEPU1hdGgubWluKFcrbi5jb2x1bW5zLG4uc3VnZ2VzdGlvbkRhdGEubGVuZ3RoKS0xO2Zvcig7Vzw9RDtXKyspbi5hcGkubG9nVmlzaWJpbGl0eShuLk5bV10uZWxlbWVudCwhMCl9fSxzNj1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS55WigpPzMyOjE2OwpXPW4uRC8yK1c7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke1d9cHhgO24ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7V31weGA7Vz1uLnNjcm9sbFBvc2l0aW9uO3ZhciBEPW4uY29udGFpbmVyV2lkdGgtbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgqKG4uVis4KTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1taW4iLFc+PTApO2cuaUgobi5lbGVtZW50LCJ5dHAtc2Nyb2xsLW1heCIsVzw9RCl9LG81dz1mdW5jdGlvbihuKXt2YXIgVz1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDsKZm9yKGxldCBrPTA7azxXOysrayl7dmFyIEQ9dm9pZCAwLGI9dm9pZCAwO2xldCBoPXZvaWQgMDtEPW47dmFyIHY9RC5hcGkuRygpO2xldCB4PUQuc3VnZ2VzdGlvbkRhdGFba10sTD1ELk5ba107aD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LnNob3J0Vmlld0NvdW50fHwiIjp4LnNob3J0Vmlld0NvdW50P2Ake3guYXV0aG9yfSBcdTIwMjIgJHt4LnNob3J0Vmlld0NvdW50fWA6eC5hdXRob3I7TC5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7Zy5oMShMLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJpbmxpbmUtYmxvY2siKTt1eWkudGVzdCh4LnRpdGxlKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLXRpdGxlIikuZGlyPSJydGwiKTt1eWkudGVzdChoKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLWF1dGhvciIpLmRpcj0icnRsIik7Yj14LmlzTGl2ZVBsYXliYWNrPyJMaXZlIjp4Lmxlbmd0aFNlY29uZHM/Zy5INyh4Lmxlbmd0aFNlY29uZHMpOiIiO2xldCBlPQp4Lk1mKEQuYXBpLmlzRW1iZWRzU2hvcnRzTW9kZSgpKTtpZihnLm80KHYpJiYhdi5TKCJ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtcyIpKXtsZXQgRz17fTtNdShELmFwaSxbR10pO2U9Zy5FVChlLEcpfXYuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKSYmKHY9KHY9eC5zZXNzaW9uRGF0YSkmJnYuaXRjdCkmJkQuYXBpLnNldFRyYWNraW5nUGFyYW1zKEwuZWxlbWVudCx2KTtMLnVwZGF0ZSh7YXV0aG9yX2FuZF92aWV3czpoLGR1cmF0aW9uOmIsbGluazplLHRpdGxlOngudGl0bGUsYXJpYV9sYWJlbDp4LmFyaWFMYWJlbHx8eC50aXRsZSxpc19saXZlOnguaXNMaXZlUGxheWJhY2ssYXJpYV9oaWRkZW46ISF4LmFyaWFMYWJlbCxibGlua19yZW5kZXJpbmdfaGFjazpnLm9kfHxyYz8id2lsbC1jaGFuZ2U6IG9wYWNpdHkiOnZvaWQgMH0pO2I9TC5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKTsKRD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LkdCKCJocTIuanBnIik6eC5HQigpO2Iuc3R5bGUuYmFja2dyb3VuZEltYWdlPUQ/YHVybCgke0R9KWA6IiJ9aWYoVzwxNilmb3IoO1c8MTY7KytXKWcuaDEobi5OW1ddLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJub25lIik7czYobil9LE5sPWZ1bmN0aW9uKG4pe2lmKCFuLlcpe3ZhciBXPU1hdGgubWluKCgwLGcuUikoKS1uLlYsbi5qKTsKdmFyIEQ9bi5qLVc7Vz1uLmo9PT0wPzA6TWF0aC5tYXgoRC9uLmosMCk7RD1NYXRoLnJvdW5kKEQvMUUzKTtuLlkuc2V0QXR0cmlidXRlKCJzdHJva2UtZGFzaG9mZnNldCIsYCR7LTIxMSooVysxKX1gKTtuLnVwZGF0ZVZhbHVlKCJkdXJhdGlvbiIsRCk7Vzw9MCYmbi5OP24uc3RvcFRpbWVyKCk6bi5OJiZuLk4uc3RhcnQoKX19LGRleD1mdW5jdGlvbihuKXtuLk58fChuLmo9NUUzLG4uVj0oMCxnLlIpKCksbi5OPW5ldyBnLnBfKCgpPT57Tmwobil9LG51bGwpLE5sKG4pKX0scHg9ZnVuY3Rpb24obil7dmFyIFc9bi5BOwpuPSEhVy5pc0VtYmVkc1Nob3J0c01vZGUoKTtnLmlIKFcuZ2V0Um9vdE5vZGUoKSwieXRwLXNob3J0cy1tb2RlIixuKTtpZihXPVcuZ2V0VmlkZW9EYXRhKCkpVy5TYT1ufSxUYXg9ZnVuY3Rpb24obil7e3ZhciBXPW4uQTsKbGV0IEQ9Vy5HKCk7RC5XaSYmIUQuRCYmZy5vNChEKT9XLmlzRW1iZWRzU2hvcnRzTW9kZSgpPyhXPVcuRTQoKSxXPU1hdGgubWluKFcud2lkdGgsVy5oZWlnaHQpPj0zMTUpOlc9IVcuejYoKTpXPSExfVchPT1uLkQmJihuLkQ9VyxuLmomJihuLmouZGlzcG9zZSgpLG4uaj1udWxsKSxuLlcmJihuLlcuZGlzcG9zZSgpLG4uVz1udWxsKSxuLlgmJihuLlguZGlzcG9zZSgpLG4uWD1udWxsKSxuLkomJihuLkouc3RvcCgpLG4uSi5kaXNwb3NlKCksbi5KPW51bGwpLFcmJihnLmI1KG4uQSksbi5BLmlzRW1iZWRzU2hvcnRzTW9kZSgpJiYobi5YPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1iYWNrZHJvcCIseGE6e3RhYkluZGV4OiItMSJ9fSksZy51KG4sbi5YKSxnLnJ2KG4uQSxuLlguZWxlbWVudCw0KSxuLko9bmV3IGcuJGkobi5YLDFFMywhMSwxMDApLGcudShuLG4uSiksbi5YLmhpZGUoKSksbi5qPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1jb250YWluZXIiLAp4YTp7dGFiSW5kZXg6Ii0xIn19KSxnLnUobixuLmopLG4uVz1uZXcgemRVKG4uQSksZy51KG4sbi5XKSxuLlcuTHUobi5qLmVsZW1lbnQpLGcucnYobi5BLG4uai5lbGVtZW50LDQpLGw2QyhuLG4uQS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSkpfSxsNkM9ZnVuY3Rpb24obixXKXtuLkomJighVy5OKDQpJiYhVy5OKDIpfHxXLk4oMTAyNCk/bi5KLmhpZGUoKTpuLkouc2hvdygpKX0sWWk9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkEuRygpOwpuPXthZFNvdXJjZToiRU1CRURTX0FEX1NPVVJDRV9ZT1VUVUJFIixicmVha1R5cGU6bi5BLmdldEN1cnJlbnRUaW1lKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QUkVfUk9MTCI6bi5BLmdldFBsYXllclN0YXRlKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QT1NUX1JPTEwiOiJFTUJFRFNfQURfQlJFQUtfVFlQRV9NSURfUk9MTCIsZW1iZWRVcmw6QUEobi5BLkcoKS5sb2FkZXJVcmwpLGV2ZW50VHlwZTpXLHlvdXR1YmVIb3N0OmcuSVAobi5BLkcoKS5EYSl8fCIifTtuLmVtYmVkZGVkUGxheWVyTW9kZT1ELmNKO2cuelUoImVtYmVkc0FkRXZlbnQiLG4pfSxudD1bXSxEaXg9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihuKXtmdW5jdGlvbiBXKCl7fQpXLnByb3RvdHlwZT1uO3JldHVybiBuZXcgV30sV1NDPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24obixXLEQpe2lmKG49PUFycmF5LnByb3RvdHlwZXx8bj09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gbjsKbltXXT1ELnZhbHVlO3JldHVybiBufSx4Mj1nbG9iYWxUaGlzLHZaPSJJbnQ4IFVpbnQ4IFVpbnQ4Q2xhbXBlZCBJbnQxNiBVaW50MTYgSW50MzIgVWludDMyIEZsb2F0MzIgRmxvYXQ2NCIuc3BsaXQoIiAiKTsKeDIuQmlnSW50NjRBcnJheSYmKHZaLnB1c2goIkJpZ0ludDY0IiksdloucHVzaCgiQmlnVWludDY0IikpO3ZhciBidFM9T2JqZWN0LnNldFByb3RvdHlwZU9mO2hpKCJTeW1ib2wuZGlzcG9zZSIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjpTeW1ib2woIlN5bWJvbC5kaXNwb3NlIil9KTsKaGkoIlN1cHByZXNzZWRFcnJvciIsZnVuY3Rpb24obil7ZnVuY3Rpb24gVyhELGIsdil7aWYoISh0aGlzIGluc3RhbmNlb2YgVykpcmV0dXJuIG5ldyBXKEQsYix2KTt2PUVycm9yKHYpOyJzdGFjayJpbiB2JiYodGhpcy5zdGFjaz12LnN0YWNrKTt0aGlzLm1lc3NhZ2U9di5tZXNzYWdlO3RoaXMuZXJyb3I9RDt0aGlzLnN1cHByZXNzZWQ9Yn0KaWYobilyZXR1cm4gbjt2MkMoVyxFcnJvcik7Vy5wcm90b3R5cGUubmFtZT0iU3VwcHJlc3NlZEVycm9yIjtyZXR1cm4gV30pOwpoaSgiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsIixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmZ1bmN0aW9uKFcsRCl7aWYoVyBpbnN0YW5jZW9mIFJlZ0V4cCYmIVcuZ2xvYmFsKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCBjYWxsZWQgd2l0aCBhIG5vbi1nbG9iYWwgUmVnRXhwIGFyZ3VtZW50LiIpO3JldHVybiBXIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShXLEQpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhXKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxEKX19KTsKaGkoIkFycmF5LnByb3RvdHlwZS5hdCIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjplVX0pOwpuMncoImF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJTdHJpbmcucHJvdG90eXBlLmF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJQcm9taXNlLndpdGhSZXNvbHZlcnMiLGZ1bmN0aW9uKG4pe3JldHVybiBuP246ZnVuY3Rpb24oKXt2YXIgVyxEO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGIsdil7Vz1iO0Q9dn0pLApyZXNvbHZlOlcscmVqZWN0OkR9fX0pO3ZhciBjSixTVSxrYnQ7Y0o9Y0p8fHt9O2cucWk9dGhpc3x8c2VsZjtTVT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtrYnQ9MDt2YXIgZV93PWNsYXNze2NvbnN0cnVjdG9yKHt1cmw6bixadjpXfSl7dGhpcy5KPW47dGhpcy5YPVc7dGhpcy5XPShuZXcgRGF0ZSkuZ2V0VGltZSgpLTE3MDQwNjcyRTU7dGhpcy5OPXt9O2Zvcih2YXIgRD0vWz8mXShbXiY9XSspPShbXiZdKikvZztXPUQuZXhlYyhuKTspdGhpcy5OW1dbMV1dPVdbMl19fTtnLml4KGcuVGIsRXJyb3IpO2cuVGIucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjt2YXIgSWg7dmFyIE5yaD0vJi9nLHBadz0vPC9nLFl3aT0vPi9nLEh0VT0vIi9nLGYxUz0vJy9nLEppWj0vXHgwMC9nLHNDaD0vW1x4MDAmPD4iJ10vO3ZhciBuYj1nbG9iYWxUaGlzLnRydXN0ZWRUeXBlcyxXTTt2YXIgYl89Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07Zy5laj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk59fTtnLlY1PW5ldyBnLmVqKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO3ZhciBYSSxnMmo7WEk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5PVj1ufX07Zy5HND1bcVUoImRhdGEiKSxxVSgiaHR0cCIpLHFVKCJodHRwcyIpLHFVKCJtYWlsdG8iKSxxVSgiZnRwIiksbmV3IFhJKG49Pi9eW146XSooWy8/I118JCkvLnRlc3QobikpXTsKZzJqPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7Zy5ZMz1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk4rIiJ9fTt2YXIgQUY9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07dmFyIFo0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19O3ZhciBMcD17fTt2YXIgQWlyLG1pMTtBaXI9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtnLno1PS8jfCQvO21pMT0vWz8mXSgkfCMpLzt2YXIgUUc9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihuLFcsRD1FcnJvcigpKXtzdXBlcigpO3RoaXMuY29kZT1uO1crPSI6IjtEIGluc3RhbmNlb2YgRXJyb3I/KHRoaXMubWVzc2FnZT1XK0QubWVzc2FnZSx0aGlzLnN0YWNrPUQuc3RhY2t8fCIiKToodGhpcy5tZXNzYWdlPVcrU3RyaW5nKEQpLHRoaXMuc3RhY2s9IiIpO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O2cuRk0ucHJvdG90eXBlLkhEPSExO2cuRk0ucHJvdG90eXBlLnFOPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSER9OwpnLkZNLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5IRHx8KHRoaXMuSEQ9ITAsdGhpcy5tQSgpKX07CmcuRk0ucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTsKZy5GTS5wcm90b3R5cGUuYWRkT25EaXNwb3NlQ2FsbGJhY2s9ZnVuY3Rpb24obixXKXt0aGlzLkhEP1chPT12b2lkIDA/bi5jYWxsKFcpOm4oKToodGhpcy5CVnx8KHRoaXMuQlY9W10pLFcmJihuPW4uYmluZChXKSksdGhpcy5CVi5wdXNoKG4pKX07CmcuRk0ucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7aWYodGhpcy5CVilmb3IoO3RoaXMuQlYubGVuZ3RoOyl0aGlzLkJWLnNoaWZ0KCkoKX07dmFyIFB4Uz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLndwYz1ufUgkKCl7cmV0dXJuIHRoaXMud3BjLmYoKX15aChuKXt0aGlzLndwYy5jKG4pfVcobil7cmV0dXJuIHRoaXMud3BjLm0oUlAobikpfVpSKG4pe3JldHVybiB0aGlzLndwYy5td3MoUlAobikpfX0sd1Q9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5PMT1uO3RoaXMuVz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTsKdGhpcy5KPXZvaWQgMDt0aGlzLk92PXRoaXMuTzEucDt0aGlzLlg9dGhpcy5TMS5iaW5kKHRoaXMpO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgT3RpKHRoaXMpKX1zbmFwc2hvdChuKXtyZXR1cm4gdGhpcy5PMS5zKHsuLi4obi53XyYme2M6bi53X30pLAouLi4obi5HbCYme3M6bi5HbH0pLC4uLihuLk1PIT09dm9pZCAwJiZ7cDpuLk1PfSl9KX1TMShuKXt0aGlzLk8xLmUobil9UUQoKXtyZXR1cm4gdGhpcy5PMS5sKCl9fTt2YXIgamExPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5iZD0xfXNoYXJlKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJFOkFEIik7dGhpcy5iZCsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuYmR8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciBDMHg9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsYnAoIm1rIikpfWRFKG4sVyl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvZnJzIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiKX19LEJhaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLko9bjtFdShuLCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIixicCgibW4iKSxEWCgiYWMiKSxEWCgic2MiKSxicCgicmsiKSxicCgibWsiKSl9ZEUobixXLEQsYix2LGspe3RoaXMuSi5kRSgiL2NsaWVudF9zdHJlYW16L2JnL3dybCIsbixXLEQsYix2LGspfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy93cmwiKX19LEYyWj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLGJwKCJlbiIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLApuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lYyIpfX0sd1FyPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuSj1uO0V1KG4sIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYnAoImVuIiksYnAoIm1rIikpfWRFKG4sVyxEKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0sTXQxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLERYKCJlYyIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LFJkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIixEWCgiY3MiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywKIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0sUWF4PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixicCgiYXYiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LFZ0aT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsYnAoInN1IiksYnAoIm1rIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxjang9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwKIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixicCgibWsiKSl9ZEUobixXKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIil9fSxhNnc9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGJwKCJldCIpLGJwKCJtayIpKX1kRShuLFcsRCl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9uIil9fTt2YXIgY1c9ITAsVjEsdjI7dmFyIEhxO0hxPU5pKDEsITApO2cucXg9TmkoNjEwNDAxMzAxLCExKTtOaSg4OTk1ODg0MzcsITEpO05pKDc3MjY1Nzc2OCwhMCk7TmkoNTEzNjU5NTIzLCExKTtOaSg1NjgzMzM5NDUsITApO05pKDEzMzE3NjE0MDMsITApO05pKDY1MTE3NTgyOCwhMSk7TmkoNzIyNzY0NTQyLCExKTtOaSg3NDg0MDIxNDUsITEpO05pKDc0ODQwMjE0NiwhMSk7dmFyIEF2PU5pKDc0ODQwMjE0NywhMCk7TmkoMTYwMjYxMzE4NSwhMSk7TmkoODYxMzc3NzIzLCExKTtOaSg4NjEzNzc3MjQsSHEpO05pKDg2OTMzNjkwMywhMSk7TmkoODgyNjc0NTA3LCExKTtOaSg4NjkzMzY5MDQsSHEpO05pKDg2OTMzNjkwNSxIcSk7TmkoMjgzOTUzMTU1LCExKTtOaSg5MTk0NDQ4MjQsITEpO05pKDkzMTQ2ODA0NywhMSk7TmkoOTI4ODc1Mzk4LCExKTtOaSg2ODM3NDkyMDEsITEpO05pKDIxNDc0ODM2NDQsITEpO05pKDIxNDc0ODM2NDUsITEpO05pKDIxNDc0ODM2NDYsSHEpO05pKDIxNDc0ODM2NDcsITApO2cuR2g9ISFnLnJyKCJ5dC5jb25maWdfLkVYUEVSSU1FTlRTX0ZMQUdTLmh0bWw1X2VuYWJsZV9jbGllbnRfaGludHNfb3ZlcnJpZGUiKTt2YXIgbnpiO256Yj1nLnFpLm5hdmlnYXRvcjtnLnQ0PW56Yj9uemIudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO2cuT0FbIiAiXT1mdW5jdGlvbigpe307dmFyIHJjLG5yLHBRaixXVVosRDRpLGJpVSxYdyxmeDtyYz1OeCgpO2cua2g9c0EoKT8hMTpnLnJXKCJUcmlkZW50Iil8fGcuclcoIk1TSUUiKTtnLlJnPWcuclcoIkVkZ2UiKTtnLnNtPWcuUmd8fGcua2g7Zy5lUz1nLnJXKCJHZWNrbyIpJiYhKGcud3IoZy5YUSgpLCJXZWJLaXQiKSYmIWcuclcoIkVkZ2UiKSkmJiEoZy5yVygiVHJpZGVudCIpfHxnLnJXKCJNU0lFIikpJiYhZy5yVygiRWRnZSIpO2cuWmw9Zy53cihnLlhRKCksIldlYktpdCIpJiYhZy5yVygiRWRnZSIpO25yPWcubXgoKTtwUWo9Zy5LMCgpO2cuUUg9Zy5JMigpO1dVWj1TdSgpO0Q0aT1nLnJXKCJpUGFkIik7YmlVPWcuclcoImlQb2QiKTtYdz1nLkE0KCk7Zy5XWD1nLndyKGcuWFEoKSwiS2FpT1MiKTsKYTp7bGV0IG49IiIsVz1mdW5jdGlvbigpe3ZhciBEPWcuWFEoKTtpZihnLmVTKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoRCk7aWYoZy5SZylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKEQpO2lmKGcua2gpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKEQpO2lmKGcuWmwpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoRCk7aWYocmMpcmV0dXJuLyg/OlZlcnNpb24pWyBcL10/KFxTKykvLmV4ZWMoRCl9KCk7ClcmJihuPVc/V1sxXToiIik7aWYoZy5raCl7dmFyIEpWO2xldCBEPWcucWkuZG9jdW1lbnQ7SlY9RD9ELmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoSlYhPW51bGwmJkpWPnBhcnNlRmxvYXQobikpe2Z4PVN0cmluZyhKVik7YnJlYWsgYX19Zng9bn12YXIgUDI9ZngsaXR4PXt9O3ZhciB3OCxNWDtnLmFvPXAwKCk7dzg9U3UoKXx8Zy5yVygiaVBvZCIpO01YPWcuclcoImlQYWQiKTtnLkltPWcuclcoIkFuZHJvaWQiKSYmIShZSygpfHxwMCgpfHxOeCgpfHxnLnJXKCJTaWxrIikpO2cub2Q9WUsoKTtnLkduPWcuSDIoKSYmIWcuQTQoKTt2YXIgeWw9e30sVGg9bnVsbDt2YXIganU9L1stXy5dL2csZGlVPXsiLSI6IisiLF86Ii8iLCIuIjoiPSJ9LHdXPXt9O3ZhciBGUT1jbGFzc3tpc0VtcHR5KCl7cmV0dXJuIHRoaXMuTj09bnVsbH1zaXplQnl0ZXMoKXt2YXIgbj1RbCh0aGlzKTtyZXR1cm4gbj9uLmxlbmd0aDowfWNvbnN0cnVjdG9yKG4sVyl7UjIoVyk7dGhpcy5OPW47aWYobiE9bnVsbCYmbi5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJCeXRlU3RyaW5nIHNob3VsZCBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vbi1lbXB0eSB2YWx1ZXMiKTt9fSxCMjt2YXIgYTI9dm9pZCAwO3ZhciBiND1XOSgiamFzIiwhMCksTG49VzkoKSxrOT1XOSgpLExHPVc5KCksUk1iPVc5KCksUUNpPVc5KCksRzRTPVc5KCksRFVpPVc5KCksdkg9VzkoIm1fbSIsITApLGNpVT1XOSgpLHFFPVc5KCk7Wy4uLk9iamVjdC52YWx1ZXMoe014OjEsRVk6MixHTDo0LFltOjgsalo6MTYsVFQ6MzIsUFE6NjQsTng6MTI4LGZoOjI1NixhTjo1MTIsYVU6MTAyNCxQbToyMDQ4LHI0OjQwOTYsYU86ODE5Mn0pXTt2YXIgenosdnp4PVtdO3Z6eFtiNF09Nzt6ej1PYmplY3QuZnJlZXplKHZ6eCk7dmFyIGt2PXt9LERCPXt9LEckPU9iamVjdC5mcmVlemUoe30pLFNvPXt9LHhVPXt9O3ZhciBZbyx3V2osa0N4O2cudF89cTMobj0+dHlwZW9mIG49PT0ibnVtYmVyIik7CmcuRzk9cTMobj0+dHlwZW9mIG49PT0ic3RyaW5nIik7CllvPXEzKG49Pm4hPW51bGwmJnR5cGVvZiBuPT09Im9iamVjdCImJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iKTsKd1dqPXEzKG49PnR5cGVvZiBuPT09ImZ1bmN0aW9uIik7CmtDeD1xMyhuPT4hIW4mJih0eXBlb2Ygbj09PSJvYmplY3QifHx0eXBlb2Ygbj09PSJmdW5jdGlvbiIpKTt2YXIgc0s9cTMobj0+bj49aDNqJiZuPD14NGopLGgzaj1CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpLHg0aj1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO3ZhciByWj0wLHNfPTAsR3Y7dmFyIGRaPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwLEJyaD10eXBlb2YgQmlnSW50PT09ImZ1bmN0aW9uIj9CaWdJbnQuYXNVaW50Tjp2b2lkIDAsalg9TnVtYmVyLmlzU2FmZUludGVnZXIsUDk9TnVtYmVyLmlzRmluaXRlLFQ5PU1hdGgudHJ1bmMsbDEyPS9eLT8oWzEtOV1bMC05XSp8MCkoXC5bMC05XSspPyQvO3ZhciBhMVU9e307dmFyIFhGPWNsYXNze30sTVVpPXtKUzohMH07dmFyICR2O3ZhciBISCxmRzt2YXIgdjNpPWcuJFUoMCksZm49e307dmFyIE9WPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmJ1ZmZlcj1uO2lmKEQmJiFXKXRocm93IEVycm9yKCk7dGhpcy5OPVd9fTt2YXIgTFVyPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIpe3RoaXMuSj1udWxsO3RoaXMuVj0hMTt0aGlzLmo9bnVsbDt0aGlzLk49dGhpcy5XPXRoaXMuWD0wO3RoaXMuaW5pdChuLFcsRCxiKX1pbml0KG4sVyxELHtuXzpiPSExLGhCOnY9ITF9PXt9KXt0aGlzLm5fPWI7dGhpcy5oQj12O24mJihuPVBXKG4sdGhpcy5oQiksdGhpcy5KPW4uYnVmZmVyLHRoaXMuVj1uLk4sdGhpcy5qPW51bGwsdGhpcy5YPVd8fDAsdGhpcy5XPUQhPT12b2lkIDA/dGhpcy5YK0Q6dGhpcy5KLmxlbmd0aCx0aGlzLk49dGhpcy5YKX1mcmVlKCl7dGhpcy5jbGVhcigpO0FWLmxlbmd0aDwxMDAmJkFWLnB1c2godGhpcyl9Y2xlYXIoKXt0aGlzLko9bnVsbDt0aGlzLlY9ITE7dGhpcy5qPW51bGw7dGhpcy5OPXRoaXMuVz10aGlzLlg9MDt0aGlzLm5fPSExfXJlc2V0KCl7dGhpcy5OPXRoaXMuWH19LEFWPVtdO3ZhciBSWT0wLGhCUz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiKXtpZihBVi5sZW5ndGgpe2xldCB2PUFWLnBvcCgpO3YuaW5pdChuLFcsRCxiKTtuPXZ9ZWxzZSBuPW5ldyBMVXIobixXLEQsYik7dGhpcy5OPW47dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTE7akUodGhpcyxiKX1mcmVlKCl7dGhpcy5OLmNsZWFyKCk7dGhpcy5KPXRoaXMuVz0tMTtUJC5sZW5ndGg8MTAwJiZUJC5wdXNoKHRoaXMpfXJlc2V0KCl7dGhpcy5OLnJlc2V0KCk7dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTF9fSxUJD1bXTt2YXIgZTNyPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoU28hPT1Tbyl0aHJvdyBFcnJvcigpO319O3ZhciB2eT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxoMyxlQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxnRyxyRyxOZixwaCwkbSx0MyxxZixHUzt2YXIgZ3pNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLk4ubGVuZ3RofWVuZCgpe3ZhciBuPXRoaXMuTjt0aGlzLk49W107cmV0dXJuIG59fTt2YXIgWCQyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPVtdO3RoaXMuSj0wO3RoaXMuTj1uZXcgZ3pNfX07dmFyIGxHLHEzWixtNyxHQzIsdDJoLCQ0aSxyWEMsUHEsc2YyLE5NVSxwJFU7bEc9b3goKTtxM1o9b3goKTttNz1veCgpO2cuS3g9b3goKTtHQzI9b3goKTt0Mmg9b3goKTskNGk9b3goKTtnLk82PW94KCk7clhDPW94KCk7UHE9b3goKTtzZjI9b3goKTtnLlpGPW94KCk7Tk1VPW94KCk7cCRVPW94KCk7Zy5RbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5sOT1KdihuLFcsRCwyMDQ4KX10b0pTT04oKXtyZXR1cm4gWXYodGhpcyl9Ylkobil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFl2KHRoaXMsbikpfWNsb25lKCl7dmFyIG49dGhpcy5sOSxXPW5bYjRdfDA7cmV0dXJuIEtHKHRoaXMsbixXKT9PSyh0aGlzLG4sITApOm5ldyB0aGlzLmNvbnN0cnVjdG9yKG1fKG4sVywhMSkpfX07Zy5RbS5wcm90b3R5cGVbdkhdPWt2O2cuUW0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubDkudG9TdHJpbmcoKX07dmFyIHpTPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmNqPW47dGhpcy5Qaj1XO249RXcobEcpO3RoaXMuTj0hIW4mJkQ9PT1ufHwhMX19LExjdD1UUyhmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7UTEobixoUyhXLGIsRCksdik7cmV0dXJuITB9LENoKSxlQnQ9VFMoZnVuY3Rpb24obixXLEQsYix2KXtpZihuLkohPT0yKXJldHVybiExOwpRMShuLGhTKFcsYixEKSx2KTtyZXR1cm4hMH0sQ2gpLHZPPVN5bWJvbCgpLGN5PVN5bWJvbCgpLFdPPVN5bWJvbCgpLHhuPVN5bWJvbCgpLEQ4PVN5bWJvbCgpLEJ5LEZ0O3ZhciBTNixVNix5cCxZM0MsaVUsSGl3LGZxdyx1VSx6ZyxsVSxUZyxqbyxKWFMsSXFqO1M2PShuLFcpPT57dmFyIEQ9bmV3IFgkMjtMOChuLmw5LEQsd0codk8sYjYsa24sVykpO0EzKEQsRC5OLmVuZCgpKTtuPW5ldyBVaW50OEFycmF5KEQuSik7Vz1ELlc7dmFyIGI9Vy5sZW5ndGgsdj0wO2ZvcihsZXQgaz0wO2s8YjtrKyspe2xldCBoPVdba107bi5zZXQoaCx2KTt2Kz1oLmxlbmd0aH1ELlc9W25dO3JldHVybiBufTsKVTY9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxnLmRlKG4uTikpO3JldHVybiEwfSxnLnQ5LGcuWkYpOwp5cD1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO3ZhciBiPXVhKG4uTik7bj0oYj4+MzEpKjIrMTt2YXIgdj1iPj4+MjMmMjU1O2ImPTgzODg2MDc7Zy5xWShXLEQsdj09MjU1P2I/TmFOOm4qSW5maW5pdHk6dj09MD9uKjEuNDAxMjk4NDY0MzI0ODE3RS00NSpiOm4qTWF0aC5wb3coMix2LTE1MCkqKGIrODM4ODYwOCkpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1tMChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixEPUd2fHwoR3Y9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLEQuc2V0RmxvYXQzMigwLCtXLCEwKSxzXz0wLHJaPUQuZ2V0VWludDMyKDAsITApLEozKG4sclopKX0sc2YyKTsKZy5FNj1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtuLkohPT0wP249ITE6KGcucVkoVyxELGcuVVYobi5OLGcuSl8pKSxuPSEwKTtyZXR1cm4gbn0sZy4kbixnLk82KTsKWTNDPWcuZ1EoZnVuY3Rpb24obixXLEQpe24uSiE9PTA/bj0hMTooZy5xWShXLEQsZy5VVihuLk4sZjUpKSxuPSEwKTtyZXR1cm4gbn0sZnVuY3Rpb24obixXLEQpe1c9YTAoVyk7CmlmKFchPW51bGwmJihQeShXKSxXIT1udWxsKSlzd2l0Y2gobTQobixELDApLHR5cGVvZiBXKXtjYXNlICJudW1iZXIiOm49bi5OO3A1KFcpO0h5KG4sclosc18pO2JyZWFrO2Nhc2UgImJpZ2ludCI6RD1ZbShXLHZ5LGttKTtIeShuLk4sRC5KLEQuTik7YnJlYWs7ZGVmYXVsdDpEPXhtKFcpLEh5KG4uTixELkosRC5OKX19LHJYQyk7CmlVPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pKTtyZXR1cm4hMH0sZy5yUSxnLkt4KTsKSGl3PWcuZ1EoZnVuY3Rpb24obixXLEQpe3JldHVybiBKOShuLFcsRCl9LGZ1bmN0aW9uKG4sVyxEKXtXPWEwKFcpOwppZihXIT1udWxsKXN3aXRjaCh1RyhXKSxtNChuLEQsMSksbj1uLk4sdUcoVyksdHlwZW9mIFcpe2Nhc2UgIm51bWJlciI6VzwwPyhXPUxoKGttKC1XKSksRD1XLk4sSjMobixXLkopLEozKG4sRCkpOihOMyhXKSxKMyhuLHJaKSxKMyhuLHNfKSk7YnJlYWs7Y2FzZSAiYmlnaW50IjpXPVc8QmlnSW50KDApP0xoKFltKC1XLHZ5LGttKSk6WW0oVyx2eSxrbSk7RD1XLk47SjMobixXLkopO0ozKG4sRCk7YnJlYWs7ZGVmYXVsdDpXPVcubGVuZ3RoJiZXWzBdPT09Ii0iP0xoKHhtKFcuc3Vic3RyaW5nKDEpKSk6eG0oVyksRD1XLk4sSjMobixXLkopLEozKG4sRCl9fSxQcSk7CmZxdz1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO2cucVkoVyxELHVhKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz11NChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxKMyhuLk4sVykpfSx0MmgpOwp1VT1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wKXJldHVybiExO2cucVkoVyxELHkxKG4uTikpO3JldHVybiEwfSxzZixxM1opOwpnLm9tPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7Zy5xWShXLEQsYVkobikpO3JldHVybiEwfSxOWSxtNyk7CmcuZHE9ZnVuY3Rpb24obixXLEQ9bEcpe3JldHVybiBuZXcgelMobixXLEQpfShmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7CmI9U1codm9pZCAwLGIpO2NIKFcsV1tiNF18MCxEKS5wdXNoKGIpO1ExKG4sYix2KTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylwOChuLFdba10sRCxiLHYpOwpuPVdbYjRdfDA7biYxfHwoV1tiNF09bnwxKX19KTsKemc9VFMoZnVuY3Rpb24obixXLEQsYix2LGspe2lmKG4uSiE9PTIpcmV0dXJuITE7dmFyIGg9V1tiNF18MDtXVyhXLGgsayxELEw1KGgpKTtXPWhTKFcsYixEKTtRMShuLFcsdik7cmV0dXJuITB9LHA4KTsKbFU9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MilyZXR1cm4hMTtnLnFZKFcsRCxEOShuKSk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPW5HKFcpOwpXIT1udWxsJiZpRyhuLEQsUFcoVywhMCkuYnVmZmVyKX0sTk1VKTsKVGc9WGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1EOShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYobkcsVywhMSk7CmlmKFchPW51bGwpZm9yKGxldCBoPTA7aDxXLmxlbmd0aDtoKyspe3ZhciBiPW4sdj1ELGs9V1toXTtrIT1udWxsJiZpRyhiLHYsUFcoaywhMCkuYnVmZmVyKX19LE5NVSk7CmpvPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pPj4+MCk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPXU0KFcpOwpXIT1udWxsJiZXIT1udWxsJiYobTQobixELDApLEl4KG4uTixXKSl9LEdDMik7CmcuQ3g9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MClyZXR1cm4hMTtnLnFZKFcsRCxnLkVWKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7RXMobixELEVfKFcpKX0scCRVKTsKSlhTPVhmKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wJiZuLkohPT0yKXJldHVybiExO1c9Y0goVyxXW2I0XXwwLEQpO24uSj09Mj9iRyhuLGs0MixXKTpXLnB1c2goZy5FVihuLk4pKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoRV8sVywhMCk7CmlmKFchPW51bGwpZm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspRXMobixELFdbYl0pfSxwJFUpOwpJcWo9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09NSlyZXR1cm4hMTtuPW4uTjt2YXIgYj1uLkosdj1uLk4saz1iW3YrMF0saD1iW3YrMV0seD1iW3YrMl07Yj1iW3YrM107aWEobiw0KTtnLnFZKFcsRCxrPDwwfGg8PDh8eDw8MTZ8Yjw8MjQpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1FXyhXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixuLk4ucHVzaChXPj4+MCYyNTUpLG4uTi5wdXNoKFc+Pj44JjI1NSksbi5OLnB1c2goVz4+PjE2JjI1NSksbi5OLnB1c2goVz4+PjI0JjI1NSkpfSwkNGkpO3ZhciBTMzE9bmV3IE1hcCxBWHg9Y2xhc3MgZXh0ZW5kcyBlM3J7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudHlwZU5hbWU9bjt0aGlzLk49VztpZihTbyE9PVNvKXRocm93IEVycm9yKCk7UzMxLnNldChuLHRoaXMpfX07dmFyIG00Wj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5OPW47dGhpcy5KPUQ7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5YPWdlO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLlc9Vy5tZXNzYWdlSWQhPW51bGw/eFU6dm9pZCAwfXJlZ2lzdGVyKCl7Zy5PQSh0aGlzKX19O3ZhciBjRlo9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVmPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGk2PVsxLDIsM107dmFyIFo4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LFVmPVsxLDIsM107dmFyIHllPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBLVUM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIE9peD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxQWmg9WzEsMiwzXTtnLk9mPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O2cuT2YucHJvdG90eXBlLkpoPVdaKDApO2cuT2YucHJvdG90eXBlLko9Zy5tRChbMCxnLm9tLFswLFBaaCx6ZyxbMCxnLm9tLC0xLHVVXSx6ZyxbMCxnLm9tLC0xLGlVLHVVXSx6ZyxbMCxnLm9tXV0sWGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1hWShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoZy5EUixXLCEwKTsKaWYoVyE9bnVsbClmb3IobGV0IGg9MDtoPFcubGVuZ3RoO2grKyl7dmFyIGI9bix2PUQsaz1XW2hdO2shPW51bGwmJmlHKGIsdixrSyhrKSl9fSxtNyksCmcuZHEsWzAsZy5kcSxbMCxpNixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTIpcmV0dXJuITE7YmEoVyxELGIsYVkobikpO3JldHVybiEwfSxOWSxtNyksCmcuZ1EoZnVuY3Rpb24obixXLEQsYil7aWYobi5KIT09MClyZXR1cm4hMTtiYShXLEQsYixnLkVWKG4uTikpO3JldHVybiEwfSxnLnJRLGcuS3gpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTApcmV0dXJuITE7YmEoVyxELGIseTEobi5OKSk7cmV0dXJuITB9LHNmLHEzWildLApbMCxVZixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe24uSiE9PTA/bj0hMTooYmEoVyxELGIsZy5VVihuLk4sZy5KXykpLG49ITApO3JldHVybiBufSxnLiRuLGcuTzYpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTEpcmV0dXJuITE7YmEoVyxELGIsZy5kZShuLk4pKTtyZXR1cm4hMH0sZy50OSxnLlpGKSwKemcsWzAsZy5kcSxbMCxVNixnLkU2XV1dXSxnLmdRKGZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gSjkobixXLEQpfSxmdW5jdGlvbihuLFcsRCl7eW0obixELGEwKFcpKX0sUHEpLApYZihmdW5jdGlvbihuLFcsRCl7bi5KIT09MSYmbi5KIT09Mj9uPSExOihXPWNIKFcsV1tiNF18MCxEKSxuLko9PTI/YkcobixvWSxXKTpXLnB1c2gob1kobi5OKSksbj0hMCk7cmV0dXJuIG59LGZ1bmN0aW9uKG4sVyxEKXtXPWU2KGEwLFcsITEpOwppZihXIT1udWxsKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXltKG4sRCxXW2JdKX0sUHEpXSk7dmFyIFppeD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTtnLkU9bDYucHJvdG90eXBlO2cuRS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtpZighZy5xaS5uYXZpZ2F0b3IuY29va2llRW5hYmxlZClyZXR1cm4hMTtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuITA7dGhpcy5zZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIsIjEiLHtuejo2MH0pO2lmKHRoaXMuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTt0aGlzLnJlbW92ZSgiVEVTVENPT0tJRVNFTkFCTEVEIik7cmV0dXJuITB9OwpnLkUuc2V0PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0hMTtpZih0eXBlb2YgRD09PSJvYmplY3QiKXt2YXIgdj1ELnNhbWVTaXRlO2I9RC5zZWN1cmV8fCExO3ZhciBrPUQuZG9tYWlufHx2b2lkIDA7dmFyIGg9RC5wYXRofHx2b2lkIDA7dmFyIHg9RC5uen1pZigvWzs9XHNdLy50ZXN0KG4pKXRocm93IEVycm9yKCdJbnZhbGlkIGNvb2tpZSBuYW1lICInK24rJyInKTtpZigvWztcclxuXS8udGVzdChXKSl0aHJvdyBFcnJvcignSW52YWxpZCBjb29raWUgdmFsdWUgIicrVysnIicpO3g9PT12b2lkIDAmJih4PS0xKTtEPWs/Ijtkb21haW49IitrOiIiO2g9aD8iO3BhdGg9IitoOiIiO2I9Yj8iO3NlY3VyZSI6IiI7eD14PDA/IiI6eD09MD8iO2V4cGlyZXM9IisobmV3IERhdGUoMTk3MCwxLDEpKS50b1VUQ1N0cmluZygpOiI7ZXhwaXJlcz0iKyhuZXcgRGF0ZShEYXRlLm5vdygpK3gqMUUzKSkudG9VVENTdHJpbmcoKTt0aGlzLk4uY29va2llPW4rIj0iK1crRCtoK3grYisodiE9bnVsbD8KIjtzYW1lc2l0ZT0iK3Y6IiIpfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe3ZhciBEPW4rIj0iLGI9KHRoaXMuTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO2ZvcihsZXQgdj0wLGs7djxiLmxlbmd0aDt2Kyspe2s9Ylt2XS50cmltKCk7aWYoay5sYXN0SW5kZXhPZihELDApPT0wKXJldHVybiBrLnNsaWNlKEQubGVuZ3RoKTtpZihrPT1uKXJldHVybiIifXJldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9dGhpcy5nZXQobikhPT12b2lkIDA7dGhpcy5zZXQobiwiIix7bno6MCxwYXRoOlcsZG9tYWluOkR9KTtyZXR1cm4gYn07CmcuRS51Qj1mdW5jdGlvbigpe3JldHVybiBUdih0aGlzKS5rZXlzfTsKZy5FLno3PWZ1bmN0aW9uKCl7cmV0dXJuIFR2KHRoaXMpLnZhbHVlc307CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuTi5jb29raWV9OwpnLkUuY2xlYXI9ZnVuY3Rpb24oKXt2YXIgbj1Udih0aGlzKS5rZXlzO2ZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKXRoaXMucmVtb3ZlKG5bV10pfTsKdmFyIEp5PW5ldyBsNih0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBVNHg9Y2xhc3N7YXN5bmMgY29tcHJlc3Mobil7dmFyIFc9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksRD0obmV3IFJlc3BvbnNlKFcucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO1c9Vy53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBXLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKSk7YXdhaXQgVy5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBEKX1pc1N1cHBvcnRlZChuKXtyZXR1cm4gbjwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIHlYTT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgRXppPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pbnRlcnZhbE1zPW47dGhpcy5jYWxsYmFjaz1XO3RoaXMuZW5hYmxlZD0hMTt0aGlzLk49KCk9PmcuVXcoKTsKdGhpcy5KPXRoaXMuTigpfXNldEludGVydmFsKG4pe3RoaXMuaW50ZXJ2YWxNcz1uO3RoaXMudGltZXImJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnRpbWVyJiZ0aGlzLnN0b3AoKX1zdGFydCgpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcyksdGhpcy5KPXRoaXMuTigpKX1zdG9wKCl7dGhpcy5lbmFibGVkPSExOwp0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKX10aWNrKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1NYXRoLm1heCh0aGlzLk4oKS10aGlzLkosMCk7bjx0aGlzLmludGVydmFsTXMqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcy1uKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5jYWxsYmFjaygpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfWVsc2UgdGhpcy50aW1lcj12b2lkIDB9fTt2YXIgaWl4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciB1R2I9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07Zy5FPWcuTVkucHJvdG90eXBlO2cuRS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5NWSh0aGlzLngsdGhpcy55KX07CmcuRS5lcXVhbHM9ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLk1ZJiZSXyh0aGlzLG4pfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGgucm91bmQodGhpcy54KTt0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy54Kj1uO3RoaXMueSo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O2cuRT1nLlFlLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuUWUodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpnLkUuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIWNPKHRoaXMpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy53aWR0aCo9bjt0aGlzLmhlaWdodCo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O3ZhciBwVD0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO3ZhciAkQj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uPT09cksmJld8fCIifXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19LHJLPXt9O25ldyAkQihySywiIik7dmFyIE8wPXtjZWxscGFkZGluZzoiY2VsbFBhZGRpbmciLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY29sc3BhbjoiY29sU3BhbiIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixoZWlnaHQ6ImhlaWdodCIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLG5vbmNlOiJub25jZSIscm9sZToicm9sZSIscm93c3Bhbjoicm93U3BhbiIsdHlwZToidHlwZSIsdXNlbWFwOiJ1c2VNYXAiLHZhbGlnbjoidkFsaWduIix3aWR0aDoid2lkdGgifTtnLkU9ZlQucHJvdG90eXBlO2cuRS5lXz1mdW5jdGlvbigpe3JldHVybiBBSyh0aGlzLk4pfTsKZy5FLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFd8fHRoaXMuTikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKG4pKX07CmcuRS5CSj1mdW5jdGlvbihuKXtyZXR1cm4gZy5LVChuLHRoaXMuTil9OwpnLkUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihuKXtyZXR1cm4gdWsodGhpcy5OLG4pfTsKZy5FLmFwcGVuZENoaWxkPWZ1bmN0aW9uKG4sVyl7bi5hcHBlbmRDaGlsZChXKX07CmcuRS5hcHBlbmQ9ZnVuY3Rpb24obixXKXtvaChnLkpLKG4pLG4sYXJndW1lbnRzLDEpfTsKZy5FLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihuKXtpZihuLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChuLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07CmcuRS5yZW1vdmVOb2RlPWcuQ1Q7Zy5FLmNvbnRhaW5zPWcuQng7Zy5FLmlzRm9jdXNhYmxlPU1jO3ZhciBvek09Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfUdZKCl7cmV0dXJuIEhXKHRoaXMsMSl9fTt2YXIgVlE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGJJPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGY0Mj1LOChiSSk7dmFyIGtFPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBjeD1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sUVE9bmV3IGJJLGFoPW51bGw7dmFyIFdMPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBkNGg9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHozdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw0KX19O3ZhciBCcT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiwzNyl9Uygpe3ZhciBuPXRoaXMubDk7cmV0dXJuIHg5KG4sbltiNF18MCxkNGgsNykhPT12b2lkIDB9fTt2YXIgbHF0PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDE5KX1hVihuKXtyZXR1cm4gS24odGhpcywyLG4pfX07dmFyIFRNQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuZ1I9Vzt0aGlzLnVhY2g9dGhpcy5sb2NhbGU9bnVsbDt0aGlzLko9MDt0aGlzLmlzRmluYWw9ITE7dGhpcy5OPW5ldyBscXQ7TnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5OLmFWKG4pO1d8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO3ZMKHRoaXMsbmV3IFdMKX1hVihuKXt0aGlzLk4uYVYobik7cmV0dXJuIHRoaXN9YnVpbGQobixXPTAsRD0wLGI9bnVsbCx2PTAsaz0wKXtpZighdGhpcy5nUil7dmFyIGg9REQodGhpcyk7dmFyIHg9bmV3IG96TTt4PUtuKHgsMSx0aGlzLkopO3g9b3ooeCwyLE9fKHRoaXMuaXNGaW5hbCkpO0Q9b3ooeCwzLGcueVAoRD4wP0Q6dm9pZCAwKSk7dj1veihELDQsZy55UCh2PjA/djp2b2lkIDApKTtrPW96KHYsNSxnLnlQKGs+MD9rOnZvaWQgMCkpO3Y9ay5sOTtEPXZbYjRdfDA7az12OShrLEQpP2s6S0coayx2LEQpP09LKGssCnYpOm5ldyBrLmNvbnN0cnVjdG9yKG1fKHYsRCwhMCkpOyQ5KGgsb3pNLDEwLGspfWg9dGhpcy5OLmNsb25lKCk7az1EYXRlLm5vdygpLnRvU3RyaW5nKCk7aD1veihoLDQsZy5sNChrKSk7bj1uLnNsaWNlKCk7bj1zVihoLEJxLDMsbik7YiYmKGg9bmV3IGlpeCxiPW96KGgsMTMsZy55UChiKSksaD1uZXcgdUdiLGI9JDkoaCxpaXgsMixiKSxoPW5ldyB6M3QsYj0kOShoLHVHYiwxLGIpLGI9S24oYiwyLDkpLCQ5KG4sejN0LDE4LGIpKTtXJiZJWShuLDE0LFcpO3JldHVybiBufX07dmFyIEdBO0dBPWcuWmw/IndlYmtpdFRyYW5zaXRpb25FbmQiOiJ0cmFuc2l0aW9uZW5kIjtnLmhILnByb3RvdHlwZS5KPTA7Zy5oSC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLk49dGhpcy5XPXRoaXMuWDt0aGlzLko9MH07CmcuaEgucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuV307dmFyIGpmdz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw4KX19LENaaD1LOChqZncpO3ZhciBGUDtGUD1uZXcgbTRaKDE3NTIzNzM3NSxqZncsY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX0pO3ZhciBCTVo9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5jb21wb25lbnRJZD0iIjt0aGlzLk49W107dGhpcy5WUT0iIjt0aGlzLnBhZ2VJZD1udWxsO3RoaXMuZSQ9dGhpcy50dz0tMTt0aGlzLks9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5PPXRoaXMuY0o9dGhpcy5WPXRoaXMuWD0wO3RoaXMuSEo9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLmJkPSExO3RoaXMubG9nU291cmNlPW4ubG9nU291cmNlO3RoaXMubjE9bi5uMXx8KCgpPT57fSk7CnRoaXMuVz1uZXcgVE1DKG4ubG9nU291cmNlLG4uZ1IpO3RoaXMubmV0d29yaz1uLm5ldHdvcmt8fG51bGw7dGhpcy5QZz1uLlBnfHxudWxsO3RoaXMuWT1uLmN1fHxudWxsO3RoaXMuc2Vzc2lvbkluZGV4PW4uc2Vzc2lvbkluZGV4fHxudWxsO3RoaXMub3g9bi5veHx8ITE7dGhpcy5sb2dnZXI9bnVsbDt0aGlzLndpdGhDcmVkZW50aWFscz0hbi5rQzt0aGlzLmdSPW4uZ1J8fCExO3RoaXMuRD0hdGhpcy5nUiYmISFnLmlrKCkmJiEhZy5paygpLm5hdmlnYXRvciYmZy5paygpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUyQ9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKExLKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoTEsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIFc9bksobmV3IFdMKTt2TCh0aGlzLlcsVyk7dGhpcy5qPW5ldyBnLmhIKDFFNCwzRTUsLjEpO249STRTKHRoaXMsbi5iMSk7dGhpcy5KPW5ldyBFemkodGhpcy5qLmdldFZhbHVlKCksCm4pO3RoaXMuVEM9bmV3IEV6aSg2RTUsbik7dGhpcy5veHx8dGhpcy5UQy5zdGFydCgpO3RoaXMuZ1J8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iJiZlZyh0aGlzKX0pLGcuaWsoKT8uYWRkRXZlbnRMaXN0ZW5lcj8uKCJwYWdlaGlkZSIsKCk9PntlZyh0aGlzKX0pKX1tQSgpe2VnKHRoaXMpOwp0aGlzLkouc3RvcCgpO3RoaXMuVEMuc3RvcCgpO3N1cGVyLm1BKCl9ZGlzcGF0Y2gobil7aWYobiBpbnN0YW5jZW9mIEJxKXRoaXMubG9nKG4pO2Vsc2UgdHJ5e3ZhciBXPW5ldyBCcSxEPW4uYlkoKTt2YXIgYj1nLlNFKFcsOCxEKTt0aGlzLmxvZyhiKX1jYXRjaHt9fWxvZyhuKXtpZih0aGlzLlMkKXtuPW4uY2xvbmUoKTt2YXIgVz10aGlzLkhKKys7bj1JWShuLDIxLFcpO3RoaXMuY29tcG9uZW50SWQmJmcuU0UobiwyNix0aGlzLmNvbXBvbmVudElkKTtXPW47e3ZhciBEPWlXKFcsMSk7bGV0IGI9dHlwZW9mIEQ7RD1EPT1udWxsP0Q6Yj09PSJiaWdpbnQiP1N0cmluZyhkWig2NCxEKSk6WkIoRCk/Yj09PSJzdHJpbmciP0I5KEQpOkM1KEQpOnZvaWQgMH1EPT1udWxsJiYoRD1EYXRlLm5vdygpLEQ9TnVtYmVyLmlzRmluaXRlKEQpP0QudG9TdHJpbmcoKToiMCIsb3ooVywxLGcubDQoRCkpKTtEPWlXKFcsMTUsdm9pZCAwLHZvaWQgMCxGRCk7RCE9bnVsbCYmKHR5cGVvZiBEPT09ImJpZ2ludCI/CnNLKEQpP0Q9TnVtYmVyKEQpOihEPWRaKDY0LEQpLEQ9c0soRCk/TnVtYmVyKEQpOlN0cmluZyhEKSk6RD1aQihEKT90eXBlb2YgRD09PSJudW1iZXIiP0M1KEQpOkI5KEQpOnZvaWQgMCk7RCE9bnVsbHx8SVkoVywxNSwobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkqNjApO3RoaXMuZXhwZXJpbWVudElkcyYmKEQ9dGhpcy5leHBlcmltZW50SWRzLmNsb25lKCksJDkoVyx5WE0sMTYsRCkpO1c9dGhpcy5OLmxlbmd0aC0xRTMrMTtXPjAmJih0aGlzLk4uc3BsaWNlKDAsVyksdGhpcy5YKz1XKTt0aGlzLk4ucHVzaChuKTt0aGlzLm94fHx0aGlzLkouZW5hYmxlZHx8dGhpcy5KLnN0YXJ0KCl9fWZsdXNoKG4sVyl7aWYodGhpcy5OLmxlbmd0aD09PTApbiYmbigpO2Vsc2UgaWYodGhpcy5iZCYmdGhpcy5EKXRoaXMuVy5KPTMsQUZaKHRoaXMpO2Vsc2V7dmFyIEQ9RGF0ZS5ub3coKTtpZih0aGlzLmUkPkQmJnRoaXMudHc8RClXJiZXKCJ0aHJvdHRsZWQiKTtlbHNle3RoaXMubmV0d29yayYmCih0eXBlb2YgdGhpcy5uZXR3b3JrLkdZPT09ImZ1bmN0aW9uIj9IYlModGhpcy5XLHRoaXMubmV0d29yay5HWSgpKTp0aGlzLlcuSj0wKTt2YXIgYj10aGlzLlcuYnVpbGQodGhpcy5OLHRoaXMuWCx0aGlzLlYsdGhpcy5QZyx0aGlzLmNKLHRoaXMuTyksdj10aGlzLm4xKCk7aWYodiYmdGhpcy5WUT09PXYpVyYmVygic3RhbGUtYXV0aC10b2tlbiIpO2Vsc2V7dGhpcy5OPVtdO3RoaXMuSi5lbmFibGVkJiZ0aGlzLkouc3RvcCgpO3RoaXMuWD0wO0Q9Yi5iWSgpO2xldCBrO3RoaXMuSyYmdGhpcy5LLmlzU3VwcG9ydGVkKEQubGVuZ3RoKSYmKGs9dGhpcy5LLmNvbXByZXNzKEQpKTtsZXQgaD1tVXcodGhpcyxELHYpLHg9Rz0+e3RoaXMuai5yZXNldCgpO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7aWYoRyl7dmFyIHI9bnVsbDt0cnl7bGV0IE49SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShHLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cj1DWmgoTil9Y2F0Y2goTil7fXImJgooRz1OdW1iZXIocG4ociwxLGcuJFUoIi0xIikpKSxHPjAmJih0aGlzLnR3PURhdGUubm93KCksdGhpcy5lJD10aGlzLnR3K0cpLHR2KHIubDksRlAuTiksR3oocixGUC5OKSxyPUZQLko/RlAuWChyLEZQLkosRlAuTixGUC5XKTpGUC5YKHIsRlAuTixudWxsLEZQLlcpLHI9cj09PW51bGw/dm9pZCAwOnIpJiYocj1hUChyLDEsLTEpLHIhPT0tMSYmKHRoaXMuaj1uZXcgZy5oSChyPDE/MTpyLDNFNSwuMSksdGhpcy5KLnNldEludGVydmFsKHRoaXMuai5nZXRWYWx1ZSgpKSkpfW4mJm4oKTt0aGlzLlY9MH0sTD0oRyxyKT0+e3ZhciBOPVZHKGIsQnEsMyk7CnZhciBIPU51bWJlcihwbihiLDE0KSk7Zy54RSh0aGlzLmopO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7Rz09PTQwMSYmdiYmKHRoaXMuVlE9dik7SCYmKHRoaXMuWCs9SCk7cj09PXZvaWQgMCYmKHI9dGhpcy5pc1JldHJ5YWJsZShHKSk7ciYmKHRoaXMuTj1OLmNvbmNhdCh0aGlzLk4pLHRoaXMub3h8fHRoaXMuSi5lbmFibGVkfHx0aGlzLkouc3RhcnQoKSk7VyYmVygibmV0LXNlbmQtZmFpbGVkIixHKTsrK3RoaXMuVn0sZT0oKT0+e3RoaXMubmV0d29yayYmdGhpcy5uZXR3b3JrLnNlbmQoaCx4LEwpfTsKaz9rLnRoZW4oRz0+e2guWkpbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5aSlsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PUc7aC5vJD0yO2UoKX0sKCk9PntlKCl9KTplKCl9fX19aXNSZXRyeWFibGUobil7cmV0dXJuIDUwMDw9biYmbjw2MDB8fG49PT00MDF8fG49PT0wfX07dmFyIEZVaj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuUiQ9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifWFzeW5jIHNlbmQobixXLEQpe3ZhciBiPXRoaXMuUiQ/bmV3IEFib3J0Q29udHJvbGxlcjp2b2lkIDAsdj1iJiZuLnRpbWVvdXRNaWxsaXM+MD9zZXRUaW1lb3V0KCgpPT57Yi5hYm9ydCgpfSxuLnRpbWVvdXRNaWxsaXMpOnZvaWQgMDsKdHJ5e2xldCBrPWF3YWl0IGZldGNoKG4udXJsLHttZXRob2Q6bi5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5uLlpKfSwuLi4obi5ib2R5JiZ7Ym9keTpuLmJvZHl9KSwuLi4obi53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6bi50aW1lb3V0TWlsbGlzJiZiP2Iuc2lnbmFsOm51bGx9KTtrLnN0YXR1cz09PTIwMD9XPy4oYXdhaXQgay50ZXh0KCkpOkQ/LihrLnN0YXR1cyl9Y2F0Y2goayl7c3dpdGNoKGs/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOkQ/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6RD8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KHYpfX1HWSgpe3JldHVybiA0fX07dmFyIGtZPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5Saj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5OPXRoaXMuUGc9bnVsbDt0aGlzLko9ITE7dGhpcy5sb2dnZXI9dGhpcy5wYWdlSWQ9bnVsbH1rQygpe3RoaXMuVz0hMDtyZXR1cm4gdGhpc31idWlsZCgpe3RoaXMubmV0d29ya3x8KHRoaXMubmV0d29yaz1uZXcgRlVqKTt2YXIgbj1uZXcgQk1aKHtsb2dTb3VyY2U6dGhpcy5sb2dTb3VyY2UsbjE6dGhpcy5uMT90aGlzLm4xOkJPLHNlc3Npb25JbmRleDp0aGlzLnNlc3Npb25JbmRleCxjdTp0aGlzLlJqLGdSOiExLG94OiExLGtDOnRoaXMuVyxiMTp0aGlzLmIxLG5ldHdvcms6dGhpcy5uZXR3b3JrfSk7Zy51KHRoaXMsCm4pO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIFc9dGhpcy5idWlsZExhYmVsLEQ9REQobi5XKTtnLlNFKEQsNyxXKX1uLks9bmV3IFU0eDt0aGlzLmNvbXBvbmVudElkJiYobi5jb21wb25lbnRJZD10aGlzLmNvbXBvbmVudElkKTt0aGlzLlBnJiYobi5QZz10aGlzLlBnKTt0aGlzLnBhZ2VJZCYmKG4ucGFnZUlkPXRoaXMucGFnZUlkKTt0aGlzLk4mJigoRD10aGlzLk4pPyhuLmV4cGVyaW1lbnRJZHN8fChuLmV4cGVyaW1lbnRJZHM9bmV3IHlYTSksVz1uLmV4cGVyaW1lbnRJZHMsRD1ELmJZKCksZy5TRShXLDQsRCkpOm4uZXhwZXJpbWVudElkcyYmb3oobi5leHBlcmltZW50SWRzLDQpKTt0aGlzLkomJihuLmJkPW4uRCk7SkZaKG4uVyk7dGhpcy5uZXR3b3JrLmFWJiZ0aGlzLm5ldHdvcmsuYVYodGhpcy5sb2dTb3VyY2UpO3RoaXMubmV0d29yay5oUyYmdGhpcy5uZXR3b3JrLmhTKG4pO3JldHVybiBufX07dmFyIGE0aj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7bnx8KG49bmV3IGtZLG4uY29tcG9uZW50SWQ9IiIsZy51KHRoaXMsbiksbj1uLmJ1aWxkKCkpO3RoaXMuTj1ufWZsdXNoKG4pe249bnx8W107aWYobi5sZW5ndGgpe2xldCBXPW5ldyBaaXgsRD1bXTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHY9bltiXSxrPXU2KHYpO0QucHVzaChrKTt2LmNsZWFyKCl9c1YoVyxnLk9mLDEsRCk7dGhpcy5OLmRpc3BhdGNoKFcpO3RoaXMuTi5mbHVzaCgpfX19O3ZhciBxNT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19O3ZhciB3JGI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuSj1uO3RoaXMuVz1XO3RoaXMuZmllbGRzPUR8fFtdO3RoaXMuTj1uZXcgTWFwfWNsZWFyKCl7dGhpcy5OLmNsZWFyKCl9fTt2YXIgaWU9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDMsVyl9fTt2YXIgeTg9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDIsVyl9ZEUobiwuLi5XKXt5RloodGhpcyxuLC4uLlcpfX07JEUucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuSj0hMH07CiRFLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Zy5peChyRCwkRSk7CnJELnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9dGhpcy50eXBlPW4udHlwZSxiPW4uY2hhbmdlZFRvdWNoZXMmJm4uY2hhbmdlZFRvdWNoZXMubGVuZ3RoP24uY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1uLnRhcmdldHx8bi5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1XO1c9bi5yZWxhdGVkVGFyZ2V0O1d8fChEPT0ibW91c2VvdmVyIj9XPW4uZnJvbUVsZW1lbnQ6RD09Im1vdXNlb3V0IiYmKFc9bi50b0VsZW1lbnQpKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9VztiPyh0aGlzLmNsaWVudFg9Yi5jbGllbnRYIT09dm9pZCAwP2IuY2xpZW50WDpiLnBhZ2VYLHRoaXMuY2xpZW50WT1iLmNsaWVudFkhPT12b2lkIDA/Yi5jbGllbnRZOmIucGFnZVksdGhpcy5zY3JlZW5YPWIuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Yi5zY3JlZW5ZfHwwKToodGhpcy5jbGllbnRYPW4uY2xpZW50WCE9PXZvaWQgMD9uLmNsaWVudFg6bi5wYWdlWCx0aGlzLmNsaWVudFk9Cm4uY2xpZW50WSE9PXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWSx0aGlzLnNjcmVlblg9bi5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1uLnNjcmVlbll8fDApO3RoaXMuYnV0dG9uPW4uYnV0dG9uO3RoaXMua2V5Q29kZT1uLmtleUNvZGV8fDA7dGhpcy5rZXk9bi5rZXl8fCIiO3RoaXMuY2hhckNvZGU9bi5jaGFyQ29kZXx8KEQ9PSJrZXlwcmVzcyI/bi5rZXlDb2RlOjApO3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5hbHRLZXk9bi5hbHRLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5wb2ludGVySWQ9bi5wb2ludGVySWR8fDA7dGhpcy5wb2ludGVyVHlwZT1uLnBvaW50ZXJUeXBlO3RoaXMuc3RhdGU9bi5zdGF0ZTt0aGlzLk49bjtuLmRlZmF1bHRQcmV2ZW50ZWQmJnJELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9OwpyRC5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7ckQuVEIuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5OLnN0b3BQcm9wYWdhdGlvbj90aGlzLk4uc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5OLmNhbmNlbEJ1YmJsZT0hMH07CnJELnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3JELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyk7dmFyIG49dGhpcy5OO24ucHJldmVudERlZmF1bHQ/bi5wcmV2ZW50RGVmYXVsdCgpOm4ucmV0dXJuVmFsdWU9ITF9O3ZhciBzMj0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApO3ZhciB1SWg9MDtnLkU9ZksucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLnRvU3RyaW5nKCk7bj10aGlzLmxpc3RlbmVyc1trXTtufHwobj10aGlzLmxpc3RlbmVyc1trXT1bXSx0aGlzLk4rKyk7dmFyIGg9SVcobixXLGIsdik7aD4tMT8oVz1uW2hdLER8fChXLnFfPSExKSk6KFc9bmV3IG8zYihXLHRoaXMuc3JjLGssISFiLHYpLFcucV89RCxuLnB1c2goVykpO3JldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCxiKXtuPW4udG9TdHJpbmcoKTtpZighKG4gaW4gdGhpcy5saXN0ZW5lcnMpKXJldHVybiExO3ZhciB2PXRoaXMubGlzdGVuZXJzW25dO1c9SVcodixXLEQsYik7cmV0dXJuIFc+LTE/KEhMKHZbV10pLGcuQk0odixXKSx2Lmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1tuXSx0aGlzLk4tLSksITApOiExfTsKZy5FLlRpPWZ1bmN0aW9uKCl7dmFyIG49MDtmb3IobGV0IFcgaW4gdGhpcy5saXN0ZW5lcnMpe2xldCBEPXRoaXMubGlzdGVuZXJzW1ddO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKSsrbixITChEW2JdKTtkZWxldGUgdGhpcy5saXN0ZW5lcnNbV107dGhpcy5OLS19fTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe249dGhpcy5saXN0ZW5lcnNbbi50b1N0cmluZygpXTt2YXIgdj0tMTtuJiYodj1JVyhuLFcsRCxiKSk7cmV0dXJuIHY+LTE/blt2XTpudWxsfTsKZy5FLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9biE9PXZvaWQgMCxiPUQ/bi50b1N0cmluZygpOiIiLHY9VyE9PXZvaWQgMDtyZXR1cm4gZy5EbCh0aGlzLmxpc3RlbmVycyxmdW5jdGlvbihrKXtmb3IobGV0IGg9MDtoPGsubGVuZ3RoOysraClpZighKEQmJmtbaF0udHlwZSE9Ynx8diYma1toXS5jYXB0dXJlIT1XKSlyZXR1cm4hMDtyZXR1cm4hMX0pfTt2YXIgUEw9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksaUk9e30sVTI9MCx1ST0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO2cuaXgoZy5vVyxnLkZNKTtnLm9XLnByb3RvdHlwZVtzMl09ITA7Zy5FPWcub1cucHJvdG90eXBlO2cuRS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKG4sVyxELGIpe0FIKHRoaXMsbixXLEQsYil9OwpnLkUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihuLFcsRCxiKXt5Nyh0aGlzLG4sVyxELGIpfTsKZy5FLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5sWjtpZihXKXt2YXIgRD1bXTtmb3IodmFyIGI9MTtXO1c9Vy5sWilELnB1c2goVyksKytifVc9dGhpcy5IZDtiPW4udHlwZXx8bjtpZih0eXBlb2Ygbj09PSJzdHJpbmciKW49bmV3ICRFKG4sVyk7ZWxzZSBpZihuIGluc3RhbmNlb2YgJEUpbi50YXJnZXQ9bi50YXJnZXR8fFc7ZWxzZXt2YXIgdj1uO249bmV3ICRFKGIsVyk7Zy5ZeShuLHYpfXY9ITA7dmFyIGs7aWYoRClmb3Ioaz1ELmxlbmd0aC0xOyFuLkomJms+PTA7ay0tKXt2YXIgaD1uLmN1cnJlbnRUYXJnZXQ9RFtrXTt2PWREKGgsYiwhMCxuKSYmdn1uLkp8fChoPW4uY3VycmVudFRhcmdldD1XLHY9ZEQoaCxiLCEwLG4pJiZ2LG4uSnx8KHY9ZEQoaCxiLCExLG4pJiZ2KSk7aWYoRClmb3Ioaz0wOyFuLkomJms8RC5sZW5ndGg7aysrKWg9bi5jdXJyZW50VGFyZ2V0PURba10sdj1kRChoLGIsITEsbikmJnY7cmV0dXJuIHZ9OwpnLkUubUE9ZnVuY3Rpb24oKXtnLm9XLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5kXyYmdGhpcy5kXy5UaSgpO3RoaXMubFo9bnVsbH07CmcuRS5TXz1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITEsRCxiKX07CmcuRS5lRj1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITAsRCxiKX07CmcuRS53SD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLmRfLnJlbW92ZShTdHJpbmcobiksVyxELGIpfTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiB0aGlzLmRfLnNjKFN0cmluZyhuKSxXLEQsYil9OwpnLkUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24obixXKXtyZXR1cm4gdGhpcy5kXy5oYXNMaXN0ZW5lcihuIT09dm9pZCAwP1N0cmluZyhuKTp2b2lkIDAsVyl9O2cuejc9dHlwZW9mIEFzeW5jQ29udGV4dCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgQXN5bmNDb250ZXh0LlNuYXBzaG90PT09ImZ1bmN0aW9uIj9uPT5uJiZBc3luY0NvbnRleHQuU25hcHNob3Qud3JhcChuKTpuPT5uO3ZhciBNMlM9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLlg9Vzt0aGlzLko9MDt0aGlzLk49bnVsbH1nZXQoKXtpZih0aGlzLko+MCl7dGhpcy5KLS07dmFyIG49dGhpcy5OO3RoaXMuTj1uLm5leHQ7bi5uZXh0PW51bGx9ZWxzZSBuPXRoaXMuVygpO3JldHVybiBufXB1dChuKXt0aGlzLlgobik7dGhpcy5KPDEwMCYmKHRoaXMuSisrLG4ubmV4dD10aGlzLk4sdGhpcy5OPW4pfX07dmFyIGxJO3ZhciBSM2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5OPW51bGx9YWRkKG4sVyl7dmFyIEQ9Q0suZ2V0KCk7RC5zZXQobixXKTt0aGlzLko/dGhpcy5KLm5leHQ9RDp0aGlzLk49RDt0aGlzLko9RH1yZW1vdmUoKXt2YXIgbj1udWxsO3RoaXMuTiYmKG49dGhpcy5OLHRoaXMuTj10aGlzLk4ubmV4dCx0aGlzLk58fCh0aGlzLko9bnVsbCksbi5uZXh0PW51bGwpO3JldHVybiBufX0sQ0s9bmV3IE0yUygoKT0+bmV3IFFmMSxuPT5uLnJlc2V0KCkpLFFmMT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuTj1udWxsfXNldChuLFcpe3RoaXMuTj1uOwp0aGlzLnNjb3BlPVc7dGhpcy5uZXh0PW51bGx9cmVzZXQoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLk49bnVsbH19O3ZhciB3cSxCTCxqZyxWMng7Qkw9ITE7amc9bmV3IFIzYjtnLm1LPShuLFcpPT57d3F8fFYyeCgpO0JMfHwod3EoKSxCTD0hMCk7amcuYWRkKG4sVyl9OwpWMng9KCk9Pnt2YXIgbj1Qcm9taXNlLnJlc29sdmUodm9pZCAwKTt3cT0oKT0+e24udGhlbihUenIpfX07cTgucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0PXRoaXMuSj10aGlzLlc9dGhpcy5OPW51bGw7dGhpcy5YPSExfTsKdmFyIEczPW5ldyBNMlMoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHE4fSxmdW5jdGlvbihuKXtuLnJlc2V0KCl9KTsKZy5YMS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFNPKHRoaXMsKDAsZy56NykodHlwZW9mIG49PT0iZnVuY3Rpb24iP246bnVsbCksKDAsZy56NykodHlwZW9mIFc9PT0iZnVuY3Rpb24iP1c6bnVsbCksRCl9OwpnLlgxLnByb3RvdHlwZS4kZ29vZ19UaGVuYWJsZT0hMDtnLkU9Zy5YMS5wcm90b3R5cGU7Zy5FLmZpbmFsbHk9ZnVuY3Rpb24obil7bj0oMCxnLno3KShuKTtyZXR1cm4gbmV3IGcuWDEoKFcsRCk9PntwcSh0aGlzLGI9PntuKCk7VyhiKX0sYj0+e24oKTsKRChiKX0pfSl9OwpnLkUuc1A9ZnVuY3Rpb24obixXKXtyZXR1cm4gU08odGhpcyxudWxsLCgwLGcuejcpKG4pLFcpfTsKZy5FLmNhdGNoPWcuWDEucHJvdG90eXBlLnNQO2cuRS5jYW5jZWw9ZnVuY3Rpb24obil7aWYodGhpcy5OPT0wKXtsZXQgVz1uZXcgZy5JNShuKTtnLm1LKGZ1bmN0aW9uKCl7WUcodGhpcyxXKX0sdGhpcyl9fTsKZy5FLklRPWZ1bmN0aW9uKG4pe3RoaXMuTj0wO2dwKHRoaXMsMixuKX07CmcuRS5BUz1mdW5jdGlvbihuKXt0aGlzLk49MDtncCh0aGlzLDMsbil9OwpnLkUueXM9ZnVuY3Rpb24oKXtmb3IodmFyIG47bj1ISih0aGlzKTspZnEodGhpcyxuLHRoaXMuTix0aGlzLkspO3RoaXMuVj0hMX07CnZhciBPdT1oNDtnLml4KGcuSTUsZy5UYik7Zy5JNS5wcm90b3R5cGUubmFtZT0iY2FuY2VsIjtnLml4KGcuUEosZy5vVyk7Zy5FPWcuUEoucHJvdG90eXBlO2cuRS5lbmFibGVkPSExO2cuRS5aNj1udWxsO2cuRS5zZXRJbnRlcnZhbD1mdW5jdGlvbihuKXt0aGlzLmd0PW47dGhpcy5aNiYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMuWjYmJnRoaXMuc3RvcCgpfTsKZy5FLlJRPWZ1bmN0aW9uKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1nLlV3KCktdGhpcy5qYjtuPjAmJm48dGhpcy5ndCouOD90aGlzLlo2PXRoaXMuVjcuc2V0VGltZW91dCh0aGlzLmhFLHRoaXMuZ3Qtbik6KHRoaXMuWjYmJih0aGlzLlY3LmNsZWFyVGltZW91dCh0aGlzLlo2KSx0aGlzLlo2PW51bGwpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGljayIpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfX07CmcuRS5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLlo2fHwodGhpcy5aNj10aGlzLlY3LnNldFRpbWVvdXQodGhpcy5oRSx0aGlzLmd0KSx0aGlzLmpiPWcuVXcoKSl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMTt0aGlzLlo2JiYodGhpcy5WNy5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsKX07CmcuRS5tQT1mdW5jdGlvbigpe2cuUEouVEIubUEuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5WN307dmFyIGhxPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuRD1uO3RoaXMuVj0wO3RoaXMuWD0xMDA7dGhpcy5LPSExO3RoaXMuVz1uZXcgTWFwO3RoaXMuWT1uZXcgU2V0O3RoaXMuZmx1c2hJbnRlcnZhbD0zRTQ7dGhpcy5KPW5ldyBnLlBKKHRoaXMuZmx1c2hJbnRlcnZhbCk7dGhpcy5KLlNfKCJ0aWNrIix0aGlzLmosITEsdGhpcyk7Zy51KHRoaXMsdGhpcy5KKX1zZW5kSXNvbGF0ZWRQYXlsb2FkKG4pe3RoaXMuSz1uO3RoaXMuWD0xfWooKXt2YXIgbj1bLi4udGhpcy5XLnZhbHVlcygpXS5maWx0ZXIoVz0+Vy5OLnNpemUpOwpuLmxlbmd0aCYmdGhpcy5ELmZsdXNoKG4sdGhpcy5LKTtGY2Iobik7dGhpcy5WPTA7dGhpcy5KLmVuYWJsZWQmJnRoaXMuSi5zdG9wKCl9TihuKXtyZXR1cm4gdGhpcy5ZLmhhcyhuKT92b2lkIDA6dGhpcy5XLmdldChuKX1kRShuLFcsLi4uRCl7KG49dGhpcy5OKG4pKSYmbiBpbnN0YW5jZW9mIHk4JiYobi5kRShXLC4uLkQpLG81KHRoaXMpKX19O3ZhciBDVj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyxEPXt9KXtzdXBlcihXKTt0aGlzLmNvZGU9bjt0aGlzLm1ldGFkYXRhPUQ7dGhpcy5uYW1lPSJScGNFcnJvciI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfXRvU3RyaW5nKCl7dmFyIG49YFJwY0Vycm9yKCR7d01TKHRoaXMuY29kZSl8fFN0cmluZyh0aGlzLmNvZGUpfSlgO3RoaXMubWVzc2FnZSYmKG4rPSI6ICIrdGhpcy5tZXNzYWdlKTtyZXR1cm4gbn19O2xlLnByb3RvdHlwZS5iWT1mdW5jdGlvbihuKXt2YXIgVz1bXTtUMyh0aGlzLG4sVyk7cmV0dXJuIFcuam9pbigiIil9Owp2YXIgQ3E9eyciJzonXFwiJywiXFwiOiJcXFxcIiwiLyI6IlxcLyIsIlxiIjoiXFxiIiwiXGYiOiJcXGYiLCJcbiI6IlxcbiIsIlxyIjoiXFxyIiwiXHQiOiJcXHQiLCJcdiI6IlxcdTAwMGIifSxNalo9L1x1ZmZmZi8udGVzdCgiXHVmZmZmIik/L1tcXCJceDAwLVx4MWZceDdmLVx1ZmZmZl0vZzovW1xcIlx4MDAtXHgxZlx4N2YtXHhmZl0vZzt2YXIgY1hDO2cuaXgoRjEsQkopO0YxLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07CmNYQz1uZXcgRjE7Zy5peCh3cCxnLm9XKTt2YXIgYXEyPS9eaHR0cHM/JC9pLG5kTT1bIlBPU1QiLCJQVVQiXSxNOD1bXTtnLkU9d3AucHJvdG90eXBlO2cuRS5XVT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpO2cuRkkoTTgsdGhpcyl9OwpnLkUuc2VuZD1mdW5jdGlvbihuLFcsRCxiKXtpZih0aGlzLk4pdGhyb3cgRXJyb3IoIltnb29nLm5ldC5YaHJJb10gT2JqZWN0IGlzIGFjdGl2ZSB3aXRoIGFub3RoZXIgcmVxdWVzdD0iK3RoaXMuSysiOyBuZXdVcmk9IituKTtXPVc/Vy50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuSz1uO3RoaXMuaj0iIjt0aGlzLlc9MDt0aGlzLmNKPSExO3RoaXMuSj0hMDt0aGlzLk49dGhpcy5UQz90aGlzLlRDLk4oKTpjWEMuTigpO3RoaXMuTi5vbnJlYWR5c3RhdGVjaGFuZ2U9KDAsZy56NykoKDAsZy5LdCkodGhpcy5OOCx0aGlzKSk7dHJ5e3RoaXMuZ2V0U3RhdHVzKCksdGhpcy50dz0hMCx0aGlzLk4ub3BlbihXLFN0cmluZyhuKSwhMCksdGhpcy50dz0hMX1jYXRjaChrKXt0aGlzLmdldFN0YXR1cygpO1Y4KHRoaXMsayk7cmV0dXJufW49RHx8IiI7RD1uZXcgTWFwKHRoaXMuaGVhZGVycyk7aWYoYilpZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoYik9PT1PYmplY3QucHJvdG90eXBlKWZvcih2YXIgdiBpbiBiKUQuc2V0KHYsCmJbdl0pO2Vsc2UgaWYodHlwZW9mIGIua2V5cz09PSJmdW5jdGlvbiImJnR5cGVvZiBiLmdldD09PSJmdW5jdGlvbiIpZm9yKGxldCBrIG9mIGIua2V5cygpKUQuc2V0KGssYi5nZXQoaykpO2Vsc2UgdGhyb3cgRXJyb3IoIlVua25vd24gaW5wdXQgdHlwZSBmb3Igb3B0X2hlYWRlcnM6ICIrU3RyaW5nKGIpKTtiPUFycmF5LmZyb20oRC5rZXlzKCkpLmZpbmQoaz0+ImNvbnRlbnQtdHlwZSI9PWsudG9Mb3dlckNhc2UoKSk7CnY9Zy5xaS5Gb3JtRGF0YSYmbiBpbnN0YW5jZW9mIGcucWkuRm9ybURhdGE7IWcuamoobmRNLFcpfHxifHx2fHxELnNldCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiKTtmb3IobGV0IFtrLGhdb2YgRCl0aGlzLk4uc2V0UmVxdWVzdEhlYWRlcihrLGgpO3RoaXMuYmQmJih0aGlzLk4ucmVzcG9uc2VUeXBlPXRoaXMuYmQpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5OJiZ0aGlzLk4ud2l0aENyZWRlbnRpYWxzIT09dGhpcy5PJiYodGhpcy5OLndpdGhDcmVkZW50aWFscz10aGlzLk8pO3RyeXt0aGlzLlYmJihjbGVhclRpbWVvdXQodGhpcy5WKSx0aGlzLlY9bnVsbCksdGhpcy5EPjAmJih0aGlzLmdldFN0YXR1cygpLHRoaXMuVj1zZXRUaW1lb3V0KHRoaXMuVTIuYmluZCh0aGlzKSx0aGlzLkQpKSx0aGlzLmdldFN0YXR1cygpLHRoaXMuWT0hMCx0aGlzLk4uc2VuZChuKSx0aGlzLlk9ITF9Y2F0Y2goayl7dGhpcy5nZXRTdGF0dXMoKSwKVjgodGhpcyxrKX19OwpnLkUuVTI9ZnVuY3Rpb24oKXt0eXBlb2YgY0ohPSJ1bmRlZmluZWQiJiZ0aGlzLk4mJih0aGlzLmo9IlRpbWVkIG91dCBhZnRlciAiK3RoaXMuRCsibXMsIGFib3J0aW5nIix0aGlzLlc9OCx0aGlzLmdldFN0YXR1cygpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTsKZy5FLmFib3J0PWZ1bmN0aW9uKG4pe3RoaXMuTiYmdGhpcy5KJiYodGhpcy5nZXRTdGF0dXMoKSx0aGlzLko9ITEsdGhpcy5YPSEwLHRoaXMuTi5hYm9ydCgpLHRoaXMuWD0hMSx0aGlzLlc9bnx8Nyx0aGlzLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksdGhpcy5kaXNwYXRjaEV2ZW50KCJhYm9ydCIpLFE4KHRoaXMpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuTiYmKHRoaXMuSiYmKHRoaXMuSj0hMSx0aGlzLlg9ITAsdGhpcy5OLmFib3J0KCksdGhpcy5YPSExKSxROCh0aGlzLCEwKSk7d3AuVEIubUEuY2FsbCh0aGlzKX07CmcuRS5OOD1mdW5jdGlvbigpe3RoaXMucU4oKXx8KHRoaXMudHd8fHRoaXMuWXx8dGhpcy5YP25WKHRoaXMpOnRoaXMuZ0soKSl9OwpnLkUuZ0s9ZnVuY3Rpb24oKXtuVih0aGlzKX07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5OfTsKZy5FLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gYTUodGhpcyk9PTR9OwpnLkUuaXNTdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIG49dGhpcy5nZXRTdGF0dXMoKTthOnN3aXRjaChuKXtjYXNlIDIwMDpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwNDpjYXNlIDIwNjpjYXNlIDMwNDpjYXNlIDEyMjM6dmFyIFc9ITA7YnJlYWsgYTtkZWZhdWx0Olc9ITF9aWYoIVcpe2lmKG49bj09PTApbj1nLmZwKFN0cmluZyh0aGlzLkspKVsxXXx8bnVsbCwhbiYmZy5xaS5zZWxmJiZnLnFpLnNlbGYubG9jYXRpb24mJihuPWcucWkuc2VsZi5sb2NhdGlvbi5wcm90b2NvbC5zbGljZSgwLC0xKSksbj0hYXEyLnRlc3Qobj9uLnRvTG93ZXJDYXNlKCk6IiIpO1c9bn1yZXR1cm4gV307CmcuRS5nZXRTdGF0dXM9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGE1KHRoaXMpPjI/dGhpcy5OLnN0YXR1czotMX1jYXRjaChuKXtyZXR1cm4tMX19OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7aWYodGhpcy5OJiZ0aGlzLmlzQ29tcGxldGUoKSlyZXR1cm4gbj10aGlzLk4uZ2V0UmVzcG9uc2VIZWFkZXIobiksbj09PW51bGw/dm9pZCAwOm59OwpnLkUuZ2V0TGFzdEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiB0aGlzLmo9PT0ic3RyaW5nIj90aGlzLmo6U3RyaW5nKHRoaXMuail9O3ZhciBPYjE9Y2xhc3N7c2VuZChuLFc9KCk9Pnt9LEQ9KCk9Pnt9KXtRTVUobi51cmwsYj0+e2I9Yi50YXJnZXQ7CmIuaXNTdWNjZXNzKCk/VyhXMyhiKSk6RChiLmdldFN0YXR1cygpKX0sbi5yZXF1ZXN0VHlwZSxuLmJvZHksbi5aSixuLnRpbWVvdXRNaWxsaXMsbi53aXRoQ3JlZGVudGlhbHMpfUdZKCl7cmV0dXJuIDF9fTt2YXIgTWw9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmxvZ2dlcj1uO3RoaXMuZXZlbnQ9Vzt0aGlzLnN0YXJ0VGltZT1ibigpfWRvbmUoKXt0aGlzLmxvZ2dlci5YKHRoaXMuZXZlbnQsYm4oKS10aGlzLnN0YXJ0VGltZSl9fSxSbT1jbGFzcyBleHRlbmRzIGphMXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyl9fSx4WT1jbGFzcyBleHRlbmRzIFJte2ooKXt9Tigpe31YKCl7fUooKXt9RCgpe31ZKCl7fVcoKXt9VihuLFcsRCxiKXtyZXR1cm4gYn1jSigpe31LKCl7fU8oKXt9fSxXNTE9Y2xhc3MgZXh0ZW5kcyBSbXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCB0aGlzLmxvZ2dlci5kaXNwb3NlKCkpfXVwZGF0ZShuKXt0aGlzLmxvZ2dlci5kaXNwb3NlKCk7CnRoaXMubG9nZ2VyPW59TihuKXt0aGlzLmxvZ2dlci5OKG4pfVgobixXKXt0aGlzLmxvZ2dlci5YKG4sVyl9SihuKXt0aGlzLmxvZ2dlci5KKG4pfUQobil7dGhpcy5sb2dnZXIuRChuKX1ZKG4sVyl7dGhpcy5sb2dnZXIuWShuLFcpfVcoKXt0aGlzLmxvZ2dlci5XKCl9VihuLFcsRCxiKXtyZXR1cm4gdGhpcy5sb2dnZXIuVihuLFcsRCxiKX1jSihuKXt0aGlzLmxvZ2dlci5jSihuKX1LKG4pe3RoaXMubG9nZ2VyLksobil9TyhuKXt0aGlzLmxvZ2dlci5PKG4pfWoobil7dGhpcy5sb2dnZXIuaihuKX19LERHUz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9bjt0aGlzLko9Vzt0aGlzLk49LVc7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQodGhpcy50aW1lcikpfX0sYjdpPWNsYXNzIGV4dGVuZHMgUm17Y29uc3RydWN0b3IobixXKXtzdXBlcigpOwp0aGlzLm1ldHJpY3M9bjt0aGlzLlZqPVd9aihuKXt0aGlzLm1ldHJpY3MuVGsuZEUobix0aGlzLlZqKX1OKG4pe3RoaXMubWV0cmljcy5ldmVudENvdW50Lkoobix0aGlzLlZqKX1YKG4sVyl7dGhpcy5tZXRyaWNzLlBULmRFKFcsbix0aGlzLlZqKX1KKG4pe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lkoobix0aGlzLlZqKX1WKG4sVyxELGIpe3ZhciB2PWJuKCksaz1oPT57aWYoIXRoaXMucU4oKSl7dmFyIHg9Ym4oKS12O3RoaXMubWV0cmljcy5pTC5kRSh4LG4sRCxoLFcsdGhpcy5Wail9fTsKYi50aGVuKCgpPT52b2lkIGsoMCksaD0+dm9pZCBrKGggaW5zdGFuY2VvZiBDVj9oLmNvZGU6LTEpKTsKcmV0dXJuIGJ9Y0oobil7dGhpcy5tZXRyaWNzLlZKLkoobix0aGlzLlZqKX1LKG4pe3RoaXMubWV0cmljcy5jVS5KKG4sdGhpcy5Wail9TyhuKXt0aGlzLm1ldHJpY3MuakMuSihuLHRoaXMuVmopfUQobil7dGhpcy5tZXRyaWNzLnBheWxvYWRTaXplLmRFKG4sdGhpcy5Wail9WShuLFcpe3RoaXMubWV0cmljcy5mNi5kRShXLG4sdGhpcy5Wail9fSxEaHg9Y2xhc3MgZXh0ZW5kcyBiN2l7Y29uc3RydWN0b3IobixXPVtdKXt2YXIgRD17Vmo6bi5Wanx8Il8iLFJoOm4uUmh8fFtdLExUOm4uTFR8MCxSajpuLlJqLHREOm4udER8fCgoKT0+e30pLApybzpuLnJvfHwoKHYsayk9Pm5sMSh2LGssRC50RCxELlJqKSl9LGI9RC5ybygiNTMiLEQuUmguY29uY2F0KFcpKTsKc3VwZXIoe1RrOm5ldyBDMHgoYiksZXJyb3JDb3VudDpuZXcgTXQxKGIpLGV2ZW50Q291bnQ6bmV3IEYyWihiKSxQVDpuZXcgd1FyKGIpLGlMOm5ldyBCYWkoYiksVko6bmV3IFJkYihiKSxjVTpuZXcgUWF4KGIpLGpDOm5ldyBWdGkoYikscGF5bG9hZFNpemU6bmV3IGNqeChiKSxmNjpuZXcgYTZ3KGIpfSxELlZqKTt0aGlzLm9wdGlvbnM9RDt0aGlzLnNlcnZpY2U9Yjt0aGlzLlRDPSFuLnJvO3RoaXMudHc9bmV3IERHUygoKT0+dm9pZCB0aGlzLnNlcnZpY2UuaigpLEQuTFQpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy50dy5kaXNwb3NlKCk7dGhpcy5UQyYmdGhpcy5zZXJ2aWNlLmRpc3Bvc2UoKX0pOwpnLmJmKFcuc2xpY2UoKSl9Vygpe1dXcih0aGlzLnR3KX19O3ZhciBxdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgR0g9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHIkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDAsciQubWVzc2FnZUlkKX19LFg0Wj1LOChyJCksdmRiPWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT5XIGluc3RhbmNlb2YgbiYmIXY5KFcpKX0ociQpOwpyJC5tZXNzYWdlSWQ9ImJma2oiO3ZhciBjND1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIga0VpPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGhZWj1LOChrRWkpO2cuS1Y9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKG4sVyk9Pnt0aGlzLnJlc29sdmU9bjt0aGlzLnJlamVjdD1XfSl9fTt2YXIgQXE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5KPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMDApO3RoaXMuTj1uZXcga0VpO2lmKCJjaGFsbGVuZ2UiaW4gbiYmdmRiKG4uY2hhbGxlbmdlKSl7dmFyIFc9WTkobi5jaGFsbGVuZ2UsNCx2b2lkIDAseFUpO3ZhciBEPVk5KG4uY2hhbGxlbmdlLDUsdm9pZCAwLHhVKTtZOShuLmNoYWxsZW5nZSw3LHZvaWQgMCx4VSkmJih0aGlzLk49aFlaKFk5KG4uY2hhbGxlbmdlLDcsdm9pZCAwLHhVKSkpfWVsc2Uoe3Byb2dyYW06VyxnbG9iYWxOYW1lOkR9PW4pO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soYXN5bmMoKT0+e3ZhciB7Vng6R309YXdhaXQgdGhpcy5XO0c/LigpfSk7CnRoaXMubG9nZ2VyPUxWKG4ueDN8fHt9LHRoaXMuTik7Zy51KHRoaXMsdGhpcy5sb2dnZXIpO3ZhciBiPW5ldyBnLktWO3RoaXMuVz1iLnByb21pc2U7dGhpcy5sb2dnZXIuTigidCIpO3ZhciB2PXRoaXMubG9nZ2VyLnNoYXJlKCksaz1uZXcgTWwodiwidCIpLGg9KEcscixOLEgpPT57aWYoIXRoaXMubG9nZ2VyLnFOKCkpe3ZhciBBPSJrIjtyP0E9ImgiOk4mJihBPSJ1Iik7QSE9PSJrIj9IIT09MCYmKHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpKTp0aGlzLko8PTA/KHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpLHRoaXMuSj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKSk6dGhpcy5KLS19fSx4PShHLHIsTixIKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntrLmRvbmUoKTsKdi5XKCk7di5kaXNwb3NlKCk7Yi5yZXNvbHZlKHtGeTpHLFZ4OnIscDU6Tix4VTpIfSl9KX0sTD1bKEcscik9Pnt0aGlzLmxvZ2dlci5YKEcscil9LApHPT57dGhpcy5sb2dnZXIuSihHKX0sCkc9Pnt0aGlzLmxvZ2dlci5EKEcpfSwKKEcscik9Pnt0aGlzLmxvZ2dlci5ZKEcscil9XTsKaWYoIWcucWlbRF0pdGhyb3cgdGhpcy5sb2dnZXIuSigyNSksRXJyb3IoIkVHT1UiKTtpZighZy5xaVtEXS5hKXRocm93IHRoaXMubG9nZ2VyLkooMjYpLEVycm9yKCJFTElVIik7dHJ5e2xldCBHPWcucWlbRF0uYTtEPVtdO2xldCByPVtdO3ZhciBlPW4wKHRoaXMuTik7Zm9yKGxldCBBPTA7QTxlLmxlbmd0aDtBKyspRC5wdXNoKGVbQV0pLHIucHVzaCgxKTtsZXQgTj1VaXcodGhpcy5OKTtmb3IoZT0wO2U8Ti5sZW5ndGg7ZSsrKUQucHVzaChOW2VdKSxyLnB1c2goMik7bGV0IFtIXT1HKFcseCwhMCxuLnczLGgsW0Qscl0sWTkodGhpcy5OLDUpLCExLEwpO3RoaXMuWD1IO3RoaXMuT3Y9Yi5wcm9taXNlLnRoZW4oKCk9Pnt9KX1jYXRjaChHKXt0aHJvdyB0aGlzLmxvZ2dlci5KKDI4KSxHOwp9fXNuYXBzaG90KG4pe2lmKHRoaXMucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO3RoaXMubG9nZ2VyLk4oIm4iKTt2YXIgVz10aGlzLmxvZ2dlci5zaGFyZSgpO3JldHVybiB0aGlzLlcudGhlbigoe0Z5OkR9KT0+bmV3IFByb21pc2UoYj0+e3ZhciB2PW5ldyBNbChXLCJuIik7RChrPT57di5kb25lKCk7Vy5qKGsubGVuZ3RoKTtXLlcoKTtXLmRpc3Bvc2UoKTtiKGspfSxbbi53XywKbi5HbCxuLnRMLG4uTU9dKX0pKX1tNShuKXtpZih0aGlzLnFOKCkpdGhyb3cgRXJyb3IoIkFscmVhZHkgZGlzcG9zZWQiKTsKdGhpcy5sb2dnZXIuTigibiIpO3ZhciBXPXYzKHRoaXMubG9nZ2VyLCgpPT50aGlzLlgoW24ud18sbi5HbCxuLnRMLG4uTU9dKSwibiIpOwp0aGlzLmxvZ2dlci5qKFcubGVuZ3RoKTt0aGlzLmxvZ2dlci5XKCk7cmV0dXJuIFd9UzEobil7dGhpcy5XLnRoZW4oKHtwNTpXfSk9PntXPy4obil9KX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX07dmFyIGVtPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5KPXt9O3RoaXMuTj1udWxsfX07dmFyICRZPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBOdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgZlY9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuY2xpZW50PW47dGhpcy5yZXF1ZXN0S2V5PVc7dGhpcy5OPUR9Wmoobil7cmV0dXJuIEgzKHRoaXMsbixuZXcgeFksMCl9fTt2YXIgVEg9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5vcHRpb25zPW47dGhpcy5WPW5ldyBnLktWO3RoaXMuT3Y9dGhpcy5WLnByb21pc2U7dGhpcy5qPW5ldyBnLktWO3RoaXMuWT0xO3RoaXMuSj1uZXcgZy5LVjt0aGlzLlg9W107dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnFKPW4ucUp8fCgoKT0+e30pOwp0aGlzLmxvZ2dlcj1uZXcgVzUxKExWKG4ueDN8fHt9KSk7ckFiKHRoaXMsbi5VZyxuLnFULG4ucVUsbi5USCx7Li4ueEdqLC4uLihuLmtkfHx7fSl9KTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHNQMih0aGlzKSl9YXN5bmMgc25hcHNob3Qobil7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7CnRoaXMuV3x8dGhpcy5LfHxhd2FpdCB0aGlzLmoucHJvbWlzZTtpZih0aGlzLlcpcmV0dXJuIGF3YWl0IHRoaXMuVy5zbmFwc2hvdChuKTt0aHJvdyB0aGlzLks7fXBhdXNlKCl7dGhpcy5xTigpfHx0aGlzLmlzUGF1c2VkfHwodGhpcy5pc1BhdXNlZD0hMCx0aGlzLk4mJnRoaXMuTi5wYXVzZSgpKX1yZXN1bWUoKXshdGhpcy5xTigpJiZ0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLk4mJnRoaXMuTi5yZXN1bWUoKSl9YXN5bmMgY2hlY2tGb3JSZWZyZXNoKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7aWYodGhpcy5OKXt2YXIgbj10aGlzLk47bi5pc0V4cGlyZWQoKT8oT2wobiksbi5RNCgwKSxuPSEwKTpuPSExO24mJmF3YWl0IHRoaXMuSi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy5KLnByb21pc2V9UzEobil7dGhpcy5XPy5TMT8uKG4pfWhhbmRsZUVycm9yKG4pe3RoaXMucU4oKXx8KHRoaXMuSz1uLHRoaXMuai5yZXNvbHZlKCksCnRoaXMub3B0aW9ucy50Nj8uKG4pKX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX0seEdqPXtGWjo0MzJFNSx1bTozRTUsbmI6MTAsamQ6MUU0LGhwOjNFNCxRWDozRTQscUs6NkU0LENxOjFFMyx3ODo2RTQsb3o6NkU1LGQ4Oi4yNSxBaToyLG1heEF0dGVtcHRzOjEwfSxTbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5lbmRUaW1lTXM9MDt0aGlzLk49bnVsbDt0aGlzLmlzUGF1c2VkPSExO3RoaXMudGljaz0oKT0+e2lmKCF0aGlzLmlzUGF1c2VkKXt2YXIgYj10aGlzLmVuZFRpbWVNcy1EYXRlLm5vdygpO2I8PXRoaXMuVz8odGhpcy5OPW51bGwsdGhpcy5RNCgwKSk6dGhpcy5OPXNldFRpbWVvdXQodGhpcy50aWNrLE1hdGgubWluKGIsdGhpcy51bSkpfX07CnRoaXMudW09Vzt0aGlzLlc9RDt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoYj0+e3RoaXMuUTQ9Yn0pOwpZVFUodGhpcyxuKX1wYXVzZSgpe3RoaXMuaXNQYXVzZWR8fCh0aGlzLmlzUGF1c2VkPSEwLE9sKHRoaXMpKX1yZXN1bWUoKXt0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLnRpY2soKSl9Sigpe09sKHRoaXMpO3RoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlE0KDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIEhwaT1NYXRoLmltdWw/PygobixXKT0+bipXfDApLFVsPVsxOTYsCjIwMCwyMjQsMThdLHVuPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0wLEQ9W10pe3RoaXMubWF4SXRlbXM9bjt0aGlzLk49Vzt0aGlzLko9RH1iWSgpe3JldHVybiBTdHJpbmcodGhpcy5OKSsiLCIrdGhpcy5KLmpvaW4oKX1xcChuLFcpe3ZhciBEPXZvaWQgMDtpZih0aGlzLkpbdGhpcy5OXSE9PW4pe2xldCBiPXRoaXMuSi5pbmRleE9mKG4pO2IhPT0tMT8odGhpcy5KLnNwbGljZShiLDEpLGI8dGhpcy5OJiZ0aGlzLk4tLSx0aGlzLkouc3BsaWNlKHRoaXMuTiwwLG4pKTooRD10aGlzLkpbdGhpcy5OXSx0aGlzLkpbdGhpcy5OXT1uKX10aGlzLk49KHRoaXMuTisxKSV0aGlzLm1heEl0ZW1zO249UDMoImlVNXEtIU85QCQiLHRoaXMuYlkoKSk7RCYmbiYmVyhEKTtyZXR1cm4gbn19LEw1Uz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMubG9nZ2VyPVc7dHJ5e3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UmJiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtfWNhdGNoKGIpe0Q9ITF9RCYmKHRoaXMuaW5kZXg9SWV3KG4pKX1OKG4sVyxELGIpe3ZhciB2PXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PmZlYih0aGlzLmluZGV4LHlpKG4pLFcsRCxiKSwiVyIpOiJ1IjsKdGhpcy5sb2dnZXIuTyh2KX1KKG4sVyl7dmFyIFtELGJdPXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PkpBdyh5aShuKSxXKSwiUiIpOlsidSJdOwp0aGlzLmxvZ2dlci5LKEQpO3JldHVybiBifX07dmFyIEFBUz17dG9TdHJpbmc6ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO24tPS0yMTQ3NDgzNjQ4O1dbRCsrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIuY2hhckF0KG4lNTIpO2ZvcihuPU1hdGguZmxvb3Iobi81Mik7bj4wOylXW0QrK109ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5Ii5jaGFyQXQobiU2Miksbj1NYXRoLmZsb29yKG4vNjIpO3JldHVybiBXLmpvaW4oIiIpfX07dmFyIFFwPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5YPW5ldyBnLktWfVpSKG4sVyl7dmFyIEQ9dGhpcy5XKG4pO1c/LihEKTtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9PmcuRUEoRCwyKSx0aGlzLkopfUZwKG4sVyxEKXtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9Plc/dGhpcy5aUihuLEQpOnRoaXMuVyhuLEQpLHRoaXMuTil9fSxGNj1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyxELGIpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLks9RDt0aGlzLk49Im0iO3RoaXMuSj0ieCI7dGhpcy5WPTA7ZCQodGhpcyxiKX1XKG4sVyl7dGhpcy5sb2dnZXIuTih0aGlzLk4pOysrdGhpcy5WPj10aGlzLksmJnRoaXMuWC5yZXNvbHZlKCk7dmFyIEQ9bigpO249djModGhpcy5sb2dnZXIsKCk9PnRoaXMuaihEKSwiQyIpOwppZihuPT09dm9pZCAwKXRocm93IG5ldyBRRygxNywiWU5KOlVuZGVmaW5lZCIpO2lmKCEobiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXRocm93IG5ldyBRRygxOCwiT0RNOkludmFsaWQiKTtXPy4obik7cmV0dXJuIG59fSxVaGo9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJmIjt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB0aGlzLmp9fSxacHQ9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJ3Ijt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB2Myh0aGlzLmxvZ2dlciwoKT0+bHAodGhpcy5qKSwiZCIpfVpSKCl7cmV0dXJuIHRoaXMuan19LG9sdz1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIobik7CnRoaXMuZXJyb3I9Vzt0aGlzLk49ImUiO3RoaXMuSj0ieSJ9Vygpe2lmKHRoaXMuailyZXR1cm4gdGhpcy5qO3RoaXMuaj1sbih0aGlzLG49PiJfIittaHcobikpOwpyZXR1cm4gbG4odGhpcyxuPT5uKX19LFFpPWNsYXNzIGV4dGVuZHMgUXB7Y29uc3RydWN0b3IobixXLEQpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLmNsaWVudFN0YXRlPUQ7dGhpcy5OPSJTIjt0aGlzLko9InEifVcoKXt2YXIgbj1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxXPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sRD1XLmNvbmNhdChbdGhpcy5qJjI1NSx0aGlzLmNsaWVudFN0YXRlXSxbbj4+MjQmMjU1LG4+PjE2JjI1NSxuPj44JjI1NSxuJjI1NV0pO249bmV3IFVpbnQ4QXJyYXkoMitELmxlbmd0aCk7blswXT0zNDtuWzFdPUQubGVuZ3RoO24uc2V0KEQsMik7RD1uLnN1YmFycmF5KDIpO1c9Vy5sZW5ndGg7Zm9yKGxldCBiPVc7YjxELmxlbmd0aDsrK2IpRFtiXV49RFtiJVddO3RoaXMubG9nZ2VyLmNKKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBufX07dmFyIGVZaT17WFU6M0U0LHJTOjJFNH0sQW10PWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD1uZXcgZy5LVjt0aGlzLmo9MDt0aGlzLko9dm9pZCAwO3RoaXMuc3RhdGU9Mjt0aGlzLk8xPW4uTzE7dGhpcy5VZz1uLlVnO3RoaXMua2Q9ey4uLmVZaSwuLi4obi5rZHx8e30pfTt0aGlzLmxvZ2dlcj1uLk8xLlFEKCk7dGhpcy5vbkVycm9yPW4ub25FcnJvcj8/KCgpPT57fSk7CnRoaXMuWGw9bi5YbHx8ITE7aWYoZ2R0KG4pKXtsZXQgYj10aGlzLk8xO3RoaXMuVj0oKT0+TlR0KGIpLmNhdGNoKHY9Pnt0aGlzLko9dj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRyh0aGlzLk4/MjA6MzIsIlRSRzpEaXNwb3NlZCIsdikpO3RoaXMuTj8uZGlzcG9zZSgpO3RoaXMuTj12b2lkIDA7dGhpcy5YLnJlamVjdCh2KX0pOwpwNGkoYiwoKT0+dm9pZCBCMyh0aGlzKSk7CmIuWT09PTImJkIzKHRoaXMpfWVsc2UgdGhpcy5WPW4uRTYsQjModGhpcyk7dmFyIFc9dGhpcy5sb2dnZXIuc2hhcmUoKTtXLk4oIm8iKTt2YXIgRD1uZXcgTWwoVywibyIpO3RoaXMuWC5wcm9taXNlLnRoZW4oKCk9PntELmRvbmUoKTtXLlcoKTtXLmRpc3Bvc2UoKX0sKCk9PnZvaWQgVy5kaXNwb3NlKCkpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5OPyh0aGlzLk4uZGlzcG9zZSgpLHRoaXMuTj12b2lkIDApOnRoaXMuSj90aGlzLmxvZ2dlci5XKCk6KHRoaXMuSj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRygzMiwiVE5QOkRpc3Bvc2VkIikpLHRoaXMubG9nZ2VyLlcoKSx0aGlzLlgucmVqZWN0KHRoaXMuSikpfSk7CmcudSh0aGlzLHRoaXMubG9nZ2VyKX1IJCgpe3JldHVybiB0aGlzLlgucHJvbWlzZX1XKG4pe3JldHVybiBNdih0aGlzLHsuLi5ufSwhMSl9WlIobil7cmV0dXJuIE12KHRoaXMsey4uLm59LCEwKX15aChuKXtpZighKG4+MTUwKSl0cnl7dGhpcy5jYWNoZT1uZXcgTDVTKG4sdGhpcy5sb2dnZXIpfWNhdGNoKFcpe3RoaXMucmVwb3J0RXJyb3IobmV3IFFHKDIyLCJHQko6aW5pdCIsVykpfX1yZXBvcnRFcnJvcihuKXt0aGlzLmxvZ2dlci5KKG4uY29kZSk7dGhpcy5vbkVycm9yKG4pO3JldHVybiBufX0sZ2R0PWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT57aWYoIWtDeChXKSlyZXR1cm4hMTtmb3IobGV0IFtELGJdb2YgT2JqZWN0LmVudHJpZXMobikpe2xldCB2PUQsaz1iO2lmKCEodiBpbiBXKSl7aWYoay5LUD09PSEwKWNvbnRpbnVlO3JldHVybiExfWlmKCFrKFdbdl0pKXJldHVybiExfXJldHVybiEwfSl9KHtPMTpxMyhuPT5uIGluc3RhbmNlb2YgVEgpfSwiIik7dmFyIHFuaT1jbGFzc3tjb25zdHJ1Y3Rvcigpe2lmKCFWcCl7VnA9bmV3IGhxKG5ldyBYbkMpO3ZhciBuPXYwKCJjbGllbnRfc3RyZWFtel93ZWJfZmx1c2hfY291bnQiLC0xKTtuIT09LTEmJihWcC5YPW4pfXRoaXMuVz1uPVZwO3VlKG4sIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLERYKCJ0eXBlIiksRFgoInNlcXVlbmNlIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L3lvdXR1YmUvYWJhL2dhYyIpfX07Zy5jcT1kb2N1bWVudDtnLncyPXdpbmRvdzt2YXIgZGhaPXtIdToiYWxsb3ctZm9ybXMiLFVpOiJhbGxvdy1tb2RhbHMiLEdvOiJhbGxvdy1vcmllbnRhdGlvbi1sb2NrIixFaToiYWxsb3ctcG9pbnRlci1sb2NrIixNTToiYWxsb3ctcG9wdXBzIixmRToiYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IixGODoiYWxsb3ctcHJlc2VudGF0aW9uIixEczoiYWxsb3ctc2FtZS1vcmlnaW4iLHZ1OiJhbGxvdy1zY3JpcHRzIixPaToiYWxsb3ctdG9wLW5hdmlnYXRpb24iLGdNOiJhbGxvdy10b3AtbmF2aWdhdGlvbi1ieS11c2VyLWFjdGl2YXRpb24ifSxsZVM9Zy53RCgoKT0+ekhpKCkpO2cuRT1nLmJyLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuYnIodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNvbnRhaW5zPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5NWT9uLng+PXRoaXMubGVmdCYmbi54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmbi55Pj10aGlzLnRvcCYmbi55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PW4ubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PW4ubGVmdCtuLndpZHRoJiZ0aGlzLnRvcDw9bi50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1uLnRvcCtuLmhlaWdodH07CmcuRS5nZXRTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBnLlFlKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpnLkUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307CmcuRS5zY2FsZT1mdW5jdGlvbihuLFcpe1c9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47dGhpcy5sZWZ0Kj1uO3RoaXMud2lkdGgqPW47dGhpcy50b3AqPVc7dGhpcy5oZWlnaHQqPVc7cmV0dXJuIHRoaXN9O3ZhciBqUEM9L14tLS4rLyxMVz17fTtnLkdFMj1nLndEKCgpPT57dmFyIG49ITE7dHJ5e2xldCBXPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldCgpe249ITB9fSk7Zy5xaS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLFcpfWNhdGNoKFcpe31yZXR1cm4gbn0pO3ZhciB6Q3c9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIHRJdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgJEcxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmZ2PW47dGhpcy5sMD1XO3RoaXMubWV0YWRhdGE9RH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfX07dmFyIEJUdD1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30pe3RoaXMuUHo9bjt0aGlzLm1ldGFkYXRhPVc7dGhpcy5zdGF0dXM9bnVsbH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfWdldFN0YXR1cygpe3JldHVybiB0aGlzLnN0YXR1c319O3ZhciByc3c9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLm5hbWU9bjt0aGlzLm1ldGhvZFR5cGU9InVuYXJ5Ijt0aGlzLnJlcXVlc3RUeXBlPVc7dGhpcy5yZXNwb25zZVR5cGU9RDt0aGlzLk49Yjt0aGlzLlc9dn1KKG4sVz17fSl7cmV0dXJuIG5ldyAkRzEobix0aGlzLFcpfWdldE5hbWUoKXtyZXR1cm4gdGhpcy5uYW1lfX07dmFyIHNPTT1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvQ3JlYXRlIiwkWSx0SXQsbj0+bi5iWSgpLEs4KHRJdCkpO3ZhciBOUDI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHFUUz1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvR2VuZXJhdGVJVCIsTnYsTlAyLG49Pm4uYlkoKSxLOChOUDIpKTt2YXIgWDJyPW5ldyBTZXQoWyJTQVBJU0lESEFTSCIsIkFQSVNJREhBU0giXSk7dmFyIFJIaT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0VmFsdWUoKXt2YXIgbj1pVyh0aGlzLDIpO2lmKEFycmF5LmlzQXJyYXkobil8fG4gaW5zdGFuY2VvZiBnLlFtKXRocm93IEVycm9yKCJDYW5ub3QgYWNjZXNzIHRoZSBBbnkudmFsdWUgZmllbGQgb24gQW55IHByb3RvcyBlbmNvZGVkIHVzaW5nIHRoZSBqc3BiIGZvcm1hdCwgY2FsbCB1bnBhY2tKc3BiIGluc3RlYWQiKTtyZXR1cm4gUnoodGhpcywyKX19O3ZhciBNMWI9SzgoY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE1lc3NhZ2UoKXtyZXR1cm4gWTkodGhpcywyKX19KTt2YXIgdHUxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPVtdO3RoaXMuWD1bXTt0aGlzLmo9W107dGhpcy5XPVtdO3RoaXMuTj1bXTt0aGlzLlY9bi5NRTt0aGlzLks9Vzt0aGlzLnhocj1uLnhocjt0aGlzLlYmJnc0cih0aGlzKX14VihuLFcpe249PT0iZGF0YSI/dGhpcy5KLnB1c2goVyk6bj09PSJtZXRhZGF0YSI/dGhpcy5YLnB1c2goVyk6bj09PSJzdGF0dXMiP3RoaXMuai5wdXNoKFcpOm49PT0iZW5kIj90aGlzLlcucHVzaChXKTpuPT09ImVycm9yIiYmdGhpcy5OLnB1c2goVyl9cmVtb3ZlTGlzdGVuZXIobixXKXtuPT09ImRhdGEiP0ExKHRoaXMuSixXKTpuPT09Im1ldGFkYXRhIj9BMSh0aGlzLlgsVyk6bj09PSJzdGF0dXMiP0ExKHRoaXMuaixXKTpuPT09ImVuZCI/QTEodGhpcy5XLFcpOm49PT0iZXJyb3IiJiZBMSh0aGlzLk4sVyk7cmV0dXJuIHRoaXN9Y2FuY2VsKCl7dGhpcy54aHIuYWJvcnQoKX19LFFQUz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoKTsKdGhpcy5uYW1lPSJBc3luY1N0YWNrIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTtnLml4KG1HLEJKKTttRy5wcm90b3R5cGUuTj1mdW5jdGlvbigpe3ZhciBuPW5ldyBLVyh0aGlzLlgsdGhpcy5XKTt0aGlzLkomJm4uc2V0Q3JlZGVudGlhbHNNb2RlKHRoaXMuSik7cmV0dXJuIG59OwptRy5wcm90b3R5cGUuc2V0Q3JlZGVudGlhbHNNb2RlPWZ1bmN0aW9uKG4pe3RoaXMuSj1ufTsKZy5peChLVyxnLm9XKTtnLkU9S1cucHJvdG90eXBlO2cuRS5vcGVuPWZ1bmN0aW9uKG4sVyl7aWYodGhpcy5yZWFkeVN0YXRlIT0wKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcigiRXJyb3IgcmVvcGVuaW5nIGEgY29ubmVjdGlvbiIpO3RoaXMuY0o9bjt0aGlzLk89Vzt0aGlzLnJlYWR5U3RhdGU9MTtQWSh0aGlzKX07CmcuRS5zZW5kPWZ1bmN0aW9uKG4pe2lmKHRoaXMucmVhZHlTdGF0ZSE9MSl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIm5lZWQgdG8gY2FsbCBvcGVuKCkgZmlyc3QuICIpO2lmKHRoaXMuWS5zaWduYWwuYWJvcnRlZCl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIik7dGhpcy5OPSEwO3ZhciBXPXtoZWFkZXJzOnRoaXMuRCxtZXRob2Q6dGhpcy5jSixjcmVkZW50aWFsczp0aGlzLmosY2FjaGU6dm9pZCAwLHNpZ25hbDp0aGlzLlkuc2lnbmFsfTtuJiYoVy5ib2R5PW4pOyh0aGlzLnR3fHxnLnFpKS5mZXRjaChuZXcgUmVxdWVzdCh0aGlzLk8sVykpLnRoZW4odGhpcy5HRS5iaW5kKHRoaXMpLHRoaXMuRFAuYmluZCh0aGlzKSl9OwpnLkUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLnN0YXR1cz0wO3RoaXMuWS5hYm9ydCgiUmVxdWVzdCB3YXMgYWJvcnRlZC4iKTt0aGlzLlcmJnRoaXMuVy5jYW5jZWwoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIikuY2F0Y2goKCk9Pnt9KTsKdGhpcy5yZWFkeVN0YXRlPj0xJiZ0aGlzLk4mJnRoaXMucmVhZHlTdGF0ZSE9NCYmKHRoaXMuTj0hMSxaYSh0aGlzKSk7dGhpcy5yZWFkeVN0YXRlPTB9OwpnLkUuR0U9ZnVuY3Rpb24obil7aWYodGhpcy5OJiYodGhpcy5YPW4sdGhpcy5KfHwodGhpcy5zdGF0dXM9dGhpcy5YLnN0YXR1cyx0aGlzLnN0YXR1c1RleHQ9dGhpcy5YLnN0YXR1c1RleHQsdGhpcy5KPW4uaGVhZGVycyx0aGlzLnJlYWR5U3RhdGU9MixQWSh0aGlzKSksdGhpcy5OJiYodGhpcy5yZWFkeVN0YXRlPTMsUFkodGhpcyksdGhpcy5OKSkpaWYodGhpcy5yZXNwb25zZVR5cGU9PT0iYXJyYXlidWZmZXIiKW4uYXJyYXlCdWZmZXIoKS50aGVuKHRoaXMuSFQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpO2Vsc2UgaWYodHlwZW9mIGcucWkuUmVhZGFibGVTdHJlYW0hPT0idW5kZWZpbmVkIiYmImJvZHkiaW4gbil7dGhpcy5XPW4uYm9keS5nZXRSZWFkZXIoKTtpZih0aGlzLlYpe2lmKHRoaXMucmVzcG9uc2VUeXBlKXRocm93IEVycm9yKCdyZXNwb25zZVR5cGUgbXVzdCBiZSBlbXB0eSBmb3IgInN0cmVhbUJpbmFyeUNodW5rcyIgbW9kZSByZXNwb25zZXMuJyk7dGhpcy5yZXNwb25zZT0KW119ZWxzZSB0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiLHRoaXMuSz1uZXcgVGV4dERlY29kZXI7T2oodGhpcyl9ZWxzZSBuLnRleHQoKS50aGVuKHRoaXMuVUQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpfTsKZy5FLmxFPWZ1bmN0aW9uKG4pe2lmKHRoaXMuTil7aWYodGhpcy5WJiZuLnZhbHVlKXRoaXMucmVzcG9uc2UucHVzaChuLnZhbHVlKTtlbHNlIGlmKCF0aGlzLlYpe3ZhciBXPW4udmFsdWU/bi52YWx1ZTpuZXcgVWludDhBcnJheSgwKTtpZihXPXRoaXMuSy5kZWNvZGUoVyx7c3RyZWFtOiFuLmRvbmV9KSl0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0Kz1XfW4uZG9uZT9aYSh0aGlzKTpQWSh0aGlzKTt0aGlzLnJlYWR5U3RhdGU9PTMmJk9qKHRoaXMpfX07CmcuRS5VRD1mdW5jdGlvbihuKXt0aGlzLk4mJih0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PW4sWmEodGhpcykpfTsKZy5FLkhUPWZ1bmN0aW9uKG4pe3RoaXMuTiYmKHRoaXMucmVzcG9uc2U9bixaYSh0aGlzKSl9OwpnLkUuRFA9ZnVuY3Rpb24oKXt0aGlzLk4mJlphKHRoaXMpfTsKZy5FLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24obixXKXt0aGlzLkQuYXBwZW5kKG4sVyl9OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuSj90aGlzLkouZ2V0KG4udG9Mb3dlckNhc2UoKSl8fCIiOiIifTsKZy5FLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe2lmKCF0aGlzLkopcmV0dXJuIiI7Zm9yKHZhciBuPVtdLFc9dGhpcy5KLmVudHJpZXMoKSxEPVcubmV4dCgpOyFELmRvbmU7KUQ9RC52YWx1ZSxuLnB1c2goRFswXSsiOiAiK0RbMV0pLEQ9Vy5uZXh0KCk7cmV0dXJuIG4uam9pbigiXHJcbiIpfTsKZy5FLnNldENyZWRlbnRpYWxzTW9kZT1mdW5jdGlvbihuKXt0aGlzLmo9bn07Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShLVy5wcm90b3R5cGUsIndpdGhDcmVkZW50aWFscyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0iaW5jbHVkZSJ9LApzZXQ6ZnVuY3Rpb24obil7dGhpcy5zZXRDcmVkZW50aWFsc01vZGUobj8iaW5jbHVkZSI6InNhbWUtb3JpZ2luIil9fSk7Zy5Vai5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPXRoaXMuWDtXJiZuLnB1c2goek4oVyxwbngsITApLCI6Iik7dmFyIEQ9dGhpcy5OO2lmKER8fFc9PSJmaWxlIiluLnB1c2goIi8vIiksKFc9dGhpcy5ZKSYmbi5wdXNoKHpOKFcscG54LCEwKSwiQCIpLG4ucHVzaChxaChEKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxEPXRoaXMuVixEIT1udWxsJiZuLnB1c2goIjoiLFN0cmluZyhEKSk7aWYoRD10aGlzLkopdGhpcy5OJiZELmNoYXJBdCgwKSE9Ii8iJiZuLnB1c2goIi8iKSxuLnB1c2goek4oRCxELmNoYXJBdCgwKT09Ii8iP1luTTpIN2osITApKTsoRD10aGlzLlcudG9TdHJpbmcoKSkmJm4ucHVzaCgiPyIsRCk7KEQ9dGhpcy5qKSYmbi5wdXNoKCIjIix6TihELGZVYikpO3JldHVybiBuLmpvaW4oIiIpfTsKZy5Vai5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihuKXt2YXIgVz10aGlzLmNsb25lKCksRD0hIW4uWDtEP3lOKFcsbi5YKTpEPSEhbi5ZO0Q/Vy5ZPW4uWTpEPSEhbi5OO0Q/RWooVyxuLk4pOkQ9bi5WIT1udWxsO3ZhciBiPW4uSjtpZihEKWlyKFcsbi5WKTtlbHNlIGlmKEQ9ISFuLkope2lmKGIuY2hhckF0KDApIT0iLyIpaWYodGhpcy5OJiYhdGhpcy5KKWI9Ii8iK2I7ZWxzZXt2YXIgdj1XLkoubGFzdEluZGV4T2YoIi8iKTt2IT0tMSYmKGI9Vy5KLnNsaWNlKDAsdisxKStiKX12PWI7aWYodj09Ii4uInx8dj09Ii4iKWI9IiI7ZWxzZSBpZih2LmluZGV4T2YoIi4vIikhPS0xfHx2LmluZGV4T2YoIi8uIikhPS0xKXtiPWcualUodiwiLyIpO3Y9di5zcGxpdCgiLyIpO2xldCBrPVtdO2ZvcihsZXQgaD0wO2g8di5sZW5ndGg7KXtsZXQgeD12W2grK107eD09Ii4iP2ImJmg9PXYubGVuZ3RoJiZrLnB1c2goIiIpOng9PSIuLiI/KChrLmxlbmd0aD4xfHxrLmxlbmd0aD09MSYma1swXSE9CiIiKSYmay5wb3AoKSxiJiZoPT12Lmxlbmd0aCYmay5wdXNoKCIiKSk6KGsucHVzaCh4KSxiPSEwKX1iPWsuam9pbigiLyIpfWVsc2UgYj12fUQ/Vy5KPWI6RD1uLlcudG9TdHJpbmcoKSE9PSIiO0Q/dXIoVyxuLlcuY2xvbmUoKSk6RD0hIW4uajtEJiYoVy5qPW4uaik7cmV0dXJuIFd9OwpnLlVqLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5Vaih0aGlzKX07CnZhciBwbng9L1sjXC9cP0BdL2csSDdqPS9bI1w/Ol0vZyxZbk09L1sjXD9dL2csRHhTPS9bI1w/QF0vZyxmVWI9LyMvZztnLkU9ZGgucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLlc9bnVsbDtuPWpTKHRoaXMsbik7dmFyIEQ9dGhpcy5OLmdldChuKTtEfHx0aGlzLk4uc2V0KG4sRD1bXSk7RC5wdXNoKFcpO3RoaXMuSj10aGlzLkorMTtyZXR1cm4gdGhpc307CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7VE4odGhpcyk7bj1qUyh0aGlzLG4pO3JldHVybiB0aGlzLk4uaGFzKG4pPyh0aGlzLlc9bnVsbCx0aGlzLko9dGhpcy5KLXRoaXMuTi5nZXQobikubGVuZ3RoLHRoaXMuTi5kZWxldGUobikpOiExfTsKZy5FLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5OPXRoaXMuVz1udWxsO3RoaXMuSj0wfTsKZy5FLmlzRW1wdHk9ZnVuY3Rpb24oKXtUTih0aGlzKTtyZXR1cm4gdGhpcy5KPT0wfTsKZy5FLmZvckVhY2g9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe0QuZm9yRWFjaChmdW5jdGlvbih2KXtuLmNhbGwoVyx2LGIsdGhpcyl9LHRoaXMpfSx0aGlzKX07CmcuRS51Qj1mdW5jdGlvbigpe1ROKHRoaXMpO3ZhciBuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKSxXPUFycmF5LmZyb20odGhpcy5OLmtleXMoKSksRD1bXTtmb3IobGV0IGI9MDtiPFcubGVuZ3RoO2IrKyl7bGV0IHY9bltiXTtmb3IobGV0IGs9MDtrPHYubGVuZ3RoO2srKylELnB1c2goV1tiXSl9cmV0dXJuIER9OwpnLkUuejc9ZnVuY3Rpb24obil7VE4odGhpcyk7dmFyIFc9W107aWYodHlwZW9mIG49PT0ic3RyaW5nIilDVyh0aGlzLG4pJiYoVz1XLmNvbmNhdCh0aGlzLk4uZ2V0KGpTKHRoaXMsbikpKSk7ZWxzZXtuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXPVcuY29uY2F0KG5bRF0pfXJldHVybiBXfTsKZy5FLnNldD1mdW5jdGlvbihuLFcpe1ROKHRoaXMpO3RoaXMuVz1udWxsO249alModGhpcyxuKTtDVyh0aGlzLG4pJiYodGhpcy5KPXRoaXMuSi10aGlzLk4uZ2V0KG4pLmxlbmd0aCk7dGhpcy5OLnNldChuLFtXXSk7dGhpcy5KPXRoaXMuSisxO3JldHVybiB0aGlzfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBXO249dGhpcy56NyhuKTtyZXR1cm4gbi5sZW5ndGg+MD9TdHJpbmcoblswXSk6V307CmcuRS50b1N0cmluZz1mdW5jdGlvbigpe2lmKHRoaXMuVylyZXR1cm4gdGhpcy5XO2lmKCF0aGlzLk4pcmV0dXJuIiI7dmFyIG49W10sVz1BcnJheS5mcm9tKHRoaXMuTi5rZXlzKCkpO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXt2YXIgRD1XW2JdO2xldCB2PXFoKEQpO0Q9dGhpcy56NyhEKTtmb3IobGV0IGs9MDtrPEQubGVuZ3RoO2srKyl7bGV0IGg9djtEW2tdIT09IiImJihoKz0iPSIrcWgoRFtrXSkpO24ucHVzaChoKX19cmV0dXJuIHRoaXMuVz1uLmpvaW4oIiYiKX07CmcuRS5jbG9uZT1mdW5jdGlvbigpe3ZhciBuPW5ldyBkaDtuLlc9dGhpcy5XO3RoaXMuTiYmKG4uTj1uZXcgTWFwKHRoaXMuTiksbi5KPXRoaXMuSik7cmV0dXJuIG59OwpnLkUuZXh0ZW5kPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8YXJndW1lbnRzLmxlbmd0aDtXKyspbktpKGFyZ3VtZW50c1tXXSxmdW5jdGlvbihELGIpe3RoaXMuYWRkKGIsRCl9LHRoaXMpfTtnLml4KEJZLGcuRk0pO3ZhciBKc2o9W107Zy5FPUJZLnByb3RvdHlwZTtnLkUuU189ZnVuY3Rpb24obixXLEQsYil7QXJyYXkuaXNBcnJheShXKXx8KFcmJihKc2pbMF09Vy50b1N0cmluZygpKSxXPUpzaik7Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPUFIKG4sV1t2XSxEfHx0aGlzLmhhbmRsZUV2ZW50LGJ8fCExLHRoaXMuSnx8dGhpcyk7aWYoIWspYnJlYWs7dGhpcy5OW2sua2V5XT1rfXJldHVybiB0aGlzfTsKZy5FLmVGPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBGbSh0aGlzLG4sVyxELGIpfTsKZy5FLndIPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSlmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKyl0aGlzLndIKG4sV1trXSxELGIsdik7ZWxzZSBEPUR8fHRoaXMuaGFuZGxlRXZlbnQsYj1nLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2PXZ8fHRoaXMuSnx8dGhpcyxEPW1oKEQpLGI9ISFiLFc9TjUobik/bi5zYyhXLEQsYix2KTpuPyhuPU8yKG4pKT9uLnNjKFcsRCxiLHYpOm51bGw6bnVsbCxXJiYoRTIoVyksZGVsZXRlIHRoaXMuTltXLmtleV0pfTsKZy5FLlRpPWZ1bmN0aW9uKCl7Zy5hXyh0aGlzLk4sZnVuY3Rpb24obixXKXt0aGlzLk4uaGFzT3duUHJvcGVydHkoVykmJkUyKG4pfSx0aGlzKTsKdGhpcy5OPXt9fTsKZy5FLm1BPWZ1bmN0aW9uKCl7QlkuVEIubUEuY2FsbCh0aGlzKTt0aGlzLlRpKCl9OwpnLkUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiRXZlbnRIYW5kbGVyLmhhbmRsZUV2ZW50IG5vdCBpbXBsZW1lbnRlZCIpO307dmFyIGtoUz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuVz0hMDt0aGlzLko9MDt0aGlzLk49IiJ9aXNJbnB1dFZhbGlkKCl7cmV0dXJuIHRoaXMuV319O010LnByb3RvdHlwZS5pc0lucHV0VmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OIT0zfTsKTXQucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVn07Ck10LnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiEwfTsKTXQucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7TCYxMjgmJlJzKGssaCx4LCJpbnZhbGlkIHRhZyIpOyhMJjcpIT0yJiZScyhrLGgseCwiaW52YWxpZCB3aXJlIHR5cGUiKTtrLlc9TD4+PjM7ay5XIT0xJiZrLlchPTImJmsuVyE9MTUmJlJzKGssaCx4LCJ1bmV4cGVjdGVkIHRhZyIpO2suTj0xO2suSj0wO2suWD0wfQpmdW5jdGlvbiBEKEwpe2suWCsrO2suWD09NSYmTCYyNDAmJlJzKGssaCx4LCJtZXNzYWdlIGxlbmd0aCB0b28gbG9uZyIpO2suSnw9KEwmMTI3KTw8KGsuWC0xKSo3O0wmMTI4fHwoay5OPTIsay5ZPTAsdHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIj9rLmo9bmV3IFVpbnQ4QXJyYXkoay5KKTprLmo9QXJyYXkoay5KKSxrLko9PTAmJnYoKSl9CmZ1bmN0aW9uIGIoTCl7ay5qW2suWSsrXT1MO2suWT09ay5KJiZ2KCl9CmZ1bmN0aW9uIHYoKXtpZihrLlc8MTUpe2xldCBMPXt9O0xbay5XXT1rLmo7ay5LLnB1c2goTCl9ay5OPTB9CmZvcih2YXIgaz10aGlzLGg9biBpbnN0YW5jZW9mIEFycmF5P246bmV3IFVpbnQ4QXJyYXkobikseD0wO3g8aC5sZW5ndGg7KXtzd2l0Y2goay5OKXtjYXNlIDM6UnMoayxoLHgsInN0cmVhbSBhbHJlYWR5IGJyb2tlbiIpO2JyZWFrO2Nhc2UgMDpXKGhbeF0pO2JyZWFrO2Nhc2UgMTpEKGhbeF0pO2JyZWFrO2Nhc2UgMjpiKGhbeF0pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoInVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlOiAiK2suTik7fWsuRCsrO3grK31uPWsuSztrLks9W107cmV0dXJuIG4ubGVuZ3RoPjA/bjpudWxsfTtRTi5wcm90b3R5cGUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTj09PW51bGx9OwpRTi5wcm90b3R5cGUuczg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTsKUU4ucHJvdG90eXBlLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpRTi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24obil7dGhpcy5OIT09bnVsbCYmVk4odGhpcyxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTt2YXIgVz1udWxsO3RyeXt7dmFyIEQ9dGhpcy5XO0QuV3x8d2goRCxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTtELk4rPW47bGV0IGs9TWF0aC5mbG9vcihELk4ubGVuZ3RoLzQpO2lmKGs9PTApdmFyIGI9bnVsbDtlbHNle3RyeXt2YXIgdj16aChELk4uc2xpY2UoMCxrKjQpKX1jYXRjaChoKXt3aChELEQuTixoLm1lc3NhZ2UpfUQuSis9ayo0O0QuTj1ELk4uc2xpY2Uoayo0KTtiPXZ9fVc9Yj09PW51bGw/bnVsbDp0aGlzLlgucGFyc2UoYil9Y2F0Y2goayl7Vk4odGhpcyxuLGsubWVzc2FnZSl9dGhpcy5KKz1uLmxlbmd0aDtyZXR1cm4gV307Zy5FPWFzLnByb3RvdHlwZTtnLkUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaiE9M307CmcuRS5zOD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkR9OwpnLkUuZG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0yfTsKZy5FLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpnLkUucGFyc2U9ZnVuY3Rpb24obil7ZnVuY3Rpb24gVygpe2Zvcig7cjxuLmxlbmd0aDspaWYoY1kobltyXSkpcisrLGsuVysrO2Vsc2UgYnJlYWs7cmV0dXJuIHI8TH0KZnVuY3Rpb24gRCgpe2Zvcih2YXIgSDs7KXtIPW5bcisrXTtpZighSClicmVhaztrLlcrKztzd2l0Y2goay5OKXtjYXNlIDA6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00OmNZKEgpfHxuXyhrLG4scik7Y29udGludWU7Y2FzZSA3OmNhc2UgMjppZihjWShIKSljb250aW51ZTtpZihrLk49PT03KWgucHVzaCg4KTtlbHNlIGlmKEg9PT0ifSIpe3YoInt9Iik7ay5OPWIoKTtjb250aW51ZX1lbHNlIGgucHVzaCgzKTtIPT09JyInP2suTj02Om5fKGssbixyKTtjb250aW51ZTtjYXNlIDg6Y2FzZSAzOmlmKGNZKEgpKWNvbnRpbnVlO0g9PT0iOiI/KGsuTj09PTMmJihoLnB1c2goMyksay5KKyspLGsuTj0xKTpIPT09In0iPyhrLkotLSx2KCksay5OPWIoKSk6SD09PSIsIj8oay5OPT09MyYmaC5wdXNoKDMpLGsuTj03KTpuXyhrLG4scik7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZihjWShIKSljb250aW51ZTtpZihrLk49PT00KWlmKGsuSisrLGsuTj0xLEg9PT0iXSIpe2suSi0tO2lmKGsuSj09PQowKXtrLk49NTtyZXR1cm59digiW10iKTtrLk49YigpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDUpO0g9PT0nIic/ay5OPTY6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00Okg9PT0idCI/ay5OPTk6SD09PSJmIj9rLk49MTI6SD09PSJuIj9rLk49MTY6SCE9PSItIiYmKCIwMTIzNDU2Nzg5Ii5pbmRleE9mKEgpIT09LTE/ay5OPTIwOm5fKGssbixyKSk7Y29udGludWU7Y2FzZSA1OmlmKEg9PT0iLCIpaC5wdXNoKDUpLGsuTj0xLGsuSj09PTEmJihHPXIpO2Vsc2UgaWYoSD09PSJdIil7ay5KLS07aWYoay5KPT09MClyZXR1cm47digpO2suTj1iKCl9ZWxzZSBpZihjWShIKSljb250aW51ZTtlbHNlIG5fKGssbixyKTtjb250aW51ZTtjYXNlIDY6bGV0IEE9cjthOmZvcig7Oyl7Zm9yKDtrLlk+MDspaWYoSD1uW3IrK10say5ZPT09ND9rLlk9MDprLlkrKywhSClicmVhayBhO2lmKEg9PT0nIicmJiFrLkspe2suTj1iKCk7YnJlYWt9aWYoSD09PSJcXCImJiFrLksmJihrLks9ITAsSD1uW3IrK10sCiFIKSlicmVhaztpZihrLkspaWYoay5LPSExLEg9PT0idSImJihrLlk9MSksSD1uW3IrK10pY29udGludWU7ZWxzZSBicmVhazt4Lmxhc3RJbmRleD1yO0g9eC5leGVjKG4pO2lmKCFIKXtyPW4ubGVuZ3RoKzE7YnJlYWt9cj1ILmluZGV4KzE7SD1uW0guaW5kZXhdO2lmKCFIKWJyZWFrfWsuVys9ci1BO2NvbnRpbnVlO2Nhc2UgOTppZighSCljb250aW51ZTtIPT09InIiP2suTj0xMDpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMDppZighSCljb250aW51ZTtIPT09InUiP2suTj0xMTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMTppZighSCljb250aW51ZTtIPT09ImUiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTI6aWYoIUgpY29udGludWU7SD09PSJhIj9rLk49MTM6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIUgpY29udGludWU7SD09PSJsIj9rLk49MTQ6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIUgpY29udGludWU7SD09PSJzIj9rLk49MTU6Cm5fKGssbixyKTtjb250aW51ZTtjYXNlIDE1OmlmKCFIKWNvbnRpbnVlO0g9PT0iZSI/ay5OPWIoKTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNjppZighSCljb250aW51ZTtIPT09InUiP2suTj0xNzpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNzppZighSCljb250aW51ZTtIPT09ImwiP2suTj0xODpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxODppZighSCljb250aW51ZTtIPT09ImwiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTk6SD09PSIuIj9rLk49MjA6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMjA6aWYoIjAxMjM0NTY3ODkuZUUrLSIuaW5kZXhPZihIKSE9PS0xKWNvbnRpbnVlO2Vsc2Ugci0tLGsuVy0tLGsuTj1iKCk7Y29udGludWU7ZGVmYXVsdDpuXyhrLG4scil9fX0KZnVuY3Rpb24gYigpe3ZhciBIPWgucG9wKCk7cmV0dXJuIEghPW51bGw/SDoxfQpmdW5jdGlvbiB2KEgpe2suSj4xfHwoSHx8KEg9Rz09PS0xP2suWCtuLnN1YnN0cmluZyhlLHIpOm4uc3Vic3RyaW5nKEcscikpLGsuTz9rLlYucHVzaChIKTprLlYucHVzaChKU09OLnBhcnNlKEgpKSxHPXIpfQpmb3IodmFyIGs9dGhpcyxoPWsuY0oseD1rLnR3LEw9bi5sZW5ndGgsZT0wLEc9LTEscj0wO3I8TDspc3dpdGNoKGsuail7Y2FzZSAzOnJldHVybiBuXyhrLG4sciksbnVsbDtjYXNlIDI6cmV0dXJuIFcoKSYmbl8oayxuLHIpLG51bGw7Y2FzZSAwOmlmKFcoKSl7dmFyIE49bltyKytdO2suVysrO2lmKE49PT0iWyIpe2suaj0xO2U9cjtrLk49NDtjb250aW51ZX1lbHNlIG5fKGssbixyKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIEQoKSxrLko9PT0wJiZrLk49PTU/KGsuaj0yLGsuWD1uLnN1YnN0cmluZyhyKSk6ay5YPUc9PT0tMT9rLlgrbi5zdWJzdHJpbmcoZSk6bi5zdWJzdHJpbmcoRyksay5WLmxlbmd0aD4wPyhOPWsuVixrLlY9W10sTik6bnVsbH1yZXR1cm4gbnVsbH07V0sucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT1udWxsfTsKV0sucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07CldLLnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiExfTsKV0sucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7ay5KPTY7ay5qPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIitrLk4rIi8iK2grIi4gRXJyb3I6ICIrTCsiLiBXaXRoIGlucHV0OlxuIjt0aHJvdyBFcnJvcihrLmopO30KZnVuY3Rpb24gRCgpe2suVz1uZXcgYXMoe1ZMOiEwLFpIOiEwfSl9CmZ1bmN0aW9uIGIoTCl7aWYoTClmb3IobGV0IGU9MDtlPEwubGVuZ3RoO2UrKyl7bGV0IEc9e307R1sxXT1MW2VdO2suWC5wdXNoKEcpfX0KZnVuY3Rpb24gdihMKXtpZihMKXsoay5WfHxMLmxlbmd0aD4xKSYmVygiZXh0cmEgc3RhdHVzOiAiK0wpO2suVj0hMDtsZXQgZT17fTtlWzJdPUxbMF07ay5YLnB1c2goZSl9fQpmb3IodmFyIGs9dGhpcyxoPTA7aDxuLmxlbmd0aDspe3ZhciB4O2lmKHg9ay5KIT09Mil7YTp7Zm9yKDtoPG4ubGVuZ3RoOyl7aWYoIWNZKG5baF0pKXt4PSEwO2JyZWFrIGF9aCsrO2suTisrfXg9ITF9eD0heH1pZih4KXJldHVybiBudWxsO3N3aXRjaChrLkope2Nhc2UgNjpXKCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTticmVhaztjYXNlIDA6bltoXT09PSJbIj8oay5KPTEsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAxOm5baF09PT0iWyI/KGsuSj0yLEQoKSk6bltoXT09PSIsInx8bi5zbGljZShoLGgrNSk9PSJudWxsLCI/ay5KPTM6bltoXT09PSJdIj8oay5KPTUsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAyOng9ay5XLnBhcnNlKG4uc3Vic3RyaW5nKGgpKTtiKHgpO2suVy5kb25lKCk/KGsuSj0zLHg9ay5XLlgsay5OKz1uLmxlbmd0aC1oLXgubGVuZ3RoLG49eCxoPTApOihrLk4rPW4ubGVuZ3RoLQpoLGg9bi5sZW5ndGgpO2JyZWFrO2Nhc2UgMzpuW2hdPT09IiwifHxuLnNsaWNlKGgsaCs1KT09Im51bGwsIj8oay5KPTQsRCgpLGsuVy5wYXJzZSgiWyIpLGgrPW5baF09PT0iLCI/MTo1LGsuTisrKTpuW2hdPT09Il0iJiYoay5KPTUsaCsrLGsuTisrKTticmVhaztjYXNlIDQ6eD1rLlcucGFyc2Uobi5zdWJzdHJpbmcoaCkpO3YoeCk7ay5XLmRvbmUoKT8oay5KPTUseD1rLlcuWCxrLk4rPW4ubGVuZ3RoLWgteC5sZW5ndGgsbj14LGg9MCk6KGsuTis9bi5sZW5ndGgtaCxoPW4ubGVuZ3RoKTticmVhaztjYXNlIDU6VygiZXh0cmEgaW5wdXQgYWZ0ZXIgc3RyZWFtIGVuZCIpfX1yZXR1cm4gay5YLmxlbmd0aD4wPyhuPWsuWCxrLlg9W10sbik6bnVsbH07dmFyIHFBdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bnVsbDt0aGlzLmo9dGhpcy5XPTA7dGhpcy5EPSExO3RoaXMuWD10aGlzLks9dGhpcy5WPW51bGw7dGhpcy5ZPW5ldyBCWSh0aGlzKTt0aGlzLlkuU18odGhpcy5OLCJyZWFkeXN0YXRlY2hhbmdlIix0aGlzLk8pfWdldFN0YXR1cygpe3JldHVybiB0aGlzLmp9TyhuKXtuPW4udGFyZ2V0O3RyeXtpZihuPT10aGlzLk4pYTp7bGV0IGs9YTUodGhpcy5OKTt2YXIgVz10aGlzLk4uVyxEPXRoaXMuTi5nZXRTdGF0dXMoKTtsZXQgaD1XMyh0aGlzLk4pO249W107aWYoRG8odGhpcy5OKWluc3RhbmNlb2YgQXJyYXkpe2xldCB4PURvKHRoaXMuTik7eC5sZW5ndGg+MCYmeFswXWluc3RhbmNlb2YgVWludDhBcnJheSYmKHRoaXMuRD0hMCxuPXgpfWlmKCEoazwzfHxrPT0zJiYhaCYmbi5sZW5ndGg9PTApKWlmKEQ9RD09MjAwfHxEPT0yMDYsaz09NCYmKFc9PTg/RGkodGhpcyw3KTpXPT03P0RpKHRoaXMsOCk6RHx8CkRpKHRoaXMsMykpLHRoaXMuSnx8KHRoaXMuSj1oQ3godGhpcy5OKSx0aGlzLko9PW51bGwmJkRpKHRoaXMsNSkpLHRoaXMuaj4yKWJIKHRoaXMpO2Vsc2V7aWYobi5sZW5ndGg+dGhpcy5XKXtsZXQgeD1uLmxlbmd0aDtXPVtdO3RyeXtpZih0aGlzLkouYW8oKSlmb3IodmFyIGI9MDtiPHg7YisrKXt2YXIgdj10aGlzLkoucGFyc2UoQXJyYXkuZnJvbShuW2JdKSk7diYmKFc9Vy5jb25jYXQodikpfWVsc2V7dj0iIjtpZighdGhpcy5WKXtpZih0eXBlb2YgVGV4dERlY29kZXI9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiVGV4dERlY29kZXIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIik7dGhpcy5WPW5ldyBUZXh0RGVjb2Rlcn1mb3IoYj0wO2I8eDtiKyspdis9dGhpcy5WLmRlY29kZShuW2JdLHtzdHJlYW06az09NCYmYj09eC0xfSk7Vz10aGlzLkoucGFyc2Uodil9bi5zcGxpY2UoMCx4KTtXJiZ0aGlzLlgoVyl9Y2F0Y2goTCl7RGkodGhpcyw1KTtiSCh0aGlzKTsKYnJlYWsgYX19ZWxzZSBpZihoLmxlbmd0aD50aGlzLlcpe2I9aC5zbGljZSh0aGlzLlcpO3RoaXMuVz1oLmxlbmd0aDt0cnl7bGV0IHg9dGhpcy5KLnBhcnNlKGIpO3ghPW51bGwmJnRoaXMuWCYmdGhpcy5YKHgpfWNhdGNoKHgpe0RpKHRoaXMsNSk7YkgodGhpcyk7YnJlYWsgYX19az09ND8oaC5sZW5ndGghPTB8fHRoaXMuRD9EaSh0aGlzLDIpOkRpKHRoaXMsNCksYkgodGhpcykpOkRpKHRoaXMsMSl9fX1jYXRjaChrKXtEaSh0aGlzLDYpLGJIKHRoaXMpfX19O3ZhciBHaGk9Y2xhc3N7Y29uc3RydWN0b3Iobil7bj10aGlzLlc9bjt2YXIgVz0oMCxnLkt0KSh0aGlzLlgsdGhpcyk7bi5YPVc7bj10aGlzLlc7Vz0oMCxnLkt0KSh0aGlzLmosdGhpcyk7bi5LPVc7dGhpcy5KPXt9O3RoaXMuTj17fX14VihuLFcpe3ZhciBEPXRoaXMuSltuXTtEfHwoRD1bXSx0aGlzLkpbbl09RCk7RC5wdXNoKFcpfWFkZExpc3RlbmVyKG4sVyl7dGhpcy54VihuLFcpO3JldHVybiB0aGlzfXJlbW92ZUxpc3RlbmVyKG4sVyl7dmFyIEQ9dGhpcy5KW25dO0QmJmcuRkkoRCxXKTsobj10aGlzLk5bbl0pJiZnLkZJKG4sVyk7cmV0dXJuIHRoaXN9b25jZShuLFcpe3ZhciBEPXRoaXMuTltuXTtEfHwoRD1bXSx0aGlzLk5bbl09RCk7RC5wdXNoKFcpO3JldHVybiB0aGlzfVgobil7dmFyIFc9dGhpcy5KLmRhdGE7VyYmdksobixXKTsoVz10aGlzLk4uZGF0YSkmJnZLKG4sVyk7dGhpcy5OLmRhdGE9W119aigpe3N3aXRjaCh0aGlzLlcuZ2V0U3RhdHVzKCkpe2Nhc2UgMTprdCh0aGlzLAoicmVhZGFibGUiKTticmVhaztjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDc6Y2FzZSAzOmt0KHRoaXMsImVycm9yIik7YnJlYWs7Y2FzZSA4Omt0KHRoaXMsImNsb3NlIik7YnJlYWs7Y2FzZSAyOmt0KHRoaXMsImVuZCIpfX19O3ZhciAkeGg9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj17Zm9ybWF0OiJqc3BiIn07dGhpcy5ZTz1uLllPfHxnLnJyKCJzdXBwcmVzc0NvcnNQcmVmbGlnaHQiLG4pfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz1uLndpdGhDcmVkZW50aWFsc3x8Zy5ycigid2l0aENyZWRlbnRpYWxzIixuKXx8ITE7dGhpcy5LYj1uLktifHxbXTt0aGlzLkZOPW4uRk58fFtdO3RoaXMuU249bi5Tbjt0aGlzLk49bi5sSXx8ITF9c2VydmVyU3RyZWFtaW5nKG4sVyxELGIpe3ZhciB2PW4uc3Vic3RyaW5nKDAsbi5sZW5ndGgtYi5uYW1lLmxlbmd0aCk7cmV0dXJuIHh4aihrPT57dmFyIGg9ay5sMCx4PWsuZ2V0TWV0YWRhdGEoKSxMPWhhKHRoaXMsITEpO3g9eHQodGhpcyx4LEwsditoLmdldE5hbWUoKSk7dmFyIGU9TF8oTCxoLlcsITApO2s9aC5OKGsuZnYpO0wuc2VuZCh4LCJQT1NUIixrKTtyZXR1cm4gZX0sdGhpcy5LYikuY2FsbCh0aGlzLGIuSihXLEQpKX19O3F3LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBZWSh0aGlzLk4sdGhpcy5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9DcmVhdGUiLG4sV3x8e30sc09NLEQpfTt2YXIgYW09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iYm9vbCJ9fSxuaj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZDU9Mzt0aGlzLm54PW47dGhpcy5kZWZhdWx0VmFsdWU9Vzt0aGlzLlUwPSJpbnQifX0sV0M9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iZG91YmxlIn19O3ZhciBTY3QsSVV3LFljLEFzVSxub3IsV0lNLG1HWixLNVUsTzcxLEhwLFo3VSxVR0MsUHJpLHlzeCxFZGksaTdDLHVOYixVQmIsZEd0LHpZaSxsVXIsVFBVLGpPaSxDSmksa3FNLERaLEY1aSxjZix3bjIsSGZ4LFNvUyxJWWksTUl4LHowaSxsWWgsVE5DLEJwdCxSWXcsUU94LFZJaixpbGksa1RiLFZrdyxjc3IsYVVNLGJELG5KaSxXRlMsbmEsRGRTLGJnaSx2NWksdkpDLFRfQyx0UzIsa19pLGhGaix4ZGgsZUZVLGdKMSxYQU0scURTLEdfcix0SlMsJGQyLHJUaixzcjIsanNaLE5GVSxHb00seSRqLHllaSxwQXQsanZNLEtZeCxZRFosSGdaLHZDLEplMSxmY3Qsa05qLEpUeCxJY2ksSGYsaldTLFNEUyxZSmIsQVRaLG1kdyxsaVosS0ZyLE9nMixwYk0sd2JTLFpnTSx5VDIsRUpNLHdJMTtTY3Q9bmV3IGFtKDQ1NzU5NTgwLCExKTtJVXc9bmV3IGFtKDQ1NzY2MjczLCExKTtnLlNuaj1uZXcgYW0oNDU3NTc4NzgsITEpO1ljPW5ldyBhbSg0NTc0OTM5NiwhMSk7CkFzVT1uZXcgYW0oNDU4MDg1MjgsITEpO25vcj1uZXcgYW0oNDU3NDIxMTksITEpO1dJTT1uZXcgYW0oNDU3ODQxNjgsITEpO21HWj1uZXcgYW0oNDU4MDEwNjgsITEpO0s1VT1uZXcgYW0oNDU3Nzg2OTYsITEpO083MT1uZXcgYW0oNDU3NTY0NDYsITEpO2cuUEpNPW5ldyBhbSg0NTgwODE1MCwhMSk7SHA9bmV3IGFtKDQ1ODA3NzY0LCExKTtaN1U9bmV3IGFtKDQ1Nzk3NzIxLCExKTtVR0M9bmV3IGFtKDQ1Nzk4OTMyLCExKTtQcmk9bmV3IGFtKDQ1NzYwMDE4LCExKTt5c3g9bmV3IGFtKDQ1NzM5MTk2LCExKTtFZGk9bmV3IGFtKDQ1Nzk0ODY4LCExKTtpN0M9bmV3IGFtKDQ1NzM5MTk4LCExKTt1TmI9bmV3IGFtKDQ1Nzk0ODY3LCExKTtVQmI9bmV3IGFtKDQ1Nzc3MzU2LCExKTtnLm9kWj1uZXcgbmooNDU3NTA5NDcsZy4kVSgiMCIpKTtkR3Q9bmV3IGFtKDQ1Nzk5OTEyLCExKTt6WWk9bmV3IFdDKDQ1NzQ2OTY2LDApO2xVcj1uZXcgV0MoNDU3NDY5NjcsMCk7ClRQVT1uZXcgV0MoNDU3Mzc0ODgsMCk7ak9pPW5ldyBXQyg0NTczNzQ4OSwwKTtDSmk9bmV3IGFtKDQ1Nzk1NTczLCExKTtnLkJQUz1uZXcgYW0oNDU3NjU2ODAsITEpO2txTT1uZXcgYW0oNDU3MzI3OTEsITApO0RaPW5ldyBhbSg0NTc4MTExMiwhMSk7RjVpPW5ldyBhbSg0NTgwODY1MCwhMSk7Y2Y9bmV3IGFtKDQ1ODExODU3LCExKTt3bjI9bmV3IGFtKDQ1ODA1OTY4LCExKTtIZng9bmV3IGFtKDQ1NzY5MTE5LCEwKTtTb1M9bmV3IG5qKDQ1ODA2NTU1LGcuJFUoIjIiKSk7SVlpPW5ldyBuaig0NTc4NDQzOSxnLiRVKCIwIikpO01JeD1uZXcgYW0oNDU4MTc0MDksITEpO3owaT1uZXcgYW0oNDU3Mzc0ODIsITEpO2xZaD1uZXcgV0MoNDU3NDE3NzMsMCk7VE5DPW5ldyBhbSg0NTgwNTg0OCwhMSk7QnB0PW5ldyBhbSg0NTc3MzY3MywhMSk7Ull3PW5ldyBhbSg0NTgwMDYzMywhMSk7UU94PW5ldyBhbSg0NTc5ODA3OCwhMSk7VklqPW5ldyBhbSg0NTczMTA4MywhMSk7CmlsaT1uZXcgYW0oNDU3OTcyNzksITEpO2tUYj1uZXcgYW0oNDU3Mjg1NTMsITEpO1Zrdz1uZXcgYW0oNDU3OTY3NTAsITEpO2Nzcj1uZXcgYW0oNDU3OTQ2ODAsITEpO2FVTT1uZXcgYW0oNDU4MTMwMjcsITEpO2JEPW5ldyBhbSg0NTczNDE5MSwhMSk7bkppPW5ldyBhbSg0NTc5Njc3NywhMSk7V0ZTPW5ldyBhbSg0NTc5Njc3OCwhMSk7bmE9bmV3IGFtKDQ1ODEwNjYxLCExKTtnLkFoPW5ldyBhbSg0NTc0NTYxMCwhMSk7RGRTPW5ldyBhbSg0NTgxNjU3MSwhMSk7YmdpPW5ldyBhbSg0NTc3MzI3MywhMSk7djVpPW5ldyBhbSg0NTc1NjYxOSwhMSk7dkpDPW5ldyBhbSg0NTc1ODI5MCwhMSk7VF9DPW5ldyBhbSg0NTgxMzgzMSwhMSk7dFMyPW5ldyBhbSg0NTczNTUyMywhMSk7a19pPW5ldyBXQyg0NTc3MTg5MCwwKTtoRmo9bmV3IFdDKDQ1ODA3NzczLDApO3hkaD1uZXcgV0MoNDU3MzU0MjgsNEUzKTtnLkxGaT1uZXcgYW0oNDU3ODkwNzcsITEpO2VGVT1uZXcgYW0oNDU3NDgwMDksITEpOwpnSjE9bmV3IGFtKDQ1NzUyNjA0LCExKTtYQU09bmV3IFdDKDQ1NzY5MjE0LDApO3FEUz1uZXcgYW0oNDU3MzU0NjIsITEpO0dfcj1uZXcgYW0oNDU4MTUwNzMsITEpO3RKUz1uZXcgYW0oNDU3NTE5NDMsITEpOyRkMj1uZXcgYW0oNDU3NTE5NDQsITEpO3JUaj1uZXcgYW0oNDU3NTE5NDUsITEpO3NyMj1uZXcgbmooNDU4MDg3NjIsZy4kVSgiMCIpKTtqc1o9bmV3IGFtKDQ1NzY0NTkyLCExKTtORlU9bmV3IFdDKDQ1NzY0NTkzLDApO0dvTT1uZXcgYW0oNDU3NjY1MTEsITEpO3kkaj1uZXcgYW0oNDU4MDYzODgsITEpO3llaT1uZXcgYW0oNDU4MDYzNjMsITEpO3BBdD1uZXcgYW0oNDU4MTU1OTIsITEpO2p2TT1uZXcgYW0oNDU4MTQ0ODAsITEpO0tZeD1uZXcgYW0oNDU4MTA0NjcsITEpO1lEWj1uZXcgYW0oNDU3OTEzMjYsITEpO0hnWj1uZXcgYW0oNDU3ODc3NzEsITEpO3ZDPW5ldyBhbSg0NTc5MTA4NywhMSk7SmUxPW5ldyBhbSg0NTc3Mjg5MSwhMSk7CmZjdD1uZXcgYW0oNDU3OTU4NDQsITEpO2tOaj1uZXcgYW0oNDU3ODM4NzUsITApO0pUeD1uZXcgYW0oNDU3OTU1NzQsITEpO0ljaT1uZXcgYW0oNDU3NzE4OTEsITEpO0hmPW5ldyBhbSg0NTcyODE4MSwhMSk7aldTPW5ldyBhbSg0NTc1NjU0MywhMSk7U0RTPW5ldyBhbSg0NTc1NjYyMCwhMSk7WUpiPW5ldyBhbSg0NTgwODc1NCwhMSk7QVRaPW5ldyBuaig0NTc2MTc2MCxnLiRVKCIyMDAiKSk7bWR3PW5ldyBhbSg0NTc3NjgzMiwhMSk7bGlaPW5ldyBXQyg0NTc2ODQzMCwwKTtLRnI9bmV3IGFtKDQ1Nzc2NTgwLCExKTtPZzI9bmV3IGFtKDQ1NzU1NzYwLCExKTtwYk09bmV3IGFtKDQ1NzYwMDE3LCExKTt3YlM9bmV3IGFtKDQ1NzMyNzc1LCExKTtnLlAzMT1uZXcgYW0oNDU3ODc5NDgsITEpO1pnTT1uZXcgYW0oNDU3NjU4MTgsITEpO2cuVWRDPW5ldyBhbSg0NTczNDc3NiwhMSk7eVQyPW5ldyBhbSg0NTgxNjgxMSwhMSk7RUpNPW5ldyBhbSg0NTc2MDEyMCwhMSk7Cmcua0g9bmV3IGFtKDQ1NzcwNDc2LCExKTt3STE9bmV3IGFtKDQ1ODA4MDUzLCExKTt2YXIgWXhyPW5ldyBXQyg0NTgwMzc1NCwwKSxtRGg9bmV3IFdDKDQ1NzkxMTE3LDApLHZNUz1uZXcgV0MoNDU3MjU1NDIsMCksWlJ4PW5ldyBXQyg0NTc5NDQ0MSwwKSxlVVU9bmV3IFdDKDQ1ODA3NzcxLDApLEhScj1uZXcgV0MoNDU3NzM2MDMsMCksZndqPW5ldyBXQyg0NTc3MzYwNCwwKSx4RFo9bmV3IFdDKDQ1Nzk3OTYzLDApLGJSdz1uZXcgV0MoNDU3MjU1NDMsMCksUGhqPW5ldyBXQyg0NTc5MzcxMCwwKSxoVWk9bmV3IFdDKDQ1NzU3NDI2LDApLG5Ndz1uZXcgV0MoNDU3MjU1MzksMCksSlIxPW5ldyBXQyg0NTgwNTY5NSwwKSxERFo9bmV3IFdDKDQ1NzI1NTQxLDApLFhHVT1uZXcgV0MoNDU3NTc0MjcsMCksQ1JpPW5ldyBhbSg0NTc5MTIwNiwhMSksV2t0PW5ldyBXQyg0NTcyNTU0MCwwKSxhWXg9bmV3IFdDKDQ1NzI1NTM4LDApLEtraT1uZXcgV0MoNDU3OTExMTgsMCksazZ3PW5ldyBXQyg0NTc2NDUyMywwKSxTeGk9bmV3IFdDKDQ1ODA0NzcxLDApLEl3eD1uZXcgV0MoNDU3ODY0NDMsCjApLFVEMj1uZXcgV0MoNDU4MDIxMjMsMCkscXhoPW5ldyBXQyg0NTc2NDIxNywwKSxHNjI9bmV3IFdDKDQ1NzY0NTI0LDApLCREMT1uZXcgV0MoNDU3NjU2MDIsMCksTGtDPW5ldyBXQyg0NTgwNzQzMiwwKSxBUk09bmV3IFdDKDQ1Nzc2MTkwLDApLE9SVT1uZXcgV0MoNDU3OTExMTksMCksVWJTPW5ldyBXQyg0NTgxNTAxMSwwKSxOZFM9bmV3IFdDKDQ1Nzc4NjcxLDApLHBHMT1uZXcgV0MoNDU3NDEzMzksMCksdDVpPW5ldyBXQyg0NTc2Nzc2MywwKSxnTXg9bmV3IFdDKDQ1ODA3NzcyLDApLHN3aT1uZXcgV0MoNDU3NzAwMDIsMCksclJpPW5ldyBXQyg0NTc3MDAwMSwwKTt2YXIgaWd0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIHVwMj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1KKCl7cmV0dXJuIHRoaXMuTi5RUShHX3IpfX07dmFyIHI0Mj0vKD86XFt8JTVCKShbYS16QS1aMC05X10rKSg/OlxdfCU1RCkvZzt2YXIgb0pVPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fTt2YXIgaEw9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4sNTAwKX19O3ZhciBkZFM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE5hbWUoKXtyZXR1cm4gWTkodGhpcywxKX1nZXRPcHRpb25zKCl7cmV0dXJuIGdlKHRoaXMsaEwsMyl9Y2xlYXJPcHRpb25zKCl7cmV0dXJuIG96KHRoaXMsMyl9fTt2YXIgekZpPWZ1bmN0aW9uKG4pe3JldHVybiBXPT57Vz1KU09OLnBhcnNlKFcpO2lmKCFBcnJheS5pc0FycmF5KFcpKXRocm93IEVycm9yKCJFeHBlY3RlZCBqc3BiIGRhdGEgdG8gYmUgYW4gYXJyYXksIGdvdCAiK3B0KFcpKyI6ICIrVyk7V1tiNF18PTM0O3JldHVybiBuZXcgbihXKX19KGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXROYW1lKCl7cmV0dXJuIFk5KHRoaXMsMSl9Z2V0T3B0aW9ucygpe3JldHVybiBnZSh0aGlzLG9KVSwzKX1jbGVhck9wdGlvbnMoKXtyZXR1cm4gb3oodGhpcywzKX1YTygpe3JldHVybiBIVyh0aGlzLDYpfU1MKG4pe0tuKHRoaXMsNixuKX19KTt2YXIgbGNyPVN5bWJvbCgpO3ZhciBURnI7VEZyPW5ldyBtNFooOTk4LGhMLGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19KTt2YXIgeEg9U3ltYm9sKCk7dmFyICR0PWNsYXNzIGV4dGVuZHMgZy5vV3tjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD10aGlzLk49MDt0aGlzLkEkPW4/P3tMUzooVyxEKT0+c2V0VGltZW91dChXLEQpLApzTzpXPT57Y2xlYXJUaW1lb3V0KFcpfX07CnRoaXMuaXNPbmxpbmU9d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lPz8hMDt0aGlzLko9YXN5bmMoKT0+e2F3YWl0IHJYKHRoaXMpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLlh8fHRoaXMuaFQoKX1kaXNwb3NlKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLkEkLnNPKHRoaXMuWCk7ZGVsZXRlICR0Lmluc3RhbmNlfVdHKCl7cmV0dXJuIHRoaXMuaXNPbmxpbmV9aFQoKXt0aGlzLlg9dGhpcy5BJC5MUyhhc3luYygpPT57dGhpcy5pc09ubGluZT93aW5kb3cubmF2aWdhdG9yPy5vbkxpbmV8fGF3YWl0IHJYKHRoaXMpOmF3YWl0IHJYKHRoaXMpO3RoaXMuaFQoKX0sM0U0KX19O3ZhciBqcjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEMzcj1bMCxJcWosLTFdO3ZhciBMaj1bMCxIaXcsLTFdO3ZhciBCRnQ9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEZGaT1nLkE5KFswLGcuQ3gsLTEsZy5FNixnLm9tLEMzciwtMSx5cCxpVSxnLkN4LExqLGcub20sZy5DeCwtMSxbMCxDM3IsLTFdLGlVLFkzQyxMaix5cCxbMCwxLGlVLC00LFU2LFswLHlwLC0xLGlVXSxnLm9tLHlwLGcuZHEsWzAsZy5DeCxpVV0saVUsLTEsZy5DeCwtMix5cCwtMSxnLkN4LHlwLGcuQ3gsaVUsWzAsMyxpVSwtMSw0LFRnXSxVNixqbyxbMCxnLkN4LC0xLGcub21dLHVVXSxnLm9tLEpYUyxnLmRxLFswLExqLGcuZHEsWzAsZy5vbSxnLkN4XSx5cCxnLkN4LC0xXSwxLGcuZHEsWzAsWTNDLC0xLGpvXSxnLkN4LExqXSk7dmFyIFV2Mj1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Sigpe3JldHVybiBIVyh0aGlzLDUpfX0sWzAsZy5DeCxbMCxnLkU2LGZxdywtMV0saVUsZy5DeCwtMixpVSxnLkU2XSk7dmFyIGxYcj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLk49LTF9c2V0KG4sVz0hMCl7MDw9biYmbjw1MiYmTnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5kYXRhW25dIT09VyYmKHRoaXMuZGF0YVtuXT1XLHRoaXMuTj0tMSl9Z2V0KG4pe3JldHVybiEhdGhpcy5kYXRhW25dfX07Zy5peChnLnBfLGcuRk0pO2cuRT1nLnBfLnByb3RvdHlwZTtnLkUuc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLlg9ITE7dmFyIG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT8odGhpcy5OPUFIKHRoaXMuSiwiTW96QmVmb3JlUGFpbnQiLHRoaXMuVyksdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZShudWxsKSx0aGlzLlg9ITApOnRoaXMuTj1uJiZXP24uY2FsbCh0aGlzLkosdGhpcy5XKTp0aGlzLkouc2V0VGltZW91dChqTWgodGhpcy5XKSwyMCl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBY3RpdmUoKSl7bGV0IG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT9FMih0aGlzLk4pOm4mJlc/Vy5jYWxsKHRoaXMuSix0aGlzLk4pOnRoaXMuSi5jbGVhclRpbWVvdXQodGhpcy5OKX10aGlzLk49bnVsbH07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4hPW51bGx9OwpnLkUuT3Q9ZnVuY3Rpb24oKXt0aGlzLlgmJnRoaXMuTiYmRTIodGhpcy5OKTt0aGlzLk49bnVsbDt0aGlzLlYuY2FsbCh0aGlzLmosZy5VdygpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuc3RvcCgpO2cucF8uVEIubUEuY2FsbCh0aGlzKX07Zy5peChnLmZfLGcuRk0pO2cuRT1nLmZfLnByb3RvdHlwZTtnLkUudDg9MDtnLkUubUE9ZnVuY3Rpb24oKXtnLmZfLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5zdG9wKCk7ZGVsZXRlIHRoaXMuTjtkZWxldGUgdGhpcy5KfTsKZy5FLnN0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuc3RvcCgpO3RoaXMudDg9Zy5adCh0aGlzLlcsbiE9PXZvaWQgMD9uOnRoaXMuZ3QpfTsKZy5FLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzQWN0aXZlKCkmJmcucWkuY2xlYXJUaW1lb3V0KHRoaXMudDgpO3RoaXMudDg9MH07CmcuRS5qZT1mdW5jdGlvbigpe3RoaXMuaXNBY3RpdmUoKSYmKHRoaXMuc3RvcCgpLHRoaXMuaSQoKSl9OwpnLkUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50OCE9MH07CmcuRS5pJD1mdW5jdGlvbigpe3RoaXMudDg9MDt0aGlzLk4mJnRoaXMuTi5jYWxsKHRoaXMuSil9O3ZhciB3QWk9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLlg9VyE9bnVsbD9uLmJpbmQoVyk6bjt0aGlzLmd0PTM1MDt0aGlzLlc9bnVsbDt0aGlzLk49ITE7dGhpcy5KPTA7dGhpcy5aNj1udWxsfWoobil7dGhpcy5XPWFyZ3VtZW50czt0aGlzLlo2fHx0aGlzLko/dGhpcy5OPSEwOklGKHRoaXMpfXN0b3AoKXt0aGlzLlo2JiYoZy5xaS5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsLHRoaXMuTj0hMSx0aGlzLlc9bnVsbCl9cGF1c2UoKXt0aGlzLkorK31yZXN1bWUoKXt0aGlzLkotLTt0aGlzLkp8fCF0aGlzLk58fHRoaXMuWjZ8fCh0aGlzLk49ITEsSUYodGhpcykpfW1BKCl7c3VwZXIubUEoKTt0aGlzLnN0b3AoKX19O3ZhciB1eWksR2cscWw7dXlpPVJlZ0V4cCgiXltcdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdIik7R2c9UmVnRXhwKCJeW15cdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdKltBLVphLXpcdTAwYzAtXHUwMGQ2XHUwMGQ4LVx1MDBmNlx1MDBmOC1cdTAyYjhcdTAzMDAtXHUwNTkwXHUwOTAwLVx1MWZmZlx1MjAwZVx1MmMwMC1cdWQ4MDFcdWQ4MDQtXHVkODM5XHVkODNjLVx1ZGJmZlx1ZjkwMC1cdWZiMWNcdWZlMDAtXHVmZTZmXHVmZWZkLVx1ZmZmZl0iKTtxbD1SZWdFeHAoIl5bXkEtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSpbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSIpOwpnLk1KaT1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO0ludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuIi5yZXBsYWNlKCJfIiwiLSIpXSk7dUgucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gUkZNfTsKdmFyIFJGTT17ZG9uZTohMCx2YWx1ZTp2b2lkIDB9O3VILnByb3RvdHlwZS5ncT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgb0Y9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59Z3EoKXtyZXR1cm4gbmV3IGRYKHRoaXMuTigpKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeksodGhpcy5OKCkpfUooKXtyZXR1cm4gbmV3IHpLKHRoaXMuTigpKX19LGRYPWNsYXNzIGV4dGVuZHMgdUh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1uZXh0KCl7cmV0dXJuIHRoaXMuTi5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHpLKHRoaXMuTil9Sigpe3JldHVybiBuZXcgeksodGhpcy5OKX19LHpLPWNsYXNzIGV4dGVuZHMgb0Z7Y29uc3RydWN0b3Iobil7c3VwZXIoKCk9Pm4pOwp0aGlzLlc9bn1uZXh0KCl7cmV0dXJuIHRoaXMuVy5uZXh0KCl9fTtsSC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGxIKHRoaXMuTix0aGlzLkssdGhpcy5XLHRoaXMuaix0aGlzLlgsdGhpcy5WLHRoaXMuSix0aGlzLlkpfTsKbEgucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5OPT1uLk4mJnRoaXMuSz09bi5LJiZ0aGlzLlc9PW4uVyYmdGhpcy5qPT1uLmomJnRoaXMuWD09bi5YJiZ0aGlzLlY9PW4uViYmdGhpcy5KPT1uLkomJnRoaXMuWT09bi5ZfTsoZnVuY3Rpb24oKXtpZihwUWope3ZhciBuPS9XaW5kb3dzIE5UIChbMC05Ll0rKS87cmV0dXJuKG49bi5leGVjKGcuWFEoKSkpP25bMV06IjAifXJldHVybiBucj8obj0vMVswfDFdW18uXVswLTlfLl0rLywobj1uLmV4ZWMoZy5YUSgpKSk/blswXS5yZXBsYWNlKC9fL2csIi4iKToiMTAiKTpnLlFIPyhuPS9BbmRyb2lkXHMrKFteXCk7XSspKFwpfDspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXToiIik6V1VafHxENGl8fGJpVT8obj0vKD86aVBob25lfENQVSlccytPU1xzKyhcUyspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXS5yZXBsYWNlKC9fL2csIi4iKToiIik6IiJ9KSgpO3ZhciBmWDI9ZnVuY3Rpb24oKXtpZihnLmFvKXJldHVybiBqQSgvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoZy5raHx8Zy5SZ3x8cmMpcmV0dXJuIFAyO2lmKGcub2Qpe2lmKGcuQTQoKXx8Zy5teCgpKXt2YXIgbj1qQSgvQ3JpT1NcLyhbMC05Ll0rKS8pO2lmKG4pcmV0dXJuIG59cmV0dXJuIGpBKC9DaHJvbWVcLyhbMC05Ll0rKS8pfWlmKGcuR24mJiFnLkE0KCkpcmV0dXJuIGpBKC9WZXJzaW9uXC8oWzAtOS5dKykvKTtpZih3OHx8TVgpe2lmKG49L1ZlcnNpb25cLyhcUyspLipNb2JpbGVcLyhcUyspLy5leGVjKGcuWFEoKSkpcmV0dXJuIG5bMV0rIi4iK25bMl19ZWxzZSBpZihnLkltKXJldHVybihuPWpBKC9BbmRyb2lkXHMrKFswLTkuXSspLykpP246akEoL1ZlcnNpb25cLyhbMC05Ll0rKS8pO3JldHVybiIifSgpO2cuaXgoQkssZy5GTSk7Zy5FPUJLLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10aGlzLkpbbl07Ynx8KGI9dGhpcy5KW25dPVtdKTt2YXIgdj10aGlzLlY7dGhpcy5OW3ZdPW47dGhpcy5OW3YrMV09Vzt0aGlzLk5bdisyXT1EO3RoaXMuVj12KzM7Yi5wdXNoKHYpO3JldHVybiB2fTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXRoaXMuSltuXSl7bGV0IGI9dGhpcy5OO2lmKG49bi5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiBiW3YrMV09PVcmJmJbdisyXT09RH0pKXJldHVybiB0aGlzLmpLKG4pfXJldHVybiExfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3ZhciBXPXRoaXMuTltuXTtpZihXKXtsZXQgRD10aGlzLkpbV107dGhpcy5YIT0wPyh0aGlzLlcucHVzaChuKSx0aGlzLk5bbisxXT0oKT0+e30pOihEJiZnLkZJKEQsbiksZGVsZXRlIHRoaXMuTltuXSxkZWxldGUgdGhpcy5OW24rMV0sZGVsZXRlIHRoaXMuTltuKzJdKX1yZXR1cm4hIVd9OwpnLkUuV0o9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLkpbbl07aWYoRCl7bGV0IHY9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTt2YXIgYj1hcmd1bWVudHMubGVuZ3RoO2xldCBrO2ZvcihrPTE7azxiO2srKyl2W2stMV09YXJndW1lbnRzW2tdO2lmKHRoaXMuSylmb3Ioaz0wO2s8RC5sZW5ndGg7aysrKWI9RFtrXSxKNHIodGhpcy5OW2IrMV0sdGhpcy5OW2IrMl0sdik7ZWxzZXt0aGlzLlgrKzt0cnl7Zm9yKGs9MCxiPUQubGVuZ3RoO2s8YiYmIXRoaXMucU4oKTtrKyspe2xldCBoPURba107dGhpcy5OW2grMV0uYXBwbHkodGhpcy5OW2grMl0sdil9fWZpbmFsbHl7aWYodGhpcy5YLS0sdGhpcy5XLmxlbmd0aD4wJiZ0aGlzLlg9PTApZm9yKDtEPXRoaXMuVy5wb3AoKTspdGhpcy5qSyhEKX19cmV0dXJuIGshPTB9cmV0dXJuITF9OwpnLkUuY2xlYXI9ZnVuY3Rpb24obil7aWYobil7bGV0IFc9dGhpcy5KW25dO1cmJihXLmZvckVhY2godGhpcy5qSyx0aGlzKSxkZWxldGUgdGhpcy5KW25dKX1lbHNlIHRoaXMuTi5sZW5ndGg9MCx0aGlzLko9e319OwpnLkUubUE9ZnVuY3Rpb24oKXtCSy5UQi5tQS5jYWxsKHRoaXMpO3RoaXMuY2xlYXIoKTt0aGlzLlcubGVuZ3RoPTB9O2cuRmQucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDA/dGhpcy5OLnJlbW92ZShuKTp0aGlzLk4uc2V0KG4sKG5ldyBsZSkuYlkoVykpfTsKZy5GZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3RyeXt2YXIgVz10aGlzLk4uZ2V0KG4pfWNhdGNoKEQpe3JldHVybn1pZihXIT09bnVsbCl0cnl7cmV0dXJuIEpTT04ucGFyc2UoVyl9Y2F0Y2goRCl7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO319OwpnLkZkLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5OLnJlbW92ZShuKX07Zy5peCh3WCxnLkZkKTt3WC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyl7d1guVEIuc2V0LmNhbGwodGhpcyxuLFJGKFcpKX07CndYLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXtuPXdYLlRCLmdldC5jYWxsKHRoaXMsbik7aWYobj09PXZvaWQgMHx8biBpbnN0YW5jZW9mIE9iamVjdClyZXR1cm4gbjt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fTsKd1gucHJvdG90eXBlLmdldD1mdW5jdGlvbihuKXtpZihuPXRoaXMuTUQobikpe2lmKG49bi5kYXRhLG49PT12b2lkIDApdGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO31lbHNlIG49dm9pZCAwO3JldHVybiBufTtnLml4KFFLLHdYKTtRSy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyxEKXtpZihXPVJGKFcpKXtpZihEKXtpZihEPGcuVXcoKSl7UUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7cmV0dXJufVcuZXhwaXJhdGlvbj1EfVcuY3JlYXRpb249Zy5VdygpfVFLLlRCLnNldC5jYWxsKHRoaXMsbixXKX07ClFLLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXt2YXIgVz1RSy5UQi5NRC5jYWxsKHRoaXMsbik7aWYoVyl7bGV0IEQ9Vy5jcmVhdGlvbixiPVcuZXhwaXJhdGlvbjtpZihiJiZiPGcuVXcoKXx8RCYmRD5nLlV3KCkpUUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7ZWxzZSByZXR1cm4gV319O2cuaXgoVkssUUspO2cuaXgoY0ssSVgxKTtjSy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBZQTEodGhpcy5ncSghMCkpLkooKX07CmNLLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBuPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBXIG9mIG4pdGhpcy5yZW1vdmUoVyl9O2cuaXgoYUYsY0spO2cuRT1hRi5wcm90b3R5cGU7Zy5FLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5KPT09bnVsbCl7dmFyIG49dGhpcy5OO2lmKG4pdHJ5e24uc2V0SXRlbSgiX19zYWsiLCIxIik7bi5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBXPSEwfWNhdGNoKEQpe1c9RCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKEQubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxELmNvZGU9PT0yMnx8RC5jb2RlPT09MTAxNHx8RC5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJm4mJm4ubGVuZ3RoIT09MH1lbHNlIFc9ITE7dGhpcy5KPVd9cmV0dXJuIHRoaXMuSn07CmcuRS5zZXQ9ZnVuY3Rpb24obixXKXtuZSh0aGlzKTt0cnl7dGhpcy5OLnNldEl0ZW0obixXKX1jYXRjaChEKXtpZih0aGlzLk4ubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319OwpnLkUuZ2V0PWZ1bmN0aW9uKG4pe25lKHRoaXMpO249dGhpcy5OLmdldEl0ZW0obik7aWYodHlwZW9mIG4hPT0ic3RyaW5nIiYmbiE9PW51bGwpdGhyb3ciU3RvcmFnZSBtZWNoYW5pc206IEludmFsaWQgdmFsdWUgd2FzIGVuY291bnRlcmVkIjtyZXR1cm4gbn07CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7bmUodGhpcyk7dGhpcy5OLnJlbW92ZUl0ZW0obil9OwpnLkUuZ3E9ZnVuY3Rpb24obil7bmUodGhpcyk7dmFyIFc9MCxEPXRoaXMuTixiPW5ldyB1SDtiLm5leHQ9ZnVuY3Rpb24oKXtpZihXPj1ELmxlbmd0aClyZXR1cm4gUkZNO3ZhciB2PUQua2V5KFcrKyk7aWYobilyZXR1cm57dmFsdWU6dixkb25lOiExfTt2PUQuZ2V0SXRlbSh2KTtpZih0eXBlb2YgdiE9PSJzdHJpbmciKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7cmV0dXJue3ZhbHVlOnYsZG9uZTohMX19OwpyZXR1cm4gYn07CmcuRS5jbGVhcj1mdW5jdGlvbigpe25lKHRoaXMpO3RoaXMuTi5jbGVhcigpfTsKZy5FLmtleT1mdW5jdGlvbihuKXtuZSh0aGlzKTtyZXR1cm4gdGhpcy5OLmtleShuKX07Zy5peChXUyxhRik7Zy5peChEUSxhRik7Zy5peChiQyxjSyk7YkMucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe3RoaXMuSi5zZXQodGhpcy5OK24sVyl9OwpiQy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLkouZ2V0KHRoaXMuTituKX07CmJDLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5KLnJlbW92ZSh0aGlzLk4rbil9OwpiQy5wcm90b3R5cGUuZ3E9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5KW1N5bWJvbC5pdGVyYXRvcl0oKSxEPXRoaXMsYj1uZXcgdUg7Yi5uZXh0PWZ1bmN0aW9uKCl7dmFyIHY9Vy5uZXh0KCk7aWYodi5kb25lKXJldHVybiB2O2Zvcih2PXYudmFsdWU7di5zbGljZSgwLEQuTi5sZW5ndGgpIT1ELk47KXt2PVcubmV4dCgpO2lmKHYuZG9uZSlyZXR1cm4gdjt2PXYudmFsdWV9cmV0dXJue3ZhbHVlOm4/di5zbGljZShELk4ubGVuZ3RoKTpELkouZ2V0KHYpLGRvbmU6ITF9fTsKcmV0dXJuIGJ9O2tqLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkp9Owprai5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtqKHRoaXMuTix0aGlzLkopfTt2YXIgZWM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPVtdO2lmKG4pYTp7bGV0IEQ7aWYobiBpbnN0YW5jZW9mIGVjKXtpZihEPW4udUIoKSxuPW4uejcoKSx0aGlzLk4ubGVuZ3RoPD0wKXt2YXIgVz10aGlzLk47Zm9yKGxldCBiPTA7YjxELmxlbmd0aDtiKyspVy5wdXNoKG5ldyBraihEW2JdLG5bYl0pKTticmVhayBhfX1lbHNlIEQ9Zy5MVChuKSxuPWhLKG4pO2ZvcihXPTA7VzxELmxlbmd0aDtXKyspdGhpcy5xcChEW1ddLG5bV10pfX1xcChuLFcpe3ZhciBEPXRoaXMuTjtELnB1c2gobmV3IGtqKG4sVykpO249RC5sZW5ndGgtMTtXPXRoaXMuTjtmb3IoRD1XW25dO24+MDspe2xldCBiPW4tMT4+MTtpZihXW2JdLk4+RC5OKVdbbl09V1tiXSxuPWI7ZWxzZSBicmVha31XW25dPUR9cmVtb3ZlKCl7dmFyIG49dGhpcy5OLFc9bi5sZW5ndGgsRD1uWzBdO2lmKCEoVzw9MCkpe2lmKFc9PTEpbi5sZW5ndGg9MDtlbHNle25bMF09bi5wb3AoKTtuPTA7Vz10aGlzLk47bGV0IHY9Vy5sZW5ndGgsCms9V1tuXTtmb3IoO248dj4+MTspe3ZhciBiPW4qMisxO2xldCBoPW4qMisyO2I9aDx2JiZXW2hdLk48V1tiXS5OP2g6YjtpZihXW2JdLk4+ay5OKWJyZWFrO1dbbl09V1tiXTtuPWJ9V1tuXT1rfXJldHVybiBELmdldFZhbHVlKCl9fXo3KCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLmdldFZhbHVlKCkpO3JldHVybiBXfXVCKCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLk4pO3JldHVybiBXfWNsb25lKCl7cmV0dXJuIG5ldyBlYyh0aGlzKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuTi5sZW5ndGg9PT0wfWNsZWFyKCl7dGhpcy5OLmxlbmd0aD0wfX07dmFyIFFyaD1jbGFzcyBleHRlbmRzIGVje307dmFyIGhrPXt9LFZKaT10eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgVWludDE2QXJyYXkhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEludDMyQXJyYXkhPT0idW5kZWZpbmVkIjtoay5hc3NpZ249ZnVuY3Rpb24obil7Zm9yKHZhciBXPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtXLmxlbmd0aDspe3ZhciBEPVcuc2hpZnQoKTtpZihEKXtpZih0eXBlb2YgRCE9PSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoRCsibXVzdCBiZSBub24tb2JqZWN0Iik7Zm9yKHZhciBiIGluIEQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsYikmJihuW2JdPURbYl0pfX1yZXR1cm4gbn07CmhrLlVmPWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg9PT1XKXJldHVybiBuO2lmKG4uc3ViYXJyYXkpcmV0dXJuIG4uc3ViYXJyYXkoMCxXKTtuLmxlbmd0aD1XO3JldHVybiBufTsKdmFyIGNUMj17UDc6ZnVuY3Rpb24obixXLEQsYix2KXtpZihXLnN1YmFycmF5JiZuLnN1YmFycmF5KW4uc2V0KFcuc3ViYXJyYXkoRCxEK2IpLHYpO2Vsc2UgZm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7dmFyIFcsRDt2YXIgYj1EPTA7Zm9yKFc9bi5sZW5ndGg7YjxXO2IrKylEKz1uW2JdLmxlbmd0aDt2YXIgdj1uZXcgVWludDhBcnJheShEKTtiPUQ9MDtmb3IoVz1uLmxlbmd0aDtiPFc7YisrKXt2YXIgaz1uW2JdO3Yuc2V0KGssRCk7RCs9ay5sZW5ndGh9cmV0dXJuIHZ9fSxhY0M9e1A3OmZ1bmN0aW9uKG4sVyxELGIsdil7Zm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLG4pfX07CmhrLlhHPWZ1bmN0aW9uKCl7VkppPyhoay5PbT1VaW50OEFycmF5LGhrLm1LPVVpbnQxNkFycmF5LGhrLlN2PUludDMyQXJyYXksaGsuYXNzaWduKGhrLGNUMikpOihoay5PbT1BcnJheSxoay5tSz1BcnJheSxoay5Tdj1BcnJheSxoay5hc3NpZ24oaGssYWNDKSl9Owpoay5YRygpO3ZhciBueGk9ITA7dHJ5e25ldyBVaW50OEFycmF5KDEpfWNhdGNoKG4pe254aT0hMX07dmFyIFZ0PXt9O1Z0PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4mNjU1MzV8MDtuPW4+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgaztEIT09MDspe2s9RD4yRTM/MkUzOkQ7RC09aztkbyB2PXYrV1tiKytdfDAsbj1uK3Z8MDt3aGlsZSgtLWspO3YlPTY1NTIxO24lPTY1NTIxfXJldHVybiB2fG48PDE2fDB9O2Zvcih2YXIgY1M9e30sZ24sV3RyPVtdLFhzPTA7WHM8MjU2O1hzKyspe2duPVhzO2Zvcih2YXIgRGtaPTA7RGtaPDg7RGtaKyspZ249Z24mMT8zOTg4MjkyMzg0XmduPj4+MTpnbj4+PjE7V3RyW1hzXT1nbn1jUz1mdW5jdGlvbihuLFcsRCxiKXtEPWIrRDtmb3Iobl49LTE7YjxEO2IrKyluPW4+Pj44Xld0clsobl5XW2JdKSYyNTVdO3JldHVybiBuXi0xfTt2YXIgekI9e307ekI9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgbSQ9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sUFM9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLFowdz1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDMsN10sQ2U9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdLEJTPUFycmF5KDU3Nik7TGUoQlMpO3ZhciBGOT1BcnJheSg2MCk7TGUoRjkpO3ZhciBPJD1BcnJheSg1MTIpO0xlKE8kKTt2YXIgQWs9QXJyYXkoMjU2KTtMZShBayk7dmFyIEtlPUFycmF5KDI5KTtMZShLZSk7dmFyIFpRPUFycmF5KDMwKTtMZShaUSk7dmFyIHhmLEx3LGVILGhyPSExO3ZhciBidztidz1bbmV3IERFKDAsMCwwLDAsZnVuY3Rpb24obixXKXt2YXIgRD02NTUzNTtmb3IoRD5uLnl2LTUmJihEPW4ueXYtNSk7Oyl7aWYobi5HVzw9MSl7YVMobik7aWYobi5HVz09PTAmJlc9PT0wKXJldHVybiAxO2lmKG4uR1c9PT0wKWJyZWFrfW4ucXMrPW4uR1c7bi5HVz0wO3ZhciBiPW4uT0srRDtpZihuLnFzPT09MHx8bi5xcz49YilpZihuLkdXPW4ucXMtYixuLnFzPWIsdzcobiwhMSksbi5UUi51Uj09PTApcmV0dXJuIDE7aWYobi5xcy1uLk9LPj1uLnhyLTI2MiYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7aWYoVz09PTQpcmV0dXJuIHc3KG4sITApLG4uVFIudVI9PT0wPzM6NDtuLnFzPm4uT0smJnc3KG4sITEpO3JldHVybiAxfSksCm5ldyBERSg0LDQsOCw0LG53KSxuZXcgREUoNCw1LDE2LDgsbncpLG5ldyBERSg0LDYsMzIsMzIsbncpLG5ldyBERSg0LDQsMTYsMTYsV1YpLG5ldyBERSg4LDE2LDMyLDMyLFdWKSxuZXcgREUoOCwxNiwxMjgsMTI4LFdWKSxuZXcgREUoOCwzMiwxMjgsMjU2LFdWKSxuZXcgREUoMzIsMTI4LDI1OCwxMDI0LFdWKSxuZXcgREUoMzIsMjU4LDI1OCw0MDk2LFdWKV07dmFyIGtmPXt9O2tmPWZ1bmN0aW9uKCl7dGhpcy5pbnB1dD1udWxsO3RoaXMuRW09dGhpcy5CQT10aGlzLlVaPTA7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLnRCPXRoaXMudVI9dGhpcy51Zz0wO3RoaXMubXNnPSIiO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnFTPTI7dGhpcy5nST0wfTt2YXIgZzI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdlYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLlRSLGI9dGhpcy5vcHRpb25zLmNodW5rU2l6ZTtpZih0aGlzLmVuZGVkKXJldHVybiExO3ZhciB2PVc9PT1+flc/VzpXPT09ITA/NDowO3R5cGVvZiBuPT09InN0cmluZyI/RC5pbnB1dD14aihuKTpnMi5jYWxsKG4pPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIj9ELmlucHV0PW5ldyBVaW50OEFycmF5KG4pOkQuaW5wdXQ9bjtELlVaPTA7RC5CQT1ELmlucHV0Lmxlbmd0aDtkb3tELnVSPT09MCYmKEQub3V0cHV0PW5ldyBoay5PbShiKSxELnVnPTAsRC51Uj1iKTtuPVBwMShELHYpO2lmKG4hPT0xJiZuIT09MClyZXR1cm4gdGhpcy5IdChuKSx0aGlzLmVuZGVkPSEwLCExO2lmKEQudVI9PT0wfHxELkJBPT09MCYmKHY9PT00fHx2PT09MikpaWYodGhpcy5vcHRpb25zLnRvPT09InN0cmluZyIpe3ZhciBrPWhrLlVmKEQub3V0cHV0LEQudWcpO1c9aztrPWsubGVuZ3RoO2lmKGs8NjU1MzcmJihXLnN1YmFycmF5JiYKbnhpfHwhVy5zdWJhcnJheSkpVz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsaGsuVWYoVyxrKSk7ZWxzZXtmb3IodmFyIGg9IiIseD0wO3g8azt4KyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShXW3hdKTtXPWh9dGhpcy5jaHVua3MucHVzaChXKX1lbHNlIFc9aGsuVWYoRC5vdXRwdXQsRC51ZyksdGhpcy5jaHVua3MucHVzaChXKX13aGlsZSgoRC5CQT4wfHxELnVSPT09MCkmJm4hPT0xKTtpZih2PT09NClyZXR1cm4oRD10aGlzLlRSKSYmRC5zdGF0ZT8oYj1ELnN0YXRlLnN0YXR1cyxiIT09NDImJmIhPT02OSYmYiE9PTczJiZiIT09OTEmJmIhPT0xMDMmJmIhPT0xMTMmJmIhPT02NjY/bj1sQyhELC0yKTooRC5zdGF0ZT1udWxsLG49Yj09PTExMz9sQyhELC0zKTowKSk6bj0tMix0aGlzLkh0KG4pLHRoaXMuZW5kZWQ9ITAsbj09PTA7dj09PTImJih0aGlzLkh0KDApLEQudVI9MCk7cmV0dXJuITB9Owp2Vi5wcm90b3R5cGUuSHQ9ZnVuY3Rpb24obil7bj09PTAmJih0aGlzLnJlc3VsdD10aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj90aGlzLmNodW5rcy5qb2luKCIiKTpoay5QNih0aGlzLmNodW5rcykpO3RoaXMuY2h1bmtzPVtdO3RoaXMuZXJyPW47dGhpcy5tc2c9dGhpcy5UUi5tc2d9O3ZhciB0cj0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIiksR2Q9YEBAcmVkdXgvSU5JVCR7dHIoKX1gLEVLQz1gQEByZWR1eC9SRVBMQUNFJHt0cigpfWA7dmFyIHIyPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7dmFyIFFTeD1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxbMCxnLkN4LFRnLGcub20sbFUsZy5vbSwtMSxqbyxsVSxqbywtMSxnLkN4LGpvLFRnLGcuZHEsWzAsbFUsLTMsam9dLGcub20sLTEsam9dKTt2YXIgS0d0PS0zMDE3MTcyMTc7dmFyIGJzdD1mdW5jdGlvbihuLFcpe3JldHVybigoKT0+e3ZhciBEPW5ldyBBWHgobixXKTtyZXR1cm4oKT0+RH0pKCl9KCJ5b3V0dWJlLmFwaS5pbm5lcnR1YmUuQXR0ZXN0YXRpb25FcnJvciIsJ1tudWxsLFtbIkFUVEVTVEFUSU9OX0VSUk9SX1VOS05PV04iLDBdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fTk9UX0lOSVRJQUxJWkVEIiwxXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PX1JFU1BPTlNFIiwyXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiLDNdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fSU5URVJOQUxfRVJST1IiLDRdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVkFMSUQiLDVdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX05FVFdPUktfRVJST1IiLDZdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX09GRkxJTkUiLDddLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVEVSTkFMX0VSUk9SIiw4XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0FQSV9OT1RfUkVBRFkiLDldLFsiQVRURVNUQVRJT05fRVJST1JfREVWSUNFX09GRkxJTkUiLDEwXSxbIkFUVEVTVEFUSU9OX0VSUk9SX0tFWV9QQUlSX0lOSVRfRkFJTEVEIiwxMl0sWyJBVFRFU1RBVElPTl9FUlJPUl9TSUdOSU5HX0RBVEFfTUlTU0lORyIsMTNdLFsiQVRURVNUQVRJT05fRVJST1JfU0lHTklOR19GQUlMRUQiLDE0XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0NFUlRfQ0hBSU5fUkVUUklFVkFMX0ZBSUxFRCIsMTVdXSxudWxsLFtbMTEsMTFdXV0nKTtnLnFNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMubmFtZT1ufX07Zy5TdD1uZXcgZy5xTSgiYWN0aW9uQ29tcGFuaW9uQWRSZW5kZXJlciIpO2cuVWg9bmV3IGcucU0oImFkQWN0aW9uSW50ZXJzdGl0aWFsUmVuZGVyZXIiKTtnLm0yPW5ldyBnLnFNKCJhZHNFbmdhZ2VtZW50UGFuZWxSZW5kZXJlciIpO2cuVyQ9bmV3IGcucU0oImRpc21pc3NhYmxlUGFuZWxUZXh0UG9ydHJhaXRJbWFnZVJlbmRlcmVyIik7Zy5vYT1uZXcgZy5xTSgiYWRzRW5nYWdlbWVudFBhbmVsU2VjdGlvbkxpc3RWaWV3TW9kZWwiKTtnLkFqPW5ldyBnLnFNKCJpbWFnZUNvbXBhbmlvbkFkUmVuZGVyZXIiKTtnLkVoPW5ldyBnLnFNKCJpbnN0cmVhbUFkUGxheWVyT3ZlcmxheVJlbmRlcmVyIik7Zy5GeT1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFJlbmRlcmVyIik7Zy5HOD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFNpbmdsZVNlbGVjdFF1ZXN0aW9uUmVuZGVyZXIiKTtnLnRMPW5ldyBnLnFNKCJpbnN0cmVhbVN1cnZleUFkTXVsdGlTZWxlY3RRdWVzdGlvblJlbmRlcmVyIik7Zy4kSD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZEFuc3dlclJlbmRlcmVyIik7Zy52eHg9bmV3IGcucU0oImluc3RyZWFtU3VydmV5QWRBbnN3ZXJOb25lT2ZUaGVBYm92ZVJlbmRlcmVyIik7Zy5DYz1uZXcgZy5xTSgiaW5zdHJlYW1WaWRlb0FkUmVuZGVyZXIiKTtnLmkwPW5ldyBnLnFNKCJwbGF5ZXJPdmVybGF5TGF5b3V0UmVuZGVyZXIiKTtnLnlWPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbEJ1dHRvbmVkQ2VudGVyZWRMYXlvdXRSZW5kZXJlciIpO2cuaFg9bmV3IGcucU0oImFib3ZlRmVlZEFkTGF5b3V0UmVuZGVyZXIiKTtnLnh6PW5ldyBnLnFNKCJiZWxvd1BsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmt6PW5ldyBnLnFNKCJpblBsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmUyPW5ldyBnLnFNKCJpblBsYXllck9yZ2FuaWNPdmVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuUmE9bmV3IGcucU0oInBsYXllckJ5dGVzQWRMYXlvdXRSZW5kZXJlciIpO2cuTGk9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVuY2VJdGVtQWRMYXlvdXRSZW5kZXJlciIpO2cudiQ9bmV3IGcucU0oInBsYXllclVuZGVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuQlE9bmV3IGcucU0oImFkSW50cm9SZW5kZXJlciIpO2cuVDA9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVudGlhbExheW91dFJlbmRlcmVyIik7Zy53YT1uZXcgZy5xTSgic3VydmV5VGV4dEludGVyc3RpdGlhbFJlbmRlcmVyIik7Zy5RVj1uZXcgZy5xTSgidmlkZW9BZFRyYWNraW5nUmVuZGVyZXIiKTt2YXIgUXhNPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbENlbnRlcmVkTGF5b3V0Vmlld01vZGVsIik7Zy5kYT1uZXcgZy5xTSgicGxheWVyT3JnYW5pY1RyYW5zaXRpb25PdmVybGF5UmVuZGVyZXIiKTtnLlhHPW5ldyBnLnFNKCJhZFNsb3RSZW5kZXJlciIpO2cuYWE9bmV3IGcucU0oInNxdWVlemViYWNrUGxheWVyU2lkZVBhbmVsUmVuZGVyZXIiKTtnLktjPW5ldyBnLnFNKCJiYW5uZXJJbWFnZUxheW91dFZpZXdNb2RlbCIpO2cuT2g9bmV3IGcucU0oInRvcEJhbm5lckltYWdlVGV4dEljb25CdXR0b25lZExheW91dFZpZXdNb2RlbCIpO2cuUFE9bmV3IGcucU0oImFkc0VuZ2FnZW1lbnRQYW5lbExheW91dFZpZXdNb2RlbCIpO2cubmk9bmV3IGcucU0oImRpc3BsYXlVbmRlcmxheVRleHRHcmlkQ2FyZHNMYXlvdXRWaWV3TW9kZWwiKTt2YXIgcm49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59fSxzQz1jbGFzcyBleHRlbmRzIHJue2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLk4uZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKG4pe3RoaXMuTi5lbnRpdHlNZXRhZGF0YT1ufX07dmFyIGtqTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBoNGo9bmV3IGcucU0oImNvbW1hbmRDb250ZXh0Iik7dmFyIHhrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBMdHc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZEUyPW5ldyBnLnFNKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgb3Z0PW5ldyBnLnFNKCJyYXdIb3RDb25maWdHcm91cCIpO2cuTk09bmV3IGcucU0oImNvbW1hbmRFeGVjdXRvckNvbW1hbmQiKTt2YXIgZTR3PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBneHQ9e1ZDOjAsZVo6MSxFcDozMixPcDo2MSxkNzo2NyxBSzoxMDMsSVg6ODYsR0E6NDIsTVg6NjAsTEk6NjIsRGk6NzMsYVg6NzYsdzc6ODgsQ0k6OTAsTjY6OTksSHI6OTgsb1g6MTAwLEZBOjEwMixjODo0MSxQODo2OSx5TDo3MCxKcjo3MSx5TToyLEs0OjI3LEFORFJPSUQ6MyxBdjo1NCx3TToxNCx6ejo5MSxDRTo1NSxkTToyNCxOdToxMDUsYzk6MjAsUDk6MTgsSkg6MjEsdEg6MTA0LFg2OjMwLGpMOjI5LFYzOjI4LHBJOjEwMSxtQjoxMDcsa0Q6MzQsaEg6MzYseTM6MzgsSU9TOjUsVEw6MTUsblE6OTIscmo6NDAscFE6MjUseDc6MTA2LFNBOjE3LFk3OjE5LHNZOjY0LHVPOjY2LGVBOjI2LFpwOjIyLGxPOjMzLEhtOjY4LFVZOjM1LExROjUzLEJtOjEwOCxSTzozNyxLUTozOSxkMjo3LFByOjU3LHlDOjQzLHRLOjU5LEpLOjkzLGlwOjc0LFdyOjc1LGJGOjg1LHpBOjY1LGhLOjgwLFhBOjgsQ006MTAsaUY6NTgscVg6NjMsbVU6NzIscXU6MjMsYkE6MTEselU6MTMsd0o6MTIsCm9OOjE2LFVwOjU2LGc3OjMxLGttOjc3LEFROjg0LGZJOjg3LENoOjg5LHdMOjk0LHpUOjk1LGxMOjEwOX07dmFyIGk5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1XKG4pe2cuU0UodGhpcyw1LG4pfX07dmFyIHlkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBYd1U9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEhzPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIEhXKHRoaXMsMzYpfXNldEhvbWVHcm91cEluZm8obil7cmV0dXJuICQ5KHRoaXMsWHdVLDgxLG4pfWNsZWFyTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKCl7cmV0dXJuIG96KHRoaXMsODkpfX07dmFyIEo2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRWYWx1ZSgpe3JldHVybiBZOSh0aGlzLHZXKHRoaXMsSXYsMikpfX0sSXY9WzIsMyw0LDUsNl07dmFyIHFZUz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VHJhY2tpbmdQYXJhbXMobil7cmV0dXJuIG96KHRoaXMsMSxrVShuLCExKSl9fTt2YXIgZlU9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVKPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBBNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VG9rZW4obil7cmV0dXJuIGcuU0UodGhpcywyLG4pfX07dmFyIFN5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1zZXRTYWZldHlNb2RlKG4pe3JldHVybiBLbih0aGlzLDUsbil9fTt2YXIgWUE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfVcobil7cmV0dXJuICQ5KHRoaXMsSHMsMSxuKX19O3ZhciBHajE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdFBVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRrYj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBSVGg9bmV3IGcucU0oImNvbnRpbnVhdGlvbkNvbW1hbmQiKTtnLmNFPW5ldyBnLnFNKCJzaWduYWxBY3Rpb24iKTt2YXIgcGo9bmV3IGcucU0oIndlYkNvbW1hbmRNZXRhZGF0YSIpO3ZhciBoazI9bmV3IGcucU0oIm1ldGFkYXRhQmFkZ2VSZW5kZXJlciIpO3ZhciBRWU09bmV3IGcucU0oInNpZ25hbFNlcnZpY2VFbmRwb2ludCIpO3ZhciAkej1uZXcgZy5xTSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBEMzE9e1NUOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIixyTDoiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVCIseHc6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCIsS2g6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCJ9O3ZhciAkdE09bmV3IGcucU0oImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCIpO3ZhciBEdEM9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIiKTt2YXIgYW9VPW5ldyBnLnFNKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlciIpLHIxcj1uZXcgZy5xTSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxzc0M9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgUyQ9bmV3IGcucU0oImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyIHJZcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBzQng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTkEyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHB3Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbCYmbi5wdXNoKHRoaXMuTi5hbHRlcm5hdGVDaGFubmVsKTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QmJm4ucHVzaCguLi50aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QpO3RoaXMuTi5vbmVvZkNoYW5uZWxFbnRpdHkmJm4ucHVzaCh0aGlzLk4ub25lb2ZDaGFubmVsRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBZWXI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmVudHJ5Q29sbGVjdGlvbiYmbi5wdXNoKHRoaXMuTi5lbnRyeUNvbGxlY3Rpb24pO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sZl94PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRQbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wYXJlbnRQbGF5bGlzdCk7aWYodGhpcy5OLmVudHJpZXMpZm9yKGxldCBXIG9mIHRoaXMuTi5lbnRyaWVzKW4ucHVzaCguLi4obmV3IEhzaChXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEhzaD1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIEpZYj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkmJm4ucHVzaCh0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuTi5jcmVhdG9ycyYmbi5wdXNoKC4uLnRoaXMuTi5jcmVhdG9ycyk7dGhpcy5OLnRoZUJpZ2dlc3RGYW4mJm4ucHVzaCh0aGlzLk4udGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxJX3c9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgU1l3PW5ldyBnLnFNKCJmZWVkYmFja0VuZHBvaW50Iik7dmFyIEFZeD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBta2g9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgS3R4PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE9zaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQTHI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgWnNyPW5ldyBnLnFNKCJpbnRlcmFjdGlvbkxvZ2dpbmdDb21tYW5kTWV0YWRhdGEiKTt2YXIgZDNqPXtsRjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIixuSToiV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIixSWDoiV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIixaaToiV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIixCcjoiV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIn07dmFyIFVrcj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0UGxheWVyVHlwZSgpe3JldHVybiBIVyh0aGlzLDcpfUUxKCl7cmV0dXJuIFk5KHRoaXMsMTkpfXNldFZpZGVvSWQobil7cmV0dXJuIGcuU0UodGhpcywxOSxuKX19O3ZhciBBbT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgU0w9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIFp2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fSx5WTE9WzIsMyw1LDYsNywxMSwxMywyMCwyMSwyMiwyMywyNCwyOCwzMiwzNyw0NSw1OSw3Miw3Myw3NCw3Niw3OCw3OSw4MCw4NSw5MSw5NywxMDAsMTAyLDEwNSwxMTEsMTE3LDExOSwxMjYsMTI3LDEzNiwxNDYsMTQ4LDE1MSwxNTYsMTU3LDE1OCwxNTksMTYzLDE2NCwxNjgsMTc2LDE3NywxNzgsMTc5LDE4NCwxODgsMTg5LDE5MCwxOTEsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDgsMjA5LDIxNSwyMTksMjIyLDIyNSwyMjYsMjI3LDIyOSwyMzIsMjMzLDIzNCwyNDAsMjQxLDI0NCwyNDcsMjQ4LDI0OSwyNTEsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjYsMjcwLDI3MiwyNzgsMjg4LDI5MSwyOTMsMzAwLDMwNCwzMDgsMzA5LDMxMCwzMTEsMzEzLDMxNCwzMTksMzIwLDMyMSwzMjMsMzI0LDMyNywzMjgsCjMzMCwzMzEsMzMyLDMzNCwzMzcsMzM4LDM0MCwzNDQsMzQ4LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM2MSwzNjMsMzY0LDM2OCwzNjksMzcwLDM3MywzNzQsMzc1LDM3OCwzODAsMzgxLDM4MywzODgsMzg5LDM5OSw0MDIsNDAzLDQxMCw0MTEsNDEyLDQxMyw0MTQsNDE1LDQxNiw0MTcsNDE4LDQyMyw0MjQsNDI1LDQyNiw0MjcsNDI5LDQzMCw0MzEsNDM5LDQ0MSw0NDQsNDQ4LDQ1OCw0NjksNDcxLDQ3Myw0NzQsNDgwLDQ4MSw0ODIsNDg0LDQ4NSw0ODYsNDkxLDQ5NSw0OTYsNTA2LDUwNyw1MDksNTExLDUxMiw1MTMsNTE0LDUxNSw1MTYsNTE3LDUxOCw1MTksNTIwLDUyMiw1MjMsNTI0LDUyNSw1MjYsNTI3LDUyOCw1MjksNTMwLDUzMSw1MzYsNTM3LDUzOCw1MzksNTQxLDU0NSw1NDcsNTQ4LDU0OSw1NTAsNTUxLDU1Miw1NTMsNTU0LDU1N107Zy5FeGk9bmV3IGcucU0oImxvZ2dpbmdDb250ZXh0Iik7dmFyIE95PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBoNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9RTEoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDEpKX1zZXRWaWRlb0lkKG4pe3JldHVybiBEMih0aGlzLDEseEEsV0gobikpfWdldFBsYXlsaXN0SWQoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDIpKX19LHhBPVsxLDJdO3ZhciB1RjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGlzWj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB1NXQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgb3hoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGRrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZHNMaXN0KTt0aGlzLk4uc21hcnREb3dubG9hZHNMaXN0JiZuLnB1c2godGhpcy5OLnNtYXJ0RG93bmxvYWRzTGlzdCk7dGhpcy5OLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGxfWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtpZih0aGlzLk4uZG93bmxvYWRzKWZvcihsZXQgVyBvZiB0aGlzLk4uZG93bmxvYWRzKW4ucHVzaCguLi4obmV3IHo0dyhXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LHo0dz1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3RoaXMuTi5wbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wbGF5bGlzdCk7dGhpcy5OLnZpZGVvSXRlbSYmbi5wdXNoKHRoaXMuTi52aWRlb0l0ZW0pO3RoaXMuTi5wbGF5bGlzdEl0ZW0mJm4ucHVzaCh0aGlzLk4ucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBUQTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGpCaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgQ0xpPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJBVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZmFrZUNoaWxkcmVuJiZuLnB1c2goLi4udGhpcy5OLmZha2VDaGlsZHJlbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgRnRoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi52aWRlbyYmbi5wdXNoKHRoaXMuTi52aWRlbyk7dGhpcy5OLnBsYXliYWNrRGF0YSYmbi5wdXNoKHRoaXMuTi5wbGF5YmFja0RhdGEpO3RoaXMuTi5vZmZsaW5lVmlkZW9Qb2xpY3kmJm4ucHVzaCh0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciB3d1M9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTVB3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5jaGFubmVsT3duZXImJm4ucHVzaCh0aGlzLk4uY2hhbm5lbE93bmVyKTt0aGlzLk4udmlkZW9zJiZuLnB1c2goLi4udGhpcy5OLnZpZGVvcyk7dGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZuLnB1c2goLi4udGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLk4uZG93bmxvYWRTdGF0ZSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXRlKTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBSNGk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnZpZGVvJiZuLnB1c2godGhpcy5OLnZpZGVvKTt0aGlzLk4uY2hhbm5lbENvbnRyaWJ1dG9yJiZuLnB1c2godGhpcy5OLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgVlBVPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFFCcih0aGlzLk4ucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LFFCcj1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4ubG9jYWxJbWFnZUVudGl0aWVzJiZuLnB1c2goLi4udGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBjWWk9Y2xhc3MgZXh0ZW5kcyBybntKKCl7dmFyIG49W107dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgYV9qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vd25lciYmbi5wdXNoKHRoaXMuTi5vd25lcik7dGhpcy5OLmRvd25sb2FkU3RhdGUmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRTdGF0ZSk7dGhpcy5OLnVzZXJTdGF0ZSYmbi5wdXNoKC4uLihuZXcgY1lpKHRoaXMuTi51c2VyU3RhdGUpKS5KKCkpO3RoaXMuTi5hZGRpdGlvbmFsTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFZQVSh0aGlzLk4uYWRkaXRpb25hbE1ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBuTjI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnVzZXJDaGFubmVsRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyQ2hhbm5lbERldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFdNWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uY2hhbm5lbE93bmVyJiZuLnB1c2godGhpcy5OLmNoYW5uZWxPd25lcik7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi5kb3dubG9hZFN0YXR1cyYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXR1cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgREkxPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJ6dD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB2TnQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIga1ByPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGhPdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB4SVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTE13PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGVPcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBnTnI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgVVU9bmV3IGcucU0oImNoYW5nZUtleWVkTWFya2Vyc1Zpc2liaWxpdHlDb21tYW5kIik7dmFyIHh0TT1uZXcgZy5xTSgibG9hZE1hcmtlcnNDb21tYW5kIik7dmFyIGVicj1uZXcgZy5xTSgidGltZWx5QWN0aW9uVmlld01vZGVsIik7dmFyIExxQz1uZXcgZy5xTSgidGltZWx5QWN0aW9uc092ZXJsYXlWaWV3TW9kZWwiKTt2YXIgWF9TPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHF2Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBHUE09Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdHhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRJTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBySmI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmNvbXBvc2l0ZVNvdXJjZUtleXMmJm4ucHVzaCguLi50aGlzLk4uY29tcG9zaXRlU291cmNlS2V5cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgczR0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIE5rUz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRlZFRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLk4uc21hcnREb3dubG9hZGVkVHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5OLmRvd25sb2FkZWRFcGlzb2RlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJm4ucHVzaCguLi50aGlzLk4uc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLmRvd25sb2FkZWRQbGF5bGlzdHMmJm4ucHVzaCguLi50aGlzLk4uZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmbi5wdXNoKC4uLnRoaXMuTi5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpOwp0aGlzLk4ubWV0YWRhdGFPbmx5VHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgcF9yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFl2dD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgSHppPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4ucHJpbWFyeUFydGlzdHMmJm4ucHVzaCguLi50aGlzLk4ucHJpbWFyeUFydGlzdHMpO3RoaXMuTi5kZXRhaWxzJiZuLnB1c2godGhpcy5OLmRldGFpbHMpO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmRvd25sb2FkTWV0YWRhdGEmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnJlZnJlc2gmJm4ucHVzaCh0aGlzLk4ucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxmSlU9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmCm4ucHVzaCh0aGlzLk4uYWxidW1SZWxlYXNlKTt0aGlzLk4udHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxKSjE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIElKVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sU3ZaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRBcnRpc3QmJm4ucHVzaCh0aGlzLk4ucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEFKaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGFyZW50QXJ0aXN0JiZuLnB1c2godGhpcy5OLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgbUliPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEtNdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQVHg9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLk4uc2lkZWxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3RoaXMuTi5lbnRyeUNvbGxlY3Rpb24mJm4ucHVzaCh0aGlzLk4uZW50cnlDb2xsZWN0aW9uKTt0aGlzLk4uc2hhcmUmJm4ucHVzaCh0aGlzLk4uc2hhcmUpO3RoaXMuTi5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmCm4ucHVzaCguLi4obmV3IE96aSh0aGlzLk4ucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5KKCkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sT3ppPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5jcmVhdG9yRW50aXR5JiZuLnB1c2godGhpcy5OLmNyZWF0b3JFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFp6aT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBVSVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmbi5wdXNoKHRoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuTi5hcnRpc3RzJiZuLnB1c2goLi4udGhpcy5OLmFydGlzdHMpO3RoaXMuTi5hdWRpb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuTi52aWRlb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLmRldGFpbHMmJm4ucHVzaCh0aGlzLk4uZGV0YWlscyk7dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmxpYnJhcnlFZGl0JiZuLnB1c2godGhpcy5OLmxpYnJhcnlFZGl0KTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmCm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmx5cmljcyYmbi5wdXNoKHRoaXMuTi5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0seUpTPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRUcmFjayYmbi5wdXNoKHRoaXMuTi5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxFTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnBhcmVudFRyYWNrJiZuLnB1c2godGhpcy5OLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBucU09bmV3IGcucU0oIm11c2ljRW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKTt2YXIgaXpTPW5ldyBnLnFNKCJzaGFyZUVuZHBvaW50IiksdXhDPW5ldyBnLnFNKCJzaGFyZUVudGl0eUVuZHBvaW50Iiksb05pPW5ldyBnLnFNKCJzaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpLGRJeD1uZXcgZy5xTSgid2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtnLlBqPW5ldyBnLnFNKCJ1cmxFbmRwb2ludCIpO2cuSVE9bmV3IGcucU0oIndhdGNoRW5kcG9pbnQiKTt2YXIgek93PW5ldyBnLnFNKCJ3YXRjaFBsYXlsaXN0RW5kcG9pbnQiKTt2YXIgbEoyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFRrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBqNFo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQ1R3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4udHJhbnNmZXImJm4ucHVzaCh0aGlzLk4udHJhbnNmZXIpO3RoaXMuTi5hZHNQbGF5YmFja0RhdGEmJm4ucHVzaCguLi50aGlzLk4uYWRzUGxheWJhY2tEYXRhKTt0aGlzLk4uZHJtTGljZW5zZSYmbi5wdXNoKHRoaXMuTi5kcm1MaWNlbnNlKTt0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5JiZuLnB1c2godGhpcy5OLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBGTXc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgd19NPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vZmZsaW5lVmlkZW9TdHJlYW1zJiZuLnB1c2goLi4udGhpcy5OLm9mZmxpbmVWaWRlb1N0cmVhbXMpO3RoaXMuTi5jYXB0aW9uVHJhY2smJm4ucHVzaCguLi50aGlzLk4uY2FwdGlvblRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBNeFM9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgUk8xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFE0cj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBWeGI9bmV3IGcucU0oInByZWZldGNoV2F0Y2hDb21tYW5kIik7dmFyIGNKWj1uZXcgZy5xTSgidXBkYXRlUHJvZ3Jlc3NCYXJDb21tYW5kIik7dmFyIE5LeD1uZXcgZy5xTSgiY29tcG9zaXRlVmlkZW9PdmVybGF5UmVuZGVyZXIiKTt2YXIgbGFTPW5ldyBnLnFNKCJwYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlciIpO3ZhciBLSTE9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxPVng9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBJb2I9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksRHo9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksYUp3PW5ldyBnLnFNKCJwbGF5ZXJSZXNwb25zZSIpO3ZhciBuWEM9bmV3IGcucU0oInBsYXlsaXN0RWRpdEVuZHBvaW50Iik7dmFyIFd1Wj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBUZT1uZXcgZy5xTSgicmVlbFdhdGNoRW5kcG9pbnQiKTt2YXIgRCRyPW5ldyBnLnFNKCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiKTtnLllIPW5ldyBnLnFNKCJidXR0b25SZW5kZXJlciIpO2cuSEM9bmV3IGcucU0oInRvZ2dsZUJ1dHRvblJlbmRlcmVyIik7Zy5jUT1uZXcgZy5xTSgiY291bnRlcmZhY3R1YWxSZW5kZXJlciIpO3ZhciBiTXI9bmV3IGcucU0oInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTt2YXIgdlhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGtpdz1uZXcgZy5xTSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO3ZhciBoblU9bmV3IGcucU0oInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgeCRaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE5oMT1uZXcgZy5xTSgic3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIiKTt2YXIgTHUxPW5ldyBnLnFNKCJzdWJzY3JpYmVFbmRwb2ludCIpO3ZhciBlbmk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZ1hVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFhSUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBxTlo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgR2lNPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHRHdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciAkJDI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgck0xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHNkaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBOeTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFJ0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFZDMj1uZXcgZy5xTSgicXJDb2RlUmVuZGVyZXIiKTt2YXIgWU5aPXtkajoiTElWSU5HX1JPT01fQVBQX01PREVfVU5TUEVDSUZJRUQiLHdqOiJMSVZJTkdfUk9PTV9BUFBfTU9ERV9NQUlOIixBXzoiTElWSU5HX1JPT01fQVBQX01PREVfS0lEUyIsQ1E6IkxJVklOR19ST09NX0FQUF9NT0RFX01VU0lDIixvTzoiTElWSU5HX1JPT01fQVBQX01PREVfVU5QTFVHR0VEIixJTzoiTElWSU5HX1JPT01fQVBQX01PREVfR0FNSU5HIn07dmFyIEhNdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBmTzI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgSk0yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJXWj1uZXcgZy5xTSgiYXV0b3BsYXlTd2l0Y2hCdXR0b25SZW5kZXJlciIpO3ZhciB2cXQ9bmV3IGcucU0oImRlc2t0b3BPdmVybGF5Q29uZmlnUmVuZGVyZXIiKTt2YXIgYzNoPW5ldyBnLnFNKCJlbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyIik7dmFyIFdHaT1uZXcgZy5xTSgicGxheWxpc3RQYW5lbFJlbmRlcmVyIik7dmFyIElPdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBTTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQU14PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIG0kUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBLdWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgT01qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFA4dz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBaTWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFlaPW5ldyBnLnFNKCJjaXBoZXIiKTt2YXIgU2xNPW5ldyBnLnFNKCJwbGF5ZXJWYXJzIik7dmFyIGR2aT1uZXcgZy5xTSgicGxheWVyVmFycyIpO3ZhciBVJFU9Zy5xaS53aW5kb3csSUU9VSRVPy55dD8uY29uZmlnX3x8VSRVPy55dGNmZz8uZGF0YV98fHt9O2cuR2IoInl0LmNvbmZpZ18iLElFKTt2YXIgS3c9W107dmFyIGR4aT0vXltcdy5dKiQvLG9LaT17cTohMCxzZWFyY2hfcXVlcnk6ITB9LHVRaD1TdHJpbmcoeUYpO2cuUkU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtnLkdiKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24obil7cmV0dXJuIGcuRXQoZy5RRihuKSl9KTtnLlV3KCk7dmFyIFZGPSJYTUxIdHRwUmVxdWVzdCJpbiBnLnFpPygpPT5uZXcgWE1MSHR0cFJlcXVlc3Q6bnVsbDt2YXIgeU1TPSJhYnNvbHV0ZV9leHBlcmltZW50cyBjbGllbnRfZGV2X2RvbWFpbiBjbGllbnRfZGV2X2V4cGZsYWcgY2xpZW50X2Rldl9yZWdleF9tYXAgY2xpZW50X2Rldl9yb290X3VybCBjbGllbnRfcm9sbG91dF9vdmVycmlkZSBleHBmbGFnIGZvcmNlZENhcGFiaWxpdHkganNmZWF0IGpzbW9kZSBtb2RzIHRoZW1lIi5zcGxpdCgiICIpO1suLi55TVNdO3ZhciBMJD17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxWdWI9WyJhcHAiLCJkZWJ1Z2NzcyIsImRlYnVnanMiLCJleHBmbGFnIiwiZm9yY2VfYWRfcGFyYW1zIiwiZm9yY2VfYWRfZW5jcnlwdGVkIiwiZm9yY2VfdmlyYWxfYWRfcmVzcG9uc2VfcGFyYW1zIiwiZm9yY2VkX2V4cGVyaW1lbnRzIiwiaW5uZXJ0dWJlX3NuYXBzaG90cyIsImlubmVydHViZV9nb2xkZW5zIiwiaW50ZXJuYWxjb3VudHJ5Y29kZSIsImludGVybmFsaXBvdmVycmlkZSIsImFic29sdXRlX2V4cGVyaW1lbnRzIiwiY29uZGl0aW9uYWxfZXhwZXJpbWVudHMiLCJzYmIiLCJzcl9ibnNfYWRkcmVzcyIsLi4ueU1TXSxHUT0hMSxGeDE9eFQ7dmFyIGM0VTtnLiRUPWNsYXNzIGV4dGVuZHMgZy5UYntjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoYCR7bn0sIGVycm9yQ29kZT0ke1d9YCk7dGhpcy5lcnJvckNvZGU9Vzt0aGlzLnhocj1EO3RoaXMubmFtZT0iUHJvbWlzZUFqYXhFcnJvciJ9fTtjNFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy54aHI9bn19O3ZhciBOWD1jbGFzc3tjb25zdHJ1Y3RvcihuPW51bGwpe3RoaXMuTj1uO3RoaXMuVz0wO3RoaXMuSj1udWxsfXRoZW4obixXLEQpe3JldHVybiB0aGlzLk4/dGhpcy5OLnRoZW4obixXLEQpOnRoaXMuVz09PTEmJm4/KG49bi5jYWxsKEQsdGhpcy5KKSkmJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iP246Zy5IMChuKTp0aGlzLlc9PT0yJiZXPyhuPVcuY2FsbChELHRoaXMuSikpJiZ0eXBlb2Ygbi50aGVuPT09ImZ1bmN0aW9uIj9uOmcucCQobik6dGhpc31nZXRWYWx1ZSgpe3JldHVybiB0aGlzLkp9fTtOWC5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIGYkPSExO2cuTUw9dzh8fE1YO3ZhciBXMDE9L14oWzAtOVwuXSspOihbMC05XC5dKykkLzt2YXIgWGs9e307dmFyIEVYaD0wLHEwPWcuWmw/IndlYmtpdCI6Zy5lUz8ibW96IjpnLmtoPyJtcyI6cmM/Im8iOiIiLGlNeD1nLnJyKCJ5dERvbURvbUdldE5leHRJZCIpfHwoKCk9PisrRVhoKTsKZy5HYigieXREb21Eb21HZXROZXh0SWQiLGlNeCk7dmFyIHVaYj17c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOjEsc3RvcFByb3BhZ2F0aW9uOjEscHJldmVudE1vdXNlRXZlbnQ6MSxwcmV2ZW50TWFuaXB1bGF0aW9uOjEscHJldmVudERlZmF1bHQ6MSxsYXllclg6MSxsYXllclk6MSxzY3JlZW5YOjEsc2NyZWVuWToxLHNjYWxlOjEscm90YXRpb246MSx3ZWJraXRNb3ZlbWVudFg6MSx3ZWJraXRNb3ZlbWVudFk6MX0sZnk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50eXBlPSIiO3RoaXMuc3RhdGU9dGhpcy5zb3VyY2U9dGhpcy5kYXRhPXRoaXMuY3VycmVudFRhcmdldD10aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuY3RybEtleT10aGlzLmFsdEtleT0hMTt0aGlzLnJvdGF0aW9uPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9MDt0aGlzLnNjYWxlPTE7dGhpcy5jaGFuZ2VkVG91Y2hlcz10aGlzLnRvdWNoZXM9Cm51bGw7dHJ5e2lmKG49bnx8d2luZG93LmV2ZW50KXt0aGlzLmV2ZW50PW47Zm9yKGxldCBiIGluIG4pYiBpbiB1WmJ8fCh0aGlzW2JdPW5bYl0pO3RoaXMuc2NhbGU9bi5zY2FsZTt0aGlzLnJvdGF0aW9uPW4ucm90YXRpb247dmFyIFc9bi50YXJnZXR8fG4uc3JjRWxlbWVudDtXJiZXLm5vZGVUeXBlPT0zJiYoVz1XLnBhcmVudE5vZGUpO3RoaXMudGFyZ2V0PVc7dmFyIEQ9bi5yZWxhdGVkVGFyZ2V0O2lmKEQpdHJ5e0Q9RC5ub2RlTmFtZT9EOm51bGx9Y2F0Y2goYil7RD1udWxsfWVsc2UgdGhpcy50eXBlPT0ibW91c2VvdmVyIj9EPW4uZnJvbUVsZW1lbnQ6dGhpcy50eXBlPT0ibW91c2VvdXQiJiYoRD1uLnRvRWxlbWVudCk7dGhpcy5yZWxhdGVkVGFyZ2V0PUQ7dGhpcy5jbGllbnRYPW4uY2xpZW50WCE9dm9pZCAwP24uY2xpZW50WDpuLnBhZ2VYO3RoaXMuY2xpZW50WT1uLmNsaWVudFkhPXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWTt0aGlzLmtleUNvZGU9bi5rZXlDb2RlP24ua2V5Q29kZToKbi53aGljaDt0aGlzLmNoYXJDb2RlPW4uY2hhckNvZGV8fCh0aGlzLnR5cGU9PSJrZXlwcmVzcyI/dGhpcy5rZXlDb2RlOjApO3RoaXMuYWx0S2V5PW4uYWx0S2V5O3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5OPW4ucGFnZVg7dGhpcy5KPW4ucGFnZVl9fWNhdGNoKGIpe319cHJldmVudERlZmF1bHQoKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5yZXR1cm5WYWx1ZT0hMSx0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0JiZ0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0KCkpfXN0b3BQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJih0aGlzLmV2ZW50LmNhbmNlbEJ1YmJsZT0hMCx0aGlzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24oKSl9c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQuY2FuY2VsQnViYmxlPSEwLAp0aGlzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fTtnLllSPWcucWkueXRFdmVudHNFdmVudHNMaXN0ZW5lcnN8fHt9O2cuR2IoInl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzIixnLllSKTt2YXIgSEI9Zy5xaS55dEV2ZW50c0V2ZW50c0NvdW50ZXJ8fHtjb3VudDowfTtnLkdiKCJ5dEV2ZW50c0V2ZW50c0NvdW50ZXIiLEhCKTt2YXIgb1hoPWcud0QoZnVuY3Rpb24oKXt2YXIgbj0hMTt0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSksSk89Zy53RChmdW5jdGlvbigpe3ZhciBuPSExOwp0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJjYXB0dXJlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSk7dmFyIGZqO2ZqPXdpbmRvdztnLlI9ZmoueXRjc2kmJmZqLnl0Y3NpLm5vdz9mai55dGNzaS5ub3c6ZmoucGVyZm9ybWFuY2UmJmZqLnBlcmZvcm1hbmNlLnRpbWluZyYmZmoucGVyZm9ybWFuY2Uubm93JiZmai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0PygpPT5mai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K2ZqLnBlcmZvcm1hbmNlLm5vdygpOigpPT4obmV3IERhdGUpLmdldFRpbWUoKTtnLml4KG1ZLGcuRk0pO21ZLnByb3RvdHlwZS5EPWZ1bmN0aW9uKG4pe24uTj09PXZvaWQgMCYmcHkobik7dmFyIFc9bi5OO24uSj09PXZvaWQgMCYmcHkobik7dGhpcy5OPW5ldyBnLk1ZKFcsbi5KKX07Cm1ZLnByb3RvdHlwZS5FdT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk58fG5ldyBnLk1ZfTsKbVkucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtpZih0aGlzLk4pe3ZhciBuPSgwLGcuUikoKTtpZih0aGlzLlghPTApe3ZhciBXPXRoaXMuVixEPXRoaXMuTixiPVcueC1ELng7Vz1XLnktRC55O2I9TWF0aC5zcXJ0KGIqYitXKlcpLyhuLXRoaXMuWCk7dGhpcy5KW3RoaXMuV109TWF0aC5hYnMoKGItdGhpcy5qKS90aGlzLmopPi41PzE6MDtXPTA7Zm9yKEQ9MDtEPDQ7RCsrKVcrPXRoaXMuSltEXXx8MDtXPj0zJiZ0aGlzLksoKTt0aGlzLmo9Yn10aGlzLlg9bjt0aGlzLlY9dGhpcy5OO3RoaXMuVz0odGhpcy5XKzEpJTR9fTsKbVkucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7RHIodGhpcy5ZKTtnLlNfKHRoaXMuY0opfTtnLkpMPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuVz1bXTt0aGlzLks9bnx8dGhpc31OTihuLFcsRCxiLHYpe0Q9UFYoKDAsZy5LdCkoRCxifHx0aGlzLkspKTtEPXt0YXJnZXQ6bixuYW1lOlcsY2FsbGJhY2s6RH07dmFyIGs7diYmb1hoKCkmJihrPXtwYXNzaXZlOiEwfSk7bi5hZGRFdmVudExpc3RlbmVyKFcsRC5jYWxsYmFjayxrKTt0aGlzLlcucHVzaChEKTtyZXR1cm4gRH13SChuKXtmb3IobGV0IFc9MDtXPHRoaXMuVy5sZW5ndGg7VysrKWlmKHRoaXMuV1tXXT09bil7dGhpcy5XLnNwbGljZShXLDEpO24udGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIobi5uYW1lLG4uY2FsbGJhY2spO2JyZWFrfX1KKG4pe2Zvcig7dGhpcy5XLmxlbmd0aDspe2xldCBXPXRoaXMuVy5wb3AoKSxEO24mJm9YaCgpJiYoRD17cGFzc2l2ZTohMH0pO1cudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoVy5uYW1lLFcuY2FsbGJhY2ssRCl9fW1BKCl7dGhpcy5KKCk7CnN1cGVyLm1BKCl9fTt2YXIgd1laPVsiYXR0L2dldCJdLGRRWj1bImVtYmVkZGVkX3BsYXllciJdLGQkUz1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLHpudD1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0sbE9NPVsiZmVlZGJhY2siXSxUeXc9WyJub3RpZmljYXRpb24vbW9kaWZ5X2NoYW5uZWxfcHJlZmVyZW5jZSJdLHF5aj1bInBsYXllciJdLGpkeD1bImJyb3dzZS9lZGl0X3BsYXlsaXN0Il0sc3YyPVsicmVlbC9yZWVsX2l0ZW1fd2F0Y2giXSxONGg9WyJuYXZpZ2F0aW9uL3Jlc29sdmVfdXJsIl0sQ0diPVsiYWNjb3VudC9zZXRfc2V0dGluZyJdLEM4Yj1bInN1YnNjcmlwdGlvbi9zdWJzY3JpYmUiXSxCeWk9WyJzdWJzY3JpcHRpb24vdW5zdWJzY3JpYmUiXSwkMUM9WyJuZXh0IiwidW5wbHVnZ2VkL3dhdGNoX25leHQiXTt2YXIgT1A9e0JwOmcud0QoZnVuY3Rpb24oKXt0cnl7bGV0IFc9bmV3IFdTO3ZhciBuPVcuaXNBdmFpbGFibGUoKT9XOm51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9cmV0dXJuIG4/bmV3IFZLKG4pOm51bGx9KSwKcWI6Zy53RChmdW5jdGlvbigpe3ZhciBuPW5ldyBEUTtyZXR1cm4gbi5pc0F2YWlsYWJsZSgpP25ldyBWSyhuKTpudWxsfSl9O2cuSVY9d2luZG93Lnl0JiZ3aW5kb3cueXQubXNnc198fHdpbmRvdy55dGNmZyYmd2luZG93Lnl0Y2ZnLm1zZ3N8fHt9O2cuR2IoInl0Lm1zZ3NfIixnLklWKTt2YXIgV2I9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPXZvaWQgMDt0aGlzLk49ITE7bi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixXPT57Vy5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuSj1XfSk7Cm4uYWRkRXZlbnRMaXN0ZW5lcigiYXBwaW5zdGFsbGVkIiwoKT0+e3RoaXMuTj0hMH0se29uY2U6ITB9KX19O3ZhciBFUD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc0I9ITB9YWoobixXKXtuPXt9O3ZhciBEPVtdOyJVU0VSX1NFU1NJT05fSUQiaW4gSUUmJkQucHVzaCh7a2V5OiJ1Iix2YWx1ZTpnLkFyKCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKEQ9Qk8oRCkpbi5BdXRob3JpemF0aW9uPUQsRD1XPVc/LnNlc3Npb25JbmRleCxEPT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiU0VTU0lPTl9JTkRFWCIsMCkpLEQ9aXNOYU4oRCk/MDpEKSxnLmwoInZvaWNlX3NlYXJjaF9hdXRoX2hlYWRlcl9yZW1vdmFsIil8fChuWyJYLUdvb2ctQXV0aFVzZXIiXT1ELnRvU3RyaW5nKCkpLCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSJpbiBJRXx8KG5bIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksVz09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIElFJiYoblsiWC1Hb29nLVBhZ2VJZCJdPWcuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikpO3JldHVybiBufX07dmFyIHU5PXtpZGVudGl0eVR5cGU6IlVOQVVUSEVOVElDQVRFRF9JREVOVElUWV9UWVBFX1VOS05PV04ifTt2YXIgbE89Zy5ycigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iKXx8e307Zy5HYigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iLGxPKTsKdmFyIHgzYj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1nLkFyKCJBTFRfUFJFRl9DT09LSUVfTkFNRSIsIlBSRUYiKTt0aGlzLko9Zy5BcigiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIG49Zy5TZCh0aGlzLk4pO24mJnRoaXMucGFyc2Uobil9Z2V0KG4sVyl7ejEobik7ZEoobik7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGw/bjpXP1c6IiJ9c2V0KG4sVyl7ejEobik7ZEoobik7aWYoVz09bnVsbCl0aHJvdyBFcnJvcigiRXhwZWN0ZWROb3ROdWxsIik7bE9bbl09Vy50b1N0cmluZygpfVFRKG4pe3JldHVybiEhKChUMShgZiR7TWF0aC5mbG9vcihuLzMxKSsxfWApfHwwKSYxPDxuJTMxKX1yZW1vdmUobil7ejEobik7ZEoobik7ZGVsZXRlIGxPW25dfXNhdmUoKXtJSyh0aGlzLk4sdGhpcy5kdW1wKCksNjMwNzJFMyx0aGlzLkosITApfWNsZWFyKCl7Zy50SyhsTyl9ZHVtcCgpe3ZhciBuPVtdO2ZvcihsZXQgVyBpbiBsTylsTy5oYXNPd25Qcm9wZXJ0eShXKSYmCm4ucHVzaChgJHtXfT1gK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcobE9bV10pKSk7cmV0dXJuIG4uam9pbigiJiIpfXBhcnNlKG4pe249ZGVjb2RlVVJJQ29tcG9uZW50KG4pLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe3ZhciBXPW5bRF0uc3BsaXQoIj0iKTtsZXQgYj1XWzBdOyhXPVdbMV0pJiYobE9bYl09Vy50b1N0cmluZygpKX19fSx1Tzt2YXIgQ3k9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LHpxdz17Q09OTl9ERUZBVUxUOjAsQ09OTl9VTktOT1dOOjEsQ09OTl9OT05FOjIsQ09OTl9XSUZJOjMsQ09OTl9DRUxMVUxBUl8yRzo0LENPTk5fQ0VMTFVMQVJfM0c6NSxDT05OX0NFTExVTEFSXzRHOjYsQ09OTl9DRUxMVUxBUl9VTktOT1dOOjcsQ09OTl9ESVNDTzo4LENPTk5fQ0VMTFVMQVJfNUc6OSxDT05OX1dJRklfTUVURVJFRDoxMCxDT05OX0NFTExVTEFSXzVHX1NBOjExLApDT05OX0NFTExVTEFSXzVHX05TQToxMixDT05OX1dJUkVEOjMwLENPTk5fSU5WQUxJRDozMX0sbEJyPXtFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1VOS05PV046MCxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX09GRkxJTkU6MSxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1NMT1dfMkc6MixFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHOjMsRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRzo0LEVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfNEc6NX0sRms9eyJzbG93LTJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9TTE9XXzJHIiwiMmciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHIiwiM2ciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzNHIiwiNGciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzRHIn07Zy5ReD1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobik7dGhpcy5hcmdzPVsuLi5XXTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgRnVNPWNsYXNze0xTKG4sVyl7cmV0dXJuIGcuVngoMCxuLDEsVyl9fTtnLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UudGltZXJJZE1hcF8iKTt2YXIgV049Y2xhc3MgZXh0ZW5kcyBGdU17c08obil7aWYobj09PXZvaWQgMHx8IU51bWJlci5pc05hTihOdW1iZXIobikpKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIik7Vz9XKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9fXN0YXJ0KCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnN0YXJ0Iik7biYmbigpfXBhdXNlKCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnBhdXNlIik7biYmbigpfX0sdGE9Zy5EeSgpO3ZhciB0ST1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49KG49Zy52UyhuKSk/bmV3IFFLKG4pOm51bGw7dGhpcy5XPWRvY3VtZW50LmRvbWFpbnx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lfUooKXtyZXR1cm4hIXRoaXMuTn1zZXQobixXLEQsYil7RD1EfHwzMTEwNEUzO3RoaXMucmVtb3ZlKG4pO2lmKHRoaXMuSigpKXRyeXt0aGlzLk4uc2V0KG4sVyxEYXRlLm5vdygpK0QqMUUzKTtyZXR1cm59Y2F0Y2goayl7fXZhciB2PSIiO2lmKGIpdHJ5e3Y9ZXNjYXBlKChuZXcgbGUpLmJZKFcpKX1jYXRjaChrKXtyZXR1cm59ZWxzZSB2PWVzY2FwZShXKTtJSyhuLHYsRCx0aGlzLlcpfWdldChuLFcpe3ZhciBEPXZvaWQgMCxiPSF0aGlzLkooKTtpZighYil0cnl7RD10aGlzLk4uZ2V0KG4pfWNhdGNoKHYpe2I9ITB9aWYoYiYmKEQ9Zy5TZChuKSkmJihEPXVuZXNjYXBlKEQpLFcpKXRyeXtEPUpTT04ucGFyc2UoRCl9Y2F0Y2godil7dGhpcy5yZW1vdmUobiksRD12b2lkIDB9cmV0dXJuIER9cmVtb3ZlKG4pe3RoaXMuSigpJiYKdGhpcy5OLnJlbW92ZShuKTtBeShuLCIvIix0aGlzLlcpfX07dmFyIHZOPSgoKT0+e3ZhciBuO3JldHVybigpPT57bnx8KG49bmV3IHRJKCJ5dGlkYiIpKTtyZXR1cm4gbn19KSgpO3ZhciB4dT1bXSxoYz0hMTt2YXIgd1JNPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LE1HUz17QVVUSF9JTlZBTElEOiJFUlJPUiIsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6IldBUk5JTkciLEVYUExJQ0lUX0FCT1JUOiJJR05PUkVEIixJREJfTk9UX1NVUFBPUlRFRDoiRVJST1IiLE1JU1NJTkdfSU5ERVg6IldBUk5JTkciLE1JU1NJTkdfT0JKRUNUX1NUT1JFUzoiRVJST1IiLApEQl9ERUxFVEVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzoiV0FSTklORyIsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixRVU9UQV9FWENFRURFRDoiV0FSTklORyIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IldBUk5JTkciLFVOS05PV05fQUJPUlQ6IldBUk5JTkciLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiJXQVJOSU5HIn0sUm5pPXtBVVRIX0lOVkFMSUQ6ITEsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6ITEsRVhQTElDSVRfQUJPUlQ6ITEsSURCX05PVF9TVVBQT1JURUQ6ITEsTUlTU0lOR19JTkRFWDohMSxNSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLFFVT1RBX0VYQ0VFREVEOiExLFFVT1RBX01BWUJFX0VYQ0VFREVEOiEwLFVOS05PV05fQUJPUlQ6ITAsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046ITF9LApxTD1jbGFzcyBleHRlbmRzIGcuUXh7Y29uc3RydWN0b3IobixXPXt9LEQ9d1JNW25dLGI9TUdTW25dLHY9Um5pW25dKXtzdXBlcihELHtuYW1lOiJZdElkYktub3duRXJyb3IiLGlzU3c6c2VsZi5kb2N1bWVudD09PXZvaWQgMCxpc0lmcmFtZTpzZWxmIT09c2VsZi50b3AsdHlwZTpuLC4uLld9KTt0aGlzLnR5cGU9bjt0aGlzLm1lc3NhZ2U9RDt0aGlzLmxldmVsPWI7dGhpcy5OPXY7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMscUwucHJvdG90eXBlKX19LFFkUz1jbGFzcyBleHRlbmRzIHFMe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOlcsZm91bmRPYmplY3RTdG9yZXM6bn0sd1JNLk1JU1NJTkdfT0JKRUNUX1NUT1JFUyk7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUWRTLnByb3RvdHlwZSl9fSx0Yz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLmluZGV4PQpuO3RoaXMub2JqZWN0U3RvcmU9VztPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyx0Yy5wcm90b3R5cGUpfX0sTDBpPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBmRj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LHNSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuTj1bXTt0aGlzLko9W107bj1uLk47dmFyIFc9Yj0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6Yn07Zm9yKGxldCB2IG9mIHRoaXMuTil2KCl9fSxEPWI9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIsCnJlYXNvbjpifTtmb3IobGV0IHYgb2YgdGhpcy5KKXYoKX19Owp0cnl7bihXLEQpfWNhdGNoKGIpe0QoYil9fXN0YXRpYyBhbGwobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9Pnt2YXIgYj1bXSx2PW4ubGVuZ3RoO3Y9PT0wJiZXKGIpO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7KytrKXNSLnJlc29sdmUobltrXSkudGhlbihoPT57YltrXT1oO3YtLTt2PT09MCYmVyhiKX0pLmNhdGNoKGg9PntEKGgpfSl9KSl9c3RhdGljIHJlc29sdmUobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntuIGluc3RhbmNlb2Ygc1I/bi50aGVuKFcsRCk6VyhuKX0pKX1zdGF0aWMgcmVqZWN0KG4pe3JldHVybiBuZXcgc1IobmV3IGZGKChXLEQpPT57RChuKX0pKX10aGVuKG4sVyl7dmFyIEQ9bj8/Z1VyLGI9Vz8/ZXExOwpyZXR1cm4gbmV3IHNSKG5ldyBmRigodixrKT0+e3RoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciPyh0aGlzLk4ucHVzaCgoKT0+e3BGKHRoaXMsdGhpcyxELHYsayl9KSx0aGlzLkoucHVzaCgoKT0+e1l1KHRoaXMsdGhpcyxiLHYsayl9KSk6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iRlVMRklMTEVEIj9wRih0aGlzLHRoaXMsRCx2LGspOnRoaXMuc3RhdGUuc3RhdHVzPT09IlJFSkVDVEVEIiYmWXUodGhpcyx0aGlzLGIsdixrKX0pKX1jYXRjaChuKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxuKX19O3ZhciBxXzI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnJlcXVlc3Q9bjt0aGlzLmN1cnNvcj1XfX07dmFyIFlfcj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMub3B0aW9ucz1XO3RoaXMudHJhbnNhY3Rpb25Db3VudD0wO3RoaXMuVz1NYXRoLnJvdW5kKCgwLGcuUikoKSk7dGhpcy5KPSExfWFkZChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwLGNvbW1pdDpBYygpfSxiPT5iLm9iamVjdFN0b3JlKG4pLmFkZChXLEQpKX1jbGVhcihuKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWR3cml0ZSIsCkdROiEwfSxXPT5XLm9iamVjdFN0b3JlKG4pLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5OLmNsb3NlKCk7CnRoaXMub3B0aW9ucz8uY2xvc2VkJiZ0aGlzLm9wdGlvbnMuY2xvc2VkKCl9Y291bnQobixXKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IixHUTohMCxjb21taXQ6QWMoKX0sRD0+RC5vYmplY3RTdG9yZShuKS5jb3VudChXKSl9ZGVsZXRlKG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKSYmIShXIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmRlbGV0ZShXKSl9Z2V0KG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkb25seSIsCkdROiEwLGNvbW1pdDpBYygpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmdldChXKSl9Z2V0QWxsKG4sVyxEKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IiwKR1E6ITB9LGI9PmIub2JqZWN0U3RvcmUobikuZ2V0QWxsKFcsRCkpfXB1dChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKX0sYj0+Yi5vYmplY3RTdG9yZShuKS5wdXQoVyxEKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuTi5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfX0sUE49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59YWRkKG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5hZGQobixXKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLk4uYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBKYyh0aGlzLk4uY2xlYXIoKSkudGhlbigoKT0+e30pfWNvdW50KG4pe3JldHVybiBKYyh0aGlzLk4uY291bnQobikpfWRlbGV0ZShuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIElEQktleVJhbmdlP3RYVSh0aGlzLG4pOkpjKHRoaXMuTi5kZWxldGUobikpfWdldChuKXtyZXR1cm4gSmModGhpcy5OLmdldChuKSl9Z2V0QWxsKG4sVyl7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/SmModGhpcy5OLmdldEFsbChuLApXKSk6JDN4KHRoaXMsbixXKX1pbmRleChuKXt0cnl7cmV0dXJuIG5ldyBWR2godGhpcy5OLmluZGV4KG4pKX1jYXRjaChXKXtpZihXIGluc3RhbmNlb2YgRXJyb3ImJlcubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgdGMobix0aGlzLk4ubmFtZSk7CnRocm93IFc7fX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfWtleVBhdGgoKXtyZXR1cm4gdGhpcy5OLmtleVBhdGh9cHV0KG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5wdXQobixXKSl9fSxtWD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bmV3IE1hcDt0aGlzLmFib3J0ZWQ9ITE7dGhpcy5kb25lPW5ldyBQcm9taXNlKChXLEQpPT57dGhpcy5OLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e1coKX0pOwp0aGlzLk4uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntiLmN1cnJlbnRUYXJnZXQ9PT1iLnRhcmdldCYmRCh0aGlzLk4uZXJyb3IpfSk7CnRoaXMuTi5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9Pnt2YXIgYj10aGlzLk4uZXJyb3I7aWYoYilEKGIpO2Vsc2UgaWYoIXRoaXMuYWJvcnRlZCl7Yj1xTDt2YXIgdj10aGlzLk4ub2JqZWN0U3RvcmVOYW1lcztsZXQgaz1bXTtmb3IobGV0IGg9MDtoPHYubGVuZ3RoO2grKyl7bGV0IHg9di5pdGVtKGgpO2lmKHg9PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IGl0ZW0gaW4gRE9NU3RyaW5nTGlzdCBpcyBudWxsIik7ay5wdXNoKHgpfWI9bmV3IGIoIlVOS05PV05fQUJPUlQiLHtvYmplY3RTdG9yZU5hbWVzOmsuam9pbigpLGRiTmFtZTp0aGlzLk4uZGIubmFtZSxtb2RlOnRoaXMuTi5tb2RlfSk7RChiKX19KX0pfWFib3J0KCl7dGhpcy5OLmFib3J0KCk7CnRoaXMuYWJvcnRlZD0hMDt0aHJvdyBuZXcgcUwoIkVYUExJQ0lUX0FCT1JUIik7fWNvbW1pdCgpe3RoaXMuYWJvcnRlZHx8dGhpcy5OLmNvbW1pdD8uKCl9b2JqZWN0U3RvcmUobil7bj10aGlzLk4ub2JqZWN0U3RvcmUobik7dmFyIFc9dGhpcy5KLmdldChuKTtXfHwoVz1uZXcgUE4obiksdGhpcy5KLnNldChuLFcpKTtyZXR1cm4gV319LFZHaD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1jb3VudChuKXtyZXR1cm4gSmModGhpcy5OLmNvdW50KG4pKX1kZWxldGUobil7cmV0dXJuIHpuKHRoaXMse3F1ZXJ5Om59LFc9PlcuZGVsZXRlKCkudGhlbigoKT0+b2coVykpKX1nZXQobil7cmV0dXJuIEpjKHRoaXMuTi5nZXQobikpfWdldEFsbChuLFcpe3JldHVybiJnZXRBbGwiaW4gSURCSW5kZXgucHJvdG90eXBlP0pjKHRoaXMuTi5nZXRBbGwobixXKSk6TlppKHRoaXMsbixXKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuTi5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLk4udW5pcXVlfX0sCnA5eD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMucmVxdWVzdD1uOwp0aGlzLmN1cnNvcj1XfWRlbGV0ZSgpe3JldHVybiBKYyh0aGlzLmN1cnNvci5kZWxldGUoKSkudGhlbigoKT0+e30pfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMuY3Vyc29yLnZhbHVlfXVwZGF0ZShuKXtyZXR1cm4gSmModGhpcy5jdXJzb3IudXBkYXRlKG4pKX19O3ZhciBjTTE9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLm5hbWU9bjt0aGlzLm9wdGlvbnM9Vzt0aGlzLlc9ITA7dGhpcy5qPXRoaXMuWD0wfUoobixXLEQ9e30pe3JldHVybiBsUShuLFcsRCl9ZGVsZXRlKG49e30pe3JldHVybiBUbih0aGlzLm5hbWUsbil9b3Blbigpe2lmKCF0aGlzLlcpdGhyb3cgakYodGhpcyk7aWYodGhpcy5OKXJldHVybiB0aGlzLk47dmFyIG4sVz0oKT0+e3RoaXMuTj09PW4mJih0aGlzLk49dm9pZCAwKX0sRD17YmxvY2tpbmc6dj0+e3YuY2xvc2UoKX0sCmNsb3NlZDpXLEJ6OlcsdXBncmFkZTp0aGlzLm9wdGlvbnMudXBncmFkZX0sYj1hc3luYygpPT57dmFyIHY9RXJyb3IoKS5zdGFjaz8/IiI7dHJ5e2xldCB4PWF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdGhpcy5vcHRpb25zLnZlcnNpb24sRCk7dmFyIGs9eCxoPXRoaXMub3B0aW9ucztsZXQgTD1bXTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoaC5LYykpe2xldCB7dng6RyxtUjpyPU51bWJlci5NQVhfVkFMVUV9PWguS2NbZV07IShrLk4udmVyc2lvbj49Ryl8fGsuTi52ZXJzaW9uPj1yfHxrLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhlKXx8TC5wdXNoKGUpfWlmKEwubGVuZ3RoIT09MCl7bGV0IGU9T2JqZWN0LmtleXModGhpcy5vcHRpb25zLktjKSxHPXgub2JqZWN0U3RvcmVOYW1lcygpO2lmKHRoaXMuajx2MCgieXRpZGJfcmVvcGVuX2RiX3JldHJpZXMiLDApKXJldHVybiB0aGlzLmorKyx4LmNsb3NlKCksTEYobmV3IHFMKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLAp7ZGJOYW1lOnRoaXMubmFtZSxleHBlY3RlZE9iamVjdFN0b3JlczplLGZvdW5kT2JqZWN0U3RvcmVzOkd9KSksYigpO2lmKHRoaXMuWDx2MCgieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiLDEpKXJldHVybiB0aGlzLlgrKyxhd2FpdCB0aGlzLmRlbGV0ZSgpLExGKG5ldyBxTCgiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOmUsZm91bmRPYmplY3RTdG9yZXM6R30pKSxiKCk7dGhyb3cgbmV3IFFkUyhHLGUpO31yZXR1cm4geH1jYXRjaCh4KXtpZih4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP3gubmFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZ4IGluc3RhbmNlb2YgRE9NRXJyb3I/eC5uYW1lPT09IlZlcnNpb25FcnJvciI6eCBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4geCYmeC5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe3Y9CmF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdm9pZCAwLHsuLi5ELHVwZ3JhZGU6dm9pZCAwfSk7az12Lk4udmVyc2lvbjtpZih0aGlzLm9wdGlvbnMudmVyc2lvbiE9PXZvaWQgMCYmaz50aGlzLm9wdGlvbnMudmVyc2lvbisxKXRocm93IHYuY2xvc2UoKSx0aGlzLlc9ITEsakYodGhpcyxrKTtyZXR1cm4gdn1XKCk7eCBpbnN0YW5jZW9mIEVycm9yJiYhZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIikmJih4LnN0YWNrPWAke3guc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKTt0aHJvdyAkdSh4LHRoaXMubmFtZSwiIix0aGlzLm9wdGlvbnMudmVyc2lvbj8/LTEpO319OwpyZXR1cm4gdGhpcy5OPW49YigpfX07dmFyIEJOPW5ldyBjTTEoIll0SWRiTWV0YSIse0tjOntkYXRhYmFzZXM6e3Z4OjF9fSx1cGdyYWRlKG4sVyl7VygxKSYmWnkobiwiZGF0YWJhc2VzIix7a2V5UGF0aDoiYWN0dWFsTmFtZSJ9KX19KTt2YXIgVmMsUWM9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0obmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0pO25ldyBnLktWO3ZhciBPNXQ9Y2xhc3MgZXh0ZW5kcyBjTTF7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLFcpO3RoaXMub3B0aW9ucz1XO2cwKG4pfUoobixXLEQ9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP0FfcjpTX1opKG4sVyx7Li4uRH0pfWRlbGV0ZShuPXt9KXtyZXR1cm4odGhpcy5vcHRpb25zLnNoYXJlZD92ejptM3cpKHRoaXMubmFtZSxuKX19O3ZhciBaNUM9a08oInl0R2NmQ29uZmlnIix7S2M6e2NvbGRDb25maWdTdG9yZTp7dng6MX0saG90Q29uZmlnU3RvcmU6e3Z4OjF9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcpe1coMSkmJihFUihaeShuLCJob3RDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJob3RUaW1lc3RhbXBJbmRleCIsInRpbWVzdGFtcCIpLEVSKFp5KG4sImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBhTzE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9W107dGhpcy5OPVtdO3ZhciBuPWcucnIoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIik7bj8odGhpcy5KPVsuLi5uXSx0aGlzLk49bik6KHRoaXMuTj1bXSxnLkdiKCJ5dC5nY2YuY29uZmlnLmhvdFVwZGF0ZUNhbGxiYWNrcyIsdGhpcy5OKSl9bUEoKXtmb3IobGV0IFcgb2YgdGhpcy5KKXt2YXIgbj10aGlzLk47bGV0IEQ9bi5pbmRleE9mKFcpO0Q+PTAmJm4uc3BsaWNlKEQsMSl9dGhpcy5KLmxlbmd0aD0wO3N1cGVyLm1BKCl9fTtnLlgzPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5WPSExO3RoaXMuaj10aGlzLlg9MDt0aGlzLks9bmV3IGFPMX1MWCgpe3JldHVybiAkTygpPz9nLkFyKCJSQVdfSE9UX0NPTkZJR19HUk9VUCIpfVcobil7dGhpcy5ob3RIYXNoRGF0YT1uO2cuR2IoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiLHRoaXMuaG90SGFzaERhdGF8fG51bGwpfX07dmFyIG5naD10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6bnVsbCxRZD1uZ2g/bj0+bmdoLmVuY29kZShuKTpuPT57bj1MMChuKTsKdmFyIFc9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKVdbRF09bltEXTtyZXR1cm4gV307dmFyIGhlPXtuZXh0OiJ3bl9zIixicm93c2U6ImJyX3MiLHNlYXJjaDoic3JfcyIscmVlbDoicl93cnMiLHBsYXllcjoicHNfcyJ9LFVITT17bmV4dDoid25fciIsYnJvd3NlOiJicl9yIixzZWFyY2g6InNyX3IiLHJlZWw6InJfd3JyIixwbGF5ZXI6InBzX3IifTtvNy5wcm90b3R5cGUuYlk9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtkMy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b3BpY307dmFyIFdIUz1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKXx8bmV3IEJLO0JLLnByb3RvdHlwZS5zdWJzY3JpYmU9QksucHJvdG90eXBlLnN1YnNjcmliZTtCSy5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1CSy5wcm90b3R5cGUuaks7QksucHJvdG90eXBlLnB1Ymxpc2g9QksucHJvdG90eXBlLldKO0JLLnByb3RvdHlwZS5jbGVhcj1CSy5wcm90b3R5cGUuY2xlYXI7Zy5HYigieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixXSFMpO3ZhciBqOT1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Zy5HYigieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixqOSk7dmFyIEJ6PWcucnIoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtnLkdiKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLEJ6KTt2YXIgQ1A9Zy5ycigieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307CmcuR2IoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixDUCk7Zy5HYigieXRQdWJzdWIyUHVic3ViMlNraXBTdWJLZXkiLG51bGwpO3ZhciBNQj12MCgibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KSxSNz12MCgibWluX2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNTAwKSx3OWo9MDt2YXIgRHoxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuV3Y9dGhpcy5OPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuSj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9Owp0aGlzLkYyPSgpPT57fTsKdGhpcy5ub3c9RGF0ZS5ub3c7dGhpcy5OaD0hMTt0aGlzLnV4PW4udXg/PzEwMDt0aGlzLkExPW4uQTE/PzE7dGhpcy5HeT1uLkd5Pz8yNTkyRTY7dGhpcy5aND1uLlo0Pz8xMkU0O3RoaXMuSVA9bi5JUD8/NUUzO3RoaXMuWVc9bi5ZVz8/dm9pZCAwO3RoaXMuQ3I9ISFuLkNyO3RoaXMuS3I9bi5Lcj8/LjE7dGhpcy5IRj1uLkhGPz8xMDtuLmhhbmRsZUVycm9yJiYodGhpcy5oYW5kbGVFcnJvcj1uLmhhbmRsZUVycm9yKTtuLkYyJiYodGhpcy5GMj1uLkYyKTtuLk5oJiYodGhpcy5OaD1uLk5oKTtuLld2JiYodGhpcy5Xdj1uLld2KTt0aGlzLkVxPW4uRXE7dGhpcy5BJD1uLkEkO3RoaXMuZ0U9bi5nRTt0aGlzLnlHPW4ueUc7dGhpcy5MbT1uLkxtO3RoaXMudVo9bi51Wjt0aGlzLk5BPW4uTkE7Y3oodGhpcykmJighdGhpcy5FcXx8dGhpcy5FcSgibmV0d29ya2xlc3NfbG9nZ2luZyIpKSYmbm0odGhpcyl9d3JpdGVUaGVuU2VuZChuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPQp7dXJsOm4sb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH07dGhpcy5nRS5zZXQoRCx0aGlzLllXKS50aGVuKGI9PntELmlkPWI7dGhpcy55Ry5XRygpJiZENSh0aGlzLEQpfSkuY2F0Y2goYj0+e0Q1KHRoaXMsRCk7CmJNKHRoaXMsYil9KX1lbHNlIHRoaXMuTG0obixXKX1zZW5kVGhlbldyaXRlKG4sVz17fSxEKXtpZihjeih0aGlzKSYmdGhpcy5OKXtsZXQgYj17dXJsOm4sCm9wdGlvbnM6Vyx0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9O3RoaXMuRXEmJnRoaXMuRXEoIm53bF9za2lwX3JldHJ5IikmJihiLnNraXBSZXRyeT1EKTtpZih0aGlzLnlHLldHKCl8fHRoaXMuRXEmJnRoaXMuRXEoIm53bF9hZ2dyZXNzaXZlX3NlbmRfdGhlbl93cml0ZSIpJiYhYi5za2lwUmV0cnkpe2lmKCFiLnNraXBSZXRyeSl7bGV0IHY9Vy5vbkVycm9yP1cub25FcnJvcjooKT0+e307Clcub25FcnJvcj1hc3luYyhrLGgpPT57YXdhaXQgdGhpcy5nRS5zZXQoYix0aGlzLllXKS5jYXRjaCh4PT57Yk0odGhpcyx4KX0pOwp2KGssaCl9fXRoaXMuTG0obixXLGIuc2tpcFJldHJ5KX1lbHNlIHRoaXMuZ0Uuc2V0KGIsdGhpcy5ZVykuY2F0Y2godj0+e3RoaXMuTG0obixXLGIuc2tpcFJldHJ5KTsKYk0odGhpcyx2KX0pfWVsc2UgRD10aGlzLkVxJiZ0aGlzLkVxKCJud2xfc2tpcF9yZXRyeSIpJiZELHRoaXMuTG0obixXLEQpfXNlbmRBbmRXcml0ZShuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPXt1cmw6biwKb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH0sYj0hMSx2PVcub25TdWNjZXNzP1cub25TdWNjZXNzOigpPT57fTsKRC5vcHRpb25zLm9uU3VjY2Vzcz0oayxoKT0+e0QuaWQhPT12b2lkIDA/dGhpcy5nRS5UTShELmlkLHRoaXMuWVcpOmI9ITA7dGhpcy55Ry5sYyYmdGhpcy5FcSYmdGhpcy5FcSgidnNzX25ldHdvcmtfaGludCIpJiZ0aGlzLnlHLmxjKCEwKTt2KGssaCl9Owp0aGlzLkxtKEQudXJsLEQub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuZ0Uuc2V0KEQsdGhpcy5ZVykudGhlbihrPT57RC5pZD1rO2ImJnRoaXMuZ0UuVE0oRC5pZCx0aGlzLllXKX0pLmNhdGNoKGs9PntiTSh0aGlzLGspfSl9ZWxzZSB0aGlzLkxtKG4sVyx2b2lkIDAsITApfVcoKXtpZighY3oodGhpcykpdGhyb3cgRXJyb3IoIkluZGV4ZWREQiBpcyBub3Qgc3VwcG9ydGVkOiB0aHJvdHRsZVNlbmQiKTsKdGhpcy5KfHwodGhpcy5KPXRoaXMuQSQuTFMoYXN5bmMoKT0+e3ZhciBuPWF3YWl0IHRoaXMuZ0UuaTQoIk5FVyIsdGhpcy5ZVyk7bj8oYXdhaXQgRDUodGhpcyxuKSx0aGlzLkomJih0aGlzLko9MCx0aGlzLlcoKSkpOnRoaXMuWCgpfSx0aGlzLnV4KSl9WCgpe3RoaXMuQSQuc08odGhpcy5KKTsKdGhpcy5KPTB9fTt2YXIgdlU7dmFyIHk0PXthY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRJbjoyMyxhY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRPdXQ6MjQsZGVsYXllZEV2ZW50TWV0cmljQ2FwdHVyZWQ6MTEsbGF0ZW5jeUFjdGlvbkJhc2VsaW5lZDo2LGxhdGVuY3lBY3Rpb25JbmZvOjcsbGF0ZW5jeUFjdGlvblRpY2tlZDo1LG9mZmxpbmVUcmFuc2ZlclN0YXR1c0NoYW5nZWQ6MixvZmZsaW5lSW1hZ2VEb3dubG9hZDozMzUscGxheWJhY2tTdGFydFN0YXRlQ2hhbmdlZDo5LHN5c3RlbUhlYWx0aENhcHR1cmVkOjMsbWFuZ29PbmJvYXJkaW5nQ29tcGxldGVkOjEwLG1hbmdvUHVzaE5vdGlmaWNhdGlvblJlY2VpdmVkOjIzMCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uRXJyb3I6MTIxLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdW1tYXJ5OjEyMixtYW5nb1VuZm9ya0RiTWlncmF0aW9uUHJldW5mb3JrRGJWZXJzaW9uTnVtYmVyOjEzMyxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVNZXRhZGF0YToxMzQsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblBob25lU3RvcmFnZToxMzUsCm1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdGVwOjE0MixtYW5nb0FzeW5jQXBpTWlncmF0aW9uRXZlbnQ6MjIzLG1hbmdvRG93bmxvYWRWaWRlb1Jlc3VsdDoyMjQsbWFuZ29Ib21lcGFnZVZpZGVvQ291bnQ6Mjc5LG1hbmdvSG9tZVYzU3RhdGU6Mjk1LG1hbmdvSW1hZ2VDbGllbnRDYWNoZUhpdEV2ZW50OjI3MyxzZENhcmRTdGF0dXNDaGFuZ2VkOjk4LGZyYW1lc0Ryb3BwZWQ6MTIsdGh1bWJuYWlsSG92ZXJlZDoxMyxkZXZpY2VSZXRlbnRpb25JbmZvQ2FwdHVyZWQ6MTQsdGh1bWJuYWlsTG9hZGVkOjE1LGJhY2tUb0FwcEV2ZW50OjMxOCxzdHJlYW1pbmdTdGF0c0NhcHR1cmVkOjE3LG9mZmxpbmVWaWRlb1NoYXJlZDoxOSxhcHBDcmFzaGVkOjIwLHlvdVRoZXJlOjIxLG9mZmxpbmVTdGF0ZVNuYXBzaG90OjIyLG1keFNlc3Npb25TdGFydGVkOjI1LG1keFNlc3Npb25Db25uZWN0ZWQ6MjYsbWR4U2Vzc2lvbkRpc2Nvbm5lY3RlZDoyNyxiZWRyb2NrUmVzb3VyY2VDb25zdW1wdGlvblNuYXBzaG90OjI4LApuZXh0R2VuV2F0Y2hXYXRjaFN3aXBlZDoyOSxraWRzQWNjb3VudHNTbmFwc2hvdDozMCx6ZXJvU3RlcENoYW5uZWxDcmVhdGVkOjMxLHR2aHRtbDVTZWFyY2hDb21wbGV0ZWQ6MzIsb2ZmbGluZVNoYXJlUGFpcmluZzozNCxvZmZsaW5lU2hhcmVVbmxvY2s6MzUsbWR4Um91dGVEaXN0cmlidXRpb25TbmFwc2hvdDozNixiZWRyb2NrUmVwZXRpdGl2ZUFjdGlvblRpbWVkOjM3LHVucGx1Z2dlZERlZ3JhZGF0aW9uSW5mbzoyMjksdXBsb2FkTXA0SGVhZGVyTW92ZWQ6MzgsdXBsb2FkVmlkZW9UcmFuc2NvZGVkOjM5LHVwbG9hZFByb2Nlc3NvclN0YXJ0ZWQ6NDYsdXBsb2FkUHJvY2Vzc29yRW5kZWQ6NDcsdXBsb2FkUHJvY2Vzc29yUmVhZHk6OTQsdXBsb2FkUHJvY2Vzc29yUmVxdWlyZW1lbnRQZW5kaW5nOjk1LHVwbG9hZFByb2Nlc3NvckludGVycnVwdGVkOjk2LHVwbG9hZEZyb250ZW5kRXZlbnQ6MjQxLGFzc2V0UGFja0Rvd25sb2FkU3RhcnRlZDo0MSxhc3NldFBhY2tEb3dubG9hZGVkOjQyLAphc3NldFBhY2tBcHBsaWVkOjQzLGFzc2V0UGFja0RlbGV0ZWQ6NDQsYXBwSW5zdGFsbEF0dHJpYnV0aW9uRXZlbnQ6NDU5LHBsYXliYWNrU2Vzc2lvblN0b3BwZWQ6NDUsYWRCbG9ja2VyTWVzc2FnaW5nU2hvd246NDgsZGlzdHJpYnV0aW9uQ2hhbm5lbENhcHR1cmVkOjQ5LGRhdGFQbGFuQ3BpZFJlcXVlc3RlZDo1MSxkZXRhaWxlZE5ldHdvcmtUeXBlQ2FwdHVyZWQ6NTIsc2VuZFN0YXRlVXBkYXRlZDo1MyxyZWNlaXZlU3RhdGVVcGRhdGVkOjU0LHNlbmREZWJ1Z1N0YXRlVXBkYXRlZDo1NSxyZWNlaXZlRGVidWdTdGF0ZVVwZGF0ZWQ6NTYsa2lkc0Vycm9yZWQ6NTcsbWR4TXNuU2Vzc2lvblN0YXRzRmluaXNoZWQ6NTgsYXBwU2V0dGluZ3NDYXB0dXJlZDo1OSxtZHhXZWJTb2NrZXRTZXJ2ZXJIdHRwRXJyb3I6NjAsbWR4V2ViU29ja2V0U2VydmVyOjYxLHN0YXJ0dXBDcmFzaGVzRGV0ZWN0ZWQ6NjIsY29sZFN0YXJ0SW5mbzo0MzUsb2ZmbGluZVBsYXliYWNrU3RhcnRlZDo2MyxsaXZlQ2hhdE1lc3NhZ2VTZW50OjIyNSwKbGl2ZUNoYXRVc2VyUHJlc2VudDo0MzQsbGl2ZUNoYXRCZWluZ01vZGVyYXRlZDo0NTcsbGl2ZUNoYXRHaWZ0QnV0dG9uSW1wcmVzc2VkOjU1OCxsaXZlQ3JlYXRpb25DYW1lcmFVcGRhdGVkOjY0LGxpdmVDcmVhdGlvbkVuY29kaW5nQ2FwdHVyZWQ6NjUsbGl2ZUNyZWF0aW9uRXJyb3I6NjYsbGl2ZUNyZWF0aW9uSGVhbHRoVXBkYXRlZDo2NyxsaXZlQ3JlYXRpb25WaWRlb0VmZmVjdHNDYXB0dXJlZDo2OCxsaXZlQ3JlYXRpb25TdGFnZU9jY3VyZWQ6NzUsb2ZmbGluZVN5c3RlbUZhaWx1cmU6NTQ2LGxpdmVDcmVhdGlvbkJyb2FkY2FzdFNjaGVkdWxlZDoxMjMsbGl2ZUNyZWF0aW9uQXJjaGl2ZVJlcGxhY2VtZW50OjE0OSxsaXZlQ3JlYXRpb25Db3N0cmVhbWluZ0Nvbm5lY3Rpb246NDIxLGxpdmVDcmVhdGlvblBsYXlhYmxlc01ldHJpY3M6NTMzLGxpdmVDcmVhdGlvblN0cmVhbVdlYnJ0Y1N0YXRzOjI4OCxsaXZlQ3JlYXRpb25XZWJydGNFcnJvcjo1MjYsbWR4U2Vzc2lvblJlY292ZXJ5U3RhcnRlZDo2OSwKbWR4U2Vzc2lvblJlY292ZXJ5Q29tcGxldGVkOjcwLG1keFNlc3Npb25SZWNvdmVyeVN0b3BwZWQ6NzEsdmlzdWFsRWxlbWVudFNob3duOjcyLHZpc3VhbEVsZW1lbnRIaWRkZW46NzMsdmlzdWFsRWxlbWVudEdlc3R1cmVkOjc4LHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQ6MjA4LHNjcmVlbkNyZWF0ZWQ6MTU2LHBsYXliYWNrQXNzb2NpYXRlZDoyMDIsdmlzdWFsRWxlbWVudEF0dGFjaGVkOjIxNSxwbGF5YmFja0NvbnRleHRFdmVudDoyMTQsY2xvdWRDYXN0aW5nUGxheWJhY2tTdGFydGVkOjc0LHdlYlBsYXllckFwaUNhbGxlZDo3Nix0dmh0bWw1QWNjb3VudERpYWxvZ09wZW5lZDo3OSxmb3JlZ3JvdW5kSGVhcnRiZWF0OjgwLGZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkOjExMSxraWRzT2ZmbGluZVNuYXBzaG90OjgxLG1keEVuY3J5cHRpb25TZXNzaW9uU3RhdHNGaW5pc2hlZDo4MixwbGF5ZXJSZXF1ZXN0Q29tcGxldGVkOjgzLGxpdGVTY2hlZHVsZXJTdGF0aXN0aWNzOjg0LAptZHhTaWduSW46ODUsc3BhY2VjYXN0TWV0YWRhdGFMb29rdXBSZXF1ZXN0ZWQ6ODYsc3BhY2VjYXN0QmF0Y2hMb29rdXBSZXF1ZXN0ZWQ6ODcsc3BhY2VjYXN0U3VtbWFyeVJlcXVlc3RlZDo4OCxzcGFjZWNhc3RQbGF5YmFjazo4OSxzcGFjZWNhc3REaXNjb3Zlcnk6OTAsdHZodG1sNUxhdW5jaFVybENvbXBvbmVudENoYW5nZWQ6OTEsbWR4QmFja2dyb3VuZFBsYXliYWNrUmVxdWVzdENvbXBsZXRlZDo5MixtZHhCcm9rZW5BZGRpdGlvbmFsRGF0YURldmljZURldGVjdGVkOjkzLHR2aHRtbDVMb2NhbFN0b3JhZ2U6OTcsdHZodG1sNURldmljZVN0b3JhZ2VTdGF0dXM6MTQ3LGF1dG9DYXB0aW9uc0F2YWlsYWJsZTo5OSxwbGF5YmFja1NjcnViYmluZ0V2ZW50OjMzOSxmbGV4eVN0YXRlOjEwMCxpbnRlcmZhY2VPcmllbnRhdGlvbkNhcHR1cmVkOjEwMSxtYWluQXBwQnJvd3NlRnJhZ21lbnRDYWNoZToxMDIsb2ZmbGluZUNhY2hlVmVyaWZpY2F0aW9uRmFpbHVyZToxMDMsb2ZmbGluZVBsYXliYWNrRXhjZXB0aW9uRGlnZXN0OjIxNywKdnJDb3ByZXNlbmNlU3RhdHM6MTA0LHZyQ29wcmVzZW5jZVN5bmNTdGF0czoxMzAsdnJDb3ByZXNlbmNlQ29tbXNTdGF0czoxMzcsdnJDb3ByZXNlbmNlUGFydHlTdGF0czoxNTMsdnJDb3ByZXNlbmNlRW1vamlTdGF0czoyMTMsdnJDb3ByZXNlbmNlRXZlbnQ6MTQxLHZyQ29wcmVzZW5jZUZsb3dUcmFuc2l0RXZlbnQ6MTYwLHZyQ293YXRjaFBhcnR5RXZlbnQ6NDkyLHZyQ293YXRjaFVzZXJTdGFydE9ySm9pbkV2ZW50OjUwNCx2clBsYXliYWNrRXZlbnQ6MzQ1LGtpZHNBZ2VHYXRlVHJhY2tpbmc6MTA1LG9mZmxpbmVEZWxheUFsbG93ZWRUcmFja2luZzoxMDYsbWFpbkFwcEF1dG9PZmZsaW5lU3RhdGU6MTA3LHZpZGVvQXNUaHVtYm5haWxEb3dubG9hZDoxMDgsdmlkZW9Bc1RodW1ibmFpbFBsYXliYWNrOjEwOSxsaXRlU2hvd01vcmU6MTEwLHJlbmRlcmluZ0Vycm9yOjExOCxraWRzUHJvZmlsZVBpbkdhdGVUcmFja2luZzoxMTksYWJyVHJhamVjdG9yeToxMjQsc2Nyb2xsRXZlbnQ6MTI1LApzdHJlYW16SW5jcmVtZW50ZWQ6MTI2LGtpZHNQcm9maWxlU3dpdGNoZXJUcmFja2luZzoxMjcsa2lkc1Byb2ZpbGVDcmVhdGlvblRyYWNraW5nOjEyOSxidXlGbG93U3RhcnRlZDoxMzYsaW50ZWdyYXRpb25BdHRyaWJ1dGlvbkV2ZW50OjU1NixtYnNDb25uZWN0aW9uSW5pdGlhdGVkOjEzOCxtYnNQbGF5YmFja0luaXRpYXRlZDoxMzksbWJzTG9hZENoaWxkcmVuOjE0MCxsaXRlUHJvZmlsZUZldGNoZXI6MTQ0LG1keFJlbW90ZVRyYW5zYWN0aW9uOjE0NixyZWVsUGxheWJhY2tFcnJvcjoxNDgscmVhY2hhYmlsaXR5RGV0ZWN0aW9uRXZlbnQ6MTUwLG1vYmlsZVBsYXliYWNrRXZlbnQ6MTUxLGNvdXJ0c2lkZVBsYXllclN0YXRlQ2hhbmdlZDoxNTIsbXVzaWNQZXJzaXN0ZW50Q2FjaGVDaGVja2VkOjE1NCxtdXNpY1BlcnNpc3RlbnRDYWNoZUNsZWFyZWQ6MTU1LHBsYXliYWNrSW50ZXJydXB0ZWQ6MTU3LHBsYXliYWNrSW50ZXJydXB0aW9uUmVzb2x2ZWQ6MTU4LGZpeEZvcEZsb3c6MTU5LAphbnJEZXRlY3Rpb246MTYxLGJhY2tzdGFnZVBvc3RDcmVhdGlvbkZsb3dFbmRlZDoxNjIsY2xpZW50RXJyb3I6MTYzLGdhbWluZ0FjY291bnRMaW5rU3RhdHVzQ2hhbmdlZDoxNjQsbGl0ZUhvdXNld2FybWluZzoxNjUsYnV5Rmxvd0V2ZW50OjE2NyxraWRzUGFyZW50YWxHYXRlVHJhY2tpbmc6MTY4LGtpZHNTaWduZWRPdXRTZXR0aW5nc1N0YXR1czo0Mzcsa2lkc1NpZ25lZE91dFBhdXNlSGlzdG9yeUZpeFN0YXR1czo0MzgsdHZodG1sNVdhdGNoZG9nVmlvbGF0aW9uOjQ0NCx5cGNVcGdyYWRlRmxvdzoxNjkseW9uZ2xlU3R1ZHk6MTcwLHlwY1VwZGF0ZUZsb3dTdGFydGVkOjE3MSx5cGNVcGRhdGVGbG93Q2FuY2VsbGVkOjE3Mix5cGNVcGRhdGVGbG93U3VjY2VlZGVkOjE3Myx5cGNVcGRhdGVGbG93RmFpbGVkOjE3NCxsaXRlR3Jvd3Roa2l0UHJvbW86MTc1LHBheW1lbnRGbG93U3RhcnRlZDozNDEsdHJhbnNhY3Rpb25GbG93U2hvd1BheW1lbnREaWFsb2c6NDA1LHRyYW5zYWN0aW9uRmxvd1N0YXJ0ZWQ6MTc2LAp0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdGFydGVkOjIyMix0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTaWduZWRPdXRTdGFydGVkOjM4Myx0cmFuc2FjdGlvbkZsb3dDYW5jZWxsZWQ6MTc3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRDYWxsQmFja1JlY2VpdmVkOjM4Nyx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VibWl0dGVkOjQ2MCx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VjY2VlZGVkOjMyOSx0cmFuc2FjdGlvbkZsb3dTdWNjZWVkZWQ6MTc4LHRyYW5zYWN0aW9uRmxvd0ZhaWxlZDoxNzksdHJhbnNhY3Rpb25GbG93UGxheUJpbGxpbmdDb25uZWN0aW9uU3RhcnRFdmVudDo0MjgsdHJhbnNhY3Rpb25GbG93U2Vjb25kYXJ5RGV2aWNlU3VjY2Vzczo0NTgsdHJhbnNhY3Rpb25GbG93RXJyb3JFdmVudDo0MTEsbGl0ZVZpZGVvUXVhbGl0eUNoYW5nZWQ6MTgwLHdhdGNoQnJlYWtFbmFibGVtZW50U2V0dGluZ0V2ZW50OjE4MSx3YXRjaEJyZWFrRnJlcXVlbmN5U2V0dGluZ0V2ZW50OjE4MiwKdmlkZW9FZmZlY3RzQ2FtZXJhUGVyZm9ybWFuY2VNZXRyaWNzOjE4MyxhZE5vdGlmeToxODQsc3RhcnR1cFRlbGVtZXRyeToxODUscGxheWJhY2tPZmZsaW5lRmFsbGJhY2tVc2VkOjE4NixvdXRPZk1lbW9yeToxODcseXBjUGF1c2VGbG93U3RhcnRlZDoxODgseXBjUGF1c2VGbG93Q2FuY2VsbGVkOjE4OSx5cGNQYXVzZUZsb3dTdWNjZWVkZWQ6MTkwLHlwY1BhdXNlRmxvd0ZhaWxlZDoxOTEsdXBsb2FkRmlsZVNlbGVjdGVkOjE5Mix5cGNSZXN1bWVGbG93U3RhcnRlZDoxOTMseXBjUmVzdW1lRmxvd0NhbmNlbGxlZDoxOTQseXBjUmVzdW1lRmxvd1N1Y2NlZWRlZDoxOTUseXBjUmVzdW1lRmxvd0ZhaWxlZDoxOTYsYWRzQ2xpZW50U3RhdGVDaGFuZ2U6MTk3LHlwY0NhbmNlbEZsb3dTdGFydGVkOjE5OCx5cGNDYW5jZWxGbG93Q2FuY2VsbGVkOjE5OSx5cGNDYW5jZWxGbG93U3VjY2VlZGVkOjIwMCx5cGNDYW5jZWxGbG93RmFpbGVkOjIwMSx5cGNDYW5jZWxGbG93R29Ub1BheW1lbnRQcm9jZXNzb3I6NDAyLAp5cGNEZWFjdGl2YXRlRmxvd1N0YXJ0ZWQ6MzIwLHlwY1JlZGVlbUZsb3dTdGFydGVkOjIwMyx5cGNSZWRlZW1GbG93Q2FuY2VsbGVkOjIwNCx5cGNSZWRlZW1GbG93U3VjY2VlZGVkOjIwNSx5cGNSZWRlZW1GbG93RmFpbGVkOjIwNix5cGNGYW1pbHlDcmVhdGVGbG93U3RhcnRlZDoyNTgseXBjRmFtaWx5Q3JlYXRlRmxvd0NhbmNlbGxlZDoyNTkseXBjRmFtaWx5Q3JlYXRlRmxvd1N1Y2NlZWRlZDoyNjAseXBjRmFtaWx5Q3JlYXRlRmxvd0ZhaWxlZDoyNjEseXBjRmFtaWx5TWFuYWdlRmxvd1N0YXJ0ZWQ6MjYyLHlwY0ZhbWlseU1hbmFnZUZsb3dDYW5jZWxsZWQ6MjYzLHlwY0ZhbWlseU1hbmFnZUZsb3dTdWNjZWVkZWQ6MjY0LHlwY0ZhbWlseU1hbmFnZUZsb3dGYWlsZWQ6MjY1LHJlc3RvcmVDb250ZXh0RXZlbnQ6MjA3LGVtYmVkc0FkRXZlbnQ6MzI3LGF1dG9wbGF5VHJpZ2dlcmVkOjIwOSxjbGllbnREYXRhRXJyb3JFdmVudDoyMTAsZXhwZXJpbWVudGFsVnNzVmFsaWRhdGlvbjoyMTEsCnR2aHRtbDVUcmlnZ2VyZWRFdmVudDoyMTIsdHZodG1sNUZyYW1ld29ya3NGaWVsZFRyaWFsUmVzdWx0OjIxNix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxTdGFydDoyMjAsbXVzaWNPZmZsaW5lUHJlZmVyZW5jZXM6MjE4LHdhdGNoVGltZVNlZ21lbnQ6MjE5LGFwcFdpZHRoTGF5b3V0RXJyb3I6MjIxLGFjY291bnRSZWdpc3RyeUNoYW5nZToyMjYsdXNlck1lbnRpb25BdXRvQ29tcGxldGVCb3hFdmVudDoyMjcsZG93bmxvYWRSZWNvbW1lbmRhdGlvbkVuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MjI4LG11c2ljUGxheWJhY2tDb250ZW50TW9kZUNoYW5nZUV2ZW50OjIzMSxvZmZsaW5lRGJPcGVuQ29tcGxldGVkOjIzMixraWRzRmxvd0V2ZW50OjIzMyxraWRzRmxvd0NvcnB1c1NlbGVjdGVkRXZlbnQ6MjM0LHZpZGVvRWZmZWN0c0V2ZW50OjIzNSx1bnBsdWdnZWRPcHNFb2dBbmFseXRpY3NFdmVudDoyMzYscGxheWJhY2tBdWRpb1JvdXRlRXZlbnQ6MjM3LGludGVyYWN0aW9uTG9nZ2luZ0RlYnVnTW9kZUVycm9yOjIzOCwKb2ZmbGluZVl0YlJlZnJlc2hlZDoyMzksa2lkc0Zsb3dFcnJvcjoyNDAsbXVzaWNBdXRvcGxheU9uTGF1bmNoQXR0ZW1wdGVkOjI0MixkZXZpY2VDb250ZXh0QWN0aXZpdHlFdmVudDoyNDMsZGV2aWNlQ29udGV4dEV2ZW50OjI0NCx0ZW1wbGF0ZVJlc29sdXRpb25FeGNlcHRpb246MjQ1LG11c2ljU2lkZWxvYWRlZFBsYXlsaXN0U2VydmljZUNhbGxlZDoyNDYsZW1iZWRzU3RvcmFnZUFjY2Vzc05vdENoZWNrZWQ6MjQ3LGVtYmVkc0hhc1N0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjQ4LGVtYmVkc0l0cFBsYXllZE9uUmVsb2FkOjI0OSxlbWJlZHNSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTAsZW1iZWRzU2hvdWxkUmVxdWVzdFN0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjUxLGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzU3RhdGU6MjU2LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzRmFpbGVkU3RhdGU6MjU3LGVtYmVkc0l0cFdhdGNoTGF0ZXJSZXN1bHQ6MjY2LHNlYXJjaFN1Z2dlc3REZWNvZGluZ1BheWxvYWRGYWlsdXJlOjI1MiwKc2lyaVNob3J0Y3V0QWN0aXZhdGVkOjI1Myx0dmh0bWw1S2V5Ym9hcmRQZXJmb3JtYW5jZToyNTQsbGF0ZW5jeUFjdGlvblNwYW46MjU1LGVsZW1lbnRzTG9nOjI2Nyx5dGJGaWxlT3BlbmVkOjI2OCx0ZmxpdGVNb2RlbEVycm9yOjI2OSxhcGlUZXN0OjI3MCx5b25nbGVVc2JTZXR1cDoyNzEsdG91U3RyaWtlSW50ZXJzdGl0aWFsRXZlbnQ6MjcyLGxpdGVTdHJlYW1Ub1NhdmU6Mjc0LGFwcEJ1bmRsZUNsaWVudEV2ZW50OjI3NSx5dGJGaWxlQ3JlYXRpb25GYWlsZWQ6Mjc2LGFkTm90aWZ5RmFpbHVyZToyNzgseXRiVHJhbnNmZXJGYWlsZWQ6MjgwLGJsb2NraW5nUmVxdWVzdEZhaWxlZDoyODEsbGl0ZUFjY291bnRTZWxlY3RvcjoyODIsbGl0ZUFjY291bnRVaUNhbGxiYWNrczoyODMsZHVtbXlQYXlsb2FkOjI4NCxicm93c2VSZXNwb25zZVZhbGlkYXRpb25FdmVudDoyODUsZW50aXRpZXNFcnJvcjoyODYsbXVzaWNJb3NCYWNrZ3JvdW5kRmV0Y2g6Mjg3LG1keE5vdGlmaWNhdGlvbkV2ZW50OjI4OSwKbGF5ZXJzVmFsaWRhdGlvbkVycm9yOjI5MCxtdXNpY1B3YUluc3RhbGxlZDoyOTEsbGl0ZUFjY291bnRDbGVhbnVwOjI5MixodG1sNVBsYXllckhlYWx0aEV2ZW50OjI5Myx3YXRjaFJlc3RvcmVBdHRlbXB0OjI5NCxsaXRlQWNjb3VudFNpZ25JbjoyOTYsbm90YWlyZUV2ZW50OjI5OCxraWRzVm9pY2VTZWFyY2hFdmVudDoyOTksYWROb3RpZnlGaWxsZWQ6MzAwLGRlbGF5ZWRFdmVudERyb3BwZWQ6MzAxLGFuYWx5dGljc1NlYXJjaEV2ZW50OjMwMixzeXN0ZW1EYXJrVGhlbWVPcHRPdXRFdmVudDozMDMsZmxvd0V2ZW50OjMwNCxuZXR3b3JrQ29ubmVjdGl2aXR5QmFzZWxpbmVFdmVudDozMDUseXRiRmlsZUltcG9ydGVkOjMwNixkb3dubG9hZFN0cmVhbVVybEV4cGlyZWQ6MzA3LGRpcmVjdFNpZ25JbkV2ZW50OjMwOCxseXJpY0ltcHJlc3Npb25FdmVudDozMDksYWNjZXNzaWJpbGl0eVN0YXRlRXZlbnQ6MzEwLHRva2VuUmVmcmVzaEV2ZW50OjMxMSxnZW5lcmljQXR0ZXN0YXRpb25FeGVjdXRpb246MzEyLAp0dmh0bWw1VmlkZW9TZWVrOjMxMyx1bnBsdWdnZWRBdXRvUGF1c2U6MzE0LHNjcnViYmluZ0V2ZW50OjMxNSxiZWR0aW1lUmVtaW5kZXJFdmVudDozMTcsdHZodG1sNVVuZXhwZWN0ZWRSZXN0YXJ0OjMxOSx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXRzOjUzNSx0dmh0bWw1U3RhYmlsaXR5VHJhY2VFdmVudDo0NzgsdHZodG1sNU9wZXJhdGlvbkhlYWx0aDo0NjcsdHZodG1sNVdhdGNoS2V5RXZlbnQ6MzIxLHZvaWNlTGFuZ3VhZ2VDaGFuZ2VkOjMyMix0dmh0bWw1TGl2ZUNoYXRTdGF0dXM6MzIzLHBhcmVudFRvb2xzQ29ycHVzU2VsZWN0ZWRFdmVudDozMjQsb2ZmZXJBZHNFbnJvbGxtZW50SW5pdGlhdGVkOjMyNSxuZXR3b3JrUXVhbGl0eUludGVydmFsRXZlbnQ6MzI2LGRldmljZVN0YXJ0dXBNZXRyaWNzOjMyOCxoZWFydGJlYXRBY3Rpb25QbGF5ZXJUcmFuc2l0aW9uZWQ6MzMwLHR2aHRtbDVMaWZlY3ljbGU6MzMxLGhlYXJ0YmVhdEFjdGlvblBsYXllckhhbHRlZDozMzIsYWRhcHRpdmVJbmxpbmVNdXRlZFNldHRpbmdFdmVudDozMzMsCm1haW5BcHBMaWJyYXJ5TG9hZGluZ1N0YXRlOjMzNCx0aGlyZFBhcnR5TG9nTW9uaXRvcmluZ0V2ZW50OjMzNixhcHBTaGVsbEFzc2V0TG9hZFJlcG9ydDozMzcsdHZodG1sNUFuZHJvaWRBdHRlc3RhdGlvbjozMzgsdHZodG1sNVN0YXJ0dXBTb3VuZEV2ZW50OjM0MCxpb3NCYWNrZ3JvdW5kUmVmcmVzaFRhc2s6MzQyLGlvc0JhY2tncm91bmRQcm9jZXNzaW5nVGFzazozNDMsc2xpRXZlbnRCYXRjaDozNDQscG9zdEltcHJlc3Npb25FdmVudDozNDYsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RFeHBvcnQ6MzQ3LGlkYlVuZXhwZWN0ZWRseUNsb3NlZDozNDgsdm9pY2VTZWFyY2hFdmVudDozNDksbWR4U2Vzc2lvbkNhc3RFdmVudDozNTAsaWRiUXVvdGFFeGNlZWRlZDozNTEsaWRiVHJhbnNhY3Rpb25FbmRlZDozNTIsaWRiVHJhbnNhY3Rpb25BYm9ydGVkOjM1Myx0dmh0bWw1S2V5Ym9hcmRMb2dnaW5nOjM1NCxpZGJJc1N1cHBvcnRlZENvbXBsZXRlZDozNTUsY3JlYXRvclN0dWRpb01vYmlsZUV2ZW50OjM1NiwKaWRiRGF0YUNvcnJ1cHRlZDozNTcscGFyZW50VG9vbHNBcHBDaG9zZW5FdmVudDozNTgsd2ViVmlld0JvdHRvbVNoZWV0UmVzaXplZDozNTksYWN0aXZlU3RhdGVDb250cm9sbGVyU2Nyb2xsUGVyZm9ybWFuY2VTdW1tYXJ5OjM2MCxuYXZpZ2F0b3JWYWxpZGF0aW9uOjM2MSxtZHhTZXNzaW9uSGVhcnRiZWF0OjM2MixjbGllbnRIaW50c1BvbHlmaWxsRGlhZ25vc3RpY3M6MzYzLGNsaWVudEhpbnRzUG9seWZpbGxFdmVudDozNjQscHJvb2ZPZk9yaWdpblRva2VuRXJyb3I6MzY1LGtpZHNBZGRlZEFjY291bnRTdW1tYXJ5OjM2NixtdXNpY1dlYXJhYmxlRGV2aWNlOjM2Nyx5cGNSZWZ1bmRGbG93RXZlbnQ6MzY4LHR2aHRtbDVQbGF5YmFja01lYXN1cmVtZW50RXZlbnQ6MzY5LHR2aHRtbDVXYXRlcm1hcmtNZWFzdXJlbWVudEV2ZW50OjM3MCxjbGllbnRFeHBHY2ZQcm9wYWdhdGlvbkV2ZW50OjM3MSxtYWluQXBwUmVmZXJyZXJJbnRlbnQ6MzcyLGxlYWRlckxvY2tFbmRlZDozNzMsbGVhZGVyTG9ja0FjcXVpcmVkOjM3NCwKZ29vZ2xlSGF0c0V2ZW50OjM3NSxwZXJzaXN0ZW50TGVuc0xhdW5jaEV2ZW50OjM3NixwYXJlbnRUb29sc0NoaWxkV2VsY29tZUNob3NlbkV2ZW50OjM3OCxicm93c2VUaHVtYm5haWxQcmVsb2FkRXZlbnQ6Mzc5LGZpbmFsUGF5bG9hZDozODAsbWR4RGlhbEFkZGl0aW9uYWxEYXRhVXBkYXRlRXZlbnQ6MzgxLHdlYk9yY2hlc3RyYXRpb25UYXNrTGlmZWN5Y2xlUmVjb3JkOjM4MixzdGFydHVwU2lnbmFsRXZlbnQ6Mzg0LGFjY291bnRFcnJvcjozODUsZ21zRGV2aWNlQ2hlY2tFdmVudDozODYsYWNjb3VudFNlbGVjdG9yRXZlbnQ6Mzg4LGFjY291bnRVaUNhbGxiYWNrczozODksbWR4RGlhbEFkZGl0aW9uYWxEYXRhUHJvYmVFdmVudDozOTAsZG93bmxvYWRzU2VhcmNoSWNpbmdBcGlTdGF0czozOTEsZG93bmxvYWRzU2VhcmNoSW5kZXhVcGRhdGVkRXZlbnQ6Mzk3LGRvd25sb2Fkc1NlYXJjaEluZGV4U25hcHNob3Q6Mzk4LGRhdGFQdXNoQ2xpZW50RXZlbnQ6MzkyLGtpZHNDYXRlZ29yeVNlbGVjdGVkRXZlbnQ6MzkzLAptZHhEZXZpY2VNYW5hZ2VtZW50U25hcHNob3RFdmVudDozOTQscHJlZmV0Y2hSZXF1ZXN0ZWQ6Mzk1LHByZWZldGNoYWJsZUNvbW1hbmRFeGVjdXRlZDozOTYsZ2VsRGVidWdnaW5nRXZlbnQ6Mzk5LHdlYkxpbmtUdHNQbGF5RW5kOjQwMCxjbGlwVmlld0ludmFsaWQ6NDAxLHBlcnNpc3RlbnRTdG9yYWdlU3RhdGVDaGVja2VkOjQwMyxjYWNoZVdpcGVvdXRFdmVudDo0MDQscGxheWVyRXZlbnQ6NDEwLHNmdkVmZmVjdFBpcGVsaW5lU3RhcnRlZEV2ZW50OjQxMixzZnZFZmZlY3RQaXBlbGluZVBhdXNlZEV2ZW50OjQyOSxzZnZFZmZlY3RQaXBlbGluZUVuZGVkRXZlbnQ6NDEzLHNmdkVmZmVjdENob3NlbkV2ZW50OjQxNCxzZnZFZmZlY3RMb2FkZWRFdmVudDo0MTUsc2Z2RWZmZWN0VXNlckludGVyYWN0aW9uRXZlbnQ6NDY1LHNmdkVmZmVjdEZpcnN0RnJhbWVQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE2LHNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE3LApzZnZFZmZlY3RBZ2dyZWdhdGVkRnJhbWVzRHJvcHBlZEV2ZW50OjQxOCxzZnZFZmZlY3RQaXBlbGluZUVycm9yRXZlbnQ6NDMwLHNmdkVmZmVjdEdyYXBoRnJvemVuRXZlbnQ6NDE5LHNmdkVmZmVjdEdsVGhyZWFkQmxvY2tlZEV2ZW50OjQyMCxtZGVRb3NFdmVudDo1MTAsbWRlVmlkZW9DaGFuZ2VkRXZlbnQ6NDQyLG1kZVBsYXllclBlcmZvcm1hbmNlTWV0cmljczo0NzIsbWRlRXhwb3J0ZXJFdmVudDo0OTcsZ2VuZXJpY0NsaWVudEV4cGVyaW1lbnRFdmVudDo0MjMsaG9tZVByZWxvYWRUYXNrU2NoZWR1bGVkOjQyNCxob21lUHJlbG9hZFRhc2tFeGVjdXRlZDo0MjUsaG9tZVByZWxvYWRDYWNoZUhpdDo0MjYscG9seW1lclByb3BlcnR5Q2hhbmdlZEluT2JzZXJ2ZXI6NDI3LGFwcGxpY2F0aW9uU3RhcnRlZDo0MzEsbmV0d29ya0Nyb25ldFJ0dEJhdGNoOjQzMixuZXR3b3JrQ3JvbmV0UnR0U3VtbWFyeTo0MzMscmVwZWF0Q2hhcHRlckxvb3BFdmVudDo0MzYsc2Vla0NhbmNlbGxhdGlvbkV2ZW50OjQ2MiwKbG9ja01vZGVUaW1lb3V0RXZlbnQ6NDgzLGV4dGVybmFsVmlkZW9TaGFyZVRvWW91dHViZUF0dGVtcHQ6NTAxLHBhcmVudENvZGVFdmVudDo1MDIsb2ZmbGluZVRyYW5zZmVyU3RhcnRlZDo0LG11c2ljT2ZmbGluZU1peHRhcGVQcmVmZXJlbmNlc0NoYW5nZWQ6MTYsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkF0dGVtcHQ6NDAsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkVycm9yOjc3LGR0d3NQbGF5YmFja1N0YXJ0ZWQ6MTEyLGR0d3NUaWxlRmV0Y2hTdGFydGVkOjExMyxkdHdzVGlsZUZldGNoQ29tcGxldGVkOjExNCxkdHdzVGlsZUZldGNoU3RhdHVzQ2hhbmdlZDoxNDUsZHR3c0tleWZyYW1lRGVjb2RlckJ1ZmZlclNlbnQ6MTE1LGR0d3NUaWxlVW5kZXJmbG93ZWRPbk5vbmtleWZyYW1lOjExNixkdHdzQmFja2ZpbGxGZXRjaFN0YXR1c0NoYW5nZWQ6MTQzLGR0d3NCYWNrZmlsbFVuZGVyZmxvd2VkOjExNyxkdHdzQWRhcHRpdmVMZXZlbENoYW5nZWQ6MTI4LApibG9ja2luZ1Zpc2l0b3JJZFRpbWVvdXQ6Mjc3LGxpdGVTb2NpYWw6MTgsbW9iaWxlSnNJbnZvY2F0aW9uOjI5NyxiaXNjb3R0aUJhc2VkRGV0ZWN0aW9uOjQzOSxjb1dhdGNoU3RhdGVDaGFuZ2U6NDQwLGVtYmVkc1ZpZGVvRGF0YURpZENoYW5nZTo0NDEsc2hvcnRzRmlyc3Q6NDQzLGNydWlzZUNvbnRyb2xFdmVudDo0NDUscW9lQ2xpZW50TG9nZ2luZ0NvbnRleHQ6NDQ2LGF0dlJlY29tbWVuZGF0aW9uSm9iRXhlY3V0ZWQ6NDQ3LHR2aHRtbDVVc2VyRmVlZGJhY2s6NDQ4LHByb2R1Y2VyUHJvamVjdENyZWF0ZWQ6NDQ5LHByb2R1Y2VyUHJvamVjdE9wZW5lZDo0NTAscHJvZHVjZXJQcm9qZWN0RGVsZXRlZDo0NTEscHJvZHVjZXJQcm9qZWN0RWxlbWVudEFkZGVkOjQ1Myxwcm9kdWNlclByb2plY3RFbGVtZW50UmVtb3ZlZDo0NTQscHJvZHVjZXJBcHBTdGF0ZUNoYW5nZTo1MDkscHJvZHVjZXJQcm9qZWN0RGlza0luc3VmZmljaWVudEV4cG9ydEZhaWx1cmU6NTE2LHByb2R1Y2VyTWVkaWFTZXJ2aWNlc1Jlc2V0RGV0YWlsczo1MjIsCnR2aHRtbDVTaG93Q2xvY2tFdmVudDo0NTUsZGV2aWNlQ2FwYWJpbGl0eUNoZWNrTWV0cmljczo0NTYseW91dHViZUNsZWFyY3V0RXZlbnQ6NDYxLG9mZmxpbmVCcm93c2VGYWxsYmFja0V2ZW50OjQ2MyxnZXRDdHZUb2tlbkV2ZW50OjQ2NCxzdGFydHVwRHJvcHBlZEZyYW1lc1N1bW1hcnk6NDY2LHNjcmVlbnNob3RFdmVudDo0NjgsbWluaUFwcFBsYXlFdmVudDo0NjksZWxlbWVudHNEZWJ1Z0NvdW50ZXJzOjQ3MCxmb250TG9hZEV2ZW50OjQ3MSx3ZWJLaWxsc3dpdGNoUmVjZWl2ZWQ6NDczLHdlYktpbGxzd2l0Y2hFeGVjdXRlZDo0NzQsY2FtZXJhT3BlbkV2ZW50OjQ3NSxtYW51YWxTbW9vdGhuZXNzTWVhc3VyZW1lbnQ6NDc2LHR2aHRtbDVBcHBRdWFsaXR5RXZlbnQ6NDc3LHBvbHltZXJQcm9wZXJ0eUFjY2Vzc0V2ZW50OjQ3OSxtaW5pQXBwU2RrVXNhZ2U6NDgwLGNvYmFsdFRlbGVtZXRyeUV2ZW50OjQ4MSxjcm9zc0RldmljZVBsYXliYWNrOjQ4MixjaGFubmVsQ3JlYXRlZFdpdGhPYmFrZUltYWdlOjQ4NCwKY2hhbm5lbEVkaXRlZFdpdGhPYmFrZUltYWdlOjQ4NSxvZmZsaW5lRGVsZXRlRXZlbnQ6NDg2LGNyb3NzRGV2aWNlTm90aWZpY2F0aW9uVHJhbnNmZXI6NDg3LGFuZHJvaWRJbnRlbnRFdmVudDo0ODgsdW5wbHVnZ2VkQW1iaWVudEludGVybHVkZXNDb3VudGVyZmFjdHVhbEV2ZW50OjQ4OSxrZXlQbGF5c1BsYXliYWNrOjQ5MCxzaG9ydHNDcmVhdGlvbkZhbGxiYWNrRXZlbnQ6NDkzLHZzc0RhdGE6NDkxLGNhc3RNYXRjaDo0OTQsbWluaUFwcFBlcmZvcm1hbmNlTWV0cmljczo0OTUsdXNlckZlZWRiYWNrRXZlbnQ6NDk2LGtpZHNHdWVzdFNlc3Npb25NaXNtYXRjaDo0OTgsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RNaWdyYXRpb25FdmVudDo0OTksc2xlZXBUaW1lclNlc3Npb25GaW5pc2hFdmVudDo1MDAsd2F0Y2hFcFByb21vQ29uZmxpY3Q6NTAzLGlubmVydHViZVJlc3BvbnNlQ2FjaGVNZXRyaWNzOjUwNSxtaW5pQXBwQWRFdmVudDo1MDYsZGF0YVBsYW5VcHNlbGxFdmVudDo1MDcsCnByb2R1Y2VyUHJvamVjdFJlbmFtZWQ6NTA4LHByb2R1Y2VyTWVkaWFTZWxlY3Rpb25FdmVudDo1MTEsZW1iZWRzQXV0b3BsYXlTdGF0dXNDaGFuZ2VkOjUxMixyZW1vdGVDb25uZWN0RXZlbnQ6NTEzLGNvbm5lY3RlZFNlc3Npb25NaXNhdHRyaWJ1dGlvbkV2ZW50OjUxNCxwcm9kdWNlclByb2plY3RFbGVtZW50TW9kaWZpZWQ6NTE1LGFkc1NlZW5DbGllbnRMb2dnaW5nOjUxNyxwcm9kdWNlckV2ZW50OjUxOCx0dmh0bWw1Q2xlYW5TdGFydDo1MTksZGV2aWNlQWNjb3VudE1ldHJpY3NFdmVudDo1MjAsZGVycExvZ0V2ZW50OjUyMSxwbGF5YWJsZXNQb3J0YWxFdmVudDo1MjMsaXBWYWxpZGF0aW9uU3RhcnRlZDo1MjQsaXBWYWxpZGF0aW9uUmVjZWl2ZWQ6NTI1LHJlZWxzU2VxdWVuY2VNdXRhdGlvbkV2ZW50OjUyNyx3YXRjaFpvb21TdGF0ZUNoYW5nZTo1MjgsbWV0YWRhdGFFZGl0b3JFdmVudDo1Mjksa2lkc1ByaXNtYURlZXBsaW5rc0V2ZW50OjUzMCxjcmVhdGlvbk9yY2hlc3RyYXRpb25FdmVudDo1MzEsCmNvb3JkaW5hdGVkU2FtcGxpbmdUcmlnZ2VyZWQ6NTMyLHJlY2FwU2NyZWVuc2hvdEV2ZW50OjUzNCxtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVxdWVzdEV2ZW50OjUzNixtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVzcG9uc2VFdmVudDo1Mzcsc2Vzc2lvblJlcGxheUV2ZW50OjUzOCxzZXNzaW9uUmVwbGF5U3RhdHVzRXZlbnQ6NTM5LGxvZ2dpbmdSZWxpYWJpbGl0eVByb2JlOjU0MCxrZXlWYWx1ZVN0b3JlU3RhdHNFdmVudDo1NDEsZGV2aWNlTG9jYXRpb25QZXJtaXNzaW9uRXZlbnQ6NTQyLHJlbW90ZUNvbnRyb2xTdGFydGVkOjU0MyxyZW1vdGVDb250cm9sQ29tcGxldGVkOjU0NCxyZWVsc0Fkc0V2ZW50czo1NDUseXRsckxvYWRlclRlc3RIYXJuZXNzRXZlbnQ6NTQ3LGJpb21ldHJpY0F1dGhlbnRpY2F0aW9uRXZlbnQ6NTQ4LG1haW5BcHBMaWZlY3ljbGVFdmVudDo1NDksbXVzaWNEb3dubG9hZEJhY2tncm91bmRDb250aW51ZWRQcm9jZXNzaW5nVGFzazo1NTAsbXVzaWNNZXRhZGF0YU1pc21hdGNoRXZlbnQ6NTUxLApzY3JvbGxUb0NvbXBvbmVudENvbXBsZXRlZDo1NTIsZW50aXR5U3RvcmVUZWxlbWV0cnk6NTUzLHN0cmVhbWluZ0RhcmtMYXVuY2hFdmVudDo1NTQsY2hpbGRBY2NvdW50c0Rpc3BsYXlFdmVudDo1NTUsdHZmYXNQbGF5YmFja0NvbnRleHQ6NTU3LG1kZUMyUGFFdmVudDo1NTl9O3ZhciBoX3g9a08oIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtLYzp7U1dIZWFsdGhMb2c6e3Z4OjF9fSxzaGFyZWQ6ITAsdXBncmFkZToobixXKT0+e1coMSkmJkVSKFp5KG4sIlNXSGVhbHRoTG9nIix7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KSwic3dIZWFsdGhOZXdSZXF1ZXN0IixbImludGVyZmFjZSIsInRpbWVzdGFtcCJdKX0sCnZlcnNpb246MX0pO3ZhciBYaT17fSxYSHc9MDt2YXIgR1Q7dmFyIHJvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXA7dGhpcy5KPSExfXJlcXVlc3RDb21wbGV0ZShuLFcpe1cmJih0aGlzLko9ITApO249dGhpcy5yZW1vdmVQYXJhbXMobik7dGhpcy5OLmdldChuKXx8dGhpcy5OLnNldChuLFcpfWlzRW5kcG9pbnRDRlIobil7bj10aGlzLnJlbW92ZVBhcmFtcyhuKTtyZXR1cm4obj10aGlzLk4uZ2V0KG4pKT8hMTpuPT09ITEmJnRoaXMuSj8hMDpudWxsfXJlbW92ZVBhcmFtcyhuKXtyZXR1cm4gbi5zcGxpdCgiPyIpWzBdfX07cm8ucHJvdG90eXBlLnJlbW92ZVBhcmFtcz1yby5wcm90b3R5cGUucmVtb3ZlUGFyYW1zO3JvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSPXJvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSO3JvLnByb3RvdHlwZS5yZXF1ZXN0Q29tcGxldGU9cm8ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZTtyby5nZXRJbnN0YW5jZT1zYzt2YXIgTmI9Y2xhc3MgZXh0ZW5kcyBnLm9Xe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9ITE7dGhpcy5OPXMydygpO3RoaXMuTi5TXygibmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57aWYodGhpcy5KJiZnLmwoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIG49JFEoKS5nZXQoImVycm9ycyIsITApO2lmKG4pe2ZvcihsZXQgVyBpbiBuKWlmKG5bV10pe2xldCBEPW5ldyBnLlF4KFcsInNlbnQgdmlhIG9mZmxpbmVfZXJyb3JzIik7RC5uYW1lPW5bV10ubmFtZTtELnN0YWNrPW5bV10uc3RhY2s7RC5sZXZlbD1uW1ddLmxldmVsO090KEQpfSRRKCkuc2V0KCJlcnJvcnMiLHt9LDI1OTJFMywhMCl9fX0pfVdHKCl7cmV0dXJuIHRoaXMuTi5XRygpfWxjKG4pe3RoaXMuTi5pc09ubGluZT1ufUxrKCl7dmFyIG49d2luZG93Lm5hdmlnYXRvci5vbkxpbmU7CnJldHVybiBuPT09dm9pZCAwPyEwOm59REgoKXt0aGlzLko9ITB9U18obixXKXtyZXR1cm4gdGhpcy5OLlNfKG4sVyl9aEoobil7cmV0dXJuIHJYKHRoaXMuTixuKX19O05iLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1OYi5wcm90b3R5cGUuaEo7TmIucHJvdG90eXBlLmxpc3Rlbj1OYi5wcm90b3R5cGUuU187TmIucHJvdG90eXBlLmVuYWJsZUVycm9yRmx1c2hpbmc9TmIucHJvdG90eXBlLkRIO05iLnByb3RvdHlwZS5nZXRXaW5kb3dTdGF0dXM9TmIucHJvdG90eXBlLkxrO05iLnByb3RvdHlwZS5uZXR3b3JrU3RhdHVzSGludD1OYi5wcm90b3R5cGUubGM7TmIucHJvdG90eXBlLmlzTmV0d29ya0F2YWlsYWJsZT1OYi5wcm90b3R5cGUuV0c7TmIuZ2V0SW5zdGFuY2U9cG07dmFyIGI2Wj1jbGFzcyBleHRlbmRzIGcub1d7Y29uc3RydWN0b3IoKXt2YXIgbj17dTI6ITAsRW86ITB9O3N1cGVyKCk7dGhpcy5OPXRoaXMuWD0wO3RoaXMuSj1wbSgpO3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy5KKTtXJiYobi5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PW4ucmF0ZUxpbWl0LFcoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e1lRKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9PntZUSh0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihXKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVdHKCl7dmFyIG49CmcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpOwpyZXR1cm4gbj9uLmJpbmQodGhpcy5KKSgpOiEwfWxjKG4pe3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLm5ldHdvcmtTdGF0dXNIaW50IikuYmluZCh0aGlzLkopO1cmJlcobil9YXN5bmMgaEoobil7dmFyIFc9Zy5ycigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2Uuc2VuZE5ldHdvcmtDaGVja1JlcXVlc3QiKS5iaW5kKHRoaXMuSik7cmV0dXJuIGcubCgic2tpcF9uZXR3b3JrX2NoZWNrX2lmX2NmciIpJiZzYygpLmlzRW5kcG9pbnRDRlIoImdlbmVyYXRlXzIwNCIpP25ldyBQcm9taXNlKEQ9Pnt0aGlzLmxjKHdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZXx8ITApO0QodGhpcy5XRygpKX0pOlc/VyhuKTohMH19O3ZhciBTYyxHemg9Y2xhc3MgZXh0ZW5kcyBEejF7Y29uc3RydWN0b3IoKXtTY3x8KFNjPW5ldyBiNlopO3N1cGVyKHtnRTp7dGk6dnZpLFRNOmJHQyxpNDpudjIsSzY6V19DLGhZOkRFeCxzZXQ6YUJTfSx5RzpTYyxoYW5kbGVFcnJvcjoobixXLEQpPT57dmFyIGI9RD8uZXJyb3I/LmNvZGU7Yj09PTQwMHx8Yj09PTQxNT8obj1uZXcgZy5ReChuLm1lc3NhZ2UsVyxEPy5lcnJvcj8uY29kZSksWkUobix2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOk90KG4pfSwKRjI6WkUsTG06JEV0LG5vdzpnLlIsaEw6cUt3LEEkOmcuRHkoKSx1WjoicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsTkE6InB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIixDcjohMCxLcjouMSxIRjp2MCgicG90ZW50aWFsX2VzZl9lcnJvcl9saW1pdCIsMTApLEVxOmcubCxOaDohKFI5KCkmJmcuSVAoZG9jdW1lbnQubG9jYXRpb24udG9TdHJpbmcoKSkhPT0id3d3LnlvdXR1YmUtbm9jb29raWUuY29tIil9KTt0aGlzLmo9bmV3IGcuS1Y7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiZremkoKTt2eigiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKG4sVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKG4sVyl9c2VuZFRoZW5Xcml0ZShuLFcsRCl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKG4sVyxEKX1zZW5kQW5kV3JpdGUobiwKVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kQW5kV3JpdGUobixXKX1hd2FpdEluaXRpYWxpemF0aW9uKCl7cmV0dXJuIHRoaXMuai5wcm9taXNlfX07dmFyIEpJPWcucWkueXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnN8fHtpc053bEluaXRpYWxpemVkOiExfTtnLkdiKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsSkkpO2cuZDQ9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5jb25maWdfPW51bGw7bj90aGlzLmNvbmZpZ189bjpJNygpJiYodGhpcy5jb25maWdfPWcuUzkoKSl9aXNSZWFkeSgpeyF0aGlzLmNvbmZpZ18mJkk3KCkmJih0aGlzLmNvbmZpZ189Zy5TOSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciB2Z3c9Zy5xaS55dFB1YnN1YlB1YnN1Ykluc3RhbmNlfHxuZXcgQkssQUk9Zy5xaS55dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzfHx7fSxLbT1nLnFpLnl0UHVic3ViUHVic3ViVG9waWNUb0tleXN8fHt9LG1nPWcucWkueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtCSy5wcm90b3R5cGUuc3Vic2NyaWJlPUJLLnByb3RvdHlwZS5zdWJzY3JpYmU7QksucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9QksucHJvdG90eXBlLmpLO0JLLnByb3RvdHlwZS5wdWJsaXNoPUJLLnByb3RvdHlwZS5XSjtCSy5wcm90b3R5cGUuY2xlYXI9QksucHJvdG90eXBlLmNsZWFyO2cuR2IoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLHZndyk7Zy5HYigieXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5cyIsS20pO2cuR2IoInl0UHVic3ViUHVic3ViSXNTeW5jaHJvbm91cyIsbWcpO2cuR2IoInl0UHVic3ViUHVic3ViU3Vic2NyaWJlZEtleXMiLEFJKTt2YXIgb0k9e307Zy5peChnLkZpLGcuRk0pO2cuRT1nLkZpLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPzA6dGhpcy5ZJC5zdWJzY3JpYmUobixXLEQpfTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPyExOnRoaXMuWSQudW5zdWJzY3JpYmUobixXLEQpfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5qSyhuKX07CmcuRS5XSj1mdW5jdGlvbihuLFcpe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5XSi5hcHBseSh0aGlzLlkkLGFyZ3VtZW50cyl9OwpnLkUuaCQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnN1YnNjcmliZShELG5bRF0sVyl9OwpnLkUuTTk9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnVuc3Vic2NyaWJlKEQsbltEXSxXKX07dmFyIHdvPURhdGUubm93KCkudG9TdHJpbmcoKTt2YXIgYnk9e307Zy5MWD1TeW1ib2woImluamVjdGlvbkRlcHMiKTt2YXIga289Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5rZXk9bn19O3ZhciBwSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9bmV3IE1hcDt0aGlzLlc9bmV3IE1hcDt0aGlzLk49bmV3IE1hcH1yZXNvbHZlKG4pe3JldHVybiBuIGluc3RhbmNlb2Yga28/Z0UodGhpcyxuLmtleSxbXSwhMCk6Z0UodGhpcyxuLFtdKX19O2cuQUw9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5uYW1lPW59dG9TdHJpbmcoKXtyZXR1cm5gSW5qZWN0aW9uVG9rZW4oJHt0aGlzLm5hbWV9KWB9fTt2YXIgWDQ7dmFyIEdwPXdpbmRvdzt2YXIgZlg9Zy5sKCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIikmJnRwKCkhPT0wLEhHdD1nLmwoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKTt2YXIgQXZqPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc2NoZWR1bGVyPWcuRHkoKTt0aGlzLko9bmV3IGcuS1Y7dGhpcy5OPW47Zm9yKGxldCBXPTA7Vzx0aGlzLk4ubGVuZ3RoO1crKyl7bGV0IEQ9dGhpcy5OW1ddO249KCk9PntELkphKCk7dGhpcy5OW1ddLk1KPSEwO3RoaXMuTi5ldmVyeSh2PT52Lk1KPT09ITApJiZ0aGlzLkoucmVzb2x2ZSgpfTsKbGV0IGI9Zy5WeCgwLG4sRC5wcmlvcml0eT8/MCk7dGhpcy5OW1ddPXsuLi5ELEphOm4sam9iSWQ6Yn19fWNhbmNlbCgpe2ZvcihsZXQgbiBvZiB0aGlzLk4pbi5qb2JJZD09PXZvaWQgMHx8bi5NSnx8dGhpcy5zY2hlZHVsZXIuc08obi5qb2JJZCksbi5NSj0hMDt0aGlzLkoucmVzb2x2ZSgpfX07dmFyIGt4aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RhdGU9Im5vbmUiO3RoaXMucGx1Z2lucz1bXTt0aGlzLko9dm9pZCAwO3RoaXMuWD17fTtmWCYmJG8odGhpcy5zdGF0ZSl9Z2V0IGN1cnJlbnRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlfWluc3RhbGwobil7dGhpcy5wbHVnaW5zLnB1c2gobik7cmV0dXJuIHRoaXN9dW5pbnN0YWxsKC4uLm4pe24uZm9yRWFjaChXPT57Vz10aGlzLnBsdWdpbnMuaW5kZXhPZihXKTtXPi0xJiZ0aGlzLnBsdWdpbnMuc3BsaWNlKFcsMSl9KX10cmFuc2l0aW9uKG4sVyl7ZlgmJnJFKHRoaXMuc3RhdGUpOwp2YXIgRD10aGlzLnRyYW5zaXRpb25zLmZpbmQoYj0+QXJyYXkuaXNBcnJheShiLmZyb20pP2IuZnJvbS5maW5kKHY9PnY9PT10aGlzLnN0YXRlJiZiLnRvPT09bik6Yi5mcm9tPT09dGhpcy5zdGF0ZSYmYi50bz09PW4pOwppZihEKXt0aGlzLlcmJihZS2oodGhpcy5XKSx0aGlzLlc9dm9pZCAwKTtmUjIodGhpcyxuLFcpO3RoaXMuc3RhdGU9bjtmWCYmJG8odGhpcy5zdGF0ZSk7RD1ELmFjdGlvbi5iaW5kKHRoaXMpO2xldCBiPXRoaXMucGx1Z2lucy5maWx0ZXIodj0+dltuXSkubWFwKHY9PnZbbl0pOwpEKFNLQyh0aGlzLGIpLFcpfWVsc2UgdGhyb3cgRXJyb3IoYG5vIHRyYW5zaXRpb24gc3BlY2lmaWVkIGZyb20gJHt0aGlzLnN0YXRlfSB0byAke259YCk7fX07dmFyIG1Fdz1jbGFzcyBleHRlbmRzIGt4aHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5OPW51bGw7dGhpcy5KPTEwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJub25lIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOnRoaXMuan0se2Zyb206ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLHRvOiJub25lIixhY3Rpb246dGhpcy5WfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLGFjdGlvbjooKT0+e319LAp7ZnJvbToibm9uZSIsdG86Im5vbmUiLGFjdGlvbjooKT0+e319XX1qKG4sVyl7dGhpcy5OPWcuY0IoMCwoKT0+e3RoaXMuY3VycmVudFN0YXRlPT09ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciJiZ0aGlzLnRyYW5zaXRpb24oIm5vbmUiKX0sNUUzKTsKbihXPy5ldmVudCl9VihuLFcpe3RoaXMuTiYmKHRhLnNPKHRoaXMuTiksdGhpcy5OPW51bGwpO24oVz8uZXZlbnQpfX0sSnA7dmFyIFV5PVtdO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRHZWxQYXlsb2FkcyIsZnVuY3Rpb24oKXtyZXR1cm4gVXl9KTt2YXIgbTM9dm9pZCAwLFNaPXZvaWQgMDt2YXIgb2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0b3JlPXt9O3RoaXMuTj17fX1zdG9yZVBheWxvYWQobixXKXtuPU85KG4pO3RoaXMuc3RvcmVbbl0/dGhpcy5zdG9yZVtuXS5wdXNoKFcpOih0aGlzLk49e30sdGhpcy5zdG9yZVtuXT1bV10pO2cubCgibW9yZV9hY2N1cmF0ZV9nZWxfcGFyc2VyIikmJihXPW5ldyBDdXN0b21FdmVudCgiVFJBTlNQT1JUSU5HX05FV19FVkVOVCIpLHdpbmRvdy5kaXNwYXRjaEV2ZW50KFcpKTtyZXR1cm4gbn1zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7aWYoIW4ua2V5cy5sZW5ndGgpcmV0dXJuW107dmFyIFc9WkEodGhpcyxuLmtleXMuc3BsaWNlKDAsMSlbMF0pLEQ9W107Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspdGhpcy5zdG9yZVtXW2JdXSYmbi5zaXplTGltaXQmJih0aGlzLnN0b3JlW1dbYl1dLmxlbmd0aDw9bi5zaXplTGltaXQ/KEQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dKSxkZWxldGUgdGhpcy5zdG9yZVtXW2JdXSk6CkQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dLnNwbGljZSgwLG4uc2l6ZUxpbWl0KSkpO24/LnNpemVMaW1pdCYmRC5sZW5ndGg8bj8uc2l6ZUxpbWl0JiYobi5zaXplTGltaXQtPUQubGVuZ3RoLEQucHVzaCguLi50aGlzLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhuKSkpO3JldHVybiBEfWV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7bj1aQSh0aGlzLG4pO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXRoaXMuc3RvcmVbbltEXV0mJihXLnB1c2goLi4udGhpcy5zdG9yZVtuW0RdXSksZGVsZXRlIHRoaXMuc3RvcmVbbltEXV0pO3JldHVybiBXfWdldFNlcXVlbmNlQ291bnQobil7bj1aQSh0aGlzLG4pO3ZhciBXPTA7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspVys9dGhpcy5zdG9yZVtuW0RdXT8ubGVuZ3RofHwwO3JldHVybiBXfX07b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ9b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ7Cm9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzPW9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzO29iLnByb3RvdHlwZS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXM9b2IucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcztvYi5wcm90b3R5cGUuc3RvcmVQYXlsb2FkPW9iLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ7dmFyIHpfdD1uZXcgZy5BTCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSIpO3ZhciBVRXc9djAoImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiLDJFMyksWkdaPXYwKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCkseXZTPXYwKCJnZWxfbWluX2JhdGNoX3NpemUiLDUpLEU5PXZvaWQgMCx5Uj1udWxsLG1zPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPXRoaXMuSj10aGlzLlc9MDt0aGlzLk49ITF9fSxUZ2k9bmV3IG1zLGxSQz1uZXcgbXMsdDY9bmV3IG1zLEdVPW5ldyBtcyxXcywkQT0hMCxQcz0xLGx5PW5ldyBNYXAsZXk9Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZXkpO3ZhciBMVT1nLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc18iLExVKTt2YXIgUmI9e30senA9ITE7dmFyIGlSPWcucWkueXRMb2dnaW5nR2VsU2VxdWVuY2VJZE9ial98fHt9O2cuR2IoInl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpfIixpUik7dmFyIG0xPVtdO3ZhciBWNCxLaj1nLnFpLnl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfO0tqfHwoS2o9Zy5SSSgxNiksZy5HYigieXRMb2dnaW5nRG9jRG9jdW1lbnROb25jZV8iLEtqKSk7VjQ9S2o7dmFyIEZfVT17Qnc6MCxGNjoxLFdROjIsTjM6MyxxdDo0LFlTOjUsUWM6NixMTTo3LEk2Ojgsc0M6OSxaTToxMCxiUzoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07dmFyIGp6Wj0xLGxSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufWdldEFzSnNvbigpe3ZhciBuPXt9O3RoaXMuTi50cmFja2luZ1BhcmFtcyE9PXZvaWQgMD9uLnRyYWNraW5nUGFyYW1zPXRoaXMuTi50cmFja2luZ1BhcmFtczoobi52ZVR5cGU9dGhpcy5OLnZlVHlwZSx0aGlzLk4udmVDb3VudGVyIT09dm9pZCAwJiYobi52ZUNvdW50ZXI9dGhpcy5OLnZlQ291bnRlciksdGhpcy5OLmVsZW1lbnRJbmRleCE9PXZvaWQgMCYmKG4uZWxlbWVudEluZGV4PXRoaXMuTi5lbGVtZW50SW5kZXgpKTt0aGlzLk4uZGF0YUVsZW1lbnQhPT12b2lkIDAmJihuLmRhdGFFbGVtZW50PXRoaXMuTi5kYXRhRWxlbWVudC5nZXRBc0pzb24oKSk7dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYobi55b3V0dWJlRGF0YT10aGlzLk4ueW91dHViZURhdGEpO3RoaXMuTi5pc0NvdW50ZXJmYWN0dWFsJiYobi5pc0NvdW50ZXJmYWN0dWFsPSEwKTtyZXR1cm4gbn1nZXRBc0pzcGIoKXt2YXIgbj1uZXcgcVlTOwp0aGlzLk4udHJhY2tpbmdQYXJhbXMhPT12b2lkIDA/bi5zZXRUcmFja2luZ1BhcmFtcyh0aGlzLk4udHJhY2tpbmdQYXJhbXMpOih0aGlzLk4udmVUeXBlIT09dm9pZCAwJiZveihuLDIsZy55UCh0aGlzLk4udmVUeXBlKSksdGhpcy5OLnZlQ291bnRlciE9PXZvaWQgMCYmb3oobiw2LGcueVAodGhpcy5OLnZlQ291bnRlcikpLHRoaXMuTi5lbGVtZW50SW5kZXghPT12b2lkIDAmJm96KG4sMyxnLnlQKHRoaXMuTi5lbGVtZW50SW5kZXgpKSx0aGlzLk4uaXNDb3VudGVyZmFjdHVhbCYmb3oobiw1LE9fKCEwKSkpO2lmKHRoaXMuTi5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIFc9dGhpcy5OLmRhdGFFbGVtZW50LmdldEFzSnNwYigpOyQ5KG4scVlTLDcsVyl9dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYkOShuLGU0dyw4LHRoaXMuTi5qc3BiWW91dHViZURhdGEpO3JldHVybiBufXRvU3RyaW5nKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0QXNKc29uKCkpfWlzQ2xpZW50VmUoKXtyZXR1cm4hdGhpcy5OLnRyYWNraW5nUGFyYW1zJiYKISF0aGlzLk4udmVUeXBlfWdldExvZ2dpbmdEaXJlY3RpdmVzKCl7cmV0dXJuIHRoaXMuTi5sb2dnaW5nRGlyZWN0aXZlc319O2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLmdldFJvb3RWZVR5cGUiLEZSKTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdXJyZW50Q3NuIixnLlJ2KTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdHRBdXRoSW5mbyIsUTQpO2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLGNzKTt2YXIgUl9NPSJhYnNvbHV0ZV9leHBlcmltZW50cyBhcHAgY29uZGl0aW9uYWxfZXhwZXJpbWVudHMgZGVidWdjc3MgZGVidWdqcyBleHBmbGFnIGZvcmNlZF9leHBlcmltZW50cyBwYmogcGJqcmVsb2FkIHNiYiBzcGYgc3BmcmVsb2FkIHNyX2Juc19hZGRyZXNzIHN0dGljayIuc3BsaXQoIiAiKTt2YXIgayRiPVt7RzE6bj0+YENhbm5vdCByZWFkIHByb3BlcnR5ICcke24ua2V5fSdgLApZejp7RXJyb3I6W3t3YjovKFBlcm1pc3Npb24gZGVuaWVkKSB0byBhY2Nlc3MgcHJvcGVydHkgIihbXiddKykiLyxncm91cHM6WyJyZWFzb24iLCJrZXkiXX1dLFR5cGVFcnJvcjpbe3diOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3diOi9cdTY1ZTBcdTZjZDVcdTgzYjdcdTUzZDZcdTY3MmFcdTViOWFcdTRlNDlcdTYyMTYgKG51bGx8dW5kZWZpbmVkKSBcdTVmMTVcdTc1MjhcdTc2ODRcdTVjNWVcdTYwMjdcdTIwMWMoW15cdTIwMWRdKylcdTIwMWQvLGdyb3VwczpbInZhbHVlIiwia2V5Il19LHt3YjovXHVjODE1XHVjNzU4XHViNDE4XHVjOWMwIFx1YzU0YVx1Yzc0YyBcdWI2MTBcdWIyOTQgKG51bGx8dW5kZWZpbmVkKSBcdWNjMzhcdWM4NzBcdWM3NzggJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc0NCBcdWFjMDBcdWM4MzhcdWM2MmMgXHVjMjE4IFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7d2I6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHt3YjovVW5hYmxlIHRvIGdldCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKHVuZGVmaW5lZCBvciBudWxsKSByZWZlcmVuY2UvLGdyb3VwczpbImtleSIsInZhbHVlIl19LHt3YjovKG51bGwpIGlzIG5vdCBhbiBvYmplY3QgXChldmFsdWF0aW5nICcoPzooW14uXSspXC4pPyhbXiddKyknXCkvLGdyb3VwczpbInZhbHVlIiwiYmFzZSIsImtleSJdfV19fSx7RzE6bj0+YENhbm5vdCBjYWxsICcke24ua2V5fSdgLApZejp7VHlwZUVycm9yOlt7d2I6Lyg/OihbXiBdKyk/XC4pPyhbXiBdKykgaXMgbm90IGEgZnVuY3Rpb24vLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3diOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7d2I6L09iamVjdCAoLiopIGhhcyBubyBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJiYXNlIiwia2V5Il19LHt3YjovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3diOi9cdTMwYWFcdTMwZDZcdTMwYjhcdTMwYTdcdTMwYWZcdTMwYzhcdTMwNmYgJyhbXiddKyknIFx1MzBkN1x1MzBlZFx1MzBkMVx1MzBjNlx1MzBhM1x1MzA3ZVx1MzA1Zlx1MzA2Zlx1MzBlMVx1MzBiZFx1MzBjM1x1MzBjOVx1MzA5Mlx1MzBiNVx1MzBkZFx1MzBmY1x1MzBjOFx1MzA1N1x1MzA2Nlx1MzA0NFx1MzA3ZVx1MzA1Ylx1MzA5My8sZ3JvdXBzOlsia2V5Il19LAp7d2I6L1x1YWMxY1x1Y2NiNFx1YWMwMCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzc0XHViMDk4IFx1YmE1NFx1YzExY1x1YjRkY1x1Yjk3YyBcdWM5YzBcdWM2ZDBcdWQ1NThcdWM5YzAgXHVjNTRhXHVjMmI1XHViMmM4XHViMmU0Li8sZ3JvdXBzOlsia2V5Il19XX19LHtHMTpuPT5gJHtuLmtleX0gaXMgbm90IGRlZmluZWRgLApZejp7UmVmZXJlbmNlRXJyb3I6W3t3YjovKC4qKSBpcyBub3QgZGVmaW5lZC8sZ3JvdXBzOlsia2V5Il19LHt3YjovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgYVJTPXtOOTpbXSxrbzpbe2NhbGxiYWNrOlF6MSx3ZWlnaHQ6NTAwfSx7Y2FsbGJhY2s6Vld4LHdlaWdodDo1MDB9XX07dmFyIGN2aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMua289W107dGhpcy5OOT1bXX19LHZhO3ZhciBTaT1uZXcgQks7dmFyIElVPW5ldyBTZXQsdFA9MCx4SE09MCxBUD0wLHY5Mj1bXSxibjI9W10sTE5DPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO0RhdGUubm93KCk7dmFyIFpwPWNsYXNzIGV4dGVuZHMgbzd7Y29uc3RydWN0b3Iobil7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1ufX0sVG89bmV3IGQzKCJzY3JlZW4tY3JlYXRlZCIsWnApLEM0PVtdLGVUaD1HJGosQmE9MCxVYT1uZXcgTWFwLHk1PW5ldyBNYXAsRWE9bmV3IE1hcDt2YXIgaHIyPWNsYXNze2ZsdXNoKG49W10sVz0hMSl7aWYoZy5sKCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBEIG9mIG4pbj11NihEKSx0aGlzLk4mJiQ5KG4sT2l4LDIsdGhpcy5OKSxuPXtzZXJpYWxpemVkSW5jcmVtZW50QmF0Y2g6Zy5FQShuLkooKSl9LGcuelUoInN0cmVhbXpJbmNyZW1lbnRlZCIsbix7c2VuZElzb2xhdGVkUGF5bG9hZDpXfSl9fSxYbkM9Y2xhc3MgZXh0ZW5kcyBocjJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0sU0hpPWNsYXNzIGV4dGVuZHMgaHIye2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dmFyIFc9bmV3IE9peDt2YXIgRD1uZXcgS1VDO0Q9Zy5TRShELDEsImJvdGd1YXJkIik7bj1nLlNFKEQsMixuKTt0aGlzLk49cmUoVyxLVUMsMSxQWmgsbil9fTt2YXIgVnAsSU0yPW5ldyBNYXA7dmFyIFQkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bmV3IFFLKG4pfXNldChuLFcsRCl7RD1EIT09dm9pZCAwP0RhdGUubm93KCkrRDp2b2lkIDA7dGhpcy5OLnNldChuLFcsRCl9Z2V0KG4pe3JldHVybiB0aGlzLk4uZ2V0KG4pfXJlbW92ZShuKXt0aGlzLk4ucmVtb3ZlKG4pfX07dmFyIHJTaD1udWxsO3ZhciBzbz0idG9rZW5zIGNvbnNpc3RlbmN5IHNlcnZpY2VfcGFyYW1zIG1zcyBjbGllbnRfbG9jYXRpb24gZW50aXRpZXMgYWRibG9ja19kZXRlY3Rpb24gcmVzcG9uc2VfcmVjZWl2ZWRfY29tbWFuZHMgc3RvcmUgbWFuaWZlc3QgcGxheWVyX3ByZWxvYWQgc2hvcnRzX3ByZWZldGNoIHJlc29sdmVfdXJsX3ByZWZldGNoIi5zcGxpdCgiICIpO3ZhciBzWVU9bmV3IE1hcChbWyJkYXJrIiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyJdLFsibGlnaHQiLCJVU0VSX0lOVEVSRkFDRV9USEVNRV9MSUdIVCJdXSk7dmFyIERNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPXt9O2lmKHRoaXMuSj1nLm1qKCkpe2xldCBuPWcuU2QoIkNPTlNJU1RFTkNZIik7biYmYVUodGhpcyx7ZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50czpufSl9fWhhbmRsZVJlc3BvbnNlKG4sVyl7aWYoIVcpdGhyb3cgRXJyb3IoInJlcXVlc3QgbmVlZHMgdG8gYmUgcGFzc2VkIGludG8gQ29uc2lzdGVuY3lTZXJ2aWNlIik7Vz1XLmlubmVyVHViZVJlcXVlc3QuY29udGV4dD8ucmVxdWVzdD8uY29uc2lzdGVuY3lUb2tlbkphcnN8fFtdOyhuPW4ucmVzcG9uc2VDb250ZXh0Py5jb25zaXN0ZW5jeVRva2VuSmFyKSYmdGhpcy5yZXBsYWNlKFcsbil9cmVwbGFjZShuLFcpe2ZvcihsZXQgRCBvZiBuKWRlbGV0ZSB0aGlzLk5bRC5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzXTthVSh0aGlzLFcpfX07dmFyIHh6cj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKS5zbGljZSgtMikuam9pbigiLiIpLGIkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPS0xO3ZhciBuPWcuQXIoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iVFZIVE1MNSImJih0aGlzLmxvY2FsU3RvcmFnZT1uQih0aGlzKSkmJihuPXRoaXMubG9jYWxTdG9yYWdlLmdldCgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKSk7biYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPW4sdGhpcy5KPXRoaXMuTj12b2lkIDApfXN0YXRpYyBnZXRJbnN0YW5jZSgpe09DPWcucnIoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIpO09DfHwoT0M9bmV3IGIkLGcuR2IoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIsT0MpKTtyZXR1cm4gT0N9c2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQobil7bi5jbGllbnR8fAoobi5jbGllbnQ9e30pO2lmKHRoaXMuTiluLmNsaWVudC5sb2NhdGlvbkluZm98fChuLmNsaWVudC5sb2NhdGlvbkluZm89e30pLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sYXRpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5OLmNvb3Jkcy5sYXRpdHVkZSoxRTcpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sb25naXR1ZGVFNz1NYXRoLmZsb29yKHRoaXMuTi5jb29yZHMubG9uZ2l0dWRlKjFFNyksbi5jbGllbnQubG9jYXRpb25JbmZvLmhvcml6b250YWxBY2N1cmFjeU1ldGVycz1NYXRoLnJvdW5kKHRoaXMuTi5jb29yZHMuYWNjdXJhY3kpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5mb3JjZUxvY2F0aW9uUGxheWFiaWxpdHlUb2tlblJlZnJlc2g9ITA7ZWxzZSBpZih0aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKW4uY2xpZW50LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbj10aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VufWdldFhHZW9IZWFkZXIoKXtpZih0aGlzLkope3ZhciBuPQp0aGlzLko7dmFyIFc9TWF0aC5mbG9vcihuLmNvb3Jkcy5sb25naXR1ZGUqMUU3KTt2YXIgRD1NYXRoLmZsb29yKG4uY29vcmRzLmxhdGl0dWRlKjFFNyk7dmFyIGI9bmV3IGpyMjtEPW96KGIsMSxnLnlQKEQpKTtXPW96KEQsMixnLnlQKFcpKTtEPW5ldyBCRnQ7RD1LbihELDEsMSk7RD1LbihELDIsMTIpO0Q9S24oRCw5LDgpO0Q9SVkoRCwzLG4udGltZXN0YW1wKjFFMyk7bj1veihELDcsZy5BXyhuLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTtuPUtuKG4sMjUsMik7bj0kOShuLGpyMiw1LFcpO249YHcgJHtnLkVBKEZGaShuKSw0KX1gfWVsc2Ugbj1udWxsO3JldHVybiBufWhhbmRsZVJlc3BvbnNlKG4pe249bi5yZXNwb25zZUNvbnRleHQ/LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbjtuIT09dm9pZCAwJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49bix0aGlzLko9dGhpcy5OPXZvaWQgMCxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9Cm5CKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsbiwxNTU1MkUzKTpJSygiWVRfQ0wiLEpTT04uc3RyaW5naWZ5KHtsb2N0b2s6bn0pLDE1NTUyRTMseHpyLCEwKSl9Y2xlYXJMb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4obil7bj09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9bkIodGhpcykpJiZ0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmUoInl0LWxvY2F0aW9uLXBsYXlhYmlsaXR5LXRva2VuIik6QXkoIllUX0NMIik7dGhpcy5YPXZvaWQgMDt0aGlzLlchPT0tMSYmKGNsZWFyVGltZW91dCh0aGlzLlcpLHRoaXMuVz0tMSl9Y2xlYXJDdXJyZW50UG9zaXRpb24oKXt0aGlzLko9dGhpcy5OPXZvaWQgMH1nZXRDdXJyZW50UG9zaXRpb25Gcm9tR2VvbG9jYXRpb24obil7aWYoIShuYXZpZ2F0b3ImJm5hdmlnYXRvci5nZW9sb2NhdGlvbiYmbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbikpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJHZW9sb2NhdGlvbiB1bnN1cHBvcnRlZCIpKTsKdmFyIFc9ITEsRD0xRTQ7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihXPSEwLEQ9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChiLHYpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihrPT57dGhpcy5KPW4/LmFkZFRvSGVhZGVycz9rOnZvaWQgMDt0aGlzLk49aztiKGspfSxrPT57dihrKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpXLAptYXhpbXVtQWdlOjAsdGltZW91dDpEfSl9KX1jcmVhdGVVbnBsdWdnZWRMb2NhdGlvbkluZm8obil7dmFyIFc9e307Cm49bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtuPy5hY2N1cmFjeSYmKFcubG9jYXRpb25SYWRpdXNNZXRlcnM9TWF0aC5yb3VuZChuLmFjY3VyYWN5KSk7cmV0dXJuIFd9Y3JlYXRlTG9jYXRpb25JbmZvKG4pe3ZhciBXPXt9O249bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtyZXR1cm4gV319LE9DO3ZhciBMSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49e319Y29udGFpbnMobil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLk4sbil9Z2V0KG4pe2lmKHRoaXMuY29udGFpbnMobikpcmV0dXJuIHRoaXMuTltuXX1zZXQobixXKXt0aGlzLk5bbl09V311Qigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLk4pfXJlbW92ZShuKXtkZWxldGUgdGhpcy5OW25dfX07bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXBwaW5ncz1uZXcgTEhyfWdldChuKXthOnt2YXIgVz10aGlzLm1hcHBpbmdzLmdldChuLnRvU3RyaW5nKCkpO3N3aXRjaChXLnR5cGUpe2Nhc2UgIm1hcHBpbmciOm49Vy52YWx1ZTticmVhayBhO2Nhc2UgImZhY3RvcnkiOlc9Vy52YWx1ZSgpO3RoaXMubWFwcGluZ3Muc2V0KG4udG9TdHJpbmcoKSx7dHlwZToibWFwcGluZyIsdmFsdWU6V30pO249VzticmVhayBhO2RlZmF1bHQ6bj1nLnBiKFcsdm9pZCAwKX19cmV0dXJuIG59fTt2YXIgeFY9e1dFQl9VTlBMVUdHRUQ6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09OQk9BUkRJTkc6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09QUzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfUFVCTElDOiJedW5wbHVnZ2VkLyIsV0VCX0NSRUFUT1I6Il5jcmVhdG9yLyIsV0VCX0tJRFM6Il5raWRzLyIsV0VCX0VYUEVSSU1FTlRTOiJeZXhwZXJpbWVudHMvIixXRUJfTVVTSUM6Il5tdXNpYy8iLFdFQl9SRU1JWDoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm1haW5fYXBwL3xec2Z2LyJ9O3ZhciBlcjE9Y2xhc3N7RChuLFc9e30sRD11OSl7dmFyIGI9e2NvbnRleHQ6dGhpcy5PKCk/Zy52YihuLmNsaWNrVHJhY2tpbmdQYXJhbXMsITAsITEsZy53KG4/LmNvbW1hbmRNZXRhZGF0YSxwaik/LnVybCx0aGlzLksoVykpOmcudmIobi5jbGlja1RyYWNraW5nUGFyYW1zLCExLHRoaXMuail9O3ZhciB2PXRoaXMuTihuKTtpZih2KXt0aGlzLkooYix2LFcpO3Y9TEIodGhpcy5XKCkpO3ZhciBrPWcudyhuLmNvbW1hbmRNZXRhZGF0YSxwaik/LmFwaVVybDtrJiYodj1rKTt2PVpyKEskKHYpKTtrPXtjb21tYW5kOm4sLi4udGhpcy5WKG4pfTtiPXtpbnB1dDp2LFBpOlV6KHYpLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6a307Yi5jb25maWcuQkc/Yi5jb25maWcuQkcuaWRlbnRpdHk9RDpiLmNvbmZpZy5CRz17aWRlbnRpdHk6RH07KG49dGhpcy5ZKG4pKSYmIWIuY29uZmlnLnJlcXVlc3RLZXkmJihiLmNvbmZpZy5yZXF1ZXN0S2V5PW4pO1cuYWJvcnRTaWduYWwmJihiLlBpLnNpZ25hbD0KVy5hYm9ydFNpZ25hbCk7cmV0dXJuIGJ9Vz1uZXcgZy5ReCgiRXJyb3I6IEZhaWxlZCB0byBjcmVhdGUgUmVxdWVzdCBmcm9tIENvbW1hbmQuIixuKTtnLlhqKFcpfU8oKXtyZXR1cm4hMX1nZXQgaigpe3JldHVybiExfUsoKXt9WSgpe31WKCl7fX0sUEM9Y2xhc3MgZXh0ZW5kcyBlcjF7WCgpe31ZKG4pe2cubCgid2ViX2VuYWJsZV9yZXF1ZXN0X2tleV9raWxsc3dpdGNoIikmJnRoaXMuWChuKTtyZXR1cm4gZy53KG4uY29tbWFuZE1ldGFkYXRhLHBqKT8ucmVxdWVzdEtleT8/dGhpcy5YKG4pfX07dmFyIGdnMT17R0VUX0RBVEFTWU5DX0lEUzpobShjbGFzcyBleHRlbmRzIFBDe0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50IixQaTpVeigiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX1XKCl7cmV0dXJuW119Tigpe31KKCl7fX0pfTt2YXIgd189bmV3IGcuQUwoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLCREPW5ldyBnLkFMKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLGlkPW5ldyBnLkFMKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBOUT12MCgieXRjc2lfZGVidWdfbWF4X3NpemUiLDEwMCk7dmFyIEptPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9OwpPYmplY3QuYXNzaWduKEptLHsiYW5hbHl0aWNzLmV4cGxvcmUiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FOQUxZVElDU19FWFBMT1JFIiwiYXJ0aXN0LmFuYWx5dGljcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX0FOQUxZVElDUyIsImFydGlzdC5ldmVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FSVElTVF9DT05DRVJUUyIsImFydGlzdC5wcmVzc2tpdCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX1BST0ZJTEUiLCJhc3NldC5jbGFpbWVkX3ZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NMQUlNRURfVklERU9TIiwiYXNzZXQuY29tcG9zaXRpb24iOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9DT01QT1NJVElPTiIsImFzc2V0LmNvbXBvc2l0aW9uX293bmVyc2hpcCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX09XTkVSU0hJUCIsImFzc2V0LmNvbXBvc2l0aW9uX3BvbGljeSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX1BPTElDWSIsCiJhc3NldC5lbWJlZHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9FTUJFRFMiLCJhc3NldC5oaXN0b3J5IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfSElTVE9SWSIsImFzc2V0Lmlzc3VlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0lTU1VFUyIsImFzc2V0LmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfTElDRU5TRVMiLCJhc3NldC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX01FVEFEQVRBIiwiYXNzZXQub3duZXJzaGlwIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfT1dORVJTSElQIiwiYXNzZXQucG90ZW50aWFsX2VtYmVkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX1BPVEVOVElBTF9FTUJFRFMiLCJhc3NldC5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9QT0xJQ1kiLCJhc3NldC5yZWZlcmVuY2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfUkVGRVJFTkNFUyIsCiJhc3NldC5zaGFyZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9TSEFSRVMiLCJhc3NldC5zb3VuZF9yZWNvcmRpbmdzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfU09VTkRfUkVDT1JESU5HUyIsImFzc2V0X2dyb3VwLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0FTU0VUUyIsImFzc2V0X2dyb3VwLmNhbXBhaWducyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0NBTVBBSUdOUyIsImFzc2V0X2dyb3VwLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfR1JPVVBfQ0xBSU1FRF9WSURFT1MiLCJhc3NldF9ncm91cC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX01FVEFEQVRBIiwic29uZy5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1NPTkdfQU5BTFlUSUNTIixjcmVhdG9yX2NoYW5uZWxfZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfREFTSEJPQVJEIiwKImNoYW5uZWwuYW5hbHl0aWNzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0FOQUxZVElDUyIsY2hhbm5lbF9hcHBlYWw6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9BUFBFQUwiLCJjaGFubmVsLmNvbW1lbnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0NPTU1FTlRTIiwiY2hhbm5lbC5jb250ZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DT05URU5UIiwiY2hhbm5lbC5jb250ZW50LnBvc3RzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QT1NUX0xJU1QiLCJjaGFubmVsLmNvbnRlbnQucHJvbW90aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUFJPTU9USU9OX0xJU1QiLCJjaGFubmVsLmNvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9DT1BZUklHSFQiLCJjaGFubmVsLmVkaXRpbmciOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfRURJVElORyIsImNoYW5uZWwubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01PTkVUSVpBVElPTiIsCiJjaGFubmVsLm11c2ljIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDIiwiY2hhbm5lbC5tdXNpY19zdG9yZWZyb250IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDX1NUT1JFRlJPTlQiLCJjaGFubmVsLnBsYXlsaXN0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9QTEFZTElTVFMiLCJjaGFubmVsLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9UUkFOU0xBVElPTlMiLCJjaGFubmVsLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9WSURFT1MiLCJjaGFubmVsLmxpdmVfc3RyZWFtaW5nIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9MSVZFX1NUUkVBTUlORyIsImRpYWxvZy5jb3B5cmlnaHRfc3RyaWtlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX0NPUFlSSUdIVF9TVFJJS0VTIiwiZGlhbG9nLnZpZGVvX2NvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1ZJREVPX0NPUFlSSUdIVCIsCiJkaWFsb2cudXBsb2FkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1VQTE9BRFMiLG93bmVyOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19EQVNIQk9BUkQiLCJvd25lci5hbGxvd2xpc3QiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTExPV0xJU1QiLCJvd25lci5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTkFMWVRJQ1MiLCJvd25lci5hcnRfdHJhY2tzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVJUX1RSQUNLUyIsIm93bmVyLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUUyIsIm93bmVyLmFzc2V0X2dyb3VwcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQUyIsIm93bmVyLmJ1bGsiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19CVUxLX0hJU1RPUlkiLCJvd25lci5jYW1wYWlnbnMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DQU1QQUlHTlMiLAoib3duZXIuY2hhbm5lbF9pbnZpdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0hBTk5FTF9JTlZJVEVTIiwib3duZXIuY2hhbm5lbHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DSEFOTkVMUyIsIm93bmVyLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0xBSU1FRF9WSURFT1MiLCJvd25lci5jbGFpbXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19NQU5VQUxfQ0xBSU1JTkciLCJvd25lci5jbGFpbXMubWFudWFsIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTUFOVUFMX0NMQUlNSU5HIiwib3duZXIuZGVsaXZlcnkiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DT05URU5UX0RFTElWRVJZIiwib3duZXIuZGVsaXZlcnlfdGVtcGxhdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfREVMSVZFUllfVEVNUExBVEVTIiwib3duZXIuaXNzdWVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfSVNTVUVTIiwKIm93bmVyLmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTElDRU5TRVMiLCJvd25lci5waXRjaF9tdXNpYyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1BJVENIX01VU0lDIiwib3duZXIucG9saWNpZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19QT0xJQ0lFUyIsIm93bmVyLnJlbGVhc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVMRUFTRVMiLCJvd25lci5yZXBvcnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVQT1JUUyIsIm93bmVyLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1ZJREVPUyIsInBsYXlsaXN0LnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUExBWUxJU1RfVklERU9fTElTVCIsInBvc3QuY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfQ09NTUVOVFMiLCJwb3N0LmVkaXQiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfRURJVCIsInByb21vdGlvbi5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QUk9NT1RJT05fRURJVCIsCiJ2aWRlby5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0FOQUxZVElDUyIsInZpZGVvLmNsYWltcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fQ0xBSU1TIiwidmlkZW8uY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0NPTU1FTlRTIiwidmlkZW8uY29weXJpZ2h0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19DT1BZUklHSFQiLCJ2aWRlby5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUIiwidmlkZW8uZWRpdG9yIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUT1IiLCJ2aWRlby5lZGl0b3JfYXN5bmMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0VESVRPUl9BU1lOQyIsInZpZGVvLmxpdmVfc2V0dGluZ3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0xJVkVfU0VUVElOR1MiLCJ2aWRlby5saXZlX3N0cmVhbWluZyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fTElWRV9TVFJFQU1JTkciLAoidmlkZW8ubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19NT05FVElaQVRJT04iLCJ2aWRlby5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX1BPTElDWSIsInZpZGVvLnJpZ2h0c19tYW5hZ2VtZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19SSUdIVFNfTUFOQUdFTUVOVCIsInZpZGVvLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fVFJBTlNMQVRJT05TIn0pO3ZhciBNUT1jbGFzcyBleHRlbmRzIG83e2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLk49bjt0aGlzLnRpbWVyPVd9fSxPbnQ9bmV3IGQzKCJhZnQtcmVjb3JkZWQiLE1RKTt2YXIgWEZ0PXthX2JpZF9mOjQ4MixhX2JpZF9zOjQ4MSxhYToyLGFhY2k6NDMzLGFhY3I6NDM0LGFiX3I6MTEsYWJfczoxMCxhYmM6NTc5LGFjOjE5MyxhY2M6NTExLGFjaTo1MTIsYWRfMF9lOjEzLGFkXzBfczoxMixhZF9ibDoxNCxhZF9pOjE1LGFkX21iczoxNixhZF9wcjo1NjIsYWRfdmk6MTcsYWRfdmlyOjE4LGFkYToxOTQsYWRiY19mOjU3NixhZGM6MTk1LGFkZmxfZjoxOSxhZGZsX3M6MjAsYWRsOjE5NixhZG5zOjE5NyxhZHNfZToyMixhZHNfczoyMSxhZmI6NTEzLGFmYzoxOTgsYWZsOjE5OSxhZnQ6MSxhaGI6NTE0LGFpOjIwMCxhaXNfYTo1MDMsYWlzX3I6NTAyLGFpc2Y6MjMsYWlzaToyNCxhaXNyOjI1LGFpc3M6MjYsYW1sOjIwMSxhcGFfYToyMDMsYXBhX2I6MjAyLGFwYnM6MjA0LGFwcF9sOjMsYXBwX3NpOjYxMixhcHBfc2llOjY2MSxhcHBkZWxfaToyNyxhcHBpX2U6NjE2LGFwcGlfczo2MTUsYXByOjIwNSxhcHJlczo0MzYsYXBzdXM6NDM1LGFyOjIwNixhcjQwazoyOCwKYXJiX2Y6NTA0LGFyYzoyMDcsYXJlcToyMDgsYXJmYjoyOSxhcmk6NCxhcnI6MjA5LGFycmg6MzAsYXNjZTo3ODgsYXNjZjo3ODksYXNjczo3ODcsYXNpc2ZiOjMxLGFzaXNyOjMyLGFzaXNyaDozMyxhc2lzczozNCxhc3I6MjEwLGFzeW5jX29yY2hfdF9hY3Q6NzEyLGFzeW5jX29yY2hfdF9ub3RpZnk6NzExLGF0cnI6NTE1LGF0cnM6NTE2LGF0dF9lOjIxMSxhdHRfZjoyMTIsYXR0X2ZjOjc5NyxhdHRfZnJyOjc5NixhdHRfZnM6NzkzLGF0dF9mc3I6Nzk1LGF0dF9wbmE6Nzk0LGF0dF9zOjIxMyxhdHRfd2I6MjE0LGF3ZmxfZjo1NTcsYXdmbF9zOjU1OCxiYXNlX2pzX3I6NDQxLGJjcDoyMTUsYmY6MjE2LGJnX2U6MjE3LGJnX2k6MjE4LGJnX2w6MjIwLGJnX3M6MjIxLGJnX3Y6MjE5LGJwZF9jOjQ4NCxicGRfczo0ODMsYnB0OjIyMyxicl9lOjM3LGJyX2xkOjM4LGJyX2xycHI6MzksYnJfbHJyOjQwLGJyX2x3bTo1NzcsYnJfcjo0MSxicl9zOjQyLGJyZXI6MzUsYnJlczozNixicm5yOjQzLApicm5zOjQ0LGJycGU6NDUsYnJwczo0NixicnJfZTo0NyxicnJfaTo0OCxicnJfaXVzOjQ5LGJzOjIyMixjX2M6NTAsY19jczo1MSxjX2NzZnM6NTIsY19kOjUzLGNfbGFmOjU5LGNfbGFzOjU4LGNfcm5mOjQzOCxjX3Juczo0MzcsY2M6NDY3LGNjX2M6NTQsY2NfY2Y6NTYsY2NfY3NhbGE6NTUsY2NfbGE6NTcsY2ZnOjIyNCxjaGxzOjIyNSxjaHBzOjIyNixjbDo0ODAsY21jOjIyNyxjbWRfaDo2MjksY21obDoyMjksY21pOjIyOCxjbWw6MjMwLGNtcDo3NzksY212OjIzMSxjcHQ6MjMyLGNyOjM2NCxjcl9lcnI6NjY5LGNyX3I6NjcwLGNyX3M6NjY4LGNzbDoyMzMsY3NyX3Q6NjMxLGN0OjUsY3RfbGk6NjAsZF9sOjYxLGRfbGFmOjYyLGRfbGFyOjYzLGRfbGFzOjY0LGRfbGY6NjUsZF9sczo2NixkX2x3OjY3LGRfbHdmOjY4LGRfbHdzOjY5LGRhc19jOjM2NixkYXNfczozNjUsZGNwOjIzNCxkZ19wYl9jOjIzNixkZ19wYl9yOjIzNyxkZ19wYl9zOjIzNSxkaGljOjIzOCxkbDoyMzksZG5zXzoyNDAsCmRybV9na19mOjM4OCxkcm1fZ2tfczozODcsZHJtX2tyX3I6MzkyLGRybV9rcl9zOjM5MSxkcm1fbmV0X3I6MzkwLGRybV9uZXRfczozODksZHJtX3BiX2Y6Mzg2LGRybV9wYl9zOjM4NSxkc19hYzo3MzYsZHNfYXM6NzM1LGRzX2NsYzo3NDAsZHNfY3M6NzM3LGRzX2RjOjczOSxkc19kczo3MzgsZW1wYTo0MzIsZW1wdTo0MzEsZW5wX2Vycjo2ODUsZW5wX2ZpOjY4NCxlbnBfc3Q6NjgzLGVvcHJfcjo2NzMsZXBfYV9wcl9yOjUzMixlcF9hX3ByX3M6NTMxLGVwX2hhdl9lbmQ6NTI2LGVwX2hhdl9zdGFydDo1MjUsZXBfaW5pdF9hcjo2OTksZXBfaW5pdF9jdWU6NjM1LGVwX2luaXRfY3VzOjYzNCxlcF9pbml0X2VwZTo2MzcsZXBfaW5pdF9lcHM6NjM2LGVwX2luaXRfaWplOjYzOSxlcF9pbml0X2lqczo2MzgsZXBfaW5pdF9wcjo1MjcsZXBfaW5pdF9yZTo2NDEsZXBfaW5pdF9yczo2NDAsZXBfaW5pdF93ZWU6NjQzLGVwX2luaXRfd2VzOjY0MixlcF9tYV9yZXByOjU0MyxlcF9tYV9ycjo1MzMsCmVwX21hX3NlcHI6NTQyLGVwX21hX3Nwcjo1MzQsZXBfcF9sOjUzMCxlcF9wcl9yOjUyOSxlcF9wcl9zOjUyOCxlcF9yX3ByZV9yOjU0MSxlcF9yX3JyOjUzNSxlcF9yX3NtYXI6NTM2LGVwX3JlY19lbmQ6NTM4LGVwX3JlY19zdGFydDo1MzcsZXBfcmVwc19lbmQ6NTQwLGVwX3JlcHNfc3RhcnQ6NTM5LGVwZTo2MTgsZXBzOjYxNyxlcl9jbDo2NTMsZXJfbnM6NjUyLGVyX3BlOjY1MCxlcl9wczo2NDksZXJfczo2NDgsZXJfc19ucjo3OTAsZXJfc19uczo3ODQsZXJfdDo2NTEsZmFiX3I6MjQ2LGZjYl9yOjUwNixmaXJlOjcwLGZpcnM6NzEsZm10aDoyNDEsZm9vdF9qczoyNDIsZnB0OjI0Myxmcl9zOjU2MSxmczoyNDQsZnNjOjI0NSxmc3NiMF9hOjc1LGZzc2IwX2ZyOjc0LGZzc2IwX25yOjczLGZzc2IwX25zOjcyLGZ0Xzo0MzksZnRsOjcsZnRyOjQ3NSxmdmJfcjoyNDcsZnZmOjI0OCxmeWRfZ2Y6NzY3LGZ5ZF9nczo3NjYsZ2NjOjI0OSxnY2ZsOjI1MCxnY3NyOjc2LGdlcF9lcnI6ODAwLApnZXBfcmVxOjc5OCxnZXBfcmVzOjc5OSxnZ3NyOjc3LGdpd2FfYTo2MjcsZ2l3YV9kOjYyOCxnbGM6NTkzLGdsZToyNTEsZ2xzOjI1MixncGU6MjUzLGdyYzoyNTQsZ3Jpd19ucjo3ODYsZ3Jpd19uczo3ODUsZ3Nfcjo3MzQsZ3Nfczo3MzMsZ3NtZDo1ODYsZ3Vfcjo2MjAsZ3Y6NDg1LGd3X2FpZXI6NzcxLGd3X2FyZjo3NzIsZ3dfYXJuYWY6Nzc1LGd3X2Fybm5hZjo3NzYsZ3dfYXJuczo3NzcsZ3dfYXJuc3U6Nzc4LGd3X2Fyczo3NzQsZ3dfYXJzdTo3NzMsZ3dfbWFhZjo2MzMsZ3dfbWFhczo2MzIsaGJmZzo2NzcsaGdjcjoyNTUsaHI6MjU2LGhyZTozNjMsaHJzOjM2MixoczozNzMsaHRtbF9mYl9yOjc1NSxodG1sX2ZlOjc0OCxodG1sX2ZzOjc0NyxodG1sX2Z3ZTo3NTIsaHRtbF9md3M6NzUxLGh0bWxfamNlOjc1NCxodG1sX2pjczo3NTMsaHRtbF9sYl9yOjc1NixodG1sX3NlOjc1MCxodG1sX3NzOjc0OSxpX3JwOjQ3NyxpX3JxOjQ3NixpcF9zOjY0NixpcGM6MjU3LGlwczoyNTgsCmlzbXBfYTo4MzYsaXNtcF9jOjgzOCxpc21wX2Q6ODM5LGlzbXBfaTo4MzUsaXNtcF9wOjg0MCxpc21wX3JjOjgzNyxpdF9ncDo3OCxpdl9zOjUwNSxqc3A6MjU5LGpzcjoyNjAsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yQ2FuY2VsbGVkOjgwMSxrWVRMYXRlbmN5TURFUHJvZHVjdFN0aWNrZXJFZGl0b3JGaW5pc2hlZDo4MDIsbDJzOjI2MSxsY19mcnI6NjYwLGxjX3Nfczo2NTksbGNfc191OjY1OCxsY3A6MjYyLGxkX3M6NDQwLGxpbToyNjMsbHBjZjoyNjQsbHBjczoyNjUsbHBzOjI2Nixsc19jOjM2OCxsc19zOjM2Nyxsc3M6MjY3LGx2OjI2OCxtYV9jbDo1NTEsbWFfZmZyOjU1MixtYV9mdWE6NTU0LG1hX2dyOjU1MyxtYV9pbDo1NzMsbWFpbjo3OSxtYWluX2pzX3I6NDQyLG1haW5fanNfcnE6NDQzLG1iX3M6NTA3LG1iYXBfYzozODQsbWJjX2FsYzo3MzIsbWJjX2FzbDo3MzEsbWJjX2M6Mzc1LG1iY19zOjM3NCxtYmdjaGlkX3JyOjc0NCxtYmdjaGlkX3JzOjc0NiwKbWJncl9yZjo2NTcsbWJncl9ycjozNzksbWJncl9yczozNzgsbWJsY19jOjM3NyxtYmxjX3M6Mzc2LG1ibGNoaWRfYzo3NDUsbWJsY2hpZF9zOjc0MyxtYmxjcmlkX2M6NzQyLG1ibGNyaWRfczo3NDEsbWJzX2M6MzgxLG1ic19ycjozODMsbWJzX3JzOjM4MixtYnNfczozODAsbWR4X2NjcDo4MCxtZHhfY2NzOjgxLG1keF9jY3N0OjgyLG1keF9jcjo4MyxtZHhfY3M6ODQsbWR4X2xzOjg1LG1keF9vZmY6ODYsbWR4X3NjOjg3LG1lX2I6NTU1LG1lX2M6Njg3LG1lX2Y6NTU2LG1lX2ZhOjY4OCxtZXN2X3M6NTA5LG1tX2llOjcyMCxtbV9pczo3MTksbXJjOjI2OSxtcnM6MjcwLG1zYToyNzEsbXN0aTo4OCxtc3RyOjg5LG5fY3Q6NzAyLG5fc3I6Njk3LG5fc3c6Njk4LCJuY1swLTldIjoyNzIsbmNsOjI3MyxuY3Q6Mjc0LG5kOjI3NSxuZG5zZToyNzYsbmRuc3M6Mjc3LCJucFswLTldIjoyNzgsbnI6Mjc5LG5yZToyODAsbnJlcXM6MjgxLG5yZXNlOjI4MixucmVzczoyODMsbnJycHM6OTAsCm5yczoyODQsbnN0Y3BzOjI4NSxudGNwZToyODYsbnRjcHM6Mjg3LG53cDoyODgsb2FkMnM6NDI1LG9hZnNfcjo0MDcsb2Fmc19ycDo0MDksb2Fpc3I6NDA1LG9hcjJzOjQxMixvYXJwMnM6NDI3LG9jc2lfejo5MSxvY3RrOjYyMSxvY3RwOjYyMixvZmFycDo0MjMsb2Zkbzo0MDAsb2Zkb3M6Mzk4LG9mcjo0MTcsb2Z2cnA6NDI0LG9nc2ZfYzozOTUsb2dzZl9zOjM5NCxvaHJfcjo3NjUsb2hyX3M6NzY0LG9sOjYsb2xfaTo4LG9sb2NfZTo4MzAsb2xvY19zYTo4Mjksb2xvY19zczo4Mjgsb21kX2M6NDIyLG9tZF9zOjQyMSxvbXBfYzo0MTksb21wX3I6NDE4LG9wZmM6NjgwLG9wcl9yOjQxNCxvcHJkX3M6NDE1LG9wcmd6Ml9lOjg0MixvcHJnejJfZjo4NDMsb3ByZ3oyX3M6ODQxLG9wcmd6X3M6Njg5LG9wcnI6NDE2LG9yMTAwazo0MTEsb3JfZmU6NDI5LG9yX2ZzOjQzMCxvcl9pOjM5Myxvcl9wOjM5NyxvcmNoX3JfZDo2OTQsb3JjaF9yX3M6Njk1LG9yY2hfdF9wbWQ6NzcwLG9yY2hfdF9wbXM6NzY5LApvcmNoX3RfdGNlZDo3MDgsb3JjaF90X3RjZXM6NzA1LG9yY2hfdF90ZDo2OTIsb3JjaF90X3RtZDo4MDQsb3JjaF90X3Rtczo4MDMsb3JjaF90X3VkOjY5MyxvcmNoX3RfdXM6Njk2LG9yZmI6NDA0LG9yaF9yOjQwMyxvcm1rOjQyMCxvcnFwYl9hOjgzMSxvcnFwYl9lOjgzNCxvcnFwYl9zOjgzMixvcnFwYl93OjgzMyxvc2RvOjQwMSxvc2RvZjo0MDIsb3Nkb3M6Mzk5LG9zb3I6Mzk2LG92ZDJzOjQyNixvdmZzX3I6NDA4LG92ZnNfcnA6NDEwLG92aXNyOjQwNixvdnIyczo0MTMsb3ZycDJzOjQyOCxwYWM6Mjg5LHBhcmk6NTE3LHBhdDoyOTAscGIwX3M6NjExLHBiX3JxX2F1dGh6OjQ0NixwYl9ycV9jdHRfY2ZtOjQ0NyxwYmNfZTo2NjMscGJjX3M6NjYyLHBiZl9jOjkyLHBicDo0ODYscGJyZXN1bWU6MjkyLHBiczo0ODcscGJ1OjI5MyxwYzo0ODgscGNjOjU0NixwY2U6NTQ3LHBjcTo1NDQscGNyOjU0NSxwY3VfYXA6ODA5LHBjdV9jZTo1ODEscGN1X2NzOjU4MCxwY3VfcmU6ODA4LHBjdV9yczo4MDcsCnBjdV9zOjgwNSxwY3Vfc2U6ODA2LHBkYToyOTQscGRjOjI5NSxwZHI6Mjk2LHBlOjI5NyxwZW1fcjo0NDQscGVtX3JxOjQ0NSxwZmplOjMwOSxwZnJyOjMwNSxwZnJzOjMwNixwZnM6MzA3LHBmdDozMDgscGZ0X2k6OTMscGxfYzoyOTEscGxfaTo0ODkscGxfaW50OjQ5MCxwbF9yOjQ5MSxwbF9yYzo3MDMscGxfczo0OTIscGxfc3M6NDkzLHBsZXY6MzEwLHBsanNfcjo0NDgscGxqc19ycTo0NDkscGx2czo3MjMscG90X2FmOjk3LHBvdF9hczo5Nixwb3RfY21lOjU2OSxwb3RfY21mOjI5OSxwb3RfY21zOjI5OCxwb3RfY3NtZTo1NzAscG90X2NzbWY6MzAxLHBvdF9jc21zOjMwMCxwb3RfaWY6MzA0LHBvdF9pbml0Zjo5NSxwb3RfaXNjOjMwMixwb3RfaXN0OjMwMyxwb3Rfc2U6NTY1LHBvdF9zZjo1NjQscG90X3NzOjU2Myxwb3RfeGU6NTY4LHBvdF94Zjo1NjcscG90X3hzOjU2Nixwb3RwZTo5NCxwcHU6OTgscHJvY19rOjYxMyxwcm9jX2tfbDo2MTQscHM6MzExLHBzX2JzOjY0Nyxwc19jOjQ5NCwKcHNfZXM6OTkscHNfcGE6NjgxLHBzX3BpaGY6NTk3LHBzX3BpaHM6NTk2LHBzX3I6MzYwLHBzX3M6MzYxLHBzX3NnZjo1OTUscHNfc2dzOjU5NCxwc25yOjQ5NSxwc25zOjQ5Nixwc3BlOjEwMCxwc3BzOjEwMSxwdF9tZTo4MTUscHRfbWY6ODE0LHB0X21zOjgxMyxwdF9waWU6ODEyLHB0X3BpZjo4MTEscHRfcGlzOjgxMCxwdF9waXNoOjYwNixwdnJpOjUxOCxwd2M6MzEyLHFvZXM6MzEzLHJfY19zbGQ6NDUwLHJfY19zcnE6NDUxLHJfY29ubmVjdF9iYWNrZW5kOjQ1MixyX2Nvbm5lY3RfYmFja2VuZF9zdWNjZXNzOjQ1MyxyX2Nvbm5lY3RlZDo0NTQscl9jb25zdHJ1Y3Rpb246NDU1LHJfZGlzY29ubmVjdGVkOjQ1NixyX2ViaTo2NjQscl9lb2Q6NTg1LHJfZjo0NTcscl9vcjo3MTMscl9wbDoxMDUscl9wczoxMDYscl9ycV9wbHk6NDU4LHJfc19wbHlsc3Q6NDU5LHJfc192aWQ6NDYwLHJfc3RhdHVzX3VwZGF0ZTo0NjEscl90cjoxMDcscl92dGM6MTA0LHJfd2lwYmM6NTg0LHJfd25yOjc5MiwKcl93bnM6NzkxLHJfd3JyOjEwMyxyX3dyczoxMDIscl93c3JwOjYwOSxyX3dzcnI6NjA4LHJfd3Nyczo2MDcscmN2XzozMTQscmVtb3ZlX3NwbGFzaDo0NjIscmVxXzozMTUscmZnOjMxNixyZ3JfbnJmOjYwMCxyZ3Jfczo1OTkscnBlOjgxNixycGx5X3JxZDo0NjMscnBzOjgxNyxyc19zOjUwOCxyc2FlX3BjOjMzMixyc2FlX3BlajozMzQscnNhZV9wajozMzMscnNiZV9wYzozMjMscnNiZV9wZWo6MzI1LHJzYmVfcGo6MzI0LHJzZV9wYzozMjAscnNlX3BlajozMjIscnNlX3BqOjMyMSxyc2VmX3BjOjMyOSxyc2VmX3BlajozMzEscnNlZl9wajozMzAscnNlc19wYzozMjYscnNlc19wZWo6MzI4LHJzZXNfcGo6MzI3LHJzZl9wYzozMTcscnNmX3BlajozMTkscnNmX3BqOjMxOCxydGltZV86MzM1LHJ1cmxfZToxMDgscnVybF9yOjEwOSxydXJsX3M6MTEwLHJ1cmxwZToxMTEscnVybHBzOjExMixzM3Rfcjo0NzIsc2FfZjo2MjQsc2FfZm86NjI1LHNhX3M6NjIzLHNhZl9mcDo2NjUsc2FmX3I6NjY2LApzYWZfcmU6NjY3LHNhc19pOjYyNixzY2dhdF9mZnM6NTYwLHNjZ2F0X2ZzOjU1OSxzZGFfZjo2MDUsc2RhX2k6NjA0LHNkYV9yZWNwOjYwMSxzZGFfcnNwcDo2MDMsc2RhX3JzcHI6NjAyLHNkbF9lOjY1NSxzZGxfczo2NTQsc2RsX3Q6NjU2LHNmX2k6MTEzLHNnc2Nfcjo3ODEsc2dzY19zOjc4MCxzaG93X2NhbGxfdG9fY2FzdDo0NjQsc2hyYl9jOjE2NSxzaHJvX2M6MTcwLHNocm9fcjoxNjcsc2hycF9jOjE2OSxzaHJwX2xkOjE2NixzaHJwX3A6MTY4LHNvX3I6MTE5LHNvX3JlOjExOCxzb19ycToxMjAsc3BhOjExNCxzcGQ6MTE1LHNwZjoxMTYsc3Bucl9oOjY3MixzcG5yX3M6NjcxLHNwcjo2Nzgsc3JfZToxMTcsc3JfcDoxMjEsc3JfcGE6MTIyLHNyX3I6MTIzLHNyX3JlOjEyNCxzcl9zOjEyNSxzcl91aToxMjYsc3J0OjMzNixzc19yOjQ2OSxzc19zOjQ2OCxzc19zZl9zOjcyNCxzc19zZl93OjcyNSxzc25yOjEyNyxzc25zOjEyOCxzdGNwXzozMzcsc3RlX2FsZjo1ODksc3RlX2M6NTkyLApzdGVfZWxmOjU5MCxzdGVfZjo1OTEsc3RlX2Z0bDo1ODgsc3RlX2w6NTg3LHN0dHNfYjo1ODIsc3R0c19mOjU4MyxzdHZzX2Y6NjkxLHN0dnNfczo2OTAsc3ZlOjQ2NixzdnM6NDY1LHN3X2ZiOjUxMCxzd19pOjc4Myxzd19yOjQ5Nyxzd19zOjQ5OCxzd3Nucjo4MTksc3dzbnM6ODE4LHN3c3BlOjgyMSxzd3Nwczo4MjAsdGNwXzozMzgsdGVueF9sOjQ3MSx0ZW54X3I6NDcwLHRoMF9oOjYxMCx0aDBfbmM6Njc1LHRoMF9uZTo2NzYsdGgwX25yOjEyOSx0aDBfbnM6Njc0LHRoX2NfMTo3MDksdGhfZF8xOjcxMCx0aF9sXzE6MTMwLHRoX3NfMTo1NzgsdGhzYjBfZnI6MTM0LHRoc2IwX25lOjEzMSx0aHNiMF9ucjoxMzIsdGhzYjBfbnM6MTMzLHR0YzozMzksdHRjcjozNDAsdWlfbDoxMzUsdWliZl9jOjE0MSx1aWJmX3I6MTQzLHVpYmZfczoxNDIsdWlzZl9yOjE0NCx1aXd3YV9iYzo2MTksdWl3d2FfYzoxMzYsdWl3d2FfZToxNDAsdWl3d2FfcHI6MTM5LHVpd3dhX3I6MTM4LHVpd3dhX3M6MTM3LAp1bHJzX2M6MzcwLHVscnNfczozNjksdW5rbm93bjowLHVyOjM0MSx2Yzo2ODIsdmNjOjUxOSx2Y2k6NTIwLHZkYTozNDIsdmRldWM6MzQzLHZkZXVyOjM0NCx2ZGV1czozNDUsdmRuczozNDYsdmZiOjUyMSx2ZnA6MzQ3LHZoYjo1MjIsdmlyOjM0OCx2aXJjOjM0OSx2aXNfYTo1MDAsdmlzX3I6NDk5LHZpc2Y6MTQ1LHZpc2k6MTQ2LHZpc3I6MTQ3LHZpc3M6MTQ4LHZvel9jeDoxNzksdm96X2VvdToxODcsdm96X2VycjoxODQsdm96X2Vycl9tczoxODAsdm96X2Vycl9ubXA6MTgxLHZvel9lcnJfb2ZmOjE4Myx2b3pfZXJyX3VhcjoxODIsdm96X2Z0cjoxODgsdm96X2Z2YzoxODksdm96X2xyX2xzbzoxODUsdm96X2xyX21kOjE4Nix2b3pfbWY6MTcyLHZvel9tczoxNzEsdm96X3JxZjoxNzQsdm96X3JxczoxNzMsdm96X3NmOjE3OCx2b3pfc3M6MTc3LHZvel92cDoxNzUsdm96X3Z0OjE3Nix2cGw6MzUwLHZyOjM1MSx2cjEwMGs6MTQ5LHZyYl9mOjUwMSx2cmM6MzUyLHZyZXE6MzUzLHZyZmI6MTUwLAp2cmk6OSx2cnI6MzU0LHZycl9yOjQ3NCx2cnJfczo0NzMsdnJyaDoxNTEsdnNpc2ZiOjE1Mix2c2lzcjoxNTMsdnNpc3JoOjE1NCx2c2lzczoxNTUsdnRhOjM1NSx2dHJyOjUyMyx2dHJzOjUyNCx3X3N0OjE1Nix3YXNtX2ZhOjgyNix3YXNtX2ZlcnI6ODI3LHdhc21fZnc6ODI1LHdhc21fczo4MjQsd2M6MzcyLHdjcjozNTYsd2ViZmVfZTo3Mjgsd2ViZmVfZ2JtX3I6NzU4LHdlYmZlX2dibV9zOjc1Nyx3ZWJmZV9nbF9yOjc2Mix3ZWJmZV9nbF9zOjc2MSx3ZWJmZV9nc19yOjc2MCx3ZWJmZV9nc19zOjc1OSx3ZWJmZV9ndXNfcjo3MzAsd2ViZmVfZ3VzX3M6NzI5LHdlYmZlX2d2bV9zOjc2Myx3ZWJmZV9zOjcyNyx3ZmZlOjM1Nyx3ZmZzOjM1OCx3Zmc6MzU5LHduX2U6MTYyLHduX2w6MzcxLHduX3I6MTU5LHduX3JwOjQ3OCx3bl9zOjE2MCx3bl9zbDoxNjEsd25sOjE1OCx3bmxfZDo4MjMsd25sX21wOjU3MSx3bmxfcGQ6ODIyLHdubHI6NTcyLHdubHM6MTU3LHducGU6MTYzLHducHM6MTY0LAp3cDo0Nzksd3NfY2U6MTkwLHdzX3NzOjE5MSx3c19zc3I6MTkyLHljZWM6NTQ5LHljZWY6NTQ4LHljZnRyOjY0NSx5Y2lmOjU1MCx5Y21zZjo2NDQseWNyYzo3MTgseWNyZjo3MTcseWNyczo3MTQseWNyc2M6NzE1LHljcnVlYTo3MTZ9O3ZhciBtcT1nLnFpLnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtnLkdiKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsbXEpO3ZhciBQYj1nLnFpLnl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzX3x8e307Zy5HYigieXRMb2dnaW5nTGF0ZW5jeVVzYWdlU3RhdHNfIixQYik7CnZhciBLQj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj0wfXRpY2sobixXLEQsYil7Wk0odGhpcyxgdGlja18ke259XyR7V31gKXx8KEQ9e3RpbWVzdGFtcDpELGN0dEF1dGhJbmZvOmJ9LFc9e3RpY2tOYW1lOm4sY2xpZW50QWN0aW9uTm9uY2U6V30sZy5sKCJ5b3V0dWJlX3dlYl9jc2lfdGlja3NfbWlncmF0aW9uIikmJihuPVhGdFtuXSxuIT09dm9pZCAwJiYoVy50aWNrPW4sZGVsZXRlIFcudGlja05hbWUpKSxnLnpVKCJsYXRlbmN5QWN0aW9uVGlja2VkIixXLEQpKX1pbmZvKG4sVyxEKXt2YXIgYj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtaTSh0aGlzLGBpbmZvXyR7Yn1fJHtXfWApfHwobj1PYmplY3QuYXNzaWduKHt9LG4pLG4uY2xpZW50QWN0aW9uTm9uY2U9VyxnLnpVKCJsYXRlbmN5QWN0aW9uSW5mbyIsbix7Y3R0QXV0aEluZm86RH0pKX1qc3BiSW5mbyhuLFcsRCl7dmFyIGI9IiI7Zm9yKGxldCB2PTA7djxZdihuKS5sZW5ndGg7disrKVl2KG4pW3ZdIT09dm9pZCAwJiYKKGI9dj09PTA/Yi5jb25jYXQoYCR7dn1gKTpiLmNvbmNhdChgXyR7dn1gKSk7Wk0odGhpcyxgaW5mb18ke2J9XyR7V31gKXx8KGcuU0UobiwyLFcpLFc9e2N0dEF1dGhJbmZvOkR9LEQ9Zy5sKCJqc3BiX3NwYXJzZV9lbmNvZGVkX3Bpdm90Iik/bmV3IFp2KFt7fV0pOm5ldyBadixyZShELFVrciw3LHlZMSxuKSxmMmooRCxXKSl9c3BhbihuLFcsRCxiKXt2YXIgdj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtpZihifHwhWk0odGhpcyxgc3Bhbl8ke3Z9XyR7V31gKSluLmNsaWVudEFjdGlvbk5vbmNlPVcsZy56VSgibGF0ZW5jeUFjdGlvblNwYW4iLG4se2N0dEF1dGhJbmZvOkR9KX19O3ZhciBaWj13aW5kb3cscWtyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy50aW1pbmc9e307dGhpcy5jbGVhclJlc291cmNlVGltaW5ncz0oKT0+e307CnRoaXMud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9Owp0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5tc0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5vQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9fX0sVUg9WloucGVyZm9ybWFuY2V8fFpaLm1velBlcmZvcm1hbmNlfHxaWi5tc1BlcmZvcm1hbmNlfHxaWi53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IHFrcjt2YXIgd2I9ITEsbCQ9ITEsUXY9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9InBsYXllci93d3ctcGxheWVyIl0nOiJwYyIsJ3NjcmlwdFtuYW1lPSJkZXNrdG9wX3BvbHltZXIvZGVza3RvcF9wb2x5bWVyIl0nOiJkcGoiLCdsaW5rW3JlbD0iaW1wb3J0Il1bbmFtZT0iZGVza3RvcF9wb2x5bWVyIl0nOiJkcGgiLCdzY3JpcHRbbmFtZT0ibW9iaWxlLWMzIl0nOiJtY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1jMyJdJzoibWNjIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXBob25lL2Jhc2UiXSc6Im1jcHBqIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXRhYmxldC9iYXNlIl0nOiJtY3B0aiIsCidsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX2NzcyJdJzoibWJjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX2luX3VzZXJzX21vZCJdJzoibWJsaXVqIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX291dF91c2Vyc19tb2QiXSc6Im1ibG91aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX25vbmNvcmVfbW9kIl0nOiJtYm5qIiwiI3BsYXllcl9jc3MiOiJtYnBjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfZGVza3RvcHBsYXllcl9tb2QiXSc6Im1icGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZV9ibGF6ZXJfdGFibGV0X2NzcyJdJzoibWJ0YyIsCidzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSxabmk9KDAsZy5LdCkoVUguY2xlYXJSZXNvdXJjZVRpbWluZ3N8fFVILndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzfHxVSC5tb3pDbGVhclJlc291cmNlVGltaW5nc3x8VUgubXNDbGVhclJlc291cmNlVGltaW5nc3x8VUgub0NsZWFyUmVzb3VyY2VUaW1pbmdzfHxnLkZULFVIKTt2YXIgVUM9d2luZG93O1VDLnl0Y3NpJiYoVUMueXRjc2kuaW5mb0dlbD1nLm5sLFVDLnl0Y3NpLnRpY2s9Zy5hTCk7dmFyIG85aj1bInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuQnJvd3NlUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBsYXllclJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QYW5lbFJlc3BvbnNlIl0sWDc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLmo9bjt0aGlzLnlHPVc7dGhpcy5XPUQ7dGhpcy5YPWI7dGhpcy5KPXY7dGhpcy5OPW5ldyBNYXA7bi53ZHx8KG4ud2Q9e30pO24ud2Q9ey4uLmdnMSwuLi5uLndkfX19O3ZhciBhOD1uZXcgZy5BTCgiSU5ORVJUVUJFX1RSQU5TUE9SVF9UT0tFTiIpLFZXPW5ldyBnLkFMKCJSRVNQT05TRV9QUk9DRVNTT1JfTUFQX1RPS0VOIik7dmFyIE1hPW5ldyBnLkFMKCJFTkRQT0lOVF9NQVAiKTt2YXIgeVg9Y2xhc3N7fTt2YXIgTnI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPSJwZW5kaW5nIjt0aGlzLko9W107dGhpcy5XPVtdO3RyeXtuKHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpfWNhdGNoKFcpe3RoaXMucmVqZWN0KFcpfX1zdGF0ZSgpe3JldHVybiB0aGlzLk49PT0iZnVsZmlsbGVkIj97c3RhdGU6ImZ1bGZpbGxlZCIsdmFsdWU6dGhpcy5yZXN1bHR9OnRoaXMuTj09PSJyZWplY3RlZCI/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fVgobil7WW8obil8fFlEKG4pP1NrKEhQKG4pLHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLk49ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9bixtRSh0aGlzKSl9cmVqZWN0KG4pe3RoaXMuTj0icmVqZWN0ZWQiO3RoaXMuZXJyb3I9bjttRSh0aGlzKX19LFlEPXEzKG49PmtDeChuKT9uIGluc3RhbmNlb2YgTnI6ITEpO3ZhciBjZT1uZXcgZy5BTCgiQVVUSF9TRVJWSUNFX1RPS0VOIik7dmFyIHVkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIEQ9bi55dFJlcXVlc3Q7Zy5SVShELmlucHV0KTt2YXIgYj1ELlBpPy5tb2RlPT09ImNvcnMiPyJjb3JzIjp2b2lkIDA7aWYoVy5OLnNCKXt2YXIgdj1ELmNvbmZpZzt2PVcuTi5haih2Py5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6dj8uQkc/LnNlc3Npb25JbmRleH0pO2I9ey4uLmtWKGIpLC4uLnZ9fWVsc2UgYj15aWVsZCpQUChNRXcoVyxELmNvbmZpZyxiKSk7RC5QaT17Li4uRC5QaSxoZWFkZXJzOnsuLi4oRC5QaT8uaGVhZGVycz8/e30pLC4uLmJ9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczpufX0oKX0pfX07CnVkW2cuTFhdPVtjZV07dmFyIGFqPW5ldyBnLkFMKCJSRVNQT05TRV9NQUNISU5FX1JFR0lTVFJZX1RPS0VOIiksblI9bmV3IGcuQUwoIlJFU1BPTlNFX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpO3ZhciBCZT1uZXcgZy5BTCgiRVBIRU1FUkFMX1NUT1JFX1RPS0VOIik7dmFyIG9qPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuTj1uO3RoaXMuSj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5KLEQ9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9Yi5jb25maWc/LkhuPy5STDtpZih2JiZXJiZXLmhhcyh2KSYmIWIuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz15aWVsZCpQUChIUChXLmdldCh2KSkpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGcubCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFrLmlzUHJvY2Vzc2VkKCk/KGs9RCgpLGI9eWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOmIseXRSZXF1ZXN0Om4ueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmJ9KSksCnlpZWxkKlBQKEhQKHRlKFcsdikpKSx7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpifSk6e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Yn19cmV0dXJue25leHRTdGF0ZToiTE9DQUxfUk9VVEVSIixwYXJhbXM6bn19KCl9KX19OwpvaltnLkxYXT1bblIsZy5ocChCZSldO3ZhciBkXz1jbGFzcyBleHRlbmRzIHlYe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLko9bjt0aGlzLk49V31leGVjdXRlKG4pe3ZhciBXPXRoaXMuSixEPXRoaXMuTixiPW4ueXRSZXF1ZXN0LHY9Yj8uaW5uZXJUdWJlUmVxdWVzdD8uY29udGV4dDtpZighdilyZXR1cm4gSFAoe25leHRTdGF0ZToiQVVUSCIscGFyYW1zOm59KTt2YXIgaz1bXTtpZihEJiZELmxlbmd0aD4wKWZvcihsZXQgaCBvZiBEKUQ9aC5CcyhiKSxELk4mJmsucHVzaChELk4pO2ZvcihsZXQgaCBvZiBXfHxbXSloLkJzKHYpO3JldHVybiBrLmxlbmd0aD4wP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7eWllbGQqUFAoSFAoUHJvbWlzZS5hbGwoaykpKTtyZXR1cm57bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6bn19KCl9KTpIUCh7bmV4dFN0YXRlOiJBVVRIIiwKcGFyYW1zOm59KX19O2RfW2cuTFhdPVtnLmhwKG5ldyBnLkFMKCJDT05URVhUX1BST0NFU1NPUl9NQVAiKSksZy5ocChuZXcgZy5BTCgiQVNZTkNfQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpXTt2YXIgelc9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuTj1ufWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBEPW4ueXRSZXF1ZXN0LmNvbmZpZz8ucmVxdWVzdEtleTtyZXR1cm4gRCYmVy5oYXMoRCkmJihEPVcuZ2V0KEQpLEQ9eWllbGQqUFAoSFAoRCkpKT97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpEfTp7bmV4dFN0YXRlOiJGRVRDSCIscGFyYW1zOm59fSgpfSl9fTsKeldbZy5MWF09W2lkXTt2YXIgR3h0PW5ldyBnLkFMKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIGxkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuSj1uO3RoaXMuTj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OLEQ9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9bi5jaHVua0NhbGxiYWNrLGs9e3R5cGU6IlBBR0VfQ09OVFJBQ1QifTtpZihXPy5yNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpe2xldCB4PXlpZWxkKlBQKEhQKFcuWVIoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpKSk7aWYoeCl7bGV0IEw9ITE7dmFyIGg9ZnVuY3Rpb24oZSxHKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHI9RCgpO3lpZWxkKlBQKHlxKHIse3dpcmVSZXNwb25zZTpHLHl0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6dixyZXNwb25zZVBheWxvYWQ6a30pKTtMPSEwfSgpfTsKeC5wbGF5ZXJSZXNwb25zZSYmKHlpZWxkKmgoeC5wbGF5ZXJSZXNwb25zZSx7cGxheWVyUmVzcG9uc2U6eC5wbGF5ZXJSZXNwb25zZX0pKTt4LndhdGNoTmV4dFJlc3BvbnNlJiYoeWllbGQqaCh4LndhdGNoTmV4dFJlc3BvbnNlLHt3YXRjaE5leHRSZXNwb25zZTp4LndhdGNoTmV4dFJlc3BvbnNlfSkpO0x8fChoPUQoKSx5aWVsZCpQUCh5cShoLHt3aXJlUmVzcG9uc2U6eCx5dFJlcXVlc3Q6YixjaHVua0NhbGxiYWNrOnYscmVzcG9uc2VQYXlsb2FkOmt9KSkpO2lmKHYpcmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6a307aD1rLmNvbnRlbnR8fGsucGxheWVyfHxrLnlCO3JldHVybiBrLnR5cGU9PT0iUEFHRV9DT05UUkFDVCImJmg/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aH06e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6eH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkZhbGxiYWNrTm9kZSBmYWlsZWQgdG8gcHJvZHVjZSBhIHZhbGlkIHJlc3BvbnNlIil9fSgpfSl9fTsKbGRbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIEVDPWNsYXNzIGV4dGVuZHMgZy5ReHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoVyx7c3RhdHVzOkQsLi4uW119KTt0aGlzLnR5cGU9bjt0aGlzLnN0YXR1cz1EO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBsQj1uZXcgZy5BTCgiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFRXPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXLEQsYil7c3VwZXIoKTt0aGlzLnlHPW47dGhpcy5OPVc7dGhpcy5XPUQ7dGhpcy5KPWJ9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLnlHLEQ9dGhpcy5OLGI9dGhpcy5XLHY9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBrPW4ueXRSZXF1ZXN0LGg9bi5jaHVua0NhbGxiYWNrLHg9ay5jb25maWc/LnJlcXVlc3RLZXksTD1KU09OLnN0cmluZ2lmeShrLmlubmVyVHViZVJlcXVlc3QpLGU9ey4uLmsuUGksYm9keTprLlBpLm1ldGhvZD09PSJQT1NUIj9MOnZvaWQgMH07ay5jb25maWc/LkxhJiZnLmFMKGsuY29uZmlnLkxhKTt2YXIgRz17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHI9MCxOPXk9PntFbyhiKCkse3dpcmVSZXNwb25zZTp5LHl0UmVxdWVzdDprLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6R30scisrKX07Ckw9KCk9Pmg/Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcsTik6Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcpOwp0cnl7dmFyIEg9dj92LlFOKGssTCk6TCgpfWNhdGNoKHkpe0g9UHJvbWlzZS5yZWplY3QoeSl9eCYmRCYmRC5zZXQoeCxIKTt0cnl7dmFyIEE9eWllbGQqUFAoSFAoSCkpfWNhdGNoKHkpe3JldHVybiBnLmwoIndlYl9lbmFibGVfcmV0cmllcyIpJiYoQT15IGluc3RhbmNlb2YgVHlwZUVycm9yJiZ5Lm1lc3NhZ2U9PT0iRmFpbGVkIHRvIGZldGNoIj8xOjAsVW8oQSkpP3tuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLm4sZXJyb3I6bmV3IEVDKEEseS5tZXNzYWdlKSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTp7bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX19eCYmRCYmRC5kZWxldGUoeCk7ZWsoeEQoay5pbnB1dCkpKCk7ay5jb25maWc/LlJWJiZnLmFMKGsuY29uZmlnLlJWKTtpZighQSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX07aWYoQSYmdHlwZW9mIEE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoQSkmJih4PUEseC5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJgooeD14LmVycm9yTWV0YWRhdGEuc3RhdHVzLEg9eD09PTUwM3x8eD09PTUwNHx8eD09PTQyOT8yOng+PTQwMCYmeDw1MDB8fHg+PTUwMD8zOjAsVW8oSCkmJmcubCgid2ViX2VuYWJsZV9yZXRyaWVzIikpKSlyZXR1cm57bmV4dFN0YXRlOiJSRVRSWSIscGFyYW1zOnsuLi5uLGVycm9yOm5ldyBFQyhILGBIVFRQIFN0YXR1cyAke3h9YCx4KSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTshaCYmQSYmKHg9YigpLHg9eWllbGQqUFAoRW8oeCx7d2lyZVJlc3BvbnNlOkEseXRSZXF1ZXN0OmsscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn19KSksSD14LmNvbnRlbnR8fHgucGxheWVyfHx4LnlCLHgudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmSCYmKEE9SCkpO3g9QTtpZihBcnJheS5pc0FycmF5KEEpKWlmKEE9QS5maWx0ZXIoeT0+ISh5LnBsYXllclJlc3BvbnNlfHx5LndhdGNoTmV4dFJlc3BvbnNlfHx5KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLEEubGVuZ3RoPT09CjEpeD1BWzBdOwplbHNlIGlmKEEubGVuZ3RoPjEpeD1BLmZpbmQoeT0+eS53YXRjaE5leHRSZXNwb25zZSl8fEFbMF07CmVsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmV0Y2hOb2RlIHByb2R1Y2VkIG9ubHkgZnJhbWV3b3JrLW9ubHkgcmVzcG9uc2VzIil9O3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmgmJiFnLmwoIndlYl9ubV9mZXRjaF9jaHVua19jYWxsYmFja19rcyIpP0c6eH19KCl9KX19OwpUV1tnLkxYXT1bbEIsaWQsblIsZy5ocChuZXcgZy5BTCgiUkVRVUVTVF9TRVFVRU5DSU5HIikpXTt2YXIgams9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKCk7dGhpcy5KPW47dGhpcy5OPVd9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLk4sRD10aGlzLkosYj1uLnl0UmVxdWVzdDtyZXR1cm4gVz8uckEoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHY9eWllbGQqUFAoSFAoVy5zNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpKTt2YXIgaz1EKCk7di5wbGF5ZXJSZXNwb25zZSYmdi53YXRjaE5leHRSZXNwb25zZT8oeWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTp2LnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6bi55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazpuLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6di5wbGF5ZXJSZXNwb25zZX0pKSxrPXlpZWxkKlBQKHlxKGssCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOnYud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2LndhdGNoTmV4dFJlc3BvbnNlfSkpKTprPXlpZWxkKlBQKHlxKGsse3dpcmVSZXNwb25zZTp2LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2fSkpO3ZhciBoPWsuY29udGVudHx8ay5wbGF5ZXJ8fGsueUI7ay50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZoJiYodj1oKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTp2fX0oKX0pOkhQKHtuZXh0U3RhdGU6IkNPTlRFWFQiLApwYXJhbXM6bn0pfX07amtbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIENsPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dHJ5e3ZhciBEPXlpZWxkKlBQKFZFMihXLG4uY29tbWFuZCwhIW4uY2h1bmtDYWxsYmFjaykpfWNhdGNoKGIpe3JldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6Yn19cmV0dXJuKEQ9RC5EKG4uY29tbWFuZCxuLmZvcm0sbi5pZGVudGl0eSkpP3tuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDpELGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrfX06e25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmFpbGVkIHRvIGJ1aWxkIHJlcXVlc3QgZm9yIGNvbW1hbmQiKX19KCl9KX19OwpDbFtnLkxYXT1bTWFdO3ZhciBCUD1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OlcsYXBpUGF0aDpELGNsaWNrVHJhY2tpbmdQYXJhbXM6Yixjb25maWc6dj17Qkc6e2lkZW50aXR5OnU5fX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTprPSEwLGNodW5rQ2FsbGJhY2s6aH09bjtXLmNvbnRleHR8fChXLmNvbnRleHQ9Zy52YihiLGspKTt2YXIgeD1acihLJChEKSk7cmV0dXJue25leHRTdGF0ZToiQ0FDSEUiLHBhcmFtczp7eXRSZXF1ZXN0OntpbnB1dDp4LFBpOlV6KHgpLGlubmVyVHViZVJlcXVlc3Q6Vyxjb25maWc6dn0sY2h1bmtDYWxsYmFjazpofX19KCl9KX19O3ZhciB0NE09Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50ZT1ufXJ1bihuLFcpe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBiPW4sdj1XLGs9W107Oyl7ay5wdXNoKFN0cmluZyhiKSk7dj15aWVsZCpQUChELnRlW2JdLmV4ZWN1dGUodikpO2lmKHYubmV4dFN0YXRlPT09IkRPTkUiKXJldHVybiBrLnB1c2goIkRPTkUiKSx2LnZhbHVlO2lmKHYubmV4dFN0YXRlPT09IkZBSUxFRCIpdGhyb3cgay5wdXNoKGBGQUlMRUQoJHt2LmVycm9yLm1lc3NhZ2V8fCJlcnJvciJ9KWApLHYuZXJyb3I7Yj12Lm5leHRTdGF0ZTt2PXYucGFyYW1zfX0oKX0pfX07Zy5Ncj1jbGFzcyBleHRlbmRzIHQ0TXt9O2cuTXIucHJvdG90eXBlLkQ9V1ooMSk7Zy5NcltnLkxYXT1bd19dO3ZhciBGNz1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIFc9bi55dFJlcXVlc3QsRD1uLmVycm9yLGI9bi5hdHRlbXB0LHY9bi5jaHVua0NhbGxiYWNrLGs9Vy5jb25maWc/Llh4O2lmKCEoayYmRCBpbnN0YW5jZW9mIEVDJiZVbyhELnR5cGUpKXx8Yj4oay5tYXhSZXRyaWVzPz8wKSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnt5dFJlcXVlc3Q6VyxjaHVua0NhbGxiYWNrOnZ9fTt2YXIgaD0oRD1rLmtVKT9ELlBaKGIpOi0xO2g9PT0tMSYmKGg9MUUzKTtrLlQ2IT09dm9pZCAwJiYoaD1NYXRoLm1pbihoLGsuVDYpKTt5aWVsZCpQUChIUChuZXcgUHJvbWlzZSh4PT57Zy5WeCgwLHgsNCxoKX0pKSk7CnJldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpXLGNodW5rQ2FsbGJhY2s6dixhdHRlbXB0OmJ9fX0oKX0pfX07dmFyIFJqPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLmNodW5rQ2FsbGJhY2ssRD1uLnJlc3BvbnNlUGF5bG9hZCxiPW4ud2lyZVJlc3BvbnNlO1cmJihXKEQpLCJwbGF5ZXJSZXNwb25zZSJpbiBiJiZiLnBsYXllclJlc3BvbnNlJiYoZy5EeSgpLGJRKDQpKSk7cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6RH19KCl9KX19O3ZhciAkejI9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLFFxPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLm9uZVBsYXRmb3JtRXJyb3I7aWYoVyYmImRldGFpbHMiaW4gVyYmVy5kZXRhaWxzKXtXPVcuZGV0YWlscztmb3IobGV0IEQgb2YgVylpZigoVz1EWyJAdHlwZSJdKSYmJHoyLmluZGV4T2YoVyk+LTEpcmV0dXJuIGRlbGV0ZSBEWyJAdHlwZSJdLHtuZXh0U3RhdGU6IlBST0NFU1NfUkVTUE9OU0UiLApwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkVycm9yIHJlc3BvbnNlIGNvdWxkIG5vdCBiZSB1bnBhY2tlZCIpfX0oKX0pfX07dmFyIFZxPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3ZhciBXPXRoaXMuTjtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgRD1uLmV4dHJhY3RlZFJlc3BvbnNlLGI9bi55dFJlcXVlc3Qsdj1uLnJlc3BvbnNlUGF5bG9hZCxrPW4ud2lyZVJlc3BvbnNlO2lmKEQmJiEoImNvZGUiaW4gRHx8ImVycm9yImluIEQpJiYhRC5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2Ygc28pV1toXSYmV1toXS5oYW5kbGVSZXNwb25zZShELGIpO2sud2F0Y2hOZXh0UmVzcG9uc2V8fGsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2sud2F0Y2hOZXh0UmVzcG9uc2U/di5jb250ZW50PWsud2F0Y2hOZXh0UmVzcG9uc2U6di5jb250ZW50PWsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2U/di5wbGF5ZXI9ay5wbGF5ZXJSZXNwb25zZTprLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CnYueUI9ay5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOnYuY29udGVudD1rO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczpufX0oKX0pfX07ClZxW2cuTFhdPVtWV107dmFyIFdHPWNsYXNzIGV4dGVuZHMgdDRNe307V0dbZy5MWF09W2FqXTt2YXIgY1A9Y2xhc3MgZXh0ZW5kcyB5WHtleGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBXPW4ud2lyZVJlc3BvbnNlLEQ7QXJyYXkuaXNBcnJheShXKT9EPVdbMF06dHlwZW9mIFc9PT0ib2JqZWN0IiYmVyE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gV3x8IndhdGNoTmV4dFJlc3BvbnNlImluIFd8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gV3x8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gVyk/RD1XLnBsYXllclJlc3BvbnNlfHxXLndhdGNoTmV4dFJlc3BvbnNlfHxXLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Vy5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOkQ9VztyZXR1cm4gRCYmImVycm9yImluIEQ/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4ubixvbmVQbGF0Zm9ybUVycm9yOkQuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fSgpfSl9fTt2YXIgUEd4PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBDOGJ9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixMdTEpfHx2b2lkIDB9SihuLFcsRD17fSl7Vy5jaGFubmVsSWRzJiYobi5jaGFubmVsSWRzPVcuY2hhbm5lbElkcyk7Vy5zaWxvTmFtZSYmKG4uc2lsb05hbWU9Vy5zaWxvTmFtZSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7RC5ib3RndWFyZFJlc3BvbnNlJiYobi5ib3RndWFyZFJlc3BvbnNlPUQuYm90Z3VhcmRSZXNwb25zZSk7RC5mZWF0dXJlJiYobi5jbGllbnRGZWF0dXJlPUQuZmVhdHVyZSl9fTt2YXIgWmh0PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBCeWl9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixoblUpfHx2b2lkIDB9SihuLFcpe1cuY2hhbm5lbElkcyYmKG4uY2hhbm5lbElkcz1XLmNoYW5uZWxJZHMpO1cuc2lsb05hbWUmJihuLnNpbG9OYW1lPVcuc2lsb05hbWUpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpfX07dmFyIFI4PWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNKPW59Vygpe3JldHVybiBkJFN9TihuKXtyZXR1cm4gZy53KG4sdXhDKXx8Zy53KG4sb05pKXx8Zy53KG4saXpTKX1KKG4sVyl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO1cuY2xpZW50UGFyYW1JZGVudGlmaWVyJiZ0aGlzLmNKPy5OKFcuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKG4uY2xpZW50UGFyYW1zPXRoaXMuY0ouSihXLmNsaWVudFBhcmFtSWRlbnRpZmllcikpfX07UjhbZy5MWF09W25ldyBnLkFMKCJTSEFSRV9DTElFTlRfUEFSQU1TX1BST1ZJREVSX1RPS0VOIildO3ZhciBtZlM9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGxPTX1nZXQgaigpe3JldHVybiEwfU4obil7cmV0dXJuIGcudyhuLFNZdyl8fHZvaWQgMH1KKG4sVyxEKXtuLmZlZWRiYWNrVG9rZW5zPVtdO1cuZmVlZGJhY2tUb2tlbiYmbi5mZWVkYmFja1Rva2Vucy5wdXNoKFcuZmVlZGJhY2tUb2tlbik7aWYoVz1XLmNwbnx8RC5jcG4pbi5mZWVkYmFja0NvbnRleHQ9e2NwbjpXfTtuLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPSEhRC5pc19mZWVkYmFja190b2tlbl91bmVuY3J5cHRlZDtuLnNob3VsZE1lcmdlPSExO0QuZXh0cmFfZmVlZGJhY2tfdG9rZW5zJiYobi5zaG91bGRNZXJnZT0hMCxuLmZlZWRiYWNrVG9rZW5zPW4uZmVlZGJhY2tUb2tlbnMuY29uY2F0KEQuZXh0cmFfZmVlZGJhY2tfdG9rZW5zKSl9fTt2YXIgSzRpPWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBUeXd9TihuKXtyZXR1cm4gZy53KG4sa2l3KXx8dm9pZCAwfUoobixXKXtXLnBhcmFtcyYmKG4ucGFyYW1zPVcucGFyYW1zKTtXLnNlY29uZGFyeVBhcmFtcyYmKG4uc2Vjb25kYXJ5UGFyYW1zPVcuc2Vjb25kYXJ5UGFyYW1zKX19O3ZhciBPaHI9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGpkeH1OKG4pe3JldHVybiBnLncobixuWEMpfHx2b2lkIDB9SihuLFcpe1cuYWN0aW9ucyYmKG4uYWN0aW9ucz1XLmFjdGlvbnMpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpO1cucGxheWxpc3RJZCYmKG4ucGxheWxpc3RJZD1XLnBsYXlsaXN0SWQpfX07dmFyIFVmWj1jbGFzcyBleHRlbmRzIFBDe1coKXtyZXR1cm4gem50fU4obil7cmV0dXJuIGcudyhuLGRJeCl9SihuLFcsRD17fSl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO0QuaW5jbHVkZUxpc3RJZCYmKG4uaW5jbHVkZUxpc3RJZD0hMCl9fTt2YXIgUVc9bmV3IGcuQUwoIlJFU09MVkVfVVJMX1BSRUZFVENIX1RPS0VOIik7dmFyIGpZPW5ldyBnLkFMKCJDTElFTlRfTkFNRV9UT0tFTiIpO3ZhciBDZj1uZXcgZy5BTCgiREVGQVVMVF9TVE9SRV9FWFBJUkFUSU9OX1RPS0VOIik7dmFyIHJaaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuY2xpZW50TmFtZT1uO3RoaXMuSj1XfWFzeW5jIHB1dChuLFcpe1c9ey4uLlcuZGF0YX07Vy5rZXk9bjtXLmNsaWVudE5hbWU9dGhpcy5jbGllbnROYW1lO1cuZXhwaXJlVGltZXN0YW1wTXM9PT12b2lkIDAmJihXLmV4cGlyZVRpbWVzdGFtcE1zPShNYXRoLnJvdW5kKCgwLGcuUikoKSkrdGhpcy5KKS50b1N0cmluZygpKTtyZXR1cm4gRHcodGhpcyxuLFcpfX07clpoW2cuTFhdPVtqWSxDZl07dmFyIGJoPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuZGF0YT17Li4ubn07ZGVsZXRlIHRoaXMuZGF0YS5pbm5lcnR1YmVSZXNwb25zZT8uZnJhbWV3b3JrVXBkYXRlc31pc0V4cGlyZWQoKXtyZXR1cm4gTnVtYmVyKHRoaXMuZGF0YS5leHBpcmVUaW1lc3RhbXBNc3x8MCk8KDAsZy5SKSgpfWlzUHJvY2Vzc2VkKCl7cmV0dXJuISF0aGlzLmRhdGEuaXNQcm9jZXNzZWR9fTt2YXIgQTNqPWNsYXNzIGV4dGVuZHMgclpoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLk49bmV3IE1hcH1hc3luYyBnZXQobil7cmV0dXJuIHZHKHRoaXMsbil9YXN5bmMgcmVtb3ZlKG4pe2tNKHRoaXMsbil9YXN5bmMgVGkoKXt0aGlzLk4uZm9yRWFjaChuPT57Y2xlYXJUaW1lb3V0KG4udGltZXIpfSk7CnRoaXMuTi5jbGVhcigpfWhhcyhuKXtyZXR1cm4hIXRoaXMuTi5nZXQobil9dUIoKXtyZXR1cm4gdGhpcy5OLmtleXMoKX19O3ZhciBzb2I9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIHN2Mn1OKG4pe3JldHVybiBnLncobixUZSl9SihuLFcpe1cudmlkZW9JZCYmKG4ucGxheWVyUmVxdWVzdD17dmlkZW9JZDpXLnZpZGVvSWR9LFcucGxheWVyUGFyYW1zJiYobi5wbGF5ZXJSZXF1ZXN0LnBhcmFtcz1XLnBsYXllclBhcmFtcyksVy5yYWN5Q2hlY2tPayYmKG4ucGxheWVyUmVxdWVzdC5yYWN5Q2hlY2tPaz0hIVcucmFjeUNoZWNrT2spLFcuY29udGVudENoZWNrT2smJihuLnBsYXllclJlcXVlc3QuY29udGVudENoZWNrT2s9ISFXLmNvbnRlbnRDaGVja09rKSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7Vy5pbnB1dFR5cGUmJihuLmlucHV0VHlwZT1XLmlucHV0VHlwZSk7bi5kaXNhYmxlUGxheWVyUmVzcG9uc2U9ITB9VihuKXt2YXIgVzsobj10aGlzLlgobikpJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3JlZWxzX3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InJfd3JzIixXLlJWPSJyX3dyciIpOwpyZXR1cm4gV31YKG4pe249dGhpcy5OKG4pO2lmKG4/LnZpZGVvSWQpe3ZhciBXPXt2aWRlb0lkOm4udmlkZW9JZH07bi5wYXJhbXMmJihXLnBhcmFtcz1uLnBhcmFtcyk7cmV0dXJuIHlIKCJyZWVsX2l0ZW1fd2F0Y2giLFcpfX19O3ZhciBOdE09bmV3IGcuQUwoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBZa1M9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj1wRmksVz1xTihVeGooKSk7dGhpcy5zdG9yZT0kZihuLHZvaWQgMCxXKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2gobil7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2gobil9c3Vic2NyaWJlKG4pe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShuKX1yZXBsYWNlUmVkdWNlcihuKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihuKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgUzU9Y2xhc3N7Y29uc3RydWN0b3Iobj1bXSl7dGhpcy5OPVtdO3RoaXMuVz10aGlzLko9MDt0aGlzLlg9dm9pZCAwO3RoaXMudG90YWxMZW5ndGg9MDtuLmZvckVhY2goVz0+e3RoaXMuYXBwZW5kKFcpfSl9aigpe3JldHVybiB0aGlzLnRvdGFsTGVuZ3RofWFwcGVuZChuKXtpZih4TSh0aGlzLG4pKXtsZXQgVz10aGlzLk5bdGhpcy5OLmxlbmd0aC0xXTsKdGhpcy5OW3RoaXMuTi5sZW5ndGgtMV09bmV3IFVpbnQ4QXJyYXkoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoK24ubGVuZ3RoKTtMUih0aGlzKX1lbHNlIHRoaXMuTi5wdXNoKG4pO3RoaXMudG90YWxMZW5ndGgrPW4ubGVuZ3RofXNwbGl0KG4pe3ZhciBXPW5ldyBTNSxEPW5ldyBTNTtmb3IobGV0IGIgb2YgdGhpcy5OKW4+PWIubGVuZ3RoPyhXLmFwcGVuZChiKSxuLT1iLmxlbmd0aCk6bj8oVy5hcHBlbmQobmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0LG4pKSxELmFwcGVuZChuZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQrbixiLmxlbmd0aC1uKSksbj0wKTpELmFwcGVuZChiKTtyZXR1cm57Q3M6VyxZOTpEfX1pc0ZvY3VzZWQobil7cmV0dXJuIG4+PXRoaXMuVyYmbjx0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RofWZvY3VzKG4pe2lmKCF0aGlzLmlzRm9jdXNlZChuKSl7Zm9yKG48dGhpcy5XJiZMUih0aGlzKTt0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RoPD0KbiYmdGhpcy5KPHRoaXMuTi5sZW5ndGg7KXRoaXMuVys9dGhpcy5OW3RoaXMuSl0ubGVuZ3RoLHRoaXMuSis9MTt0aGlzLlg9dm9pZCAwfX19O3ZhciBZTSxORCxmUjtnLk5tPSgoKT0+e3ZhciBuPWI9Pm5ldyBVaW50OEFycmF5KGIpLFc9Yj0+e3ZhciB2PW5ldyBVaW50OEFycmF5KGIubGVuZ3RoKTsKZm9yKGxldCBrPTA7azxiLmxlbmd0aDtrKyspdltrXT1iW2tdO3JldHVybiB2fSxEPW5ldyBVaW50OEFycmF5KFsxXSk7CnJldHVybiBELmxlbmd0aD09PTEmJkRbMF09PT0xP246V30pKCk7CllNPUFycmF5KDEwMjQpO05EPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7ZlI9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDt2YXIgQVI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW47dGhpcy5wb3M9MDt0aGlzLko9LTF9fTt2YXIgejY9Y2xhc3N7Y29uc3RydWN0b3Iobj00MDk2KXt0aGlzLldWPXZvaWQgMDt0aGlzLnBvcz0wO3RoaXMuSj1bXTt0aGlzLk49ZGQobik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLk4uYnVmZmVyLHRoaXMuTi5ieXRlT2Zmc2V0LHRoaXMuTi5ieXRlTGVuZ3RoKX19O3ZhciBhdz17YW5pbWF0aW9uRW50aXR5OjMwMixhY2NvdW50TGlua1N0YXR1c0VudGl0eToxMjIsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTo2MzAsYm9vbGVhbkVudGl0eTozMDcsYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTo2MzcsYnV0dG9uRW50aXR5OjM1OCxjYXB0aW9uVHJhY2s6MjI1LGNoYW5uZWxIYW5kbGU6Mjc1LGNoaXBFbnRpdHk6NDk4LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OjI3Nixjb21tZXJjZUNhcnRMaXN0RW50aXR5OjIzNixjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTo1MzIsY29tcG9zaXRlU291cmNlRW50aXR5OjU5NCxjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOjQ4Myxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOjU3Nixjb250aW51YXRpb25Ub2tlbkVudGl0eTo0MDYsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OjIwMixkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OjI5OSwKZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OjI2NCxkb3dubG9hZFN0YXR1c0VudGl0eToxNDEsZGlzbWlzc1N0YXRlOjU0MCxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OjE4NixlbW9qaUZvdW50YWluRGF0YUVudGl0eTozOTMsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OjQ5NixmYWtlQ2hhbm5lbDoyLGZha2VQbGF5bGlzdDoyNzksZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOjI4MCxmYWtlVmlkZW86MTgyLGZha2VWaWRlb0Rlc2NyaXB0aW9uOjI3OCxmZWF0dXJlZFByb2R1Y3RzRW50aXR5OjM5MixzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHk6NTk4LGZsb3dTdGF0ZUVudGl0eToyNTIsaWNvbkJhZGdlRW50aXR5OjIyOSxpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5OjQ0MyxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OjU2NyxsaXZlQ2hhdFBvbGxTdGF0ZUVudGl0eToyMTcsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTo1NjMsCmxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eTo1NjQsbGl2ZVJlYWN0aW9uc0RhdGFFbnRpdHk6NTAzLGxvZ29FbnRpdHk6MjQ1LG1hY3JvTWFya2VyRW50aXR5OjMyOSxtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eToxNTgsbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6MTY0LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6MzczLG1haW5QbGF5bGlzdEVudGl0eTozMDYsbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6MzY4LG1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6MjYyLG1haW5WaWRlb0VudGl0eToyNjEsbWFya2Vyc0VuZ2FnZW1lbnRQYW5lbFN5bmNFbnRpdHk6MTk2LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6MzEyLG11c2ljQWxidW1SZWxlYXNlRGV0YWlsOjE4LG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eToyNTksbXVzaWNBbGJ1bVJlbGVhc2U6MTcsbXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsOjE5LG11c2ljQXJ0aXN0RGV0YWlsOjIxLAptdXNpY0FydGlzdDoyMCxtdXNpY0FydGlzdFVzZXJEZXRhaWw6MjIsbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OjI1NyxtdXNpY0xpYnJhcnlFZGl0OjEyMSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6MzE4LG11c2ljUGxheWxpc3Q6MjQsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjQ4LG11c2ljU2hhcmU6MTAwLG11c2ljVHJhY2tEZXRhaWw6MjksbXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjM0LG11c2ljVHJhY2s6MjgsbXVzaWNUcmFja1VzZXJEZXRhaWw6MzAsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OjE2OSxvZmZsaW5lVmlkZW9Qb2xpY3k6MTMwLG9mZmxpbmVWaWRlb1N0cmVhbXM6MTk4LG9mZmxpbmVhYmlsaXR5RW50aXR5OjI0NixvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6MjQyLHBhZ2VIZWFkZXJFbnRpdHk6NDk1LHBhcnR5R2FtZVBhbmVsRW50aXR5OjYxOCxzbGlkZXJHYW1lUGFuZWxFbnRpdHk6NjMzLApwZHBTdGF0ZUVudGl0eTo1MjQscGlubmVkUHJvZHVjdEVudGl0eToyNzMscGxheWJhY2tEYXRhOjExOSxwbGF5ZXJTdGF0ZUVudGl0eTozMjMscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTo1MzkscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTozNTYscmVmcmVzaDoxNDgsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OjIzMSxzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6NDc5LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTo2MzQsc2V0dGluZ0VudGl0eToyOTcsc3RyaW5nRW50aXR5OjM4MixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTo0ODUsdHJhbnNmZXI6MTIwLHRyZW5kaW5nT2ZmZXJFbnRpdHk6NDY5LHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OjYzNSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTo0NjEsdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTo1NDUsdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5Ojc2LHZvdGluZ0VudGl0eTo1NjEsCnl0TWFpbkNoYW5uZWxFbnRpdHk6MTUyLHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6NTUzLHl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eToxNTUseXRNYWluVmlkZW9FbnRpdHk6MTUxfSxWQT17fTtmb3IobGV0IFtuLFddb2YgT2JqZWN0LmVudHJpZXMoYXcpKXtsZXQgRD1uLGI9VztiJiYoVkFbYl09RCl9O3ZhciB2ZTt2YXIgSDZ0PSExLGdOLGhFLHgkLExmLGVZLGZIYj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNvdW50ZXI9WzAsMCwwLDBdO3RoaXMuSj1uZXcgVWludDhBcnJheSgxNik7dGhpcy5OPTE2O2lmKCFINnQpe3ZhciBXLEQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxiPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIHY9MTtmb3IoVz0wO1c8MjU2O1crKylEW3ZdPVcsYltXXT12LHZePXY8PDFeKHY+PjcmJjI4Myk7Z049bmV3IFVpbnQ4QXJyYXkoMjU2KTtoRT1rJCgyNTYpO3gkPWskKDI1Nik7TGY9ayQoMjU2KTtlWT1rJCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7dj1oP2JbMjU1XkRbaF1dOjA7dl49djw8MV52PDwyXnY8PDNedjw8NDt2PXYmMjU1XnY+Pj44Xjk5O2dOW2hdPXY7Vz12PDwxXih2Pj43JiYyODMpO3ZhciBrPVdedjtoRVtoXT1XPDwyNHx2PDwxNnx2PDw4fGs7eCRbaF09azw8MjR8aEVbaF0+Pj44O0xmW2hdPXY8PDI0fHgkW2hdPj4+Cjg7ZVlbaF09djw8MjR8TGZbaF0+Pj44fUg2dD0hMH12PWskKDQ0KTtmb3IoRD0wO0Q8NDtEKyspdltEXT1uWzQqRF08PDI0fG5bNCpEKzFdPDwxNnxuWzQqRCsyXTw8OHxuWzQqRCszXTtmb3IoYj0xO0Q8NDQ7RCsrKW49dltELTFdLEQlNHx8KG49KGdOW24+PjE2JjI1NV1eYik8PDI0fGdOW24+PjgmMjU1XTw8MTZ8Z05bbiYyNTVdPDw4fGdOW24+Pj4yNF0sYj1iPDwxXihiPj43JiYyODMpKSx2W0RdPXZbRC00XV5uO3RoaXMua2V5PXZ9ZW5jcnlwdChuKXt2YXIgVz1uLmxlbmd0aDtuPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyLnNsaWNlKG4uYnl0ZU9mZnNldCxuLmJ5dGVPZmZzZXQrVykpO2Zvcih2YXIgRD10aGlzLkosYj0wO2I8VyYmdGhpcy5OPDE2OyluW2IrK11ePURbdGhpcy5OKytdO2Zvcih2YXIgdj1XLShXLWIpJTE2O2I8djspWDgodGhpcyksbltiKytdXj1EWzBdLG5bYisrXV49RFsxXSxuW2IrK11ePURbMl0sbltiKytdXj1EWzNdLG5bYisrXV49RFs0XSxuW2IrK11ePQpEWzVdLG5bYisrXV49RFs2XSxuW2IrK11ePURbN10sbltiKytdXj1EWzhdLG5bYisrXV49RFs5XSxuW2IrK11ePURbMTBdLG5bYisrXV49RFsxMV0sbltiKytdXj1EWzEyXSxuW2IrK11ePURbMTNdLG5bYisrXV49RFsxNF0sbltiKytdXj1EWzE1XTtpZihiPFcpZm9yKFg4KHRoaXMpLHRoaXMuTj0wO2I8VzspbltiKytdXj1EW3RoaXMuTisrXTtyZXR1cm4gbn19O3ZhciBxYT0hMTsoKCk9Pnt2YXIgbj1iPT5uZXcgVWludDhBcnJheShiKSxXPWI9Pnt2YXIgdj1uZXcgVWludDhBcnJheShiLmxlbmd0aCk7CmZvcihsZXQgaz0wO2s8Yi5sZW5ndGg7aysrKXZba109YltrXTtyZXR1cm4gdn0sRD1uZXcgVWludDhBcnJheShbMV0pOwpyZXR1cm4gRC5sZW5ndGg9PT0xJiZEWzBdPT09MT9uOld9KSgpOwp2YXIgR3I7dmFyIHVvPWNsYXNze2NvbnN0cnVjdG9yKG4pe3ZhciBXPXRFKCk7VyYmKHRoaXMuTj1uZXcgZFhNKG4sVykpO3RoaXMuSj1uZXcgYjEobil9YXN5bmMgZW5jcnlwdChuLFcpe2lmKHRoaXMuTil0cnl7cmV0dXJuIGF3YWl0IHRoaXMuTi5lbmNyeXB0KG4sVyl9Y2F0Y2goRCl7Zy5HcShEKSxxYT0hMCx0aGlzLk49dm9pZCAwfXJldHVybiB0aGlzLkouZW5jcnlwdChuLFcpfWRlY3J5cHQobixXKXtyZXR1cm4gdGhpcy5lbmNyeXB0KG4sVyl9fSxkWE09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLko9V31hc3luYyBlbmNyeXB0KG4sVyl7dHJ5e3JldHVybiBhd2FpdCBiaDEodGhpcyxuLFcpfWNhdGNoKEQpe3Rocm93IGcuR3EoRCkscWE9ITAsRDt9fX0sYjE9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW59ZW5jcnlwdChuLFcpe3RoaXMuTnx8KHRoaXMuTj1uZXcgZkhiKHRoaXMuSikpO3ZhciBEPXRoaXMuTjtmb3IobGV0IGI9MDtiPDQ7YisrKUQuY291bnRlcltiXT0KV1tiKjRdPDwyNHxXW2IqNCsxXTw8MTZ8V1tiKjQrMl08PDh8V1tiKjQrM107RC5OPTE2O3JldHVybiB0aGlzLk4uZW5jcnlwdChuKX1kZWNyeXB0KG4sVyl7cmV0dXJuIHRoaXMuZW5jcnlwdChuLFcpfX07dmFyIHZtaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLmo9bmV3IFVpbnQ4QXJyYXkoNjQpO3RoaXMuVz1uZXcgVWludDhBcnJheSg2NCk7dGhpcy5YPTA7dGhpcy5WPW5ldyBVaW50OEFycmF5KDY0KTt0aGlzLko9MDt0aGlzLmouc2V0KG4pO3RoaXMuVy5zZXQobik7Zm9yKG49MDtuPDY0O24rKyl0aGlzLmpbbl1ePTkyLHRoaXMuV1tuXV49NTQ7dGhpcy5yZXNldCgpfXJlc2V0KCl7JCQodGhpcyk7dGhpcy51cGRhdGUodGhpcy5XKX11cGRhdGUobil7dmFyIFc9MCxEPW4ubGVuZ3RoO3RoaXMuWCs9RDt0aGlzLkomJnRoaXMuSitEPj02NCYmKHRoaXMuVi5zZXQobi5zdWJhcnJheSgwLDY0LXRoaXMuSiksdGhpcy5KKSxXPTY0LXRoaXMuSix0aGlzLko9MCxzZSh0aGlzLHRoaXMuViwwKSk7Zm9yKDtXKzY0PD1EO1crPTY0KXNlKHRoaXMsbixXKTtXPEQmJihuPW4uc3ViYXJyYXkoVyksdGhpcy5WLnNldChuLHRoaXMuSiksdGhpcy5KKz1uLmxlbmd0aCl9fSxyTj1bMTExNjM1MjQwOCwKMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCwKNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO3ZhciBZJD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LGhhdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuVz1uO3RoaXMuSj1XfX0saksxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIEpacj17SU5WQUxJRF9FTkNPREVSX1ZFUlNJT046IkludmFsaWQgZW5jb2RlciB2ZXJzaW9uIixLRVlfQ1JFQVRJT05fRkFJTEVEOiJGYWlsZWQgdG8gY3JlYXRlIGVuY29kZXIga2V5IixVTktOT1dOX0RFQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGRlY29kZSBQRVMgZGF0YSIsVU5LTk9XTl9FTkNPREVfRVJST1I6IkZhaWxlZCB0byBlbmNvZGUgUEVTIGRhdGEiLFdST05HX0RBVEFfVFlQRToiRW5jb2RlciBjYW5ub3QgcHJvY2VzcyB0aGUgZGF0YSB0eXBlIn0sZmY9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sVz17fSl7c3VwZXIoSlpyW25dLHtuYW1lOiJQRVNFbmNvZGVyRXJyb3IiLHR5cGU6biwuLi5XfSk7dGhpcy50eXBlPW47dGhpcy5sZXZlbD0iV0FSTklORyI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsZmYucHJvdG90eXBlKX19O3ZhciBJSGk9Y2xhc3N7fTt2YXIgU2t0PWNsYXNzIGV4dGVuZHMgSUhpe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5OPW59VyhuLFcpe1c9STgoVyk7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiB0aGlzLk4uZW5jcnlwdChuLFcpfUoobixXKXtpZighKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgZmYoIldST05HX0RBVEFfVFlQRSIse09BOjF9KTt2YXIgRD1uZXcgVGV4dERlY29kZXI7Vz1JOChXKTtuPXRoaXMuTi5kZWNyeXB0KG4sVyk7cmV0dXJuIEpTT04ucGFyc2UoRC5kZWNvZGUobikpfX07dmFyIFh5VT17YW5pbWF0aW9uRW50aXR5OmVuaSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpta2gsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTp0UFUsYm9vbGVhbkVudGl0eTpyWXIsYnV0dG9uRW50aXR5OkhNdCxjYXB0aW9uVHJhY2s6bEoyLGNoYW5uZWxIYW5kbGU6a2pNLGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6SU93LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6R2oxLGNoaXBFbnRpdHk6Z1hVLGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OlNOeCxjb21tZXJjZUNhcnRMaXN0RW50aXR5OkFNeCxjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTptJFMsY29tcG9zaXRlU291cmNlRW50aXR5OiRJTSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OnJKYixjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOnhrdCxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOkx0dyxjb250aW51YXRpb25Ub2tlbkVudGl0eTp3d1MsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmlzWiwKZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpveGgsZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OkRJMSxkb3dubG9hZFN0YXR1c0VudGl0eTp1NXQsZGlzbWlzc1N0YXRlOlhSUyxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5Old1WixlbW9qaUZvdW50YWluRGF0YUVudGl0eTpyTTEsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OiQkMixmYWtlQ2hhbm5lbDpwd0MsZmFrZVBsYXlsaXN0OllZcixmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246Zl94LGZha2VWaWRlbzpKWWIsZmFrZVZpZGVvRGVzY3JpcHRpb246SV93LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6cXZDLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpYX1MsZmxvd1N0YXRlRW50aXR5OkFZeCxpY29uQmFkZ2VFbnRpdHk6S3VqLGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6T3NpLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Ynp0LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OlBMciwKZGF0YUZyZXNobmVzc0VudGl0eTp0R3QsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTpSTzEsbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OlE0cixsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpzZGksbG9nb0VudGl0eTpLdHgsbWFjcm9NYXJrZXJFbnRpdHk6dk50LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmRrdCxtYWluRG93bmxvYWRzTGlzdEVudGl0eTpsX1osbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpUQTEsbWFpblBsYXlsaXN0RW50aXR5Ok1QdyxtYWluUGxheWxpc3RWaWRlb0VudGl0eTpSNGksbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eTpqQmksbWFpblZpZGVvRW50aXR5OmFfaixtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTprUHIsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTpoT3QsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6ZkpVLG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eTpzNHQsCm11c2ljQWxidW1SZWxlYXNlOkh6aSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6SkoxLG11c2ljQXJ0aXN0RGV0YWlsOlN2WixtdXNpY0FydGlzdDpJSlUsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOkFKaSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6TmtTLG11c2ljTGlicmFyeUVkaXQ6bUliLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpLTXcsbXVzaWNQbGF5bGlzdDpQVHgsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6cF9yLG11c2ljU2hhcmU6WnppLG11c2ljVHJhY2tEZXRhaWw6eUpTLG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5Oll2dCxtdXNpY1RyYWNrOlVJWixtdXNpY1RyYWNrVXNlckRldGFpbDpFTngsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OlRrdyxvZmZsaW5lVmlkZW9Qb2xpY3k6ajRaLG9mZmxpbmVWaWRlb1N0cmVhbXM6Q1R3LG9mZmxpbmVhYmlsaXR5RW50aXR5OkNMaSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6QkFVLApwYWdlSGVhZGVyRW50aXR5OnFOWixwYXJ0eUdhbWVQYW5lbEVudGl0eTpwUnQsc2xpZGVyR2FtZVBhbmVsRW50aXR5Ok55MSxwZHBTdGF0ZUVudGl0eTpPTWoscGlubmVkUHJvZHVjdEVudGl0eTpHUE0scGxheWJhY2tEYXRhOkJrdyxwbGF5ZXJTdGF0ZUVudGl0eTp4SVoscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eToka2IscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpQOHcscmVmcmVzaDpGTXcsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OnZYaixzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6TE13LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTpzQngsc2V0dGluZ0VudGl0eTp4JFosc3RyaW5nRW50aXR5Ok5BMixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTplT3IsdHJhbnNmZXI6d19NLHRyZW5kaW5nT2ZmZXJFbnRpdHk6dHhqLHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OmZPMix2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpNeFMsCnZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6Wk1qLHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpKTTIsdm90aW5nRW50aXR5OkdpTSx5dE1haW5DaGFubmVsRW50aXR5Om5OMix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmdOcix5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6RnRoLHl0TWFpblZpZGVvRW50aXR5OldNWn07dmFyIE5Hdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuVz1XO3RoaXMuSj17fX19O3ZhciBBWlo9Y2xhc3MgZXh0ZW5kcyBJSGl7VyhuKXtyZXR1cm4gbn1KKG4pe2lmKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBmZigiV1JPTkdfREFUQV9UWVBFIix7T0E6MH0pO3JldHVybiBufX07dmFyIGY5aT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj17fTt0aGlzLk5bMF09bmV3IEFaWjtpZighZy5sKCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgbj10aGlzLk47dHJ5e2xldCBiPU0wKCk7dmFyIFc9STgoYik7dmFyIEQ9bmV3IFNrdChuZXcgYjEoVyksbmV3IHVvKFcpKX1jYXRjaChiKXt0aHJvdyBuPWIgaW5zdGFuY2VvZiBFcnJvcj9uZXcgZmYoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6Yi5tZXNzYWdlfSk6bmV3IGZmKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksZy5YaihuKSxuO31uWzFdPUR9fX07dmFyIEozaT1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudG9rZW49bjt0aGlzLk49Vzt0aGlzLm9ic2VydmVycz1bXTtuPW5ldyBnLnFpLkJyb2FkY2FzdENoYW5uZWwoYFBFUlNJU1RFTlRfRU5USVRZX1NUT1JFX1NZTkM6JHtNMCgpfWApO24ub25tZXNzYWdlPXRoaXMuSi5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1ufW9ic2VydmUobil7dGhpcy5vYnNlcnZlcnMucHVzaChuKTtyZXR1cm4oKT0+e3ZhciBXPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2Yobik7Vz49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKFcsMSl9fUoobil7UGUodGhpcyxuLmRhdGEpfW1BKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fSx0NTt2YXIgbXpiPWcud0QoKCk9PntpZih3aW5kb3cuTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkPT09ImZ1bmN0aW9uIilyZXR1cm4gd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjUxLjA4LjAxLjAxLjAxLjAxLjAwIicpO2lmKHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWFuYWdlZE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZD09PSJmdW5jdGlvbiIpcmV0dXJuIHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKCd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuNTEuMDguMDEuMDEuMDEuMDEuMDAiJyk7dmFyIG49Zy5ycigieXQud2ViLmNvbnRyaWIuaW5uZXJ0dWJlLnJlcXVlc3RzLndhdGNoX3VpLnV0aWxzLnZpZGVvRWxlbWVudF8iKTtufHwobj1nLnpGKCJWSURFTyIpLGcuR2IoInl0LndlYi5jb250cmliLmlubmVydHViZS5yZXF1ZXN0cy53YXRjaF91aS51dGlscy52aWRlb0VsZW1lbnRfIiwKbikpO3JldHVybiEhKG4mJm4uY2FuUGxheVR5cGUmJm4uY2FuUGxheVR5cGUoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MS4wOC4wMS4wMS4wMS4wMS4wMCInKSl9KTt2YXIgTnM9eVcoKT8hMDp0eXBlb2Ygd2luZG93LmZldGNoPT09ImZ1bmN0aW9uIiYmd2luZG93LlJlYWRhYmxlU3RyZWFtJiZ3aW5kb3cuQWJvcnRDb250cm9sbGVyJiYhZy5SZz8hMDohMTt2YXIgS0hTPWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3IoKXtzdXBlcigpfVcoKXtyZXR1cm4gcXlqfU4obil7cmV0dXJuIGcudyhuLGcuSVEpfHxnLncobixUZSl8fGcudyhuLFZ4Yil9Tygpe3JldHVybiEwfVgobil7aWYoKGcubCgia2V2bGFyX2NhY2hlX29uX3R0bF9wbGF5ZXIiKXx8Zy5sKCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaCIpfHxnLmwoIndlYl9zaG9ydHNfcHJlZmV0Y2hfc2VydmljZV9lbmFibGVkIil8fGcubCgiZW1iZWRzX2VuYWJsZV9wcmVmZXRjaF92aWFfcmVzb2x2ZV91cmwiKSkmJihuPXRoaXMuTihuKSkmJm4udmlkZW9JZCl7dmFyIFc9e3ZpZGVvSWQ6bi52aWRlb0lkfTtuLnBsYXlsaXN0SWQmJihXLnBsYXlsaXN0SWQ9bi5wbGF5bGlzdElkKTtuLnBsYXllclBhcmFtcyYmKFcucGFyYW1zPW4ucGxheWVyUGFyYW1zKTtyZXR1cm4geUgoInBsYXllciIsVyl9fUsobil7cmV0dXJuIG4uY29udGVudFBsYXliYWNrQ29udGV4dD8udmlzPT09CjI/IldBVENIX0ZVTExfU0NSRUVOIjoiV0FUQ0gifUoobixXLEQpe2lmKGcubCgiZW5hYmxlX2ludGVyc3RpdGlhbF9lbnRpdHlfY2hlY2siKSYmVy52aWRlb0lkKWZvcih2YXIgYiBvZlsiQ09OVEVOVF9DSEVDS19SRVFVSVJFRCIsIkFHRV9DSEVDS19SRVFVSVJFRCJdKTtXLnZpZGVvSWQmJihuLnZpZGVvSWQ9Vy52aWRlb0lkKTtXLnBsYXlsaXN0SWQmJihuLnBsYXlsaXN0SWQ9Vy5wbGF5bGlzdElkKTtXLmluZGV4IT09dm9pZCAwJiYobi5wbGF5bGlzdEluZGV4PVcuaW5kZXgrMSk7Vy5wbGF5ZXJQYXJhbXMmJihuLnBhcmFtcz1XLnBsYXllclBhcmFtcyk7InN0YXJ0VGltZVNlY29uZHMiaW4gVyYmVy5zdGFydFRpbWVTZWNvbmRzJiYoZy5sKCJlbmFibGVfcGxheWVyX3JlcXVlc3RfYnVpbGRlcl9zdGFydF90aW1lX2Zsb29yIik/bi5zdGFydFRpbWVTZWNzPU1hdGguZmxvb3IoVy5zdGFydFRpbWVTZWNvbmRzKTpuLnN0YXJ0VGltZVNlY3M9Vy5zdGFydFRpbWVTZWNvbmRzKTtELmNvbnRlbnRQbGF5YmFja0NvbnRleHQmJgoobi5wbGF5YmFja0NvbnRleHQ9e2NvbnRlbnRQbGF5YmFja0NvbnRleHQ6RC5jb250ZW50UGxheWJhY2tDb250ZXh0fSk7RC5wcmVmZXRjaFBsYXliYWNrQ29udGV4dCYmKG4ucGxheWJhY2tDb250ZXh0PXsuLi5uLnBsYXliYWNrQ29udGV4dCxwcmVmZXRjaFBsYXliYWNrQ29udGV4dDpELnByZWZldGNoUGxheWJhY2tDb250ZXh0fSxuLmNvbnRleHQucmVxdWVzdHx8KG4uY29udGV4dC5yZXF1ZXN0PXt9KSxuLmNvbnRleHQucmVxdWVzdC5pc1ByZWZldGNoPSEwKTtuLnBsYXliYWNrQ29udGV4dHx8KG4ucGxheWJhY2tDb250ZXh0PXt9KTtiPW16YigpO24ucGxheWJhY2tDb250ZXh0LmRldmljZVBsYXliYWNrQ2FwYWJpbGl0aWVzPXtzdXBwb3J0c1ZwOUVuY29kaW5nOiEhYixzdXBwb3J0WGhyOk5zfTtELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0JiYobi5vdmVycmlkZU11dGVkQXRTdGFydD1ELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0KTtuLnJhY3lDaGVja09rPSEhVy5yYWN5Q2hlY2tPazsKbi5jb250ZW50Q2hlY2tPaz0hIVcuY29udGVudENoZWNrT2s7Zy5sKCJjYXB0aW9uc19wcmVmc19raWxsc3dpdGNoIil8fChEPShEPWcuWkkoInl0LXBsYXllci1jYXB0aW9uLWxhbmd1YWdlLXByZWZlcmVuY2VzIikpP0Q6W10sVz1nLmwoIndlYl9lbmFibGVfcGxheWVyX3JlcXVlc3RfY2FwdGlvbnNfbGFzdF9sYW5ndWFnZV9vbmx5IiksRD8ubGVuZ3RoJiYoRD1XP1tELmF0KC0xKV06RCxuLmNhcHRpb25QYXJhbXM9e3ZpZXdlclNlbGVjdGVkQ2FwdGlvbkxhbmdzOkR9KSl9VihuKXtuPXRoaXMuWChuKTt2YXIgVztuJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3BsYXllcl93YXRjaF9uZXh0X3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InBzX3MiLFcuUlY9InBzX3IiKTtyZXR1cm4gV319O0tIU1tnLkxYXT1bTnRNXTt2YXIgaUI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW4ucmVzcG9uc2VDb250ZXh0Py5zdGF0ZVRhZ3N9fTt2YXIgd049Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZighVyl0aHJvdyBFcnJvcigicmVxdWVzdCBuZWVkcyB0byBiZSBwYXNzZWQgaW50byBTdG9yZVJlc3BvbnNlUHJvY2Vzc29yU2VydmljZSIpO3VCKHRoaXMsbixXLmNvbmZpZz8uSG4/LlJMKX19O3dOW2cuTFhdPVtCZV07dmFyIEY4PW5ldyBnLkFMKCJTVE9SRV9SRVNQT05TRV9QUk9DRVNTT1JfVE9LRU4iKTt2YXIgbzg9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobixXKTt0aGlzLmVycm9yVHlwZT0xO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBUcj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1hc3luYyBmZXRjaChuLFcsRCxiKXtuPVNzWih0aGlzLG4sVyk7dHJ5e2xldCB2PWF3YWl0IGZldGNoKG4pO2lmKGImJnYub2smJnYuYm9keSYmdHlwZW9mIHYuYm9keS5nZXRSZWFkZXI9PT0iZnVuY3Rpb24iKXtsZXQgaz12LmNsb25lKCkuYm9keS5nZXRSZWFkZXIoKSx7dmFsdWU6aH09YXdhaXQgay5yZWFkKCk7ay5jYW5jZWwoKS5jYXRjaCgoKT0+e30pOwppZihoJiZoWzBdPT09OTEpe2xldCB4PXYuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBkTih0aGlzLHgsbmV3IGFzLFtdLGIpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZSh2LEQpfWNhdGNoKHYpe2lmKGcuR3EodiksRD8uTGQmJnYgaW5zdGFuY2VvZiBvOCYmdi5lcnJvclR5cGU9PT0xKXRocm93IHY7fX1oYW5kbGVSZXNwb25zZShuLFcpe3ZhciBEPW4udGV4dCgpLnRoZW4oYj0+e2lmKFc/LmhQJiZuLm9rKXJldHVybiBkRyhXLmhQLGIpO2I9Yi5yZXBsYWNlKCIpXX0nIiwiIik7aWYoVz8uTGQmJmIpdHJ5e3ZhciB2PUpTT04ucGFyc2UoYil9Y2F0Y2goayl7dGhyb3cgbmV3IG84KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiB2Pz9KU09OLnBhcnNlKGIpfSk7Cm4ucmVkaXJlY3RlZHx8bi5vaz90aGlzLk4mJnRoaXMuTi5zdWNjZXNzKCk6KHRoaXMuTiYmdGhpcy5OLm9ZKCksRD1ELnRoZW4oYj0+e2cuR3EobmV3IGcuUXgoIkVycm9yOiBBUEkgZmV0Y2ggZmFpbGVkIixuLnN0YXR1cyxuLnVybCxiKSk7cmV0dXJuey4uLmIsZXJyb3JNZXRhZGF0YTp7c3RhdHVzOm4uc3RhdHVzfX19KSk7CnJldHVybiBEfX07VHJbZy5MWF09W2cuaHAobmV3IGcuQUwoIk5FVFdPUktfU0xJX1RPS0VOIikpXTt2YXIgenI7dmFyIERZcj1uZXcgZy5xTSgicGFyYWxsZWxDb21tYW5kIik7dmFyIHZuTT1uZXcgZy5xTSgicGVyZm9ybU9uY2VDb21tYW5kIik7dmFyIGI4Yj1uZXcgZy5xTSgic2VyaWFsQ29tbWFuZCIpO3ZhciB2UT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihuKXt0aGlzLk4uYmljZihuKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhuKXt0aGlzLk4uYmNyKG4pfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuTi5ibGMoKX19O3ZhciBpaEM9W10saGo9KDAsZy5IeClgaHR0cHM6Ly9zdGF0aWMuZG91YmxlY2xpY2submV0L2luc3RyZWFtL2FkX3N0YXR1cy5qc2AsazU9ITE7dmFyIGlEPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPW47dGhpcy5OPVd9fSxXREM9W25ldyBpRCgiYi5mXyIsMCksbmV3IGlEKCJqLnNfIiwyKSxuZXcgaUQoInIuc18iLDQpLG5ldyBpRCgiZS5oXyIsNiksbmV3IGlEKCJpLnNfIiw4KSxuZXcgaUQoInMudF8iLDEwKSxuZXcgaUQoInAuaF8iLDEyKSxuZXcgaUQoInMuaV8iLDE0KSxuZXcgaUQoImYuaV8iLDE2KSxuZXcgaUQoImEuYl8iLDE4KSxuZXcgaUQoImEub18iKSxuZXcgaUQoImcub18iLDIyKSxuZXcgaUQoInAuaV8iLDI0KSxuZXcgaUQoInAubV8iKSxuZXcgaUQoIm4ua18iLDIwKSxuZXcgaUQoImkuZl8iKSxuZXcgaUQoImEuc18iKSxuZXcgaUQoIm0uY18iKSxuZXcgaUQoIm4uaF8iLDI2KSxuZXcgaUQoIm8ucF8iKSxuZXcgaUQoIm0ucF8iLDI4KSxuZXcgaUQoIm8uYV8iKSxuZXcgaUQoImQucF8iKSxuZXcgaUQoImUuaV8iKV0ucmVkdWNlKChuLFcpPT57bltXLkpdPVc7cmV0dXJuIG59LHt9KTt2YXIgTmU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMubmV0d29yaz1uO3RoaXMub3B0aW9ucz1XO3RoaXMuWD1EO3RoaXMuVz0wO3RoaXMuTj1udWxsO3RoaXMuSj1uZXcgcW5pO1cuUHU/ZXQodGhpcyxvbU0odGhpcykpOlcucHJlbG9hZCYmZXQodGhpcyxuZXcgUHJvbWlzZShiPT57Zy5jQigwLCgpPT57Yih0aih0aGlzKSl9LDApfSkpfWFzeW5jIHlmKCl7cmV0dXJuISFhd2FpdCBQcm9taXNlLnJhY2UoW3RoaXMuTiwKbnVsbF0pfWFzeW5jIGRRKG4sVyxEKXt0aGlzLk49PT1udWxsJiZldCh0aGlzLHRqKHRoaXMpKTt2YXIgYj0hMSx2PXt9O3JldHVybiBQcm9taXNlLnJhY2UoWyhhc3luYygpPT57dGhpcy5vcHRpb25zLkZoJiZ0aGlzLm9wdGlvbnMuUHUmJmF3YWl0IChhd2FpdCB5M3IoKSk/LmNoZWNrRm9yUmVmcmVzaCgpO3ZhciBrPWF3YWl0IHRoaXMuTjt2LmNoYWxsZW5nZT1rLmNoYWxsZW5nZTtpZihrLk8xKXt2YXIgaD17YzprLmNoYWxsZW5nZSxlOm4sLi4uV307dHJ5e2I9ITA7bGV0IHg7KHg9YXdhaXQgay5PMS5zbmFwc2hvdCh7d186aH0pKT92LndlYlJlc3BvbnNlPXg6di5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe3YuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gay5SUiYmKHYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO249PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmCihrPWsuUlIsaD17fSxrLmM2YSYmKGgucmVwb3J0aW5nU3RhdHVzPVN0cmluZyhOdW1iZXIoay5jKV5MYygpKSksay5jNmImJihoLmJyb2FkU3BlY3RydW1EZXRlY3Rpb25SZXN1bHQ9U3RyaW5nKE51bWJlcihrLmMpXk51bWJlcihnLkFyKCJDQVRTVEFUIiwwKSkpKSx2LmFkYmxvY2tSZXBvcnRpbmc9aCk7cmV0dXJuIHZ9KSgpLApUR2goRCwoKT0+e3ZhciBrPU9iamVjdC5hc3NpZ24oe30sdik7YiYmKGsuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTtyZXR1cm4ga30pXSl9fTt2YXIganhTPVsiQVBQX1NUQVRFIiwiUEkiXTt2YXIga3ZNPVszNjExLDI3Njg2LDIyMTA1OCw4NTAxMywyMzQ2MiwyNDExODcsMTU3NTU3LDQyMDE2LDI2OTI2LDUxMjM2LDc5MTQ4LDUwMTYwLDc3NTA0LDMxMDI4MSwxNTM1ODcsODc5MDcsMTg2MzAsMTc3MDE4LDE3NzAyMyw1NDQ0NSwzMjE2NjYsMzI2MzUzLDMyNjM1NCw4MDkzNSwxNTIxNzIsMTg0NTUzLDEwNTY3NSwxNTA3MjMsMzc1MjEsMTQ3Mjg1LDQ3Nzg2LDIzMTI1NSwyMzEyNTQsMjMxMjU4LDIzMTI1OSw5ODM0OSwyMzcyOTksMTY4MjcxLDE2ODk1NCwxNjgyNzcsMTY4MjczLDE2ODI3MCwxMjM2OTUsMjcyMDE4LDMzODQ5NywyMjY5ODcsMjI2OTkwLDIyNjk4OCw2ODI3LDI5NDM0LDI1NTAxMCwxNzEzODgsMjQ0MTg5LDIzNjIwOCw3MjgyLDEyNDQ0OCwyOTk5MDMsMjk5ODk3LDI5OTkwNCwyOTk5MDEsMjk5ODk5LDI5OTkwMiwyOTk5MDAsMjk5ODk4LDE5NjA4OCwyNTA4OTcsMTk4MTA0LDMyMjc2LDE5NTExNSwxOTUxMTQsNzYyNzgsMjAwNjM1LDIzMDU5NCwxNDc4NjgsCjE0Nzg2OSwyNzYyNDMsOTM5MTEsMjc0MTg4LDI3NjY1MSwzMTM2ODAsMTA2NTMxLDI1NzIzNCwyNTI1OTgsMjUyNTk3LDI1MjYwMCwyNTI1OTksMjUyNTk2LDIyNTAzMSwxNzc4NDMsMjcyNTksMjcyNjIsMjcyNjMsMjE3NTksMjgzNjcwLDE2MDg2NiwyMDQyNDksMjIyOTAwLDIwNDI1MCwxODA2MjYsMTc3OTU5LDE3Nzk1NywxODA2MjgsMjA1NzE2LDE5Nzg3OCwyNzM3NjYsMTcxMjQzLDE2MDc4OSwxNzEyNDQsMTcxMjQxLDE3MTI0NSwxNzEyNDIsMjI1NTYwLDE4MDYyNywxNzc5NjAsMjMxNTg5LDE3Nzk1OCwxODA2MjksMjA1NzE3LDE5Nzg3OSwxNzc1NjUsMjEyNTczLDIxMDcwOSw5OTQ0MTIsMjMwNjg0LDIyOTgwMSwyMzA2ODUsMzM0MzEwLDMzNDMxMSwzMzQzMTIsMTk3MzM3LDIwOTAxMCwxOTczMzYsMTk3MzM4LDE5ODYxOCwzMDA4ODQsMTc1NDkyLDE5ODA1MiwxOTgwNTEsMTk3ODUyLDE5Nzk3NiwzMTczNzcsMTc1NDkzLDE3NTQ5NCwxNzU0OTUsMTg5MjU0LDE3NTQ5NiwxNzU0OTcsCjM4NDA4LDE3NTQ5OCwxNzU1MDMsMTc1NTA0LDE3NTUwNSwxNzU1MDYsMTc1NTA3LDE3NTUwOCw4MDYzNyw2ODcyNywyMDY5MzMsMjA3OTQ0LDIwNjkzNCwzMDMxMjMsMjA2OTI5LDIyMTU3NSw2ODcyOCwyMjE1NzYsODAzNTMsODAzNTYsMzA4MDMzLDI0OTEwNywxODA2MzUsNzQ2MTAsNDU3MDcsODM5NjIsODM5NzAsNDY3MTMsMTY2NTkxLDg5NzExLDc0NjEyLDIxMzgwOSwxNzk2MDcsMjQ1MDA2LDE1NTc5Miw5MzI2NSw3NDYxMSwxMzEzODAsMTI4OTc5LDEzOTMxMSwxMjg5NzgsMTMxMzkxLDEwNTM1MCwxMzkzMTIsMzMzNjM3LDEzNDgwMCwxMzEzOTIsMTEzNTMzLDIyOTI5OCw5MzI1Miw5OTM1Nyw5NDUyMSwxMTQyNTIsMTEzNTMyLDk0NTIyLDk0NTgzLDIwMjM3MSw4OEUzLDEzOTU4MCw5MzI1Myw5MzI1NCw5NDM4Nyw5NDM4OCw5MzI1NSw5NzQyNCw3MjUwMiwyMTk4NjgsMjEyOTkxLDExMDExMSw3NjAxOSwxMTcwOTIsMTE3MDkzLDg5NDMxLDE5MTgzMSwxMTA0NjYsMjMxMzQ2LAo3NzI0MCw2MDUwOCwxODYwOTEsMTQ4MTIzLDE0ODEyNCwxMzc0MDEsMTM3NDAyLDEzNzA0Niw3MzM5MywyNDY3NzYsMTEzNTM0LDI3NjIwMCw5MjA5OCwxMzEzODEsODQ1MTcsODM3NTksMzA5NTgwLDIzMDY3NiwyNDkxODMsMjMwNjc5LDIzMDY3OCwyMzA2NzcsMjMwNjgxLDIzMDY4MCwxNjI3MTEsMjM1MjM0LDE2MjcxMiw4MDM1Nyw5OTQ0MTEsMjQzMzE1LDMxMzUwNiwzMjE5NjQsODYxMTMsNzI1OTgsMTY4NDEzLDcyNzMzLDEwNzM0OSwxMjQyNzUsMTE4MjAzLDIwMDQxMCwxMzMyNzUsMTYwMTU3LDE1MjU2OSwxNTY2NTEsMTMzMjc0LDE2MDE1OSwxNjAxNTgsMTMzMjcyLDEzMzI3MywxMzMyNzYsMTQ0NTA3LDE0MzI0NywxNzU5OTQsMTU2NjUyLDE0MzI0OCwxNDMyNDksMTQzMjUwLDE0MzI1MSwxODk4OTIsMTg5ODk0LDE4OTg5MywxNTY2NTMsMjE0MjM2LDE0NDQwMSwxMTc0MzEsMTMzNzk3LDIyNTEzNywyNzM5MDUsMjIyNjEyLDIyMjYxMywxNTM5NjQsMjAxMTMzLDIwMTEzNCwKMjAxMTM1LDIwMTEzNiwyMDExMzcsMTI4NTcyLDIwMDQxMSwyMDA0MTIsMTkwMzM3LDEzMzQwNSwxMTc0MjksMTE3NDMwLDE3Nzk1MCwxNzQ3MzQsMTc3OTUxLDIwMTEzOCwyMDExMzksMjAxMTQwLDIwMTE0MSwyMDExNDIsMTE3NDMyLDE3Mzk5NiwxNzM5OTUsMTc0OTUzLDE3Mzk5NCwxNzM5OTcsMTIwMDgwLDExNzI1OSwxNzg1NDYsMjk3NzUyLDE5Nzg5MSwxNTY2NTUsMTU2NjU0LDEyMTY5MiwyMTE0MTQsMjExNDExLDIxMTQxMiwyMTE0MTMsMjExNDAzLDE4NDg0NiwxODU5OTMsMzM1MDQ4LDE0NTY1NiwxNTY2NTYsMTQ1NjU1LDE0NTY1MywxNDU2NTQsMTQ1NjU3LDEzMjk3MiwxMzMwNTEsMTMzNjU4LDEzMjk3MSwzMzY3MjgsOTc2MTUsMTgxMjYyLDE5MDc2MiwyNTAzNDQsMjU0MDI3LDE0MzM1OSwxNDMzNTYsMTQzMzYxLDE0MzM1OCwxNDMzNjAsMTQzMzU3LDE0MjMwMywxNDMzNTMsMjgyMTU5LDE3Mjg1OSwxNDMzNTQsMTQ0NDc5LDE0MzM1NSwzMTQwMiwxODE1OTAsMTMzNjI0LAoxNDY0NzcsMTMzNjIzLDEzMzYyMiwxMzM2MjEsMTkyNDE4LDg0Nzc0LDMwNDc3NiwxOTc5OTMsMjQxNDYwLDE2MDgwMSwxOTc5OTUsOTUxMTcsMTcyNzIxLDE1MDQ5Nyw5ODkzMCw5ODkzMSw5ODkzMiwzMzg1NzAsMzM4NDc0LDMzODQ3OCwzMzg0NzMsMTUzMzIwLDE1MzMyMSw0MzM0NywzMDUyNjgsMjQ5Mjk1LDIxMDAxNiwyMTAwMTcsMjYyNjg2LDIxMTg1MSwyMTE4NTIsMzA3MjE5LDIxMTg1MywzMjc4MTAsMTI5ODg5LDE5Nzg4OCwxOTc4ODksMTQ5MTIzLDIyMTk1OSwyMjE2MjcsMjIxOTU4LDQ1NDc0LDEwMDM1Miw5ODQ0MywxMTc5ODUsMzMzNzA4LDc0NjEzLDE1NTkxMSw3NDYxNCw2NDUwMiwxMzYwMzIsNzQ2MTUsNzQ2MTYsMTIyMjI0LDc0NjE3LDc3ODIwLDc0NjE4LDI2Mjk4OCwyNjI5ODksMjI2OTgxLDkzMjc4LDkzMjc0LDkzMjc1LDkzMjc2LDIwMDY4OCwyMDA2ODYsMjAwNjg3LDE5OTg0MSwyMjExMCwyOTQzMywxMzM3OTgsMTMyMjk1LDI4MTMzMiwxMjA1NDEsMjIyMTEyLAo4MjA0NywxMTM1NTAsNzU4MzYsNzU4MzcsMzAzODgyLDE5MjQwOSwyMDMyMjEsNDIzNTIsODQ1MTIsNzYwNjUsNzU5ODksMjA1OTExLDIwNTkxMiwyNTI2NDksMjA1OTEzLDI1MjY1MCwyNTI2NTEsNTE4NzksMTY2MjMsMzI1OTQsMjcyNDAsMzM4MTA5LDI5MzMyNCwzMjYzMyw3NDg1OCwzMDQxNTAsMjk3MDQ1LDI3NTE5OCwyNzE4ODQsMjIyOTMyLDI3OTExOSwzMTI1ODEsMjcxODg2LDIxMzkxNSwyNzUxOTksMzEwNzQ4LDIyNTIxNiwyNTEyNDQsMjU4MjUxLDIxODY3NCwyNTEyNjYsMjU4MjUwLDI1MTI2NSwzMDE2NjIsMjUxMjQ1LDI3MTg4NSwzMTU4MTgsMTU2OTk5LDM5NDUsMTY5ODksNDU1MjAsMjU0ODgsMjU0OTIsMjU0OTQsMjMyMTEzLDU1NzYwLDE0MDU3LDE4NDUxLDU3MjA0LDU3MjAzLDE3ODk3LDE4MTk4LDE3ODk4LDE3OTA5LDQzOTgwLDIyMTA1MywxOTU1MjksMTg5NjYwLDMwODA4OCwzMDY0NDgsMzA2NDQ3LDMwODA4NywzMDgwODYsNDYyMjAsMTE3MjEsMTQ3OTk0LDQ5OTU0LAo5NjM2OSwzODU0LDIxNzY0MCwxNTE2MzMsNTYyNTEsMjA1MTkyLDIxNjc5NywxNTkxMDgsMTgxNTY4LDIzNDc4OSwyNTYyNCwxNTIwMzYsMTY5MDYsOTk5OTksNjgxNzIsNDc5NzMsNzI3NzMsMjY5NzAsMjY5NzEsOTY4MDUsMTc3NTIsMjgyMTgxLDI3ODkyNiw3MzIzMywyMDU5MjMsMTA5NTEyLDIyMjU2LDE0MTE1LDIyNjk2LDIzNDQwOSwyMzQ0MDgsODkyNzgsODkyNzcsMTk1NzQ1LDEwOTUxMyw0MzI3OCw0MzQ1OSw0MzQ2NCw4OTI3OSw0MzcxNyw1NTc2NCwyMjI1NSwxNDc5MTIsODkyODEsNDA5NjMsNDMyNzcsNDM0NDIsOTE4MjQsMjgzODk4LDEyMDEzNywxODYzNTAsMTg2MzUxLDI1NjY5MCwyNjQzNDksMjY0MzUxLDI2NDM1MCwyNjQzNTIsMjExMDI2LDI1MDg5Niw5NjM2NywzNjg1MCw3MjY5NCwzNzQxNCwzNjg1MSwxMjQ4NjMsMTIxMzQzLDczNDkxLDU0NDczLDE2Njg2MSw0MzM3NSw0NjY3NCwzMDI2MzEsMzMxNDczLDI0MjUyOCwxNDM4MTUsMTM5MDk1LDE0NDQwMiwxNDk5NjgsCjE0OTk2OSwzMjQ3Myw3MjkwMSw3MjkwNiw1MDYxMiw1MDYxMyw1MDk0Miw4NDkzOCw4NDk0Myw4NDkzOSw4NDk0MSw4NDk0NCw4NDk0MCw4NDk0MiwzNTU4NSw1MTkyNiw3OTk4MywxODkyMSw1Nzg5Myw0MTE4MiwxMzU3MzIsMzM0MjQsMjIyMDcsMzYyMjksMjIyMDYsMjIyMDUsNDQ3NjMsMzM0MjcsNjc3OTMsMjIxODIsMzcwOTEsMzQ2NTAsNTA2MTcsMjIyODcsMjUxNDQsOTc5MTcsMjIwMTIyLDYyMzk3LDE1MDg3MSwxNTA4NzQsMTI1NTk4LDEzNzkzNSwzNjk2MSwxMDgwMzUsMzIzNDkzLDI3NDI2LDI3ODU3LDI3ODQ2LDI3ODU0LDY5NjkyLDYxNDExLDM5Mjk5LDM4Njk2LDYyNTIwLDM2MzgyLDEwODcwMSwxOTI2ODIsMjc5NTMxLDUwNjYzLDM2Mzg3LDE0OTA4LDM3NTMzLDEwNTQ0Myw2MTYzNSw2MjI3NCwxNjE2NzAsMTMzODE4LDE4MjExOSw2NTcwMiw2NTcwMyw2NTcwMSwzMjA0NjQsNzYyNTYsMjk4MTU3LDI2Mzg0MywzMTUyMzQsMTk2MDc1LDE5NDc2OCwyNTIyMDEsMTk0NzY5LAoxOTE4ODUsMjgxNDgwLDIzMzYzNCwyNjU4MTAsMTk0NzcwLDI5NjkzMywxOTUzNTAsMzI3Mzg1LDMyNDU4NiwzMDE2MDcsMTk1MzQ5LDE5NDc3MSwyOTMwNDEsMzAxMTIxLDI5MzA0MiwyOTMwNDMsMzAxMTE2LDE2NjM4MiwzNzY3MSw0OTk1MywyMjA2NjksNjAwMDAxLDYwMDAwMiw2RTUsMzM1MTM0LDI0OTIyOSwyMTM3NzQsMjA0NTcyLDE5MTM4OSwyNzIyNTQsMjcyMjUzLDI1MzgzMCwyNTM4MzEsMjUzODMyLDI3MjI1MiwyNTM4MzMsMjUzODM0LDIwNDU3NCwxOTEzOTAsMTc5NTU2LDIzODU5NiwyMTI2NjEsMTkxMzkyLDE5NzgyNiwxOTEzOTMsMjA0NTczLDM2MjE2LDI4MjM3LDI0MTIxMiwyNzIwNDksMTczNzE4LDM5NTUzLDE5MjU0NywyOTIyMiwzMDQ4NDUsMjYxMDcsMjQxMjExLDM4MDUwLDI2MTA4LDI3NTgxMCwxMjA3NDUsMjYxMDksMjYxMTAsNjY4ODEsMjgyMzYsMTQ1ODYsMjk3NjcyLDE2MDU5OCw1NzkyOSwyMjY3MzYsNzQ3MjMsNDQwOTgsMTczNjg5LDQ0MDk5LDIzNTI4LAo2MTY5OSwxMzQxMDQsMTM0MTAzLDE5ODMxMyw1OTE0OSwxODEwMTMsMjc4MzA2LDI4MjQ3MiwyNzc4NDgsMTczMTkxLDE3MzE5MiwxNzMxOTMsMTAxOTUxLDE3MTUwMiwxOTYwNDMsMTk4MzA1LDk3MzQ2LDExODA1MSw5NTEwMiw2NDg4MiwxMTk1MDUsNjM1OTUsMjk0MTE5LDI1NzI2OCw2MzM0OSwyODExMjcsMjQwNTUzLDk1MTAxLDc1MjQwLDI3MDM5LDY4ODIzLDIxNTM3LDgzNDY0LDc1NzA3LDI1MjkwNCwxNzAyMTUsMjIzMDMzLDgzMTEzLDEwMTk1MiwxMDE5NTMsNzk2MTAsMTI1NzU1LDI0NDAyLDI0NDAwLDMyOTI1LDE5MzQwNiw1NzE3MywxODMzNTEsMTU2NDIxLDEyMjUwMiwxNDUyNjgsMTM4NDgwLDY0NDIzLDY0NDI0LDMzOTg2LDEwMDgyOCwxMjkwODksMjk5NTQxLDIxNDA5LDI4MjIxOCwyOTk1MDYsMzMzOTU2LDI5OTU0MCwyOTk1MDcsMjk5NTA5LDI5OTUzOSwyOTk1MDgsMjk5NTEwLDE4NTYxMiwyMjI4MjUsMzIzMzMxLDI0NTM2NiwxMzUxNTUsMTM1MTU2LDEzNTE1NywKMTM1MTU4LDE1ODIyNSwxMzUxNTksMTM1MTYwLDE2NzY1MSwxMzUxNjEsMTM1MTYyLDEzNTE2MywxNTgyMjYsMTU4MjI3LDEzNTE2NCwxMzUxNjUsMTM1MTY2LDExMDcwLDExMDc0LDE3ODgwLDI3MDU2MCwzMDcwOSwzMDcwNywzMDcxMSwzMDcxMCwzMDcwOCwxODUyMTMsMTg1MjczLDE0NjE0Myw2MzY0OCw2MzY0OSwyMjEwNTYsMjY0NDkwLDIxMTE4OSwxMTEwNTksMjExMTg4LDU3NTQsMjY0NDkxLDIwNDQ1LDIzMzQ3MSwxNTEzMDgsMzEzNzUwLDE1MTE1MiwyMjgwNjcsMTMwOTc1LDEzMDk3NiwyNDcyNDQsMjcxNjIyLDI3MTgxMywyNjEyMTAsMjEwODE1LDI5NTA2OSwyNDYxMjcsMzE2ODU4LDI0NTI1NiwyNDQ5NTAsMTkxOTI1LDE2NzYzNywyMzQ1NDUsMTk3MTk2LDMwMjczNSwyMTQyOTUsMTEwMzg2LDIyMTA1NCwyNzM5NjAsMjgyMTExLDMxMjI5MCwxMTM3NDYsMzI1NTkzLDI2ODg4Niw2NjU1NywxODMyMTUsMTczMTAsMjg2MzEsMjAxOTM1LDIxNTg5LDI0MjAzNiwyMzgzNTEsCjE2NDgxNywxNjgwMTEsMTU0OTQ2LDY4MDEyLDE2MjYxNyw2MDQ4MCwxODQ0MzEsMTM4NjY0LDI5NDA4OSwyNDk4MjcsMTk0RTMsMTQxMTIxLDE2NDUwMiwzMTU3MSwxOTUwMDIsMjA2NzkzLDE0MTk3OCwyMzM5ODUsMjUwODk1LDI1NDA1MiwyNTQwNTMsMjU0MDU0LDI1NDA1MSwyNTQwNTAsMjU0MDU1LDE1MDEwNSwzMDQxNjksMTUwMTA2LDE1MDEwNywxNTAxMDgsNzY5ODAsNDE1NzcsNDU0NjksMzg2NjksMTM3NjgsMTM3NzcsMTQxODQyLDYyOTg1LDIxMzE5MCw0NzI0LDIyMzA1Miw1OTM2OSw0MzkyNyw0MzkyOCwxMjkyNCwxOTc4NTMsMTAwMzU1LDU2MjE5LDI3NjY5LDIwOTkyOCwxMDMzNywyMDM2NDgsMjAzNjQ5LDQ3ODk2LDMyNjkzNywxMjI2MjksMTg2MjA0LDIyMjgyNCwyNzU4NjksMzEyMjk1LDI3MTY3MywyNzQ2MzcsMzE3NDYyLDEzOTcyMywxMzk3MjIsMTIxMjU4LDI1Mzc4OSwyNTM3ODcsMjUzNzg2LDI1Mzc4OCwyNTM3OTAsMTA3NTk4LDEyNzk5MSw5NjYzOSwxMDc1MzYsCjEzMDE2OSwyMTY1MjIsMjk2MzE2LDk2NjYxLDE0NTE4OCwzMjA0MjgsMjEzOTA0LDI2OTM0Miw5NjY1OCwxMTY2NDYsMTU5NDI4LDE2ODYxMSwxNjg2MTIsMTIxMTIyLDIxOTg2Miw5NjY2MCwyODIyMDgsMTI3NzM4LDEyNzA4MywxNTUyODEsMTYyOTU5LDIyMDg4NiwyMjczNTYsMjQ4MDA3LDE2MzU2NiwzMDc2NDYsMTg2NjQxLDE0Nzg0MiwyNzM2NDYsMjczNjQ3LDIxNzkzMiwxMDQ0NDMsOTY2NTksMTQ3NTk1LDEwNjQ0MiwyNDcxNjIsMjMxNDkzLDIxMzQyNywyOTY4MTMsMjQ2NTc1LDE4MjQyMywxNjI3NzYsMjI4OTA4LDEzNDg0MCw2MzY2Nyw2MzY2OCw2MzY2OSwxMzA2ODYsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBtUVM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZihXLmlucHV0Lm1hdGNoKExCKE40aCkpKXt2YXIgRD1uPy5lbmRwb2ludDtXPWcudyhELFRlKT8udW5zZXJpYWxpemVkUHJlZmV0Y2hEYXRhO2lmKEQmJlcpe249dGhpcy5OO3ZhciBiPShuZXcgc29iKS5YKEQpLHY9Zy53KFcsRCRyKTtsZXQgaz12Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMmJk51bWJlcih2Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpPjA/TnVtYmVyKHY/LnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcyk6NjAwO3YmJmImJms+MCYmKHY9RWUodixrKSxuLnB1dChiLG5ldyBiaCh2KSkpO0Q9KG5ldyBLSFMpLlgoRCk7Vz1nLncoVyxhSncpO2I9Vz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzJiZOdW1iZXIoVz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzKT4wP051bWJlcihXPy5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpOgo2MDA7VyYmRCYmYj4wJiYoVz1FZShXLGIpLG4ucHV0KEQsbmV3IGJoKFcpKSl9fX19O21RU1tnLkxYXT1bQmVdO25mKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX01BTlVBTF9ET1dOTE9BRFMiLCJtYWluRG93bmxvYWRzTGlzdEVudGl0eSIpO25mKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtuZigiU01BUlRfRE9XTkxPQURTX0VOQUJMRUQiLCJzZXR0aW5nRW50aXR5Iik7dmFyIHd5aD1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSxPNng9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy5PMT1udWxsO3RoaXMuRGE9dm9pZCAwfWluaXRpYWxpemUobixXLEQsYil7dGhpcy5EYT1iO2lmKG4ucHJvZ3JhbSl7dmFyIHY7Yj1uLmludGVycHJldGVyVXJsPz9udWxsO24uaW50ZXJwcmV0ZXJTYWZlU2NyaXB0P3Y9Tk4obi5pbnRlcnByZXRlclNhZmVTY3JpcHQpOnY9bi5pbnRlcnByZXRlclNjcmlwdD8/bnVsbDtuLmludGVycHJldGVyU2FmZVVybCYmKGI9cHcobi5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO0Y0Yih0aGlzLHYsYixuLnByb2dyYW0sVyxEKX1lbHNlIGcuR3EoRXJyb3IoIkJMOkNJUCIpKX1pc0luaXRpYWxpemVkKCl7cmV0dXJuIHRoaXMuSigpfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuc3RhdGV9aXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0KMn1pbnZva2Uobj17fSl7cmV0dXJuIHRoaXMuSigpP3RoaXMuVyh7d186bn0pOm51bGx9ZGlzcG9zZSgpe3RoaXMuTihudWxsKTt0aGlzLnZWKDgpfUooKXtyZXR1cm4hIXRoaXMuTzF9VyhuKXtyZXR1cm4gdGhpcy5PMS5tNShuKX1OKG4pe2cuQ3AodGhpcy5PMSk7dGhpcy5PMT1ufXZWKG4pe3RoaXMuc3RhdGU9bn19O3ZhciBQQU09Y2xhc3MgZXh0ZW5kcyBPNnh7TihuKXtKaigpPy5iZ3ZtYSgpO2lmKG4pe2xldCBXPXtiZ3ZtYTpuLmRpc3Bvc2UuYmluZChuKSxiZ3ZtYjpuLnNuYXBzaG90LmJpbmQobiksYmd2bWM6bi5tNS5iaW5kKG4pfTtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLFcpO2cueWooRD0+bi5zbmFwc2hvdChEKSl9ZWxzZSBnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLGcuR2IoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9Sigpe3JldHVybiEhSmooKX1XKG4pe3JldHVybiBKaigpLmJndm1jKG4pfX07dmFyIFpMPXtBRF9NQVJLRVI6Inl0cC1hZC1wcm9ncmVzcyIsQ0hBUFRFUl9NQVJLRVI6Inl0cC1jaGFwdGVyLW1hcmtlciIsVElNRV9NQVJLRVI6Inl0cC10aW1lLW1hcmtlciJ9O3ZhciBzMz12b2lkIDA7dmFyIEgkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPW5ldyBTZXQ7dGhpcy5KPW5ldyBTZXQ7dGhpcy5qPW5ldyBNYXA7dGhpcy5jbGllbnQ9dm9pZCAwO3RoaXMuY3NuPW51bGx9VyhuKXt0aGlzLmNsaWVudD1ufU4oKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Zy5SdigpfWNsZWFyKCl7dGhpcy5YLmNsZWFyKCk7dGhpcy5KLmNsZWFyKCk7dGhpcy5qLmNsZWFyKCk7dGhpcy5jc249bnVsbH19O3ZhciBVMz1jbGFzc3tXKG4pe1BWKGZpKCkuVykuYmluZChmaSgpKShuKX1jbGVhcigpe1BWKGZpKCkuY2xlYXIpLmJpbmQoZmkoKSkoKX19O3ZhciBKWD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1bXTt0aGlzLk89W107dGhpcy5LPW5ldyBNYXA7dGhpcy5UQz1uZXcgTWFwO3RoaXMuVj1bXTt0aGlzLmNKPVtdO3RoaXMuWD1uZXcgTWFwO3RoaXMuWT1uZXcgTWFwO3RoaXMuSj1uZXcgTWFwO3RoaXMuTj1uZXcgU2V0O3RoaXMuUyQ9bmV3IE1hcH1XKG4pe3RoaXMuY2xpZW50PW59YmQobixXPXt9KXtQVigoKT0+e3ZhciBEPWcudyhuPy5jb21tYW5kTWV0YWRhdGEscGopPy5yb290VmV8fGcudyhuPy5jb21tYW5kTWV0YWRhdGEsWnNyKT8uc2NyZWVuVmlzdWFsRWxlbWVudD8udWlUeXBlO2lmKEQpe3ZhciBiPWcudyhuPy5jb21tYW5kTWV0YWRhdGEsYk1yKTtpZihiPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIHY9VFUoYi5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoYi5wYXJlbnRDc24pdmFyIGs9Yi5wYXJlbnRDc259ZWxzZSBXLmNsaWNrZWRWaXN1YWxFbGVtZW50P3Y9Vy5jbGlja2VkVmlzdWFsRWxlbWVudDpuLmNsaWNrVHJhY2tpbmdQYXJhbXMmJgoodj1UVShuLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntiPWcudyhuLGcuSVEpO3ZhciBoPWcudyhuLHpPdyk7aWYoYil7aWYoaD10WChiLCJWSURFTyIpKXtiPXt0b2tlbjpoLHZpZGVvSWQ6Yi52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGgmJihiPXRYKGgsIlBMQVlMSVNUIikpKXtiPXt0b2tlbjpiLHBsYXlsaXN0SWQ6aC5wbGF5bGlzdElkfTticmVhayBhfWI9dm9pZCAwfVc9e2N0dEF1dGhJbmZvOmIscGFyZW50Q3NuOmssLi4uV307Zy5sKCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihXLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Zy53KG4/LmNvbW1hbmRNZXRhZGF0YSxac3IpPy5sb2dnaW5nRXhwZWN0YXRpb25zfHx2b2lkIDApO21VKHRoaXMsRCx2LFcpfWVsc2UgZy5HcShuZXcgZy5ReCgiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixuKSl9KSgpfWNsaWNrQ29tbWFuZChuLFcsRD0wKXtyZXR1cm4gZ25aKHRoaXMsbi5jbGlja1RyYWNraW5nUGFyYW1zLApXLEQpfXN0YXRlQ2hhbmdlZChuLFcsRD0wKXt0aGlzLnZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQoVFUobiksVyxEKX12aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKG4sVyxEPTApe0Q9PT0wJiZ0aGlzLk4uaGFzKEQpP3RoaXMuTy5wdXNoKFtuLApXXSk6UCQodGhpcyxuLFcsRCl9blQobil7dmFyIFc9bi5jcG4sRD1TMih0aGlzLDApO2lmKEQubGVuZ3RoJiZEW0QubGVuZ3RoLTJdPy5jcG4hPT1XJiYoRD1nLlJ2KCksVyYmRCYmRCE9PSJVTkRFRklORURfQ1NOIikpe3ZhciBiO24uaXRjdCYmKGI9VFUobi5pdGN0fHwiIikpO2xldCB2PXt9O2cubCgid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfbG9nX2N0dCIpJiZuLmtXJiYodi5jdHRBdXRoSW5mbz17dG9rZW46bi5rVyx2aWRlb0lkOm4udmlkZW9JZH0pO249e2NwbjpXLGNzbjpEfTtnLmwoIndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlIikmJmImJihGaihELGIpLG4ucGxheWJhY2tWZT1iLmdldEFzSnNvbigpKTtnLnpVKCJwbGF5YmFja0Fzc29jaWF0ZWQiLG4sdik7Yj1TMih0aGlzLDApO2JbYi5sZW5ndGgtMV0uY3BuPVd9fX07dmFyIEUzPWNsYXNze2ZldGNoKG4sVyxEKXt2YXIgYj1YT2IobixXLEQpO3JldHVybiBuZXcgUHJvbWlzZSgodixrKT0+e3ZhciBoPSgpPT57aWYoRD8uTGQpdHJ5e2xldCB4PXRoaXMuaGFuZGxlUmVzcG9uc2UobixiLnN0YXR1cyxiLnJlc3BvbnNlLEQpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIHYodGhpcy5oYW5kbGVSZXNwb25zZShuLGIuc3RhdHVzLGIucmVzcG9uc2UsRCkpfTsKYi5vbmVycm9yPWg7Yi5vbmxvYWQ9aDtiLnNlbmQoVy5ib2R5Pz9udWxsKX0pfWhhbmRsZVJlc3BvbnNlKG4sVyxELGIpe0Q9KER8fCIiKS5yZXBsYWNlKCIpXX0nIiwiIik7CnRyeXt2YXIgdj1KU09OLnBhcnNlKEQpfWNhdGNoKGspe2cuR3EobmV3IGcuUXgoIkpTT04gcGFyc2luZyBmYWlsZWQgYWZ0ZXIgWEhSIGZldGNoIixuLFcsRCkpO2lmKGI/LkxkJiZEKXRocm93IG5ldyBvOCgiSlNPTiBwYXJzaW5nIGZhaWxlZCBhZnRlciBYSFIgZmV0Y2giKTt2PXt9fVchPT0yMDAmJihnLkdxKG5ldyBnLlF4KCJYSFIgQVBJIGZldGNoIGZhaWxlZCIsbixXLEQpKSx2PXsuLi52LGVycm9yTWV0YWRhdGE6e3N0YXR1czpXfX0pO3JldHVybiB2fX07dmFyIFo2aj1jbGFzc3tzdGF0aWMgZ2V0SW5zdGFuY2UoKXt2YXIgbj1nLnJyKCJ5dGdsb2JhbC5zdG9yYWdlXyIpO258fChuPW5ldyBaNmosZy5HYigieXRnbG9iYWwuc3RvcmFnZV8iLG4pKTtyZXR1cm4gbn1hc3luYyBlc3RpbWF0ZSgpe3ZhciBuPW5hdmlnYXRvcjtpZihuLnN0b3JhZ2U/LmVzdGltYXRlKXJldHVybiBuLnN0b3JhZ2UuZXN0aW1hdGUoKTtpZihuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YSlyZXR1cm4gcWZTKCl9fTtnLkdiKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixaNmopO3ZhciBqaVU9a08oInl0LXBsYXllci1sb2NhbC1tZWRpYSIse0tjOntpbmRleDp7dng6Mn0sbWVkaWE6e3Z4OjJ9LGNhcHRpb25zOnt2eDo1fX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDIpJiYoWnkobiwiaW5kZXgiKSxaeShuLCJtZWRpYSIpKTtXKDUpJiZaeShuLCJjYXB0aW9ucyIpO1coNikmJihVUihuLCJtZXRhZGF0YSIpLFVSKG4sInBsYXllcmRhdGEiKSl9LHZlcnNpb246NX0pO3ZhciBVeng9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHVEO2E6e3ZhciBvVj1nLlhRKCk7b1Y9b1YudG9Mb3dlckNhc2UoKTtpZihvVi5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeVpoPW9WLm1hdGNoKC9hbmRyb2lkXHMqKFxkKyhcLlxkKyk/KVteO3wpXSpbOyldLyk7aWYoeVpoKXtsZXQgbj1wYXJzZUZsb2F0KHlaaFsxXSk7aWYobjwxMDApe3VEPW47YnJlYWsgYX19dmFyIEVnYj1vVi5tYXRjaCgiKCIrT2JqZWN0LmtleXMoVXp4KS5qb2luKCJ8IikrIikiKTt1RD1FZ2I/VXp4W0VnYlswXV06MH1lbHNlIHVEPXZvaWQgMH12YXIgZG49dUQsTkY9ZG4+PTA7dmFyIHo4O3t2YXIgaTZoPWcuWFEoKTtsZXQgbj1pNmgubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighbnx8bi5sZW5ndGg8Mil6OD12b2lkIDA7ZWxzZXt2YXIgbEQ9aTZoLm1hdGNoKC9cKChpUGFkfGlQaG9uZXxpUG9kKSggU2ltdWxhdG9yKT87IChVOyApP0NQVSAoaVBob25lICk/T1MgKFxkK19cZClbXyBdLyk7ejg9bEQmJmxELmxlbmd0aD09PTY/TnVtYmVyKGxEWzVdLnJlcGxhY2UoIl8iLCIuIikpOjB9fXZhciB2aj16OCx4ST12aj49MDt2YXIgb2Y7Zy51Wj1uZXcgUEFNO29mPTA7Zy5GTFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy52aWRlb0RhdGE9bjt0aGlzLk49e2MxYTooKT0+e3ZhciBXPVtdO2lmKGcudVouaXNJbml0aWFsaXplZCgpKXt2YXIgRD0iIjt0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEsmJihEPXRoaXMudmlkZW9EYXRhLnBLK2AmcjFiPSR7dGhpcy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZX1gKTtEPXthdHJfY2hhbGxlbmdlOkR9O2cuZ18oImJnX3YiLHZvaWQgMCwicGxheWVyX2F0dCIpOyhEPXI5UyhEKSk/KGcuZ18oImJnX3MiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaChgcjFhPSR7RH1gKSk6KGcuZ18oImJnX2UiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaCgicjFjPTIiKSl9ZWxzZSBnLmdfKCJiZ19lIix2b2lkIDAsInBsYXllcl9hdHQiKSx3aW5kb3cudHJheXJpZGV8fHdpbmRvdy5ib3RndWFyZD9XLnB1c2goInIxYz0xIik6Vy5wdXNoKCJyMWM9NCIpO1cucHVzaChgcjFkPSR7Zy51Wi5nZXRTdGF0ZSgpfWApOwpyZXR1cm4gVy5qb2luKCImIil9LApjNmE6Vz0+InI2YT0iKyhOdW1iZXIoVy5jKV5MYygpKSwKYzZiOlc9PmByNmI9JHtOdW1iZXIoVy5jKV5OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpfWB9Owp0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEs/dGhpcy5SUj1nLml3KHRoaXMudmlkZW9EYXRhLnBLKTp0aGlzLlJSPXt9fX07Zy5DaT1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30sRD0wKXt0aGlzLmVycm9yQ29kZT1uO3RoaXMuZGV0YWlscz1XO3RoaXMuc2V2ZXJpdHk9RH19O3ZhciB0SD17RUk6ZnVuY3Rpb24obixXKXt2YXIgRD1uWzBdO25bMF09bltXJW5bSVs1XV1dO25bVyVuW0lbNV1dXT1EfSwKT1c6ZnVuY3Rpb24obixXKXtuW0lbM11dKDAsVyl9LApHRzpmdW5jdGlvbihuKXtuW0lbMjVdXSgpfX07dmFyIHV2TT17UmQ6ImFkdW5pdCIsaFE6ImRldGFpbHBhZ2UiLGt3OiJlZGl0cGFnZSIsVE86ImVtYmVkZGVkIixEcDoibGVhbmJhY2siLEY3OiJwcmV2aWV3cGFnZSIsRE06InByb2ZpbGVwYWdlIixrUzoidW5wbHVnZ2VkIixNbjoicGxheWxpc3RvdmVydmlldyIsVUM6InNwb25zb3JzaGlwc29mZmVyIixCYToic2hvcnRzcGFnZSIsZEw6ImhhbmRsZXNjbGFpbWluZyIsaF86ImltbWVyc2l2ZWxpdmVwYWdlIix6TzoiY3JlYXRvcm11c2ljIixYSjoiaW1tZXJzaXZlbGl2ZXByZXZpZXdwYWdlIixZWDoiYWRtaW50b29seXVydCIsbk06InNob3J0c2F1ZGlvcGl2b3QiLHlfOiJjb25zdW1wdGlvbiIsZUw6ImJhY2tncm91bmRfYXVkaW9fcGxheWJhY2siLFVfOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RzX3BhZ2UiLEdPOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RfZGV0YWlsc19wYWdlIn07dmFyIG9nMj1bImgiLCJIIl0sZHppPVsiOSIsIigiXSx6cmg9WyI5aCIsIihoIl0sbEhoPVsiOCIsIioiXSxUdGk9WyJhIiwiQSJdLGpvaT1bIm8iLCJPIl0sQ0FiPVsibSIsIk0iXSxCdGk9WyJtYWMzIiwiTUFDMyJdLEZIdz1bIm1lYWMzIiwiTUVBQzMiXSxibz17aDpvZzIsSDpvZzIsWyI5Il06ZHppLFsiKCJdOmR6aSxbIjloIl06enJoLFsiKGgiXTp6cmgsWyI4Il06bEhoLFsiKiJdOmxIaCxhOlR0aSxBOlR0aSxvOmpvaSxPOmpvaSxtOkNBYixNOkNBYixtYWMzOkJ0aSxNQUMzOkJ0aSxtZWFjMzpGSHcsTUVBQzM6Rkh3fSx3Rlo9bmV3IFNldCgibyBPIGEgYWggQSBtIE0gbWFjMyBNQUMzIG1lYWMzIE1FQUMzIHNvIHNhIi5zcGxpdCgiICIpKSxwTGo9bmV3IFNldCgibSBNIG1hYzMgTUFDMyBtZWFjMyBNRUFDMyIuc3BsaXQoIiAiKSk7dmFyIEZCVT17ak06MCxObToxMjQsZDQ6MTQ0LEp6OjIyMCx5VjoyNDAsYjY6MzQwLFdhOjM2MCx6NTo0ODAsaHo6NTg4LG1wOjYwOCxYczo3MjAscW06NzQwLHc0OjEwODAsQzQ6MTEwMCxvNjoxNDQwLFBhOjIxNjAsaTY6OTk5OSwwOiJRVUFMSVRZX09SRElOQUxfVU5LTk9XTiIsMTI0OiJRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUiIsMTQ0OiJRVUFMSVRZX09SRElOQUxfMTQ0UCIsMjIwOiJRVUFMSVRZX09SRElOQUxfMjQwUF9TQVZFUiIsMjQwOiJRVUFMSVRZX09SRElOQUxfMjQwUCIsMzQwOiJRVUFMSVRZX09SRElOQUxfMzYwUF9TQVZFUiIsMzYwOiJRVUFMSVRZX09SRElOQUxfMzYwUCIsNDgwOiJRVUFMSVRZX09SRElOQUxfNDgwUCIsNTg4OiJRVUFMSVRZX09SRElOQUxfNjA4UF9TQVZFUiIsNjA4OiJRVUFMSVRZX09SRElOQUxfNjA4UCIsNzIwOiJRVUFMSVRZX09SRElOQUxfNzIwUCIsNzQwOiJRVUFMSVRZX09SRElOQUxfNzIwUF9FTkhBTkNFRCIsMTA4MDoiUVVBTElUWV9PUkRJTkFMXzEwODBQIiwKMTEwMDoiUVVBTElUWV9PUkRJTkFMXzEwODBQX0VOSEFOQ0VEIiwxNDQwOiJRVUFMSVRZX09SRElOQUxfMTQ0MFAiLDIxNjA6IlFVQUxJVFlfT1JESU5BTF8yMTYwUCIsOTk5OToiUVVBTElUWV9PUkRJTkFMX0hJR0hSRVMifTt2YXIgTkc9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9LExnPXswOiJhdXRvIiwxNDQ6InRpbnkiLDI0MDoic21hbGwiLDM2MDoibWVkaXVtIiw0ODA6ImxhcmdlIiw3MjA6ImhkNzIwIiwxMDgwOiJoZDEwODAiLDE0NDA6ImhkMTQ0MCIsMjE2MDoiaGQyMTYwIiwyODgwOiJoZDI4ODAiLDQzMjA6ImhpZ2hyZXMifSxOej17UVVBTElUWV9PUkRJTkFMX1VOS05PV046MCxRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUjoxMjQsUVVBTElUWV9PUkRJTkFMXzE0NFA6MTQ0LFFVQUxJVFlfT1JESU5BTF8yNDBQX1NBVkVSOjIyMCxRVUFMSVRZX09SRElOQUxfMjQwUDoyNDAsUVVBTElUWV9PUkRJTkFMXzM2MFBfU0FWRVI6MzQwLFFVQUxJVFlfT1JESU5BTF8zNjBQOjM2MCxRVUFMSVRZX09SRElOQUxfNDgwUDo0ODAsClFVQUxJVFlfT1JESU5BTF82MDhQX1NBVkVSOjU4OCxRVUFMSVRZX09SRElOQUxfNjA4UDo2MDgsUVVBTElUWV9PUkRJTkFMXzcyMFA6NzIwLFFVQUxJVFlfT1JESU5BTF83MjBQX0VOSEFOQ0VEOjc0MCxRVUFMSVRZX09SRElOQUxfMTA4MFA6MTA4MCxRVUFMSVRZX09SRElOQUxfMTA4MFBfRU5IQU5DRUQ6MTEwMCxRVUFMSVRZX09SRElOQUxfMTQ0MFA6MTQ0MCxRVUFMSVRZX09SRElOQUxfMjE2MFA6MjE2MCxRVUFMSVRZX09SRElOQUxfSElHSFJFUzo5OTk5fTt2YXIgJGQ9MjU5MkUzO2cuT249e1NUT1BfRVZFTlRfUFJPUEFHQVRJT046Imh0bWw1LXN0b3AtcHJvcGFnYXRpb24iLElWX0RSQVdFUl9FTkFCTEVEOiJ5dHAtaXYtZHJhd2VyLWVuYWJsZWQiLElWX0RSQVdFUl9PUEVOOiJ5dHAtaXYtZHJhd2VyLW9wZW4iLE1BSU5fVklERU86Imh0bWw1LW1haW4tdmlkZW8iLFZJREVPX0NPTlRBSU5FUjoiaHRtbDUtdmlkZW8tY29udGFpbmVyIixWSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORzoiaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmciLEhPVVNFX0JSQU5EOiJob3VzZS1icmFuZCJ9O3ZhciBQbj17YWxsb3dlZDoiQVVUT1BMQVlfQlJPV1NFUl9QT0xJQ1lfQUxMT1dFRCIsImFsbG93ZWQtbXV0ZWQiOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9BTExPV0VEX01VVEVEIixkaXNhbGxvd2VkOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9ESVNBTExPV0VEIn07dmFyIGNLTT17QU5EUk9JRDozLEFORFJPSURfS0lEUzoxOCxBTkRST0lEX01VU0lDOjIxLEFORFJPSURfVU5QTFVHR0VEOjI5LFdFQjoxLFdFQl9SRU1JWDo2NyxXRUJfVU5QTFVHR0VEOjQxLElPUzo1LElPU19LSURTOjE5LElPU19NVVNJQzoyNixJT1NfVU5QTFVHR0VEOjMzfSx1Sj17YW5kcm9pZDoiQU5EUk9JRCIsImFuZHJvaWQuayI6IkFORFJPSURfS0lEUyIsImFuZHJvaWQubSI6IkFORFJPSURfTVVTSUMiLCJhbmRyb2lkLnVwIjoiQU5EUk9JRF9VTlBMVUdHRUQiLHlvdXR1YmU6IldFQiIsInlvdXR1YmUubSI6IldFQl9SRU1JWCIsInlvdXR1YmUudXAiOiJXRUJfVU5QTFVHR0VEIix5dGlvczoiSU9TIiwieXRpb3MuayI6IklPU19LSURTIiwieXRpb3MubSI6IklPU19NVVNJQyIsInl0aW9zLnVwIjoiSU9TX1VOUExVR0dFRCJ9LE00Uz17Im1keC1wYWlyIjoxLCJtZHgtZGlhbCI6MiwibWR4LWNhc3QiOjMsIm1keC12b2ljZSI6NCwibWR4LWluYXBwZGlhbCI6NX07dmFyIExHMT17aV86MSxZdzoyLFBBVVNFRDozLDE6IkRJU0FCTEVEIiwyOiJFTkFCTEVEIiwzOiJQQVVTRUQifTt2YXIgZXh4PVJlZ0V4cCgiXmh0dHBzPzovLyhbXi5dKlxcLm1vYXRhZHNcXC5jb20vfGVbMC05XStcXC55dFxcLnNyc1xcLmRvdWJsZXZlcmlmeVxcLmNvbXxwYWdlYWQyXFwuZ29vZ2xlc3luZGljYXRpb25cXC5jb20vcGFnZWFkL2dlbl8yMDRcXD9pZD15dDNwJnNyPTEmfHBtXFwuYWRzYWZlcHJvdGVjdGVkXFwuY29tL3lvdXR1YmV8cG1cXC50ZXN0LWFkc2FmZXByb3RlY3RlZFxcLmNvbS95b3V0dWJlfHlvdXR1YmVbMC05XStcXC5tb2F0cGl4ZWxcXC5jb20vKSIpLGxKPVJlZ0V4cCgiXmh0dHBzOi8vKFthLXpdK1xcLik/WzAtOWEtZl17MSw2M31cXC5zc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20vfF5odHRwczovLyhbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbS98Xmh0dHBzPzovLygoWy1cXHddKnd3d1stXFx3XSpcXC58Wy1cXHddKndlYlstXFx3XSpcXC58Wy1cXHddKmNhbmFyeVstXFx3XSpcXC58Wy1cXHddKmRldlstXFx3XSpcXC58Wy1cXHddezEsM31cXC4pKyhjb3JwXFwuKT95b3V0dWJlKC1ub2Nvb2tpZXxraWRzfGVkdWNhdGlvbik/XFwuY29tL3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooeW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuKFthLXpdezN9fGkpXFwuY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPy98KGRvY3N8ZHJpdmUpXFwuZ29vZ2xlXFwuY29tLyhhL1teL1xcXFwlXSsvfCl8KG11c2ljfG11c2ljLWdyZWVuLXFhfG11c2ljLXJlbGVhc2UtcWF8eXQtbXVzaWMtZ3JlZW5cXC5jb3JwKVxcLnlvdXR1YmVcXC5jb20vfCh0dnx0di1ncmVlbi1xYXx0di1ncmVlbi1xYVxcLmNvcnB8dHYtcmVsZWFzZS1xYXx0di1yZWxlYXNlLXFhXFwuY29ycHx0di1pbnRlZ3JhdGlvbi1xYXx0di1pbnRlZ3JhdGlvbi1xYVxcLmNvcnB8eXQtdHYtYXV0b3B1c2hcXC5jb3JwfHl0LXR2LWludGVncmF0aW9uXFwuY29ycHx5dC10di1zdGFnaW5nXFwuY29ycClcXC55b3V0dWJlXFwuY29tL3xbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vKSIpLApndGo9UmVnRXhwKCJeaHR0cHM/Oi8vKHd3d1xcLmdvb2dsZVxcLmNvbS9wYWdlYWQveHN1bHx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9zbGF2KSIpLHg1cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bWFpbFxcLmdvb2dsZVxcLmNvbXx5b3V0dWJlXFwuY29tfHlvdXR1YmVlZHVjYXRpb25cXC5jb218eW91dHViZVxcLW5vY29va2llXFwuY29tfHlvdXR1YmVraWRzXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpKSIpLApMaHQ9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLGs3cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbSlbLl0/KDpbMC05XSspPy98KFtBLVphLXowLTktXXsxLDYzfVxcLikqKHNhbmRib3hcXC5nb29nbGVcXC5jb20pKDpbMC05XSspPygvKD8hdXJsXFxiKXwkKSkiKSwKRDVVPVJlZ0V4cCgiXigoaHR0cChzKT8pOik/XFwvXFwvKCgoKGxoWzMtNl0oLXR0fC1kW2EtZyx6XSk/XFwuKChnZ3BodCl8KGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKXwoc2FuZGJveFxcLmdvb2dsZSkpKXwobGg3XFwtKGV1fHVzfHF3fHJ0fHh4KVxcLigoZ29vZ2xldXNlcmNvbnRlbnQpfChnb29nbGUpKSl8KChwaG90b3N8dGVzdG9ubHl8d29yaylcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfChbXFx3XFwtXStcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfCgoWzEtNF1cXC5icFxcLmJsb2dzcG90KXwoYnBbMC0zXVxcLmJsb2dnZXIpKXwoY2NwLWxoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfCgoKChjcHxjaXxncClbMy02XSl8KGFwWzEtMl0pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpfChnbVsxLTRdXFwuZ2dwaHQpfChwbGF5LSh0aS0pP2xoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChnelswLTFdXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChsaDNcXC1nbVxcLmdvb2dsZSl8KCgoeXRbMy00XSl8KHNwWzEtM10pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpKVxcLmNvbSl8KGRyaXZlXFwuZ29vZ2xlXFwuY29tXFwvZHJpdmVcXC0odXNlcmNvbnRlbnR8dmlld2VyKSl8KGRwWzMtNl1cXC5nb29nbGV1c2VyY29udGVudFxcLmNuKXwoZHA0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20pfCgocGhvdG9zfGRyaXZlfGNvbnRyaWJ1dGlvbilcXC1pbWFnZVxcLShkZXZ8cWEpKC11c3wtZXUpPygtYXV0aHwtY29va2llKT9cXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwocGhvdG9zXFwtaW1hZ2VcXC1kZXZcXC1kbFxcLShhdXRofGV1fHVzKVxcLmNvcnBcXC5nb29nbGVcXC5jb20pfCgoZGV2fGRldjJ8ZGV2M3xxYXxxYTJ8cWEzfHFhLXJlZHxxYS1ibHVlfGNhbmFyeSlbLS5dbGlnaHRob3VzZVxcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC9pbWFnZSl8KGltYWdlXFwtKGRldnxxYSlcXC1saWdodGhvdXNlKC1hdXRoKT9cXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tKFxcL2ltYWdlKT8pfChkcml2ZVxcLXFhXFwuY29ycFxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkb2NzKFxcLShkZXZ8cWEpXFwuY29ycCk/XFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pPyhkb2NzfHNoZWV0c3xzbGlkZXN8ZHJhd2luZ3N8Zm9ybXN8dmlkZW9zfHBpY3R1cmVzKVxcLWltYWdlc1xcLShydHxxdykpfChkb2NzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXMpfChzaXRlc1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXNcXC0ocnR8cXcpKXwoYXRhcmktZ3JlZW4tdGVzdFxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KHNpdGVzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXMpKVxcL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzPzovLygoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY29ycFxcLmdvb2dsZVxcLmNvbXxwcm94eVxcLmdvb2dsZXByb2RcXC5jb218Y1xcLmdvb2dsZXJzXFwuY29tfHByb3h5XFwuZ29vZ2xlcnNcXC5jb218Ym9yZ1xcLmdvb2dsZVxcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfGdvb2dsZXBsZXhcXC5jb218cGxheVxcLmdvb2dsZVxcLmNvbXxwcm9kXFwuZ29vZ2xlXFwuY29tfHZpZGVvXFwuZ29vZ2xlXFwuY29tfHlvdXR1YmVcXC5jb218eXRpbWdcXC5jb218eXRpbWdcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tfGNoYXRcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbQS1aYS16MC05LV17MSw2M31cXC4pKihzYW5kYm94XFwuZ29vZ2xlXFwuY29tKSg6WzAtOV0rKT8oLyg/IXVybFxcYil8JCl8czJcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbS9zMi9mYXZpY29uc1xcP3x5dFszLTRdXFwuZ2dwaHRcXC5jb20vKSIpLApiS1o9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFhLMj1SZWdFeHAoIl5odHRwcz8uKiNvY3IkfF5odHRwcz86Ly8oYWtzZWN1cmVcXC5pbXJ3b3JsZHdpZGVcXC5jb20vfGNkblxcLmltcndvcmxkd2lkZVxcLmNvbS98c2VjdXJlXFwtLi5cXC5pbXJ3b3JsZHdpZGVcXC5jb20vKSIpLHZFaD1SZWdFeHAoIl5odHRwcz86Ly8oZ29vZ2xlYWRzXFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0LyhhY2xrfHBhZ2VhZC9jb252ZXJzaW9uKXx3d3dcXC5nb29nbGVcXC5jb20vKGFjbGt8cGFnZWFkL2NvbnZlcnNpb24pfHd3d1xcLmdvb2dsZWFkc2VydmljZXNcXC5jb20vKGFjbGt8cGFnZWFkLyhhY2xrfGNvbnZlcnNpb24pKXx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9jb252ZXJzaW9uKSIpLG5Fdz1SZWdFeHAoIl4oKGh0dHAocyk/KTopP1xcL1xcLygoKChsaFszLTZdKC10dHwtZFthLWcsel0pP1xcLigoZ2dwaHQpfChnb29nbGV1c2VyY29udGVudCl8KGdvb2dsZSl8KHNhbmRib3hcXC5nb29nbGUpKSl8KGxoN1xcLShldXx1c3xxd3xydHx4eClcXC4oKGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKSkpfCgocGhvdG9zfHRlc3Rvbmx5fHdvcmspXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoW1xcd1xcLV0rXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoKFsxLTRdXFwuYnBcXC5ibG9nc3BvdCl8KGJwWzAtM11cXC5ibG9nZ2VyKSl8KGNjcC1saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoKCgoY3B8Y2l8Z3ApWzMtNl0pfChhcFsxLTJdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKXwoZ21bMS00XVxcLmdncGh0KXwocGxheS0odGktKT9saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoZ3pbMC0xXVxcLmdvb2dsZXVzZXJjb250ZW50KXwobGgzXFwtZ21cXC5nb29nbGUpfCgoKHl0WzMtNF0pfChzcFsxLTNdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKSlcXC5jb20pfChkcml2ZVxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkcFszLTZdXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jbil8KGRwNFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKXwoKHBob3Rvc3xkcml2ZXxjb250cmlidXRpb24pXFwtaW1hZ2VcXC0oZGV2fHFhKSgtdXN8LWV1KT8oLWF1dGh8LWNvb2tpZSk/XFwuY29ycFxcLmdvb2dsZVxcLmNvbSl8KHBob3Rvc1xcLWltYWdlXFwtZGV2XFwtZGxcXC0oYXV0aHxldXx1cylcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwoKGRldnxkZXYyfGRldjN8cWF8cWEyfHFhM3xxYS1yZWR8cWEtYmx1ZXxjYW5hcnkpWy0uXWxpZ2h0aG91c2VcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tXFwvaW1hZ2UpfChpbWFnZVxcLShkZXZ8cWEpXFwtbGlnaHRob3VzZSgtYXV0aCk/XFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbShcXC9pbWFnZSk/KXwoZHJpdmVcXC1xYVxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC9kcml2ZVxcLSh1c2VyY29udGVudHx2aWV3ZXIpKXwoZG9jcyhcXC0oZGV2fHFhKVxcLmNvcnApP1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXNcXC0ocnR8cXcpKXwoZG9jc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/KGRvY3N8c2hlZXRzfHNsaWRlc3xkcmF3aW5nc3xmb3Jtc3x2aWRlb3N8cGljdHVyZXMpXFwtaW1hZ2VzKXwoc2l0ZXNcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KGF0YXJpLWdyZWVuLXRlc3RcXC5jb3JwXFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pP3NpdGVzKHYpP1xcLWltYWdlc1xcLShydHxxdykpfChzaXRlc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzKSlcXC98Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC8oPyF1cmxcXGIpfCQpfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK3NzbHByb3h5XFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVwbGV4XFwuY29tfGdvb2dsZXZpZGVvXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bGgzXFwucGhvdG9zXFwuZ29vZ2xlXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5dFxcLmFrYW1haXplZFxcLm5ldHxjaGF0XFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfChbQS1aYS16MC05LV17MSw2M31cXC4pKmNcXC5saDMoLWRbYS1neXpdfC10ZXN0b25seSk/XFwuKGdvb2dsZXVzZXJjb250ZW50fHBob3Rvc1xcLmdvb2dsZSlcXC5jb20vLiokKSIpLApXaFo9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFJyaT1SZWdFeHAoIl5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGltYXNka1xcLmdvb2dsZWFwaXNcXC5jb218Mm1kblxcLm5ldHxnb29nbGVzeW5kaWNhdGlvblxcLmNvbXxjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfGdvb2dsZWFkc1xcLmdcXC5kb3VibGVjbGlja1xcLm5ldHxwcm9kXFwuZ29vZ2xlXFwuY29tfHN0YXRpY1xcLmRvdWJsZWNsaWNrXFwubmV0fHN0YXRpY1xcLmdvb2dsZWFkc3NlcnZpbmdcXC5jbnxzdHVkaW9hcGlcXC5kb3VibGVjbGlja1xcLm5ldHx5b3V0dWJlXFwuY29tfHlvdXR1YmVcXC5nb29nbGVhcGlzXFwuY29tfHlvdXR1YmVcXC1ub2Nvb2tpZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbXx5dGltZ1xcLmNvbXx5dGltZ1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfGxpZ2h0Ym94LShkZW1vc3xidWlsZGVyKVxcLmFwcHNwb3RcXC5jb20vfHNbMDFdKHFhKT9cXC4ybWRuXFwubmV0L2Fkcy9yaWNobWVkaWEvc3R1ZGlvL211L3RlbXBsYXRlcy90ZXRyaXN8d3d3XFwuZ3N0YXRpY1xcLmNvbS9kb3VibGVjbGljay9zdHVkaW8vaW5ub3ZhdGlvbi9oNS9sYXlvdXRzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL3l0cGxheWVyKSIpLApRb009UmVnRXhwKCJeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY3Jvd2Rzb3VyY2V8ZGF0YWNvbXB1dGUpXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzOi8vKGFkc3xhZHdvcmRzXFwuY29ycClcXC5nb29nbGVcXC5jb20vKGF3Lyhhc3NldGdyb3VwLyhlZGl0fG5ldyl8Y2FtcGFpZ25zLyhuZXcvKHBlcmZvcm1hbmNlbWF4fGRlbWFuZGdlbil8ZWRpdC9kZW1hbmRnZW4pKXwkKXxeaHR0cHM6Ly8oYWR3b3Jkcy0pP2NhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vKGJvb2tzfHBsYXktYm9va3MtKGF1dG9wdXNofGludGVybmFsfHByZXByb2R8c3RhZ2luZykoLXNhbmRib3h8XFwuY29ycCkpXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oL3wkKXxeaHR0cHM6Ly9hZHMoLWV4dGVybmFsKT8tcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vY2FudmFzdGVzdGVyLTNmZDBiXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL2xvY2FsaG9zdFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKDpcXGQrKT8oL3wkKXxeaHR0cHM6Ly9uYXJyYXRpdmUtbmV3cy1jYXN0LXJlY2VpdmVyLWRcXC5hcHBzcG90XFwuY29tKC98JCl8Xmh0dHBzOi8vbmFycmF0aXZlLW5ld3MtY2FzdC1yZWNlaXZlci1mXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL29uZVxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwczovL3d3d1xcLmdvb2dsZVxcLmNvbS9jdWx0dXJhbGluc3RpdHV0ZS9tYW5hZ2UvLiokfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vYW9nX2hvd3RvfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vbmFycmF0aXZlX2Nhc3RfcmVjZWl2ZXIvbmV3c3xeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihpbWFzZGtcXC5nb29nbGVhcGlzXFwuY29tfGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVhZHNcXC5nXFwuZG91YmxlY2xpY2tcXC5uZXR8Z29vZ2xlcGxleFxcLmNvbXxwbGF5XFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218cGhvdG9zXFwuZ29vZ2xlXFwuY29tfGdldFxcLmdvb2dsZVxcLmNvbXxibG9nZ2VyXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218c3VydmV5XFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0fHlvdXR1YmVcXC5jb218eW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb218eW91dHViZWVkdWNhdGlvblxcLmNvbXx5b3V0dWJlXFwtbm9jb29raWVcXC5jb218eXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218eW91dHViZWtpZHNcXC5jb218dmV2b1xcLmNvbXxjaGF0XFwuZ29vZ2xlXFwuY29tfG1lZXRcXC5nb29nbGVcXC5jb218YXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8oL3wkKXwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfCh3d3dcXC58ZW5jcnlwdGVkXFwuKT9nb29nbGVcXC4oY2F0fGNvbShcXC4oYVtmZ2lydV18YltkaG5vcnpdfGNbb3V5XXxkb3xlW2NndF18Zmp8Z1toaXRdfGhrfGptfGtofGt3fGxbYmN5XXxtW210eHldfG5bYWZnaXBdfG9tfHBbYWVnaGtyeV18cWF8c1thYmdsdl18dFtqbnJ3XXx1YXx1eXx2Y3x2bikpP3xhW2NkZWxtc3R6XXxjW2FjZGZnaGlsbW52el18YlthZWZnaWpzdHldfGVlfGVzfGRbZWprbXpdfGdbYWVmZ2xtcHJ5XXxmW2ltcl18aVtlbW9xcnN0XXxoW25ydHVdfGtbZ2l6XXxqZXxqb3xtW2RlZ2tsbnN1dnddfGxbYWlrdHV2XXxuW2Vsb3J1XXxwW2xuc3RdfHNbY2VoaWttbm9ydF18cltvc3V3XXx1c3x0W2Rna2xtbm90XXx3c3x2Z3x2dXxjb1xcLihhb3xid3xja3xjcnxpW2Rsbl18anB8a2V8a3J8bHN8bWF8bXp8bnp8dGh8dHp8dVtna3pdfHZlfHZpfHpbYW13XSkpLyhzZWFyY2h8d2ViaHApXFw/fCh3d3dcXC58ZW5jcnlwdGVkXFwuKWdvb2dsZVxcLihjYXR8Y29tKFxcLihhW2ZnaXJ1XXxiW2Robm9yel18Y1tvdXldfGRvfGVbY2d0XXxmanxnW2hpdF18aGt8am18a2h8a3d8bFtiY3ldfG1bbXR4eV18blthZmdpcF18b218cFthZWdoa3J5XXxxYXxzW2FiZ2x2XXx0W2pucnddfHVhfHV5fHZjfHZuKSk/fGFbY2RlbG1zdHpdfGNbYWNkZmdoaWxtbnZ6XXxiW2FlZmdpanN0eV18ZWV8ZXN8ZFtlamttel18Z1thZWZnbG1wcnldfGZbaW1yXXxpW2Vtb3Fyc3RdfGhbbnJ0dV18a1tnaXpdfGplfGpvfG1bZGVna2xuc3V2d118bFthaWt0dXZdfG5bZWxvcnVdfHBbbG5zdF18c1tjZWhpa21ub3J0XXxyW29zdXddfHVzfHRbZGdrbG1ub3RdfHdzfHZnfHZ1fGNvXFwuKGFvfGJ3fGNrfGNyfGlbZGxuXXxqcHxrZXxrcnxsc3xtYXxtenxuenx0aHx0enx1W2drel18dmV8dml8elthbXddKSkvPyR8bGlnaHRib3gtKGRlbW9zfGJ1aWxkZXIpXFwuYXBwc3BvdFxcLmNvbS98czBcXC4ybWRuXFwubmV0L2luc3RyZWFtL2h0bWw1L25hdGl2ZS98c1swMV0ocWEpP1xcLjJtZG5cXC5uZXQvYWRzL3JpY2htZWRpYS9zdHVkaW8vbXUvdGVtcGxhdGVzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL2g1L2xheW91dHMvdGV0cmlzKSIpLApWNGk9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/KC98JCkiKSxjWlM9UmVnRXhwKCJeKGh0dHBzOi8vcGxheVxcLmdvb2dsZVxcLmNvbXxodHRwczovL3Bob3Rvc1xcLmdvb2dsZVxcLmNvbXxodHRwczovL2dldFxcLmdvb2dsZVxcLmNvbXxodHRwczovL21haWxcXC5nb29nbGVcXC5jb218aHR0cHM6Ly95dFxcLXdlYlxcLWVtYmVkZGVkXFwtcGxheWVyXFwuYXBwc3BvdFxcLmNvbXxodHRwOi8veXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218aHR0cHM6Ly9jaGF0XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vb25lXFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHN0cmFuc3BhcmVuY3lcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHNcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHdvcmRzXFwuY29ycFxcLmdvb2dsZVxcLmNvbXxodHRwczovL2Fkc1xcLWV4dGVybmFsXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWRzXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWR3b3Jkc1xcLWNhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vY2FuYXJ5XFwucWFcXC5hZHpcXC5nb29nbGVcXC5jb20pJHxeaHR0cDovL1swLTldK1xcLlthLXowLTlcXC1fXStcXC5bYS16MC05XFwtX10rXFwuW2EtejAtOVxcLV9dK1xcLihbYS16XXsyfXxpKVxcLmJvcmdcXC5nb29nbGVcXC5jb20oOlswLTldKyk/JHxeaHR0cHM6Ly8oKGF1dG9wdXNofGJldGEtbG9va3VwfGRhaWx5LVswLTZdfG1hbnVhbC1xdWFsfHByZXByb2R8c3RyZWFtKVxcLik/bWVldFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNyb3dkc291cmNlfGRhdGFjb21wdXRlKVxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKHlvdXR1YmV8eW91dHViZWtpZHN8eW91dHViZWVkdWNhdGlvbilcXC5jb20kfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc2FuZGJveFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tJHxeaHR0cHM6Ly8oYm9va3N8cGxheS1ib29rcy0oYXV0b3B1c2h8aW50ZXJuYWx8cHJlcHJvZHxzdGFnaW5nKSgtc2FuZGJveHxcXC5jb3JwKSlcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbSR8Xmh0dHBzOi8vKGRyYWZ0fHd3d3wod3d3XFwuKT9kZXZcXC5zYW5kYm94fCh3d3dcXC4pP2F1dG9wdXNoXFwuc2FuZGJveHwod3d3XFwuKT9zdGFnaW5nXFwuc2FuZGJveHwod3d3XFwuKT9yZXN0b3JlXFwuc2FuZGJveClcXC5ibG9nZ2VyXFwuY29tJHxeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbSR8Xmh0dHBzOi8vbG9jYWxob3N0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oOlxcZCspPyR8Xmh0dHBzPzovLygoKGRvY3N8bXxzaW5nfHNzfHNzc3x3d3cpXFwuKT9kcml2ZVxcLmdvb2dsZVxcLmNvbSR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfChbQS1aYS16MC05LV17MSw2M31cXC4pKmdvb2dsZXBsZXhcXC5jb20oOlswLTldKyk/JHwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSpwcm94eVxcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KHd3d1xcLnxlbmNyeXB0ZWRcXC4pZ29vZ2xlXFwuKGNhdHxjb20oXFwuKGFbZmdpcnVdfGJbZGhub3J6XXxjW291eV18ZG98ZVtjZ3RdfGZqfGdbaGl0XXxoa3xqbXxraHxrd3xsW2JjeV18bVttdHh5XXxuW2FmZ2lwXXxvbXxwW2FlZ2hrcnldfHFhfHNbYWJnbHZdfHRbam5yd118dWF8dXl8dmN8dm4pKT98YVtjZGVsbXN0el18Y1thY2RmZ2hpbG1udnpdfGJbYWVmZ2lqc3R5XXxlZXxlc3xkW2Vqa216XXxnW2FlZmdsbXByeV18ZltpbXJdfGlbZW1vcXJzdF18aFtucnR1XXxrW2dpel18amV8am98bVtkZWdrbG5zdXZ3XXxsW2Fpa3R1dl18bltlbG9ydV18cFtsbnN0XXxzW2NlaGlrbW5vcnRdfHJbb3N1d118dXN8dFtkZ2tsbW5vdF18d3N8dmd8dnV8Y29cXC4oYW98Ynd8Y2t8Y3J8aVtkbG5dfGpwfGtlfGtyfGxzfG1hfG16fG56fHRofHR6fHVbZ2t6XXx2ZXx2aXx6W2Ftd10pKS8/JHxbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfGRvY3NcXC5nb29nbGVcXC5jb20kKSIpLAphSFU9UmVnRXhwKCJeKGh0dHBzOi8vY3VycmVudHNcXC5nb29nbGVcXC5jb20pJCIpO3ZhciBkUD0hMTtnLndaPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0hMSl7dGhpc1tJWzE3XV09bjt0aGlzW0lbOV1dPVc7dGhpc1tJWzM5XV09dGhpc1tJWzI4XV09dGhpc1tJWzI2XV09SVsyMV07dGhpc1tJWzFdXT17fTt0aGlzW0lbMjldXT1JWzIxXX1zZXQobixXKXt0aGlzW0lbMV1dW25dIT09VyYmKHRoaXNbSVsxXV1bbl09Vyx0aGlzW0lbMjldXT1JWzIxXSl9Z2V0KG4pe2VYKDE0LDcyMTMsdGhpcyk7cmV0dXJuIHRoaXNbSVsxXV1bbl18fG51bGx9V0QoKXt0aGlzW0lbMjldXXx8KHRoaXNbSVsyOV1dPUVjKDYsMjk5OCx0aGlzKSk7cmV0dXJuIHRoaXNbSVsyOV1dfWNsb25lKCl7dmFyIG49bmV3IGcud1oodGhpc1tJWzE3XV0sdGhpc1tJWzldXSk7bltJWzI2XV09dGhpc1tJWzI2XV07bltJWzI4XV09dGhpc1tJWzI4XV07bltJWzM5XV09dGhpc1tJWzM5XV07bltJWzFdXT1nLnMwKHRoaXNbSVsxXV0pO25bSVsyOV1dPXRoaXNbSVsyOV1dO3JldHVybiBufX07dmFyIEpaPXtGQUlSUExBWToiZmFpcnBsYXkiLFBMQVlSRUFEWToicGxheXJlYWR5IixXSURFVklORToid2lkZXZpbmUiLENMRUFSS0VZOm51bGwsRkxBU0hBQ0NFU1M6bnVsbCxVTktOT1dOOm51bGwsV0lERVZJTkVfQ0xBU1NJQzpudWxsfTt2YXIgd1A9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0hMSl7dGhpcy5uYW1lPW47dGhpcy5pZD1XO3RoaXMuaXNEZWZhdWx0PUQ7dGhpcy5pc0F1dG9EdWJiZWQ9Yn1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1nZXRJZCgpe3JldHVybiB0aGlzLmlkfWdldElzRGVmYXVsdCgpe3JldHVybiB0aGlzLmlzRGVmYXVsdH1nZXRJc0F1dG9EdWJiZWQoKXtyZXR1cm4gdGhpcy5pc0F1dG9EdWJiZWR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5uYW1lfX07d1AucHJvdG90eXBlLmdldE5hbWU9d1AucHJvdG90eXBlLmdldE5hbWU7d1AucHJvdG90eXBlLmdldElkPXdQLnByb3RvdHlwZS5nZXRJZDt3UC5wcm90b3R5cGUuZ2V0SXNEZWZhdWx0PXdQLnByb3RvdHlwZS5nZXRJc0RlZmF1bHQ7d1AucHJvdG90eXBlLmdldElzQXV0b0R1YmJlZD13UC5wcm90b3R5cGUuZ2V0SXNBdXRvRHViYmVkO2cuUXc9Y2xhc3N7Y29uc3RydWN0b3Iobj17fSl7dGhpcy5sYW5ndWFnZUNvZGU9bi5sYW5ndWFnZUNvZGV8fCIiO3RoaXMubGFuZ3VhZ2VOYW1lPW4ubGFuZ3VhZ2VOYW1lfHxudWxsO3RoaXMua2luZD1uLmtpbmR8fCIiO3RoaXMubmFtZT1uLm5hbWU9PT12b2lkIDA/bnVsbDpuLm5hbWU7dGhpcy5kaXNwbGF5TmFtZT1uLmRpc3BsYXlOYW1lfHxudWxsO3RoaXMuaWQ9bi5pZHx8bnVsbDt0aGlzLk49bi5pc19zZXJ2YWJsZXx8ITE7dGhpcy5pc1RyYW5zbGF0ZWFibGU9bi5pc190cmFuc2xhdGVhYmxlfHwhMTt0aGlzLnVybD1uLnVybHx8bnVsbDt0aGlzLnZzc0lkPW4udnNzX2lkfHwiIjt0aGlzLmlzRGVmYXVsdD1uLmlzX2RlZmF1bHR8fCExO3RoaXMudHJhbnNsYXRpb25MYW5ndWFnZT1uLnRyYW5zbGF0aW9uTGFuZ3VhZ2V8fG51bGw7dGhpcy54dGFncz1uLnh0YWdzfHwiIjt0aGlzLmNhcHRpb25JZD1uLmNhcHRpb25JZHx8IiJ9Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1pc1NlcnZhYmxlKCl7cmV0dXJuIHRoaXMuTn1XRCgpe3JldHVybiB0aGlzLnVybH1nZXRYdGFncygpe3JldHVybiB0aGlzLnh0YWdzfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubGFuZ3VhZ2VDb2RlKwoiOiAiK2cuY24odGhpcykrIiAtICIrdGhpcy52c3NJZCsiIC0gIisodGhpcy5jYXB0aW9uSWR8fCIiKX1lcXVhbHMobil7cmV0dXJuIG4/dGhpcy50b1N0cmluZygpPT09bi50b1N0cmluZygpOiExfU9WKCl7cmV0dXJuISghdGhpcy5sYW5ndWFnZUNvZGV8fHRoaXMudHJhbnNsYXRpb25MYW5ndWFnZSYmIXRoaXMudHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGUpfX07dmFyIFdBPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pZD1uO3RoaXMua1o9Vzt0aGlzLmNhcHRpb25UcmFja3M9W107dGhpcy5XPXRoaXMuWD1udWxsO3RoaXMueHRhZ3M9IiI7dGhpcy5WPXRoaXMuaj0hMTt0aGlzLk49bnVsbDt0aGlzLko9IlVOS05PV04iO3RoaXMuY2FwdGlvbnNJbml0aWFsU3RhdGU9IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiI7bj10aGlzLmtaLmlkLnNwbGl0KCIuIik7bi5sZW5ndGg+MSYmKHRoaXMuaj1uWzFdPT09IjIiLHRoaXMuVj1uWzFdPT09IjQiKX1nZXRMYW5ndWFnZUluZm8oKXtyZXR1cm4gdGhpcy5rWn1nZXRYdGFncygpe2lmKCF0aGlzLnh0YWdzKXtsZXQgbj10aGlzLmlkLnNwbGl0KCI7Iik7bi5sZW5ndGg+MSYmKHRoaXMueHRhZ3M9blsxXSl9cmV0dXJuIHRoaXMueHRhZ3N9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5rWi5uYW1lfWlzQXV0b0R1YmJlZCgpe3JldHVybiB0aGlzLmtaLmdldElzQXV0b0R1YmJlZCgpfX07CldBLnByb3RvdHlwZS5nZXRMYW5ndWFnZUluZm89V0EucHJvdG90eXBlLmdldExhbmd1YWdlSW5mbztXQS5wcm90b3R5cGUuaXNBdXRvRHViYmVkPVdBLnByb3RvdHlwZS5pc0F1dG9EdWJiZWQ7dmFyIGIzPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdj0wKXt0aGlzLko9bjt0aGlzLk49Vzt0aGlzLlc9RDt0aGlzLnJlYXNvbj1iO3RoaXMuTnM9dn1lcXVhbHMobil7cmV0dXJuIHRoaXMuSj09PW4uSiYmdGhpcy5OPT09bi5OJiZ0aGlzLlc9PT1uLlcmJnRoaXMucmVhc29uPT09bi5yZWFzb24mJighaFR8fHRoaXMuTnM9PT1uLk5zKX1pc0xvY2tlZCgpe3JldHVybiB0aGlzLlcmJiEhdGhpcy5KJiZ0aGlzLko9PT10aGlzLk59Y29tcG9zZShuKXtpZihuLlcmJnhKKG4pKXJldHVybiBZWjtpZihuLld8fHhKKHRoaXMpKXJldHVybiBuO2lmKHRoaXMuV3x8eEoobikpcmV0dXJuIHRoaXM7dmFyIFc9dGhpcy5KJiZuLko/TWF0aC5tYXgodGhpcy5KLG4uSik6dGhpcy5KfHxuLkosRD10aGlzLk4mJm4uTj9NYXRoLm1pbih0aGlzLk4sbi5OKTp0aGlzLk58fG4uTjtXPU1hdGgubWluKFcsRCk7dmFyIGI9MDtoVCYmKGI9dGhpcy5OcyE9PTAmJm4uTnMhPT0wP01hdGgubWluKHRoaXMuTnMsCm4uTnMpOnRoaXMuTnM9PT0wP24uTnM6dGhpcy5Ocyk7cmV0dXJuIGhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OJiZiPT09dGhpcy5Oc3x8IWhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OP3RoaXM6aFQ/bmV3IGIzKFcsRCwhMSxEPT09dGhpcy5OJiZiPT09dGhpcy5Ocz90aGlzLnJlYXNvbjpuLnJlYXNvbixiKTpuZXcgYjMoVyxELCExLEQ9PT10aGlzLk4/dGhpcy5yZWFzb246bi5yZWFzb24pfVgobil7cmV0dXJuIW4udmlkZW98fGhUJiZ0aGlzLk5zIT09MCYmdGhpcy5OczxuLk5zPyExOmdGKHRoaXMsbi52aWRlby5xdWFsaXR5KX19LG5oVT12QSgiYXV0byIsImhkMTA4MCIsITEsImwiKSxUOD12QSgiYXV0byIsImxhcmdlIiwhMSwibCIpLFlaPXZBKCJhdXRvIiwiYXV0byIsITEsInAiKSxoVD0hMTt2YXIgcGc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy52aWRlb0luZm9zPW47dGhpcy5KPVc7dGhpcy5hdWRpb1RyYWNrcz1bXTt0aGlzLlc9Ynx8W107aWYodGhpcy5KKXtuPW5ldyBTZXQ7RD8uKHthaW5mb2xlbjp0aGlzLkoubGVuZ3RofSk7Zm9yKGxldCB2IG9mIHRoaXMuSil7aWYoIXYua1p8fG4uaGFzKHYua1ouaWQpKXtEPy4oe2F0a2VycjohIXYua1osaXRhZzp2Lml0YWcseHRhZzp2LkosbGFuZzp2LmtaPy5uYW1lfHwiIixsYW5naWQ6di5rWj8uaWR8fCIifSk7Y29udGludWV9Vz1uZXcgV0Eodi5pZCx2LmtaKTtuLmFkZCh2LmtaLmlkKTt0aGlzLmF1ZGlvVHJhY2tzLnB1c2goVyl9RD8uKHthdGtsZW46dGhpcy5hdWRpb1RyYWNrcy5sZW5ndGh9KX19Y1kobil7bj1ufHxZWjt2YXIgVz1nLkVNKHRoaXMudmlkZW9JbmZvcyx2PT5uLlgodikpLEQ9W10sYj17fTsKZm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl0udmlkZW87YltrLnF1YWxpdHldfHwoRC5wdXNoKGspLGJbay5xdWFsaXR5XT0hMCl9cmV0dXJuIER9TnEobil7bj1ufHxZWjtyZXR1cm4gZy5FTSh0aGlzLnZpZGVvSW5mb3MsVz0+bi5YKFcpKX1nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpe3JldHVybiB0aGlzLmF1ZGlvVHJhY2tzfU4oKXtyZXR1cm4hIXRoaXMuSn19O3ZhciBBSFM9bmV3IFNldChbIjM1NiIsIjcyMSJdKSxXVnI9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLko9bnVsbDt0aGlzLk49bmV3IE1hcH1tQSgpe3N1cGVyLm1BKCl9fTt2YXIgUjQ9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSl7dGhpcy5qJD1uO3RoaXMuc3RhcnRUaW1lPVc7dGhpcy5kdXJhdGlvbj1EO3RoaXMuaW5nZXN0aW9uVGltZT1iO3RoaXMuc291cmNlVVJMPXY7dGhpcy5mZj1MO3RoaXMuUU89ZTt0aGlzLmVuZFRpbWU9VytEO3RoaXMuTj1ofHwwO3RoaXMucmFuZ2U9a3x8bnVsbDt0aGlzLnBlbmRpbmc9eHx8ITE7dGhpcy5mZj1MfHxudWxsfX07Zy5qYz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2VnbWVudHM9W107dGhpcy5KPW51bGw7dGhpcy5ZPSEwO3RoaXMuSz0iIn1qKG4pe3RoaXMuc2VnbWVudHMucHVzaChuKX1NSShuKXtyZXR1cm4hIXRoaXMuVyhuKX1nZXREdXJhdGlvbihuKXtyZXR1cm4obj10aGlzLlcobikpP24uZHVyYXRpb246MH1EKG4pe3JldHVybiB0aGlzLmdldER1cmF0aW9uKG4pfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1swXS5qJDotMX1oQyhuKXtyZXR1cm4obj10aGlzLlcobikpP24uaW5nZXN0aW9uVGltZTpOYU59eCQoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJDotMX1xZShuKXtyZXR1cm4gdGhpcy54JCgpPT09biYmIXRoaXMuWSYmbj49MH1iUSgpe3ZhciBuPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07cmV0dXJuIG4/bi5lbmRUaW1lOgpOYU59TGYoKXtyZXR1cm4gdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWV9SDcoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGh9Tigpe3JldHVybiAwfVIzKG4pe3JldHVybihuPXRoaXMuWChuKSk/bi5qJDotMX1WKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zb3VyY2VVUkw6IiJ9Z2V0U3RhcnRUaW1lKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zdGFydFRpbWU6MH1qRShuKXtyZXR1cm4gdGhpcy5nZXRTdGFydFRpbWUobikrdGhpcy5nZXREdXJhdGlvbihuKX1pc0xvYWRlZCgpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD4wfVcobil7aWYodGhpcy5KJiZ0aGlzLkouaiQ9PT1uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMsbmV3IFI0KG4sMCwwLDAsIiIpLChXLEQpPT5XLmokLUQuaiQpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTpudWxsfVgobil7aWYodGhpcy5KJiZ0aGlzLkouc3RhcnRUaW1lPD1uJiZuPHRoaXMuSi5zdGFydFRpbWUrdGhpcy5KLmR1cmF0aW9uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMse3N0YXJ0VGltZTpufSwoVyxEKT0+Vy5zdGFydFRpbWUtRC5zdGFydFRpbWUpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTp0aGlzLnNlZ21lbnRzW01hdGgubWF4KDAsLW4tMildfWFwcGVuZChuKXtpZihuLmxlbmd0aClpZihuPWcuUk0obiksdGhpcy5zZWdtZW50cy5sZW5ndGgpe3ZhciBXPXRoaXMuc2VnbWVudHMubGVuZ3RoP2cuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZTowLEQ9blswXS5qJC10aGlzLngkKCk7RD4xJiZnLkNiKHRoaXMuc2VnbWVudHMpO0Q9RD4wPzA6LUQrMTtmb3IobGV0IGI9RDtiPG4ubGVuZ3RoO2IrKylEPW5bYl0sRC5zdGFydFRpbWU9VyxELmVuZFRpbWU9RC5zdGFydFRpbWUrRC5kdXJhdGlvbixXKz1uW2JdLmR1cmF0aW9uLHRoaXMuc2VnbWVudHMucHVzaChuW2JdKX1lbHNlIHRoaXMuc2VnbWVudHM9bn1YZCgpe3JldHVybiAwfXR3KG4sVyl7dGhpcy5ZPW47dGhpcy5LPVd9fTtnLmpjLnByb3RvdHlwZS5VNz1XWigzKTt2YXIgRF89Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2PSExKXt0aGlzLmRhdGE9bjt0aGlzLm9mZnNldD1XO3RoaXMuc2l6ZT1EO3RoaXMudHlwZT1iO3RoaXMuTj0odGhpcy5KPXYpPzA6ODt0aGlzLmRhdGFPZmZzZXQ9dGhpcy5vZmZzZXQrdGhpcy5OfXNraXAobil7dGhpcy5OKz1ufX07dmFyIE9LdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLm9mZnNldD0wO3RoaXMuZGF0YT1uZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKG4pKX19O3ZhciBEVmk7Zy5sMz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiLHYsayxoKXt0aGlzLnN0YXJ0U2Vjcz1uO3RoaXMuQ2Y9Vzt0aGlzLmNvbnRleHQ9RDt0aGlzLmlkZW50aWZpZXI9Yjt0aGlzLmV2ZW50PXY7dGhpcy5OPWs7dGhpcy50aWxlQ29udGV4dD1ofX07RFZpPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLlBCPW47dGhpcy5vcHBvcnR1bml0eUlkPVc7dGhpcy5zZXJpYWxpemVkUHJlZmV0Y2hDb250ZXh0PUR9fTt2YXIgYk5VPXtwcmVkaWN0U3RhcnQ6InByZWRpY3RTdGFydCIsc3RhcnQ6InN0YXJ0IixbImNvbnRpbnVlIl06ImNvbnRpbnVlIixzdG9wOiJzdG9wIixwcmVmZXRjaDoicHJlZmV0Y2gifSxtNWo9e0VWRU5UX1BSRURJQ1RfU1RBUlQ6InByZWRpY3RTdGFydCIsRVZFTlRfU1RBUlQ6InN0YXJ0IixFVkVOVF9DT05USU5VRToiY29udGludWUiLEVWRU5UX1NUT1A6InN0b3AiLEVWRU5UX1BSRUZFVENIOiJwcmVmZXRjaCJ9O3ZhciBYNT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZGF0YT1uO3RoaXMudXJpPVd8fCJodHRwOi8veW91dHViZS5jb20vc3RyZWFtaW5nL21ldGFkYXRhL3NlZ21lbnQvMTAyMDE1Ijt0aGlzLnNlZ21lbnROdW1iZXI9el8odGhpcywiU2VxdWVuY2UtTnVtYmVyIik7dGhpcy5qPXpfKHRoaXMsIlNlZ21lbnQtQ291bnQiKTt0aGlzLks9dGhpcy5kYXRhWyJTZWdtZW50LUR1cmF0aW9ucy1NcyJdfHwiIjt0aGlzLmluZ2VzdGlvblRpbWU9el8odGhpcywiSW5nZXN0aW9uLVdhbGx0aW1lLVVzIikvMUU2O3RoaXMuVz0oel8odGhpcywiRmlyc3QtRnJhbWUtVGltZS1VcyIpK3pfKHRoaXMsIkZpcnN0LUZyYW1lLVVuY2VydGFpbnR5LVVzIikpLzFFNjt0aGlzLnJiPXpfKHRoaXMsIlRhcmdldC1EdXJhdGlvbi1VcyIpLzFFNjt0aGlzLlY9dGhpcy5kYXRhWyJTdHJlYW0tRmluaXNoZWQiXT09PSJUIjt0aGlzLmlzU3RyZWFtaW5nPXRoaXMuZGF0YS5TdHJlYW1hYmxlPT09IlQiO3RoaXMuY3J5cHRvUGVyaW9kSW5kZXg9CnpfKHRoaXMsIkNyeXB0by1QZXJpb2QtSW5kZXgiKTt0aGlzLlg9el8odGhpcywiQ3J5cHRvLVBlcmlvZC1TZWNvbmRzIik7dGhpcy5OPSJDdXJyZW50LUFic29sdXRlLUxvdWRuZXNzLUxrZnMiaW4gdGhpcy5kYXRhP051bWJlcih0aGlzLmRhdGFbIkN1cnJlbnQtQWJzb2x1dGUtTG91ZG5lc3MtTGtmcyJdKXx8MDpudWxsfUooKXtyZXR1cm4gdGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1DcG4iXT90aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUNwbiJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSk6W119ZksoKXtyZXR1cm4hISh0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tQ3BuIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXXx8dGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1GcmFtZS1JbmRleCJdfHx0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUFic29sdXRlLUxvdWRuZXNzLUxrZnMiXXx8CnRoaXMuZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdfHx0aGlzLmRhdGFbIklzLUFkLUJyZWFrLUZpbmlzaGVkIl0pfX07dmFyIFJlaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuZHVyYXRpb249V319O3ZhciAkOHg9e1NURVJFT19MQVlPVVRfVU5LTk9XTjowLFNURVJFT19MQVlPVVRfTEVGVF9SSUdIVDoxLFNURVJFT19MQVlPVVRfVE9QX0JPVFRPTToyfTt2YXIgaFk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLko9djt0aGlzLk49bnx8MDt0aGlzLnBpdGNoPVd8fDA7dGhpcy55YXc9RHx8MDt0aGlzLnJvbGw9Ynx8MDt2LmdldFVpbnQzMig0KX19O3ZhciB0WT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMucG9zPTA7dGhpcy5zdGFydD1XfHwwfU9KKCl7dmFyIG49dGhpcy5wb3M7dGhpcy5wb3M9MDt2YXIgVz0hMTt0cnl7c1kodGhpcyw0NDA3ODY4NTEpJiYodGhpcy5wb3M9MCxzWSh0aGlzLDQwODEyNTU0MykmJihXPSEwKSl9Y2F0Y2goRCl7aWYoRCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhpcy5wb3M9MCxXPSExLGcuR3EoRCk7ZWxzZSB0aHJvdyBEO310aGlzLnBvcz1uO3JldHVybiBXfX07dmFyIENzPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuQU89bjt0aGlzLk49e307dGhpcy51cmw9IiJ9c2V0KG4sVyl7dGhpcy5BTy5nZXQobik7dGhpcy5OW25dPVc7dGhpcy51cmw9IiJ9Z2V0KG4pe3JldHVybiB0aGlzLk5bbl18fHRoaXMuQU8uZ2V0KG4pfVdEKCl7dGhpcy51cmx8fCh0aGlzLnVybD1pS1UodGhpcykpO3JldHVybiB0aGlzLnVybH19O3ZhciB1VGk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5YPXRoaXMuVz10aGlzLk49dGhpcy50aW1lZE91dD10aGlzLnN0YXJ0ZWQ9dGhpcy5WPXRoaXMuaj0wfX07dmFyIHZUPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTz10aGlzLkQ9dGhpcy5WPXRoaXMuSj0wO3RoaXMuaj10aGlzLks9ITE7dGhpcy5OPW47dGhpcy5XPW4uY2xvbmUoKX1wUyhuLFcpe3JldHVybiBuLllaP3RoaXMuaj90aGlzLks9ITA6dGhpcy5LPWpQKHRoaXMsbixXKTpqUCh0aGlzLG4sVyl9WShuLFcsRD0wKXtEPjE/bj1uLk1jOihXPVVZKFcsRjUodGhpcyx0aGlzLnBTKG4sVyksbikpLG49TWF0aC5tYXgodGhpcy5WLFcudGltZWRPdXQpK24uVFoqKHRoaXMuSi10aGlzLlYpKy4yNSp0aGlzLkQsbj1uPjM/MUUzKjEuNioqKG4tMyk6MCk7cmV0dXJuIG49PT0wPyEwOnRoaXMuTytuPCgwLGcuUikoKX1jSihuLFcpe3RoaXMuTi5zZXQobixXKTt0aGlzLlcuc2V0KG4sVyk7dGhpcy5YJiZ0aGlzLlguc2V0KG4sVyl9V04oKXtyZXR1cm4gdGhpcy5XLmdldCgiY3BuIil8fCIifVo1KG4sVyl7bi5BTz09PXRoaXMuTiYmKHRoaXMuTj1uWChuLFcpKTtuLkFPPT09dGhpcy5YJiYodGhpcy5YPQpuWChuLFcpKX10dygpe3RoaXMuaj0hMH1yMCgpe3JldHVybiB0aGlzLk4hPT10aGlzLlgmJiF0aGlzLkt9fTt2YXIgQ2o9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5pbml0UmFuZ2U9RDt0aGlzLmluZGV4UmFuZ2U9Yjt0aGlzLko9bnVsbDt0aGlzLmNKPSExO3RoaXMuRkY9MDt0aGlzLlY9dGhpcy5TVT10aGlzLk89bnVsbDt0aGlzLmluZm89Vzt0aGlzLlhiPW5ldyB2VChuKX1OKCl7cmV0dXJuISF0aGlzLkomJnRoaXMuaW5kZXguaXNMb2FkZWQoKX1TJCgpe3JldHVybiExfUdDKG4pe3JldHVybltuXX1WUShuKXtyZXR1cm5bbl19fTt2YXIgYUI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnN0YXJ0PW47dGhpcy5lbmQ9Vzt0aGlzLmxlbmd0aD1XLW4rMX10b1N0cmluZygpe3JldHVybiB0aGlzLnN0YXJ0KyItIisodGhpcy5lbmQ9PW51bGw/IiI6dGhpcy5lbmQpfU4oKXtyZXR1cm4gdGhpcy5lbmQ9PW51bGw/e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KX06e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KSxlbmQ6U3RyaW5nKHRoaXMuZW5kKX19fTt2YXIgcUk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0iIix2LGssaCx4LEwsZSxHLHI9IiIsTixILEEpe3RoaXMudHlwZT1uO3RoaXMuUEo9Vzt0aGlzLnJhbmdlPUQ7dGhpcy5zb3VyY2U9Yjt0aGlzLnZEPUc7dGhpcy5jbGlwSWQ9cjt0aGlzLkQ9Tjt0aGlzLmJkPUg7dGhpcy5yZXF1ZXN0VG9rZW49QTt0aGlzLk89W107dGhpcy5ZPSIiO3RoaXMuaiQ9LTE7dGhpcy50dz0wO3RoaXMuWT1iO3RoaXMuaiQ9dj49MD92Oi0xO3RoaXMuc2VnbWVudFN0YXJ0VGltZT1rfHwwO3RoaXMuVz1ofHwwO3RoaXMuTj14fHwwO3RoaXMuSj1MPj0wP0w6dGhpcy5yYW5nZT90aGlzLnJhbmdlLmxlbmd0aDpOYU47dGhpcy5yYW5nZT8obj10aGlzLk4rdGhpcy5KPT09dGhpcy5yYW5nZS5sZW5ndGgsZT10aGlzLnNvdXJjZT09PSJ3YXNtIj9lPz9uOm4pOmU9ZT09PXZvaWQgMD8hIXRoaXMuSjplO3RoaXMuYVo9ZTt0aGlzLnJhbmdlPyh0aGlzLlg9dGhpcy5zZWdtZW50U3RhcnRUaW1lK3RoaXMuVyoKdGhpcy5OL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuSz10aGlzLlcqdGhpcy5KL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuaj10aGlzLlgrdGhpcy5LKTp2Xyh0aGlzKX1WKCl7cmV0dXJuIHRoaXMuYVomJnRoaXMuUEouaW5kZXgucWUodGhpcy5qJCl9a2Yobil7cmV0dXJuIG4+PXRoaXMuWCYmbjw9dGhpcy5qfWlzRW5jcnlwdGVkKCl7cmV0dXJuIHRoaXMuUEouaW5mby5pc0VuY3J5cHRlZCgpfWVxdWFscyhuKXtyZXR1cm4hKCFufHxuLlBKIT09dGhpcy5QSnx8bi50eXBlIT09dGhpcy50eXBlfHwodGhpcy5yYW5nZSYmbi5yYW5nZT9uLnJhbmdlLnN0YXJ0IT09dGhpcy5yYW5nZS5zdGFydHx8bi5yYW5nZS5lbmQhPT10aGlzLnJhbmdlLmVuZDpuLnJhbmdlIT09dGhpcy5yYW5nZSl8fG4uaiQhPT10aGlzLmokfHxuLk4hPT10aGlzLk58fG4uSiE9PXRoaXMuSil9Y0ooKXtyZXR1cm4gdGhpcy50eXBlPT09NH1mWSgpe3JldHVybiEhdGhpcy5QSi5pbmZvLnZpZGVvfVRDKCl7cmV0dXJuIHRoaXMuaiR9Z2EoKXt2YXIgbj0KWHgodGhpcyksVz0iIjtnLmFfKG4sKEQsYik9PntXKz1gJHtifV8ke0R9X2B9KTsKcmV0dXJuIFcuc2xpY2UoMCwtMSl9Y2xvbmUoKXt2YXIgbj1uZXcgcUkodGhpcy50eXBlLHRoaXMuUEosdGhpcy5yYW5nZSx0aGlzLnNvdXJjZSx0aGlzLmokLHRoaXMuc2VnbWVudFN0YXJ0VGltZSx0aGlzLlcsdGhpcy5OLHRoaXMuSix0aGlzLmFaLHRoaXMudkQsdGhpcy5jbGlwSWQsdGhpcy5ELHRoaXMuYmQsdGhpcy5yZXF1ZXN0VG9rZW4pO24uWT10aGlzLlk7dGhpcy5PLmxlbmd0aD4wJiYobi5PPVsuLi50aGlzLk9dKTtuLlg9dGhpcy5YO24uSz10aGlzLks7bi5qPXRoaXMuajtuLnR3PXRoaXMudHc7cmV0dXJuIG59fTt2YXIgd2s9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLkF3PW47dGhpcy5YPXRoaXMuTj1udWxsO3RoaXMuaj10aGlzLlpBPU5hTjt0aGlzLnBTPXRoaXMucmVxdWVzdElkPW51bGw7dGhpcy5YYj1uWzBdLlBKLlhiO3RoaXMuSj1XfHwiIjtpZih0aGlzLkF3WzBdLnJhbmdlJiZ0aGlzLkF3WzBdLko+MCl7YTp7Zm9yKFc9MTtXPG4ubGVuZ3RoO1crKylpZighYlQobltXLTFdLG5bV10pKXtXPSExO2JyZWFrIGF9Vz0hMH1pZihXKXRoaXMucmFuZ2U9ZDV3KG4pLHRoaXMuVz10aGlzLnJhbmdlLmxlbmd0aDtlbHNle3RoaXMucmFuZ2U9dGhpcy5Bd1t0aGlzLkF3Lmxlbmd0aC0xXS5yYW5nZTtXPTA7Zm9yKGxldCBEIG9mIG4pVys9RC5yYW5nZS5sZW5ndGg7dGhpcy5XPVd9fX1ZbCgpe3JldHVybiB0aGlzLk4/dGhpcy5OLldEKCk6IiJ9aXNEZWNvcmF0ZWQoKXtyZXR1cm4hISh0aGlzLk58fHRoaXMuWCYmdGhpcy5YLk15KX1Rbigpe3JldHVybiBoSih0aGlzLkF3WzBdKX1rZihuKXtmb3IobGV0IFcgb2YgdGhpcy5BdylpZihXLnR5cGU9PT0KMyYmVy5rZihuKSlyZXR1cm4hMDtyZXR1cm4hMX1aNShuLFcpe3RoaXMuWGIuWjUobixXKTtpZih0aGlzLk4pe3RoaXMuTj1uWChuLFcpO2ZvcihsZXQgRCBvZlsiYWNwbnMiLCJjcG4iLCJkYWlzdGF0ZSIsInNraXBzcSJdKXRoaXMuTlsic2V0Il0oRCxudWxsKX10aGlzLnJlcXVlc3RJZD1uLmdldCgicmVxX2lkIil9fTt2YXIgZHQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiLHYsaz0wKXtzdXBlcihuLFcsYik7dGhpcy52Sj1EO3RoaXMucmI9azt0aGlzLmluZGV4PXZ8fG5ldyBnLmpjfVcoKXtyZXR1cm4hMX1EKCl7cmV0dXJuITB9VEMoKXtyZXR1cm4hMX1TJCgpe3JldHVybiF0aGlzLnZKfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHRoaXMuaW5pdFJhbmdlLCJnZXRNZXRhZGF0YVJlcXVlc3RJbmZvIildLHRoaXMudkopfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiB0aGlzLkQoKSYmbi5KJiYhbi5hWj9uZXcgd2soW25ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJsaXZlR2V0TmV4dFJlcXVlc3RJbmZvQnlTZWdtZW50IixuLmokLG4uc2VnbWVudFN0YXJ0VGltZSxuLlcsbi5OK24uSixOYU4sITApXSx0aGlzLmluZGV4LlYobi5qJCkpOnRoaXMuaihnayhuKSwhMSl9SyhuLFc9ITEpe249dGhpcy5pbmRleC5SMyhuKTtXJiYobj1NYXRoLm1pbih0aGlzLmluZGV4LngkKCksCm4rMSkpO3JldHVybiB0aGlzLmoobiwhMCl9RHQobil7RE8obil9WChuKXtyZXR1cm4gbi5KPT09MD8hMDp0aGlzLmluZGV4LngkKCk+bi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9dXBkYXRlKG4sVyxEKXt0aGlzLmluZGV4LmFwcGVuZChuKTtQQSh0aGlzLmluZGV4LEQpO3RoaXMudHcoVywidXBkYXRlIil9Tigpe3JldHVybiB0aGlzLlMkKCk/ITA6c3VwZXIuTigpfWoobixXKXt2YXIgRD10aGlzLmluZGV4LlYobiksYj10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSx2PXRoaXMuaW5kZXguZ2V0RHVyYXRpb24obiksaztXP3Y9az0wOms9dGhpcy5pbmZvLk5zPjA/dGhpcy5pbmZvLk5zKnY6MUUzO3JldHVybiBuZXcgd2soW25ldyBxSSgzLHRoaXMsdm9pZCAwLCJsaXZlQ3JlYXRlUmVxdWVzdEluZm9Gb3JTZWdtZW50IixuLGIsdiwwLGssIVcpXSxEKX1ISigpe3JldHVybiB0aGlzLlMkKCk/MDp0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4hMX10dyhuLFcpe3RoaXMuaW5kZXgudHcobiwKVyl9fTt2YXIgdmhiPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdil7dGhpcy5qJD1uO3RoaXMuc3RhcnRTZWNzPVc7dGhpcy5DZj1EO3RoaXMuTj1ifHxOYU47dGhpcy5KPXZ8fE5hTn19O3ZhciBCXz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1bXTt0aGlzLko9bnVsbDt0aGlzLlY9MDt0aGlzLlc9W107dGhpcy5qPSExO3RoaXMuSz0iIjt0aGlzLlg9LTF9dXBkYXRlKG4pe3ZhciBXPXZvaWQgMDt0aGlzLkomJihXPXRoaXMuSik7e2xldCBBPW5ldyBCXzt2YXIgRD1BcnJheS5mcm9tKG4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlMiKSk7aWYoRC5sZW5ndGgpe3ZhciBiPStsVChuLCJ0aW1lc2NhbGUiKXx8MSx2PSgrRFswXS5nZXRBdHRyaWJ1dGUoInQiKXx8MCkvYixrPStsVChuLCJzdGFydE51bWJlciIpfHwwO0EuWD12O3ZhciBoPVc/Vy5zdGFydFNlY3MrVy5DZjowLHg9RGF0ZS5wYXJzZShDeihsVChuLCJ5dDpzZWdtZW50SW5nZXN0VGltZSIpKSkvMUUzO0Euaj1uLnBhcmVudEVsZW1lbnQudGFnTmFtZT09PSJTZWdtZW50VGVtcGxhdGUiO0EuaiYmKEEuSz1sVChuLCJtZWRpYSIpKTtuPVc/ay1XLmokOjE7QS5WPW4+MD8wOi1uKzE7Zm9yKEggb2YgRCl7bj0rSC5nZXRBdHRyaWJ1dGUoImQiKS8KYjtEPSgrSC5nZXRBdHRyaWJ1dGUoInl0OnNpZCIpfHwwKS9iO2xldCB5PStILmdldEF0dHJpYnV0ZSgiciIpfHwwO2ZvcihsZXQgVD0wO1Q8PXk7VCsrKXtpZihXJiZrPD1XLmokKXtrKys7Y29udGludWV9dmFyIEw9bmV3IHZoYihrLGgsbix4K0Qsdik7QS5OLnB1c2goTCk7Yjp7dmFyIGU9SDt2YXIgRz1iLHI9TC5zdGFydFNlY3M7TD1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRUaW1lT2Zmc2V0Iik7dmFyIE49ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50RHVyYXRpb24iKTtpZighTHx8IU4pe2U9bnVsbDticmVhayBifUw9TnVtYmVyKEwpO3I9LUwvRytyO0c9TnVtYmVyKE4pL0c7Tj1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRDb250ZXh0Iil8fG51bGw7bGV0IHo9ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50SWRlbnRpZmllciIpfHwiIjtlPWUuZ2V0QXR0cmlidXRlKCJ5dDpjdWVwb2ludEV2ZW50Iil8fCIiO2U9bmV3IGcubDMocixHLE4seixiTlVbZV18fCJ1bmtub3duIiwKTCl9ZSYmQS5XLnB1c2goZSk7aysrO2grPW47dis9bjt4Kz1uK0R9fUEuTi5sZW5ndGgmJihBLko9Zy5VTShBLk4pKX12YXIgSD1BfXRoaXMuVj1ILlY7dGhpcy5KPUguSnx8dGhpcy5KO2cuUTIodGhpcy5OLEguTik7Zy5RMih0aGlzLlcsSC5XKTt0aGlzLmo9SC5qO3RoaXMuSz1ILks7dGhpcy5YPT09LTEmJih0aGlzLlg9SC5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5YPT09LTE/MDp0aGlzLlh9fTt2YXIga0xDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPVtdO3RoaXMuTj1udWxsO3RoaXMuSj17fTt0aGlzLlc9e319fTt2YXIgZ1M9Y2xhc3MgZXh0ZW5kcyBnLmpje2NvbnN0cnVjdG9yKHtyYjpuPTAsT1Q6Vz0hMSx1YjpEPTAsSXQ6Yj0wLEhQOnY9SW5maW5pdHksdWs6az0wLFhnOmg9ITEsRTM6eD0hMX09e30pe3N1cGVyKCk7dGhpcy5Ebj10aGlzLnFxPS0xO3RoaXMuTzg9bjt0aGlzLnViPUQ7dGhpcy5PVD1XO3RoaXMuSXQ9Yjt0aGlzLkhQPXY7dGhpcy51az1rOygodGhpcy5YZz1oKXx8aXNGaW5pdGUodikmJnRoaXMuSFA+MCkmJlcmJlp1JiZ0aGlzLnR3KCExLCJwb3N0TGl2ZSIpO3RoaXMuRTM9eH1VYygpe3JldHVybiB0aGlzLk84fU1JKG4sVyl7bj1GeCh0aGlzLG4pO3JldHVybiBuPj0wJiYoV3x8IXRoaXMuc2VnbWVudHNbbl0ucGVuZGluZyl9Wk8oKXtyZXR1cm4gdGhpcy5PVD90aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLlgodGhpcy5MZigpKS5qJDotMTpzdXBlci5aTygpfUxmKCl7aWYodGhpcy5YZylyZXR1cm4gMDtpZighdGhpcy5PVClyZXR1cm4gc3VwZXIuTGYoKTtpZighdGhpcy5zZWdtZW50cy5sZW5ndGgpcmV0dXJuIDA7CnZhciBuPU1hdGgubWF4KGcuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZS10aGlzLnViLDApO3JldHVybiB0aGlzLkl0PjAmJnRoaXMuWChuKS5qJDx0aGlzLkl0P3RoaXMuVyh0aGlzLkl0KS5zdGFydFRpbWU6bn1iUSgpe2lmKHRoaXMuRTMmJnRoaXMuRG4mJnRoaXMuRG4+MClyZXR1cm4gdGhpcy5Ebi8xRTM7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBzdXBlci5iUSgpO3ZhciBuPXRoaXMueCQoKTtpZighdGhpcy5PVHx8bjw9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJCluPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07ZWxzZXt2YXIgVz10aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdO249bmV3IFI0KG4sTWF0aC5tYXgoMCxXLnN0YXJ0VGltZS0oVy5qJC1uKSp0aGlzLk84KSx0aGlzLk84LDAsYHNxLyR7bn1gLHZvaWQgMCx2b2lkIDAsITApfXJldHVybiB0aGlzLlhnP01hdGgubWluKHRoaXMudWIsCm4uZW5kVGltZSk6bi5lbmRUaW1lfUg3KCl7cmV0dXJuIHRoaXMuT1Q/dGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy54JCgpLXRoaXMuWk8oKSsxOjA6c3VwZXIuSDcoKX14JCgpe3ZhciBuPU1hdGgubWluKHRoaXMuSFAsTWF0aC5tYXgoc3VwZXIueCQoKSx0aGlzLnFxKSksVz10aGlzLnViKjFFMztXPXRoaXMuRG4+MCYmdGhpcy5EbjxXO3RoaXMuWGcmJnRoaXMudWI+MCYmdGhpcy5xcT4wJiYhVyYmKFc9dGhpcy5YKHRoaXMudWIpKSYmKG49TWF0aC5taW4oVy5qJC0xLG4pKTtyZXR1cm4gbn1PZygpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdOm51bGx9aihuKXt2YXIgVz1GeCh0aGlzLG4uaiQpO2lmKFc+PTApdGhpcy5zZWdtZW50c1tXXT1uO2Vsc2UgaWYodGhpcy5zZWdtZW50cy5zcGxpY2UoLShXKzEpLDAsbiksdGhpcy51ayYmbi5qJCUoMzAwL3RoaXMuTzgpPT09MCl7dmFyIEQ9dGhpcy5zZWdtZW50c1swXS5qJCwKYj1NYXRoLmZsb29yKHRoaXMudWsvdGhpcy5POCk7bj1uLmokLWI7Vz0tKFcrMSktYjtXPjAmJm4+RCYmKHRoaXMuc2VnbWVudHM9dGhpcy5zZWdtZW50cy5zbGljZShXKSl9fU8obil7bj1GeCh0aGlzLG4pO24+PTAmJnRoaXMuc2VnbWVudHMuc3BsaWNlKG4sMSl9VFgoKXtyZXR1cm4gdGhpcy5xcX1xZShuKXtyZXR1cm4gWnU/IXRoaXMuWSYmbj49MCYmdGhpcy54JCgpPD1uOnN1cGVyLnFlKG4pfVgobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlgobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07aWYobjx0aGlzLnNlZ21lbnRzWzBdLnN0YXJ0VGltZSlXPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5qJC1NYXRoLmNlaWwoKHRoaXMuc2VnbWVudHNbMF0uc3RhcnRUaW1lLW4pL3RoaXMuTzgpKTtlbHNlIGlmKG4+PVcuZW5kVGltZSlXPVcuaiQrTWF0aC5mbG9vcigobi1XLmVuZFRpbWUpLwp0aGlzLk84KzEpO2Vsc2V7Vz1EZSh0aGlzLnNlZ21lbnRzLGI9Pm48Yi5zdGFydFRpbWU/LTE6bj49Yi5lbmRUaW1lPzE6MCk7CmlmKFc+PTApcmV0dXJuIHRoaXMuc2VnbWVudHNbV107dmFyIEQ9LShXKzEpO1c9dGhpcy5zZWdtZW50c1tELTFdO0Q9dGhpcy5zZWdtZW50c1tEXTtXPU1hdGguZmxvb3IoKG4tVy5lbmRUaW1lKS8oKEQuc3RhcnRUaW1lLVcuZW5kVGltZSkvKEQuaiQtVy5qJC0xKSkrMSkrVy5qJH1yZXR1cm4gdGhpcy5XKFcpfVcobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlcobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPUZ4KHRoaXMsbik7aWYoVz49MClyZXR1cm4gdGhpcy5zZWdtZW50c1tXXTt2YXIgRD0tKFcrMSk7Vz10aGlzLk84O2lmKEQ9PT0wKXZhciBiPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWUtKHRoaXMuc2VnbWVudHNbMF0uaiQtbikqVyk7ZWxzZSBEPT09dGhpcy5zZWdtZW50cy5sZW5ndGg/KGI9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpOihiPQp0aGlzLnNlZ21lbnRzW0QtMV0sVz10aGlzLnNlZ21lbnRzW0RdLFc9KFcuc3RhcnRUaW1lLWIuZW5kVGltZSkvKFcuaiQtYi5qJC0xKSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpO3JldHVybiBuZXcgUjQobixiLFcsMCxgc3EvJHtufWAsdm9pZCAwLHZvaWQgMCwhMCl9fSxadT0hMTt2YXIgV1Q9Y2xhc3MgZXh0ZW5kcyBkdHtjb25zdHJ1Y3RvcihuLFcsRD17fSl7c3VwZXIobixXLCIiLHZvaWQgMCx2b2lkIDAsRC5yYnx8MCk7dGhpcy5pbmRleD1uZXcgZ1MoRCl9VEMoKXtyZXR1cm4hMH1OKCl7cmV0dXJuITB9WChuKXtyZXR1cm4gdGhpcy5EKCkmJm4uSiYmIW4uYVp8fCFuLlBKLmluZGV4LnFlKG4uaiQpfVkoKXt9SyhuLFc9ITEpe3JldHVybiB0eXBlb2YgbiE9PSJudW1iZXIifHxpc0Zpbml0ZShuKT9zdXBlci5LKG4sVyk6bmV3IHdrKFtuZXcgcUkoMyx0aGlzLHZvaWQgMCwibWxMaXZlR2V0UmVxSW5mb1N0dWJGb3JUaW1lIiwtMSx2b2lkIDAsdGhpcy5yYix2b2lkIDAsdGhpcy5yYip0aGlzLmluZm8uTnMpXSwiIil9aihuLFcpe2lmKHRoaXMuaW5kZXguTUkobikpcmV0dXJuIHN1cGVyLmoobixXKTt2YXIgRD10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSxiPU1hdGgucm91bmQodGhpcy5yYip0aGlzLmluZm8uTnMpLHY9dGhpcy5yYjtXJiYodj1iPTApO3JldHVybiBuZXcgd2soW25ldyBxSSgzLAp0aGlzLHZvaWQgMCwibWxMaXZlQ3JlYXRlUmVxSW5mb0ZvclNlZyIsbixELHYsdm9pZCAwLGIsIVcpXSxuPj0wP2BzcS8ke259YDoiIil9fTt2YXIgcnQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKG4sVyk7dGhpcy5pbmRleD1uZXcgZy5qYzt0aGlzLmluZGV4LnR3KCExLCJkIil9Vygpe3JldHVybiExfUQoKXtyZXR1cm4hMX1UQygpe3JldHVybiExfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHZvaWQgMCwib3RmSW5pdCIpXSwic3EvMCIpfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiBNSSh0aGlzLGdrKG4pLCExKX1LKG4sVz0hMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gTUkodGhpcyxuLCEwKX1EdChuKXtuLmluZm8udHlwZT09PTEmJih0aGlzLkp8fCh0aGlzLko9JE0obi5KKSksbi5OJiZuLk4udXJpPT09Imh0dHA6Ly95b3V0dWJlLmNvbS9zdHJlYW1pbmcvb3RmL2R1cmF0aW9ucy8xMTIwMTUiJiZuR1ModGhpcyxuLk4pKX1YKG4pe3JldHVybiBuLko9PT0wPyEwOnRoaXMuaW5kZXgueCQoKT4Kbi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9SEooKXtyZXR1cm4gMH1udSgpe3JldHVybiExfX07dmFyIGE0LGhoYixEODIsbk0sV0t3O2cuVnM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50YWc9bn19O2E0PW5ldyBNYXA7aGhiPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXB9fTtEODI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49MTA7dGhpcy5KPURhdGUubm93KCl9fTtuTT1uZXcgTWFwO1dLdz1uZXcgaGhiO3ZhciBiOD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuaW5mbz1uO3RoaXMuSj1XO3RoaXMuTj1udWxsO3RoaXMuWD10aGlzLlc9LTE7dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLmlzTG9ja2VkPXRoaXMuSz0hMTt0aGlzLlY9dGhpcy5pbmZvLlBKLlMkKCkmJiF0aGlzLmluZm8uTn1qKG4sVz0hMSxEPTApe2lmKHRoaXMuaXNMb2NrZWR8fG4uaXNMb2NrZWR8fCFiVCh0aGlzLmluZm8sbi5pbmZvKXx8dGhpcy5pbmZvLmFaKXJldHVybiBudWxsO2lmKEQpe2lmKHRoaXMuSi50b3RhbExlbmd0aCtuLkoudG90YWxMZW5ndGg+RClyZXR1cm4gbnVsbH1lbHNlIGlmKFcmJihXPXRoaXMuSixEPW4uSixXPSEoRC5OLmxlbmd0aD94TShXLEQuTlswXSk6MSkpLFcpcmV0dXJuIG51bGw7Vz1uZXcgcUkodGhpcy5pbmZvLnR5cGUsdGhpcy5pbmZvLlBKLHRoaXMuaW5mby5yYW5nZSx0aGlzLmluZm8uWSx0aGlzLmluZm8uaiQsdGhpcy5pbmZvLnNlZ21lbnRTdGFydFRpbWUsdGhpcy5pbmZvLlcsCnRoaXMuaW5mby5OLHRoaXMuaW5mby5KLHRoaXMuaW5mby5hWix0aGlzLmluZm8udkQsdGhpcy5pbmZvLmNsaXBJZCx0aGlzLmluZm8uRCk7UF8oVyxuLmluZm8pO0Q9bmV3IFM1O2U1KEQsdGhpcy5KKTtlNShELG4uSik7Vz1uZXcgYjgoVyxEKTtXLk4hPW51bGwmJm4uTiE9bnVsbCYmZy5jXygiZGFzaCIsNDE0NjI3OTU3LGBtZXJnZWQgc2xpY2UgZW1zZyBvdmVycmlkZGVuOyBwcmV2OiAke1cuTi5mSygpfSBuZXh0OiAke24uTi5mSygpfWApO1cuTj1uLk58fHRoaXMuTjtXLlc9dGhpcy5XIT09LTE/dGhpcy5XOm4uVztXLlg9dGhpcy5YIT09LTE/dGhpcy5YOm4uWDtyZXR1cm4gV319O2cuQkM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmNvdW50PTA7dGhpcy5KPTE7dGhpcy5XPSExO3RoaXMub2Zmc2V0cz1uZXcgRmxvYXQ2NEFycmF5KDEyOCk7dGhpcy5zdGFydFRpY2tzPW5ldyBGbG9hdDY0QXJyYXkoMTI4KX1NSShuKXtyZXR1cm4gbjw9dGhpcy54JCgpfU4obil7cmV0dXJuIHRoaXMub2Zmc2V0c1tuXX1nZXRTdGFydFRpbWUobil7cmV0dXJuIHRoaXMuc3RhcnRUaWNrc1tuXS90aGlzLkp9akUobil7cmV0dXJuIHRoaXMuZ2V0U3RhcnRUaW1lKG4pK3RoaXMuZ2V0RHVyYXRpb24obil9aEMoKXtyZXR1cm4gTmFOfWdldER1cmF0aW9uKG4pe249dGhpcy5EKG4pO3JldHVybiBuPj0wP24vdGhpcy5KOi0xfUQobil7cmV0dXJuIG4rMTx0aGlzLmNvdW50fHx0aGlzLlc/dGhpcy5zdGFydFRpY2tzW24rMV0tdGhpcy5zdGFydFRpY2tzW25dOi0xfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gMH14JCgpe3JldHVybiB0aGlzLmNvdW50LTF9cWUobil7cmV0dXJuIHRoaXMueCQoKT09PQpuJiZuPj0wfWJRKCl7cmV0dXJuIHRoaXMuVz90aGlzLnN0YXJ0VGlja3NbdGhpcy5jb3VudF0vdGhpcy5KOk5hTn1MZigpe3JldHVybiAwfUg3KCl7cmV0dXJuIHRoaXMuY291bnR9Vigpe3JldHVybiIifVIzKG4pe24qPXRoaXMuSjtuPWcuVzQodGhpcy5zdGFydFRpY2tzLnN1YmFycmF5KDAsdGhpcy5jb3VudCksbik7cmV0dXJuIG4+PTA/bjpNYXRoLm1heCgwLC1uLTIpfWlzTG9hZGVkKCl7cmV0dXJuIHRoaXMueCQoKT49MH1YZChuLFcpe2lmKG4+PXRoaXMueCQoKSlyZXR1cm4gMDt2YXIgRD0wO2ZvcihXPXRoaXMuZ2V0U3RhcnRUaW1lKG4pK1c7bjx0aGlzLngkKCkmJlc+dGhpcy5nZXRTdGFydFRpbWUobik7bisrKUQ9TWF0aC5tYXgoRCx0TSh0aGlzLG4pL3RoaXMuZ2V0RHVyYXRpb24obikpO3JldHVybiBEfXJlc2l6ZShuKXtuKz0yO3ZhciBXPXRoaXMub2Zmc2V0czt0aGlzLm9mZnNldHM9bmV3IEZsb2F0NjRBcnJheShuKzEpO3ZhciBEPXRoaXMuc3RhcnRUaWNrczt0aGlzLnN0YXJ0VGlja3M9Cm5ldyBGbG9hdDY0QXJyYXkobisxKTtmb3Iobj0wO248dGhpcy5jb3VudCsxO24rKyl0aGlzLm9mZnNldHNbbl09V1tuXSx0aGlzLnN0YXJ0VGlja3Nbbl09RFtuXX1jYXAobixXKXskWCh0aGlzKTt0aGlzLlc9ITA7dGhpcy5zdGFydFRpY2tzW3RoaXMuY291bnRdPVc7dGhpcy5vZmZzZXRzW3RoaXMuY291bnRdPW59fTtnLkJDLnByb3RvdHlwZS5VNz1XWigyKTt2YXIgc2s9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcihuLFcsRCxiKTt0aGlzLmo9bnVsbDt0aGlzLmluZGV4PW5ldyBnLkJDfVkobixXKXt2YXIgRD1uZXcgcUkoMix0aGlzLHRoaXMuaW5kZXhSYW5nZSwiaW5kZXhJbmZvIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyksYj1bbmV3IHFJKDEsdGhpcyx0aGlzLmluaXRSYW5nZSwiaW5pdEluZm8iLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxXKSxEXTt0aGlzLmluZm8uY29udGVudExlbmd0aD4wJiZuJiYoRD1ELnJhbmdlLmVuZCsxLG49TWF0aC5taW4obix0aGlzLmluZm8uY29udGVudExlbmd0aC1EKSxuPjAmJmIucHVzaChuZXcgcUkoNCx0aGlzLFdfKEQsbiksInRiZFJhbmdlIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVykpKTtyZXR1cm4gbmV3IHdrKGIpfUR0KG4pe2lmKG4uaW5mby50eXBlPT09CjEpe2lmKHRoaXMuSilyZXR1cm47dGhpcy5KPSRNKG4uSil9ZWxzZSBpZihuLmluZm8udHlwZT09PTIpe2lmKHRoaXMuanx8dGhpcy5pbmRleC54JCgpPj0wKXJldHVybjtpZihnLlJCKHRoaXMuaW5mbykpe3ZhciBXPXRoaXMuaW5kZXgsRD1nLldSKG4pO249bi5pbmZvLnJhbmdlLnN0YXJ0O3ZhciBiPWcubnMoRCwwLDE5MzYyODY4NDApO0Q9THMoYik7Vy5KPUQudGltZXNjYWxlO3ZhciB2PUQuZjg7Vy5vZmZzZXRzWzBdPUQuTm8rbitiLnNpemU7Vy5zdGFydFRpY2tzWzBdPXY7Vy5XPSEwO249RC5xZy5sZW5ndGg7Zm9yKHY9MDt2PG47disrKXJ5KFcsRC5Ic1t2XSxELnFnW3ZdKX1lbHNlIHRoaXMuaj1nLldSKG4pfWlmKHRoaXMuaW5mby5xSCgpJiZ0aGlzLkomJnRoaXMuail7bj1uZXcgRGF0YVZpZXcodGhpcy5KLmJ1ZmZlcik7Vz10aGlzLmluZGV4O3Y9dGhpcy5qO0Q9dGhpcy5pbmRleFJhbmdlLmVuZDtiPW5ldyB0WShuKTtuPWI7Yj1uLnBvczt2YXIgaz17Qzk6MUU2LG84OjFFOSwKZHVyYXRpb246MCx4TTowLGJtOjB9O2lmKHNZKG4sNDA4MTI1NTQzKSlpZihrLnhNPU5rKG4sITApLGsuYm09bi5zdGFydCtuLnBvcyxzWShuLDM1NzE0OTAzMCkpe2Zvcih2YXIgaD1yQShuKTshSHcoaCk7KXt2YXIgeD1OayhoLCExKTt4PT09MjgwNzcyOT9rLkM5PWZzKGgpOng9PT0yODA3NzMwP2subzg9ZnMoaCk6eD09PTE3NTQ1P2suZHVyYXRpb249SUIoaCk6SlkoaCl9bi5wb3M9YjtuPWt9ZWxzZSBuLnBvcz1iLG49bnVsbDtlbHNlIG4ucG9zPWIsbj1udWxsO2lmKG4hPT1udWxsKXtXLko9bi5vOC9uLkM5O2I9bmV3IHRZKHYpO3Y9YjtoPW4uYm07Yj12LnBvcztrPVtdO2lmKHNZKHYsNDc1MjQ5NTE1KSl7Zm9yKHg9ckEodik7c1koeCwxODcpOyl7bGV0IEw9ckEoeCk7aWYoIXNZKEwsMTc5KSljb250aW51ZTtsZXQgZT1mcyhMKTtpZighc1koTCwxODMpKWNvbnRpbnVlO0w9ckEoTCk7bGV0IEc9aDtmb3IoO3NZKEwsMjQxKTspRz1mcyhMKStoO2sucHVzaCh7Zm86RyxuODplfSl9aWYoay5sZW5ndGg+CjAmJkQ9PT1rWzBdLmZvKWZvcihEPTA7RDxrLmxlbmd0aDtEKyspa1tEXS5mbys9MTt2LnBvcz1iO0Q9a31lbHNlIHYucG9zPWIsRD1udWxsO2lmKEQhPT1udWxsKXtmb3IobGV0IEwgb2YgRClEPVcsdj1MLmZvLGI9TC5uOCwkWChEKSxELm9mZnNldHNbRC5jb3VudF09dixELnN0YXJ0VGlja3NbRC5jb3VudF09YixELmNvdW50Kys7Vy5jYXAobi54TStuLmJtLG4uZHVyYXRpb24pfX10aGlzLmo9bnVsbH19R0Mobil7dmFyIFc9dGhpcy5WUShuLmluZm8pLEQ9bi5pbmZvLnJhbmdlLnN0YXJ0K24uaW5mby5OLGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPWdkKG4uSixXW3ZdLnJhbmdlLnN0YXJ0K1dbdl0uTi1ELFdbdl0uSik7Yi5wdXNoKG5ldyBiOChXW3ZdLGspKX1yZXR1cm4gYn1WUShuKXtmb3IodmFyIFc9bi5yYW5nZS5zdGFydCtuLk4sRD0wO0Q8dGhpcy5pbmRleC54JCgpJiZXPj10aGlzLmluZGV4Lk4oRCsxKTspRCsrO3JldHVybiBzTih0aGlzLEQsVywKbi5KKS5Bd31YKG4pe24uVigpO3JldHVybiB0aGlzLk4oKT8hMDpuLnJhbmdlLmVuZCsxPHRoaXMuaW5mby5jb250ZW50TGVuZ3RofWJkKG4sVyl7dGhpcy5YKG4pO2lmKCF0aGlzLk4oKSlyZXR1cm4gVz1XXyhuLnJhbmdlLmVuZCsxLFcpLFcuZW5kKzE+dGhpcy5pbmZvLmNvbnRlbnRMZW5ndGgmJihXPW5ldyBhQihXLnN0YXJ0LHRoaXMuaW5mby5jb250ZW50TGVuZ3RoLTEpKSxuZXcgd2soW25ldyBxSSg0LG4uUEosVywiZ2V0TmV4dFJlcXVlc3RJbmZvQnlMZW5ndGgiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxuLmNsaXBJZCldKTtuLnR5cGU9PT00JiYobj10aGlzLlZRKG4pLG49bltuLmxlbmd0aC0xXSk7dmFyIEQ9MCxiPW4ucmFuZ2Uuc3RhcnQrbi5OK24uSjtuLnR5cGU9PT0zJiYobi5WKCksRD1uLmokLGI9PT1uLnJhbmdlLmVuZCsxJiYoRCs9MSkpO3JldHVybiBzTih0aGlzLEQsYixXKX1lJCgpe3JldHVybiBudWxsfUsobixXPQohMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gc04odGhpcyxuLHRoaXMuaW5kZXguTihuKSwwKX1XKCl7cmV0dXJuITB9RCgpe3JldHVybiEwfVRDKCl7cmV0dXJuITF9SEooKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlLmxlbmd0aCt0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlJiZ0aGlzLmluaXRSYW5nZSYmdGhpcy5pbml0UmFuZ2UuZW5kKzE9PT10aGlzLmluZGV4UmFuZ2Uuc3RhcnQ/ITA6ITF9fTt2YXIgQU09Y2xhc3N7Y29uc3RydWN0b3Iobj0wLFc9MCxEPSJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSIsYj0hMSx2LGssaD0iQVVESU9fUVVBTElUWV9VTktOT1dOIix4PSExKXt0aGlzLnNhbXBsZVJhdGU9bjt0aGlzLm51bUNoYW5uZWxzPVc7dGhpcy5zcGF0aWFsQXVkaW9UeXBlPUQ7dGhpcy5XPWI7dGhpcy5YPXY7dGhpcy5KPWs7dGhpcy5hdWRpb1F1YWxpdHk9aDt0aGlzLk49eH1pc011bHRpQ2hhbm5lbEF1ZGlvKCl7cmV0dXJuIHRoaXMubnVtQ2hhbm5lbHM+Mn19O3ZhciBLTT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiPSIiLHY9IiIsaz0iIil7dGhpcy5kaXNwbGF5TmFtZT1uO3RoaXMudnNzSWQ9Vzt0aGlzLmxhbmd1YWdlQ29kZT1EO3RoaXMua2luZD1iO3RoaXMueHRhZ3M9djt0aGlzLmlkPWt9fTt2YXIgciR4PXtDT0xPUl9QUklNQVJJRVNfQlQ3MDk6ImJ0NzA5IixDT0xPUl9QUklNQVJJRVNfQlQyMDIwOiJidDIwMjAiLENPTE9SX1BSSU1BUklFU19VTktOT1dOOm51bGwsQ09MT1JfUFJJTUFSSUVTX1VOU1BFQ0lGSUVEOm51bGx9LGJxVT17Q09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUNzA5OiJidDcwOSIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUMjAyMF8xMDoiYnQyMDIwIixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfU01QVEVTVDIwODQ6InNtcHRlMjA4NCIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0FSSUJfU1REX0I2NzoiYXJpYi1zdGQtYjY3IixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfVU5LTk9XTjpudWxsLENPTE9SX1RSQU5TRkVSX0NIQVJBQ1RFUklTVElDU19VTlNQRUNJRklFRDpudWxsfTt2YXIgQVQ9e1dJRFRIOntuYW1lOiJ3aWR0aCIsdmlkZW86ITAsdmFsaWQ6NjQwLHZHOjk5OTk5fSxIRUlHSFQ6e25hbWU6ImhlaWdodCIsdmlkZW86ITAsdmFsaWQ6MzYwLHZHOjk5OTk5fSxGUkFNRVJBVEU6e25hbWU6ImZyYW1lcmF0ZSIsdmlkZW86ITAsdmFsaWQ6MzAsdkc6OTk5OX0sQklUUkFURTp7bmFtZToiYml0cmF0ZSIsdmlkZW86ITAsdmFsaWQ6M0U1LHZHOjJFOX0sRU9URjp7bmFtZToiZW90ZiIsdmlkZW86ITAsdmFsaWQ6ImJ0NzA5Iix2RzoiY2F0YXZpc2lvbiJ9LENIQU5ORUxTOntuYW1lOiJjaGFubmVscyIsdmlkZW86ITEsdmFsaWQ6Mix2Rzo5OX0sQ1JZUFRPQkxPQ0tGT1JNQVQ6e25hbWU6ImNyeXB0b2Jsb2NrZm9ybWF0Iix2aWRlbzohMCx2YWxpZDoic3Vic2FtcGxlIix2RzoiaW52YWxpZGZvcm1hdCJ9LERFQ09ERVRPVEVYVFVSRTp7bmFtZToiZGVjb2RlLXRvLXRleHR1cmUiLHZpZGVvOiEwLHZhbGlkOiJmYWxzZSIsdkc6Im5vcGUifSxBVjFfQ09ERUNTOntuYW1lOiJjb2RlY3MiLAp2aWRlbzohMCx2YWxpZDoiYXYwMS4wLjA1TS4wOCIsdkc6ImF2OTkuMC4wNU0uMDgifSxFWFBFUklNRU5UQUw6e25hbWU6ImV4cGVyaW1lbnRhbCIsdmlkZW86ITAsdmFsaWQ6ImFsbG93ZWQiLHZHOiJpbnZhbGlkIn0sVFVOTkVMTU9ERTp7bmFtZToidHVubmVsbW9kZSIsdmlkZW86ITAsdmFsaWQ6InRydWUiLHZHOiJmYWxzZSJ9fTt2YXIgWWc9e1siMCJdOiJmIixbIjE2MCJdOiJoIixbIjEzMyJdOiJoIixbIjEzNCJdOiJoIixbIjEzNSJdOiJoIixbIjEzNiJdOiJoIixbIjEzNyJdOiJoIixbIjI2NCJdOiJoIixbIjI2NiJdOiJoIixbIjEzOCJdOiJoIixbIjI5OCJdOiJoIixbIjI5OSJdOiJoIixbIjMwNCJdOiJoIixbIjMwNSJdOiJoIixbIjIxNCJdOiJoIixbIjIxNiJdOiJoIixbIjM3NCJdOiJoIixbIjM3NSJdOiJoIixbIjE0MCJdOiJhIixbIjE0MSJdOiJhIixbIjMyNyJdOiJzYSIsWyIyNTgiXToibSIsWyIzODAiXToibWFjMyIsWyIzMjgiXToibWVhYzMiLFsiMTYxIl06IkgiLFsiMTQyIl06IkgiLFsiMTQzIl06IkgiLFsiMTQ0Il06IkgiLFsiMjIyIl06IkgiLFsiMjIzIl06IkgiLFsiMTQ1Il06IkgiLFsiMjI0Il06IkgiLFsiMjI1Il06IkgiLFsiMTQ2Il06IkgiLFsiMjI2Il06IkgiLFsiMjI3Il06IkgiLFsiMTQ3Il06IkgiLFsiMzg0Il06IkgiLFsiMzc2Il06IkgiLFsiMzg1Il06IkgiLFsiMzc3Il06IkgiLApbIjE0OSJdOiJBIixbIjI2MSJdOiJNIixbIjM4MSJdOiJNQUMzIixbIjMyOSJdOiJNRUFDMyIsWyI1OTgiXToiOSIsWyIyNzgiXToiOSIsWyIyNDIiXToiOSIsWyIyNDMiXToiOSIsWyIyNDQiXToiOSIsWyI3NzUiXToiOSIsWyI3NzYiXToiOSIsWyI3NzciXToiOSIsWyI3NzgiXToiOSIsWyI3NzkiXToiOSIsWyI3ODAiXToiOSIsWyI3ODEiXToiOSIsWyI3ODIiXToiOSIsWyI3ODMiXToiOSIsWyIyNDciXToiOSIsWyIyNDgiXToiOSIsWyIzNTMiXToiOSIsWyIzNTUiXToiOSIsWyIzNTYiXToiOSIsWyIyNzEiXToiOSIsWyI1NzciXToiOSIsWyIzMTMiXToiOSIsWyI1NzkiXToiOSIsWyIyNzIiXToiOSIsWyIzMDIiXToiOSIsWyIzMDMiXToiOSIsWyI0MDciXToiOSIsWyI0MDgiXToiOSIsWyIzMDgiXToiOSIsWyIzMTUiXToiOSIsWyIzMzAiXToiOWgiLFsiMzMxIl06IjloIixbIjMzMiJdOiI5aCIsWyIzMzMiXToiOWgiLFsiMzM0Il06IjloIixbIjMzNSJdOiI5aCIsWyIzMzYiXToiOWgiLApbIjMzNyJdOiI5aCIsWyIzMzgiXToic28iLFsiNjAwIl06Im8iLFsiMjUwIl06Im8iLFsiMjUxIl06Im8iLFsiNzc0Il06Im8iLFsiMTk0Il06IioiLFsiMTk1Il06IioiLFsiMjIwIl06IioiLFsiMjIxIl06IioiLFsiMTk2Il06IioiLFsiMTk3Il06IioiLFsiMjc5Il06IigiLFsiMjgwIl06IigiLFsiMzE3Il06IigiLFsiMzE4Il06IigiLFsiMjczIl06IigiLFsiMjc0Il06IigiLFsiMzU3Il06IigiLFsiMzU4Il06IigiLFsiMjc1Il06IigiLFsiMzU5Il06IigiLFsiMzYwIl06IigiLFsiMjc2Il06IigiLFsiNTgzIl06IigiLFsiNTg0Il06IigiLFsiMzE0Il06IigiLFsiNTg1Il06IigiLFsiNTYxIl06IigiLFsiMjc3Il06IigiLFsiMzYxIl06IihoIixbIjM2MiJdOiIoaCIsWyIzNjMiXToiKGgiLFsiMzY0Il06IihoIixbIjM2NSJdOiIoaCIsWyIzNjYiXToiKGgiLFsiNTkxIl06IihoIixbIjU5MiJdOiIoaCIsWyIzNjciXToiKGgiLFsiNTg2Il06IihoIixbIjU4NyJdOiIoaCIsClsiMzY4Il06IihoIixbIjU4OCJdOiIoaCIsWyI1NjIiXToiKGgiLFsiNDA5Il06IigiLFsiNDEwIl06IigiLFsiNDExIl06IigiLFsiNDEyIl06IigiLFsiNTU3Il06IigiLFsiNTU4Il06IigiLFsiMzk0Il06IjEiLFsiMzk1Il06IjEiLFsiMzk2Il06IjEiLFsiMzk3Il06IjEiLFsiMzk4Il06IjEiLFsiMzk5Il06IjEiLFsiNzIwIl06IjEiLFsiNzIxIl06IjEiLFsiNDAwIl06IjEiLFsiNDAxIl06IjEiLFsiNTcxIl06IjEiLFsiNDAyIl06IjEiLFsiNjk0Il06IjFoIixbIjY5NSJdOiIxaCIsWyI2OTYiXToiMWgiLFsiNjk3Il06IjFoIixbIjY5OCJdOiIxaCIsWyI2OTkiXToiMWgiLFsiNzAwIl06IjFoIixbIjcwMSJdOiIxaCIsWyI3MDIiXToiMWgiLFsiNzAzIl06IjFoIixbIjM4NiJdOiIzIixbIjM4NyJdOiJ3IixbIjQwNiJdOiI2IixbIjc4NyJdOiIxIixbIjc4OCJdOiIxIixbIjU0OCJdOiIxZSIsWyI1NDkiXToiMWUiLFsiNTUwIl06IjFlIixbIjU1MSJdOiIxZSIsWyI4MDkiXToiMWUiLApbIjgxMCJdOiIxZSIsWyI1NTIiXToiMWUiLFsiODExIl06IjFlIixbIjgxMiJdOiIxZSIsWyI1NTMiXToiMWUiLFsiODEzIl06IjFlIixbIjgxNCJdOiIxZSIsWyI1NTQiXToiMWUiLFsiODE1Il06IjFlIixbIjgxNiJdOiIxZSIsWyI1NTUiXToiMWUiLFsiODE3Il06IjFlIixbIjgxOCJdOiIxZSIsWyI1NzIiXToiMWUiLFsiNTU2Il06IjFlIixbIjY0NSJdOiIoIixbIjY0NiJdOiIoIixbIjY0NyJdOiIoIixbIjY0OCJdOiIoIixbIjY0OSJdOiIoIixbIjY1MCJdOiIoIixbIjY1MSJdOiIoIixbIjY1MiJdOiIoIixbIjY1MyJdOiIoIixbIjY1NCJdOiIoIixbIjY1NSJdOiIoIixbIjY1NiJdOiIoIixbIjY1NyJdOiIoIixbIjY1OCJdOiIoIixbIjY1OSJdOiIoIixbIjY2MCJdOiIoIixbIjY2MSJdOiIoIixbIjY2MiJdOiIoIixbIjY2MyJdOiIoIixbIjY2NCJdOiIoIixbIjY2NSJdOiIoIixbIjY2NiJdOiIoIixbIjY2NyJdOiIoIixbIjY2OCJdOiIoIixbIjY2OSJdOiIoIixbIjY3MCJdOiIoIiwKWyI2NzEiXToiKCIsWyI2NzIiXToiKCIsWyI2NzMiXToiKCIsWyI2NzQiXToiKGgiLFsiNjc1Il06IihoIixbIjY3NiJdOiIoaCIsWyI2NzciXToiKGgiLFsiNjc4Il06IihoIixbIjY3OSJdOiIoaCIsWyI2ODAiXToiKGgiLFsiNjgxIl06IihoIixbIjY4MiJdOiIoaCIsWyI2ODMiXToiKGgiLFsiNjg0Il06IihoIixbIjY4NSJdOiIoaCIsWyI2ODYiXToiKGgiLFsiNjg3Il06IihoIixbIjY4OCJdOiJBIixbIjY4OSJdOiJBIixbIjY5MCJdOiJBIixbIjY5MSJdOiJNRUFDMyIsWyI3NzMiXToiaSIsWyI4MDYiXToiSSIsWyI4MDUiXToiSSIsWyI4MjkiXToiOSIsWyI4MzAiXToiOSIsWyI4MzEiXToiOSIsWyI4MzIiXToiOSIsWyI4MzMiXToiOSIsWyI4MzQiXToiOSIsWyI4MzUiXToiOSIsWyI4MzYiXToiOSIsWyI4OTIiXToiOSIsWyI4OTMiXToiOSIsWyI4MzciXToiOSIsWyI4MzgiXToiOSIsWyI4MzkiXToiOSIsWyI4NDAiXToiOSIsWyI4NDEiXToiKCIsWyI4NDIiXToiKCIsWyI4NDMiXToiKCIsClsiODQ0Il06IigiLFsiODQ1Il06IigiLFsiODQ2Il06IigiLFsiODQ3Il06IigiLFsiODQ4Il06IigiLFsiODk0Il06IigiLFsiODk1Il06IigiLFsiODQ5Il06IigiLFsiODUwIl06IigiLFsiODUxIl06IigiLFsiODUyIl06IigiLFsiODY1Il06IjkiLFsiODY2Il06IjkiLFsiODY3Il06IjkiLFsiODY4Il06IjkiLFsiODY5Il06IjkiLFsiODcwIl06IjkiLFsiODcxIl06IjkiLFsiODcyIl06IjkiLFsiODk2Il06IjkiLFsiODk3Il06IjkiLFsiODczIl06IjkiLFsiODc0Il06IjkiLFsiODc1Il06IjkiLFsiODc2Il06IjkiLFsiODc3Il06IigiLFsiODc4Il06IigiLFsiODc5Il06IigiLFsiODgwIl06IigiLFsiODgxIl06IigiLFsiODgyIl06IigiLFsiODgzIl06IigiLFsiODg0Il06IigiLFsiODk4Il06IigiLFsiODk5Il06IigiLFsiODg1Il06IigiLFsiODg2Il06IigiLFsiODg3Il06IigiLFsiODg4Il06IigiLFsiOTAwIl06IjIiLFsiOTAxIl06IjIiLFsiOTAyIl06IjIiLApbIjkwMyJdOiIyIixbIjkwNCJdOiIyIixbIjkwNSJdOiIyIixbIjkwNiJdOiIyIixbIjkwNyJdOiIyIixbIjkwOCJdOiIyIn07dmFyIHBNPSJoaWdocmVzIGhkMjg4MCBoZDIxNjAgaGQxNDQwIGhkMTA4MCBoZDcyMCBsYXJnZSBtZWRpdW0gc21hbGwgdGlueSIuc3BsaXQoIiAiKTt2YXIgSFI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSxHKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9Vzt0aGlzLlc9eDt0aGlzLnF1YWxpdHk9a3x8WVgobixXKTt0aGlzLnF1YWxpdHlPcmRpbmFsPU5HW3RoaXMucXVhbGl0eV07dGhpcy5mcHM9RHx8MDt0aGlzLnN0ZXJlb0xheW91dD0hdnx8YiE9bnVsbCYmYiE9PSJVTktOT1dOIiYmYiE9PSJSRUNUQU5HVUxBUiI/MDp2O3RoaXMucHJvamVjdGlvblR5cGU9Yj9iPT09IkVRVUlSRUNUQU5HVUxBUiImJnY9PT0yPyJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOmI6IlVOS05PV04iOyhuPWgpfHwoRD1OR1t0aGlzLnF1YWxpdHldLEQ9PT0wP249IkF1dG8iOihuPXRoaXMucHJvamVjdGlvblR5cGUsVz10aGlzLmZwcyxuPUQudG9TdHJpbmcoKSsobj09PSJFUVVJUkVDVEFOR1VMQVIifHxuPT09IkVRVUlSRUNUQU5HVUxBUl9USFJFRURfVE9QX0JPVFRPTSJ8fG49PT0iTUVTSCI/InMiOiJwIikrCihXPjU1PyI2MCI6Vz40OT8iNTAiOlc+Mzk/IjQ4IjoiIikpKTt0aGlzLnF1YWxpdHlMYWJlbD1uO3RoaXMuTj1MfHwiIjt0aGlzLnByaW1hcmllcz1lfHwiIjt0aGlzLlg9Rz8/ITB9Sigpe3JldHVybiB0aGlzLmZwcz4zMn1pc0hkcigpe3JldHVybiB0aGlzLk49PT0ic21wdGUyMDg0Inx8dGhpcy5OPT09ImFyaWItc3RkLWI2NyJ9fTt2YXIgbXU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQ9e30pe3RoaXMuaWQ9bjt0aGlzLm1pbWVUeXBlPVc7RC5Ocz4wfHwoRC5Ocz0xNkUzKTtPYmplY3QuYXNzaWduKHRoaXMsRCk7W3RoaXMuaXRhZyx0aGlzLkpdPXRoaXMuaWQuc3BsaXQoIjsiKTt0aGlzLmNvbnRhaW5lclR5cGU9Sk0oVyk7dGhpcy5JQj1ZZ1t0aGlzLml0YWddfHwiIn1LKCl7cmV0dXJuIHRoaXMudmlkZW99WSgpe3JldHVybiB0aGlzLmF1ZGlvfXFIKCl7cmV0dXJuIHRoaXMuY29udGFpbmVyVHlwZT09PTJ9WCgpe3JldHVybiB0aGlzLklCPT09IjkifHx0aGlzLklCPT09IigifHx0aGlzLklCPT09IjloInx8dGhpcy5JQj09PSIoaCJ9TVcoKXtyZXR1cm4gdGhpcy5JQj09PSIxInx8dGhpcy5JQj09PSIxaCJ8fFBSJiZ0aGlzLklCPT09IjFlIn1WKCl7cmV0dXJuIHRoaXMuSUI9PT0ibWFjMyJ8fHRoaXMuSUI9PT0ibWVhYzMifHx0aGlzLklCPT09Im0ifHx0aGlzLklCPT09ImkifHxtRih0aGlzKX1EKCl7cmV0dXJuIHRoaXMuSUI9PT0KIk1BQzMifHx0aGlzLklCPT09Im1hYzMifHx0aGlzLklCPT09Ik1FQUMzInx8dGhpcy5JQj09PSJtZWFjMyJ9aXNFbmNyeXB0ZWQoKXtyZXR1cm4hIXRoaXMuY29udGVudFByb3RlY3Rpb259ZVMoKXtyZXR1cm4hIXRoaXMuYXVkaW99ZlkoKXtyZXR1cm4hIXRoaXMudmlkZW99Vygpe3JldHVybiB0aGlzLm1pbWVUeXBlPT09ImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCJ9Tigpe3ZhciBuPXRoaXMubWltZVR5cGU7cmV0dXJuIG4uaW5jbHVkZXMoInZ0dCIpfHxuLmluY2x1ZGVzKCJ0ZXh0L21wNCIpfWlzVmVydGljYWwoKXtyZXR1cm4hIXRoaXMudmlkZW8mJnRoaXMudmlkZW8ud2lkdGg8dGhpcy52aWRlby5oZWlnaHR9fSxQUj0hMSxFTj0hMTtnLkZzPWNsYXNzIGV4dGVuZHMgZy5KTHtOTihuLFcsRCxiLHYpe3JldHVybiBzdXBlci5OTihuLFcsRCxiLHYpfX07dmFyIHhnPWNsYXNzIGV4dGVuZHMgZy5GaXtjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcigpO3RoaXMuayQ9bjt0aGlzLnN0YXJ0PVc7dGhpcy5lbmQ9RDt0aGlzLmlzQWN0aXZlPWI7dGhpcy5hcHBlbmRXaW5kb3dTdGFydD0wO3RoaXMuYXBwZW5kV2luZG93RW5kPUluZmluaXR5O3RoaXMudGltZXN0YW1wT2Zmc2V0PTA7dGhpcy5LVT17ZXJyb3I6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJlcnJvciIsdGhpcyl9LAp1cGRhdGVlbmQ6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJ1cGRhdGVlbmQiLHRoaXMpfX07CnRoaXMuayQuaCQodGhpcy5LVSk7dGhpcy5wTj10aGlzLmlzQWN0aXZlfWFwcGVuZEJ1ZmZlcihuLFcsRCl7aWYodGhpcy5rJC5NcigpIT09dGhpcy5hcHBlbmRXaW5kb3dTdGFydCt0aGlzLnN0YXJ0fHx0aGlzLmskLktGKCkhPT10aGlzLmFwcGVuZFdpbmRvd0VuZCt0aGlzLnN0YXJ0fHx0aGlzLmskLlNXKCkhPT10aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KXRoaXMuayQuc3VwcG9ydHMoMSksdGhpcy5rJC5lNyh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0K3RoaXMuc3RhcnQsdGhpcy5hcHBlbmRXaW5kb3dFbmQrdGhpcy5zdGFydCksdGhpcy5rJC55Tyh0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KTt0aGlzLmskLmFwcGVuZEJ1ZmZlcihuLFcsRCl9YWJvcnQoKXt0aGlzLmskLmFib3J0KCl9cmVtb3ZlKG4sVyl7dGhpcy5rJC5yZW1vdmUobit0aGlzLnN0YXJ0LFcrdGhpcy5zdGFydCl9VGkoKXt0aGlzLnJlbW92ZSh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0LHRoaXMuYXBwZW5kV2luZG93RW5kKX1jbGVhcigpe3RoaXMuayQuY2xlYXIoKX1lNyhuLApXKXt0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0PW47dGhpcy5hcHBlbmRXaW5kb3dFbmQ9V31pdygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0fU1yKCl7cmV0dXJuIHRoaXMuYXBwZW5kV2luZG93U3RhcnR9S0YoKXtyZXR1cm4gdGhpcy5hcHBlbmRXaW5kb3dFbmR9eU8obil7dGhpcy50aW1lc3RhbXBPZmZzZXQ9bn1TVygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldH1aRihuPSExKXtuPXRoaXMuayQuWkYobik7cmV0dXJuIFFUKG4sdGhpcy5zdGFydCx0aGlzLmVuZCl9eXUoKXtyZXR1cm4gdGhpcy5rJC55dSgpfWZGKCl7cmV0dXJuIHRoaXMuayQuZkYoKX1nWCgpe3JldHVybiB0aGlzLmskLmdYKCl9RGMoKXtyZXR1cm4gdGhpcy5rJC5EYygpfWg5KCl7dGhpcy5rJC5oOSgpfXRaKG4pe3JldHVybiB0aGlzLmskLnRaKG4pfUQ5KCl7cmV0dXJuIHRoaXMuayQuRDkoKX1MRigpe3JldHVybiB0aGlzLmskLkxGKCl9am4obixXLEQpe3RoaXMuayQuam4obiwKVyxEKX1WbyhuLFcsRCl7dGhpcy5rJC5WbyhuLFcsRCl9bmEobixXKXtyZXR1cm4gdGhpcy5rJC5uYShuLFcpfXN1cHBvcnRzKG4pe3JldHVybiB0aGlzLmskLnN1cHBvcnRzKG4pfVpnKCl7cmV0dXJuIHRoaXMuayQuWmcoKX1pUSgpe3JldHVybiB0aGlzLmskLmlRKCl9aXNWaWV3KCl7cmV0dXJuITB9am8oKXtyZXR1cm4gdGhpcy5rJC5qbygpP3RoaXMuaXNBY3RpdmU6ITF9aXNMb2NrZWQoKXtyZXR1cm4gdGhpcy5wTiYmIXRoaXMuaXNBY3RpdmV9eXIobil7bj10aGlzLmskLnlyKG4pO24udnc9YCR7dGhpcy5zdGFydH0tJHt0aGlzLmVuZH1gO3JldHVybiBufW5GKCl7cmV0dXJuIHRoaXMuayQubkYoKX1Lcygpe3JldHVybiB0aGlzLmskLktzKCl9ejAoKXtyZXR1cm4gdGhpcy5rJC56MCgpfW1BKCl7dGhpcy5rJC5NOSh0aGlzLktVKTtzdXBlci5tQSgpfUtpKCl7cmV0dXJuIHRoaXMuaXNBY3RpdmV9VnUobil7dGhpcy5pc0FjdGl2ZT1uO3RoaXMucE49dGhpcy5wTnx8dGhpcy5pc0FjdGl2ZX19O3ZhciBzND0hMTt2YXIga2c9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG4sVyxELGIsdixrKXtzdXBlcigpO3RoaXMuUUU9bjt0aGlzLkVWPVc7dGhpcy5pZD1EO3RoaXMuY29udGFpbmVyVHlwZT1iO3RoaXMuSUI9djt0aGlzLmZZPWs7dGhpcy5tTz10aGlzLmpxPXRoaXMuZEg9bnVsbDt0aGlzLmVvPSExO3RoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLkY0PVRpKFtdLFtdKTt0aGlzLkhIPSExO3RoaXMuaWs9W107dGhpcy55Nj1QYz9bXTp2b2lkIDA7dGhpcy5oYW5kbGVyPWg9PnRoaXMuV0ooaC50eXBlLHRoaXMpOwp0aGlzLlFFPy5hZGRFdmVudExpc3RlbmVyJiYodGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVlbmQiLHRoaXMuaGFuZGxlciksdGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5oYW5kbGVyKSl9YXBwZW5kQnVmZmVyKG4sVyxEKXt0aGlzLkhIPSExO0QmJih0aGlzLmpxPUQpO24ubGVuZ3RoJiYodGhpcy5RRT8uYXBwZW5kQnVmZmVyP3RoaXMuUUUuYXBwZW5kQnVmZmVyKG4pOnRoaXMuUUU/dGhpcy5RRS5hcHBlbmQobik6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5pZCxuKSk7VyYmKFcuaXNFbmNyeXB0ZWQoKSYmKHRoaXMubU89dGhpcy5qcSksVy50eXBlPT09MyYmKHRoaXMuZEg9VyksdGhpcy5pay5wdXNoKFcuZ2EoKSksdGhpcy5pay5sZW5ndGg+NCYmdGhpcy5pay5zaGlmdCgpKTt0aGlzLnk2JiYodGhpcy55Ni5sZW5ndGg+PTJ8fG4ubGVuZ3RoPjEwNDg1NzY/ZGVsZXRlIHRoaXMueTY6dGhpcy55Ni5wdXNoKG4pKX1hYm9ydCgpe3RyeXt0aGlzLlFFPwp0aGlzLlFFLmFib3J0KCk6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBYm9ydCh0aGlzLmlkKX1jYXRjaChuKXtRalomJmcuR3EobmV3IGcuUXgoYEVycm9yIHdoaWxlIGFib3J0IHRoZSBzb3VyY2UgYnVmZmVyOiAke24ubmFtZX0sICR7bi5tZXNzYWdlfWApKX10aGlzLmpxPXRoaXMuZEg9bnVsbH1yZW1vdmUobixXLEQpe3RoaXMuSEg9ITE7dGhpcy5RRT8ucmVtb3ZlJiYoRCYmRCh7Yjpyayh0aGlzLlpGKCkpLHM6bixlOld9KSx0aGlzLlFFLnJlbW92ZShuLFcpKX1UaSgpe3RoaXMucmVtb3ZlKHRoaXMuTXIoKSx0aGlzLktGKCkpfWNsZWFyKCl7dGhpcy5nWCgpfHwodGhpcy5hYm9ydCgpLHRoaXMuVGkoKSx0aGlzLm1PPXRoaXMuanE9dGhpcy5kSD1udWxsLHRoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MCx0aGlzLkY0PVRpKFtdLFtdKSx0aGlzLkhIPSExLHRoaXMueTY9UGM/W106dm9pZCAwLHRoaXMuZW89ITApfU1yKCl7cmV0dXJuIHM0JiYKdGhpcy5mWT90aGlzLmFwcGVuZFdpbmRvd1N0YXJ0OnRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwfUtGKCl7cmV0dXJuIHRoaXMuUUU/LmFwcGVuZFdpbmRvd0VuZHx8MH1lNyhuLFcpe3RoaXMuUUUmJihzNCYmdGhpcy5mWT8odGhpcy5hcHBlbmRXaW5kb3dTdGFydD1uLHRoaXMuUUUuYXBwZW5kV2luZG93RW5kPVcpOm4+dGhpcy5NcigpPyh0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XLHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bik6KHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bix0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XKSl9aXcoKXtyZXR1cm4gdGhpcy50aW1lc3RhbXBPZmZzZXR9eU8obil7czQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ9bjp0aGlzLnN1cHBvcnRzKDEpJiYodGhpcy5RRS50aW1lc3RhbXBPZmZzZXQ9bil9U1coKXtyZXR1cm4gczQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ6dGhpcy5zdXBwb3J0cygxKT90aGlzLlFFLnRpbWVzdGFtcE9mZnNldDowfVpGKG49CiExKXtpZihuKXJldHVybiB0aGlzLkhIfHx0aGlzLnl1KCl8fCh0aGlzLkY0PXRoaXMuWkYoITEpLHRoaXMuSEg9ITApLHRoaXMuRjQ7dHJ5e3JldHVybiB0aGlzLlFFP3RoaXMuUUUuYnVmZmVyZWQ6dGhpcy5FVj90aGlzLkVWLndlYmtpdFNvdXJjZUJ1ZmZlcmVkKHRoaXMuaWQpOlRpKFswXSxbSW5maW5pdHldKX1jYXRjaChXKXtyZXR1cm4gVGkoW10sW10pfX15dSgpe3JldHVybiB0aGlzLlFFPy51cGRhdGluZ3x8ITF9Z1goKXtyZXR1cm4gdGhpcy5lb31EYygpe3JldHVybiF0aGlzLmVvJiZ0aGlzLnl1KCl9aDkoKXt0aGlzLmVvPSExfXRaKG4pe3ZhciBXPW4/LklCO249bj8uY29udGFpbmVyVHlwZTtyZXR1cm4hVyYmIW58fFc9PT10aGlzLklCJiZuPT09dGhpcy5jb250YWluZXJUeXBlfUQ5KCl7cmV0dXJuIHRoaXMuanF9TEYoKXtyZXR1cm4gdGhpcy5tT31uYShuLFcpe3JldHVybiB0aGlzLmNvbnRhaW5lclR5cGUhPT1ufHx0aGlzLklCIT09V31qbihuLFcsRCl7aWYodGhpcy5jb250YWluZXJUeXBlIT09Cm58fEQmJnRoaXMubmEobixEKSl0aGlzLnN1cHBvcnRzKDQpLFZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShXKSxEJiYodGhpcy5JQj1EKTt0aGlzLmNvbnRhaW5lclR5cGU9bn1WbyhuLFcsRCl7dGhpcy5jb250YWluZXJUeXBlJiZ0aGlzLm5hKG4sVykmJlZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShEKTt0aGlzLmNvbnRhaW5lclR5cGU9bjt0aGlzLklCPVd9WmcoKXtyZXR1cm4gdGhpcy5kSH1pUSgpe3JldHVybiEhdGhpcy5kSCYmIXRoaXMuZEguYVp9aXNWaWV3KCl7cmV0dXJuITF9c3VwcG9ydHMobil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4gdGhpcy5RRT8udGltZXN0YW1wT2Zmc2V0IT09dm9pZCAwO2Nhc2UgMDpyZXR1cm4hIXRoaXMuUUU/LmFwcGVuZEJ1ZmZlcjtjYXNlIDI6cmV0dXJuISF0aGlzLlFFPy5yZW1vdmU7Y2FzZSAzOnJldHVybiEoIXRoaXMuUUU/LmFkZEV2ZW50TGlzdGVuZXJ8fCF0aGlzLlFFPy5yZW1vdmVFdmVudExpc3RlbmVyKTtjYXNlIDQ6cmV0dXJuISghdGhpcy5RRXx8CiF0aGlzLlFFLmNoYW5nZVR5cGUpO2RlZmF1bHQ6cmV0dXJuITF9fWpvKCl7cmV0dXJuIXRoaXMueXUoKX1pc0xvY2tlZCgpe3JldHVybiExfXlyKG4pe24udG89dGhpcy5TVygpO24udXA9dGhpcy55dSgpO24uYXc9YCR7KHRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwKS50b0ZpeGVkKDMpfS0keyh0aGlzLlFFPy5hcHBlbmRXaW5kb3dFbmR8fEluZmluaXR5KS50b0ZpeGVkKDMpfWA7cmV0dXJuIG59ZkYoKXtyZXR1cm4gdGhpcy5RRT8ud3JpdGVIZWFkfHwwfW5GKCl7dmFyIG49e307Zm9yKGxldCBXPTA7Vzx0aGlzLmlrLmxlbmd0aDtXKyspbltgcyR7V31gXT10aGlzLmlrW1ddO3JldHVybiBufW1BKCl7dGhpcy5zdXBwb3J0cygzKSYmKHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidXBkYXRlZW5kIix0aGlzLmhhbmRsZXIpLHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuaGFuZGxlcikpO3N1cGVyLm1BKCl9S3MoKXtyZXR1cm4gdGhpcy5jb250YWluZXJUeXBlfXowKCl7cmV0dXJuIHRoaXMueTZ9fSwKUGM9ITEsUWpaPSExO3ZhciB3bj1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuWGI9bjt0aGlzLk49Vzt0aGlzLko9ITF9ZGlzcG9zZSgpe2lmKCF0aGlzLnFOKCkpe2lmKHRoaXMuTil0cnl7VVJMLnJldm9rZU9iamVjdFVSTCh0aGlzLlhiKX1jYXRjaChuKXt9dGhpcy5KPSEwfX1xTigpe3JldHVybiB0aGlzLkp9Vygpe3JldHVybiB0aGlzLk59ZXF1YWxzKG4pe3JldHVybiBuIT09bnVsbCYmbi5YYj09PXRoaXMuWGJ9dG9TdHJpbmcoKXtyZXR1cm5gTWVkaWFSZXNvdXJjZSB7JHt0aGlzLlhifX1gfX07dmFyIGhaPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuLFcsRD0hMSl7c3VwZXIoKTt0aGlzLm1lZGlhRWxlbWVudD1uO3RoaXMubWVkaWFTb3VyY2U9Vzt0aGlzLmlzVmlldz1EO3RoaXMuWT0wO3RoaXMuVj0hMTt0aGlzLks9ITA7dGhpcy5jSj0wO3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLk89ITE7dGhpcy5tZWRpYVNvdXJjZXx8KHRoaXMuRVY9dGhpcy5tZWRpYUVsZW1lbnQuZV8oKSk7dGhpcy5ldmVudHM9bmV3IGcuRnModGhpcyk7Zy51KHRoaXMsdGhpcy5ldmVudHMpO3RoaXMuaj1uZXcgd24odGhpcy5tZWRpYVNvdXJjZT93aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLm1lZGlhU291cmNlKTp0aGlzLkVWLndlYmtpdE1lZGlhU291cmNlVVJMLCEwKTtuPXRoaXMubWVkaWFTb3VyY2V8fHRoaXMuRVY7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZW9wZW4iLCJ3ZWJraXRzb3VyY2VvcGVuIl0sdGhpcy5TJCk7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZWNsb3NlIiwKIndlYmtpdHNvdXJjZWNsb3NlIl0sdGhpcy5UQyk7dGhpcy5MTD17dXBkYXRlZW5kOnRoaXMuZVh9fXR3KCl7cmV0dXJuIHRoaXMuan1nZXREdXJhdGlvbigpe3JldHVybiB0aGlzLm1lZGlhU291cmNlPy5kdXJhdGlvbnx8dGhpcy5jSn1hVChuKXt0cnl7dGhpcy5tZWRpYVNvdXJjZT90aGlzLm1lZGlhU291cmNlLmR1cmF0aW9uPW46KHRoaXMuY0o9bix0aGlzLkVWLndlYmtpdFNvdXJjZVNldER1cmF0aW9uKG4pKX1jYXRjaChXKXt9fVgoKXtyZXR1cm4hIXRoaXMuTnx8ISF0aGlzLkp9UEEoKXt0cnl7cmV0dXJuIHRoaXMuVygpPT09ImNsb3NlZCJ9Y2F0Y2gobil7cmV0dXJuITB9fVcoKXtpZih0aGlzLm1lZGlhU291cmNlKXJldHVybiB0aGlzLm1lZGlhU291cmNlLnJlYWR5U3RhdGU7c3dpdGNoKHRoaXMuRVYud2Via2l0U291cmNlU3RhdGUpe2Nhc2UgdGhpcy5FVi5TT1VSQ0VfT1BFTjpyZXR1cm4ib3BlbiI7Y2FzZSB0aGlzLkVWLlNPVVJDRV9FTkRFRDpyZXR1cm4iZW5kZWQiOwpkZWZhdWx0OnJldHVybiJjbG9zZWQifX15dSgpe3JldHVybiEhKHRoaXMuTiYmdGhpcy5OLnl1KCl8fHRoaXMuSiYmdGhpcy5KLnl1KCkpfVMkKCl7IXRoaXMucU4oKSYmbjYodGhpcykmJnRoaXMuY2FsbGJhY2smJih0aGlzLmNhbGxiYWNrKHRoaXMpLHRoaXMuY2FsbGJhY2s9bnVsbCl9VEMoKXt0aGlzLmRpc3Bvc2UoKX1lWChuKXtESCYmIXRoaXMuViYmbi5nWCgpJiZuLlpGKCkubGVuZ3RoPT09MCYmKGJBKHRoaXMubWVkaWFFbGVtZW50LHtsOiJtc3dvdWUiLHNyOnRoaXMubWVkaWFFbGVtZW50LllhPy5wZygpfSwhMSksbi5oOSgpLHRoaXMuZ1goKXx8KHRoaXMubWVkaWFFbGVtZW50LkNGPSEwLHRoaXMubWVkaWFFbGVtZW50LnNldEN1cnJlbnRUaW1lKDApKSl9Y2xlYXIoKXtXRih0aGlzLCgpPT57fSk7CnRoaXMuTj8uY2xlYXIoKTt0aGlzLko/LmNsZWFyKCl9RCgpe3RoaXMuTj8uaDkoKTt0aGlzLko/Lmg5KCk7dGhpcy5LPSExfWdYKCl7cmV0dXJuIHRoaXMuSj8uZ1goKXx8dGhpcy5OPy5nWCgpfXRaKG4sVyl7cmV0dXJuISF0aGlzLk4mJiEhdGhpcy5KJiZ0aGlzLk4udFooVykmJnRoaXMuSi50WihuKX1iZCgpe3JldHVybiEhdGhpcy5tZWRpYVNvdXJjZSYmdGhpcy5tZWRpYVNvdXJjZS5zdHJlYW1pbmc9PT0hMX19LERIPSExO3ZhciBnR3I9L2FjdGlvbl9kaXNwbGF5X3Bvc3QvO2cuR3g9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG49IiIsVz1udWxsLEQ9ITEpe3N1cGVyKCk7dGhpcy5zb3VyY2VVcmw9bjt0aGlzLmlzTGl2ZVBsYXliYWNrPUQ7dGhpcy5ISj10aGlzLmR1cmF0aW9uPTA7dGhpcy5pc1ByZW1pZXJlPXRoaXMuWGc9dGhpcy5pc1dpbmRvd2VkTGl2ZT10aGlzLmlzTGl2ZUhlYWRQbGF5YWJsZT10aGlzLmlzTGl2ZT10aGlzLlc9ITE7dGhpcy5IUD10aGlzLkl0PTA7dGhpcy5pc090Zj10aGlzLnpXPSExO3RoaXMuUyQ9KDAsZy5SKSgpO3RoaXMuY0o9SW5maW5pdHk7dGhpcy5OPXt9O3RoaXMuSj1uZXcgTWFwO3RoaXMuc3RhdGU9dGhpcy5sTj0wO3RoaXMuVj1udWxsO3RoaXMuaXNNYW5pZmVzdGxlc3M9ITE7dGhpcy5iZD1bXTt0aGlzLks9bnVsbDt0aGlzLmUkPTA7dGhpcy5qPSIiO3RoaXMuVEM9TmFOO3RoaXMuSlU9dGhpcy5vUj10aGlzLnRpbWVzdGFtcE9mZnNldD10aGlzLkQ9MDt0aGlzLldNPXRoaXMuSDI9TmFOO3RoaXMuSVQ9MDsKdGhpcy5WUT10aGlzLk89ITE7dGhpcy5HQz1bXTt0aGlzLnZKPXt9O3RoaXMuUFg9dGhpcy50dz1OYU47dGhpcy5DdT1XPy5FcSgiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpO016PSEhVyYmVy5FcSgiaHRtbDVfbW9kZXJuX3ZwOV9taW1lX3R5cGUiKTtIRj0hIVc/LkVxKCJodG1sNV9lbmFibGVfZmx1c2hfZHVyaW5nX3NlZWsiKSYmZy5kOCgpO2Y2PSEhVz8uRXEoImh0bWw1X2VuYWJsZV9yZXNldF9hdWRpb19kZWNvZGVyIikmJmcuZDgoKX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTF9dG4oKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTN9bnUoKXtyZXR1cm4gZy5EbCh0aGlzLk4sbj0+ISFuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5xdWFsaXR5T3JkaW5hbD49MjE2MCl9WCgpe3JldHVybiBnLkRsKHRoaXMuTixuPT4hIW4uaW5mby5jb250ZW50UHJvdGVjdGlvbil9eUUobil7dmFyIFc9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiUmVwcmVzZW50YXRpb24iKTsKaWYobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudExpc3QiKS5sZW5ndGg+MHx8bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRlbXBsYXRlIikubGVuZ3RoPjApe3RoaXMuelc9dGhpcy5XPSEwO3RoaXMuVnx8KHRoaXMuVj1uZXcga0xDKTtjSGoodGhpcy5WLG4pO3RoaXMuV0ooInJlZnJlc2giKTtmb3Iobj0wO248Vy5sZW5ndGg7bisrKXt2YXIgRD15Qyh0aGlzLFdbbl0pO2lmKCF0aGlzLk5bRC5pZF0pe3ZhciBiPVJ4KFRQKFdbbl0sIkJhc2VVUkwiKS50ZXh0Q29udGVudCksdj1UUChXW25dLCJJbml0aWFsaXphdGlvbiIpLGs9bFQodiwic291cmNlVVJMIik7dj1ueihsVCh2LCJyYW5nZSIpKTt0aGlzLk5bRC5pZF09bmV3IGR0KGIsRCxrLHYpfUQ9dGhpcy5OW0QuaWRdO2s9bFQoV1tuXSwiaWQiLCJBZGFwdGF0aW9uU2V0Iik7az1rIT09IiI/azpsVChXW25dLCJtaW1ldHlwZSIsIkFkYXB0YXRpb25TZXQiKTtiPXRoaXMuVjtrPWIuV1tELmluZm8uaWRdfHxiLkpba118fApiLk58fG51bGw7Yj1rLk47IXRoaXMuRCYmay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkmJih0aGlzLkQ9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO2lmKGsuail7dj1bXTtmb3IodmFyIGggb2YgYil7Yj1ELmluZm8uaWQ7dmFyIHg9RC5pbmZvLk5zKjgsTD1oLmokLGU9aC5zdGFydFNlY3MsRz1rLksuc3BsaXQoIiQkIik7Zm9yKHZhciByPTA7cjxHLmxlbmd0aDtyKyspR1tyXT1HW3JdLnJlcGxhY2UoIiRSZXByZXNlbnRhdGlvbklEJCIsYiksR1tyXT1HW3JdLnJlcGxhY2UoIiROdW1iZXIkIixMLnRvU3RyaW5nKCkpLEdbcl09R1tyXS5yZXBsYWNlKCIkQmFuZHdpZHRoJCIseC50b1N0cmluZygpKSxHW3JdPUdbcl0ucmVwbGFjZSgiJFRpbWUkIixlLnRvU3RyaW5nKCkpO2I9Ry5qb2luKCIkIik7di5wdXNoKG5ldyBSNChoLmokLGguc3RhcnRTZWNzLGguQ2YsaC5OLGIsbnVsbCxoLkopKX1iPXZ9ZWxzZXtMPVYyKFRQKFdbbl0sIlNlZ21lbnRMaXN0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNlZ21lbnRVUkwiKSwKay5WKTtlPVtdO2ZvcihHPTA7RzxMLmxlbmd0aDtHKyspe2s9ZTt2PWsucHVzaDtyPXZvaWQgMDt2YXIgTj1MW0ddO3g9YltHXTtsZXQgSD1OLmdldEF0dHJpYnV0ZSgibWVkaWEiKTtpZihOPU4uZ2V0QXR0cmlidXRlKCJtZWRpYVJhbmdlIikpe2xldCBBPU4uc3BsaXQoIi0iKTtBWzFdJiZOdW1iZXIoQVsxXSk+PTA/cj1ueihOKTpIPWAke0h9P3JhbmdlPSR7Tn1gfXYuY2FsbChrLG5ldyBSNCh4LmokLHguc3RhcnRTZWNzLHguQ2YseC5OLEgscix4LkopKX1iPWV9RC51cGRhdGUoYix0aGlzLmlzTGl2ZSx0aGlzLkhKKX1hRFUodGhpcy5WKTtyZXR1cm4hMH10aGlzLmR1cmF0aW9uPWp4KGxUKG4sIm1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24iKSk7YTp7Zm9yKGg9MDtoPFcubGVuZ3RoO2grKyl7Yj1XW2hdO249eUModGhpcyxiKTtEPVJ4KFRQKGIsIkJhc2VVUkwiKS50ZXh0Q29udGVudCk7az1UUChiLCJTZWdtZW50QmFzZSIpO2I9bnooay5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgiaW5kZXhSYW5nZSIpLnZhbHVlKTsKaz1ueihrLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJJbml0aWFsaXphdGlvbiIpWzBdLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKCJyYW5nZSIpLnZhbHVlKTtuPW5ldyBzayhELG4sayxiKTtpZighbil7Vz0hMTticmVhayBhfSRnKHRoaXMsbil9Vz0hMH1yZXR1cm4gV31EdChuKXtyZXR1cm4gdGhpcy5WP1YyKHRoaXMuVi5YLG4pOnRoaXMuYmQubGVuZ3RoP1YyKHRoaXMuYmQsbik6W119cmVmcmVzaCgpe2lmKCF0aGlzLmlzTG9hZGluZygpJiYhdGhpcy5xTigpKXt2YXIgbj1nLkVUKHRoaXMuc291cmNlVXJsLHtzdGFydF9zZXE6QSRpKHRoaXMpLnRvU3RyaW5nKCl9KTtTNCh0aGlzLG4pLnNQKCgpPT57fSl9fXN1c3BlbmQoKXt0aGlzLksmJnRoaXMuSy5zdG9wKCl9cmVzdW1lKCl7QVoodGhpcyl9ckkoKXtpZih0aGlzLmlzTWFuaWZlc3RsZXNzJiZ0aGlzLmlzV2luZG93ZWRMaXZlJiZpQSh0aGlzKSlyZXR1cm4gaUEodGhpcyk7CnZhciBuPXRoaXMuTixXPSExLEQ9TmFOLGI9TmFOO2ZvcihsZXQgayBpbiBuKXtsZXQgaD1uW2tdO3ZhciB2PWguaW5kZXg7aWYoIXYuaXNMb2FkZWQoKXx8aC5pbmZvLk4oKSljb250aW51ZTtoLlYmJihXPSEwKTt2PXYuYlEoKTtoLmluZm8uZVMoKSYmKGlzTmFOKEQpfHx2PEQpP0Q9djpoLmluZm8uZlkoKSYmKGlzTmFOKGIpfHx2PGIpJiYoYj12KX1yZXR1cm4gV3x8aXNOYU4oYik/RDpNYXRoLm1pbihELGIpfUxmKCl7aWYodGhpcy5pc01hbmlmZXN0bGVzcyl7aWYodUEodGhpcykpcmV0dXJuIHVBKHRoaXMpO2lmKHRoaXMuSVQpe3ZhciBuPXRoaXMuaEModGhpcy5ySSgpKTtpZihuJiYobi09dGhpcy5JVCxuPjApKXJldHVybiB0aGlzLnJJKCktbn19bj10aGlzLk47Zm9yKGxldCBXIGluIG4pe2xldCBEPW5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpJiYhbltXXS5pbmZvLk4oKSlyZXR1cm4gRC5MZigpfXJldHVybiAwfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5EfWhDKG4pe2ZvcihsZXQgVyBpbiB0aGlzLk4pe2xldCBEPQp0aGlzLk5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpKXtsZXQgYj1ELlIzKG4pLHY9RC5oQyhiKTtpZih2KXJldHVybiB2K24tRC5nZXRTdGFydFRpbWUoYil9fXJldHVybiBOYU59cWgoKXtyZXR1cm4gdGhpcy5lJH1qVygpe2ZvcihsZXQgbiBpbiB0aGlzLk4pdGhpcy5OLmhhc093blByb3BlcnR5KG4pJiYodGhpcy5OW25dLko9bnVsbCx0aGlzLk5bbl0uY0o9ITEpfX07Zy5HeC5wcm90b3R5cGUuRkY9V1ooNCk7dmFyIE16LEhGLGY2LHd0PW51bGwsUm89ISFuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyxVaz17Y29tbWVudGFyeToxLGFsdGVybmF0ZToyLGR1YjozLG1haW46NH07dmFyIGNGPW5ldyBTZXQsUUM9bmV3IE1hcDt2YXIgUGVNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMueVE9bjt0aGlzLk5kPXRoaXMuYnY9dGhpcy5ISj10aGlzLlY9dGhpcy5qPXRoaXMuSGk9dGhpcy5HQz10aGlzLmNKPSExO3RoaXMuWT10aGlzLks9MDt0aGlzLkN1PSExO3RoaXMudHc9ITA7dGhpcy5QWD0hMTt0aGlzLm5TPTA7dGhpcy5GRj10aGlzLm51PXRoaXMub0w9dGhpcy5lJD0hMTt0aGlzLk49e307dGhpcy5qVz10aGlzLlJhPXRoaXMudlg9dGhpcy5kaXNhYmxlQXYxPXRoaXMuYmQ9dGhpcy5Rcj10aGlzLnlFPXRoaXMuWVo9dGhpcy5CVj10aGlzLko9dGhpcy5XPXRoaXMuRD0hMTt0aGlzLlMkPTA7dGhpcy5UQz0hMTt0aGlzLnM1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9hYWNfcHJlZmVyZW5jZSIpO3RoaXMud2E9SW5maW5pdHk7dGhpcy54ZD0wO3RoaXMuTEI9dGhpcy55US5XWCgpO3RoaXMuSEQ9dGhpcy55US5leHBlcmltZW50cy5FcSgiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpO3RoaXMuTWQ9dGhpcy55US5TKCJodG1sNV9mb3JjZV9hdjFfZm9yX3Rlc3RpbmciKTsKdGhpcy55dz10aGlzLnlRLlp0KCkuTi5RUShWSWopO3RoaXMudko9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9hdjFfb3JkaW5hbF9jYXAiKTt0aGlzLlU1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9oZnJfd2hlbl92cDlfZW5jcnlwdGVkXzJrNGtfdW5zdXBwb3J0ZWQiKTt0aGlzLkU1PXRoaXMueVEuUygiaHRtbDVfYWNjb3VudF9vbmVzaWVfZm9ybWF0X3NlbGVjdGlvbl9kdXJpbmdfZm9ybWF0X2ZpbHRlciIpO3RoaXMuTnM9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9tYXhfYnl0ZXJhdGUiKTt0aGlzLlZRPXRoaXMueVEuUygiaHRtbDVfZW5hYmxlX2lhbWZfYXVkaW8iKTt0aGlzLmZCPXRoaXMueVEuWnQoKS5OLlFRKFFPeCk7dGhpcy5EdD10aGlzLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9hbGxvd19jYXBhYmlsaXR5X21lcmdlIik7dGhpcy5ZJD10aGlzLnlRLlMoImh0bWw1X2VuYWJsZV9lbmNyeXB0ZWRfYXYxIik7dGhpcy5ZWj10aGlzLnlRLlp0KCkuTi5RUShaN1UpfHwKdGhpcy55US5TKCJkaXNhYmxlX3ByZWZlcl9oYnJfdnA5Iil9fTt2YXIgcjE9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5mbGF2b3I9bjt0aGlzLmtleVN5c3RlbT1XO3RoaXMuVz1EO3RoaXMuZXhwZXJpbWVudHM9Yjt0aGlzLko9e307dGhpcy5DaT10aGlzLmtleVN5c3RlbUFjY2Vzcz1udWxsO3RoaXMuamk9dGhpcy5WOT0tMTt0aGlzLkZjPW51bGw7dGhpcy5YPSEhYiYmYi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTtiJiZiLkVxKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5Iil9Y2xvbmUobil7cmV0dXJuIG5ldyByMSh0aGlzLmZsYXZvcixuLHRoaXMuVyx0aGlzLmV4cGVyaW1lbnRzKX1OKCl7cmV0dXJuIHRoaXMua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwifXlyKCl7cmV0dXJue2ZsYXZvcjp0aGlzLmZsYXZvcixrZXlTeXN0ZW06dGhpcy5rZXlTeXN0ZW19fWtMKCl7c3dpdGNoKHRoaXMua2V5U3lzdGVtKXtjYXNlICJjb20ueW91dHViZS5wbGF5cmVhZHkiOnJldHVybiJQUlkiO2Nhc2UgImNvbS5taWNyb3NvZnQucGxheXJlYWR5IjpyZXR1cm4iUFJNIjsKY2FzZSAiY29tLndpZGV2aW5lLmFscGhhIjpyZXR1cm4iV1ZBIjtjYXNlICJjb20ueW91dHViZS53aWRldmluZS5sMyI6cmV0dXJuIldWWSI7Y2FzZSAiY29tLnlvdXR1YmUuZmFpcnBsYXkiOnJldHVybiJGUFkiO2Nhc2UgImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwiOnJldHVybiJGUEMiO2Nhc2UgImNvbS5hcHBsZS5mcHMuMV8wIjpyZXR1cm4iRlBBIjtkZWZhdWx0OnJldHVybiB0aGlzLmtleVN5c3RlbX19fSxxVj17cGxheXJlYWR5OlsiY29tLnlvdXR1YmUucGxheXJlYWR5IiwiY29tLm1pY3Jvc29mdC5wbGF5cmVhZHkiXSx3aWRldmluZTpbImNvbS55b3V0dWJlLndpZGV2aW5lLmwzIiwiY29tLndpZGV2aW5lLmFscGhhIl19LHZRQz17d2lkZXZpbmU6IkRSTV9TWVNURU1fV0lERVZJTkUiLGZhaXJwbGF5OiJEUk1fU1lTVEVNX0ZBSVJQTEFZIixwbGF5cmVhZHk6IkRSTV9TWVNURU1fUExBWVJFQURZIn0seFZpPXt3aWRldmluZToxLGZhaXJwbGF5OjIscGxheXJlYWR5OjN9O3ZhciBaV1M9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyxELGI9ITEsdil7c3VwZXIoKTt0aGlzLnlRPVc7dGhpcy51c2VDb2JhbHRXaWRldmluZT1iO3RoaXMuVT12O3RoaXMuSj1bXTt0aGlzLlc9e307dGhpcy5OPXt9O3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLmo9ITE7dGhpcy5YPVtdO3RoaXMuaW5pdGlhbGl6ZShuLCFEKX1pbml0aWFsaXplKG4sVyl7Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKG4pKXt2YXIgRD1iO2ZvcihsZXQgdiBvZiBuW0RdKWlmKHYuY29udGVudFByb3RlY3Rpb24pZm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKHYuY29udGVudFByb3RlY3Rpb24pKXtEPWs7bGV0IGg9cVZba107IWgmJnRoaXMuUygiaHRtbA=="}},"time_used":53,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":14,"receive":39,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/22974.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.238Z","timestamp":1785129950238,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/22974.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 446\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 14 Dec 2022 06:25:07 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:05:26 GMT\r\netag: \"a062e2c769af25c180143b158a03c7c9\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 4825\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: p9RuftXLBLCZsTtGm7RLpAALQK_61D9MMYAMRV7rlUELevNEJqFYtg==\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":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":446,"size_decoded":978,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"a062e2c769af25c180143b158a03c7c9","sha1":"a68c0d9392a682c3aa6104b07e02dfb915527ac1","sha256":"3ec5fbbd218e9cef5b494c2df9a4426542b226f062c967a6fdffaff7f98e3244","sha512":"833130dc07ece584b5c50f65be06eda012db68a1c8b8778ee1991b6ae5e61aa5d46af9032d8c38edbb98e6fa3fbfaaf8dfe77e8cb8011cc4a3c4833ada588cd8","ssdeep":"","tlshash":"d7f0dcd2e282a1869b85e6e2a80070af89348ca1f3415509c890f22a2f378aa43437a1","first_seen":"2025-01-10T18:56:09.115311Z","last_seen":"2026-08-15T04:03:50.994565Z","times_seen":1542,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABhUlEQVR4Xu2Zi06DQBBFF8rTGiVq/P8/JGogiMDYpSLmEq22bLdm7kmmtLeb0J4OJQxGlGMw0AYFYKANCsBAGxSAgTYoAANtUAAG2qAADLRBARhogwIw0AYFYKCNswhomgajPzHsqusH6e2TlXEuIEkSiaJI0jQ9upI0F2PCUcTaOBNgjBk/+FplBfyLDui6TsIwXHyBUyrPc2nbFne1Ck4EHPr1o3jX2tmV3BZ3i/emipNsXBOEEe5iVZwIsH96tlt/qu31zSL7Wk/PL/PrwT66YXUBB/k4kG0XhJt43PrEq4Cp3YuikLIsYeF5uAgBmyiR1/YNFp6HixBgy8Up7jdQAAbOoQAKGDcUQAEUQAEUQAEUoFCA7K/vp1mfrfuHx/G63wdeBFisADvnm7sgk77vcZlzvAio61qqqgIBuTgc/HyLFwETdnwWBMGngCzf4hLneBUwTwD3nHoD5Rg8C/APBWCgDQrAQBsUgIE2KAADbVAABtqgAAy0QQEYaIMCMNCGegHveof2oBXRtqkAAAAASUVORK5CYII="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/36341.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.244Z","timestamp":1785129950244,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/36341.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2140\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 25 Apr 2025 06:46:12 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:51:51 GMT\r\netag: \"8305fed86a2e2e09d8372e143ede512e\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 5666\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: YErDeRYmwMecpqqe0eOOCeiDnApySpPfPZCjx_OB75NAtxpDW5kuKQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":2140,"size_decoded":2673,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"8305fed86a2e2e09d8372e143ede512e","sha1":"6eb7a928467cc34b354b0dcfdab2a5d802162677","sha256":"3b34f8a08b1b5170133d59cf6a13370ddfe19aa8fcfd262dc6577c40a9a85502","sha512":"e6d028ae347fbaedc5f8bb022e87bdf2221fe600a0c4f9c6956f097e394a9e82272501135ac42b2f20c02641ab14fb2c53a2646cc70ecf30236e26ad02f1aebd","ssdeep":"","tlshash":"754109e5a87b96a1d9af6468b8278849bfdf04a0d9f3725d2e068405492e601a300dc7","first_seen":"2025-09-24T03:26:09.454336Z","last_seen":"2026-08-15T04:03:50.985327Z","times_seen":1516,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/generate_204?Dgp_pA","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:51.553Z","timestamp":1785129951553,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /generate_204?Dgp_pA HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/nJ4pVzGWVH0\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-length: 0\r\ncross-origin-resource-policy: cross-origin\r\ndate: Mon, 27 Jul 2026 05:25:51 GMT\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":172,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-15T16:46:18.775881Z","times_seen":17905015,"resource_available":true,"data":""}},"time_used":8,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/youtubei/v1/log_event?alt=json","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:53.831Z","timestamp":1785129953831,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"POST /youtubei/v1/log_event?alt=json HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Request-Time: 1785129953826\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: Cgtqem1Ec05YMU9qTSjd15vTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMGLfAgrcAjIwLllUPUt0RHg0d3pubWxXemwxNWx2Q1Z3ZGpSeDRpQ1dhUXFGcUIzcVVHd0lHWU5EUUp1R0M1bWJ5X0xRQjBwMXJUVTJKWU0zc056bjRZa0tOWGJ2cFdGNzVMeDlndGN2dF9DZ2pyenAyZmhnNkJsVWNwbjF6My12LWV0R05Ua0lpWEdGX0ZJcUJKUFJkem5UTTExSWc0UXg4cVhhY1BIQUkwMVh1M1ctZGN4V3BJaXp6VnVHVlZORkNTdjAwMmMybzdTVVMyM0VpdkNGcEpWYmpteWd4bkloV21hQ0pMUzZwalJiQ2ZIQklHRHVfWWw0WHNTYnNoNUkzYnoxR3dObTdLdktwRDVwQTNpMlNWdXpiUHpnckl2c0thVDFHMXlZMHpsNUp2YmN0eU9SVWhqbWxLQllhUnFFMkhUSFV6VDlqdlVmTEdrTEIwdmdjRXl5Z21VRUswSl81QQ%3D%3D\r\nX-Goog-Event-Time: 1785129953826\r\nX-YouTube-Client-Name: 56\r\nX-YouTube-Client-Version: 2.20260724.01.00\r\nX-YouTube-Device: cbr=Firefox\u0026cbrver=134.0\u0026ceng=Gecko\u0026cengver=134.0\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\r\nX-YouTube-Page-CL: 953206010\r\nX-YouTube-Page-Label: youtube.embeds.web_20260724_01_RC00\r\nX-YouTube-Utc-Offset: 0\r\nX-YouTube-Time-Zone: UTC\r\nX-YouTube-Ad-Signals: dt=1785129950101\u0026flash=0\u0026frm=2\u0026u_tz\u0026u_his=2\u0026u_h=1024\u0026u_w=1280\u0026u_ah=1024\u0026u_aw=1280\u0026u_cd=24\u0026bc=31\u0026bih=-12245933\u0026biw=-12245933\u0026brdim=0%2C0%2C0%2C0%2C1280%2C0%2C1280%2C1024%2C360%2C215\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Length: 10984\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/EjB5qFW0bJ8\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":10984,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"clientName\":56,\"clientVersion\":\"2.20260724.01.00\",\"configInfo\":{\"appInstallData\":\"CN3Xm9MGEM-o0RwQnYa4IhCKh7giEJ7QsAUQtviAExCkqdEcEParsAUQuOTOHBCu1s8cEJmNsQUQgc3OHBCDh7giEL6KsAUQyvuAExC9mbAFEPGcsAUQhuGAExC48NEcEInk0RwQ6fjRHBDM364FEMf8gBMQ4LfRHBDg6tEcEN68zhwQvKTQHBC9tq4FENr3zhwQjpDRHBCHrM4cEPny0RwQn8-AExDJ9oATEImwzhwQwY_QHBC1tYATEPyyzhwQ8bTQHBCL988cEAAQ-MSAExCW79EcEPDe0RwQtd7RHBD299EcEL6E0RwQjeTRHBCIkNEcEPTp0RwQ-vbRHCpsQ0FNU1N4VkEtWnEtRExpVUVwUUNuQTc1RlhhZ0J1QVdxTlVQeUFNTTN3M2NCdVFHdEFhMkJmYTk2UXN5b0t3RUE1Q3VBX3NtdHVRRzVJVVgwTXdHeEpJRnl6M0ZKOW5WQmR3czUwWWRCdz09MAA%3D\"},\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\",\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"platform\":\"DESKTOP\",\"windowWidthPoints\":360,\"windowHeightPoints\":215},\"thirdParty\":{\"embedUrl\":\"https://digitaltradeinvest.org/\"}},\"events\":[{\"eventTimeMs\":1785129950108,\"latencyActionTicked\":{\"tickName\":\"mm_is\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950112,\"latencyActionTicked\":{\"tickName\":\"mm_ie\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950118,\"latencyActionTicked\":{\"tickName\":\"ep_init_cus\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950118,\"latencyActionTicked\":{\"tickName\":\"ep_init_eps\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950119,\"latencyActionTicked\":{\"tickName\":\"ep_init_epe\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950119,\"latencyActionTicked\":{\"tickName\":\"ep_init_cue\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950295,\"latencyActionTicked\":{\"tickName\":\"pe\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950297,\"latencyActionTicked\":{\"tickName\":\"ep_init_wes\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949560,\"latencyActionTicked\":{\"tickName\":\"srt\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949238,\"latencyActionBaselined\":{\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949510,\"latencyActionTicked\":{\"tickName\":\"nreqs\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949560,\"latencyActionTicked\":{\"tickName\":\"nress\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949573,\"latencyActionTicked\":{\"tickName\":\"nrese\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949377,\"latencyActionTicked\":{\"tickName\":\"ntcps\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949399,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949377,\"latencyActionTicked\":{\"tickName\":\"nstcps\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949399,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949783,\"latencyActionTicked\":{\"tickName\":\"wffs\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949945,\"latencyActionTicked\":{\"tickName\":\"wffe\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949764,\"latencyActionTicked\":{\"tickName\":\"rsf_pj\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949935,\"latencyActionTicked\":{\"tickName\":\"rse_pj\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949763,\"latencyActionTicked\":{\"tickName\":\"rsf_pc\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949922,\"latencyActionTicked\":{\"tickName\":\"rse_pc\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949764,\"latencyActionTicked\":{\"tickName\":\"rsf_ecj\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949929,\"latencyActionTicked\":{\"tickName\":\"rse_ecj\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949763,\"latencyActionTicked\":{\"tickName\":\"rsf_ecc\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129949926,\"latencyActionTicked\":{\"tickName\":\"rse_ecc\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950301,\"latencyActionInfo\":{\"isNavigation\":true,\"actionType\":\"LATENCY_ACTION_VIDEO_PREVIEW\",\"httpProtocol\":\"h3\",\"transportProtocol\":\"quic\",\"isVisible\":true,\"loadType\":\"cold\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950100,\"latencyActionTicked\":{\"tickName\":\"rses_dpj\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950304,\"latencyActionTicked\":{\"tickName\":\"ep_init_wee\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950306,\"latencyActionInfo\":{\"serverTimeMs\":37,\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950752,\"latencyActionTicked\":{\"tickName\":\"ep_init_ijs\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950754,\"latencyActionTicked\":{\"tickName\":\"ep_init_ije\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950756,\"latencyActionTicked\":{\"tickName\":\"ep_init_rs\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950762,\"latencyActionTicked\":{\"tickName\":\"ep_init_re\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785129950923,\"screenCreated\":{\"csn\":\"hzk1PGB2rS3JHUUi\",\"pageVe\":{\"veType\":16623,\"youtubeData\":{\"servletData\":{\"serializedServletEventId\":\"3etmaufbH72AhekPiOqC6QQ\"}}}},\"context\":{\"lastActivityMs\":\"12\"}},{\"eventTimeMs\":1785129950923,\"latencyActionInfo\":{\"clientScreenNonce\":\"hzk1PGB2rS3JHUUi\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"12\"}},{\"eventTimeMs\":1785129950923,\"screenCreated\":{\"csn\":\"hERm3rzazI_am8vO\",\"pageVe\":{\"veType\":32594},\"implicitGesture\":{\"parentCsn\":\"hzk1PGB2rS3JHUUi\",\"gesturedVe\":{\"veType\":16623},\"gestureType\":\"INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED\"}},\"context\":{\"lastActivityMs\":\"13\"}},{\"eventTimeMs\":1785129950924,\"visualElementHidden\":{\"csn\":\"hzk1PGB2rS3JHUUi\",\"ve\":{\"veType\":16623},\"eventType\":16},\"context\":{\"lastActivityMs\":\"13\"}},{\"eventTimeMs\":1785129950939,\"latencyActionInfo\":{\"clientScreenNonce\":\"hERm3rzazI_am8vO\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"27\"}},{\"eventTimeMs\":1785129950939,\"visualElementAttached\":{\"csn\":\"hERm3rzazI_am8vO\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"trackingParams\":\"CAAQru4BIhMI96-UpI_ylQMVPxAeBR3cqjqJygEEPLCqbA==\"}]},\"context\":{\"lastActivityMs\":\"27\"}},{\"eventTimeMs\":1785129950943,\"latencyActionTicked\":{\"tickName\":\"qoes\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"31\"}},{\"eventTimeMs\":1785129951023,\"latencyActionTicked\":{\"tickName\":\"fs\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"112\"}},{\"eventTimeMs\":1785129951033,\"latencyActionInfo\":{\"clientPlaybackNonce\":\"ruYVLzP5TOKDCPEP\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"121\"}},{\"eventTimeMs\":1785129951033,\"visualElementAttached\":{\"csn\":\"hERm3rzazI_am8vO\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":216103,\"veCounter\":2}]},\"context\":{\"lastActivityMs\":\"122\"}},{\"eventTimeMs\":1785129951034,\"visualElementShown\":{\"csn\":\"hERm3rzazI_am8vO\",\"ve\":{\"veType\":216103,\"veCounter\":2},\"eventType\":1},\"context\":{\"lastActivityMs\":\"122\"}},{\"eventTimeMs\":1785129951041,\"latencyActionTicked\":{\"tickName\":\"ep_init_pr\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"129\"}},{\"eventTimeMs\":1785129951094,\"latencyActionTicked\":{\"tickName\":\"pot_ist\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"182\"}},{\"eventTimeMs\":1785129951724,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW8KBgoEYUdJZhICCAEiEQoDCgF0CgYKBGFHSWYSAggBIhEKAwoBaAoGCgRhR0lmEgIIEA==\"},\"context\":{\"lastActivityMs\":\"813\"}},{\"eventTimeMs\":1785129951726,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAADNAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAChAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAFEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAQQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAADlAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAIkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAABBAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAOkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAABAIhgKAwoBdAoGCgRhR0lmEgkRAAAAAABwgEA=\"},\"context\":{\"lastActivityMs\":\"814\"}},{\"eventTimeMs\":1785129951824,\"latencyActionTicked\":{\"tickName\":\"pot_if\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"912\"}},{\"eventTimeMs\":1785129951824,\"latencyActionTicked\":{\"tickName\":\"pot_cms\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"912\"}},{\"eventTimeMs\":1785129951825,\"latencyActionTicked\":{\"tickName\":\"pot_cmf\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"914\"}},{\"eventTimeMs\":1785129952727,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChYvY2xpZW50X3N0cmVhbXovYmcvZnJzEhAKDgoIYm90Z3VhcmQSAjUzGgJtayITCgYKBGFHSWYSCREAAAAAALCbQA==\"},\"context\":{\"lastActivityMs\":\"1816\"}},{\"eventTimeMs\":1785129952727,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW4KBgoEYUdJZhICCAEiEQoDCgFtCgYKBGFHSWYSAggB\"},\"context\":{\"lastActivityMs\":\"1816\"}},{\"eventTimeMs\":1785129952728,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAW4KBgoEYUdJZhIJEQAAAAAAADJAIhgKAwoBaQoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgFvCgYKBGFHSWYSCREAAAAAAMCGQCIYCgMKAWMKBgoEYUdJZhIJEQAAAAAAAAAAIhgKAwoBQwoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgF4CgYKBGFHSWYSCREAAAAAAAAAACIYCgMKAW0KBgoEYUdJZhIJEQAAAAAAAPA/\"},\"context\":{\"lastActivityMs\":\"1817\"}}],\"serializedClientEventId\":{\"serializedEventId\":\"3etmaufbH72AhekPiOqC6QQ\",\"clientCounter\":\"19702\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 05:25:53 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 31\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":28,"size_decoded":381,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"5e1fa6fd9abd549a576f3f24b1d3c8d4","sha1":"d5335d7f7d33be6a0b663f03b2df4df2521c4a87","sha256":"d7d5e54ad1e33d7ab49c664323ced79cb9723ff15e9764cd0edc3e15208e8336","sha512":"96e6938256b8e5924210f8e8e54a85d783fa2c01d5fbe5d2a8df7655fed9ef8be73c7cd8bf042c3c84302134b7418711397eece32f081eb7e824a519cc06b4e3","ssdeep":"","tlshash":"1c800038a8200b22232000ea202888322ac8c8203200ca28830200280cc0a0000a2282","first_seen":"2023-04-05T04:40:08Z","last_seen":"2026-08-15T16:42:31.537717Z","times_seen":285114,"resource_available":false,"data":"ewogICJyZXNwb25zZUNvbnRleHQiOiB7fQp9Cg=="}},"time_used":23,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":23,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1027.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.160Z","timestamp":1785129950160,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1027.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2780\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:32:40 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 09:13:52 GMT\r\ncache-control: max-age=86400\r\netag: \"856bfdb63dc0d6fad6b92fc6a29719e1\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 72719\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: mkX7WM4CtovC8Tgv2ZmblgWnU7dq3rCu1pHJfUH2hJ6Sj8ZPtHv8hg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":2780,"size_decoded":3306,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"856bfdb63dc0d6fad6b92fc6a29719e1","sha1":"2fed2e3409ce1bbbfb37f6da4abeecc30cefc021","sha256":"eebe29898b8b7de5c9e47daab474152be8095e3ab42d768b84b085c5a12b95c6","sha512":"a61c0a108d63c89ae62a2b03108480b5c08bda0e80049089a2a84cd7973bd9e94dcd2902e166b92e1d7ad5b7356357c9b181cb1b6051dd25913e82d2420154f0","ssdeep":"","tlshash":"51518cc7a707f33a9c866161bed44509f244d80a8160b31c0f33a7572c8a83ea4f324f","first_seen":"2023-05-01T18:49:36Z","last_seen":"2026-08-15T04:03:51.060657Z","times_seen":23276,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/37263.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.198Z","timestamp":1785129950198,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/37263.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 883\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 05 Nov 2025 15:32:22 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 06:46:41 GMT\r\ncache-control: public, max-age=86400\r\netag: \"a60b84a23311e94dc9543f6771260fa7\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 81554\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: mfR-ctU8E5A_bR3wXHCiNTBrgt3kBCRShVUQNvtpiAUUNiJP4n24uQ==\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":"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 S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":883,"size_decoded":1454,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"a60b84a23311e94dc9543f6771260fa7","sha1":"e03b7af49201253d5e48542bfb0798ba71081069","sha256":"5eca3513dd3837f14f06e5603655876ac742f3f3663a99d27f6c10e22fdb9945","sha512":"54ae626d5b2b00c62327adbf6b8dded0e541e922c355df193ea5ae6866b93b000aee91962ca0537b5646708c09e1b3af53342cbd6258bb4492d99065ec4a4f64","ssdeep":"","tlshash":"8d11e6e3ebd044a2327574c2b7293d22691388be6d9333ccb0449fb301b9328da8e480","first_seen":"2026-03-04T08:47:10.827995Z","last_seen":"2026-08-15T04:03:51.110873Z","times_seen":1546,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADOklEQVR4XtWbsW5TQRBFI5CoKSkJJTUlEuIHQHwAAr4AeioKWuiwqcKf5CtS09BbgCXKJWvpWevjmd2Z3X3P6ysdKRrvzNw7SkEUcnGxoP6GVbDAvrNUCFf3GayWOIvzhxXN94b7hhGNzg33n0w0tjT0s5ho5NTQ36zi8lGgz+76F1YPuXQ0okf67iIuquXunXsHX0+wxj4v9N8kDq8hDSsF1mqv3z09mmWFOarEoR5ywbS6VEvrXpjHpW1Yv+dAD1IALVipxs+sbMP3N8xlFodZ0UJINa0u1fiZFeYyiUOsSEZLNa0u1fiZFebLis0eLh89EI2WajVwdwnmVMVGC9HQzc/Pu69HPQJzimKThdSQ5wi9oJ8czHugP2H1lg05UgOpodwRaL4X9KbxO3z7wNx78XEOaXla044wJ/Sowdx78aEGF6fL09qoR2DunfhIIxdmepPW4hH47sWrJ0dzpV4vnJWD+c0HkBaWal5zKZwj8fHTy6O+Es3hGUyrcUYt3NsSfsJ1AOlbWQrMWk+4tyV8xHUALifSO87oRY/wka4H4BHYPyLN4aXP2Ds6zQeQPmf/yDQdQDsC+0em+QDSEdg/Ml0OwCOwf2S6HeDcgk80H4Cfs3d0mg9w7kfodoD0HftHpssBeAT2j0y3A5xb8AnTASIMq8G+0Wn+eUCCvaPS/afBJY7w7PnjbjtcB4gwZAn2t8L5rTvcB/i1+XJkoARn1MK5PXbsD+A5Apdb4RwrnKPBvhIH4T0HiHB5DZwZqfkOK83UYP7bA6yv+SgHl48CfSpcM/9OwsMsXN4b7x7602DuvfjQAk30xrqHvnIw94H42ALNtCDNK+2hnxzMeyTvr8gnaKoWbV6pbiFmY15RbLRCUzQrIb2ValKd+0swZ1ZstkJzuQC5ulSrCT3BfEVtwtfqv/igWSmAFqxUqznCpvYvTjjIA81KAbRguRr3WGAulzjMixRCq2l1zvTAPFXiUC/Tf5WJSMFyR+AsD8zRJA5vQQs7kR6sFvrvIi4ZFfruqs3AfzUSvdHvbOLyU0N/i+j2n5Y/aGRptmF9RV+Li6aWgj5OLhqcC+4dUjTdCuefnRioBPvn0n82a2XLrkAq2gAAAABJRU5ErkJggg=="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/4642.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.211Z","timestamp":1785129950211,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/4642.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 512\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 03:09:24 GMT\r\nlast-modified: Fri, 07 Mar 2025 07:10:13 GMT\r\netag: \"9461694e94919b8ea6de7e3db0f232b5\"\r\nx-amz-server-side-encryption: AES256\r\ncache-control: public, max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 8187\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: mHN87lMJZ6bwjcYD6cmgHe9IGE1JR1RSwJMovrbhVAhIY-P_96kEYA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":512,"size_decoded":1065,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"9461694e94919b8ea6de7e3db0f232b5","sha1":"e699eedd2c9bcc757317e9861642da43917fc8c2","sha256":"9b3cad62eacf47b257066fda4d3695d45582360164b8b0f1082f74cae3304517","sha512":"6f543ea38f0600ad22dc1e5b155d03df442a3474fc039cace36fc5467901e3634dc8f44da9b8d1a35eb97eabbb9b3a8d61b87052810d1e3a34a56c4abd1a371b","ssdeep":"","tlshash":"e8f005d3a3d216acd438033551ebc6326cc2082048d3d69089d7e57091cc3ac7ae1543","first_seen":"2025-05-17T13:51:35.296693Z","last_seen":"2026-08-15T04:03:51.122031Z","times_seen":1546,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABx0lEQVR4Xt3UwXHbMBQGYZSqElJCSnIJLikdJJYPnPEHyyH+R0EEd2YvWAAPPEitzeP3h393et+7PG+t/7DU+13L4OOP9pS8t/6hz/a9nQQfNtuX4UNe7VQcfhafzq31Q8/mrT0JB53dQ/HyVTwEL13NErfWX7iav1oBL1vVCC9Z3SE8fBV348GruAsPXc0f+dP6A1fz/o0PcfOQYk8Ve+BD3Dik2FPFHvgtbhpW7KliD+1ww7BiTxV76BcO+fMTe6rYC24YIsWeKvaCG4ZIsaeKveCGIVLsqWIv+Mkhv/+7Yk8Ve9FuIXYWzi3aLcTOwrlFu4XYWTi3aLcQK/ZUsRftFmLFnir2ot1CrNhTxV60W4gVe6rYi3YLsbNwbtFuIXYWzi3aLcTOwrlFu4VYsaeKvegnLkaKPVXsBTcMkWJPFXvBDUOk2FPFXnDDECn2VLEX/IJxWLGnij20ww3Dij1V7KHf4qYhxZ4q9sCHuHFIsaeKPfAhbryqP+Lmq7kLD13F3XjwKg7h4dWN8JJVjfGiVS3hZat5CF66iofi5Wf3KTjkrD4dB57FqTj81b4MHzLbU+CjZnlKfOTRLoMPr7o8ftD/nMI/fb1rr6o8l2IAAAAASUVORK5CYII="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/21159.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.240Z","timestamp":1785129950240,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/21159.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1109\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Mon, 27 Feb 2023 08:52:26 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:16:06 GMT\r\netag: \"7fc6b4e871a3083132fe9efd2c32810b\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 79785\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: L7m_ukQZdenFWEo4H-k-otg6zl9KFZR4oWQ6QRpxStIXyMgrTbj-eg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":1109,"size_decoded":1643,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"7fc6b4e871a3083132fe9efd2c32810b","sha1":"af58b11f58be987c5046adfe366e54ffc442dab4","sha256":"fafa5f5e91dcd9a9df807a32d2e2f632e82116d3a6315ac4880e9faeec0c842d","sha512":"e50f074d52a4ebe7e26a28e016141af04d28452709296826a865587c6d846ea7e66e74afaacf99449a8275ebb85c53561c5990d41dac1069ec51eb435571c701","ssdeep":"","tlshash":"9611b9dbf1dfb46dd9f66a2d4a586b637cd074b500d10823a44ae025343ca4d7cd97b1","first_seen":"2024-08-19T19:26:13.825682Z","last_seen":"2026-08-15T04:03:51.119516Z","times_seen":1509,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEHElEQVR4XuWZ4ZWrNhBGp4SUQAkpgRJSAiW8DtYd5HWAO8jrgBJSAiWkhGTHRot0ZyQExhhv7jnfH+bOSNr1GuwVOZY/P/PPZ/7NRGvqfAs6sQfcmk7ehE7s5vdOJyekF7vRZ6eXk8CNrck4hdfX5GVwI7mMoWED2st5uRwKF2eGWd2Nv8Suwzyd0i1M89usPhWuG0f3+BR6sYvFORquH0f3uiuj2EVCmlmr4o/P/C12jl5rZ62KRuyckHHWHqP0t1fDh9i+2vyQOtgXont/CA5cM5g9j2aJR39RLhxUM/BDrL9XPqQM/ZBNcIjmGgtA7wD0n5USV7H+Uo+BzUtDBrEu0wW5gk5sPzME2YFuSDVsLDXTizNG3lZ0Budu3VfVcwqbSo304jSz9jCN2PlxPHJ/kkVGsQ25Ju9eXvL3gOuE6F486GmGxACUNR6NWE/TzkoR/e30cn9s1egtLPcqI/ogxXU1uX56uTO5j7o56Gl+TwzLILYnl37qydGK7dHkoHdJqhOUcgN1c/RyboBubUrQ1eS+T6TnzqbQp+Uv6LnDJpY+Pdak9OmOrsbjIgteHxVcYYKOpomFCHqPxmPNOz2dn6Vi7ZA+LX9BL46+ieXoxPpxPAap8+gkHgu/4uJEL9bLQW/JJ+xb6qc3pOUbV7HeF9lCBJ01Xu4+XSL3nOFBp9a70eYKgE6TVO+MYr3cvBo4R6NrkEas50Hnduv2ftIeW5yctwbOy83c4ozeRa/5IsuOQqdJqttoxc71oJO8y0/Quc3iBW8B1j3He0TdC87tkuodOt76rN8cXhiCHUHHG+499OwF53oPR3S89QdxHF7ogx1BxxvOuudshXO92ax7zlUchxf6SY6h4w1n3XO2wrnebNY95yqOwwvDJMfQ8Yaz7jlb4VxvNuueM4jj8ILXyLrn/JBlZyucq2sROt76rN8cXvAar7LsKHRyX1KshXM96PRp+Qad26yad2/vU5cHnZy3Bs7LzaTj/fDp3O4mtfdvOjULaLZ8DjgcbtqDzhpv6euyl8MNX5LqnZo/lQA9zZAYJ4ObzR2OTpdUZ+gtzX05g9RtlE7OU+idMQkstkn1TiPWM4Mi6J0pBgquJP57gffhJODdQs8QwyAV0gS9khug/+q4UMqJ3mNvzvXQf4Wx98hk8V7eY2LM0Asp/Tm8BTxQ6SdGr6bn9LRiD1M6EL047ay9FzyIZkiMFLpe3g4eQFN6pr+I9UsZ5f5m2B+U1TRiN60ZI8fDeyN9dS6yEQ4KaSLHoxPb88o8BIeF6Mu3BvYdnV3g0K0L6Jcv3r/inpVd4fA4Y+R9a3hw5n9BI/bgjDrfHh46l3byvyWd2APXZJD7J8p2h3jfTh8OD3hUTscodpPPyFuw9yPxKV7qj/BT7KFyGeWgA/8HnQmb9kre5jAAAAAASUVORK5CYII="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/33251.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.243Z","timestamp":1785129950243,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/33251.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 670\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Mon, 01 Sep 2025 11:02:49 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:59:30 GMT\r\ncache-control: public, max-age=86400\r\netag: \"ec9dd93a241b707c75a67b74596e9b5e\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 77181\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: xQFe2FyIUIlPf2UrHLCA7JIeL46ufCLOb14v70Zs-M09moWzuQI41g==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":670,"size_decoded":1241,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"ec9dd93a241b707c75a67b74596e9b5e","sha1":"ccb63f92f95d2d2a3a79e0a1af4a5c4ae8163b3a","sha256":"3929c3a945e23b6246a734d12e96c3d0b8dfe5786d4c25b7b1891a3692f780a5","sha512":"7edb6748d2be6e6b80a20638bb1deded70e45a5c32fcdd8c63059753227817ebcc0c1dbb59b79bed61178ef406b364f06e1b4a9a6fffa759e98060b86f6c200d","ssdeep":"","tlshash":"ce0188ce03224c20dd972397b2d0e491f002f209575a04c4530d44d84147606e9dcf03","first_seen":"2025-09-21T19:23:24.386227Z","last_seen":"2026-08-15T04:03:51.122754Z","times_seen":1564,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACZUlEQVR4Xu2aO07DQBRFUwIKhfNRsgNasgFgKalpqZFYAdBCSUWBFHYQCTbABhA9mwAGYeOcmXHG9nh+zpWOFMXz3tz7DFKczGDgSLPJeDWbjL7MGK9ZH53kUO1g/yA1n0zOaNw28+l4yX29azYdfdBo5/zsSR9eJBlzDP04E434hv46FTcPBfq0Lm4YKvRtRdwkdOi/ldg8Fpijkdg0NpinltgsVpjLWGwUK8xlJDaJHearFItTgTm1YmEqMKdSLEoN5t2Ql6c611Q9RUqLE4W5fyW+aODCVBFf3DB/b+5+DvP3ewC82Bd2A9gNwGAAn097BbwWKo+XQyPPf+HHa15QUR5ESEOhn3resufKu6/j5eZA2qzM6SKTamzAfQjXm9BoAALVpjSU83a3L9WbwD451+fDYo14rfJiSuMBCGisbITv1THJmpzXW/VfHuvr0GoA5OQ4k8ypYF0O16m4v/i/+zawOgBdSIbgmqvloXRtWw/u3RSrAxDQqAl167hnG6wPoMziyOxfohyM79kOTDodgA4GdBVWhfMBMLAO1nWFswEwIFGtY48uEB+Faxxeqg+DEq53yTw/jMULtiiH1L32idHTYBN4h3WvfWN9AOXg7w/7lYMIAesDiI1iAH0cwkb43QAGbk55hoL2tCkXpgpzF+r9j6NCUkFiMK9SLEoF5tSKhanAnJVicewwn5HYJFaYy1hsFCvMVUtsFhvM00hsGgvM0UpsHjr0b0XcJFTo27q4YSjQZ6fi5r6hP2eiEdfQjxd5eYrc9lTnQy5OmypPeYYoGm8L+0cn8SsMQ+nJVqzvSt+FCLb7X+qEIQAAAABJRU5ErkJggg=="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:51.723Z","timestamp":1785129951723,"http_version":"","security_state":"","security_info":null,"request":{"raw":"POST /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Api-Key: AIzaSyDyT5W0Jh49F30Pqqtyfdf7pDLFKLJoAnw\r\nContent-Type: application/json+protobuf\r\nContent-Length: 1802\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":1802,"data":"[\"O43z0dpjhgX20SCx4KAo\",\"$8W45bgpRAAYuiqQtDoreMlnr69_d9j-nAEABEArZ1G_2w-BBXKb5nE5mccBnjyQuMCv7VgAqr81QwvS1Y3n8KOyrZMkQclV-43CkjW7GstCAwzEJb-LVsx-TngAAAjTOAAAAEfQBB-IAUkZx_iTfvTxdgJvl3ZPgaUD5BoxUJ8uV0Y6KJsXweqS7DmWA0z_AUiZY9kUOrF_SeydY7SJivjD5KWO-KQqQYuD3NJiiaSHPp2AEcCh4BVdTWY0FBHMC2IqJP1rsSz1hqtKaEnmdGMjsKrF8y3Ll_UUM1Wj-7hryH89W5JZp-vLk1CDjiR_MQ5mN1IEi3TZhg5RGJBllzbOrPuqaG9yHQqz85A9jKC0T_hdzyX7P_xKIBeCCAMZPA9c_ctyUgOmFSiK_1aK3keY2Z_dvDaC0siCTbVXF2TCSQGL4r0DUkFyniisEvN1CAPMYLhH0bmrt9dLKOObCyEa0U0vKkxPIpr88nuAtmEjhv7Goktn1AWHDRwtSotZzQ78v-ipjN_ebSzRbCBjrnr2Usw6K64khR_Tbj2BKNB-uXpLn0KoEe50Yn_dyzMtWSoICapUJwMxggSk9dLWobwhmNxRfYqZOyNfaMZq5gSZGezGdIDMpR68rlOID9ptYsWkPuo0eGKVtLf2YXbH-JK6dbFjQRW7nxXfSjv_ApoJM2B_QPZVn2WNS3MSEAR0vVpwshVodtcPqxvkye_1MG0G41wsuGbICXI6hagtfpqaVVwuFYl7-H-btXSfZBku3bzVhHf66_d3NdnsSV00stPJeo4ra2iQZ5tvdubDp694ZnmYFBTOZPqTUPE46NDrn9R1izS3YbDX70Nb2sUsXiuqvfSEHUKWr_LigsFKahTPhXgivpBkAldyGTPMZFxvPNIrlqutqsE905gB7SXsnqadFIVJoUnhuxzDekE2PQnNeJvkUZMjmgkvmpz_h54NMRq0C2ctuHkNBprfvUZs2FHVQGhD5bg1rQnU95ShZvqvECxW-TyzQyOHdSqS6u1K4-f1gg0sXLA0hPPq8ldY4qbDOHkcSN8rpzVrPfuThmuK0LGXiiJDs4T6if4lf6JObNRt40kn3YAmYa-Ch6vUuUmmDtPn_fwkWw5-e8L6sE9TDIq8aFZLEz_PoAE9_yJi9aqMP1TAlCmGqasPpNlTxRqk203Hmp283AfJQeE9YV7Y3r393pqsb9QKiMv4oPNmi3m5e3SvuywGpIVxnX9cFRag-PrZA-6TDooQrjyw_z_JJzT6MBBnPlVnbrn5mBkhZ5uI2ZxvdPGVTxxzDq2Kw9A6sz65ViaXXIoG8ItyUO50jExT5F319OORZRXdEzOskk27ldarHVzsikfbti7PWkDvPy89FlMEmhOeq8ndV6FJJFDDYkO9erTNPjs1Yqf108ZTM-0uqNEENlO4CL3OICSWUpxn6GrN1AXSfpGH3VZww4u2MQPVUDNIFpMUhP8LU0JT0bM8LZdcZibL_-hUjEsuitGWpVYCGFQILJVMMezNycqAbHxwNH3FURmnZ9BXoelveaXXx7d4JQ5C0rNXHMGGNFSkrmWAUa2168x7elDXs2EvpK5fzukrrawDodvqWVVpTPE3ez2V_eHkQBK1sikXr_0m8P0plIUgotVnbXrTzBb9xymiB4K09B-YgbJW6GFhQyT6kUiyqwPV2EARaiSzrsqnzGw5LDkJ0GfABgk_2QzcFCCKeCNHVCPHWqvO8xCohThHMHkqxQejU8cksNvX1K8kNCuHN4KBMEfatV8eceA\"]"}},"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-15T16:46:18.775881Z","times_seen":17905015,"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":"bootstrap.smartsuppchat.com/widget/7a7450b0b527849ac4d54fc3c12680640d42594d.json","fqdn":"bootstrap.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"18.195.8.146","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:56.606Z","timestamp":1785129956606,"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":"*.smartsuppchat.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Tue, 02 Dec 2025 00:00:00 GMT","end":"Wed, 30 Dec 2026 23:59:59 GMT"},"fingerprint":{"sha1":"DC:47:26:FC:2D:4B:14:19:23:BC:B7:70:14:DA:60:A6:21:B0:1E:81","sha256":"0D:5E:FD:70:25:9E:DE:DD:47:CF:0C:58:1C:08:A2:A1:05:AC:A6:7E:0C:43:6F:50:E7:49:E0:A1:60:D0:0E:0F"}}},"request":{"raw":"GET /widget/7a7450b0b527849ac4d54fc3c12680640d42594d.json HTTP/1.1\r\nHost: bootstrap.smartsuppchat.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: text/plain\r\nOrigin: https://digitaltradeinvest.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://digitaltradeinvest.org/\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/2 200 \r\ndate: Mon, 27 Jul 2026 05:25:56 GMT\r\ncontent-type: application/json; charset=utf-8\r\nx-version: 6cb79abf75047496934c7756b55ec6f26e7d2373\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: private, max-age=0, must-revalidate\r\nx-hit: redis\r\netag: \"4c7-B/6NfaaDpZne/g/uc5qfSnm44ZA\"\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1223,"size_decoded":879,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"1623b3b9e850c9c1491c70aef8d248c2","sha1":"07fe8d7da683a599defe0fee739a9f4a79b8e190","sha256":"b5b4d35c58c664f860fdab342e28e4f7337c31f56e8da3582e65972af84deb9e","sha512":"bcfb7323cde3f50f57c38880ba4f962f1f35f106a93074f2f3da73256fe2b54698c6065b11f1bc93d6f74811f6d2543fc6f5aa7afea2e5df1ff45b4f25fcc6d2","ssdeep":"","tlshash":"5321766d4a6822fd5245c7d6c5047a036bacdcb371003e7eea0d0a0e70db2e6223646b","first_seen":"2026-06-06T06:44:39.646667Z","last_seen":"2026-08-15T12:09:43.207636Z","times_seen":2448,"resource_available":false,"data":"eyJhaVJhdGluZ0VuYWJsZWQiOnRydWUsImFsbG93ZWREb21haW5zIjpbXSwiYnV0dG9uU3R5bGUiOiJncmVldGluZyIsImNvbG9yIjoiIzEyMzNkZiIsImNvbG9yMiI6bnVsbCwiY29sb3JHcmFkaWVudCI6dHJ1ZSwiY29uc2VudE1vZGVFbmFibGVkIjpmYWxzZSwiY3Jvc3NEb21haW5FbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdFbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdMaW5rIjoiIiwiY3VzdG9tQnJhbmRpbmdUZXh0IjoiIiwiZW1haWxDb250cm9sIjp0cnVlLCJmZWF0dXJlcyI6eyJhcGkiOmZhbHNlLCJjdXN0b21pemUiOmZhbHNlLCJnYSI6ZmFsc2UsImdyb3VwcyI6ZmFsc2UsInJhdGluZyI6ZmFsc2UsIndoaXRlTGFiZWwiOmZhbHNlfSwiZ29vZ2xlQW5hbHl0aWNzRW5hYmxlZCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01hbnVhbCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01lYXN1cmVtZW50SWRzIjpbXSwiZ3JvdXBTZWxlY3RFbmFibGVkIjpmYWxzZSwiaGVhZGVyU3R5bGUiOiJzdGFuZGFyZCIsImhpZGVPZmZsaW5lQ2hhdCI6ZmFsc2UsImhpZGVXaWRnZXQiOmZhbHNlLCJob3N0Ijoid2Vic29ja2V0LXZpc2l0b3JzLnNtYXJ0c3VwcC5jb20iLCJpbnRlcm5hbEFuYWx5dGljc0VuYWJsZWQiOmZhbHNlLCJpc0Jsb2NrZWQiOmZhbHNlLCJsYW5nIjoiZW4iLCJtb2JpbGVQb3B1cHNFbmFibGVkIjp0cnVlLCJuYW1lQ29udHJvbCI6dHJ1ZSwibnVtYmVyQ29udHJvbCI6ZmFsc2UsIm9wZW5PblRyaWdnZXIiOmZhbHNlLCJvcmllbnRhdGlvbiI6InJpZ2h0IiwicGFja2FnZU5hbWUiOiJmcmVlIiwicG9wdXBUZXh0YXJlYUVuYWJsZWQiOmZhbHNlLCJwcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZCI6ZmFsc2UsInByaXZhY3lOb3RpY2VFbmFibGVkIjp0cnVlLCJwcml2YWN5Tm90aWNlVXJsIjoiIiwicmF0aW5nRW5hYmxlZCI6ZmFsc2UsInJlcXVpcmVMb2dpbiI6ZmFsc2UsInRyYW5zbGF0ZXMiOnt9LCJ1cmxDYXJkc0VuYWJsZWQiOnRydWUsIndpZGdldFZlcnNpb24iOjMsImhhc0ludGVybmFsQXBpIjpmYWxzZSwiY29uZmlnIjp7fSwiYnJvd3NlckxhbmciOiJlbiIsIndpZGdldFRyYWNrZXJVcmwiOiJodHRwczovL3dpZGdldC10cmFja2VyLnNtYXJ0c3VwcC5jb20iLCJ0cmFuc2xhdGlvbnNCYXNlVXJsIjoiaHR0cHM6Ly90cmFuc2xhdGlvbnMuc21hcnRzdXBwY2RuLmNvbSIsIndpZGdldFRyYWNrZXJFbmFibGVkIjpmYWxzZX0="}},"time_used":76,"timings":{"blocked":0,"dns":3,"connect":21,"send":0,"wait":25,"receive":0,"ssl":27},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.470Z","timestamp":1785129949470,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2 HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\nage: 3810531\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"83afe278b6a6bb3c-s.p.3a6ba036.woff2\"\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: font/woff2\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: \"65850a373e258f1c897a2b3d75eb74de\"\r\nlast-modified: Sat, 13 Jun 2026 02:56:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::6llhh-1781319417508-42ed70ceb10a\r\nx-xss-protection: 1; mode=block\r\nserver-timing: cfExtPri\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=7HXgmIFDEJp2xFEKGZ%2FH%2BTYBfGtQ9OU7hrLgHP8oD6CXKj5WBWrx2pQZX6TM36rlPEzEbm9AyNGq74nPcJCB1suD4MkjF3WIgqmDpaqcloVzn3v8kfcTaoRCBLL5\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\ncf-ray: a21939c83d20a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 48432\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":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":48432,"size_decoded":50501,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48432, version 1.0","md5":"65850a373e258f1c897a2b3d75eb74de","sha1":"1dc044f4824fd5af6bfed67fee48be70fa069f3f","sha256":"c940764593d0fe5d596be327ca7558855e018039fb78509aa21921fd3644c3e4","sha512":"df2683f3dd9724de589451a47bc608c9925d54b874ad97b733dd465ef41f9db75e9e31604762415c2fc1433d050e45fdefc6ecd7ecadf58d1243d9ca5f4bf74b","ssdeep":"768:3IkDHBYoX5Pi4JxTGz9CDR0s1ROSsA8mF77YNt7wFhVq9oN2WfpdqWjBA:tNYoX53xTl/R8W77YNtUFrWoUWvdA","tlshash":"56230251f5f8624a7fc3003fbc317bd862909fe5996ee5d91288f30225611dd29ee017","first_seen":"2025-05-30T12:57:00.85385Z","last_seen":"2026-08-15T16:42:54.593646Z","times_seen":91165,"resource_available":false,"data":"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"}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/3408.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.165Z","timestamp":1785129950165,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/3408.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2357\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 06 Feb 2026 07:18:54 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:43:02 GMT\r\ncache-control: public, max-age=86400\r\netag: \"e745bf550d209084227adac42e9ec7df\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 6169\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: Anj0cjQ-MgEpLVI_Ws-7JSaM87PxBlN-su2IZcaztHzsOlSmHH2d3Q==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":2357,"size_decoded":2928,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"e745bf550d209084227adac42e9ec7df","sha1":"d335544c68c51d8ae72314406109b7cd06b5668d","sha256":"6f2390c4bf94ba36584793958432d5069f2bec31dfa7cb9b93c0c76cf965a901","sha512":"cf24459f5841a89b0ac17a689b0b5fe241a66b117d0abc94c95502e1664e0e25011d41f249c3645173a122622ad17bad5f1f9558785155184a6fde91920e58b7","ssdeep":"","tlshash":"12413a80ab21b72a88210d32530a056fe5b7ec49c711b6a5a97a3c117a9bbef149315f","first_seen":"2026-02-08T21:55:57.588725Z","last_seen":"2026-08-15T04:03:50.976925Z","times_seen":1716,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAI/ElEQVR4XuVbaWxVRRQu4Y/QFoWgRoyIRqyJidEfGkPkh4lb1PiDvkdxYdOwyKIxQhEBFSO0ENGCaEFFCyoqCugfqRH7XmtpQZYCBQp0r3YB07J0p8s437y+l7ln7jL3vj5a45d8afPumTNn5s5yzsy5cXExxjD/b2MTJgVS4n3B1QnJgd3xyYEiznrONs7ePvL/g3V41ieThjLDpuTeQvX9B8CGJPr2TuSNyOCNKeV/WTSEDs6MRF9wInTT2gYNRvizR8X7AksSkoPltBH9RaHbF0xFXbT+AYNoeHIgnb+lZmpwrMjrusz/po3wFwxgR/h3DOWGLOBzt5EaePUYbIQNsIWaF1Mk+nOS4n05B1SDBoa8EwphE7UzJuAVTudzvYUaMfDMaeV/p1N7+w9+NpQPufVqxYOMvuD6/p8SMwLX8BUY+7NaoQbHzy5gY6b9ofxuRciOn1Wg/K5L2AqbaTO8gSviQ34PrcSJt87MZ0uzylhR+WUGPLr8iCJjRcj28jIou3RrmdBFZRzJbY6+E8RK7+7N38nf9ue/1rL2zh7R8DDcdoCM9is97LPsWqGbytpRjAQ+dWmztIH5RJVacdSUXPbed5WsjTQ8jGg6IAzoXvV9JRvJ66JlrDjcl7OBtksL8VjtTRSa8YHX/mQnqluovRF0dfeyiamHlHJWfIjLoowVTvK6UCctZ0N3u4PY50PbClWkcOq6k6y1w/ytV9S3sdQvSz3NYZRJ/aKUVTS0UbUCqBN103Km5Nu2vp8Q8vAKFSUmXMwN7DV5UQ0XOtnLH59m104OKmXccoQ/yOZyXdBJ0cPrhg20jCm546a1PYbcWxMFhKjYDF8H6tmYqfpbni6xNUK3GXQ7QbjNdkBwoePbY+ih92V0dvWIN0Vl+5uoA3XJwCjUmw7BRttIkgulqYWMxOJD53xLRzd7euVRRTZWRF2oUwZs0lwY02m7BdAzfWEmLRAhth+swDI6u3o9NZ6CPnci6kTdMrATYTumsjIRtpuOAhw0UGFK7MEU8z7xNuwp6HMdom4K+CJUTqEvsMTYesaGOJ3kwAujTs72YIMip0sK+lyX3+Y2GPTAxiQHjxFtNRyv4byNClHCFZVx7mInu9lFgAM+8VaRcJNPVKlO066C82xmxil2XYq7rRM2nLt4xaALdVA5SpxbRjqA/5BBBWTCKem4Ynz7CzedUeSseAeP7ALHmgzlrVDOnaeHlx5WdNhxQeYZgw7EIU7OFw5aIx3gdHr7Jo/IZFSfb9d+U2O5IZXn2g3lnYAGPLJMP3aAwwWbZMBmKicTbRaNx9k7fUh5tKLZoHzZtnJFxopZe+sMZYHDZZfZhz/VsBVflbO1O6tZ3okLVITV/NPBRj9rv6LLpC+pqLxZkaHEnUWcuLQweRhm0pwCg+Ju7gHd/tI+Rc6MaABdOBdtOavIgZNWHVem2YJM/R0GNsE2GbCdyslE2x2dn1kbSgxKC0suKjJWfPD1g4aymAoJPlUuzIyfawzy2YcbFRk7wjYZsJ3KGOgLrsb8tz3w2LTnb4PS9B+qFBkrIgSWUfJXqyIjc8Kig+xMbWuEmBpUxo6wTcZmbjuVkYm2YwTgrk55GGZusXF+Tk4vVmSsiAWQRotudg+3hG0ycp07sCiu71KSPoiwiqzg971yQJGxY/5JdYE7ePaSiODu574790GUMl4J22RgylEZwnqMANzS0gcRtrQbg46bXIa6ExYfUs4HZVxq7WaB400sbUcVe2z5ERH/Ux26hG0yYDuVIWxDB+B6mj6IkA7hRA8GPr6iiNU2dhgVWaC+qZOt3F7BRj+Xp+hxIkaTDNhOZQh73XeAxyF7w/N57I2sMnaqRnWDzXCaL5h3zSlU9NgRL0eGbgfEdAqY8Z75+8ViiECGrjEyjnBnxs2I8zoFkK1BH0RI3Vi3i6AO7563X1yA1JxXp0ny6uOKvBXpIojOpTJGBuuct0HiprrZBjH3cXAR5sgUe9f2xhfyhJss4/1d1YqcFZVtsFhjG3RyhOBMyHDjCMHxkfHUO84nR69uNkZ2OqFtmGnEEdr0i44jxN1B+kBmNK7wdnJYoePaIkiSseZH/Q4vcOsK8zDAUzB0m2YwhPlLkcnfyvUWW1zKmmLFZ3jm3WOKnBk9B0MICekDSoSWMpxi7TAR+Ow7ZXwrQFNzlzgBWsfnNxwgDHN62AoUV7VoO0YI0WUghKcylJE0PLcHIlhddW99cJZot9VZAZ2kecwtDmc8H4gA8RpHYnRozs/UD2rGvbiP7eZvXBf7T19i9y7U327hU8jAuYKrI7G+xEZFSCaGqQzc1bnJ+gAR/KzdWcXyTabFscpm9ml2LXvy7aO2ZwaUoUNR470hDnCpHGUo8TIC52NxLCj0dOebQL0ip0sK+lyXOJqXARudEinEsTgjWae4LKCClLh0oJi7Uf/YSiYFfa5Ds4sRXN5QOYXKxUhc5GrMNtsT1040EQIXlToODiUFfe5Es6sx7CRO2SO4/jO9GgO4QDotQGl2OdrMgw7MXSobK6LDo7gcTaPtjiCU96t3PU7DZKy8sz9y9Lyiptn1OPyfaR/oXo875BdHmyCx7ff6fgmZKZF0YZUggTQcKm9GxwQJAf+Oobp5wOgEmigB1DV1sjkbS7S9ODvC4UK6jVmKDEYh8ohoGTPyxhdqpcgAif78JN18YLskqbL6NrZoSykbO8PeKTGjSJLibxaJVmZwlSSVnNOqnyTVh/jk3OmqInNi8THz5cNAyhtS32g5K+I+YUDT5MIYPilng4kyU2L7wR5MnaUw+itREr6IUxaIgUie9gw/85QqC1eU3vNF0wGIQ+CKOyU+UIZSZTXnvRXGRZMsvTWULI3B7KUDRLJ0lvdkadhO2+MJUOR2JMhEurybbBLIogz9XZewtd8aH4HYHvWTpweKIjk6mgxxJ8SLJGq9POKrSrFt53pb7d0CeyocC8WIgSJ33OC7UDtji//zZ3MyQvnFuWkIM1UDY8O+sD3dMqwdCFy9T2cDSwZVwxUwfDwtEi/75+Npn9CREUpsHMQfT1sBZ+99ly+YJjafz4vfjJ/PI40txvgXDtQRluxs1HwAAAAASUVORK5CYII="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/1975.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.181Z","timestamp":1785129950181,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1975.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 686\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 02 Sep 2025 10:45:46 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 05:59:59 GMT\r\ncache-control: public, max-age=86400\r\netag: \"c0a4d73d0d9cd1d396e0c5e41d1b91b4\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 84351\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: uY83xFOow1ywRB8fS7-Bp2aCgorWqJtoxeolJYN8rRP-JLygEMD2vA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":686,"size_decoded":1257,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"c0a4d73d0d9cd1d396e0c5e41d1b91b4","sha1":"aab369900cddbdb59108c4d1f6d6c1f249d4a2f6","sha256":"8bbcb500ccd5e389ab9d84bf228d0813da46ade54ce6592cd9e8cb86635cfe9d","sha512":"9c4fe111c72a0a7b8ec61c8d4341db40dd9ff8fb32416144c80170316d9a784458447ef3172b0391e326acb4066203c9f3cb85cb436295b2c26c57c6f141a51a","ssdeep":"","tlshash":"9101440748af7bc09f8b0713a31af5a024d333144ea5974a606acd3a3b74a24424eb36","first_seen":"2025-08-31T20:43:13.109147Z","last_seen":"2026-08-15T04:03:50.97752Z","times_seen":1595,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACdUlEQVR4Xt3bPVIbURBFYTIrZAleCpFR6B3ZO2MpLMEZE2IpkEv+WlTPT0/PSKfqJDC3+74iGEE9np425PA6fJ716w/Pt9ePP5fDX+tzD4mHVp9/GDxopvm7xYNN1Xl3w6n8m4dZ4Lvzd8vzz8/nGwco0V27w8Jr6d7NsWCX9mjn8GP4Zal2Tx3s1UIosrH2Ww0X7037luGivWv/2Rxq3+fdLvv8cGNgncfh5d+e4/A9fL/QqyONwwHVuu+Cz1XrvpsYqtRdX2GuUncFDFTojrE4p0J3BAws8jj8dv5UzjPC3AU6P2Bgrs5divPn6tyAgak6rxr3TdV5AQNjdc7auH+szgkYSL16n3cz5/ODMwIGMs13Y59M8wEDmea7sU+m+YCBTPPd2CfTfMBApvlu7JNpPmAg03w39sk0HzCQab4b+2SaDxjINN+NfTLNBwxkmu/GPpnmAwYyzXdjn0zzAQOZ5ruxT6b5gIFM893YJ9N8wECm+W7sk2k+YCDTfDf2yTQfMJBpvhv7ZJoPGMg03419Ms0HDGSa78Y+meYDBjLNd2OfTPMBA5nmu7FPpvmAgdRt/yT2EvokOiNgYKzOWRv3j9U5AQNTdV417puq8wIG5urcpTh/rs4NGFhkwf2d6ntIzg8YqNAdY3FOhe4IGKjUXV9hrlJ33cRQte678NU1+irdl+KAUv+/IjP5fT7FqyNN5zTg3YF343F48zyzCcN3rv3LcNHetO9quHhr7ddC9f2dWRbcQ1pMKNWkPTbHgmvp3t1h4SrP/47jrt1yqPz8UPk+7yYcZqLOu1s8WKb5h8GDqs8/JB767Pk3QZ97ePbwU/8LaXkIU/qPRM8AAAAASUVORK5CYII="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/youtube/img/icons/mweb/youtube_fill/logo/v2/67px.svg","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:52.821Z","timestamp":1785129952821,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /youtube/img/icons/mweb/youtube_fill/logo/v2/67px.svg HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.youtube.com/\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\naccess-control-allow-origin: https://www.youtube.com\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 272\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 20 Jul 2026 10:01:47 GMT\r\nexpires: Tue, 20 Jul 2027 10:01:47 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 06 Sep 2023 03:18:00 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding, Origin\r\nage: 588245\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":478,"size_decoded":1017,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"1e78ea4caa31c35bac97a41e5930ffe8","sha1":"dbf99131b9b5087e664b9fdc7097c97655474517","sha256":"6fa88a20839537ae66da730e5bd183035265176d972bc8df075b89da0c6186ea","sha512":"cf798ef67c90f90f23635beb202095a2c76052d491c224aa14535bb9b16f28fa9a850b8db887f158afd01d634aecb9e2b05a27efdfd225d3583e6297bdd78b43","ssdeep":"","tlshash":"2ef09e6d577829d8930f87c0be5974127d9f23e85194b3b541d4f9326138ee2d141cd9","first_seen":"2025-05-26T15:52:21.952281Z","last_seen":"2026-08-15T16:48:43.3392Z","times_seen":49653,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NyA2MCIgZmlsbD0iIj48cGF0aCBkPSJNNjMgMTQuODdhNy44ODUgNy44ODUgMCAwMC01LjU2LTUuNTZDNTIuNTQgOCAzMi44OCA4IDMyLjg4IDhTMTMuMjMgOCA4LjMyIDkuMzFjLTIuNy43Mi00LjgzIDIuODUtNS41NiA1LjU2QzEuNDUgMTkuNzcgMS40NSAzMCAxLjQ1IDMwczAgMTAuMjMgMS4zMSAxNS4xM2MuNzIgMi43IDIuODUgNC44MyA1LjU2IDUuNTZDMTMuMjMgNTIgMzIuODggNTIgMzIuODggNTJzMTkuNjYgMCAyNC41Ni0xLjMxYzIuNy0uNzIgNC44My0yLjg1IDUuNTYtNS41NkM2NC4zMSA0MC4yMyA2NC4zMSAzMCA2NC4zMSAzMHMwLTEwLjIzLTEuMzEtMTUuMTN6Ij48L3BhdGg+PHBhdGggZmlsbD0iI0ZGRiIgY2xhc3M9ImxvZ28tYXJyb3ciIGQ9Ik0yNi42IDM5LjQzTDQyLjkzIDMwIDI2LjYgMjAuNTd6Ij48L3BhdGg+PC9zdmc+Cg=="}},"time_used":17,"timings":{"blocked":1,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/3408.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:50.021Z","timestamp":1785129950021,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/3408.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2357\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 06 Feb 2026 07:18:54 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:43:02 GMT\r\ncache-control: public, max-age=86400\r\netag: \"e745bf550d209084227adac42e9ec7df\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 6169\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 3FIH5wDxPG7G1F4rn8LJrVWNPvMNUth0ayo4EtvmOmU4yS78RPfmgA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":2357,"size_decoded":2928,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"e745bf550d209084227adac42e9ec7df","sha1":"d335544c68c51d8ae72314406109b7cd06b5668d","sha256":"6f2390c4bf94ba36584793958432d5069f2bec31dfa7cb9b93c0c76cf965a901","sha512":"cf24459f5841a89b0ac17a689b0b5fe241a66b117d0abc94c95502e1664e0e25011d41f249c3645173a122622ad17bad5f1f9558785155184a6fde91920e58b7","ssdeep":"","tlshash":"12413a80ab21b72a88210d32530a056fe5b7ec49c711b6a5a97a3c117a9bbef149315f","first_seen":"2026-02-08T21:55:57.588725Z","last_seen":"2026-08-15T04:03:50.976925Z","times_seen":1716,"resource_available":false,"data":"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"}},"time_used":20,"timings":{"blocked":8,"dns":0,"connect":0,"send":0,"wait":12,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/33793.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.209Z","timestamp":1785129950209,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/33793.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1111\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Mon, 04 Nov 2024 09:19:40 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:12:53 GMT\r\netag: \"788ee50bb0546f0424b1a69d0261366b\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 7978\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: ERBUMi2Ey0Ym_2TNeo3ruGw63UW_Gx6n9QggNVUH12q72i5v2f_ESg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":1111,"size_decoded":1644,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"788ee50bb0546f0424b1a69d0261366b","sha1":"2604f3f320abe86452e5e2b95d75a69da69fa17d","sha256":"acaa78a48c7e360e07aaa47bae9524f0cdcc600c2d032aabcfaa4b4e540862b3","sha512":"3a697f6c1db55971f4df1b890dfca7c8b4648f405c9a146dc1b046a222b0bcd4a8845517f81464a8b9c0608019532c2ce870ec39eae9377cb4dd80763d4bcd6e","ssdeep":"","tlshash":"9621f9675554cbbc530680b2940bbce731dec21caf114199d8c26126101188c7a1e2c5","first_seen":"2026-03-04T08:47:10.82974Z","last_seen":"2026-08-15T04:03:51.08019Z","times_seen":1521,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEHklEQVR4Xu2bv2sUURDH8yfExMJGCdhoI3enjbHZImkSEAU1jaBWEhEUrxZtQqxMOgWFaJPGIimsBEkjWKa2SuEfcH9C3Hd4y97nzb6d92M3G8jAp7md+c7Mu9u3+3bfzcy0ZINs7mU/mxvlHNcwyn3fMv7U2SA7vyU0F8Qgm9+hfmeNxaeG+TphvWxhloU2TS+7sMA6Wrd+Nn/AwtomPz32WFcrxkJOGtbXmOUzdLLJLTVm4mW9Se16NveCSbtG/gW9Yd1JLBc/ZDJflu5dPP5++OT499/nIubY2vpVKy6AQ9YfZbngkZBExdcfD6xGtZgBoZ4HR+wjyPoB3/yt1QtWM7EE/jLifgnmfBJEnbDw1DBfHeYWnH2pzHe2Z6FNw/wugq4OFHHB4tqCdbhgf05jcBVNnOu+LN2/ZNVVBfsUbZCd22OgRBean6AfhPkD9muZHSTDIlJiLp3MV5eTvlWw3ykzKywGSDB5KtbWr1i5iOtGir4SZuXKvgujs8TPP0+txLEM39208rhgfBn6SrDvwugowYSxUF/D4kr1/ENfCfY9NjpJMFkM1PaFer7a7L/VAaBuCNQso7ltnmrePHSkA2GSUKgbCnUJ/Une83YxADwowQQhUDMGahP6S6gH4P3uqpXAF2rGQn2iWUqrB4DivlAvBcwhwRgybt68heEBQmEfzFMg6sVibn2ZR4JxZLxU7iteV1FYy8bnZUsrBdqbsduPLluxYFT789/4tGwJa9jaXbG0UsFcVajmAX5AtKNNqJMK3wmZ8aR2ACiogRpd5mwA+AFhc3UwvuucDQA/IK4HECRm5qdWKpiH1A6Az2WQsT5QKwVVj9bKJL0RYpwv1IvFPLhlDjCabF7iAe/CNGtwLT6nnQvqkmIzFg8QCkswJgXM4Qv1iHo1ONxctMQJY2Khvi8f9+9YmkQ9AAYmIPSPgdohUFOiGID8XNjmQcIEhP6hUDcU6pK8551iAIzRQYJJfBJqoGYommcQU813YQCoFwO1Jdj/2OgkwWQThpt+b3fq9EKhvgT7LoyOEt9+PbSS+iSf8GH/rhUfi3l2wTwS7LuwXjar2vLKxGXoS8xjMsakgrkk8h4X2PeUMaAKJi/zKr9vKPs+Hl6zfFLD+qpgv5b57P9lEScF66pCva+YgS5YTNuwHhfs02kMdsGi2oJ1uGB/taa5OyyTagWnQfO4u0yv/CLUx3qKpTJhsalhvjp6sf8/6gdslTWw8FioryRuq+zE+hGbpZ+9vmE1o8Usw6nnwRH7iLJ+4C+BmKaku0lzXkc2XCbNN08z55OQrFOYeYt1JzXfq0ObBM/2IcbkJw3ra8W0+4qbRbH/t2kzKyy7sGYxK1fW0Qljoalhvs5aXuwXFh+KmXipf+rs/2as2tdwxqfxS1nJ/gEsT1LO5BS32AAAAABJRU5ErkJggg=="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/33038.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.254Z","timestamp":1785129950254,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/33038.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 3998\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 17 Sep 2024 01:09:25 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:41:40 GMT\r\netag: \"8fae21ff4a6f0a8988b54b0e313a59a0\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 6251\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: p6sYkIltOxUWgUs914DjlVtAyF-sE-XuSWiRzHVDV0GzcT-L0Q-PHA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":3998,"size_decoded":4531,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"8fae21ff4a6f0a8988b54b0e313a59a0","sha1":"403478a6466c3040cc8f1ffd2a7c974a5d255462","sha256":"a7d5443eca9bbdd62c689dc413dc108db9684829b85987b613b92d1d3d1f4df1","sha512":"964939d60666d7977ff00acdb432a744a824477dea921acaba2b3da1a166ec7367eb373248718b8013005aed6ba8617e8679f5ac0fe164945bb266069f9058b7","ssdeep":"","tlshash":"6f816db04b910e247ffc91243ebe5540dbc38cc2095fd2a04816a63eef5c965f1903b6","first_seen":"2025-08-09T19:29:39.018282Z","last_seen":"2026-08-15T04:03:51.157624Z","times_seen":1500,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/exm=base,root/ed=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=r78Drb","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:50.282Z","timestamp":1785129950282,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/exm=base,root/ed=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=r78Drb HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/H7OiZO_9ahE\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 205847\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 12:56:23 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:23 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 232167\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":698252,"size_decoded":206761,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (2659)","md5":"b0ad8a0af02b0646525f5764557f74f7","sha1":"3b5ecd18dc5225ff5e062f1f355636ee87daa374","sha256":"41ca2ce29b6abecad6de552d13e73fb3b7628a958b5fbffeb8cc0f8b4495f4f9","sha512":"066d24883fd73c8304fc558fbfc404650cdba71f6f3973bf37273ddb405e563c181cd6767cb575ae3d20139bc047514916e3d227d9a4e17fdcd377a478b0556c","ssdeep":"12288:H0PeofempMe8l0tGc70LCSn4AqUlvdDJdGhxnYUjpjYtsxDT:Hjofemc+tD70LCSn4AqVnYU1YtsxDT","tlshash":"f0e47de07392f4b586426966e57f8003b17e5943f2044478e1fa9edc15fce48a2bbf29","first_seen":"2026-07-24T13:29:06.300454Z","last_seen":"2026-07-27T16:56:48.623387Z","times_seen":646,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uQ3Q9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnNlcnZpY2VJZD1uZXcgXy5OcihhLGIpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuc2VydmljZUlkLnRvU3RyaW5nKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiaXVUNU9jIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB3dDtfLnZ0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PWI/ITA6YSYmYj9hLndpZHRoPT1iLndpZHRoJiZhLmhlaWdodD09Yi5oZWlnaHQ6ITF9O18ueHQ9ZnVuY3Rpb24oYSxiKXtiLmhhc093blByb3BlcnR5KCJkaXNwbGF5TmFtZSIpfHwoYi5kaXNwbGF5TmFtZT1hLnRvU3RyaW5nKCkpO2Jbd3RdPWF9O3d0PVN5bWJvbCgiSWEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5JZT1mdW5jdGlvbigpe3RoaXMuaWQ9ImIifTtfLkllLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlkfTtfLkZ0PW5ldyBfLk5yKCJNcEp3WmMiLCJNcEp3WmMiKTt2YXIgR3Q7R3Q9bmV3IF8uSWU7Xy5IdD1jbGFzcyBleHRlbmRzIF8uSmV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihHdCxhKTt0aGlzLm5vZGU9YTt0aGlzLmtpbmQ9Yn19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewovKgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiovCnZhciBBQSxCQSxEQSxXYWEsWGFhLE9BLFBBLCRhYSxhYmEsU0EsVEEsZGJhLGViYSxmYmEsZEIsZ2JhLGpiYSxrYmEsaEIsa0IsbEIsckIsc0IsdEIsdUIsdkIsd0IsbmJhLHBiYSxvYmEsRUIsc2JhLERCLEZCLEhCLHRiYSx1YmEsdmJhLFFCLFNCLFRCLHdiYSxhQyxZQixjQyxVQixlQyxoQyxpQyxrQyx5YmEsemJhLEFiYSxzQyx2QyxEYmEsekMsQ0MsRmJhLEdiYSxFYmEsVmFhLEtBLG9DO18ueUE9ZnVuY3Rpb24oYSl7aWYoYSBpbnN0YW5jZW9mIF8uZmIpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307Xy56QT1mdW5jdGlvbihhLGIpe2lmKGEubm9kZVR5cGU9PT0xJiYvXihzY3JpcHR8c3R5bGUpJC9pLnRlc3QoYS50YWdOYW1lKSl0aHJvdyBFcnJvcigiaCIpO2EuaW5uZXJIVE1MPV8ueUEoYil9O0FBPWZ1bmN0aW9uKGEsYil7dmFyIGM9e307Zm9yKGxldCBkIGluIGEpY1tkXT1iLmNhbGwodm9pZCAwLGFbZF0sZCxhKTtyZXR1cm4gY307Cl8uSXQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiTWEiKTt9O0JBPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsMix2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uZ2IoYSl9O18uQ0E9ZnVuY3Rpb24oYT0zKXt2YXIgYj1fLlp0O2lmKCFiKXtzd2l0Y2goYSl7Y2FzZSAwOmE9RXJyb3IoIlJhIik7YnJlYWs7Y2FzZSAxOmE9RXJyb3IoIlVhIik7YnJlYWs7Y2FzZSAyOmE9RXJyb3IoIlZhIik7YnJlYWs7ZGVmYXVsdDphPUVycm9yKCJXYSIpfXRocm93IGE7fXJldHVybiBifTtEQT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9T2JqZWN0LmNyZWF0ZShWYWEpO2Quc291cmNlPWE7ZC5UZz1iO2MhPXZvaWQgMCYmKGQuZXF1YWw9Yyk7YT0oKT0+e18ucnUoZCk7Xy5wdShkKTtpZihkLnZhbHVlPT09Xy5Jdil0aHJvdyBkLmVycm9yO3JldHVybiBkLnZhbHVlfTthW18uWnVdPWQ7cmV0dXJuIGF9OwpfLkVBPWZ1bmN0aW9uKGEpe3ZhciBiPV8ua3UobnVsbCk7dHJ5e3JldHVybiBhKCl9ZmluYWxseXtfLmt1KGIpfX07V2FhPWZ1bmN0aW9uKGEpe2E9e1tfLkV1XTohMCxkZWJ1Z05hbWU6YX07IV8uWnR8fF8uQnUoYSk7cmV0dXJuIGF9O18uRkE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGVidWdOYW1lfHxhLm5hbWV8fCJbY29tcG9uZW50XSJ9O18uR0E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uRkEoYSk7Xy5NdT17bmFtZTpjP2Ake2R9ICgke2N9KWA6ZCxsajphLmNvbXBvbmVudFR5cGUhPT1fLkt2LHBhcmVudDpfLk11fTthPWIoKTtfLk11PV8uTXUucGFyZW50O3JldHVybiBhfTtfLkhBPWZ1bmN0aW9uKCl7dmFyIGE9Xy5NdTtyZXR1cm4gYT9hLmxqOiExfTtfLklBPWZ1bmN0aW9uKGEpe18uZ3YtLTtpZihhKWZvcihsZXQgYiBvZiBfLll2KWIuY2xlYXIoKTtlbHNlIF8uZ3Y+MHx8Xy5jdi5pc0ZsdXNoaW5nJiYhXy5LdS5SaXx8Xy5qdigpfTsKXy5KQT1mdW5jdGlvbihhLGIpe2I9e2NvbXBvbmVudFN0YWNrOl8uU3UoXy5QdSkscHI6Xy5RdT8uc2xpY2UoKT8/W10sZmg6MyxBbDpfLkx1KCksdGFnTmFtZTpifTtyZXR1cm5bYSxiXX07Xy5MQT1mdW5jdGlvbigpe2lmKHR5cGVvZiBLQT09PSJmdW5jdGlvbiIpdmFyIGE9S0E7ZWxzZSBpZih0eXBlb2YgS0E9PT0ib2JqZWN0IilhPUtBLmNvbnN0cnVjdG9yO2Vsc2UgdGhyb3cgRXJyb3Iodm9pZCAwKTtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSl9O1hhYT1mdW5jdGlvbigpe2lmKCFfLnU/LlN5bWJvbD8uZm9yKXJldHVybiBuZXcgV2Vha01hcDt2YXIgYT1TeW1ib2wuZm9yKCJnb29nbGUuZ29lbSIpLGI9Xy51W2FdO2lmKGIpcmV0dXJuIGI7Yj1uZXcgV2Vha01hcDtyZXR1cm4gXy51W2FdPWJ9OwpPQT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudGFnTmFtZSxkPWEudGFnTmFtZTthPU1BLmhhcyhkKSYmIVlhYS5oYXMoZCk7KChiPU1BLmhhcyhjKSl8fGEpJiZhJiYhYiYmTkEuaGFzKGMudG9Mb3dlckNhc2UoKSkmJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt0aHJvdyBfLlV1KEVycm9yKCJJYmAiK2MrImAiK2QpLDIsYyk7fSl9O1BBPWZ1bmN0aW9uKCl7fTtfLlFBPWZ1bmN0aW9uKGEsYixjKXtpZihjPT1udWxsKWEucmVtb3ZlQXR0cmlidXRlKGIpO2Vsc2V7dmFyIGQ7KGQ9Yi5sYXN0SW5kZXhPZigieG1sOiIsMCk9PT0wPyJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiOmIubGFzdEluZGV4T2YoInhsaW5rOiIsMCk9PT0wPyJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIjpudWxsKT9hLnNldEF0dHJpYnV0ZU5TKGQsYixjKTphLnNldEF0dHJpYnV0ZShiLGMpfX07CiRhYT1mdW5jdGlvbihhLGIsYyl7YT1hLnN0eWxlO2lmKHR5cGVvZiBjPT09InN0cmluZyIpYS5jc3NUZXh0PWM7ZWxzZXthLmNzc1RleHQ9IiI7Zm9yKGxldCBmIGluIGMpaWYoWmFhLmNhbGwoYyxmKSl7Yj1hO3ZhciBkPWYsZT1jW2ZdO2QuaW5kZXhPZigiLSIpPj0wP2Iuc2V0UHJvcGVydHkoZCxlKTpiW2RdPWV9fX07YWJhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10eXBlb2YgYztkPT09Im9iamVjdCJ8fGQ9PT0iZnVuY3Rpb24iP2FbYl09YzpfLlFBKGEsYixjKX07U0E9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgUEE7YVtfLlJBLmRlZmF1bHRdPWFiYTthLnN0eWxlPSRhYTtyZXR1cm4gYX07VEE9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYj09YyYmZD09ZX07Xy5YQT1mdW5jdGlvbigpe2Zvcih2YXIgYT1fLlVBLGI9Xy5WQSgpO2IhPT1udWxsOyl7bGV0IGM9Yi5uZXh0U2libGluZzthLnJlbW92ZUNoaWxkKGIpO18uV0EuZGVsZXRlZC5wdXNoKGIpO2I9Y319OwpfLlZBPWZ1bmN0aW9uKCl7cmV0dXJuIF8uWUE/Xy5ZQS5uZXh0U2libGluZzpfLlVBLmZpcnN0Q2hpbGR9OwpkYmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPV8uV0EsZT1fLlpBLGY9Xy4kQSxoPV8uYUIsaz1fLllBLGw9Xy5VQSxtPV8uYkI7Xy5aQT1hLm93bmVyRG9jdW1lbnQ7Xy5XQT1uZXcgYmJhKGEpO18uYkI9YjtfLmFCPVtdO18uWUE9bnVsbDtiPV8uVUE9YS5wYXJlbnROb2RlO3ZhciBuPWNiYS5jYWxsKGEpO2lmKChuPW4ubm9kZVR5cGU9PT0xMXx8bi5ub2RlVHlwZT09PTk/bi5hY3RpdmVFbGVtZW50Om51bGwpJiZhLmNvbnRhaW5zKG4pKXtmb3IoYT1bXTtuIT09YjspYS5wdXNoKG4pLG49bi5wYXJlbnROb2RlfHwoYj9uLmhvc3Q6bnVsbCk7Yj1hfWVsc2UgYj1bXTtfLiRBPWI7dHJ5e3JldHVybiBjKCl9ZmluYWxseXtjPV8uV0EsXy5jQiYmYy5kZWxldGVkLmxlbmd0aD4wJiYoMCxfLmNCKShjLmRlbGV0ZWQpLF8uWkE9ZSxfLldBPWQsXy5iQj1tLF8uYUI9aCxfLllBPWssXy5VQT1sLF8uJEE9Zn19OwplYmE9ZnVuY3Rpb24oYSxiPXt9KXt2YXIge21hdGNoZXM6Yz1UQX09YjtyZXR1cm4oZCxlLGYpPT5kYmEoZCxjLCgpPT5hKGQsZSxmKSl9O2ZiYT1mdW5jdGlvbihhKXthPVN0cmluZyhhKTtmb3IodmFyIGI9KGQsZSxmKT0+e3ZhciBoPU1hdGgubWluKGUubGVuZ3RoLWYsZC5sZW5ndGgpO2ZvcihsZXQgbD0wO2w8aDtsKyspe3ZhciBrPWVbZitsXTtpZihkW2xdIT09KCJBIjw9ayYmazw9IloiP2sudG9Mb3dlckNhc2UoKTprKSlyZXR1cm4hMX1yZXR1cm4hMH0sYz0wOyhjPWEuaW5kZXhPZigiPCIsYykpIT0tMTspe2lmKGIoIlx4M2Mvc2NyaXB0IixhLGMpfHxiKCJceDNjIS0tIixhLGMpKXJldHVybiJ6U295eiI7Yys9MX1yZXR1cm4gYX07CmRCPWZ1bmN0aW9uKGEpe2lmKGEuaXNDb25uZWN0ZWQhPT12b2lkIDApcmV0dXJuIGEuaXNDb25uZWN0ZWQ7dmFyIGI9YS5vd25lckRvY3VtZW50O2lmKCFiKXJldHVybiBhPT09ZG9jdW1lbnQ7aWYodHlwZW9mIGIuY29udGFpbnM9PT0iZnVuY3Rpb24iKXJldHVybiBiLmNvbnRhaW5zKGEpO2Zvcig7YTspe2lmKGE9PT1iKXJldHVybiEwO2E9YS5wYXJlbnROb2RlfXJldHVybiExfTtnYmE9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYz1fLkNBKCksZD1fLk11O3JldHVybiBlPT57dmFyIGY9ITEsaD1lLmN1cnJlbnRUYXJnZXQ7aCYmKGY9IWRCKGgpfHxiJiZoW2VCXT09PSEwKTt2YXIgaz1jPy5pYSxsPWImJmgmJmhbZUJdPT09ITA7aWYoZnx8ayl7aWYoaCYmZEIoaCkmJihrfHxsKSl0aHJvdyBfLlV1KEVycm9yKCJrYyIpLDQpO31lbHNle3ZhciBtPSgpPT5hKGUpO3RyeXtfLlJ1KCgpPT5fLkVBKG0pLGQpfWNhdGNoKG4pe18ub3YobixjKX19fX07Cl8uZ0I9ZnVuY3Rpb24oYSxiLGMpe2lmKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGZCLGEpJiYoYT1mQlthXSxPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChhLGIpJiYoYT1hW2JdLGEgaW5zdGFuY2VvZiBBcnJheSkpKXtsZXQgZT1udWxsLGY9ITE7Zm9yKGxldCBoPTAsaz1hLmxlbmd0aDtoPGs7KytoKXtsZXQgbD1hW2hdO3ZhciBkPWwuaWI7aWYoIWQpcmV0dXJuIGwua2E7ZT09PW51bGwmJihlPXt9KTtkPU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsZCk/ZVtkXTplW2RdPWMoZCk7aWYoZD09PWwubmIpcmV0dXJuIGwua2E7ZD09bnVsbCYmKGY9ITApfWlmKGYpcmV0dXJuIG51bGx9Yj1oYmFbYl07cmV0dXJuIHR5cGVvZiBiPT09Im51bWJlciI/YjpudWxsfTsKamJhPWZ1bmN0aW9uKGEsYil7Yj1fLmdCKGEudG9Mb3dlckNhc2UoKSxiLCgpPT57dGhyb3cgXy5VdShFcnJvcigibWMiKSw0LGEudG9Mb3dlckNhc2UoKSk7fSk7cmV0dXJuIGI9PT1udWxsP251bGw6aWJhW2JdPz9udWxsfTtrYmE9ZnVuY3Rpb24oYSxiLGMpe2lmKGM9PT1udWxsfHxjPT09dm9pZCAwKXJldHVybiBjO2I9Yi50b0xvd2VyQ2FzZSgpO2E9amJhKGEsYik7cmV0dXJuIGE9PT1udWxsP2M6YShiLGMpfTtoQj1mdW5jdGlvbihhLGIpe3ZhciBjPVdhYShiKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18uaUI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQWEoYSk/Im5vZGVUeXBlImluIGE6ITF9O18uakI9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uaUIoYSkmJmEubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERX07a0I9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpfTsKbEI9ZnVuY3Rpb24oYSl7YT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoYSkpO2EuX2lzU2lnbmFsVGV4dE5vZGU9ITA7cmV0dXJuIGF9O18ub0I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPW51bGwmJmEuR2k9PT1fLm1CfHxhIGluc3RhbmNlb2YgXy5mYnx8bkIoYSl9O18ucEI9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYobkIoYSkmJkJBKGEpKV8uekEoYixCQShhKSk7ZWxzZSBpZihhIGluc3RhbmNlb2YgXy5mYilfLnpBKGIsYSk7ZWxzZSBpZihhIT1udWxsJiZhLkdpPT09Xy5tQil7aWYoYS5HaSE9PV8ubUIpdGhyb3cgRXJyb3IoIk5hIik7YT1fLmdiKGEudG9TdHJpbmcoKSk7Xy56QShiLGEpfWZvcihsZXQgYyBvZiBiLmNoaWxkTm9kZXMpYy5faXNTYWZlT3JTYW5pdGl6ZWRIdG1sTm9kZT0hMDtyZXR1cm4gYn07Cl8ucUI9ZnVuY3Rpb24oYSl7YT10eXBlb2YgYTtyZXR1cm4gYT09PSJzdHJpbmcifHxhPT09Im51bWJlciJ8fGE9PT0iYm9vbGVhbiJ9O3JCPWZ1bmN0aW9uKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5TYXx8Xy5YYShhKXx8ITF9O3NCPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5wYXJlbnRFbGVtZW50O2lmKCFjKXJldHVybiBiO18uakIoYikmJk9BKGMsYik7Yy5yZXBsYWNlQ2hpbGQoYixhKTtyZXR1cm4gYn07dEI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hWzBdLnBhcmVudEVsZW1lbnQ7aWYoYylpZihhWzBdLnByZXZpb3VzU2libGluZ3x8YVthLmxlbmd0aC0xXS5uZXh0U2libGluZyl7Yy5pbnNlcnRCZWZvcmUoYixhWzBdKTtmb3IobGV0IGQ9YS5sZW5ndGgtMTtkPj0wO2QtLSljLnJlbW92ZUNoaWxkKGFbZF0pfWVsc2UgYy50ZXh0Q29udGVudD0iIixjLmFwcGVuZENoaWxkKGIpO3JldHVybiBifTsKdUI9ZnVuY3Rpb24oYSxiKXtpZihhWzBdLnBhcmVudEVsZW1lbnQpe3ZhciBjPWFbMF0ucGFyZW50RWxlbWVudDtsZXQgZj1iLmxlbmd0aCxoPWEubGVuZ3RoLGs9ZixsPTAsbT0wLG49YVtoLTFdLm5leHRTaWJsaW5nLHA9bnVsbDtmb3IoO2w8aHx8bTxrOylpZihhW2xdPT09YlttXSlsKyssbSsrO2Vsc2V7Zm9yKDthW2gtMV09PT1iW2stMV07KWgtLSxrLS07aWYoaD09PWwpZm9yKHZhciBkPWs8Zj9tP2JbbS0xXS5uZXh0U2libGluZzpiW2stbV06bjttPGs7KXt2YXIgZT1iW20rK107Xy5qQihlKSYmT0EoYyxlKTtjLmluc2VydEJlZm9yZShlLGQpfWVsc2UgaWYoaz09PW0pZm9yKDtsPGg7KWQ9YVtsXSxwJiZwLmhhcyhkKXx8Yy5yZW1vdmVDaGlsZChkKSxsKys7ZWxzZSBpZihhW2xdPT09YltrLTFdJiZiW21dPT09YVtoLTFdKWQ9YVstLWhdLm5leHRTaWJsaW5nLGMuaW5zZXJ0QmVmb3JlKGJbbSsrXSxhW2wrK10ubmV4dFNpYmxpbmcpLGMuaW5zZXJ0QmVmb3JlKGJbLS1rXSxkKSwKYVtoXT1iW2tdO2Vsc2V7aWYoIXApZm9yKHA9bmV3IE1hcCxkPW07ZDxrOylwLnNldChiW2RdLGQrKyk7ZD1wLmdldChhW2xdKTtpZihkPT1udWxsKWMucmVtb3ZlQ2hpbGQoYVtsXSksbCsrO2Vsc2UgaWYobTxkJiZkPGspe2U9bDtsZXQgcj0xLHQ7Zm9yKDsrK2U8aCYmZTxrOyl7dD1wLmdldChhW2VdKTtpZih0PT1udWxsfHx0IT09ZCtyKWJyZWFrO3IrK31pZihyPmQtbSlmb3IoZT1hW2xdO208ZDspYy5pbnNlcnRCZWZvcmUoYlttKytdLGUpO2Vsc2UgYy5yZXBsYWNlQ2hpbGQoYlttKytdLGFbbCsrXSl9ZWxzZSBsKyt9fX1yZXR1cm4gYn07dkI9ZnVuY3Rpb24oYSl7aWYoIUFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGE/LnBhcmVudEVsZW1lbnQ7Zm9yKGxldCBiIG9mIGEpaWYoYT12QihiKSlyZXR1cm4gYTtyZXR1cm4gbnVsbH07d0I9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLl9kaXNwb3NlRWZmZWN0czthLl9kaXNwb3NlRWZmZWN0cz1jPygpPT57YygpO2IoKX06Yn07Cl8uekI9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBjPT09ImJvb2xlYW4iJiZsYmEuaGFzKGIpKV8uUUEoYSxiLFN0cmluZyhjKSk7ZWxzZSBpZihjPT09ITEmJm1iYS5oYXMoYikpXy5RQShhLGIsbnVsbCk7ZWxzZSBpZihiIT09Imlkb21LZXkiJiZiIT09InNraXAiJiZiIT09InNraXBjaGlsZHJlbiImJmIhPT0iY2hpbGRyZW4iJiZiIT09ImVsIilpZihiLnN0YXJ0c1dpdGgoIm9uIikpe2lmKGJbMl0hPT0iOiIpdGhyb3cgXy5VdShFcnJvcigibGNgIitiKSw0LGEudGFnTmFtZSk7bGV0IGY9Yi5zbGljZSgzKTt2YXIgZD1fLkhBKCk7aWYoYz09PXZvaWQgMClkfHxmPT09ImpzYWN0aW9uInx8eEIuaW5jbHVkZXMoZil8fChhW2BvbiR7Zn1gXT1udWxsKTtlbHNlIGlmKGY9PT0ianNhY3Rpb24iKXtjPUFycmF5LmlzQXJyYXkoYyk/YzpbY107Zm9yKGxldCBoIG9mIGMpe2lmKHR5cGVvZiBoIT09Im9iamVjdCJ8fGg9PT1udWxsfHx0eXBlb2YgaC5xbiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoInNjYCIrCmIpO2gucW4oMCxhLGQ/Xy5ZdTooKT0+e30pfX1lbHNle2lmKHR5cGVvZiBjPT09ImZ1bmN0aW9uIil7ZHx8YVtlQl0hPT12b2lkIDB8fChhW2VCXT0hMSx3QihhLCgpPT57YVtlQl09ITB9KSk7dmFyIGU9Z2JhKGMsIWQpfWVsc2V7bmJhKGIsYyk7aWYoYy5xbil7Yy5xbigwLGEsZixkP18uWXU6KCk9Pnt9KTtyZXR1cm59ZT1jLlVwKDApfWlmKGQmJmFbYG9uJHtmfWBdPT09dm9pZCAwKWEuYWRkRXZlbnRMaXN0ZW5lcihmLGUpLF8uWXUoKCk9PnZvaWQgYS5yZW1vdmVFdmVudExpc3RlbmVyKGYsZSkpO2Vsc2UgaWYoZHx8IXhCLmluY2x1ZGVzKGYpKWFbYG9uJHtmfWBdPWV9fWVsc2V7aWYoYi5zdGFydHNXaXRoKCJkYXRhLSIpJiZ0eXBlb2YgYz09PSJzdHJpbmciKXRyeXtjPWZiYShjKX1jYXRjaChmKXtjPSJ6U295eiJ9dHlwZW9mIGMhPT0iZnVuY3Rpb24ifHxhLl9kaXNwb3NlRWZmZWN0cyE9bnVsbD8oKGQ9Yi5zdGFydHNXaXRoKCJwcm9wOiIpKSYmKGI9Yi5zbGljZSg1KSksYj09PQoic3R5bGUiP18uSEEoKT90eXBlb2YgYz09PSJvYmplY3QiJiZjIT09bnVsbD9vYmEoYSxjKTp5QihhLGIsYyk6eUIoYSxiLGMpOihfLkt1Lnl2JiYoZCYmcGJhKGEudGFnTmFtZSl8fChjPWtiYShhLnRhZ05hbWUsYixjKSkpLGQ/YVtiXT1jOnFiYShhLGIsYykpKTooYS5fc2lnbmFsUHJvcHN8fChhLl9zaWduYWxQcm9wcz1bXSksYS5fc2lnbmFsVmFsdWVzfHwoYS5fc2lnbmFsVmFsdWVzPVtdKSxhLl9zaWduYWxQcm9wcy5wdXNoKGIpKX19O18uQUI9ZnVuY3Rpb24oYSxiLHtsajpjfT17fSl7aWYoYj8uZWwpe2xldCBkPWIuZWw7ZC5tej8uKGEpO2EuX2Rpc3Bvc2VSZWZ8fChhLl9kaXNwb3NlUmVmPSgpPT57ZC51ej8uKCk7ZGVsZXRlIGEuX2Rpc3Bvc2VSZWZ9LGMmJl8uWXUoKCk9PnthLl9kaXNwb3NlUmVmPy4oKX0pKX19OwpuYmE9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYiE9PSJvYmplY3QifHxiPT09bnVsbCl0aHJvdyBfLlV1KEVycm9yKCJxY2AiK2ErImAiK3R5cGVvZiBiKSw0KTtpZih0eXBlb2YgYi5VcCE9PSJmdW5jdGlvbiIpdGhyb3cgXy5VdShFcnJvcigicmNgIithKyJgIitPYmplY3Qua2V5cyhiKSksNCk7fTtwYmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoPjAmJmEuaW5jbHVkZXMoIi0iKSYmIXJiYS5pbmNsdWRlcyhhLnRvTG93ZXJDYXNlKCkpfTsKb2JhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5adCxkPWFbQkJdLGU9YVtDQl07aWYoZSlmb3IodmFyIGYgb2Ygc2JhKGUsYikpREIoZCxmKSxFQihhLnN0eWxlLGYsbnVsbCk7ZT1uZXcgU2V0O2ZvcihsZXQgaCBpbiBiKXtpZighYi5oYXNPd25Qcm9wZXJ0eShoKSljb250aW51ZTtlLmFkZChoKTtsZXQgaz1iW2hdO2lmKHR5cGVvZiBrPT09ImZ1bmN0aW9uIiYmYyl7aWYoIWQpe2Q9bmV3IE1hcDtsZXQgbD1hW0JCXT1kO3dCKGEsKCk9Pntmb3IobGV0IG0gb2YgbC52YWx1ZXMoKSltKCk7bC5jbGVhcigpfSl9REIoZCxoKTtmPV8udXYoKCk9PntfLnR2KCgpPT57dmFyIGw9aygpO0VCKGEuc3R5bGUsaCxsKX0sIlFEekhKZSIpfSk7ZC5zZXQoaCxmKX1lbHNlIERCKGQsaCksRUIoYS5zdHlsZSxoLGspfWFbQ0JdPWV9OwpFQj1mdW5jdGlvbihhLGIsYyl7Yz09bnVsbHx8Yz09PSExP2Iuc3RhcnRzV2l0aCgiLS0iKXx8Yi5pbmNsdWRlcygiLSIpP2EucmVtb3ZlUHJvcGVydHkoYik6YVtiXT0iIjpiLnN0YXJ0c1dpdGgoIi0tIil8fGIuaW5jbHVkZXMoIi0iKT9hLnNldFByb3BlcnR5KGIsU3RyaW5nKGMpKTphW2JdPWN9O3NiYT1mdW5jdGlvbihhLGIpe3JldHVybiBmdW5jdGlvbiooKXtmb3IobGV0IGMgb2YgYSljIGluIGJ8fCh5aWVsZCBjKX0oKX07REI9ZnVuY3Rpb24oYSxiKXtpZihhKXt2YXIgYz1hLmdldChiKTtjJiYoYygpLGEuZGVsZXRlKGIpKX19O0ZCPWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiYiX193aXpfUnFNWU0iaW4gYX07Xy5HQj1mdW5jdGlvbihhKXtyZXR1cm4gRkIoYSk/YS5fX3dpel9ScU1ZTS5RZTphfTtIQj1mdW5jdGlvbihhLGIsLi4uYyl7Yj1iPz97fTtyZXR1cm57dHlwZTphLHByb3BzOmIsY2hpbGRyZW46YyxbXy5Mdl06ITB9fTtfLklCPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNoaWxkcmVufTsKXy5MQj1mdW5jdGlvbihhKXt2YXIgYj1KQiE9PUhCO0pCPWE/Xy5LQjpIQjtyZXR1cm4gYn07dGJhPWZ1bmN0aW9uKCl7dmFyIGE9Xy5DQSgxKSxiPV8uY3UoYSxfLk1CKTtpZighXy5idShiKSlyZXR1cm4gYjthPV8uY3UoYSxfLk5CKTtpZighXy5idShhKSlyZXR1cm4gYS5udygpfTtfLlBCPWZ1bmN0aW9uKGEsYil7Yj09bnVsbCYmKGI9KF8uT0Iuc3Y/P2RvY3VtZW50KS5fX3dpemRpc3BhdGNoZXIuYUooKSk7Yi5nZXQoXy5GdCkuby5kaXNwYXRjaEV2ZW50KG5ldyBfLkh0KGEsXy5tQikpfTsKdWJhPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2lmKGEubGVuZ3RoPjEpdGhyb3cgXy5VdShFcnJvcigidmNgIithLmxlbmd0aCsiYCIrYS5tYXAoUUIpLmpvaW4oIiwgIikpLDQsIlNDUklQVCIpO2E9YVswXX1pZihhPT1udWxsKXJldHVybiBudWxsO2lmKCEoYSBpbnN0YW5jZW9mIF8uamIpKXtpZih3aW5kb3c/LnRydXN0ZWRUeXBlcz8uaXNTY3JpcHQoYSkpdGhyb3cgRXJyb3IoInVjIik7aWYoU3RyaW5nKGEpLnRyaW0oKS5sZW5ndGg9PT0wKXJldHVybiBudWxsO3Rocm93IEVycm9yKCJ3Y2AiK1FCKGEpKTt9cmV0dXJuIGF9O3ZiYT1mdW5jdGlvbihhLGIpe2I9dWJhKGIpO2IhPT1udWxsJiZfLm5iKGEsYil9OwpfLlJCPWZ1bmN0aW9uKGEpe2lmKEFycmF5LmlzQXJyYXkoYSkpe2lmKGEubGVuZ3RoPjEpdGhyb3cgXy5VdShFcnJvcigieGNgIithLmxlbmd0aCsiYCIrYS5tYXAoUUIpLmpvaW4oIiwgIikpLDQsIlNUWUxFIik7YT1hWzBdfWlmKGE9PW51bGx8fFN0cmluZyhhKS50cmltKCkubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt0aHJvdyBFcnJvcigieWNgIitRQihhKSk7fTtRQj1mdW5jdGlvbihhKXtyZXR1cm5gKCR7dHlwZW9mIGF9KSAke2EhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCI/YS5jb25zdHJ1Y3Rvci5uYW1lOnR5cGVvZiBhfSAke2F9YH07U0I9ZnVuY3Rpb24oKXt9O1RCPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9OwpfLlhCPWZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9VUIoKSxkPSEwLGUsZj0hIV8uS3UuSnE7ZiYmKGU9dGJhKCkpO18udHYoKCk9Pnt2YXIgaD0hZCYmYi5XZSYmZixrPWg/dkIoY1swXSk6dm9pZCAwO2Q9ITE7Yi5XZSYmXy5ndisrO3ZhciBsPWNbMF0sbT1jLl9fd2l6X1JxTVlNLlFlLG49Xy5MQighMCk7dHJ5e2xldCB2O3RyeXt2PWEoKX1jYXRjaChGKXtfLm92KEYpLHY9a0IoKX1sZXQgej13YmEobCx2LGMpLEU9Xy5WQi52eSh6KT8/ejtBcnJheS5pc0FycmF5KEUpfHwoYy5fX3dpel9ScU1ZTS5RZT1bRV0pO2xldCBBPWMuX193aXpfUnFNWU0uUWU7aWYobSYmKCFBcnJheS5pc0FycmF5KG0pfHxtLmxlbmd0aCE9PTApKXt2YXIgcD1BcnJheS5pc0FycmF5KG0pP21bMF06bSxyPXBbXy5XQl0sdD1wLl9kaXNwb3NlRWZmZWN0cztwLl9kaXNwb3NlRWZmZWN0cz12b2lkIDA7cD1BcnJheS5pc0FycmF5KEEpP0FbMF06QTtwW18uV0JdPXI7cFtfLldCXSYmKHBbXy5XQl0uVXE9cD09PUE/CjE6QS5sZW5ndGgpO3AuX2Rpc3Bvc2VFZmZlY3RzPXR9Y1swXT1FO2IuV2UmJl8uSUEoITEpfWNhdGNoKHYpe3Rocm93IGIuV2UmJl8uSUEoITApLF8uVXUodiw0KTt9ZmluYWxseXtfLkxCKG4pfWgmJl8uUEIoayxlKX0sYi5kZWJ1Z05hbWUpO3JldHVybiBjfTsKd2JhPWZ1bmN0aW9uKGEsYixjKXtmb3IoO3R5cGVvZiBiPT09ImZ1bmN0aW9uIjspYj1iKCk7aWYoYj8uW18uTHZdKXRocm93IF8uVXUoRXJyb3IoInpjYCIrYi50eXBlPy5aYyksNCxiLnR5cGU/LlpjKTtpZihhPT1udWxsKXJldHVybiBiPT1udWxsP2tCKCk6Xy5xQihiKT9sQihiKTpyQihiKT9sQihiLnRvU3RyaW5nKCkpOl8uaUIoYik/YjpiLmxlbmd0aD09PTA/a0IoKTpZQihiLGMpO2lmKF8uaUIoYSkpe2lmKGI9PW51bGwpcmV0dXJuIHNCKGEsa0IoKSk7aWYoXy5xQihiKSlyZXR1cm4gYUMoYSxiKTtpZihyQihiKSlyZXR1cm4gYUMoYSxiLnRvU3RyaW5nKCkpO2lmKF8uaUIoYikpcmV0dXJuIHNCKGEsYik7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBzQihhLGtCKCkpO2I9WUIoYixjKTt1QihbYV0sYy5fX3dpel9ScU1ZTS5RZSk7cmV0dXJuIGJ9YT1fLmJDKGEpO2lmKGI9PW51bGwpcmV0dXJuIHRCKGEsa0IoKSk7aWYoXy5xQihiKSlyZXR1cm4gdEIoYSxsQihiKSk7aWYockIoYikpcmV0dXJuIHRCKGEsCmxCKGIudG9TdHJpbmcoKSkpO2lmKF8uaUIoYikpcmV0dXJuIHVCKGEsW2JdKVswXTtpZihiLmxlbmd0aD09PTApcmV0dXJuIHRCKGEsa0IoKSk7Yj1ZQihiLGMpO3VCKGEsYy5fX3dpel9ScU1ZTS5RZSk7cmV0dXJuIGJ9O2FDPWZ1bmN0aW9uKGEsYil7YS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFP2EudGV4dENvbnRlbnQhPT1TdHJpbmcoYikmJihhLnRleHRDb250ZW50PVN0cmluZyhiKSk6YT1zQihhLGxCKGIpKTtyZXR1cm4gYX07Xy5iQz1mdW5jdGlvbihhLGIsYz0hMSl7cmV0dXJuIGNDKGEsYj8/W10sYyl9O1lCPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5iQyhhLHZvaWQgMCwhMCk7aWYoYy5sZW5ndGg9PT0wKXJldHVybiBrQigpO2IuX193aXpfUnFNWU0uUWU9YztyZXR1cm4gYX07CmNDPWZ1bmN0aW9uKGEsYj1bXSxjPSExLGQsZT0tMSl7aWYoYT09bnVsbClyZXR1cm4gYjtpZighQXJyYXkuaXNBcnJheShiKSYmXy5qQihiKSlzd2l0Y2goXy5qQihhKSYmT0EoYixhKSxiLnRhZ05hbWUpe2Nhc2UgIlNDUklQVCI6dmJhKGIsYSk7cmV0dXJuO2Nhc2UgIlNUWUxFIjppZihfLlJCKGEpIT09bnVsbCl0aHJvdyBFcnJvcigiaCIpO3JldHVybn1pZihBcnJheS5pc0FycmF5KGEpKXtmb3IodmFyIGY9MDtmPGEubGVuZ3RoO2YrKyljQyhhW2ZdLGIsYyxhLGYpO3JldHVybiBifWlmKGEgaW5zdGFuY2VvZiBfLmRDKXJldHVybiBmPWEub2MoKSxjQyhmLGIsYyxkLGUpO2lmKF8ucUIoYSkpcmV0dXJuIGE9bEIoYSksZCYmYyYmKGRbZV09YSksZUMoYixhKTtpZihfLm9CKGEpKXtjPV8ucEIoYSk7Zm9yKGM9Yy5maXJzdENoaWxkO2M7KWY9Yy5uZXh0U2libGluZyxlQyhiLGMpLGM9ZjtyZXR1cm4gYn1pZihyQihhKSlyZXR1cm4gYT1sQihhLnRvU3RyaW5nKCkpLGQmJmMmJihkW2VdPQphKSxlQyhiLGEpO2lmKF8uaUIoYSkpcmV0dXJuIGVDKGIsYSk7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXtmPV8uWEIoKCk9Pnt2YXIgaz1hKCk7aWYoaz09bnVsbHx8Xy5xQihrKSlyZXR1cm4gaztpZihfLm9CKGspKXJldHVybiBrPV8ucEIoayksQXJyYXkuZnJvbShrLmNoaWxkTm9kZXMpO3Rocm93IF8uVXUoRXJyb3IoIkFiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikrImAiK3R5cGVvZiBrKSw0KTt9LHtkZWJ1Z05hbWU6InFtRjJuZSIsenA6YX0pWzBdO2lmKEFycmF5LmlzQXJyYXkoZikpe2Zvcih2YXIgaCBvZiBmKWVDKGIsaCk7cmV0dXJuIGJ9ZCYmYyYmKGRbZV09Zik7cmV0dXJuIGVDKGIsZil9aWYoYT8uW18uTHZdKXtkPWE7ZT1fLkxCKCEwKTtoPUpCO3RyeXtmPWgoZC50eXBlLGQucHJvcHMsLi4uZC5jaGlsZHJlbil9ZmluYWxseXtfLkxCKGUpfXJldHVybiBjQyhmLGIsYyl9dGhyb3cgXy5VdShFcnJvcigiQWMiKSw0KTt9OwpVQj1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3QuYXNzaWduKFtdLHtfX3dpel9ScU1ZTTp7UWU6W119fSk7aWYoIWEpcmV0dXJuIGI7YlswXT1ZQihhLGIpO3JldHVybiBifTtlQz1mdW5jdGlvbihhLGIpe0FycmF5LmlzQXJyYXkoYSk/YS5wdXNoKGIpOmEuYXBwZW5kQ2hpbGQoYik7cmV0dXJuIGF9O18uZkM9ZnVuY3Rpb24oYSl7aWYoQXJyYXkuaXNBcnJheShhKSl7Zm9yKGxldCBiPTA7YjxhLmxlbmd0aDtiKyspYVtiXT1fLmZDKGFbYl0pO3JldHVybiBhfXJldHVybiBhIGluc3RhbmNlb2YgXy5kQz8oYT1hLm9jKCksXy5mQyhhKSk6YX07Cl8uZ0M9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9Xy5GQShhKSxmPWw9PntkPWw7dmFyIG09Xy5MQighMCksbj1fLmt1KF8uenYpO3RyeXtjPV8uZkMoYShiKSl9ZmluYWxseXtfLmt1KG4pLF8uTEIobSl9IUFycmF5LmlzQXJyYXkoYykmJl8uRnUobCl9O2U9Xy5LdS5HcD9oQihmLGUpOl8udXYoZixfLkt1LnJpfHwhIV8uWnQpO2lmKCFiLmpuKXtmPV8uJHQoZCk7dHJ5e3JldHVybigwLF8udnYpKGEsYixjKSxjfWZpbmFsbHl7Xy4kdChmKX19IUZCKGMpJiZBcnJheS5pc0FycmF5KGMpJiYoYz1VQihjKSk7dmFyIGg9Xy5HQihjKTtmPUFycmF5LmlzQXJyYXkoaCk/aFswXTpoO3ZhciBrPSExO2lmKGYpe2xldCBsPWI/Lmlkb21LZXk/P2EsbT1oIT09ZjtmLl9kaXNwb3NlRWZmZWN0cz1lO2xldCBuPWZbXy5XQl18fHt9LHA9RkIoYyk/YzpuLnluO09iamVjdC5hc3NpZ24obix7a2V5OmwsVXE6bT9oLmxlbmd0aDoxLG93bmVyOmQsbEo6ISFmW18uV0JdLHluOnB9KTtmW18uV0JdPW59ZWxzZSBrPQohMDsoKCk9Pnt2YXIgbD1fLiR0KGQpO3RyeXsoMCxfLnZ2KShhLGIsaCl9ZmluYWxseXtfLiR0KGwpfX0pKCk7ayYmZSgpO3JldHVybiBjfTtoQz1mdW5jdGlvbihhLGIpe2lmKCFhLnYmJmIpe2Eudj0hMDt0cnl7YS5IZigpfWNhdGNoKGMpe18uS3UuaGFuZGxlRXJyb3I/LiguLi5fLkpBKGMsYS5qPy5aYykpfV8uYncuSGYoYSk7YS5lbD1udWxsO2IuX19pbnN0YW5jZSYmZGVsZXRlIGIuX19pbnN0YW5jZX19O18uakM9ZnVuY3Rpb24oYSxiLGM9ITEpe2EuX3NpZ25hbFByb3BzIT1udWxsJiZhLl9kaXNwb3NlRWZmZWN0cz09bnVsbCYmKGM/YS5fZGlzcG9zZUVmZmVjdHM9Xy51digoKT0+dm9pZCBpQyhhLGIpLF8uS3Uucml8fCEhXy5adCk6aUMoYSxiKSl9OwppQz1mdW5jdGlvbihhLGIpe18udHYoKCk9Pnt2YXIgYz1hLl9zaWduYWxQcm9wcyxkPWEuX3NpZ25hbFZhbHVlcztmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXSxoPWJbZl0oKTtkW2VdIT09aCYmKGRbZV09aCxfLnpCKGEsZixoKSl9fSwiZTNZVmJiIil9O18ubEM9ZnVuY3Rpb24oYSxiLC4uLmMpe2I/PyhiPXt9KTtyZXR1cm4gXy5IQSgpfHxfLk11PT1udWxsP25ldyB4YmEoYSxiLGMpOmtDKGEsYixjKX07CmtDPWZ1bmN0aW9uKGEsYixjKXtpZihhPT09Xy5JQilyZXR1cm4gYztpZih0eXBlb2YgYT09PSJmdW5jdGlvbiIpcmV0dXJuIF8uTXUmJiFfLkhBKCkmJihiLmpuPSEwKSxfLkdBKGEsKCk9PntjLmxlbmd0aD4wJiYoYi5jaGlsZHJlbj1jLmxlbmd0aD09PTE/Y1swXTpjKTtpZihhLmNvbXBvbmVudFR5cGU9PT1fLkt2KXtsZXQgZTtoQigoKT0+e3ZhciBmPWI7aWYoYS5jb21wb25lbnRUeXBlIT09Xy5LdillPSExO2Vsc2V7Znx8KGY9e30pO3ZhciBoPW5ldyBfLm1DKGYsYSksaz1fLmt1KF8uenYpO3RyeXt2YXIgbD1oLm9jKGYpfWZpbmFsbHl7Xy5rdShrKX1sIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ/KGwuX19pbnN0YW5jZT1oLGguZWw9bCxoLmo9YSxhLlpjPWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpLF8uYncuR2YoaCksZT1sKTplPWx9fSxhLm5hbWUpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIF8uZ0MoYSxiKX0sYi5kZWJ1Z0luc3RhbmNlKTt2YXIgZD15YmEoYSxiKTtmb3IobGV0IGUgaW4gYilfLnpCKGQsCmUsYltlXSk7Xy5qQyhkLGIpO18uYkMoYyxkKTtfLkFCKGQsYix7bGo6ITB9KTsoMCxfLnh2KShkLGIpO3JldHVybiBkfTt5YmE9ZnVuY3Rpb24oYSxiKXthPShOQS5oYXMoYS50b0xvd2VyQ2FzZSgpKT8wOk1BLmhhcyhhLnN0YXJ0c1dpdGgoInN2ZzoiKT9hLnJlcGxhY2UoInN2ZzoiLCIiKTphKSk/ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsYS5zdGFydHNXaXRoKCJzdmc6Iik/YS5yZXBsYWNlKCJzdmc6IiwiIik6YSk6KDAsXy53dikoYSxiKXx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChhKTthW18ubkNdPSEwO3JldHVybiBhfTsKXy5wQz1mdW5jdGlvbihhKXtpZihhKXthLl9kaXNwb3NlUmVmPy4oKTthLl9kaXNwb3NlRWZmZWN0cz8uKCk7aWYoYS5fX2luc3RhbmNlJiZhLl9faW5zdGFuY2UgaW5zdGFuY2VvZiBvQyl7dmFyIGI9YS5fX2luc3RhbmNlO2hDKGIsYSk7YiBpbnN0YW5jZW9mIF8ubUMmJmIuRCgpfWZvcihiPTA7YjxhLmNoaWxkTm9kZXMubGVuZ3RoO2IrKylfLnBDKGEuY2hpbGROb2Rlc1tiXSl9fTt6YmE9ZnVuY3Rpb24oYSl7cUMucHVzaChhKT09PTEmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9Pnt2YXIgYj1bLi4ucUNdO3FDPVtdO2ZvcihsZXQgYyBvZiBiKXRyeXtmb3IoYj0wO2I8Yy5sZW5ndGg7YisrKV8ucEMoY1tiXSl9Y2F0Y2goZCl7Xy5LdS5oYW5kbGVFcnJvcj8uKC4uLl8uSkEoZCkpfX0pfSl9O18uSz1mdW5jdGlvbihhLGIsLi4uYyl7cmV0dXJuIEpCKGEsYiwuLi5jKX07Xy5yQz1mdW5jdGlvbihhKXt2YXIgYj1fLmt1KF8ueXYpO3RyeXthKCl9ZmluYWxseXtfLmt1KGIpfX07CkFiYT1mdW5jdGlvbihhKXtyZXR1cm4gYX07c0M9ZnVuY3Rpb24oYSxiLGM9IiIpe2Z1bmN0aW9uIGQoKXtyZXR1cm4gZSgpfXZhciBlPXR5cGVvZiBhPT09ImZ1bmN0aW9uIj9EQShhLEFiYSxiPy5lcXVhbHMpOkRBKGEuc291cmNlLGEuVGcsYj8uZXF1YWxzKTt2YXIgZj1lW18uWnVdO2YuZGVidWdOYW1lPV8uZXUoYj8uZGVidWdOYW1lLGMsIltsaW5rZWRTaWduYWxdIik7ZFtfLlp1XT1mO3JldHVybltkLGg9PntfLnJ1KGYpO18ueXUoZixoKTtmLlBiPSExO2Yucmo9Xy5tdX0saD0+e18ucnUoZik7aWYoZi52YWx1ZT09PV8uSXYpdGhyb3cgZi5lcnJvcjtfLmp1Py5MZSE9PSExfHxfLnd1KGYpO18ueXUoZixoKGYudmFsdWUpKTtmLlBiPSExO2Yucmo9Xy5tdX1dfTtfLnVDPWZ1bmN0aW9uKCl7dEN8fCh0Qz17T2M6ITEsVXk6MCxzdGFjazpbXSxzZXNzaW9uSWQ6IiIsZGg6dm9pZCAwLHByb2Nlc3NvcnM6W10sV2g6KCk9PiEwfSk7cmV0dXJuIHRDfTsKdkM9ZnVuY3Rpb24oKXt2YXIgYT1fLnVDKCk7cmV0dXJuIGEuc3RhY2tbYS5zdGFjay5sZW5ndGgtMV19O18ud0M9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51QygpO3JldHVybiBiLk9jP2IuZGg/Yi5kaFthXTohMDohMX07RGJhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy53QyhhKSYmXy51QygpLldoKGEsYixCYmEpP25ldyBDYmEoYSxiLGMpOnhDfTsKXy55Qz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIGM9PT0iZnVuY3Rpb24iKXt2YXIgZD1jO2M9dm9pZCAwfXZhciBlPURiYShhLGIsYyk7aWYoYz8uZW5kVGltZSE9bnVsbClyZXR1cm4gZCYmXy5JcChFcnJvcigiRWMiKSksZTtlIT09eEMmJmM/LmFjdGl2ZSE9PSExJiZfLnVDKCkuc3RhY2sucHVzaChlKTtpZighZClyZXR1cm4gZTtpZihlPT09eEMpcmV0dXJuIGQoZSk7dHJ5e2xldCBmPWQoZSk7aWYoZiBpbnN0YW5jZW9mIFByb21pc2UpcmV0dXJuIGYudGhlbihoPT57ZS5lbmQoKTtyZXR1cm4gaH0saD0+e2UuZW5kKCJTUEFOX1NUQVRVU19FUlJPUiIpO3Rocm93IGg7fSk7ZS5lbmQoKTtyZXR1cm4gZn1jYXRjaChmKXt0aHJvdyBlLmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKSxmO319Owp6Qz1mdW5jdGlvbihhLGIsYyxkKXthIGluc3RhbmNlb2YgRWxlbWVudCYmKGMuZGVidWdOYW1lfHwoYy5kZWJ1Z05hbWU9YDwke2EudGFnTmFtZS50b0xvd2VyQ2FzZSgpfWArKGEudGFnTmFtZS5pbmNsdWRlcygiLSIpPyI+IjpgLiR7YS5jbGFzc05hbWV9PmApKSxfLngoInl0d2l6X2VuYWJsZV9kZWJ1Z19jb21wb25lbnRfcHJvcHMiKSYmKGEuZGVidWdQcm9wc3x8KGEuZGVidWdQcm9wcz1BQShiLGU9PigpPT5lKCkpKSxiLmRhdGE9PT12b2lkIDB8fCJkYXRhImluIGEmJiFhLmlzV2ViQ29tcG9uZW50V3JhcHBlcnx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGEuZGVidWdQcm9wcywiZGF0YSIse2dldDooKT0+Xy5CdihiLmRhdGEpLHNldDplPT57ZD8uZGF0YT8uKGUpfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pKSl9OwpfLkFDPWZ1bmN0aW9uKGEsYil7aWYoYS5sZW5ndGg9PT0wJiYhYj8uaW5pdGlhbClyZXR1cm4gc0MoYSx7ZGVidWdOYW1lOmI/LmRlYnVnTmFtZX0sImgiKTt2YXIgW2MsZCxlXT1zQyh7c291cmNlOigpPT5hKCksVGc6KGYsaCk9Pmg/LnZhbHVlP2EoaC52YWx1ZSk6Yj8uaW5pdGlhbD9hKGIuaW5pdGlhbCk6Zn0se2RlYnVnTmFtZTpiPy5kZWJ1Z05hbWV9LCJpIik7cmV0dXJuW2MsZCxlXX07Cl8uTD1mdW5jdGlvbihhLGI9IiIpe3ZhciBjPWQ9Pl8ueUMoInl0Q29tcG9uZW50Iix7fSxlPT57dmFyIGY9QkM9e307aWYoYz8uaWRvbUNvbXBhdCYmZC5qbil7bGV0IFtrLGxdPUViYShkLHR5cGVvZiBjLmlkb21Db21wYXQ9PT0ib2JqZWN0Ij9jPy5pZG9tQ29tcGF0LmNhbGxiYWNrczp7fSk7dmFyIGg9Q0MoYSxkKTtmLkd6PWg7QkM9dm9pZCAwO3pDKGgsZCxjLGspO2UuRGUoe2RlYnVnTmFtZTpjLmRlYnVnTmFtZX0pO2U9Xy5HQihoKTtlPUFycmF5LmlzQXJyYXkoZSk/ZVswXTplO2VbXy5XQl18fChlW18uV0JdPXt9KTtlW18uV0JdLnFCPWw7Xy5DdihkLGgpO3JldHVybiBofWQ9QUEoZCxGYmEpO2g9Q0MoYSxkKTt6QyhoLGQsYyk7Zi5Hej1oO0JDPXZvaWQgMDtlLkRlKHtkZWJ1Z05hbWU6Yy5kZWJ1Z05hbWV9KTtfLkN2KGQsaCk7cmV0dXJuIGh9KTtjLmRlYnVnTmFtZT1iO3JldHVybiBjfTtDQz1mdW5jdGlvbihhLGIpe2E9YShiKTtyZXR1cm4gXy5mQyhhKX07CkZiYT1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09ImNoaWxkcmVuInx8Yj09PSJyZWYifHx0eXBlb2YgYT09PSJmdW5jdGlvbiJ8fGE9PT12b2lkIDA/YTooKT0+YX07R2JhPWZ1bmN0aW9uKGEsYil7cmV0dXJuKCk9Pl8uQnYoYSk/P2J9O18uREM9ZnVuY3Rpb24oYSxiKXt2YXIgYz17Li4uYX07Zm9yKGxldCBkIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShkKSYmKGNbZF09R2JhKGFbZF0sYltkXSkpO3JldHVybiBjfTsKRWJhPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZD17fTtmb3IobGV0IGUgaW4gYSl7bGV0IGY9YVtlXTtpZihlIT09ImNoaWxkcmVuIiYmZSE9PSJyZWYiKWlmKHR5cGVvZiBmPT09ImZ1bmN0aW9uIilpZihlIGluIGJ8fGYubGVuZ3RoPjApZFtlXT1mLGFbZV09KC4uLmgpPT5kW2VdKC4uLmgpO2Vsc2V7aWYoZT09PSJkYXRhIil7bGV0IFtoLGtdPV8uQUMoZix7ZGVidWdOYW1lOmAke2V9OmN3aXNgfSk7YVtlXT1oO2NbZV09a319ZWxzZSBpZighKGFbZV09PT12b2lkIDAmJmUgaW4gYikpe2xldCBbaCxrXT1fLkooYVtlXSx7ZGVidWdOYW1lOmAke2V9OmN3aXNgfSwiVmJjZ0NkIik7YVtlXT1oO2NbZV09a319cmV0dXJuW2MsZnVuY3Rpb24oZSl7Zm9yKGxldCBmIGluIGUpe2xldCBoPWVbZl07ZiE9PSJjaGlsZHJlbiImJmYhPT0icmVmIiYmKHR5cGVvZiBoPT09ImZ1bmN0aW9uIj9mIGluIGI/ZFtmXT1oOmgubGVuZ3RoPjAmJihkW2ZdPWgsXy5JcChuZXcgXy5YaihIYmEsZikpKTpmIGluCmImJmg9PT12b2lkIDB8fChjW2ZdfHxfLkhwKG5ldyBfLlhqKEliYSxmKSksXy5yQygoKT0+e2NbZl0oaCl9KSkpfX1dfTsKVmFhPXsuLi5fLlh1LHZhbHVlOl8uR3YsUGI6ITAsZXJyb3I6bnVsbCxlcXVhbDpfLml1LGtpbmQ6ImxpbmtlZFNpZ25hbCIsWG0oYSl7cmV0dXJuIGEudmFsdWU9PT1fLkd2fHxhLnZhbHVlPT09Xy5Idn0sWW0oYSl7aWYoYS52YWx1ZT09PV8uSHYpdGhyb3cgRXJyb3IoImgiKTt2YXIgYj1hLnZhbHVlO2EudmFsdWU9Xy5Idjt2YXIgYz1fLnR1KGEpLGQ9ITE7dHJ5e2xldCBmPWEuc291cmNlKCksaD1iIT09Xy5HdiYmYiE9PV8uSXY7dmFyIGU9YS5UZyhmLGg/e3NvdXJjZTphLnNvdXJjZVZhbHVlLHZhbHVlOmJ9OnZvaWQgMCk7YS5zb3VyY2VWYWx1ZT1mO18ua3UobnVsbCk7ZD1oJiZlIT09Xy5JdiYmYS5lcXVhbChiLGUpfWNhdGNoKGYpe2U9Xy5JdixhLmVycm9yPWZ9ZmluYWxseXtfLmt1KGMpLGEmJl8udnUoYSl9ZD9hLnZhbHVlPWI6KGEudmFsdWU9ZSxhLnZlcnNpb24rKyl9fTtfLm1CPXt9O18uSXQucHJvdG90eXBlLmo9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50fTsKXy5JdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250ZW50fTtLQT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTtfLmRDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5Dbz1udWxsfX07b0M9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5wcm9wcz1hO3RoaXMudj0hMX1HZigpe31KaSgpe31IZigpe31LaSgpe319O3RyeXtsZXQgYT13aW5kb3c/LnRvcD8/Xy51O2EuVTNiSEhmPz8oYS5VM2JISGY9MCk7YS5VM2JISGYrK31jYXRjaChhKXtfLnUuVTNiSEhmPz8oXy51LlUzYkhIZj0wKSxfLnUuVTNiSEhmKyt9O18uRkM9bmV3IFdlYWtNYXA7Xy5HQz1YYWEoKTt2YXIgbWJhPW5ldyBTZXQoImFsbG93ZnVsbHNjcmVlbiBhbGxvd3RyYW5zcGFyZW5jeSBhc3luYyBhdXRvZm9jdXMgYXV0b3BsYXkgY2hlY2tlZCBjb250cm9scyBkZWZhdWx0IGRlZmVyIGRpc2FibGVkIGRpc2FibGVyZW1vdGVwbGF5YmFjayBmb3Jtbm92YWxpZGF0ZSBoaWRkZW4gaW5lcnQgaXNtYXAgaXRlbXNjb3BlIGpzc2hhZG93IGpzc2xvdCBsb29wIG11bHRpcGxlIG11dGVkIG5vbW9kdWxlIG5vdmFsaWRhdGUgb3BlbiBwbGF5c2lubGluZSByZWFkb25seSByZXF1aXJlZCByZXZlcnNlZCBzY29wZWQgc2VhbWxlc3Mgc2VsZWN0ZWQgc29ydGFibGUgdHlwZW11c3RtYXRjaCIuc3BsaXQoIiAiKSksbGJhPW5ldyBTZXQoWyJjb250ZW50ZWRpdGFibGUiLCJkcmFnZ2FibGUiLCJzcGVsbGNoZWNrIl0pO3ZhciBNQT1uZXcgU2V0KCJhIGFsdEdseXBoIGFsdEdseXBoRGVmIGFsdEdseXBoSXRlbSBhbmltYXRlIGFuaW1hdGVDb2xvciBhbmltYXRlTW90aW9uIGFuaW1hdGVUcmFuc2Zvcm0gY2lyY2xlIGNsaXBQYXRoIGNvbG9yLXByb2ZpbGUgY3Vyc29yIGRlZnMgZGVzYyBlbGxpcHNlIGZlQmxlbmQgZmVDb2xvck1hdHJpeCBmZUNvbXBvbmVudFRyYW5zZmVyIGZlQ29tcG9zaXRlIGZlQ29udm9sdmVNYXRyaXggZmVEaWZmdXNlTGlnaHRpbmcgZmVEaXNwbGFjZW1lbnRNYXAgZmVEaXN0YW50TGlnaHQgZmVEcm9wU2hhZG93IGZlRmxvb2QgZmVGdW5jQSBmZUZ1bmNCIGZlRnVuY0cgZmVGdW5jUiBmZUdhdXNzaWFuQmx1ciBmZUltYWdlIGZlTWVyZ2UgZmVNZXJnZU5vZGUgZmVNb3JwaG9sb2d5IGZlT2Zmc2V0IGZlUG9pbnRMaWdodCBmZVNwZWN1bGFyTGlnaHRpbmcgZmVTcG90TGlnaHQgZmVUaWxlIGZlVHVyYnVsZW5jZSBmaWx0ZXIgZm9udCBmb250LWZhY2UgZm9udC1mYWNlLWZvcm1hdCBmb250LWZhY2UtbmFtZSBmb250LWZhY2Utc3JjIGZvbnQtZmFjZS11cmkgZm9yZWlnbk9iamVjdCBnIGdseXBoIGdseXBoUmVmIGhrZXJuIGltYWdlIGxpbmUgbGluZWFyR3JhZGllbnQgbWFya2VyIG1hc2sgbWV0YWRhdGEgbWlzc2luZy1nbHlwaCBtcGF0aCBwYXRoIHBhdHRlcm4gcG9seWdvbiBwb2x5bGluZSByYWRpYWxHcmFkaWVudCByZWN0IHNjcmlwdCBzZXQgc3RvcCBzdHlsZSBzdmcgc3dpdGNoIHN5bWJvbCB0ZXh0IHRleHRQYXRoIHRpdGxlIHRyZWYgdHNwYW4gdXNlIHZpZXcgdmtlcm4iLnNwbGl0KCIgIikpLApOQT1uZXcgU2V0KFsiYSIsImZvbnQiLCJzY3JpcHQiLCJzdHlsZSIsInRpdGxlIl0pLFlhYT1uZXcgU2V0KFsiZGVzYyIsImZvcmVpZ25PYmplY3QiLCJ0aXRsZSJdKTtfLlJBPXtkZWZhdWx0OiJfX2RlZmF1bHQifTt2YXIgWmFhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7UEEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCk7Xy5IQz1TQSgpO18uY0I9bnVsbDt2YXIgYmJhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY3JlYXRlZD1bXTt0aGlzLmRlbGV0ZWQ9W107dGhpcy5ub2RlPWF9fTt2YXIgY2JhPXR5cGVvZiBOb2RlIT09InVuZGVmaW5lZCImJk5vZGUucHJvdG90eXBlLmdldFJvb3ROb2RlfHxmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLGI9YTthOyliPWEsYT1hLnBhcmVudE5vZGU7cmV0dXJuIGJ9O18uV0E9bnVsbDtfLllBPW51bGw7Xy5VQT1udWxsO18uWkE9bnVsbDtfLiRBPVtdO18uYkI9VEE7Xy5hQj1bXTtfLklDPWZ1bmN0aW9uKGEpe3JldHVybiBlYmEoKGIsYyxkKT0+e18uVUE9Xy5ZQT1iO18uWUE9bnVsbDtjKGQpO18uWEEoKTtfLllBPV8uVUE7Xy5VQT1fLlVBLnBhcmVudE5vZGU7cmV0dXJuIGJ9LGEpfSgpO18uSkM9bmV3IFBBO1JlZ0V4cC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInN0aWNreSIpO3ZhciBlQj1TeW1ib2woImpjIik7dmFyIGhiYT17YWxpZ246MSxhbHQ6MSwiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjoxMCwiYXJpYS1hdG9taWMiOjEsImFyaWEtYXV0b2NvbXBsZXRlIjoxLCJhcmlhLWJ1c3kiOjEsImFyaWEtY2hlY2tlZCI6MSwiYXJpYS1jb250cm9scyI6MTAsImFyaWEtY3VycmVudCI6MSwiYXJpYS1kZXNjcmliZWRieSI6MTAsImFyaWEtZGlzYWJsZWQiOjEsImFyaWEtZHJvcGVmZmVjdCI6MSwiYXJpYS1leHBhbmRlZCI6MSwiYXJpYS1oYXNwb3B1cCI6MSwiYXJpYS1oaWRkZW4iOjEsImFyaWEtaW52YWxpZCI6MSwiYXJpYS1sYWJlbCI6MSwiYXJpYS1sYWJlbGxlZGJ5IjoxMCwiYXJpYS1sZXZlbCI6MSwiYXJpYS1saXZlIjoxLCJhcmlhLW11bHRpbGluZSI6MSwiYXJpYS1tdWx0aXNlbGVjdGFibGUiOjEsImFyaWEtb3JpZW50YXRpb24iOjEsImFyaWEtb3ducyI6MTAsImFyaWEtcG9zaW5zZXQiOjEsImFyaWEtcHJlc3NlZCI6MSwiYXJpYS1yZWFkb25seSI6MSwiYXJpYS1yZWxldmFudCI6MSwiYXJpYS1yZXF1aXJlZCI6MSwKImFyaWEtc2VsZWN0ZWQiOjEsImFyaWEtc2V0c2l6ZSI6MSwiYXJpYS1zb3J0IjoxLCJhcmlhLXZhbHVlbWF4IjoxLCJhcmlhLXZhbHVlbWluIjoxLCJhcmlhLXZhbHVlbm93IjoxLCJhcmlhLXZhbHVldGV4dCI6MSxhc3luYzo4LGF1dG9jYXBpdGFsaXplOjEsYXV0b2NvbXBsZXRlOjEsYXV0b2NvcnJlY3Q6MSxhdXRvZm9jdXM6MSxhdXRvcGxheToxLGJnY29sb3I6MSxib3JkZXI6MSxjZWxscGFkZGluZzoxLGNlbGxzcGFjaW5nOjEsY2hlY2tlZDoxLGNpdGU6MSwiY2xhc3MiOjEsY29sb3I6MSxjb2xzOjEsY29sc3BhbjoxLGNvbnRlbnRlZGl0YWJsZToxLGNvbnRyb2xzOjEsY29udHJvbHNsaXN0OjEsY29vcmRzOjEsY3Jvc3NvcmlnaW46MSxkYXRldGltZToxLGRpcjo4LGRpc2FibGVkOjEsZG93bmxvYWQ6MSxkcmFnZ2FibGU6MSxlbmN0eXBlOjEsZmFjZToxLCJmb3IiOjEwLGZvcm1lbmN0eXBlOjEsZnJhbWVib3JkZXI6MSxoZWlnaHQ6MSxoaWRkZW46MSxocmVmOjQsaHJlZmxhbmc6MSwKaWQ6MTAsaW5lcnQ6MSxpc21hcDoxLGl0ZW1pZDoxLGl0ZW1wcm9wOjEsaXRlbXJlZjoxLGl0ZW1zY29wZToxLGl0ZW10eXBlOjEsbGFiZWw6MSxsYW5nOjEsbGlzdDoxMCxsb2FkaW5nOjgsbG9vcDoxLG1heDoxLG1heGxlbmd0aDoxLG1lZGlhOjEsbWluOjEsbWlubGVuZ3RoOjEsbXVsdGlwbGU6MSxtdXRlZDoxLG5hbWU6MTAsbm9uY2U6MSxvcGVuOjEscGxhY2Vob2xkZXI6MSxwbGF5c2lubGluZToxLHBvc3RlcjoxLHByZWxvYWQ6MSxyZWw6MSxyZXF1aXJlZDoxLHJldmVyc2VkOjEscm9sZToxLHJvd3M6MSxyb3dzcGFuOjEsc2VsZWN0ZWQ6MSxzaGFwZToxLHNpemU6MSxzaXplczoxLHNsb3Q6MSxzcGFuOjEsc3BlbGxjaGVjazoxLHNyYzo0LHNyY3NldDoxMixzdGFydDoxLHN0ZXA6MSxzdHlsZTo1LHN1bW1hcnk6MSx0YWJpbmRleDoxLHRhcmdldDo4LHRpdGxlOjEsdHJhbnNsYXRlOjEsdHlwZToxLHVzZW1hcDoxLHZhbGlnbjoxLHZhbHVlOjEsd2lkdGg6MSx3cmFwOjF9LGZCPQp7YTp7aHJlZjpbe2thOjN9XX0sYXJlYTp7aHJlZjpbe2thOjN9XX0sYXVkaW86e3NyYzpbe2thOjN9XX0sYnV0dG9uOntmb3JtYWN0aW9uOlt7a2E6M31dLGZvcm1tZXRob2Q6W3trYToxfV19LGZvcm06e2FjdGlvbjpbe2thOjN9XSxtZXRob2Q6W3trYToxfV19LGlmcmFtZTp7c3JjZG9jOlt7a2E6Mn1dfSxpbWc6e3NyYzpbe2thOjN9XSxzcmNzZXQ6W3trYToxMX1dfSxpbnB1dDp7YWNjZXB0Olt7a2E6MX1dLGZvcm1hY3Rpb246W3trYTozfV0sZm9ybW1ldGhvZDpbe2thOjF9XSxwYXR0ZXJuOlt7a2E6MX1dLHJlYWRvbmx5Olt7a2E6MX1dLHNyYzpbe2thOjN9XX0sbGluazp7aHJlZjpbe2thOjMsaWI6InJlbCIsbmI6ImFsdGVybmF0ZSJ9LHtrYTozLGliOiJyZWwiLG5iOiJhdXRob3IifSx7a2E6MyxpYjoicmVsIixuYjoiYm9va21hcmsifSx7a2E6MyxpYjoicmVsIixuYjoiY2Fub25pY2FsIn0se2thOjMsaWI6InJlbCIsbmI6ImNpdGUifSx7a2E6MyxpYjoicmVsIixuYjoiaGVscCJ9LAp7a2E6MyxpYjoicmVsIixuYjoiaWNvbiJ9LHtrYTozLGliOiJyZWwiLG5iOiJsaWNlbnNlIn0se2thOjMsaWI6InJlbCIsbmI6Im5leHQifSx7a2E6MyxpYjoicmVsIixuYjoicHJlZmV0Y2gifSx7a2E6MyxpYjoicmVsIixuYjoiZG5zLXByZWZldGNoIn0se2thOjMsaWI6InJlbCIsbmI6InByZXJlbmRlciJ9LHtrYTozLGliOiJyZWwiLG5iOiJwcmVjb25uZWN0In0se2thOjMsaWI6InJlbCIsbmI6InByZWxvYWQifSx7a2E6MyxpYjoicmVsIixuYjoicHJldiJ9LHtrYTozLGliOiJyZWwiLG5iOiJzZWFyY2gifSx7a2E6MyxpYjoicmVsIixuYjoic3VicmVzb3VyY2UifV19LHNjcmlwdDp7ZGVmZXI6W3trYToxfV19LHNvdXJjZTp7c3JjOlt7a2E6M31dLHNyY3NldDpbe2thOjExfV19LHRleHRhcmVhOntyZWFkb25seTpbe2thOjF9XX0sdmlkZW86e3NyYzpbe2thOjN9XX19O3ZhciBKYmE9L14oPyFqYXZhc2NyaXB0OikoPzpbYS16MC05Ky4tXSs6fFteJjpcLz8jXSooPzpbXC8/I118JCkpL2ksaWJhPXtbMV06bnVsbCxbMl06KGEsYik9PmIgaW5zdGFuY2VvZiBfLmZiP18ueUEoYik6Xy5GcS50b1N0cmluZygpLFszXTooYSxiKT0+Xy5YYShiKT9fLllhKGIpOkpiYS50ZXN0KFN0cmluZyhiKSk/U3RyaW5nKGIpOl8uRnEudG9TdHJpbmcoKSxbNF06KGEsYik9PmIgaW5zdGFuY2VvZiBfLlNhP18uVWEoYik6Xy5GcS50b1N0cmluZygpLFs1XTooYSxiKT0+U3RyaW5nKGIpLFs3XTpudWxsLFs4XTpudWxsLFsxMF06bnVsbH07Xy5LYmE9U3ltYm9sKCJuYyIpO3ZhciBuQj1fLkxBKCk7dmFyIEtDPVNBKCkscWJhPUtDW18uUkEuZGVmYXVsdF0seUI9S0Muc3R5bGUseEI9WyJmb2N1c2luIiwiZm9jdXNvdXQiXSxCQj1TeW1ib2woIm9jIiksQ0I9U3ltYm9sKCJwYyIpLHJiYT0iYW5ub3RhdGlvbi14bWwgY29sb3ItcHJvZmlsZSBmb250LWZhY2UgZm9udC1mYWNlLXNyYyBmb250LWZhY2UtdXJpIGZvbnQtZmFjZS1mb3JtYXQgZm9udC1mYWNlLW5hbWUgbWlzc2luZy1nbHlwaCIuc3BsaXQoIiAiKTt2YXIgSkI7SkI9SEI7Xy5XQj1TeW1ib2woInRjIik7Xy5MYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9Nb2RlbFJvb3RFbGVtZW50Iik7Xy5NYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9SZW5kZXJlckRhdGEiKTtfLk5iYT1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0luamVjdGluZ0NvbnN0cnVjdG9yIik7Xy5NQj1fLmR1KCJXaXpJbmplY3Rpb25Db250ZXh0X0FwcENvbnRleHQiKTtfLk5CPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfRGlzcGF0Y2hlciIpO18uTEM9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9Sb290RWxlbWVudCIpO18uT2JhPV8uZHUoIldpekluamVjdGlvbkNvbnRleHRfQXN5bmNEZXBzIik7Xy5QYmE9Xy5kdSgiV2l6SW5qZWN0aW9uQ29udGV4dF9PYmplY3RDcmVhdGlvblRyYWNrZXIiKTtfLk9CPXt9O18uVkI9e01LOlNCLGNMOlNCLGxvZzpTQixSSjpUQix2eTpUQixmSjooYSxiKT0+e2IoKX19O18uTUM9bnVsbDtfLm1DPWNsYXNzIGV4dGVuZHMgb0N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhKTt0aGlzLm89Yjt0aGlzLlpmPVtdO3RoaXMuQj0wO3RoaXMuRD1fLnV2KGM9Pnt0aGlzLnFsPWM7Xy5ZdSgoKT0+e2hDKHRoaXMsdGhpcy5lbCl9KX0sXy5LdS5yaXx8ISFfLlp0KX1vYyhhKXt2YXIgYj1fLk1DO18uTUM9dGhpczt0aGlzLkI9MDt2YXIgYz1fLmt1KF8uenYpLGQ9Xy4kdCh0aGlzLnFsKTt0cnl7cmV0dXJuIHRoaXMubyhhKX1maW5hbGx5e18uJHQoZCksXy5rdShjKSxfLk1DPWJ9fWdldCBjb21wb25lbnROYW1lKCl7cmV0dXJuIF8uRkEodGhpcy5vKX19O3ZhciB4YmE7Xy5uQz1TeW1ib2woIkNjIik7eGJhPWNsYXNzIGV4dGVuZHMgXy5kQ3tjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoKTt0aGlzLmtpbmQ9YTt0aGlzLnByb3BzPWI7dGhpcy5jaGlsZHJlbj1jfW9jKCl7dmFyIGE9a0ModGhpcy5raW5kLHRoaXMucHJvcHMsdGhpcy5jaGlsZHJlbik7aWYodGhpcy5DbyE9bnVsbClmb3IobGV0IGIgb2YgdGhpcy5DbylhPWIoYSk7cmV0dXJuIGF9fTt2YXIgcUM9W107Xy53dT1hPT57dGhyb3cgXy5VdShFcnJvcigiYmJgIithLmRlYnVnTmFtZSksNCk7fTsoZnVuY3Rpb24oKXt2YXIgYT1fLmNCO18uY0I9Yj0+e2E/LihiKTt6YmEoYil9fSkoKTt2YXIgQ2JhPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPXt9KXt2YXIgZD1fLnVDKCk7dGhpcy5uYW1lPWE7dGhpcy5pZD1kLlV5Kys7dGhpcy5zZXNzaW9uSWQ9ZC5zZXNzaW9uSWQ7dGhpcy5hdHRyaWJ1dGVzPWI7dGhpcy5zdGF0dXM9IlNQQU5fU1RBVFVTX1VOU0VUIjt0aGlzLnN0YXJ0VGltZT1jLnN0YXJ0VGltZT8/KDAsXy5lbCkoKTt0aGlzLmo9Yy5hY3RpdmU7aWYoYT12QygpKXRoaXMucGFyZW50SWQ9YS5pZCxhLmNoaWxkcmVufHwoYS5jaGlsZHJlbj1bXSksYS5jaGlsZHJlbi5wdXNoKHRoaXMpO2ZvcihsZXQgZSBvZiBkLnByb2Nlc3NvcnMpdHJ5e2UuR20/Lih0aGlzKX1jYXRjaChmKXtfLklwKGYpfWMuZW5kVGltZSE9bnVsbCYmKHRoaXMuaj0hMSx0aGlzLmVuZCgiU1BBTl9TVEFUVVNfT0siLGMuZW5kVGltZSkpfWVuZChhPSJTUEFOX1NUQVRVU19PSyIsYj0oMCxfLmVsKSgpKXt2YXIgYz1fLnVDKCk7dGhpcy5lbmRUaW1lPWI7dGhpcy5kdXJhdGlvbj10aGlzLmVuZFRpbWUtCnRoaXMuc3RhcnRUaW1lO3RoaXMuc3RhdHVzPWE7dGhpcy5qIT09ITEmJih2QygpPT09dGhpcz9jLnN0YWNrLnBvcCgpOl8uSXAoRXJyb3IoIkRjYCIrU3RyaW5nKHRoaXMubmFtZSkpKSk7Zm9yKGxldCBkIG9mIGMucHJvY2Vzc29ycyl0cnl7ZC5scj8uKHRoaXMpfWNhdGNoKGUpe18uSXAoZSl9fURlKGEpe09iamVjdC5hc3NpZ24odGhpcy5hdHRyaWJ1dGVzLGEpfX0seEM9e2VuZCgpe30sRGUoKXt9fSx0QyxCYmE9e1d6KCl7cmV0dXJuIF8udUMoKS5zdGFja1swXX19O3ZhciBCQz12b2lkIDA7dmFyIEliYT0iSURPTSBpbnRlcm9wIHNldHRlciB1bmRlZmluZWQuIEtleToiLEhiYT0iQ2FsbGJhY2sgZGV0ZWN0ZWQgdGhhdCB3YXMgbm90IHNldCBpbiB0aGUgaWRvbUNvbXBhdCBjYWxsYmFja3MgbWFwLiBLZXk6IjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFJiYSxRYmE7UmJhPWZ1bmN0aW9uKGEpe3ZhciBiPU9iamVjdC5jcmVhdGUoUWJhKTtiLlRnPWE7YT0oKT0+e18ucnUoYik7Xy5wdShiKTtpZihiLnZhbHVlPT09Xy5Jdil0aHJvdyBiLmVycm9yO3JldHVybiBiLnZhbHVlfTthW18uWnVdPWI7cmV0dXJuIGF9O18uTj1mdW5jdGlvbihhLGIsYz0iIil7dmFyIGQ9UmJhKGEpO2E9ZFtfLlp1XTthLmRlYnVnTmFtZT1fLmV1KGI/LmRlYnVnTmFtZSxjLCJbY29tcHV0ZWRdIik7Yj8uZXF1YWxzIT1udWxsJiYoYS5lcXVhbD1iLmVxdWFscyk7cmV0dXJuIGR9OwpRYmE9ey4uLl8uWHUsdmFsdWU6Xy5HdixQYjohMCxlcnJvcjpudWxsLGVxdWFsOl8uaXUsa2luZDoiY29tcHV0ZWQiLFhtKGEpe3JldHVybiBhLnZhbHVlPT09Xy5Hdnx8YS52YWx1ZT09PV8uSHZ9LFltKGEpe2lmKGEudmFsdWU9PT1fLkh2KXRocm93IEVycm9yKCJoIik7dmFyIGI9YS52YWx1ZTthLnZhbHVlPV8uSHY7dmFyIGM9Xy50dShhKSxkPSExO3RyeXt2YXIgZT1hLlRnKCk7Xy5rdShudWxsKTtkPWIhPT1fLkd2JiZiIT09Xy5JdiYmZSE9PV8uSXYmJmEuZXF1YWwoYixlKX1jYXRjaChmKXtlPV8uSXYsYS5lcnJvcj1mfWZpbmFsbHl7Xy5rdShjKSxhJiZfLnZ1KGEpfWQ/YS52YWx1ZT1iOihhLnZhbHVlPWUsYS52ZXJzaW9uKyspfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBTYmE7Xy5OQz1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9YSgpO2lmKCFjKXtsZXQgZD1FcnJvcigiT2NgIitiKTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShkLDIsYik7fSl9cmV0dXJuIGN9fTtfLk89ZnVuY3Rpb24oYSl7cmV0dXJuIFNiYShhKX07ClNiYT1mdW5jdGlvbihhKXtpZihhLkE9PT12b2lkIDApcmV0dXJuIGEuVz8uKCk7aWYodHlwZW9mIGEuQSE9PSJmdW5jdGlvbiIpe2xldCBlPWEudGhlbixmPWEuVyxoPWEuQTtyZXR1cm4gaD9lKGgpOmY/LigpfXZhciBiPWEuQSxjPV8uTigoKT0+ISFiKCksdm9pZCAwLCJCalFSUSIpLGQ9Xy5OQyhiLCJJZiIpO3JldHVybiBfLlhCKCgpPT57dmFyIGU9YygpLGY7Xy51digoKT0+e3ZhciBoPV8ua3UoXy56dik7dHJ5e2Y9Xy5mQyhlP2EudGhlbihkKTphLlc/LigpKX1maW5hbGx5e18ua3UoaCl9fSwhMCk7cmV0dXJuIGZ9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8iUmxEdWRkIix6cDphLnRoZW4sV2U6ITB9KX07Xy5XQz1uZXcgTWFwO18uWEM9U3ltYm9sKCJOYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtHPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ0EoMSk7aWYoKDAsXy5sdikoYikpdGhyb3cgRXJyb3IoImliIik7cmV0dXJuIF8uaHUoYSxiKX07Xy5tRz1mdW5jdGlvbigpe3JldHVybiBfLlp0P18ua0coXy5sRyk6dm9pZCAwfTtfLmZkYT1TeW1ib2woIiRjIik7Xy5nZGE9U3ltYm9sKCJhZCIpO18ubEc9Xy5ndSh7ZGVmYXVsdFZhbHVlOnZvaWQgMH0sInlEcDVPYyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgaGNhO18ubkU9ZnVuY3Rpb24oYSxiKXthPV8ucHYoaGNhLGEsYik7Xy5mdihhKX07aGNhPXsuLi5fLiR2LGVmZmVjdFR5cGU6Xy5kdn07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0g9ZnVuY3Rpb24oYSxiKXthPV8uJHQoYSk7dHJ5e18uRUEoYil9ZmluYWxseXtfLiR0KGEpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0U9ZnVuY3Rpb24oKXtpZihfLkhBKCkpdGhyb3cgRXJyb3IoIkJjIik7cmV0dXJuIF8uTUN9O18ucEU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5vRSgpO2lmKGI9PW51bGwpdGhyb3cgRXJyb3IoIlRjIik7dmFyIGM9Yi5CKys7Yi5aZnx8KGIuWmY9W10pO3ZhciBkPWIuWmY7ZFtjXXx8KGRbY109e2tleTphLGhvc3Q6Yn0pO2lmKGEhPT1kW2NdLmtleSl0aHJvdyBFcnJvcigiU2NgIisoYi5qP2Iuaj8ubmFtZTpiIGluc3RhbmNlb2YgXy5tQz9fLkZBKGIubyk6YDwke2IuZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpfT5gKSk7cmV0dXJuIGRbY119O18ucUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hYXx8YS5sZW5ndGghPT1iPy5sZW5ndGh8fGEuc29tZSgoYyxkKT0+YyE9PWJbZF0pfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGljYSx0RSxqY2Esd0U7aWNhPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwsYyxkPXtDazpudWxsLGdldCB2YWx1ZSgpe2Qudkw/LigpO3JldHVybiBkLkNrfSx2bzohMSxrdTohMSxzZXQgdmFsdWUoZSl7ZC53TD8uKGUpO2QuQ2s9ZTtkLnZvPSEwfSxteihlKXtjJiZlIT09YyYmKGMuX2Rpc3Bvc2VSZWY9dm9pZCAwLGI/LigpKTtjPWU7Yj1hKGUpfHxudWxsfSx1eigpe2I/LigpO2I9ZC52YWx1ZT1udWxsfSxbXy5Ndl06ITB9O3JldHVybiBkfTtfLnNFPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2lmKF8uSEEoKSlyZXR1cm4gYSgpO3ZhciBjPV8ucEUoInVzZU1lbW9JbnRlcm5hbCIpO18ucUUoYy5tbCxiKSYmKGMubWw9YixjLnZhbHVlPWEoKSk7cmV0dXJuIGMudmFsdWV9O18udUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdEUoYSwhMSxiKX07Xy52RT1mdW5jdGlvbihhLGIpe3JldHVybiB0RShhLCEwLGIpfTsKdEU9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLkhBKCk/d0UoYSxiLGMpOmpjYShhLGIsYyl9O2pjYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uc0UoKCk9PndFKGEsYixjKSl9O3dFPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLlp0LGU9aWNhKGY9PntlLnZhbHVlPWY7dmFyIGg9KCgpPT57dmFyIGs9Xy5rdShudWxsKTt0cnl7cmV0dXJuIGM/LihmKX1jYXRjaChsKXtfLm92KGwsZCl9ZmluYWxseXtfLmt1KGspfX0pKCk7cmV0dXJuKCk9PntoPy4oKX19KTtlLmp1PWE7ZS5sdT1iO2Uudko9IV8uSEEoKTtyZXR1cm4gZX07Xy5CRT1TeW1ib2woIldjIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubUY9e1ZiOiExLHN0YXRlOiJ2aXNpYmxlIn07Xy5uRj17VmI6ITEsc3RhdGU6ImhpZGRlbiJ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnBIPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQ0EoKTtyZXR1cm4gYz0+e3ZhciBkPWEub2JzZXJ2ZXI/P18ueSgpLnJlc29sdmUoXy5MeCksZT1jLmpmPz9jLGY9W107YS5lYiYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5OYighMCxjKX0pfSxhLmViKSk7YS5OYyYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5OYighMSxjKX0pfSxhLk5jKSk7YS5MaCYmYS5MaiYmZi5wdXNoKGQub2JzZXJ2ZShjLCgpPT57Xy5vSChiLCgpPT57YS5MaigpfSl9LGEuTGgpKTtlLnZpc2liaWxpdHlNb25pdG9yS2V5cz0oZS52aXNpYmlsaXR5TW9uaXRvcktleXM/P1tdKS5jb25jYXQoZil9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFBEO18uUkQ9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5CKGEsXy5PRCk7aWYoYilyZXR1cm4gYjtpZigoYj1fLkIoYSxXYmEpKSYmYi5jb21tYW5kcylyZXR1cm4gUEQoYi5jb21tYW5kcyk7aWYoKGI9Xy5CKGEsWGJhKSkmJmIuY29tbWFuZHMpcmV0dXJuIFBEKGIuY29tbWFuZHMpO2lmKChhPV8uQihhLFliYSkpJiZhLmlkZW50aWZpZXImJmEuY29tbWFuZCYmKFFEfHwoUUQ9W10pLCFRRC5pbmNsdWRlcyhhLmlkZW50aWZpZXIpKSlyZXR1cm4gUUQucHVzaChhLmlkZW50aWZpZXIpLF8uQihhLmNvbW1hbmQsXy5PRCl9O1BEPWZ1bmN0aW9uKGEpe2lmKGEubGVuZ3RoIT09MCl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpKGE9Xy5SRChjKSkmJmIucHVzaChhKTtyZXR1cm57Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6Yn19fX07Xy5TRD1uZXcgXy5JKCJjb21tYW5kRXhlY3V0b3JDb21tYW5kIik7Xy5PRD1uZXcgXy5JKCJpbm5lcnR1YmVDb21tYW5kIik7dmFyIFdiYT1uZXcgXy5JKCJwYXJhbGxlbENvbW1hbmQiKTt2YXIgWWJhPW5ldyBfLkkoInBlcmZvcm1PbmNlQ29tbWFuZCIpO3ZhciBYYmE9bmV3IF8uSSgic2VyaWFsQ29tbWFuZCIpO3ZhciBRRD12b2lkIDA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEQ9bmV3IF8uSSgicmVlbFdhdGNoRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5VRD1uZXcgXy5WcygiQ09NTUFORF9IQU5ETEVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkQ9bmV3IF8uSSgidXJsRW5kcG9pbnQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFpiYSxkY2EsJGJhLGVjYTtfLldEPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYSgpfWNhdGNoKGIpe18uSXAoYil9fTtfLllEPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm57Zm9ybTp7Y3VycmVudERhdGE6Xy5YRD8ucmVzcG9uc2U/P3t9LHNvdXJjZURhdGE6YSxldmVudDpiPy5ldmVudCxjbGlja2VkVmlzdWFsRWxlbWVudDpiPy5jbGlja2VkVmlzdWFsRWxlbWVudCxpbXBsaWNpdEdlc3R1cmVUeXBlOmI/LmltcGxpY2l0R2VzdHVyZVR5cGUsYXV0b25hdjpiPy5hdXRvbmF2LEJkOmI/LkJkfSxtZDpjfX07Cl8uYkU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5odixjPWEudXgsZD1hLmJoLGU9YS5JZCxmPWEucWQsaD1hLkFvLGs9YS5pbm5lcnR1YmVDb21tYW5kfHxfLlJEKGQpO2lmKGspe2E9e307dmFyIHtScTpsLGhyZWY6bX09Xy5aRChrKTtsJiZtPyhhLmhyZWY9bSxaYmEoYSxsLG0sYiksJGJhKGEsbCksZiYmKGEucWQ9ITApKTooYS5yb2xlPSJidXR0b24iLGEudGFiaW5kZXg9IjAiKTtfLkIoayxhY2EpJiYoYS5hcmlhSGFzUG9wdXA9ITApO2V8fChhLm9uY2xpY2s9bj0+e2wmJm18fG4ucHJldmVudERlZmF1bHQoKTtfLiREKGspO3ZhciBwPXsuLi5fLllEKGsse2V2ZW50Om59KSwuLi5ofTtuLnByZXZlbnREZWZhdWx0KCk7Xy5hRShrLHApO24uc3RvcFByb3BhZ2F0aW9uKCl9LGwmJm18fChhLm9ua2V5ZG93bj1uPT57aWYobi5rZXk9PT0iRW50ZXIifHxuLmtleT09PSIgIiluLnN0b3BQcm9wYWdhdGlvbigpLG4ucHJldmVudERlZmF1bHQoKSxuLmN1cnJlbnRUYXJnZXQuY2xpY2soKX0pKTsKcmV0dXJuey4uLmMsLi4uYX19fTtfLlpEPWZ1bmN0aW9uKGEpe2E9Xy5CKGEsXy5TRCk/LmNvbW1hbmRzfHxbYV07Zm9yKGxldCBiIG9mIGEpaWYoYT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwsXy54KCJ3ZWJfcmVtb3ZlX3dlYl9uYXZpZ2F0aW9uX2VuZHBvaW50X2RhdGEiKXx8KGE9YXx8Xy5CKGIsYmNhKT8udXJsKSxhJiZhIT09Ii9zZXJ2aWNlX2FqYXgiKXtsZXQgYz1fLmJiKGEsY2NhKTtpZihjKXJldHVybiBhPV8uWWEoYykse1JxOmIsaHJlZjphfTtfLklwKG5ldyBfLlhqKCJBdHRyaWJ1dGVkU3RyaW5nIFVSTCBjb3VsZCBub3QgYmUgc2FuaXRpemVkIixhKSl9cmV0dXJue319OwpaYmE9ZnVuY3Rpb24oYSxiLGMsZCl7Yz0hXy5maihjKTtpZihfLkIoYixfLmNFKT8ubm9mb2xsb3d8fF8uQihiLF8uQXcpPy5ub2ZvbGxvd3x8Xy5CKGIsXy5WRCk/Lm5vZm9sbG93fHxfLkIoYixfLlREKT8ubm9mb2xsb3d8fGMpYS5yZWw9Im5vZm9sbG93IjthLnRhcmdldD1kY2EoYixkKX07ZGNhPWZ1bmN0aW9uKGEsYj0iIil7cmV0dXJuIF8uQihhLF8uVkQpPy50YXJnZXQ9PT0iVEFSR0VUX05FV19XSU5ET1ciPyJfYmxhbmsiOmJ9OyRiYT1mdW5jdGlvbihhLGIpe2IuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGEucGFyYW1zPXtpdGN0OmIuY2xpY2tUcmFja2luZ1BhcmFtc30pO2Eub25wb2ludGVyZG93bj1jPT57ZWNhKGMsYil9O2EubnU9Yn07Cl8uJEQ9ZnVuY3Rpb24oYSl7KGEubG9nZ2luZ1VybHN8fFtdKS5mb3JFYWNoKGI9Pnt2YXIgYz1iLmJhc2VVcmw7Yi5hdHRyaWJ1dGlvblNyY01vZGU9PT0iQVRUUklCVVRJT05fU1JDX01PREVfWEhSX09QVElPTiI/KGM9ZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP2MrIiZuaXM9NiI6YysiJm5pcz01IixfLmFuKGMsdm9pZCAwLHZvaWQgMCx2b2lkIDAsIiIsITAsITApKTpfLmFuKGMpfSl9O2VjYT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuY3VycmVudFRhcmdldDthPV8uV0QoKCk9PmMuaHJlZik7Yj1iLmNsaWNrVHJhY2tpbmdQYXJhbXM/e2l0Y3Q6Yi5jbGlja1RyYWNraW5nUGFyYW1zfTp7fTthJiZfLnV6KGEsYiw4LCEwKX07Xy5kRT1mdW5jdGlvbihhLGIpeyhhPV8uUkQoYSkpJiZfLmFFKGEsYil9OwpfLmFFPWZ1bmN0aW9uKGEsYil7Xy5ZdChfLlVELGM9PntiP2MucmVzb2x2ZUNvbW1hbmQoYSxiKTpjLnJlc29sdmVDb21tYW5kKGEpfSl9O18uY0U9bmV3IF8uSSgiYnJvd3NlRW5kcG9pbnQiKTt2YXIgYmNhPW5ldyBfLkkoIndlYk5hdmlnYXRpb25FbmRwb2ludERhdGEiKTt2YXIgYWNhPW5ldyBfLkkoIm1vZGFsRW5kcG9pbnQiKTtfLmZjYT1uZXcgXy5JKCJ1c2VyRmVlZGJhY2tFbmRwb2ludCIpO18uZUU9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmRhdGE9W107dGhpcy5EZj1udWxsfXB1c2goYSl7dGhpcy5EZj90aGlzLkRmKGEpOnRoaXMuZGF0YS5wdXNoKGEpfX07Xy5YRD17fTtfLmZFPV8uSihfLlhELHZvaWQgMCwiVEhST08iKVswXTtfLkoobnVsbCx2b2lkIDAsImN4NFRJZCIpO18uSihudWxsLHZvaWQgMCwiUVhhT3VkIik7Xy5KKCIiLHZvaWQgMCwiRFJXTzljIik7Xy5KKF8ucXooKT8hMTohMCx2b2lkIDAsInZ5enlpZCIpO18uZ0U9bmV3IF8uZUU7dmFyIGNjYT1bXy5JcSxfLkpxLF8uS3EsXy5NcSxfLkxxLF8uR3EsXy5OcSxfLlBxXTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5xSD1mdW5jdGlvbihhKXtpZihhLmNvbXBvc2VkUGF0aClyZXR1cm4gYS5jb21wb3NlZFBhdGgoKTtpZighYS51byl7bGV0IGI9W10sYz1hLnRhcmdldDtmb3IoO2M7KWIucHVzaChjKSxjPWMucGFyZW50Tm9kZTtiLnB1c2god2luZG93KTthLnVvPWJ9cmV0dXJuIGEudW99O18uckg9ZnVuY3Rpb24oYSxiLGMpe2ZvcihsZXQgZCBvZiBhKXtpZihkPT09YilicmVhaztmb3IobGV0IGUgb2YgYylpZihkLnRhZ05hbWU9PT1lfHxkLnJvbGU9PT0iYnV0dG9uIiYmZT09PSJCVVRUT04iKXJldHVybiEwfXJldHVybiExfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEJkYSxDZGEsRGRhLHZILHdILEVkYTtCZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLm9ic2VydmVyPz9fLnkoKS5yZXNvbHZlKF8uTHgpO2lmKGEpe3ZhciBkPWEuamY/P2EsZT1bXTtiLmViJiZlLnB1c2goYy5vYnNlcnZlKGEsKCk9PntiLk5iKCEwLGEpfSxiLmViKSk7Yi5OYyYmZS5wdXNoKGMub2JzZXJ2ZShhLCgpPT57Yi5OYighMSxhKX0sYi5OYykpO2IuTGgmJmIuTGomJmUucHVzaChjLm9ic2VydmUoYSwoKT0+e2IuTGooKX0sYi5MaCkpO2QudmlzaWJpbGl0eU1vbml0b3JLZXlzPShkLnZpc2liaWxpdHlNb25pdG9yS2V5cz8/W10pLmNvbmNhdChlKX19O18udEg9ZnVuY3Rpb24oYSl7cmV0dXJuISFfLnNIKGEpfTtfLnVIPWZ1bmN0aW9uKGEsYixjLGQsZSl7cmV0dXJuIGY9Pnt2YXIgaD1fLm1HKCk7Xy5uRSgoKT0+e2lmKGYpe0NkYShmLGEoKSxlKTt2YXIgaz1EZGEoZixhKCksYixjLGQsaCk7Xy5ZdShrKX19LCJhalFZNiIpfX07CkNkYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dkgoYiksZT13SChiKSxmPWQmJl8ubUYsaD1lJiZfLm5GOyhkfHxlKSYmQmRhKGEse05iOms9Pnt2YXIgbD1fLnkoKS5yZXNvbHZlKF8uVUQpO2smJmQ/KGwucmVzb2x2ZUNvbW1hbmQoZCx7Zm9ybTp7ZWxlbWVudDpjP2E6dm9pZCAwfSxtZDohMH0pLGQ9dkgoYikpOiFrJiZlJiYobC5yZXNvbHZlQ29tbWFuZChlLHtmb3JtOntlbGVtZW50OmM/YTp2b2lkIDB9LG1kOiEwfSksZT13SChiKSl9LGViOmYsTmM6aH0pfTsKRGRhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgaD1uZXcgTWFwO2lmKGI9Xy5zSChiKSlhPWQ/Lm9uVGFwPy52YWx1ZXx8YSxjPUVkYShiLGEsYz8ub25UYXAsZSxmKSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixjKSxoLnNldCgiY2xpY2siLGMpLF8ueCgid2ViX2VuYWJsZV9hZGRpdGlvbmFsX2V2ZW50X2xpc3RlbmVyX2Zvcl90YXBfY29tbWFuZCIpJiYoYz1rPT57dmFyIGw9YS50YWdOYW1lO2w9PT0iQlVUVE9OInx8bD09PSJBInx8bD09PSJJTlBVVCJ8fGsua2V5IT09IkVudGVyIiYmay5rZXkhPT0iICJ8fGUmJl8uckgoXy5xSChrKSxhLGUpfHwoay5wcmV2ZW50RGVmYXVsdCgpLGEuY2xpY2soKSl9LGEuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYyksaC5zZXQoImtleWRvd24iLGMpKTtyZXR1cm4oKT0+e2ZvcihsZXQgW2ssbF1vZiBoKWEucmVtb3ZlRXZlbnRMaXN0ZW5lcihrLGwpfX07Cl8uc0g9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9Xy5CKGEsXy54SCk/Lm9uVGFwKSYmXy5SRChhKX07dkg9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9Xy5CKGEsXy54SCk/Lm9uVmlzaWJsZSkmJl8uUkQoYSl9O3dIPWZ1bmN0aW9uKGEpe3JldHVybihhPV8uQihhLF8ueEgpPy5vbkhpZGRlbikmJl8uUkQoYSl9O18ueUg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUkQoXy5CKGEsXy54SCk/Lm9uSG92ZXJTdGFydCl9O18uekg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uUkQoXy5CKGEsXy54SCk/Lm9uSG92ZXJFbmQpfTtFZGE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1rPT57Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChhLGspfSxoPWs9PntkJiZfLnJIKF8ucUgoayksYixkKXx8ZihrLnRhcmdldD97Zm9ybTp7ZWxlbWVudDprLnRhcmdldCxzb3VyY2VEYXRhOmEsbXV0YXRpb25Db250ZXh0OmV9fTp2b2lkIDApfTtjJiYoaD1rPT57YyhrLGYpfSk7cmV0dXJuIGh9O18ueEg9bmV3IF8uSSgiY29tbWFuZENvbnRleHQiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5qSD1uZXcgXy5WcygiS0VZX01BTkFHRVJfVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5QPWZ1bmN0aW9uKC4uLmEpe3ZhciBiPSEwO2ZvcihsZXQgYyBvZiBhKWlmKHR5cGVvZiBjIT09InN0cmluZyIpe2I9ITE7YnJlYWt9cmV0dXJuIGI/YS5qb2luKCIgIikudHJpbSgpfHx2b2lkIDA6KCk9Pnt2YXIgYz0iIjtmb3IobGV0IGQgb2YgYSlpZih0eXBlb2YgZD09PSJmdW5jdGlvbiImJihkPWQoKSksZClpZih0eXBlb2YgZD09PSJzdHJpbmciKWMrPSIgIitkO2Vsc2UgZm9yKGxldCBlIGluIGQpe2lmKCFkLmhhc093blByb3BlcnR5KGUpKWNvbnRpbnVlO2xldCBmPWRbZV07dHlwZW9mIGY9PT0iZnVuY3Rpb24iJiYoZj1mKCkpO2YmJihjKz0iICIrZSl9Yz1jLnRyaW0oKXx8dm9pZCAwO3JldHVybiBfLkJ2KGMpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrSDtrSD1mdW5jdGlvbihhKXtyZXR1cm4oKT0+YSgpP2EoKTp2b2lkIDB9OwpfLm5IPV8uTChhPT57dmFyIGI9Xy51RSgiYSIsYS5yZWYpLGM9YS51Yz9hLnVjOl8uTigoKT0+Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpfLlJEKGEuY29tbWFuZD8uKCkpPz9hLmNvbW1hbmQ/LigpLElkOmEuSWQ/LigpLGh2OmEudGFyZ2V0Py4oKX0pfHx7fSx2b2lkIDAsIlRBdnowIik7cmV0dXJuIF8uSygiYSIse2VsOmIsaHJlZjooKT0+YygpLmhyZWYscmVsOigpPT5jKCkucmVsLGNsYXNzOigpPT5jKCkuY2xhc3NOYW1lPz9hLmNsYXNzTmFtZT8uKCksc3R5bGU6KCk9PntpZihhLnN0eWxlPy4oKSlyZXR1cm4gYS5zdHlsZSgpO2lmKGEuZGlzYWJsZWQ/LigpKXJldHVybiJwb2ludGVyLWV2ZW50czpub25lIn0sImFyaWEtaGFzcG9wdXAiOigpPT4hIWMoKS5hcmlhSGFzUG9wdXAsImZvcmNlLW5ldy1zdGF0ZSI6a0goKCk9PmMoKS5xZCksdGl0bGU6a0goKCk9PmMoKS50aXRsZT8/YS50aXRsZT8uKCkpLHJvbGU6a0goKCk9PmEucm9sZT8uKCl8fGMoKS5yb2xlKSx0YXJnZXQ6a0goKCk9PgpjKCkudGFyZ2V0KSxkaXI6a0goKCk9PmEuZGlyPy4oKXx8YygpLmRpciksdGFiaW5kZXg6KCk9PmMoKS50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYygpLnRhYmluZGV4KTphLnRhYkluZGV4Py4oKSwiYXJpYS1oaWRkZW4iOigpPT5jKCkuYXJpYUhpZGRlbj8/YS5hcmlhSGlkZGVuPy4oKSwiYXJpYS1sYWJlbCI6KCk9PmMoKS5hcmlhTGFiZWw/P2EuYXJpYUxhYmVsPy4oKSwiYXJpYS1jdXJyZW50IjphLmFyaWFDdXJyZW50LCJhcmlhLWRpc2FibGVkIjphLmRpc2FibGVkLCJhcmlhLWV4cGFuZGVkIjphLmFyaWFFeHBhbmRlZCwiYXJpYS1sYWJlbGxlZGJ5IjphLkhvLCJhcmlhLWRlc2NyaWJlZGJ5IjphLkhlLCJhcmlhLXNlbGVjdGVkIjphLmFyaWFTZWxlY3RlZCwidGFiLWlkZW50aWZpZXIiOmEudGFiSWRlbnRpZmllciwib246cG9pbnRlcmRvd24iOmZ1bmN0aW9uKGQpe2MoKS5vbnBvaW50ZXJkb3duPy4oZCl9LCJvbjpjbGljayI6ZnVuY3Rpb24oZCl7YygpLm9uY2xpY2s/LihkKTsKYS5vbkNsaWNrPy4oZCl9LCJvbjpmb2N1c2luIjphLmR6LCJvbjpmb2N1c291dCI6YS5leiwib246bW91c2VlbnRlciI6ZnVuY3Rpb24oZCl7YS5vbkhvdmVyPy4oZCk7YS5pej8uKGQpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oZCl7YS5qej8uKGQpfSwib246a2V5ZG93biI6ZnVuY3Rpb24oZCl7YygpLm9ua2V5ZG93bj8uKGQpfX0sYS5jaGlsZHJlbil9LCJ0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkM9Xy5MKCh7Y29tbWFuZDphLHJlbmRlcmVyQ29udGV4dDpiLGNoaWxkcmVuOmMsY2xhc3NOYW1lOmQsWnY6ZSxzdHlsZTpmLG9uQ2xpY2s6aCxhcmlhQ3VycmVudDprLEhlOmwsYXJpYUhpZGRlbjptLGFyaWFMYWJlbDpuLEhvOnAsYXJpYVNlbGVjdGVkOnIsZGlzYWJsZWQ6dCxkaXI6dix0YWJJbmRleDp6LHRhcmdldDpFLHRpdGxlOkEsdG9nZ2xlYWJsZTpGLHRvZ2dsZWQ6Q30pPT57ZnVuY3Rpb24gRyhtYSl7dmFyIHRhPV8uc0goYj8uKCkpPz9hPy4oKTtpZih0YSl7bGV0IFQ9bWEudGFyZ2V0P3tmb3JtOntlbGVtZW50Om1hLnRhcmdldCxzb3VyY2VEYXRhOnRhLG11dGF0aW9uQ29udGV4dDpVfX06dm9pZCAwO18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQodGEsVCl9aD8uKG1hKX1mdW5jdGlvbiBEKCl7b2EoUz8uWGUoKT8/ITEpfWZ1bmN0aW9uIEgoKXtvYSghMSl9ZnVuY3Rpb24gUigpe3ZhciBtYT1fLnlIKGI/LigpKTttYSYmXy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChtYSl9CmZ1bmN0aW9uIE0oKXt2YXIgbWE9Xy56SChiPy4oKSk7bWEmJl8ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQobWEpfXZhciBTPV8ueSgpLnJlc29sdmUoXy5JbihfLmpIKSksW1kscGFdPV8uSighMSx2b2lkIDAsIlROTEpFYyIpLG9hPXBhLFU9Xy5tRygpLGhhPSgpPT5GPy4oKT9DPy4oKTp2b2lkIDA7cmV0dXJuIF8uSyhfLk8se0E6ZnVuY3Rpb24oKXt2YXIgbWE9Xy5zSChiPy4oKSk/P2E/LigpLHRhO2lmKHRhPW1hKXtsZXQge1JxOlQsaHJlZjpiYX09Xy5aRChtYSk7dGE9ISghVHx8IWJhKX1yZXR1cm4gdGF9LHRoZW46KCk9Pl8uSyhfLm5ILHtjb21tYW5kOmEsc3R5bGU6ZixIZTpsLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6bixIbzpwLGFyaWFTZWxlY3RlZDpyLGRpc2FibGVkOnQsZGlyOnYsdGFiSW5kZXg6eix0YXJnZXQ6RSx0aXRsZTpBLG9uQ2xpY2s6aCxjbGFzc05hbWU6Xy5QKCJ5dEJ1dHRvbk9yQW5jaG9ySG9zdCIsInl0QnV0dG9uT3JBbmNob3JBbmNob3IiLApkLCgpPT5ZKCk/ZT8uKCk6IiIpLGR6OkQsZXo6SCxpejpSLGp6Ok0sYXJpYUN1cnJlbnQ6KCk9Pms/LigpPz9oYSgpfSxjKSxXOigpPT5fLksoImJ1dHRvbiIseyJvbjpjbGljayI6Rywib246Zm9jdXNpbiI6RCwib246Zm9jdXNvdXQiOkgsIm9uOm1vdXNlZW50ZXIiOlIsIm9uOm1vdXNlbGVhdmUiOk0sY2xhc3M6Xy5QKCJ5dEJ1dHRvbk9yQW5jaG9ySG9zdCIsInl0QnV0dG9uT3JBbmNob3JCdXR0b24iLGQsKCk9PlkoKT9lPy4oKToiIiksc3R5bGU6ZiwiYXJpYS1kZXNjcmliZWRieSI6bCwiYXJpYS1oaWRkZW4iOm0sImFyaWEtbGFiZWwiOm4sImFyaWEtbGFiZWxsZWRieSI6cCwiYXJpYS1wcmVzc2VkIjpoYSxkaXI6dixkaXNhYmxlZDp0LHRhYmluZGV4OigpPT56Py4oKT8/KChfLk9rfHxfLnJ6KCkpJiZfLngoIndlYl9lbmFibGVfc2FmYXJpX2J1dHRvbl90YWJpbmRleF9maXgiKT8wOnZvaWQgMCksdGl0bGU6QX0sYyl9KX0sInYiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiWlFLeDEiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5JRT1mdW5jdGlvbiguLi5hKXtyZXR1cm4oKT0+e3ZhciBiPSIiO2ZvcihsZXQgYyBvZiBhKXtsZXQgZD10eXBlb2YgYz09PSJmdW5jdGlvbiI/YygpOmM7aWYoZClmb3IobGV0IGUgaW4gZCl7bGV0IGY9ZFtlXTtmb3IoO3R5cGVvZiBmPT09ImZ1bmN0aW9uIjspZj1mKCk7ZiE9PXZvaWQgMCYmZiE9PW51bGwmJihiKz1gOyAke2V9OiAke2Z9YCl9fXJldHVybiBiLmxlbmd0aD4wP18uQnYoYi5zbGljZSgyKSk6Xy5CdigpfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uckY9ZnVuY3Rpb24oLi4uYSl7cmV0dXJuIF8udkUoXy5CRSxiPT57dmFyIGM9YS5tYXAoZD0+ZD8uKGIpKTtyZXR1cm4oKT0+dm9pZCBjLmZvckVhY2goZD0+dm9pZCBkPy4oKSl9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaEs9ZnVuY3Rpb24oKXtnS3x8KGdLPW5ldyBMZWEpO3JldHVybiBnS307dmFyIE1lYT1fLkwoYT0+e2Z1bmN0aW9uIGIoaGEpe2lmKGhhKXt2YXIgbWE9TS5nZXQoaGEpO21hJiYobWEuY2FuY2VsKCksTS5kZWxldGUoaGEpKTtmb3IobGV0IHRhIG9mIGhhLmdldEFuaW1hdGlvbnMoKSl0YS5jYW5jZWwoKX19ZnVuY3Rpb24gYyhoYSxtYSx0YSl7bWE9Xy5qZi5HYShtYSwzLHRhKTtTLnNldChoYSxtYSl9ZnVuY3Rpb24gZCgpe20oITEpO2lmKFIpe3ZhciBoYT1SO1I9bnVsbDt2YXIgbWE9RGF0ZS5ub3coKS1HO2MoaGEsKCk9PntTLmRlbGV0ZShoYSk7dmFyIHt3aWR0aDp0YSxoZWlnaHQ6VCxvcGFjaXR5OmJhfT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShoYSksYWE9TnVtYmVyLnBhcnNlRmxvYXQodGEpfHwwLE9hPU51bWJlci5wYXJzZUZsb2F0KFQpfHwwLEpiPU51bWJlci5wYXJzZUZsb2F0KGJhKXx8LjU7aGEuc3R5bGUud2lkdGg9YCR7YWF9cHhgO2hhLnN0eWxlLmhlaWdodD1gJHtPYX1weGA7aGEuc3R5bGUub3BhY2l0eT1gJHtKYn1gO2IoaGEpO2FhPQpVPzA6MkUzO2hhLnN0eWxlLnRyYW5zaXRpb249YG9wYWNpdHkgJHthYX1tcyBjdWJpYy1iZXppZXIoMC4yNSwgMSwgMC41LCAxKWA7aGEuc3R5bGUub3BhY2l0eT1oYS5vZmZzZXRXaWR0aD09PS0xPyIxIjoiMCI7YyhoYSwoKT0+e1MuZGVsZXRlKGhhKTtoYS5zdHlsZS5jc3NUZXh0PSIifSxhYSsxMDApfSxNYXRoLm1heCgwLDMwMC1tYSkpfX1mdW5jdGlvbiBlKCl7ZCgpO0M9bnVsbH12YXIge2NsYXNzTmFtZTpmLHN0eWxlOmh9PV8uREMoYSx7Y2xhc3NOYW1lOiIiLHN0eWxlOiJkZWZhdWx0In0pLFtrLGxdPV8uSighMSx2b2lkIDAsIktiVVRqZiIpLG09bCxbbixwXT1fLkoodm9pZCAwLHZvaWQgMCwiR2VGdkVmIiksW3IsdF09Xy5KKHZvaWQgMCx2b2lkIDAsImkzZmRWZSIpLFt2LHpdPV8uSih2b2lkIDAsdm9pZCAwLCJMZWRWNGIiKSxFPV8uckYoKSxBPV8uckYoKSxGPV8uckYoKSxDPW51bGwsRz0wLEQ9MCxIPSEwLFI9bnVsbCxNPW5ldyBNYXAsUz1uZXcgTWFwLFk9MCxwYT0KMCxvYT1udWxsLFU9d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlcztfLll1KCgpPT57Zm9yKGxldCBoYSBvZiBTLnZhbHVlcygpKV8uamYuQWEoaGEpO1MuY2xlYXIoKTtiKEEudmFsdWUpO2IoRi52YWx1ZSk7b2EhPT1udWxsJiZfLmpmLkFhKG9hKX0pO3JldHVybiBfLksoInl0LWxpZ2h0LXRvdWNoLWZlZWRiYWNrLXNoYXBlIix7ZWw6RSxjbGFzczpfLlAoInl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3N0IixmLHt5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlUHJlc3NlZDprLHl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3Zlck92ZXJsYXlEZWZhdWx0OigpPT5oKCk9PT0iZGVmYXVsdCIseXRMaWdodFRvdWNoRmVlZGJhY2tTaGFwZUhvdmVyT3ZlcmxheUludmVyc2U6KCk9PmgoKT09PSJpbnZlcnNlIn0pLCJvbjpwb2ludGVyZW50ZXIiOmZ1bmN0aW9uKCl7dmFyIGhhPUM/PyhDPUUudmFsdWU/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPz8KbnVsbCk7aGEmJnooYCR7KGhhLmhlaWdodHx8MCkqMi41fXB4YCl9LCJvbjpwb2ludGVyZG93biI6ZnVuY3Rpb24oaGEpe3ZhciBtYT1EYXRlLm5vdygpO2lmKCEobWEtRDwxMDApKXtEPW1hO20oITApO3ZhciB0YT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbCk7aWYodGEpe3ZhciBUPWhhLmNsaWVudFgtdGEubGVmdDtoYT1oYS5jbGllbnRZLXRhLnRvcDt2YXIgYmE9TWF0aC5tYXgoKHRhLndpZHRofHwwKSoyLCh0YS5oZWlnaHR8fDApKjguNSksYWE9YmEvNDA4KjE0MDA7dGE9SD9BLnZhbHVlOkYudmFsdWU7SD0hSDtpZihSPXRhKXt0YS5zdHlsZS5jc3NUZXh0PSIiO2IodGEpO2xldCBPYT1TLmdldCh0YSk7T2EhPT12b2lkIDAmJihfLmpmLkFhKE9hKSxTLmRlbGV0ZSh0YSkpO3RhLnN0eWxlLmxlZnQ9YCR7VH1weGA7dGEuc3R5bGUudG9wPWAke2hhfXB4YDtVfHwoVD1uZXcgS2V5ZnJhbWVFZmZlY3QodGEsW3t3aWR0aDoiMHB4IixoZWlnaHQ6IjBweCIsCm9wYWNpdHk6IjAuMzA2In0se3dpZHRoOmAke2JhKi4yNX1weGAsaGVpZ2h0OmAke2JhKi4yNX1weGAsb3BhY2l0eToiMC43NzQiLG9mZnNldDouMjV9LHt3aWR0aDpgJHtiYSouNn1weGAsaGVpZ2h0OmAke2JhKi42fXB4YCxvcGFjaXR5OiIwLjgyOCIsb2Zmc2V0Oi42fSx7d2lkdGg6YCR7YmF9cHhgLGhlaWdodDpgJHtiYX1weGAsb3BhY2l0eToiMC45In1dLHtkdXJhdGlvbjphYSxmaWxsOiJmb3J3YXJkcyIsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4xNywgMC4xNywgMC4xLCAxKSJ9KSxUPW5ldyBBbmltYXRpb24oVCxkb2N1bWVudC50aW1lbGluZSksTS5zZXQodGEsVCksVC5wbGF5KCkpfUc9bWF9fX0sIm9uOnBvaW50ZXJ1cCI6ZCwib246cG9pbnRlcmxlYXZlIjplLCJvbjpwb2ludGVyY2FuY2VsIjplLCJvbjpwb2ludGVybW92ZSI6ZnVuY3Rpb24oaGEpe3ZhciBtYT1DPz8oQz1FLnZhbHVlPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8/bnVsbCk7bWEmJihZPWhhLmNsaWVudFgtCm1hLmxlZnQscGE9aGEuY2xpZW50WS1tYS50b3AsaygpJiYoaGEuY2xpZW50WDxtYS5sZWZ0fHxoYS5jbGllbnRYPm1hLnJpZ2h0fHxoYS5jbGllbnRZPG1hLnRvcHx8aGEuY2xpZW50WT5tYS5ib3R0b20pP2QoKTpvYT09PW51bGwmJihvYT1fLmpmLkdhKCgpPT57b2E9bnVsbDtwKGAke1l9cHhgKTt0KGAke3BhfXB4YCl9LDMpKSl9LCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoImRpdiIse2NsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlSG92ZXJPdmVybGF5In0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVIb3ZlckxpZ2h0IixzdHlsZTpfLklFKHtsZWZ0Om4sdG9wOnIsd2lkdGg6dixoZWlnaHQ6dn0pfSksXy5LKCJkaXYiLHtlbDpBLGNsYXNzOiJ5dExpZ2h0VG91Y2hGZWVkYmFja1NoYXBlVG91Y2hMaWdodCJ9KSxfLksoImRpdiIse2VsOkYsY2xhc3M6Inl0TGlnaHRUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaExpZ2h0In0pKX0sImFhIik7dmFyIExlYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMuaj1uZXcgTWFwO3ZhciBbYSxiXT1fLkooW10sdm9pZCAwLCJJS2ZaQmQiKTt0aGlzLnY9Yjt0aGlzLm89Xy5OKCgpPT57dmFyIGM9YSgpO2ZvcihsZXQgZCBvZiBjKWQuUHk/LigpO3JldHVybiBjLm1hcChkPT5kLmVsZW1lbnQpfSx2b2lkIDAsIlpNUnR3ZCIpfWxhKCl7Z0s9bnVsbDtzdXBlci5sYSgpfX0sZ0s9bnVsbDtfLnlFPV8uTChhPT57dmFyIGI9Xy52RShfLkJFKSxbYyxkXT1fLkooe3g6MCx5OjAsb3BhY2l0eTowLHNpemU6MH0sdm9pZCAwLCJHd1hjRGQiKSxlPSgpPT57aWYoYS5jb25maWcoKT8uamspe3ZhciBoPWIudmFsdWU7aWYoaCl7dmFyIGs9Xy5oSygpLm87dmFyIGw9aygpO2lmKGwubGVuZ3RoKXtsZXQgdD1oLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2s9dC5sZWZ0K3Qud2lkdGgvMjt2YXIgbT10LnRvcCt0LmhlaWdodC8yO2xldCB2PUluZmluaXR5O3ZhciBuPTAscD0wO2xldCB6PTk2O2ZvcihsZXQgRSBvZiBsKXtpZihFPT09aHx8IUUuaXNDb25uZWN0ZWR8fEUub2Zmc2V0UGFyZW50PT09bnVsbCljb250aW51ZTtsPUUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYobC53aWR0aD09PTAmJmwuaGVpZ2h0PT09MCljb250aW51ZTtsZXQgQT1NYXRoLm1heChsLmxlZnQsTWF0aC5taW4oayxsLnJpZ2h0KSksRj1NYXRoLm1heChsLnRvcCxNYXRoLm1pbihtLGwuYm90dG9tKSk7dmFyIHI9CkEtTWF0aC5tYXgodC5sZWZ0LE1hdGgubWluKEEsdC5yaWdodCkpO2xldCBDPUYtTWF0aC5tYXgodC50b3AsTWF0aC5taW4oRix0LmJvdHRvbSkpO3I9cipyK0MqQztyPHYmJih2PXIsbj1BLHA9Rix6PU1hdGgubWF4KGwud2lkdGgsbC5oZWlnaHQpKX1oPU1hdGguc3FydCh2KTtkKGg8MTAwP3t4Om4tayx5OnAtbSxvcGFjaXR5OjEtaC8zMDAsc2l6ZTpNYXRoLm1heCg5Nix6KjIuNSl9Ont4OjAseTowLG9wYWNpdHk6MCxzaXplOjB9KX1lbHNlIGQoe3g6MCx5OjAsb3BhY2l0eTowLHNpemU6MH0pfX19O18ubkUoKCk9PntpZihhLmNvbmZpZygpPy5qayl7dmFyIGg9bmV3IF8uV3QoZSwxMDApLGs9KCk9PntoLnYoKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsayk7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIixrKTtoLmRpc3Bvc2UoKX19fSwiclBZQzFkIik7Xy5uRSgoKT0+e2EuY29uZmlnKCk/LmprJiZlKCl9LCJRcDZQUmQiKTsKdmFyIGY9KCk9PmEuY29uZmlnKCk/LlZhIT09NSYmYS5jb25maWcoKT8uVmEhPT05JiZhLmNvbmZpZygpPy5WYSE9PTY7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LlZhIT09MCYmIV8uZ3IsdGhlbjooKT0+Xy5LKCJ5dC1saWdodC1zaGFwZSIse2VsOmIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsY2xhc3M6Xy5QKCJjb250cmliWXRMaWdodFNoYXBlSG9zdCIsYS5jbGFzc05hbWUse2NvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodDooKT0+ITAsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09MSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT0zLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFNvbGlkSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT0yLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNSaW1MaWdodFRvbmFsSW52ZXJzZTooKT0+CmEuY29uZmlnKCk/LlZhPT09NCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5VG9uYWw6KCk9PmEuY29uZmlnKCk/LlZhPT09OCxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdmVybGF5U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09Nyxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5lOigpPT5hLmNvbmZpZygpPy5WYT09PTUsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1JpbUxpZ2h0T3ZlcmxheU91dGxpbmU6KCk9PmEuY29uZmlnKCk/LlZhPT09OSxjb250cmliWXRMaWdodFNoYXBlU3RhdGljUmltTGlnaHRPdXRsaW5lSW52ZXJzZTooKT0+YS5jb25maWcoKT8uVmE9PT02fSksc3R5bGU6Xy5JRSh7Ii0teXQtbGlnaHQtcmltLWNvbG9yIjooKT0+YS5jb25maWcoKT8uZHYsIi0teXQtbGlnaHQtd2FzaC1vcGFjaXR5IjooKT0+YygpLm9wYWNpdHksIi0teXQtbGlnaHQtd2FzaC14IjooKT0+YCR7YygpLnh9cHhgLCItLXl0LWxpZ2h0LXdhc2gteSI6KCk9PgpgJHtjKCkueX1weGAsIi0teXQtbGlnaHQtd2FzaC1zaXplIjooKT0+YCR7YygpLnNpemV9cHhgfSl9LF8uSyhfLk8se0E6KCk9PmEuY29uZmlnKCk/LmprLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImNvbnRyaWJZdExpZ2h0U2hhcGVEeW5hbWljV2FzaExpZ2h0In0pfSksXy5LKF8uTyx7QTooKT0+YS5jb25maWcoKT8uQ0IsdGhlbjooKT0+Xy5LKE1lYSx7c3R5bGU6KCk9Pnt2YXIgaDthOntpZihoPWEuY29uZmlnKCk/LlZhKXN3aXRjaChoKXtjYXNlIDE6Y2FzZSA0Omg9ImRlZmF1bHQiO2JyZWFrIGE7Y2FzZSAyOmNhc2UgMzpjYXNlIDU6aD0iaW52ZXJzZSI7YnJlYWsgYX1oPXZvaWQgMH1yZXR1cm4gaH19KX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgiY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodCIse2NvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTYWZhcmk6KCk9Pl8uT2t8fF8uSWwsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodFNvbGlkOigpPT4KYS5jb25maWcoKT8uVmE9PT0xLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT0zLGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRTb2xpZEludmVyc2U6KCk9PmEuY29uZmlnKCk/LlZhPT09Mixjb250cmliWXRMaWdodFNoYXBlU3RhdGljV2FzaExpZ2h0VG9uYWxJbnZlcnNlOigpPT5hLmNvbmZpZygpPy5WYT09PTQsY29udHJpYll0TGlnaHRTaGFwZVN0YXRpY1dhc2hMaWdodE92ZXJsYXlUb25hbDooKT0+YS5jb25maWcoKT8uVmE9PT04LGNvbnRyaWJZdExpZ2h0U2hhcGVTdGF0aWNXYXNoTGlnaHRPdmVybGF5U29saWQ6KCk9PmEuY29uZmlnKCk/LlZhPT09N30pLHN0eWxlOl8uSUUoe2JhY2tncm91bmQ6KCk9PmByYWRpYWwtZ3JhZGllbnQoJHthLmNvbmZpZygpPy5ldn0sIHRyYW5zcGFyZW50KWB9KX0pfSkpfSl9LCJkYSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJudlg0VmIiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhHLGRkYSxjZGEsaUcsakc7Xy5mRz1mdW5jdGlvbihhLGIpe3JldHVybihBcnJheS5pc0FycmF5KGEpP2E6QXJyYXkuZnJvbShhKSkubWFwKGIpfTtfLmdHPWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5wYSE9PSJmdW5jdGlvbiI/Xy5mRyhhLnBhLGEuY2hpbGRyZW4pOmEudGI9PT0iSU5ERVgiP2NkYShhKTpkZGEoYSl9O2hHPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiBhKWI/LigpfTsKZGRhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGI9PT12b2lkIDB8fGEudGI9PT0iUkVGRVJFTkNFIixjPWI/bj0+bjphLnRiLGQ9W10sZT1bXSxmPVtdLGg9W10saz1bXSxsPVtdLG09ITA7Xy5ZdSgoKT0+e2hHKGgpfSk7cmV0dXJuIF8uWEIoKCk9Pnt2YXIgbj1pRyhhKSxwPW4ubGVuZ3RoO2lmKHA9PT0wKXtpZihkLmxlbmd0aD09PTAmJiFtKXJldHVybiBmO2hHKGgpO2Q9bjtlPVtdO2ZvcihuPTA7bjxkLmxlbmd0aDtuKyspZS5wdXNoKGMoZFtuXSkpO2Y9W107aD1bXTtrPVtdO2w9W107YS5mYWxsYmFjayYmKGhbMF09akcoKCk9PntmWzBdPV8uZkMoYS5mYWxsYmFjaygpKX0pKTttPSExO3JldHVybiBmfXZhciByPW5ldyBlZGE7Zm9yKHZhciB0PWQubGVuZ3RoLTE7dD49MDt0LS0pci5wdXNoKGVbdF0sdCk7dD1BcnJheShwKTt2YXIgdj1BcnJheShwKSx6PUFycmF5KHApLEU9QXJyYXkocCksQT1BcnJheShiPzA6cCk7Zm9yKGxldCBGPTA7RjxwO0YrKyl7bGV0IEM9bltGXSxHPWMoQyksCkQ9ci5wb3AoRyk7RCE9bnVsbD8oeltGXT1mW0RdLHZbRl09ZVtEXSx0W0ZdPWhbRF0sRVtGXT1rW0RdLGJ8fChBW0ZdPWxbRF0pLF8uckMoKCk9PntFW0ZdKEYpO2lmKCFiKUFbRl0oQyl9KSxkZWxldGUgaFtEXSk6dFtGXT1qRygoKT0+e3ZhciBIPV8uSihGLHZvaWQgMCwiUExUMXMiKSxSPUhbMF07RVtGXT1IWzFdO3ZbRl09RztpZihiKXpbRl09Xy5mQyhhLmNoaWxkcmVuKEMsUikpO2Vsc2V7bGV0IE09Xy5KKEMsdm9pZCAwLCJiazhSSmQiKSxTPU1bMF07QVtGXT1NWzFdO3pbRl09Xy5mQyhhLmNoaWxkcmVuKFMsUikpfX0pfWhHKGgpO2Q9bjtlPXY7Zj16O2g9dDtrPUU7bD1BO209ITE7cmV0dXJuIHp9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8ibnNUR0hkIix6cDphLnBhLFdlOiEwfSl9OwpjZGE9ZnVuY3Rpb24oYSl7dmFyIGI9W10sYz1bXSxkPVtdLGU9W10sZj0hMTtfLll1KCgpPT57aEcoZSl9KTtyZXR1cm4gXy5YQigoKT0+e3ZhciBoPWlHKGEpO2YmJmgubGVuZ3RoPjAmJihlLnBvcCgpKCksYi5wb3AoKSxmPSExKTt2YXIgaz1BcnJheShoLmxlbmd0aCk7Zm9yKGxldCBtPTA7bTxoLmxlbmd0aDttKyspe2lmKG08Yi5sZW5ndGgpe2JbbV0hPT1oW21dJiYoXy5yQygoKT0+dm9pZCBjW21dKGhbbV0pKSxiW21dPWhbbV0pO2tbbV09ZFttXTtjb250aW51ZX12YXIgbD1qRygoKT0+e2JbbV09aFttXTt2YXIgbj1fLkooaFttXSx2b2lkIDAsInVpQzBjYiIpLHA9blswXTtjW21dPW5bMV07a1ttXT1fLmZDKGEuY2hpbGRyZW4ocCxtKSl9KTtlW21dPWx9Zm9yKDtiLmxlbmd0aD5oLmxlbmd0aDspYi5wb3AoKSxlLnBvcCgpKCksYy5wb3AoKTtoLmxlbmd0aD09PTAmJiFmJiZhLmZhbGxiYWNrJiYobD1qRygoKT0+e2tbMF09Xy5mQyhhLmZhbGxiYWNrKCkpfSksZVswXT1sLGY9CiEwKTtyZXR1cm4gZD1rfSx7ZGVidWdOYW1lOmEuZGVidWdJbnN0YW5jZT8/Im5zVEdIZCIsV2U6ITB9KX07aUc9ZnVuY3Rpb24oYSl7YT1hLnBhKCk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpBcnJheS5mcm9tKGEpfTtqRz1mdW5jdGlvbihhKXt2YXIgYj1fLkNBKCk7cmV0dXJuIF8udXYoYz0+e3ZhciBkPV8ua3UoXy56dik7dHJ5e2MucGFyZW50PWIsYShjKX1maW5hbGx5e18ua3UoZCl9fSwhMSl9O3ZhciBlZGE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcD1uZXcgTWFwfXB1c2goYSxiKXt2YXIgYz10aGlzLm1hcDtpZihjLmhhcyhhKSl7dGhpcy5qfHwodGhpcy5qPW5ldyBNYXApO2lmKHRoaXMuaj8uaGFzKGIpKXRocm93IF8uVXUoRXJyb3IoIlpjYCIrYiksNCk7dGhpcy5qLnNldChiLGMuZ2V0KGEpKX1jLnNldChhLGIpfXBvcChhKXt2YXIgYj10aGlzLm1hcCxjPWIuZ2V0KGEpO2MhPT12b2lkIDAmJnRoaXMuaj8uaGFzKGMpPyhiLnNldChhLHRoaXMuai5nZXQoYykpLHRoaXMuai5kZWxldGUoYykpOmIuZGVsZXRlKGEpO3JldHVybiBjfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrY2EsbGNhLEZFLEdFO18uQ0U9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uREU9ZnVuY3Rpb24oYSl7cmV0dXJue2lzRGVmYXVsdDohMCxjaGlsZHJlbjphLmNoaWxkcmVufX07Xy5FRT1mdW5jdGlvbihhKXtyZXR1cm4ga2NhKGEpfTsKa2NhPWZ1bmN0aW9uKGEpe3ZhciBiPWxjYShhKSxjPV8uTigoKT0+e2E6e3ZhciBkPS0xO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7ZSsrKXtsZXQgZj1iW2VdO2Y/LltfLkx2XSYmKGY9RkUoZikpO2YgaW5zdGFuY2VvZiBfLmRDJiYoZj1HRShmKSk7aWYoZi5pc0RlZmF1bHQpZD09PS0xJiYoZD1lKTtlbHNlIGlmKF8uQnYoZi53aGVuKSl7ZD1lO2JyZWFrIGF9fX1yZXR1cm4gZH0sdm9pZCAwLCJNU1R4V2IiKTtyZXR1cm4gXy5YQigoKT0+e3ZhciBkPWMoKSxlO18udXYoKCk9Pnt2YXIgZj1fLmt1KF8uenYpO3RyeXtpZihkPT09LTEpZT1udWxsO2Vsc2V7dmFyIGg9YltkXTt2YXIgaz1oPy5bXy5Mdl0/RkUoaCk6aCBpbnN0YW5jZW9mIF8uZEM/R0UoaCk6aDt2YXIgbD1rPT09bnVsbD9udWxsOmsuaXNEZWZhdWx0P2suY2hpbGRyZW4oKTp0eXBlb2Ygay53aGVuPT09ImZ1bmN0aW9uIj9rLmNoaWxkcmVuKF8uTkMoay53aGVuLCJDYXNlIikpOmsuY2hpbGRyZW4oay53aGVuKTtlPV8uZkMobCl9fWZpbmFsbHl7Xy5rdShmKX19KTsKcmV0dXJuIGV9LHtkZWJ1Z05hbWU6YS5kZWJ1Z0luc3RhbmNlPz8idkkxcnRmIixXZTohMH0pfTtsY2E9ZnVuY3Rpb24oYSl7YT1hLmNoaWxkcmVuO3JldHVybiBBcnJheS5pc0FycmF5KGEpP2E6W2FdfTtGRT1mdW5jdGlvbihhKXtyZXR1cm4gYS50eXBlPT09Xy5ERT97aXNEZWZhdWx0OiEwLGNoaWxkcmVuOmEuY2hpbGRyZW5bMF19Ont3aGVuOmEucHJvcHMud2hlbixjaGlsZHJlbjphLmNoaWxkcmVuWzBdfX07R0U9ZnVuY3Rpb24oYSl7dmFyIGI9YS5wcm9wczthPWEuY2hpbGRyZW5bMF07cmV0dXJuIGIud2hlbj97d2hlbjpiLndoZW4sY2hpbGRyZW46YX06e2lzRGVmYXVsdDohMCxjaGlsZHJlbjphfX07Xy5DRS5kZWJ1Z05hbWU9InRiaE1jZiI7Xy5ERS5kZWJ1Z05hbWU9Inp5TUZ6YiI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBEY2E7RGNhPWZ1bmN0aW9uKGEpe3N3aXRjaChhLlpxKXtjYXNlIF8uUXY6Xy5Vdi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5acSx2b2lkIDApfX07Xy5vRj1mdW5jdGlvbihhKXtpZihfLmp1PT09Xy5XdSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigieWIiKSwyKTt9KTtlbHNle2lmKCgwLF8ubHYpKF8uanUpKXRocm93IF8uVXUoRXJyb3IoInpiIiksNCk7dmFyIGI9Xy5adCxjPV8uTXU7RGNhKHtacTpfLlF2LHJ1bjooKT0+e2lmKGImJiFiLmlhKXt2YXIgZD1fLiR0KGIpO3RyeXtfLlJ1KCgpPT57dmFyIGU9YSgpO3R5cGVvZiBlPT09ImZ1bmN0aW9uIiYmXy5ZdShlKX0sYyl9Y2F0Y2goZSl7Xy5VdShlLDQpLF8ub3YoZSl9ZmluYWxseXtfLiR0KGQpfX19fSl9fTtfLktCPV8ubEM7Xy5xRj1TeW1ib2woIlhjIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBXSixWSjtfLlRKPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5wRSgib25DaGFuZ2UiKSxkPV8ub0UoKTtfLnFFKGMubWwsYikmJihjLm1sPWIsYy5zcj1hLGQudWZ8fChkLnVmPVtdKSxkLnVmLnB1c2goYykpfTtfLlVKPWZ1bmN0aW9uKGEpe18uSEEoKT9fLm9GKCgpPT5fLkVBKGEpKTpfLlRKKCgpPT5fLkVBKGEpLFtdKX07V0o9ZnVuY3Rpb24oYSl7dmFyIGI9Wy4uLmFdO2EubGVuZ3RoPTA7Zm9yKGxldCBjIG9mIGIpaWYoVkooYyksYT1jLnNyLGMuc3I9bnVsbCxhPWE/LigpKWMucnI9YX07Vko9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ycjthLnJyPW51bGw7Yj8uKCl9O18uZHcoe1NvKGEpe3ZhciBiPV8uJHQoYS5xbCk7dHJ5e2EudWY/Lmxlbmd0aCYmV0ooYS51Zil9ZmluYWxseXtfLiR0KGIpfX0sR2YoYSl7dmFyIGI9Xy4kdChhLnFsKTt0cnl7YS51Zj8ubGVuZ3RoJiZXSihhLnVmKX1maW5hbGx5e18uJHQoYil9fSxIZihhKXthLlpmPy5sZW5ndGgmJmEuWmYuZm9yRWFjaChWSil9fSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYUQ9bnVsbDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGhkYSxpZGEsa2RhLG1kYSxxRyxuZGEsc0csckcsdUcsd0csdkcseEcsdEcsb2RhLHBkYSxzZGEsQkcsdGRhLEFHLHJkYSxxZGEsamRhLGxkYTtoZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLmFELGQ9MDtfLmFEPXtzdTooKT0+e2QrKztfLnJDKCgpPT57YSghMSl9KX0sSHI6KCk9PnstLWQ9PT0wJiZfLnJDKCgpPT57YSghMCl9KX19O3RyeXtyZXR1cm4gYigpfWZpbmFsbHl7Xy5hRD1jfX07aWRhPWZ1bmN0aW9uKGEpe3ZhciBbYixjXT1fLkooITAsdm9pZCAwLCJiS3RPNmQiKTtyZXR1cm4gaGRhKGMsKCk9Pnt2YXIgZD1fLmZDKGEuY2hpbGRyZW4oKSk7cmV0dXJuIF8uSyhfLk8se0E6Yix0aGVuOigpPT5kLFc6YS5mYWxsYmFja30pfSl9OwpfLm5HPWZ1bmN0aW9uKHtjaGlsZHJlbjphLEVmOmIsY2FsbGJhY2tzOmN9KXt2YXIgZD1uZXcgTWFwO2I9Yj8/W107Zm9yKGxldCBlIG9mIGIpZC5zZXQoZS5pZC5DYi50b2tlbixlKTtjPWM/P1tdO2ZvcihsZXQgZSBvZiBjKWQuc2V0KGUuaWQuQ2IudG9rZW4sZSk7ZD1PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoamRhKSx7ZGVidWdOYW1lOiJbY29udGV4dE93bmVyXSIsZW50cmllczpkfSk7Xy5CdShkKTtkPV8uJHQoZCk7dHJ5e2xldCBlPV8uZkMoYSk7cmV0dXJuIF8uSyhfLklCLG51bGwsZSl9ZmluYWxseXtfLiR0KGQpfX07Xy5vRz1mdW5jdGlvbihhLGIpe3JldHVybntbXy5nZGFdOiEwLGlkOmEsdmFsdWU6Yn19O2tkYT1mdW5jdGlvbih7U2c6YX0pe3JldHVybiBfLksoXy5JQixudWxsLGEoKSl9O18ucEc9ZnVuY3Rpb24oYSxiKXthPXsuLi5hLHBhcmVudDpfLm1HKCl9O3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coXy5sRyxhKV19LF8uSyhrZGEse1NnOmJ9KSl9OwptZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IGxkYShhLGIpfTtxRz1mdW5jdGlvbihhLGIpe3RoaXMubz17fTt0aGlzLmo9W107dGhpcy5BZT10aGlzLnNpemU9MDt2YXIgYz1hcmd1bWVudHMubGVuZ3RoO2lmKGM+MSl7aWYoYyUyKXRocm93IEVycm9yKCJiZCIpO2Zvcih2YXIgZD0wO2Q8YztkKz0yKXRoaXMuc2V0KGFyZ3VtZW50c1tkXSxhcmd1bWVudHNbZCsxXSl9ZWxzZSBpZihhKWlmKGEgaW5zdGFuY2VvZiBxRylmb3IoYz1hLnJkKCksZD0wO2Q8Yy5sZW5ndGg7ZCsrKXRoaXMuc2V0KGNbZF0sYS5nZXQoY1tkXSkpO2Vsc2UgZm9yKGQgaW4gYSl0aGlzLnNldChkLGFbZF0pfTtuZGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWJ9OwpzRz1mdW5jdGlvbihhKXtpZihhLnNpemUhPWEuai5sZW5ndGgpe2Zvcih2YXIgYj0wLGM9MDtiPGEuai5sZW5ndGg7KXt2YXIgZD1hLmpbYl07ckcoYS5vLGQpJiYoYS5qW2MrK109ZCk7YisrfWEuai5sZW5ndGg9Y31pZihhLnNpemUhPWEuai5sZW5ndGgpe2I9e307Zm9yKGQ9Yz0wO2M8YS5qLmxlbmd0aDspe2xldCBlPWEualtjXTtyRyhiLGUpfHwoYS5qW2QrK109ZSxiW2VdPTEpO2MrK31hLmoubGVuZ3RoPWR9fTtyRz1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKX07dUc9ZnVuY3Rpb24oKXt0aGlzLm89bmV3IHFHO3RoaXMuaj1uZXcgdEcoIiIpO3RoaXMuai5uZXh0PXRoaXMuai5VYT10aGlzLmp9O3dHPWZ1bmN0aW9uKGEsYil7aWYoYj1hLm8uZ2V0KGIpKWIucmVtb3ZlKCksdkcoYSxiKTtyZXR1cm4gYn07CnZHPWZ1bmN0aW9uKGEsYil7Yi5uZXh0PWEuai5uZXh0O2IuVWE9YS5qO2Euai5uZXh0PWI7Zm9yKGIubmV4dC5VYT1iO2Euby5zaXplPjEwMDspYS5yZW1vdmVOb2RlKGEuai5VYSl9O3hHPWZ1bmN0aW9uKGEsYil7YS5qIT1iJiZhLnJlbW92ZU5vZGUoYik7cmV0dXJuIGIudmFsdWV9O3RHPWZ1bmN0aW9uKGEsYil7dGhpcy5rZXk9YTt0aGlzLnZhbHVlPWJ9O29kYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT15RztpZihhPT1udWxsfHwhYy5FZylyZXR1cm4gYjtlLmouZ2V0KGEpPT09dm9pZCAwJiZlLmouc2V0KGEsW2IsZD8/W10sITFdKTtjPWUuai5nZXQoYSk7aWYoIWMpcmV0dXJuIGI7dmFyIFtmLGgsa109YztpZihoPy5sZW5ndGgmJmQ/Lmxlbmd0aCYmZC5zb21lKChsLG0pPT5sIT09aFttXSkpcmV0dXJuIGUuai5yZW1vdmUoYSksYjtkPy5sZW5ndGgmJmUuai5zZXQoYSxbZixkLGtdKTtyZXR1cm4gaz9mOmJ9OwpfLnpHPWZ1bmN0aW9uKGEsYj17RWc6ITB9KXtyZXR1cm57TWc6ZnVuY3Rpb24oYyxkKXt2YXIgZT1fLk4oKCk9PmEoYygpKSx2b2lkIDAsIkdtcmJsYiIpLFtmLGhdPV8uQUMoKCk9Pnt2YXIgaz1jKCksbD1lKCksbT1kPy5tYXAobj0+bigpKT8/W107cmV0dXJuIG9kYShsLGssYixtKX0pO18ubkUoKCk9Pnt2YXIgaz1lKCk7ayE9bnVsbCYmKGs9eUcucmVnaXN0ZXIoayxbZixoXSwoKT0+ZD8ubWFwKGw9PmwoKSk/P1tdKSxfLll1KGspKX0sIlVtYWM2YyIpO3JldHVybltmLGZ1bmN0aW9uKGspe2goayk7dmFyIGw9ZSgpO2whPW51bGwmJnlHLnVwZGF0ZShsLCgpPT5rLGIpfV19LGdldERhdGE6ZnVuY3Rpb24oYyl7Yz1hKGMpO3JldHVybiB5Ry5nZXQoYyxiKX0sZ2s6ZnVuY3Rpb24oYyxkKXtjPWEoYyk7cmV0dXJuIHlHLnVwZGF0ZShjLGQsYil9fX07Cl8uVz1mdW5jdGlvbihhKXt2YXIge2RhdGE6YixtYXBwaW5nOmMsd3JhcHBlcjpkLHJLOmV9PXBkYShhKTtxZGEoYixjKTt2YXIgZj0oKT0+QUcoXy5CdihiKSksaD0oKT0+e3ZhciBrPUFHKF8uQnYoYikpLGw9W107Zm9yKGxldCBtIG9mIGspKGs9QkcobSkpJiZsLnB1c2goayk7cmV0dXJuIGx9O3JldHVybiBhLmRhdGE/Xy5LKGlkYSx7ZmFsbGJhY2s6ZX0sKCk9Pl8uSyhfLmdHLHtwYTpofSwoayxsKT0+e3ZhciBtPWQ/cD0+ZCgoKT0+Y1trXShwLGwpLG4sbCk6cD0+Y1trXShwLGwpO20uZGVidWdOYW1lfHwobS5kZWJ1Z05hbWU9U3RyaW5nKGspKTtpZighY1tTdHJpbmcoayldKXJldHVybiBkb2N1bWVudC5jcmVhdGVDb21tZW50KCIiKTttLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZyZGEoU3RyaW5nKGspKTt2YXIgbj1zZGEoZixrLGwpO3JldHVybiBfLksobSx7ZGF0YTpufSl9KSk6Xy5LKF8uSUIsbnVsbCl9OwpwZGE9ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXRJZHx8dGRhKGEuY2hpbGRyZW4pO2lmKCFhLmRhdGF8fCFiKXJldHVybnsuLi5hLG1hcHBpbmc6YS5jaGlsZHJlbn07dmFyIGM9YHN0YW1wZXItJHt1ZGErK31gLGQ9KCk9Pih0eXBlb2YgYS50YXJnZXRJZD09PSJmdW5jdGlvbiI/YS50YXJnZXRJZChjKTphLnRhcmdldElkKT8/YztbYl09dmRhKCgpPT57dmFyIGY9Wy4uLkFHKGEuZGF0YSgpKV07Zi50YXJnZXRJZD1kO3JldHVybiBmfSk7dmFyIGU9ey4uLihfLnkoKS5yZXNvbHZlKF8uSW4od2RhKSl8fHt9KS5BSywuLi5hLmNoaWxkcmVufTtpZihhLkpyKXtsZXQgZj1lLm5vdGlmaWNhdGlvblRleHRSZW5kZXJlcixoPWUubm90aWZpY2F0aW9uTXVsdGlBY3Rpb25SZW5kZXJlcjtmJiYoZS5ub3RpZmljYXRpb25UZXh0UmVuZGVyZXI9KHtkYXRhOmt9LGwpPT5hLkpyKGYoe2RhdGE6a30sbCkpKTtoJiYoZS5ub3RpZmljYXRpb25NdWx0aUFjdGlvblJlbmRlcmVyPSh7ZGF0YTprfSwKbCk9PmEuSnIoaCh7ZGF0YTprfSxsKSkpfXJldHVybnsuLi5hLGRhdGE6YixtYXBwaW5nOmUsd3JhcHBlcjooZixoLGspPT5fLnBHKHt0YXJnZXRJZDpkLFlLOmt9LGEud3JhcHBlcj8oKT0+YS53cmFwcGVyKGYsaCxrKTpmKX19O3NkYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIF8uTigoKT0+e3ZhciBlPWEoKVtjKCldO2lmKGUpZD1lW2JdO2Vsc2UgcmV0dXJuIF8uSXAobmV3IF8uWGooYFN0YW1wZXIgZmFpbGVkIHRvIGZpbmQgJHtTdHJpbmcoYil9IGF0IGluZGV4ICR7YygpfSBvZiBkYXRhIGFycmF5IG9mIGxlbmd0aCAke2EoKS5sZW5ndGh9IChiLzM2NTY0MzM1OSkuIERpZCB5b3UgYWNjZXNzIGEgc2lnbmFsIGFmdGVyIGEgY29tcG9uZW50IGhhcyBiZWVuIGNsZWFuZWQgdXA/YCkpLGQ7cmV0dXJuIGVbYl19LHZvaWQgMCwic0VydGpkIil9OwpCRz1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7Zm9yKGxldCBjIGluIGEpaWYoISghYSkuaGFzT3duUHJvcGVydHkoYykpe2I9YzticmVha31yZXR1cm4gYn07dGRhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhhKSlpZih4ZGEuaW5jbHVkZXMoYil8fHlkYS5pbmNsdWRlcyhiKXx8emRhLmluY2x1ZGVzKGIpKXJldHVybiEwO3JldHVybiExfTtBRz1mdW5jdGlvbihhKXtyZXR1cm4gYT9BcnJheS5pc0FycmF5KGEpJiZhIGluc3RhbmNlb2YgQXJyYXk/YTpbYV06W119O3JkYT1mdW5jdGlvbihhKXtfLngoIndlYl9lbmFibGVfcmVuZGVyZXJfbG9nZ2VyIikmJl8ueSgpLnJlc29sdmUoXy5JbihfLkNHKSk/Lnd5KGEpfTsKcWRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEFkYSkpO2MmJl8ubkUoKCk9Pnt2YXIgZD1BRyhfLkJ2KGEpKSxlPTAsZj0hMTtmb3IodmFyIGggb2YgZCl7ZD1CRyhoKTtpZighZHx8IWJbU3RyaW5nKGQpXSl7Zj0hMDticmVha31lKyt9aD1jLlZLO2Q9Yy5XSztlPjAmJiFmP2gubyhkKCkpOmguaihkKCkpfSwiRGhPVXhlIil9O2pkYT17UmgoYSl7aWYoXy5mdSBpbiBhfHxfLmZkYSBpbiBhKXtsZXQgYj10aGlzLmVudHJpZXMuZ2V0KGEuQ2IudG9rZW4pO2lmKGIhPT12b2lkIDApcmV0dXJuIGIudmFsdWV9cmV0dXJuIHRoaXMucGFyZW50P18uY3UodGhpcy5wYXJlbnQsYSk6Xy5hdX19OwpsZGE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9YVtfLnUuU3ltYm9sLml0ZXJhdG9yXSgpO3RoaXMubz1ifVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXN9bmV4dCgpe3ZhciBhPXRoaXMuai5uZXh0KCk7cmV0dXJue3ZhbHVlOmEuZG9uZT92b2lkIDA6dGhpcy5vLmNhbGwodm9pZCAwLGEudmFsdWUpLGRvbmU6YS5kb25lfX19O18uZz1xRy5wcm90b3R5cGU7Xy5nLk1jPWZ1bmN0aW9uKCl7c0codGhpcyk7dmFyIGE9W107Zm9yKGxldCBiPTA7Yjx0aGlzLmoubGVuZ3RoO2IrKylhLnB1c2godGhpcy5vW3RoaXMualtiXV0pO3JldHVybiBhfTtfLmcucmQ9ZnVuY3Rpb24oKXtzRyh0aGlzKTtyZXR1cm4gdGhpcy5qLmNvbmNhdCgpfTtfLmcuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiByRyh0aGlzLm8sYSl9O18uZy5lcXVhbHM9ZnVuY3Rpb24oYSxiKXtpZih0aGlzPT09YSlyZXR1cm4hMDtpZih0aGlzLnNpemUhPWEuc2l6ZSlyZXR1cm4hMTtiPWJ8fG5kYTtzRyh0aGlzKTt2YXIgYztmb3IobGV0IGQ9MDtjPXRoaXMualtkXTtkKyspaWYoIWIodGhpcy5nZXQoYyksYS5nZXQoYykpKXJldHVybiExO3JldHVybiEwfTtfLmcuaXNFbXB0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNpemU9PTB9O18uZy5jbGVhcj1mdW5jdGlvbigpe3RoaXMubz17fTt0aGlzLkFlPXRoaXMuc2l6ZT10aGlzLmoubGVuZ3RoPTB9OwpfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRlbGV0ZShhKX07Xy5nLmRlbGV0ZT1mdW5jdGlvbihhKXtyZXR1cm4gckcodGhpcy5vLGEpPyhkZWxldGUgdGhpcy5vW2FdLC0tdGhpcy5zaXplLHRoaXMuQWUrKyx0aGlzLmoubGVuZ3RoPjIqdGhpcy5zaXplJiZzRyh0aGlzKSwhMCk6ITF9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gckcodGhpcy5vLGEpP3RoaXMub1thXTpifTtfLmcuc2V0PWZ1bmN0aW9uKGEsYil7ckcodGhpcy5vLGEpfHwodGhpcy5zaXplKz0xLHRoaXMuai5wdXNoKGEpLHRoaXMuQWUrKyk7dGhpcy5vW2FdPWJ9O18uZy5mb3JFYWNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5yZCgpO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKXtsZXQgZT1jW2RdLGY9dGhpcy5nZXQoZSk7YS5jYWxsKGIsZixlLHRoaXMpfX07Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBxRyh0aGlzKX07Xy5nLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zaCh0aGlzLmJkKCEwKSkuaigpfTsKXy5nLnZhbHVlcz1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITEpKS5qKCl9O18uZy5lbnRyaWVzPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztyZXR1cm4gbWRhKHRoaXMua2V5cygpLGZ1bmN0aW9uKGIpe3JldHVybltiLGEuZ2V0KGIpXX0pfTtfLmcuYmQ9ZnVuY3Rpb24oYSl7c0codGhpcyk7dmFyIGI9MCxjPXRoaXMuQWUsZD10aGlzLGU9bmV3IF8ub2g7ZS5uZXh0PWZ1bmN0aW9uKCl7aWYoYyE9ZC5BZSl0aHJvdyBFcnJvcigiY2QiKTtpZihiPj1kLmoubGVuZ3RoKXJldHVybiBfLmFzO3ZhciBmPWQualtiKytdO3JldHVybnt2YWx1ZTphP2Y6ZC5vW2ZdLGRvbmU6ITF9fTtyZXR1cm4gZX07Xy5nPXVHLnByb3RvdHlwZTtfLmcuZ2V0PWZ1bmN0aW9uKGEsYil7cmV0dXJuKGE9d0codGhpcyxhKSk/YS52YWx1ZTpifTtfLmcuc2V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9d0codGhpcyxhKTtjP2MudmFsdWU9YjooYz1uZXcgdEcoYSxiKSx0aGlzLm8uc2V0KGEsYyksdkcodGhpcyxjKSl9O18uZy51ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmoubmV4dC52YWx1ZX07Xy5nLnNoaWZ0PWZ1bmN0aW9uKCl7cmV0dXJuIHhHKHRoaXMsdGhpcy5qLm5leHQpfTtfLmcucG9wPWZ1bmN0aW9uKCl7cmV0dXJuIHhHKHRoaXMsdGhpcy5qLlVhKX07Xy5nLnJlbW92ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10aGlzLm8uZ2V0KGEpKT8odGhpcy5yZW1vdmVOb2RlKGEpLCEwKTohMX07Xy5nLnJlbW92ZU5vZGU9ZnVuY3Rpb24oYSl7YS5yZW1vdmUoKTt0aGlzLm8ucmVtb3ZlKGEua2V5KX07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vLmlzRW1wdHkoKX07Cl8uZy5yZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihhLGIpe3JldHVybiBifSl9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gYX0pfTtfLmcuY29udGFpbnM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gYj09YX0pfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXtmb3IoO3RoaXMuby5zaXplPjA7KXRoaXMucmVtb3ZlTm9kZSh0aGlzLmouVWEpfTtfLmcuZm9yRWFjaD1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz10aGlzLmoubmV4dDtjIT10aGlzLmo7Yz1jLm5leHQpYS5jYWxsKGIsYy52YWx1ZSxjLmtleSx0aGlzKX07Xy5nLm1hcD1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2ZvcihsZXQgZD10aGlzLmoubmV4dDtkIT10aGlzLmo7ZD1kLm5leHQpYy5wdXNoKGEuY2FsbChiLGQudmFsdWUsZC5rZXksdGhpcykpO3JldHVybiBjfTsKXy5nLnNvbWU9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGM9dGhpcy5qLm5leHQ7YyE9dGhpcy5qO2M9Yy5uZXh0KWlmKGEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcykpcmV0dXJuITA7cmV0dXJuITF9O18uZy5ldmVyeT1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz10aGlzLmoubmV4dDtjIT10aGlzLmo7Yz1jLm5leHQpaWYoIWEuY2FsbChiLGMudmFsdWUsYy5rZXksdGhpcykpcmV0dXJuITE7cmV0dXJuITB9O3RHLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt0aGlzLlVhLm5leHQ9dGhpcy5uZXh0O3RoaXMubmV4dC5VYT10aGlzLlVhO2RlbGV0ZSB0aGlzLlVhO2RlbGV0ZSB0aGlzLm5leHR9O3ZhciB5Rz1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm89bmV3IE1hcDt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IHVHfWdldChhLGIpe3ZhciBjPXRoaXMuby5nZXQoYSk7aWYoYylyZXR1cm4gY1swXSgpO2lmKGIuRWcmJmEhPW51bGwpcmV0dXJuIHRoaXMuai5nZXQoYSk/LlswXX11cGRhdGUoYSxiLGMpe3ZhciBkPXRoaXMuby5nZXQoYSk7aWYoZCl7bGV0IFtlLGZdPWQ7Yj1iKGUoKSk7ZihiKTtjLkVnJiZhIT1udWxsJiYoYz10aGlzLnYuZ2V0KGEpLHRoaXMuai5zZXQoYSxbYixjPy4oKT8/W10sITBdKSk7cmV0dXJuITB9aWYoYy5FZyYmYSE9bnVsbCYmKGM9dGhpcy5qLmdldChhKSkpe2xldCBbZSxmXT1jO2I9YihlKTt0aGlzLmouc2V0KGEsW2IsZiwhMF0pO3JldHVybiEwfXJldHVybiExfXJlZ2lzdGVyKGEsYixjKXtpZihhPT1udWxsKXJldHVybigpPT57fTt0aGlzLm8uc2V0KGEsYik7YyYmdGhpcy52LnNldChhLGMpO3JldHVybigpPT57dGhpcy5vLmdldChhKT09PQpiJiYodGhpcy5vLmRlbGV0ZShhKSx0aGlzLnYuZGVsZXRlKGEpKX19fTtfLkNHPW5ldyBfLlZzKCJSRU5ERVJFUl9MT0dHRVJfVE9LRU4iKTt2YXIgd2RhPW5ldyBfLlZzKCJSRU5ERVJFUl9TVEFNUEVSX09QVElPTlNfVE9LRU4iKTt2YXIgQWRhPW5ldyBfLlZzKCJSRU5ERVJFUl9TVEFNUEVSX1NVQ0NFU1NfU0xJX1RPS0VOIik7dmFyIHhkYT0iY29tcGFjdFJhZGlvUmVuZGVyZXIgY29tcGFjdFBsYXlsaXN0UmVuZGVyZXIgcGxheWxpc3RWaWRlb1JlbmRlcmVyIGNvbXBhY3RWaWRlb1JlbmRlcmVyIGZlZWROdWRnZVJlbmRlcmVyIGdyaWRWaWRlb1JlbmRlcmVyIHByaW1ldGltZVByb21vUmVuZGVyZXIgcmFkaW9SZW5kZXJlciBwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHJlZWxJdGVtUmVuZGVyZXIgcmVlbFNoZWxmUmVuZGVyZXIgcmljaFNoZWxmUmVuZGVyZXIgc2VhcmNoSGlzdG9yeVF1ZXJ5UmVuZGVyZXIgc2hlbGZSZW5kZXJlciB2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIgdmlkZW9DYXJkUmVuZGVyZXIgc3RhdGVtZW50QmFubmVyUmVuZGVyZXIgbWluaUdhbWVDYXJkVmlld01vZGVsIHNob3J0c0xvY2t1cFZpZXdNb2RlbCBsb2NrdXBWaWV3TW9kZWwgZ3JpZFNoZWxmVmlld01vZGVsIi5zcGxpdCgiICIpLHpkYT1bIm5vdGlmaWNhdGlvblRleHRSZW5kZXJlciIsIm5vdGlmaWNhdGlvbk11bHRpQWN0aW9uUmVuZGVyZXIiXSwKeWRhPSJwcmltZXRpbWVQcm9tb1JlbmRlcmVyIHN0YXRlbWVudEJhbm5lclJlbmRlcmVyIGJyYW5kVmlkZW9TaGVsZlJlbmRlcmVyIGJyYW5kVmlkZW9TaW5nbGV0b25SZW5kZXJlciBmZWVkTnVkZ2VSZW5kZXJlciBwbGF5bGlzdFZpZGVvUmVuZGVyZXIiLnNwbGl0KCIgIikse01nOnZkYX09Xy56RyhhPT5fLkJ2KGE/LnRhcmdldElkKSk7dmFyIHVkYT0wO18uVy5kZWJ1Z05hbWU9IkVqSmJDZSI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBWYmE7VmJhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGEsYix2b2lkIDApfTtfLk5EPWZ1bmN0aW9uKGEpe2E9WyhhJjE2NzExNjgwKT4+PjE2LChhJjY1MjgwKT4+PjgsYSYyNTUsKGEmNDI3ODE5MDA4MCk+Pj4yNF07aWYoIVZiYShhLGI9PmI9PT0oYiYyNTUpKSl0aHJvdyBFcnJvcigiUmNgIithLmpvaW4oIiwiKSk7cmV0dXJuYHJnYmEoJHthWzBdfSwke2FbMV19LCR7YVsyXX0sJHsoYVszXS8yNTUpLnRvRml4ZWQoMyl9KWB9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtBPWZ1bmN0aW9uKHt0eXBlOmEscGF5bG9hZDpifSl7YT17dHlwZTphfTtiIT09dm9pZCAwJiYoYS5wYXlsb2FkPWIpO3JldHVybiBhfTsvKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KXy5sQT0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIik7Xy5tQT1gQEByZWR1eC9JTklUJHtfLmxBKCl9YDtfLlJhYT1gQEByZWR1eC9SRVBMQUNFJHtfLmxBKCl9YDtfLm5BPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ub0E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmtBKHt0eXBlOiJSRVBMQUNFX0VOVElUWSIscGF5bG9hZDp7eGw6YyxlbnRpdHlUeXBlOmEsa2V5OmJ9fSl9O18ucEE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLmtBKHt0eXBlOiJVUERBVEVfRU5USVRZIixwYXlsb2FkOnt4bDpjLGVudGl0eVR5cGU6YSxrZXk6YixJeTp2b2lkIDB9fSl9O18ucUE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhW2JdP2FbYl1bY118fG51bGw6bnVsbH07KCgpPT57dmFyIGE9ZD0+bmV3IFVpbnQ4QXJyYXkoZCksYj1kPT57dmFyIGU9bmV3IFVpbnQ4QXJyYXkoZC5sZW5ndGgpO2ZvcihsZXQgZj0wO2Y8ZC5sZW5ndGg7ZisrKWVbZl09ZFtmXTtyZXR1cm4gZX0sYz1uZXcgVWludDhBcnJheShbMV0pO3JldHVybiBjLmxlbmd0aD09PTEmJmNbMF09PT0xP2E6Yn0pKCk7Xy5yQT1BcnJheSgxMDI0KTtfLnNBPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7Xy50QT10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6dm9pZCAwO18udUE9e2FuaW1hdGlvbkVudGl0eTozMDIsYWNjb3VudExpbmtTdGF0dXNFbnRpdHk6MTIyLGFza1N0dWRpb0dlbmVyYXRlZERhdGFFbnRpdHk6NjMwLGJvb2xlYW5FbnRpdHk6MzA3LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6NjM3LGJ1dHRvbkVudGl0eTozNTgsY2FwdGlvblRyYWNrOjIyNSxjaGFubmVsSGFuZGxlOjI3NSxjaGlwRW50aXR5OjQ5OCxjb21tZXJjZUFjcXVpc2l0aW9uQ2xpZW50UGF5bG9hZEVudGl0eToyNzYsY29tbWVyY2VDYXJ0TGlzdEVudGl0eToyMzYsY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHk6NTMyLGNvbXBvc2l0ZVNvdXJjZUVudGl0eTo1OTQsY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZDo0ODMsY29udGV4dE5vdGVVc2VyUmF0aW5nRW50aXR5UGF5bG9hZDo1NzYsY29udGludWF0aW9uVG9rZW5FbnRpdHk6NDA2LGRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eToyMDIsZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eToyOTksCmRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eToyNjQsZG93bmxvYWRTdGF0dXNFbnRpdHk6MTQxLGRpc21pc3NTdGF0ZTo1NDAsc2Z2QXVkaW9JdGVtQ3VycmVudGx5UGxheWluZ0VudGl0eToxODYsZW1vamlGb3VudGFpbkRhdGFFbnRpdHk6MzkzLGVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eTo0OTYsZmFrZUNoYW5uZWw6MixmYWtlUGxheWxpc3Q6Mjc5LGZha2VQbGF5bGlzdEVudHJ5Q29sbGVjdGlvbjoyODAsZmFrZVZpZGVvOjE4MixmYWtlVmlkZW9EZXNjcmlwdGlvbjoyNzgsZmVhdHVyZWRQcm9kdWN0c0VudGl0eTozOTIsc2F2ZWRQcm9kdWN0c1N0YXRlRW50aXR5OjU5OCxmbG93U3RhdGVFbnRpdHk6MjUyLGljb25CYWRnZUVudGl0eToyMjksaW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eTo0NDMsbGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eTo1NjcsbGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHk6MjE3LGxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHk6NTYzLApsaXZlVmlld2VyTGVhZGVyYm9hcmRQb2ludHNFbnRpdHk6NTY0LGxpdmVSZWFjdGlvbnNEYXRhRW50aXR5OjUwMyxsb2dvRW50aXR5OjI0NSxtYWNyb01hcmtlckVudGl0eTozMjksbWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHk6MTU4LG1haW5Eb3dubG9hZHNMaXN0RW50aXR5OjE2NCxtYWluUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5OjM3MyxtYWluUGxheWxpc3RFbnRpdHk6MzA2LG1haW5QbGF5bGlzdFZpZGVvRW50aXR5OjM2OCxtYWluVmlkZW9Eb3dubG9hZFN0YXRlRW50aXR5OjI2MixtYWluVmlkZW9FbnRpdHk6MjYxLG1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5OjE5NixtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5OjMxMixtdXNpY0FsYnVtUmVsZWFzZURldGFpbDoxOCxtdXNpY0FsYnVtUmVsZWFzZURvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjU5LG11c2ljQWxidW1SZWxlYXNlOjE3LG11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbDoxOSxtdXNpY0FydGlzdERldGFpbDoyMSwKbXVzaWNBcnRpc3Q6MjAsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOjIyLG11c2ljRG93bmxvYWRzTGlicmFyeUVudGl0eToyNTcsbXVzaWNMaWJyYXJ5RWRpdDoxMjEsbXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5OjMxOCxtdXNpY1BsYXlsaXN0OjI0LG11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5OjI0OCxtdXNpY1NoYXJlOjEwMCxtdXNpY1RyYWNrRGV0YWlsOjI5LG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5OjIzNCxtdXNpY1RyYWNrOjI4LG11c2ljVHJhY2tVc2VyRGV0YWlsOjMwLG9mZmxpbmVPcmNoZXN0cmF0aW9uQWN0aW9uV3JhcHBlckVudGl0eToxNjksb2ZmbGluZVZpZGVvUG9saWN5OjEzMCxvZmZsaW5lVmlkZW9TdHJlYW1zOjE5OCxvZmZsaW5lYWJpbGl0eUVudGl0eToyNDYsb3JjaGVzdHJhdGlvbldlYlNhbXBsaW5nRW50aXR5OjI0MixwYWdlSGVhZGVyRW50aXR5OjQ5NSxwYXJ0eUdhbWVQYW5lbEVudGl0eTo2MTgsc2xpZGVyR2FtZVBhbmVsRW50aXR5OjYzMywKcGRwU3RhdGVFbnRpdHk6NTI0LHBpbm5lZFByb2R1Y3RFbnRpdHk6MjczLHBsYXliYWNrRGF0YToxMTkscGxheWVyU3RhdGVFbnRpdHk6MzIzLHBsYXlsaXN0VGh1bWJuYWlsRWRpdHNFbnRpdHk6NTM5LHF1YW50aXR5SW5jcmVtZW50ZXJFbnRpdHk6MzU2LHJlZnJlc2g6MTQ4LHNhdmVUb1BsYXlsaXN0TGlzdEVudGl0eToyMzEsc2VsZWN0ZWRDaGlwSW5kZXhFbnRpdHlQYXlsb2FkOjQ3OSxzZWxlY3Rpb25WYWx1ZUxpc3RFbnRpdHk6NjM0LHNldHRpbmdFbnRpdHk6Mjk3LHN0cmluZ0VudGl0eTozODIsc3VnZ2VzdGVkRmVlZGJhY2tDaGlwU3RhdGVFbnRpdHk6NDg1LHRyYW5zZmVyOjEyMCx0cmVuZGluZ09mZmVyRW50aXR5OjQ2OSx1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eTo2MzUsdmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHk6NDYxLHZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6NTQ1LHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTo3Nix2b3RpbmdFbnRpdHk6NTYxLAp5dE1haW5DaGFubmVsRW50aXR5OjE1Mix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OjU1Myx5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6MTU1LHl0TWFpblZpZGVvRW50aXR5OjE1MX07Xy52QT17fTtmb3IobGV0IFthLGJdb2YgT2JqZWN0LmVudHJpZXMoXy51QSkpe2xldCBjPWEsZD1iO2QmJihfLnZBW2RdPWMpfTsoKCk9Pnt2YXIgYT1kPT5uZXcgVWludDhBcnJheShkKSxiPWQ9Pnt2YXIgZT1uZXcgVWludDhBcnJheShkLmxlbmd0aCk7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspZVtmXT1kW2ZdO3JldHVybiBlfSxjPW5ldyBVaW50OEFycmF5KFsxXSk7cmV0dXJuIGMubGVuZ3RoPT09MSYmY1swXT09PTE/YTpifSkoKTtfLlNhYT1fLiRsKCJ5dC1pZGItcHJlZi1zdG9yYWdlIix7c2U6e3ByZWZzOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiZfLm9sKF8ua2woYSwicHJlZnMiLHtrZXlQYXRoOiJrZXkifSksImJ5RXhwaXJhdGlvbiIsImV4cGlyYXRpb25UaW1lc3RhbXBNcyIpfSx2ZXJzaW9uOjF9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGpFO18uaUU9ZnVuY3Rpb24oYSxiKXthPVsoYSYxNjcxMTY4MCk+Pj4xNiwoYSY2NTI4MCk+Pj44LGEmMjU1XTtyZXR1cm5gcmdiYSgke2FbMF19LCAke2FbMV19LCAke2FbMl19LCAke2J9KWB9O18ua0U9ZnVuY3Rpb24oYSl7aWYoYS5zb3VyY2VzKWZvcihsZXQgYiBvZiBhLnNvdXJjZXMpaWYoYi5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lfHxiLmN1c3RvbUltYWdlU291cmNlJiZfLkIoYi5jdXN0b21JbWFnZVNvdXJjZSxqRSk/LmNsaWVudFJlc291cmNlPy5pY29uKXJldHVybiBifTsKXy5sRT1mdW5jdGlvbihhKXtpZihhPy5jbGllbnRSZXNvdXJjZT8uaW1hZ2VOYW1lKXtsZXQgYj1hLmNsaWVudFJlc291cmNlPy5pbWFnZU5hbWU7YTp7c3dpdGNoKGIpe2Nhc2UgInl0X3ByZW1pdW1fd29yZG1hcmtfaGVhZGVyX2xpZ2h0IjpjYXNlICJ5dF9wcmVtaXVtX3dvcmRtYXJrX2hlYWRlcl9kYXJrIjphPSJZT1VUVUJFX1BSRU1JVU1fTE9HT19TSE9SVCI7YnJlYWsgYTtjYXNlICJ5dF93b3JkbWFya19oZWFkZXJfbGlnaHQiOmNhc2UgInl0X3dvcmRtYXJrX2hlYWRlcl9kYXJrIjphPSJMT0dPX1dJVEhfVEVYVCI7YnJlYWsgYX1hPXZvaWQgMH1yZXR1cm4gYXx8Z2NhLmdldChiKXx8Yn1pZihhPy5jdXN0b21JbWFnZVNvdXJjZSYmKGE9Xy5CKGEuY3VzdG9tSW1hZ2VTb3VyY2UsakUpPy5jbGllbnRSZXNvdXJjZT8uaWNvbikpcmV0dXJuIGF9O2pFPW5ldyBfLkkoInlvdXR1YmVJY29uU291cmNlIik7Xy5tRT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTt2YXIgZ2NhPW5ldyBNYXAoW1sieXRfb3V0bGluZV9iYWdfYmxhY2tfMjQiLCJiYWciXV0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLktEPWZ1bmN0aW9uKGEpe2lmKGE9YS5tYXRjaChVYmEpKXJldHVybntpY29uTmFtZTphWzJdLGh4OmFbMV0udG9VcHBlckNhc2UoKT09PSJGSUxMIixpY29uU2l6ZTpOdW1iZXIoYVszXSl9fTtfLkxEPW5ldyBfLlZzKCJJQ09OX1dJWl9DT01QT05FTlRfVE9LRU4iKTt2YXIgVWJhO1ViYT0vXllUSUNPTl8oZmlsbHxvdXRsaW5lKV8oW2EtekEtWjAtOV9dKylfcyhbMC05XSspJC9pOwpfLk1EPV8uTCgoe2ljb246YSxhY3RpdmU6YixjbGFzc05hbWU6YyxzdHlsZTpkLHlwOmUsaGM6Zixyb2xlOmgsR2U6ayxIYzpsLGFyaWFIaWRkZW46bSxhcmlhRXhwYW5kZWQ6bixhcmlhTGFiZWw6cCx0YWJpbmRleDpyLGlkOnQsc2l6ZTp2LGFnOnosWnA6RSxlcjpBLHRpdGxlOkZ9KT0+e3ZhciBDPV8uTigoKT0+e3ZhciBSPWE/LigpO2lmKFIpcmV0dXJuIF8uS0QoUil9LHZvaWQgMCwiTTBpNXZmIiksRz0oKT0+QygpPy5pY29uTmFtZT8/YT8uKCksRD0oKT0+dj8uKCk/P0MoKT8uaWNvblNpemUsSD0oKT0+Yj8uKCk/P0MoKT8uaHg7cmV0dXJuIF8uSyhfLk8se0E6YSx0aGVuOigpPT57dmFyIFI9Xy55KCkucmVzb2x2ZShfLkxEKTtyZXR1cm4gXy5LKFIse2ljb246Ryx5cDplLGhjOmYsR2U6ayxIYzpsLGFyaWFFeHBhbmRlZDpuLHRhYmluZGV4OnIsaWQ6dCxhY3RpdmU6SCxzaXplOkQscm9sZTpoLGNsYXNzTmFtZTpjLGFyaWFIaWRkZW46bSxhcmlhTGFiZWw6cCxzdHlsZTooKT0+CntpZighRCgpKXJldHVybiBkPy4oKTt2YXIgTT1gd2lkdGg6ICR7RCgpfXB4OyBoZWlnaHQ6ICR7RCgpfXB4O2A7cmV0dXJuIGQ/LigpP2Ake019ICR7ZCgpfWA6TX0sdGl0bGU6RixhZzp6LFpwOkUsZXI6QX0pfX0pfSwiaiIpO18uTUQuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntlcjohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgS0UsTEUsbWNhLG5jYSxORSxwY2EscWNhLHJjYSx1Y2Esd2NhLHZjYSxYRSx4Y2EseWNhLEFjYSx6Y2E7Xy5KRT1mdW5jdGlvbihhKXthJj0xNjc3NzIxNTt2YXIgYj1bKGEmMTY3MTE2ODApPj4xNiwoYSY2NTI4MCk+PjgsYSYyNTVdO2E9YlswXTt2YXIgYz1iWzFdO2I9YlsyXTthPU51bWJlcihhKTtjPU51bWJlcihjKTtiPU51bWJlcihiKTtpZihhIT0oYSYyNTUpfHxjIT0oYyYyNTUpfHxiIT0oYiYyNTUpKXRocm93IEVycm9yKCJRY2AiK2ErImAiK2MrImAiK2IpO2M9YTw8MTZ8Yzw8OHxiO3JldHVybiBhPDE2PyIjIisoMTY3NzcyMTZ8YykudG9TdHJpbmcoMTYpLnNsaWNlKDEpOiIjIitjLnRvU3RyaW5nKDE2KX07S0U9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc291cmNlcyE9PXZvaWQgMHx8YS5wcm9jZXNzb3IhPT12b2lkIDB9OwpMRT1mdW5jdGlvbihhKXt2YXIgYj1hLnRodW1ibmFpbHM7aWYoYil7YT17c291cmNlczpbXX07Zm9yKGxldCBjIG9mIGIpYj17fSxiLnVybD1jLnVybCxiLndpZHRoPWMud2lkdGgsYi5oZWlnaHQ9Yy5oZWlnaHQsYS5zb3VyY2VzLnB1c2goYik7cmV0dXJuIGF9fTttY2E9ZnVuY3Rpb24oYSxiLGMpe2M9Yz9bY106W107YS5vcGFjaXR5JiZjLnB1c2goYG9wYWNpdHk6ICR7YS5vcGFjaXR5fTtgKTtiJiZhLnBsYWNlaG9sZGVyQ29sb3I/KGE9Xy5ORChhLnBsYWNlaG9sZGVyQ29sb3IpLGMucHVzaChgYmFja2dyb3VuZC1jb2xvcjogJHthfTtgKSk6Yy5wdXNoKCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsiKTtyZXR1cm4gYy5qb2luKCIgIil9OwpuY2E9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1bInl0Q29yZUltYWdlSG9zdCJdO2ImJmYucHVzaChiKTtjfHxmLnB1c2goInl0Q29yZUltYWdlRmlsbFBhcmVudEhlaWdodCIpO2R8fGYucHVzaCgieXRDb3JlSW1hZ2VGaWxsUGFyZW50V2lkdGgiKTtzd2l0Y2goYS5jb250ZW50TW9kZSl7Y2FzZSAiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSVQiOmYucHVzaCgieXRDb3JlSW1hZ2VDb250ZW50TW9kZVNjYWxlQXNwZWN0Rml0Iik7YnJlYWs7Y2FzZSAiQ09OVEVOVF9NT0RFX1NDQUxFX0FTUEVDVF9GSUxMIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVTY2FsZUFzcGVjdEZpbGwiKTticmVhaztjYXNlICJDT05URU5UX01PREVfQ0VOVEVSIjpmLnB1c2goInl0Q29yZUltYWdlQ29udGVudE1vZGVDZW50ZXIiKTticmVhaztkZWZhdWx0OmYucHVzaCgieXRDb3JlSW1hZ2VDb250ZW50TW9kZVNjYWxlVG9GaWxsIil9YS5mbGlwRm9yUnRsTGF5b3V0JiZmLnB1c2goInl0Q29yZUltYWdlRmxpcFJ0bCIpOwpzd2l0Y2goZSl7Y2FzZSAiVE9QX1NUQVJUIjpmLnB1c2goZG9jdW1lbnQuYm9keT8uZ2V0QXR0cmlidXRlKCJkaXIiKT09PSJydGwiPyJ5dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wUmlnaHQiOiJ5dENvcmVJbWFnZU9iamVjdFBvc2l0aW9uVG9wTGVmdCIpfXJldHVybiBmLmpvaW4oIiAiKX07Xy5NRT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cubWF0Y2hNZWRpYSYmd2luZG93Lm1hdGNoTWVkaWEoIihvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIpLm1hdGNoZXN9O05FPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O2E9Xy5CKGEucHJvY2Vzc29yLG9jYSk7dmFyIGM9KGM9YT8uaW1hZ2VUaW50Py5jb2xvcik/Xy5ORChjKTp2b2lkIDA7YyYmKGIuY29sb3I9Yyk7aWYoYz1wY2EoYSkpYi5ueT1jO2lmKGE9cWNhKGEpKWIuTno9YTtyZXR1cm4gYn07CnBjYT1mdW5jdGlvbihhKXt2YXIgYj1hPy5saW5lYXJHcmFkaWVudDtpZihiJiZiPy5jb2xvcnMmJmI/LmNvbG9ycz8ubGVuZ3RoIT09MCl7dmFyIGM9Yi5jb2xvcnMubWFwKGU9Pl8uTkQoZSkpO2E9Yi5hbmdsZSE9PXZvaWQgMD9gJHtiLmFuZ2xlfWRlZywgYDoiIjt2YXIgZD1iLnBvc2l0aW9ucztpZighZHx8ZC5sZW5ndGghPT1jLmxlbmd0aClyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7YX0ke2Muam9pbigiLCAiKX0pYDtiPWMubWFwKChlLGYpPT5gJHtlfSAke2RbZl0qMTAwfSVgKTtyZXR1cm5gbGluZWFyLWdyYWRpZW50KCR7YX0ke2Iuam9pbigiLCAiKX0pYH19OwpxY2E9ZnVuY3Rpb24oYSl7aWYoKGE9YT8ucmFkaWFsR3JhZGllbnQpJiZhPy5jb2xvcnMmJmE/LmNvbG9ycz8ubGVuZ3RoIT09MCl7dmFyIGI9YS5jb2xvcnMubWFwKGs9Pl8uTkQoaykpLGM9YS5jZW50ZXJVbml0Pz8iRElNRU5TSU9OX1VOSVRfRlJBQ1RJT04iLGQ9Yz09PSJESU1FTlNJT05fVU5JVF9QT0lOVCI/InB4IjoiJSIsZT1jPT09IkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIj8xMDA6MTtjPWAkeyhhLmNlbnRlclg/Py41KSplfSR7ZH1gO2Q9YCR7KGEuY2VudGVyWT8/LjUpKmV9JHtkfWA7dmFyIGY9YS5yYWRpdXM7ZT0iIjtlPWYhPT12b2lkIDA/YGNpcmNsZSAke2Z9cHhgOiJlbGxpcHNlIjt2YXIgaD1hLnBvc2l0aW9ucztpZighaHx8aC5sZW5ndGghPT1iLmxlbmd0aClyZXR1cm5gcmFkaWFsLWdyYWRpZW50KCR7ZX0gYXQgJHtjfSAke2R9LCAke2Iuam9pbigiLCAiKX0pYDthPWIubWFwKChrLGwpPT5gJHtrfSAke2hbbF0qMTAwfSVgKTtyZXR1cm5gcmFkaWFsLWdyYWRpZW50KCR7ZX0gYXQgJHtjfSAke2R9LCAke2Euam9pbigiLCAiKX0pYH19OwpfLk9FPWZ1bmN0aW9uKGEpe18uamYuR2EoKCk9Pnt0cnl7YSgpfWNhdGNoKGIpe18uT3QoYil9fSw4KX07cmNhPWZ1bmN0aW9uKGEpe3ZhciBiPSgxK2EubWFyZ2luKSooZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodHx8d2luZG93LmlubmVySGVpZ2h0KTthLmo9YS5qLmZpbHRlcihjPT57dmFyIGQ9Yy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsoZD1iPmQudG9wJiYhIWQuaGVpZ2h0KSYmYS5CKGMpO3JldHVybiFkJiZjLnBhcmVudE5vZGV9KTthLnY9ITF9O18uUEU9ZnVuY3Rpb24oYSl7aWYoIm1hdGNoTWVkaWEiaW4gd2luZG93KXJldHVybiB3aW5kb3cubWF0Y2hNZWRpYShhLmxhbmRzY2FwZSsiLCIrYS5wb3J0cmFpdCkubWF0Y2hlc307Xy5URT1mdW5jdGlvbigpe2lmKFFFPT09dm9pZCAwKXtsZXQgYT1fLlBFKHNjYSk7UUU9YSE9PXZvaWQgMD9hOl8uUkU+PTkzMCYmU0U+PTU1MHx8Xy5SRT49NTUwJiZTRT49OTMwfXJldHVybiBRRX07CnVjYT1mdW5jdGlvbihhLGIpe2EuSm09Yjt0Y2Eub2JzZXJ2ZShhKX07CndjYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoayl7dmFyIGw9TWF0aC5yb3VuZCgoMCxfLmVsKSgpLWQpO1VFPU1hdGgubWF4KDAsVUUtMSk7bD17ZHVyYXRpb25Mb2FkaW5nTXM6bCx3aWR0aFB4OmEubmF0dXJhbFdpZHRoLGhlaWdodFB4OmEubmF0dXJhbEhlaWdodCx2aWV3V2lkdGhQeDphLmNsaWVudFdpZHRoLHZpZXdIZWlnaHRQeDphLmNsaWVudEhlaWdodCxmaW5pc2hlZExvYWRpbmc6ITAsaXNMb2FkRXJyb3I6ayxsb2FkTnVtYmVyOmUsY29uY3VycmVudExvYWRzOlVFfTtiJiZiLmltYWdlQ2xhc3NpZmljYXRpb25UeXBlIT1udWxsJiYobC5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZT1iLmltYWdlQ2xhc3NpZmljYXRpb25UeXBlKTtpZighayl0cnl7bGV0IG09cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShhLnNyYyk7aWYobSYmbS5sZW5ndGg+MCl7bGV0IG49bVttLmxlbmd0aC0xXTtuLnRyYW5zZmVyU2l6ZSYmKGwuZG93bmxvYWRlZEJ5dGVzPW4udHJhbnNmZXJTaXplKX19Y2F0Y2gobSl7fV8uRXAoInRodW1ibmFpbExvYWRlZCIsCmwpO2lmKGs9VkUuZ2V0KGEpKWEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsay5vbkxvYWQpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGsub25FcnJvcik7VkUuZGVsZXRlKGEpfWlmKF8ueCgid2ViX2ltYWdlX2xvYWRfdGVsZW1ldHJ5Iikpe3ZjYShhKTtVRSsrO1dFKys7dmFyIGQ9KDAsXy5lbCkoKSxlPVdFLGY9KCk9PntjKCExKX0saD0oKT0+e2MoITApfTthLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGYpO2EuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGgpO1ZFLnNldChhLHtvbkxvYWQ6ZixvbkVycm9yOmh9KX19O3ZjYT1mdW5jdGlvbihhKXt2YXIgYj1WRS5nZXQoYSk7YiYmKGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsYi5vbkxvYWQpLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGIub25FcnJvciksVUU9TWF0aC5tYXgoMCxVRS0xKSxWRS5kZWxldGUoYSkpfTsKWEU9ZnVuY3Rpb24oYSxiLGMpe2ImJl8uVHQoYSxiKTtjJiZhLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbWFnZS11bmxvYWRlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9O3hjYT1mdW5jdGlvbihhLGIsYyxkLGU9ITApe2Z1bmN0aW9uIGYoKXt2YXIgaD1jKGIsYSk7aCYmYS5nZXRBdHRyaWJ1dGUoInNyYyIpIT09aCYmKGghPT1hLnNyYyYmKGEuc3JjPWgpLHdjYShhLGQpLGQmJlhFKGEsZC50aixkLkJtKSl9YS5yZW1vdmVBdHRyaWJ1dGUoInNyYyIpO2QmJlhFKGEsZC50aixkLkJtKTtiJiYoZT91Y2EoYSxmKTpmKCkpfTt5Y2E9ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiExO2I9YyhiLGEpO2M9YS5nZXRBdHRyaWJ1dGUoInNyYyIpO3JldHVybiBiJiZiPT09YyYmYS5jb21wbGV0ZX07CkFjYT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQ9S0UoYSk/ey4uLmF9OkxFKGEpO2lmKGQpe2QuY29udGVudE1vZGU9ZC5jb250ZW50TW9kZT8/Yi5jb250ZW50TW9kZTt2YXIgZT1iLm9uTG9hZDtiLm9uTG9hZD1sPT57dmFyIG09bC50YXJnZXQ7YyYmbS5uYXR1cmFsV2lkdGg9PT0xMjB8fF8uU3QobSwieXRDb3JlSW1hZ2VMb2FkZWQiKTtiLnNnJiZtLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJpbWFnZS1sb2FkZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpO2U/LihsKX07Yi5BYiYmYi5UYSYmKGIud2lkdGg9Yi5BYik7Yi5kYyYmYi5ZYSYmKGIuaGVpZ2h0PWIuZGMpO3ZhciBmPV8ua0UoZCksaD1mJiZfLmxFKGYpLGs9TkUoZCk7aWYoaCl7YT1mLmNsaWVudFJlc291cmNlPy5pbWFnZUNvbG9yP18uTkQoZi5jbGllbnRSZXNvdXJjZS5pbWFnZUNvbG9yKTp2b2lkIDA7aWYoaz1hfHxrLmNvbG9yKWIuc3R5bGU9Yi5zdHlsZT9iLnN0eWxlLmVuZHNXaXRoKCI7Iik/Yi5zdHlsZSsKYCBjb2xvcjogJHtrfTtgOmIuc3R5bGUrYDsgY29sb3I6ICR7a307YDpgY29sb3I6ICR7a307YDtyZXR1cm57dHlwZToiaWNvbiIsaWNvbk5hbWU6aCxjb25maWc6ey4uLmIsLi4uKGIuYWx0P3t9OnthcmlhSGlkZGVuOiJ0cnVlIn0pLGFyaWFMYWJlbDpiLmFsdCxyb2xlOiJpbWcifX19S0UoYSl8fChiLmFsdD1hLmFjY2Vzc2liaWxpdHkmJmEuYWNjZXNzaWJpbGl0eS5hY2Nlc3NpYmlsaXR5RGF0YSYmYS5hY2Nlc3NpYmlsaXR5LmFjY2Vzc2liaWxpdHlEYXRhLmxhYmVsfHxiLmFsdCxiLnN0eWxlPW1jYShhLGIuV3IsYi5zdHlsZSksYi5pc1ByZWxvYWRlZD0hIV8uQihhLHpjYSk/LmlzUHJlbG9hZGVkKTtiLmNsYXNzTmFtZT1uY2EoZCxiLmNsYXNzTmFtZSxiLllhLGIuVGEsYi5vYmplY3RQb3NpdGlvbik7Yi50aj0ieXRDb3JlSW1hZ2VMb2FkZWQiO3JldHVybnt0eXBlOiJpbWFnZSIsaW1hZ2U6ZCxjb25maWc6Yn19fTt6Y2E9bmV3IF8uSSgid2ViVGh1bWJuYWlsRGV0YWlsc0V4dGVuc2lvbkRhdGEiKTt2YXIgb2NhPW5ldyBfLkkoImJvcmRlckltYWdlUHJvY2Vzc29yIik7dmFyIENjYTtbXy5CY2EsQ2NhXT1fLkooXy5NRSgpLHZvaWQgMCwiTzNYMndkIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKCk9PntDY2EoXy5NRSgpKX0pO18uZkY9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm1hcmdpbj1hO3RoaXMuQj1iO3RoaXMuaj1bXTt0aGlzLnY9ITE7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsKCk9Pnt0aGlzLm8oKX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsKCk9Pnt0aGlzLm8oKX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGV1aSIsKCk9Pnt0aGlzLm8oKX0pO3ZhciBjPW5ldyBfLld0KCgwLF8uQ2EpKHRoaXMubyx0aGlzKSwxMDApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCgpPT57Yy52KCl9LCEwKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwoMCxfLkNhKSh0aGlzLm8sdGhpcykpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZXN0YXJ0IiwoKT0+e3RoaXMuaj1bXX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1uYXZpZ2F0ZWVuZCIsKDAsXy5DYSkodGhpcy5vLHRoaXMpKX1vYnNlcnZlKGEpe3RoaXMuai5pbmNsdWRlcyhhKXx8CnRoaXMuai5wdXNoKGEpfXVub2JzZXJ2ZShhKXt0aGlzLmo9dGhpcy5qLmZpbHRlcihiPT5iIT09YSl9bygpe3RoaXMudnx8KF8uT0UoKCk9PntyY2EodGhpcyl9KSx0aGlzLnY9ITApfWRpc2Nvbm5lY3QoKXt0aGlzLmo9W119fTt2YXIgc2NhLFFFLFNFO3NjYT17bGFuZHNjYXBlOiIobWluLXdpZHRoOiA5MzFweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSIscG9ydHJhaXQ6IihtaW4td2lkdGg6IDU1MHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkifTtRRT12b2lkIDA7Xy5nRj12b2lkIDA7Xy5SRT13aW5kb3cuaW5uZXJXaWR0aDtTRT13aW5kb3cuaW5uZXJIZWlnaHQ7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsKCk9PntfLmdGPVFFPXZvaWQgMH0pO3ZhciB0Y2E9IkludGVyc2VjdGlvbk9ic2VydmVyImluIHdpbmRvdz9uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGEsYik9PnthLmZpbHRlcihjPT5jLmludGVyc2VjdGlvblJlY3QuaGVpZ2h0PjApLmZvckVhY2goKHt0YXJnZXQ6Y30pPT57Yy5KbT8uKCk7Yi51bm9ic2VydmUoYyl9KX0se3Jvb3RNYXJnaW46IjEwJSIsdGhyZXNob2xkOi4wMX0pOl8uVEUoKT97b2JzZXJ2ZShhKXtfLmpmLkdhKCgpPT57dHJ5e2EuSm0/LigpfWNhdGNoKGIpe18uT3QoYil9fSw4KX0sdW5vYnNlcnZlKCl7fX06bmV3IF8uZkYoLjEsYT0+e18uamYuR2EoKCk9Pnt0cnl7YS5KbT8uKCl9Y2F0Y2goYil7Xy5PdChiKX19LDgpfSk7dmFyIFZFPW5ldyBXZWFrTWFwLFdFPTAsVUU9MDtfLmhGPV8uTChhPT57dmFyIGI9ITEsYz1fLnVFKCJpbWciLGQ9PntfLll1KCgpPT57Yj0hMDtkLm9ubG9hZD1udWxsfSl9KTtfLm5FKCgpPT57dmFyIGQ9YS5kYXRhPy4oKSxlPWEuR2w/LigpLlNnLGY9YS5jb25maWcoKSxoPWMudmFsdWU7aWYoaCl7dmFyIGs9KGwsbSk9PntpZighYilyZXR1cm4gZT9lKGwsbSk6bH07Xy54KCJ3ZWJfaW1hZ2VfZG9udF9yZWxvYWRfc2FtZV9zcmMiKSYmeWNhKGgsZCxrKT9fLngoIndlYl9pbWFnZV9kb250X3JlbG9hZF9zYW1lX3NyY19zaW11bGF0ZV9sb2FkIikmJmguZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvYWQiLHtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOnttZXNzYWdlOiJTaW11bGF0aW5nIGxvYWQgZXZlbnQgZm9yIGFscmVhZHkgbG9hZGVkIGltYWdlIn19KSk6eGNhKGgsZHx8bnVsbCxrLGYsYS5sYXp5Py4oKSl9fSwiUmZFZ0JjIik7cmV0dXJuIF8uSygiaW1nIix7ZWw6YyxjbGFzczooKT0+YS5jb25maWcoKS5jbGFzc05hbWUsCmFsdDooKT0+YS5jb25maWcoKS5hbHQsImFyaWEtaGlkZGVuIjooKT0+YS5jb25maWcoKS5hcmlhSGlkZGVuLCJkYXRhLWRpc2FibGVkIjooKT0+YS5jb25maWcoKS5oYyxzdHlsZTooKT0+YS5jb25maWcoKS5zdHlsZSx3aWR0aDooKT0+YS5jb25maWcoKS53aWR0aCxoZWlnaHQ6KCk9PmEuY29uZmlnKCkuaGVpZ2h0LGRyYWdnYWJsZTooKT0+YS5jb25maWcoKS5kcmFnZ2FibGUsIm9uOmVycm9yIjpkPT5hLmNvbmZpZygpLm9uRXJyb3I/LihkKSwib246bG9hZCI6ZD0+YS5jb25maWcoKS5vbkxvYWQ/LihkKX0pfSwibCIpO18uaEYuaWRvbUNvbXBhdD0hMDt2YXIgaUY7Xy5qRj1fLkwoYT0+e3ZhciBbYixjXT1fLkooITEsdm9pZCAwLCJURmFFS2QiKSxkPSgpPT57dmFyIGY9YS5kYXRhKCk7cmV0dXJuIEtFKGYpP3suLi5mfTpMRShmKT8/e319LGU9KCk9PiFkKCkuc291cmNlcz8ubGVuZ3RofHxiKCk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PntpZighXy54KCJ3ZWJfbGluZWFyX2dyYWRpZW50X2tpbGxzd2l0Y2giKSlyZXR1cm4gTkUoZCgpKS5ueXx8TkUoZCgpKS5Oen0sdGhlbjpmPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRDb3JlSW1hZ2VIb3N0IiwieXRDb3JlSW1hZ2VHcmFkaWVudENvbnRhaW5lciIse3l0Q29yZUltYWdlTG9hZGVkOmV9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRDb3JlSW1hZ2VHcmFkaWVudCIsImFyaWEtaGlkZGVuIjoidHJ1ZSIsc3R5bGU6Xy5JRSh7YmFja2dyb3VuZDpmfSl9KSxfLksoaUYsey4uLmEsb25Mb2FkOmg9PntjKCEwKTthLm9uTG9hZD8uKGgpfX0pKSxXOigpPT5fLksoaUYsey4uLmF9KX0pfSwibSIpOwppRj1fLkwoYT0+e3ZhciBiPSgpPT5BY2EoYS5kYXRhKCkse2NvbnRlbnRNb2RlOmEuY29udGVudE1vZGU/LigpLHRqOmEudGo/LigpLGlzUHJlbG9hZGVkOmEuaXNQcmVsb2FkZWQ/LigpLHNnOmEuc2c/LigpLEJtOmEuQm0/LigpLHlyOmEueXI/LigpLFlhOmEuWWE/LigpLFRhOmEuVGE/LigpLG9iamVjdFBvc2l0aW9uOmEub2JqZWN0UG9zaXRpb24/LigpLEFiOmEuQWI/LigpLGRjOmEuZGM/LigpLFdyOmEuV3I/LigpLE5nOmEuTmc/LigpLGlzVG9nZ2xlZDphLmlzVG9nZ2xlZD8uKCksYWx0OmEuYWx0Py4oKSxjbGFzc05hbWU6YS5jbGFzc05hbWU/LigpLG9uRXJyb3I6YS5vbkVycm9yLG9uTG9hZDphLm9uTG9hZCxzdHlsZTphLnN0eWxlPy4oKSxjb2xvcjphLmNvbG9yPy4oKSx3aWR0aDphLndpZHRoPy4oKSxoZWlnaHQ6YS5oZWlnaHQ/LigpLGFyaWFIaWRkZW46YS5hcmlhSGlkZGVuPy4oKSxkcmFnZ2FibGU6YS5kcmFnZ2FibGU/LigpLGhjOmEuaGM/LigpLHNpemU6YS5zaXplPy4oKSwKaW1hZ2VDbGFzc2lmaWNhdGlvblR5cGU6YS5pbWFnZUNsYXNzaWZpY2F0aW9uVHlwZT8uKCl9LGEuVXc/LigpKTtyZXR1cm4gXy5LKF8uRUUsbnVsbCxfLksoXy5DRSx7d2hlbjooKT0+YigpPy50eXBlPT09ImltYWdlIn0sKCk9Pl8uSyhfLmhGLHtkYXRhOigpPT5iKCkuaW1hZ2UsR2w6e1NnOihjLGQpPT57dmFyIGU9YigpLmltYWdlLnNvdXJjZXM7dmFyIGY9YigpLmNvbmZpZy5pc1ByZWxvYWRlZCxoPWIoKS5jb25maWcuTmcsaz1iKCkuY29uZmlnLkFiLGw9YigpLmNvbmZpZy5kYyxtPWIoKS5jb25maWcueXI7aWYoIWV8fGUubGVuZ3RoPT09MHx8ZVswXS5jbGllbnRSZXNvdXJjZSllPW51bGw7ZWxzZSBpZihmJiZlWzBdLnVybCllPWVbMF0udXJsO2Vsc2V7aD09PXZvaWQgMCYmKGg9ITApO2Q9aD9fLm1FKihrfHxkPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKT8ud2lkdGh8fDApOl8ubUUqKGx8fGQ/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpPy5oZWlnaHR8fDApO2I6aWYoZCl7aWYobSlmb3IobGV0IG4gb2YgZSlpZihmPQpuLnVybD8uaW5kZXhPZihtKSxmIT09dm9pZCAwJiZmPj0wKXtlPW47YnJlYWsgYn1mb3IobGV0IG4gb2YgZSlpZihuLndpZHRoJiZuLmhlaWdodCYmKGgmJm4ud2lkdGg+PWR8fCFoJiZuLmhlaWdodD49ZCkpe2U9bjticmVhayBifWZvcihtPWUubGVuZ3RoLTE7bT49MDttLS0paWYoaCYmZVttXS53aWR0aHx8IWgmJmVbbV0uaGVpZ2h0KXtlPWVbbV07YnJlYWsgYn1lPWVbMF19ZWxzZSBlPWUubGVuZ3RoPj0xP2VbZS5sZW5ndGgtMV06bnVsbDtlPWU/LnVybD9lLnVybDplPy5pbWFnZURhdGE/ZS5pbWFnZURhdGE6bnVsbH1yZXR1cm4gZXx8IiJ9fSxjb25maWc6KCk9Pnt2YXIgYz1iKCkuY29uZmlnO2ZvcihsZXQgZCBpbiBjKWNbZF09PT12b2lkIDAmJmRlbGV0ZSBjW2RdO3JldHVybiBjfSxsYXp5OmEuVGJ9KSksXy5LKF8uQ0Use3doZW46KCk9PmIoKT8udHlwZT09PSJpY29uIn0sKCk9Pl8uSyhfLk1ELHtpY29uOigpPT5iKCkuaWNvbk5hbWUscm9sZTooKT0+YigpLmNvbmZpZy5yb2xlLApjbGFzc05hbWU6KCk9PmIoKS5jb25maWcuY2xhc3NOYW1lLHN0eWxlOigpPT5iKCkuY29uZmlnLnN0eWxlLGFyaWFMYWJlbDooKT0+YigpLmNvbmZpZy5hcmlhTGFiZWwsYXJpYUhpZGRlbjooKT0+YigpLmNvbmZpZy5hcmlhSGlkZGVuLGhjOigpPT5iKCkuY29uZmlnLmhjLGFjdGl2ZTooKT0+YigpLmNvbmZpZy5pc1RvZ2dsZWQsc2l6ZTooKT0+YigpLmNvbmZpZy5zaXplfSkpKX0sIm4iKTtfLmpGLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Y2FsbGJhY2s6ITAsb25FcnJvcjohMCxvbkxvYWQ6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5OSj1uZXcgXy5JKCJzaWduYWxBY3Rpb24iKTtfLk9KPWNsYXNze2NvbnN0cnVjdG9yKGEsYj0hMSxjPW51bGwpe3RoaXMuYWN0aW9uTmFtZT1hO3RoaXMuaj1iO3RoaXMuYXJncz1jO3RoaXMucmV0dXJuVmFsdWU9W119fTtfLlBKPW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaEU9bmV3IF8uSSgibGF5b3V0UHJvcGVydGllcyIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmtGPW5ldyBfLlZzKCJEQVJLX1RIRU1FX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubEY9bmV3IF8uVnMoIkFQUF9ESVJFQ1RJT05fVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy51Rj1mdW5jdGlvbihhLGIpe3ZhciBjPWI/LmluaXRpYWw7cmV0dXJuIF8uTigoKT0+e18uQnYoITApO3JldHVybiBjPWEoYyl9LHtlcXVhbHM6Yj8uaXNFcXVhbH0sInJTbEtzYyIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEVjYSxGY2EsdkYsR2NhLHlGLEJGLENGLEpjYSxMY2EsREYsRUYsTmNhLEhGLE9jYSxRY2EsSUYsUmNhLEpGLFNjYSxLRixMRixUY2EsTUYsVWNhLE5GLFZjYSxXY2EsSWNhLEhjYTsKRWNhPWZ1bmN0aW9uKGEpe3ZhciBiPXtzdGF0ZToiTk9ORSJ9LGM9e1JoOmQ9Pntzd2l0Y2goZC5DYi50b2tlbil7Y2FzZSBfLlBiYS5DYi50b2tlbjp2YXIgZT1iO2JyZWFrO2Nhc2UgXy5PYmEuQ2IudG9rZW46ZT1hLldIO2JyZWFrO2Nhc2UgXy5MQy5DYi50b2tlbjplPWEucm9vdEVsZW1lbnQ7YnJlYWs7Y2FzZSBfLkxiYS5DYi50b2tlbjplPWEuWUo7YnJlYWs7Y2FzZSBfLk1CLkNiLnRva2VuOmU9YS5GbzticmVhaztjYXNlIF8uTWJhLkNiLnRva2VuOmU9YS5yZW5kZXJlckRhdGE7YnJlYWs7Y2FzZSBfLk5iYS5DYi50b2tlbjplPWEub0o7YnJlYWs7Y2FzZSBfLk5CLkNiLnRva2VuOmU9YS5ydn1pZihlKWQ9ZTtlbHNlIGE6e2ZvcihlPWMucGFyZW50O2U7KXt2YXIgZj1lO2lmKGYuUmgpe2Q9Zi5SaChkKTticmVhayBhfWU9ZS5wYXJlbnR9ZT1kLkNiLnRva2VuO2Y9Xy5XQy5nZXQoZSk7ZiE9PXZvaWQgMD9kPWY6KGY9ZC5DYi5NeixkLkNiLktwPyhkPWQuQ2IuS3AoKSxlJiZmPT09CiJyb290IiYmXy5XQy5zZXQoZSxkKSk6ZD1fLmF1KX1yZXR1cm4gZH19O18uQnUoYyk7cmV0dXJuIGN9O0ZjYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09Yn07dkY9ZnVuY3Rpb24oYSxiKXtpZihhPT09YilhPSEwO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShhKSYmQXJyYXkuaXNBcnJheShiKSlhOmlmKF8ueWEoYSkmJl8ueWEoYikmJmEubGVuZ3RoPT1iLmxlbmd0aCl7dmFyIGM9YS5sZW5ndGgsZD12Rnx8RmNhO2ZvcihsZXQgZT0wO2U8YztlKyspaWYoIWQoYVtlXSxiW2VdKSl7YT0hMTticmVhayBhfWE9ITB9ZWxzZSBhPSExO2Vsc2UgaWYoXy5BYShhKSYmXy5BYShiKSlhOmlmKF8uRngoYSkubGVuZ3RoIT1fLkZ4KGIpLmxlbmd0aClhPSExO2Vsc2V7Zm9yKGMgaW4gYSlpZighdkYoYVtjXSxiW2NdKSl7YT0hMTticmVhayBhfWE9ITB9ZWxzZSBhPSExO3JldHVybiBhfTtfLndGPWZ1bmN0aW9uKGEsYixjKXtjPT09dm9pZCAwP2RlbGV0ZSBhW2IubmFtZV06YVtiLm5hbWVdPWN9OwpHY2E9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ITE7YVtfLnFGXT9Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiSGIiKSwyLGEudGFnTmFtZSk7fSk6Xy5adCYmZCE9PV8uWEM/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkViIiksMixhLnRhZ05hbWUpO30pOihhLnRleHRDb250ZW50IT09IiImJmEudGV4dENvbnRlbnQhPT1udWxsfHxhLmNoaWxkRWxlbWVudENvdW50PjApJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgXy5VdShFcnJvcigiRmIiKSwyLGEudGFnTmFtZSk7fSk7dmFyIGY9Xy5SdSgoKT0+e3ZhciBoPV8ua3UoXy56diksaz0oKT0+e3ZhciBsPShfLk9CLnN2Pz9fLnZkKGEpKS5fX3dpemRpc3BhdGNoZXI7bD1FY2Eoe3Jvb3RFbGVtZW50Ont2YWx1ZTphfSxGbzpjfHxsPy5udz8uKCkscnY6bH0pO2w9Xy4kdChsKTt2YXIgbT1fLkxCKCEwKTtfLmd2Kys7dHJ5e18uYkMoYigpLGEpLApfLklBKCExKX1jYXRjaChuKXt0aHJvdyBfLklBKCEwKSxuO31maW5hbGx5e18uTEIobSksXy4kdChsKX19O3RyeXtyZXR1cm4gZD09PV8uWEM/Xy51dihrLCExKTpfLml3KGspfWNhdGNoKGwpe3Rocm93IF8uVXUobCw0KSxsO31maW5hbGx5e18ua3UoaCl9fSk7YVtfLnFGXT0hMDtyZXR1cm4oKT0+e2U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIkdiIiksMixhLnRhZ05hbWUpO30pOihhLnRleHRDb250ZW50PSIiLGYoKSxlPSEwLGFbXy5xRl09ITEpfX07Xy54Rj1mdW5jdGlvbihhLGIsYyl7Yz8/KGM9e30pO3ZhciBkPWMuRm8sZT0hIV8uS3UuSnE7Yj1HY2EoYSxiLGQsYy5Jayk7ZSYmXy5QQihhLGQpO18uVkIubG9nKGEpO3JldHVybiBifTsKXy5BRj1mdW5jdGlvbihhKXt2YXIgYj17YW5kcm9pZEluY2x1ZGVGb250UGFkZGluZzohMX0sYz0wLGQ9W10sZT1bXSxmPVtdO2lmKGEuc2ltcGxlVGV4dClyZXR1cm4gYi5jb250ZW50PWEuc2ltcGxlVGV4dCxiO2lmKGEucnVucz09PXZvaWQgMClyZXR1cm4gYi5jb250ZW50PSIiLGI7Zm9yKGxldCBtIG9mIGEucnVucyl7dmFyIGg9bS50ZXh0O2E9aD8ubGVuZ3RoO2lmKGgmJmEpe2QucHVzaChoKTtpZihtLmJvbGR8fG0uaXRhbGljc3x8bS5zdHJpa2V0aHJvdWdofHxtLnVuZGVybGluZXx8bS50ZXh0Q29sb3IhPW51bGwmJm0udGV4dENvbG9yIT09MHx8bS5kZWVtcGhhc2l6ZSl7aD1lO3ZhciBrPWgucHVzaCxsPXtzdGFydEluZGV4OmMsbGVuZ3RoOmF9O20uYm9sZCYmKGwud2VpZ2h0TGFiZWw9IkZPTlRfV0VJR0hUX01FRElVTSIpO20uaXRhbGljcyYmKGwuaXRhbGljPSEwKTttLnN0cmlrZXRocm91Z2gmJihsLnN0cmlrZXRocm91Z2g9IkxJTkVfU1RZTEVfU0lOR0xFIik7bS51bmRlcmxpbmUmJgoobC51bmRlcmxpbmU9IkxJTkVfU1RZTEVfU0lOR0xFIik7bS50ZXh0Q29sb3IhPW51bGwmJm0udGV4dENvbG9yIT09MD9sLmZvbnRDb2xvcj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCJkYXJrIik/bS5kYXJrTW9kZVRleHRDb2xvcnx8bS50ZXh0Q29sb3I6bS50ZXh0Q29sb3I6bS5kZWVtcGhhc2l6ZSYmKGwuZm9udENvbG9yPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5oYXNBdHRyaWJ1dGUoImRhcmsiKT95RigiI2FhYSIpOnlGKCIjNjA2MDYwIikpO2suY2FsbChoLGwpfW0ubmF2aWdhdGlvbkVuZHBvaW50JiYoaD1mLGs9aC5wdXNoLGw9e3N0YXJ0SW5kZXg6YyxsZW5ndGg6YSxvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDptLm5hdmlnYXRpb25FbmRwb2ludH19LG0ubG9nZ2luZ0RpcmVjdGl2ZXMmJl8ud0YobCx6RixtLmxvZ2dpbmdEaXJlY3RpdmVzKSxrLmNhbGwoaCxsKSk7Yys9YX19Yi5jb250ZW50PWQuam9pbigiIik7Yi5zdHlsZVJ1bnM9ZS5sZW5ndGg/CmU6dm9pZCAwO2IuY29tbWFuZFJ1bnM9Zi5sZW5ndGg/Zjp2b2lkIDA7cmV0dXJuIGJ9O3lGPWZ1bmN0aW9uKGEpe3ZhciBiPXBhcnNlSW50O2lmKCFIY2EudGVzdChhKSl0aHJvdyBFcnJvcigiUGNgIithKTthLmxlbmd0aD09NCYmKGE9YS5yZXBsYWNlKEljYSwiIyQxJDEkMiQyJDMkMyIpKTtyZXR1cm4gYigiZmYiK2EudG9Mb3dlckNhc2UoKS5zdWJzdHJpbmcoMSksMTYpfTtCRj1mdW5jdGlvbihhKXtpZihhKXJldHVybiBPYmplY3QuZW50cmllcyhhKS5maWx0ZXIoKFssYl0pPT5iIT09dm9pZCAwJiZiIT09bnVsbCYmYiE9PSIiKS5tYXAoKFtiLGNdKT0+YCR7Yi5yZXBsYWNlKC8oW2EtekEtWl0pKD89W0EtWl0pL2csIiQxLSIpLnRvTG93ZXJDYXNlKCl9OiAke2N9O2ApLmpvaW4oIiIpfHx2b2lkIDB9OwpDRj1mdW5jdGlvbihhKXtpZighYT8udmFsdWV8fCFhPy51bml0KXJldHVybiIiO3N3aXRjaChhLnVuaXQpe2Nhc2UgIkRJTUVOU0lPTl9VTklUX0ZSQUNUSU9OIjp2YXIgYj0iJSI7YnJlYWs7ZGVmYXVsdDpiPSJweCJ9YT1hLnZhbHVlO2I9PT0iJSImJihhKj0xMDApO3JldHVybmAke2F9JHtifWB9O0pjYT1mdW5jdGlvbihhLGIpe3ZhciBjPXsuLi5ifTtmb3IobGV0IFtkLGVdb2YgbmV3IE1hcChbWyJvbnRvdWNoc3RhcnQiLGEub250b3VjaHN0YXJ0XSxbIm9udG91Y2hlbmQiLGEub250b3VjaGVuZF0sWyJvbnRvdWNobW92ZSIsYS5vbnRvdWNobW92ZV1dKSl7bGV0IGY9ZCxoPWU7YltmXT1rPT57Y1tmXT8uKGspO2goayl9fX07CkxjYT1mdW5jdGlvbihhLGIpe3ZhciBjPVsieXRBdHRyaWJ1dGVkU3RyaW5nTGluayJdO2I/LnVifHwoYj8uaXNPdmVybGF5P2MucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua092ZXJsYXlDYWxsVG9BY3Rpb25Db2xvciIpOmMucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0NhbGxUb0FjdGlvbkNvbG9yIiksYj8uWGEmJmMucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpKTtjPXtjbGFzc05hbWU6Yy5qb2luKCIgIiksdGFiaW5kZXg6IjAifTt2YXIgZD1hLm9uVGFwfHxhLm9uTG9uZ1ByZXNzO2lmKCFkKXJldHVybiBjO3ZhciBlPWEub25UYXBPcHRpb25zPy5hY2Nlc3NpYmlsaXR5SW5mbz8uYWNjZXNzaWJpbGl0eUxhYmVsO2UmJihjLmFyaWFMYWJlbD1lKTtiPV8uYkUoe2JoOmQsdXg6YyxJZDohIWI/LklkLHFkOiEwfSk7YS5vbkxvbmdQcmVzcyYmKGQ9bmV3IEtjYSgoKT0+e3ZhciBmPV8uUkQoYS5vbkxvbmdQcmVzcyk7ZiYmXy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChmKX0pLApiJiZKY2EoZCxiKSk7cmV0dXJuIGJ8fGN9O0RGPWZ1bmN0aW9uKGEpe3ZhciBiPWE7YTw9MTY3NzcyMTUmJihiKz1wYXJzZUludCgiZmYwMDAwMDAiLDE2KSk7cmV0dXJuIF8uTkQoYil9O0VGPWZ1bmN0aW9uKHtpc0RhcmtUaGVtZTphLGV4dGVuc2lvbjpiLE9yOmN9KXt2YXIgZD12b2lkIDA7aWYoYj1iPy5jb2xvck1hcCl7YT1hPyJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjoiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO2ZvcihsZXQgZSBvZiBiKWlmKGE9PT1lLmtleSl7ZD1lLnZhbHVlO2JyZWFrfX1kPT1udWxsJiZjJiYoZD1jKTtpZihkKXJldHVybiBERihkKX07Ck5jYT1mdW5jdGlvbihhLGI9ITEpe3ZhciBjPXt9O2lmKGEudGV4dERlY29yYXRvcil7dmFyIGQ9YS50ZXh0RGVjb3JhdG9yO3ZhciBlPXt9O3ZhciBmPV8uQihkLF8uRkYpLGg9Xy5CKGQsR0YpO2lmKGYpe2Q9T2JqZWN0O2g9ZC5hc3NpZ247bGV0IGs9e307KGI9RUYoe2V4dGVuc2lvbjpfLkIoZi5oaWdobGlnaHRUZXh0RGVjb3JhdG9yRXh0ZW5zaW9ucyxNY2EpLGlzRGFya1RoZW1lOmIsT3I6Zi5iYWNrZ3JvdW5kQ29sb3J9KSkmJihrWyJiYWNrZ3JvdW5kLWNvbG9yIl09Yik7Zi5iYWNrZ3JvdW5kQ29ybmVyUmFkaXVzIT09dm9pZCAwJiYoa1siYm9yZGVyLXJhZGl1cyJdPWAke2YuYmFja2dyb3VuZENvcm5lclJhZGl1c31weGApO2YubGVmdFBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLWxlZnQiXT1gJHtmLmxlZnRQYWRkaW5nfXB4YCk7Zi5yaWdodFBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLXJpZ2h0Il09YCR7Zi5yaWdodFBhZGRpbmd9cHhgKTtmLnRvcFBhZGRpbmchPT0Kdm9pZCAwJiYoa1sicGFkZGluZy10b3AiXT1gJHtmLnRvcFBhZGRpbmd9cHhgKTtmLmJvdHRvbVBhZGRpbmchPT12b2lkIDAmJihrWyJwYWRkaW5nLWJvdHRvbSJdPWAke2YuYm90dG9tUGFkZGluZ31weGApO2guY2FsbChkLGUsayl9ZWxzZSBoJiYoZj1PYmplY3QsZD1mLmFzc2lnbixiPWI/IiMyYmE2NDAiOiIjMTA3NTE2IixiPWguY29sb3I/REYoaC5jb2xvcik6YixkLmNhbGwoZixlLHtwYWRkaW5nOiIycHgiLCJib3JkZXItdG9wIjpgc29saWQgJHtifSAycHhgLCJib3JkZXItYm90dG9tIjpgc29saWQgJHtifSAycHhgLGJhY2tncm91bmQ6YGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICR7Yn0gM3B4LCByZ2JhKDAsIDAsIDAsIDApIDNweCksIGxpbmVhci1ncmFkaWVudCgzMTVkZWcsICR7Yn0gM3B4LCByZ2JhKDAsIDAsIDAsIDApIDNweClgfSkpO2U9T2JqZWN0LmtleXMoZSkubGVuZ3RoIT09MD9lOnZvaWQgMDtjLnN0eWxlPWU7YT1hLnRleHREZWNvcmF0b3I7ZT1bXTtiPV8uQihhLApHRik7Xy5CKGEsXy5GRik/ZS5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdIaWdobGlnaHRUZXh0RGVjb3JhdG9yIik6YiYmZS5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdCcmFja2V0VGV4dERlY29yYXRvciIpO2E9ZS5qb2luKCIgIik7Yy5jbGFzc05hbWU9YTtjLmRpcj0iYXV0byJ9cmV0dXJuIGN9O0hGPWZ1bmN0aW9uKHtjb25maWc6YSxpbWFnZTpiLGdqOmMsT2w6ZCxydW46ZSx0YWc6Zix0ZXh0TGVuZ3RoOmgsc3RhcnRJbmRleDprPTAsbGVuZ3RoOmx9KXtrPT09dm9pZCAwJiYoaz0wKTtlPXtydW46ZSxzdGFydEluZGV4Omssd2w6bCE9PXZvaWQgMD9rK2w6aCx0YWc6Zn07YiYmKGUuaW1hZ2U9Yik7YyYmKGUuZ2o9Yyk7ZCYmKGUuT2w9ZCk7YSYmKGUuY29uZmlnPWEpO3JldHVybiBlfTsKT2NhPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWlnaHQpcmV0dXJuIGEud2VpZ2h0O3N3aXRjaChhLndlaWdodExhYmVsKXtjYXNlICJGT05UX1dFSUdIVF9USElOIjpyZXR1cm4gMTAwO2Nhc2UgIkZPTlRfV0VJR0hUX0VYVFJBX0xJR0hUIjpyZXR1cm4gMjAwO2Nhc2UgIkZPTlRfV0VJR0hUX0xJR0hUIjpyZXR1cm4gMzAwO2Nhc2UgIkZPTlRfV0VJR0hUX01FRElVTSI6cmV0dXJuIDUwMDtjYXNlICJGT05UX1dFSUdIVF9TRU1JX0JPTEQiOnJldHVybiA2MDA7Y2FzZSAiRk9OVF9XRUlHSFRfQk9MRCI6cmV0dXJuIGI/OTAwOjcwMDtjYXNlICJGT05UX1dFSUdIVF9FWFRSQV9CT0xEIjpyZXR1cm4gODAwO2Nhc2UgIkZPTlRfV0VJR0hUX0JMQUNLIjpyZXR1cm4gOTAwO2RlZmF1bHQ6cmV0dXJuIDQwMH19OwpRY2E9ZnVuY3Rpb24oYSxiPSExLGMpe2I9RUYoe2V4dGVuc2lvbjpfLkIoYS5zdHlsZVJ1bkV4dGVuc2lvbnMsUGNhKSxpc0RhcmtUaGVtZTpiLE9yOmEuZm9udENvbG9yfSk7dmFyIGQ9W107YiYmZC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5rSW5oZXJpdENvbG9yIik7YS5pdGFsaWMmJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nSXRhbGljaXplZCIpO2EudW5kZXJsaW5lJiZhLnN0cmlrZXRocm91Z2g/ZC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdVbmRlcmxpbmVTdHJpa2V0aHJvdWdoIixJRihhLnVuZGVybGluZSkpOmEudW5kZXJsaW5lP2QucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nVW5kZXJsaW5lZCIsSUYoYS51bmRlcmxpbmUpKTphLnN0cmlrZXRocm91Z2gmJmQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nU3RyaWtldGhyb3VnaCIsSUYoYS5zdHJpa2V0aHJvdWdoKSk7aWYoYS5iYXNlbGluZU9mZnNldCl7YTpzd2l0Y2goYS5iYXNlbGluZU9mZnNldCl7Y2FzZSAiQkFTRUxJTkVfT0ZGU0VUX1NVQlNDUklQVCI6dmFyIGU9CiJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFN1YnNjcmlwdCI7YnJlYWsgYTtjYXNlICJCQVNFTElORV9PRkZTRVRfU1VQRVJTQ1JJUFQiOmU9Inl0QXR0cmlidXRlZFN0cmluZ0Jhc2VsaW5lT2Zmc2V0U3VwZXJzY3JpcHQiO2JyZWFrIGE7ZGVmYXVsdDplPSJ5dEF0dHJpYnV0ZWRTdHJpbmdCYXNlbGluZU9mZnNldFVua25vd24ifWQucHVzaChlKX1kPWQuam9pbigiICIpO2U9e307aWYoYS53ZWlnaHR8fGEud2VpZ2h0TGFiZWwpZS5mb250V2VpZ2h0PU9jYShhLGM/LnFoKS50b1N0cmluZygpO2ImJihlLmNvbG9yPWIpO3JldHVybntjbGFzc05hbWU6ZCxzdHlsZTplfX07SUY9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkxJTkVfU1RZTEVfRE9UIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nTGluZVN0eWxlRG90IjtjYXNlICJMSU5FX1NUWUxFX05PTkUiOnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVOb25lIjtkZWZhdWx0OnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdMaW5lU3R5bGVTaW5nbGUifX07ClJjYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiVEVYVF9BTElHTk1FTlRfTEVGVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRMZWZ0IjtjYXNlICJURVhUX0FMSUdOTUVOVF9SSUdIVCI6cmV0dXJuInl0QXR0cmlidXRlZFN0cmluZ1RleHRBbGlnbm1lbnRSaWdodCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfQ0VOVEVSIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudENlbnRlciI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfSlVTVElGSUVEIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudEp1c3RpZmllZCI7Y2FzZSAiVEVYVF9BTElHTk1FTlRfTEFZT1VUX1NUQVJUIjpyZXR1cm4ieXRBdHRyaWJ1dGVkU3RyaW5nVGV4dEFsaWdubWVudExheW91dFN0YXJ0IjtkZWZhdWx0OnJldHVybiJ5dEF0dHJpYnV0ZWRTdHJpbmdUZXh0QWxpZ25tZW50VW5rbm93biJ9fTsKSkY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hIWJ8fCEoYS5jb21tYW5kUnVucyYmYS5jb21tYW5kUnVucy5sZW5ndGghPT0wfHxhLnBhcmFncmFwaFN0eWxlUnVucyYmYS5wYXJhZ3JhcGhTdHlsZVJ1bnMubGVuZ3RoIT09MCl9O1NjYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEucnVuOyhjLm9uVGFwIT09dm9pZCAwfHxjLm9uTG9uZ1ByZXNzIT09dm9pZCAwKSYmXy5CKGMsekYpJiZfLkp4KGIse2RhdGE6e2xvZ2dpbmdEaXJlY3RpdmVzOl8uQihjLHpGKX0sb2JzZXJ2ZXI6Xy55KCkucmVzb2x2ZShfLkx4KSxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6Yi5sYXllcn0pfX07S0Y9ZnVuY3Rpb24oYSxiLGMsZCl7Zm9yKGxldCBlIG9mIGEubGMpe2lmKHR5cGVvZiBlPT09InN0cmluZyIpdGhyb3cgRXJyb3IoIlljIik7aWYoZS5zdGFydDw9YiYmYzw9ZS5lbmQpe0tGKGUsYixjLGQpO3JldHVybn19YS5sYy5wdXNoKHtkYXRhOmQsbGM6W10sc3RhcnQ6YixlbmQ6Y30pfTsKTEY9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGQ9Yi5sYy5sZW5ndGg7ZD49MDtkLS0pe2xldCBlPWIubGNbZF07dmFyIGM9Yi5sY1tkLTFdO2xldCBmPWQ9PT1iLmxjLmxlbmd0aD9iLmVuZDplLnN0YXJ0O2M9ZD09PTA/Yi5zdGFydDpjLmVuZDtmIT09YyYmYi5sYy5zcGxpY2UoZCwwLGEuc2xpY2UoYyxmKSk7ZSYmTEYoYSxlKX19O1RjYT1mdW5jdGlvbihhKXthLnNvcnQoKGIsYyk9PntpZihiLnN0YXJ0SW5kZXg8Yy5zdGFydEluZGV4KXJldHVybi0xO2lmKGMuc3RhcnRJbmRleDxiLnN0YXJ0SW5kZXgpcmV0dXJuIDE7Yj1iLndsLWIuc3RhcnRJbmRleDtjPWMud2wtYy5zdGFydEluZGV4O3JldHVybiBiPmM/LTE6Yz5iPzE6MH0pfTsKTUY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWI/ITA6YT09PXZvaWQgMHx8Yj09PXZvaWQgMD8hMTpfLngoIndlYl9hdHRyaWJ1dGVkX3N0cmluZ19kZWVwX2VxdWFsX2J1Z2ZpeCIpP3ZGKGEsYik6YS5jb250ZW50PT09Yi5jb250ZW50JiZhLnN0eWxlUnVucz8ubGVuZ3RoPT09Yi5zdHlsZVJ1bnM/Lmxlbmd0aCYmYS5jb21tYW5kUnVucz8ubGVuZ3RoPT09Yi5jb21tYW5kUnVucz8ubGVuZ3RoJiZhLmF0dGFjaG1lbnRSdW5zPy5sZW5ndGg9PT1iLmF0dGFjaG1lbnRSdW5zPy5sZW5ndGgmJmEuZGVjb3JhdGlvblJ1bnM/Lmxlbmd0aD09PWIuZGVjb3JhdGlvblJ1bnM/Lmxlbmd0aH07VWNhPWZ1bmN0aW9uKHtsYzphfSl7cmV0dXJuIGEubWFwKE5GKX07Ck5GPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIGE7dmFyIGI9YS5kYXRhO2IuaW1hZ2UhPT12b2lkIDAmJmIuZ2ohPT12b2lkIDA/KGI9YS5kYXRhLk9sLGE9Xy5LKCJzcGFuIix7Y2xhc3M6Yj8uY2xhc3NOYW1lLHN0eWxlOkJGKGI/LnN0eWxlKSxkaXI6Yj8uZGlyLHJvbGU6Yj8ucm9sZSx0YWJpbmRleDpiPy50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYi50YWJpbmRleCk6dm9pZCAwLCJmb3JjZS1uZXctc3RhdGUiOmI/LnFkLCJvbjpjbGljayI6Yj8ub25jbGljaywib246dG91Y2hlbmQiOmI/Lm9udG91Y2hlbmQsIm9uOnRvdWNobW92ZSI6Yj8ub250b3VjaG1vdmUsIm9uOnRvdWNoc3RhcnQiOmI/Lm9udG91Y2hzdGFydH0sXy5LKF8uakYse2RhdGE6YS5kYXRhLmltYWdlLC4uLmEuZGF0YS5nan0pKSk6KGI9YS5kYXRhLmNvbmZpZyxhPV8uSyhhLmRhdGEudGFnLHtlbDpfLnJGKFNjYShhLmRhdGEpKSwicHJvcDpfZGF0YSI6Yj8ubnUsInByb3A6cGFyYW1zIjpiPy5wYXJhbXMsCmNsYXNzOmI/LmNsYXNzTmFtZSxzdHlsZTpCRihiPy5zdHlsZSksZGlyOmI/LmRpcixocmVmOmI/LmhyZWYscmVsOmI/LnJlbCxyb2xlOmI/LnJvbGUsdGFyZ2V0OmI/LnRhcmdldCx0aXRsZTpiPy50aXRsZSx0YWJpbmRleDpiPy50YWJpbmRleCE9PXZvaWQgMD9OdW1iZXIoYi50YWJpbmRleCk6dm9pZCAwLCJhcmlhLWhhc3BvcHVwIjpiPy5hcmlhSGFzUG9wdXAsImZvcmNlLW5ldy1zdGF0ZSI6Yj8ucWQsImFyaWEtaGlkZGVuIjpiPy5hcmlhSGlkZGVuLCJhcmlhLWV4cGFuZGVkIjpiPy5hcmlhRXhwYW5kZWQsImFyaWEtbGFiZWwiOmI/LmFyaWFMYWJlbCwib246Y2xpY2siOmI/Lm9uY2xpY2ssIm9uOnRvdWNoZW5kIjpiPy5vbnRvdWNoZW5kLCJvbjp0b3VjaG1vdmUiOmI/Lm9udG91Y2htb3ZlLCJvbjp0b3VjaHN0YXJ0IjpiPy5vbnRvdWNoc3RhcnQsIm9uOnBvaW50ZXJkb3duIjpiPy5vbnBvaW50ZXJkb3duLCJvbjprZXlkb3duIjpiPy5vbmtleWRvd259LGEubGMubWFwKE5GKSkpOwpyZXR1cm4gXy5mQyhhKX07VmNhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iPyEwOmE9PT12b2lkIDB8fGI9PT12b2lkIDA/ITE6YS5Daj09PWIuQ2omJmEudWI9PT1iLnViJiZhLm1hPT09Yi5tYSYmYS5oZWFkZXJSdW5zPT09Yi5oZWFkZXJSdW5zJiZhLmlzT3ZlcmxheT09PWIuaXNPdmVybGF5JiZhLlhhPT09Yi5YYSYmYS51c2VySW5wdXQ9PT1iLnVzZXJJbnB1dCYmYS5xaD09PWIucWh9O1djYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+KHthcmlhTGFiZWw6YS5hcmlhTGFiZWw/LigpLGNsYXNzTmFtZTphLmNsYXNzTmFtZT8uKCkseWM6YS55Yz8uKCksaXNPdmVybGF5OmEuaXNPdmVybGF5Py4oKSxYYTphLlhhPy4oKSxtYTphLm1hPy4oKSxDajphLkNqPy4oKSx1YjphLnViPy4oKSxyZzphLnJnPy4oKSxub1dyYXA6YS5ub1dyYXA/LigpLElkOmEuSWQ/LigpLHVzZXJJbnB1dDphLnVzZXJJbnB1dD8uKCksaGVhZGVyUnVuczphLmhlYWRlclJ1bnM/LigpLHFoOmEucWg/LigpfSl9OwpJY2E9LyMoLikoLikoLikvO0hjYT0vXiMoPzpbMC05YS1mXXszfSl7MSwyfSQvaTtfLlhjYT1uZXcgXy5JKCJlbW9qaSIpO3ZhciB6Rj1uZXcgXy5JKCJsb2dnaW5nRGlyZWN0aXZlcyIpO18uWWNhPW5ldyBfLkkoInVucGx1Z2dlZFN0cmluZ1J1bkltYWdlIik7dmFyIE1jYT1uZXcgXy5JKCJoaWdobGlnaHRUZXh0RGVjb3JhdG9yQ29sb3JNYXBFeHRlbnNpb24iKTt2YXIgUGNhPW5ldyBfLkkoInN0eWxlUnVuQ29sb3JNYXBFeHRlbnNpb24iKTt2YXIgWmNhPW5ldyBfLkkoImFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzIik7dmFyIEdGPW5ldyBfLkkoImJyYWNrZXRUZXh0RGVjb3JhdG9yIik7Xy5GRj1uZXcgXy5JKCJoaWdobGlnaHRUZXh0RGVjb3JhdG9yIik7dmFyICRjYT1uZXcgXy5JKCJpbWFnZVR5cGUiKTt2YXIgYWRhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5EPTUwMDt0aGlzLmo9TmFOO3RoaXMudj10aGlzLm89ITE7dGhpcy5CPWE9Pnt2YXIgYj1uZXcgQ3VzdG9tRXZlbnQoIkxPTkdfUFJFU1MiKTthLmNoYW5nZWRUb3VjaGVzWzBdLnRhcmdldD8uZGlzcGF0Y2hFdmVudChiKX07dGhpcy5vbnRvdWNoc3RhcnQ9YT0+e3RoaXMuaj1fLnF4KF8uamYsKCk9Pnt0aGlzLkIoYSk7dGhpcy5vPSEwfSx0aGlzLkQpfTt0aGlzLm9udG91Y2htb3ZlPSgpPT57Xy5qZi5BYSh0aGlzLmopO3RoaXMuaj1OYU47dGhpcy5vPSExO3RoaXMudj0hMH07dGhpcy5vbnRvdWNoZW5kPWE9Pnt0aGlzLmomJiF0aGlzLm8mJiF0aGlzLnYmJmEuY2hhbmdlZFRvdWNoZXNbMF0udGFyZ2V0Py5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2xpY2siKSk7Xy5qZi5BYSh0aGlzLmopO3RoaXMuaj1OYU47dGhpcy52PXRoaXMubz0hMX19fTt2YXIgS2NhPWNsYXNzIGV4dGVuZHMgYWRhe2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5jYWxsYmFjaz1hO3RoaXMuQj1iPT57dGhpcy5jYWxsYmFjaz8uKGIpfX19O3ZhciBiZGE7YmRhPV8ueCgiYWxsb3dfbmVzdGVkX3JlbmRlcl9rcyIpP3ZvaWQgMDp7SWs6Xy5YQ307Cl8uVj1fLkwoYT0+e3ZhciBiPVdjYShhKSxjPWU9Pnt2YXIgZixoLGs9Xy5yRihwPT57Zj1lKCk7aD1fLnV2KCgpPT57Zm9yKHZhciByIG9mIG0oKSl7bGV0IHQ9TkYocik7dD10eXBlb2YgdD09PSJzdHJpbmciP2RvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQpOnQ7aWYoISh0IGluc3RhbmNlb2YgTm9kZSkpe3I9bmV3IF8uWGooIlBhcnQgaXMgbm90IGEgbm9kZSIsdCx0eXBlb2YgdCk7Xy5HcChyKTticmVha31wLmFwcGVuZENoaWxkKHQpfX0pfSksbD1fLnVGKGIse2lzRXF1YWw6VmNhfSksbT0oKT0+e3ZhciBwPWUoKSxyPWwoKSx0PVtdLHY9cC5jb250ZW50Lmxlbmd0aCx6PV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO2lmKHAucGFyYWdyYXBoU3R5bGVSdW5zKWZvcihsZXQgTSBvZiBwLnBhcmFncmFwaFN0eWxlUnVucyl7dmFyIEU9dCxBPUUucHVzaDthOntpZighTS5saXN0R3JvdXA/Lmxpc3RJdGVtcyl7dmFyIEY9W107YnJlYWsgYX1GPVtdO2I6c3dpdGNoKE0ubGlzdEdyb3VwLmxpc3RUeXBlKXtjYXNlICJMSVNUX1RZUEVfQlVMTEVUIjp2YXIgQz0KInVsIjticmVhayBiO2RlZmF1bHQ6Qz0ic3BhbiJ9Ri5wdXNoKEhGKHtydW46TSx0ZXh0TGVuZ3RoOnYsdGFnOkMsY29uZmlnOntjbGFzc05hbWU6Inl0QXR0cmlidXRlZFN0cmluZ0xpc3RHcm91cCJ9LHN0YXJ0SW5kZXg6TS5zdGFydEluZGV4LGxlbmd0aDpNLmxlbmd0aH0pKTtmb3IobGV0IFMgb2YgTS5saXN0R3JvdXAubGlzdEl0ZW1zKXtiOnN3aXRjaChNLmxpc3RHcm91cC5saXN0VHlwZSl7Y2FzZSAiTElTVF9UWVBFX0JVTExFVCI6Qz0ibGkiO2JyZWFrIGI7ZGVmYXVsdDpDPSJzcGFuIn1GLnB1c2goSEYoe3J1bjpNLHRleHRMZW5ndGg6dix0YWc6QyxzdGFydEluZGV4OlMuc3RhcnRJbmRleCxsZW5ndGg6Uy5sZW5ndGh9KSl9fUEuY2FsbChFLC4uLkYpfWlmKHAuc3R5bGVSdW5zJiYhcj8uQ2opZm9yKHZhciBHIG9mIHAuc3R5bGVSdW5zKUU9UWNhKEcseixyKSx0LnB1c2goSEYoe3J1bjpHLHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpFLHN0YXJ0SW5kZXg6Ry5zdGFydEluZGV4LApsZW5ndGg6Ry5sZW5ndGh9KSk7aWYocC5kZWNvcmF0aW9uUnVucylmb3IodmFyIEQgb2YgcC5kZWNvcmF0aW9uUnVucylHPU5jYShELHopLEU9Xy5CKEQudGV4dERlY29yYXRvcixHRiksQT1fLkIoRC50ZXh0RGVjb3JhdG9yLEdGKSx0LnB1c2goSEYoe3J1bjpELHRleHRMZW5ndGg6dix0YWc6InNwYW4iLGNvbmZpZzpHLHN0YXJ0SW5kZXg6Xy5CKEQudGV4dERlY29yYXRvcixfLkZGKT8uc3RhcnRJbmRleHx8RT8uc3RhcnRJbmRleHx8MCxsZW5ndGg6Xy5CKEQudGV4dERlY29yYXRvcixfLkZGKT8ubGVuZ3RofHxBPy5sZW5ndGh8fDB9KSk7aWYocC5jb21tYW5kUnVucyYmIXI/Lm1hKWZvcih2YXIgSCBvZiBwLmNvbW1hbmRSdW5zKXo9TGNhKEgsciksdC5wdXNoKEhGKHtydW46SCx0ZXh0TGVuZ3RoOnYsdGFnOiJhIixjb25maWc6eixzdGFydEluZGV4Okguc3RhcnRJbmRleCxsZW5ndGg6SC5sZW5ndGh9KSk7aWYocC5hdHRhY2htZW50UnVucylmb3IobGV0IE0gb2YgcC5hdHRhY2htZW50UnVucyl7cD0Ke2NsYXNzTmFtZToieXRBdHRyaWJ1dGVkU3RyaW5nSW5saW5lQmxvY2tNb2QifTtNLmVsZW1lbnQ/LnByb3BlcnRpZXMmJihIPXt9LHo9Xy5CKE0uZWxlbWVudD8ucHJvcGVydGllcyxfLmhFKSx6Py5tYXJnaW4mJih6PXoubWFyZ2luLEQ9KEc9Xy53KCJIVE1MX0RJUiIpPT09InJ0bCJ8fGRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJkaXIiKT09PSJydGwiKT96LmVuZHx8ei5yaWdodDp6LnN0YXJ0fHx6LmxlZnQsRz1HP3ouc3RhcnR8fHoubGVmdDp6LmVuZHx8ei5yaWdodCxEJiYoSFsibWFyZ2luLWxlZnQiXT1DRihEKSksRyYmKEhbIm1hcmdpbi1yaWdodCJdPUNGKEcpKSx6LnRvcCYmKEhbIm1hcmdpbi10b3AiXT1DRih6LnRvcCkpLHouYm90dG9tJiYoSFsibWFyZ2luLWJvdHRvbSJdPUNGKHouYm90dG9tKSkpLEg9T2JqZWN0LmtleXMoSCkubGVuZ3RoIT09MD9IOnZvaWQgMCxwLnN0eWxlPUgpO0g9e2FsdDoiIixZYTohMCxUYTohMH07ej1bInl0QXR0cmlidXRlZFN0cmluZ0ltYWdlRWxlbWVudCJdOwppZihNLmFsaWdubWVudCl7YTpzd2l0Y2goTS5hbGlnbm1lbnQpe2Nhc2UgIkFMSUdOTUVOVF9CQVNFTElORSI6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCYXNlbGluZSI7YnJlYWsgYTtjYXNlICJBTElHTk1FTlRfVkVSVElDQUxfQ0VOVEVSIjpEPSJ5dEF0dHJpYnV0ZWRTdHJpbmdJbWFnZUFsaWdubWVudFZlcnRpY2FsQ2VudGVyIjticmVhayBhO2RlZmF1bHQ6RD0ieXRBdHRyaWJ1dGVkU3RyaW5nSW1hZ2VBbGlnbm1lbnRCb3R0b20ifXoucHVzaChEKX1NLmVsZW1lbnQ/LnByb3BlcnRpZXMmJihEPXt9LEc9Xy5CKE0uZWxlbWVudC5wcm9wZXJ0aWVzLF8uaEUpLEc/LmhlaWdodCYmKEQuaGVpZ2h0PUNGKEcuaGVpZ2h0KSksRz8ud2lkdGgmJihELndpZHRoPUNGKEcud2lkdGgpKSxEPU9iamVjdC5rZXlzKEQpLmxlbmd0aCE9PTA/RDp2b2lkIDAsSC5zdHlsZT1CRihEKSxILmFsdD1fLkIoTS5lbGVtZW50LnByb3BlcnRpZXMsWmNhKT8ubGFiZWx8fCIiKTtILmNsYXNzTmFtZT0Kei5qb2luKCIgIik7ej1NLmVsZW1lbnQ/LnR5cGU/Xy5CKE0uZWxlbWVudC50eXBlLCRjYSk/LmltYWdlOnZvaWQgMDt0LnB1c2goSEYoe3J1bjpNLHRleHRMZW5ndGg6dix0YWc6ImltZyIsaW1hZ2U6eixnajpILE9sOnAsc3RhcnRJbmRleDpNLnN0YXJ0SW5kZXgsbGVuZ3RoOk0ubGVuZ3RoPz8wfSkpfWlmKHI/LmhlYWRlclJ1bnMpZm9yKHZhciBSIG9mIHIuaGVhZGVyUnVucylpZihSLmhlYWRlck1hcHBpbmcmJlsiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18xIiwiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18yIiwiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18zIl0uaW5jbHVkZXMoUi5oZWFkZXJNYXBwaW5nKSl7YTp7c3dpdGNoKFIuaGVhZGVyTWFwcGluZyl7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18xIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMSI7CmJyZWFrIGE7Y2FzZSAiQVRUUklCVVRFRF9TVFJJTkdfSEVBREVSX01BUFBJTkdfSEVBRElOR18yIjpyPSJ5dEF0dHJpYnV0ZWRTdHJpbmdIZWFkaW5nMiI7YnJlYWsgYTtjYXNlICJBVFRSSUJVVEVEX1NUUklOR19IRUFERVJfTUFQUElOR19IRUFESU5HXzMiOnI9Inl0QXR0cmlidXRlZFN0cmluZ0hlYWRpbmczIjticmVhayBhfXI9dm9pZCAwfXQucHVzaChIRih7cnVuOlIsdGV4dExlbmd0aDp2LHRhZzoic3BhbiIsY29uZmlnOnI/e2NsYXNzTmFtZTpyfTp2b2lkIDAsc3RhcnRJbmRleDpSLnN0YXJ0SW5kZXgsbGVuZ3RoOlIubGVuZ3RofSkpfWlmKGwoKT8udXNlcklucHV0KWZvcihsZXQgTSBvZiB0KXtpZihNLnRhZz09PSJhInx8TS50YWc9PT0ibGkiKWNvbnRpbnVlO2xldCBTOyhTPU0pLmNvbmZpZ3x8KFMuY29uZmlnPXt9KTtNLnRhZz09PSJ1bCI/TS5jb25maWcuZGlyPV8ueSgpLnJlc29sdmUoXy5sRik6TS5jb25maWcuZGlyPSJhdXRvIn1pZihlKCkuY29udGVudCl7dj1lKCkuY29udGVudDsKVGNhKHQpO1I9e2RhdGE6bnVsbCxzdGFydDowLGVuZDp2Lmxlbmd0aCxsYzpbXX07Zm9yKGxldCBNIG9mIHQpS0YoUixNLnN0YXJ0SW5kZXgsTS53bCxNKTtMRih2LFIpO3Q9Ui5sY31lbHNlIHQ9W107cmV0dXJuIHR9LG49ITA7Xy5uRSgoKT0+e2UoKTtsKCk7aWYobiYmKG49ITEsTUYoZSgpLGYpKSlyZXR1cm47dmFyIHA9bSgpO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnt2YXIgcj1rLnZhbHVlO3ImJihyLmlubmVyVGV4dD0iIixoPy4oKSxoPV8ueEYociwoKT0+Xy5LKFVjYSx7bGM6cH0pLGJkYSkpfSl9LCJ2Mlowb2UiKTtyZXR1cm4gXy5LKCJzcGFuIix7ZWw6ayxjbGFzczooKT0+e3ZhciBwO2lmKHA9ZSgpKXtwPWUoKTt2YXIgcj1iKCk7bGV0IHQ9W107dC5wdXNoKCJ5dEF0dHJpYnV0ZWRTdHJpbmdIb3N0Iik7cj8uY2xhc3NOYW1lJiZ0LnB1c2gocj8uY2xhc3NOYW1lKTtyPy55Yz90LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ0VsbGlwc2lzVHJ1bmNhdGUiKTpyPy5ub1dyYXA/CnQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nV2hpdGVTcGFjZU5vV3JhcCIpOnI/LnJnfHx0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1doaXRlU3BhY2VQcmVXcmFwIik7cj8uWGEmJnQucHVzaCgieXRBdHRyaWJ1dGVkU3RyaW5nTGlua0luaGVyaXRDb2xvciIpO3AuYWxpZ25tZW50JiZ0LnB1c2goUmNhKHAuYWxpZ25tZW50KSk7cC5saW5lQnJlYWtNb2RlJiZ0LnB1c2goInl0QXR0cmlidXRlZFN0cmluZ1dvcmRXcmFwcGluZyIpO3A9dC5qb2luKCIgIil9cmV0dXJuIHB9LHN0eWxlOmEuc3R5bGUsZGlyOigpPT5iKCkudXNlcklucHV0PyJhdXRvIjp2b2lkIDAsImFyaWEtbGFiZWwiOigpPT5KRihlKCksYigpLmFyaWFMYWJlbCk/YigpLmFyaWFMYWJlbDp2b2lkIDAscm9sZTooKT0+SkYoZSgpLGIoKS5hcmlhTGFiZWwpPyJ0ZXh0Ijp2b2lkIDB9KX0sZD1fLnVGKCgpPT57dmFyIGU9YS50ZXh0Py4oKTtpZihlKXJldHVybiBlPWU/LmNvbnRlbnQhPT12b2lkIDA/ZTpfLkFGKGUpLAplPy5jb250ZW50P2U6dm9pZCAwfSx7aXNFcXVhbDpNRn0pO3JldHVybiBhLll1P2MoZCk6Xy5LKF8uTyx7QTpkLHRoZW46Y30pfSwicSIpO18uVi5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUUo7UUo9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gbnVsbDthPU9iamVjdC5rZXlzKGEpO2ZvcihsZXQgYyBvZiBhKWlmKGE9Yy50b0xvd2VyQ2FzZSgpLGEuaW5kZXhPZihiLGEubGVuZ3RoLWIubGVuZ3RoKT4tMSlyZXR1cm4gYztyZXR1cm4gbnVsbH07Xy5SSj1mdW5jdGlvbihhKXt2YXIgYj1RSihhLCJhY3Rpb24iKXx8UUooYSwiY29tbWFuZCIpfHxRSihhLCJlbmRwb2ludCIpO2lmKCFiKXJldHVybiBudWxsO3t2YXIgYz0ieXQiK2I7bGV0IGQ9Xy5QSi5nZXQoYyk7ZD9jPWQ6KGI9YHl0LSR7Yi5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCl9YCxfLlBKLnNldChjLGIpLGM9Yil9Xy5CKGEsXy5OSikmJihjKz0iLSIrXy5CKGEsXy5OSikuc2lnbmFsLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXy9nLCItIikpO3JldHVybiBjfTtfLlNKPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPW5ldyBNYXB9fTtfLndhKF8uU0opOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRmRhLEdkYSxDSCxIZGEsREgsRUgsRkgsSWRhO0ZkYT1mdW5jdGlvbihhLGI9MCxjPS0xKXtpZighYS50b3RhbExlbmd0aHx8IWMpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO2M8MCYmKGM9YS50b3RhbExlbmd0aC1iKTthLmZvY3VzKGIpO2lmKCEoYi1hLnYrYzw9YS5qW2Eub10ubGVuZ3RoKSl7dmFyIGQ9YS5vLGU9YS52O2EuZm9jdXMoYitjLTEpO2U9bmV3IFVpbnQ4QXJyYXkoYS52K2EualthLm9dLmxlbmd0aC1lKTtsZXQgZj0wO2ZvcihsZXQgaD1kO2g8PWEubztoKyspZS5zZXQoYS5qW2hdLGYpLGYrPWEualtoXS5sZW5ndGg7YS5qLnNwbGljZShkLGEuby1kKzEsZSk7YS5vPTA7YS52PTA7YS5mb2N1cyhiKX1kPWEualthLm9dO3JldHVybiBuZXcgRGF0YVZpZXcoZC5idWZmZXIsZC5ieXRlT2Zmc2V0K2ItYS52LGMpfTsKR2RhPWZ1bmN0aW9uKGEsYj0wLGM9LTEpe2E9RmRhKGEsYixjKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCl9O0NIPWZ1bmN0aW9uKGEsYil7YS5mb2N1cyhiKTtyZXR1cm4gYS5qW2Eub11bYi1hLnZdfTsKSGRhPWZ1bmN0aW9uKGEpe2lmKCFhLmxlbmd0aClyZXR1cm4iIjt0cnl7aWYoXy5zQSlyZXR1cm4gXy5zQS5kZWNvZGUoYSk7aWYodHlwZW9mIEZldGNoSW50ZXJuYWwhPT0idW5kZWZpbmVkIilyZXR1cm4gRmV0Y2hJbnRlcm5hbC5kZWNvZGVGcm9tVVRGOChhKX1jYXRjaHt9Zm9yKHZhciBiPTAsYz1bXSxkPWEubGVuZ3RoO2I8ZDspe2xldCBmPTA7Zm9yKDtmPDEwMjQmJmI8ZDspe3ZhciBlPWFbYisrXTtpZihlPDEyOCl7Xy5yQVtmKytdPWU7Y29udGludWV9aWYoZTwyMjQpZT0oZSYzMSk8PDZ8YVtiKytdJjYzO2Vsc2UgaWYoZTwyNDApZT0oZSYxNSk8PDEyfChhW2IrK10mNjMpPDw2fGFbYisrXSY2MztlbHNle2lmKGYrMT09PTEwMjQpey0tYjticmVha31lPShlJjcpPDwxOHwoYVtiKytdJjYzKTw8MTJ8KGFbYisrXSY2Myk8PDZ8YVtiKytdJjYzO2UtPTY1NTM2O18uckFbZisrXT01NTI5NnxlPj4xMDtlPTU2MzIwfGUmMTAyM31fLnJBW2YrK109ZX1lPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLApfLnJBKTtmPDEwMjQmJihlPWUuc3Vic3RyaW5nKDAsZikpO2MucHVzaChlKX1yZXR1cm4gYy5qb2luKCIiKX07REg9ZnVuY3Rpb24oYSl7dmFyIGI9Q0goYS5qLGEucG9zKTsrK2EucG9zO2lmKGI8MTI4KXJldHVybiBiO2Zvcih2YXIgYz1iJjEyNyxkPTE7Yj49MTI4OyliPUNIKGEuaixhLnBvcyksKythLnBvcyxkKj0xMjgsYys9KGImMTI3KSpkO3JldHVybiBjfTtFSD1mdW5jdGlvbihhLGIpe3ZhciBjPWEubztmb3IoYS5vPS0xO2EucG9zKzE8PWEuai50b3RhbExlbmd0aDspe2M8MCYmKGM9REgoYSkpO3ZhciBkPWM+PjM7bGV0IGU9YyY3O2lmKGQ9PT1iKXJldHVybiEwO2lmKGQ+Yil7YS5vPWM7YnJlYWt9Yz0tMTtzd2l0Y2goZSl7Y2FzZSAwOkRIKGEpO2JyZWFrO2Nhc2UgMTphLnBvcys9ODticmVhaztjYXNlIDI6ZD1ESChhKTthLnBvcys9ZDticmVhaztjYXNlIDU6YS5wb3MrPTR9fXJldHVybiExfTsKXy5HSD1mdW5jdGlvbihhKXthPW5ldyBJZGEobmV3IEZIKFtfLnVjKGRlY29kZVVSSUNvbXBvbmVudChhKSldKSk7aWYoRUgoYSwyKSl7dmFyIGI9REgoYSk7dmFyIGM9R2RhKGEuaixhLnBvcyxiKTthLnBvcys9YjtiPWN9ZWxzZSBiPXZvaWQgMDtiPWI/SGRhKGIpOnZvaWQgMDthPUVIKGEsNCk/REgoYSk6dm9pZCAwO2M9Xy52QVthXTtpZih0eXBlb2YgYz09PSJ1bmRlZmluZWQiKXRocm93IGE9bmV3IF8uWGooIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLFdJOmF9KSxfLkdwKGEpLGE7cmV0dXJue1JJOmEsZW50aXR5VHlwZTpjLGVudGl0eUlkOmJ9fTtfLkhIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywicGxheWVyU3RhdGVFbnRpdHkiLGIpfTtfLklIPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywiYm9vbGVhbkVudGl0eSIsYil9OwpGSD1jbGFzc3tjb25zdHJ1Y3RvcihhPVtdKXt0aGlzLmo9W107dGhpcy50b3RhbExlbmd0aD10aGlzLnY9dGhpcy5vPTA7YS5mb3JFYWNoKGI9Pnt0aGlzLmFwcGVuZChiKX0pfWFwcGVuZChhKXt2YXIgYj10aGlzLmoubGVuZ3RoPT09MD8hMTooYj10aGlzLmpbdGhpcy5qLmxlbmd0aC0xXSkmJmIuYnVmZmVyPT09YS5idWZmZXImJmIuYnl0ZU9mZnNldCtiLmxlbmd0aD09PWEuYnl0ZU9mZnNldDtiPyhiPXRoaXMualt0aGlzLmoubGVuZ3RoLTFdLHRoaXMualt0aGlzLmoubGVuZ3RoLTFdPW5ldyBVaW50OEFycmF5KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCxiLmxlbmd0aCthLmxlbmd0aCksdGhpcy52PXRoaXMubz0wKTp0aGlzLmoucHVzaChhKTt0aGlzLnRvdGFsTGVuZ3RoKz1hLmxlbmd0aH1zcGxpdChhKXt2YXIgYj1uZXcgRkgsYz1uZXcgRkg7Zm9yKGxldCBkIG9mIHRoaXMuailhPj1kLmxlbmd0aD8oYi5hcHBlbmQoZCksYS09ZC5sZW5ndGgpOmE/KGIuYXBwZW5kKG5ldyBVaW50OEFycmF5KGQuYnVmZmVyLApkLmJ5dGVPZmZzZXQsYSkpLGMuYXBwZW5kKG5ldyBVaW50OEFycmF5KGQuYnVmZmVyLGQuYnl0ZU9mZnNldCthLGQubGVuZ3RoLWEpKSxhPTApOmMuYXBwZW5kKGQpO3JldHVybntqSjpiLGJMOmN9fWlzRm9jdXNlZChhKXtyZXR1cm4gYT49dGhpcy52JiZhPHRoaXMudit0aGlzLmpbdGhpcy5vXS5sZW5ndGh9Zm9jdXMoYSl7aWYoIXRoaXMuaXNGb2N1c2VkKGEpKWZvcihhPHRoaXMudiYmKHRoaXMudj10aGlzLm89MCk7dGhpcy52K3RoaXMualt0aGlzLm9dLmxlbmd0aDw9YSYmdGhpcy5vPHRoaXMuai5sZW5ndGg7KXRoaXMudis9dGhpcy5qW3RoaXMub10ubGVuZ3RoLHRoaXMubys9MX19O0lkYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YTt0aGlzLnBvcz0wO3RoaXMubz0tMX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSmVhLGFLO0plYT1mdW5jdGlvbihhLGIpe3ZhciBjPVpKLGQ9Xy5qZi5HYSgoKT0+e2MuUyh7dGV4dDpiLnRleHQsbG9jYXRpb246JEosYW5jaG9yOmEsb2Zmc2V0OmIub2Zmc2V0LHN0eWxlOmIuc3R5bGUsaG90a2V5OmIuaG90a2V5fSk7Yy5vKCEwKX0sNCxiLmRlbGF5KTtjLmooZCl9O2FLPWZ1bmN0aW9uKCl7dmFyIGE9WkosYj1hLnYoKTtiJiYoXy5qZi5BYShiKSxhLmoodm9pZCAwKSk7YS5vKCExKX07Cl8uYks9ZnVuY3Rpb24oYSxiKXt2YXIgW2MsZF09Xy5BQygoKT0+YSgpPz9iPy4oKT8udGV4dCk7cmV0dXJuW2U9Pnt2YXIgZj1fLk4oKCk9Pih7bG9jYXRpb246ImJvdHRvbSIsb2Zmc2V0OjE2LGRlbGF5OjEsLi4uYj8uKCksdGV4dDpjKCk/PyIifSksdm9pZCAwLCJJSlUzOGQiKTtfLm5FKCgpPT57dmFyIGw9ZigpO18uRUEoKCk9PntfLmpmLkdhKCgpPT57Wkoubm90aWZ5KGUsbCl9LDQpfSl9LCJXbHNnWmMiKTt2YXIgaD0oKT0+e0plYShlLGYoKSl9LGs9KCk9PnthSygpfTtlLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGgpO2UuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgpO2UuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsayk7ZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIixrKTtlLmFkZEV2ZW50TGlzdGVuZXIoInRhcCIsayk7Xy5ZdSgoKT0+e2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsaCk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwKayk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsaCk7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixrKTtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRhcCIsayk7YUsoKX0pfSxkXX07dmFyICRKPXtsZWZ0OiIwcHgiLHJpZ2h0OiJhdXRvIix0b3A6Ii0xMDBweCIsYm90dG9tOiJhdXRvIn07dmFyIFpKPW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe1t0aGlzLnN0YXRlLHRoaXMuU109Xy5KKHZvaWQgMCx2b2lkIDAsIkxma3hvZiIpO1t0aGlzLnNob3csdGhpcy5vXT1fLkooITEsdm9pZCAwLCJrMUZrb2UiKTtbdGhpcy52LHRoaXMual09Xy5KKHZvaWQgMCx2b2lkIDAsIlVsOE1JYyIpfW5vdGlmeShhLGIpe3RoaXMuc3RhdGUoKT8uYW5jaG9yPT09YSYmdGhpcy5TKHt0ZXh0OmIudGV4dCxsb2NhdGlvbjokSixhbmNob3I6YSxvZmZzZXQ6Yi5vZmZzZXQsc3R5bGU6Yi5zdHlsZSxob3RrZXk6Yi5ob3RrZXl9KX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmNLPW5ldyBfLkkoInRvb2x0aXBWaWV3TW9kZWwiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5kSz1mdW5jdGlvbihhLGIpe18uYUUoYSx7Li4uYixQcDohMH0pfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIFRiYTtUYmE9ZnVuY3Rpb24oYSxiKXt2YXIgW2MsZF09Xy5KKCExLHZvaWQgMCwibU55d3pjIiksZT0hMSxmLGg9az0+e2lmKGYpcmV0dXJuIF8uSyhmLHsuLi5rfSk7aWYoIWUpe2xldCBsPWEoKTtlPSEwO2lmKGwgaW5zdGFuY2VvZiBQcm9taXNlKXtsZXQgbT1fLmFEO20/LnN1KCk7bC50aGVuKG49PntmPW47ZCghMCk7bT8uSHIoKX0pLmNhdGNoKG49PnttPy5IcigpO2lmKGI/LmRlYnVnTmFtZSl7dmFyIHA9bmV3IF8uWGooImZhaWxlZCB0byBsb2FkIGNodW5rIixiLmRlYnVnTmFtZSxuPy50b1N0cmluZz8uKCkpO18uR3AocCl9ZWxzZSBfLkdwKG4pO3Rocm93IG47fSl9ZWxzZSByZXR1cm4gZj1sLF8uSyhmLHsuLi5rfSl9cmV0dXJuIF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoZix7Li4ua30pfSl9O18uYkQuc2V0KGgsYSk7cmV0dXJuIGh9O18uY0Q9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVGJhKGEsYj97ZGVidWdOYW1lOmJ9OnZvaWQgMCl9O18uSkQ9bmV3IF8uVnMoIkNIVU5LX1JFR0lTVFJZX1RPS0VOIik7Xy5iRD1uZXcgV2Vha01hcDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5lSz1uZXcgXy5WcygiTElHSFRfRUZGRUNUX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLZWE7Xy5mSz1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj0iIjtmb3IobGV0IGMgb2YgS2VhKWlmKGEuZW5kc1dpdGgoYykpe2I9YS5zbGljZSgwLC1jLmxlbmd0aCk7YnJlYWt9aWYoYiYmKGE9TnVtYmVyKGIpLCFpc05hTihhKSkpcmV0dXJuIGF9fTtLZWE9WyJyZW0iLCJweCIsIm1zIiwiJSIsInMiXTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEtkYSxSSDtfLlFIPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUEgoKTtyZXR1cm4gS2RhKGEsYil9O18uUEg9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oUkgpKSxbYixjXT1fLkooYSx2b2lkIDAsInpMSVlSYyIpO2F8fF8uWXQoUkgsYyk7cmV0dXJuIGJ9O0tkYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLk4oKCk9Pnt2YXIgYz1hKCk7cmV0dXJuIGM/YigpPy4oYyk6dm9pZCAwfSx2b2lkIDAsImVReGhtYiIpfTtSSD1uZXcgXy5WcygiU0VNQU5USUNfTEFZT1VUX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaUs9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJPdEtTSmUiKTtyZXR1cm4gXy5VQ307Xy5qSz1fLmNEKCgpPT5fLmlLKCksInRvdWNoRmVlZGJhY2tTaGFwZSIpO18uWXQoXy5KRCxhPT57YS5KKCJ0b3VjaEZlZWRiYWNrU2hhcGUiLCJPdEtTSmUiLF8uaUspfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBrSyxOZWEsbEssUGVhLG1LLFFlYSxSZWEsbksscEssVmVhLFdlYSxYZWEsWWVhO2tLPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgW2MsZF1vZiBhLmouZW50cmllcygpKWIucHVzaCh7ZWxlbWVudDpjLFB5OmR9KTthLnYoYil9O05lYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXtkPTB9dmFyIGQ9MDtyZXR1cm4gZnVuY3Rpb24oZSl7ZHx8KGQ9Xy51LnNldFRpbWVvdXQoYyxiKSxhLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX19O2xLPWZ1bmN0aW9uKGEpe3JldHVybiFpc05hTihOdW1iZXIoYSkpJiYhL15bXHNceGEwXSokLy50ZXN0KGEpfTsKUGVhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe2M9bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYSxbe3RyYW5zZm9ybToidHJhbnNsYXRlWSgwcHgpIn0se3RyYW5zZm9ybTpgdHJhbnNsYXRlWSgkeyhmP21LKGIsYyxkLGUpOmQ/LTE6MSkqaH1weClgfV0sT2VhKSxkb2N1bWVudC50aW1lbGluZSk7Yj8oYS5zdHlsZS5kaXNwbGF5PSIiLGMub25maW5pc2g9bnVsbCk6Yy5vbmZpbmlzaD0oKT0+e2Euc3R5bGUuZGlzcGxheT0ibm9uZSJ9O2MucGxheSgpO3JldHVybiBjfTttSz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1OdW1iZXIoYSkrMTA7Yj9hPyhhPU51bWJlcihhKSxiPU51bWJlcihiKSxjPWM/YjxhP2U6ZSsxMDpiPGE/ZS0xMDplKTpjPWM/MzA6MDpjPWE9PT0iMCI/ZTpjP2UtMTA6ZSsxMDtyZXR1cm4gZC1jfTsKUWVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgIm1vbm8iOnN3aXRjaChiKXtjYXNlICJmaWxsZWQiOnJldHVybiAxO2Nhc2UgInRvbmFsIjpyZXR1cm4gMztjYXNlICJvdXRsaW5lIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfWNhc2UgIm1vbm8taW52ZXJzZSI6c3dpdGNoKGIpe2Nhc2UgImZpbGxlZCI6cmV0dXJuIDI7Y2FzZSAidG9uYWwiOnJldHVybiA0O2Nhc2UgIm91dGxpbmUiOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9ZGVmYXVsdDpyZXR1cm4gMH19OwpSZWE9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIHtkaXNhYmxlZDprLGljb25Qb3NpdGlvbjpsLHN0eWxlOm0sZm9jdXNlZDpuLHVzZU91dGxpbmVkSWNvbjpwLEFjOnJ9PW5LKGEpLHQ9KCk9PiEhQSgpJiZsKCk9PT0iaWNvbi1vbmx5Iix2PSgpPT4hIUEoKSYmbCgpPT09Imljb24tb25seS00MCIsej0oKT0+ISFBKCkmJmwoKT09PSJpY29uLXdpdGgtbGFiZWwiLEU9KCk9PihrKCk/ImRpc2FibGVkIjphKCkuc3RhdGUpPT09ImRpc2FibGVkInx8aygpLEE9KCk9PiEhYnx8ISFkPy4oKXx8ISFyPy4oKSxGPSgpPT5fLngoImFuaW1hdGVfaWNvbl9kaXNhYmxlZF9raWxsc3dpdGNoIik/aD8uKCk6aD8uKCkmJiFFKCksQz1fLlBIKCksRz0oKT0+Xy5vSyhhKCksITAsQyxhKCkuaWdub3JlSWNvblNpemVPdmVycmlkZSk7cmV0dXJue3R5cGU6KCk9Pm0oKT09PSJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlIj8idGV4dCI6bSgpPT09Im92ZXJsYXktZGFyayImJmEoKS50eXBlIT09ImZpbGxlZCImJgphKCkudHlwZSE9PSJ0b25hbCI/InRvbmFsIjphKCkudHlwZSx0bjooKT0+KG4oKXx8Zj8uKCkpJiYhaygpLElsOigpPT4hIUEoKSYmbCgpPT09ImxlYWRpbmciLEtsOigpPT4hIUEoKSYmbCgpPT09InRyYWlsaW5nIixKbDooKT0+ISFBKCkmJiEoIWMmJiFlPy4oKSkmJmwoKT09PSJsZWFkaW5nLXRyYWlsaW5nIixFdzp0LEZ3OnYsR3c6eixpY29uQnV0dG9uOigpPT50KCl8fHYoKXx8eigpLGppOkUsdno6KCk9PiFhKCkuaWdub3JlSWNvblNpemVPdmVycmlkZSYmcEsoYSgpLEEoKSksbXg6Yj9iOigpPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOnJ9LCgpPT5fLksoImRpdiIse3N0eWxlOl8uSUUoe3dpZHRoOigpPT5gJHtHKCl9cHhgLGhlaWdodDooKT0+YCR7RygpfXB4YH0pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5XLHtkYXRhOnJ9LHthbmltYXRlZEFzc2V0Vmlld01vZGVsOih7ZGF0YTpEfSk9Pl8uSyhfLnFLLHtkYXRhOkQsc246ITB9KX0pKSksXy5LKF8uREUsCm51bGwsKCk9Pl8uSyhfLk1ELHtpY29uOmQsWnA6KCk9PmEoKS5jdXN0b21Db2xvcnM/Lm1KLHNpemU6RyxhY3RpdmU6KCk9PmEoKS50b2dnbGVkJiYhcD8uKCksYWc6KCk9PnthKCl9LEdlOkZ9KSkpLGFBOmM/YzooKT0+Xy5LKF8uTUQse2ljb246ZSxzaXplOkcsYWN0aXZlOigpPT5hKCkudG9nZ2xlZCYmIXA/LigpLGFnOigpPT57YSgpfX0pfX07Cm5LPWZ1bmN0aW9uKGEpe3JldHVybntzaXplOigpPT5hKCkuc2l6ZSxzdHlsZTooKT0+YSgpLnN0eWxlLGZvY3VzZWQ6KCk9PmEoKS5mb2N1c2VkLGRpc2FibGVkOigpPT5hKCkuZGlzYWJsZWQsb25UYXA6Yj0+YSgpLm9uVGFwPy4oYiksb2k6KCk9PmEoKS5vaSx1YzooKT0+YSgpLnVjLGN1c3RvbUNvbG9yczooKT0+YSgpLmN1c3RvbUNvbG9ycyxzZWdtZW50ZWRQb3NpdGlvbjooKT0+YSgpLnNlZ21lbnRlZFBvc2l0aW9uLHRvZ2dsZWQ6KCk9PmEoKS50b2dnbGVkLHRvZ2dsZWFibGU6KCk9PmEoKS50b2dnbGVhYmxlLGFjY2Vzc2liaWxpdHlMYWJlbDooKT0+YSgpLmFjY2Vzc2liaWxpdHlMYWJlbCxIZTooKT0+YSgpLkhlLG9uVG9nZ2xlOmI9PmEoKS5vblRvZ2dsZT8uKGIpLGljb25Qb3NpdGlvbjooKT0+YSgpLmljb25Qb3NpdGlvbixvbmVPZmZDdXN0b21UZXh0V3JhcDooKT0+YSgpLm9uZU9mZkN1c3RvbVRleHRXcmFwLElmOigpPT5hKCkuSWYsQXA6KCk9PmEoKS5BcCx0b29sdGlwVGV4dDooKT0+CmEoKS50b29sdGlwVGV4dCxEbjooKT0+YSgpLkRuLGFyaWFIaWRkZW46KCk9PmEoKS5hcmlhSGlkZGVuLGFyaWFFeHBhbmRlZDooKT0+YSgpLmFyaWFFeHBhbmRlZCx0YWJJbmRleDooKT0+YSgpLnRhYkluZGV4LGJ1dHRvblRleHQ6KCk9PmEoKS5idXR0b25UZXh0LFdhOigpPT5hKCkuV2EsYWI6KCk9PmEoKS5hYixvbkNsaWNrUmF0ZUxpbWl0TXM6KCk9PmEoKS5vbkNsaWNrUmF0ZUxpbWl0TXMsb25Ib3ZlcjpiPT5hKCkub25Ib3Zlcj8uKGIpLG1pZGRsZWdyb3VuZEFzc2V0OigpPT5hKCkubWlkZGxlZ3JvdW5kQXNzZXQsQWM6KCk9PmEoKS5BYyxkaXNhYmxlTGlnaHRTaGFwZTooKT0+YSgpLmRpc2FibGVMaWdodFNoYXBlLHVzZU91dGxpbmVkSWNvbjooKT0+YSgpLnVzZU91dGxpbmVkSWNvbn19OwpwSz1mdW5jdGlvbihhLGIpe2I9KGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seSJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seS00MCJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24td2l0aC1sYWJlbCIpJiZiO3JldHVybiFhLnNlZ21lbnRlZFBvc2l0aW9uJiZiJiZhLnNpemU9PT0iUyJ9OwpfLm9LPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWMoKTtpZihfLngoIndlYl9idXR0b25faWNvbl9zaXplX2V4cGVyaW1lbnQiKSl7YTp7Yz1fLmZLKGU/LihTZWEpKT8/MTI7dmFyIGY9Xy5mSyhlPy4oVGVhKSk/PzE4O2U9Xy5mSyhlPy4ockspKT8/MjQ7bGV0IGg9YS5pY29uUG9zaXRpb249PT0iaWNvbi1vbmx5IiYmIWEuc2VnbWVudGVkUG9zaXRpb258fGEuaWNvblBvc2l0aW9uPT09Imljb24tb25seS00MCJ8fGEuaWNvblBvc2l0aW9uPT09Imljb24td2l0aC1sYWJlbCI7c3dpdGNoKGEuc2l6ZSl7Y2FzZSAiWFMiOmE9YzticmVhayBhO2Nhc2UgIlMiOmE9IWQmJnBLKGEsYik/ZTpmO2JyZWFrIGE7Y2FzZSAiTSI6YT1oP2U6ZjticmVhayBhO2RlZmF1bHQ6YT1lfX1yZXR1cm4gYX1jPV8uZksoZT8uKFVlYSkpPz8xNjtmPV8uZksoZT8uKHJLKSk/PzI0O3N3aXRjaChhLnNpemUpe2Nhc2UgIlhTIjpyZXR1cm4gYztjYXNlICJTIjpyZXR1cm4hZCYmcEsoYSxiKT9mOmM7ZGVmYXVsdDpyZXR1cm4gZn19OwpWZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImZpbGxlZCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEZpbGxlZCI7Y2FzZSAib3V0bGluZSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE91dGxpbmUiO2Nhc2UgInRvbmFsIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0VG9uYWwiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFRleHQifX07CldlYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiY2FsbC10by1hY3Rpb24iOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb24iO2Nhc2UgImNhbGwtdG8tYWN0aW9uLW92ZXJsYXkiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRDYWxsVG9BY3Rpb25PdmVybGF5IjtjYXNlICJtb25vIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ubyI7Y2FzZSAib3ZlcmxheSI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXkiO2Nhc2UgIm92ZXJsYXktZGFyayI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dE92ZXJsYXlEYXJrIjtjYXNlICJjYWxsLXRvLWFjdGlvbi1pbnZlcnNlIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0Q2FsbFRvQWN0aW9uSW52ZXJzZSI7Y2FzZSAibW9uby1pbnZlcnNlIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ub0ludmVyc2UiO2Nhc2UgImJyYW5kLWdyYWRpZW50IjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0QnJhbmRHcmFkaWVudCI7CmNhc2UgImdlbi1haS1ncmFkaWVudCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dEdlbkFpR3JhZGllbnQiO2Nhc2UgInJhaXNlZCI6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFJhaXNlZCI7ZGVmYXVsdDpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0TW9ubyJ9fTtYZWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIlhTIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVhzIjtjYXNlICJTIjpyZXR1cm4ieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2l6ZVMiO2Nhc2UgIkwiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplTCI7Y2FzZSAiWEwiOnJldHVybiJ5dFNwZWNCdXR0b25TaGFwZU5leHRTaXplWGwiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY0J1dHRvblNoYXBlTmV4dFNpemVNIn19OwpZZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1fLmhLKCk7Xy5uRSgoKT0+e2ImJihhKCk/Yy5qLnNldChiLHZvaWQgMCk6Yy5qLmRlbGV0ZShiKSxrSyhjKSl9LCJvR1FjaWMiKTtfLll1KCgpPT57Yy5qLmRlbGV0ZShiKTtrSyhjKX0pfX07Xy50Sz1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm5PNWRUZCIpO3JldHVybiBfLllKfTtfLnFLPV8uY0QoKCk9Pl8udEsoKSwiYW5pbWF0ZWRBc3NldFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJhbmltYXRlZEFzc2V0Vmlld01vZGVsIiwibk81ZFRkIixfLnRLKX0pO3ZhciBPZWE9e2R1cmF0aW9uOjFFMyxlYXNpbmc6ImVhc2UiLGZpbGw6ImZvcndhcmRzIn0sdUs9Xy5MKGE9Pnt2YXIgYj1fLnVFKCJhbmltYXRlZC1yb2xsaW5nLWNoYXJhY3RlciIpLGM9dm9pZCAwLGQ9Xy5OKCgpPT5sSyhhLkpjPy4oKSl8fGxLKGEueGU/LigpKSx2b2lkIDAsInFTREQ5ZCIpLFtlLGZdPV8uSigwLHZvaWQgMCwiU0lnS0RkIik7Xy5vRigoKT0+e2lmKHdpbmRvdy5SZXNpemVPYnNlcnZlciYmXy54KCJ3ZWJfZml4X3JvbGxpbmdfbnVtYmVyc196b29tX3NhZmFyaSIpKXtsZXQgaD1uZXcgXy5XdCgoKT0+e3ZhciBsPU1hdGgucm91bmQoKGIudmFsdWUucXVlcnlTZWxlY3RvcigiZGl2Iik/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodD8/MCkqMTAwKS8xMDA7bCYmZihsKX0sNTAwKSxrPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e2gudigpfSk7ay5vYnNlcnZlKGIudmFsdWUpO18uWXUoKCk9PntrLmRpc2Nvbm5lY3QoKTtoLmRpc3Bvc2UoKX0pfX0pO18ubkUoKCk9Pgp7dmFyIGg9Xy54KCJ3ZWJfZml4X3JvbGxpbmdfbnVtYmVyc196b29tX3NhZmFyaSIpP2U6YS5CaDtpZihoKCkpe2M/LmNhbmNlbCgpO2lmKGQoKSl7dmFyIGs9YS54ZT8uKCk/TnVtYmVyKGEueGUoKSkrMTA6YS5FZCgpPzA6MzA7YS54Yj8uKCl8fChrLT1tSyhhLkpjPy4oKSxhLnhlPy4oKSxhLkVkKCksaykpfWVsc2UgaWYoaz1hLkVkKCk/MDoyLCFhLnhiPy4oKSl7dmFyIGw9YS5FZCgpPy0xOjE7ay09bH1iLnZhbHVlLnN0eWxlLm1hcmdpblRvcD1gLSR7aypoKCl9cHhgO2EueGI/LigpP2M9UGVhKGIudmFsdWUsYS5KYz8uKCksYS54ZT8uKCksYS5FZCgpLGssZCgpLGgoKSk6Yi52YWx1ZS5zdHlsZS5kaXNwbGF5PWEuSmM/LigpPyIiOiJub25lIn19LCJOSjRnQSIpO3JldHVybiBfLksoImFuaW1hdGVkLXJvbGxpbmctY2hhcmFjdGVyIix7ZWw6YixjbGFzczoiYW5pbWF0ZWRSb2xsaW5nQ2hhcmFjdGVySG9zdCJ9LF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoWmVhLG51bGwpLFc6KCk9PgpfLksoJGVhLHtKYzphLkpjfSl9KSl9LCJnYSIpO3VLLmlkb21Db21wYXQ9ITA7dmFyIFplYT1fLkwoKCk9Pnt2YXIgYT1bXTtmb3IobGV0IGI9MTtiPDMwO2IrKylhLnB1c2goXy5LKCJkaXYiLG51bGwsYiUxMCkpO3JldHVybiBfLksoXy5JQixudWxsLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSxhLF8uSygiZGl2IixudWxsLCJcdTAwYTAiKSl9LCJoYSIpLCRlYT1fLkwoKHtKYzphfSk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLG51bGwsIlx1MDBhMCIpLF8uSyhfLk8se0E6KCk9PiFhPy4oKXx8L15bXHNceGEwXSokLy50ZXN0KGE/LigpKSx0aGVuOigpPT5fLksoImRpdiIsbnVsbCwiXHUwMGEwIiksVzooKT0+Xy5LKCJkaXYiLG51bGwsYSl9KSxfLksoImRpdiIsbnVsbCwiXHUwMGEwIikpLCJpYSIpO3ZhciB2Sz1fLkwoYT0+e3ZhciBiPXZvaWQgMCxjPXZvaWQgMDtfLm5FKCgpPT57Yj1hLlhiKCk7Yz1hLm51bWJlclZhbHVlPy4oKX0sInI3dHFRZCIpO3ZhciBkPV8uTigoKT0+e2lmKCFhLlhiKCkpcmV0dXJuW107dmFyIGU9YS5RcD8uKCl8fCFjfHwhYS5udW1iZXJWYWx1ZT8uKCl8fGM8YS5udW1iZXJWYWx1ZSgpLGY9YS5YYigpLGg9YS5naD8uKCk/YS5oZWlnaHRQeCgpKmEuZ2goKTphLmhlaWdodFB4KCksaz0hIWEueGI/LigpLGw9W10sbT0wLG49MCxwPShiP2IucmVwbGFjZSgvXEQvZywiIikubGVuZ3RoOjApLShmP2YucmVwbGFjZSgvXEQvZywiIikubGVuZ3RoOjApLHI9Yj9iLnNwbGl0KC8oXGQpLykuZmlsdGVyKEJvb2xlYW4pOltdO2ZvcihmPWYuc3BsaXQoLyhcZCkvKS5maWx0ZXIoQm9vbGVhbik7cDwwOyl7dmFyIHQ9ZltuXTtsLnB1c2goe0pjOnQsRWQ6ZSxCaDpoLHhiOmt9KTtuKys7bEsodCkmJnArK31mb3IoO208cDspdD1yW21dLGwucHVzaCh7eGU6dCxFZDplLApCaDpoLHhiOmt9KSxtKyssbEsodCl8fHArKztmb3IoO248Zi5sZW5ndGg7KXA9ZltuXSx0PXJbbV0sbEsocCk9PT1sSyh0KT8obisrLG0rKyk6bEsocCk/KG0rKyxwPXZvaWQgMCk6bEsodCkmJihuKyssdD12b2lkIDApLGwucHVzaCh7SmM6cCx4ZTp0LEVkOmUsQmg6aCx4YjprfSk7cmV0dXJuIGx9LHZvaWQgMCwid21uSFIiKTtyZXR1cm4gXy5LKCJ5dC1hbmltYXRlZC1yb2xsaW5nLW51bWJlciIse2NsYXNzOiJhbmltYXRlZFJvbGxpbmdOdW1iZXJIb3N0IixzdHlsZTooKT0+YS5YYigpP1tgaGVpZ2h0OiAke2EuZ2g/LigpP2EuaGVpZ2h0UHgoKSphLmdoKCk6YS5oZWlnaHRQeCgpfXB4O2AsYGxpbmUtaGVpZ2h0OiAke2EuaGVpZ2h0UHgoKX1weDtgXS5qb2luKCIgIik6IiIsZGlyOiJsdHIiLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5nRyx7cGE6ZCx0YjoiSU5ERVgifSxlPT5fLksodUsse0pjOigpPT5lKCkuSmMseGU6KCk9PmUoKS54ZSxCaDooKT0+ZSgpLkJoLEVkOigpPT4KZSgpLkVkLHhiOigpPT5lKCkueGJ9KSkpfSwia2EiKTt2Sy5pZG9tQ29tcGF0PSEwO3ZhciBhZmE9WyJtb25vIiwibW9uby1pbnZlcnNlIiwib3ZlcmxheSJdLGJmYT1bImZpbGxlZCJdO3ZhciB3Sz17Y3VwY2FrZToxLjUsZG9udXQ6MS42LGVjbGFpcjoyLGZyb3lvOjIuMixnaW5nZXJicmVhZDoyLjMsaG9uZXljb21iOjMsImljZSBjcmVhbSBzYW5kd2ljaCI6NCxqZWxseWJlYW46NC4xLGtpdGthdDo0LjQsbG9sbGlwb3A6NS4xLG1hcnNobWFsbG93OjYsbm91Z2F0OjcuMX0seEs7YTp7dmFyIHlLPV8uYmMoKTt5Sz15Sy50b0xvd2VyQ2FzZSgpO2lmKHlLLmluZGV4T2YoImFuZHJvaWQiKSE9LTEpe3ZhciB6Sz15Sy5tYXRjaCgvYW5kcm9pZFxzKihcZCsoXC5cZCspPylbXjt8KV0qWzspXS8pO2lmKHpLKXtsZXQgYT1wYXJzZUZsb2F0KHpLWzFdKTtpZihhPDEwMCl7eEs9YTticmVhayBhfX12YXIgQUs9eUsubWF0Y2goIigiK09iamVjdC5rZXlzKHdLKS5qb2luKCJ8IikrIikiKTt4Sz1BSz93S1tBS1swXV06MH1lbHNlIHhLPXZvaWQgMH1fLkJLPXhLPj0wO3ZhciBDSyxGSzt7dmFyIERLPV8uYmMoKTtsZXQgYT1ESy5tYXRjaCgvXCgoaVBhZHxpUGhvbmV8aVBvZCkoIFNpbXVsYXRvcik/Oy8pO2lmKCFhfHxhLmxlbmd0aDwyKUNLPXZvaWQgMDtlbHNle3ZhciBFSz1ESy5tYXRjaCgvXCgoaVBhZHxpUGhvbmV8aVBvZCkoIFNpbXVsYXRvcik/OyAoVTsgKT9DUFUgKGlQaG9uZSApP09TIChcZCtfXGQpW18gXS8pO0NLPUVLJiZFSy5sZW5ndGg9PT02P051bWJlcihFS1s1XS5yZXBsYWNlKCJfIiwiLiIpKTowfX1GSz1DSztfLkdLPUZLPj0wO3ZhciBVZWE9e3l0U3lzTWVhc3VyZW1lbnRSZWZlcmVuY2U6IllUX1NZU19NRUFTVVJFTUVOVF9SRUZFUkVOQ0VfSUNPTl9TSVpFX0NPTkRFTlNFRCJ9LHJLPXt5dFN5c01lYXN1cmVtZW50UmVmZXJlbmNlOiJZVF9TWVNfTUVBU1VSRU1FTlRfUkVGRVJFTkNFX0lDT05fU0laRV9DT01GT1JUQUJMRSJ9LFNlYT17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfTUlOSSJ9LFRlYT17eXRTeXNNZWFzdXJlbWVudFJlZmVyZW5jZToiWVRfU1lTX01FQVNVUkVNRU5UX1JFRkVSRU5DRV9JQ09OX1NJWkVfQ09NUEFDVCJ9LGNmYT1fLkwoYT0+Xy5LKF8uTyx7QTphLnVjLHRoZW46Yj0+Xy5LKF8ubkgse3VjOmIsZGlzYWJsZWQ6YS5kaXNhYmxlZCxjbGFzc05hbWU6YS5jbGFzc05hbWUsc3R5bGU6YS5zdHlsZSx0aXRsZTphLnRpdGxlLGFyaWFMYWJlbDphLmFyaWFMYWJlbCxIZTphLkhlLGFyaWFDdXJyZW50OigpPT5hLnRvZ2dsZWFibGU/LigpJiYKYS50b2dnbGVkPy4oKSxhcmlhRXhwYW5kZWQ6YS5hcmlhRXhwYW5kZWQscmVmOmEucmVmLG9uSG92ZXI6YS5vbkhvdmVyfSxhLmNoaWxkcmVuKSxXOigpPT5fLksoImJ1dHRvbiIse2VsOl8uckYoYS5yZWYpLCJvbjpjbGljayI6YS5vbkNsaWNrLCJvbjptb3VzZWVudGVyIjphLm9uSG92ZXIsY2xhc3M6YS5jbGFzc05hbWUsdGl0bGU6YS50aXRsZSxzdHlsZTphLnN0eWxlLGRpc2FibGVkOmEuZGlzYWJsZWQsImFyaWEtcHJlc3NlZCI6KCk9PmEudG9nZ2xlYWJsZT8uKCk/ISFhLnRvZ2dsZWQ/LigpOnZvaWQgMCwiYXJpYS1sYWJlbCI6YS5hcmlhTGFiZWwsImFyaWEtZGVzY3JpYmVkYnkiOmEuSGUsImFyaWEtZGlzYWJsZWQiOmEuamksImFyaWEtaGlkZGVuIjphLmFyaWFIaWRkZW4sImFyaWEtZXhwYW5kZWQiOmEuYXJpYUV4cGFuZGVkLHRhYmluZGV4OigpPT5hLnRhYkluZGV4Py4oKT8/KChfLk9rfHxfLnJ6KCkpJiZfLngoIndlYl9lbmFibGVfc2FmYXJpX2J1dHRvbl90YWJpbmRleF9maXgiKT8KMDp2b2lkIDApfSxhLmNoaWxkcmVuKX0pLCJsYSIpLGRmYT1fLkwoKHtkYXRhOmEsSWw6YixKbDpjLEtsOmQsaWNvbkJ1dHRvbjplLGl4OmYsWno6aCxpY29uOmssc2Vjb25kYXJ5SWNvbjpsLFVBOm0sSnk6bixqaTpwLGRpc2FibGVMaWdodFNoYXBlOnJ9KT0+e3ZhciB0PV8ueSgpLnJlc29sdmUoXy5JbihfLmVLKSksdj1fLklFKHtjb2xvcjooKT0+YSgpLmN1c3RvbUNvbG9ycz8uaWNvbkNvbG9yfSk7cmV0dXJuIF8uSyhISyx7Y2xhc3NOYW1lOiIiLHN0eWxlOiJkaXNwbGF5OiBpbmhlcml0OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciJ9LF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6IlY0ejFVYyIsQTooKT0+ayYmKGIoKXx8YygpfHxlPy4oKSksdGhlbjooKT0+Xy5LKEhLLG51bGwsXy5LKCJkaXYiLHtjbGFzczpmLHN0eWxlOnYsImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LGs/LigpKSl9KSxfLksoXy5PLHtkZWJ1Z0luc3RhbmNlOiJvazNidGIiLEE6KCk9PihhKCkuYnV0dG9uVGV4dHx8CmEoKS5hYnx8YSgpLldhKSYmIWU/LigpLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSyhJSyx7Y2xhc3NOYW1lOm0saWNvblBvc2l0aW9uOigpPT5hKCkuaWNvblBvc2l0aW9uLHRleHQ6KCk9PmEoKS5idXR0b25UZXh0LG9uZU9mZkN1c3RvbVRleHRXcmFwOigpPT5hKCkub25lT2ZmQ3VzdG9tVGV4dFdyYXAsV2E6KCk9PmEoKS5XYSxhYjooKT0+YSgpLmFifSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToiRE81UnoiLEE6ZCx0aGVuOigpPT5fLksoSEssbnVsbCxfLksoImRpdiIse2NsYXNzOmYsc3R5bGU6dn0saz8uKCkpKX0pLF8uSyhfLk8se2RlYnVnSW5zdGFuY2U6ImJub2pTYyIsQTpjLHRoZW46KCk9Pl8uSyhISyxudWxsLF8uSygiZGl2Iix7Y2xhc3M6aCxzdHlsZTp2fSxsPy4oKSkpfSksXy5LKF8uTyx7ZGVidWdJbnN0YW5jZToiSE4za2FkIixBOigpPT4hYSgpLmRpc2FibGVkJiYhKHQ/LldvJiYhcD8uKCkpLHRoZW46KCk9Pl8uSyhfLmpLLHttb2RlbDooKT0+e3ZhciB6PQphKCk7cmV0dXJue2NvbG9yOnouc3R5bGU9PT0ib3ZlcmxheS1kYXJrIj80Onouc3R5bGU9PT0ib3ZlcmxheSI/ei50eXBlPT09ImZpbGxlZCI/NDozOnoudHlwZT09PSJmaWxsZWQifHx6LnN0eWxlPT09ImNhbGwtdG8tYWN0aW9uLWludmVyc2UifHx6LnN0eWxlPT09Im1vbm8taW52ZXJzZSI/MjoxfX19KX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5taWRkbGVncm91bmRBc3NldH0se2FuaW1hdGVkQXNzZXRWaWV3TW9kZWw6KHtkYXRhOnp9KT0+Xy5LKF8ucUsse2RhdGE6eixjbGFzc05hbWU6bixzbjohMH0pfSksXy5LKF8uTyx7QTooKT0+dD8uSXUmJiFwPy4oKSYmIXI/LigpLHRoZW46KCk9Pl8uSyhfLnlFLHtjb25maWc6KCk9Pnt2YXIgej1hKCksRT16LnN0eWxlLEE9ei50eXBlLEY9Xy55KCkucmVzb2x2ZShfLkluKF8uZUspKTtyZXR1cm57VmE6UWVhKEUsQSksams6Rj8uVm8mJkE9PT0idG9uYWwiLGV2OnouY3VzdG9tQ29sb3JzPy5iYWNrZ3JvdW5kQ29sb3IsZHY6ei5jdXN0b21Db2xvcnM/LmJvcmRlckNvbG9yLApDQjpGPy5Xb319fSl9KSl9LCJtYSIpLElLPV8uTChhPT57dmFyIGI9KCk9PmEuaWNvblBvc2l0aW9uPy4oKT09PSJpY29uLXdpdGgtbGFiZWwifHxhLm9uZU9mZkN1c3RvbVRleHRXcmFwPy4oKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczphLmNsYXNzTmFtZSwiYXJpYS1oaWRkZW4iOigpPT5hLmFyaWFIaWRkZW4/LigpJiYoISFhLmFiPy4oKXx8ISFhLldhPy4oKSl9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEuYWI/LigpfSwoKT0+Xy5LKHZLLHtYYjooKT0+YS5hYigpLlhiLG51bWJlclZhbHVlOigpPT5hLmFiKCkubnVtYmVyVmFsdWUsaGVpZ2h0UHg6KCk9PmEuYWIoKS5oZWlnaHRQeCxnaDooKT0+YS5hYigpLmdoLHhiOigpPT5hLmFiKCkueGIsUXA6KCk9PmEuYWIoKS5RcH0pKSxfLksoXy5DRSx7d2hlbjooKT0+YS5XYT8uKCl9LCgpPT5fLksoXy5WLHt0ZXh0OigpPT4oey4uLmEuV2EoKSxsaW5lQnJlYWtNb2RlOmIoKT8iTElORV9CUkVBS19NT0RFX0JZX1dPUkRfV1JBUFBJTkciOgphLldhKCkubGluZUJyZWFrTW9kZSxhbGlnbm1lbnQ6YigpPyJURVhUX0FMSUdOTUVOVF9DRU5URVIiOmEuV2EoKS5hbGlnbm1lbnR9KSx1YjohMCxub1dyYXA6KCk9PiFiKCl9KSksXy5LKF8uQ0Use3doZW46KCk9PmEuaWNvblBvc2l0aW9uPy4oKT09PSJpY29uLXdpdGgtbGFiZWwiJiZhLnRleHQ/LigpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+KHtjb250ZW50OmEudGV4dCgpLGxpbmVCcmVha01vZGU6IkxJTkVfQlJFQUtfTU9ERV9CWV9XT1JEX1dSQVBQSU5HIixhbGlnbm1lbnQ6IlRFWFRfQUxJR05NRU5UX0NFTlRFUiJ9KSx1YjohMCxub1dyYXA6ITF9KSksXy5LKF8uREUsbnVsbCwoKT0+YS50ZXh0KSkpfSwibmEiKSxlZmE9Xy5MKGE9Pl8uSyhfLk8se2RlYnVnSW5zdGFuY2U6ImtNN1NnYyIsQTphLmhhc0xhYmVsLHRoZW46KCk9Pl8uSygibGFiZWwiLHtjbGFzczphLmNsYXNzTmFtZX0sYS5jaGlsZHJlbixhLnRleHRDb250ZW50Py4oKSksVzooKT0+YS5jaGlsZHJlbn0pLCJvYSIpLApISz1fLkwoYT0+YS5jaGlsZHJlbiwicGEiKTtfLkpLPV8uTCgoe2RhdGE6YSxpY29uOmIsaWNvbk5hbWU6YyxHZTpkLHNlY29uZGFyeUljb246ZSxRcjpmLFhJOmgsYXA6a30pPT57Xy5tRygpO3ZhciB7c2l6ZTpsLHN0eWxlOm0sZGlzYWJsZWQ6bixvblRhcDpwLG9pOnIsdWM6dCxjdXN0b21Db2xvcnM6dixzZWdtZW50ZWRQb3NpdGlvbjp6LHRvZ2dsZWQ6RSx0b2dnbGVhYmxlOkEsYWNjZXNzaWJpbGl0eUxhYmVsOkYsb25Ub2dnbGU6QyxpY29uUG9zaXRpb246RyxvbmVPZmZDdXN0b21UZXh0V3JhcDpELElmOkgsQXA6Uix0b29sdGlwVGV4dDpNLERuOlMsYXJpYUhpZGRlbjpZLGFyaWFFeHBhbmRlZDpwYSx0YWJJbmRleDpvYSxidXR0b25UZXh0OlUsV2E6aGEsYWI6bWEsb25DbGlja1JhdGVMaW1pdE1zOnRhLG9uSG92ZXI6VCxtaWRkbGVncm91bmRBc3NldDpiYSxkaXNhYmxlTGlnaHRTaGFwZTphYX09bksoYSkse3R5cGU6T2EsdG46SmIsSWw6emEsS2w6TGIsSmw6Y2MsRXc6bGMsRnc6VmIsR3c6dGQsaWNvbkJ1dHRvbjpCZSwKamk6YWQsdno6bnMsbXg6TWcsYUE6WkJ9PVJlYShhLGIsZSxjLGYsaCxkKSxbZmZhXT1fLmJLKE0sUyksTFQ9cmI9PntwPy4ocmIpO0EoKSYmQz8uKHJiKX0sTVQ9Xy5OKCgpPT50YT8uKCksdm9pZCAwLCJzaUt5d2IiKSxnZmE9Xy5OKCgpPT5NVCgpP05lYShMVCxNVCgpKTpMVCx2b2lkIDAsIndEVGNOIiksJEI9Xy55KCkucmVzb2x2ZShfLkluKF8uZUspKTtiPV8uTigoKT0+YmEoKXx8JEI/Lkl1LHZvaWQgMCwielVRUk9lIik7dmFyIGhmYT1ZZWEoKCk9Pnt2YXIgcmI9bSgpLGFpPU9hKCk7cmV0dXJuISFfLnkoKS5yZXNvbHZlKF8uSW4oXy5lSykpPy5WbyYmYWZhLmluY2x1ZGVzKHJiKSYmYmZhLmluY2x1ZGVzKGFpKX0pO3JldHVybiBfLksoZWZhLHtjbGFzc05hbWU6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbEhvc3QiLHt5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbElzT3ZlcmxheTooKT0+bSgpPT09Im92ZXJsYXkifHxtKCk9PT0ib3ZlcmxheS1kYXJrIn0pLGhhc0xhYmVsOnRkLAp0ZXh0Q29udGVudDooKT0+Xy5LKElLLHt0ZXh0OlUsY2xhc3NOYW1lOiJ5dFNwZWNCdXR0b25TaGFwZVdpdGhMYWJlbExhYmVsIixhcmlhSGlkZGVuOiEwLG9uZU9mZkN1c3RvbVRleHRXcmFwOkQsaWNvblBvc2l0aW9uOkcsV2E6aGEsYWI6bWF9KX0sXy5LKGNmYSx7dWM6dCxjbGFzc05hbWU6Xy5QKCJ5dFNwZWNCdXR0b25TaGFwZU5leHRIb3N0IiwoKT0+VmVhKE9hKCkpLCgpPT5hZCgpP3ZvaWQgMDpXZWEobSgpKSwoKT0+WGVhKGwoKSkse3l0U3BlY0J1dHRvblNoYXBlTmV4dERpc2FibGVkOmFkLHl0U3BlY0J1dHRvblNoYXBlTmV4dEZvY3VzZWQ6SmIseXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvblRyYWlsaW5nOkxiLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nOnphLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25MZWFkaW5nVHJhaWxpbmc6Y2MseXRTcGVjQnV0dG9uU2hhcGVOZXh0SWNvbkxlYWRpbmdUcmFpbGluZ05vVGV4dDooKT0+Y2MoKSYmIShVKCl8fGhhKCkpLAp5dFNwZWNCdXR0b25TaGFwZU5leHRJY29uQnV0dG9uOigpPT5sYygpfHx0ZCgpLHl0U3BlY0J1dHRvblNoYXBlTmV4dEljb25Pbmx5RGVmYXVsdDpWYix5dFNwZWNCdXR0b25TaGFwZU5leHRBbGlnbkJ5VGV4dDpyLHl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZFN0YXJ0OigpPT56KCk9PT0ic3RhcnQiLHl0U3BlY0J1dHRvblNoYXBlTmV4dFNlZ21lbnRlZEVuZDooKT0+eigpPT09ImVuZCIseXRTcGVjQnV0dG9uU2hhcGVOZXh0T3ZlcnJpZGVTbWFsbFNpemVJY29uOm5zLHl0U3BlY0J1dHRvblNoYXBlTmV4dE9uZU9mZkN1c3RvbVRleHRXcmFwQ29udGFpbmVyOkQseXRTcGVjQnV0dG9uU2hhcGVOZXh0RGlzYWJsZVRleHRFbGxpcHNpczpILHl0U3BlY0J1dHRvblNoYXBlTmV4dEVuYWJsZUJhY2tkcm9wRmlsdGVyRXhwZXJpbWVudDooKT0+e3ZhciByYjtpZihyYj0hUigpKSEocmI9Xy5HSyYmRks+PTE0KSYmKHJiPV8uQkspJiYocmI9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5Pj0KOCkscmI9cmI/IV8ueCgid2ViX2Rpc2FibGVfYmFja2Ryb3BfZmlsdGVyIik6ITE7cmV0dXJuIHJifSx5dFNwZWNCdXR0b25TaGFwZU5leHRFbmFibGVMaWdodFRvdWNoUmVzcG9uc2U6KCk9PiEhJEI/LldvJiYhYWQoKSx5dFNwZWNCdXR0b25TaGFwZU5leHRNYWluc3RhZ2VJY29uU2l6ZTooKT0+Xy54KCJ3ZWJfYnV0dG9uX2ljb25fc2l6ZV9leHBlcmltZW50IikseXRTcGVjQnV0dG9uU2hhcGVOZXh0TWFpbnN0YWdlUGFkZGluZzooKT0+Xy54KCJ3ZWJfYnV0dG9uX21haW5zdGFnZV9wYWRkaW5nIil9KSxzdHlsZTooKT0+e3ZhciByYj12KCk7aWYocmIpe3ZhciBhaT1yYi5jb2xvcjt2YXIgTlQ9cmIuYmFja2dyb3VuZENvbG9yO3JiPXJiLmJvcmRlckNvbG9yO3ZhciBwcz0iIjthaSYmKHBzKz1gY29sb3I6ICR7YWl9O2ApO05UJiYocHMrPWBiYWNrZ3JvdW5kLWNvbG9yOiAke05UfTtgKTtyYiYmKHBzKz1gYm9yZGVyLWNvbG9yOiAke3JifTtgKTthaT17c3R5bGU6cHN9fWVsc2UgYWk9Cnt9O3JldHVybiBhaS5zdHlsZX0sb25DbGljazpyYj0+e2dmYSgpKHJiKX0sb25Ib3ZlcjpyYj0+e1Q/LihyYil9LGRpc2FibGVkOm4sYXJpYUxhYmVsOkYsdG9nZ2xlYWJsZTpBLHRvZ2dsZWQ6RSx0aXRsZTooKT0+IWs/LigpJiZNKCk/TSgpOiIiLGppOmFkLGFyaWFIaWRkZW46WSxhcmlhRXhwYW5kZWQ6cGEsdGFiSW5kZXg6b2EscmVmOnJiPT57JEI/LlZvJiZoZmEocmIpO2s/LigpJiZmZmEocmIpfX0sXy5LKGRmYSx7ZGF0YTphLElsOnphLEpsOmNjLEtsOkxiLGljb25CdXR0b246QmUsaWNvbjpNZyxVQTpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dEJ1dHRvblRleHRDb250ZW50Iix7eXRTcGVjQnV0dG9uU2hhcGVOZXh0RWxldmF0ZWRDb250ZW50OmJ9KSxpeDpfLlAoInl0U3BlY0J1dHRvblNoYXBlTmV4dEljb24iLHt5dFNwZWNCdXR0b25TaGFwZU5leHRFbGV2YXRlZENvbnRlbnQ6Yn0pLFp6Ol8uUCgieXRTcGVjQnV0dG9uU2hhcGVOZXh0U2Vjb25kYXJ5SWNvbiIse3l0U3BlY0J1dHRvblNoYXBlTmV4dEVsZXZhdGVkQ29udGVudDpifSksCnNlY29uZGFyeUljb246WkIsSnk6Inl0U3BlY0J1dHRvblNoYXBlTmV4dE1pZGRsZWdyb3VuZEFzc2V0IixqaTphZCxkaXNhYmxlTGlnaHRTaGFwZTphYX0pKSl9LCJyYSIpO18uSksuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntpY29uOiEwLHNlY29uZGFyeUljb246ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExkYSxNZGEsTmRhLE9kYTtMZGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLlZILlRlKCkuZ2V0U3RhdGUoKTtyZXR1cm4gYj9hKGMsLi4uYik6YShjKX07Xy5YSD1mdW5jdGlvbigpe2lmKFdIKXJldHVybiBXSDt2YXIgW2EsLGJdPV8uSigwLHZvaWQgMCwiTUIxSGIiKTtfLlZILlRlKCkuc3Vic2NyaWJlKCgpPT57TWRhKGIpfSk7cmV0dXJuIFdIPWF9O01kYT1mdW5jdGlvbihhKXtZSHx8KFlIPSEwLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnthKGI9PmIrMSk7WUg9ITF9KSl9O18uWkg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5WSC5wdygpKGEsYil9O18uYkk9bmV3IF8uVnMoIlNUQVRFX1NUT1JFX1RPS0VOIik7TmRhPW5ldyBfLlZzKCJTRUxFQ1RfVE9LRU4iKTtPZGE9bmV3IF8uVnMoIkRJU1BBVENIX1RPS0VOIik7dmFyIFdILFlIO18uVkg9e3B3OigpPT5fLnkoKS5yZXNvbHZlKF8uSW4oTmRhKSk/P0xkYSxtdzooKT0+Xy55KCkucmVzb2x2ZShfLkluKE9kYSkpPz9fLlZILlRlKCkuZGlzcGF0Y2guYmluZChfLlZILlRlKCkpLFRlOigpPT5fLnkoKS5yZXNvbHZlKF8uYkkpfTtZSD0hMTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5jST1mdW5jdGlvbihhKXtyZXR1cm4gXy5OKCgpPT57Xy5YSCgpKCk7cmV0dXJuIF8uWkgoYSl9LHtkZWJ1Z05hbWU6ImQ4QjYyYyJ9LCJERVhraGQiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBpZmEsamZhLE9LLE5LLG5mYSxSSyxvZmEscGZhLFRLLHFmYSxyZmEsU0ssc2ZhLHRmYSx1ZmEsdmZhO2lmYT1mdW5jdGlvbihhLGIpe2IuZm9yRWFjaChjPT57dmFyIGQ9bnVsbDtjP2Q9Yy5hcHBseShudWxsLGEuYXJncyk6KGM9RXJyb3IoInJkIiksYy5wYXJhbXM9YS5hY3Rpb25OYW1lLF8uVWkoYykpO2EucmV0dXJuVmFsdWUucHVzaChkKX0pfTtqZmE9ZnVuY3Rpb24oYSxiLGMpe2IuZm9yRWFjaChkPT57dmFyIGU9Xy5SSihkKTtlJiYoZD1uZXcgXy5PSihlLCEwLFtkLGMsdm9pZCAwXSksKGU9YS5qLmdldChkLmFjdGlvbk5hbWUpKSYmaWZhKGQsZSksZC5qfHxkLnJldHVyblZhbHVlLmxlbmd0aCE9PTB8fChkPW5ldyBfLlhqKCJVbmhhbmRsZWQgYWN0aW9uIixkLmFjdGlvbk5hbWUpLF8uV2koZCkpKX0pfTtfLktLPWZ1bmN0aW9uKGEpe3JldHVybihhJjQyNzgxOTAwODApPj4+MjQ9PT0wP18uaUUoYSwiMSIpOl8uTkQoYSl9OwpfLk1LPWZ1bmN0aW9uKCl7TEt8fChMSz1uZXcga2ZhKTtyZXR1cm4gTEt9O09LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLmFjdGlvbixlPWMuZWxlbWVudDtlJiZkJiYobGZhLmluY2x1ZGVzKGIpfHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9SRU1JWCJ8fGEuRCYmYS5ELkFKKGUpP05LKGEsYixjKTphLnYmJihhLm98fChhLm89bmV3IFdlYWtNYXApLGQ9YS52Lm9ic2VydmUoZSwoKT0+e05LKGEsYixjKTthLm8uZGVsZXRlKGUpfSx7VmI6ITAsc3RhdGU6InZpc2libGUifSksYS5vLnNldChlLGQpKSl9O18uUEs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLkIuZ2V0KGIpO2lmKGMpe3ZhciBkPWEuai5nZXQoYyk7ZCYmKGRlbGV0ZSBkLmVsZW1lbnQsYS5qLnNldChjLGQpKTthLkIuZGVsZXRlKGIpO2EudiYmYS5vJiYoYz1hLm8uZ2V0KGIpKSYmKGEudi5yZihjKSxhLm8uZGVsZXRlKGIpKX19OwpfLlFLPWZ1bmN0aW9uKGEsYixjKXtfLlBLKGEsYyk7dmFyIGQ9YS5qLmdldChiKTtkfHwoZD17fSxhLmouc2V0KGIsZCkpO2QuZWxlbWVudD1jO2EuQi5zZXQoYyxiKTtPSyhhLGIsZCl9O05LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLmFjdGlvbjsoYz1jLmVsZW1lbnQpJiZkJiYoamZhKGEuSyxbZF0sYyksYS5qLmRlbGV0ZShiKSxhLkIuZGVsZXRlKGMpLGEuWS5hZGQoYikpfTsKbmZhPWZ1bmN0aW9uKGEsYixjKXtpZihjJiZiKXN3aXRjaChjKXtjYXNlICJCVVRUT05fRU5USVRZX1NFTEVDVE9SX1RZUEVfUkVNT1ZFX0FEU19BRF9TVEFURSI6cmV0dXJuKGE9Xy5ISChhLGIpKT97aXNIaWRkZW46YS5hZHNTdGF0ZT09PSJBRFNfU1RBVEVfTk9ORSJ8fGEuYWRzU3RhdGU9PT0iQURTX1NUQVRFX1VOS05PV04ifTp7aXNIaWRkZW46ITB9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DSEFUQk9UX1BFTkRJTkdfUkVTUE9OU0UiOnJldHVybntpc0hpZGRlbjohMSxpc0Rpc2FibGVkOiEhXy5xQShhLmVudGl0aWVzLCJ5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5IixiKT8uaXNQZW5kaW5nUmVzcG9uc2V9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9CT09MRUFOX0RJU0FCTEVEIjpyZXR1cm57aXNIaWRkZW46ITEsaXNEaXNhYmxlZDohIV8uSUgoYSxiKT8udmFsdWV9O2Nhc2UgIkJVVFRPTl9FTlRJVFlfU0VMRUNUT1JfVFlQRV9BU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZIjpyZXR1cm4gYT0KXy5xQShhLmVudGl0aWVzLCJhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5IixiKT8uc3RhdGUsYT09PSJBU0tfU1RVRElPX0NPTlZFUlNBVElPTl9TVU1NQVJZX1NUQVRFX1BFTkRJTkciP3tpc0hpZGRlbjohMSxhcmlhRGlzYWJsZWQ6ITAsYXJpYUJ1c3k6ITAsYWNjZXNzaWJpbGl0eUxhYmVsOiJHZW5lcmF0aW5nIHN1bW1hcnkuLi4iLGljb25OYW1lOnZvaWQgMCxBYzptZmF9OmE9PT0iQVNLX1NUVURJT19DT05WRVJTQVRJT05fU1VNTUFSWV9TVEFURV9VTlJFQUQifHxhPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfRkFJTEVEIj8oYT1hPT09IkFTS19TVFVESU9fQ09OVkVSU0FUSU9OX1NVTU1BUllfU1RBVEVfVU5SRUFEIix7aXNIaWRkZW46ITEsYXJpYURpc2FibGVkOiEwLGFjY2Vzc2liaWxpdHlMYWJlbDphPyJVbnJlYWQgc3VtbWFyeSI6IkZhaWxlZCB0byBnZW5lcmF0ZSBzdW1tYXJ5IixpY29uTmFtZToiWVRJQ09OX0ZJTExfRE9UX1MyNCIsCkFjOnZvaWQgMCwuLi4oYSYme2N1c3RvbUNvbG9yczp7Y29sb3I6InZhcigtLXl0LXNwZWMtY2FsbC10by1hY3Rpb24pIixpY29uQ29sb3I6InZhcigtLXl0LXNwZWMtY2FsbC10by1hY3Rpb24pIn19KX0pOntpc0hpZGRlbjohMH07Y2FzZSAiQlVUVE9OX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0NPTU1FUkNFX1RPS0VOX0JBTEFOQ0UiOnJldHVybiBhPV8ucUEoYS5lbnRpdGllcywiY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHkiLGIpLGE/LnNlcnZlclRva2VuQmFsYW5jZSE9bnVsbD8oYT1OdW1iZXIoYS5zZXJ2ZXJUb2tlbkJhbGFuY2UpLGE9aXNOYU4oYSk/dm9pZCAwOlN0cmluZyhhLzFFNikse2lzSGlkZGVuOiExLFdhOmE/e2NvbnRlbnQ6YX06dm9pZCAwfSk6e2lzSGlkZGVuOiExfTtkZWZhdWx0OnJldHVybntpc0hpZGRlbjohMX19fTsKUks9ZnVuY3Rpb24oYSl7cmV0dXJue3RleHQ6YS50b29sdGlwVGV4dD8/IiIsbG9jYXRpb246b2ZhKGEucGxhY2VtZW50KSxzdHlsZTphLnN0eWxlLGhvdGtleTphLmhvdGtleX19O29mYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiVE9PTFRJUF9WSUVXX01PREVMX1BMQUNFTUVOVF9CT1RUT00iOnJldHVybiJib3R0b20iO2Nhc2UgIlRPT0xUSVBfVklFV19NT0RFTF9QTEFDRU1FTlRfVE9QIjpyZXR1cm4idG9wIjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX0xFRlQiOnJldHVybiJsZWZ0IjtjYXNlICJUT09MVElQX1ZJRVdfTU9ERUxfUExBQ0VNRU5UX1JJR0hUIjpyZXR1cm4icmlnaHQiO2RlZmF1bHQ6cmV0dXJuImJvdHRvbSJ9fTsKcGZhPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5SRChhPy5vblRhcCksZD17fTtjJiYoZC5iSj0oKT0+U0soYSxjLGI/LnZhbHVlPy52aXN1YWxFbGVtZW50KSk7ZD1fLmJFKHtiaDphLm9uVGFwLHFkOiEwLEFvOmR9KTtyZXR1cm4gZD8uaHJlZj9kOnZvaWQgMH07VEs9ZnVuY3Rpb24oYSxiLGMsZCxlKXtjPXtyQzpjfTtfLmRLKGEse2Zvcm06e2N1cnJlbnREYXRhOmMsc291cmNlRGF0YTpjLGVsZW1lbnQ6YixldmVudDpkfSwuLi5lfSl9OwpxZmE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj12b2lkIDA7cmV0dXJuIGg9Pnt2YXIgaz1fLlJEKGM/YT8ub25EaXNhYmxlZFRhcDphPy5vblRhcCk7aWYoaylpZihmPWY/P2I/LnZhbHVlLF8ueCgid2ViX2J1dHRvbl92bV9jbGlja19jbGllbnRfdmVfa2lsbHN3aXRjaCIpKVRLKGssZixhLGgpO2Vsc2V7bGV0IGw9U0soYSxrLGY/LnZpc3VhbEVsZW1lbnQpO2lmKGUpe1RLKGssZSxhLGgse2NsaWNrZWRWaXN1YWxFbGVtZW50OmwsZm9ybTp7ZWxlbWVudDplfX0pO3JldHVybn1USyhrLGYsYSxoLHtjbGlja2VkVmlzdWFsRWxlbWVudDpsfSl9ZCYmZChoKX19O3JmYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dm9pZCAwO3JldHVybiBlPT57dmFyIGY9Xy5SRChhPy5vbkhvdmVyKTtmJiYoZD1kPz9iPy52YWx1ZSxjP1RLKGYsYyxhLGUse2Zvcm06e2VsZW1lbnQ6Y319KTpUSyhmLGQsYSxlKSl9fTsKU0s9ZnVuY3Rpb24oYSxiLGMpe2I9Yj8uY2xpY2tUcmFja2luZ1BhcmFtczthPWE/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZTtpZihjJiZhJiYhYilyZXR1cm4gY307CnNmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQ1RBIjpyZXR1cm4iY2FsbC10by1hY3Rpb24iO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk8iOmNhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX0JSQU5EIjpyZXR1cm4ibW9ubyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfT1ZFUkxBWSI6cmV0dXJuIm92ZXJsYXkiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX09WRVJMQVlfREFSSyI6cmV0dXJuIm92ZXJsYXktZGFyayI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQlJBTkRfR1JBRElFTlQiOnJldHVybiJicmFuZC1ncmFkaWVudCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfQlJBTkRfQUkiOnJldHVybiJnZW4tYWktZ3JhZGllbnQiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX1JBSVNFRCI6cmV0dXJuInJhaXNlZCI7ZGVmYXVsdDpyZXR1cm4ibW9ubyJ9fTsKdGZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCVVRUT05fVklFV19NT0RFTF9UWVBFX0ZJTExFRCI6cmV0dXJuImZpbGxlZCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9PVVRMSU5FIjpyZXR1cm4ib3V0bGluZSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9URVhUIjpyZXR1cm4idGV4dCI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9UT05BTCI6cmV0dXJuInRvbmFsIjtkZWZhdWx0OnJldHVybiJ0ZXh0In19O3VmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfQUNUSVZFIjpyZXR1cm4iYWN0aXZlIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVEFURV9JTkFDVElWRSI6cmV0dXJuImRpc2FibGVkIjtjYXNlICJCVVRUT05fVklFV19NT0RFTF9TVEFURV9ESVNBQkxFRCI6cmV0dXJuImRpc2FibGVkIjtkZWZhdWx0OnJldHVybiJhY3RpdmUifX07CnZmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9YU01BTEwiOnJldHVybiJYUyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9DT01QQUNUIjpyZXR1cm4iUyI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9ERUZBVUxUIjpyZXR1cm4iTSI7Y2FzZSAiQlVUVE9OX1ZJRVdfTU9ERUxfU0laRV9MQVJHRSI6cmV0dXJuIkwiO2Nhc2UgIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfWExBUkdFIjpyZXR1cm4iWEwiO2RlZmF1bHQ6cmV0dXJuIk0ifX07dmFyIGxmYT1bImJyb3dzZS12aWRlby1tZW51LWJ1dHRvbiIsInVuaWZpZWQtdmVyaWZpZWQtYmFkZ2UiLCJ0b3BiYXItZ3VpZGUtbWVudSJdLGtmYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuSz1fLlNKLmpjKCk7dGhpcy5qPW5ldyBNYXA7dGhpcy5CPW5ldyBXZWFrTWFwO3RoaXMuWT1uZXcgU2V0fWRpc3Bvc2UoKXt0aGlzLkQmJl8uY2YodGhpcy5ELCJ5dC12aXNpYmlsaXR5LW1vbml0b3ItcmVmcmVzaGVkIix0aGlzLkksITEsdGhpcyk7dGhpcy52JiZ0aGlzLnYuZGlzcG9zZSgpfUkoKXtmb3IobGV0IFthLGJdb2YgdGhpcy5qLmVudHJpZXMoKSlPSyh0aGlzLGEsYil9fSxMSzt2YXIgbWZhPXthbmltYXRlZEFzc2V0Vmlld01vZGVsOntnZW5lcmljQmVoYXZpb3I6e2F1dG9wbGF5OiEwLGxvb3A6ITB9LGxvdHRpZUFzc2V0Ont0aGVtZWRVcmw6e2xpZ2h0OiJodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUveW91Y2hhdF9hbmltYXRpb25zL3Byb2dyZXNzX2luZGljYXRvcl9zb2xvX3YxLmpzb24iLGRhcms6Imh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS95b3VjaGF0X2FuaW1hdGlvbnMvcHJvZ3Jlc3NfaW5kaWNhdG9yX3NvbG9fdjEuanNvbiJ9fX19O3ZhciB3ZmE9WyJ5b3UtY2hhdC1lbnRyeXBvaW50LWJ1dHRvbiJdOwpfLkhEPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixzdHlsZTpjLGJ1dHRvbk92ZXJyaWRlczpkLGFiOmUsb25DbGljazpmLHRhcmdldDpofSk9Pnt2YXIgaz1fLnVFKCJidXR0b24tdmlldy1tb2RlbCIsRD0+e0QuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInl0LXJlbmRlcmlkb20tZmluaXNoZWQiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITEsY29tcG9zZWQ6ITB9KSk7dmFyIEg9YSgpLnRhcmdldElkO0gmJl8uUUsoXy5NSygpLEgsRCk7cmV0dXJuKCk9PntfLlBLKF8uTUsoKSxEKX19KSxsPV8uY0koRD0+bmZhKEQsYSgpPy5lbnRpdHlLZXksYSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGUpKSxtPSgpPT5hKCk/LmVudGl0eUtleSYmYSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGU/bCgpOnZvaWQgMCxuPSgpPT5fLngoIldlYkZFQWxsU3R1ZGlvQnlDaGFubmVsX193ZWJfYnV0dG9uX3ZpZXdfbW9kZWxfZW50aXR5X292ZXJyaWRlcyIpP20oKTp2b2lkIDAscD0KKCk9Pnt2YXIgRD1uKCk7aWYoRD8uaWNvbk5hbWUhPT12b2lkIDApcmV0dXJuIEQuaWNvbk5hbWU7aWYoRD8uQWM9PT12b2lkIDApcmV0dXJuIGEoKT8uaWNvbk5hbWV8fGEoKT8ueXRJY29ufSxyPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpLHQ9KCk9Pnt2YXIgRD1kPy4oKSxIPW0oKSxSPW4oKSxNPUQ7YSgpPy5idXR0b25FbnRpdHlTZWxlY3RvclR5cGUmJihNPXsuLi5ELGRpc2FibGVkOiEhSD8uaXNEaXNhYmxlZHx8ISFEPy5kaXNhYmxlZH0pO0Q9YSgpO3ZhciBTPU0sWT1lPy4oKSxwYT1SPy5hcmlhRGlzYWJsZWR8fEg/LmlzRGlzYWJsZWR8fFI/LmFyaWFCdXN5fHxNPy5kaXNhYmxlZD92b2lkIDA6ZjtNPWg/LigpO2lmKEQpe3ZhciBvYT10ZmEoRC50eXBlKTt2YXIgVT0hIUQudGl0bGV8fCEhRC50aXRsZUZvcm1hdHRlZDt2YXIgaGE9ISEoRC5pY29uTmFtZXx8RC5pY29uSW1hZ2V8fEQueXRJY29ufHxELmxlYWRpbmdBc3NldCk7VT1oYSYmIVU/Imljb24tb25seSI6CmhhP0QuaWNvblBvc2l0aW9uPT09IkJVVFRPTl9WSUVXX01PREVMX0lDT05fUE9TSVRJT05fQUJPVkUiPyJpY29uLXdpdGgtbGFiZWwiOkQuaWNvblRyYWlsaW5nfHxELmljb25Qb3NpdGlvbj09PSJCVVRUT05fVklFV19NT0RFTF9JQ09OX1BPU0lUSU9OX1RSQUlMSU5HIj8idHJhaWxpbmciOiJsZWFkaW5nIjp2b2lkIDA7VT09PSJpY29uLW9ubHktNDAiJiYob2E9InRleHQiKTtoYT1TPy5zdGF0ZT8/dWZhKEQuc3RhdGUpO3ZhciBtYT1TPy5kaXNhYmxlZD8/KEQuc3RhdGU9PT0iQlVUVE9OX1ZJRVdfTU9ERUxfU1RBVEVfRElTQUJMRUQifHxELnN0YXRlPT09IkJVVFRPTl9WSUVXX01PREVMX1NUQVRFX0lOQUNUSVZFIik7Xy54KCJ3ZWJfYnV0dG9uX3ZtX3JlZmFjdG9yX2Rpc2FibGVkIikmJihtYT1TPy5kaXNhYmxlZD8/aGE9PT0iZGlzYWJsZWQiKTtZPVkmJlkuWGImJiFpc05hTihOdW1iZXIoWS5udW1iZXJWYWx1ZSkpP1k6dm9pZCAwO3ZhciB0YT1ELnRpdGxlLFQ9RC50aXRsZUZvcm1hdHRlZCwKYmE9RC5hY2Nlc3NpYmlsaXR5VGV4dCxhYT1zZmEoRC5zdHlsZSksT2E9dmZhKEQuYnV0dG9uU2l6ZSk7cGE9cWZhKEQsayxtYSxwYSxNKTt2YXIgSmI9bWEmJiFELm9uRGlzYWJsZWRUYXAsemE9cGZhKEQsayksTGI9RC5jdXN0b21Gb250Q29sb3IsY2M9RC5jdXN0b21CYWNrZ3JvdW5kQ29sb3I7dmFyIGxjPUQuY3VzdG9tQm9yZGVyQ29sb3I7bGV0IHRkPUQuY3VzdG9tRGFya1RoZW1lRm9udENvbG9yLEJlPUQuY3VzdG9tRGFya1RoZW1lQmFja2dyb3VuZENvbG9yO3ZhciBWYj1ELmN1c3RvbURhcmtUaGVtZUJvcmRlckNvbG9yO0xiPXImJnRkP3RkOkxiO2NjPXImJkJlP0JlOmNjO2xjPXImJlZiP1ZiOmxjO2xjPXtjb2xvcjpMYj9fLk5EKExiKTp2b2lkIDAsYmFja2dyb3VuZENvbG9yOmNjP18uTkQoY2MpOnZvaWQgMCxib3JkZXJDb2xvcjpsYz9fLk5EKGxjKTp2b2lkIDB9O1ZiPV8uQihELnRvb2x0aXBEYXRhLF8uY0spO2NjPV8uQihELmRpc2FibGVkVG9vbHRpcERhdGEsXy5jSyk7CkQ9e2J1dHRvblRleHQ6dGEsV2E6VCxhYjpZLGFjY2Vzc2liaWxpdHlMYWJlbDpiYSxzdHlsZTphYSx0eXBlOm9hLHN0YXRlOmhhLHNpemU6T2EsaWNvblBvc2l0aW9uOlUsb25UYXA6cGEsZGlzYWJsZWQ6SmIsdWM6emEsY3VzdG9tQ29sb3JzOmxjLHRvb2x0aXBUZXh0OkQudG9vbHRpcCxEbjptYSYmY2M/UksoY2MpOlZiP1JLKFZiKTp2b2lkIDAsb25Ib3ZlcjpyZmEoRCxrLE0pLG1pZGRsZWdyb3VuZEFzc2V0OkQubWlkZGxlZ3JvdW5kQXNzZXQsQWM6RC5sZWFkaW5nQXNzZXQsLi4uU319ZWxzZSBEPXtzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSIsc2l6ZToiTSJ9O0QuZm9jdXNlZD1GKCk7Uj8uYWNjZXNzaWJpbGl0eUxhYmVsIT09dm9pZCAwJiYoRC5hY2Nlc3NpYmlsaXR5TGFiZWw9Ui5hY2Nlc3NpYmlsaXR5TGFiZWwpO1I/LmN1c3RvbUNvbG9ycyE9PXZvaWQgMCYmKEQuY3VzdG9tQ29sb3JzPVIuY3VzdG9tQ29sb3JzKTtSPy5BYyE9PXZvaWQgMD8oRC5BYz0KUi5BYyxELmljb25Qb3NpdGlvbj0iaWNvbi1vbmx5Iik6Uj8uaWNvbk5hbWUhPT12b2lkIDAmJihELkFjPXZvaWQgMCxELmljb25Qb3NpdGlvbj0iaWNvbi1vbmx5Iik7SD8uV2EmJihELldhPUguV2EpO3JldHVybiBEfSx2PV8uUEgoKSx6PSgpPT57dmFyIEQ9dCgpO3JldHVybiBfLm9LKEQsISFwKCl8fCEhRC5BYyx2KX0sW0UsQV09Xy5KKCExLHZvaWQgMCwiUHBuTkEiKSxGPUU7Xy5uRSgoKT0+e3ZhciBEPV8uQihhKCk/Lm9uVmlzaWJsZSxfLk9EKTtEJiZfLmFFKEQse21kOiEwfSl9LCJlZmV1eSIpO3ZhciBDPSgpPT57dmFyIEQ9YSgpPy5pY29uSW1hZ2U7cmV0dXJuIEQ/e3NvdXJjZXM6W0RdfTp2b2lkIDB9LEc9SFRNTEVsZW1lbnQucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJwb3BvdmVyIik7cmV0dXJuIF8uSygiYnV0dG9uLXZpZXctbW9kZWwiLHtlbDprLGNsYXNzOl8uUCgieXRTcGVjQnV0dG9uVmlld01vZGVsSG9zdCIsYiwoKT0+e3ZhciBEPWEoKT8udGFyZ2V0SWQ7CmlmKEQpcmV0dXJuIHdmYS5pbmNsdWRlcyhEKT9EOnZvaWQgMH0pLCJvbjpmb2N1c2luIjpmdW5jdGlvbigpe3ZhciBEPV8ueSgpLnJlc29sdmUoXy5JbihfLmpIKSk7RCYmQShELlhlKCkpfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKCl7QSghMSl9LCJhcmlhLWRpc2FibGVkIjooKT0+bigpPy5hcmlhRGlzYWJsZWQ/InRydWUiOnZvaWQgMCwiYXJpYS1idXN5IjooKT0+bigpPy5hcmlhQnVzeT8idHJ1ZSI6dm9pZCAwfSxfLksoXy5PLHtBOigpPT4hKG0oKT8uaXNIaWRkZW4/PyExKSx0aGVuOigpPT5fLksoXy5PLHtBOkMsdGhlbjpEPT5fLksoXy5KSyx7ZGF0YTp0LGljb246KCk9Pl8uSyhfLmpGLHtkYXRhOkQsYWx0OiIiLEFiOnosZGM6eixUYTohMCxZYTohMH0pLGFwOkd9KSxXOigpPT5fLksoXy5KSyx7ZGF0YTp0LGljb25OYW1lOnAsR2U6KCk9PiEhYz8uKCk/LmFuaW1hdGVJY29uLGFwOkd9KX0pfSkpfSwidGEiKTtfLkhELmlkb21Db21wYXQ9e2NhbGxiYWNrczp7b25DbGljazohMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJEbHZGMWQiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5ZQz1uZXcgXy5JKCJhY2Nlc3NpYmlsaXR5Q29udGV4dCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNMPW5ldyBfLkkoImF2YXRhclZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFGPWZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpLGM9YS5kYXJrVGhlbWVJbWFnZT8/YS5pbWFnZTtyZXR1cm4gYj9jOmEuaW1hZ2V9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5SRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlJhcTRjYiIpO3JldHVybiBfLklEfTtfLlNGPV8uY0QoKCk9Pl8uUkYoKSwiYXZhdGFyVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImF2YXRhclZpZXdNb2RlbCIsIlJhcTRjYiIsXy5SRil9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy4kRj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlB6VWRaYiIpO3JldHVybiBfLkVEfTtfLmFHPV8uY0QoKCk9Pl8uJEYoKSwiYmFkZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFkZ2VWaWV3TW9kZWwiLCJQelVkWmIiLF8uJEYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJXcWxjVmIiKTtyZXR1cm4gXy54RH07Xy52TD1fLmNEKCgpPT5fLnVMKCksImRlc2NyaXB0aW9uUHJldmlld1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWwiLCJXcWxjVmIiLF8udUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ud0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJ1aGxMR2IiKTtyZXR1cm4gXy53RH07Xy54TD1fLmNEKCgpPT5fLndMKCksImZsZXhpYmxlQWN0aW9uc1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJmbGV4aWJsZUFjdGlvbnNWaWV3TW9kZWwiLCJ1aGxMR2IiLF8ud0wpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ueUw9ZnVuY3Rpb24oKXtpZighKCJtYXRjaE1lZGlhImluIHdpbmRvdykpcmV0dXJuIF8uV2koRXJyb3IoInRkIikpLCgpPT4wO3ZhciBhPXdpbmRvdy5tYXRjaE1lZGlhKCIobWF4LXdpZHRoOiA1MjcuOXB4KSIpLGI9d2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDUyOHB4KSBhbmQgKG1heC13aWR0aDogODM5LjlweCkiKSxjPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjMuOXB4KSIpLGQ9d2luZG93Lm1hdGNoTWVkaWEoIihtaW4td2lkdGg6IDEwMjRweCkiKSxbZSxmXT1fLkooYS5tYXRjaGVzLHZvaWQgMCwiVG1JS2NiIiksW2gsa109Xy5KKGIubWF0Y2hlcyx2b2lkIDAsIlowZlRLZCIpLFtsLG1dPV8uSihjLm1hdGNoZXMsdm9pZCAwLCJ3NHh5N2IiKSxbbixwXT1fLkooZC5tYXRjaGVzLHZvaWQgMCwiRHJiTkMiKSxyPUU9PntmKEUubWF0Y2hlcyl9LHQ9RT0+e2soRS5tYXRjaGVzKX0sdj1FPT57bShFLm1hdGNoZXMpfSwKej1FPT57cChFLm1hdGNoZXMpfTtfLlVKKCgpPT57YS5hZGRFdmVudExpc3RlbmVyPyhhLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksYi5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHQpLGMuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix2KSxkLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIseikpOmEuYWRkTGlzdGVuZXImJihhLmFkZExpc3RlbmVyKHIpLGIuYWRkTGlzdGVuZXIodCksYy5hZGRMaXN0ZW5lcih2KSxkLmFkZExpc3RlbmVyKHopKTtfLll1KCgpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyPyhhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsciksYi5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHQpLGMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix2KSxkLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIseikpOmEucmVtb3ZlTGlzdGVuZXImJihhLnJlbW92ZUxpc3RlbmVyKHIpLGIucmVtb3ZlTGlzdGVuZXIodCksYy5yZW1vdmVMaXN0ZW5lcih2KSwKZC5yZW1vdmVMaXN0ZW5lcih6KSl9KX0pO3JldHVybigpPT5lKCk/MTpoKCk/MjpsKCk/MzpuKCk/NDowfTtfLkFMPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLnkoKS5yZXNvbHZlKF8uSW4oekwpKSxbZSxmXT1fLkooZCx2b2lkIDAsInhHc1JRIik7ZHx8Xy5ZdCh6TCxmKTtyZXR1cm4gXy5OKCgpPT57dmFyIGg9YSgpO3JldHVybiBoJiZiKCk/ZSgpPy4oaCxiLGMpOnZvaWQgMH0sdm9pZCAwLCJic29zZGQiKX07dmFyIHpMPW5ldyBfLlZzKCJTRU1BTlRJQ19UWVBPR1JBUEhZX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEg9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pl8uQihhKCksXy5ZQyl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgQkw9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gXy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/YS5kYXJrVGhlbWU6YS5saWdodFRoZW1lfSxDTD1uZXcgXy5JKCJiYWRnZVZpZXdNb2RlbCIpO3ZhciBDZmE9bmV3IF8uVnMoIkNPTU1PTl9NQVJLX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgRGZhO18uREw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGcUhjR2UiKTtyZXR1cm4gXy50Rn07RGZhPV8uY0QoKCk9Pl8uREwoKSwic2VjdGlvbkhlYWRlckxheW91dCIpO18uWXQoXy5KRCxhPT57YS5KKCJzZWN0aW9uSGVhZGVyTGF5b3V0IiwiRnFIY0dlIixfLkRMKX0pO18udkQ9Xy5MKCh7Y2xhc3NOYW1lOmEsZGF0YTpiLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpjLGRpc2FibGVWZXJ0aWNhbFBhZGRpbmc6ZCxUaTplLEtuOmYsaXNPdmVybGF5OmgsRXM6ayxnTDpsLGlKOm19KT0+e3ZhciBuPV8uVEgoKCk9PmIoKS5yZW5kZXJlckNvbnRleHQpLHA9Xy55TCgpLHI9Xy5BTCgoKT0+YigpLmhlYWRsaW5lVHlwb2dyYXBoeVRva2VuLHAse21heExpbmVzOjJ9KTtwPV8uQUwoKCk9PmIoKS5zdWJ0aXRsZVR5cG9ncmFwaHlUb2tlbixwKTt2YXIgdD1fLlFIKCgpPT5iKCkuaG9yaXpvbnRhbFBhZGRpbmcpLHY9Xy5RSCgoKT0+YigpLnRvcFBhZGRpbmcpLHo9Xy5RSCgoKT0+YigpLmJvdHRvbVBhZGRpbmcpO3JldHVybiBfLksoInl0LXNlY3Rpb24taGVhZGVyLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbEhvc3QiLGEpLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjooKT0+QkwoYigpLmJhY2tncm91bmRDb2xvcik/Cl8uTkQoQkwoYigpLmJhY2tncm91bmRDb2xvcikpOnZvaWQgMH0pfSxfLksoRGZhLHthcmlhTGFiZWw6KCk9Pm4oKT8ubGFiZWwsQXc6ITEsdGl0bGU6KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmIoKS5oZWFkbGluZSxYYTohMH0pLGtoOiEwLHN1YmxhYmVsOigpPT5fLksoRWZhLHtkYXRhOmJ9KSxMdzooKT0+ISFiKCkuc3VibGFiZWx8fCEhYigpLmJvdHRvbUJhZGdlfHwhIWIoKS5ib3R0b21CYWRnZXMsc3VwZXJsYWJlbDooKT0+Xy5LKEZmYSx7ZGF0YTpifSksTXc6KCk9PiEhYigpLnN1cGVybGFiZWx8fCEhYigpLnRvcEJhZGdlLGxlYWRpbmdJbWFnZTooKT0+Xy5LKEdmYSx7bGVhZGluZ0FjY2Vzc29yeTooKT0+YigpLmxlYWRpbmdBY2Nlc3Nvcnl9KSxIdzooKT0+ISFiKCkubGVhZGluZ0FjY2Vzc29yeSx0cmFpbGluZ0FjdGlvbnM6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2VjdGlvbkhlYWRlclZpZXdNb2RlbFRyYWlsaW5nQWN0aW9uc0NvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PgpiKCkudHJhaWxpbmdBY3Rpb25zfSx7ZmxleGlibGVBY3Rpb25zVmlld01vZGVsOl8ueEx9KSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbnNDb250YWluZXIifSxfLksoXy5nRyx7cGE6KCk9Pmw/LigpfHxbXX0sRT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQ2hldnJvbiJ9LEUpKSl9KSksTnc6KCk9Pm0/LigpfHwhIWIoKS50cmFpbGluZ0FjdGlvbnMsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOigpPT5jPy4oKXx8YigpLmRpc2FibGVIb3Jpem9udGFsUGFkZGluZyxkaXNhYmxlVmVydGljYWxQYWRkaW5nOigpPT5kPy4oKXx8YigpLmRpc2FibGVWZXJ0aWNhbFBhZGRpbmcsVGk6ZSxLbjpmLGlzT3ZlcmxheTpoLHJoOigpPT4hIV8uc0goYigpLnJlbmRlcmVyQ29udGV4dCksaG92ZXJFZmZlY3RFbmFibGVkOigpPT5iKCkuaG92ZXJFZmZlY3RFbmFibGVkLG9uQ2xpY2s6RT0+Cnt2YXIgQT1fLnNIKGIoKS5yZW5kZXJlckNvbnRleHQpO0EmJl8uYUUoQSx7Zm9ybTp7ZWxlbWVudDpFLnRhcmdldCxldmVudDpFfX0pfSxib3R0b21BY2Nlc3Nvcnk6KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmIoKS5ib3R0b21BY2Nlc3Nvcnl9LHtkZXNjcmlwdGlvblByZXZpZXdWaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKF8udkwse2RhdGE6RSxYYzohMH0pLGNvbW1vbk1hcmtWaWV3TW9kZWw6KHtkYXRhOkV9KT0+Xy5LKF8uSUIsbnVsbCxfLnkoKS5yZXNvbHZlKF8uSW4oQ2ZhKSk/Lih7ZGF0YTpFfSkpfSksenc6KCk9PiEhYigpLmJvdHRvbUFjY2Vzc29yeSxFczprLGhlYWRsaW5lVHlwb2dyYXBoeVRva2VuOnIsc3VidGl0bGVUeXBvZ3JhcGh5VG9rZW46cCxqcTp0LGZCOnYsSHU6en0pKX0sIndhIik7CnZhciBHZmE9Xy5MKCh7bGVhZGluZ0FjY2Vzc29yeTphfSk9Pl8uSyhfLklCLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmltYWdlPz9fLlFGKGEoKS50aGVtZWRJbWFnZSksdGhlbjpiPT5fLksoXy5qRix7ZGF0YTpiLGFsdDoiIixUYTohMCxZYTohMH0pfSksXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS5hdmF0YXIsXy5zTCksdGhlbjpiPT5fLksoXy5TRix7ZGF0YTpifSl9KSksInhhIiksRWZhPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5JQixudWxsLF8uSygic3BhbiIse2NsYXNzOl8uUCh7eXRTZWN0aW9uSGVhZGVyVmlld01vZGVsQmFkZ2VXaXRoTGFiZWw6KCk9PighIWEoKS5ib3R0b21CYWRnZXN8fCEhYSgpLmJvdHRvbUJhZGdlKSYmISFhKCkuc3VibGFiZWx9KX0sXy5LKF8uTyx7QTooKT0+Xy5CKGEoKS5ib3R0b21CYWRnZSxDTCksdGhlbjpiPT5fLksoXy5hRyx7ZGF0YTpifSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYm90dG9tQmFkZ2VzfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Cl8uSyhfLmFHLHtkYXRhOmIsY2xhc3M6Xy5QKCJ5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZXMiKX0pfSkpLF8uSyhfLk8se0E6KCk9PmEoKS5zdWJsYWJlbCx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6Yn0pfSkpLCJ5YSIpLEZmYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT5fLkIoYSgpLnRvcEJhZGdlLENMKSx0aGVuOmI9Pl8uSyhfLmFHLHtkYXRhOmIsY2xhc3M6Xy5QKHt5dFNlY3Rpb25IZWFkZXJWaWV3TW9kZWxCYWRnZVdpdGhMYWJlbDooKT0+ISFiKCkmJiEhYSgpLnN1cGVybGFiZWx9KX0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnN1cGVybGFiZWwsdGhlbjpiPT5fLksoXy5WLHt0ZXh0OmJ9KX0pKSwiemEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiY3lDVmxkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBOSDtOSD1mdW5jdGlvbigpe307Xy5PSD1mdW5jdGlvbigpe3JldHVybiI6IisoSmRhLmorKykudG9TdHJpbmcoMzYpfTtfLndhKE5IKTtOSC5wcm90b3R5cGUuaj0wO3ZhciBKZGE9TkguamMoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5GST1uZXcgXy5WcygiU1VCTUlUX0FQSV9TRVJWSUNFX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ua0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJvc1R0eGUiKTtyZXR1cm4gXy5BRH07Xy5sTD1fLmNEKCgpPT5fLmtMKCksImJhc2ljQ29udGVudFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJiYXNpY0NvbnRlbnRWaWV3TW9kZWwiLCJvc1R0eGUiLF8ua0wpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVEY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJEbHZGMWQiKTtyZXR1cm4gXy5IRH07Xy5VRj1fLmNEKCgpPT5fLlRGKCksImJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJidXR0b25WaWV3TW9kZWwiLCJEbHZGMWQiLF8uVEYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8ubUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJGc29YemMiKTtyZXR1cm4gXy56RH07Xy5uTD1fLmNEKCgpPT5fLm1MKCksImNvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb250ZW50TGlzdEl0ZW1WaWV3TW9kZWwiLCJGc29YemMiLF8ubUwpfSk7Xy5vTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBlMm9qYiIpO3JldHVybiBfLkNEfTtfLnBMPV8uY0QoKCk9Pl8ub0woKSwibGlzdEl0ZW1WaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1WaWV3TW9kZWwiLCJwZTJvamIiLF8ub0wpfSk7Xy5xTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlVBTTVtIik7cmV0dXJuIF8ueUR9O18uckw9Xy5jRCgoKT0+Xy5xTCgpLCJsb2NrdXBWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibG9ja3VwVmlld01vZGVsIiwiVUFNNW0iLF8ucUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRkw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWT1VQOWQiKTtyZXR1cm4gXy51RH07Xy5HTD1fLmNEKCgpPT5fLkZMKCksImxpbmVhckxheW91dFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaW5lYXJMYXlvdXRWaWV3TW9kZWwiLCJWT1VQOWQiLF8uRkwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBLSSxhZWEsJEksYUosYmVhO18uR0k9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWI/ITA6YT8uZm9ybUlkPT09Yj8uZm9ybUlkJiZhPy5maWVsZElkPT09Yj8uZmllbGRJZH07Xy5IST1mdW5jdGlvbihhKXtyZXR1cm4gRXJyb3IoIm5kYCIrYS5yZXBsYWNlKC9cblxzKi9nLCIgIikpfTtfLklJPWZ1bmN0aW9uKGEpe3JldHVybiBFcnJvcigib2RgIithLnJlcGxhY2UoL1xuXHMqL2csIiAiKSl9O18uSkk9ZnVuY3Rpb24oKXtyZXR1cm57bmo6ITEsZmI6ITAsemQ6ITEsaXNTdWJtaXR0aW5nOiExLGNzOjB9fTtLST1mdW5jdGlvbihhLGIpe3ZhciBjPSEwO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhhKSl7aWYoZD09PSJmb3JtSWQiKWNvbnRpbnVlO2xldCBlPWFbZF07ZS5raW5kPT09MSYmKEtJKGUudmFsdWUsYil8fChjPSExKSl9YihhLmZvcm1JZCl8fChjPSExKTtyZXR1cm4gY307Cl8uTUk9ZnVuY3Rpb24oYSl7dmFyIGI9TEkuZ2V0KGEpO2lmKGIpcmV0dXJuIGI7Yj1hLnJlcGxhY2UoL18oW2EtekEtWjAtOV0pL2csKGMsZCk9PmQudG9VcHBlckNhc2UoKSk7TEkuc2V0KGEsYik7cmV0dXJuIGJ9O18uT0k9ZnVuY3Rpb24oKXtOST8uKGE9PmErMSl9O18uUkk9ZnVuY3Rpb24oYSl7UEk/UEkoKTooW1BJLCxOSV09Xy5KKDAsdm9pZCAwLCJWeFkwZmIiKSxQSSgpKTtyZXR1cm4gXy5RSS5nZXQoYSl9O18uU0k9ZnVuY3Rpb24oYSxiKXtpZihhKXt2YXIgYz1fLlJJKGEpO2lmKGMpe2lmKGImJmIhPT1jLlVpKXRocm93IF8uSUkoYEZvcm0gdHlwZSBtaXNtYXRjaCBmb3IgZm9ybUlkICR7YX06IHByb3ZpZGVkIGZvcm1UeXBlICIke2J9IiBkb2VzIG5vdCBtYXRjaCBzdG9yZWQgZm9ybVR5cGUgIiR7Yy5VaX0iLmApO3JldHVybiBjLmZvcm19fX07Cl8uVkk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5SSShhKTtpZighYil0aHJvdyBfLlRJKGEpO2lmKGIuU3A9PT0wKXJldHVybiBiLmZvcm07Yj1iLnBnO2lmKCFiKXRocm93IF8uVUkoYSk7YT1fLlNJKGIuVnopO2lmKCFhKXRocm93IF8uSEkoYEZvcm1JZCAke2IuVnp9IG5vdCBmb3VuZC5gKTtyZXR1cm4gYX07YWVhPWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj1fLlZJKGEpfWNhdGNoKGMpe3JldHVybiExfShhPUtJKGIsYz0+Xy5RSS5kZWxldGUoYykpKSYmXy5PSSgpO3JldHVybiBhfTtfLldJPWZ1bmN0aW9uKGEsYil7aWYoYj09PSJmb3JtSWQiKXRocm93IF8uSUkoIkZpZWxkIGlkIGNhbm5vdCBiZSBmb3JtSWQuIik7aWYoYT1fLlNJKGEpKXJldHVybiBiPV8uTUkoYiksYVtiXX07Xy5YST1mdW5jdGlvbihhKXtpZihhPV8uUkkoYSkpcmV0dXJuIGEuRGx9OwpfLlpJPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTigoKT0+Xy5CdihhKT8/e30se2VxdWFsczpfLkdJfSwiTEROTGJkIiksYz1fLk4oKCk9Pnt2YXIge2Zvcm1JZDpkLGZpZWxkSWQ6ZX09YigpO2lmKGQmJmUpe3ZhciBmO2lmKGY9Xy5XSShkLGUpKXtpZighKCJmdW5jdGlvbiI9PXR5cGVvZiBfLllJJiZmIGluc3RhbmNlb2YgXy5ZSSkpdGhyb3cgXy5JSShgRmllbGQgJHtlfSBpbiBmb3JtICR7ZH0gaXMgbm90IGEgU2NhbGFyRmllbGQuYCk7fWVsc2UgZj12b2lkIDA7cmV0dXJuIGZ9fSx2b2lkIDAsIm84bzAwZCIpO3JldHVybigpPT5jKCl9OyRJPWZ1bmN0aW9uKGEsYil7dmFyIGM9KGM9Xy5SSShhKSk/Yy5Dbjp2b2lkIDA7aWYoIWMpdGhyb3cgXy5ISShgTWlzc2luZyB0b0Zvcm1EYXRhIGZ1bmN0aW9uIGZvciBGb3JtSWQgJHthfS5gKTtyZXR1cm4gYyhiKX07CmFKPWZ1bmN0aW9uKGEsYil7dmFyIGM9KGM9Xy5SSShhKSk/Yy5DbDp2b2lkIDA7aWYoIWMpdGhyb3cgXy5ISShgTWlzc2luZyBmb3JtRGF0YUV4dGVuc2lvbkZpZWxkIGZvciBGb3JtSWQgJHthfS5gKTtyZXR1cm57W2NdOmJ9fTsKYmVhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVkkoYSksYz1fLlhJKGEpO3ZhciBkPShkPV8uUkkoYSkpP2Quc3VibWl0Q29uZmlnOnZvaWQgMDt2YXIgZT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5GSSkpLGY9Xy5SSShhKTtmJiYoZi5aZD17Li4uZi5aZCxpc1N1Ym1pdHRpbmc6ITB9LF8uT0koKSk7dHJ5e2lmKGQmJmUpe2xldCBrPSRJKGEsYik7dmFyIGg9YUooYSxrKTtsZXQgbD1hd2FpdCBlLmJpKGQuc3VibWl0SWQsaCx7c3VibWl0QWN0aW9uOiJTVUJNSVRfQUNUSU9OX1NVQk1JU1NJT04iLGFsbEZpZWxkczohMH0sZC5wYXJhbXMsZC5jbGlja1RyYWNraW5nUGFyYW1zKTtpZihsLnN1Ym1pdEVycm9yKXRocm93IGJKKGwuc3VibWl0RXJyb3IpO2F3YWl0IGM/LkhtPy4obCl9ZWxzZSBhd2FpdCBjPy5vblN1Ym1pdD8uKGIpfWNhdGNoKGspe3JldHVybiBrIGluc3RhbmNlb2YgRXJyb3I/UHJvbWlzZS5yZWplY3Qoayk6UHJvbWlzZS5yZWplY3QoYkooaykpfWZpbmFsbHl7aWYoYT0KXy5SSShhKSlhLlpkPXsuLi5hLlpkLGlzU3VibWl0dGluZzohMSxjczphLlpkLmNzKzF9LF8uT0koKX19O18uY0o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLk4oKCk9Pl8uQnYoYSk/PyIiLHZvaWQgMCwiR1JtcHIiKSxkPV8uTigoKT0+Xy5TSShjKCksYiksdm9pZCAwLCJwYlRlQmIiKSxlPV8uTigoKT0+e3ZhciBoPWMoKTtyZXR1cm4oaD1fLlJJKGgpKT9oLlpkOl8uSkkoKX0sdm9pZCAwLCJ1Y3Y2TGIiKSxmPV8uTigoKT0+e3ZhciBoPWQoKTtpZighaClyZXR1cm57Zm9ybURhdGE6dm9pZCAwLGV3OnZvaWQgMH07aD0kSShjKCksaCk7cmV0dXJue2Zvcm1EYXRhOmgsZXc6YUooYygpLGgpfX0sdm9pZCAwLCJoSDYxcWMiKTtyZXR1cm57Zm9ybTooKT0+ZCgpLGRhdGE6KCk9PmYoKSxzdGF0ZTooKT0+ZSgpLHN1Ym1pdDphc3luYygpPT57YXdhaXQgYmVhKGMoKSl9LGRpc3Bvc2U6KCk9PmFlYShjKCkpfX07Xy5kSj1TeW1ib2woImRkIik7dmFyIGJKO18uVEk9YT0+Xy5ISShgRm9ybSBzZXNzaW9uIGZvciBGb3JtSWQgJHthfSBub3QgZm91bmQuYCk7Xy5VST1hPT5fLkhJKGBOZXN0ZWQgZm9ybSBhY2Nlc3NvciBmb3IgRm9ybUlkICR7YX0gbm90IGZvdW5kLmApO2JKPWE9Pl8uSUkoYFVua25vd24gZXJyb3IgZHVyaW5nIGZvcm0gc3VibWlzc2lvbjogJHtKU09OLnN0cmluZ2lmeShhKX1gKTt2YXIgTEk9bmV3IE1hcDt2YXIgUEksTkk7Xy5RST1uZXcgTWFwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgSGZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJDQVJEX1NUWUxFX09VVExJTkUiOnJldHVybiJ5dENhcmRWaWV3TW9kZWxPdXRsaW5lIjtjYXNlICJDQVJEX1NUWUxFX1RPTkFMIjpyZXR1cm4ieXRDYXJkVmlld01vZGVsVG9uYWwiO2Nhc2UgIkNBUkRfU1RZTEVfSU5WRVJTRSI6cmV0dXJuInl0Q2FyZFZpZXdNb2RlbEludmVydGVkIjtkZWZhdWx0OnJldHVybiJ5dENhcmRWaWV3TW9kZWxSYWlzZWQifX07dmFyIEhMPW5ldyBfLkkoInNlY3Rpb25IZWFkZXJWaWV3TW9kZWwiKTt2YXIgSWZhO18uSUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJWYlhyVWUiKTtyZXR1cm4gXy5oSH07SWZhPV8uY0QoKCk9Pl8uSUwoKSwiY29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjb252ZXJzYXRpb25WaWRlb0lkZWFDYXJkVmlld01vZGVsIiwiVmJYclVlIixfLklMKX0pO3ZhciBKZmE7Xy5KTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBFU2xEYiIpO3JldHVybiBfLmVGfTtKZmE9Xy5jRCgoKT0+Xy5KTCgpLCJ0aGVtZWRJbWFnZVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ0aGVtZWRJbWFnZVZpZXdNb2RlbCIsInBFU2xEYiIsXy5KTCl9KTt2YXIgS2ZhPW5ldyBfLlZzKCJBU0tfU1RVRElPX0NBUkRfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBMZmE9bmV3IF8uVnMoIkFTS19TVFVESU9fVklERU9fRURJVF9QUkVWSUVXX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgTWZhPW5ldyBfLlZzKCJBVURJRU5DRV9PTkxJTkVfSEVBVE1BUF9WSUVXX01PREVMX1RPS0VOIik7dmFyIE5mYT1uZXcgXy5WcygiQ09NTUVOVFNfRElHRVNUX0NPTlRFTlRfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBPZmE9bmV3IF8uVnMoIlBSSU1FVElNRV9PRkZFUklOR19JTl9SRVZJRVdfQ0FSRF9DT05URU5UX1ZJRVdfTU9ERUxfVE9LRU4iKTt2YXIgUGZhPW5ldyBfLlZzKCJZVENQX0ZVTk5FTF9WSUVXX01PREVMX1RPS0VOIik7dmFyIFFmYTtfLktMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgicVZEZ0JkIik7cmV0dXJuIF8uZEZ9O1FmYT1fLmNEKCgpPT5fLktMKCksImNpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJjaW5lbWF0aWNDb250YWluZXJWaWV3TW9kZWwiLCJxVkRnQmQiLF8uS0wpfSk7dmFyIFJmYTtfLkxMPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiaTZYb21lIik7cmV0dXJuIF8uUEZ9O1JmYT1fLmNEKCgpPT5fLkxMKCksInJhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyYWRpb0J1dHRvbkl0ZW1WaWV3TW9kZWwiLCJpNlhvbWUiLF8uTEwpfSk7dmFyIFNmYTtfLk1MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiYnpqMGpkIik7cmV0dXJuIF8udEx9O1NmYT1fLmNEKCgpPT5fLk1MKCksImlubGluZUV4cGFuZGVyVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImlubGluZUV4cGFuZGVyVmlld01vZGVsIiwiYnpqMGpkIixfLk1MKX0pO3ZhciBUZmE7Xy5OTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIkZpTkdPYyIpO3JldHVybiBfLmdIfTtUZmE9Xy5jRCgoKT0+Xy5OTCgpLCJkaXNtaXNzaWJsZUl0ZW0iKTtfLll0KF8uSkQsYT0+e2EuSigiZGlzbWlzc2libGVJdGVtIiwiRmlOR09jIixfLk5MKX0pO3ZhciBVZmE9bmV3IF8uVnMoIkNPTlRFTlRfU0VDVElPTl9WSUVXX01PREVMX1RPS0VOIik7dmFyIFZmYTtfLk9MPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgidVJJYUMiKTtyZXR1cm4gXy5CSH07VmZhPV8uY0QoKCk9Pl8uT0woKSwiY2hhbm5lbEF0dHJpYnV0aW9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbCIsInVSSWFDIixfLk9MKX0pO3ZhciBQTD1fLkwoYT0+e3ZhciBiPV8uUUgoKCk9PmEuZGF0YSgpLnRvcENvbnRlbnRQYWRkaW5nVG9rZW4pLGM9Xy5RSCgoKT0+YS5kYXRhKCkuYm9keUNvbnRlbnRQYWRkaW5nVmFsdWVzPy50b3BQYWRkaW5nVG9rZW58fGEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1Rva2VuKSxkPV8uUUgoKCk9PmEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1ZhbHVlcz8uYm90dG9tUGFkZGluZ1Rva2VufHxhLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdUb2tlbiksZT1fLlFIKCgpPT5hLmRhdGEoKS5ib2R5Q29udGVudFBhZGRpbmdWYWx1ZXM/Lmhvcml6b250YWxQYWRkaW5nVG9rZW58fGEuZGF0YSgpLmJvZHlDb250ZW50UGFkZGluZ1Rva2VuKSxmPSgpPT5hLmRhdGEoKS5iYWNrZ3JvdW5kLGg9KCk9PmEuZGF0YSgpLnRyYWlsaW5nQWN0aW9uTGF5b3V0PT09IkNBUkRfVFJBSUxJTkdfQUNUSU9OX0xBWU9VVF9PVkVSTEFZIixrPSgpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbkxheW91dD09PQoiQ0FSRF9UUkFJTElOR19BQ1RJT05fTEFZT1VUX0lOTElORV9DRU5URVIiLGw9Xy55KCkucmVzb2x2ZShfLkluKFVmYSkpLG09Xy55KCkucmVzb2x2ZShfLkluKEtmYSkpLG49Xy55KCkucmVzb2x2ZShfLkluKExmYSkpLHA9Xy55KCkucmVzb2x2ZShfLkluKE5mYSkpLHI9Xy55KCkucmVzb2x2ZShfLkluKE1mYSkpLHQ9Xy55KCkucmVzb2x2ZShfLkluKFBmYSkpLHY9Xy55KCkucmVzb2x2ZShfLkluKE9mYSkpLHo9KCk9PmEuZGF0YSgpLmNhcmRTdGF0ZT8uZW5hYmxlbWVudFN0YXRlPT09IkNBUkRfRU5BQkxFTUVOVF9TVEFURV9ESVNBQkxFRCIsRT0oKT0+IXooKSYmXy50SChhLmRhdGEoKS5yZW5kZXJlckNvbnRleHQpLEE9KCk9PntpZihhLmlzRXhwYW5kZWQ/LigpIT09dm9pZCAwKXJldHVybiBhLmlzRXhwYW5kZWQ/LigpO3N3aXRjaChhLmRhdGEoKS5jYXJkU3RhdGU/LmV4cGFuc2lvblN0YXRlKXtjYXNlICJDQVJEX0VYUEFOU0lPTl9TVEFURV9FWFBBTkRFRCI6cmV0dXJuITA7CmNhc2UgIkNBUkRfRVhQQU5TSU9OX1NUQVRFX0NPTExBUFNFRCI6cmV0dXJuITE7ZGVmYXVsdDpyZXR1cm4gYS5pc1NlbGVjdGVkPy4oKX19O3JldHVybiBfLksoInl0LWNhcmQtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsSG9zdCIsYS5jbGFzc05hbWUpfSxfLksoVGZhLHtjb250ZW50SWQ6KCk9PmEuZGF0YSgpLmNvbnRlbnRJZH0sKCk9Pl8uSygiZGl2Iix7ZWw6Xy5yRihfLnVIKCgpPT5FKCk/YS5kYXRhKCkucmVuZGVyZXJDb250ZXh0OnZvaWQgMCx2b2lkIDAsdm9pZCAwLFsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpLC4uLihfLngoIldlYkZFQWxsU3R1ZGlvQnlDaGFubmVsX19lbmFibGVfYW5hbHl0aWNzX2h1Yl93ZWIiKT9bIllULUxJU1QtSVRFTS1WSUVXLU1PREVMIl06W10pXSkpLGNsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsQ2FyZFZpZXdNb2RlbElubmVyIix7eXRDYXJkVmlld01vZGVsQ2xpY2thYmxlOkV9LCgpPT5IZmEoYS5kYXRhKCkuY2FyZFN0eWxlKSwKe3l0Q2FyZFZpZXdNb2RlbENhcmRTZWxlY3RlZDooKT0+ISFhLmlzU2VsZWN0ZWQ/LigpfSwoKT0+e2lmKGEuaXNTZWxlY3RlZD8uKCk9PT12b2lkIDApe2E6e3N3aXRjaChhLmRhdGEoKS5jYXJkU3RhdGU/LnNlbGVjdGlvblN0YXRlKXtjYXNlICJDQVJEX1NFTEVDVElPTl9TVEFURV9TRUxFQ1RFRCI6dmFyIEY9Inl0Q2FyZFZpZXdNb2RlbFNlbGVjdGVkIjticmVhayBhfUY9dm9pZCAwfXJldHVybiBGfX0pLHJvbGU6KCk9PkUoKSYmIV8uQihhLmRhdGEoKS50b3BDb250ZW50LEhMKT8iYnV0dG9uIjp2b2lkIDAsImFyaWEtZGlzYWJsZWQiOnosdGFiaW5kZXg6KCk9PnooKT8tMTpFKCkmJiFfLkIoYS5kYXRhKCkudG9wQ29udGVudCxITCk/MDp2b2lkIDB9LF8uSyhfLlcse2RhdGE6Zix3cmFwcGVyOkY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbEJhY2tncm91bmRXcmFwcGVyIn0sRigpKX0se2NpbmVtYXRpY0NvbnRhaW5lclZpZXdNb2RlbDpRZmEsdGhlbWVkSW1hZ2VWaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Cl8uSyhKZmEse2RhdGE6RixjbGFzc05hbWU6Inl0Q2FyZFZpZXdNb2RlbEJhY2tncm91bmQifSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dENhcmRWaWV3TW9kZWxDb250ZW50V3JhcHBlciJ9LF8uSyhfLk8se0E6KCk9PiFoKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsVG9wQ29udGVudENvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dENhcmRWaWV3TW9kZWxUb3BDb250ZW50Iix7eXRDYXJkVmlld01vZGVsVG9wQ29udGVudFBhZGRpbmc6KCk9PiFhLmRhdGEoKS5kaXNhYmxlVG9wQ29udGVudFBhZGRpbmcmJmEuZGF0YSgpLnRvcENvbnRlbnR9KSxzdHlsZTpfLklFKHtwYWRkaW5nOmJ9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YS5kYXRhKCkudG9wQ29udGVudH0se2NvbnRlbnRMaXN0SXRlbVZpZXdNb2RlbDpfLm5MLGJhc2ljQ29udGVudFZpZXdNb2RlbDpfLmxMLGxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLGxpc3RJdGVtVmlld01vZGVsOl8ucEwsCnNlY3Rpb25IZWFkZXJWaWV3TW9kZWw6Xy52RH0pKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRDYXJkVmlld01vZGVsSW5saW5lVHJhaWxpbmdBY3Rpb24iLHt5dENhcmRWaWV3TW9kZWxJbmxpbmVDZW50ZXJUcmFpbGluZ0FjdGlvbjprLHl0Q2FyZFZpZXdNb2RlbElubGluZVRyYWlsaW5nQWN0aW9uTWFyZ2luOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0pfSxfLksoXy5XLHtkYXRhOigpPT5hLmRhdGEoKS50cmFpbGluZ0FjdGlvbn0se2J1dHRvblZpZXdNb2RlbDpfLlVGfSkpKX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dENhcmRWaWV3TW9kZWxCb3R0b21Db250ZW50UGFkZGluZzooKT0+IWEuZGF0YSgpLmRpc2FibGVCb2R5Q29udGVudFBhZGRpbmcmJmEuZGF0YSgpLmJvZHlDb250ZW50fSksc3R5bGU6Xy5JRSh7InBhZGRpbmctdG9wIjpjLCJwYWRkaW5nLWJvdHRvbSI6ZCwicGFkZGluZy1sZWZ0IjplLCJwYWRkaW5nLXJpZ2h0IjplfSl9LF8uSyhfLlcse2RhdGE6KCk9PgphLmRhdGEoKS5ib2R5Q29udGVudH0se2Jhc2ljQ29udGVudFZpZXdNb2RlbDpfLmxMLGNoYW5uZWxBdHRyaWJ1dGlvblZpZXdNb2RlbDpWZmEsY29udGVudEluc3BpcmF0aW9uQ29udmVyc2F0aW9uVmlkZW9JZGVhQ2FyZFZpZXdNb2RlbDpJZmEsY29udGVudExpc3RJdGVtVmlld01vZGVsOl8ubkwsZGVzY3JpcHRpb25QcmV2aWV3Vmlld01vZGVsOl8udkwsaW5saW5lRXhwYW5kZXJWaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Xy5LKFNmYSx7ZGF0YTpGLGlzU2VsZWN0ZWQ6QX0pLGxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLGxpc3RJdGVtVmlld01vZGVsOl8ucEwsbG9ja3VwVmlld01vZGVsOih7ZGF0YTpGfSk9Pl8uSyhfLnJMLHtkYXRhOkYsd3E6ITB9KSwuLi4obSYme2Fza1N0dWRpb0NhcmRWaWV3TW9kZWw6bX0pLC4uLihuJiZ7YXNrU3R1ZGlvVmlkZW9FZGl0UHJldmlld1ZpZXdNb2RlbDpufSksLi4uKHImJnthdWRpZW5jZU9ubGluZUhlYXRtYXBWaWV3TW9kZWw6cn0pLC4uLihwJiYKe2NvbW1lbnRzRGlnZXN0Q29udGVudFZpZXdNb2RlbDpwfSksLi4uKGwmJntjb250ZW50U2VjdGlvblZpZXdNb2RlbDpsfSksLi4uKHYmJntwcmltZXRpbWVPZmZlcmluZ0luUmV2aWV3Q2FyZENvbnRlbnRWaWV3TW9kZWw6dn0pLC4uLih0JiZ7ZnVubmVsVmlld01vZGVsOnR9KX0pKSksXy5LKF8uTyx7QTooKT0+aCgpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2FyZFZpZXdNb2RlbE92ZXJsYXlUcmFpbGluZ0FjdGlvbiJ9LF8uSyhfLlcse2RhdGE6KCk9PmEuZGF0YSgpLnRyYWlsaW5nQWN0aW9ufSx7YnV0dG9uVmlld01vZGVsOl8uVUZ9KSl9KSxfLksoXy5PLHtBOnosdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDYXJkVmlld01vZGVsRGlzYWJsZWRPdmVybGF5IiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pfSkpKSl9LCJBYSIpO3ZhciBXZmE9WyJBIi50b1N0cmluZygpLCJCVVRUT04iLnRvU3RyaW5nKCldLFhmYT1fLkwoYT0+e2Z1bmN0aW9uIGIoSCl7ZSgpLmlzRGlzYWJsZWR8fChmP2YoSC50YXJnZXQsZSgpLGs/LigpKTpBKCFFKCkpKX1mdW5jdGlvbiBjKEgpe0gua2V5PT09IiAiJiYoSC5wcmV2ZW50RGVmYXVsdCgpLEgudGFyZ2V0LmNsaWNrKCkpfXZhciBkPV8ueCgiZW5hYmxlX25hdGl2ZV9pbnB1dF9zZWxlY3RhYmxlX2l0ZW0iKSxlPWEuZGF0YSxmPWEub25TZWxlY3RlZCxoPWEuU2gsaz1hLmdyb3VwTmFtZSxsPWEuY2xhc3NOYW1lLG09YS5yb2xlLG49InJhZGlvIitfLk9IKCkscD1fLlFIKCgpPT5lKCkudmVydGljYWxQYWRkaW5nVG9rZW4pLHI9Xy5RSCgoKT0+ZSgpLmhvcml6b250YWxQYWRkaW5nVG9rZW4pLHQ9KCk9PmUoKS5jb250ZW50LFt2LHpdPV8uSighMSx2b2lkIDAsIlVtN0ZnYyIpLEU9dixBPXosRj0oKT0+ISFlKCkuaXNEaXNhYmxlZCxDPSgpPT57aWYoaCE9PXZvaWQgMCl7bGV0IEg9CmgoKTtyZXR1cm4hKCFIfHxlKCkua2V5IT09SCl9cmV0dXJuIEUoKX0sRz0oKT0+aCE9PXZvaWQgMCYmZSgpLmJlaGF2aW9yPT09IlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9FWFBBTkRFRF9OT1RfU0VMRUNURUQiPyExOkMoKSxEPSgpPT57aWYoaCE9PXZvaWQgMCYmQygpKXN3aXRjaChlKCkuYmVoYXZpb3Ipe2Nhc2UgIlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9TRUxFQ1RFRF9OT1RfRVhQQU5ERUQiOnJldHVybiExO2Nhc2UgIlNFTEVDVEFCTEVfSVRFTV9CRUhBVklPUl9FWFBBTkRFRF9OT1RfU0VMRUNURUQiOnJldHVybiEwfX07cmV0dXJuIGQ/Xy5LKCJ5dC1zZWxlY3RhYmxlLWl0ZW0tdmlldy1tb2RlbCIse3N0eWxlOl8uSUUoeyJwYWRkaW5nLXRvcCI6cCwicGFkZGluZy1ib3R0b20iOnAsInBhZGRpbmctbGVmdCI6ciwicGFkZGluZy1yaWdodCI6cn0pLGNsYXNzOl8uUCgieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbEhvc3QiLGwsInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxDb250YWluZXIiLAoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZUNvbnRhaW5lciIse3l0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxEaXNhYmxlZDpGfSksInByb3A6Y2hlY2tlZCI6R30sXy5LKCJpbnB1dCIse2lkOm4sdHlwZToicmFkaW8iLG5hbWU6YS5ncm91cE5hbWUsInByb3A6Y2hlY2tlZCI6RyxkaXNhYmxlZDpGLCJvbjpjbGljayI6Yiwib246a2V5ZG93biI6YyxjbGFzczoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZVJhZGlvQnV0dG9uIn0pLF8uSygibGFiZWwiLHtmb3I6bixjbGFzczoieXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbE5hdGl2ZUxhYmVsIiwib246a2V5ZG93biI6Y30sXy5LKF8uVyx7ZGF0YTp0fSx7Y2FyZFZpZXdNb2RlbDooe2RhdGE6SH0pPT5fLksoUEwse2RhdGE6SCxpc1NlbGVjdGVkOkcsaXNFeHBhbmRlZDpEfSl9KSkpOl8uSygieXQtc2VsZWN0YWJsZS1pdGVtLXZpZXctbW9kZWwiLHtzdHlsZTpfLklFKHsicGFkZGluZy10b3AiOnAsInBhZGRpbmctYm90dG9tIjpwLAoicGFkZGluZy1sZWZ0IjpyLCJwYWRkaW5nLXJpZ2h0IjpyfSksImFyaWEtY2hlY2tlZCI6RyxjbGFzczpfLlAoInl0U2VsZWN0YWJsZUl0ZW1WaWV3TW9kZWxIb3N0IixsLCJ5dFNlbGVjdGFibGVJdGVtVmlld01vZGVsQ29udGFpbmVyIix7eXRTZWxlY3RhYmxlSXRlbVZpZXdNb2RlbERpc2FibGVkOkZ9KSwib246Y2xpY2siOmZ1bmN0aW9uKEgpe2lmKCFlKCkuaXNEaXNhYmxlZCl7dmFyIFI9SC5jdXJyZW50VGFyZ2V0O2lmKF8ueCgid2ViX3NlbGVjdGFibGVfaXRlbV9jaGlsZF90YXBfa2lsbF9zd2l0Y2giKSlSPSExO2Vsc2V7dmFyIE09Xy5xSChIKTtSPV8uckgoTSxSLFdmYSl9Unx8KGY/ZihILmN1cnJlbnRUYXJnZXQsZSgpLGs/LigpKTpBKCFFKCkpKX19LCJwcm9wOmNoZWNrZWQiOkcscm9sZTptLCJhcmlhLWRpc2FibGVkIjpGLHRhYmluZGV4OjB9LF8uSyhfLlcse2RhdGE6dH0se2NhcmRWaWV3TW9kZWw6KHtkYXRhOkh9KT0+Xy5LKFBMLHtkYXRhOkgsaXNTZWxlY3RlZDpHLAppc0V4cGFuZGVkOkR9KX0pKX0sIkJhIik7Xy5FTD1fLkwoYT0+e2Z1bmN0aW9uIGIoeixFLEEpe3ZhciBGPWMoKS5mb3JtRmllbGRNZXRhZGF0YSYmbSgpIT09dm9pZCAwPzM6ZCgpPzI6MTtGPT09MSYmRS5rZXkhPW51bGwmJnQoRS5rZXkpO0Y9PT0zJiZFLmtleSE9bnVsbCYmbSgpPy51cGRhdGVWYWx1ZShFLmtleSk7ZT8uKHosRSxBKX12YXIge2RhdGE6YyxXYjpkLG9uU2VsZWN0ZWQ6ZSxTaDpmLGdyb3VwTmFtZTpoLGNsYXNzTmFtZTprLG5hOmx9PV8uREMoYSx7V2I6ITB9KSxtPV8uWkkoKCk9PmMoKS5mb3JtRmllbGRNZXRhZGF0YSksbj0oKT0+aD8uKCl8fGMoKS5rZXksW3Ascl09Xy5BQygoKT0+YygpLmRlZmF1bHRTZWxlY3RlZEtleSksdD1yLHY9KCk9PihjKCkuZm9ybUZpZWxkTWV0YWRhdGEmJm0oKSE9PXZvaWQgMD8zOmQoKT8yOjEpPT09Mz9tKCk/LnZhbHVlOmQoKT9mPy4oKTpwKCk7cmV0dXJuIF8uSygieXQtcmFkaW8tYnV0dG9uLWdyb3VwLXZpZXctbW9kZWwiLHtjbGFzczpfLlAoInl0UmFkaW9CdXR0b25Hcm91cFZpZXdNb2RlbEhvc3QiLAprKX0sXy5LKCJmaWVsZHNldCIse2NsYXNzOiJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxGaWVsZHNldCIscm9sZToicmFkaW9ncm91cCIsImFyaWEtaW52YWxpZCI6KCk9PiEhbSgpPy5lcnJvcnM/LlswXSwiYXJpYS1kZXNjcmliZWRieSI6KCk9Pm0oKT8uZXJyb3JzPy5bMF0/YGVycm9yLSR7YygpLmtleX1gOnZvaWQgMH0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnJhZGlvQnV0dG9uc30se3JhZGlvQnV0dG9uSXRlbVZpZXdNb2RlbDooe2RhdGE6en0pPT5fLksoUmZhLHtkYXRhOnosb25TZWxlY3RlZDpiLFNoOnYsZ3JvdXBOYW1lOm4sbmE6bH0pLHNlbGVjdGFibGVJdGVtVmlld01vZGVsOih7ZGF0YTp6fSk9Pl8uSyhYZmEse2RhdGE6eixvblNlbGVjdGVkOmIsU2g6dixncm91cE5hbWU6bixyb2xlOiJyYWRpbyJ9KX0pKSxfLksoXy5PLHtBOigpPT5tKCk/LmVycm9ycz8uWzBdLHRoZW46ej0+Xy5LKCJkaXYiLHtpZDooKT0+YGVycm9yLSR7YygpLmtleX1gLGNsYXNzOiJ5dFJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWxFcnJvciJ9LAooKT0+eigpLm1lc3NhZ2UpfSkpfSwiQ2EiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiZDJMVHhiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQUU9Xy5MKCh7bmFtZTphLG9uQ2hhbmdlOmIsb25DbGljazpjLGNoZWNrZWQ6ZCxZZTplLGhrOmYsWWk6aCxxajprLG5hOmwsVmM6bSxhcmlhTGFiZWw6bixjbGFzc05hbWU6cCxkaXNhYmxlZDpyLGhvcml6b250YWxQYWRkaW5nOnQsdmVydGljYWxQYWRkaW5nOnZ9KT0+e3ZhciB6PSJyYWRpbyIrXy5PSCgpLEU9Xy51RSgiaW5wdXQiKSxBPV8ueCgiZW5hYmxlX2lvc193ZWJ2aWV3X3JhZGlvX2J1dHRvbl9yZXNwb25zaXZlbmVzcyIpLFtGLENdPV8uSighMSx2b2lkIDAsImZMclg2ZCIpO3JldHVybiBfLksoInJhZGlvLXNoYXBlIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVIb3N0IixwKX0sXy5LKCJpbnB1dCIse2VsOkUsY2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVJbnB1dCIse3l0UmFkaW9TaGFwZVRhcHBhYmxlOigpPT4oISFifHwhIWMpJiYhcj8uKCl9KSxpZDp6LCJwcm9wOmNoZWNrZWQiOmQsbmFtZTphLHR5cGU6InJhZGlvIixkaXNhYmxlZDpyLCJvbjpjaGFuZ2UiOmZ1bmN0aW9uKEcpe0UudmFsdWUuY2hlY2tlZD0KISFkPy4oKTtiPy4oRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmNsaWNrIjpmdW5jdGlvbihHKXtjPy4oRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sImFyaWEtbGFiZWwiOm4sIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLkluKF8uakgpKT8uWGUoKSYmQyghMCl9LCJvbjpmb2N1c291dCI6ZnVuY3Rpb24oKXtDKCExKX19KSxfLksoImxhYmVsIix7Y2xhc3M6Xy5QKCJ5dFJhZGlvU2hhcGVMYWJlbENvbnRhaW5lciIsayx7eXRSYWRpb1NoYXBlQ29tcGFjdDpsLHl0UmFkaW9TaGFwZUtleWJvYXJkRm9jdXNlZDpGLHl0UmFkaW9TaGFwZVRhcHBhYmxlOigpPT4oISFifHwhIWMpJiYhcj8uKCkseXRSYWRpb1NoYXBlRGlzYWJsZWQ6cn0pLGZvcjp6fSxfLksoXy5PLHtBOigpPT4haD8uKCksdGhlbjooKT0+Xy5LKFNILHtjaGVja2VkOmQsaGs6ZixnZzohMCxWYzptLERzOkF9KX0pLF8uSyhfLk8se0E6KCk9PiEhZSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRSYWRpb1NoYXBlTGFiZWwiLAp7eXRSYWRpb1NoYXBlRXZlbnRQYXNzdGhyb3VnaDpBfSksImFyaWEtaGlkZGVuIjooKT0+ISFuPy4oKSxzdHlsZTpfLklFKHsicGFkZGluZy1sZWZ0Ijp0LCJwYWRkaW5nLXJpZ2h0Ijp0LCJwYWRkaW5nLXRvcCI6diwicGFkZGluZy1ib3R0b20iOnZ9KX0sZT8uKCkpfSksXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhTSCx7Y2hlY2tlZDpkLGhrOmYsZ2c6ITEsVmM6bSxEczpBfSl9KSkpfSwidyIpO18uQUUuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNoYW5nZTohMCxvbkNsaWNrOiEwLFllOiEwfX07CnZhciBTSD1fLkwoKHtoazphLFZjOmIsRHM6Y30pPT57dmFyIGQ9Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/IkNJUkNMRV9GVUxMIjoiQ0lSQ0xFIjtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UmFkaW9TaGFwZVJhZGlvIixiLHt5dFJhZGlvU2hhcGVDaGVja0ljb246YSx5dFJhZGlvU2hhcGVSYWRpb0RlZmF1bHRTdHlsZTooKT0+IWI/LigpLHl0UmFkaW9TaGFwZUV2ZW50UGFzc3Rocm91Z2g6Y30pLCJhcmlhLWhpZGRlbiI6InRydWUifSxfLksoXy5NRCx7aWNvbjooKT0+YT8uKCk/IkNIRUNLIjoiQ0lSQ0xFIn0pLF8uSyhfLk1ELHtpY29uOigpPT5hPy4oKT8iQ0hFQ0siOmQsYWN0aXZlOigpPT4hYT8uKCl9KSl9LCJ4Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInpDa0tCYyIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZGPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiYWNGdVZjIik7cmV0dXJuIF8uR0R9O18uV0Y9Xy5jRCgoKT0+Xy5WRigpLCJjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImNvbGxlY3Rpb25UaHVtYm5haWxWaWV3TW9kZWwiLCJhY0Z1VmMiLF8uVkYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWUY9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJmOTB0Q2IiKTtyZXR1cm4gXy5GRH07Xy5aRj1fLmNEKCgpPT5fLllGKCksInRvZ2dsZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ0b2dnbGVCdXR0b25WaWV3TW9kZWwiLCJmOTB0Q2IiLF8uWUYpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYkc9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJMVmlNTSIpO3JldHVybiBfLkREfTtfLmNHPV8uY0QoKCk9Pl8uYkcoKSwic3Vic2NyaWJlQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbCIsIkxWaU1NIixfLmJHKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZEc7Xy5lRz1mdW5jdGlvbihhKXt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uSW4oZEcpKSxbYyxkXT1fLkooYix2b2lkIDAsIkhmRGRLIik7Ynx8Xy5ZdChkRyxkKTtyZXR1cm4gXy5OKCgpPT57dmFyIGU9YSgpO3JldHVybiBlP2MoKT8uKGUpOnZvaWQgMH0sdm9pZCAwLCJ2NzBFN2IiKX07ZEc9bmV3IF8uVnMoIlNFTUFOVElDX0NPTE9SX1JFU09MVkVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uaUg9bmV3IF8uVnMoIkhPUklaT05UQUxfQkFSX1ZJRVdfTU9ERUxfVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5MSD1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8ueSgpLnJlc29sdmUoXy5KSCk7cmV0dXJuIF8ueSgpLnJlc29sdmUoXy5LSCkoKX07Xy5NSD1mdW5jdGlvbigpe3JldHVybiBfLnkoKS5yZXNvbHZlKF8uS0gpKCl9O25ldyBfLmNzO18uSkg9bmV3IF8uVnMoIldBVENIX1BMQVlFUl9QUk9NSVNFX1RPS0VOIik7bmV3IF8uY3M7Xy5LSD1uZXcgXy5WcygiR0VUX1NIT1JUU19QTEFZRVJfRlVOQ1RJT05fVE9LRU4iKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5VSD1mdW5jdGlvbihhLGIpe3JldHVybiBjPT57dmFyIGQ9T2JqZWN0LmtleXMoYik7Xy5uRSgoKT0+e2lmKGE/LigpKXtmb3IobGV0IGUgb2YgZCljLmFkZEV2ZW50TGlzdGVuZXIoZSxiW2VdKTtfLll1KCgpPT57Zm9yKGxldCBlIG9mIGQpYy5yZW1vdmVFdmVudExpc3RlbmVyKGUsYltlXSl9KX19LCJiWFpHZmUiKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZEksUGRhLGZJLFFkYSxpSSxTZGE7ZEk9ZnVuY3Rpb24oYSl7aWYoYSlzd2l0Y2goYSl7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfWFNNQUxMIjpyZXR1cm4gMTY7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfU01BTEwiOnJldHVybiAxODtjYXNlICJMSVNUX0lURU1fSUNPTl9BQ0NFU1NPUllfU0laRV9TVEFOREFSRCI6cmV0dXJuIDI0O2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FDQ0VTU09SWV9TSVpFX0xBUkdFIjpyZXR1cm4gMzY7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUNDRVNTT1JZX1NJWkVfWExBUkdFIjpyZXR1cm4gNDg7ZGVmYXVsdDpyZXR1cm4gMjR9fTsKUGRhPWZ1bmN0aW9uKGEsYil7aWYoIWE/LmVudGl0eVNlbGVjdG9yVHlwZXx8IWE/LmVudGl0eUtleSlyZXR1cm57fTtzd2l0Y2goYS5lbnRpdHlTZWxlY3RvclR5cGUpe2Nhc2UgIkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0NBUFRJT05fTEFOR1VBR0VfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPV8uTUgoKT8uZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrIiksYj10eXBlb2YgYT8udHJhbnNsYXRpb25MYW5ndWFnZT09PSJvYmplY3QiJiZhLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8YT8uZGlzcGxheU5hbWV8fCIiLHtkYXRhOnsuLi4oISFiJiZ7c2VsZWN0aW9uVGV4dDp7Y29udGVudDpifX0pLC4uLighIWImJntsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOiJDTE9TRURfQ0FQVElPTl9TRUxFQ1RFRCJ9fV19fSksaXNEaXNhYmxlZDp0eXBlb2YgYT09PSJ1bmRlZmluZWQifX07Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfQVVESU9fVFJBQ0tfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPQpfLk1IKCk/LmdldEF1ZGlvVHJhY2soKXx8dm9pZCAwLGI9YT8uZ2V0TGFuZ3VhZ2VJbmZvKCk/LmdldE5hbWUoKSx7ZGF0YTp7c2VsZWN0aW9uVGV4dDp7Y29udGVudDpifSwuLi4oYiYmIWE/LmdldExhbmd1YWdlSW5mbygpPy5nZXRJc0RlZmF1bHQoKSYme2xlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6IlBFUlNPTl9SQURBUl9GSUxMRUQifX1dfX0pfX07Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfUExBWUJBQ0tfU1BFRURfU0VMRUNUSU9OX1RFWFQiOnJldHVybiBhPV8ueCgid2ViX3Nob3J0c19wbGF5YmFja19yYXRlX3BpY2tlciIpLF8uZUlbImNvdW50ZXJmYWN0dWFscy53ZWJfc2hvcnRzX3BsYXliYWNrX3JhdGVfcGlja2VyIl09U3RyaW5nKGEpLGE/KGE9Xy5NSCgpPy5nZXRQbGF5YmFja1JhdGUoKSxiPV8uTUgoKT8uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcygpLGE9e2RhdGE6e3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6YT09PQoxP18uYUEoIlBMQVlFUl9TUEVFRF9OT1JNQUwiLHZvaWQgMCwiTm9ybWFsIik6Xy5hQSgiUExBWUJBQ0tfU1BFRURfWCIse3NwZWVkX3JhdGVfcGxhY2Vob2xkZXI6YCR7YT8udG9GaXhlZCgyKX1gfSl9LGlzRGlzYWJsZWQ6IWI/Lmxlbmd0aH19KTphPXt9LGE7Y2FzZSAiTElTVF9JVEVNX1ZJRVdfTU9ERUxfRU5USVRZX1NFTEVDVE9SX1RZUEVfUkVNT1ZFX0FEU19BRF9TVEFURSI6cmV0dXJuIGE9YT8uZW50aXR5S2V5PyhhPV8uSEgoYixhLmVudGl0eUtleSkpP3tpc0hpZGRlbjphPy5hZHNTdGF0ZSE9PSJBRFNfU1RBVEVfUExBWUlORyJ9Ontpc0hpZGRlbjohMH06e30sYTtkZWZhdWx0OnJldHVybnt9fX07Zkk9ZnVuY3Rpb24oYSl7aWYoYSYmKGE9YS5zcGxpdCgiOiIpLGEubGVuZ3RoPjEpKXJldHVybiBhWzBdLmxlbmd0aD4wP2FbMF06dm9pZCAwfTtRZGE9ZnVuY3Rpb24oYSl7aWYoYSYmIWdJLmhhcyhhKSl7dmFyIGI9ZkkoYSk7YiYmZ0kuc2V0KGEsYil9fTsKaUk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXsuLi5oSSgpfTtpZihiJiZjPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iKXtsZXQgZT1mSShhKTtlJiZnSS5mb3JFYWNoKChmLGgpPT57Zj09PWUmJmghPT1hJiYoZFtoXT0hMSl9KX1kW2FdPWI7UmRhKGQpfTtTZGE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57aWYoIWM/LigpKXt2YXIgZT1mPT57Xy5ySChfLnFIKGYpLGQsYil8fGEoZil9O2QuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGUpO3JldHVybigpPT57ZC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsZSl9fX19O18uZUk9e307Xy5qST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIm1tMk4wYyIpO3JldHVybiBfLnpFfTtfLmtJPV8uY0QoKCk9Pl8uakkoKSwic3dpdGNoQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIsIm1tMk4wYyIsXy5qSSl9KTt2YXIgbUk7Xy5sST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImhiMFdtZiIpO3JldHVybiBfLlhGfTttST1fLmNEKCgpPT5fLmxJKCksImFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsIiwiaGIwV21mIixfLmxJKX0pO3ZhciBUZGE7Xy5uST1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImhOZWx2ZCIpO3JldHVybiBfLmFJfTtUZGE9Xy5jRCgoKT0+Xy5uSSgpLCJsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbCIsImhOZWx2ZCIsXy5uSSl9KTt2YXIgVWRhO18ub0k9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJyNUNPSGYiKTtyZXR1cm4gXy4kSH07VWRhPV8uY0QoKCk9Pl8ub0koKSwibGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibGlzdEl0ZW1WaWV3Q291bnRWaWV3TW9kZWwiLCJyNUNPSGYiLF8ub0kpfSk7dmFyIHBJPV8uTCgoe2RhdGE6YSxnZzpiLGNlOmMsaXNUb2dnbGVkOmQsRGc6ZSxuYTpmfSk9Pnt2YXIgaD0oKT0+YigpP2EoKS5sZWFkaW5nSW1hZ2U6YSgpLnRyYWlsaW5nSW1hZ2U/P18uUUYoYSgpLnRoZW1lZFRyYWlsaW5nSW1hZ2UpLGs9KCk9PnthOnt2YXIgcj1hKCkubGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0O2lmKCFjPy4oKSlzd2l0Y2gocil7Y2FzZSAiTElTVF9JVEVNX0lDT05fQUZURVJfU0VMRUNUSU9OX1RFWFRfRVhQQU5EX01PUkUiOnI9ImV4cGFuZF9tb3JlIjticmVhayBhO2Nhc2UgIkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX05PTkUiOmJyZWFrO2RlZmF1bHQ6cj0iY2hldnJvbl9yaWdodCI7YnJlYWsgYX1yPXZvaWQgMH1yZXR1cm4gcn0sbD1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxJbWFnZUNvbnRhaW5lciIse3l0TGlzdEl0ZW1WaWV3TW9kZWxMZWFkaW5nOmIseXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nOigpPT4hYigpfSksCm09Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQWNjZXNzb3J5IiwieXRMaXN0SXRlbVZpZXdNb2RlbEltYWdlIiksbj1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxBY2Nlc3NvcnkiLHt5dExpc3RJdGVtVmlld01vZGVsTGVhZGluZzpiLHl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZzooKT0+IWIoKX0pLHA9Xy5lRygoKT0+YigpP2EoKS5sZWFkaW5nSWNvbkNvbG9yVG9rZW46YSgpLnRyYWlsaW5nSWNvbkNvbG9yVG9rZW4pO3JldHVybiBfLksoXy5PLHtBOigpPT57dmFyIHI9YSgpLHQ9YigpO3JldHVybiEhKHQmJihyLmxlYWRpbmdJbWFnZXx8ci5sZWFkaW5nQWNjZXNzb3J5KXx8IXQmJihyLnRyYWlsaW5nSW1hZ2V8fHIudHJhaWxpbmdCdXR0b258fHIudHJhaWxpbmdCdXR0b25zfHxyLnRyYWlsaW5nQWNjZXNzb3JpZXNMaXN0fHxyLnNlbGVjdGlvblRleHR8fHIudGhlbWVkVHJhaWxpbmdJbWFnZXx8ci50cmFpbGluZ0ltYWdlQWNjZXNzb3J5VHlwZT09PSJMSVNUX0lURU1fSU1BR0VfQUNDRVNTT1JZX1RZUEVfTkVXX0NPTlRFTlRfSU5ESUNBVE9SInx8CnIudHJhaWxpbmdMYWJlbCkpfSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6aCx0aGVuOnI9Pl8uSygiZGl2Iix7Y2xhc3M6bCwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uakYse2RhdGE6cixhbHQ6IiIsVGE6ITAsWWE6ITAsQWI6KCk9Pnt2YXIgdD0oYigpP2EoKS5sZWFkaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9JQ09OIjphKCkudHJhaWxpbmdJbWFnZUFjY2Vzc29yeVR5cGU9PT0iTElTVF9JVEVNX0lNQUdFX0FDQ0VTU09SWV9UWVBFX0lDT04iKT9iKCk/ZEkoYSgpLmxlYWRpbmdJY29uQWNjZXNzb3J5U2l6ZSk6ZEkoYSgpLnRyYWlsaW5nSWNvbkFjY2Vzc29yeVNpemUpOnZvaWQgMDtyZXR1cm4gdH0sY2xhc3NOYW1lOm0saXNUb2dnbGVkOigpPT4hZT8uKCkmJmQ/LigpLHN0eWxlOl8uSUUoe2NvbG9yOnB9KX0pKX0pLF8uSyhfLk8se0E6KCk9PmIoKSYmYSgpLmxlYWRpbmdBY2Nlc3NvcnksdGhlbjooKT0+Cl8uSygiZGl2Iix7Y2xhc3M6bH0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmxlYWRpbmdBY2Nlc3Nvcnl9LHthdmF0YXJWaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uU0Yse2RhdGE6cixnZDptLE1rOigpPT5mPy4oKT97c2l6ZToiZXh0cmEtc21hbGwifTp7c2l6ZToibWVkaXVtIn19KSxjb2xsZWN0aW9uVGh1bWJuYWlsVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLldGLHtkYXRhOnIsbWF4SGVpZ2h0OjM2LHdpZHRoOjU2LGNnOiEwfSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdCdXR0b24sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbEJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS50cmFpbGluZ0J1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5VRix7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdCdXR0b25zPy5idXR0b25zLAp0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRyYWlsaW5nQnV0dG9ucz8uYnV0dG9uc30se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5VRix7ZGF0YTpyLGNsYXNzTmFtZTpufSksYWNjb3VudExpbmtCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKG1JLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzd2l0Y2hCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ua0kse2RhdGE6cixjbGFzc05hbWU6bn0pLHN1YnNjcmliZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5jRyx7ZGF0YTpyLGlzT3ZlcmxheTohMSxRZDohMSxjbGFzc05hbWU6bn0pLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5aRix7ZGF0YTpyLGNsYXNzTmFtZTpufSl9KSl9KSxfLksoXy5PLHtBOigpPT4hYigpJiZhKCkudHJhaWxpbmdBY2Nlc3Nvcmllc0xpc3Q/LnRyYWlsaW5nQWNjZXNzb3JpZXMsCnRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCdXR0b25Db250YWluZXIifSxfLksoXy5XLHtkYXRhOigpPT5hKCkudHJhaWxpbmdBY2Nlc3Nvcmllc0xpc3Q/LnRyYWlsaW5nQWNjZXNzb3JpZXN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uVUYse2RhdGE6cixjbGFzc05hbWU6bn0pLGFjY291bnRMaW5rQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhtSSx7ZGF0YTpyLGNsYXNzTmFtZTpufSksc3dpdGNoQnV0dG9uVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmtJLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxzdWJzY3JpYmVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uY0cse2RhdGE6cixpc092ZXJsYXk6ITEsUWQ6ITEsY2xhc3NOYW1lOm59KSx0b2dnbGVCdXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uWkYse2RhdGE6cixjbGFzc05hbWU6bn0pLGJhZGdlVmlld01vZGVsOih7ZGF0YTpyfSk9PgpfLksoXy5hRyx7ZGF0YTpyLGNsYXNzOm59KSxsaXN0SXRlbUxpa2VDb3VudFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoVGRhLHtkYXRhOnIsY2xhc3NOYW1lOm59KSxsaXN0SXRlbVZpZXdDb3VudFZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoVWRhLHtkYXRhOnIsY2xhc3NOYW1lOm59KX0pKX0pLF8uSyhfLk8se0E6KCk9PiFiKCkmJiEhYSgpLnNlbGVjdGlvblRleHQsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5WLHt0ZXh0OigpPT5hKCkuc2VsZWN0aW9uVGV4dCxjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsU2VsZWN0aW9uVGV4dCIsInl0TGlzdEl0ZW1WaWV3TW9kZWxUcmFpbGluZ1NlbGVjdGlvblRleHQiKX0pLF8uSyhfLk8se0E6ayx0aGVuOnI9Pl8uSyhfLk1ELHtpY29uOnIsY2xhc3NOYW1lOiJ5dExpc3RJdGVtVmlld01vZGVsQ2hldnJvbkljb24iLGFyaWFIaWRkZW46ITAsc3R5bGU6Xy5JRSh7Y29sb3I6cH0pfSl9KSl9KSxfLksoXy5PLHtBOigpPT4KIWIoKSYmYSgpLnRyYWlsaW5nSW1hZ2VBY2Nlc3NvcnlUeXBlPT09IkxJU1RfSVRFTV9JTUFHRV9BQ0NFU1NPUllfVFlQRV9ORVdfQ09OVEVOVF9JTkRJQ0FUT1IiLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6bH0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbE5ld0NvbnRlbnRJbmRpY2F0b3IifSkpfSksXy5LKF8uTyx7QTooKT0+IWIoKSYmYSgpLnRyYWlsaW5nTGFiZWwsdGhlbjooKT0+Xy5LKF8uVix7dGV4dDooKT0+YSgpLnRyYWlsaW5nTGFiZWwsY2xhc3NOYW1lOl8uUCgieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nTGFiZWwiLCJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmciKX0pfSkpfSl9LCJ6Iik7dmFyIFZkYT1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLmlIKSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxCb3R0b21BY2Nlc3NvcnkifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYm90dG9tQWNjZXNzb3J5fSx7Li4uKGImJntob3Jpem9udGFsQmFyVmlld01vZGVsOmJ9KX0pKX0sIkEiKTt2YXIgcUk9Xy5MKGE9Pnt2YXIgYj1hLmRhdGEsYz1hLmNsYXNzTmFtZSxkPV8uZUcoKCk9PmIoKS5pc0Rpc2FibGVkJiZiKCkubGFiZWxEaXNhYmxlZENvbG9yVG9rZW4/YigpLmxhYmVsRGlzYWJsZWRDb2xvclRva2VuOmIoKS5sYWJlbFRleHRDb2xvclRva2VuKSxlPV8uZUcoKCk9PmIoKS5zdXBlckxhYmVsQ29sb3JUb2tlbik7cmV0dXJuIF8uSyhfLk8se0E6KCk9PmIoKS5zdXBlcmxhYmVsfHxiKCkudGl0bGV8fGIoKS5zdWJ0aXRsZXx8YigpLnN1YnRpdGxlQmFkZ2UsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpjfSxfLksoXy5PLHtBOigpPT5iKCkuc3VwZXJsYWJlbCx0aGVuOmY9Pl8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Inl0TGlzdEl0ZW1WaWV3TW9kZWxTdXBlcmxhYmVsIixzdHlsZTpfLklFKHtjb2xvcjplfSl9KX0pLF8uSyhfLk8se0E6KCk9PmIoKS50aXRsZSx0aGVuOmY9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZVdyYXBwZXIifSwKXy5LKF8uVix7dGV4dDpmLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxUaXRsZSIse3l0TGlzdEl0ZW1WaWV3TW9kZWxTaW5nbGVMaW5lVGl0bGU6KCk9PmIoKS50aXRsZU1heExpbmVzPT09MX0pLHN0eWxlOl8uSUUoe2NvbG9yOmR9KX0pKX0pLF8uSyhfLk8se0E6KCk9PmIoKS5zdWJ0aXRsZUJhZGdlfHxiKCkuc3VidGl0bGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQ29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczoieXRMaXN0SXRlbVZpZXdNb2RlbFN1YnRpdGxlQmFkZ2VXcmFwcGVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YigpLnN1YnRpdGxlQmFkZ2V9LHtiYWRnZVZpZXdNb2RlbDooe2RhdGE6Zn0pPT5fLksoXy5hRyx7ZGF0YTpmfSl9KSksXy5LKFdkYSx7ZGF0YTpiLHl3OigpPT4hIWIoKS5zdWJ0aXRsZUJhZGdlfSkpfSkpfSl9LCJCIiksV2RhPV8uTChhPT57dmFyIGI9Xy5lRygoKT0+YS5kYXRhKCkuc3ViTGFiZWxDb2xvclRva2VuKTsKcmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLnN1YnRpdGxlLHRoZW46Yz0+Xy5LKF8uVix7dGV4dDpjLGNsYXNzTmFtZTpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxTdWJ0aXRsZSIse3l0TGlzdEl0ZW1WaWV3TW9kZWxXaXRoQmFkZ2U6YS55d30pLHN0eWxlOl8uSUUoe2NvbG9yOmJ9KX0pfSl9LCJDIik7dmFyIFhkYT1fLkwoKHtkYXRhOmEsY2U6YixmdTpjLGlzVG9nZ2xlZDpkLGRpc2FibGVkOmUsWHg6ZixuYTpoLEJjOmssZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmwsaG9yaXpvbnRhbFBhZGRpbmc6bSxZeDpuLHVCOnAsb25UYXA6cixhcmlhTGFiZWw6dCxEZzp2fSk9Pnt2YXIgej0oKT0+ISFhKCkuaXNEaXNhYmxlZHx8ISFlPy4oKSxFPV8uZUcoKCk9PmEoKS50cmFpbGluZ0ljb25Db2xvclRva2VuKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxMYXlvdXRXcmFwcGVyIix7eXRMaXN0SXRlbVZpZXdNb2RlbENvbnRhaW5lcjooKT0+IWY/LigpLHl0TGlzdEl0ZW1WaWV3TW9kZWxEaXNhYmxlZDp6LHl0TGlzdEl0ZW1WaWV3TW9kZWxIYXNTdWJ0aXRsZTooKT0+ISFhKCkuc3VidGl0bGUseXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3Q6aCx5dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6bix5dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeTpfLngoIndlYl9lbmFibGVfbGlzdF9pdGVtX2FjdGlvbl90eXBvZ3JhcGh5IiksCnl0TGlzdEl0ZW1WaWV3TW9kZWxJblBvcHVwOmsseXRMaXN0SXRlbVZpZXdNb2RlbERpc2FibGVIb3Jpem9udGFsUGFkZGluZzooKT0+bD8uKCkmJiFmPy4oKSx5dExpc3RJdGVtVmlld01vZGVsTm9UcmFpbGluZ1RleHQ6KCk9PiFhKCkuc2VsZWN0aW9uVGV4dCYmIWEoKS50cmFpbGluZ0xhYmVsfSwoKT0+e2E6e3N3aXRjaChhKCkubGF5b3V0UHJpb3JpdHkpe2Nhc2UgIkxJU1RfSVRFTV9MQVlPVVRfUFJJT1JJVFlfVFJBSUxJTkciOnZhciBBPSJ5dExpc3RJdGVtVmlld01vZGVsUHJpb3JpdGl6ZVRyYWlsaW5nIjticmVhayBhfUE9dm9pZCAwfXJldHVybiBBfSksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6bSwicGFkZGluZy1yaWdodCI6bX0pfSxfLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsTWFpbkNvbnRhaW5lciJ9LF8uSyhwSSx7ZGF0YTphLGdnOiEwLGNlOmIsaXNUb2dnbGVkOmQsRGc6dixuYTpofSksXy5LKF8uTyx7QTpwLHRoZW46KCk9Pl8uSyhfLlZDLAp7Y29tbWFuZDooKT0+Xy5zSChhKCkucmVuZGVyZXJDb250ZXh0KSxvbkNsaWNrOnIsZGlzYWJsZWQ6eixjbGFzc05hbWU6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsQnV0dG9uT3JBbmNob3IiLCJ5dExpc3RJdGVtVmlld01vZGVsVGV4dFdyYXBwZXIiKSx0b2dnbGVhYmxlOmQhPT12b2lkIDAsdG9nZ2xlZDpkLGFyaWFMYWJlbDp0fSxfLksocUkse2RhdGE6YX0pKSxXOigpPT5fLksocUkse2RhdGE6YSxjbGFzc05hbWU6Inl0TGlzdEl0ZW1WaWV3TW9kZWxUZXh0V3JhcHBlciJ9KX0pLF8uSyhfLk8se0E6KCk9PiEhYyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dExpc3RJdGVtVmlld01vZGVsVHJhaWxpbmciLHN0eWxlOl8uSUUoe2NvbG9yOkV9KX0sYyYmXy5LKGMsbnVsbCkpLFc6KCk9Pl8uSyhwSSx7ZGF0YTphLGdnOiExLGNlOmIsaXNUb2dnbGVkOmQsRGc6dixuYTpofSl9KSksXy5LKF8uTyx7QTooKT0+YSgpLmJvdHRvbUFjY2Vzc29yeSx0aGVuOigpPT5fLksoVmRhLHtkYXRhOmF9KX0pKX0sCiJEIik7dmFyIFtoSSxSZGFdPV8uSih7fSx2b2lkIDAsInBkcmFGIiksZ0k9bmV3IE1hcDt2YXIgc0k9Xy5MKGE9Pnt2YXIge25hbWU6YixvbkNoYW5nZTpjLG9uQ2xpY2s6ZCxjaGVja2VkOmUsWWU6ZixZaTpoLHFqOmssbmE6bCxWYzptLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpuLGhvcml6b250YWxQYWRkaW5nOnAsZGlzYWJsZWQ6cixhcmlhTGFiZWw6dH09Xy5EQyhhLHtjaGVja2VkOiExLGRpc2FibGVkOiExfSk7YT0iY2hlY2tib3giK18uT0goKTtyZXR1cm4gXy5LKCJjaGVja2JveC1zaGFwZSIsbnVsbCxfLksoImxhYmVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94U2hhcGVIb3N0IixrLHt5dENoZWNrYm94U2hhcGVIb3N0Q29tcGFjdDpsLHl0Q2hlY2tib3hTaGFwZURpc2FibGVIb3Jpem9udGFsUGFkZGluZzpufSksc3R5bGU6Xy5JRSh7InBhZGRpbmctbGVmdCI6cCwicGFkZGluZy1yaWdodCI6cH0pfSxfLksoImlucHV0Iix7Y2xhc3M6Inl0Q2hlY2tib3hTaGFwZUlucHV0IixpZDphLGNoZWNrZWQ6ZSxuYW1lOmIsdHlwZToiY2hlY2tib3giLGRpc2FibGVkOnIsCiJhcmlhLWxhYmVsIjp0LCJwcm9wOmNoZWNrZWQiOmUsIm9uOmNoYW5nZSI6ZnVuY3Rpb24odil7Yz8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpjbGljayI6ZnVuY3Rpb24odil7ZD8uKHYpO3Yuc3RvcFByb3BhZ2F0aW9uKCl9fSksXy5LKF8uTyx7QTooKT0+IWg/LigpLHRoZW46KCk9Pl8uSyhySSx7Z2c6ITAsVmM6bX0pfSksXy5LKF8uTyx7QTooKT0+ISFmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hlY2tib3hTaGFwZUxhYmVsIn0sZj8uKCkpfSksXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhySSx7Z2c6ITEsVmM6bX0pfSkpKX0sIkUiKTtzSS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQ2hhbmdlOiEwLG9uQ2xpY2s6ITAsWWU6ITB9fTsKdmFyIHJJPV8uTCgoe1ZjOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0Q2hlY2tib3hTaGFwZUNoZWNrYm94IixhLHt5dENoZWNrYm94U2hhcGVDaGVja2JveERlZmF1bHRTdHlsZTooKT0+IWE/LigpfSksImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLk1ELHtpY29uOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJzcXVhcmUiOiJCT1hfRU1QVFkifSksXy5LKF8uTUQse2ljb246Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIik/ImNoZWNrX3NxdWFyZSI6IkJPWF9DSEVDSyIsYWN0aXZlOiEwfSkpLCJGIik7dmFyIHRJPV8uTCgoe2RhdGE6YSxJYTpiLG5hOmMsb25UYXA6ZCx4czplLGNlOmYsZGlzYWJsZWQ6aCxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpsLGlzT3ZlcmxheTptLGlzVG9nZ2xlZDpuLGFyaWFMYWJlbDpwLGFyaWFQcmVzc2VkOnIsRGc6dCxicDp2fSk9PntmdW5jdGlvbiB6KGJhKXtiYS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYWE9YSgpLmVudGl0eUtleSxPYT1HKCkuaXNTZWxlY3RlZDtpZihhYSYmTSgpKXtpZihHKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyImJk9hKXJldHVybjtpSShhYSwhT2EsRygpLnNlbGVjdGlvblN0eWxlKX1kP2QoYmEpOihhYT1fLnNIKEcoKS5yZW5kZXJlckNvbnRleHQpLE9hPV8ueSgpLnJlc29sdmUoXy5VRCksYWEmJk9hJiZPYS5yZXNvbHZlQ29tbWFuZChhYSxiYS50YXJnZXQ/e2Zvcm06e2VsZW1lbnQ6YmEudGFyZ2V0LHNvdXJjZURhdGE6YWF9fTp2b2lkIDApKX12YXIgRT0hXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfZm9yX3NlbGVjdGFibGVfbGlzdF9pdGVtX29uX3RhcF9maXgiKSwKQT0hXy54KCJ3ZWJfZW5hYmxlX2tpbGxzd2l0Y2hfZm9yX3NraXBfY2hpbGRfdGFncyIpLEY9Xy5RSCgoKT0+YSgpLmhvcml6b250YWxQYWRkaW5nVG9rZW4pLEM9KCk9Pmw/LigpfHxhKCkuZGlzYWJsZUhvcml6b250YWxQYWRkaW5nLEc9Xy5OKCgpPT57dmFyIGJhPWEoKSxhYT12KCksT2E9YSgpPy5lbnRpdHlTZWxlY3RvclR5cGU/ey4uLmJhLC4uLmFhLmRhdGF9OmJhO09hLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8iJiZRZGEoT2EuZW50aXR5S2V5KTt2YXIgSmI9T2EuZW50aXR5S2V5O2JhPUpiP2hJKClbSmJdOnZvaWQgMDthYT0hIU9hLmlzU2VsZWN0ZWQ7dmFyIHphPWJhIT09dm9pZCAwP2JhOmFhO0piJiZPYS5zZWxlY3Rpb25TdHlsZT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX1JBRElPIiYmYWEmJmJhPT09dm9pZCAwJiZxdWV1ZU1pY3JvdGFzaygoKT0+e2lJKEpiLCEwLE9hLnNlbGVjdGlvblN0eWxlKX0pO3JldHVybnsuLi5PYSwKaXNTZWxlY3RlZDp6YX19LHZvaWQgMCwidlJrbnkiKSxEPSgpPT4hIUcoKS5pc0Rpc2FibGVkfHwhIWg/LigpLEg9Xy5USCgoKT0+RygpLnJlbmRlcmVyQ29udGV4dCksUj0oKT0+cD8uKCl8fEgoKT8ubGFiZWwsTT0oKT0+ISghRygpLnNlbGVjdGlvblN0eWxlfHxHKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9VTlNQRUNJRklFRCIpLFM9KCk9PihfLnRIKEcoKS5yZW5kZXJlckNvbnRleHQpfHxkKSYmIU0oKSxZPSgpPT5fLnRIKEcoKS5yZW5kZXJlckNvbnRleHQpfHwhIWR8fE0oKSxwYT1fLlAoInl0TGlzdEl0ZW1WaWV3TW9kZWxDb250YWluZXIiLHt5dExpc3RJdGVtVmlld01vZGVsVGFwcGFibGU6WSx5dExpc3RJdGVtVmlld01vZGVsQWN0aW9uVHlwb2dyYXBoeTpfLngoIndlYl9lbmFibGVfbGlzdF9pdGVtX2FjdGlvbl90eXBvZ3JhcGh5IikseXRMaXN0SXRlbVZpZXdNb2RlbENvbXBhY3Q6Yyx5dExpc3RJdGVtVmlld01vZGVsSW5Qb3B1cDprLAp5dExpc3RJdGVtVmlld01vZGVsRGlzYWJsZUhvcml6b250YWxQYWRkaW5nOigpPT5DPy4oKSYmTSgpfSksb2E9Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSW1hZ2VDb250YWluZXIiLCgpPT5HKCkubGVhZGluZ0ltYWdlfHxHKCkubGVhZGluZ0FjY2Vzc29yeT8ieXRMaXN0SXRlbVZpZXdNb2RlbFRyYWlsaW5nIjoieXRMaXN0SXRlbVZpZXdNb2RlbExlYWRpbmciKSxbVSxoYV09Xy5KKCExLHZvaWQgMCwiY3VZNG1mIiksbWE9KCk9Pnt2YXIgYmE7aWYoYmE9Xy54KCJ3ZWJfYnV0dG9uX29yX2FuY2hvcl9saXN0X2l0ZW0iKSYmUz8uKCkpYmE9YSgpLGJhPSEoYmEudHJhaWxpbmdMYWJlbHx8YmEuc2VsZWN0aW9uVGV4dCk7cmV0dXJuIGJhfSx0YT0oKT0+Xy5LKFhkYSx7ZGF0YTpHLGNlOmYsZnU6ZSxpc1RvZ2dsZWQ6bixkaXNhYmxlZDpoLFh4Ok0sbmE6YyxCYzprLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpDLGhvcml6b250YWxQYWRkaW5nOkYsWXg6Uyx1QjptYSxvblRhcDpkLGFyaWFMYWJlbDpSLApEZzp0fSksVD0oKT0+e2lmKGI/LigpKXtsZXQgYmE9RygpLnNlbGVjdGlvblN0eWxlO3JldHVybiBiYT09PSJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0NIRUNLQk9YIj8ibWVudWl0ZW1jaGVja2JveCI6YmE9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9SQURJTyJ8fGJhPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCI/Im1lbnVpdGVtcmFkaW8iOiJtZW51aXRlbSJ9cmV0dXJuImxpc3RpdGVtIn07cmV0dXJuIF8uSygieXQtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtlbDpfLnJGKF8udUgoKCk9PkQoKT92b2lkIDA6RygpLnJlbmRlcmVyQ29udGV4dCx2b2lkIDAsdm9pZCAwLF8ueCgid2ViX2J1dHRvbl9vcl9hbmNob3JfbGlzdF9pdGVtIik/WyJBIi50b1N0cmluZygpLCJCVVRUT04iLnRvU3RyaW5nKCldOltdKSxTZGEoZnVuY3Rpb24oYmEpe0QoKXx8RSYmTSgpfHwoTSgpP3ooYmEpOmQ/LihiYSkpfSxBP1siQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXToKW10sKCk9PiFZKCkpLF8uVUgoKCk9PlM/LigpLHtmb2N1c2luOmZ1bmN0aW9uKCl7Xy55KCkucmVzb2x2ZShfLkluKF8uakgpKT8uWGUoKSYmaGEoITApfSxmb2N1c291dDpmdW5jdGlvbigpe2hhKCExKX19KSksY2xhc3M6Xy5QKCJ5dExpc3RJdGVtVmlld01vZGVsSG9zdCIse3l0TGlzdEl0ZW1WaWV3TW9kZWxJc092ZXJsYXk6bSx5dExpc3RJdGVtVmlld01vZGVsS2V5Ym9hcmRGb2N1c2VkOlUseXRMaXN0SXRlbVZpZXdNb2RlbEhpZGRlbjooKT0+YSgpPy5lbnRpdHlTZWxlY3RvclR5cGU/digpLmlzSGlkZGVuOiExfSksImRhdGEtdGFyZ2V0LWlkIjooKT0+RygpLnRhcmdldElkLHJvbGU6VCx0YWJpbmRleDooKT0+e3ZhciBiYT1TKCk7WSgpO3ZhciBhYT1tYSgpLE9hPUQoKTtiYT0hYWEmJihfLngoIndlYl9lbmFibGVfa2lsbHN3aXRjaF90YWJpbmRleF9maXgiKT9kfHxiYTpiYSk/T2E/LTE6MDp2b2lkIDA7cmV0dXJuIGJhfSwib246a2V5ZG93biI6ZnVuY3Rpb24oYmEpe2lmKCFBfHwKIVsiQSIudG9TdHJpbmcoKSwiQlVUVE9OIi50b1N0cmluZygpXS5pbmNsdWRlcyhiYS50YXJnZXQudGFnTmFtZSkpaWYoYmEua2V5PT09IkVudGVyInx8TSgpJiZiYS5rZXk9PT0iICIpYmEucHJldmVudERlZmF1bHQoKSxEKCl8fChFJiZNKCk/eihiYSk6YmEuY3VycmVudFRhcmdldC5jbGljaygpKX0sImFyaWEtbGFiZWwiOlIsImFyaWEtY2hlY2tlZCI6KCk9Pnt2YXIgYmE9VCgpO3JldHVybiBiYT09PSJtZW51aXRlbWNoZWNrYm94Inx8YmE9PT0ibWVudWl0ZW1yYWRpbyI/RygpLmlzU2VsZWN0ZWQ6dm9pZCAwfSwiYXJpYS1wcmVzc2VkIjooKT0+Yj8uKCl8fE0oKT92b2lkIDA6cj8uKCl9LF8uSyhfLk8se0E6TSx0aGVuOigpPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5HKCkuc2VsZWN0aW9uU3R5bGU9PT0iTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCJ9LCgpPT5fLksoc0kse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+ISFHKCkuaXNTZWxlY3RlZCwKWWk6KCk9PiEoIUcoKS5sZWFkaW5nSW1hZ2UmJiFHKCkubGVhZGluZ0FjY2Vzc29yeSkscWo6cGEsVmM6b2EsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOkMsaG9yaXpvbnRhbFBhZGRpbmc6RixvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfUkFESU8ifSwoKT0+Xy5LKF8uQUUse1llOnRhLG5hOmMsY2hlY2tlZDooKT0+ISFHKCkuaXNTZWxlY3RlZCxZaTooKT0+ISghRygpLmxlYWRpbmdJbWFnZSYmIUcoKS5sZWFkaW5nQWNjZXNzb3J5KSxxajpwYSxWYzpvYSxvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5DRSx7d2hlbjooKT0+RygpLnNlbGVjdGlvblN0eWxlPT09IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCJ9LCgpPT5fLksoXy5BRSx7WWU6dGEsbmE6YyxjaGVja2VkOigpPT4KISFHKCkuaXNTZWxlY3RlZCxZaTooKT0+ISghRygpLmxlYWRpbmdJbWFnZSYmIUcoKS5sZWFkaW5nQWNjZXNzb3J5KSxxajpwYSxWYzpvYSxoazohMCxvbkNsaWNrOkU/ejp2b2lkIDAsZGlzYWJsZWQ6RCxhcmlhTGFiZWw6Un0pKSxfLksoXy5ERSxudWxsLHRhKSksVzp0YX0pKX0sIkciKSxZZGE9Xy5MKGE9Pnt2YXIgYj1fLmNJKGM9PlBkYShhLmRhdGEoKSxjKSk7cmV0dXJuIF8uSyh0SSx7Li4uYSxicDpifSl9LCJIIik7Xy5DRD1fLkwoYT0+Xy5LKF8uTyx7QTooKT0+ISFhLmRhdGEoKT8uZW50aXR5U2VsZWN0b3JUeXBlLHRoZW46KCk9Pl8uSyhZZGEsey4uLmF9KSxXOigpPT5fLksodEksey4uLmEsYnA6KCk9Pih7fSl9KX0pLCJJIik7Xy5DRC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uVGFwOiEwLHhzOiEwfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoInBlMm9qYiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFMPWZ1bmN0aW9uKGEsYil7aWYoYSYmYilzd2l0Y2goYil7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfQk9PTCI6cmV0dXJuIGEuYm9vbFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX0lOVCI6cmV0dXJuIGEuaW50VmFsdWU7Y2FzZSAiU0VMRUNUSU9OX1RZUEVfU1RSSU5HIjpyZXR1cm4gYS5zdHJpbmdWYWx1ZTtjYXNlICJTRUxFQ1RJT05fVFlQRV9QUklWQUNZX1NUQVRVUyI6cmV0dXJuIGEucHJpdmFjeVN0YXR1c1ZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX1RJTUVfUElDS0VSX0ZPUk1BVCI6cmV0dXJuIGEudGltZVBpY2tlckZvcm1hdFZhbHVlO2Nhc2UgIlNFTEVDVElPTl9UWVBFX0VOR0FHRU1FTlRfUEVSTUlTU0lPTiI6cmV0dXJuIGEuZW5nYWdlbWVudFBlcm1pc3Npb25WYWx1ZX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkNJPWZ1bmN0aW9uKGEpe18uVkgubXcoKShhKX07Xy5EST1mdW5jdGlvbihhLGIpe3ZhciBjPV8uWEgoKTtyZXR1cm4gXy5OKCgpPT57YygpO3JldHVybiBfLlpIKGEsW18uQnYoYil8fCIiXSl9LHtkZWJ1Z05hbWU6IkxVWnNsZiJ9LCJaMTA1dCIpfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5STD1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImxpa2VTdGF0dXNFbnRpdHkiLGIpfTtfLlNMPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywibGlrZUNvdW50RW50aXR5IixiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBZZmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5OKCgpPT5fLkJ2KGEpPz97fSx7ZXF1YWxzOl8uR0l9LCJ6VFVaUWMiKSxjPV8uTigoKT0+e3ZhciB7Zm9ybUlkOmQsZmllbGRJZDplfT1iKCk7aWYoZCYmZSl7YTp7bGV0IGg9Xy5TSShkKTtpZihoKXt2YXIgZj1fLk1JKGUpO2lmKGY9aFtmXSl7aWYoISgiZnVuY3Rpb24iPT10eXBlb2YgXy5UTCYmZiBpbnN0YW5jZW9mIF8uVEwpKXRocm93IF8uSUkoYEZpZWxkICR7ZX0gaW4gZm9ybSAke2R9IGlzIG5vdCBhIFNjYWxhckxpc3RGaWVsZC5gKTticmVhayBhfX1mPXZvaWQgMH1yZXR1cm4gZn19LHZvaWQgMCwiRTBLU0ZkIik7cmV0dXJuKCk9PmMoKX0sWmZhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywic2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5IixiKX0sJGZhPWZ1bmN0aW9uKGEsYil7Yi5pbmNsdWRlcyhhKT9iPWIuZmlsdGVyKGM9PmMhPT1hKTpiLnB1c2goYSk7cmV0dXJuWy4uLmJdfSxVTD1uZXcgXy5JKCJjaGVja2JveEl0ZW1WaWV3TW9kZWwiKTt2YXIgYWdhPV8uTChhPT57dmFyIHtkYXRhOmIsV2I6YyxzZWxlY3RlZDpkLG9uVGFwOmUsZ3JvdXBOYW1lOmYsY2xhc3NOYW1lOmgsbmE6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bCxMaTptfT1fLkRDKGEse1diOiExLHNlbGVjdGVkOiExLG5hOiExLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzohMSxMaTohMX0pLG49KCk9PmMoKT8yOmIoKS5mb3JtRmllbGRNZXRhZGF0YSYmIW0oKT8zOjE7Xy5VSigoKT0+e24oKT09PTImJmIoKS5kZWZhdWx0U2VsZWN0ZWQ/Xy5HcChFcnJvcigidWQiKSk6bigpPT09MSYmZCgpP18uR3AoRXJyb3IoInZkIikpOm4oKT09PTMmJmQoKSYmXy5HcChFcnJvcigid2QiKSl9KTt2YXIgcD1fLlpJKCgpPT5iKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFtyLHRdPV8uQUMoKCk9PntpZihuKCk9PT0xKXJldHVybiBiKCkuZGVmYXVsdFNlbGVjdGVkfSk7cmV0dXJuIF8uSygieXQtY2hlY2tib3gtaXRlbS12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94SXRlbVZpZXdNb2RlbEhvc3QiLApoKX0sXy5LKF8uQ0Qse2RhdGE6KCk9Pnt2YXIgdj1iKCksej1uKCk9PT0zP3AoKT8udmFsdWV8fCExOm4oKT09PTE/cigpOmQoKTtyZXR1cm57dGl0bGU6di50ZXh0LHN1YnRpdGxlOnYuc3VidGV4dCxzdXBlcmxhYmVsOnYuc3VwZXJsYWJlbCxpc1NlbGVjdGVkOiEheixpc0Rpc2FibGVkOnYuaXNEaXNhYmxlZCxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9DSEVDS0JPWCJ9fSxvblRhcDooKT0+e3ZhciB2PSEobigpPT09Mz9wKCk/LnZhbHVlOm4oKT09PTE/cigpOmQoKSk7bigpPT09Mz9wKCk/LnVwZGF0ZVZhbHVlKHYpOm4oKT09PTEmJnQodik7ZT8uKHYsYigpLGY/LigpKX0sbmE6ayxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6bH0pKX0sIkRhIik7Xy50RD1fLkwoKHtkYXRhOmEsV2I6YixkQTpjLGd6OmQsZ3JvdXBOYW1lOmUsZGlzYWJsZUhvcml6b250YWxQYWRkaW5nOmYsbmE6aH0pPT57dmFyIGs9Xy5ESShaZmEsKCk9PmEoKS5oaWRlSXRlbXNFbnRpdHlLZXkpLGw9KCk9PmI/LigpPzI6YSgpLmZvcm1GaWVsZE1ldGFkYXRhPzM6MSxtPSgpPT5lPy4oKXx8YSgpLmtleTtfLlVKKCgpPT57bCgpPT09MiYmYSgpLmRlZmF1bHRTZWxlY3RlZEtleXM/Xy5HcChFcnJvcigieGQiKSk6bCgpPT09MSYmYz8uKCk/Xy5HcChFcnJvcigieWQiKSk6bCgpPT09MyYmKGM/LigpIT09dm9pZCAwJiZfLkdwKEVycm9yKCJ6ZCIpKSxhKCkuZGVmYXVsdFNlbGVjdGVkS2V5cyYmXy5HcChFcnJvcigiQWQiKSkpfSk7dmFyIG49WWZhKCgpPT5hKCkuZm9ybUZpZWxkTWV0YWRhdGEpLFtwLHJdPV8uQUMoKCk9PntpZihsKCk9PT0xKXJldHVybiBhKCkuZGVmYXVsdFNlbGVjdGVkS2V5c30pLHQ9Xy5aSSgoKT0+KHtmb3JtSWQ6YSgpLnNlYXJjaFF1ZXJ5RmllbGRNZXRhZGF0YT8uZm9ybUlkfHwKIiIsZmllbGRJZDphKCkuc2VhcmNoUXVlcnlGaWVsZE1ldGFkYXRhPy5maWVsZElkfHwiIn0pKSx2PV8uTigoKT0+e3ZhciBFPWEoKS5jaGVja2JveGVzfHxbXSxBPWsoKTtpZihBPy52YWx1ZXMmJkEudmFsdWVzLmxlbmd0aD4wKXtsZXQgQz1BLnR5cGUsRz1uZXcgU2V0KEEudmFsdWVzLm1hcChEPT5fLlFMKEQsQykpLmZpbHRlcihEPT5EIT09dm9pZCAwKSk7RT1FLmZpbHRlcihEPT57RD1fLkIoRCxVTCk7aWYoIUQ/LnZhbHVlKXJldHVybiEwO0Q9Xy5RTChELnZhbHVlLEMpO3JldHVybiBEPT09dm9pZCAwfHwhRy5oYXMoRCl9KX12YXIgRj0odCgpPy52YWx1ZXx8IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIEY/RS5maWx0ZXIoQz0+e0M9Xy5CKEMsVUwpO3JldHVybiBDPy50ZXh0Py5jb250ZW50P0MudGV4dC5jb250ZW50LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoRik6ITF9KTpFfSx2b2lkIDAsIlg2WTVNYyIpLHo9YXN5bmMoRSxBLEYpPT57RT1bXTtsKCk9PT0xJiZBLmtleT8oRT0KJGZhKEEua2V5LHAoKXx8W10pLHIoRSkpOmwoKT09PTMmJkEua2V5JiYoRT1uKCk/LnZhbHVlfHxbXSxFLmluY2x1ZGVzKEEua2V5KT8oRT1FLmluZGV4T2YoQS5rZXkpLEUhPT0tMSYmYXdhaXQgbigpPy5yZW1vdmUoRSkpOmF3YWl0IG4oKT8uYWRkKEEua2V5KSxFPW4oKT8udmFsdWV8fFtdKTtkPy4oQSxFLEYpfTtyZXR1cm4gXy5LKCJ5dC1jaGVja2JveC1ncm91cC12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dENoZWNrYm94R3JvdXBWaWV3TW9kZWxIb3N0Iil9LF8uSygiZmllbGRzZXQiLHtjbGFzczpfLlAoInl0Q2hlY2tib3hHcm91cFZpZXdNb2RlbEZpZWxkc2V0Iil9LF8uSygiZGl2Iix7cm9sZToibGlzdCJ9LF8uSyhfLlcse2RhdGE6dn0se2NoZWNrYm94SXRlbVZpZXdNb2RlbDooe2RhdGE6RX0pPT5fLksoYWdhLHtkYXRhOkUsV2I6ITAsc2VsZWN0ZWQ6KCk9Pnt2YXIgQT1sKCk9PT0yP2M/LigpfHxbXTpsKCk9PT0zP24oKT8udmFsdWV8fFtdOnAoKXx8W10sRj1FKCkua2V5OwpyZXR1cm4gRj9BLmluY2x1ZGVzKEYpOiExfSxvblRhcDp6LGdyb3VwTmFtZTptLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmLG5hOmh9KX0pKSkpfSwiRWEiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgidkRjazFkIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uSko9ZnVuY3Rpb24oYSxiKXtpZighYSYmIWIpcmV0dXJuIm1lZGl1bSI7YT1NYXRoLm1heChhfHwwLGJ8fDApO3JldHVybiBhPj0yNTY/ImxhcmdlIjphPj05Nj8ibWVkaXVtIjoic21hbGwifTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIEdlYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVUb3VjaFJlc3BvbnNlSW52ZXJzZSI7Y2FzZSAzOnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZSI7Y2FzZSA0OnJldHVybiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVPdmVybGF5VG91Y2hSZXNwb25zZUludmVyc2UiO2RlZmF1bHQ6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRvdWNoUmVzcG9uc2UifX0sSGVhPWZ1bmN0aW9uKGEsYil7aWYoYilyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIjtpZihhKXN3aXRjaChhKXtjYXNlICJsYXJnZSI6cmV0dXJuInl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRodW1ibmFpbFNpemVMYXJnZSI7Y2FzZSAibWVkaXVtIjpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZU1lZGl1bSI7ZGVmYXVsdDpyZXR1cm4ieXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlVGh1bWJuYWlsU2l6ZVNtYWxsIn19LApJZWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYSxbe29mZnNldDowLG9wYWNpdHk6LjEsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4wNSwgMC4wMCwgMC4wMCwgMS4wMCkifSx7b2Zmc2V0OjEsb3BhY2l0eTowfV0se2R1cmF0aW9uOjQwMH0pLGRvY3VtZW50LnRpbWVsaW5lKTt0aGlzLm89bmV3IEFuaW1hdGlvbihuZXcgS2V5ZnJhbWVFZmZlY3QoYixbe29mZnNldDowLG9wYWNpdHk6LjIsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4yMCwgMC4wMCwgMC42MCwgMS4wMCkifSx7b2Zmc2V0OjEsb3BhY2l0eTowfV0se2R1cmF0aW9uOjQwMH0pLGRvY3VtZW50LnRpbWVsaW5lKX1wbGF5KCl7dGhpcy5qLnBsYXk/LigpO3RoaXMuby5wbGF5Py4oKX1jYW5jZWwoKXt0aGlzLmouY2FuY2VsPy4oKTt0aGlzLm8uY2FuY2VsPy4oKX19O18uVUM9Xy5MKCh7bW9kZWw6YSxUbTpiLFZtOmMsVW06ZCxSYjplfSk9PntmdW5jdGlvbiBmKCl7digpO3IoITEpfWZ1bmN0aW9uIGgoKXt0Py5jYW5jZWwoKTtyKCEwKX12YXIgaz1fLnVFKCJ5dC10b3VjaC1mZWVkYmFjay1zaGFwZSIpLGw9Xy51RSgiZGl2IiksbT1fLnVFKCJkaXYiKSxbbixwXT1fLkFDKCgpPT5jPy4oKXx8ZD8uKCk/ITE6ISFiPy4oKXx8ITEpLHI9cCx0PXZvaWQgMCx2PSgpPT57IXQmJm0udmFsdWUmJmwudmFsdWUmJnR5cGVvZiBBbmltYXRpb249PT0iZnVuY3Rpb24iJiZ0eXBlb2YgS2V5ZnJhbWVFZmZlY3Q9PT0iZnVuY3Rpb24iJiYodD1uZXcgSWVhKG0udmFsdWUsbC52YWx1ZSkpO3Q/LnBsYXkoKX07Xy5uRSgoKT0+e2M/LigpJiZ2KCl9LCJDWTJTIik7Xy5uRSgoKT0+e2I/LigpJiZ0Py5jYW5jZWwoKX0sInZlcWY2YiIpO18ubkUoKCk9PntkPy4oKSYmdD8uY2FuY2VsKCl9LCJUVnJmQ2MiKTtfLll1KCgpPT57dCYmKHQ/LmNhbmNlbCgpLHQ9dm9pZCAwKX0pOwpyZXR1cm4gXy5LKCJ5dC10b3VjaC1mZWVkYmFjay1zaGFwZSIse2VsOmssY2xhc3M6Xy5QKCJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVIb3N0IiwoKT0+R2VhKGEoKS5jb2xvciksKCk9PkhlYShhKCkudGh1bWJuYWlsU2l6ZSwhIWEoKS5pc0V4dGVuZGVkKSx7eXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRm9jdXNlZDooKT0+ISFhKCkuZm9jdXNlZCYmIWEoKS5kaXNhYmxlZCx5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVDaXJjdWxhcjooKT0+ISFhKCkuY2lyY3VsYXIseXRTcGVjVG91Y2hGZWVkYmFja1NoYXBlRG93bjpuLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZVRyaWdnZXJFdmVudHM6KCk9PiEhYSgpLm1CLHl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyZWQ6KCk9PmU/LigpfSksc3R5bGU6Xy5JRSh7bWFyZ2luOigpPT5hKCkubWFyZ2luP2AtJHthKCkubWFyZ2lufXB4YDp2b2lkIDAsIm1hcmdpbi10b3AiOigpPT5hKCkueHA/YC0ke2EoKS54cH1weGA6dm9pZCAwfSksIm9uOm1vdXNlZG93biI6aCwKIm9uOm1vdXNldXAiOmYsIm9uOnBvaW50ZXJsZWF2ZSI6ZnVuY3Rpb24oKXt0Py5jYW5jZWwoKTtyKCExKX0sIm9uOnRvdWNoc3RhcnQiOmgsIm9uOnRvdWNoZW5kIjpmLCJhcmlhLWhpZGRlbiI6ITB9LF8uSyhfLk8se0E6KCk9PiEhYSgpLk5sLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUhvdmVyRWZmZWN0IixzdHlsZTpfLklFKHsiYm9yZGVyLXJhZGl1cyI6KCk9PmEoKS5ib3JkZXJSYWRpdXMsYmFja2dyb3VuZDooKT0+e3tsZXQgRT1hKCkuTmw7aWYoRSl7dmFyIHo9W107Zm9yKGxldCBBIG9mIEU/LmxpZ2h0aW5nVGVjaG5pcXVlc3x8W10pc3dpdGNoKEEpe2Nhc2UgMjp6LnB1c2goYGxpbmVhci1ncmFkaWVudCgxODBkZWcsICR7RT8ucGFsZXR0ZT8ua2V5TGlnaHR9LCAke0U/LnBhbGV0dGU/LmJhY2tncm91bmR9KWApfXoucHVzaChhKCkuTmw/LnBhbGV0dGU/LmJhY2tncm91bmQpO3o9ei5qb2luKCIsICIpfWVsc2Ugej12b2lkIDB9cmV0dXJuIHp9fSl9KX0pLApfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNUb3VjaEZlZWRiYWNrU2hhcGVTdHJva2UiLHN0eWxlOl8uSUUoeyJib3JkZXItcmFkaXVzIjooKT0+YSgpLmJvcmRlclJhZGl1cywiYm9yZGVyLWNvbG9yIjooKT0+YSgpLnRzPy5wYWxldHRlPy5iYWNrZ3JvdW5kfSksZWw6bH0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY1RvdWNoRmVlZGJhY2tTaGFwZUZpbGwiLHN0eWxlOl8uSUUoeyJib3JkZXItcmFkaXVzIjooKT0+YSgpLmJvcmRlclJhZGl1cywiYmFja2dyb3VuZC1jb2xvciI6KCk9PmEoKS50cz8ucGFsZXR0ZT8uYmFja2dyb3VuZH0pLGVsOm19KSl9LCJUIik7Xy5VQy5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLldkKCJPdEtTSmUiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE9hYSxQYWEsUWFhO09hYT1mdW5jdGlvbihhLGIpe3ZhciBjPXt9LGQ9T2JqZWN0LmtleXMoYSk7Zm9yKGxldCBlIG9mIGQpY1tlXT1iKGUsYVtlXSk7cmV0dXJuIGN9O1BhYT1mdW5jdGlvbihhLGIpe3JldHVybiB0eXBlb2YgYSE9PSJvYmplY3QifHxhPT09bnVsbD8hMTpPYmplY3Qua2V5cyhiKS5ldmVyeShjPT5jIGluIGEpfTtfLmlBPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmtleXMoYSkubWFwKGI9PltiLGJdKSl9O1FhYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIE9hYShjLChkLGUpPT4oZiwuLi5oKT0+UGFhKGYsYSk/ZShmW2JdLC4uLmgpOmUoZiwuLi5oKSl9O18uakE9ZnVuY3Rpb24oYSl7cmV0dXJuKGIsYyk9PlFhYShhLGIsYyl9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgVGFhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYSwicGxheWxpc3RMb29wU3RhdGVFbnRpdHkiLGIpPz92b2lkIDB9LFVhYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEsInRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eSIsYik/P3ZvaWQgMH0sd0E9Xy5pQSh7ZW50aXRpZXM6e319KTtfLnhBPV8uakEod0EpKHdBLmVudGl0aWVzLHtiQTpmdW5jdGlvbihhLGIpe3JldHVybihfLnFBKGEsInNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHkiLGIpPz92b2lkIDApPy5zZnZBdWRpb0l0ZW1QbGF5YmFja1N0YXRlPz92b2lkIDB9LHRLOlRhYSxlQjpVYWF9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5aQz1uZXcgXy5JKCJsaXN0SXRlbVZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgdkk7Xy51ST1mdW5jdGlvbihhLGIpe2lmKF8udEE/LmVuY29kZUludG8pe2xldCB7cmVhZDpkLHdyaXR0ZW46ZX09Xy50QS5lbmNvZGVJbnRvKGEsYik7cmV0dXJuIGQ8YS5sZW5ndGg/YS5sZW5ndGgqNDplfXZhciBjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT09NTUyOTYmJmQrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChkKzEpJjY0NTEyKT09PTU2MzIwPyhlPTY1NTM2KygoZSYxMDIzKTw8MTApKyhhLmNoYXJDb2RlQXQoKytkKSYxMDIzKSxiW2MrK109ZT4+MTh8MjQwLGJbYysrXT1lPj4xMiY2M3wxMjgpOmJbYysrXT1lPj4xMnwyMjQsYltjKytdPWU+PjYmNjN8MTI4KSxiW2MrK109ZSY2M3wxMjgpfXJldHVybiBjfTsKdkk9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmMmJmMuYnVmZmVyPT09Yi5leHBvcnRzLm1lbW9yeS5idWZmZXIpe2xldCBkPWIubWVtb3J5LnJlYWxsb2MoYy5ieXRlT2Zmc2V0LGEpO2lmKGQpcmV0dXJuIG5ldyBVaW50OEFycmF5KGIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyLGQsYSl9YT1iP25ldyBVaW50OEFycmF5KGIuZXhwb3J0cy5tZW1vcnkuYnVmZmVyLGIubWVtb3J5Lm1hbGxvYyhhKSxhKTpuZXcgVWludDhBcnJheShhKTtjJiZhLnNldChjKTtyZXR1cm4gYX07Xy53ST1mdW5jdGlvbihhLGIpe2I9YS5wb3MrYjtpZighKGEuYnVmLmxlbmd0aD49Yikpe2Zvcih2YXIgYz1hLmJ1Zi5sZW5ndGgqMjtjPGI7KWMqPTI7YS5idWY9dkkoYyxhLndhc20sYS5idWYuc3ViYXJyYXkoMCxhLnBvcykpO2Eudmlldz1uZXcgRGF0YVZpZXcoYS5idWYuYnVmZmVyLGEuYnVmLmJ5dGVPZmZzZXQsYS5idWYuYnl0ZUxlbmd0aCl9fTsKXy54ST1mdW5jdGlvbihhLGIpe2lmKGI+MjY4NDM1NDU1KXtfLndJKGEsNCk7bGV0IGM9YiYxMDczNzQxODIzO2ZvcihsZXQgZD0wO2Q8NDtkKyspYS52aWV3LnNldFVpbnQ4KGEucG9zLGMmMTI3fDEyOCksYz4+Pj03LGEucG9zKz0xO2I9TWF0aC5mbG9vcihiLzI2ODQzNTQ1Nil9Zm9yKF8ud0koYSw0KTtiPjEyNzspYS52aWV3LnNldFVpbnQ4KGEucG9zLGImMTI3fDEyOCksYj4+Pj03LGEucG9zKz0xO2Eudmlldy5zZXRVaW50OChhLnBvcyxiKTthLnBvcys9MX07Cl8uekk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgXy55STtpZihfLnRBKWE9Xy50QS5lbmNvZGUoYSk7ZWxzZXt2YXIgZD1uZXcgVWludDhBcnJheShNYXRoLmNlaWwoYS5sZW5ndGgqMS4yKSksZT1fLnVJKGEsZCk7ZC5sZW5ndGg8ZSYmKGQ9bmV3IFVpbnQ4QXJyYXkoZSksZT1fLnVJKGEsZCkpO2QubGVuZ3RoPmUmJihkPWQuc3ViYXJyYXkoMCxlKSk7YT1kfWEhPT12b2lkIDAmJihfLnhJKGMsMTgpLGQ9YS5sZW5ndGgsXy54SShjLGQpLF8ud0koYyxkKSxjLmJ1Zi5zZXQoYSxjLnBvcyksYy5wb3MrPWQpO2E9Xy51QVtiXTtpZih0eXBlb2YgYT09PSJ1bmRlZmluZWQiKXRocm93IGI9bmV3IF8uWGooIkZhaWxlZCB0byByZWNvZ25pemUgZW50aXR5IHR5cGUiLHtuYW1lOiJFbnRpdHlLZXlIZWxwZXJFcnJvciIsZW50aXR5VHlwZTpifSksXy5HcChiKSxiO2EhPT12b2lkIDAmJihfLnhJKGMsMzIpLF8ueEkoYyxhKSk7Xy54SShjLDQwKTtfLnhJKGMsMSk7Yj1uZXcgVWludDhBcnJheShjLmJ1Zi5idWZmZXIsCmMuYnVmLmJ5dGVPZmZzZXQsYy5wb3MpO3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoXy5zYyhiLDApKX07Xy55ST1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMud2FzbT12b2lkIDA7dGhpcy5wb3M9MDt0aGlzLmo9W107dGhpcy5idWY9dkkoNDA5Nik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLmJ1Zi5idWZmZXIsdGhpcy5idWYuYnl0ZU9mZnNldCx0aGlzLmJ1Zi5ieXRlTGVuZ3RoKX19O18uekkoIiIsImRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eSIpO18uekkoIkRPV05MT0FEU19MSVNUX0VOVElUWV9JRF9NQU5VQUxfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtfLnpJKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwicmVmcmVzaCIpO18uekkoIlNNQVJUX0RPV05MT0FEU19FTkFCTEVEIiwic2V0dGluZ0VudGl0eSIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkFJPW5ldyBfLkkoIm9mZmxpbmVQbGF5bGlzdEVuZHBvaW50Iik7Xy5CST1uZXcgXy5JKCJvZmZsaW5lVmlkZW9FbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWmRhO18uRUk9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPWI/YS5zd2l0Y2hPZmZDb21tYW5kOmEuc3dpdGNoT25Db21tYW5kO2lmKGQmJmUpWmRhKGEsYyxlKTtlbHNlIF8uYkUoe2JoOmF9KT8ub25jbGljaz8uKGMpfTtaZGE9ZnVuY3Rpb24oYSxiLGMpe2E9Xy5iRSh7Ymg6YSxBbzp7RWk6e29uU3VjY2VzczooKT0+e2MoITEpfSxuejooKT0+e2MoITEpfX19fSk7YT8ub25jbGljayYmKGEub25jbGljayhiKSxjKCEwKSl9O18uJGRhPW5ldyBfLkkoInN3aXRjaEJ1dHRvblZpZXdNb2RlbCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZUo9ZnVuY3Rpb24oYSl7aWYoYSlyZXR1cm4gXy5CKGEsXy4kZGEpfTtfLmZKPV8uTCgoe2RhdGE6YSxvblRhcDpiLGtLOmMsbUs6ZCxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6ZSxMaTpmLG5hOmh9KT0+e2Z1bmN0aW9uIGsoRil7aWYoIUYub3Upe0Yub3U9ITA7dmFyIEM9ZUooQSgpKTshQ3x8Qy5pc0Rpc2FibGVkfHxhKCkuaWdub3JlVGFwVW50aWxDb21tYW5kQ29tcGxldGVzJiZ2KCl8fChiPy4oRiksXy5FSShDLEUoKSxGLGEoKS5pZ25vcmVUYXBVbnRpbENvbW1hbmRDb21wbGV0ZXMseiksKGEoKS5mb3JtRmllbGRNZXRhZGF0YSYmIWY/LigpPzM6MSk9PT0zP2woKT8udXBkYXRlVmFsdWUoIUUoKSk6cCghRSgpKSxjPy4oRSgpKSl9fXZhciBsPV8uWkkoKCk9PmEoKS5mb3JtRmllbGRNZXRhZGF0YSksW20sbl09Xy5BQygoKT0+ZUooQSgpKT8uc3dpdGNoZWRPbkJ5RGVmYXVsdHx8ITEpLHA9bixbcix0XT1fLkooITEsdm9pZCAwLCJPdmt1bGUiKSx2PXIsej10LEU9KCk9PihhKCkuZm9ybUZpZWxkTWV0YWRhdGEmJiFmPy4oKT8zOjEpPT09Mz9sKCk/LnZhbHVlfHwKITE6bSgpLEE9KCk9Pnt2YXIgRjtpZighKEY9YSgpLnN3aXRjaEJ1dHRvbikpe3ZhciBDPWEoKTtGPWQ/LigpO0M9e3N3aXRjaE9uQ29tbWFuZDpDLnN3aXRjaE9uQ29tbWFuZCxzd2l0Y2hPZmZDb21tYW5kOkMuc3dpdGNoT2ZmQ29tbWFuZCxzd2l0Y2hlZE9uQnlEZWZhdWx0OkMuc3dpdGNoZWRPbkJ5RGVmYXVsdCxpc0Rpc2FibGVkOkMuaXNEaXNhYmxlZCxhMTF5TGFiZWxTd2l0Y2hlZE9uOkMuYTExeUxhYmVsU3dpdGNoZWRPbixhMTF5TGFiZWxTd2l0Y2hlZE9mZjpDLmExMXlMYWJlbFN3aXRjaGVkT2ZmfTtGIT09dm9pZCAwJiYoQy5pc0Rpc2FibGVkPUYpO0Y9e3N3aXRjaEJ1dHRvblZpZXdNb2RlbDpDfX1DPWVKKEYpO2lmKCFDKXJldHVybiBGO3ZhciBHPWEoKS50aXRsZT8uY29udGVudDtyZXR1cm4gRz97c3dpdGNoQnV0dG9uVmlld01vZGVsOnsuLi5DLGExMXlMYWJlbFN3aXRjaGVkT246RyxhMTF5TGFiZWxTd2l0Y2hlZE9mZjpHfX06Rn07cmV0dXJuIF8uSygic3dpdGNoLWxpc3QtaXRlbS12aWV3LW1vZGVsIiwKe2NsYXNzOiJ5dFN3aXRjaExpc3RJdGVtVmlld01vZGVsSG9zdCIsIm9uOmNsaWNrIjprfSxfLksoXy5DRCx7ZGF0YTooKT0+KHt0aXRsZTphKCkudGl0bGUsc3VidGl0bGU6YSgpLmF0dHJpYnV0ZWRTdWJ0aXRsZSxsZWFkaW5nSW1hZ2U6YSgpLmxlYWRpbmdJbWFnZSxsZWFkaW5nQWNjZXNzb3J5OmEoKS5sZWFkaW5nQWNjZXNzb3J5LGlzRGlzYWJsZWQ6YSgpLmlzRGlzYWJsZWR9KSxpc1RvZ2dsZWQ6RSxEZzohMCxuYTpoLHhzOigpPT5fLksoXy5XLHtkYXRhOkF9LHtzd2l0Y2hCdXR0b25WaWV3TW9kZWw6KHtkYXRhOkZ9KT0+Xy5LKF8ua0kse2RhdGE6RixxcjpFLG9uVGFwOmt9KX0pLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzplfSkpfSwiSiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY2VhLGdKLGRlYSxoSixpSixlZWEsZmVhLGdlYSxoZWEsamVhLGtlYSxsZWEsbWVhLGpKLGtKLG1KLG5lYSxvZWEscGVhLHRlYSx1ZWEscUosckosc0osd2VhLHRKLGllYSx1SjtjZWE9ZnVuY3Rpb24oYSxiPTIpe18ueEkoYSwxMCk7YS5qLnB1c2goYS5wb3MpO2Euai5wdXNoKGIpO2EucG9zKz1ifTsKZ0o9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8ueUk7aWYoYSE9PXZvaWQgMCl7Y2VhKGIsTWF0aC5jZWlsKE1hdGgubG9nMihhLmxlbmd0aCo0KzIpLzcpKTtfLndJKGIsYS5sZW5ndGgqMS4yKTt2YXIgYz1fLnVJKGEsYi5idWYuc3ViYXJyYXkoYi5wb3MpKTtiLnBvcytjPmIuYnVmLmxlbmd0aCYmKF8ud0koYixjKSxjPV8udUkoYSxiLmJ1Zi5zdWJhcnJheShiLnBvcykpKTtiLnBvcys9YzthPWIuai5wb3AoKTtjPWIuai5wb3AoKTtsZXQgZD1iLnBvcy1jLWE7Zm9yKDthLS07KXtsZXQgZT1hPzEyODowO2Iudmlldy5zZXRVaW50OChjKyssZCYxMjd8ZSk7ZD4+PTd9fWI9bmV3IFVpbnQ4QXJyYXkoYi5idWYuYnVmZmVyLGIuYnVmLmJ5dGVPZmZzZXQsYi5wb3MpO3JldHVybihuZXcgVGV4dERlY29kZXIoInV0Zi04IikpLmRlY29kZShiKX07CmRlYT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybltdO2I9Xy56SShiLCJtYWluUGxheWxpc3RFbnRpdHkiKTt2YXIgYz1hLm1haW5QbGF5bGlzdEVudGl0eT8uW2JdO2I9W107aWYoIWM/LnZpZGVvcylyZXR1cm4gYjtmb3IobGV0IGQgb2YgYy52aWRlb3Mpe2M9YT8ubWFpblBsYXlsaXN0VmlkZW9FbnRpdHk/LltkXT8udmlkZW87aWYoIWMpY29udGludWU7KHtlbnRpdHlJZDpjfT1fLkdIKGMpKTtjJiZiLnB1c2goYyl9cmV0dXJuIGJ9O2hKPWZ1bmN0aW9uKGEpe3JldHVybiJkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzImluIGF9OwppSj1mdW5jdGlvbihhKXt2YXIgYj1hLm11c2ljUGxheWxpc3REb3dubG9hZE1ldGFkYXRhRW50aXR5LGM9W107aWYoIWIpcmV0dXJuIGM7Zm9yKGxldCBoIG9mIE9iamVjdC5rZXlzKGIpKXthOnt2YXIgZD1hLGU9Xy5HSChoKS5lbnRpdHlJZDtpZihlKXt2YXIgZj1fLnFBKGQsIm11c2ljUGxheWxpc3QiLF8uekkoZSwibXVzaWNQbGF5bGlzdCIpKTtkPV8ucUEoZCwibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkiLF8uekkoZSwibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkiKSk7aWYoZiYmZCl7Zj17bXVzaWNQbGF5bGlzdEVudGl0eTpmLG11c2ljUGxheWxpc3REb3dubG9hZFN0YXRlRW50aXR5OmR9O2JyZWFrIGF9fWY9dm9pZCAwfWQ9TnVtYmVyKGJbaF0/LmFkZGVkVGltZXN0YW1wTWlsbGlzKTtkPWlzTmFOKGQpPygwLF8uZWwpKCk6ZDtmIT09dm9pZCAwJiZjLnB1c2goe2Rvd25sb2FkZWRNdXNpY1BsYXlsaXN0RW50aXRpZXM6ZixhZGRlZFRpbWVzdGFtcE1pbGxpczpkfSl9cmV0dXJuIGN9OwplZWE9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFNldDtmb3IobGV0IGMgb2YgYSlpZigibXVzaWNQbGF5bGlzdEVudGl0eSJpbiBjJiYibXVzaWNQbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHkiaW4gYylmb3IobGV0IGQgb2YgYy5tdXNpY1BsYXlsaXN0RW50aXR5LnRyYWNrcyliLmFkZChkKTtyZXR1cm4gYn07CmZlYT1mdW5jdGlvbihhKXt2YXIgYj1hLm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5LGM9W107aWYoIWIpcmV0dXJuW107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGIpKXthOnt2YXIgZD1hLGU9Xy5HSChtKS5lbnRpdHlJZDtpZihlKXtiPV8ucUEoZCwibXVzaWNUcmFjayIsXy56SShlLCJtdXNpY1RyYWNrIikpO3ZhciBmPV8ucUEoZCwibXVzaWNBcnRpc3QiLF8uekkoZSwibXVzaWNBcnRpc3QiKSl8fHt9O2I6e3ZhciBoPWU7aWYoaCl7ZT1fLnFBKGQsInBsYXliYWNrRGF0YSIsXy56SShoLCJwbGF5YmFja0RhdGEiKSk/P251bGw7dmFyIGs9Xy5xQShkLCJ0cmFuc2ZlciIsXy56SShoLCJ0cmFuc2ZlciIpKT8/bnVsbCxsPV8ucUEoZCwib2ZmbGluZVZpZGVvU3RyZWFtcyIsXy56SShoLCJvZmZsaW5lVmlkZW9TdHJlYW1zIikpPz9udWxsO2Q9Xy5xQShkLCJvZmZsaW5lVmlkZW9Qb2xpY3kiLF8uekkoaCwib2ZmbGluZVZpZGVvUG9saWN5IikpPz9udWxsO2lmKGV8fAprfHxsfHxkKXtkPXtwbGF5YmFja0RhdGFFbnRpdHk6ZSx0cmFuc2ZlckVudGl0eTprLHN0cmVhbUVudGl0eTpsLHBvbGljeUVudGl0eTpkfTticmVhayBifX1kPXZvaWQgMH1pZihkJiZiJiZmKXtiPXttdXNpY1RyYWNrRW50aXR5OmIsbXVzaWNBcnRpc3RFbnRpdHk6ZiwuLi5kfTticmVhayBhfX1iPXZvaWQgMH1mPU51bWJlcihfLnFBKGEsIm11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5IixtKT8uYWRkZWRUaW1lc3RhbXBNaWxsaXMpO2Y9aXNOYU4oZik/KDAsXy5lbCkoKTpmO2IhPT12b2lkIDAmJmMucHVzaCh7ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6YixhZGRlZFRpbWVzdGFtcE1pbGxpczpmfSl9cmV0dXJuIGN9OwpnZWE9ZnVuY3Rpb24oYSl7dmFyIGI9ZmVhKGEpLnNvcnQoKGMsZCk9PmQuYWRkZWRUaW1lc3RhbXBNaWxsaXMtYy5hZGRlZFRpbWVzdGFtcE1pbGxpcykubWFwKGM9PiJkb3dubG9hZGVkTXVzaWNFbnRpdGllcyJpbiBjP2MuZG93bmxvYWRlZE11c2ljRW50aXRpZXM6aEooYyk/Yy5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOnt9KTthPWlKKGEpLnNvcnQoKGMsZCk9PmQuYWRkZWRUaW1lc3RhbXBNaWxsaXMtYy5hZGRlZFRpbWVzdGFtcE1pbGxpcykubWFwKGM9PiJkb3dubG9hZGVkTXVzaWNFbnRpdGllcyJpbiBjP2MuZG93bmxvYWRlZE11c2ljRW50aXRpZXM6aEooYyk/Yy5kb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOnt9KTtyZXR1cm57ZG93bmxvYWRlZE11c2ljRW50aXRpZXM6Yixkb3dubG9hZGVkTXVzaWNQbGF5bGlzdEVudGl0aWVzOmF9fTsKaGVhPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IFNldCxkPWlKKGEpLm1hcChlPT5lLmRvd25sb2FkZWRNdXNpY1BsYXlsaXN0RW50aXRpZXMpO2Q9ZWVhKGQpO2ZvcihsZXQgZSBvZiBkKSh7ZW50aXR5SWQ6ZH09Xy5HSChlKSksZCYmYy5hZGQoZCk7KHtkb3dubG9hZGVkTXVzaWNFbnRpdGllczphfT1nZWEoYSkpO3JldHVybiBhLmZpbHRlcihlPT57aWYoZS5tdXNpY1RyYWNrRW50aXR5Py52aWRlb0lkKXtlPWUubXVzaWNUcmFja0VudGl0eTt2YXIgZjtpZihmPWI9PT0iUFBPTSI/ITA6IWMuaGFzKGUudmlkZW9JZCkpYjpzd2l0Y2goZT1lLm11c2ljVmlkZW9UeXBlLGIpe2Nhc2UgIlBQU0UiOmY9ZT09PSJNVVNJQ19WSURFT19UWVBFX1BPRENBU1RfRVBJU09ERSI7YnJlYWsgYjtkZWZhdWx0OmY9ZSE9PSJNVVNJQ19WSURFT19UWVBFX1BPRENBU1RfRVBJU09ERSJ9ZT1mfWVsc2UgZT0hMTtyZXR1cm4gZX0pLm1hcChlPT5lLm11c2ljVHJhY2tFbnRpdHk/LnZpZGVvSWQpfTsKamVhPWZ1bmN0aW9uKGEsYil7aWYoIWIpcmV0dXJuW107aWYoT2JqZWN0LnZhbHVlcyhpZWEpLmluY2x1ZGVzKGIpKXJldHVybiBoZWEoYSxiKTtiPV8uekkoYiwibXVzaWNQbGF5bGlzdCIpO2I9YS5tdXNpY1BsYXlsaXN0Py5bYl07YT1bXTtpZighYj8udHJhY2tzKXJldHVybiBhO2ZvcihsZXQgYyBvZiBiLnRyYWNrcykoe2VudGl0eUlkOmJ9PV8uR0goYykpLGImJmEucHVzaChiKTtyZXR1cm4gYX07CmtlYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgU2V0KGEpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9GQUlMRUQiKSYmYi5zaXplPT09MSlyZXR1cm4iVFJBTlNGRVJfU1RBVEVfRkFJTEVEIjtiLmRlbGV0ZSgiVFJBTlNGRVJfU1RBVEVfRkFJTEVEIik7aWYoYi5oYXMoIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iKSYmYi5zaXplPT09MSlyZXR1cm4iVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjtiLmRlbGV0ZSgiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpO2lmKGIuaGFzKCJUUkFOU0ZFUl9TVEFURV9QUkVfVFJBTlNGRVIiKSYmYi5zaXplPT09MXx8Yi5zaXplPT09MClyZXR1cm4iVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjthPWIuaGFzKCJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciKTtiPWIuaGFzKCJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUl9JTl9RVUVVRSIpO3JldHVybiBhfHxiPyJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciOiJUUkFOU0ZFUl9TVEFURV9DT01QTEVURSJ9OwpsZWE9ZnVuY3Rpb24oYSxiKXtiPV8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iV0VCX1JFTUlYIj9qZWEoYSxiKTpkZWEoYSxiKTtpZighYi5sZW5ndGgpcmV0dXJuIlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO2I9Yi5tYXAoYz0+e2M9Yz8oYz1fLnFBKGEsInRyYW5zZmVyIixfLnpJKGMsInRyYW5zZmVyIikpKT9jLnRyYW5zZmVyU3RhdGU/PyJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIjoiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6IlRSQU5TRkVSX1NUQVRFX1VOS05PV04iO3JldHVybiBjfSk7cmV0dXJuIGtlYShiKX07bWVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywiZG93bmxvYWRTdGF0dXNFbnRpdHkiLF8uekkoYiwiZG93bmxvYWRTdGF0dXNFbnRpdHkiKSk/LmRvd25sb2FkU3RhdGU9PT0iRE9XTkxPQURfU1RBVEVfVVNFUl9ERUxFVEVEIj8hMDohMX07ako9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIENTUyE9PSJ1bmRlZmluZWQiJiZDU1Muc3VwcG9ydHM/Ligic2VsZWN0b3IoOmhhcygqKSkiKX07CmtKPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpc2liaWxpdHkhPT0iaGlkZGVuIiYmYS5kaXNwbGF5IT09Im5vbmUifTttSj1mdW5jdGlvbihhKXtpZihqSigpfHxhLnRhZ05hbWUhPT0iREVUQUlMUyI/IWEubWF0Y2hlcyhsSik6YS5xdWVyeVNlbGVjdG9yKCJzdW1tYXJ5IikhPT1udWxsKXJldHVybi0xO2E9YS5nZXRBdHRyaWJ1dGUoInRhYmluZGV4Iil8fCIwIjtyZXR1cm4gTnVtYmVyKGEpfTtuZWE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc29tZShiPT5tSihiKT4wKX07b2VhPWZ1bmN0aW9uKGEpe2lmKGEudGV4dENvbnRlbnR8fGEuYXJpYUxhYmVsKXJldHVybiEwO2lmKGEgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KXtpZighYS5sYWJlbHMpcmV0dXJuITE7Zm9yKGxldCBiIG9mIGEubGFiZWxzKWlmKGIudGV4dENvbnRlbnQpcmV0dXJuITB9cmV0dXJuITF9O3BlYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5zb3J0KChiLGMpPT5tSihjKS1tSihiKSl9OwpfLm5KPWZ1bmN0aW9uKGEpe2E9QXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwobEopKS5maWx0ZXIoYj0+KGtKKGIuc3R5bGUpP2tKKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGIpKTohMSkmJm9lYShiKSk7cmV0dXJuIG5lYShhKT9wZWEoYSk6YX07CnRlYT1mdW5jdGlvbihhLGIsYyl7aWYoYilyZXR1cm5bb0pdO3N3aXRjaChhKXtjYXNlICJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUl9JTl9RVUVVRSI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfQ09NUExFVEUiOnJldHVybltwSl07Y2FzZSAiVFJBTlNGRVJfU1RBVEVfUFJFX1RSQU5TRkVSIjpjYXNlICJUUkFOU0ZFUl9TVEFURV9UUkFOU0ZFUlJJTkciOnJldHVybiBjP1twSl06W3FlYSxwSl07Y2FzZSAiVFJBTlNGRVJfU1RBVEVfUEFVU0VEX0JZX1VTRVIiOnJldHVybltyZWEscEpdO2Nhc2UgIlRSQU5TRkVSX1NUQVRFX0ZBSUxFRCI6Y2FzZSAiVFJBTlNGRVJfU1RBVEVfV0FJVElOR19GT1JfUExBWUVSX1JFU1BPTlNFX1JFRlJFU0giOnJldHVybltzZWEscEpdO2RlZmF1bHQ6cmV0dXJuW29KXX19Owp1ZWE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRlYShhLGIsZCkubWFwKGU9Pnt2YXIgZj1lLnRleHQsaD1lLmljb25UeXBlLGs9ZS5paTtlPWUuS2g7Zj1mP3tjb250ZW50OmZ9OnZvaWQgMDtoPWgmJntzb3VyY2VzOlt7Y2xpZW50UmVzb3VyY2U6e2ltYWdlTmFtZTpofX1dfTt2YXIgbD1fLnFkKGMpO2lmKGwpe2xldCBtPV8uQihsLF8uQkkpLG49Xy5CKGwsXy5BSSk7bSYmaz9tLmFjdGlvbj1rOm4mJmUmJihuLmFjdGlvbj1lKX1yZXR1cm57dGl0bGU6ZixsZWFkaW5nSW1hZ2U6aCxyZW5kZXJlckNvbnRleHQ6bCYme2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDpsfX19fX0pfTtxSj1mdW5jdGlvbihhKXthPV8uc0goYS5yZW5kZXJlckNvbnRleHQpO3JldHVybiBfLkIoYSxfLkJJKT8udmlkZW9JZH07cko9ZnVuY3Rpb24oYSl7YT1fLnNIKGEucmVuZGVyZXJDb250ZXh0KTtyZXR1cm4gXy5CKGEsXy5BSSk/LnBsYXlsaXN0SWR9OwpzSj1mdW5jdGlvbihhKXthPV8uQihhLF8uWkMpO3JldHVybiEhYSYmXy50SChhLnJlbmRlcmVyQ29udGV4dCl9O3dlYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5saXN0SXRlbXM/LnNvbWUoYj0+e2lmKHNKKGIpKXJldHVybiEwO2I9Xy5CKGIsdmVhKTtyZXR1cm4hIWImJihfLnRIKGIucmVuZGVyZXJDb250ZXh0KXx8c0ooYi5kZWZhdWx0TGlzdEl0ZW0pfHxzSihiLnRvZ2dsZWRMaXN0SXRlbSkpfSl9O3RKPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGg7YVtiPT09LTE/Yy0xOihiLTErYyklY10/LmZvY3VzKCl9O2llYT17ZEM6IlBQQUQiLE9DOiJQUERQIixMRjoiUFBPTSIscUc6IlBQUkMiLHdHOiJQUFNFIix4RzoiUFBTViJ9O3VKPSJhW2hyZWZdIGFbdGFiaW5kZXhdIGFyZWFbaHJlZl0gaWZyYW1lIFt0YWJpbmRleF0gW2NvbnRlbnRFZGl0YWJsZV0gc3VtbWFyeSBpbnB1dDpub3QoW2Rpc2FibGVkXSkgc2VsZWN0Om5vdChbZGlzYWJsZWRdKSB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSkgYnV0dG9uOm5vdChbZGlzYWJsZWRdKSBvYmplY3Q6bm90KFtkaXNhYmxlZF0pIi5zcGxpdCgiICIpOwpqSigpJiZ1Si5wdXNoKCJkZXRhaWxzOm5vdCg6aGFzKHN1bW1hcnkpKSIpO3ZhciBsSj11Si5qb2luKCIsIik7dmFyIHZlYT1uZXcgXy5JKCJ0b2dnbGVhYmxlTGlzdEl0ZW1WaWV3TW9kZWwiKTt2YXIgeGVhPV8uTChhPT57dmFyIHtkYXRhOmIsY2xhc3NOYW1lOmMsbmE6ZCxJYTplLEJjOmZ9PV8uREMoYSx7bmE6ITEsSWE6ITEsQmM6ITF9KSxoPV8uY0kobj0+e2E6e3ZhciBwPWIoKS5lbnRpdHlLZXkscj1iKCkuZW50aXR5U2VsZWN0b3JUeXBlO2lmKHIpc3dpdGNoKHIpe2Nhc2UgIlRPR0dMRUFCTEVfTElTVF9JVEVNX0VOVElUWV9TRUxFQ1RPUl9UWVBFX1RPR0dMRV9NRU5VX1NFUlZJQ0VfSVRFTV9FTlRJVFkiOmlmKCFwKWJyZWFrO249KG49Xy54QS5lQihuLHApKSYmbi5pc1RvZ2dsZWQhPT12b2lkIDA/e2lzVG9nZ2xlZDpuLmlzVG9nZ2xlZH06dm9pZCAwO2JyZWFrIGE7ZGVmYXVsdDpfLklwKG5ldyBfLlhqKCJFcnJvcjogZW50aXR5U2VsZWN0b3JUeXBlIGRlZmluZWQgYnV0IG5vdCBtYXRjaGVkIGluIHNlbGVjdG9yLiIsbixyKSl9bj12b2lkIDB9cmV0dXJuIG59KSxbayxsXT1fLkFDKCgpPT5oKCk/LmlzVG9nZ2xlZCE9PXZvaWQgMD9oKCk/LmlzVG9nZ2xlZDpiKCkuaW5pdGlhbFN0YXRlPy5pc1RvZ2dsZWQ/PwpiKCkuaW5pdGlhbElzVG9nZ2xlZD8/ITEpLG09KCk9Pnt2YXIgbj1rKCk/YigpLnRvZ2dsZWRMaXN0SXRlbTpiKCkuZGVmYXVsdExpc3RJdGVtO3JldHVybiBfLkIoXy5CKG4sXy5aQyk/LnJlbmRlcmVyQ29udGV4dCxfLllDKT8ubGFiZWx9O3JldHVybiBfLksoInRvZ2dsZWFibGUtbGlzdC1pdGVtLXZpZXctbW9kZWwiLHtlbDpfLnJGKF8udUgoKCk9PmIoKS5yZW5kZXJlckNvbnRleHQse29uVGFwOihuLHApPT57cCgpO2goKT8uaXNUb2dnbGVkIT09dm9pZCAwfHxsKCFrKCkpfX0pKSxjbGFzczpfLlAoInRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbEhvc3QiLGMpfSxfLksoXy5PLHtBOigpPT57aWYoaygpKXt2YXIgbj1iKCkudG9nZ2xlZExpc3RJdGVtO249Xy5CKG4sXy5aQyl9ZWxzZSBuPWIoKS5kZWZhdWx0TGlzdEl0ZW0sbj1fLkIobixfLlpDKTtyZXR1cm4gbn0sdGhlbjpuPT5fLksoXy5DRCx7ZGF0YTpuLGlzVG9nZ2xlZDprLG5hOmQsSWE6ZSxCYzpmLGFyaWFMYWJlbDptLAphcmlhUHJlc3NlZDprfSl9KSl9LCJLIik7dmFyIHllYT1fLmFBKCJET1dOTE9BRCIse30sIkRvd25sb2FkIiksemVhPV8uYUEoIkRFTEVURV9GUk9NX0RPV05MT0FEUyIse30sIkRlbGV0ZSBmcm9tIGRvd25sb2FkcyIpLEFlYT1fLmFBKCJSRVRSWSIse30sIlJldHJ5IiksQmVhPV8uYUEoIlBBVVNFX0RPV05MT0FESU5HIix7fSwiUGF1c2UgZG93bmxvYWRpbmciKSxDZWE9Xy5hQSgiUkVTVU1FX0RPV05MT0FEIix7fSwiUmVzdW1lIGRvd25sb2FkIiksb0o9e3RleHQ6eWVhLGljb25UeXBlOiJPRkZMSU5FX0RPV05MT0FEIixpaToiQUNUSU9OX0FERCIsS2g6IkFDVElPTl9BREQifSxwSj17dGV4dDp6ZWEsaWNvblR5cGU6IkRFTEVURSIsaWk6IkFDVElPTl9SRU1PVkUiLEtoOiJBQ1RJT05fUkVNT1ZFIn0sc2VhPXt0ZXh0OkFlYSxpY29uVHlwZToiT0ZGTElORV9ET1dOTE9BRCIsaWk6IkFDVElPTl9SRVRSWSIsS2g6IkFDVElPTl9SRU1PVkUifSxxZWE9e3RleHQ6QmVhLGljb25UeXBlOiJPRkZMSU5FX1BBVVNFIixpaToiQUNUSU9OX1BBVVNFIiwKS2g6IkFDVElPTl9QQVVTRSJ9LHJlYT17dGV4dDpDZWEsaWNvblR5cGU6Ik9GRkxJTkVfRE9XTkxPQUQiLGlpOiJBQ1RJT05fUkVTVU1FIixLaDoiQUNUSU9OX1JFU1VNRSJ9O18uTChhPT57dmFyIGI9Xy5jSShoPT57dmFyIGs9cUooYS5kYXRhKCkpLGw9ckooYS5kYXRhKCkpO2s/KGg9aC5lbnRpdGllcyxrPyhsPV8ucUEoaCwidHJhbnNmZXIiLF8uekkoaywidHJhbnNmZXIiKSkpP2s9bC50cmFuc2ZlclN0YXRlPz8iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI6KGw9Xy5xQShoLCJvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHkiLF8uekkoaywib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5IikpLGs9Xy5xQShoLCJtYWluVmlkZW9FbnRpdHkiLF8uekkoaywibWFpblZpZGVvRW50aXR5IikpLGs9bHx8az8iVFJBTlNGRVJfU1RBVEVfVFJBTlNGRVJfSU5fUVVFVUUiOiJUUkFOU0ZFUl9TVEFURV9VTktOT1dOIik6az0iVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiIpOms9bD9sZWEoaC5lbnRpdGllcyxsKToiVFJBTlNGRVJfU1RBVEVfVU5LTk9XTiI7cmV0dXJuIGt9KSxjPV8uREkobWVhLCgpPT5xSihhLmRhdGEoKSkpLApkPV8uY0koaD0+e3ZhciBrPXFKKGEuZGF0YSgpKSxsPXJKKGEuZGF0YSgpKTshayYmbD8oaz1oLmVudGl0aWVzLGw/KGw9Z0oobCksaz1fLnFBKGssIm9mZmxpbmVhYmlsaXR5RW50aXR5IixfLnpJKGwsIm9mZmxpbmVhYmlsaXR5RW50aXR5IikpPy5hZGRUb09mZmxpbmVCdXR0b25TdGF0ZT8/IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9FTkFCTEVEIik6az0iQUREX1RPX09GRkxJTkVfQlVUVE9OX1NUQVRFX0RJU0FCTEVEIik6KGw9aC5lbnRpdGllcyxrPyhrPWdKKGspLGs9Xy5xQShsLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIsXy56SShrLCJvZmZsaW5lYWJpbGl0eUVudGl0eSIpKT8uYWRkVG9PZmZsaW5lQnV0dG9uU3RhdGU/PyJBRERfVE9fT0ZGTElORV9CVVRUT05fU1RBVEVfRU5BQkxFRCIpOms9IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9ESVNBQkxFRCIpO3JldHVybiBrfSksZT0oKT0+dWVhKGIoKSxjKCksXy5zSChhLmRhdGEoKS5yZW5kZXJlckNvbnRleHQpLAohIXJKKGEuZGF0YSgpKSksZj0oKT0+ZCgpIT09IkFERF9UT19PRkZMSU5FX0JVVFRPTl9TVEFURV9FTkFCTEVEIjtyZXR1cm4gXy5LKCJ5dC1kb3dubG9hZC1saXN0LWl0ZW0tdmlldy1tb2RlbCIse2NsYXNzOiJ5dERvd25sb2FkTGlzdEl0ZW1WaWV3TW9kZWxIb3N0IixoaWRkZW46Zn0sXy5LKF8uTyx7QTooKT0+IWYoKSx0aGVuOigpPT5fLksoXy5PLHtBOmUsdGhlbjpoPT5fLksoXy5nRyx7cGE6aH0saz0+Xy5LKF8uQ0Qse2RhdGE6ayxuYTphLm5hLElhOmEuSWEsQmM6YS5CYyxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6YS5kaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmd9KSl9KX0pKX0sIkwiKS5pZG9tQ29tcGF0PSEwO18uQkQ9Xy5MKCh7ZGF0YTphLG5hOmIsY2U6YyxCYzpkLGlzT3ZlcmxheTplLGRpc2FibGVIb3Jpem9udGFsUGFkZGluZzpmfSk9Pnt2YXIgaD0oKT0+d2VhKGEoKSkmJmQ/LigpO3JldHVybiBfLksoInl0LWxpc3Qtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRMaXN0Vmlld01vZGVsSG9zdCIse3l0TGlzdFZpZXdNb2RlbEhvc3RLYWlvc1NwYXROYXY6Xy5nciYmZG9jdW1lbnQuYm9keS5oYXNBdHRyaWJ1dGUoInNwYXRpYWwtbmF2aWdhdGlvbi1lbmFibGVkIikmJmRvY3VtZW50LmJvZHkuZ2V0QXR0cmlidXRlKCJzcGF0aWFsLW5hdmlnYXRpb24tZW5hYmxlZCIpPT09InRydWUifSkscm9sZTooKT0+aCgpPyJtZW51IjoibGlzdCIsc3R5bGU6Xy5JRSh7Im1heC1oZWlnaHQiOigpPT57dmFyIGs9YSgpPy52aXNpYmxlRWxlbWVudENvdW50O2lmKGspcmV0dXJuYCR7KGsrLjUpKjQwfXB4YH19KSwib246a2V5ZG93biI6ZnVuY3Rpb24oayl7aWYoZD8uKCkmJl8ueCgid2ViX2VuYWJsZV9hcnJvd19rZXlfbmF2aWdhdGlvbl9pbl9kcm9wZG93biIpKXt2YXIgbD0KXy5uSihrLmN1cnJlbnRUYXJnZXQpO2lmKGwubGVuZ3RoIT09MCl7dmFyIG09QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChsLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpO3N3aXRjaChrLmtleSl7Y2FzZSAiQXJyb3dEb3duIjprLnByZXZlbnREZWZhdWx0KCk7bFsobSsxKSVsLmxlbmd0aF0/LmZvY3VzKCk7YnJlYWs7Y2FzZSAiQXJyb3dVcCI6ay5wcmV2ZW50RGVmYXVsdCgpO3RKKGwsbSk7YnJlYWs7Y2FzZSAiVGFiIjprLnByZXZlbnREZWZhdWx0KCksay5zaGlmdEtleT90SihsLG0pOmxbKG0rMSklbC5sZW5ndGhdPy5mb2N1cygpfX19fX0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmxpc3RJdGVtc30se2xpc3RJdGVtVmlld01vZGVsOih7ZGF0YTprfSk9Pl8uSyhfLkNELHtkYXRhOmssSWE6aCxuYTpiLGNlOmMsQmM6ZCxpc092ZXJsYXk6ZSxkaXNhYmxlSG9yaXpvbnRhbFBhZGRpbmc6Zn0pLHRvZ2dsZWFibGVMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6a30pPT5fLksoeGVhLAp7ZGF0YTprLElhOmgsbmE6YixCYzpkfSksZG93bmxvYWRMaXN0SXRlbVZpZXdNb2RlbDooKT0+Xy5LKF8uSUIsbnVsbCksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KCk9Pl8uSyhfLklCLG51bGwpfSkpfSwiTSIpO18uQkQuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiSHhqbGJiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uS0o9bmV3IF8uSSgiYnV0dG9uVmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uc0Q9Xy5MKGE9PntmdW5jdGlvbiBiKG4pe3ZhciBwPWMoKTt2YXIgcj1kKCk7ciE9PXZvaWQgMD9wPXI6KHI9Xy5CKHAuc2Vjb25kYXJ5QnV0dG9uLF8uS0opLHA9Xy5CKHAucHJpbWFyeUJ1dHRvbixfLktKKT8uaXNGdWxsV2lkdGghPT0hMXx8ciYmcj8uaXNGdWxsV2lkdGghPT0hMT8xOjMpO3JldHVybiBuPT09cH12YXIge2RhdGE6Yyx0eXBlOmQsZGlzYWJsZVBhZGRpbmc6ZSxOaTpmLFhxOmh9PV8uREMoYSx7dHlwZTp2b2lkIDAsZGlzYWJsZVBhZGRpbmc6ITEsTmk6ITF9KSxrPSgpPT5jKCkuc3RhY2tpbmc9PT0iUEFORUxfRk9PVEVSX1NUQUNLSU5HX1ZFUlRJQ0FMIixsPSgpPT4oe2Rpc2FibGVkOmYoKSxzdGF0ZTpmKCk/ImRpc2FibGVkIjoiYWN0aXZlIn0pLG09KCk9PmMoKS5sZWFkaW5nTGFiZWx8fGMoKS50cmFpbGluZ0xhYmVsO3JldHVybiBfLksoInl0LXBhbmVsLWZvb3Rlci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsSG9zdCIsCnt5dFBhbmVsRm9vdGVyVmlld01vZGVsSGlkZURpdmlkZXI6KCk9PmMoKS5zaG91bGRIaWRlRGl2aWRlcix5dFBhbmVsRm9vdGVyVmlld01vZGVsRGlzYWJsZVBhZGRpbmc6ZX0pfSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UGFuZWxGb290ZXJWaWV3TW9kZWxUZXh0Um93Iix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbFJvd0JvdHRvbVBhZGRpbmc6KCk9Pnt2YXIgbj1jKCk7cmV0dXJuISghbi5sZWFkaW5nTGFiZWwmJiFuLnRyYWlsaW5nTGFiZWx8fCFuLnByaW1hcnlCdXR0b24mJiFuLnNlY29uZGFyeUJ1dHRvbil9fSl9LF8uSyhfLlYse3RleHQ6KCk9PmMoKS5sZWFkaW5nTGFiZWwsY2xhc3NOYW1lOl8uUCh7eXRQYW5lbEZvb3RlclZpZXdNb2RlbFRleHRQYWRkaW5nOm19KX0pLF8uSyhfLlYse3RleHQ6KCk9PmMoKS50cmFpbGluZ0xhYmVsfSkpfSksXy5LKF8uTyx7QTprLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25TdGFjayJ9LApfLksoImRpdiIse2NsYXNzOl8uUCgieXRQYW5lbEZvb3RlclZpZXdNb2RlbFByaW1hcnlCdXR0b24iLHt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uU3RhY2tUb3BCdXR0b246KCk9PmMoKS5zZWNvbmRhcnlCdXR0b259KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnByaW1hcnlCdXR0b259LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOm59KT0+Xy5LKF8uSEQse2RhdGE6bixidXR0b25PdmVycmlkZXM6bCxvbkNsaWNrOmh9KX0pKSxfLksoXy5XLHtkYXRhOigpPT5jKCkuc2Vjb25kYXJ5QnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOl8uSER9KSl9KSxfLksoXy5PLHtBOigpPT4haygpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93Iix7eXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd1RyYWlsaW5nOigpPT5iKDMpfSl9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93TGVmdEJ1dHRvbiIsCnt5dFBhbmVsRm9vdGVyVmlld01vZGVsQnV0dG9uUm93RnVsbFdpZHRoOigpPT5iKDEpLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dIaWRkZW46KCk9PiFjKCkuc2Vjb25kYXJ5QnV0dG9ufHxiKDApLHl0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dTaHJpbms6KCk9PmIoMil9KX0sXy5LKF8uVyx7ZGF0YTooKT0+YygpLnNlY29uZGFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDpfLkhEfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBhbmVsRm9vdGVyVmlld01vZGVsUHJpbWFyeUJ1dHRvbiIse3l0UGFuZWxGb290ZXJWaWV3TW9kZWxCdXR0b25Sb3dGdWxsV2lkdGg6KCk9PmIoMCl8fGIoMSkseXRQYW5lbEZvb3RlclZpZXdNb2RlbEJ1dHRvblJvd0V4cGFuZDooKT0+YigyKX0pfSxfLksoXy5XLHtkYXRhOigpPT5jKCkucHJpbWFyeUJ1dHRvbn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6bn0pPT5fLksoXy5IRCx7ZGF0YTpuLGJ1dHRvbk92ZXJyaWRlczpsLApvbkNsaWNrOmh9KX0pKSl9KSl9LCJGYSIpO18uc0QuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibFBXamtiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZUw9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJqQmlzYWYiKTtyZXR1cm4gXy5UQ307Xy5mTD1fLmNEKCgpPT5fLmVMKCksImJhZGdlU2hhcGUiKTtfLll0KF8uSkQsYT0+e2EuSigiYmFkZ2VTaGFwZSIsImpCaXNhZiIsXy5lTCl9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHlmYT1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVOelJhdGluZ0dyZWVuQ2lyY2xlIjtjYXNlIDE6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nWWVsbG93Q2lyY2xlIjtjYXNlIDI6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZU56UmF0aW5nUmVkU3F1YXJlIjtjYXNlIDM6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxHcmVlblNxdWFyZSI7Y2FzZSA0OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsQmx1ZVNxdWFyZSI7Y2FzZSA1OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmx1ZVNxdWFyZSI7Y2FzZSA2OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ1NtYWxsWWVsbG93U3F1YXJlIjsKY2FzZSA3OnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlWWVsbG93U3F1YXJlIjtjYXNlIDg6cmV0dXJuInl0QnJOekJhZGdlU2hhcGVCYWRnZVN0eWxlVHlwZUJyUmF0aW5nU21hbGxPcmFuZ2VTcXVhcmUiO2Nhc2UgOTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZU9yYW5nZVNxdWFyZSI7Y2FzZSAxMDpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbFJlZFNxdWFyZSI7Y2FzZSAxMTpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdMYXJnZVJlZFNxdWFyZSI7Y2FzZSAxMjpyZXR1cm4ieXRCck56QmFkZ2VTaGFwZUJhZGdlU3R5bGVUeXBlQnJSYXRpbmdTbWFsbEJsYWNrU3F1YXJlIjtjYXNlIDEzOnJldHVybiJ5dEJyTnpCYWRnZVNoYXBlQmFkZ2VTdHlsZVR5cGVCclJhdGluZ0xhcmdlQmxhY2tTcXVhcmUifX0semZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCQURHRV9DT01NRVJDRSI6Y2FzZSAiQkFER0VfTUVNQkVSU19PTkxZIjpyZXR1cm4gMTA7CmNhc2UgIkJBREdFX0RJU0NPVU5UIjpyZXR1cm4gODtjYXNlICJCQURHRV9TVEFUVVNfTkVXIjpyZXR1cm4gMTM7Y2FzZSAiQkFER0VfUFJFTUlVTSI6cmV0dXJuIDc7Y2FzZSAiQkFER0VfUFJPTU9URUQiOnJldHVybiA0O2Nhc2UgIkJBREdFX1BST01PVEVEX0lOVkVSVEVEIjpyZXR1cm4gNTtjYXNlICJCQURHRV9NRURJQSI6cmV0dXJuIDE7Y2FzZSAiQkFER0VfVElNRUxZIjpyZXR1cm4gNjtjYXNlICJCQURHRV9MSVZFX05PVyI6cmV0dXJuIDE5O2Nhc2UgIkJBREdFX1NUQVRVU19DT01QTEVURSI6cmV0dXJuIDE0O2Nhc2UgIkJBREdFX1NUQVRVU19XQVJOSU5HIjpyZXR1cm4gMTU7Y2FzZSAiQkFER0VfU1RBVFVTX0VSUk9SIjpyZXR1cm4gMTY7Y2FzZSAiQkFER0VfU1RBVFVTX0RFRkFVTFQiOnJldHVybiAxNztkZWZhdWx0OnJldHVybiAwfX0sQWZhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJCQURHRV9OWl9SQVRJTkdfR1JFRU5fQ0lSQ0xFIjpyZXR1cm4gMDtjYXNlICJCQURHRV9OWl9SQVRJTkdfWUVMTE9XX0NJUkNMRSI6cmV0dXJuIDE7CmNhc2UgIkJBREdFX05aX1JBVElOR19SRURfU1FVQVJFIjpyZXR1cm4gMjtjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfR1JFRU5fU1FVQVJFIjpyZXR1cm4gMztjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfQkxVRV9TUVVBUkUiOnJldHVybiA0O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9CTFVFX1NRVUFSRSI6cmV0dXJuIDU7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX1lFTExPV19TUVVBUkUiOnJldHVybiA2O2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9ZRUxMT1dfU1FVQVJFIjpyZXR1cm4gNztjYXNlICJCQURHRV9CUl9SQVRJTkdfU01BTExfT1JBTkdFX1NRVUFSRSI6cmV0dXJuIDg7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX0xBUkdFX09SQU5HRV9TUVVBUkUiOnJldHVybiA5O2Nhc2UgIkJBREdFX0JSX1JBVElOR19TTUFMTF9SRURfU1FVQVJFIjpyZXR1cm4gMTA7Y2FzZSAiQkFER0VfQlJfUkFUSU5HX0xBUkdFX1JFRF9TUVVBUkUiOnJldHVybiAxMTsKY2FzZSAiQkFER0VfQlJfUkFUSU5HX1NNQUxMX0JMQUNLX1NRVUFSRSI6cmV0dXJuIDEyO2Nhc2UgIkJBREdFX0JSX1JBVElOR19MQVJHRV9CTEFDS19TUVVBUkUiOnJldHVybiAxM319O3ZhciBCZmE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiYnItbnotYmFkZ2Utc2hhcGUiLHtjbGFzczpfLlAoKCk9PnlmYShhKCkudWkpKSxyb2xlOigpPT5hKCkuYWNjZXNzaWJpbGl0eVRleHQ/ImltZyI6dm9pZCAwLCJhcmlhLWxhYmVsIjooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0fSwoKT0+YSgpPy50ZXh0KSwidWEiKTtfLkVEPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgYz1hLmRhdGEoKTtpZihjKXt2YXIgZD0hIWEuekw/LigpLGU9YS5vZz8uKCksZj1hLkRqPy4oKSxoPWEuZXA/LigpLGs9YS5xeD8uKCk7YTpzd2l0Y2goYy5iYWRnZVN0eWxlKXtjYXNlICJCQURHRV9PVkVSTEFZIjp2YXIgbD0hMDticmVhayBhO2RlZmF1bHQ6bD0hMX1jPXt0eXBlOmQ/MTg6emZhKGMuYmFkZ2VTdHlsZSksdWk6QWZhKGMuYmFkZ2VTdHlsZSksdGV4dDpjLmJhZGdlVGV4dCxpY29uOmMuaWNvbk5hbWUsaXNPdmVybGF5Omwsb2c6ZXx8Xy54KCJ3ZWJfbW9kZXJuX2JhZGdlX3ZpZXdfbW9kZWwiKSxhY2Nlc3NpYmlsaXR5VGV4dDpjLmFjY2Vzc2liaWxpdHlMYWJlbHx8Xy5CKGMucmVuZGVyZXJDb250ZXh0LF8uWUMpPy5sYWJlbCxEajpmLGVwOmgsb0E6ayxuczpfLkIoYy50b29sdGlwT25Ib3ZlcixfLmNLKT8udG9vbHRpcFRleHR9fWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9O3JldHVybiBfLksoInl0LWJhZGdlLXZpZXctbW9kZWwiLAp7Y2xhc3M6Xy5QKCJ5dEJhZGdlVmlld01vZGVsSG9zdCIsYS5jbGFzcyl9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PiEhYigpPy51aX0sKCk9Pl8uSyhCZmEse2RhdGE6KCk9PmIoKX0pKSxfLksoXy5DRSx7d2hlbjooKT0+ISFiKCkmJiFiKCkudWl9LCgpPT5fLksoXy5mTCx7ZGF0YTooKT0+YigpfSkpKSl9LCJ2YSIpO18uRUQuaWRvbUNvbXBhdD0hMDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiUHpVZFpiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udko9ZnVuY3Rpb24oYSxiLGMsZCl7ZHx8KGQ9e2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMSxjb21wb3NlZDohMH0pO2MhPT1udWxsJiZjIT09dm9pZCAwJiYoZC5kZXRhaWw9Yyk7dmFyIGU9bmV3IEN1c3RvbUV2ZW50KGIsZCk7Xy5FQSgoKT0+dm9pZCBhLmRpc3BhdGNoRXZlbnQoZSkpO3JldHVybiBlfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5kTD1mdW5jdGlvbigpe307Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uckU9Xy5MKGE9Pnt2YXIge0ZJOmIsZkY6YyxwQzpkLGFzc2V0VHlwZTplLFFnOmYsa2g6aCx2azprLHprOmwsUHc6bSxxazpuLFVvOnAsYnV0dG9uU3R5bGU6cixFejp0LFByOnYsY29udGVudEFsaWdubWVudDp6LGlzRnVsbHNjcmVlbjpFLGtwOkEsd2lkdGg6RixtYXhIZWlnaHQ6Qyx1cTpHLG50OkQsc3E6SCxsdDpSfT1fLkRDKGEse1B3OjAsVW86MCxidXR0b25TdHlsZTowLGNvbnRlbnRBbGlnbm1lbnQ6MCxtYXhIZWlnaHQ6MCxpc0Z1bGxzY3JlZW46ITEsa3A6ITEsa2g6ITAsdXE6ITEsc3E6ITF9KTthPXQ/KCk9PnQoe2J1dHRvbk92ZXJyaWRlczooKT0+KHtzdHlsZTpyPy4oKT09PTE/ImNhbGwtdG8tYWN0aW9uIjoibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIixzaXplOiJNIn0pLGNsYXNzTmFtZTpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEJ1dHRvbjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zSW5saW5lU3RyZXRjaGVkOigpPT5wPy4oKT09PQowfHxwPy4oKT09PTJ9KX0pOnZvaWQgMDt2YXIgTT12PygpPT52KHtidXR0b25PdmVycmlkZXM6e3N0eWxlOiJtb25vIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIixzaXplOiJNIn0sY2xhc3NOYW1lOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0QnV0dG9uOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNJbmxpbmVTdHJldGNoZWQ6KCk9PnA/LigpPT09MHx8cD8uKCk9PT0yfSl9KTp2b2lkIDAsUz0oKT0+KCEhZiYmaCgpfHwhIWt8fCEhbCkmJm0oKT09PTA7cmV0dXJuIF8uSygiZGlhbG9nLWxheW91dCIse2VsOl8uckYoYixfLmRMKSxjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEhvc3Q6ITAseXRTcGVjRGlhbG9nTGF5b3V0RnVsbHNjcmVlbjpFLHl0U3BlY0RpYWxvZ0xheW91dFJlc3BvbnNpdmU6KCk9PiFFKCkmJiFBKCkseXRTcGVjRGlhbG9nTGF5b3V0RXh0ZW5kZWRNYXhIZWlnaHQ6KCk9PkMoKT09PTEseXRTcGVjRGlhbG9nTGF5b3V0QXNzZXRJbnNldDooKT0+CmU/LigpPT09MX0pLHN0eWxlOigpPT5GPy4oKSE9PXZvaWQgMD9gd2lkdGg6ICR7RigpfXB4O2A6IiJ9LGM/Xy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0U3BlY0RpYWxvZ0xheW91dEljb246ITAseXRTcGVjRGlhbG9nTGF5b3V0SWNvbkFib3ZlTWVkaWE6KCk9PiEhZCYmbSgpPT09MSx5dFNwZWNEaWFsb2dMYXlvdXRJY29uQ2VudGVyQWxpZ246KCk9PnooKT09PTF9KX0sXy5LKGMsbnVsbCkpOm51bGwsXy5LKF8uTyx7QTpHLHRoZW46KCk9PkQ/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyQ29udGFpbmVyIn0sXy5LKEQsbnVsbCkpOm51bGwsVzooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOlMsdGhlbjooKT0+Xy5LKFlQLHtjb250ZW50QWxpZ25tZW50Onosdms6ayx6azpsLFFnOmYsa2g6aCxUbDohIWR9KX0pLGQ/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0QXNzZXQifSxfLksoZCx7Y2xhc3NOYW1lOiJ5dFNwZWNEaWFsb2dMYXlvdXRBc3NldEl0ZW0ifSkpOgpudWxsKX0pLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXRDb250YWluZXI6KCk9PiFBKCkseXRTcGVjRGlhbG9nTGF5b3V0Q2VudGVyQWxpZ246KCk9Pno/LigpPT09MSx5dFNwZWNEaWFsb2dMYXlvdXRUb3BQYWRkaW5nOigpPT4hUygpJiYhQSgpJiYhRygpJiYhKGYmJmgoKSYmIUQmJm0/LigpPT09MSl8fCEhZCYmbT8uKCk9PT0wfSl9LF8uSyhfLk8se0E6KCk9PmYmJmgoKSYmIUQmJm0/LigpPT09MSx0aGVuOigpPT5fLksoWVAse2NvbnRlbnRBbGlnbm1lbnQ6eix2azprLHprOmwsUWc6ZixraDpoLFRsOiExfSl9KSxuP18uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0RpYWxvZ0xheW91dENvbnRlbnQifSxfLksoImRpdiIse2NsYXNzOl8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Q29udGVudElubmVyOigpPT4hQSgpfSl9LF8uSyhuLG51bGwpKSk6bnVsbCxfLksoXy5PLHtBOkgsdGhlbjooKT0+Uj9fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRGb290ZXJDb250YWluZXIifSwKXy5LKFIsbnVsbCkpOm51bGx9KSxhfHxNP18uSyhSaWEse2F3Ol8uUCh7eXRTcGVjRGlhbG9nTGF5b3V0Rm9vdGVyQ29udGFpbmVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dEZvb3RlcjohMCx5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dCdXR0b25zU3RhY2tlZDooKT0+cD8uKCk9PT0yLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0J1dHRvbnNJbmxpbmVFbmQ6KCk9PnA/LigpPT09MX0pLFl0OmEsY3U6TX0pOm51bGwpKX0sIlBiIik7CnZhciBZUD1fLkwoYT0+e3ZhciB7Y29udGVudEFsaWdubWVudDpiLHZrOmMsUWc6ZCxraDplLHprOmYsVGw6aCxFdjprfT1fLkRDKGEse1RsOiExLEV2OiEwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNEaWFsb2dMYXlvdXREaWFsb2dIZWFkZXJDb250YWluZXI6ITAseXRTcGVjRGlhbG9nTGF5b3V0RGlhbG9nSGVhZGVyOiEwLHl0U3BlY0RpYWxvZ0xheW91dERpYWxvZ0hlYWRlckFib3ZlQXNzZXQ6aCx5dFNwZWNEaWFsb2dMYXlvdXRDZW50ZXJBbGlnbjooKT0+Yj8uKCk9PT0xJiZrKCl9KX0sXy5LKF8uTyx7QTooKT0+aygpLHRoZW46KCk9PmM/Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjRGlhbG9nTGF5b3V0TGVhZGluZ0FjdGlvbkhlYWRlciJ9LF8uSyhjLG51bGwpKTpudWxsfSksZD9fLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKCJoMiIse2NsYXNzOiJ5dFNwZWNEaWFsb2dMYXlvdXRUaXRsZSJ9LF8uSyhkLG51bGwpKX0pOm51bGwsZj9fLksoImRpdiIsbnVsbCwKXy5LKGYsbnVsbCkpOm51bGwpfSwiUWIiKSxSaWE9Xy5MKCh7YXc6YSxZdDpiLGN1OmN9KT0+Xy5LKCJkaXYiLHtjbGFzczphfSxjP18uSyhjLG51bGwpOm51bGwsYj9fLksoYixudWxsKTpudWxsKSwiUmIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgidmlVV1YiKTsKCl8uWGQoKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5iTT1uZXcgXy5WcygiTE9UVElFX0xPQURFUl9UT0tFTiIpO18uY009Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLGFuaW1hdGlvbk5hbWU6YyxhbmltYXRpb25SZWY6ZCxHSTplfSk9Pnt2YXIgZj1fLnZFKCJsb3R0aWUtY29tcG9uZW50IiksaDtfLll1KCgpPT52b2lkIGg/LmRlc3Ryb3koKSk7dmFyIGs7Xy5uRSgoKT0+e3ZhciBsPV8uQnYoYyk7aWYobCE9PWspe2s9bDt2YXIgbT17YW5pbWF0aW9uTmFtZTpsLGFuaW1hdGlvblJlZjpfLkJ2KGQpLC4uLl8uQnYoYSl9O3RyeXtfLnkoKS5yZXNvbHZlKF8uYk0pKCkudGhlbihuPT57aD8uZGVzdHJveSgpO3ZhciBwPWU/LigpPy52YWx1ZT8/Zi52YWx1ZSxyPW0uYW5pbWF0aW9uUmVmLHQ9bS5saXN0ZW5lcnM7bj1uLmxvYWRBbmltYXRpb24oe2NvbnRhaW5lcjpwLHJlbmRlcmVyU2V0dGluZ3M6bS5yZW5kZXJlclNldHRpbmdzLC4uLm0uYW5pbWF0aW9uQ29uZmlnfSk7ciYmKHIubG90dGllRWw9bik7aWYodClmb3IobGV0IFt2LHpdb2YgT2JqZWN0LmVudHJpZXModCkpcj12LCh0PXopJiZuLmFkZEV2ZW50TGlzdGVuZXIociwKdCk7aD1ufSl9Y2F0Y2gobil7bD0iTG90dGllQ29tcG9uZW50IGVycm9yLiIsbi5tZXNzYWdlJiYobCs9YCBPcmlnaW5hbCBkZXNjcmlwdGlvbjogJHtuLm1lc3NhZ2V9YCksXy5jdyhuLGwpLF8uSXAobiksbS5saXN0ZW5lcnM/LmVycm9yJiZtLmxpc3RlbmVycy5lcnJvcihuKX19fSwieE9DazUiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+IWU/LigpLHRoZW46KCk9Pl8uSygibG90dGllLWNvbXBvbmVudCIse2NsYXNzOl8uUCgieXRMb3R0aWVDb21wb25lbnRIb3N0IixiKSxlbDpmfSl9KX0sIkthIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBiZ2E7YmdhPWZ1bmN0aW9uKGEsYixjLGQpe2Z1bmN0aW9uIGUoaCxrKXtpZihiLnZhbHVlPT09ayYmIWIuY2FuY2VsbGVkKXtmb3IoO2EuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2EuY2xhc3NMaXN0LmFkZCgieXRTcGVjSWNvblNoYXBlSG9zdCIpO2goYSxkKX19dmFyIGY9Xy55KCkucmVzb2x2ZShfLlhMKS5weShjKTt0eXBlb2YgZj09PSJmdW5jdGlvbiI/KGIudmFsdWU9bnVsbCxlKGYsbnVsbCkpOihiLnZhbHVlPWYsZi50aGVuKGg9PntlKGgsZil9KSl9O18uWEw9bmV3IF8uVnMoIklDT05fTUFOQUdFUl9UT0tFTiIpO18uWUw9Xy5MKGE9Pnt2YXIgYj17dmFsdWU6bnVsbCxjYW5jZWxsZWQ6ITF9O18uWXUoKCk9PntiLmNhbmNlbGxlZD0hMH0pO3ZhciBjPV8uTihhLmRhdGEse2VxdWFsczooZCxlKT0+ZC5pY29uTmFtZT09PWUuaWNvbk5hbWUmJmQuaWNvblN0eWxlPT09ZS5pY29uU3R5bGUmJmQuaWNvblNpemU9PT1lLmljb25TaXplJiZkLmx4PT09ZS5seCYmZC5reD09PWUua3h9LCJjazI0amIiKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0LWljb24tc2hhcGUiLGVsOl8uckYoZD0+e18ubkUoKCk9Pnt2YXIgZT1hLm9wdGlvbnM/LigpLGY9YygpO2JnYShkLGIsZixlKX0sInY4NzhKZSIpfSl9KX0sIkhhIik7Xy5ZTC5pZG9tQ29tcGF0PSEwOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRVA9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMTg6Y2FzZSAxOTpjYXNlIDIwOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fSxHaWE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMzpyZXR1cm4ieXRCYWRnZVNoYXBlQWQiO2Nhc2UgMTpyZXR1cm4ieXRCYWRnZVNoYXBlTWVkaWEiO2Nhc2UgMjpyZXR1cm4ieXRCYWRnZVNoYXBlTWVkaWFPdmVybGF5IjtjYXNlIDQ6cmV0dXJuInl0QmFkZ2VTaGFwZVByb21vdGVkIjtjYXNlIDU6cmV0dXJuInl0QmFkZ2VTaGFwZVByb21vdGVkSW52ZXJ0ZWQiO2Nhc2UgNjpyZXR1cm4ieXRCYWRnZVNoYXBlVGltZWx5IjtjYXNlIDc6cmV0dXJuInl0QmFkZ2VTaGFwZVByZW1pdW0iO2Nhc2UgODpyZXR1cm4ieXRCYWRnZVNoYXBlU2FsZSI7Y2FzZSA5OnJldHVybiJ5dEJhZGdlU2hhcGVNZW1iZXJzaGlwIjtjYXNlIDEwOnJldHVybiJ5dEJhZGdlU2hhcGVDb21tZXJjZSI7Y2FzZSAxMjpyZXR1cm4ieXRCYWRnZVNoYXBlTGl2ZSI7Y2FzZSAxMzpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzTmV3IjsKY2FzZSAxNDpyZXR1cm4ieXRCYWRnZVNoYXBlU3RhdHVzQ29tcGxldGUiO2Nhc2UgMTU6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c1dhcm5pbmciO2Nhc2UgMTY6cmV0dXJuInl0QmFkZ2VTaGFwZVN0YXR1c0Vycm9yIjtjYXNlIDE3OnJldHVybiJ5dEJhZGdlU2hhcGVTdGF0dXNEZWZhdWx0IjtjYXNlIDE4OnJldHVybiBfLngoImVuYWJsZV9sb2NrdXBfcmVkZXNpZ24iKT8ieXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdFJlZGVzaWduIjoieXRCYWRnZVNoYXBlVGh1bWJuYWlsRGVmYXVsdCI7Y2FzZSAxOTpyZXR1cm4ieXRCYWRnZVNoYXBlVGh1bWJuYWlsTGl2ZSI7Y2FzZSAyMDpyZXR1cm4ieXRCYWRnZVNoYXBlVGh1bWJuYWlsU3BlY2lhbCI7ZGVmYXVsdDpyZXR1cm4ieXRCYWRnZVNoYXBlRGVmYXVsdCJ9fTt2YXIgSGlhPW5ldyBTZXQoWyJPVVRMSU5FX0JBRyJdKTsKXy5UQz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPSgpPT57dmFyIGQ9YSgpLmljb247aWYoZClhOntkPV8uS0QoZCk/Lmljb25OYW1lPz9kO2xldCBoPSJ5b3V0dWJlX2ZpbGwiO0hpYS5oYXMoZC50b1VwcGVyQ2FzZSgpKSYmKGg9InlvdXR1YmVfb3V0bGluZSIpO2xldCBrPWg9PT0ieW91dHViZV9maWxsIj8ieW91dHViZV9vdXRsaW5lIjoieW91dHViZV9maWxsIixsPV8ueSgpLnJlc29sdmUoXy5YTCk7dmFyIGU9WzEyLDI0XTtmb3IoZiBvZiBlKXtlPXtpY29uTmFtZTpkLGljb25TdHlsZTpoLGljb25TaXplOmZ9O2xldCBtPXtpY29uTmFtZTpkLGljb25TdHlsZTprLGljb25TaXplOmZ9O2lmKGwuaihlKSl7dmFyIGY9ZTticmVhayBhfWlmKGwuaihtKSl7Zj1tO2JyZWFrIGF9fWY9dm9pZCAwfWVsc2UgZj12b2lkIDA7cmV0dXJuIGZ9LFtjXT1fLmJLKCgpPT5hKCkubnMpO3JldHVybiBfLksoImJhZGdlLXNoYXBlIix7ZWw6Xy5yRihkPT57YyhkKX0pLGNsYXNzOl8uUCgieXRCYWRnZVNoYXBlSG9zdCIsCigpPT5HaWEoYSgpLnR5cGUpLHt5dEJhZGdlU2hhcGVPdmVybGF5OigpPT5hKCkuaXNPdmVybGF5LHl0QmFkZ2VTaGFwZUFkc0luY2x1ZGVEb3Q6KCk9PmEoKS5Cbyx5dEJhZGdlU2hhcGVUaHVtYm5haWxCYWRnZTooKT0+RVAoYSgpLnR5cGUpLHl0QmFkZ2VTaGFwZVRodW1ibmFpbEJhZGdlUmVkZXNpZ246KCk9Pl8ueCgiZW5hYmxlX2xvY2t1cF9yZWRlc2lnbiIpJiZFUChhKCkudHlwZSkseXRCYWRnZVNoYXBlU3RhdHVzQmFkZ2U6KCk9PnthOnN3aXRjaChhKCkudHlwZSl7Y2FzZSAxMzpjYXNlIDE0OmNhc2UgMTU6Y2FzZSAxNjpjYXNlIDE3OnZhciBkPSEwO2JyZWFrIGE7ZGVmYXVsdDpkPSExfXJldHVybiBkfSx5dEJhZGdlU2hhcGVOb1RleHQ6KCk9PiFhKCkudGV4dCx5dEJhZGdlU2hhcGVJc0VtcHR5OigpPT4hYSgpLnRleHQmJiFhKCkuaWNvbiYmIWEoKS5hbmltYXRpb24seXRCYWRnZVNoYXBlTW9kZXJuOigpPT5hKCkub2d8fF8ueCgid2ViX21vZGVybl9iYWRnZV9zaGFwZSIpLAp5dEJhZGdlU2hhcGVUeXBvZ3JhcGh5OigpPT57YTp7dmFyIGQ9YSgpO2lmKGQub0Epc3dpdGNoKGQudHlwZSl7Y2FzZSAwOmNhc2UgMTpjYXNlIDEwOmQ9ITA7YnJlYWsgYTtkZWZhdWx0OmQ9ITF9ZWxzZSBkPSExfXJldHVybiFkfSx5dEJhZGdlU2hhcGVNZWRpdW1Gb250QWRCYWRnZTooKT0+YSgpLkd5LHl0QmFkZ2VTaGFwZUxhcmdlRm9udEFkQmFkZ2U6KCk9PmEoKS5qeX0pLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjooKT0+YSgpLmN1c3RvbUNvbG9ycz8uYmFja2dyb3VuZENvbG9yfSkscm9sZTooKT0+YSgpLmFjY2Vzc2liaWxpdHlUZXh0PyJpbWciOnZvaWQgMCwiYXJpYS1sYWJlbCI6KCk9PmEoKS5hY2Nlc3NpYmlsaXR5VGV4dH0sXy5LKF8uTyx7QTooKT0+YSgpLmFuaW1hdGlvbix0aGVuOmQ9Pl8uSyhfLmNNLHtjbGFzc05hbWU6Inl0QmFkZ2VTaGFwZUljb24iLGRhdGE6ZCxhbmltYXRpb25OYW1lOigpPT5kKCkuYW5pbWF0aW9uQ29uZmlnLm5hbWV8fCIifSl9KSwKXy5LKF8uTyx7QTooKT0+YigpJiYhYSgpPy5hbmltYXRpb24sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRCYWRnZVNoYXBlSWNvbiJ9LF8uSyhfLllMLHtkYXRhOigpPT5iKCl9KSl9KSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRCYWRnZVNoYXBlVGV4dCIse3l0QmFkZ2VTaGFwZVRleHRDbGlwVGV4dE92ZXJmbG93OigpPT5hKCkuZXAseXRCYWRnZVNoYXBlVGV4dEhhc011bHRpcGxlQmFkZ2VzSW5Sb3c6KCk9PihhKCkuRGp8fDApPjF9KX0sKCk9PmEoKT8udGV4dCkpfSwieWIiKTtfLlRDLmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uV2QoImpCaXNhZiIpOwoKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgQko7Xy53Sj1mdW5jdGlvbihhLGIsYyxkPTApeyhkPV8uaXEoZCkpJiZfLmZ4KGEuY2xpZW50LGQsYixjKX07Xy54Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZ2V0U2NyZWVuTGF5ZXImJmIuZ2V0U2NyZWVuTGF5ZXIoKTtiLnZpc3VhbEVsZW1lbnQ/Xy53SihhLGIudmlzdWFsRWxlbWVudCx2b2lkIDAsYyk6KF8uRHgoKSxiPV8uVmkoXy5CeCgpLmopLmJpbmQoXy5CeCgpKShiKSxhLkNmKGIsdm9pZCAwLGMpKX07Xy55Sj1mdW5jdGlvbihhLGIsYyl7Xy5WaShfLmZ4KSh2b2lkIDAsYSxiLGMsdm9pZCAwKX07Xy56Sj1mdW5jdGlvbihhLGI9MCl7KGI9Xy5pcShiKSkmJmEmJl8ueUooYixfLlV3KGEpKX07Xy5BSj1mdW5jdGlvbihhLGIsYyxkKXtfLmdFLnB1c2goe2NvbW1hbmQ6YSxzb3VyY2VEYXRhOmIsY29tbWFuZENvbnRleHQ6ZH0pO2MmJmEuY2xpY2tUcmFja2luZ1BhcmFtcyYmXy56SihhLmNsaWNrVHJhY2tpbmdQYXJhbXMpfTsKQko9ZnVuY3Rpb24oYSl7aWYoIWE/LnJ1bnMpcmV0dXJuITA7Zm9yKGxldCBiIG9mIGEucnVucylpZihiLmJyYWNrZXR8fGIuZXJyb3JVbmRlcmxpbmV8fGIuZGVlbXBoYXNpemV8fF8uQihiLF8uWGNhKXx8Xy5CKGIsXy5ZY2EpKXJldHVybiExO3JldHVybiEwfTtfLkNKPWZ1bmN0aW9uKGEpe3JldHVybiBhP2Euc2ltcGxlVGV4dD9hLnNpbXBsZVRleHQ6YS5ydW5zP2EucnVucy5tYXAoYj0+Yi50ZXh0KS5qb2luKCIiKToiIjoiIn07Xy5ESj1mdW5jdGlvbihhKXtpZihhKXJldHVybiBhLmxhYmVsP2EubGFiZWw6Xy5ESihhLmFjY2Vzc2liaWxpdHlEYXRhKX07Xy5EZWE9bmV3IF8uSSgieXBjT2ZmZXJzRW5kcG9pbnQiKTtfLkVlYT1uZXcgXy5JKCJ5cGNHZXRPZmZlcnNFbmRwb2ludCIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0aGVtZS1tZXRhIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpO18uRmVhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKTtfLkVKPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY29udGFpbmVyLWlkIik7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXllci1jb250cm9sLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItZW5kc2NyZWVuLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItc2hvcnRzLWNvbnRhaW5lciIpO2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXItY2luZW1hdGljcy1jb250YWluZXIiKTtkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZnVsbC1zY3JlZW4tY29udGVudC1pZCIpO18uRko9Xy5LeSgiaW5pdCIpO3ZhciBHSjsKR0o9Xy5MKCh7cnVuOmEsbWE6Yn0pPT57dmFyIGM9KCk9PmEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQ7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEoKS5ib2xkfSwoKT0+e3ZhciBkPV8uTigoKT0+KHsuLi5hKCksYm9sZDp2b2lkIDB9KSx2b2lkIDAsIlNsWmw2Iik7cmV0dXJuIF8uSygic3Ryb25nIix7Y2xhc3M6ImZvcm1hdHRlZC1zdHJpbmctYm9sZCJ9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuZGVlbXBoYXNpemV9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSxkZWVtcGhhc2l6ZTp2b2lkIDB9KSx2b2lkIDAsInlJeHdkZCIpO3JldHVybiBfLksoInNwYW4iLHtjbGFzczoiZm9ybWF0dGVkLXN0cmluZy1kZWVtcGhhc2l6ZSJ9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuaXRhbGljc30sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLGl0YWxpY3M6dm9pZCAwfSksdm9pZCAwLAoiUU5YSEhiIik7cmV0dXJuIF8uSygiZW0iLG51bGwsXy5LKEdKLHtydW46ZCxtYTpifSkpfSksXy5LKF8uQ0Use3doZW46KCk9PmEoKS50ZXh0Q29sb3J9LCgpPT57dmFyIGQ9Xy5OKCgpPT4oey4uLmEoKSx0ZXh0Q29sb3I6dm9pZCAwfSksdm9pZCAwLCJ4SmVHM2IiKTtyZXR1cm4gXy5LKCJzcGFuIix7c3R5bGU6KCk9PmBjb2xvcjogJHtfLkpFKGEoKS50ZXh0Q29sb3IpfWB9LF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuc3RyaWtldGhyb3VnaH0sKCk9Pnt2YXIgZD1fLk4oKCk9Pih7Li4uYSgpLHN0cmlrZXRocm91Z2g6dm9pZCAwfSksdm9pZCAwLCJYQ1I2aGQiKTtyZXR1cm4gXy5LKCJzIixudWxsLF8uSyhHSix7cnVuOmQsbWE6Yn0pKX0pLF8uSyhfLkNFLHt3aGVuOigpPT4hYSgpLm5hdmlnYXRpb25FbmRwb2ludHx8YigpfSwoKT0+Xy5LKF8uSUIsbnVsbCwoKT0+YSgpLnRleHQpKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy5uSCx7Y29tbWFuZDpjLAp0YWJJbmRleDowfSxfLksoXy5JQixudWxsLCgpPT5hKCkudGV4dCkpKSl9LCJOIik7Cl8uSUo9Xy5MKCh7ZGF0YTphLC4uLmJ9KT0+e3ZhciBjPSgpPT5iLm1hPy4oKSxkPSgpPT5iLnViPy4oKSxlPSgpPT5iLklkPy4oKSxmPSgpPT5iLnVzZXJJbnB1dD8uKCksaD0oKT0+Yi5YYT8uKCksaz0oKT0+Yi5yZz8uKCk/PyEwO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4hKGE/LigpJiZPYmplY3Qua2V5cyhhKCkpLmxlbmd0aCl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBsO2lmKGw9QkooYSgpKSlsPWEoKSxsPSEhKGw/LmNvbnRlbnQhPT12b2lkIDA/bDpfLkFGKGwpKS5jb250ZW50O3JldHVybiBsfX0sKCk9Pl8uSyhfLlYse3RleHQ6YSxhcmlhTGFiZWw6KCk9Pl8uREooYSgpLmFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhKSxYYTpoLG1hOmMsdWI6ZCxyZzprLElkOmUsdXNlcklucHV0OmYsWXU6ITB9KSksXy5LKF8uQ0Use3doZW46KCk9PkJKKGEoKSl9LCgpPT5udWxsKSxfLksoXy5DRSx7d2hlbjooKT0+e3ZhciBsOwppZigobD1hPy4oKSYmT2JqZWN0LmtleXMoYSgpKS5sZW5ndGgpJiYhKGw9YSgpLmFjY2Vzc2liaWxpdHkpKWE6e2w9YSgpO2lmKGwucnVucylmb3IobGV0IG0gb2YgbC5ydW5zKWlmKG0ubmF2aWdhdGlvbkVuZHBvaW50KXtsPSExO2JyZWFrIGF9bD0hMH1yZXR1cm4gbCYmYSgpLnJ1bnMmJmEoKS5ydW5zLmxlbmd0aD4xfX0sKCk9Pl8uSygic3BhbiIseyJhcmlhLWxhYmVsIjooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eT8uYWNjZXNzaWJpbGl0eURhdGEpLGNsYXNzOiJmb3JtYXR0ZWQtc3RyaW5nLXRleHQiLHJvbGU6InRleHQifSxfLksoSEose3NpbXBsZVRleHQ6KCk9PmEoKS5zaW1wbGVUZXh0LHJ1bnM6KCk9PmEoKS5ydW5zLG1hOmN9KSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSyhISix7c2ltcGxlVGV4dDooKT0+YSgpLnNpbXBsZVRleHQscnVuczooKT0+YSgpLnJ1bnMsbWE6Y30pKSl9LCJPIik7Xy5JSi5pZG9tQ29tcGF0PSEwOwp2YXIgSEo9Xy5MKCh7c2ltcGxlVGV4dDphLHJ1bnM6YixtYTpjfSk9Pl8uSyhfLk8se0E6KCk9PmEmJmEoKSx0aGVuOmQ9PmQsVzooKT0+Xy5LKF8uTyx7QTooKT0+YiYmYigpLHRoZW46ZD0+Xy5LKF8uZ0cse3BhOmQsdGI6IklOREVYIn0sZT0+Xy5LKEdKLHtydW46ZSxtYTooKT0+ISFjPy4oKX0pKX0pfSksIlAiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5MSj1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlpRS3gxIik7cmV0dXJuIF8uVkN9O18uTUo9Xy5jRCgoKT0+Xy5MSigpLCJidXR0b25PckFuY2hvciIpO18uWXQoXy5KRCxhPT57YS5KKCJidXR0b25PckFuY2hvciIsIlpRS3gxIixfLkxKKX0pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgWUs7WUs9YT0+Yj0+KCk9PmI/LigpIT09dm9pZCAwP1N0cmluZyhiKCkpK2E6dm9pZCAwO18uWks9WUsoInB4Iik7Xy54ZmE9WUsoIiUiKTtfLiRLPVlLKCJzIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYUw9ZnVuY3Rpb24oLi4uYSl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpaWYoYylpZih0eXBlb2YgYz09PSJzdHJpbmciKWIucHVzaChjKTtlbHNlIGZvcihsZXQgW2QsZV1vZiBPYmplY3QuZW50cmllcyhjKSlhPWQsZSYmYi5wdXNoKGEpO3JldHVybiBiLmpvaW4oIiAiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uYkw9bmV3IF8uVnMoIlBBTkVMX0NPTlRST0xMRVJfVE9LRU4iKTtfLmNMPW5ldyBfLlZzKCJTSEVFVF9DT05UUk9MTEVSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZ0w9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJyOUtNamIiKTtyZXR1cm4gXy4kQ307Xy5oTD1fLmNEKCgpPT5fLmdMKCksInVwc2VsbFZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJ1cHNlbGxWaWV3TW9kZWwiLCJyOUtNamIiLF8uZ0wpfSk7Xy5pTD1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlZjR1M4Iik7cmV0dXJuIF8uRUN9O18uakw9Xy5jRCgoKT0+Xy5pTCgpLCJtaW5pQXBwU2NvcmVDaGFsbGVuZ2VWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigibWluaUFwcFNjb3JlQ2hhbGxlbmdlVmlld01vZGVsIiwiVmNHUzgiLF8uaUwpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uVkw9bmV3IF8uSSgiYnV0dG9uUmVuZGVyZXIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XTD1mdW5jdGlvbihhKXtyZXR1cm57cnVuczpbe3RleHQ6YX1dfX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uWkw9Xy5MKGE9Pnsoe3dyYXBwZXI6YX09Xy5EQyhhLHt3cmFwcGVyOiExfSkpO3JldHVybiBfLksoXy5PLHtBOmEsdGhlbjooKT0+Xy5LKCJ5dC1zcGlubmVyLXNoYXBlIix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlV3JhcHBlciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlU3Bpbm5lciJ9KSksVzooKT0+Xy5LKCJ5dC1zcGlubmVyLXNoYXBlIix7Y2xhc3M6Inl0U3Bpbm5lclNoYXBlU3Bpbm5lciJ9KX0pfSwiSWEiKTtfLlpMLmlkb21Db21wYXQ9ITA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uJEw9e0VvOiExLGxxOiExLHZwOiIiLHVwOiIiLHdyOiExLENxOiExfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5hTT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PTB8fGE9PT0xfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIGVNLGNnYSxkZ2EsZk0sZ00saU0sak0sZWdhLGdnYSxpZ2Esa2dhLG1nYSxvZ2EscE0scGdhLHFnYSxuTTtfLmRNPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBpbiBhKXJldHVybiBifTtlTT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYS5sZW5ndGg9PT0wP2I9PmI6YS5sZW5ndGg9PT0xP2FbMF06YS5yZWR1Y2UoKGIsYyk9PiguLi5kKT0+YihjKC4uLmQpKSl9O2NnYT1mdW5jdGlvbigpe3ZhciBhPVtdO3JldHVybiBiPT4oYyxkKT0+e2M9YihjLGQpO3ZhciBlPSgpPT57dGhyb3cgRXJyb3IoIlFiIik7fSxmPXtnZXRTdGF0ZTpjLmdldFN0YXRlLGRpc3BhdGNoOihoLC4uLmspPT5lKGgsLi4uayl9O2Q9YS5tYXAoaD0+aChmKSk7ZT1lTSguLi5kKShjLmRpc3BhdGNoKTtyZXR1cm57Li4uYyxkaXNwYXRjaDplfX19OwpkZ2E9ZnVuY3Rpb24oYSl7T2JqZWN0LmtleXMoYSkuZm9yRWFjaChiPT57dmFyIGM9YVtiXTtpZih0eXBlb2YgYyh2b2lkIDAse3R5cGU6Xy5tQX0pPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlJiYCIrYik7aWYodHlwZW9mIGModm9pZCAwLHt0eXBlOmBAQHJlZHV4L1BST0JFX1VOS05PV05fQUNUSU9OJHtfLmxBKCl9YH0pPT09InVuZGVmaW5lZCIpdGhyb3cgRXJyb3IoIlNiYCIrYisiYCIrXy5tQSk7fSl9OwpmTT1mdW5jdGlvbihhKXt2YXIgYj1PYmplY3Qua2V5cyhhKSxjPXt9O2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKXtsZXQgaD1iW2ZdO3R5cGVvZiBhW2hdPT09ImZ1bmN0aW9uIiYmKGNbaF09YVtoXSl9dmFyIGQ9T2JqZWN0LmtleXMoYyk7dHJ5e2RnYShjKX1jYXRjaChmKXt2YXIgZT1mfXJldHVybiBmdW5jdGlvbihmPXt9LGgpe2lmKGUpdGhyb3cgZTt2YXIgaz0hMSxsPXt9O2ZvcihsZXQgbT0wO208ZC5sZW5ndGg7bSsrKXtsZXQgbj1kW21dLHA9ZltuXSxyPSgwLGNbbl0pKHAsaCk7aWYodHlwZW9mIHI9PT0idW5kZWZpbmVkIil0aHJvdyBmPWgmJmgudHlwZSxFcnJvcigiVGJgIisoZj9gIiR7U3RyaW5nKGYpfSJgOiIodW5rbm93biB0eXBlKSIpKyJgIituKTtsW25dPXI7az1rfHxyIT09cH1yZXR1cm4oaz1rfHxkLmxlbmd0aCE9PU9iamVjdC5rZXlzKGYpLmxlbmd0aCk/bDpmfX07CmdNPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKCl7aWYobil0aHJvdyBFcnJvcigiVWIiKTtyZXR1cm4ga31mdW5jdGlvbiBlKHIpe2lmKHR5cGVvZiByIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiVmJgIit0eXBlb2Ygcik7aWYobil0aHJvdyBFcnJvcigiV2IiKTt2YXIgdD0hMDttPT09bCYmKG09bC5zbGljZSgpKTttLnB1c2gocik7cmV0dXJuIGZ1bmN0aW9uKCl7aWYodCl7aWYobil0aHJvdyBFcnJvcigiWGIiKTt0PSExO209PT1sJiYobT1sLnNsaWNlKCkpO3ZhciB2PW0uaW5kZXhPZihyKTttLnNwbGljZSh2LDEpO2w9bnVsbH19fWZ1bmN0aW9uIGYocil7aWYodHlwZW9mIHIhPT0ib2JqZWN0Inx8cj09PW51bGwpdmFyIHQ9ITE7ZWxzZXtmb3IodD1yO09iamVjdC5nZXRQcm90b3R5cGVPZih0KSE9PW51bGw7KXQ9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO3Q9T2JqZWN0LmdldFByb3RvdHlwZU9mKHIpPT09dH1pZighdCl0aHJvdyBFcnJvcigiWWJgIit0eXBlb2Ygcik7CmlmKHR5cGVvZiByLnR5cGU9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiWmIiKTtpZihuKXRocm93IEVycm9yKCIkYiIpO3RyeXtuPSEwLGs9aChrLHIpfWZpbmFsbHl7bj0hMX10PWw9bTtmb3IobGV0IHY9MDt2PHQubGVuZ3RoO3YrKykoMCx0W3ZdKSgpO3JldHVybiByfWlmKHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmdHlwZW9mIGM9PT0iZnVuY3Rpb24ifHx0eXBlb2YgYz09PSJmdW5jdGlvbiImJnR5cGVvZiBhcmd1bWVudHNbM109PT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJhYyIpO3R5cGVvZiBiPT09ImZ1bmN0aW9uIiYmdHlwZW9mIGM9PT0idW5kZWZpbmVkIiYmKGM9YixiPXZvaWQgMCk7aWYodHlwZW9mIGMhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIGMhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJiY2AiK3R5cGVvZiBjKTtyZXR1cm4gYyhnTSkoYSxiKX1pZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoImNjYCIrdHlwZW9mIGEpO3ZhciBoPWEsaz0KYixsPVtdLG09bCxuPSExO2Yoe3R5cGU6Xy5tQX0pO3ZhciBwPXtkaXNwYXRjaDpmLHN1YnNjcmliZTplLGdldFN0YXRlOmQscmVwbGFjZVJlZHVjZXI6ZnVuY3Rpb24ocil7aWYodHlwZW9mIHIhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKCJkY2AiK3R5cGVvZiByKTtoPXI7Zih7dHlwZTpfLlJhYX0pO3JldHVybiBwfSxbXy5uQV06ZnVuY3Rpb24oKXtyZXR1cm57c3Vic2NyaWJlKHIpe2Z1bmN0aW9uIHQoKXtyLm5leHQmJnIubmV4dChkKCkpfWlmKHR5cGVvZiByIT09Im9iamVjdCJ8fHI9PT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoImVjYCIrdHlwZW9mIHIpO3QoKTtyZXR1cm57dW5zdWJzY3JpYmU6ZSh0KX19LFtfLm5BXSgpe3JldHVybiB0aGlzfX19fTtyZXR1cm4gcH07Cl8uaE09ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXsuLi5hfTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYikpe2xldCBmPWFbZV0saD1iW2VdO2lmKGg9PT12b2lkIDApZGVsZXRlIGRbZV07ZWxzZSBpZihmPT09dm9pZCAwKWRbZV09aDtlbHNlIGlmKEFycmF5LmlzQXJyYXkoaCkmJkFycmF5LmlzQXJyYXkoZikpZFtlXT1jP1suLi5mLC4uLmhdOmg7ZWxzZSBpZighQXJyYXkuaXNBcnJheShoKSYmXy5BYShoKSYmIUFycmF5LmlzQXJyYXkoZikmJl8uQWEoZikpZFtlXT1fLmhNKGYsaCxjKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGYpZFtlXT1oO2Vsc2UgcmV0dXJuIGI9bmV3IF8uWGooIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6ZSxIajpmLHVwZGF0ZVZhbHVlOmh9KSxfLkdwKGIpLGF9cmV0dXJuIGR9OwppTT1mdW5jdGlvbihhLGIsYyxkKXtpZihkPT09dm9pZCAwKXtsZXQge1tjXTplLC4uLmZ9PWFbYl18fHt9O3JldHVybnsuLi5hLFtiXTpmfX1yZXR1cm57Li4uYSxbYl06ey4uLmFbYl0sW2NdOmR9fX07ak09ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hW2JdfHx7fSxoPWZbY107aWYoIWgmJiFfLngoIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiKSlyZXR1cm4gYTtkPV8uaE0oaHx8e30sZCxlPT09IlJFUEVBVEVEX0ZJRUxEU19NRVJHRV9PUFRJT05fQVBQRU5EIik7cmV0dXJuey4uLmEsW2JdOnsuLi5mLFtjXTpkfX19OwplZ2E9ZnVuY3Rpb24oYT17fSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJFTlRJVFlfTE9BREVEIjpyZXR1cm4gYi5wYXlsb2FkLnJlZHVjZSgoYyxkKT0+e3ZhciBlPWQub3B0aW9ucz8ucGVyc2lzdGVuY2VPcHRpb247aWYoZSYmZSE9PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX1VOS05PV04iJiZlIT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fSU5NRU1PUllfQU5EX1BFUlNJU1QiKXJldHVybiBjO2lmKCFkLmVudGl0eUtleSlyZXR1cm4gXy5HcChFcnJvcigiZ2MiKSksYztpZihkLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFkLnBheWxvYWQpcmV0dXJuIGQ9bmV3IF8uWGooIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmQuZW50aXR5S2V5fSksXy5HcChkKSxjO3ZhciBmPV8uZE0oZC5wYXlsb2FkKTtyZXR1cm4gaU0oYyxmLGQuZW50aXR5S2V5LGQucGF5bG9hZFtmXSl9aWYoZC50eXBlPT09CiJFTlRJVFlfTVVUQVRJT05fVFlQRV9ERUxFVEUiKXthOntkPWQuZW50aXR5S2V5O3RyeXtsZXQgaD1fLkdIKGQpLmVudGl0eVR5cGU7Zj1pTShjLGgsZCk7YnJlYWsgYX1jYXRjaChoKXtpZihoIGluc3RhbmNlb2YgRXJyb3Ipe2Q9bmV3IF8uWGooIkZhaWxlZCB0byBkZXNlcmlhbGl6ZSBlbnRpdHkga2V5Iix7ZW50aXR5S2V5OmQsb3JpZ2luYWxNZXNzYWdlOmgubWVzc2FnZX0pO18uR3AoZCk7Zj1jO2JyZWFrIGF9dGhyb3cgaDt9Zj12b2lkIDB9cmV0dXJuIGZ9aWYoZC50eXBlPT09IkVOVElUWV9NVVRBVElPTl9UWVBFX1VQREFURSIpe2lmKCFkLnBheWxvYWQpcmV0dXJuIGQ9bmV3IF8uWGooIlVQREFURSBlbnRpdHkgbXV0YXRpb24gaXMgbWlzc2luZyBhIHBheWxvYWQiLHtlbnRpdHlLZXk6ZC5lbnRpdHlLZXl9KSxfLkdwKGQpLGM7Zj1fLmRNKGQucGF5bG9hZCk7cmV0dXJuIGpNKGMsZixkLmVudGl0eUtleSxkLnBheWxvYWRbZl0sZC5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIGN9LAphKTtjYXNlICJSRVBMQUNFX0VOVElUWSI6cmV0dXJuIGlNKGEsYi5wYXlsb2FkLmVudGl0eVR5cGUsYi5wYXlsb2FkLmtleSxiLnBheWxvYWQueGwpO2Nhc2UgIlJFUExBQ0VfRU5USVRJRVMiOnJldHVybiBPYmplY3Qua2V5cyhiLnBheWxvYWQpLnJlZHVjZSgoYyxkKT0+e3ZhciBlPWIucGF5bG9hZFtkXTtyZXR1cm4gT2JqZWN0LmtleXMoZSkucmVkdWNlKChmLGgpPT5pTShmLGQsaCxlW2hdKSxjKX0sYSk7Y2FzZSAiVVBEQVRFX0VOVElUWSI6cmV0dXJuIGpNKGEsYi5wYXlsb2FkLmVudGl0eVR5cGUsYi5wYXlsb2FkLmtleSxiLnBheWxvYWQueGwsYi5wYXlsb2FkLkl5KTtkZWZhdWx0OnJldHVybiBhfX07Cl8ubE09ZnVuY3Rpb24oKXtpZihfLmtNKXJldHVybiBfLmtNO2lmKHdpbmRvdy5sb3R0aWUpcmV0dXJuIF8ua009UHJvbWlzZS5yZXNvbHZlKHdpbmRvdy5sb3R0aWUpO3ZhciBhPV8uaHcoXy53KCJMT1RUSUVfVVJMIikpO3JldHVybiBhP18ua009bmV3IFByb21pc2UoKGIsYyk9Pnt2YXIgZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtkLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Yihsb3R0aWUpfSk7ZC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZT0+e3ZhciBmPSJMb3R0aWUgbGlicmFyeSBmYWlsZWQgdG8gbG9hZC4iO2U/ZS5tZXNzYWdlJiYoZis9YCBPcmlnaW5hbCBkZXNjcmlwdGlvbjogJHtlLm1lc3NhZ2V9YCxfLmN3KGUsZikpOmU9RXJyb3IoZik7Xy5JcChlKTtjKGUpfSk7ZC5zZXRBdHRyaWJ1dGUoImFzeW5jIiwiIik7Xy5vYihkLGEpO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZCl9KTpQcm9taXNlLnJlamVjdChFcnJvcigiQmQiKSl9OwpnZ2E9ZnVuY3Rpb24oYT1mZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0JPVFRPTV9TSEVFVF9PUEVOX1NUQVRFIjpyZXR1cm57Li4uYSxqajpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTtpZ2E9ZnVuY3Rpb24oYT1oZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0NJTkVNQVRJQ19TRVRUSU5HX1NUQVRFIjpyZXR1cm57Li4uYSxpc0FsbG93ZWQ6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07CmtnYT1mdW5jdGlvbihhPWpnYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfRVJST1JfTUVTU0FHRV9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLGVycm9yTWVzc2FnZTpiLnBheWxvYWR9O2Nhc2UgIlNFVF9USVRMRV9DUkVBVEVfUExBWUxJU1RfU1RBVEUiOnJldHVybnsuLi5hLHRpdGxlOmIucGF5bG9hZH07Y2FzZSAiU0VUX1BSSVZBQ1lfQ1JFQVRFX1BMQVlMSVNUX1NUQVRFIjpyZXR1cm57Li4uYSxwcml2YWN5OmIucGF5bG9hZH07Y2FzZSAiU0VUX0lTX0RJU0FCTEVEX0NSRUFURV9QTEFZTElTVF9TVEFURSI6cmV0dXJuey4uLmEsaXNEaXNhYmxlZDpiLnBheWxvYWR9O2RlZmF1bHQ6cmV0dXJuIGF9fTttZ2E9ZnVuY3Rpb24oYT1sZ2EsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX0lTX0RSQVdFUl9MQVlPVVRfT1BFTl9TVEFURSI6cmV0dXJuey4uLmEsamo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07Cm9nYT1mdW5jdGlvbihhPW5nYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfRlVMTFNDUkVFTl9TVEFURSI6cmV0dXJuey4uLmEsaXNGdWxsc2NyZWVuOmIucGF5bG9hZH07Y2FzZSAiU0VUX05BVklHQVRJT05fQlVUVE9OIjp2YXIgYz17Li4uYS5uYXZpZ2F0aW9uQnV0dG9uc307Y1tiLnBheWxvYWQudGFyZ2V0SWRdPWIucGF5bG9hZC5idXR0b247cmV0dXJuey4uLmEsbmF2aWdhdGlvbkJ1dHRvbnM6Y307Y2FzZSAiU0VUX1RPUF9QQU5FTF9JRF9TVEFURSI6cmV0dXJuey4uLmEscXM6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0VDT05EQVJZX0hFQURFUiI6cmV0dXJuIGM9ey4uLmEuc2Vjb25kYXJ5SGVhZGVyfSxjW2IucGF5bG9hZC5wYW5lbElkXT1iLnBheWxvYWQuc2Vjb25kYXJ5SGVhZGVyLHsuLi5hLHNlY29uZGFyeUhlYWRlcjpjfTtkZWZhdWx0OnJldHVybiBhfX07Xy5vTT1mdW5jdGlvbigpe21NfHwobU09bmV3IG5NKTtyZXR1cm4gbU19OwpwTT1mdW5jdGlvbihhLGIpe2I9Yj8uQXN8fF8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO3N3aXRjaChhKXtjYXNlICJMSUtFIjphPV8ub00oKS5nZXRTdGF0ZSgpO2E9KGE9Xy5xQShhLmVudGl0aWVzLCJsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5IiwiRWh4c2FXdGxYMkoxZEhSdmJsOWhibWx0WVhScGIyNWZaVzUwYVhSNUlMY0VLQUUlM0QiKSkmJmEuYW5pbWF0aW9uTGlnaHRVcmwmJmEuYW5pbWF0aW9uRGFya1VybD97RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiPyJjdXN0b21fYW5pbWF0ZWRfbGlrZV9pY29uX2RhcmsiOiJjdXN0b21fYW5pbWF0ZWRfbGlrZV9pY29uIixwYXRoOmI/YS5hbmltYXRpb25EYXJrVXJsOmEuYW5pbWF0aW9uTGlnaHRVcmwsbG9vcDohMSxhdXRvcGxheTohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMCxjbGFzc05hbWU6ImN1c3RvbS1hbmltYXRlZC1saWtlLWljb24ifX19LHRvdGFsRnJhbWVzOjEyMCx6aDohMH06dm9pZCAwOwppZihhKXJldHVybiBhO2I9YGFuaW1hdGVkX2xpa2VfaWNvbl8ke2I/ImRhcmsiOiJsaWdodCJ9X3Y1YDtyZXR1cm57RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9hbmltYXRlZF9saWtlX2ljb24vJHtifS5qc29uYCxsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e3ZpZXdCb3hPbmx5OiEwLGNsYXNzTmFtZToiYW5pbWF0ZWQtbGlrZS1pY29uIn19fSx0b3RhbEZyYW1lczoxMjAsemg6ITB9O2Nhc2UgIk5PVElGSUNBVElPTl9CRUxMIjpyZXR1cm57RWM6e2FuaW1hdGlvbkNvbmZpZzp7bmFtZTpiPyJub3RpZmljYXRpb25fYmVsbF9kYXJrIjoibm90aWZpY2F0aW9uX2JlbGxfbGlnaHQiLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9zdWJzY3JpYmVfYWN0aW9uL3N1YnNjcmliZV9hY3Rpb25fYmVsbF9pY29uXyR7Yj8iZGFyayI6ImxpZ2h0In1fdjQuanNvbmAsCmxvb3A6ITEsYXV0b3BsYXk6ITEscmVuZGVyZXJTZXR0aW5nczp7Y2xhc3NOYW1lOiJhbmltYXRlZC1zdWJzY3JpYmUtaWNvbiJ9fX0sdG90YWxGcmFtZXM6MTIwLHpoOiExfX19O3BnYT1mdW5jdGlvbihhLGIpe18uamYucGIoYXN5bmMoKT0+e3RyeXthd2FpdCBfLmxNKCk7bGV0IGM9YXdhaXQgKGF3YWl0IGZldGNoKGEpKS5qc29uKCk7cU0uc2V0KGEsYyk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YihjKX0pfWNhdGNoKGMpe18uSXAoYyl9fSl9O3FnYT1mdW5jdGlvbihhKXt2YXIgYj17YW5pbWF0aW9uQ29uZmlnOnt9LGxpc3RlbmVyczp7fX0sYz0oKT0+e2EoITApfTtiLmxpc3RlbmVycy5yST1jO2IubGlzdGVuZXJzLmVycm9yPWM7Yi5saXN0ZW5lcnMuc0k9KCk9PnthKCExKX07cmV0dXJuIGJ9OwpuTT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3ZhciBhPWZNKHtlbmdhZ2VtZW50UGFuZWw6b2dhLHRpOmdnYSxlSTppZ2EsRHA6bWdhLG1JOmtnYSxRSjpyZ2EsQks6c2dhLENLOnRnYSwuLi51Z2EsLi4udmdhfSksYj1lTShjZ2EoKSk7dGhpcy5zdG9yZT1nTShhLHZvaWQgMCxiKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2goYSl7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2goYSl9c3Vic2NyaWJlKGEpe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShhKX1yZXBsYWNlUmVkdWNlcihhKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihhKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgcU09bmV3IE1hcDt2YXIgd2dhPXtKcDpudWxsfTt2YXIgdWdhPXtUcjpmdW5jdGlvbihhPV8uJEwsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX1NIQVJFRF9BTklNQVRFRF9USFVNQk5BSUxfRU5BQkxFRCI6cmV0dXJuey4uLmEsRW86Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0lOTElORV9QUkVWSUVXX0VOQUJMRUQiOnJldHVybnsuLi5hLGxxOmIucGF5bG9hZH07Y2FzZSAiU0VUX1NIQVJFRF9DVVJSRU5UX1BBR0VfVFlQRSI6cmV0dXJuey4uLmEsdnA6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0NVUlJFTlRfUEFHRV9TVUJfVFlQRSI6cmV0dXJuey4uLmEsdXA6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX1BFUlNJU1RFTlRfUEFORUxfVklTSUJMRSI6cmV0dXJuey4uLmEsd3I6Yi5wYXlsb2FkfTtjYXNlICJTRVRfU0hBUkVEX0lTX1NFQVJDSEJPWF9ISURERU4iOnJldHVybnsuLi5hLENxOmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19LGExMXk6Zk0oe0pwOmZ1bmN0aW9uKGE9d2dhLkpwLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9FUEhFTUVSQUxfQUNUSU9OIjpyZXR1cm4gYi5wYXlsb2FkOwpkZWZhdWx0OnJldHVybiBhfX19KSxlbnRpdGllczpmdW5jdGlvbihhPXt9LGIpe3JldHVybiBlZ2EoYSxiKX19O3ZhciByTT17WGw6ITEsZm06ITEsam06ITEscGxheWVyU3RhdGU6LTEsaXNGdWxsc2NyZWVuOiExLG1qOiExLFpsOiExLGdtOiExLFRqOjIseGo6MH07dmFyIHhnYT1mTSh7WGw6ZnVuY3Rpb24oYT1yTS5YbCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfREVTS1RPUF9TTUFMTF9XSURUSCI6cmV0dXJuIGIucGF5bG9hZC5YbDtkZWZhdWx0OnJldHVybiBhfX0sZm06ZnVuY3Rpb24oYT1yTS5mbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU0hPUlRTX0FDVElWRSI6cmV0dXJuIGIucGF5bG9hZC5mbTtkZWZhdWx0OnJldHVybiBhfX0sam06ZnVuY3Rpb24oYT1yTS5qbSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfV0FUQ0hfV0hJTEVfTU9ERSI6cmV0dXJuIGIucGF5bG9hZC5qbTtkZWZhdWx0OnJldHVybiBhfX0scGxheWVyU3RhdGU6ZnVuY3Rpb24oYT1yTS5wbGF5ZXJTdGF0ZSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfUExBWUVSX1NUQVRFIjpyZXR1cm4gYi5wYXlsb2FkLnBsYXllclN0YXRlO2RlZmF1bHQ6cmV0dXJuIGF9fSxpc0Z1bGxzY3JlZW46ZnVuY3Rpb24oYT1yTS5pc0Z1bGxzY3JlZW4sCmIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19GVUxMU0NSRUVOIjpyZXR1cm4gYi5wYXlsb2FkLmlzRnVsbHNjcmVlbjtkZWZhdWx0OnJldHVybiBhfX0sbWo6ZnVuY3Rpb24oYT1yTS5taixiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfU01BTExfU0NSRUVOX1NRVUVFWkVCQUNLIjpyZXR1cm4gYi5wYXlsb2FkLm1qO2RlZmF1bHQ6cmV0dXJuIGF9fSxnbTpmdW5jdGlvbihhPXJNLmdtLGIpe3N3aXRjaChiLnR5cGUpe2Nhc2UgIlNFVF9JU19TSE9SVFNfUElQX0FDVElWRSI6cmV0dXJuIGIucGF5bG9hZC5nbTtkZWZhdWx0OnJldHVybiBhfX0sWmw6ZnVuY3Rpb24oYT1yTS5abCxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfSVNfUExBWUJBQ0tfU1RBUlRFRCI6cmV0dXJuIGIucGF5bG9hZC5abDtkZWZhdWx0OnJldHVybiBhfX0sVGo6ZnVuY3Rpb24oYT1yTS5UaixiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfU0hPUlRTX0xBWU9VVCI6cmV0dXJuIGIucGF5bG9hZC5UajsKZGVmYXVsdDpyZXR1cm4gYX19LHhqOmZ1bmN0aW9uKGE9ck0ueGosYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiU0VUX01FVEFQQU5FTF9TVFlMRSI6cmV0dXJuIGIucGF5bG9hZC54ajtkZWZhdWx0OnJldHVybiBhfX19KTt2YXIgZmdhPXtqajohMX07dmFyIGhnYT17aXNBbGxvd2VkOiExfTt2YXIgamdhPXtlcnJvck1lc3NhZ2U6IiIsdGl0bGU6IiIscHJpdmFjeToiIixpc0Rpc2FibGVkOiEwfTt2YXIgbGdhPXtqajohMX07dmFyIG5nYT17aXNGdWxsc2NyZWVuOiExLHFzOnZvaWQgMCxuYXZpZ2F0aW9uQnV0dG9uczp7fSxzZWNvbmRhcnlIZWFkZXI6e319O3ZhciB5Z2E9e3Jlc3BvbnNlOnZvaWQgMH07dmFyIHJnYT0oYT15Z2EsYik9Pntzd2l0Y2goYi50eXBlKXtjYXNlICJMT0NBVElPTl9DT0xMRUNUSU9OX1JFU1BPTlNFX0NIQU5HRSI6cmV0dXJuey4uLmEscmVzcG9uc2U6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07dmFyIHpnYT17bmV4dENvbW1hbmQ6dm9pZCAwLFR5OiExLGJ3OnZvaWQgMCxQeDohMX07dmFyIHNnYT0oYT16Z2EsYik9Pntzd2l0Y2goYi50eXBlKXtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0RJU0FCTEVEX0NIQU5HRSI6cmV0dXJuey4uLmEsVHk6Yi5wYXlsb2FkfTtjYXNlICJSRVBPUlRfQ0hBTk5FTF9ORVhUX0NPTU1BTkRfQ0hBTkdFIjpyZXR1cm57Li4uYSxuZXh0Q29tbWFuZDpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9DSEFOTkVMX01PREFMX0ZPT1RFUl9SRU5ERVJFUl9TVUJNSVNTSU9OX0RBVEFfQ0hBTkdFIjpyZXR1cm57Li4uYSxidzpiLnBheWxvYWR9O2Nhc2UgIlJFUE9SVF9DSEFOTkVMX05FWFRfSU1QRVJTT05BVElPTl9WQUxJRElUWV9DSEFOR0UiOnJldHVybnsuLi5hLFB4OmIucGF5bG9hZH07ZGVmYXVsdDpyZXR1cm4gYX19O3ZhciBBZ2E9e1V6OnZvaWQgMCxUejp2b2lkIDB9O3ZhciB0Z2E9KGE9QWdhLGIpPT57c3dpdGNoKGIudHlwZSl7Y2FzZSAiUkVQT1JUX0ZPUk1fTU9EQUxfUkVOREVSRVJfREFUQV9DSEFOR0UiOnJldHVybnsuLi5hLFV6OmIucGF5bG9hZH07Y2FzZSAiUkVQT1JUX0RFVEFJTFNfRk9STV9SRU5ERVJFUl9EQVRBX0NIQU5HRSI6cmV0dXJuey4uLmEsVHo6Yi5wYXlsb2FkfTtkZWZhdWx0OnJldHVybiBhfX07dmFyIEJnYT17fTt2YXIgc009e3NoOiExLHdoOl8ueCgid2ViX3BsYXlsaXN0X3BhbmVsX2RlZmF1bHRfY29sbGFwc2VkIiksdmc6W10sWmk6ITF9O3ZhciBDZ2E9Zk0oe3NoOmZ1bmN0aW9uKGE9c00uc2gsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0lTX0xJVkVfQ0hBVF9DT0xMQVBTRUQiOnJldHVybiBiLnBheWxvYWQ/Yi5wYXlsb2FkLnNoOmE7ZGVmYXVsdDpyZXR1cm4gYX19LHdoOmZ1bmN0aW9uKGE9c00ud2gsYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0lTX1BMQVlMSVNUX1BBTkVMX0NPTExBUFNFRCI6cmV0dXJuIGIucGF5bG9hZC53aDtkZWZhdWx0OnJldHVybiBhfX0sdmc6ZnVuY3Rpb24oYT1zTS52ZyxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJNQUlOX0FQUF9BRERfT1BFTl9FTkdBR0VNRU5UX1BBTkVMIjpyZXR1cm5bLi4uYSxiLnBheWxvYWQueHpdO2Nhc2UgIk1BSU5fQVBQX1JFTU9WRV9PUEVOX0VOR0FHRU1FTlRfUEFORUwiOnJldHVybiBhLmxlbmd0aD09PTA/YTphLmZpbHRlcihjPT5jIT09Yi5wYXlsb2FkLm9LKTtkZWZhdWx0OnJldHVybiBhfX0sWmk6ZnVuY3Rpb24oYT0Kc00uWmksYil7c3dpdGNoKGIudHlwZSl7Y2FzZSAiTUFJTl9BUFBfU0VUX0hBU19QTEFZTElTVCI6cmV0dXJuIGIucGF5bG9hZC5aaTtkZWZhdWx0OnJldHVybiBhfX19KTt2YXIgdmdhPXt4TDpmdW5jdGlvbihhPUJnYSxiKXtzd2l0Y2goYi50eXBlKXtjYXNlICJTRVRfVFJBTlNDUklQVElPTl9TVEFURSI6cmV0dXJuey4uLmEsakw6Yi5wYXlsb2FkfTtjYXNlICJTRVRfT1ZFUkxBWV9TVEFURSI6cmV0dXJuey4uLmEsb3ZlcmxheTpiLnBheWxvYWR9O2Nhc2UgIlJFU0VUX1ZPSUNFX1NFQVJDSF9TVEFURSI6cmV0dXJue307ZGVmYXVsdDpyZXR1cm4gYX19LHNob3J0czp4Z2EsQWQ6Q2dhfTt2YXIgbU09dm9pZCAwO21NPW5ldyBuTTtfLnRNPV8uTChhPT57dmFyIHthbmltYXRlZEljb25UeXBlOmIsYWN0aXZlOmMsSGM6ZCxhbmltYXRpb25SZWY6ZSxIQTpmLHNpemU6aH09Xy5EQyhhLHtIYzp2b2lkIDAsYW5pbWF0aW9uUmVmOnt9LHNpemU6MjR9KSxbayxsXT1fLkoodm9pZCAwLHZvaWQgMCwiVHZnbUNlIiksbT0oKT0+cE0oYigpLGQ/LigpKT8uRWMuYW5pbWF0aW9uQ29uZmlnLm5hbWU/PyIiLG49KCk9PntpZihwTShiKCksZD8uKCkpKXt2YXIge3BhdGg6QX09cE0oYigpLGQ/LigpKS5FYy5hbmltYXRpb25Db25maWc7cmV0dXJuIHFNLmdldChBKXx8aygpfX0sW3Ascl09Xy5KKCExLHZvaWQgMCwiamYyRHliIiksdD1xZ2Eociksdj0oKT0+cE0oYigpLGQ/LigpKT8uRWMuYW5pbWF0aW9uQ29uZmlnPy5yZW5kZXJlclNldHRpbmdzPy5jbGFzc05hbWU/PyIiLHo9dm9pZCAwLEU9dm9pZCAwO18ubkUoKCk9Pnt2YXIgQT1wTShiKCksZD8uKCkpLEY9bSgpLEM9bigpLEc9cCgpLEQ9YygpO2lmKEEmJihFIT09RiYmKEU9CkYsej1ELEY9ZSgpLHQuYW5pbWF0aW9uQ29uZmlnPUEuRWMuYW5pbWF0aW9uQ29uZmlnLHQuYW5pbWF0aW9uUmVmPUYsQyYmKHQuYW5pbWF0aW9uQ29uZmlnLmFuaW1hdGlvbkRhdGE9Qyx0LmFuaW1hdGlvbkNvbmZpZy5wYXRoPXZvaWQgMCksRj1BLkVjLmFuaW1hdGlvbkNvbmZpZy5wYXRoLCFxTS5nZXQoRikmJkEuemgmJkYmJnBnYShGLGwpKSwhKEd8fEEuemgmJiFDKSkpe2lmKEM9IWUoKS5sb3R0aWVFbClEPyhHPUEudG90YWxGcmFtZXMsdC5hbmltYXRpb25Db25maWcuaW5pdGlhbFNlZ21lbnQ9W0ctMSxHXSk6dC5hbmltYXRpb25Db25maWcuaW5pdGlhbFNlZ21lbnQ9dm9pZCAwO3o9PT1EfHxDfHwoQz1lKCksRD9DLmxvdHRpZUVsPy5wbGF5U2VnbWVudHMoWzAsQS50b3RhbEZyYW1lc10sITApOkMubG90dGllRWw/LnBsYXlTZWdtZW50cyhbMCwxXSwhMCkpO3o9RH19LCJYQjFHU2IiKTtyZXR1cm4gXy5LKCJhbmltYXRlZC1pY29uIix7Y2xhc3M6Inl0QW5pbWF0ZWRJY29uSG9zdCIsCiJkYXRhLXNpemUiOigpPT5oKCl9LF8uSyhfLk8se0E6KCk9PiEoIXBNKGIoKSxkPy4oKSk/LkVjLmFuaW1hdGlvbkNvbmZpZy5wYXRofHxwTShiKCksZD8uKCkpPy56aCYmIW4oKXx8cCgpKSx0aGVuOigpPT5fLksoXy5jTSx7ZGF0YTp0LGFuaW1hdGlvbk5hbWU6bSxjbGFzc05hbWU6dixhbmltYXRpb25SZWY6ZX0pLFc6Zn0pKX0sIk1hIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udU09ZnVuY3Rpb24oYSl7cmV0dXJuIF8uc0UoKCk9Pih7dmFsdWU6YX0pKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5TSx6TSxEZ2EsQU0sQk0sQ00sRE0sRU0sR00sRmdhLElNLEdnYSxMTSxIZ2EsTU0sUk0sU00sVE0sYk4sS2dhLGNOLGVOLExnYSxPZ2EsTmdhLE1nYSxoTixQZ2EsUmdhLGlOLGpOLGtOLFNnYSxUZ2EsbE4sVWdhLG1OLG5OLHBOLFZnYSxXZ2EsWGdhLHFOLGFoYSwkZ2Esck4sWmdhLFlnYSxkaGEsY2hhLHNOLGJoYSxmaGEsdk4sWCxBTixDTixnaGEsaWhhLGhoYSxqaGEsTU4sbGhhLG1oYSxRTixuaGEsb2hhLFROLHFoYSxhTyxyaGEsc2hhLHRoYSx1aGEsdmhhLHdoYSx4aGEsRWdhLEZNLEhNLGJPLHloYSxPTSxRTSxJZ2EsSmdhLHpoYSxBaGE7Xy52TT1mdW5jdGlvbihhKXt2YXIgYj1fLiR0KGEpO3JldHVybntbU3ltYm9sLmRpc3Bvc2VdKCl7Xy4kdChiKX19fTtfLnhNPWZ1bmN0aW9uKCl7aWYoXy5YeigpKXt2YXIgYT1fLkdoKGAke18uVmooKX06Onl0LW1hdy1wbGF5ZXJgKTtpZihhKXJldHVybiBuZXcgXy53TShhKX19Owp5TT1mdW5jdGlvbihhLGIpe2Zvcig7YS5sZW5ndGg+YjspYS5wb3AoKX07ek09ZnVuY3Rpb24oYSl7YT1BcnJheShhKTt5TShhLDApO3JldHVybiBhfTtEZ2E9ZnVuY3Rpb24oYSxiLGMsZCl7KGRbYl18fGRbXy5SQS5kZWZhdWx0XSkoYSxiLGMpfTtBTT1mdW5jdGlvbihhLGIsYyl7Yj1uZXcgRWdhKGIsYyk7cmV0dXJuIGEuX19pbmNyZW1lbnRhbERPTURhdGE9Yn07CkJNPWZ1bmN0aW9uKGEsYil7aWYoYS5fX2luY3JlbWVudGFsRE9NRGF0YSlyZXR1cm4gYS5fX2luY3JlbWVudGFsRE9NRGF0YTt2YXIgYz1hLm5vZGVUeXBlPT09MT9hLmxvY2FsTmFtZTphLm5vZGVOYW1lLGQ9YS5ub2RlVHlwZT09PTE/YS5nZXRBdHRyaWJ1dGUoImtleSIpOm51bGw7Yj1BTShhLGMsYS5ub2RlVHlwZT09PTE/ZHx8YjpudWxsKTtpZihhLm5vZGVUeXBlPT09MSYmKGM9YS5hdHRyaWJ1dGVzLGQ9Yy5sZW5ndGgpKXthPWIuanx8KGIuaj16TShkKjIpKTtmb3IobGV0IGU9MCxmPTA7ZTxkO2UrPTEsZis9Mil7bGV0IGg9Y1tlXSxrPWgudmFsdWU7YVtmXT1oLm5hbWU7YVtmKzFdPWt9fXJldHVybiBifTtDTT1mdW5jdGlvbigpe18uWUE9Xy5WQSgpfTsKRE09ZnVuY3Rpb24oYSxiKXtDTSgpO3ZhciBjO2E6e2lmKGM9Xy5ZQSl7ZG97aWYoYz09PW51bGwpYnJlYWs7dmFyIGQ9YyxlPWEsZj1iO2xldCBoPUJNKGQsZik7aWYoKDAsXy5iQikoZCxlLGgubyxmLGgua2V5KSlicmVhayBhfXdoaWxlKGImJihjPWMubmV4dFNpYmxpbmcpKX1jPW51bGx9Y3x8KGE9PT0iI3RleHQiPyhhPV8uWkEuY3JlYXRlVGV4dE5vZGUoIiIpLEFNKGEsIiN0ZXh0IixudWxsKSk6KGM9Xy5aQSxkPV8uVUEsdHlwZW9mIGE9PT0iZnVuY3Rpb24iP2M9bmV3IGE6Yz0oZD1hPT09InN2ZyI/Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjphPT09Im1hdGgiPyJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpkPT1udWxsfHxCTShkKS5vPT09ImZvcmVpZ25PYmplY3QiP251bGw6ZC5uYW1lc3BhY2VVUkkpP2MuY3JlYXRlRWxlbWVudE5TKGQsYSk6Yy5jcmVhdGVFbGVtZW50KGEpLEFNKGMsYSxiKSxhPWMpLF8uV0EuY3JlYXRlZC5wdXNoKGEpLGM9CmEpO2E9YztpZihhIT09Xy5ZQSl7aWYoXy4kQS5pbmRleE9mKGEpPj0wKWZvcihiPV8uVUEsYz1hLm5leHRTaWJsaW5nLGQ9Xy5ZQTtkIT09bnVsbCYmZCE9PWE7KWU9ZC5uZXh0U2libGluZyxiLmluc2VydEJlZm9yZShkLGMpLGQ9ZTtlbHNlIF8uVUEuaW5zZXJ0QmVmb3JlKGEsXy5ZQSk7Xy5ZQT1hfX07RU09ZnVuY3Rpb24oYSxiKXtETShhLGIpO18uVUE9Xy5ZQTtfLllBPW51bGw7cmV0dXJuIF8uVUF9O0dNPWZ1bmN0aW9uKGEsYixjLGQpe0ZNLnB1c2goRGdhKTtGTS5wdXNoKGEpO0ZNLnB1c2goYik7Rk0ucHVzaChjKTtGTS5wdXNoKGQpfTsKRmdhPWZ1bmN0aW9uKGE9Xy5IQyl7dmFyIGI9Xy5VQSxjPUJNKGIpLGQ9Xy5hQjtjPWMuanx8KGMuaj16TShkLmxlbmd0aCkpO2Zvcih2YXIgZT0hYy5sZW5ndGh8fCExLGY9MDtmPGQubGVuZ3RoO2YrPTIpe3ZhciBoPWRbZl07aWYoZSljW2ZdPWg7ZWxzZSBpZihjW2ZdIT09aClicmVhaztsZXQgbD1kW2YrMV07aWYoZXx8Y1tmKzFdIT09bCljW2YrMV09bCxHTShiLGgsbCxhKX1pZihmPGQubGVuZ3RofHxmPGMubGVuZ3RoKXtmb3IoZj1lPWY7ZjxjLmxlbmd0aDtmKz0yKV8uSkNbY1tmXV09Y1tmKzFdO2ZvcihmPWU7ZjxkLmxlbmd0aDtmKz0yKWU9ZFtmXSxoPWRbZisxXSxfLkpDW2VdIT09aCYmR00oYixlLGgsYSksY1tmXT1lLGNbZisxXT1oLGRlbGV0ZSBfLkpDW2VdO3lNKGMsZC5sZW5ndGgpO2Zvcih2YXIgayBpbiBfLkpDKUdNKGIsayx2b2lkIDAsYSksZGVsZXRlIF8uSkNba119YT1ITTtITT1iPUZNLmxlbmd0aDtmb3Ioaz1hO2s8YjtrKz01KSgwLEZNW2tdKShGTVtrKzFdLApGTVtrKzJdLEZNW2srM10sRk1bays0XSk7SE09YTt5TShGTSxhKTt5TShkLDApfTtJTT1mdW5jdGlvbihhLC4uLmIpe0RNKCIjdGV4dCIsbnVsbCk7Yj1fLllBO3ZhciBjPUJNKGIpO2lmKGMudGV4dCE9PWEpe2M9Yy50ZXh0PWE7Zm9yKGxldCBkPTE7ZDxhcmd1bWVudHMubGVuZ3RoO2QrPTEpYz0oMCxhcmd1bWVudHNbZF0pKGMpO2IuZGF0YSE9PWMmJihiLmRhdGE9Yyl9fTsKR2dhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPVtdO2EuX2Rpc3Bvc2VFZmZlY3RzPV8udXYoKCk9PntfLnR2KCgpPT57dmFyIGY9YygpO2lmKGY9PT1udWxsfHxmPT09dm9pZCAwKWY9IiI7aWYoXy5xQihmKXx8Zj09PW51bGwpZD8/KGQ9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpKSxkLnBhcmVudE5vZGUhPT1hJiYoZC5faXNTaWduYWxUZXh0Tm9kZT0hMCxhLmluc2VydEJlZm9yZShkLGIpKSxkLnRleHRDb250ZW50PVN0cmluZyhmKTtlbHNlIGlmKF8ub0IoZikpe2xldCBoPWUubGVuZ3RoPjA/ZVtlLmxlbmd0aC0xXS5uZXh0U2libGluZzpiO2ZvcihsZXQgayBvZiBlKWEucmVtb3ZlQ2hpbGQoayk7Zj1fLnBCKGYpO2U9QXJyYXkuZnJvbShmLmNoaWxkTm9kZXMpO2ZvcihsZXQgayBvZiBlKWEuaW5zZXJ0QmVmb3JlKGssaCl9ZWxzZSB0aHJvdyBFcnJvcigiQWJgIisoXy5NdT8ubmFtZT8/InVua25vd24iKSsiYCIrdHlwZW9mIGYpO30sIlZ2RGdDIil9LF8uS3Uucml8fCEhXy5adCl9OwpfLktNPWZ1bmN0aW9uKGEpe2lmKCFfLkpNKXJldHVybiExO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhfLkpNKSlpZihhLmhhc093blByb3BlcnR5KGIpKXJldHVybiEwO3JldHVybiExfTtMTT1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPXt9O18ud0YoYixfLlNELHtjb21tYW5kczphfSk7cmV0dXJuIGJ9fTtIZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9QXJyYXkuaXNBcnJheShhLml0ZW1zKT9hLml0ZW1zOkFycmF5LmZyb20oYS5pdGVtcyk7cmV0dXJuIF8uZkcoYixhLmNoaWxkcmVuKX07TU09ZnVuY3Rpb24oYSl7YT1fLm5KKGEpO2EubGVuZ3RoPjAmJmFbMF0uZm9jdXMoKX07Xy5OTT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGQpO3JldHVybiBjLmNhbGwoYSxlKX07YS5hZGRFdmVudExpc3RlbmVyKGIsZCx2b2lkIDApfTsKXy5QTT1mdW5jdGlvbihhKXtPTXx8KE9NPV8uQ2QoIkEiKSk7T00uaHJlZiE9PWEmJl8uTHkoT00sYSk7cmV0dXJuIE9NfTtSTT1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4iIjtpZihRTVthXSlyZXR1cm4gUU1bYV07dmFyIGI9Xy5QTShhKS5wYXRobmFtZTtRTVthXT1iLnN0YXJ0c1dpdGgoIi8iKT9iOiIvIitiO3JldHVybiBRTVthXX07ClNNPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09Ii8iPyJob21lIjphLnN0YXJ0c1dpdGgoIi9yZXN1bHRzIik/InNlYXJjaCI6YS5zdGFydHNXaXRoKCIvd2F0Y2giKT8id2F0Y2giOmEuc3RhcnRzV2l0aCgiL3Nob3J0cyIpPyJzaG9ydHMiOmEuc3RhcnRzV2l0aCgiL2hhc2h0YWciKT8iaGFzaHRhZyI6YS5zdGFydHNXaXRoKCIvY3JlYXRlX2NoYW5uZWwiKT8iY3JlYXRlX2NoYW5uZWwiOmEuc3RhcnRzV2l0aCgiL3Bvc3QvIik/InBvc3QiOmEuc3RhcnRzV2l0aCgiL0AiKXx8YS5zdGFydHNXaXRoKCIvdXNlci8iKXx8YS5zdGFydHNXaXRoKCIvY2hhbm5lbC8iKT8iY2hhbm5lbCI6YS5zdGFydHNXaXRoKCIvZXhwZXJpbWVudHMiKT8iZXhwZXJpbWVudHMiOmEuc3RhcnRzV2l0aCgiL3Nwb25zb3JfY2hhbm5lbCIpPyJzcG9uc29yc2hpcCI6YS5zdGFydHNXaXRoKCIvc2VsZWN0X3NpdGUiKT8ic2V0dGluZ3MiOmEuc3RhcnRzV2l0aCgiL2xvY2F0ZSIpPyJsb2NhdGUiOmEuc3RhcnRzV2l0aCgiL3JlZGVlbSIpPwoicmVkZWVtIjphLnN0YXJ0c1dpdGgoIi9tdXNpY3ByZW1pdW0iKXx8YS5zdGFydHNXaXRoKCIvcHJlbWl1bSIpfHxhLnN0YXJ0c1dpdGgoIi9yZWQiKT8icHJlbWl1bSI6YS5zdGFydHNXaXRoKCIvcGFpZF9tZW1iZXJzaGlwcyIpPyJwYWlkX21lbWJlcnNoaXBzIjphLnN0YXJ0c1dpdGgoIi9vb3BzIik/Im9vcHMiOmEuc3RhcnRzV2l0aCgiL2NsaXAiKT8iY2xpcCI6Xy5YRD8ucmVzcG9uc2U/LnBhZ2U9PT0iNDA0Ij8iNDA0IjphLnN0YXJ0c1dpdGgoIi9mZWVkL2hpc3RvcnkiKT8iaGlzdG9yeSI6YS5zdGFydHNXaXRoKCIvZmVlZC9saWJyYXJ5Iik/ImxpYnJhcnkiOmEuc3RhcnRzV2l0aCgiL2ZlZWQvc3Vic2NyaXB0aW9ucyIpPyJzdWJzY3JpcHRpb25zIjphLnN0YXJ0c1dpdGgoIi9mZWVkL3RyZW5kaW5nIik/InRyZW5kaW5nIjphLnN0YXJ0c1dpdGgoIi9mZWVkL25ld3NfZGVzdGluYXRpb24iKT8ibmV3cyI6YS5zdGFydHNXaXRoKCIvcGxheWxpc3QiKT8icGxheWxpc3QiOmEuc3RhcnRzV2l0aCgiL21pbm9yX21vbWVudCIpPwoibWlub3JfbW9tZW50IjphLnN0YXJ0c1dpdGgoIi9wbGF5YWJsZS8iKXx8YS5tYXRjaCgiXi9wbGF5YWJsZXMvKD8hc2F2ZWQpLiIpPyJtaW5pX2FwcCI6YS5zdGFydHNXaXRoKCIvcGxheWFibGVzIik/InBsYXlhYmxlcyI6YS5zdGFydHNXaXRoKCIvY3JlYXRlL2xpdmUvam9pbiIpPyJvcGVuX2luX2FwcCI6YS5zdGFydHNXaXRoKCIvZmVlZC9leHBsb3JlIik/ImV4cGxvcmUiOiJicm93c2UifTsKVE09ZnVuY3Rpb24oKXt2YXIgYT1fLlhEPy5yZXNwb25zZSxiPWE/LmVuZHBvaW50O2lmKCFiKXJldHVybiBhPy5wYWdlPT09IndhdGNoIj8id2F0Y2giOlNNKFJNKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSk7YT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy53ZWJQYWdlVHlwZTt2YXIgYz0hMTtpZihhJiYhSWdhLmluY2x1ZGVzKGEpKXN3aXRjaChhKXtjYXNlICJXRUJfUEFHRV9UWVBFX1NFQVJDSCI6cmV0dXJuInNlYXJjaCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9TSE9SVFMiOnJldHVybiJzaG9ydHMiO2Nhc2UgIldFQl9QQUdFX1RZUEVfQ0hBTk5FTCI6cmV0dXJuImNoYW5uZWwiO2Nhc2UgIldFQl9QQUdFX1RZUEVfU0VUVElOR1MiOnJldHVybiJzZXR0aW5ncyI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9QTEFZTElTVCI6cmV0dXJuInBsYXlsaXN0IjtjYXNlICJXRUJfUEFHRV9UWVBFX09QRU5fSU5fQVBQIjpyZXR1cm4ib3Blbl9pbl9hcHAiO2Nhc2UgIldFQl9QQUdFX1RZUEVfTUlOSV9BUFAiOnJldHVybiJtaW5pX2FwcCI7CmNhc2UgIldFQl9QQUdFX1RZUEVfV0FUQ0giOnJldHVybiBfLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy51cmwmJlJNKF8uQihiLmNvbW1hbmRNZXRhZGF0YSxfLnp3KS51cmwpLnN0YXJ0c1dpdGgoIi9jbGlwIik/ImNsaXAiOiJ3YXRjaCI7Y2FzZSAiV0VCX1BBR0VfVFlQRV9CUk9XU0UiOnJldHVybihiPV8uQihiLF8uY0UpPy5icm93c2VJZCk/SmdhW2JdfHwiYnJvd3NlIjoiYnJvd3NlIjtkZWZhdWx0OmM9ITB9aWYoXy5CKGIsXy5FZWEpfHxfLkIoYixfLkRlYSkpcmV0dXJuInNwb25zb3JzaGlwIjt2YXIgZD1STSh3aW5kb3cubG9jYXRpb24uaHJlZik7aWYoZC5zdGFydHNXaXRoKCIvZXhwZXJpbWVudHMiKSlyZXR1cm4iZXhwZXJpbWVudHMiO2lmKGQuc3RhcnRzV2l0aCgiL2NyZWF0ZV9jaGFubmVsIikpcmV0dXJuImNyZWF0ZV9jaGFubmVsIjtpZihfLkIoYixfLlZEKSYmZC5zdGFydHNXaXRoKCIvc2hvcnRzIikpcmV0dXJuInNob3J0cyI7aWYoXy5CKGIsXy5WRCkmJgpkLnN0YXJ0c1dpdGgoIi93YXRjaCIpKXJldHVybiJ3YXRjaCI7YyYmKGI9bmV3IF8uWGooIlVuc3VwcG9ydGVkIG1XZWIgcGFnZSB0eXBlIix7cGF0aG5hbWU6ZCx3ZWJQYWdlVHlwZTphfSksXy5HcChiKSk7cmV0dXJuImJyb3dzZSJ9O18uVU09ZnVuY3Rpb24oYSl7YT8uaHJlZj9hPShhPWEuaHJlZik/U00oUk0oYT9hOndpbmRvdy5sb2NhdGlvbi5ocmVmKSk6VE0oKTphPWE/LnBhZ2VUeXBlO3JldHVybiBhfHxUTSgpfTtfLlZNPWZ1bmN0aW9uKGEpe3JldHVybiBfLlVNKGEpPT09IndhdGNoIn07Xy5XTT1mdW5jdGlvbigpe3JldHVybiBfLlVNKCk9PT0ic2hvcnRzIn07Xy5YTT1mdW5jdGlvbihhLGIpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChhLHtkZXRhaWw6Yn0pKX07Cl8uWk09ZnVuY3Rpb24oKXtfLllNJiZfLkhwKG5ldyBfLlhqKGBVbmV4cGVjdGVkIGNhbGwgdG8gcmVxdWVzdEJhY2tOYXZpZ2F0aW9uLCBmcmFnbWVudDogJHt3aW5kb3cubG9jYXRpb24uaGFzaH1gKSk7Xy5GSj1uZXcgXy5CZihhPT57ZnVuY3Rpb24gYigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsYik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpO2EoKX13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixiKX0pO18uTk0od2luZG93LCJwb3BzdGF0ZSIsKCk9PntzZXRUaW1lb3V0KCgpPT57fSl9KTtoaXN0b3J5LmJhY2soKTtyZXR1cm4gXy5GSn07Cl8uJE09ZnVuY3Rpb24oYSxiPSExKXtpZihfLllNKXt2YXIgYz13aW5kb3cubG9jYXRpb247YT1fLmRiKGAjJHthfWApO2EhPT12b2lkIDAmJmMucmVwbGFjZShhKX1lbHNlIHdpbmRvdy5sb2NhdGlvbi5oYXNoPWE7Ynx8Xy54KCJtd2ViX2VuYWJsZV9rZXRvX2NvbnRlbnQiKXx8Xy5YTSgidXBkYXRldWkiKX07Xy5hTj1mdW5jdGlvbihhKXtpZihhJiZhLnNpbXBsZVRleHQpcmV0dXJuIGEuc2ltcGxlVGV4dDt2YXIgYj0iIjtpZihhJiZhLnJ1bnMpZm9yKGxldCBjPTA7YzxhLnJ1bnMubGVuZ3RoO2MrKylhLnJ1bnNbY10udGV4dCYmKGIrPWEucnVuc1tjXS50ZXh0KTtyZXR1cm4gYn07Yk49ZnVuY3Rpb24oYSl7cmV0dXJuIF8ua0Eoe3R5cGU6IlNFVF9JU19CT1RUT01fU0hFRVRfT1BFTl9TVEFURSIscGF5bG9hZDphfSl9OwpLZ2E9ZnVuY3Rpb24oYSl7aWYoYSYmYS5mb2N1cylpZihhIT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudClhLmZvY3VzKCk7ZWxzZSByZXR1cm4gY04oYXN5bmMoKT0+e2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpO3JldHVybiBjTigoKT0+e2EuZm9jdXMoKX0pfSl9O18uZE49ZnVuY3Rpb24oYSl7dmFyIGI9NTtzZXRUaW1lb3V0KGFzeW5jKCk9Pntmb3IodmFyIGM9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWN8fGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1kb2N1bWVudC5ib2R5KSYmYj49MCYmYTspe2F3YWl0IEtnYShhKTtpZihkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09YSlicmVhazthPWEucGFyZW50RWxlbWVudDstLWJ9fSwxNSl9O2NOPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YihhKCkpfSl9KX07CmVOPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhLmNoaWxkcmVuPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jaGlsZHJlbigpLG51bGw7Zm9yKGxldCBiIG9mIGEuY2hpbGRyZW4pYigpO3JldHVybiBudWxsfTtfLmZOPWZ1bmN0aW9uKGEsYil7Xy5SdSgoKT0+TGdhKGEsYikpfTtMZ2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz1udWxsO18uZ3YrKzt0cnl7Yz0oMCxfLklDKShhLCgpPT57Xy5nTihiKX0pLF8uSUEoITEpfWNhdGNoKGQpe3Rocm93IF8uSUEoITApLGQ7fXJldHVybiBjPT09bnVsbD9hOmN9OwpfLmdOPWZ1bmN0aW9uKGEpe2lmKGEhPT12b2lkIDAmJmEhPT1udWxsKWlmKGEgaW5zdGFuY2VvZiBfLmRDKWZvcih2YXIgYj1fLlVBO18uVkEoKSE9bnVsbCYmXy5uQyBpbiBfLlZBKCkmJmIuY29udGFpbnMoXy5WQSgpKTspQ00oKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkoYSkpZm9yKHZhciBjIG9mIGEpXy5nTihjKTtlbHNlIGlmKGEgaW5zdGFuY2VvZiBfLlNhKUlNKGEudG9TdHJpbmcoKSk7ZWxzZSBpZihfLmlCKGEpKXtpZihfLlZBKCkhPT1hKXRocm93IEVycm9yKCJEYmAiK2EudGFnTmFtZSsiYCIrKF8uTXU/Lm5hbWU/PyJ1bmtub3duIikpO0NNKCl9ZWxzZSBpZihjPWEsYyE9bnVsbCYmYy5HaT09PV8ubUJ8fGMgaW5zdGFuY2VvZiBfLmZifHxfLkxBKCkoYykpe2I9Xy5wQihhKTtiPUFycmF5LmZyb20oYi5jaGlsZE5vZGVzKTtmb3IodmFyIGQgb2YgYilfLlVBLmFwcGVuZENoaWxkKGQpLENNKCl9ZWxzZSBpZihfLlhhKGEpJiYoYT1hLnRvU3RyaW5nKCkpLGQ9dHlwZW9mIGEsCmQ9PT0iYm9vbGVhbiJ8fGQ9PT0ibnVtYmVyInx8ZD09PSJzdHJpbmciKUlNKGEpO2Vsc2UgaWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKWI9Xy5VQSwoZD1fLlZBKCkpJiYoZC5faXNTaWduYWxUZXh0Tm9kZXx8ZC5faXNTYWZlT3JTYW5pdGl6ZWRIdG1sTm9kZSl8fEdnYShiLGQsYSksQ00oKTtlbHNlIGlmKGEudHlwZT09PUhnYSlfLmdOKGEudHlwZShPYmplY3QuYXNzaWduKHt9LGEucHJvcHMse2NoaWxkcmVuOmEuY2hpbGRyZW5bMF19KSkpO2Vsc2V7aWYodHlwZW9mIGEudHlwZT09PSJzdHJpbmciKXthOnthLmNkfHxFTShhLnR5cGUsYS5wcm9wcy5pZG9tS2V5KTtjPV8uVUE7Zm9yKGIgaW4gYS5wcm9wcylpZihhLnByb3BzW2JdIT09Xy5LYmEpe2Q9YS5wcm9wc1tiXTtsZXQgZT1fLmFCO2UucHVzaChiKTtlLnB1c2goZCl9RmdhKF8uS3UuYXR0cmlidXRlcyk7Xy5qQyhjLGEucHJvcHMsITApO2lmKChhLnByb3BzLnNraXB8fGEucHJvcHMuc2tpcGNoaWxkcmVuKSYmXy5VQS5oYXNDaGlsZE5vZGVzKCkpXy5ZQT0KXy5VQS5sYXN0Q2hpbGQ7ZWxzZXtpZihhLnR5cGU9PT0ic3R5bGUiJiZfLlJCKGEuY2hpbGRyZW4pPT09bnVsbCl7Xy5ZQT1fLlVBLmxhc3RDaGlsZDtiPXZvaWQgMDticmVhayBhfV8uZ04oYS5jaGlsZHJlbil9Xy5YQSgpO18uWUE9Xy5VQTtfLlVBPV8uVUEucGFyZW50Tm9kZTthLmNkJiYoYS5jZD0hMSk7Xy5BQihjLGEucHJvcHMpO2I9Y31yZXR1cm4gYn1pZihhLnR5cGU9PT1fLklCKV8uZ04oYS5jaGlsZHJlbik7ZWxzZSBpZighTWdhKGEpKXtiPWE7dHJ5e05nYShiKX1jYXRjaChlKXtfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShlLGIudHlwZT8uWmMpKX1iLmNkJiYoXy5YQSgpLF8uWUE9Xy5VQSxfLlVBPV8uVUEucGFyZW50Tm9kZSxiLmNkPSExKX19fTtPZ2E9ZnVuY3Rpb24oYSxiKXt2YXIgYzthLnByb3RvdHlwZT8ub2M9PT12b2lkIDA/Yz1uZXcgXy5tQyhiLGEpOmM9bmV3IGEoYik7Yy5qPWE7Yy53bz17bmV4dFN0YXRlOmMuc3RhdGUsTXg6ITF9O3JldHVybiBjfTsKTmdhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudHlwZSxjPWIuWmM7aWYoYj09PWVOKWEucHJvcHMuY2hpbGRyZW49YS5jaGlsZHJlbixiKGEucHJvcHMpO2Vsc2V7YS5jaGlsZHJlbi5sZW5ndGg+MCYmKGEucHJvcHMuY2hpbGRyZW49YS5jaGlsZHJlbik7dmFyIGQ7KGQ9YS5wcm9wcykuaWRvbUtleXx8KGQuaWRvbUtleT1iKTt2YXIgZT0hMTtpZihjKXt2YXIgZj1FTShjLGEucHJvcHMuaWRvbUtleSk7YS5jZD0hMDt2YXIgaD1mLl9faW5zdGFuY2V9aHx8KGU9ITAsaD1PZ2EoYixhLnByb3BzKSxoLnByb3BzPW51bGwsZiYmKGYuX19pbnN0YW5jZT1oLGguZWw9ZikpOyh7bmV4dFN0YXRlOmN9PWgud28/P3tuZXh0U3RhdGU6aC5zdGF0ZSxNeDohMX0pO2gud289dm9pZCAwO2IubHcmJihjPWIubHcoYS5wcm9wcyxjKSk7dmFyIGs9aC5wcm9wcyxsPWguc3RhdGU7aC5wcm9wcz1hLnByb3BzO2guc3RhdGU9YztjPSgpPT57dmFyIG09aDtfLmJ3LlNvKG0pO3ZhciBuPW0ub2MobS5wcm9wcyk7Cm4/KG0ucHJvcHMuaWRvbUtleSYmKG4ucHJvcHMuaWRvbUtleT1tLnByb3BzLmlkb21LZXkpLG09bik6bT12b2lkIDA7aWYobj1tKW4uY2Q9YS5jZCxtPV8uZ04obiksYS5jZD1uLmNkLGIuWmN8fChtPyhiLlpjPW0udGFnTmFtZS50b0xvd2VyQ2FzZSgpLG0uX19pbnN0YW5jZT1oLGguZWw9bSk6aC5aZj8ubGVuZ3RoJiZfLkt1LmhhbmRsZUVycm9yPy4oLi4uXy5KQShFcnJvcigiQ2QiKSkpKTtlPyhoLkppKCksXy5idy5KaShoKSk6KGguS2koayxsKSxfLmJ3LktpKGgsayxhLnByb3BzKSk7aC5HZigpO18uYncuR2YoaCl9OyhkPWgubyk/Xy5HQShkLGMsaC5wcm9wcy5kZWJ1Z0luc3RhbmNlKTpjKCl9fTsKTWdhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudHlwZTtpZihiLnByb3RvdHlwZT8ub2MhPT12b2lkIDB8fGI9PT1lTnx8Yi5jb21wb25lbnRUeXBlPT09Xy5LdilyZXR1cm4hMTthLnByb3BzLmNoaWxkcmVuPWEuY2hpbGRyZW4ubGVuZ3RoPjE/YS5jaGlsZHJlbjphLmNoaWxkcmVuWzBdO3ZhciBjPWEucHJvcHMuaWRvbUtleT8/YS50eXBlO2lmKF8uVkEoKSYmXy5WQSgpW18uV0JdPy5rZXk9PT1jKXtiPV8uVkEoKTtjPWJbXy5XQl07aWYoIWMpdGhyb3cgRXJyb3IoIkNiYCIrYi50YWdOYW1lKTtjLnFCPy4oYS5wcm9wcyk7UGdhKGMpO3JldHVybiEwfWlmKFFnYS5oYXMoYi5uYW1lKSl0aHJvdyBFcnJvcigiQmJgIitiLm5hbWUrImAiKyhfLk11Py5uYW1lPz8idW5rbm93biIpKTthLnByb3BzLmpuPSEwOyhiPV8uR0EoYS50eXBlLCgpPT5fLmdDKGEudHlwZSxhLnByb3BzKSxhLnByb3BzLmRlYnVnSW5zdGFuY2UpKSYmUmdhKGIpO3JldHVybiEwfTsKaE49ZnVuY3Rpb24oYSl7Zm9yKGxldCBiPTA7YjxfLmJDKGEpLmxlbmd0aDtiKyspQ00oKX07UGdhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVkEoKVtfLldCXT8ueW47aWYoYiloTihiKTtlbHNlIGZvcihsZXQgYz0wO2M8YS5VcTtjKyspKGI9Xy5WQSgpW18uV0JdPy55bik/aE4oYik6Q00oKX07UmdhPWZ1bmN0aW9uKGEpe2E9Xy5HQihhKTthPUFycmF5LmlzQXJyYXkoYSk/YTpbYV07Zm9yKGxldCBiIG9mIGEpXy5VQS5pbnNlcnRCZWZvcmUoYixfLlZBKCkpLENNKCl9O2lOPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9PnthJiZfLmRFKGEpO2ImJmIoYyl9fTtqTj1mdW5jdGlvbihhKXt2YXIgYj0yMTtpZighYSlyZXR1cm4gYjtiKz1hLmhlYWRlclRpdGxlPzI3OjA7Yis9YS5oZWFkZXJUaXRsZSYmYS5paD80OjA7cmV0dXJuIGIrPWEuaGVhZGVyVGl0bGUmJmEuaGVhZGVyU3VidGl0bGU/MTY6MH07CmtOPWZ1bmN0aW9uKGEpe3ZhciBiPTA7aWYoIWEpcmV0dXJuIGI7Yis9YS5VZnx8YS5WZj80ODowO2IrPWEuUGZ8fGEuTWY/MzA6MDtyZXR1cm4gYis9YS5VZnx8YS5WZnx8IWEuUGYmJiFhLk1mPzA6MTJ9OwpTZ2E9ZnVuY3Rpb24oYSx7a2V5OmIscGF5bG9hZDpjfSl7aWYoYj09PSJEcmFnIFN0YXJ0IilyZXR1cm57Li4uYSxDYzohMSxWZTpjLmNsaWVudFl9O2lmKGI9PT0iRHJhZyBNb3ZlIil7Yj1NYXRoLm1pbihjLlRwLGMuaHFbYy5IaV0rKGMuZnE/P2pOKGMuaGVhZGVyKSktKGMuTnA/P2tOKGMuZm9vdGVyKSkpO2xldCBkPU1hdGgubWF4KGMubXA/LTEqKGEuVmUtMjQpOjAsYy5jbGllbnRZLWEuVmUpO3JldHVybnsuLi5hLE9iOmQsRmM6TWF0aC5taW4oYixNYXRoLm1heCgwLChhLlBjP2I6Yy5xcCktZCkpfX1yZXR1cm4gYj09PSJTbmFwIFRvIEZ1bGwgU2NyZWVuIj97Li4uYSxDYzohMSxPYjowLFBjOiEwLEZjOmMubWF4SGVpZ2h0fTpiPT09IlNuYXAgVG8gTmV1dHJhbCBQb3NpdGlvbiI/ey4uLmEsQ2M6ITEsT2I6MCxQYzohMSxGYzpjLm1heEhlaWdodH06Yj09PSJDbG9zZSBTaGVldCI/ey4uLmEsQ2M6ITAsT2I6Yy5jbGllbnRIZWlnaHQsUGM6ITEsRmM6Yy5tYXhIZWlnaHR9OmF9OwpUZ2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IF8udGgsYz1hO3JldHVybntzdWJzY3JpYmUoZCl7Yi5zdWJzY3JpYmUoImNoYW5nZWQiLGQpfSxkaXNwYXRjaChkLGUpe2M9U2dhKGMse2tleTpkLHBheWxvYWQ6ZX0pO2IucHVibGlzaCgiY2hhbmdlZCIsYyl9fX07bE49ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PntiLnN0b3BQcm9wYWdhdGlvbigpO3JldHVybiBhPy4oYil9fTtVZ2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uRGVmYXVsdCI7Y2FzZSAxOnJldHVybiJ5dFNwZWNCb3R0b21TaGVldExheW91dFByaW1hcnlCdXR0b25UcmFpbGluZ1BhaXIiO2Nhc2UgMjpyZXR1cm4ieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uU3BsaXRQYWlyIjtjYXNlIDM6cmV0dXJuInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0UHJpbWFyeUJ1dHRvblByaW1hcnlTcGxpdFBhaXIifX07bU49ZnVuY3Rpb24oKXtfLnkoKS5yZXNvbHZlKF8uY0wpLkplKCl9OwpuTj1mdW5jdGlvbihhKXtyZXR1cm57aGVhZGVyVGl0bGU6YS5oZWFkZXJUaXRsZT8uKCksaGVhZGVyU3VidGl0bGU6YS5oZWFkZXJTdWJ0aXRsZT8uKCksV2Y6YS5XZixOZjphLk5mLE9mOmEuT2YsUmU6YS5SZT8uKCksTWY6YS5NZj8uKCksUGY6YS5QZj8uKCksSGE6YS5IYT8uKCkscGY6YS5wZj8uKCksR2s6YS5Haz8uKCksR2g6YS5HaCxmb2N1c09uQ2xvc2U6YS5mb2N1c09uQ2xvc2U/LigpLGlzRGlzYWJsZWQ6YS5pc0Rpc2FibGVkPy4oKSxkaXNhYmxlZENvbW1hbmQ6YS5kaXNhYmxlZENvbW1hbmQ/LigpLFVlOmEuVWUsR2I6YS5HYixTZTphLlNlLGpoOmEuamgoKSxYaTphLlhpKCksaGg6YS5oaCgpLFVmOmEuVWYoKSxWZjphLlZmKCksaWg6YS5paCgpfX07cE49ZnVuY3Rpb24oYSl7b058fChvTj1fLnhNKCkpO29OPy5zZXQoInJlY2VudC1jdXN0b20tc3BlZWQiLFN0cmluZyhhKjEwMCkpfTtWZ2E9ZnVuY3Rpb24oYSl7YT1hLnRhcmdldC52YWx1ZUFzTnVtYmVyO18uTUgoKT8uc2V0UGxheWJhY2tSYXRlKGEpfTsKV2dhPWZ1bmN0aW9uKGEpe3BOKGEudGFyZ2V0LnZhbHVlQXNOdW1iZXIpfTtYZ2E9ZnVuY3Rpb24oYSl7Xy5NSCgpPy5zZXRQbGF5YmFja1JhdGUoYSk7cE4oYSl9O3FOPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybnt9O3ZhciBiPWEuZm9yZWdyb3VuZFRpdGxlQ29sb3IsYz1hLmJhY2tncm91bmRDb2xvcjthPWEuYm9yZGVyQ29sb3I7dmFyIGQ9InRleHQiO2E/ZD0ib3V0bGluZSI6YyYmKGQ9ImZpbGxlZCIpO3JldHVybnt0eXBlOmQsY3VzdG9tQ29sb3JzOntjb2xvcjpiP18uTkQoYik6dm9pZCAwLGJhY2tncm91bmRDb2xvcjpjP18uTkQoYyk6dm9pZCAwLGJvcmRlckNvbG9yOmE/Xy5ORChhKTp2b2lkIDB9fX07CmFoYT1mdW5jdGlvbih7cmVuZGVyZXI6YSxJbTpiLHdBOmMsU2M6ZCxkdzplLFFmOmYsQmw6aCxpc1N1YnNjcmliZTprPSExLENKOmw9ITEsb0w6bT0hMX0pe3ZhciBuPVlnYShhKTtrJiYobi5zdHlsZT0ibW9ubyIsbi50eXBlPSJmaWxsZWQiKTtlPSFhLmljb258fCFlJiZhLnRleHQ/YS5pY29uP2EuaWNvblBvc2l0aW9uPT09IkJVVFRPTl9JQ09OX1BPU0lUSU9OX1RZUEVfUklHSFRfT0ZfVEVYVCI/InRyYWlsaW5nIjoibGVhZGluZyI6dm9pZCAwOmY/Imljb24tb25seSI6Imljb24tb25seS00MCI7ZT09PSJpY29uLW9ubHktNDAiJiYobi50eXBlPSJ0ZXh0Iik7bT17Li4uWmdhKGEsbSl9O2w9ISFhLmlzU2VsZWN0ZWR8fCFfLngoIndlYl9wcm9wYWdhdGVfaXNfcHJlc3NlZF9raWxsc3dpdGNoIikmJiEhbDtmPWEuaXNTZWxlY3RlZCE9PXZvaWQgMDtoPWg9PT12b2lkIDA/YS5pc0Rpc2FibGVkOmg7az1hLnRleHQ/Xy5BRihhLnRleHQpOnZvaWQgMDt2YXIgcD0ocD1hLmFjY2Vzc2liaWxpdHlEYXRhPy5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWx8fAphLmFjY2Vzc2liaWxpdHk/LmxhYmVsKT9wOl8uYU4oYS50ZXh0KTtiPSRnYShhLGIsYyk7Yz1yTihhKTtjPy5sZW5ndGg/KGM9Xy5iRSh7aW5uZXJ0dWJlQ29tbWFuZDpMTShjKSxxZDohMH0pLGM9Yz8uaHJlZj9jOnZvaWQgMCk6Yz12b2lkIDA7cmV0dXJuey4uLm4sLi4ubSxpY29uUG9zaXRpb246ZSwuLi5kLGZvY3VzZWQ6ITEsdG9nZ2xlZDpsLHRvZ2dsZWFibGU6ZixkaXNhYmxlZDpoLFdhOmssYWNjZXNzaWJpbGl0eUxhYmVsOnAsb25UYXA6Yix1YzpjLC4uLnFOKGEuY29sb3JEYXRhPy5iYXNpY0NvbG9yUGFsZXR0ZURhdGEpLG9uZU9mZkN1c3RvbVRleHRXcmFwOmEub25lT2ZmQ3VzdG9tVGV4dFdyYXB9fTskZ2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57dmFyIGU9ck4oYSk7YihlLGQpO2lmKCFjKWZvcihsZXQgZiBvZiBlKV8uZEsoZil9fTsKck49ZnVuY3Rpb24oYSl7dmFyIGI9W107YS5jb21tYW5kJiZiLnB1c2goYS5jb21tYW5kKTthLnNlcnZpY2VFbmRwb2ludCYmYi5wdXNoKGEuc2VydmljZUVuZHBvaW50KTthLm5hdmlnYXRpb25FbmRwb2ludCYmYi5wdXNoKGEubmF2aWdhdGlvbkVuZHBvaW50KTtyZXR1cm4gYn07WmdhPWZ1bmN0aW9uKGEsYil7aWYoYilzd2l0Y2goYS5zaXplKXtjYXNlICJTSVpFX1NNQUxMIjpyZXR1cm57c2l6ZToiUyJ9O2Nhc2UgIlNJWkVfTEFSR0UiOnJldHVybntzaXplOiJMIn07Y2FzZSAiU0laRV9YTEFSR0UiOnJldHVybntzaXplOiJYTCJ9O2Nhc2UgIlNJWkVfWFNNQUxMIjpyZXR1cm57c2l6ZToiWFMifTtkZWZhdWx0OnJldHVybntzaXplOiJNIn19c3dpdGNoKGEuc3R5bGUpe2Nhc2UgIlNUWUxFX0NPTVBBQ1RfR1JBWSI6cmV0dXJue3NpemU6IlMifTtkZWZhdWx0OnJldHVybntzaXplOiJNIn19fTsKWWdhPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnN0eWxlKXtjYXNlICJTVFlMRV9WSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiZGlzYWJsZWQifTtjYXNlICJTVFlMRV9QUklNQVJZIjpjYXNlICJTVFlMRV9QQVlNRU5UIjpjYXNlICJTVFlMRV9DQUxMX1RPX0FDVElPTl9GSUxMRUQiOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0NBTExfVE9fQUNUSU9OX1RPTkFMIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX09VVExJTkUiOmNhc2UgIlNUWUxFX1NVR0dFU1RJVkUiOmNhc2UgIlNUWUxFX1NVR0dFU1RFRF9BQ1RJT04iOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLHR5cGU6Im91dGxpbmUiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9CTFVFX1RFWFQiOmNhc2UgIlNUWUxFX0FMRVJUX0lORk8iOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24iLAp0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9XSElURV9XSVRIX0JPUkRFUiI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTElHSFRfVEVYVCI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfTU9OT19GSUxMRURfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9NT05PX1RPTkFMX09WRVJMQVkiOmNhc2UgIlNUWUxFX0RBUktfT05fQkxBQ0siOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVkVSTEFZX1BST1RFQ1RFRCI6cmV0dXJue3N0eWxlOiJvdmVybGF5LWRhcmsiLAp0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fRklMTEVEIjpjYXNlICJTVFlMRV9ERVNUUlVDVElWRSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9ERUZBVUxUIjpjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOmNhc2UgIlNUWUxFX01PTk9fVE9OQUwiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9JTkFDVElWRV9PVVRMSU5FIjpjYXNlICJTVFlMRV9NT05PX09VVExJTkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JMVUVfVEVYVF9XSVRIX0lOVkVSU0VfVEhFTUUiOnJldHVybntzdHlsZToiY2FsbC10by1hY3Rpb24taW52ZXJzZSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0JSQU5EX0dSQURJRU5UIjpyZXR1cm57c3R5bGU6ImJyYW5kLWdyYWRpZW50IiwKdHlwZToiZmlsbGVkIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfR0VORVJBVElWRV9HUkFESUVOVCI6cmV0dXJue3N0eWxlOiJnZW4tYWktZ3JhZGllbnQiLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2RlZmF1bHQ6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn19fTsKZGhhPWZ1bmN0aW9uKHtyZW5kZXJlcjphLGVsZW1lbnQ6Yix0b2dnbGVkOmMsSW06ZCxSdTplLFNjOmYsZHc6aCxRZjprLEJsOmwsbkw6bSxhYjpufSl7dmFyIHA9YmhhKGEsYyk7aD0hYS5kZWZhdWx0SWNvbnx8IWgmJmEuZGVmYXVsdFRleHQ/YS5kZWZhdWx0SWNvbj8ibGVhZGluZyI6dm9pZCAwOms/Imljb24tb25seSI6Imljb24tb25seS00MCI7aD09PSJpY29uLW9ubHktNDAiJiYocC50eXBlPSJ0ZXh0Iik7YTpzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJTVFlMRV9DT01QQUNUX0dSQVkiOms9e3NpemU6IlMifTticmVhayBhO2RlZmF1bHQ6az17c2l6ZToiTSJ9fWs9ey4uLmt9O3ZhciByPShyPWMmJmEudG9nZ2xlZFRleHR8fGEuZGVmYXVsdFRleHQpP18uQUYocik6dm9pZCAwO20/KG09Xy5hTihjJiZhLnRvZ2dsZWRUZXh0fHxhLmRlZmF1bHRUZXh0KSkmJm4mJiFpc05hTihOdW1iZXIobi5udW1iZXJWYWx1ZSkpPyhuLlhiPW0sYyYmKG4ubnVtYmVyVmFsdWUrPQoxKSk6bj12b2lkIDA6bj12b2lkIDA7bT0obT0oYz9hLnRvZ2dsZWRBY2Nlc3NpYmlsaXR5RGF0YXx8YS50b2dnbGVkVGV4dD8uYWNjZXNzaWJpbGl0eTphLmFjY2Vzc2liaWxpdHlEYXRhfHxhLmRlZmF1bHRUZXh0Py5hY2Nlc3NpYmlsaXR5KT8uYWNjZXNzaWJpbGl0eURhdGE/LmxhYmVsfHxhLmFjY2Vzc2liaWxpdHk/LmxhYmVsKT9tOl8uYU4oYyYmYS50b2dnbGVkVGV4dHx8YS5kZWZhdWx0VGV4dCk7bD1sPT09dm9pZCAwP2EuaXNEaXNhYmxlZDpsO2I9Y2hhKGEsYyxkLGIsZSk7ZD1zTihhLGMpO2Q/Lmxlbmd0aD8oZD1fLmJFKHtpbm5lcnR1YmVDb21tYW5kOkxNKGQpLHFkOiEwfSksZD1kPy5ocmVmP2Q6dm9pZCAwKTpkPXZvaWQgMDtyZXR1cm57Li4ucCwuLi5rLGljb25Qb3NpdGlvbjpoLC4uLmYsZm9jdXNlZDohMSx0b2dnbGVkOiEhYyx0b2dnbGVhYmxlOiEwLFdhOnIsYWI6bixhY2Nlc3NpYmlsaXR5TGFiZWw6bSxkaXNhYmxlZDpsLG9uVGFwOmIsdWM6ZCwuLi5xTihhLmNvbG9yRGF0YT8uYmFzaWNDb2xvclBhbGV0dGVEYXRhKX19OwpjaGE9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9KXtyZXR1cm4gZj0+e3ZhciBoPWEubG9nZ2luZ0RpcmVjdGl2ZXM/LmNsaWVudFZlU3BlYz8udWlUeXBlP18udXgoYS5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlKTp2b2lkIDA7ZS5jbGlja2VkVmlzdWFsRWxlbWVudHx8KGUuY2xpY2tlZFZpc3VhbEVsZW1lbnQ9aCk7aD1zTihhLGIpO2MoaCxmKTtmb3IobGV0IG4gb2YgaCl7aD1uO3ZhciBrPWQsbD1mLG09ZTttLmZvcm0/bS5mb3JtLmV2ZW50PWw6bS5mb3JtPXtlbGVtZW50OmssZXZlbnQ6bH07Xy5kSyhoLG0pfX19OwpzTj1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I/KGEudG9nZ2xlZENvbW1hbmQmJmMucHVzaChhLnRvZ2dsZWRDb21tYW5kKSxhLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQmJmMucHVzaChhLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQpKTooYS5kZWZhdWx0Q29tbWFuZCYmYy5wdXNoKGEuZGVmYXVsdENvbW1hbmQpLGEuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCYmYy5wdXNoKGEuZGVmYXVsdFNlcnZpY2VFbmRwb2ludCksYS5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50JiZjLnB1c2goYS5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50KSk7cmV0dXJuIGN9OwpiaGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnRvZ2dsZWRTdHlsZXx8YS5zdHlsZTtzd2l0Y2goKGI/YzphLnN0eWxlKT8uc3R5bGVUeXBlKXtjYXNlICJTVFlMRV9WSVNJQkxZX0RJU0FCTEVEIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiZGlzYWJsZWQifTtjYXNlICJTVFlMRV9QUklNQVJZIjpjYXNlICJTVFlMRV9QQVlNRU5UIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9TVUdHRVNUSVZFIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJvdXRsaW5lIixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfQkxVRV9URVhUIjpyZXR1cm57c3R5bGU6ImNhbGwtdG8tYWN0aW9uIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn07Y2FzZSAiU1RZTEVfREVTVFJVQ1RJVkUiOmNhc2UgIlNUWUxFX01PTk9fRklMTEVEIjpyZXR1cm57c3R5bGU6Im1vbm8iLAp0eXBlOiJmaWxsZWQiLHN0YXRlOiJhY3RpdmUifTtjYXNlICJTVFlMRV9PVkVSTEFZIjpyZXR1cm57c3R5bGU6Im92ZXJsYXkiLHR5cGU6ImZpbGxlZCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0xJR0hUX1RFWFQiOnJldHVybntzdHlsZToib3ZlcmxheSIsdHlwZToidGV4dCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX01PTk9fVE9OQUxfT1ZFUkxBWSI6cmV0dXJue3N0eWxlOiJvdmVybGF5Iix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0RFRkFVTFQiOmNhc2UgIlNUWUxFX0NPTVBBQ1RfR1JBWSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6ImFjdGl2ZSJ9O2Nhc2UgIlNUWUxFX0lOQUNUSVZFX09VVExJTkUiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToib3V0bGluZSIsc3RhdGU6ImFjdGl2ZSJ9O2RlZmF1bHQ6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIn19fTsKXy50Tj1mdW5jdGlvbihhKXtyZXR1cm4gXy5LKF8uZ0cse3BhOigpPT5bYS5jb21wb25lbnQoKV19LGI9PmI/LigpKX07ZmhhPWZ1bmN0aW9uKGEsYixjKXtpZihjPT09bnVsbHx8Yz09PXZvaWQgMClyZXR1cm4gYzt2YXIgZD1fLmdCKGEudGFnTmFtZS50b0xvd2VyQ2FzZSgpLGIsKCk9Pnt0aHJvdyBFcnJvcigibWMiKTt9KTtpZihkPT09bnVsbClyZXR1cm4gYztkPWVoYVtkXTtpZihkLmhlPy4oYykpe2lmKGQuS2QpcmV0dXJuIGQuS2QoYyk7dGhyb3cgRXJyb3IoIkRkIik7fXJldHVybiBkLnBkP2QucGQoYS50YWdOYW1lLGIsU3RyaW5nKGMpKTpjfTtfLnVOPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZvcmVncm91bmRUaXRsZUNvbG9yPT09IlRIRU1FX0FUVFJJQlVURV9URVhUX0RJU0FCTEVEInx8YS5mb3JlZ3JvdW5kSWNvbkNvbG9yPT09IlRIRU1FX0FUVFJJQlVURV9JQ09OX0RJU0FCTEVEIn07dk49ZnVuY3Rpb24oYSl7aWYoYSYmXy5LTShhKSlyZXR1cm4gYX07Clg9ZnVuY3Rpb24oYSxiKXsoYj1fLmFBKGEse30sYikpfHxfLldpKEVycm9yKCJFZGAiK2EpKTtyZXR1cm4gYn07Xy53Tj1mdW5jdGlvbihhKXtyZXR1cm57dXJsRW5kcG9pbnQ6e3VybDphfSxjb21tYW5kTWV0YWRhdGE6e3dlYkNvbW1hbmRNZXRhZGF0YTp7dXJsOmF9fX19O18ueE49ZnVuY3Rpb24oKXtyZXR1cm4gXy5vTSgpLmdldFN0YXRlKCkudGk/LmpqfTtfLnlOPWZ1bmN0aW9uKGEpe18ueSgpLnJlc29sdmUoXy5jTCkud2coe1FrOmF9KX07Xy56Tj1mdW5jdGlvbigpe18ueSgpLnJlc29sdmUoXy5jTCkuSmUoKX07Xy5CTj1mdW5jdGlvbihhLGIpe3ZhciBjPWE/LnBhcmVudEVsZW1lbnQ/LmNoaWxkcmVuO2lmKGMpZm9yKGxldCBkPTA7ZDxjLmxlbmd0aDtkKyspe2xldCBlPWNbZF07Y1tkXSE9PWEmJihiP2Uuc2V0QXR0cmlidXRlKCJpbmVydCIsInRydWUiKTplLnJlbW92ZUF0dHJpYnV0ZSgiaW5lcnQiKSxBTihlLGIpKX19OwpBTj1mdW5jdGlvbihhLGIpe2I/KGEuaGFzQXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpJiZhLnNldEF0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iLGEuZ2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIpKSxhLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIikpOihhLmhhc0F0dHJpYnV0ZSgiZGF0YS1vbGQtYXJpYS1oaWRkZW4iKSYmKGEuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsYS5nZXRBdHRyaWJ1dGUoImRhdGEtb2xkLWFyaWEtaGlkZGVuIikpLGEucmVtb3ZlQXR0cmlidXRlKCJkYXRhLW9sZC1hcmlhLWhpZGRlbiIpKSxhLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKSl9O0NOPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwbGF5ZXItY29udGFpbmVyLWlkIik7YiYmQU4oYixhKX07CmdoYT1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50O3JldHVybihhPWEuc2Nyb2xsaW5nRWxlbWVudD9hLnNjcm9sbGluZ0VsZW1lbnQ6Xy5jcnx8YS5jb21wYXRNb2RlIT0iQ1NTMUNvbXBhdCI/YS5ib2R5fHxhLmRvY3VtZW50RWxlbWVudDphLmRvY3VtZW50RWxlbWVudCkmJnR5cGVvZiBhLnNjcm9sbFRvcD09PSJudW1iZXIiP2Euc2Nyb2xsVG9wOnR5cGVvZiB3aW5kb3cucGFnZVlPZmZzZXQ9PT0ibnVtYmVyIj93aW5kb3cucGFnZVlPZmZzZXQ6MH07Cl8uSk49ZnVuY3Rpb24oYSxiPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsYz0hMSl7YSE9PV8uRE5bXy5ETi5sZW5ndGgtMV0mJl8uRE4ucHVzaChhKTtiIT09ZG9jdW1lbnQuYm9keT9FTi5zZXQoYSxiKTpFTi5oYXMoYSl8fEVOLnNldChhLG51bGwpO2M/Xy5PRSgoKT0+e2hoYShhLGEucXVlcnlTZWxlY3RvcigiZGlhbG9nIikpfSk6Xy5PRSgoKT0+e2E/LnF1ZXJ5U2VsZWN0b3IoImRpYWxvZyIpPy5mb2N1cygpfSk7Xy5ETi5sZW5ndGg+MXx8KEZOPWdoYSgpLF8uQk4oYSwhMCksR04mJkhOJiZjYW5jZWxBbmltYXRpb25GcmFtZShHTiksSU49cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Xy54TigpfHwoZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoIm1vZGFsLW9wZW4tYm9keSIsIiIpLGRvY3VtZW50LmJvZHkuc3R5bGUudG9wPWAtJHtGTn1weGAsd2luZG93LnNjcm9sbFRvKDAsLUZOKSxJTj1udWxsKX0pKX07CmloYT1mdW5jdGlvbihhKXtyZXR1cm4gQXJyYXkuZnJvbShhLnF1ZXJ5U2VsZWN0b3JBbGwoJ2EsaW5wdXQ6bm90KFtkaXNhYmxlZF0pLHNlbGVjdDpub3QoW2Rpc2FibGVkXSksYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpub3QoLm1vZGFsLWhpZGRlbi1idXR0b24pLFt0YWJpbmRleD0iMCJdJykpLmZpbHRlcihiPT57aWYoYi50ZXh0Q29udGVudClyZXR1cm4hMDtpZihiIGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCl7aWYoIWIubGFiZWxzKXJldHVybiExO2ZvcihsZXQgYyBvZiBiLmxhYmVscylpZihjLnRleHRDb250ZW50KXJldHVybiEwfXJldHVybiExfSl9OwpoaGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1paGEoYSksZD1jWzBdO2lmKCFkJiZiKWIuZm9jdXMoKTtlbHNle3ZhciBlPWNbYy5sZW5ndGgtMV07aWYoZCl7ZC5mb2N1cygpO2xldCBmPWg9PntoLmtleUNvZGU9PT0yNyYmKGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsZiksXy5LTihhKSk7aC5rZXlDb2RlIT09MzgmJmgua2V5Q29kZSE9PTQwJiZoLmtleUNvZGUhPT05fHxqaGEoZCxlKX07YS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixmKX19fTtqaGE9ZnVuY3Rpb24oYSxiKXtpZighTE4pe0xOPSEwO3ZhciBjPU1OKCk7YS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLGEpO2MuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsKCk9PntiLmZvY3VzKCl9KTtjPU1OKCk7Yi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLGIubmV4dFNpYmxpbmcpO2MuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNpbiIsKCk9PnthLmZvY3VzKCl9KX19OwpNTj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTthLmNsYXNzTmFtZT0ibW9kYWwtaGlkZGVuLWJ1dHRvbiI7YS5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiLTEiKTthLnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCJ0cnVlIik7cmV0dXJuIGF9OwpfLktOPWZ1bmN0aW9uKGEpe3ZhciBiPUVOLmdldChhKTtFTi5kZWxldGUoYSk7aWYoa2hhKXtpZihfLkJOKGEsITEpLF8uV00oKSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigieXRtLWVuZ2FnZW1lbnQtcGFuZWwiKSYmQ04oITApLF8ueGIoXy5ETixhKSxfLkROLmxlbmd0aCE9PTApe2ImJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e18uZE4oYil9KTtyZXR1cm59fWVsc2V7Xy54YihfLkROLGEpO2lmKF8uRE4ubGVuZ3RoIT09MCl7YiYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Xy5kTihiKX0pO3JldHVybn1fLkJOKGEsITEpO18uV00oKSYmZG9jdW1lbnQucXVlcnlTZWxlY3RvcigieXRtLWVuZ2FnZW1lbnQtcGFuZWwiKSYmQ04oITApfUlOJiZITiYmY2FuY2VsQW5pbWF0aW9uRnJhbWUoSU4pO0dOPXJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2RvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJtb2RhbC1vcGVuLWJvZHkiKTtkb2N1bWVudC5ib2R5LnN0eWxlLnRvcD0KIiI7YiYmXy5kTihiKTtfLmZyP18uT0UoKCk9Pnt3aW5kb3cuc2Nyb2xsVG8oMCxGTil9KTp3aW5kb3cuc2Nyb2xsVG8oMCxGTik7R049bnVsbH0pfTtsaGE9ZnVuY3Rpb24oYSxiLGM9Xy5OTil7aWYoYSl7dmFyIGQ9Xy55KCkucmVzb2x2ZShfLkx4KTtkP18uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmQsTmI6YyxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6YS5sYXllcn0pOl8uSXAobmV3IF8uWGooIldhcm5pbmc6IG1vbml0b3JWaXNpYmlsaXR5IGNhbGxlZCB3aXRoIG51bGwgb2JzZXJ2ZXIiLGEudGFnTmFtZSxiPy5sb2dnaW5nRGlyZWN0aXZlcyxiPy50cmFja2luZ1BhcmFtcykpfWVsc2UgXy5JcChuZXcgXy5YaigiV2FybmluZzogbW9uaXRvclZpc2liaWxpdHkgY2FsbGVkIHdpdGggbnVsbCBlbGVtZW50IixiPy5sb2dnaW5nRGlyZWN0aXZlcyxiPy50cmFja2luZ1BhcmFtcyxiPy5yZW5kZXJlckNvbnRleHQpKX07Cm1oYT1mdW5jdGlvbihhLGIpe2EmJl8uT0UoKCk9PntsaGEoYSxiLF8uTk4pfSl9O1FOPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09IlNIT1JUU19MSUtFIiYmXy54KCJlbmFibGVfc2hvcnRzX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKT8ic2hvcnRzX3RodW1ic191cCI6Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJmEmJk9OW2FdP09OW2FdOmEmJlBOW2FdP1BOW2FdOmF9O25oYT1mdW5jdGlvbigpe2lmKFJOKXt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oU04pKTtSTj0hMTthPy52KCl9fTtvaGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWJbYi5sZW5ndGgtMV0hPT0iJCI7Yz1maGEoYSxiLGMpO2Q/YVtiXT1jOihkPWM9PW51bGw/bnVsbDpTdHJpbmcoYyksXy5RQShhLGIuc2xpY2UoMCwtMSksZCkpfTsKVE49ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9YS5jb21wb25lbnQ7YiYmKGI/LmV2ZW50cz8ucHVibGlzaCgiRElTQ09OTkVDVEVEIiksYj8uZEs/LigpKTthLkxIPy5IZj8uKCk7Zm9yKGI9MDtiPGEuY2hpbGROb2Rlcy5sZW5ndGg7YisrKVROKGEuY2hpbGROb2Rlc1tiXSl9fTtfLlVOPWZ1bmN0aW9uKCl7cmV0dXJuIF8uRkoudGhlbigoKT0+e3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNtZW51IiYmKF8uWU0/Xy4kTSgiIik6Xy5aTSgpKTtyZXR1cm4gXy5GSn0pfTsKcWhhPWZ1bmN0aW9uKGEpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZihhLmlzRGlzYWJsZWQmJmEuZGlzYWJsZWRDb21tYW5kKV8uQUooYS5kaXNhYmxlZENvbW1hbmQsYSwhMSk7ZWxzZXtWTj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibWVudSIpO1ZOfHwoVk49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksVk4uaWQ9Im1lbnUiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoVk4pKTt3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjbWVudSImJl8uJE0oIm1lbnUiKTtWTi5jbGFzc05hbWU9YS5pc0Z1bGxXaWR0aD8ibWVudS1jb250YWluZXIgbWVudS1mdWxsLXdpZHRoIjoibWVudS1jb250YWluZXIiO2EuY2xhc3NOYW1lJiYoVk4uY2xhc3NOYW1lKz0iICIrYS5jbGFzc05hbWUpOyJzY3JvbGxUbyJpbiBWTiYmVk4uc2Nyb2xsVG8oMCwwKTt2YXIgYz1hLkZBfHxfLm1HKCk7Xy5WeihiLF8udk0oYS5vd25lciYmIWEub3duZXIuaWE/CmEub3duZXI6bnVsbCkpO18ueCgibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIik/KHBoYShhKSxXTnx8KFdOPV8ueEYoVk4sKCk9Pl8uSyhfLklCLG51bGwsXy5LKFhOLHtEaDooKT0+WU4oKX0sXy5LKF8udE4se2NvbXBvbmVudDooKT0+e3ZhciBkPVlOKCk7aWYoZClyZXR1cm4oKT0+Xy5wRyhjfHx7fSwoKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+ZC5jb250ZW50fSkpfX0pKSxfLksoXy5aTix7bGFiZWw6Xy4kTi5DTE9TRSxvbmNsaWNrOl8uVU59KSkse0lrOl8uWEN9KSkpOihfLmZOKFZOLG51bGwpLF8uZk4oVk4sXy5LKF8uSUIsbnVsbCxfLksoWE4se0RoOmF9LGEuY29udGVudCgpKSxfLksoXy5aTix7bGFiZWw6Xy4kTi5DTE9TRSxvbmNsaWNrOl8uVU59KSkpKTthLnJuPT09dm9pZCAwJiYoYS5ybj0hMCk7Xy5KTihWTixhLmZvY3VzT25DbG9zZSxhLnJuKX19Y2F0Y2goZCl7Yi5lcnJvcj1kLGIuaGFzRXJyb3I9ITB9ZmluYWxseXtfLld6KGIpfX07CmFPPWZ1bmN0aW9uKCl7Vk4mJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNtZW51IiYmKF8uS04oVk4pLF8ueCgibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIik/KFdOPy4oKSxXTj12b2lkIDApOlROKFZOKSxWTi5pc0Nvbm5lY3RlZCYmZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChWTiksVk49bnVsbCl9O3JoYT0vJi9nO3NoYT0vPC9nO3RoYT0vPi9nO3VoYT0vIi9nO3ZoYT0vJy9nO3doYT0vXHgwMC9nO3hoYT0vW1x4MDAmPD4iJ10vO18ud009Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPW5ldyBfLnpoKGEpfXNldChhLGIsYyl7Yz1jIT09dm9pZCAwP0RhdGUubm93KCkrYzp2b2lkIDA7dGhpcy5qLnNldChhLGIsYyl9Z2V0KGEpe3JldHVybiB0aGlzLmouZ2V0KGEpfXJlbW92ZShhKXt0aGlzLmoucmVtb3ZlKGEpfX07RWdhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPW51bGw7dGhpcy5vPWE7dGhpcy5rZXk9Yjt0aGlzLnRleHQ9dm9pZCAwfX07Rk09W107CkhNPTA7Yk89eyIqIjp7YXN5bmM6MSxkaXI6MCxsb2FkaW5nOjIsdGFyZ2V0OjN9fTt5aGE9W3thdXRvOiEwLGx0cjohMCxydGw6ITB9LHthc3luYzohMH0se2VhZ2VyOiEwLGxhenk6ITB9LHtfc2VsZjohMCxfYmxhbms6ITB9XTtPTT1udWxsO1FNPXt9O0lnYT0iV0VCX1BBR0VfVFlQRV9BQ0NPVU5UUyBXRUJfUEFHRV9UWVBFX1dFTENPTUUgV0VCX1BBR0VfVFlQRV9BQ0NPVU5UX1NFTEVDVE9SIFdFQl9QQUdFX1RZUEVfU0lHTl9JTl9JREVOVElGSUVSX0VOVFJZIFdFQl9QQUdFX1RZUEVfU0lHTl9JTl9QQVNTV09SRF9FTlRSWSBXRUJfUEFHRV9UWVBFX1NJR05fSU5fREVWSUNFX1BST01QVF9DSEFMTEVOR0UgV0VCX1BBR0VfVFlQRV9QUkVNSVVNX0xJVEVfVVBTRUxMIFdFQl9QQUdFX1RZUEVfVU5LTk9XTiIuc3BsaXQoIiAiKTsKSmdhPXtGRXdoYXRfdG9fd2F0Y2g6ImhvbWUiLEZFaGFzaHRhZzoiaGFzaHRhZyIsRkV0cmVuZGluZzoidHJlbmRpbmciLEZFaGlzdG9yeToiaGlzdG9yeSIsU1B1bmxpbWl0ZWQ6InByZW1pdW0iLEZFbWVtYmVyc2hpcHNfYW5kX3B1cmNoYXNlczoicGFpZF9tZW1iZXJzaGlwcyIsU1ByZWRlZW1fY29kZToicmVkZWVtIixTUHZlcmlmeV9sb2NhdGlvbjoibG9jYXRlIixTUG1pbm9yX21vbWVudDoibWlub3JfbW9tZW50IixGRW1pbmlfYXBwX2NvbnRhaW5lcjoibWluaV9hcHAiLEZFbmV3c19kZXN0aW5hdGlvbjoibmV3cyIsU1BvcGVuX2luX2FwcDoib3Blbl9pbl9hcHAiLEZFZXhwbG9yZToiZXhwbG9yZSIsRkVzdWJzY3JpcHRpb25zOiJzdWJzY3JpcHRpb25zIixGRXNmdl9hdWRpb19waXZvdDoic2Z2X2F1ZGlvX3Bpdm90IixGRXBsYXlsaXN0X2FnZ3JlZ2F0aW9uOiJwbGF5bGlzdF9hZ2dyZWdhdGlvbiJ9O18uWU09ITE7emhhPXthRDoieW91dHViZV9maWxsIixSRjoieW91dHViZV9vdXRsaW5lIn07CkFoYT17akY6IkxJS0UiLEVGOiJOT1RJRklDQVRJT05fQkVMTCJ9O18uS0I9Xy5sQzt2YXIgUWdhPW5ldyBTZXQoWyJGb3IiLCJJZiIsIk1hdGNoIiwiV2F0Y2giXSksY089e1tfLlJBLmRlZmF1bHRdOigpPT5fLnpCLHN0eWxlOigpPT5fLnpCfTtmb3IobGV0IGEgaW4gY08pXy5LdS5hdHRyaWJ1dGVzW2FdPWNPW2FdKF8uS3UuYXR0cmlidXRlc1thXSk7Xy5CaGE9bmV3IF8uSSgic2lnbkluRW5kcG9pbnQiKTtfLmRPPW5ldyBfLkkoImxpa2VFbmRwb2ludCIpO3ZhciBDaGE9bmV3IF8uSSgiaG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbCIpO3ZhciBEaGE9bmV3IF8uVnMoIlZJREVPX05PVElDRVNfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBFaGE9Xy5MKGE9PntmdW5jdGlvbiBiKGspe3ZhciBsPWgoKS1hLnN0ZXBTaXplKCk7ZC52YWx1ZS52YWx1ZUFzTnVtYmVyPWw7ZC52YWx1ZS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaW5wdXQiKSk7ZC52YWx1ZS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2hhbmdlIikpO2suc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhrKXt2YXIgbD1oKCkrYS5zdGVwU2l6ZSgpO2QudmFsdWUudmFsdWVBc051bWJlcj1sO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImlucHV0IikpO2QudmFsdWUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoImNoYW5nZSIpKTtrLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPV8udUUoImlucHV0IiksW2UsZl09Xy5BQygoKT0+YS52YWx1ZSgpPz8wKSxoPWU7Xy5uRSgoKT0+e3ZhciBrPWQudmFsdWU7ay52YWx1ZUFzTnVtYmVyPWgoKTt2YXIgbD1oKCksbT1hLm1pblZhbHVlKCksbj1hLlJsKCk7ay5zdHlsZS5zZXRQcm9wZXJ0eSgiLS15dC1zbGlkZXItc2hhcGUtZ3JhZGllbnQtcGVyY2VudCIsCmAkeyhsLW0pL24qMTAwfSVgKX0sImpUNUNDZiIpO3JldHVybiBfLksoInNsaWRlci1zaGFwZSIse2NsYXNzOl8uUCgieXRTbGlkZXJTaGFwZUhvc3QiLHt5dFNsaWRlclNoYXBlVmVydGljYWw6KCk9PmEuaXNWZXJ0aWNhbCgpfSl9LF8uSyhfLk8se0E6YS5Vaix0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbiIsImFyaWEtbGFiZWwiOmEuamwsZGlzYWJsZWQ6KCk9PmgoKT09PWEubWluVmFsdWUoKSwib246Y2xpY2siOmJ9LF8uSyhfLlVDLHttb2RlbDp7Y2lyY3VsYXI6ITB9fSksXy5LKCJkaXYiLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlciJ9LF8uSyhfLk1ELHtpY29uOiJCQVJfSE9SSVpPTlRBTCIsY2xhc3NOYW1lOiJ5dFNsaWRlclNoYXBlSG9zdEluY3JlbWVudEJ1dHRvbkljb24ifSkpKX0pLF8uSygiaW5wdXQiLHtjbGFzczooKT0+YS5pc1ZlcnRpY2FsKCk/Inl0U2xpZGVyU2hhcGVWZXJ0aWNhbFNsaWRlciI6CiJ5dFNsaWRlclNoYXBlSG9zdFNsaWRlciIsdHlwZToicmFuZ2UiLGlkOiJzbGlkZXIiLGVsOmQsbWluOmEubWluVmFsdWUsbWF4OmEubWF4VmFsdWUsImFyaWEtbGFiZWwiOmEuYXJpYUxhYmVsLCJhcmlhLXZhbHVlbWluIjphLm1pblZhbHVlLCJhcmlhLXZhbHVlbWF4IjphLm1heFZhbHVlLCJhcmlhLXZhbHVlbm93IjpoLCJhcmlhLXZhbHVldGV4dCI6KCk9PlN0cmluZyhoKCkpLHZhbHVlOmgsc3RlcDphLnN0ZXBTaXplLCJvbjppbnB1dCI6ZnVuY3Rpb24oayl7YS5SYz8uKGspO2YoTnVtYmVyKGQudmFsdWU/LnZhbHVlPz8wKSk7ay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmNoYW5nZSI6ZnVuY3Rpb24oayl7YS5vbkNoYW5nZT8uKGspO2suc3RvcFByb3BhZ2F0aW9uKCl9fSksXy5LKF8uTyx7QTphLlVqLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0U2xpZGVyU2hhcGVIb3N0SW5jcmVtZW50QnV0dG9uIiwiYXJpYS1sYWJlbCI6YS5QbCxkaXNhYmxlZDooKT0+aCgpPT09CmEubWF4VmFsdWUoKSwib246Y2xpY2siOmN9LF8uSyhfLlVDLHttb2RlbDp7Y2lyY3VsYXI6ITB9fSksXy5LKCJkaXYiLHtjbGFzczoieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uV3JhcHBlciJ9LF8uSyhfLk1ELHtpY29uOiJBREQiLGNsYXNzTmFtZToieXRTbGlkZXJTaGFwZUhvc3RJbmNyZW1lbnRCdXR0b25JY29uIn0pKSl9KSl9LCJPYSIpO3ZhciBGaGE9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBjO2lmKChjPWEuZGF0YSgpKSYmYy5tYXhWYWx1ZSYmYy5taW5WYWx1ZSYmYy5zdGVwQ291bnQpe3ZhciBkPWMudmFsdWVEZW5vbWluYXRvcj8/MSxlPShjLm1heFZhbHVlLWMubWluVmFsdWUpL2Q7Yz17dmFsdWU6KGMuaW5pdGlhbFZhbHVlPz9jLm1pblZhbHVlKS9kLGFyaWFMYWJlbDpfLkIoYy5yZW5kZXJlckNvbnRleHQsXy5ZQyk/LmxhYmVsPz8iIixtaW5WYWx1ZTpjLm1pblZhbHVlL2QsbWF4VmFsdWU6Yy5tYXhWYWx1ZS9kLFJsOmUsc3RlcFNpemU6ZS9jLnN0ZXBDb3VudCxvbkNoYW5nZTppTihjLm9uU2xpZGVyVmFsdWVTZXRDb21tYW5kLGEuWXkpLFJjOmlOKGMub25TbGlkZXJUb3VjaENvbW1hbmQsYS5meiksUGw6Xy5CKGMuaW5jcmVhc2VCdXR0b24sXy5LSik/LmFjY2Vzc2liaWxpdHlUZXh0Pz8iIixqbDpfLkIoYy5kZWNyZWFzZUJ1dHRvbixfLktKKT8uYWNjZXNzaWJpbGl0eVRleHQ/PyIiLGlzVmVydGljYWw6ITEsClVqOiEhXy5CKGMuaW5jcmVhc2VCdXR0b24sXy5LSikmJiEhXy5CKGMuZGVjcmVhc2VCdXR0b24sXy5LSil9fWVsc2UgYz17fTtyZXR1cm4gY307cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0SG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbEhvc3QifSxfLksoRWhhLHt2YWx1ZTooKT0+YigpLnZhbHVlLGFyaWFMYWJlbDooKT0+YigpLmFyaWFMYWJlbCxtaW5WYWx1ZTooKT0+YigpLm1pblZhbHVlLG1heFZhbHVlOigpPT5iKCkubWF4VmFsdWUsc3RlcFNpemU6KCk9PmIoKS5zdGVwU2l6ZSxSbDooKT0+YigpLlJsLFBsOigpPT5iKCkuUGwsamw6KCk9PmIoKS5qbCxpc1ZlcnRpY2FsOigpPT5iKCkuaXNWZXJ0aWNhbCxvbkNoYW5nZTpjPT57YigpLm9uQ2hhbmdlKGMpfSxSYzpjPT57YigpLlJjKGMpfSxVajooKT0+YigpLlVqfSkpfSwiUGEiKTt2YXIgZU89Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxUaXRsZVdyYXBwZXIifSxfLksoXy5PLHtBOigpPT5hKCkudGl0bGUsdGhlbjpiPT5fLksoImgyIix7Y2xhc3M6Xy5QKCJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXIiLHt5dFBhbmVsSGVhZGVyVmlld01vZGVsVGl0bGVIZWFkZXJOb25JbnRlcmFjdGl2ZTohXy54KCJ3ZWJfcGFuZWxfaGVhZGVyX3RpdGxlX25vbl9pbnRlcmFjdGl2ZV9raWxsc3dpdGNoIil9KX0sXy5LKF8uVix7dGV4dDpiLGNsYXNzTmFtZToieXRQYW5lbEhlYWRlclZpZXdNb2RlbFRpdGxlIn0pKX0pLF8uSyhfLk8se0E6KCk9PmEoKS5zdWJ0aXRsZSx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6YixjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxTdWJ0aXRsZSJ9KX0pKSwiUWEiKSxmTz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8uVEgoKCk9PmEoKS5yZW5kZXJlckNvbnRleHQpO3JldHVybiBfLksoInl0LXBhbmVsLWhlYWRlci12aWV3LW1vZGVsIiwKe2NsYXNzOl8uUCgieXRQYW5lbEhlYWRlclZpZXdNb2RlbEhvc3QiLHt5dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdEhpZGVEaXZpZGVyOigpPT4hIWEoKS5zaG91bGRIaWRlRGl2aWRlcix5dFBhbmVsSGVhZGVyVmlld01vZGVsSG9zdENvbXBhY3Q6KCk9PiEhYSgpLnN1YnRpdGxlfSksImFyaWEtbGFiZWwiOigpPT5iKCk/LmxhYmVsfSxfLksoXy5PLHtBOigpPT5fLnRIKGEoKS5yZW5kZXJlckNvbnRleHQpLHRoZW46KCk9Pl8uSyhfLk1KLHtjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b25PckFuY2hvciIsY29tbWFuZDooKT0+Xy5zSChhKCkucmVuZGVyZXJDb250ZXh0KSxadjoieXRQYW5lbEhlYWRlclZpZXdNb2RlbEJ1dHRvbk9yQW5jaG9yRm9jdXNlZCJ9LF8uSyhlTyx7ZGF0YTphfSkpLFc6KCk9Pl8uSyhlTyx7ZGF0YTphfSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dFBhbmVsSGVhZGVyVmlld01vZGVsVHJhaWxpbmdCdXR0b25zIn0sXy5LKF8uVyx7ZGF0YTooKT0+CmEoKS50cmFpbGluZ0J1dHRvbnN9LHtidXR0b25WaWV3TW9kZWw6KHtkYXRhOmN9KT0+Xy5LKF8uSEQse2RhdGE6YyxjbGFzc05hbWU6Inl0UGFuZWxIZWFkZXJWaWV3TW9kZWxCdXR0b24ifSl9KSkpfSwiUmEiKTtmTy5pZG9tQ29tcGF0PSEwO3ZhciBnTz1fLkwoYT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SG9zdCIsInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Q29udGFpbmVyIiwieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRNb2Rlcm4iKSxzdHlsZTooKT0+YS5DYygpP2B0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHthLk9iKCl9cHgpO3RyYW5zaXRpb246IDAuMnNgOiIifSxhLmhlYWRlcj8uKCksXy5LKCJkaXYiLHtpZDphLkhpLGNsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dENvbnRlbnRXcmFwcGVyIixzdHlsZTpfLklFKHsibWF4LWhlaWdodCI6KDAsXy5aSykoYS5GYyl9KSwib246c2Nyb2xsIjpsTihhLmpyKSwib246dG91Y2htb3ZlIjpsTigpfSxfLksoImRpdiIse2VsOl8uckYoYS5ucCksY2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0Qm90dG9tU2hlZXRDb250ZW50Iiwib246Y2xpY2siOmZ1bmN0aW9uKGIpe2EucGY/LigpP2Iuc3RvcFByb3BhZ2F0aW9uKCk6YS5ZcShiKX19LAphLmJvZHk/LigpKSksYS5mb290ZXI/LigpKSwiU2EiKTtnTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2pyOiEwLG5wOiEwLFlxOiEwfX07dmFyIGhPPV8uTChhPT57dmFyIHtsZWFkaW5nTGFiZWw6Yix0cmFpbGluZ0xhYmVsOmMsUmU6ZCxwcmltYXJ5QnV0dG9uOmUsSXc6ZixzZWNvbmRhcnlCdXR0b246aCxLdzprLE9wOmwsQ3c6bX09Xy5EQyhhLHtsZWFkaW5nTGFiZWw6dm9pZCAwLHRyYWlsaW5nTGFiZWw6dm9pZCAwLFJlOnZvaWQgMH0pLG49KCk9PmIoKXx8YygpfHxmKCl8fGsoKTtyZXR1cm4gXy5LKF8uTyx7QTptLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsbD8uKCkpLFc6KCk9Pl8uSyhfLk8se0E6bix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlcldyYXBwZXIifSxfLksoXy5PLHtBOigpPT5iKCl8fGMoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRGb290ZXJMYWJlbFdyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckxhYmVsV3JhcHBlcldpdGhvdXRCdXR0b25zOigpPT4hZigpfSl9LF8uSyhfLk8sCntBOmIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRMZWFkaW5nTGFiZWwifSxiKX0pLF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFRyYWlsaW5nTGFiZWwifSxjKX0pKX0pLF8uSyhfLk8se0E6KCk9PmYoKXx8aygpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXIiLHt5dFNwZWNCb3R0b21TaGVldExheW91dEZvb3RlckJ1dHRvbldyYXBwZXJMYW5kc2NhcGVCdXR0b25XcmFwcGVyOl8uQmNhfSl9LF8uSyhfLk8se0E6KCk9PmsoKSYmZCgpIT09MCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRTZWNvbmRhcnlCdXR0b24iLHt5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblRyYWlsaW5nUGFpcjooKT0+ZCgpPT09MSYmaygpLAp5dFNwZWNCb3R0b21TaGVldExheW91dFNlY29uZGFyeUJ1dHRvblNwbGl0UGFpcjooKT0+ZCgpPT09MiYmaygpLHl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U2Vjb25kYXJ5QnV0dG9uUHJpbWFyeVNwbGl0UGFpcjooKT0+ZCgpPT09MyYmZigpfSl9LGg/LigpKX0pLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRQcmltYXJ5QnV0dG9uIiwoKT0+VWdhKGQoKSkpfSxlPy4oKSl9KSl9KSl9KX0pfSwiVGEiKTtoTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e3ByaW1hcnlCdXR0b246ITAsc2Vjb25kYXJ5QnV0dG9uOiEwLE9wOiEwfX07dmFyIGlPPV8uTChhPT57dmFyIHt0aXRsZTpiLHN1YnRpdGxlOmMsZ3E6ZCxEdzplLHhvOmYseHc6aCx3czprLHZzOmwsdXM6bSxRcTpuLE93OnAsaXNEcmFnZ2luZzpyfT1fLkRDKGEse3RpdGxlOnZvaWQgMCxzdWJ0aXRsZTp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoInl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlciIse3l0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcklzRHJhZ2dpbmc6cn0pLGlkOnAsIm9uOnRvdWNoc3RhcnQiOmxOKGspLCJvbjp0b3VjaG1vdmUiOmxOKGwpLCJvbjp0b3VjaGVuZCI6bE4obSksIm9uOm1vdXNlZG93biI6bE4obil9LF8uSygiZGl2Iix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0RHJhZ0xpbmUifSksXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsZD8uKCkpLFc6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKHt5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcjohMCwKeXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXaXRoVGl0bGU6Yn0pfSxfLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dFRpdGxlV3JhcHBlciJ9LF8uSyhfLk8se0E6Yix0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSygiaDIiLHtjbGFzczoieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRUaXRsZSJ9LGIpLF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoImgzIix7Y2xhc3M6Inl0U3BlY0JvdHRvbVNoZWV0TGF5b3V0U3VidGl0bGUifSxjKX0pKX0pKSxfLksoXy5PLHtBOigpPT5iKCkmJmgoKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dFNwZWNCb3R0b21TaGVldExheW91dEFjdGlvbkhlYWRlciJ9LGY/LigpKX0pKX0pKX0sIlVhIik7aU8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOnt3czohMCx2czohMCx1czohMCxRcTohMCx4bzohMCxncTohMCxpc0RyYWdnaW5nOiEwfX07dmFyIGpPPV8uTChhPT57ZnVuY3Rpb24gYihhYSl7aWYoIVkmJnR5cGVvZiBNdXRhdGlvbk9ic2VydmVyIT09InVuZGVmaW5lZCIpe3ZhciBPYT17Y2hpbGRMaXN0OiEwfTsiTXV0YXRpb25PYnNlcnZlciJpbiB3aW5kb3cmJihZPW5ldyBNdXRhdGlvbk9ic2VydmVyKGMuYmluZCh2b2lkIDAsYWEpKSxZLm9ic2VydmUoYWEsT2EpKX19ZnVuY3Rpb24gYyhhYSl7dHlwZW9mIFkhPT0idW5kZWZpbmVkIiYmKHBhWyJjb250ZW50LXdyYXBwZXIiXT09PXZvaWQgMCYmKHBhWyJjb250ZW50LXdyYXBwZXIiXT1hYS5jaGlsZHJlblswXS5jbGllbnRIZWlnaHQpLEcocGFbImNvbnRlbnQtd3JhcHBlciJdKSwhKEMoKT5SKCkpJiZDKCk+MCYmTShDKCkpKX1mdW5jdGlvbiBkKCl7RSh3aW5kb3cuaW5uZXJIZWlnaHQpOyEoQygpPlIoKSkmJkMoKT4wJiZNKEMoKSk7b2EuUGNbMF0oKSYmQygpPlIoKT9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLAp7bWF4SGVpZ2h0OlIoKX0pfWZ1bmN0aW9uIGUoYWEpe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSJub25lIjthYS5wcmV2ZW50RGVmYXVsdCgpO1UoKS5kaXNwYXRjaCgiRHJhZyBTdGFydCIse2NsaWVudFk6YWEudG91Y2hlc1swXS5jbGllbnRZfSl9ZnVuY3Rpb24gZihhYSl7YWEucHJldmVudERlZmF1bHQoKTtVKCkuZGlzcGF0Y2goIkRyYWcgTW92ZSIse2NsaWVudFk6YWEudG91Y2hlc1swXS5jbGllbnRZLG1wOkMoKT5SKCksVHA6UygpLHFwOlIoKSxocTpwYSxIaToiY29udGVudC13cmFwcGVyIixoZWFkZXI6bk4oYSksZm9vdGVyOm5OKGEpLGZxOnBhWyJib3R0b20tc2hlZXQtaGVhZGVyIl0sTnA6cGFbImJvdHRvbS1zaGVldC1mb290ZXIiXX0pfWZ1bmN0aW9uIGgoYWEpe2FhLmJ1dHRvbj09PTAmJihhYS5wcmV2ZW50RGVmYXVsdCgpLHRhKCEwKSxVKCkuZGlzcGF0Y2goIkRyYWcgU3RhcnQiLHtjbGllbnRZOmFhLmNsaWVudFl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwKVCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLGspKX1mdW5jdGlvbiBrKCl7dGEoITEpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLFQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKTttKCl9ZnVuY3Rpb24gbCgpe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSIiO20oKX1mdW5jdGlvbiBtKCl7b2EuUGNbMF0oKT9vYS5PYlswXSgpPj02MD9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gTmV1dHJhbCBQb3NpdGlvbiIse21heEhlaWdodDpSKCl9KTpVKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6b2EuT2JbMF0oKT49NjA/bigpOm9hLk9iWzBdKCk8PS02MCYmQygpPlIoKT9VKCkuZGlzcGF0Y2goIlNuYXAgVG8gRnVsbCBTY3JlZW4iLHttYXhIZWlnaHQ6UygpfSk6VSgpLmRpc3BhdGNoKCJTbmFwIFRvIE5ldXRyYWwgUG9zaXRpb24iLHttYXhIZWlnaHQ6UigpfSl9CmZ1bmN0aW9uIG4oKXtVKCkuZGlzcGF0Y2goIkNsb3NlIFNoZWV0Iix7Y2xpZW50SGVpZ2h0OnooKSxtYXhIZWlnaHQ6MH0pO3NldFRpbWVvdXQoKCk9PnttTigpfSwyNTApfXZhciBwPV8udUUoImRpdiIpLHI9Xy51RSgiZGl2IiksW3Qsdl09Xy5KKHdpbmRvdy5pbm5lckhlaWdodCx2b2lkIDAsIkNtT3NVIiksej10LEU9dixbQSxGXT1fLkooMCx2b2lkIDAsInAwRmxoYiIpLEM9QSxHPUYsW0QsSF09Xy5BQygoKT0+e3ZhciBhYT1uTihhKTtyZXR1cm4uNip6KCktak4oYWEpLWtOKGFhKX0pLFI9RCxNPUgsUz0oKT0+e3ZhciBhYT1uTihhKSxPYT16KCksSmI9cGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXSx6YT1wYVsiYm90dG9tLXNoZWV0LWZvb3RlciJdO3JldHVybiBPYS0oYWEuamgmJkpiIT09dm9pZCAwP0piOmpOKGFhKSktKGFhLmhoJiZ6YSE9PXZvaWQgMD96YTprTihhYSkpLTI0LTI0fSxZPW51bGwscGE9e30sb2E9e1ZlOl8uSigwLHZvaWQgMCwic3hkRVNkIiksT2I6Xy5KKDAsCnZvaWQgMCwiR1p6cWViIiksQ2M6Xy5KKCExLHZvaWQgMCwidkpCdXBjIiksUGM6Xy5KKCExLHZvaWQgMCwiWHlSRHAiKSxGYzpfLkFDKFIpfSxVPSgoKT0+e3ZhciBhYT1udWxsO3JldHVybigpPT57aWYoIWFhKXtsZXQgT2E9e1ZlOm9hLlZlWzBdKCksT2I6b2EuT2JbMF0oKSxDYzpvYS5DY1swXSgpLFBjOm9hLlBjWzBdKCksRmM6b2EuRmNbMF0oKX07YWE9VGdhKE9hKX1yZXR1cm4gYWF9fSkoKTtfLlVKKCgpPT57d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsZCk7VSgpLnN1YnNjcmliZShhYT0+e29hLlZlWzFdKGFhLlZlKTtvYS5PYlsxXShhYS5PYik7b2EuQ2NbMV0oYWEuQ2MpO29hLlBjWzFdKGFhLlBjKTtvYS5GY1sxXShhYS5GYyl9KTtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntwLnZhbHVlJiYocGFbImJvdHRvbS1zaGVldC1oZWFkZXIiXT1wLnZhbHVlLmNsaWVudEhlaWdodCk7ci52YWx1ZSYmKHBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl09ci52YWx1ZS5jbGllbnRIZWlnaHQpfSl9KTsKXy5ZdSgoKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLFQpO3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixrKTtZJiYoWS5kaXNjb25uZWN0KCksWT1udWxsKX0pO3ZhciBbaGEsbWFdPV8uSighMSx2b2lkIDAsIktzaVRZZSIpLHRhPW1hLFQ9YWE9PntVKCkuZGlzcGF0Y2goIkRyYWcgTW92ZSIse2NsaWVudFk6YWEuY2xpZW50WSxtcDpDKCk+UigpLFRwOlMoKSxxcDpSKCksaHE6cGEsSGk6ImNvbnRlbnQtd3JhcHBlciIsaGVhZGVyOm5OKGEpLGZvb3RlcjpuTihhKSxmcTpwYVsiYm90dG9tLXNoZWV0LWhlYWRlciJdLE5wOnBhWyJib3R0b20tc2hlZXQtZm9vdGVyIl19KX0sYmE9Xy5QKHsiYm90dG9tLXNoZWV0LWNvbnRlbnQtd2l0aG91dC1pY29uIjooKT0+IWEuSGE/LigpfSk7cmV0dXJuIF8uSygiYm90dG9tLXNoZWV0LWxheW91dCIsbnVsbCxfLksoZ08se0hpOiJjb250ZW50LXdyYXBwZXIiLApDYzooKT0+b2EuQ2NbMF0oKSxPYjooKT0+b2EuT2JbMF0oKSxGYzooKT0+b2EuRmNbMF0oKSxIYTphLkhhLHBmOmEucGYsanI6KCk9Pnt2YXIgYWE9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJvdHRvbS1zaGVldC1oZWFkZXIiKSxPYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGVudC13cmFwcGVyIik7aWYoYWEmJk9hKXt2YXIgSmI9e3l0U3BlY0JvdHRvbVNoZWV0TGF5b3V0SGVhZGVyV3JhcHBlcjohMCx5dFNwZWNCb3R0b21TaGVldExheW91dEhlYWRlcldyYXBwZXJCb3R0b21Cb3JkZXI6ITB9O2FhLmNsYXNzTmFtZT1PYS5zY3JvbGxUb3A+MT9fLmFMKEpiKToieXRTcGVjQm90dG9tU2hlZXRMYXlvdXRIZWFkZXJXcmFwcGVyIn19LFlxOm1OLG5wOmFhPT57YihhYSk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57YyhhYSl9KX0saGVhZGVyOigpPT5fLksoImRpdiIse2VsOnB9LF8uSyhpTyx7aXNEcmFnZ2luZzpoYSx3czplLHZzOmYsdXM6bCxRcTpoLHRpdGxlOmEuaGVhZGVyVGl0bGUsCnN1YnRpdGxlOmEuaGVhZGVyU3VidGl0bGUsT3c6ImJvdHRvbS1zaGVldC1oZWFkZXIiLGdxOmEuVWUsRHc6YS5qaCx4bzphLldmLHh3OmEuaWh9KSksZm9vdGVyOigpPT5fLksoImRpdiIse2VsOnJ9LF8uSyhoTyx7UmU6YS5SZSxsZWFkaW5nTGFiZWw6YS5NZix0cmFpbGluZ0xhYmVsOmEuUGYscHJpbWFyeUJ1dHRvbjphLk5mLEl3OmEuVWYsc2Vjb25kYXJ5QnV0dG9uOmEuT2YsS3c6YS5WZixPcDphLlNlLEN3OmEuaGh9KSksYm9keTooKT0+Xy5LKF8uTyx7QTphLlhpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6YmF9LGEuR2I/LigpKX0pfSkpfSwiVmEiKTtqTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e1dmOiEwLFVlOiEwLEdiOiEwLFNlOiEwLE5mOiEwLE9mOiEwfX07Xy5MKGE9Pnt2YXIgYj1fLnkoKS5yZXNvbHZlKF8uY0wpO3JldHVybiBfLksoInl0LWNvbnRleHR1YWwtc2hlZXQtbGF5b3V0Iix7Y2xhc3M6Xy5QKCJ5dENvbnRleHR1YWxTaGVldExheW91dEhvc3QiLHt5dENvbnRleHR1YWxTaGVldExheW91dEFkZFBhZGRpbmc6YS5ydSx5dENvbnRleHR1YWxTaGVldExheW91dEhvc3RPbGRNaW5XaWR0aDooKT0+ISFhLmhhc0hlYWRlcj8uKCl8fCEhYS5Cdz8uKCl8fF8ueCgiZW5hYmxlX2NvbnRleHR1YWxfc2hlZXRfb2xkX21pbl93aWR0aF9raWxsc3dpdGNoIil9KSxlbDpfLnJGKF8uZEwpLCJvbjpjbGljayI6KCk9PnthPy52Sz8uKCl8fGIuSmUoKX19LF8uSyhfLk8se0E6KCk9PiEhYS5oZWFkZXIsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRDb250ZXh0dWFsU2hlZXRMYXlvdXRIZWFkZXJDb250YWluZXIifSxhLmhlYWRlcigpKX0pLF8uSyhfLk8se0E6KCk9PiEhYS5jb250ZW50LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Q29udGVudENvbnRhaW5lciJ9LAphLmNvbnRlbnQoKSl9KSxfLksoXy5PLHtBOigpPT4hIWEuZm9vdGVyLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0Q29udGV4dHVhbFNoZWV0TGF5b3V0Rm9vdGVyQ29udGFpbmVyIn0sYS5mb290ZXIoKSl9KSl9LCJXYSIpLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aGVhZGVyOiEwLGNvbnRlbnQ6ITAsZm9vdGVyOiEwLGhhc0hlYWRlcjohMCxnSjohMCxCdzohMCxydTohMH19O3ZhciBHaGE9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLG9uQ2xpY2s6Y30pPT5fLksoInl0dy12YXJpYWJsZS1zcGVlZC1jb250cm9sbGVyLXNwZWVkLWJ1dHRvbi12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclNwZWVkQnV0dG9uVmlld01vZGVsSG9zdCIsYil9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5wbGF5YmFja1NwZWVkQnV0dG9ufSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLkhELHtkYXRhOmQsb25DbGljazpjfSl9KSxfLksoXy5WLHtjbGFzc05hbWU6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWxTcGVlZExhYmVsIix0ZXh0OigpPT5hKCkuYnV0dG9uTGFiZWx9KSksIlhhIik7dmFyIG9OOwpfLmtPPV8uTCgoe2RhdGE6YSxwejpiPVZnYSxvejpjPVdnYSxxejpkPVhnYX0pPT57dmFyIFtlLGZdPV8uSigxMDAsdm9pZCAwLCJkME5LeWIiKSxbaCxrXT1fLkooITEsdm9pZCAwLCJYWHZna2IiKSxsPW09PntmKG0udGFyZ2V0LnZhbHVlQXNOdW1iZXIpO2I/LihtKX07Xy5uRSgoKT0+e2lmKGEoKS5zbGlkZXIpe3ZhciBtPV8uQihhKCkuc2xpZGVyLENoYSk7bSYmKG0uaW5pdGlhbFZhbHVlJiZtLnZhbHVlRGVub21pbmF0b3I/ZihtLmluaXRpYWxWYWx1ZS9tLnZhbHVlRGVub21pbmF0b3IpOmYoMCkpfX0sIlJ2SERyZiIpO3JldHVybiBfLksoInZhcmlhYmxlLXNwZWVkLWNvbnRyb2xsZXItdmlldy1tb2RlbCIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbEhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFNwZWVkSW5kaWNhdG9yQ29udGFpbmVyIn0sXy5LKF8uTyx7QTooKT0+ZSgpPjIsdGhlbjooKT0+Cl8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsUHJlbWl1bUJhZGdlIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmJhZGdlfSx7YmFkZ2VWaWV3TW9kZWw6KHtkYXRhOm19KT0+Xy5LKF8uRUQse2RhdGE6bX0pfSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXR3VmFyaWFibGVTcGVlZENvbnRyb2xsZXJWaWV3TW9kZWxQbGF5YmFja1NwZWVkRGlzcGxheSIsImFyaWEtbGl2ZSI6InBvbGl0ZSIsImFyaWEtYXRvbWljIjoidHJ1ZSIsImFyaWEtYnVzeSI6aH0sKCk9Pl8uYUEoIlBMQVlCQUNLX1NQRUVEX1giLHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyOmAke2UoKS50b0ZpeGVkKDIpfWB9KSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsU2xpZGVyQ29udGFpbmVyIiwib246Zm9jdXNpbiI6ZnVuY3Rpb24obSl7bS50YXJnZXQudGFnTmFtZT09PSJJTlBVVCImJmsoITApfSwib246Zm9jdXNvdXQiOmZ1bmN0aW9uKG0pe20udGFyZ2V0LnRhZ05hbWU9PT0KIklOUFVUIiYmayghMSl9fSxfLksoXy5XLHtkYXRhOigpPT5hKCkuc2xpZGVyfSx7aG9yaXpvbnRhbFNsaWRlclZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoRmhhLHtkYXRhOigpPT4oey4uLm0oKSxpbml0aWFsVmFsdWU6ZSgpKjEwMH0pLGZ6OmwsWXk6Y30pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsQnV0dG9uQ29udGFpbmVyIn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnBsYXliYWNrU3BlZWRCdXR0b25zfSx7dmFyaWFibGVTcGVlZENvbnRyb2xsZXJTcGVlZEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6bX0pPT5fLksoR2hhLHtkYXRhOm0sY2xhc3NOYW1lOiJ5dHdWYXJpYWJsZVNwZWVkQ29udHJvbGxlclZpZXdNb2RlbFBsYXliYWNrU3BlZWRCdXR0b24iLG9uQ2xpY2s6KCk9Pnt2YXIgbj1tKCk/LnBsYXliYWNrU3BlZWRCdXR0b25DZW50aVZhbHVlO24mJihmKG4vMTAwKSxkPy4obi8xMDApKX19KX0pKSl9LCJaYSIpO3ZhciBIaGE9bmV3IF8uVnMoIkNPTlRFTlRfRkVFREJBQ0tfVklFV19NT0RFTF9UT0tFTiIpO3ZhciBsTz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5VRCksYz1fLnBIKHtOYjooZixoKT0+e18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpfHwhZnx8Xy56SChhPy4oKT8ucmVuZGVyZXJDb250ZXh0KXx8TU0oaCl9LGViOntWYjohMSxzdGF0ZToidmlzaWJsZSJ9fSksZD1fLnkoKS5yZXNvbHZlKF8uSW4oSGhhKSksZT1fLnkoKS5yZXNvbHZlKF8uSW4oRGhhKSk7cmV0dXJuIF8uSygieXQtc2hlZXQtdmlldy1tb2RlbCIseyJvbjptb3VzZWRvd24iOmZ1bmN0aW9uKGYpe18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpJiZmLmN1cnJlbnRUYXJnZXQhPT1mLnRhcmdldCYmZi5wcmV2ZW50RGVmYXVsdCgpfSwib246Zm9jdXMiOmZ1bmN0aW9uKGYpe18ueCgic2hlZXRfZm9jdXNfZmlyc3Rfa2lsbHN3aXRjaCIpJiZNTShmLmN1cnJlbnRUYXJnZXQpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oKXt2YXIgZj1fLnpIKGE/LigpPy5yZW5kZXJlckNvbnRleHQpOwpmJiZiLnJlc29sdmVDb21tYW5kKGYpfSxjbGFzczpfLlAoInl0U2hlZXRWaWV3TW9kZWxIb3N0Iix7eXRTaGVldFZpZXdNb2RlbENvbnRleHR1YWw6ITEseXRTaGVldFZpZXdNb2RlbERpc2FibGVCYWNrZHJvcEZpbHRlcjohMX0pLGVsOl8uckYoYyksdGFiaW5kZXg6LTF9LF8uSyhfLk8se0E6YSx0aGVuOmY9Pl8uSyhqTyx7VWU6KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmYoKS5oZWFkZXJ9LHtwYW5lbEhlYWRlclZpZXdNb2RlbDpmT30pLGpoOiEwLGloOiExLEdiOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuY29udGVudH0se2NoZWNrYm94R3JvdXBWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8udEQse2RhdGE6aCxXYjohMX0pLHJhZGlvQnV0dG9uR3JvdXBWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8uRUwse2RhdGE6aCxXYjohMX0pLGxpc3RWaWV3TW9kZWw6KHtkYXRhOmh9KT0+Xy5LKF8uQkQse2RhdGE6aCxCYzohMH0pLHZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsOl8ua08sCmxpbmVhckxheW91dFZpZXdNb2RlbDpfLkdMLHVwc2VsbFZpZXdNb2RlbDpfLmhMLG1pbmlBcHBTY29yZUNoYWxsZW5nZVZpZXdNb2RlbDpfLmpMLC4uLihlJiZ7dmlkZW9Ob3RpY2VzVmlld01vZGVsOmV9KSwuLi4oZCYme2NvbnRlbnRGZWVkYmFja1ZpZXdNb2RlbDooe2RhdGE6aH0pPT5fLksoZCx7ZGF0YTpoLGNsYXNzTmFtZToieXRTaGVldFZpZXdNb2RlbFBhZGRlZENvbnRlbnQifSl9KX0pLFhpOiEwLFNlOigpPT5fLksoXy5XLHtkYXRhOigpPT5mKCkuZm9vdGVyfSx7cGFuZWxGb290ZXJWaWV3TW9kZWw6Xy5zRH0pLGhoOiEwLFVmOiExLFZmOiExLEhhOiEwfSl9KSl9LCIkYSIpO2xPLmlkb21Db21wYXQ9ITA7Xy5tTz1uZXcgXy5WcygiSUNPTl9TRVRfVE9LRU4iKTtfLm5PPW5ldyBfLlZzKCJJQ09OX1VSTF9QUk9WSURFUl9UT0tFTiIpO18ub089bmV3IF8uVnMoIklDT05fTUFQX0ZOX1RPS0VOIik7dmFyIFNOPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9digpe3ZhciBhPShfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKT9JaGE6SmhhKT8/dGhpcy5vO2lmKGE/Lmxlbmd0aCl7bGV0IGI9W107YT0obmV3IFNldChhKSkudmFsdWVzKCk7Zm9yKGxldCBjIG9mIGEpZm9yKGxldCBkIG9mIE9iamVjdC52YWx1ZXMoemhhKSliLnB1c2goe2ljb25OYW1lOmMsaWNvblN0eWxlOmR9KTt0aGlzLmoueWEoYil9ZWxzZSBQcm9taXNlLnJlc29sdmUoKX19O1NOW18uTG5dPVtfLlhMLF8uSW4obmV3IF8uVnMoIlBSRUZFVENIX0lDT05TX1RPS0VOIikpXTt2YXIgS2hhPS9eKD8hamF2YXNjcmlwdDopKD86W2EtejAtOSsuLV0rOnxbXiY6XC8/I10qKD86W1wvPyNdfCQpKS9pLGVoYT17WzFdOntwZDpudWxsLGhlOm51bGwsS2Q6bnVsbH0sWzJdOntwZDpmdW5jdGlvbihhLGIsYyl7YT1jO3hoYS50ZXN0KGEpJiYoYS5pbmRleE9mKCImIikhPS0xJiYoYT1hLnJlcGxhY2UocmhhLCImYW1wOyIpKSxhLmluZGV4T2YoIjwiKSE9LTEmJihhPWEucmVwbGFjZShzaGEsIiZsdDsiKSksYS5pbmRleE9mKCI+IikhPS0xJiYoYT1hLnJlcGxhY2UodGhhLCImZ3Q7IikpLGEuaW5kZXhPZignIicpIT0tMSYmKGE9YS5yZXBsYWNlKHVoYSwiJnF1b3Q7IikpLGEuaW5kZXhPZigiJyIpIT0tMSYmKGE9YS5yZXBsYWNlKHZoYSwiJiMzOTsiKSksYS5pbmRleE9mKCJceDAwIikhPS0xJiYoYT1hLnJlcGxhY2Uod2hhLCImIzA7IikpKTtyZXR1cm4gYX0saGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLmZifSxLZDphPT5fLnlBKGEpfSxbM106e3BkOmZ1bmN0aW9uKGEsCmIsYyl7cmV0dXJuIEtoYS50ZXN0KGMpP2M6Xy5GcS50b1N0cmluZygpfSxoZShhKXtyZXR1cm4gXy5YYShhKX0sS2Q6YT0+Xy5ZYShhKX0sWzRdOntwZDpmdW5jdGlvbigpe3JldHVybiBfLkZxLnRvU3RyaW5nKCl9LGhlKGEpe3JldHVybiBhIGluc3RhbmNlb2YgXy5TYX0sS2Q6YT0+Xy5VYShhKS50b1N0cmluZygpfSxbNV06e3BkOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gY30saGUoYSl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyJ9LEtkOmE9PmEudG9TdHJpbmcoKX0sWzddOntwZDpmdW5jdGlvbigpe3JldHVybiIgLyp6Q2xvc3VyZXoqLyAifSxoZShhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uamJ9LEtkOmE9Pl8ubGIoYSl9LFs4XTp7cGQoYSxiLGMpe2M9U3RyaW5nKGMpLnRvTG93ZXJDYXNlKCk7YTp7bGV0IGQ9bnVsbDsoYT1iT1thXSkmJihkPWFbYl0pO2lmKHR5cGVvZiBkIT09Im51bWJlciImJigoYT1iT1siKiJdKSYmKGQ9YVtiXSksdHlwZW9mIGQhPT0ibnVtYmVyIikpe2I9CiExO2JyZWFrIGF9Yj0hMD09PXloYVtkXVtTdHJpbmcoYykudG9Mb3dlckNhc2UoKV19cmV0dXJuIGI/YzoiekNsb3N1cmV6In0saGU6bnVsbCxLZDpudWxsfSxbMTBdOntwZDpudWxsLGhlOm51bGwsS2Q6bnVsbH19O18ucE89Xy5MKCh7ZGF0YTphLHRnOmIsSGE6YyxpY29uOmQscHJvY2Vzc0FsbEVuZHBvaW50czplLHByZXZlbnREZWZhdWx0OmYsc3RvcFByb3BhZ2F0aW9uOmgsd0k6ayxjbGFzc05hbWU6bCxidXR0b25PdmVycmlkZXM6bSxRZjpuLGlzU3Vic2NyaWJlOnAsb2k6cixCbDp0fSk9Pnt2YXIgdj1fLm1HKCksej0oRixDKT0+e2Y/LigpJiZDLnByZXZlbnREZWZhdWx0KCk7aD8uKCkmJkMuc3RvcFByb3BhZ2F0aW9uKCk7aWYoIWs/LigpKXtGPWEoKTt2YXIgRz0hIWU/LigpO2lmKCFGLl9pc0J1c3kpe2ImJmIoKTt2YXIgRD0hRi5uYXZpZ2F0aW9uRW5kcG9pbnR8fCEhXy5CKEYubmF2aWdhdGlvbkVuZHBvaW50LF8uWXopfHwhIV8uQihGLm5hdmlnYXRpb25FbmRwb2ludCxfLlp6KTtHPyhGLnRyYWNraW5nUGFyYW1zJiZEJiZfLnpKKEYudHJhY2tpbmdQYXJhbXMpLEYuc2VydmljZUVuZHBvaW50JiZfLkFKKEYuc2VydmljZUVuZHBvaW50LEYsITEse2V2ZW50OkMsQmQ6dn0pLEYubmF2aWdhdGlvbkVuZHBvaW50JiYKXy5BSihGLm5hdmlnYXRpb25FbmRwb2ludCxGLCExLHtldmVudDpDLEJkOnZ9KSxGLmNvbW1hbmQmJl8uQUooRi5jb21tYW5kLEYsITEse2V2ZW50OkMsQmQ6dn0pKTooRz12TihGLnNlcnZpY2VFbmRwb2ludCl8fHZOKEYubmF2aWdhdGlvbkVuZHBvaW50KXx8dk4oRi5jb21tYW5kKSkmJl8uQUooRyxGLEQse2V2ZW50OkMsQmQ6dn0pfX19LEU9KCk9PntpZihjPy4oKSE9PSExKXJldHVybiBkPy4oKXx8YSgpLmljb24/Lmljb25UeXBlfSxBPV8uTigoKT0+KHsuLi5haGEoe3JlbmRlcmVyOmEoKSxJbTp6LHdBOiEwLFNjOm0/LigpLFZ5OiEwLFFmOm4/LigpLGlzU3Vic2NyaWJlOnA/LigpfHwhMSxCbDp0Py4oKX0pLG9pOnI/LigpfSksdm9pZCAwLCJQYzR0M2IiKTtyZXR1cm4gXy5LKCJ5dG0tYnV0dG9uLXJlbmRlcmVyIix7aGlkZGVuOigpPT4hYSgpLnRleHQmJiFfLkRKKGEoKS5hY2Nlc3NpYmlsaXR5RGF0YXx8YSgpLmFjY2Vzc2liaWxpdHkpLGNsYXNzOl8uUChsLCgpPT5FPy4oKT8KYGljb24tJHtFKCkudG9Mb3dlckNhc2UoKX1gOnZvaWQgMCx7ZGlzYWJsZWQ6KCk9PmEoKS50aGVtZWRCYXNpY0NvbG9yUGFsZXR0ZSYmXy51TihhKCkudGhlbWVkQmFzaWNDb2xvclBhbGV0dGUpfSl9LF8uSyhfLkpLLHtkYXRhOkEsaWNvbk5hbWU6RX0pKX0sImFiIik7Xy5wTy5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uQnV0dG9uQ2xpY2tDYWxsYmFjazohMH19O18ucU89Xy5MKCh7ZGF0YTphLFFmOmIsc3R5bGU6YyxidXR0b25PdmVycmlkZXM6ZCxjbGFzc05hbWU6ZSxzdG9wUHJvcGFnYXRpb246ZixSazpoLEhjOmssc3o6bH0pPT57dmFyIFttLG5dPV8uQUMoYSkscD0oKT0+e3ZhciB0PW0oKTt2YXIgdj1jPy4oKT8uYW5pbWF0ZUljb249PT0idHJ1ZSIsej10LnRvZ2dsZWRJY29uJiZ0LnRvZ2dsZWRJY29uLmljb25UeXBlLEU9dC5kZWZhdWx0SWNvbiYmdC5kZWZhdWx0SWNvbi5pY29uVHlwZTt0PXY/RXx8bnVsbDp0LmlzVG9nZ2xlZCYmenx8RXx8bnVsbDt2PW0oKTtyZXR1cm4oYz8uKCk/LmFuaW1hdGVJY29uPT09InRydWUiP3Q6dD09PSJMSUtFIiYmdi5pc1RvZ2dsZWQ/IkxJS0VfRklMTEVEIjp0PT09IkRJU0xJS0UiJiZ2LmlzVG9nZ2xlZD8iRElTTElLRV9GSUxMRUQiOnQpPz92b2lkIDB9LHI9KHQsdik9PntoP2godCx2KTooZj8uKCkmJnYuc3RvcFByb3BhZ2F0aW9uKCksdD0hbSgpLmlzVG9nZ2xlZCxuKHsuLi5tKCksaXNUb2dnbGVkOnR9KSwKbD8uKHQpKX07cmV0dXJuIF8uSygieXRtLXRvZ2dsZS1idXR0b24tcmVuZGVyZXIiLHtjbGFzczplfSxfLksoXy5KSyx7ZGF0YTooKT0+e3ZhciB0PW0oKSx2PW0oKSx6PSEodi5pc1RvZ2dsZWQ/IXYudG9nZ2xlZFNlcnZpY2VFbmRwb2ludDohdi5kZWZhdWx0U2VydmljZUVuZHBvaW50KSxFPXY7di5kZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50JiYoRT17fSk7cmV0dXJuIGRoYSh7cmVuZGVyZXI6dCxJbTpyLFJ1Ol8uWUQoRSx7fSx6KSxTYzpkPy4oKSxWeTohMCx0b2dnbGVkOiEhbSgpLmlzVG9nZ2xlZCxRZjpiPy4oKX0pfSxpY29uOigpPT5fLksoXy5NRCx7aWNvbjpwLEdlOigpPT4hIWM/LigpPy5hbmltYXRlSWNvbixhY3RpdmU6KCk9Pm0oKS5pc1RvZ2dsZWQsSGM6a30pfSkpfSwiYmIiKTtfLnFPLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7Ums6ITAsc3o6ITB9fTtfLiROPXtLQjpYKCJBQ0NPVU5UX0xBQkVMIiksTUI6WCgiQUNUX09OX1RISVNfQ09NTUVOVCIpLE5COlgoIkFERF9UT19EUk9QRE9XTl9MQUJFTCIpLE9COlgoIkFEX0JBREdFX0hJTlQiKSxQQjpYKCJBRF9CQURHRV9URVhUIiksY0M6WCgiQUxMX0NIQU5ORUxTX0xBQkVMIiksZUM6WCgiQU1CSUVOVF9NT0RFIiksZkM6WCgiQU1CSUVOVF9NT0RFX09GRiIpLGdDOlgoIkFNQklFTlRfTU9ERV9PTiIpLGhDOlgoIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9CT0RZIiksaUM6WCgiQU5EUk9JRF9ERVBSRUNBVElPTl9NRVNTQUdFX0hFQURFUiIpLGtDOlgoIkFQUF9VUFNFTExfU1VCVElUTEUiKSxsQzpYKCJBUFBfVVBTRUxMX1RJVExFIiksTnM6WCgiQVVESU9fVFJBQ0siLCJBdWRpbyBUcmFjayIpLG5rOlgoIkFVVE9OQVZfVE9HR0xFIiksbUM6WCgiQVVUT1BMQVlfSU5fVEVOX1NFQ09ORFMiKSxuQzpYKCJBVVRPUExBWV9QQVVTRUQiKSxvQzpYKCJBVVRPUExBWV9QTEFZX05PVyIpLApPczpYKCJBVVRPUExBWV9VUF9ORVhUX0lOIiksUHM6WCgiQVVUT19aT09NIiwiQXV0byB6b29tIiksQkFDSzpYKCJCQUNLIikscUM6WCgiQlJBTkRFRF9TSUdOX0lOX0RJQUxPR19ERVNDUklQVElPTiIsIkFjY2VzcyBhbGwgZmVhdHVyZXMgYW5kIGdldCBhIHNlYW1sZXNzIGV4cGVyaWVuY2UiKSxDQU5DRUw6WCgiQ0FOQ0VMIiksdUM6WCgiQ0hBTk5FTF9TV0lUQ0hFUl9MQUJFTCIpLENMT1NFOlgoIkNMT1NFIiwiY2xvc2UiKSxSczpYKCJDTE9TRURfQ0FQVElPTlNfRElTQUJMRUQiKSxTczpYKCJDTE9TRURfQ0FQVElPTlNfT0ZGIiksVHM6WCgiQ0xPU0VEX0NBUFRJT05TX09OIiksVXM6WCgiQ0xPU0VEX0NBUFRJT05TX09OX0xBTkdVQUdFIikseEM6WCgiQ0xPU0VfU0VBUkNIX0xBQkVMIikseUM6WCgiQ0xPU0VfU0VUVElOR1NfTEFCRUwiKSx6QzpYKCJDT01NRU5UX01PREFMX0NPTlRFTlQiKSxXczpYKCJDT05GSVJNX09LIiksQUM6WCgiQ09OTkVDVF9UT19USEVfSU5URVJORVQiKSwKWHM6WCgiQ09QSUVEX1RPX0NMSVBCT0FSRCIpLFlzOlgoIkNPUFkiKSxUbjpYKCJDT1BZX0RFQlVHX0lORk8iKSxaczpYKCJDT1BZX0VNQkVEX0NPREUiKSxDQzpYKCJDT1BZX0xJTktfTEFCRUwiKSxidDpYKCJDT1BZX1ZJREVPX1VSTCIpLGZ0OlgoIkNPUFlfVklERU9fVVJMX0FUX0NVUlJFTlRfVElNRSIpLERDOlgoIkNSRUFURV9DSEFOTkVMX1RJVExFIiksSUM6WCgiREVMRVRFX0ZST01fRE9XTkxPQURTIiksWG46WCgiRElBTE9HIiksRE9ORTpYKCJET05FIiksTkM6WCgiRE9XTkxPQUQiKSxrdDpYKCJGQUlMRURfQ09QWV9FUlJPUl9NRVNTQUdFIiksYkQ6WCgiRkxBR19DT05GSVJNIiksY0Q6WCgiRkxBR19DT05URU5UIiksZEQ6WCgiRkxBR19MQUJFTCIpLGVEOlgoIkZMQUdfVElUTEUiKSxmRDpYKCJGVUxMU0NSRUVOX0dFTkVSSUNfRVJST1IiKSxWRTpYKCJHSUZUUyIsIkdpZnRzIiksV0U6WCgiR09PR0xFX0NPTVBBTlkiKSxtdDpYKCJISURFX1BMQVlFUl9DT05UUk9MUyIsCiJIaWRlIHBsYXllciBjb250cm9scyIpLFlFOlgoIkhJREVfUExBWUxJU1RfVklERU9TIiksWkU6WCgiSElERV9TRUFSQ0hfRklMVEVSU19MQUJFTCIpLEhPTUU6WCgiSE9NRSIsIkhvbWUiKSxkRjpYKCJJTlZBTElEX1JFU1BPTlNFX1JFQ0VJVkVEIiksZ0Y6WCgiTEVBVkVfQV9DT01NRU5UX1RJVExFIiwiTGVhdmUgYSBjb21tZW50PyIpLGhGOlgoIkxJQlJBUlkiLCJMaWJyYXJ5Iiksa0Y6WCgiTElTVEVOSU5HIiksTE9BRElORzpYKCJMT0FESU5HIiksbEY6WCgiTE9OR19QUkVTU19NSUNfVE9fU1BFQUsiLCJMb25nIHByZXNzIG1pY19pY29uX3BsYWNlaG9sZGVyIHRvIHNwZWFrIiksdXQ6WCgiTE9PUCIpLG9GOlgoIk1FTlVfREVTS1RPUCIpLHBGOlgoIk1FTlVfRVhJVCIpLHFGOlgoIk1FTlVfRkVFREJBQ0siKSxyRjpYKCJNRU5VX0hFTFAiKSxzRjpYKCJNRU5VX0lNUFJFU1NVTSIpLHZ0OlgoIk1FTlVfUExBWUVSX1NFVFRJTkdTIiksdEY6WCgiTUVOVV9TRVRUSU5HUyIpLHVGOlgoIk1FTlVfU0lHTl9JTiIpLAp2RjpYKCJNRU5VX1RJVExFIiksd0Y6WCgiTUVOVV9ZT1VSX0RBVEEiKSxBRjpYKCJNT1JFX0lORk8iKSx3dDpYKCJNT1JFX09QVElPTlMiKSxibzpYKCJNT1JFX1ZJREVPUyIsIk1vcmUgdmlkZW9zIikseHQ6WCgiTU9SRV9WSURFT1NfQ0xPU0VfQlVUVE9OX0FSSUFfTEFCRUwiLCJIaWRlIG1vcmUgdmlkZW9zIiksenQ6WCgiTU9SRV9WSURFT1NfRlJPTV9DSEFOTkVMIiwiTW9yZSB2aWRlb3MgZnJvbSAkY2hhbm5lbF9uYW1lX3BsYWNlaG9sZGVyIiksZW86WCgiTU9SRV9WSURFT1NfTkVYVF9CVVRUT05fQVJJQV9MQUJFTCIsIk5leHQgdmlkZW9zIiksZm86WCgiTU9SRV9WSURFT1NfUFJFVklPVVNfQlVUVE9OX0FSSUFfTEFCRUwiLCJQcmV2aW91cyB2aWRlb3MiKSxBdDpYKCJNVVRFX1ZPTFVNRSIpLENGOlgoIk5FV19QTEFZTElTVCIpLERGOlgoIk5FWFRfVklERU8iKSxDdDpYKCJOT1RJRklDQVRJT05fRVJST1JfTUVTU0FHRSIpLEZGOlgoIk5PVF9GT1VORF9DVEEiKSxHRjpYKCJOT1RfRk9VTkRfTUVTU0FHRSIpLApIRjpYKCJOT1RfRk9VTkRfVElUTEUiKSxJRjpYKCJOT19ET1dOTE9BRFMiKSxKRjpYKCJOT19NSUNfSU5QVVQiKSxLRjpYKCJPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04iKSxEdDpYKCJPT1BTX01FU1NBR0UiKSxNRjpYKCJPUEVOX0FQUCIpLE5GOlgoIk9QRU5fWU9VVFVCRSIpLE9GOlgoIk9QRU5fWU9VVFVCRV9BUFAiLCJPcGVuIFlvdVR1YmUgYXBwIiksUEFVU0U6WCgiUEFVU0UiKSxVRjpYKCJQTEFZIiksRXQ6WCgiUExBWUVSX0NBUFRJT04iKSxGdDpYKCJQTEFZRVJfQ0FQVElPTl9PRkYiKSxWRjpYKCJQTEFZRVJfQ0FQVElPTl9PTiIpLEd0OlgoIlBMQVlFUl9ET1VCTEVfU1BFRURfVVNFUl9FRFUiKSxXRjpYKCJQTEFZRVJfRE9VQkxFX1RBUF9UT19TRUVLIiksWEY6WCgiUExBWUVSX0RPVUJMRV9UQVBfVE9fU0hPV19PUl9ISURFX1BMQVlFUl9DT05UUk9MUyIpLEh0OlgoIlBMQVlFUl9FWElUX0ZVTExTQ1JFRU4iKSxJdDpYKCJQTEFZRVJfRkFTVEZPUldBUkRfU0VDT05EUyIpLApKdDpYKCJQTEFZRVJfRlVMTFNDUkVFTiIpLGxvOlgoIlBMQVlFUl9MSVZFX0xBQkVMIiksWUY6WCgiUExBWUVSX0xJVkVfTk9XIiksWkY6WCgiUExBWUVSX01JTklNSVpFIiksS3Q6WCgiUExBWUVSX05FWFQiKSxMdDpYKCJQTEFZRVJfUEFVU0UiKSxQZzpYKCJQTEFZRVJfUExBWSIpLE10OlgoIlBMQVlFUl9QUkVWSU9VUyIpLGFHOlgoIlBMQVlFUl9QUk9HUkVTU19CQVIiKSxOdDpYKCJQTEFZRVJfUVVBTElUWSIpLE90OlgoIlBMQVlFUl9RVUFMSVRZX0FVVE8iKSxQdDpYKCJQTEFZRVJfUkVQTEFZIiksUXQ6WCgiUExBWUVSX1JFV0lORF9TRUNPTkRTIiksbW86WCgiUExBWUVSX1NQRUVEIiksYkc6WCgiUExBWUVSX1NQRUVEVVBfVVNFUl9FRFUiKSxSdDpYKCJQTEFZRVJfU1BFRURfREVDUkVBU0UiKSxTdDpYKCJQTEFZRVJfU1BFRURfSU5DUkVBU0UiKSxubzpYKCJQTEFZRVJfU1BFRURfTk9STUFMIiksVHQ6WCgiUExBWUVSX1NQRUVEX1JFQ0VOVCIpLFV0OlgoIlBMQVlFUl9USU1FX0RVUkFUSU9OIiksClZ0OlgoIlBMQVlFUl9USU1FX0VMQVBTRUQiKSxjRzpYKCJQTEFZTElTVF9ERVNDUklQVElPTl9JTlZBTElEX0NIQVJBQ1RFUlMiKSxkRzpYKCJQTEFZTElTVF9NSVhfREVUQUlMRURfTE9OR19CWUxJTkUiKSxlRzpYKCJQTEFZTElTVF9OQU1FX0lOVkFMSURfQ0hBUkFDVEVSUyIpLGZHOlgoIlBMQVlMSVNUX05BTUVfTUlTU0lORyIpLGdHOlgoIlBMQVlMSVNUX05BTUVfVE9PX0xPTkciKSxoRzpYKCJQTEFZTElTVF9QQU5FTF9FTkRfT0ZfUExBWUxJU1QiKSxpRzpYKCJQTEFZTElTVF9QQU5FTF9ORVhUIiksakc6WCgiUExBWUxJU1RfUEFORUxfVU5MSVNURURfUExBWUxJU1QiKSxrRzpYKCJQTEFZTElTVF9URVhUX0lOUFVUX0NIQVJfQ09VTlQiKSxsRzpYKCJQTEFZX0FMTCIpLG1HOlgoIlBMRUFTRV9GSVhfRVJST1JTIiksWHQ6WCgiUFJFTUlVTV9CQURHRV9MQUJFTCIsIlByZW1pdW0iKSxuRzpYKCJQUkVWSU9VU19WSURFTyIpLG9HOlgoIlBSSVZBQ1lfUE9MSUNZIiksckc6WCgiUkVMT0FEIiksCnNHOlgoIlJFUVVJUkVEX0xBQkVMIikseUc6WCgiU0FWRV9QTEFZTElTVCIpLEFHOlgoIlNDUlVCX1NMSURFX1VTRVJfRURVIiksQ0c6WCgiU0VBUkNIIiwiU2VhcmNoIiksREc6WCgiU0VBUkNIX0FQUEVORF9MQUJFTCIpLEVHOlgoIlNFQVJDSF9DSEFOTkVMIiksRkc6WCgiU0VBUkNIX0NMRUFSX0xBQkVMIiksR0c6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX0FMQlVNX05PX0FSVElTVCIsIkFsYnVtIiksSEc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX01PVklFIiwiTW92aWUiKSxJRzpYKCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fU09OR19OT19BUlRJU1QiLCJTb25nIiksSkc6WCgiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1RWX1NIT1ciLCJUViBTaG93IiksS0c6WCgiU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxMRzpYKCJTRUFSQ0hfTEFCRUwiKSxNRzpYKCJTRUFSQ0hfUFBQX1BMQUNFSE9MREVSX1RFWFQiKSxORzpYKCJTRUVLX1NMSURFUiIpLE9HOlgoIlNFVFRJTkdTX0xBQkVMIiksClBHOlgoIlNFVFRJTkdTX01JQ19QRVJNSVNTSU9OIiksU0c6WCgiU0hPUlRTX1RBQl9MQUJFTCIsIlNob3J0cyIpLFRHOlgoIlNIT1dfTEVTUyIpLFVHOlgoIlNIT1dfTU9SRSIpLFp0OlgoIlNIT1dfUExBWUVSX0NPTlRST0xTIiwiU2hvdyBwbGF5ZXIgY29udHJvbHMiKSxWRzpYKCJTSE9XX1BMQVlMSVNUX1ZJREVPUyIpLFdHOlgoIlNIT1dfU0VBUkNIX0ZJTFRFUlNfTEFCRUwiKSxhdTpYKCJTSUdOX0lOX0xBQkVMIiksWkc6WCgiU0lHTl9JTl9PTl9XRUIiKSx5azpYKCJTVEFCTEVfVk9MVU1FIiksakg6WCgiU1RBQkxFX1ZPTFVNRV9PRkYiKSxrSDpYKCJTVEFCTEVfVk9MVU1FX09OIiksYnU6WCgiU1RBVFNfRk9SX05FUkRTIiksbEg6WCgiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiKSxtSDpYKCJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiKSxuSDpYKCJTVUdHRVNUSU9OX05FV19WSURFT1NfVEVYVCIpLG9IOlgoIlNVR0dFU1RJT05fVEhVTUJOQUlMX0FUVFJJQlVUSU9OX0xBQkVMIiwKIlZpZXcgaW1hZ2Ugc291cmNlIikscEg6WCgiU1VHR0VTVElPTl9USFVNQk5BSUxfTEFCRUwiKSxxSDpYKCJURVJNU19PRl9TRVJWSUNFIiksckg6WCgiVElNRVNUQU1QX01JTlVURVMiKSxzSDpYKCJUSU1FU1RBTVBfU0VDT05EUyIpLHRIOlgoIlRPR0dMRV9PRkYiKSx1SDpYKCJUT0dHTEVfT04iKSx2SDpYKCJUUkVORElORyIpLGR1OlgoIlRST1VCTEVTSE9PVF9QTEFZQkFDS19JU1NVRSIpLGV1OlgoIlRSWV9BR0FJTl9MQVRFUiIpLHdIOlgoIlRSWV9BR0FJTl9NSUNfUEVSTUlTU0lPTiIpLHhIOlgoIlRVUk5fT0ZGX0FVVE9QTEFZX0NPTkZJUk1fQlVUVE9OX1RJVExFIikseUg6WCgiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX0RFU0NSSVBUSU9OIiksekg6WCgiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX1RJVExFIiksZ3U6WCgiVU5NVVRFX1ZPTFVNRSIpLHNvOlgoIlZJREVPX0xJTktfTEFCRUwiKX07Xy5MaGE9T2JqZWN0LmZyZWV6ZT9PYmplY3QuZnJlZXplKE9iamVjdC5jcmVhdGUobnVsbCkpOnt9O18uTk49KCk9Pnt9O3dpbmRvdy5yZXF1ZXN0SWRsZUNhbGxiYWNrPy5iaW5kKHdpbmRvdyk7Xy5aTj1fLkwoYT0+e3ZhciB7bGFiZWw6YixvbmNsaWNrOmMsc2hvd1NwaW5uZXI6ZCx0aTplLGVuZ2FnZW1lbnRQYW5lbDpmLEt4OmgsRHA6ayxyZWxhdGl2ZTpsLG9wYWNpdHk6bX09Xy5EQyhhLHtzaG93U3Bpbm5lcjohMSxSSzohMSx0aTohMSxlbmdhZ2VtZW50UGFuZWw6ITEsRHA6ITEscmVsYXRpdmU6ITEsS3g6ITEsb3BhY2l0eTp2b2lkIDB9KTtyZXR1cm4gXy5LKCJ5dHctc2NyaW0iLHtjbGFzczpfLlAoInl0V2ViU2NyaW1Ib3N0IiwieXRXZWJTY3JpbUhvc3RNb2Rlcm5PdmVybGF5Iix7eXRXZWJTY3JpbUhvc3RCb3R0b21TaGVldDplLHl0V2ViU2NyaW1Ib3N0RW5nYWdlbWVudFBhbmVsOigpPT4hZSgpJiZmKCkseXRXZWJTY3JpbUhvc3REcmFnZ2FibGVFbmdhZ2VtZW50UGFuZWw6KCk9PiFlKCkmJmYoKSYmaCgpLHl0V2ViU2NyaW1Ib3N0RHJhd2VyTGF5b3V0OigpPT4hZSgpJiYhZigpJiZrKCkseXRXZWJTY3JpbUhvc3RSZWxhdGl2ZTpsfSksIm9uOmNsaWNrIjpjLCJvbjp0b3VjaG1vdmUiOmZ1bmN0aW9uKG4pe24ucHJldmVudERlZmF1bHQoKTsKbi5zdG9wUHJvcGFnYXRpb24oKX0sc3R5bGU6KCk9Pm0oKSE9PXZvaWQgMD9gYmFja2dyb3VuZDpyZ2JhKDAsIDAsIDAsICR7bSgpfSk7YDoiIn0sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0V2ViU2NyaW1EaWFsb2dDb250YWluZXIifSxfLksoXy5aTCxudWxsKSl9KSxfLksoImJ1dHRvbiIse2NsYXNzOiJ5dFdlYlNjcmltSGlkZGVuQnV0dG9uIiwiYXJpYS1sYWJlbCI6Yn0pKX0sImNiIik7dmFyIEZOLEVOLElOLEdOLExOLEhOLGtoYTtGTj0wO0VOPW5ldyBNYXA7SU49bnVsbDtHTj1udWxsO0xOPSExO18uRE49W107SE49IV8ueCgiY2FuY2VsX21vZGFsX3BlbmRpbmdfYW5pbWF0aW9uc19raWxsc3dpdGNoIik7a2hhPSFfLngoInJlc2hvd19uZXN0ZWRfbW9kYWxfc2libGluZ3Nfa2lsbHN3aXRjaCIpO3ZhciByTzsKXy5zTz1fLkwoKHt0cTphfSk9PntmdW5jdGlvbiBiKEcpe2lmKChhKCkmJmRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50fHwhYSgpJiYhZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpJiZHKXt2YXIgRD1HLlFrLEg9Ry52aWV3TW9kZWw7ay52YWx1ZT9GKEcpOkQ/LmlzRGlzYWJsZWQmJkQ/LmRpc2FibGVkQ29tbWFuZD8oQ04oITApLF8uQUooRC5kaXNhYmxlZENvbW1hbmQsaC52YWx1ZSwhMSkpOih3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjYm90dG9tLXNoZWV0IiYmXy4kTSgiYm90dG9tLXNoZWV0IiwhMCksay52YWx1ZT0hMCxkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgiYm90dG9tLXNoZWV0LW9wZW4iLCIiKSxfLm9NKCkuZGlzcGF0Y2goYk4oITApKSxyTz1fLm1HKCkscChEKSx2KEgpLENOKCEwKSxoLnZhbHVlfHxfLklwKEVycm9yKCJGZCIpKSxfLkpOKGgudmFsdWUsRD8uZm9jdXNPbkNsb3NlLCEwKSl9fWZ1bmN0aW9uIGMoKXtrLnZhbHVlJiYoay52YWx1ZT0hMSxkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZSgiYm90dG9tLXNoZWV0LW9wZW4iKSwKbigpPy5HaD8uKCksck89dm9pZCAwLHAodm9pZCAwKSx2KHZvaWQgMCksQ04oITEpLF8uS04oaC52YWx1ZSksXy5vTSgpLmRpc3BhdGNoKGJOKCExKSkpfWZ1bmN0aW9uIGQoKXtrLnZhbHVlJiZ3aW5kb3cubG9jYXRpb24uaGFzaCE9PSIjYm90dG9tLXNoZWV0IiYmYygpfWFzeW5jIGZ1bmN0aW9uIGUoKXthd2FpdCBfLkZKO3dpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNib3R0b20tc2hlZXQiJiYoZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnR8fF8uWU0/Xy4kTSgiIiwhMCk6YXdhaXQgXy5aTSgpLGQoKSk7QSgpJiYoYihBKCkpLEYodm9pZCAwKSl9ZnVuY3Rpb24gZihHKXtfLnpOKCk7Ry5zdG9wUHJvcGFnYXRpb24oKX12YXIgaD1fLnVFKCJib3R0b20tc2hlZXQtY29udGFpbmVyIiksaz1fLnVNKCExKSxbbCxtXT1fLkoodm9pZCAwLHZvaWQgMCwidld1WGtiIiksbj1sLHA9bSxbcix0XT1fLkoodm9pZCAwLHZvaWQgMCwiQmZSQUxiIiksdj10LFt6LEVdPV8uSih2b2lkIDAsdm9pZCAwLAoieTd0TmxjIiksQT16LEY9RSxDPSgpPT4hKCFuKCkmJiFyKCkpO18uVUooKCk9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlc3RhcnQiLGMpO18ueSgpLnJlc29sdmUoXy5jTCkuUHooe3dnOkc9PntHJiZiKHt2aWV3TW9kZWw6Ry52aWV3TW9kZWwsUWs6Ry5Ra30pfSxKZTphc3luYygpPT57YXdhaXQgZSgpfSxkbTphc3luYygpPT4hIV8ueE4oKSxYcDooKT0+aC52YWx1ZSxvdzpHPT5HfSxhKCkpO18uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZCk7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInN0YXRlLW5hdmlnYXRlc3RhcnQiLGMpfSl9KTtyZXR1cm4gXy5LKCJib3R0b20tc2hlZXQtY29udGFpbmVyIix7ZWw6aCxyb2xlOiJkaWFsb2ciLGhpZGRlbjooKT0+IUMoKSwiYXJpYS1tb2RhbCI6ITAsImFyaWEtbGFiZWwiOigpPT5uKCk/LmhlYWRlclRpdGxlPwpuKCkuaGVhZGVyVGl0bGU6Xy4kTi5Ybn0sXy5LKF8uTyx7QTpDLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0Usb25jbGljazpfLnpOLHRpOiEwfSksXy5LKF8uTyx7QTpyLHRoZW46Rz0+Xy5LKGxPLHtkYXRhOkd9KSxXOigpPT5fLksoXy5PLHtBOm4sdGhlbjpHPT5fLnBHKHJPfHx7fSwoKT0+Xy5LKGpPLHtIYTooKT0+RygpLkhhLHBmOigpPT5HKCkucGYsR2s6KCk9PkcoKS5HayxHaDooKT0+RygpLkdoLGZvY3VzT25DbG9zZTooKT0+RygpLmZvY3VzT25DbG9zZSxpc0Rpc2FibGVkOigpPT5HKCkuaXNEaXNhYmxlZCxkaXNhYmxlZENvbW1hbmQ6KCk9PkcoKS5kaXNhYmxlZENvbW1hbmQsVWU6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5VZX0pLGpoOigpPT4hIUcoKS5VZSxHYjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLkdifSksWGk6KCk9PiEhRygpLkdiLFNlOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT4KRygpLlNlfSksaGg6KCk9PiEhRygpLlNlLGhlYWRlclRpdGxlOigpPT5HKCkuaGVhZGVyVGl0bGUsaGVhZGVyU3VidGl0bGU6KCk9PkcoKS5oZWFkZXJTdWJ0aXRsZSxXZjooKT0+Xy5LKF8udE4se2NvbXBvbmVudDooKT0+RygpLldmfSksaWg6KCk9PiEhRygpLldmLE5mOigpPT5fLksoXy50Tix7Y29tcG9uZW50OigpPT5HKCkuTmZ9KSxVZjooKT0+ISFHKCkuTmYsT2Y6KCk9Pl8uSyhfLnROLHtjb21wb25lbnQ6KCk9PkcoKS5PZn0pLFZmOigpPT4hIUcoKS5PZixSZTooKT0+RygpLlJlLE1mOigpPT5HKCkuTWYsUGY6KCk9PkcoKS5QZn0pKX0pfSksXy5LKCJidXR0b24iLHtjbGFzczoiY2xvc2UtYnV0dG9uIiwiYXJpYS1sYWJlbCI6Xy4kTi5DTE9TRSwib246Y2xpY2siOmZ9KSl9KSl9LCJkYiIpO18uc08uaWRvbUNvbXBhdD0hMDtfLnRPPV8uTCgoe2FyaWFMYWJlbDphLFVIOmIsYXJpYVByZXNzZWQ6YyxhcmlhRXhwYW5kZWQ6ZCxhcmlhRGlzYWJsZWQ6ZSxjbGFzc05hbWU6Zixjb250ZW50OmgsYnE6ayxpZDpsLG5hbWU6bSxvbmNsaWNrOm4sb250b3VjaHN0YXJ0OnAsb250b3VjaG1vdmU6cixvbnRvdWNoZW5kOnQsYng6dn0pPT57dj1fLnVFKCJidXR0b24iLHYpO3JldHVybiBfLksoImJ1dHRvbiIse2lkOmwsY2xhc3M6Xy5QKCJpY29uLWJ1dHRvbiIsZiksZWw6diwiYXJpYS1sYWJlbCI6YSwiYXJpYS1sYWJlbGxlZGJ5IjpiLCJhcmlhLXByZXNzZWQiOmMsImFyaWEtZXhwYW5kZWQiOmQsImFyaWEtaGFzcG9wdXAiOmssImFyaWEtZGlzYWJsZWQiOmUsIm9uOmNsaWNrIjpuLCJvbjp0b3VjaHN0YXJ0IjpsTihwKSwib246dG91Y2htb3ZlIjpsTihyKSwib246dG91Y2hlbmQiOmxOKHQpfSxfLksoXy5PLHtBOigpPT4hIWgsdGhlbjooKT0+aD8uKCksVzooKT0+Xy5LKF8uTUQse2ljb246bX0pfSkpfSwiZWIiKTsKXy50Ty5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e2NvbnRlbnQ6ITAsb25jbGljazohMCxvbnRvdWNoc3RhcnQ6ITAsb250b3VjaG1vdmU6ITAsb250b3VjaGVuZDohMCxieDohMH19O3ZhciBSTixQTixPTjtSTj0hMDsKUE49e0FWQVRBUl9DSVJDTEVfQkxVRToiQVZBVEFSX0xPR0dFRF9PVVQiLEJBQ0s6IkFSUk9XX0JBQ0siLEJMT0NLX1VTRVI6IkJMT0NLIixCUk9BRENBU1Q6InBvZGNhc3QiLENBUFRJT05TOiJDTE9TRURfQ0FQVElPTiIsQ0hFQ0tfQkxVRToiQ0hFQ0siLENIRUNLX0NJUkNMRV9GSUxMRUQ6IkNIRUNLX0NJUkNMRV9GSUxMRUQiLENIRUNLX0NJUkNMRV9USElDSzoiQ0hFQ0tfQ0lSQ0xFX09VVExJTkUiLENPVVJTRToibGlnaHRidWxiIixESVNMSUtFX0NPTU1FTlQ6IkRJU0xJS0UiLERJU0xJS0VfQ09NTUVOVF9GSUxMRUQ6IkRJU0xJS0VfRklMTEVEIixESVNMSUtFX1NFTEVDVEVEOiJESVNMSUtFX0ZJTExFRCIsRElTTUlTU0FMX0JMQUNLOiJESVNNSVNTQUwiLEVYUEFORF9NT1JFOiJFWFBBTkQiLEZBU0hJT05fTE9HTzoiZmFzaGlvbiIsR0FNSU5HOiJnYW1pbmciLEdBTUlOR19MT0dPOiJnYW1pbmciLEdFQVI6IlNFVFRJTkdTIixIRUxQOiJIRUxQX09VVExJTkUiLExJS0VfQ09NTUVOVDoiTElLRSIsCkxJS0VfQ09NTUVOVF9GSUxMRUQ6IkxJS0VfRklMTEVEIixMSUtFX1NFTEVDVEVEOiJMSUtFX0ZJTExFRCIsTElWRToiUkFEQVJfTElWRSIsTE9HTzoiWU9VVFVCRSIsTU9SRV9DSEVWUk9OOiJFWFBBTkQiLE1PUkVfVkVSVF9XSElURToiTU9SRV9WRVJUIixNVVNJQzoiYXVkaW8iLE1VU0lDX0ZJTExFRDoiYXVkaW9fZmlsbGVkIixORVdTOiJuZXdzIixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixQTEFZQUJMRVNfTE9HTzoidGljX3RhY190b2UiLFBMQVlFUl9ORVhUOiJTS0lQX05FWFRfRklMTEVEIixQTEFZRVJfUEFVU0U6IlBBVVNFX0ZJTExFRCIsUExBWUVSX1BMQVk6IlBMQVlfQVJST1dfRklMTEVEIixQTEFZRVJfUFJFVklPVVM6IlNLSVBfUFJFVklPVVNfRklMTEVEIixQTEFZRVJfUkVQTEFZOiJSRVBMQVkiLFBMQVlfQUxMOiJQTEFZX0FSUk9XX0ZJTExFRCIsUkVNT1ZFOiJESVNNSVNTQUwiLFNIT1JUU19ESVNMSUtFOiJzaG9ydHNfdGh1bWJzX2Rvd24iLFNIT1JUU19MSUtFOiJzaG9ydHNfdGh1bWJzX3VwIiwKU1BPTlNPUlNISVBfU1RBUjoiU1BPTlNPUlNISVBfU1RBUl9GSUxMRUQiLFRBQl9BQ0NPVU5UOiJBVkFUQVJfTE9HR0VEX09VVCIsVEFCX1RSRU5ESU5HOiJmaXJlIixUQUJfVFJFTkRJTkdfRklMTEVEOiJmaXJlX2ZpbGxlZCIsVFJFTkRJTkc6ImZpcmUiLFRST1BIWToidHJvcGh5IixWT0xVTUVfRE9XTl9PVVRMSU5FOiJWT0xVTUVfRE9XTiIsVk9MVU1FX1VQOiJWT0xVTUVfVVBfRklMTEVEIixWT0xVTUVfVVBfT1VUTElORToiVk9MVU1FX1VQIixZT1VUVUJFX0xPR086IkxPR09fV0lUSF9URVhUIixZT1VUVUJFX1BSRU1JVU1fTE9HTzoiWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfUkVEXzE2OiJ5b3V0dWJlX3Nob3J0c19ub190cmlhbmdsZV9maWxsZWQiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfV0hJVEVfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlX2ZpbGxlZCJ9OwpPTj17TE9HTzoiTE9HTyIsUExBWUFCTEVTX0xPR086InBsYXlhYmxlcyIsU0hPUlRTX0RJU0xJS0U6InRodW1iX2Rvd24iLFNIT1JUU19MSUtFOiJ0aHVtYl91cCIsVEFCX1RSRU5ESU5HOiJ0cmVuZGluZyIsVEFCX1RSRU5ESU5HX0ZJTExFRDoidHJlbmRpbmdfZmlsbGVkIixUUkVORElORzoidHJlbmRpbmcifTsKXy51Tz1fLkwoKHtpY29uOmEsYWN0aXZlOmIsY2xhc3NOYW1lOmMsc3R5bGU6ZCx5cDplLGhjOmYscm9sZTpoLEdlOmssSGM6bCxhcmlhSGlkZGVuOm0sYXJpYUV4cGFuZGVkOm4sYXJpYUxhYmVsOnAsaWQ6cixhZzp0LHNpemU6dn0pPT57bmhhKCk7dmFyIHo9KCk9PlFOKGE/LigpKSxFPV8uTigoKT0+e2E6e3ZhciBGPVFOKGE/LigpKSxDPWI/LigpO3ZhciBHPXY/LigpO2lmKEYpe3ZhciBEPV8ueSgpLnJlc29sdmUoXy5YTCksSD1GLnRvTG93ZXJDYXNlKCk7Rj17aWNvbk5hbWU6SCxpY29uU3R5bGU6SC5lbmRzV2l0aCgiX2ZpbGxlZCIpfHxGLmVuZHNXaXRoKCJfb24iKXx8Qz8ieW91dHViZV9maWxsIjp2b2lkIDAsaWNvblNpemU6R307Qz1ELmooRik7IUMmJkcmJihGLmljb25TaXplPXZvaWQgMCxDPUQuaihGKSk7IUMmJkguZW5kc1dpdGgoIl9maWxsZWQiKSYmKEYuaWNvbk5hbWU9SC5zdWJzdHJpbmcoMCxILmxlbmd0aC03KSxDPUQuaihGKSk7Q3x8KEYuaWNvblN0eWxlPXZvaWQgMCwKQz1ELmooRikpO2lmKEMpe0c9RjticmVhayBhfV8uSXAobmV3IF8uWGooIkljb24gbm90IHN1cHBvcnRlZCIse2ljb25OYW1lOkYuaWNvbk5hbWV9KSl9Rz12b2lkIDB9cmV0dXJuIEd9LHZvaWQgMCwiTTZYa0diIiksQT0oKT0+KHtpY29uV2lkdGg6IjEwMCUiLGljb25IZWlnaHQ6IjEwMCUiLGFnOnQ/LigpfSk7cmV0dXJuIF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PlFOKGE/LigpKSYmaz8uKCkmJmI/LigpIT09dm9pZCAwJiZPYmplY3QudmFsdWVzKEFoYSkuaW5jbHVkZXMoUU4oYT8uKCkpfHwiIil9LCgpPT5fLksoXy50TSx7YW5pbWF0ZWRJY29uVHlwZTp6LGFjdGl2ZTooKT0+ISFiPy4oKSxIYzpsLHNpemU6dixIQTooKT0+Xy5LKF8udU8se2ljb246YSxhY3RpdmU6YixHZTohMX0pfSkpLF8uSyhfLkNFLHt3aGVuOigpPT5RTihhPy4oKSkmJkUoKX0sKCk9Pl8uSygiYzMtaWNvbiIse2NsYXNzOmMsc3R5bGU6ZCxyb2xlOmgsImRhdGEtc2VsZWN0ZWQiOmUsImRhdGEtZGlzYWJsZWQiOmYsCiJmaWxsLWljb24iOigpPT5iPy4oKT09PSEwLGlkOnIsImljb24tc3RhdGUtb3V0bGluZSI6KCk9PmI/LigpPT09ITE/IiI6dm9pZCAwLCJpY29uLXN0YXRlLWZpbGxlZCI6KCk9PmI/LigpPT09ITA/IiI6dm9pZCAwLCJhcmlhLWhpZGRlbiI6bSwiYXJpYS1leHBhbmRlZCI6biwiYXJpYS1sYWJlbCI6cH0sXy5LKF8uWUwse2RhdGE6KCk9PkUoKSxvcHRpb25zOkF9KSkpKX0sImZiIik7Xy51Ty5pZG9tQ29tcGF0PSEwO18uTCgoe25hbWU6YSxsYWJlbDpiLG9uY2xpY2s6YyxicTpkLHJvbGU6ZX0pPT5fLksoImRpdiIse2NsYXNzOiJpY29uLWJ1dHRvbiIscm9sZTplLCJhcmlhLWxhYmVsIjpiLCJhcmlhLWhhc3BvcHVwIjpkLCJvbjpjbGljayI6Y30sXy5LKF8udU8se2ljb246YX0pKSwiZ2IiKS5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uY2xpY2s6ITB9fTsKdmFyIEpoYT0iYWxpZ25fbGVmdCBhcnJvd19sZWZ0IGZsYWcgaG9tZSBsb2dvX3dpdGhfdGV4dCBtZXNzYWdlX2J1YmJsZV9hbGVydCBtaWMgb3Blbl9uZXcgb3ZlcmZsb3dfaG9yaXpvbnRhbCBvdmVyZmxvd192ZXJ0aWNhbCBwbGF5X2NpcmNsZV9zaG9ydHMgc2VhcmNoIHNob3J0c19jb21tZW50IHNob3J0c19zaGFyZSBzaG9ydHNfdGh1bWJzX2Rvd24gc2hvcnRzX3RodW1ic191cCB3YXZlZm9ybSB4X21hcmsgeW91dHViZV9zaG9ydHMgeW91dHViZV9zaG9ydHNfYnJhbmRfMjQiLnNwbGl0KCIgIiksSWhhPSJhbGVydF9idWJibGUgYXJyb3dfbGVmdCBhcnJvd191cF9yaWdodCBmbGFnIGhvbWUgbG9nb193aXRoX3RleHQgbWljIG92ZXJmbG93X2hvcml6b250YWwgb3ZlcmZsb3dfdmVydGljYWwgcGxheV9jaXJjbGVfc2hvcnRzIHNlYXJjaCBzaGFyZSBzaG9ydHMgdGV4dF9hbGlnbl9sZWZ0IHRleHRfYnViYmxlIHRodW1iX2Rvd24gdGh1bWJfdXAgd2F2ZWZvcm0geCB5b3V0dWJlX3Nob3J0c19icmFuZF8yNCIuc3BsaXQoIiAiKTtfLnZPPV8uTChhPT57dmFyIHtpY29uVHlwZTpiLGxhYmVsOmMsYXJpYUxhYmVsOmQsYXJpYVByZXNzZWQ6ZSxkaXNhYmxlZDpmLG9uY2xpY2s6aCxzdHlsZTprLFZsOmwsTG06bSxPeDpuLGJhc2ljQ29sb3JQYWxldHRlRGF0YTpwLGRhdGE6cixhcmlhSGlkZGVuOnR9PV8uREMoYSx7aWNvblR5cGU6IiIsVmw6ITEsTG06IiIsT3g6ITEsYXJpYUhpZGRlbjohMX0pO18udUUoImRpdiIsdj0+e3I/LigpJiZtaGEodixyPy4oKSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpfLlAoImJ1dHRvbi13aXRoLWljb24gYnV0dG9uLXJlbmRlcmVyIGNvbXBhY3QiLG0pLHN0eWxlOigpPT57dmFyIHY7aWYodj1wPy4oKSl7dmFyIHo9IiIsRTtmb3IoRSBpbiB2KXtpZighdi5oYXNPd25Qcm9wZXJ0eShFKSljb250aW51ZTtsZXQgQT12W0VdLEY9RS5pbmNsdWRlcygiZm9yZWdyb3VuZCIpPyJjb2xvciI6U3RyaW5nKEUpLnJlcGxhY2UoLyhbQS1aXSkvZywiLSQxIikudG9Mb3dlckNhc2UoKTtBJiYKKHorPWAke0Z9OiR7Xy5ORChBKX07YCl9dj16fWVsc2Ugdj12b2lkIDA7cmV0dXJuIHY/LnRvU3RyaW5nKCl9LCJkYXRhLXN0eWxlIjooKT0+dHlwZW9mIGs/LigpPT09InN0cmluZyI/aygpOms/LigpPy5zdHlsZVR5cGUsImRhdGEtaWNvbi1vbmx5IjooKT0+IWM/LigpLCJpcy1idXN5IjpsLCJhcmlhLWJ1c3kiOmwsImFyaWEtaGlkZGVuIjp0fSxfLksoImJ1dHRvbiIse2NsYXNzOiJidXR0b24td2l0aC1pY29uLWJ1dHRvbiIsIm9uOmNsaWNrIjpmdW5jdGlvbih2KXtoPy4odik7di5zdG9wUHJvcGFnYXRpb24oKX0sZGlzYWJsZWQ6ZiwiYXJpYS1sYWJlbCI6KCk9PmQ/LigpfHwiIiwiYXJpYS1wcmVzc2VkIjooKT0+ZT8uKCk/P3ZvaWQgMH0sXy5LKCJkaXYiLHtjbGFzczoiYnV0dG9uLXdpdGgtaWNvbi1pbm5lciJ9LF8uSyhfLk8se0E6KCk9PiFuPy4oKSYmYigpLHRoZW46KCk9Pl8uSyhfLnVPLHtpY29uOmIsY2xhc3NOYW1lOiJidXR0b24tcmVuZGVyZXItaWNvbiJ9KX0pLF8uSygiZGl2IiwKe2NsYXNzOiJidXR0b24tcmVuZGVyZXItdGV4dCJ9LF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoXy5JSix7ZGF0YTpjfSl9KSksXy5LKF8uTyx7QTooKT0+bigpJiZiKCksdGhlbjooKT0+Xy5LKF8udU8se2ljb246YixjbGFzc05hbWU6ImJ1dHRvbi1yZW5kZXJlci1pY29uIn0pfSksXy5LKF8uTyx7QTpsLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJ1dHRvbi13aXRoLWljb24tc3Bpbm5lciBzcGlubmVyIn0pfSkpKSl9LCJpYiIpO18uSENbXy5SQVsiZGVmYXVsdCJdXT1vaGE7KGZ1bmN0aW9uKCl7dmFyIGE9Xy5jQjtfLmNCPWI9PnthPy4oYik7Xy5PRSgoKT0+e2ZvcihsZXQgYz0wO2M8Yi5sZW5ndGg7YysrKVROKGJbY10pfSl9fSkoKTtfLndPPV8uTCgoe2NoaWxkcmVuOmEsb25jbGljazpiLHJvbGU6YyxIeTpkfSk9Pnt2YXIgZT1fLnVFKCJidXR0b24iKTtfLlVKKCgpPT57ZD8uKGUudmFsdWUpfSk7cmV0dXJuIF8uSygieXRtLW1lbnUtaXRlbSIsbnVsbCxfLksoImJ1dHRvbiIse2NsYXNzOiJtZW51LWl0ZW0tYnV0dG9uIixlbDplLCJvbjpjbGljayI6Yixyb2xlOmN9LGEpKX0sImpiIik7Xy53Ty5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e29uY2xpY2s6ITAsSHk6ITB9fTtfLkwoKHt1cmw6YSxsSzpiLGNoaWxkcmVuOmN9KT0+Xy5LKCJ5dG0tbWVudS1pdGVtIixudWxsLF8uSygiYSIse2hyZWY6YSxjbGFzczoibWVudS1pdGVtLWJ1dHRvbiIsdGFyZ2V0OigpPT5iPy4oKT8iX2JsYW5rIjp2b2lkIDB9LGMpKSwia2IiKS5pZG9tQ29tcGF0PSEwOwpfLkwoKHtjb21tYW5kOmEsY2hpbGRyZW46Yn0pPT5fLksoInl0bS1tZW51LWl0ZW0iLG51bGwsXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEoKT8/dm9pZCAwLGNsYXNzTmFtZToibWVudS1pdGVtLWJ1dHRvbiJ9LGIpKSwibGIiKS5pZG9tQ29tcGF0PSEwO3ZhciBWTixXTixbWU4scGhhXT1fLkoobnVsbCx2b2lkIDAsIkdDS2c4ZSIpLHhPPV8uTCgoe0RoOmF9KT0+Xy5LKF8ud08sbnVsbCxfLksoImRpdiIse2NsYXNzOiJtZW51LWNhbmNlbC1idXR0b24ifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLlRkLGNsYXNzTmFtZToibWVudS1jYW5jZWwtaWNvbiJ9KSwoKT0+YSgpLmNhbmNlbEJ1dHRvbkxhYmVsKSksIm1iIiksWE49Xy5MKCh7RGg6YSxjaGlsZHJlbjpifSk9Pnt2YXIgYz1fLnVFKCJkaXYiLCgpPT57fSk7cmV0dXJuIF8uSygiZGl2Iix7ZWw6YyxjbGFzczpfLlAoIm1lbnUtY29udGVudCIseyJtZW51LWJvdHRvbSI6KCk9PmEoKS5ucSwibWVudS1zaG93LWljb25zIjooKT0+YSgpLkhhfHxhKCkubnF8fGEoKS5pc0Z1bGxXaWR0aCwicm91bmRlZC1jb250YWluZXIiOigpPT4hYSgpLmlzRnVsbFdpZHRofSksIm9uOmNsaWNrIjpmdW5jdGlvbigpe2EoKS5Td3x8YSgpLkVJfHxfLlVOKCl9LHJvbGU6KCk9PmEoKS5pc0Z1bGxXaWR0aD8Kdm9pZCAwOiJkaWFsb2ciLCJhcmlhLW1vZGFsIjooKT0+IWEoKS5pc0Z1bGxXaWR0aCwiYXJpYS1sYWJlbGxlZGJ5IjooKT0+YSgpLlZIfSxiLF8uSyhfLk8se0E6KCk9PiFhKCkuU3csdGhlbjooKT0+Xy5LKF8uTyx7QTooKT0+ISFhKCkubnEsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiYm90dG9tLW1lbnUtY2FuY2VsIn0sXy5LKHhPLHtEaDphfSkpLFc6KCk9Pl8uSyh4Tyx7RGg6YX0pfSl9KSl9LCJuYiIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZS1jaGFuZ2UiLGFPKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsYU8pO3ZhciB5Tzt5Tz1fLkwoYT0+e3ZhciBiPWEuY2hpbGRyZW4sYz1fLlp0fHx2b2lkIDAsZD1fLm1HKCk7cmV0dXJuIF8uSygieXRtLW1lbnUiLG51bGwsYih7b25DbGljazplPT57YS5zdG9wUHJvcGFnYXRpb24/LigpJiZlLnN0b3BQcm9wYWdhdGlvbigpO2EucHJldmVudERlZmF1bHQ/LigpJiZlLnByZXZlbnREZWZhdWx0KCk7cWhhKHtjb250ZW50OmEuY29udGVudCxjYW5jZWxCdXR0b25MYWJlbDphLmNhbmNlbEJ1dHRvbkxhYmVsPy4oKSxUZDphLlRkPy4oKSxjbGFzc05hbWU6YS5kZj8uKCksZm9jdXNPbkNsb3NlOmUuY3VycmVudFRhcmdldCxIYTphLkhhPy4oKSxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZD8uKCksZGlzYWJsZWRDb21tYW5kOmEuZGlzYWJsZWRDb21tYW5kPy4oKSxvd25lcjpjLEZBOmR9KX19KSl9LCJwYiIpOwpfLnpPPV8uTChhPT5fLksoeU8sey4uLmEsY29udGVudDphLmNoaWxkcmVufSwoe29uQ2xpY2s6Yn0pPT5fLksoXy5PLHtBOigpPT5hLmJ1dHRvbk92ZXJyaWRlcz8uKCksdGhlbjpjPT5fLksoXy5KSyx7ZGF0YTooKT0+KHtvblRhcDpiLGljb25Qb3NpdGlvbjoiaWNvbi1vbmx5IixzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc2l6ZToiTSIsc3RhdGU6ImFjdGl2ZSIsYWNjZXNzaWJpbGl0eUxhYmVsOmEubGFiZWw/LigpLC4uLmMoKX0pLGljb25OYW1lOmEuaWNvblR5cGV9KSxXOigpPT5fLksoXy50Tyx7bmFtZTphLmljb25UeXBlLGFyaWFMYWJlbDphLmxhYmVsLGNsYXNzTmFtZTpfLlAoYS5GaCx7c21hbGw6YS5sYn0pLG9uY2xpY2s6YixicTohMH0pfSkpLCJxYiIpO18uek8uaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntjaGlsZHJlbjohMH19OwpfLk1oYT1fLkwoYT0+Xy5LKHlPLHsuLi5hLGNvbnRlbnQ6YS5jaGlsZHJlbn0sKHtvbkNsaWNrOmJ9KT0+Xy5LKF8uTyx7QTooKT0+YS5idXR0b25PdmVycmlkZXM/LigpLHRoZW46Yz0+Xy5LKF8uSksse2RhdGE6KCk9Pih7b25UYXA6YixpY29uUG9zaXRpb246Imljb24td2l0aC1sYWJlbCIsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHNpemU6Ik0iLHN0YXRlOiJhY3RpdmUiLGFjY2Vzc2liaWxpdHlMYWJlbDphLmFyaWFMYWJlbD8uKCksV2E6YS5sYWJlbD8uKCk/Xy5BRihhLmxhYmVsKCkpOnZvaWQgMCwuLi5jKCl9KSxpY29uTmFtZTphLmljb25UeXBlfSksVzooKT0+Xy5LKF8udk8se2ljb25UeXBlOmEuaWNvblR5cGUsbGFiZWw6YS5sYWJlbCxhcmlhTGFiZWw6YS5hcmlhTGFiZWwsYXJpYVByZXNzZWQ6ITEsb25jbGljazpiLHN0eWxlOmEuc3R5bGUsVmw6YS5WbCxMbTphLmFJfSl9KSksInJiIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBPaGEsUGhhLEJPLFFoYSxSaGEsQ08sU2hhLEdPLEhPLFZoYSxVaGEsV2hhLFhoYSxZaGEsWmhhLGFpYSxQTyxiaWEsY2lhLGRpYSxlaWEsZmlhLGhpYSxnaWEsV08saWlhLFhPLGppYSxraWEsZVAsaFAsbFAsbWlhLG5pYSxrUCxqUCxOaGEsVGhhO09oYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgT2JqZWN0LnZhbHVlcyhOaGEpKWlmKF8uaXEoYik9PT1hKXJldHVybiEwO3JldHVybiExfTsKUGhhPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgsayxsKXt2YXIgbT0oMCxfLkR3KSgpO2Y9bmV3IF8uVHcoe3ZlVHlwZTpiLHlvdXR1YmVEYXRhOmYsanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO2w9Xy5Xdyh7YXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6bH0sbSk7ZSYmKGwuY3R0QXV0aEluZm89ZSk7ZT17Y3NuOm0scGFnZVZlOmYuZ2V0QXNKc29uKCl9O18ueCgiZXhwZWN0YXRpb25fbG9nZ2luZyIpJiZrJiZrLnNjcmVlbkNyZWF0ZWRMb2dnaW5nRXhwZWN0YXRpb25zJiYoZS5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucz1rLnNjcmVlbkNyZWF0ZWRMb2dnaW5nRXhwZWN0YXRpb25zKTtjJiZjLnZpc3VhbEVsZW1lbnQ/KGUuaW1wbGljaXRHZXN0dXJlPXtwYXJlbnRDc246Yy5jbGllbnRTY3JlZW5Ob25jZSxnZXN0dXJlZFZlOmMudmlzdWFsRWxlbWVudC5nZXRBc0pzb24oKX0saCYmKGUuaW1wbGljaXRHZXN0dXJlLmdlc3R1cmVUeXBlPWgpKTpjJiZfLklwKG5ldyBfLlhqKCJuZXdTY3JlZW4oKSBwYXJlbnQgZWxlbWVudCBkb2VzIG5vdCBoYXZlIGEgVkUgLSByb290VmUiLApiKSk7ZCYmKGUuY2xvbmVDc249ZCk7YT9fLkNwKCJzY3JlZW5DcmVhdGVkIixlLGEsbCk6Xy5FcCgic2NyZWVuQ3JlYXRlZCIsZSxsKTtfLnNtKF8uQ3csbmV3IF8uQncobSkpO18uRXcuY2xlYXIoKTtfLkZ3LmNsZWFyKCk7Xy5Hdy5jbGVhcigpO3JldHVybiBtfTtfLkFPPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGgpe18ud3goYSxiLGMsZSxoKX07Qk89ZnVuY3Rpb24oYSxiKXthLksuaGFzKGIpfHxhLksuc2V0KGIsW10pO3JldHVybiBhLksuZ2V0KGIpfTsKUWhhPWZ1bmN0aW9uKGEsYixjPTApe18uVmkoKCk9PntiLnRoZW4oZD0+e2Euai5oYXMoYykmJmEuQiYmYS5CKCk7dmFyIGU9Xy5pcShjKSxmPV8uVncoYyk7aWYoZSYmZil7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2Q/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmXy5ieChhLmNsaWVudCxlLGYsXy5VdyhkLnJlc3BvbnNlLnRyYWNraW5nUGFyYW1zKSwhMSxoKTtkPy5wbGF5ZXJSZXNwb25zZT8udHJhY2tpbmdQYXJhbXMmJl8uYngoYS5jbGllbnQsZSxmLF8uVXcoZC5wbGF5ZXJSZXNwb25zZS50cmFja2luZ1BhcmFtcyksITEsaCl9fSl9KSgpfTtSaGE9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTA7YjxhLkQubGVuZ3RoO2IrKyl7dmFyIGM9YS5EW2JdO3RyeXtjKCl9Y2F0Y2goZCl7Xy5HcChkKX19YS5ELmxlbmd0aD0wO2ZvcihiPTA7YjxhLlUubGVuZ3RoO2IrKyl7Yz1hLlVbYl07dHJ5e2MoKX1jYXRjaChkKXtfLkdwKGQpfX19OwpDTz1mdW5jdGlvbihhLGIsYyxkPXt9KXt2YXIgZT12b2lkIDA7ZC5sYXllcnx8KGQubGF5ZXI9MCk7ZT1kLnBhcmVudExheWVyIT09dm9pZCAwP2QucGFyZW50TGF5ZXI6ZC5sYXllcjt2YXIgZj1fLmlxKGUpO2U9Xy5WdyhlKTt2YXIgaD1jfHxlLGs7aCYmKGQucGFyZW50Q3NuIT09dm9pZCAwP2s9e2NsaWVudFNjcmVlbk5vbmNlOmQucGFyZW50Q3NuLHZpc3VhbEVsZW1lbnQ6aH06ZiYmZiE9PSJVTkRFRklORURfQ1NOIiYmKGs9e2NsaWVudFNjcmVlbk5vbmNlOmYsdmlzdWFsRWxlbWVudDpofSkpO3ZhciBsLG09Xy53KCJFVkVOVF9JRCIpO2Y9PT0iVU5ERUZJTkVEX0NTTiImJm0mJihsPXtzZXJ2bGV0RGF0YTp7c2VyaWFsaXplZFNlcnZsZXRFdmVudElkOm19fSk7Xy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpJiZmJiZfLmt4KGEsZik7Xy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZmJiZfLmN4KGgsZik7dHJ5e3ZhciBuPVBoYShhLmNsaWVudCxiLGssCmQudHAsZC5jdHRBdXRoSW5mbyxsLGQuaW1wbGljaXRHZXN0dXJlVHlwZSxkLmxvZ2dpbmdFeHBlY3RhdGlvbnMsZC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZSl9Y2F0Y2gocil7Xy5jdyhyLHtHSzpiLHJvb3RWZTplLHFLOmMsbkk6ZixwSzprLHRwOmQudHB9KTtfLkdwKHIpO3JldHVybn1fLm1xKG4sYixkLmxheWVyLGQuY3R0QXV0aEluZm8pO2YmJmYhPT0iVU5ERUZJTkVEX0NTTiImJmUmJiFPaGEoZikmJihfLnZ4KGEuY2xpZW50LGYsZSwhMCksYS5vLmRlbGV0ZShmKSk7Yj1CTyhhLGQubGF5ZXJ8fDApO2IubGVuZ3RoPjAmJiFiW2IubGVuZ3RoLTFdLmNzbiYmKGJbYi5sZW5ndGgtMV0uY3NuPW58fCIiKTtfLnpxKHtjbGllbnRTY3JlZW5Ob25jZTpufSk7Xy5EeCgpO18uVmkoXy5CeCgpLkspLmJpbmQoXy5CeCgpKSgpO3ZhciBwPV8uVncoZC5sYXllcik7ZiYmZiE9PSJVTkRFRklORURfQ1NOIiYmcCYmXy54KCJtdXNpY193ZWJfbWFya19yb290X3Zpc2libGUiKSYmXy5WaShfLkFPKSh2b2lkIDAsCm4scCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk7YS5qLmRlbGV0ZShkLmxheWVyfHwwKTthLkI9dm9pZCAwO2EuaGEuZ2V0KGQubGF5ZXIpPy5mb3JFYWNoKChyLHQpPT57cj9fLml4KGEsdCxyLGQubGF5ZXIpOnAmJl8uaXgoYSx0LHAsZC5sYXllcil9KTtSaGEoYSl9O1NoYT1mdW5jdGlvbihhLGIsYyxkPXt9KXthLmouYWRkKGQubGF5ZXJ8fDApO2EuQj0oKT0+e0NPKGEsYixjLGQpO3ZhciBlPV8uVncoZC5sYXllcik7aWYoZSl7bGV0IGY9Xy5pcShkLmxheWVyKTtmb3IobGV0IGggb2YgYS5ZKXtsZXQgaz1oWzBdLGw9aFsxXXx8ZTtmP18uangoYSxrLGwsZC5sYXllcixmKTpfLml4KGEsayxsLGQubGF5ZXIpfWZvcihsZXQgaCBvZiBhLk0pXy5teChhLGhbMF0saFsxXSl9fTtjfHxfLmlxKGQubGF5ZXIpfHxhLkIoKTtpZihkLmZsKWZvcihsZXQgZSBvZiBkLmZsKVFoYShhLGUsZC5sYXllcik7ZWxzZSBfLkdwKEVycm9yKCJOYiIpKX07Cl8uRE89ZnVuY3Rpb24oYSxiLGMsZD17fSl7Xy5WaSgoKT0+e1RoYS5pbmNsdWRlcyhiKXx8KF8uSXAobmV3IF8uWGooImNyZWF0ZUNsaWVudFNjcmVlbigpIGNhbGxlZCB3aXRoIGEgbm9uLXBhZ2UgVkUiLGIpKSxiPTgzNzY5KTtpZighZC5pc0hpc3RvcnlOYXZpZ2F0aW9uKXtsZXQgZT1kLmxheWVyfHwwO2EuZ2Euc2V0KGUsW10pO0JPKGEsZSkucHVzaCh7cm9vdFZlOmIsa2V5OmQua2V5fHwiIn0pfWEuWT1bXTthLk09W107ZC5mbD9TaGEoYSxiLGMsZCk6Q08oYSxiLGMsZCl9KSgpfTtfLkVPPWZ1bmN0aW9uKGEsYixjLGQpe2I9Xy5kYihiKTtyZXR1cm4gYiE9PXZvaWQgMD9hLm9wZW4oYixjLGQpOm51bGx9O18uRk89ZnVuY3Rpb24oYSxiLGMpe2M9YyE9bnVsbD8iPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSk6IiI7cmV0dXJuIF8uU2IoYSxiK2MpfTtHTz1mdW5jdGlvbihhLGIpe3JldHVybiBfLlF5KF8uZWQoYSxiKSk/PyExfTsKSE89ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBfLld4KGEsYixfLnh3KGMpLCExKX07Xy5JTz1mdW5jdGlvbihhLGIpe3ZhciBjO18udWIoYSxkPT57Yz1iW2RdO3JldHVybiEhY30pO3JldHVybiBjfTtfLkpPPWZ1bmN0aW9uKGEsYixjPTApeyhjPV8uaXEoYykpJiZhJiZfLlZpKF8uQU8pKHZvaWQgMCxjLGEsdm9pZCAwLGIsdm9pZCAwKX07Xy5LTz1mdW5jdGlvbigpe3JldHVybiEhXy53KCJNV0VCX0ZJUkVGT1hfWVRfTEFVTkNIRVIiKX07Xy5MTz1mdW5jdGlvbigpe3JldHVybiBfLmtNP18ua006Xy5sTSgpfTtfLk1PPWZ1bmN0aW9uKGEsYj01LGMpe2lmKGIhPT0wKXt2YXIgZD10eXBlb2YgYT09PSJmdW5jdGlvbiI/YSgpOmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYSk7ZD9jPy5ybD9fLmROKGQpOmQuZm9jdXMoKTpzZXRUaW1lb3V0KCgpPT57Xy5NTyhhLGItMSxjKX0sNTAwKX19O1ZoYT1mdW5jdGlvbigpe3ZhciBhPVVoYSgpO3JldHVybiBITyhhLDcsITApfTsKVWhhPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IE5PO2E9SE8oYSw1LCEwKTthPUhPKGEsMiwhMCk7YT1ITyhhLDQsITEpO2E9SE8oYSw4LCEwKTtyZXR1cm4gSE8oYSw5LCEwKX07V2hhPWZ1bmN0aW9uKCl7dmFyIGE9VmhhKCk7cmV0dXJuIEhPKGEsMTAsITApfTtYaGE9ZnVuY3Rpb24oKXt2YXIgYT1XaGEoKTtyZXR1cm4gSE8oYSwxMiwhMCl9O1loYT1mdW5jdGlvbigpe3ZhciBhPVhoYSgpO3JldHVybiBITyhhLDEzLCExKX07WmhhPWZ1bmN0aW9uKCl7dmFyIGE9WWhhKCk7cmV0dXJuIEhPKGEsMTQsITApfTthaWE9ZnVuY3Rpb24oYSl7cmV0dXJuICRoYS5zb21lKGI9PmIudGVzdChhKSl9OwpQTz1mdW5jdGlvbihhLGIpe3t2YXIgYz1hLmZvcm1Db250ZW50Py5sb2NhbGU7bGV0IGQ9Yz8uc3BsaXQoIi0iKVswXTtjPWMmJk9PLmluY2x1ZGVzKGMpP2M6ZCYmT08uaW5jbHVkZXMoZCk/ZDp2b2lkIDB9Yz0oYz8/ImVuIikucmVwbGFjZUFsbCgiLSIsIl8iKS50b0xvd2VyQ2FzZSgpO2E9YS5pbml0aWFsaXphdGlvbkRhdGE/LnVzZU5pZ2h0bHlSZWxlYXNlPyJuaWdodGx5IjoibGl2ZSI7cmV0dXJuIGI/LmdldEVuYWJsZUFsb2hhQmluYXJ5U3BsaXQ/LigpPygwLF8uWXgpYGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3VzZXJ2b2ljZS9mZWVkYmFjay9jbGllbnQvd2ViLyR7YX0vbWFpbl9saWdodF9iaW5hcnkuanNgOigwLF8uWXgpYGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3VzZXJ2b2ljZS9mZWVkYmFjay9jbGllbnQvd2ViLyR7YX0vbWFpbl9iaW5hcnlfXyR7Y30uanNgfTsKYmlhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKFFPJiZSTz09PWIpcmV0dXJuIFFPO1JPPWI7dmFyIGU9UE8oYSxkKTtyZXR1cm4gUU89Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P1Byb21pc2UucmVzb2x2ZShiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOm5ldyBQcm9taXNlKChmLGgpPT57dmFyIGs9Xy5DZCgiU0NSSVBUIik7Xy5vYihrLGUpO2sub25sb2FkPSgpPT57Yi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0P2YoYi5mZWVkYmFja1YyR2xvYmFsT2JqZWN0KTpoKEVycm9yKCJHZCIpKX07ay5vbmVycm9yPSgpPT57aChFcnJvcigiSGRgIitlLnRvU3RyaW5nKCkpKX07Yy5ib2R5LmFwcGVuZENoaWxkKGspfSl9OwpjaWE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoU08mJlRPPT09YilyZXR1cm4gU087VE89Yjt2YXIgZT1QTyhhLGQpO3JldHVybiBTTz1iLmZlZWRiYWNrVjJHbG9iYWxPYmplY3Q/UHJvbWlzZS5yZXNvbHZlKGIuZmVlZGJhY2tWMkdsb2JhbE9iamVjdCk6bmV3IFByb21pc2UoKGYsaCk9Pnt2YXIgaz1fLkNkKCJTQ1JJUFQiKTtfLm9iKGssZSk7ay5vbmxvYWQ9KCk9PntiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3Q/ZihiLmZlZWRiYWNrVjJHbG9iYWxPYmplY3QpOmgoRXJyb3IoIkdkIikpfTtrLm9uZXJyb3I9KCk9PntoKEVycm9yKCJIZGAiK2UudG9TdHJpbmcoKSkpfTtjLmJvZHkuYXBwZW5kQ2hpbGQoayl9KX07ZGlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPURhdGUubm93KCk7YT1hd2FpdCAoYXdhaXQgYmlhKGEsYyxkLGIpKS5pbml0aWFsaXplRmVlZGJhY2tDbGllbnRBc3luYyhhLGUsYik7YS5pbml0aWF0ZUFsb2hhKCk7cmV0dXJuIGF9OwplaWE9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9RGF0ZS5ub3coKTthPWF3YWl0IChhd2FpdCBjaWEoYSxjLGQuZG9jdW1lbnQsYikpLmluaXRpYWxpemVGZWVkYmFja0NsaWVudEFzeW5jKGEsZSxiLGQpO2EuaW5pdGlhdGVBbG9oYSgpO3JldHVybiBhfTsKZmlhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jfHxfLnU7aWYoYj8uZ2V0RW5hYmxlQWxvaGFCaW5hcnlTcGxpdD8uKCkpe2lmKGQuaXNGb3JtT3BlbmVkKXRocm93IG5ldyBVTztkLmlzRm9ybU9wZW5lZD0hMDthLmNhbGxiYWNrcz1hLmNhbGxiYWNrc3x8e307bGV0IGU9YS5jYWxsYmFja3Mub25DbG9zZXx8KCgpPT57fSk7YS5jYWxsYmFja3Mub25DbG9zZT1mPT57ZC5pc0Zvcm1PcGVuZWQ9ITE7ZShmKX07dHJ5e3JldHVybiBlaWEoYSxiLGQsZCl9Y2F0Y2goZil7dGhyb3cgZC5pc0Zvcm1PcGVuZWQ9ITEsZjt9fWVsc2V7aWYoZC5pc0Zvcm1PcGVuZWQpdGhyb3cgbmV3IFVPO2QuaXNGb3JtT3BlbmVkPSEwO2EuY2FsbGJhY2tzPWEuY2FsbGJhY2tzfHx7fTtsZXQgZT1hLmNhbGxiYWNrcy5vbkNsb3NlfHwoKCk9Pnt9KTthLmNhbGxiYWNrcy5vbkNsb3NlPWY9PntkLmlzRm9ybU9wZW5lZD0hMTtlKGYpfTt0cnl7cmV0dXJuIGRpYShhLGIsZCxkLmRvY3VtZW50KX1jYXRjaChmKXt0aHJvdyBkLmlzRm9ybU9wZW5lZD0KITEsZjt9fX07aGlhPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKChjLGQpPT57TnVtYmVyLmlzSW50ZWdlcihOdW1iZXIoYSkpJiZOdW1iZXIoYSk+MD8oZD1naWEoYj8/IiIpKyIvYWxvaGFfZm9ybV9wcm9wZXJ0aWVzP3Byb2R1Y3RJZD0iK2EsXy5seShkLGU9PntlPWUudGFyZ2V0O3ZhciBmPW51bGw7dHJ5e3ZhciBoPUpTT04saz1oLnN0cmluZ2lmeTtpZihlLnJhKXt2YXIgbD1lLnJhLnJlc3BvbnNlVGV4dDtsLmluZGV4T2YoIildfSdcbiIpPT0wJiYobD1sLnN1YnN0cmluZyg1KSk7dmFyIG09Xy5FdihsKX1lbHNlIG09dm9pZCAwO2Y9Xy5YeChWTyxrLmNhbGwoaCxtKSl9Y2F0Y2gobil7az1uZXcgVk8sbT1aaGEoKSxtPUhPKG0sMTUsITApLG09SE8obSwyMCwhMSksbT1ITyhtLDI1LCExKSxtPUhPKG0sMjYsITEpLGY9Xy5LdyhrLDEsbSl9YyhmKX0sIkdFVCIsIiIse30sMkUzLCEwKSk6ZChFcnJvcigiSWRgIithKSl9KX07CmdpYT1mdW5jdGlvbihhKXtyZXR1cm4gYWlhKGEpP2E6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdG9vbHMvZmVlZGJhY2sifTsKV089ZnVuY3Rpb24oYSxiLGMsZCl7YS50aW1lT2ZTdGFydENhbGw9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIGU9Y3x8Xy51LGY9ZS5kb2N1bWVudCxoPWEubm9uY2V8fF8uaWIoZS5kb2N1bWVudCk7aCYmIWEubm9uY2UmJihhLm5vbmNlPWgpO2lmKGEuZmxvdz09ImhlbHAiKXt2YXIgaz1fLnNhKCJkb2N1bWVudC5sb2NhdGlvbi5ocmVmIixlKTshYS5oZWxwQ2VudGVyQ29udGV4dCYmayYmKGEuaGVscENlbnRlckNvbnRleHQ9ay5zdWJzdHJpbmcoMCwxMjAwKSk7az0hMDtpZihiJiZKU09OJiZKU09OLnN0cmluZ2lmeSl7bGV0IGw9SlNPTi5zdHJpbmdpZnkoYik7KGs9bC5sZW5ndGg8PTEyMDApJiYoYS5wc2RKc29uPWwpfWt8fChiPXtpbnZhbGlkUHNkOiEwfSl9Yj1bYSxiLGMsZF07ZS5HT09HTEVfRkVFREJBQ0tfU1RBUlRfQVJHVU1FTlRTPWI7Yz1hLmZlZWRiYWNrU2VydmVyVXJpfHwiLy93d3cuZ29vZ2xlLmNvbS90b29scy9mZWVkYmFjayI7aWYoZD1lLkdPT0dMRV9GRUVEQkFDS19TVEFSVClkLmFwcGx5KGUsCmIpO2Vsc2V7ZT1jKyIvbG9hZC5qcz8iO2ZvcihsZXQgbCBpbiBhKWI9YVtsXSxiPT1udWxsfHxfLkFhKGIpfHwoZSs9ZW5jb2RlVVJJQ29tcG9uZW50KGwpKyI9IitlbmNvZGVVUklDb21wb25lbnQoYikrIiYiKTthPV8ueGQoZikuY3JlYXRlRWxlbWVudCgiU0NSSVBUIik7aCYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixoKTtfLm9iKGEsXy5UYShlKSk7Zi5ib2R5LmFwcGVuZENoaWxkKGEpfX07CmlpYT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmZsb3c9PT0ic3VibWl0IixmPSEhXy5kcixoPXR5cGVvZiB3aW5kb3chPT0idW5kZWZpbmVkIiYmISEod2luZG93Ll9fa2FybWFfX3x8d2luZG93Lmphc21pbmV8fHdpbmRvdy5tb2NoYXx8d2luZG93Lmplc3QpO2lmKGUmJmgpV08oYSxiLGMsZCk7ZWxzZXtoPShhd2FpdCBoaWEoYS5wcm9kdWN0SWQsYS5mZWVkYmFja1NlcnZlclVyaSkpPy52KCk7Zj0hZnx8aD8uZ2V0RW5hYmxlTXdlYigpO3ZhciBrPSFhLnRpbnlOb1BvaW50ZXJ8fGg/LmdldEVuYWJsZVRpbnlOb1BvaW50ZXIoKTtmPSFlJiYoIWh8fGguZ2V0QWxvaGFBdXRvR2FSb2xsb3V0KCkmJmYmJmspO2U9ZSYmaD8uZ2V0RW5hYmxlQWxvaGFIZWFkbGVzcygpJiZhLnJlcG9ydDtmfHxlP2F3YWl0IFhPKGEsYixjLGgsZCk6V08oYSxiLGMsZCl9fTsKWE89YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1jfHxfLnUsaD1hLnNlcnZlckVudmlyb25tZW50PT09IkRFViI7Yz1jfHxfLnU7Yz1hLm5vbmNlfHxfLmliKGMuZG9jdW1lbnQpO2g9e2ludGVncmF0aW9uS2V5czp7cHJvZHVjdElkOmEucHJvZHVjdElkLGZlZWRiYWNrQnVja2V0OmEuYnVja2V0LHRyaWdnZXJJZDphLnRyaWdnZXJJZCxtaWNyb2ZlZWRiYWNrU2NvcmU6YS5taWNyb2ZlZWRiYWNrU2NvcmV9LGNhbGxiYWNrczp7b25DbG9zZTphLmNhbGxiYWNrLG9uTG9hZDphLm9uTG9hZENhbGxiYWNrfSxmb3JtQ29udGVudDp7bG9jYWxlOmEubG9jYWxlLGRpc2FibGVTY3JlZW5zaG90OmEuZGlzYWJsZVNjcmVlbnNob3R0aW5nLHByb2R1Y3REaXNwbGF5TmFtZTp2b2lkIDAsYW5ub3VuY2VtZW50OnZvaWQgMCxpc3N1ZUNhdGVnb3JpZXM6dm9pZCAwLGluY2x1ZGVTZXZlcml0eVNlbGVjdGlvbjp2b2lkIDAsY3VzdG9tSW1hZ2VTcmM6dm9pZCAwLHRoYW5rWW91TWVzc2FnZTp2b2lkIDAsCnVzZXJFbWFpbDp2b2lkIDAsZGVmYXVsdEZvcm1JbnB1dFZhbHVlczp2b2lkIDAsZGVmYXVsdEZvcm1JbnB1dFZhbHVlc1N0cmluZzp2b2lkIDAsYWJ1c2VMaW5rOmEuYWJ1c2VMaW5rLGFkZGl0aW9uYWxEYXRhQ29uc2VudDphLmFkZGl0aW9uYWxEYXRhQ29uc2VudH0saW5pdGlhbGl6YXRpb25EYXRhOntpc0xvY2FsU2VydmVyOmgsbm9uY2U6Yyx1c2VOaWdodGx5UmVsZWFzZTpoLGZlZWRiYWNrSnNVcmw6dm9pZCAwLGZlZWRiYWNrQ3NzVXJsOnZvaWQgMCxmZWVkYmFja0pzVXJsU2VyaWFsaXplZDp2b2lkIDAsZmVlZGJhY2tDc3NVcmxTZXJpYWxpemVkOnZvaWQgMCxzdWJtaXNzaW9uU2VydmVyVXJpOmEuZmVlZGJhY2tTZXJ2ZXJVcmksY29sb3JTY2hlbWU6YS5jb2xvclNjaGVtZX0sZXh0cmFEYXRhOntwcm9kdWN0VmVyc2lvbjphLnByb2R1Y3RWZXJzaW9uLGF1dGhVc2VyOmEuYXV0aHVzZXIsY29uZmlndXJhdG9ySWQ6YS5jb25maWd1cmF0b3JJZCxjdXN0b21aSW5kZXg6YS5jdXN0b21aSW5kZXgsCnRpbnlOb1BvaW50ZXI6YS50aW55Tm9Qb2ludGVyLGFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjazphLmFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjayxlbmFibGVBbm9ueW1vdXNGZWVkYmFjazphLmVuYWJsZUFub255bW91c0ZlZWRiYWNrfX07YS5yZXBvcnQmJihoLmhlYWRsZXNzUmVwb3J0PWEucmVwb3J0KTtiJiYoYT1uZXcgTWFwKE9iamVjdC5lbnRyaWVzKGIpKSxoLmV4dHJhRGF0YS5wcm9kdWN0U3BlY2lmaWNEYXRhPWEpO2UmJihlPW5ldyBNYXAoT2JqZWN0LmVudHJpZXMoZSkpLGguZXh0cmFEYXRhLnByb2R1Y3RTcGVjaWZpY0JpbmFyeURhdGE9ZSk7YXdhaXQgZmlhKGgsZCxmKX07Cl8uWU89ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e2lmKGEuZmxvdz09PSJoZWxwIil7bGV0IGU9YS5oZWxwQ2VudGVyUGF0aC5yZXBsYWNlKC9eXC8vLCIiKTtfLkVPKGN8fHdpbmRvdyxgaHR0cHM6Ly9zdXBwb3J0Lmdvb2dsZS5jb20vJHtlfWApfWVsc2UgaWlhKGEsYixjLGQpLmNhdGNoKGU9PnshZXx8ZSBpbnN0YW5jZW9mIFVPfHxXTyhhLGIsYyxkKX0pfWNhdGNoKGUpe1hPKGEsYixjLG51bGwsZCkuY2F0Y2goZj0+eyFmfHxmIGluc3RhbmNlb2YgVU98fFdPKGEsYixjLGQpfSl9fTtfLlpPPWZ1bmN0aW9uKCl7dmFyIGE9Xy5JTyhbImZ1bGxzY3JlZW5FbGVtZW50Iiwid2Via2l0RnVsbHNjcmVlbkVsZW1lbnQiLCJtb3pGdWxsU2NyZWVuRWxlbWVudCIsIm1zRnVsbHNjcmVlbkVsZW1lbnQiXSxkb2N1bWVudCk7cmV0dXJuIGE/YTpudWxsfTsKXy4kTz1mdW5jdGlvbihhKXt2YXIgYj1hLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFja2xpc3QiLHtpbmNsdWRlQXNyOiEwfSk/P1tdO3JldHVybiBiPWppYShiLGEpfTtfLmFQPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFuc2xhdGlvbkxhbmd1YWdlcyIse2luY2x1ZGVBc3I6ITB9KXx8W119O2ppYT1mdW5jdGlvbihhLGIpe2I9Xy5hUChiKTtpZighYj8ubGVuZ3RoKXJldHVybiBhO3ZhciBjPWIuZmlsdGVyKGQ9PmQpO2I9YS5maWx0ZXIoZD0+ZC5sYW5ndWFnZUNvZGU/LnN0YXJ0c1dpdGgoImVuIikpO2ZvcihsZXQgZCBvZiBjKWlmKGIubGVuZ3RoKXtjPWJbMF07bGV0IGU9ey4uLmN9O2MubGFuZ3VhZ2VDb2RlIT09ZC5sYW5ndWFnZUNvZGUmJihlLmRpc3BsYXlOYW1lPWAke2MubGFuZ3VhZ2VOYW1lfSA+PiAke2QubGFuZ3VhZ2VOYW1lfWAsZS50cmFuc2xhdGlvbkxhbmd1YWdlPWQsYS5wdXNoKGUpKX1yZXR1cm4gYX07CmtpYT1mdW5jdGlvbigpe18uTU8oJ1thcmlhLWxhYmVsPSJZb3VUdWJlIl0nLDUse3JsOiEwfSl9O2VQPWZ1bmN0aW9uKGEpe3ZhciBiPWJQO2ImJihhP2NQPV8ueEYoYiwoKT0+Xy5LKGRQLG51bGwsXy5LKF8udE4se2NvbXBvbmVudDpsaWF9KSkse0lrOl8uWEN9KTooY1A/LigpLGNQPW51bGwpKX07aFA9ZnVuY3Rpb24oKXtjUCYmKGNQKCksY1A9bnVsbCk7ZlAodm9pZCAwKTtnUCgib3V0Iik7YlAmJihiUC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGJQKSxiUD1udWxsKX07bFA9ZnVuY3Rpb24oKXtpUC5sZW5ndGgmJihnUCgib3V0Iiksc2V0VGltZW91dCgoKT0+e2lQLnNoaWZ0KCk7aVAubGVuZ3RoPjA/KGhQKCksalAoKSxrUCgpKTooZVAoKSxoUCgpKX0sMTk1KSl9O21pYT1mdW5jdGlvbigpe18uTk0od2luZG93LCJzdGF0ZS1uYXZpZ2F0ZWVuZCIsKCk9PntzZXRUaW1lb3V0KGtpYSwxRTMpfSl9OwpuaWE9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYzMtdG9hc3QiKTtpZihiKXtsZXQgYz1iLnF1ZXJ5U2VsZWN0b3IoImJ1dHRvbiIpO2MmJl8uTk0oYywiZm9jdXMiLCgpPT57Y2xlYXJUaW1lb3V0KG1QKTttUD1zZXRUaW1lb3V0KGxQLGEpO18uTk0oYywiYmx1ciIsKCk9PntfLk9FKF8ublApfSl9KX19O2tQPWZ1bmN0aW9uKCl7Z1AoImluIik7dmFyIHtjb250ZW50OmEsZHVyYXRpb25NczpifT1pUC5sZW5ndGg/aVBbMF06e307ZlAoYSk7Y1B8fGVQKGEpO21QPXNldFRpbWVvdXQoKCk9PntsUCgpfSwyMjUrKGJ8fDApKTtfLlVNKCk9PT0ibGlicmFyeSI/bWlhKCk6YiE9PXZvaWQgMCYmbmlhKGIpfTtqUD1mdW5jdGlvbigpe2JQfHwoYlA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksYlAuaWQ9InRvYXN0cyIsKF8uWk8oKXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYlApLGVQKCkpfTsKXy5wUD1mdW5jdGlvbihhLGI9b1AsYz0hMSl7alAoKTtiPWJ8fG9QO2MmJmlQLmxlbmd0aD4wPyhjbGVhclRpbWVvdXQobVApLF8uT0UoKCk9PntpUFswXT17Y29udGVudDphLGR1cmF0aW9uTXM6Yn07a1AoKX0pKTooaVAucHVzaCh7Y29udGVudDphLGR1cmF0aW9uTXM6Yn0pLGlQLmxlbmd0aD09PTEmJl8uT0Uoa1ApKX07Xy5uUD1mdW5jdGlvbigpe2lQLmxlbmd0aD4wJiYoY2xlYXJUaW1lb3V0KG1QKSxsUCgpKX07Xy5xUD1mdW5jdGlvbihhKXtfLlhNKCJuYXZpZ2F0ZSIsYSl9O18uclA9ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJtd2ViX25ld19mdWxsc2NyZWVuIik/ISFfLlpPKCk6ISFfLlpPKCl8fHdpbmRvdy5sb2NhdGlvbi5oYXNoPT09IiNmYXV4ZnVsbHNjcmVlbiJ9OwpfLnNQPWZ1bmN0aW9uKGEpe2E9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYS50b1N0cmluZygpKTthLmZvY3VzKCk7YS5zZXRTZWxlY3Rpb25SYW5nZSgwLGEudmFsdWUubGVuZ3RoKTthPSExO3RyeXthPWRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5Iil9Y2F0Y2goYil7fV8ucFAoYT8oKT0+b2lhOigpPT5waWEpfTtfLnRQPWZ1bmN0aW9uKCl7cmV0dXJuISFfLncoIklEX1RPS0VOIil9O05oYT17SEM6MCx2QzoxLEJDOjIseUY6MyxYbjo0LERIOjUsQkY6NixRRzo3LHBHOjgsdUc6OSxURjoxMCxuRjoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07ClRoYT1bMzYxMSwyNzY4NiwyMjEwNTgsODUwMTMsMjM0NjIsMjQxMTg3LDE1NzU1Nyw0MjAxNiwyNjkyNiw1MTIzNiw3OTE0OCw1MDE2MCw3NzUwNCwzMTAyODEsMTUzNTg3LDg3OTA3LDE4NjMwLDE3NzAxOCwxNzcwMjMsNTQ0NDUsMzIxNjY2LDMyNjM1MywzMjYzNTQsODA5MzUsMTUyMTcyLDE4NDU1MywxMDU2NzUsMTUwNzIzLDM3NTIxLDE0NzI4NSw0Nzc4NiwyMzEyNTUsMjMxMjU0LDIzMTI1OCwyMzEyNTksOTgzNDksMjM3Mjk5LDE2ODI3MSwxNjg5NTQsMTY4Mjc3LDE2ODI3MywxNjgyNzAsMTIzNjk1LDI3MjAxOCwzMzg0OTcsMjI2OTg3LDIyNjk5MCwyMjY5ODgsNjgyNywyOTQzNCwyNTUwMTAsMTcxMzg4LDI0NDE4OSwyMzYyMDgsNzI4MiwxMjQ0NDgsMjk5OTAzLDI5OTg5NywyOTk5MDQsMjk5OTAxLDI5OTg5OSwyOTk5MDIsMjk5OTAwLDI5OTg5OCwxOTYwODgsMjUwODk3LDE5ODEwNCwzMjI3NiwxOTUxMTUsMTk1MTE0LDc2Mjc4LDIwMDYzNSwyMzA1OTQsMTQ3ODY4LDE0Nzg2OSwKMjc2MjQzLDkzOTExLDI3NDE4OCwyNzY2NTEsMzEzNjgwLDEwNjUzMSwyNTcyMzQsMjUyNTk4LDI1MjU5NywyNTI2MDAsMjUyNTk5LDI1MjU5NiwyMjUwMzEsMTc3ODQzLDI3MjU5LDI3MjYyLDI3MjYzLDIxNzU5LDI4MzY3MCwxNjA4NjYsMjA0MjQ5LDIyMjkwMCwyMDQyNTAsMTgwNjI2LDE3Nzk1OSwxNzc5NTcsMTgwNjI4LDIwNTcxNiwxOTc4NzgsMjczNzY2LDE3MTI0MywxNjA3ODksMTcxMjQ0LDE3MTI0MSwxNzEyNDUsMTcxMjQyLDIyNTU2MCwxODA2MjcsMTc3OTYwLDIzMTU4OSwxNzc5NTgsMTgwNjI5LDIwNTcxNywxOTc4NzksMTc3NTY1LDIxMjU3MywyMTA3MDksOTk0NDEyLDIzMDY4NCwyMjk4MDEsMjMwNjg1LDMzNDMxMCwzMzQzMTEsMzM0MzEyLDE5NzMzNywyMDkwMTAsMTk3MzM2LDE5NzMzOCwxOTg2MTgsMzAwODg0LDE3NTQ5MiwxOTgwNTIsMTk4MDUxLDE5Nzg1MiwxOTc5NzYsMzE3Mzc3LDE3NTQ5MywxNzU0OTQsMTc1NDk1LDE4OTI1NCwxNzU0OTYsMTc1NDk3LDM4NDA4LAoxNzU0OTgsMTc1NTAzLDE3NTUwNCwxNzU1MDUsMTc1NTA2LDE3NTUwNywxNzU1MDgsODA2MzcsNjg3MjcsMjA2OTMzLDIwNzk0NCwyMDY5MzQsMzAzMTIzLDIwNjkyOSwyMjE1NzUsNjg3MjgsMjIxNTc2LDgwMzUzLDgwMzU2LDMwODAzMywyNDkxMDcsMTgwNjM1LDc0NjEwLDQ1NzA3LDgzOTYyLDgzOTcwLDQ2NzEzLDE2NjU5MSw4OTcxMSw3NDYxMiwyMTM4MDksMTc5NjA3LDI0NTAwNiwxNTU3OTIsOTMyNjUsNzQ2MTEsMTMxMzgwLDEyODk3OSwxMzkzMTEsMTI4OTc4LDEzMTM5MSwxMDUzNTAsMTM5MzEyLDMzMzYzNywxMzQ4MDAsMTMxMzkyLDExMzUzMywyMjkyOTgsOTMyNTIsOTkzNTcsOTQ1MjEsMTE0MjUyLDExMzUzMiw5NDUyMiw5NDU4MywyMDIzNzEsODhFMywxMzk1ODAsOTMyNTMsOTMyNTQsOTQzODcsOTQzODgsOTMyNTUsOTc0MjQsNzI1MDIsMjE5ODY4LDIxMjk5MSwxMTAxMTEsNzYwMTksMTE3MDkyLDExNzA5Myw4OTQzMSwxOTE4MzEsMTEwNDY2LDIzMTM0Niw3NzI0MCwKNjA1MDgsMTg2MDkxLDE0ODEyMywxNDgxMjQsMTM3NDAxLDEzNzQwMiwxMzcwNDYsNzMzOTMsMjQ2Nzc2LDExMzUzNCwyNzYyMDAsOTIwOTgsMTMxMzgxLDg0NTE3LDgzNzU5LDMwOTU4MCwyMzA2NzYsMjQ5MTgzLDIzMDY3OSwyMzA2NzgsMjMwNjc3LDIzMDY4MSwyMzA2ODAsMTYyNzExLDIzNTIzNCwxNjI3MTIsODAzNTcsOTk0NDExLDI0MzMxNSwzMTM1MDYsMzIxOTY0LDg2MTEzLDcyNTk4LDE2ODQxMyw3MjczMywxMDczNDksMTI0Mjc1LDExODIwMywyMDA0MTAsMTMzMjc1LDE2MDE1NywxNTI1NjksMTU2NjUxLDEzMzI3NCwxNjAxNTksMTYwMTU4LDEzMzI3MiwxMzMyNzMsMTMzMjc2LDE0NDUwNywxNDMyNDcsMTc1OTk0LDE1NjY1MiwxNDMyNDgsMTQzMjQ5LDE0MzI1MCwxNDMyNTEsMTg5ODkyLDE4OTg5NCwxODk4OTMsMTU2NjUzLDIxNDIzNiwxNDQ0MDEsMTE3NDMxLDEzMzc5NywyMjUxMzcsMjczOTA1LDIyMjYxMiwyMjI2MTMsMTUzOTY0LDIwMTEzMywyMDExMzQsMjAxMTM1LAoyMDExMzYsMjAxMTM3LDEyODU3MiwyMDA0MTEsMjAwNDEyLDE5MDMzNywxMzM0MDUsMTE3NDI5LDExNzQzMCwxNzc5NTAsMTc0NzM0LDE3Nzk1MSwyMDExMzgsMjAxMTM5LDIwMTE0MCwyMDExNDEsMjAxMTQyLDExNzQzMiwxNzM5OTYsMTczOTk1LDE3NDk1MywxNzM5OTQsMTczOTk3LDEyMDA4MCwxMTcyNTksMTc4NTQ2LDI5Nzc1MiwxOTc4OTEsMTU2NjU1LDE1NjY1NCwxMjE2OTIsMjExNDE0LDIxMTQxMSwyMTE0MTIsMjExNDEzLDIxMTQwMywxODQ4NDYsMTg1OTkzLDMzNTA0OCwxNDU2NTYsMTU2NjU2LDE0NTY1NSwxNDU2NTMsMTQ1NjU0LDE0NTY1NywxMzI5NzIsMTMzMDUxLDEzMzY1OCwxMzI5NzEsMzM2NzI4LDk3NjE1LDE4MTI2MiwxOTA3NjIsMjUwMzQ0LDI1NDAyNywxNDMzNTksMTQzMzU2LDE0MzM2MSwxNDMzNTgsMTQzMzYwLDE0MzM1NywxNDIzMDMsMTQzMzUzLDI4MjE1OSwxNzI4NTksMTQzMzU0LDE0NDQ3OSwxNDMzNTUsMzE0MDIsMTgxNTkwLDEzMzYyNCwxNDY0NzcsCjEzMzYyMywxMzM2MjIsMTMzNjIxLDE5MjQxOCw4NDc3NCwzMDQ3NzYsMTk3OTkzLDI0MTQ2MCwxNjA4MDEsMTk3OTk1LDk1MTE3LDE3MjcyMSwxNTA0OTcsOTg5MzAsOTg5MzEsOTg5MzIsMzM4NTcwLDMzODQ3NCwzMzg0NzgsMzM4NDczLDE1MzMyMCwxNTMzMjEsNDMzNDcsMzA1MjY4LDI0OTI5NSwyMTAwMTYsMjEwMDE3LDI2MjY4NiwyMTE4NTEsMjExODUyLDMwNzIxOSwyMTE4NTMsMzI3ODEwLDEyOTg4OSwxOTc4ODgsMTk3ODg5LDE0OTEyMywyMjE5NTksMjIxNjI3LDIyMTk1OCw0NTQ3NCwxMDAzNTIsOTg0NDMsMTE3OTg1LDMzMzcwOCw3NDYxMywxNTU5MTEsNzQ2MTQsNjQ1MDIsMTM2MDMyLDc0NjE1LDc0NjE2LDEyMjIyNCw3NDYxNyw3NzgyMCw3NDYxOCwyNjI5ODgsMjYyOTg5LDIyNjk4MSw5MzI3OCw5MzI3NCw5MzI3NSw5MzI3NiwyMDA2ODgsMjAwNjg2LDIwMDY4NywxOTk4NDEsMjIxMTAsMjk0MzMsMTMzNzk4LDEzMjI5NSwyODEzMzIsMTIwNTQxLDIyMjExMiw4MjA0NywKMTEzNTUwLDc1ODM2LDc1ODM3LDMwMzg4MiwxOTI0MDksMjAzMjIxLDQyMzUyLDg0NTEyLDc2MDY1LDc1OTg5LDIwNTkxMSwyMDU5MTIsMjUyNjQ5LDIwNTkxMywyNTI2NTAsMjUyNjUxLDUxODc5LDE2NjIzLDMyNTk0LDI3MjQwLDMzODEwOSwyOTMzMjQsMzI2MzMsNzQ4NTgsMzA0MTUwLDI5NzA0NSwyNzUxOTgsMjcxODg0LDIyMjkzMiwyNzkxMTksMzEyNTgxLDI3MTg4NiwyMTM5MTUsMjc1MTk5LDMxMDc0OCwyMjUyMTYsMjUxMjQ0LDI1ODI1MSwyMTg2NzQsMjUxMjY2LDI1ODI1MCwyNTEyNjUsMzAxNjYyLDI1MTI0NSwyNzE4ODUsMzE1ODE4LDE1Njk5OSwzOTQ1LDE2OTg5LDQ1NTIwLDI1NDg4LDI1NDkyLDI1NDk0LDIzMjExMyw1NTc2MCwxNDA1NywxODQ1MSw1NzIwNCw1NzIwMywxNzg5NywxODE5OCwxNzg5OCwxNzkwOSw0Mzk4MCwyMjEwNTMsMTk1NTI5LDE4OTY2MCwzMDgwODgsMzA2NDQ4LDMwNjQ0NywzMDgwODcsMzA4MDg2LDQ2MjIwLDExNzIxLDE0Nzk5NCw0OTk1NCw5NjM2OSwKMzg1NCwyMTc2NDAsMTUxNjMzLDU2MjUxLDIwNTE5MiwyMTY3OTcsMTU5MTA4LDE4MTU2OCwyMzQ3ODksMjU2MjQsMTUyMDM2LDE2OTA2LDk5OTk5LDY4MTcyLDQ3OTczLDcyNzczLDI2OTcwLDI2OTcxLDk2ODA1LDE3NzUyLDI4MjE4MSwyNzg5MjYsNzMyMzMsMjA1OTIzLDEwOTUxMiwyMjI1NiwxNDExNSwyMjY5NiwyMzQ0MDksMjM0NDA4LDg5Mjc4LDg5Mjc3LDE5NTc0NSwxMDk1MTMsNDMyNzgsNDM0NTksNDM0NjQsODkyNzksNDM3MTcsNTU3NjQsMjIyNTUsMTQ3OTEyLDg5MjgxLDQwOTYzLDQzMjc3LDQzNDQyLDkxODI0LDI4Mzg5OCwxMjAxMzcsMTg2MzUwLDE4NjM1MSwyNTY2OTAsMjY0MzQ5LDI2NDM1MSwyNjQzNTAsMjY0MzUyLDIxMTAyNiwyNTA4OTYsOTYzNjcsMzY4NTAsNzI2OTQsMzc0MTQsMzY4NTEsMTI0ODYzLDEyMTM0Myw3MzQ5MSw1NDQ3MywxNjY4NjEsNDMzNzUsNDY2NzQsMzAyNjMxLDMzMTQ3MywyNDI1MjgsMTQzODE1LDEzOTA5NSwxNDQ0MDIsMTQ5OTY4LDE0OTk2OSwKMzI0NzMsNzI5MDEsNzI5MDYsNTA2MTIsNTA2MTMsNTA5NDIsODQ5MzgsODQ5NDMsODQ5MzksODQ5NDEsODQ5NDQsODQ5NDAsODQ5NDIsMzU1ODUsNTE5MjYsNzk5ODMsMTg5MjEsNTc4OTMsNDExODIsMTM1NzMyLDMzNDI0LDIyMjA3LDM2MjI5LDIyMjA2LDIyMjA1LDQ0NzYzLDMzNDI3LDY3NzkzLDIyMTgyLDM3MDkxLDM0NjUwLDUwNjE3LDIyMjg3LDI1MTQ0LDk3OTE3LDIyMDEyMiw2MjM5NywxNTA4NzEsMTUwODc0LDEyNTU5OCwxMzc5MzUsMzY5NjEsMTA4MDM1LDMyMzQ5MywyNzQyNiwyNzg1NywyNzg0NiwyNzg1NCw2OTY5Miw2MTQxMSwzOTI5OSwzODY5Niw2MjUyMCwzNjM4MiwxMDg3MDEsMTkyNjgyLDI3OTUzMSw1MDY2MywzNjM4NywxNDkwOCwzNzUzMywxMDU0NDMsNjE2MzUsNjIyNzQsMTYxNjcwLDEzMzgxOCwxODIxMTksNjU3MDIsNjU3MDMsNjU3MDEsMzIwNDY0LDc2MjU2LDI5ODE1NywyNjM4NDMsMzE1MjM0LDE5NjA3NSwxOTQ3NjgsMjUyMjAxLDE5NDc2OSwxOTE4ODUsCjI4MTQ4MCwyMzM2MzQsMjY1ODEwLDE5NDc3MCwyOTY5MzMsMTk1MzUwLDMyNzM4NSwzMjQ1ODYsMzAxNjA3LDE5NTM0OSwxOTQ3NzEsMjkzMDQxLDMwMTEyMSwyOTMwNDIsMjkzMDQzLDMwMTExNiwxNjYzODIsMzc2NzEsNDk5NTMsMjIwNjY5LDYwMDAwMSw2MDAwMDIsNkU1LDMzNTEzNCwyNDkyMjksMjEzNzc0LDIwNDU3MiwxOTEzODksMjcyMjU0LDI3MjI1MywyNTM4MzAsMjUzODMxLDI1MzgzMiwyNzIyNTIsMjUzODMzLDI1MzgzNCwyMDQ1NzQsMTkxMzkwLDE3OTU1NiwyMzg1OTYsMjEyNjYxLDE5MTM5MiwxOTc4MjYsMTkxMzkzLDIwNDU3MywzNjIxNiwyODIzNywyNDEyMTIsMjcyMDQ5LDE3MzcxOCwzOTU1MywxOTI1NDcsMjkyMjIsMzA0ODQ1LDI2MTA3LDI0MTIxMSwzODA1MCwyNjEwOCwyNzU4MTAsMTIwNzQ1LDI2MTA5LDI2MTEwLDY2ODgxLDI4MjM2LDE0NTg2LDI5NzY3MiwxNjA1OTgsNTc5MjksMjI2NzM2LDc0NzIzLDQ0MDk4LDE3MzY4OSw0NDA5OSwyMzUyOCw2MTY5OSwKMTM0MTA0LDEzNDEwMywxOTgzMTMsNTkxNDksMTgxMDEzLDI3ODMwNiwyODI0NzIsMjc3ODQ4LDE3MzE5MSwxNzMxOTIsMTczMTkzLDEwMTk1MSwxNzE1MDIsMTk2MDQzLDE5ODMwNSw5NzM0NiwxMTgwNTEsOTUxMDIsNjQ4ODIsMTE5NTA1LDYzNTk1LDI5NDExOSwyNTcyNjgsNjMzNDksMjgxMTI3LDI0MDU1Myw5NTEwMSw3NTI0MCwyNzAzOSw2ODgyMywyMTUzNyw4MzQ2NCw3NTcwNywyNTI5MDQsMTcwMjE1LDIyMzAzMyw4MzExMywxMDE5NTIsMTAxOTUzLDc5NjEwLDEyNTc1NSwyNDQwMiwyNDQwMCwzMjkyNSwxOTM0MDYsNTcxNzMsMTgzMzUxLDE1NjQyMSwxMjI1MDIsMTQ1MjY4LDEzODQ4MCw2NDQyMyw2NDQyNCwzMzk4NiwxMDA4MjgsMTI5MDg5LDI5OTU0MSwyMTQwOSwyODIyMTgsMjk5NTA2LDMzMzk1NiwyOTk1NDAsMjk5NTA3LDI5OTUwOSwyOTk1MzksMjk5NTA4LDI5OTUxMCwxODU2MTIsMjIyODI1LDMyMzMzMSwyNDUzNjYsMTM1MTU1LDEzNTE1NiwxMzUxNTcsMTM1MTU4LAoxNTgyMjUsMTM1MTU5LDEzNTE2MCwxNjc2NTEsMTM1MTYxLDEzNTE2MiwxMzUxNjMsMTU4MjI2LDE1ODIyNywxMzUxNjQsMTM1MTY1LDEzNTE2NiwxMTA3MCwxMTA3NCwxNzg4MCwyNzA1NjAsMzA3MDksMzA3MDcsMzA3MTEsMzA3MTAsMzA3MDgsMTg1MjEzLDE4NTI3MywxNDYxNDMsNjM2NDgsNjM2NDksMjIxMDU2LDI2NDQ5MCwyMTExODksMTExMDU5LDIxMTE4OCw1NzU0LDI2NDQ5MSwyMDQ0NSwyMzM0NzEsMTUxMzA4LDMxMzc1MCwxNTExNTIsMjI4MDY3LDEzMDk3NSwxMzA5NzYsMjQ3MjQ0LDI3MTYyMiwyNzE4MTMsMjYxMjEwLDIxMDgxNSwyOTUwNjksMjQ2MTI3LDMxNjg1OCwyNDUyNTYsMjQ0OTUwLDE5MTkyNSwxNjc2MzcsMjM0NTQ1LDE5NzE5NiwzMDI3MzUsMjE0Mjk1LDExMDM4NiwyMjEwNTQsMjczOTYwLDI4MjExMSwzMTIyOTAsMTEzNzQ2LDMyNTU5MywyNjg4ODYsNjY1NTcsMTgzMjE1LDE3MzEwLDI4NjMxLDIwMTkzNSwyMTU4OSwyNDIwMzYsMjM4MzUxLDE2NDgxNywKMTY4MDExLDE1NDk0Niw2ODAxMiwxNjI2MTcsNjA0ODAsMTg0NDMxLDEzODY2NCwyOTQwODksMjQ5ODI3LDE5NEUzLDE0MTEyMSwxNjQ1MDIsMzE1NzEsMTk1MDAyLDIwNjc5MywxNDE5NzgsMjMzOTg1LDI1MDg5NSwyNTQwNTIsMjU0MDUzLDI1NDA1NCwyNTQwNTEsMjU0MDUwLDI1NDA1NSwxNTAxMDUsMzA0MTY5LDE1MDEwNiwxNTAxMDcsMTUwMTA4LDc2OTgwLDQxNTc3LDQ1NDY5LDM4NjY5LDEzNzY4LDEzNzc3LDE0MTg0Miw2Mjk4NSwyMTMxOTAsNDcyNCwyMjMwNTIsNTkzNjksNDM5MjcsNDM5MjgsMTI5MjQsMTk3ODUzLDEwMDM1NSw1NjIxOSwyNzY2OSwyMDk5MjgsMTAzMzcsMjAzNjQ4LDIwMzY0OSw0Nzg5NiwzMjY5MzcsMTIyNjI5LDE4NjIwNCwyMjI4MjQsMjc1ODY5LDMxMjI5NSwyNzE2NzMsMjc0NjM3LDMxNzQ2MiwxMzk3MjMsMTM5NzIyLDEyMTI1OCwyNTM3ODksMjUzNzg3LDI1Mzc4NiwyNTM3ODgsMjUzNzkwLDEwNzU5OCwxMjc5OTEsOTY2MzksMTA3NTM2LDEzMDE2OSwKMjE2NTIyLDI5NjMxNiw5NjY2MSwxNDUxODgsMzIwNDI4LDIxMzkwNCwyNjkzNDIsOTY2NTgsMTE2NjQ2LDE1OTQyOCwxNjg2MTEsMTY4NjEyLDEyMTEyMiwyMTk4NjIsOTY2NjAsMjgyMjA4LDEyNzczOCwxMjcwODMsMTU1MjgxLDE2Mjk1OSwyMjA4ODYsMjI3MzU2LDI0ODAwNywxNjM1NjYsMzA3NjQ2LDE4NjY0MSwxNDc4NDIsMjczNjQ2LDI3MzY0NywyMTc5MzIsMTA0NDQzLDk2NjU5LDE0NzU5NSwxMDY0NDIsMjQ3MTYyLDIzMTQ5MywyMTM0MjcsMjk2ODEzLDI0NjU3NSwxODI0MjMsMTYyNzc2LDIyODkwOCwxMzQ4NDAsNjM2NjcsNjM2NjgsNjM2NjksMTMwNjg2LDMzNzE3MiwyNDgzODEsMTQ3MDM2LDIzOTA5NCwyNjI3NDMsMTg5ODEwLDIzOTA5NSw3ODMxNCwxNDc3OTksMzA1OTE5LDMwNTkyNCwyMzcxNDYsMTc0MDQ5LDE0ODY0OSw1NTc2MSwxMjcwOTgsMTM0ODQxLDk2MzY4LDY3Mzc0LDQ4OTkyLDE0NjE3NiwxNzYxMDUsMzIzMzIxLDMyMzMyMiwyMzMwMzUsNDk5NTYsMjY3NjQ1LAoyNzU3ODIsMTkwMTkwLDIyNTczOSwzMTk2MSwyNjM4OCwyMzgxMSw1RTQsMTI2MjUwLDk2MzcwLDIxMDU0OSwzMjk0OTAsNDczNTUsNDczNTYsMzc5MzUsNDU1MjEsMzMxNTM2LDMzMTUzNCwzMzE1MzUsMzMxNTMzLDIxNzYwLDgzNzY5LDQ5OTc3LDQ5OTc0LDkzNDk3LDkzNDk4LDM0MzI1LDE0MDc1OSwxMTU4MDMsMTIzNzA3LDEwMDA4MSwzNTMwOSwyMzc3MDYsNjgzMTQsMjU2MDIsMTAwMzM5LDE3MDg3MywxNDM1MTYsMjk5MjQ3LDE3ODkyMSwyNjg1NzQsMjU0ODg0LDI1ODIzMiw1OTAxOCwxODI0OCw1MDYyNSw5NzI5LDM3MTY4LDM3MTY5LDIxNjY3LDE2NzQ5LDE4NjM1LDM5MzA1LDE4MDQ2LDIyMTA1NywzMDE4OTcsMzAxOTAwLDI2OTk5MCw1Mzk2OSw4MjEzLDkzOTI2LDIyMTA1NSwyMTA1NDIsMjEyNTUyLDEwMjg1MiwxMTAwOTksMjI2NzgsNjkwNzYsMTM3NTc1LDEzOTIyNCwxMDA4NTYsMjM1NzcwLDE1NDQzMCwyMzU4NjEsMjA5NzU3LDE3NzM2LDM4MzIsMTQ3MTExLDU1NzU5LAo2NDAzMSwyMzQ3NDYsOTMwNDQsOTMwNDUsMjgxMzAyLDE3MDcwMSwxNzA3MDIsMTk0Nzk2LDM0Mzg4LDE2Nzg0MSwxNzA0MTksMTc2NTcsMTc2NTUsMzk1NzksMzk1NzgsMTcwNDEyLDc3NDQ4LDgxOTYsMTEzNTcsNjk4NzcsODE5NywxNjg1MDEsMTU2NTEyLDE2MTYxMywxNTY1MDksMjA4Mjc0LDE2MTYxMiwxNjE2MTQsMjY3NjkyLDI2Nzg1MSwyNjc1NzcsMjc5NzU1LDI2NzY5MywyNjc2OTQsMjY3NTc4LDI2MjgwMSwzMzQ0OTYsMzM1ODQ0LDI3MTIxOCwyNjYxMzEsMjY2MTMyLDI2Nzk3NywyNjc1NzksMjYyODAwLDI2Mjc5OSwyNjI4MDIsMjY3NTgwLDI2Mjc5OCwyNjc2OTUsMjY3NTgxLDI3MzIzMiw4MjAzOV07dmFyIE5PPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1nZXRFbmFibGVTc0VuZ2luZSgpe3JldHVybiBHTyh0aGlzLDIpfWdldEVuYWJsZUF3cigpe3JldHVybiBHTyh0aGlzLDMpfWdldEFsb2hhQXV0b0dhUm9sbG91dCgpe3JldHVybiBHTyh0aGlzLDUpfWdldEVuYWJsZUNvbmZpZ3VyYXRvcigpe3JldHVybiBHTyh0aGlzLDYpfWdldEVuYWJsZU13ZWIoKXtyZXR1cm4gR08odGhpcyw3KX1nZXRFbmFibGVDdGxDb25zZW50Q2hlY2tib3goKXtyZXR1cm4gR08odGhpcyw4KX1nZXRFbmFibGVJZnJhbWUoKXtyZXR1cm4gR08odGhpcyw5KX1nZXRFbmFibGVTY3JlZW5zaG90TnVkZ2UoKXtyZXR1cm4gR08odGhpcywxMCl9Z2V0RW5hYmxlV2ViU3RhcnR1cENvbmZpZ0VuZHBvaW50KCl7cmV0dXJuIEdPKHRoaXMsMTEpfWdldEVuYWJsZUp1bmtOdWRnZSgpe3JldHVybiBHTyh0aGlzLDEyKX1nZXRFbmFibGVDb25maWd1cmF0b3JMb2NhbGUoKXtyZXR1cm4gR08odGhpcywKMTMpfWdldEVuYWJsZVRpbnlOb1BvaW50ZXIoKXtyZXR1cm4gR08odGhpcywxNCl9Z2V0RW5hYmxlU3VwcG9ydFNlc3Npb25Mb2dnaW5nKCl7cmV0dXJuIEdPKHRoaXMsMTUpfWdldEVuYWJsZUZpbGVVcGxvYWRGb3JTY3JlZW5zaG90KCl7cmV0dXJuIEdPKHRoaXMsMTYpfWdldEVuYWJsZURpcmVjdERlZmxlY3Rpb25Gb3JTaW5nbGVDYXRlZ29yeSgpe3JldHVybiBHTyh0aGlzLDE3KX1nZXRFbmFibGVJbWFnZVNhbml0aXphdGlvbigpe3JldHVybiBHTyh0aGlzLDE4KX1nZXRFbmFibGVBbG9oYUJpbmFyeVNwbGl0KCl7cmV0dXJuIEdPKHRoaXMsMTkpfWdldEVuYWJsZURiRmVlZGJhY2tJbnRlbnRzKCl7cmV0dXJuIEdPKHRoaXMsMjApfWdldEVuYWJsZU1hcmtNYW5kYXRvcnlGaWVsZHNXaXRoUmVxdWlyZWQoKXtyZXR1cm4gR08odGhpcywyMSl9Z2V0RW5hYmxlRmVlZGJhY2tDYXRlZ29yeUN1c3RvbVVpKCl7cmV0dXJuIEdPKHRoaXMsMjIpfWdldEVuYWJsZVJlYWx0aW1lQ3RsKCl7cmV0dXJuIEdPKHRoaXMsCjIzKX1nZXRFbmFibGVBbG9oYUhlYWRsZXNzKCl7cmV0dXJuIEdPKHRoaXMsMjQpfWdldFVwZGF0ZUZlZWRiYWNrQ29uZmlybWF0aW9uQ2xhcml0eSgpe3JldHVybiBHTyh0aGlzLDI1KX1nZXRFbmFibGVWaWV3RmVlZGJhY2tSZXBvcnRzTGluaygpe3JldHVybiBHTyh0aGlzLDI2KX19O3ZhciBWTz1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9digpe3JldHVybiBfLk54KHRoaXMsTk8sMSl9fTt2YXIgJGhhPVsvaHR0cHM6XC9cL3NhbmRib3hcLmdvb2dsZVwuY29tXC90b29sc1wvZmVlZGJhY2svLC9odHRwczpcL1wvZmVlZGJhY2stZnJvbnRlbmQtcXVhbFthLXowLTkuXSpcLmdvb2dsZVwuY29tXC9pbmFwcC8sL2h0dHBzOlwvXC9mZWVkYmFjay1mcm9udGVuZC1xdWFsW2EtejAtOS5dKlwuZ29vZ2xlXC5jb21cL3Rvb2xzXC9mZWVkYmFjay8sL2h0dHBzOlwvXC8uKlwuZ29vZ2xldXNlcmNvbnRlbnRcLmNvbVwvaW5hcHAvXTt2YXIgT089ImFmIGFtIGFyLUVHIGFyLUpPIGFyLU1BIGFyLVNBIGFyLVhCIGFyIGF6IGJlIGJnIGJuIGJzIGNhIGNzIGN5IGRhIGRlLUFUIGRlLUNIIGRlIGVsIGVuIGVuLUdCIGVuLUFVIGVuLUNBIGVuLUlFIGVuLUlOIGVuLU5aIGVuLVNHIGVuLVhBIGVuLVhDIGVuLVpBIGVzIGVzLTQxOSBlcy1BUiBlcy1CTyBlcy1DTCBlcy1DTyBlcy1DUiBlcy1ETyBlcy1FQyBlcy1HVCBlcy1ITiBlcy1NWCBlcy1OSSBlcy1QQSBlcy1QRSBlcy1QUiBlcy1QWSBlcy1TViBlcy1VUyBlcy1VWSBlcy1WRSBldCBldSBmYSBmaSBmaWwgZnItQ0EgZnItQ0ggZnIgZ2wgZ3N3IGd1IGhlIGhpIGhyIGh1IGh5IGlkIGluIGlzIGl0IGl3IGphIGthIGtrIGttIGtuIGtvIGt5IGxuIGxvIGx0IGx2IG1rIG1sIG1uIG1vIG1yIG1zIG15IG5iIG5lIG5sIG5vIHBhIHBsIHB0IHB0LUJSIHB0LVBUIHJvIHJ1IHNpIHNrIHNsIHNxIHNyLUxhdG4gc3Igc3Ygc3cgdGEgdGUgdGggdGwgdHIgdWsgdXIgdXogdmkgemggemgtQ04gemgtSEsgemgtVFcgenUiLnNwbGl0KCIgIik7dmFyIFVPPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoKXtzdXBlcigiRm9ybSBpcyBlaXRoZXIgbG9hZGluZyBvciBhbHJlYWR5IG9wZW5lZCIpO3RoaXMubmFtZT0iRHVwbGljYXRlRm9ybUVycm9yIn19LFFPLFNPLFJPLFRPO18ucmEoInVzZXJmZWVkYmFjay5Db2xvclNjaGVtZXMiLHtpRjoxLEdDOjJ9KTtfLnJhKCJ1c2VyZmVlZGJhY2suYXBpLnN0YXJ0RmVlZGJhY2siLF8uWU8pO18ucWlhPW5ldyBfLkkoIm5hdGl2ZUFwcERlZXBsaW5rRW5kcG9pbnQiKTtfLnJpYT1NYXRoLnJhbmRvbSgpO3ZhciBzaWE9bmV3IF8uVnMoIlNUQVRJQ19BUFBfUFJPUFNfVE9LRU4iKTtfLnZQPW5ldyBfLlZzKCJUT0FTVF9PUFRJT05TIik7dmFyIG9QPV8uc2ooIm13ZWJfYzNfdG9hc3RfZHVyYXRpb25fbXMiLDVFMyksYlAsY1A9bnVsbCxbd1AsZ1BdPV8uSigib3V0Iix2b2lkIDAsIldjWmNlZSIpLFtsaWEsZlBdPV8uSih2b2lkIDAsdm9pZCAwLCJYVnl4eGYiKSxpUD1bXSxtUCxkUD1fLkwoYT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihfLnZQKSk7cmV0dXJuIF8uSygiYzMtdG9hc3QiLHtkaXI6d1Ascm9sZTooKT0+d1AoKT09PSJpbiI/ImFsZXJ0IjoiIixjbGFzczpfLlAoeyJodWctdG9hc3QiOiEhYj8uVnUsImludmVyc2UtdGhlbWUiOiEhYj8uQ3h9KX0sYS5jaGlsZHJlbil9LCJzYiIpO2RQLmlkb21Db21wYXQ9ITA7Xy50aWE9Xy51eCgzMDc5NTMpOyh7TWc6Xy51aWEsZ2s6Xy54UH09Xy56RyhhPT5hLmNoYW5uZWxJZCkpOyh7TWc6Xy52aWEsZ2s6Xy53aWF9PV8uekcoYT0+Xy5CKGEubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbj8udG9nZ2xlQnV0dG9uUmVuZGVyZXI/LmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQsXy5CeSk/LnBhcmFtcykpO18ueVA9bmV3IF8uVnMoIkxBWUVSX1RPS0VOIik7Xy56UD1fLkwoKHtVbzphLHN0YXlPcGVuT25DbGljazpiLGlzUGVyc2lzdGVudDpjLGNoaWxkcmVuOmR9KT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoeyJkaWFsb2ctZmxleC1idXR0b24iOigpPT5hPy4oKSE9PTF9KSwib246Y2xpY2siOmZ1bmN0aW9uKCl7Yj8uKCl8fGM/LigpfHxfLnkoKS5yZXNvbHZlKF8ueVApLmxkKCl9LHRhYmluZGV4OigpPT4oYj8uKCl8fGM/LigpLHZvaWQgMCl9LGQpLCJ1YiIpO18uelAuaWRvbUNvbXBhdD0hMDtfLkFQPV8uTCgoe2NoaWxkcmVuOmF9KT0+e3ZhciBiPV8ueSgpLnJlc29sdmUoXy5JbihzaWEpKT8uVUk7cmV0dXJuIF8uSygiZGl2Iix7ImFyaWEtbGl2ZSI6InBvbGl0ZSIsdGFiaW5kZXg6Yj8wOnZvaWQgMH0sYSl9LCJ2YiIpO18uQVAuaWRvbUNvbXBhdD0hMDtfLnhpYT1fLnNqKCJtd2ViX2lvc19mdWxsc2NyZWVuX3BsYXliYWNrX3RyYW5zaXRpb25fZGVsYXlfbXMiKXx8NTAwO18ueWlhPV8uc2ooIm13ZWJfaW9zX2Z1bGxzY3JlZW5fc3lzdGVtX3BhdXNlX2VwaWxzb25fbXMiKXx8MzUwO3ZhciBvaWE9Xy4kTi5YcyxwaWE9Xy4kTi5rdDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5hUT1mdW5jdGlvbihhLGIpe3JldHVybntvcGVuUG9wdXBBY3Rpb246e3BvcHVwVHlwZToiVE9BU1QiLHBvcHVwOntub3RpZmljYXRpb25BY3Rpb25SZW5kZXJlcjp7cmVzcG9uc2VUZXh0OmF9fSwuLi4oYiE9PXZvaWQgMD97ZHVyYXRpb25IaW50TXM6Yn06e30pfX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnduYT1uZXcgXy5JKCJlbnRpdHlVcGRhdGVDb21tYW5kIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTlc9bmV3IF8uSSgic2hvd1NoZWV0Q29tbWFuZCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnhuYT1uZXcgXy5JKCJsaXN0Vmlld01vZGVsIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uT1c9bmV3IF8uVnMoIlNDUkVFTl9NQU5BR0VSX1RPS0VOIik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB5bmE7Xy5QVz1mdW5jdGlvbihhKXtyZXR1cm4geW5hW2FdPz8iRVZFTlRfU1BBTl9UWVBFX1VOS05PV04ifTsKeW5hPXtjbGljazoiRVZFTlRfU1BBTl9UWVBFX0NMSUNLIixkYmxjbGljazoiRVZFTlRfU1BBTl9UWVBFX0RCTENMSUNLIixtb3VzZWRvd246IkVWRU5UX1NQQU5fVFlQRV9NT1VTRURPV04iLG1vdXNldXA6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRVVQIixtb3VzZW92ZXI6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRU9WRVIiLG1vdXNlb3V0OiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VPVVQiLG1vdXNlZW50ZXI6IkVWRU5UX1NQQU5fVFlQRV9NT1VTRUVOVEVSIixtb3VzZWxlYXZlOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VMRUFWRSIsbW91c2Vtb3ZlOiJFVkVOVF9TUEFOX1RZUEVfTU9VU0VNT1ZFIixjb250ZXh0bWVudToiRVZFTlRfU1BBTl9UWVBFX0NPTlRFWFRNRU5VIixrZXlkb3duOiJFVkVOVF9TUEFOX1RZUEVfS0VZRE9XTiIsa2V5dXA6IkVWRU5UX1NQQU5fVFlQRV9LRVlVUCIsa2V5cHJlc3M6IkVWRU5UX1NQQU5fVFlQRV9LRVlQUkVTUyIsdG91Y2hzdGFydDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIU1RBUlQiLAp0b3VjaGVuZDoiRVZFTlRfU1BBTl9UWVBFX1RPVUNIRU5EIix0b3VjaG1vdmU6IkVWRU5UX1NQQU5fVFlQRV9UT1VDSE1PVkUiLHRvdWNoY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfVE9VQ0hDQU5DRUwiLHBvaW50ZXJkb3duOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkRPV04iLHBvaW50ZXJ1cDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJVUCIscG9pbnRlcm1vdmU6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVSTU9WRSIscG9pbnRlcm92ZXI6IkVWRU5UX1NQQU5fVFlQRV9QT0lOVEVST1ZFUiIscG9pbnRlcm91dDoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJPVVQiLHBvaW50ZXJlbnRlcjoiRVZFTlRfU1BBTl9UWVBFX1BPSU5URVJFTlRFUiIscG9pbnRlcmxlYXZlOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkxFQVZFIixwb2ludGVyY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfUE9JTlRFUkNBTkNFTCIsZ290cG9pbnRlcmNhcHR1cmU6IkVWRU5UX1NQQU5fVFlQRV9HT1RQT0lOVEVSQ0FQVFVSRSIsCmxvc3Rwb2ludGVyY2FwdHVyZToiRVZFTlRfU1BBTl9UWVBFX0xPU1RQT0lOVEVSQ0FQVFVSRSIsc3VibWl0OiJFVkVOVF9TUEFOX1RZUEVfU1VCTUlUIixjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9DSEFOR0UiLGlucHV0OiJFVkVOVF9TUEFOX1RZUEVfSU5QVVQiLGZvY3VzOiJFVkVOVF9TUEFOX1RZUEVfRk9DVVMiLGJsdXI6IkVWRU5UX1NQQU5fVFlQRV9CTFVSIixyZXNldDoiRVZFTlRfU1BBTl9UWVBFX1JFU0VUIixzZWxlY3Q6IkVWRU5UX1NQQU5fVFlQRV9TRUxFQ1QiLGludmFsaWQ6IkVWRU5UX1NQQU5fVFlQRV9JTlZBTElEIixsb2FkOiJFVkVOVF9TUEFOX1RZUEVfTE9BRCIsdW5sb2FkOiJFVkVOVF9TUEFOX1RZUEVfVU5MT0FEIixiZWZvcmV1bmxvYWQ6IkVWRU5UX1NQQU5fVFlQRV9CRUZPUkVVTkxPQUQiLGRvbWNvbnRlbnRsb2FkZWQ6IkVWRU5UX1NQQU5fVFlQRV9ET01DT05URU5UTE9BREVEIixyZXNpemU6IkVWRU5UX1NQQU5fVFlQRV9SRVNJWkUiLHNjcm9sbDoiRVZFTlRfU1BBTl9UWVBFX1NDUk9MTCIsCnBhZ2VzaG93OiJFVkVOVF9TUEFOX1RZUEVfUEFHRVNIT1ciLHBhZ2VoaWRlOiJFVkVOVF9TUEFOX1RZUEVfUEFHRUhJREUiLHBsYXk6IkVWRU5UX1NQQU5fVFlQRV9QTEFZIixwYXVzZToiRVZFTlRfU1BBTl9UWVBFX1BBVVNFIixwbGF5aW5nOiJFVkVOVF9TUEFOX1RZUEVfUExBWUlORyIsd2FpdGluZzoiRVZFTlRfU1BBTl9UWVBFX1dBSVRJTkciLHNlZWtpbmc6IkVWRU5UX1NQQU5fVFlQRV9TRUVLSU5HIixzZWVrZWQ6IkVWRU5UX1NQQU5fVFlQRV9TRUVLRUQiLGVuZGVkOiJFVkVOVF9TUEFOX1RZUEVfRU5ERUQiLHZvbHVtZWNoYW5nZToiRVZFTlRfU1BBTl9UWVBFX1ZPTFVNRUNIQU5HRSIsdGltZXVwZGF0ZToiRVZFTlRfU1BBTl9UWVBFX1RJTUVVUERBVEUiLHJhdGVjaGFuZ2U6IkVWRU5UX1NQQU5fVFlQRV9SQVRFQ0hBTkdFIixkcmFnc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9EUkFHU1RBUlQiLGRyYWc6IkVWRU5UX1NQQU5fVFlQRV9EUkFHIixkcmFnZW5kOiJFVkVOVF9TUEFOX1RZUEVfRFJBR0VORCIsCmRyYWdlbnRlcjoiRVZFTlRfU1BBTl9UWVBFX0RSQUdFTlRFUiIsZHJhZ2xlYXZlOiJFVkVOVF9TUEFOX1RZUEVfRFJBR0xFQVZFIixkcmFnb3ZlcjoiRVZFTlRfU1BBTl9UWVBFX0RSQUdPVkVSIixkcm9wOiJFVkVOVF9TUEFOX1RZUEVfRFJPUCIsYW5pbWF0aW9uc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9BTklNQVRJT05TVEFSVCIsYW5pbWF0aW9uZW5kOiJFVkVOVF9TUEFOX1RZUEVfQU5JTUFUSU9ORU5EIixhbmltYXRpb25pdGVyYXRpb246IkVWRU5UX1NQQU5fVFlQRV9BTklNQVRJT05JVEVSQVRJT04iLHRyYW5zaXRpb25ydW46IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9OUlVOIix0cmFuc2l0aW9uc3RhcnQ6IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9OU1RBUlQiLHRyYW5zaXRpb25lbmQ6IkVWRU5UX1NQQU5fVFlQRV9UUkFOU0lUSU9ORU5EIix0cmFuc2l0aW9uY2FuY2VsOiJFVkVOVF9TUEFOX1RZUEVfVFJBTlNJVElPTkNBTkNFTCJ9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlFXPW5ldyBfLkkoInNob3dFbmdhZ2VtZW50UGFuZWxFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewovKgoKTWF0aC51dWlkLmpzICh2MS40KQpodHRwOi8vd3d3LmJyb29mYS5jb20KbWFpbHRvOnJvYmVydEBicm9vZmEuY29tCkNvcHlyaWdodCAoYykgMjAxMCBSb2JlcnQgS2llZmZlcgpEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4KKi8KdmFyIHpuYSxSVyxBbmEsQm5hLENuYSxEbmEsRW5hLFRXLEZuYSxVVyxHbmEsSG5hLFZXLEluYSxKbmEsWFcsWVcsWlcsJFcsTG5hLE1uYSxiWCxoWCxObmEsT25hLFBuYSxqWCxrWCxSbmEsbVgsU25hLG9YLHBYLFVuYSxWbmEsblgsV25hLFRuYSxsWCxxWCxZbmEsYW9hLGJvYSxjb2EsZG9hLGVvYSxzWCxmb2EsZ29hLHRYLGhvYSx1WCx2WCxpb2Esa29hLHhYLGxvYSx5WCxub2Esb29hLHBvYSxxb2EsQlgscm9hLHNvYSxDWCx0b2EsdW9hLHZvYSx3b2EseG9hLHlvYSx6b2EsQW9hLEJvYSxDb2EsSFgsSVgsRm9hLG1vYSxLWCxIb2EsSlgsSW9hLEpvYSxLb2EsTVgsTG9hLE5YLE1vYSxOb2EsT29hLFBvYSxRb2EsUm9hLFNvYSxPWCxUb2EsUFgsUVgsVm9hLFVvYSxXb2EsWG9hLFlvYSxab2EsJG9hLFZYLFVYLFdYLCRYLFhYLFlYLFpYLGFZLGFwYSxicGEsY3BhLGJZLGVZLGRZLGRwYSxmWSxlcGEsZnBhLGdwYSxocGEsZ1ksanBhLGlwYSxscGEscHBhLGpZLHFwYSxrWSxsWSxuWSxtWSwKaVkscnBhLHNwYSx1cGEscFksd3BhLG9ZLHJZLHNZLHRZLHVZLHpwYSxBcGEsd1kseFkseVksQVksQ3BhLEJZLERwYSxEWSxFcGEsRlksSFksRnBhLElZLEpZLEhwYSxLWSxNWSxJcGEsSnBhLExwYSxNcGEsTnBhLFBwYSxScGEsVHBhLFVwYSxOWSxXcGEsVnBhLFBZLFNZLE9ZLFJZLFpwYSxZcGEsYnFhLGRxYSxlcWEsZnFhLGdxYSxXWSxocWEsaXFhLGpxYSxrcWEsbHFhLG1xYSxjcWEsVlksdHFhLG5xYSx6WCx1cWEsV1csRG9hLGNaLEtuYSx4cWEsZFosZVoseXFhLHpxYSxBcWEsQnFhLENxYSxEcWEsYVgsZlosZ1gsY1gsZFgsZVgsZlgsRXFhLGdaLGhaLEZxYSxpWixHcWEsSHFhLGlYLGpaLElxYSxRbmEsWG5hLEpxYSxabmEsJG5hLHJYLExxYSxqb2EsWFksa1osTXFhLHFZLEFYO3puYT1mdW5jdGlvbihhLGIpe2I9KDAsXy55ZykoYik7Yj1fLkVmKGIsYik7Yi52PSEwO18uSmYoYSxiKTtyZXR1cm4gYX07ClJXPWZ1bmN0aW9uKGEsYil7YT1hLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7KytjKWlmKGFbY10uc2NvcGU9PT1iKXJldHVybiBhW2NdLnRva2VufHx2b2lkIDB9OwpBbmE9ZnVuY3Rpb24oYSxiLGM9e30pe18uVmkoKCk9Pnt2YXIgZD1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5yb290VmV8fF8uQihiPy5jb21tYW5kTWV0YWRhdGEsXy5ueCk/LnNjcmVlblZpc3VhbEVsZW1lbnQ/LnVpVHlwZTtpZihkKXt2YXIgZT1fLkIoYj8uY29tbWFuZE1ldGFkYXRhLF8uZWFhKTtpZihlPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIGY9Xy5VdyhlLnBhcmVudFRyYWNraW5nUGFyYW1zKTtpZihlLnBhcmVudENzbil2YXIgaD1lLnBhcmVudENzbn1lbHNlIGMuY2xpY2tlZFZpc3VhbEVsZW1lbnQ/Zj1jLmNsaWNrZWRWaXN1YWxFbGVtZW50OmIuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGY9Xy5VdyhiLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntlPV8uQihiLF8uQXcpO3ZhciBrPV8uQihiLF8uZGFhKTtpZihlKXtpZihrPVJXKGUsIlZJREVPIikpe2U9e3Rva2VuOmssdmlkZW9JZDplLnZpZGVvSWR9O2JyZWFrIGF9fWVsc2UgaWYoayYmKGU9UlcoaywKIlBMQVlMSVNUIikpKXtlPXt0b2tlbjplLHBsYXlsaXN0SWQ6ay5wbGF5bGlzdElkfTticmVhayBhfWU9dm9pZCAwfWM9e2N0dEF1dGhJbmZvOmUscGFyZW50Q3NuOmgsLi4uY307Xy54KCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihjLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Xy5CKGI/LmNvbW1hbmRNZXRhZGF0YSxfLm54KT8ubG9nZ2luZ0V4cGVjdGF0aW9uc3x8dm9pZCAwKTtfLkRPKGEsZCxmLGMpfWVsc2UgXy5JcChuZXcgXy5YaigiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixiKSl9KSgpfTtCbmE9ZnVuY3Rpb24oYSxiKXthPWBTTElfTkFNRV9ZT1VUVUJFX0VNQkVEU19XRUJfRlVMTFNDUkVFTl9SRVFVRVNUX1NMSV8ke2F9YDtfLkV5LnJlZ2lzdGVyLmhhcyhhKT9iPV8uRXkucmVnaXN0ZXIuZ2V0KGEpOihiPWIoKSxfLkV5LnJlZ2lzdGVyLnNldChhLGIpKTtyZXR1cm4gYn07Q25hPWZ1bmN0aW9uKHtzZXJ2aWNlSWQ6YX0pe3JldHVybiBhLm99OwpEbmE9ZnVuY3Rpb24oKXt2YXIgYT1fLkd5LGI9W1NXXSxjPWIubWFwKGw9PkNuYShsKSksZD1iLm1hcChsPT5hLm1hcHBpbmdzLmdldChsLnRvU3RyaW5nKCkpKS5maWx0ZXIobD0+bCk7aWYoZC5sZW5ndGg9PT1iLmxlbmd0aClyZXR1cm4gXy5LeShkLm1hcCgobCxtKT0+Xy5ueShhLGwsYlttXSkpKTt2YXIgZT1fLlZkKCkuYWYoYyk7ZD1fLklmKGMubWFwKGw9PmVbbF0pKTt2YXIgZj1kb2N1bWVudC5oaWRkZW4saD0tMSxrPV8uc2ooImdldF9hc3luY190aW1lb3V0X21zIiwtMSk7az4tMSYmKGg9c2V0VGltZW91dCgoKT0+e18uSXAobmV3IF8uWGooIk1vZHVsZSB0aW1lb3V0LiIsYyxmLGRvY3VtZW50LmhpZGRlbikpfSxrKSk7cmV0dXJuIHpuYShkLnRoZW4oKCk9PmIubWFwKGw9Pl8ubnkoYSxhLm1hcHBpbmdzLmdldChsLnRvU3RyaW5nKCkpLGwpKSkuS2cobD0+e2ZvcihsZXQgbSBvZiBhLmopbShsKTt0aHJvdyBsO30pLCgpPT57Y2xlYXJUaW1lb3V0KGgpfSl9OwpFbmE9ZnVuY3Rpb24oKXtyZXR1cm4gRG5hKCkudGhlbihhPT5hWzBdKX07VFc9ZnVuY3Rpb24oYSxiKXthLkRmPWI7Zm9yKGxldCBjIG9mIGEuZGF0YSliKGMpO2EuZGF0YT1bXX07Rm5hPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDw9Mj9BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhLGIpOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGEsYixjKX07VVc9ZnVuY3Rpb24oYSl7dmFyIGI9W107Zm9yKGxldCBkPTA7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKyl7bGV0IGU9YXJndW1lbnRzW2RdO2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCBmPTA7ZjxlLmxlbmd0aDtmKz04MTkyKXt2YXIgYz1GbmEoZSxmLGYrODE5Mik7Yz1VVy5hcHBseShudWxsLGMpO2ZvcihsZXQgaD0wO2g8Yy5sZW5ndGg7aCsrKWIucHVzaChjW2hdKX1lbHNlIGIucHVzaChlKX1yZXR1cm4gYn07CkduYT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoZnVuY3Rpb24oYil7dmFyIGM9YS5sZW5ndGgsZD1bXTtpZihjKXt2YXIgZT1mdW5jdGlvbihoLGssbCl7Yy0tO2RbaF09az97ZnVsZmlsbGVkOiEwLHZhbHVlOmx9OntmdWxmaWxsZWQ6ITEscmVhc29uOmx9O2M9PTAmJmIoZCl9O2ZvcihsZXQgaD0wO2g8YS5sZW5ndGg7aCsrKXt2YXIgZj1hW2hdO18uSGYoZixfLkRhKGUsaCwhMCksXy5EYShlLGgsITEpKX19ZWxzZSBiKGQpfSl9O0huYT1mdW5jdGlvbihhKXt2YXIgYj1fLk16KCJMT0dHRURfSU4iLGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7Xy5OeihiKX0pfTtWVz1mdW5jdGlvbihhLGIpe3JldHVybigpPT57dmFyIGM9Xy55KCk7Yy5yZXNvbHZlKF8uSW4oYSkpfHxfLkp6KGMse2phOmEsUGE6YSxbXy5Mbl06Yn0pO3JldHVybiBjLnJlc29sdmUoYSl9fTsKSW5hPWZ1bmN0aW9uKGEpe2lmKFdXPT09dm9pZCAwKXRocm93IEVycm9yKCJzYiIpO2lmKFdXKWZvcihsZXQgW2IsY11vZiBXVylhKGIsYyk7Xy5Odi5hZGQoYSk7V1c9dm9pZCAwfTtKbmE9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgImNhbmFyeSI6cmV0dXJuIkNMSUVOVF9DQU5BUllfU1RBVEVfQ0FOQVJZIjtjYXNlICJjb250cm9sIjpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9DT05UUk9MIjtjYXNlICJub25lIjpyZXR1cm4iQ0xJRU5UX0NBTkFSWV9TVEFURV9OT05FIjtkZWZhdWx0OnJldHVybiJDTElFTlRfQ0FOQVJZX1NUQVRFX1VOS05PV04ifX07WFc9ZnVuY3Rpb24oYSxiPSIiKXt2YXIgYz1bXTtmb3IobGV0IGQgaW4gYSl7aWYoIWEuaGFzT3duUHJvcGVydHkoZCkpY29udGludWU7bGV0IGU9YiE9PSIiP2IrIi4iK2Q6ZDt0eXBlb2YgYVtkXT09PSJvYmplY3QiP2MucHVzaCguLi5YVyhhW2RdLGUpKTpjLnB1c2goW2UsYVtkXV0pfWMuc29ydCgpO3JldHVybiBjfTsKWVc9ZnVuY3Rpb24oYSl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEuZXZlbnRzLnZhbHVlcygpKWIucHVzaChjKTtyZXR1cm4gYn07Wlc9ZnVuY3Rpb24oYSl7Xy5GeT09bnVsbCYmKF8uRnk9bmV3IEtuYSk7dmFyIGI9Xy5GeTt2YXIgYz1iLnY7YS5kaW1lbnNpb25zPWEuZGltZW5zaW9uc3x8e307YS5kaW1lbnNpb25zLmNzbj1fLmlxKCl8fCIiO3ZhciBkPVhXKGEuZGltZW5zaW9ucykuam9pbigiOyIpO2EucmVjb3JkcyE9bnVsbCYmKGMuZXZlbnRzLmhhcyhkKT9jLmV2ZW50cy5nZXQoZCkucmVjb3Jkcz8ucHVzaCguLi5hLnJlY29yZHMpOmMuZXZlbnRzLnNldChkLGEpKTtiLmouZW5hYmxlZHx8Yi5qLnN0YXJ0KCk7Yi5vKys7Yi5vPj0xMDAmJmIuZmx1c2goKX07JFc9ZnVuY3Rpb24oYSl7YT1hLmtleXx8YS5pZDtpZighYSl0aHJvdyBFcnJvcigiZmMiKTtyZXR1cm4gYX07CkxuYT1mdW5jdGlvbigpe2lmKGFYKXJldHVybiBhWCgpO2FYPV8uJGwoIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7c2U6e0VudGl0eVN0b3JlOntQZDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOntQZDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiZfLm9sKF8ua2woYSwiRW50aXR5U3RvcmUiLHtrZXlQYXRoOiJrZXkifSksImVudGl0eVR5cGUiLCJlbnRpdHlUeXBlIik7YigyKSYmKGE9Xy5rbChhLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxfLm9sKGEsImJ5UGFyZW50RW50aXR5S2V5IiwicGFyZW50RW50aXR5S2V5IiksXy5vbChhLCJieUNoaWxkRW50aXR5S2V5IiwiY2hpbGRFbnRpdHlLZXkiKSl9LHZlcnNpb246M30pO3JldHVybiBhWCgpfTtNbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2woTG5hKCksYSl9OwpiWD1mdW5jdGlvbihhKXtyZXR1cm4gd2luZG93LkludDMyQXJyYXk/bmV3IEludDMyQXJyYXkoYSk6QXJyYXkoYSl9OwpoWD1mdW5jdGlvbihhKXt2YXIgYj1hLmtleSxjPWEuY291bnRlclswXV5iWzBdLGQ9YS5jb3VudGVyWzFdXmJbMV0sZT1hLmNvdW50ZXJbMl1eYlsyXSxmPWEuY291bnRlclszXV5iWzNdO2Zvcih2YXIgaD0zO2g+PTAmJiEoYS5jb3VudGVyW2hdPS1+YS5jb3VudGVyW2hdKTtoLS0pO2Zvcih2YXIgayxsLG09NDttPDQwOyloPWNYW2M+Pj4yNF1eZFhbZD4+MTYmMjU1XV5lWFtlPj44JjI1NV1eZlhbZiYyNTVdXmJbbSsrXSxrPWNYW2Q+Pj4yNF1eZFhbZT4+MTYmMjU1XV5lWFtmPj44JjI1NV1eZlhbYyYyNTVdXmJbbSsrXSxsPWNYW2U+Pj4yNF1eZFhbZj4+MTYmMjU1XV5lWFtjPj44JjI1NV1eZlhbZCYyNTVdXmJbbSsrXSxmPWNYW2Y+Pj4yNF1eZFhbYz4+MTYmMjU1XV5lWFtkPj44JjI1NV1eZlhbZSYyNTVdXmJbbSsrXSxjPWgsZD1rLGU9bDthPWEubztoPWJbNDBdO2FbMF09Z1hbYz4+PjI0XV5oPj4+MjQ7YVsxXT1nWFtkPj4xNiYyNTVdXmg+PjE2JjI1NTthWzJdPWdYW2U+PjgmCjI1NV1eaD4+OCYyNTU7YVszXT1nWFtmJjI1NV1eaCYyNTU7aD1iWzQxXTthWzRdPWdYW2Q+Pj4yNF1eaD4+PjI0O2FbNV09Z1hbZT4+MTYmMjU1XV5oPj4xNiYyNTU7YVs2XT1nWFtmPj44JjI1NV1eaD4+OCYyNTU7YVs3XT1nWFtjJjI1NV1eaCYyNTU7aD1iWzQyXTthWzhdPWdYW2U+Pj4yNF1eaD4+PjI0O2FbOV09Z1hbZj4+MTYmMjU1XV5oPj4xNiYyNTU7YVsxMF09Z1hbYz4+OCYyNTVdXmg+PjgmMjU1O2FbMTFdPWdYW2QmMjU1XV5oJjI1NTtoPWJbNDNdO2FbMTJdPWdYW2Y+Pj4yNF1eaD4+PjI0O2FbMTNdPWdYW2M+PjE2JjI1NV1eaD4+MTYmMjU1O2FbMTRdPWdYW2Q+PjgmMjU1XV5oPj44JjI1NTthWzE1XT1nWFtlJjI1NV1eaCYyNTV9OwpObmE9YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2Euanx8KGEuaj1hd2FpdCBhLm8uaW1wb3J0S2V5KCJyYXciLGEudix7bmFtZToiQUVTLUNUUiJ9LCExLFsiZW5jcnlwdCJdKSk7YT1hd2FpdCBhLm8uZW5jcnlwdCh7bmFtZToiQUVTLUNUUiIsY291bnRlcjpjLGxlbmd0aDoxMjh9LGEuaixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYSl9O09uYT1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEVycm9yP25ldyBpWCgiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6YS5tZXNzYWdlfSk6bmV3IGlYKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTtQbmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcj9uZXcgaVgoIlVOS05PV05fREVDT0RFX0VSUk9SIix7b3JpZ2luYWxNZXNzYWdlOmEubWVzc2FnZX0pOm5ldyBpWCgiVU5LTk9XTl9ERUNPREVfRVJST1IiKX07CmpYPWZ1bmN0aW9uKGEsYil7YT1hIGluc3RhbmNlb2YgaVg/YTpiKGEpO18uR3AoYSk7dGhyb3cgYTt9O2tYPWZ1bmN0aW9uKGEpe2E9KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpLnN1YmFycmF5KDAsMTYpO3ZhciBiPW5ldyBVaW50OEFycmF5KDE2KTtiLnNldChhKTtyZXR1cm4gYn07Um5hPWZ1bmN0aW9uKGEpe3ZhciBiPVFuYVthXTtpZihiKXJldHVybiBiO18uSXAobmV3IF8uWGooIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZTphfSkpfTttWD1mdW5jdGlvbihhLGIpe3JldHVybiBsWChhLm8sYi52ZXJzaW9uKS5kZWNvZGUoYi5kYXRhLGIua2V5KX07U25hPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmdldChiKS50aGVuKGQ9PntpZihkKXtpZihjJiZkLmVudGl0eVR5cGUhPT1jKXRocm93IEVycm9yKCJoYyIpO3JldHVybiBtWChhLGQpfX0pfTsKb1g9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRXKGIpO3JldHVybiBuWChhLGQpLnRoZW4oKCk9PlRuYShhLGIsYykpfTtwWD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS52W2NdO2R8fChkPW5ldyBTZXQsYS52W2NdPWQpO2QuYWRkKGIpfTsKVW5hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0kVyhiKSxlPWxYKGEubywxKSxmPXsuLi5ifTtyZXR1cm4gYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmdldChkKS50aGVuKGg9PntpZihoKXtpZihoLmVudGl0eVR5cGUhPT1jKXRocm93IEVycm9yKCJoYyIpO2YuZW50aXR5TWV0YWRhdGF8fChoPW1YKGEsaCksZi5lbnRpdHlNZXRhZGF0YT1oLmVudGl0eU1ldGFkYXRhKX19KS50aGVuKCgpPT57dmFyIGg9e2tleTpkLGVudGl0eVR5cGU6YyxkYXRhOmUuZW5jb2RlKGYsZCksdmVyc2lvbjoxfTtyZXR1cm4gXy5Way5hbGwoW18ubGwoYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLGgpLG9YKGEsZixjKV0pfSkudGhlbigoKT0+e3BYKGEsZCxjKTtyZXR1cm4gZH0pfTsKVm5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5HSChiKS5lbnRpdHlUeXBlO3JldHVybiBfLlZrLmFsbChbYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmRlbGV0ZShiKSxuWChhLGIpXSkudGhlbigoKT0+e3BYKGEsYixjKX0pfTtuWD1mdW5jdGlvbihhLGIpe3JldHVybiBhLmoub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShiKSl9OwpXbmE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9bFgoYS5vLDEpO3JldHVybiBTbmEoYSxiLGQpLnRoZW4oZj0+e2lmKGZ8fF8ueCgid2ViX2VuYWJsZV9lbnRpdHlfdXBzZXJ0X29uX3VwZGF0ZSIpKXtmPV8uaE0oZnx8e30sYyk7dmFyIGg9e2tleTpiLGVudGl0eVR5cGU6ZCxkYXRhOmUuZW5jb2RlKGYsYiksdmVyc2lvbjoxfTtyZXR1cm4gXy5Way5hbGwoW18ubGwoYS5qLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLGgpLG9YKGEsZixkKV0pfX0pLnRoZW4oKCk9PntwWChhLGIsZCk7cmV0dXJuIGJ9KX07ClRuYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9JFcoYik7Yz1SbmEoYyk7aWYoIWMpcmV0dXJuIF8uVmsucmVzb2x2ZShbXSk7Yj1uZXcgYyhiKTthPWEuai5vYmplY3RTdG9yZSgiRW50aXR5QXNzb2NpYXRpb25TdG9yZSIpO2M9W107Zm9yKGxldCBlIG9mIGIubygpKWMucHVzaChfLmxsKGEse3BhcmVudEVudGl0eUtleTpkLGNoaWxkRW50aXR5S2V5OmV9KSk7cmV0dXJuIF8uVmsuYWxsKGMpLnRoZW4oZT0+ZS5tYXAoZj0+ZlsxXSkpfTtsWD1mdW5jdGlvbihhLGI9MCl7YT1hLmpbYl07aWYoIWEpdGhyb3cgYj1uZXcgaVgoIklOVkFMSURfRU5DT0RFUl9WRVJTSU9OIix7SXA6Yn0pLF8uR3AoYiksYjtyZXR1cm4gYX07cVg9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYS5vYnNlcnZlcnMpYyhiKX07ClluYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWF3YWl0IE1uYShhLnRva2VuKSxkO2M9YXdhaXQgXy5pbChjLFsiRW50aXR5U3RvcmUiLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIl0sInJlYWR3cml0ZSIsZT0+e2Q9bmV3IFhuYShlLGEuaik7cmV0dXJuIGIoZCl9KTtpZihkKXtsZXQgZT1kLnY7T2JqZWN0LmtleXMoZSkubGVuZ3RoPjAmJihhLmNoYW5uZWwucG9zdE1lc3NhZ2UoZSkscVgoYSxlKSl9cmV0dXJuIGN9O2FvYT1hc3luYyBmdW5jdGlvbigpe3RyeXtsZXQgYj1hd2FpdCBfLlBsKCk7aWYoYiYmXy5XaigpJiZ0eXBlb2YgXy51LkJyb2FkY2FzdENoYW5uZWwhPT0idW5kZWZpbmVkIil7dmFyIGE9bmV3IFpuYTtyZXR1cm4gbmV3ICRuYShiLGEpfX1jYXRjaChiKXtiIGluc3RhbmNlb2YgRXJyb3ImJl8uR3AoYil9fTsKYm9hPWZ1bmN0aW9uKGEpe2E9YS5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtyZXR1cm4gYT09PSJFTlRJVFlfUEVSU0lTVEVOQ0VfT1BUSU9OX1BFUlNJU1QifHxhPT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fSU5NRU1PUllfQU5EX1BFUlNJU1QifTsKY29hPWFzeW5jIGZ1bmN0aW9uKGEpe3JYfHwoclg9YW9hKCkpO3ZhciBiPWF3YWl0IHJYO2ImJmF3YWl0IFluYShiLGM9Pnt2YXIgZD17fTtmb3IobGV0IGUgb2YgYSl7aWYoIWUuZW50aXR5S2V5fHwhYm9hKGUpKWNvbnRpbnVlO2xldCBmPV8uZE0oZS5wYXlsb2FkKSxoPXZvaWQgMDtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSImJihoPSgpPT5VbmEoYyxlLnBheWxvYWRbZl0sZikpO2UudHlwZT09PSJFTlRJVFlfTVVUQVRJT05fVFlQRV9ERUxFVEUiJiYoaD0oKT0+Vm5hKGMsZS5lbnRpdHlLZXkpKTtlLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIiYmKGg9KCk9PlduYShjLGUuZW50aXR5S2V5LGUucGF5bG9hZFtmXSxmKSk7aCYmKGRbZS5lbnRpdHlLZXldPWRbZS5lbnRpdHlLZXldP2RbZS5lbnRpdHlLZXldLnRoZW4oaCk6aCgpKX1yZXR1cm4gXy5Way5hbGwoT2JqZWN0LnZhbHVlcyhkKSl9KX07CmRvYT1hc3luYyBmdW5jdGlvbihhLGIpeyEoYT1hLm11dGF0aW9ucyl8fGEubGVuZ3RoPD0wfHwoYiYmYi5kaXNwYXRjaChfLmtBKHt0eXBlOiJFTlRJVFlfTE9BREVEIixwYXlsb2FkOmF9KSksYXdhaXQgY29hKGEpLGEubGVuZ3RoPTApfTtlb2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51QygpO2IuT2M9ITA7Yi5zZXNzaW9uSWQ9YS5zZXNzaW9uSWR8fCIiO2IuZGg9YS5kaDthLldoIT1udWxsJiYoYi5XaD1hLldoKX07c1g9ZnVuY3Rpb24oYSl7Xy51QygpLnByb2Nlc3NvcnMucHVzaChhKX07Zm9hPWZ1bmN0aW9uKCl7Xy5WcC5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixhPT57dHJ5e2ZvcihsZXQgYiBpbiBfLmVJKXRyeXtsZXQgYz1fLmVJW2JdO3R5cGVvZiBfLmVJW2JdPT09ImZ1bmN0aW9uIiYmKGM9YygpKTthLnBhcmFtc1tiXT10eXBlb2YgXy5lSVtiXT09PSJvYmplY3QiP0pTT04uc3RyaW5naWZ5KGMpOlN0cmluZyhjKX1jYXRjaChjKXtfLklwKGMpfX1jYXRjaChiKXtfLklwKGIpfX0pfTsKZ29hPWZ1bmN0aW9uKCl7fTt0WD1mdW5jdGlvbihhLGIsYz0wKXsoYz1fLmlxKGMpKSYmYSYmXy55SihjLGEsYil9O2hvYT1mdW5jdGlvbihhKXtyZXR1cm4gVVcoT2JqZWN0LmtleXMoYSkubWFwKGI9PmI9PT0icGxheWxpc3RFZGl0RW5kcG9pbnQiP18uQihhLF8uQXopLmNsaWVudEFjdGlvbnN8fFtdOmFbYl0uYWN0aW9uc3x8YVtiXS5jbGllbnRBY3Rpb25zfHxbXSkpfTt1WD1mdW5jdGlvbihhKXthPV8uQihhPy5jb21tYW5kTWV0YWRhdGEsXy56dyk7cmV0dXJuIGE/LnVybD9hLnVybDpudWxsfTt2WD1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYyBvZiBhKV8uQUooYyxiLCEwKX07CmlvYT1mdW5jdGlvbigpe18uSk09d1g7VFcoXy5nRSwoe2NvbW1hbmQ6YSxzb3VyY2VEYXRhOmIsY29tbWFuZENvbnRleHQ6Y30pPT57Xy55KCkucmVzb2x2ZShfLlVEKS5yZXNvbHZlQ29tbWFuZChhLF8uWUQoYixjKSl8fChhPW5ldyBfLlhqKCJDb21tYW5kIG5vdCBoYW5kbGVkIGJ5IENvbW1hbmRIYW5kbGVyIixPYmplY3Qua2V5cyhhKSxjKSxfLkdwKGEpKX0pfTtrb2E9ZnVuY3Rpb24oKXt2YXIgYT1fLlBFKGpvYSk7cmV0dXJuIGEhPT12b2lkIDA/YTpfLlJFPD0yOTl9O3hYPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQ7cmV0dXJuIF8udmIoWyJmdWxsc2NyZWVuY2hhbmdlIiwid2Via2l0ZnVsbHNjcmVlbmNoYW5nZSIsIm1vemZ1bGxzY3JlZW5jaGFuZ2UiLCJNU0Z1bGxzY3JlZW5DaGFuZ2UiXSxiPT5gb24ke2IudG9Mb3dlckNhc2UoKX1gaW4gYSl9Owpsb2E9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtyZXR1cm4gXy52YihbImZ1bGxzY3JlZW5lcnJvciIsIndlYmtpdGZ1bGxzY3JlZW5lcnJvciIsIm1vemZ1bGxzY3JlZW5lcnJvciIsIk1TRnVsbHNjcmVlbkVycm9yIl0sYj0+YG9uJHtiLnRvTG93ZXJDYXNlKCl9YGluIGEpfTt5WD1mdW5jdGlvbihhLGIsYyl7Xy5yaWE8Xy5zaigid2ViX3NsaV9sb2dfd2FybmluZ19zYW1wbGVfc2l6ZV9yYXRlIiwuMDAxKSYmXy5JcChuZXcgXy5YaihgW1NMSV0gIiR7YX0iIGVycm9yYCx7c2xpTmFtZTphLGRpbWVuc2lvbnM6YixkZXRhaWxzOmN9KSl9Owpub2E9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7Y3x8Xy5JcChuZXcgXy5YaigiRnVsbHNjcmVlbiBjaGFuZ2Ugc2xpIGNhbGxlZCBiZWZvcmUgc3RhcnQuIikpfXZhciBiPXpYLGM9ITEsZD17anc6bW9hfS5qdygiZnVsbHNjcmVlbl9yZXF1ZXN0IiksZT1sb2EoKXx8ImZ1bGxzY3JlZW5lcnJvciI7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZSxmPT57YSgpO2QuemcoIkZBSUxVUkUiKTt5WCgiZnVsbHNjcmVlbiByZXF1ZXN0IixiKCkse2V2ZW50OmZ9KTtjPSExfSk7ZT14WCgpfHwiZnVsbHNjcmVlbmNoYW5nZSI7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoZSwoKT0+e2EoKTtkLnpnKCJTVUNDRVNTIik7Yz0hMX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVucmVxdWVzdCIsKCk9PntjPSEwO2QuRHIoYigpKX0pfTsKb29hPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZmFsbGJhY2tFbmRwb2ludCxjPWEudGltZW91dE1zO2lmKCFfLngoIm13ZWJfYzNfbml0cmF0ZV9jbGllbnRfb3Blbl9hcHBfZmFsbGJhY2tfa3MiKSYmYS51cmwpe3ZhciBkPV8uWmIoYS51cmwsImZlYXR1cmUiKXx8IiI7ZD1kLnN0YXJ0c1dpdGgoImUxNW1fIil8fGQuc3RhcnRzV2l0aCgiZTFkXyIpfHxkLnN0YXJ0c1dpdGgoImUzZF8iKTtfLmZyJiZkJiYhYiYmKGE9YS51cmwsYS5zdGFydHNXaXRoKCJ2bmQueW91dHViZTovLyIpP2E9YS5yZXBsYWNlKCJ2bmQueW91dHViZTovLyIsImh0dHBzOi8vIik6YS5zdGFydHNXaXRoKCJ5b3V0dWJlOi8vIikmJihhPWEucmVwbGFjZSgieW91dHViZTovLyIsImh0dHBzOi8vIikpLF8uWGIoYSwwLCJyZWRpcmVjdF9hcHBfc3RvcmVfaW9zIixhLnNlYXJjaChfLlliKSk+PTB8fChhPV8uRk8oYSwicmVkaXJlY3RfYXBwX3N0b3JlX2lvcyIsIjEiKSksYj1fLndOKGEpLCFjfHxjPD0wKSYmKGM9Xy5zaigibXdlYl9kZWVwX2xpbmtfZmFsbGJhY2tfdGltZW91dF9tcyIsCjNFMykpfXJldHVybntmYWxsYmFja0VuZHBvaW50OmIsdGltZW91dE1zOmN9fTtwb2E9ZnVuY3Rpb24oYSxiKXtfLngoIm13ZWJfYXBwX2J1dHRvbl9sb2dfa3MiKXx8dFgoXy50aWEpO2IuZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO2E9Xy5CKGEsXy5xaWEpO2E/LnVybCYmKHdpbmRvdy5sb2NhdGlvbj1hLnVybCk7dmFyIHtmYWxsYmFja0VuZHBvaW50OmMsdGltZW91dE1zOmR9PWE/b29hKGEpOntmYWxsYmFja0VuZHBvaW50OnZvaWQgMCx0aW1lb3V0TXM6dm9pZCAwfTtBWD09PXZvaWQgMCYmZCYmZD4wJiYoQVg9c2V0VGltZW91dCgoKT0+e0FYPXZvaWQgMDtjJiZfLkFKKGMsYi5zb3VyY2VEYXRhLCEwKX0sZCksXy5OTSh3aW5kb3csInZpc2liaWxpdHljaGFuZ2UiLCgpPT57QVgmJih3aW5kb3cuY2xlYXJUaW1lb3V0KEFYKSxBWD12b2lkIDApfSkpfTsKcW9hPWZ1bmN0aW9uKGEpe3ZhciBiPXhYKCk7YiYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYiwoKT0+e3ZhciBjPSEhXy5aTygpO2N8fF8uTU8oIi55dHdQbGF5ZXJCb3R0b21Db250cm9sc0Z1bGxzY3JlZW5CdXR0b25XcmFwcGVyIC5mdWxsc2NyZWVuLWljb24gLmJ1dHRvbiIpO2Euc2V0RmF1eEZ1bGxzY3JlZW4oYyl9KX07Qlg9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2dvb2dsZS1mZWVkYmFjayIpO2ImJihfLkJOKGIsYSksYSYmXy5NTygoKT0+Yi5xdWVyeVNlbGVjdG9yKCJpZnJhbWUiKT8uY29udGVudERvY3VtZW50Py5xdWVyeVNlbGVjdG9yKCIudXZGZWVkYmFja0Zvcm1mb3JtLWluaXRpYWwtZm9jdXMtZWxlbWVudCwgLnV2RmVlZGJhY2tSc2FkaWFsb2dkaWFsb2cgLnNjU2hhcmVkTWF0ZXJpYWxidXR0b25yb290IiksNSx7cmw6ITB9KSl9Owpyb2E9ZnVuY3Rpb24oKXt2YXIgYT1fLlhELnJlc3BvbnNlPy5yZXNwb25zZT8ucmVzcG9uc2VDb250ZXh0Py5zZXJ2aWNlVHJhY2tpbmdQYXJhbXM/LmZpbHRlcihjPT5jLnNlcnZpY2U9PT0iR0ZFRURCQUNLIilbMF0ucGFyYW1zPy5maWx0ZXIoYz0+Yy5rZXk9PT0iZSIpWzBdLGI9bmV3IFNldChfLncoIkZFWFBfRVhQRVJJTUVOVFMiLFtdKSk7KGE/LnZhbHVlPy5zcGxpdCgiLCIpfHxbXSkuZm9yRWFjaChjPT57Yi5hZGQoTnVtYmVyKGMpKX0pO3JldHVybiBBcnJheS5mcm9tKGIpLmpvaW4oIiwiKX07CnNvYT1mdW5jdGlvbigpe3JldHVybiBfLldEKCgpPT57dmFyIGE9Xy5YRC5yZXNwb25zZT8ucmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09InByZW1pdW1fbWVtYmVyc2hpcCIpWzBdLGI9Xy5YRC5yZXNwb25zZT8ucGxheWVyUmVzcG9uc2U/LnJlc3BvbnNlQ29udGV4dD8uc2VydmljZVRyYWNraW5nUGFyYW1zPy5maWx0ZXIoYz0+Yy5zZXJ2aWNlPT09IkdGRUVEQkFDSyIpWzBdLnBhcmFtcz8uZmlsdGVyKGM9PmMua2V5PT09InByZW1pdW1fbWVtYmVyc2hpcCIpWzBdO3JldHVybiBhP2EudmFsdWU6Yj9iLnZhbHVlOm51bGx9KX07CkNYPWZ1bmN0aW9uKGEpeyhuZXcgXy5meShhLm9sZFVSTCkpLnY9PT0iI2ZlZWRiYWNrIiYmd2luZG93LmxvY2F0aW9uLmhhc2ghPT0iI2ZlZWRiYWNrIiYmKEJYKCExKSwoYT13aW5kb3cuR09PR0xFX0ZFRURCQUNLX0RFU1RST1lfRlVOQ1RJT04pJiZhKCkpfTt0b2E9ZnVuY3Rpb24oKXtfLkZKLnRoZW4oKCk9Pnt3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZmVlZGJhY2siJiYoXy5ZTT9fLiRNKCIiKTpfLlpNKCkpO3JldHVybiBfLkZKfSl9O3VvYT1mdW5jdGlvbigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixDWCk7dG9hKCk7QlgoITEpO18uRXAoInVzZXJGZWVkYmFja0V2ZW50Iix7fSl9O3ZvYT1mdW5jdGlvbigpe3JldHVybntwcm9kdWN0SWQ6Ijc3NTIyIixsb2NhbGU6Xy53KCJIVE1MX0xBTkciLCJlbiIpLGFsbG93Tm9uTG9nZ2VkSW5GZWVkYmFjazohMCxidWNrZXQ6IkMzIixjYWxsYmFjazp1b2Esb25Mb2FkQ2FsbGJhY2s6KCk9PntCWCghMCl9fX07CndvYT1mdW5jdGlvbihhKXt2YXIgYj12b2EoKSxjPXtjbGllbnRBcHBWZXJzaW9uOl8udygiQ0xJRU5UX0FQUF9WRVJTSU9OIiwiIiksZXhwZXJpbWVudHM6cm9hKCksbG9nZ2VkX2luOl8udFAoKSxEZXZpY2U6Xy5iYygpLHByZW1pdW1fbWVtYmVyc2hpcDpzb2EoKX07Xy5WTSgpfHxfLldNKCk7YSYmYS5mb3JFYWNoKGQ9PnsoZD1kLnVzZXJGZWVkYmFja0VuZHBvaW50UHJvZHVjdFNwZWNpZmljVmFsdWVEYXRhKSYmZC5rZXkmJihjW2Qua2V5XT1kLnZhbHVlKX0pO18uVU4oKS50aGVuKCgpPT57Xy4kTSgiZmVlZGJhY2siKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsQ1gpO18uWU8oYixjKX0pfTt4b2E9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IERYO2IuYWJvcnQoYSk7cmV0dXJuIGIuc2lnbmFsfTsKeW9hPWZ1bmN0aW9uKCl7aWYodGhpcy5hYm9ydGVkKXRocm93IHRoaXMucmVhc29uPz9uZXcgRE9NRXhjZXB0aW9uKCJzaWduYWwgaXMgYWJvcnRlZCB3aXRob3V0IHJlYXNvbiIsIkFib3J0RXJyb3IiKTt9O3pvYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRFg7Zm9yKGxldCBjIG9mIGEpaWYoYy5hYm9ydGVkKXtiLmFib3J0KGMucmVhc29uKTticmVha31lbHNlIEVYLnNldChiLnNpZ25hbCxiKSxGWC5hZGQoYyxiLnNpZ25hbCk7cmV0dXJuIGIuc2lnbmFsfTtBb2E9ZnVuY3Rpb24oKXtmb3IobGV0IGEgb2YgRlguZ2V0KHRoaXMpKUVYLmdldChhKS5hYm9ydCh0aGlzLnJlYXNvbil9O0JvYT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgRFg7c2V0VGltZW91dCgoKT0+e2IuYWJvcnQobmV3IERPTUV4Y2VwdGlvbigic2lnbmFsIHRpbWVkIG91dCIsIlRpbWVvdXRFcnJvciIpKX0sYSk7cmV0dXJuIGIuc2lnbmFsfTsKQ29hPWZ1bmN0aW9uKCl7dmFyIGE9W10sYjt2YXIgYz1jfHxHWC5sZW5ndGg7Zm9yKGI9MDtiPDg7YisrKWFbYl09R1hbMHxNYXRoLnJhbmRvbSgpKmNdO3JldHVybiBhLmpvaW4oIiIpfTtIWD1mdW5jdGlvbihhKXtmb3IobGV0IFssYl1vZiBPYmplY3QuZW50cmllcyhEb2EpKXtsZXQgYz1iO2lmKGM9PT0iU0xJX1NUQVRVU18iK2EpcmV0dXJuIGN9cmV0dXJuIlNMSV9TVEFUVVNfVU5LTk9XTiJ9O0lYPWZ1bmN0aW9uKGEsYixjKXtiPUhYKGIpO1pXKHtkaW1lbnNpb25zOmMscmVjb3Jkczpbe25hbWU6YSxzdGF0ZToiU0xJX1NUQVRFX0VORCIsc3RhdHVzOmJ9XX0pfTtGb2E9ZnVuY3Rpb24oYSl7cmV0dXJuIEJuYShhLCgpPT5uZXcgRW9hKGEpKX07bW9hPWZ1bmN0aW9uKGEpe3JldHVybiBGb2EoYSl9O0tYPWZ1bmN0aW9uKGEsYil7SlgoYSxgJHtifSB3YXMgY2FsbGVkIGJ1dCBub3Qgc2V0YCl9O0hvYT1mdW5jdGlvbihhKXtyZXR1cm4gR29hLmluZGV4T2YoYSk+LTF9OwpKWD1mdW5jdGlvbihhLGIsYyl7Yz1jIT09dm9pZCAwP09iamVjdC5rZXlzKGEpLmZpbHRlcihjKTpPYmplY3Qua2V5cyhhKTthPW5ldyBfLlhqKGBbQ29tbWFuZCBIYW5kbGVyXSAke2J9YCx7ZmlsdGVyZWRDb21tYW5kTmFtZXM6YyxvcmlnaW5hbENvbW1hbmQ6YX0pO18uR3AoYSl9O0lvYT1mdW5jdGlvbihhLGIpe3ZhciBjPV8uQihhLF8uTkopO2lmKGMmJihjPWJbYy5zaWduYWxdKSlyZXR1cm4gYygpO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhhKSlpZihiW2RdJiYoYT1iW2RdKSlyZXR1cm4gYSgpfTtKb2E9ZnVuY3Rpb24oYSxiLGM9ITEsZD0hMSxlPVtdKXtMWC5pbnN0YW5jZT1uZXcgTFgoYSxiLGMsZCxlKX07CktvYT1mdW5jdGlvbihhKXtpZighYS5EJiZfLndDKCJjb21tYW5kIikpe2xldCBiPWEucmVzb2x2ZUNvbW1hbmQ7YS5yZXNvbHZlQ29tbWFuZD1mdW5jdGlvbihjLGQpe2E6e2ZvcihlIGluIGMpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZSkpe3ZhciBlPXtjb21tYW5kVHlwZTplfTticmVhayBhfWU9e319cmV0dXJuIF8ueUMoImNvbW1hbmQiLGUsYi5iaW5kKHRoaXMsYyxkKSl9O2EuRD0hMH19OwpNWD1mdW5jdGlvbihhLGIsYyl7IWM/Lm1kJiZhLmomJihiLmNsaWNrVHJhY2tpbmdQYXJhbXM/KGM9Yz8uZm9ybT8uZWxlbWVudCxhLmouY2xpY2tDb21tYW5kKGIsbnVsbCxjJiZjLmdldFNjcmVlbkxheWVyJiZjLmdldFNjcmVlbkxheWVyKCkpKTpiLmNsaWNrVHJhY2tpbmdQYXJhbXM/YS5qLmNsaWNrQ29tbWFuZChiKTohXy54KCJkaXNhYmxlX2NsaWNrZWRfdmlzdWFsX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyIikmJmM/LmNsaWNrZWRWaXN1YWxFbGVtZW50JiZfLndKKGEuaixjLmNsaWNrZWRWaXN1YWxFbGVtZW50KSl9OwpMb2E9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLkIpcmV0dXJue2hhbmRsZWQ6ITF9O3ZhciBkPUlvYShiLGEuQik7cmV0dXJuIGQ/KChhLksuc29tZShlPT4hIV8uQihiLGUpKXx8Yz8uUHB8fCFhLkkpJiZNWChhLGIsYykse2hhbmRsZWQ6ITAsWms6KGFzeW5jKCk9Pnthd2FpdCAoZCBpbnN0YW5jZW9mIFByb21pc2U/YXdhaXQgZDpkKS5yZXNvbHZlKGIsYyl9KSgpfSk6e2hhbmRsZWQ6ITF9fTsKTlg9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPU1vYShiKTtpZighYz8uVEspe2xldCBmPUxvYShhLGIsYyk7aWYoZi5oYW5kbGVkKXJldHVybiBmfWlmKGQpcmV0dXJuIE5vYShhLGIsYyk7aWYoIWEudilyZXR1cm4gSlgoYiwiVW5oYW5kbGVkIGNvbW1hbmQgYnkgYnVpbGRDb21tYW5kUGF5bG9hZCIpLHtoYW5kbGVkOiExfTt2YXIgZT1hLnYoYixjKTtjPy5FaSYmKGUuRWk9Yy5FaSk7aWYoZS50eXBlPT09MCl7aWYoIWEubmF2aWdhdGUpcmV0dXJuIEtYKGIsIm5hdmlnYXRlIikse2hhbmRsZWQ6ITF9O2lmKCFfLkIoZS5jb21tYW5kPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybClyZXR1cm4gSlgoYiwiUGFnZSByZXF1ZXN0cyBuZWVkIHRvIHNwZWNpZnkgYSB1cmwiKSx7aGFuZGxlZDohMX07aWYoT29hKGEsZS5jb21tYW5kKSlyZXR1cm57aGFuZGxlZDohMX07Xy54KCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIikmJl8uaW8oKS50cmFuc2l0aW9uKCJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIik7CmI9YS5uYXZpZ2F0ZShlKXx8W107ZD1Qcm9taXNlLnJlc29sdmUoR25hKGIpLnRoZW4oKCk9PnthLm8uZGVsZXRlKGUuY29tbWFuZCl9KSk7YS5qJiYhYS5ZJiZBbmEoYS5qLGUuY29tbWFuZCx7Y2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yz8uY2xpY2tlZFZpc3VhbEVsZW1lbnQsZmw6YixsYXllcjplLmxheWVyLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOjR9KTtyZXR1cm57aGFuZGxlZDohMCxaazpkfX1pZihlLnR5cGU9PT0xKXJldHVybiBLWChiLCJoYW5kbGVTZXJ2aWNlUmVxdWVzdCIpLHtoYW5kbGVkOiExfTtlLnR5cGU9PT0yJiZLWChiLCJzZW5kQWN0aW9uIik7cmV0dXJue2hhbmRsZWQ6ITF9fTtNb2E9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5CKGEsXy56eik/LnNpZ25hbD09PSJDTElFTlRfU0lHTkFMIjtyZXR1cm4hIV8uQihhLF8uU0QpfHxifTsKTm9hPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPV8uQihiLF8uU0QpO2U/ZD1lPy5jb21tYW5kc3x8W106Xy5CKGIsXy56eik/LnNpZ25hbD09PSJDTElFTlRfU0lHTkFMIiYmKGQ9Xy5CKGIsXy56eik/LmFjdGlvbnN8fFtdKTtpZihkKXsoZT1Qb2EoYSxkKSkmJk1YKGEsYixjKTtiPVtdO2ZvcihsZXQgZiBvZiBkKXRyeXtkPXsuLi5jfTtlJiYoZC5tZD0hMCk7bGV0IGg9TlgoYSxmLGQpO2guaGFuZGxlZCYmYi5wdXNoKGguWmspfWNhdGNoKGgpe2ggaW5zdGFuY2VvZiBFcnJvciYmXy5HcChoKX1yZXR1cm57aGFuZGxlZDohMCxaazpQcm9taXNlLmFsbFNldHRsZWQoYikudGhlbigoKT0+e30pfX1KWChiLCJDb3VsZCBub3QgaGFuZGxlIHRoZSBtZXRhIGNvbW1hbmQiKTtyZXR1cm57aGFuZGxlZDohMX19O09vYT1mdW5jdGlvbihhLGIpe2lmKGEuby5oYXMoYikpcmV0dXJuITA7YS5vLmFkZChiKTtyZXR1cm4hMX07ClBvYT1mdW5jdGlvbihhLGIpe3JldHVybiBiLmV2ZXJ5KGM9PmEuTS5zb21lKGQ9PiEhXy5CKGMsZCkpKX07UW9hPWZ1bmN0aW9uKGEsYil7YT1hLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7aWYoYS5sZW5ndGgpcmV0dXJuIGE/LmZpbmQoYz0+Yz8uZ2V0TGFuZ3VhZ2VJbmZvKCk/LmdldElkKCk9PT1iKX07Um9hPWZ1bmN0aW9uKGEsYixjKXthPV8uJE8oYSk7aWYoYS5sZW5ndGgpcmV0dXJuIGM/YS5maW5kKGQ9PmQudHJhbnNsYXRpb25MYW5ndWFnZT9kLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VDb2RlPT09YjohMSk6YT8uZmluZChkPT5kLmxhbmd1YWdlQ29kZT09PWIpfTsKU29hPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKTtpZihiPy5sZW5ndGgpe3ZhciBjPWEuZ2V0QXVkaW9UcmFjaygpO2E9e2xpc3RJdGVtczpbLi4uYi5tYXAoZD0+KHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6ZC5nZXRMYW5ndWFnZUluZm8oKS5nZXROYW1lKCl9LGlzU2VsZWN0ZWQ6ZC5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Yz8uZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3thdWRpb1RyYWNrU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOmQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKX19XX19fX19fX0pKV0sCnZpc2libGVFbGVtZW50Q291bnQ6NX07cmV0dXJue3Nob3dTaGVldENvbW1hbmQ6e3BhbmVsTG9hZGluZ1N0cmF0ZWd5OntpbmxpbmVDb250ZW50OntzaGVldFZpZXdNb2RlbDp7aGVhZGVyOntwYW5lbEhlYWRlclZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiQVVESU9fVFJBQ0siLHZvaWQgMCwiQXVkaW8gVHJhY2siKX19fSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19fTtPWD1mdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRPcHRpb24oImNhcHRpb25zIiwidHJhY2tsaXN0Iix7aW5jbHVkZUFzcjohMH0pfTtUb2E9ZnVuY3Rpb24oYSl7dmFyIGI9T1goYSk7aWYoYj8ubGVuZ3RoKXJldHVybiBiO2EubG9hZE1vZHVsZSgiY2FwdGlvbnMiKTtyZXR1cm4gT1goYSl9OwpQWD1mdW5jdGlvbihhKXt2YXIgYj1hLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpO2lmKGIpcmV0dXJuIGI7YS5sb2FkTW9kdWxlKCJjYXB0aW9ucyIpO3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpfTtRWD1mdW5jdGlvbihhLGIpe3JldHVybntwYW5lbEhlYWRlclZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQShhLHZvaWQgMCxiKX19fX07ClZvYT1mdW5jdGlvbihhKXt2YXIgYj1Ub2EoYSk7aWYoYj8ubGVuZ3RoKXt2YXIgYz1QWChhKTthPXtsaXN0SXRlbXM6W3tsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6Xy5hQSgiUExBWUVSX0NBUFRJT05fT0ZGIix2b2lkIDAsIk9mZiIpfSxpc1NlbGVjdGVkOiFjPy5sYW5ndWFnZUNvZGUsc2VsZWN0aW9uU3R5bGU6IkxJU1RfSVRFTV9TRUxFQ1RJT05fU1RZTEVfREVGQVVMVCIscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOlt7Y2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7bGFuZ3VhZ2VDb2RlOiIifX0se2hpZGVTaGVldENvbW1hbmQ6e319XX19fX19fX0sLi4uYi5tYXAoZD0+KHtsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6e2NvbnRlbnQ6ZC5kaXNwbGF5TmFtZX0saXNTZWxlY3RlZDpkLmRpc3BsYXlOYW1lPT09CmM/LmRpc3BsYXlOYW1lLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLHJlbmRlcmVyQ29udGV4dDp7Y29tbWFuZENvbnRleHQ6e29uVGFwOntpbm5lcnR1YmVDb21tYW5kOntzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiQ0xJRU5UX1NJR05BTCIsYWN0aW9uczpbe2NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQ6e2xhbmd1YWdlQ29kZTpkLmxhbmd1YWdlQ29kZX19LHtoaWRlU2hlZXRDb21tYW5kOnt9fV19fX19fX19KSkse2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpfLmFBKCJBVVRPX1RSQU5TTEFURSIsdm9pZCAwLCJBdXRvLXRyYW5zbGF0ZSIpfSxpc1NlbGVjdGVkOiEhYy50cmFuc2xhdGlvbkxhbmd1YWdlLHNlbGVjdGlvblN0eWxlOiJMSVNUX0lURU1fU0VMRUNUSU9OX1NUWUxFX0RFRkFVTFQiLC4uLighIWMudHJhbnNsYXRpb25MYW5ndWFnZSYme3NlbGVjdGlvblRleHQ6e2NvbnRlbnQ6Yz8udHJhbnNsYXRpb25MYW5ndWFnZT8ubGFuZ3VhZ2VOYW1lfHwKIiJ9fSkscmVuZGVyZXJDb250ZXh0Ontjb21tYW5kQ29udGV4dDp7b25UYXA6e2lubmVydHViZUNvbW1hbmQ6e3NpZ25hbFNlcnZpY2VFbmRwb2ludDp7c2lnbmFsOiJDTElFTlRfU0lHTkFMIixhY3Rpb25zOltVb2EoYSldfX19fX19fV0sdmlzaWJsZUVsZW1lbnRDb3VudDo1fTtyZXR1cm57c2hvd1NoZWV0Q29tbWFuZDp7cGFuZWxMb2FkaW5nU3RyYXRlZ3k6e2lubGluZUNvbnRlbnQ6e3NoZWV0Vmlld01vZGVsOntoZWFkZXI6UVgoIlBMQVlFUl9DQVBUSU9OIiwiQ2FwdGlvbnMiKSxjb250ZW50OntsaXN0Vmlld01vZGVsOmF9fX19fX19fTsKVW9hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uYVAoYSk7aWYoIWI/Lmxlbmd0aCl0aHJvdyBFcnJvcigiYmUiKTt2YXIgYz1QWChhKTthPXtsaXN0SXRlbXM6Wy4uLmIuZmlsdGVyKGQ9PiFkLmxhbmd1YWdlQ29kZT8uc3RhcnRzV2l0aCgiZW4iKSkubWFwKGQ9Pih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOntjb250ZW50OmQubGFuZ3VhZ2VOYW1lfHwiIn0saXNTZWxlY3RlZDpkLmxhbmd1YWdlTmFtZT09PWM/LnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZSxzZWxlY3Rpb25TdHlsZToiTElTVF9JVEVNX1NFTEVDVElPTl9TVFlMRV9ERUZBVUxUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7c2lnbmFsU2VydmljZUVuZHBvaW50OntzaWduYWw6IkNMSUVOVF9TSUdOQUwiLGFjdGlvbnM6W3tjYXB0aW9uTGFuZ3VhZ2VTZWxlY3RBY3Rpb25Db21tYW5kOntsYW5ndWFnZUNvZGU6ZC5sYW5ndWFnZUNvZGUsaXNBdXRvVHJhbnNsYXRlZDohMH19LAp7aGlkZVNoZWV0Q29tbWFuZDp7fX1dfX19fX19fSkpXSx2aXNpYmxlRWxlbWVudENvdW50OjV9O3JldHVybntzaG93U2hlZXRDb21tYW5kOntwYW5lbExvYWRpbmdTdHJhdGVneTp7aW5saW5lQ29udGVudDp7c2hlZXRWaWV3TW9kZWw6e2hlYWRlcjpRWCgiQVVUT19UUkFOU0xBVEUiLCJBdXRvLXRyYW5zbGF0ZSIpLGNvbnRlbnQ6e2xpc3RWaWV3TW9kZWw6YX19fX19fX07V29hPWZ1bmN0aW9uKGEpe3ZhciBiPV8uVncoKTtpZihiKXt2YXIgYz17d2ViQ2xpZW50Q29tcG9uZW50c0RhdGE6e2NvbXBvbmVudHM6QXJyYXkuZnJvbShhLmlkcyxkPT4oe2lkOmR9KSl9fTthLmlkcy5jbGVhcigpO18uaHgoKS52aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKGIsYyl9fTsKWG9hPWZ1bmN0aW9uKGEpe3ZhciBiPXpYO2EuYWRkRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsYz0+e2lmKGEpe3ZhciBkPWEuZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQ7ZCE9PVJYJiZjPT09MSYmKFJYPWQsU1gubyhiKCkpLFRYLm8oYigpKSl9fSk7YS5hZGRFdmVudExpc3RlbmVyKCJvbkVycm9yIixjPT57U1guaihiKCkpO3lYKCJwbGF5ZXIgZXJyb3IiLGIoKSx7ZXJyb3JDb2RlOmN9KX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwbGF5YmFjay11bnBsYXlhYmxlIixjPT57VFguaihiKCkpO3lYKCJwbGF5ZXIgdW5wbGF5YWJsZSIsYigpLHtyZWFzb246Yy5kZXRhaWw/LnJlYXNvbn0pfSl9O1lvYT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWEuai5nZXQoYik7aWYoYylyZXR1cm4gYy5wcm9taXNlO2M9bmV3IF8uY3M7YS5qLnNldChiLGMpO3JldHVybiBjLnByb21pc2V9Owpab2E9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1hLk9tLmdldChiKTtyZXR1cm4gYz9jOllvYShhLGIpfTskb2E9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihhLnBhbmVsTG9hZGluZ1N0cmF0ZWd5Py5yZXF1ZXN0VGVtcGxhdGUpdHJ5e2xldCBjPWF3YWl0IGEuby5RaShiKTtpZihjKXJldHVybiBjLmNvbnRlbnQ7Xy5HcChFcnJvcigiY2UiKSl9Y2F0Y2goYyl7Xy5HcChjKX19O1ZYPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFVYKGEpPy5vdyhiKT8/Yn07VVg9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uWk8oKSYmYS5NP2EuTTphLmNvbnRhaW5lcn07V1g9ZnVuY3Rpb24oYSl7YS5ZJiYoY2xlYXJUaW1lb3V0KGEuWSksYS5ZPXZvaWQgMCk7YS5CJiYoY2xlYXJUaW1lb3V0KGEuQiksYS5CPXZvaWQgMCl9OwokWD1hc3luYyBmdW5jdGlvbihhLGIsYyxkPWMpe3ZhciBlPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZj1fLlp0LGg9YXdhaXQgYS5kbSgpO18uVnooZSxfLnZNKGYpKTtpZihoKWlmKGEubyl7aWYoYS5jdXJyZW50VGFyZ2V0PT09YylyZXR1cm47WFgoYSk7WVgoYSk7YXdhaXQgVVgoYSk/LkplKCl9ZWxzZSBpZighXy54KCJkZWxheV9zaGVldF9vcGVuX2tpbGxzd2l0Y2giKSl7aWYoXy54KCJ3ZWJfY2xvc2Vfc2hlZXRfaWZfc2FtZV90YXJnZXRfa2lsbHN3aXRjaCIpJiZjJiZhLmN1cnJlbnRUYXJnZXQ9PT1jKXtVWChhKT8uSmUoKTtyZXR1cm59YS52PXtkYXRhOmIsdGFyZ2V0OlZYKGEsYyl9O3JldHVybn1iLnZpZXdNb2RlbCYmKGI9e3ZpZXdNb2RlbDpiLnZpZXdNb2RlbCxVcjpiLlVyLGV4cGFuZFRvRnVsbFdpZHRoOmIuZXhwYW5kVG9GdWxsV2lkdGgsb3BlblRvU2lkZTpiLm9wZW5Ub1NpZGV9KTtVWChhKT8ud2coYixjLGQpO2EuY3VycmVudFRhcmdldD0KYzthLm8/KGEuSSgpLGEuY3VycmVudFRhcmdldD8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5JKSxhLmN1cnJlbnRUYXJnZXQ/LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGEuWiksWlgoYSkpOmEuRCYmWlgoYSl9Y2F0Y2goZil7ZS5lcnJvcj1mLGUuaGFzRXJyb3I9ITB9ZmluYWxseXtfLld6KGUpfX07WFg9ZnVuY3Rpb24oYSl7YS5jdXJyZW50VGFyZ2V0Py5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixhLkkpO2EuY3VycmVudFRhcmdldD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsYS5aKX07WVg9ZnVuY3Rpb24oYSl7dmFyIGI9VVgoYSk/LlhwKCk7Yj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5VKTtiPy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLkspfTsKWlg9ZnVuY3Rpb24oYSl7dmFyIGI9VVgoYSk/LlhwKCk7Yj8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYS5VKTtiPy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIixhLkspfTthWT1hc3luYyBmdW5jdGlvbihhKXtpZihhLm8pe2lmKGEuailyZXR1cm47WFgoYSk7WVgoYSl9ZWxzZSBhLkQmJihZWChhKSxhLksoKSk7YXdhaXQgVVgoYSk/LkplKCk7YS5jdXJyZW50VGFyZ2V0PXZvaWQgMDthLmo9ITE7YS5vPSExO2EuaGlkZURlbGF5TXM9MDthLnNob3dEZWxheU1zPTA7YS5EPSExO2EudiYmIV8ueCgiZGVsYXlfc2hlZXRfb3Blbl9raWxsc3dpdGNoIikmJihhd2FpdCBhLndnKGEudi5kYXRhLGEudi50YXJnZXQpLGEudj12b2lkIDApfTsKYXBhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9MDtyZXR1cm57Y2xlYXI6ZnVuY3Rpb24oKXtjPWIubGVuZ3RoPTB9LHB1c2g6ZnVuY3Rpb24oZCl7YltjXT1kO2M9KGMrMSklYX0sWng6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Yi5sZW5ndGg7Zm9yKGxldCBlPTA7ZTxkO2UrKyl5aWVsZCBiWyhjK2UpJWRdfSgpfX19O2JwYT1mdW5jdGlvbihhKXthLnlsfHwoYS55bD1bXSk7dmFyIGI9YS55bC5tYXAoXy5QVyksYz1uZXcgU2V0KGIpLGQ9YXBhKGEuYnVmZmVyU2l6ZSk7cmV0dXJue2ZsdXNoOmZ1bmN0aW9uKCl7dmFyIGU9QXJyYXkuZnJvbShkLlp4KCkpO2QuY2xlYXIoKTtlPWUubWFwKGY9Pih7bmFtZTpmLm5hbWUsdGltZXN0YW1wOmYuc3RhcnRUaW1lLGF0dHJpYnV0ZXM6Zi5hdHRyaWJ1dGVzfSkpO3JldHVybiBKU09OLnN0cmluZ2lmeShlKX0sR20oZSl7ZS5uYW1lPT09ImV2ZW50IiYmYy5oYXMoZS5hdHRyaWJ1dGVzLnR5cGUpfHxkLnB1c2goZSl9fX07CmNwYT1mdW5jdGlvbihhKXt2YXIge2ZsdXNoOmIsR206Y309YnBhKGEpO3NYKHtHbTpjfSk7Xy5WcC5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixkPT57dHJ5e2QucGFyYW1zLmJyZWFkY3J1bWJzPWIoKX1jYXRjaChlKXtfLkdwKGUsIldBUk5JTkciKX19KX07Ylk9ZnVuY3Rpb24oKXtfLlN6KCJ3ZWJfdHJhY2luZ19hY3Rpb24iKTtfLlR6KCJ3ZWJfdHJhY2luZ19hY3Rpb24iLHt9LHZvaWQgMCwiTEFURU5DWV9BQ1RJT05fV0VCX1RSQUNJTkciKX07ZVk9ZnVuY3Rpb24oKXtpZihjWSlyZXR1cm4id2ViX3RyYWNpbmdfYWN0aW9uIjtkWSgpO3NldEludGVydmFsKGRZLDZFNSk7Y1k9ITA7cmV0dXJuIndlYl90cmFjaW5nX2FjdGlvbiJ9O2RZPWZ1bmN0aW9uKCl7Xy5Teigid2ViX3RyYWNpbmdfYWN0aW9uIik7Xy5Ueigid2ViX3RyYWNpbmdfYWN0aW9uIix7fSx2b2lkIDAsIkxBVEVOQ1lfQUNUSU9OX1dFQl9UUkFDSU5HIil9OwpkcGE9ZnVuY3Rpb24oYSxiPWVZKCksYyl7cmV0dXJuKDAsXy5jdCkoYS5uYW1lLChhLmVuZFRpbWU/P2Euc3RhcnRUaW1lKS1hLnN0YXJ0VGltZSxhLnN0YXJ0VGltZSx7d2ViVHJhY2luZzp7W2EubmFtZV06YS5hdHRyaWJ1dGVzfX0sYyxiLHtzcGFuU3RhdHVzOmEuc3RhdHVzLHJvb3RTcGFuTm9uY2U6dm9pZCAwLHF1OnZvaWQgMH0pfTtmWT1mdW5jdGlvbihhLGIsYyxkKXtjPWRwYShhLGIsYyk7aWYoYS5jaGlsZHJlbilmb3IobGV0IGUgb2YgYS5jaGlsZHJlbilmWShlLGIsYyxkfHxjKX07CmVwYT1mdW5jdGlvbihhKXt2YXIgYj1nb2EuYmluZChudWxsLCJ5dC50ZWxlbWV0cnlfZXh0ZW5zaW9uIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGM9PntjLmRhdGEmJnR5cGVvZiBjLmRhdGE9PT0ib2JqZWN0IiYmKGM9Yy5kYXRhLGMuZnJvbT09PSJleHRlbnNpb24iJiZjLmFwcD09PSJ5dC50ZWxlbWV0cnkiJiYoYigiUmVjZWl2ZWQgbWVzc2FnZSBmcm9tIGV4dGVuc2lvbiIsYyksYS5vbk1lc3NhZ2UoYykpKX0pO3JldHVybiBmdW5jdGlvbihjLGQpe2M9e2FwcDoieXQudGVsZW1ldHJ5Iixmcm9tOiJhcHAiLGtleTpjLHBheWxvYWQ6ZH07YigiU2VuZGluZyBtZXNzYWdlIHRvIGV4dGVuc2lvbiIsYyk7d2luZG93LnBvc3RNZXNzYWdlKGMsIioiKX19OwpmcGE9ZnVuY3Rpb24oKXt2YXIgYT1lcGEoe29uTWVzc2FnZSgpe319KSxiPVtdO3JldHVybntscihjKXtjLnBhcmVudElkPT1udWxsJiZiLnB1c2goYyk9PT0xJiZzZXRUaW1lb3V0KCgpPT57dmFyIGQ9Wy4uLmJdO2IubGVuZ3RoPTA7YSgic3BhbnNSZXBvcnRlZCIse3NwYW5zOmR9KX0sM0UzKX19fTtncGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuZmV0Y2g7d2luZG93LmZldGNoPSguLi5iKT0+e3ZhciBbYyxkPXt9XT1iLGU9Xy55QygiaHR0cEV2ZW50Iix7bWV0aG9kOmQubWV0aG9kfHwiR0VUIixwYXRoOmdZKGMpLHR5cGU6ImZldGNoIn0se2FjdGl2ZTohMX0pO3JldHVybiBhKC4uLmIpLnRoZW4oZj0+e2UuRGUoe3N0YXR1c0NvZGU6Zi5zdGF0dXMsc3RhdHVzVGV4dDpmLnN0YXR1c1RleHR9KTtlLmVuZCgpO3JldHVybiBmfSkuY2F0Y2goZj0+e2UuZW5kKCJTUEFOX1NUQVRVU19FUlJPUiIpO3Rocm93IGY7fSl9fTsKaHBhPWZ1bmN0aW9uKCl7dmFyIGE9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLm9wZW4sYj1YTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUuc2VuZDtYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUub3Blbj1mdW5jdGlvbihjLGQsZT0hMCxmLGgpe3RoaXMudj17bWV0aG9kOmMsdXJsOmQudG9TdHJpbmcoKX07dGhpcy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cyxyZXNwb25zZUNvbnRlbnRMZW5ndGg6dGhpcy5yZXNwb25zZVRleHQubGVuZ3RofSk7az8uZW5kKCl9KTt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e3ZhciBrPXRoaXMuajtrPy5EZSh7c3RhdHVzQ29kZTp0aGlzLnN0YXR1cyxzdGF0dXNUZXh0OnRoaXMuc3RhdHVzVGV4dH0pO2s/LmVuZCgiU1BBTl9TVEFUVVNfRVJST1IiKX0pO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGs9dGhpcy5qO2s/LkRlKHtzdGF0dXNDb2RlOnRoaXMuc3RhdHVzLAphYm9ydGVkOiEwfSk7az8uZW5kKCl9KTthLmFwcGx5KHRoaXMsW2MsZCxlLGYsaF0pfTtYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihjKXt2YXIge21ldGhvZDpkLHVybDplfT10aGlzLnZ8fHttZXRob2Q6Ik4vQSIsdXJsOiJOL0EifTt0aGlzLmo9Xy55QygiaHR0cEV2ZW50Iix7bWV0aG9kOmQscGF0aDpnWShlKSx0eXBlOiJ4aHIifSx7YWN0aXZlOiExfSk7Yi5hcHBseSh0aGlzLFtjXSl9fTtnWT1mdW5jdGlvbihhKXt0cnl7aWYoYSBpbnN0YW5jZW9mIFVSTClyZXR1cm4gYS5wYXRobmFtZTthIGluc3RhbmNlb2YgUmVxdWVzdCYmKGE9YS51cmwpO3JldHVybihuZXcgVVJMKGEsImh0dHBzOi8veW91dHViZS5jb20iKSkucGF0aG5hbWV9Y2F0Y2goYil7cmV0dXJuIjx1bmFibGUgdG8gcGFyc2UgcGF0aD4ifX07CmpwYT1mdW5jdGlvbigpe3dpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUmJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwoKT0+e3RyeXtsZXQgYT13aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpO2lmKGEubGVuZ3RoPjApe2xldCBiPWFbMF0sYz13aW5kb3cucGVyZm9ybWFuY2UudGltZU9yaWdpbjtfLnlDKCJwYWdlTG9hZCIse25hdmlnYXRpb25UeXBlOmlwYShiLnR5cGUpLHVubG9hZEV2ZW50U3RhcnQ6TWF0aC5yb3VuZChiLnVubG9hZEV2ZW50U3RhcnQpLHVubG9hZEV2ZW50RW5kOk1hdGgucm91bmQoYi51bmxvYWRFdmVudEVuZCksZG9tSW50ZXJhY3RpdmU6TWF0aC5yb3VuZChiLmRvbUludGVyYWN0aXZlKSxkb21Db250ZW50TG9hZGVkRXZlbnRTdGFydDpNYXRoLnJvdW5kKGIuZG9tQ29udGVudExvYWRlZEV2ZW50U3RhcnQpLGRvbUNvbnRlbnRMb2FkZWRFdmVudEVuZDpNYXRoLnJvdW5kKGIuZG9tQ29udGVudExvYWRlZEV2ZW50RW5kKSwKZG9tQ29tcGxldGU6TWF0aC5yb3VuZChiLmRvbUNvbXBsZXRlKSxsb2FkRXZlbnRTdGFydDpNYXRoLnJvdW5kKGIubG9hZEV2ZW50U3RhcnQpLGxvYWRFdmVudEVuZDpNYXRoLnJvdW5kKGIubG9hZEV2ZW50RW5kKSxyZWRpcmVjdENvdW50OmIucmVkaXJlY3RDb3VudH0se2FjdGl2ZTohMSxzdGFydFRpbWU6YytiLnN0YXJ0VGltZSxlbmRUaW1lOmMrYi5sb2FkRXZlbnRFbmR9KX19Y2F0Y2goYSl7fX0pfTsKaXBhPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJuYXZpZ2F0ZSI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfTkFWSUdBVEUiO2Nhc2UgInJlbG9hZCI6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfUkVMT0FEIjtjYXNlICJiYWNrX2ZvcndhcmQiOnJldHVybiJQRVJGT1JNQU5DRV9OQVZJR0FUSU9OX1RJTUlOR19UWVBFX0JBQ0tfRk9SV0FSRCI7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4iUEVSRk9STUFOQ0VfTkFWSUdBVElPTl9USU1JTkdfVFlQRV9QUkVSRU5ERVIiO2RlZmF1bHQ6cmV0dXJuIlBFUkZPUk1BTkNFX05BVklHQVRJT05fVElNSU5HX1RZUEVfVU5LTk9XTiJ9fTsKbHBhPWZ1bmN0aW9uKCl7SW5hKChhLGIpPT57dmFyIGM9bmV3IE1hcCxkLGU9ZVkoKTtmb3IobGV0IGggb2YgYS5zcGFucyl7aWYoaC5tYXJrZXIpY29udGludWU7dmFyIGY9Yi5nZXQoaC5pZCk/LmdldChfLk92KTtsZXQgaz1mP2twYVtmLnR5cGVdOnZvaWQgMDtpZighZnx8aC5kdXJhdGlvbk1zPT09dm9pZCAwfHxrPT09dm9pZCAwKXtoLnBhcmVudElkIT09dm9pZCAwJiYoZj1jLmdldChoLnBhcmVudElkKSxmIT09dm9pZCAwJiZjLnNldChoLmlkLGYpKTtjb250aW51ZX1sZXQgbD1hLm5LK2gueUssbT1oLnBhcmVudElkIT09dm9pZCAwP2MuZ2V0KGgucGFyZW50SWQpOnZvaWQgMCxuLHA7c3dpdGNoKGYudHlwZSl7Y2FzZSAiUmVuZGVyIjpjYXNlICJFZmZlY3QiOmNhc2UgIk9uSW5pdCI6Y2FzZSAiUmVuZGVyRWZmZWN0IjpwPWYubG9jYXRpb247YnJlYWs7Y2FzZSAiQ3JlYXRlUmVhY3RpdmVDb21wb25lbnQiOm49Zi5jb21wb25lbnROYW1lO2JyZWFrO2Nhc2UgIkNvbXB1dGVkIjpuPQpmLmhJO3A9Zi5sb2NhdGlvbjticmVhaztjYXNlICJTaWduYWxVcGRhdGUiOm49Zi5TS31pZihmPSgwLF8uY3QpKCJjb3dfc3BhbiIsaC5kdXJhdGlvbk1zLGwse3dlYlRyYWNpbmc6e2Nvd1NwYW46e3R5cGU6ayxuYW1lOm4sY29kZUxvY2F0aW9uOnB9fX0sbSxlLHtyb290U3Bhbk5vbmNlOmR9KSljLnNldChoLmlkLGYpLGQ9PT12b2lkIDAmJihkPWYpfX0pfTsKcHBhPWZ1bmN0aW9uKCl7dmFyIGE9aFkudmFsdWUsYj17fTtmb3IobGV0IGMgb2YgYS5IdiliW2NdPSEwO2VvYSh7c2Vzc2lvbklkOl8uRm4oKSxkaDpiLFdoKGMsZCxlKXtyZXR1cm4gbXBhP2M9PT0ic2hvcnRUb1Nob3J0Inx8ZT8uV3ooKT8ubmFtZT09PSJzaG9ydFRvU2hvcnQiOiEwfX0pO2ZvYSgpO18ud0MoInBhZ2VMb2FkIikmJmpwYSgpO18ud0MoImNvd1NwYW4iKSYmbHBhKCk7Xy53QygiaHR0cEV2ZW50IikmJihncGEoKSxocGEoKSk7YS5RdiYmc1gobnBhKTthLlJ2JiZzWChmcGEoKSk7YS5NcT4wJiZjcGEoe3lsOm9wYSxidWZmZXJTaXplOmEuTXF9KX07CmpZPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMHx8YS5nZXRBdHRyaWJ1dGUoInZpZXdCb3giKXx8YS5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLGAwIDAgJHtifSAke2J9YCk7YS5zZXRBdHRyaWJ1dGUoImZvY3VzYWJsZSIsImZhbHNlIik7YS5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwidHJ1ZSIpO2I9Xy54KCJraWxsc3dpdGNoX3JlbW92ZV9pY29uX2ZpbGxfY29sb3IiKTthLmdldEF0dHJpYnV0ZSgiZmlsbCIpIT09ImN1cnJlbnRjb2xvciImJmEuZ2V0QXR0cmlidXRlKCJmaWxsIikhPT0iY3VycmVudENvbG9yInx8Ynx8YS5yZW1vdmVBdHRyaWJ1dGUoImZpbGwiKTt0cnl7YS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixhLnN0eWxlLmRpc3BsYXk9ImluaGVyaXQiLGEuc3R5bGUud2lkdGg9IjEwMCUiLGEuc3R5bGUuaGVpZ2h0PSIxMDAlIn1jYXRjaChjKXtpWSh7ZXJyb3I6Yz8udG9TdHJpbmc/Yy50b1N0cmluZygpOiIifSk7dHJ5e2Euc3R5bGUuY3NzVGV4dD0icG9pbnRlci1ldmVudHM6IG5vbmU7IGRpc3BsYXk6IGluaGVyaXQ7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7In1jYXRjaChkKXtpWSh7ZXJyb3I6ZD8udG9TdHJpbmc/CmQudG9TdHJpbmcoKToiIn0pfX1yZXR1cm4gYX07CnFwYT1mdW5jdGlvbihhKXtpZihfLngoIndpbF9pY29uc19jYWNoZV9wdXJnZV9raWxsc3dpdGNoIikpcmV0dXJuITE7dHJ5e3ZhciBiPV8udS5sb2NhbFN0b3JhZ2V9Y2F0Y2goZSl7cmV0dXJuITF9aWYoIWJ8fCFhLkIpcmV0dXJuITE7dmFyIGM9ZT0+e3RyeXtiPy5zZXRJdGVtKCJ5dC1pY29ucy1sYXN0LXB1cmdlZCIsZS50b1N0cmluZygpKX1jYXRjaChmKXtpWSh7ZXJyb3I6Zj8udG9TdHJpbmc/Zi50b1N0cmluZygpOiIifSl9fSxkPU51bWJlcihiLmdldEl0ZW0oInl0LWljb25zLWxhc3QtcHVyZ2VkIikpO2lmKCFkKXJldHVybiBkPW5ldyBEYXRlLGQ9ZC5zZXREYXRlKGQuZ2V0RGF0ZSgpLU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo5MCsxKSksYyhkKSwhMTtpZihmdW5jdGlvbihlLGYpe2U9bmV3IERhdGUoZSk7Zj1uZXcgRGF0ZShmKTtyZXR1cm4gZi5nZXRNb250aCgpLWUuZ2V0TW9udGgoKSsxMiooZi5nZXRGdWxsWWVhcigpLWUuZ2V0RnVsbFllYXIoKSl9KGQsRGF0ZS5ub3coKSk8CjMpcmV0dXJuITE7dHJ5e3JldHVybiBfLnUuY2FjaGVzLmRlbGV0ZSgieXQtaWNvbnMiKS50aGVuKGU9PntlJiZjKERhdGUubm93KCkpO3JldHVybiBlfSkuY2F0Y2goKCk9PiExKS5maW5hbGx5KCgpPT57YS5LPSExfSl9Y2F0Y2goZSl7cmV0dXJuIGlZKHtlcnJvcjplPy50b1N0cmluZz9lLnRvU3RyaW5nKCk6IiJ9KSwhMX19OwprWT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPWIudXJsO2lmKCFycGEoYykpdGhyb3cgRXJyb3IoImRlIik7cmV0dXJuIHNwYShhLGMpLnRoZW4oZD0+ZC5jbG9uZSgpLnRleHQoKSkudGhlbihkPT57dmFyIGU9Xy5nYihkKTtkPWIuc2l6ZTt2YXIgZj1fLkNkKCJESVYiKTtfLnpBKGYsZSk7aWYoZi5maXJzdEVsZW1lbnRDaGlsZCE9PXZvaWQgMCllPWYuZmlyc3RFbGVtZW50Q2hpbGQ7ZWxzZSBmb3IoZT1mLmZpcnN0Q2hpbGQ7ZSYmZS5ub2RlVHlwZSE9MTspZT1lLm5leHRTaWJsaW5nO2U9Xy5EZChlKTtkPWpZKGUsZCk7YS5EW2NdPWQuY2xvbmVOb2RlKCEwKTtkZWxldGUgYS5ZW2NdO3JldHVybiBkfSkuY2F0Y2goKCk9Pnt9KX07CmxZPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybihlLGYpPT57dmFyIGg9Xy5DZCgiRElWIiksaz17aWNvbldpZHRoOmAke2Iuc2l6ZX1weGAsaWNvbkhlaWdodDpgJHtiLnNpemV9cHhgLGp4OiJibG9jayIsLi4uZixpY29uQ29sb3I6Zj8uaWNvbkNvbG9yPz8iY3VycmVudGNvbG9yIn07Zj1rLmljb25Db2xvcjt2YXIgbD1rLmFnO2s9YHdpZHRoOiAke2suaWNvbldpZHRofTsgaGVpZ2h0OiAke2suaWNvbkhlaWdodH07IGRpc3BsYXk6ICR7ay5qeH07YDtsJiYoays9YCBmaWx0ZXI6ICR7bH07YCk7Yz09PTAmJihrKz1gIGZpbGw6ICR7Zn07YCk7Yz09PTEmJihsPWIudXJsLGsrPWAgLXdlYmtpdC1tYXNrOiB1cmwoJHtsfSkgbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyOyBtYXNrOiB1cmwoJHtsfSkgbm8tcmVwZWF0IGNlbnRlciAvIGNvdmVyOyBiYWNrZ3JvdW5kLWNvbG9yOiAke2Z9YCk7Yi52dSYmYS5Laz09PSJydGwiJiYoays9IiB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsiKTsKaC5zZXRBdHRyaWJ1dGUoInN0eWxlIixrKTtjPT09MCYmZCYmaC5hcHBlbmRDaGlsZChkKTtlLmFwcGVuZENoaWxkKGgpfX07Cm5ZPWZ1bmN0aW9uKGEsYil7aWYoYil7YS5jb3VudGVyKz0xO2E9YF95dCR7YS5jb3VudGVyfWA7Yj1bYiwuLi5iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIildO2ZvcihsZXQgYyBvZiBiKWlmKGMudGFnTmFtZT09PSJzdHlsZSImJmMudGV4dENvbnRlbnQpYy50ZXh0Q29udGVudD1tWShjLnRleHRDb250ZW50LGEsITApO2Vsc2UgZm9yKGxldCBkIG9mIGMuYXR0cmlidXRlcyl7ZC5uYW1lPT09ImlkIiYmKGQudmFsdWUrPWEpO1sibWFzayIsImZpbGwiLCJjbGlwLXBhdGgiXS5pbmNsdWRlcyhkLm5hbWUpJiYoZC52YWx1ZT1tWShkLnZhbHVlLGEpKTtpZihkLm5hbWU9PT0ic3R5bGUiKXtiPWMuc3R5bGU7dHJ5e2IuY3NzVGV4dD1tWShiLmNzc1RleHQsYSwhMCl9Y2F0Y2goZSl7aVkoe2Vycm9yOmU/LnRvU3RyaW5nPy4oKXx8IiIsZWw6Yy5vdXRlckhUTUwsc3R5bGU6ISFiLGNzc1RleHQ6Yj8uY3NzVGV4dH0pfX1kLm5hbWU9PT0ieGxpbms6aHJlZiImJihkLnZhbHVlPWQudmFsdWUucmVwbGFjZSgvIyguKikvLApgIyQxJHthfWApKX19fTttWT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQ9L3VybFwoWyInXT8jKC4qPylbIiddP1wpLztjJiYoZD0vdXJsXChbIiddPyMoLio/KVsiJ10/XCkvZyk7cmV0dXJuIGEucmVwbGFjZShkLGB1cmwoIyQxJHtifSlgKX07aVk9ZnVuY3Rpb24oYSl7Xy5JcChuZXcgXy5YaigiRXJyb3IgaW4gSWNvbk1hbmFnZXIiLGEpKX07cnBhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYiBvZiB0cGEpaWYoYS5zdGFydHNXaXRoKGIpJiZhLmVuZHNXaXRoKCIuc3ZnIikpcmV0dXJuITA7cmV0dXJuITF9OwpzcGE9YXN5bmMgZnVuY3Rpb24oYSxiKXthLlFhJiZhd2FpdCB1cGEoYSk7dmFyIGM9YS5ZW2JdO2lmKCFjKXtsZXQgZD1hc3luYygpPT57dmFyIGU9YS5CP2EuWnx8YXdhaXQgYS5VOnZvaWQgMDtyZXR1cm4gYS5vYT9hLmdhKGIsZSkuY2F0Y2goYS5oYS5iaW5kKGEsYixlKSk6YS5oYShiLGUpLmNhdGNoKGEuZ2EuYmluZChhLGIsZSkpfTtjPWEuTWE/bmV3IFByb21pc2UoKGUsZik9PntfLllqKCgpPT57ZCgpLnRoZW4oZSkuY2F0Y2goZil9LDEwKX0pOmQoKTthLllbYl09Y31yZXR1cm4gYy5jYXRjaChkPT57ZGVsZXRlIGEuWVtiXTtpWSh7ZXJyb3I6ZD8udG9TdHJpbmc/ZC50b1N0cmluZygpOiIiLHVybDpifSk7dGhyb3cgZDt9KX07dXBhPWZ1bmN0aW9uKGEpe3ZhciBiPWEudj8ucHJvbWlzZTtifHwoYS52PW5ldyBfLmNzLGI9YS52LnByb21pc2UsXy51LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2Eudj8ucmVzb2x2ZSgpO2Eudj1udWxsfSkpO3JldHVybiBifTsKcFk9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihhLkk8dnBhKXJldHVybiBhLkkrPTEsb1koYSxiKS5maW5hbGx5KCgpPT57LS1hLkk7aWYoT2JqZWN0LmtleXMoYS5vKS5sZW5ndGgpe2xldCBkPU9iamVjdC5rZXlzKGEubylbMF0sZT1hLm9bZF07ZGVsZXRlIGEub1tkXTtlLnJlc29sdmUocFkoYSxkKSl9fSk7dmFyIGM9bmV3IF8uY3M7YS5vW2JdPWM7cmV0dXJuIGMucHJvbWlzZX07d3BhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQpe2QmJm5ldyBQcm9taXNlKGU9PntfLllqKGFzeW5jKCk9PnthLm9hJiZhd2FpdCBkLm1hdGNoKGIpLmNhdGNoKCgpPT57fSl8fGF3YWl0IGQucHV0KGIsYy5jbG9uZSgpKS5jYXRjaChmPT57aVkoe2Vycm9yOmY/LnRvU3RyaW5nP2YudG9TdHJpbmcoKToiIix1cmw6Yn0pfSk7ZSgpfSw1MCl9KX07Cm9ZPWFzeW5jIGZ1bmN0aW9uKGEsYixjPTIpe3JldHVybiBfLnUuZmV0Y2goYix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIixwcmlvcml0eToibG93In0pLnRoZW4oZD0+ZC5vaz9kOlByb21pc2UucmVqZWN0KEVycm9yKCJlZWAiK2Quc3RhdHVzKyJgIitkLnN0YXR1c1RleHQpKSkuY2F0Y2goZD0+e2lmKGM+MClyZXR1cm4gb1koYSxiLGMtMSk7dGhyb3cgZDt9KX07CnJZPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWFbYi5pY29uTmFtZV18fFtdO2E9dm9pZCAwO2ZvcihsZXQgaCBvZiBlKXthOnt2YXIgZj1iLmljb25TaXplO2U9Yi5pY29uU3R5bGU7Zj0hZnx8Zj09PWhbMl07bGV0IGs9cVlbaFswXV07aWYoZCYmZCE9PWhbMV18fCFmfHxlJiZlIT09ayl7ZT0hMTticmVhayBhfWlmKCFhKXtlPSEwO2JyZWFrIGF9ZT1xWVtoWzBdXTtlPSEhYi5pY29uU3R5bGV8fGU9PT0ieW91dHViZV9vdXRsaW5lIjtmPWEudmVyc2lvbjw9aFsxXTtlPSghIWIuaWNvblNpemV8fGhbMl09PT0yNCkmJmUmJmZ9ZSYmKGE9e25hbWU6Yi5pY29uTmFtZSxzdHlsZTpxWVtoWzBdXSxzaXplOmhbMl0sdmVyc2lvbjpoWzFdLHZ1OiEhaFszXSx1cmw6YyhiLmljb25OYW1lLGgpfSl9cmV0dXJuIGF9O3NZPWZ1bmN0aW9uKGEsYixjLGQ9ITEpe3JldHVybmAke2F9JHtxWVtjWzBdXX0ke2Q/Il9leHBlcmltZW50YWwiOiIifS8ke2J9L3Yke2NbMV19LyR7Y1syXX1weC5zdmdgfTsKdFk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIikhPT0iV0VCX1JFTUlYIiYmXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKSE9PSJXRUJfQ1JFQVRPUiI/ImJvb2ttYXJrIjphfTt1WT1mdW5jdGlvbihhLGIpe3JldHVybiBfLngoImVuYWJsZV93ZWJfZGVsaGlfaWNvbnMiKXx8Yj94cGFbYS50b1VwcGVyQ2FzZSgpXTp5cGFbYS50b1VwcGVyQ2FzZSgpXX07enBhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHNZKCJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS8iLGEsYil9O0FwYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kvIixhLGIsITApfTt3WT1mdW5jdGlvbigpe3ZZLmluc3RhbmNlfHwodlkuaW5zdGFuY2U9bmV3IHZZKTtyZXR1cm4gdlkuaW5zdGFuY2V9Owp4WT1mdW5jdGlvbihhLGIpe3JldHVybiBCcGEuaGFzKGIpfHxfLncoIklTX0hPTUVQQUdFX0NPTEQiKXx8Xy53KCJJU19SRVNVTFRTX1BBR0VfQ09MRCIpfHxfLncoIklTX1dBVENIX1BBR0VfQ09MRCIpP2Euc2lnbmFscy5pbmRleE9mKGIpPj0wOiEwfTt5WT1mdW5jdGlvbihhKXt2YXIgYj0hMTtyZXR1cm4oKT0+e2J8fChiPSEwLGEoKSl9fTtBWT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKHpZLmhhcyhkKSlfLkNrKCkuR2EoYixjLGUpO2Vsc2V7bGV0IGY9YS5qLmdldChkKTtmJiZfLkNrKCkuR2EoKCk9Pnt4WShhLGQpfHwoZi5oZz9fLkNrKCkuR2EoYixjKTpmLkJuLnB1c2goKCk9PntfLkNrKCkuR2EoYixjKX0pKX0sYyxlKX19O0NwYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT0oKT0+e2EuV20oYil9O2ZvcihsZXQgZiBvZiBkKWEuYWRkTGlzdGVuZXIoZixlKTthLmouc2V0KGIse3NpZ25hbHM6YyxWeDohMCxpc0luaXRpYWxpemVkOiExLGhnOiExLEJuOltdfSk7QlkoYSxiKX07CkJZPWZ1bmN0aW9uKGEsYil7aWYoIXhZKGEsYikpe3ZhciBjPWEuai5nZXQoYik7aWYoYyYmIWMuaGcpe3ZhciBkPSExLGU9MCxmPTA7Zm9yKGxldCBoIG9mIGMuc2lnbmFscyl7bGV0IGs9IXhZKGEsaCk7aWYoelkuaGFzKGgpKWQ9ITA7ZWxzZXtsZXQgbD1hLmouZ2V0KGgpO2w/ayYmIWwuaGcmJihmKyssYy5pc0luaXRpYWxpemVkfHxsLkJuLnB1c2goKCk9PntCWShhLGIpfSkpOmsmJmUrK319Yy5pc0luaXRpYWxpemVkPSEwO2MuVng/ZCYmKGMuaGc9ITApOmU9PT0wJiZmPT09MCYmKGMuaGc9ITApO2lmKGMuaGcpZm9yKGxldCBoIG9mIGMuQm4paCgpfX19OwpEcGE9ZnVuY3Rpb24oYSl7YT1hLm9wZW5Qb3B1cEFjdGlvbnx8YTt2YXIgYj1hLnBvcHVwVHlwZSxjPWEucG9wdXA7c3dpdGNoKGIpe2Nhc2UgIlRPQVNUIjpmb3IobGV0IGQgaW4gYyljLmhhc093blByb3BlcnR5KGQpJiZfLnBQKCgpPT5fLksoXy5XLHtkYXRhOigpPT5jfSx7bm90aWZpY2F0aW9uQWN0aW9uUmVuZGVyZXI6Q1l9KSxhLmR1cmF0aW9uSGludE1zLGEucmV1c2VQb3B1cCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiZmVgIitiKTt9fTsKRFk9ZnVuY3Rpb24oYSxiKXt2YXIgYz11WChhKTtpZihjKXt2YXIgZD12b2lkIDAsZT1fLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpO2UmJmUucm9vdFZlJiYoZD1lLnJvb3RWZSk7Xy5xUCh7aHJlZjpjLHBhcmFtczp7aXRjdDphLmNsaWNrVHJhY2tpbmdQYXJhbXMsYXV0b25hdjpiPy5hdXRvbmF2fSx0YXJnZXQ6Xy5LTygpJiZfLkIoYSxfLkJoYSk/Il9ibGFuayI6dm9pZCAwLGFrOmQsY2xpY2tlZFZpc3VhbEVsZW1lbnQ6Yi5jbGlja2VkVmlzdWFsRWxlbWVudCxpbXBsaWNpdEdlc3R1cmVUeXBlOmIuaW1wbGljaXRHZXN0dXJlVHlwZSxlbGVtZW50OmIuZXZlbnQ/LnRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQ/Yi5ldmVudC50YXJnZXQ6dm9pZCAwLGVuZHBvaW50OmEscGFyZW50TGF5ZXI6Yi5wYXJlbnRMYXllcn0pfX07CkVwYT1mdW5jdGlvbihhLGIpe2lmKF8ueCgiZW1iZWRzX2VuYWJsZV9lbWMzZHNfcGZwIikpaWYoRVkpe3ZhciBjPV8uQihhLF8uQXcpLGQ9Yz8udmlkZW9JZCxlPWM/LnBsYXlsaXN0SWQ7ZHx8ZT8oYT17dmlkZW9faWQ6ZH0sYyYmKGEucGxheWVyX3BhcmFtcz1jLnBsYXllclBhcmFtcyksZT8oYS5saXN0PWUsRVkubG9hZFBsYXlsaXN0KGEpKTpFWS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYSkpOihjPW5ldyBfLlhqKCJFbWMzZHMgV2F0Y2hFbmRwb2ludCBtYWxmb3JtZWQiLHtjb21tYW5kOkpTT04uc3RyaW5naWZ5KGEpfSksXy5HcChjKSxEWShhLGIpKX1lbHNlIGM9bmV3IF8uWGooIkVtYzNkcyBXYXRjaEVuZHBvaW50IHJlc29sdmVkIHdpdGhvdXQgcGxheWVyQXBpIix7Y29tbWFuZDpKU09OLnN0cmluZ2lmeShhKX0pLF8uR3AoYyksRFkoYSxiKTtlbHNlIERZKGEsYil9O0ZZPWZ1bmN0aW9uKGEpe3JldHVybntyZXNvbHZlOihiLGM9e30pPT57YShiLGMuZm9ybXx8e30pO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX19fTsKSFk9ZnVuY3Rpb24oYSxiKXtHWS5wdXNoKHthY3Rpb246YSxjb250ZXh0OmJ9KX07RnBhPWZ1bmN0aW9uKCl7VFcoR1ksKHthY3Rpb246YSxjb250ZXh0OmJ9KT0+e18ueSgpLnJlc29sdmUoXy5VRCkucmVzb2x2ZUNvbW1hbmQoYSx7Zm9ybTpifSl8fEpYKGEsIkFjdGlvbiBub3QgaGFuZGxlZCBieSBDb21tYW5kSGFuZGxlciIsSG9hKX0pfTsKSVk9ZnVuY3Rpb24oYSxiLGMpe2ZvcihsZXQgZiBvZiBob2EoYSkpSFkoZixjKTthPWIuZGF0YT8uYWN0aW9ucz8/W107Zm9yKHZhciBkIG9mIGEpSFkoZCxjKTtkPWIuZGF0YT8uY29tbWFuZHM/P1tdO2Zvcih2YXIgZSBvZiBkKUhZKGUsYyk7KGU9Yi5kYXRhPy5jb21tYW5kKSYmSFkoZSxjKTt2WChiLmRhdGE/Lm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnM/P1tdLGMuc291cmNlRGF0YSk7dlgoYi5kYXRhPy5vblJlc3BvbnNlUmVjZWl2ZWRDb21tYW5kcz8/W10sYy5zb3VyY2VEYXRhKTt2WChiLmRhdGE/Lm9uUmVzcG9uc2VSZWNlaXZlZEVuZHBvaW50cz8/W10sYy5zb3VyY2VEYXRhKTsoYj1iLmRhdGE/LnVwZGF0ZUZsb3dDb21tYW5kKSYmSFkoYixjKX07CkpZPWFzeW5jIGZ1bmN0aW9uKGEsYj1fLkxoYSl7dmFyIGM9YjtfLkIoYSxfLkF5KXx8KGM9T2JqZWN0LmFzc2lnbih7Y3NuOl8uaXEoKXx8IiJ9LGIpKTtiPWF3YWl0IF8ueSgpLnJlc29sdmUoXy5IeSkoKTtpZihiLkp3KGEpKXJldHVybiBiLlFpKGEsYykudGhlbihkPT5kPy5kYXRhP2QuZGF0YTpkKS50aGVuKGQ9Pnt2YXIgZTsoZT1kPy5kYXRhPy50cmFja2luZ1BhcmFtcykmJl8ubHgoXy5oeCgpLGUpO3JldHVybntjb2RlOmQmJmQuZXJyb3I/IkVSUk9SIjoiU1VDQ0VTUyIsZGF0YTpkfX0pO3Rocm93IG5ldyBfLlhqKCJubyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQiLGEpO307SHBhPWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3Qua2V5cyhhKS5zb21lKGI9PmIgaW4gR3BhKX07CktZPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZGF0YT8uY29udGVudHM/LlswXTtpZighYnx8IUhwYShiKSlyZXR1cm4gYTtiPXtvcGVuUG9wdXBBY3Rpb246e3BvcHVwVHlwZToiRElBTE9HIixwb3B1cDpifX07YS5kYXRhLmFjdGlvbnN8fChhLmRhdGEuYWN0aW9ucz1bXSk7YS5kYXRhLmFjdGlvbnMucHVzaChiKTtyZXR1cm4gYX07Ck1ZPWZ1bmN0aW9uKGEsYixjKXtfLkIoYSxfLkF5KSYmYS5jbGlja1RyYWNraW5nUGFyYW1zJiYoTFk9Xy5VdyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTtyZXR1cm4gSlkoYSxjKS50aGVuKGQ9PntpZihfLkIoYSxfLkF5KT8ucmVxdWVzdD09PSJDT05USU5VQVRJT05fUkVRVUVTVF9UWVBFX1JFRUxfV0FUQ0hfU0VRVUVOQ0UiKXt2YXIgZT1kLmRhdGE7ZSYmIWUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucyYmKGUuZW50cmllc3x8ZS5wcmV2RW50cmllcykmJihlLmVudHJpZXM/KGUub25SZXNwb25zZVJlY2VpdmVkQWN0aW9ucz1bXSxlLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMucHVzaCh7YXBwZW5kUmVlbFdhdGNoU2VxdWVuY2VDb250aW51YXRpb25FbnRyaWVzQWN0aW9uOntlbnRyaWVzOmUuZW50cmllcyxjb250aW51YXRpb25FbmRwb2ludDplLmNvbnRpbnVhdGlvbkVuZHBvaW50fX0pKTplLnByZXZFbnRyaWVzJiYoZS5vblJlc3BvbnNlUmVjZWl2ZWRBY3Rpb25zPVtdLAplLm9uUmVzcG9uc2VSZWNlaXZlZEFjdGlvbnMucHVzaCh7YXBwZW5kUmVlbFdhdGNoU2VxdWVuY2VDb250aW51YXRpb25FbnRyaWVzQWN0aW9uOntwcmV2RW50cmllczplLnByZXZFbnRyaWVzLHByZXZDb250aW51YXRpb25FbmRwb2ludDplLnByZXZDb250aW51YXRpb25FbmRwb2ludH19KSkpfWlmKF8uQihhLF8uVXopfHxfLkIoYSxfLmRPKSliLmN1cnJlbnREYXRhfHwoYi5jdXJyZW50RGF0YT1fLlhEPy5yZXNwb25zZT8/e30pLGIuc291cmNlRGF0YXx8KGIuc291cmNlRGF0YT1hKTtJWShhLEtZKGQpLGIpO18uQihhLF8uQXkpJiZkPy5kYXRhPy50cmFja2luZ1BhcmFtcyYmXy5seChfLmh4KCksZC5kYXRhLnRyYWNraW5nUGFyYW1zLExZKTtyZXR1cm4gZH0sZD0+e3ZhciBlPU9iamVjdC5rZXlzKGEpLmZpbHRlcihmPT5fLk1hKGYsIkVuZHBvaW50IikpWzBdO2UmJihlPWFbZV0sKGU9ZT8ub25GYWlsdXJlQWN0aW9uPz9lPy5vbkZhaWx1cmVDb21tYW5kKSYmSFkoZSxiKSk7dGhyb3cgZDsKfSl9O0lwYT1mdW5jdGlvbihhLGIpe18uQihhLF8uY0UpPy5uYXZpZ2F0aW9uVHlwZT09PSJCUk9XU0VfTkFWSUdBVElPTl9UWVBFX1NUQVlfT05fUEFHRSI/TVkoYSxiKTpEWShhLGIpfTtKcGE9ZnVuY3Rpb24oYSxiKXtpZihhPShfLkIoYSxfLlNEKXx8YSkuY29tbWFuZHMpZm9yKGxldCBjIG9mIGEpXy5LTShjKT9fLkFKKGMsYi5zb3VyY2VEYXRhLCEwLGIpOkhZKGMsYil9OwpMcGE9YXN5bmMgZnVuY3Rpb24oYSl7YT1fLkIoYSxLcGEpO2lmKGE/LnRleHQmJm5hdmlnYXRvci5jbGlwYm9hcmQpdHJ5e2lmKGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGEudGV4dCksYS5zdWNjZXNzQWN0aW9ucyYmYS5zdWNjZXNzQWN0aW9ucy5sZW5ndGghPT0wKWZvcihsZXQgYiBvZiBhLnN1Y2Nlc3NBY3Rpb25zKV8uQUooYix7fSwhMSl9Y2F0Y2goYil7aWYoYS5mYWlsdXJlQWN0aW9ucyYmYS5mYWlsdXJlQWN0aW9ucy5sZW5ndGghPT0wKWZvcihsZXQgYyBvZiBhLmZhaWx1cmVBY3Rpb25zKV8uQUooYyx7fSwhMSl9fTtNcGE9ZnVuY3Rpb24oYSl7KDAsXy53aWEpKHtub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uOnt0b2dnbGVCdXR0b25SZW5kZXJlcjphLnNvdXJjZURhdGF9fSxiPT4oey4uLmIsbm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbjp7dG9nZ2xlQnV0dG9uUmVuZGVyZXI6YS5zb3VyY2VEYXRhfX0pKX07Ck5wYT1mdW5jdGlvbihhLGIpe01ZKGEsYikudGhlbigoKT0+e01wYShiKX0pfTtQcGE9ZnVuY3Rpb24oYSl7Xy5xUCh7aHJlZjpfLkt6KGB0ZWw6JHtfLkIoYSxPcGEpLnBob25lTnVtYmVyfWAsW18uSHFdKS50b1N0cmluZygpLGVuZHBvaW50OmF9KX07UnBhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gSlkoYSxjKS50aGVuKGQ9PntJWShhLEtZKGQpLGIpO3ZhciBlPV8uV0QoKCk9PmQuZGF0YS5yZWRpcmVjdEVuZHBvaW50KTtlJiZfLkFKKGUsZC5kYXRhLCExKX0sZD0+e18ucFAoKCk9PlFwYSk7dGhyb3cgZDt9KX07VHBhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLFNwYSksYz1gc21zOiR7Yi5waG9uZU51bWJlcnMmJmIucGhvbmVOdW1iZXJzWzBdfWA7Yi5tZXNzYWdlVGV4dCYmKGMrPWA/JmJvZHk9JHtlbmNvZGVVUkkoYi5tZXNzYWdlVGV4dCl9YCk7Xy5xUCh7aHJlZjpfLkt6KGMsW18uT3FdKS50b1N0cmluZygpLGVuZHBvaW50OmF9KX07ClVwYT1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaGFzaD09PSIjZGlhbG9nIn07Tlk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBfLkZKO3JldHVybiBuZXcgUHJvbWlzZShhPT57dmFyIGI9Xy55KCkucmVzb2x2ZShfLkluKF8ueVApKTtiPy5ycSgpJiZiLmxkKCk7d2luZG93LmxvY2F0aW9uLmhhc2g9PT0iI2RpYWxvZyI/Xy5ZTT9zZXRUaW1lb3V0KCgpPT57Xy4kTSgiIik7YSgpfSwxMDApOl8uWk0oKS50aGVuKCgpPT57YSgpfSk6YSgpfSl9OwpXcGE9ZnVuY3Rpb24oYSxiLGMsZCl7VnBhKGMpO2M9T1koYSk7dmFyIGU9bmF2aWdhdG9yLGY9Xy5mciYmXy53KCJNV0VCX0lPU19OQVRJVkVfU0hBUkUiKSxoPXt1cmw6Y307aWYoKCFfLmZyfHxmKSYmZS5zaGFyZSYmYyYmZS5jYW5TaGFyZSYmZS5jYW5TaGFyZShoKSl7bGV0IGs9Xy5FeChfLmh4KCkse3ZlVHlwZTo5NzcwfSksbD17b3V0Ym91bmRBcHBEYXRhOntvdXRib3VuZEFwcDoiRElSRUNUX1NZU1RFTV9BQ1RJVklUWV9ESUFMT0cifSxzaGFyaW5nRGF0YTp7c2VyaWFsaXplZFNoYXJlRW50aXR5OmR9fTtfLkpPKGssbCw3KTtlLnNoYXJlKGgpLnRoZW4oKCk9Pnt0WChrLGwsNyl9KS5jYXRjaChtPT57bS5uYW1lIT09IkFib3J0RXJyb3IiJiYoXy5JcChuZXcgXy5YaigiU3lzdGVtIFNoYXJlIFBhbmVsIGZhaWxlZCB0byBvcGVuLiIpKSxQWShhLGIpKX0pfWVsc2UgUFkoYSxiKX07ClZwYT1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1fLmh4KCk7Xy5ETyhiLDIxNzYwLHZvaWQgMCx7bGF5ZXI6NyxwYXJlbnRMYXllcjowfSk7Xy5seChiLGEsdm9pZCAwLDcpfX07UFk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1PWShhKTtfLmdyfHxfLlRFKCl8fF8uclAoKT9fLnkoKS5yZXNvbHZlKF8ueVApLm9wZW5EaWFsb2coe1VuOigpPT5fLksoWHBhLHtkYXRhOmF9KX0pOl8ueU4oe2hlYWRlclRpdGxlOiJTaGFyZSIsR2I6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6ImJvdHRvbS1zaGVldC1zaGFyZS1pdGVtIn0sXy5LKF8uTyx7QTooKT0+Yyx0aGVuOmQ9Pl8uSyhRWSx7c2hvcnRVcmw6ZCx0cmFja2luZ1BhcmFtczpSWShhKX0pfSksU1koYSk/Lm1hcChkPT5kPy5zaGFyZVRhcmdldFJlbmRlcmVyP18uSyhUWSx7ZGF0YTpkLnNoYXJlVGFyZ2V0UmVuZGVyZXJ9KTpudWxsKSksSGE6ITEsZm9jdXNPbkNsb3NlOmI/LmV2ZW50Py50YXJnZXR9KX07ClNZPWZ1bmN0aW9uKGEpe2lmKGEuY29udGVudHMmJmEuY29udGVudHNbMF0pcmV0dXJuKGE9YS5jb250ZW50c1swXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LnNoYXJlVGFyZ2V0Q29udGFpbmVyPy50aGlyZFBhcnR5U2hhcmVUYXJnZXRTZWN0aW9uUmVuZGVyZXI/LnNoYXJlVGFyZ2V0cykmJmEubGVuZ3RoPjU/YS5zbGljZSgwLDUpOmF9O09ZPWZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbnRlbnRzJiZhLmNvbnRlbnRzWzBdP18uQihhLmNvbnRlbnRzWzBdLnRoaXJkUGFydHlOZXR3b3JrU2VjdGlvbj8uY29weUxpbmtDb250YWluZXIsVVkpPy5zaG9ydFVybDoiIn07Ulk9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQihfLkIoYT8uY29udGVudHM/LlswXS50aGlyZFBhcnR5TmV0d29ya1NlY3Rpb24/LmNvcHlMaW5rQ29udGFpbmVyLFVZKT8uY29weUJ1dHRvbixfLlZMKT8udHJhY2tpbmdQYXJhbXN9OwpacGE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLlp6KT8uc2hhcmVQYW5lbFR5cGUsZD1fLkIoYSxfLlp6KT8uc2VyaWFsaXplZFNoYXJlRW50aXR5O01ZKGEsYikudGhlbihlPT57WXBhKGUsYixjLGQpfSl9O1lwYT1mdW5jdGlvbihhLGIsYyxkKXtpZihhLmNvZGU9PT0iU1VDQ0VTUyImJmEuZGF0YSlhPWEuZGF0YSxhLmNvbnRlbnRzJiZhLmNvbnRlbnRzLnVuaWZpZWRTaGFyZVBhbmVsUmVuZGVyZXImJmM9PT0iU0hBUkVfUEFORUxfVFlQRV9VTklGSUVEX1NIQVJFX1BBTkVMIiYmV3BhKGEuY29udGVudHMudW5pZmllZFNoYXJlUGFuZWxSZW5kZXJlcix7ZXZlbnQ6Yj8uZXZlbnR9LGEudHJhY2tpbmdQYXJhbXMsZCk7ZWxzZXtfLmdGPT09dm9pZCAwJiYoXy5nRj1rb2EoKSk7bGV0IGU9Xy5nRj8kcGE6YXFhO18ucFAoKCk9PmUpfX07YnFhPWZ1bmN0aW9uKGEpe2E9YS5wYW5lbElkZW50aWZpZXJ8fGEuaWRlbnRpZmllcj8udGFnO2lmKCFhKXRocm93IEVycm9yKCJnZSIpO3JldHVybiBhfTsKZHFhPWFzeW5jIGZ1bmN0aW9uKGEsYil7dmFyIGM9Xy5CKGEsXy5RVyk7aWYoYyl7dmFyIGQ9Xy5XRCgoKT0+Yj8uZXZlbnQ/LmN1cnJlbnRUYXJnZXR8fGI/LmVsZW1lbnQpLGU9YnFhKGMpO3ZhciBmPWM/Yy5nbG9iYWxDb25maWd1cmF0aW9uPy5pbml0aWFsU3RhdGV8fGMuZW5nYWdlbWVudFBhbmVsOnZvaWQgMDtpZihlKXtsZXQgaD1fLnkoKS5yZXNvbHZlKF8uYkwpLGs9YXdhaXQgXy55KCkucmVzb2x2ZShfLkh5KSgpO2F3YWl0IGNxYShoLHtpZGVudGlmaWVyOmUsSWo6Zix0YXJnZXQ6ZH0pO2MuZ2xvYmFsQ29uZmlndXJhdGlvbiYmKGE9YXdhaXQgay5RaShhKSxhd2FpdCBWWShoLHtpZGVudGlmaWVyOmUsSWo6YT8uY29udGVudCx0bjohMX0pKX19fTsKZXFhPWZ1bmN0aW9uKGEsYil7aWYoYT1fLkVPKHdpbmRvdyxhLCJsb2dpblBvcHVwIiwid2lkdGg9ODAwLGhlaWdodD02MDAscmVzaXphYmxlPXllcyxzY3JvbGxiYXJzPXllcyIpKUhuYSgoKT0+e2IoKX0pLGEubW92ZVRvKChzY3JlZW4ud2lkdGgtODAwKS8yLChzY3JlZW4uaGVpZ2h0LTYwMCkvMil9O2ZxYT1mdW5jdGlvbihhLGIpe18uS08oKT8oKGI9dVgoYSkpJiZfLkVPKHdpbmRvdyxiKSxhLmNsaWNrVHJhY2tpbmdQYXJhbXMmJl8uekooYS5jbGlja1RyYWNraW5nUGFyYW1zKSk6Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfRU1CRURERURfUExBWUVSIj8oYT11WChhKSkmJmVxYShhLCgpPT57d2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfSk6RFkoYSxiKX07CmdxYT1mdW5jdGlvbihhKXtpZihhLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI/LmNoYW5uZWxJZCkoMCxfLnhQKSh7Y2hhbm5lbElkOmEuc291cmNlRGF0YS5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5jaGFubmVsSWR9LGM9Pih7Li4uYyxzdWJzY3JpYmVkOiFhLnNvdXJjZURhdGEuc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIuc3Vic2NyaWJlZH0pKTtlbHNle3ZhciBiPV8uQihhLnNvdXJjZURhdGEuc2VydmljZUVuZHBvaW50LF8uRHkpO2ImJigwLF8ueFApKHtjaGFubmVsSWQ6Yi5jaGFubmVsSWRzPy5bMF19LGM9Pih7Li4uYyxzdWJzY3JpYmVkOiExfSkpfX07V1k9ZnVuY3Rpb24oYSxiLGMpe01ZKGEsYixjKS50aGVuKCgpPT57Z3FhKGIpfSl9OwpocWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkIoYSxfLlZEKSxkPWMudXJsO2M9Yy50YXJnZXQ9PT0iVEFSR0VUX05FV19XSU5ET1ciPyJfYmxhbmsiOiIiO3ZhciBlO2EuY2xpY2tUcmFja2luZ1BhcmFtcyYmKGU9e2l0Y3Q6YS5jbGlja1RyYWNraW5nUGFyYW1zfSk7dmFyIGY9Yj8uc291cmNlRGF0YT8ucGFyYW1zPy50aW1lc3RhbXA7ZiYmKGU9ey4uLmUsdGltZXN0YW1wOmZ9KTtfLnFQKHtocmVmOmQscGFyYW1zOmUsdGFyZ2V0OmMsZW5kcG9pbnQ6YSxhazpfLkIoYT8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5yb290VmUsZWxlbWVudDpiLmV2ZW50Py50YXJnZXR9KX07aXFhPWZ1bmN0aW9uKGEpe3dvYShfLkIoYSxfLmZjYSk/LmFkZGl0aW9uYWxEYXRhcyl9OwpqcWE9ZnVuY3Rpb24oYSl7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlIixiPT57dmFyIGM9Yi5kZXRhaWw7Yy5wYXJhbXN8fChjLnBhcmFtcz17fSk7Yj1jLnBhcmFtczt2YXIgZD1iLml0Y3Q7ZCYmKF8uaHgoKS5DZihkKSxkZWxldGUgYi5pdGN0KTtiPWMuaHJlZjtpZighWFlbYl0pe2Q9ITE7aWYoYi5zdGFydHNXaXRoKCJodHRwIil8fGIuc3RhcnRzV2l0aCgiLy8iKSl7dmFyIGU9Yj9fLlBNKGIpLmhvc3RuYW1lfHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU6IiIsZj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7aWYoZD1lIT09ZillPWUuc3BsaXQoIi4iKS5zbGljZSgtMiksZj1mLnNwbGl0KCIuIikuc2xpY2UoLTIpLGUubGVuZ3RoJiZmLmxlbmd0aCYmKGQ9ZS5qb2luKCIuIikhPT1mLmpvaW4oIi4iKSl9WFlbYl09ZH1kPVhZW2JdO2lmKGQpXy5FTyh3aW5kb3csYik7ZWxzZXtkPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpO2E6e2lmKCFhLmdldFZpZGVvRGF0YSgpLmlzTGl2ZSl7aWYoKGY9CmMucGFyYW1zKSYmZi50aW1lc3RhbXApe2Y9Zi50aW1lc3RhbXA7YnJlYWsgYX1pZighXy54KCJlbWJlZHNfZW1jM2RzX2Fsd2F5c19jdXJ0aW1lX2tzIikmJihmPS9eaHR0cHM/OlwvXC93d3cueW91dHViZS5jb21cL3dhdGNoXD92PShbQS1aYS16MC05Xy1dezExfSkvLmV4ZWMoYy5ocmVmKT8uWzFdKSYmZj09PWEuZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQmJihmPWEuZ2V0Q3VycmVudFRpbWUoKSxmPjApKXtmPU1hdGguZmxvb3IoZikudG9TdHJpbmcoKTticmVhayBhfX1mPXZvaWQgMH1lPShlPWMuZWxlbWVudCk/Xy5VeChlKT8/dm9pZCAwOnZvaWQgMDthOntpZihlKXt2YXIgaD1lLmdldEFzSnNvbigpO2U9aC52ZVR5cGU7aD1oLnRyYWNraW5nUGFyYW1zO2lmKGUpe2U9U3RyaW5nKGUpO2JyZWFrIGF9aWYoaCYmKGU9Xy5FbyhfLkNvKGgpLDIpKSl7ZT1lLnRvU3RyaW5nKCk7YnJlYWsgYX19ZT12b2lkIDB9ZXx8KE1hdGgucmFuZG9tKCk8Xy5zaigiZW1iZWRzX2xvZ193YXJuaW5nX3NhbXBsZV9zaXplX3JhdGUiLAouMDAxKSYmXy5JcChuZXcgXy5YaigiVXNpbmcgZmFsbGJhY2sgVkUgZm9yIGVsZW1lbnQ6ICIse3RhZ05hbWU6Yy5lbGVtZW50Py50YWdOYW1lLGNsYXNzTGlzdDpjLmVsZW1lbnQ/LmNsYXNzTGlzdC50b1N0cmluZygpLGRldGFpbDpjfSkpLGU9KDIxNDI4MykudG9TdHJpbmcoKSk7Yz17fTtkLndpZGdldFJlZmVycmVyJiYoYy5lbWJlZHNfd2lkZ2V0X3JlZmVycmVyPWQud2lkZ2V0UmVmZXJyZXIpO2QubG9hZGVyVXJsJiYoYy5lbWJlZHNfcmVmZXJyaW5nX2V1cmk9ZC5sb2FkZXJVcmwuc3Vic3RyaW5nKDAsMTI4KSk7ZC5pc0VtYmVkJiZkLmVtYmVkc0lmcmFtZU9yaWdpblBhcmFtJiYoYy5lbWJlZHNfcmVmZXJyaW5nX29yaWdpbj1kLmVtYmVkc0lmcmFtZU9yaWdpblBhcmFtKTtkLmlzRW1iZWQmJmQuZW1iZWRzRmVhdHVyZSYmKGMuZmVhdHVyZT1kLmVtYmVkc0ZlYXR1cmUpO2Q9ZTtiPShuZXcgVVJMKGIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIikpLnRvU3RyaW5nKCk7ZiYmCihiPV8uZWooYix7dGltZV9jb250aW51ZTpmfSkpO2lmKGQpe2lmKCFfLk1rKCJjb2JhbHQiKSl7Zj1bXTtlPTA7Zm9yKGg9MDtoPGQubGVuZ3RoO2grKyl7bGV0IGs9ZC5jaGFyQ29kZUF0KGgpO2s+MjU1JiYoZltlKytdPWsmMjU1LGs+Pj04KTtmW2UrK109a31kPV8uc2MoZiw0KX1iPV8uZWooYix7c291cmNlX3ZlX3BhdGg6ZH0pfWMmJihiPV8uZWooYixjKSk7Xy5FTyh3aW5kb3csYil9fSl9OwprcWE9ZnVuY3Rpb24oKXt2YXIgYT17fTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvY2xvc2VkX2NhcHRpb24vdjExLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTMuMDEgM0MzIDMgMyAzIDMuMDEgM0wzIDIxaDE4VjNIMy4wMXpNMTEgMTFIOS41di0uNWgtMnYzaDJWMTNIMTF2MWMwIC41NS0uNDUgMS0xIDFIN2MtLjU1IDAtMS0uNDUtMS0xdi00YzAtLjU1LjQ1LTEgMS0xaDNjLjU1IDAgMSAuNDUgMSAxdjF6bTcgMGgtMS41di0uNWgtMnYzaDJWMTNIMTh2MWMwIC41NS0uNDUgMS0xIDFoLTNjLS41NSAwLTEtLjQ1LTEtMXYtNGMwLS41NS40NS0xIDEtMWgzYy41NSAwIDEgLjQ1IDEgMXYxeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9maWxsX2V4cGVyaW1lbnRhbC9jbG9zZWRfY2FwdGlvbnMvdjMvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEgM0gzYTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxOGEyIDIgMCAwMDItMlY1YTIgMiAwIDAwLTItMlpNOS4wMzggOC4wODljLjY5Ny4xNzggMS4yOTQuNjA2IDEuNzM3IDEuMTc2YTEgMSAwIDAxLTEuNTc4IDEuMjI4Yy0uMjEtLjI3LS40NDQtLjQxMy0uNjU0LS40NjdhLjg2Ljg2IDAgMDAtLjYzMi4wODVjLS4yMjIuMTE5LS40NTMuMzQyLS42MzEuNjg0QTIuNjQgMi42NCAwIDAwNyAxMmEyLjY0IDIuNjQgMCAwMC4yODEgMS4yMDVjLjE3Ny4zNDIuNDA4LjU2NS42My42ODRhLjg2Ljg2IDAgMDAuNjMyLjA4NWMuMjA5LS4wNTQuNDQ0LS4xOTcuNjU0LS40NjdhMSAxIDAgMDExLjU3OCAxLjIyOGMtLjQ0My41Ny0xLjA0Ljk5OC0xLjczNyAxLjE3NmEyLjg2IDIuODYgMCAwMS0yLjA2Ni0uMjU3Yy0uNjMxLS4zMzYtMS4xMzEtLjg4MS0xLjQ2Ni0xLjUyNkE0LjYgNC42IDAgMDE1IDEyYy0uMDA0LS43NC4xNy0xLjQ3LjUwNi0yLjEyOC4zMzYtLjY0NS44MzUtMS4xOSAxLjQ2Ni0xLjUyNmEyLjg2IDIuODYgMCAwMTIuMDY2LS4yNTdabTggMGMuNjk3LjE3OCAxLjI5NC42MDYgMS43MzcgMS4xNzZhMSAxIDAgMDEtMS41NzggMS4yMjhjLS4yMS0uMjctLjQ0NC0uNDEzLS42NTQtLjQ2N2EuODYuODYgMCAwMC0uNjMyLjA4NWMtLjIyMi4xMTktLjQ1My4zNDItLjYzMS42ODRBMi42NCAyLjY0IDAgMDAxNSAxMmEyLjY0IDIuNjQgMCAwMC4yODEgMS4yMDVjLjE3Ny4zNDIuNDA4LjU2NS42My42ODRhLjg2Ljg2IDAgMDAuNjMyLjA4NWMuMjA5LS4wNTQuNDQ0LS4xOTcuNjU0LS40NjdhMSAxIDAgMDExLjU3OCAxLjIyOGMtLjQ0My41Ny0xLjA0Ljk5OC0xLjczNyAxLjE3NmEyLjg2IDIuODYgMCAwMS0yLjA2Ni0uMjU3Yy0uNjMxLS4zMzYtMS4xMzEtLjg4MS0xLjQ2Ni0xLjUyNkE0LjYgNC42IDAgMDExMyAxMmMtLjAwNC0uNzQuMTctMS40Ny41MDYtMi4xMjguMzM2LS42NDUuODM1LTEuMTkgMS40NjYtMS41MjZhMi44NiAyLjg2IDAgMDEyLjA2Ni0uMjU3WiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbC9wYXVzZS92OS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik05IDE5SDdWNWgyWm04LTE0aC0ydjE0aDJaIn0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3BhdXNlL3Y5LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNNi41IDNBMS41IDEuNSAwIDAwNSA0LjV2MTVBMS41IDEuNSAwIDAwNi41IDIxaDJhMS41IDEuNSAwIDAwMS41LTEuNXYtMTVBMS41IDEuNSAwIDAwOC41IDNoLTJabTkgMEExLjUgMS41IDAgMDAxNCA0LjV2MTVhMS41IDEuNSAwIDAwMS41IDEuNWgyYTEuNSAxLjUgMCAwMDEuNS0xLjV2LTE1QTEuNSAxLjUgMCAwMDE3LjUgM2gtMloifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGwvcGxheV9hcnJvdy92Ny8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im03IDQgMTIgOC0xMiA4VjR6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3BsYXkvdjQvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik01IDQuNjIzVjE5LjM4YTEuNSAxLjUgMCAwMDIuMjYgMS4yOUwyMiAxMiA3LjI2IDMuMzNBMS41IDEuNSAwIDAwNSA0LjYyM1oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfZmlsbC95b3V0dWJlX2xvZ29faWNvbi92Ni8yNHB4LnN2ZyJdPQpfLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjEuNTggNy4xOWEyLjUxIDIuNTEgMCAwMC0xLjc3LTEuNzdDMTguMjUgNSAxMiA1IDEyIDVzLTYuMjUgMC03LjgxLjQyYTIuNTEgMi41MSAwIDAwLTEuNzcgMS43N0EyNS44NyAyNS44NyAwIDAwMiAxMmEyNS44NyAyNS44NyAwIDAwLjQyIDQuODEgMi41MSAyLjUxIDAgMDAxLjc3IDEuNzdDNS43NSAxOSAxMiAxOSAxMiAxOXM2LjI1IDAgNy44MS0uNDJhMi41MSAyLjUxIDAgMDAxLjc3LTEuNzdBMjUuODcgMjUuODcgMCAwMDIyIDEyYTI1Ljg3IDI1Ljg3IDAgMDAtLjQyLTQuODF6TTEwIDE0LjY1di01LjNMMTUgMTJ6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX2ZpbGxfZXhwZXJpbWVudGFsL3lvdXR1YmUvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsCmZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIgNXMtNi4yNDkgMC03LjgxLjQyYy0uODYuMjMtMS41NC45MS0xLjc3IDEuNzdDMiA4Ljc1IDIgMTIgMiAxMnMwIDMuMjUuNDIgNC44MWMuMjMuODYuOTEgMS41NCAxLjc3IDEuNzdDNS43NTEgMTkgMTIgMTkgMTIgMTlzNi4yNDkgMCA3LjgxLS40MmMuODYtLjIzIDEuNTQtLjkxIDEuNzctMS43N0MyMiAxNS4yNSAyMiAxMiAyMiAxMnMwLTMuMjUtLjQyLTQuODFjLS4yMy0uODYtLjkxLTEuNTQtMS43Ny0xLjc3QzE4LjI0OSA1IDEyIDUgMTIgNVptLTIgMTBWOWw1IDMtNSAzWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Fycm93X2NpcmNsZS92Ni8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IiwKaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMjIgMTJjMCA1LjUxLTQuNDkgMTAtMTAgMTBTMiAxNy41MSAyIDEyaDFjMCA0Ljk2IDQuMDQgOSA5IDlzOS00LjA0IDktOS00LjA0LTktOS05QzguODEgMyA1LjkyIDQuNjQgNC4yOCA3LjM4Yy0uMTEuMTgtLjIyLjM3LS4zMS41NkwzLjk0IDhIOHYxSDEuOTZWM2gxdjQuNzRjLjA0LS4wOS4wNy0uMTcuMTEtLjI1LjExLS4yMi4yMy0uNDIuMzUtLjYzQzUuMjIgMy44NiA4LjUxIDIgMTIgMmM1LjUxIDAgMTAgNC40OSAxMCAxMHoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvYXJyb3dfY291bnRlcmNsb2Nrd2lzZS92Mi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsCndpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0zIDJhMSAxIDAgMDAtMSAxdjZoNmExIDEgMCAwMDAtMkg1Ljc1N2E4IDggMCAxMS0xLjQ4NSA3LjA3IDEgMSAwIDEwLTEuOTMxLjUxNyAxMC4wMDIgMTAuMDAyIDAgMDAxOC4wOTMgMi43ODJBOS45OTkgOS45OTkgMCAwMDQgNlYzYTEgMSAwIDAwLTEtMVoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9iZWxsL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCAyMGg0YzAgMS4xLS45IDItMiAycy0yLS45LTItMnptMTAtMi42NVYxOUg0di0xLjY1bDItMS44OHYtNS4xNUM2IDcuNCA3LjU2IDUuMSAxMCA0LjM0di0uMzhjMC0xLjQyIDEuNDktMi41IDIuOTktMS43Ni42NS4zMiAxLjAxIDEuMDMgMS4wMSAxLjc2di4zOWMyLjQ0Ljc1IDQgMy4wNiA0IDUuOTh2NS4xNWwyIDEuODd6bS0xIC40Mi0yLTEuODh2LTUuNDdjMC0yLjQ3LTEuMTktNC4zNi0zLjEzLTUuMS0xLjI2LS41My0yLjY0LS41LTMuODQuMDNDOC4xNSA2LjExIDcgNy45OSA3IDEwLjQydjUuNDdsLTIgMS44OFYxOGgxNHYtLjIzeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvYmVsbC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNiAxOWE0IDQgMCAxMS04IDBINC43NjVDMy4yMSAxOSAyLjI1IDE3LjMwNCAzLjA1IDE1Ljk3bDEuODA2LTMuMDFBMSAxIDAgMDA1IDEyLjQ0NlY4YTcgNyAwIDAxMTQgMHY0LjQ0NmMwIC4xODEuMDUuMzYuMTQyLjUxNWwxLjgwNyAzLjAxYy44IDEuMzMzLS4xNjEgMy4wMjktMS43MTYgMy4wMjlIMTZaTTEyIDNhNSA1IDAgMDAtNSA1djQuNDQ2YTMgMyAwIDAxLS40MjggMS41NDNMNC43NjUgMTdoMTQuNDY4bC0xLjgwNS0zLjAxQTMgMyAwIDAxMTcgMTIuNDQ1VjhhNSA1IDAgMDAtNS01Wm0tMiAxNmEyIDIgMCAxMDQgMGgtNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvY2xvY2svdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE0Ljk3IDE2Ljk1IDEwIDEzLjg3VjdoMnY1Ljc2bDQuMDMgMi40OS0xLjA2IDEuN3pNMTIgM2MtNC45NiAwLTkgNC4wNC05IDlzNC4wNCA5IDkgOSA5LTQuMDQgOS05LTQuMDQtOS05LTltMC0xYzUuNTIgMCAxMCA0LjQ4IDEwIDEwcy00LjQ4IDEwLTEwIDEwUzIgMTcuNTIgMiAxMiA2LjQ4IDIgMTIgMnoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvY2xvY2svdjEwLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEyIDFDNS45MjUgMSAxIDUuOTI1IDEgMTJzNC45MjUgMTEgMTEgMTEgMTEtNC45MjUgMTEtMTFTMTguMDc1IDEgMTIgMVptMCAyYTkgOSAwIDExMCAxOC4wMDFBOSA5IDAgMDExMiAzWm0wIDNhMSAxIDAgMDAtMSAxdjUuNTY1bC40ODUuMjkyIDMuMzMgMmExIDEgMCAwMDEuMDMtMS43MTRMMTMgMTEuNDM1VjdhMSAxIDAgMDAtMS0xWiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lL2Nsb3NlZF9jYXB0aW9uL3YxMS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik02IDE0di00YzAtLjU1LjQ1LTEgMS0xaDNjLjU1IDAgMSAuNDUgMSAxdjFIOS41di0uNWgtMnYzaDJWMTNIMTF2MWMwIC41NS0uNDUgMS0xIDFIN2MtLjU1IDAtMS0uNDUtMS0xem04IDFoM2MuNTUgMCAxLS40NSAxLTF2LTFoLTEuNXYuNWgtMnYtM2gydi41SDE4di0xYzAtLjU1LS40NS0xLTEtMWgtM2MtLjU1IDAtMSAuNDUtMSAxdjRjMCAuNTUuNDUgMSAxIDF6bTYtMTFINHYxNmgxNlY0bTEtMXYxOEgzVjMuMDFDMyAzIDMgMyAzLjAxIDNIMjF6In0pKTsKYVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9jbG9zZWRfY2FwdGlvbnMvdjMvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0yMSAzSDNhMiAyIDAgMDAtMiAydjE0YTIgMiAwIDAwMiAyaDE4YTIgMiAwIDAwMi0yVjVhMiAyIDAgMDAtMi0yWk0zIDE5VjVoMTh2MTRIM1pNNi45NzIgOC4zNDZjLS42MzEuMzM2LTEuMTMxLjg4MS0xLjQ2NiAxLjUyNkE0LjYgNC42IDAgMDA1IDEyYy0uMDA0Ljc0LjE3IDEuNDcuNTA2IDIuMTI4LjMzNi42NDUuODM1IDEuMTkxIDEuNDY2IDEuNTI2YTIuODYgMi44NiAwIDAwMi4wNjYuMjU3Yy42OTctLjE3OCAxLjI5NC0uNjA2IDEuNzM3LTEuMTc2YTEgMSAwIDAwLTEuNTc4LTEuMjI4Yy0uMjEuMjctLjQ0NC40MTMtLjY1NC40NjdhLjg2Ljg2IDAgMDEtLjYzMi0uMDg1Yy0uMjIyLS4xMTktLjQ1My0uMzQyLS42MzEtLjY4NEEyLjY0IDIuNjQgMCAwMTcgMTJhMi42IDIuNiAwIDAxLjI4MS0xLjIwNWMuMTc3LS4zNDIuNDA4LS41NjUuNjMtLjY4NGEuODYuODYgMCAwMS42MzItLjA4NWMuMjA5LjA1NC40NDQuMTk3LjY1NC40NjdhMSAxIDAgMDAxLjU3OC0xLjIyOGMtLjQ0My0uNTctMS4wNC0uOTk4LTEuNzM3LTEuMTc2YTIuODYgMi44NiAwIDAwLTIuMDY2LjI1N1ptOCAwYy0uNjMxLjMzNi0xLjEzMS44ODEtMS40NjYgMS41MjZBNC42IDQuNiAwIDAwMTMgMTJjLS4wMDQuNzQuMTcgMS40Ny41MDYgMi4xMjguMzM2LjY0NS44MzUgMS4xOTEgMS40NjYgMS41MjZhMi44NiAyLjg2IDAgMDAyLjA2Ni4yNTdjLjY5Ny0uMTc4IDEuMjk0LS42MDYgMS43MzctMS4xNzZhMSAxIDAgMDAtMS41NzgtMS4yMjhjLS4yMS4yNy0uNDQ0LjQxMy0uNjU0LjQ2N2EuODYuODYgMCAwMS0uNjMyLS4wODVjLS4yMjItLjExOS0uNDUzLS4zNDItLjYzMS0uNjg0QTIuNjQgMi42NCAwIDAxMTUgMTJhMi42IDIuNiAwIDAxLjI4MS0xLjIwNWMuMTc3LS4zNDIuNDA4LS41NjUuNjMtLjY4NGEuODYuODYgMCAwMS42MzItLjA4NWMuMjA5LjA1NC40NDQuMTk3LjY1NC40NjdhMSAxIDAgMDAxLjU3OC0xLjIyOGMtLjQ0My0uNTctMS4wNC0uOTk4LTEuNzM3LTEuMTc2YTIuODYgMi44NiAwIDAwLTIuMDY2LjI1N1oifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvZ2Vhci92MTAvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsImVuYWJsZS1iYWNrZ3JvdW5kIjoibmV3IDAgMCAyNCAyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTIgOS41YzEuMzggMCAyLjUgMS4xMiAyLjUgMi41cy0xLjEyIDIuNS0yLjUgMi41LTIuNS0xLjEyLTIuNS0yLjUgMS4xMi0yLjUgMi41LTIuNW0wLTFjLTEuOTMgMC0zLjUgMS41Ny0zLjUgMy41czEuNTcgMy41IDMuNSAzLjUgMy41LTEuNTcgMy41LTMuNS0xLjU3LTMuNS0zLjUtMy41ek0xMy4yMiAzbC41NSAyLjIuMTMuNTEuNS4xOGMuNjEuMjMgMS4xOS41NiAxLjcyLjk4bC40LjMyLjUtLjE0IDIuMTctLjYyIDEuMjIgMi4xMS0xLjYzIDEuNTktLjM3LjM2LjA4LjUxYy4wNS4zMi4wOC42NC4wOC45OHMtLjAzLjY2LS4wOC45OGwtLjA4LjUxLjM3LjM2IDEuNjMgMS41OS0xLjIyIDIuMTEtMi4xNy0uNjItLjUtLjE0LS40LjMyYy0uNTMuNDMtMS4xMS43Ni0xLjcyLjk4bC0uNS4xOC0uMTMuNTEtLjU1IDIuMjRoLTIuNDRsLS41NS0yLjItLjEzLS41MS0uNS0uMThjLS42LS4yMy0xLjE4LS41Ni0xLjcyLS45OWwtLjQtLjMyLS41LjE0LTIuMTcuNjItMS4yMS0yLjEyIDEuNjMtMS41OS4zNy0uMzYtLjA4LS41MWMtLjA1LS4zMi0uMDgtLjY1LS4wOC0uOThzLjAzLS42Ni4wOC0uOThsLjA4LS41MS0uMzctLjM2TDMuNiA4LjU2bDEuMjItMi4xMSAyLjE3LjYyLjUuMTQuNC0uMzJjLjUzLS40NCAxLjExLS43NyAxLjcyLS45OWwuNS0uMTguMTMtLjUxLjU0LTIuMjFoMi40NE0xNCAyaC00bC0uNzQgMi45NmMtLjczLjI3LTEuNC42Ni0yIDEuMTRsLTIuOTItLjgzLTIgMy40NiAyLjE5IDIuMTNjLS4wNi4zNy0uMDkuNzUtLjA5IDEuMTRzLjAzLjc3LjA5IDEuMTRsLTIuMTkgMi4xMyAyIDMuNDYgMi45Mi0uODNjLjYuNDggMS4yNy44NyAyIDEuMTRMMTAgMjJoNGwuNzQtMi45NmMuNzMtLjI3IDEuNC0uNjYgMi0xLjE0bDIuOTIuODMgMi0zLjQ2LTIuMTktMi4xM2MuMDYtLjM3LjA5LS43NS4wOS0xLjE0cy0uMDMtLjc3LS4wOS0xLjE0bDIuMTktMi4xMy0yLTMuNDYtMi45Mi44M2MtLjYtLjQ4LTEuMjctLjg3LTItMS4xNEwxNCAyeiJ9KSk7CmFbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvZ2Vhci92MTAvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMi44NDQgMWgtMS42ODdhMiAyIDAgMDAtMS45NjIgMS42MTYgMyAzIDAgMDEtMy45MiAyLjI2MyAyIDIgMCAwMC0yLjM4Ljg5MWwtLjg0MiAxLjQ2YTIgMiAwIDAwLjQxNyAyLjUwNyAzIDMgMCAwMTAgNC41MjUgMiAyIDAgMDAtLjQxNyAyLjUwN2wuODQzIDEuNDZhMiAyIDAgMDAyLjM4Ljg5MiAzLjAwMSAzLjAwMSAwIDAxMy45MTggMi4yNjNBMiAyIDAgMDAxMS4xNTcgMjNoMS42ODZhMiAyIDAgMDAxLjk2My0xLjYxNSAzLjAwMiAzLjAwMiAwIDAxMy45Mi0yLjI2MyAyIDIgMCAwMDIuMzgtLjg5MmwuODQyLTEuNDZhMiAyIDAgMDAtLjQxOC0yLjUwNyAzIDMgMCAwMTAtNC41MjYgMiAyIDAgMDAuNDE4LTIuNTA4bC0uODQzLTEuNDZhMiAyIDAgMDAtMi4zOC0uODkxIDMgMyAwIDAxLTMuOTE5LTIuMjYzQTIgMiAwIDAwMTIuODQ0IDFabS0xLjc2NyAyLjM0N2E2IDYgMCAwMC4wOC0uMzQ3aDEuNjg3YTQuOTggNC45OCAwIDAwMi40MDcgMy4zNyA0Ljk4IDQuOTggMCAwMDQuMTIyLjRsLjg0MyAxLjQ2QTQuOTggNC45OCAwIDAwMTguNSAxMmE0Ljk4IDQuOTggMCAwMDEuNzE2IDMuNzdsLS44NDMgMS40NmE0Ljk4IDQuOTggMCAwMC00LjEyMy40QTQuOTc5IDQuOTc5IDAgMDAxMi44NDMgMjFoLTEuNjg2YTQuOTggNC45OCAwIDAwLTIuNDA4LTMuMzcxIDQuOTk5IDQuOTk5IDAgMDAtNC4xMi0uMzk5bC0uODQ0LTEuNDZBNC45NzkgNC45NzkgMCAwMDUuNSAxMmE0Ljk4IDQuOTggMCAwMC0xLjcxNS0zLjc3bC44NDItMS40NTlhNC45OCA0Ljk4IDAgMDA0LjEyMy0uMzk5IDQuOTgxIDQuOTgxIDAgMDAyLjMyNy0zLjAyNVpNMTYgMTJhNCA0IDAgMTEtNy45OTkgMCA0IDQgMCAwMTggMFptLTQgMmEyIDIgMCAxMDAtNCAyIDIgMCAwMDAgNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvbGluay92OC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xNy43OCAxNmMyLjM1IDAgNC4yNi0yLjAyIDQuMjYtNC41UzIwLjEzIDcgMTcuNzggN0gxM3YxaDQuNzhjMS44IDAgMy4yNiAxLjU3IDMuMjYgMy41UzE5LjU4IDE1IDE3Ljc4IDE1SDEzdjFoNC43OHpNMTEgMTVINi4xOWMtMS44IDAtMy4yNi0xLjU3LTMuMjYtMy41UzQuMzkgOCA2LjE5IDhIMTFWN0g2LjE5Yy0yLjM1IDAtNC4yNiAyLjAyLTQuMjYgNC41UzMuODQgMTYgNi4xOSAxNkgxMXYtMXptNS00SDh2MWg4di0xeiJ9KSk7YVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2kveW91dHViZV9vdXRsaW5lX2V4cGVyaW1lbnRhbC9saW5rL3Y4LzI0cHguc3ZnIl09Xy5LKCJzdmciLAp7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTkgMThjLjIyNiAwIC40NDgtLjAxMi42NjctLjAzN0E4LjAwMSA4LjAwMSAwIDAxOC4wNyAxNkg3YTQgNCAwIDExMC04aDJhNCA0IDAgMDE0IDQgMiAyIDAgMDAxLjY2OCAxLjk3M0E1Ljk5OSA1Ljk5OSAwIDAwOSA2SDdhNiA2IDAgMTAwIDEyaDJabTggMGE2IDYgMCAxMDAtMTJoLTJjLS4yMjUgMC0uNDQ4LjAxMi0uNjY3LjAzNkE4IDggMCAwMTE1LjkzIDhIMTdhNCA0IDAgMTEwIDhoLTJhNCA0IDAgMDEtNC00IDIgMiAwIDAwLTEuNjY4LTEuOTczQTYgNiAwIDAwMTUgMThoMloifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZS9zaGFyZS92MTIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsCmhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE1IDUuNjMgMjAuNjYgMTIgMTUgMTguMzdWMTRoLTFjLTMuOTYgMC03LjE0IDEtOS43NSAzLjA5IDEuODQtNC4wNyA1LjExLTYuNCA5Ljg5LTcuMWwuODYtLjEzVjUuNjNNMTQgM3Y2QzYuMjIgMTAuMTMgMy4xMSAxNS4zMyAyIDIxYzIuNzgtMy45NyA2LjQ0LTYgMTItNnY2bDgtOS04LTl6In0pKTthWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3NoYXJlL3YxMi8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixmaWxsOiJjdXJyZW50Q29sb3IiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTEwIDMuMTU4VjcuNTFjLTUuNDI4LjIyMy04LjI3IDMuNzUtOC44NzUgMTEuMTk5LS4wNC40ODctLjA3Ljk3NS0uMDkgMS40NjRsLS4wMTQuMzk1Yy0uMDE0LjQ3My41NzguNjg0Ljg4LjMyLjMwMi0uMzY4LjYxLS43My45MjUtMS4wODZsLjI0NC0uMjczYzEuNzktMS45NjcgMy0yLjY3NyA0LjkzLTIuOTE3YTE4LjAxMSAxOC4wMTEgMCAwMTItLjExMnY0LjM0NmExIDEgMCAwMDEuNjQ2Ljc2M2w5LjgwNS04LjI5NyAxLjU1LTEuMzEtMS41NS0xLjMxLTkuODA1LTguMjk3QTEgMSAwIDAwMTAgMy4xNThabTIgNi4yN3YuMDAyLTQuMTE2bDcuOTA0IDYuNjg4TDEyIDE4LjY4OXYtNC4yMTJsLTIuMDIzLjAyNGMtMS45MzUuMDIyLTMuNTg3LjE3LTUuMTk3IDEuMDI0YTkgOSAwIDAwLTEuMzQ4Ljg5M2MuMzU1LTEuOTQ3LjkxNi0zLjM5IDEuNjMtNC40MjUgMS4wNjItMS41NDEgMi42MDctMi4zODUgNS4wMi0yLjQ4NUwxMiA5LjQyOFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvdm9sdW1lX29mZi92NC8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Im0zLjE1IDMuODUgNC4xNyA0LjE3TDYuMTYgOUgzdjZoMy4xNkwxMiAxOS45M3YtNy4yMmwyLjQ1IDIuNDVjLS4xNS4wNy0uMy4xMy0uNDUuMTh2MS4wNGMuNDMtLjEuODMtLjI3IDEuMi0uNDhsMS44MSAxLjgxYy0uODguNjItMS45IDEuMDQtMy4wMSAxLjJ2MS4wMWMxLjM5LS4xNyAyLjY2LS43MSAzLjczLTEuNDlsMi40MiAyLjQyLjcxLS43MS0xNy0xNy0uNzEuNzF6TTExIDExLjcxdjYuMDdMNi41MiAxNEg0di00aDIuNTJsMS41LTEuMjdMMTEgMTEuNzF6bS0uNjctNC45Mi0uNzEtLjcxTDEyIDQuMDd2NC4zOWwtMS0xVjYuMjJsLS42Ny41N3pNMTQgOC42NlY3LjYyYzIgLjQ2IDMuNSAyLjI0IDMuNSA0LjM4IDAgLjU4LS4xMyAxLjEzLS4zMyAxLjY0bC0uNzktLjc5Yy4wNy0uMjcuMTItLjU1LjEyLS44NSAwLTEuNTgtMS4wNi0yLjktMi41LTMuMzR6bTAtMy41OFY0LjA3YzMuOTUuNDkgNyAzLjg1IDcgNy45MyAwIDEuNTYtLjQ2IDMuMDEtMS4yMyA0LjI0bC0uNzMtLjczYy42MS0xLjAzLjk2LTIuMjMuOTYtMy41MSAwLTMuNTItMi42MS02LjQzLTYtNi45MnoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmVfZXhwZXJpbWVudGFsL3ZvbHVtZV9tdXRlL3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGZpbGw6ImN1cnJlbnRDb2xvciIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTEuNDg1IDIuMTQzIDMuOTEzIDYuNjg3QTYgNiAwIDAwMSAxMS44MzJ2LjMzOGE2IDYgMCAwMDIuOTEzIDUuMTQ0bDcuNTcyIDQuNTQzQTEgMSAwIDAwMTMgMjFWM2ExLjAwMSAxLjAwMSAwIDAwLTEuNTE1LS44NTdaTTQuOTQyIDguNCAxMSA0Ljc2N3YxNC40NjZsLTYuMDU4LTMuNjM0QTQgNCAwIDAxMyAxMi4xNjl2LS4zMzhBNCA0IDAgMDE0Ljk0MiA4LjRabTE2LjM1MS0uMTA4TDE5IDEwLjU4NmwtMi4yOTMtMi4yOTNhMSAxIDAgMTAtMS40MTQgMS40MTRMMTcuNTg2IDEybC0yLjI5MyAyLjI5M2ExIDEgMCAxMDEuNDE0IDEuNDE0TDE5IDEzLjQxNGwyLjI5MyAyLjI5M2ExIDEgMCAxMDEuNDE0LTEuNDE0TDIwLjQxNCAxMmwyLjI5My0yLjI5NGExIDEgMCAxMC0xLjQxNC0xLjQxNFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUvdm9sdW1lX29uL3YzLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTE3LjUgMTJjMCAyLjE0LTEuNSAzLjkyLTMuNSA0LjM4di0xLjA0YzEuNDQtLjQzIDIuNS0xLjc2IDIuNS0zLjM0IDAtMS41OC0xLjA2LTIuOS0yLjUtMy4zNFY3LjYyYzIgLjQ2IDMuNSAyLjI0IDMuNSA0LjM4ek0xMiA0LjA3djE1Ljg2TDYuMTYgMTVIM1Y5aDMuMTZMMTIgNC4wN3ptLTEgMi4xNUw2LjUyIDEwSDR2NGgyLjUyTDExIDE3Ljc4VjYuMjJ6TTIxIDEyYzAgNC4wOC0zLjA1IDcuNDQtNyA3Ljkzdi0xLjAxYzMuMzktLjQ5IDYtMy40IDYtNi45MnMtMi42MS02LjQzLTYtNi45MlY0LjA3YzMuOTUuNDkgNyAzLjg1IDcgNy45M3oifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwvdm9sdW1lX21heC92Mi8yNHB4LnN2ZyJdPQpfLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMS40ODUgMi4xNDMgMy45MTMgNi42ODdBNiA2IDAgMDAxIDExLjgzMnYuMzM4YTYgNiAwIDAwMi45MTMgNS4xNDRsNy41NzIgNC41NDNBMSAxIDAgMDAxMyAyMVYzYTEuMDAxIDEuMDAxIDAgMDAtMS41MTUtLjg1N1ptNi44OCAyLjA3OWExIDEgMCAwMC0uMDAxIDEuNDE0IDkgOSAwIDAxMCAxMi43MjggMSAxIDAgMDAxLjQxNCAxLjQxNCAxMSAxMSAwIDAwMC0xNS41NTYgMSAxIDAgMDAtMS40MTMgMFpNNC45NDEgOC40MDJsLjAwMS0uMDAyTDExIDQuNzY3djE0LjQ2NmwtNi4wNTgtMy42MzVBNCA0IDAgMDEzIDEyLjE2OHYtLjMzN2E0IDQgMCAwMTEuOTQxLTMuNDI5Wk0xNS41MzUgNy4wNWExIDEgMCAwMDAgMS40MTUgNSA1IDAgMDEwIDcuMDcgMSAxIDAgMDAxLjQxNSAxLjQxNSA2Ljk5OSA2Ljk5OSAwIDAwMC05LjkgMSAxIDAgMDAtMS40MTUgMFoifSkpOwphWyJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvaS95b3V0dWJlX291dGxpbmUveF9tYXJrL3Y0LzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoibTEyLjcxIDEyIDguMTUgOC4xNS0uNzEuNzFMMTIgMTIuNzFsLTguMTUgOC4xNS0uNzEtLjcxTDExLjI5IDEyIDMuMTUgMy44NWwuNzEtLjcxTDEyIDExLjI5bDguMTUtOC4xNS43MS43MUwxMi43MSAxMnoifSkpO2FbImh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3lvdXR1YmVfb3V0bGluZV9leHBlcmltZW50YWwveC92MTEvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsZmlsbDoiY3VycmVudENvbG9yIixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLAp3aWR0aDoiMjQifSxfLksoInBhdGgiLHtkOiJNMTcuMjkzIDUuMjkzIDEyIDEwLjU4NiA2LjcwNyA1LjI5M2ExIDEgMCAxMC0xLjQxNCAxLjQxNEwxMC41ODYgMTJsLTUuMjkzIDUuMjkzYTEgMSAwIDAwMS40MTQgMS40MTRMMTIgMTMuNDE0bDUuMjkzIDUuMjkzYTEgMSAwIDAwMS40MTQtMS40MTRMMTMuNDE0IDEybDUuMjkzLTUuMjkzYTEgMSAwIDEwLTEuNDE0LTEuNDE0WiJ9KSk7YVsiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi95b3V0dWJlX2ZpbGwvZXF1YWxpemVyL3YxLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIix2aWV3Qm94OiItNCAtNCAyNCAyNCIsdmVyc2lvbjoiMS4xIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJ4bWxuczp4bGluayI6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bWxuczp5dCI6Imh0dHA6Ly93d3cueW91dHViZS5jb20ifSxfLksoImciLAp7aWQ6Inl0bS1lcXVhbGl6ZXItaWNvbiIsZmlsbDoiI2ZmZiJ9LF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1sZWZ0Iix4OiIxIix5OiI3Iix3aWR0aDoiNCIsaGVpZ2h0OiI5In0pLF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1taWRkbGUiLHg6IjYiLHk6IjIiLHdpZHRoOiI0IixoZWlnaHQ6IjE0In0pLF8uSygicmVjdCIse2NsYXNzOiJ5dG0tZXF1YWxpemVyLWJhci1yaWdodCIseDoiMTEiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjEyIn0pKSk7YVsiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi95b3V0dWJlX2ZpbGwvc2hvcnRzX3RleHRfbG9nby92Mi83MnB4LnN2ZyJdPV8uSygic3ZnIix7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDcyIDI0IixmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJ4bWxuczp4bGluayI6Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsifSwKXy5LKCJnIix7dHJhbnNmb3JtOiJ0cmFuc2xhdGUoMjQsIDIpIn0sXy5LKCJwYXRoIix7ZDoibS43MzIxNyAxMy43ODg2IDIuNTc3MzItLjA1MTVjLS4wNTE1NSAyLjMxOTUuMzYwODIgMy4wNDEyIDEuMzQwMjEgMy4wNDEyLjk1MzYxIDAgMS4zNDAyLS42MTg2IDEuMzQwMi0xLjg4MTQgMC0xLjg4MTUtLjk3OTM4LTIuODM1MS0yLjM3MTEzLTQuMDQ2NEMxLjQ3OTU5IDguOTk0NzkuNTUxNzU4IDcuOTYzODYuNTUxNzU4IDUuMjMxOWMwLTIuNjAzMDkgMS4xNTk3OTItNC4xNDk0OCA0LjE3NTI2Mi00LjE0OTQ4IDIuOTEyMzcgMCA0LjEyMzcxIDEuNzAxMDMgMy43MTEzMyA1LjIwNjE5bC0yLjU3NzMyLjE1NDYzYy4wNTE1NS0yLjM5NjktLjIwNjE4LTMuMjIxNjQtMS4yNjI4OC0zLjIyMTY0LS45NzkzOCAwLTEuMzE0NDQuNjQ0MzMtMS4zMTQ0NCAxLjgyOTg5IDAgMS43NzgzNS43NDc0MyAyLjMxOTU5IDIuMzQ1MzcgMy44NDAyMSAxLjk4NDUzIDEuODgxNCAzLjA5Mjc4IDIuOTg5NyAzLjA5Mjc4IDUuNTQxMiAwIDMuMjQ3NS0xLjI2Mjg5IDQuNDg0Ni00LjIwMTAzIDQuNDg0Ni0zLjA2NzAxLjAyNTctNC4zMDQxMjUtMS42MjM3LTMuNzg4NjYtNS4xMjg5Wk05LjY3NTU0Ljc0NzQwNWgyLjgzNTA2VjQuNTg3NjFjMCAxLjE1OTc5LS4wNTE2IDEuOTU4NzYtLjE1NDcgMi45MzgxNGguMDUxNmMuNTQxMi0xLjE1OTc5IDEuNDQzMy0xLjc1MjU3IDIuNjAzMS0xLjc1MjU3IDEuNzUyNiAwIDIuNSAxLjIzNzExIDIuNSAzLjM1MDUxdjkuNTM2MTFoLTIuODM1MVY5LjMyOTg4YzAtMS4wMzA5My0uMjU3Ny0xLjU0NjM5LS45MDItMS41NDYzOS0uNDg5NyAwLS45Mjc5LjI4MzUtMS4yMzcxLjc5ODk3VjE4LjY1OThIOS43MDEzMVYuNzQ3NDA1aC0uMDI1NzdaTTE4LjY3MDMgMTMuMjczMnYtMS44Mjk5YzAtNC4wNzIxNiAxLjE4NTYtNS42NDQzMyAzLjk5NDgtNS42NDQzMyAyLjgwOTMgMCAzLjg2NiAxLjYyMzcxIDMuODY2IDUuNjQ0MzN2MS44Mjk5YzAgMy45NjkxLTEuMDA1MiA1LjU5MjgtMy45NDMzIDUuNTkyOC0yLjk4OTcgMC0zLjkxNzUtMS42NzUzLTMuOTE3NS01LjU5MjhabTUgMS4wMzA5di0zLjk0MzNjMC0xLjcyNjc4LS4yNTc4LTIuNjAzMDctMS4wODI1LTIuNjAzMDctLjc5OSAwLTEuMDU2Ny44NzYyOS0xLjA1NjcgMi42MDMwN3YzLjk0MzNjMCAxLjgwNDEuMjU3NyAyLjYyODkgMS4wNTY3IDIuNjI4OS44MjQ3IDAgMS4wODI1LS44MjQ4IDEuMDgyNS0yLjYyODlaTTI3LjY2NTIgNi4wMzA4OWgyLjE5MDdsLjI1NzggMi43MzE5NmguMTAzYy4yODM2LTIuMDEwMzEgMS4yMTE0LTMuMDE1NDYgMi4zOTY5LTMuMDE1NDYuMTU0NyAwIC4zMDkzLjAyNTc3LjUxNTUuMDUxNTRsLS4xNTQ2IDMuMjczMmMtMS4xODU2LS4yNTc3My0yLjEzOTItLjA1MTU1LTIuNTc3My43MjE2NVYxOC42MzRoLTIuNzMyVjYuMDMwODlaTTM0LjgwNDQgMTUuNjcwMVY4LjI3MzJoLTEuMDMwOVY2LjA1NjdoMS4xNTk4bC4zNjA4LTMuNzM3MTFoMi4xMTM0VjYuMDU2N2gxLjkzM3YyLjIxNjVoLTEuODA0MXY2Ljk4NDVjMCAxLjE4NTYuMTU0NiAxLjQ0MzMuNjE4NSAxLjQ0MzMuNDEyNCAwIC43NzMyLS4wNTE1IDEuMTA4My0uMTgwNGwuMzYwOCAxLjgwNDFjLS44NTA1LjQxMjQtMS45MzMuNTQxMy0yLjYwMzEuNTQxMy0xLjgyOTktLjAyNTgtMi4yMTY1LS45Nzk0LTIuMjE2NS0zLjE5NTlaTTQwLjI2ODIgMTQuODE5NmwyLjM5NjktLjA1MTVjLS4xMjg5IDEuMzkxNy4zNjA4IDIuMTkwNyAxLjIxMTMgMi4xOTA3LjcyMTcgMCAxLjEzNDEtLjQ2MzkgMS4xMzQxLTEuMTA4MyAwLS44NzYzLS43OTktMS40NjktMi4xNjUtMi41LTEuNjIzNy0xLjIzNzEtMi42MDMxLTIuMTY0OS0yLjYwMzEtNC4yMDEgMC0yLjI0MjI3IDEuMTg1Ni0zLjMyNDc0IDMuNjM0LTMuMzI0NzQgMi42MDMxIDAgMy42MzQxIDEuMjg4NjYgMy40Mjc5IDQuMzU1NjRsLTIuMzk2OS4xMDMxYy0uMDI1OC0xLjkwNzE5LS4yODM1LTIuNDQ4NDMtMS4wODI1LTIuNDQ4NDMtLjc3MzIgMC0xLjEwODMuMzg2Ni0xLjEwODMgMS4wODI0NyAwIC45NzkzOC41NjcxIDEuNDQzMjYgMS40OTQ5IDIuMTEzMzYgMi4yMTY1IDEuNjQ5NSAzLjI0NzQgMi40NzQzIDMuMjQ3NCA0LjUzNjEgMCAyLjI2ODEtMS4yODg3IDMuNDAyMS0zLjczNzEgMy40MDIxLTIuNzgzNS0uMDI1OC0zLjgxNDQtMS41NDY0LTMuNDUzNi00LjE0OTVaIiwKZmlsbDoiI2ZmZiJ9KSksXy5LKCJnIix7dHJhbnNmb3JtOiJ0cmFuc2xhdGUoMCwgMCkifSxfLksoInBhdGgiLHtkOiJNMTguNDUgOC44NTFjMS45MDQtMS4wNjYgMi41NDEtMy40IDEuNDIyLTUuMjE0LTEuMTE5LTEuODE0LTMuNTctMi40Mi01LjQ3NS0xLjM1NUw1LjU1IDcuMjQ3Yy0xLjI5LjcyMi0yLjA0OSAyLjA2OS0xLjk2OCAzLjQ5MS4wODEgMS40MjMuOTg5IDIuNjgzIDIuMzUzIDMuMjY4bC45NDIuNDA0LTEuMzI3Ljc0MmMtMS45MDQgMS4wNjYtMi41NDEgMy40LTEuNDIyIDUuMjE0IDEuMTE5IDEuODE0IDMuNTcgMi40MjEgNS40NzUgMS4zNTVsOC44NDctNC45NjVjMS4yOS0uNzIyIDIuMDQ5LTIuMDY4IDEuOTY4LTMuNDktLjA4MS0xLjQyMy0uOTg5LTIuNjg0LTIuMzUzLTMuMjY5bC0uOTQyLS40MDMgMS4zMjctLjc0M1pNMTAgMTQuNTY3YS4yNS4yNSAwIDAwLjM3NC4yMTdsNC40NS0yLjU2N2EuMjUuMjUgMCAwMDAtLjQzM2wtNC40NS0yLjU2N2EuMjUuMjUgMCAwMC0uMzc0LjIxNnY1LjEzNFoiLAoiZmlsbC1ydWxlIjoiZXZlbm9kZCIsZmlsbDoiI2ZmZiJ9KSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3dhdGVybWFyay92Mi8xMTBweC5zdmciXT1fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHZlcnNpb246IjEuMSIseG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwieG1sbnM6eGxpbmsiOiJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieG1sbnM6eXQiOiJodHRwOi8vd3d3LnlvdXR1YmUuY29tIn0sXy5LKCJwYXRoIix7aWQ6Inl0cC1zdmctd2F0ZXJtYXJrIixkOiJNIDE2LjY4NzAwNiwwLjk5OTk4NTI0IEMgMTMuNTUxMDY5LDEuMDMyNzk3MiA3LjAyNDUxMTQsMS4xNjI0ODUyIDQuOTk5NTEyNiwxLjY4NzQ4NTIgYyAtMS40OTk5OTkxLDAuNCAtMi41OTk5OTg0LDEuNiAtMi45OTk5OTgyLDMgLTAuNjk5OTk5NSwyLjcgLTAuNjg3NDk5NSw4LjMxMjQ5OTggLTAuNjg3NDk5NSw4LjMxMjQ5OTggMCwwIC0wLjAxMjUsNS42MTI1IDAuNjg3NDk5NSw4LjMxMjUgMC4zOTk5OTk4LDEuNSAxLjU5OTk5OTEsMi42IDIuOTk5OTk4MiwzIDIuNjk5OTk4NCwwLjcgMTMuNDA2MjQyNCwwLjY4NzUgMTMuNDA2MjQyNCwwLjY4NzUgMCwwIDEwLjcwNjI0MywwLjAxMjUgMTMuNDA2MjQxLC0wLjY4NzUgMS41LC0wLjQgMi41OTk5OTksLTEuNiAyLjk5OTk5OSwtMyAwLjY5OTk5OSwtMi43IDAuNjg3NDk5LC04LjMxMjUgMC42ODc0OTksLTguMzEyNSAwLDAgMC4xMTI1LC01LjYxMjQ5OTggLTAuNjg3NDk5LC04LjMxMjQ5OTggLTAuNCwtMS41IC0xLjU5OTk5OSwtMi42IC0yLjk5OTk5OSwtMyBDIDI5LjExMTk5OCwwLjk4NzQ4NTI0IDE4LjQwNTc1NSwwLjk5OTk4NTI0IDE4LjQwNTc1NSwwLjk5OTk4NTI0IGMgMCwwIC0wLjY3MzQzNywtMC4wMTA5MzggLTEuNzE4NzQ5LDAgeiBtIDcyLjIxODcwNiwwLjkwNjI0OTk2IDAsMjEuMjgxMjQ5OCAyLjc4MTI0OCwwIDAuMzEyNSwtMS4zNzUgMC4wOTM3NSwwIGMgMC4zLDAuNSAwLjcxODc1LDAuODg3NSAxLjIxODc0OSwxLjE4NzUgMC41LDAuMyAxLjA4NzUsMC40MDYyNSAxLjY4NzQ5OSwwLjQwNjI1IDEuMSwwIDEuOTk5OTk5LC0wLjQ5Mzc1IDIuNDk5OTk5LC0xLjU5Mzc1IDAuNSwtMS4xIDAuODEyNDk5LC0yLjcwNjI1IDAuODEyNDk5LC00LjkwNjI1IGwgMCwtMi40MDYyNSBjIDAsLTEuNiAtMC4xMTI1LC0yLjkwNjI1IC0wLjMxMjQ5OSwtMy45MDYyNSAtMC4yLC0wLjg5OTk5OTkgLTAuNSwtMS41OTM3NDk5IC0xLC0yLjA5Mzc0OTkgLTAuNSwtMC40IC0xLjEwNjI0OSwtMC41OTM3NDk5IC0xLjkwNjI0OSwtMC41OTM3NDk5IC0wLjU5OTk5OSwwIC0xLjE4NzQ5OSwwLjE5OTk5OTkgLTEuNjg3NDk5LDAuNDk5OTk5OSAtMC40OTk5OTksMC4zIC0xLjAxODc0OSwwLjgwNjI1IC0xLjIxODc0OSwxLjQwNjI1IGwgMCwtNy45MDYyNDk5IC0zLjI4MTI0OCwwIHogbSAtNDkuOTk5OTcsMC43ODEyNSAzLjkwNjI0OCwxMy45MDYyNDk4IDAuMTg3NSw2LjcxODc1IDMuMzEyNDk4LDAgMCwtNi43MTg3NSAzLjg3NDk5NywtMTMuOTA2MjQ5OCAtMy4zNzQ5OTgsMCAtMS40MDYyNDksNi4zMTI0OTk5IGMgLTAuNCwxLjg5OTk5OTkgLTAuNzEyNDk5LDMuMTk5OTk5OSAtMC44MTI0OTksMy45OTk5OTk5IGwgLTAuMDkzNzUsMCBjIC0wLjIsLTEuMSAtMC41MTI1LC0yLjQgLTAuODEyNSwtMy45OTk5OTk5IGwgLTEuMzc0OTk5LC02LjMxMjQ5OTkgLTMuNDA2MjQ4LDAgeiBtIDI5LjU5MzczMiwwIDAsMi43MTg3NSAzLjQwNjI0OCwwIDAsMTcuOTA2MjQ5OCAzLjI4MTI0OCwwIDAsLTE3LjkwNjI0OTggMy40MDYyNDgsMCBjIDAsMCAwLjAwNjIsLTIuNzE4NzUgLTAuMDkzNzUsLTIuNzE4NzUgbCAtOS45OTk5OTQsMCB6IG0gLTUzLjQ5OTk2Nyw1LjEyNSA4LjkwNjI0NCw1LjE4NzQ5OTggLTguOTA2MjQ0LDUuMDkzNzUgMCwtMTAuMjgxMjQ5OCB6IG0gODkuNDA2MTkzLDAuMDkzNzUgYyAtMS43LDAgLTIuODkzNzUsMC41OTM3NDk5IC0zLjU5Mzc1LDEuNTkzNzQ5OSAtMC42OTk5OSwwLjk5OTk5OTkgLTAuOTk5OTk1LDIuNjA2MjQ5OSAtMC45OTk5OTUsNC45MDYyNDk5IGwgMCwyLjU5Mzc1IGMgMCwyLjIgMC4zMDAwMDUsMy45MDYyNSAwLjk5OTk5NSw0LjkwNjI1IDAuNywxLjEgMS44LDEuNTkzNzUgMy41LDEuNTkzNzUgMS40LDAgMi4zODc1LC0wLjMgMy4xODc1LC0xIDAuNywtMC43IDEuMDkzNzUsLTEuNjkzNzUgMS4wOTM3NSwtMy4wOTM3NSBsIDAsLTAuNSAtMi45MDYyNSwtMC4yMTg3NSBjIDAsMSAtMC4wODEyLDEuNiAtMC4yODEyNSwyIC0wLjEsMC40IC0wLjUsMC42MjUgLTEsMC42MjUgLTAuMywwIC0wLjYxMjUsLTAuMTEyNSAtMC44MTI1LC0wLjMxMjUgLTAuMiwtMC4zIC0wLjMwNjI1LC0wLjU5Mzc1IC0wLjQwNjI1LC0xLjA5Mzc1IC0wLjEsLTAuNSAtMC4wOTM3LC0xLjIxODc1IC0wLjA5MzcsLTIuMjE4NzUgbCAwLC0wLjc4MTI1IDUuNzE4NzUsLTAuMDkzNzUgMCwtMi42MjUgYyAwLC0xLjYgLTAuMTA2MjUsLTIuNzg3NSAtMC40MDYyNSwtMy42ODc1IC0wLjIsLTAuODk5OTk5OSAtMC43MTI1LC0xLjU5OTk5OTkgLTEuMzEyNSwtMS45OTk5OTk5IC0wLjcsLTAuNCAtMS40ODc1LC0wLjU5Mzc0OTkgLTIuNjg3NSwtMC41OTM3NDk5IHogbSAtNTAuNDk5OTY3LDAuMDkzNzUgYyAtMS4wOTk5OTksMCAtMi4wMTg3NDksMC4xODc0OTk5IC0yLjcxODc0OCwwLjY4NzQ5OTkgLTAuNywwLjQgLTEuMiwxLjEyNSAtMS40OTk5OTksMi4xMjQ5OTk5IC0wLjMsMSAtMC41LDIuMjc1IC0wLjUsMy44NzUgbCAwLDIuMjE4NzUgYyAwLDEuNSAwLjEwNjI1LDIuNzgxMjUgMC40MDYyNSwzLjc4MTI1IDAuMiwwLjkgMC43MDYyNDksMS42MjUgMS40MDYyNDksMi4xMjUgMC42OTk5OTksMC41IDEuNzEyNDk5LDAuNjgxMjUgMi44MTI0OTgsMC43ODEyNSAxLjE5OTk5OSwwIDIuMDgxMjQ5LC0wLjI4NzUgMi43ODEyNDksLTAuNjg3NSAwLjY5OTk5OSwtMC40IDEuMDk5OTk5LC0xLjA5Mzc1IDEuNDk5OTk5LC0yLjA5Mzc1IDAuMzk5OTk5LC0xIDAuNDk5OTk5LC0yLjMwNjI1IDAuNDk5OTk5LC0zLjkwNjI1IGwgMCwtMi4yMTg3NSBjIDAsLTEuNiAtMC4yLC0yLjg3NSAtMC40OTk5OTksLTMuODc1IC0wLjMsLTAuODk5OTk5OSAtMC44LC0xLjYyNDk5OTkgLTEuNDk5OTk5LC0yLjEyNDk5OTkgLTAuNywtMC41IC0xLjU4NzUsLTAuNjg3NDk5OSAtMi42ODc0OTksLTAuNjg3NDk5OSB6IG0gMTIuMTg3NDkzLDAuMDkzNzUgMCwxMS45MDYyNDk4IGMgLTAuMSwwLjMgLTAuMjkzNzUsMC40ODc1IC0wLjU5Mzc1LDAuNjg3NSAtMC4yLDAuMiAtMC41MTI1LDAuMzEyNSAtMC44MTI0OTksMC4zMTI1IC0wLjMsMCAtMC41ODc1LC0wLjEwNjI1IC0wLjY4NzUsLTAuNDA2MjUgLTAuMSwtMC4zIC0wLjE4NzUsLTAuNzA2MjUgLTAuMTg3NSwtMS40MDYyNSBsIDAsLTEwLjk5OTk5OTggLTMuNDA2MjQ4LDAgMCwxMS4yMTg3NDk4IGMgMCwxLjQgMC4xODc1LDIuMzkzNzUgMC42ODc1LDMuMDkzNzUgMC40OTk5OTksMC43IDEuMjE4NzQ5LDEgMi4yMTg3NDgsMSAxLjQsMCAyLjQ4NzQ5OSwtMC42OTM3NSAzLjE4NzQ5OSwtMi4wOTM3NSBsIDAuMDkzNzUsMCAwLjMxMjUsMS43ODEyNSAyLjU5Mzc0OSwwIDAsLTE0Ljk5OTk5OTggYyAwLDAgLTMuNDA2MjQ4LDAuMDA2MiAtMy40MDYyNDgsLTAuMDkzNzUgeiBtIDE3LjMxMjQ4OSwwIDAsMTEuOTA2MjQ5OCBjIC0wLjEsMC4zIC0wLjI5Mzc0OSwwLjQ4NzUgLTAuNTkzNzQ5LDAuNjg3NSAtMC4yLDAuMiAtMC41MTI1LDAuMzEyNSAtMC44MTI1LDAuMzEyNSAtMC4zLDAgLTAuNTg3NDk5LC0wLjEwNjI1IC0wLjY4NzQ5OSwtMC40MDYyNSAtMC4xLC0wLjMgLTAuMjE4NzUsLTAuNzA2MjUgLTAuMjE4NzUsLTEuNDA2MjUgbCAwLC0xMC45OTk5OTk4IC0zLjQwNjI0OCwwIDAsMTEuMjE4NzQ5OCBjIDAsMS40IDAuMjE4NzUsMi4zOTM3NSAwLjcxODc0OSwzLjA5Mzc1IDAuNSwwLjcgMS4xODc1LDEgMi4xODc0OTksMSAxLjM5OTk5OSwwIDIuNTE4NzQ5LC0wLjY5Mzc1IDMuMjE4NzQ4LC0yLjA5Mzc1IGwgMC4wOTM3NSwwIDAuMjgxMjUsMS43ODEyNSAyLjYyNDk5OCwwIDAsLTE0Ljk5OTk5OTggYyAwLDAgLTMuNDA2MjQ4LDAuMDA2MiAtMy40MDYyNDgsLTAuMDkzNzUgeiBtIDIwLjkwNjIzNSwyLjA5Mzc0OTggYyAwLjQsMCAwLjU4MTI1LDAuMTEyNSAwLjc4MTI1LDAuMzEyNSAwLjIsMC4zIDAuMzA2MjUsMC41OTM3NSAwLjQwNjI1LDEuMDkzNzUgMC4xLDAuNSAwLjA5MzcsMS4yMTg3NSAwLjA5MzcsMi4yMTg3NSBsIDAsMS4wOTM3NSAtMi41LDAgMCwtMS4wOTM3NSBjIDAsLTEgLTAuMDA2LC0xLjcxODc1IDAuMDkzNywtMi4yMTg3NSAwLC0wLjQgMC4xMTI1LC0wLjggMC4zMTI1LC0xIDAuMiwtMC4zIDAuNTEyNSwtMC40MDYyNSAwLjgxMjUsLTAuNDA2MjUgeiBtIC01MC40OTk5NjcsMC4xMjUgYyAwLjUsMCAwLjgsMC4xODc1IDEsMC42ODc1IDAuMTk5OTk5LDAuNSAwLjI4MTI0OSwxLjMwNjI1IDAuMjgxMjQ5LDIuNDA2MjUgbCAwLDQuNjg3NSBjIDAsMS4xIC0wLjA4MTI1LDEuOTA2MjUgLTAuMjgxMjQ5LDIuNDA2MjUgLTAuMiwwLjUgLTAuNSwwLjY4NzUgLTEsMC42ODc1IC0wLjUsMCAtMC43OTk5OTksLTAuMTg3NSAtMC45OTk5OTksLTAuNjg3NSAtMC4yLC0wLjUgLTAuMzEyNSwtMS4zMDYyNSAtMC4zMTI1LC0yLjQwNjI1IGwgMCwtNC42ODc1IGMgMCwtMS4xIDAuMTEyNSwtMS45MDYyNSAwLjMxMjUsLTIuNDA2MjUgMC4yLC0wLjUgMC40OTk5OTksLTAuNjg3NSAwLjk5OTk5OSwtMC42ODc1IHogbSAzOS42ODc0NzYsMC4wOTM3NSBjIDAuMywwIDAuNjEyNSwwLjEwNjI1IDAuODEyNSwwLjQwNjI1IDAuMiwwLjMgMC4yNzUsMC42NzUgMC4zNzUsMS4zNzUgMC4xLDAuNiAwLjEyNDk5OSwxLjUxODc1IDAuMTI0OTk5LDIuNzE4NzUgbCAwLjA5Mzc1LDEuOTA2MjUgYyAwLDEuMSAwLjAwNjIsMS45OTM3NSAtMC4wOTM3NSwyLjU5Mzc1IC0wLjEsMC42IC0wLjE5OTk5OSwxLjA4MTI1IC0wLjQ5OTk5OSwxLjI4MTI1IC0wLjIsMC4zIC0wLjUwNjI1LDAuNDA2MjUgLTAuOTA2MjUsMC40MDYyNSAtMC4zLDAgLTAuNTEyNDk5LC0wLjA4NzUgLTAuODEyNDk5LC0wLjE4NzUgLTAuMiwtMC4xIC0wLjM5Mzc1LC0wLjI5Mzc1IC0wLjU5Mzc1LC0wLjU5Mzc1IGwgMCwtOC41IGMgMC4xLC0wLjQgMC4yOTM3NSwtMC43IDAuNTkzNzUsLTEgMC4zLC0wLjMgMC42MDYyNDksLTAuNDA2MjUgMC45MDYyNDksLTAuNDA2MjUgeiIsCmNsYXNzOiJ5dHAtc3ZnLWZpbGwiLGZpbGw6IiNmZmYifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3lvdXR1YmVfc2hvcnRzX2JyYW5kXzI0L3YyLzI0cHguc3ZnIl09Xy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOiIyNCIsaGVpZ2h0OiIyNCIsdmlld0JveDoiMCAwIDI0IDI0In0sXy5LKCJwYXRoIix7ZDoibTE5LjQ1LDMuODhjMS4xMiwxLjgyLjQ4LDQuMTUtMS40Miw1LjIybC0xLjMyLjc0Ljk0LjQxYzEuMzYuNTgsMi4yNywxLjg1LDIuMzUsMy4yNy4wOCwxLjQzLS42OCwyLjc3LTEuOTcsMy40OWwtOCw0LjQ3Yy0xLjkxLDEuMDYtNC4zNS40Ni01LjQ4LTEuMzUtMS4xMi0xLjgyLS40OC00LjE1LDEuNDItNS4yMmwxLjMzLS43NC0uOTQtLjQxYy0xLjM2LS41OC0yLjI3LTEuODUtMi4zNS0zLjI3LS4wOC0xLjQzLjY4LTIuNzcsMS45Ny0zLjQ5bDgtNC40N2MxLjkxLTEuMDYsNC4zNS0uNDYsNS40OCwxLjM1WiIsCmZpbGw6IiNmMDMifSksXy5LKCJwYXRoIix7ZDoibTEwLDE1bDUtMy01LTN2NloiLGZpbGw6IiNmZmYifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9maWxsL3lvdXR1YmUvdjIvMjRweC5zdmciXT1fLksoInN2ZyIse3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDY3IDYwIixmaWxsOiIifSxfLksoInBhdGgiLHtkOiJNNjMgMTQuODdhNy44ODUgNy44ODUgMCAwMC01LjU2LTUuNTZDNTIuNTQgOCAzMi44OCA4IDMyLjg4IDhTMTMuMjMgOCA4LjMyIDkuMzFjLTIuNy43Mi00LjgzIDIuODUtNS41NiA1LjU2QzEuNDUgMTkuNzcgMS40NSAzMCAxLjQ1IDMwczAgMTAuMjMgMS4zMSAxNS4xM2MuNzIgMi43IDIuODUgNC44MyA1LjU2IDUuNTZDMTMuMjMgNTIgMzIuODggNTIgMzIuODggNTJzMTkuNjYgMCAyNC41Ni0xLjMxYzIuNy0uNzIgNC44My0yLjg1IDUuNTYtNS41NkM2NC4zMSA0MC4yMyA2NC4zMSAzMCA2NC4zMSAzMHMwLTEwLjIzLTEuMzEtMTUuMTN6In0pLApfLksoInBhdGgiLHtmaWxsOiIjRkZGIixjbGFzczoibG9nby1hcnJvdyIsZDoiTTI2LjYgMzkuNDNMNDIuOTMgMzAgMjYuNiAyMC41N3oifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9vdXRsaW5lL2Z1bGxzY3JlZW5fZXhpdC92MS8yNHB4LnN2ZyJdPV8uSygic3ZnIix7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwiZW5hYmxlLWJhY2tncm91bmQiOiJuZXcgMCAwIDI0IDI0IixoZWlnaHQ6IjI0Iix2aWV3Qm94OiIwIDAgMjQgMjQiLHdpZHRoOiIyNCJ9LF8uSygicGF0aCIse2Q6Ik0xMCwxMEg2VjloM1Y2aDFWMTB6IE0xOCw5aC0zVjZoLTF2NGg0Vjl6IE0xNSwxNWgzdi0xaC00djRoMVYxNXogTTEwLDE0SDZ2MWgzdjNoMVYxNHoifSkpO2FbImh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2ljb25zL213ZWIveW91dHViZV9vdXRsaW5lL2Z1bGxzY3JlZW4vdjEvMjRweC5zdmciXT0KXy5LKCJzdmciLHt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCJlbmFibGUtYmFja2dyb3VuZCI6Im5ldyAwIDAgMjQgMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjI0In0sXy5LKCJwYXRoIix7ZDoiTTcsMTFINlY2aDV2MUg3VjExeiBNMTgsNmgtNXYxaDR2NGgxVjZ6IE0xOCwxM2gtMXY0aC00djFoNVYxM3ogTTExLDE3SDd2LTRINnY1aDVWMTd6In0pKTtyZXR1cm4gYX07bHFhPWZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZShFbmEoKSl9O21xYT1mdW5jdGlvbihhLGIpe3JldHVybiBzWSgiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvaWNvbnMvbXdlYi8iLGEsYil9OwpjcWE9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmlkZW50aWZpZXIsZD1iLklqLGU9Yi5leHRyYXMsZj1iLnRhcmdldCxoPWIuUG07Yj1iLm5BO2QmJmF3YWl0IFZZKGEse2lkZW50aWZpZXI6YyxJajpkLHRuOiExLGV4dHJhczplLFBtOmh9KTthd2FpdCBhLmlzVmlzaWJsZShjKXx8KGE9YXdhaXQgWm9hKGEsYyksXy5YTSgiZW5nYWdlbWVudC1wYW5lbC1wdXNoIix7aWRlbnRpZmllcjpjLHd6OmEsTEo6ZixuQTpifSksYyYmXy5vTSgpLmRpc3BhdGNoKF8ua0Eoe3R5cGU6Ik1BSU5fQVBQX0FERF9PUEVOX0VOR0FHRU1FTlRfUEFORUwiLHBheWxvYWQ6e3h6OmN9fSkpKX07Vlk9YXN5bmMgZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmlkZW50aWZpZXIsZD1iLklqO2I9Yi5QbTtjJiYoZCYmYS5PbS5zZXQoYyxkKSxfLlhNKCJlbmdhZ2VtZW50LXBhbmVsLXVwZGF0ZSIse2lkZW50aWZpZXI6Yyx3ejpkLFBtOmJ9KSl9Owp0cWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy55KCk7bnFhKCk7Xy5KeihiLHtqYTpfLkx4LE1iOm9xYX0pO18uSnooYix7amE6Xy5sRixNYjpfLncoIkhUTUxfRElSIik9PT0icnRsIj8icnRsIjoibHRyIn0pO18uSnooYix7amE6Xy5rRixNYjooKT0+ITB9KTtfLkp6KGIse2phOl8ubU8sUGE6WVl9KTtfLkp6KGIse2phOl8uWEwsUGE6Wll9KTtfLkp6KGIse2phOl8ub08sTWI6a3FhfSk7Xy5KeihiLHtqYTpfLkxELE1iOl8udU99KTtfLkp6KGIse2phOl8uY0wsUGE6cHFhfSk7Xy5KeihiLHtqYTpfLmJJLFdjOl8ub019KTtfLkp6KGIse2phOl8ueVAsTWI6bmV3IHFxYX0pO18uSnooYix7amE6Xy52UCxNYjp7VnU6ITAsQ3g6ITB9fSk7Xy5KeihiLHtqYTpfLkpILFdjOigpPT5Qcm9taXNlLnJlc29sdmUoYSl9KTtfLkp6KGIse2phOl8uS0gsV2M6KCk9PigpPT5hfSk7Xy5KeihiLHtqYTokWSxQYTphWn0pO18uSnooYix7amE6Xy5iTCxQYTpycWF9KTtfLkp6KGIse2phOl8uT1csV2M6Xy5oeH0pOwpfLkp6KGIse2phOl8uYk0sTWI6Xy5MT30pO2lmKF8ueCgid2ViX2VuYWJsZV9yZW5kZXJlcl9sb2dnZXIiKSl7bGV0IGM9bmV3IERYO18uTk0od2luZG93LCJuYXZpZ2F0ZSIsKCk9PntjLmFib3J0KCl9KTtfLkp6KGIse2phOl8uQ0csTWI6bmV3IHNxYShjLnNpZ25hbCl9KX19O25xYT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpLGI9YS5yZXNvbHZlKF8uSXkpO18uR3kubWFwcGluZ3Muc2V0KFNXLnRvU3RyaW5nKCkse3R5cGU6Im1hcHBpbmciLHZhbHVlOmJ9KTtfLkp6KGEse2phOl8uSHksTWI6bHFhfSl9O3pYPWZ1bmN0aW9uKCl7dmFyIGE9e30sYj1fLlZ3KCk7YiYmKGEuZGVzdGluYXRpb25TY3JlZW49Yi5nZXRBc0pzb24oKS52ZVR5cGV8fHZvaWQgMCk7YS5uYXZUeXBlPSJTTElfTkFWX1RZUEVfQ09MRCI7YS5hY3Rpb25UeXBlPSJMQVRFTkNZX0FDVElPTl9FTUJFRCI7cmV0dXJue25hdmlnYXRpb246YX19Owp1cWE9ZnVuY3Rpb24oYSxiPXt9KXtyZXR1cm57dHlwZToyLGNvbW1hbmQ6YSxmb3JtOmIuZm9ybX19OwpfLmJaPWZ1bmN0aW9uKGEpe18uQXEoImVwX2luaXRfaWpzIik7dHFhKGEpO3ZhciBiPWRvY3VtZW50LmJvZHk7aWYoIWIpdGhyb3cgRXJyb3IoImllIik7Yj1uZXcgdnFhKHtyb290OmIscEo6Xy55KCl9KTtiLmluc3RhbGwod3FhKTtiLnRyYW5zaXRpb24oImluaXRpYWxpemVkIik7Xy5BcSgiZXBfaW5pdF9pamUiKTtfLngoImVtYmVkc190cmFjaW5nX2tzIil8fHBwYSgpO18uWU09ITA7KF8uTWsoImllbW9iaWxlIil8fF8uTWsoIndpbmRvd3MgcGhvbmUiKSYmXy5NaygiZWRnZSIpKSYmXy5NaygiOyB2aXJ0dWFsIil8fChYb2EoYSksbm9hKCkpO3FvYShhKTtFWT1hO2pxYShhKTthPSFfLngoIm13ZWJfY29tbWFuZF9oYW5kbGVyX3NjcmVlbl9tYW5hZ2VyX2tpbGxzd2l0Y2giKTtiPVtfLlFXLF8uVXosXy5DeV07Sm9hKF8ueCgibXdlYl9jb21tYW5kX2hhbmRsZXJfZGlzYWJsZV9idWlsZF9jb21tYW5kX3BheWxvYWRfc3R1YiIpP3VxYTp2b2lkIDAsYT9fLmh4KCk6dm9pZCAwLGEsCmEsYik7Xy5KeihfLnkoKSx7amE6Xy5VRCxNYjpMWC5pbnN0YW5jZX0pO2lvYSgpO0ZwYSgpfTtXVz1bXTtEb2E9e2dIOiJTTElfU1RBVFVTX1VOS05PV04iLGVIOiJTTElfU1RBVFVTX1NVQ0NFU1MiLGNIOiJTTElfU1RBVFVTX0ZBSUxVUkUiLGZIOiJTTElfU1RBVFVTX1RJTUVPVVQiLGFIOiJTTElfU1RBVFVTX0FCT1JURUQiLGJIOiJTTElfU1RBVFVTX0NBTkNFTExFRCIsZEg6IlNMSV9TVEFUVVNfUkVKRUNURUQifTtjWj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZXZlbnRzPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmV2ZW50cy5jbGVhcigpfX07CktuYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgeHFhO3RoaXMudj1uZXcgY1o7dGhpcy5CPW5ldyBjWjt0aGlzLm89MDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMuaj1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuai5saXN0ZW4oInRpY2siLHRoaXMuZmx1c2gsITEsdGhpcyl9Zmx1c2goKXtpZih0aGlzLm8pe3ZhciBhPXtsb2dnZWRFdmVudHM6WVcodGhpcy52KSx1bmxvZ2dlZEV2ZW50czpZVyh0aGlzLkIpfTtpZihfLngoImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyIpKXt2YXIgYjsoYj1fLncoIlBMQVlFUl9DTElFTlRfVkVSU0lPTiIpKT8oYj1iLnNwbGl0KCItIilbMF0ucmVwbGFjZSgvXC4vZywiIiksYj1pc05hTihOdW1iZXIoYikpPyIwIjpiKTpiPSIiO3ZhciBjPV8udygiUExBWUVSX0NMSUVOVF9WRVJTSU9OIik7aWYoYyl7Yz1jLnNwbGl0KCItIik7bGV0IGQ9IiI7Yy5sZW5ndGg+MSYmKGQ9Y1tjLmxlbmd0aC0xXSk7Yz0KSm5hKGQuc3RhcnRzV2l0aCgiY2FuYXJ5X2V4cGVyaW1lbnQiKT8iY2FuYXJ5IjpkLnN0YXJ0c1dpdGgoImNhbmFyeV9jb250cm9sIik/ImNvbnRyb2wiOiJub25lIil9ZWxzZSBjPSJDTElFTlRfQ0FOQVJZX1NUQVRFX1VOS05PV04iO2EuZGltZW5zaW9ucz17cGxheWVyQ2xpZW50VmVyc2lvbjpiLHBsYXllckNhbmFyeVN0YXRlOmN9fXRoaXMuRC5mbHVzaChhKTt0aGlzLnYuY2xlYXIoKTt0aGlzLkIuY2xlYXIoKTt0aGlzLm89MDt0aGlzLmouZW5hYmxlZCYmdGhpcy5qLnN0b3AoKX19fTt4cWE9Y2xhc3N7Zmx1c2goYSxiKXtfLngoImVuYWJsZV9jbGllbnRfc2xpX2xvZ2dpbmciKSYmXy5FcCgic2xpRXZlbnRCYXRjaCIsYSx7c2VuZElzb2xhdGVkUGF5bG9hZDohIWJ9KX19O2RaPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfX07CmVaPWNsYXNzIGV4dGVuZHMgZFp7Z2V0IGVudGl0eU1ldGFkYXRhKCl7cmV0dXJuIHRoaXMuai5lbnRpdHlNZXRhZGF0YX1zZXQgZW50aXR5TWV0YWRhdGEoYSl7dGhpcy5qLmVudGl0eU1ldGFkYXRhPWF9fTt5cWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O3pxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmoudmlkZW8mJmEucHVzaCh0aGlzLmoudmlkZW8pO3RoaXMuai5wbGF5bGlzdCYmYS5wdXNoKHRoaXMuai5wbGF5bGlzdCk7dGhpcy5qLnZpZGVvSXRlbSYmYS5wdXNoKHRoaXMuai52aWRlb0l0ZW0pO3RoaXMuai5wbGF5bGlzdEl0ZW0mJmEucHVzaCh0aGlzLmoucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19OwpBcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19fTtCcWE9Y2xhc3MgZXh0ZW5kcyBkWntvKCl7dmFyIGE9W107dGhpcy5qLnJlY29tbWVuZGVkVmlkZW9NZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgQXFhKHRoaXMuai5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEpKS5vKCkpO3JldHVyblsuLi4obmV3IFNldChhKSldfX07Q3FhPWNsYXNzIGV4dGVuZHMgZFp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja1Bvc2l0aW9uJiZhLnB1c2godGhpcy5qLnBsYXliYWNrUG9zaXRpb24pO3JldHVyblsuLi4obmV3IFNldChhKSldfX07CkRxYT1jbGFzcyBleHRlbmRzIGRae28oKXt2YXIgYT1bXTt0aGlzLmouY3JlYXRvckVudGl0eSYmYS5wdXNoKHRoaXMuai5jcmVhdG9yRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX19O2ZaPSExOwpFcWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5jb3VudGVyPVswLDAsMCwwXTt0aGlzLm89bmV3IFVpbnQ4QXJyYXkoMTYpO3RoaXMuaj0xNjtpZighZlope3ZhciBiLGM9bmV3IFVpbnQ4QXJyYXkoMjU2KSxkPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIGU9MTtmb3IoYj0wO2I8MjU2O2IrKyljW2VdPWIsZFtiXT1lLGVePWU8PDFeKGU+PjcmJjI4Myk7Z1g9bmV3IFVpbnQ4QXJyYXkoMjU2KTtjWD1iWCgyNTYpO2RYPWJYKDI1Nik7ZVg9YlgoMjU2KTtmWD1iWCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7ZT1oP2RbMjU1XmNbaF1dOjA7ZV49ZTw8MV5lPDwyXmU8PDNeZTw8NDtlPWUmMjU1XmU+Pj44Xjk5O2dYW2hdPWU7Yj1lPDwxXihlPj43JiYyODMpO3ZhciBmPWJeZTtjWFtoXT1iPDwyNHxlPDwxNnxlPDw4fGY7ZFhbaF09Zjw8MjR8Y1hbaF0+Pj44O2VYW2hdPWU8PDI0fGRYW2hdPj4+ODtmWFtoXT1lPDwyNHxlWFtoXT4+Pjh9Zlo9CiEwfWU9YlgoNDQpO2ZvcihjPTA7Yzw0O2MrKyllW2NdPWFbNCpjXTw8MjR8YVs0KmMrMV08PDE2fGFbNCpjKzJdPDw4fGFbNCpjKzNdO2ZvcihkPTE7Yzw0NDtjKyspYT1lW2MtMV0sYyU0fHwoYT0oZ1hbYT4+MTYmMjU1XV5kKTw8MjR8Z1hbYT4+OCYyNTVdPDwxNnxnWFthJjI1NV08PDh8Z1hbYT4+PjI0XSxkPWQ8PDFeKGQ+PjcmJjI4MykpLGVbY109ZVtjLTRdXmE7dGhpcy5rZXk9ZX1lbmNyeXB0KGEpe3ZhciBiPWEubGVuZ3RoO2E9bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIuc2xpY2UoYS5ieXRlT2Zmc2V0LGEuYnl0ZU9mZnNldCtiKSk7Zm9yKHZhciBjPXRoaXMubyxkPTA7ZDxiJiZ0aGlzLmo8MTY7KWFbZCsrXV49Y1t0aGlzLmorK107Zm9yKHZhciBlPWItKGItZCklMTY7ZDxlOyloWCh0aGlzKSxhW2QrK11ePWNbMF0sYVtkKytdXj1jWzFdLGFbZCsrXV49Y1syXSxhW2QrK11ePWNbM10sYVtkKytdXj1jWzRdLGFbZCsrXV49Y1s1XSxhW2QrK11ePWNbNl0sYVtkKytdXj1jWzddLAphW2QrK11ePWNbOF0sYVtkKytdXj1jWzldLGFbZCsrXV49Y1sxMF0sYVtkKytdXj1jWzExXSxhW2QrK11ePWNbMTJdLGFbZCsrXV49Y1sxM10sYVtkKytdXj1jWzE0XSxhW2QrK11ePWNbMTVdO2lmKGQ8Yilmb3IoaFgodGhpcyksdGhpcy5qPTA7ZDxiOylhW2QrK11ePWNbdGhpcy5qKytdO3JldHVybiBhfX07Z1o9ITE7RnFhPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy52PWE7dGhpcy5vPWJ9YXN5bmMgZW5jcnlwdChhLGIpe3RyeXtyZXR1cm4gYXdhaXQgTm5hKHRoaXMsYSxiKX1jYXRjaChjKXt0aHJvdyBfLklwKGMpLGdaPSEwLGM7fX19OwppWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YX1lbmNyeXB0KGEsYil7dGhpcy5qfHwodGhpcy5qPW5ldyBFcWEodGhpcy5vKSk7dmFyIGM9dGhpcy5qO2ZvcihsZXQgZD0wO2Q8NDtkKyspYy5jb3VudGVyW2RdPWJbZCo0XTw8MjR8YltkKjQrMV08PDE2fGJbZCo0KzJdPDw4fGJbZCo0KzNdO2Muaj0xNjtyZXR1cm4gdGhpcy5qLmVuY3J5cHQoYSl9ZGVjcnlwdChhLGIpe3JldHVybiB0aGlzLmVuY3J5cHQoYSxiKX19OwpHcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YTp7aWYoIWdaJiYhXy5KbCl7aWYoaFope3ZhciBiPWhaO2JyZWFrIGF9aFo9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKGhaPy5pbXBvcnRLZXkmJmhaPy5zaWduJiZoWj8uZW5jcnlwdCl7Yj1oWjticmVhayBhfWhaPXZvaWQgMH1iPXZvaWQgMH1iJiYodGhpcy5qPW5ldyBGcWEoYSxiKSk7dGhpcy5vPW5ldyBpWihhKX1hc3luYyBlbmNyeXB0KGEsYil7aWYodGhpcy5qKXRyeXtyZXR1cm4gYXdhaXQgdGhpcy5qLmVuY3J5cHQoYSxiKX1jYXRjaChjKXtfLklwKGMpLGdaPSEwLHRoaXMuaj12b2lkIDB9cmV0dXJuIHRoaXMuby5lbmNyeXB0KGEsYil9ZGVjcnlwdChhLGIpe3JldHVybiB0aGlzLmVuY3J5cHQoYSxiKX19OwpIcWE9e0lOVkFMSURfRU5DT0RFUl9WRVJTSU9OOiJJbnZhbGlkIGVuY29kZXIgdmVyc2lvbiIsS0VZX0NSRUFUSU9OX0ZBSUxFRDoiRmFpbGVkIHRvIGNyZWF0ZSBlbmNvZGVyIGtleSIsVU5LTk9XTl9ERUNPREVfRVJST1I6IkZhaWxlZCB0byBkZWNvZGUgUEVTIGRhdGEiLFVOS05PV05fRU5DT0RFX0VSUk9SOiJGYWlsZWQgdG8gZW5jb2RlIFBFUyBkYXRhIixXUk9OR19EQVRBX1RZUEU6IkVuY29kZXIgY2Fubm90IHByb2Nlc3MgdGhlIGRhdGEgdHlwZSJ9O2lYPWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGI9e30pe3N1cGVyKEhxYVthXSx7bmFtZToiUEVTRW5jb2RlckVycm9yIix0eXBlOmEsLi4uYn0pO3RoaXMudHlwZT1hO3RoaXMubGV2ZWw9IldBUk5JTkciO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLGlYLnByb3RvdHlwZSl9fTsKalo9Y2xhc3N7ZW5jb2RlKGEsYil7dHJ5e3JldHVybiB0aGlzLnYoYSxiKX1jYXRjaChjKXtqWChjLE9uYSl9fWRlY29kZShhLGIpe3RyeXtyZXR1cm4gdGhpcy5vKGEsYil9Y2F0Y2goYyl7algoYyxQbmEpfX19O0lxYT1jbGFzcyBleHRlbmRzIGpae2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9dihhLGIpe2I9a1goYik7YT0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoYSkpO3JldHVybiB0aGlzLmouZW5jcnlwdChhLGIpfW8oYSxiKXtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaVgoIldST05HX0RBVEFfVFlQRSIse0lwOjF9KTt2YXIgYz1uZXcgVGV4dERlY29kZXI7Yj1rWChiKTthPXRoaXMuai5kZWNyeXB0KGEsYik7cmV0dXJuIEpTT04ucGFyc2UoYy5kZWNvZGUoYSkpfX07ClFuYT17YW5pbWF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFuaW1hdGlvbkVudGl0eSJ9fSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJhY2NvdW50TGlua1N0YXR1c0VudGl0eSJ9fSxhc2tTdHVkaW9HZW5lcmF0ZWREYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFza1N0dWRpb0dlbmVyYXRlZERhdGFFbnRpdHkifX0sYm9vbGVhbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJib29sZWFuRW50aXR5In19LGJ1dHRvbkVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJidXR0b25FbnRpdHkifX0sY2FwdGlvblRyYWNrOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNhcHRpb25UcmFjayJ9fSwKY2hhbm5lbEhhbmRsZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjaGFubmVsSGFuZGxlIn19LGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY2hhdExvYWRpbmdTdGF0ZUVudGl0eSJ9fSxhc2tTdHVkaW9Db252ZXJzYXRpb25TdW1tYXJ5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHkifX0sY2hpcEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjaGlwRW50aXR5In19LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5In19LApjb21tZXJjZUNhcnRMaXN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbW1lcmNlQ2FydExpc3RFbnRpdHkifX0sY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29tbWVyY2VUb2tlbkJhbGFuY2VFbnRpdHkifX0sY29tcG9zaXRlU291cmNlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbXBvc2l0ZVNvdXJjZUVudGl0eSJ9fSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5jb21wb3NpdGVTb3VyY2VLZXlzJiZhLnB1c2goLi4udGhpcy5qLmNvbXBvc2l0ZVNvdXJjZUtleXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11bHRpdmlld1N0YWdpbmdFbnRpdHkifX0sY29udGV4dE5vdGVGZWVkRW50aXR5UGF5bG9hZDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkIn19LApjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImNvbnRleHROb3RlVXNlclJhdGluZ0VudGl0eVBheWxvYWQifX0sY29udGludWF0aW9uVG9rZW5FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iY29udGludWF0aW9uVG9rZW5FbnRpdHkifX0sZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2FkUXVhbGl0eVBpY2tlckVudGl0eSJ9fSxkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2Fkc1BhZ2VSZWZyZXNoVG9rZW5FbnRpdHkifX0sZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRvd25sb2Fkc1BhZ2VWaWV3Q29uZmlndXJhdGlvbkVudGl0eSJ9fSwKZG93bmxvYWRTdGF0dXNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZG93bmxvYWRTdGF0dXNFbnRpdHkifX0sZGlzbWlzc1N0YXRlOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImRpc21pc3NTdGF0ZSJ9fSxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNmdkF1ZGlvSXRlbUN1cnJlbnRseVBsYXlpbmdFbnRpdHkifX0sZW1vamlGb3VudGFpbkRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZW1vamlGb3VudGFpbkRhdGFFbnRpdHkifX0sZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImVtb2ppQ3VzdG9taXphdGlvblNldEVudGl0eSJ9fSwKZmFrZUNoYW5uZWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmFsdGVybmF0ZUNoYW5uZWwmJmEucHVzaCh0aGlzLmouYWx0ZXJuYXRlQ2hhbm5lbCk7dGhpcy5qLmFsdGVybmF0ZUNoYW5uZWxMaXN0JiZhLnB1c2goLi4udGhpcy5qLmFsdGVybmF0ZUNoYW5uZWxMaXN0KTt0aGlzLmoub25lb2ZDaGFubmVsRW50aXR5JiZhLnB1c2godGhpcy5qLm9uZW9mQ2hhbm5lbEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZUNoYW5uZWwifX0sZmFrZVBsYXlsaXN0OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5lbnRyeUNvbGxlY3Rpb24mJmEucHVzaCh0aGlzLmouZW50cnlDb2xsZWN0aW9uKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJmYWtlUGxheWxpc3QifX0sZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmoucGFyZW50UGxheWxpc3QmJmEucHVzaCh0aGlzLmoucGFyZW50UGxheWxpc3QpO2lmKHRoaXMuai5lbnRyaWVzKWZvcihsZXQgYiBvZiB0aGlzLmouZW50cmllcylhLnB1c2goLi4uKG5ldyB5cWEoYikpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uIn19LGZha2VWaWRlbzpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouZGVzY3JpcHRpb25FbnRpdHkmJmEucHVzaCh0aGlzLmouZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuai5jcmVhdG9ycyYmYS5wdXNoKC4uLnRoaXMuai5jcmVhdG9ycyk7dGhpcy5qLnRoZUJpZ2dlc3RGYW4mJmEucHVzaCh0aGlzLmoudGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmFrZVZpZGVvIn19LGZha2VWaWRlb0Rlc2NyaXB0aW9uOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZha2VWaWRlb0Rlc2NyaXB0aW9uIn19LApmZWF0dXJlZFByb2R1Y3RzRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImZlYXR1cmVkUHJvZHVjdHNFbnRpdHkifX0sc2F2ZWRQcm9kdWN0c1N0YXRlRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eSJ9fSxmbG93U3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4iZmxvd1N0YXRlRW50aXR5In19LGljb25CYWRnZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJpY29uQmFkZ2VFbnRpdHkifX0saW50ZXJzdGl0aWFsSW50ZXJhY3Rpb25TdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5In19LGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGlrZUJ1dHRvbkFuaW1hdGlvbkVudGl0eSJ9fSwKbGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZUNoYXRQb2xsU3RhdGVFbnRpdHkifX0sZGF0YUZyZXNobmVzc0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJkYXRhRnJlc2huZXNzRW50aXR5In19LGxpdmVWaWV3ZXJMZWFkZXJib2FyZENoYXRFbnRyeVBvaW50U3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eSJ9fSxsaXZlVmlld2VyTGVhZGVyYm9hcmRQb2ludHNFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5In19LGxpdmVSZWFjdGlvbnNEYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxpdmVSZWFjdGlvbnNEYXRhRW50aXR5In19LApsb2dvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuImxvZ29FbnRpdHkifX0sbWFjcm9NYXJrZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFjcm9NYXJrZXJFbnRpdHkifX0sbWFpbkRvd25sb2Fkc0xpYnJhcnlFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmouZG93bmxvYWRzTGlzdCk7dGhpcy5qLnNtYXJ0RG93bmxvYWRzTGlzdCYmYS5wdXNoKHRoaXMuai5zbWFydERvd25sb2Fkc0xpc3QpO3RoaXMuai5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QmJmEucHVzaCh0aGlzLmoucmVjb21tZW5kZWREb3dubG9hZHNMaXN0KTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eSJ9fSwKbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7aWYodGhpcy5qLmRvd25sb2Fkcylmb3IobGV0IGIgb2YgdGhpcy5qLmRvd25sb2FkcylhLnB1c2goLi4uKG5ldyB6cWEoYikpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkifX0sbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzJiZhLnB1c2goLi4udGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eSJ9fSxtYWluUGxheWxpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmNoYW5uZWxPd25lciYmCmEucHVzaCh0aGlzLmouY2hhbm5lbE93bmVyKTt0aGlzLmoudmlkZW9zJiZhLnB1c2goLi4udGhpcy5qLnZpZGVvcyk7dGhpcy5qLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZhLnB1c2goLi4udGhpcy5qLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLmouZG93bmxvYWRTdGF0ZSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZFN0YXRlKTt0aGlzLmoucmVmcmVzaCYmYS5wdXNoKHRoaXMuai5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtYWluUGxheWxpc3RFbnRpdHkifX0sbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmouY2hhbm5lbENvbnRyaWJ1dG9yJiZhLnB1c2godGhpcy5qLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblBsYXlsaXN0VmlkZW9FbnRpdHkifX0sCm1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBsYXliYWNrRGF0YSYmYS5wdXNoKHRoaXMuai5wbGF5YmFja0RhdGEpO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkmJmEucHVzaCh0aGlzLmoudmlkZW9Eb3dubG9hZENvbnRleHRFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHkifX0sbWFpblZpZGVvRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5vd25lciYmYS5wdXNoKHRoaXMuai5vd25lcik7dGhpcy5qLmRvd25sb2FkU3RhdGUmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0ZSk7dGhpcy5qLnVzZXJTdGF0ZSYmYS5wdXNoKC4uLihuZXcgQ3FhKHRoaXMuai51c2VyU3RhdGUpKS5vKCkpOwp0aGlzLmouYWRkaXRpb25hbE1ldGFkYXRhJiZhLnB1c2goLi4uKG5ldyBCcWEodGhpcy5qLmFkZGl0aW9uYWxNZXRhZGF0YSkpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFpblZpZGVvRW50aXR5In19LG1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm1hcmtlcnNFbmdhZ2VtZW50UGFuZWxTeW5jRW50aXR5In19LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eSJ9fSxtdXNpY0FsYnVtUmVsZWFzZURldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouYWxidW1SZWxlYXNlJiZhLnB1c2godGhpcy5qLmFsYnVtUmVsZWFzZSk7dGhpcy5qLnRyYWNrcyYmYS5wdXNoKC4uLnRoaXMuai50cmFja3MpOwpyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FsYnVtUmVsZWFzZURldGFpbCJ9fSxtdXNpY0FsYnVtUmVsZWFzZURvd25sb2FkTWV0YWRhdGFFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMmJmEucHVzaCguLi50aGlzLmoudHJhY2tEb3dubG9hZE1ldGFkYXRhcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VEb3dubG9hZE1ldGFkYXRhRW50aXR5In19LG11c2ljQWxidW1SZWxlYXNlOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJmEucHVzaCh0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLmoucHJpbWFyeUFydGlzdHMmJmEucHVzaCguLi50aGlzLmoucHJpbWFyeUFydGlzdHMpO3RoaXMuai5kZXRhaWxzJiZhLnB1c2godGhpcy5qLmRldGFpbHMpOwp0aGlzLmoudXNlckRldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai50cmFja3MmJmEucHVzaCguLi50aGlzLmoudHJhY2tzKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5kb3dubG9hZE1ldGFkYXRhJiZhLnB1c2godGhpcy5qLmRvd25sb2FkTWV0YWRhdGEpO3RoaXMuai5yZWZyZXNoJiZhLnB1c2godGhpcy5qLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQWxidW1SZWxlYXNlIn19LG11c2ljQWxidW1SZWxlYXNlVXNlckRldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmouYWxidW1SZWxlYXNlJiZhLnB1c2godGhpcy5qLmFsYnVtUmVsZWFzZSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsIn19LG11c2ljQXJ0aXN0RGV0YWlsOmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPQpbXTt0aGlzLmoucGFyZW50QXJ0aXN0JiZhLnB1c2godGhpcy5qLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNBcnRpc3REZXRhaWwifX0sbXVzaWNBcnRpc3Q6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLnVzZXJEZXRhaWxzJiZhLnB1c2godGhpcy5qLnVzZXJEZXRhaWxzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0FydGlzdCJ9fSxtdXNpY0FydGlzdFVzZXJEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudEFydGlzdCYmYS5wdXNoKHRoaXMuai5wYXJlbnRBcnRpc3QpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm11c2ljQXJ0aXN0VXNlckRldGFpbCJ9fSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9CltdO3RoaXMuai5kb3dubG9hZGVkVHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRUcmFja3MpO3RoaXMuai5zbWFydERvd25sb2FkZWRUcmFja3MmJmEucHVzaCguLi50aGlzLmouc21hcnREb3dubG9hZGVkVHJhY2tzKTt0aGlzLmouZG93bmxvYWRlZEVwaXNvZGVzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRFcGlzb2Rlcyk7dGhpcy5qLmRvd25sb2FkZWRBbGJ1bVJlbGVhc2VzJiZhLnB1c2goLi4udGhpcy5qLmRvd25sb2FkZWRBbGJ1bVJlbGVhc2VzKTt0aGlzLmouc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmYS5wdXNoKC4uLnRoaXMuai5zbWFydERvd25sb2FkZWRBbGJ1bVJlbGVhc2VzKTt0aGlzLmouZG93bmxvYWRlZFBsYXlsaXN0cyYmYS5wdXNoKC4uLnRoaXMuai5kb3dubG9hZGVkUGxheWxpc3RzKTt0aGlzLmouc21hcnREb3dubG9hZGVkUGxheWxpc3RzJiZhLnB1c2goLi4udGhpcy5qLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5qLm1ldGFkYXRhT25seVRyYWNrcyYmCmEucHVzaCguLi50aGlzLmoubWV0YWRhdGFPbmx5VHJhY2tzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHkifX0sbXVzaWNMaWJyYXJ5RWRpdDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0xpYnJhcnlFZGl0In19LG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkifX0sbXVzaWNQbGF5bGlzdDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudHJhY2tzJiZhLnB1c2goLi4udGhpcy5qLnRyYWNrcyk7dGhpcy5qLnJlZnJlc2gmJmEucHVzaCh0aGlzLmoucmVmcmVzaCk7dGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmYS5wdXNoKHRoaXMuai5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpOwp0aGlzLmouZGV0YWlscyYmYS5wdXNoKHRoaXMuai5kZXRhaWxzKTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmouc2lkZWxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLmoudXNlckRldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckRldGFpbHMpO3RoaXMuai5lbnRyeUNvbGxlY3Rpb24mJmEucHVzaCh0aGlzLmouZW50cnlDb2xsZWN0aW9uKTt0aGlzLmouc2hhcmUmJmEucHVzaCh0aGlzLmouc2hhcmUpO3RoaXMuai5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmYS5wdXNoKC4uLihuZXcgRHFhKHRoaXMuai5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSkpLm8oKSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNQbGF5bGlzdCJ9fSxtdXNpY1BsYXlsaXN0RG93bmxvYWRNZXRhZGF0YUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMmJmEucHVzaCguLi50aGlzLmoudHJhY2tEb3dubG9hZE1ldGFkYXRhcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHkifX0sbXVzaWNTaGFyZTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1NoYXJlIn19LG11c2ljVHJhY2tEZXRhaWw6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnBhcmVudFRyYWNrJiZhLnB1c2godGhpcy5qLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1RyYWNrRGV0YWlsIn19LG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai5wbGF5YmFja0RhdGEmJmEucHVzaCh0aGlzLmoucGxheWJhY2tEYXRhKTsKdGhpcy5qLmxvY2FsSW1hZ2VFbnRpdGllcyYmYS5wdXNoKC4uLnRoaXMuai5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmYS5wdXNoKHRoaXMuai52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHkifX0sbXVzaWNUcmFjazpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5JiZhLnB1c2godGhpcy5qLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSk7dGhpcy5qLmFydGlzdHMmJmEucHVzaCguLi50aGlzLmouYXJ0aXN0cyk7dGhpcy5qLmF1ZGlvTW9kZVZlcnNpb24mJmEucHVzaCh0aGlzLmouYXVkaW9Nb2RlVmVyc2lvbik7dGhpcy5qLnZpZGVvTW9kZVZlcnNpb24mJmEucHVzaCh0aGlzLmoudmlkZW9Nb2RlVmVyc2lvbik7dGhpcy5qLnVzZXJEZXRhaWxzJiYKYS5wdXNoKHRoaXMuai51c2VyRGV0YWlscyk7dGhpcy5qLmRldGFpbHMmJmEucHVzaCh0aGlzLmouZGV0YWlscyk7dGhpcy5qLmFsYnVtUmVsZWFzZSYmYS5wdXNoKHRoaXMuai5hbGJ1bVJlbGVhc2UpO3RoaXMuai5zaGFyZSYmYS5wdXNoKHRoaXMuai5zaGFyZSk7dGhpcy5qLmxpYnJhcnlFZGl0JiZhLnB1c2godGhpcy5qLmxpYnJhcnlFZGl0KTt0aGlzLmouZG93bmxvYWRNZXRhZGF0YSYmYS5wdXNoKHRoaXMuai5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLmoucGxheWJhY2tQb3NpdGlvbiYmYS5wdXNoKHRoaXMuai5wbGF5YmFja1Bvc2l0aW9uKTt0aGlzLmoubHlyaWNzJiZhLnB1c2godGhpcy5qLmx5cmljcyk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4ibXVzaWNUcmFjayJ9fSxtdXNpY1RyYWNrVXNlckRldGFpbDpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoucGFyZW50VHJhY2smJmEucHVzaCh0aGlzLmoucGFyZW50VHJhY2spOwpyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJtdXNpY1RyYWNrVXNlckRldGFpbCJ9fSxvZmZsaW5lT3JjaGVzdHJhdGlvbkFjdGlvbldyYXBwZXJFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ib2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5In19LG9mZmxpbmVWaWRlb1BvbGljeTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lVmlkZW9Qb2xpY3kifX0sb2ZmbGluZVZpZGVvU3RyZWFtczpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJvZmZsaW5lVmlkZW9TdHJlYW1zIn19LG9mZmxpbmVhYmlsaXR5RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9mZmxpbmVhYmlsaXR5RW50aXR5In19LG9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT0KW107dGhpcy5qLmZha2VDaGlsZHJlbiYmYS5wdXNoKC4uLnRoaXMuai5mYWtlQ2hpbGRyZW4pO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuIm9yY2hlc3RyYXRpb25XZWJTYW1wbGluZ0VudGl0eSJ9fSxwYWdlSGVhZGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBhZ2VIZWFkZXJFbnRpdHkifX0scGFydHlHYW1lUGFuZWxFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGFydHlHYW1lUGFuZWxFbnRpdHkifX0sc2xpZGVyR2FtZVBhbmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNsaWRlckdhbWVQYW5lbEVudGl0eSJ9fSxwZHBTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwZHBTdGF0ZUVudGl0eSJ9fSxwaW5uZWRQcm9kdWN0RW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInBpbm5lZFByb2R1Y3RFbnRpdHkifX0sCnBsYXliYWNrRGF0YTpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoudHJhbnNmZXImJmEucHVzaCh0aGlzLmoudHJhbnNmZXIpO3RoaXMuai5hZHNQbGF5YmFja0RhdGEmJmEucHVzaCguLi50aGlzLmouYWRzUGxheWJhY2tEYXRhKTt0aGlzLmouZHJtTGljZW5zZSYmYS5wdXNoKHRoaXMuai5kcm1MaWNlbnNlKTt0aGlzLmoub2ZmbGluZVZpZGVvUG9saWN5JiZhLnB1c2godGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZhLnB1c2godGhpcy5qLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwbGF5YmFja0RhdGEifX0scGxheWVyU3RhdGVFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4icGxheWVyU3RhdGVFbnRpdHkifX0scGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJwbGF5bGlzdFRodW1ibmFpbEVkaXRzRW50aXR5In19LApxdWFudGl0eUluY3JlbWVudGVyRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInF1YW50aXR5SW5jcmVtZW50ZXJFbnRpdHkifX0scmVmcmVzaDpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJyZWZyZXNoIn19LHNhdmVUb1BsYXlsaXN0TGlzdEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzYXZlVG9QbGF5bGlzdExpc3RFbnRpdHkifX0sc2VsZWN0ZWRDaGlwSW5kZXhFbnRpdHlQYXlsb2FkOmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInNlbGVjdGVkQ2hpcEluZGV4RW50aXR5UGF5bG9hZCJ9fSxzZWxlY3Rpb25WYWx1ZUxpc3RFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2VsZWN0aW9uVmFsdWVMaXN0RW50aXR5In19LHNldHRpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ic2V0dGluZ0VudGl0eSJ9fSwKc3RyaW5nRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInN0cmluZ0VudGl0eSJ9fSxzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eSJ9fSx0cmFuc2ZlcjpjbGFzcyBleHRlbmRzIGVae28oKXt2YXIgYT1bXTt0aGlzLmoub2ZmbGluZVZpZGVvU3RyZWFtcyYmYS5wdXNoKC4uLnRoaXMuai5vZmZsaW5lVmlkZW9TdHJlYW1zKTt0aGlzLmouY2FwdGlvblRyYWNrJiZhLnB1c2goLi4udGhpcy5qLmNhcHRpb25UcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KGEpKV19Z2V0VHlwZU5hbWUoKXtyZXR1cm4idHJhbnNmZXIifX0sdHJlbmRpbmdPZmZlckVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ0cmVuZGluZ09mZmVyRW50aXR5In19LAp1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ1bnBsdWdnZWRTaWRlc2hlZXRIZWFkZXJTdGF0ZUVudGl0eSJ9fSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpjbGFzcyBleHRlbmRzIGVae28oKXtyZXR1cm5bXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSJ9fSx2aWRlb092ZXJ2aWV3QXN5bmNEYXRhRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHkifX0sdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3JldHVybltdfWdldFR5cGVOYW1lKCl7cmV0dXJuInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSJ9fSx2b3RpbmdFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4idm90aW5nRW50aXR5In19LAp5dE1haW5DaGFubmVsRW50aXR5OmNsYXNzIGV4dGVuZHMgZVp7bygpe3ZhciBhPVtdO3RoaXMuai51c2VyQ2hhbm5lbERldGFpbHMmJmEucHVzaCh0aGlzLmoudXNlckNoYW5uZWxEZXRhaWxzKTtyZXR1cm5bLi4uKG5ldyBTZXQoYSkpXX1nZXRUeXBlTmFtZSgpe3JldHVybiJ5dE1haW5DaGFubmVsRW50aXR5In19LHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7cmV0dXJuW119Z2V0VHlwZU5hbWUoKXtyZXR1cm4ieW91Y2hhdFBlbmRpbmdSZXNwb25zZUVudGl0eSJ9fSx5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLnZpZGVvJiZhLnB1c2godGhpcy5qLnZpZGVvKTt0aGlzLmoucGxheWJhY2tEYXRhJiZhLnB1c2godGhpcy5qLnBsYXliYWNrRGF0YSk7dGhpcy5qLm9mZmxpbmVWaWRlb1BvbGljeSYmYS5wdXNoKHRoaXMuai5vZmZsaW5lVmlkZW9Qb2xpY3kpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eSJ9fSwKeXRNYWluVmlkZW9FbnRpdHk6Y2xhc3MgZXh0ZW5kcyBlWntvKCl7dmFyIGE9W107dGhpcy5qLmNoYW5uZWxPd25lciYmYS5wdXNoKHRoaXMuai5jaGFubmVsT3duZXIpO3RoaXMuai5wbGF5YmFja1Bvc2l0aW9uJiZhLnB1c2godGhpcy5qLnBsYXliYWNrUG9zaXRpb24pO3RoaXMuai5sb2NhbEltYWdlRW50aXRpZXMmJmEucHVzaCguLi50aGlzLmoubG9jYWxJbWFnZUVudGl0aWVzKTt0aGlzLmouZG93bmxvYWRTdGF0dXMmJmEucHVzaCh0aGlzLmouZG93bmxvYWRTdGF0dXMpO3JldHVyblsuLi4obmV3IFNldChhKSldfWdldFR5cGVOYW1lKCl7cmV0dXJuInl0TWFpblZpZGVvRW50aXR5In19fTtYbmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLmo9YTt0aGlzLm89Yjt0aGlzLnY9e319fTsKSnFhPWNsYXNzIGV4dGVuZHMgalp7dihhKXtyZXR1cm4gYX1vKGEpe2lmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBpWCgiV1JPTkdfREFUQV9UWVBFIix7SXA6MH0pO3JldHVybiBhfX07Wm5hPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPXt9O3RoaXMualswXT1uZXcgSnFhO2lmKCFfLngoImFlc19wZXNfZW5jb2Rlcl9raWxsc3dpdGNoIikpe3ZhciBhPXRoaXMuajt0cnl7bGV0IGQ9Xy5WaigpO3ZhciBiPWtYKGQpO3ZhciBjPW5ldyBJcWEobmV3IGlaKGIpLG5ldyBHcWEoYikpfWNhdGNoKGQpe3Rocm93IGE9ZCBpbnN0YW5jZW9mIEVycm9yP25ldyBpWCgiS0VZX0NSRUFUSU9OX0ZBSUxFRCIse29yaWdpbmFsTWVzc2FnZTpkLm1lc3NhZ2V9KTpuZXcgaVgoIktFWV9DUkVBVElPTl9GQUlMRUQiKSxfLkdwKGEpLGE7fWFbMV09Y319fTsKJG5hPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy50b2tlbj1hO3RoaXMuaj1iO3RoaXMub2JzZXJ2ZXJzPVtdO2E9bmV3IF8udS5Ccm9hZGNhc3RDaGFubmVsKGBQRVJTSVNURU5UX0VOVElUWV9TVE9SRV9TWU5DOiR7Xy5WaigpfWApO2Eub25tZXNzYWdlPXRoaXMuby5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1hfW9ic2VydmUoYSl7dGhpcy5vYnNlcnZlcnMucHVzaChhKTtyZXR1cm4oKT0+e3ZhciBiPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2YoYSk7Yj49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKGIsMSl9fW8oYSl7cVgodGhpcyxhLmRhdGEpfWxhKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fTsKTHFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dmFyIGE9S3FhO3RoaXMub2JzZXJ2ZXJzPVtdO3RoaXMudmFsdWU9YX1zdWJzY3JpYmUoYSl7aWYoYS5laiE9bnVsbCl0aHJvdyBFcnJvcigiRmMiKTthLmVqPXRoaXMub2JzZXJ2ZXJzLmxlbmd0aDt0aGlzLm9ic2VydmVycy5wdXNoKGEpO3RyeXthKHRoaXMudmFsdWUpfWNhdGNoKGIpe31yZXR1cm4oKT0+e3ZhciBiPXRoaXMub2JzZXJ2ZXJzW3RoaXMub2JzZXJ2ZXJzLmxlbmd0aC0xXTt0aGlzLm9ic2VydmVyc1thLmVqXT1iO2IuZWo9YS5lajt0aGlzLm9ic2VydmVycy5wb3AoKX19dXBkYXRlKGEpe3RoaXMudmFsdWU9YSh0aGlzLnZhbHVlKTt0aGlzLm5vdGlmeSgpfXNldChhKXt0aGlzLnZhbHVlPWE7dGhpcy5ub3RpZnkoKX1ub3RpZnkoKXtmb3IobGV0IGEgb2YgdGhpcy5vYnNlcnZlcnMpdHJ5e2EodGhpcy52YWx1ZSl9Y2F0Y2goYil7fX19Owpqb2E9e2xhbmRzY2FwZToiKG1heC13aWR0aDogMjk5cHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkiLHBvcnRyYWl0OiIobWF4LXdpZHRoOiAyOTlweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIn07WFk9e307a1o9Y2xhc3N7Y29uc3RydWN0b3IoKXtpZih0aGlzLmNvbnN0cnVjdG9yPT09a1opdGhyb3cgbmV3IFR5cGVFcnJvcigic2QiKTt9ZGlzcG9zZSgpe31kaXNjb25uZWN0KCl7fW9ic2VydmUoYSxiLGMpe3JldHVybntlbGVtZW50OmEsb3B0aW9uOmN9fXJmKCl7fX07Ck1xYT1jbGFzcyBleHRlbmRzIGtae2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLmlzQ29ubmVjdGVkPSEwO3RoaXMudj0hMTt0aGlzLm9ic2VydmVyPW5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcih0aGlzLkIuYmluZCh0aGlzKSx7cm9vdE1hcmdpbjoiLTAuMXB4In0pO3RoaXMubz1uZXcgTWFwO3RoaXMuaj1uZXcgTWFwfWRpc3Bvc2UoKXt0aGlzLmRpc2Nvbm5lY3QoKTt0aGlzLmouY2xlYXIoKX1kaXNjb25uZWN0KGE9ITEpe3RoaXMuaXNDb25uZWN0ZWQ9ITE7dGhpcy52PWE7dGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCk7Zm9yKGxldCBiIG9mIHRoaXMuby52YWx1ZXMoKSliLmRpc2Nvbm5lY3QoKX1CKGEpe2ZvcihsZXQgYyBvZiBhKXt2YXIgYj10aGlzLmouZ2V0KGMudGFyZ2V0KTtpZighYiljb250aW51ZTthPWMuaXNJbnRlcnNlY3Rpbmc7Zm9yKGxldCBbZCxlXW9mIGIpe2I9ZDtsZXQgZj1lO2ImJihiLnN0YXRlPT09InZpc2libGUiJiZhfHxiLnN0YXRlPT09ImhpZGRlbiImJgohYSkmJihmKGMudGFyZ2V0LGIuc3RhdGUpLGIuVmImJnRoaXMucmYoe2VsZW1lbnQ6Yy50YXJnZXQsb3B0aW9uOmJ9KSl9fX1EKGEpe2ZvcihsZXQgYiBvZiBhKWlmKChhPXRoaXMuai5nZXQoYi50YXJnZXQpKSYmYi5pc0ludGVyc2VjdGluZylmb3IobGV0IFtjLGRdb2YgYSl7YT1jO2xldCBlPWQ7YSYmYS5zdGF0ZT09PSJwcmVzY2FuIiYmKGUoYi50YXJnZXQsYS5zdGF0ZSksYS5WYiYmdGhpcy5yZih7ZWxlbWVudDpiLnRhcmdldCxvcHRpb246YX0pKX19b2JzZXJ2ZShhLGIsYyl7dmFyIGQ9KGQ9dGhpcy5qLmdldChhKSkmJmQuaGFzKGMpP3tlbGVtZW50OmEsb3B0aW9uOmN9OnZvaWQgMDtpZihkKXJldHVybiBkO2Q9e2VsZW1lbnQ6YSxvcHRpb246Y307dGhpcy5qLmhhcyhhKXx8dGhpcy5qLnNldChhLG5ldyBNYXApO3ZhciBlPXRoaXMuai5nZXQoYSk7ZSYmIWUuaGFzKGMpJiZlLnNldChjLGIpO3RoaXMudnx8KGMuc3RhdGU9PT0icHJlc2NhbiImJihiPTAsYS5oYXNBdHRyaWJ1dGUoInByZXNjYW4taGVpZ2h0IikmJgooYz1OdW1iZXIoYS5nZXRBdHRyaWJ1dGUoInByZXNjYW4taGVpZ2h0IikpLGlzTmFOKGMpfHwoYj1jKSksdGhpcy5vLmhhcyhiKT9iPXRoaXMuby5nZXQoYik6KGM9YC0wLjFweCAtMC4xcHggJHtifXB4IC0wLjFweGAsYz1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIodGhpcy5ELmJpbmQodGhpcykse3Jvb3RNYXJnaW46Y30pLHRoaXMuby5zZXQoYixjKSxiPWMpLGIub2JzZXJ2ZShhKSksdGhpcy5vYnNlcnZlci5vYnNlcnZlKGEpKTtyZXR1cm4gZH1yZihhKXt2YXIgYj10aGlzLmouZ2V0KGEuZWxlbWVudCk7aWYoYiYmYi5oYXMoYS5vcHRpb24pKXtiLmRlbGV0ZShhLm9wdGlvbik7aWYoYSYmYS5vcHRpb24uc3RhdGU9PT0icHJlc2NhbiIpZm9yKGxldCBjIG9mIHRoaXMuby52YWx1ZXMoKSljLnVub2JzZXJ2ZShhLmVsZW1lbnQpO2Iuc2l6ZT09PTAmJih0aGlzLmouZGVsZXRlKGEuZWxlbWVudCksdGhpcy5vYnNlcnZlci51bm9ic2VydmUoYS5lbGVtZW50KSl9fX07CnFZPVsieW91dHViZV9maWxsIiwieW91dHViZV9vdXRsaW5lIl07QVg9dm9pZCAwO3ZhciBOcWE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52YWx1ZT1hfWRlcmVmKCl7cmV0dXJuIHRoaXMudmFsdWV9fSxPcWE9dHlwZW9mIFdlYWtSZWY9PT0iZnVuY3Rpb24iP1dlYWtSZWY6TnFhO3ZhciBGWD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5tYXA9bmV3IFdlYWtNYXB9YWRkKGEsYil7dGhpcy5tYXAuaGFzKGEpfHwodGhpcy5qKGEpLHRoaXMubWFwLnNldChhLFtdKSk7dGhpcy5tYXAuZ2V0KGEpLnB1c2gobmV3IE9xYShiKSl9Z2V0KGEpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWIubWFwLmdldChhKTtpZihjKXt2YXIgZD0wO2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1lLmRlcmVmKCk7ZiYmKGQrKyx5aWVsZCBmKX1pZigyKmQ8Yy5sZW5ndGgpe2Q9MDtmb3IobGV0IGUgb2YgYyllLmRlcmVmKCkmJihjW2QrK109ZSk7Yy5sZW5ndGg9ZH19fSgpfX0oYT0+e2EuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLEFvYSx7b25jZTohMH0pfSksRVg9bmV3IFdlYWtNYXAsRFg9QWJvcnRDb250cm9sbGVyLGxaPUFib3J0U2lnbmFsO3R5cGVvZiBsWi5hYm9ydCE9PSJmdW5jdGlvbiImJihsWi5hYm9ydD14b2EpOwp0eXBlb2YgbFoucHJvdG90eXBlLnRocm93SWZBYm9ydGVkIT09ImZ1bmN0aW9uIiYmKGxaLnByb3RvdHlwZS50aHJvd0lmQWJvcnRlZD15b2EpO3R5cGVvZiBsWi5hbnkhPT0iZnVuY3Rpb24iJiYobFouYW55PXpvYSk7dHlwZW9mIGxaLnRpbWVvdXQhPT0iZnVuY3Rpb24iJiYobFoudGltZW91dD1Cb2EpO3ZhciBHWD0iMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLnNwbGl0KCIiKTt2YXIgVVk9bmV3IF8uSSgiY29weUxpbmtSZW5kZXJlciIpO3ZhciBQcWE9bmV3IF8uSSgiYXVkaW9UcmFja1NlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgUXFhPW5ldyBfLkkoImNhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgUnFhPW5ldyBfLkkoInNob3dBdWRpb1RyYWNrUGlja2VyQWN0aW9uQ29tbWFuZCIpO3ZhciBTcWE9bmV3IF8uSSgic2hvd0NhcHRpb25MYW5ndWFnZVNlbGVjdEFjdGlvbkNvbW1hbmQiKTt2YXIgT3BhPW5ldyBfLkkoInBob25lRGlhbGVyRW5kcG9pbnQiKTt2YXIgU3BhPW5ldyBfLkkoInNlbmRTbXNFbmRwb2ludCIpO3ZhciBLcGE9bmV3IF8uSSgiY29weVRleHRFbmRwb2ludCIpO3ZhciBtWj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX1vKGE9e30pe0lYKHRoaXMubmFtZSwiU1VDQ0VTUyIsYSl9aihhPXt9KXtJWCh0aGlzLm5hbWUsIkZBSUxVUkUiLGEpfX0sRW9hPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubmFtZT0iU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX0ZVTExTQ1JFRU5fUkVRVUVTVF9TTEkiO3RoaXMuc2xpSWQ9YTt0aGlzLnRpbWVvdXRNcz0zRTQ7dGhpcy5vPSIiO3RoaXMudj0tMTt0aGlzLmo9ITE7dGhpcy5kaW1lbnNpb25zPXt9fWdldElkKCl7cmV0dXJuIHRoaXMuc2xpSWR9RHIoYT17fSl7dGhpcy5qfHwodGhpcy5qPSEwLHRoaXMuZGltZW5zaW9ucz1hLHRoaXMubz1Db2EoKSxaVyh7ZGltZW5zaW9uczp0aGlzLmRpbWVuc2lvbnMscmVjb3Jkczpbe25hbWU6dGhpcy5uYW1lLHN0YXRlOiJTTElfU1RBVEVfU1RBUlQiLHNsaUlkOnRoaXMub31dfSksdGhpcy50aW1lb3V0TXM+MCYmKHRoaXMudj1zZXRUaW1lb3V0KCgpPT4Ke3RoaXMuemcoIlRJTUVPVVQiKX0sdGhpcy50aW1lb3V0TXMpKSl9emcoYSl7dGhpcy5qJiYodGhpcy50aW1lb3V0TXM+MCYmY2xlYXJUaW1lb3V0KHRoaXMudiksdGhpcy5qPSExLGE9e2RpbWVuc2lvbnM6dGhpcy5kaW1lbnNpb25zLHJlY29yZHM6W3tuYW1lOnRoaXMubmFtZSxzdGF0dXM6SFgoYSksc3RhdGU6IlNMSV9TVEFURV9FTkQiLHNsaUlkOnRoaXMub31dfSxfLkV5LnJlZ2lzdGVyLmRlbGV0ZShgJHt0aGlzLm5hbWV9XyR7dGhpcy5zbGlJZH1gKSxaVyhhKSl9fTt2YXIgU1g9bmV3IG1aKCJTTElfTkFNRV9ZT1VUVUJFX0VNQkVEU19XRUJfUExBWUVSX0VSUk9SX1NMSSIpLFRYPW5ldyBtWigiU0xJX05BTUVfWU9VVFVCRV9FTUJFRFNfV0VCX1BMQVlFUl9VTlBMQVlBQkxFX1NMSSIpO3ZhciBHb2E9WyJjbGlja1RyYWNraW5nUGFyYW1zIiwiY29tbWFuZE1ldGFkYXRhIiwibG9nZ2luZ1VybHMiLCJidWlsZENvbW1hbmRQYXlsb2FkIl07dmFyIExYPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjPSExLGQ9ITEsZT1bXSl7dmFyIGY9d1g7dGhpcy52PWE7dGhpcy5uYXZpZ2F0ZT12b2lkIDA7dGhpcy5qPWI7dGhpcy5ZPWM7dGhpcy5JPWQ7dGhpcy5CPWY7dGhpcy5LPWU7dGhpcy5NPVtdO3RoaXMubz1uZXcgU2V0O3RoaXMuRD0hMTtLb2EodGhpcyl9cmVzb2x2ZUNvbW1hbmQoYSxiKXtyZXR1cm4gTlgodGhpcyxhLGIpLmhhbmRsZWR9fTt2YXIgblo9bmV3IF8uVnMoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBvWj1jbGFzc3thc3luYyByZXNvbHZlKGEsYil7YXdhaXQgdGhpcy5yZXNvbHZlQ29tbWFuZChhLGIpfX07dmFyIHBaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLnN0b3JlPWF9YXN5bmMgcmVzb2x2ZUNvbW1hbmQoYSl7aWYoYT1fLkIoYSxfLnduYSk/LmVudGl0eUJhdGNoVXBkYXRlKWE9ey4uLmEsbXV0YXRpb25zOlsuLi4oYS5tdXRhdGlvbnN8fFtdKV19LGF3YWl0IGRvYShhLHRoaXMuc3RvcmUpfX07cFpbXy5Mbl09W25aXTt2YXIgJFk9bmV3IF8uVnMoIlBBTkVMX0xPQURJTkdfU1RSQVRFR1lfVE9LRU4iKTt2YXIgcVo9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5jb250cm9sbGVyPWE7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT1ifWFzeW5jIHJlc29sdmVDb21tYW5kKGEsYil7dmFyIGM9Xy5CKGEsXy5OVyk7aWYoYz8ucGFuZWxMb2FkaW5nU3RyYXRlZ3kpe3ZhciBkPVZYKHRoaXMuY29udHJvbGxlcixiPy5mb3JtPy5lbGVtZW50KSxlPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5wb3NpdGlvbixmPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5ob3ZlckNvbmZpZyxoPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5leHBhbmRUb0Z1bGxXaWR0aCxrPWMuY29udGV4dHVhbFNoZWV0UHJlc2VudGF0aW9uQ29uZmlnPy5vcGVuVG9TaWRlO2F3YWl0IHRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3kuZXhlY3V0ZSh7Y29tbWFuZDphLGRhdGE6Yy5wYW5lbExvYWRpbmdTdHJhdGVneSxnbjphc3luYyBsPT4Ke2lmKGwuc2hlZXRWaWV3TW9kZWwpe2lmKGYpe3ZhciBtPXRoaXMuY29udHJvbGxlcjttLm89ISFmLnByZXZlbnRDbG9zZVdoaWxlSG92ZXJlZDttLmhpZGVEZWxheU1zPWYuaGlkZURlbGF5TXM/PzA7bS5zaG93RGVsYXlNcz1mLnNob3dEZWxheU1zPz8wfWF3YWl0IHRoaXMuY29udHJvbGxlci53Zyh7dmlld01vZGVsOmwuc2hlZXRWaWV3TW9kZWwsVXI6ZSxleHBhbmRUb0Z1bGxXaWR0aDpoLG9wZW5Ub1NpZGU6a30sZCxiPy5mb3JtPy5lbGVtZW50KX19LGJ2OntsYXllcjowfX0pfX19O3FaW18uTG5dPVtfLmNMLCRZXTt2YXIgVHFhPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoKXtzdXBlcigpfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe3ZhciBiPV8uQihhLFBxYSk7YiYmKGE9YXdhaXQgXy5MSCgpKSYmYT8uaXNSZWFkeT8uKCkmJihiPVFvYShhLGI/Lmxhbmd1YWdlQ29kZSkpJiZhLnNldEF1ZGlvVHJhY2soYil9fTt2YXIgclo9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEpe3ZhciBiPV8uQihhLFFxYSk7aWYoYiYmKGE9YXdhaXQgXy5MSCgpKSl7dmFyIGM9Yj8ubGFuZ3VhZ2VDb2RlO2I9Yj8uaXNBdXRvVHJhbnNsYXRlZDthLmdldFZpZGVvRGF0YSYmXy4kTyhhKS5sZW5ndGgmJigoYz1Sb2EoYSxjLGIpKT9hLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIsYyk6KGEuc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt9KSxhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIse30pKSk7YT1hLmlzU3VidGl0bGVzT24oKT9fLmFBKCJDQVBUSU9OX09OX1RPQVNUIix2b2lkIDAsIlN1YnRpdGxlcy9DQyB0dXJuZWQgb24iKTpfLmFBKCJDQVBUSU9OX09GRl9UT0FTVCIsdm9pZCAwLCJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9mZiIpO3RoaXMuai5yZXNvbHZlQ29tbWFuZChfLmFRKF8uV0woYSksNUUzKSl9fX07CnJaW18uTG5dPVtfLlVEXTt2YXIgc1o9Y2xhc3MgZXh0ZW5kcyBvWntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuaj1hfWFzeW5jIHJlc29sdmVDb21tYW5kKGEsYil7Xy5CKGEsUnFhKSYmKGE9YXdhaXQgXy5MSCgpKSYmKGE9U29hKGEpKSYmdGhpcy5qLnJlc29sdmVDb21tYW5kKGEsYil9fTtzWltfLkxuXT1bXy5VRF07dmFyIHRaPWNsYXNzIGV4dGVuZHMgb1p7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1hc3luYyByZXNvbHZlQ29tbWFuZChhLGIpe18uQihhLFNxYSkmJihhPWF3YWl0IF8uTEgoKSkmJigoYT1Wb2EoYSkpP3RoaXMuai5yZXNvbHZlQ29tbWFuZChhLGIpOihiPV8uYUEoIkNMT1NFRF9DQVBUSU9OU19ESVNBQkxFRCIsdm9pZCAwLCJObyBjYXB0aW9ucyBhcmUgYXZhaWxhYmxlIGZvciB0aGlzIHZpZGVvIiksdGhpcy5qLnJlc29sdmVDb21tYW5kKF8uYVEoXy5XTChiKSkpKSl9fTt0WltfLkxuXT1bXy5VRF07dmFyIHNxYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnNpZ25hbD1hO3RoaXMuaj10aGlzLm8uYmluZCh0aGlzKTt0aGlzLmxvZ2dpbmdFbmFibGVkPSEwO3RoaXMuaWRzPW5ldyBTZXQ7YS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsdGhpcy5qKTt0aGlzLmpvYklkPV8uWWoodGhpcy5qLDFFNCl9d3koYSl7dGhpcy5sb2dnaW5nRW5hYmxlZCYmIXRoaXMuaWRzLmhhcyhhKSYmdGhpcy5pZHMuYWRkKGEpfW8oKXt0aGlzLmxvZ2dpbmdFbmFibGVkJiYodGhpcy5sb2dnaW5nRW5hYmxlZD0hMSxfLmpmLkFhKHRoaXMuam9iSWQpLHRoaXMuc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0Iix0aGlzLmopLFdvYSh0aGlzKSl9fTt2YXIgUlg7dmFyIFVxYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuT209bmV3IE1hcDt0aGlzLmo9bmV3IE1hcH1PeihhLGIpe2lmKGEpe3RoaXMuT20uc2V0KGEsYik7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5yZXNvbHZlKGIpLHRoaXMuai5kZWxldGUoYSkpfX19O3ZhciBhWj1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMubz1hO3RoaXMudj1ifWooKXtpZih0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5JiZ0aGlzLnBhbmVsTG9hZGluZ1N0cmF0ZWd5LmlubGluZUNvbnRlbnQpcmV0dXJuIHRoaXMucGFuZWxMb2FkaW5nU3RyYXRlZ3kuaW5saW5lQ29udGVudH1hc3luYyBleGVjdXRlKGEpe3ZhciBiPWEuVEksYz1hLnBhcmVudFZlLGQ9YS5idixlPWEuZ24sZj1hLmNvbW1hbmQ7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT1hLmRhdGE7KGE9dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8uc2NyZWVuVmU/dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8uc2NyZWVuVmU6YikmJl8uRE8odGhpcy52LGEsYyxkKTsoYz10aGlzLmooKSkmJmF3YWl0IGUoYyk7dGhpcy5wYW5lbExvYWRpbmdTdHJhdGVneT8ucmVxdWVzdFRlbXBsYXRlJiYoZj1hd2FpdCAkb2EodGhpcyxmKSkmJmF3YWl0IGUoZil9fTthWltfLkxuXT1bXy5JeSxfLk9XXTt2YXIgcHFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPXRoaXMubz0hMTt0aGlzLnNob3dEZWxheU1zPXRoaXMuaGlkZURlbGF5TXM9MDt0aGlzLkQ9ITE7dGhpcy5JPSgpPT57dGhpcy5qPSEwfTt0aGlzLlo9KCk9Pnt0aGlzLmo9ITF9O3RoaXMuVT0oKT0+e3RoaXMuaj0hMH07dGhpcy5LPSgpPT57dGhpcy5qPSExfX1QeihhLGI9ITEpe2I/dGhpcy5NPWE6dGhpcy5jb250YWluZXI9YX1hc3luYyB3ZyhhLGIsYz1iKXtXWCh0aGlzKTt0aGlzLnNob3dEZWxheU1zP3RoaXMuWT1zZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCAkWCh0aGlzLGEsYixjKX0sdGhpcy5zaG93RGVsYXlNcyk6YXdhaXQgJFgodGhpcyxhLGIsYyl9YXN5bmMgSmUoKXtXWCh0aGlzKTt0aGlzLmhpZGVEZWxheU1zP3RoaXMuQj1zZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCBhWSh0aGlzKX0sdGhpcy5oaWRlRGVsYXlNcyk6YXdhaXQgYVkodGhpcyl9YXN5bmMgZG0oKXtyZXR1cm4gVVgodGhpcyk/LmRtKCk/PwohMX19O3ZhciBvcGE9WyJ0b3VjaG1vdmUiLCJzY3JvbGwiXTt2YXIgdVo9ITE7dmFyIGNZPSExO3ZhciBucGE9e2xyKGEpe2EucGFyZW50SWQ9PW51bGwmJih1Wnx8KGJZKCksc2V0SW50ZXJ2YWwoYlksNkU1KSx1Wj0hMCksZlkoYSwid2ViX3RyYWNpbmdfYWN0aW9uIikpfX07dmFyIGhZLEtxYT17aUw6Xy54KCJ3ZWJfdHJhY2luZ19hbGxfY29tcG9uZW50cyIpLFF2Ol8ueCgid2ViX3RyYWNpbmdfZXhwb3J0X3RvX2NzaSIpLEh2OmZ1bmN0aW9uKGEsYil7YT1fLnJqKGEsYik7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/Xy5IdyhhLGM9PlN0cmluZyhjfHwiIikpOltTdHJpbmcoYXx8IiIpXX0oIndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnMiKSxSdjpfLngoIndlYl90cmFjaW5nX2V4cG9ydF90b19kZXZ0b29scyIpLE1xOl8uc2ooInRlbF9tYXhfYnJlYWRjcnVtYnMiLDApfTtoWT1uZXcgTHFhO3ZhciBrcGE9e1JlbmRlcjoiQ09XX1NQQU5fVFlQRV9SRU5ERVIiLE9uSW5pdDoiQ09XX1NQQU5fVFlQRV9PTl9JTklUIixFZmZlY3Q6IkNPV19TUEFOX1RZUEVfRUZGRUNUIixDb21wdXRlZDoiQ09XX1NQQU5fVFlQRV9DT01QVVRFRCIsU2lnbmFsVXBkYXRlOiJDT1dfU1BBTl9UWVBFX1NJR05BTF9VUERBVEUiLFJlbmRlckVmZmVjdDoiQ09XX1NQQU5fVFlQRV9SRU5ERVJfRUZGRUNUIixDcmVhdGVSZWFjdGl2ZUNvbXBvbmVudDoiQ09XX1NQQU5fVFlQRV9DT01QT05FTlRfUkVOREVSIn07dmFyIG1wYT1fLngoIndlYl9zaG9ydHNfZW5hYmxlX3RyYWNpbmciKTt2YXIgdHBhPVsiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIsImh0dHBzOi8vdHYueW91dHViZS5jb20iLCJodHRwczovL3d3dy5nc3RhdGljLmNvbSIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIl0sdnBhPV8uc2ooIndpbF9pY29uX21heF9jb25jdXJyZW50X2ZldGNoZXMiLEluZmluaXR5KSxaWT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5GYT1hO3RoaXMuS2s9Yjt0aGlzLlk9e307dGhpcy5EPXt9O3RoaXMubz17fTt0aGlzLkk9dGhpcy5jb3VudGVyPTA7dGhpcy5CPSEhXy51LmNhY2hlczt0aGlzLlU9UHJvbWlzZS5yZXNvbHZlKHZvaWQgMCk7dGhpcy5aPXZvaWQgMDt0aGlzLnY9bnVsbDt0aGlzLk09Xy54KCJ3aWxfaWNvbl91c2VfbWFza19yZW5kZXJpbmciKT8xOjA7dGhpcy5vYT1fLngoIndpbF9pY29uX25ldHdvcmtfZmlyc3QiKTt0aGlzLk1hPV8ueCgid2lsX2ljb25fcmVuZGVyX3doZW5faWRsZSIpO3RoaXMuUWE9IV8ueCgid2lsX2ljb25fbG9hZF9pbW1lZGlhdGVseSIpOwp0aGlzLks9ITE7YT0oKT0+e3RoaXMuQiYmKHRoaXMuVT1fLnUuY2FjaGVzLm9wZW4oInl0LWljb25zIikudGhlbihkPT50aGlzLlo9ZCkuY2F0Y2goKCk9Pnt0aGlzLkI9ITF9KSl9O2M9Yz8uKCl8fHt9O2ZvcihsZXQgW2QsZV1vZiBPYmplY3QuZW50cmllcyhjKSljPWQsYj1fLmZDKGUpLGpZKGIpLHRoaXMuRFtjXT1iLmNsb25lTm9kZSghMCk7dGhpcy5LPXFwYSh0aGlzKTt0aGlzLksgaW5zdGFuY2VvZiBQcm9taXNlP3RoaXMuSy50aGVuKGEpOmEoKX1qKGEpe3JldHVybiEhdGhpcy5tZihhKX1hc3luYyB5YShhKXtpZihhLmxlbmd0aCl7dmFyIGI9W107Zm9yKGxldCBjIG9mIGEpKGE9dGhpcy5tZihjKSkmJiF0aGlzLkRbYS51cmxdJiZiLnB1c2goa1kodGhpcyxhKS50aGVuKCgpPT57fSkuY2F0Y2goKCk9Pnt9KSk7UHJvbWlzZS5hbGwoYil9fXB5KGEpe3ZhciBiPXRoaXMubWYoYSk7cmV0dXJuIGI/dGhpcy5NPT09MT9sWSh0aGlzLGIsdGhpcy5NKTooYT10aGlzLkRbYi51cmxdKT8KKGE9YS5jbG9uZU5vZGUoITApLG5ZKHRoaXMsYSksbFkodGhpcyxiLHRoaXMuTSxhKSk6a1kodGhpcyxiKS50aGVuKGM9Pnt2YXIgZD1jPzA6MTtuWSh0aGlzLGMpO3JldHVybiBsWSh0aGlzLGIsZCxjKX0pOihfLkhwKG5ldyBfLlhqKCJJY29uIG5vdCBmb3VuZCIse2ljb25TaGFwZTphfSkpLCgpPT57fSl9YXN5bmMgZ2EoYSxiKXtyZXR1cm4gcFkodGhpcyxhKS50aGVuKGM9Pnt3cGEodGhpcyxhLGMsYik7cmV0dXJuIGN9KX1hc3luYyBoYShhLGIpe3JldHVybiBiP2IubWF0Y2goYSkudGhlbihjPT5jJiZjLm9rP2M6UHJvbWlzZS5yZWplY3QoKSk6UHJvbWlzZS5yZWplY3QoKX1tZihhKXtyZXR1cm4gdGhpcy5GYS5tZihhKX19O1pZW18uTG5dPVtfLm1PLF8ubEYsXy5JbihfLm9PKV07dmFyIHlwYT17QUNDRVNTX1RJTUU6ImNsb2NrIixBQ0NPVU5UX0JPWDpfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIj8icGVyc29uX2JveCI6InBlcnNvbl9hY2NvdW50IixBQ0NPVU5UX0JPWF9DQUlSTzoicGVyc29uX2FjY291bnRfY2Fpcm8iLEFDQ09VTlRfQ0lSQ0xFOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0NJUkNMRV9DQUlSTzoicGVyc29uX2NpcmNsZV9jYWlybyIsQUNDT1VOVF9MSU5LRUQ6ImFjY291bnRfbGlua19zdWNjZXNzIixBQ0NPVU5UX1VOTElOS0VEOiJhY2NvdW50X2xpbmsiLEFERF9GUklFTkQ6InBlb3BsZSIsQUREX01PREVSQVRPUjoic2hpZWxkX2FkZCIsQUREX1RPX0xJQlJBUlk6ImJvb2ttYXJrIixBRERfVE9fUExBWUxJU1Q6ImFkZCIsQUREX1RPX1FVRVVFX1RBSUw6Imxpc3RfcXVldWUiLEFERF9UT19SRU1PVEVfUVVFVUU6Imxpc3RfbXVzaWMiLEFERF9UT19XQVRDSF9MQVRFUjoiY2xvY2siLEFERF9WSURFT19MSU5LOiJmaWxtX3N0cmlwX2FkZCIsCkFMRVJUX1dBUk5fUkVEOiJhbGVydF90cmlhbmdsZSIsQVJST1dfQkFDSzoiYXJyb3dfbGVmdCIsQVJST1dfRElBR09OQUxfVVBfUklHSFRfRklMTEVEOiJhcnJvd19kaWFnb25hbF91cF9yaWdodCIsQVJST1dfRFJPUF9ET1dOOiJjaGV2cm9uX2Rvd24iLEFSUk9XX0RST1BfVVA6ImNoZXZyb25fdXAiLEFSUk9XX0ZPUldBUkQ6ImFycm93X3JpZ2h0IixBUlRJU1Q6InBlcnNvbl9tdXNpYyIsQVVESU9UUkFDSzoiYXVkaW8iLEFVVE9fQVdFU09NRToic3BhcmtsZSIsQVZBVEFSX0FOT05ZTU9VUzoicGVyc29uX2NpcmNsZSIsQVZBVEFSX0xPR0dFRF9PVVQ6InBlcnNvbl9jaXJjbGUiLEJBQ0s6ImFycm93X2xlZnQiLEJBUl9DSEFSVDoiYmFyX2dyYXBoIixCTE9DSzoic2xhc2hfY2lyY2xlX2xlZnQiLEJMT0NLX1VTRVI6InNsYXNoX2NpcmNsZV9sZWZ0IixCT09LTUFSS19CT1JERVI6ImJvb2ttYXJrIixCUkVBS0lOR19ORVdTX0FMVF8xOiJhcnRpY2xlX2FsZXJ0IixCUk9BRENBU1RfQ0FJUk86InBvZGNhc3RfY2Fpcm8iLApCVUdfUkVQT1JUOiJidWciLENBTUVSQV9BTFQ6ImNhbWVyYSIsQ0FNUEFJR046Im1lZ2FwaG9uZSIsQ0FOQ0VMOiJ4X2NpcmNsZSIsQ0FQVElPTlM6ImNsb3NlZF9jYXB0aW9uIixDQVNUX09VVExJTkU6ImNocm9tZWNhc3QiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT0ZGOiJiZWxsIixDSEFOTkVMX05PVElGSUNBVElPTl9QUkVGRVJFTkNFX09OOiJiZWxsX29uIixDSEFUOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixDSEFUX0JVQkJMRToibWVzc2FnZV9idWJibGVfZW1wdHkiLENIQVRfU1BBUks6InNwYXJrX21lc3NhZ2VfYnViYmxlX2xlZnQiLENIRUNLX0JPWF9PVVRMSU5FX0JMQU5LOiJib3hfZW1wdHkiLENIRUNLX0NJUkNMRV9PVVRMSU5FOiJjaGVja19jaXJjbGUiLENIRUNLX0NJUkNMRV9USElDSzoiY2hlY2tfY2lyY2xlIixDTEFSSUZZOiJhcnRpY2xlX2NsYXJpZnkiLENMT1NFRF9DQVBUSU9OX1NFTEVDVEVEOiJjbG9zZWRfY2FwdGlvbiIsQ0xPU0U6InhfbWFyayIsCkNMT1VEX1VQTE9BRDoiY2xvdWRfYXJyb3dfdXAiLENPTExBUFNFOiJjaGV2cm9uX3VwIixDT0xMQVBTRV9DQUlSTzoiY2hldnJvbl91cF9jYWlybyIsQ09MTEVDVElPTjoibGF5ZXJzIixDT0xPUl9MRU5TOiJwYWxldHRlIixDT01NRU5UOiJtZXNzYWdlX2J1YmJsZV9yaWdodCIsQ09OU0VOVF9TSElFTEQ6InBlcnNvbl9zaGllbGQiLENPTlRFTlRfQ1VUOiJzY2lzc29ycyIsQ09OVEVOVF9DVVRfQ0FJUk86InNjaXNzb3JzX2NhaXJvIixDT1VSU0U6Xy54KCJ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZSIpPyJjcmVhdG9yX2FjYWRlbXkiOiJsaWdodGJ1bGIiLENPVVJTRV9DQUlSTzpfLngoIndlYl9lbmFibGVfY291cnNlX2ljb25fdXBkYXRlIik/ImNyZWF0b3JfYWNhZGVteV9jYWlybyI6ImxpZ2h0YnVsYl9jYWlybyIsQ1JFQVRJT05fTElWRToicmFkYXJfbGl2ZSIsQ1JFQVRJT05fUE9TVDoiYm94X3BlbmNpbCIsQ1JFQVRJT05fVVBMT0FEOiJteV92aWRlb3MiLENSRUFUSU9OX1VQTE9BRF9SRUQ6InVwbG9hZCIsCkNSRUFUT1JfTUVUQURBVEFfTU9ORVRJWkFUSU9OOiJkb2xsYXJfc2lnbiIsQ1JFQVRPUl9NRVRBREFUQV9NT05FVElaQVRJT05fT0ZGOiJkb2xsYXJfc2lnbl9vZmYiLENSRUFUT1JfU1RVRElPOiJ5b3V0dWJlX3N0dWRpbyIsREFTSEJPQVJEOiJncmlkX2FzeW1tZXRyaWNhbCIsREVMRVRFOiJ0cmFzaF9jYW4iLERFTEVURV9TV0VFUDoidHJhc2hfY2FuIixERVNLVE9QOiJsYXB0b3AiLERJU0xJS0U6InRodW1iX2Rvd24iLERJU0xJS0VfU0VMRUNURUQ6InRodW1iX2Rvd24iLERJU01JU1NBTDoieF9tYXJrIixESVNNSVNTX1FVRVVFOiJsaXN0X3JlbW92ZSIsRE9ORV9BTEw6ImNoZWNrX2RvdWJsZSIsRE9XTl9BUlJPVzoiYXJyb3dfZG93biIsRE9fTk9UX0RJU1RVUkI6InNsYXNoX2NpcmNsZV9sZWZ0IixEUkFGVDoicGFwZXJfY29ybmVyX2ZvbGRlZCIsRFJBR19IQU5ETEU6ImJhcnNfMiIsRURJVDoicGVuY2lsIixFTU9KSToiZmFjZV92ZXJ5X2hhcHB5IixFTU9KSV9GTEFHUzoiZmxhZyIsCkVNT0pJX09CSkVDVFM6ImxpZ2h0YnVsYiIsRU1PSklfUEVPUExFOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX1JFQ0VOVDoiY2xvY2siLEVNUFRZX0hFQVJUOiJoZWFydCIsRU1QVFlfTElLRToidGh1bWJfdXAiLEVSUk9SX0JMQUNLOiJhbGVydF9jaXJjbGUiLEVSUk9SX09VVExJTkU6ImFsZXJ0X2NpcmNsZSIsRVhJVF9BUFA6ImFycm93X2luIixFWElUX1RPX0FQUDoiYXJyb3dfaW4iLEVYUEFORDoiY2hldnJvbl9kb3duIixFWFBBTkRfQUxMOiJjaGV2cm9uX2V4cGFuZCIsRVhQQU5EX0NBSVJPOiJjaGV2cm9uX2Rvd25fY2Fpcm8iLEVYUEFORF9MRVNTOiJjaGV2cm9uX3VwIixFWFBBTkRfTU9SRToiY2hldnJvbl9kb3duIixFWFBMT1JFOiJjb21wYXNzIixFWFBMT1JFX0RFU1RJTkFUSU9OOiJjb21wYXNzIixFWFRFUk5BTF9MSU5LOiJvcGVuX25ldyIsRkFCX1VQTE9BRDoidXBsb2FkIixGQUNFX0hBUFBZX09VVExJTkU6ImZhY2VfaGFwcHkiLEZBQ1RfQ0hFQ0s6ImFydGljbGVfY2hlY2siLApGQVNISU9OX0xPR086ImZhc2hpb24iLEZBU0hJT05fTE9HT19DQUlSTzoiZmFzaGlvbl9jYWlybyIsRkFWT1JJVEU6ImhlYXJ0IixGRUVEQkFDSzoibWVzc2FnZV9idWJibGVfYWxlcnQiLEZFRURCQUNLX0NBSVJPOiJtZXNzYWdlX2J1YmJsZV9hbGVydF9jYWlybyIsRklMTF9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixGSUxMX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsRklMTF9ET0xMQVJfU0lHTl9IRUFSVF8xMjoiZG9sbGFyX3NpZ25faGVhcnQiLEZJTFRFUjoibWVudV9maWx0ZXIiLEZJUlNUX1BBR0U6ImNoZXZyb25fZmlyc3QiLEZMQUc6ImZsYWciLEZVTExfSEVBUlQ6ImhlYXJ0IixHQU1FX0NPTlNPTEVfRFBBRDoiZ2FtZV9jb25zb2xlX2RwYWQiLEdBTUVfQ09OU09MRV9GQUNFX0JVVFRPTlM6ImdhbWVfY29uc29sZV9mYWNlX2J1dHRvbnMiLEdBTUlOR19MT0dPOiJnYW1pbmciLEdBTUlOR19MT0dPX0NBSVJPOiJnYW1pbmdfY2Fpcm8iLApHT19UT19QQUdFOiJhcnJvd19yaWdodCIsR1JPVVBTOiJwZW9wbGVfZ3JvdXAiLEhBUFBZOiJmYWNlX2hhcHB5IixIRUFMVEhfQU5EX1NBRkVUWToic2hpZWxkX3BsdXMiLEhFTFA6InF1ZXN0aW9uX2NpcmNsZSIsSEVMUF9DQUlSTzoicXVlc3Rpb25fY2lyY2xlX2NhaXJvIixIRUxQX09VVExJTkU6InF1ZXN0aW9uX2NpcmNsZSIsSElERToic2xhc2hfY2lyY2xlX2xlZnQiLElNQUdFOiJpbWFnZSIsSU5GSU5JVFlfSUNPTjoiaW5maW5pdHkiLElORk86ImluZm9fY2lyY2xlIixJTkZPX09VVExJTkU6ImluZm9fY2lyY2xlIixJTlNFUlRfQ0hBUlQ6ImJhcl9ncmFwaF9ib3hfdmVydGljYWwiLElOU0VSVF9DSEFSVF9PVVRMSU5FRDoiYmFyX2dyYXBoX2JveF92ZXJ0aWNhbCIsSU5TRVJUX1BIT1RPOiJpbWFnZSIsS0VFUDoicGluIixLRUVQX09GRjoicGluX29mZiIsS0VZQk9BUkQ6ImtleWJvYXJkIixLRVlCT0FSRF9BUlJPV19ET1dOOiJjaGV2cm9uX2Rvd24iLEtFWUJPQVJEX0FSUk9XX1VQOiJjaGV2cm9uX3VwIiwKS0lEU19CTE9DSzoic2xhc2hfY2lyY2xlX2xlZnQiLExBTkdVQUdFOiJnbG9iZSIsTEFTVF9QQUdFOiJjaGV2cm9uX2xhc3QiLExBVU5DSDoib3Blbl9uZXciLExFQVJOSU5HOiJsaWdodGJ1bGIiLExFQVJOSU5HX0NBSVJPOiJsaWdodGJ1bGJfY2Fpcm8iLExJQlJBUllfQUREOnRZKCJsaWJyYXJ5X2FkZCIpLExJQlJBUllfT1VUTElORToibGlicmFyeSIsTElCUkFSWV9SRU1PVkU6dFkoKSxMSUdIVEJVTEJfU1BBUktfT1VUTElORToibGlnaHRidWxiX3NwYXJrIixMSUtFU19QTEFZTElTVDoidGh1bWJfdXAiLExJS0VTX1BMQVlMSVNUX0NBSVJPOiJ0aHVtYl91cF9jYWlybyIsTElLRToidGh1bWJfdXAiLExJS0VfU0VMRUNURUQ6InRodW1iX3VwIixMSVZFOiJyYWRhcl9saXZlIixMSVZFX0NBSVJPOiJyYWRhcl9saXZlX2NhaXJvIixMSVZFX1VOTElTVEVEOiJsaW5rIixMT0NBVElPTl9PTjoibG9jYXRpb25fcG9pbnQiLExPQ0FUSU9OX1BJTjoibG9jYXRpb25fcG9pbnQiLExPT1A6ImFycm93X3JlcGVhdCIsCkxPT1BfQUNUSVZFOiJhcnJvd19yZXBlYXQiLExPT1BfT05FOiJhcnJvd19yZXBlYXRfMSIsTE9PUF9PTkVfQUNUSVZFOiJhcnJvd19yZXBlYXRfMSIsTUVIOiJmYWNlX21laCIsTUVNQkVSU19PTkxZX01PREVfT0ZGOiJtZXNzYWdlX2J1YmJsZV9sZWZ0IixNRU5VOiJiYXJzXzMiLE1FU1NBR0U6Im1lc3NhZ2VfYnViYmxlX2xlZnQiLE1JQ1JPUEhPTkVfT046Im1pYyIsTUlYOiJ5b3V0dWJlX21peCIsTU9ORVRJWkFUSU9OX09OOiJkb2xsYXJfc2lnbl9jaXJjbGUiLE1PTkVZX0ZJTEw6ImRvbGxhcl9zaWduX2NvbnRhaW5lciIsTU9ORVlfRklMTF9KUFk6Inllbl9zaWduX2NvbnRhaW5lciIsTU9ORVlfSEVBUlQ6ImRvbGxhcl9zaWduX2hlYXJ0IixNT1JFX0hPUklaOiJvdmVyZmxvd19ob3Jpem9udGFsIixNT1JFX1ZFUlQ6Im92ZXJmbG93X3ZlcnRpY2FsIixNVVNJQzoiYXVkaW8iLE1VU0lDX0NBSVJPOiJhdWRpb19jYWlybyIsTVVTSUNfTk9URV9TWU1CT0w6Im11c2ljIixNVVNJQ19TSFVGRkxFOiJhcnJvd19zaHVmZmxlIiwKTVlfQ0hBTk5FTDoicGVyc29uX2NpcmNsZSIsTVlfTE9DQVRJT046ImxvY2F0aW9uX3BvaW50IixORVdTX1NUT1JZOiJuZXdzIixORVhUOiJjaGV2cm9uX3JpZ2h0IixOT1RJRklDQVRJT05TOiJiZWxsIixOT1RJRklDQVRJT05TX0FDVElWRToiYmVsbF9vbiIsTk9USUZJQ0FUSU9OU19DQUlSTzoiYmVsbF9jYWlybyIsTk9USUZJQ0FUSU9OU19ET05FX0NIRUNLTUFSSzoiY2hlY2siLE5PVElGSUNBVElPTlNfSU5CT1g6ImJlbGwiLE5PVElGSUNBVElPTlNfTk9ORToiYmVsbCIsTk9USUZJQ0FUSU9OU19PRkY6ImJlbGxfb2ZmIixOT1RfSU5URVJFU1RFRDoic2xhc2hfY2lyY2xlX2xlZnQiLE9GRklDSUFMX0FSVElTVF9CQURHRToiYXVkaW8iLE9GRkxJTkVfQ0xPVUQ6ImNsb3VkX29mZiIsT0ZGTElORV9ET1dOTE9BRDoiZG93bmxvYWQiLE9GRkxJTkVfRE9XTkxPQURfQ0FJUk86ImRvd25sb2FkX2NhaXJvIixPRkZMSU5FX1BBVVNFOiJwYXVzZSIsT1BFTl9JTl9ORVc6Im9wZW5fbmV3IiwKT1VUTElORV9BREpVU1Q6ImFkanVzdCIsT1VUTElORV9BUlJPV19TT0xJRF9ET1dOXzE2OiJhcnJvd19zb2xpZF9kb3duIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9CQUc6ImJhZyIsT1VUTElORV9DTE9DS19IQUxGX0NJUkNMRToiY2xvY2tfaGFsZl9jaXJjbGUiLE9VVExJTkVfTU9CSUxFX0RPV05MT0FEOiJtb2JpbGVfZG93bmxvYWQiLE9VVExJTkVfT1ZFUkZMT1dfSE9SSVpPTlRBTF8zMjoib3ZlcmZsb3dfaG9yaXpvbnRhbCIsT1VUTElORV9PVkVSRkxPV19WRVJUSUNBTDoib3ZlcmZsb3dfdmVydGljYWwiLE9VVExJTkVfWU9VVFVCRV9JTVBST1ZFX1RWOiJ5b3V0dWJlX2ltcHJvdmVfdHYiLFBBSUQ6ImRvbGxhcl9zaWduIixQQVVTRV9PVVRMSU5FRDoicGF1c2UiLFBBWU1FTlQ6ImNyZWRpdF9jYXJkIixQRVJTT05fUkFEQVJfRklMTEVEOiJwZXJzb25fcmFkYXIiLFBIT05FX0RPV05MT0FEOiJtb2JpbGVfZG93bmxvYWQiLFBMQVlBQkxFU19MT0dPOiJ0aWNfdGFjX3RvZSIsClBMQVlBQkxFU19MT0dPX0NBSVJPOiJ0aWNfdGFjX3RvZV9jYWlybyIsUExBWUxJU1RTOiJsaXN0X3BsYXlfYXJyb3ciLFBMQVlMSVNUU19DQUlSTzoibGlzdF9wbGF5X2Fycm93X2NhaXJvIixQTEFZTElTVF9BREQ6dFkoImxpc3RfYWRkIiksUExBWUxJU1RfQUREX0NIRUNLOnRZKCJsaXN0X2NoZWNrIiksUExBWUxJU1RfUExBWToibGlzdF9wbGF5X2Fycm93IixQTEFZX0FMTDoicGxheV9hcnJvdyIsUExBWV9DSVJDTEU6InBsYXlfYXJyb3dfY2lyY2xlIixQTEFZX09VVExJTkVEOiJwbGF5X2Fycm93X2NpcmNsZSIsUFJJVkFDWV9JTkZPOiJzaGllbGQiLFBSSVZBQ1lfUFJJVkFURToibG9jayIsUFJJVkFDWV9QVUJMSUM6ImVhcnRoIixQUklWQUNZX1VOTElTVEVEOiJsaW5rIixQUk9NT1RFOiJtZWdhcGhvbmUiLFBVUkNIQVNFUzoicHJpY2VfdGFnIixQVVJDSEFTRV9TVVBFUl9DSEFUOiJzdXBlcl9jaGF0IixQVVJDSEFTRV9TVVBFUl9TVElDS0VSOiJzdXBlcl9zdGlja2VyIixRVUVTVElPTl9BTlNXRVI6Im1lc3NhZ2VfYnViYmxlX3F1ZXN0aW9uIiwKUVVFVUVfUExBWV9MQVNUOiJsaXN0X3F1ZXVlX2xhc3QiLFFVRVVFX1BMQVlfTkVYVDoibGlzdF9wbGF5X2Fycm93IixSRU1JWF9GSUxMRUQ6InlvdXR1YmVfc2hvcnRzX3JlbWl4IixSRU1PVkU6ImJhcl9jaXJjbGUiLFJFTU9WRV9DSVJDTEU6ImJhcl9jaXJjbGUiLFJFTU9WRV9DSVJDTEVfT1VUTElORToiYmFyX2NpcmNsZSIsUkVNT1ZFX0RPTkU6ImNoZWNrX2RvdWJsZV9vZmYiLFJFTU9WRV9GUk9NX0hJU1RPUlk6ImJhcl9jaXJjbGUiLFJFTU9WRV9GUk9NX1BMQVlMSVNUOiJiYXJfY2lyY2xlIixSRU1PVkVfTU9ERVJBVE9SOiJzaGllbGRfb2ZmIixSRVBMQVk6ImFycm93X2NpcmNsZSIsUkVQTEFZXzEwOiJza2lwX2JhY2tfMTAiLFJFUE9SVF9QUk9CTEVNOiJhbGVydF90cmlhbmdsZSIsU0FEOiJmYWNlX3NhZCIsU0FWRV9QTEFZTElTVDoiYm9va21hcmsiLFNDSEVEVUxFOiJjbG9jayIsU0NIT09MOiJjcmVhdG9yX2FjYWRlbXkiLFNDUkVFTl9GVUxMU0NSRUVOOiJzY3JlZW5fZnVsbCIsClNFQVJDSF9ISVNUT1JZOiJhcnJvd190aW1lIixTRUxMOiJwcmljZV90YWciLFNFVFRJTkdTOiJnZWFyIixTRVRUSU5HU19DQUlSTzoiZ2Vhcl9jYWlybyIsU0VUVElOR1NfTElHSFQ6ImdlYXIiLFNFVFRJTkdTX01BVEVSSUFMOiJnZWFyIixTSEFSRV9BUlJPVzoic2hhcmUiLFNISUVMRF9XSVRIX0FWQVRBUjoicGVyc29uX3NoaWVsZCIsU0hPUFBJTkdfQkFHOiJiYWciLFNIT1BQSU5HX0JBR19DQUlSTzoiYmFnX2NhaXJvIixTSE9QUElOR19DQVJUOiJjYXJ0IixTSE9SVFNfQ09NTUVOVDoieW91dHViZV9zaG9ydHNfbWVzc2FnZV9idWJibGVfcmlnaHQiLFNIT1JUU19ESVNMSUtFOiJ5b3V0dWJlX3Nob3J0c190aHVtYl9kb3duIixTSE9SVFNfTElLRToieW91dHViZV9zaG9ydHNfdGh1bWJfdXAiLFNIT1JUU19TSEFSRToieW91dHViZV9zaG9ydHNfc2hhcmUiLFNIVUZGTEU6ImFycm93X3NodWZmbGUiLFNMT1dfTU9ERV9PRkY6Im1lc3NhZ2VfYnViYmxlX2xlZnQiLFNPQ0lBTDoicGVvcGxlIiwKU09SVDoibWVudV9zb3J0IixTUEFSS19MSUdIVEJVTEJfT1VUTElORToic3BhcmtfbGlnaHRidWxiIixTUEVFRF8xWDoiMXgiLFNQRUVEXzFfUE9JTlRfMlg6IjFfcG9pbnRfMngiLFNQRUVEXzFfUE9JTlRfNVg6IjFfcG9pbnRfNXgiLFNQRUVEXzFfUE9JTlRfOFg6IjFfcG9pbnRfOHgiLFNQRUVEXzJYOiIyeCIsU1BFRURfUE9JTlRfMlg6InBvaW50XzJ4IixTUEVFRF9QT0lOVF84WDoicG9pbnRfOHgiLFNQT05TT1JTSElQX1NUQVI6InN0YXJfY2lyY2xlIixTVEFGRl9QSUNLOiJzcG90bGlnaHQiLFNUQVJUX0RWUjoiYWRkIixTVEFSX0JPUkRFUjoic3RhciIsU1RBUl9DSVJDTEVfUklCQk9OX09VVExJTkU6InN0YXJfY2lyY2xlX3JpYmJvbiIsU1RJQ0tFUl9FTU9USUNPTjoiZmFjZV9oYXBweSIsU1RPUF9EVlI6InN0b3AiLFNVQlNDUklCRToieW91dHViZV9sb2dvX2ljb24iLFNVQlNDUklCRV9QTFVTOiJhZGRfY2Fpcm8iLFNVQlNDUklQVElPTl9NQU5BR0VSOiJnZWFyIixTVVBFUlZJU09SX0FDQ09VTlQ6InBlb3BsZSIsClNVUEVSX0NIQVRfRk9SX0dPT0Q6ImhhbmRzX2hlYXJ0IixTV0FQX0hPUklaOiJhcnJvd19zd2FwX2hvcml6b250YWwiLFNXSVRDSF9BQ0NPVU5UUzoicGVyc29uX2FjY291bnQiLFRBQl9BQ0NPVU5UOiJwZXJzb24iLFRBQl9BQ1RJVklUWToiYmVsbCIsVEFCX0JPT0tNQVJLOiJib29rbWFyayIsVEFCX0VYUExPUkU6ImNvbXBhc3MiLFRBQl9IT01FOiJob21lIixUQUJfSE9NRV9DQUlSTzoiaG9tZV9jYWlybyIsVEFCX0lOQk9YOiJtYWlsIixUQUJfTElLRUQ6InRodW1iX3VwIixUQUJfTVVTSUNfUFJFTUlVTToieW91dHViZV9tdXNpYyIsVEFCX1NIT1JUUzoieW91dHViZV9zaG9ydHMiLFRBQl9TSE9SVFNfQ0FJUk86InlvdXR1YmVfc2hvcnRzX2NhaXJvIixUQUJfU1VCU0NSSVBUSU9OUzoic3Vic2NyaXB0aW9ucyIsVEFCX1NVQlNDUklQVElPTlNfQ0FJUk86InN1YnNjcmlwdGlvbnNfY2Fpcm8iLFRBQl9UUkVORElORzoiZmlyZSIsVElNRVI6InN0b3B3YXRjaCIsVFJBSUxFUjoieW91dHViZV9vcmlnaW5hbHMiLApUUkVORElORzoiZmlyZSIsVFJFTkRJTkdfQ0FJUk86ImZpcmVfY2Fpcm8iLFRSRU5ESU5HX0RPV046InJhdGluZ19kb3duIixUUkVORElOR19VUDoicmF0aW5nX3VwIixUUk9QSFk6InRyb3BoeSIsVFJPUEhZX0NFTEVCUkFUSU9OUzoiZmlyZXdvcmtzIixUVU5FOiJhZGp1c3QiLFVOQkxPQ0tfVVNFUjoiYmFyX2NpcmNsZSIsVU5MSU1JVEVEOiJ5b3V0dWJlX2xvZ29faWNvbiIsVU5QTFVHR0VEX0xJVkVfR1VJREU6InJhZGFyX2xpdmUiLFVOUExVR0dFRF9TUE9SVFM6ImV5ZV9vZmYiLFVQTE9BRFM6ImxpYnJhcnkiLFVQX0FSUk9XOiJhcnJvd191cCIsVkVSVElDQUxfQUxJR05fQk9UVE9NOiJkb3dubG9hZCIsVkVSWV9IQVBQWToiZmFjZV92ZXJ5X2hhcHB5IixWRVJZX1NBRDoiZmFjZV92ZXJ5X3NhZCIsVklERU9HQU1FX0FTU0VUOiJnYW1pbmciLFZJREVPUzoicGxheV9hcnJvd19jaXJjbGUiLFZJREVPX0NBTEw6InZpZGVvX2NhbWVyYV9hZGQiLFZJREVPX0xJQlJBUllfV0hJVEU6ImxpYnJhcnkiLApWSURFT19ZT1VUVUJFOiJ5b3V0dWJlX2xvZ29faWNvbiIsVklFV19MSVNUOiJsaXN0X3ZpZXciLFZJRVdfTElTVF9DQUlSTzoibGlzdF92aWV3X2NhaXJvIixWSVNJQklMSVRZOiJleWUiLFZJU0lCSUxJVFlfT0ZGOiJleWVfb2ZmIixWT0xVTUVfTVVURToidm9sdW1lX29mZiIsVk9MVU1FX1VQOiJ2b2x1bWVfb24iLFdBTExQQVBFUjoiaW1hZ2UiLFdBUk5JTkc6ImFsZXJ0X3RyaWFuZ2xlIixXQVRDSF9ISVNUT1JZOiJhcnJvd190aW1lIixXQVRDSF9ISVNUT1JZX0NBSVJPOiJhcnJvd190aW1lX2NhaXJvIixXQVRDSF9MQVRFUjoiY2xvY2siLFdBVENIX0xBVEVSX0NBSVJPOiJjbG9ja19jYWlybyIsV0FUQ0hfUkVMQVRFRF9NSVg6InlvdXR1YmVfbWl4IixXSEFUX1RPX1dBVENIOiJob21lIixZT1VUVUJFX0NSRUFURV9SRURfTE9HTzoieW91dHViZV9jcmVhdGVfbG9nbyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FOiJ5b3V0dWJlX211c2ljIixZT1VUVUJFX01VU0lDX01PTk9DSFJPTUVfQ0FJUk86InlvdXR1YmVfbXVzaWNfY2Fpcm8iLApZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1JFRF8xNjoieW91dHViZV9zaG9ydHNfbm9fdHJpYW5nbGUiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfV0hJVEVfMTY6InlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlIixZT1VUVUJFX1NIT1JUU19PVVRMSU5FXzI0OiJ5b3V0dWJlX3Nob3J0cyIsWVRfT1VUTElORV9NVVNJQ18yNDoibXVzaWMifTt2YXIgeHBhPXtBQ0NFU1NfVElNRToiY2xvY2siLEFDQ09VTlRfQk9YOiJwZXJzb25fc3F1YXJlIixBQ0NPVU5UX0JPWF9DQUlSTzoicGVyc29uX3NxdWFyZSIsQUNDT1VOVF9DSVJDTEU6InBlcnNvbl9jaXJjbGUiLEFDQ09VTlRfQ0lSQ0xFX0NBSVJPOiJwZXJzb25fY2lyY2xlIixBQ0NPVU5UX0xJTktFRDoiYWNjb3VudF9saW5rIixBQ0NPVU5UX1VOTElOS0VEOiJhY2NvdW50X2xpbmsiLEFERF9DSVJDTEU6ImFkZF9jaXJjbGUiLEFERF9DSVJDTEVfT1VUTElORToiYWRkX2NpcmNsZSIsQUREX0ZSSUVORDoicGVyc29uX2NoaWxkIixBRERfTU9ERVJBVE9SOiJzaGllbGRfYWRkIixBRERfVE9fTElCUkFSWToiYm9va21hcmsiLEFERF9UT19QTEFZTElTVDoiYWRkIixBRERfVE9fUVVFVUVfVEFJTDoicXVldWUiLEFERF9UT19SRU1PVEVfUVVFVUU6InBsYXlsaXN0X2F1ZGlvIixBRERfVE9fV0FUQ0hfTEFURVI6ImNsb2NrIixBRERfVklERU9fTElOSzoiZmlsbV9zdHJpcF9hZGQiLEFETUlOX1BBTkVMX1NFVFRJTkdTOiJwZXJzb25fZ2VhciIsCkFMRVJUX1dBUk5fUkVEOiJhbGVydF90cmlhbmdsZSIsQUxJR05fTEVGVDoidGV4dF9hbGlnbl9sZWZ0IixBUlJPV1NfQUxFUlQ6ImFycm93X3NwbGl0X2FsZXJ0IixBUlJPV19CQUNLOiJhcnJvd19sZWZ0IixBUlJPV19DSVJDTEU6ImFycm93X2NvdW50ZXJjbG9ja3dpc2UiLEFSUk9XX0NJUkNMRV9QTEFZOiJyZXBsYXkiLEFSUk9XX0NJUkNMRV9SSUdIVDoiYXJyb3dfY2xvY2t3aXNlIixBUlJPV19ESUFHT05BTDoiYXJyb3dfdXBfbGVmdCIsQVJST1dfRElBR09OQUxfVVBfUklHSFQ6ImFycm93X3VwX3JpZ2h0IixBUlJPV19EUk9QX0RPV046InRyaWFuZ2xlX2Rvd24iLEFSUk9XX0RST1BfVVA6InRyaWFuZ2xlX3VwIixBUlJPV19GT1JXQVJEOiJhcnJvd19yaWdodCIsQVJST1dfUEFVU0U6InBhdXNlX2hpc3RvcnkiLEFSUk9XX1VORE86InVuZG8iLEFSVElDTEU6InRleHRfcGFnZSIsQVJUSUNMRV9BTEVSVDoidGV4dF9wYWdlX2FsZXJ0IixBUlRJQ0xFX0NIRUNLOiJ0ZXh0X3BhZ2VfY2hlY2siLApBUlRJQ0xFX0NMQVJJRlk6InRleHRfcGFnZV9pbmZvIixBUlRJU1Q6InBlcnNvbl9hdWRpbyIsQVVESU9UUkFDSzoiYXVkaW8iLEFVRElPX0JBREdFOiJhdWRpb19iYWRnZSIsQVVESU9fU1VSUk9VTkQ6InN1cnJvdW5kX3NvdW5kIixBVVRPX0FXRVNPTUU6InNwYXJrbGVzIixBVkFUQVJfQU5PTllNT1VTOiJwZXJzb25fY2lyY2xlIixBVkFUQVJfTE9HR0VEX09VVDoicGVyc29uX2NpcmNsZSIsQkFDSzoiYXJyb3dfbGVmdCIsQkFSX0NIQVJUOiJjaGFydF9iYXIiLEJBUl9DSVJDTEU6Im1pbnVzX2NpcmNsZSIsQkFSX0hPUklaT05UQUw6Im1pbnVzIixCTE9DSzoiY2lyY2xlX3NsYXNoIixCTE9DS19VU0VSOiJjaXJjbGVfc2xhc2giLEJPT0tNQVJLX0JPUkRFUjoiYm9va21hcmsiLEJPWF9PUEVOX0NIRUNLOiJxdWl6IixCT1hfUEVOQ0lMOiJzcXVhcmVfcGVuY2lsIixCT1hfU1RBQ0tfMzoic3F1YXJlM19zdGFjayIsQlJFQUtJTkdfTkVXU19BTFRfMToidGV4dF9wYWdlX2FsZXJ0IiwKQlJPQURDQVNUOiJwb2RjYXN0IixCUk9BRENBU1RfQ0FJUk86InBvZGNhc3QiLEJVR19SRVBPUlQ6ImJ1ZyIsQ0FNRVJBX0FMVDoiY2FtZXJhIixDQU1QQUlHTjoibWVnYXBob25lIixDQU5DRUw6InhfY2lyY2xlIixDQVBUSU9OUzoiY2xvc2VkX2NhcHRpb25zIixDQVNUX0lDT046ImNocm9tZWNhc3QiLENBU1RfT1VUTElORToiY2hyb21lY2FzdCIsQ0hBTk5FTF9OT1RJRklDQVRJT05fUFJFRkVSRU5DRV9PRkY6ImJlbGwiLENIQU5ORUxfTk9USUZJQ0FUSU9OX1BSRUZFUkVOQ0VfT046ImJlbGxfd2F2ZXMiLENIQVQ6InRleHRfYnViYmxlIixDSEFUX0JVQkJMRToiYnViYmxlIixDSEVDS19CT1g6ImNoZWNrX3NxdWFyZSIsQ0hFQ0tfQk9YX09VVExJTkVfQkxBTks6InNxdWFyZSIsQ0hFQ0tfQ0lSQ0xFX0ZJTExFRDoiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfT1VUTElORToiY2hlY2tfY2lyY2xlIixDSEVDS19DSVJDTEVfVEhJQ0s6ImNoZWNrX2NpcmNsZSIsQ0hFQ0tfRE9VQkxFOiJjaGVja19kb25lIiwKQ0hFQ0tfRE9VQkxFX09GRjoiY2hlY2tfZG9uZV9zbGFzaCIsQ0hFVlJPTl9MRUZUOiJjaGV2cm9uX2xlZnQiLENIRVZST05fUklHSFQ6ImNoZXZyb25fcmlnaHQiLENIRVZST05fUklHSFRfQ0FJUk86ImNoZXZyb25fcmlnaHQiLENJUkNMRVNfT1ZFUkxBUDoiYWNjb3VudF9saW5rIixDTEFQUEVSQk9BUkRfQ0FJUk86ImNsYXBwZXJib2FyZCIsQ0xBUklGWToidGV4dF9wYWdlX2luZm8iLENMT0NLX0FSUk9XUzoiY2xvY2tfc3BsaXQiLENMT0NLX0FSUk9XU19BTEVSVDoiY2xvY2tfc3BsaXRfYWxlcnQiLENMT1NFRF9DQVBUSU9OOiJjbG9zZWRfY2FwdGlvbnMiLENMT1NFRF9DQVBUSU9OX1NFTEVDVEVEOiJjbG9zZWRfY2FwdGlvbnMiLENMT1NFOiJ4IixDTE9VRF9VUExPQUQ6ImNsb3VkX2Fycm93X3VwIixDT0xMQVBTRToiY2hldnJvbl91cCIsQ09MTEFQU0VfQ0FJUk86ImNoZXZyb25fdXAiLENPTExFQ1RJT046InNxdWFyZTNkX3N0YWNrIixDT0xPUl9MRU5TOiJwYWludF9wYWxldHRlIiwKQ09NTUVOVDoidGV4dF9idWJibGUiLENPTlNFTlRfU0hJRUxEOiJwZXJzb25fc2hpZWxkIixDT05URU5UX0NVVDoic2Npc3NvcnMiLENPTlRFTlRfQ1VUX0NBSVJPOiJzY2lzc29ycyIsQ09VUlNFOiJncmFkdWF0aW9uX2NhcCIsQ09VUlNFX0NBSVJPOiJncmFkdWF0aW9uX2NhcCIsQ1JFQVRJT05fTElWRToibGl2ZSIsQ1JFQVRJT05fUE9TVDoic3F1YXJlX3BlbmNpbCIsQ1JFQVRJT05fVVBMT0FEOiJ2aWRlbyIsQ1JFQVRJT05fVVBMT0FEX1JFRDoidXBsb2FkIixDUkVBVE9SX0FDQURFTVk6ImdyYWR1YXRpb25fY2FwIixDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixDUkVBVE9SX01FVEFEQVRBX01PTkVUSVpBVElPTl9PRkY6ImRvbGxhcl9zaWduX2NpcmNsZV9zbGFzaCIsQ1JFQVRPUl9TVFVESU86InlvdXR1YmVfc3R1ZGlvIixEQVJLX1RIRU1FOiJ0aGVtZSIsREVMRVRFOiJ0cmFzaF9jYW4iLERFTEVURV9TV0VFUDoidHJhc2hfY2FuIiwKREVTS1RPUDoibGFwdG9wIixESVNMSUtFOiJ0aHVtYl9kb3duIixESVNMSUtFX1NFTEVDVEVEOiJ0aHVtYl9kb3duIixESVNNSVNTQUw6IngiLERJU01JU1NfUVVFVUU6InBsYXlsaXN0X3giLERPR0ZPT0Q6InBhd3ByaW50IixET0xMQVJfU0lHTjoiZG9sbGFyX3NpZ25fY2lyY2xlIixET0xMQVJfU0lHTl9DSVJDTEU6ImRvbGxhcl9zaWduX2NpcmNsZSIsRE9MTEFSX1NJR05fQ09OVEFJTkVSOiJkb2xsYXJfc2lnbl9yZWN0YW5nbGUiLERPV05fQVJST1c6ImFycm93X2Rvd24iLERPX05PVF9ESVNUVVJCOiJjaXJjbGVfc2xhc2giLERSQUZUOiJkb2N1bWVudCIsRFJBR19IQU5ETEU6ImVxdWFsIixFQVJUSDoiZ2xvYmUiLEVESVQ6InBlbmNpbCIsRU1PSkk6ImZhY2VfdmVyeV9oYXBweSIsRU1PSklfRkxBR1M6ImZsYWciLEVNT0pJX09CSkVDVFM6ImxpZ2h0YnVsYiIsRU1PSklfUEVPUExFOiJmYWNlX3ZlcnlfaGFwcHkiLEVNT0pJX1JFQ0VOVDoiY2xvY2siLEVNUFRZX0hFQVJUOiJoZWFydCIsCkVNUFRZX0xJS0U6InRodW1iX3VwIixFUlJPUl9CTEFDSzoiYWxlcnRfY2lyY2xlIixFUlJPUl9PVVRMSU5FOiJhbGVydF9jaXJjbGUiLEVSUk9SX1dISVRFOiJhbGVydF9jaXJjbGUiLEVYSVRfQVBQOiJhcnJvd19pbiIsRVhJVF9UT19BUFA6ImFycm93X2luIixFWFBBTkQ6ImNoZXZyb25fZG93biIsRVhQQU5EX0FMTDoiY2hldnJvbl9leHBhbmQiLEVYUEFORF9DQUlSTzoiY2hldnJvbl9kb3duIixFWFBBTkRfTEVTUzoiY2hldnJvbl91cCIsRVhQQU5EX01PUkU6ImNoZXZyb25fZG93biIsRVhQTE9SRToiY29tcGFzcyIsRVhQTE9SRV9ERVNUSU5BVElPTjoiY29tcGFzcyIsRVhURVJOQUxfTElOSzoiYXJyb3dfdXBfcmlnaHQiLEVZRV9PRkY6ImV5ZV9zbGFzaCIsRkFCX1VQTE9BRDoidXBsb2FkIixGQUNFX0hBUFBZX09VVExJTkU6ImZhY2VfaGFwcHkiLEZBQ0VfTUVIOiJmYWNlX25ldXRyYWwiLEZBQ1RfQ0hFQ0s6InRleHRfcGFnZV9jaGVjayIsRkFTSElPTl9MT0dPOiJmYXNoaW9uIiwKRkFTSElPTl9MT0dPX0NBSVJPOiJmYXNoaW9uIixGQVZPUklURToidGh1bWJfdXAiLEZFRURCQUNLOiJhbGVydF9idWJibGUiLEZFRURCQUNLX0NBSVJPOiJhbGVydF9idWJibGUiLEZJTExfQVJST1dfU09MSURfRE9XTl8xNjoiYXJyb3dfc29saWRfZG93biIsRklMTF9BUlJPV19TT0xJRF9VUF8xNjoiYXJyb3dfc29saWRfdXAiLEZJTExfRE9MTEFSX1NJR05fSEVBUlRfMTI6ImRvbGxhcl9zaWduX2hlYXJ0IixGSVJTVF9QQUdFOiJjaGV2cm9uX2xlZnRfZW5kIixGTEFHX0NBSVJPOiJmbGFnIixGTEFTSF9PRkY6ImZsYXNoX3NsYXNoIixGTEFTSF9PTjoiZmxhc2giLEZVTExfSEVBUlQ6ImhlYXJ0IixHQU1JTkdfTE9HTzoiZ2FtaW5nIixHQU1JTkdfTE9HT19DQUlSTzoiZ2FtaW5nIixHT19UT19QQUdFOiJhcnJvd19yaWdodCIsR1JJRF9BU1lNTUVUUklDQUw6ImRhc2hib2FyZCIsR1JPVVBTOiJwZXJzb24zIixIQU5EX1NXSVBFX0xFRlQ6Imdlc3R1cmVfc3dpcGVfbGVmdCIsSEFORF9TV0lQRV9SSUdIVDoiZ2VzdHVyZV9zd2lwZV9yaWdodCIsCkhBUFBZOiJmYWNlX2hhcHB5IixIRUFMVEhfQU5EX1NBRkVUWToic2hpZWxkX2hlYWx0aCIsSEVBUlRfQk9YOiJoZWFydF9jdWJlIixIRUxQOiJoZWxwX2NpcmNsZSIsSEVMUF9DQUlSTzoiaGVscF9jaXJjbGUiLEhFTFBfT1VUTElORToiaGVscF9jaXJjbGUiLEhJREU6ImNpcmNsZV9zbGFzaCIsSU5DT0dOSVRPX0NBSVJPOiJpbmNvZ25pdG8iLElORklOSVRZX0lDT046ImluZmluaXR5IixJTkZPOiJpbmZvX2NpcmNsZSIsSU5GT19PVVRMSU5FOiJpbmZvX2NpcmNsZSIsSU5TRVJUX0NIQVJUOiJjaGFydF9iYXJfc3F1YXJlIixJTlNFUlRfQ0hBUlRfT1VUTElORUQ6ImNoYXJ0X2Jhcl9zcXVhcmUiLElOU0VSVF9QSE9UTzoiaW1hZ2UiLEtFRVA6InBpbiIsS0VFUF9PRkY6InBpbl9zbGFzaCIsS0VZQk9BUkQ6ImtleWJvYXJkIixLRVlCT0FSRF9BUlJPV19ET1dOOiJjaGV2cm9uX2Rvd24iLEtFWUJPQVJEX0FSUk9XX1VQOiJjaGV2cm9uX3VwIixLSURTX0JMT0NLOiJjaXJjbGVfc2xhc2giLApMQU5HVUFHRToiZ2xvYmUiLExBU1RfUEFHRToiY2hldnJvbl9yaWdodF9lbmQiLExBVU5DSDoiYXJyb3dfdXBfcmlnaHQiLExFQVJOSU5HOiJsaWdodGJ1bGIiLExFQVJOSU5HX0NBSVJPOiJsaWdodGJ1bGIiLExJQlJBUllfQUREOiJib29rbWFyayIsTElCUkFSWV9JTUFHRToiaW1hZ2Vfc3RhY2siLExJQlJBUllfTVVTSUM6ImF1ZGlvX3NxdWFyZV9zdGFjayIsTElCUkFSWV9PVVRMSU5FOiJwbGF5X3NxdWFyZV9zdGFjayIsTElCUkFSWV9SRU1PVkU6ImJvb2ttYXJrIixMSUJSQVJZX1NBVkVEOiJjaGVja19zcXVhcmVfc3RhY2siLExJS0VTX1BMQVlMSVNUOiJ0aHVtYl91cCIsTElLRVNfUExBWUxJU1RfQ0FJUk86InRodW1iX3VwIixMSUtFOiJ0aHVtYl91cCIsTElLRV9TRUxFQ1RFRDoidGh1bWJfdXAiLExJU1RfUVVFVUU6InF1ZXVlIixMSVZFX0NBSVJPOiJsaXZlIixMSVZFX1VOTElTVEVEOiJsaW5rIixMT0NBVElPTl9PTjoibG9jYXRpb25fcGluIixMT0NBVElPTl9QSU46ImxvY2F0aW9uX3BpbiIsCkxPQ0FUSU9OX1BPSU5UOiJsb2NhdGlvbl9waW4iLExPT1A6InJlcGVhdCIsTE9PUF9BQ1RJVkU6InJlcGVhdCIsTE9PUF9PTkU6InJlcGVhdDEiLExPT1BfT05FX0FDVElWRToicmVwZWF0MSIsTUVFVDoiZ29vZ2xlX21lZXQiLE1FSDoiZmFjZV9uZXV0cmFsIixNRU1CRVJTSElQUzoibWVtYmVyc2hpcHMiLE1FTUJFUlNfT05MWV9NT0RFX09GRjoidGV4dF9idWJibGUiLE1FTlVfRklMVEVSOiJmaWx0ZXIiLE1FU1NBR0U6InRleHRfYnViYmxlIixNRVNTQUdFX0JVQkJMRV9HRUFSOiJidWJibGVfZ2VhciIsTUVTU0FHRV9CVUJCTEVfTEVGVDoidGV4dF9idWJibGUiLE1FU1NBR0VfQlVCQkxFX0xFRlRfQk9PU1Q6ImJ1YmJsZV9zcGFya2xlcyIsTUVTU0FHRV9CVUJCTEVfT1ZFUkxBUDoiYnViYmxlX3N0YWNrIixNRVNTQUdFX0JVQkJMRV9RVUVTVElPTjoiaGVscF9idWJibGUiLE1JQ1JPUEhPTkVfT046Im1pYyIsTU9ORVRJWkFUSU9OX09OOiJkb2xsYXJfc2lnbl9jaXJjbGUiLE1PTkVZX0ZJTEw6ImRvbGxhcl9zaWduX3JlY3RhbmdsZSIsCk1PTkVZX0ZJTExfSlBZOiJ5ZW5fc2lnbl9yZWN0YW5nbGUiLE1PTkVZX0hBTkQ6ImRvbGxhcl9zaWduX2NpcmNsZV9oYW5kIixNT05FWV9IRUFSVDoiZG9sbGFyX3NpZ25faGVhcnQiLE1PT05fWjoic2xlZXBfdGltZXIiLE1PUkVfSE9SSVo6Im92ZXJmbG93X2hvcml6b250YWwiLE1PUkVfVkVSVDoib3ZlcmZsb3dfdmVydGljYWwiLE1VU0lDOiJhdWRpbyIsTVVTSUNfQ0FJUk86ImF1ZGlvIixNVVNJQ19FWFBMSUNJVF9CQURHRToiZXhwbGljaXQiLE1VU0lDX05FV19SRUxFQVNFOiJhdWRpb19iYWRnZSIsTVVTSUNfTk9URV9TWU1CT0w6ImF1ZGlvIixNVVNJQ19TQ0lTU09SUzoiYXVkaW9fc2Npc3NvcnMiLE1VU0lDX1NIVUZGTEU6InNodWZmbGUiLE1ZX0NIQU5ORUw6InBlcnNvbl9jaXJjbGUiLE1ZX0xPQ0FUSU9OOiJsb2NhdGlvbl9waW4iLE1ZX1ZJREVPUzoidmlkZW8iLE1ZX1ZJREVPU19DQUlSTzoidmlkZW8iLE5FV1NfQ0FJUk86Im5ld3MiLE5FV1NfU1RPUlk6Im5ld3MiLApORVhUOiJjaGV2cm9uX3JpZ2h0IixOT1RFX0FERDoiYnViYmxlX3BlbmNpbCIsTk9USUZJQ0FUSU9OUzoiYmVsbCIsTk9USUZJQ0FUSU9OU19BQ1RJVkU6ImJlbGxfd2F2ZXMiLE5PVElGSUNBVElPTlNfQ0FJUk86ImJlbGwiLE5PVElGSUNBVElPTlNfRE9ORV9DSEVDS01BUks6ImNoZWNrIixOT1RJRklDQVRJT05TX0lOQk9YOiJiZWxsIixOT1RJRklDQVRJT05TX05PTkU6ImJlbGwiLE5PVElGSUNBVElPTlNfT0ZGOiJiZWxsX3NsYXNoIixOT1RfSU5URVJFU1RFRDoiY2lyY2xlX3NsYXNoIixPRkZJQ0lBTF9BUlRJU1RfQkFER0U6ImF1ZGlvIixPRkZMSU5FX0NMT1VEOiJjbG91ZF9zbGFzaCIsT0ZGTElORV9ET1dOTE9BRDoiZG93bmxvYWQiLE9GRkxJTkVfRE9XTkxPQURfQ0FJUk86ImRvd25sb2FkIixPRkZMSU5FX1BBVVNFOiJwYXVzZSIsT1BFTl9JTl9ORVc6ImFycm93X3VwX3JpZ2h0IixPVVRMSU5FX0FESlVTVDoiYWRqdXN0IixPVVRMSU5FX0FSUk9XX1NPTElEX0RPV046ImFycm93X3NvbGlkX2Rvd24iLApPVVRMSU5FX0FSUk9XX1NPTElEX0RPV05fMTY6ImFycm93X3NvbGlkX2Rvd24iLE9VVExJTkVfQVJST1dfU09MSURfVVA6ImFycm93X3NvbGlkX3VwIixPVVRMSU5FX0FSUk9XX1NPTElEX1VQXzE2OiJhcnJvd19zb2xpZF91cCIsT1VUTElORV9CQUc6ImJhZyIsT1VUTElORV9DTE9DS19IQUxGX0NJUkNMRToiY2xvY2tfaGFsZl9kYXNoZWQiLE9VVExJTkVfTU9CSUxFX0RPV05MT0FEOiJtb2JpbGVfYXJyb3dfZG93biIsT1VUTElORV9PVkVSRkxPV19IT1JJWk9OVEFMXzMyOiJvdmVyZmxvd19ob3Jpem9udGFsIixPVVRMSU5FX09WRVJGTE9XX1ZFUlRJQ0FMOiJvdmVyZmxvd192ZXJ0aWNhbCIsT1VUTElORV9ZT1VUVUJFX0lNUFJPVkVfVFY6InN0YXJfdHYiLE9VVExJTkVfWU9VVFVCRV9TSE9SVFNfUExVUzoic2hvcnRzX2FkZCIsUEFJRDoiZG9sbGFyX3NpZ25fY2lyY2xlIixQQVVTRV9PVVRMSU5FRDoicGF1c2UiLFBBWU1FTlQ6ImNyZWRpdF9jYXJkIixQRU9QTEU6InBlcnNvbl9jaGlsZCIsClBFT1BMRV8yOiJwZXJzb24yX3JlY3RhbmdsZSIsUEVPUExFX0FMVDoicGVyc29uMiIsUEVPUExFX0dST1VQOiJwZXJzb24zIixQRU9QTEVfTk9URToiYnViYmxlX2FzdGVyaXNrIixQRVJTT05fMjoicGVyc29uMiIsUEVSU09OX0FDQ09VTlQ6InBlcnNvbl9zcXVhcmVfc3RhY2siLFBFUlNPTl9NSU5VUzoicGVyc29uX3giLFBFUlNPTl9NVVNJQzoicGVyc29uX2F1ZGlvIixQRVJTT05fUkFEQVI6InBlcnNvbl93YXZlcyIsUEVSU09OX1JBREFSX0ZJTExFRDoicGVyc29uX3dhdmVzIixQRVJTT05fU0VUVElORzoicGVyc29uX2dlYXIiLFBIT05FTElOSzoicXJfY29kZSIsUEhPTkU6InBob25lIixQSE9ORV9ET1dOTE9BRDoibW9iaWxlX2Fycm93X2Rvd24iLFBJQ1RVUkVfSU5fUElDVFVSRToicGljdHVyZV9pbl9waWN0dXJlIixQTEFZQUJMRVNfTE9HTzoicGxheWFibGVzIixQTEFZQUJMRVNfTE9HT19DQUlSTzoicGxheWFibGVzIixQTEFZTElTVFM6InBsYXlsaXN0IixQTEFZTElTVFNfQ0FJUk86InBsYXlsaXN0IiwKUExBWUxJU1RfQUREX0NIRUNLOiJib29rbWFyayIsUExBWV9BTEw6InBsYXkiLFBMQVlfQVJST1c6InBsYXkiLFBMQVlfQVJST1dfQ0lSQ0xFOiJwbGF5X2NpcmNsZSIsUExBWV9BUlJPV19IQUxGX0NJUkNMRToicGxheV9jaXJjbGVfaGFsZl9kYXNoZWQiLFBMQVlfQVJST1dfT1VUTElORUQ6InBsYXkiLFBMQVlfQ0lSQ0xFOiJwbGF5X2NpcmNsZSIsUExBWV9PVVRMSU5FRDoicGxheV9jaXJjbGUiLFBPRENBU1RfQUREOiJwb2RjYXN0X2FkZCIsUE9EQ0FTVF9DSEVDSzoicG9kY2FzdF9jaGVjayIsUFJJVkFDWV9JTkZPOiJzaGllbGRfeCIsUFJJVkFDWV9QUklWQVRFOiJsb2NrIixQUklWQUNZX1BVQkxJQzoiZ2xvYmUiLFBSSVZBQ1lfVU5MSVNURUQ6ImxpbmsiLFBST01PVEU6Im1lZ2FwaG9uZSIsUFVSQ0hBU0VTOiJwcmljZV90YWciLFBVUkNIQVNFX1NVUEVSX0NIQVQ6InN1cGVyX2NoYXQiLFBVUkNIQVNFX1NVUEVSX1NUSUNLRVI6InN1cGVyX3N0aWNrZXIiLFFVRVNUSU9OX0FOU1dFUjoiaGVscF9idWJibGUiLApRVUVTVElPTl9DSVJDTEU6ImhlbHBfY2lyY2xlIixRVUVVRV9QTEFZX0xBU1Q6InF1ZXVlX2xhc3QiLFFVRVVFX1BMQVlfTkVYVDoicXVldWVfbmV4dCIsUVVPVEFUSU9OX01BUks6InF1b3RlIixSQURBUl9MSVZFOiJsaXZlIixSRU1PVkU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0NJUkNMRToibWludXNfY2lyY2xlIixSRU1PVkVfQ0lSQ0xFX09VVExJTkU6Im1pbnVzX2NpcmNsZSIsUkVNT1ZFX0ZST01fSElTVE9SWToibWludXNfY2lyY2xlIixSRU1PVkVfRlJPTV9QTEFZTElTVDoibWludXNfY2lyY2xlIixSRU1PVkVfTU9ERVJBVE9SOiJzaGllbGRfc2xhc2giLFJFUExBWToiYXJyb3dfY291bnRlcmNsb2Nrd2lzZSIsUkVQTEFZXzEwOiJza2lwMTBfYmFjayIsUkVQTEFZX0FSUk9XOiJyZXBsYXkiLFJFUE9SVF9QUk9CTEVNOiJhbGVydF90cmlhbmdsZSIsUlNTX09GRjoicnNzX3NsYXNoIixTQUQ6ImZhY2Vfc2FkIixTQVZFX1BMQVlMSVNUOiJib29rbWFyayIsU0NIRURVTEU6ImNsb2NrIiwKU0NIT09MOiJncmFkdWF0aW9uX2NhcCIsU0NSRUVOX0RFRkFVTFQ6InBsYXllcl9kZWZhdWx0IixTQ1JFRU5fRlVMTFNDUkVFTjoicGxheWVyX2Z1bGxfZW50ZXIiLFNDUkVFTl9MSUdIVDoiYW1iaWVudF9tb2RlIixTQ1JFRU5fUk9UQVRJT046InJvdGF0ZV9wb3J0cmFpdCIsU0NSRUVOX1NXSVRDSDoicGxheWVyX3N3aXRjaCIsU0NSRUVOX1RIRUFUUkU6InBsYXllcl90aGVhdGVyIixTRUFSQ0hfQ0FJUk86InNlYXJjaCIsU0VBUkNIX0hJU1RPUlk6Imhpc3RvcnkiLFNFTEw6InByaWNlX3RhZyIsU0VUVElOR1M6ImdlYXIiLFNFVFRJTkdTX0NBSVJPOiJnZWFyIixTRVRUSU5HU19MSUdIVDoiZ2VhciIsU0VUVElOR1NfTUFURVJJQUw6ImdlYXIiLFNFVFRJTkdTX1JFTU9URToicmVtb3RlX3dhdmVzIixTSEFSRToic2hhcmUiLFNIQVJFX0FSUk9XOiJzaGFyZSIsU0hBUkVfQ0FJUk86InNoYXJlIixTSElFTEQ6InNoaWVsZF94IixTSElFTERfRU1QVFk6InNoaWVsZCIsU0hJRUxEX09GRjoic2hpZWxkX3NsYXNoIiwKU0hJRUxEX1dJVEhfQVZBVEFSOiJwZXJzb25fc2hpZWxkIixTSE9QUElOR19CQUc6ImJhZyIsU0hPUFBJTkdfQkFHX0NBSVJPOiJiYWciLFNIT1BQSU5HX0NBUlQ6ImNhcnQiLFNIT1JUU19DT01NRU5UOiJ0ZXh0X2J1YmJsZSIsU0hPUlRTX0RJU0xJS0U6InRodW1iX2Rvd24iLFNIT1JUU19MSUtFOiJ0aHVtYl91cCIsU0hPUlRTX1NIQVJFOiJzaGFyZSIsU0tJUF9GT1JXQVJEXzMwOiJza2lwMzBfZm9yd2FyZCIsU0xBU0hfQ0lSQ0xFX0xFRlQ6ImNpcmNsZV9zbGFzaCIsU0xBU0hfQ0lSQ0xFX1JJR0hUOiJjaXJjbGVfc2xhc2giLFNMT1dfTU9ERToiYnViYmxlX3Nsb3ciLFNMT1dfTU9ERV9PRkY6InRleHRfYnViYmxlIixTTE9XX01PVElPTl9WSURFTzoicGxheV9jaXJjbGVfaGFsZl9kYXNoZWQiLFNPQ0lBTDoicGVyc29uX2NoaWxkIixTUEFSS0xFOiJzcGFya2xlcyIsU1BBUktfSU1BR0U6ImltYWdlX3NwYXJrIixTUEFSS19MSUdIVEJVTEJfT1VUTElORToic3BhcmtfbGlnaHRidWxiIiwKU1BBUktfUEVOQ0lMOiJwZW5jaWxfc3BhcmsiLFNQQVJLX1JBREFSOiJzcGFya193YXZlcyIsU1BBUktfVklERU86InZpZGVvX3NwYXJrIixTUEVBS0VSX0dST1VQOiJzcGVha2VyX3N0YWNrIixTUEVBS0VSX09GRjoic3BlYWtlcl9zbGFzaCIsU1BFRURfMVg6Im4xeCIsU1BFRURfMV9QT0lOVF8yWDoibjFwb2ludDJ4IixTUEVFRF8xX1BPSU5UXzVYOiJuMXBvaW50NXgiLFNQRUVEXzFfUE9JTlRfOFg6Im4xcG9pbnQ4eCIsU1BFRURfMlg6Im4yeCIsU1BPTlNPUlNISVBfU1RBUjoic3Rhcl9jaXJjbGUiLFNQT1JUUzoiYmFza2V0YmFsbCIsU1BPVExJR0hUOiJzcG90bGlnaHQiLFNUQUZGX1BJQ0s6InNwb3RsaWdodCIsU1RBUlRfRFZSOiJhZGQiLFNUQVJfQk9SREVSOiJzdGFyIixTVEFSX0NJUkNMRV9SSUJCT046Im1lbWJlcnNoaXBzX2dpZnQiLFNUQVJfSEFMRjoic3Rhcl9mdWxsX2hhbGYiLFNUQVJfU0hPT1RJTkc6Imh5cGUiLFNUSUNLRVI6InN0aWNrZXIiLFNUSUNLRVJfRU1PVElDT046ImZhY2VfaGFwcHkiLApTVE9QX0RWUjoic3RvcCIsU1VCU0NSSUJFOiJ5b3V0dWJlIixTVUJTQ1JJQkVfUExVUzoiYWRkIixTVUJTQ1JJUFRJT05fTUFOQUdFUjoiZ2VhciIsU1VQRVJTVEFSOiJzdXBlcl9zdGFyIixTVVBFUlZJU09SX0FDQ09VTlQ6InBlcnNvbl9jaGlsZCIsU1VQRVJfQ0hBVF9GT1JfR09PRDoiaGFuZHNfaGVhcnQiLFNXQVBfSE9SSVo6ImFycm93X3N3YXBfaG9yaXpvbnRhbCIsU1dJVENIX0FDQ09VTlRTOiJwZXJzb25fc3F1YXJlX3N0YWNrIixUQUJfQUNDT1VOVDoicGVyc29uIixUQUJfQUNUSVZJVFk6ImJlbGwiLFRBQl9CT09LTUFSSzoiYm9va21hcmsiLFRBQl9FWFBMT1JFOiJjb21wYXNzIixUQUJfSE9NRToiaG9tZSIsVEFCX0hPTUVfQ0FJUk86ImhvbWUiLFRBQl9JTkJPWDoibWFpbCIsVEFCX0xJS0VEOiJ0aHVtYl91cCIsVEFCX01VU0lDX1BSRU1JVU06InlvdXR1YmVfbXVzaWMiLFRBQl9TSE9SVFM6InNob3J0cyIsVEFCX1NIT1JUU19DQUlSTzoic2hvcnRzIixUQUJfU1VCU0NSSVBUSU9OUzoic3Vic2NyaXB0aW9ucyIsClRBQl9TVUJTQ1JJUFRJT05TX0NBSVJPOiJzdWJzY3JpcHRpb25zIixUQUJfVFJFTkRJTkc6InRyZW5kaW5nIixUQVJHRVQ6InRhcmdldCIsVEFSR0VUX0FERDoidGFyZ2V0X2FkZCIsVEVNUExBVEVfQUREOiJ0ZW1wbGF0ZV9hZGQiLFRFWFQ6ImZvbnQiLFRJQ0tFVF9TVEFSOiJzdGFyX3RpY2tldCIsVElNRVI6InN0b3B3YXRjaCIsVFJFTkRJTkdfQ0FJUk86InRyZW5kaW5nIixUUkVORElOR19ET1dOOiJhcnJvd190cmVuZF9kb3duIixUUkVORElOR19VUDoiYXJyb3dfdHJlbmRfdXAiLFRST1BIWV9DQUlSTzoidHJvcGh5IixUUk9QSFlfQ0VMRUJSQVRJT05TOiJmaXJld29ya3MiLFRST1BIWV9TVEFSOiJzdGFyX3Ryb3BoeSIsVFVORToiYWRqdXN0IixUVl9PRkY6InR2X3NsYXNoIixVTkJMT0NLX1VTRVI6Im1pbnVzX2NpcmNsZSIsVU5GQVZPUklURToidGh1bWJfZG93biIsVU5MSU1JVEVEOiJ5b3V0dWJlIixVTlBMVUdHRURfTElWRV9HVUlERToibGl2ZSIsVU5QTFVHR0VEX1NQT1JUUzoiZXllX3NsYXNoIiwKVVBMT0FEUzoicGxheV9zcXVhcmVfc3RhY2siLFVQX0FSUk9XOiJhcnJvd191cCIsVkVSVElDQUxfQUxJR05fQk9UVE9NOiJjaGV2cm9uX2Rvd25fZW5kIixWRVJUSUNBTF9BTElHTl9UT1A6ImNoZXZyb25fdXBfZW5kIixWRVJZX0hBUFBZOiJmYWNlX3ZlcnlfaGFwcHkiLFZFUllfU0FEOiJmYWNlX3Zlcnlfc2FkIixWSURFT1M6InBsYXlfY2lyY2xlIixWSURFT19DQUxMOiJ2aWRlb19jYW1lcmFfYWRkIixWSURFT19MSUJSQVJZX1dISVRFOiJwbGF5X3NxdWFyZV9zdGFjayIsVklERU9fUVVBTElUWV80SzoibjRrIixWSURFT19RVUFMSVRZXzhLOiJuOGsiLFZJREVPX1lPVVRVQkU6InlvdXR1YmUiLFZJRVdfTElTVF9DQUlSTzoidmlld19saXN0IixWSUVXX01PRFVMRToidmlld19jb2x1bW4zX3JvdzIiLFZJU0lCSUxJVFk6ImV5ZSIsVklTSUJJTElUWV9PRkY6ImV5ZV9zbGFzaCIsVk9MVU1FX0RPV046InZvbHVtZV9taW4iLFZPTFVNRV9NVVRFOiJ2b2x1bWVfbXV0ZSIsVk9MVU1FX09GRjoidm9sdW1lX211dGUiLApWT0xVTUVfU1RBQkxFOiJzdGFibGVfdm9sdW1lIixWT0xVTUVfVVA6InZvbHVtZV9tYXgiLFdBTExQQVBFUjoiaW1hZ2UiLFdBUk5JTkc6ImFsZXJ0X3RyaWFuZ2xlIixXQVRDSF9ISVNUT1JZOiJoaXN0b3J5IixXQVRDSF9ISVNUT1JZX0NBSVJPOiJoaXN0b3J5IixXQVRDSF9MQVRFUjoiY2xvY2siLFdBVENIX0xBVEVSX0NBSVJPOiJjbG9jayIsV0FUQ0hfUkVMQVRFRF9NSVg6Im1peCIsV0hBVF9UT19XQVRDSDoiaG9tZSIsWU9VVFVCRV9DUkVBVEVfUkVEX0xPR086InlvdXR1YmVfY3JlYXRlX2xvZ28iLFlPVVRVQkVfTElOS0VEX1RWOiJ0dl9tb2JpbGUiLFlPVVRVQkVfTVVTSUNfTU9OT0NIUk9NRToieW91dHViZV9tdXNpYyIsWU9VVFVCRV9NVVNJQ19NT05PQ0hST01FX0NBSVJPOiJ5b3V0dWJlX211c2ljIixZT1VUVUJFX1NIT1JUU19BUlJPV19ET1dOOiJhcnJvd19kb3duIixZT1VUVUJFX1NIT1JUU19BUlJPV19VUDoiYXJyb3dfdXAiLFlPVVRVQkVfU0hPUlRTX0ZJTExfTk9fVFJJQU5HTEVfUkVEXzE2OiJzaG9ydHNfZW1wdHkiLApZT1VUVUJFX1NIT1JUU19GSUxMX05PX1RSSUFOR0xFX1dISVRFXzE2OiJzaG9ydHNfZW1wdHkiLFlPVVRVQkVfU0hPUlRTX09VVExJTkVfMjQ6InNob3J0cyIsWU9VVFVCRV9TSE9SVFNfT1VUTElORV9XSVRIX1RFWFRfMjQ6InNob3J0c190ZXh0X2xvZ28iLFlUX09VVExJTkVfTVVTSUNfMjQ6ImF1ZGlvIn07dmFyIFZxYT17MTU6W1sxLDMsMjRdXSwiMV9wb2ludF8yeCI6W1sxLDEsMjRdXSwiMV9wb2ludF81eCI6W1sxLDEsMjRdXSwiMV9wb2ludF84eCI6W1sxLDEsMjRdXSwiMXgiOltbMSwxLDI0XV0sIjJfcG9pbnRfNXgiOltbMSwxLDI0XV0sIjJkIjpbWzEsMSwyNF1dLCIyeCI6W1sxLDMsMjRdXSwiM2QiOltbMSwxLDI0XV0sIjN4IjpbWzEsMywyNF1dLCI0ZCI6W1sxLDEsMjRdXSwiNGsiOltbMCwzLDI0XSxbMSwzLDI0XV0sNjA6W1sxLDMsMjRdXSwiOGsiOltbMCwyLDI0XSxbMSwyLDI0XV0sYWNjZXNzaWJpbGl0eTpbWzEsNCwyNF1dLGFjY291bnRfbGluazpbWzEsOCwyNF1dLGFjY291bnRfbGlua19lcnJvcjpbWzEsNiwyNF1dLGFjY291bnRfbGlua19zb21lOltbMCw1LDI0XV0sYWNjb3VudF9saW5rX3N1Y2Nlc3M6W1swLDUsMjRdXSxhZGQ6W1sxLDksMTZdLFsxLDksMjRdXSxhZGRfY2Fpcm86W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMjRdXSxhZGRfY2lyY2xlOltbMSw2LDI0XSwKWzEsNiwzNl1dLGFkZF9oYWxmX2NpcmNsZTpbWzEsMiwyNF1dLGFkanVzdDpbWzAsOSwyNF0sWzEsOSwxOF0sWzEsOSwyNF1dLGFpcnBsYW5lOltbMCw1LDI0XSxbMSw1LDIwXSxbMSw1LDI0XV0sYWlycGxheTpbWzEsNiwxNl0sWzEsNiwyNF1dLGFpcnBsYXlfb2ZmOltbMSwxLDI0XV0sYWxidW06W1swLDgsMjRdLFsxLDgsMjRdXSxhbGVydF9jaXJjbGU6W1swLDExLDI0XSxbMSwxMSwxNl0sWzEsMTEsMjRdXSxhbGVydF90cmlhbmdsZTpbWzAsMTAsMTJdLFswLDEwLDI0XSxbMSwxMCwyNF1dLGFsaWduX2NlbnRlcjpbWzAsNiwyNF0sWzEsNiwyNF1dLGFsaWduX2xlZnQ6W1swLDYsMjRdLFsxLDYsMjRdXSxhbGlnbl9yaWdodDpbWzAsNiwyNF0sWzEsNiwyNF1dLGFycm93X2NhcHM6W1swLDIsMjRdLFsxLDIsMjRdXSxhcnJvd19jaXJjbGU6W1sxLDYsMjRdLFsxLDYsNDhdXSxhcnJvd19jaXJjbGVfZGFzaDpbWzEsMSwyNF1dLGFycm93X2NpcmNsZV9wbGF5OltbMSwxLDI0XSxbMSwxLAozNl0sWzEsMSw0OF1dLGFycm93X2NpcmNsZV9yaWdodDpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywxNl0sWzEsMywxOF0sWzEsMywyNF1dLGFycm93X2RpYWdvbmFsOltbMSw1LDI0XV0sYXJyb3dfZGlhZ29uYWxfZG93bl9yaWdodDpbWzAsMSwxMl0sWzAsMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxMl0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLGFycm93X2RpYWdvbmFsX3VwX3JpZ2h0OltbMCwxLDEyXSxbMCwxLDE2XSxbMCwxLDE4XSxbMCwxLDI0XSxbMSwxLDEyXSxbMSwxLDE2XSxbMSwxLDE4XSxbMSwxLDI0XV0sYXJyb3dfZG93bjpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X2Rvd25fY2lyY2xlOltbMCw0LDEyXSxbMCw0LDE2XSxbMCw0LDE4XSxbMCw0LDI0XV0sYXJyb3dfZmxpcDpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLGFycm93X2ZsaXBfZG9sbGFyX3NpZ246W1sxLDIsMjRdXSxhcnJvd19pbjpbWzAsOCwyNF0sWzEsOCwyNF1dLGFycm93X2xlZnQ6W1sxLAo4LDI0LCEwXV0sYXJyb3dfbGVmdF9jYWlybzpbWzEsMiwyNCwhMF1dLGFycm93X21lcmdlOltbMSwyLDI0XV0sYXJyb3dfb3V0OltbMCwyLDI0XV0sYXJyb3dfcGF1c2U6W1sxLDEsMjRdXSxhcnJvd19yZWRvOltbMSwxLDI0XV0sYXJyb3dfcmVtaXg6W1sxLDEsMjRdXSxhcnJvd19yZXBlYXQ6W1swLDUsMjRdLFsxLDUsMjRdXSxhcnJvd19yZXBlYXRfMTpbWzAsMywyNF0sWzEsMywyNF1dLGFycm93X3JpZ2h0OltbMSwzLDI0LCEwXV0sYXJyb3dfc2h1ZmZsZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGFycm93X3NraXBfZm9yd2FyZDpbWzAsMSwyNF0sWzEsMSwyNF1dLGFycm93X3NvbGlkX2Rvd246W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMTZdLFsxLDQsMjRdXSxhcnJvd19zb2xpZF91cDpbWzAsNCwxNl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLGFycm93X3NwbGl0OltbMCwzLDI0XSxbMSwzLDI0XV0sYXJyb3dfc3dhcF9ob3Jpem9udGFsOltbMCw1LDI0XSxbMSw1LDE4XSwKWzEsNSwyNF1dLGFycm93X3RpbWU6W1swLDgsMjRdLFsxLDgsMjRdXSxhcnJvd190aW1lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfdGltZV9mb3J3YXJkOltbMSwxLDI0XV0sYXJyb3dfdW5kbzpbWzEsMSwyNF1dLGFycm93X3VwOltbMCwzLDI0XSxbMSwzLDI0XV0sYXJyb3dfdXBfY2lyY2xlOltbMCw0LDEyXSxbMCw0LDE2XSxbMCw0LDE4XSxbMCw0LDI0XV0sYXJyb3dzX2FsZXJ0OltbMSwxLDI0XV0sYXJ0aWNsZTpbWzEsMiwyNF1dLGFydGljbGVfYWxlcnQ6W1sxLDIsMjRdXSxhcnRpY2xlX2NoZWNrOltbMSwyLDI0XV0sYXJ0aWNsZV9jbGFyaWZ5OltbMSwyLDI0XV0sYXVkaW86W1swLDE0LDEyXSxbMCwxNCwxNl0sWzAsMTQsMThdLFswLDE0LDI0XSxbMSwxNCwxOF0sWzEsMTQsMjRdXSxhdWRpb19iYWRnZTpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF1dLGF1ZGlvX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYXVkaW9fb2ZmOltbMSwyLDI0XV0sYXVkaW9fc3Vycm91bmQ6W1swLAoxLDI0XSxbMSwxLDI0XV0sYmFja2dyb3VuZDpbWzEsMSwyNF1dLGJhY2tzcGFjZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGJhZzpbWzAsNywxMl0sWzAsNywxOF0sWzAsNywyNF0sWzEsNywxOF0sWzEsNywyNF1dLGJhZ19ib29rbWFyazpbWzEsMiwyNF1dLGJhZ19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGJhcl9jaXJjbGU6W1sxLDQsMjRdXSxiYXJfZ3JhcGg6W1swLDIsMjRdLFsxLDIsMjRdXSxiYXJfZ3JhcGhfYm94X3ZlcnRpY2FsOltbMCw2LDI0XSxbMSw2LDI0XV0sYmFyX2hvcml6b250YWw6W1sxLDIsMTZdLFsxLDIsMjRdXSxiYXJzXzI6W1sxLDksMTZdLFsxLDksMjRdXSxiYXJzXzM6W1swLDIsMjRdLFsxLDIsMjRdXSxiZWFrZXI6W1sxLDIsMjRdXSxiZWxsOltbMCwxMSwyNF0sWzEsMTEsMjRdXSxiZWxsX2NhaXJvOltbMCwzLDI0XSxbMSwzLDI0XV0sYmVsbF9vZmY6W1sxLDUsMjRdXSxiZWxsX29mZl9jYWlybzpbWzEsMiwyNF1dLGJlbGxfb246W1swLDcsMjRdXSxiZWxsX29uX2NhaXJvOltbMCwKMiwyNF1dLGJsdXI6W1sxLDIsMjRdXSxib29rOltbMSwzLDI0XV0sYm9va21hcms6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGJvb2ttYXJrX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sYm94XzNkOltbMCwxLDI0XSxbMSwxLDI0XV0sYm94X2JhcjpbWzAsMywyNF1dLGJveF9jaGVjazpbWzAsNiwxOF0sWzAsNiwyNF0sWzAsNiwzNl0sWzEsNiwyNF1dLGJveF9jaGV2cm9uX3JpZ2h0OltbMSwzLDI0XV0sYm94X2Rhc2hlZF90cmlhbmdsZTpbWzEsMywyNF1dLGJveF9lbXB0eTpbWzEsNSwyNF1dLGJveF9vcGVuX2NoZWNrOltbMCw0LDI0XSxbMSw0LDE2XSxbMSw0LDI0XV0sYm94X3BlbmNpbDpbWzEsMywxNl0sWzEsMywyNF1dLGJveF9wbGFjZWhvbGRlcl9sZWZ0OltbMSwxLDI0XV0sYm94X3NlYXJjaDpbWzEsMSwyNF1dLGJveF9zdGFja18zOltbMCwxLDI0XSxbMSwxLDI0XV0sYm94ZXNfMjpbWzEsMywyNF1dLGJyaWVmY2FzZTpbWzEsMiwyNF1dLGJyaWVmY2FzZV9zbGFzaDpbWzAsCjMsMjRdXSxicmlnaHRuZXNzOltbMCwzLDI0XSxbMSwzLDI0XV0sYnJvYWRjYXN0OltbMCwzLDI0XSxbMSwzLDEyXSxbMSwzLDE2XSxbMSwzLDE4XSxbMSwzLDI0XSxbMSwzLDQ4XV0sYnVnOltbMCw0LDI0XSxbMSw0LDI0XV0sYnVzaW5lc3M6W1sxLDQsMjRdXSxjYWJsZTpbWzEsMiwyNF1dLGNhbGN1bGF0b3I6W1swLDMsMjRdLFsxLDMsMjRdXSxjYWxlbmRhcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhbWVyYTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sY2FtZXJhX2F1ZGlvOltbMSw1LDI0XV0sY2FtZXJhX2VmZmVjdHM6W1sxLDQsMjRdXSxjYW1lcmFfZmxpcDpbWzEsNCwyNF1dLGNhbWVyYV9oYXNodGFnOltbMSw1LDI0XV0sY2FtZXJhX3N3aXRjaDpbWzAsMywyNF0sWzEsMywyNF1dLGNhcmQ6W1swLDMsMTJdLFswLDMsMTZdLFswLDMsMjRdXSxjYXJ0OltbMCw0LDI0XSxbMSw0LDI0XV0sY2FydF9zcGFyazpbWzEsMSwyNF1dLGNhdDpbWzAsMywyNF0sWzEsMywyNF1dLGNlbGVicmF0aW9uOltbMSwKMiwyNF1dLGNoZWNrOltbMCwxMywxMl0sWzAsMTMsMTZdLFswLDEzLDI0XSxbMSwxMywxNl0sWzEsMTMsMjRdXSxjaGVja19jaXJjbGU6W1swLDEwLDE4XSxbMCwxMCwyNF0sWzEsMTAsMjRdXSxjaGVja19kb3VibGU6W1sxLDEsMjRdXSxjaGVja19kb3VibGVfb2ZmOltbMSwxLDI0XV0sY2hldnJvbl9jb2xsYXBzZTpbWzEsMywyNF1dLGNoZXZyb25fZG93bjpbWzEsOSwxOF0sWzEsOSwyNF1dLGNoZXZyb25fZG93bl9jYWlybzpbWzEsMiwyNF1dLGNoZXZyb25fZG93bl9jaXJjbGU6W1swLDMsMjRdXSxjaGV2cm9uX2V4cGFuZDpbWzEsNSwyNF1dLGNoZXZyb25fZmlyc3Q6W1sxLDEsMjRdXSxjaGV2cm9uX2xhc3Q6W1sxLDEsMjRdXSxjaGV2cm9uX2xlZnQ6W1sxLDksMTYsITBdLFsxLDksMTgsITBdLFsxLDksMjQsITBdXSxjaGV2cm9uX2xlZnRfY2lyY2xlOltbMCwzLDI0XV0sY2hldnJvbl9sZWZ0X2lvczpbWzEsMywyNF1dLGNoZXZyb25fbGVmdF9pb3NfY2Fpcm86W1sxLDIsMjRdXSwKY2hldnJvbl9yaWdodDpbWzAsNywxNiwhMF0sWzAsNywxOCwhMF0sWzAsNywyNCwhMF0sWzEsNywxNiwhMF0sWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLGNoZXZyb25fcmlnaHRfY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX3JpZ2h0X2NpcmNsZTpbWzAsMywyNF1dLGNoZXZyb25fcmlnaHRfaW9zOltbMSwxLDI0XV0sY2hldnJvbl91cDpbWzEsOSwxNl0sWzEsOSwxOF0sWzEsOSwyNF1dLGNoZXZyb25fdXBfY2Fpcm86W1sxLDIsMjRdXSxjaGV2cm9uX3VwX2NpcmNsZTpbWzAsMywyNF1dLGNocm9tZWNhc3Q6W1swLDExLDI0XSxbMSwxMSwyNF1dLGNocm9tZWNhc3RfYW5pbWF0ZV9mcmFtZV8xOltbMSw1LDI0XV0sY2hyb21lY2FzdF9hbmltYXRlX2ZyYW1lXzI6W1sxLDUsMjRdXSxjaHJvbWVjYXN0X2FuaW1hdGVfZnJhbWVfMzpbWzEsNSwyNF1dLGNocm9tZWNhc3RfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxjaHJvbWVjYXN0X21vYmlsZTpbWzEsNCwyNF0sWzEsNCwzNl1dLGNocm9tZWNhc3Rfd2F2ZWZvcm06W1sxLAoyLDI0XV0sY2lyY2xlOltbMCw5LDI0XSxbMSw5LDI0XV0sY2lyY2xlX2Z1bGw6W1swLDMsMjRdXSxjaXJjbGVfaGFsZl9mdWxsOltbMSwxLDI0XV0sY2lyY2xlc182OltbMCwxLDI0XV0sY2lyY2xlc19vdmVybGFwOltbMCwxLDI0XSxbMSwxLDI0XV0sY2lyY2xlc19vdmVybGFwX2NoZWNrOltbMCwxLDE2XSxbMCwxLDI0XV0sY2xhcHBlcmJvYXJkOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xhcHBlcmJvYXJkX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2s6W1swLDEwLDI0XSxbMSwxMCwxNl0sWzEsMTAsMjRdXSxjbG9ja19hcnJvd3M6W1sxLDEsMjRdXSxjbG9ja19hcnJvd3NfYWxlcnQ6W1sxLDEsMjRdXSxjbG9ja19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNsb2NrX2hhbGZfY2lyY2xlOltbMCwxLDI0XSxbMSwxLDI0XV0sY2xvc2VkX2NhcHRpb246W1swLDExLDI0XSxbMSwxMSwyNF1dLGNsb3VkOltbMSwyLDI0XV0sY2xvdWRfYXJyb3dfZG93bjpbWzEsMywyNF1dLGNsb3VkX2Fycm93X3VwOltbMCwKNiwyNF0sWzEsNiwyNF1dLGNsb3VkX2NoZWNrOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfZWxsaXBzaXM6W1swLDMsMjRdLFsxLDMsMjRdXSxjbG91ZF9vZmY6W1sxLDIsMjRdXSxjb2RlOltbMSwyLDI0XV0sY29tcGFzczpbWzAsOSwyNF0sWzEsOSwyNF1dLGNvbXBhc3NfY2Fpcm86W1swLDEsMjRdLFsxLDEsMjRdXSxjb250cm9sbGVyOltbMCwyLDI0XSxbMSwyLDI0XV0sY29weTpbWzEsMywyNF1dLGNvcHlyaWdodDpbWzAsNCwyNF0sWzEsNCwyNF1dLGNyZWF0b3JfYWNhZGVteTpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF0sWzEsMywyNF1dLGNyZWF0b3JfYWNhZGVteV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGNyZWRpdF9jYXJkOltbMSw0LDI0XV0sY3JvcDpbWzEsNCwxNl0sWzEsNCwyNF1dLGNyb3Bfcm90YXRlOltbMSwyLDI0XV0sY3Jvd246W1swLDUsMTZdLFswLDUsMjRdLFsxLDUsMTJdLFsxLDUsMTZdLFsxLDUsMjRdXSxjdWJlX3NwYXJrOltbMSwxLDI0XV0sCmN1cnZlX3M6W1swLDEsMjRdXSxkYXNoYm9hcmRfcGx1czpbWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyMF0sWzEsMSwyNF1dLGRpZV8zOltbMCw1LDI0XSxbMSw1LDI0XV0sZGlyZWN0aW9uczpbWzEsMywyNF1dLGRvZ2Zvb2Q6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbjpbWzAsNywyNF0sWzEsNywyNF1dLGRvbGxhcl9zaWduX2NpcmNsZTpbWzAsMTIsMTZdLFswLDEyLDI0XSxbMSwxMiwxNl0sWzEsMTIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGF1c2U6W1sxLDIsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfcGx1czpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NvbnRhaW5lcjpbWzEsNywyNF1dLGRvbGxhcl9zaWduX2hlYXJ0OltbMCwyNCwxMl0sWzAsMjQsMjRdLFsxLDI0LDE2XSxbMSwyNCwyNF1dLGRvbGxhcl9zaWduX29mZjpbWzEsMywyNF1dLGRvdDpbWzAsMiwxMl0sWzAsMiwyNF1dLGRvd25sb2FkOltbMCwxMSwyNF0sWzEsMTEsMTZdLFsxLDExLDI0XV0sZG93bmxvYWRfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0sZG93bmxvYWRlZDpbWzAsOCwyNF1dLGRvd25sb2FkaW5nOltbMSw1LDI0XV0sZG93bmxvYWRpbmdfMDpbWzEsNSwyNF1dLGRvd25sb2FkaW5nXzE6W1sxLDYsMjRdXSxkb3dubG9hZGluZ18yOltbMSw2LDI0XV0sZG93bmxvYWRpbmdfMzpbWzEsNiwyNF1dLGRvd25sb2FkaW5nXzQ6W1sxLDYsMjRdXSxkb3dubG9hZGluZ181OltbMSw3LDI0XV0sZG93bmxvYWRpbmdfNjpbWzEsNiwyNF1dLGRyaXZlX2FkZDpbWzEsMiwyNF1dLGVhcnRoOltbMCwxMiwyNF0sWzEsMTIsMTZdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLGV4cGxpY2l0OltbMCw3LDE4XSxbMCw3LDI0XSxbMSw3LDI0XV0sZXllOltbMCw2LDI0XSxbMSw2LDI0XV0sZXllX29mZjpbWzEsNCwyNF1dLGV5ZWRyb3BwZXI6W1sxLDIsMjRdXSxmYWNlX2FkZDpbWzEsMSwyNF1dLGZhY2VfYXJyb3dzX2RpYWdvbmFsOltbMSwxLDI0XV0sZmFjZV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sClsxLDEyLDM2XV0sZmFjZV9pbWFnZTpbWzEsMiwyNF1dLGZhY2VfbWVoOltbMCwxMCwyNF0sWzAsMTAsMzZdLFsxLDEwLDI0XSxbMSwxMCwzNl1dLGZhY2VfbWVoXzI6W1swLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdLFsxLDYsMzZdXSxmYWNlX3BhaW50YnJ1c2g6W1sxLDIsMjRdXSxmYWNlX3NhZDpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMSwxMiwyNF0sWzEsMTIsMzZdXSxmYWNlX3VuaGFwcHk6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV91cHNldDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYWNlX3ZlcnlfaGFwcHk6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV92ZXJ5X3NhZDpbWzAsMTAsMjRdLFswLDEwLDM2XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxmYXNoaW9uOltbMCw0LDI0XSxbMSw0LDI0XV0sZmFzaGlvbl9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGZhc3RfYmFjazpbWzAsCjMsMjRdLFsxLDMsMjRdXSxmYXN0X2ZvcndhcmQ6W1swLDUsMjRdXSxmaWxtX3N0cmlwOltbMCw3LDI0XSxbMSw3LDI0XV0sZmlsbV9zdHJpcF9hZGQ6W1sxLDIsMjRdXSxmaWx0ZXJfZmFjZTpbWzAsNSwyNF0sWzEsNSwyNF1dLGZpbHRlcl9waG90bzpbWzAsOCwyNF0sWzEsOCwyNF1dLGZpcmU6W1swLDEwLDEyXSxbMCwxMCwyNF0sWzEsMTAsMTZdLFsxLDEwLDI0XV0sZmlyZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGZpcmV3b3JrczpbWzEsMywyNF1dLGZsYWc6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZsYWdfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxmbGFzaF9hdXRvOltbMCwzLDI0XSxbMSwzLDI0XV0sZmxhc2hfY2lyY2xlOltbMCw1LDE4XSxbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfb2ZmOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfb246W1swLDUsMjRdLFsxLDUsMjRdXSxmbGlwX2hvcml6b250YWw6W1sxLDQsMjRdXSxmbGlwX2hvcml6b250YWxfZGFzaDpbWzEsCjEsMjRdXSxmbGlwX3ZlcnRpY2FsX2Rhc2g6W1sxLDEsMjRdXSxmb2xkZXI6W1swLDQsMTZdLFswLDQsMjRdLFsxLDQsMjRdXSxmb250X3NxdWFyZV9zcGFyazpbWzEsMSwxNl0sWzEsMSwyNF1dLGZvb3RiYWxsOltbMCw0LDI0XSxbMSw0LDI0XV0sZ2FtaW5nOltbMCwzLDI0XSxbMSwzLDI0XV0sZ2FtaW5nX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2VhcjpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZ2Vhcl9jYWlybzpbWzAsMywyNF0sWzEsMywyNF1dLGdob3N0OltbMCw1LDI0XSxbMSw1LDI0XV0sZ2lmOltbMSwzLDI0XV0sZ2lmdDpbWzAsMywyNF0sWzEsMywyNF1dLGdsb2JlOltbMCw0LDI0XSxbMCw0LDM2XSxbMSw0LDI0XSxbMSw0LDM2XV0sZ2xvYmVfaW1hZ2U6W1swLDMsMjRdLFswLDMsMzZdLFsxLDMsMjRdLFsxLDMsMzZdXSxnbG93OltbMSwyLDI0XV0sZ29vZ2xlX2xlbnM6W1sxLDQsMjRdXSxncmVhdGVyX3RoYW5fMjA6W1sxLDIsMjRdXSxncmlkXzJ4MjpbWzEsMSwyNF1dLApncmlkXzNfYnlfMzpbWzAsMSwyNF0sWzEsMSwyNF1dLGdyaWRfYXN5bW1ldHJpY2FsOltbMCwxLDI0XSxbMSwxLDI0XV0saGFuZDpbWzEsMiwyNF1dLGhhbmRfbG9uZ19wcmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGhhbmRfcGluY2hfaW46W1sxLDIsMjRdXSxoYW5kX3N3aXBlX2xlZnQ6W1sxLDEsMjRdXSxoYW5kX3N3aXBlX3JpZ2h0OltbMSwyLDI0XV0saGFuZF90YXA6W1swLDIsMjRdLFsxLDIsMjRdXSxoYW5kX3dhdmU6W1sxLDIsMjRdXSxoYW5kc19oZWFydDpbWzAsMywyNF0sWzEsMywyNF1dLGhhc2h0YWc6W1sxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjBdLFsxLDIsMjRdXSxoZDpbWzAsOCwyNF0sWzEsOCwyNF1dLGhlYWRzZXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFydDpbWzAsMTksMTNdLFswLDE5LDI0XSxbMSwxOSwxNl0sWzEsMTksMjRdXSxoZWFydF9ib3g6W1sxLDEsMjRdXSxoZWFydF9jaXJjbGU6W1sxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjBdLFsxLDIsMjRdXSwKaGVhcnRfb2ZmOltbMSwyLDI0XV0saGllcmFyY2h5OltbMCw0LDI0XSxbMSw0LDI0XV0saGlnaGxpZ2h0czpbWzEsMiwyNF1dLGhvbWU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGhvbWVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxob3VyZ2xhc3M6W1sxLDMsMTZdLFsxLDMsMjRdXSxpbWFnZTpbWzAsOCwyNF0sWzEsOCwyNF1dLGltYWdlX2FkZDpbWzEsNCwyNF1dLGltYWdlX3dhbGxwYXBlcjpbWzEsMSwyNF1dLGluY29nbml0bzpbWzAsOSwyNF0sWzEsOSwyNF1dLGluY29nbml0b19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGluZmluaXRlOltbMCwyLDI0XV0saW5maW5pdHk6W1sxLDIsMjRdXSxpbmZvX2NpcmNsZTpbWzEsMTEsMTZdLFsxLDExLDE4XSxbMSwxMSwyMF0sWzEsMTEsMjRdXSxpbmZvX2NpcmNsZV9zcGFyazpbWzEsMiwyNF1dLGpvdXJuZXk6W1sxLDIsMjRdXSxrZXk6W1sxLDUsMjRdXSxrZXlib2FyZDpbWzAsNCwyNF0sWzEsNCwyNF1dLGxhYmVsOltbMCw0LDI0XSwKWzEsNCwyNF1dLGxhcHRvcDpbWzEsMywyNF1dLGxhcHRvcF9tb2JpbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxsYXllcnM6W1swLDEsMjRdLFsxLDEsMjRdXSxsZWFmOltbMSwyLDI0XV0sbGVuczpbWzEsMSwyNF1dLGxlc3NfdGhhbl80OltbMSwyLDI0XV0sbGlicmFyeTpbWzAsNywyNF0sWzEsNywyNF1dLGxpYnJhcnlfYWRkOltbMSw3LDE2XSxbMSw3LDI0XV0sbGlicmFyeV9pbWFnZTpbWzEsMSwyNF1dLGxpYnJhcnlfbXVzaWM6W1swLDMsMjRdLFsxLDMsMjRdXSxsaWJyYXJ5X3NhdmVkOltbMCw3LDI0XV0sbGlnaHRidWxiOltbMCw0LDEyXSxbMCw0LDI0XSxbMSw0LDI0XV0sbGlnaHRidWxiX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sbGlnaHRidWxiX3NwYXJrOltbMSwyLDI0XV0sbGluazpbWzEsOCwxOF0sWzEsOCwyNF1dLGxpbmtfb2ZmOltbMSwxLDI0XV0sbGlzdF9hZGQ6W1sxLDUsMjRdXSxsaXN0X2NoZWNrOltbMCwyLDI0XV0sbGlzdF9tdXNpYzpbWzEsMywyNF1dLGxpc3RfcGVuY2lsOltbMSwKNSwyNF1dLGxpc3RfcGxheV9hcnJvdzpbWzAsOCwyNF0sWzEsOCwxMl0sWzEsOCwyNF1dLGxpc3RfcGxheV9hcnJvd19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpc3RfcXVldWU6W1sxLDEsMjRdXSxsaXN0X3F1ZXVlX2xhc3Q6W1swLDMsMjRdLFsxLDMsMjRdXSxsaXN0X3F1ZXVlX25leHQ6W1sxLDEsMjRdXSxsaXN0X3JlbW92ZTpbWzEsMSwyNF1dLGxpc3RfdmlldzpbWzEsMiwyNF1dLGxpc3Rfdmlld19jYWlybzpbWzEsMiwyNF1dLGxpdmVfbW9iaWxlX2xhbmRzY2FwZV9vcmllbnRhdGlvbjpbWzEsMSwyNF1dLGxpdmVfcGhvdG86W1sxLDIsMjRdXSxsaXZlX3dhdmVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbG9jYXRpb25fcG9pbnQ6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMjRdXSxsb2NhdGlvbl9wb2ludF9vZmY6W1sxLDEsMjRdXSxsb2NrOltbMCwxMywxMl0sWzAsMTMsMjRdLFsxLDEzLDEyXSxbMSwxMywxNl0sWzEsMTMsMThdLFsxLDEzLDI0XV0sbG9ja19vcGVuOltbMSwKNCwyNF1dLG1hZ2ljX3dhbmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxtYWlsOltbMCw5LDI0XSxbMSw5LDI0XV0sbWFwOltbMSwzLDI0XV0sbWF0aF9hZGQ6W1swLDMsMjRdXSxtYXRoX2FuZDpbWzAsMywyNF1dLG1hdGhfZGl2aWRlOltbMCwzLDI0XV0sbWF0aF9lcXVhbHM6W1swLDMsMjRdXSxtYXRoX2VxdWFsc19zbGFzaDpbWzEsMywyNF1dLG1hdGhfZ3JlYXRlcl90aGFuOltbMCwzLDI0XV0sbWF0aF9ncmVhdGVyX3RoYW5fb3JfZXF1YWw6W1sxLDEsMjRdXSxtYXRoX2xlc3NfdGhhbjpbWzAsMywyNF1dLG1hdGhfbGVzc190aGFuX29yX2VxdWFsOltbMSw0LDI0XV0sbWF0aF9tdWx0aXBseTpbWzAsMywyNF1dLG1hdGhfb3I6W1swLDMsMjRdXSxtYXRoX3BlcmNlbnQ6W1swLDMsMjRdXSxtYXRoX3N1YnRyYWN0OltbMCwzLDI0XV0sbWF4aW1pemVfY2Fpcm86W1sxLDEsMjRdXSxtZWRhbDpbWzEsMiwyNF1dLG1lZGFsX3N0YXI6W1sxLDIsMjRdXSxtZWV0OltbMSwxLDI0XV0sbWVnYXBob25lOltbMCwKNSwyNF0sWzEsNSwyNF1dLG1lbWJlcnNoaXBzOltbMCw5LDEyXSxbMCw5LDE2XSxbMCw5LDE4XSxbMCw5LDI0XSxbMSw5LDI0XV0sbWVudGlvbjpbWzEsNSwxNl0sWzEsNSwyNF1dLG1lbnVfZmlsdGVyOltbMCwxLDI0XSxbMSwxLDI0XV0sbWVudV9zb3J0OltbMSw0LDI0XV0sbWVzc2FnZV9idWJibGVfYWxlcnQ6W1swLDYsMjRdLFsxLDYsMjRdXSxtZXNzYWdlX2J1YmJsZV9hbGVydF9jYWlybzpbWzEsMiwyNF1dLG1lc3NhZ2VfYnViYmxlX2VtcHR5OltbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfZ2VhcjpbWzEsMSwyNF1dLG1lc3NhZ2VfYnViYmxlX2xlZnQ6W1swLDEsMjRdLFsxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9sZWZ0X2Jvb3N0OltbMSwxLDI0XV0sbWVzc2FnZV9idWJibGVfbGVmdF9vZmY6W1sxLDEsMTZdLFsxLDEsMjRdXSxtZXNzYWdlX2J1YmJsZV9vdmVybGFwOltbMCw4LDI0XSxbMSw4LDI0XV0sbWVzc2FnZV9idWJibGVfcXVlc3Rpb246W1swLDIsMTZdLFswLDIsCjI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sbWVzc2FnZV9idWJibGVfcmlnaHQ6W1swLDE0LDI0XSxbMCwxNCwzMl0sWzEsMTQsMTZdLFsxLDE0LDI0XV0sbWVzc2FnZV9idWJibGVfcmlnaHRfY2FwdGlvbjpbWzEsMSwyNF1dLG1pYzpbWzAsMTQsMjRdLFsxLDE0LDI0XV0sbWljX29mZjpbWzEsMiwyNF1dLG1pbmlwbGF5ZXJfZXhpdDpbWzEsMSwyNF1dLG1vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLG1vYmlsZV9jaGVjazpbWzEsMiwyNF1dLG1vYmlsZV9kb3dubG9hZDpbWzEsMywyNF1dLG1vYmlsZV9sYW5kc2NhcGU6W1sxLDMsMjRdXSxtb2JpbGVfc2NyZWVuX2hvcml6b250YWw6W1sxLDEsMjRdXSxtb2JpbGVfc2NyZWVuX3ZlcnRpY2FsOltbMSwxLDI0XV0sbW9uZXlfaGFuZDpbWzEsMiwyNF1dLG1vbml0b3JfZGlzcGxheTpbWzAsNCwxNl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLG1vbml0b3JfZGlzcGxheV9vZmY6W1sxLDEsMjRdXSxtb29uX3o6W1swLDEsMjRdLFsxLAoxLDI0XV0sbW90aW9uOltbMSwyLDI0XV0sbW92ZTpbWzEsNCwyNF1dLG11c2ljOltbMCw2LDI0XSxbMSw2LDE2XSxbMSw2LDE4XSxbMSw2LDI0XV0sbXVzaWNfb2ZmOltbMSwzLDI0XV0sbXVzaWNfc2Npc3NvcnM6W1sxLDMsMjRdXSxtdXNpY19zaGFwZTpbWzEsMywyNF1dLG11c2ljX3ZpZGVvOltbMSw0LDI0XV0sbXVzaWNfdmlkZW9fb2ZmOltbMSwxLDI0XV0sbXlfdmlkZW9zOltbMSw2LDI0XV0sbXlfdmlkZW9zX2NhaXJvOltbMSwyLDI0XV0sbmV3czpbWzAsMywyNF0sWzEsMywxMl0sWzEsMywyNF1dLG5ld3NfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxub2RlX2xlZnQ6W1sxLDIsMjRdXSxub2RlX3JpZ2h0OltbMSwyLDI0XV0sbm90ZTpbWzAsMSwxNl0sWzAsMSwyNF0sWzEsMSwxNl0sWzEsMSwyNF1dLG5vdGVfYWRkOltbMSwxLDE2XSxbMSwxLDI0XV0sbm90ZV9zcGFyazpbWzAsMiwxNl0sWzAsMiwyNF0sWzEsMiwxNl0sWzEsMiwyNF1dLG9kb21ldGVyOltbMCw0LDI0XSwKWzEsNCwyNF1dLG9wZW5fbmV3OltbMCw3LDI0XSxbMSw3LDEyXSxbMSw3LDI0XV0sb3ZlcmZsb3dfaG9yaXpvbnRhbDpbWzEsNiwyNF0sWzEsNiwzMl1dLG92ZXJmbG93X3ZlcnRpY2FsOltbMSwxMywyNF1dLG92ZXJmbG93X3ZlcnRpY2FsX2NhaXJvOltbMSwxLDI0XV0scGFpbnRfYnVja2V0OltbMSwzLDI0XV0scGFsZXR0ZTpbWzEsMSwyNF1dLHBhbmVsczpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhcGVyX2Nvcm5lcl9mb2xkZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSxwYXBlcl9vcGVuX2luX25ldzpbWzAsMSwyNF0sWzEsMSwyNF1dLHBhdXNlOltbMCw5LDI0XV0scGF1c2VfY2lyY2xlOltbMCwyLDEyXSxbMCwyLDE2XSxbMCwyLDI0XV0scGRmOltbMSwyLDI0XV0scGVuY2lsOltbMSwxMCwxNl0sWzEsMTAsMThdLFsxLDEwLDI0XV0scGVvcGxlOltbMCw2LDEyXSxbMCw2LDI0XSxbMSw2LDI0XV0scGVvcGxlXzI6W1swLDEsMjRdLFsxLDEsMjRdXSxwZW9wbGVfZ3JvdXA6W1swLDQsMjRdLApbMSw0LDE2XSxbMSw0LDI0XV0scGVvcGxlX25vdGU6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMjRdXSxwZXJzb246W1swLDcsMTJdLFswLDcsMTNdLFswLDcsMTZdLFswLDcsMjRdLFswLDcsNDhdLFsxLDcsMTNdLFsxLDcsMTZdLFsxLDcsMjRdXSxwZXJzb25fMjpbWzEsMSwyNF1dLHBlcnNvbl9hY2NvdW50OltbMSw2LDI0XV0scGVyc29uX2FjY291bnRfY2Fpcm86W1sxLDEsMjRdXSxwZXJzb25fYWRkOltbMSw3LDI0XV0scGVyc29uX2JveDpbWzEsNSwyNF1dLHBlcnNvbl9jaXJjbGU6W1swLDEwLDI0XSxbMSwxMCwyNF1dLHBlcnNvbl9jaXJjbGVfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxwZXJzb25fY2lyY2xlX3NsYXNoOltbMSwyLDI0XV0scGVyc29uX21pbnVzOltbMCwxLDI0XSxbMSwxLDI0XV0scGVyc29uX211c2ljOltbMCw0LDI0XSxbMSw0LDI0XV0scGVyc29uX3JhZGFyOltbMCw3LDEyXSxbMCw3LDI0XSxbMSw3LDE2XSxbMSw3LDE4XSxbMSw3LDI0XV0scGVyc29uX3NldHRpbmc6W1sxLAo2LDI0XV0scGVyc29uX3NoaWVsZDpbWzEsOCwyNF1dLHBlcnNvbl9zcXVhcmVfc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fd2F2ZWZvcm06W1sxLDIsMjRdXSxwaG9uZTpbWzAsMywyNF0sWzEsMywyNF1dLHBpY3R1cmVfaW5fcGljdHVyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBpY3R1cmVfaW5fcGljdHVyZV9jb21iaW5lOltbMSwxLDI0XV0scGluOltbMCw3LDEyXSxbMCw3LDI0XSxbMSw3LDE2XSxbMSw3LDI0XV0scGluX29mZjpbWzEsMSwyNF1dLHBsYXlfYXJyb3c6W1swLDcsMjRdLFsxLDcsMjRdXSxwbGF5X2Fycm93X2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHBsYXlfYXJyb3dfZGlzYWJsZWQ6W1swLDEsMTJdLFswLDEsMjRdXSxwbGF5X2Fycm93X2hhbGZfY2lyY2xlOltbMCw1LDI0XSxbMSw1LDI0XV0scG9kY2FzdDpbWzAsNiwyNF0sWzEsNiwxMl0sWzEsNiwxNl0sWzEsNiwxOF0sWzEsNiwyNF1dLHBvZGNhc3RfYWRkOltbMCwyLDI0XSxbMSwyLDI0XV0sCnBvZGNhc3RfY2Fpcm86W1swLDIsMjRdLFsxLDIsMjRdXSxwb2RjYXN0X2NoZWNrOltbMCwyLDI0XV0scG9pbnRfMng6W1sxLDEsMjRdXSxwb2ludF8zeDpbWzEsMywyNF1dLHBvaW50XzV4OltbMSwzLDI0XV0scG9pbnRfOHg6W1sxLDEsMjRdXSxwb2xsOltbMSwxMCwxNl0sWzEsMTAsMjRdLFsxLDEwLDQwXV0scG91bmQ6W1sxLDMsMjRdXSxwcmVzZW50YXRpb246W1sxLDMsMjRdXSxwcmVzZW50YXRpb25fcmVtb3ZlOltbMSwxLDI0XV0scHJpY2VfdGFnOltbMCw4LDEyXSxbMCw4LDI0XSxbMSw4LDI0XV0scHJpY2VfdGFnX2hlYXJ0OltbMSwyLDI0XV0scXJfY29kZTpbWzEsMywyNF1dLHF1ZXN0aW9uX2NpcmNsZTpbWzEsNSwyNF1dLHF1ZXN0aW9uX2NpcmNsZV9jYWlybzpbWzEsMiwyNF1dLHF1ZXN0aW9uX2hlYWQ6W1sxLDIsMjRdXSxxdW90YXRpb25fbWFyazpbWzAsMSwyNF0sWzEsMSwyNF1dLHF1b3RhdGlvbl9tYXJrX29mZjpbWzEsMSwyNF1dLHJhZGFyX2xpdmU6W1swLDcsMjRdLApbMSw3LDEyXSxbMSw3LDE2XSxbMSw3LDI0XV0scmFkYXJfbGl2ZV9jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHJhdGluZ19kb3duOltbMSwxLDI0XV0scmF0aW5nX3VwOltbMSw3LDEyXSxbMSw3LDE2XSxbMSw3LDI0XV0scmVjb3JkOltbMCwyLDI0XV0scmVtaXg6W1sxLDIsMTZdLFsxLDIsMjRdXSxyZXBsYXlfYXJyb3c6W1sxLDEsMjRdXSxyb3RhdGVfOTA6W1sxLDEsMjRdXSxyb3RhdGVfOTBfY2xvY2t3aXNlOltbMSwyLDI0XV0scnNzOltbMSwyLDE2XSxbMSwyLDI0XV0scnNzX29mZjpbWzEsMSwxNl0sWzEsMSwyNF1dLHJ1Ynk6W1sxLDIsMTJdLFsxLDIsMTZdLFsxLDIsMThdLFsxLDIsMjRdXSxzYW1wbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc2F0dXJhdGlvbjpbWzEsMiwyNF1dLHNjYWxlOltbMSw0LDI0XV0sc2Npc3NvcnM6W1swLDgsMTJdLFswLDgsMjRdLFsxLDgsMjRdXSxzY2lzc29yc19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHNjaXNzb3JzX2N1dDpbWzEsNCwKMTZdLFsxLDQsMThdLFsxLDQsMjRdXSxzY3JlZW5fZGVmYXVsdDpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLHNjcmVlbl9mdWxsOltbMSw3LDI0XV0sc2NyZWVuX2Z1bGxfY2Fpcm86W1sxLDEsMjRdXSxzY3JlZW5fZnVsbF9leGl0OltbMSw2LDI0XV0sc2NyZWVuX2Z1bGxfZXhpdF9jYWlybzpbWzEsMSwyNF1dLHNjcmVlbl9mdWxsc2NyZWVuOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX2xpZ2h0OltbMSwxLDI0XV0sc2NyZWVuX21pbmlfcGxheWVyOltbMCwxLDI0XSxbMCwxLDQ4XSxbMSwxLDI0XSxbMSwxLDQ4XV0sc2NyZWVuX211bHRpX3ZpZXc6W1swLDMsMjRdLFsxLDMsMjRdXSxzY3JlZW5fcm90YXRpb246W1sxLDIsMThdLFsxLDIsMjRdXSxzY3JlZW5fc3dpdGNoOltbMCwxLDI0XSxbMSwxLDI0XV0sc2NyZWVuX3RoZWF0cmU6W1swLDEsMjRdLFswLDEsNDhdLFsxLDEsMjRdLFsxLDEsNDhdXSxzY3JlZW5fdmVydGljYWw6W1sxLAoxLDI0XV0sc2NyZWVuX3g6W1sxLDIsMjRdXSxzZDpbWzAsMywyNF0sWzEsMywyNF1dLHNlYXJjaDpbWzAsMTUsMjRdLFsxLDE1LDI0XV0sc2VhcmNoX2NhaXJvOltbMSwyLDI0XV0sc2VhcmNoX3N1cGVyc2NyaXB0OltbMSwxLDI0XV0sc2VuZDpbWzAsNywxOCwhMF0sWzAsNywyNCwhMF0sWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLHNldHRpbmdzX3JlbW90ZTpbWzEsMSwyNF1dLHNoYWRvd19oYXJkOltbMCwzLDI0XV0sc2hhZG93X3NvZnQ6W1swLDMsMjRdXSxzaGFwZXM6W1swLDMsMjRdLFsxLDMsMjRdXSxzaGFyZTpbWzAsMTIsMjQsITBdLFswLDEyLDMyLCEwXSxbMSwxMiwxNiwhMF0sWzEsMTIsMjQsITBdXSxzaGFyZV9jYWlybzpbWzEsMiwyNF1dLHNoYXJlX2lvczpbWzEsMiwyNF1dLHNoYXJlX2xpbms6W1swLDEsMjRdLFsxLDEsMjRdXSxzaGllbGQ6W1sxLDYsMjRdXSxzaGllbGRfYWRkOltbMSwyLDI0XV0sc2hpZWxkX2NoZWNrOltbMSwxLDI0XV0sc2hpZWxkX2VtcHR5OltbMCwKMSwxNl0sWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxNl0sWzEsMSwxOF0sWzEsMSwyNF1dLHNoaWVsZF9vZmY6W1sxLDEsMjRdXSxzaGllbGRfb3ZlcmZsb3c6W1sxLDIsMjRdXSxzaGllbGRfcGx1czpbWzEsMSwyNF1dLHNoaWVsZF9zZWFyY2g6W1sxLDIsMjRdXSxzaG9ydHNfbGF5b3V0X2JvdHRvbTpbWzEsMSwyNF1dLHNob3J0c19sYXlvdXRfY2VudGVyZWRfc3F1YXJlOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9mb3JlZ3JvdW5kOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sYW5kc2NhcGVfYm90dG9tOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sYW5kc2NhcGVfdG9wOltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9sZWZ0OltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9waXA6W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X3JpZ2h0OltbMSwxLDI0XV0sc2hvcnRzX2xheW91dF9zaW5nbGU6W1sxLDEsMjRdXSxzaG9ydHNfbGF5b3V0X3RvcDpbWzEsMSwyNF1dLHNraXBfYmFja18xMDpbWzAsCjEsMjRdXSxza2lwX2JhY2tfMTU6W1swLDEsMjRdXSxza2lwX2JhY2tfMjA6W1swLDEsMjRdXSxza2lwX2JhY2tfMzA6W1swLDEsMjRdXSxza2lwX2JhY2tfNTpbWzAsMSwyNF1dLHNraXBfYmFja182MDpbWzAsMSwyNF1dLHNraXBfZG93bjpbWzAsNiwyNF1dLHNraXBfZm9yd2FyZF8xMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8xNTpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8yMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF8zMDpbWzAsMSwyNF1dLHNraXBfZm9yd2FyZF81OltbMCwxLDI0XV0sc2tpcF9mb3J3YXJkXzYwOltbMCwxLDI0XV0sc2tpcF9uZXh0OltbMCw3LDI0XV0sc2tpcF9wcmV2aW91czpbWzAsNiwyNF1dLHNraXBfdXA6W1swLDYsMjRdXSxzbGFzaF9jaXJjbGVfbGVmdDpbWzEsNywyNF1dLHNsYXNoX2NpcmNsZV9yaWdodDpbWzEsMiwyNF1dLHNvY2Nlcl9iYWxsOltbMSwzLDI0XV0sc29jY2VyX2NhcmQ6W1swLDIsMTJdLFswLDIsMTZdLFswLDIsMjRdXSxzcGFjZWJhcjpbWzEsCjIsMjRdXSxzcGFyazpbWzAsMTEsMTJdLFswLDExLDE2XSxbMCwxMSwyNF0sWzEsMTEsMjRdXSxzcGFya19jaGF0OltbMSwxLDE2XSxbMSwxLDI0XV0sc3BhcmtfaW1hZ2U6W1sxLDIsMjRdXSxzcGFya19saWdodGJ1bGI6W1swLDMsMjRdLFsxLDMsMjRdXSxzcGFya19tZXNzYWdlX2J1YmJsZTpbWzEsNCwxNl0sWzEsNCwyNF1dLHNwYXJrX21lc3NhZ2VfYnViYmxlX2xlZnQ6W1sxLDEsMjRdXSxzcGFya19tdXNpYzpbWzEsMiwyNF1dLHNwYXJrX3BlbmNpbDpbWzEsMiwyNF1dLHNwYXJrX3JhZGFyOltbMCwxLDEyXSxbMCwxLDE2XSxbMCwxLDI0XSxbMSwxLDEyXSxbMSwxLDE2XSxbMSwxLDI0XV0sc3BhcmtfdGV4dDpbWzEsMSwyNF1dLHNwYXJrX3ZpZGVvOltbMSwyLDI0XV0sc3BhcmtsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLHNwZWFrZXI6W1sxLDIsMjRdXSxzcGVha2VyX2dyb3VwOltbMSwxLDI0XV0sc3BlYWtlcl9ncm91cF9vZmY6W1sxLDEsMjRdXSxzcGVha2VyX2hlYWRzZXQ6W1sxLAoyLDI0XV0sc3BlYWtlcl9vZmY6W1sxLDEsMjRdXSxzcGxpdDpbWzEsNCwyNF1dLHNwb3J0czpbWzAsMSwyNF1dLHNwb3RsaWdodDpbWzAsMywyNF0sWzEsMywyNF1dLHN0YXI6W1swLDYsMTJdLFswLDYsMTZdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMTZdLFsxLDYsMjRdXSxzdGFyX2NpcmNsZTpbWzAsNiwxMl0sWzAsNiwxNl0sWzAsNiwxOF0sWzAsNiwyNF1dLHN0YXJfY2lyY2xlX3JpYmJvbjpbWzAsMSwxNl0sWzAsMSwyMF0sWzAsMSwyNF0sWzAsMSwzNl0sWzEsMSwxNl0sWzEsMSwyMF0sWzEsMSwyNF0sWzEsMSwzNl1dLHN0YXJfaGFsZjpbWzAsMywxMl0sWzAsMywxNl0sWzAsMywyNF1dLHN0YXJfc2hvb3Rpbmc6W1swLDMsMjRdLFsxLDMsMjRdXSxzdGF0aXN0aWNzX2dyYXBoOltbMSwyLDI0XV0sc3RpY2tlcjpbWzEsMywyNF1dLHN0b3A6W1swLDYsMjRdLFswLDYsMzZdXSxzdG9wd2F0Y2g6W1swLDUsMTZdLFswLDUsMjRdLFsxLDUsMTZdLFsxLDUsMjRdXSxzdG9wd2F0Y2hfMTA6W1swLAoxLDI0XV0sc3RvcHdhdGNoXzM6W1swLDEsMjRdXSxzdWJzY3JpcHRpb25zOltbMCwxMiwyNF0sWzEsMTIsMThdLFsxLDEyLDI0XV0sc3Vic2NyaXB0aW9uc19jYWlybzpbWzAsMiwyNF0sWzEsMiwyNF1dLHN1YnRpdGxlczpbWzAsNSwxMl0sWzAsNSwyNF0sWzEsNSwyNF1dLHN1cGVyX2NoYXQ6W1sxLDgsMThdLFsxLDgsMjRdXSxzdXBlcl9zdGlja2VyOltbMCw4LDE2XSxbMCw4LDI0XSxbMSw4LDE2XSxbMSw4LDI0XV0sc3VwZXJfc3RvcmU6W1sxLDMsMjRdXSxzdXBlcnN0YXI6W1sxLDEsMjRdXSx0YWJsZXQ6W1sxLDEsMjRdXSx0YXJnZXQ6W1swLDIsMjRdLFsxLDIsMTZdLFsxLDIsMjRdXSx0YXJnZXRfYWRkOltbMCwyLDI0XSxbMSwyLDE2XSxbMSwyLDI0XV0sdGVtcGxhdGVfYWRkOltbMSwzLDE2XSxbMSwzLDI0XV0sdGVtcGxhdGVfcGxheTpbWzAsMywyNF0sWzEsMywyNF1dLHRleHQ6W1swLDksMjRdLFsxLDksMTZdLFsxLDksMThdLFsxLDksMjRdXSx0ZXh0X2JlbGxfY2Fpcm86W1sxLAoxLDEyXSxbMSwxLDE2XSxbMSwxLDE4XSxbMSwxLDI0XV0sdGV4dF9ib2xkOltbMSwxLDI0XV0sdGV4dF9ib3g6W1sxLDUsMjRdXSx0ZXh0X2l0YWxpYzpbWzEsMSwyNF1dLHRleHRfb3V0bGluZTpbWzEsMiwyNF1dLHRleHRfcHJlc2V0OltbMSwxLDI0XV0sdGV4dF9zZXJpZjpbWzEsMSwyNF1dLHRleHRfc2hhZG93OltbMSwyLDI0XV0sdGV4dF9zdHJpa2V0aHJvdWdoOltbMSwxLDI0XV0sdGV4dF91bmRlcmxpbmU6W1sxLDEsMjRdXSx0aGVtZV9zd2l0Y2g6W1swLDEsMjRdLFsxLDEsMjRdXSx0aGVybW9tZXRlcjpbWzEsMiwyNF1dLHRodW1iX2Rvd246W1swLDI1LDE2XSxbMCwyNSwyNF0sWzAsMjUsMzZdLFsxLDI1LDE2XSxbMSwyNSwyNF0sWzEsMjUsMzZdXSx0aHVtYl91cDpbWzAsMjQsMTZdLFswLDI0LDI0XSxbMCwyNCwzNl0sWzEsMjQsMTZdLFsxLDI0LDI0XSxbMSwyNCwzNl1dLHRodW1iX3VwX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sdGh1bWJfdXBfZG93bjpbWzAsNCwKMjRdLFsxLDQsMjRdXSx0aWNfdGFjX3RvZTpbWzAsNCwxMl0sWzAsNCwyNF0sWzEsNCwxNl0sWzEsNCwyNF1dLHRpY190YWNfdG9lX2NhaXJvOltbMCwyLDI0XSxbMSwyLDI0XV0sdGlja2V0X3N0YXI6W1sxLDEsMjRdXSx0aWx0OltbMSw0LDI0XV0sdGltZV9zdGFtcF9wbHVzOltbMSwxLDI0XV0sdGltZWxpbmU6W1sxLDMsMjRdXSx0b29sYm94OltbMSw0LDI0XV0sdHJhbnNjcmlwdDpbWzEsMiwxNl0sWzEsMiwyNF1dLHRyYW5zY3JpcHRfc2VhcmNoOltbMSwxLDE2XSxbMSwxLDI0XV0sdHJhbnNpdGlvbjpbWzAsNSwyNF0sWzEsNSwyNF1dLHRyYW5zbGF0ZTpbWzEsNCwxNl0sWzEsNCwyNF1dLHRyYXNoX2NhbjpbWzEsMTAsMTZdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHRyaWFuZ2xlX2Rvd246W1sxLDgsMjRdXSx0cmlhbmdsZV90aHJlZV9sZWZ0OltbMCwxLDI0XV0sdHJpYW5nbGVfdGhyZWVfcmlnaHQ6W1swLDEsMjRdXSx0cm9waHk6W1swLDMsMjRdLFsxLDMsMjRdXSx0cm9waHlfY2Fpcm86W1swLAoyLDI0XSxbMSwyLDI0XV0sdHJvcGh5X3N0YXI6W1sxLDEsMjRdXSx0cnVjazpbWzAsNSwyNF0sWzEsNSwyNF1dLHR2OltbMCw4LDEyXSxbMCw4LDE2XSxbMCw4LDI0XSxbMSw4LDE2XSxbMSw4LDI0XV0sdHZfYXJyb3dfbGVmdDpbWzEsMiwyNF1dLHR2X2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLHR2X2RvbGxhcl9zaWduOltbMCwxLDI0XSxbMSwxLDI0XV0sdHZfb2ZmOltbMSwyLDI0XV0sdHZfcXVldWU6W1sxLDQsMjRdXSx0dl9xdWV1ZV9jaGV2cm9uOltbMSwyLDI0XV0sdXBsb2FkOltbMSw1LDI0XV0sdXBsb2FkaW5nOltbMSwxLDI0XV0sdmFyaWFibGU6W1sxLDQsMjRdXSx2ZXJpZmllZF9jaXJjbGU6W1sxLDQsMjRdXSx2aWRlb19jYW1lcmE6W1swLDksMjRdLFsxLDksMjRdXSx2aWRlb19jYW1lcmFfYWRkOltbMSwyLDI0XV0sdmlkZW9fY2FtZXJhX29mZjpbWzEsMSwyNF1dLHZpZGVvX2xpbms6W1sxLDUsMTZdLFsxLDUsMjRdXSx2aWRlb19yZXZlcnNlOltbMSwxLDI0XV0sCnZpZGVvX3NwYXJrOltbMSwyLDI0XV0sdmlkZW9fc3RpdGNoOltbMSwyLDI0XV0sdmlkZW9fd2F2ZWZvcm06W1sxLDEsMjRdXSx2b2x1bWVfZG93bjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9mYWRlOltbMSwyLDI0XV0sdm9sdW1lX29mZjpbWzAsNCwyNF0sWzEsNCwyNF1dLHZvbHVtZV9vbjpbWzAsMywyNF0sWzEsMywyNF1dLHZvbHVtZV9zdGFibGU6W1swLDEsMjRdLFsxLDEsMjRdXSx2cjpbWzAsNywyNF0sWzEsNywyNF1dLHdhdmVmb3JtOltbMSwzLDI0XV0sd2F2ZWZvcm1fbXVzaWM6W1swLDIsMThdLFswLDIsMjRdLFswLDIsNDhdXSx3YXZlZm9ybV9zcGFyazpbWzEsMiwyNF1dLHdyZW5jaDpbWzAsMywyNF0sWzEsMywyNF1dLHg6W1sxLDExLDE4XSxbMSwxMSwyNF1dLHhfY2Fpcm86W1sxLDEsMjRdXSx4X2NpcmNsZTpbWzAsOSwyNF0sWzEsOSwyNF1dLHhfbWFyazpbWzEsNCwyMF0sWzEsNCwyNF1dLHhfb2N0YWdvbjpbWzEsMywyNF1dLHllbl9zaWduX2NvbnRhaW5lcjpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX2ltcHJvdmVfdHY6W1sxLDEsMjRdXSx5b3V0dWJlX2tpZHM6W1swLDUsMjRdLFsxLDUsMjRdXSx5b3V0dWJlX2xhYnM6W1swLDEsMjRdXSx5b3V0dWJlX2xpbmtlZF90djpbWzEsNCwyNF1dLHlvdXR1YmVfbG9nb19pY29uOltbMCw2LDI0XSxbMSw2LDI0XV0seW91dHViZV9taXg6W1sxLDUsMTJdLFsxLDUsMTZdLFsxLDUsMjRdXSx5b3V0dWJlX211c2ljOltbMCw3LDI0XSxbMSw3LDI0XV0seW91dHViZV9tdXNpY19jYWlybzpbWzEsMiwyNF1dLHlvdXR1YmVfb3JpZ2luYWxzOltbMCw2LDI0XSxbMSw2LDI0XV0seW91dHViZV9zaG9ydHM6W1swLDExLDEyXSxbMCwxMSwyMF0sWzAsMTEsMjRdLFsxLDExLDIwXSxbMSwxMSwyNF1dLHlvdXR1YmVfc2hvcnRzX2Fycm93X2Rvd246W1sxLDEsMjRdXSx5b3V0dWJlX3Nob3J0c19hcnJvd19sZWZ0OltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfYXJyb3dfdXA6W1sxLDEsMjRdXSx5b3V0dWJlX3Nob3J0c19jYWlybzpbWzAsCjIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19jYW1lcmE6W1sxLDMsMjRdXSx5b3V0dWJlX3Nob3J0c19jaGV2cm9uX2xlZnRfaW9zOltbMSwyLDI0XV0seW91dHViZV9zaG9ydHNfZ3JlZW5fc2NyZWVuOltbMCwxLDI0XSxbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfaGVhcnQ6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19tZXNzYWdlX2J1YmJsZV9yaWdodDpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX25vX3RyaWFuZ2xlOltbMCw0LDE2XSxbMCw0LDI0XSxbMCw0LDMyXSxbMSw0LDE2XSxbMSw0LDI0XSxbMSw0LDMyXV0seW91dHViZV9zaG9ydHNfb3ZlcmZsb3dfdmVydGljYWw6W1sxLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19wbHVzOltbMSw1LDE2XSxbMSw1LDI0XV0seW91dHViZV9zaG9ydHNfcmVtaXg6W1swLDIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19zZWFyY2g6W1sxLDMsMjRdXSx5b3V0dWJlX3Nob3J0c19zaGFyZTpbWzAsCjIsMjRdLFswLDIsMzJdXSx5b3V0dWJlX3Nob3J0c19zdGlja2VyOltbMSwxLDE4XSxbMSwxLDI0XV0seW91dHViZV9zaG9ydHNfdGh1bWJfZG93bjpbWzAsMiwyNF0sWzAsMiwzMl1dLHlvdXR1YmVfc2hvcnRzX3RodW1iX3VwOltbMCwyLDI0XSxbMCwyLDMyXV0seW91dHViZV9zaG9ydHNfd2F2ZWZvcm06W1sxLDIsMThdLFsxLDIsMjRdXSx5b3V0dWJlX3N0dWRpbzpbWzAsOCwyNF0sWzEsOCwyNF1dLHlvdXR1YmVfdHY6W1swLDgsMjRdLFsxLDgsMjRdXSx6b29tX2F1dG86W1swLDIsMjRdLFsxLDIsMjRdXX07dmFyIFdxYT17YWNjZXNzaWJpbGl0eTpbWzAsNCwyNF0sWzEsNCwyNF1dLGFjY291bnRfbGluazpbWzAsOCwyNF0sWzEsOCwyNF1dLGFjY291bnRfbGlua19lcnJvcjpbWzEsNiwyNF1dLGFkZDpbWzEsOSwxOF0sWzEsOSwyNF1dLGFkZF9jaXJjbGU6W1swLDYsMThdLFswLDYsMjRdLFsxLDYsMjRdLFsxLDYsMzZdXSxhZGRfc3F1YXJlX3N0YWNrOltbMSwxLDI0XV0sYWRkX3R2OltbMSwxLDI0XV0sYWRkX3R2X2NoZXZyb25fcmlnaHQ6W1sxLDEsMjRdXSxhZGp1c3Q6W1swLDksMjRdLFsxLDksMjRdXSxhaXJwbGFuZTpbWzAsNSwyNF0sWzAsNSw0OF0sWzEsNSwyNF1dLGFpcnBsYXk6W1sxLDYsMjRdXSxhaXJwbGF5X3NsYXNoOltbMSwxLDI0XV0sYWxidW06W1swLDgsMjRdLFsxLDgsMThdLFsxLDgsMjRdLFsxLDgsNDhdXSxhbGVydF9idWJibGU6W1sxLDIsMThdLFsxLDIsMjRdXSxhbGVydF9jaXJjbGU6W1swLDExLDI0XSxbMSwxMSwxMl0sWzEsMTEsMjRdLFsxLDExLDQ4XV0sYWxlcnRfb2N0YWdvbjpbWzAsCjIsMjRdLFsxLDIsMjRdXSxhbGVydF90cmlhbmdsZTpbWzAsMTAsMTJdLFswLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMjRdXSxhbWJpZW50X21vZGU6W1sxLDEsMjRdXSxhbXBlcnNhbmQ6W1sxLDEsMjRdXSxhcGk6W1swLDIsMjRdLFsxLDIsMjRdXSxhcmNoaXZlOltbMSwxLDI0XV0sYXJyb3dfYXJjX2ZvcndhcmQ6W1sxLDEsMjRdXSxhcnJvd19jbG9ja3dpc2U6W1sxLDEsMjRdXSxhcnJvd19jb3VudGVyY2xvY2t3aXNlOltbMSwyLDI0XSxbMSwyLDQ4XV0sYXJyb3dfY291bnRlcmNsb2Nrd2lzZV9kYXNoZWQ6W1sxLDEsMjRdXSxhcnJvd19kb3duOltbMSwzLDI0XV0sYXJyb3dfZG93bl9jaXJjbGU6W1swLDQsMjRdLFsxLDQsMjRdXSxhcnJvd19kb3duX2NpcmNsZV9zbGFzaDpbWzAsMSwyNF0sWzEsMSwyNF1dLGFycm93X2Rvd25fcmlnaHQ6W1sxLDEsMjRdXSxhcnJvd19mbGlwOltbMSwxMCwyNF1dLGFycm93X2luOltbMSw4LDE4XSxbMSw4LDI0XV0sYXJyb3dfbGVmdDpbWzEsOCwKMjQsITBdLFsxLDgsMzYsITBdXSxhcnJvd19tZXJnZTpbWzEsMiwyNF1dLGFycm93X291dDpbWzEsMiwyNF1dLGFycm93X3JpZ2h0OltbMSwzLDI0LCEwXV0sYXJyb3dfcmlnaHRfcmVjdGFuZ2xlOltbMCwyLDI0XSxbMSwyLDI0XV0sYXJyb3dfc29saWRfZG93bjpbWzAsNCwxOF0sWzAsNCwyNF0sWzEsNCwxOF0sWzEsNCwyNF1dLGFycm93X3NvbGlkX3VwOltbMCw0LDE4XSxbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sYXJyb3dfc3BsaXQ6W1sxLDMsMjRdXSxhcnJvd19zcGxpdF9hbGVydDpbWzEsMSwyNF1dLGFycm93X3N3YXBfaG9yaXpvbnRhbDpbWzEsNSwyNF1dLGFycm93X3RyZW5kX2Rvd246W1sxLDEsMjRdXSxhcnJvd190cmVuZF91cDpbWzEsMiwxMl0sWzEsMiwyNF1dLGFycm93X3R1cm5fZG93bl9yaWdodDpbWzEsMiwxOF0sWzEsMiwyNF1dLGFycm93X3VwOltbMSwzLDI0XV0sYXJyb3dfdXBfY2lyY2xlOltbMCw0LDI0XSxbMSw0LDI0XV0sYXJyb3dfdXBfbGVmdDpbWzEsCjEsMjRdXSxhcnJvd191cF9yZWN0YW5nbGVfcG9ydHJhaXQ6W1sxLDEsMjRdXSxhcnJvd191cF9yaWdodDpbWzEsMiwxOF0sWzEsMiwyNF0sWzEsMiwzNl1dLGFzcGVjdF9yYXRpb193MTZfaDk6W1sxLDEsMjRdXSxhc3BlY3RfcmF0aW9fdzlfaDE2OltbMSwxLDI0XV0sYXVkaW86W1swLDE0LDEyXSxbMCwxNCwxOF0sWzAsMTQsMjRdLFsxLDE0LDEyXSxbMSwxNCwxOF0sWzEsMTQsMjRdLFsxLDE0LDQ4XV0sYXVkaW9fYXJyb3dfZmxpcDpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX2JhZGdlOltbMCwzLDI0XSxbMSwzLDI0XV0sYXVkaW9fc2Npc3NvcnM6W1sxLDEsMjRdXSxhdWRpb19zbGFzaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGF1ZGlvX3NwYXJrOltbMSwxLDI0XV0sYXVkaW9fc3F1YXJlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDI0XV0sYXVkaW9fc3RhZmY6W1swLDIsMjRdLFsxLDIsMjRdXSxiYWNrc3BhY2U6W1swLDUsMjRdLFsxLDUsMjRdXSxiYWc6W1swLDcsMjRdLFsxLDcsMjRdXSwKYmFnX2Jvb2ttYXJrOltbMSwyLDI0XV0sYmFza2V0YmFsbDpbWzAsMiwyNF0sWzEsMiwyNF1dLGJlYWtlcjpbWzEsMiwyNF1dLGJlZDpbWzAsMSwyNF0sWzAsMSw0OF0sWzEsMSwyNF0sWzEsMSw0OF1dLGJlbGw6W1swLDExLDI0XSxbMSwxMSwyNF1dLGJlbGxfc2xhc2g6W1sxLDEsMjRdXSxiZWxsX3dhdmVzOltbMCwyLDI0XSxbMSwyLDI0XV0sYmx1cjpbWzEsMiwyNF1dLGJvb2s6W1swLDMsMjRdLFsxLDMsMjRdXSxib29rX2F1ZGlvOltbMSwxLDI0XV0sYm9va21hcms6W1swLDEwLDE4XSxbMCwxMCwyNF0sWzEsMTAsMThdLFsxLDEwLDI0XV0sYnJpZWZjYXNlOltbMSwyLDI0XV0sYnJpZWZjYXNlX3NsYXNoOltbMCwzLDI0XSxbMSwzLDI0XV0sYnJpZ2h0bmVzczpbWzAsMywyNF0sWzEsMywyNF1dLGJyb3dzZXI6W1swLDIsMjRdLFsxLDIsMjRdXSxicm93c2VyX3NsYXNoOltbMSwxLDI0XV0sYnViYmxlOltbMSwxLDI0XV0sYnViYmxlX2FzdGVyaXNrOltbMCwyLDI0XSxbMSwyLDI0XV0sCmJ1YmJsZV9lbGxpcHNpczpbWzEsMSwyNF1dLGJ1YmJsZV9nZWFyOltbMSwxLDI0XV0sYnViYmxlX2xpc3Q6W1sxLDEsMjRdXSxidWJibGVfcGVuY2lsOltbMSwxLDI0XV0sYnViYmxlX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sYnViYmxlX3Nsb3c6W1swLDIsMjRdLFswLDIsNDhdLFsxLDIsMjRdLFsxLDIsNDhdXSxidWJibGVfc3Bhcms6W1sxLDEsMjRdXSxidWJibGVfc3BhcmtsZXM6W1sxLDEsMjRdXSxidWJibGVfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxidWc6W1swLDQsMThdLFswLDQsMjRdLFsxLDQsMjRdXSxidXNpbmVzczpbWzAsNCwyNF0sWzEsNCwyNF1dLGNhYmxlOltbMSwyLDI0XV0sY2FsY3VsYXRvcjpbWzAsMywyNF0sWzEsMywyNF1dLGNhbGVuZGFyOltbMCw0LDI0XSxbMSw0LDI0XV0sY2FsZW5kYXJfZXZlbnQ6W1swLDIsMjRdLFsxLDIsMjRdXSxjYWxlbmRhcl90b2RheTpbWzEsMSwyNF1dLGNhbWVyYTpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLApjYW1lcmFfYXVkaW86W1sxLDUsMjRdXSxjYW1lcmFfZmxpcDpbWzEsNCwyNF1dLGNhbWVyYV9oYXNodGFnOltbMSw1LDI0XV0sY2FtZXJhX3NwYXJrbGVzOltbMSwxLDI0XV0sY2FtZXJhX3N3aXRjaDpbWzAsMywyNF0sWzEsMywyNF1dLGNhcmQ6W1swLDMsMjRdXSxjYXJ0OltbMCw0LDI0XSxbMSw0LDI0XV0sY2FydF9hZGQ6W1sxLDEsMjRdXSxjYXJ0X3NwYXJrOltbMSwxLDI0XV0sY2F0OltbMCwzLDI0XSxbMSwzLDI0XV0sY2VsZWJyYXRpb246W1sxLDIsMjRdXSxjaGFydF9iYXI6W1sxLDIsMTJdLFsxLDIsMjRdXSxjaGFydF9iYXJfc2VhcmNoOltbMCwyLDI0XSxbMSwyLDI0XV0sY2hhcnRfYmFyX3NxdWFyZTpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLGNoYXJ0X2xpbmU6W1sxLDEsMjRdXSxjaGFydF9waWU6W1swLDIsMjRdLFsxLDIsMjRdXSxjaGFydF9zY2F0dGVyX3Bsb3Q6W1sxLDEsMjRdXSxjaGVjazpbWzEsMTMsMTJdLFsxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsCjM2XV0sY2hlY2tfY2lyY2xlOltbMCwxMCwyNF0sWzEsMTAsMjRdXSxjaGVja19kb25lOltbMSwxLDI0XV0sY2hlY2tfZG9uZV9zbGFzaDpbWzEsMSwyNF1dLGNoZWNrX3NoaWVsZDpbWzEsMSwyNF1dLGNoZWNrX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGNoZWNrX3NxdWFyZV9zdGFjazpbWzAsMSwyNF1dLGNoZXZyb25fY29sbGFwc2U6W1sxLDMsMjRdXSxjaGV2cm9uX2Rvd246W1sxLDksMThdLFsxLDksMjRdXSxjaGV2cm9uX2Rvd25fY2lyY2xlOltbMCwzLDI0XSxbMSwzLDI0XV0sY2hldnJvbl9kb3duX2VuZDpbWzEsMSwyNF1dLGNoZXZyb25fZXhwYW5kOltbMSw1LDI0XV0sY2hldnJvbl9sZWZ0OltbMSw5LDI0LCEwXV0sY2hldnJvbl9sZWZ0X2NpcmNsZTpbWzAsMywyNF0sWzEsMywyNF1dLGNoZXZyb25fbGVmdF9lbmQ6W1sxLDEsMjRdXSxjaGV2cm9uX2xlZnRfaW9zOltbMSwzLDI0XV0sY2hldnJvbl9yaWdodDpbWzEsNywxOCwhMF0sWzEsNywyNCwhMF1dLGNoZXZyb25fcmlnaHRfY2lyY2xlOltbMCwKMywyNF0sWzEsMywyNF1dLGNoZXZyb25fcmlnaHRfZW5kOltbMSwxLDI0XV0sY2hldnJvbl9yaWdodF9zcXVhcmU6W1sxLDEsMjRdXSxjaGV2cm9uX3VwOltbMSw5LDEyXSxbMSw5LDI0XV0sY2hldnJvbl91cF9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSxjaGV2cm9uX3VwX2VuZDpbWzEsMSwyNF1dLGNocm9tZWNhc3Q6W1swLDExLDI0XSxbMSwxMSwxOF0sWzEsMTEsMjRdLFsxLDExLDM2XV0sY2hyb21lY2FzdF9tb2JpbGU6W1sxLDQsMjRdLFsxLDQsMzZdXSxjaHJvbWVjYXN0X3dhdmVmb3JtOltbMSwyLDI0XV0sY2lyY2xlOltbMCw5LDI0XSxbMSw5LDI0XV0sY2lyY2xlX2Z1bGw6W1swLDMsMjRdXSxjaXJjbGVfZnVsbF9oYWxmOltbMCwxLDI0XV0sY2lyY2xlX2hhbGZfZmlsbGVkOltbMSwxLDI0XV0sY2lyY2xlX3NsYXNoOltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XSxbMSw0LDQ4XV0sY2lyY2xlczY6W1sxLDEsMjRdXSxjbGFwcGVyYm9hcmQ6W1swLDMsMjRdLFsxLDMsCjI0XV0sY2xhcHBlcmJvYXJkX3NsYXNoOltbMSwxLDI0XV0sY2xhcHBlcmJvYXJkX3NwYXJrbGVzOltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2s6W1swLDEwLDI0XSxbMCwxMCw0OF0sWzEsMTAsMjRdXSxjbG9ja19hcnJvd19jbG9ja3dpc2U6W1sxLDEsMjRdXSxjbG9ja19oYWxmX2Rhc2hlZDpbWzEsMSwyNF1dLGNsb2NrX3NwbGl0OltbMCwyLDI0XSxbMSwyLDI0XV0sY2xvY2tfc3BsaXRfYWxlcnQ6W1swLDIsMjRdLFsxLDIsMjRdXSxjbG9zZWRfY2FwdGlvbnM6W1swLDMsMjRdLFswLDMsNDhdLFsxLDMsMjRdLFsxLDMsNDhdXSxjbG91ZDpbWzEsMiwyNF1dLGNsb3VkX2Fycm93X2Rvd246W1sxLDMsMjRdXSxjbG91ZF9hcnJvd191cDpbWzAsNiwyNF0sWzEsNiwxOF0sWzEsNiwyNF1dLGNsb3VkX2NoZWNrOltbMCwzLDI0XSxbMSwzLDI0XV0sY2xvdWRfZWxsaXBzaXM6W1swLDMsMjRdLFsxLDMsMjRdXSxjbG91ZF9zbGFzaDpbWzEsMiwyNF0sWzEsMiw0OF1dLGNtc19hbGxvd2xpc3Q6W1swLAoyLDI0XSxbMSwyLDI0XV0sY29kZTpbWzEsMiwyNF1dLGNvbXBhcmU6W1sxLDIsMjRdXSxjb21wYXNzOltbMCw5LDI0XSxbMSw5LDI0XV0sY29weTpbWzEsMywyNF1dLGNvcHlfdG9fYWxsOltbMSwxLDI0XV0sY29weXJpZ2h0OltbMCw0LDI0XSxbMSw0LDI0XV0sY29weXJpZ2h0X3NlYXJjaDpbWzAsMiwyNF0sWzEsMiwyNF1dLGNvdmVyX2NsYWltOltbMSwxLDI0XV0sY3JlYXRpdmVfY29tbW9uczpbWzAsMiwyNF0sWzEsMiwyNF1dLGNyZWRpdF9jYXJkOltbMCw0LDI0XSxbMSw0LDI0XV0sY3JvcDpbWzEsNCwxOF0sWzEsNCwyNF1dLGNyb3Bfcm90YXRlOltbMSwyLDI0XV0sY3Jvc3NoYWlyOltbMSwxLDE4XSxbMSwxLDI0XV0sY3Jvd246W1swLDUsMThdLFswLDUsMjRdLFsxLDUsMjRdXSxjc3Y6W1swLDIsMjRdLFsxLDIsMjRdXSxjdWJlOltbMCwyLDI0XSxbMSwyLDI0XV0sY3ViZV9zcGFyazpbWzEsMSwyNF1dLGN1cnNvcl9jbGljazpbWzAsMiwyNF0sWzEsMiwyNF1dLGN1cnZlOltbMSwKMSwyNF1dLGN2cDpbWzAsMiwyNF0sWzEsMiwyNF1dLGRhbmNlX3NwYXJrOltbMCwxLDI0XV0sZGFzaGJvYXJkOltbMCwyLDI0XSxbMSwyLDI0XV0sZGFzaGJvYXJkX2FkZDpbWzEsMSwyNF1dLGRpZV9mYWNlMzpbWzAsMiwyNF0sWzEsMiwyNF1dLGRpcmVjdGlvbnM6W1sxLDMsMjRdXSxkaXNwbGF5OltbMCwyLDI0XSxbMSwyLDI0XV0sZGlzcGxheV9zbGFzaDpbWzEsMSwyNF1dLGRpdmlkZTpbWzEsMSwyNF1dLGRvY3VtZW50OltbMCwyLDI0XSxbMSwyLDI0XV0sZG9jdW1lbnRfYXJyb3dfdXBfcmlnaHQ6W1swLDIsMjRdLFsxLDIsMjRdXSxkb2xsYXJfc2lnbl9hcnJvd19mbGlwOltbMSwxLDI0XV0sZG9sbGFyX3NpZ25fY2lyY2xlOltbMCwxMiwyNF0sWzEsMTIsMTJdLFsxLDEyLDE4XSxbMSwxMiwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZV9hZGQ6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl9jaXJjbGVfaGFuZDpbWzEsMSwyNF1dLGRvbGxhcl9zaWduX2NpcmNsZV9wYXVzZTpbWzEsMiwyNF1dLApkb2xsYXJfc2lnbl9jaXJjbGVfc2xhc2g6W1sxLDIsMTJdLFsxLDIsMjRdXSxkb2xsYXJfc2lnbl9oZWFydDpbWzAsMjQsMTJdLFswLDI0LDI0XSxbMSwyNCwxMl0sWzEsMjQsMjRdXSxkb2xsYXJfc2lnbl9yZWN0YW5nbGU6W1sxLDEsMjRdXSxkb2xsYXJfc2lnbl90djpbWzAsMiwyNF0sWzEsMiwyNF1dLGRvdDpbWzAsMiwxMl0sWzAsMiwyNF1dLGRvd25sb2FkOltbMSwxMSwxOF0sWzEsMTEsMjRdXSxkcGFkOltbMCwyLDI0XSxbMSwyLDI0XV0sZW1iZWQ6W1swLDIsMjRdLFsxLDIsMjRdXSxlcXVhbDpbWzEsMiwxOF0sWzEsMiwyNF1dLGVxdWFsX3NsYXNoOltbMSwxLDI0XV0sZXhwbGljaXQ6W1swLDcsMjRdLFsxLDcsMjRdXSxleWU6W1swLDYsMjRdLFsxLDYsMjRdXSxleWVfc2xhc2g6W1sxLDEsMjRdXSxleWVkcm9wcGVyOltbMSwyLDI0XV0sZXllZ2xhc3NlczpbWzEsMSwyNF1dLGZhY2VfYWRkOltbMSwxLDI0XV0sZmFjZV9oYXBweTpbWzAsMTIsMjRdLFswLDEyLDM2XSxbMCwKMTIsNDhdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfaW1hZ2U6W1sxLDIsMjRdXSxmYWNlX21laDpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZmFjZV9uZXV0cmFsOltbMCw0LDI0XSxbMCw0LDM2XSxbMSw0LDI0XSxbMSw0LDM2XV0sZmFjZV9wYWludGJydXNoOltbMSwyLDI0XV0sZmFjZV9zYWQ6W1swLDEyLDI0XSxbMCwxMiwzNl0sWzEsMTIsMjRdLFsxLDEyLDM2XV0sZmFjZV9zY2FsZTpbWzEsMSwyNF1dLGZhY2Vfc3BhcmtsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxmYWNlX3VuaGFwcHk6W1swLDEwLDI0XSxbMCwxMCwzNl0sWzEsMTAsMjRdLFsxLDEwLDM2XV0sZmFjZV91cHNldDpbWzAsMTAsMjRdLFsxLDEwLDI0XV0sZmFjZV92ZXJ5X2hhcHB5OltbMCwxMiwyNF0sWzAsMTIsMzZdLFsxLDEyLDI0XSxbMSwxMiwzNl1dLGZhY2VfdmVyeV9zYWQ6W1swLDEwLDI0XSxbMSwxMCwyNF1dLGZhc2hpb246W1swLDQsMjRdLFsxLDQsMjRdXSxmYXN0X2ZvcndhcmQ6W1swLDUsMjRdLFsxLAo1LDI0XV0sZmFzdF9yZXdpbmQ6W1swLDIsMjRdLFsxLDIsMjRdXSxmaWxtX3N0cmlwOltbMCw3LDI0XSxbMCw3LDQ4XSxbMSw3LDI0XV0sZmlsbV9zdHJpcF9hZGQ6W1sxLDIsMjRdXSxmaWxtX3N0cmlwX2F1ZGlvOltbMSwxLDI0XV0sZmlsdGVyOltbMSwxLDI0XV0sZmlsdGVyX2F1ZGlvOltbMSwxLDI0XV0sZmlsdGVyX3Bob3RvOltbMCw4LDI0XSxbMSw4LDI0XV0sZmlyZXdvcmtzOltbMSwzLDI0XV0sZmxhZzpbWzAsMTAsMjRdLFswLDEwLDQ4XSxbMSwxMCwxOF0sWzEsMTAsMjRdLFsxLDEwLDQ4XV0sZmxhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxmbGFzaF9hdXRvOltbMCwzLDI0XSxbMSwzLDI0XV0sZmxhc2hfY2lyY2xlOltbMCw1LDI0XSxbMSw1LDI0XV0sZmxhc2hfc2xhc2g6W1swLDIsMjRdLFsxLDIsMjRdXSxmbGlwX2hvcml6b250YWw6W1sxLDQsMjRdXSxmbGlwX2hvcml6b250YWxfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxmbGlwX3ZlcnRpY2FsX2hhbGZfZGFzaGVkOltbMSwKMSwyNF1dLGZvbGRlcjpbWzAsNCwyNF0sWzEsNCwyNF1dLGZvbnQ6W1sxLDEsMjRdXSxmb250X2JvbGQ6W1sxLDEsMjRdXSxmb250X2l0YWxpYzpbWzEsMSwyNF1dLGZvbnRfb3V0bGluZTpbWzEsMSwyNF1dLGZvbnRfcHJlc2VudDpbWzEsMSwyNF1dLGZvbnRfc2VyaWY6W1sxLDEsMjRdXSxmb250X3NoYWRvdzpbWzEsMSwyNF1dLGZvbnRfc3Bhcms6W1sxLDEsMjRdXSxmb250X3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGZvbnRfc3F1YXJlX3NwYXJrOltbMSwxLDE4XSxbMSwxLDI0XV0sZm9udF9zdHJpa2V0aHJvdWdoOltbMSwxLDI0XV0sZm9udF9zdHlsZTpbWzEsMiwxOF0sWzEsMiwyNF1dLGZvbnRfdW5kZXJsaW5lOltbMSwxLDI0XV0sZm9vdGJhbGw6W1swLDQsMjRdLFsxLDQsMjRdLFsxLDQsMzZdXSxnYW1lX2NvbnRyb2xsZXI6W1sxLDEsMjRdXSxnYW1pbmc6W1swLDMsMjRdLFsxLDMsMjRdXSxnZWFyOltbMCwxMCwyNF0sWzAsMTAsNDhdLFsxLDEwLDE4XSxbMSwxMCwyNF0sClsxLDEwLDQ4XV0sZ2VzdHVyZV9sb25nX3ByZXNzOltbMCwyLDI0XSxbMSwyLDI0XV0sZ2VzdHVyZV9waW5jaF9pbjpbWzEsMSwyNF1dLGdlc3R1cmVfc3dpcGVfbGVmdDpbWzEsMSwyNF1dLGdlc3R1cmVfc3dpcGVfcmlnaHQ6W1sxLDEsMjRdXSxnZXN0dXJlX3N3aXBlX3VwOltbMSwxLDI0XV0sZ2VzdHVyZV90YXA6W1swLDIsMjRdLFsxLDIsMjRdXSxnaG9zdDpbWzAsNSwyNF0sWzEsNSwyNF1dLGdpZjpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF1dLGdpZnQ6W1swLDMsMjRdLFsxLDMsMjRdXSxnbG9iZTpbWzEsNCwyNF1dLGdsb2JlX2ltYWdlOltbMSwzLDI0XV0sZ2xvdzpbWzEsMiwyNF1dLGdvb2dsZTpbWzAsMSwyNF1dLGdvb2dsZV9ibG9nZ2VyOltbMCwxLDI0XV0sZ29vZ2xlX2RyaXZlX2FkZDpbWzEsMSwyNF1dLGdvb2dsZV9sZW5zOltbMSw0LDI0XV0sZ29vZ2xlX21lZXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxnb29nbGVfcXVpY2tfc2hhcmU6W1sxLDEsMjRdXSwKZ3JhZHVhdGlvbl9jYXA6W1swLDMsMThdLFswLDMsMjRdLFsxLDMsMjRdXSxncmVhdGVyX3RoYW46W1sxLDEsMjRdXSxncmVhdGVyX3RoYW5fbjIwOltbMSwxLDI0XV0sZ3JlYXRlcl90aGFuX29yX2VxdWFsX3RvOltbMSwxLDI0XV0saGFuZDpbWzEsMiwyNF1dLGhhbmRfd2F2ZTpbWzEsMiwyNF1dLGhhbmRzX2NsYXA6W1sxLDEsMjRdXSxoYW5kc19oZWFydDpbWzAsMywyNF0sWzEsMywyNF1dLGhhc2h0YWc6W1sxLDIsMjRdXSxoZDpbWzAsOCwyNF0sWzEsOCwyNF1dLGhlYWRzZXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxoZWFyaW5nOltbMCwyLDI0XSxbMSwyLDI0XV0saGVhcnQ6W1swLDE5LDI0XSxbMSwxOSwxOF0sWzEsMTksMjRdXSxoZWFydF9jaXJjbGU6W1sxLDIsMjRdXSxoZWFydF9jdWJlOltbMSwxLDI0XV0saGVhcnRfc2xhc2g6W1sxLDEsMjRdXSxoZWxwX2J1YmJsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGhlbHBfY2lyY2xlOltbMSwyLDE4XSxbMSwyLDI0XV0saGllcmFyY2h5OltbMCwKNCwyNF0sWzEsNCwyNF1dLGhpZ2hsaWdodHM6W1sxLDIsMjRdXSxoaXN0b3J5OltbMSwxLDI0XV0saG9tZTpbWzAsMTAsMjRdLFsxLDEwLDI0XV0saG91cmdsYXNzOltbMSwzLDE4XSxbMSwzLDI0XV0saHlwZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGltYWdlOltbMCw4LDI0XSxbMSw4LDI0XV0saW1hZ2VfYWRkOltbMCw0LDI0XSxbMSw0LDI0XV0saW1hZ2VfZnJhbWU6W1sxLDEsMjRdXSxpbWFnZV9saXN0OltbMCwyLDI0XSxbMSwyLDI0XV0saW1hZ2VfbGlzdF9zbGFzaDpbWzEsMSwyNF1dLGltYWdlX3NwYXJrOltbMSwxLDI0XV0saW1hZ2Vfc3RhY2s6W1swLDIsMjRdLFsxLDIsMjRdXSxpbWFnZV92aWV3ZmluZGVyOltbMSwxLDI0XV0saW5jb2duaXRvOltbMCw5LDI0XSxbMSw5LDI0XV0saW5maW5pdHk6W1sxLDIsMjRdXSxpbmZvX2NpcmNsZTpbWzEsMTAsMThdLFsxLDEwLDI0XV0saW5mb19jaXJjbGVfc3Bhcms6W1sxLDEsMjRdXSxqZXdlbDpbWzEsMSwyNF1dLGpvdXJuZXk6W1sxLAoyLDI0XV0sa2V5OltbMSw1LDI0XV0sa2V5Ym9hcmQ6W1swLDQsMjRdLFsxLDQsMjRdXSxsYWJlbDpbWzAsNCwyNF0sWzEsNCwyNF1dLGxhYmVsX3NsYXNoOltbMCwyLDI0XSxbMSwyLDI0XV0sbGFwdG9wOltbMSwzLDI0XV0sbGFwdG9wX21vYmlsZTpbWzAsNCwyNF0sWzEsNCwyNF1dLGxheW91dF9ib3R0b206W1sxLDEsMjRdXSxsYXlvdXRfZm9yZWdyb3VuZDpbWzEsMSwyNF1dLGxheW91dF9mdWxsOltbMSwxLDI0XV0sbGF5b3V0X2xlZnQ6W1sxLDEsMjRdXSxsYXlvdXRfbWlkZGxlOltbMSwxLDI0XV0sbGF5b3V0X3BpY3R1cmVfaW5fcGljdHVyZTpbWzEsMSwyNF1dLGxheW91dF9yaWdodDpbWzEsMSwyNF1dLGxheW91dF90b3A6W1sxLDEsMjRdXSxsZWFmOltbMSwyLDI0XV0sbGVzc190aGFuOltbMSwxLDI0XV0sbGVzc190aGFuX240OltbMSwxLDI0XV0sbGVzc190aGFuX29yX2VxdWFsX3RvOltbMSwxLDI0XV0sbGljZW5zZTpbWzAsMiwyNF0sWzEsMiwyNF1dLGxpY2Vuc2VfYWxlcnQ6W1sxLAoxLDI0XV0sbGljZW5zZV9zZWFyY2g6W1sxLDEsMjRdXSxsaWNlbnNlX3NsYXNoOltbMSwxLDI0XV0sbGlnaHRidWxiOltbMCw0LDI0XSxbMSw0LDI0XV0sbGluazpbWzEsOCwxOF0sWzEsOCwyNF1dLGxpbmtfc2xhc2g6W1sxLDEsMjRdXSxsaXZlOltbMSwzLDEyXSxbMSwzLDI0XV0sbGl2ZV9waG90bzpbWzEsMiwyNF1dLGxpdmVfd2F2ZXM6W1sxLDIsMThdLFsxLDIsMjRdXSxsb2NhdGlvbl9waW46W1swLDIsMjRdLFsxLDIsMjRdXSxsb2NhdGlvbl9waW5fc2xhc2g6W1sxLDEsMjRdXSxsb2NrOltbMCwxMywxMl0sWzAsMTMsMjRdLFsxLDEzLDE4XSxbMSwxMywyNF0sWzEsMTMsNDhdXSxsb2NrX2Nsb2NrOltbMSwxLDI0XV0sbG9ja19uMjpbWzEsMSwyNF1dLGxvY2tfb3BlbjpbWzAsNCwyNF0sWzEsNCwyNF1dLG1hZ2ljX3dhbmQ6W1swLDMsMjRdLFsxLDMsMjRdXSxtYWlsOltbMCw5LDI0XSxbMSw5LDI0XV0sbWFwOltbMSwzLDI0XV0sbWVkYWw6W1sxLDIsMjRdXSxtZWRhbF9zdGFyOltbMSwKMiwyNF1dLG1lZ2FwaG9uZTpbWzAsNSwyNF0sWzEsNSwxMl0sWzEsNSwyNF1dLG1lbWJlcnNoaXBzOltbMCw5LDI0XSxbMCw5LDM2XSxbMSw5LDI0XV0sbWVtYmVyc2hpcHNfZ2lmdDpbWzEsMSwyNF1dLG1lbnRpb246W1sxLDUsMjRdXSxtZW51OltbMSwxLDI0XV0sbWljOltbMCwxNCwxOF0sWzAsMTQsMjRdLFswLDE0LDM2XSxbMCwxNCw0OF0sWzEsMTQsMThdLFsxLDE0LDI0XSxbMSwxNCw0OF1dLG1pY19zbGFzaDpbWzEsMiwyNF1dLG1pY19zcGFyazpbWzAsMSwxOF0sWzAsMSwyNF0sWzEsMSwxOF0sWzEsMSwyNF1dLG1pbnVzOltbMSwyLDE4XSxbMSwyLDI0XV0sbWludXNfY2lyY2xlOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sbWludXNfc3F1YXJlOltbMCwyLDI0XSxbMSwyLDI0XV0sbWl4OltbMCw0LDI0XSxbMSw0LDE4XSxbMSw0LDI0XV0sbW9iaWxlOltbMCw0LDI0XSxbMSw0LDI0XV0sbW9iaWxlX2Fycm93X2Rvd246W1sxLDEsMjRdXSxtb2JpbGVfYXJyb3dfaW46W1sxLAoxLDI0XV0sbW9iaWxlX2Fycm93X291dDpbWzEsMSwyNF1dLG1vYmlsZV9jaGVjazpbWzEsMiwyNF1dLG1vYmlsZV9sYW5kc2NhcGU6W1swLDMsMjRdLFsxLDMsMjRdXSxtb3Rpb246W1sxLDIsMjRdXSxtb3ZlOltbMSw0LDE4XSxbMSw0LDI0XV0sbXVzaWNfdmlkZW86W1swLDQsMjRdLFsxLDQsMjRdXSxtdXNpY192aWRlb19zbGFzaDpbWzEsMSwyNF1dLG4xNTpbWzEsMSwyNF1dLG4xcG9pbnQyeDpbWzEsMSwyNF1dLG4xcG9pbnQ1eDpbWzEsMSwyNF1dLG4xcG9pbnQ4eDpbWzEsMSwyNF1dLG4xeDpbWzEsMSwyNF1dLG4yZDpbWzEsMSwyNF1dLG4ycG9pbnQ1eDpbWzEsMSwyNF1dLG4yeDpbWzEsMSwyNF1dLG4zZDpbWzEsMSwyNF1dLG4zeDpbWzEsMSwyNF1dLG40ZDpbWzEsMSwyNF1dLG40azpbWzAsMSwyNF0sWzEsMSwyNF1dLG42MDpbWzEsMSwyNF1dLG44azpbWzAsMSwyNF0sWzEsMSwyNF1dLG5ld19yZWxlYXNlOltbMSwxLDI0XV0sbmV3czpbWzAsMywyNF0sWzEsMywyNF1dLG5ld3NfYWxlcnQ6W1swLAoxLDI0XV0sbm9kZV9sZWZ0OltbMSwyLDI0XV0sbm9kZV9yaWdodDpbWzEsMiwyNF1dLG5vdGU6W1swLDEsMThdLFswLDEsMjRdLFsxLDEsMThdLFsxLDEsMjRdXSxub3RlX3NwYXJrOltbMCwyLDE4XSxbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0sb3Blbl9pbl9wYW5lbDpbWzEsMiwyNF1dLG9yaWdpbmFsczpbWzAsMSwyNF0sWzEsMSwyNF1dLG92ZXJmbG93X2hvcml6b250YWw6W1sxLDYsMjRdLFsxLDYsMzZdXSxvdmVyZmxvd192ZXJ0aWNhbDpbWzEsMTMsMThdLFsxLDEzLDI0XSxbMSwxMywzNl1dLHBhZ2Vfc2VhcmNoOltbMSwxLDI0XV0scGFpbnRfYnVja2V0OltbMSwzLDI0XV0scGFpbnRfcGFsZXR0ZTpbWzEsMSwyNF1dLHBhbmVsczpbWzAsMiwyNF0sWzEsMiwyNF1dLHBhdXNlOltbMCw5LDI0XSxbMCw5LDM2XSxbMCw5LDQ4XSxbMSw5LDI0XV0scGF1c2VfY2lyY2xlOltbMCwyLDI0XSxbMSwyLDI0XV0scGF1c2VfaGlzdG9yeTpbWzEsMSwyNF1dLHBhd3ByaW50OltbMCwKMiwyNF0sWzEsMiwyNF1dLHBkZjpbWzEsMiwyNF1dLHBlbmNpbDpbWzAsMTAsMjRdLFsxLDEwLDE4XSxbMSwxMCwyNF1dLHBlbmNpbF9zcGFyazpbWzEsMSwyNF1dLHBlcmNlbnQ6W1sxLDEsMjRdXSxwZXJzb246W1swLDcsMjRdLFsxLDcsMTJdLFsxLDcsMjRdXSxwZXJzb24yOltbMSwxLDI0XV0scGVyc29uMl9yZWN0YW5nbGU6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb24zOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGVyc29uX2FkZDpbWzAsNywyNF0sWzEsNywxOF0sWzEsNywyNF1dLHBlcnNvbl9hdWRpbzpbWzAsMywyNF0sWzEsMywxOF0sWzEsMywyNF0sWzEsMyw0OF1dLHBlcnNvbl9iYWNrZ3JvdW5kX3NwYXJrOltbMSwxLDI0XV0scGVyc29uX2NoZWNrOltbMSwxLDI0XV0scGVyc29uX2NoaWxkOltbMCwyLDEyXSxbMCwyLDI0XSxbMSwyLDI0XV0scGVyc29uX2NpcmNsZTpbWzAsMTAsMjRdLFsxLDEwLDI0XSxbMSwxMCw0OF1dLHBlcnNvbl9jaXJjbGVfc2xhc2g6W1sxLAoyLDI0XV0scGVyc29uX2dlYXI6W1swLDIsMjRdLFsxLDIsMjRdXSxwZXJzb25fc2hpZWxkOltbMSw3LDI0XV0scGVyc29uX3NxdWFyZTpbWzAsMiwyNF0sWzEsMiwxOF0sWzEsMiwyNF1dLHBlcnNvbl9zcXVhcmVfc3Bhcms6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fc3F1YXJlX3N0YWNrOltbMCwyLDI0XSxbMSwyLDE4XSxbMSwyLDI0XV0scGVyc29uX3ZpZXdmaW5kZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25fd2F2ZWZvcm06W1sxLDIsMjRdXSxwZXJzb25fd2F2ZXM6W1swLDEsMjRdLFsxLDEsMjRdXSxwZXJzb25feDpbWzEsMSwyNF1dLHBob25lOltbMCwzLDI0XSxbMSwzLDEyXSxbMSwzLDI0XV0scGlhbm86W1sxLDEsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmU6W1swLDIsMjRdLFsxLDIsMjRdXSxwaWN0dXJlX2luX3BpY3R1cmVfc3RhY2s6W1sxLDEsMjRdXSxwaW46W1swLDcsMjRdLFsxLDcsMThdLFsxLDcsMjRdXSxwaW5fc2xhc2g6W1swLDIsMjRdLFsxLDIsMThdLApbMSwyLDI0XV0scGxheTpbWzAsNCwxOF0sWzAsNCwyNF0sWzAsNCwzNl0sWzAsNCw0OF0sWzEsNCwyNF1dLHBsYXlfY2lyY2xlOltbMCwyLDI0XSxbMCwyLDQ4XSxbMSwyLDI0XV0scGxheV9jaXJjbGVfaGFsZl9kYXNoZWQ6W1sxLDEsMjRdXSxwbGF5X3BhdXNlOltbMCwxLDI0XSxbMSwxLDI0XV0scGxheV9zbGFzaDpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlfc3F1YXJlX2hhbGZfZGFzaGVkOltbMSwxLDI0XV0scGxheV9zcXVhcmVfc3RhY2s6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5YWJsZXM6W1swLDIsMjRdLFsxLDIsMThdLFsxLDIsMjRdXSxwbGF5ZXJfZGVmYXVsdDpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXllcl9mdWxsX2VudGVyOltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZW50ZXJfYWx0OltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZW50ZXJfcG9ydHJhaXQ6W1sxLDIsMjRdXSxwbGF5ZXJfZnVsbF9leGl0OltbMSwxLDI0XV0scGxheWVyX2Z1bGxfZXhpdF9hbHQ6W1sxLDEsCjI0XV0scGxheWVyX21pbmlfZW50ZXI6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfbWluaV9leGl0OltbMSwxLDI0XV0scGxheWVyX211bHRpdmlldzpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXllcl9zd2l0Y2g6W1swLDEsMjRdLFsxLDEsMjRdXSxwbGF5ZXJfdGhlYXRlcjpbWzAsMSwyNF0sWzEsMSwyNF1dLHBsYXlsaXN0OltbMSw1LDEyXSxbMSw1LDE4XSxbMSw1LDI0XSxbMSw1LDQ4XV0scGxheWxpc3RfYWRkOltbMSwzLDE4XSxbMSwzLDI0XV0scGxheWxpc3RfYXVkaW86W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdLFsxLDMsNDhdXSxwbGF5bGlzdF9hdWRpb19zbGFzaDpbWzEsMSwyNF1dLHBsYXlsaXN0X2NoZWNrOltbMSwxLDI0XV0scGxheWxpc3RfcGVuY2lsOltbMSwyLDI0XSxbMSwyLDQ4XV0scGxheWxpc3RfeDpbWzEsMywxOF0sWzEsMywyNF1dLHBvZGNhc3Q6W1swLDYsMTJdLFswLDYsMjRdLFsxLDYsMTJdLFsxLDYsMThdLFsxLDYsMjRdLFsxLDYsNDhdXSxwb2RjYXN0X2FkZDpbWzAsCjIsMjRdLFsxLDIsMjRdXSxwb2RjYXN0X2NoZWNrOltbMCwyLDI0XV0scG9pbnQyeDpbWzEsMSwyNF1dLHBvaW50M3g6W1sxLDEsMjRdXSxwb2ludDV4OltbMSwxLDI0XV0scG9pbnQ4eDpbWzEsMSwyNF1dLHBvbGw6W1sxLDEwLDE4XSxbMSwxMCwyNF0sWzEsMTAsMzZdXSxwb3N0OltbMCwyLDEyXSxbMCwyLDE4XSxbMCwyLDI0XSxbMSwyLDEyXSxbMSwyLDE4XSxbMSwyLDI0XV0scHJlbWl1bTpbWzAsMSwyNF0sWzEsMSwyNF1dLHByZXNlbnRhdGlvbjpbWzEsMywyNF1dLHByaWNlX3RhZzpbWzAsOCwyNF0sWzAsOCw0OF0sWzEsOCwyNF1dLHByaWNlX3RhZ19oZWFydDpbWzEsMiwyNF1dLHByaWNlX3RhZ19yZWN0YW5nbGU6W1sxLDEsMjRdXSxxcl9jb2RlOltbMSwzLDI0XV0scXJfY29kZV92aWV3ZmluZGVyOltbMSwxLDI0XV0scXVlc3Rpb25faGVhZDpbWzEsMiwyNF1dLHF1ZXVlOltbMSwxLDI0XV0scXVldWVfbGFzdDpbWzEsMSwyNF1dLHF1ZXVlX25leHQ6W1sxLDEsMjRdXSxxdWl6OltbMCwKMSwyNF0sWzEsMSwyNF1dLHF1b3RlOltbMCwxLDI0XSxbMSwxLDI0XV0scXVvdGVfc2xhc2g6W1swLDEsMjRdLFsxLDEsMjRdXSxyZWNvcmQ6W1swLDIsMjRdXSxyZWRvOltbMSwyLDE4XSxbMSwyLDI0XV0scmVtaXg6W1sxLDIsMjRdXSxyZW1peF9zcGFya2xlczpbWzEsMSwyNF1dLHJlbW90ZV93YXZlczpbWzEsMSwyNF1dLHJlcGVhdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHJlcGVhdDE6W1swLDEsMjRdLFsxLDEsMjRdXSxyZXBsYXk6W1sxLDIsMjRdLFsxLDIsMzZdXSxyb3RhdGVfY2xvY2t3aXNlOltbMSwxLDI0XV0scm90YXRlX2NvdW50ZXJjbG9ja3dpc2U6W1sxLDEsMjRdXSxyb3RhdGVfbGFuZHNjYXBlOltbMSwyLDE4XSxbMSwyLDI0XV0scm90YXRlX3BvcnRyYWl0OltbMSwxLDI0XV0scnNzOltbMSwyLDI0XV0scnNzX3NsYXNoOltbMSwxLDI0XV0scnVieTpbWzEsMiwyNF1dLHNhbXBsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxzYXR1cmF0aW9uOltbMSwyLDI0XV0sc2NhbGU6W1sxLAo0LDI0XV0sc2Npc3NvcnM6W1swLDgsMjRdLFsxLDgsMThdLFsxLDgsMjRdXSxzY2lzc29yc19jdXQ6W1sxLDQsMjRdXSxzY3JpYmJsZTpbWzEsMSwyNF1dLHNkOltbMCwzLDI0XSxbMSwzLDI0XV0sc2VhcmNoOltbMCwxNSwyNF0sWzEsMTUsMThdLFsxLDE1LDI0XSxbMSwxNSw0OF1dLHNlYXJjaF9zaGllbGQ6W1swLDEsMjRdLFsxLDEsMjRdXSxzZWFyY2hfc3Bhcms6W1sxLDMsMThdLFsxLDMsMjRdXSxzZWVrX2ZvcndhcmQ6W1swLDEsMjRdXSxzZWVrX3Jld2luZDpbWzAsMSwyNF1dLHNlbmQ6W1swLDcsMTgsITBdLFswLDcsMjQsITBdLFsxLDcsMTgsITBdLFsxLDcsMjQsITBdXSxzaGFkb3c6W1sxLDEsMjRdXSxzaGFkb3dfaGFyZDpbWzAsMywyNF0sWzEsMywyNF1dLHNoYWRvd19zb2Z0OltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcGVzOltbMCwzLDI0XSxbMSwzLDI0XV0sc2hhcmU6W1swLDEyLDI0LCEwXSxbMSwxMiwxOCwhMF0sWzEsMTIsMjQsITBdXSxzaGFyZV9hbmRyb2lkOltbMCwKMiwyNF0sWzEsMiwyNF1dLHNoYXJlX2lvczpbWzEsMiwyNF1dLHNoYXJwZW46W1sxLDEsMjRdXSxzaGllbGQ6W1swLDYsMjRdLFsxLDYsMjRdXSxzaGllbGRfYWRkOltbMSwyLDI0XV0sc2hpZWxkX2hlYWx0aDpbWzEsMSwyNF1dLHNoaWVsZF9vdmVyZmxvdzpbWzEsMiwyNF1dLHNoaWVsZF9zbGFzaDpbWzEsMSwyNF1dLHNoaWVsZF94OltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sc2hvcnRzOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sc2hvcnRzX2FkZDpbWzEsMSwxOF0sWzEsMSwyNF1dLHNob3J0c19lbXB0eTpbWzAsMywxOF0sWzAsMywyNF0sWzEsMywyNF1dLHNodWZmbGU6W1swLDQsMjRdLFsxLDQsMThdLFsxLDQsMjRdXSxza2lwMTBfYmFjazpbWzEsMiwyNF0sWzEsMiwzNl1dLHNraXAxMF9mb3J3YXJkOltbMSwxLDI0XV0sc2tpcDE1X2JhY2s6W1sxLDEsMjRdXSxza2lwMTVfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXAyMF9iYWNrOltbMSwxLDI0XV0sc2tpcDIwX2ZvcndhcmQ6W1sxLAoxLDI0XV0sc2tpcDMwX2JhY2s6W1sxLDEsMjRdXSxza2lwMzBfZm9yd2FyZDpbWzEsMiwyNF0sWzEsMiwzNl1dLHNraXA1X2JhY2s6W1sxLDEsMjRdXSxza2lwNV9mb3J3YXJkOltbMSwxLDI0XV0sc2tpcDYwX2JhY2s6W1sxLDEsMjRdXSxza2lwNjBfZm9yd2FyZDpbWzEsMSwyNF1dLHNraXBfZG93bjpbWzAsNiwyNF0sWzEsNiwyNF1dLHNraXBfbmV4dDpbWzAsNywxMl0sWzAsNywyNF0sWzAsNywzNl0sWzEsNywyNF1dLHNraXBfcHJldmlvdXM6W1swLDYsMjRdLFswLDYsMzZdLFsxLDYsMjRdXSxza2lwX3VwOltbMCw2LDI0XSxbMSw2LDI0XV0sc2xhc2hfZm9yd2FyZDpbWzEsMSwyNF1dLHNsZWVwX3RpbWVyOltbMCwyLDI0XSxbMSwyLDI0XV0sc2xpcDpbWzEsMSwxOF0sWzEsMSwyNF1dLHNub3dmbGFrZTpbWzEsMSwyNF1dLHNvY2Nlcl9iYWxsOltbMSwzLDI0XV0sc29uYXI6W1sxLDEsMjRdXSxzb3J0OltbMSwzLDEyXSxbMSwzLDE4XSxbMSwzLDI0XV0sc3BhY2ViYXI6W1sxLDIsCjI0XV0sc3Bhcms6W1swLDExLDEyXSxbMCwxMSwyNF0sWzEsMTEsMjRdXSxzcGFya19idWJibGVfY2hhdDpbWzEsMSwyNF1dLHNwYXJrX2xpZ2h0YnVsYjpbWzAsMywyNF0sWzEsMywyNF1dLHNwYXJrX3NlYXJjaDpbWzEsMSwyNF1dLHNwYXJrX3dhdmVzOltbMCwyLDI0XSxbMSwyLDI0XV0sc3BhcmtsZXM6W1swLDIsMjRdLFsxLDIsMjRdXSxzcGVha2VyOltbMSwyLDI0XV0sc3BlYWtlcl9oZWFkc2V0OltbMSwyLDI0XV0sc3BlYWtlcl9zbGFzaDpbWzEsMSwyNF1dLHNwZWFrZXJfc3RhY2s6W1sxLDEsMjRdXSxzcGVha2VyX3N0YWNrX3NsYXNoOltbMSwxLDI0XV0sc3BlZWRvbWV0ZXI6W1swLDIsMjRdLFsxLDIsMjRdXSxzcGxpY2U6W1sxLDEsMjRdXSxzcGxpdDpbWzEsNCwyNF1dLHNwb3RsaWdodDpbWzAsMywyNF0sWzEsMywyNF1dLHNwcmVhZHNoZWV0OltbMSwxLDI0XV0sc3F1YXJlOltbMCwyLDI0XSxbMSwyLDI0XV0sc3F1YXJlM19zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLApzcXVhcmUzZF9zdGFjazpbWzAsMiwyNF0sWzEsMiwyNF1dLHNxdWFyZV9ncmlkMngyOltbMSwxLDI0XV0sc3F1YXJlX2dyaWQzeDM6W1swLDIsMjRdLFsxLDIsMjRdXSxzcXVhcmVfcGFpbnRicnVzaDpbWzEsMSwyNF1dLHNxdWFyZV9wZW5jaWw6W1swLDMsMjRdLFsxLDMsMThdLFsxLDMsMjRdXSxzdGFibGVfdm9sdW1lOltbMCwyLDI0XSxbMSwyLDI0XV0sc3RhcjpbWzAsNiwxMl0sWzAsNiwyNF0sWzEsNiwxMl0sWzEsNiwyNF1dLHN0YXJfY2lyY2xlOltbMCw2LDEyXSxbMCw2LDE4XSxbMCw2LDI0XSxbMCw2LDM2XSxbMSw2LDI0XV0sc3Rhcl9mdWxsX2hhbGY6W1swLDEsMTJdLFswLDEsMjRdXSxzdGFyX2hhbGZfZmlsbGVkOltbMSwyLDEyXSxbMSwyLDI0XV0sc3Rhcl90aWNrZXQ6W1swLDIsMjRdLFsxLDIsMjRdXSxzdGFyX3Ryb3BoeTpbWzEsMSwyNF1dLHN0YXJfdHY6W1sxLDEsMjRdXSxzdGlja2VyOltbMSwzLDE4XSxbMSwzLDI0XV0sc3RvcDpbWzAsNiwyNF0sWzAsNiwzNl0sClsxLDYsMjRdXSxzdG9wX2NpcmNsZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHN0b3B3YXRjaDpbWzAsNSwyNF0sWzEsNSwyNF1dLHN0b3B3YXRjaDEwOltbMCwxLDI0XV0sc3RvcHdhdGNoMzpbWzAsMSwyNF1dLHN0b3JhZ2U6W1swLDIsMjRdLFsxLDIsMjRdXSxzdWJzY3JpcHRpb25zOltbMCwxMiwyNF0sWzEsMTIsMjRdLFsxLDEyLDQ4XV0sc3VidGl0bGVzOltbMCw1LDI0XSxbMCw1LDQ4XSxbMSw1LDI0XV0sc3VidGl0bGVzX2J1YmJsZTpbWzEsMSwyNF1dLHN1bTpbWzEsMSwyNF1dLHN1cGVyX2NoYXQ6W1swLDgsMjRdLFsxLDgsMjRdXSxzdXBlcl9zdGFyOltbMSwxLDI0XV0sc3VwZXJfc3RpY2tlcjpbWzAsOCwyNF0sWzEsOCwyNF1dLHN1cGVyX3N0b3JlOltbMCwzLDI0XSxbMSwzLDI0XV0sc3VwcG9ydF9hZ2VudDpbWzEsMSwyNF1dLHN1cnJvdW5kX3NvdW5kOltbMCwyLDI0XSxbMSwyLDI0XV0sdGFibGV0X2xhbmRzY2FwZTpbWzEsMSwyNF1dLHRhcmdldDpbWzEsMiwyNF1dLHRhcmdldF9hZGQ6W1sxLAoyLDI0XV0sdGVtcGxhdGVfYWRkOltbMSwzLDI0XV0sdGVtcGxhdGVfcGxheTpbWzAsMywyNF0sWzEsMywyNF1dLHRlbXBsYXRlX3BsYXlfc3Bhcms6W1sxLDEsMjRdXSx0ZXh0X2FsaWduX2NlbnRlcjpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfYWxpZ25fbGVmdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfYWxpZ25fcmlnaHQ6W1swLDIsMjRdLFsxLDIsMjRdXSx0ZXh0X2J1YmJsZTpbWzAsNCwyNF0sWzEsNCwxMl0sWzEsNCwxOF0sWzEsNCwyNF1dLHRleHRfcGFnZTpbWzAsMiwyNF0sWzEsMiwyNF1dLHRleHRfcGFnZV9hbGVydDpbWzEsMSwyNF1dLHRleHRfcGFnZV9jaGVjazpbWzEsMSwyNF1dLHRleHRfcGFnZV9pbmZvOltbMSwxLDI0XV0sdGV4dF9zcGFyazpbWzEsMSwyNF1dLHRleHR1cmU6W1sxLDEsMjRdXSx0aGVhdGVyOltbMSwxLDI0XV0sdGhlbWU6W1swLDIsMjRdLFsxLDIsMjRdXSx0aGVybW9tZXRlcjpbWzEsMiwyNF1dLHRodW1iX2Rvd246W1swLDI1LDE4XSxbMCwKMjUsMjRdLFswLDI1LDM2XSxbMCwyNSw0OF0sWzEsMjUsMThdLFsxLDI1LDI0XSxbMSwyNSwzNl0sWzEsMjUsNDhdXSx0aHVtYl91cDpbWzAsMjQsMTJdLFswLDI0LDE4XSxbMCwyNCwyNF0sWzAsMjQsMzZdLFswLDI0LDQ4XSxbMSwyNCwxMl0sWzEsMjQsMThdLFsxLDI0LDI0XSxbMSwyNCwzNl0sWzEsMjQsNDhdXSx0aHVtYl91cF9kb3duOltbMCw0LDI0XSxbMSw0LDI0XV0sdGlsdDpbWzEsNCwyNF1dLHRpbWVsaW5lOltbMSwzLDI0XV0sdGltZWxpbmVfc3Bhcms6W1sxLDEsMjRdXSx0aW1lc3RhbXBfYWRkOltbMSwxLDI0XV0sdG9vbGJveDpbWzAsNCwyNF0sWzEsNCwyNF1dLHRyYW5zY3JpcHQ6W1sxLDIsMjRdXSx0cmFuc2l0aW9uOltbMCw1LDI0XSxbMSw1LDI0XV0sdHJhbnNsYXRlOltbMSw0LDE4XSxbMSw0LDI0XV0sdHJhc2hfY2FuOltbMCwxMCwyNF0sWzEsMTAsMThdLFsxLDEwLDI0XV0sdHJlbmRpbmc6W1swLDIsMjRdLFsxLDIsMjRdXSx0cmlhbmdsZV9kb3duOltbMCw4LAoxOF0sWzAsOCwyNF0sWzEsOCwyNF1dLHRyaWFuZ2xlX3VwOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDI0XV0sdHJvcGh5OltbMCwzLDI0XSxbMSwzLDI0XV0sdHJ1Y2s6W1swLDUsMjRdLFsxLDUsMjRdXSx0djpbWzAsOCwyNF0sWzEsOCwyNF0sWzEsOCw0OF1dLHR2X2Fycm93X2xlZnQ6W1sxLDIsMjRdXSx0dl9jaXJjbGU6W1swLDMsMjRdLFsxLDMsMjRdXSx0dl9tb2JpbGU6W1sxLDIsMjRdLFsxLDIsMzZdXSx0dl9zbGFzaDpbWzEsMSwyNF1dLHVuYXJjaGl2ZTpbWzEsMSwyNF1dLHVuZG86W1sxLDIsMThdLFsxLDIsMjRdXSx1cGxvYWQ6W1sxLDUsMjRdXSx2YXJpYWJsZTpbWzEsNCwyNF1dLHZpZGVvOltbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0sdmlkZW9fY2FtZXJhOltbMCw5LDI0XSxbMCw5LDQ4XSxbMSw5LDI0XSxbMSw5LDQ4XV0sdmlkZW9fY2FtZXJhX2FkZDpbWzEsMiwyNF1dLHZpZGVvX2NhbWVyYV9zbGFzaDpbWzEsMSwyNF1dLHZpZGVvX2xpbms6W1sxLDUsMThdLApbMSw1LDI0XV0sdmlkZW9fcG9ydHJhaXRfc3Bhcms6W1sxLDEsMjRdXSx2aWRlb19yZXZlcnNlOltbMSwxLDI0XV0sdmlkZW9fc2xhc2g6W1sxLDEsMTJdLFsxLDEsMThdLFsxLDEsMjRdLFsxLDEsMzZdLFsxLDEsNDhdXSx2aWRlb19zcGFyazpbWzEsMiwyNF1dLHZpZGVvX3N0YWNrX3NwYXJrOltbMSwxLDE4XSxbMSwxLDI0XV0sdmlkZW9fc3RpdGNoOltbMSwyLDI0XV0sdmlkZW9fd2F2ZWZvcm06W1sxLDEsMjRdXSx2aWV3X2NvbHVtbjI6W1sxLDEsMjRdXSx2aWV3X2NvbHVtbjM6W1swLDIsMjRdLFsxLDIsMjRdXSx2aWV3X2NvbHVtbjNfcm93MjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfY29tcGFjdDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfZmVlZDpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfbGlzdDpbWzEsMSwyNF1dLHZpZXdfcm93MjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZpZXdfdGltZWxpbmU6W1sxLDEsMjRdXSx2aWV3ZmluZGVyOltbMSwxLDEyXSxbMSwxLDE4XSwKWzEsMSwyNF1dLHZpZ25ldHRlOltbMSwxLDI0XV0sdm9sdW1lX2ZhZGU6W1sxLDIsMjRdXSx2b2x1bWVfbWF4OltbMCwyLDI0XSxbMSwyLDI0XV0sdm9sdW1lX21pbjpbWzAsMiwyNF0sWzEsMiwyNF1dLHZvbHVtZV9tdXRlOltbMCwyLDI0XSxbMSwyLDI0XV0sdnI6W1swLDcsMjRdLFsxLDcsMjRdXSx3YXRjaDpbWzEsMSwyNF1dLHdhdGVyOltbMSwxLDI0XV0sd2F2ZWZvcm06W1sxLDMsMjRdLFsxLDMsNDhdXSx3YXZlZm9ybV9zcGFyazpbWzEsMiwyNF1dLHdpZmlfdGV0aGVyaW5nOltbMSwxLDI0XV0sd3JlbmNoOltbMCwzLDE4XSxbMCwzLDI0XSxbMSwzLDE4XSxbMSwzLDI0XV0seDpbWzEsMTEsMThdLFsxLDExLDI0XSxbMSwxMSwzNl1dLHhfY2lyY2xlOltbMCw5LDI0XSxbMSw5LDE4XSxbMSw5LDI0XV0seF9vY3RhZ29uOltbMSwzLDEyXSxbMSwzLDI0XV0seF9yZWN0YW5nbGU6W1sxLDEsMjRdXSx5ZW5fc2lnbl9yZWN0YW5nbGU6W1swLDIsMjRdLFsxLDIsMjRdXSx5b3V0dWJlOltbMCwKMiwyNF0sWzEsMiwyNF1dLHlvdXR1YmVfa2lkczpbWzAsNSwyNF0sWzEsNSwyNF1dLHlvdXR1YmVfbGFiczpbWzAsMSwyNF1dLHlvdXR1YmVfbXVzaWM6W1swLDcsMjRdLFsxLDcsMjRdXSx5b3V0dWJlX3Nob3J0czpbWzAsMTEsMjRdLFsxLDExLDI0XV0seW91dHViZV9zdHVkaW86W1swLDgsMjRdLFsxLDgsMjRdXSx5b3V0dWJlX3R2OltbMCw4LDI0XSxbMSw4LDI0XV0sem9vbV9hdXRvOltbMSwyLDI0XV0sem9vbV9pbjpbWzAsMiwyNF0sWzEsMiwyNF1dLHpvb21fb3V0OltbMCwyLDI0XSxbMSwyLDI0XV19O3ZhciBYcWE9e1ZPTFVNRV9VUF9ERUxISV9QTEFZRVJfRklMTEVEOiJWT0xVTUVfTUFYIixWT0xVTUVfT0ZGX0RFTEhJX1BMQVlFUjoiVk9MVU1FX01VVEUiLFZPTFVNRV9ET1dOX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlZPTFVNRV9NSU4iLENMT1NFRF9DQVBUSU9OX0RFTEhJX1BMQVlFUjoiQ0FQVElPTlMiLENMT1NFRF9DQVBUSU9OX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IkNBUFRJT05TIixTVUJUSVRMRVNfREVMSElfUExBWUVSOiJTVUJUSVRMRVMiLFNVQlRJVExFU19ERUxISV9QTEFZRVJfRklMTEVEOiJTVUJUSVRMRVMiLFBMQVlFUl9GVUxMX0VOVEVSX0FMVDoiUExBWUVSX0ZVTExfRU5URVJfQUxUIixQTEFZRVJfRlVMTF9FWElUX0FMVDoiUExBWUVSX0ZVTExfRVhJVF9BTFQiLFBBVVNFX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlBBVVNFIixQTEFZX0FSUk9XX0RFTEhJX1BMQVlFUl9GSUxMRUQ6IlBMQVlfQVJST1cifSx2Wj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1tZihhLApiKXt2YXIgYz1YcWFbYS5pY29uTmFtZS50b1VwcGVyQ2FzZSgpXTtjJiYoYS5pY29uTmFtZT1jKTt2YXIgZD1hLmljb25OYW1lO2Q9ZC5yZXBsYWNlKC8tL2csIl8iKTthPXsuLi5hLGljb25OYW1lOnVZKGQsISFjKXx8ZC50b0xvd2VyQ2FzZSgpfTtyZXR1cm4gXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIil8fGM/clkoV3FhLGEsdGhpcy5qPy5yd3x8QXBhLGIpOnJZKFZxYSxhLHRoaXMuaj8ucnd8fHpwYSxiKX19O3ZaW18uTG5dPVtfLkluKF8ubk8pXTt2YXIgQnBhPW5ldyBTZXQoWyJjaSIsImNyIiwiY2FybWwiXSksdlk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnNpZ25hbHM9W107dGhpcy5qPW5ldyBNYXA7dGhpcy5CPW5ldyBTZXQ7dGhpcy5vPW5ldyBNYXA7dGhpcy52PW5ldyBNYXB9VnEoYSl7aWYoYS5sZW5ndGg+MSl7dmFyIGI9W107bGV0IGY9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IodmFyIGMgb2YgYSlmW2NdfHwoYi5wdXNoKGMpLGZbY109ITApO2E9Yn1pZihhLmxlbmd0aD09PTEpdmFyIGQ9YVswXTtlbHNle2M9YTtiPSIiO2Muc29ydCgpO2ZvcihlIG9mIGMpYis9ZSsifCI7dmFyIGU9YjtpZighdGhpcy5qLmdldChlKSl7Yz0wO2I9W107Zm9yKGQgb2YgYSljKysseFkodGhpcyxkKXx8Yi5wdXNoKGQpO2M+Yi5sZW5ndGg/dGhpcy5zaWduYWxzLnB1c2goZSk6Q3BhKHRoaXMsZSxhLGIpfWQ9ZX1yZXR1cm4gZH1IaChhLGIsYyxkLGUpe3hZKHRoaXMsYyk/Xy5DaygpLkdhKGEsYixkKTooZSYmKGE9eVkoYSksQVkodGhpcywKYSxiLGMsZSkpLGU9dGhpcy5vLmdldChjKSxlfHwodGhpcy5vLnNldChjLFtdKSxlPXRoaXMuby5nZXQoYykpLGUucHVzaCh7eGg6YSxwcmlvcml0eTpiLGRlbGF5OmR9KSl9YWRkTGlzdGVuZXIoYSxiLGMpe2MmJihiPXlZKGIpLEFZKHRoaXMsYiwwLGEsYykpO2M9dGhpcy52LmdldChhKTtjfHwodGhpcy52LnNldChhLFtdKSxjPXRoaXMudi5nZXQoYSkpO2MucHVzaChiKX1XbShhKXtpZigheFkodGhpcyxhKSl7dGhpcy5CLmFkZChhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2lmKGIpe2ZvcihsZXQgYyBvZiBiKV8uQ2soKS5HYShjLnhoLGMucHJpb3JpdHksYy5kZWxheSk7dGhpcy5vLmRlbGV0ZShhKX1pZihiPXRoaXMudi5nZXQoYSkpe2ZvcihsZXQgYyBvZiBiKWMoKTt0aGlzLnYuZGVsZXRlKGEpfXRoaXMuc2lnbmFscy5wdXNoKGEpO3RoaXMuQi5kZWxldGUoYSl9fX07dlkucHJvdG90eXBlLnByb2Nlc3NTaWduYWw9dlkucHJvdG90eXBlLldtOwp2WS5wcm90b3R5cGUucGFya09yU2NoZWR1bGVKb2I9dlkucHJvdG90eXBlLkhoO3ZZLnByb3RvdHlwZS5vbkFueT12WS5wcm90b3R5cGUuVnE7Xy5yYSgieXRzaWduYWxzLmdldEluc3RhbmNlIix3WSk7dlkucHJvdG90eXBlLm9uQW55PXZZLnByb3RvdHlwZS5WcTt2WS5wcm90b3R5cGUucGFya09yU2NoZWR1bGVKb2I9dlkucHJvdG90eXBlLkhoO3ZZLnByb3RvdHlwZS5wcm9jZXNzU2lnbmFsPXZZLnByb3RvdHlwZS5XbTt2YXIgelk9bmV3IFNldChbImVvcCIsImVvY3MiLCJkbCIsInBjbCJdKTt2YXIgdnFhPWNsYXNzIGV4dGVuZHMgXy5Xc3tjb25zdHJ1Y3RvcihhKXt2YXIgYj17fTtzdXBlcigidW5pbml0aWFsaXplZCIpO3RoaXMuZW52PWE7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206InVuaW5pdGlhbGl6ZWQiLHRvOiJpbml0aWFsaXplZCIsYWN0aW9uOnRoaXMuaW5pdH0se2Zyb206ImluaXRpYWxpemVkIix0bzoicmVuZGVyaW5nIixhY3Rpb246dGhpcy5LfSx7ZnJvbToicmVuZGVyaW5nIix0bzoicmVuZGVyZWQiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJyZW5kZXJlZCIsdG86ImFmdGVyLXJlbmRlci1kZWZlcnJlZCIsYWN0aW9uOnRoaXMub31dO2IuRmchPT12b2lkIDAmJih0aGlzLkIuRmc9Yi5GZyl9YXN5bmMgaW5pdChhKXt0aGlzLkIuRmc/YXdhaXQgYSh0aGlzLmVudik6YSh0aGlzLmVudik7dGhpcy5qJiZhd2FpdCB0aGlzLmouby5wcm9taXNlO3dZKCkuSGgoKCk9Pnt0aGlzLnRyYW5zaXRpb24oInJlbmRlcmluZyIpfSwxMCwiY2kiKX1hc3luYyBLKGEpe3RoaXMuQi5GZz8KYXdhaXQgYSh0aGlzLmVudik6YSh0aGlzLmVudik7dGhpcy5qJiZhd2FpdCB0aGlzLmouby5wcm9taXNlO3dZKCkuSGgoKCk9Pnt0aGlzLnRyYW5zaXRpb24oInJlbmRlcmVkIil9LDEwLCJjciIpfWFzeW5jIEQoYSl7dGhpcy5CLkZnP2F3YWl0IGEodGhpcy5lbnYpOmEodGhpcy5lbnYpO3RoaXMuaiYmYXdhaXQgdGhpcy5qLm8ucHJvbWlzZTt3WSgpLkhoKCgpPT57dGhpcy50cmFuc2l0aW9uKCJhZnRlci1yZW5kZXItZGVmZXJyZWQiKX0sMTAsImNhcm1sIil9YXN5bmMgbyhhKXthKHRoaXMuZW52KX19O3ZhciB3Wj0hMSx3cWE9e2luaXRpYWxpemVkOntwcmlvcml0eToxMCxjYWxsYmFjazpmdW5jdGlvbigpe3dafHwoXy5kdyh7R2Y6YT0+e2EuZWwmJl8udXkoYS5lbCxhLnByb3BzKX0sSGY6YT0+e18uc3koYS5lbCl9fSksd1o9ITApfX19O3ZhciBDWT1fLkwoKHtkYXRhOmF9KT0+e2Z1bmN0aW9uIGIoZil7Xy5uUCgpO2Yuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGM9Xy52RSgiZGl2IiksZD1fLngoIndlYl9yZW1vdmVfc25hY2tiYXJfYWN0aW9ucyIpO18uVUooKCk9Pnt9KTt2YXIgZT17YnV0dG9uT3ZlcnJpZGVzOntzdHlsZToiY2FsbC10by1hY3Rpb24taW52ZXJzZSJ9fTtyZXR1cm4gXy5LKCJ5dG0tbm90aWZpY2F0aW9uLWFjdGlvbi1yZW5kZXJlciIsbnVsbCxfLksoImRpdiIseyJhcmlhLWxpdmUiOl8uZnI/Im9mZiI6InBvbGl0ZSIsY2xhc3M6Im5vdGlmaWNhdGlvbi1hY3Rpb24tcmVzcG9uc2UtdGV4dCJ9LF8uSyhfLklKLHtkYXRhOigpPT5hKCkucmVzcG9uc2VUZXh0fSkpLF8uSyhfLk8se0E6KCk9PmEoKS5hY3Rpb25CdXR0b24mJiFkLHRoZW46KCk9Pl8uSygiZGl2Iix7ZWw6YyxjbGFzczoibm90aWZpY2F0aW9uLWFjdGlvbi1idXR0b24iLCJvbjpjbGljayI6Yn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmFjdGlvbkJ1dHRvbn0sCntidXR0b25SZW5kZXJlcjooe2RhdGE6Zn0pPT5fLksoXy5wTyx7ZGF0YTpmLC4uLmV9KSx0b2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6Zn0pPT5fLksoXy5xTyx7ZGF0YTpmLC4uLmV9KX0pKX0pKX0sImJmIik7Q1kuaWRvbUNvbXBhdD0hMDt2YXIgRVk7dmFyIEdZPW5ldyBfLmVFO3ZhciBHcGE9e2FkZFRvUGxheWxpc3RSZW5kZXJlcjohMH07dmFyIExZO3ZhciBRcGE9Xy4kTi5DdDt2YXIgVFk9Xy5MKCh7ZGF0YTphfSk9Pnt2YXIgYj1fLnVFKCJ5dG0tc2hhcmUtdGFyZ2V0LXJlbmRlcmVyIik7Xy5VSigoKT0+e2IudmFsdWUubGF5ZXI9N30pO3ZhciBjPSgpPT5fLkIoYSgpLm5hdmlnYXRpb25FbmRwb2ludCxfLlZEKT8udXJsLGQ9KCk9PnthKCk7cmV0dXJuITF9O3JldHVybiBfLksoInl0bS1zaGFyZS10YXJnZXQtcmVuZGVyZXIiLHtlbDpiLCJvbjpjbGljayI6ZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKTtpZihkKCkpe3ZhciBmPWMoKSxoPWEoKS5uYXZpZ2F0aW9uRW5kcG9pbnQ/LmNsaWNrVHJhY2tpbmdQYXJhbXM7Xy56SihoLDcpO25ldyBNb3pBY3Rpdml0eSh7bmFtZToibmV3IixkYXRhOnt0eXBlOiJ3ZWJzbXMvc21zIixib2R5OmZ9fSk7TlkoKTtlLnByZXZlbnREZWZhdWx0KCk7ZS5zdG9wUHJvcGFnYXRpb24oKX1lbHNlIE5ZKCl9fSxfLksoXy5PLHtBOmQsdGhlbjooKT0+Xy5LKCJhIix7aHJlZjpjLGNsYXNzOiJzaGFyZS10YXJnZXQtbGluayJ9LApfLksoXy5JSix7ZGF0YTooKT0+YSgpLnRpdGxlfSkpLFc6KCk9Pl8uSyhfLm5ILHtjbGFzc05hbWU6InNoYXJlLXRhcmdldC1saW5rIixjb21tYW5kOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50LHRhcmdldDoiX2JsYW5rIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKX0pKX0sImNmIik7VFkuaWRvbUNvbXBhdD0hMDt2YXIgWXFhPV8uJE4uQ0FOQ0VMLFhwYT1fLkwoKHtkYXRhOmF9KT0+e2Z1bmN0aW9uIGIoZil7dmFyIGg9Xy55KCkucmVzb2x2ZShfLnlQKSxrPVJZKGEoKSk7Zi5wcmV2ZW50RGVmYXVsdCgpO2smJl8uekooayw3KTtfLnNQKGUpO2g/LmxkKCk7Xy56TigpO2Yuc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gYyhmKXtfLnkoKS5yZXNvbHZlKF8ueVApPy5sZCgpO18uek4oKTtmLnN0b3BQcm9wYWdhdGlvbigpfXZhciBkPSgpPT5PWShhKCkpLGU9InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IitfLk9IKCk7cmV0dXJuIF8uSyhfLnJFLHtRZzooKT0+Xy5LKF8uQVAsbnVsbCxfLksoXy5JSix7ZGF0YTooKT0+e3ZhciBmPWEoKS5oZWFkZXI/LnNoYXJlUGFuZWxIZWFkZXJSZW5kZXJlcj8udGl0bGU/LnNoYXJlUGFuZWxUaXRsZVYxNVJlbmRlcmVyPy50aXRsZTtyZXR1cm4gZj9mOntzaW1wbGVUZXh0OiJTaGFyZSJ9fX0pKSxxazooKT0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT4KITAsdGhlbjooKT0+Xy5LKCJpbnB1dCIse3ZhbHVlOmQsInNlbGVjdGlvbi1lbmQiOjAsY2xhc3M6InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IixpZDplLCJvbjpjbGljayI6YiwiYXJpYS1sYWJlbCI6KCk9PmAke18uJE4uc299ICR7T1koYSgpKX1gLHJlYWRvbmx5OiEwfSl9KSxfLksoXy5nRyx7cGE6KCk9PlNZKGEoKSl8fFtdfSxmPT5fLksoXy5PLHtBOigpPT5mLnNoYXJlVGFyZ2V0UmVuZGVyZXIsdGhlbjpoPT5fLksoVFkse2RhdGE6aH0pfSkpKSxQcjooKT0+Xy5LKF8uelAsbnVsbCxfLksoImJ1dHRvbiIse2NsYXNzOiJjb21wYWN0Iiwib246Y2xpY2siOmN9LFlxYSkpfSl9LCJkZiIpLFFZPV8uTCgoe3Nob3J0VXJsOmEsdHJhY2tpbmdQYXJhbXM6Yn0pPT57ZnVuY3Rpb24gYyhlKXt2YXIgZj1kLGg9Yj8uKCk7ZS5wcmV2ZW50RGVmYXVsdCgpO2gmJl8uekooaCw3KTtfLnNQKGYpO05ZKCk7Xy56TigpO2Uuc3RvcFByb3BhZ2F0aW9uKCl9dmFyIGQ9InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IisKXy5PSCgpO3JldHVybiBfLksoXy5PLHtBOigpPT4hMCx0aGVuOigpPT5fLksoImlucHV0Iix7Y2xhc3M6InVuaWZpZWQtc2hhcmUtdXJsLWlucHV0IixpZDpkLHZhbHVlOmEscmVhZG9ubHk6ITAsImFyaWEtbGFiZWwiOigpPT5gJHtfLiROLnNvfSAke2EoKX1gLCJvbjpjbGljayI6Yywic2VsZWN0aW9uLWVuZCI6MH0pfSl9LCJlZiIpO1FZLmlkb21Db21wYXQ9ITA7dmFyICRwYT1fLiROLkR0LGFxYT1fLiROLmV1O18ucmEoInl0LnB1YnN1Yi5wdWJsaXNoIixfLk96KTt2YXIgd1g9e2F1ZGlvVHJhY2tTZWxlY3RBY3Rpb25Db21tYW5kOlZXKFRxYSksYnJvd3NlRW5kcG9pbnQ6KCk9PkZZKElwYSksY2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyhyWiksY29tbWFuZEV4ZWN1dG9yQ29tbWFuZDooKT0+RlkoSnBhKSxjb3B5VGV4dEVuZHBvaW50OigpPT5GWShMcGEpLGVudGl0eVVwZGF0ZUNvbW1hbmQ6VlcocFosW25aXSksZmVlZGJhY2tFbmRwb2ludDooKT0+RlkoTVkpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6KCk9PkZZKE5wYSksbmF0aXZlQXBwRGVlcGxpbmtFbmRwb2ludDooKT0+RlkocG9hKSxvcGVuUG9wdXBBY3Rpb246KCk9PkZZKERwYSkscGhvbmVEaWFsZXJFbmRwb2ludDooKT0+RlkoUHBhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDooKT0+RlkoUnBhKSxzZW5kU21zRW5kcG9pbnQ6KCk9PkZZKFRwYSksc2hhcmVFbnRpdHlFbmRwb2ludDooKT0+RlkoWnBhKSxzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQ6Vlcoc1opLApzaG93Q2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDpWVyh0Wiksc2hvd0VuZ2FnZW1lbnRQYW5lbEVuZHBvaW50OigpPT5GWShkcWEpLHNob3dTaGVldENvbW1hbmQ6VlcocVosW18uY0wsJFldKSxzaWduSW5FbmRwb2ludDooKT0+RlkoZnFhKSxzdWJzY3JpYmVFbmRwb2ludDooKT0+RlkoV1kpLHVuZG9GZWVkYmFja0VuZHBvaW50OigpPT5GWShNWSksdW5zdWJzY3JpYmVFbmRwb2ludDooKT0+RlkoV1kpLHVybEVuZHBvaW50OigpPT5GWShocWEpLHVzZXJGZWVkYmFja0VuZHBvaW50OigpPT5GWShpcWEpLHdhdGNoRW5kcG9pbnQ6KCk9PkZZKEVwYSl9O3ZhciB4Wj1fLkwoKHtjaGlsZHJlbjphLEJxOmIsaXNGdWxsc2NyZWVuOmMsc3R5bGU6ZCxhcmlhTGFiZWw6ZX0pPT57dmFyIGY9Xy51RSgiZGlhbG9nIik7Xy5VSigoKT0+e3ZhciBoPSgpPT57fSxrPWYudmFsdWU7ay5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsaCwhMCk7Xy5ZdSgoKT0+e2sucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLGgsITApfSl9KTtyZXR1cm4gXy5LKCJkaWFsb2ciLHtlbDpmLGNsYXNzOl8uUCgiZGlhbG9nIiwibW9kZXJuLWRpYWxvZy1sYXlvdXQiLCJtb2Rlcm4tZGlhbG9nIix7c2Nyb2xsYWJsZTpiLCJkaWFsb2ctZnVsbHNjcmVlbiI6Yywicm91bmRlZC1jb250YWluZXIiOigpPT4hYz8uKCl9KSxyb2xlOiJkaWFsb2ciLCJhcmlhLW1vZGFsIjohMCxzdHlsZTpkLCJhcmlhLWxhYmVsIjplfSxhKX0sImZmIik7eFouaWRvbUNvbXBhdD0hMDt2YXIgWnFhPWNsYXNze307dmFyIHFxYT1jbGFzcyBleHRlbmRzIFpxYXtjb25zdHJ1Y3Rvcigpe3ZhciBhPXtZbDpVcGEsV2s6Tll9O3N1cGVyKCk7dGhpcy5vPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RoaXMuby5pZD0iZ2xvYmFsLWxvYWRlciI7ZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUodGhpcy5vLGRvY3VtZW50LmJvZHkuZmlyc3RDaGlsZCk7dGhpcy5ZbD1hPy5ZbDt0aGlzLldrPWE/LldrfXJxKCl7cmV0dXJuISF0aGlzLmp9YXN5bmMgb3BlbkRpYWxvZyhhKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7bGV0IGM9Xy5adHx8e307dGhpcy5ZbD8uKCkmJmF3YWl0IHRoaXMuV2s/LigpO3RoaXMucnEoKSYmdGhpcy5sZCgpO18uVnooYixfLnZNKGMpKTtsZXQgZD1hLlVuLGU9YS5CcSxmPWEuaXNGdWxsc2NyZWVuLGg9YS5uSixrPWEuaXNQZXJzaXN0ZW50LGw9YS5mb2N1c09uQ2xvc2UsbT1hLnJuLG49YS5mSyxwPWEuc3R5bGUscj1hLmFyaWFMYWJlbDsKdGhpcy5CPWE7dGhpcy52PXRoaXMubGQuYmluZCh0aGlzKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtY2hhbmdlIix0aGlzLnYpO3RoaXMuaj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0aGlzLmouaWQ9ImRpYWxvZy1jb250YWluZXIiO3RoaXMuai5jbGFzc05hbWU9Xy5hTCgiZGlhbG9nLWNvbnRhaW5lciIse1siZGlhbG9nLWZ1bGxzY3JlZW4iXTpmfSk7KF8uWk8oKXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQodGhpcy5qKTtfLmZOKHRoaXMuaixfLksoXy5JQixudWxsLF8uSyh4Wix7QnE6ZSxpc0Z1bGxzY3JlZW46ZixzdHlsZTpwLGFyaWFMYWJlbDpyfSxfLksoZCxudWxsKSksXy5LKF8uWk4se2xhYmVsOiJkaWFsb2ciLG9uY2xpY2s6KCk9PntofHxrfHx0aGlzLmxkKCl9fSkpKTtfLkpOKHRoaXMuaixsLG0pO24/LigpfWNhdGNoKGMpe2IuZXJyb3I9YyxiLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihiKX19bGQoKXt0aGlzLmomJih0aGlzLkIuR2g/LigpLAp0aGlzLkI9dm9pZCAwLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdGF0ZS1jaGFuZ2UiLHRoaXMudiksdGhpcy52PXZvaWQgMCxfLktOKHRoaXMuaiksXy5wQyh0aGlzLmopLHRoaXMuai5yZW1vdmUoKSx0aGlzLmo9dm9pZCAwKX1RdSgpe3RoaXMuby5maXJzdENoaWxkJiZ0aGlzLm8ucmVtb3ZlQ2hpbGQodGhpcy5vLmZpcnN0Q2hpbGQpfX07dmFyIFNXPW5ldyBfLkN0KCJJbm5lclR1YmVUcmFuc3BvcnQiLCJSdjNlM2QiKTtuZXcgXy5DdCgiUGFnZVJlcXVlc3QiLCJSdjNlM2QiKTt2YXIgJHFhPXthdXRvbmF2X29mZl90b2dnbGVfc3Bhbm5lcjpbWzAsMSwzNl1dLGF1dG9uYXZfb25fdG9nZ2xlX3NwYW5uZXI6W1swLDEsMzZdXSxhdXRvbmF2X3BsYXlfY2lyY2xlOltbMCwxLDIwXV0sYXV0b3BsYXk6W1swLDIsMjRdXSxjcmVhdG9yX3N0dWRpb19yZWRfbG9nbzpbWzAsMiwyNF1dLGVxdWFsaXplcjpbWzAsMSwyNF1dLGZ1bGxzY3JlZW46W1sxLDEsMjRdXSxmdWxsc2NyZWVuX2V4aXQ6W1sxLDEsMjRdXSxmdWxsc2NyZWVuX2ZwOltbMSwyLDI0XV0sZ29vZ2xlOltbMCwxLDI0XV0sZ29vZ2xlX2xvZ286W1swLDIsMjRdXSxpbmNvZ25pdG9fY2lyY2xlOltbMCwxLDI0XV0sa2lkc19yZWRfbG9nbzpbWzAsMiwyNF1dLGxvZ286W1swLDIsNjddXSxsb2dvX3dpdGhfdGV4dDpbWzAsMywyMF1dLGxvZ29fd2l0aF90ZXh0X21vbm9jaHJvbWU6W1swLDEsMjBdXSxtdXNpY19yZWRfbG9nbzpbWzAsMiwyNF1dLHBhdXNlX2NpcmNsZTpbWzAsMSwyNF1dLHBhdXNlX291dGxpbmVkOltbMCwKMSwyNF1dLHBpdm90X2xpYnJhcnk6W1swLDEsMjRdXSxwbGF5X2NpcmNsZV9zaG9ydHM6W1swLDIsMjRdXSxwbGF5ZXJfYXV0b3BsYXlfbmV4dDpbWzAsMiwyNF1dLHByZW1pdW06W1swLDIsMjRdXSxwcmVtaXVtX3N0YW5kYWxvbmU6W1swLDIsMjRdXSxwcmVtaXVtX3N0YW5kYWxvbmVfY2Fpcm86W1swLDEsMjRdXSxyaW5nb19sb2dvOltbMCwyLDI0XV0sc2NyZWVuX2xpZ2h0OltbMSwxLDI0XV0sInNob3J0cy1oZWFydCI6W1swLDEsMjRdLFsxLDEsMjRdXSwic2hvcnRzLWhlYXJ0LWdyYWRpZW50IjpbWzAsMSwyNF0sWzEsMSwyNF1dLHNob3J0c19jb21tZW50OltbMCwxLDMyXV0sc2hvcnRzX3NoYXJlOltbMCwxLDMyXV0sc2hvcnRzX3RleHRfbG9nbzpbWzAsMiw3Ml1dLHNob3J0c190aHVtYnNfZG93bjpbWzAsMSwzMl1dLHNob3J0c190aHVtYnNfdXA6W1swLDEsMzJdXSxzcGFyazpbWzAsMSwyNF0sWzEsMSwyNF1dLHNwYXJrX3NlYXJjaDpbWzAsMSwyNF1dLHN1YmRpcmVjdG9yeV9hcnJvd19yaWdodDpbWzEsCjEsMjRdXSx1bnBsdWdnZWRfcmVkX2xvZ286W1swLDIsMjRdXSx2aWRlb195b3V0dWJlOltbMCwxLDI0XV0sd2F0ZXJtYXJrOltbMCwyLDExMF1dLHlvdXR1YmU6W1swLDIsMjRdXSx5b3V0dWJlX2NyZWF0ZV9sb2dvOltbMCwxLDI0XV0seW91dHViZV9wcmVtaXVtX2xvZ29fc2hvcnQ6W1swLDIsMjBdXSx5b3V0dWJlX3ByZW1pdW1fbG9nb19zaG9ydF9tb25vY2hyb21lOltbMCwxLDIwXV0seW91dHViZV9zaG9ydHNfYnJhbmRfMjQ6W1swLDIsMjRdXSx5b3V0dWJlX3Nob3J0c19maWxsX25vX3RyaWFuZ2xlX3JlZF8xNjpbWzAsMSwxNl1dfTt2YXIgeVo9bmV3IE1hcChbWyJwbGF5X2NpcmNsZV9maWxsZWQiLCJhdXRvbmF2X3BsYXlfY2lyY2xlIl0sWyJzZWFyY2giLCJzZWFyY2hfY2Fpcm8iXSxbInRhYl9ob21lIiwiaG9tZV9jYWlybyJdLFsidGFiX3Nob3J0cyIsInlvdXR1YmVfc2hvcnRzX2NhaXJvIl0sWyJhY2NvdW50X2NpcmNsZSIsInBlcnNvbl9jaXJjbGVfY2Fpcm8iXSxbInByZW1pdW1fc3RhbmRhbG9uZSIsInByZW1pdW1fc3RhbmRhbG9uZV9jYWlybyJdXSksYXJhPW5ldyBTZXQoWyJhdWRpb19iYWRnZSIsInBhdXNlIiwicGxheV9hcnJvdyJdKSxZWT1jbGFzcyBleHRlbmRzIHZae2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpO3RoaXMubz1hfW1mKGEsYil7dmFyIGM9ey4uLmF9O2EuaWNvbk5hbWUudG9Mb3dlckNhc2UoKT09PSJzaG9ydHNfdGh1bWJzX3VwIiYmXy54KCJlbmFibGVfc2hvcnRzX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKSYmKGMuaWNvbk5hbWU9Xy54KCJ1c2Vfd2hpdGVfZmlsbGVkX2hlYXJ0X2ljb25faW5fc2hvcnRzX3dhdGNoX3BhZ2UiKT8KInNob3J0cy1oZWFydCI6InNob3J0cy1oZWFydC1ncmFkaWVudCIpO2FyYS5oYXMoYS5pY29uTmFtZSkmJihjLmljb25TdHlsZT0ieW91dHViZV9maWxsIik7eVouaGFzKGEuaWNvbk5hbWUpJiYhXy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJihhLmljb25OYW1lPXlaLmdldChhLmljb25OYW1lKSk7YS5pY29uTmFtZT09PSJhY2NvdW50X2xpbmtlZCImJihjLmljb25OYW1lPSJjaXJjbGVzX292ZXJsYXBfY2hlY2siLGMuaWNvblN0eWxlPSJ5b3V0dWJlX2ZpbGwiKTthLmljb25OYW1lPT09ImFjY291bnRfdW5saW5rZWQiJiYoYy5pY29uTmFtZT0iY2lyY2xlc19vdmVybGFwIixjLmljb25TdHlsZT0ieW91dHViZV9vdXRsaW5lIik7Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJihhLmljb25OYW1lPT09InBsYXlsaXN0X2FkZCImJihjLmljb25OYW1lPSJib29rbWFyayIpLGEuaWNvbk5hbWU9PT0iY2lyY2xlc19vdmVybGFwX2NoZWNrInx8Yy5pY29uTmFtZT09PSJjaXJjbGVzX292ZXJsYXBfY2hlY2siKSYmCihjLmljb25OYW1lPSJhY2NvdW50X2xpbmsiLGMuaWNvblN0eWxlPSJ5b3V0dWJlX2ZpbGwiKTthPShhPXVZKGMuaWNvbk5hbWUpKT97Li4uYyxpY29uTmFtZTphfTpjO2E9Xy54KCJlbmFibGVfd2ViX2RlbGhpX2ljb25zIikmJmEuaWNvbk5hbWU9PT0ieW91dHViZSI/dm9pZCAwOnJZKCRxYSxhLHRoaXMubz8uZUp8fG1xYSxiKTtyZXR1cm4gYT9hOnN1cGVyLm1mKGMsYil9fTtZWVtfLkxuXT1bXy5JbihfLm5PKV07dmFyIHJxYT1jbGFzcyBleHRlbmRzIFVxYXtpc1Zpc2libGUoYSl7dmFyIGI9UHJvbWlzZSxjPWIucmVzb2x2ZTt2YXIgZD1fLm9NKCkuZ2V0U3RhdGUoKS5lbmdhZ2VtZW50UGFuZWw/LnFzO3JldHVybiBjLmNhbGwoYixhPT09ZCl9fTt2YXIgYnJhPWNsYXNzIGV4dGVuZHMga1p7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMub2JzZXJ2ZXI9bmV3IF8uZkYoMCxhPT57dGhpcy5sb2dWaXNpYmlsaXR5KGEpfSl9b2JzZXJ2ZShhLGIsYyl7Yy5WYnx8Yy5zdGF0ZSE9PSJ2aXNpYmxlInx8KGMuVmI9ITApO3ZhciBkPXtlbGVtZW50OmEsb3B0aW9uOmN9O2lmKCFjLlZifHxjLnN0YXRlIT09InZpc2libGUiKXJldHVybiBkO2lmKHR5cGVvZiBiIT09ImZ1bmN0aW9uIilyZXR1cm4gXy5XaShFcnJvcigiaGVgIit0eXBlb2YgYikpLGQ7YS5fX3Zpc2liaWxpdHlDYWxsYmFjaz1iO3RoaXMub2JzZXJ2ZXIub2JzZXJ2ZShhKTtyZXR1cm4gZH1sb2dWaXNpYmlsaXR5KGEpe2EuX192aXNpYmlsaXR5Q2FsbGJhY2smJnR5cGVvZiBhLl9fdmlzaWJpbGl0eUNhbGxiYWNrPT09ImZ1bmN0aW9uIiYmYS5fX3Zpc2liaWxpdHlDYWxsYmFjayhhLCJ2aXNpYmxlIil9cmYoYSl7ZGVsZXRlIGEuZWxlbWVudC5fX3Zpc2liaWxpdHlDYWxsYmFjazsKdGhpcy5vYnNlcnZlci51bm9ic2VydmUoYS5lbGVtZW50KX1kaXNwb3NlKCl7dGhpcy5vYnNlcnZlci5kaXNjb25uZWN0KCl9fTt2YXIgb3FhPSJJbnRlcnNlY3Rpb25PYnNlcnZlciJpbiB3aW5kb3c/bmV3IE1xYTpuZXcgYnJhO18udVA9Xy5iWjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgibWVIOUViIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQlA9ZnVuY3Rpb24oYSxiPSExKXt2YXIgYyxkPSgpPT57dmFyIGU9Xy5MQighMCk7Xy5ndisrO3RyeXtjPV8uYkMoYSgpKSxfLklBKCExKX1jYXRjaChmKXt0aHJvdyBfLklBKCEwKSxfLlV1KGYsNCk7fWZpbmFsbHl7Xy5MQihlKX19O2I9Ynx8Xy5adD9fLnV2KGQsYik6Xy5pdyhkKTtyZXR1cm5bYyxiXX07Xy5LQj1fLmxDOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgemlhLEFpYSxCaWEsRWlhLENpYSxEaWEsRmlhO3ppYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5BYShhKSYmYS5ub2RlVHlwZT09MT9hLmdldEF0dHJpYnV0ZSgianNuYW1lIik9PT0iY29GU3hlIjohMX07QWlhPWZ1bmN0aW9uKGEsYil7Yi5pZHx8KGIuaWQ9Im93IitfLmZ3KGIpKTthLnNldEF0dHJpYnV0ZSgianNvd25lciIsYi5pZCk7YS5fX293bmVyPWI7dmFyIGM9Xy5ndyhiLHppYSk7YyYmKF8uR0MuaGFzKGMpfHxfLkdDLnNldChjLFtdKSxfLkdDLmdldChjKS5wdXNoKGEpKTsoYz1fLkZDLmdldChiKSl8fF8uRkMuc2V0KGIsYz1bXSk7Yy5pbmNsdWRlcyhhKXx8Yy5wdXNoKGEpO2Iuc2V0QXR0cmlidXRlKCJfX0lTX09XTkVSIiwhMCl9O0JpYT1mdW5jdGlvbigpe3ZhciBhPV8uQ0EoMSk7YT1fLmN1KGEsXy5MQyk7aWYoIShfLmJ1KGEpfHxhW18uTXZdJiYhYS52bykpcmV0dXJuIGEudmFsdWV9OwpFaWE9ZnVuY3Rpb24oKXt2YXIgYT1fLkNBKDIpLGI9bmV3IFNldCxjPSgpPT57Yi5mb3JFYWNoKGQ9PnZvaWQgZCgpKTtiLmNsZWFyKCl9O18uWXUoYyk7cmV0dXJuWyhkLGUpPT57dmFyIGY9Xy4kdChhKTt0cnl7bGV0IGg9Q2lhKERpYShkKSxlKTtiLmFkZChoKTtyZXR1cm4oKT0+e2goKTtiLmRlbGV0ZShoKX19ZmluYWxseXtfLiR0KGYpfX0sY119O18uQ1A9ZnVuY3Rpb24oe2NoaWxkcmVuOmEscm9vdDpifSl7Xy5vRigoKT0+e3ZhciBbY109RWlhKCk7Yz1jKGIsYSk7Xy5ZdShjKX0pO3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIil9O0NpYT1mdW5jdGlvbihhLGIpe3ZhciBjPUZpYShhKTsoYT1CaWEoKSkmJkFpYShjLGEpO3ZhciBbZCxlXT1fLkJQKGIsITApO2ZvcihsZXQgZiBvZiBkKWMuYXBwZW5kQ2hpbGQoZik7Xy5WQi5sb2coYyk7cmV0dXJuKCk9PntlKCk7Yy5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChjKX19OwpEaWE9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0ic3RyaW5nIil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCEoMCxfLnByKShhKSl0aHJvdyBFcnJvcigicGBgIitTdHJpbmcoYSkpO3JldHVybiBhfWlmKF8uakIoYSkpcmV0dXJuIGE7aWYoIWEuQ2smJiFhLmx1KXt2YXIgYj1hLmp1O2I9RXJyb3IoIlVjYCIrKHR5cGVvZiBiPT09InN5bWJvbCI/Yi5kZXNjcmlwdGlvbjpiKSk7YS5rdT0hMDt0aHJvdyBiO31yZXR1cm4gYS52YWx1ZX07RmlhPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhhLm5hbWVzcGFjZVVSSSxhLm5hbWVzcGFjZVVSST09PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI/ImciOiJkaXYiKTtyZXR1cm4gYS5hcHBlbmRDaGlsZChiKX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uRFA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkNBKCksZD1lPT57Xy5vSChjLCgpPT57YihlKX0pfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihhLGQsdm9pZCAwKTtfLll1KCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxkLHZvaWQgMCl9KX07Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBJaWEsSFAsRlAsR1AsS2lhLE1pYSxMaWEsTFA7SWlhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywic3RyaW5nRW50aXR5IixiKX07CkhQPWZ1bmN0aW9uKGEsYixjKXtpZihhKXt2YXIgZD1hLmxpa2VTdGF0dXM7cmV0dXJuIGI/e3N0eWxlOntzdHlsZVR5cGU6IlNUWUxFX1RFWFQifSx0b2dnbGVkU3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfREVGQVVMVF9BQ1RJVkUifSxpc1RvZ2dsZWQ6ZD09PSJMSUtFIixpc0Rpc2FibGVkOiFhLmxpa2VzQWxsb3dlZCxkZWZhdWx0SWNvbjp7aWNvblR5cGU6Y30sZGVmYXVsdFRleHQ6ZD09PSJMSUtFIj9hLmxpa2VDb3VudFdpdGhVbmxpa2VUZXh0OmEubGlrZUNvdW50VGV4dCx0b2dnbGVkVGV4dDpkPT09IkxJS0UiP2EubGlrZUNvdW50VGV4dDphLmxpa2VDb3VudFdpdGhMaWtlVGV4dCxkZWZhdWx0TmF2aWdhdGlvbkVuZHBvaW50OkZQKGEsIkxJS0UiKSxkZWZhdWx0U2VydmljZUVuZHBvaW50OkdQKGEsIkxJS0UiKSx0b2dnbGVkU2VydmljZUVuZHBvaW50OkdQKGEsIklORElGRkVSRU5UIiksZGVmYXVsdFRvb2x0aXA6Xy5hTihhLmxpa2VDb3VudFRvb2x0aXBUZXh0KSx0b2dnbGVkVG9vbHRpcDpfLmFOKGEubGlrZUNvdW50VG9vbHRpcFRleHQpLAp0YXJnZXRJZDphLnRhcmdldElkfTp7c3R5bGU6e3N0eWxlVHlwZToiU1RZTEVfVEVYVCJ9LHRvZ2dsZWRTdHlsZTp7c3R5bGVUeXBlOiJTVFlMRV9ERUZBVUxUX0FDVElWRSJ9LGlzVG9nZ2xlZDpkPT09IkRJU0xJS0UiLGlzRGlzYWJsZWQ6IWEubGlrZXNBbGxvd2VkLGRlZmF1bHRJY29uOntpY29uVHlwZTpjfSxkZWZhdWx0VGV4dDpkPT09IkRJU0xJS0UiP2EuZGlzbGlrZUNvdW50V2l0aFVuZGlzbGlrZVRleHQ6YS5kaXNsaWtlQ291bnRUZXh0LHRvZ2dsZWRUZXh0OmQ9PT0iRElTTElLRSI/YS5kaXNsaWtlQ291bnRUZXh0OmEuZGlzbGlrZUNvdW50V2l0aERpc2xpa2VUZXh0LGRlZmF1bHROYXZpZ2F0aW9uRW5kcG9pbnQ6RlAoYSwiRElTTElLRSIpLGRlZmF1bHRTZXJ2aWNlRW5kcG9pbnQ6R1AoYSwiRElTTElLRSIpLHRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnQ6R1AoYSwiSU5ESUZGRVJFTlQiKSxkZWZhdWx0VG9vbHRpcDpfLmFOKGEuZGlzbGlrZUNvdW50VG9vbHRpcFRleHQpLHRvZ2dsZWRUb29sdGlwOl8uYU4oYS5kaXNsaWtlQ291bnRUb29sdGlwVGV4dCl9fX07CkZQPWZ1bmN0aW9uKGEsYil7aWYoYj09PSJMSUtFIilyZXR1cm4gYS5saWtlQ29tbWFuZDtpZihiPT09IkRJU0xJS0UiKXJldHVybiBhLmRpc2xpa2VOYXZpZ2F0aW9uRW5kcG9pbnR9O0dQPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuc2VydmljZUVuZHBvaW50cz8uZmluZChjPT5fLkIoYyxfLmRPKT8uc3RhdHVzPT09Yil9O18uSVA9ZnVuY3Rpb24oYSl7cmV0dXJue2NvbnRlbnQ6YX19OwpfLkpQPWZ1bmN0aW9uKGEsYixjKXtiPWN8fChiPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aD8/MCkqSmlhO2E9YS50aHVtYm5haWxzO2lmKCFhKXJldHVybiIiO2M9MDt2YXIgZD1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUixlPTAsZj0tTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI7Zm9yKGxldCBrPTA7azxhLmxlbmd0aDtrKyspe2xldCBsPWFba10ud2lkdGgtYjtsPj0wJiZsPD1kPyhjPWssZD1sKTpsPDAmJmw+ZiYmKGU9ayxmPWwpfXZhciBoPVtdO2EuZm9yRWFjaChrPT57aC5wdXNoKGsudXJsKX0pO3JldHVybiBkPDEwMHx8ZDwtZj9hW2NdLnVybDphW2VdLnVybH07S2lhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihiPT57Xy5PRSgoKT0+e2IoYSl9KX0pfTtNaWE9ZnVuY3Rpb24oYSl7YT1hLm1hcChMaWEpO3JldHVybiBfLklmKGEpLnRoZW4oS2lhKX07CkxpYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5jb21wbGV0ZT9fLkt5KCJsb2FkIik6bmV3IF8uQmYoYj0+e2Z1bmN0aW9uIGMoZCl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixjKTthLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixjKTtiKGQudHlwZSl9YS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixjKTthLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixjKX0pfTtMUD1mdW5jdGlvbihhKXtLUHx8TWlhKFthXSkudGhlbigoKT0+e2lmKCFLUCl7dmFyIGI9KDAsXy5lbCkoKTtfLkFxKCJmdGwiLGIsdm9pZCAwKTtLUD0hMH19KX07Xy5NUD1uZXcgXy5JKCJzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbCIpO18uTlA9Xy5MKCgpPT57dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIpLGI9YS51c2VyX2Rpc3BsYXlfbmFtZSxjPWEudXNlcl9kaXNwbGF5X2ltYWdlLGQ9YS51c2VyX2Rpc3BsYXlfY2hhbm5lbF9oYW5kbGUsZT1kJiZfLklQKGQpLGY9KCk9Pl8uQih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOl8uSVAoYiksbGVhZGluZ0FjY2Vzc29yeTp7YXZhdGFyVmlld01vZGVsOntpbWFnZTp7c291cmNlczpbe3VybDpjfV19fX0sc3VidGl0bGU6ZX19LF8uWkMpO3JldHVybiBfLksoImFjY291bnQtaW5mby1tZW51LWl0ZW0iLHtjbGFzczoiYWNjb3VudEluZm9Ib3N0In0sXy5LKF8uQ0Qse2RhdGE6ZixJYTohMCxvblRhcDooKT0+e2QmJl8uQUooXy53TihgQCR7ZH1gKSxmKCksITEpfX0pKX0sInpiIik7Xy5OUC5pZG9tQ29tcGF0PSEwO3ZhciB7TWc6TmlhfT1fLnpHKGE9PmEudGFyZ2V0Py52aWRlb0lkKTt2YXIgT1A9Xy5MKGE9Pnt2YXIge2RhdGE6YixidXR0b25PdmVycmlkZXM6Y309Xy5EQyhhLHtidXR0b25PdmVycmlkZXM6e319KSxbZCxlXT1OaWEoYiksZj0oKT0+SFAoZCgpLCEwLCJTSE9SVFNfTElLRSIpLGg9KCk9PkhQKGQoKSwhMSwiU0hPUlRTX0RJU0xJS0UiKSxrPShsLG0pPT57bS5zdG9wUHJvcGFnYXRpb24oKTtmb3IobGV0IG4gb2YgbCkobD1fLkIobixfLmRPKSkmJmQmJmUoey4uLmQoKSxsaWtlU3RhdHVzOmwuc3RhdHVzfSl9O3JldHVybiBfLksoInl0bS1saWtlLWJ1dHRvbi1yZW5kZXJlciIsbnVsbCxfLksoXy5PLHtBOigpPT5kKCkubGlrZVN0YXR1cyYmISFmKCkmJiEhaCgpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8ucU8se2RhdGE6ZixidXR0b25PdmVycmlkZXM6KCk9Pih7dHlwZTpkKCkubGlrZVN0YXR1cz09PSJMSUtFIj8iZmlsbGVkIjoidG9uYWwiLC4uLmMoKX0pLFJrOmt9KSxfLksoXy5PLHtBOigpPT4hZCgpLmhpZGVEaXNsaWtlQnV0dG9uLHRoZW46KCk9PgpfLksoXy5xTyx7ZGF0YTpoLGJ1dHRvbk92ZXJyaWRlczooKT0+KHt0eXBlOmQoKS5saWtlU3RhdHVzPT09IkRJU0xJS0UiPyJmaWxsZWQiOiJ0b25hbCIsLi4uYygpfSksUms6a30pfSkpfSkpfSwiQWIiKTtPUC5pZG9tQ29tcGF0PSEwO3ZhciBQUD1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dG0tbWVudS1uYXZpZ2F0aW9uLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6Yj0+e3ZhciBjPWEoKTtfLnhOKCkmJl8uek4oKTtfLkFKKGMubmF2aWdhdGlvbkVuZHBvaW50LGMsITEpO18uQihjLm5hdmlnYXRpb25FbmRwb2ludD8uY29tbWFuZE1ldGFkYXRhLF8uencpPy5pZ25vcmVOYXZpZ2F0aW9ufHxiLnN0b3BQcm9wYWdhdGlvbigpfSxyb2xlOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50JiZfLkIoYSgpLm5hdmlnYXRpb25FbmRwb2ludCxfLlZEKT8ibGluayI6dm9pZCAwfSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24/Lmljb25UeXBlfSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50ZXh0fSkpKSwiQmIiKTtQUC5pZG9tQ29tcGF0PSEwO3ZhciBRUD1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8ubUcoKTtyZXR1cm4gXy5LKCJ5dG0tbWVudS1zZXJ2aWNlLWl0ZW0tcmVuZGVyZXIiLG51bGwsXy5LKF8ud08se29uY2xpY2s6KCk9Pnt2YXIgYz1hKCksZD1jLnNlcnZpY2VFbmRwb2ludCxlPWMuY29tbWFuZDtkJiZfLkFKKGQsYywhMCx7QmQ6Yn0pO2UmJl8uQUooZSxjLCEwLHtCZDpifSl9fSxfLksoXy5PLHtBOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsdGhlbjooKT0+Xy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pfSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50ZXh0LG1hOiEwfSkpKX0sIkNiIik7UVAuaWRvbUNvbXBhdD0hMDt2YXIgUlA9Xy5MKCh7ZGF0YTphLEJkOmJ9KT0+e3ZhciBjPV8uREkoSWlhLCgpPT5hKCk/LnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleXx8IiIpLGQ9KCk9PmEoKT8udG9nZ2xlTWVudVNlcnZpY2VJdGVtRW50aXR5S2V5PyEhYygpPy52YWx1ZTphKCk/LmlzVG9nZ2xlZCxlPSgpPT5jKCk/e3J1bnM6W3t0ZXh0OmMoKT8udmFsdWV8fCIifV19OmEoKT8udG9nZ2xlZFNlY29uZGFyeVRleHQ7cmV0dXJuIF8uSygieXRtLXRvZ2dsZS1tZW51LXNlcnZpY2UtaXRlbS1yZW5kZXJlciIsbnVsbCxfLksoXy53Tyx7b25jbGljazooKT0+e3ZhciBmPWEoKSxoPWI/LigpLGs9Zi5pc1RvZ2dsZWQ/Zi50b2dnbGVkU2VydmljZUVuZHBvaW50OmYuZGVmYXVsdFNlcnZpY2VFbmRwb2ludDtrJiYoXy5BSihrLGYsITAse0JkOmh9KSxmLnRvZ2dsZU1lbnVTZXJ2aWNlSXRlbUVudGl0eUtleXx8KGYuaXNUb2dnbGVkPSFmLmlzVG9nZ2xlZCkpfX0sXy5LKF8uTUQse2ljb246KCk9PmQoKT9hKCkudG9nZ2xlZEljb24/Lmljb25UeXBlPy50b1N0cmluZygpOgphKCkuZGVmYXVsdEljb24/Lmljb25UeXBlPy50b1N0cmluZygpLGFjdGl2ZTpkfSksXy5LKF8uSUose2RhdGE6KCk9PmQoKT9hKCkudG9nZ2xlZFRleHQ6YSgpLmRlZmF1bHRUZXh0fSksXy5LKF8uTyx7QTooKT0+YSgpLmRlZmF1bHRTZWNvbmRhcnlUZXh0fHxlKCksdGhlbjooKT0+Xy5LKF8uSUose2RhdGE6KCk9PmQoKT9lKCk6YSgpLmRlZmF1bHRTZWNvbmRhcnlUZXh0fSl9KSkpfSwiRGIiKTtSUC5pZG9tQ29tcGF0PSEwO3ZhciBPaWE7Cl8uU1A9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLFRkOmMsRWg6ZCxGaDplLGRmOmYsSGE6aCx1bjprLHN0b3BQcm9wYWdhdGlvbjpsLHByZXZlbnREZWZhdWx0Om0sbGI6bixidXR0b25PdmVycmlkZXM6cH0pPT5fLksoInl0bS1tZW51LXJlbmRlcmVyIix7Y2xhc3M6Yn0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnRvcExldmVsQnV0dG9uc30se2J1dHRvblJlbmRlcmVyOl8ucE8sbWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UVAsdG9nZ2xlQnV0dG9uUmVuZGVyZXI6Xy5xTyx0b2dnbGVNZW51U2VydmljZUl0ZW1SZW5kZXJlcjpSUCxsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5wTCx7ZGF0YTpyLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uZkose2RhdGE6cn0pLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLGxpa2VCdXR0b25SZW5kZXJlcjpPUH0pLF8uSyhPaWEse2RhdGE6YSxUZDpjLEVoOmQsRmg6ZSxkZjpmLApIYTpoLHVuOmssc3RvcFByb3BhZ2F0aW9uOmwscHJldmVudERlZmF1bHQ6bSxsYjpuLGJ1dHRvbk92ZXJyaWRlczpwfSx7bWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UVAsbWVudU5hdmlnYXRpb25JdGVtUmVuZGVyZXI6UFAsdG9nZ2xlTWVudVNlcnZpY2VJdGVtUmVuZGVyZXI6UlAsbGlzdEl0ZW1WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8ucEwse2RhdGE6cixJYTohMH0pLHN3aXRjaExpc3RJdGVtVmlld01vZGVsOih7ZGF0YTpyfSk9Pl8uSyhfLmZKLHtkYXRhOnJ9KSxsaWtlQnV0dG9uUmVuZGVyZXI6T1AsYnV0dG9uUmVuZGVyZXI6Xy5wTyxhY2NvdW50SW5mb01lbnVJdGVtOl8uTlB9KSksIkViIik7Xy5TUC5pZG9tQ29tcGF0PSEwOwpPaWE9Xy5MKCh7ZGF0YTphLGNoaWxkcmVuOmIsLi4uY30pPT5fLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT4oIWEoKS5pdGVtc3x8IWEoKS5pdGVtcy5sZW5ndGgpJiYhKGEoKS5pc0Rpc2FibGVkJiZhKCkuZGlzYWJsZWRDb21tYW5kKX0sKCk9Pm51bGwpLF8uSyhfLkNFLHt3aGVuOigpPT5jLnVuPy4oKX0sKCk9Pl8uSyhfLk1oYSx7aWNvblR5cGU6KCk9PmMuRWg/LigpPz8iTU9SRV9WRVJUIixsYWJlbDooKT0+Xy5XTChfLkRKKGEoKS5hY2Nlc3NpYmlsaXR5KT8/IiIpLGFyaWFMYWJlbDooKT0+Xy5ESihhKCkuYWNjZXNzaWJpbGl0eSl8fCIiLGNhbmNlbEJ1dHRvbkxhYmVsOl8uJE4uQ0FOQ0VMLFRkOigpPT5jLlRkPy4oKSxkZjooKT0+Yy5kZj8uKCksSGE6KCk9PmMuSGE/LigpLHN0b3BQcm9wYWdhdGlvbjooKT0+Yy5zdG9wUHJvcGFnYXRpb24/LigpLHByZXZlbnREZWZhdWx0OigpPT5jLnByZXZlbnREZWZhdWx0Py4oKSxidXR0b25PdmVycmlkZXM6KCk9PmMuYnV0dG9uT3ZlcnJpZGVzPy4oKSwKaXNEaXNhYmxlZDooKT0+YSgpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5hKCkuZGlzYWJsZWRDb21tYW5kfSwoKT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLml0ZW1zfSxiKSkpLF8uSyhfLkRFLG51bGwsKCk9Pl8uSyhfLnpPLHtpY29uVHlwZTooKT0+Yy5FaD8uKCk/PyJNT1JFX1ZFUlQiLGxhYmVsOigpPT5fLkRKKGEoKS5hY2Nlc3NpYmlsaXR5KXx8IiIsY2FuY2VsQnV0dG9uTGFiZWw6Xy4kTi5DQU5DRUwsVGQ6KCk9PmMuVGQ/LigpLEZoOigpPT5jLkZoPy4oKSxkZjooKT0+Yy5kZj8uKCksSGE6KCk9PmMuSGE/LigpLHN0b3BQcm9wYWdhdGlvbjooKT0+Yy5zdG9wUHJvcGFnYXRpb24/LigpLHByZXZlbnREZWZhdWx0OigpPT5jLnByZXZlbnREZWZhdWx0Py4oKSxsYjooKT0+Yy5sYj8uKCksYnV0dG9uT3ZlcnJpZGVzOigpPT5jLmJ1dHRvbk92ZXJyaWRlcz8uKCksaXNEaXNhYmxlZDooKT0+YSgpLmlzRGlzYWJsZWQsZGlzYWJsZWRDb21tYW5kOigpPT5hKCkuZGlzYWJsZWRDb21tYW5kfSwKKCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5pdGVtc30sYikpKSksIkZiIik7Xy5UUD1fLkwoYT0+Xy5LKF8uTyx7QTooKT0+YS5kYXRhKCkuaXRlbXM/Lmxlbmd0aHx8YS5kYXRhKCkuaXNEaXNhYmxlZCYmYS5kYXRhKCkuZGlzYWJsZWRDb21tYW5kLHRoZW46KCk9Pl8uSyhQaWEsey4uLmF9KX0pLCJHYiIpO18uVFAuaWRvbUNvbXBhdD0hMDsKdmFyIFBpYT1fLkwoYT0+e3ZhciB7ZGF0YTpiLGNsYXNzTmFtZTpjLEVoOmQsc2hvd0ljb246ZSxidXR0b25TaXplOmYsYnV0dG9uT3ZlcnJpZGVzOmh9PV8uREMoYSx7c2hvd0ljb246ITEsYnV0dG9uT3ZlcnJpZGVzOnt9LGJ1dHRvblNpemU6IkwiLEVoOiJNT1JFX1ZFUlQifSksaz1fLlp0O3JldHVybiBfLksoInl0bS1ib3R0b20tc2hlZXQtcmVuZGVyZXIiLHtjbGFzczpjfSxfLksoXy5KSyx7ZGF0YTooKT0+e3ZhciBsPXtHYjooKT0+Xy5LKCJkaXYiLHtjbGFzczoiYm90dG9tLXNoZWV0LW1lZGlhLW1lbnUtaXRlbSJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKS5pdGVtc30se21lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlFQLG1lbnVOYXZpZ2F0aW9uSXRlbVJlbmRlcmVyOlBQLHRvZ2dsZU1lbnVTZXJ2aWNlSXRlbVJlbmRlcmVyOlJQLGxpc3RJdGVtVmlld01vZGVsOih7ZGF0YTptfSk9Pl8uSyhfLnBMLHtkYXRhOm0sSWE6ITB9KSxzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6bX0pPT4KXy5LKF8uZkose2RhdGE6bX0pLGxpa2VCdXR0b25SZW5kZXJlcjpPUCxidXR0b25SZW5kZXJlcjpfLnBPLGFjY291bnRJbmZvTWVudUl0ZW06Xy5OUH0pKSxIYTplKCksaXNEaXNhYmxlZDpiKCkuaXNEaXNhYmxlZCxkaXNhYmxlZENvbW1hbmQ6YigpLmRpc2FibGVkQ29tbWFuZH07cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOmYoKSxpY29uUG9zaXRpb246Imljb24tb25seSIsYWNjZXNzaWJpbGl0eUxhYmVsOl8uREooYigpPy5hY2Nlc3NpYmlsaXR5KXx8IiIsb25UYXA6bT0+e3ZhciBuPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtfLnhKKF8uaHgoKSx7ZGF0YTpiKCl9KSxsLmZvY3VzT25DbG9zZT1tLmN1cnJlbnRUYXJnZXQsXy5XTSgpJiZtLnN0b3BQcm9wYWdhdGlvbigpLF8uVnoobixfLnZNKGspKSxfLnlOKGwpfWNhdGNoKHApe24uZXJyb3I9cCxuLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihuKX19LAouLi5oKCl9fSxpY29uTmFtZTooKT0+ZCgpfSkpfSwiSGIiKTt2YXIgSmlhPV8udS5kZXZpY2VQaXhlbFJhdGlvfHwyO3ZhciBLUD0hMTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLCgpPT57S1A9ITF9KTsKXy5VUD1fLkwoYT0+e3ZhciB7dGh1bWJuYWlsRGV0YWlsczpiLGNsYXNzTmFtZTpjLGFsdDpkLGFyaWFMYWJlbDplLE1kOmYsVGI6aCxoYzprLGFyaWFIaWRkZW46bCxZYTptLFRhOm59PV8uREMoYSx7VGI6ITAsdGh1bWJuYWlsRGV0YWlsczp2b2lkIDAsY2xhc3NOYW1lOnZvaWQgMCxhbHQ6dm9pZCAwLGFyaWFMYWJlbDp2b2lkIDAsTWQ6dm9pZCAwLGhjOnZvaWQgMCxhcmlhSGlkZGVuOnZvaWQgMCxZYTp2b2lkIDAsVGE6dm9pZCAwfSkscD1fLnZFKCJpbWciKSxbcix0XT1fLkFDKGIpO18uVUooKCk9Pnt2YXIgdj17Li4uYigpfTt0KHYpfSk7Xy5uRSgoKT0+e2lmKHAudmFsdWUpe2xldCB2PXAudmFsdWU7TFAodik7bGV0IHo9YigpO3omJih2LnNyYz1fLkpQKHosdixmKCkpKX19LCJuN2tjNGMiKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+YigpJiYoZCgpfHxlKCl8fGMoKXx8aygpfHxsKCkpLHRoZW46KCk9Pl8uSyhfLmpGLHtkYXRhOigpPT5yKCksY2xhc3NOYW1lOmMsYWx0OigpPT4KZCgpfHxlKCl8fCIiLGNvbnRlbnRNb2RlOiJDT05URU5UX01PREVfU0NBTEVfQVNQRUNUX0ZJTEwiLGhjOmssYXJpYUhpZGRlbjpsLGNhbGxiYWNrOkxQLFRiOmgsWWE6bSxUYTpufSksVzooKT0+Xy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhfLmhGLHtkYXRhOmIsY29uZmlnOigpPT4oe2NsYXNzTmFtZTpjKCksYWx0OmQoKXx8ZSgpfHwiIixoYzprKCksYXJpYUhpZGRlbjpsKCksWWE6bSgpLFRhOm4oKX0pLEdsOntTZzoodix6KT0+e0xQKHopO3JldHVybiB2P18uSlAodix6LGYoKSk6IiJ9fSxsYXp5OiEwfSksVzooKT0+Xy5LKCJpbWciLHtlbDpwLGFsdDpkLCJhcmlhLWxhYmVsIjplLGNsYXNzOmMsImRhdGEtZGlzYWJsZWQiOmssImFyaWEtaGlkZGVuIjpsfSl9KX0pfSwiS2IiKTtfLlVQLmlkb21Db21wYXQ9ITA7Xy5WUD1fLkwoYT0+Xy5LKCJ5dG0tdGh1bWJuYWlsLW92ZXJsYXktdGltZS1zdGF0dXMtcmVuZGVyZXIiLHtjbGFzczphLmNsYXNzTmFtZSwidGh1bWJuYWlsLXNpemUiOmEudGh1bWJuYWlsU2l6ZSwiZGF0YS1zdHlsZSI6KCk9PmEuZGF0YT8uKCkuc3R5bGUsImFyaWEtaGlkZGVuIjphLmFyaWFIaWRkZW4sImRhdGEtdHlwZSI6KCk9PmEuZGF0YT8uKCkudHlwZT8ucmVwbGFjZSgiVEhVTUJOQUlMX09WRVJMQVlfVElNRV9TVEFUVVNfVFlQRV8iLCIiKX0sXy5LKF8uVEMse2RhdGE6KCk9Pih7dHlwZTphLmRhdGEoKS5zdHlsZT09PSJMSVZFIj8xOToxOCx0ZXh0Ol8uQ0ooYS5kYXRhKCkudGV4dCksaWNvbjphLmRhdGEoKS5pY29uPy5pY29uVHlwZXx8YS5kYXRhKCkueXRJY29uLHFMOmEuZGF0YSgpLnN0eWxlPT09IlNIT1JUUyJ9KX0pKSwiTGIiKTt2YXIgUWlhO18uV1A9Xy5MKGE9Pnt2YXIge2RldGFpbHM6YixvdmVybGF5OmMsVGI6ZCxoajplLE1kOmZ9PV8uREMoYSx7ZGV0YWlsczp2b2lkIDAsVGI6ITAsaGo6ITF9KSxoPV8uUCgidmlkZW8tdGh1bWJuYWlsLWltZyIseyJjdXN0b20tdGh1bWJuYWlsIjplfSk7cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczpfLlAoInZpZGVvLXRodW1ibmFpbC1pbWciLCJ2aWRlby10aHVtYm5haWwtYmciKX0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoUWlhLHtkZXRhaWxzOmIsY2xhc3NOYW1lOmgsVGI6ZCxNZDpmfSl9KSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczpiLGNsYXNzTmFtZTpoLFRiOmQsTWQ6ZixhbHQ6IiJ9KSxfLksoImRpdiIse2NsYXNzOiJ2aWRlby1wcmV2aWV3LXNoaW0ifSksYz8uKCkpfSwiTWIiKTsKUWlhPV8uTCgoe2RldGFpbHM6YSxjbGFzc05hbWU6YixUYjpjLE1kOmR9KT0+Xy5LKCJkaXYiLHtjbGFzczoiY3VzdG9tLXRodW1ibmFpbC1iYWNrZ3JvdW5kLWNvbnRhaW5lciIsc3R5bGU6KCk9PntpZihhPy4oKS5zYW1wbGVkVGh1bWJuYWlsQ29sb3Ipe3ZhciB7cmVkOmUsZ3JlZW46ZixibHVlOmh9PWEoKS5zYW1wbGVkVGh1bWJuYWlsQ29sb3I7cmV0dXJuYGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHtlfSwke2Z9LCR7aH0sMSk7YH19fSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczphLGNsYXNzTmFtZTpiLGFsdDoiIixNZDpkLFRiOmN9KSksIk5iIik7Xy5YUD1fLkwoYT0+e3ZhciB7dGh1bWJuYWlsRGV0YWlsczpiLG92ZXJsYXk6YyxNZDpkLGNsYXNzTmFtZTplLFRiOmYsaGo6aCxobTprfT1fLkRDKGEse1RiOiEwLGhqOiExLHRodW1ibmFpbERldGFpbHM6dm9pZCAwfSk7cmV0dXJuIF8uSygieXRtLWNvbXBhY3QtdGh1bWJuYWlsIix7Y2xhc3M6Xy5QKCJ2aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3QiLCJ2aWRlby10aHVtYm5haWwtY29udGFpbmVyLWNvbXBhY3Qtcm91bmRlZCIsZSx7Im9yaWdpbmFsLWFzcGVjdC1yYXRpbyI6KCk9PmIoKT8uaXNPcmlnaW5hbEFzcGVjdFJhdGlvLHN0YWNrZWQ6a30pfSxfLksoXy5XUCx7ZGV0YWlsczpiLG92ZXJsYXk6YyxNZDpkLFRiOmYsaGo6aH0pKX0sIk9iIik7Xy5YUC5pZG9tQ29tcGF0PXtjYWxsYmFja3M6e292ZXJsYXk6ITB9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5aUD1mdW5jdGlvbihhKXtyZXR1cm4gYS5zaG9ydHMuVGp9O18uJFA9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLnhqfTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5iUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInBldnR2YyIpO3JldHVybiBfLnJEfTtfLmNRPV8uY0QoKCk9Pl8uYlEoKSwiZGlzbGlrZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJkaXNsaWtlQnV0dG9uVmlld01vZGVsIiwicGV2dHZjIixfLmJRKX0pO18uZFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJpemptUCIpO3JldHVybiBfLnFEfTtfLmVRPV8uY0QoKCk9Pl8uZFEoKSwibGlrZUJ1dHRvblZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJsaWtlQnV0dG9uVmlld01vZGVsIiwiaXpqbVAiLF8uZFEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uZlE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJBVDhMVGUiKTtyZXR1cm4gXy5wRH07Xy5nUT1fLmNEKCgpPT5fLmZRKCksIm92ZXJsYXlQcm9kdWN0U3RpY2tlciIpO18uWXQoXy5KRCxhPT57YS5KKCJvdmVybGF5UHJvZHVjdFN0aWNrZXIiLCJBVDhMVGUiLF8uZlEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBTaWE7Xy5oUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIlhlUlhCZCIpO3JldHVybiBfLmNGfTtTaWE9Xy5jRCgoKT0+Xy5oUSgpLCJyZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsU291bmRNZXRhZGF0YVZpZXdNb2RlbCIsIlhlUlhCZCIsXy5oUSl9KTtfLmlRPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6Yn0pPT57dmFyIGM9Xy51RSgicGl2b3QtYnV0dG9uLXZpZXctbW9kZWwiKTtfLlVKKCgpPT57YSgpPy5iYWNrZ3JvdW5kQ29sb3ImJmMudmFsdWUuc2V0QXR0cmlidXRlKCJkYXRhLWJhY2tncm91bmQtY29sb3IiLFN0cmluZyhhKCkuYmFja2dyb3VuZENvbG9yKSl9KTtyZXR1cm4gXy5LKCJwaXZvdC1idXR0b24tdmlldy1tb2RlbCIse2VsOmMsY2xhc3M6Xy5QKCJ5dHdQaXZvdEJ1dHRvblZpZXdNb2RlbEhvc3QiLGIpfSxfLksoXy5uSCx7Y29tbWFuZDooKT0+e3ZhciBkPWEoKTtkPWQub25DbGlja0NvbW1hbmQ/Xy5SRChkLm9uQ2xpY2tDb21tYW5kKTpkLmNvbnRlbnREZXNjcmlwdGlvbj9fLmFRKF8uV0woZC5jb250ZW50RGVzY3JpcHRpb24pKTp2b2lkIDA7cmV0dXJuIGR9LGFyaWFMYWJlbDooKT0+YSgpLmNvbnRlbnREZXNjcmlwdGlvbn0sXy5LKF8uTyx7QTooKT0+YSgpLnRodW1ibmFpbCx0aGVuOmQ9Pl8uSyhfLmpGLHtkYXRhOmQsCmFsdDoiIixjbGFzc05hbWU6Inl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEltYWdlIn0pLFc6KCk9Pl8uSyhfLk8se0E6KCk9PmEoKS5pY29uLHRoZW46ZD0+Xy5LKF8uTUQse2ljb246KCk9PmQoKS5pY29uVHlwZSxjbGFzc05hbWU6Inl0d1Bpdm90QnV0dG9uVmlld01vZGVsSG9zdEljb24ifSl9KX0pKSl9LCJTYiIpO18ualE9Xy5MKCh7ZGF0YTphLEFmOmJ9KT0+e3ZhciBjPSgpPT4ieXR3UmVlbEFjdGlvbkJhclZpZXdNb2RlbEhvc3RNb2JpbGVBY3Rpb25CdXR0b24iO3JldHVybiBfLksoInJlZWwtYWN0aW9uLWJhci12aWV3LW1vZGVsIix7Y2xhc3M6Xy5QKCJ5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdCIse3l0d1JlZWxBY3Rpb25CYXJWaWV3TW9kZWxIb3N0TW9iaWxlOigpPT4hMCx5dHdSZWVsQWN0aW9uQmFyVmlld01vZGVsSG9zdERlc2t0b3A6KCk9PiExfSl9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5idXR0b25WaWV3TW9kZWxzfSx7YnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLlVGLHtjbGFzc05hbWU6YyxkYXRhOmQsYnV0dG9uT3ZlcnJpZGVzOmJ9KSxsaWtlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpkfSk9Pl8uSyhfLmVRLHtjbGFzc05hbWU6YyxkYXRhOmQsQWY6Yn0pLGRpc2xpa2VCdXR0b25WaWV3TW9kZWw6KHtkYXRhOmR9KT0+Xy5LKF8uY1Ese2NsYXNzTmFtZTpjLApkYXRhOmQsQWY6Yn0pLHRvZ2dsZUJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5aRix7Y2xhc3NOYW1lOmMsZGF0YTpkLHdpOmJ9KSxwaXZvdEJ1dHRvblZpZXdNb2RlbDooe2RhdGE6ZH0pPT5fLksoXy5pUSx7Y2xhc3NOYW1lOmMsZGF0YTpkfSl9KSl9LCJUYiIpO3ZhciBUaWE7Xy5rUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInM2NDlqIik7cmV0dXJuIF8ubUh9O1RpYT1fLmNEKCgpPT5fLmtRKCksInBsYXllckRpc2Nsb3N1cmVWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicGxheWVyRGlzY2xvc3VyZVZpZXdNb2RlbCIsInM2NDlqIixfLmtRKX0pO3ZhciBVaWE7Xy5sUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInVTeGRuYiIpO3JldHVybiBfLmZIfTtVaWE9Xy5jRCgoKT0+Xy5sUSgpLCJyZWVsQ2Fyb3VzZWxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbENhcm91c2VsVmlld01vZGVsIiwidVN4ZG5iIixfLmxRKX0pO3ZhciBWaWE7Xy5tUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIldmZjZCZCIpO3JldHVybiBfLmVIfTtWaWE9Xy5jRCgoKT0+Xy5tUSgpLCJyZWVsQ2hhbm5lbEJhclZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsQ2hhbm5lbEJhclZpZXdNb2RlbCIsIldmZjZCZCIsXy5tUSl9KTt2YXIgV2lhO18ublE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJVM216c2QiKTtyZXR1cm4gXy5sSH07V2lhPV8uY0QoKCk9Pl8ublEoKSwicmVlbE11bHRpRm9ybWF0TGlua1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJyZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsIiwiVTNtenNkIixfLm5RKX0pO3ZhciBYaWE7Xy5vUT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoInlQMEpCZCIpO3JldHVybiBfLmJGfTtYaWE9Xy5jRCgoKT0+Xy5vUSgpLCJzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbCIsInlQMEpCZCIsXy5vUSl9KTt2YXIgWWlhO18ucFE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJScWFKc2QiKTtyZXR1cm4gXy5YSn07WWlhPV8uY0QoKCk9Pl8ucFEoKSwic2hvcnRzU3VnZ2VzdGVkQWN0aW9uVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooInNob3J0c1N1Z2dlc3RlZEFjdGlvblZpZXdNb2RlbCIsIlJxYUpzZCIsXy5wUSl9KTt2YXIgWmlhO18ucVE9YXN5bmMoKT0+e2F3YWl0ICgwLF8uZWgpKCJFM0hlYmMiKTtyZXR1cm4gXy5hRn07WmlhPV8uY0QoKCk9Pl8ucVEoKSwic2hvcnRzVmlkZW9UaXRsZVZpZXdNb2RlbCIpO18uWXQoXy5KRCxhPT57YS5KKCJzaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsIiwiRTNIZWJjIixfLnFRKX0pO18uclE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygieXQtcmVlbC1tZXRhcGFuZWwtdmlldy1tb2RlbCIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxIb3N0In0sXy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1ldGFkYXRhSXRlbXN9LHtiYWRnZVZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sXy5LKF8uYUcse2RhdGE6Yn0pKSxwbGF5ZXJEaXNjbG9zdXJlVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVGlhLHtkYXRhOmJ9KSkscHJvZHVjdFN0aWNrZXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhfLmdRLHtkYXRhOigpPT5iKCkuc3RpY2tlcn0pKSxyZWVsQ2Fyb3VzZWxWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Cl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoVWlhLHtkYXRhOmJ9KSkscmVlbENoYW5uZWxCYXJWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhWaWEse2RhdGE6Yn0pKSxyZWVsTXVsdGlGb3JtYXRMaW5rVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoV2lhLHtkYXRhOmJ9KSkscmVlbFNvdW5kTWV0YWRhdGFWaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhTaWEse2RhdGE6Yn0pKSxzaG9ydHNEaXNjbG9zdXJlc1ZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoImRpdiIse2NsYXNzOiJ5dFJlZWxNZXRhcGFuZWxWaWV3TW9kZWxNZXRhcGFuZWxJdGVtIn0sCl8uSyhYaWEse2RhdGE6Yn0pKSxzaG9ydHNTdWdnZXN0ZWRBY3Rpb25WaWV3TW9kZWw6KHtkYXRhOmJ9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRSZWVsTWV0YXBhbmVsVmlld01vZGVsTWV0YXBhbmVsSXRlbSJ9LF8uSyhZaWEse2RhdGE6Yn0pKSxzaG9ydHNWaWRlb1RpdGxlVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoWmlhLHtkYXRhOmJ9KSksdG9nZ2xlQnV0dG9uVmlld01vZGVsOih7ZGF0YTpifSk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UmVlbE1ldGFwYW5lbFZpZXdNb2RlbE1ldGFwYW5lbEl0ZW0ifSxfLksoXy5aRix7ZGF0YTpifSkpfSkpLCJVYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLnNRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiZktFOHFkIik7cmV0dXJuIF8ub0R9O18uJGlhPV8uY0QoKCk9Pl8uc1EoKSwiZGlhbG9nVmlld01vZGVsIik7Xy5ZdChfLkpELGE9PnthLkooImRpYWxvZ1ZpZXdNb2RlbCIsImZLRThxZCIsXy5zUSl9KTtfLnRRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgiUlpla0oiKTtyZXR1cm4gXy5TQ307Xy5hamE9Xy5jRCgoKT0+Xy50USgpLCJzbWFydGltYXRpb25zIik7Xy5ZdChfLkpELGE9PnthLkooInNtYXJ0aW1hdGlvbnMiLCJSWmVrSiIsXy50USl9KTtfLnVRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgic0RPVEdlIik7cmV0dXJuIF8ubkR9O18uYmphPV8uY0QoKCk9Pl8udVEoKSwicmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigicmVlbFBsYXllck92ZXJsYXlWaWV3TW9kZWwiLCJzRE9UR2UiLF8udVEpfSk7Xy52UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoImVjdVBBYyIpO3JldHVybiBfLm1EfTtfLmNqYT1fLmNEKCgpPT5fLnZRKCksInBsYXllck92ZXJsYXlJbnRlcmFjdGlvbiIpO18uWXQoXy5KRCxhPT57YS5KKCJwbGF5ZXJPdmVybGF5SW50ZXJhY3Rpb24iLCJlY3VQQWMiLF8udlEpfSk7Xy53UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIkZRZElKZSIpO3JldHVybiBfLmxEfTtfLmRqYT1fLmNEKCgpPT5fLndRKCksInN0aWNrZXJzTGF5ZXIiKTtfLll0KF8uSkQsYT0+e2EuSigic3RpY2tlcnNMYXllciIsIkZRZElKZSIsXy53USl9KTtfLnhRPWFzeW5jKCk9Pnthd2FpdCAoMCxfLmVoKSgibjdlbzIiKTtyZXR1cm4gXy5rRH07Xy5lamE9Xy5jRCgoKT0+Xy54USgpLCJpbnRlcnN0aXRpYWxWaWV3TW9kZWwiKTtfLll0KF8uSkQsYT0+e2EuSigiaW50ZXJzdGl0aWFsVmlld01vZGVsIiwibjdlbzIiLF8ueFEpfSk7Xy55UT1hc3luYygpPT57YXdhaXQgKDAsXy5laCkoIk51aWx1ZSIpO3JldHVybiBfLmpEfTtfLmZqYT1fLmNEKCgpPT5fLnlRKCksInZpZGVvV2l0aENvbnRleHRSZW5kZXJlciIpO18uWXQoXy5KRCxhPT57YS5KKCJ2aWRlb1dpdGhDb250ZXh0UmVuZGVyZXIiLCJOdWlsdWUiLF8ueVEpfSk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uQVE9Xy5MKCh7T286YSxScDpiLGNoaWxkcmVuOmMsUG46ZCxkaXNhYmxlQW5pbWF0aW9uOmV9KT0+e3ZhciBmPSgpPT4hZT8uKCk7cmV0dXJuIF8uSygieXQtYW5pbWF0ZWQtYWN0aW9uIix7Y2xhc3M6Xy5QKCJ5dEFuaW1hdGVkQWN0aW9uSG9zdCIsZCl9LF8uSygiZGl2Iix7Y2xhc3M6Inl0QW5pbWF0ZWRBY3Rpb25Db250ZW50V2l0aEJhY2tncm91bmQifSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKHpRLHtQbjoieXRBbmltYXRlZEFjdGlvbkJhY2tncm91bmRDb250YWluZXIiLHl5OiJ5dEFuaW1hdGVkQWN0aW9uQmFja2dyb3VuZCIsRWM6KCk9Pih7YW5pbWF0aW9uUmVmOmE/LigpLGFuaW1hdGlvbkNvbmZpZzp7bmFtZToiYW5pbWF0ZWQtYWN0aW9ucy1iYWNrZ3JvdW5kIixhdXRvcGxheTohMSxsb29wOiExLHBhdGg6YGh0dHBzOi8vd3d3LmdzdGF0aWMuY29tL3lvdXR1YmUvaW1nL2xvdHRpZS9zdWJzY3JpYmVfYWN0aW9uL3N1YnNjcmliZV9hY3Rpb25fY29udGFpbmVyXyR7Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/PwohMT8iZGFyayI6ImxpZ2h0In1fdjUuanNvbmB9fSl9KX0pLGMpLF8uSyhfLk8se0E6Zix0aGVuOigpPT5fLksoelEse0VjOigpPT4oe2FuaW1hdGlvblJlZjpiPy4oKSxhbmltYXRpb25Db25maWc6e25hbWU6ImFuaW1hdGVkLWFjdGlvbnMtZm9yZWdyb3VuZCIsYXV0b3BsYXk6ITEsbG9vcDohMSxwYXRoOmBodHRwczovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2ltZy9sb3R0aWUvc3Vic2NyaWJlX2FjdGlvbi9zdWJzY3JpYmVfYWN0aW9uX3NwYXJrbGVzXyR7Xy55KCkucmVzb2x2ZShfLkluKF8ua0YpKT8uKCk/PyExPyJkYXJrIjoibGlnaHQifV92NC5qc29uYH19KX0pfSkpfSwiVmIiKTtfLkFRLmlkb21Db21wYXQ9ITA7CnZhciB6UT1fLkwoKHtQbjphLHl5OmIsRWM6Y30pPT5fLksoImRpdiIse2NsYXNzOl8uUCgieXRBbmltYXRlZEFjdGlvbkxvdHRpZSIsYSksImFyaWEtaGlkZGVuIjoidHJ1ZSJ9LF8uSyhfLmNNLHtjbGFzc05hbWU6YixkYXRhOmMsYW5pbWF0aW9uTmFtZTooKT0+YygpLmFuaW1hdGlvbkNvbmZpZy5uYW1lfSkpLCJXYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkJRPWZ1bmN0aW9uKCl7cmV0dXJue2xvdHRpZUVsOnZvaWQgMH19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLkNRPWZ1bmN0aW9uKGEsYil7Xy5uRSgoKT0+e3ZhciBjPWEoKTtfLkVBKCgpPT52b2lkIGIoYykpfSwiY0tSOXNmIil9Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZ2phLERRLEVRLEZRLGhqYSxpamEsamphLEdRLEhRLGtqYSxJUSxsamEsSlEsS1EsTFEsTVEsTlEsT1EsbWphLFBRLFFRLFJRLG5qYSxTUSxvamEsVFEsVVEscGphLFZRLFdRLFhRLFpRLHFqYSxyamEsJFEsYVIsc2phLHRqYSx1amEsYlIsY1IsdmphLHdqYSx4amEsaFIsZlIsbVIsblIsb1IscFIsZ1IsdFIsdVIsa1IsdlIsbFIsemphLEFqYSx6UixBUixCUixFamEsRFIsSFIsRmphLEdqYSxIamEsSWphLElSLEpSLEpqYSxMUixMamEsTWphLE1SLFFqYSxQamEsUmphLE9qYSxOUixOamEsUFIsT1IsVWphLFdqYSxSUixYamEsU1IsZFMsZVMsZlMsZ1MsZGthLGlrYSxpUyxra2EsalMsa1Msb2thLHBTLHFrYSxya2EscVMsc2thLHRrYSxyUyxzUyx0Uyx1Uyx3Uyx4Uyx2Uyx5Uyx6UyxBUyxCUyxFUyxGUyxDUyxHUyx6a2EsSlMsSFMsQ2thLExTLE1TLE5TLFBTLElTLEZrYSxTUyxHa2EsVVMsV1MsWFMsSGthLFlTLFpTLCRTLGNULGJULElrYSxkVCxKa2EsS2thLExrYSxNa2EsZ1QsCmZULGhULGtULGxULE5rYSxtVCxqVCxpVCxuVCxvVCxwVCxPa2EsclQsUGthLFFrYSx0VCxSa2EsdlQsU2thLFRrYSxzVCxVa2EsVmthLFdrYSxYa2EsWWthLHhULHVULHFULHdULHlULHpULEFULEJULENULERULCRrYSxFVCxIVCxJVCxGVCxjbGEsYmxhLEpULEtULE9ULFBULGVsYSxRVCxUVCxSVCxmbGEsaGxhLGdsYSxpbGEsV1QsWFQsamxhLFpULGtsYSxhVSxiVSxjVSxsbGEsaFUsbmxhLG9sYSxpVSxqVSxsVSxtVSxuVSxvVSxwVSxwbGEscVUscWxhLHJVLHJsYSxzVSx1VSxzbGEsdWxhLHdVLElVLHhVLEtVLEpVLHZsYSx3bGEseGxhLHpsYSxMVSx5bGEsT1UsTVUsQmxhLENsYSxEbGEsUFUsRWxhLEZsYSxHbGEsSGxhLElsYSxKbGEsS2xhLExsYSxNbGEsTmxhLFFVLFJVLFNVLFVVLFBsYSxYVSxZVSxRbGEsUmxhLFpVLFNsYSwkVSxVbGEsYVYsVGxhO2dqYT1mdW5jdGlvbigpe3JldHVybiEhXy5aTygpfTsKRFE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBNYXRoLm1pbihNYXRoLm1heChhLGIpLGMpfTtFUT1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBudWxsO3ZhciBjPWI/U3RyaW5nKGIpLnRvVXBwZXJDYXNlKCk6bnVsbDtyZXR1cm4gXy5ndyhhLGZ1bmN0aW9uKGQpe3JldHVybighY3x8ZC5ub2RlTmFtZT09YykmJiEwfSwhMCl9O0ZRPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMubGVmdD1hO3RoaXMudG9wPWI7dGhpcy53aWR0aD1jO3RoaXMuaGVpZ2h0PWR9O2hqYT1mdW5jdGlvbihhLGIpe2I/Xy5TdChhLCJ5dFBsYXllckNvbnRyb2xzQ29udGFpbmVyUmVuZGVyZWQiKTpfLlR0KGEsInl0UGxheWVyQ29udHJvbHNDb250YWluZXJSZW5kZXJlZCIpfTsKaWphPWZ1bmN0aW9uKCl7Xy5WaSgoKT0+e2lmKCFfLkJxKCJmdGwiKSl7dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthIT09Xy5wbygpfHxfLkJxKCJmdGwiKXx8Xy5BcSgiZnRsIix2b2lkIDAsdm9pZCAwKX0sMCl9KX19KSgpfTtqamE9ZnVuY3Rpb24oKXtpZihfLlh6KCkpe3ZhciBhPV8uR2goInBmcC1tYXctcGxheWVyIik7aWYoYSlyZXR1cm4gbmV3IF8ud00oYSl9fTtHUT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbCgoMCxfLlNhYSkoKSxhKX07CkhRPWZ1bmN0aW9uKCl7aWYoXy54KCJlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVjayIpKXJldHVybiBfLncoIklOTkVSVFVCRV9DT05URVhUIix7fSkuY2xpZW50Py5jbGllbnRGb3JtRmFjdG9yPT09IkFVVE9NT1RJVkVfRk9STV9GQUNUT1IiO3ZhciBhPV8udygiSU5ORVJUVUJFX0NPTlRFWFQiLHt9KTtyZXR1cm4gYS5jbGllbnQ/Lm9zTmFtZSYmYS5jbGllbnQub3NOYW1lPT09IkFuZHJvaWQgQXV0b21vdGl2ZSJ9O2tqYT1mdW5jdGlvbihhLGIpe3JldHVybiBfLnFBKGEuZW50aXRpZXMsImRpc21pc3NTdGF0ZSIsYil9O0lRPWZ1bmN0aW9uKCl7cmV0dXJuIF8uVU0oKT09PSJoYXNodGFnIn07bGphPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ucUEoYS5lbnRpdGllcywibG9nb0VudGl0eSIsYil9OwpKUT1mdW5jdGlvbigpe3JldHVybiBhPT57dmFyIGI9Xy5MQighMSk7dHJ5e2xldCBjPWEuY2hpbGRyZW47Xy5VQT9jP18uZ04oXy5LKF8uc08sYSxjKSk6Xy5nTihfLksoXy5zTyxhKSk6Xy5JcChuZXcgXy5Yaigia2V0b1RvQzMgY2FsbGVkIG91dHNpZGUgb2YgYSBwYXRjaCIse3RhZ05hbWU6Xy5zTy5aY30pKX1maW5hbGx5e18uTEIoYil9fX07CktRPWZ1bmN0aW9uKGEsYil7aWYoYS5yZXF1ZXN0RnVsbHNjcmVlbilhPWEucmVxdWVzdEZ1bGxzY3JlZW4oYik7ZWxzZSBpZihhLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKWE9YS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO2Vsc2UgaWYoYS5tb3pSZXF1ZXN0RnVsbFNjcmVlbilhPWEubW96UmVxdWVzdEZ1bGxTY3JlZW4oKTtlbHNlIGlmKGEubXNSZXF1ZXN0RnVsbHNjcmVlbilhPWEubXNSZXF1ZXN0RnVsbHNjcmVlbigpO2Vsc2UgaWYoYS53ZWJraXRFbnRlckZ1bGxzY3JlZW4pYT1hLndlYmtpdEVudGVyRnVsbHNjcmVlbigpO2Vsc2UgcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJKZCIpKTtyZXR1cm4gYSBpbnN0YW5jZW9mIFByb21pc2U/YTpQcm9taXNlLnJlc29sdmUoKX07CkxRPWZ1bmN0aW9uKCl7cmV0dXJuISFfLklPKFsiZnVsbHNjcmVlbkVuYWJsZWQiLCJ3ZWJraXRGdWxsc2NyZWVuRW5hYmxlZCIsIm1vekZ1bGxTY3JlZW5FbmFibGVkIiwibXNGdWxsc2NyZWVuRW5hYmxlZCJdLGRvY3VtZW50KX07TVE9ZnVuY3Rpb24oYSl7dmFyIGI7TFEoKT9fLlpPKCk9PWEmJihiPWRvY3VtZW50KTpiPWE7aWYoYiYmKGE9Xy5JTyhbImV4aXRGdWxsc2NyZWVuIiwid2Via2l0RXhpdEZ1bGxzY3JlZW4iLCJtb3pDYW5jZWxGdWxsU2NyZWVuIiwibXNFeGl0RnVsbHNjcmVlbiJdLGIpKSl7YS5jYWxsKGIpaW5zdGFuY2VvZiBQcm9taXNlfHxQcm9taXNlLnJlc29sdmUoKTtyZXR1cm59UHJvbWlzZS5yZXNvbHZlKCl9O05RPWZ1bmN0aW9uKGEpe3JldHVybiBhLmdldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIpfTtPUT1mdW5jdGlvbihhKXtyZXR1cm4oYT1OUShhKSk/ISFhLmRpc3BsYXlOYW1lOiExfTsKbWphPWZ1bmN0aW9uKGEpe3JldHVybiBfLnZiKGEsYj0+Yi5sYW5ndWFnZUNvZGU9PT0iZW4iKX07UFE9ZnVuY3Rpb24oYSl7aWYoIWEuZ2V0T3B0aW9ucygiY2FwdGlvbnMiKSlyZXR1cm4iIjthPV8uJE8oYSk7aWYoIWEubGVuZ3RoKXJldHVybiIiO3ZhciBiPW1qYShhKTtyZXR1cm4gYj9iLmRpc3BsYXlOYW1lfHwiIjphWzBdLmRpc3BsYXlOYW1lfHwiIn07ClFRPWZ1bmN0aW9uKGEsYixjKXtpZihPUShhKSlfLngoIm13ZWJfZW5hYmxlX3BsYXllcl9jYXB0aW9uc19wZXJzaXN0ZW5jZV9zdGF0ZV9tYWNoaW5lIik/YS5zZXRPcHRpb24oImNhcHRpb25zIiwic3RpY2t5TG9hZGluZyIse3VzZXJJbml0aWF0ZWQ6Y30pOmEuc2V0T3B0aW9uKCJjYXB0aW9ucyIsInN0aWNreUxvYWRpbmciLHt9KSxhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIse30pO2Vsc2V7bGV0IGQ9Xy52YihfLiRPKGEpLGU9PmUuZGlzcGxheU5hbWU9PT1iKTthLnNldE9wdGlvbigiY2FwdGlvbnMiLCJ0cmFjayIsZCk7Xy54KCJtd2ViX2VuYWJsZV9wbGF5ZXJfY2FwdGlvbnNfcGVyc2lzdGVuY2Vfc3RhdGVfbWFjaGluZSIpJiZhLnNldE9wdGlvbigiY2FwdGlvbnMiLCJzdGlja3lMb2FkaW5nIix7dXNlckluaXRpYXRlZDpjfSl9fTtSUT1mdW5jdGlvbigpe3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZnVsbHNjcmVlbnJlcXVlc3QiKSl9OwpuamE9ZnVuY3Rpb24oYSl7dmFyIFtiXT0oMCxfLnVpYSkoYSksW2NdPSgwLF8udmlhKShhKTtyZXR1cm5bXy5OKCgpPT57dmFyIGQ9ey4uLmIoKX07ZC5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uJiYoZC5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uPXsuLi5jKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbn0pO3JldHVybiBkfSx2b2lkIDAsInV2Uzg3YiIpXX07U1E9ZnVuY3Rpb24oYSl7TVEoYXx8ZG9jdW1lbnQuYm9keSl9OwpvamE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpO2EmJihSUSgpLEtRKGEpLmNhdGNoKGI9PntpZihiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpXy5XaShiKTtlbHNlIHRocm93IGI7fSkpfTtUUT1mdW5jdGlvbihhLGIpe18uWk8oKT8oUlEoKSxTUShiKSk6TFEoKT8oUlEoKSxiPUtRKGJ8fGRvY3VtZW50LmJvZHkse25hdmlnYXRpb25VSToiaGlkZSJ9KSxhPy5kcyYmYj8uY2F0Y2goKCk9Pm51bGwpKTpvamEoKX07ClVRPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiAwO3ZhciBiPWEuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSxjPWEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGMmJmMuaXNMaXZlPyhhPWEuZ2V0UHJvZ3Jlc3NTdGF0ZShiKSxhLnNlZWthYmxlRW5kLWEuc2Vla2FibGVTdGFydCk6YS5nZXREdXJhdGlvbihiKX07cGphPWZ1bmN0aW9uKGEsYixjKXthfHxfLk9FKCgpPT57Yj8ucHJldmlvdXNWaWRlbyhjKX0pfTtWUT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclN0YXRlKCk7aWYoYj09PTIpcmV0dXJuITA7aWYoYiE9PTMpcmV0dXJuITE7YT1hLmdldFBsYXllclN0YXRlT2JqZWN0KCk7cmV0dXJuIWEuaXNCdWZmZXJpbmcmJiFhLmlzVW5zdGFydGVkJiYhYS5pc1BsYXlpbmcmJmEuaXNQYXVzZWR9OwpXUT1mdW5jdGlvbihhKXt2YXIgYj1hLmdldFBsYXllclN0YXRlKCk7aWYoYj09PTEpcmV0dXJuIGEucGF1c2VWaWRlbygpLCJQTEFZRVJfUEFVU0UiO2lmKGI9PT0tMSlhLnBsYXlWaWRlbygpO2Vsc2UgaWYoYj09PTJ8fFZRKGEpKXJldHVybiBhLnBsYXlWaWRlbygpLCJQTEFZRVJfUExBWSJ9O1hRPWZ1bmN0aW9uKGEpe2E9YSYmYS5nZXRQbGF5bGlzdEluZGV4JiZhLmdldFBsYXlsaXN0SW5kZXgoKT49MDtyZXR1cm4hIV8uWmIod2luZG93LmxvY2F0aW9uLmhyZWYsImxpc3QiKXx8ISFhfTtaUT1mdW5jdGlvbihhKXtZUT1hfTtxamE9ZnVuY3Rpb24oYSl7dmFyIGI9WVE7Yj8oYT1hLnRpbWVTdGFtcCxiPWIudGltZVN0YW1wLGI9aXNOYU4oYSl8fGlzTmFOKGIpPyExOk1hdGguYWJzKGEtYik8PV8ueWlhKTpiPSExO3JldHVybiBifTsKcmphPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O2lmKGIpe3ZhciBjPSFiLnBhdXNlZDsocWphKGEpfHxjKSYmc2V0VGltZW91dCgoKT0+e2IucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGF1c2UiLFpRKTtkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0idmlzaWJsZSImJl8uVk0oKX0sXy54aWEpfX07JFE9ZnVuY3Rpb24oKXtfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW4iKT9TUShfLkVKKTpfLkVKJiYoTVEoXy5FSiksXy54KCJtd2ViX25ld19mdWxsc2NyZWVuX3Jlc2l6ZSIpfHxfLlhNKCJyZXNpemUiKSl9OwphUj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInZpZGVvIik7YSYmKF8uZnImJl8ueCgibXdlYl9pb3NfZnVsbHNjcmVlbl9wbGF5YmFja190cmFuc2l0aW9uIikmJihhLmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlIixaUSksXy5OTShhLCJ3ZWJraXRlbmRmdWxsc2NyZWVuIixyamEpKSxfLlhNKCJmdWxsc2NyZWVucmVxdWVzdCIpLEtRKGEpLmNhdGNoKGI9PntpZihiPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGI/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpXy5XaShiKTtlbHNlIHRocm93IGI7fSkpfTtzamE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuc2NyZWVuLm9yaWVudGF0aW9uO2lmKGE/LmxvY2smJiFfLk1FKCkmJiFfLlRFKCkpdHJ5e2EubG9jaygibGFuZHNjYXBlIikuY2F0Y2goKCk9Pnt9KX1jYXRjaChiKXt9fTsKdGphPWZ1bmN0aW9uKGEpe18uWE0oImZ1bGxzY3JlZW5yZXF1ZXN0Iik7dmFyIGI9S1EoXy5FSix7bmF2aWdhdGlvblVJOiJoaWRlIn0pO2F8fHNqYSgpO18ueCgibXdlYl9uZXdfZnVsbHNjcmVlbl9yZXNpemUiKXx8Xy5YTSgicmVzaXplIik7cmV0dXJuIGJ9Owp1amE9ZnVuY3Rpb24oYSl7ZG9jdW1lbnQuYm9keS5nZXRBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiKT09PSJ0cnVlIiYmZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiKTtpZihfLngoIm13ZWJfbmV3X2Z1bGxzY3JlZW4iKSlUUShhLF8uRUopO2Vsc2V7dmFyIGI9Xy5yUCgpLGM7Xy5mcj9jPWFSKCk6TFEoKT9iPyRRKCk6Yz10amEoYT8uekkpOl8ueCgibXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkIik/Yz1hUigpOl8uWE0oInBsYXllci1mdWxsc2NyZWVuLXRvZ2dsZWQiLHtpc0N1cnJlbnRseUZ1bGxzY3JlZW46Yn0pO2M/LmNhdGNoKGQ9PntpZihkPy5tZXNzYWdlPy5pbmNsdWRlcygiRnVsbHNjcmVlbiBpcyBub3Qgc3VwcG9ydGVkIil8fGQ/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJGdWxsc2NyZWVuIGVycm9yIil8fGQ/Lm1lc3NhZ2U/LmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIikpZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoImZ1bGxzY3JlZW4tcmVqZWN0ZWQiLAoidHJ1ZSIpLF8uWE0oInBsYXllci1mdWxsc2NyZWVuLXRvZ2dsZWQiLHtpc0N1cnJlbnRseUZ1bGxzY3JlZW46Yn0pfSk7YT8uZHMmJmM/LmNhdGNoKCgpPT5udWxsKX19O2JSPWZ1bmN0aW9uKGEpe3JldHVybntsaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6YS50aXRsZSxzZWxlY3Rpb25UZXh0OmEuc2VsZWN0aW9uVGV4dCxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmEuaWNvblR5cGV9fV19LGlzRGlzYWJsZWQ6YS5pc0Rpc2FibGVkLGlzU2VsZWN0ZWQ6YS5pc1NlbGVjdGVkLHNlbGVjdGlvblN0eWxlOmEuc2VsZWN0aW9uU3R5bGV9fX07CmNSPWZ1bmN0aW9uKGEpe3JldHVybntzd2l0Y2hMaXN0SXRlbVZpZXdNb2RlbDp7dGl0bGU6YS50aXRsZSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmEuaWNvblR5cGV9fV19LHN3aXRjaGVkT25CeURlZmF1bHQ6YS5rbCxhMTF5TGFiZWxTd2l0Y2hlZE9uOmEuRWssYTExeUxhYmVsU3dpdGNoZWRPZmY6YS5Eayxpc0Rpc2FibGVkOmEuaXNEaXNhYmxlZH19fTt2amE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2hvcnRzLmlzRnVsbHNjcmVlbn07d2phPWZ1bmN0aW9uKGEpe3JldHVybiBhLnNob3J0cy5tan07CnhqYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIubGVuZ3RoO3N3aXRjaChjKXtjYXNlIDA6cmV0dXJuIiI7Y2FzZSAxOnJldHVybiBTdHJpbmcoYlswXSk7Y2FzZSAyOnJldHVybiBhLkQucmVwbGFjZSgiezB9IixTdHJpbmcoYlswXSkpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbMV0pKX12YXIgZD1hLkIucmVwbGFjZSgiezB9IixTdHJpbmcoYlswXSkpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbMV0pKTtmb3IobGV0IGU9MjtlPGMtMTsrK2UpZD1hLnYucmVwbGFjZSgiezB9IixkKS5yZXBsYWNlKCJ7MX0iLFN0cmluZyhiW2VdKSk7cmV0dXJuIGEuby5yZXBsYWNlKCJ7MH0iLGQpLnJlcGxhY2UoInsxfSIsU3RyaW5nKGJbYy0xXSkpfTsKaFI9ZnVuY3Rpb24oKXt0aGlzLks9bnVsbDt0aGlzLlZkPXRoaXMuTWE9dGhpcy5RYT0hMTt0aGlzLlo9NDA7dGhpcy5vPTE7dGhpcy5oYT0wO3RoaXMuaj0zO3RoaXMueWE9dGhpcy5CPTA7dGhpcy5FYj0hMTt0aGlzLmdhPXRoaXMuTT0iIjt0aGlzLkQ9ZFIuYW87dGhpcy5VPSIiO3RoaXMudj0xO3RoaXMuWT0hMTt0aGlzLkk9W107dGhpcy5GYT10aGlzLmZjPSExO3RoaXMub2E9MDtpZihlUilmUih0aGlzKTtlbHNle3RoaXMuSz1udWxsO3ZhciBhPWRSLmd0O2xldCBlPVswXTt0aGlzLk09Z1IodGhpcyxhLGUpO3ZhciBiPWVbMF07bGV0IGY9LTEsaD0wO3ZhciBjPTAsZD0wO2xldCBrPS0xLGw9YS5sZW5ndGg7Zm9yKGxldCBtPSEwO2VbMF08bCYmbTtlWzBdKyspc3dpdGNoKGEuY2hhckF0KGVbMF0pKXtjYXNlICIjIjpjPjA/ZCsrOmgrKztrPj0wJiZmPDAmJmsrKzticmVhaztjYXNlICIwIjppZihkPjApdGhyb3cgRXJyb3IoIlZkYCIrYSk7YysrO2s+PTAmJmY8MCYmaysrO2JyZWFrOwpjYXNlICIsIjprPjAmJnRoaXMuSS5wdXNoKGspO2s9MDticmVhaztjYXNlICIuIjppZihmPj0wKXRocm93IEVycm9yKCJXZGAiK2EpO2Y9aCtjK2Q7YnJlYWs7Y2FzZSAiRSI6aWYodGhpcy5GYSl0aHJvdyBFcnJvcigiWGRgIithKTt0aGlzLkZhPSEwO3RoaXMueWE9MDtlWzBdKzE8bCYmYS5jaGFyQXQoZVswXSsxKT09IisiJiYoZVswXSsrLHRoaXMuRWI9ITApO2Zvcig7ZVswXSsxPGwmJmEuY2hhckF0KGVbMF0rMSk9PSIwIjspZVswXSsrLHRoaXMueWErKztpZihoK2M8MXx8dGhpcy55YTwxKXRocm93IEVycm9yKCJZZGAiK2EpO209ITE7YnJlYWs7ZGVmYXVsdDplWzBdLS0sbT0hMX1jPT0wJiZoPjAmJmY+PTAmJihjPWYsYz09MCYmYysrLGQ9aC1jLGg9Yy0xLGM9MSk7aWYoZjwwJiZkPjB8fGY+PTAmJihmPGh8fGY+aCtjKXx8az09MCl0aHJvdyBFcnJvcigiWmRgIithKTtkPWgrYytkO3RoaXMuaj1mPj0wP2QtZjowO2Y+PTAmJih0aGlzLkI9aCtjLWYsdGhpcy5CPDAmJih0aGlzLkI9CjApKTt0aGlzLm89KGY+PTA/ZjpkKS1oO3RoaXMuRmEmJih0aGlzLlo9aCt0aGlzLm8sdGhpcy5qPT0wJiZ0aGlzLm89PTAmJih0aGlzLm89MSkpO3RoaXMuSS5wdXNoKE1hdGgubWF4KDAsaykpO3RoaXMuZmM9Zj09MHx8Zj09ZDtiPWVbMF0tYjt0aGlzLmdhPWdSKHRoaXMsYSxlKTtlWzBdPGEubGVuZ3RoJiZhLmNoYXJBdChlWzBdKT09IjsiPyhlWzBdKyssdGhpcy52IT0xJiYodGhpcy5ZPSEwKSx0aGlzLkQ9Z1IodGhpcyxhLGUpLGVbMF0rPWIsdGhpcy5VPWdSKHRoaXMsYSxlKSk6KHRoaXMuRCs9dGhpcy5NLHRoaXMuVSs9dGhpcy5nYSl9fTsKZlI9ZnVuY3Rpb24oYSl7dmFyIGI9e25vdGF0aW9uOiJzdGFuZGFyZCIsbWluaW11bUludGVnZXJEaWdpdHM6TWF0aC5taW4oMjEsTWF0aC5tYXgoMSxhLm8pKX07YS5FYiYmKGIuc2lnbkRpc3BsYXk9ImFsd2F5cyIpO2EuUWE/KGIubWluaW11bVNpZ25pZmljYW50RGlnaXRzPTEsYi5tYXhpbXVtU2lnbmlmaWNhbnREaWdpdHM9TWF0aC5tYXgoMSxNYXRoLm1pbigyMSxhLmhhKSkpOmEuTWEmJihiLm1pbmltdW1GcmFjdGlvbkRpZ2l0cz1NYXRoLm1heCgwLGEuQiksYi5tYXhpbXVtRnJhY3Rpb25EaWdpdHM9TWF0aC5taW4oMjAsTWF0aC5tYXgoMCxhLmopKSk7Yi5zdHlsZT0iZGVjaW1hbCI7dHJ5e2xldCBjOyhjPSJlbi1VUyIucmVwbGFjZSgiXyIsIi0iKSkmJmMgaW4gaVImJihiLm51bWJlcmluZ1N5c3RlbT1pUltjXSk7YS5LPW5ldyBJbnRsLk51bWJlckZvcm1hdChjLGIpfWNhdGNoKGMpe3Rocm93IGEuSz1udWxsLEVycm9yKCJSZGAiK2MpO31qUj1hLlZkPWEuUWE9YS5NYT0hMX07Cm1SPWZ1bmN0aW9uKGEsYil7dmFyIGM9a1IoYixhLmopO2EuaGE+MCYmKGM9bFIoYyxhLmhhLGEuaikpO2M9TWF0aC5yb3VuZChjKTtpZihpc0Zpbml0ZShjKSl7dmFyIGQ9TWF0aC5mbG9vcihrUihjLC1hLmopKTtjPU1hdGguZmxvb3IoYy1rUihkLGEuaikpO2lmKGM8MHx8Yz49a1IoMSxhLmopKWQ9TWF0aC5yb3VuZChiKSxjPTB9ZWxzZSBkPWIsYz0wO3JldHVybntpbnRWYWx1ZTpkLGh3OmN9fTsKblI9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYS5CPmEuail0aHJvdyBFcnJvcigiU2QiKTtkfHwoZD1bXSk7Yj1tUihhLGIpO3ZhciBlPWIuaW50VmFsdWUsZj1iLmh3LGg9YS5CPjB8fGY+MHx8ITE7Yj1hLkI7aCYmKGI9YS5CKTtmb3IodmFyIGs9IiIsbD1lO2w+MUUyMDspaz0iMCIrayxsPU1hdGgucm91bmQoa1IobCwtMSkpO2s9bCtrO3ZhciBtPWRSLlZuO2w9ZFIuQmsuY29kZVBvaW50QXQoMCk7dmFyIG49ay5sZW5ndGgscD0wO2lmKGU+MHx8Yz4wKXtmb3IoZT1uO2U8YztlKyspZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwpKTtpZihhLkkubGVuZ3RoPj0yKWZvcihjPTE7YzxhLkkubGVuZ3RoO2MrKylwKz1hLklbY107Yz1uLXA7aWYoYz4wKXtlPWEuSTtwPW49MDt2YXIgcj1kUi5yayx0PWsubGVuZ3RoO2ZvcihsZXQgej0wO3o8dDt6KyspaWYoZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwrTnVtYmVyKGsuY2hhckF0KHopKSkpLHQtej4xKXt2YXIgdj1lW3BdO2lmKHo8CmMpe2xldCBFPWMtejsodj09PTF8fHY+MCYmRSV2PT09MSkmJmQucHVzaChyKX1lbHNlIHA8ZS5sZW5ndGgmJih6PT09Yz9wKz0xOnY9PT16LWMtbisxJiYoZC5wdXNoKHIpLG4rPXYscCs9MSkpfX1lbHNle2M9aztrPWEuSTtlPWRSLnJrO3Y9Yy5sZW5ndGg7cj1bXTtmb3Iobj1rLmxlbmd0aC0xO24+PTAmJnY+MDtuLS0pe3A9a1tuXTtmb3IodD0wO3Q8cCYmdi10LTE+PTA7dCsrKXIucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludChsK051bWJlcihjLmNoYXJBdCh2LXQtMSkpKSk7di09cDt2PjAmJnIucHVzaChlKX1kLnB1c2guYXBwbHkoZCxyLnJldmVyc2UoKSl9fWVsc2UgaHx8ZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwpKTsoYS5mY3x8aCkmJmQucHVzaChtKTtmPVN0cmluZyhmKTtoPWYuc3BsaXQoImUrIik7aC5sZW5ndGg9PTImJihmPVN0cmluZyhsUihwYXJzZUZsb2F0KGhbMF0pLGEuaGEsMSkpLGY9Zi5yZXBsYWNlKCIuIiwiIiksZis9IjAiLnJlcGVhdChwYXJzZUludChoWzFdLAoxMCktZi5sZW5ndGgrMSkpO2EuaisxPmYubGVuZ3RoJiYoZj0iMSIrIjAiLnJlcGVhdChhLmotZi5sZW5ndGgpK2YpO2ZvcihhPWYubGVuZ3RoO2YuY2hhckF0KGEtMSk9PSIwIiYmYT5iKzE7KWEtLTtmb3IoYj0xO2I8YTtiKyspZC5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGwrTnVtYmVyKGYuY2hhckF0KGIpKSkpfTtvUj1mdW5jdGlvbihhLGIsYyl7Yy5wdXNoKGRSLlluKTtiPDA/KGI9LWIsYy5wdXNoKGRSLmFvKSk6YS5FYiYmYy5wdXNoKGRSLld0KTtiPSIiK2I7dmFyIGQ9ZFIuQms7Zm9yKGxldCBlPWIubGVuZ3RoO2U8YS55YTtlKyspYy5wdXNoKGQpO2E9ZC5jb2RlUG9pbnRBdCgwKS15amE7Zm9yKGQ9MDtkPGIubGVuZ3RoO2QrKyljLnB1c2goU3RyaW5nLmZyb21Db2RlUG9pbnQoYStiLmNvZGVQb2ludEF0KGQpKSl9OwpwUj1mdW5jdGlvbihhKXthPWEuY29kZVBvaW50QXQoMCk7aWYoNDg8PWEmJmE8NTgpcmV0dXJuIGEtNDg7dmFyIGI9ZFIuQmsuY29kZVBvaW50QXQoMCk7cmV0dXJuIGI8PWEmJmE8YisxMD9hLWI6LTF9OwpnUj1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPSIiLGU9ITEsZj1iLmxlbmd0aDtjWzBdPGY7Y1swXSsrKXt2YXIgaD1iLmNoYXJBdChjWzBdKTtpZihoPT0iJyIpY1swXSsxPGYmJmIuY2hhckF0KGNbMF0rMSk9PSInIj8oY1swXSsrLGQrPSInIik6ZT0hZTtlbHNlIGlmKGUpZCs9aDtlbHNlIHN3aXRjaChoKXtjYXNlICIjIjpjYXNlICIwIjpjYXNlICIsIjpjYXNlICIuIjpjYXNlICI7IjpyZXR1cm4gZDtjYXNlICJcdTAwYTQiOmNbMF0rMTxmJiZiLmNoYXJBdChjWzBdKzEpPT0iXHUwMGE0Ij8oY1swXSsrLGQrPWRSLlduKTooaD1kUi5XbixkKz1oIGluIHFSP3FSW2hdWzFdOmgpO2JyZWFrO2Nhc2UgIiUiOmlmKCFhLlkmJmEudiE9MSl0aHJvdyBFcnJvcigiVGQiKTtpZihhLlkmJmEudiE9MTAwKXRocm93IEVycm9yKCJVZCIpO2Eudj0xMDA7YS5ZPSExO2QrPWRSLmpvO2JyZWFrO2Nhc2UgIlx1MjAzMCI6aWYoIWEuWSYmYS52IT0xKXRocm93IEVycm9yKCJUZCIpO2lmKGEuWSYmCmEudiE9MUUzKXRocm93IEVycm9yKCJVZCIpO2Eudj0xRTM7YS5ZPSExO2QrPWRSLmtvO2JyZWFrO2RlZmF1bHQ6ZCs9aH19cmV0dXJuIGR9O3RSPWZ1bmN0aW9uKGEsYil7YT1hLm9hPT0xP3JSLlNuOnJSLlZzO2E9PW51bGwmJihhPXJSLlNuKTtpZihiPDMpcmV0dXJuIHNSO2I9TWF0aC5taW4oMTQsYik7dmFyIGM9YVtrUigxLGIpXTtmb3IoLS1iOyFjJiZiPj0zOyljPWFba1IoMSxiKV0sYi0tO2lmKCFjKXJldHVybiBzUjtjPWMub3RoZXI7dmFyIGQ9YT0iIixlPWMuaW5kZXhPZigiOyIpO2U+PTAmJihjPWMuc3Vic3RyaW5nKDAsZSksZT1jLnN1YnN0cmluZyhlKzEpKSYmKGQ9LyhbXjBdKikoMCspKC4qKS8uZXhlYyhlKSxhPWRbMV0sZD1kWzNdKTtyZXR1cm4gYyYmYyE9IjAiPyhjPS8oW14wXSopKDArKSguKikvLmV4ZWMoYykpP3twbDpiKzEtKGNbMl0ubGVuZ3RoLTEpLHdtOmEseG06ZCxwcmVmaXg6Y1sxXSxzdWZmaXg6Y1szXX06c1I6c1J9Owp1Uj1mdW5jdGlvbihhKXtpZighaXNGaW5pdGUoYSkpcmV0dXJuIGE+MD9hOjA7Zm9yKHZhciBiPTA7KGEvPTEwKT49MTspYisrO3JldHVybiBifTtrUj1mdW5jdGlvbihhLGIpe2lmKCFhfHwhaXNGaW5pdGUoYSl8fGI9PTApcmV0dXJuIGE7YT1TdHJpbmcoYSkuc3BsaXQoImUiKTtyZXR1cm4gcGFyc2VGbG9hdChhWzBdKyJlIisocGFyc2VJbnQoYVsxXXx8MCwxMCkrYikpfTt2Uj1mdW5jdGlvbihhLGIpe3JldHVybiBhJiZpc0Zpbml0ZShhKT9rUihNYXRoLnJvdW5kKGtSKGEsYikpLC1iKTphfTtsUj1mdW5jdGlvbihhLGIsYyl7aWYoIWEpcmV0dXJuIGE7Yj1iLXVSKGEpLTE7cmV0dXJuIGI8LWM/dlIoYSwtYyk6dlIoYSxiKX07emphPWZ1bmN0aW9uKGEpe3JldHVybiBhJTEwPT0xJiZhJTEwMCE9MTE/Im9uZSI6YSUxMD09MiYmYSUxMDAhPTEyPyJ0d28iOmElMTA9PTMmJmElMTAwIT0xMz8iZmV3Ijoib3RoZXIifTsKQWphPWZ1bmN0aW9uKGEsYil7dmFyIGM9YXwwO2lmKHZvaWQgMD09PWIpe2I9TWF0aDt2YXIgZD1iLm1pbjtsZXQgZT1hKyIiLGY9ZS5pbmRleE9mKCIuIik7Yj1kLmNhbGwoYixmPT09LTE/MDplLmxlbmd0aC1mLTEsMyl9ZD1NYXRoLnBvdygxMCxiKTthPXtGQjpiLGY6KGEqZHwwKSVkfTtyZXR1cm4gYz09MSYmYS5GQj09MD8ib25lIjoib3RoZXIifTt6Uj1mdW5jdGlvbihhKXt0aGlzLnY9YTt0aGlzLm89dGhpcy5qPXRoaXMuRD1udWxsO2E9ZFI7dmFyIGI9clI7aWYod1IhPT1hfHx4UiE9PWIpd1I9YSx4Uj1iLHlSPW5ldyBoUjt0aGlzLks9eVJ9OwpBUj1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgcD0wO3A8Yi5sZW5ndGg7cCsrKXt2YXIgZj12b2lkIDA7c3dpdGNoKGJbcF0udHlwZSl7Y2FzZSA0OmUucHVzaChiW3BdLnZhbHVlKTticmVhaztjYXNlIDM6Zj1iW3BdLnZhbHVlO3ZhciBoPWEsaz1lLGw9Y1tmXTtsPT09dm9pZCAwP2sucHVzaCgiVW5kZWZpbmVkIHBhcmFtZXRlciAtICIrZik6KGguai5wdXNoKGwpLGsucHVzaChoLkIoaC5qKSkpO2JyZWFrO2Nhc2UgMjpmPWJbcF0udmFsdWU7aD1hO2s9YztsPWQ7dmFyIG09ZSxuPWYuc2k7a1tuXT09PXZvaWQgMD9tLnB1c2goIlVuZGVmaW5lZCBwYXJhbWV0ZXIgLSAiK24pOihuPWZba1tuXV0sbj09PXZvaWQgMCYmKG49Zi5vdGhlciksQVIoaCxuLGssbCxtKSk7YnJlYWs7Y2FzZSAwOmY9YltwXS52YWx1ZTtCUihhLGYsYyxDUixkLGUpO2JyZWFrO2Nhc2UgMTpmPWJbcF0udmFsdWUsQlIoYSxmLGMsQmphLGQsZSl9fX07CkJSPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgaD1iLnNpLGs9Yi5HbyxsPStjW2hdO2lzTmFOKGwpP2YucHVzaCgiVW5kZWZpbmVkIG9yIGludmFsaWQgcGFyYW1ldGVyIC0gIitoKTooaz1sLWssaD1iW2NbaF1dLGg9PT12b2lkIDAmJihkPWQoTWF0aC5hYnMoaykpLGg9YltkXSxoPT09dm9pZCAwJiYoaD1iLm90aGVyKSksYj1bXSxBUihhLGgsYyxlLGIpLGM9Yi5qb2luKCIiKSxlP2YucHVzaChjKTooYT1hLksuZm9ybWF0KGspLGYucHVzaChjLnJlcGxhY2UoLyMvZyxhKSkpKX07RWphPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5ELGQ9YS5CLmJpbmQoYSk7Yj1iLnJlcGxhY2UoQ2phLGZ1bmN0aW9uKCl7Yy5wdXNoKCInIik7cmV0dXJuIGQoYyl9KTtyZXR1cm4gYj1iLnJlcGxhY2UoRGphLGZ1bmN0aW9uKGUsZil7Yy5wdXNoKGYpO3JldHVybiBkKGMpfSl9OwpEUj1mdW5jdGlvbihhKXt2YXIgYj0wLGM9W10sZD1bXSxlPS9be31dL2c7ZS5sYXN0SW5kZXg9MDtmb3IodmFyIGY7Zj1lLmV4ZWMoYSk7KXtsZXQgaD1mLmluZGV4O2ZbMF09PSJ9Ij8oYy5wb3AoKSxjLmxlbmd0aD09MCYmKGY9e3R5cGU6MX0sZi52YWx1ZT1hLnN1YnN0cmluZyhiLGgpLGQucHVzaChmKSxiPWgrMSkpOihjLmxlbmd0aD09MCYmKGI9YS5zdWJzdHJpbmcoYixoKSxiIT0iIiYmZC5wdXNoKHt0eXBlOjAsdmFsdWU6Yn0pLGI9aCsxKSxjLnB1c2goInsiKSl9YT1hLnN1YnN0cmluZyhiKTthIT0iIiYmZC5wdXNoKHt0eXBlOjAsdmFsdWU6YX0pO3JldHVybiBkfTsKSFI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtiPURSKGIpO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7ZSsrKXtsZXQgZj17fTtpZigwPT1iW2VdLnR5cGUpZi50eXBlPTQsZi52YWx1ZT1iW2VdLnZhbHVlO2Vsc2UgaWYoMT09YltlXS50eXBlKXt2YXIgZD1iW2VdLnZhbHVlO3N3aXRjaChFUi50ZXN0KGQpPzA6RlIudGVzdChkKT8xOkdSLnRlc3QoZCk/MjovXlxzKlx3K1xzKi8udGVzdChkKT8zOjUpe2Nhc2UgMjpmLnR5cGU9MjtmLnZhbHVlPUZqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMDpmLnR5cGU9MDtmLnZhbHVlPUdqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMTpmLnR5cGU9MTtmLnZhbHVlPUhqYShhLGJbZV0udmFsdWUpO2JyZWFrO2Nhc2UgMzpmLnR5cGU9MyxmLnZhbHVlPWJbZV0udmFsdWV9fWMucHVzaChmKX1yZXR1cm4gY307CkZqYT1mdW5jdGlvbihhLGIpe3ZhciBjPSIiO2I9Yi5yZXBsYWNlKEdSLGZ1bmN0aW9uKGYsaCl7Yz1oO3JldHVybiIifSk7dmFyIGQ9e307ZC5zaT1jO2I9RFIoYik7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWJbZV0udmFsdWU7ZSsrO2xldCBoOzE9PWJbZV0udHlwZSYmKGg9SFIoYSxiW2VdLnZhbHVlKSk7ZFtmLnJlcGxhY2UoL1xzL2csIiIpXT1oO2UrK31yZXR1cm4gZH07R2phPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiIsZD0wO2I9Yi5yZXBsYWNlKEVSLGZ1bmN0aW9uKGgsayxsKXtjPWs7bCYmKGQ9cGFyc2VJbnQobCwxMCkpO3JldHVybiIifSk7dmFyIGU9e307ZS5zaT1jO2UuR289ZDtiPURSKGIpO2Zvcih2YXIgZj0wO2Y8Yi5sZW5ndGg7KXtsZXQgaD1iW2ZdLnZhbHVlO2YrKztsZXQgazsxPT1iW2ZdLnR5cGUmJihrPUhSKGEsYltmXS52YWx1ZSkpO2VbaC5yZXBsYWNlKC9ccyooPzo9KT8oXHcrKVxzKi8sIiQxIildPWs7ZisrfXJldHVybiBlfTsKSGphPWZ1bmN0aW9uKGEsYil7dmFyIGM9IiI7Yj1iLnJlcGxhY2UoRlIsZnVuY3Rpb24oZixoKXtjPWg7cmV0dXJuIiJ9KTt2YXIgZD17fTtkLnNpPWM7ZC5Hbz0wO2I9RFIoYik7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWJbZV0udmFsdWU7ZSsrO2xldCBoOzE9PWJbZV0udHlwZSYmKGg9SFIoYSxiW2VdLnZhbHVlKSk7ZFtmLnJlcGxhY2UoL1xzKig/Oj0pPyhcdyspXHMqLywiJDEiKV09aDtlKyt9cmV0dXJuIGR9O0lqYT1mdW5jdGlvbihhLGIpe3N3aXRjaChiKXtkZWZhdWx0OmNhc2UgInllYXJzIjpyZXR1cm4gYS5qLllFQVI7Y2FzZSAibW9udGhzIjpyZXR1cm4gYS5qLk1PTlRIO2Nhc2UgIndlZWtzIjpyZXR1cm4gYS5qLldFRUs7Y2FzZSAiZGF5cyI6cmV0dXJuIGEuai5EQVk7Y2FzZSAiaG91cnMiOnJldHVybiBhLmouSE9VUjtjYXNlICJtaW51dGVzIjpyZXR1cm4gYS5qLk1JTlVURTtjYXNlICJzZWNvbmRzIjpyZXR1cm4gYS5qLlNFQ09ORH19OwpJUj1mdW5jdGlvbihhLGIsYyl7YT1JamEoYSxjKTtyZXR1cm4oYT1hLkxPTkchPXZvaWQgMD9hLkxPTkc6YS5OQVJST1chPXZvaWQgMD9hLk5BUlJPVzphLlNIT1JUKT8obmV3IHpSKCJ7RFVSQVRJT05fVkFMVUUscGx1cmFsLCIrYSsifSIpKS5mb3JtYXQoe0RVUkFUSU9OX1ZBTFVFOmJ9KToiIn07SlI9ZnVuY3Rpb24oKXtfLkh6KCk7cmV0dXJuIV8uQ3ooMTQxKSYmXy53KCJBVVRPTkFWX09GRl9CWV9ERUZBVUxUIik/ITE6IV8uQ3ooMTQwKX07SmphPWZ1bmN0aW9uKCl7aWYoIUtSKXt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGxheWVyLnNrZWxldG9uIik7YSYmKF8uRGQoYSksS1I9ITApfX07TFI9ZnVuY3Rpb24oYSxiLGMsZD0hMSl7Yj1uZXcgS2phKGJ8fGEsY3x8YSk7cmV0dXJue3g6YS54K0xqYShiLGQpKi4yLHk6YS55K01qYShiLGQpKi4yfX07TGphPWZ1bmN0aW9uKGEsYj0hMSl7cmV0dXJuIGI/YS5qKi0xOmEuan07Ck1qYT1mdW5jdGlvbihhLGI9ITEpe3JldHVybiBiP2EubyotMTphLm99O01SPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3ZhciBiPWEuZXJyb3JTY3JlZW4/LnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXI/P2EuZXJyb3JTY3JlZW4/LnlwY1RyYWlsZXJSZW5kZXJlcjtyZXR1cm4hKGEuc3RhdHVzIT09Ik9LIiYmYS5zdGF0dXMhPT0iTElWRV9TVFJFQU1fT0ZGTElORSIpfHwhIWJ9OwpRamE9ZnVuY3Rpb24oe3JlbmRlcmVyOmEsc3Vic2NyaWJlZDpiLGlzT3ZlcmxheTpjLHN0b3BQcm9wYWdhdGlvbjpkfSl7dmFyIGU9TmphKGEsYik7YyYmKGUuc3R5bGU9Im92ZXJsYXkiKTthOnN3aXRjaChhLnN0eWxlPy5zdHlsZVR5cGUpe2Nhc2UgIkNPTVBBQ1RfR1JBWSI6Y2FzZSAiQ09NUEFDVF9SRUQiOmM9e3NpemU6IlMifTticmVhayBhO2RlZmF1bHQ6Yz17c2l6ZToiTSJ9fWM9ey4uLmN9O3ZhciBmPU9qYShhLGIpO3ZhciBoPShoPWI/YS5zdWJzY3JpYmVkQnV0dG9uVGV4dDphLnVuc3Vic2NyaWJlZEJ1dHRvblRleHQpP18uQUYoaCk6dm9pZCAwO3JldHVybnsuLi5lLC4uLmMsZm9jdXNlZDohMSx0b2dnbGVkOmIsYWNjZXNzaWJpbGl0eUxhYmVsOmYsV2E6aCxvblRhcDpQamEoYSxiLGQpfX07ClBqYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1SamEoYSxiKTtpZihlKXtsZXQgZj17c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6YX07Xy5kSyhlLHtmb3JtOntjdXJyZW50RGF0YTpmLHNvdXJjZURhdGE6ZixldmVudDpkfX0pfWMmJmQuc3RvcFByb3BhZ2F0aW9uKCl9fTtSamE9ZnVuY3Rpb24oYSxiKXtpZihhLnNpZ25JbkVuZHBvaW50JiYhXy54KCJ3ZWJfc3Vic2NyaWJlX3NpZ25faW5fZW5kcG9pbnRfa2lsbHN3aXRjaCIpKXJldHVybiBhLnNpZ25JbkVuZHBvaW50O2lmKGIpe2lmKGEuc2VydmljZUVuZHBvaW50cylyZXR1cm4gYS5zZXJ2aWNlRW5kcG9pbnRzWzFdO2lmKGEub25VbnN1YnNjcmliZUVuZHBvaW50cylyZXR1cm4gYS5vblVuc3Vic2NyaWJlRW5kcG9pbnRzWzBdfWVsc2V7aWYoYS5zZXJ2aWNlRW5kcG9pbnRzKXJldHVybiBhLnNlcnZpY2VFbmRwb2ludHNbMF07aWYoYS5vblN1YnNjcmliZUVuZHBvaW50cylyZXR1cm4gYS5vblN1YnNjcmliZUVuZHBvaW50c1swXX19OwpPamE9ZnVuY3Rpb24oYSxiKXtiPWI/YS51bnN1YnNjcmliZUFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbDphLnN1YnNjcmliZUFjY2Vzc2liaWxpdHk/LmFjY2Vzc2liaWxpdHlEYXRhPy5sYWJlbDtyZXR1cm4gYS5sb25nU3Vic2NyaWJlckNvdW50VGV4dD9bYixfLmFOKGEubG9uZ1N1YnNjcmliZXJDb3VudFRleHQpXS5maWx0ZXIoYz0+Yykuam9pbigiICIpOmJ9O05SPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGJ8fGE/LmlzQ2hhbm5lbERlbGVnYXRlPyJkaXNhYmxlZCI6ImFjdGl2ZSJ9OwpOamE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYS5zdHlsZT8uc3R5bGVUeXBlKXtjYXNlICJDT01QQUNUX0dSQVkiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTtjYXNlICJNRURJVU1fR1JBWSI6cmV0dXJue3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6TlIoYSl9O2Nhc2UgIlZJU0lCTFlfRElTQUJMRUQiOnJldHVybntzdHlsZToibW9ubyIsdHlwZToidGV4dCIsc3RhdGU6TlIoYSwhMCl9O2Nhc2UgIk9WRVJMQVkiOnJldHVybiBiP3tzdHlsZToib3ZlcmxheSIsdHlwZToidG9uYWwiLHN0YXRlOk5SKGEpfTp7c3R5bGU6Im92ZXJsYXkiLHR5cGU6ImZpbGxlZCIsc3RhdGU6TlIoYSl9O2RlZmF1bHQ6cmV0dXJuIGI/e3N0eWxlOiJtb25vIix0eXBlOiJ0b25hbCIsc3RhdGU6TlIoYSl9OntzdHlsZToibW9ubyIsdHlwZToiZmlsbGVkIixzdGF0ZTpOUihhKX19fTsKUFI9ZnVuY3Rpb24oYSl7dmFyIGI9YS5ob3Vyc3x8MDt2YXIgYz1hLm1pbnV0ZXN8fDAsZD1hLnNlY29uZHN8fDA7Yj1kK2MqNjArYiozNjAwKyhhLmRheXN8fDApKjg2NDAwKyhhLndlZWtzfHwwKSo2MDQ4MDArKGEubW9udGhzfHwwKSoyNjI5ODAwKyhhLnllYXJzfHwwKSozMTU1NzYwMDtiPD0wP2I9e2hvdXJzOjAsbWludXRlczowLHNlY29uZHM6MH06KGE9YixiPU1hdGguZmxvb3IoYS8zNjAwKSxhJT0zNjAwLGM9TWF0aC5mbG9vcihhLzYwKSxkPU1hdGguZmxvb3IoYSU2MCksYj17aG91cnM6YixtaW51dGVzOmMsc2Vjb25kczpkfSk7dmFyIHtob3VyczplPTAsbWludXRlczpmPTAsc2Vjb25kczpoPTB9PWI7Yj1bXTtpZihlPjApe2M9T1IoKS5mb3JtYXQoe2hvdXJzOmV9KTtpZighImJlIGJnIGVzIGV0IGh1IGl0IGthIGx2IHBsIHB0LVBUIHNsIHNxIi5zcGxpdCgiICIpLmluY2x1ZGVzKFopfHxlPjk5OTkpe2E9Yy5yZXBsYWNlO2Q9ZS50b1N0cmluZygpO3ZhciBrPShuZXcgSW50bC5OdW1iZXJGb3JtYXQoImVuLXUtbnUtbGF0biIpKS5mb3JtYXQoZSk7CnZhciBsPVsiZnIiXTtsZXQgbT0iYXogYnMgY2EgZGEgZGUgZWwgZXMgZXUgZ2wgaHIgaWQgaXMgaXQga20gbG8gbWsgbmwgcHQtQlIgcm8gc2wgc3Igc3ItTGF0biB0ciB2aSIuc3BsaXQoIiAiKTtrPSJhZiBiZSBiZyBjcyBldCBmaSBmci1DQSBodSBoeSBrYSBrayBreSBsdCBsdiBubyBwbCBwdC1QVCBydSBzayBzcSBzdiB1ayB1eiIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKT9rLnJlcGxhY2UoIiwiLCJcdTAwYTAiKTpsLmluY2x1ZGVzKFopP2sucmVwbGFjZSgiLCIsIlx1MjAyZiIpOm0uaW5jbHVkZXMoWik/ay5yZXBsYWNlKCIsIiwiLiIpOms7Yz1hLmNhbGwoYyxkLGspO1o9PT0ia20iJiYoYz1jLnJlcGxhY2UoIi4iLCIsIikpfWIucHVzaChjKX1mPjAmJmIucHVzaChPUigpLmZvcm1hdCh7bWludXRlczpmfSkpOyhoPjB8fGU9PT0wJiZmPT09MCkmJmIucHVzaChPUigpLmZvcm1hdCh7c2Vjb25kczpofSkpO2M9ImJlIGd1IGphIGtrIGttIGtvIG1uIHJ1IHRyIHV6IHpoLUhLIHpoLVRXIi5zcGxpdCgiICIpOwphPVo9PSJhbSI/InswfVx1MTM2MyAiOlo9PSJmYSI/InswfVx1MDYwY1x1MjAwZiAiOlo9PSJteSI/InswfSAtICI6Wj09InRoIj8iezB9ICI6Wj09InVyIj8iezB9XHUwNjBjICI6Wj09ImFyInx8Wj09ImFyLVhCIj8iezB9IFx1MDY0OCI6Wj09ImphInx8Wj09InpoLUNOInx8Wj09InpoLUhLInx8Wj09InpoLVRXIj8iezB9XHUzMDAxIjoiezB9LCAiO2Q9Wj09ImFtIj8iXHUxMzYzICI6Wj09ImZhIj8iXHUwNjBjXHUyMDBmICI6Wj09Im15Ij8iIC0gIjpaPT0idGgiPyIgIjpaPT0idXIiPyJcdTA2MGMgIjpaPT0iYXIifHxaPT0iYXItWEIiPyIgXHUwNjQ4IjpaPT0iamEifHxaPT0iemgtQ04ifHxaPT0iemgtSEsifHxaPT0iemgtVFciPyJcdTMwMDEiOiIsICI7az1aPT0iYW0iPyIgXHUxMmE1XHUxMjkzIHswfSI6Wj09ImFzIj8iIFx1MDk4Nlx1MDlmMFx1MDljMSB7MH0iOlo9PSJheiI/IiB2XHUwMjU5IHswfSI6Wj09ImJuIj8iIFx1MDk4Zlx1MDlhY1x1MDk4MiB7MH0iOlo9PSJjcyI/CiIgYVx1MDBhMHswfSI6Wj09ImRlIj8iIHVuZCB7MH0iOlo9PSJlbCI/IiBcdTAzYmFcdTAzYjFcdTAzYjkgezB9IjpaPT0iZXUiPyIgZXRhIHswfSI6Wj09ImZhIj8iXHUwNjBjIFx1MDY0OCB7MH0iOlo9PSJmaWwiPyIsIGF0IHswfSI6Wj09Imd1Ij8iIFx1MGE4NVx1MGFhOFx1MGFjNyB7MH0iOlo9PSJoaSI/IiwgXHUwOTE0XHUwOTMwIHswfSI6Wj09Imh1Ij8iIFx1MDBlOXMgezB9IjpaPT0iaHkiPyIgXHUwNTg3IHswfSI6Wj09ImlkIj8iLCBkYW4gezB9IjpaPT0iaXciPyIgXHUwNWQ1LXswfSI6Wj09ImphIj8iXHUzMDAxezB9IjpaPT0ia2EiPyIgXHUxMGQzXHUxMGQwIHswfSI6Wj09ImttIj8iIFx1MTc5M1x1MTdiN1x1MTc4NCB7MH0iOlo9PSJrbiI/IiwgXHUwY2FlXHUwY2E0XHUwY2NkXHUwY2E0XHUwY2MxIHswfSI6Wj09ImtvIj8iIFx1YmMwZiB7MH0iOlo9PSJreSI/IiBcdTA0MzZcdTA0MzBcdTA0M2RcdTA0MzAgezB9IjpaPT0ibHQiPyIgaXIgezB9IjpaPT0ibHYiPwoiIHVuIHswfSI6Wj09Im1yIj8iIFx1MDkwNlx1MDkyM1x1MDkzZiB7MH0iOlo9PSJtcyI/IiBkYW4gezB9IjpaPT0ibXkiPyJcdTEwMTRcdTEwM2VcdTEwMDRcdTEwMzdcdTEwM2EgezB9IjpaPT0ibmUiPyIgXHUwOTMwIHswfSI6Wj09Im9yIj8iLCBcdTBiMTMgezB9IjpaPT0icGEiPyIgXHUwYTA1XHUwYTI0XHUwYTQ3IHswfSI6Wj09InJvIj8iIFx1MDIxOWkgezB9IjpaPT0ic2kiPyIsIFx1MGRjM1x1MGRjNCB7MH0iOlo9PSJzayI/IiBhIHswfSI6Wj09InNsIj8iIGluIHswfSI6Wj09InNxIj8iIGRoZSB7MH0iOlo9PSJzdiI/IiBvY2ggezB9IjpaPT0ic3ciPyIgbmEgezB9IjpaPT0idGEiPyIgXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIHswfSI6Wj09InRlIj8iIFx1MGMyZVx1MGMzMFx1MGMzZlx1MGMyZlx1MGM0MSB7MH0iOlo9PSJ0aCI/IiBcdTBlNDFcdTBlMjVcdTBlMzB7MH0iOlo9PSJ0ciI/IiB2ZSB7MH0iOlo9PSJ1ciI/Ilx1MDYwYyBcdTA2MjdcdTA2NDhcdTA2MzEgezB9IjoKWj09InV6Ij8iIHZhIHswfSI6Wj09InZpIj8iIHZcdTAwZTAgezB9IjpaPT0iemgtSEsiPyJcdTUzY2F7MH0iOlo9PSJ6dSI/IiwgbmUtezB9IjpaPT0iYWYifHxaPT0ibmwiPyIgZW4gezB9IjpaPT0iYXIifHxaPT0iYXItWEIiPyIgXHUwNjQ4ezB9IjpaPT0iYmUifHxaPT0idWsiPyIgXHUwNDU2IHswfSI6Wj09ImVuLUdCInx8Wj09ImVuLUlOIj8iIGFuZCB7MH0iOlo9PSJlbiJ8fFo9PSJlbi1YQSI/IiwgYW5kIHswfSI6Wj09ImV0Inx8Wj09ImZpIj8iIGphIHswfSI6Wj09ImZyInx8Wj09ImZyLUNBIj8iIGV0IHswfSI6Wj09InpoLUNOInx8Wj09InpoLVRXIj8iXHU1NDhjezB9IjpaPT0iZGEifHxaPT0iaXMifHxaPT0ibm8iPyIgb2cgezB9IjpaPT0iZXMifHxaPT0iZXMtNDE5Inx8Wj09ImVzLVVTIj8iIHkgezB9IjpaPT0iYmcifHxaPT0ibWsifHxaPT0icnUifHxaPT0ic3IiPyIgXHUwNDM4IHswfSI6Wj09ImdsInx8Wj09Iml0Inx8Wj09InB0LUJSInx8Wj09InB0LVBUIj8iIGUgezB9IjoKWj09ImtrInx8Wj09ImxvInx8Wj09Im1sInx8Wj09Im1uIj8iLCB7MH0iOiIgaSB7MH0iO2w9Wj09ImFtIj8iezB9IFx1MTJhNVx1MTI5MyB7MX0iOlo9PSJhcyI/InswfSBcdTA5ODZcdTA5ZjBcdTA5YzEgezF9IjpaPT0iYXoiPyJ7MH0gdlx1MDI1OSB7MX0iOlo9PSJibiI/InswfSBcdTA5OGZcdTA5YWNcdTA5ODIgezF9IjpaPT0iZGUiPyJ7MH0gdW5kIHsxfSI6Wj09ImVsIj8iezB9IFx1MDNiYVx1MDNiMVx1MDNiOSB7MX0iOlo9PSJldSI/InswfSBldGEgezF9IjpaPT0iZmEiPyJ7MH0gXHUwNjQ4IHsxfSI6Wj09ImZpbCI/InswfSBhdCB7MX0iOlo9PSJndSI/InswfSBcdTBhODVcdTBhYThcdTBhYzcgezF9IjpaPT0iaGkiPyJ7MH0gXHUwOTE0XHUwOTMwIHsxfSI6Wj09Imh1Ij8iezB9IFx1MDBlOXMgezF9IjpaPT0iaHkiPyJ7MH0gXHUwNTg3IHsxfSI6Wj09Iml3Ij8iezB9IFx1MDVkNS17MX0iOlo9PSJqYSI/InswfVx1MzAwMXsxfSI6Wj09ImthIj8iezB9IFx1MTBkM1x1MTBkMCB7MX0iOgpaPT0ia2siPyJ7MH0gXHUwNDM2XHUwNGQ5XHUwNDNkXHUwNDM1IHsxfSI6Wj09ImttIj8iezB9IFx1MTc5M1x1MTdiN1x1MTc4NFx1MjAwYnsxfSI6Wj09ImtuIj8iezB9IFx1MGNhZVx1MGNhNFx1MGNjZFx1MGNhNFx1MGNjMSB7MX0iOlo9PSJrbyI/InswfSBcdWJjMGYgezF9IjpaPT0ia3kiPyJ7MH0gXHUwNDM2XHUwNDMwXHUwNDNkXHUwNDMwIHsxfSI6Wj09ImxvIj8iezB9IFx1MGVjMVx1MGVhNVx1MGViMCB7MX0iOlo9PSJsdCI/InswfSBpciB7MX0iOlo9PSJsdiI/InswfSB1biB7MX0iOlo9PSJtciI/InswfSBcdTA5MDZcdTA5MjNcdTA5M2YgezF9IjpaPT0ibXkiPyJ7MH1cdTEwMTRcdTEwM2VcdTEwMDRcdTEwMzdcdTEwM2EgezF9IjpaPT0ibmUiPyJ7MH0gXHUwOTMwIHsxfSI6Wj09Im9yIj8iezB9IFx1MGIxMyB7MX0iOlo9PSJwYSI/InswfSBcdTBhMDVcdTBhMjRcdTBhNDcgezF9IjpaPT0icm8iPyJ7MH0gXHUwMjE5aSB7MX0iOlo9PSJzaSI/InswfSBcdTBkYzNcdTBkYzQgezF9IjoKWj09InNsIj8iezB9IGluIHsxfSI6Wj09InNxIj8iezB9IGRoZSB7MX0iOlo9PSJzdiI/InswfSBvY2ggezF9IjpaPT0ic3ciPyJ7MH0gbmEgezF9IjpaPT0idGEiPyJ7MH0gXHUwYmFlXHUwYmIxXHUwYmNkXHUwYmIxXHUwYmMxXHUwYmFlXHUwYmNkIHsxfSI6Wj09InRlIj8iezB9IFx1MGMyZVx1MGMzMFx1MGMzZlx1MGMyZlx1MGM0MSB7MX0iOlo9PSJ0aCI/InswfVx1MGU0MVx1MGUyNVx1MGUzMHsxfSI6Wj09InRyIj8iezB9IHZlIHsxfSI6Wj09InVyIj8iezB9IFx1MDYyN1x1MDY0OFx1MDYzMSB7MX0iOlo9PSJ1eiI/InswfSB2YSB7MX0iOlo9PSJ2aSI/InswfSB2XHUwMGUwIHsxfSI6Wj09InpoLUhLIj8iezB9XHU1M2NhezF9IjpaPT0ienUiPyJ7MH0gbmUtezF9IjpaPT0iYWYifHxaPT0ibmwiPyJ7MH0gZW4gezF9IjpaPT0iYXIifHxaPT0iYXItWEIiPyJ7MH0gXHUwNjQ4ezF9IjpaPT0iYmUifHxaPT0idWsiPyJ7MH0gXHUwNDU2IHsxfSI6Wj09ImNzInx8Wj09InNrIj8iezB9IGFcdTAwYTB7MX0iOgpaPT0iZXQifHxaPT0iZmkiPyJ7MH0gamEgezF9IjpaPT0iZnIifHxaPT0iZnItQ0EiPyJ7MH0gZXQgezF9IjpaPT0iaWQifHxaPT0ibXMiPyJ7MH0gZGFuIHsxfSI6Wj09Im1sInx8Wj09Im1uIj8iezB9LCB7MX0iOlo9PSJ6aC1DTiJ8fFo9PSJ6aC1UVyI/InswfVx1NTQ4Y3sxfSI6Wj09ImRhInx8Wj09ImlzInx8Wj09Im5vIj8iezB9IG9nIHsxfSI6Wj09ImVzInx8Wj09ImVzLTQxOSJ8fFo9PSJlcy1VUyI/InswfSB5IHsxfSI6Wj09ImJnInx8Wj09Im1rInx8Wj09InJ1Inx8Wj09InNyIj8iezB9IFx1MDQzOCB7MX0iOlo9PSJlbiJ8fFo9PSJlbi1HQiJ8fFo9PSJlbi1JTiJ8fFo9PSJlbi1YQSI/InswfSBhbmQgezF9IjpaPT0iZ2wifHxaPT0iaXQifHxaPT0icHQtQlIifHxaPT0icHQtUFQiPyJ7MH0gZSB7MX0iOiJ7MH0gaSB7MX0iO1o9PT0ic3EiPyhrPWsucmVwbGFjZSgiZGhlIiwiZSIpLGw9bC5yZXBsYWNlKCJkaGUiLCJlIikpOlo9PT0idGgiPyhkPWQucmVwbGFjZSgiezB9IiwKIiB7MH0iKSxsPWwucmVwbGFjZSgiezB9IiwiezB9ICIpLGw9bC5yZXBsYWNlKCJ7MX0iLCIgezF9IikpOlo9PT0ibmUiP2Q9IiwiOlo9PT0iemgtQ04iP2Q9IiI6Yy5pbmNsdWRlcyhaKSYmKGQ9IiAiKTtyZXR1cm4gYi5sZW5ndGg8Mj9iLmpvaW4oIiIpOiJhbSBhciBiZyBicyBjYSBjcyBkYSBlcyBlcy00MTkgZXMtVVMgZXUgZmEgZmkgZnItQ0EgZnIgZ2wgZ3UgaGkgaHIgaHUgaHkgaXMgaXQgbHQgbHYgbWsgbXkgbm8gbmwgcGwgcHQtQlIgcHQtUFQgcm8gc2kgc2wgc3Egc3ItTGF0biBzciBzdyB0aCB1ayIuc3BsaXQoIiAiKS5pbmNsdWRlcyhaKT9iLmxlbmd0aD09PTI/bC5yZXBsYWNlKCJ7MH0iLGJbMF0pLnJlcGxhY2UoInsxfSIsYlsxXSk6YS5yZXBsYWNlKCJ7MH0iLGJbMF0pK2Iuc2xpY2UoMSwtMSkuam9pbihkKStrLnJlcGxhY2UoInswfSIsYltiLmxlbmd0aC0xXSk6Yi5qb2luKGQpfTtPUj1mdW5jdGlvbigpe1FSfHwoQ1I9U2phLFFSPW5ldyBUamEpO3JldHVybiBRUn07ClVqYT1mdW5jdGlvbigpe0pRKCkoe3RxOiEwfSk7SlEoKSh7dHE6ITF9KX07V2phPWZ1bmN0aW9uKGEpe3ZhciBiPV8uV0QoKCk9PmEuZ2V0RGVidWdUZXh0KCEwKSk7YiYmXy55KCkucmVzb2x2ZShfLnlQKS5vcGVuRGlhbG9nKHtVbjooKT0+Xy5LKFZqYSx7ZnY6Yn0pfSl9O1JSPWZ1bmN0aW9uKGEsYil7aWYoYilhPWEuZ2V0VmlkZW9VcmwoKTtlbHNle2E9YS5nZXRQbGF5ZXJSZXNwb25zZSgpLnZpZGVvRGV0YWlscz8udmlkZW9JZDtpZighYSlyZXR1cm47YT1gaHR0cHM6Ly95b3V0dS5iZS8ke2F9YH1hJiZ3aW5kb3cubmF2aWdhdG9yPy5jbGlwYm9hcmQmJndpbmRvdy5uYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChhKX07ClhqYT1mdW5jdGlvbihhLGIsYyxkKXtfLnlOKHtHYjooKT0+Xy5LKF8uSUIsbnVsbCxTUihhLGIpLF8uSyhfLk8se0E6KCk9PmQmJmMsdGhlbjooKT0+Xy5LKFRSLHtIOmEsdGE6Y30pfSksXy5LKFVSLHtIOmF9KSxfLksoVlIse0g6YX0pLF8uSyhXUix7SDphfSksXy5LKFlSLHtIOmF9KSxfLksoWlIse0g6YX0pLF8uSygkUix7SDphfSksXy5LKGFTLHtIOmF9KSxfLksoYlMse0g6YX0pKSxIYTohMH0pfTtTUj1mdW5jdGlvbihhLGIpe3JldHVybiBfLksoXy5PLHtBOigpPT5fLnRQKCksdGhlbjooKT0+Xy5LKF8uTlAsbnVsbCksVzooKT0+Xy5LKF8uTyx7QTooKT0+IWIsdGhlbjooKT0+Xy5LKGNTLHtIOmF9KX0pfSl9O2RTPWZ1bmN0aW9uKGEsYil7Xy55Tih7R2I6YixIYTohMH0pO2Euc3RvcFByb3BhZ2F0aW9uKCl9O2VTPWZ1bmN0aW9uKGEpe2E9YS5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7cmV0dXJuIGFbYS5sZW5ndGgtMV0+Mn07ZlM9ZnVuY3Rpb24oYSl7cmV0dXJue2J1dHRvblZpZXdNb2RlbDp7YWNjZXNzaWJpbGl0eVRleHQ6YX19fTsKZ1M9ZnVuY3Rpb24oYSxiKXtiPWE9PT0xMDA/WWphOmE9PT1iP1pqYTp2b2lkIDA7cmV0dXJue3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyU3BlZWRCdXR0b25WaWV3TW9kZWw6e3BsYXliYWNrU3BlZWRCdXR0b246e2J1dHRvblZpZXdNb2RlbDp7dGl0bGU6YCR7YS8xMDB9eGAsc3R5bGU6IkJVVFRPTl9WSUVXX01PREVMX1NUWUxFX01PTk8iLHR5cGU6IkJVVFRPTl9WSUVXX01PREVMX1RZUEVfVE9OQUwiLGJ1dHRvblNpemU6IkJVVFRPTl9WSUVXX01PREVMX1NJWkVfQ09NUEFDVCIsaWNvblRyYWlsaW5nOiEwfX0sYnV0dG9uTGFiZWw6e2NvbnRlbnQ6Yn0scGxheWJhY2tTcGVlZEJ1dHRvbkNlbnRpVmFsdWU6YX19fTsKZGthPWZ1bmN0aW9uKGEpe2lmKGE/LmlzUmVhZHk/LigpKXt2YXIgYj1hLmdldFBsYXliYWNrUmF0ZSgpO2lmKGIpe2hTfHwoaFM9Xy54TSgpKTt2YXIgYz1lUyhhKT8kamE6YWthO2lmKCFoUz8uZ2V0KCJyZWNlbnQtY3VzdG9tLXNwZWVkIil8fGIhPT0xKXJldHVybiBjLm1hcChlPT5nUyhlKSk7dmFyIGQ9TnVtYmVyKGhTLmdldCgicmVjZW50LWN1c3RvbS1zcGVlZCIpKTtpZihjLmluY2x1ZGVzKGQpKXJldHVybiBjLm1hcChlPT5nUyhlLGQpKTthPWVTKGEpP2JrYS5zbGljZSgpOmNrYS5zbGljZSgpO2EucHVzaChkKTthLnNvcnQoKGUsZik9PmUtZik7cmV0dXJuIGEubWFwKGU9PmdTKGUsZCkpfX19Owppa2E9ZnVuY3Rpb24oYSl7aWYoYT8uaXNSZWFkeT8uKCkpe3ZhciBiPWEuZ2V0UGxheWJhY2tSYXRlKCksYz1hLmdldEF2YWlsYWJsZVBsYXliYWNrUmF0ZXMoKTtpZihiJiZjKXt2YXIgZD1jW2MubGVuZ3RoLTFdKjEwMDtjPWNbMF0qMTAwO2I9e2hvcml6b250YWxTbGlkZXJWaWV3TW9kZWw6e21heFZhbHVlOmQsbWluVmFsdWU6Yyxpbml0aWFsVmFsdWU6YioxMDAsc3RlcENvdW50OihkLWMpLzUsdmFsdWVEZW5vbWluYXRvcjoxMDAsaW5jcmVhc2VCdXR0b246ZlMoZWthKSxkZWNyZWFzZUJ1dHRvbjpmUyhma2EpLHJlbmRlcmVyQ29udGV4dDp7YWNjZXNzaWJpbGl0eUNvbnRleHQ6e2xhYmVsOmdrYX19fX07YT1ka2EoYSk7cmV0dXJue3ZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsOntzbGlkZXI6YixwbGF5YmFja1NwZWVkQnV0dG9uczphLGJhZGdlOntiYWRnZVZpZXdNb2RlbDp7YmFkZ2VUZXh0OiJQIixiYWRnZVN0eWxlOiJCQURHRV9QUkVNSVVNIixhY2Nlc3NpYmlsaXR5TGFiZWw6aGthfX19fX19fTsKaVM9ZnVuY3Rpb24oYSl7aFN8fChoUz1fLnhNKCkpO2hTJiZoUy5zZXQoInJlY2VudC1jdXN0b20tc3BlZWQiLFN0cmluZyhhKjEwMCkpfTtra2E9ZnVuY3Rpb24oYSl7dmFyIGI9aWthKGEpLGM9Xy5CKGIsamthKTtjJiZfLnlOKHtIYTohMCxwZjohMCxHYjooKT0+Xy5LKF8ua08se2RhdGE6YyxwejpkPT57YS5zZXRQbGF5YmFja1JhdGUoZC50YXJnZXQudmFsdWVBc051bWJlcil9LG96OmQ9PntpUyhkLnRhcmdldC52YWx1ZUFzTnVtYmVyKX0scXo6ZD0+e2Euc2V0UGxheWJhY2tSYXRlKGQpO2QhPT0xJiZpUyhkKTtfLnpOKCl9fSl9KX07alM9ZnVuY3Rpb24oYSl7cmV0dXJuKGE9bGthW2FdKT9gJHthfXBgOm1rYX07a1M9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLldEKCgpPT5hLmdldFBsYXliYWNrUXVhbGl0eSgpKSxkPV8uV0QoKCk9PmEuZ2V0UHJlZmVycmVkUXVhbGl0eSgpKSxlPWpTKGIpO2I9PT0iYXV0byImJmQ9PT0iYXV0byImJihlKz1gICgke2pTKGMpfSlgKTtyZXR1cm4gZX07Cm9rYT1mdW5jdGlvbihhKXtfLnlOKHtHYjooKT0+Xy5LKG5rYSx7SDphfSksSGE6ITB9KX07cFM9ZnVuY3Rpb24oYSxiLGMsZCxlKXtkUyhhLCgpPT5fLksoXy5JQixudWxsLF8uSyhsUyx7SDpifSksXy5LKG1TLHtIOmJ9KSxfLksocGthLHtIOmJ9KSxfLksoXy5PLHtBOigpPT5iLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk/Lmxlbmd0aCx0aGVuOigpPT5fLksoblMse0g6Yn0pfSksXy5LKG9TLHtIOmIsb2g6Yyx0YTpkLHRBOmV9KSkpfTtxa2E9ZnVuY3Rpb24oYSxiLGMpe2RTKGEsKCk9Pl8uSyhfLklCLG51bGwsU1IoYixjKSkpfTsKcmthPWZ1bmN0aW9uKGEpe18ublAoKTtpZihhLnhjKWlmKGEuY2FwdGlvbnNFbmFibGVkKXFTKF8uJE4uU3MpO2Vsc2V7dmFyIGI9YS5IO2lmKGIpe2lmKGE9UFEoYiksYj1OUShiKSliOntpZihiLnRyYW5zbGF0aW9uTGFuZ3VhZ2UmJihhPWIudHJhbnNsYXRpb25MYW5ndWFnZT9iLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8IiI6IiIpKWJyZWFrIGI7YT1iLmRpc3BsYXlOYW1lfX1lbHNlIGE9IiI7cVMoYT9fLiROLlVzLnJlcGxhY2UoImxhbmd1YWdlX3BsYWNlaG9sZGVyIixhKTpfLiROLlRzKX1lbHNlIHFTKF8uJE4uUnMpfTtxUz1mdW5jdGlvbihhKXtfLnBQKCgpPT5hKX07c2thPWZ1bmN0aW9uKGEsYil7dmFyIGM9clMoYSk7YT1hLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKTthPXsuLi5zUyhhKSxFZTohMH07cmV0dXJue3RhOmMsYmE6YSxUYzpkb2N1bWVudC5ib2R5LEdjOmJ9fTsKdGthPWZ1bmN0aW9uKGEsYil7dmFyIGM9amphKCksZD17Li4uclMoYSksU2o6Zj0+e3ZhciBoPSF0UygpLGs9YS5pc1JlYWR5Py4oKSYmISFhLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmF1dG9wbGF5O3BTKGYsYSxoLGQsayl9LGRlOigpPT57dmFyIGY9Yz8uZ2V0KCJhdXRvbmF2X2VuYWJsZWQiKTtyZXR1cm4gZj09PXZvaWQgMHx8Zj09PSJ0cnVlIn0sUmo6KGYsaCk9PntoJiZjPy5zZXQoImF1dG9uYXZfZW5hYmxlZCIsU3RyaW5nKGYpKX0sVWw6KCk9PmM/LmdldCgiYXV0b25hdl9lbmFibGVkIikhPT12b2lkIDB9LGU9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7ZT17Li4uc1MoZSksdnY6MzUwLHp2OiEwLE1sOjRFMyxoaWRlVmlkZW9JbmZvOmUuaGlkZUluZm99O3JldHVybnt0YTpkLGJhOmUsVGM6ZG9jdW1lbnQuYm9keSxHYzpifX07CnJTPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLGM9Z2phLGQ9VFEsZT1TUTtpZihiPy5lbWJlZHNIb3N0RmxhZ3M/LmFsbG93U2V0RmF1eEZ1bGxzY3JlZW4mJmI/LmV4dGVybmFsRnVsbHNjcmVlbil7bGV0IGY9bmV3IHVrYShhKTtjPSgpPT5mLmlzRnVsbHNjcmVlbigpO2Q9KCk9PntmLnRvZ2dsZUZ1bGxzY3JlZW4oKX07ZT0oKT0+e2YuZXhpdEZ1bGxzY3JlZW4oKX19cmV0dXJue1NqOmY9Pnt2YXIgaD0hdFMoKTthPy5nZXRTaXplKCk/LndpZHRoPDMyMD9xa2EoZixhLGgpOnBTKGYsYSxoKX0scUE6cmthLGlzRnVsbHNjcmVlbjpjLHRvZ2dsZUZ1bGxzY3JlZW46ZCxleGl0RnVsbHNjcmVlbjplLGRlOigpPT4hMSxSajooKT0+e30sVWw6KCk9PiExfX07CnNTPWZ1bmN0aW9uKGEpe3JldHVybntFZTohMCxNaTohMCxNbDpfLngoImVtYmVkc19lbmFibGVfZGVsYXlfY29udHJvbHNfaGlkZSIpPzRFMzp2b2lkIDAsaXE6YS5kaXNhYmxlRnVsbHNjcmVlbixuaDphLmNvbnRyb2xzVHlwZT09PTAsb2g6IXRTKCksaGlkZVZpZGVvSW5mbzphLmhpZGVJbmZvJiZhLmVtYmVkc0hvc3RGbGFncz8ub3B0T3V0QXBpRGVwcmVjYXRpb24sdWo6ITAsRHo6IV8ueCgiZW1iZWRzX2VtYzNkc19wcmVzZXJ2ZV9mdWxsc2NyZWVuX2tzIiksenI6ITAsckE6ITAsWmg6ITAsdm46ITAsWkE6IV8ueCgiZW1iZWRzX2VtYzNkc19mdGxfa3MiKSx2b2x1bWVDb250cm9sVHlwZTpfLngoImVtYmVkc19kZXNrdG9wX2VuYWJsZV92b2x1bWVfc2xpZGVyIikmJndpbmRvdy5tYXRjaE1lZGlhKCIoYW55LXBvaW50ZXI6IGZpbmUpIikubWF0Y2hlcz8idm9sdW1lLXNsaWRlciI6Im11dGUtYnV0dG9uIn19Owp0Uz1mdW5jdGlvbigpe3JldHVybiBfLnRQKCl8fF8ucXooKSYmIV8udygiUExBWUVSX1ZBUlMiKT8ucHJpdmVtYmVkJiYhKF8uZXImJl8uTWsoInZlcnNpb24vIikpJiYhXy5yeigpfTt1Uz1mdW5jdGlvbihhKXtyZXR1cm4gYS5wbGF5ZXJTdGF0ZT09PTB9O3dTPWZ1bmN0aW9uKGEpe3JldHVybiBhLnZpZGVvRHVyYXRpb24/dlMoYSk/RFEoYS5DYS9hLnZpZGVvRHVyYXRpb24sMCwxKTpEUSgoYS52YXx8MCkvYS52aWRlb0R1cmF0aW9uLDAsMSk6MH07eFM9ZnVuY3Rpb24oYSl7cmV0dXJuIGEudmlkZW9EdXJhdGlvbj9hLmlzRHJhZ2dpbmd8fHZTKGEpP0RRKGEuQ2EvYS52aWRlb0R1cmF0aW9uLDAsMSk6RFEoKGEudmF8fDApL2EudmlkZW9EdXJhdGlvbiwwLDEpOjB9O3ZTPWZ1bmN0aW9uKGEpe3JldHVybiBhLktiPjEmJmEuSmQhPT0wfTsKeVM9ZnVuY3Rpb24oYSl7cmV0dXJuKF8ueCgid2ViX2VuYWJsZV9kaWJzX2ltcGxlbWVudGF0aW9uIil8fF8ueCgibXdlYl9lbmFibGVfZGlic19pbXBsZW1lbnRhdGlvbiIpKSYmYS5IPy5nZXRWaWRlb0RhdGEoYS5wbGF5ZXJUeXBlKT8uaXNTZWVrYWJsZXx8YS5wbGF5ZXJUeXBlPT09MT8hMTphLmJhPy5aaD8hYS5IPy5nZXRQbGF5ZXJTdGF0ZU9iamVjdChhLnBsYXllclR5cGUpLmlzRG9tUGF1c2VkOiEwfTt6Uz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/LmF1dG9uYXZUb2dnbGUsdmthKX07QVM9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/LmNvbnRlbnRzPy5zaW5nbGVDb2x1bW5XYXRjaE5leHRSZXN1bHRzPy5hdXRvcGxheT8uYXV0b3BsYXl9O0JTPWZ1bmN0aW9uKGEpe3JldHVybiBhPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXJ9OwpFUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKENTKGEpPy5wbGF5ZXJCYXIsRFMpfTtGUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/Lm1hcmtlcnNNYXA/LmZpbmQoYj0+Yi5rZXk9PT0iSEVBVFNFRUtFUiIpPy52YWx1ZT8uaGVhdG1hcCx3a2EpfTtDUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKGE/LmRlY29yYXRlZFBsYXllckJhclJlbmRlcmVyLHhrYSl9O0dTPWZ1bmN0aW9uKGEpe3JldHVybiBfLkIoQ1MoYSk/LnBsYXloZWFkLHlrYSl9O3prYT1mdW5jdGlvbihhKXtyZXR1cm4hIWE/Lm1hcmtlcnNNYXA/LmZpbmQoYj0+WyJERVNDUklQVElPTl9DSEFQVEVSUyIsIkFVVE9fQ0hBUFRFUlMiXS5pbmNsdWRlcyhiLmtleSkpfTtKUz1mdW5jdGlvbihhLGIpe3JldHVybiBIUyhhLGIpfHxJUyhhKT8hMTohYS5pc0RyYWdnaW5nJiYhdlMoYSkmJiFhLnNiJiZhLkxmIT09Im9uIn07CkhTPWZ1bmN0aW9uKGEsYil7cmV0dXJuIWEuYXV0b25hdkVuYWJsZWR8fGEueGZ8fCFifHxhLnJjfHxhLmlzUGxheWxpc3QmJmI/LnNldHM/LlswXS5hdXRvcGxheVZpZGVvPyExOnVTKGEpfTtDa2E9ZnVuY3Rpb24oYSxiKXtiPWI/LmFjdGlvbkJhckJ1dHRvbnM7cmV0dXJuIF8uQihfLkIoYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZnVsbHNjcmVlbkVuZ2FnZW1lbnQsQWthKT8uYWN0aW9uQmFyLEJrYSk/LmFjdGlvbkJhckJ1dHRvbnN8fGJ8fFtdfTtMUz1mdW5jdGlvbihhKXtyZXR1cm4gXy5CKF8uQihhPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5mdWxsc2NyZWVuUXVpY2tBY3Rpb25zQmFyLEtTKT8uZnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50LERrYSl9OwpNUz1mdW5jdGlvbihhKXtyZXR1cm4gYT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0c3x8W119O05TPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE/YS52aWRlb0RldGFpbHM/LmVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyOl8uQihiPy52aWRlb0RldGFpbHMsRWthKX07UFM9ZnVuY3Rpb24oYSxiKXtiPV8uQihiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcj8uaW5mb1BhbmVsLE9TKTtyZXR1cm4gXy5CKGE/LmluZm9QYW5lbCxPUyl8fGJ9O0lTPWZ1bmN0aW9uKGEpe3JldHVybiBhLk5hPyEwOmEuSmYhPT0wfTsKRmthPWZ1bmN0aW9uKHtlbGVtZW50OmEsdmVUeXBlOmIsTEE6Yz1udWxsLGVsZW1lbnRJbmRleDpkPTAsY2xpZW50WW91VHViZURhdGE6ZX0pe3ZhciBmPV8uaXEoKTtmIT09UVMmJihSUy5jbGVhcigpLFFTPWYpO2lmKGEudmlzdWFsRWxlbWVudCYmUlMuaGFzKGEudmlzdWFsRWxlbWVudCkpcmV0dXJuIG51bGw7aWYoYyYmUlMuaGFzKGMpKXJldHVybiBhLnZpc3VhbEVsZW1lbnQ9YyxudWxsO2I9Xy5FeChfLmh4KCkse3ZlVHlwZTpiLGVsZW1lbnRJbmRleDpkLGNsaWVudFlvdVR1YmVEYXRhOmV9KTtpZighYilyZXR1cm4gbnVsbDthLnZpc3VhbEVsZW1lbnQ9YjtSUy5hZGQoYik7cmV0dXJuIGJ9OwpTUz1mdW5jdGlvbihhLGIsYz1udWxsLGQ9Xy5OTixlPW51bGwsZixoKXt2YXIgaz0oKT0+e2lmKGIpe2MgaW5zdGFuY2VvZiBGdW5jdGlvbiYmKGM9YygpKTt2YXIgbD1Ga2Eoe2VsZW1lbnQ6Yix2ZVR5cGU6YSxMQTpjLGNsaWVudFlvdVR1YmVEYXRhOmZ9KTtsJiYoXy5KeChiLHtkYXRhOmUsb2JzZXJ2ZXI6Xy55KCkucmVzb2x2ZShfLkx4KSxOYzpfLm5GLGViOl8ubUYsbGF5ZXI6Yi5sYXllcn0pLGQobCkpfX07aD9rKCk6Xy5PRSgoKT0+e2soKX0pfTtHa2E9ZnVuY3Rpb24oYSl7U1MoMTEyMzk0LGEsKCk9PlRTLGI9PntUUz1ifSl9OwpVUz1mdW5jdGlvbihhKXt2YXIgYj1UUyxjPV8uaXEoMCk7aWYoYyYmYil7dmFyIGQ9TWF0aC5yb3VuZChhLnZhKjFFMyk7YT1NYXRoLnJvdW5kKGEuQ2EqMUUzKTtkPjIqKjMxLTF8fGE+MioqMzEtMXx8Xy5WaShfLmV4KSh2b2lkIDAsYyxiLCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIix7c2Vla0RhdGE6e3N0YXJ0TWVkaWFUaW1lTXM6U3RyaW5nKGQpLGVuZE1lZGlhVGltZU1zOlN0cmluZyhhKSxzZWVrU291cmNlOiJTRUVLX1NPVVJDRV9TTElERV9PTl9TQ1JVQkJFUl9CQVIifX0sdm9pZCAwKX19O1dTPWZ1bmN0aW9uKGEsYixjKXtTUyhiLGEsKCk9PlZTW2JdLGQ9PntWU1tiXT1kO18uSk8oZCl9LHZvaWQgMCx2b2lkIDAsYyl9O1hTPWZ1bmN0aW9uKGEpeyhhPVZTW2FdKSYmXy53SihfLmh4KCksYSl9O0hrYT1mdW5jdGlvbihhKXt2YXIgYj1fLlZ3KDApLGM9Xy5pcSgwKTtjJiZiJiZhJiZfLlZpKF8uYngpKHZvaWQgMCxjLGIsYSl9OwpZUz1mdW5jdGlvbihhKXt2YXIgYj1fLmlxKDApO2ImJmEmJl8ueUooYixhKX07WlM9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5pcSgwKTtiJiZhJiZfLlZpKF8uQU8pKHZvaWQgMCxiLGEsdm9pZCAwLHZvaWQgMCx2b2lkIDApfTskUz1mdW5jdGlvbihhLGIpe2lmKCFhLmJhPy5aaHx8IWEuSClyZXR1cm4hMTthPWEuSC5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO3JldHVybiBhLmlzRXJyb3J8fGImJiFNUihiKT8hMTphLmlzQ3VlZHx8YS5pc0RvbVBhdXNlZH07Y1Q9ZnVuY3Rpb24oYSxiKXthVCYmIWI/LkljfHxhLnBsYXllclN0YXRlPT09Mnx8YS5wbGF5ZXJTdGF0ZT09PS0xfHx1UyhhKXx8YS5wbGF5ZXJTdGF0ZT09PTV8fChiPy5JYyYmYlQoKSxhVD1zZXRUaW1lb3V0KCgpPT57YS5TKHtlYTohMX0pfSxhLmJhPy5NbD8/MkUzKSl9O2JUPWZ1bmN0aW9uKCl7YVQmJihjbGVhclRpbWVvdXQoYVQpLGFUPXZvaWQgMCl9O0lrYT1mdW5jdGlvbihhKXthVD1hfTsKZFQ9ZnVuY3Rpb24oYSl7cmV0dXJue2lzTGl2ZTohMSxpc0xpdmVEdnJFbmFibGVkOiEwLGlzUGxheWxpc3Q6ITEscGxheWVyVHlwZToxLHlxOiExLHZpZGVvSWQ6dm9pZCAwLGNhcHRpb25zRW5hYmxlZDohMSx4YzohMSx2b2x1bWU6MCxyYzohMCxKZjowLFJ4OiExLHNiOiExLFdkOiExLE5hOiExLGlzRnVsbHNjcmVlbjohMSxLYjowLHloOjAsSmQ6MCx4ZjohMSxhdXRvbmF2RW5hYmxlZDohMSx6ZjohMSx5ZjowLFloOiExLGlzRHJhZ2dpbmc6ITEsQ2E6MCxRYzohMSxkajowLFFtOjAscGxheWVyU3RhdGU6YT8uZ2V0UGxheWVyU3RhdGUoKT8/LTEsdmlkZW9EdXJhdGlvbjowLHZhOjAsT246ITEsamU6dm9pZCAwLHBsYXliYWNrUmF0ZToxLGVhOiExLHliOiExLGdlOiExLExmOiJvZmYiLFpyOjAsTHA6MCxZdjowfX07SmthPWZ1bmN0aW9uKGEpe2FUJiZiVCgpO0lrYShzZXRUaW1lb3V0KCgpPT57YS5TKHtlYTohMSx5YjohMX0pfSwyRTMpKX07CktrYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSD8uZ2V0UGxheWVyU3RhdGUoKTshY3x8Yz09PWIucGxheWVyU3RhdGV8fGMhPT0xJiZjIT09Mnx8KGMmJihjPT09Mj9iLmVhPyhiLlMoe3liOiExfSksYlQoKSk6Yi5TKHtlYTohMCx5YjohMX0pOmM9PT0xJiZiLmVhJiYhYi5pc0RyYWdnaW5nJiYoYi55Yj9Ka2EoYik6Yi5TKHtlYTohMSx5YjohMX0pKSksYi5TKHtwbGF5ZXJTdGF0ZTpjfSkpfX07TGthPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpLGQ9Yy5ILGU9ZD8uZ2V0VmlkZW9EYXRhKCkudmlkZW9faWQ7ZSE9PWMudmlkZW9JZCYmYj8udHlwZT09PSJuZXdkYXRhIiYmKGI9ZD8uZ2V0RHVyYXRpb24oYj8ucGxheWVydHlwZSksYlQoKSxjLlMoe3ZpZGVvRHVyYXRpb246Yix2YTowLHZpZGVvSWQ6ZSxlYTohMSx5YjohMX0pKX19OwpNa2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pnt2YXIgYz1hKCksZD1jLkg7aWYoZCl7dmFyIGU9ZC5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpO18ueCgid2ViX3Nob3J0c191c2VfcHJvZ3Jlc3Nfc3RhdGVfZm9yX2dhcGxlc3MiKT8oZD1kLmdldFByb2dyZXNzU3RhdGUoZSksZD1kLnNlZWthYmxlRW5kLWQuc2Vla2FibGVTdGFydCk6ZD1kLmdldER1cmF0aW9uKGUpO2MuUyh7dmE6Yix2aWRlb0R1cmF0aW9uOmR9KX19fTtnVD1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybltdO2E9YS5tYXJrZXJzTWFwPy5maW5kKGM9PlsiREVTQ1JJUFRJT05fQ0hBUFRFUlMiLCJBVVRPX0NIQVBURVJTIl0uaW5jbHVkZXMoYy5rZXkpKT8udmFsdWU/LmNoYXB0ZXJzfHxbXTsoYS5sZW5ndGg9PT0wPzA6Xy5CKGFbMF0sZVQpPy50aW1lUmFuZ2VTdGFydE1pbGxpcyE9PTApJiYhYj8ubngmJihhPVtmVCgpLC4uLmFdKTtyZXR1cm4gYX07ZlQ9ZnVuY3Rpb24oKXtyZXR1cm57Y2hhcHRlclJlbmRlcmVyOnt0aW1lUmFuZ2VTdGFydE1pbGxpczowfX19OwpoVD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLnRpbWVSYW5nZVN0YXJ0TWlsbGlzfHwwOjB9O2tUPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGdUKGIpLmZpbmQoKGMsZCxlKT0+aVQoalQoYSksZSxkKS5MZD09PSJhY3RpdmUiKX07bFQ9ZnVuY3Rpb24oYSxiKXtpZihhLmlzRHJhZ2dpbmcmJmIpcmV0dXJuIGE9TmthKGEsYiksYT09PS0xP2ZUKCk6Z1QoYilbYV19O05rYT1mdW5jdGlvbihhLGIpe3JldHVybiBhLmlzRHJhZ2dpbmcmJmI/Z1QoYix7bng6ITB9KS5maW5kSW5kZXgoKGMsZCxlKT0+aVQoalQoYSksZSxkKS5CZyk6LTF9O21UPWZ1bmN0aW9uKGEpe2E9Xy5CKGEsZVQpO2E/Lm9uQWN0aXZlQ29tbWFuZCYmXy5hRShhLm9uQWN0aXZlQ29tbWFuZCl9O2pUPWZ1bmN0aW9uKGEpe3JldHVybnsuLi5hLHZpZGVvRHVyYXRpb246YS52aWRlb0R1cmF0aW9uKjFFMyx2YTphLnZhKjFFMyxDYTphLkNhKjFFM319OwppVD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aFQoXy5CKGJbY10sZVQpKTtiPWhUKF8uQihiW2MrMV0sZVQpKXx8YS52aWRlb0R1cmF0aW9uO2M9YS5pc0RyYWdnaW5nO3ZhciBlO2lmKGU9YS5pc0RyYWdnaW5nKWU9YS5DYSxlPWUhPT1udWxsJiZlPj1kJiZlPGI7dmFyIGY9YS52YTtyZXR1cm4gZiE9PW51bGwmJmY+PWQmJmY8Yj97TGQ6ImFjdGl2ZSIsYm06YyxCZzplfTphLnZhPGQ/e0xkOiJwZW5kaW5nIixibTpjLEJnOmV9OntMZDoic2VlbiIsYm06YyxCZzplfX07blQ9ZnVuY3Rpb24oYSxiLGMpe2lmKGlUKGEsYixjKS5MZCE9PSJhY3RpdmUiKXJldHVybiAwO3ZhciBkPWhUKF8uQihiW2NdLGVUKSk7cmV0dXJuKGEudmEtZCkvKChoVChfLkIoYltjKzFdLGVUKSl8fGEudmlkZW9EdXJhdGlvbiktZCl9O29UPWZ1bmN0aW9uKGEsYj0wKXtyZXR1cm4gYS5MZD09PSJzZWVuInx8Yj4wfTsKcFQ9ZnVuY3Rpb24oYSxiLGMpe2I9YS9iLlpyO2M9Z1QoYyk7aWYoIWMubGVuZ3RoKXJldHVybi1iKjcyO3ZhciBkPTA7Zm9yKGxldCBlIG9mIGMpaWYoaFQoXy5CKGUsZVQpKS8xRTM8YSlkKys7ZWxzZSBicmVhaztyZXR1cm4tKGIqNzIpLWQqNTZ9O09rYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7YS5CKCk7ZC5zdG9wUHJvcGFnYXRpb24oKTtkPXFUKGEsZSxkLmNsaWVudFgpKmUudmlkZW9EdXJhdGlvbjtlLlMoe3ZhOmR9KTtlLnBsYXllclN0YXRlPT09Mnx8Zi5Gbj8uKCk7YS5ELnYoZCxlLDcpfX07clQ9ZnVuY3Rpb24oYSl7YT1hLnRvdWNoZXNbMF07cmV0dXJue3g6YS5jbGllbnRYLHk6YS5jbGllbnRZfX07UGthPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1yVChjKSxlPWIoKTthLnN0YXJ0UG9zaXRpb258fChhLnN0YXJ0UG9zaXRpb249ZCxhLkIoKSxhLmo9ZS5lYSxjLnN0b3BQcm9wYWdhdGlvbigpKX19OwpRa2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPXt4OmMuY2xpZW50WCx5OmMuY2xpZW50WX0sZT1iKCk7YS5zdGFydFBvc2l0aW9ufHwoYS5zdGFydFBvc2l0aW9uPWQsYS5CKCksYS5qPWUuZWEsYy5zdG9wUHJvcGFnYXRpb24oKSl9fTsKdFQ9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe2Euc3RhcnRQb3NpdGlvbiYmKGYmJmUuaWomJmEuc3RhcnRQb3NpdGlvbiYmIWEubyYmTWF0aC5hYnMoYy55LWEuc3RhcnRQb3NpdGlvbi55KT5NYXRoLmFicyhjLngtYS5zdGFydFBvc2l0aW9uLngpP3NUKGEsZCxlKTooYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCksZC52aWRlb0R1cmF0aW9uJiYoYS5zdGFydFBvc2l0aW9uJiYhYS5vJiYoYS5vPU1hdGguYWJzKGMueC1hLnN0YXJ0UG9zaXRpb24ueCk+PTEpLGUuS2YmJihhLnN0YXJ0UG9zaXRpb24mJihhLnY9LShjLnktYS5zdGFydFBvc2l0aW9uLnkpPj02MCksIWEuc3RhcnRQb3NpdGlvbnx8Yy55Pj1hLnN0YXJ0UG9zaXRpb24ueXx8KGQuUyh7TGY6ImRyYWdnaW5nIixMcDpwVChkLkNhLGQsZS5SYSl9KSxhLlUoZC5DYSksYS5aKGEuc3RhcnRQb3NpdGlvbi55LGMueSxkKSkpLGEubyYmKGI9cVQoYSxkLGMueCksYS52JiYoZC5IPy5wYXVzZVZpZGVvKCksZC5TKHtMZjoib24iLApZdjpkLkNhLExwOnBUKGIqZC52aWRlb0R1cmF0aW9uLGQsZS5SYSl9KSksZS5LZiYmKCFlLktmfHxhLksoZCk8NjgpfHwoZC5pc0RyYWdnaW5nfHxkLnRhLmt6Py4oKSxkLlMoe0NhOmIqZC52aWRlb0R1cmF0aW9uLGVhOiEwLGlzRHJhZ2dpbmc6ITAseWI6YS5qfSkpLGUuWW8/LigpKSkpKX07UmthPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZhciBlPWIoKSxmPWMoKTt0VChhLGQsclQoZCksZSxmLCEwKTtpZihmLm9uVG91Y2hNb3ZlKWYub25Ub3VjaE1vdmUoZSl9fTt2VD1mdW5jdGlvbihhLGIsYyxkKXtpZihiLmJ1dHRvbnMhPT0xKXtpZihiLm1vdmVtZW50WHx8Yi5tb3ZlbWVudFkpYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCksYT1xVChhLGMsYi5jbGllbnRYKSxjLlFjfHxjLnRhLmt6Py4oKSxjLlMoe1FjOiEwLGRqOmEqYy52aWRlb0R1cmF0aW9ufSl9ZWxzZSB1VChjKSx0VChhLGIse3g6Yi5jbGllbnRYLHk6Yi5jbGllbnRZfSxjLGQsITEpfTsKU2thPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e3ZUKGEsZCxiKCksYygpKX19O1RrYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKTt1VChiKX19O3NUPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWMuS2YmJmIuTGYhPT0ib2ZmIjtiLmlzRHJhZ2dpbmd8fGU/KGQ9e2lzRHJhZ2dpbmc6ITEsdmE6Yi5DYSxlYTphLmp9LGMuS2YmJmIuTGYhPT0ib24iJiYoYS5NKCksZC5MZj0ib2ZmIiksVVMoYiksYi5TKGQpLGEuRC52KGIuQ2EsYiw3KSxjLkluJiZiLnJjJiZiLkg/LnVuTXV0ZSgpLHdUKGEpKTooXy54KCJtYXdwY190b3VjaF9lbmRfaGFuZGxlcl9idWdfZml4X2tpbGxzd2l0Y2giKT9iLlMoe2VhOiFiLmVhfSk6Yi5TKHtlYTohMH0pLGMuRm4/LigpLHdUKGEpLF8ueCgibWF3cGNfdG91Y2hfZW5kX2hhbmRsZXJfYnVnX2ZpeF9raWxsc3dpdGNoIil8fGQ/LnN0b3BQcm9wYWdhdGlvbigpKX07ClVrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7c1QoYSxlLGYsZCk7aWYoZi5vblRvdWNoRW5kKWYub25Ub3VjaEVuZChlKX19O1ZrYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9Pnt2YXIgZT1iKCksZj1jKCk7c1QoYSxlLGYsZCk7aWYoZi5vblRvdWNoRW5kKWYub25Ub3VjaEVuZChlKX19O1drYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9PntzVChhLGIoKSxjKCksZCl9fTtYa2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGI9PntiLmtleUNvZGU9PT0zOXx8Yi5rZXlDb2RlPT09Mzg/YSgpPy5IPy5zZWVrQnkoNSx2b2lkIDAsdm9pZCAwLDcyKTooYi5rZXlDb2RlPT09Mzd8fGIua2V5Q29kZT09PTQwKSYmYSgpPy5IPy5zZWVrQnkoLTUsdm9pZCAwLHZvaWQgMCw3MSl9fTtZa2E9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBkPT57IWMoKS5kaXNhYmxlU2NydWJiaW5nJiZhLnN0YXJ0UG9zaXRpb24mJnZUKGEsZCxiKCksYygpKX19Owp4VD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGQ9PntpZighYygpLmRpc2FibGVTY3J1YmJpbmcpaWYoYS5zdGFydFBvc2l0aW9uKXt2YXIgZT1iKCksZj1jKCk7c1QoYSxiKCksYygpLGQpO2lmKGYub25Ub3VjaEVuZClmLm9uVG91Y2hFbmQoZSl9ZWxzZSBiKCkuUyh7aXNEcmFnZ2luZzohMX0pfX07dVQ9ZnVuY3Rpb24oYSl7YS5RYyYmYS5TKHtRYzohMSxkajowfSl9O3FUPWZ1bmN0aW9uKGEsYixjKXthPWEuSShiKTtyZXR1cm4gRFEoMCwoYy1hLmxlZnQpL2Eud2lkdGgsMSl9O3dUPWZ1bmN0aW9uKGEpe2Euc3RhcnRQb3NpdGlvbj1udWxsO2Eubz0hMTthLnY9ITE7YS5qPSExfTt5VD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLndpZHRoL2EuY29sdW1uczowfTt6VD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmhlaWdodC9hLnJvd3M6MH07QVQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuUWM/YS5kajphLkNhfTsKQlQ9ZnVuY3Rpb24oYSxiKXthPWEuQ2EqMUUzO3JldHVybiBhPj1iLnZpc2libGVUaW1lUmFuZ2VTdGFydE1pbGxpcyYmYTw9Yi52aXNpYmxlVGltZVJhbmdlRW5kTWlsbGlzfTtDVD1mdW5jdGlvbihhKXtpZihhPT09dm9pZCAwfHxOdW1iZXIuaXNOYU4oYSkpcmV0dXJuIi0tOi0tIjt2YXIgYj1NYXRoLmFicyhNYXRoLmZsb29yKGEpKSxjPU1hdGguZmxvb3IoYi84NjQwMCksZD1NYXRoLmZsb29yKGIlODY0MDAvMzYwMCksZT1NYXRoLmZsb29yKGIlMzYwMC82MCk7Yj1NYXRoLmZsb29yKGIlNjApO3ZhciBmPSIiO2M+MCYmKGYrPWAke2N9OmAsZDwxMCYmKGYrPSIwIikpO2lmKGM+MHx8ZD4wKWYrPWAke2R9OmAsZTwxMCYmKGYrPSIwIik7Zis9YCR7ZX06YDtiPDEwJiYoZis9IjAiKTtmKz1iO3JldHVybiBhPj0wP2Y6YC0ke2Z9YH07CkRUPWZ1bmN0aW9uKGEsYil7cmV0dXJuKCk9Pnt2YXIgYz1BVChhKCkpO3ZhciBkPWIoKTt2YXIgZT1hKCkuSDtpZihlJiZlLmdldE51bWJlck9mU3Rvcnlib2FyZExldmVscygpIT09MCl7dmFyIGY9ZS5nZXRTdG9yeWJvYXJkRnJhbWVJbmRleChjLDEpO2YhPT0tMT9kPWUuZ2V0U3Rvcnlib2FyZEZyYW1lKGYsMSk6KGM9ZS5nZXRTdG9yeWJvYXJkRnJhbWVJbmRleChjLDApLGU9ZS5nZXRTdG9yeWJvYXJkRnJhbWUoYywwKSxkJiZlJiYoZS5oZWlnaHQqPTMsZS53aWR0aCo9MyksZD1lKX1lbHNlIGQ9bnVsbDtpZighZClyZXR1cm4gbnVsbDtiKCkmJihkLndpZHRoPTkwKmQuY29sdW1ucyxkLmhlaWdodD0xNjAqZC5yb3dzKTtyZXR1cm4gZH19Owoka2E9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGEuTmF8fGEuaXNMaXZlP2Q6Yj4xP0VUKGQpOnNldFRpbWVvdXQoKCk9PntjKCk7bmF2aWdhdG9yPy52aWJyYXRlJiZuYXZpZ2F0b3IudmlicmF0ZShaa2EpfSxfLnNqKCJzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zIiw1MDApKX07RVQ9ZnVuY3Rpb24oYSl7YSE9PXZvaWQgMCYmY2xlYXJUaW1lb3V0KGEpfTsKSFQ9ZnVuY3Rpb24oYSxiKXthLk5hfHxhLmlzTGl2ZXx8KGI+MSYmRlQoYSksZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKCJwcmV2ZW50LWhpZ2hsaWdodHMiKSxHVD1zZXRUaW1lb3V0KCgpPT57YS5IPy5wbGF5VmlkZW8oKTtiVCgpO2EuUyh7c2I6ITAsZWE6ITB9KTt2YXIgYz1fLnNqKCJzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlIiwyKSxkPWEuSDtkPy5zZXRQbGF5YmFja1JhdGU/LihjKTtfLngoIm13ZWJfbG9uZ19wcmVzc19zcGVlZHVwX3ZpYnJhdGlvbiIpJiZkPy5nZXRQbGF5YmFja1JhdGUoKT09PWMmJm5hdmlnYXRvcj8udmlicmF0ZSYmbmF2aWdhdG9yLnZpYnJhdGUoYWxhKX0sXy5zaigic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyIsNTAwKSkpfTsKSVQ9ZnVuY3Rpb24oYSxiLGMpe2Muc2ImJmEucHJldmVudERlZmF1bHQoKTthPWIubGs7Yj1iLk9kO01hdGguc3FydChhKmErYipiKT5fLnNqKCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiLDEwKSYmIWMuc2ImJkZUKGMpfTtGVD1mdW5jdGlvbihhKXtkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoInByZXZlbnQtaGlnaGxpZ2h0cyIpO0dUJiZjbGVhclRpbWVvdXQoR1QpO2Euc2ImJihhLlMoe3NiOiExLGVhOnVTKGEpfSksYT1hLkgsdHlwZW9mIGE/LnNldFBsYXliYWNrUmF0ZT09PSJmdW5jdGlvbiI/YS5zZXRQbGF5YmFja1JhdGUoMSk6Xy5XaShFcnJvcigiJGQiKSkpfTsKY2xhPWZ1bmN0aW9uKGEsYixjKXtpZihiJiZhKXt2YXIgZD1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGI9YmxhKGIsZC53aWR0aCxkLmhlaWdodCkpYz8uWkEmJihjPW5ldyBJbWFnZSxjLm9ubG9hZD0oKT0+e2lqYSgpfSxjLnNyYz1iLF8uSXooImZ0ciIpKSxhLnN0eWxlLmJhY2tncm91bmRJbWFnZT1gdXJsKCR7Yn0pYH19O2JsYT1mdW5jdGlvbihhLGIsYyl7aWYoKGE9YS50aHVtYm5haWxzKSYmYS5sZW5ndGghPT0wKXt2YXIgZD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjE7Yio9ZDtjKj1kO2lmKGI+NjQwfHxjPjQ4MClyZXR1cm4gYS5hdCgtMSkudXJsO2lmKGI+MzIwfHxjPjE4MCl7dmFyIGU7ZD1iPWM9dm9pZCAwO2ZvcihlIG9mIGEpIWQmJmUud2lkdGg+PTMyMD9kPWUudXJsOiFiJiZlLndpZHRoPj00ODA/Yj1lLnVybDohYyYmZS53aWR0aD49NjQwJiYoYz1lLnVybCk7aWYoZT1jfHxifHxkKXJldHVybiBlfXJldHVybiBhWzBdLnVybH19OwpKVD1mdW5jdGlvbihhKXsoYT1hPy5oZWFkZXI/LnBsYXlsaXN0SGVhZGVyUmVuZGVyZXIpPyhhPV8uQihhLmNpbmVtYXRpY0NvbnRhaW5lcixkbGEpPy5iYWNrZ3JvdW5kSW1hZ2VDb25maWc/LnRodW1ibmFpbD8udGh1bWJuYWlscyxhPWE/Lmxlbmd0aD9hW2EubGVuZ3RoLTFdLnVybDp2b2lkIDAsYT0hYSk6YT0hMTtyZXR1cm4gYX07S1Q9ZnVuY3Rpb24oYSl7YT1hfHxfLlhEPy5yZXNwb25zZT8ucmVzcG9uc2U7cmV0dXJuIGE/LmhlYWRlcj8ucGFnZUhlYWRlclJlbmRlcmVyfTtPVD1mdW5jdGlvbigpe3ZhciBhPV8uWEQ/LnJlc3BvbnNlPy5yZXNwb25zZTtyZXR1cm4hIUtUKCk/LnRpdGxlQW5pbWF0aW9ufHxKVChhKX07ClBUPWZ1bmN0aW9uKCl7dmFyIGE9Xy5YRD8ucmVzcG9uc2U/LnJlc3BvbnNlLGI9S1QoYSk7aWYoYilhPWIudG9wQmFyQW5pbWF0aW9uPyEwOiExO2Vsc2V7aWYoYj1YUSgpJiYhXy5WTSgpKWI9Xy5aYih3aW5kb3cubG9jYXRpb24uaHJlZiwibGlzdCIpLGI9IShiPy5zdGFydHNXaXRoKCJFTCIpfHxiPy5zdGFydHNXaXRoKCJTQyIpKTthPWImJiFKVChhKX1yZXR1cm4gYX07CmVsYT1mdW5jdGlvbigpe2lmKF8udygiTVdFQl9TVElDS1lfUExBWUVSIiwhMSkmJlFUKCkmJndpbmRvdy5sb2NhdGlvbi5oYXNoIT09IiNzZWFyY2hpbmciJiZfLlVNKCkhPT0ic2VhcmNoIil7dmFyIGE9d2luZG93LnNjcm9sbFksYjsoYj1fLlZNKCkpfHwoYj1fLlVNKCk9PT0iY2xpcCIpO2lmKGIpIV8uVEUoKSYmIUhRKCl8fChfLkZlYS5vZmZzZXRIZWlnaHQ+d2luZG93LmlubmVySGVpZ2h0Ki42P18uVHQoXy5FSiwic3RpY2t5LXBsYXllciIpOl8uU3QoXy5FSiwic3RpY2t5LXBsYXllciIpKSxSVCgiaW4iKSxTVD1hO2Vsc2V7Yj1TVD5hO3ZhciBjPWE+PTQ4LGQ9YTwxMjY7U1Q9YTtiPyhjP1JUKCJmaWxsZWQiKTpSVCgiaW4iKSxJUSgpJiZkP1RUKCJmaWx0ZXItY2hpcC1iYXItc3RhdGljIik6VFQoImZpbHRlci1jaGlwLWJhci1pbiIpKTpjP1BUKCl8fE9UKCk/UlQoImZpbGxlZCIpOihSVCgib3V0IiksSVEoKSYmZD9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItb3V0IikpOgooUlQoImluIiksSVEoKT9UVCgiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpOlRUKCJmaWx0ZXItY2hpcC1iYXItaW4iKSl9fXZhciBlO18uVk0oKSYmKGU9UVQoKSkhPW51bGwmJihhPWUuc2V0QXR0cmlidXRlLGI9Xy5NRSgpPzE6MjQsXy5ETi5sZW5ndGg+MCYmIV8ueE4oKT8oYz1OdW1iZXIoZG9jdW1lbnQuYm9keS5zdHlsZS50b3AucmVwbGFjZSgvKHB4KXwtL2csIiIpKSxiPSFpc05hTihjKSYmYzxiKTpiPVNUPGIsYS5jYWxsKGUsImFtYmllbnQtdG9wYmFyIixiLnRvU3RyaW5nKCkpKX07UVQ9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhlYWRlci1iYXIiLnRvU3RyaW5nKCkpfTsKVFQ9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5VTSgpPT09ImhvbWUifHxJUSgpP2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaWx0ZXItY2hpcC1iYXIiLnRvU3RyaW5nKCkpOm51bGw7YiYmKF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLXN0YXRpYyIpLF8uVHQoYiwiZmlsdGVyLWNoaXAtYmFyLWluIiksXy5UdChiLCJmaWx0ZXItY2hpcC1iYXItb3V0IiksXy5TdChiLGEpKX07ClJUPWZ1bmN0aW9uKGEpe3ZhciBiPVFUKCk7aWYoYil7bGV0IGM9Xy5hTCh7WyJzdGlja3ktcGxheWVyIl06Xy53KCJNV0VCX1NUSUNLWV9QTEFZRVIiLCExKSxbImlzLWF1dG9tb3RpdmUiXTpIUSgpfSk7Xy5XTSgpP2M9Xy5hTChjLCJ0b3BiYXItdHJhbnNwYXJlbnQtYmFja2dyb3VuZCIsInNob3J0cy10b3BiYXIiKTpQVCgpP2M9Xy5hTChjLCJ0b3BiYXItdHJhbnNwYXJlbnQtYmFja2dyb3VuZCIpOk9UKCkmJihjPV8uYUwoYywidG9wYmFyLXRyYW5zcGFyZW50LXRpdGxlIikpO2IuY2xhc3NOYW1lPV8uYUwoYSxjKX19O2ZsYT1mdW5jdGlvbigpe3JldHVybiBVVH07aGxhPWZ1bmN0aW9uKGEsYil7YiYmKFZUPSEwKTthPVVUPWE7Yj1KUigpO2EhPT1iJiYoYj1fLkh6KCksXy5EeigxNDEsITApLF8uRHooMTQwLCFhKSxiLnNhdmUoKSk7Z2xhKCl9O2dsYT1mdW5jdGlvbigpe3NldFRpbWVvdXQoKCk9PntfLlhNKCJwbGF5ZXItYXV0b25hdi1wYXVzZSIse3BhdXNlZDohMX0pfSl9OwppbGE9ZnVuY3Rpb24oKXtyZXR1cm4gVlR9O1dUPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uTUUoKT9iJiZhPy52aWRlb0R1cmF0aW9uPjMwOmImJiFhLmVhfTtYVD1mdW5jdGlvbihhLGIpe3JldHVybiBiJiZhLmVhJiYhXy5NRSgpfTtqbGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtpZihiPWI/P2F3YWl0IF8uTEgoKSliLnVuTXV0ZSghMCksYi5zZXRWb2x1bWUoYSwhMCl9O1pUPWZ1bmN0aW9uKGEsYil7YSYmKGEudmFsdWU9YCR7Yn1gLGEuc3R5bGUuc2V0UHJvcGVydHkoIi0tZ3JhZGllbnQtcGVyY2VudCIsYCR7Yn0lYCkpfTtrbGE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8ueCgicGxheWVyX2NvbnRyb2xzX3VzZV9wbGF5ZXJfYXBpX2NvbnRleHQiKT9fLmtHKCRUKTphfTthVT1mdW5jdGlvbihhKXtyZXR1cm5gaHR0cHM6Ly9tLnlvdXR1YmUuY29tL3N0YXRpYy9sb3R0aWUvJHthfS5qc29uYH07CmJVPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlICJhbmltYXRlZF9saWtlX2ljb24iOnJldHVybntuYW1lOiJhbmltYXRlZF9saWtlX2ljb25fdjJfZGFyayIscGF0aDphVSgiYW5pbWF0ZWRfbGlrZV9pY29uX3YyX2RhcmsiKSxsb29wOiExLGF1dG9wbGF5OiExLHJlbmRlcmVyU2V0dGluZ3M6e3ZpZXdCb3hPbmx5OiEwLGNsYXNzTmFtZToiYW5pbWF0ZWQtbGlrZS1pY29uIn19O2Nhc2UgImxpa2VfMjQwZHBfYW5pbWF0aW9uX3YyIjpjYXNlICJsaWtlX3RhcF9mZWVkYmFja19zaG9ydHNfaGVhcnQiOmNhc2UgInBhdXNlXzk2ZHBfYW5pbWF0aW9uIjpjYXNlICJwbGF5Xzk2ZHBfYW5pbWF0aW9uIjpjYXNlICJzZWVrXzk2ZHBfYW5pbWF0aW9uIjpyZXR1cm57bmFtZTphLHBhdGg6YVUoYSksbG9vcDohMSxhdXRvcGxheTohMX07ZGVmYXVsdDpyZXR1cm57bmFtZToiIixwYXRoOiIifX19OwpjVT1mdW5jdGlvbihhKXtfLkxPKCkudGhlbihiPT57Yi5zdG9wKCJsaWtlXzI0MGRwX2FuaW1hdGlvbl92MiIpO2Iuc3RvcCgibGlrZV90YXBfZmVlZGJhY2tfc2hvcnRzX2hlYXJ0Iik7Yi5zdG9wKCJwbGF5Xzk2ZHBfYW5pbWF0aW9uIik7Yi5zdG9wKCJwYXVzZV85NmRwX2FuaW1hdGlvbiIpO2IucGxheShhKX0pfTsKbGxhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uSHooKTtIUSgpfHxhLnF2fHxhLnN1cHByZXNzQWZ0ZXJDbG9zaW5nJiZOdW1iZXIoYi5nZXQoInN1cHByZXNzX2FwcF91cHNlbGwiKSkmJiFfLngoIm13ZWJfYXBwX3Vwc2VsbF9idXR0b24iKXx8KGRVfHwoZFU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoZFUsZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKSksXy5KTihkVSxudWxsLCEwKSxhIT09ZVUmJihmVT8uKCksZlU9Xy54RihkVSwoKT0+e18ub0YoKCk9PntfLk1PKCIuWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJIb3N0IC5ZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRlbnRzIil9KTtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclNjcmltQ29udGFpbmVyIn0sXy5LKF8uWk4se2xhYmVsOl8uJE4uQ0xPU0V9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJPdmVybGF5Q29udGFpbmVyIn0sCl8uSyhnVSx7ZGF0YTphfSkpKX0sImRkIikpLGVVPWEpfTtoVT1mdW5jdGlvbigpe3JldHVybntzdHlsZToib3ZlcmxheS1kYXJrIixpY29uUG9zaXRpb246Imljb24td2l0aC1sYWJlbCIsc2l6ZToiTCIsc2l6ZToiUyIsdHlwZToidGV4dCIsc3R5bGU6Im92ZXJsYXkifX07bmxhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uQihhLnNob3BwaW5nVXBzZWxsLG1sYSk7YiYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2xsYShiKX0pfTtvbGE9ZnVuY3Rpb24oYSl7YT8ubG9nZ2luZ0RpcmVjdGl2ZXM/LnRyYWNraW5nUGFyYW1zJiZfLmx4KF8uaHgoKSxhLmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zKX07aVU9ZnVuY3Rpb24oYSl7cmV0dXJuIGF8fF8uVk0oKXx8Xy5VTSgpPT09ImhvbWUifTtqVT1mdW5jdGlvbihhLGIpe2lmKGIpe2lmKGEmJmIuZGFya1RoZW1lTG9nbz8uaWNvbj8uaWNvblR5cGUpcmV0dXJuIGIuZGFya1RoZW1lTG9nby5pY29uLmljb25UeXBlO2lmKGIubGlnaHRUaGVtZUxvZ28/Lmljb24/Lmljb25UeXBlKXJldHVybiBiLmxpZ2h0VGhlbWVMb2dvLmljb24uaWNvblR5cGV9fTsKbFU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5IO2ImJihrVT0oYT1rVSk/KChiPU5RKGIpKT9iLmRpc3BsYXlOYW1lfHwiIjpudWxsKXx8YTpQUShiKSk7cmV0dXJuIGtVfTttVT1mdW5jdGlvbihhLGIpe3JldHVybiBhKCkucGxheWVyU3RhdGU9PT0wJiYhIWImJiFhKCkueGYmJmEoKS5hdXRvbmF2RW5hYmxlZH07blU9ZnVuY3Rpb24oYSxiKXtiPU1TKGIpO3JldHVybiBhKCkucGxheWVyU3RhdGU9PT0wJiZiLmxlbmd0aD4wfTtvVT1mdW5jdGlvbihhKXtyZXR1cm4gYS5IPy5pc1JlYWR5Py4oKSYmYS5IPy5pc0F0TGl2ZUhlYWQoKX07cFU9ZnVuY3Rpb24oKXtyZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBsYXllci1jb250cm9sLW92ZXJsYXkiKX07cGxhPWZ1bmN0aW9uKGEpe2EhPT0tMSYmXy54KCJwbGF5ZXJfY29udHJvbHNfbG9nX2NyZWF0aW9uX2VuYWJsZWQiKSYmcFUoKSYmKF8uQXEoInBjdV9jcyIsYSksXy5BcSgicGN1X2NlIikpfTsKcVU9ZnVuY3Rpb24oYSl7aWYoIWF8fGEuZ2V0VmlkZW9EYXRhKXJldHVybiBhfTtxbGE9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpaWYoYVtjXSE9PWJbY10pcmV0dXJuITE7cmV0dXJuITB9O3JVPWZ1bmN0aW9uKCl7cmV0dXJuIF8udygiTVdFQl9TVVBQT1JUU19ET1VCTEVfVEFQX1RPX1NFRUsiKX07cmxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yi8zPy0xOmE+MipiLzM/MTowfTtzVT1mdW5jdGlvbihhLGIsYyl7clUoKSYmdlMoey4uLmMsSmQ6YixLYjphfSkmJigoYT1jLkgpJiZhLnNlZWtCeShNYXRoLnNpZ24oYikqMTAsdm9pZCAwLHZvaWQgMCw0KSxjLnBsYXllclN0YXRlPT09Mnx8Yy5IPy5wYXVzZVZpZGVvKCksYj09PS0xP1hTKDI4MjM5KTpYUygyODI0MCkpfTsKdVU9ZnVuY3Rpb24oYSxiKXtyVSgpJiYoY2xlYXJUaW1lb3V0KHRVKSx0VT1zZXRUaW1lb3V0KCgpPT57dmFyIGM9e0tiOjAsSmQ6MCx5aDowfTtpZih2UyhhKSl7dmFyIGQ9dVMoYSl8fGEuQ2E+PWEudmlkZW9EdXJhdGlvbjtjLmVhPWEucGxheWVyU3RhdGU9PT0yfHxhLnBsYXllclN0YXRlPT09M3x8ZDtjLnZhPWEuQ2E7Yy55Yj0hMTthLkg/LmlzUmVhZHk/LigpJiYoYS5ILnNlZWtUbyhhLkNhKSxkPXsuLi5hLC4uLmN9LChkLmlzTGl2ZXx8ZC52YTxkLnZpZGVvRHVyYXRpb24pJiZkLk9uJiZkLkg/LmdldFBsYXllclN0YXRlKCkhPT0xJiZkLkg/LnBsYXlWaWRlbygpKX1lbHNlIGEuS2I9PT0xJiZiPy4oKTthLlMoYyk7Y2xlYXJUaW1lb3V0KHRVKX0sYS5iYT8udnY/PzYwMCkpfTtzbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gclUoKSYmYiE9PTA/YS5KZCE9PWI/MTooMCxfLmVsKSgpLWEueWg+MzUwP2EuS2I6YS5LYisxOjB9Owp1bGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT1hd2FpdCB2VS5qYygpO2EmJihhPWF3YWl0IGEuZ2V0KCJhdXRvLXpvb20tZW5hYmxlZCIpLHRsYSh0eXBlb2YgYT09PSJib29sZWFuIj9hOiEwKSl9O3dVPWZ1bmN0aW9uKGEpe3ZhciBiPWEudG91Y2hlc1swXSxjPWEudG91Y2hlc1sxXTthPWIucGFnZVgtYy5wYWdlWDtiPWIucGFnZVktYy5wYWdlWTtyZXR1cm4gTWF0aC5zcXJ0KGEqYStiKmIpfTsKSVU9ZnVuY3Rpb24oYSxiKXt4VShhKSYmKGEuc3RvcFByb3BhZ2F0aW9uKCksYT15VS16VSxBVXx8KGE9MCksRlQoYiksXy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmKEJVPTAsQ1UoKSYmRFUoITEpKSxiLmJhPy5NaXx8KGIuTmF8fGIuV2R8fGIuc2J8fF8uVEUoKXx8Xy5NRSgpJiYhYi5pc0Z1bGxzY3JlZW58fChiLmlzRnVsbHNjcmVlbiYmKGEqPS0xKSwoYTwtMTAwfHxNYXRoLmFicyhhKT4xMDAmJmIuaXNGdWxsc2NyZWVuKSYmYi50YS50b2dnbGVGdWxsc2NyZWVuKHtkczohMH0pLEVVJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2Zvcm06InNjYWxlKDEpIix0cmFuc2l0aW9uOiIwLjJzIGVhc2UifSkpLGIuV2QmJigoYT1NYXRoLmFicyhiLkpmKT41MD8hYi5OYTpiLk5hKXx8Y1QoYiksYi5TKHtXZDohMSxOYTphLEpmOjB9KSkpLEZVPSgwLF8uZWwpKCkseVU9R1U9elU9SFU9MCxBVT0hMSl9Owp4VT1mdW5jdGlvbihhKXt2YXIgYj1bYS50YXJnZXQ/LmdldEF0dHJpYnV0ZSgiaWQiKSwuLi4oYS50YXJnZXQ/LmNsYXNzTGlzdHx8W10pXTtyZXR1cm4hISJwbGF5ZXItY29udHJvbC1vdmVybGF5IHBsYXllci1jb250cm9scy1taWRkbGUgcGxheWVyLWNvbnRyb2xzLWJvdHRvbSBmdWxsc2NyZWVuLWNvbnRyb2xzIHBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kIHRvcC1mdWxsLXNjcmVlbi1jb250cm9scyIuc3BsaXQoIiAiKS5maW5kKGM9PmIuZmluZChkPT5kPT09YykpfTsKS1U9ZnVuY3Rpb24oYSxiKXtpZihiLk5hKUpVKGEpJiZiLlMoe05hOiExfSk7ZWxzZSBpZihiLnBsYXllclN0YXRlIT09LTEmJmIucGxheWVyU3RhdGUhPT01KWlmKEpVKGEpKXt2YXIgYz1XUShiLkgpO2IuUyh7ZWE6ITAseWI6ITAsamU6Y30pfWVsc2V7dmFyIGQ9cmxhKGEuY2xpZW50WCxiLlRjLm9mZnNldFdpZHRoKTtjPXNsYShiLGQpO3ZhciBlPWM+Yi5LYjtsZXQgZj1iLkNhO2UmJihmPWM8Mj9iLnZhOkRRKGIuQ2ErKGQ9PT0tMT8tMToxKSoxMCwwLGIudmlkZW9EdXJhdGlvbiksc1UoYyxkLGIpKTshYi5lYSYmYzw9MT9jVChiLHtJYzohMH0pOmJUKCk7YT1iLmJhPy56diYmYi5lYSYmIUpVKGEpO2Q9e2VhOnZsYSh7Li4uYixLYjpjfSl8fGEsWWg6ITEsSmQ6ZCxDYTpmLEtiOmMseWI6ITAseWg6KDAsXy5lbCkoKX07ZT91VSh7Li4uYixLYjpjLENhOmZ9LGE/KCk9PntpZihiLkg/LmlzUmVhZHk/LigpKXtsZXQgaD1XUShiLkgpO2IuUyh7amU6aH0pfX06dm9pZCAwKTphJiZiLkgmJgooZT1XUShiLkgpLGIuUyh7amU6ZX0pKTtjPT09MSYmKGQuT249Yi5wbGF5ZXJTdGF0ZT09PTF8fGIucGxheWVyU3RhdGU9PT0zKTtiLlMoZCl9fTtKVT1mdW5jdGlvbihhKXtyZXR1cm4hXy54KCJtd2ViX2lvc19kZXRlY3RfZmFrZV9jbGlja19raWxsc3dpdGNoIikmJl8uR0smJkZVPjAmJigwLF8uZWwpKCktRlU8MTAwPyExOnR5cGVvZiBQb2ludGVyRXZlbnQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFBvaW50ZXJFdmVudCYmYS5wb2ludGVyVHlwZT09PSJtb3VzZSJ9O3ZsYT1mdW5jdGlvbihhKXtyZXR1cm4gdVMoYSl8fGEucGxheWVyU3RhdGU9PT0zfHxhLktiPjE/ITA6IWEuZWF9O3dsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPXt2b2x1bWU6Yi5IPy5nZXRWb2x1bWUoKT8/MCxyYzohIWIuSD8uaXNNdXRlZCgpfTtiLlMoYyl9fTsKeGxhPWZ1bmN0aW9uKGEpe3JldHVybigpPT57dmFyIGI9YSgpLGM9Yi5IO2lmKGMpe3ZhciBkPXt4YzohIWMuZ2V0T3B0aW9ucygiY2FwdGlvbnMiKX07ZC54YyYmKGQuY2FwdGlvbnNFbmFibGVkPU9RKGMpKTtiLlMoZCl9fX07CnpsYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e3ZhciBjPWEoKSxkPWMuSDtpZihkJiYhZC5pc0tleWJvYXJkRGlzYWJsZWQ/LigpJiYheWxhKGIudGFyZ2V0LGIpKXtzd2l0Y2goYi5jb2RlKXtjYXNlICJTcGFjZSI6Y2FzZSAiS2V5SyI6ZD1XUShkKTtjLlMoe2VhOiEwLGplOmR9KTticmVhaztjYXNlICJBcnJvd0xlZnQiOmNhc2UgIktleUoiOkxVKGMsLTEpO2JyZWFrO2Nhc2UgIkFycm93UmlnaHQiOmNhc2UgIktleUwiOkxVKGMsMSk7YnJlYWs7Y2FzZSAiS2V5TSI6Yy5yYz9kLnVuTXV0ZSgpOmQubXV0ZSgpO2MuUyh7ZWE6ITB9KTticmVhaztjYXNlICJLZXlGIjpSUSgpO2QudG9nZ2xlRnVsbHNjcmVlbigpO2MuUyh7ZWE6ITB9KTtiLnN0b3BQcm9wYWdhdGlvbigpO2JyZWFrO2Nhc2UgIktleUMiOmMueGMmJlFRKGQsbFUoYykpO2MuUyh7ZWE6ITB9KTticmVhaztkZWZhdWx0OnJldHVybn1iLnByZXZlbnREZWZhdWx0KCk7Yi5zdG9wUHJvcGFnYXRpb24oKX19fTsKTFU9ZnVuY3Rpb24oYSxiKXtpZihfLngoIm13ZWJfa2V5Ym9hcmRfc2Vla19vdmVybGF5X2tpbGxzd2l0Y2giKSlhLkg/LnNlZWtCeSgxMCooYj09PS0xPy0xOjEpKSxhLlMoe2VhOiEwfSk7ZWxzZXt2YXIgYz1hLktiLGQ9YS5KZCxlPSgwLF8uZWwpKCksZj1lLWEueWg7Yz1kIT09Ynx8Zj4zNTA/MjpjKzE7ZD1iPT09LTE/LTE6MTtkPWM9PT0yPyhhLnZhfHwwKStkKjEwOmEuQ2ErZCoxMDtkPURRKGQsMCxhLnZpZGVvRHVyYXRpb24pO2U9e2VhOiEwLFloOiExLEpkOmIsQ2E6ZCxLYjpjLHliOiEwLHloOmV9O2M9PT0yJiYoZS5Pbj1hLnBsYXllclN0YXRlPT09MXx8YS5wbGF5ZXJTdGF0ZT09PTMpO3NVKGMsYix7Li4uYSwuLi5lfSk7dVUoey4uLmEsLi4uZX0pO2EuUyhlKX19Owp5bGE9ZnVuY3Rpb24oYSxiKXtpZihiLmN0cmxLZXl8fGIuYWx0S2V5fHxiLm1ldGFLZXkpcmV0dXJuITA7dmFyIGM9YS50YWdOYW1lO3JldHVybiBjPT09IklOUFVUInx8Yz09PSJURVhUQVJFQSJ8fGM9PT0iU0VMRUNUInx8Yi5rZXk9PT0iVGFiInx8Yi5jb2RlPT09IlNwYWNlIiYmKGM9PT0iQlVUVE9OInx8Yz09PSJBInx8KGE9YS5nZXRBdHRyaWJ1dGUoInJvbGUiKSkmJihhPT09ImJ1dHRvbiJ8fGE9PT0ib3B0aW9uInx8YS5zdGFydHNXaXRoKCJtZW51aXRlbSIpKSk/ITA6ITF9OwpPVT1mdW5jdGlvbihhLGIpe3ZhciBjPXsuLi5hKCkscGxheWVyU3RhdGU6MH0sZD1BUyhiKCk/LndhdGNoTmV4dFJlc3BvbnNlKSxlPUJTKGIoKT8ud2F0Y2hOZXh0UmVzcG9uc2UpO0hTKGMsZCkmJihNVShhKSxjLlMoe3lmOiFlPy5jb3VudERvd25TZWNzfHxlLmNvdW50RG93blNlY3M8PTA/MTA6ZS5jb3VudERvd25TZWNzfSksYz13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9Pnt2YXIgZj1hKCk7aWYoZi55ZiE9PTEpZi5TKHt5ZjpmLnlmLTF9KTtlbHNle01VKGEpO2Y9YigpPy53YXRjaE5leHRSZXNwb25zZTtmPUFTKGYpO2xldCBoPWY/LnNldHM/LlswXS5hdXRvcGxheVZpZGVvO2gmJl8uQUooaCxmLCExLHthdXRvbmF2OiIxIn0pfX0sMUUzKSxfLngoIm13ZWJfcGxheWVyX3VuaWZpY2F0aW9uX3N0YXRlX3JlZmFjdG9yX2tpbGxzd2l0Y2giKT9OVT1jOmEoKS5TKHtGazpjfSkpfTsKTVU9ZnVuY3Rpb24oYSl7IV8ueCgibXdlYl9wbGF5ZXJfdW5pZmljYXRpb25fc3RhdGVfcmVmYWN0b3Jfa2lsbHN3aXRjaCIpJiZhPyhhPWEoKSxhLkZrIT09dm9pZCAwJiYoY2xlYXJJbnRlcnZhbChhLkZrKSxhLlMoe0ZrOnZvaWQgMH0pKSk6TlUmJihjbGVhckludGVydmFsKE5VKSxOVT12b2lkIDApfTsKQmxhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGM9Pnt2YXIgZD1hKCksZT17eGY6ITF9O2UucGxheWVyU3RhdGU9YztkLkgmJlZRKGQuSCkmJihlLnBsYXllclN0YXRlPTIpO2M9PT0xJiYoZC5IPy5sb2FkTW9kdWxlKCJjYXB0aW9ucyIpLF8ueCgibXdlYl9iZXR0ZXJfY2FwdGlvbnNfcGxhY2VtZW50IikmJmQuSD8uc2V0U3VidGl0bGVzVGFyZ2V0Q29udGFpbmVySWQoImNhcHRpb25zLWdhbG9yZS1jb250YWluZXIiKSk7Yz09PTAmJihkLkg/LnVubG9hZE1vZHVsZSgiY2FwdGlvbnMiKSxfLngoIm13ZWJfYmV0dGVyX2NhcHRpb25zX3BsYWNlbWVudCIpJiZkLkg/LmNsZWFyU3VidGl0bGVzVGFyZ2V0Q29udGFpbmVySWQoKSk7aWYoZS5wbGF5ZXJTdGF0ZT09PS0xKWUuZWE9ITA7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09NSllLmVhPSEwO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTMpZS5lYT0hMCxiVCgpO2Vsc2UgaWYoZS5wbGF5ZXJTdGF0ZT09PTEpZC5zYnx8ZC55cXx8KGQueWI/CmNUKHsuLi5kLC4uLmV9KTplLmVhPSExKTtlbHNlIGlmKGUucGxheWVyU3RhdGU9PT0yKWJUKCk7ZWxzZSBpZihlLnBsYXllclN0YXRlPT09MCl7ZS5lYT0hMDtiVCgpO2M9YSgpO3ZhciBmPWIoKT8ud2F0Y2hOZXh0UmVzcG9uc2U7aWYoZj1fLkIoZj8uY29udGVudHM/LnNpbmdsZUNvbHVtbldhdGNoTmV4dFJlc3VsdHM/LmF1dG9wbGF5Py5hdXRvcGxheT8uYXV0b3BsYXlFeHBsaWNpdENob2ljZURpYWxvZ1JlbmRlcmVyLEFsYSkpZi5kaXNhYmxlQnV0dG9uU3R5bGVPdmVycmlkZXM9ITA7IWMudGEuVWwoKSYmZiYmKGMudGEuZXhpdEZ1bGxzY3JlZW4oKSxfLkFKKHtvcGVuUG9wdXBBY3Rpb246e3BvcHVwOntjb25maXJtRGlhbG9nUmVuZGVyZXI6Zn0scG9wdXBUeXBlOiJESUFMT0cifX0se30sITEpKTtkLmF1dG9uYXZFbmFibGVkJiYoT1UoYSxiKSxfLk1PKCIjcGxheWVyLWVuZHNjcmVlbiAueXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWwgYnV0dG9uIiw1LHtybDohMH0pKX1kLlMoZSl9fTsKQ2xhPWZ1bmN0aW9uKGEpe1BVKCgpPT5hKSgpfTtEbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCksYz1iLkg7YyYmVlEoYykmJmIuUyh7cGxheWVyU3RhdGU6Mn0pfX07ClBVPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57dmFyIGM9YSgpO3ZhciBkPWMuSDt2YXIgZT1kPy5nZXRWaWRlb0RhdGEoKSxmPWU/LmlzTGl2ZXx8ITEsaD1lPy52aWRlb19pZDtlPWU/LmFsbG93TGl2ZUR2cj8/ITA7Zj17dmlkZW9EdXJhdGlvbjpVUShkfHx2b2lkIDApLGlzTGl2ZTpmLHZpZGVvSWQ6aCxpc0xpdmVEdnJFbmFibGVkOmV9O2YudmlkZW9JZCE9PWMudmlkZW9JZCYmKGY9ey4uLmRUKGQpLC4uLmZ9KTtiPy5wbGF5ZXJ0eXBlJiYoZi5wbGF5ZXJUeXBlPWIucGxheWVydHlwZSk7ZCYmKGYueGM9ISFkLmdldE9wdGlvbnMoImNhcHRpb25zIiksYj1mLGg9KGg9ZC5nZXRTdG9yeWJvYXJkTGV2ZWwoZC5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMoKS0xKT8uaW50ZXJ2YWxNcyk/aC8xRTM6dm9pZCAwLGIuWnI9aCxmLnhjJiYoZi5jYXB0aW9uc0VuYWJsZWQ9T1EoZCkpKTtmLnJjPSEhZD8uaXNNdXRlZCgpO2Q9ZjtkLmF1dG9uYXZFbmFibGVkPWMudGEuZGUoKTtkLmlzUGxheWxpc3Q9ClhRKCk7Yy5iYT8uTWwhPT12b2lkIDAmJihkLnliPSEwKTtkLmlzRnVsbHNjcmVlbj1jLmlzRnVsbHNjcmVlbjtkLnBsYXllclN0YXRlPT09MyYmKGQuZWE9ITApO2QucGxheWVyU3RhdGU9PT0tMSYmKGQuZWE9ITApO2I9Yy5HYzt5Uyh7Li4uYywuLi5kfSk/YiYmKGIuc3R5bGUuZGlzcGxheT0ibm9uZSIpOmImJihiLnN0eWxlLmRpc3BsYXk9IiIpO01VKGEpO2MuUyhkKX19OwpFbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPWEoKSxlPWIoKSxmPWQuSDtpZihmKXtkLnZpZGVvSWQ9PT12b2lkIDAmJkNsYShkKTtpZihlJiZjIT09dm9pZCAwKXt2YXIgaD17Li4uZCx2YTpjfTsoZT1FUyhlLnBsYXllck92ZXJsYXlSZW5kZXJlcikpJiYhaC5pc0RyYWdnaW5nJiYoaD1rVChoLGUpLG1UKGgpKX1oPWYuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtjPXt2YTpjfHwwLFFtOmYuZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbigpLHBsYXllclR5cGU6aH07dVMoZCkmJihjLnZhPWQudmlkZW9EdXJhdGlvbik7ZC5pc0xpdmUmJihoPWYuZ2V0UHJvZ3Jlc3NTdGF0ZShoKSxjLnZhLT1oLnNlZWthYmxlU3RhcnQsYy52aWRlb0R1cmF0aW9uPVVRKGYpKTt5UyhkKSYmZGVsZXRlIGMudmE7Zj1jO3lTKHsuLi5kLC4uLmZ9KSYmKGM9ZC5HYykmJihjLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtkLlMoZil9fX07CkZsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e2EoKS5TKHtlYTohMSxyYzohMX0pfX07R2xhPWZ1bmN0aW9uKGEpe3JldHVybiBiPT57YSgpLlMoe2lzRnVsbHNjcmVlbjpiLmZ1bGxzY3JlZW4sTmE6ITF9KX19O0hsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIuSDtiLlMoe2lzRnVsbHNjcmVlbjpiLnRhLmlzRnVsbHNjcmVlbigpLGNhcHRpb25zRW5hYmxlZDpjP09RKGMpOmIuY2FwdGlvbnNFbmFibGVkfSl9fTtJbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7Xy5WTSh7aHJlZjp3aW5kb3cubG9jYXRpb24uaHJlZn0pfHxiLlMoe2lzRnVsbHNjcmVlbjohMX0pfX07CkpsYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKTtbOTAsMjcwXS5pbmNsdWRlcyhNYXRoLmFicyh3aW5kb3cub3JpZW50YXRpb24/d2luZG93Lm9yaWVudGF0aW9uOndpbmRvdy5zY3JlZW4/Lm9yaWVudGF0aW9uPy5hbmdsZT93aW5kb3cuc2NyZWVuLm9yaWVudGF0aW9uLmFuZ2xlOjApKT9kb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgibGFuZHNjYXBlIiwidHJ1ZSIpOmRvY3VtZW50LmJvZHkucmVtb3ZlQXR0cmlidXRlKCJsYW5kc2NhcGUiKTtiLk5hJiZiLlMoe05hOiExfSl9fTtLbGE9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pnt2YXIgYj1hKCk7Yi50YS5leGl0RnVsbHNjcmVlbigpO2IuUyh7aXNGdWxsc2NyZWVuOiExfSl9fTtMbGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYz0+e3ZhciBkPWEoKTtjLmRldGFpbD8ucGF1c2VkPyhNVShhKSxkLnpmfHxkLlMoe3pmOiEwfSkpOih1UyhkKSYmT1UoYSxiKSxkLnpmJiZkLlMoe3pmOiExfSkpfX07Ck1sYT1mdW5jdGlvbihhKXtyZXR1cm4oKT0+e3ZhciBiPWEoKSxjPWIudGEuZGUoKTtjfHxNVShhKTtiLlMoe2F1dG9uYXZFbmFibGVkOmN9KX19O05sYT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+e2EoKS5TKHtSeDohIWJ9KX19O1FVPWZ1bmN0aW9uKGEpe01VKGEucHJvcHMpO2EucHJvcHMoKS5TKHt4ZjohMH0pfTtSVT1mdW5jdGlvbihhKXt2YXIgYj1fLldEKCgpPT5hLnNldHNbMF0ucHJldmlvdXNCdXR0b25WaWRlbyksYz1fLldEKCgpPT5hLnNldHNbMF0ubmV4dEJ1dHRvblZpZGVvKTtyZXR1cm57VWE6YixuZXh0OmN9fTtTVT1mdW5jdGlvbihhLGIpe2I9YigpPy5ydW5zPy5bMF0ubmF2aWdhdGlvbkVuZHBvaW50O3ZhciBjPV8uQihiLF8uVkQpPy51cmw7YSgpLkg/LmlzRW1iZWRzU2hvcnRzTW9kZT8uKCkmJmMmJmMuaW5jbHVkZXMoIi93YXRjaD92PSIpJiYoXy5CKGIsXy5WRCkudXJsPWMucmVwbGFjZSgiL3dhdGNoP3Y9IiwiL3Nob3J0cy8iKSk7cmV0dXJuIGJ9OwpVVT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9IiIsZT0iIjtzd2l0Y2goYSl7Y2FzZSAtMTpjYXNlIDA6ZD1iPyJWT0xVTUVfT0ZGIjpjPyJWT0xVTUVfT0ZGX0RFTEhJX1BMQVlFUiI6IlZPTFVNRV9PRkZfRklMTEVEIjtlPU9sYTticmVhaztjYXNlIDE6ZD1iPyJWT0xVTUVfVVBfT1VUTElORSI6Yz8iVk9MVU1FX1VQX0RFTEhJX1BMQVlFUl9GSUxMRUQiOiJWT0xVTUVfVVBfRklMTEVEIjtlPVRVO2JyZWFrO2Nhc2UgMjpkPWI/IlZPTFVNRV9ET1dOX09VVExJTkUiOmM/IlZPTFVNRV9ET1dOX0RFTEhJX1BMQVlFUl9GSUxMRUQiOiJWT0xVTUVfRE9XTl9GSUxMRUQiO2U9VFU7YnJlYWs7ZGVmYXVsdDpfLmViKGEsdm9pZCAwKX1yZXR1cm57aWNvbk5hbWU6ZCxhcmlhTGFiZWw6ZX19OwpQbGE9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgVlU9PT0ibnVtYmVyIiYmY2xlYXJUaW1lb3V0KFZVKTtWVT1zZXRUaW1lb3V0KCgpPT57YS5TKHtZaDohMX0pO1ZVPXZvaWQgMH0sXy5CKGIuZW5hYmxlZEVkdUNvbW1hbmQsV1UpPy5kdXJhdGlvbk1zfHw0RTMpfTtYVT1mdW5jdGlvbihhLGIsYyl7YS5TKHthdXRvbmF2RW5hYmxlZDpiLFloOmN9KTthLnRhLlJqKGIsYyl9O1lVPWZ1bmN0aW9uKGEpe3JldHVybiBfLklFKHtkaXNwbGF5OigpPT5hKCk/IiI6Im5vbmUifSl9O1FsYT1mdW5jdGlvbihhKXtpZihfLngoImVuYWJsZV9jdXN0b21fc2NydWJiZXJfdjIiKSYmYSlyZXR1cm57cGxheWhlYWRJbWFnZTphLnBsYXloZWFkSW1hZ2UscGxheWhlYWRSZXdpbmRJbWFnZTphLnBsYXloZWFkUmV3aW5kSW1hZ2UscGxheWhlYWRGYXN0Rm9yd2FyZEltYWdlOmEucGxheWhlYWRGYXN0Rm9yd2FyZEltYWdlfX07ClJsYT1mdW5jdGlvbihhKXthPWE/LmdldFBsYXllclN0YXRlT2JqZWN0Py4oKTtyZXR1cm4oYT8uaXNDdWVkfHxhPy5pc1Vuc3RhcnRlZCkmJiFhPy5pc0Vycm9yfTtaVT1mdW5jdGlvbihhKXthLmZvckVhY2goYj0+e2IoKX0pO2EubGVuZ3RoPTB9O1NsYT1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmlkPSJwbGF5ZXItY29udHJvbHMiO2IuY2xhc3NMaXN0LmFkZCgieXRQbGF5ZXJDb250cm9sc0NvbnRhaW5lckhvc3QiKTt2YXIgW2MsZF09Xy5KKHt9LHZvaWQgMCwiYmpKSWxkIik7YS5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsKCk9PnskVShhLGIsYyxkKX0pO2EuYWRkRXZlbnRMaXN0ZW5lcigib25SZWFkeSIsKCk9PnskVShhLGIsYyxkKX0pO3JldHVybiBifTsKJFU9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9VGxhKGEpO2QoZSk7aGphKGIsIWEuZ2V0UGxheWVyU3RhdGVPYmplY3QoKT8uaXNFcnJvcnx8ISFhVihlKSk7Yi5oYXNDaGlsZE5vZGVzKCl8fF8ueEYoYiwoKT0+VWxhKGEsYixjKSwiJGUiKX07ClVsYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5OKCgpPT5hVihjKCkpLHZvaWQgMCwiZFc1OGJkIiksZT1fLnVGKGs9PntpZighXy54KCJlbWJlZHNfZW5hYmxlX2VtYzNkc19wZnAiKSlyZXR1cm4hMTt2YXIgbD1jKCk7cmV0dXJuKGw9bC5qYj8uZW1iZWRkZWRQbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyTW9kZT8/bC5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlKT9sPT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCI6a30se2luaXRpYWw6ITF9KSxmPV8udUYoaz0+e2lmKCFfLngoImVtYmVkc19lbmFibGVfZW1jM2RzX3BmbCIpKXJldHVybiExO3ZhciBsPWMoKTtyZXR1cm4obD1sLmpiPy5lbWJlZGRlZFBsYXllckNvbmZpZz8uZW1iZWRkZWRQbGF5ZXJNb2RlPz9sLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllck1vZGUpPwpsPT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCI6a30se2luaXRpYWw6ITF9KSxoPV8uTigoKT0+e2lmKCFfLngoImVtYmVkc19lbmFibGVfc2hvcnRzIil8fF8ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHNfY291bnRlcmZhY3R1YWwiKSlyZXR1cm4hMTt2YXIgaz1jKCkuUGg/LmVuZHBvaW50O3JldHVybiEoIWt8fCFfLkIoayxfLlREKSl9LHZvaWQgMCwiV3FnSnJiIik7Xy5uRSgoKT0+e18ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmKF8ueCgiZW1iZWRzX2VuYWJsZV9zaG9ydHNfY291bnRlcmZhY3R1YWwiKXx8KGUoKXx8ZigpfHwhaCgpP2Euc2V0TG9vcFZpZGVvKCExKTphLnNldExvb3BWaWRlbyghMCkpKX0sIlpnVXdnZSIpO3JldHVybiBfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5kKCl9LCgpPT5fLksoYlYse2RhdGE6KCk9PmQoKX0pKSxfLksoXy5DRSx7d2hlbjplfSwoKT0+Xy5LKFZsYSx7SDphLGNvbnRleHQ6dGthKGEsYiksZGF0YTpjfSkpLF8uSyhfLkNFLAp7d2hlbjpmfSwoKT0+e3ZhciBrPXJTKGEpLGw9YS5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7bD17Li4uc1MobCksWHc6ITAsWXc6ITB9O3JldHVybiBfLksoY1Yse2NvbnRleHQ6e3RhOmssYmE6bCxUYzpkb2N1bWVudC5ib2R5LEdjOmJ9LGRhdGE6Y30pfSksXy5LKF8uQ0Use3doZW46aH0sKCk9Pl8uSyhXbGEse3JlZWxJdGVtV2F0Y2hSZXNwb25zZTooKT0+YygpLnJlZWxJdGVtV2F0Y2hSZXNwb25zZSxqYjooKT0+YygpLmpiLFBoOigpPT5jKCkuUGgsSDooKT0+YSxjb250ZXh0OnNrYShhLGIpfSkpLF8uSyhfLkRFLG51bGwsKCk9Pnt2YXIgaz1yUyhhKSxsPXNTKGEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpKTtyZXR1cm4gXy5LKGNWLHtjb250ZXh0Ont0YTprLGJhOmwsVGM6ZG9jdW1lbnQuYm9keSxHYzpifSxkYXRhOmN9KX0pKX07CmFWPWZ1bmN0aW9uKGEpe3JldHVybiBhLmpiPy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXM/LmVycm9yU2NyZWVuPy5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlcnx8YS5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXM/LmVycm9yU2NyZWVuPy5wbGF5ZXJJbnRlcnN0aXRpYWxSZW5kZXJlcn07VGxhPWZ1bmN0aW9uKGEpe3ZhciBiPWEuZ2V0UGxheWVyUmVzcG9uc2UoKSxjPWEuZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSxkPWEuZ2V0UmVlbEl0ZW1XYXRjaFJlc3BvbnNlKCksZT1hLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKSxmPWEuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7cmV0dXJue3BsYXllck92ZXJsYXlSZW5kZXJlcjpjPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLHBsYXllclJlc3BvbnNlOmIsUGg6Zix3YXRjaE5leHRSZXNwb25zZTpjLHJlZWxJdGVtV2F0Y2hSZXNwb25zZTpkLGpiOmUsSDphfX07Cl8uZFY9ZnVuY3Rpb24oYSl7Xy5BcSgiZXBfaW5pdF9ycyIpO3ZhciBiPWRvY3VtZW50LmJvZHk7YT1TbGEoYSk7Yi5hcHBlbmRDaGlsZChhKTthPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuaWQ9ImJvdHRvbS1zaGVldC13cmFwcGVyIjsoMCxfLklDKShhLFVqYSk7Yi5hcHBlbmRDaGlsZChhKTtfLkFxKCJlcF9pbml0X3JlIil9O18uZz1GUS5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBGUSh0aGlzLmxlZnQsdGhpcy50b3AsdGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpfLmcuY29udGFpbnM9ZnVuY3Rpb24oYSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIF8uZVYmJmEgaW5zdGFuY2VvZiBfLmVWP2EueD49dGhpcy5sZWZ0JiZhLng8PXRoaXMubGVmdCt0aGlzLndpZHRoJiZhLnk+PXRoaXMudG9wJiZhLnk8PXRoaXMudG9wK3RoaXMuaGVpZ2h0OnRoaXMubGVmdDw9YS5sZWZ0JiZ0aGlzLmxlZnQrdGhpcy53aWR0aD49YS5sZWZ0K2Eud2lkdGgmJnRoaXMudG9wPD1hLnRvcCYmdGhpcy50b3ArdGhpcy5oZWlnaHQ+PWEudG9wK2EuaGVpZ2h0fTtfLmcuZ2V0U2l6ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5uZCh0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9O18uZy5yb3VuZD1mdW5jdGlvbigpe3RoaXMubGVmdD1NYXRoLnJvdW5kKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5yb3VuZCh0aGlzLnRvcCk7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcudHJhbnNsYXRlPWZ1bmN0aW9uKGEsYil7ImZ1bmN0aW9uIj09dHlwZW9mIF8uZVYmJmEgaW5zdGFuY2VvZiBfLmVWPyh0aGlzLmxlZnQrPWEueCx0aGlzLnRvcCs9YS55KToodGhpcy5sZWZ0Kz1hLHR5cGVvZiBiPT09Im51bWJlciImJih0aGlzLnRvcCs9YikpO3JldHVybiB0aGlzfTsKXy5nLnNjYWxlPWZ1bmN0aW9uKGEsYil7Yj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTt0aGlzLmxlZnQqPWE7dGhpcy53aWR0aCo9YTt0aGlzLnRvcCo9Yjt0aGlzLmhlaWdodCo9YjtyZXR1cm4gdGhpc307CnZhciB2VT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnRva2VuPWF9c3RhdGljIGFzeW5jIGpjKCl7cmV0dXJuIG5ldyBQcm9taXNlKGE9PntfLlBsKCkudGhlbihiPT57Yj8odlUuaW5zdGFuY2V8fCh2VS5pbnN0YW5jZT1uZXcgdlUoYikpLGEodlUuaW5zdGFuY2UpKTphKHZvaWQgMCl9KX0pfWFzeW5jIGdldChhKXtpZihhPWF3YWl0IChhd2FpdCBHUSh0aGlzLnRva2VuKSkuZ2V0KCJwcmVmcyIsYSkpe3ZhciBiPSgwLF8uZWwpKCk7cmV0dXJuIGEuZXhwaXJhdGlvblRpbWVzdGFtcE1zPD1iP3ZvaWQgMDphLnZhbHVlfX1hc3luYyBzZXQoYSxiLGM9MzE1MzZFMyl7dmFyIGQ9KDAsXy5lbCkoKTthPXtrZXk6YSx2YWx1ZTpiLGV4cGlyYXRpb25UaW1lc3RhbXBNczpkK2MqMUUzfTtiPWF3YWl0IEdRKHRoaXMudG9rZW4pO2F3YWl0IF8ubWwoYiwicHJlZnMiLGEpfWFzeW5jIHJlbW92ZShhKXthd2FpdCAoYXdhaXQgR1EodGhpcy50b2tlbikpLmRlbGV0ZSgicHJlZnMiLGEpfX0sWVE9Cm51bGwsZlY9e1NuOnsxRTM6e290aGVyOiIwSyJ9LDFFNDp7b3RoZXI6IjAwSyJ9LDFFNTp7b3RoZXI6IjAwMEsifSwxRTY6e290aGVyOiIwTSJ9LDFFNzp7b3RoZXI6IjAwTSJ9LDFFODp7b3RoZXI6IjAwME0ifSwxRTk6e290aGVyOiIwQiJ9LDFFMTA6e290aGVyOiIwMEIifSwxRTExOntvdGhlcjoiMDAwQiJ9LDFFMTI6e290aGVyOiIwVCJ9LDFFMTM6e290aGVyOiIwMFQifSwxRTE0OntvdGhlcjoiMDAwVCJ9fSxWczp7MUUzOntvdGhlcjoiMCB0aG91c2FuZCJ9LDFFNDp7b3RoZXI6IjAwIHRob3VzYW5kIn0sMUU1OntvdGhlcjoiMDAwIHRob3VzYW5kIn0sMUU2OntvdGhlcjoiMCBtaWxsaW9uIn0sMUU3OntvdGhlcjoiMDAgbWlsbGlvbiJ9LDFFODp7b3RoZXI6IjAwMCBtaWxsaW9uIn0sMUU5OntvdGhlcjoiMCBiaWxsaW9uIn0sMUUxMDp7b3RoZXI6IjAwIGJpbGxpb24ifSwxRTExOntvdGhlcjoiMDAwIGJpbGxpb24ifSwxRTEyOntvdGhlcjoiMCB0cmlsbGlvbiJ9LDFFMTM6e290aGVyOiIwMCB0cmlsbGlvbiJ9LAoxRTE0OntvdGhlcjoiMDAwIHRyaWxsaW9uIn19fSxyUj1mVjtyUj1mVjt2YXIgcVI9e0FFRDpbMiwiZGgiLCJcdTA2MmYuXHUwNjI1LiJdLEFMTDpbMCwiTGVrIiwiTGVrIl0sQVVEOlsyLCIkIiwiQVUkIl0sQkRUOlsyLCJcdTA5ZjMiLCJUayJdLEJHTjpbMiwibGV2IiwibGV2Il0sQlJMOlsyLCJSJCIsIlIkIl0sQ0FEOlsyLCIkIiwiQyQiXSxDREY6WzIsIkZyQ0QiLCJDREYiXSxDSEY6WzIsIkNIRiIsIkNIRiJdLENMUDpbMCwiJCIsIkNMJCJdLENOWTpbMiwiXHUwMGE1IiwiUk1CXHUwMGE1Il0sQ09QOlszMiwiJCIsIkNPTCQiXSxDUkM6WzAsIlx1MjBhMSIsIkNSXHUyMGExIl0sQ1pLOls1MCwiS1x1MDEwZCIsIktcdTAxMGQiXSxES0s6WzUwLCJrci4iLCJrci4iXSxET1A6WzIsIlJEJCIsIlJEJCJdLEVHUDpbMiwiXHUwMGEzIiwiTEUiXSxFVEI6WzIsIkJpcnIiLCJCaXJyIl0sRVVSOlsyLCJcdTIwYWMiLCJcdTIwYWMiXSxHQlA6WzIsIlx1MDBhMyIsIkdCXHUwMGEzIl0sSEtEOlsyLCIkIiwiSEskIl0sSFJLOlsyLCJrbiIsImtuIl0sSFVGOlszNCwKIkZ0IiwiRnQiXSxJRFI6WzAsIlJwIiwiUnAiXSxJTFM6WzM0LCJcdTIwYWEiLCJJTFx1MjBhYSJdLElOUjpbMiwiXHUyMGI5IiwiUnMiXSxJUlI6WzAsIlJpYWwiLCJJUlIiXSxJU0s6WzAsImtyIiwia3IiXSxKTUQ6WzIsIiQiLCJKQSQiXSxKUFk6WzAsIlx1MDBhNSIsIkpQXHUwMGE1Il0sS1JXOlswLCJcdTIwYTkiLCJLUlx1MjBhOSJdLExLUjpbMiwiUnMiLCJTTFJzIl0sTFRMOlsyLCJMdCIsIkx0Il0sTU5UOlswLCJcdTIwYWUiLCJNTlx1MjBhZSJdLE1WUjpbMiwiUmYiLCJNVlIiXSxNWE46WzIsIiQiLCJNZXgkIl0sTVlSOlsyLCJSTSIsIlJNIl0sTk9LOls1MCwia3IiLCJOT2tyIl0sUEFCOlsyLCJCLy4iLCJCLy4iXSxQRU46WzIsIlMvLiIsIlMvLiJdLFBIUDpbMiwiXHUyMGIxIiwiUEhQIl0sUEtSOlswLCJScyIsIlBLUnMuIl0sUExOOls1MCwielx1MDE0MiIsInpcdTAxNDIiXSxST046WzIsIlJPTiIsIlJPTiJdLFJTRDpbMCwiZGluIiwiUlNEIl0sUlVCOls1MCwiXHUyMGJkIiwKIlJVQiJdLFNBUjpbMiwiU0FSIiwiU0FSIl0sU0VLOls1MCwia3IiLCJrciJdLFNHRDpbMiwiJCIsIlMkIl0sVEhCOlsyLCJcdTBlM2YiLCJUSEIiXSxUUlk6WzIsIlx1MjBiYSIsIlRSWSJdLFRXRDpbMiwiJCIsIk5UJCJdLFRaUzpbMCwiVFNoIiwiVFNoIl0sVUFIOlsyLCJcdTA0MzNcdTA0NDBcdTA0M2QuIiwiVUFIIl0sVVNEOlsyLCIkIiwiVVMkIl0sVVlVOlsyLCIkIiwiJFUiXSxWTkQ6WzQ4LCJcdTIwYWIiLCJWTlx1MjBhYiJdLFlFUjpbMCwiUmlhbCIsIlJpYWwiXSxaQVI6WzIsIlIiLCJaQVIiXX07dmFyIGdWOwpnVj17REFZOntMT05HOiJvbmV7IyBkYXl9b3RoZXJ7IyBkYXlzfSIsU0hPUlQ6Im9uZXsjIGRheX1vdGhlcnsjIGRheXN9IixOQVJST1c6Im9uZXsjZH1vdGhlcnsjZH0ifSxIT1VSOntMT05HOiJvbmV7IyBob3VyfW90aGVyeyMgaG91cnN9IixTSE9SVDoib25leyMgaHJ9b3RoZXJ7IyBocn0iLE5BUlJPVzoib25leyNofW90aGVyeyNofSJ9LE1JTlVURTp7TE9ORzoib25leyMgbWludXRlfW90aGVyeyMgbWludXRlc30iLFNIT1JUOiJvbmV7IyBtaW59b3RoZXJ7IyBtaW59IixOQVJST1c6Im9uZXsjbX1vdGhlcnsjbX0ifSxNT05USDp7TE9ORzoib25leyMgbW9udGh9b3RoZXJ7IyBtb250aHN9IixTSE9SVDoib25leyMgbXRofW90aGVyeyMgbXRoc30iLE5BUlJPVzoib25leyNtfW90aGVyeyNtfSJ9LFNFQ09ORDp7TE9ORzoib25leyMgc2Vjb25kfW90aGVyeyMgc2Vjb25kc30iLFNIT1JUOiJvbmV7IyBzZWN9b3RoZXJ7IyBzZWN9IixOQVJST1c6Im9uZXsjc31vdGhlcnsjc30ifSxXRUVLOntMT05HOiJvbmV7IyB3ZWVrfW90aGVyeyMgd2Vla3N9IiwKU0hPUlQ6Im9uZXsjIHdrfW90aGVyeyMgd2tzfSIsTkFSUk9XOiJvbmV7I3d9b3RoZXJ7I3d9In0sWUVBUjp7TE9ORzoib25leyMgeWVhcn1vdGhlcnsjIHllYXJzfSIsU0hPUlQ6Im9uZXsjIHlyfW90aGVyeyMgeXJzfSIsTkFSUk9XOiJvbmV7I3l9b3RoZXJ7I3l9In19O3ZhciBoVj17Q2U6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9LCB7MX0iXSxSbjpbInswfSBhbmQgezF9IiwiezB9ICYgezF9IiwiezB9LCB7MX0iXSxtazpbInswfSwgYW5kIHsxfSIsInswfSwgJiB7MX0iLCJ7MH0sIHsxfSJdLGlvOlsiezB9IG9yIHsxfSIsInswfSBvciB7MX0iLCJ7MH0gb3IgezF9Il0seGs6WyJ7MH0sIG9yIHsxfSIsInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iXSxybzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0scW86WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdLEFrOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXX07CmhWPXtDZTpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0sIHsxfSJdLFJuOlsiezB9IGFuZCB7MX0iLCJ7MH0gJiB7MX0iLCJ7MH0sIHsxfSJdLG1rOlsiezB9LCBhbmQgezF9IiwiezB9LCAmIHsxfSIsInswfSwgezF9Il0saW86WyJ7MH0gb3IgezF9IiwiezB9IG9yIHsxfSIsInswfSBvciB7MX0iXSx4azpbInswfSwgb3IgezF9IiwiezB9LCBvciB7MX0iLCJ7MH0sIG9yIHsxfSJdLHJvOlsiezB9LCB7MX0iLCJ7MH0sIHsxfSIsInswfSB7MX0iXSxxbzpbInswfSwgezF9IiwiezB9LCB7MX0iLCJ7MH0gezF9Il0sQWs6WyJ7MH0sIHsxfSIsInswfSwgezF9IiwiezB9IHsxfSJdfTt2YXIgWGxhPWNsYXNze2NvbnN0cnVjdG9yKCl7dmFyIGE9e3R5cGU6InVuaXQiLHN0eWxlOiJuYXJyb3cifTt0aGlzLkk9YSYmYS50eXBlP2EudHlwZToiY29uanVuY3Rpb24iO3RoaXMuSz1hJiZhLnN0eWxlP2Euc3R5bGU6ImxvbmciO3RoaXMuaj1oVjthPTA7c3dpdGNoKHRoaXMuSyl7Y2FzZSAic2hvcnQiOmE9MTticmVhaztjYXNlICJuYXJyb3ciOmE9Mn1zd2l0Y2godGhpcy5JKXtjYXNlICJjb25qdW5jdGlvbiI6dGhpcy5CPXRoaXMuai5DZVthXTt0aGlzLkQ9KHRoaXMuai5Sbnx8dGhpcy5qLm1rKVthXTt0aGlzLnY9KHRoaXMuai5qQ3x8dGhpcy5qLkNlKVthXTt0aGlzLm89dGhpcy5qLm1rW2FdO2JyZWFrO2Nhc2UgImRpc2p1bmN0aW9uIjp0aGlzLkI9KHRoaXMuai5RRnx8dGhpcy5qLkNlKVthXTt0aGlzLkQ9KHRoaXMuai5pb3x8dGhpcy5qLnhrKVthXTt0aGlzLnY9KHRoaXMuai5QRnx8dGhpcy5qLkNlKVthXTt0aGlzLm89dGhpcy5qLnhrW2FdO2JyZWFrO2Nhc2UgInVuaXQiOnRoaXMuQj0KKHRoaXMuai5yb3x8dGhpcy5qLkNlKVthXSx0aGlzLkQ9KHRoaXMuai5BSHx8dGhpcy5qLkFrKVthXSx0aGlzLnY9KHRoaXMuai5xb3x8dGhpcy5qLkNlKVthXSx0aGlzLm89dGhpcy5qLkFrW2FdfX1mb3JtYXQoYSl7cmV0dXJuIHhqYSh0aGlzLGEpfX07dmFyIGlSPXthcjoibGF0biIsImFyLUVHIjoiYXJhYiIsYm46ImJlbmciLGZhOiJhcmFiZXh0IixtcjoiZGV2YSIsbXk6Im15bXIiLG5lOiJkZXZhIn07dmFyIGlWPXtWbjoiLiIscms6IiwiLGpvOiIlIixCazoiMCIsV3Q6IisiLGFvOiItIixZbjoiRSIsa286Ilx1MjAzMCIsc2s6Ilx1MjIxZSIsQnQ6Ik5hTiIsZ3Q6IiMsIyMwLiMjIyIsekc6IiNFMCIsU0Y6IiMsIyMwJSIsRkM6Ilx1MDBhNCMsIyMwLjAwIixXbjoiVVNEIn0sZFI9aVY7ZFI9aVY7dmFyIGVSPUludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuLVVTIi5yZXBsYWNlKCJfIiwiLSIpXSkubGVuZ3RoPjAsalI9ITE7CmhSLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbihhLGIpe2I9Ynx8WzBdO2lmKHRoaXMub2EhPT0wKXRocm93IEVycm9yKCJPZCIpO2E9YS5yZXBsYWNlKC8gfFx1MjAyZi9nLCJcdTAwYTAiKTt2YXIgYz1hLmluZGV4T2YodGhpcy5NLGJbMF0pPT1iWzBdLGQ9YS5pbmRleE9mKHRoaXMuRCxiWzBdKT09YlswXTtjJiZkJiYodGhpcy5NLmxlbmd0aD50aGlzLkQubGVuZ3RoP2Q9ITE6dGhpcy5NLmxlbmd0aDx0aGlzLkQubGVuZ3RoJiYoYz0hMSkpO2M/YlswXSs9dGhpcy5NLmxlbmd0aDpkJiYoYlswXSs9dGhpcy5ELmxlbmd0aCk7aWYoYS5pbmRleE9mKGRSLnNrLGJbMF0pPT1iWzBdKXtiWzBdKz1kUi5zay5sZW5ndGg7dmFyIGU9SW5maW5pdHl9ZWxzZXtlPWE7bGV0IGY9ITEsaD0hMSxrPSExLGw9LTEsbT0xLG49ZFIuVm4scD1kUi5yayxyPWRSLlluO2lmKHRoaXMub2EhPTApdGhyb3cgRXJyb3IoIlBkIik7cD1wLnJlcGxhY2UoL1x1MjAyZi9nLCJcdTAwYTAiKTtsZXQgdD0iIjtmb3IoO2JbMF08CmUubGVuZ3RoO2JbMF0rKyl7bGV0IHY9ZS5jaGFyQXQoYlswXSksej1wUih2KTtpZih6Pj0wJiZ6PD05KXQrPXosaz0hMDtlbHNlIGlmKHY9PW4uY2hhckF0KDApKXtpZihmfHxoKWJyZWFrO3QrPSIuIjtmPSEwfWVsc2UgaWYodj09cC5jaGFyQXQoMCkmJigiXHUwMGEwIiE9cC5jaGFyQXQoMCl8fGJbMF0rMTxlLmxlbmd0aCYmcFIoZS5jaGFyQXQoYlswXSsxKSk+PTApKXtpZihmfHxoKWJyZWFrfWVsc2UgaWYodj09ci5jaGFyQXQoMCkpe2lmKGgpYnJlYWs7dCs9IkUiO2g9ITA7bD1iWzBdfWVsc2UgaWYodj09IisifHx2PT0iLSIpe2lmKGsmJmwhPWJbMF0tMSlicmVhazt0Kz12fWVsc2UgaWYodGhpcy52PT0xJiZ2PT1kUi5qby5jaGFyQXQoMCkpe2lmKG0hPTEpYnJlYWs7bT0xMDA7aWYoayl7YlswXSsrO2JyZWFrfX1lbHNlIGlmKHRoaXMudj09MSYmdj09ZFIua28uY2hhckF0KDApKXtpZihtIT0xKWJyZWFrO209MUUzO2lmKGspe2JbMF0rKzticmVha319ZWxzZSBicmVha310aGlzLnYhPQoxJiYobT10aGlzLnYpO2U9cGFyc2VGbG9hdCh0KS9tfWlmKGMpe2lmKGEuaW5kZXhPZih0aGlzLmdhLGJbMF0pIT1iWzBdKXJldHVybiBOYU47YlswXSs9dGhpcy5nYS5sZW5ndGh9ZWxzZSBpZihkKXtpZihhLmluZGV4T2YodGhpcy5VLGJbMF0pIT1iWzBdKXJldHVybiBOYU47YlswXSs9dGhpcy5VLmxlbmd0aH1yZXR1cm4gZD8tZTplfTsKaFIucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbihhKXtpZih0aGlzLkI+dGhpcy5qKXRocm93IEVycm9yKCJTZCIpO2lmKGVSJiZ0aGlzLkspeyh0aGlzLksuZm9ybWF0PT1udWxsfHx0aGlzLlFhfHx0aGlzLk1hfHx0aGlzLlZkfHxqUikmJmZSKHRoaXMpO2lmKE1hdGguYWJzKGEpPDEmJnRoaXMuaGE+dGhpcy5qKXt2YXIgYj1NYXRoLnBvdygxMCx0aGlzLmopO2E9TWF0aC5yb3VuZChNYXRoLmFicyhhKSpiKSpNYXRoLnNpZ24oYSkvYn10aGlzLksucmVzb2x2ZWRPcHRpb25zKCk7cmV0dXJuIHRoaXMuSy5mb3JtYXQoYSl9aWYoaXNOYU4oYSkpcmV0dXJuIGRSLkJ0O2I9W107dmFyIGM9YTtpZih0aGlzLm9hPT0wKWM9c1I7ZWxzZXtjPU1hdGguYWJzKGMpO3ZhciBkPXRSKHRoaXMsYzw9MT8wOnVSKGMpKS5wbDtjPXRSKHRoaXMsZCt1UihtUih0aGlzLGtSKGMsLWQpKS5pbnRWYWx1ZSkpfWE9a1IoYSwtYy5wbCk7KGQ9YTwwfHxhPT0wJiYxL2E8MCk/Yy53bT9iLnB1c2goYy53bSk6CihiLnB1c2goYy5wcmVmaXgpLGIucHVzaCh0aGlzLkQpKTooYi5wdXNoKGMucHJlZml4KSxiLnB1c2godGhpcy5NKSk7aWYoaXNGaW5pdGUoYSkpaWYoYSo9ZD8tMToxLGEqPXRoaXMudix0aGlzLkZhKXt2YXIgZT1hO2lmKGU9PTApblIodGhpcyxlLHRoaXMubyxiKSxvUih0aGlzLDAsYik7ZWxzZXt2YXIgZj1NYXRoLmZsb29yKE1hdGgubG9nKGUpL01hdGgubG9nKDEwKSsyRS0xNSk7ZT1rUihlLC1mKTt2YXIgaD10aGlzLm87dGhpcy5aPjEmJnRoaXMuWj50aGlzLm8/KGg9ZiV0aGlzLlosaDwwJiYoaD10aGlzLloraCksZT1rUihlLGgpLGYtPWgsaD0xKTp0aGlzLm88MT8oZisrLGU9a1IoZSwtMSkpOihmLT10aGlzLm8tMSxlPWtSKGUsdGhpcy5vLTEpKTtuUih0aGlzLGUsaCxiKTtvUih0aGlzLGYsYil9fWVsc2UgblIodGhpcyxhLHRoaXMubyxiKTtlbHNlIGIucHVzaChkUi5zayk7ZD9jLnhtP2IucHVzaChjLnhtKTooaXNGaW5pdGUoYSkmJmIucHVzaChjLnN1ZmZpeCksYi5wdXNoKHRoaXMuVSkpOgooaXNGaW5pdGUoYSkmJmIucHVzaChjLnN1ZmZpeCksYi5wdXNoKHRoaXMuZ2EpKTtyZXR1cm4gYi5qb2luKCIiKX07dmFyIHlqYT0iMCIuY29kZVBvaW50QXQoMCksc1I9e3BsOjAsd206IiIseG06IiIscHJlZml4OiIiLHN1ZmZpeDoiIn07dmFyIGpWLEJqYT1qVj1qVj16amE7dmFyIGtWLENSPWtWPWtWPUFqYTt2YXIgd1I9bnVsbCx4Uj1udWxsLHlSPW51bGwsRGphPVJlZ0V4cCgiJyhbe30jXS4qPyknIiwiZyIpLENqYT1SZWdFeHAoIicnIiwiZyIpO3pSLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYodGhpcy52KXt0aGlzLkQ9W107dmFyIGI9RWphKHRoaXMsdGhpcy52KTt0aGlzLm89SFIodGhpcyxiKTt0aGlzLnY9bnVsbH1pZih0aGlzLm8mJnRoaXMuby5sZW5ndGghPTApZm9yKHRoaXMuaj1fLnliKHRoaXMuRCksYj1bXSxBUih0aGlzLHRoaXMubyxhLCExLGIpLGE9Yi5qb2luKCIiKTt0aGlzLmoubGVuZ3RoPjA7KWE9YS5yZXBsYWNlKHRoaXMuQih0aGlzLmopLFN0cmluZyh0aGlzLmoucG9wKCkpLnJlcGxhY2UoIiQiLCIkJCQkIikpO2Vsc2UgYT0iIjtyZXR1cm4gYX07dmFyIEVSPS9eXHMqKFx3KylccyosXHMqcGx1cmFsXHMqLCg/OlxzKm9mZnNldDooXGQrKSk/LyxGUj0vXlxzKihcdyspXHMqLFxzKnNlbGVjdG9yZGluYWxccyosLyxHUj0vXlxzKihcdyspXHMqLFxzKnNlbGVjdFxzKiwvOwp6Ui5wcm90b3R5cGUuQj1mdW5jdGlvbihhKXtyZXR1cm4iXHVmZGRmXyIrKGEubGVuZ3RoLTEpLnRvU3RyaW5nKDEwKSsiXyJ9O3ZhciBUamE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9WWxhfHxnVn1mb3JtYXQoYSl7dmFyIGI9W10sYz1hLnllYXJzLGQ9YS5tb250aHMsZT1hLndlZWtzLGY9YS5kYXlzLGg9YS5ob3VycyxrPWEubWludXRlczthPWEuc2Vjb25kcztjIT1udWxsJiZiLnB1c2goSVIodGhpcyxjLCJ5ZWFycyIpKTtkIT1udWxsJiZiLnB1c2goSVIodGhpcyxkLCJtb250aHMiKSk7ZSE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZSwid2Vla3MiKSk7ZiE9bnVsbCYmYi5wdXNoKElSKHRoaXMsZiwiZGF5cyIpKTtoIT1udWxsJiZiLnB1c2goSVIodGhpcyxoLCJob3VycyIpKTtrIT1udWxsJiZiLnB1c2goSVIodGhpcyxrLCJtaW51dGVzIikpO2EhPW51bGwmJmIucHVzaChJUih0aGlzLGEsInNlY29uZHMiKSk7cmV0dXJuKG5ldyBYbGEpLmZvcm1hdChiKX19Oy8qCgogTUlUIExpY2Vuc2UKCiBDb3B5cmlnaHQgKGMpIDIwMTcgQWxleGFuZGVyIFJlYXJkb24KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRQogU09GVFdBUkUKKi8KdmFyIFpsYT0oYSxiKT0+e2lmKGEubGVuZ3RoIT09Yi5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDsrK2MpaWYoYVtjXSE9PWJbY10pcmV0dXJuITE7cmV0dXJuITB9O3ZhciBsVj1uZXcgXy5JKCJ3YXRjaE9uWW91dHViZUJ1dHRvblZpZXdNb2RlbCIpO3ZhciBFa2E9bmV3IF8uSSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKSxtVj1uZXcgXy5JKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNDb2xsYXBzZWRSZW5kZXJlciIpLG5WPW5ldyBfLkkoImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgT1M9bmV3IF8uSSgiZW1iZWRzSW5mb1BhbmVsUmVuZGVyZXIiKTt2YXIgJGxhPW5ldyBfLkkoIm1vYmlsZVRvcGJhclJlbmRlcmVyIik7dmFyIGFtYT1uZXcgXy5JKCJjYWxsVG9BY3Rpb25CdXR0b25WaWV3TW9kZWwiKTt2YXIgYm1hPW5ldyBfLkkoImludGVyc3RpdGlhbFZpZXdNb2RlbCIpO3ZhciBkbGE9bmV3IF8uSSgiY2luZW1hdGljQ29udGFpbmVyUmVuZGVyZXIiKTt2YXIgamthPW5ldyBfLkkoInZhcmlhYmxlU3BlZWRDb250cm9sbGVyVmlld01vZGVsIik7dmFyIERrYT1uZXcgXy5JKCJmdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWwiKTt2YXIgb1Y9bmV3IF8uSSgicGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlciIpLHBWPW5ldyBfLkkoInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBLUz1uZXcgXy5JKCJxdWlja0FjdGlvbnNWaWV3TW9kZWwiKTt2YXIgY21hPW5ldyBfLkkoInJlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsIik7dmFyIEFsYT1uZXcgXy5JKCJjb25maXJtRGlhbG9nUmVuZGVyZXIiKTt2YXIgbWxhPW5ldyBfLkkoImJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyIik7dmFyIGRtYT1uZXcgXy5JKCJkaWFsb2dIZWFkZXJWaWV3TW9kZWwiKTt2YXIgZW1hPW5ldyBfLkkoImRpYWxvZ1ZpZXdNb2RlbCIpO3ZhciBXVT1uZXcgXy5JKCJwbGF5ZXJUb2FzdENvbW1hbmQiKTt2YXIgdmthPW5ldyBfLkkoImF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIiKTt2YXIgeGthPW5ldyBfLkkoImRlY29yYXRlZFBsYXllckJhclJlbmRlcmVyIiksRFM9bmV3IF8uSSgibXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXIiKSxlVD1uZXcgXy5JKCJjaGFwdGVyUmVuZGVyZXIiKTt2YXIgeWthPW5ldyBfLkkoImRlY29yYXRlZFBsYXloZWFkUmVuZGVyZXIiKTt2YXIgQWthPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50T3ZlcmxheVJlbmRlcmVyIiksQmthPW5ldyBfLkkoImZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyUmVuZGVyZXIiKSxmbWE9bmV3IF8uSSgiZnVsbHNjcmVlbkVuZ2FnZW1lbnRBY3Rpb25CYXJTYXZlQnV0dG9uUmVuZGVyZXIiKTt2YXIgZ21hPW5ldyBfLkkoImhlYXRNYXJrZXJSZW5kZXJlciIpO3ZhciB3a2E9bmV3IF8uSSgiaGVhdG1hcFJlbmRlcmVyIik7dmFyIHFWPW5ldyBfLkkoInRpbWVkTWFya2VyRGVjb3JhdGlvblJlbmRlcmVyIik7dmFyIGhtYT1bImVuLUNBIiwiZW4iLCJlcy1NWCIsImZyLUNBIl07dmFyIHJWO3JWPXticm93c2VFbmRwb2ludDp7YnJvd3NlSWQ6IkZFd2hhdF90b193YXRjaCJ9LGNvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6Ii8iLHJvb3RWZTozODU0LHdlYlBhZ2VUeXBlOiJXRUJfUEFHRV9UWVBFX0JST1dTRSJ9fX07dmFyIEtSPSExO3ZhciBLamE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89dGhpcy5qPTA7dGhpcy5qPWIueC1hLng7dGhpcy5vPWIueS1hLnl9fTt2YXIgJFQ9Xy5ndSh2b2lkIDAsIkJERXFKYiIpO3ZhciBzVj13aW5kb3csWj1zVi5HSHx8ImVuLVVTIixTamE9c1YuSEh8fENSLFlsYT1zVi5GSHx8Z1Y7dmFyIFFSO3ZhciB1a2E9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5IPWF9dG9nZ2xlRnVsbHNjcmVlbigpe3RoaXMuSC50b2dnbGVGdWxsc2NyZWVuKCl9ZXhpdEZ1bGxzY3JlZW4oKXt0aGlzLmlzRnVsbHNjcmVlbigpJiZ0aGlzLnRvZ2dsZUZ1bGxzY3JlZW4oKX1pc0Z1bGxzY3JlZW4oKXtyZXR1cm4gdGhpcy5ILmlzRnVsbHNjcmVlbigpfX07dmFyIFRSPV8uTCgoe3RhOmF9KT0+Xy5LKF8uZkose2RhdGE6KCk9Pnt2YXIgYj1jUih7dGl0bGU6Xy5JUChfLiROLm5rKSxrbDphKCkuZGUoKSxpY29uVHlwZToiQVVUT1BMQVkiLEVrOl8uJE4ubmssRGs6Xy4kTi5ua30pO3JldHVybiBfLkIoYixfLk1QKX0sb25UYXA6ZnVuY3Rpb24oYil7dmFyIGM9IWEoKS5kZSgpO2EoKS5SaihjLCEwKTtiLnN0b3BQcm9wYWdhdGlvbigpO18uWE0oInBmcC1hdXRvbmF2LXVwZGF0ZSIse2F1dG9uYXZFbmFibGVkOmN9KX19KSwiWWIiKTtUUi5pZG9tQ29tcGF0PSEwO3ZhciBpbWE9Xy4kTi5hdSxjUz1fLkwoKCk9Pnt2YXIgYT0oKT0+Xy5CKGJSKHt0aXRsZTpfLklQKGltYSksaWNvblR5cGU6IlBFUlNPTl9DSVJDTEUifSksXy5aQyk7cmV0dXJuIF8uSyhfLkNELHtkYXRhOmEsSWE6ITAsb25UYXA6KCk9Pnt2YXIgYj1fLktPKCk/Xy5GTygiLy95b3V0dWJlLmNvbS9zaWduaW4iLCJuZXh0IiwiL3NpZ25pbj9hY3Rpb25fY2xvc2VfdGFiPXRydWUiKTpfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9FTUJFRERFRF9QTEFZRVIiP18uRk8oIi8veW91dHViZS5jb20vc2lnbmluIiwibmV4dCIsIi9wb3N0X2xvZ2luIik6Xy5GTygiLy95b3V0dWJlLmNvbS9zaWduaW4iLCJuZXh0Iixsb2NhdGlvbi5wYXRobmFtZStsb2NhdGlvbi5zZWFyY2gpO18uQUooe3NpZ25JbkVuZHBvaW50Ont9LGNvbW1hbmRNZXRhZGF0YTp7d2ViQ29tbWFuZE1ldGFkYXRhOnt1cmw6Yn19fSxhKCksITEpfX0pfSwiWmIiKTtjUy5pZG9tQ29tcGF0PSEwO3ZhciBqbWE9Xy4kTi5XcyxrbWE9Xy4kTi5ZcyxsbWE9Xy4kTi5UbixWamE9Xy5MKCh7ZnY6YX0pPT57dmFyIGI9ImNvcHktZGVidWctaW5mby10ZXh0YXJlYSIrXy5PSCgpO3JldHVybiBfLksoXy5yRSx7UWc6KCk9Pl8uSyhfLkFQLG51bGwsbG1hKSxxazooKT0+Xy5LKCJ0ZXh0YXJlYSIse2NsYXNzOiJjb3B5RGVidWdJbmZvUGxheWVyRGVidWdJbmZvIixpZDpifSxhKSxFejooKT0+Xy5LKF8uelAsbnVsbCxfLksoXy5KSyx7ZGF0YTp7YnV0dG9uVGV4dDpqbWEsc3R5bGU6Im1vbm8iLHR5cGU6InRleHQiLHN0YXRlOiJhY3RpdmUiLHNpemU6Ik0iLG9uVGFwOigpPT57Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfX19KSksUHI6KCk9Pl8uSyhfLnpQLG51bGwsXy5LKF8uSksse2RhdGE6e2J1dHRvblRleHQ6a21hLHN0eWxlOiJtb25vIix0eXBlOiJ0ZXh0IixzdGF0ZToiYWN0aXZlIixzaXplOiJNIixvblRhcDooKT0+e18uc1AoYik7Xy55KCkucmVzb2x2ZShfLnlQKS5sZCgpfX19KSl9KX0sCiIkYiIpO3ZhciBtbWE9Xy4kTi5UbiwkUj1fLkwoKHtIOmF9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChtbWEpLGljb25UeXBlOiJCVUdfUkVQT1JUIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57V2phKGEoKSl9fSksImFjIik7JFIuaWRvbUNvbXBhdD0hMDt2YXIgbm1hPV8uJE4uWnMsWlI9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAobm1hKSxpY29uVHlwZToiQ09ERSJ9KSxfLlpDKSxJYTohMCxvblRhcDooKT0+e3ZhciBiPWEoKS5nZXRWaWRlb0VtYmVkQ29kZSgpO2ImJmImJndpbmRvdy5uYXZpZ2F0b3I/LmNsaXBib2FyZCYmd2luZG93Lm5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGIpfX0pLCJiYyIpO1pSLmlkb21Db21wYXQ9ITA7dmFyIG9tYT1fLiROLmJ0LHBtYT1fLiROLmZ0LFdSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKG9tYSksaWNvblR5cGU6IkxJTksifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntSUihhKCksITEpfX0pLCJjYyIpO1dSLmlkb21Db21wYXQ9ITA7dmFyIFlSPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+Xy5CKGJSKHt0aXRsZTpfLklQKHBtYSksaWNvblR5cGU6IkxJTksifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntSUihhKCksITApfX0pLCJkYyIpO1lSLmlkb21Db21wYXQ9ITA7dmFyIHRWPV8uJE4udXQsVlI9Xy5MKCh7SDphfSk9Pl8uSyhfLmZKLHtkYXRhOigpPT57dmFyIGI9Y1Ioe3RpdGxlOl8uSVAodFYpLGtsOmEoKS5nZXRMb29wVmlkZW8oKSxFazp0VixEazp0VixpY29uVHlwZToiTE9PUCJ9KTtyZXR1cm4gXy5CKGIsXy5NUCl9LG9uVGFwOmI9PnthKCkuc2V0TG9vcFZpZGVvKCFhKCkuZ2V0TG9vcFZpZGVvKCkpO2Iuc3RvcFByb3BhZ2F0aW9uKCl9fSksImVjIik7VlIuaWRvbUNvbXBhdD0hMDt2YXIgVVI9Xy5MKCh7SDphfSk9Pl8uSygic3RhYmxlLXZvbHVtZS10b2dnbGUiLHtjbGFzczoic3RhYmxlVm9sdW1lVG9nZ2xlSG9zdCJ9LF8uSyhfLmZKLHtkYXRhOigpPT5fLkIoY1Ioe3RpdGxlOl8uSVAoXy4kTi55ayksa2w6YSgpLmhhc0RyY0F1ZGlvVHJhY2soKSYmYSgpLmdldERyY1VzZXJQcmVmZXJlbmNlKCk9PT0xLGljb25UeXBlOiJWT0xVTUVfU1RBQkxFIixFazpfLiROLnlrLERrOl8uJE4ueWssaXNEaXNhYmxlZDohYSgpLmhhc0RyY0F1ZGlvVHJhY2soKX0pLF8uTVApLG9uVGFwOmZ1bmN0aW9uKGIpe2EoKS5zZXREcmNVc2VyUHJlZmVyZW5jZShhKCkuaGFzRHJjQXVkaW9UcmFjaygpJiZhKCkuZ2V0RHJjVXNlclByZWZlcmVuY2UoKT09PTE/MDoxKTtiLnN0b3BQcm9wYWdhdGlvbigpfX0pKSwiZmMiKTtVUi5pZG9tQ29tcGF0PSEwO3ZhciBxbWE9Xy4kTi5idSxiUz1fLkwoKHtIOmF9KT0+e3ZhciBiPSgpPT5fLkIoYlIoe3RpdGxlOl8uSVAocW1hKSxpY29uVHlwZToiSU5GTyJ9KSxfLlpDKTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ISFhKCkuZ2V0VmlkZW9EYXRhLHRoZW46KCk9Pl8uSyhfLkNELHtkYXRhOmIsSWE6ITAsb25UYXA6KCk9Pnt2YXIgYz1hKCk7IWMuZ2V0VmlkZW9EYXRhfHwoYy5pc1ZpZGVvSW5mb1Zpc2libGUoKT9jLmhpZGVWaWRlb0luZm8oKTpjLnNob3dWaWRlb0luZm8oKSl9fSl9KX0sImdjIik7YlMuaWRvbUNvbXBhdD0hMDt2YXIgcm1hPV8uJE4uZHUsYVM9Xy5MKCh7SDphfSk9Pl8uSyhfLkNELHtkYXRhOigpPT5fLkIoYlIoe3RpdGxlOl8uSVAocm1hKSxpY29uVHlwZToiUVVFU1RJT05fQ0lSQ0xFIn0pLF8uWkMpLElhOiEwLG9uVGFwOigpPT57YSgpLnJlcG9ydFBsYXliYWNrSXNzdWUmJihhKCkucmVwb3J0UGxheWJhY2tJc3N1ZSgpLF8ucVAoe2hyZWY6Imh0dHBzOi8vc3VwcG9ydC5nb29nbGUuY29tL3lvdXR1YmUvP3A9cmVwb3J0X3BsYXliYWNrIn0pKX19KSwiaGMiKTthUy5pZG9tQ29tcGF0PSEwO3ZhciBzbWE9Xy4kTi53dCxvUz1fLkwoKHtIOmEsb2g6Yix0YTpjLHRBOmR9KT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQihiUih7dGl0bGU6Xy5JUChzbWEpLGljb25UeXBlOiJPVVRMSU5FX09WRVJGTE9XX0hPUklaT05UQUxfMzIifSksXy5aQyksSWE6ITAsb25UYXA6KCk9PntYamEoYSgpLGIoKSxjPy4oKSxkPy4oKSl9fSksImljIik7b1MuaWRvbUNvbXBhdD0hMDt2YXIgZ2thPV8uJE4ubW8sWWphPV8uJE4ubm8sWmphPV8uJE4uVHQsZmthPV8uJE4uUnQsZWthPV8uJE4uU3QsaGthPV8uJE4uWHQsYWthPVs1MCwxMDAsMTI1LDE1MCwxNzUsMjAwXSwkamE9WzEwMCwxMjUsMTUwLDE3NSwyMDAsMzAwXSxja2E9WzUwLDEwMCwxMjUsMTUwLDIwMF0sYmthPVsxMDAsMTI1LDE1MCwyMDAsMzAwXSxoUzt2YXIgdG1hPV8uJE4ubW8sdW1hPV8uJE4ubm8sbVM9Xy5MKCh7SDphfSk9Pnt2YXIgYj0oKT0+e3ZhciBkPWEoKT8uZ2V0UGxheWJhY2tSYXRlKCksZT1fLmFBKCJQTEFZQkFDS19TUEVFRF9YIix7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcjpgJHtkfWB9KTtyZXR1cm4gXy5CKGJSKHt0aXRsZTpfLklQKHRtYSksc2VsZWN0aW9uVGV4dDpfLklQKGQ9PT0xP3VtYTplKSxpY29uVHlwZToiUExBWV9BUlJPV19IQUxGX0NJUkNMRSJ9KSxfLlpDKX0sYz0oKT0+e2trYShhKCkpfTtyZXR1cm4gXy5LKF8uTyx7QTooKT0+ISFhKCk/LmdldFBsYXliYWNrUmF0ZSgpLHRoZW46KCk9Pl8uSyhfLkNELHtkYXRhOmIsSWE6ITAsb25UYXA6Y30pfSl9LCJqYyIpO21TLmlkb21Db21wYXQ9ITA7dmFyIHZtYT1fLiROLk5zLG5TPV8uTCgoKT0+Xy5LKF8uQ0Qse2RhdGE6KCk9Pl8uQih7bGlzdEl0ZW1WaWV3TW9kZWw6e3RpdGxlOl8uSVAodm1hKSxsaXN0SXRlbUljb25BZnRlclNlbGVjdGlvblRleHQ6IkxJU1RfSVRFTV9JQ09OX0FGVEVSX1NFTEVDVElPTl9URVhUX0RFRkFVTFQiLGxlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6IlBFUlNPTl9SQURBUiJ9fV19LGVudGl0eUtleToiRWlvdmVXOTFkSFZpWlM5aGNIQXZjR3hoZVdWeVgyRjFaR2x2WDNSeVlXTnJYMlZ1ZEdsMGVWOXJaWGtnX2dJb0FRJTNEJTNEIixlbnRpdHlTZWxlY3RvclR5cGU6IkxJU1RfSVRFTV9WSUVXX01PREVMX0VOVElUWV9TRUxFQ1RPUl9UWVBFX0FVRElPX1RSQUNLX1NFTEVDVElPTl9URVhUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6W3tzaG93QXVkaW9UcmFja1BpY2tlckFjdGlvbkNvbW1hbmQ6e319XX19fX19fX0sCl8uWkMpLElhOiEwfSksImtjIik7blMuaWRvbUNvbXBhdD0hMDt2YXIgd21hPV8uJE4uRXQseG1hPV8uJE4uRnQscGthPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBiPWEoKT8uZ2V0T3B0aW9uKCJjYXB0aW9ucyIsInRyYWNrIiksYz10eXBlb2YgYj8udHJhbnNsYXRpb25MYW5ndWFnZT09PSJvYmplY3QiJiZiLnRyYW5zbGF0aW9uTGFuZ3VhZ2U/Lmxhbmd1YWdlTmFtZXx8Yj8uZGlzcGxheU5hbWV8fCIiO3JldHVybiBfLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTpfLklQKHdtYSksbGlzdEl0ZW1JY29uQWZ0ZXJTZWxlY3Rpb25UZXh0OiJMSVNUX0lURU1fSUNPTl9BRlRFUl9TRUxFQ1RJT05fVEVYVF9ERUZBVUxUIixzZWxlY3Rpb25UZXh0Ontjb250ZW50OmM/Yzp4bWF9LGxlYWRpbmdJbWFnZTp7c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6Yz8iQ0xPU0VEX0NBUFRJT05fU0VMRUNURUQiOiJDTE9TRURfQ0FQVElPTiJ9fV19LGVudGl0eUtleToiRWk4dmVXOTFkSFZpWlM5aGNIQXZjR3hoZVdWeVgyTmhjSFJwYjI1ZmJHRnVaM1ZoWjJWZlpXNTBhWFI1WDJ0bGVTRC1BaWdCIiwKZW50aXR5U2VsZWN0b3JUeXBlOiJMSVNUX0lURU1fVklFV19NT0RFTF9FTlRJVFlfU0VMRUNUT1JfVFlQRV9DQVBUSU9OX0xBTkdVQUdFX1NFTEVDVElPTl9URVhUIixyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDp7aW5uZXJ0dWJlQ29tbWFuZDp7Y29tbWFuZEV4ZWN1dG9yQ29tbWFuZDp7Y29tbWFuZHM6W3tzaG93Q2FwdGlvbkxhbmd1YWdlU2VsZWN0QWN0aW9uQ29tbWFuZDp7fX1dfX19fX0saXNEaXNhYmxlZDp0eXBlb2YgYj09PSJ1bmRlZmluZWQifX0sXy5aQyl9LElhOiEwfSksImxjIik7dmFyIGxrYT17YXV0bzowLHRpbnk6MTQ0LGxpZ2h0OjE0NCxzbWFsbDoyNDAsbWVkaXVtOjM2MCxsYXJnZTo0ODAsaGQ3MjA6NzIwLGhkMTA4MDoxMDgwLGhkMTQ0MDoxNDQwLGhkMjE2MDoyMTYwLGhkMjg4MDoyODgwLGhpZ2hyZXM6NDMyMH07dmFyIHltYT1fLiROLk50LG1rYT1fLiROLk90LGxTPV8uTCgoe0g6YX0pPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBiPWJSKHt0aXRsZTpfLklQKHltYSksc2VsZWN0aW9uVGV4dDpfLklQKGtTKGEoKSxhKCkuZ2V0UGxheWJhY2tRdWFsaXR5KCkpKSxpY29uVHlwZToiT1VUTElORV9BREpVU1QifSk7cmV0dXJuIF8uQihiLF8uWkMpfSxJYTohMCxvblRhcDooKT0+e2EoKS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzKCkmJm9rYShhKCkpfX0pLCJtYyIpO2xTLmlkb21Db21wYXQ9ITA7CnZhciBua2E9Xy5MKCh7SDphfSk9Pl8uSyhfLmdHLHtwYTooKT0+YSgpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSx0YjoiSU5ERVgifSxiPT5fLksoXy5DRCx7ZGF0YTooKT0+e3ZhciBjPWIoKSxkPWEoKS5nZXRQcmVmZXJyZWRRdWFsaXR5KCk7Yz1iUih7dGl0bGU6Xy5JUChrUyhhKCksYykpLGljb25UeXBlOmM9PT1kPyJDSEVDSyI6dm9pZCAwfSk7cmV0dXJuIF8uQihjLF8uWkMpfSxJYTohMCxvblRhcDooKT0+e3ZhciBjPWIoKTthKCkuc2V0UGxheWJhY2tRdWFsaXR5UmFuZ2UoYyxjKX19KSksIm5jIik7dmFyIFJTPW5ldyBTZXQsUVM9bnVsbDt2YXIgVFM9bnVsbCxWUz17fTt2YXIgdVY9Xy5MKGE9Pnt2YXIgYj1fLnZFKCJidXR0b24iLGQ9PntkJiZXUyhkLDI4NTcyLCFfLngoImVtYmVkc19jdWVkX292ZXJsYXlfdmVfa3MiKSl9KSxjPSgpPT5hLkcoKS5IPy5pc0VtYmVkc1Nob3J0c01vZGU/LigpO3JldHVybiBfLksoImN1ZWQtb3ZlcmxheSIse2NsYXNzOl8uUCgieXRtQ3VlZE92ZXJsYXlIb3N0Iix7eXRtQ3VlZE92ZXJsYXlIaWRkZW46KCk9PiEkUyhhLkcoKSxhLnBsYXlhYmlsaXR5U3RhdHVzPy4oKSl9KSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2IudmFsdWUmJihYUygyODU3MiksYS5HKCkuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCxfLksudmlzdWFsRWxlbWVudCksYS5IPy4oKS5wbGF5VmlkZW8oKSk7ZC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PiFhLkcoKS5iYT8uaGlkZVZpZGVvSW5mbyYmIXVTKGEuRygpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1DdWVkT3ZlcmxheUdyYWRpZW50In0pfSksXy5LKCJidXR0b24iLAp7Y2xhc3M6Xy5QKCJ5dG1DdWVkT3ZlcmxheVBsYXlCdXR0b24iLHt5dG1DdWVkT3ZlcmxheVNob3J0czpjfSksZWw6YiwiYXJpYS1sYWJlbCI6Xy4kTi5QZyx0aXRsZTpfLiROLlBnfSxfLksoXy5NRCx7aWNvbjooKT0+YygpPyJZT1VUVUJFX1NIT1JUU19CUkFORF8yNCI6IkxPR08iLGNsYXNzTmFtZToieXRtQ3VlZE92ZXJsYXlQbGF5QnV0dG9uSWNvbiJ9KSkpfSwib2MiKTt1Vi5pZG9tQ29tcGF0PSEwO3ZhciBhVDt2YXIgQW1hPV8uTCgoe0p6OmEsbXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXI6Yixwcm9ncmVzc0JhcldpZHRoOmMscHJvZ3Jlc3NDb2xvcjpkfSk9Pnt2YXIgZT0oKT0+Z1QoYigpKSxmPSgpPT5qVChhKCkpLGg9KCk9PmMoKSooYSgpLnZhL2EoKS52aWRlb0R1cmF0aW9uKTtyZXR1cm4gXy5LKCJ5dC1jaGFwdGVyZWQtcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRDaGFwdGVyZWRQcm9ncmVzc0Jhckhvc3QifSxfLksoXy5nRyx7cGE6ZX0sKGssbCk9Pl8uSyh6bWEse055OmYsY2hhcHRlcnM6ZSxpbmRleDpsLEN6OmgscHJvZ3Jlc3NDb2xvcjpkLER1OigpPT57dmFyIG09alQoYSgpKSxuPWdUKGIoKSkscD1sKCkscj1oKCk7cmV0dXJuKG0udmEtaFQoXy5CKG5bcF0sZVQpKSkvbS52YSpyfX0pKSl9LCJwYyIpLHptYT1fLkwoKHtOeTphLGNoYXB0ZXJzOmIsaW5kZXg6YyxDejpkLER1OmUscHJvZ3Jlc3NDb2xvcjpmfSk9Pnt2YXIgaD1fLlAoInl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVyIiwKe3l0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJDaGFwdGVySXNTY3J1YmJpbmc6KCk9PmsoKS5ibSx5dENoYXB0ZXJlZFByb2dyZXNzQmFySG92ZXJlZE1hY3JvTWFya2VyOigpPT5rKCkuQmcseXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckNoYXB0ZXJTZWVuOigpPT5rKCkuTGQ9PT0ic2VlbiJ9KSxrPSgpPT5pVChhKCksYigpLGMoKSksbD0oKT0+e3ZhciBtPWY/LigpO3JldHVybiBtIT09dm9pZCAwP18uSkUobSk6dm9pZCAwfTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpoLHN0eWxlOl8uSUUoe3dpZHRoOigpPT57dmFyIG09YSgpLG49YigpLHA9YygpLHI9Xy5CKG5bcF0sZVQpO249Xy5CKG5bcCsxXSxlVCk7cmV0dXJuYCR7KG4/aFQobiktaFQocik6bS52aWRlb0R1cmF0aW9uLWhUKHIpKS9tLnZpZGVvRHVyYXRpb24qMTAwfSVgfSwiYmFja2dyb3VuZC1jb2xvciI6KCk9PnthOnt2YXIgbT1rKCk7c3dpdGNoKG0uTGQpe2Nhc2UgInBlbmRpbmciOm09Cm0uQmc/IndoaXRlIjoicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSI7YnJlYWsgYTtjYXNlICJhY3RpdmUiOm09bS5CZz8id2hpdGUiOiJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpIjticmVhayBhO2RlZmF1bHQ6bT0iIn19cmV0dXJuYCR7bX1gfSwiYmFja2dyb3VuZC1zaXplIjooKT0+YCR7b1QoaygpKT9kKCk6IiJ9cHhgLCJiYWNrZ3JvdW5kLXBvc2l0aW9uLXgiOigpPT5gJHtvVChrKCkpP2UoKToiIn1weGAsYmFja2dyb3VuZDooKT0+aygpLkxkPT09InNlZW4iP2woKTp2b2lkIDB9KX0sXy5LKCJkaXYiLHtjbGFzczoieXRDaGFwdGVyZWRQcm9ncmVzc0JhckNoYXB0ZXJlZFBsYXllckJhckxvYWRlZCIsc3R5bGU6KCk9Pnt2YXIgbT1hKCksbj1iKCkscD1jKCk7aWYoaVQobSxuLHApLkxkPT09InNlZW4iKXZhciByPTA7ZWxzZSByPWhUKF8uQihuW3BdLGVUKSksbj1oVChfLkIobltwKzFdLGVUKSl8fG0udmlkZW9EdXJhdGlvbixtPW0udmlkZW9EdXJhdGlvbiptLlFtLHI9bjw9Cm0/MTpyPj1tPzA6KG0tcikvKG4tcik7cmV0dXJuYHdpZHRoOiAke3IqMTAwfSVgfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0Q2hhcHRlcmVkUHJvZ3Jlc3NCYXJDaGFwdGVyZWRQbGF5ZXJCYXJGaWxsIixzdHlsZTpfLklFKHt3aWR0aDooKT0+YCR7blQoYSgpLGIoKSxjKCkpKjEwMH0lYCwiYmFja2dyb3VuZC1zaXplIjooKT0+YCR7b1QoaygpLG5UKGEoKSxiKCksYygpKSk/ZCgpOiIifXB4YCwiYmFja2dyb3VuZC1wb3NpdGlvbi14IjooKT0+YCR7b1QoaygpLG5UKGEoKSxiKCksYygpKSk/ZSgpOiIifXB4YCxiYWNrZ3JvdW5kOmx9KX0pKX0sInFjIik7dmFyIHZWPV8uTCgoe0xiOmEsY29uZmlnOmJ9KT0+e3ZhciBjPSgpPT57dmFyIGQ9KGIoKS5TaT8uTXU/PzApKjEwMCxlPShiKCkuU2k/Lkx1Pz8wKSoxMDAsZj1lLWQ7cmV0dXJuIGY+MCYmZjwxMD8oZj0oMTAtZikvMixkLWY+PTAmJmUrZjwxMDA/W2QtZixlK2ZdOmQtZjwwP1swLDEwXTpbOTAsMTAwXSk6W2QsZV19O3JldHVybiBfLksoInl0LWZvY3VzZWQtY2hhcHRlci1wcm9ncmVzcy1iYXItbGluZSIse2NsYXNzOiJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lIix7eXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZVJvdW5kZWQ6KCk9PmIoKS5Yeix5dEZvY3VzZWRDaGFwdGVyUHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJMaW5lQm90dG9tSW5zZXQ6KCk9PmIoKS5wb3NpdGlvbj09PTJ9KX0sXy5LKCJkaXYiLAp7Y2xhc3M6Inl0Rm9jdXNlZENoYXB0ZXJQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckJhY2tncm91bmQiLHN0eWxlOigpPT5gd2lkdGg6ICR7YygpWzFdLWMoKVswXX0lOyBsZWZ0OiAke2MoKVswXX0lYH0sXy5LKCJkaXYiLHtjbGFzczoieXRGb2N1c2VkQ2hhcHRlclByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyUGxheWVkIixzdHlsZTooKT0+e3ZhciBkPWIoKS5TaT8uTXU/PzAsZT1iKCkuU2k/Lkx1Pz8wLGY9d1MoYSgpKTtyZXR1cm5gd2lkdGg6ICR7ZjxkPzA6Zj5lfHxlPT09ZD8xMDA6KGYtZCkvKGUtZCkqMTAwfSU7YH19KSkpKX0sInJjIik7dlYuaWRvbUNvbXBhdD0hMDt2YXIgQm1hPSgoYSxiPVpsYSk9Pnt2YXIgYyxkPVtdLGUsZj0hMTtyZXR1cm4gZnVuY3Rpb24oLi4uaCl7aWYoZiYmYz09PXRoaXMmJmIoaCxkKSlyZXR1cm4gZTtlPWEuYXBwbHkodGhpcyxoKTtmPSEwO2M9dGhpcztkPWg7cmV0dXJuIGV9fSkoYT0+e3ZhciB7bWluSGVpZ2h0RHA6Yj0wLG1heEhlaWdodERwOmM9NjAsaGVhdE1hcmtlcnM6ZH09YSxlPTFFMy9kLmxlbmd0aDthPVtdO2EucHVzaCh7eDowLHk6MTAwfSk7Zm9yKHZhciBmPTA7ZjxkLmxlbmd0aDtmKyspe3ZhciBoPShmKy41KSplLGs9MTAwLURRKChfLkIoZFtmXSxnbWEpPy5oZWF0TWFya2VySW50ZW5zaXR5U2NvcmVOb3JtYWxpemVkfHwwKSoxMDAsYi8zMjEqMTAwLGMvMzIxKjEwMCk7ZiE9PTB8fGEucHVzaCh7eDowLHk6a30pO2EucHVzaCh7eDpoLHk6a30pO2Y9PT1kLmxlbmd0aC0xJiZhLnB1c2goe3g6MUUzLHk6a30pfWEucHVzaCh7eDoxRTMseToxMDB9KTtlPSIiO2ZvcihmPTA7ZjxhLmxlbmd0aDtmKyspe2g9CmFbZl07aWYoZj09PTApaD1gTSAke2gueC50b0ZpeGVkKDEpfSwke2gueS50b0ZpeGVkKDEpfWA7ZWxzZXtrPUxSKGFbZi0xXSxhW2YtMl0saCk7bGV0IGw9TFIoaCxhW2YtMV0sYVtmKzFdLCEwKTtoPWAgJHtgQyAke2sueC50b0ZpeGVkKDEpfSwke2sueS50b0ZpeGVkKDEpfSAke2wueC50b0ZpeGVkKDEpfSwke2wueS50b0ZpeGVkKDEpfSAke2gueC50b0ZpeGVkKDEpfSwke2gueS50b0ZpeGVkKDEpfWB9YH1lKz1ofXJldHVybiBlfSk7dmFyIENtYT1fLkwoKHtMYjphLGNvbmZpZzpiLGhpZ2hDb250cmFzdDpjfSk9PntjPV8uUCgieXRIZWF0U2Vla2VySG9zdCIse3l0SGVhdFNlZWtlckhpZ2hDb250cmFzdDpjfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLWhlYXRzZWVrZXIiLHtjbGFzczpjLHN0eWxlOigpPT5gaGVpZ2h0OiAzMjBweDsgZGlzcGxheTogJHthKCkuaXNEcmFnZ2luZyYmRlMoYigpLlJhKT8uaGVhdE1hcmtlcnM/ImJsb2NrIjoibm9uZSJ9YH0sXy5LKF8uTyx7QTooKT0+RlMoYigpLlJhKSx0aGVuOmQ9Pl8uSyhfLk8se0E6KCk9PmQoKS5oZWF0TWFya2Vycyx0aGVuOigpPT5fLksoInN2ZyIse3dpZHRoOiIxMDAlIixoZWlnaHQ6IjMyMHB4Iix2aWV3Qm94OiIwIDAgMTAwMCAxMDAiLHByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUifSxfLksoInBhdGgiLHtkOigpPT5CbWEoZCgpKX0pKSxkZWJ1Z0luc3RhbmNlOiJHamkwU2UifSksZGVidWdJbnN0YW5jZToiaVZUWHdmIn0pKX0sInNjIik7dmFyIHdWPV8uTCgoe0xiOmEsY29uZmlnOmJ9KT0+e3ZhciBjPV8uUCgieXRQcm9ncmVzc0JhckxpbmVQcm9ncmVzc0JhckxpbmUiLHt5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZVJvdW5kZWQ6KCk9PmIoKS5Yeix5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTGluZUJvdHRvbUluc2V0OigpPT5iKCkucG9zaXRpb249PT0yfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLWxpbmUiLHtjbGFzczoieXRQcm9ncmVzc0JhckxpbmVIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpjfSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyQmFja2dyb3VuZCJ9KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFyTG9hZGVkIixzdHlsZTooKT0+YHdpZHRoOiAke2EoKS5RbSoxMDB9JWB9KSxfLksoImRpdiIse2NsYXNzOiJ5dFByb2dyZXNzQmFyTGluZVByb2dyZXNzQmFySG92ZXJlZCIsc3R5bGU6KCk9Pnt2YXIgZD0KYSgpO3JldHVybmB3aWR0aDogJHsoZC52aWRlb0R1cmF0aW9uP0RRKGQuZGovZC52aWRlb0R1cmF0aW9uLDAsMSk6MCkqMTAwfSVgfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJMaW5lUHJvZ3Jlc3NCYXJQbGF5ZWQiLHN0eWxlOl8uSUUoe3dpZHRoOigpPT5gJHt3UyhhKCkpKjEwMH0lYCxiYWNrZ3JvdW5kOigpPT5iKCkucHJvZ3Jlc3NDb2xvciE9PXZvaWQgMD9fLkpFKGIoKS5wcm9ncmVzc0NvbG9yKTp2b2lkIDB9KX0pKSl9LCJ0YyIpO3dWLmlkb21Db21wYXQ9ITA7dmFyIHhWPV8uTCgoe0xiOmEsaGY6YixCeDpjLFd3OmR9KT0+e3ZhciBlPV8uUCgieXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZERvdCIse3l0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWREb3RMYXJnZTooKT0+YSgpLmlzRHJhZ2dpbmcseXRQcm9ncmVzc0JhclBsYXloZWFkUHJvZ3Jlc3NCYXJQbGF5aGVhZERvdEhpZGU6KCk9PiFhKCkuaXNEcmFnZ2luZyYmZCgpfSk7cmV0dXJuIF8uSygieXQtcHJvZ3Jlc3MtYmFyLXBsYXloZWFkIix7Y2xhc3M6Inl0UHJvZ3Jlc3NCYXJQbGF5aGVhZEhvc3QiLHN0eWxlOl8uSUUoeyJtYXJnaW4tbGVmdCI6KCk9PmAke3hTKGEoKSkqMTAwfSVgLHRyYW5zZm9ybTooKT0+Yj8uKCk/LnBsYXloZWFkSW1hZ2U/YHRyYW5zbGF0ZVgoLSR7YygpP3hTKGEoKSkqMjA6MTB9cHgpYDpgdHJhbnNsYXRlWCgtJHtjKCk/eFMoYSgpKSoxMjo2fXB4KWB9KX0sXy5LKF8uTyx7QTooKT0+Yj8uKCk/LnBsYXloZWFkSW1hZ2UsCnRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b20iLHt5dFByb2dyZXNzQmFyUGxheWhlYWRQcm9ncmVzc0JhclBsYXloZWFkQ3VzdG9tTGFyZ2U6KCk9PmEoKS5pc0RyYWdnaW5nLHl0UHJvZ3Jlc3NCYXJQbGF5aGVhZFByb2dyZXNzQmFyUGxheWhlYWRDdXN0b21IaWRlOigpPT4hYSgpLmlzRHJhZ2dpbmcmJmQoKX0pLHN0eWxlOl8uSUUoeyJ0cmFuc2Zvcm0tb3JpZ2luIjooKT0+YCR7YygpP3hTKGEoKSkqMjA6MTB9cHggY2VudGVyYH0pfSxfLksoXy5qRix7ZGF0YTpmLGFsdDoiIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIixUYjohMX0pKSxXOigpPT5fLksoImRpdiIse2NsYXNzOmUsc3R5bGU6Xy5JRSh7InRyYW5zZm9ybS1vcmlnaW4iOigpPT5gJHtjKCk/eFMoYSgpKSoxMjo2fXB4IGNlbnRlcmB9KX0pfSkpfSwidWMiKTt4Vi5pZG9tQ29tcGF0PSEwO3ZhciBEbWE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCxlLGYpe3RoaXMuST1hO3RoaXMuQj1iO3RoaXMuSz1jO3RoaXMuVT1kO3RoaXMuWj1lO3RoaXMuTT1mO3RoaXMuc3RhcnRQb3NpdGlvbj1udWxsO3RoaXMuaj10aGlzLnY9dGhpcy5vPSExO3RoaXMuRD1uZXcgXy5XdCh0aGlzLlksMTAwLHRoaXMpfVkoYSxiLGMpe2lmKGI9Yi5IKXtpZihiLmdldFZpZGVvRGF0YSgpPy5pc0xpdmUpe2xldCBkPXRoaXMuZ2V0UHJvZ3Jlc3NTdGF0ZShiKTthKz1kPy5zZWVrYWJsZVN0YXJ0fHwwfWIuc2Vla1RvKGEsdm9pZCAwLHZvaWQgMCx2b2lkIDAsYyl9fWdldFByb2dyZXNzU3RhdGUoYSl7dmFyIGI9YT8uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKTtyZXR1cm4gYT8uZ2V0UHJvZ3Jlc3NTdGF0ZShiKX19O3ZhciBGbWE9Xy5MKCh7TGI6YSxjb25maWc6YixabTpjLFJhOmR9KT0+e3ZhciBlPURUKGEsKCk9PmIoKS5JYiksZj0oKT0+IWEoKS5RYyYmIWIoKS5JYixoPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkSG9zdCIsInl0UGxheWVyU3Rvcnlib2FyZEhvc3RCaWdib2FyZCIse3l0UGxheWVyU3Rvcnlib2FyZEhvc3RNd2ViU2hvcnRzOigpPT5iKCkuSWImJiEwfSk7cmV0dXJuIF8uSygieXQtcGxheWVyLXN0b3J5Ym9hcmQiLG51bGwsXy5LKF8uTyx7QTooKT0+YSgpLmlzRHJhZ2dpbmd8fGEoKS5RYyx0aGVuOigpPT5fLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6aCwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKHlWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KSksVzooKT0+Xy5LKEVtYSx7cHJvcHM6YSxmcmFtZTplLGNvbmZpZzpiLFptOmMsUmE6ZH0pfSl9KX0pKX0sInZjIiksR21hPV8uTCgoe0xiOmEsSWI6Yn0pPT4Ke3ZhciBjPURUKGEsYik7cmV0dXJuIF8uSygieXQtcGxheWVyLWJpZy1zdG9yeWJvYXJkIix7Y2xhc3M6Inl0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkV3JhcHBlciJ9LF8uSyhfLk8se0E6KCk9PmEoKS5pc0RyYWdnaW5nfHxhKCkuUWMsdGhlbjooKT0+Xy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSyh6Vix7ZnJhbWU6Yyxwcm9wczphLGVlOiEwfSl9KX0pKX0sIndjIiksRW1hPV8uTCgoe3Byb3BzOmEsZnJhbWU6Yixjb25maWc6YyxabTpkLFJhOmV9KT0+e3ZhciBmPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkSG9zdCIse3l0UGxheWVyU3Rvcnlib2FyZEhvc3RNd2ViU2hvcnRzOigpPT5jKCkuSWImJiEwLHl0UGxheWVyU3Rvcnlib2FyZEhvc3RJbmxpbmVQbGF5ZXI6KCk9PmMoKS54cSx5dFBsYXllclN0b3J5Ym9hcmRIb3N0RmFkZUluOigpPT5jKCkudXNlRmFkZUluQW5pbWF0aW9ufSksaD0oKT0+e2lmKCFfLngoImVuYWJsZV93ZWJfd2F0Y2hfbmV4dF9pbXBfY2xpZW50Iil8fCFjKCkueHEpcmV0dXJuIDE7CnZhciBrPWEoKS5IPy5nZXRTaXplKCk/LmhlaWdodD8/MDtyZXR1cm4gaz4wJiZrPDE2MD9rLzE2MDoxfTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpmLCJhcmlhLWhpZGRlbiI6InRydWUiLHN0eWxlOl8uSUUoKCk9Pnt2YXIgaz1hKCksbD15VChiKCkpKmgoKSxtPWQoKTtrPUFUKGspL2sudmlkZW9EdXJhdGlvbjt2YXIgbj1tKmsscD1sLzIrNjtsPW0tKGwvMis2KTtyZXR1cm57bGVmdDpgJHtuPD1wP3AvbSoxMDA6bj49bD9sL20qMTAwOmsqMTAwfSVgLCItLXN0b3J5Ym9hcmQtc2NhbGUiOmAke2goKX1gfX0pfSxfLksoXy5PLHtBOigpPT57dmFyIGs9YSgpO3JldHVybiEoYygpLkliJiZrLnZpZGVvRHVyYXRpb248MTUpfSx0aGVuOigpPT5fLksoelYse2ZyYW1lOmIscHJvcHM6YSxlZTohMSx6QTpofSl9KSxfLksoeVYse3Byb3BzOmEsY29uZmlnOmMsZWU6ITEsUmE6ZX0pKX0sInhjIikselY9Xy5MKCh7ZnJhbWU6YSxwcm9wczpiLGVlOmMsekE6ZH0pPT57dmFyIGU9KCk9PmIoKS5IPy5nZXRWaWRlb0NvbnRlbnRSZWN0KCk/Pwp7d2lkdGg6MCxoZWlnaHQ6MH0sZj1fLlAoe3l0UGxheWVyU3Rvcnlib2FyZEJpZ2JvYXJkSW1hZ2VXcmFwcGVyOmMseXRQbGF5ZXJTdG9yeWJvYXJkU3Rvcnlib2FyZEltYWdlV3JhcHBlcjooKT0+IWMoKX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmYsc3R5bGU6Xy5JRSgoKT0+KHt3aWR0aDpgJHtjKCk/ZSgpLndpZHRoOnlUKGEoKSkqKGQ/LigpPz8xKX1weGAsaGVpZ2h0OmAke2MoKT9lKCkuaGVpZ2h0OnpUKGEoKSkqKGQ/LigpPz8xKX1weGB9KSl9LF8uSyhIbWEse2ZyYW1lOmEsUEE6KCk9PnlUKGEoKSksTkE6KCk9PnpUKGEoKSksT0E6KCk9Pnt2YXIgaD15VChhKCkpO3JldHVybiBoPjA/KGMoKT9lKCkud2lkdGg6eVQoYSgpKSooZD8uKCk/PzEpKS9oOjF9fSkpfSwieWMiKSxIbWE9Xy5MKCh7ZnJhbWU6YSxQQTpiLE5BOmMsT0E6ZH0pPT5fLksoImltZyIse3NyYzooKT0+YSgpPy51cmw/PyIiLGNsYXNzOiJ5dFBsYXllclN0b3J5Ym9hcmRTdG9yeWJvYXJkSW1hZ2UiLGFsdDoicHJldmlldy1pbWFnZSIsCnN0eWxlOl8uSUUoKCk9Pnt2YXIgZT1hKCk/P3tyb3c6MCxjb2x1bW46MCx3aWR0aDowLGhlaWdodDowfSxmPWIoKSxoPWMoKSxrPWQoKSx7bGVmdDpsLHRvcDptfT17bGVmdDotZS5jb2x1bW4qZiprLHRvcDotZS5yb3cqaCprfTtyZXR1cm57bGVmdDpgJHtsfXB4YCx0b3A6YCR7bX1weGAsd2lkdGg6YCR7ZS53aWR0aCprfXB4YCxoZWlnaHQ6YCR7ZS5oZWlnaHQqa31weGB9fSl9KSwiemMiKSx5Vj1fLkwoKHtwcm9wczphLGNvbmZpZzpiLGVlOmMsUmE6ZH0pPT57dmFyIGU9Xy5QKCJ5dFBsYXllclN0b3J5Ym9hcmRNZXRhZGF0YSIse3l0UGxheWVyU3Rvcnlib2FyZE1ldGFkYXRhQmlnYm9hcmQ6Y30pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmV9LF8uSyhfLk8se0E6Yyx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhBVix7cHJvcHM6YSxjb25maWc6Yn0pLF8uSyhfLk8se0E6KCk9PnthOnt2YXIgZj1hKCk7dmFyIGg9YigpLGs9ZCgpO2lmKGg/LlJnJiZfLkIoaD8uUmcsZVQpPy50aXRsZSlmPQohMDtlbHNle2ZvcihsZXQgbCBvZiBGUyhrKT8uaGVhdE1hcmtlcnNEZWNvcmF0aW9ucz8/W10pe2Y9KGg9Xy5CKGwscVYpKSYmQlQoZixoKTticmVhayBhfWY9ITF9fXJldHVybiBmfSx0aGVuOigpPT5fLksoQlYse3Byb3BzOmEsY29uZmlnOmIsZWU6ITAsUmE6ZH0pfSkpLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKEJWLHtwcm9wczphLGNvbmZpZzpiLGVlOiEwLFJhOmR9KSxfLksoQVYse3Byb3BzOmEsY29uZmlnOmJ9KSl9KSl9LCJBYyIpLEFWPV8uTCgoe3Byb3BzOmEsY29uZmlnOmJ9KT0+e3ZhciBjPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wIix7eXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wU2hvcnRzOigpPT5iKCkuSWIseXRQbGF5ZXJTdG9yeWJvYXJkVGltZXN0YW1wSXNIb3ZlcmluZzooKT0+YSgpLlFjfHxiKCkuSWImJiExfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Y30sXy5LKF8uSUIsbnVsbCwoKT0+Q1QoQVQoYSgpKSkpKX0sIkJjIiksQlY9Xy5MKCh7cHJvcHM6YSwKY29uZmlnOmIsZWU6YyxSYTpkfSk9PntjPV8uUCgieXRQbGF5ZXJTdG9yeWJvYXJkVGl0bGUiLHt5dFBsYXllclN0b3J5Ym9hcmRUaXRsZUJpZ2JvYXJkOmN9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczpjfSxfLksoXy5PLHtBOigpPT4hYigpLkliLHRoZW46KCk9Pl8uSyhJbWEse3Byb3BzOmEsUmc6KCk9PmIoKS5SZyxSYTpkfSl9KSl9LCJDYyIpLEltYT1fLkwoKHtwcm9wczphLFJnOmIsUmE6Y30pPT5fLksoXy5JQixudWxsLF8uSyhfLmdHLHtwYTooKT0+e3ZhciBkPWMoKTtyZXR1cm4gRlMoZCk/LmhlYXRNYXJrZXJzRGVjb3JhdGlvbnM/P1tdfSx0YjoiSU5ERVgifSxkPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6KCk9Pl8uQihkKCkscVYpJiZCVChhKCksXy5CKGQoKSxxVikpLHRoZW46KCk9Pl8uSyhKbWEse2NCOigpPT5fLkIoZCgpLHFWKX0pfSkpKSxfLksoXy5PLHtBOigpPT5iKCkmJl8uQihiKCksZVQpPy50aXRsZSx0aGVuOmQ9Pl8uSyhfLlYse3RleHQ6ZCxyZzohMH0pfSkpLAoiRGMiKSxKbWE9Xy5MKCh7Y0I6YX0pPT5fLksoXy5JQixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGxheWVyU3Rvcnlib2FyZFRpbWVkTWFya2VySWNvbldyYXBwZXIifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmljb24sY2xhc3NOYW1lOiJ5dFBsYXllclN0b3J5Ym9hcmRUaW1lZE1hcmtlckljb24ifSkpLF8uSyhfLlYse3RleHQ6KCk9PmEoKS5sYWJlbCxyZzohMH0pKSwiRWMiKTt2YXIgQ1Y9Xy5MKCh7TGI6YSxoZjpiLGNvbmZpZzpjfSk9Pnt2YXIgZD1fLnVFKCJ5dC1wcm9ncmVzcy1iYXIiKSxlPV8udUUoImRpdiIpLGY9Xy51RSgiZGl2IiksW2gsa109Xy5KKHt3aWR0aDowLGxlZnQ6MH0sdm9pZCAwLCJkMWJzYmYiKSxsPSgpPT57Zi52YWx1ZSYmayhmLnZhbHVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKX0sbT0oKT0+e2goKS53aWR0aDw9MCYmbCgpO3JldHVybiBoKCl9O18uRFAoInJlc2l6ZSIsbCk7dmFyIG49bmV3IERtYShtLCgpPT57fSwoKT0+MCwoKT0+e30sKCk9Pnt9LCgpPT57fSkscD0oKT0+YSgpLFtyLHRdPV8uSighMSx2b2lkIDAsImNWc1RLIik7Xy5EUCgibW91c2Vtb3ZlIixZa2EobixwLGMpKTtfLkRQKCJtb3VzZXVwIix4VChuLHAsYykpO3ZhciB2O18uVUooKCk9PntHa2EoZS52YWx1ZSk7dCghMSk7bCgpO3hUKG4scCxjKSgpO2MoKS5paiYmKHY9bmV3IFJlc2l6ZU9ic2VydmVyKGwpLHYub2JzZXJ2ZShmLnZhbHVlKSk7Xy5ZdSgoKT0+Cnt2Py5kaXNjb25uZWN0KCl9KX0pO3ZhciB6PV8uUCgieXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3QiLCgpPT5jKCkuY2xhc3NOYW1lLHt5dFBsYXllclByb2dyZXNzQmFySG9zdFJlYWRPbmx5OigpPT5jKCkuZGlzYWJsZVNjcnViYmluZyx5dFBsYXllclByb2dyZXNzQmFySG9zdEhpZGRlbjooKT0+YygpLmtKJiYhcigpLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0TG93ZXJQbGF5ZXI6KCk9PmMoKS5wb3NpdGlvbj09PTAseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RCb3R0b21FZGdlOigpPT5jKCkucG9zaXRpb249PT0xLHl0UGxheWVyUHJvZ3Jlc3NCYXJIb3N0Qm90dG9tSW5zZXQ6KCk9PmMoKS5wb3NpdGlvbj09PTIseXRQbGF5ZXJQcm9ncmVzc0Jhckhvc3RDdXN0b206KCk9PmMoKS5wb3NpdGlvbj09PTN9KSxFPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckJhY2tncm91bmQiLHt5dFBsYXllclByb2dyZXNzQmFyQmFja2dyb3VuZEhpZGU6KCk9PmMoKS5wb3NpdGlvbj09PTImJiFyKCkmJgohYSgpLmlzRHJhZ2dpbmd9KSxBPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhckRyYWdDb250YWluZXIiLHt5dFBsYXllclByb2dyZXNzQmFyRHJhZ0NvbnRhaW5lckJvdHRvbUVkZ2U6KCk9PmMoKS5wb3NpdGlvbj09PTF9KSxGPV8uUCgieXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFyIix7eXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXQ6KCk9PmMoKS5wb3NpdGlvbj09PTIseXRQbGF5ZXJQcm9ncmVzc0JhclByb2dyZXNzQmFySW5zZXRNaW5pbWl6ZWQ6KCk9PmMoKS5wb3NpdGlvbj09PTImJiFyKCkmJiFhKCkuaXNEcmFnZ2luZ30pLEM9KCk9Pk1hdGguZmxvb3Iod1MoYSgpKSoxMDApO3JldHVybiBfLksoInl0LXByb2dyZXNzLWJhciIse2VsOmQsY2xhc3M6en0sXy5LKF8uTyx7QTooKT0+YygpLnBvc2l0aW9uPT09Mix0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOkV9KX0pLF8uSygiZGl2Iix7ZWw6ZSwib246Y2xpY2siOmZ1bmN0aW9uKEcpeyhjKCkuREl8fHR5cGVvZiBQb2ludGVyRXZlbnQhPT0KInVuZGVmaW5lZCImJkcgaW5zdGFuY2VvZiBQb2ludGVyRXZlbnQmJkcucG9pbnRlclR5cGU9PT0ibW91c2UiKSYmT2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246dG91Y2hzdGFydCI6ZnVuY3Rpb24oRyl7UGthKG4scCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNobW92ZSI6ZnVuY3Rpb24oRyl7UmthKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VlbnRlciI6ZnVuY3Rpb24oKXt0KCEwKTtjKCkucG9zaXRpb249PT0yP3NldFRpbWVvdXQoKCk9PntsKCl9LDEwMCk6bCgpfSwib246bW91c2Vkb3duIjpmdW5jdGlvbihHKXtRa2EobixwKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2VsZWF2ZSI6ZnVuY3Rpb24oKXt0KCExKTtUa2EocCkoKX0sIm9uOm1vdXNlbW92ZSI6ZnVuY3Rpb24oRyl7U2thKG4scCxjKShHKTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246bW91c2V1cCI6ZnVuY3Rpb24oRyl7VmthKG4sCnAsYykoRyk7cigpJiZhKCkuUyh7UWM6ITB9KTtHLnN0b3BQcm9wYWdhdGlvbigpfSwib246dG91Y2hlbmQiOmZ1bmN0aW9uKEcpe1VrYShuLHAsYykoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoY2FuY2VsIjpmdW5jdGlvbihHKXtXa2EobixwLGMpKEcpO0cuc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjprZXlkb3duIjpmdW5jdGlvbihHKXtYa2EocCkoRyk7Ry5zdG9wUHJvcGFnYXRpb24oKX0sY2xhc3M6QSxyb2xlOiJzbGlkZXIiLCJhcmlhLXZhbHVlbm93IjpDLCJhcmlhLXZhbHVldGV4dCI6KCk9PmAke0MoKX0lYCwiYXJpYS12YWx1ZW1pbiI6KCk9PjAsImFyaWEtdmFsdWVtYXgiOigpPT4xMDAsZHJhZ2dhYmxlOiJmYWxzZSIsdGFiaW5kZXg6MCwiYXJpYS1sYWJlbCI6Xy5hQSgiU0VFS19TTElERVIiKX0sXy5LKCJkaXYiLHtlbDpmLGNsYXNzOkZ9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dFBsYXllclByb2dyZXNzQmFySGVhdHNlZWtlckNvbnRhaW5lciIse3l0UGxheWVyUHJvZ3Jlc3NCYXJIZWF0c2Vla2VyQ29udGFpbmVySW5zZXQ6KCk9PgpjKCkucG9zaXRpb249PT0yfSl9LF8uSyhDbWEse0xiOmEsY29uZmlnOmMsaGlnaENvbnRyYXN0OigpPT4hIWMoKS5paiYmYygpLnBvc2l0aW9uIT09Mn0pKSxfLksoXy5PLHtBOigpPT5jKCkuUmEmJnprYShjKCkuUmEpLHRoZW46KCk9Pl8uSyhBbWEse0p6OmEsbXVsdGlNYXJrZXJzUGxheWVyQmFyUmVuZGVyZXI6KCk9PmMoKS5SYSxwcm9ncmVzc0JhcldpZHRoOigpPT5oKCkud2lkdGgscHJvZ3Jlc3NDb2xvcjooKT0+YygpLnByb2dyZXNzQ29sb3J9KSxXOigpPT5fLksoXy5PLHtBOigpPT5jKCkuU2ksdGhlbjooKT0+Xy5LKHZWLHtMYjphLGNvbmZpZzpjfSksVzooKT0+Xy5LKHdWLHtMYjphLGNvbmZpZzpjfSl9KX0pLF8uSyh4Vix7TGI6YSxoZjooKT0+Xy54KCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIik/YygpLmhmOmI/LigpLEJ4OigpPT5jKCkucG9zaXRpb24hPT0yLFd3OigpPT5jKCkueHI9PT0xJiYhcigpfHxjKCkueHI9PT0yfSkpKSxfLksoRm1hLHtMYjphLGNvbmZpZzooKT0+Cih7Umc6bFQoYSgpLGMoKS5SYSksZEo6KCk9Pm0oKS53aWR0aCxJYjohIWMoKS5JYix4cTohIWMoKS5paix1c2VGYWRlSW5BbmltYXRpb246ISFjKCkuaWp9KSxabTooKT0+aCgpLndpZHRoLFJhOigpPT5jKCkuUmF9KSl9LCJGYyIpO0NWLmlkb21Db21wYXQ9ITA7dmFyIERWPV8uTChhPT57dmFyIGI9KCk9Pnt2YXIgZD1hLnBsYXllck92ZXJsYXlSZW5kZXJlcj8uKCk7aWYoZClyZXR1cm4gelMoZCl9LGM9KCk9Pnt2YXIgZD1iKCk7aWYoZCl7dmFyIGU9YS5KbygpLmF1dG9uYXZFbmFibGVkO3JldHVybiBfLmFOKGU/Xy5CKGQuZW5hYmxlZEVkdUNvbW1hbmQsV1UpPy50ZXh0Ol8uQihkLmRpc2FibGVkRWR1Q29tbWFuZCxXVSk/LnRleHQpfX07cmV0dXJuIF8uSyhfLk8se0E6KCk9PmEuSm8oKS5ZaCYmISFiKCksdGhlbjooKT0+Xy5LKCJhdXRvbmF2LXRvb2x0aXAiLHtjbGFzczoieXR3QXV0b25hdlRvb2x0aXBIb3N0Iixyb2xlOiJhbGVydCJ9LF8uSygic3BhbiIseyJhcmlhLWxhYmVsIjpjLHJvbGU6InRleHQifSxjKSl9KX0sIkdjIik7RFYuaWRvbUNvbXBhdD0hMDt2YXIgRVY9Xy5MKGE9Pnt2YXIgYj1fLnZFKCJzcGVlZG1hc3Rlci10b29sdGlwIiksYz1fLk4oKCk9PmEuRygpLnNiLHZvaWQgMCwiRXNUUmxjIik7Xy5uRSgoKT0+e2lmKGMoKSYmYi52YWx1ZSl7bGV0IGQ9bnVsbDtTUygxNzMwNDAsYi52YWx1ZSxkLGU9PntkPWV9KX19LCJBdnBHSWYiKTtyZXR1cm4gXy5LKF8uTyx7QTpjLHRoZW46KCk9Pl8uSygic3BlZWRtYXN0ZXItdG9vbHRpcCIse2VsOmIsY2xhc3M6Inl0d1NwZWVkbWFzdGVyVG9vbHRpcEhvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dHdTcGVlZG1hc3RlclRvb2x0aXBMYWJlbCJ9LF8uJE4uR3QpLF8uSyhfLk1ELHtpY29uOiJGQVNUX0ZPUldBUkQiLGFjdGl2ZTohMCxjbGFzc05hbWU6Inl0d1NwZWVkbWFzdGVyVG9vbHRpcEljb24ifSkpfSl9LCJJYyIpO0VWLmlkb21Db21wYXQ9ITA7dmFyIEZWPV8uTChhPT5fLksoInBsYXllci11c2VyLWVkdS10b29sdGlwIix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwSG9zdCJ9LF8uSyhEVix7Sm86YS5HLHBsYXllck92ZXJsYXlSZW5kZXJlcjphLnBsYXllck92ZXJsYXlSZW5kZXJlcn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcENvbnRhaW5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllclVzZXJFZHVUb29sdGlwVG9vbHRpcFdyYXBwZXIifSxfLksoRVYse0c6YS5HfSkpKSksIkpjIik7RlYuaWRvbUNvbXBhdD0hMDt2YXIgWmthPVswLDEsMjAsMjFdO3ZhciBhbGE9WzAsMSwyMCwyMV0sR1Q9dm9pZCAwO3ZhciBLbWE9Xy5MKCh7dWQ6YSxFcjpifSk9PntmdW5jdGlvbiBjKHApe3AudG91Y2hlcz8uWzBdJiYocD1wLnRvdWNoZXNbMF0sayh7eDpwLnBhZ2VYLHk6cC5wYWdlWX0pKX1mdW5jdGlvbiBkKHApe3ZhciByPWgoKTtpZighcnx8IXAudG91Y2hlcz8uWzBdKXJldHVybiBudWxsO3A9cC50b3VjaGVzWzBdO3JldHVybntsazpwLnBhZ2VYLXIueCxPZDpwLnBhZ2VZLXIueX19dmFyIFtlLGZdPV8uSihudWxsLHZvaWQgMCwiQWgzMGciKSxoPWUsaz1mLFtsLG1dPV8uSih2b2lkIDAsdm9pZCAwLCJRbzc2aGQiKTtfLll1KCgpPT57RlQoYSgpKTttKEVUKGwoKSkpfSk7dmFyIG49e0diOigpPT5fLksoImRpdiIsbnVsbCxfLksoXy5XLHtkYXRhOigpPT5iPy4oKT8ubWVudVJlbmRlcmVyPy5pdGVtc3x8W119LHtsaXN0SXRlbVZpZXdNb2RlbDooe2RhdGE6cH0pPT5fLksoXy5wTCx7ZGF0YTpwLElhOiEwfSksc3dpdGNoTGlzdEl0ZW1WaWV3TW9kZWw6Xy5mSn0pKSxIYTohMH07cmV0dXJuIF8uSygieXRtLXNob3J0cy1nZXN0dXJlLW92ZXJsYXktY29udHJvbHMiLAp7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNHZXN0dXJlT3ZlcmxheSJ9LF8uSyhGVix7RzphfSksXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc0dlc3R1cmVDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOiJ5dG1TaG9ydHNHZXN0dXJlT3ZlcmxheUNvbnRyb2xzU3BlZWRtYXN0ZXJHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO0hUKGEoKSxwLnRvdWNoZXMubGVuZ3RoKX0sIm9uOnRvdWNobW92ZSI6cD0+e3ZhciByPWQocCk7ciYmSVQocCxyLGEoKSl9LCJvbjp0b3VjaGVuZCI6KCk9PntGVChhKCkpO2sobnVsbCl9LCJvbjp0b3VjaGNhbmNlbCI6KCk9PntGVChhKCkpO2sobnVsbCl9fSksXy5LKCJkaXYiLHtjbGFzczoieXRtU2hvcnRzR2VzdHVyZU92ZXJsYXlDb250cm9sc01lbnVHZXN0dXJlQXJlYSIsIm9uOnRvdWNoc3RhcnQiOnA9PntjKHApO20oJGthKGEoKSxwLnRvdWNoZXMubGVuZ3RoLAooKT0+e18ueU4obil9LGwoKSkpfSwib246dG91Y2htb3ZlIjpwPT57dmFyIHI9ZChwKTtpZihyKXtwPWwoKTt2YXIgdD1yLmxrO3I9ci5PZDtwPU1hdGguc3FydCh0KnQrcipyKT5fLnNqKCJzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHAiLDEwKT9FVChwKTpwO20ocCl9fSwib246dG91Y2hlbmQiOigpPT57bShFVChsKCkpKTtrKG51bGwpfSwib246dG91Y2hjYW5jZWwiOigpPT57bShFVChsKCkpKTtrKG51bGwpfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVNob3J0c0dlc3R1cmVPdmVybGF5Q29udHJvbHNTcGVlZG1hc3Rlckdlc3R1cmVBcmVhIiwib246dG91Y2hzdGFydCI6cD0+e2MocCk7SFQoYSgpLHAudG91Y2hlcy5sZW5ndGgpfSwib246dG91Y2htb3ZlIjpwPT57dmFyIHI9ZChwKTtyJiZJVChwLHIsYSgpKX0sIm9uOnRvdWNoZW5kIjooKT0+e0ZUKGEoKSk7ayhudWxsKX0sIm9uOnRvdWNoY2FuY2VsIjooKT0+e0ZUKGEoKSk7ayhudWxsKX19KSkpfSwiS2MiKTt2YXIgR1Y9Xy5MKGE9Pnt2YXIgYj1fLnVFKCJkaXYiKSxjPV8uTigoKT0+YS50aHVtYm5haWxEZXRhaWxzPy4oKSx2b2lkIDAsIkU4OFVHZCIpLGQ9Xy5OKCgpPT5hLkcoKS5iYSx2b2lkIDAsIlh0R0FtZSIpO18ubkUoKCk9PntjbGEoYi52YWx1ZSxjKCksZCgpKX0sInlBa2lpYyIpO3JldHVybiBfLksoInZpZGVvLWNvdmVyIix7Y2xhc3M6Xy5QKCJ5dG1WaWRlb0NvdmVySG9zdCIse2VuZGVkOigpPT51UyhhLkcoKSksaGlkZGVuOigpPT57dmFyIGU9YS5HKCk7cmV0dXJuISgkUyhlKXx8dVMoZSkpfX0pfSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0NvdmVyVGh1bWJuYWlsIixlbDpifSkpfSwiTWMiKTtHVi5pZG9tQ29tcGF0PSEwO25ldyBfLld0KGVsYSwyMDApO3ZhciBTVD0wO3ZhciBVVD1KUigpLFZUPSExO25ldyBfLkN0KCJwbGF5ZXJTZXR0aW5nc01lbnUiLCJOeGQzdWYiKTt2YXIgTG1hPV8uTCgoe2dmOmEsRXg6YixyZWVsUGxheWVyU2NydWJiZXJSZW5kZXJlcjpjfSk9Pnt2YXIgZD1fLlAoInl0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdCIse3l0TXdlYlNob3J0c1BsYXllckNvbnRyb2xzSG9zdElzU2NydWJiYWJsZU1vZGU6KCk9PlhUKGEoKSxiKCkpfSx7eXRNd2ViU2hvcnRzUGxheWVyQ29udHJvbHNIb3N0SGlkZVByb2dyZXNzQmFyOigpPT5XVChhKCksYigpKSYmYSgpLnZpZGVvRHVyYXRpb248PTMwfSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6ZH0sXy5LKENWLHtMYjphLGNvbmZpZzooKT0+e3ZhciBlPXtJYjohMCxwb3NpdGlvbjozLGRpc2FibGVTY3J1YmJpbmc6IVhUKGEoKSxiKCkpLEluOiExLHhyOlhUKGEoKSxiKCkpPzA6MSxvblRvdWNoTW92ZTooKT0+e2EoKS5nZXx8KGEoKS5TKHtnZTohMH0pLHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlLXNob3J0cy1vdmVybGF5LXZpc2liaWxpdHkiLHtidWJibGVzOiEwLApkZXRhaWw6e2dlOiEwfX0pKSl9LG9uVG91Y2hFbmQ6aD0+e1VTKGgpO2EoKS5TKHtnZTohMX0pO3dpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRlLXNob3J0cy1vdmVybGF5LXZpc2liaWxpdHkiLHtidWJibGVzOiEwLGRldGFpbDp7Z2U6ITF9fSkpfX0sZj1jPy4oKTtyZXR1cm4gZj8ucGxheWhlYWRJbWFnZT97Li4uZSxoZjp7cGxheWhlYWRJbWFnZTpmLnBsYXloZWFkSW1hZ2V9fTplfX0pKX0sIlFjIiksTW1hPV8uTCgoe0g6YSxjb250ZXh0OmIscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6YyxFcjpkfSk9Pnt2YXIgW2UsZl09Xy5KKCExLHZvaWQgMCwiUWNaU2dkIiksW2gsa109Xy5KKCExLHZvaWQgMCwiY250enJmIiksW2wsbV09Xy5KKCExLHZvaWQgMCwiU1RJYWViIiksW24scF09Xy5KKCExLHZvaWQgMCwiQ3dYZmJjIiksW3IsdF09Xy5KKDAsdm9pZCAwLCJzNUtMTWIiKSxbdix6XT1fLkooMCx2b2lkIDAsImdqbHFOYyIpLFtFLEFdPV8uSigwLAp2b2lkIDAsIkdVY2laZSIpLFtGLENdPV8uSigiIix2b2lkIDAsInhHSWU4IiksW0csRF09Xy5KKCExLHZvaWQgMCwiRnA1RDRiIiksSD1fLk4oKCk9Pnt2YXIgcGE9e2VhOmUoKSxnZTpoKCkseWI6bCgpLGlzRHJhZ2dpbmc6bigpLHZpZGVvRHVyYXRpb246digpLHZhOkUoKSx2aWRlb0lkOkYoKSxDYTpyKCksc2I6RygpfTtyZXR1cm57Li4uZFQoKSwuLi5wYSwuLi4oYj8uKCk/P3t9KSxTOm9hPT57b2EuZWEhPT12b2lkIDAmJmYob2EuZWEpO29hLmdlIT09dm9pZCAwJiZrKG9hLmdlKTtvYS55YiE9PXZvaWQgMCYmbShvYS55Yik7b2EuaXNEcmFnZ2luZyE9PXZvaWQgMCYmcChvYS5pc0RyYWdnaW5nKTtvYS5DYSE9PXZvaWQgMCYmdChvYS5DYSk7b2EudmlkZW9EdXJhdGlvbiE9PXZvaWQgMCYmeihvYS52aWRlb0R1cmF0aW9uKTtvYS52YSE9PXZvaWQgMCYmQShvYS52YSk7b2EudmlkZW9JZCE9PXZvaWQgMCYmQyhvYS52aWRlb0lkKTtvYS5zYiE9PXZvaWQgMCYmRChvYS5zYil9LHRhOntpc0Z1bGxzY3JlZW46Xy5yUCwKdG9nZ2xlRnVsbHNjcmVlbjp1amEsZXhpdEZ1bGxzY3JlZW46JFEsZGU6ZmxhLFJqOmhsYSxVbDppbGF9LEg6YSgpfX0sdm9pZCAwLCJVeWNNU2IiKSxSPU1rYShIKSxNPUxrYShIKSxTPUtrYShIKSxZPSgpPT57fTtfLm9GKCgpPT57dmFyIHBhPWEoKTtwYSYmKHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9Qcm9ncmVzcyIsUikscGEuYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLE0pLHBhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLFMpKX0pO18uWXUoKCk9Pnt2YXIgcGE9YSgpO3BhJiZwYT8uaXNSZWFkeT8uKCkmJihwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvUHJvZ3Jlc3MiLFIpLHBhLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIixNKSxwYS5yZW1vdmVFdmVudExpc3RlbmVyKCJvblN0YXRlQ2hhbmdlIixTKSl9KTtyZXR1cm4gXy5LKCJ5dC1td2ViLXNob3J0cy1wbGF5ZXItY29udHJvbHMiLHtjbGFzczpfLlAoe1Byb2dyZXNzQmFyU2hvd2luZzooKT0+ClhUKEgoKSwhMCl9KX0sXy5LKF8uTyx7QTooKT0+SCgpLmJhPy5aaCx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzpILHRodW1ibmFpbERldGFpbHM6WX0pLF8uSyh1Vix7RzpILEg6YX0pKX0pLF8uSyhfLk8se0E6KCk9Pnt2YXIgcGE9SCgpO3JldHVybiBYVChwYSwhMCl8fFdUKHBhLCEwKX0sdGhlbjooKT0+Xy5LKExtYSx7Z2Y6SCxFeDooKT0+ITAscmVlbFBsYXllclNjcnViYmVyUmVuZGVyZXI6Y30pfSksXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX3Nob3J0c19lbmFibGVfbG9uZ19wcmVzc19zcGVlZHVwIiksdGhlbjooKT0+Xy5LKF8uQ1Ase3Jvb3Q6IiNnZXN0dXJlLWxheWVyIn0sKCk9Pl8uSyhLbWEse3VkOkgsRXI6ZH0pKX0pKX0sIlNjIik7dmFyIEhWPV8uTChhPT57ZnVuY3Rpb24gYihVKXtVIT09MHx8cigpP1U+NTAmJihyKCl8fCFFKCkpPyh0KCExKSxBKCEwKSk6VTw9NTAmJihyKCl8fEUoKSkmJih0KCExKSxBKCExKSk6dCghMCl9YXN5bmMgZnVuY3Rpb24gYyhVLGhhKXsoVT1lKCk/P2F3YWl0IF8uTEgoKSkmJihoYT9VLnVuTXV0ZSghMCk6VS5tdXRlKCEwKSl9YXN5bmMgZnVuY3Rpb24gZChVKXt2YXIgaGE9ZSgpPz9hd2FpdCBfLkxIKCksbWE9NTA7aGEmJihtYT1oYS5nZXRWb2x1bWUoKSxoYS5pc011dGVkKCk/WlQoVSwwKTpaVChVLG1hKSk7RyhtYSl9dmFyIGU9a2xhKGEuSCksZj1fLnVFKCJ2b2x1bWUtY29udHJvbHMiKSxoPV8udUUoImJ1dHRvbiIpLGs9Xy52RSgiaW5wdXQiKSxbbCxtXT1fLkooITEsdm9pZCAwLCJzTWNMbGIiKSxbbixwXT1fLkooITEsdm9pZCAwLCJnb05wdiIpLHI9bix0PXAsW3Ysel09Xy5KKCEwLHZvaWQgMCwia0FUOTUiKSxFPXYsQT16LFtGLENdPV8uSig1MCx2b2lkIDAsInE1cUQyYyIpLApHPUMsRD1fLk4oKCk9Pnt2YXIgVT1yKCk7cmV0dXJuIF8ueCgid2ViX3Nob3J0c19rZXlib2FyZF9lbmFibGVfbXV0ZV9zaG9ydGN1dCIpP1U/Xy5hQSgiUExBWUVSX0xBQkVMX1VOTVVURSIsdm9pZCAwLCJVbm11dGUgKG0pIik6Xy5hQSgiUExBWUVSX0xBQkVMX01VVEUiLHZvaWQgMCwiTXV0ZSAobSkiKTpVP18uYUEoIlVOTVVURV9WT0xVTUUiLHZvaWQgMCwiVW5tdXRlIik6Xy5hQSgiTVVURV9WT0xVTUUiLHZvaWQgMCwiTXV0ZSIpfSx2b2lkIDAsImxSMXNHYyIpLEg9Xy5OKCgpPT57dmFyIFU9cigpLGhhPUUoKTtyZXR1cm57c291cmNlczpbe2NsaWVudFJlc291cmNlOntpbWFnZU5hbWU6VT8iVk9MVU1FX09GRl9GSUxMRUQiOmhhPyJWT0xVTUVfVVBfRklMTEVEIjoiVk9MVU1FX0RPV05fRklMTEVEIn19XX19LHZvaWQgMCwiU0lxa2VjIiksUj1fLk4oKCk9Pnt2YXIgVT1GKCk7cmV0dXJuIHIoKT9gJHtVfSUgdm9sdW1lIG11dGVkYDpgJHtVfSUgdm9sdW1lYH0sdm9pZCAwLCJUZkhQMGQiKSwKTT1fLk4oKCk9PmEub3JpZW50YXRpb24oKT09PSJ2ZXJ0aWNhbF9kb3duIix2b2lkIDAsIlo3RjN1YiIpLFM9Xy5OKCgpPT5NKCk/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCIsdm9pZCAwLCJzVjJNcGIiKSxZPV8uTigoKT0+YS5Edj8uKCk/PyExLHZvaWQgMCwiem92VUxlIikscGE9Xy5OKCgpPT5hLkNwPy4oKT8/ITEsdm9pZCAwLCJwRVVocWUiKTtfLlVKKCgpPT57ZnVuY3Rpb24gVSgpe20oITApfWZ1bmN0aW9uIGhhKCl7bSghMSl9ayYmay52YWx1ZSYmKGsudmFsdWUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFUpLGsudmFsdWUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKSxkKGsudmFsdWUpLnRoZW4oKCk9PntiKE51bWJlcihrLnZhbHVlPy52YWx1ZT8/MCkpfSkpO2gmJmgudmFsdWUmJihXUyhoLnZhbHVlLDI4NjYyKSxoLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixVKSxoLnZhbHVlLmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vzb3V0IixoYSkpO18uWXUoKCk9Pgp7az8udmFsdWU/LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixVKTtrPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXNvdXQiLGhhKTtoPy52YWx1ZT8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZm9jdXMiLFUpO2g/LnZhbHVlPy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1c291dCIsaGEpfSl9KTt2YXIgb2E9VT0+e1U9VS5tdXRlZD8wOlUudm9sdW1lO0coVSk7YihVKTtrLnZhbHVlJiZaVChrLnZhbHVlLFUpfTtfLm5FKCgpPT57dmFyIFU9ZSgpO1UmJihVLmFkZEV2ZW50TGlzdGVuZXIoIm9uVm9sdW1lQ2hhbmdlIixvYSksXy5ZdSgoKT0+e1UucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25Wb2x1bWVDaGFuZ2UiLG9hKX0pKX0sInhoM0daYyIpO3JldHVybiBfLksoInZvbHVtZS1jb250cm9scyIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNIb3N0Iix7eXRkVm9sdW1lQ29udHJvbHNEaXNhYmxlU2xpZGVyOnBhfSxhLmNsYXNzTmFtZSksZWw6Zn0sXy5LKCJkaXYiLAp7Im9uOnBvaW50ZXJsZWF2ZSI6ZnVuY3Rpb24oKXttKCExKX0sY2xhc3M6Xy5QKCJ5dGRWb2x1bWVDb250cm9sc1ZvbHVtZUNvbnRyb2xzQ29udGFpbmVyIix7eXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lclZlcnRpY2FsOk0seXRkVm9sdW1lQ29udHJvbHNWb2x1bWVDb250cm9sc0NvbnRhaW5lckV4cGFuZGVkOigpPT5sKCl9KX0sXy5LKF8uTyx7QTooKT0+IWEuYmo/LigpLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbSIse3l0ZFZvbHVtZUNvbnRyb2xzQmFja2dyb3VuZFNjcmltRXhwYW5kZWQ6bCx5dGRWb2x1bWVDb250cm9sc0JhY2tncm91bmRTY3JpbUV4cGFuZGVkSG92ZXJTdGF0ZTooKT0+bCgpJiZZKCl9KX0pfSksXy5LKCJkaXYiLHtjbGFzczpfLlAoe3l0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b25Db250YWluZXI6TX0pfSxfLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpELAp0aXRsZTpELGVsOmgsIm9uOmNsaWNrIjpmdW5jdGlvbihVKXtYUygyODY2Mik7ayYmay52YWx1ZSYmYyhrLnZhbHVlLHIoKSk7VS5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnBvaW50ZXJlbnRlciI6ZnVuY3Rpb24oKXttKCEwKX0sY2xhc3M6Inl0ZFZvbHVtZUNvbnRyb2xzTXV0ZUljb25CdXR0b24ifSxIP18uSyhfLmpGLHtkYXRhOkgsYWx0OkQsY2xhc3NOYW1lOiJ5dGRWb2x1bWVDb250cm9sc011dGVJY29uIn0pOm51bGwpKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXIiLHt5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckV4cGFuZGVkOmwseXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbDpNLHl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyVmVydGljYWxEb3duOk0seXRkVm9sdW1lQ29udHJvbHNTbGlkZXJDb250YWluZXJWZXJ0aWNhbEV4cGFuZGVkOigpPT5sKCkmJk0oKSx5dGRWb2x1bWVDb250cm9sc1NsaWRlckNvbnRhaW5lckRpc2FibGVTbGlkZXI6cGEsCnl0ZFZvbHVtZUNvbnRyb2xzU2xpZGVyQ29udGFpbmVyV2l0aFNjcmltOigpPT4hYS5iaj8uKCl9KSwib246Y2xpY2siOmZ1bmN0aW9uKFUpe1Uuc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoImlucHV0Iix7ZGlyOiJsdHIiLCJhcmlhLWxhYmVsIjpfLmFBKCJWT0xVTUUiKSx0aXRsZTpfLmFBKCJWT0xVTUUiKSxlbDprLCJvbjppbnB1dCI6ZnVuY3Rpb24oVSl7ayYmay52YWx1ZSYmamxhKE51bWJlcihrLnZhbHVlPy52YWx1ZT8/MCksZSgpKTtVLnN0b3BQcm9wYWdhdGlvbigpfSx0eXBlOiJyYW5nZSIsY2xhc3M6Inl0ZFZvbHVtZUNvbnRyb2xzTmF0aXZlU2xpZGVyIixpZDoidm9sdW1lLWlucHV0Iixyb2xlOiJzbGlkZXIiLCJhcmlhLXZhbHVlbm93IjpGLCJhcmlhLXZhbHVldGV4dCI6UiwiYXJpYS12YWx1ZW1pbiI6MCwiYXJpYS12YWx1ZW1heCI6MTAwLCJhcmlhLW9yaWVudGF0aW9uIjpTfSkpKSl9LCJVYyIpO3ZhciBObWE9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBjPWEuRygpLGQ9Yy5IPy5nZXRTaXplPy4oKT8ud2lkdGg7cmV0dXJuKGMuYmE/LkVlfHxfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpKSYmISFkJiZkPDQyMH07cmV0dXJuIF8uSygieXRtLWZ1bGxzY3JlZW4tcmVsYXRlZC12aWRlb3MtZW50cnktcG9pbnQtdmlldy1tb2RlbCIse2NsYXNzOl8uUCgieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsSG9zdCIse3l0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRpdGxlSGlkZGVuOmJ9KX0sXy5LKCJidXR0b24iLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEJ1dHRvbiIse3l0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNpbmdsZVRodW1ibmFpbDpfLngoIm13ZWJfZW5hYmxlX3BvcnRyYWl0X2Z1bGxzY3JlZW5fYWN0aW9ucyIpfSksCiJvbjpjbGljayI6ZnVuY3Rpb24oYyl7YS5HKCkuUyh7TmE6ITB9KTtfLk1PKCIuZnVsbHNjcmVlbi1yZWNvbW1lbmRhdGlvbiAubWVkaWEtaXRlbS1pbmZvIGEiKTtiVCgpO2Muc3RvcFByb3BhZ2F0aW9uKCl9LCJhcmlhLWxhYmVsIjooKT0+YS5kYXRhKCkudGl0bGU/LmNvbnRlbnQ/PyIifSxfLksoXy5PLHtBOigpPT4hYigpLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlfSl9KSxfLksoXy5PLHtBOigpPT5hLmRhdGEoKS5pbWFnZUZyb250LHRoZW46Yz0+Xy5LKCJkaXYiLHtjbGFzczoieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsVGh1bWJuYWlsU3RhY2sifSxfLksoXy5PLHtBOigpPT4hXy54KCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiKXx8ISFhLmRhdGEoKS5pbWFnZUJhY2ssdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlsIiwKInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFNtYWxsRmFkZWRUaHVtYm5haWwiKX0pfSksXy5LKF8uTyx7QTooKT0+IV8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil8fCEhYS5kYXRhKCkuaW1hZ2VNaWRkbGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbEZhZGVkVGh1bWJuYWlsIiwieXRtRnVsbHNjcmVlblJlbGF0ZWRWaWRlb3NFbnRyeVBvaW50Vmlld01vZGVsTGFyZ2VGYWRlZFRodW1ibmFpbCIpfSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1GdWxsc2NyZWVuUmVsYXRlZFZpZGVvc0VudHJ5UG9pbnRWaWV3TW9kZWxUaHVtYm5haWxDb250YWluZXIifSxfLksoXy5qRix7ZGF0YTpjLGFsdDoiIixjbGFzc05hbWU6Inl0bUZ1bGxzY3JlZW5SZWxhdGVkVmlkZW9zRW50cnlQb2ludFZpZXdNb2RlbFRodW1ibmFpbCIsYXJpYUhpZGRlbjohMCwKWWE6ITB9KSkpfSkpKX0sIlZjIik7dmFyIElWPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6Y30pPT5fLksoInl0bS1zbGltLW1ldGFkYXRhLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOiJ5dG1TbGltTWV0YWRhdGFCdXR0b25SZW5kZXJlckhvc3QifSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6Y30pfSkpLCJXYyIpO0lWLmlkb21Db21wYXQ9ITA7dmFyIEpWPV8uTCgoe2RhdGE6YSxjbGFzc05hbWU6YixidXR0b25PdmVycmlkZXM6YyxIYzpkfSk9Pnt2YXIgZT1fLkRJKF8uUkwsKCk9PmEoKS5saWtlU3RhdHVzRW50aXR5S2V5fHwiIiksZj0oKT0+Xy50UCgpJiZhKCkuaXNMaWtlJiZhKCkuYnV0dG9uPy50b2dnbGVCdXR0b25SZW5kZXJlcj97c3R5bGU6Im1vbm8ifTpjPy4oKSxoPSgpPT5fLnRQKCkmJmEoKS5pc0xpa2UmJmEoKS5idXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyP3thbmltYXRlSWNvbjoidHJ1ZSJ9OnZvaWQgMDtyZXR1cm4gXy5LKCJ5dG0tc2xpbS1tZXRhZGF0YS10b2dnbGUtYnV0dG9uLXJlbmRlcmVyIix7Y2xhc3M6Yn0sXy5LKF8uTyx7QTooKT0+e3ZhciBrPWEoKS5idXR0b24/LnRvZ2dsZUJ1dHRvblJlbmRlcmVyO2lmKGsmJmEoKS5saWtlU3RhdHVzRW50aXR5S2V5KXtsZXQgbD1hKCkuaXNMaWtlP2UoKT8ubGlrZVN0YXR1cz09PSJMSUtFIjplKCk/Lmxpa2VTdGF0dXM9PT0iRElTTElLRSI7cmV0dXJuey4uLmssCmlzVG9nZ2xlZDpsfX1yZXR1cm4ga30sdGhlbjprPT5fLksoXy5xTyx7ZGF0YTprLHN0eWxlOmgsY2xhc3NOYW1lOmIsYnV0dG9uT3ZlcnJpZGVzOmYsSGM6ZH0pfSkpfSwiWGMiKTtKVi5pZG9tQ29tcGF0PSEwO3ZhciBLVj1fLkwoYT0+e2Z1bmN0aW9uIGIocil7dmFyIHQ9YygpO3QuYmE/LkR6fHxfLnRQKCl8fHQuaXNGdWxsc2NyZWVuJiZ0LnRhLnRvZ2dsZUZ1bGxzY3JlZW4oKTtyLnN0b3BQcm9wYWdhdGlvbigpfXZhciBjPWEuRyxkPSgpPT5hLkcoKS5IPy5nZXRTaXplPy4oKT8ud2lkdGgsZT1fLk4oKCk9PiEhYS5HKCkuSD8uaXNFbWJlZHNTaG9ydHNNb2RlPy4oKSx2b2lkIDAsIndzSERaIiksZj1fLlAoeyJwbGF5ZXItY29udHJvbHMtaGlkZSI6KCk9PiEoIUlTKGEuRygpKXx8YS5HKCkuYmE/LkVlJiYhYS5HKCkuTmEpfSksaD1hLndhdGNoTmV4dFJlc3BvbnNlLGs9YS50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIsbD1hLnBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIsbT0oKT0+e3ZhciByPUNrYShoPy4oKSxrPy4oKSk7cmV0dXJuIGUoKXx8YS5HKCkuYmE/Lm9oP3IuZmlsdGVyKHQ9Pl8uQih0LGZtYSk/ITE6Xy5CKHQsXy5WTCk/Lmljb24/Lmljb25UeXBlIT09IkFERF9UT19XQVRDSF9MQVRFUiIpOgpyfSxuPSgpPT57dmFyIHI9aD8uKCksdD1rPy4oKSx2PWw/LigpLHo9JFMoYS5HKCkpO3ZhciBFPWUoKTtpZih2KUU9dj8ueW91dHViZVdhdGVybWFyaztlbHNlIGlmKHQ9Xy5CKHQ/LnF1aWNrQWN0aW9uc0JhcixLUyk/LndhdGNoT25Zb3V0dWJlQnV0dG9uLHY9Xy5CKHI/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LmZ1bGxzY3JlZW5RdWlja0FjdGlvbnNCYXIsS1MpPy53YXRjaE9uWW91dHViZUJ1dHRvbixyPV8uQih0fHx2LGxWKT8ud2F0Y2hPbll0TGFiZWxCdXR0b24sdD1fLkIodHx8dixsVik/Lnl0TG9nb09ubHlCdXR0b24seilFPXI7ZWxzZXtpZihFKXRyeXtsZXQgQT10LmJ1dHRvblZpZXdNb2RlbCxGPUEudGl0bGVGb3JtYXR0ZWQuYXR0YWNobWVudFJ1bnNbMF0uZWxlbWVudDtGLnR5cGUuaW1hZ2VUeXBlLmltYWdlLnNvdXJjZXNbMF0uY2xpZW50UmVzb3VyY2UuaW1hZ2VOYW1lPSJzaG9ydHNfdGV4dF9sb2dvIjtGLnByb3BlcnRpZXMubGF5b3V0UHJvcGVydGllcy5oZWlnaHQudmFsdWU9CjI0O0YucHJvcGVydGllcy5sYXlvdXRQcm9wZXJ0aWVzLndpZHRoLnZhbHVlPTcyO3o9QT8ub25UYXA/LmlubmVydHViZUNvbW1hbmQ/LnVybEVuZHBvaW50Py51cmw7aWYoRSYmeiYmei5pbmNsdWRlcygiL3dhdGNoP3Y9Iikpe2xldCBDPXoucmVwbGFjZSgiL3dhdGNoP3Y9IiwiL3Nob3J0cy8iKTtBLm9uVGFwLmlubmVydHViZUNvbW1hbmQudXJsRW5kcG9pbnQudXJsPUN9fWNhdGNoKEEpe31FPXR9cmV0dXJuIEV9LHA9e2NsYXNzTmFtZToiY2lyY2xlLWJ1dHRvbnMiLGJ1dHRvbk92ZXJyaWRlczp7c3R5bGU6Im92ZXJsYXkifX07cmV0dXJuIF8uSygicGxheWVyLWZ1bGxzY3JlZW4tYWN0aW9uLW1lbnUiLHtjbGFzczoieXR3UGxheWVyRnVsbHNjcmVlbkFjdGlvbk1lbnVIb3N0In0sXy5LKCJkaXYiLHtjbGFzczpmfSxfLksoImRpdiIse2NsYXNzOiJmdWxsc2NyZWVuLWFjdGlvbi1tZW51Iiwib246Y2xpY2siOmZ1bmN0aW9uKHIpe3ZhciB0PWMoKTtjVCh0LHtJYzohMH0pO3Iuc3RvcFByb3BhZ2F0aW9uKCk7CnIuc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT4hKGEuRygpLmJhPy5oaWRlVmlkZW9JbmZvfHxhLkcoKS5iYT8uWXd8fGQoKSYmZCgpPDMyMCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoImFjdGlvbi1tZW51LWVuZ2FnZW1lbnQtYnV0dG9ucy13cmFwcGVyIiwibm8tbGFiZWwtZXhwIiksIm9uOmNsaWNrIjpifSxfLksoXy5XLHtkYXRhOm19LHtidXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoXy5wTyx7ZGF0YTpyLC4uLnB9KSxzbGltTWV0YWRhdGFUb2dnbGVCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT5fLksoSlYse2RhdGE6cixjbGFzc05hbWU6Xy5QKHAuY2xhc3NOYW1lLHsibGlrZS1idXR0b24tbm8tbGFiZWwtZXhwIjooKT0+cigpLmlzTGlrZX0pLEhjOigpPT5yKCkuaXNMaWtlP3tBczohMH06dm9pZCAwLGJ1dHRvbk92ZXJyaWRlczooKT0+cigpLmlzTGlrZT92b2lkIDA6cC5idXR0b25PdmVycmlkZXN9KSxzbGltTWV0YWRhdGFCdXR0b25SZW5kZXJlcjooe2RhdGE6cn0pPT4KXy5LKElWLHtkYXRhOnIsLi4ucH0pLGZ1bGxzY3JlZW5FbmdhZ2VtZW50QWN0aW9uQmFyU2F2ZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTpyfSk9Pl8uSyhJVix7ZGF0YTpyLC4uLnB9KSxidXR0b25WaWV3TW9kZWw6KHtkYXRhOnJ9KT0+Xy5LKF8uSEQse2RhdGE6cixjbGFzc05hbWU6Inl0d1BsYXllckZ1bGxzY3JlZW5BY3Rpb25NZW51Q2lyY2xlQnV0dG9ucyIsYnV0dG9uT3ZlcnJpZGVzOntpY29uUG9zaXRpb246Imljb24tb25seS00MCJ9fSksdG9nZ2xlQnV0dG9uUmVuZGVyZXI6KHtkYXRhOnJ9KT0+Xy5LKF8ucU8se2RhdGE6ciwuLi5wfSl9KSl9KSxfLksoImRpdiIse2NsYXNzOiJxdWljay1hY3Rpb25zLXdyYXBwZXIifSxfLksoXy5PLHtBOigpPT4hYS5HKCkuYmE/Llh3JiYhJFMoYS5HKCkpJiYhKGQoKSYmZCgpPDMyMCkmJiFlKCkmJkxTKGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJmdWxsc2NyZWVuLXdhdGNoLW5leHQtZW50cnlwb2ludC13cmFwcGVyIn0sCl8uSyhObWEse2RhdGE6KCk9PkxTKGEud2F0Y2hOZXh0UmVzcG9uc2U/LigpKSxHOmN9KSl9KSxfLksoXy5PLHtBOigpPT4kUyhhLkcoKSkmJihlKCl8fGQoKSYmZCgpPDMyMCk/ITE6ITAsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoid2F0Y2gtb24teW91dHViZS1idXR0b24td3JhcHBlciJ9LF8uSyhfLlcse2RhdGE6bn0se2J1dHRvblZpZXdNb2RlbDooe2RhdGE6cn0pPT5fLksoXy5IRCx7ZGF0YTpyLGNsYXNzTmFtZToid2F0Y2gtb24teW91dHViZS1idXR0b24iLGJ1dHRvbk92ZXJyaWRlczooKT0+e3ZhciB0PXIoKTtyZXR1cm57c2l6ZToiTCIsZGlzYWJsZWQ6IV8uQihfLkIodD8ub25UYXAsXy5PRCksXy5WRCl9fX0pLGJ1dHRvblJlbmRlcmVyOl8ucE8sdG9nZ2xlQnV0dG9uUmVuZGVyZXI6Xy5xT30pKX0pKSkpKX0sIlljIik7S1YuaWRvbUNvbXBhdD0hMDt2YXIgTFY9Xy5MKGE9Pnt2YXIgYj0oKT0+e3ZhciBtPWEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcj8uKCk7cmV0dXJuIF8uQihtPy5lbmRTY3JlZW4scFYpPy5jb250aW51ZVdhdGNoaW5nfSxjPSgpPT57dmFyIG09YS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyPy4oKTtyZXR1cm4gXy5CKG0/LmVuZFNjcmVlbixwVik/LmJyYW5kaW5nSWNvbn0sW2QsZV09Xy5KKCExLHZvaWQgMCwiRWVYWEJjIiksZixoPSgpPT57Y2xlYXJUaW1lb3V0KGYpO2UoITEpO2Y9c2V0VGltZW91dCgoKT0+e2UoITApfSw0RTMpfSxrPSgpPT57dmFyIG09YS5HKCkuSD8uZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkO20mJmEuRygpLkg/LmN1ZVZpZGVvQnlJZChtKX0sbD0oKT0+e3ZhciBtPV8uVXcoYS5wbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyPy4oKS50cmFja2luZ1BhcmFtcyk7bSYmXy5KTyhtKX07Xy5VSigoKT0+e2goKTthLkcoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlTdGFydHMiLApoKTthLkcoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbkF1dG9wbGF5QmxvY2tlZCIsayk7YS5HKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25WaWRlb0RhdGFDaGFuZ2UiLGwpfSk7Xy5ZdSgoKT0+e2NsZWFyVGltZW91dChmKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvbk11dGVkQXV0b3BsYXlTdGFydHMiLGgpO2EuRygpLkg/LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQXV0b3BsYXlCbG9ja2VkIixrKTthLkcoKS5IPy5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsbCl9KTtyZXR1cm4gXy5LKCJ5dG0tbXV0ZWQtYXV0b3BsYXktb3ZlcmxheSIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUhvc3QiLCJvbjpjbGljayI6ZnVuY3Rpb24obSl7dmFyIG49YS5HPy4oKS5ILHA9bj8uZ2V0VmlkZW9EYXRhKCk/LnZpZGVvX2lkLHI9bj8uZ2V0Q3VycmVudFRpbWUoKTtwJiZyJiYobj8udW5NdXRlKCksbj8ubG9hZFZpZGVvQnlJZChwLHIpKTsKbS5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6KCk9PnVTKGEuRygpKSx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUJhY2tncm91bmQifSxfLksoImRpdiIsbnVsbCxfLksoXy5XLHtkYXRhOmJ9LHtidXR0b25WaWV3TW9kZWw6Xy5IRH0pKSxfLksoImRpdiIse2NsYXNzOiJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUJyYW5kaW5nSWNvbiJ9LF8uSyhfLk8se0E6Yyx0aGVuOm09Pl8uSyhfLmpGLHtkYXRhOm0sYWx0OiJZb3VUdWJlIExvZ28ifSl9KSkpLFc6KCk9Pl8uSygiZGl2IixudWxsLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUFjdGlvbk1lbnUiLHt5dG1NdXRlZEF1dG9wbGF5T3ZlcmxheUhpZGVBY3Rpb25NZW51OmR9KX0sXy5LKEtWLHtHOmEuRyxwbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyOmEucGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcn0pKSxfLksoImRpdiIsCntjbGFzczoieXRtTXV0ZWRBdXRvcGxheU92ZXJsYXlFcXVhbGl6ZXIifSxfLksoXy5NRCx7aWNvbjoiZXF1YWxpemVyIn0pKSl9KSl9LCJaYyIpO0xWLmlkb21Db21wYXQ9ITA7dmFyIE9tYT1fLkwoKHtGeDphLGFuaW1hdGlvbjpifSk9Pnt2YXIgYz1fLnVFKCJkaXYiKSxbZCxlXT1fLkooITEsdm9pZCAwLCJ0aTAybyIpLGY9MCxoPV8ueCgibXdlYl9lbmFibGVfc2hvcnRzX2hlYXJ0X25ld19kb3VibGVfdGFwIik/Imxpa2VfdGFwX2ZlZWRiYWNrX3Nob3J0c19oZWFydCI6Imxpa2VfMjQwZHBfYW5pbWF0aW9uX3YyIjtfLm5FKCgpPT57ZSghMCk7Xy5qZi5BYShmKTtmPV8uWWooKCk9PntlKCExKX0sMkUzKTt2YXIgaz1iPy4oKT8ubmFtZTtpZihrPT09aCl7Y1UoaCk7az1iPy4oKT8ueDt2YXIgbD1iPy4oKT8ueTtsZXQgbT1jLnZhbHVlO20mJihrIT09dm9pZCAwJiZsIT09dm9pZCAwPyhtLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsbS5zdHlsZS5sZWZ0PWAke2t9cHhgLG0uc3R5bGUudG9wPWAke2x9cHhgLG0uc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkiKToobS5zdHlsZS5wb3NpdGlvbj0iIixtLnN0eWxlLmxlZnQ9IiIsbS5zdHlsZS50b3A9CiIiLG0uc3R5bGUudHJhbnNmb3JtPSIiKSl9ZWxzZXtpZihsPWMudmFsdWUpbC5zdHlsZS5wb3NpdGlvbj0iIixsLnN0eWxlLmxlZnQ9IiIsbC5zdHlsZS50b3A9IiIsbC5zdHlsZS50cmFuc2Zvcm09IiI7az09PSJwbGF5Xzk2ZHBfYW5pbWF0aW9uIj9jVSgicGxheV85NmRwX2FuaW1hdGlvbiIpOms9PT0icGF1c2VfOTZkcF9hbmltYXRpb24iJiZjVSgicGF1c2VfOTZkcF9hbmltYXRpb24iKX19LCJFQ0pVZGQiKTtyZXR1cm4gXy5LKCJzaG9ydHMtdG91Y2gtZmVlZGJhY2siLHtjbGFzczpfLlAoInl0U2hvcnRzVG91Y2hGZWVkYmFja0hvc3QiLHt5dFNob3J0c1RvdWNoRmVlZGJhY2tIaWRkZW46KCk9PiFkKCl9KX0sXy5LKF8uTyx7QTphLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1RvdWNoRmVlZGJhY2sifSxfLksoImRpdiIse2VsOmMsY2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja0xpa2VBbmltYXRpb25XcmFwcGVyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sCl8uSyhfLmNNLHthbmltYXRpb25OYW1lOigpPT5oLGRhdGE6e2FuaW1hdGlvbkNvbmZpZzpiVShoKX0sY2xhc3NOYW1lOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tMaWtlQW5pbWF0aW9uIn0pKSl9KSxfLksoImRpdiIse2NsYXNzOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tUb3VjaEZlZWRiYWNrIn0sXy5LKF8uY00se2FuaW1hdGlvbk5hbWU6KCk9PiJwbGF5Xzk2ZHBfYW5pbWF0aW9uIixkYXRhOnthbmltYXRpb25Db25maWc6YlUoInBsYXlfOTZkcF9hbmltYXRpb24iKX0sY2xhc3NOYW1lOiJ5dFNob3J0c1RvdWNoRmVlZGJhY2tQbGF5UGF1c2VBbmltYXRpb24ifSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0U2hvcnRzVG91Y2hGZWVkYmFja1RvdWNoRmVlZGJhY2sifSxfLksoXy5jTSx7YW5pbWF0aW9uTmFtZTooKT0+InBhdXNlXzk2ZHBfYW5pbWF0aW9uIixkYXRhOnthbmltYXRpb25Db25maWc6YlUoInBhdXNlXzk2ZHBfYW5pbWF0aW9uIil9LGNsYXNzTmFtZToieXRTaG9ydHNUb3VjaEZlZWRiYWNrUGxheVBhdXNlQW5pbWF0aW9uIn0pKSl9LAoiYWQiKTt2YXIgZFU9dm9pZCAwLGVVPXZvaWQgMCxmVSxnVT1fLkwoKHtkYXRhOmF9KT0+e3ZhciBbYixjXT1fLkooMCx2b2lkIDAsIlZmdjU4IiksW2QsZV09Xy5KKDAsdm9pZCAwLCJnR0NOOWQiKSxbZixoXT1fLkooITEsdm9pZCAwLCJuU2FMaCIpO3JldHVybiBfLksoInl0bS1ib3R0b20tc2hlZXQtb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckhvc3QifSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckNvbnRhaW5lciIsc3R5bGU6KCk9Pnt2YXIgaz1iKCksbD1kKCksbT1mKCk7az1gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7TWF0aC5tYXgoMCxNYXRoLnJvdW5kKGwtaykpfXB4KTtgO20mJihrKz0idHJhbnNpdGlvbjogMC4yczsiKTtyZXR1cm4ga30sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKGspe2RvY3VtZW50LmJvZHkuc3R5bGUub3ZlcnNjcm9sbEJlaGF2aW9yPSJub25lIjtjKGsudG91Y2hlc1swXS5jbGllbnRZKTsKay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNobW92ZSI6ZnVuY3Rpb24oayl7ZShrLnRvdWNoZXNbMF0uY2xpZW50WSk7ay5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoZW5kIjpmdW5jdGlvbihrKXtkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJzY3JvbGxCZWhhdmlvcj0iIjt3aW5kb3cuc2NyZWVuLmF2YWlsSGVpZ2h0LWQoKTw9MzAwPyhoKCEwKSxlKHdpbmRvdy5zY3JlZW4uYXZhaWxIZWlnaHQpLHNldFRpbWVvdXQoKCk9PntpZihkVSE9bnVsbCl7dmFyIGw9Xy5IeigpO2wuc2V0KCJzdXBwcmVzc19hcHBfdXBzZWxsIiwxKTtsLnNhdmUoKTtlVSYmKGVVLnF2PSEwLGVVPXZvaWQgMCk7Xy5LTihkVSk7ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkVSk7ZFU9dm9pZCAwO2ZVPy4oKTtmVT12b2lkIDA7Xy55KCkucmVzb2x2ZShfLnlQKS5RdSgpfX0sMjUwKSk6KGgoITApLGUoMCkpO2suc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlckhlYWRlciIsCnN0eWxlOigpPT5hKCkuYmFja2dyb3VuZEltYWdlP2BiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHthKCkuYmFja2dyb3VuZEltYWdlfSk7YDp2b2lkIDB9LF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyRHJhZ0hhbmRsZSJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmNlbnRyYWxJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2VudHJhbEljb24ifSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLmNsb3NlQnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmt9KT0+Xy5LKF8ucE8se2RhdGE6ayxjbGFzc05hbWU6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyQ2xvc2UiLHByZXZlbnREZWZhdWx0OiEwLFFmOiEwfSl9KSksXy5LKCJkaXYiLHtjbGFzczoiWXRtQm90dG9tU2hlZXRPdmVybGF5UmVuZGVyZXJDb250ZW50cyJ9LF8uSygiZGl2Iix7Y2xhc3M6Ill0bUJvdHRvbVNoZWV0T3ZlcmxheVJlbmRlcmVyVGl0bGUifSwKXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxfLksoImRpdiIse2NsYXNzOiJZdG1Cb3R0b21TaGVldE92ZXJsYXlSZW5kZXJlclN1YnRpdGxlIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5zdWJ0aXRsZX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uc30se2J1dHRvblJlbmRlcmVyOl8ucE99KSkpKX0sImJkIik7Z1UuaWRvbUNvbXBhdD0hMDt2YXIgTVY9Xy5MKCh7ZGF0YTphLHN0b3BQcm9wYWdhdGlvbjpifSk9Pl8uSygieXRtLWZvcmNlZC1tdXRlLW1lc3NhZ2UtcmVuZGVyZXIiLG51bGwsXy5LKF8udk8se2ljb25UeXBlOl8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJhdWRpb19zbGFzaCI6ImF1ZGlvX29mZiIsYXJpYUxhYmVsOigpPT5fLmFOKGEoKS5mb3JjZWRNdXRlTWVzc2FnZVRleHQpLG9uY2xpY2s6Yz0+e2I/LigpJiZjLnN0b3BQcm9wYWdhdGlvbigpO2M9YSgpO18uQihjLmhlbHBCdXR0b24sXy5WTCk/Lm5hdmlnYXRpb25FbmRwb2ludCYmXy5BSihfLkIoYy5oZWxwQnV0dG9uLF8uVkwpPy5uYXZpZ2F0aW9uRW5kcG9pbnQsYywhMCl9LExtOiJ5dG0tZm9yY2VkLW11dGUtbWVzc2FnZSJ9KSksImVkIik7TVYuaWRvbUNvbXBhdD0hMDt2YXIgTlY9Xy5MKCh7ZGF0YTphLGNsYXNzTmFtZTpiLEdKOmN9KT0+e3ZhciBkPV8ueSgpLnJlc29sdmUoXy5JbihfLmtGKSk/LigpO3JldHVybiBfLksoInl0bS1pbmZvLXBhbmVsLWNvbnRlbnQtcmVuZGVyZXIiLHtjbGFzczpfLlAoYiwieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdCIse3l0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckhvc3RJc1dhdGNoSW5mb1BhbmVsOmMseXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySG9zdENpbmVtYXRpY0JhY2tncm91bmQ6KCk9PmQmJmM/LigpfSksInl0bS1pbmZvLXBhbmVsLWNvbnRlbnQtdHJ1bmNhdGUtcGFyYWdyYXBocyI6KCk9PiEhYSgpLnRydW5jYXRlUGFyYWdyYXBoc3x8dm9pZCAwLCJ5dG0taW5mby1wYW5lbC1jb250ZW50LWhhcy1tZW51IjooKT0+ISFhKCkubWVudXx8dm9pZCAwLCJkYXRhLWJhY2tncm91bmQiOigpPT5hKCkuYmFja2dyb3VuZH0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEoKS5zb3VyY2VFbmRwb2ludCwKY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJFbmRwb2ludCJ9LF8uSyhQbWEse2RhdGE6YX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6ZX0pPT5fLksoXy5TUCx7ZGF0YTplLGNsYXNzTmFtZToieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVyTWVudSJ9KX0pKX0sImZkIiksUG1hPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJXcmFwcGVyIiwiZGF0YS1oYXMtaWNvbiI6KCk9PiEhYSgpLmljb259LF8uSyhfLk8se0E6KCk9PmEoKS5zb3VyY2VBdFRvcCYmYSgpLnNvdXJjZSx0aGVuOigpPT5fLksoT1Yse2RhdGE6YX0pfSksXy5LKF8uTyx7QTooKT0+YSgpLnRpdGxlLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRpdGxlQ29udGFpbmVyIn0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pLF8uSyhfLk1ELAp7aWNvbjooKT0+YSgpLmlubGluZUxpbmtJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29uIn0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckJvZHkifSxfLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJUZXh0In0sXy5LKF8uTyx7QTooKT0+IWEoKS5zb3VyY2VBdFRvcCYmYSgpLnNvdXJjZSx0aGVuOigpPT5fLksoT1Yse2RhdGE6YX0pfSksXy5LKF8uZ0cse3BhOigpPT5hKCkucGFyYWdyYXBoc3x8W119LChiLGMpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQYXJhZ3JhcGgifSxfLksoXy5JSix7ZGF0YTpifSksXy5LKF8uTyx7QTooKT0+YygpPT09YSgpLnBhcmFncmFwaHMubGVuZ3RoLTEmJmEoKS5pbmxpbmVTb3VyY2UsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySW5saW5lU291cmNlIn0sCl8uSygiZGl2Iix7Y2xhc3M6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlcklubGluZVNvdXJjZVRleHQifSxfLksoXy5JSix7ZGF0YTooKT0+YSgpLmlubGluZVNvdXJjZX0pKSxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmlubGluZUxpbmtJY29uPy5pY29uVHlwZSxjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlckxpbmtJY29uIn0pKX0pKSkpLF8uSyhfLk8se0E6KCk9PmEoKS5pY29uLHRoZW46Yj0+Xy5LKCJkaXYiLHtjbGFzczoieXRtSW5mb1BhbmVsQ29udGVudFJlbmRlcmVySGVhZGVyUmlnaHRJdGVtcyJ9LF8uSyhfLk1ELHtpY29uOigpPT5iKCkuaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJIZWFkZXJJY29uIn0pLF8uSyhfLklKLHtkYXRhOigpPT5hKCkudGl0bGV9KSl9KSxfLksoXy5PLHtBOigpPT5hKCkudGh1bWJuYWlsLHRoZW46Yj0+Xy5LKF8uVVAse3RodW1ibmFpbERldGFpbHM6YixjbGFzc05hbWU6Inl0bUluZm9QYW5lbENvbnRlbnRSZW5kZXJlclRodW1ibmFpbCIsCmFsdDoiIixZYTpfLngoImMzX3ByZXNlcnZlX2RpbWVuc2lvbnNfa3MiKT92b2lkIDA6ITAsVGE6Xy54KCJjM19wcmVzZXJ2ZV9kaW1lbnNpb25zX2tzIik/dm9pZCAwOiEwfSl9KSkpLCJnZCIpLE9WPV8uTCgoe2RhdGE6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJNZXRhZGF0YSJ9LF8uSyhfLk8se0E6KCk9PmEoKS5zb3VyY2UsdGhlbjpiPT5fLksoXy5JSix7ZGF0YTpifSl9KSxfLksoXy5PLHtBOigpPT5hKCkucHVibGlzaGVkVGltZVRleHQsdGhlbjpiPT5fLksoImRpdiIse2NsYXNzOiJ5dG1JbmZvUGFuZWxDb250ZW50UmVuZGVyZXJQdWJsaXNoVGltZSJ9LCJcdTIwMjIgIixfLksoXy5JSix7ZGF0YTpifSkpfSkpLCJoZCIpO05WLmlkb21Db21wYXQ9ITA7dmFyIFBWPV8uTCgoe2RhdGE6YX0pPT5fLksoInl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1yZW5kZXJlciIse2JhY2tncm91bmQ6KCk9PmEoKS5iYWNrZ3JvdW5kfSxfLksoXy5PLHtBOigpPT5hKCkudGl0bGUsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlciJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0bS1pbmZvLXBhbmVsLWNvbnRhaW5lci1oZWFkZXItbGVmdC1pdGVtcyJ9LF8uSyhfLk1ELHtpY29uOigpPT5hKCkuaWNvbj8uaWNvblR5cGUsY2xhc3NOYW1lOiJ5dG0taW5mby1wYW5lbC1jb250YWluZXItaGVhZGVyLWljb24ifSksXy5LKF8uSUose2RhdGE6KCk9PmEoKS50aXRsZX0pKSxfLksoXy5XLHtkYXRhOigpPT5hKCkubWVudX0se21lbnVSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoXy5TUCx7ZGF0YTpiLGNsYXNzTmFtZToieXRtLWluZm8tcGFuZWwtY29udGFpbmVyLWhlYWRlci1tZW51In0pfSkpfSksXy5LKF8uVyx7ZGF0YTooKT0+CmEoKS5jb250ZW50fSx7aW5mb1BhbmVsQ29udGVudFJlbmRlcmVyOk5WfSkpLCJpZCIpO1BWLmlkb21Db21wYXQ9ITA7dmFyIFJWPV8uTCgoe2RhdGE6YSxpc0FjdGl2ZTpiLEhKOmMsY2xhc3NOYW1lOmR9KT0+e3ZhciBlPV8uY0koXy5aUCksZj1fLmNJKHdqYSksaD1fLmNJKHZqYSksaztfLm5FKCgpPT57Yj8uKCkmJmEoKT8udHJhY2tpbmdQYXJhbXMmJmEoKS50cmFja2luZ1BhcmFtcyE9PWsmJl8uaXEoKSE9PWsmJihfLmx4KF8uaHgoKSxhKCkudHJhY2tpbmdQYXJhbXMpLGs9Xy5pcSgpKX0sIkxSZVNsYiIpO18uVUooKCk9PntubGEoYSgpKX0pO3JldHVybiBfLksoInl0bS1yZWVsLXBsYXllci1vdmVybGF5LXJlbmRlcmVyIix7Y2xhc3M6ZCwiZGF0YS1pcy1hY3RpdmUiOmJ8fHZvaWQgMCwiZGF0YS1oYXMtaW5mby1wYW5lbCI6KCk9Pnt2YXIgbD1hKCksbT1fLkIobC5wbGF5ZXJPdmVybGF5LGNtYSk7cmV0dXJuISFsLmluZm9QYW5lbHx8ISFtPy5pbmZvUGFuZWx8fHZvaWQgMH0sImV4dHJhY3Qtb3ZlcmxheSI6KCk9PmUoKT09PTF8fHZvaWQgMCwiZXh0cmFjdC1hY3Rpb24tYmFyIjooKT0+Xy5hTShlKCkpfHwKdm9pZCAwLCJzbWFsbGVyLXNjcmVlbi1zcXVlZXplYmFjayI6KCk9PmYoKXx8dm9pZCAwLCJpcy1mdWxsc2NyZWVuIjooKT0+aCgpfHx2b2lkIDAsImlzLXdlYiI6KCk9PmM/LigpfHx2b2lkIDB9LF8uSyhfLk8se0E6KCk9PmEoKS5wbGF5ZXJPdmVybGF5LHRoZW46bD0+Xy5LKF8uSUIsbnVsbCxfLksoXy5PLHtBOigpPT4hMCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LXRvcC1iYXIifSxfLksoUVYse2RhdGE6YX0pKX0pLF8uSyhfLlcse2RhdGE6bH0se3JlZWxQbGF5ZXJPdmVybGF5Vmlld01vZGVsOl8uYmphfSkpLFc6KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoicmVlbC1wbGF5ZXItb3ZlcmxheS1tYWluLWNvbnRlbnQifSxfLksoImRpdiIse2NsYXNzOiJyZWVsLXBsYXllci1vdmVybGF5LW1ldGFkYXRhIn0sXy5LKFFtYSx7ZGF0YTphfSkpLG51bGwsXy5LKFJtYSx7ZGF0YTphfSkpLF8uSyhTbWEse2RhdGE6YX0pKX0pLApfLksoVG1hLHtkYXRhOmF9KSl9LCJrZCIpO1JWLmlkb21Db21wYXQ9ITA7CnZhciBRbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZXRhcGFuZWx9LHtyZWVsTWV0YXBhbmVsVmlld01vZGVsOl8uclF9KSwibGQiKSxTbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktaW5mby1wYW5lbCJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5pbmZvUGFuZWx9LHtpbmZvUGFuZWxDb250YWluZXJSZW5kZXJlcjpQVn0pKSwibWQiKSxSbWE9Xy5MKCh7ZGF0YTphfSk9Pl8uSygiZGl2Iix7Y2xhc3M6InJlZWwtcGxheWVyLW92ZXJsYXktYWN0aW9ucyJ9LF8uSyhRVix7ZGF0YTphfSksXy5LKFVtYSx7ZGF0YTphfSksXy5LKF8uVyx7ZGF0YTooKT0+YSgpLnBpdm90QnV0dG9ufSx7cGl2b3RCdXR0b25WaWV3TW9kZWw6Xy5pUX0pLF8uSyhfLlcse2RhdGE6KCk9PmEoKS5mb3JjZWRNdXRlTWVzc2FnZVJlbmRlcmVyfSx7Zm9yY2VkTXV0ZU1lc3NhZ2VSZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoTVYse2RhdGE6YiwKc3RvcFByb3BhZ2F0aW9uOiEwfSl9KSksIm5kIiksUVY9Xy5MKCh7ZGF0YTphfSk9Pl8uSyhfLk8se0E6KCk9PiFfLlRFKCksdGhlbjooKT0+Xy5LKF8uVyx7ZGF0YTooKT0+YSgpLm1lbnV9LHttZW51UmVuZGVyZXI6KHtkYXRhOmJ9KT0+Xy5LKF8uVFAse2RhdGE6YixzaG93SWNvbjohMCxidXR0b25PdmVycmlkZXM6aFUoKX0pfSksVzooKT0+Xy5LKF8uTyx7QTooKT0+Xy5URSgpLHRoZW46KCk9Pl8uSyhfLlcse2RhdGE6KCk9PmEoKS5tZW51fSx7bWVudVJlbmRlcmVyOih7ZGF0YTpifSk9Pl8uSyhfLlNQLHtkYXRhOmIsZGY6InJlZWwtcGxheWVyLW92ZXJsYXktb3ZlcmZsb3ctbWVudSIsSGE6ITEsdW46ITEsc3RvcFByb3BhZ2F0aW9uOiEwLGJ1dHRvbk92ZXJyaWRlczpoVSgpfSl9KX0pfSksInFkIiksVW1hPV8uTCgoe2RhdGE6YX0pPT5fLksoXy5XLHtkYXRhOigpPT5hKCkuYnV0dG9uQmFyfSx7cmVlbEFjdGlvbkJhclZpZXdNb2RlbDooe2RhdGE6Yn0pPT5fLksoXy5qUSx7ZGF0YTpiLApBZjp7aWNvblBvc2l0aW9uOiJpY29uLXdpdGgtbGFiZWwiLHNpemU6IlMiLHR5cGU6InRleHQiLHN0eWxlOiJvdmVybGF5In19KX0pLCJyZCIpLFRtYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoic3RpY2tlci1sYXllciJ9LF8uSyhfLk8se0E6KCk9PiEhYSgpLnZpZGVvSW50ZXJhY3Rpb25zJiZfLngoIm13ZWJfZW5hYmxlX3Nob3J0c19zdGlja2VycyIpLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKF8uZ0cse3BhOigpPT5hKCkudmlkZW9JbnRlcmFjdGlvbnM/LmludGVyYWN0aW9uc3x8W119LGI9Pl8uSyhfLmNqYSx7ZGF0YTpifSkpLF8uSyhfLlcse2RhdGE6KCk9PmEoKT8udmlkZW9JbnRlcmFjdGlvbnM/LmVsZW1lbnRzSW50ZXJhY3Rpb25zTGF5ZXJ9LHtzdGlja2Vyc0xheWVyUmVuZGVyZXI6Xy5kamF9KSl9KSksInNkIik7dmFyIFNWPV8uTCgoe2RhdGE6YSxZZjpiLGNqOmMsdkI6ZCxJcjplLGVoOmZ9KT0+e2Z1bmN0aW9uIGgocCl7bi5sb3R0aWVFbCYmbi5sb3R0aWVFbC5pc1BhdXNlZCYmbi5sb3R0aWVFbC5nb1RvQW5kUGxheSgwKTtwLnN0b3BQcm9wYWdhdGlvbigpfV8uVUooKCk9Pnt2YXIgcD1vbGEuYmluZCh2b2lkIDAsYSgpKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLHApO18uWXUoKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RhdGUtbmF2aWdhdGVlbmQiLHApfSl9KTt2YXIgaz0oKT0+e3ZhciBwPWEoKTtyZXR1cm4gZD8uKCk/cC5kYXJrVGhlbWVMb2dvPy5sb3R0aWVBbmltYXRpb24/LnVybDpwLmxpZ2h0VGhlbWVMb2dvPy5sb3R0aWVBbmltYXRpb24/LnVybH0sbD0oKT0+YSgpLmFjY2Vzc2liaWxpdHlEYXRhPy5hY2Nlc3NpYmlsaXR5RGF0YT8ubGFiZWx8fF8uYU4oYSgpLnRvb2x0aXBUZXh0KXx8IiIsbT0oKT0+ZD8uKCk/ImxvZ28tZW50aXR5LWxvdHRpZS1hbmltYXRpb24tZGFyayI6CiJsb2dvLWVudGl0eS1sb3R0aWUtYW5pbWF0aW9uLWxpZ2h0IixuPXt9O3JldHVybiBfLksoInl0bS1sb2dvLWVudGl0eSIse2NsYXNzOiJ5dG1Mb2dvRW50aXR5SG9zdCJ9LGU/LigpLF8uSyhfLk8se0E6KCk9PiFlJiZiPy4oKSE9PXZvaWQgMCYmYz8uKCkhPT12b2lkIDAmJmQ/LigpIT09dm9pZCAwLHRoZW46KCk9Pl8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoImRpdiIse2lkOmMsY2xhc3M6Inl0bUxvZ29FbnRpdHlDb250YWluZXIiLCJvbjpjbGljayI6aH0sXy5LKF8uY00se2NsYXNzTmFtZTpfLlAoYiwieXRtTG9nb0VudGl0eUxvZ28iKSxkYXRhOigpPT4oe2FuaW1hdGlvbkNvbmZpZzp7cGF0aDprKCksYXV0b3BsYXk6ITAsbG9vcDohMSxyZW5kZXJlclNldHRpbmdzOnt2aWV3Qm94T25seTohMH19LGxpc3RlbmVyczp7ZGF0YV9mYWlsZWQ6ZixlcnJvcjpmfX0pLGFuaW1hdGlvblJlZjpuLGFuaW1hdGlvbk5hbWU6bX0pKSxXOigpPT5fLksoVm1hLHtjbGFzc05hbWU6Inl0bUxvZ29FbnRpdHlDb250YWluZXIiLApZZjpiLGlkOigpPT5jPy4oKT8/IiIsREE6cD0+e3ZhciByPWEoKSx0PSEhZD8uKCk7cmV0dXJuIHQmJnIuZGFya1RoZW1lTG9nbz8udGh1bWJuYWlsP18uSlAoci5kYXJrVGhlbWVMb2dvLnRodW1ibmFpbCxwfHx2b2lkIDApOiF0JiZyLmxpZ2h0VGhlbWVMb2dvPy50aHVtYm5haWw/Xy5KUChyLmxpZ2h0VGhlbWVMb2dvLnRodW1ibmFpbCxwfHx2b2lkIDApOiIifSxhbHRUZXh0OmwsZWg6Zn0pfSl9KSl9LCJ0ZCIpO1NWLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7SXI6ITAsZWg6ITB9fTsKdmFyIFZtYT1fLkwoKHtjbGFzc05hbWU6YSxZZjpiLGlkOmMsREE6ZCxhbHRUZXh0OmUsZWg6Zn0pPT57dmFyIGg9Xy51RSgiZGl2Iiksaz1fLnVFKCJpbWciKTtfLlVKKCgpPT57ay52YWx1ZS5zcmM9ZChoLnZhbHVlKX0pO3JldHVybiBfLksoImRpdiIse2NsYXNzOmEsZWw6aH0sXy5LKCJpbWciLHtlbDprLCJvbjplcnJvciI6ZnVuY3Rpb24obCl7Zj8uKCk7bC5zdG9wUHJvcGFnYXRpb24oKX0saWQ6YyxjbGFzczpfLlAoYiwieXRtTG9nb0VudGl0eUxvZ28iKSxhbHQ6ZX0pKX0sInVkIik7dmFyIFVWPV8uTCgoe3RvcGJhckxvZ29SZW5kZXJlcjphLFZqOmIsV2o6YyxYajpkLHVtOmUsaWNvbk92ZXJyaWRlOmYsaHo6aCxhazprfSk9PntmdW5jdGlvbiBsKCl7dCghMCl9dmFyIG09Xy5ESShsamEsKCk9PmE/LigpPy5vdmVycmlkZUVudGl0eUtleXx8Xy5WTSgpPyJFZ1owYjNCaVlYSWc5UUVvQVElM0QlM0QiOiIiKSxuPSgpPT5hPy4oKT8uaWNvbkltYWdlPy5pY29uVHlwZSxbcCxyXT1fLkooITEsdm9pZCAwLCJaYVBQbGIiKSx0PXIsdj1fLnkoKS5yZXNvbHZlKF8uSW4oXy5rRikpLHo9KF8uVk0oKXx8dj8uKCkpPz8hMSxFPW51bGwsQT1fLnVFKCJidXR0b24iKTtfLlVKKGZ1bmN0aW9uKCl7KG0/LigpPz92b2lkIDApfHxTUygxMjA4MSxBLnZhbHVlLEUsRj0+e0U9Rn0sbnVsbCl9KTtyZXR1cm4gXy5LKCJ5dG0taG9tZS1sb2dvIixudWxsLF8uSygiYnV0dG9uIix7ZWw6QSwiYXJpYS1sYWJlbCI6KCk9Pl8uQ0ooYT8uKCk/LnRvb2x0aXBUZXh0KT9fLkNKKGE/LigpPy50b29sdGlwVGV4dCk6CiJZb3VUdWJlIixyb2xlOiJsaW5rIixjbGFzczpfLlAoeyJsb2dvLWluLXBsYXllci1lbmRwb2ludCI6YywibW9iaWxlLXRvcGJhci1oZWFkZXItZW5kcG9pbnQiOigpPT4hYygpfSksa2V5OigpPT5tPy4oKT8/dm9pZCAwPyJ5b29kbGUiOiJsb2dvIiwib246Y2xpY2siOmZ1bmN0aW9uKEYpe3ZhciBDPWE/LigpPy5lbmRwb2ludD8/clYsRz1tPy4oKT8/dm9pZCAwLEQ9Ii8iO0c/KEM9Ry5vblRhcENvbW1hbmR8fEMsRD1fLkIoRy5vblRhcENvbW1hbmQ/LmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8udXJsfHxEKTpEPV8uQihDPy5jb21tYW5kTWV0YWRhdGEsXy56dyk/LnVybHx8RDt2YXIgSD1rPy4oKT8/Mzg1NCxSPUYuY3VycmVudFRhcmdldDtHJiYoUi5kYXRhPUcpO2g/LihGKTtfLnFQKHtocmVmOkQsYWs6SCxlbGVtZW50OlIscHVzaFN0YXRlOiEwLGVuZHBvaW50OkN9KTtGLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTooKT0+IXAoKSYmKG0/LigpPz92b2lkIDApJiZpVShiKCkpJiYKalUoeixtPy4oKT8/dm9pZCAwKSx0aGVuOigpPT5fLksoU1Yse2RhdGE6KCk9Pm0/LigpPz92b2lkIDAsSXI6KCk9Pl8uSyhUVix7Vmo6YixXajpjLFhqOmQsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdW06ZSxpY29uT3ZlcnJpZGU6ZixyczpufSksZWg6bH0pfSksXy5LKF8uTyx7QTooKT0+IXAoKSYmKG0/LigpPz92b2lkIDApJiZpVShiKCkpJiYhalUoeixtPy4oKT8/dm9pZCAwKSx0aGVuOigpPT5fLksoU1Yse2RhdGE6KCk9Pm0/LigpPz92b2lkIDAsWWY6Im1vYmlsZS10b3BiYXItbG9nbyIsY2o6ImhvbWUtaWNvbiIsdkI6eixlaDpsfSl9KSxfLksoXy5PLHtBOigpPT4hKCFwKCkmJihtPy4oKT8/dm9pZCAwKSYmaVUoYigpKSksdGhlbjooKT0+Xy5LKFRWLHtWajpiLFdqOmMsWGo6ZCxZZjoibW9iaWxlLXRvcGJhci1sb2dvIixjajoiaG9tZS1pY29uIix1bTplLGljb25PdmVycmlkZTpmLHJzOm59KX0pKSl9LCJ2ZCIpO1VWLmlkb21Db21wYXQ9e2NhbGxiYWNrczp7aHo6ITB9fTsKdmFyIFRWPV8uTCgoe1ZqOmEsV2o6YixYajpjLFlmOmQsY2o6ZSx1bTpmLGljb25PdmVycmlkZTpoLHJzOmt9KT0+e3ZhciBsPSgpPT5hKCk/aD8uKCl8fCJMT0dPX1dJVEhfVEVYVCI6Yz8uKCk/az8uKCk6IkxPR08iO3JldHVybiBfLksoXy5NRCx7aWNvbjooKT0+e3ZhciBtPWwoKTtmPy4oKSYmYT8uKCkmJihtKz0iX01PTk9DSFJPTUUiKTtyZXR1cm4gbX0sY2xhc3NOYW1lOl8uUCgoKT0+YigpPyJsb2dvLWluLXBsYXllciI6ZCgpLHsiZnVsbC1sb2dvIjphLCJmdWxsLWxvZ28tcmVkIjooKT0+YSgpJiZsKCk9PT0iWU9VVFVCRV9QUkVNSVVNX0xPR09fU0hPUlQiLCJzaG9ydHMtbG9nbyI6Yyxtb25vY2hyb21hdGljOmZ9KSxpZDplfSl9LCJ3ZCIpO3ZhciBXbWE9Xy5MKGE9Pl8uSyhfLklCLG51bGwsXy5LKE9tYSx7Rng6ITEsYW5pbWF0aW9uOmEuYW5pbWF0aW9ufSksXy5LKCJkaXYiLHtjbGFzczoieXRTaG9ydHNFbWJlZHNUb3BiYXJDb250YWluZXIifSxfLksoVVYse3RvcGJhckxvZ29SZW5kZXJlcjphLnh5LFZqOiExLFdqOiEwLFhqOiEwLGFrOjEzNDg0MH0pLF8uSyhfLk8se0E6YS5yZWVsSXRlbVdhdGNoUmVzcG9uc2UsdGhlbjooKT0+Xy5LKEhWLHtvcmllbnRhdGlvbjoidmVydGljYWxfZG93biIsSDphLkgsQ3A6ITAsY2xhc3NOYW1lOiJ5dFNob3J0c0VtYmVkc1ZvbHVtZUNvbnRyb2xzIixiajohMH0pfSkpLF8uSyhfLk8se0E6YS5vdmVybGF5LHRoZW46Yj0+Xy5LKFJWLHtkYXRhOigpPT57dmFyIGM9YigpO2lmKF8udFAoKSl7dmFyIGQ9Yy5tZW51Py5tZW51UmVuZGVyZXI7Yz1kPy5pdGVtcz97Li4uYyxtZW51OnsuLi5jLm1lbnUsbWVudVJlbmRlcmVyOnsuLi5kLGl0ZW1zOlt7YWNjb3VudEluZm9NZW51SXRlbTohMH0sCi4uLmQuaXRlbXNdfX19OmN9cmV0dXJuIGN9LGNsYXNzTmFtZToieXRTaG9ydHNFbWJlZHNSZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyIn0pfSksXy5LKE1tYSx7SDphLkgsY29udGV4dDphLmNvbnRleHR9KSksInhkIiksV2xhPV8uTChhPT57dmFyIHtIOmIscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmMsamI6ZCxQaDplLGNvbnRleHQ6Zn09Xy5EQyhhLHtIOnZvaWQgMCxyZWVsSXRlbVdhdGNoUmVzcG9uc2U6dm9pZCAwLGpiOnZvaWQgMCxQaDp2b2lkIDB9KSxbaCxrXT1fLkoodm9pZCAwLHZvaWQgMCwiQ1BTekllIiksW2wsbV09Xy5KKHZvaWQgMCx2b2lkIDAsIklJNEhDZCIpO18ub0YoKCk9Pnt2YXIgQT1iPy4oKTtBPy5pc1JlYWR5KCkmJm0oQS5nZXRQbGF5ZXJTdGF0ZSgpKX0pO3ZhciBuPUE9PntiPy4oKSYmbShBKX07Xy5uRSgoKT0+e3ZhciBBPWI/LigpO0EmJihBLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLG4pLF8uWXUoKCk9PntBLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApuKX0pKX0sIkM3RDU5ZCIpO18ubkUoKCk9Pnt2YXIgQT1jKCk7aWYoQSl7bGV0IEY9Xy55KCkucmVzb2x2ZShfLmJMKTtmb3IobGV0IEMgb2YgQS5lbmdhZ2VtZW50UGFuZWxzfHxbXSkoQT1DLmVuZ2FnZW1lbnRQYW5lbFNlY3Rpb25MaXN0UmVuZGVyZXIpJiZGLk96KEEuaWRlbnRpZmllcj8udGFnfHxBLnRhcmdldElkfHxBLnBhbmVsSWRlbnRpZmllcixDKX19LCJRZFNlVGIiKTtfLm5FKCgpPT57ZnVuY3Rpb24gQSgpe2lmKEMpe2xldCBHPUMuZ2V0T3B0aW9ucz8uKCJjYXB0aW9ucyIpO0cmJkcubGVuZ3RoPjAmJkM/LnVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncz8uKHtmb250U2l6ZUluY3JlbWVudDoyfSwhMSl9fXZhciBGPWI/LigpO2lmKEYpe3ZhciBDPUY7QSgpO0MuYWRkRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc01vZHVsZUF2YWlsYWJsZSIsQSk7Xy5ZdSgoKT0+e0MucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DYXB0aW9uc01vZHVsZUF2YWlsYWJsZSIsQSl9KX19LCJsOFcxdmIiKTsKdmFyIHA9Xy5OKCgpPT5jKCk/Lm92ZXJsYXk/LnJlZWxQbGF5ZXJPdmVybGF5UmVuZGVyZXJ8fGQoKT8uZW1iZWRQcmV2aWV3Py5yZWVsUGxheWVyT3ZlcmxheVJlbmRlcmVyLHZvaWQgMCwiemVoWVliIikscj1fLk4oKCk9Pnt2YXIgQTsoQT1fLkIoYygpPy50b3BiYXIsJGxhKT8udG9wYmFyTG9nbz8udG9wYmFyTG9nb1JlbmRlcmVyKXx8KEE9ZSgpPy5lbmRwb2ludCxBPShBPShBJiZfLkIoQSxfLlREKSk/LnZpZGVvSWQpP2BodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvJHtBfWA6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cyIsQT17aWNvbkltYWdlOntpY29uVHlwZToiWU9VVFVCRV9TSE9SVFNfT1VUTElORV9XSVRIX1RFWFRfMjQifSx0b29sdGlwVGV4dDp7cnVuczpbe3RleHQ6IllvdVR1YmUgU2hvcnRzIn1dfSxlbmRwb2ludDp7Y29tbWFuZE1ldGFkYXRhOnt3ZWJDb21tYW5kTWV0YWRhdGE6e3VybDpBLHdlYlBhZ2VUeXBlOiJXRUJfUEFHRV9UWVBFX1NIT1JUUyIsCnJvb3RWZTozODMyfX0sdXJsRW5kcG9pbnQ6e3VybDpBLHRhcmdldDoiVEFSR0VUX05FV19XSU5ET1cifX19KTtyZXR1cm4gQX0sdm9pZCAwLCJOTjI3MmMiKTthPV8uTigoKT0+e2lmKGwoKT09PTUpe3ZhciBBPWUoKT8uZW5kcG9pbnQ7aWYoQSYmKEE9Xy5CKEEsXy5URCk/LnRodW1ibmFpbD8udGh1bWJuYWlscz8uWzBdPy51cmwpKXJldHVybiBfLklFKHsiYmFja2dyb3VuZC1zaXplIjoiY292ZXIiLCJiYWNrZ3JvdW5kLXBvc2l0aW9uIjoiY2VudGVyIiwiYmFja2dyb3VuZC1yZXBlYXQiOiJuby1yZXBlYXQiLCJiYWNrZ3JvdW5kLWltYWdlIjpgJHsibGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjQpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDE2MHB4KSxcbiAgICAgIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC40KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA5NnB4KSJ9LCB1cmwoJHtBfSlgfSkoKX19LHZvaWQgMCwiaTE2RkRlIik7CnZhciB0PV8uTigoKT0+YigpPz92b2lkIDAsdm9pZCAwLCJVZll0RmYiKSx2PV8uTigoKT0+dCgpPy5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5Py4oKSx2b2lkIDAsImxLY0FtZCIpLHo9Xy5OKCgpPT4oe3RhOmYoKS50YSxUYzpmKCkuVGMsR2M6ZigpLkdjLGJhOmYoKS5iYSxIOnQoKSxwbGF5ZXJTdGF0ZTpsKCk/Py0xLFM6KCk9Pnt9fSksdm9pZCAwLCJlNmxTaWUiKSxFPV8uTigoKT0+e3ZhciBBPXQoKT8uZ2V0UGxheWVyUmVzcG9uc2U/LigpO3JldHVybiBBP18uQihBPy5vdmVybGF5Py5wbGF5ZXJDb250cm9sc092ZXJsYXlSZW5kZXJlcj8ubXV0ZWRBdXRvcGxheSxvVik6dm9pZCAwfSx2b2lkIDAsIkRHVFNuZCIpO3JldHVybiBfLksoXy5uRyx7RWY6W18ub0coJFQsdCldfSxfLksoInNob3J0cy1lbWJlZHMiLHtjbGFzczoieXRTaG9ydHNFbWJlZHNIb3N0Iiwib246Y2xpY2siOmZ1bmN0aW9uKEEpe0Euc3RvcFByb3BhZ2F0aW9uKCk7aWYoIUVRKEEudGFyZ2V0LCJBIikmJgohRVEoQS50YXJnZXQsIkJVVFRPTiIpJiYoQT1iKCkpJiZBLmlzUmVhZHkoKSlpZihBLmlzTXV0ZWRCeUVtYmVkc011dGVkQXV0b3BsYXkoKSl7dmFyIEY9QS5nZXRWaWRlb0RhdGEoKT8udmlkZW9faWQsQz1BLmdldEN1cnJlbnRUaW1lKCk7RiYmKEEudW5NdXRlKCksQS5sb2FkVmlkZW9CeUlkKEYsQykpfWVsc2UgRj1BLmdldFBsYXllclN0YXRlKCk9PT0xLEM9QS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCksRiYmQz9BLnVuTXV0ZSgpOihGPUEuZ2V0UGxheWVyU3RhdGUoKT09PTEsQz1BLmlzTXV0ZWRCeU11dGVkQXV0b3BsYXkoKSxGJiYhQz8oQS5wYXVzZVZpZGVvKCksayh7bmFtZToicGF1c2VfOTZkcF9hbmltYXRpb24ifSkpOkZ8fChDJiZBLnVuTXV0ZSgpLEEucGxheVZpZGVvKCksayh7bmFtZToicGxheV85NmRwX2FuaW1hdGlvbiJ9KSkpfSxzdHlsZTphfSxfLksoXy5PLHtBOigpPT52KCksdGhlbjooKT0+Xy5LKExWLHtHOnoscGxheWVyTXV0ZWRBdXRvcGxheU92ZXJsYXlSZW5kZXJlcjpFfSksClc6KCk9Pl8uSyhXbWEse2FuaW1hdGlvbjpoLHh5OnIscmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmMsSDp0LG92ZXJsYXk6cCxjb250ZXh0OmZ9KX0pKSl9LCJDZCIpO3ZhciBiVj1fLkwoKHtkYXRhOmF9KT0+e0pqYSgpO3JldHVybiBfLksoInl0LXBsYXllci1pbnRlcnN0aXRpYWwtcmVuZGVyZXIiLHtjbGFzczoicGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJIb3N0Iixyb2xlOiJkaWFsb2ciLCJhcmlhLWxhYmVsIjooKT0+e3ZhciBiO2E6e2lmKGI9YSgpLmNvbnRlbnQpe3ZhciBjPV8uQihiLGJtYSk7aWYoYz8udGl0bGU/LmNvbnRlbnQpe2I9Yy50aXRsZS5jb250ZW50O2JyZWFrIGF9Yj1fLkIoYixlbWEpO2I9Yj8uaGVhZGVyJiZfLkIoYi5oZWFkZXIsZG1hKTtpZihiPy5oZWFkbGluZT8uY29udGVudCl7Yj1iLmhlYWRsaW5lLmNvbnRlbnQ7YnJlYWsgYX19Yj12b2lkIDB9cmV0dXJuIGJ9LHRhYmluZGV4Oi0xLGVsOl8uckYoYj0+dm9pZCBiPy5mb2N1cygpKX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVySW50ZXJzdGl0aWFsUmVuZGVyZXJTY3JpbSJ9LF8uSyhfLlcse2RhdGE6KCk9PmEoKS5jb250ZW50fSx7aW50ZXJzdGl0aWFsVmlld01vZGVsOl8uZWphLApkaWFsb2dWaWV3TW9kZWw6Xy4kaWF9KSkpfSwiRGQiKTtiVi5pZG9tQ29tcGF0PSEwO3ZhciBWVj1fLkwoKHtnZjphLEliOmJ9KT0+Xy5LKCJ5dC1iaWdib2FyZCIsbnVsbCxfLksoXy5PLHtBOigpPT5hKCkuaXNEcmFnZ2luZyx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dEJpZ2JvYXJkU3Rvcnlib2FyZEhvc3QifSxfLksoR21hLHtMYjphLEliOmJ9KSl9KSksIkVkIik7VlYuaWRvbUNvbXBhdD0hMDt2YXIgV1Y9Xy5MKGE9Pnt2YXIgYj1hLkc7YT1fLk4oKCk9PmIoKS5lYT9fLiROLm10Ol8uJE4uWnQsdm9pZCAwLCJ4aWR6dWQiKTtyZXR1cm4gXy5LKCJidXR0b24iLHsib246Y2xpY2siOmZ1bmN0aW9uKGMpe3ZhciBkPXtlYTohYigpLmVhLHlxOiEwfTtiKCkuUyhkKTtjLnN0b3BQcm9wYWdhdGlvbigpfSxpZDoicGxheWVyLWNvbnRyb2xzLWExMXktdG9nZ2xlIixjbGFzczoieXRtQTExeVN0eWxlc0hpZGRlbkJ1dHRvbiIsImFyaWEtbGFiZWwiOmF9KX0sIkZkIik7dmFyIFhWPV8uTChhPT57ZnVuY3Rpb24gYihoKXtYUyhhLkZkKCk9PT0tMT8xNDE5MDI6MTQxOTAzKTt2YXIgaz1jPy4oKSxsPWEuRmQoKTtrPy5zZWVrQnkobCoxMCx2b2lkIDAsdm9pZCAwLGw9PT0tMT84Mzo4Mik7aC5zdG9wUHJvcGFnYXRpb24oKX12YXIgYz1fLmtHKCRUKSxkPSgpPT5hLkZkKCk9PT0tMT9fLiROLlF0LnJlcGxhY2UoIiRzZWNvbmRzX3BsYWNlaG9sZGVyIiwoMTApLnRvU3RyaW5nKCkpOl8uJE4uSXQucmVwbGFjZSgiJHNlY29uZHNfcGxhY2Vob2xkZXIiLCgxMCkudG9TdHJpbmcoKSksZT1fLk4oKCk9Pnt2YXIgaD1hLkcoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITA6IShoLmlzTGl2ZSYmIWguaXNMaXZlRHZyRW5hYmxlZCl9LHZvaWQgMCwiS2FySUtjIiksZj1fLnVFKCJidXR0b24iLGg9PntXUyhoLGEuRmQoKT09PS0xPzE0MTkwMjoxNDE5MDMpfSk7cmV0dXJuIF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoImJ1dHRvbiIseyJhcmlhLWxhYmVsIjpkLApjbGFzczpfLlAoYS5jbGFzc05hbWUsInl0bUExMXlTdHlsZXNIaWRkZW5CdXR0b24iLCJwbGF5ZXItY29udHJvbC1zZWVrLWljb24tYTExeSIpLHN0eWxlOl8uSUUoe2xlZnQ6KCk9PmEuRmQoKT09PS0xPyIwIjoidW5zZXQiLHJpZ2h0OigpPT5hLkZkKCk9PT0xPyIwIjoidW5zZXQifSksZWw6Ziwib246Y2xpY2siOmJ9KX0pfSwiR2QiKTt2YXIgWVY9Xy5MKGE9Pnt2YXIge1VkOmIsb25jbGljazpjLC4uLmR9PWE7YT1fLnVFKCJkaXYiLGU9PntXUyhlLGIoKSl9KTtyZXR1cm4gXy5LKCJkaXYiLHtlbDphfSxfLksoXy50Tyx7Li4uZCxvbmNsaWNrOmU9PntYUyhiKCkpO2M/LihlKX19KSl9LCJIZCIpO3ZhciBaVj1fLkwoYT0+e3ZhciBiPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJwbGF5ZXJfZnVsbF9lbnRlcl9hbHQiOiJGVUxMU0NSRUVOIixjPV8ueCgiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyIpPyJwbGF5ZXJfZnVsbF9leGl0X2FsdCI6IkZVTExTQ1JFRU5fRVhJVCIsZD0oKT0+YS5HKCkuaXNGdWxsc2NyZWVuP2M6YjtyZXR1cm4gXy5LKFlWLHtuYW1lOmQsYXJpYUxhYmVsOigpPT5hLkcoKS5pc0Z1bGxzY3JlZW4/Xy4kTi5IdDpfLiROLkp0LGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1ib3R0b20tY29udHJvbHMtZnVsbHNjcmVlbi1pY29uLXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOmR9KSksY2xhc3NOYW1lOiJmdWxsc2NyZWVuLWljb24iLFVkOjEzOTExNyxvbmNsaWNrOmU9PnthLkcoKS50YS50b2dnbGVGdWxsc2NyZWVuKCk7ZS5zdG9wUHJvcGFnYXRpb24oKX19KX0sIklkIik7dmFyICRWPV8uTChhPT57dmFyIGI9Xy5rRygkVCk7cmV0dXJuIF8uSyhZVix7bmFtZTooKT0+YS5HKCkucGxheWVyU3RhdGU9PT0xfHxhLnlzJiZhLkcoKS5wbGF5ZXJTdGF0ZT09PTM/IlBBVVNFX0ZJTExFRCI6IlBMQVlfQVJST1dfRklMTEVEIixhcmlhTGFiZWw6KCk9PmEuRygpLnBsYXllclN0YXRlPT09MXx8YS55cyYmYS5HKCkucGxheWVyU3RhdGU9PT0zP18uJE4uTHQ6Xy4kTi5QZyxjbGFzc05hbWU6InBsYXllci1jb250cm9sLXBsYXktcGF1c2UtaWNvbiIsVWQ6MzY4NDIsb25jbGljazpjPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtlJiYoZT1XUShlKSxkLlMoe2plOmV9KSk7Yy5zdG9wUHJvcGFnYXRpb24oKX19KX0sIkpkIik7dmFyIGFXPV8uTChhPT57dmFyIGI9Xy5rRygkVCk7cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX1JFUExBWSIsYXJpYUxhYmVsOl8uJE4uUHQsY2xhc3NOYW1lOiJlbmRzY3JlZW4tcmVwbGF5LWJ1dHRvbiIsVWQ6NTYzODYsb25jbGljazpjPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtlJiYoZC5yYyYmZT8udW5NdXRlKCksZS5wbGF5VmlkZW8oKSk7Yy5zdG9wUHJvcGFnYXRpb24oKX19KX0sIktkIik7dmFyIGJXPV8uTChhPT5fLksoWVYse25hbWU6IkdFQVIiLGFyaWFMYWJlbDpfLiROLnZ0LGNsYXNzTmFtZTpfLlAoInBsYXllci1zZXR0aW5ncy1pY29uIixhLmNsYXNzTmFtZSksVWQ6Mjg2NjMsb25jbGljazpiPT57YS5HKCkudGEuU2ooYil9fSksIkxkIik7dmFyIGNXPV8uTChhPT57dmFyIHtLdTpiLG9uQ2xpY2s6YyxhcmlhTGFiZWw6ZCxhcmlhUHJlc3NlZDplLGlzT3ZlcmxheTpmfT1fLkRDKGEse2lzT3ZlcmxheTohMX0pO2E9Xy51RSgiYnV0dG9uIixoPT57V1MoaCwxMjcyOTkpfSk7cmV0dXJuIF8uSygieXRtLWNsb3NlZC1jYXB0aW9uaW5nLWJ1dHRvbiIse2NsYXNzOl8uUCgieXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbkhvc3QiLHt5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVkT3ZlcmxheTooKT0+YigpPT09LTEmJmYoKSx5dG1DbG9zZWRDYXB0aW9uaW5nQnV0dG9uSWNvbkRpc2FibGVkOigpPT5iKCk9PT0tMSYmIWYoKX0pfSxfLksoImJ1dHRvbiIse2VsOmEsY2xhc3M6Inl0bUNsb3NlZENhcHRpb25pbmdCdXR0b25CdXR0b24iLHRpdGxlOmQsImFyaWEtbGFiZWwiOmQsImFyaWEtcHJlc3NlZCI6ZSwiYXJpYS1kaXNhYmxlZCI6KCk9PmIoKT09PS0xPyJ0cnVlIjp2b2lkIDAsIm9uOmNsaWNrIjpmdW5jdGlvbihoKXtYUygxMjcyOTkpOwpjPy4oaCk7aC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk1ELHtpY29uOigpPT57dmFyIGg9IiI7aWYoXy54KCJtd2ViX2xvY2FsaXplZF9jY19pY29uIikpe3ZhciBrPV8uSHooKS5nZXQoImhsIik7az0ha3x8aG1hLmluY2x1ZGVzKGspPyJDTE9TRURfQ0FQVElPTiI6IlNVQlRJVExFUyJ9ZWxzZSBrPSJDTE9TRURfQ0FQVElPTiI7dmFyIGw9YigpO3N3aXRjaChsKXtjYXNlIC0xOmNhc2UgMDpoPWs7YnJlYWs7Y2FzZSAxOmg9aysiX0ZJTExFRCI7YnJlYWs7ZGVmYXVsdDpfLmViKGwsdm9pZCAwKX1yZXR1cm4gaH0sY2xhc3NOYW1lOl8uUCh7eXRtQ2xvc2VkQ2FwdGlvbmluZ0J1dHRvbll0SWNvbk92ZXJsYXk6Zn0pfSkpKX0sIk1kIik7Y1cuaWRvbUNvbXBhdD17Y2FsbGJhY2tzOntvbkNsaWNrOiEwfX07dmFyIGtVPSIiO3ZhciBkVz1fLkwoYT0+e3ZhciBiPWEuZ2YsYz1hLnNMLGQ9YS5XcSxlPWEuY2xhc3NOYW1lLGY9YS5WcixoPXA9Pnt2YXIgcj1iKCksdD1jPy4oKSx2PWYoKTtyLnhjJiYodD9yLkg/LnRvZ2dsZVN1YnRpdGxlcyh2KToodD1yLkgpJiZRUSh0LGxVKHIpLHYpKTtfLngoIndlYl9kZWxldGVfc25hY2tiYXJzIil8fHIudGEucUE/LihyKTtkPy4ocCl9LGs9Xy5OKCgpPT57dmFyIHA9YigpLHI9LTE7cC54YyYmKHI9cC5jYXB0aW9uc0VuYWJsZWQ/MTowKTtyZXR1cm4gcn0sdm9pZCAwLCJITW8ycmMiKSxsPV8uTigoKT0+e3ZhciBwPWIoKTtyZXR1cm4gcC54Yz9fLmFBKHAuY2FwdGlvbnNFbmFibGVkPyJDTE9TRURfQ0FQVElPTlNfT04iOiJDTE9TRURfQ0FQVElPTlNfT0ZGIik6Xy5hQSgiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIil9LHZvaWQgMCwiV1E1MVllIiksbT1fLk4oKCk9Pnt2YXIgcD1iKCk7cD1wLnhjP3AuY2FwdGlvbnNFbmFibGVkOnZvaWQgMDtyZXR1cm4gcH0sdm9pZCAwLAoiSTBMVHViIiksbj1fLk4oKCk9PmIoKS54Yyx2b2lkIDAsIkx2ZU9XZSIpO3JldHVybiBfLksoXy5PLHtBOigpPT5fLngoIm13ZWJfcGxheWVyX2hpZGVfdW5hdmFpbGFibGVfc3VidGl0bGVzX2J1dHRvbiIpP24oKTohMCx0aGVuOigpPT5fLksoInl0LWNsb3NlZC1jYXB0aW9ucy10b2dnbGUtYnV0dG9uIix7Y2xhc3M6ZX0sXy5LKGNXLHtLdTprLGFyaWFMYWJlbDpsLGFyaWFQcmVzc2VkOm0sb25DbGljazpoLGlzT3ZlcmxheTohMH0pKX0pfSwiTmQiKTt2YXIgZVc9Xy5MKCh7SUE6YSxkYXRhOmIsY2hpbGRyZW46Y30pPT57ZnVuY3Rpb24gZCgpe2E/LigpfHxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntmLnZhbHVlJiYoaC52YWx1ZS5zdHlsZS53aWR0aD1gJHtmLnZhbHVlLm9mZnNldFdpZHRofXB4YCl9KX12YXIgZT12b2lkIDAsZj1fLnVFKCJkaXYiKSxoPV8udUUoImRpdiIpLGs9Xy5CUSgpLGw9Xy5CUSgpO18ubkUoKCk9PntkKCk7IWUmJmIoKS5zdWJzY3JpYmVkJiYoay5sb3R0aWVFbD8uZ29Ub0FuZFBsYXkoMCksbC5sb3R0aWVFbD8uZ29Ub0FuZFBsYXkoMCkpO2U9ISFiKCkuc3Vic2NyaWJlZH0sIk1NMGpBZiIpO3JldHVybiBfLksoImRpdiIse2NsYXNzOiJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkhvc3QifSxfLksoXy5BUSx7T286ayxScDpsfSxfLksoImRpdiIse2VsOmgsY2xhc3M6Xy5QKCJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkNvbnRlbnRDb250YWluZXIiLHt5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvblN0YXRpY1dpZHRoOmEsCnl0d0FuaW1hdGVkU3Vic2NyaWJlQnV0dG9uQ2FuQW5pbWF0ZTooKT0+YigpLnN1YnNjcmliZWR9KX0sXy5LKCJkaXYiLHtlbDpmLGNsYXNzOiJ5dHdBbmltYXRlZFN1YnNjcmliZUJ1dHRvbkZsZXhDb250YWluZXIifSxjKSkpKX0sIlBkIik7ZVcuaWRvbUNvbXBhdD0hMDt2YXIgZlc9Xy5MKCh7ZGF0YTphLGJ1dHRvbk92ZXJyaWRlczpifSk9Pnt2YXIgW2NdPW5qYShhKTtyZXR1cm4gXy5LKCJ5dG0tc3Vic2NyaWJlLWJ1dHRvbi1yZW5kZXJlciIse2NsYXNzOl8uUCh7ImlzLXN1YnNjcmliZWQiOigpPT5jKCkuc3Vic2NyaWJlZCwiaXMtbm90LXN1YnNjcmliZWQiOigpPT4hYygpLnN1YnNjcmliZWQsZGlzYWJsZWQ6KCk9Pnt2YXIgZDtpZihkPSEhYygpLnRoZW1lKXtkPSEhYygpLnN1YnNjcmliZWQ7dmFyIGU9YygpLnRoZW1lO2Q9ZD8hIWUuc3Vic2NyaWJlZENvbG9yUGFsZXR0ZSYmXy51TihlLnN1YnNjcmliZWRDb2xvclBhbGV0dGUpOiEhZS51bnN1YnNjcmliZWRDb2xvclBhbGV0dGUmJl8udU4oZS51bnN1YnNjcmliZWRDb2xvclBhbGV0dGUpfXJldHVybiBkfX0pfSxfLksoXy5hamEse3NldHRpbmdzOigpPT4oe3VuaXF1ZUlkOiJzdWJzY3JpYmUiLGZrOmMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8W10sWGQ6KGMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8CltdKS5sZW5ndGg+MCxlbmFibGVkOiFjKCkuc3Vic2NyaWJlZCYmKGMoKS50aW1lZEFuaW1hdGlvbkRhdGE/LmFuaW1hdGlvblRpbWluZ3x8W10pLmxlbmd0aD4wfSl9LF8uSyhYbWEse2RhdGE6YyxidXR0b25PdmVycmlkZXM6Yn0pKSl9LCJRZCIpO2ZXLmlkb21Db21wYXQ9ITA7CnZhciBYbWE9Xy5MKCh7ZGF0YTphLGJ1dHRvbk92ZXJyaWRlczpifSk9Pnt2YXIgYz0oKT0+ISghYSgpLnN1YnNjcmliZWR8fCFhKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiksZD1fLk4oKCk9Pih7Li4uUWphKHtyZW5kZXJlcjphKCksc3Vic2NyaWJlZDohIWEoKS5zdWJzY3JpYmVkLGlzT3ZlcmxheTpfLldNKCk/ITA6ITEsc3RvcFByb3BhZ2F0aW9uOiEwfSksZGlzYWJsZWQ6IWEoKS5lbmFibGVkLC4uLihiPy4oKXx8e30pfSksdm9pZCAwLCJ5b0NkY2UiKTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoibW9kZXJuLXN1YnNjcmliZS1idXR0b24tY29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpfLlAoIm5vdGlmaWNhdGlvbi1iZWxsLWNvbnRhaW5lciIse2hpZGRlbjooKT0+IWMoKX0pfSxfLksoXy5XLHtkYXRhOigpPT5hKCkubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbn0se3RvZ2dsZUJ1dHRvblJlbmRlcmVyOih7ZGF0YTplfSk9Pl8uSyhfLnFPLAp7ZGF0YTplLGJ1dHRvbk92ZXJyaWRlczp7c3R5bGU6Im92ZXJsYXkifSxjbGFzc05hbWU6Xy5QKCJub3RpZmljYXRpb24tYmVsbCIse2hpZGRlbjooKT0+IWMoKX0pfSl9KSksXy5LKCJkaXYiLHtjbGFzczpfLlAoIm1vZGVybi1zdWJzY3JpYmUtYnV0dG9uIix7IndpdGgtbm90aWZpY2F0aW9uLWJlbGwiOmN9KX0sXy5LKF8uTyx7QTooKT0+IV8uV00oKSx0aGVuOigpPT57dmFyIGU9Xy5VTSgpPT09ImNoYW5uZWwiO3JldHVybiBfLksoZVcse2RhdGE6YSxJQTplfSxfLksoXy5KSyx7ZGF0YTpkfSkpfSxXOigpPT5fLksoXy5KSyx7ZGF0YTpkfSl9KSxfLksoImRpdiIse2NsYXNzOiJzdWJzY3JpYmUtYnV0dG9uLWNvdW50In0sXy5LKF8uSUose2RhdGE6KCk9PmEoKS5zdWJzY3JpYmVyQ291bnRUZXh0fSkpKSl9LCJSZCIpO3ZhciBnVz1fLkwoKHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpiLFhoOmN9KT0+e2Z1bmN0aW9uIGQoKXtfLkFKKGEoKS5lbmRwb2ludCxhKCksITApfXZhciBlPSgpPT5hKCkuc3R5bGU9PT0iQ0hBTk5FTCIsZj1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRUaHVtYm5haWwiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50Um91bmQ6ZX0pLGg9KCk9Pk51bWJlcihhKCkubGVmdCkrTnVtYmVyKGEoKS53aWR0aC8yKTwuNSxrPV8uUCgieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXkiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheVJpZ2h0OmgseXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlMZWZ0OigpPT4haCgpLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5UmlnaHRBY3RpdmU6KCk9PmIoKSYmaCgpLHl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5TGVmdEFjdGl2ZTooKT0+CmIoKSYmIWgoKX0pLGw9KCk9PmEoKS50aXRsZSxtPSgpPT5hKCkuaG92ZXJjYXJkQnV0dG9uLG49KCk9PmEoKS5tZXRhZGF0YSxwPSgpPT5hKCkuY2FsbFRvQWN0aW9uLHI9Xy5QKHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhV2Vic2l0ZTooKT0+IWUoKSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheU1ldGFkYXRhQ2hhbm5lbDplfSk7Yz1fLlAoInl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbSIse3l0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRTY3JpbUNoYW5uZWw6ZSx5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50U2NyaW1BY3RpdmU6Y30pO3ZhciB0PV8uUCgieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudEhvc3QiLHt5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZTpifSk7cmV0dXJuIF8uSygiZXhwYW5kaW5nLWVuZHNjcmVlbi1lbGVtZW50Iix7Y2xhc3M6dH0sXy5LKCJkaXYiLHtjbGFzczpjfSksCl8uSygiZGl2Iix7Y2xhc3M6a30sXy5LKCJkaXYiLHtjbGFzczoieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlDb250ZW50In0sXy5LKF8uTyx7QTpsLHRoZW46KCk9Pl8uSyhfLlYse3RleHQ6bCxjbGFzc05hbWU6Inl0bUV4cGFuZGluZ0VuZHNjcmVlbkVsZW1lbnRPdmVybGF5VGl0bGUifSl9KSxfLksoXy5PLHtBOm0sdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtRXhwYW5kaW5nRW5kc2NyZWVuRWxlbWVudE92ZXJsYXlCdXR0b24ifSxfLksoXy5XLHtkYXRhOm19LHtzdWJzY3JpYmVCdXR0b25SZW5kZXJlcjpmV30pKX0pLF8uSyhfLk8se0E6bix0aGVuOigpPT5fLksoXy5WLHtjbGFzc05hbWU6cix0ZXh0Om59KX0pLF8uSyhfLk8se0E6KCk9PiFlKCkmJmEoKS5jYWxsVG9BY3Rpb24sdGhlbjooKT0+Xy5LKCJkaXYiLHsib246Y2xpY2siOmQsc3R5bGU6ImRpc3BsYXk6IGNvbnRlbnRzIn0sXy5LKF8uVix7Y2xhc3NOYW1lOiJ5dG1FeHBhbmRpbmdFbmRzY3JlZW5FbGVtZW50T3ZlcmxheUNhbGxUb0FjdGlvbiIsCnRleHQ6cH0pKX0pKSksXy5LKCJkaXYiLHsib246Y2xpY2siOmR9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hKCkuaW1hZ2UsY2xhc3NOYW1lOmZ9KSkpfSwiU2QiKTtnVy5pZG9tQ29tcGF0PSEwO3ZhciBoVz1fLkwoKHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6YSxpc0FjdGl2ZTpiLFhoOmN9KT0+e3ZhciBkPSgpPT5hKCkudGl0bGUsZT0oKT0+YSgpLnRodW1ibmFpbE92ZXJsYXlzLGY9KCk9PmEoKS5wbGF5bGlzdExlbmd0aDtiPV8uUCgieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudEhvc3QiLHt5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50SG9zdEFjdGl2ZTpifSk7Yz1fLlAoInl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbSIse3l0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRTY3JpbUFjdGl2ZTpjfSk7cmV0dXJuIF8uSygidGh1bWJuYWlsLWVuZHNjcmVlbi1lbGVtZW50Iix7Y2xhc3M6Yiwib246Y2xpY2siOmZ1bmN0aW9uKCl7Xy5BSihhKCkuZW5kcG9pbnQsYSgpLCEwKX19LF8uSygiZGl2Iix7Y2xhc3M6Y30pLF8uSyhfLk8se0E6ZCx0aGVuOigpPT5fLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wT3ZlcmxheSJ9LApfLksoImRpdiIse2NsYXNzOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VG9wR3JhZGllbnQifSksXy5LKF8uVix7dGV4dDpkLGNsYXNzTmFtZToieXRtVGh1bWJuYWlsRW5kc2NyZWVuRWxlbWVudFRodW1ibmFpbFRpdGxlIix1YjohMCxtYTohMH0pKX0pLF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hKCkuaW1hZ2UsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGh1bWJuYWlsIn0pLF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksoXy5XLHtkYXRhOmV9LHt0aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyOih7ZGF0YTpofSk9Pl8uSyhfLlZQLHtkYXRhOmgsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50VGltZVN0YXR1cyJ9KX0pfSksXy5LKF8uTyx7QTpmLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aE92ZXJsYXkifSxfLksoXy5NRCwKe2ljb246IlBMQVlMSVNUU19DQUlSTyIsY2xhc3NOYW1lOiJ5dG1UaHVtYm5haWxFbmRzY3JlZW5FbGVtZW50UGxheWxpc3RJY29uIn0pLF8uSyhfLlYse3RleHQ6ZixjbGFzc05hbWU6Inl0bVRodW1ibmFpbEVuZHNjcmVlbkVsZW1lbnRQbGF5bGlzdExlbmd0aCIsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpfSkpfSwiVGQiKTtoVy5pZG9tQ29tcGF0PSEwO3ZhciBpVz1bMzQ2LDQyNiw0NzAsNTA2LDU3MCw2NDAsODUzLDEyODAsMTkyMF0salc9WyJ5dG1DcmVhdG9yRW5kc2NyZWVuUm91bmRpbmdTbWFsbCIsInl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ01lZGl1bSIsInl0bUNyZWF0b3JFbmRzY3JlZW5Sb3VuZGluZ0xhcmdlIl0sbFc9Xy5MKCh7ZW5kc2NyZWVuUmVuZGVyZXI6YSxHOmJ9KT0+e3ZhciBbYyxkXT1fLkoobmV3IEZRKDAsMCwwLDApLHZvaWQgMCwidXV1TUtjIiksW2UsZl09Xy5KKG5ldyBfLm5kKDAsMCksdm9pZCAwLCJweWFpamIiKSxbaCxrXT1fLkooIiIsdm9pZCAwLCJNSzNpQWYiKSxbbCxtXT1fLkooITEsdm9pZCAwLCJlTU9maWIiKSxuPV8uTigoKT0+YigpLkgsdm9pZCAwLCJwRjY4NGIiKSxwPV8uTigoKT0+Xy5VdyhhKCkudHJhY2tpbmdQYXJhbXMpLHZvaWQgMCwiamJvUEZmIikscj0oKT0+e3ZhciBBPW4oKT8uZ2V0VmlkZW9Db250ZW50UmVjdCgpO0EmJkEud2lkdGg+MCYmQS5oZWlnaHQ+MCYmZChuZXcgRlEoQS5sZWZ0LApBLnRvcCxBLndpZHRoLEEuaGVpZ2h0KSk7KEE9bigpPy5nZXRTaXplKCkpJiZBLndpZHRoPjAmJkEuaGVpZ2h0PjAmJmYobmV3IF8ubmQoQS53aWR0aCxBLmhlaWdodCkpfSx0PUE9PntBPT09Inl0bS1jZS1pbi1lbmRzY3JlZW4iJiYobSghMCksWlMocCgpKSl9LHY9QT0+e0E9PT0ieXRtLWNlLWluLWVuZHNjcmVlbiImJm0oITEpfTtfLlVKKCgpPT57cigpO0hrYShwKCkpO24oKT8uYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix0KTtuKCk/LmFkZEV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFeGl0Iix2KTtuKCk/LmFkZEN1ZVJhbmdlKCJ5dG0tY2UtaW4tZW5kc2NyZWVuIixOdW1iZXIoYSgpLnN0YXJ0TXMpLzFFMyxOdW1iZXIoMHg3ZmZmZmZmZmZmZmZmKS8xRTMpO18uWXUoKCk9PntiKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix0KTtiKCkuSD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIix2KTtuKCk/LnJlbW92ZUN1ZVJhbmdlKCJ5dG0tY2UtaW4tZW5kc2NyZWVuIil9KX0pOwpfLkRQKCJyZXNpemUiLHIpO3ZhciB6PV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlbkhvc3QiLCgpPT57dmFyIEE9YygpLndpZHRoLEY9MCxDPS0xO2ZvcihsZXQgRz0wO0c8aVcubGVuZ3RoO0crKyl7bGV0IEQ9TWF0aC5hYnMoQS1pV1tHXSk7aWYoQz09PS0xfHxGPj1EKUM9RyxGPUR9cmV0dXJuYHl0bUNyZWF0b3JFbmRzY3JlZW5TaXplJHtpV1tDXX1gfSx7eXRtQ3JlYXRvckVuZHNjcmVlbkluQ3VlUmFuZ2U6bH0pLEU9Xy5QKCJ5dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW0iLHt5dG1DcmVhdG9yRW5kc2NyZWVuU2NyaW1WaXNpYmxlOigpPT5oKCl9KTtyZXR1cm4gXy5LKCJjcmVhdG9yLWVuZHNjcmVlbiIse2NsYXNzOnp9LF8uSygiZGl2Iix7Y2xhc3M6RSxzdHlsZTpfLklFKHt3aWR0aDooMCxfLlpLKSgoKT0+ZSgpLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PmUoKS5oZWlnaHQpfSl9KSxfLksoXy5XLHtkYXRhOigpPT5hKCkuZWxlbWVudHN9LHtlbmRzY3JlZW5FbGVtZW50UmVuZGVyZXI6KHtkYXRhOkF9KT0+Cl8uSyhrVyx7ZGF0YTpBLEdCOmMsaXNBY3RpdmU6KCk9PmgoKT09PUEoKS5pZCxYaDooKT0+ISFoKCkmJmgoKSE9PUEoKS5pZCxlQTprLEg6bn0pfSkpfSwiVWQiKTtsVy5pZG9tQ29tcGF0PSEwOwp2YXIga1c9Xy5MKCh7ZGF0YTphLEdCOmIsaXNBY3RpdmU6YyxYaDpkLGVBOmUsSDpmfSk9Pnt2YXIgW2gsa109Xy5KKCExLHZvaWQgMCwiS1dZSkllIiksbD1fLk4oKCk9Pl8uVXcoYSgpLnRyYWNraW5nUGFyYW1zKSx2b2lkIDAsIlV4cHlVYiIpLG09dD0+e3Quc3Vic3RyaW5nKDE1KT09PWEoKS5pZCYmKGsoITApLFpTKGwoKSkpfSxuPXQ9Pnt0LnN1YnN0cmluZygxNSk9PT1hKCkuaWQmJmsoITEpfTtfLlVKKCgpPT57Zj8uKCkuYWRkRXZlbnRMaXN0ZW5lcigib25DdWVSYW5nZUVudGVyIixtKTtmPy4oKS5hZGRFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRXhpdCIsbik7dmFyIHQ9YHl0bS1jZS1lbGVtZW50LSR7YSgpLmlkfWA7Zj8uKCkuYWRkQ3VlUmFuZ2UodCxOdW1iZXIoYSgpLnN0YXJ0TXMpLzFFMyxOdW1iZXIoYSgpLmVuZE1zKS8xRTMpO18uWXUoKCk9PntmPy4oKS5yZW1vdmVFdmVudExpc3RlbmVyKCJvbkN1ZVJhbmdlRW50ZXIiLG0pO2Y/LigpLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9uQ3VlUmFuZ2VFbnRlciIsCm4pO2Y/LigpLnJlbW92ZUN1ZVJhbmdlKHQpfSl9KTt2YXIgcD0oKT0+YigpLmNsb25lKCkuc2NhbGUoYSgpLndpZHRoLGEoKS53aWR0aCpiKCkuZ2V0U2l6ZSgpLmFzcGVjdFJhdGlvKCkvYSgpLmFzcGVjdFJhdGlvKS50cmFuc2xhdGUoYSgpLmxlZnQqYigpLndpZHRoLWIoKS5sZWZ0KihhKCkud2lkdGgtMSksYSgpLnRvcCpiKCkuaGVpZ2h0LWIoKS50b3AqKGEoKS53aWR0aCpiKCkuZ2V0U2l6ZSgpLmFzcGVjdFJhdGlvKCkvYSgpLmFzcGVjdFJhdGlvLTEpKSxyPV8uUCgieXRtQ3JlYXRvckVuZHNjcmVlbkVsZW1lbnQiLHt5dG1DcmVhdG9yRW5kc2NyZWVuRWxlbWVudFZpc2libGU6KCk9PmgoKX0sKCk9PnAoKS53aWR0aD4yNTZ8fHAoKS5oZWlnaHQ+MjU2P2pXWzJdOnAoKS53aWR0aD45Nnx8cCgpLmhlaWdodD45Nj9qV1sxXTpqV1swXSk7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6cixzdHlsZTpfLklFKHt3aWR0aDooMCxfLlpLKSgoKT0+cCgpLndpZHRoKSxoZWlnaHQ6KDAsXy5aSykoKCk9PgpwKCkuaGVpZ2h0KSx0b3A6KDAsXy5aSykoKCk9PnAoKS50b3ApLGxlZnQ6Xy55KCkucmVzb2x2ZShfLmxGKT09PSJsdHIiPygwLF8uWkspKCgpPT5wKCkubGVmdCk6ImF1dG8iLHJpZ2h0Ol8ueSgpLnJlc29sdmUoXy5sRik9PT0icnRsIj8oMCxfLlpLKSgoKT0+KGY/LigpLmdldFNpemUoKT8ud2lkdGg/PzApLXAoKS5sZWZ0LXAoKS53aWR0aCk6ImF1dG8ifSksIm9uOm1vdXNlb3ZlciI6ZnVuY3Rpb24odCl7ZShhKCkuaWQpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjptb3VzZW91dCI6ZnVuY3Rpb24odCl7ZSgiIik7dC5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOmZvY3VzaW4iOmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQoKCk9PntlKGEoKS5pZCl9LDApO3Quc3RvcFByb3BhZ2F0aW9uKCl9LCJvbjpmb2N1c291dCI6ZnVuY3Rpb24odCl7ZSgiIik7dC5zdG9wUHJvcGFnYXRpb24oKX0sIm9uOnRvdWNoc3RhcnQiOmZ1bmN0aW9uKHQpe2UoYSgpLmlkKTtZUyhsKCkpO3Quc3RvcFByb3BhZ2F0aW9uKCl9LAoib246Y2xpY2siOmZ1bmN0aW9uKHQpe1lTKGwoKSk7dC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmEoKS5zdHlsZT09PSJWSURFTyJ8fGEoKS5zdHlsZT09PSJQTEFZTElTVCJ9LCgpPT5fLksoaFcse2VuZHNjcmVlbkVsZW1lbnRSZW5kZXJlcjphLGlzQWN0aXZlOmMsWGg6ZH0pKSxfLksoXy5DRSx7d2hlbjooKT0+YSgpLnN0eWxlPT09IkNIQU5ORUwifHxhKCkuc3R5bGU9PT0iV0VCU0lURSJ9LCgpPT5fLksoZ1cse2VuZHNjcmVlbkVsZW1lbnRSZW5kZXJlcjphLGlzQWN0aXZlOmMsWGg6ZH0pKSkpfSwiVmQiKTtrVy5pZG9tQ29tcGF0PSEwO3ZhciBZbWE9Xy5MKGE9PntmdW5jdGlvbiBiKHope3ZhciBFPWYoKT8ubmV4dEJ1dHRvbj8uYnV0dG9uUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludCxBPWYoKT8udmlkZW9JZDtFJiYhej9fLnkoKS5yZXNvbHZlKF8uVUQpLnJlc29sdmVDb21tYW5kKEUpOkEmJmEuSCgpPy5sb2FkVmlkZW9CeVBsYXllclZhcnMoe3ZpZGVvSWQ6QSxhdXRvbmF2OnosYXV0b3BsYXk6en0pfWZ1bmN0aW9uIGMoeil7WFMoMTE1MTMwKTtiKCExKTt6LnN0b3BQcm9wYWdhdGlvbigpfXZhciBbZCxlXT1fLkooMCx2b2lkIDAsIlliRE1mYiIpLGY9Xy5OKCgpPT5CUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdm9pZCAwLCJIYUZLTWIiKSxoPWEuRyxrPV8uTigoKT0+aCgpLnlmLHZvaWQgMCwic1lnbnplIiksbD1fLk4oKCk9PmgoKS56Zix2b2lkIDAsImR5Q3ZLZiIpLG09Xy5OKCgpPT5tVShhLkcsZigpKSx2b2lkIDAsIkNaRm9NYiIpLG49Xy52RSgiYnV0dG9uIix6PT57eiYmV1MoeiwxMTUxMzApfSksCnA9Xy52RSgiZGl2Iix6PT57eiYmV1MoeiwxMTUxMjkpfSk7Xy5uRSgoKT0+e3ZhciB6PW0oKSxFPWwoKSxBPWsoKSxGPWEuSCgpLEM9ZigpO2lmKHope3o9Qz8uY291bnREb3duU2Vjc3x8MTA7dmFyIEc9eioxRTM7aWYoRSYmQT4wKWUoTWF0aC5tYXgoMCwoei1BKS96KSk7ZWxzZXt2YXIgRD0oMCxfLmVsKSgpLEg9KCk9Pnt2YXIgTT0oMCxfLmVsKSgpLUQ7TT1NYXRoLm1pbihNL0csMSk7ZShNKTtNPj0xPyh3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoUiksRj8uaXNSZWFkeT8uKCkmJmIoITApKTpSPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoSCl9O3ZhciBSPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoSCk7Xy5ZdSgoKT0+e3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShSKX0pfX1lbHNlIGUoMCl9LCJHU090d2IiKTt2YXIgcj0oKT0+e1hTKDExNTEyOSk7YS5HKCkuUyh7eGY6ITB9KX0sdD1fLk4oKCk9PmAkey0yMTEqKGQoKSsxKX1gLHZvaWQgMCwiVjVzbXdkIiksCnY9KCk9PmYoKT8uYmFja2dyb3VuZDtyZXR1cm4gXy5LKCJwZnAtYXV0b25hdiIse2NsYXNzOl8uUCgieXRQZnBBdXRvbmF2SG9zdCIsYS5jbGFzc05hbWUse3l0UGZwQXV0b25hdlZpc2libGU6bX0pLCJvbjpjbGljayI6ZnVuY3Rpb24oeil7ei5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLk8se0E6bSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzphLkcsdGh1bWJuYWlsRGV0YWlsczp2fSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBBdXRvbmF2U2NyaW0ifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZIZWFkZXIifSxfLksoXy5WLHt0ZXh0OigpPT5mKCk/LnRpdGxlLG1hOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdlRpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+ZigpPy52aWRlb1RpdGxlLG1hOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQXV0b25hdkJ5bGluZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmYoKT8uYnlsaW5lLG1hOiEwfSkpLApfLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcEF1dG9uYXZQbGF5QnV0dG9uIiwib246Y2xpY2siOmMsZWw6biwiYXJpYS1sYWJlbCI6KCk9PmYoKT8ubmV4dEJ1dHRvbj8uYnV0dG9uUmVuZGVyZXI/LmFjY2Vzc2liaWxpdHk/LmxhYmVsfSxfLksoInN2ZyIse2NsYXNzOiJ5dFBmcEF1dG9uYXZSaW5nIix2aWV3Qm94OiIwIDAgNzIgNzIifSxfLksoImNpcmNsZSIse2N4OiIzNiIsY3k6IjM2IixyOiIzMS41IixmaWxsOiJ3aGl0ZSIsImZpbGwtb3BhY2l0eSI6IjAuMyJ9KSxfLksoImNpcmNsZSIse2N4OiItMzYiLGN5OiIzNiIscjoiMzMuNSIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLGZpbGw6Im5vbmUiLHRyYW5zZm9ybToicm90YXRlKC05MCkiLCJzdHJva2UtZGFzaGFycmF5IjoiMjExIixzdHlsZTpfLklFKHsic3Ryb2tlLWRhc2hvZmZzZXQiOnR9KX0pKSxfLksoXy5NRCx7aWNvbjoiUExBWUVSX1BMQVkiLGNsYXNzTmFtZToieXRQZnBBdXRvbmF2UGxheUljb24ifSkpLApfLksoXy5XLHtkYXRhOigpPT5mKCk/LmNhbmNlbEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTp6fSk9Pl8uSygiZGl2Iix7ZWw6cCxjbGFzczoieXRQZnBBdXRvbmF2Q2FuY2VsQnV0dG9uIn0sXy5LKF8ucE8se2RhdGE6eix0ZzpyLHN0b3BQcm9wYWdhdGlvbjohMCxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19KSl9KSkpfSkpfSwiWGQiKTt2YXIgbVc9Xy5MKGE9Pl8uSygicGZwLWVuZHNjcmVlbi12aWRlby1yZW5kZXJlciIse2NsYXNzOl8uUCgieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVySG9zdCIsYS5jbGFzc05hbWUpfSxfLksoXy5uSCx7Y29tbWFuZDooKT0+YS5kYXRhKCkubmF2aWdhdGlvbkVuZHBvaW50LGFyaWFMYWJlbDooKT0+Xy5hTihhLmRhdGEoKS50aXRsZSl9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOigpPT5hLmRhdGEoKS50aHVtYm5haWwsY2xhc3NOYW1lOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJUaHVtYm5haWwifSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBFbmRzY3JlZW5WaWRlb1JlbmRlcmVyT3ZlcmxheSJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlck92ZXJsYXlUaXRsZUJ5bGluZSJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlclRpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkudGl0bGUsCm1hOiEwLHljOiEwfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuVmlkZW9SZW5kZXJlckJ5bGluZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnNob3J0QnlsaW5lVGV4dCxtYTohMCx5YzohMH0pLF8uSyhfLk8se0E6KCk9PmEuZGF0YSgpLnNob3J0Vmlld0NvdW50VGV4dCx0aGVuOigpPT5fLksoXy5JQixudWxsLCIgXHUyMDIyICIsXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkuc2hvcnRWaWV3Q291bnRUZXh0LG1hOiEwfSkpfSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblZpZGVvUmVuZGVyZXJEdXJhdGlvbiJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLmxlbmd0aFRleHQsbWE6ITB9KSkpKSksIllkIik7dmFyIFptYT1fLkwoYT0+e2Z1bmN0aW9uIGIoRCl7RC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBjKEQpe3QoITEpO0Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZChEKXt0KCEwKTtEPy5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBlKCl7RygpfWZ1bmN0aW9uIGYoRCl7dmFyIEg9Ri52YWx1ZTtIJiYoSC5zY3JvbGxUbyh7bGVmdDpILnNjcm9sbExlZnQtSC5jbGllbnRXaWR0aCouOCxiZWhhdmlvcjoic21vb3RoIn0pLEQuc3RvcFByb3BhZ2F0aW9uKCkpfWZ1bmN0aW9uIGgoRCl7dmFyIEg9Ri52YWx1ZTtIJiYoSC5zY3JvbGxUbyh7bGVmdDpILnNjcm9sbExlZnQrSC5jbGllbnRXaWR0aCouOCxiZWhhdmlvcjoic21vb3RoIn0pLEQuc3RvcFByb3BhZ2F0aW9uKCkpfXZhciBrPV8uTigoKT0+YS5VYygpLndhdGNoTmV4dFJlc3BvbnNlLHZvaWQgMCwiV1g2UkJlIiksbD1fLk4oKCk9Pk1TKGsoKSkuZmlsdGVyKEQ9PkQuZW5kU2NyZWVuVmlkZW9SZW5kZXJlciksdm9pZCAwLAoiVlZVZHJjIiksbT1fLk4oKCk9Pnt2YXIgRD1hLlVjKCkucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXI/LnN0YXJ0TXM7RD1EPytEOnZvaWQgMDtyZXR1cm4gYS5HKCkucGxheWVyU3RhdGU9PT0yJiZsPy4oKT8ubGVuZ3RoPjAmJighRHx8YS5HKCkudmEqMUUzPEQpfSx2b2lkIDAsInBRU1FLYiIpLG49Xy5OKCgpPT5hLlVjKCkucGxheWVyUmVzcG9uc2U/LnZpZGVvRGV0YWlscz8udmlkZW9JZCx2b2lkIDAsInlRYk4xZSIpLFtwLHJdPV8uQUMoKCk9PntuKCk7cmV0dXJuITF9KSx0PXIsW3Ysel09Xy5KKCExLHZvaWQgMCwicVFSNzNiIiksW0UsQV09Xy5KKCExLHZvaWQgMCwidmNhM0lkIiksRj1fLnZFKCJkaXYiKSxDPV8uTigoKT0+YS5VYygpLnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LmF1dGhvcj8/IiIsdm9pZCAwLCJvSkUwc2QiKSxHPSgpPT57dmFyIEQ9Ri52YWx1ZTtEJiYoeihELnNjcm9sbExlZnQ+MSksQShELnNjcm9sbExlZnQ8CkQuc2Nyb2xsV2lkdGgtRC5jbGllbnRXaWR0aC0xKSl9O18ubkUoKCk9PntwKCk7bSgpJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntHKCl9KX0sInRBMTE3ZCIpO3JldHVybiBfLksoInBmcC1tb3JlLXZpZGVvcyIse2NsYXNzOl8uUCgieXRQZnBNb3JlVmlkZW9zSG9zdCIsYS5jbGFzc05hbWUpfSxfLksoXy5PLHtBOigpPT5tKCkmJiFwKCksdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zT3ZlcmxheSIsIm9uOmNsaWNrIjpifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NIZWFkZXIifSxfLksoImgzIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1RpdGxlIn0sKCk9Pl8uJE4uenQucmVwbGFjZSgiJGNoYW5uZWxfbmFtZV9wbGFjZWhvbGRlciIsQygpKSksXy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zQ2xvc2VCdXR0b24iLCJvbjpjbGljayI6ZCwiYXJpYS1sYWJlbCI6Xy4kTi54dH0sXy5LKF8uTUQse2ljb246IkNMT1NFIiwKY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NDbG9zZUljb24ifSkpKSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NWaWRlb0xpc3RDb250YWluZXIifSxfLksoXy5PLHtBOnYsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zUGFkZGxlTGVmdCIsIm9uOmNsaWNrIjpmLCJhcmlhLWxhYmVsIjpfLiROLmZvfSxfLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9MRUZUIixjbGFzc05hbWU6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZUljb24ifSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBNb3JlVmlkZW9zVmlkZW9MaXN0IixlbDpGLCJvbjpzY3JvbGwiOmV9LF8uSyhfLlcse2RhdGE6bCxIazohMH0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6KHtkYXRhOkR9KT0+Xy5LKG1XLHtkYXRhOkQsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NWaWRlb0l0ZW0ifSl9KSksXy5LKF8uTyx7QTpFLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwTW9yZVZpZGVvc1BhZGRsZVJpZ2h0IiwKIm9uOmNsaWNrIjpoLCJhcmlhLWxhYmVsIjpfLiROLmVvfSxfLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVCIsY2xhc3NOYW1lOiJ5dFBmcE1vcmVWaWRlb3NQYWRkbGVJY29uIn0pKX0pKSl9KSxfLksoXy5PLHtBOigpPT5tKCkmJnAoKSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcE1vcmVWaWRlb3NNb3JlVmlkZW9zQnV0dG9uIiwib246Y2xpY2siOmMsImFyaWEtbGFiZWwiOl8uJE4uYm99LF8uJE4uYm8pfSkpfSwiJGQiKTt2YXIgJG1hPV8uTChhPT5fLksoInBmcC1lbmRzY3JlZW4tcGxheWxpc3QtcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckhvc3QiLGEuY2xhc3NOYW1lKX0sXy5LKF8ubkgse2NvbW1hbmQ6KCk9PmEuZGF0YSgpLm5hdmlnYXRpb25FbmRwb2ludCxhcmlhTGFiZWw6KCk9Pl8uYU4oYS5kYXRhKCkudGl0bGUpfSxfLksoXy5VUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YS5kYXRhKCkudGh1bWJuYWlsLGNsYXNzTmFtZToieXRQZnBFbmRzY3JlZW5QbGF5bGlzdFJlbmRlcmVyVGh1bWJuYWlsIn0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlck92ZXJsYXkifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJPdmVybGF5VGl0bGUifSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcEVuZHNjcmVlblBsYXlsaXN0UmVuZGVyZXJUaXRsZSJ9LF8uSyhfLlYse3RleHQ6KCk9PmEuZGF0YSgpLnRpdGxlLAptYTohMH0pKSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckJvdHRvbU92ZXJsYXkifSxfLksoXy5NRCx7aWNvbjoiUExBWUxJU1RTIixjbGFzc05hbWU6Inl0UGZwRW5kc2NyZWVuUGxheWxpc3RSZW5kZXJlckljb24ifSksXy5LKF8uVix7dGV4dDooKT0+YS5kYXRhKCkudmlkZW9Db3VudFRleHQseWM6ITB9KSkpKSwiYWUiKTt2YXIgYW5hPV8uTChhPT57ZnVuY3Rpb24gYihGKXtGLnN0b3BQcm9wYWdhdGlvbigpO0Y9eigpLmxlbmd0aDttKChsKCktcigpK0YqcigpKSVGKX1mdW5jdGlvbiBjKEYpe0Yuc3RvcFByb3BhZ2F0aW9uKCk7Rj16KCkubGVuZ3RoO20oKGwoKStyKCkpJUYpfXZhciBkPV8udkUoImRpdiIpLFtlLGZdPV8uSihbXSx2b2lkIDAsIkVyVVFJZSIpLFtoLGtdPV8uSigwLHZvaWQgMCwiV01lWW9kIiksbD1oLG09ayxbbixwXT1fLkooMCx2b2lkIDAsIk96UFNrZSIpLHI9bixbdCwsdl09Xy5KKDAsdm9pZCAwLCJsQ1RtcGUiKTtfLkRQKCJyZXNpemUiLCgpPT57dihGPT5GKzEpfSk7dmFyIHo9Xy5OKCgpPT5NUyhhLndhdGNoTmV4dFJlc3BvbnNlPy4oKSksdm9pZCAwLCJyeTJEVCIpLEU9Xy5OKCgpPT5uVShhLkcsYS53YXRjaE5leHRSZXNwb25zZT8uKCkpLHZvaWQgMCwiRmhVWnIiKSxBPV8uTigoKT0+cigpJiZ6KCkubGVuZ3RoPnIoKSx2b2lkIDAsIlV3RWM1YiIpO18ubkUoKCk9Pnt0KCk7CnZhciBGPXooKSxDPWwoKTtpZihFKCkmJmQudmFsdWUpaWYoRi5sZW5ndGgpe3ZhciBHPWQudmFsdWUsRD1HLmNsaWVudFdpZHRoO0c9Ry5jbGllbnRIZWlnaHQ7bGV0IFQ9Ri5sZW5ndGg7Zm9yKHZhciBIPTIsUj0yLE09TWF0aC5tYXgoRC85NiwyKSxTPU1hdGgubWF4KEcvNTQsMiksWT0oVC0xKSo0O1k+MCYmKEg8TXx8UjxTKTspe3ZhciBwYT1ILzIsb2E9Ui8yLFU9SDw9TS0yJiZZPj1vYSo0LGhhPVI8PVMtMiYmWT49cGEqNDtpZigocGErMSkvb2EqblcvKEQvRyk+RC9HLyhwYS8ob2ErMSkqblcpJiZoYSlZLT1wYSo0LFIrPTI7ZWxzZSBpZihVKVktPW9hKjQsSCs9MjtlbHNlIGlmKGhhKVktPXBhKjQsUis9MjtlbHNlIGJyZWFrfWxldCB7Y29sdW1uQ291bnQ6YmEsWXo6YWEsUno6T2F9PXtjb2x1bW5Db3VudDpILFl6OlIsUno6WX07SD0hMTtPYT49MTImJlQqNC1PYTw9NiYmKGFhPj00fHxiYT49NCkmJihIPSEwKTtSPWJhKjk2O009YWEqNTQ7Uz1NYXRoLm1pbihSL008RC9HPwpHL006RC9SLDIpO1I9TWF0aC5mbG9vcihNYXRoLm1pbihELFIqUykpO009TWF0aC5mbG9vcihNYXRoLm1pbihHLE0qUykpO2xldCB7U0E6SmIsUkE6emF9PXtTQTpSLFJBOk19O1I9SmIrNDtNPXphKzQ7Uz0wO1k9W107Zm9yKHBhPTA7cGE8YmE7cGErKylmb3Iob2E9MDtvYTxhYTtvYSsrKWlmKFU9MCxIJiZwYT49YmEtMiYmb2E+PWFhLTI/VT0xOm9hJTI9PT0wJiZwYSUyPT09MCYmKFU9MiksaGE9UyVULFUhPT0wKXtsZXQgTGI9TWF0aC5mbG9vcihNKm9hL2FhKSxjYz1NYXRoLmZsb29yKFIqcGEvYmEpO1kucHVzaCh7ZGF0YTpGWyhoYStDKSVUXSxsZWZ0OmNjKyhELUpiKS8yLHRvcDpMYisoRy16YSkvMix3aWR0aDpNYXRoLmZsb29yKFIqKHBhK1UpL2JhKS1jYy00LGhlaWdodDpNYXRoLmZsb29yKE0qKG9hK1UpL2FhKS1MYi00fSk7UysrfXZhciB7U3k6bWEsaW5kZXg6dGF9PXtTeTpZLGluZGV4OlN9O2YobWEpO3AodGEpfWVsc2UgZihbXSl9LCJ3ZVk0QiIpO3JldHVybiBfLksoInBmcC12aWRlby13YWxsLWVuZHNjcmVlbiIsCntjbGFzczpfLlAoInl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSG9zdCIsYS5jbGFzc05hbWUse3l0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlzaWJsZTpFLHl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuSXNPYnNjdXJlZDphLlV4fSksIm9uOmNsaWNrIjpmdW5jdGlvbihGKXtGLnN0b3BQcm9wYWdhdGlvbigpfX0sXy5LKF8uTyx7QTpFLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuVmlkZW9MaXN0Q29udGFpbmVyIn0sXy5LKF8uTyx7QSx0aGVuOigpPT5fLksoImJ1dHRvbiIse2NsYXNzOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUxlZnQiLCJvbjpjbGljayI6YiwiYXJpYS1sYWJlbCI6Xy4kTi5mb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fTEVGVCIsY2xhc3NOYW1lOiJ5dFBmcFZpZGVvV2FsbEVuZHNjcmVlblBhZGRsZUljb24ifSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0xpc3QiLAplbDpkfSxfLksoXy5nRyx7cGE6ZX0sRj0+Xy5LKCJkaXYiLHtjbGFzczoieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5WaWRlb0l0ZW0iLHN0eWxlOl8uSUUoe3RvcDooMCxfLlpLKSgoKT0+Ri50b3ApLGxlZnQ6KDAsXy5aSykoKCk9PkYubGVmdCksd2lkdGg6KDAsXy5aSykoKCk9PkYud2lkdGgpLGhlaWdodDooMCxfLlpLKSgoKT0+Ri5oZWlnaHQpfSl9LF8uSyhfLlcse2RhdGE6KCk9PkYuZGF0YX0se2VuZFNjcmVlblZpZGVvUmVuZGVyZXI6bVcsZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjokbWF9KSkpKSxfLksoXy5PLHtBLHRoZW46KCk9Pl8uSygiYnV0dG9uIix7Y2xhc3M6Inl0UGZwVmlkZW9XYWxsRW5kc2NyZWVuUGFkZGxlUmlnaHQiLCJvbjpjbGljayI6YywiYXJpYS1sYWJlbCI6Xy4kTi5lb30sXy5LKF8uTUQse2ljb246IkNIRVZST05fUklHSFQiLGNsYXNzTmFtZToieXRQZnBWaWRlb1dhbGxFbmRzY3JlZW5QYWRkbGVJY29uIn0pKX0pKX0pKX0sImNlIiksblc9OTYvNTQ7dmFyIG9XPV8uTCgoe2plOmF9KT0+e3ZhciBiPV8uTigoKT0+YSgpLHZvaWQgMCwiRVRnZTdkIiksW2MsLGRdPV8uSigwLHZvaWQgMCwiWkNCSXMiKTtfLm5FKCgpPT57YigpJiZkKGU9PmUrMSl9LCJLc1gzcmYiKTtyZXR1cm4gXy5LKCJwbGF5ZXItYWN0aW9uLWluZGljYXRvciIse2NsYXNzOiJ5dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySG9zdCJ9LF8uSyhfLmdHLHtwYTooKT0+YigpP1tjKCldOltdfSwoKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRQbGF5ZXJDb250cm9sc1BsYXllckFjdGlvbkluZGljYXRvckFjdGlvbiJ9LF8uSyhfLk1ELHtpY29uOmIsY2xhc3NOYW1lOiJ5dFBsYXllckNvbnRyb2xzUGxheWVyQWN0aW9uSW5kaWNhdG9ySWNvbiJ9KSkpKX0sImVlIik7b1cuaWRvbUNvbXBhdD0hMDt2YXIgcFc9Xy5MKCh7RzphLFNtOmIscGxheWVyT3ZlcmxheVJlbmRlcmVyOmMsVnc6ZCxjbGFzc05hbWU6ZX0pPT57dmFyIGY9KCk9Pl8uQihiPy4oKT8ucGxheWVyQmFyQWN0aW9uQnV0dG9uLF8uVkwpO3JldHVybiBfLksoInBsYXllci10aW1lLWRpc3BsYXkiLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5SG9zdCIsZSl9LF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVDaHVua3MiLHt5dHdQbGF5ZXJUaW1lRGlzcGxheVBpbGw6KCk9PiFkPy4oKSx5dHdQbGF5ZXJUaW1lRGlzcGxheUxpdmVEb3Q6KCk9PmEoKS5pc0xpdmUseXR3UGxheWVyVGltZURpc3BsYXlMaXZlSGVhZDooKT0+b1UoYSgpKX0pLCJvbjpjbGljayI6ZnVuY3Rpb24oaCl7aWYoYSgpLmlzTGl2ZSYmIW9VKGEoKSkpe2EoKS5IPy5zZWVrVG8oSW5maW5pdHkpO3ZhciBrPVVRKGEoKS5IKTtrJiZhKCkuUyh7dmlkZW9EdXJhdGlvbjprfSl9aC5zdG9wUHJvcGFnYXRpb24oKX19LApfLksoImRpdiIse2RpcjoibHRyIn0sXy5LKGJuYSx7RzphLHBsYXllck92ZXJsYXlSZW5kZXJlcjpjfSksXy5LKF8uTyx7QTooKT0+IW9VKGEoKSksdGhlbjooKT0+Xy5LKGNuYSx7RzphfSl9KSkpLF8uSyhfLk8se0E6KCk9Pnt2YXIgaD1fLkIoYj8uKCk/LnBsYXllckJhcixEUyk/Xy5CKGtUKGEoKSxfLkIoYj8uKCk/LnBsYXllckJhcixEUykpLGVUKT8udGl0bGU6dm9pZCAwLGs9ZigpPy50ZXh0O3JldHVybiBoPz9rfSx0aGVuOmg9Pl8uSyhkbmEse3RpdGxlOmgsYnV0dG9uOmYsRzphfSl9KSl9LCJmZSIpLGJuYT1fLkwoKHtHOmEscGxheWVyT3ZlcmxheVJlbmRlcmVyOmJ9KT0+e3ZhciBjPSgpPT5hKCkuaXNMaXZlP18uJE4ubG86Q1QoYSgpLnZhKTtyZXR1cm4gXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZUVsYXBzZWQifSxfLksoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sXy5LKF8uTyx7QTooKT0+Yj8uKCk/LmxpdmVJbmRpY2F0b3JUZXh0LAp0aGVuOmQ9Pl8uSyhfLlYse3RleHQ6ZH0pLFc6KCk9Pl8uSyhfLklCLG51bGwsYyl9KSksXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5U2NyZWVuUmVhZGVyT25seSJ9LCgpPT57aWYoYSgpLmlzTGl2ZSlyZXR1cm4gXy4kTi5sbzt2YXIgZD1QUih7c2Vjb25kczphKCkudmF9KTtyZXR1cm5gJHtfLiROLlZ0fSAke2R9YH0pKX0sImdlIiksY25hPV8uTCgoe0c6YX0pPT57dmFyIGI9KCk9PntpZihvVShhKCkpKXZhciBjPTA7ZWxzZXtjPU1hdGg7dmFyIGQ9Yy5yb3VuZCxlPWEoKTtjPWQuY2FsbChjLGUuaXNEcmFnZ2luZz9lLkNhOmUudmEpLU1hdGgucm91bmQoVVEoYSgpLkgpKX1yZXR1cm4gY307cmV0dXJuIF8uSyhfLklCLG51bGwsXy5LKCJzcGFuIix7Y2xhc3M6Inl0d1BsYXllclRpbWVEaXNwbGF5VGltZVNlY29uZCJ9KSxfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlUaW1lRGVsaW1pdGVyIiwiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sCiIvIiksXy5LKCJzcGFuIix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVTZWNvbmQiLCJ5dHdQbGF5ZXJUaW1lRGlzcGxheVRpbWVEdXJhdGlvbiIpfSxfLksoInNwYW4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sKCk9PmEoKS5pc0xpdmU/Q1QoYigpKTpDVChhKCkudmlkZW9EdXJhdGlvbikpLF8uSygic3BhbiIse2NsYXNzOiJ5dHdQbGF5ZXJUaW1lRGlzcGxheVNjcmVlblJlYWRlck9ubHkifSwoKT0+e2lmKGEoKS5pc0xpdmUpcmV0dXJuIENUKGIoKSk7dmFyIGM9UFIoe3NlY29uZHM6YSgpLnZpZGVvRHVyYXRpb259KTtyZXR1cm5gJHtfLiROLlV0fSAke2N9YH0pKSl9LCJoZSIpLGRuYT1fLkwoKHt0aXRsZTphLGJ1dHRvbjpiLEc6Y30pPT57ZnVuY3Rpb24gZChmKXtiPy4oKT8uY29tbWFuZCYmKF8uQUooYigpLmNvbW1hbmQse30sITEpLGYuc3RvcFByb3BhZ2F0aW9uKCkpfXZhciBlPV8uTigoKT0+YygpLmJhPy5FZSx2b2lkIDAsImpnMk9NYyIpO3JldHVybiBfLksoXy5PLAp7QTpiLHRoZW46Zj0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJBY3Rpb25Db250YWluZXIifSxfLksoImJ1dHRvbiIse2NsYXNzOl8uUCgieXR3UGxheWVyVGltZURpc3BsYXlQaWxsIiwieXR3UGxheWVyVGltZURpc3BsYXlQbGF5ZXJCYXJCdXR0b24iKSwib246Y2xpY2siOmQsImFyaWEtbGFiZWwiOigpPT5fLmFOKGYoKS50ZXh0KX0sXy5LKF8uVix7dGV4dDphLHljOiEwfSksXy5LKF8uTyx7QTooKT0+IShfLngoIm13ZWJfdXNlX29ubHlfY2hhcHRlcl90aXRsZV9pbl9mdWxsc2NyZWVuIikmJmMoKS5pc0Z1bGxzY3JlZW4pLHRoZW46KCk9Pl8uSyhfLk1ELHtpY29uOiJDSEVWUk9OX1JJR0hUX0NBSVJPIixjbGFzc05hbWU6Inl0d1BsYXllclRpbWVEaXNwbGF5Q2hldnJvbiJ9KX0pKSksVzooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclRpbWVEaXNwbGF5Q2hhcHRlclRleHQiLHt5dHdQbGF5ZXJUaW1lRGlzcGxheUZ1bGxzY3JlZW5Db250cm9sc0Fsd2F5c09uOmV9KX0sCl8uSyhfLlYse3RleHQ6YSx5YzohMH0pKX0pfSwiaWUiKTt2YXIgcVc9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMsZCl7dGhpcy5nbj1hO3RoaXMubGlzdGVuZXJzPVtdO3RoaXMuY29udGV4dD1iO3RoaXMubz1kO3RoaXMudj1xVSh0aGlzLlVjPy5IKTt0aGlzLkQ9dGhpcy5TLmJpbmQodGhpcyk7dGhpcy5zdGF0ZT17Li4uZFQoKSwuLi5jfTthPXRoaXMudWQoKTtbdGhpcy5CLHRoaXMual09Xy5KKGEsdm9pZCAwLCJwM053cSIpfVMoYSl7aWYoIXFsYShhLHRoaXMuc3RhdGUpKXt0aGlzLnN0YXRlPXsuLi50aGlzLnN0YXRlLC4uLmF9O2E9Xy54KCJwbGF5ZXJfY29udHJvbHNfbG9nX2NyZWF0aW9uX2VuYWJsZWQiKTt2YXIgYj0tMTthJiYhcFUoKSYmKGI9KDAsXy5lbCkoKSk7YSYmXy5BcSgicGN1X3MiKTt0aGlzLmomJnRoaXMuaih0aGlzLnVkKCkpO2EmJihfLkFxKCJwY3Vfc2UiKSxfLkFxKCJwY3VfcnMiKSk7dGhpcy5nbih0aGlzLnVkKCkpO2EmJihfLkFxKCJwY3VfcmUiKSxwbGEoYiksXy5qZi5HYSgoKT0+e18uQXEoInBjdV9hcCIpfSwKOCkpfX11ZCgpe3ZhciBhPXRoaXMubz9xVSh0aGlzLm8oKSk6cVUodGhpcy5VYz8uSCk7cmV0dXJuey4uLnRoaXMuc3RhdGUsUzp0aGlzLkQsSDphLHRhOnRoaXMuY29udGV4dC50YSxUYzp0aGlzLmNvbnRleHQuVGMsR2M6dGhpcy5jb250ZXh0LkdjLGJhOnRoaXMuY29udGV4dC5iYX19Z2V0RGF0YSgpe3JldHVybiB0aGlzLlVjfX07dmFyIHJXPV8uTChhPT57ZnVuY3Rpb24gYihZKXtNPUguYW5pbWF0ZShbe29mZnNldDowLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIixvcGFjaXR5Oll9LHtvZmZzZXQ6MSxvcGFjaXR5OjF9XSx7ZHVyYXRpb246MjAwLGZpbGw6ImZvcndhcmRzIn0pO00uYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e009dm9pZCAwO2UoKTtGPSJsaW5nZXJpbmcifSl9ZnVuY3Rpb24gYyhZLHBhPSExLG9hPSExKXt2YXIgVT1bXTtVLnB1c2goe29mZnNldDowLHRyYW5zZm9ybTpgdHJhbnNsYXRlWCgke0M9PT0tMT8yMDotMjB9cHgpYCxvcGFjaXR5OnBhPyIwIjoiMSJ9KTtwYSYmVS5wdXNoKHtvZmZzZXQ6LjUsb3BhY2l0eToiMSJ9KTtVLnB1c2goe29mZnNldDoxLHRyYW5zZm9ybToidHJhbnNsYXRlWCgwKSIsb3BhY2l0eToiMSJ9KTtwYT1ZLmFuaW1hdGUoVSx7ZHVyYXRpb246NDAwLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMDUsIDAuMDAsIDAuMDAsIDEuMDApIn0pOwpZPVkucXVlcnlTZWxlY3RvcigicGF0aCIpO1U9W107dmFyIGhhPXtvZmZzZXQ6MCxkOkM9PT0tMT8ncGF0aCgiTSAxOCA0IEwgMTggMTYgTCAxOCAyOCIpJzoncGF0aCgiTSA0IDQgTCA0IDE2IEwgNCAyOCIpJ307b2EmJihoYS5maWx0ZXI9ImRyb3Atc2hhZG93KDAgMCAwLjVweCByZ2JhKDAsIDAsIDAsIDAuOCkpIik7VS5wdXNoKGhhKTtvYSYmVS5wdXNoKHtvZmZzZXQ6LjgsZmlsdGVyOiJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwLjgpKSJ9KTtoYT17b2Zmc2V0OjEsZDpDPT09LTE/J3BhdGgoIk0gMTggNCBMIDYgMTYgTCAxOCAyOCIpJzoncGF0aCgiTSA0IDQgTCAxNiAxNiBMIDQgMjgiKSd9O29hJiYoaGEuZmlsdGVyPSJkcm9wLXNoYWRvdygwIDAgMC41cHggcmdiYSgwLCAwLCAwLCAwKSkiKTtVLnB1c2goaGEpO1kuYW5pbWF0ZShVLHtkdXJhdGlvbjozMzMsZWFzaW5nOiJjdWJpYy1iZXppZXIoMC4wNSwgMC4wMCwgMC4wMCwgMS4wMCkiLGZpbGw6ImZvcndhcmRzIn0pOwpyZXR1cm4gcGF9ZnVuY3Rpb24gZCgpe3ZhciBZPUgucXVlcnlTZWxlY3RvcigiLnl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50IikuY2xvbmVOb2RlKCEwKTtZLmNsYXNzTGlzdC5hZGQoInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dBZGRpdGlvbmFsIik7WS5jbGFzc0xpc3QucmVtb3ZlKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpO0guYXBwZW5kQ2hpbGQoWSk7YyhZLCEwLCEwKS5hZGRFdmVudExpc3RlbmVyKCJmaW5pc2giLCgpPT57WS5yZW1vdmUoKX0pfWZ1bmN0aW9uIGUoKXtjbGVhclRpbWVvdXQoUik7Uj1zZXRUaW1lb3V0KCgpPT57ZigpfSxfLnNqKCJ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9saW5nZXJfZHVyYXRpb24iLDMwMCkpfWZ1bmN0aW9uIGYoWT0xLHBhPSEwKXtNPUguYW5pbWF0ZShbe29mZnNldDowLG9wYWNpdHk6WX0se29mZnNldDoxLG9wYWNpdHk6MH1dLHtkdXJhdGlvbjoyMDAsZmlsbDoiZm9yd2FyZHMiLGVhc2luZzoiY3ViaWMtYmV6aWVyKDAuMjAsIDAuMDAsIDAuNjAsIDEuMDApIn0pOwpwYSYmKE0uYWRkRXZlbnRMaXN0ZW5lcigiZmluaXNoIiwoKT0+e1M/LigpO009dm9pZCAwO2soKTtBKCExKX0pLEY9ImZhZGluZy1vdXQiKX1mdW5jdGlvbiBoKCl7aWYoIU0pcmV0dXJuIDA7dmFyIFk9TnVtYmVyKGdldENvbXB1dGVkU3R5bGUoSCkub3BhY2l0eSk7TS5jYW5jZWwoKTtNPXZvaWQgMDtyZXR1cm4gWX1mdW5jdGlvbiBrKCl7Rj0iaGlkZGVuIjtIPUM9dm9pZCAwO2NsZWFyVGltZW91dChSKX12YXIgbD1fLk4oKCk9PmEuRygpLkpkLHZvaWQgMCwicGRsbVliIiksbT1fLk4oKCk9PmEuRygpLktiLHZvaWQgMCwiYVBTOUoiKSxuPV8uTigoKT0+YS5HKCkuSCx2b2lkIDAsInh2QnJsZiIpLFtwLHJdPV8uSigiIix2b2lkIDAsIlZKdWd6ZCIpLFt0LHZdPV8uSigiIix2b2lkIDAsIllTS1NPZCIpLFt6LEVdPV8uSighMSx2b2lkIDAsIk9zbWluYyIpLEE9RSxGPSJoaWRkZW4iLEMsRyxELEgsUj0wLE0sUztfLm5FKCgpPT57aWYoRWxlbWVudC5wcm90b3R5cGUuYW5pbWF0ZSl7dmFyIFk9CmwoKTtpZighKG0oKTw9MXx8WT09PTApKXtBKCEwKTtpZihDJiZZIT09Qyl7bGV0IHBhPTE7TSYmKHBhPWgoKSk7ZihwYSwhMSk7aygpfUM9WTtIPUM9PT0tMT9HOkQ7aWYoRyYmRClpZihZPW4oKSxZPVk/LmlzUmVhZHk/LigpP1kuZ2V0Q3VycmVudFRpbWUoKTowLFk9Qz09PS0xJiZZPD0xMD8xMDoobSgpLTEpKjEwLFk9YCR7Qz09PS0xPyJcdTIyMTIiOiIrIn0gJHtZfWAsQz09PS0xP3IoWSk6dihZKSxGPT09ImhpZGRlbiJ8fEY9PT0iZmFkaW5nLW91dCIpWT0wLEY9PT0iZmFkaW5nLW91dCImJihZPWgoKSxkKCkpLGIoWSksRiE9PSJmYWRpbmctb3V0IiYmYyhILnF1ZXJ5U2VsZWN0b3IoIi55dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93UGVyc2lzdGVudCIpKSxGPSJmYWRpbmctaW4iO2Vsc2UgaWYoRj09PSJmYWRpbmctaW4ifHxGPT09ImxpbmdlcmluZyIpSC5xdWVyeVNlbGVjdG9yKCIueXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiIpLmFuaW1hdGUoW3tvZmZzZXQ6MCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsCnRyYW5zZm9ybToic2NhbGUoMSkifSx7b2Zmc2V0Oi42NCxlYXNpbmc6ImN1YmljLWJlemllcigwLjIwLCAwLjAwLCAwLjYwLCAxLjAwKSIsdHJhbnNmb3JtOmBzY2FsZSgke18uc2ooIndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2R1cmF0aW9uX2J1bXBfc2NhbGUiKXx8Ljl9KWB9LHtvZmZzZXQ6MSx0cmFuc2Zvcm06InNjYWxlKDEpIn1dLHtkdXJhdGlvbjoxODR9KSxkKCksRj09PSJsaW5nZXJpbmciJiZlKCl9fX0sImh6bnlEIik7Xy5ZdSgoKT0+e2goKTtrKCl9KTtyZXR1cm4gXy5LKCJ5dHctcGxheWVyLXNlZWstb3ZlcmxheSIse2NsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUhvc3QiLHN0eWxlOl8uSUUoe2Rpc3BsYXk6KCk9PnooKT8iYmxvY2siOiJub25lIn0pfSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb24iLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkJhY2siKSxlbDpfLnJGKFk9PntHPVl9KX0sXy5LKCJkaXYiLAp7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93IiwieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BlcnNpc3RlbnQiKX0sXy5LKCJzdmciLHt2aWV3Qm94OiIwIDAgMjIgMzIiLHdpZHRoOiIyMiIsaGVpZ2h0OiIyNCIsY2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dTdmcifSxfLksoInBhdGgiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvd1BhdGgiLGQ6Ik0gMTggNCBMIDYgMTYgTCAxOCAyOCIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIixmaWxsOiJub25lIn0pKSksXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiJ9LHApKSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBbmltYXRpb24iLCJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFuaW1hdGlvbkZvcndhcmQiKSxlbDpfLnJGKFk9PntEPVl9KX0sXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyU2Vla092ZXJsYXlEdXJhdGlvbiJ9LAp0KSxfLksoImRpdiIse2NsYXNzOl8uUCgieXR3UGxheWVyU2Vla092ZXJsYXlBcnJvdyIsInl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQZXJzaXN0ZW50Iil9LF8uSygic3ZnIix7dmlld0JveDoiMCAwIDIyIDMyIix3aWR0aDoiMjIiLGhlaWdodDoiMjQiLGNsYXNzOiJ5dHdQbGF5ZXJTZWVrT3ZlcmxheUFycm93U3ZnIn0sXy5LKCJwYXRoIix7Y2xhc3M6Inl0d1BsYXllclNlZWtPdmVybGF5QXJyb3dQYXRoIixkOiJNIDQgNCBMIDE2IDE2IEwgNCAyOCIsc3Ryb2tlOiJ3aGl0ZSIsInN0cm9rZS13aWR0aCI6IjQiLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIixmaWxsOiJub25lIn0pKSkpKX0sImtlIik7dmFyIHRVO3ZhciBbZW5hLHNXXT1fLkooITEsdm9pZCAwLCJHTlczUyIpLFtDVSxEVV09Xy5KKCExLHZvaWQgMCwiR0FFa0oiKSxbdFcsdGxhXT1fLkoodm9pZCAwLHZvaWQgMCwiT1ZQMWVlIik7dmFyIEJVPTA7dmFyIEVVPXZvaWQgMDt2YXIgelU9MCxIVT0wLEdVPTAseVU9MCxBVT0hMSxGVT0wO3ZhciBOVTt2YXIgdVc9W3tyZWdpc3RlcjphPT57dmFyIGI9d2xhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvblZvbHVtZUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj14bGEoYSk7YT1hKCkuSDthPy5hZGRFdmVudExpc3RlbmVyKCJjYXB0aW9uc2NoYW5nZWQiLGIpO2E/LmFkZEV2ZW50TGlzdGVuZXIoImNhcHRpb25zc2V0dGluZ3NjaGFuZ2VkIixiKTthPy5hZGRFdmVudExpc3RlbmVyKCJvbkNhcHRpb25zVHJhY2tMaXN0Q2hhbmdlZCIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOihhLGIpPT57Yj1CbGEoYSxiKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25TdGF0ZUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1EbGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIlNFRUtfQ09NUExFVEUiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57dmFyIGI9UFUoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9EYXRhQ2hhbmdlIiwKYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOihhLGIpPT57Yj1FbGEoYSxiKTthKCk/Lkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uVmlkZW9Qcm9ncmVzcyIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1GbGEoYSk7YSgpLkg/LmFkZEV2ZW50TGlzdGVuZXIoIm9uTXV0ZWRBdXRvcGxheUNoYW5nZSIsYik7cmV0dXJuKCk9Pnt9fX0se3JlZ2lzdGVyOmE9Pnt2YXIgYj1IbGEoYSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGIpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9SWxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLGIpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9R2xhKGEpO2EoKS5IPy5hZGRFdmVudExpc3RlbmVyKCJvbkZ1bGxzY3JlZW5DaGFuZ2UiLApiKTtyZXR1cm4oKT0+e319fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUpsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib3JpZW50YXRpb25jaGFuZ2UiLGIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9yaWVudGF0aW9uY2hhbmdlIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPUtsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmVycm9yIixiKTtyZXR1cm4oKT0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVuZXJyb3IiLGIpfX19LHtyZWdpc3RlcjooYSxiKT0+e3ZhciBjPUxsYShhLGIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwbGF5ZXItYXV0b25hdi1wYXVzZSIsYyk7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGxheWVyLWF1dG9uYXYtcGF1c2UiLGMpfX19LHtyZWdpc3RlcjphPT57dmFyIGI9TWxhKGEpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJhdXRvbmF2LXRvZ2dsZS1jbGljayIsCmIpO3JldHVybigpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImF1dG9uYXYtdG9nZ2xlLWNsaWNrIixiKX19fSx7cmVnaXN0ZXI6YT0+e3ZhciBiPU5sYShhKTthKCkuSD8uYWRkRXZlbnRMaXN0ZW5lcigib25Mb29wUmFuZ2VDaGFuZ2UiLGIpO3JldHVybigpPT57fX19LHtyZWdpc3RlcjphPT57aWYoIV8ueCgiZW5hYmxlX213ZWJfa2V5Ym9hcmRfc2hvcnRjdXRzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXpsYShhKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYik7cmV0dXJuKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYil9fX1dO3ZhciBWbGE9Xy5MKGE9Pnt2YXIgYj1fLk4oKCk9PmEuSCgpLHZvaWQgMCwicThXc0tmIiksYz1fLk4oKCk9PmEuZGF0YSgpLHZvaWQgMCwiazZVZVYiKSxkPV8uTigoKT0+e3ZhciBDPWEuY29udGV4dCgpO3JldHVybiBuZXcgcVcoKCk9Pnt9LEMse2F1dG9uYXZFbmFibGVkOkMudGEuZGUoKSxlYTohMH0sYil9LHZvaWQgMCwiT0F4SUpiIiksZT1fLk4oKCk9PigwLGQoKS5CKSgpLHZvaWQgMCwiVXUxUmkiKSxmPV8uTigoKT0+e3ZhciBDPWUoKTtyZXR1cm4gXy54KCJtd2ViX3BjX2xpdmVfZHZyX2tzIik/ITE6Qy5pc0xpdmUmJiFDLmlzTGl2ZUR2ckVuYWJsZWR9LHZvaWQgMCwiY3RVZzNkIiksaD1fLk4oKCk9Pnt2YXIgQz1mKCk7cmV0dXJuIHJVKCkmJiFDfSx2b2lkIDAsIm5KZGswYyIpLGs9Xy5OKCgpPT5jKCkucGxheWVyUmVzcG9uc2U/LnBsYXlhYmlsaXR5U3RhdHVzfHxjKCkuamI/LnByZXZpZXdQbGF5YWJpbGl0eVN0YXR1cyx2b2lkIDAsIkJWWEM5IiksbD1fLk4oKCk9PgplKCkuYmE/LlpoJiYkUyhlKCksaygpKSx2b2lkIDAsIk1Idkh3ZiIpLG09Xy5OKCgpPT5uVShlLGMoKS53YXRjaE5leHRSZXNwb25zZSksdm9pZCAwLCJjdHhVcyIpLG49Xy5OKCgpPT5tVShlLEJTKGMoKS53YXRjaE5leHRSZXNwb25zZSkpLHZvaWQgMCwiR0xrQlUiKSxwPV8uTigoKT0+e3ZhciBDPWwoKSxHPW0oKSxEPW4oKSxIPWUoKS5wbGF5ZXJTdGF0ZTtyZXR1cm4gQz8hMDpHfHxEPyExOkg9PT0wfSx2b2lkIDAsIlhFRXZCIikscj1fLnZFKCJidXR0b24iLEM9PntDJiZXUyhDLDI4NTcyLCFfLngoImVtYmVkc19jdWVkX292ZXJsYXlfdmVfa3MiKSl9KSx0PV8uTigoKT0+e3ZhciBDPWMoKTtyZXR1cm4oQz1fLkIoTlMoQy53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcixDLmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcik/LmNvbGxhcHNlZFJlbmRlcmVyLG1WKT8udGl0bGUpP18uYU4oQyk6dm9pZCAwfSwKdm9pZCAwLCJnc0dXeSIpLHY9Xy51RihDPT57dmFyIEc9ZSgpLEQ9YygpLEg9dCgpO3JldHVybiBHLmJhPy5oaWRlVmlkZW9JbmZvPyExOkQud2F0Y2hOZXh0UmVzcG9uc2V8fEQuamI/SCE9PXZvaWQgMDpDfSx7aW5pdGlhbDohMH0pLHo9Xy5OKCgpPT5lKCkuZWEsdm9pZCAwLCJUUjlLR2QiKSxFPV8udUYoQz0+e3ZhciBHPWMoKTtyZXR1cm4oRy5wbGF5ZXJSZXNwb25zZT8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXJ8fEcuamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyKT8uY29udHJvbEJnSHRtbD8/Q30se2luaXRpYWw6dm9pZCAwfSksQT1bXTtfLm5FKCgpPT57UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e0EuZm9yRWFjaChDPT52b2lkIEMoKSk7QS5sZW5ndGg9MDt1Vy5mb3JFYWNoKEM9PntBLnB1c2goQy5yZWdpc3RlcigoKT0+ZCgpLnVkKCksKCk9PmMoKSkpfSl9KX0sIlkycVk3YiIpO18ubkUoKCk9Pnt2YXIgQz1kKCksCkc9YygpO0MuVWM9Rzt2YXIgRD1DLnY9PT1HLkg7Qy52PXFVKEcuSCk7RHx8Qy5qJiZDLmooQy51ZCgpKX0sImExNzhSZCIpO3ZhciBGPUM9PntDPUMuZGV0YWlsLmF1dG9uYXZFbmFibGVkO3ZhciBHPXthdXRvbmF2RW5hYmxlZDpDfTtDJiYoRy54Zj0hMCk7ZSgpLlMoRyl9O18ub0YoKCk9Pnt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGZwLWF1dG9uYXYtdXBkYXRlIixGKX0pO18uWXUoKCk9PntBLmZvckVhY2goQz0+dm9pZCBDKCkpO0EubGVuZ3RoPTA7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBmcC1hdXRvbmF2LXVwZGF0ZSIsRil9KTtyZXR1cm4gXy5LKF8ubkcse0VmOltfLm9HKCRULGIpXX0sXy5LKCJwZnAtY29udHJvbHMiLHtjbGFzczoieXRQZnBDb250cm9sc0hvc3QiLCJvbjpjb250ZXh0bWVudSI6ZnVuY3Rpb24oQyl7YS5jb250ZXh0KCkudGEuU2o/LihDKTtDLnByZXZlbnREZWZhdWx0KCl9fSxfLksoR1Yse0c6ZSx0aHVtYm5haWxEZXRhaWxzOigpPT57dmFyIEM9CmMoKTtyZXR1cm4gQy5qYj8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LmRlZmF1bHRUaHVtYm5haWx8fEMucGxheWVyUmVzcG9uc2U/LnZpZGVvRGV0YWlscz8udGh1bWJuYWlsfX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNDcmVhdG9yRW5kc2NyZWVuQ29udGFpbmVyIiwib246Y2xpY2siOmZ1bmN0aW9uKEMpe0Muc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOigpPT5jKCkucGxheWVyUmVzcG9uc2U/LmVuZHNjcmVlbj8uZW5kc2NyZWVuUmVuZGVyZXIsdGhlbjooKT0+Xy5LKGxXLHtlbmRzY3JlZW5SZW5kZXJlcjooKT0+YygpLnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyLEc6ZX0pfSkpLF8uSygiZGl2Iix7aWQ6InBsYXllci1jb250cm9sLW92ZXJsYXkiLGNsYXNzOl8uUCgieXRQZnBDb250cm9sc092ZXJsYXkiLHt5dFBmcENvbnRyb2xzRmFkZUluOnp9KSwib246Y2xpY2siOmZ1bmN0aW9uKEMpe3AoKT8KKFhTKDI4NTcyKSxlKCkuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCxDLmN1cnJlbnRUYXJnZXQudmlzdWFsRWxlbWVudCksYigpLnBsYXlWaWRlbygpKTpLVShDLGUoKSl9LCJvbjpwb2ludGVybW92ZSI6ZnVuY3Rpb24oQyl7Qy5wb2ludGVyVHlwZT09PSJtb3VzZSImJihlKCkuUyh7ZWE6ITB9KSxjVChlKCkse0ljOiEwfSkpfX0sXy5LKF8uTyx7QTp2LHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNHcmFkaWVudFRvcCJ9LF8uSyhfLk8se0E6dCx0aGVuOigpPT5fLksoImgyIix7Y2xhc3M6Inl0UGZwQ29udHJvbHNWaWRlb1RpdGxlIn0sdCl9KSl9KSxfLksob1cse2plOigpPT5lKCkuamV9KSxfLksoXy5PLHtBOnAsdGhlbjooKT0+Xy5LKCJidXR0b24iLHtjbGFzczoieXRQZnBDb250cm9sc0xhcmdlUGxheUJ1dHRvbiIsZWw6ciwiYXJpYS1sYWJlbCI6Xy4kTi5QZyx0aXRsZTpfLiROLlBnfSxfLksoInN2ZyIse2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIiwKdmlld0JveDoiMCAwIDYwIDYwIix3aWR0aDoiMTAwJSJ9LF8uSygicGF0aCIse2NsYXNzOiJ5dFBmcENvbnRyb2xzTGFyZ2VQbGF5QnV0dG9uSWNvbkJnIixkOiJNMzAsMEEzMCwzMCwwLDEsMCw2MCwzMCwzMCwzMCwwLDAsMCwzMCwwWiIsZmlsbDooKT0+RSgpPz8iIzFmMWYxZiJ9KSxfLksoInBhdGgiLHtkOiJNMjEsNDEuNjVWMThMNDMuNywyOS44NVoiLGZpbGw6IiNmZmYifSkpKX0pLF8uSyhabWEse0c6ZSxVYzpjfSksXy5LKGFuYSx7RzplLHdhdGNoTmV4dFJlc3BvbnNlOigpPT5jKCkud2F0Y2hOZXh0UmVzcG9uc2UsVXg6bixjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNWaWRlb1dhbGxFbmRzY3JlZW4ifSksXy5LKFltYSx7SDpiLEc6ZSx3YXRjaE5leHRSZXNwb25zZTooKT0+YygpLndhdGNoTmV4dFJlc3BvbnNlLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0F1dG9uYXYifSksXy5LKF8uTyx7QTooKT0+IWwoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhXVix7RzplfSksCl8uSyhWVix7Z2Y6ZSxJYjohMX0pLF8uSyhYVix7RzplLEZkOi0xLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0hpZGRlblNlZWtCdXR0b24ifSksXy5LKFhWLHtHOmUsRmQ6MSxjbGFzc05hbWU6Inl0UGZwQ29udHJvbHNIaWRkZW5TZWVrQnV0dG9uIn0pLF8uSyhfLk8se0E6aCx0aGVuOigpPT5fLksoclcse0c6ZX0pfSksXy5LKGZuYSx7SDpiLEc6ZSxVYzpjLEZ6OkUsZGlzYWJsZVNjcnViYmluZzpmfSkpfSkpKSl9LCJvZSIpLGZuYT1fLkwoKHtIOmEsRzpiLFVjOmMsRno6ZCxkaXNhYmxlU2NydWJiaW5nOmV9KT0+e2Z1bmN0aW9uIGYocil7ci5zdG9wUHJvcGFnYXRpb24oKX12YXIgaD1fLk4oKCk9PiFiKCkuYmE/Lm5oLHZvaWQgMCwicEZ0RFhiIiksaz1fLk4oKCk9PiFiKCkuYmE/LmlxLHZvaWQgMCwidjRYNXNlIiksbD1fLk4oKCk9PmMoKS5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsdm9pZCAwLCJqTGhoV2MiKSxtPV8uTigoKT0+R1MobCgpKSx2b2lkIDAsInM2N3hTYiIpLG49Xy5OKCgpPT4KRVMobCgpKSx2b2lkIDAsInBDaWF1IikscD1fLk4oKCk9PiFiKCkuYmE/LnpyLHZvaWQgMCwic3Z1eEIiKTtyZXR1cm4gXy5LKF8uTyx7QTpoLHRoZW46KCk9Pl8uSyhfLklCLG51bGwsXy5LKCJkaXYiLHtjbGFzczoieXRQZnBDb250cm9sc1Byb2dyZXNzQmFyQ29udGFpbmVyIn0sXy5LKENWLHtMYjpiLGhmOm0sY29uZmlnOigpPT4oe3Bvc2l0aW9uOjEsS2Y6ITEsSW46cCgpLFJhOm4oKSxkaXNhYmxlU2NydWJiaW5nOmUoKSxZbzooKT0+e2JUKCl9LEZuOigpPT57Y1QoYigpLHtJYzohMH0pfX0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNCb3R0b21CYXIiLHN0eWxlOl8uSUUoeyJiYWNrZ3JvdW5kLWNvbG9yIjpkfSksIm9uOmNsaWNrIjpmfSxfLksoImRpdiIse2NsYXNzOiJ5dFBmcENvbnRyb2xzTGVmdENvbnRyb2xzIn0sXy5LKF8uTyx7QTooKT0+YigpLnBsYXllclN0YXRlPT09MCx0aGVuOigpPT5fLksoYVcse0c6Yn0pLFc6KCk9Pl8uSygkVix7RzpiLHlzOiEwfSl9KSwKXy5LKEhWLHtvcmllbnRhdGlvbjoiaG9yaXpvbnRhbF9yaWdodCIsSDphLER2OiEwLENwOl8uQkt8fF8uR0ssYmo6ITAsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVm9sdW1lQ29udHJvbHMifSksXy5LKHBXLHtHOmIscGxheWVyT3ZlcmxheVJlbmRlcmVyOmwsVnc6ITAsY2xhc3NOYW1lOiJ5dFBmcENvbnRyb2xzVGltZURpc3BsYXkifSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0UGZwQ29udHJvbHNSaWdodENvbnRyb2xzIn0sXy5LKGRXLHtnZjpiLFZyOiEwLGNsYXNzTmFtZToieXRQZnBDb250cm9sc0NhcHRpb25zQnV0dG9uIn0pLF8uSyhiVyx7RzpiLGNsYXNzTmFtZToieXRQZnBDb250cm9sc1NldHRpbmdzQnV0dG9uIn0pLF8uSyhfLk8se0E6ayx0aGVuOigpPT5fLksoWlYse0c6Yn0pfSkpKSl9KX0sInBlIik7dmFyIGduYT1fLkwoKHtkYXRhOmF9KT0+Xy5LKCJ5dC1lbWJlZHMtaW5mby1wYW5lbC1kZXRhaWxzLXZpZXctbW9kZWwiLHtjbGFzczoieXRFbWJlZHNJbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsSG9zdCJ9LF8uSyhfLlYse2NsYXNzTmFtZToieXRFbWJlZHNJbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsQm9keVRleHQiLHRleHQ6KCk9PmEoKS5ib2R5VGV4dH0pLF8uSyhfLmdHLHtwYTooKT0+YSgpLmN0YUJ1dHRvbnN8fFtdfSxiPT4oYj0oYj1fLkIoYixhbWEpKT9fLkIoe2xpc3RJdGVtVmlld01vZGVsOnt0aXRsZTp7Y29udGVudDpiLmJvZHlUZXh0Py5jb250ZW50fSxsZWFkaW5nSW1hZ2U6e3NvdXJjZXM6W3tjbGllbnRSZXNvdXJjZTp7aW1hZ2VOYW1lOmI/Lmljb24/Lmljb25UeXBlfX1dfSxyZW5kZXJlckNvbnRleHQ6e2NvbW1hbmRDb250ZXh0OntvblRhcDpiPy5vblRhcH19fX0sXy5aQyk6dm9pZCAwKT9fLksoXy5DRCx7ZGF0YTpifSk6bnVsbCkpLCJxZSIpO3ZhciBobmE9Xy5MKCh7ZGF0YTphLG9uQ2xpY2s6Yn0pPT5fLksoInl0LWVtYmVkcy1pbmZvLXBhbmVsLW92ZXJ2aWV3LXZpZXctbW9kZWwiLG51bGwsXy5LKCJidXR0b24iLHsib246Y2xpY2siOmIsY2xhc3M6Inl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVyQnV0dG9uIn0sXy5LKF8uTyx7QTooKT0+YSgpLmhlYWRlckljb24/Lmljb25UeXBlLHRoZW46KCk9Pl8uSygic3BhbiIsbnVsbCxfLksoXy5NRCx7aWNvbjooKT0+YSgpLmhlYWRlckljb24/Lmljb25UeXBlfSkpfSksXy5LKCJkaXYiLHtjbGFzczoieXRtRW1iZWRzSW5mb1BhbmVsUmVuZGVyZXJUZXh0In0sXy5LKF8uVix7dGV4dDooKT0+YSgpLnRpdGxlfSksXy5LKF8uVix7dGV4dDooKT0+KHtjb250ZW50OmEoKS50aXRsZSYmYSgpLmJvZHlUZXh0PyIgXHUyMDIyICI6IiJ9KX0pLF8uSyhfLlYse3RleHQ6KCk9PmEoKS5ib2R5VGV4dH0pKSkpLCJyZSIpO3ZhciB2Vz1fLkwoKHtkYXRhOmEscHJvcHM6Yn0pPT57ZnVuY3Rpb24gYyhkKXt2YXIgZT1hKCkuaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbDtpZihlKXt2YXIgZj17fTtlLnRpdGxlPy5jb250ZW50JiYoZi5oZWFkZXJUaXRsZT1lLnRpdGxlLmNvbnRlbnQpO18ueU4oey4uLmYsR2I6KCk9Pl8uSyhnbmEse2RhdGE6ZX0pLEhhOiEwfSl9ZC5zdG9wUHJvcGFnYXRpb24oKX1yZXR1cm4gXy5LKCJ5dG0tZW1iZWRzLWluZm8tcGFuZWwtcmVuZGVyZXIiLHtjbGFzczpfLlAoInl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdCIse3l0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdEF1dG9oaWRlOigpPT5iKCkucGxheWVyU3RhdGU9PT0xLHl0bUVtYmVkc0luZm9QYW5lbFJlbmRlcmVySG9zdFRvcENvbnRyb2xzU3RhY2tlZEluUG9ydHJhaXQ6KCk9PiEkUyhiKCkpJiYhYigpLmJhPy5oaWRlVmlkZW9JbmZvJiYhYigpLmJhPy5uaH0pLHN0eWxlOl8uSUUoeyJhbmltYXRpb24tZGVsYXkiOigpPT4KYCR7YSgpLmR1cmF0aW9uTXN8fDFFNH1tc2B9KX0sXy5LKF8uTyx7QTooKT0+YSgpLmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsLHRoZW46ZD0+Xy5LKGhuYSx7ZGF0YTpkLG9uQ2xpY2s6Y30pfSkpfSwic2UiKTt2Vy5pZG9tQ29tcGF0PSEwO3ZhciB3Vz1fLkwoKHtHOmF9KT0+e3ZhciBbYixjXT1fLkooImhpZGRlbiIsdm9pZCAwLCJTQmhiSGUiKSxkLGUsW2YsaF09Xy5KKCExLHZvaWQgMCwiSGc3eG5mIiksW2ssbF09Xy5KKCExLHZvaWQgMCwibktIbFplIik7Xy5VSigoKT0+e3RXKCk9PT12b2lkIDAmJnVsYSgpO2U9c2V0VGltZW91dCgoKT0+e3RXKCkmJm0oITApO2woITApfSwyRTMpfSk7Xy5ZdSgoKT0+e20oITEpO2NsZWFyVGltZW91dChlKTtjbGVhclRpbWVvdXQoZCl9KTtfLm5FKCgpPT57Q1UoKSYmZigpJiYobSghMSksc1coITApKTshdFcoKSYmZigpJiZtKCExKTt0VygpJiYhZW5hKCkmJiFmKCkmJmsoKSYmbSghMCl9LCJWQ0ZCSWIiKTt2YXIgbT1uPT57aChuKTthKCkuSD8uc2V0QXV0b2Nyb3BFbmFibGVkKG4pO2NsZWFyVGltZW91dChkKTtuPyhjKCJ2aXNpYmxlIiksZD1zZXRUaW1lb3V0KCgpPT57YygiIil9LDNFMykpOihjKCIiKSxkPXNldFRpbWVvdXQoKCk9PntjKCJoaWRkZW4iKX0sM0UzKSl9O3JldHVybiBfLksoImRpdiIsCntjbGFzczpfLlAoInl0QXV0b2Nyb3BCdXR0b25Ib3N0Iix7eXRBdXRvY3JvcEJ1dHRvblZpc2libGU6KCk9PmIoKT09PSJ2aXNpYmxlIix5dEF1dG9jcm9wQnV0dG9uSGlkZGVuOigpPT5iKCk9PT0iaGlkZGVuIn0pfSxfLksoXy5PLHtBOmYsdGhlbjooKT0+Xy5LKF8ucE8se2RhdGE6e3N0eWxlOiJTVFlMRV9MSUdIVF9URVhUIixzaXplOiJTSVpFX0RFRkFVTFQiLHRleHQ6e3J1bnM6W3t0ZXh0Ol8uJE4uUHN9XX19LGNsYXNzTmFtZToieXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9uIixwcmV2ZW50RGVmYXVsdDohMCxzdG9wUHJvcGFnYXRpb246ITAsdGc6KCk9PnttKCFmKCkpO3NXKCFmKCkpfX0pLFc6KCk9Pl8uSyhfLnBPLHtkYXRhOntzdHlsZToiU1RZTEVfTElHSFRfVEVYVCIsc2l6ZToiU0laRV9ERUZBVUxUIix0ZXh0OntydW5zOlt7dGV4dDoiMTAwJSJ9XX19LGNsYXNzTmFtZToieXRBdXRvY3JvcEJ1dHRvbkF1dG9Dcm9wQnV0dG9uIixwcmV2ZW50RGVmYXVsdDohMCwKc3RvcFByb3BhZ2F0aW9uOiEwLHRnOigpPT57bSghZigpKTtzVyghZigpKX19KX0pKX0sInVlIik7d1cuaWRvbUNvbXBhdD0hMDt2YXIgeFc9Xy5MKCh7ZGF0YTphLEZlOmJ9KT0+Xy5LKCJ5dG0tZW5kc2NyZWVuLXZpZGVvLXJlbmRlcmVyIixudWxsLF8uSyhfLmZqYSx7ZGF0YTooKT0+KHt0aHVtYm5haWw6YSgpLnRodW1ibmFpbCx0aHVtYm5haWxPdmVybGF5czphKCkudGh1bWJuYWlsT3ZlcmxheXMsdmlkZW9JZDphKCkudmlkZW9JZCxsZW5ndGhUZXh0OmEoKS5sZW5ndGhUZXh0LHB1Ymxpc2hlZFRpbWVUZXh0OmEoKS5wdWJsaXNoZWRUaW1lVGV4dCxuYXZpZ2F0aW9uRW5kcG9pbnQ6YSgpLm5hdmlnYXRpb25FbmRwb2ludCxoZWFkbGluZTphKCkudGl0bGV9KSxGZTpifSkpLCJ2ZSIpO3hXLmlkb21Db21wYXQ9ITA7dmFyIHpXPV8uTCgoe3dhdGNoTmV4dFJlc3BvbnNlOmF9KT0+Xy5LKCJkaXYiLHtjbGFzczoieXRGdWxsc2NyZWVuVmlkZW9SZWNvbW1lbmRhdGlvbnNIb3N0IixpZG9tS2V5OiJmdWxsc2NyZWVuLXJlY29tbWVuZGF0aW9ucy13cmFwcGVyIn0sXy5LKF8uZ0cse3BhOigpPT5NUyhhPy4oKSl9LGI9Pl8uSyh5Vyx7dmlkZW86Yn0pKSksIndlIik7elcuaWRvbUNvbXBhdD0hMDt2YXIgeVc9Xy5MKCh7dmlkZW86YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dEZ1bGxzY3JlZW5WaWRlb1JlY29tbWVuZGF0aW9uc1JlY29tbWVuZGF0aW9uIn0sXy5LKF8uVyx7ZGF0YTphfSx7ZW5kU2NyZWVuVmlkZW9SZW5kZXJlcjooe2RhdGE6Yn0pPT5fLksoeFcse2RhdGE6YixGZTohMH0pfSkpLCJ4ZSIpO3lXLmlkb21Db21wYXQ9ITA7dmFyIEJXPV8uTChhPT5fLksoInBsYXllci1mdWxsc2NyZWVuLXRvcC1jb250cm9scyIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNIb3N0IixzdHlsZTpfLklFKHt2aXNpYmlsaXR5OigpPT5hLkcoKS5OYT8idmlzaWJsZSI6ImhpZGRlbiJ9KX0sXy5LKCJoMiIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ29udHJvbHNWaWRlb1RpdGxlIn0sXy5LKF8uTyx7QTooKT0+YS53YXRjaE5leHRSZXNwb25zZT8uKCk/LnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnZpZGVvRGV0YWlscz8ucGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyPy50aXRsZSx0aGVuOmI9Pl8uSyhfLlYse3RleHQ6Yn0pfSkpLF8uSyhBVyx7RzphLkd9KSksInllIik7QlcuaWRvbUNvbXBhdD0hMDsKdmFyIEFXPV8uTCgoe0c6YX0pPT5fLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJGdWxsc2NyZWVuVG9wQ29udHJvbHNGdWxsc2NyZWVuQ2xvc2VCdXR0b25XcmFwcGVyIn0sXy5LKF8ucE8se2RhdGE6e3N0eWxlOiJTVFlMRV9MSUdIVF9URVhUIixzaXplOiJTSVpFX0RFRkFVTFQiLGljb246e2ljb25UeXBlOiJDTE9TRSJ9LGFjY2Vzc2liaWxpdHk6e2xhYmVsOiJDbG9zZSJ9LGFjY2Vzc2liaWxpdHlEYXRhOnthY2Nlc3NpYmlsaXR5RGF0YTp7bGFiZWw6IkNsb3NlIn19fSxwcmV2ZW50RGVmYXVsdDohMCxzdG9wUHJvcGFnYXRpb246ITAsdGc6KCk9PnthKCkuUyh7TmE6ITF9KTtfLk1PKCIuZnVsbHNjcmVlbi1tb3JlLXZpZGVvcy1lbmRwb2ludCIpO2NUKGEoKSl9fSkpLCJ6ZSIpO0FXLmlkb21Db21wYXQ9ITA7dmFyIENXPV8uTChhPT57dmFyIGI9KCk9PmEuRygpLmlzRnVsbHNjcmVlbnx8YS5HKCkuYmE/LkVlLGM9KCk9Pnt2YXIgZj1hLkcoKTtyZXR1cm4gXy5hTCgiZnVsbHNjcmVlbi1jb250cm9scyIse2V4cGFuZGVkOmYuTmEsInN0eWxlLXJlY29tbWVuZGF0aW9ucy1pbi1wb3J0cmFpdCI6Zi5iYT8uRWV8fF8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil9KX0sZD0oKT0+e3ZhciBmPWEuRygpO3JldHVybmAKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR7Zi5KZn1weCk7CiAgICAgIHRyYW5zaXRpb246ICR7Zi5XZD8ibm9uZSI6InRyYW5zZm9ybSAwLjJzIGVhc2UsIGJvdHRvbSAwLjJzIGVhc2UifTsKICAgICAgdmlzaWJpbGl0eTogJHtmLkpmfHxmLk5hPyJ2aXNpYmxlIjoiaW5oZXJpdCJ9OwogICAgICBwb2ludGVyLWV2ZW50czogICR7Zi5OYT8iYWxsIjoibm9uZSJ9OwogICAgYH0sZT0oKT0+Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmYS5hdXRvY3JvcENvbmZpZz8uKCk7cmV0dXJuIF8uSygicGxheWVyLWZ1bGxzY3JlZW4tY29udHJvbHMiLHtoaWRkZW46IWIsY2xhc3M6Inl0d1BsYXllckZ1bGxzY3JlZW5Db250cm9sc0hvc3QifSxfLksoXy5PLHtBOmIsdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoQlcse0c6YS5HLHdhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KSxfLksoXy5PLHtBOmUsdGhlbjooKT0+Xy5LKHdXLHtHOmEuR30pfSksXy5LKEtWLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlLHRodW1ibmFpbFByZXZpZXdSZW5kZXJlcjphLnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcn0pLF8uSygiZGl2Iix7Y2xhc3M6YyxzdHlsZTpkfSxfLksoelcse3dhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KSkpfSkpfSwiQWUiKTtDVy5pZG9tQ29tcGF0PSEwO3ZhciBEVz1fLkwoKHtkYXRhOmF9KT0+e3ZhciBiPV8udUUoInl0bS1wYWlkLWNvbnRlbnQtb3ZlcmxheS1yZW5kZXJlciIpO3JldHVybiBfLksoInl0bS1wYWlkLWNvbnRlbnQtb3ZlcmxheS1yZW5kZXJlciIse2NsYXNzOiJ5dG1QYWlkQ29udGVudE92ZXJsYXlIb3N0IixlbDpiLCJvbjphbmltYXRpb25lbmQiOmZ1bmN0aW9uKGMpe2IudmFsdWUuY2xhc3NMaXN0LmFkZCgieXRtUGFpZENvbnRlbnRPdmVybGF5SGlkZGVuIik7Yy5zdG9wUHJvcGFnYXRpb24oKX19LF8uSyhfLm5ILHtjb21tYW5kOigpPT5hKCkubmF2aWdhdGlvbkVuZHBvaW50LGNsYXNzTmFtZToieXRtUGFpZENvbnRlbnRPdmVybGF5TGluayJ9LF8uSyhfLk8se0E6KCk9PmEoKS5pY29uPy5pY29uVHlwZSx0aGVuOigpPT5fLksoInNwYW4iLG51bGwsXy5LKF8uTUQse2ljb246KCk9PmEoKS5pY29uPy5pY29uVHlwZX0pKX0pLF8uSygiZGl2Iix7Y2xhc3M6Inl0bVBhaWRDb250ZW50T3ZlcmxheVRleHQifSxfLksoXy5WLAp7dGV4dDooKT0+YSgpLnRleHR9KSksXy5LKF8uTyx7QTooKT0+YSgpLm5hdmlnYXRpb25FbmRwb2ludCx0aGVuOigpPT5fLksoXy5NRCx7aWNvbjoiQ0hFVlJPTl9SSUdIVCJ9KX0pKSl9LCJCZSIpO0RXLmlkb21Db21wYXQ9ITA7dmFyIEVXPV8uTChhPT57dmFyIGI9KCk9PmEuRygpLkg/LmdldFNpemU/LigpPy53aWR0aDtyZXR1cm4gXy5LKCJwbGF5ZXItYm90dG9tLWNvbnRyb2xzIix7Y2xhc3M6Xy5QKCJ5dHdQbGF5ZXJCb3R0b21Db250cm9sc0hvc3QiLHsiZGVsaGktcGxheWVyIjpfLngoIm13ZWJfd2F0Y2hfZGVsaGlfcGxheWVyIil9KX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLWJvdHRvbSBwbGF5ZXItY29udHJvbHMtYm90dG9tLWxlZnQifSxfLksoXy5PLHtBOigpPT4hKGIoKSYmYigpPDMyMCksdGhlbjooKT0+Xy5LKHBXLHtHOmEuRyxTbTphLlNtLHBsYXllck92ZXJsYXlSZW5kZXJlcjphLnBsYXllck92ZXJsYXlSZW5kZXJlcn0pfSkpLF8uSygiZGl2Iix7Y2xhc3M6Xy5QKCJwbGF5ZXItY29udHJvbHMtYm90dG9tIiwicGxheWVyLWNvbnRyb2xzLWJvdHRvbS1yaWdodCIpfSxfLksoXy5PLHtBOigpPT4hKGEuRygpLmJhPy5pcXx8YigpJiZiKCk8MjQwKSx0aGVuOigpPT5fLksoImRpdiIsCntjbGFzczoieXR3UGxheWVyQm90dG9tQ29udHJvbHNGdWxsc2NyZWVuQnV0dG9uV3JhcHBlciJ9LF8uSyhaVix7RzphLkd9KSl9KSkpfSwiQ2UiKTtFVy5pZG9tQ29tcGF0PSEwO3ZhciBGVz1fLkwoYT0+e3ZhciB7RzpiLHdhdGNoTmV4dFJlc3BvbnNlOmN9PV8uREMoYSx7d2F0Y2hOZXh0UmVzcG9uc2U6dm9pZCAwfSk7cmV0dXJuIF8uSyhfLk8se0E6KCk9PkhTKGIoKSxBUyhjKCkpKSx0aGVuOigpPT5fLksoInBsYXllci1lbmRzY3JlZW4iLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuSG9zdCJ9LF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvbnRhaW5lciJ9LF8uSygiZGl2Iix7aWQ6InBsYXllci1lbmRzY3JlZW4iLGNsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5QbGF5ZXJFbmRzY3JlZW4iLCJkYXRhLWhhcy10aW1lci1jb3VudGRvd24iOiEwfSxfLksoaW5hLHtwcm9wczpiLHBsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOigpPT5CUyhjKCkpfSksXy5LKGpuYSx7cHJvcHM6YixwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjooKT0+QlMoYygpKX0pLF8uSyhrbmEse3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6KCk9PgpCUyhjKCkpfSkpKSl9KX0sIkRlIik7RlcuaWRvbUNvbXBhdD0hMDsKdmFyIGluYT1fLkwoYT0+Xy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVG9wUGFuZWwifSxfLksobG5hLHsuLi5hfSksXy5LKG1uYSx7Li4uYX0pKSwiRWUiKSxsbmE9Xy5MKGE9Pnt2YXIge3Byb3BzOmIscGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Y309Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KSxbZCxlXT1fLiROLk9zLnNwbGl0KCJzZWNvbmRzX3BsYWNlaG9sZGVyIik7cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkhlYWRlciIscm9sZToidGV4dCJ9LF8uSyhfLkVFLG51bGwsXy5LKF8uQ0Use3doZW46KCk9PmIoKS56ZiYmYygpfSwoKT0+Xy5LKF8uVix7dGV4dDooKT0+YygpPy5wYXVzZVRleHR9KSksXy5LKF8uREUsbnVsbCwoKT0+Xy5LKCJzcGFuIix7aWQ6InVwbmV4dC1pbi1tZXNzYWdlIn0sZCxfLksobm5hLHsuLi5hfSksZSkpKSl9LCJGZSIpLG5uYT1fLkwoYT0+e3ZhciBiPQphLnByb3BzO3JldHVybiBfLksoInNwYW4iLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuQ291bnRkb3duTnVtYmVyIiwiYXJpYS1oaWRkZW4iOiEwfSwoKT0+YigpLnlmKX0sIkdlIiksbW5hPV8uTChhPT57dmFyIHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjpifT1fLkRDKGEse3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOnZvaWQgMH0pO3JldHVybiBfLksoXy5PLHtBOigpPT5iKCk/LmNsb3NlQnV0dG9uLHRoZW46Yz0+Xy5LKF8uVyx7ZGF0YTpjfSx7dGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcjooe2RhdGE6ZH0pPT5fLksoXy5WUCx7ZGF0YTpkfSksYnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCx0ZzooKT0+e1FVKGEpfSxidXR0b25PdmVycmlkZXM6e3N0eWxlOiJvdmVybGF5In19KX0pfSl9LCJIZSIpLGpuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTsKcmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkNvdW50ZG93bkNvbnRhaW5lciJ9LF8uSyhfLm5ILHtjb21tYW5kOigpPT5iKCk/Lm5leHRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5DdWVkVmlkZW9Db250YWluZXIiLGFyaWFMYWJlbDooKT0+Xy5ESihiKCk/LnZpZGVvVGl0bGU/LmFjY2Vzc2liaWxpdHkpfSxfLksob25hLHsuLi5hfSksXy5LKHBuYSx7Li4uYX0pKSl9LCJJZSIpLG9uYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuQ3VlZFRodW1ibmFpbE92ZXJsYXkifSxfLksoXy5YUCx7dGh1bWJuYWlsRGV0YWlsczooKT0+YigpPy5iYWNrZ3JvdW5kLE1kOnZvaWQgMCxUYjohMSwKY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5UaHVtYm5haWxDb250YWluZXIifSksXy5LKF8uVyx7ZGF0YTooKT0+YigpPy50aHVtYm5haWxPdmVybGF5c30se3RodW1ibmFpbE92ZXJsYXlUaW1lU3RhdHVzUmVuZGVyZXI6KHtkYXRhOmN9KT0+Xy5LKF8uVlAse2RhdGE6YyxjbGFzc05hbWU6Inl0d1BsYXllckVuZHNjcmVlblRodW1ibmFpbE92ZXJsYXlzIixhcmlhSGlkZGVuOiEwfSl9KSl9LCJKZSIpLHBuYT1fLkwoYT0+e3ZhciB7cGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI6Yn09Xy5EQyhhLHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjp2b2lkIDB9KTtyZXR1cm4gXy5LKCJkaXYiLHtjbGFzczoieXR3UGxheWVyRW5kc2NyZWVuVmlkZW9JbmZvIiwiYXJpYS1oaWRkZW4iOiEwfSxfLksoImRpdiIse2NsYXNzOiJ5dHdQbGF5ZXJFbmRzY3JlZW5WaWRlb1RpdGxlIn0sXy5LKF8uVix7dGV4dDooKT0+YigpPy52aWRlb1RpdGxlfSkpLF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlblZpZGVvQXV0aG9yIn0sCl8uSyhfLlYse3RleHQ6KCk9PmIoKT8uYnlsaW5lLG1hOiEwfSkpKX0sIktlIiksa25hPV8uTChhPT57dmFyIHtwbGF5ZXJPdmVybGF5QXV0b3BsYXlSZW5kZXJlcjpifT1fLkRDKGEse3BsYXllck92ZXJsYXlBdXRvcGxheVJlbmRlcmVyOnZvaWQgMH0pLGM9e3N0eWxlOiJvdmVybGF5In07cmV0dXJuIF8uSygiZGl2Iix7Y2xhc3M6Inl0d1BsYXllckVuZHNjcmVlbkJ1dHRvbkNvbnRhaW5lciJ9LF8uSyhfLlcse2RhdGE6KCk9PmIoKT8uY2FuY2VsQnV0dG9ufSx7YnV0dG9uUmVuZGVyZXI6KHtkYXRhOmR9KT0+Xy5LKF8ucE8se2RhdGE6ZCxjbGFzc05hbWU6Inl0d1BsYXllckVuZHNjcmVlbkFjdGlvbkJ1dHRvbiIsdGc6KCk9PntRVShhKX0sYnV0dG9uT3ZlcnJpZGVzOmN9KX0pLF8uSyhfLlcse2RhdGE6KCk9PmIoKT8ubmV4dEJ1dHRvbn0se2J1dHRvblJlbmRlcmVyOih7ZGF0YTpkfSk9Pl8uSyhfLnBPLHtkYXRhOmQsY2xhc3NOYW1lOiJ5dHdQbGF5ZXJFbmRzY3JlZW5BY3Rpb25CdXR0b24iLApidXR0b25PdmVycmlkZXM6Y30pfSkpfSwiTGUiKTt2YXIgR1c9Xy5MKGE9Pnt2YXIgYj1fLmtHKCRUKSxjPV8uUCgieXR3UGxheWVyTWlkZGxlQ29udHJvbHNIb3N0IiwicGxheWVyLWNvbnRyb2xzLW1pZGRsZSIseyJwcmV2ZW50LWNvbnRyb2xzLWNvbGxpc2lvbiI6KCk9Pnt2YXIgaD1iPy4oKTtpZighaD8uaXNSZWFkeT8uKCkpcmV0dXJuITE7aD1oPy5nZXRTaXplKCk/LmhlaWdodDtoPSEhaCYmaDwyNzU7dmFyIGs9YS5HKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09InZvbHVtZS1zbGlkZXIiO3JldHVybiBofHxrfX0pLGQ9KCk9Pnt2YXIgaD1hLkcoKTtyZXR1cm4gaC5wbGF5ZXJTdGF0ZT09PTN8fGgucGxheWVyU3RhdGU9PT0tMX0sZT0oKT0+e3ZhciBoPWEuRygpO3ZhciBrPWI/LigpO1hRKGspfHwhaz8uaXNSZWFkeT8uKCk/az0hMTpoPy5iYT8udm4/az0hMDooaD1rLmdldFZpZGVvRGF0YSgpLGs9IWguaXNMaXN0ZWR8fGgueXBjUHJldmlld3x8aC5pc0xpdmV8fHR5cGVvZiBrLmdldExvb3BSYW5nZT09PSJmdW5jdGlvbiImJgprLmdldExvb3BSYW5nZSgpPyEwOiExKTtyZXR1cm4ha30sZj1fLlAoInBsYXllci1jb250cm9scy1taWRkbGUtY29yZS1idXR0b25zIix7InNjcmVlbnJlYWRlci1zYWZlLWhpZGUtbWlkZGxlLWJ1dHRvbnMiOmR9KTtyZXR1cm4gXy5LKCJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzIix7Y2xhc3M6Y30sXy5LKF8uTyx7QTpkLHRoZW46KCk9Pl8uSyhxbmEsbnVsbCl9KSxfLksoImRpdiIse2NsYXNzOmZ9LF8uSyhfLk8se0E6ZSx0aGVuOigpPT5fLksocm5hLHtHOmEuRyx3YXRjaE5leHRSZXNwb25zZTphLndhdGNoTmV4dFJlc3BvbnNlfSl9KSxfLksoWFYse0ZkOi0xLEc6YS5HLGNsYXNzTmFtZToieXR3UGxheWVyTWlkZGxlQ29udHJvbHNBMTF5U2Vla0J1dHRvbiJ9KSxfLksoXy5PLHtBOigpPT57dmFyIGg9YS5HKCk7cmV0dXJuIXVTKGgpfSx0aGVuOigpPT5fLksoJFYse0c6YS5HfSksVzooKT0+Xy5LKGFXLHtHOmEuR30pfSksXy5LKFhWLHtGZDoxLEc6YS5HLGNsYXNzTmFtZToieXR3UGxheWVyTWlkZGxlQ29udHJvbHNBMTF5U2Vla0J1dHRvbiJ9KSwKXy5LKF8uTyx7QTplLHRoZW46KCk9Pl8uSyhzbmEse0c6YS5HLHdhdGNoTmV4dFJlc3BvbnNlOmEud2F0Y2hOZXh0UmVzcG9uc2V9KX0pKSl9LCJNZSIpO0dXLmlkb21Db21wYXQ9ITA7CnZhciBxbmE9Xy5MKCgpPT5fLksoImRpdiIse2NsYXNzOiJwbGF5ZXItY29udHJvbHMtc3Bpbm5lciJ9LF8uSygiZGl2Iix7Y2xhc3M6InNwaW5uZXIifSkpLCJOZSIpLHJuYT1fLkwoYT0+e3ZhciBiPV8ua0coJFQpLGM9KCk9PiFhLkcoKS5iYT8udm47cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX1BSRVZJT1VTIixhcmlhTGFiZWw6Xy4kTi5NdCxhcmlhRGlzYWJsZWQ6YyxjbGFzc05hbWU6Xy5QKCJwbGF5ZXItbWlkZGxlLWNvbnRyb2xzLXByZXYtbmV4dC1idXR0b24iLHsiaWNvbi1kaXNhYmxlIjpjfSksVWQ6MzY4NDAsY29udGVudDooKT0+Xy5LKCJkaXYiLHtjbGFzczoicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtdmlzaWJsZS1hcmVhIn0sXy5LKF8uTUQse2ljb246IlBMQVlFUl9QUkVWSU9VUyJ9KSksb25jbGljazooKT0+e3ZhciBkPWEuRygpLGU9Yj8uKCk7ZC5yYyYmZT8udW5NdXRlKCk7dmFyIGY9YS53YXRjaE5leHRSZXNwb25zZT8uKCksaD1BUyhmKTsKaWYoWFEoZSkmJmYmJmgpe2lmKGQ9UlUoaCkuVWEpXy4kRChkKSxfLkFKKGQse30sITEpfWVsc2UgZj1hLkcoKS5iYT8udm4scGphKGMoKSxlLGYpLGQuYmE/LnVqJiZfLkRPKF8uaHgoKSwyNzI0MCl9fSl9LCJPZSIpLHNuYT1fLkwoYT0+e3ZhciBiPV8ua0coJFQpLGM9KCk9Pnt2YXIgZD1iPy4oKTtpZighZD8uaXNSZWFkeT8uKCkpcmV0dXJuITA7dmFyIGU9ZD8uZ2V0UGxheWxpc3QoKTtkPWQ/LmdldFBsYXlsaXN0SW5kZXgoKTt2YXIgZj0hMTtlJiZkIT09dm9pZCAwJiYoZj1kPj1lLmxlbmd0aC0xKTtyZXR1cm4gZn07cmV0dXJuIF8uSyhZVix7bmFtZToiUExBWUVSX05FWFQiLGFyaWFMYWJlbDpfLiROLkt0LGFyaWFEaXNhYmxlZDpjLFVkOjM2ODQxLGNvbnRlbnQ6KCk9Pl8uSygiZGl2Iix7Y2xhc3M6InBsYXllci1taWRkbGUtY29udHJvbHMtcHJldi1uZXh0LXZpc2libGUtYXJlYSJ9LF8uSyhfLk1ELHtpY29uOiJQTEFZRVJfTkVYVCJ9KSksY2xhc3NOYW1lOl8uUCgicGxheWVyLW1pZGRsZS1jb250cm9scy1wcmV2LW5leHQtYnV0dG9uIiwKeyJpY29uLWRpc2FibGUiOmN9KSxvbmNsaWNrOigpPT57dmFyIGQ9YS5HKCksZT1iPy4oKTtkLnJjJiZlPy51bk11dGUoKTt2YXIgZj1hLndhdGNoTmV4dFJlc3BvbnNlPy4oKSxoPUFTKGYpO2lmKFhRKGUpJiZmJiZoKXtpZihkPVJVKGgpLm5leHQpXy4kRChkKSxfLkFKKGQse30sITEpfWVsc2UgYygpfHwoZT8ubmV4dFZpZGVvKCksZC5iYT8udWomJl8uRE8oXy5oeCgpLDI3MjQwKSl9fSl9LCJQZSIpO3ZhciBIVz1fLkwoKHt2aWRlb0RldGFpbHM6YSxHOmJ9KT0+e2Z1bmN0aW9uIGMoVCl7QygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gZChUKXtHKCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBlKFQpe0MoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGYoVCl7RT8udmFsdWU/LmNvbnRhaW5zKFQudGFyZ2V0KXx8RygpO1Quc3RvcFByb3BhZ2F0aW9uKCl9ZnVuY3Rpb24gaChUKXtULnByZXZlbnREZWZhdWx0KCk7WFMoMjM4NTEpO3ZhciBiYT1TVShiLEQpO2lmKGJhKXt2YXIgYWE9YigpPy5IPy5nZXRDdXJyZW50VGltZSgpO18uQUooYmEse3BhcmFtczp7dGltZXN0YW1wOmFhP01hdGguZmxvb3IoYWEpLnRvU3RyaW5nKCk6dm9pZCAwfX0sITEse2V2ZW50OlR9KX1ULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGsoVCl7VShUKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIGwoVCl7VC5wcmV2ZW50RGVmYXVsdCgpO3ooKXx8RigpJiZGKCk8MzIwPwpVKFQpOkMoKTtULnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIG0oVCl7VC5wcmV2ZW50RGVmYXVsdCgpO0coMjUwMCk7VC5zdG9wUHJvcGFnYXRpb24oKX1mdW5jdGlvbiBuKFQpe0coMjUwMCk7VC5zdG9wUHJvcGFnYXRpb24oKX12YXIgW3Ascl09Xy5KKCExLHZvaWQgMCwiaVpNUW1mIiksW3Qsdl09Xy5KKCExLHZvaWQgMCwiQ2hoSDBiIiksej10LEU9Xy52RSgiZGl2IiksQSxGPSgpPT5iKCkuSD8uZ2V0U2l6ZT8uKCk/LndpZHRoLEM9KCk9PntGKCkmJkYoKTwzMjB8fChyKCEwKSxBJiZjbGVhclRpbWVvdXQoQSkseigpfHwoYlQoKSx2KCEwKSkpfSxHPShUPTUwMCk9PntGKCkmJkYoKTwzMjB8fChyKCExKSxBPXNldFRpbWVvdXQoKCk9PnshcCgpJiZ6KCkmJih2KCExKSxjVChiKCkse0ljOiEwfSkpfSxUKSl9LEQ9KCk9Pl8uQihhPy4oKS5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnRpdGxlLEg9KCk9PmE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCxSPSgpPT5hPy4oKS5jaGFubmVsVGh1bWJuYWlsLApNPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnRpdGxlPz8oXy54KCJlbWJlZHNfdmlkX2RldGFpbHNfZmFsbGJhY2tfY2hhbm5lbF9uYW1lX2tzIik/dm9pZCAwOl8uQihhPy4oKS5jb2xsYXBzZWRSZW5kZXJlcixtVik/LnN1YnRpdGxlKSxTPSgpPT5fLkIoYT8uKCkuZXhwYW5kZWRSZW5kZXJlcixuVik/LnN1YnRpdGxlLFk9KCk9Pl8uQihhPy4oKS5leHBhbmRlZFJlbmRlcmVyLG5WKT8uc3Vic2NyaWJlQnV0dG9uLHBhPV8uTigoKT0+Xy5CKFNVKGIsRCksXy5WRCk/LnVybCx2b2lkIDAsInlUSE5qIiksb2E9Xy5OKCgpPT5fLkIoYT8uKCkuY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LF8uVkQpPy51cmwsdm9pZCAwLCJwd2wzSWMiKSxVPVQ9PntULnByZXZlbnREZWZhdWx0KCk7aWYoYT8uKCkuY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50JiZhPy4oKSl7dmFyIGJhPWE/LigpLmNoYW5uZWxUaHVtYm5haWxFbmRwb2ludDtYUygzNjkyNSk7Xy5BSihiYSx7fSwhMSwKe2V2ZW50OlR9KX19LGhhPV8uUCgieXRtVmlkZW9JbmZvVmlkZW9UaXRsZUNvbnRhaW5lciIse3l0bVZpZGVvSW5mb0xvZ29FbmFibGVkOigpPT4hIWE/LigpLmNoYW5uZWxUaHVtYm5haWx9KSxtYT1fLlAoInl0bVZpZGVvSW5mb092ZXJsYXkiLHt5dG1WaWRlb0luZm9FeHBhbmRlZDooKT0+eigpfSksdGE9KCk9PiEhXy5CKGE/LigpLmV4cGFuZGVkUmVuZGVyZXIsblYpPy5zdWJzY3JpYmVCdXR0b24mJiFiKCkuYmE/Lm9oO3JldHVybiBfLksoImVtYmVkZGVkLXBsYXllci12aWRlby1kZXRhaWxzIix7Y2xhc3M6Inl0bVZpZGVvSW5mb0hvc3QifSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb0RldGFpbHNDb250YWluZXIifSxfLksoImRpdiIse2NsYXNzOmhhfSxfLksoXy5PLHtBOkQsdGhlbjooKT0+Xy5LKF8uTyx7QTpwYSx0aGVuOigpPT5fLksoImEiLHsib246Y2xpY2siOmgsY2xhc3M6Inl0bVZpZGVvSW5mb1ZpZGVvVGl0bGUiLGVsOl8uckYoVD0+e1dTKFQsCjIzODUxKX0pLGhyZWY6cGF9LF8uSyhfLlYse3RleHQ6RCxjbGFzc05hbWU6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIiksdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLFc6KCk9Pl8uSygic3BhbiIse2NsYXNzOiJ5dG1WaWRlb0luZm9WaWRlb1RpdGxlIn0sXy5LKF8uVix7dGV4dDpELHViOiEwLG5vV3JhcDohMCxtYTohMH0pKX0pfSksXy5LKF8uTyx7QTpfLngoImVtYmVkc192aWRfZGV0YWlsc19mYWxsYmFja19jaGFubmVsX25hbWVfa3MiKT9IOk0sdGhlbjooKT0+Xy5LKF8uTyx7QTpvYSx0aGVuOigpPT5fLksoImEiLHsib246Y2xpY2siOmssY2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxUaXRsZSIsaHJlZjpvYX0sXy5LKF8uVix7dGV4dDpNLGNsYXNzTmFtZTpfLlAoInl0bVZpZGVvSW5mb0xpbmsiKSx5YzohMCx1YjohMCxub1dyYXA6ITAsbWE6ITB9KSksVzooKT0+Xy5LKCJzcGFuIix7Y2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxUaXRsZSJ9LF8uSyhfLlYse3RleHQ6TSx5YzohMCwKdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpfSl9KSksXy5LKF8uTyx7QTpSLHRoZW46KCk9Pl8uSygiZGl2Iix7Y2xhc3M6Inl0bVZpZGVvSW5mb0NoYW5uZWxDb250YWluZXIiLGVsOkUsIm9uOmZvY3VzaW4iOmUsIm9uOmZvY3Vzb3V0IjpmLCJvbjptb3VzZW92ZXIiOmMsIm9uOm1vdXNlb3V0IjpkfSxfLksoImJ1dHRvbiIseyJvbjp0b3VjaHN0YXJ0IjpsLCJvbjp0b3VjaGVuZCI6bSwib246Y2xpY2siOmssY2xhc3M6Xy5QKCJ5dG1WaWRlb0luZm9MaW5rIiwieXRtVmlkZW9JbmZvQ2hhbm5lbEF2YXRhciIpLGVsOl8uckYoVD0+e1dTKFQsMzY5MjUpfSl9LF8uSyhfLlVQLHt0aHVtYm5haWxEZXRhaWxzOlIsY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9DaGFubmVsTG9nbyIsYWx0OiJ0aHVtYm5haWwtaW1hZ2UifSkpLF8uSygiZGl2Iix7Y2xhc3M6bWEsIm9uOnRvdWNoc3RhcnQiOkMsIm9uOnRvdWNoZW5kIjpufSxfLksoImRpdiIse2NsYXNzOiJ5dG1WaWRlb0luZm9DaGFubmVsSW5mbyIsCnJvbGU6InRleHQifSxfLksoXy5WLHt0ZXh0Ok0sY2xhc3NOYW1lOiJ5dG1WaWRlb0luZm9GbHlvdXRDaGFubmVsVGl0bGUiLHljOiEwLHViOiEwLG5vV3JhcDohMCxtYTohMH0pLF8uSyhfLlYse3RleHQ6UyxjbGFzc05hbWU6Inl0bVZpZGVvSW5mb0ZseW91dENoYW5uZWxTdWJ0aXRsZSIseWM6ITAsdWI6ITAsbm9XcmFwOiEwLG1hOiEwfSkpLF8uSyhfLk8se0E6dGEsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczoieXRtVmlkZW9JbmZvU3Vic2NyaWJlQnV0dG9uIn0sXy5LKF8uVyx7ZGF0YTpZfSx7c3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI6Zld9KSl9KSkpfSkpKX0sIlFlIik7SFcuaWRvbUNvbXBhdD0hMDt2YXIgVFU9Xy4kTi5BdCxPbGE9Xy4kTi5ndSx0bmE9Xy5MKCh7UXk6YSxvbkNsaWNrOmIsSm46YyxCczpkfSk9Pnt2YXIgZT1fLnVFKCJidXR0b24iLGg9PntXUyhoLDI4NjYyKX0pLGY9KCk9PlVVKGEoKSxjPy4oKSxkPy4oKSkuYXJpYUxhYmVsO3JldHVybiBfLksoInl0bS1tdXRlLWJ1dHRvbiIse2NsYXNzOiJ5dG1NdXRlQnV0dG9uSG9zdCJ9LF8uSygiYnV0dG9uIix7ZWw6ZSxjbGFzczoieXRtTXV0ZUJ1dHRvbkJ1dHRvbiIsdGl0bGU6ZiwiYXJpYS1sYWJlbCI6Ziwib246Y2xpY2siOmZ1bmN0aW9uKGgpe1hTKDI4NjYyKTtiPy4oaCk7aC5zdG9wUHJvcGFnYXRpb24oKX19LF8uSygic3BhbiIsbnVsbCxfLksoXy5NRCx7aWNvbjooKT0+VVUoYSgpLGM/LigpLGQ/LigpKS5pY29uTmFtZX0pKSkpfSwiUmUiKTt2YXIgSVc9Xy5MKCh7SEI6YSxXcTpiLEpuOmMsQnM6ZCxjbGFzc05hbWU6ZX0pPT5fLksoInl0LW11dGUtdG9nZ2xlLWJ1dHRvbiIse2NsYXNzOmV9LF8uSyh0bmEse1F5OigpPT57dmFyIGY9YSgpO3JldHVybiBmLnJjfHxmLnZvbHVtZT09PTA/MDpmLnZvbHVtZT41MD8xOjJ9LG9uQ2xpY2s6Zj0+e3ZhciBoPWEoKS5IO2gmJihoLmlzTXV0ZWQoKT9oLnVuTXV0ZSgpOmgubXV0ZSghMSkpO2I/LihmKX0sSm46KCk9PiEhYz8uKCksQnM6KCk9PiEhZD8uKCl9KSksIlNlIik7SVcuaWRvbUNvbXBhdD0hMDt2YXIgVlU7dmFyIHVuYT1fLkwoKHtlbmFibGVkOmEsYXJpYUxhYmVsOmIsb25DbGljazpjfSk9Pl8uSygiYnV0dG9uIix7ImFyaWEtbGFiZWwiOmIsImFyaWEtcHJlc3NlZCI6YSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2M/LihkKTtkLnN0b3BQcm9wYWdhdGlvbigpfSxjbGFzczoieXR3QXV0b25hdlRvZ2dsZUJ1dHRvbkhvc3QifSxfLksoXy5NRCx7aWNvbjooKT0+YSgpPyJBVVRPTkFWX09OX1RPR0dMRV9TUEFOTkVSIjoiQVVUT05BVl9PRkZfVE9HR0xFX1NQQU5ORVIiLGNsYXNzTmFtZTooKT0+YSgpPyJ5dHdBdXRvbmF2VG9nZ2xlQnV0dG9uU3Bhbm5lckljb25PbiI6Inl0d0F1dG9uYXZUb2dnbGVCdXR0b25TcGFubmVySWNvbk9mZiJ9KSxfLksoXy5NRCx7aWNvbjooKT0+YSgpPyJQTEFZX0NJUkNMRV9GSUxMRUQiOiJQQVVTRV9DSVJDTEVfRklMTEVEIixjbGFzc05hbWU6KCk9PmEoKT8ieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBsYXlJY29uIjoieXR3QXV0b25hdlRvZ2dsZUJ1dHRvblBhdXNlSWNvbiJ9KSksCiJUZSIpO3ZhciBKVz1fLkwoKHtHOmEsQ3U6Yn0pPT57Xy5DUShiLGU9PntlJiZlLmVuYWJsZWQhPT12b2lkIDAmJmUuZW5hYmxlZCE9PWEoKS5hdXRvbmF2RW5hYmxlZCYmWFUoYSgpLGUuZW5hYmxlZCwhMSl9KTt2YXIgYz1fLk4oKCk9PmEoKS5hdXRvbmF2RW5hYmxlZD9fLkRKKGIoKS5lbmFibGVkQWNjZXNzaWJpbGl0eURhdGEpOl8uREooYigpLmRpc2FibGVkQWNjZXNzaWJpbGl0eURhdGEpLHZvaWQgMCwiUTlndnpjIiksZD1fLk4oKCk9PmEoKS5hdXRvbmF2RW5hYmxlZCx2b2lkIDAsIklRQ1prZiIpO3JldHVybiBfLksoInBsYXllci1hdXRvbmF2LXRvZ2dsZSIse2NsYXNzOiJ5dHdQbGF5ZXJBdXRvbmF2VG9nZ2xlSG9zdCJ9LF8uSyh1bmEse2VuYWJsZWQ6ZCxhcmlhTGFiZWw6YyxvbkNsaWNrOmU9Pnt2YXIgZj1hKCksaD1mLmF1dG9uYXZFbmFibGVkO1hVKGYsIWYuYXV0b25hdkVuYWJsZWQsITApO3ZhciBrPWIoKTshaCYmay5vbkVuYWJsZWRDb21tYW5kP18uQUooay5vbkVuYWJsZWRDb21tYW5kLAprLCEwKTpoJiZrLm9uRGlzYWJsZWRDb21tYW5kJiZfLkFKKGsub25EaXNhYmxlZENvbW1hbmQsaywhMCk7UGxhKGYsYigpKTt1UyhmKXx8Y1QoZix7SWM6ITB9KTtlLnN0b3BQcm9wYWdhdGlvbigpfX0pKX0sIlVlIik7SlcuaWRvbUNvbXBhdD0hMDt2YXIgTFc9Xy5MKGE9Pnt2YXIgYj0oKT0+TlMoYS5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LigpLGEudGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy4oKSksYz0oKT0+YigpJiYhYS5HKCkuYmE/LmhpZGVWaWRlb0luZm87cmV0dXJuIF8uSygicGxheWVyLXRvcC1jb250cm9scyIse2NsYXNzOiJ5dHdQbGF5ZXJUb3BDb250cm9sc0hvc3QifSxfLksoImRpdiIse2NsYXNzOl8uUCgicGxheWVyLWNvbnRyb2xzLXRvcCIse3l0d1BsYXllclRvcENvbnRyb2xzQ29udGFpbmVyV2l0aEVtYmVkZGVkVmlkZW9EZXRhaWxzOmN9KSwib246Y2xpY2siOmZ1bmN0aW9uKGQpe2Quc3RvcFByb3BhZ2F0aW9uKCl9fSxfLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKEhXLHt2aWRlb0RldGFpbHM6YixHOmEuR30pfSksXy5LKF8uTyx7QTooKT0+IWEuRygpLmJhPy5uaCYmISRTKGEuRygpKSx0aGVuOigpPT5fLksoXy5PLHtBOmMsdGhlbjooKT0+Xy5LKCJkaXYiLHtjbGFzczpfLlAoInl0d1BsYXllclRvcENvbnRyb2xzUGxheWVyQ29udHJvbHNUb3BSaWdodCIsCiJwbGF5ZXItY29udHJvbHMtdG9wLXJpZ2h0Iix7eXR3UGxheWVyVG9wQ29udHJvbHNDb250YWluZXJXaXRoRW1iZWRkZWRWaWRlb0RldGFpbHNQbGF5ZXJDb250cm9sc1RvcFJpZ2h0OmN9KX0sXy5LKEtXLHtHOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KSksVzooKT0+Xy5LKEtXLHtHOmEuRyxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6YS5wbGF5ZXJPdmVybGF5UmVuZGVyZXJ9KX0pfSkpKX0sIlZlIik7TFcuaWRvbUNvbXBhdD0hMDsKdmFyIHZuYT0oYSxiKT0+Xy5LKGRXLHtnZjphLFZyOiEwLFdxOmJ9KSxLVz1fLkwoKHtHOmEscGxheWVyT3ZlcmxheVJlbmRlcmVyOmJ9KT0+e3ZhciBjPSgpPT5hKCkuSDtyZXR1cm4gXy5LKF8uSUIsbnVsbCxfLksoXy5FRSxudWxsLF8uSyhfLkNFLHt3aGVuOigpPT5hKCkuYmE/LnZvbHVtZUNvbnRyb2xUeXBlPT09InZvbHVtZS1zbGlkZXIifSwoKT0+Xy5LKEhWLHtvcmllbnRhdGlvbjoidmVydGljYWxfZG93biIsYmo6ITAsSDpjfSkpLF8uSyhfLkNFLHt3aGVuOigpPT57dmFyIGQ9YSgpLkg/LmdldFNpemUoKSxlPWQ/LndpZHRoJiZkLndpZHRoPj0yNTA7ZD1kPy5oZWlnaHQmJmQuaGVpZ2h0Pj0yMDA7cmV0dXJuIGEoKS5iYT8udm9sdW1lQ29udHJvbFR5cGU9PT0ibXV0ZS1idXR0b24iJiZlJiZkfX0sKCk9Pl8uSyhJVyx7SEI6YSxKbjohMH0pKSxfLksoXy5ERSxudWxsLCgpPT5fLksoXy5JQixudWxsKSkpLF8uSyhfLk8se0E6KCk9PiEhelMoYj8uKCkpLHRoZW46KCk9Pl8uSyhKVywKe0c6YSxDdTooKT0+elMoYj8uKCkpfSl9KSx2bmEoYSxmdW5jdGlvbigpe2NUKGEoKSx7SWM6ITB9KX0pLF8uSyhfLk8se0E6KCk9Pnt2YXIgZD1hKCkuSD8uZ2V0U2l6ZSgpO2Q9ZD8ud2lkdGgmJmQud2lkdGg+PTMyMHx8IWEoKS5iYT8ub2g7cmV0dXJuISFhKCkudGEuU2omJmR9LHRoZW46KCk9Pl8uSyhiVyx7RzphfSl9KSl9LCJXZSIpO0tXLmlkb21Db21wYXQ9ITA7dmFyIE1XPV8uTChhPT57ZnVuY3Rpb24gYihUKXtULnBvaW50ZXJUeXBlPT09Im1vdXNlIiYmKGwoKS5TKHtlYTohMH0pLGNUKGwoKSx7SWM6ITB9KSl9ZnVuY3Rpb24gYyhUKXtLVShULGwoKSl9ZnVuY3Rpb24gZChUKXt2YXIgYmE9bCgpO2lmKHhVKFQpKXtULnN0b3BQcm9wYWdhdGlvbigpO3ZhciBhYT1ULnRvdWNoZXNbMF07SFU9YWEucGFnZVg7elU9YWEucGFnZVk7Xy54KCJ3ZWJfZW5hYmxlX3NtYXJ0X3pvb20iKSYmVC50b3VjaGVzLmxlbmd0aD09PTImJihCVT13VShUKSk7SFQoYmEsVC50b3VjaGVzLmxlbmd0aCk7YmEuYmE/Lk1pfHxiYS5OYXx8YmEuV2R8fGJhLnNifHxfLlRFKCl8fChFVT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW92aWVfcGxheWVyIikpJiZPYmplY3QuYXNzaWduKEVVLnN0eWxlLHt0cmFuc2l0aW9uOiIiLHRyYW5zZm9ybU9yaWdpbjoiIn0pfX1mdW5jdGlvbiBlKFQpe3ZhciBiYT1sKCk7aWYoeFUoVCkpe1Quc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGFhPQpULnRvdWNoZXNbMF07QVU9ITA7R1U9YWEucGFnZVg7eVU9YWEucGFnZVk7YWE9e2xrOkdVLUhVLE9kOnlVLXpVfTthYS5PZD09PTAmJmFhLmxrPT09MHx8Xy5NRSgpJiYhYmEuaXNGdWxsc2NyZWVufHxiYS5iYT8uTWl8fFQucHJldmVudERlZmF1bHQoKTtJVChULGFhLGJhKTtfLngoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZULnRvdWNoZXMubGVuZ3RoPT09MiYmQlUhPT0wJiZNYXRoLmFicyh3VShUKS1CVSk+MTAmJkRVKCEwKTshYmEuYmE/Lk1pJiYoYmEuTmF8fGJhLldkfHxiYS5zYnx8Xy5URSgpfHxfLk1FKCkmJiFiYS5pc0Z1bGxzY3JlZW58fChiYS5TKHtlYTohMX0pLFQ9YWEuT2QsYmEuaXNGdWxsc2NyZWVuJiYoVCo9LTEpLCFiYS5pc0Z1bGxzY3JlZW4mJlQ+MCYmKFQ9MCksVDwtMTAwJiYoVD0tMTAwKSxiYS5pc0Z1bGxzY3JlZW4/RVUmJk9iamVjdC5hc3NpZ24oRVUuc3R5bGUse3RyYW5zZm9ybTpgc2NhbGUoJHsxLS4wNSpNYXRoLm1pbig0Kk1hdGguYWJzKFQvLTEwMCksCjEpfSkgdHJhbnNsYXRlWSgkey1UfXB4KWB9KTpFVSYmT2JqZWN0LmFzc2lnbihFVS5zdHlsZSx7dHJhbnNmb3JtOmBzY2FsZSgkezErLjI1Kk1hdGguYWJzKFQvLTEwMCl9KWAsdHJhbnNmb3JtT3JpZ2luOiJib3R0b20gY2VudGVyIn0pKSwhYmEuaXNGdWxsc2NyZWVufHxiYS5pc0RyYWdnaW5nfHxiYS5zYnx8IV8uTUUoKSYmIV8uVEUoKT8wOmJhLldkfHwoYmEuTmE/RFEoYWEuT2QsMCwyMTUpOkRRKGFhLk9kLC0yMTUsMCkpIT09MCkmJihiVCgpLGJhLlMoe1dkOiEwLGVhOiEwLEpmOmJhLk5hP0RRKGFhLk9kLDAsMjE1KTpEUShhYS5PZCwtMjE1LDApfSkpfX1mdW5jdGlvbiBmKFQpe0lVKFQsbCgpLG0oKSl9ZnVuY3Rpb24gaChUKXtJVShULGwoKSxtKCkpfWZ1bmN0aW9uIGsoVCl7VC5zdG9wUHJvcGFnYXRpb24oKX12YXIge0c6bCxkYXRhOm19PV8uREMoYSx7ZGF0YTp2b2lkIDB9KSxuPV8uTigoKT0+bCgpLkgsdm9pZCAwLCJaN0g5cmUiKTthPV8uTigoKT0+bCgpLmVhLHZvaWQgMCwKImRyaHE3ZCIpO3ZhciBwPV8uTigoKT0+bCgpLnNiLHZvaWQgMCwidnN0WUVlIikscj1fLk4oKCk9PmwoKS5iYT8uRWUsdm9pZCAwLCJMYkZ3SmIiKSx0PV8uTigoKT0+bCgpLktiPihfLngoIm13ZWJfcGxheWVyX3RhcHBpbmdfdGhyZXNob2xkX2tpbGxzd2l0Y2giKT84OjApLHZvaWQgMCwiZTRqcU1kIiksdj1fLk4oKCk9PmwoKS5KZCE9PTAsdm9pZCAwLCJwcWdENWUiKSx6PV8uTigoKT0+bCgpLmJhPy5aaCx2b2lkIDAsInRtUWRnIiksRT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXMsQT1fLk4oKCk9PiRTKGwoKSxtKCk/LnBsYXllclJlc3BvbnNlPy5wbGF5YWJpbGl0eVN0YXR1cyksdm9pZCAwLCJYYTlxeGYiKSxGPV8uTigoKT0+IWwoKS5iYT8uenIsdm9pZCAwLCJtRk9sdCIpLEM9Xy5OKCgpPT57dmFyIFQ9bCgpO3JldHVybiBfLngoIm13ZWJfcGNfbGl2ZV9kdnJfa3MiKT8hMTpULmlzTGl2ZSYmIVQuaXNMaXZlRHZyRW5hYmxlZH0sdm9pZCAwLAoiRDFpNjciKSxHPV8uTigoKT0+e3ZhciBUPUMoKTtyZXR1cm4gclUoKSYmIVR9LHZvaWQgMCwidlF6aW1lIiksRD1fLk4oKCk9PnQoKSYmdigpLHZvaWQgMCwiQmVHcDciKSxIPV8uUCgibmV3LWNvbnRyb2xzIiwiYmlnYmFyIiwibWVkaXVtLW1vZGlmaWNhdGlvbiIsImFuaW1hdGlvbi1lbmFibGVkIiwiZW5hYmxlLWZ1bGxzY3JlZW4tY29udHJvbHMiLCJmcy13YXRjaC1zeXN0ZW0iLHtmYWRlaW46YSwiYmFja2dyb3VuZC1oaWRkZW4iOnAsImZ1bGxzY3JlZW4tY29udHJvbHMtYWx3YXlzLW9uIjpyLCJlbmFibGUtZnVsbHNjcmVlbi1jb250cm9scy1mb3ItcG9ydHJhaXQiOl8ueCgibXdlYl9lbmFibGVfcG9ydHJhaXRfZnVsbHNjcmVlbl9hY3Rpb25zIil9KSxSPSgpPT5tPy4oKT8ud2F0Y2hOZXh0UmVzcG9uc2UsTT0oKT0+bT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcixTPSgpPT5tKCk/LmpiPy5lbWJlZFByZXZpZXc/LnRodW1ibmFpbFByZXZpZXdSZW5kZXJlcixZPSgpPT4KR1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikscGE9KCk9Pm0oKT8uamI/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5kZWZhdWx0VGh1bWJuYWlsfHxtKCk/LnBsYXllclJlc3BvbnNlPy52aWRlb0RldGFpbHM/LnRodW1ibmFpbCxvYT0oKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5hdXRvY3JvcENvbmZpZyxVPSgpPT5tKCk/LnBsYXllclJlc3BvbnNlPy5lbmRzY3JlZW4/LmVuZHNjcmVlblJlbmRlcmVyJiZuKCksaGE9KCk9Pnt2YXIgVDtpZihUPVBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpKXtUPWwoKTt2YXIgYmE9bigpLGFhPVBTKG0oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyLG0oKT8uamIpO2lmKGFhJiZhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbCYmKGFhLmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsLnRpdGxlfHxhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC5ib2R5VGV4dCkmJgpiYSYmYmEuZ2V0UGxheWVyU3RhdGVPYmplY3QmJmJhLmdldFBsYXllclNpemUmJiFfLkRJKGtqYSxhYS5pbmZvUGFuZWxPdmVydmlld1ZpZXdNb2RlbC5kaXNtaXNzU3RhdGVFbnRpdHlLZXkpKCk/LmlzRGlzbWlzc2VkKXthYT1iYS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpPy5pc0Vycm9yO2lmKGFhPSF1UyhUKSYmIWFhKWFhPWJhLmdldFBsYXllclNpemUoKSxiYT1hYS53aWR0aDwzNjAsYWE9YWEuaGVpZ2h0PDMyMCxhYT0hKChULnBsYXllclN0YXRlPT09LTF8fFQucGxheWVyU3RhdGU9PT01KSYmYmEmJmFhKTtUPWFhfWVsc2UgVD0hMX1yZXR1cm4gVH0sbWE9KCk9Pnt2YXIgVD1tKCk/LnBsYXllclJlc3BvbnNlO3JldHVybiBfLkIoVD8ub3ZlcmxheT8ucGxheWVyQ29udHJvbHNPdmVybGF5UmVuZGVyZXI/Lm11dGVkQXV0b3BsYXksb1YpfSx0YT0oKT0+bSgpPy5IPy5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5Py4oKTtyZXR1cm4gXy5LKCJ5dG0td2F0Y2gtcGxheWVyLWNvbnRyb2xzIiwKe2NsYXNzOiJ5dG1XYXRjaFBsYXllckNvbnRyb2xzSG9zdCJ9LF8uSyhfLk8se0E6KCk9Pnt2YXIgVD1sKCksYmE9bSgpPy5wbGF5ZXJSZXNwb25zZT8ucGxheWFiaWxpdHlTdGF0dXM7cmV0dXJuIF8ueCgibXdlYl9oaWRlX2NvbnRyb2xzX2Zvcl91bnBsYXlhYmxlX3ZpZGVvX2tzIil8fCFiYXx8TVIoYmEpfHxULmlzRnVsbHNjcmVlbj8oeVMoVCl8fFQucGxheWVyU3RhdGU9PT0tMXx8VC5wbGF5ZXJTdGF0ZT09PTV8fFQucmMmJiFULmJhPy5yQT8hMTp1UyhUKT8hMDpULnBsYXllclN0YXRlPT09MXx8VC5wbGF5ZXJTdGF0ZT09PTN8fFQucGxheWVyU3RhdGU9PT0yKXx8VC5yYyYmdVMoVCl8fCRTKFQsYmEpOiExfSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6eix0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhHVix7RzpsLHRodW1ibmFpbERldGFpbHM6cGF9KSxfLksodVYse0c6bCxIOm4scGxheWFiaWxpdHlTdGF0dXM6RX0pKX0pLF8uSyhfLk8se0E6aGEsdGhlbjooKT0+Cl8uSyh2Vyx7ZGF0YTooKT0+UFMobSgpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIsbSgpPy5qYikscHJvcHM6bH0pfSksXy5LKF8uTyx7QTp0YSx0aGVuOigpPT5fLksoTFYse0c6bCxwbGF5ZXJNdXRlZEF1dG9wbGF5T3ZlcmxheVJlbmRlcmVyOm1hfSl9KSxfLksoXy5PLHtBOigpPT4hdGEoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhXVix7RzpsfSksXy5LKF8uTyx7QTooKT0+Xy54KCJtd2ViX2JldHRlcl9jYXB0aW9uc19wbGFjZW1lbnQiKSx0aGVuOigpPT5fLksoImRpdiIse2lkOiJjYXB0aW9ucy1nYWxvcmUtY29udGFpbmVyIn0pfSksXy5LKCJkaXYiLHtpZDoicGxheWVyLWNvbnRyb2wtb3ZlcmxheSIsY2xhc3M6SCwib246Y2xpY2siOmMsIm9uOnBvaW50ZXJtb3ZlIjpiLCJvbjp0b3VjaHN0YXJ0IjpkLCJvbjp0b3VjaG1vdmUiOmUsIm9uOnRvdWNoZW5kIjpmLCJvbjp0b3VjaGNhbmNlbCI6aH0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy1jb250ZW50IiwKeyJwb2ludGVyLWV2ZW50cy1vZmYiOkR9KX0sXy5LKCJkaXYiLHtjbGFzczoicGxheWVyLWNvbnRyb2xzLWJhY2tncm91bmQtY29udGFpbmVyIn0sXy5LKCJkaXYiLHtjbGFzczpfLlAoInBsYXllci1jb250cm9scy1iYWNrZ3JvdW5kIix7ImZ1bGxzY3JlZW4tcmVjcy1leHBhbmRlZCI6KCk9PklTKGwoKSl9KSwib246dG91Y2hzdGFydCI6ZCwib246dG91Y2htb3ZlIjplLCJvbjp0b3VjaGVuZCI6Ziwib246dG91Y2hjYW5jZWwiOmh9KSxfLksoImRpdiIse2NsYXNzOiJ5dG1XYXRjaFBsYXllckNvbnRyb2xzQmFja2dyb3VuZEFjdGlvbkl0ZW1zIiwib246Y2xpY2siOmt9LF8uSyhfLk8se0E6KCk9Pnt2YXIgVDtpZihUPSFBKCkpVD1tKCk/LnBsYXllclJlc3BvbnNlPy5wYWlkQ29udGVudE92ZXJsYXk/LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyO3JldHVybiBUfSx0aGVuOigpPT5fLksoRFcse2RhdGE6KCk9Pm0oKT8ucGxheWVyUmVzcG9uc2U/LnBhaWRDb250ZW50T3ZlcmxheT8ucGFpZENvbnRlbnRPdmVybGF5UmVuZGVyZXJ9KX0pLApfLksoXy5PLHtBOlUsdGhlbjooKT0+Xy5LKGxXLHtlbmRzY3JlZW5SZW5kZXJlcjooKT0+bSgpPy5wbGF5ZXJSZXNwb25zZT8uZW5kc2NyZWVuPy5lbmRzY3JlZW5SZW5kZXJlcixHOmx9KX0pKSksXy5LKF8uTyx7QTooKT0+IUEoKSx0aGVuOigpPT5fLksoXy5JQixudWxsLF8uSyhfLk8se0E6Ryx0aGVuOigpPT5fLksoclcse0c6bH0pfSksXy5LKEZWLHtHOmwscGxheWVyT3ZlcmxheVJlbmRlcmVyOk19KSxfLksoVlYse2dmOmwsSWI6ITF9KSl9KSxfLksoImRpdiIse3N0eWxlOllVKCgpPT5KUyhsKCksQVMobT8uKCk/LndhdGNoTmV4dFJlc3BvbnNlKSkpfSxfLksoTFcse0c6bCxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6TSx0aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI6U30pLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKEdXLHtHOmwsd2F0Y2hOZXh0UmVzcG9uc2U6Un0pfSkpLF8uSyhfLk8se0E6KCk9PiFBKCksdGhlbjooKT0+Xy5LKF8uSUIsbnVsbCxfLksoImRpdiIsCntzdHlsZTpZVSgoKT0+e3ZhciBUPWwoKSxiYT1BUyhtPy4oKT8ud2F0Y2hOZXh0UmVzcG9uc2UpO3JldHVybiBIUyhULGJhKXx8VC5iYT8ubmg/ITE6VC5pc0xpdmV8fEpTKFQpfSl9LF8uSyhFVyx7RzpsLFNtOigpPT5DUyhtPy4oKT8ucGxheWVyT3ZlcmxheVJlbmRlcmVyKSxwbGF5ZXJPdmVybGF5UmVuZGVyZXI6TX0pKSxfLksoImRpdiIse3N0eWxlOllVKCgpPT57dmFyIFQ9bCgpO3JldHVybiBULmJhPy5uaD8hMTohSVMoVCl9KX0sXy5LKENWLHtMYjpsLGhmOlksY29uZmlnOigpPT4oe2NsYXNzTmFtZToid2F0Y2gtcGFnZS1wcm9ncmVzcy1iYXIiLHBvc2l0aW9uOjAsSW46RigpLFJhOkVTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpLEtmOiExLGRpc2FibGVTY3J1YmJpbmc6QygpLG9uVG91Y2hNb3ZlOigpPT57dmFyIFQ9bCgpLGJhPUVTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpO2JhJiYoVD1sVChULGJhKSxtVChUKSl9LFlvOigpPT57YlQoKX0sRm46KCk9Pgp7Y1QobCgpLHtJYzohMH0pfSxwcm9ncmVzc0NvbG9yOl8ueCgiZW5hYmxlX2N1c3RvbV9zY3J1YmJlcl92MiIpP0NTKG0/LigpPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXIpPy5wcm9ncmVzc0NvbG9yOnZvaWQgMCxoZjpRbGEoR1MobT8uKCk/LnBsYXllck92ZXJsYXlSZW5kZXJlcikpfSl9KSksXy5LKEZXLHtHOmwsd2F0Y2hOZXh0UmVzcG9uc2U6Un0pKX0pLF8uSyhDVyx7RzpsLHdhdGNoTmV4dFJlc3BvbnNlOlIsdGh1bWJuYWlsUHJldmlld1JlbmRlcmVyOlMsYXV0b2Nyb3BDb25maWc6b2F9KSkpKX0pKX0pKX0sIlhlIik7TVcuaWRvbUNvbXBhdD0hMDt2YXIgY1Y9Xy5MKGE9Pnt2YXIgYj1fLk4oKCk9PmEuZGF0YSgpLkgsdm9pZCAwLCJEdWZtTSIpLGM9Xy5OKCgpPT5uZXcgcVcoKCk9Pnt9LHt0YTphLmNvbnRleHQoKS50YSxUYzphLmNvbnRleHQoKS5UYyxHYzphLmNvbnRleHQoKS5HYyxiYTphLmNvbnRleHQoKS5iYX0se2F1dG9uYXZFbmFibGVkOmEuY29udGV4dCgpLnRhLmRlKCksZWE6UmxhKGIoKSl9LGIpLHZvaWQgMCwialB4OGRlIiksZD1bXTtfLm5FKCgpPT57YigpJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57WlUoZCk7dVcuZm9yRWFjaChlPT57ZC5wdXNoKGUucmVnaXN0ZXIoKCk9PmMoKS51ZCgpLCgpPT5hLmRhdGEoKSkpfSl9KX0sIkh1WU1KYiIpO18uWXUoKCk9PntNVSgoKT0+YygpLnVkKCkpO2JUKCk7YS5jb250ZXh0KCkudGEuZXhpdEZ1bGxzY3JlZW4/LigpO1pVKGQpfSk7cmV0dXJuIF8uSyhfLm5HLHtFZjpbXy5vRygkVCxiKV19LF8uSygieXRtLWN1c3RvbS1jb250cm9sIix7Y2xhc3M6Inl0bUN1c3RvbUNvbnRyb2xIb3N0In0sCl8uSyhNVyx7RzooKT0+KDAsYygpLkIpKCksZGF0YTphLmRhdGF9KSkpfSwiWmUiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy56Wj1mdW5jdGlvbihhKXtfLmJaKGEpO18uZFYoYSl9O18uenk9Xy56WjsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgicjc4RHJiIik7CgpfLlhkKCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp9KS5jYWxsKHRoaXMsdGhpcy5kZWZhdWx0X2Jhc2UpOwovLyBHb29nbGUgSW5jLgo="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.157.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:50.903Z","timestamp":1785129950903,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js HTTP/1.1\r\nHost: www.google.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/botguard-scs\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"botguard-scs\"\r\nreport-to: {\"group\":\"botguard-scs\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/botguard-scs\"}]}\r\ncontent-length: 23758\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Tue, 21 Jul 2026 17:04:08 GMT\r\nexpires: Wed, 21 Jul 2027 17:04:08 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Jul 2026 08:00:00 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding\r\nage: 476502\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":62519,"size_decoded":24569,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (61258)","md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T07:00:44.845626Z","times_seen":542,"resource_available":true,"data":"Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgZD1mdW5jdGlvbihSLGMsRyxCLG0sTixoLFAsayxEKXt7az05ODt3aGlsZShrIT1jKXtpZihrPT02OClyZXR1cm4gRDtpZihrPT04NylrPShHPDwyJjcpPDYmJigoR140MCkmNyk+PTQ/NDA6Njg7ZWxzZSBpZihrPT05OClrPTM3O2Vsc2UgaWYoaz09NDApe2E6e2lmKCEoUD0oaD1tLFopLnRydXN0ZWRUeXBlcyxQKXx8IVAuY3JlYXRlUG9saWN5KXtEPWg7YnJlYWsgYX10cnl7aD1QLmNyZWF0ZVBvbGljeShOLHtjcmVhdGVIVE1MOm4sY3JlYXRlU2NyaXB0Om4sY3JlYXRlU2NyaXB0VVJMOm59KX1jYXRjaChJKXtpZihaLmNvbnNvbGUpWi5jb25zb2xlW0JdKEkubWVzc2FnZSl9RD1ofWs9Njh9ZWxzZSBrPT01Nj8oRD1CLGs9ODcpOms9PTM3JiYoaz0oR14xMyk8MjQmJihHXlIpPj0xOD81Njo4Nyl9fX0sWj10aGlzfHxzZWxmLG49ZnVuY3Rpb24oUil7cmV0dXJuIGQuY2FsbCh0aGlzLDMwLDgwLDMsUil9OygwLGV2YWwpKGZ1bmN0aW9uKFIsYyl7cmV0dXJuKGM9ZCgzMCw4MCwxNCwiZXJyb3IiLG51bGwsImFkIikpJiZSLmV2YWwoYy5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBjLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR319KFopKEFycmF5KE1hdGgucmFuZG9tKCkqNzgyNHwwKS5qb2luKCJcbiIpK1snLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PScsCicoZnVuY3Rpb24oKXsvKicsCicnLAonIENvcHlyaWdodCBHb29nbGUgTExDJywKJyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCcsCicqLycsCid2YXIgY3U9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD0oUD05OCwxNik7Oyl0cnl7aWYoUD09ODApYnJlYWs7ZWxzZSBpZihQPT0zNylQPSgoR3w2KSY3KT49MyYmKEc+PjImNik8Mz81Njo4NztlbHNlIGlmKFA9PTg3KVA9KEd8OCk9PUc/NDA6Njg7ZWxzZSBpZihQPT03NSlQPTk5O2Vsc2UgaWYoUD09MSlkPTE2LGUoODgsRCxaLFQpLFA9MzI7ZWxzZSBpZihQPT01NilrLnJhdz1SLE9iamVjdC5mcmVlemUmJihPYmplY3QuZnJlZXplKGspLE9iamVjdC5mcmVlemUoUikpLE49ayxQPTg3O2Vsc2UgaWYoUD09NDApUD05OTtlbHNlIGlmKFA9PTYpZD0yMSxuPWtuKEIsayxSLFopLFA9MzI7ZWxzZSBpZihQPT05OClQPTM3O2Vsc2UgaWYoUD09MzkpWi5TPWgsQj1aLlAucG9wKCksUD02O2Vsc2V7aWYoUD09NjgpcmV0dXJuIE47UD09NTE/UD1jJiZaLlM/MTY6NzU6UD09NTI/KE49bixQPTY4KTpQPT0zMj8oZD0xNixQPTUxKTpQPT0xNj8obT1aLlMsbShmdW5jdGlvbigpe1JCKDMxLGZhbHNlLFosUixSKX0pLFA9NTIpOlA9PTk5JiYoUD1aLlAubGVuZ3RoPzM5OjUyKX19Y2F0Y2goSSl7aWYoZD09MTYpdGhyb3cgSTtkPT0yMSYmKFQ9SSxQPTEpfX0sb0I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Zm9yKG09MTttIT01OTspaWYobT09MjYpbT1SPDwxJms/ODg6OTI7ZWxzZSBpZihtPT0zNyl7YTp7aWYodHlwZW9mIGM9PT0ic3RyaW5nIil7Qj10eXBlb2YgRCE9PSJzdHJpbmcifHxELmxlbmd0aCE9Rz8tMTpjLmluZGV4T2YoRCxoKTticmVhayBhfWZvcihaPWg7WjxjLmxlbmd0aDtaKyspaWYoWiBpbiBjJiZjW1pdPT09RCl7Qj1aO2JyZWFrIGF9Qj0tMX1tPTIzfWVsc2UgaWYobT09NzApdGhpcy5CPUcsbT0yNjtlbHNlIGlmKG09PTc0KVo9dHlwZW9mIGMsbj1aIT1oP1o6Yz9BcnJheS5pc0FycmF5KGMpPyJhcnJheSI6WjoibnVsbCIsQj1uPT1EfHxuPT1oJiZ0eXBlb2YgYy5sZW5ndGg9PUcsbT01NjtlbHNlIGlmKG09PTM2KW09KFJ8NDApPT1SPzc0OjU2O2Vsc2V7aWYobT09ODgpcmV0dXJuIEI7bT09NTY/bT0oUj4+MSZrKT09MT8zNzoyMzptPT02MT8oQj1jdShHLEcsMyksbT0zNik6bT09MjM/bT0oUi01JjMpPT0zPzcwOjI2Om09PTA/bT0oUiY1OSk9PVI/NjE6MzY6bT09OTI/KHRoaXMubisrLGg9Ry10aGlzLmgsdGhpcy5oKz1oL3RoaXMubix0aGlzLmh4Kz1oKihHLXRoaXMuaCksbT04OCk6bT09MSYmKG09MCl9fSxDbj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Zm9yKG49NDc7biE9MjE7KWlmKG49PTQ1KW49KFJeMjIpPj4zPzU3OjY3O2Vsc2UgaWYobj09Njgpbj1SLTQ+PjQ+PTEmJigoUl42OCkmMTYpPDI/MTI6OTI7ZWxzZSBpZihuPT1rKW49KFImOTApPT1SPzMzOjY4O2Vsc2UgaWYobj09NjcpbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRyxFUikmJkdbRVJdfHwoR1tFUl09KytIdSksbj01NztlbHNlIGlmKG49PTQ3KW49aztlbHNlIGlmKG49PTMzKW09YSgxOCxudWxsLDgxOTIsRyx0cnVlKSxuPTY4O2Vsc2V7aWYobj09NTcpcmV0dXJuIG07bj09OTI/bj0oUnw0OCk9PVI/ODE6NDU6bj09ODE/KHRoaXNbdGhpcysiIl09dGhpcyxuPTQ1KTpuPT0xMiYmKGM9aCxjXj1jPDwxMyxjPShaPWM+PjE3LChjfDApLShjJlopLSh+Y15aKSsofmN8WikpLChjPShjXmM8PDUpJkQpfHwoYz0xKSxtPShHfDApKyhjfDApLTIqKEcmYyksbj05Mil9fSxySj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtmb3IobT05NTttIT02NTspe2lmKG09PTg3KXJldHVybiBCO2lmKG09PTI4KWhXKDI0LHRydWUsRyksbT0zMTtlbHNlIGlmKG09PTQ2KXthOntmb3IoYyBpbiBoKWlmKEQuY2FsbCh2b2lkIDAsaFtjXSxjLGgpKXtCPVI7YnJlYWsgYX1CPUd9bT04N31lbHNlIGlmKG09PTMxKW09aC5aW0RdLmxlbmd0aD09Uj84OToxMztlbHNlIGlmKG09PTIxKUQ9Ry50eXBlLG09Nzg7ZWxzZSBpZihtPT03MSl0aGlzLmxYPXRoaXMubFgsdGhpcy5nPXRoaXMuZyxtPTU5O2Vsc2UgaWYobT09NiltPShrfDE2KT09az83NTo5NDtlbHNlIGlmKG09PTEzKW09KGs+PjImMTMpPT0xPzcxOjU5O2Vsc2UgaWYobT09NTkpbT0oaz4+MSY3KT09ND83OTo2O2Vsc2UgaWYobT09OTUpbT02MztlbHNlIGlmKG09PTk0KW09KChrXjUyKSYxMyk+PTgmJigoa141MCkmMTQpPDk/NDY6ODc7ZWxzZSBpZihtPT02MyltPWs+PjEmNj8xMzoyMTtlbHNlIGlmKG09PTc4KW09RCBpbiBoLlomJnRXKDcsUixHLGguWltEXSk/Mjg6MTM7ZWxzZSBpZihtPT03OSltPTY7ZWxzZSBpZihtPT03NSl7YTp7Zm9yKG49UjtuPEQubGVuZ3RoOysrbilpZihaPURbbl0sIVouZlgmJloubGlzdGVuZXI9PWMmJlouY2FwdHVyZT09ISFHJiZaLlZuPT1oKXtCPW47YnJlYWsgYX1CPS0xfW09OTR9ZWxzZSBtPT04OSYmKGRlbGV0ZSBoLlpbRF0saC5KeC0tLG09MTMpfX0sdFc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXt7UD05NDt3aGlsZShQIT05KWlmKFA9PTE2KUQ9b0IoMTMsNiwxLFIsRyxoKSwoYz1EPj1SKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGgsRCwxKSxkPWMsUD00NztlbHNle2lmKFA9PTQpcmV0dXJuIGQ7aWYoUD09NTcpbT1aW0JdLFA9NDA7ZWxzZSBpZihQPT01MilQPTM3O2Vsc2UgaWYoUD09NDApUD0hb0IoMTMsNDUsRywib2JqZWN0IiwiYXJyYXkiLG0pfHxOUCg0LCJvYmplY3QiLDE5LG0pJiZtLm5vZGVUeXBlPkQ/OTU6NzU7ZWxzZSBpZihQPT00NylQPShrJjI3KT09az82NTo3MjtlbHNlIGlmKFA9PTkzKUc9UltsOV0sZD1HIGluc3RhbmNlb2Ygak0/RzpudWxsLFA9NDtlbHNlIGlmKFA9PTYyKVA9KGsrOF4yNyk+PWsmJihrLTR8NzUpPGs/Mjk6MTg7ZWxzZSBpZihQPT03NSl7YTp7aWYobSYmdHlwZW9mIG0ubGVuZ3RoPT1HKXtpZihOUCg0LCJvYmplY3QiLDE4LG0pKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiJ8fHR5cGVvZiBtLml0ZW09PSJzdHJpbmciO2JyZWFrIGF9aWYodHlwZW9mIG09PT0iZnVuY3Rpb24iKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19VD1SfVA9KFJCKDMzLEQsaCxUP2hXKDEyLEQsbSk6bSxOKSw2MCl9ZWxzZSBQPT02NT8oTj1mdW5jdGlvbihJKXtJJiZuLmFwcGVuZENoaWxkKHR5cGVvZiBJPT09InN0cmluZyI/Yy5jcmVhdGVUZXh0Tm9kZShJKTpJKX0sQj0xLFA9NTIpOlA9PTYwPyhCKyssUD0zNyk6UD09OTQ/UD0xMjpQPT05OT8oYUIuY2FsbCh0aGlzLFI/Ui50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5ZTj1udWxsLFImJnRoaXMuaW5pdChSLEcpLFA9NjIpOlA9PTcyP1A9KGs+PjEmMjMpPT0yPzkzOjQ6UD09MTI/UD1rKzYmMTM/NjI6OTk6UD09Mjk/KGQ9eWZbR10oeWYucHJvdG90eXBlLHtwYXJlbnQ6UixsZW5ndGg6UixzdGFjazpSLHBvcDpSLHByb3RvdHlwZTpSLHByb3BlcnR5SXNFbnVtZXJhYmxlOlIsZG9jdW1lbnQ6UixzcGxpY2U6UixjYWxsOlIscmVwbGFjZTpSLGNvbnNvbGU6UixmbG9vcjpSfSksUD0xOCk6UD09Mzc/UD1CPFoubGVuZ3RoPzU3OjcyOlA9PTk1PyhOKG0pLFA9NjApOlA9PTE4JiYoUD1rPj4xPDkmJihrXjgwKT4+Mz49Mj8xNjo0Nyl9fX0sTVA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7Qj00Nzt3aGlsZShCIT0zNCl7aWYoQj09OTIpdGhyb3cgbmV3IFNNKHR5cGVvZiBHLDEpO2lmKEI9PTk2KVIuc2FuZGJveC5zdXBwb3J0cyYmIVIuc2FuZGJveC5zdXBwb3J0cyhEW2NdKXx8Ui5zYW5kYm94LmFkZChEW2NdKSxCPTc5O2Vsc2UgaWYoQj09NTYpQj0oays4JjU5KTxrJiYoays2XjUpPj1rPzMyOjgzO2Vsc2UgaWYoQj09NSlCPW48Ui5sZW5ndGg/MTg6NDk7ZWxzZSBpZihCPT02NylCPUcgaW5zdGFuY2VvZiBYMT83NTo5MjtlbHNlIGlmKEI9PTMwKXtpZihHIGluc3RhbmNlb2YgWDEpaD1HLktqO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO1Iuc3JjPWgudG9TdHJpbmcoKSxCPTUxfWVsc2UgaWYoQj09MjUpQj02MjtlbHNlIGlmKEI9PTQ3KUI9NTY7ZWxzZSBpZihCPT00NSlUPSEhKGg9Ry5PMiwtMip+KGgmUikrfmgrKGheUikrKGh8flIpKSxCPTY7ZWxzZSBpZihCPT03OSljKyssQj02MjtlbHNlIGlmKEI9PTc1KUQ9ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctZm9ybXMgYWxsb3ctcG9wdXBzIGFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveCBhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24iLnNwbGl0KCIgIiksUi5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCIiKSxjPTAsQj0yNTtlbHNlIGlmKEI9PTgzKUI9ay01PDE1JiYoa142OSk+PjQ+PTI/NDU6NjtlbHNlIGlmKEI9PTUzKUI9NzY7ZWxzZXtpZihCPT01MSlyZXR1cm4gVDtCPT01Mj9CPTE2OkI9PTcyP0I9NTpCPT02Mj9CPWM8RC5sZW5ndGg/OTY6MzA6Qj09Nzc/KFIucmVtb3ZlQXR0cmlidXRlKCJzcmNkb2MiKSxCPTY3KTpCPT00PyhuKyssQj01KTpCPT0xNj9CPWg+Nz8yNzo0OkI9PTE4PyhoKz1HLEQ9KG09RDw8RyxjPVJbbl0sMiooY3wwKSt+Yy0ofm18YykpLEI9NTIpOkI9PTQ5PyhUPVosQj04Myk6Qj09Nj9CPShrKzUmNyk9PTE/NTM6NzY6Qj09MTM/Qj0xNjpCPT0zMj8oaD1uPTAsWj1bXSxCPTcyKTpCPT0yNz8oaC09OCxaLnB1c2goRD4+aCYyNTUpLEI9MTMpOkI9PTc2JiYoQj0oaysxJjExKT09Mz83Nzo1MSl9fX19LGhXPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7Zm9yKFo9NTtaIT05NjspaWYoWj09OTEpe2E6e2lmKChEPUcubGVuZ3RoLEQpPlIpe2ZvcihjPShoPUFycmF5KEQpLFIpO2M8RDtjKyspaFtjXT1HW2NdO249aDticmVhayBhfW49W119Wj05OX1lbHNlIGlmKFo9PTQwKW49TWF0aC5mbG9vcih0aGlzLkooKSksWj01NztlbHNlIGlmKFo9PTEwKVo9ay00Pj4zPT0xPzkxOjk5O2Vsc2UgaWYoWj09NDIpUi5uWD1mdW5jdGlvbigpe3JldHVybiBSLlh6P1IuWHo6Ui5Yej1uZXcgUn0sUi5Yej12b2lkIDAsWj0xMDtlbHNlIGlmKFo9PTIpRy5mWD1SLEcubGlzdGVuZXI9bnVsbCxHLnByb3h5PW51bGwsRy5zcmM9bnVsbCxHLlZuPW51bGwsWj01OTtlbHNlIGlmKFo9PTg1KVo9KGt8NTYpPT1rPzQwOjU3O2Vsc2UgaWYoWj09NTcpWj0oaysxJjI4KT49ayYmKGstMV43KTxrPzI6NTk7ZWxzZSBpZihaPT01OSlaPShrfDcyKT09az80MjoxMDtlbHNlIGlmKFo9PTUpWj04NTtlbHNlIGlmKFo9PTk5KXJldHVybiBufSxUbz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e1Q9NTc7d2hpbGUoVCE9NTkpaWYoVD09aylEWi5jYWxsKHRoaXMpLFJ8fFpafHwoWlo9bmV3IG5uKSx0aGlzLlFuPXRoaXMuQT1udWxsLHRoaXMuWGk9dGhpcy5qbT1mYWxzZSx0aGlzLnMyPXZvaWQgMCx0aGlzLktYPXRoaXMuWjc9dGhpcy5jVj1udWxsLFQ9Njk7ZWxzZSBpZihUPT03NSlUPTQ7ZWxzZXtpZihUPT01MSlyZXR1cm4gTjtUPT00P1Q9QjxtLmxlbmd0aD81Mjo1MTpUPT04OT9UPShHLTVeMzIpPj1HJiYoRy00fDE2KTxHP2s6Njk6VD09MTM/KG49QnUoMyxuKSxaJiZaW2RKXT9aLkkuYWRkKFN0cmluZyhtKSxuLGgsTlAoNCxSLDE2LGMpPyEhYy5jYXB0dXJlOiEhYyxEKTpJQig2NCwib2JqZWN0IixmYWxzZSxuLGgsbSxaLGMsRCksVD01MSk6VD09OTA/KEI9MCxUPTc1KTpUPT01P1Q9QXJyYXkuaXNBcnJheShtKT85MDoxMzpUPT01Nz9UPTg5OlQ9PTE/KEIrKyxUPTQpOlQ9PTY5P1Q9Ry05Pj40PzUxOjU6VD09NTImJihUbyg1NCwib2JqZWN0Iiw5LHRydWUsRCxjLFosbixtW0JdKSxUPTEpfX19LGU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXt7bj0yMTt3aGlsZShuIT02NylpZihuPT0yMSluPTUwO2Vsc2UgaWYobj09MTkpbj0oKGteNTApJjI2KTw3JiYoa143OSk+PTI3Pzk2Ojg3O2Vsc2UgaWYobj09MjkpdHlwZW9mIGguY2xhc3NOYW1lPT1SP2guY2xhc3NOYW1lPUc6aC5zZXRBdHRyaWJ1dGUmJmguc2V0QXR0cmlidXRlKCJjbGFzcyIsRyksbj04OTtlbHNlIGlmKG49PTMpYz1HLHNSPT09dm9pZCAwJiYoc1I9UiksRD0oaD1zUik/aC5jcmVhdGVTY3JpcHRVUkwoYyk6YyxaPW5ldyBYMShEKSxuPTE5O2Vsc2UgaWYobj09NTApbj1rLTE+PjQ+PTEmJihrPj4xJjEyKTwyPzM6MTk7ZWxzZSBpZihuPT0yMClHLks9KChHLks/Ry5LKyJ+IjoiRToiKStoLm1lc3NhZ2UrUitoLnN0YWNrKS5zbGljZSgwLDIwNDgpLG49MTU7ZWxzZSBpZihuPT05NiluPTg3O2Vsc2UgaWYobj09OTIpWj1vQigxMyw3LDEsUixHLGgpPj1SLG49NjI7ZWxzZSBpZihuPT04NyluPShrfDMpPj40PDImJms+PjE+PS02Nj8yOTo4OTtlbHNlIGlmKG49PTYyKW49KGt8MjQpPT1rPzIwOjE1O2Vsc2UgaWYobj09ODkpbj0oays1JjgpPDgmJihrXjkzKT4+Mz49MT85Mjo2MjtlbHNlIGlmKG49PTE1KXJldHVybiBafX0sQVc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKGM9aztjIT00MDspe2lmKGM9PTM3KXJldHVybiBaO2lmKGM9PTY3KWM9Ry05PDwyPj1HJiYoRyszXjUpPEc/NTM6Mzc7ZWxzZSBpZihjPT04KXRoaXMudHlwZT1SLHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1oLHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLlB0PWZhbHNlLGM9MjM7ZWxzZSBpZihjPT01KWM9KEcrNSYxNCk9PTI/ODY6Njc7ZWxzZSBpZihjPT0xMyl7YTp7aWYoIShEPW51bGwsaD1ILnRydXN0ZWRUeXBlcyxoKXx8IWguY3JlYXRlUG9saWN5KXtaPUQ7YnJlYWsgYX10cnl7RD1oLmNyZWF0ZVBvbGljeShSLHtjcmVhdGVIVE1MOnBuLGNyZWF0ZVNjcmlwdDpwbixjcmVhdGVTY3JpcHRVUkw6cG59KX1jYXRjaChuKXtILmNvbnNvbGUmJkguY29uc29sZS5lcnJvcihuLm1lc3NhZ2UpfVo9RH1jPTV9ZWxzZSBjPT04Nj8oYjkuY2FsbCh0aGlzLFIsaHx8UWYublgoKSxEKSxjPTY3KTpjPT0zOT9jPShHJjc5KT09Rz84OjIzOmM9PWs/Yz0zOTpjPT01Mz8oWj10eXBlb2YgRC5jbGFzc05hbWU9PSJzdHJpbmciP0QuY2xhc3NOYW1lOkQuZ2V0QXR0cmlidXRlJiZELmdldEF0dHJpYnV0ZShSKXx8aCxjPTM3KTpjPT0yMyYmKGM9KEc8PDEmMTYpPDE2JiYoR141OSk+PjM+PTI/MTM6NSl9fSxLbj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7Zm9yKGM9Njc7YyE9Njk7KWlmKGM9PTU3KXRoaXMuc3JjPWgsdGhpcy5KeD1rLHRoaXMuWj17fSxjPTE3O2Vsc2V7aWYoYz09MTcpcmV0dXJuIEQ7Yz09Njc/Yz03NzpjPT0zMj9jPUc8PDImNT8xNzo1NzpjPT03Nz9jPShHPj4yJjMpPT1SPzM2OjMyOmM9PTM2JiYoV3UuY2FsbCh0aGlzKSx0aGlzLkk9bmV3IGpNKHRoaXMpLHRoaXMubHE9dGhpcyx0aGlzLk5vPW51bGwsYz0zMil9fSxJQj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSl7Zm9yKEk9MTc7SSE9NTE7KWlmKEk9PTY3KVouYWRkTGlzdGVuZXIoQiksST0wO2Vsc2UgaWYoST09MTcpST01MztlbHNlIGlmKEk9PTE5KUk9KGteNzQpPj40PzYxOjM3O2Vsc2UgaWYoST09MTEpST1aLmF0dGFjaEV2ZW50PzU0OjMyO2Vsc2V7aWYoST09Nyl0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoST09NzQpZm58fChuPVQpLG49PT12b2lkIDAmJihuPUcpLFouYWRkRXZlbnRMaXN0ZW5lcihjLnRvU3RyaW5nKCksQixuKSxJPTA7ZWxzZSBpZihJPT00OSlJPShrJjQ2KT09az85MzoxOTtlbHNlIGlmKEk9PTYxKUk9KGt8MjQpPT1rPzgwOjg2O2Vsc2UgaWYoST09MzcpST1jPzU1Ojc7ZWxzZSBpZihJPT04MClkPVIsST04NjtlbHNlIGlmKEk9PTg5KUk9Wi5hZGRFdmVudExpc3RlbmVyPzc0OjExO2Vsc2UgaWYoST09OTMpZD0hIShHLnJiJkQpJiZNUCg4LEQsRykhPWgmJighKGM9Ry5pcSwtMS1+KGN8RCktKGNeRCkpfHxHLmRpc3BhdGNoRXZlbnQodnUoNTYsUixELDIsNjQsOCxoLDI0KSkpJiYhRy5nLEk9MTk7ZWxzZSBpZihJPT04NSlkPXFQKFZmLFIpLEk9NDk7ZWxzZSBpZihJPT01NSlUPU5QKDQsUiwyMSxuKT8hIW4uY2FwdHVyZTohIW4sKFA9dFcoMjAsWikpfHwoWltsOV09UD1uZXcgak0oWikpLE49UC5hZGQoYyxoLEQsVCxtKSxJPTk3O2Vsc2V7aWYoST09MzYpdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtpZihJPT0wKWk5KyssST02MTtlbHNlIGlmKEk9PTUzKUk9KGstOXw4NCk8ayYmKGsrNV4zKT49az8xMDozNDtlbHNlIGlmKEk9PTU0KVouYXR0YWNoRXZlbnQoTG4oMywib24iLGMudG9TdHJpbmcoKSw0OCksQiksST0wO2Vsc2V7aWYoST09ODYpcmV0dXJuIGQ7ST09MzI/ST1aLmFkZExpc3RlbmVyJiZaLnJlbW92ZUxpc3RlbmVyPzY3OjM2Okk9PTEwPyhSLlFuJiZSLlFuLmZvckVhY2goRyx2b2lkIDApLEk9MzQpOkk9PTU5PyhCPUYxKDk0LCJvbiIsMyksTi5wcm94eT1CLEIuc3JjPVosQi5saXN0ZW5lcj1OLEk9ODkpOkk9PTk3P0k9Ti5wcm94eT82MTo1OTpJPT0zNCYmKEk9KGs8PDImMTMpPT00Pzg1OjQ5KX19fX0sZj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7e0Q9MzA7d2hpbGUoRCE9NzkpaWYoRD09OTQpRD0oa3w3KT4+Mz84ODo1MTtlbHNlIGlmKEQ9PTUxKXRoaXMuTW89SC5kb2N1bWVudHx8ZG9jdW1lbnQsRD04ODtlbHNlIGlmKEQ9PTg4KUQ9ay0yPDwyPj1rJiYoays0XjI5KTxrPzYyOjYzO2Vsc2UgaWYoRD09MzApRD05NDtlbHNlIGlmKEQ9PTYyKUMoRyxSLGgpLFJbeG5dPTI3OTYsRD02MztlbHNlIGlmKEQ9PTYzKXJldHVybiBjfX0sT1I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7e1Q9NTI7d2hpbGUoVCE9OTYpaWYoVD09NTApVD1jPT09IiJ8fGM9PXZvaWQgMD83NTo2NjtlbHNlIGlmKFQ9PTgxKVQ9Ui0yPj0xMCYmUis2PDI2PzU6ODY7ZWxzZSBpZihUPT02MilUPShSJjcwKT09Uj8yNDo3NDtlbHNlIGlmKFQ9PTc0KVQ9KFImNDUpPT1SPzE0OjExO2Vsc2UgaWYoVD09MjQpUD1mdW5jdGlvbigpe30sRD12b2lkIDAsYz1nSihHLGZ1bmN0aW9uKGQsSSl7Zm9yKEk9MTU7SSE9NjQ7KUk9PTE1P0k9UD82Nzo2NDpJPT02NyYmKGgmJnU5KGgpLEQ9ZCxQKCksUD12b2lkIDAsST02NCl9LCEhaCksWj1jWzBdLG49Y1sxXSxOPXtob3Q6ZnVuY3Rpb24oZCxJLFMsWCxNLHIsbCl7Zm9yKHI9NDc7ciE9MjU7KXtpZihyPT0xMylyZXR1cm4gTT1aKFMpLGQmJmQoTSksTTtyPT01MD8obCgpLHI9MjUpOnI9PTg0P3I9ST8zOToxMzpyPT1rPyhYPVAsUD1mdW5jdGlvbigpe1goKSx1OShsKX0scj0yNSk6cj09Mzk/cj1EPzUwOms6cj09NDcmJihsPWZ1bmN0aW9uKCl7RChmdW5jdGlvbih3KXt1OShmdW5jdGlvbigpe2Qodyl9KX0sUyl9LHI9ODQpfX0scGU6ZnVuY3Rpb24oZCl7biYmbihkKX19LFQ9NzQ7ZWxzZSBpZihUPT02NilELnNldEF0dHJpYnV0ZShtLGMpLFQ9MTE7ZWxzZSBpZihUPT01MilUPTgxO2Vsc2V7aWYoVD09MTEpcmV0dXJuIE47VD09ODY/VD0oUnw3Mik9PVI/OTI6NjI6VD09MTQ/KEFycmF5LmlzQXJyYXkoYykmJihjPWMuam9pbigiICIpKSxtPSJhcmlhLSIrWixUPTUwKTpUPT01Pyh0aGlzW3RoaXMrIiJdPXRoaXMsTj1Qcm9taXNlLnJlc29sdmUoKSxUPTg2KTpUPT05Mj8oRD1HLE49ZnVuY3Rpb24oKXtyZXR1cm4gRDxoLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpoW0QrK119Ontkb25lOnRydWV9fSxUPTYyKTpUPT0yMj8oQj1VUixaIGluIEI/RC5zZXRBdHRyaWJ1dGUobSxCW1pdKTpELnJlbW92ZUF0dHJpYnV0ZShtKSxUPTExKTpUPT02Nz8obj17fSxVUj0obi5hdG9taWM9RyxuLmF1dG9jb21wbGV0ZT0ibm9uZSIsbi5kcm9wZWZmZWN0PSJub25lIixuLmhhc3BvcHVwPUcsbi5saXZlPSJvZmYiLG4ubXVsdGlsaW5lPUcsbi5tdWx0aXNlbGVjdGFibGU9RyxuLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIsbi5yZWFkb25seT1HLG4ucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0IixuLnJlcXVpcmVkPUcsbi5zb3J0PSJub25lIixuLmJ1c3k9RyxuLmRpc2FibGVkPUcsbltoXT1HLG4uaW52YWxpZD0iZmFsc2UiLG4pLFQ9MjIpOlQ9PTc1JiYoVD1VUj8yMjo2Nyl9fX0sem89ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7e2M9Mzt3aGlsZShjIT01NilpZihjPT02OCljPShHJjEwMyk9PUc/azpSO2Vsc2V7aWYoYz09UilyZXR1cm4gWjtjPT0zNj8oaC5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChELGZ1bmN0aW9uKG4pe0pXKDM1LDcsImNsYXNzIiwyMCwiICIsInN0cmluZyIsMCxoLG4pfSk6ZSgzLCJzdHJpbmciLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChCdSgzNCwiY2xhc3MiLGgpLGZ1bmN0aW9uKG4pe3JldHVybiFlKDQ0LDAsbixEKX0pLmpvaW4oIiAiKSxoKSxjPTY4KTpjPT1rPyhaPXRoaXMubj09PTA/MDpNYXRoLnNxcnQodGhpcy5oeC90aGlzLm4pLGM9Uik6Yz09Mz9jPTY6Yz09NiYmKGM9KEd8MjQpPT1HPzM2OjY4KX19fSxxPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtKXt3aGlsZShrLTM+PjQ9PTQpe2E6e2ZvcigwO1IuVjswKXttPWtmKFIsUi5HKTticmVhayBhO2lmKDEpYnJlYWt9KGg9R04oOCxSLHRydWUpLGgmMTI4KSYmKGhePTEyOCxEPUdOKDIsUix0cnVlKSxoPShHPWg8PDIsKEcmRCktMS1+KEd8RCkpKSxtPWh9aWYoImoiKWJyZWFrfXdoaWxlKCgoa14yMSkmMjMpPT00KXthOntpZihSLlYpe209a2YoUixSLkcpO2JyZWFrIGF9aD1HTig4LFIsdHJ1ZSksaCYxMjgmJihoXj0xMjgsRz1HTigyLFIsdHJ1ZSksaD0oRD1oPDwyLChEJkcpLTEtfihEfEcpKSksbT1ofWlmKHRydWUpYnJlYWt9cmV0dXJuKCgoa14oKChrXjM4KSYxNSk+PTkmJmstNDwxOSYmKGg9UnYoRyksaCYxMjgmJihoPS1+KGgmMTI3KSsofmgmMTI3KSsoaHwtMTI4KXxSdihHKTw8UiksbT1oKSw3MCkpJjE1KT09MyYmKGg9eWZbRy5SXShHLnZWKSxoW0cuUl09ZnVuY3Rpb24oKXt3aGlsZSh0cnVlKXtyZXR1cm4gUjtpZih0cnVlIT1bXSlicmVha319LGguY29uY2F0PWZ1bmN0aW9uKEIpe1I9Qn0sbT1oKSwoKGteNTEpJjE1KT09MSkmJihtPShaPShjPWhbR108PDI0LEQ9aFsoR3wwKSsxXTw8MTYsKGN8MCkrKGNeRCkrKH5jXkQpLShjfH5EKSksbj1oWyhHfDApKzJdPDxSLC0obnwwKSsyKihaJm4pKyhaXm4pKyh+WiZuKSl8aFsoR3wwKSszXSksbX0sUkI9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7Zm9yKFA9Njk7UCE9MDspaWYoUD09NTMpbj1oLmxlbmd0aCxaPXR5cGVvZiBoPT09InN0cmluZyI/aC5zcGxpdChHKTpoLGM9UixQPTI7ZWxzZSBpZihQPT0xMilQPWstMT4+Mz09Mz85MDo1MTtlbHNlIGlmKFA9PTQ5KVA9NDc7ZWxzZSBpZihQPT0yKVA9OTQ7ZWxzZSBpZihQPT04MSlQPShrKzdeMjEpPj1rJiZrLTc8PDE8az80MTo3MjtlbHNlIGlmKFA9PTExKUQ9bj0wLFA9NDk7ZWxzZSBpZihQPT04MilEKyssUD00NztlbHNlIGlmKFA9PTk2KU49TWF0aC5mbG9vcih0aGlzLlRmKyh0aGlzLkooKS10aGlzLmtOKSksUD04MTtlbHNlIGlmKFA9PTY5KVA9NTc7ZWxzZSBpZihQPT00MiljIGluIFomJkQuY2FsbCh2b2lkIDAsWltjXSxjLGgpLFA9ODc7ZWxzZSBpZihQPT05NClQPWM8bj80MjoxMjtlbHNlIGlmKFA9PTkwKXthOmlmKEcuUC5sZW5ndGgpeyhHLm8mJiI6VFFSOlRRUjoiKCksRykuRTk9RCxHLm89dHJ1ZTt0cnl7Wj1HLkooKSxHLkUyPTAsRy5vbz0wLEcuY3Q9WixHLmtOPVosYz1jdSgyLHRydWUsMjQsbnVsbCwiOiIsRCxHKSxtPWg/MDoxMCxuPUcuSigpLUcua04sRy5UZis9bixHLkJWJiZHLkJWKG4tRy5YLEcudSxHLlcsRy5FMiksRy51PVIsRy5YPTAsRy5XPVIsbjxtfHxHLnM5LS08PTB8fChuPU1hdGguZmxvb3IobiksRy51WC5wdXNoKG48PTI1ND9uOjI1NCkpfWZpbmFsbHl7Ry5vPVJ9Tj1jO2JyZWFrIGF9UD01MX1lbHNlIGlmKFA9PTg3KWMrKyxQPTk0O2Vsc2UgaWYoUD09NTcpUD0oaysxJjYzKTxrJiYoay0yfDcwKT49az85Njo4MTtlbHNlIGlmKFA9PTU5KW4rPVIuY2hhckNvZGVBdChEKSxuKz1uPDwxMCxuPShjPW4+PjYsKG58YykrfmMtKG58fmMpKSxQPTgyO2Vsc2UgaWYoUD09NDEpe2E6e2lmKHRoaXMubj09PTApe049WzAsMF07YnJlYWsgYX1OPSh0aGlzLlQuc29ydChmdW5jdGlvbihkLEkpe3JldHVybiBkLUl9KSxbdGhpcy5uLHRoaXMuVFt0aGlzLlQubGVuZ3RoPj4xXV0pfVA9NzJ9ZWxzZSBpZihQPT03MilQPShrKzdeMTIpPGsmJmstNjw8MT49az8xMTo3MDtlbHNlIGlmKFA9PTIwKW4rPW48PDMsbl49bj4+MTEsWj1uKyhuPDwxNSk+Pj4wLG09bmV3IE51bWJlcigoQj0oVD0xPDxHLChUfDEpLShUJjEpLTIqKH5UJjEpKSwoWnwwKSsoQnwwKS0oWnxCKSkpLG1bMF09KFo+Pj5HKSVoLE49bSxQPTcwO2Vsc2V7aWYoUD09NTEpcmV0dXJuIE47UD09NDc/UD1EPFIubGVuZ3RoPzU5OjIwOlA9PTcwJiYoUD0oa3wzMik9PWs/NTM6MTIpfX0sYT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQpe2ZvcihCPTgzO0IhPTg2Oyl7aWYoQj09ODIpcmV0dXJuIFQ7aWYoQj09NjApQj0oayYxMTQpPT1rPzMyOjgyO2Vsc2V7aWYoQj09MTcpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0cpO2lmKEI9PTU2KXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK1IpO2lmKEI9PTEwKUcuUC5zcGxpY2UoMCwwLFIpLEI9MzM7ZWxzZSBpZihCPT04MylCPTM7ZWxzZSBpZihCPT0xMilCPUc/NTA6MTc7ZWxzZSBpZihCPT0zKUI9KGt8NDApPT1rPzEwOjMzO2Vsc2UgaWYoQj09NTApQj10eXBlb2YgUiE9PSJmdW5jdGlvbiI/NTY6NjA7ZWxzZSBpZihCPT0zMil7YTppZihjPXdpbmRvdy5idG9hKXtmb3IoWj0wLG49IiI7WjxoLmxlbmd0aDtaKz1HKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoUixoLnNsaWNlKFosWitHKSk7VD0obT1jKG4pLEQmJihtPW0ucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIikpLG0pO2JyZWFrIGF9Qj04Mn1lbHNlIEI9PTMzJiYoQj0oaz4+MiY3KT09MT8xMjo2MCl9fX0sQlk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD02OTtkIT0yMjspaWYoZD09NTUpREQuY2FsbCh0aGlzLGgpLGQ9NjE7ZWxzZSBpZihkPT05OClQPShUPVpEW2suc3Vic3RyaW5nKDAsMykrIl8iXSk/VChrLnN1YnN0cmluZygzKSxHLGgsRCxjLFosbixtLEIpOkpXKDM1LDcsRyw1LGspLGQ9Mjc7ZWxzZSBpZihkPT0zMilkPWM/NzQ6MTY7ZWxzZSBpZihkPT02OSlkPTk7ZWxzZSBpZihkPT0xNiltPW4/dHlwZW9mIG4ublg9PT0iZnVuY3Rpb24iP24ublgoKTpuZXcgbjpudWxsLGQ9NTc7ZWxzZSBpZihkPT0yMClkPTMyO2Vsc2UgaWYoZD09NTcpdGhpcy5DPW0sZD00MTtlbHNlIGlmKGQ9PTk3KWQ9KG49bnJbWl0pPzcxOjI2O2Vsc2UgaWYoZD09NzUpYz10aGlzLmNvbnN0cnVjdG9yLGQ9MTE7ZWxzZSBpZihkPT04NylOPWZ1bmN0aW9uKCl7fSxOLnByb3RvdHlwZT1oLnByb3RvdHlwZSxHLk89aC5wcm90b3R5cGUsRy5wcm90b3R5cGU9bmV3IE4sRy5wcm90b3R5cGUuY29uc3RydWN0b3I9RyxHLmN3PWZ1bmN0aW9uKEksUyxYKXtmb3IodmFyIE09MTk7TSE9MjU7KWlmKE09PTE5KXZhciByPUFycmF5KChNPTEsYXJndW1lbnRzLmxlbmd0aC1rKSksbD1rO2Vsc2UgaWYoTT09MilyW2wta109YXJndW1lbnRzW2xdLE09NDE7ZWxzZXtpZihNPT01MilyZXR1cm4gaC5wcm90b3R5cGVbU10uYXBwbHkoSSxyKTtNPT00MT8obCsrLE09NTMpOk09PTUzP009bDxhcmd1bWVudHMubGVuZ3RoPzI6NTI6TT09MSYmKE09NTMpfX0sZD03O2Vsc2UgaWYoZD09MjYpYz0oRD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYy5wcm90b3R5cGUpKSYmRC5jb25zdHJ1Y3RvcixkPTIwO2Vsc2UgaWYoZD09MjcpZD0oUis1JjcpPj01JiZSPj4xPDE1PzU1OjQxO2Vsc2UgaWYoZD09NjEpZD0obT1HKT81Nzo3NTtlbHNlIGlmKGQ9PTQxKWQ9KFJ8NDApPT1SPzg3Ojc7ZWxzZSBpZihkPT05KWQ9Uis0Pj4zPT0yPzk4OjI3O2Vsc2UgaWYoZD09NylkPShSfDcyKT09Uj85OTo3MztlbHNlIGlmKGQ9PTk5KVA9YSgxNixudWxsLDgxOTIsayxmYWxzZSksZD03MztlbHNle2lmKGQ9PTczKXJldHVybiBQO2Q9PTc0PyhaPUNuKDY0LDE5LGMpLGQ9OTcpOmQ9PTcxP2Q9MTY6ZD09MTEmJihkPTMyKX19LFBZPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFAsZCl7e2Q9NTU7d2hpbGUoZCE9NSlpZihkPT04NylkPTQxO2Vsc2UgaWYoZD09NTUpZD01NztlbHNlIGlmKGQ9PTQ1KXthOntpZighKFo9Ry5JLlpbU3RyaW5nKGgpXSxaKSl7UD10cnVlO2JyZWFrIGF9Zm9yKG49KFo9Wi5jb25jYXQoKSxOPXRydWUsUik7bjxaLmxlbmd0aDsrK24pKFQ9WltuXSkmJiFULmZYJiZULmNhcHR1cmU9PUQmJihCPVQuVm58fFQuc3JjLG09VC5saXN0ZW5lcixULmFvJiZySigzLFIsVCxHLkkpLE49bS5jYWxsKEIsYykhPT1mYWxzZSYmTik7UD1OJiYhYy5kZWZhdWx0UHJldmVudGVkfWQ9Mzd9ZWxzZSBpZihkPT0zNylkPWs8PDE+PTI1JiYoa3wxKT4+NTwyPzg3OjQxO2Vsc2V7aWYoZD09NDEpcmV0dXJuIFA7ZD09NTcmJihkPShrKzJeMjQpPj1rJiZrKzM+PjI8az80NTozNyl9fX0sdnU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe2ZvcihUPTQ7VCE9Njc7KWlmKFQ9PTkzKVQ9KG58OSk+PjQ/NDc6aztlbHNlIGlmKFQ9PTU1KVRvKDU0LCJvYmplY3QiLDEwLGMsbSxoLEQsRyxaKSxUPTQ3O2Vsc2UgaWYoVD09ODEpe2E6e3N3aXRjaChHKXtjYXNlIDE6Tj1aPyJkaXNhYmxlIjoiZW5hYmxlIjticmVhayBhO2Nhc2UgaDpOPVo/ImhpZ2hsaWdodCI6InVuaGlnaGxpZ2h0IjticmVhayBhO2Nhc2UgUjpOPVo/ImFjdGl2YXRlIjoiZGVhY3RpdmF0ZSI7YnJlYWsgYTtjYXNlIGM6Tj1aPyJzZWxlY3QiOiJ1bnNlbGVjdCI7YnJlYWsgYTtjYXNlIDE2Ok49Wj8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgMzI6Tj1aPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSBEOk49Wj8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31UPTczfWVsc2UgaWYoVD09NTQpVD03NDtlbHNlIGlmKFQ9PTQ3KVQ9KChuXjEyKSY4KTw0JiYobnwyKT49LTMxPzgxOjczO2Vsc2V7aWYoVD09NzMpcmV0dXJuIE47VD09MD8oRz1CdSg2LEcpLEQmJkRbZEpdP0QuSS5hZGQoU3RyaW5nKFopLEcsUixOUCg0LCJvYmplY3QiLDIwLGgpPyEhaC5jYXB0dXJlOiEhaCxtKTpJQig2Niwib2JqZWN0IixmYWxzZSxHLFIsWixELGgsbSksVD00Nyk6VD09ND9UPTkzOlQ9PTc0P1Q9QjxaLmxlbmd0aD83Nzo0NzpUPT02OT8oQj0wLFQ9NTQpOlQ9PWs/VD1oJiZoLm9uY2U/NTU6NDg6VD09OTg/KEIrKyxUPTc0KTpUPT00OD9UPUFycmF5LmlzQXJyYXkoWik/Njk6MDpUPT03NyYmKHZ1KDU2LGZhbHNlLEcsaCxELHRydWUsWltCXSw1LG0pLFQ9OTgpfX0sRTU9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5oPXRoaXMuaHg9dGhpcy5uPTB9cmV0dXJuW2Z1bmN0aW9uKGgpeyhrLmdiKGgpLFIpLmdiKGgpfSwoUj0oaz1uZXcgKEcucHJvdG90eXBlLnJKPShHLnByb3RvdHlwZS5nYj1mdW5jdGlvbihoLEQpe3JldHVybiBvQi5jYWxsKHRoaXMsMTMsNjUsaCxEKX0sZnVuY3Rpb24oKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDMpfSksRyksbmV3IEcpLGZ1bmN0aW9uKGgsRCl7cmV0dXJuIEQ9W2suckooKSxSLnJKKCksay5oLFIuaF0sKGg9PT12b2lkIDB8fGgpJiYoUj1uZXcgRyksRH0pXX0sSlc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7VD05O3doaWxlKFQhPTgwKWlmKFQ9PTkpVD00ODtlbHNle2lmKFQ9PTI1KXJldHVybiBCO1Q9PTQ4P1Q9KChoXjEzKSY0KTwzJiYoaHw5KT4+Mz49Mj81NjoxNzpUPT04NT8oRyhmdW5jdGlvbihOKXtOKEQpfSksQj1bZnVuY3Rpb24oKXtyZXR1cm4gRH0sZnVuY3Rpb24oKXt9XSxUPTI1KTpUPT01Nj8obi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QucmVtb3ZlKG0pOihuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5jb250YWlucyhtKTplKDQ2LFosbSxCdShrLEcsbikpKSYmZShSLGMsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEJ1KDMzLEcsbiksZnVuY3Rpb24oTil7cmV0dXJuIE4hPW19KS5qb2luKEQpLG4pLFQ9MTcpOlQ9PTE3JiYoVD1oPj4yPDE2JiYoaCsxJjIpPj0xPzg1OjI1KX19fSxGMT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e049MjY7d2hpbGUoTiE9MTcpaWYoTj09NDIpYz10cnVlLE49NDY7ZWxzZSBpZihOPT04MylUPWZ1bmN0aW9uKFApe3JldHVybiBoLmNhbGwoVC5zcmMsVC5saXN0ZW5lcixQKX0saD10byxCPVQsTj0yMTtlbHNlIGlmKE49PTYwKW09bmV3IHJVKEQsdGhpcyksWj1oLlZufHxoLnNyYyxuPWgubGlzdGVuZXIsaC5hbyYmY1koMzMsbnVsbCwzLFIsaCksYz1uLmNhbGwoWixtKSxOPTQ2O2Vsc2UgaWYoTj09MjYpTj1rO2Vsc2V7aWYoTj09NTcpcmV0dXJuIEI7Tj09MjE/Tj0oR14yNCk8NyYmRy03Pj01PzMwOjU3Ok49PWs/Tj0oRz4+MSY3KT09MT84MzoyMTpOPT0zMD9OPWguZlg/NDI6NjA6Tj09NDYmJihCPWMsTj01Nyl9fX0sYXY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7d2hpbGUoIVIueW4mJihCPXZvaWQgMCxoJiZoWzBdPT09d1UmJihCPWhbMl0sRz1oWzFdLGg9dm9pZCAwKSxuPVYoayxSKSxuLmxlbmd0aD09MCYmKEQ9VigxNjgsUik+PjMsbi5wdXNoKEcsRD4+OCYyNTUsRCYyNTUpLEIhPXZvaWQgMCYmbi5wdXNoKEImMjU1KSksUD0iIixoJiYoaC5tZXNzYWdlJiYoUCs9aC5tZXNzYWdlKSxoLnN0YWNrJiYoUCs9IjoiK2guc3RhY2spKSxtPVcoUiwzMDIpLG1bMF0+MykpeyhUPShQPShtWzBdLT0oUD1QLnNsaWNlKDAsKG1bMF18MCktMyksWj1QLmxlbmd0aCwoWnwzKS1+Wisoflp8MykpLGVlKShQLDEyOCksUikuQixSKS5CPVI7dHJ5e1IuSHQ/KE49KE49Vig0NDYsUikpJiZOW04ubGVuZ3RoLTFdfHw5NSwoYz1XKFIsMTYzKSkmJmNbYy5sZW5ndGgtMV09PU58fGxOKDE2MyxbTiYyNTVdLDcsUikpOmplKDQ0NixbOTVdLFIpLGxOKDQyLEsoMixQLmxlbmd0aCkuY29uY2F0KFApLDcsUiwxNDQpfWZpbmFsbHl7Ui5CPVR9aWYoe30pYnJlYWt9fSxHTj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSxTKXtpZihoPVYoMTQyLFIpLGg+PVIuail0aHJvd1t3VSwzMV07Zm9yKGM9KEk9KG09KE49MCxoKSxSLkNqKS5sZW5ndGgsayk7Yz4wOylaPW0+PjMsUz1tJTgsUD1SLndiW1pdLG49OC0oU3wwKSxCPW48Yz9uOmMsRyYmKGQ9UixkLmwhPW0+PjYmJihkLmw9bT4+NixEPWIoZCwzNjMpLGQud0o9eWgoMTYsZC5sLDI1NSxkLk4sWzAsMCxEWzFdLERbMl1dKSksUF49Ui53SltaJkldKSxOfD0oUD4+OC0oU3wwKS0oQnwwKSYoMTw8QiktMSk8PChjfDApLShCfDApLG0rPUIsYy09QjtyZXR1cm4gQygxNDIsKGh8MCkrKGt8KFQ9TiwwKSksUiksVH0sWT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7KFIrNyY0NCk+PVImJlIrND4+MjxSJiYoaD1bLTc1LC0zMSw3MSwtMzUsNDYsLTEwMCxoLDk0LDUwLC03OF0sWj1jJjcsbT1TZSxCPXlmW0cuUl0oRy5KcyksQltHLlJdPWZ1bmN0aW9uKFApe249UDt3aGlsZShudWxsPT1mYWxzZT09MClpZighKForPTYrNypjLFtdKT09dHJ1ZT09IVtdKWJyZWFrO1o9MTYrfihafDcpK2sqKFomLTgpKyh+Wl43KX0sQi5jb25jYXQ9ZnVuY3Rpb24oUCxkLEkpe3JldHVybihkPShuPShQPShJPUQlMTYrMSwrKG0oKXwwKSpJLTc4KkQqRCpuKzM5Km4qbi0yMjYyKm4rWi0gLTEyMDkqRCpuK2hbWisxOSY3XSpEKkkpLUkqbitrKkQqRCpJLHZvaWQgMCksaFtQXSksaClbKForNjEmNykrKC0yLWsqfihjfGspK2sqKH5jXmspKyh+YyZrKSldPWQsaFtaKygtfihjJmspKyhjXmspLSh+YyZrKSsofmN8aykpXT0tMzEsZH0sTj1CKTtzd2l0Y2goISgoUl4xMyk8MjQmJihSXjkwKT49MTgpKXtjYXNlIHRydWU6TnVtYmVyKHRydWUudHJ1ZSk7YnJlYWs7Y2FzZSB0cnVlPT1bXTpzd2l0Y2goIShEPVhYKCJhcnJheSIsaCwibnVsbCIpPT09ImFycmF5Ij9oOltoXSx0aGlzLkspKXtjYXNlIHRydWU6dHJ5e2M9IXRoaXMuUC5sZW5ndGgmJiF0aGlzLm8sYSg1NyxbJGYsW10sRCxrLEddLHRoaXMpLEcmJiFjfHxSQigyNyxmYWxzZSx0aGlzLHRydWUsRyl9Y2F0Y2goUCl7ZSg1NiwiOiIsdGhpcyxQKSxrKHRoaXMuSyl9YnJlYWs7Y2FzZSB0cnVlPT1bXT09bnVsbDprKHRoaXMuSyk7YnJlYWt9YnJlYWt9KFIrM14xMik+PVImJihSKzJeMjcpPFImJihOPVQ9ZnVuY3Rpb24oKXt7dmFyIFA9NzE7d2hpbGUoUCE9OSlpZihQPT0xNil2YXIgZD1bTVQsKFA9OTcsYyksaCx2b2lkIDAsbixtLGFyZ3VtZW50c107ZWxzZSBpZihQPT01OSlQPVouWT8xNjo4ODtlbHNlIGlmKFA9PTk3KVA9RD09Rz83OTozNTtlbHNlIGlmKFA9PTM1KVA9RD09MT81NjoyNztlbHNlIGlmKFA9PTI3KXt2YXIgST1rbihkLDIsdHJ1ZSxaKTtQPTk5fWVsc2UgaWYoUD09NTYpe3ZhciBTPSFaLlAubGVuZ3RoJiYhWi5vO2EoNDMsZCxaKSxTJiZSQigyOCxmYWxzZSxaLGssayksUD05OX1lbHNlIGlmKFA9PTg4KW4mJm0mJm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihtLFQsb3YpLFA9OTtlbHNle2lmKFA9PTk5KXJldHVybiBJO1A9PTcxP1A9Wi5CPT1aPzU5Ojk6UD09NzkmJihhKDQyLGQsWiksST1SQigyOSxmYWxzZSxaLGssayksUD05OSl9fX0pO3N3aXRjaCghKChSfDcyKT09Uikpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgW109PShbXSE9KCFbXT09MCkpOmE6e2lmKGsuVil7Tj1rZihrLGsuRyk7YnJlYWsgYX0oRz1HTig4LGssdHJ1ZSksRyYxMjgpJiYoR149MTI4LGg9R04oMixrLHRydWUpLEc9KEQ9Rzw8MiwoRCZoKS0xLX4oRHxoKSkpLE49R31icmVha313aGlsZShSPj4yPj05JiYoKFJeMTkpJjI0KTwxOSl7RD1xKDE3LEcpO3tjPTA7d2hpbGUoaD4wKWM9Yzw8a3xSdihHKSxoLS19aWYoIVtdPT0oMCE9IShDKEQsYyxHKSxbXSkpKWJyZWFrfXJldHVybiBOfSxzNT1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDksayl9LENyPWZ1bmN0aW9uKGssUil7e3ZhciBHPTkzO3doaWxlKEchPTUxKWlmKEc9PTkzKXZhciBoPShHPTUwLDEpO2Vsc2UgaWYoRz09NjQpRz1oPGFyZ3VtZW50cy5sZW5ndGg/NzU6NTE7ZWxzZSBpZihHPT03NSl7dmFyIEQ9YXJndW1lbnRzW2hdO2ZvcihaIGluIEQpa1taXT1EW1pdO3ZhciBjPShHPTk2LDApfWVsc2UgaWYoRz09OTYpRz04NDtlbHNlIGlmKEc9PTUwKUc9NjQ7ZWxzZSBpZihHPT03MiljKyssRz04NDtlbHNlIGlmKEc9PTg0KUc9YzxIWS5sZW5ndGg/ODA6MjtlbHNlIGlmKEc9PTIpaCsrLEc9NjQ7ZWxzZSBpZihHPT04MCl7dmFyIFo9SFlbY107T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsWikmJihrW1pdPURbWl0pLEc9NzJ9fX0sTlQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEkpe2ZvcihkPTI0O2QhPTE5OylpZihkPT05NilBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEcsZnVuY3Rpb24oUyxYLE0pe2ZvcihNPTI0O00hPTI2OylNPT0yND9NPWsuY2xhc3NMaXN0PzYwOjQ5Ok09PTQ5P009KGsuY2xhc3NMaXN0P2suY2xhc3NMaXN0LmNvbnRhaW5zKFMpOmUoNDUsMCxTLEJ1KDMyLCJjbGFzcyIsaykpKT8yNjo1NTpNPT01NT8oWD1BVyg0MSwiY2xhc3MiLDI4LCIiLGspLGUoNiwic3RyaW5nIixYKyhYLmxlbmd0aD4wPyIgIitTOlMpLGspLE09MjYpOk09PTYwJiYoay5jbGFzc0xpc3QuYWRkKFMpLE09MjYpfSksZD0yNztlbHNlIGlmKGQ9PTkwKWQ9KFI8PDEmOSk+PTEmJihSPj4yJjEyKTw2Pzg2OjI3O2Vsc2UgaWYoZD09MjQpZD02MTtlbHNlIGlmKGQ9PTg2KWQ9ay5jbGFzc0xpc3Q/OTY6NztlbHNlIGlmKGQ9PTI3KWQ9KFJeMzQpPDI2JiYoUisxJjE1KT49OT81ODo5NztlbHNlIGlmKGQ9PTEwKWQ9YzxoLmxlbmd0aD8zMzo3NDtlbHNlIGlmKGQ9PTEzKWMrKyxkPTEwO2Vsc2V7aWYoZD09OTcpcmV0dXJuIEk7aWYoZD09Nyl7Zm9yKGMgaW4gaD0oKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoKEQ9e30sQnUpKDM2LCJjbGFzcyIsayksZnVuY3Rpb24oUyl7RFtTXT10cnVlfSksQXJyYXkucHJvdG90eXBlKS5mb3JFYWNoLmNhbGwoRyxmdW5jdGlvbihTKXtEW1NdPXRydWV9KSwiIiksRCloKz1oLmxlbmd0aD4wPyIgIitjOmM7ZD0oZSg1LCJzdHJpbmciLGgsayksMjcpfWVsc2UgaWYoZD09ODkpZD1EPms/Njo1NztlbHNlIGlmKGQ9PTYpWltuKytdPUQmayxEPj49OCxkPTU3O2Vsc2UgaWYoZD09MzMpRD1oLmNoYXJDb2RlQXQoYyksZD04OTtlbHNlIGlmKGQ9PTc0KUk9WixkPTk3O2Vsc2UgaWYoZD09OTQpZD0xMDtlbHNlIGlmKGQ9PTU3KVpbbisrXT1ELGQ9MTM7ZWxzZSBpZihkPT01OCluPWM9RyxaPVtdLGQ9OTQ7ZWxzZSBpZihkPT04KXthOntpZihELkI9KChELkgrPShaPShuPShjfHxELm9vKyssRC5xbz4wJiZELm8mJkQuRTkpJiZELkQ3PD0xJiYhRC5WJiYhRC5TJiYoIWN8fEQuZEotRz4xKSYmZG9jdW1lbnQuaGlkZGVuPT1rLChCPUQub289PTQpfHxuP0QuSigpOkQuY3QpLG09Wi1ELmN0LG0pPj4xND4wLEQpLk4mJihELk49KFQ9RC5OLE49KEQuSCsxPj4yKSoobTw8MiksLSh+VF5OKSsoflQmTikrKFR8fk4pKSksRC5IKzE+PjIhPTB8fEQuQiksQnx8bilELm9vPTAsRC5jdD1aO2lmKCFuKXtJPWs7YnJlYWsgYX1pZigoRC5xbz5ELkUyJiYoRC5FMj1ELnFvKSxaLUQua04pPEQucW8tKGg/MjU1OmM/NToyKSl7ST1rO2JyZWFrIGF9ST0oQygxNDIsKFA9VihjPzE2ODoxNDIsKEQuZEo9RyxEKSksRC5qKSxEKSxELlAucHVzaChbbWMsUCxjP0crMTpHLEQudSxELlddKSx0cnVlKSxELlM9dTl9ZD02NH1lbHNlIGQ9PTE3PyhJPWsmJmsucGFyZW50Tm9kZT9rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoayk6bnVsbCxkPTkwKTpkPT02ND9kPShSKzReMTApPj1SJiYoUis0XjI1KTxSPzE3OjkwOmQ9PTYxJiYoZD1SPj4xJjE1PzY0OjgpfX0sTG49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2ZvcihuPTgwO24hPTk1Oyl7aWYobj09MTUpcmV0dXJuIG07bj09Nzg/bj0oaC1rJjcpPT0xPzU1OjgxOm49PTU1Pyh0aGlzLmxpc3RlbmVyPVosdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPWMsdGhpcy50eXBlPUcsdGhpcy5jYXB0dXJlPSEhRCx0aGlzLlZuPVIsdGhpcy5rZXk9KytJdix0aGlzLmFvPXRoaXMuZlg9ZmFsc2Usbj04MSk6bj09NTY/KG09RyBpbiBUTj9UTltHXTpUTltHXT1SK0csbj0xNSk6bj09Mzg/bj0oaHw0OCk9PWg/NTY6MTU6bj09MTM/KEcucFgoZnVuY3Rpb24oQil7Yz1CfSxSLEQpLG09YyxuPTM4KTpuPT04MT9uPWgtNyY1PzM4OjEzOm49PTgwJiYobj03OCl9fSxCdT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQpe2ZvcihQPTI1O1AhPTU2OylpZihQPT00MCltPXRXKDY4LG4pLFA9NDc7ZWxzZSBpZihQPT0zMyluLkkucmVtb3ZlKFN0cmluZyhaKSxELEIsYyksUD05MztlbHNlIGlmKFA9PTQ3KVA9bT82Njo5MztlbHNlIGlmKFA9PTQ0KU49UixQPTE4O2Vsc2UgaWYoUD09NzMpUD0oa3wzMik9PWs/NTk6NDg7ZWxzZXtpZihQPT00OClyZXR1cm4gZDtpZihQPT01MilQPUFycmF5LmlzQXJyYXkoWik/NDQ6MzE7ZWxzZSBpZihQPT01OSlkPUcuY2xhc3NMaXN0P0cuY2xhc3NMaXN0OkFXKDQxLFIsMjYsIiIsRykubWF0Y2goL1xcUysvZyl8fFtdLFA9NDg7ZWxzZSBpZihQPT03MClQPWsrNj4+ND83Mzo5NDtlbHNlIGlmKFA9PTk0KXthOntpZih0eXBlb2YgUj09PSJmdW5jdGlvbiIpe2Q9UjticmVhayBhfWQ9KFJbZFVdfHwoUltkVV09ZnVuY3Rpb24oSSl7cmV0dXJuIFIuaGFuZGxlRXZlbnQoSSl9KSxSW2RVXSl9UD03M31lbHNlIGlmKFA9PTE4KVA9MzA7ZWxzZSBpZihQPT05MylQPShrLTdeMjMpPj1rJiYoays3JjI1KTxrPzc3OjcwO2Vsc2UgaWYoUD09MzcpUD0oa3w5KT4+Mz09Mz81Mjo5MztlbHNlIGlmKFA9PTI1KVA9Mzc7ZWxzZSBpZihQPT01MylQPW4mJm5bZEpdPzMzOjg5O2Vsc2UgaWYoUD09ODkpUD1uPzQwOjkzO2Vsc2UgaWYoUD09ODIpTisrLFA9MzA7ZWxzZSBpZihQPT0zMSlCPU5QKDQsRywxNyxoKT8hIWguY2FwdHVyZTohIWgsRD1CdSg1LEQpLFA9NTM7ZWxzZSBpZihQPT0yMSlCdSgxNywwLCJvYmplY3QiLGgsRCxjLFpbTl0sbiksUD04MjtlbHNlIGlmKFA9PTc3KXtmb3IoWiBpbihEPVIsaCkuWil7Zm9yKGM9KG49aC5aW1pdLFIpO2M8bi5sZW5ndGg7YysrKSsrRCxoVyg4LEcsbltjXSk7ZGVsZXRlIGguWltoLkp4LS0sWl19UD03MH1lbHNlIFA9PTY2PygoVD1tLkNYKFosRCxjLEIpKSYmY1koMzMsbnVsbCw1LCJvbiIsVCksUD05Myk6UD09MzAmJihQPU48Wi5sZW5ndGg/MjE6OTMpfX0sTlA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9OTY7WiE9NzM7KWlmKFo9PTU4KVo9KEd8MTYpPT1HPzQ3OjcwO2Vsc2V7aWYoWj09NzApcmV0dXJuIGM7Wj09NjY/Wj0oRysyXjIwKT49RyYmKEcrayY1Nyk8Rz82OTo1ODpaPT00Nz8oRD10eXBlb2YgaCxjPUQ9PVImJmghPW51bGx8fEQ9PSJmdW5jdGlvbiIsWj03MCk6Wj09Njk/KHRoaXMuS2o9UixaPTU4KTpaPT05NiYmKFo9NjYpfX0sY1k9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXtmb3IoQj05NTtCIT0wOylpZihCPT04KXRoaXMubisrLEI9ODE7ZWxzZSBpZihCPT05NylCPW0/ODA6Mzc7ZWxzZSBpZihCPT05NClCPXR5cGVvZiBEIT09Im51bWJlciImJkQmJiFELmZYPzE1OjMyO2Vsc2UgaWYoQj09MTUpYz1ELnNyYyxCPTEzO2Vsc2UgaWYoQj09ODApckooaywwLEQsbSksQj0yNjtlbHNlIGlmKEI9PTI2KUI9bS5KeD09MD82MzozMjtlbHNlIGlmKEI9PTY1KXRoaXMuVC5wdXNoKFIpLEI9MTg7ZWxzZSBpZihCPT0zNyloVyg3LHRydWUsRCksQj0zMjtlbHNlIGlmKEI9PTEzKUI9YyYmY1tkSl0/OTE6Mzk7ZWxzZSBpZihCPT02NyloPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLGg8NTAmJih0aGlzLlRbaF09UiksQj0xODtlbHNlIGlmKEI9PTM5KVo9RC50eXBlLG49RC5wcm94eSxjLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yy5yZW1vdmVFdmVudExpc3RlbmVyKFosbixELmNhcHR1cmUpOmMuZGV0YWNoRXZlbnQ/Yy5kZXRhY2hFdmVudChMbigzLGgsWiw1MCksbik6Yy5hZGRMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lcihuKSxpOS0tLG09dFcoMjEsYyksQj05NztlbHNlIGlmKEI9PTE5KUI9Ry04PDwyPj1HJiZHKzI+PjE8Rz84OjE4O2Vsc2UgaWYoQj09OTEpckooMzIsMCxELGMuSSksQj0zMjtlbHNlIGlmKEI9PTk1KUI9MTk7ZWxzZSBpZihCPT04MSlCPXRoaXMuVC5sZW5ndGg8NTA/NjU6Njc7ZWxzZSBpZihCPT02MyltLnNyYz1SLGNbbDldPVIsQj0zMjtlbHNle2lmKEI9PTMyKXJldHVybiBUO0I9PTE4JiYoQj0oR3wxKT4+Mz8zMjo5NCl9fSxLPWZ1bmN0aW9uKGssUixHLGgsRCl7Zm9yKGg9LX4oayYxKSsoRD1bXSwtMikrKGsmLTIpO2g+PTA7aC0tKURbfihrJjEpLTMqfmsrMip+KGt8MSkrKH5rJjEpLShofDApXT0oRz1SPj5oKjgsLTIqfihHJjI1NSktMSt+RysoRyYtMjU2KSk7aWYoe30pcmV0dXJuIER9LGZyPWZ1bmN0aW9uKCl7cmV0dXJuIFBZLmNhbGwodGhpcywxNCl9LFE9ZnVuY3Rpb24oayxSLEcpe3N3aXRjaCghKFI9PTE0Mnx8Uj09MTY4KSl7Y2FzZSB0cnVlOmlmKGsueW4mJlIhPTM2MylyZXR1cm47Uj09NDg4fHxSPT00Mnx8Uj09MjY0fHxSPT0xNHx8Uj09NTA2fHxSPT00NDZ8fFI9PTE2M3x8Uj09OTV8fFI9PTE5MXx8Uj09MzAyP2suWVtSXXx8KGsuWVtSXT1ZKDIsMzQsayxHLFIsMzgpKTprLllbUl09WSgyLDMzLGssRyxSLDEyOSk7YnJlYWs7Y2FzZSAhW106ay5ZW1JdP2suWVtSXS5jb25jYXQoRyk6ay5ZW1JdPXEoMjEsRyxrKTticmVha31SPT0zNjMmJihrLk49R04oMzIsayxmYWxzZSksay5sPXZvaWQgMCl9LER5PXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oayl7ZnVuY3Rpb24gUigpe31yZXR1cm4gUi5wcm90b3R5cGU9ayxuZXcgUn0sREQ9ZnVuY3Rpb24oayl7cmV0dXJuIFRvLmNhbGwodGhpcyw1NCxrLDI1KX0samU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe3N3aXRjaCghKEcuQj09Rykpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgISFudWxsOnttPWIoRyxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8oRD1mdW5jdGlvbihCLFQsTixQLGQsSSxTLFgpe2ZvcihJPShYPTE4LDg5KTs7KXRyeXtpZihYPT0zMylicmVhaztlbHNlIGlmKFg9PTU3KW0ucHVzaChtLkdmWy0oVHw3KS0yKn4oVHw3KSsoVHwtOCkrKH5UfDcpXV5CKSxYPTMzO2Vsc2V7aWYoWD09MzkpdGhyb3cgST04OSxTO1g9PTUwP1g9bS5tQiE9Tj81NDo1NzpYPT02OD8oST0zNixtLkdmPXloKDE2LHEoNTAsOCwtMS0yKn4oUHw0KSsoflBeNCksbSksMjU1LHEoMTgsOCxQLG0pLGQpLFg9NTcpOlg9PTU0PyhQPShOPDwzKS00LGQ9WzAsMCxjWzFdLGNbMl1dLG0ubUI9TixYPTY4KTpYPT0xOCYmKFQ9bS5sZW5ndGgsTj0oVHwwKS00Pj4zLFg9NTApfX1jYXRjaChNKXtpZihJPT04OSl0aHJvdyBNO0k9PTM2JiYoUz1NLFg9MzkpfX0sYz1WKDk1LEcpKTpEPWZ1bmN0aW9uKEIpe20ucHVzaChCKX0saCYmRCgoaHwwKS0gLTUxMisyKn4oaHwyNTUpKyhoJi0yNTYpKSxuPVIubGVuZ3RoLFo9MDt3aGlsZShaPG4pRChSW1pdKSxaKyt9YnJlYWt9fSxQZD1mdW5jdGlvbihrKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssMTYpfSxoMD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiw2LGssUixHLGgsRCxjKX0sYjk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssOCxSLEcsaCxELGMsWixuKX0sak09ZnVuY3Rpb24oayl7cmV0dXJuIEtuLmNhbGwodGhpcywwLDEsOCxrKX0sUnY9ZnVuY3Rpb24oayl7cmV0dXJuIGsuVj9rZihrLGsuRyk6R04oOCxrLHRydWUpfSx5aD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4pe1o9KGM9MCxEWzNdfDApO3tuPURbMl18MDt3aGlsZShjPGspUj1SPj4+OHxSPDwyNCxSKz1ofDAsWj1aPj4+OHxaPDwyNCxoPWg8PDN8aD4+PjI5LForPW58MCxSXj1uKzY1OSxuPW48PDN8bj4+PjI5LGhePVIsWl49Yys2NTksbl49WixjKyt9cmV0dXJuW2g+Pj4yNCZHLGg+Pj5rJkcsaD4+PjgmRyxoPj4+MCZHLFI+Pj4yNCZHLFI+Pj5rJkcsUj4+PjgmRyxSPj4+MCZHXX0sY2Q9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe0I9KGMuSnM9dFcoNzcsKGMuQ2o9Y1tBb10sYy5nSj14ZixjLllEPUpvLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25jYXQoKX19KSxjLlIpLGMudlY9eWZbYy5SXShjLkpzLHt2YWx1ZTp7dmFsdWU6e319fSksMCk7e049W107d2hpbGUoQjwzODMpTltCXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpLEIrK31pZihjLlJhPShjLmN0PShjLkI9KGMuRno9W10sYy5WVD1mdW5jdGlvbihQKXtyZXR1cm4gb0IuY2FsbCh0aGlzLDEzLDEyLFApfSwoYy5FMj0oYy5QPVtdLDApLGMuWT1bXSxjLlc9ZmFsc2UsYy53Yj1bXSxjKS5OPShjLks9KGMuRz12b2lkIDAsYy5Eaz1bXSx2b2lkIDApLFQ9d2luZG93LnBlcmZvcm1hbmNlfHx7fSx2b2lkIDApLGMpLDApLFQudGltZU9yaWdpbil8fChULnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCx0cnVlKWMud0o9dm9pZCAwO2MudT0oYy55VD0oKGMuVGU9RyxjLmRKPTMwMDAxLGMpLkQ3PTAsKGMuWD0wLGMpLnZ0PShjLm89ZmFsc2UsYy5CVj0oYy5PXz1ELG0pLFtdKSwwKSxmYWxzZSk7d2hpbGUoLTA9PT0wKWlmKChjLnM5PTI1LFtdKSE9dHJ1ZSlicmVhaztpZihjLnluPSEoYy5TbT0oKGMuVTk9W10sYy5sPXZvaWQgMCxjLlM9bnVsbCxjLnVYPShjLkJ3PTAsYy5xbz0wLGMuaj0wLFtdKSxjLlY9dm9pZCAwLGMuSHQ9IShjLkU5PWZhbHNlLGMub289dm9pZCAwLDEpLGMpLmtOPShjLlRmPTAsYy5IPTEsYy5XdD12b2lkIDAsMCksW10pLDEpLFomJloubGVuZ3RoPT0yJiYoYy5Eaz1aWzFdLGMuVTk9WlswXSksUil0cnl7Yy5XdD1KU09OLnBhcnNlKFIpfWNhdGNoKFApe2MuV3Q9e319ZigoZigyNixmdW5jdGlvbihQLGQsSSxTLFgpe3tYPTA7d2hpbGUoWCE9NjYpWD09ODg/KEk9cSgyNSxQKSxTPVkoUCw3MyksUShQLFMsZnVuY3Rpb24oTSl7cmV0dXJuIGV2YWwoTSl9KHpOKFYoSSxQLkIpKSkpLFg9NjYpOlg9PTAmJihYPU5UKGZhbHNlLDMyLGQsZmFsc2UsUCx0cnVlKT82Njo4OCl9fSwoKGYoKGYoMTYsZnVuY3Rpb24oUCl7a2ooMyxQKX0sKEMoMTQsKGYoKEEoMjY0LChmKDIzLChmKDIwLCgoZigxNywoZigyNywoZigxOCwoKGYoMjEsZnVuY3Rpb24oKXt9LDMyMywoZigyMCwoZigyMyxmdW5jdGlvbihQLGQsSSxTKXtBKChJPShTPShkPXEoNzEsUCksUnYpKFApLFkoUCw3NykpLEkpLFAsVyhQLGQpPj4+Uyl9LChDKDQyLChBKDE1NixjLChRKGMsKFEoYyw0ODgsKEEoMTkxLGMsKEMoOTUsKEMoNTUsKGYoMjUsKEMoNTA2LFtdLCgoQSgoZigxMyxmdW5jdGlvbihQLGQsSSxTLFgpe2ZvcihYPTU1O1ghPTQyOylYPT0zNz8oZC0tLFg9OTIpOlg9PTkyP1g9ZD4wPzkzOjk3Olg9PTU1PyhJPVAuRnoucG9wKCksWD0yOSk6WD09ODc/KFEoUCwxNDIsUC5qKSxYPTQyKTpYPT03MD9YPTkyOlg9PTk3PyhJWzUwNl09UC5ZWzUwNl0sSVszMDJdPVAuWVszMDJdLFAuWT1JLFg9NDIpOlg9PTI5P1g9ST82Nzo4NzpYPT05Mz8oUz1xKDI1LFApLElbU109UC5ZW1NdLFg9MzcpOlg9PTY3JiYoZD1SdihQKSxYPTcwKX0sKGMud049KChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtmb3IoTT03MTtNIT00MDspTT09NzE/TT1OVChmYWxzZSw2NCxkLGZhbHNlLFAsdHJ1ZSk/NDA6OTc6TT09NDg/TT1QLkI9PVB8fEk9PVAuVlQmJlM9PVA/MTk6NDA6TT09OTc/KFg9cVQoNzEsNzQsUCwwLDEpLFM9WC5rZSxJPVguUFYsTT00OCk6TT09MTkmJihBKFgucW0sUCxJLmFwcGx5KFMsWC5MKSksUC5jdD1QLkooKSxNPTQwKX0sKGYoKGYoKChBKDE1NyxjLChmKChmKDI1LChDKDE2OCwoQSgxNDIsYywoZigoZigxOCwoZigyMixmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9MjQ7dyE9ODY7KXc9PTQ/KFEoUCxyLEkpLHc9ODYpOnc9PTQ0PyhkPShNPXEoMTIsNyxQKSwtMip+KGR8TSkrKGR8fk0pKyh+ZHxNKSklbCxJLnB1c2goU1tkXSksdz0yOSk6dz09MjQ/KHI9WShQLDc3KSxYPXEoMTEsNyxQKSxJPVtdLFM9VyhQLDM5MyksZD0wLGw9Uy5sZW5ndGgsdz03MCk6dz09MjM/dz1YLS0/NDQ6NDp3PT0yOT93PTIzOnc9PTcwJiYodz0yMyl9LDMxMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9NjY7dyE9MzU7KXc9PTYwP3c9bDxkLmxlbmd0aD83MjoyODp3PT03Mj8oWCs9U3RyaW5nLmZyb21DaGFyQ29kZShkW2xdXjEyMSksdz00Myk6dz09NDM/KGwrKyx3PTYwKTp3PT04ND93PTYwOnc9PTY2PyhJPXEoODksUCkscj1xKDcyLFApLE09WShQLDc3KSxkPVcoUCxyKSxTPWIoUCxJKSxsPTAsWD0iIix3PTg0KTp3PT0yOCYmKEMoTSxTW1hdLFApLHc9MzUpfSksMTM2LGMpLDI3KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyxFKXt7RT04NDt3aGlsZShFIT0xNClFPT0yND8oTSs9U3RyaW5nLmZyb21DaGFyQ29kZSgoUz1kW3ddLDMqfihTJjEyMSktMip+Uy0gLTI0NCt+KFN8MTIxKSkpLEU9OTMpOkU9PTkzPyh3KyssRT0xOSk6RT09ODQ/KFg9WShQLDc0KSxJPVkoUCw3NCkscj1ZKFAsNzIpLGw9VyhQLEkpLGQ9VyhQLFgpLE09IiIsdz0wLEU9NDIpOkU9PTM0PyhBKHIsUCxNIGluIGx8MCksRT0xNCk6RT09MTk/RT13PGQubGVuZ3RoPzI0OjM0OkU9PTQyJiYoRT0xOSl9fSwyMjEsYyksMCkpLDApLGMpLGZ1bmN0aW9uKFAsZCxJKXtkPVkoKEk9WShQLDc2KSxQKSw3NiksQShkLFAsIiIrVyhQLEkpKX0pLDEwNixjKSwyMiksZnVuY3Rpb24oUCxkLEksUyxYLE0pe3tNPTM4O3doaWxlKE0hPTk3KU09PTE5PyhYKyssTT02OCk6TT09OD8oQShTLFAsZCksTT05Nyk6TT09Njg/TT1YPEk/MjY6ODpNPT04NT9NPTY4Ok09PTM4PyhTPXEoNjcsUCksST1xKDksNyxQKSxYPTAsZD1bXSxNPTg1KTpNPT0yNiYmKGQucHVzaChSdihQKSksTT0xOSl9fSwzMzUsYykse30pKSxjKS54ZT0wLDE2KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyKXtmb3Iocj05NDtyIT04OTspaWYocj09NjEpcj1YPFAudnQubGVuZ3RoPzc0Ojk4O2Vsc2UgaWYocj09OTQpe2ZvcihJIGluIGRlbGV0ZSAoZD0oUz1SdihQKSxXKShQLDU1KSxkKVtTXSxkKWlmKEkhPT0idCImJk9iamVjdC5oYXNPd24oZCxJKSlyZXR1cm47cj0oWD0wLDQ0KX1lbHNlIHI9PTY5PyhYKysscj02MSk6cj09ODU/KEguY2xlYXJUaW1lb3V0KE0uSWEpLGEoNDYsTS5RVCxQKSxhKDQ1LE0uYWEsUCkscj02OSk6cj09Nzg/cj1NLk1tPzY5Ojg1OnI9PTk4PyhQLnZ0Lmxlbmd0aD0wLHI9ODkpOnI9PTc0PyhNPVAudnRbWF0scj03OCk6cj09NDQmJihyPTYxKX0sMzI5LGMpLDI0KSxmdW5jdGlvbihQLGQsSSl7KGQ9YigoST1ZKFAsNzUpLFAuQiksSSksZFswXSkucmVtb3ZlRXZlbnRMaXN0ZW5lcihkWzFdLGRbMl0sb3YpfSwxMzcsYyksMzEwKSxjKSxuZXcgZ1UoIlN1Ym1pdCIpKS5kaXNwb3NlKCksMCksMzI3KSxjKSw0MSksYywxODMpLGYpKDE2LGZ1bmN0aW9uKFApe3VOKDQsUCl9LDEzNCxjKSxjKSksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGLCRuLEdvLEosdil7Zm9yKHY9MDt2IT0yNzspaWYodj09NjkpRT1yLmxlbmd0aCxGPUY+MD9GOjEsdz0wLHY9MTE7ZWxzZSBpZih2PT04NSl2PXc8RT83OjI3O2Vsc2UgaWYodj09NjYpbD1xKDczLFApLCRuPXEoNzYsUCksR289cSg0OSxQKSxJPXEoNTcsUCksUz1XKFAsJG4pLHI9VyhQLGwpLE09VihJLFApLEY9VihHbyxQKSx2PTM3O2Vsc2UgaWYodj09Mzcpdj1YWCgiYXJyYXkiLHIsIm51bGwiKT09Im9iamVjdCI/OTA6Nzk7ZWxzZSBpZih2PT0wKXY9TlQoZmFsc2UsMzIsZCx0cnVlLFAsdHJ1ZSk/Mjc6NjY7ZWxzZSBpZih2PT03KVMoci5zbGljZSh3LCh3fDApKyhGfDApKSxNKSx2PTU5O2Vsc2UgaWYodj09MTEpdj04NTtlbHNlIGlmKHY9PTkwKXtmb3IoWCBpbiBKPVtdLHIpSi5wdXNoKFgpO3Y9KHI9Siw3OSl9ZWxzZSB2PT03OT92PVAuQj09UD82OToyNzp2PT01OSYmKHcrPUYsdj04NSl9KSw3MyxjKSx7fSksYyksWzAsMCwwXSksYyksWWYoNCkpKSxbNTcsMCwwXSkpLDE2MyksW10pLEgpKSxZZig0KSksYyksNDU0KSxjKSxmdW5jdGlvbihQLGQsSSxTLFgpe0EoKGQ9WFgoImFycmF5IiwoST1iKFAsKFM9cSgxNywoWD1ZKFAsNzQpLFApKSxYKSksSSksIm51bGwiKSxTKSxQLGQpfSksNDQxLGMpLGMpKSxRKShjLDQ1OCwwKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwpe3tsPTY5O3doaWxlKGwhPTIyKWw9PTQ2PyhQLk49R04oMzIsUCxmYWxzZSksUC5sPXZvaWQgMCxsPTIyKTpsPT0xNz9sPVg9PTM2Mz80ODoyMjpsPT02ND9sPUk9PTI/NDY6MjI6bD09NDA/bD1QLkI9PVA/OTA6MjI6bD09NDg/KFAubD12b2lkIDAsbD02NCk6bD09OTA/KHI9YihQLFgpLFM9YihQLE0pLEk9VyhQLGQpLHJbSV09UyxsPTE3KTpsPT02OSYmKFg9WShQLDczKSxkPXEoODksUCksTT1xKDc4LFApLGw9NDApfX0pLDY3LGMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUpe2ZvcihFPTM7RSE9MTM7KUU9PTk3PyhYPXFUKDcxLDc0LFAuQiwwLDEpLE09WC5MLHc9WC5xbSxTPVguUFYsST1YLmtlLHI9TS5sZW5ndGgsbD1yPT0wP25ldyBJW1NdOnI9PTE/bmV3IElbU10oTVswXSk6cj09Mj9uZXcgSVtTXShNWzBdLE1bMV0pOnI9PTM/bmV3IElbU10oTVswXSxNWzFdLE1bMl0pOnI9PTQ/bmV3IElbU10oTVswXSxNWzFdLE1bMl0sTVszXSk6MigpLFEoUCx3LGwpLEU9MTMpOkU9PTMmJihFPU5UKGZhbHNlLDY1LGQsZmFsc2UsUCx0cnVlKT8xMzo5Nyl9KSwxMjcsYyksZnVuY3Rpb24oUCxkKXtwcigoZD1XKFAsWShQLDc2KSksNTA2KSwwLDE0MixkLDEwNCxQLkIpfSksMzEzLGMpLGYpKDE4LGZ1bmN0aW9uKFApe3VOKDEsUCl9LDEyMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSl7KEk9KGQ9KE09WShQLChYPXEoKFM9cSg3OSxQKSw2NyksUCksNzIpKSxiKShQLFgpLFYoUyxQKSksQykoTSxJW2RdLFApfSksMjEyLGMpLGYoMTUsZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGKXtmb3IoRj04MztGIT0yNDspRj09Nzg/KFg9WShmYWxzZSwxNiwyLE0sMSxyLFAsRSx3KSxFLmFkZEV2ZW50TGlzdGVuZXIodyxYLG92KSxWKDcxLFApLnB1c2goZnVuY3Rpb24oKXtFLnJlbW92ZUV2ZW50TGlzdGVuZXIodyxYLG92KX0pLEMoNDU4LFtFLHcsWF0sUCksRj0yNCk6Rj09ODM/KGw9cSg0OSxQKSxTPXEoNzQsUCksZD1xKDU3LFApLEk9cSg3MCxQKSx3PVcoUCxTKSxNPWIoUCxJKSxyPVYoZCxQKSxFPVYobCxQLkIpLEY9MzQpOkY9PTM0JiYoRj1FIT09MD83ODoyNCl9LDQ5MyxjKSxmdW5jdGlvbihQLGQsSSxTKXtRKFAsKGQ9cSg3NSwoST1xKDc3LChTPVkoUCw3MiksUCkpLFApKSxkKSxiKFAsUyl8fFcoUCxJKSl9KSwxMTEsYyksYyksW10pLDE5KSxmdW5jdGlvbihQKXtraig0LFApfSw1MDAsYyksWWYoNCkpLGMpLDM2NCksYyksMTMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtBKChkPShJPWIoUCwoTT1xKDQ5LChTPVkoUCwoWD1xKDE3LFApLDcyKSksUCkpLFgpKSxWKShTLFApLE0pLFAsKyhJPT1kKSl9LDQzMixjKSxjKS5aaj0wLDUwNCksYyksMTUpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCl7aWYoMD09IShJPShyPVcoKE09WShQLChYPVkoUCwobD1ZKChTPVkoUCw3NiksUCksNzMpLDcyKSksNzUpKSxQKSxsKSxXKFAsTSkpLFt0cnVlLnRydWVdKSlkPVYoWCxQKTtDKFMsWShmYWxzZSwxNywyLGQsSSxyLFApLFApfSw4MCxjKTt3aGlsZSghW10hPSh0cnVlPT1bXSE9bnVsbCkpaWYoZigyNixmdW5jdGlvbihQLGQsSSxTLFgsTSl7KFg9YihQLChkPShTPXEoKEk9cSg2OCwoTT1xKDgwLFApLFApKSw3MCksUCksYihQLEkpKSxNKSksQykoUyxYIGluIGR8MCxQKX0sMzcsYyksIWZhbHNlPT0hIiIpYnJlYWs7UkIoMjYsZmFsc2UsYywoYSg0NywoYSg0MSwoQSg3MSwoKEEoMzAyLGMsWyhmKDE1LGZ1bmN0aW9uKFAsZCxJLFMpe1YoKGQ9YihQLChJPXEoNjgsUCksUz1ZKFAsNzMpLFMpKSxJKSxQKSE9MCYmQygxNDIsZCxQKX0sKFEoYyw0NDYsKGYoMTMsZnVuY3Rpb24oUCl7WSg4LDU0LFAsNCl9LDc0LChRKChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKKXt7eT0xMzt3aGlsZSh5IT00MCl5PT0wP3k9ODp5PT0yMD8oZigyMSxmdW5jdGlvbih6LFB1LG03LGcsZU0sTCl7Zm9yKEw9NDI7TCE9NzU7KUw9PTIxPyhQdS5wdXNoKG03KSxMPTQ4KTpMPT0zOD8oZy5wdXNoKHEoMjUseikpLEw9OTgpOkw9PTUzP0w9bTc+PWcubGVuZ3RoPzM4OjI1Okw9PTI1PyhtNz1nW203XSxMPTIxKTpMPT02Nj8oei5WPXEoNTMsUy5zbGljZSgpLHopLHouRz1xKDUsUHUseiksTD03NSk6TD09MTE/KG03PU1bZU1dLEw9MTUpOkw9PTQ4PyhlTSsrLEw9NjApOkw9PTQyPyhlTT0wLFB1PVtdLGc9W10sTD05OSk6TD09MTU/TD1PW2VNXT8yMTo2ODpMPT05OD9MPTUzOkw9PTYwP0w9ZU08Sj8xMTo2NjpMPT05OT9MPTYwOkw9PTY4JiYoTD01Myl9LHIsUCkseT00MCk6eT09Mjc/KHc9MCx5PTE1KTp5PT01Mj8oT1tJXXx8KE1bSV09d0ooRikpLHk9NDYpOnk9PTI1PyhGPSgoR298MSkrfihHb3wxKS0ofkdvXjEpLTIqKH5HbyYxKSkudG9TdHJpbmcoMikubGVuZ3RoLE09W10sST0wLHk9Nik6eT09NDk/KFMucHVzaChWKFkoUCw3NSksUCkpLHk9MzMpOnk9PTQ2PyhJKysseT04Nik6eT09MTM/KHdKPWZ1bmN0aW9uKHosUHUpe2Zvcig7RTx6Oyl2fD1SdihQKTw8RSxFKz04O3JldHVybiB2Pj49KFB1PShFLT16LHYmKDE8PHopLTEpLHopLFB1fSxyPVkoUCw3NSksdj1FPTAsWD0od0ooMyl8MCkrMSxKPXdKKDUpLE89W10seT1Hbz1sPTApOnk9PTg2P3k9STxKPzUyOjI3Onk9PTY1Pyh3KysseT04Myk6eT09MzM/eT00Nzp5PT02P3k9ODY6eT09NTA/KE9bd10mJihNW3ddPVkoUCw3MikpLHk9NjUpOnk9PTcxPygkbj13SigxKSxPLnB1c2goJG4pLEdvKz0kbj8wOjEseT03Nik6eT09NDc/eT1kLS0/NDk6MjA6eT09OD95PWw8Sj83MToyNTp5PT04Mz95PXc8Sj81MDo2OTp5PT03Nj8obCsrLHk9OCk6eT09Njk/KGQ9WCxTPVtdLHk9NjYpOnk9PTE1P3k9ODM6eT09NjYmJih5PTQ3KX19LDMwMCwoZigoQygxMDMsMCxjKSwyNCksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcpe2Zvcih3PTkxO3chPTQ3Oyl3PT04MT8oZD0oTT1xKDgsNyxQKSwyKihkJk0pK34oZCZNKS1+KGR8TSkpJVMscis9TltsW2RdXSx3PTI1KTp3PT01MD93PTgzOnc9PTEyPyhBKFgsUCxyKSx3PTQ3KTp3PT05MT8oWD1ZKFAsNzUpLEk9cSgxMCw3LFApLHI9IiIsbD1XKFAsMzkzKSxTPWwubGVuZ3RoLGQ9MCx3PTUwKTp3PT04Mz93PUktLT84MToxMjp3PT0yNSYmKHc9ODMpfSw1MSxjKSxjKSksYyksMzksYyksYykpLFtdKSksMTcxKSxjKSwyMDQ4KV0pLGYpKDE5LGZ1bmN0aW9uKFAsZCxJLFMsWCl7USgoWD0oZD0oUz1xKDI1LChJPVkoUCw3NiksUCkpLGIpKFAsUyksVihJLFApKSxQKSxTLGQrWCl9LDEwNCxjKSxjKSxbXSksaHx8YSg1NixbeG5dLGMpLFtHdCxrXSksYyksW1JZLG5dKSxjKSx0cnVlKSx0cnVlKX0sVmg9ZnVuY3Rpb24oayxSKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDI0LGssUil9LGtmPWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz1SLmNyZWF0ZSgpLnNoaWZ0KCksay5WLmNyZWF0ZSgpLmxlbmd0aHx8ay5HLmNyZWF0ZSgpLmxlbmd0aCl8fChrLkc9dm9pZCAwLGsuVj12b2lkIDApLEd9LHFQPWZ1bmN0aW9uKGspe2Zvcih2YXIgUj04NztSIT0yOTspaWYoUj09MzIpRCs9ZW5jb2RlVVJJQ29tcG9uZW50KEdbaF0pK2tbaCsxXSxSPTM1O2Vsc2V7aWYoUj09MTgpcmV0dXJuIGUoMzYsbnVsbCxEKTtpZihSPT04Nyl2YXIgRz1Lci5hcHBseSgxLChSPTkzLGFyZ3VtZW50cykpO2Vsc2UgaWYoUj09MzUpaCsrLFI9NDY7ZWxzZSBpZihSPT04Myl2YXIgaD0oUj00LDApLEQ9a1swXTtlbHNlIGlmKFI9PTkzKVI9Ry5sZW5ndGg9PT0wPzUxOjgzO2Vsc2UgaWYoUj09NClSPTQ2O2Vsc2UgaWYoUj09NDYpUj1oPEcubGVuZ3RoPzMyOjE4O2Vsc2UgaWYoUj09NTEpcmV0dXJuIGUoMzUsbnVsbCxrWzBdKX19LFdZPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIE1QLmNhbGwodGhpcywyMixrLFIsRyxoLEQpfSxubj1mdW5jdGlvbigpe3JldHVybiBmLmNhbGwodGhpcywzKX0sYUI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gQVcuY2FsbCh0aGlzLDQxLGssOCxSKX0sWWY9ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTE5O0chPTY4OylpZihHPT03OSlSLnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksRz0xNTtlbHNlIGlmKEc9PTE5KVI9W10sRz05NztlbHNlIGlmKEc9PTk3KUc9MzA7ZWxzZSBpZihHPT0xNSlHPTMwO2Vsc2UgaWYoRz09MzApRz1rLS0/Nzk6NzE7ZWxzZSBpZihHPT03MSlyZXR1cm4gUn0sZWU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEksUyl7Zm9yKFo9KEI9KFQ9KEk9ay5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksW10pLDApLDApO1o8SS5sZW5ndGg7WisrKUQ9SS5jaGFyQ29kZUF0KFopLEQ8Uj9UW0IrK109RDooRDwyMDQ4P1RbQisrXT0oYz1EPj42LC1+KGMmMTkyKSsyKihjXjE5MiktKH5jJjE5MikrKH5jfDE5MikpOigoRCY2NDUxMik9PTU1Mjk2JiZaKzE8SS5sZW5ndGgmJihJLmNoYXJDb2RlQXQoWisxKSY2NDUxMik9PTU2MzIwPyhEPShtPShEJjEwMjMpPDwxMCwyKig2NTUzNiZtKSsoNjU1MzYmfm0pLSgtNjU1MzdebSkrKC02NTUzN3xtKSkrKGg9SS5jaGFyQ29kZUF0KCsrWiksKGh8MCktfihoJjEwMjMpK35oKSxUW0IrK109KGQ9RD4+MTgsMjQwKyhkJjI0MCkrLTI0MS0ofmReMjQwKSksVFtCKytdPShHPShQPUQ+PjEyLDYzLSh+UCY2MykpLDEyNy0ofkd8UikpKTpUW0IrK109KFM9RD4+MTIsMjIzLSh+U3wyMjQpKSxUW0IrK109KG49KE49RD4+Niwtfk4rKH5OXjYzKSsofk4mNjMpKSxSLSh+bl5SKSsobnwtMTI5KSkpLFRbQisrXT02My1+RCt+KER8NjMpfFIpO3JldHVybiBUfSxXPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTtmb3IoTmFOO0c9PT12b2lkIDA7ZmFsc2Upe3Rocm93W3dVLDMwLFJdO2lmKHRydWUpYnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoUioyKlIrLTMxKlIrNTgpLEcpLnByb3RvdHlwZX0sTHI9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssNSxSLEcsaCxEKX0sa2o9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7KCgoRz1iKFIsKFo9WShSLChjPVkoUiwoRD0oa3w0KS1+aysoaD1rJjMsfihrfDQpKS0oayYtNSksNzMpKSw3NykpLGMpKSxEKSYmKEc9ZWUoIiIrRywxMjgpKSxoKSYmamUoWixLKDIsRy5sZW5ndGgpLFIpLGplKShaLEcsUil9LGlOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXsoUi5wdXNoKChjPWtbMF08PDI0fGtbMV08PDE2LG49a1syXTw8OCwtfihjJm4pKy0yLSh+Y15uKSl8a1szXSksUi5wdXNoKChaPShoPWtbNF08PDI0fGtbNV08PDE2LE49a1s2XTw8OCwtMi1+Ti0ofmh8TikpLEQ9a1s3XSwyKihEfDApLTIqKFomRCktflorKFp8fkQpKSksUikucHVzaCgoVD0oQj1rWzhdPDwyNHxrWzldPDwxNixtPWtbMTBdPDw4LC1+KEImbSkrMiooQl5tKSsofkJebSkpLEc9a1sxMV0sLTEtflQrKH5UJkcpKSl9LGxOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3N3aXRjaCghKGguQj09aCkpe2Nhc2UgdHJ1ZTpmYWxzZTticmVhaztjYXNlICFbIiJdIT0wOntaPWIoaCxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8obT1mdW5jdGlvbihULE4sUCxkLEksUyxYLE0pe2ZvcihYPShTPTgsOTcpOzspdHJ5e2lmKFM9PTU1KWJyZWFrO2Vsc2UgaWYoUz09NzYpWD0zMyxaLkdmPXloKDE2LHEoMzQsOCwtMS0yKn4oSXw0KSsofkleNCksWiksMjU1LHEoNjYsOCxJLFopLGQpLFM9NzA7ZWxzZXtpZihTPT02Mil0aHJvdyBYPTk3LE07Uz09NzA/KFoucHVzaChaLkdmWy0oTnxHKS0yKn4oTnxHKSsoTnwtOCkrKH5OfEcpXV5UKSxTPTU1KTpTPT05MD9TPVoubUIhPVA/Mjk6NzA6Uz09OD8oTj1aLmxlbmd0aCxQPShOfDApLTQ+PjMsUz05MCk6Uz09MjkmJihJPShQPDwzKS00LGQ9WzAsMCxCWzFdLEJbMl1dLFoubUI9UCxTPTc2KX19Y2F0Y2gocil7aWYoWD09OTcpdGhyb3cgcjtYPT0zMyYmKE09cixTPTYyKX19LEI9Vig5NSxoKSk6bT1mdW5jdGlvbihUKXtaLnB1c2goVCl9LEQmJm0oKER8MCktIC01MTIrMip+KER8MjU1KSsoRCYtMjU2KSksYz1SLmxlbmd0aCxuPTA7d2hpbGUobjxjKW0oUltuXSksbisrfWJyZWFrfX0sQz1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKCEoaz09MTQyfHxrPT0xNjgpKXtjYXNlIHRydWU6d2hpbGUoRy55biYmayE9MzYzKXtyZXR1cm47aWYoZmFsc2U9PTApYnJlYWt9az09NDg4fHxrPT00Mnx8az09MjY0fHxrPT0xNHx8az09NTA2fHxrPT00NDZ8fGs9PTE2M3x8az09OTV8fGs9PTE5MXx8az09MzAyP0cuWVtrXXx8KEcuWVtrXT1ZKDIsMzIsRyxSLGssMzgpKTpHLllba109WSgyLDM1LEcsUixrLDEyOSk7YnJlYWs7Y2FzZSBmYWxzZTpHLllba10/Ry5ZW2tdLmNvbmNhdChSKTpHLllba109cSg4NSxSLEcpO2JyZWFrfWs9PTM2MyYmKEcuTj1HTigzMixHLGZhbHNlKSxHLmw9dm9pZCAwKX0scVQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Yz0oWj0oKG49cSgobT1HW3ZZXXx8e30sayksRyksbS5xbT1xKDE3LEcpLG0pLkw9W10sRykuQj09Rz8oUnYoRyl8aCktRDoxLFkoRyxSKSk7e0I9aDt3aGlsZShCPFopbS5MLnB1c2gocSg0OSxHKSksQisrfWZvcihtLlBWPWIoRyxuKTtaLS07KW0uTFtaXT1iKEcsbS5MW1pdKTtyZXR1cm4gbS5rZT1iKEcsYyksbX0sV3U9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDUpfSxRaD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIFcoRCwoQygxNDIsKGJOKDU3LGgsKChjPVcoRCwxNDIpLEQud2ImJmM8RC5qKT8oUShELDE0MixELmopLHByKDUwNixrLDE0MixSLDEwNCxEKSk6QygxNDIsUixEKSxEKSw0MSksYyksRCksRykpfSxGWD1mdW5jdGlvbigpe3JldHVybiBNUC5jYWxsKHRoaXMsMjApfSxYWD1mdW5jdGlvbihrLFIsRyxoLEQpe0Q9dHlwZW9mIFI7c3dpdGNoKCEoRD09Im9iamVjdCIpKXtjYXNlIE5hTiE9PU51bWJlcih1bmRlZmluZWQpOmZvcihbXSE9KCFbIiJdPT1OdW1iZXIoKSk7RD09ImZ1bmN0aW9uIiYmdHlwZW9mIFIuY2FsbD09InVuZGVmaW5lZCI7MCl7cmV0dXJuIm9iamVjdCI7aWYoIkYiKWJyZWFrfWJyZWFrO2Nhc2UgbnVsbD09KG51bGw9PWZhbHNlKTpzd2l0Y2goIVIpe2Nhc2UgIVtdPT0wOnJldHVybiBHO2JyZWFrO2Nhc2UgIVt1bmRlZmluZWRdIT0wOmlmKFIgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4gaztzd2l0Y2goIShSIGluc3RhbmNlb2YgT2JqZWN0KSl7Y2FzZSB0cnVlOltdIT0odHJ1ZSE9W10pO2JyZWFrO2Nhc2UgIVtdPT0oLTA9PT0wKTpyZXR1cm4gRDticmVha31oPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSKTtmb3IoZmFsc2U7aD09IltvYmplY3QgV2luZG93XSI7ZmFsc2Upe3JldHVybiJvYmplY3QiO2lmKFtdPT0oIWZhbHNlPT0hIiIpIT1udWxsKWJyZWFrfWZvcihOdW1iZXIoKTtoPT0iW29iamVjdCBBcnJheV0ifHx0eXBlb2YgUi5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgUi5zcGxpY2UhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKTtmYWxzZSl7cmV0dXJuIGs7aWYoIlkiKWJyZWFrfXN3aXRjaCghKGg9PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBSLmNhbGwhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJjYWxsIikpKXtjYXNlIFtdIT10cnVlOjE7YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm4iZnVuY3Rpb24iO2JyZWFrfWJyZWFrfWJyZWFrfXJldHVybiBEfSxyVT1mdW5jdGlvbihrLFIpe3JldHVybiB0Vy5jYWxsKHRoaXMsMjgsayxSKX0seD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7bT10aGlzO3RyeXtjZChSLG4sYyxaLGssdGhpcyxoLEQsRyl9Y2F0Y2goQil7ZSg4OSwiOiIsdGhpcyxCKSxEKGZ1bmN0aW9uKFQpe1QobS5LKX0pfX0sWnk9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5uPSh0aGlzLlQ9W10sMCl9cmV0dXJuW2Z1bmN0aW9uKGgpe2sueE4oaCksUi54TihoKX0sKFI9KGs9KEcucHJvdG90eXBlLnhOPShHLnByb3RvdHlwZS5POT1mdW5jdGlvbigpe3JldHVybiBSQi5jYWxsKHRoaXMsMyl9LGZ1bmN0aW9uKGgsRCl7cmV0dXJuIGNZLmNhbGwodGhpcywzMyxoLDExLEQpfSksbmV3IEcpLG5ldyBHKSxmdW5jdGlvbihoLEQpe3JldHVybiBEPShoPWg9PT12b2lkIDA/dHJ1ZTpoLGsuTzkoKS5jb25jYXQoUi5POSgpKSksaCYmKFI9bmV3IEcpLER9KV19LGtuPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFApe209a1swXTtzd2l0Y2goIShtPT0kZikpe2Nhc2UgZmFsc2U9PSFbXTppZihtPT1CZCloLlc9RyxoLnM5PTI1LGgueVQ9aC5SbygpLWtbUl0saC5pKGspO2Vsc2UgaWYobT09QW8pe0I9a1sxXVszXTt0cnl7Yz1oLkt8fGguaShrKX1jYXRjaChkKXtlKDU4LCI6IixoLGQpLGM9aC5LfShuPWguSigpLEIoYyksaCkuWCs9aC5KKCktbn1lbHNlIHN3aXRjaCghKG09PW1jKSl7Y2FzZSBOYU4hPT1OdW1iZXIodW5kZWZpbmVkKTpzd2l0Y2goIShtPT1HdCkpe2Nhc2UgMD09PS0wOnN3aXRjaCghKG09PVJZKSl7Y2FzZSBOdW1iZXIoKT09PS1OdW1iZXIoKTppZihtPT1NVClyZXR1cm4gRD1rW1JdLEEoNDUxLGgsa1s2XSksQygxNTcsRCxoKSxoLmkoayk7bT09ZHI/KGguaShrKSxoLlk9bnVsbCxoLnVYPVtdLGgud2I9W10pOm09PXhuJiZILmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihoLlM9ZnVuY3Rpb24oZCxJKXtmdW5jdGlvbiBTKFgpe2ZvcihYPTk3O1ghPTU2OylYPT05Nz9YPUk/NTY6ODY6WD09ODYmJihJPUcsSC5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixTLG92KSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpLGQoKSxYPTU2KX1ILmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChJPWZhbHNlLFMpLG92KSxILmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpfSk7YnJlYWs7Y2FzZSBmYWxzZTp0cnl7e1A9MDt3aGlsZShQPGguU20ubGVuZ3RoKXt0cnl7Wj1oLlNtW1BdLFpbMF1bWlsxXV0oWltSXSl9Y2F0Y2goZCl7fVArK319fWNhdGNoKGQpe30oMCxrWzFdKShmdW5jdGlvbihkLEkpe2gucFgoZCxHLEkpfSxmdW5jdGlvbihkKXthKDQ0LChkPSFoLlAubGVuZ3RoJiYhaC5vLFtkcl0pLGgpLGQmJlJCKDMwLGZhbHNlLGgsZmFsc2UsRyl9LChoLlNtPVtdLFQ9aC5KKCksZnVuY3Rpb24oZCl7cmV0dXJuIGgudHgoZCl9KSxmdW5jdGlvbihkLEksUyl7cmV0dXJuIGguZWkoZCxJLFMpfSksaC5YKz1oLkooKS1UO2JyZWFrfWJyZWFrO2Nhc2UgZmFsc2U6aC51PUcsaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgW109PShmYWxzZT09IVtdKTprWzNdJiYoaC51PUcpLGtbNF0mJihoLlc9RyksaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgTmFOPT09TmFOOmlmKE49aC5pKGspKU4uSWE9SC5zZXRUaW1lb3V0KGZ1bmN0aW9uKGQpeyhhKChhKDQwLE4uUVQsKGQ9KE4uTW09RywhaC5QLmxlbmd0aCYmIWgubyksaCkpLDU4KSxOLmFhLGgpLGQpJiZSQigyNSxmYWxzZSxoLEcsRyl9LE4udGltZW91dCksaC52dC5wdXNoKE4pO2JyZWFrfX0sU009ZnVuY3Rpb24oayxSLEcpeyJzdGFjayJpbih0aGlzLm1lc3NhZ2U9KEc9RXJyb3IuY2FsbCh0aGlzLGsrIiBjYW5ub3QgYmUgdXNlZCB3aXRoIGludGVudCAiK21EW1JdKSxHLm1lc3NhZ2UpLEcpJiYodGhpcy5zdGFjaz1HLnN0YWNrKSx0aGlzLnR5cGU9ayx0aGlzLm5hbWU9IlR5cGVDYW5ub3RCZVVzZWRXaXRoSWZyYW1lSW50ZW50RXJyb3IifSxnVT1mdW5jdGlvbihrLFIsRyl7cmV0dXJuIEFXLmNhbGwodGhpcyw0MSxrLDI5LFIsRyl9LEE9ZnVuY3Rpb24oayxSLEcpe2lmKGs9PTE0Mnx8az09MTY4KVIuWVtrXT9SLllba10uY29uY2F0KEcpOlIuWVtrXT1xKDM3LEcsUik7ZWxzZXtpZihSLnluJiZrIT0zNjMpcmV0dXJuO2s9PTQ4OHx8az09NDJ8fGs9PTI2NHx8az09MTR8fGs9PTUwNnx8az09NDQ2fHxrPT0xNjN8fGs9PTk1fHxrPT0xOTF8fGs9PTMwMj9SLllba118fChSLllba109WSgyLDQwLFIsRyxrLDM4KSk6Ui5ZW2tdPVkoMiwzMixSLEcsaywxMjkpfWs9PTM2MyYmKFIuTj1HTigzMixSLGZhbHNlKSxSLmw9dm9pZCAwKX0sbng9ZnVuY3Rpb24oayxSLEcsaCxEKXt3aGlsZShrLmxlbmd0aD09Myl7e2g9MDt3aGlsZShoPDMpUltoXSs9a1toXSxoKyt9RD1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdO3tHPTA7d2hpbGUoRzw5KVJbM10oUixHJTMsRFtHXSksRysrfWlmKHt9KWJyZWFrfX0sS3I9ZnVuY3Rpb24oKXt7dmFyIGs9OTM7d2hpbGUoayE9Mzkpe2lmKGs9PTkwKXJldHVybiBoO2lmKGs9PTc3KWs9Rzxhcmd1bWVudHMubGVuZ3RoPzE2OjkwO2Vsc2UgaWYoaz09OTMpdmFyIFI9KGs9MTEsTnVtYmVyKSh0aGlzKSxHPVIsaD1bXTtlbHNlIGs9PTExP2s9Nzc6az09OTI/KEcrKyxrPTc3KTprPT0xNiYmKGhbRy1SXT1hcmd1bWVudHNbR10saz05Mil9fX0scHI9ZnVuY3Rpb24oayxSLEcsaCxELGMpe3doaWxlKGZhbHNlPT0wKWlmKGMuRnoubGVuZ3RoPkQ/YXYoayxjLFIsW3dVLDM2XSk6KGMuRnoucHVzaChjLlkuc2xpY2UoKSksYy5ZW0ddPXZvaWQgMCxBKEcsYyxoKSksIVtdPT0wKWJyZWFrfSxiPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTt3aGlsZShHPT09dm9pZCAwKXt0aHJvd1t3VSwzMCxSXTtpZigwPT0hW3RydWUudHJ1ZV0pYnJlYWt9c3dpdGNoKCFHLnZhbHVlKXtjYXNlIDA9PSFbXTpbXSE9KHRydWUhPVtdKTticmVhaztjYXNlIG51bGw9PShmYWxzZT09bnVsbCk6cmV0dXJuIEcuY3JlYXRlKCk7YnJlYWt9cmV0dXJuKEcuY3JlYXRlKFIqMipSKy0zMSpSKzU4KSxHKS5wcm90b3R5cGV9LE5ELHRvPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4gRjEuY2FsbCh0aGlzLDk0LCJvbiIsMjQsayxSLEcsaCxELGMpfSxUdD1mdW5jdGlvbihrLFIsRyxoLEQpe3JldHVybiBMbi5jYWxsKHRoaXMsMyxrLEcsMTIsRCxSLGgpfSxEWj1mdW5jdGlvbigpe3JldHVybiBLbi5jYWxsKHRoaXMsMCwxLDUpfSxnSj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssMTIsUixHLGgsRCxjLFosbixtLEIpfSxWPWZ1bmN0aW9uKGssUixHKXtHPVIuWVtrXTtzd2l0Y2goIShHPT09dm9pZCAwKSl7Y2FzZSAwPT0hWyIiXTowPT0hWyIiXTticmVhaztjYXNlIDAhPT0tTnVtYmVyKCk6dGhyb3dbd1UsMzAsa107YnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoayoyKmsrLTMxKmsrNTgpLEcpLnByb3RvdHlwZX0sUzg9ZnVuY3Rpb24oayxSLEcsaCl7dHJ5e2g9a1soKFJ8MCkrMiklM10sa1tSXT0oa1tSXXwwKS0oa1soLTIqfihSJjEpKy0yKyhSJi0yKSsoflImMSkpJTNdfDApLShofDApXihSPT0xP2g8PEc6aD4+PkcpfWNhdGNoKEQpe3Rocm93IEQ7fX0sSVk9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDgpfSxRZj1mdW5jdGlvbigpe3JldHVybiBlLmNhbGwodGhpcyw1MSl9LFgxPWZ1bmN0aW9uKGspe3JldHVybiBOUC5jYWxsKHRoaXMsNCxrLDMpfSx1Tj1mdW5jdGlvbihrLFIsRyxoKXtoPXEoNTcsKEc9WShSLDczKSxSKSksamUoaCxLKGssVihHLFIpKSxSKX0sYk49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2lmKCFHLkspe0cuRDcrKzt0cnl7RD1HLmo7d2hpbGUoIW51bGwpaWYoYz12b2lkIDAsdHJ1ZSE9IVtdKWJyZWFrO2ZvcihaPTA7LS1SOyl0cnl7aWYobT12b2lkIDAsRy5WKWM9a2YoRyxHLlYpO2Vsc2V7aWYoKFo9VigxNDIsRyksWik+PUQpYnJlYWs7Yz1iKEcsKG09cSg4OSwoUShHLDE2OCxaKSxHKSksbSkpfU5UKGZhbHNlLDMzLChjJiYobj1jW2RyXSwobnwwKSsyMDQ4LShufDIwNDgpKT9jKEcsUik6YXYoNTA2LEcsMCxbd1UsMjEsbV0pLFIpLGZhbHNlLEcsZmFsc2UpfWNhdGNoKEIpe1coRyxoKT9hdig1MDYsRywyMixCKTpBKGgsRyxCKX1mb3IodHJ1ZSsobnVsbCE9KDAhPSFbXSkpOyFSOzEpe2Zvcih2b2lkIDA7Ry5ObTshW109PWZhbHNlKXtiTig1NywoRy5ENy0tLDYwMzE5ODAwNTkzMCksRyw0MSk7cmV0dXJuO2lmKDMpYnJlYWt9aWYoYXYoNTA2LEcsMCxbd1UsMzNdKSwxKWJyZWFrfX1jYXRjaChCKXt0cnl7YXYoNTA2LEcsMjIsQil9Y2F0Y2goVCl7ZShrLCI6IixHLFQpfX1HLkQ3LS19fSxwbj1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDI0LGspfSx1O3N3aXRjaCghKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpKXtjYXNlICEiIj09IWZhbHNlOnZhciBYUTthOnt2YXIgTUQ9e30sb1k9e2E6dHJ1ZX07dHJ5e01ELl9fcHJvdG9fXz1vWTt3aGlsZShOdW1iZXIoKT09ZmFsc2UpaWYoWFE9TUQuYSx0cnVlIT1bXSlicmVhazticmVhayBhfWNhdGNoKGspe31YUT1mYWxzZX1ORD1YUT9mdW5jdGlvbihrLFIsRyl7Zm9yKEc9MTU7RyE9NTI7KXtpZihHPT02NilyZXR1cm4gaztpZihHPT0xNSlrLl9fcHJvdG9fXz1SLEc9Nzg7ZWxzZSBpZihHPT03OClHPWsuX19wcm90b19fIT09Uj80MTo2NjtlbHNlIGlmKEc9PTQxKXRocm93IG5ldyBUeXBlRXJyb3IoaysiIGlzIG5vdCBleHRlbnNpYmxlIik7fX06bnVsbDticmVhaztjYXNlIDAhPSFbXTpORD1PYmplY3Quc2V0UHJvdG90eXBlT2Y7YnJlYWt9dmFyIEg9dGhpc3x8c2VsZix0MD1ORCxFUj0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxIdT0wLFpaLGZuPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtEPTgxO3toPTU0O3doaWxlKFtdKXRyeXtpZihEPT0zNSlicmVhaztlbHNlIGlmKEQ9PTgwKVI9ZmFsc2UsRz1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtSPXRydWV9fSksRD01MDtlbHNlIGlmKEQ9PTMwKWg9NTQsRD0zMjtlbHNle2lmKEQ9PTMyKXJldHVybiBoPTU0LFI7aWYoRD09MzMpcmV0dXJuIGZhbHNlO0Q9PTUwPyhoPTM4LGs9ZnVuY3Rpb24oKXt9LEguYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsayxHKSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGssRyksRD0zMik6RD09ODEmJihEPUguYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5PzgwOjMzKX19Y2F0Y2goWil7aWYoaD09NTQpdGhyb3cgWjtoPT0zOCYmKGM9WixEPTMwKX19fSgpLGRKPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoKCgoKEJZKDIsNDUsclUsKGFCLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD0oV3UucHJvdG90eXBlW1d1LnByb3RvdHlwZS5kaXNwb3NlPShXdS5wcm90b3R5cGUuZz1mYWxzZSxmdW5jdGlvbihrKXt7az05NTt3aGlsZShrIT0xMilrPT01Mj8odGhpcy5nPXRydWUsdGhpcy5VKCksaz0xMik6az09OTUmJihrPXRoaXMuZz8xMjo1Mil9fSksKGFCLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLlB0PXRydWV9LFN5bWJvbCkuZGlzcG9zZV09KFd1LnByb3RvdHlwZS5VPWZ1bmN0aW9uKGspe3trPTc2O3doaWxlKGshPTQ2KWs9PTU4P2s9ODA6az09MzY/KHRoaXMubFguc2hpZnQoKSgpLGs9NDEpOms9PTgwP2s9dGhpcy5sWC5sZW5ndGg/MzY6NDY6az09NDE/az04MDprPT03NiYmKGs9dGhpcy5sWD81ODo0Nil9fSxmdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfSksZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dHJ1ZX0pLGFCKSksclUucHJvdG90eXBlKS5pbml0PWZ1bmN0aW9uKGssUixHLGgsRCxjKXtmb3IoYz0zOTtjIT05NjspYz09MTY/Yz1EPT0ibW91c2VvdmVyIj8yMjoyMzpjPT0yMz9jPUQ9PSJtb3VzZW91dCI/MTI6ODQ6Yz09OTk/KHRoaXMub2Zmc2V0WD1rLm9mZnNldFgsdGhpcy5vZmZzZXRZPWsub2Zmc2V0WSx0aGlzLmNsaWVudFg9ay5jbGllbnRYIT09dm9pZCAwP2suY2xpZW50WDprLnBhZ2VYLHRoaXMuY2xpZW50WT1rLmNsaWVudFkhPT12b2lkIDA/ay5jbGllbnRZOmsucGFnZVksdGhpcy5zY3JlZW5YPWsuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ay5zY3JlZW5ZfHwwLGM9MjApOmM9PTg0Pyh0aGlzLnJlbGF0ZWRUYXJnZXQ9aCxjPTgxKTpjPT01ND8odGhpcy5jbGllbnRYPUcuY2xpZW50WCE9PXZvaWQgMD9HLmNsaWVudFg6Ry5wYWdlWCx0aGlzLmNsaWVudFk9Ry5jbGllbnRZIT09dm9pZCAwP0cuY2xpZW50WTpHLnBhZ2VZLHRoaXMuc2NyZWVuWD1HLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPUcuc2NyZWVuWXx8MCxjPTIwKTpjPT0yMD8odGhpcy5idXR0b249ay5idXR0b24sdGhpcy5rZXlDb2RlPWsua2V5Q29kZXx8MCx0aGlzLmtleT1rLmtleXx8IiIsdGhpcy5jaGFyQ29kZT1rLmNoYXJDb2RlfHwoRD09ImtleXByZXNzIj9rLmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PWsuY3RybEtleSx0aGlzLmFsdEtleT1rLmFsdEtleSx0aGlzLnNoaWZ0S2V5PWsuc2hpZnRLZXksdGhpcy5tZXRhS2V5PWsubWV0YUtleSx0aGlzLnBvaW50ZXJJZD1rLnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPWsucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT1rLnN0YXRlLHRoaXMudGltZVN0YW1wPWsudGltZVN0YW1wLHRoaXMuWU49ayxrLmRlZmF1bHRQcmV2ZW50ZWQmJnJVLk8ucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSxjPTk2KTpjPT02OD9jPWg/ODQ6MTY6Yz09MjI/KGg9ay5mcm9tRWxlbWVudCxjPTg0KTpjPT04MT9jPUc/NTQ6OTk6Yz09MTI/KGg9ay50b0VsZW1lbnQsYz04NCk6Yz09MzkmJihEPXRoaXMudHlwZT1rLnR5cGUsRz1rLmNoYW5nZWRUb3VjaGVzJiZrLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9rLmNoYW5nZWRUb3VjaGVzWzBdOm51bGwsdGhpcy50YXJnZXQ9ay50YXJnZXR8fGsuc3JjRWxlbWVudCx0aGlzLmN1cnJlbnRUYXJnZXQ9UixoPWsucmVsYXRlZFRhcmdldCxjPTY4KX0sclUpLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXsoclUuTy5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLllOLnN0b3BQcm9wYWdhdGlvbik/dGhpcy5ZTi5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLllOLmNhbmNlbEJ1YmJsZT10cnVlfSxyVSkucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKGspeyhrPShyVS5PLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksdGhpcy5ZTiksaykucHJldmVudERlZmF1bHQ/ay5wcmV2ZW50RGVmYXVsdCgpOmsucmV0dXJuVmFsdWU9ZmFsc2V9LE1hdGgucmFuZG9tKCkpKjFFNnwwKSxIWT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEl2PTAsbDk9KCgoak0ucHJvdG90eXBlLmFkZD0oak0ucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIHJKKDEwLHRydWUsZmFsc2UsKEc9KGg9KEQ9ayE9PXZvaWQgMCk/ay50b1N0cmluZygpOiIiLFIhPT12b2lkIDApLHRoaXMuWiksZnVuY3Rpb24oYyxaLG4pe2ZvcihuPTM4O24hPTgzOylpZihuPT04OCkrK1osbj0zMjtlbHNle2lmKG49PTE4KXJldHVybiBmYWxzZTtpZihuPT03NyluPTMyO2Vsc2UgaWYobj09ODkpbj1EJiZjW1pdLnR5cGUhPWh8fEcmJmNbWl0uY2FwdHVyZSE9Uj84ODoxNDtlbHNle2lmKG49PTE0KXJldHVybiB0cnVlO249PTMyP249WjxjLmxlbmd0aD84OToxODpuPT0zOCYmKFo9MCxuPTc3KX19fSl9LGZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3tCPTczO3doaWxlKEIhPTI5KWlmKEI9PTEwKW0uYW89ZmFsc2UsQj01MTtlbHNlIGlmKEI9PTIxKUI9Yz4tMT8wOjcxO2Vsc2UgaWYoQj09NDMpQj1HPzUxOjEwO2Vsc2V7aWYoQj09NTEpcmV0dXJuIG07Qj09MD8obT1uW2NdLEI9NDMpOkI9PTk0PyhuPXRoaXMuWltaXT1bXSx0aGlzLkp4KyssQj0zMik6Qj09NzE/KG09bmV3IFR0KEQsdGhpcy5zcmMsWixSLCEhaCksbS5hbz1HLG4ucHVzaChtKSxCPTUxKTpCPT0zMj8oYz1ySigyMSwwLGgsRCxuLFIpLEI9MjEpOkI9PTczPyhaPWsudG9TdHJpbmcoKSxuPXRoaXMuWltaXSxCPTQ4KTpCPT00OCYmKEI9bj8zMjo5NCl9fX0pLGpNKS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7e249MjI7d2hpbGUobiE9NDIpaWYobj09MzkpaFcoMjMsdHJ1ZSxEW2NdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoRCxjLDEpLG49NzQ7ZWxzZSBpZihuPT05OSluPWM+LTE/Mzk6NTk7ZWxzZXtpZihuPT0yKXJldHVybiB0cnVlO2lmKG49PTUpZGVsZXRlIHRoaXMuWltaXSx0aGlzLkp4LS0sbj0yO2Vsc2UgaWYobj09NzQpbj1ELmxlbmd0aD09MD81OjI7ZWxzZSBpZihuPT04MyluPVogaW4gdGhpcy5aPzg0OjA7ZWxzZXtpZihuPT01OXx8bj09MClyZXR1cm4gZmFsc2U7bj09MjI/KFo9ay50b1N0cmluZygpLG49ODMpOm49PTg0JiYoRD10aGlzLlpbWl0sYz1ySigyMCwwLEcsaCxELFIpLG49OTkpfX19fSxqTSkucHJvdG90eXBlLkNYPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4oRD10aGlzLlpbay50b1N0cmluZygpXSxjPS0xLEQmJihjPXJKKDIyLDAsaCxHLEQsUikpLGMpPi0xP0RbY106bnVsbH0sImNsb3N1cmVfbG1fIikrKE1hdGgucmFuZG9tKCkqMUU2fDApLGk5PTAsVE49e30sZFU9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTsoKCgoKEJZKDIsNDMsRFosV3UpLERaLnByb3RvdHlwZSlbZEpdPXRydWUsdT1EWi5wcm90b3R5cGUsdSkuemY9ZnVuY3Rpb24oayl7dGhpcy5Obz1rfSx1KS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe3Z1KDU2LGZhbHNlLFIsRyx0aGlzLHRydWUsaywzLGgpfSx1KS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe0J1KDE2LDAsIm9iamVjdCIsRyxSLGgsayx0aGlzKX0sdS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXtmb3IoTj03NDtOIT02MTspaWYoTj09ODYpQj1SLmN1cnJlbnRUYXJnZXQ9bixoPVBZKDUsMCxCLG0sdHJ1ZSxSKSYmaCxSLlB0fHwoaD1QWSgzLDAsQixtLGZhbHNlLFIpJiZoKSxOPTY0O2Vsc2UgaWYoTj09OTEpTj05O2Vsc2UgaWYoTj09NilOPVIuUHQ/NjQ6ODY7ZWxzZSBpZihOPT0yKUI9Ui5jdXJyZW50VGFyZ2V0PWNbWl0saD1QWSg3LDAsQixtLHRydWUsUikmJmgsTj0yNDtlbHNlIGlmKE49PTY4KUQ9W10sTj00O2Vsc2UgaWYoTj09NzMpRC5wdXNoKEcpLE49NzE7ZWxzZSBpZihOPT02NClOPWM/NDc6MjU7ZWxzZSBpZihOPT01MyloPXRydWUsTj0xMjtlbHNlIGlmKE49PTkpTj0hUi5QdCYmWj49MD8yOjY7ZWxzZSBpZihOPT0xNSlOPXR5cGVvZiBSPT09InN0cmluZyI/Mzc6ODtlbHNlIGlmKE49PTQ3KVo9MCxOPTk5O2Vsc2V7aWYoTj09MjUpcmV0dXJuIGg7Tj09OTk/Tj05NzpOPT00MD8oWisrLE49OTcpOk49PTY5PyhSLnRhcmdldD1SLnRhcmdldHx8bixOPTUzKTpOPT0zNz8oUj1uZXcgYUIoUixuKSxOPTUzKTpOPT0zMz9OPUc/Njg6NzU6Tj09MjQ/KFotLSxOPTkpOk49PTQ/Tj04OTpOPT03ND8oRz10aGlzLk5vLE49MzMpOk49PTg1PyhCPVIuY3VycmVudFRhcmdldD1jW1pdLGg9UFkoNiwwLEIsbSxmYWxzZSxSKSYmaCxOPTQwKTpOPT0xND8oVD1SLFI9bmV3IGFCKG0sbiksQ3IoUixUKSxOPTUzKTpOPT03NT8oUj1rLG09Ui50eXBlfHxSLG49dGhpcy5scSxjPUQsTj0xNSk6Tj09NDM/KFo9Yy5sZW5ndGgtMSxOPTkxKTpOPT04OT9OPUc/NzM6NzU6Tj09NzE/KEc9Ry5ObyxOPTg5KTpOPT04P049UiBpbnN0YW5jZW9mIGFCPzY5OjE0Ok49PTEyP049Yz80Mzo2Ok49PTk3JiYoTj0hUi5QdCYmWjxjLmxlbmd0aD84NToyNSl9fSx1KS5VPWZ1bmN0aW9uKCl7dGhpcy5Obz0oRFouTy5VLmNhbGwodGhpcyksdGhpcy5JJiZCdSg3MiwwLHRydWUsdGhpcy5JKSxudWxsKX0sdS5DWD1mdW5jdGlvbihrLFIsRyxoKXtyZXR1cm4gdGhpcy5JLkNYKFN0cmluZyhrKSxSLEcsaCl9LHUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gdGhpcy5JLmhhc0xpc3RlbmVyKGshPT12b2lkIDA/U3RyaW5nKGspOnZvaWQgMCxSKX07dmFyIHNSLFVSLHJyPShYMS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LaisiIn0sRXJyb3IpLG1EPXtGaTowLEFzOjEsemU6MiwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifTtTTS5wcm90b3R5cGU9RHkocnIucHJvdG90eXBlKSxTTS5wcm90b3R5cGUuY29uc3RydWN0b3I9U007c3dpdGNoKCF0MCl7Y2FzZSAhW10hPShudWxsIT1mYWxzZSk6Zm9yKHZhciB3ciBpbiBycilpZih3ciE9InByb3RvdHlwZSIpaWYoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpe3ZhciBlOD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJyLHdyKTtlOCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFNNLHdyLGU4KX1lbHNlIFNNW3dyXT1yclt3cl07YnJlYWs7Y2FzZSBmYWxzZTp0MChTTSxycik7YnJlYWt9aWYoTmFOIT09KCgodT0oIkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBOT0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVCIuc3BsaXQoKFNNLk89cnIucHJvdG90eXBlLCIgIikpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLG5uKS5wcm90b3R5cGUsdSkuRj1mdW5jdGlvbihrKXtyZXR1cm4gdHlwZW9mIGs9PT0ic3RyaW5nIj90aGlzLk1vLmdldEVsZW1lbnRCeUlkKGspOmt9LHUuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24oayxSKXtyZXR1cm4oUnx8dGhpcy5NbykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGspKX0sdS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz0oUj10aGlzLk1vLFN0cmluZyhrKSksUi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoRz1HLnRvTG93ZXJDYXNlKCkpLFIpLmNyZWF0ZUVsZW1lbnQoRyl9LHUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oayl7cmV0dXJuIHRoaXMuTW8uY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGspKX0sdS5hcHBlbmRDaGlsZD1mdW5jdGlvbihrLFIpe2suYXBwZW5kQ2hpbGQoUil9LHUpLmFwcGVuZD1mdW5jdGlvbihrLFIpe3RXKDE4LGZhbHNlLCJudW1iZXIiLCIiLDAsay5ub2RlVHlwZT09OT9rOmsub3duZXJEb2N1bWVudHx8ay5kb2N1bWVudCxhcmd1bWVudHMsayl9LHUuY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKGssUil7e1I9MDt3aGlsZShSIT01NSlpZihSPT0wKVI9ay5ub2RlVHlwZSE9MT85ODoyODtlbHNle2lmKFI9PTI4KXtzd2l0Y2goay50YWdOYW1lKXtjYXNlICJBUFBMRVQiOmNhc2UgIkFSRUEiOmNhc2UgIkJBU0UiOmNhc2UgIkJSIjpjYXNlICJDT0wiOmNhc2UgIkNPTU1BTkQiOmNhc2UgIkVNQkVEIjpjYXNlICJGUkFNRSI6Y2FzZSAiSFIiOmNhc2UgIklNRyI6Y2FzZSAiSU5QVVQiOmNhc2UgIklGUkFNRSI6Y2FzZSAiSVNJTkRFWCI6Y2FzZSAiS0VZR0VOIjpjYXNlICJMSU5LIjpjYXNlICJOT0ZSQU1FUyI6Y2FzZSAiTk9TQ1JJUFQiOmNhc2UgIk1FVEEiOmNhc2UgIk9CSkVDVCI6Y2FzZSAiUEFSQU0iOmNhc2UgIlNDUklQVCI6Y2FzZSAiU09VUkNFIjpjYXNlICJTVFlMRSI6Y2FzZSAiVFJBQ0siOmNhc2UgIldCUiI6cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfWlmKFI9PTk4KXJldHVybiBmYWxzZX19fSx1LnJlbW92ZU5vZGU9UGQsdS5jb250YWlucz1mdW5jdGlvbihrLFIsRyxoKXtmb3IoaD05OTtoIT0xODspe2lmKGg9PTUxKXJldHVybiBrPT1SfHxrLmNvbnRhaW5zKFIpO2lmKGg9PTg3KWg9ay5jb250YWlucyYmUi5ub2RlVHlwZT09MT81MToyNDtlbHNlIGlmKGg9PTI3KWg9MjA7ZWxzZSBpZihoPT00NylSPVIucGFyZW50Tm9kZSxoPTI3O2Vsc2UgaWYoaD09NjgpaD0yMDtlbHNle2lmKGg9PTYwKXJldHVybiBrPT1SfHwhIShHPWsuY29tcGFyZURvY3VtZW50UG9zaXRpb24oUiksLX4oRyYxNikrKEdeMTYpKyh+R14xNikpO2lmKGg9PTk5KWg9ayYmUj84Nzo1NztlbHNle2lmKGg9PTM3KXJldHVybiBSPT1rO2lmKGg9PTI0KWg9dHlwZW9mIGsuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzYwOjY4O2Vsc2UgaWYoaD09MjApaD1SJiZrIT1SPzQ3OjM3O2Vsc2UgaWYoaD09NTcpcmV0dXJuIGZhbHNlfX19fSxOdW1iZXIodW5kZWZpbmVkKSkpaFcoNzQsSVkpOygodT0oQlkoMiwoSVkucHJvdG90eXBlLmJxPShJWS5wcm90b3R5cGUuR2U9MCwiIiksNDEpLERELERaKSxERC5wcm90b3R5cGUpLHUub2E9SVkublgoKSx1LkY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfSx1LmdldFBhcmVudD1mdW5jdGlvbigpe2lmKCFbXSE9KCFbXT09MCkpcmV0dXJuIHRoaXMuWjd9LHUuQnQ9ZnVuY3Rpb24oKXsoSUIoMyx0aGlzLGZ1bmN0aW9uKGspe2suam0mJmsuQnQoKX0pLHRoaXMpLnMyJiZCdSg3MSwwLHRydWUsdGhpcy5zMiksdGhpcy5qbT1mYWxzZX0sdS5VPWZ1bmN0aW9uKGspe3trPTcxO3doaWxlKGshPTY1KWs9PTQzP2s9dGhpcy5zMj8xMDo5MTprPT0xMD8odGhpcy5zMi5kaXNwb3NlKCksZGVsZXRlIHRoaXMuczIsaz05MSk6az09NzE/KHRoaXMuam0mJnRoaXMuQnQoKSxrPTQzKTprPT05MSYmKElCKDcsdGhpcyxmdW5jdGlvbihSKXtSLmRpc3Bvc2UoKX0pLCF0aGlzLlhpJiZ0aGlzLkEmJlBkKHRoaXMuQSksdGhpcy5LWD10aGlzLlFuPXRoaXMuQT10aGlzLlo3PW51bGwsREQuTy5VLmNhbGwodGhpcyksaz02NSl9fSx1KS56Zj1mdW5jdGlvbihrLFIpe3tSPTM0O3doaWxlKFIhPTIpe2lmKFI9PTM2KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO1I9PTM0P1I9dGhpcy5aNyYmdGhpcy5aNyE9az8zNjo5NDpSPT05NCYmKERELk8uemYuY2FsbCh0aGlzLGspLFI9Mil9fX0sdSkucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe3tOPTMzO3doaWxlKE4hPTcxKXtpZihOPT01OSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHNldCBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09NDcpYz10aGlzLktYLEI9KGMhPT1udWxsJiZoIGluIGM/Y1toXTp2b2lkIDApfHxudWxsLE49Mzg7ZWxzZSBpZihOPT04MilaPXRoaXMuS1gsaCBpbiBaJiZkZWxldGUgWltoXSx0VygxMywwLGssdGhpcy5RbiksTj04NztlbHNlIGlmKE49PTkxKU49KEQ9ay5jVik/MDo3ODtlbHNle2lmKE49PTkpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09MCluPUQsTj04MDtlbHNlIGlmKE49PTc1KW09ayxOPTE2O2Vsc2UgaWYoTj09MTYpTj1tPT1udWxsPzU5Ojk4O2Vsc2UgaWYoTj09OTgpbS5aNz1udWxsLERELk8uemYuY2FsbChtLG51bGwpLE49NTQ7ZWxzZSBpZihOPT0zMSlOPXR5cGVvZiBrPT09InN0cmluZyI/ODE6OTE7ZWxzZSBpZihOPT00MylOPWgmJms/ODI6NTQ7ZWxzZSBpZihOPT03OClHPWsub2EsVD1HLmJxKyI6IisoRy5HZSsrKS50b1N0cmluZygzNiksRD1rLmNWPVQsTj0wO2Vsc2UgaWYoTj09NylOPXRoaXMuS1gmJmg/NDc6Mjk7ZWxzZSBpZihOPT0yOSlCPW51bGwsTj0zODtlbHNlIGlmKE49PTgxKW49ayxOPTgwO2Vsc2UgaWYoTj09NTYpay5CdCgpLGsuQSYmUGQoay5BKSxOPTc1O2Vsc2UgaWYoTj09ODcpTj1SPzU2Ojc1O2Vsc2V7aWYoTj09NDYpcmV0dXJuIGs7Tj09Mzg/KGs9QixOPTQzKTpOPT0zMz9OPWs/MzE6NTQ6Tj09ODA/KGg9bixOPTcpOk49PTU0JiYoTj1rPzQ2OjkpfX19fX07dmFyIGx6LGo4PSh1PShoVyg3NSxmciksZnIucHJvdG90eXBlKSx1LklvPWZ1bmN0aW9uKGssUixHLGgpeyhoPWsuRj9rLkYoKTprKSYmKEc/THI6VmgpKGgsW1JdKX0sdS5BeD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Wj03Mzt7bj0yNDt3aGlsZSgibyIpdHJ5e2lmKFo9PTQpYnJlYWs7ZWxzZSBaPT01Mj8oYy50YWJJbmRleD0wLFo9NCk6Wj09OD8obj0yNCxaPTIxKTpaPT0yMT8obj0yNCxaPTY3KTpaPT0yOD9aPUQhPVI/NjM6NDpaPT0yNT8oRz1oLnRhYkluZGV4LEQ9dHlwZW9mIEc9PT0ibnVtYmVyIiYmRz49MCYmRzwzMjc2OCxaPTI4KTpaPT05MD8oYy50YWJJbmRleD0tMSxjLnJlbW92ZUF0dHJpYnV0ZSgidGFiSW5kZXgiKSxaPTQpOlo9PTI5P1o9KEQ9aC5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzI1OjI4Olo9PTk4P1o9Uj81Mjo5MDpaPT0xMT9aPSFSJiZNUCg1LDMyLGspPzk5OjI5Olo9PTY3P1o9TVAoNywzMixrKT84MDoyOTpaPT04MD8oay5ZZSY0JiZrLnJiJjQmJmsuc2V0QWN0aXZlKGZhbHNlKSxrLlllJjMyJiZrLnJiJjMyJiZJQigxNCw0LGssZmFsc2UsMzIpJiZrLnYoZmFsc2UsMzIpLFo9MjkpOlo9PTk5PyhuPTEyLGguYmx1cigpLFo9MjEpOlo9PTYzPyhjPWgsWj05OCk6Wj09NzMmJihaPWsucmImMzImJihoPWsuaVgoKSk/MTE6NCl9Y2F0Y2goQil7aWYobj09MjQpdGhyb3cgQjtuPT0xMiYmKG09QixaPTgpfX19LHtidXR0b246InByZXNzZWQiLGNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifSk7dS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifTt3aGlsZSgwPT09LU51bWJlcigpKWlmKHUuYlg9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXsoKGg9KG49KGx6fHwobHo9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KSxseltSXSksay5nZXRBdHRyaWJ1dGUoInJvbGUiKXx8bnVsbCkpPyhEPWo4W2hdfHxuLFo9bj09ImNoZWNrZWQifHxuPT0ic2VsZWN0ZWQiP0Q6bik6Wj1uLGM9WikmJk9SKDEyLDgsZmFsc2UsImhpZGRlbiIsayxHLGMpfSx0cnVlKWJyZWFrO2lmKHUuaVg9KHUudj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaKXt7Wj03OTt3aGlsZShaIT0xKVo9PTA/KGg9dGhpcy5maigpLGgucmVwbGFjZSgvXFx4YTB8XFxzL2csIiAiKSx0aGlzLlprPXsxOmgrIi1kaXNhYmxlZCIsMjpoKyItaG92ZXIiLDQ6aCsiLWFjdGl2ZSIsODpoKyItc2VsZWN0ZWQiLDE2OmgrIi1jaGVja2VkIiwzMjpoKyItZm9jdXNlZCIsNjQ6aCsiLW9wZW4ifSxaPTU2KTpaPT03OT8oRD1SLkYoKSxaPTIwKTpaPT0yMD9aPUQ/MTM6MTpaPT01Nj8oKGM9dGhpcy5aa1trXSkmJnRoaXMuSW8oUixjLEcpLHRoaXMuYlgoRCxrLEcpLFo9MSk6Wj09MTMmJihaPXRoaXMuWms/NTY6MCl9fSxmdW5jdGlvbihrKXtyZXR1cm4gay5GKCl9KSxbXSlCWSgyLDQ0LEZYLGZyKTt2YXIgbnI9KChoVyg3MixGWCksRlgpLnByb3RvdHlwZS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWJ1dHRvbiJ9LEZYLnByb3RvdHlwZS5iWD1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKFIpe2Nhc2UgODpjYXNlIDE2Ok9SKDEyLDUsZmFsc2UsImhpZGRlbiIsayxHLCJwcmVzc2VkIik7YnJlYWs7ZGVmYXVsdDpjYXNlIDY0OmNhc2UgMTpGWC5PLmJYLmNhbGwodGhpcyxrLFIsRyl9fSx7fSk7aWYoKCgoKCgoKCh1PShCWSgyLDQyLGI5LEREKSxiOSkucHJvdG90eXBlLHUpLmppPXRydWUsdSkuSW89ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTU2O0chPTI0OylHPT04Mj8odGhpcy5EP2UoNDMsMCxrLHRoaXMuRCl8fHRoaXMuRC5wdXNoKGspOnRoaXMuRD1ba10sdGhpcy5DLklvKHRoaXMsayx0cnVlKSxHPTI0KTpHPT03Mz8odGhpcy5DLklvKHRoaXMsayxmYWxzZSksRz0yNCk6Rz09MTk/Rz10aGlzLkQubGVuZ3RoPT0wPzQwOjczOkc9PTQwPyh0aGlzLkQ9bnVsbCxHPTczKTpHPT01Nj9HPVI/MTM6NzE6Rz09MTM/Rz1rPzgyOjI0Okc9PTcxJiYoRz1rJiZ0aGlzLkQmJnRXKDYsMCxrLHRoaXMuRCk/MTk6MjQpfSx1KS5pWD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkMuaVgodGhpcyl9LHUucmI9MzksdSkuaXE9MCx1KS5ZZT0yNTUsdS5CdD1mdW5jdGlvbigpeygoYjkuTy5CdC5jYWxsKHRoaXMpLHRoaXMuVTIpJiZ0aGlzLlUyLmRldGFjaCgpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkpJiZ0aGlzLkMuQXgodGhpcyxmYWxzZSl9LHUuVT1mdW5jdGlvbihrKXt7az03NTt3aGlsZShrIT02MilrPT03MD8oZGVsZXRlIHRoaXMuQyx0aGlzLkQ9bnVsbCxrPTYyKTprPT01Mz9rPXRoaXMuVTI/OTE6NzA6az09OTE/KHRoaXMuVTIuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLlUyLGs9NzApOms9PTc1JiYoYjkuTy5VLmNhbGwodGhpcyksaz01Myl9fSx1KS5EPW51bGwsdS5PMj0wLHUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaml9LHUpLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiFNUCgxMCwxLHRoaXMpfSx1LmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIE1QKDksNCx0aGlzKX0sdS5zZXRBY3RpdmU9ZnVuY3Rpb24oayl7SUIoMTAsNCx0aGlzLGssNCkmJnRoaXMudihrLDQpfSx1KS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk8yfSx1LnY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9Nzg7WiE9ODk7KVo9PTgzPyhEPSFrLGM9dGhpcy5nZXRQYXJlbnQoKSxaPTM1KTpaPT0xNj9aPUQ/MTQ6NzQ6Wj09NzQ/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxJQigxMiw0LHRoaXMsZmFsc2UsMikmJnRoaXMudihmYWxzZSwyKSxaPTE0KTpaPT0yNT8odGhpcy5DLnYoUix0aGlzLGspLHRoaXMuTzI9az8oaD10aGlzLk8yLC0xLX5oLShoJn5SKSsoaF5SKSk6dGhpcy5PMiZ+UixaPTg5KTpaPT00Mj9aPXRoaXMucmImUiYmayE9TVAoMyxSLHRoaXMpPzI1Ojg5Olo9PTM1P1o9YyYmdHlwZW9mIGMuaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhYy5pc0VuYWJsZWQoKXx8IUlCKDMyLDQsdGhpcywhRCwxKT84OToxNjpaPT03OD9aPUd8fFIhPTE/NDI6ODM6Wj09MTQmJih0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLkMuQXgodGhpcyxEKSx0aGlzLnYoIUQsMSx0cnVlKSxaPTg5KX0sdHlwZW9mIGI5IT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitiOSk7aWYodHlwZW9mIGZyIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK2ZyKTt2YXIgYVk9Q24oNjQsMTcsYjkpOygoQlkoMiw0MCxnVSwoKEJZKDIsNDYsUWYsKGEoNixmdW5jdGlvbigpe3JldHVybiBuZXcgYjkobnVsbCl9LChuclthWV09ZnIsImdvb2ctY29udHJvbCIpKSxGWCkpLGhXKDczLFFmKSxRZi5wcm90b3R5cGUuQXg9ZnVuY3Rpb24oKXt9LFFmLnByb3RvdHlwZSkudj1mdW5jdGlvbihrLFIsRyxoLEQpe3tEPTkxO3doaWxlKEQhPTQyKUQ9PTkxPyhRZi5PLnYuY2FsbCh0aGlzLGssUixHKSxoPVIuRigpLEQ9NjEpOkQ9PTgzPyhoLmRpc2FibGVkPUcsRD00Mik6RD09NjEmJihEPWgmJms9PTE/ODM6NDIpfX0sUWYucHJvdG90eXBlLmJYPWZ1bmN0aW9uKCl7fSxiOSkpLGdVLnByb3RvdHlwZSkuVT1mdW5jdGlvbigpe2RlbGV0ZSAoZGVsZXRlIChnVS5PLlUuY2FsbCh0aGlzKSx0aGlzKS5KMyx0aGlzKS5kTn0sYSkoNSxmdW5jdGlvbigpe3JldHVybiBuZXcgZ1UobnVsbCl9LCJnb29nLWJ1dHRvbiIpO3ZhciBaRCx1OT1ILnJlcXVlc3RJZGxlQ2FsbGJhY2s/ZnVuY3Rpb24oayl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe2soKX0se3RpbWVvdXQ6NH0pfTpILnNldEltbWVkaWF0ZT9mdW5jdGlvbihrKXtzZXRJbW1lZGlhdGUoayl9OmZ1bmN0aW9uKGspe3NldFRpbWVvdXQoaywwKX0sb3Y9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LFZmPW9CKDEzLDEwLFsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qcy9iZy8iLCIiXSksdlk9U3RyaW5nLmZyb21DaGFyQ29kZSgxMDUsMTEwLDExNiwxMDEsMTAzLDY3LDEwNCwxMDEsOTksMTA3LDY2LDEyMSwxMTIsOTcsMTE1LDExNSksd1U9e30sJGY9W10sUlk9KHgucHJvdG90eXBlLlB3PXZvaWQgMCx4LnByb3RvdHlwZS5MWD0oeC5wcm90b3R5cGUuTm09ZmFsc2UsInRvU3RyaW5nIiksW10pLGRyPVtdLEFvPSh4LnByb3RvdHlwZS5mUT12b2lkIDAsW10pLEJkPVtdLG1jPVtdLEd0PVtdLE1UPVtdLHhuPVtdLHpOPWZ1bmN0aW9uKGssUil7d2hpbGUoIVtdPT1mYWxzZSl7cmV0dXJuKFI9QVcoNDEsImFkIiwxNykpJiZrLmV2YWwoUi5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBSLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR307aWYoImEiKWJyZWFrfX0oSCkseXI9ZnVuY3Rpb24oayl7cmV0dXJuKGs9QVcoNDEsImFkIiwxNikpP2Z1bmN0aW9uKFIpe3JldHVybiBrLmNyZWF0ZVNjcmlwdFVSTChSKX06ZnVuY3Rpb24oUil7cmV0dXJuIFJ9fSgpLEVlPWZ1bmN0aW9uKGspe3JldHVybihrPUFXKDQxLCJhZCIsMTkpKT9mdW5jdGlvbihSKXtyZXR1cm4gay5jcmVhdGVIVE1MKFIpfTpmdW5jdGlvbihSKXtyZXR1cm4gUn19KCkseWY9KCgoKChpTixZZixTOCxueCxaeSxmdW5jdGlvbigpe30pKEU1KSxmdW5jdGlvbigpe30pKFdZKSxmdW5jdGlvbigpe30pKHM1KSx5cixmdW5jdGlvbigpe30pKEVlKSx3VSkuY29uc3RydWN0b3IsU2U9KCgoKCgoKHgucHJvdG90eXBlLkxqPTAseC5wcm90b3R5cGUuUj0odT14LnByb3RvdHlwZSwiY3JlYXRlIiksdSkuSj0od2luZG93LnBlcmZvcm1hbmNlfHx7fSkubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUmErd2luZG93LnBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sdSkuaHM9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gQ24uY2FsbCh0aGlzLDY0LDMyLGssUixHLGgsRCl9LHUpLlJvPWZ1bmN0aW9uKCl7cmV0dXJuIGhXLmNhbGwodGhpcyw1Nil9LHUpLnNfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7cmV0dXJuIE1QLmNhbGwodGhpcyw1NixrLFIsRyxoLEQsYyxaLG4pfSx1KS50cz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gUkIuY2FsbCh0aGlzLDIxLGssUixHLGgsRCxjLFosbixtLEIpfSx1LnBqPWZ1bmN0aW9uKCl7cmV0dXJuIFJCLmNhbGwodGhpcyw2NCl9LHUpLnBYPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIFkuY2FsbCh0aGlzLGssOSxSLEcsaCxEKX0sdS5IVj0wLHZvaWQgMCksSm89KHU9eC5wcm90b3R5cGUsdS5pPWZ1bmN0aW9uKGssUil7cmV0dXJuIFI9KGs9e30sU2U9ZnVuY3Rpb24oKXtyZXR1cm4gaz09Uj81ODoxMDZ9LHt9KSxmdW5jdGlvbihHLGgsRCxjLFosbixtLEIsVCxOLFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKLHosUHUsbTcsZyxlTSxMLFU1LHQsVSxPNSxZbixwLEN4KXtmb3IodD0zMixVPXVuZGVmaW5lZCxwPTIwLEN4PWZhbHNlOzspdHJ5e2lmKHQ9PTY1KWJyZWFrO2Vsc2UgaWYodD09NDQpdD1CPzc3OjEwO2Vsc2UgaWYodD09OTEpcD00NyxiTig1NywzMDAwMSx0aGlzLDQxKSx0PTM3O2Vsc2UgaWYodD09ODcpcD00Nyxhdig1MDYsdGhpcywxNyxPNSksVT02NSx0PTM3O2Vsc2UgaWYodD09MjcpVSE9PXVuZGVmaW5lZD8odD1VLFU9dW5kZWZpbmVkKTp0PTY1O2Vsc2UgaWYodD09MjkpcD00Nyx0PTk1O2Vsc2UgaWYodD09MTcpcD01NSxHbygpLHQ9OTU7ZWxzZSBpZih0PT00MSl0PVA9PW1jPzI0OjIxO2Vsc2UgaWYodD09NzApdD0zOTtlbHNlIGlmKHQ9PTU3KXQ9Zy5sZW5ndGg+ND81NjozNjtlbHNlIGlmKHQ9PTI4KU4ubGVuZ3RoPTAsdD0zNztlbHNlIGlmKHQ9PTYpcD03MCx0aGlzLndiPU5UKDI1NSw0MCwwLGF0b2IoJG4pKSx0aGlzLmo9dGhpcy53Yi5sZW5ndGg8PDMsQSgzNjMsdGhpcyxbMCwwLDBdKSx0PTkxO2Vsc2UgaWYodD09MjIpe2lmKEU9KE49Vyh0aGlzLDcxKSx0eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yKSYmTltTeW1ib2wuaXRlcmF0b3JdKXo9RS5jYWxsKE4pO2Vsc2UgaWYodHlwZW9mIE4ubGVuZ3RoPT0ibnVtYmVyIil6PXtuZXh0Ok9SKDEyLDcyLDAsTil9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKE4pKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO3Q9KFQ9KHk9eix5Lm5leHQoKSksNDgpfWVsc2UgaWYodD09Nyl0PUdbNF0/NjQ6NTk7ZWxzZSBpZih0PT02NCl7Zm9yKFggaW4gQj1mYWxzZSxoKWlmKFghPT0idCImJk9iamVjdC5oYXNPd24oaCxYKSl7Qj10cnVlO2JyZWFrfXQ9NDR9ZWxzZSBpZih0PT01Myl0PVA9PUJkPzgyOjQzO2Vsc2UgaWYodD09MzgpSj0wLE89IiIsdD03MDtlbHNlIGlmKHQ9PTU2KXQ9Zy5sZW5ndGg+MUU2Pzg4Ojk3O2Vsc2UgaWYodD09MTUpWW49UWgoMCxHWzFdLDE1NywzMDAwMSx0aGlzKSxVPTk5LHQ9Mzc7ZWxzZSBpZih0PT00Myl0PVA9PUFvPzgxOjQxO2Vsc2UgaWYodD09MjUpdD1QPT1kcj8yMjozNztlbHNlIGlmKHQ9PTMyKWVNPWssaz1SLHQ9MztlbHNlIGlmKHQ9PTk2KWg9e30sdj0wLHQ9ODtlbHNlIGlmKHQ9PTg4KWc9Zy5zbGljZSgwLDFFNiksbE4oNDg4LFtdLDcsdGhpcywxMDIpLGplKDQ4OCxbXSx0aGlzLDEzNSksdD05NztlbHNlIGlmKHQ9PTY4KSRuPUdbMV0sdD02O2Vsc2UgaWYodD09NjYpSisrLHQ9Mzk7ZWxzZSBpZih0PT03NCl0PU8/Nzk6Mzg7ZWxzZSBpZih0PT04MSlyPUdbMV1bMV0sYz1LKDIsKG09Yih0aGlzLDQ4OCkubGVuZ3RoLC0yKn4obSYyKSstMisobV4yKSkpLHdKPXRoaXMuQix0aGlzLkI9dGhpcyx0PTExO2Vsc2UgaWYodD09MjQpUWgoMCxHWzFdLDE1NyxHWzJdLHRoaXMpLHQ9Mzc7ZWxzZSBpZih0PT0xOSl0PVUhPT11bmRlZmluZWQ/Mzc6NDtlbHNlIGlmKHQ9PTQpcD00NyxTPVlmKDIpLmNvbmNhdChiKHRoaXMsNDg4KSksU1sxXT0oTT1TWzBdLC0oTXwwKSsoTXwxNTkpKyhNJi0xNjApKSxTWzNdPVNbMV1eY1swXSxTWzRdPVNbMV1eY1sxXSxPPXRoaXMubmooUyksdD03NDtlbHNlIGlmKHQ9PTM2KXA9NDcsdGhpcy5CPXdKLHQ9MTk7ZWxzZSBpZih0PT05NSlUPXkubmV4dCgpLHQ9NDI7ZWxzZSBpZih0PT01MSl0PVA9PSRmPzk2OjUzO2Vsc2UgaWYodD09NTkpdGhpcy5QLnB1c2gobCksdGhpcy5QLnB1c2godyksVT02NSx0PTM3O2Vsc2UgaWYodD09MzkpdD1KPFMubGVuZ3RoPzYwOjYyO2Vsc2UgaWYodD09NzcpWW49e1FUOncsYWE6bCx0aW1lb3V0OnYsTW06ZmFsc2UsSWE6MH0sVT02Myx0PTM3O2Vsc2UgaWYodD09MzMpdD1QPT1HdD82ODo1MTtlbHNlIGlmKHQ9PTQyKXQ9VC5kb25lPzI4Ojk4O2Vsc2UgaWYodD09ODIpbj1HWzFdLG5bMV0ucHVzaChWKDE5MSx0aGlzKS5sZW5ndGgsVyh0aGlzLDE0KS5sZW5ndGgsVyh0aGlzLDQ4OCkubGVuZ3RoLGIodGhpcyw0NDYpLmxlbmd0aCxiKHRoaXMsMTYzKS5sZW5ndGgsYih0aGlzLDMwMilbMF0sVigyNjQsdGhpcykubGVuZ3RoLFcodGhpcyw0MikubGVuZ3RoKSxRKHRoaXMsMTU3LG5bMl0pLHRoaXMuWVs0NjldJiZRaCgwLFYoNDY5LHRoaXMpLDE1NywzMDAwMSx0aGlzKSx0PTM3O2Vsc2UgaWYodD09OTgpR289VC52YWx1ZSx0PTE3O2Vsc2UgaWYodD09NDApcD00Nyx3PVtCZCxHLHRoaXMuUm8oKV0sbD1bQW8sR10sdD03O2Vsc2UgaWYodD09MylwPTQ3LFA9R1swXSx0PTMzO2Vsc2UgaWYodD09MzcpcD0yMCxrPWVNLHQ9Mjc7ZWxzZXtpZih0PT00NylyZXR1cm4gWW47aWYodD09OClwPTc3LGg9Yih0aGlzLDU1KXx8e30sdj1oLnR8MCx0PTQwO2Vsc2UgaWYodD09NjApZD1TW0pdW3RoaXMuTFhdKDE2KSxkLmxlbmd0aD09MSYmKGQ9IjAiK2QpLE8rPWQsdD02NjtlbHNlIGlmKHQ9PTk3KWplKDQ4OCxLKDIsZy5sZW5ndGgpLmNvbmNhdChnKSx0aGlzLDUpLHQ9MzY7ZWxzZSBpZih0PT0xMSlwPTc2LG03PWIodGhpcyw1MDYpLG03Lmxlbmd0aD4wJiZsTig0ODgsSygyLG03Lmxlbmd0aCkuY29uY2F0KG03KSw3LHRoaXMsMTQ3KSxsTig0ODgsSygxLHRoaXMuSCsxPj4xKSw3LHRoaXMsMjQ0KSxqZSg0ODgsSygxLHRoaXNbQW9dLmxlbmd0aCksdGhpcyksUHU9dGhpcy5IdD9WKDE2Myx0aGlzKTpiKHRoaXMsNDQ2KSxQdS5sZW5ndGg+MCYmbE4oMTQsSygyLFB1Lmxlbmd0aCkuY29uY2F0KFB1KSw3LHRoaXMsMjI3KSxGPVYoMTQsdGhpcyksRi5sZW5ndGg+NCYmamUoNDg4LEsoMixGLmxlbmd0aCkuY29uY2F0KEYpLHRoaXMsMjI2KSxJPTAsSSs9Yih0aGlzLDEwMykmMjA0NyxJLT0oWj1WKDQ4OCx0aGlzKS5sZW5ndGgsLTItMip+KFp8NSktKFpeNSkpLGc9Vig0Mix0aGlzKSxnLmxlbmd0aD40JiYoSS09KGcubGVuZ3RofDApKzMpLEk+MCYmamUoNDg4LEsoMixJKS5jb25jYXQoWWYoSSkpLHRoaXMsMTUwKSx0PTU3O2Vsc2UgaWYodD09NzkpTz0iJCIrTyx0PTYyO2Vsc2V7aWYodD09OTkpcmV0dXJuIFluO2lmKHQ9PTEwKXRoaXMuUC5wdXNoKGwpLHRoaXMuUC5wdXNoKHcpLFU9NjUsdD0zNztlbHNlIGlmKHQ9PTIxKXQ9UD09TVQ/MTU6MjU7ZWxzZSBpZih0PT02MilEPU8sYih0aGlzLDE5MSkubGVuZ3RoPXIuc2hpZnQoKSxiKHRoaXMsMTQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQ4OCkubGVuZ3RoPXIuc2hpZnQoKSxXKHRoaXMsNDQ2KS5sZW5ndGg9ci5zaGlmdCgpLFYoMTYzLHRoaXMpLmxlbmd0aD1yLnNoaWZ0KCksVigzMDIsdGhpcylbMF09ci5zaGlmdCgpLFcodGhpcywyNjQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQyKS5sZW5ndGg9ci5zaGlmdCgpLFluPUQsVT00Nyx0PTM3O2Vsc2V7aWYodD09NjMpcmV0dXJuIFluO2lmKHQ9PTQ4KXQ9NDI7ZWxzZSBpZih0PT05MCl0aHJvdyBVNTt9fX19Y2F0Y2goaG8pe2lmKHA9PShVNT1obywyMCkpdGhyb3cgaG87cD09NDc/KFU9OTAsdD0zNyk6cD09NzA/KE81PWhvLHQ9ODcpOnA9PTc2PyhVPTkwLHQ9MzYpOnA9PTc3PyhVPTkwLHQ9NDApOnA9PTU1JiYoTD1obyx0PTI5KX19fSgpLHUudXE9ZnVuY3Rpb24oayl7cmV0dXJuIEJZLmNhbGwodGhpcyxrLDcyKX0sLy4vKTtpZih0cnVlKXUubmo9ZnVuY3Rpb24oayl7cmV0dXJuIENuLmNhbGwodGhpcyw2NCw4LGspfTt2YXIgeGY7aWYodS5TaT0odS50eD1mdW5jdGlvbigpe3JldHVybiBDbi5jYWxsKHRoaXMsNjQsNDgpfSwwKSx0cnVlKXUuck49MDt2YXIgSGQ9R3QucG9wLmJpbmQoeC5wcm90b3R5cGVbeC5wcm90b3R5cGVbUlldPSh1LmVpPWZ1bmN0aW9uKCl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiwxNCl9LFswLDAsMSwxLDAsMSwxXSksQmRdKTsoWkQ9KHhmPXRXKDkzLChKb1t4LnByb3RvdHlwZS5MWF09SGQse2dldDpIZH0pLHgucHJvdG90eXBlLlIpLHgucHJvdG90eXBlLldWPXZvaWQgMCxILnRyYXlyaWRlKXx8KEgudHJheXJpZGU9e30pLFpELm0+NDB8fChaRC5tPTQxLFpELmFkPWgwLFpELmE9Z0opLFpEKS5ScnZfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3JldHVybltmdW5jdGlvbihUKXtyZXR1cm4gTG4oMyxmYWxzZSxCLDcsVCl9LChCPW5ldyB4KGgsayxELGMsUixtLG4sWiksZnVuY3Rpb24oVCl7Qi50eChUKX0pXX07fSkuY2FsbCh0aGlzKTsnXS5qb2luKCdcbicpKSk7fSkuY2FsbCh0aGlzKTs="}},"time_used":36,"timings":{"blocked":0,"dns":2,"connect":21,"send":0,"wait":9,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://websocket-visitors.smartsupp.com/socket/?EIO=3\u0026transport=websocket","fqdn":"websocket-visitors.smartsupp.com","domain":"smartsupp.com","tld":"com"},"ip":{"addr":"3.126.223.20","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:26:00.234Z","timestamp":1785129960234,"http_version":"HTTP/1.1","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":"*.smartsupp.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Wed, 24 Jun 2026 00:00:00 GMT","end":"Thu, 07 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"4F:1A:3B:79:00:E3:DC:1F:92:62:7C:DC:85:3A:BE:8C:D1:68:F2:57","sha256":"7F:93:E6:29:5D:CA:78:BD:30:0D:25:11:3B:E2:01:C9:DC:80:3C:80:90:3F:84:D2:72:1B:0D:42:F1:20:13:D9"}}},"request":{"raw":"GET /socket/?EIO=3\u0026transport=websocket HTTP/1.1\r\nHost: websocket-visitors.smartsupp.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://digitaltradeinvest.org\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: IEaR9fcFovcYbQNtVYaUoA==\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: cross-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 05:26:00 GMT\r\nConnection: upgrade\r\nUpgrade: websocket\r\nSec-WebSocket-Accept: oiBVPIt9JyNDNmsIpgJ4dkrn5vw=\r\nSec-WebSocket-Version: 13\r\nWebSocket-Server: uWebSockets\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-15T16:46:18.775881Z","times_seen":17905015,"resource_available":true,"data":""}},"time_used":226,"timings":{"blocked":0,"dns":81,"connect":99,"send":0,"wait":22,"receive":0,"ssl":24},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"gildcrystalincome.com/autopayouts/deposit.php","fqdn":"gildcrystalincome.com","domain":"gildcrystalincome.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.244Z","timestamp":1785129949244,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /autopayouts/deposit.php HTTP/1.1\r\nHost: gildcrystalincome.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://digitaltradeinvest.org/\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":"","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-15T16:46:18.775881Z","times_seen":17905015,"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":"s2.coinmarketcap.com/static/img/coins/64x64/52.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.166Z","timestamp":1785129950166,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/52.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2330\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:35:17 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 02:14:21 GMT\r\ncache-control: max-age=86400\r\netag: \"39edd8e5c80256300562f68afb1ab525\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 11490\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: iO8CBqLrQZ8l3ggXbOXC6vncUnsi_JLvXVA332vnGQ5n-zlgm7eOsQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":2330,"size_decoded":2856,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"39edd8e5c80256300562f68afb1ab525","sha1":"506e80486e2b9e90f7344334cd95e93ac8fa0338","sha256":"cf4c3c2ec18de3d4dcd49151ffe00cb299f86fc98467cf806b9c447467935479","sha512":"029abf77a53608d0e0a92ca7764bbed17cf0960e540fee5f8eb0a9cb1bbbb490e730ec22e8dc186b07b784cd87410f5667207c22478773346d725579673e5e2c","ssdeep":"","tlshash":"a3410ad884a0624d2924177332a3193dfc6d3f949a066dffc81d563c84a1e8271b5d64","first_seen":"2023-05-04T14:58:57Z","last_seen":"2026-08-15T04:03:51.112456Z","times_seen":17790,"resource_available":false,"data":"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"}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/20947.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.217Z","timestamp":1785129950217,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/20947.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1010\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 30 Aug 2023 05:52:21 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 05:38:29 GMT\r\ncache-control: public, max-age=86400\r\netag: \"0fb70690288109f594a3ee773a489890\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 85648\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: wBiSNf-Xs8CjhKqBpBD2ihLFS1dcovdG8T3KJAkU_mT5tihdZHgx0A==\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":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":1010,"size_decoded":1582,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"0fb70690288109f594a3ee773a489890","sha1":"0063896e70219950943a66b781db9d3799702fb3","sha256":"8fc174251647f28d51d31f696603bcbae579788915ac49818f93b1ef695f5853","sha512":"4b37ebf118d32fb1193365836acf307907777b736e73795b3cc292a13e148f0476a840fbe02f98067e354c7408a2275b0c18b8c1552c71143a0ad185ec9632bf","ssdeep":"","tlshash":"e811c877e52c93f6dc90c4d0439e3824da355f1adbc3b5d98ac1a424f9d93140488c2b","first_seen":"2024-08-20T10:34:45.05581Z","last_seen":"2026-08-15T04:03:50.997599Z","times_seen":1669,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADuUlEQVR4XtWbPW8TMRiA+xP4Cf0/vaJs7LAXVqZGonv7DwokBTGFARZUKSyoI4KFhaoSLHSADnRhOuykl/geO/6618nlkR4J5X1959e52OfesbOzJvZf1k/2R/VNNaprn3c5Q7bfOvbH9TGLy1Ud65TH7y3svLQ8Xy8YTOp77GhpB6/rXfZj7aiOTNmxDThhv9aCoyMblf0rhprNxSY3afXEy/6Kcn9UP+ZJe+gh+y1CNa4/O07WT1Vf2f9OqEvryjpJz9V9Zh1ZbNU3T7teCdVZfWgddMvcU7fgrCuKPs/2qWatDjxICRv4eQlZnxc2LiFhvISs04najk7YUNqvv1j+/DPmFXDKei0cjUQ9eM/Slxy8s/OlZb0t9A6LDaQNwXxp9c6VdS9gsrS3/9rFvvoy10TnsJ20rHsBEyU9Q6HXf5cx/W+Tt9/s9pKy7hlMkpQFXvy0cy5+tHMu/9g5krL+YgNwNG0XpmFOIzn+ZOdI2Spe/9GRCVKSpx/sHF8+44KeLAbAERTRBXOo/tYJc6QsOgCrYJ5Lzhmx7VItNgBc7kyYu0pSYnlsih8y0EW9hPlgvk8ivTzujdVWOeZxVYohmB+SMN7RG9HLn6z6LFXCeBfFBuDhpN3JR5P557wDPPpotw354E37GKGlNEWxASCxsVgJ47kWGQDGXPt/5sTYtb1LkQHgzM+41gVzQppIrQgiA2By+duOu/IazF1hyOvbdlvGcxQfgNAEtYpm0vSpJ1ATxnMUHwDGKFcLk5i7PRPGchS5EcrplG8gmGsamxfpzezlJUcgSZNnUzvu07Xx0TBPW+AnMBTZDJmkTGqNq64G5nGwGE9VbDcoNTsTTqgmvtUmVrEB4K0q47HyODyWScyqEdIcgBMGUyWMx0r0oLg+Z7tUrXcPmZAqb3dzvyFunvTSyDkiZ56hreIlBkBLGI81BPNzZP0zmJSq6zec86dtH8zNkXUvYGKOLlIvWR/MzZF1LxicyrzyuorzSzuXci4xYW6OqsZd1t2CDXINoSc3/Tjs/Lv/r8gNPH6urNeiGsu9/8s7txwkbngWnkW+V2w17GguPE5XWacXNpbQ9/tuKPWqDOsLUgncHfbI5YPQFCS2yhv3Rcf/f6QOsr2vyo46virboK6EK8fBe63uM+voRLVdV4LMN08q4SfJJZw98S1J1e/VIW+2z8Fx8o3K/q2FdbxXHHQc8f5vafQOy+pYYfXOlf3oBeyotDxfb1E/j+fsfAfXN7mVQhUxjHkMp3P0LTjbl+I/FOSziVJW7ugAAAAASUVORK5CYII="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/27772.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.223Z","timestamp":1785129950223,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/27772.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1840\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 16 Dec 2025 19:42:45 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 08:00:37 GMT\r\ncache-control: public, max-age=86400\r\netag: \"ba53b6c577ea73bf426df505b732ad48\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 77114\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: mmt8pOJxhZU-KqR4IQtHSvWY-yMW1MIqtPs8Ydj5jAFv2Xo50V_QDQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":1840,"size_decoded":2412,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"ba53b6c577ea73bf426df505b732ad48","sha1":"674433b4de3fa0dde8732c9031f31494dd09fc67","sha256":"b24e2e57a40eccd8224fe4ffb458555a5727a3abd3c33b78e1bc55126b72c6ef","sha512":"59ff544b7a4c87e63f093faad0c609c08a63356f09e92474e7e2ce5313d98114658f78616c626aca649f9689024e7aa376120fd0d1cf009f6fbfcaff325935f7","ssdeep":"","tlshash":"40314bcdc2e8f15f798644d80058aaa489216f75e4b84acac0ed3734c2275ec29ec074","first_seen":"2026-03-04T08:47:10.934258Z","last_seen":"2026-07-31T06:34:35.447133Z","times_seen":1368,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/35491.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.245Z","timestamp":1785129950245,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/35491.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 332\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 00:46:09 GMT\r\nlast-modified: Wed, 30 Jul 2025 12:26:41 GMT\r\netag: \"cc548cb26fde330895dba23ae4af6f04\"\r\nx-amz-server-side-encryption: AES256\r\ncache-control: public, max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 16782\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: 6_ZfHGZ5ezcOG_Yla-4R-kMTLya06nNoCg4p3WpdxvQbgSIH1xNP7g==\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":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":332,"size_decoded":886,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"cc548cb26fde330895dba23ae4af6f04","sha1":"3dfabad6a0e3c3c940c77525d8214c2d18f413c0","sha256":"0a345379ac9b1705adaa73b601e126fc6ddaf9c6280b01458926ebc31b886772","sha512":"adc1c3866158c64aa3fcf20b473e44c2790fdfa62a031a17585d10c99998dc71dd5cf4b9409d9b7dddd616f82de3aab85bcd7ff62bea5dbd4877bfe12220c0b7","ssdeep":"","tlshash":"a9e078dfd7a857ed513916751de8fd204e7b00755100d5c809ed7570445f5453a52531","first_seen":"2025-08-09T19:29:39.154535Z","last_seen":"2026-08-15T04:03:51.174193Z","times_seen":1465,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAABE0lEQVR4Xu2QwY3CMBQFaYQ6aIvzNkMhlEBDSHtYxCWKhpisHSOSvBnpXZ6/5e85/IVzYJGGAlikoQAWaSiARRoKYJGGAlikoQAWaSiARRrdBJyO55eU4FzLfC8UwKIVLvhuSc61zPdikQAu9czt+juEZ1NpnR93S1AAixq43HhBLllK6/y4W0K1AC7ExS4/9yGlz4371vnSbC0KYDEHP84lWz9UO1+areWjAkqf49lU5uYVoICNCegdBWxZAO9OhXcYBShgJwJ49t8oQAE7EVAK7zAKUMCGBfSIAhSwUgHfiAIUsAIBa0ktCmAxBx9cW2qpFrA3FMAiDQWwSEMBLNJQAIs0FMAiDQWwSEMBLNKIF/AAZC46QvDJoXEAAAAASUVORK5CYII="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/34387.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.246Z","timestamp":1785129950246,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/34387.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 995\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 00:55:10 GMT\r\nlast-modified: Tue, 03 Dec 2024 12:34:09 GMT\r\netag: \"fb99efdd147ed3f3dcaf18ee5ba11bc1\"\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 16241\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: a6zmIR99awU3_p8MMXEypSKN8GQthb4FyFj7rsgYkcpYBzNGfHEVBA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":995,"size_decoded":1511,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"fb99efdd147ed3f3dcaf18ee5ba11bc1","sha1":"ba52b8959b90666d0fb7eadc44b2eadd65b48541","sha256":"7a46b95ed1f657ff278a9ae67bc785517bca31fcda15ef4db00a01716b13bf14","sha512":"46210d5aac569cf100275ed9d3a7ef6078426703690b70f670313fe52e3acf1750b3c5e3be93a6fc56dce856429e1afc6ab8bc2b4957c2f95f0f5a914f1925c8","ssdeep":"","tlshash":"131108abf71a0cf8883100bf41236070e71883eb8b1a492b8446687ee02e6e40260b0a","first_seen":"2025-09-03T04:31:34.21391Z","last_seen":"2026-08-15T04:03:51.133754Z","times_seen":1511,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADqklEQVR4XuWbMWgUQRSG1wQLQUknNhb2FoJa2Vgq2FjExkqQxLuLBL3AFSIoguRAsNGApLCIFmqhFhY2AcFCA4KCCkJQEYkRonhHcpig95y3c6d3783ezuzc7O45P3wEsjNv583tvHkzOxsEaWgMNgdFmBLMBwVYFH9rAiDUWtfmw7JYZzAFm4ILMCScqArqCkdNQRvV0Cbazq1GYTiQv3JT4US/QNtT4b1yI/xlCjCjaKxb8J7hU5GlijDJGpY+k7RZ7iWDWkPRmKxopBc0S3BE0YB8gG1zJxGBS/CQ3TRvYBv7PlvIaY3fLM/0LUDK6Y3fYBCwny7Fo0SNDhpWw2EQxnwcYUxIojxHe1OMZ4csx31BMCY42WJcUSYJRvGgCGvMgGuE49OPAX43gendMsCW07IMq6fPGnVTrQzS26ESwMYv6jbXp++8riEaaTOv5JYCdbO3lmuyDrOjS0+lvao7BfDxG3UxXpX7Clu6oI9KZZDtnZijrukLO4/a00aZJRahzAq6xPDRp9p1XmFTnzLxPsz4XO7kcCw74PA1hU19mt0ZYgaPv3UHXFfYNKFrGMgNTF7IJZYdcPCqwqYJJbjY2QH92L015v0KdUtfW89we4bUOzuAXjTmwBWAuy/ktDb3HGDnOV6GsucydUtfVrlAG+sOEI148JI27Z+aIq0dnZXlWN1W/aeLtFa89lUVtpLQch738vnFOMQ8/HODNk2tV58hshN2VGjp3rq1wG1YMIUdgK+i6IXeCGe+1mnTeuv2gsIOMk5LRmvijqK+HfOY/uL7OHqhJ8dmadP0tPsSsSU68tFrWqpbtQbAIZzzbTK/KND3QP2iMhrL6ev4TWlneEI6R7WyCrANIzwOmYhh00dq5gHQ4JE1VWMd0nC6G/aPGEbO0mb3TzNP+P2cw/4Rg/cd8D8OgVSD4NEb0g4GwaUf9GoWQTDBNIhL0SRKMg2urrufBlNJhHB9wOwgBkPKTSLkfSpsuRjCBkVJZzH07AOtFa/9VYWtJFivBjvYOw1wTyyH3yzJx317hZeh5Gk5PHAbIiNlbs+Qrg0R/7bE0Oe/8n5T1PttcZTfL0aCTIZBvl6Nobx+OdoWreAaw6Hg9vU4yvsDEqicHZF5+yXNIzIo7w9Jobw+JteW1wclQ/l+VBaVZTywxXjcRymDLNGayGwvsXz+YKJTeZ4dEkd7U3n90VSnMkibFWimt67k9YeTnfL201kmBx9P45m+8Nd2Gd1dKsefz/8BVrZ7wl05T0oAAAAASUVORK5CYII="}},"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":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:49.687Z","timestamp":1785129949687,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 356922\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-15T16:45:42.901566Z","times_seen":965851,"resource_available":false,"data":"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"}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":23,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.googletagmanager.com/gtag/js?id=G-V84XP8WGXY","fqdn":"www.googletagmanager.com","domain":"googletagmanager.com","tld":"com"},"ip":{"addr":"142.250.178.104","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.878Z","timestamp":1785129949878,"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-analytics.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:33 GMT","end":"Mon, 21 Sep 2026 08:37:32 GMT"},"fingerprint":{"sha1":"85:82:80:E9:F0:BC:08:B5:D8:5D:91:B4:E5:D3:DB:B1:A7:2F:E3:F3","sha256":"E3:94:E9:DA:2C:F1:36:09:33:63:D3:69:08:E7:E6:91:8D:F3:61:7F:0F:D0:5F:8E:B6:E9:D7:F3:DD:10:3C:DC"}}},"request":{"raw":"GET /gtag/js?id=G-V84XP8WGXY HTTP/1.1\r\nHost: www.googletagmanager.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript; charset=UTF-8\r\naccess-control-allow-origin: *\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: Cache-Control\r\ncontent-encoding: zstd\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\nexpires: Mon, 27 Jul 2026 05:25:49 GMT\r\ncache-control: private, max-age=900\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\ncross-origin-resource-policy: cross-origin\r\nserver: Google Tag Manager\r\ncontent-length: 166343\r\nx-xss-protection: 0\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":488553,"size_decoded":166947,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (6033)","md5":"bea43ed2cdab6de383dae5b43f7f7ea7","sha1":"fee133e8e4885d721f6251298bbef7797126d1e6","sha256":"5324890457a4126c757b6c6f4eb68d2e58501802bffc02bc5018aa185d33c7e7","sha512":"d0948a7b1e160bd486f71a1c87caff66c4d8bb68becaffb75aa3875251a34474cba30ab51b8052c425e453911a1a804a7c746aee4ef7db3f95bb86f7c04f585a","ssdeep":"6144:/yHnRU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/8nC1WLP69VwqxVZOvg","tlshash":"aea4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","first_seen":"2026-07-27T02:47:36.009071Z","last_seen":"2026-07-27T07:02:12.014235Z","times_seen":194,"resource_available":true,"data":"Ci8vIENvcHlyaWdodCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKKGZ1bmN0aW9uKCl7Cgp2YXIgZGF0YSA9IHsKInJlc291cmNlIjogewogICJ2ZXJzaW9uIjoiMSIsCiAgCiAgIm1hY3JvcyI6W3siZnVuY3Rpb24iOiJfX2UifSx7ImZ1bmN0aW9uIjoiX19jIiwidnRwX3ZhbHVlIjoiZ29vZ2xlLm5vIn0seyJmdW5jdGlvbiI6Il9fYyIsInZ0cF92YWx1ZSI6MH1dLAogICJ0YWdzIjpbeyJmdW5jdGlvbiI6Il9fb2d0XzFwX2RhdGFfdjIiLCJwcmlvcml0eSI6MTMsInZ0cF9pc0F1dG9FbmFibGVkIjp0cnVlLCJ2dHBfYXV0b1Bob25lRW5hYmxlZCI6dHJ1ZSwidnRwX2F1dG9Db2xsZWN0RXhjbHVzaW9uU2VsZWN0b3JzIjpbImxpc3QiLFsibWFwIiwiZXhjbHVzaW9uU2VsZWN0b3IiLCIiXV0sInZ0cF9pc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvQWRkcmVzc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvRW1haWxFbmFibGVkIjp0cnVlLCJ2dHBfaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIjp0cnVlLCJ0YWdfaWQiOjR9LHsiZnVuY3Rpb24iOiJfX2NjZF9nYV9maXJzdCIsInByaW9yaXR5IjoxMiwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTh9LHsiZnVuY3Rpb24iOiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIiwicHJpb3JpdHkiOjExLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidnRwX2ZvcmVpZ25UbGRNYWNyb1Jlc3VsdCI6WyJtYWNybyIsMV0sInZ0cF9pc0NoaW5hVmlwUmVnaW9uTWFjcm9SZXN1bHQiOlsibWFjcm8iLDJdLCJ0YWdfaWQiOjE3fSx7ImZ1bmN0aW9uIjoiX19jY2RfZ2FfcmVnc2NvcGUiLCJwcmlvcml0eSI6MTAsInZ0cF9zZXR0aW5nc1RhYmxlIjpbImxpc3QiLFsibWFwIiwicmVkYWN0RmllbGRHcm91cCIsIkRFVklDRV9BTkRfR0VPIiwiZGlzYWxsb3dBbGxSZWdpb25zIixmYWxzZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXSxbIm1hcCIsInJlZGFjdEZpZWxkR3JvdXAiLCJHT09HTEVfU0lHTkFMUyIsImRpc2FsbG93QWxsUmVnaW9ucyIsdHJ1ZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXV0sInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE2fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZG93bmxvYWQiLCJwcmlvcml0eSI6OSwidnRwX2luY2x1ZGVQYXJhbXMiOnRydWUsInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE1fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZm9ybSIsInByaW9yaXR5Ijo4LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTR9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsInByaW9yaXR5Ijo3LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTN9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9wYWdlX3ZpZXciLCJwcmlvcml0eSI6NiwidnRwX2hpc3RvcnlFdmVudHMiOnRydWUsInZ0cF9pbmNsdWRlUGFyYW1zIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjoxMn0seyJmdW5jdGlvbiI6Il9fY2NkX2VtX3Njcm9sbCIsInByaW9yaXR5Ijo1LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTF9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsInByaW9yaXR5Ijo0LCJ2dHBfc2VhcmNoUXVlcnlQYXJhbXMiOiJxLHMsc2VhcmNoLHF1ZXJ5LGtleXdvcmQiLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTB9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV92aWRlbyIsInByaW9yaXR5IjozLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6OX0seyJmdW5jdGlvbiI6Il9fY2NkX2NvbnZlcnNpb25fbWFya2luZyIsInByaW9yaXR5IjoyLCJ2dHBfY29udmVyc2lvblJ1bGVzIjpbImxpc3QiLFsibWFwIiwibWF0Y2hpbmdSdWxlcyIsIntcInR5cGVcIjo1LFwiYXJnc1wiOlt7XCJzdHJpbmdWYWx1ZVwiOlwiY2xvc2VfY29udmVydF9sZWFkXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il0sWyJtYXAiLCJtYXRjaGluZ1J1bGVzIiwie1widHlwZVwiOjUsXCJhcmdzXCI6W3tcInN0cmluZ1ZhbHVlXCI6XCJxdWFsaWZ5X2xlYWRcIn0se1wiY29udGV4dFZhbHVlXCI6e1wibmFtZXNwYWNlVHlwZVwiOjEsXCJrZXlQYXJ0c1wiOltcImV2ZW50TmFtZVwiXX19XX0iXSxbIm1hcCIsIm1hdGNoaW5nUnVsZXMiLCJ7XCJ0eXBlXCI6NSxcImFyZ3NcIjpbe1wic3RyaW5nVmFsdWVcIjpcInB1cmNoYXNlXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il1dLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo4fSx7ImZ1bmN0aW9uIjoiX19jY2RfYXV0b19yZWRhY3QiLCJwcmlvcml0eSI6MSwidnRwX3JlZGFjdEVtYWlsIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo3fSx7ImZ1bmN0aW9uIjoiX19nY3QiLCJ2dHBfdHJhY2tpbmdJZCI6IkctVjg0WFA4V0dYWSIsInZ0cF9zZXNzaW9uRHVyYXRpb24iOjAsInRhZ19pZCI6MX0seyJmdW5jdGlvbiI6Il9fY2NkX2dhX2xhc3QiLCJwcmlvcml0eSI6MCwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6Nn1dLAogICJwcmVkaWNhdGVzIjpbeyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmpzIn0seyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmluaXQifV0sCiAgInJ1bGVzIjpbW1siaWYiLDBdLFsiYWRkIiwxM11dLFtbImlmIiwxXSxbImFkZCIsMCwxNCwxMiwxMSwxMCw5LDgsNyw2LDUsNCwzLDIsMV1dXQp9LAoicnVudGltZSI6WyBbNTAsIl9fYyIsWzQ2LCJhIl0sWzM2LFsxNyxbMTUsImEiXSwidmFsdWUiXV1dCiAsWzUwLCJfX2NjZF9hdXRvX3JlZGFjdCIsWzQ2LCJhIl0sWzUwLCJ2IixbNDYsImFGIl0sWzM2LFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJ1Il0sIlxcJDEiXV1dXSxbNTAsInciLFs0NiwiYUYiXSxbNTIsImFHIixbMzAsWyJjIixbMTUsImFGIl1dLFsxNSwiYUYiXV1dLFs1MiwiYUgiLFs3XV0sWzY1LCJhSSIsWzIsWzE1LCJhRyJdLCJzcGxpdCIsWzcsIiJdXSxbNDYsWzUzLFs1MiwiYUoiLFs3LFsidiIsWzE1LCJhSSJdXV1dLFs1MiwiYUsiLFsiZCIsWzE1LCJhSSJdXV0sWzIyLFsxMixbMTUsImFLIl0sWzQ1XV0sWzQ2LFs1MyxbMzYsWyJkIixbInYiLFsxNSwiYUYiXV1dXV1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbMTUsImFJIl1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbMTUsImFLIl1dXSxbMjIsWzIxLFsxNSwiYUkiXSxbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXSxbNDYsWzUzLFsyLFsxNSwiYUoiXSwicHVzaCIsWzcsWyJkIixbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXV1dXV0sWzQ2LFsyMixbMjEsWzE1LCJhSSJdLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbImQiLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dXV1dXV1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFKIl0sImxlbmd0aCJdLDFdLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMCxbMCwiKD86IixbMixbMTUsImFKIl0sImpvaW4iLFs3LCJ8Il1dXSwiKSJdXV1dXSxbNDYsWzUzLFsyLFsxNSwiYUgiXSwicHVzaCIsWzcsWzE2LFsxNSwiYUoiXSwwXV1dXV1dXV1dLFszNixbMixbMTUsImFIIl0sImpvaW4iLFs3LCIiXV1dXSxbNTAsIngiLFs0NiwiYUYiLCJhRyIsImFIIl0sWzUyLCJhSSIsWyJ6IixbMTUsImFGIl0sWzE1LCJhSCJdXV0sWzIyLFsyOCxbMTUsImFJIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjgsWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFs0MSwiYUoiXSxbMywiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNjUsImFLIixbMTUsImFHIl0sWzQ2LFs1MyxbNTIsImFMIixbNyxbInYiLFsxNSwiYUsiXV0sWyJ3IixbMTUsImFLIl1dXV0sWzY1LCJhTSIsWzE1LCJhTCJdLFs0NixbNTMsWzUyLCJhTiIsWzMwLFsxNixbMTUsInQiXSxbMTUsImFNIl1dLFs0MyxbMTUsInQiXSxbMTUsImFNIl0sWyJiIixbMCxbMCwiKFs/Jl0iLFsxNSwiYU0iXV0sIj0pKFteJl0qKSJdLCJnaSJdXV1dLFszLCJhSiIsWzIsWzE1LCJhSiJdLCJyZXBsYWNlIixbNyxbMTUsImFOIl0sWzAsIiQxIixbMTUsInIiXV1dXV1dXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjAsWzE2LFsxNSwiYUoiXSwwXSwiJiJdLFs0NixbMywiYUoiLFsyLFsxNSwiYUoiXSwic3Vic3RyaW5nIixbNywxXV1dXV0sWzIyLFsyMSxbMTYsWzE1LCJhSiJdLDBdLCI/Il0sWzQ2LFszLCJhSiIsWzAsIj8iLFsxNSwiYUoiXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sIj8iXSxbNDYsWzMsImFKIiwiIl1dXSxbNDMsWzE1LCJhSSJdLCJzZWFyY2giLFsxNSwiYUoiXV0sWzM2LFsiYUEiLFsxNSwiYUkiXSxbMTUsImFIIl1dXV0sWzUwLCJ6IixbNDYsImFGIiwiYUciXSxbMjIsWzIwLFsxNSwiYUciXSxbMTcsWzE1LCJzIl0sIlBBVEgiXV0sWzQ2LFs1MyxbMywiYUYiLFswLFsxNSwieSJdLFsxNSwiYUYiXV1dXV1dLFszNixbImYiLFsxNSwiYUYiXV1dXSxbNTAsImFBIixbNDYsImFGIiwiYUciXSxbNDEsImFIIl0sWzMsImFIIiwiIl0sWzIyLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJVUkwiXV0sWzQ2LFs1MyxbNDEsImFJIl0sWzMsImFJIiwiIl0sWzIyLFszMCxbMTcsWzE1LCJhRiJdLCJ1c2VybmFtZSJdLFsxNyxbMTUsImFGIl0sInBhc3N3b3JkIl1dLFs0NixbNTMsWzMsImFJIixbMCxbMTUsImFJIl0sWzAsWzAsWzAsWzE3LFsxNSwiYUYiXSwidXNlcm5hbWUiXSxbMzksWzE3LFsxNSwiYUYiXSwicGFzc3dvcmQiXSwiOiIsIiJdXSxbMTcsWzE1LCJhRiJdLCJwYXNzd29yZCJdXSwiQCJdXV1dXV0sWzMsImFIIixbMCxbMCxbMCxbMTcsWzE1LCJhRiJdLCJwcm90b2NvbCJdLCIvLyJdLFsxNSwiYUkiXV0sWzE3LFsxNSwiYUYiXSwiaG9zdCJdXV1dXV0sWzM2LFswLFswLFswLFsxNSwiYUgiXSxbMTcsWzE1LCJhRiJdLCJwYXRobmFtZSJdXSxbMTcsWzE1LCJhRiJdLCJzZWFyY2giXV0sWzE3LFsxNSwiYUYiXSwiaGFzaCJdXV1dLFs1MCwiYUIiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJuIl0sWzE1LCJyIl1dXV0sWzIyLFszMCxbMjAsWzE1LCJhRyJdLFsxNyxbMTUsInMiXSwiVVJMIl1dLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJQQVRIIl1dXSxbNDYsWzUzLFs1MiwiYUkiLFsieiIsWzE1LCJhSCJdLFsxNSwiYUciXV1dLFsyMixbMjAsWzE1LCJhSSJdLFs0NF1dLFs0NixbMzYsWzE1LCJhSCJdXV1dLFs1MiwiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNTIsImFLIixbMixbMTUsImFKIl0sInJlcGxhY2UiLFs3LFsxNSwibyJdLFsxNSwiciJdXV1dLFsyMixbMjAsWzE1LCJhSiJdLFsxNSwiYUsiXV0sWzQ2LFszNixbMTUsImFIIl1dXV0sWzQzLFsxNSwiYUkiXSwic2VhcmNoIixbMTUsImFLIl1dLFszLCJhSCIsWyJhQSIsWzE1LCJhSSJdLFsxNSwiYUciXV1dXV1dLFszNixbMTUsImFIIl1dXSxbNTAsImFDIixbNDYsImFGIl0sWzIyLFsyMCxbMTUsImFGIl0sWzE1LCJxIl1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiUEFUSCJdXV1dLFs0NixbMjIsWzIxLFsyLFsxNSwicCJdLCJpbmRleE9mIixbNyxbMTUsImFGIl1dXSxbMjcsMV1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiVVJMIl1dXV0sWzQ2LFs1MyxbMzYsWzE3LFsxNSwicyJdLCJURVhUIl1dXV1dXV1dLFs1MCwiYUQiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLGZhbHNlXSxbNTIsImFJIixbImUiLFsxNSwiYUYiXV1dLFszOCxbMTUsImFJIl0sWzQ2LCJzdHJpbmciLCJhcnJheSIsIm9iamVjdCJdLFs0NixbNSxbNDYsWzUyLCJhSiIsWyJhQiIsWzE1LCJhRiJdLFsxNSwiYUciXV1dLFsyMixbMjEsWzE1LCJhRiJdLFsxNSwiYUoiXV0sWzQ2LFs1MyxbMzYsWzE1LCJhSiJdXV1dXSxbNF1dXSxbNSxbNDYsWzUzLFs0MSwiYUsiXSxbMywiYUsiLDBdLFs2MyxbNywiYUsiXSxbMjMsWzE1LCJhSyJdLFsxNyxbMTUsImFGIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJhSyJdLFszLCJhSyIsWzAsWzE1LCJhSyJdLDFdXV0sWzQ2LFs1MyxbNTIsImFMIixbImFEIixbMTYsWzE1LCJhRiJdLFsxNSwiYUsiXV0sWzE3LFsxNSwicyJdLCJURVhUIl1dXSxbMjIsWzIxLFsxNSwiYUwiXSxbNDRdXSxbNDYsWzUzLFs0MyxbMTUsImFGIl0sWzE1LCJhSyJdLFsxNSwiYUwiXV0sWzMsImFIIix0cnVlXV1dXV1dXV0sWzRdXV0sWzUsWzQ2LFs1NCwiYUsiLFsxNSwiYUYiXSxbNDYsWzUzLFs1MiwiYUwiLFsiYUQiLFsxNixbMTUsImFGIl0sWzE1LCJhSyJdXSxbMTcsWzE1LCJzIl0sIlRFWFQiXV1dLFsyMixbMjEsWzE1LCJhTCJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiYUYiXSxbMTUsImFLIl0sWzE1LCJhTCJdXSxbMywiYUgiLHRydWVdXV1dXV1dLFs0XV1dXV0sWzM2LFszOSxbMTUsImFIIl0sWzE1LCJhRiJdLFs0NF1dXV0sWzUwLCJhRSIsWzQ2LCJhRiIsImFHIl0sWzUyLCJhSCIsWzMwLFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQUMiXV1dLFs3XV1dLFsyMixbMjAsWzIsWzE1LCJhSCJdLCJpbmRleE9mIixbNyxbMTUsImFHIl1dXSxbMjcsMV1dLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMTUsImFHIl1dXV1dXSxbMixbMTUsImFGIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJoIl0sIkFDIl0sWzE1LCJhSCJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuY3JlYXRlUmVnZXgiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJkZWNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJlbmNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJlIixbInJlcXVpcmUiLCJnZXRUeXBlIl1dLFs1MiwiZiIsWyJyZXF1aXJlIiwicGFyc2VVcmwiXV0sWzUyLCJnIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiaCIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImkiLFsxNSwiX19tb2R1bGVfZ29sZEV2ZW50VXNhZ2VJZCJdXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFs1MiwiayIsWzE3LFsxNSwiYSJdLCJyZWRhY3RFbWFpbCJdXSxbNTIsImwiLFsxNyxbMTUsImEiXSwicmVkYWN0UXVlcnlQYXJhbXMiXV0sWzUyLCJtIixbMzksWzE1LCJsIl0sWzIsWzE1LCJsIl0sInNwbGl0IixbNywiLCJdXSxbN11dXSxbMjIsWzEsWzI4LFsxNyxbMTUsIm0iXSwibGVuZ3RoIl1dLFsyOCxbMTUsImsiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFs1MiwibiIsWyJiIiwiW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcXC5bQS1aXXsyLH0iLCJnaSJdXSxbNTIsIm8iLFsiYiIsWzAsIihbQS1aMC05Ll8tXXwlMjV8JTJCKSslNDBbQS1aMC05Li1dIiwiK1xcLltBLVpdezIsfSJdLCJnaSJdXSxbNTIsInAiLFs3LCJwYWdlX2xvY2F0aW9uIiwicGFnZV9yZWZlcnJlciIsInBhZ2VfcGF0aCIsImxpbmtfdXJsIiwidmlkZW9fdXJsIiwiZm9ybV9kZXN0aW5hdGlvbiJdXSxbNTIsInEiLCJwYWdlX3BhdGgiXSxbNTIsInIiLCIocmVkYWN0ZWQpIl0sWzUyLCJzIixbOCwiVEVYVCIsMCwiVVJMIiwxLCJQQVRIIiwyXV0sWzUyLCJ0IixbOF1dLFs1MiwidSIsWyJiIiwiKFtcXFxcXiQufD8qKygpe31dfFxcW3xcXFspIiwiZyJdXSxbNTIsInkiLCJodHRwOi8vLiJdLFsiZyIsWzE1LCJqIl0sWzUxLCIiLFs3LCJhRiJdLFsyMixbMTUsImsiXSxbNDYsWzUzLFs1MiwiYUciLFsyLFsxNSwiYUYiXSwiZ2V0SGl0S2V5cyIsWzddXV0sWzY1LCJhSCIsWzE1LCJhRyJdLFs0NixbNTMsWzIyLFsyMCxbMTUsImFIIl0sIl9zc3RfcGFyYW1ldGVycyJdLFs0NixbNl1dXSxbNTIsImFJIixbMixbMTUsImFGIl0sImdldEhpdERhdGEiLFs3LFsxNSwiYUgiXV1dXSxbMjIsWzI4LFsxNSwiYUkiXV0sWzQ2LFs2XV1dLFs1MiwiYUoiLFsiYUMiLFsxNSwiYUgiXV1dLFs1MiwiYUsiLFsiYUQiLFsxNSwiYUkiXSxbMTUsImFKIl1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbNDRdXSxbNDYsWzUzLFsyLFsxNSwiYUYiXSwic2V0SGl0RGF0YSIsWzcsWzE1LCJhSCJdLFsxNSwiYUsiXV1dLFsiYUUiLFsxNSwiYUYiXSxbMzksWzIsWzE1LCJhRiJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiaCJdLCJCTyJdXV0sWzE3LFsxNSwiaSJdLCJXIl0sWzE3LFsxNSwiaSJdLCJPIl1dXV1dXV1dXV1dXSxbMjIsWzE3LFsxNSwibSJdLCJsZW5ndGgiXSxbNDYsWzUzLFs2NSwiYUciLFsxNSwicCJdLFs0NixbNTMsWzUyLCJhSCIsWzIsWzE1LCJhRiJdLCJnZXRIaXREYXRhIixbNyxbMTUsImFHIl1dXV0sWzIyLFsyOCxbMTUsImFIIl1dLFs0NixbNl1dXSxbNTIsImFJIixbMzksWzIwLFsxNSwiYUciXSxbMTUsInEiXV0sWzE3LFsxNSwicyJdLCJQQVRIIl0sWzE3LFsxNSwicyJdLCJVUkwiXV1dLFs1MiwiYUoiLFsieCIsWzE1LCJhSCJdLFsxNSwibSJdLFsxNSwiYUkiXV1dLFsyMixbMjEsWzE1LCJhSiJdLFsxNSwiYUgiXV0sWzQ2LFs1MyxbMixbMTUsImFGIl0sInNldEhpdERhdGEiLFs3LFsxNSwiYUciXSxbMTUsImFKIl1dXSxbImFFIixbMTUsImFGIl0sWzM5LFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQk8iXV1dLFsxNyxbMTUsImkiXSwiWCJdLFsxNyxbMTUsImkiXSwiUCJdXV1dXV1dXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIixbNDYsImEiXSxbMjIsWzMwLFsyOCxbMTcsWzE1LCJhIl0sImNvbnZlcnNpb25SdWxlcyJdXSxbMjAsWzE3LFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sImxlbmd0aCJdLDBdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlQcmVIaXQiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJmIiwiZmlyc3RfdmlzaXQiXSxbNTIsImciLCJzZXNzaW9uX3N0YXJ0Il0sWzQxLCJoIl0sWzQxLCJpIl0sWyJkIixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdLFs1MSwiIixbNywiaiJdLFs1MiwiayIsWzgsInByZUhpdCIsWzE1LCJqIl1dXSxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiUCJdLHRydWVdXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVYiXSx0cnVlXV0sWzRdXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVoiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImgiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJmIl1dXSxbMywiaCIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImgiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkEiXSx0cnVlXV0sWzRdXV1dXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkwiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImkiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJnIl1dXSxbMywiaSIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImkiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQk0iXSx0cnVlXV0sWzRdXV1dXV1dXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXQogLFs1MCwiX19jY2RfZW1fZG93bmxvYWQiLFs0NiwiYSJdLFs1MCwicSIsWzQ2LCJ2Il0sWzM2LFsxLFsxNSwidiJdLFsyMSxbMixbMixbMTUsInYiXSwidG9Mb3dlckNhc2UiLFs3XV0sIm1hdGNoIixbNyxbMTUsInAiXV1dLFs0NV1dXV1dLFs1MCwiciIsWzQ2LCJ2Il0sWzUyLCJ3IixbMixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl0sInNwbGl0IixbNywiLiJdXV0sWzUyLCJ4IixbMzksWzE4LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sMV0sWzE2LFsxNSwidyJdLFszNyxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdLDFdXSwiIl1dLFszNixbMTYsWzIsWzE1LCJ4Il0sInNwbGl0IixbNywiLyJdXSwwXV1dLFs1MCwicyIsWzQ2LCJ2Il0sWzM2LFszOSxbMTIsWzIsWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLCJzdWJzdHJpbmciLFs3LDAsMV1dLCIvIl0sWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLFswLCIvIixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl1dXV1dLFs1MCwidCIsWzQ2LCJ2Il0sWzQxLCJ3Il0sWzMsInciLCIiXSxbMjIsWzEsWzE1LCJ2Il0sWzE3LFsxNSwidiJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ4Il0sWzMsIngiLFsyLFsxNyxbMTUsInYiXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsInciLFszOSxbMjMsWzE1LCJ4Il0sMF0sWzE3LFsxNSwidiJdLCJocmVmIl0sWzIsWzE3LFsxNSwidiJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsIngiXV1dXV1dXV0sWzM2LFsxNSwidyJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbURvd25sb2FkQWN0aXZpdHkiXV0sWzUyLCJmIixbMTcsWzE1LCJkIl0sIkEiXV0sWzUyLCJnIiwiZmlsZV9kb3dubG9hZCJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibCJdLCJBIixbNywiZG93bmxvYWQiXV1dLFs1MiwicCIsWzAsIl4ocGRmfHhsc3g/fGRvY3g/fHR4dHxydGZ8Y3N2fGV4ZXxrZXl8cHAoc3x0fHR4KXw3enxwa2d8cmFyfGd6fHppcHxhdml8IiwibW92fG1wNHxtcGU/Z3x3bXZ8bWlkaT98bXAzfHdhdnx3bWEpJCJdXSxbNTIsInUiLFsiayIsWzgsImNoZWNrVmFsaWRhdGlvbiIsdHJ1ZV1dXSxbMjIsWzI4LFsxNSwidSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImMiXSwic2V0SXRlbSIsWzcsWzE1LCJoIl0sdHJ1ZV1dLFsiaiIsImd0bS5saW5rQ2xpY2siLFs1MSwiIixbNywidiIsInciXSxbInciXSxbNTIsIngiLFs4LCJldmVudElkIixbMTYsWzE1LCJ2Il0sImd0bS51bmlxdWVFdmVudElkIl0sImRlZmVycmFibGUiLHRydWVdXSxbNTIsInkiLFsxNixbMTUsInYiXSwiZ3RtLmVsZW1lbnRVcmwiXV0sWzUyLCJ6IixbIm0iLFsxNSwieSJdXV0sWzIyLFsyOCxbMTUsInoiXV0sWzQ2LFszNl1dXSxbNTIsImFBIixbInIiLFsxNSwieiJdXV0sWzIyLFsyOCxbInEiLFsxNSwiYUEiXV1dLFs0NixbNTMsWzM2XV1dXSxbNTIsImFCIixbOCwibGlua19pZCIsWzE2LFsxNSwidiJdLCJndG0uZWxlbWVudElkIl0sImxpbmtfdXJsIixbInQiLFsxNSwieiJdXSwibGlua190ZXh0IixbMTYsWzE1LCJ2Il0sImd0bS5lbGVtZW50VGV4dCJdLCJmaWxlX25hbWUiLFsicyIsWzE1LCJ6Il1dLCJmaWxlX2V4dGVuc2lvbiIsWzE1LCJhQSJdXV0sWzIsWzE1LCJsIl0sIkIiLFs3LFsxNSwieCJdXV0sWyJuIixbMTUsIm8iXSxbMTUsImciXSxbMTUsImFCIl0sWzE1LCJ4Il1dXSxbMTUsInUiXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX2Zvcm0iLFs0NiwiYSJdLFs1MCwieCIsWzQ2LCJhTCJdLFs1MiwiYU0iLFszMCxbMTYsWzE1LCJhTCJdLFsxNSwiciJdXSxbOF1dXSxbNDMsWzE1LCJhTSJdLCJldmVudF91c2FnZSIsWzcsWzE3LFsxNSwiZyJdLCJIIl1dXSxbNDMsWzE1LCJhTCJdLFsxNSwiciJdLFsxNSwiYU0iXV1dLFs1MCwieSIsWzQ2LCJhTCIsImFNIl0sWzUyLCJhTiIsWzMwLFsxNixbMTUsImFMIl0sWzE1LCJyIl1dLFs4XV1dLFsyMixbMTYsWzE1LCJhTSJdLCJndG0uZm9ybUNhbmNlbGVkIl0sWzQ2LFs1MyxbNDMsWzE1LCJhTiJdLFsxNyxbMTUsImkiXSwiQUoiXSx0cnVlXV1dXSxbMixbMTUsInUiXSwiQiIsWzcsWzE1LCJhTCJdLFsxNSwiYU4iXV1dXSxbNTAsInoiLFs0NiwiYUwiLCJhTSIsImFOIl0sWzUyLCJhTyIsWzIsWzE1LCJ3Il0sImZpbHRlciIsWzcsWzUxLCIiLFs3LCJhUSJdLFszNixbMjAsWzIsWzE1LCJhUSJdLCJpbmRleE9mIixbNywiQVctIl1dLDBdXV1dXV0sWzIyLFsxOCxbMTcsWzE1LCJhTyJdLCJsZW5ndGgiXSwwXSxbNDYsWzUzLFsidiIsWzE1LCJhTyJdLFsxNSwiYUwiXSxbMTUsImFNIl0sWzE1LCJhTiJdXV1dXSxbNTIsImFQIixbMixbMTUsInciXSwiZmlsdGVyIixbNyxbNTEsIiIsWzcsImFRIl0sWzM2LFsyMSxbMixbMTUsImFRIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFQIl0sImxlbmd0aCJdLDBdLFs0NixbNTMsWzQzLFsxNSwiYU4iXSwiZGVmZXJyYWJsZSIsdHJ1ZV0sWyJ2IixbMTUsImFQIl0sWzE1LCJhTCJdLFsxNSwiYU0iXSxbMTUsImFOIl1dXV1dXSxbNTAsImFLIixbNDZdLFs1MiwiYUwiLFsibSIsWyJsIiwwLDIuMTQ3NDgzNjQ3RTldXV0sWzQxLCJhTSJdLFszLCJhTSIsMF0sWzM2LFs1MSwiIixbNywiYU4iXSxbMjIsWzIwLFsxNSwiYU4iXSxbMTUsInMiXV0sWzQ2LFs1MyxbMywiYU0iLFsiayJdXSxbMzYsWzAsWyJtIixbMTUsImFNIl1dLFsxNSwiYUwiXV1dXV0sWzQ2LFsyMixbMjAsWzE1LCJhTiJdLFsxNSwibyJdXSxbNDYsWzUzLFsyMixbMjAsWzE1LCJhTSJdLDBdLFs0NixbNTMsWzM2LFswLFsibSIsWyJrIl1dLFsxNSwiYUwiXV1dXV1dLFs1MiwiYU8iLFsiayJdXSxbMjIsWzIzLFszNyxbMTUsImFPIl0sWzE1LCJhTSJdXSwyMDBdLFs0NixbNTMsWzUyLCJhUCIsWzE1LCJhTSJdXSxbMywiYU0iLDBdLFszNixbMCxbIm0iLFsxNSwiYVAiXV0sWzE1LCJhTCJdXV1dXV0sWzMsImFNIiwwXSxbMzYsWzAsWyJtIixbMTUsImFPIl1dLFsxNSwiYUwiXV1dXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiYyIsWzE1LCJfX21vZHVsZV9jY2RFbUZvcm1BY3Rpdml0eSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2dvbGRFdmVudFVzYWdlSWQiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImoiLFsxNSwiX19tb2R1bGVfYWR3b3Jkc0hpdFR5cGUiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJnZXRUaW1lc3RhbXBNaWxsaXMiXV0sWzUyLCJsIixbInJlcXVpcmUiLCJnZW5lcmF0ZVJhbmRvbSJdXSxbNTIsIm0iLFsicmVxdWlyZSIsIm1ha2VTdHJpbmciXV0sWzUyLCJuIixbMTcsWzE1LCJoIl0sIkIiXV0sWzUyLCJvIiwiZm9ybV9zdWJtaXQiXSxbNTIsInAiLCJmb3JtX3N0YXJ0Il0sWzUyLCJxIiwiaXNSZWdpc3RlcmVkIl0sWzUyLCJyIiwiZXZlbnRNZXRhZGF0YSJdLFs1MiwicyIsImNsaWNrIl0sWzUyLCJ0IixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdXSxbMjIsWyJkIixbMTUsInQiXSxbMTUsIm4iXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsxNSwiYSJdLCJza2lwVmFsaWRhdGlvbiJdLFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIyLFsyLFsxNSwiZiJdLCJnZXRJdGVtIixbNyxbMTUsInEiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNyxbMTUsInEiXSx0cnVlXV0sWzUyLCJ1IixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJ2IixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwidyIsWzIsWzE1LCJ1Il0sIkEiLFs3LCJmb3JtIl1dXSxbNTIsImFBIixbOF1dLFs1MiwiYUIiLFs1MSwiIixbNywiYUwiLCJhTSJdLFsyMixbMTUsImFNIl0sWzQ2LFsiYU0iXV1dLFs1MiwiYU4iLFsxNixbMTUsImFMIl0sImd0bS5lbGVtZW50SWQiXV0sWzIyLFsxNixbMTUsImFBIl0sWzE1LCJhTiJdXSxbNDYsWzM2XV1dLFs0MyxbMTUsImFBIl0sWzE1LCJhTiJdLHRydWVdLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTUsImFOIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZpcnN0X2ZpZWxkX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl0sImZpcnN0X2ZpZWxkX25hbWUiLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkTmFtZSJdLCJmaXJzdF9maWVsZF90eXBlIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZFR5cGUiXSwiZmlyc3RfZmllbGRfcG9zaXRpb24iLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXV1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdGFydCJdLFsieiIsWzE1LCJwIl0sWzE1LCJhTyJdLFsxNSwiYVAiXV1dXSxbNTIsImFDIixbImFLIl1dLFs1MiwiYUQiLFs1MSwiIixbNywiYUwiLCJhTSJdLFs1MiwiYU4iLFsiYUMiLFsxNSwibyJdXV0sWyJhQiIsWzE1LCJhTCJdLFs0NF1dLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudElkIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZvcm1fc3VibWl0X3RleHQiLFsxNixbMTUsImFMIl0sImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXV1dLFs0MyxbMTUsImFPIl0sImV2ZW50X2NhbGxiYWNrIixbMTUsImFNIl1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdWJtaXQiXSxbNDMsWzE2LFsxNSwiYVAiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJTIl0sWzE1LCJhTiJdXSxbInoiLFsxNSwibyJdLFsxNSwiYU8iXSxbMTUsImFQIl1dXV0sWzUyLCJhRSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuYWRkRGF0YUxheWVyRXZlbnRMaXN0ZW5lciJdXSxbNTIsImFGIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1TdWJtaXQiXV0sWzUyLCJhRyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtSW50ZXJhY3Rpb24iXV0sWzUyLCJhSCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayJdXSxbNTIsImFJIixbImFHIl1dLFsyMixbMjgsWzE1LCJhSSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbImFFIiwiZ3RtLmZvcm1JbnRlcmFjdCIsWzE1LCJhQiJdLFsxNSwiYUkiXV0sWzUyLCJhSiIsWyJhRiIsWzgsImNoZWNrVmFsaWRhdGlvbiIsZmFsc2UsIndhaXRGb3JUYWdzIixmYWxzZV1dXSxbMjIsWzI4LFsxNSwiYUoiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWyJhRSIsImd0bS5mb3JtU3VibWl0IixbMTUsImFEIl0sWzE1LCJhSiJdXSxbMjIsWyJlIixbMTcsWzE1LCJiIl0sIkNQIl1dLFs0NixbNTMsWzUyLCJhTCIsWyJhSCIsWzgsInVzZVYyRXZlbnROYW1lIix0cnVlLCJjc3NTZWxlY3RvciIsWzAsWzAsWzAsWzAsWzAsWzAsWzAsImZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sICIsImZvcm0gYnV0dG9uOm5vdChbdHlwZV0pLCJdLCJmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICJdLCJmb3JtIGlucHV0W3R5cGU9XCJpbWFnZVwiXSwgIl0sImJ1dHRvbltmb3JtXVt0eXBlPVwic3VibWl0XCJdLCAiXSwiYnV0dG9uW2Zvcm1dOm5vdChbdHlwZV0pLCAiXSwiaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtmb3JtXSwgIl0sImlucHV0W3R5cGU9XCJpbWFnZVwiXVtmb3JtXSJdXV1dLFs1MCwiYU0iLFs0NiwiYU4iLCJhTyJdLFs1MiwiYVAiLFs4LCJldmVudF9jYWxsYmFjayIsWzE1LCJhTyJdXV0sWzUyLCJhUSIsWzgsImV2ZW50SWQiLFsxNixbMTUsImFOIl0sImd0bS51bmlxdWVFdmVudElkIl1dXSxbIngiLFsxNSwiYVEiXV0sWyJ5IixbMTUsImFRIl0sWzE1LCJhTiJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBUiJdLFsxNyxbMTUsImoiXSwiSyJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBQSJdLCJjbGljayJdLFs0MyxbMTYsWzE1LCJhUSJdLFsxNSwiciJdXSxbMTcsWzE1LCJpIl0sIlMiXSxbImFDIixbMTUsInMiXV1dLFsieiIsWzE1LCJvIl0sWzE1LCJhUCJdLFsxNSwiYVEiXV1dLFsiYUUiLCJndG0uY2xpY2stdjIiLFsxNSwiYU0iXSxbMTUsImFMIl1dXV1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsWzQ2LCJhIl0sWzUwLCJyIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLCIiXSxbMjIsWzEsWzE1LCJ3Il0sWzE3LFsxNSwidyJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ5Il0sWzMsInkiLFsyLFsxNyxbMTUsInciXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsIngiLFszOSxbMjMsWzE1LCJ5Il0sMF0sWzE3LFsxNSwidyJdLCJocmVmIl0sWzIsWzE3LFsxNSwidyJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsInkiXV1dXV1dXV0sWzM2LFsxNSwieCJdXV0sWzUwLCJzIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXV0sWzUyLCJ5IixbMixbMTUsIngiXSwibWF0Y2giLFs3LCJed3d3XFxkKlxcLiJdXV0sWzIyLFsxLFsxNSwieSJdLFsxNixbMTUsInkiXSwwXV0sWzQ2LFszLCJ4IixbMixbMTUsIngiXSwic3Vic3RyaW5nIixbNyxbMTcsWzE2LFsxNSwieSJdLDBdLCJsZW5ndGgiXV1dXV1dLFszNixbMTUsIngiXV1dLFs1MCwidCIsWzQ2LCJ3Il0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbNTIsIngiLFsyLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXSwidG9Mb3dlckNhc2UiLFs3XV1dLFsyMixbMjgsWzE1LCJ4Il1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNDEsInkiXSxbMywieSIsWzIsWyJzIixbIm8iLFsibiJdXV0sInRvTG93ZXJDYXNlIixbN11dXSxbNDEsInoiXSxbMywieiIsWzM3LFsxNyxbMTUsIngiXSwibGVuZ3RoIl0sWzE3LFsxNSwieSJdLCJsZW5ndGgiXV1dLFsyMixbMSxbMTgsWzE1LCJ6Il0sMF0sWzI5LFsyLFsxNSwieSJdLCJjaGFyQXQiLFs3LDBdXSwiLiJdXSxbNDYsWzUzLFszMixbMTUsInoiXSxbMywieiIsWzM3LFsxNSwieiJdLDFdXV0sWzMsInkiLFswLCIuIixbMTUsInkiXV1dXV1dLFsyMixbMSxbMTksWzE1LCJ6Il0sMF0sWzEyLFsyLFsxNSwieCJdLCJpbmRleE9mIixbNyxbMTUsInkiXSxbMTUsInoiXV1dLFsxNSwieiJdXV0sWzQ2LFs1MyxbMzYsZmFsc2VdXV1dLFszNix0cnVlXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbU91dGJvdW5kQ2xpY2tBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRCJdXSxbNTIsImciLCJjbGljayJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsIm4iLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsIm8iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwicCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsInEiLFsyLFsxNSwibCJdLCJBIixbNywib3V0Ym91bmRfY2xpY2siXV1dLFs1MiwidSIsWyJtIixbMTUsImkiXSwiY3Jvc3NfZG9tYWluX2NvbmRpdGlvbnMiXV0sWzUyLCJ2IixbImsiLFs4LCJhZmZpbGlhdGVEb21haW5zIixbMTUsInUiXSwiY2hlY2tWYWxpZGF0aW9uIix0cnVlLCJ3YWl0Rm9yVGFncyIsZmFsc2VdXV0sWzIyLFsyOCxbMTUsInYiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sInNldEl0ZW0iLFs3LFsxNSwiaCJdLHRydWVdXSxbImoiLCJndG0ubGlua0NsaWNrIixbNTEsIiIsWzcsInciLCJ4Il0sWzUyLCJ5IixbIm8iLFsxNixbMTUsInciXSwiZ3RtLmVsZW1lbnRVcmwiXV1dLFsyMixbMjgsWyJ0IixbMTUsInkiXV1dLFs0NixbNTMsWyJ4Il0sWzM2XV1dXSxbNTIsInoiLFs4LCJsaW5rX2lkIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50SWQiXSwibGlua19jbGFzc2VzIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50Q2xhc3NlcyJdLCJsaW5rX3VybCIsWyJyIixbMTUsInkiXV0sImxpbmtfZG9tYWluIixbInMiLFsxNSwieSJdXSwib3V0Ym91bmQiLHRydWVdXSxbNDMsWzE1LCJ6Il0sImV2ZW50X2NhbGxiYWNrIixbMTUsIngiXV0sWzUyLCJhQSIsWzgsImV2ZW50SWQiLFsxNixbMTUsInciXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXSwiZGVmZXJyYWJsZSIsdHJ1ZV1dLFsyLFsxNSwibCJdLCJCIixbNyxbMTUsImFBIl1dXSxbInAiLFsxNSwicSJdLFsxNSwiZyJdLFsxNSwieiJdLFsxNSwiYUEiXV1dLFsxNSwidiJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZW1fcGFnZV92aWV3IixbNDYsImEiXSxbMjIsWzI4LFsxNyxbMTUsImEiXSwiaGlzdG9yeUV2ZW50cyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsImQiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1QYWdlVmlld0FjdGl2aXR5Il1dLFs1MiwiZiIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImciLFsxNyxbMTUsImYiXSwiQyJdXSxbNTIsImgiLCJwYWdlX3ZpZXciXSxbNTIsImkiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaiJdLFsxNSwiZyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJqIl1dXSxbMjIsWzIsWzE1LCJkIl0sImdldEl0ZW0iLFs3LFsxNSwiaSJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25IaXN0b3J5Q2hhbmdlIl1dLFs1MiwibSIsWzE1LCJfX21vZHVsZV9lbmhhbmNlZE1lYXN1cmVtZW50Il1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibSJdLCJBIixbNywicGFnZV92aWV3Il1dXSxbNTIsInAiLFs4LCJpbnRlcnZhbCIsMTAwMCwidXNlVjJFdmVudE5hbWUiLHRydWVdXSxbNTIsInEiLFsibCIsWzE1LCJwIl1dXSxbMjIsWzI4LFsxNSwicSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImQiXSwic2V0SXRlbSIsWzcsWzE1LCJpIl0sdHJ1ZV1dLFsiayIsImd0bS5oaXN0b3J5Q2hhbmdlLXYyIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS5vbGRVcmwiXV0sWzIyLFsyMCxbMTYsWzE1LCJyIl0sImd0bS5uZXdVcmwiXSxbMTUsInQiXV0sWzQ2LFszNl1dXSxbNTIsInUiLFsxNixbMTUsInIiXSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiXV0sWzIyLFsxLFsxLFsyMSxbMTUsInUiXSwicHVzaFN0YXRlIl0sWzIxLFsxNSwidSJdLCJwb3BzdGF0ZSJdXSxbMjEsWzE1LCJ1Il0sInJlcGxhY2VTdGF0ZSJdXSxbNDYsWzUzLFszNl1dXV0sWzUyLCJ2IixbOF1dLFsyMixbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwicGFnZV9sb2NhdGlvbiIsWzE2LFsxNSwiciJdLCJndG0ubmV3VXJsIl1dLFs0MyxbMTUsInYiXSwicGFnZV9yZWZlcnJlciIsWzE1LCJ0Il1dXV1dLFs1MiwidyIsWzgsImV2ZW50SWQiLFsxNixbMTUsInIiXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXV1dLFsyMixbMjEsWzE3LFsxNSwiYSJdLCJkZWZlclBhZ2VWaWV3Il0sZmFsc2VdLFs0NixbNTMsWzQzLFsxNSwidyJdLCJkZWZlcnJhYmxlIix0cnVlXV1dXSxbMixbMTUsIm0iXSwiQiIsWzcsWzE1LCJ3Il1dXSxbIm4iLFsxNSwibyJdLFsxNSwiaCJdLFsxNSwidiJdLFsxNSwidyJdXV0sWzE1LCJxIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zY3JvbGwiLFs0NiwiYSJdLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwidGVtcGxhdGVTdG9yYWdlIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1TY3JvbGxBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbNTIsImgiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImkiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJpIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaCJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25TY3JvbGwiXV0sWzUyLCJsIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwibiIsWzIsWzE1LCJsIl0sIkEiLFs3LCJzY3JvbGwiXV1dLFs1MiwibyIsWyJrIixbOCwidmVydGljYWxUaHJlc2hvbGRVbml0cyIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbFRocmVzaG9sZHMiLDkwXV1dLFsyMixbMjgsWzE1LCJvIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImgiXSx0cnVlXV0sWyJqIiwiZ3RtLnNjcm9sbERlcHRoIixbNTEsIiIsWzcsInAiLCJxIl0sWyJxIl0sWzUyLCJyIixbOCwiZXZlbnRJZCIsWzE2LFsxNSwicCJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzUyLCJzIixbOCwicGVyY2VudF9zY3JvbGxlZCIsWzE2LFsxNSwicCJdLCJndG0uc2Nyb2xsVGhyZXNob2xkIl1dXSxbMixbMTUsImwiXSwiQiIsWzcsWzE1LCJyIl1dXSxbIm0iLFsxNSwibiJdLFsxNSwiZyJdLFsxNSwicyJdLFsxNSwiciJdXV0sWzE1LCJvIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsWzQ2LCJhIl0sWzUyLCJiIixbInJlcXVpcmUiLCJnZXRRdWVyeVBhcmFtZXRlcnMiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiZ2V0Q29udGFpbmVyVmVyc2lvbiJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIl1dLFs1MiwiZyIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImgiLFsxNSwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiXV0sWzUyLCJpIixbMixbMTUsImgiXSwiQSIsWzcsWzE3LFsxNSwiYSJdLCJzZWFyY2hRdWVyeVBhcmFtcyJdLFsxNSwiYiJdXV1dLFs1MiwiaiIsWzMwLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsiZCJdLCJjb250YWluZXJJZCJdXV0sWzUyLCJrIixbOCwiZGVmZXJyYWJsZSIsdHJ1ZSwiZXZlbnRJZCIsWzE3LFsxNSwiYSJdLCJndG1FdmVudElkIl0sImV2ZW50TWV0YWRhdGEiLFs4LCJlbV9ldmVudCIsdHJ1ZV1dXSxbMjIsWzE1LCJpIl0sWzQ2LFs1MyxbNTIsImwiLFszOSxbMjgsWzI4LFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIsWzE1LCJoIl0sIkIiLFs3LFsxNSwiaSJdLFsxNyxbMTUsImEiXSwiYWRkaXRpb25hbFF1ZXJ5UGFyYW1zIl0sWzE1LCJiIl1dXSxbOF1dXSxbNDMsWzE3LFsxNSwiayJdLCJldmVudE1ldGFkYXRhIl0sWzE3LFsxNSwiZyJdLCJaIl0sImEiXSxbImMiLFsxNSwiaiJdLCJ2aWV3X3NlYXJjaF9yZXN1bHRzIixbMTUsImwiXSxbMTUsImsiXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX3ZpZGVvIixbNDYsImEiXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2NjZEVtVmlkZW9BY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRiJdXSxbNTIsImciLCJ2aWRlb19zdGFydCJdLFs1MiwiaCIsInZpZGVvX3Byb2dyZXNzIl0sWzUyLCJpIiwidmlkZW9fY29tcGxldGUiXSxbNTIsImoiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImsiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJrIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaiJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJsIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Zb3VUdWJlQWN0aXZpdHkiXV0sWzUyLCJuIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJvIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwicCIsWzIsWzE1LCJuIl0sIkEiLFs3LCJ2aWRlbyJdXV0sWzUyLCJxIixbIm0iLFs4LCJjYXB0dXJlQ29tcGxldGUiLHRydWUsImNhcHR1cmVTdGFydCIsdHJ1ZSwicHJvZ3Jlc3NUaHJlc2hvbGRzUGVyY2VudCIsWzcsMTAsMjUsNTAsNzVdXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImoiXSx0cnVlXV0sWyJsIiwiZ3RtLnZpZGVvIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS52aWRlb1N0YXR1cyJdXSxbNDEsInUiXSxbMjIsWzIwLFsxNSwidCJdLCJzdGFydCJdLFs0NixbNTMsWzMsInUiLFsxNSwiZyJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJwcm9ncmVzcyJdLFs0NixbNTMsWzMsInUiLFsxNSwiaCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJjb21wbGV0ZSJdLFs0NixbNTMsWzMsInUiLFsxNSwiaSJdXV1dLFs0NixbNTMsWzM2XV1dXV1dXV0sWzUyLCJ2IixbOCwidmlkZW9fY3VycmVudF90aW1lIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0N1cnJlbnRUaW1lIl0sInZpZGVvX2R1cmF0aW9uIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0R1cmF0aW9uIl0sInZpZGVvX3BlcmNlbnQiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvUGVyY2VudCJdLCJ2aWRlb19wcm92aWRlciIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9Qcm92aWRlciJdLCJ2aWRlb190aXRsZSIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9UaXRsZSJdLCJ2aWRlb191cmwiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVXJsIl0sInZpc2libGUiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVmlzaWJsZSJdXV0sWzUyLCJ3IixbOCwiZXZlbnRJZCIsWzE2LFsxNSwiciJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzIsWzE1LCJuIl0sIkIiLFs3LFsxNSwidyJdXV0sWyJvIixbMTUsInAiXSxbMTUsInUiXSxbMTUsInYiXSxbMTUsInciXV1dLFsxNSwicSJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfZmlyc3QiLFs0NiwiYSJdLFs1MCwiZSIsWzQ2LCJmIl0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNSwiZiJdXV0sWzIsWzE1LCJkIl0sIkEiLFs3LFsxNSwiZiJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyJdXSxbImIiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzUxLCIiLFs3LCJmIl0sWyJlIixbMTUsImYiXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfbGFzdCIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2dhX3JlZ3Njb3BlIixbNDYsImEiXSxbNTIsImIiLFsxNSwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyJdXSxbNTIsImMiLFsyLFsxNSwiYiJdLCJCIixbNyxbMTUsImEiXV1dXSxbMixbMTUsImIiXSwiQSIsWzcsWzE1LCJhIl0sWzE1LCJjIl1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19lIixbNDYsImEiXSxbMzYsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFsicmVxdWlyZSIsImludGVybmFsLmdldEV2ZW50RGF0YSJdXSxbIiQwIiwiZXZlbnQiXV1dXQogLFs1MCwiX19nY3QiLFs0NiwiYSJdLFs1MCwiZyIsWzQ2LCJtIl0sWzUyLCJuIixbN11dLFs2NSwibyIsWzE1LCJtIl0sWzQ2LFs1MyxbNTIsInAiLFsiYiIsWzE1LCJvIl1dXSxbMjIsWzIxLFsxNSwicCJdLFs0NV1dLFs0NixbMixbMTUsIm4iXSwicHVzaCIsWzcsWzE1LCJwIl1dXV1dXV1dLFszNixbMTUsIm4iXV1dLFs1MCwiaCIsWzQ2LCJtIl0sWzUyLCJuIixbMTcsWzE1LCJtIl0sImxpbmtlciJdXSxbMjIsWzEsWzE1LCJuIl0sWzE2LFsxNSwibiJdLCJkb21haW5zIl1dLFs0NixbNTMsWzQzLFsxNSwibiJdLCJkb21haW5zIixbImciLFsxNixbMTUsIm4iXSwiZG9tYWlucyJdXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJpIixbNDYsIm0iXSxbNTIsIm4iLFsxNyxbMTUsIm0iXSwicmVmZXJyYWxFeGNsdXNpb25EZWZpbml0aW9uIl1dLFsyMixbMSxbMTUsIm4iXSxbMTYsWzE1LCJuIl0sImluY2x1ZGVfY29uZGl0aW9ucyJdXSxbNDYsWzUzLFs0MyxbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIixbImciLFsxNixbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIl1dXV1dXSxbMzYsWzE1LCJuIl1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNyZWF0ZVJlZ2V4Il1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIl1dLFs1MiwiZSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJEZXN0aW5hdGlvbiJdXSxbNTIsImYiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImoiLFszMCxbMixbMTUsImYiXSwiZ2V0SXRlbSIsWzcsInJlZ2V4Il1dLFsiYiIsIlsuKitcXC0/XiR7fSgpfFtcXF1cXFxcXSIsImciXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNywicmVnZXgiLFsxNSwiaiJdXV0sWzUyLCJrIixbOF1dLFs1MiwibCIsWzE3LFsxNSwiYSJdLCJzZXNzaW9uRHVyYXRpb24iXV0sWzIyLFsxOCxbMTUsImwiXSwwXSxbNDYsWzUzLFs0MyxbMTUsImsiXSwic2Vzc2lvbl9kdXJhdGlvbiIsWzE1LCJsIl1dXV1dLFs0MyxbMTUsImsiXSwiZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZXZlbnRTZXR0aW5ncyJdXSxbNDMsWzE1LCJrIl0sImR5bmFtaWNfZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZHluYW1pY0V2ZW50U2V0dGluZ3MiXV0sWzQzLFsxNSwiayJdLCJnb29nbGVfc2lnbmFscyIsWzIwLFsxNyxbMTUsImEiXSwiZ29vZ2xlU2lnbmFscyJdLDFdXSxbNDMsWzE1LCJrIl0sImdvb2dsZV90bGQiLFsxNyxbMTUsImEiXSwiZm9yZWlnblRsZCJdXSxbNDMsWzE1LCJrIl0sImdhX3Jlc3RyaWN0X2RvbWFpbiIsWzIwLFsxNyxbMTUsImEiXSwicmVzdHJpY3REb21haW4iXSwxXV0sWzQzLFsxNSwiayJdLCJpbnRlcm5hbF90cmFmZmljX3Jlc3VsdHMiLFsxNyxbMTUsImEiXSwiaW50ZXJuYWxUcmFmZmljUmVzdWx0cyJdXSxbNDMsWzE1LCJrIl0sImxpbmtlciIsWyJoIixbMTUsImEiXV1dLFs0MyxbMTUsImsiXSwicmVmZXJyYWxfZXhjbHVzaW9uX2RlZmluaXRpb24iLFsiaSIsWzE1LCJhIl1dXSxbImQiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdLFsxNSwiayJdXSxbImUiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19vZ3RfMXBfZGF0YV92MiIsWzQ2LCJhIl0sWzUwLCJwIixbNDYsInIiLCJzIiwidCIsInUiXSxbMjIsWzIwLFsxNixbMTUsInMiXSwidHlwZSJdLFsxNSwidCJdXSxbNDYsWzUzLFsyMixbMjgsWzE1LCJyIl1dLFs0NixbNTMsWzMsInIiLFs4XV1dXV0sWzIyLFsyOCxbMTYsWzE1LCJyIl0sWzE1LCJ0Il1dXSxbNDYsWzUzLFs0MyxbMTUsInIiXSxbMTUsInQiXSxbMTYsWzE1LCJzIl0sInVzZXJEYXRhIl1dLFs1MiwidiIsWzgsIm1vZGUiLCJhIl1dLFsyMixbMTYsWzE1LCJzIl0sInRhZ05hbWUiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwibG9jYXRpb24iLFsxNixbMTUsInMiXSwidGFnTmFtZSJdXV1dXSxbMjIsWzE2LFsxNSwicyJdLCJxdWVyeVNlbGVjdG9yIl0sWzQ2LFs1MyxbNDMsWzE1LCJ2Il0sInNlbGVjdG9yIixbMTYsWzE1LCJzIl0sInF1ZXJ5U2VsZWN0b3IiXV1dXV0sWzQzLFsxNSwidSJdLFsxNSwidCJdLFsxNSwidiJdXV1dXV1dXSxbMzYsWzE1LCJyIl1dXSxbNTAsInEiLFs0NiwiciIsInMiLCJ0Il0sWzIyLFsyOCxbMTYsWzE1LCJhIl0sWzE1LCJ0Il1dXSxbNDYsWzM2XV1dLFs0MyxbMTUsInIiXSxbMTUsInMiXSxbOCwidmFsdWUiLFsxNixbMTUsImEiXSxbMTUsInQiXV1dXV0sWzIyLFsyOCxbMTcsWzE1LCJhIl0sImlzRW5hYmxlZCJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImciLFsicmVxdWlyZSIsImludGVybmFsLmRldGVjdFVzZXJQcm92aWRlZERhdGEiXV0sWzUyLCJoIixbInJlcXVpcmUiLCJxdWVyeVBlcm1pc3Npb24iXV0sWzUyLCJpIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiayIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsIm0iLFsiYyIsWzE3LFsxNSwiZSJdLCJBVCJdXV0sWzUyLCJuIixbMzAsWyJmIl0sWzddXV0sWzUyLCJvIixbOCwiZW5hYmxlX2NvZGUiLHRydWVdXSxbMjIsWzE3LFsxNSwiYSJdLCJpc0F1dG9FbmFibGVkIl0sWzQ2LFs1MyxbNTIsInIiLFs3XV0sWzIyLFsxLFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzQ2LFs1MyxbNTMsWzQxLCJ1Il0sWzMsInUiLDBdLFs2MyxbNywidSJdLFsyMyxbMTUsInUiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzMzLFsxNSwidSJdLFszLCJ1IixbMCxbMTUsInUiXSwxXV1dLFs0NixbNTMsWzUyLCJ2IixbMTcsWzE2LFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTUsInUiXV0sImV4Y2x1c2lvblNlbGVjdG9yIl1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFsyLFsxNSwiciJdLCJwdXNoIixbNyxbMTUsInYiXV1dXV1dXV1dXV1dXSxbNTIsInMiLFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl1dLFs1MiwidCIsWzM5LFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl0sWzE3LFsxNSwiYSJdLCJhdXRvRW1haWxFbmFibGVkIl0sdHJ1ZV1dLFs0MyxbMTUsIm8iXSwiYXV0b19kZXRlY3QiLFs4LCJlbWFpbCIsWzE1LCJ0Il0sInBob25lIixbMSxbMTUsInMiXSxbMTcsWzE1LCJhIl0sImF1dG9QaG9uZUVuYWJsZWQiXV0sImFkZHJlc3MiLFsxLFsxNSwicyJdLFsxNyxbMTUsImEiXSwiYXV0b0FkZHJlc3NFbmFibGVkIl1dLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIixbMTUsInIiXV1dXV1dLFsyMixbMTcsWzE1LCJhIl0sImlzTWFudWFsRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJyIixbOF1dLFsyMixbMTcsWzE1LCJhIl0sIm1hbnVhbEVtYWlsRW5hYmxlZCJdLFs0NixbNTMsWyJxIixbMTUsInIiXSwiZW1haWwiLCJlbWFpbFZhbHVlIl1dXV0sWzIyLFsxNyxbMTUsImEiXSwibWFudWFsUGhvbmVFbmFibGVkIl0sWzQ2LFs1MyxbInEiLFsxNSwiciJdLCJwaG9uZSIsInBob25lVmFsdWUiXV1dXSxbMjIsWzE3LFsxNSwiYSJdLCJtYW51YWxBZGRyZXNzRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJzIixbOF1dLFsicSIsWzE1LCJzIl0sImZpcnN0X25hbWUiLCJmaXJzdE5hbWVWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImxhc3RfbmFtZSIsImxhc3ROYW1lVmFsdWUiXSxbInEiLFsxNSwicyJdLCJzdHJlZXQiLCJzdHJlZXRWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNpdHkiLCJjaXR5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJyZWdpb24iLCJyZWdpb25WYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNvdW50cnkiLCJjb3VudHJ5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJwb3N0YWxfY29kZSIsInBvc3RhbENvZGVWYWx1ZSJdLFs0MyxbMTUsInIiXSwibmFtZV9hbmRfYWRkcmVzcyIsWzcsWzE1LCJzIl1dXV1dXSxbNDMsWzE1LCJvIl0sInNlbGVjdG9ycyIsWzE1LCJyIl1dXV1dLFs2NSwiciIsWzE1LCJuIl0sWzQ2LFs1MyxbImkiLFsxNSwiciJdLCJ1c2VyX2RhdGFfc2V0dGluZ3MiLFsxNSwibyJdXSxbNTIsInMiLFsxNixbMTUsIm8iXSwiYXV0b19kZXRlY3QiXV0sWzIyLFsyOCxbMTUsInMiXV0sWzQ2LFs1MyxbNl1dXV0sWzUyLCJ0IixbNTEsIiIsWzcsInUiXSxbNTIsInYiLFsyLFsxNSwidSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWCJdXV1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFszNixbMTUsInYiXV1dXV0sWzUyLCJ3IixbImMiLFsxNyxbMTUsImUiXSwiQlYiXV1dLFs1MiwieCIsWyJjIixbMTcsWzE1LCJlIl0sIkNJIl1dXSxbNDEsInkiXSxbMjIsWyJoIiwiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iXSxbNDYsWzUzLFszLCJ5IixbImciLFs4LCJleGNsdWRlRWxlbWVudFNlbGVjdG9ycyIsWzE2LFsxNSwicyJdLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIl0sImZpZWxkRmlsdGVycyIsWzgsImVtYWlsIixbMTYsWzE1LCJzIl0sImVtYWlsIl0sInBob25lIixbMTYsWzE1LCJzIl0sInBob25lIl0sImFkZHJlc3MiLFsxNixbMTUsInMiXSwiYWRkcmVzcyJdXSwiaW5jbHVkZVNlbGVjdG9yIixbMTUsInciXSwicmVhZEZyb21EYXRhTGF5ZXIiLFsxNSwieCJdXV1dXV1dLFs1MiwieiIsWzEsWzE1LCJ5Il0sWzE2LFsxNSwieSJdLCJlbGVtZW50cyJdXV0sWzUyLCJhQSIsWzhdXSxbNTIsImFCIixbOF1dLFsyMixbMSxbMTUsInoiXSxbMTgsWzE3LFsxNSwieiJdLCJsZW5ndGgiXSwwXV0sWzQ2LFs1MyxbNDEsImFDIl0sWzQxLCJhRCJdLFszLCJhRCIsWzhdXSxbNTMsWzQxLCJhRSJdLFszLCJhRSIsMF0sWzYzLFs3LCJhRSJdLFsyMyxbMTUsImFFIl0sWzE3LFsxNSwieiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiYUUiXSxbMywiYUUiLFswLFsxNSwiYUUiXSwxXV1dLFs0NixbNTMsWzUyLCJhRiIsWzE2LFsxNSwieiJdLFsxNSwiYUUiXV1dLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwiZW1haWwiLFsxNSwiYUIiXV0sWzIyLFsiYyIsWzE3LFsxNSwiZSJdLCJCTyJdXSxbNDYsWzUzLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwicGhvbmVfbnVtYmVyIixbMTUsImFCIl1dLFszLCJhQyIsWyJwIixbMTUsImFDIl0sWzE1LCJhRiJdLCJmaXJzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwibGFzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwiY291bnRyeSIsWzE1LCJhRCJdXV0sWzMsImFDIixbInAiLFsxNSwiYUMiXSxbMTUsImFGIl0sInBvc3RhbF9jb2RlIixbMTUsImFEIl1dXV1dXV1dXV0sWzIyLFsxLFsxNSwiYUMiXSxbMjgsWzE2LFsxNSwiYUEiXSwiYWRkcmVzcyJdXV0sWzQ2LFs1MyxbNDMsWzE1LCJhQSJdLCJhZGRyZXNzIixbMTUsImFDIl1dLFsyMixbMTUsIm0iXSxbNDYsWzUzLFs0MyxbMTYsWzE1LCJhQSJdLCJhZGRyZXNzIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUQiXV1dXV1dXV1dXV0sWzIyLFsxLFsxNSwieSJdLFsxNSwieCJdXSxbNDYsWzUzLFs1MiwiYUMiLFsxNixbMTUsInkiXSwiZGF0YUxheWVyU2VhcmNoVGltZSJdXSxbNTIsImFEIixbMTYsWzE1LCJ5Il0sImRhdGFMYXllclNlYXJjaENvdW50Il1dLFsyLFsxNSwidSJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImwiXSwiRlQiXSxbOCwiZGxzdCIsWzE1LCJhQyJdLCJkbHNjIixbMTUsImFEIl1dXV1dXV0sWzIyLFsxNSwibSJdLFs0NixbNTMsWzIyLFszMCxbMTYsWzE1LCJhQSJdLCJlbWFpbCJdLFsxNixbMTUsImFBIl0sInBob25lX251bWJlciJdXSxbNDYsWzUzLFs0MyxbMTUsImFBIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUIiXV1dXV1dXV0sWzIsWzE1LCJ1Il0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJrIl0sIkNYIl0sWzE1LCJhQSJdXV0sWzM2LFsxNSwiYUEiXV1dXSxbImoiLFsxNSwiciJdLFs1MSwiIixbNywidSJdLFsyLFsxNSwidSJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWSJdLFsxNSwidCJdXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTIsIl9fbW9kdWxlX2Fkd29yZHNIaXRUeXBlIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiY29udmVyc2lvbiJdLFs1MiwiYyIsImZsb29kbGlnaHQiXSxbNTIsImQiLCJnYV9jb252ZXJzaW9uIl0sWzUyLCJlIiwicGFnZV92aWV3Il0sWzUyLCJmIiwicmVtYXJrZXRpbmciXSxbNTIsImciLCJ1c2VyX2RhdGFfbGVhZCJdLFs1MiwiaCIsInVzZXJfZGF0YV93ZWIiXSxbMzYsWzgsIkQiLFsxNSwiYiJdLCJFIixbMTUsImMiXSwiRiIsWzE1LCJkIl0sIkgiLFsxNSwiZSJdLCJJIixbMTUsImYiXSwiSiIsWzE1LCJnIl0sIksiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZ3RhZ1NjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFkX3BlcnNvbmFsaXphdGlvbiJdLFs1MiwiYyIsImFkX3N0b3JhZ2UiXSxbNTIsImQiLCJhZF91c2VyX2RhdGEiXSxbNTIsImUiLCJjb25zZW50X3VwZGF0ZWQiXSxbNTIsImYiLCJhcHBfcmVtb3ZlIl0sWzUyLCJnIiwiYXBwX3N0b3JlX3JlZnVuZCJdLFs1MiwiaCIsImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY2FuY2VsIl0sWzUyLCJpIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9jb252ZXJ0Il0sWzUyLCJqIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9yZW5ldyJdLFs1MiwiayIsImNvbnZlcnNpb24iXSxbNTIsImwiLCJwdXJjaGFzZSJdLFs1MiwibSIsImZpcnN0X29wZW4iXSxbNTIsIm4iLCJmaXJzdF92aXNpdCJdLFs1MiwibyIsImd0YWcuY29uZmlnIl0sWzUyLCJwIiwiaW5fYXBwX3B1cmNoYXNlIl0sWzUyLCJxIiwicGFnZV92aWV3Il0sWzUyLCJyIiwic2Vzc2lvbl9zdGFydCJdLFs1MiwicyIsInVzZXJfZW5nYWdlbWVudCJdLFs1MiwidCIsImFkc19kYXRhX3JlZGFjdGlvbiJdLFs1MiwidSIsImFsbG93X2FkX3BlcnNvbmFsaXphdGlvbl9zaWduYWxzIl0sWzUyLCJ2IiwiYWxsb3dfY3VzdG9tX3NjcmlwdHMiXSxbNTIsInciLCJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyJdLFs1MiwieCIsImFsbG93X2dvb2dsZV9zaWduYWxzIl0sWzUyLCJ5IiwiYXVpZCJdLFs1MiwieiIsImF3X3JlbWFya2V0aW5nX29ubHkiXSxbNTIsImFBIiwiZGlzY291bnQiXSxbNTIsImFCIiwiYXdfZmVlZF9jb3VudHJ5Il0sWzUyLCJhQyIsImF3X2ZlZWRfbGFuZ3VhZ2UiXSxbNTIsImFEIiwiaXRlbXMiXSxbNTIsImFFIiwiYXdfbWVyY2hhbnRfaWQiXSxbNTIsImFGIiwiYXdfYmFza2V0X3R5cGUiXSxbNTIsImFHIiwiY2xpZW50X2lkIl0sWzUyLCJhSCIsImNvbnZlcnNpb25fY29va2llX3ByZWZpeCJdLFs1MiwiYUkiLCJjb252ZXJzaW9uX2lkIl0sWzUyLCJhSiIsImNvbnZlcnNpb25fbGlua2VyIl0sWzUyLCJhSyIsImNvbnZlcnNpb25fYXBpIl0sWzUyLCJhTCIsImNvb2tpZV9kZXByZWNhdGlvbiJdLFs1MiwiYU0iLCJjb29raWVfZXhwaXJlcyJdLFs1MiwiYU4iLCJjb29raWVfcHJlZml4Il0sWzUyLCJhTyIsImNvb2tpZV91cGRhdGUiXSxbNTIsImFQIiwiY291bnRyeSJdLFs1MiwiYVEiLCJjdXJyZW5jeSJdLFs1MiwiYVIiLCJjdXN0b21lcl9saWZldGltZV92YWx1ZSJdLFs1MiwiYVMiLCJjdXN0b21lcl90eXBlIl0sWzUyLCJhVCIsImRlYnVnX21vZGUiXSxbNTIsImFVIiwic2hpcHBpbmciXSxbNTIsImFWIiwiZW5nYWdlbWVudF90aW1lX21zZWMiXSxbNTIsImFXIiwiZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGUiXSxbNTIsImFYIiwiZXZlbnRfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiYVkiLCJldmVudF9pZCJdLFs1MiwiYVoiLCJldmVudCJdLFs1MiwiYkEiLCJfJmFlIl0sWzUyLCJiQiIsImV2ZW50X3RpbWVvdXQiXSxbNTIsImJDIiwiZXh0X2NsaWVudF9pZCJdLFs1MiwiYkQiLCJmaXJzdF9wYXJ0eV9jb2xsZWN0aW9uIl0sWzUyLCJiRSIsIm1hdGNoX2lkIl0sWzUyLCJiRiIsImdkcHJfYXBwbGllcyJdLFs1MiwiYkciLCJfZ3RfbWV0YWRhdGEiXSxbNTIsImJIIiwiZ29vZ2xlX2FuYWx5c2lzX3BhcmFtcyJdLFs1MiwiYkkiLCJfZ29vZ2xlX25nIl0sWzUyLCJiSiIsIl9vbm8iXSxbNTIsImJLIiwiZ3BwX3NpZCJdLFs1MiwiYkwiLCJncHBfc3RyaW5nIl0sWzUyLCJiTSIsImdzYV9leHBlcmltZW50X2lkIl0sWzUyLCJiTiIsImd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSJdLFs1MiwiYk8iLCJpZnJhbWVfc3RhdGUiXSxbNTIsImJQIiwiaWdub3JlX3JlZmVycmVyIl0sWzUyLCJiUSIsImlzX3Bhc3N0aHJvdWdoIl0sWzUyLCJiUiIsImxhbmd1YWdlIl0sWzUyLCJiUyIsIm1lcmNoYW50X2ZlZWRfbGFiZWwiXSxbNTIsImJUIiwibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSJdLFs1MiwiYlUiLCJtZXJjaGFudF9pZCJdLFs1MiwiYlYiLCJuZXdfY3VzdG9tZXIiXSxbNTIsImJXIiwicGFnZV9ob3N0bmFtZSJdLFs1MiwiYlgiLCJwYWdlX3BhdGgiXSxbNTIsImJZIiwicGFnZV9yZWZlcnJlciJdLFs1MiwiYloiLCJwYWdlX3RpdGxlIl0sWzUyLCJjQSIsIl9wbGF0aW51bV9yZXF1ZXN0X3N0YXR1cyJdLFs1MiwiY0IiLCJxdWFudGl0eSJdLFs1MiwiY0MiLCJyZXN0cmljdGVkX2RhdGFfcHJvY2Vzc2luZyJdLFs1MiwiY0QiLCJzY3JlZW5fcmVzb2x1dGlvbiJdLFs1MiwiY0UiLCJzZW5kX3BhZ2VfdmlldyJdLFs1MiwiY0YiLCJzZXJ2ZXJfY29udGFpbmVyXzNwX2VucmljaG1lbnQiXSxbNTIsImNHIiwic2VydmVyX2NvbnRhaW5lcl91cmwiXSxbNTIsImNIIiwic2Vzc2lvbl9kdXJhdGlvbiJdLFs1MiwiY0kiLCJzZXNzaW9uX2VuZ2FnZWRfdGltZSJdLFs1MiwiY0oiLCJzZXNzaW9uX2lkIl0sWzUyLCJjSyIsIl9zaGFyZWRfdXNlcl9pZCJdLFs1MiwiY0wiLCJkZWxpdmVyeV9wb3N0YWxfY29kZSJdLFs1MiwiY00iLCJ0ZXN0b25seSJdLFs1MiwiY04iLCJ0b3Btb3N0X3VybCJdLFs1MiwiY08iLCJ0cmFuc2FjdGlvbl9pZCJdLFs1MiwiY1AiLCJ0cmFuc2FjdGlvbl9pZF9zb3VyY2UiXSxbNTIsImNRIiwidHJhbnNwb3J0X3VybCJdLFs1MiwiY1IiLCJ1cGRhdGUiXSxbNTIsImNTIiwiX3VzZXJfYWdlbnRfYXJjaGl0ZWN0dXJlIl0sWzUyLCJjVCIsIl91c2VyX2FnZW50X2JpdG5lc3MiXSxbNTIsImNVIiwiX3VzZXJfYWdlbnRfZnVsbF92ZXJzaW9uX2xpc3QiXSxbNTIsImNWIiwiX3VzZXJfYWdlbnRfbW9iaWxlIl0sWzUyLCJjVyIsIl91c2VyX2FnZW50X21vZGVsIl0sWzUyLCJjWCIsIl91c2VyX2FnZW50X3BsYXRmb3JtIl0sWzUyLCJjWSIsIl91c2VyX2FnZW50X3BsYXRmb3JtX3ZlcnNpb24iXSxbNTIsImNaIiwiX3VzZXJfYWdlbnRfd293NjQiXSxbNTIsImRBIiwidXNlcl9kYXRhIl0sWzUyLCJkQiIsInVzZXJfZGF0YV9hdXRvX2xhdGVuY3kiXSxbNTIsImRDIiwidXNlcl9kYXRhX2F1dG9fbWV0YSJdLFs1MiwiZEQiLCJ1c2VyX2RhdGFfYXV0b19tdWx0aSJdLFs1MiwiZEUiLCJ1c2VyX2RhdGFfYXV0b19zZWxlY3RvcnMiXSxbNTIsImRGIiwidXNlcl9kYXRhX2F1dG9fc3RhdHVzIl0sWzUyLCJkRyIsInVzZXJfZGF0YV9tb2RlIl0sWzUyLCJkSCIsInVzZXJfaWQiXSxbNTIsImRJIiwidXNlcl9wcm9wZXJ0aWVzIl0sWzUyLCJkSiIsInVzX3ByaXZhY3lfc3RyaW5nIl0sWzUyLCJkSyIsInZhbHVlIl0sWzUyLCJkTCIsIl9mcG1fcGFyYW1ldGVycyJdLFs1MiwiZE0iLCJfaG9zdF9uYW1lIl0sWzUyLCJkTiIsIl9pbl9wYWdlX2NvbW1hbmQiXSxbNTIsImRPIiwiX21lYXN1cmVtZW50X3R5cGUiXSxbNTIsImRQIiwibm9uX3BlcnNvbmFsaXplZF9hZHMiXSxbNTIsImRRIiwiY29udmVyc2lvbl9sYWJlbCJdLFs1MiwiZFIiLCJwYWdlX2xvY2F0aW9uIl0sWzUyLCJkUyIsIl9leHRyYWN0ZWRfZGF0YSJdLFs1MiwiZFQiLCJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiZFUiLCJ0Y19wcml2YWN5X3N0cmluZyJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJDIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkkiLFsxNSwiZiJdLCJKIixbMTUsImciXSwiSyIsWzE1LCJoIl0sIkwiLFsxNSwiaSJdLCJNIixbMTUsImoiXSwiTyIsWzE1LCJrIl0sIkFBIixbMTUsImwiXSwiQUYiLFsxNSwibSJdLCJBRyIsWzE1LCJuIl0sIkFIIixbMTUsIm8iXSwiQUoiLFsxNSwicCJdLCJBSyIsWzE1LCJxIl0sIkFNIixbMTUsInIiXSwiQVEiLFsxNSwicyJdLCJCQyIsWzE1LCJ0Il0sIkJKIixbMTUsInUiXSwiQksiLFsxNSwidiJdLCJCTSIsWzE1LCJ3Il0sIkJOIixbMTUsIngiXSwiQlQiLFsxNSwieSJdLCJCWCIsWzE1LCJ6Il0sIkJZIixbMTUsImFBIl0sIkJaIixbMTUsImFCIl0sIkNBIixbMTUsImFDIl0sIkNCIixbMTUsImFEIl0sIkNDIixbMTUsImFFIl0sIkNEIixbMTUsImFGIl0sIkNMIixbMTUsImFHIl0sIkNRIixbMTUsImFIIl0sIkNSIixbMTUsImFJIl0sIktHIixbMTUsImRRIl0sIkNTIixbMTUsImFKIl0sIkNVIixbMTUsImFLIl0sIkNXIixbMTUsImFMIl0sIkNZIixbMTUsImFNIl0sIkRDIixbMTUsImFOIl0sIkREIixbMTUsImFPIl0sIkRFIixbMTUsImFQIl0sIkRGIixbMTUsImFRIl0sIkRHIixbMTUsImFSIl0sIkRIIixbMTUsImFTIl0sIkROIixbMTUsImFUIl0sIkVBIixbMTUsImFVIl0sIkVDIixbMTUsImFWIl0sIkVHIixbMTUsImFXIl0sIkVKIixbMTUsImFYIl0sIkVLIixbMTUsImFZIl0sIkVOIixbMTUsImFaIl0sIkVPIixbMTUsImJBIl0sIkVRIixbMTUsImJCIl0sIktJIixbMTUsImRTIl0sIkVVIixbMTUsImJDIl0sIkVXIixbMTUsImJEIl0sIkZFIixbMTUsImJFIl0sIkZPIixbMTUsImJGIl0sIkZQIixbMTUsImJHIl0sIktKIixbMTUsImRUIl0sIkZUIixbMTUsImJIIl0sIkZVIixbMTUsImJJIl0sIkZWIixbMTUsImJKIl0sIkZZIixbMTUsImJLIl0sIkZaIixbMTUsImJMIl0sIkdCIixbMTUsImJNIl0sIkdDIixbMTUsImJOIl0sIkdFIixbMTUsImJPIl0sIkdGIixbMTUsImJQIl0sIkdLIixbMTUsImJRIl0sIkdNIixbMTUsImJSIl0sIkdUIixbMTUsImJTIl0sIkdVIixbMTUsImJUIl0sIkdWIixbMTUsImJVIl0sIkdaIixbMTUsImJWIl0sIkhDIixbMTUsImJXIl0sIktIIixbMTUsImRSIl0sIkhEIixbMTUsImJYIl0sIkhFIixbMTUsImJZIl0sIkhGIixbMTUsImJaIl0sIkhOIixbMTUsImNBIl0sIkhQIixbMTUsImNCIl0sIkhUIixbMTUsImNDIl0sIkhYIixbMTUsImNEIl0sIklBIixbMTUsImNFIl0sIklDIixbMTUsImNGIl0sIklEIixbMTUsImNHIl0sIklGIixbMTUsImNIIl0sIklIIixbMTUsImNJIl0sIklJIixbMTUsImNKIl0sIklLIixbMTUsImNLIl0sIklMIixbMTUsImNMIl0sIktLIixbMTUsImRVIl0sIklQIixbMTUsImNNIl0sIklSIixbMTUsImNOIl0sIklVIixbMTUsImNPIl0sIklWIixbMTUsImNQIl0sIklXIixbMTUsImNRIl0sIklZIixbMTUsImNSIl0sIkpCIixbMTUsImNTIl0sIkpDIixbMTUsImNUIl0sIkpEIixbMTUsImNVIl0sIkpFIixbMTUsImNWIl0sIkpGIixbMTUsImNXIl0sIkpHIixbMTUsImNYIl0sIkpIIixbMTUsImNZIl0sIkpJIixbMTUsImNaIl0sIkpKIixbMTUsImRBIl0sIkpLIixbMTUsImRCIl0sIkpMIixbMTUsImRDIl0sIkpNIixbMTUsImREIl0sIkpOIixbMTUsImRFIl0sIkpPIixbMTUsImRGIl0sIkpQIixbMTUsImRHIl0sIkpSIixbMTUsImRIIl0sIkpTIixbMTUsImRJIl0sIkpVIixbMTUsImRKIl0sIkpWIixbMTUsImRLIl0sIkpYIixbMTUsImRMIl0sIkpZIixbMTUsImRNIl0sIkpaIixbMTUsImROIl0sIktDIixbMTUsImRPIl0sIktEIixbMTUsImRQIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFib3J0X3dpdGhvdXRfZmFpbCJdLFs1MiwiYyIsImFjY2VwdF9ieV9kZWZhdWx0Il0sWzUyLCJkIiwiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIl0sWzUyLCJlIiwiY29uc2VudF9zdGF0ZSJdLFs1MiwiZiIsImNvbnNlbnRfdXBkYXRlZCJdLFs1MiwiZyIsImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiXSxbNTIsImgiLCJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIl0sWzUyLCJpIiwiY29va2llX29wdGlvbnMiXSxbNTIsImoiLCJkZWR1cGVfaWQiXSxbNTIsImsiLCJlbV9ldmVudCJdLFs1MiwibCIsImV2ZW50X3Byb3ZlbmFuY2UiXSxbNTIsIm0iLCJldmVudF9zb3VyY2UiXSxbNTIsIm4iLCJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiXSxbNTIsIm8iLCJldmVudF91c2FnZSJdLFs1MiwicCIsImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyJdLFs1MiwicSIsImZvcm1fZXZlbnRfY2FuY2VsZWQiXSxbNTIsInIiLCJnYTRfY29sbGVjdGlvbl9zdWJkb21haW4iXSxbNTIsInMiLCJndG1fZXh0cmFjdGVkX2RhdGEiXSxbNTIsInQiLCJoYW5kbGVfaW50ZXJuYWxseSJdLFs1MiwidSIsImhhc19nYV9jb252ZXJzaW9uX2NvbnNlbnRzIl0sWzUyLCJ2IiwiaGl0X3R5cGUiXSxbNTIsInciLCJoaXRfdHlwZV9vdmVycmlkZSJdLFs1MiwieCIsImlnbm9yZV9kdXBlX2NvbmZpZyJdLFs1MiwieSIsImlzX2NvbnZlcnNpb24iXSxbNTIsInoiLCJpc19leHRlcm5hbF9ldmVudCJdLFs1MiwiYUEiLCJpc19maXJzdF92aXNpdCJdLFs1MiwiYUIiLCJpc19maXJzdF92aXNpdF9jb252ZXJzaW9uIl0sWzUyLCJhQyIsImlzX2ZwbV9lbmNyeXB0aW9uIl0sWzUyLCJhRCIsImlzX2ZwbV9zcGxpdCJdLFs1MiwiYUUiLCJpc19nY3BfYnJvd3NlciJdLFs1MiwiYUYiLCJpc19nb29nbGVfbWVhc3VyZW1lbnRfYWxsb3dlZCJdLFs1MiwiYUciLCJpc19zZXJ2ZXJfc2lkZV9kZXN0aW5hdGlvbiJdLFs1MiwiYUgiLCJpc19zZXNzaW9uX3N0YXJ0Il0sWzUyLCJhSSIsImlzX3Nlc3Npb25fc3RhcnRfY29udmVyc2lvbiJdLFs1MiwiYUoiLCJpc19zZ3RtX2dhX2Fkc19jb252ZXJzaW9uX3N0dWR5X2NvbnRyb2xfZ3JvdXAiXSxbNTIsImFLIiwiaXNfc2d0bV9wcmVoaXQiXSxbNTIsImFMIiwiaXNfc3BsaXRfY29udmVyc2lvbiJdLFs1MiwiYU0iLCJpc19zeW4iXSxbNTIsImFOIiwiaXNfdGVzdF9ldmVudCJdLFs1MiwiYU8iLCJwcmVoaXRfZm9yX3JldHJ5Il0sWzUyLCJhUCIsInJlZGFjdF9hZHNfZGF0YSJdLFs1MiwiYVEiLCJyZWRhY3RfY2xpY2tfaWRzIl0sWzUyLCJhUiIsInNlbmRfY2NtX3BhcmFsbGVsX3BpbmciXSxbNTIsImFTIiwic2VuZF91c2VyX2RhdGFfaGl0Il0sWzUyLCJhVCIsInNwZWN1bGF0aXZlIl0sWzUyLCJhVSIsInN5bl9vcl9tb2QiXSxbNTIsImFWIiwidHJhbnNpZW50X2Vjc2lkIl0sWzUyLCJhVyIsInVzZXJfZGF0YSJdLFs1MiwiYVgiLCJ1c2VyX2RhdGFfZnJvbV9hdXRvbWF0aWMiXSxbNTIsImFZIiwidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciJdLFs1MiwiYVoiLCJ1c2VyX2RhdGFfZnJvbV9jb2RlIl0sWzUyLCJiQSIsInVzZXJfZGF0YV9mcm9tX21hbnVhbCJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJGIixbMTUsImQiXSwiTSIsWzE1LCJlIl0sIk4iLFsxNSwiZiJdLCJPIixbMTUsImciXSwiUCIsWzE1LCJoIl0sIlEiLFsxNSwiaSJdLCJTIixbMTUsImoiXSwiVCIsWzE1LCJrIl0sIloiLFsxNSwibCJdLCJBQSIsWzE1LCJtIl0sIkFCIixbMTUsIm4iXSwiQUMiLFsxNSwibyJdLCJBRCIsWzE1LCJwIl0sIkFKIixbMTUsInEiXSwiQUsiLFsxNSwiciJdLCJBTiIsWzE1LCJzIl0sIkFPIixbMTUsInQiXSwiQVAiLFsxNSwidSJdLCJBUSIsWzE1LCJ2Il0sIkFSIixbMTUsInciXSwiQVMiLFsxNSwieCJdLCJBViIsWzE1LCJ5Il0sIkFZIixbMTUsInoiXSwiQVoiLFsxNSwiYUEiXSwiQkEiLFsxNSwiYUIiXSwiQkMiLFsxNSwiYUMiXSwiQkQiLFsxNSwiYUQiXSwiQkUiLFsxNSwiYUUiXSwiQkYiLFsxNSwiYUYiXSwiQksiLFsxNSwiYUciXSwiQkwiLFsxNSwiYUgiXSwiQk0iLFsxNSwiYUkiXSwiQk4iLFsxNSwiYUoiXSwiQk8iLFsxNSwiYUsiXSwiQlEiLFsxNSwiYUwiXSwiQlIiLFsxNSwiYU0iXSwiQlMiLFsxNSwiYU4iXSwiQlkiLFsxNSwiYU8iXSwiQ0IiLFsxNSwiYVAiXSwiQ0MiLFsxNSwiYVEiXSwiQ0UiLFsxNSwiYVIiXSwiQ04iLFsxNSwiYVMiXSwiQ1EiLFsxNSwiYVQiXSwiQ1QiLFsxNSwiYVUiXSwiQ1UiLFsxNSwiYVYiXSwiQ1ciLFsxNSwiYVciXSwiQ1giLFsxNSwiYVgiXSwiQ1kiLFsxNSwiYVkiXSwiQ1oiLFsxNSwiYVoiXSwiREEiLFsxNSwiYkEiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsNDVdLFs1MiwiYyIsNDZdLFs1MiwiZCIsNDddLFs1MiwiZSIsMTc0XSxbNTIsImYiLDI3Nl0sWzM2LFs4LCJGIixbMTUsImIiXSwiRyIsWzE1LCJjIl0sIkgiLFsxNSwiZCJdLCJWIixbMTUsImUiXSwiQUQiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZWNUeXBlcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImZzcmMiXSxbNTIsImMiLCJmZWlkIl0sWzUyLCJkIiwiMCJdLFs1MiwiZSIsIjEiXSxbNTIsImYiLCIyIl0sWzUyLCJnIiwiMyJdLFs1MiwiaCIsIjQiXSxbMzYsWzgsIkIiLFsxNSwiYyJdLCJGIixbMTUsImciXSwiRCIsWzE1LCJlIl0sIkUiLFsxNSwiZiJdLCJDIixbMTUsImQiXSwiRyIsWzE1LCJoIl0sIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZmVhdHVyZXMiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDQyNV0sWzUyLCJjIiw0MzVdLFs1MiwiZCIsNDg4XSxbNTIsImUiLDQ4OV0sWzUyLCJmIiw0OThdLFs1MiwiZyIsNTAzXSxbNTIsImgiLDUwNF0sWzUyLCJpIiw1MDZdLFs1MiwiaiIsNTIzXSxbNTIsImsiLDUzMl0sWzUyLCJsIiw1NTNdLFs1MiwibSIsNTY4XSxbNTIsIm4iLDU3N10sWzUyLCJvIiw1ODFdLFs1MiwicCIsNTgzXSxbNTIsInEiLDU5Ml0sWzUyLCJyIiw1OTRdLFs1MiwicyIsNTk5XSxbMzYsWzgsIkFWIixbMTUsImsiXSwiQUQiLFsxNSwiZCJdLCJDSSIsWzE1LCJxIl0sIkJWIixbMTUsIm4iXSwiQk8iLFsxNSwibSJdLCJDSyIsWzE1LCJyIl0sIkNQIixbMTUsInMiXSwiQU0iLFsxNSwiZyJdLCJCWiIsWzE1LCJvIl0sIkFUIixbMTUsImoiXSwiQUUiLFsxNSwiZSJdLCJBTiIsWzE1LCJoIl0sIkwiLFsxNSwiYyJdLCJCQyIsWzE1LCJsIl0sIkFPIixbMTUsImkiXSwiQ0IiLFsxNSwicCJdLCJBSSIsWzE1LCJmIl0sIkkiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLCJjb29raWVfZGVwcmVjYXRpb25fbGFiZWwiXSxbNTIsImMiLCJwbGQiXSxbNTIsImQiLCJzaGFyZWRfdXNlcl9pZCJdLFs1MiwiZSIsInNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCJdLFs1MiwiZiIsInNoYXJlZF91c2VyX2lkX3NvdXJjZSJdLFszNixbOCwiQiIsWzE1LCJiIl0sIk4iLFsxNSwiYyJdLCJTIixbMTUsImQiXSwiVCIsWzE1LCJlIl0sIlUiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1TY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDFdLFs1MiwiYyIsMl0sWzUyLCJkIiwzXSxbNTIsImUiLDRdLFs1MiwiZiIsNV0sWzUyLCJnIiw2XSxbMzYsWzgsIkEiLFsxNSwiYiJdLCJGIixbMTUsImciXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9nb2xkRXZlbnRVc2FnZUlkIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwxXSxbNTIsImMiLDJdLFs1MiwiZCIsNV0sWzUyLCJlIiw2XSxbNTIsImYiLDddLFs1MiwiZyIsOF0sWzUyLCJoIiw5XSxbNTIsImkiLDExXSxbNTIsImoiLDE1XSxbNTIsImsiLDE2XSxbNTIsImwiLDIwXSxbNTIsIm0iLDIxXSxbNTIsIm4iLDIzXSxbNTIsIm8iLDI0XSxbNTIsInAiLDI3XSxbNTIsInEiLDQwXSxbNTIsInIiLDQxXSxbMzYsWzgsIk8iLFsxNSwiaiJdLCJXIixbMTUsIm4iXSwiUCIsWzE1LCJrIl0sIlgiLFsxNSwibyJdLCJLIixbMTUsImkiXSwiQSIsWzE1LCJiIl0sIlQiLFsxNSwibCJdLCJFIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkIiLFsxNSwiYyJdLCJIIixbMTUsImciXSwiQU4iLFsxNSwicSJdLCJJIixbMTUsImgiXSwiRyIsWzE1LCJmIl0sIlUiLFsxNSwibSJdLCJBTyIsWzE1LCJyIl0sIkFBIixbMTUsInAiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiYWVfYmxvY2tfZG93bmxvYWRzIl0sWzUyLCJjIiwiYWVfYmxvY2tfZm9ybSJdLFs1MiwiZCIsImFlX2Jsb2NrX2hpc3RvcnkiXSxbNTIsImUiLCJhZV9ibG9ja19vdXRib3VuZF9jbGljayJdLFs1MiwiZiIsImFlX2Jsb2NrX3Njcm9sbCJdLFs1MiwiZyIsImFlX2Jsb2NrX3ZpZGVvIl0sWzM2LFs4LCJBIixbMTUsImIiXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl0sIkYiLFsxNSwiZyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImIiLFs0NiwiZCIsImUiXSxbNTIsImYiLFsyLFszMCxbMTUsImQiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiZyJdLFszLCJnIiwwXSxbNjMsWzcsImciXSxbMjMsWzE1LCJnIl0sWzE3LFsxNSwiZiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiZyJdLFszLCJnIixbMCxbMTUsImciXSwxXV1dLFs0NixbNTMsWzUyLCJoIixbImUiLFsyLFsxNixbMTUsImYiXSxbMTUsImciXV0sInRyaW0iLFs3XV1dXSxbMjIsWzIxLFsxNSwiaCJdLFs0NF1dLFs0NixbNTMsWzM2LFsxNSwiaCJdXV1dXV1dXV1dLFs1MCwiYyIsWzQ2LCJkIiwiZSIsImYiXSxbNTIsImciLFs4LCJzZWFyY2hfdGVybSIsWzE1LCJkIl1dXSxbNTIsImgiLFsyLFszMCxbMTUsImUiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiaSJdLFszLCJpIiwwXSxbNjMsWzcsImkiXSxbMjMsWzE1LCJpIl0sWzE3LFsxNSwiaCJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiaSJdLFszLCJpIixbMCxbMTUsImkiXSwxXV1dLFs0NixbNTMsWzUyLCJqIixbMixbMTYsWzE1LCJoIl0sWzE1LCJpIl1dLCJ0cmltIixbN11dXSxbNTIsImsiLFsiZiIsWzE1LCJqIl1dXSxbMjIsWzIxLFsxNSwiayJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiZyJdLFswLCJxXyIsWzE1LCJqIl1dLFsxNSwiayJdXV1dXV1dXV0sWzM2LFsxNSwiZyJdXV0sWzM2LFs4LCJCIixbMTUsImMiXSwiQSIsWzE1LCJiIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9hY3Rpdml0aWVzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJiIixbNDYsImMiLCJkIl0sWzM2LFszOSxbMTUsImQiXSxbImQiLFsxNSwiYyJdXSxbMTUsImMiXV1dXSxbMzYsWzgsIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1EZXRlY3Rpb24iLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm8iLFs0Nl0sWzY4LCJ3IixbNTMsWzIyLFsxLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiQUkiXV1dLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiSSJdXV1dLFs0NixbNTMsWzM2LFs3XV1dXV0sWzUyLCJ3IixbImIiLFsxNyxbMTUsImciXSwiTiJdXV0sWzIyLFsibiIsWzE1LCJ3Il1dLFs0NixbNTMsWzM2LFsxNSwidyJdXV1dXSxbNTIsIngiLFs3XV0sWzIyLFsicCJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJBIl1dXV1dLFsyMixbInEiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiQiJdXV1dXSxbMjIsWyJyIl0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkYiXV1dXV0sWzIyLFsidSJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJEIl1dXV1dLFsyMixbInMiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiRSJdXV1dXSxbMjIsWyJ0Il0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkMiXV1dXV0sWzIyLFsibCJdLFs0NixbNTMsWyJmIixbMTcsWzE1LCJnIl0sIk4iXSxbMTUsIngiXSx0cnVlXV1dXSxbMzYsWzE1LCJ4Il1dXSxbNDZdXSxbMzYsWzddXV0sWzUwLCJwIixbNDZdLFs2OCwidyIsWzUzLFszNixbMjgsWzI4LFsiYyIsInNjcmlwdFtkYXRhLXJlcXVpcmVtb2R1bGVePVwibWFnZS9cIl0iXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJxIixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWyJtIiwiWVhOelpYUnpMbk54ZFdGeVpYTndZV05sTG1OdmJTOD0iXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjXj1cIi8vIixbMTUsInciXV0sIlwiXSJdXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJyIixbNDZdLFsyMixbMjgsWyJlIixbMTcsWzE1LCJoIl0sIkkiXV1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNjgsInciLFs1MyxbNTIsInciLFsibSIsImMyaHZjR2xtZVM1amIyMD0iXV0sWzUyLCJ4IixbIm0iLCJjMmh2Y0dsbWVXTmtiaTVqYjIwPSJdXSxbMjIsWzMwLFsyOCxbMTUsInciXV0sWzI4LFsxNSwieCJdXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLCJzY3JpcHRbc3JjKj1cImNkbi4iLFsxNSwidyJdXSwiXCJdLCJdLCJtZXRhW3Byb3BlcnR5PVwib2c6aW1hZ2VcIl1bY29udGVudCo9XCJjZG4uIl0sWzE1LCJ3Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cImNkbi4iXSxbMTUsInciXV0sIlwiXSwiXSwibGlua1tyZWw9XCJwcmVjb25uZWN0XCJdW2hyZWYqPVwiZm9udHMuIl0sWzE1LCJ4Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cIml0ZXJhYmxlLXNob3BpZnlcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cInYuIl0sWzE1LCJ3Il1dLCJcIl0iXV1dXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwicyIsWzQ2XSxbNjgsInciLFs1MyxbNTIsInciLFsiZCIsInByb3RvY29sIl1dLFs1MiwieCIsWyJkIiwiaG9zdCJdXSxbNTIsInkiLFszOSxbMSxbMTUsInciXSxbMTUsIngiXV0sWzAsWzAsWzAsWzAsIltzcmNePVwiIixbMTUsInciXV0sIjovLyJdLFsxNSwieCJdXSwiL3dwLWNvbnRlbnRcIl0sIl0sIiJdXSxbNTIsInoiLFsibSIsIkxuZHZjbVJ3Y21WemN5NWpiMjA9Il1dLFs1MiwiYUEiLFsibSIsIkx5OXpMbmN1YjNKbiJdXSxbMjIsWzMwLFsyOCxbMTUsInoiXV0sWzI4LFsxNSwiYUEiXV1dLFs0NixbMzYsZmFsc2VdXV0sWzM2LFszMCxbInYiLFsxNSwieCJdLFsxNSwieiJdXSxbMjgsWzI4LFsiYyIsWzAsWzAsWzAsWzAsWzE1LCJ5Il0sIm1ldGFbbmFtZT1cImdlbmVyYXRvclwiXVtjb250ZW50Xj1cIldvcmRQcmVzcyBcIl0sIl0sImxpbmtbcmVsPVwiZG5zLXByZWZldGNoXCJdW2hyZWY9XCIiXSxbMTUsImFBIl1dLCJcIl0iXV1dXV1dXSxbNDZdXSxbMzYsZmFsc2VdXSxbNTAsInQiLFs0Nl0sWzY4LCJ3IixbNTMsWzUyLCJ3IixbMjgsWzI4LFsiYyIsWzAsIltjbGFzcyo9XCJ3b29jb21tZXJjZVwiXSwiLCJtZXRhW25hbWU9XCJnZW5lcmF0b3JcIl1bY29udGVudF49XCJXb29Db21tZXJjZSBcIl0iXV1dXV0sWzIyLFsxNSwidyJdLFs0NixbNTNdXV0sWzM2LFsxNSwidyJdXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJ1IixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjKj1cIndvb2NvbW1lcmNlXCJdLCIsImxpbmtbaHJlZio9XCJ3b29jb21tZXJjZVwiXSwiXSwiW2NsYXNzfD1cIndvb2NvbW1lcmNlXCJdIl1dXV1dLFsyMixbMTUsInciXSxbNDYsWzUzXV1dLFszNixbMTUsInciXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwidiIsWzQ2LCJ3IiwieCJdLFszNixbMSxbMTksWzE3LFsxNSwidyJdLCJsZW5ndGgiXSxbMTcsWzE1LCJ4Il0sImxlbmd0aCJdXSxbMjAsWzIsWzE1LCJ3Il0sInN1YnN0cmluZyIsWzcsWzM3LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sWzE3LFsxNSwieCJdLCJsZW5ndGgiXV0sWzE3LFsxNSwidyJdLCJsZW5ndGgiXV1dLFsxNSwieCJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciJdXSxbNTIsImQiLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRJbkNyb3NzQ29udGFpbmVyRGF0YSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9mZWF0dXJlRmxhZ3MiXV0sWzUyLCJqIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtU2NoZW1hIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImwiLFsicmVxdWlyZSIsImludGVybmFsLmlzRG9tUmVhZHkiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJmcm9tQmFzZTY0Il1dLFs1MiwibiIsWzUxLCIiLFs3LCJ3Il0sWzM2LFsyMCxbImsiLFsxNSwidyJdXSwiYXJyYXkiXV1dXSxbMzYsWzgsIkEiLFsxNSwibyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Eb3dubG9hZEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfdXJsIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJsaW5rX3RleHQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImZpbGVfbmFtZSIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywiZmlsZV9leHRlbnNpb24iLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiQSJdXSxbNTIsImciLCJmaWxlX2Rvd25sb2FkIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImUiLFs0NiwiZyJdLFs1MiwiaCIsWyJiIl1dLFs1MiwiaSIsWzddXSxbNTMsWzQxLCJqIl0sWzMsImoiLDBdLFs2MyxbNywiaiJdLFsyMyxbMTUsImoiXSxbMTcsWzE1LCJoIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJqIl0sWzMsImoiLFswLFsxNSwiaiJdLDFdXV0sWzQ2LFs1MyxbNTIsImsiLFsxNixbMTUsImgiXSxbMTUsImoiXV1dLFsyMixbImQiLFsxNSwiZyJdLFsxNSwiayJdXSxbNDYsWzUzLFsyLFsxNSwiaSJdLCJwdXNoIixbNyxbMTUsImsiXV1dXV1dXV1dXSxbMzYsWzE1LCJpIl1dXSxbNTAsImYiLFs0NiwiZyIsImgiXSxbNTIsImkiLFszMCxbMTUsImgiXSxbOF1dXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJUIl0sdHJ1ZV0sWzQzLFsxNSwiaSJdLFsxNyxbMTUsImMiXSwiQ1EiXSx0cnVlXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJaIl0sImEiXSxbNDMsWzE1LCJnIl0sImV2ZW50TWV0YWRhdGEiLFsxNSwiaSJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5jbGFpbURlc3RpbmF0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJlIl0sIkIiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Gb3JtQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm4iLFs0NiwibyIsInAiLCJxIl0sWzUyLCJyIixbMjAsWzIsWzE1LCJvIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dLFsyMixbMjAsWzE1LCJwIl0sWzQ0XV0sWzQ2LFs1MyxbMywicCIsWzE1LCJyIl1dXV1dLFsiYyIsWzE1LCJvIl0sWzUxLCIiLFs3LCJzIl0sWzUyLCJ0IixbMixbMTUsInMiXSwiZ2V0RXZlbnROYW1lIixbN11dXSxbNTIsInUiLFszMCxbMjAsWzE1LCJ0Il0sWzE1LCJsIl1dLFsyMCxbMTUsInQiXSxbMTUsImsiXV1dXSxbMjIsWzMwLFsyOCxbMTUsInUiXV0sWzI4LFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsIm8iXSxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzEsWzI4LFsxNSwicCJdXSxbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQUoiXV1dXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFs1MiwidiIsWzIsWzE1LCJzIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIkFBIl1dXV0sWzIyLFsxLFsyOCxbMTUsInIiXV0sWzIwLFsxNSwidiJdLFsxNSwibSJdXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzI4LFsiaCIsWzE3LFsxNSwiaSJdLCJCWiJdXV0sWzQ2LFs1MyxbMjIsWzIwLFsxNSwidiJdLFsxNSwibSJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV0sWzQ2LFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJrIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlMiXSxbNDRdXV1dXV1dXV1dXSxbMixbMTUsInMiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMSxbMTUsInYiXSxbMTUsInIiXV0sWzQ2LFs1MyxbNDEsInciXSxbMywidyIsWzE3LFsxNSwiZyJdLCJDIl1dLFs0MSwieCJdLFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJsIl1dLFs0NixbNTMsWzMsInciLFsxNyxbMTUsImciXSwiRCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidiJdLFsxNSwiayJdXSxbNDYsWzUzLFszLCJ3IixbMTcsWzE1LCJnIl0sIkUiXV0sWzMsIngiLFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJTIl1dXV1dXSxbNDYsWzIyLFsyMCxbMTUsInYiXSxbMTUsIm0iXV0sWzQ2LFs1MyxbMywidyIsWzE3LFsxNSwiZyJdLCJGIl1dLFszLCJ4IixbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiUyJdXV1dXV1dXV1dXSxbNTIsInkiLFs4XV0sWzQzLFsxNSwieSJdLFsxNyxbMTUsImciXSwiQSJdLFsxNSwidyJdXSxbMjIsWzE1LCJ4Il0sWzQ2LFs1MyxbNDMsWzE1LCJ5Il0sWzE3LFsxNSwiZyJdLCJCIl0sWzE1LCJ4Il1dXV1dLFsyLFsxNSwicyJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImYiXSwiRlQiXSxbMTUsInkiXV1dXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX2lkIixbNDRdXV0sWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fZGVzdGluYXRpb24iLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fbGVuZ3RoIixbNDRdXV0sWzIyLFsyMCxbMTUsInQiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fc3VibWl0X3RleHQiLFs0NF1dXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLFsxNSwibCJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJzZXRIaXREYXRhIixbNywiZmlyc3RfZmllbGRfaWQiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3R5cGUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3Bvc2l0aW9uIixbNDRdXV1dXV1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfZWNUeXBlcyJdXSxbNTIsImgiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJpIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaiIsWzE3LFsxNSwiZSJdLCJCIl1dLFs1MiwiayIsImZvcm1fc3VibWl0Il0sWzUyLCJsIiwiZm9ybV9zdGFydCJdLFs1MiwibSIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsIm4iXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtT3V0Ym91bmRDbGlja0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfY2xhc3NlcyIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywibGlua191cmwiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfZG9tYWluIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJvdXRib3VuZCIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJEIl1dLFs1MiwiZyIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtUGFnZVZpZXdBY3Rpdml0eSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJrIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsImwiXSxbMjIsWzMwLFsyMSxbMixbMTUsImwiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiaSJdXSxbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiaCJdXSxbNDYsWzUzLFsyLFsxNSwibCJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyMixbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIkJPIl1dXV0sWzQ2LFs1MyxbImQiLFsxNSwiayJdLFsxNyxbMTUsImYiXSwiSEUiXSxbMixbMTUsImwiXSwiZ2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZiJdLCJIRSJdXV1dXV1dLFsyLFsxNSwibCJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJDUSJdLGZhbHNlXV1dXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2V0UmVtb3RlQ29uZmlnUGFyYW1ldGVyIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkMiXV0sWzUyLCJpIixbMTcsWzE1LCJmIl0sIkFLIl1dLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9jY2RFbVNjcm9sbEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsInBlcmNlbnRfc2Nyb2xsZWQiLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbMzYsWzgsIkEiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1WaWRlb0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJqIixbNDYsImsiLCJsIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsIm0iXSxbNTIsIm4iLFsyLFsxNSwibSJdLCJnZXRFdmVudE5hbWUiLFs3XV1dLFs1MiwibyIsWzMwLFszMCxbMjAsWzE1LCJuIl0sWzE1LCJnIl1dLFsyMCxbMTUsIm4iXSxbMTUsImgiXV1dLFsyMCxbMTUsIm4iXSxbMTUsImkiXV1dXSxbMjIsWzMwLFsyOCxbMTUsIm8iXV0sWzI4LFsyLFsxNSwibSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsImsiXSxbMTUsImYiXV0sWzQ2LFs1MyxbMixbMTUsIm0iXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMixbMTUsIm0iXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMjgsWzE1LCJsIl1dLFs0NixbNTMsWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19jdXJyZW50X3RpbWUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX2R1cmF0aW9uIixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wZXJjZW50IixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wcm92aWRlciIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlkZW9fdGl0bGUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX3VybCIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlzaWJsZSIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJGIl1dLFs1MiwiZyIsInZpZGVvX3N0YXJ0Il0sWzUyLCJoIiwidmlkZW9fcHJvZ3Jlc3MiXSxbNTIsImkiLCJ2aWRlb19jb21wbGV0ZSJdLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiZiIsWzQ2LCJnIl0sWzIyLFsyLFsxNSwiZyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJCUyJdXV0sWzQ2LFs1MyxbMixbMTUsImciXSwic2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJJUCJdLCIxIl1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9ndGFnU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbMzYsWzgsIkEiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJtIiwibiIsIm8iXSxbNTAsInQiLFs0NiwidiJdLFs1MiwidyIsWzE2LFsxNSwiaSJdLFsxNSwidiJdXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNl1dXSxbNTMsWzQxLCJ4Il0sWzMsIngiLDBdLFs2MyxbNywieCJdLFsyMyxbMTUsIngiXSxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdXSxbMzMsWzE1LCJ4Il0sWzMsIngiLFswLFsxNSwieCJdLDFdXV0sWzQ2LFs1MyxbNTIsInkiLFsxNixbMTUsInciXSxbMTUsIngiXV1dLFsicSIsWzE1LCJwIl0sWzE3LFsxNSwieSJdLCJuYW1lIl0sWzE3LFsxNSwieSJdLCJ2YWx1ZSJdXV1dXV1dLFs1MCwidSIsWzQ2LCJ2Il0sWzIyLFszMCxbMjgsWzE1LCJyIl1dLFsyMSxbMTcsWzE1LCJyIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFszNixmYWxzZV1dXV0sWzQxLCJ3Il0sWzMsInciLFsxNixbMTUsInYiXSxbMTUsInMiXV1dLFsyMixbMjAsWzE1LCJ3Il0sWzQ0XV0sWzQ2LFs1MyxbMywidyIsWzE2LFsxNSwidiJdLFsxNSwiciJdXV1dXV0sWzM2LFsyOCxbMjgsWzE1LCJ3Il1dXV1dLFsyMixbMjgsWzE1LCJuIl1dLFs0NixbMzZdXV0sWzUyLCJwIixbMzAsWzE3LFsxNSwibSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXSxbMTcsWyJjIl0sImNvbnRhaW5lcklkIl1dXSxbNTIsInEiLFsiaCIsWzE1LCJmIl0sWzE1LCJvIl1dXSxbNTIsInIiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbImgiLFsxNSwiZCJdLFsxNSwibyJdXV0sWyIkMCJdXV0sWzUyLCJzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWyJoIixbMTUsImUiXSxbMTUsIm8iXV1dLFsiJDAiXV1dLFs1MyxbNDEsInYiXSxbMywidiIsMF0sWzYzLFs3LCJ2Il0sWzIzLFsxNSwidiJdLFsxNyxbMTUsIm4iXSwibGVuZ3RoIl1dLFszMyxbMTUsInYiXSxbMywidiIsWzAsWzE1LCJ2Il0sMV1dXSxbNDYsWzUzLFs1MiwidyIsWzE2LFsxNSwibiJdLFsxNSwidiJdXV0sWzIyLFszMCxbMTcsWzE1LCJ3Il0sImRpc2FsbG93QWxsUmVnaW9ucyJdLFsidSIsWzE3LFsxNSwidyJdLCJkaXNhbGxvd2VkUmVnaW9ucyJdXV0sWzQ2LFs1MyxbInQiLFsxNyxbMTUsInciXSwicmVkYWN0RmllbGRHcm91cCJdXV1dXV1dXV1dLFs1MCwiayIsWzQ2LCJtIl0sWzUyLCJuIixbOF1dLFsyMixbMjgsWzE1LCJtIl1dLFs0NixbMzYsWzE1LCJuIl1dXV0sWzUyLCJvIixbMixbMTUsIm0iXSwic3BsaXQiLFs3LCIsIl1dXSxbNTMsWzQxLCJwIl0sWzMsInAiLDBdLFs2MyxbNywicCJdLFsyMyxbMTUsInAiXSxbMTcsWzE1LCJvIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJwIl0sWzMsInAiLFswLFsxNSwicCJdLDFdXV0sWzQ2LFs1MyxbNTIsInEiLFsyLFsxNixbMTUsIm8iXSxbMTUsInAiXV0sInRyaW0iLFs3XV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNl1dXSxbNTIsInIiLFsyLFsxNSwicSJdLCJzcGxpdCIsWzcsIi0iXV1dLFs1MiwicyIsWzE2LFsxNSwiciJdLDBdXSxbNTIsInQiLFszOSxbMjAsWzE3LFsxNSwiciJdLCJsZW5ndGgiXSwyXSxbMTUsInEiXSxbNDRdXV0sWzIyLFszMCxbMjgsWzE1LCJzIl1dLFsyMSxbMTcsWzE1LCJzIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFs2XV1dXSxbMjIsWzEsWzIxLFsxNSwidCJdLFs0NF1dLFszMCxbMjMsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw0XSxbMTgsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw2XV1dLFs0NixbNTMsWzZdXV1dLFs0MyxbMTUsIm4iXSxbMTUsInEiXSx0cnVlXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJsIixbNDYsIm0iXSxbMjIsWzI4LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdXSxbNDYsWzM2LFs3XV1dXSxbNTIsIm4iLFs4XV0sWzUzLFs0MSwibyJdLFszLCJvIiwwXSxbNjMsWzcsIm8iXSxbMjMsWzE1LCJvIl0sWzE3LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdLCJsZW5ndGgiXV0sWzMzLFsxNSwibyJdLFszLCJvIixbMCxbMTUsIm8iXSwxXV1dLFs0NixbNTMsWzUyLCJwIixbMTYsWzE3LFsxNSwibSJdLCJzZXR0aW5nc1RhYmxlIl0sWzE1LCJvIl1dXSxbNTIsInEiLFsxNyxbMTUsInAiXSwicmVkYWN0RmllbGRHcm91cCJdXSxbMjIsWzI4LFsxNixbMTUsImkiXSxbMTUsInEiXV1dLFs0NixbNl1dXSxbNDMsWzE1LCJuIl0sWzE1LCJxIl0sWzgsInJlZGFjdEZpZWxkR3JvdXAiLFsxNSwicSJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiLGZhbHNlLCJkaXNhbGxvd2VkUmVnaW9ucyIsWzhdXV0sWzUyLCJyIixbMTYsWzE1LCJuIl0sWzE1LCJxIl1dXSxbMjIsWzE3LFsxNSwicCJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiXSxbNDYsWzUzLFs0MyxbMTUsInIiXSwiZGlzYWxsb3dBbGxSZWdpb25zIix0cnVlXSxbNl1dXV0sWzQzLFsxNSwiciJdLCJkaXNhbGxvd2VkUmVnaW9ucyIsWyJrIixbMTcsWzE1LCJwIl0sImRpc2FsbG93ZWRSZWdpb25zIl1dXV1dXV0sWzM2LFsyLFsxNSwiYiJdLCJ2YWx1ZXMiLFs3LFsxNSwibiJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImdldENvbnRhaW5lclZlcnNpb24iXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRDb3VudHJ5Q29kZSJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlZ2lvbkNvZGUiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2FjdGl2aXRpZXMiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkEiXV0sWzUyLCJpIixbOCwiR09PR0xFX1NJR05BTFMiLFs3LFs4LCJuYW1lIiwiYWxsb3dfZ29vZ2xlX3NpZ25hbHMiLCJ2YWx1ZSIsZmFsc2VdXSwiREVWSUNFX0FORF9HRU8iLFs3LFs4LCJuYW1lIiwiZ2VvX2dyYW51bGFyaXR5IiwidmFsdWUiLHRydWVdLFs4LCJuYW1lIiwicmVkYWN0X2RldmljZV9pbmZvIiwidmFsdWUiLHRydWVdXV1dLFszNixbOCwiQSIsWzE1LCJqIl0sIkIiLFsxNSwibCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJkIixbNDYsImUiXSxbNTIsImYiLFsyLFsxNSwiYyJdLCJBIixbN11dXSxbMjIsWzEsWzE1LCJmIl0sWzE4LFsxNyxbMTUsImYiXSwibGVuZ3RoIl0sMF1dLFs0NixbNTMsWzIsWzE1LCJlIl0sIm1lcmdlSGl0RGF0YUZvcktleSIsWzcsWzE3LFsxNSwiYiJdLCJGVCJdLFs4LCJwbGYiLFsyLFsxNSwiZiJdLCJqb2luIixbNywiLiJdXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2d0YWdTY2hlbWEiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtRGV0ZWN0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJkIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAKXQosImVudGl0aWVzIjp7CiJfX2MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfYXV0b19yZWRhY3QiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Zvcm0iOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fcGFnZV92aWV3Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX3Njcm9sbCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV92aWRlbyI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9maXJzdCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9sYXN0Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2dhX3JlZ3Njb3BlIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fZSI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2djdCI6eyI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX29ndF8xcF9kYXRhX3YyIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fc2V0X3Byb2R1Y3Rfc2V0dGluZ3MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KCgp9CiwiYmxvYiI6eyIxIjoiMSIsIjEwIjoiRy1WODRYUDhXR1hZfEdULVROR1hSNlE4IiwiMTEiOnRydWUsIjE0IjoiNjdtMCIsIjE1IjoiMCIsIjE2IjoiQ2hBSThPQ1cwd1lRcjVEZ2tKK2U4YU45RWgwQWgrZ0dmdmQrM09Bdi8wOU42aFdpc0VIZFJFZUxIb2hGaFNIU1hCb0NaSmM9IiwiMTciOiIiLCIxOSI6ImRhdGFMYXllciIsIjIiOnRydWUsIjIwIjoiIiwiMjEiOiJ3d3cuZ29vZ2xldGFnbWFuYWdlci5jb20iLCIyMiI6ImV5SXdJam9pVGs4aUxDSXhJam9pVGs4dE1ETWlMQ0l5SWpwbVlXeHpaU3dpTXlJNkltZHZiMmRzWlM1dWJ5SXNJalFpT2lKeVpXZHBiMjR4SWl3aU5TSTZabUZzYzJVc0lqWWlPblJ5ZFdVc0lqY2lPaUpoWkY5emRHOXlZV2RsZkdGdVlXeDVkR2xqYzE5emRHOXlZV2RsZkdGa1gzVnpaWEpmWkdGMFlYeGhaRjl3WlhKemIyNWhiR2w2WVhScGIyNGlMQ0k1SWpwMGNuVmxmUSIsIjIzIjoiZ29vZ2xlLnRhZ21hbmFnZXIuZGVidWd1aTIucXVldWUiLCIyNCI6InRhZ2Fzc2lzdGFudC5nb29nbGUuY29tIiwiMjciOjAuMDA1LCIzIjoid3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIiwiMzAiOiJOTyIsIjMxIjoiTk8tMDMiLCIzMiI6ZmFsc2UsIjMzIjoicmVnaW9uMSIsIjM0IjoiRy1WODRYUDhXR1hZIiwiMzUiOiJHIiwiMzYiOiJodHRwczovL2Fkc2VydmljZS5nb29nbGUuY29tL3BhZ2VhZC9yZWdjbGsiLCIzNyI6Il9fVEFHR1lfSU5TVEFMTEVEIiwiMzgiOiJjY3QuZ29vZ2xlIiwiMzkiOiJnb29nVGFnZ3lSZWZlcnJlciIsIjQwIjoiaHR0cHM6Ly9jY3QuZ29vZ2xlL3RhZ2d5L2FnZW50LmpzIiwiNDEiOiJnb29nbGUudGFnbWFuYWdlci50YS5wcm9kcXVldWUiLCI0MiI6MC4wMSwiNDMiOiJ7XCJrZXlzXCI6W3tcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCS2x5VFgyanlvYnBRQ21mVXlCYmhCeVFIazlaMkhkTjVsSHhwQkF0SUtHTWNtencwZ0UrZWJsWUNtbTFHYTdiWWVUZHlkb0ptZTZJcGFTb0NVMElVVW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiZGVlNGIzNTEtYjBmNS00YzI3LWE4YzgtZWQ2NjA0NzdhNDRjXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRHRZQlJuUEJTMWc2bWVYTzFyUTVhNTJCNUZibmg3REM1anF2MDJpeEpzc24wazFKOXJjSENhVmMvenpSc25zSEJ6U29GS3M2SjhwSDdDY25RUDNFanc9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiYWQxOTNiMmEtNGE5MC00YzFhLWI3OWUtZGUzN2FjMzkxYmQyXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCTVowVU11ZEFlNFBvYWZTVHBVeFB0SWtmQmVDTWJGQlh2dHlSWXZITENTUS9FVXZFSnNtc1Y0dDZOQi9CRVZwcUwzSHY4Z05TUWg3SytTVW9vZjI1YW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDhjNGVmZTEtZmRkMC00MzZhLWFjOGYtOTIzZjExOTE4Nzg3XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRmZsdlVsK3hwSGFGVkNJWU8xS1BMeGt2K0FqZGw0ZDhydnJYaEk2emZwbmJCRHFJNTFERGt0SEhiM1pXSVM1N29EaDBLaXI5QXVDT29uMk1PeE5WOVk9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDMyYmMyNzAtOTllYS00MjIwLWI1NjItZTJjNWFlNzdkNGQ5XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCQVE4VGt5NERMV09KYkhPSGJWWURiUVpFZkVlbGI0RlRCOEVZTVFlUlFpTDFtMUx0QWQwcjN6ZXlMamdaMy9XMjRSOFZmYjIyelkyaXg2Vy9UZkNqakE9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiMDUwYTZlMTEtMzhhYi00ZjgwLTg5Y2ItN2IzMTliOTcwNGMwXCJ9XX0iLCI0NCI6IjExODg5NzkyMH4xMTg4OTc5MzAiLCI0NSI6dHJ1ZSwiNDYiOnsiMSI6IjEwMDAiLCIxMCI6IjY2dTAiLCIxMSI6IjY2ZzAiLCIxNCI6IjEwMDAiLCIxNiI6IlVTLUNPflVTLUNUflVTLU1UflVTLU5FflVTLU5IflVTLVRYflVTLU1OflVTLU5KflVTLU1EflVTLU9SflVTLURFIiwiMTciOiJVUy1DT35VUy1DVH5VUy1NVH5VUy1ORX5VUy1OSH5VUy1UWH5VUy1NTn5VUy1OSn5VUy1NRH5VUy1PUn5VUy1ERSIsIjIiOiI5IiwiMjAiOiI1MDAwIiwiMjEiOiI1MDAwIiwiMjIiOiI0LjQuMCIsIjIzIjoiMC4wLjAiLCIyNSI6IjEiLCIyNiI6IjQwMDAiLCIyNyI6IjEwMCIsIjMiOiI1IiwiNCI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhfGFkX3BlcnNvbmFsaXphdGlvbiIsIjQ0IjoiMTUwMDAiLCI0OCI6IjMwMDAwIiwiNSI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhIiwiNiI6IjEiLCI2MSI6IjEwMDAiLCI2MiI6IkE2T05IUlk3L2J2QnJvK0lNWmQvYTZMTmpuN1NTdjk5OVNrTi9oRkFFOUw2dk1yMzRkTmdmZFNWZFltdjRVK05IWmcxc3hkMzhSdGNpUnBSVXRJUlBnUUFBQUNDZXlKdmNtbG5hVzRpT2lKb2RIUndjem92TDNkM2R5NW5iMjluYkdWMFlXZHRZVzVoWjJWeUxtTnZiVG8wTkRNaUxDSm1aV0YwZFhKbElqb2lVMmhoY21Wa1YyOXlhMlZ5UlhoMFpXNWtaV1JNYVdabGRHbHRaU0lzSW1WNGNHbHllU0k2TVRjM05qY3lPVFl3TUN3aWFYTlVhR2x5WkZCaGNuUjVJanAwY25WbGZRPT0iLCI2MyI6IjEwMDAiLCI2NiI6IjEwMCIsIjciOiIxMCJ9LCI0OCI6dHJ1ZSwiNSI6IkctVjg0WFA4V0dYWSIsIjU1IjpbIkctVjg0WFA4V0dYWSJdLCI1NiI6W3siMSI6NDAzLCIzIjowLjUsIjQiOjExNTkzODQ2NSwiNSI6MTE1OTM4NDY2LCI2IjowLCI3IjoyfSx7IjEiOjQwNCwiMyI6MC41LCI0IjoxMTU5Mzg0NjgsIjUiOjExNTkzODQ2OSwiNiI6MCwiNyI6MX0seyIxIjo2MDIsIjMiOjAuMDEsIjQiOjEyMDEyNDQ1NSwiNSI6MTIwMTI0NDUzLCI2IjoxMjAxMjQ0NTQsIjciOjN9LHsiMSI6NTY5LCIyIjp0cnVlfSx7IjEiOjQ3NSwiMiI6dHJ1ZX0seyIxIjo1MDIsIjIiOnRydWV9LHsiMSI6NTc3LCIyIjp0cnVlfSx7IjEiOjU2OCwiMyI6MC4wMSwiNCI6MTE5NzkxNzQ5LCI1IjoxMTk3OTE3NDgsIjYiOjAsIjciOjF9LHsiMSI6NDkwLCIyIjp0cnVlfSx7IjEiOjQ5MSwiMyI6MC4wMSwiNCI6MTE4MDEyMDA3LCI1IjoxMTgwMTIwMDgsIjYiOjExODAxMjAwOSwiNyI6MX0seyIxIjo0ODAsIjIiOnRydWV9LHsiMSI6NTk0LCIzIjowLjAxLCI0IjoxMTk3OTM5NzQsIjUiOjExOTc5Mzk3MiwiNiI6MTE5NzkzOTczLCI3IjoxfSx7IjEiOjU5OSwiMiI6dHJ1ZX0seyIxIjo1ODAsIjMiOjAuMSwiNCI6MTE5NTI3MDIwLCI1IjoxMTk1MjcwMTksIjYiOjAsIjciOjF9LHsiMSI6NTIzLCIyIjp0cnVlfSx7IjEiOjU4MSwiMyI6MC4wMSwiNCI6MTE5OTQ4ODU0LCI1IjoxMTk5NDg4NTIsIjYiOjExOTk0ODg1MywiNyI6M30seyIxIjo1NTUsIjMiOjAuMDEsIjQiOjExOTI1OTYwNiwiNSI6MTE5MjU5NjA1LCI2IjowLCI3IjoyfSx7IjEiOjUwNCwiMiI6dHJ1ZX0seyIxIjo0NjIsIjMiOjAuMDUsIjQiOjExODgwNjUyNCwiNSI6MTE4ODA2NTI1LCI2IjoxMTg4MDY1MjYsIjciOjF9LHsiMSI6NDEzLCIyIjp0cnVlfSx7IjEiOjU5MywiMiI6dHJ1ZX0seyIxIjo1MDYsIjIiOnRydWV9LHsiMSI6NTAwLCIyIjp0cnVlfSx7IjEiOjU2MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMywiNSI6MTE5NDA0NzAyLCI2IjowLCI3IjoxfSx7IjEiOjQ4MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMSwiNSI6MTE5NDA0NzAwLCI2IjowLCI3IjoxfSx7IjEiOjQ1MCwiMyI6MC4wMSwiNCI6MTE3MjI3NzE0LCI1IjoxMTcyMjc3MTUsIjYiOjExNzIyNzcxNiwiNyI6M30seyIxIjo1ODMsIjMiOjAuNSwiNCI6MTE5ODk2ODAzLCI1IjoxMTk4OTY4MDIsIjYiOjAsIjciOjF9LHsiMSI6NDU4LCIyIjp0cnVlfSx7IjEiOjU4MiwiMyI6MC4wMSwiNCI6MTE5MzgxNjY0LCI1IjoxMTkzODE2NjIsIjYiOjExOTM4MTY2MywiNyI6MX0seyIxIjo1NzAsIjIiOnRydWV9LHsiMSI6NDk4LCIzIjowLjIsIjQiOjExNTYxNjk4NSwiNSI6MTE1NjE2OTg2LCI2IjowLCI3IjoxfSx7IjEiOjU5NSwiMiI6dHJ1ZX0seyIxIjo1ODksIjMiOjAuMDEsIjQiOjEyMDA4NDIxNSwiNSI6MTIwMDg0MjE0LCI2IjowLCI3IjoxfSx7IjEiOjQ5NSwiMyI6MC4wNSwiNCI6MTE4MTMxODEwLCI1IjoxMTgxMzE4MDgsIjYiOjExODEzMTgwOSwiNyI6M30seyIxIjo1ODcsIjMiOjAuMSwiNCI6MTE5NzMyMTcxLCI1IjoxMTk3MzIxNzAsIjYiOjAsIjciOjN9LHsiMSI6NTg0LCIyIjp0cnVlfSx7IjEiOjU2NCwiMyI6MC4wMDAxLCI0IjoxMTkyMDUzMTcsIjUiOjExOTIwNTMxNSwiNiI6MTE5MjA1MzE2LCI3IjoxfSx7IjEiOjU1NywiMiI6dHJ1ZX0seyIxIjo0MjcsIjMiOjAuMSwiNCI6MTE5NzI0MzIyLCI1IjoxMTk3MjQzMjAsIjYiOjExOTcyNDMyMSwiNyI6Mn0seyIxIjo1NzYsIjMiOjAuMDEsIjQiOjExOTMxNzgxMCwiNSI6MTE5MzE3ODExLCI2IjoxMTkzMTgxNzcsIjciOjN9LHsiMSI6NTczLCIyIjp0cnVlfSx7IjEiOjQ5OSwiMiI6dHJ1ZX0seyIxIjo1MTYsIjMiOjAuMSwiNCI6MTE4Mzk1MzM1LCI1IjoxMTgzOTUzMzMsIjYiOjExODM5NTMzNCwiNyI6MX0seyIxIjo1MjQsIjIiOnRydWV9XSwiNTkiOlsiRy1WODRYUDhXR1hZIl0sIjYiOiIyNTAwOTM2MDIiLCI2MiI6dHJ1ZSwiNjMiOjAuMDA1fQosInBlcm1pc3Npb25zIjp7CiJfX2MiOnt9CiwKIl9fY2NkX2F1dG9fcmVkYWN0Ijp7fQosCiJfX2NjZF9jb252ZXJzaW9uX21hcmtpbmciOnt9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9mb3JtIjp7ImFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlIjp7fSwibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uZm9ybUludGVyYWN0IiwiZ3RtLmZvcm1TdWJtaXQiLCJndG0uY2xpY2stdjIiXX0sImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9LCJkZXRlY3RfY2xpY2tfZXZlbnRzIjp7fSwiZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sImxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9wYWdlX3ZpZXciOnsibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uaGlzdG9yeUNoYW5nZS12MiJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2Nyb2xsIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLnNjcm9sbERlcHRoIl19LCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSI6e30sImRldGVjdF9zY3JvbGxfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2l0ZV9zZWFyY2giOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sInJlYWRfY29udGFpbmVyX2RhdGEiOnt9fQosCiJfX2NjZF9lbV92aWRlbyI6eyJsaXN0ZW5fZGF0YV9sYXllciI6eyJhY2Nlc3NUeXBlIjoic3BlY2lmaWMiLCJhbGxvd2VkRXZlbnRzIjpbImd0bS52aWRlbyJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiOnsiYWxsb3dGaXhNaXNzaW5nSmF2YVNjcmlwdEFwaSI6ZmFsc2V9fQosCiJfX2NjZF9nYV9maXJzdCI6eyJyZWFkX2RvbV9lbGVtZW50cyI6eyJhbGxvd2VkQ3NzU2VsZWN0b3JzIjoiYW55In0sImdldF91cmwiOnsidXJsUGFydHMiOiJzcGVjaWZpYyIsInByb3RvY29sIjp0cnVlLCJob3N0Ijp0cnVlfX0KLAoiX19jY2RfZ2FfbGFzdCI6e30KLAoiX19jY2RfZ2FfcmVnc2NvcGUiOnsicmVhZF9jb250YWluZXJfZGF0YSI6e319CiwKIl9fZSI6eyJyZWFkX2V2ZW50X2RhdGEiOnsiZXZlbnREYXRhQWNjZXNzIjoic3BlY2lmaWMiLCJrZXlQYXR0ZXJucyI6WyJldmVudCJdfX0KLAoiX19nY3QiOnsiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9fQosCiJfX29ndF8xcF9kYXRhX3YyIjp7ImRldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEiOnsibGltaXREYXRhU291cmNlcyI6dHJ1ZSwiYWxsb3dBdXRvRGF0YVNvdXJjZXMiOnRydWUsImFsbG93TWFudWFsRGF0YVNvdXJjZXMiOmZhbHNlLCJhbGxvd0NvZGVEYXRhU291cmNlcyI6ZmFsc2V9fQosCiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIjp7fQoKCn0KCgoKLCJzZWN1cml0eV9ncm91cHMiOnsKImdvb2dsZSI6WwoiX19jIgosCiJfX2NjZF9hdXRvX3JlZGFjdCIKLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIgosCiJfX2NjZF9lbV9kb3dubG9hZCIKLAoiX19jY2RfZW1fZm9ybSIKLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siCiwKIl9fY2NkX2VtX3BhZ2VfdmlldyIKLAoiX19jY2RfZW1fc2Nyb2xsIgosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIKLAoiX19jY2RfZW1fdmlkZW8iCiwKIl9fY2NkX2dhX2ZpcnN0IgosCiJfX2NjZF9nYV9sYXN0IgosCiJfX2NjZF9nYV9yZWdzY29wZSIKLAoiX19lIgosCiJfX2djdCIKLAoiX19vZ3RfMXBfZGF0YV92MiIKLAoiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIKCl0KCgp9CgoKCgoKfTsKCgoKCnZhciBrLGFhPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O2IucHJvdG90eXBlPWE7cmV0dXJuIG5ldyBifSxiYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1jLnZhbHVlO3JldHVybiBhfSxjYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdLGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXTtpZihkJiZkLk1hdGg9PU1hdGgpcmV0dXJuIGR9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTsKfSxoYT1jYSh0aGlzKSxpYT10eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgieCIpPT09InN5bWJvbCIsa2E9e30sbGE9e30sbmE9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjfHxhIT1udWxsKXt2YXIgZD1sYVtiXTtpZihkPT1udWxsKXJldHVybiBhW2JdO3ZhciBlPWFbZF07cmV0dXJuIGUhPT12b2lkIDA/ZTphW2JdfX0sb2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGIpYTp7dmFyIGQ9YS5zcGxpdCgiLiIpLGU9ZC5sZW5ndGg9PT0xLGY9ZFswXSxnOyFlJiZmIGluIGthP2c9a2E6Zz1oYTtmb3IodmFyIGg9MDtoPGQubGVuZ3RoLTE7aCsrKXt2YXIgbD1kW2hdO2lmKCEobCBpbiBnKSlicmVhayBhO2c9Z1tsXX12YXIgbj1kW2QubGVuZ3RoLTFdLHA9aWEmJmM9PT0iZXM2Ij9nW25dOm51bGwscT1iKHApO2lmKHEhPW51bGwpaWYoZSliYShrYSxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cX0pO2Vsc2UgaWYocSE9PXApe2lmKGxhW25dPT09dm9pZCAwKXt2YXIgcj0KTWF0aC5yYW5kb20oKSoxRTk+Pj4wO2xhW25dPWlhP2hhLlN5bWJvbChuKToiJGpzY3AkIityKyIkIitufWJhKGcsbGFbbl0se2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpxfSl9fX0scGE7aWYoaWEmJnR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpcGE9T2JqZWN0LnNldFByb3RvdHlwZU9mO2Vsc2V7dmFyIHJhO2E6e3ZhciB0YT17YTohMH0sdWE9e307dHJ5e3VhLl9fcHJvdG9fXz10YTtyYT11YS5hO2JyZWFrIGF9Y2F0Y2goYSl7fXJhPSExfXBhPXJhP2Z1bmN0aW9uKGEsYil7YS5fX3Byb3RvX189YjtpZihhLl9fcHJvdG9fXyE9PWIpdGhyb3cgbmV3IFR5cGVFcnJvcihhKyIgaXMgbm90IGV4dGVuc2libGUiKTtyZXR1cm4gYX06bnVsbH0KdmFyIHZhPXBhLHdhPWZ1bmN0aW9uKGEsYil7YS5wcm90b3R5cGU9YWEoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYodmEpdmEoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKGMhPSJwcm90b3R5cGUiKWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKXt2YXIgZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk7ZCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYyxkKX1lbHNlIGFbY109YltjXTthLkZ0PWIucHJvdG90eXBlfSx4YT1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sbT1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6eGEoYSl9Owp0aHJvdyBFcnJvcihTdHJpbmcoYSkrIiBpcyBub3QgYW4gaXRlcmFibGUgb3IgQXJyYXlMaWtlIik7fSx5YT1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTtyZXR1cm4gY30sdz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEFycmF5P2E6eWEobShhKSl9LEFhPWZ1bmN0aW9uKGEpe3JldHVybiB6YShhLGEpfSx6YT1mdW5jdGlvbihhLGIpe2EucmF3PWI7T2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoYSksT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGF9LEJhPWlhJiZ0eXBlb2YgbmEoT2JqZWN0LCJhc3NpZ24iKT09ImZ1bmN0aW9uIj9uYShPYmplY3QsImFzc2lnbiIpOmZ1bmN0aW9uKGEsYil7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJObyBudWxsaXNoIGFyZyIpO2E9T2JqZWN0KGEpO2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTsKaWYoZClmb3IodmFyIGUgaW4gZClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZCxlKSYmKGFbZV09ZFtlXSl9cmV0dXJuIGF9O29hKCJPYmplY3QuYXNzaWduIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8QmF9LCJlczYiKTt2YXIgQ2E9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgT2JqZWN0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJJdGVyYXRvciByZXN1bHQgIithKyIgaXMgbm90IGFuIG9iamVjdCIpO30sRGE9ZnVuY3Rpb24oKXt0aGlzLmZhPSExO3RoaXMuUj1udWxsO3RoaXMuamE9dm9pZCAwO3RoaXMuSD0xO3RoaXMuTj10aGlzLlo9MDt0aGlzLkxhPXRoaXMuSz1udWxsfSxFYT1mdW5jdGlvbihhKXtpZihhLmZhKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IHJ1bm5pbmciKTthLmZhPSEwfTtEYS5wcm90b3R5cGUueWE9ZnVuY3Rpb24oYSl7dGhpcy5qYT1hfTsKdmFyIEdhPWZ1bmN0aW9uKGEsYil7YS5LPXthbzpiLGlzRXhjZXB0aW9uOiEwfTthLkg9YS5afHxhLk59O0RhLnByb3RvdHlwZS5nZXROZXh0QWRkcmVzc0pzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkh9O0RhLnByb3RvdHlwZS5nZXRZaWVsZFJlc3VsdEpzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmphfTtEYS5wcm90b3R5cGUucmV0dXJuPWZ1bmN0aW9uKGEpe3RoaXMuSz17cmV0dXJuOmF9O3RoaXMuSD10aGlzLk59O0RhLnByb3RvdHlwZVsicmV0dXJuIl09RGEucHJvdG90eXBlLnJldHVybjtEYS5wcm90b3R5cGUuQWo9ZnVuY3Rpb24oYSl7dGhpcy5LPXtuZDphfTt0aGlzLkg9dGhpcy5OfTtEYS5wcm90b3R5cGUuanVtcFRocm91Z2hGaW5hbGx5QmxvY2tzPURhLnByb3RvdHlwZS5BajtEYS5wcm90b3R5cGUuYWM9ZnVuY3Rpb24oYSxiKXt0aGlzLkg9YjtyZXR1cm57dmFsdWU6YX19O0RhLnByb3RvdHlwZS55aWVsZD1EYS5wcm90b3R5cGUuYWM7CkRhLnByb3RvdHlwZS54cz1mdW5jdGlvbihhLGIpe3ZhciBjPW0oYSksZD1jLm5leHQoKTtDYShkKTtpZihkLmRvbmUpdGhpcy5qYT1kLnZhbHVlLHRoaXMuSD1iO2Vsc2UgcmV0dXJuIHRoaXMuUj1jLHRoaXMuYWMoZC52YWx1ZSxiKX07RGEucHJvdG90eXBlLnlpZWxkQWxsPURhLnByb3RvdHlwZS54cztEYS5wcm90b3R5cGUubmQ9ZnVuY3Rpb24oYSl7dGhpcy5IPWF9O0RhLnByb3RvdHlwZS5qdW1wVG89RGEucHJvdG90eXBlLm5kO0RhLnByb3RvdHlwZS5Eaj1mdW5jdGlvbigpe3RoaXMuSD0wfTtEYS5wcm90b3R5cGUuanVtcFRvRW5kPURhLnByb3RvdHlwZS5EajtEYS5wcm90b3R5cGUuTmo9ZnVuY3Rpb24oYSxiKXt0aGlzLlo9YTtiIT12b2lkIDAmJih0aGlzLk49Yil9O0RhLnByb3RvdHlwZS5zZXRDYXRjaEZpbmFsbHlCbG9ja3M9RGEucHJvdG90eXBlLk5qO0RhLnByb3RvdHlwZS52Zz1mdW5jdGlvbihhKXt0aGlzLlo9MDt0aGlzLk49YXx8MH07CkRhLnByb3RvdHlwZS5zZXRGaW5hbGx5QmxvY2s9RGEucHJvdG90eXBlLnZnO0RhLnByb3RvdHlwZS5Jaj1mdW5jdGlvbihhLGIpe3RoaXMuSD1hO3RoaXMuWj1ifHwwfTtEYS5wcm90b3R5cGUubGVhdmVUcnlCbG9jaz1EYS5wcm90b3R5cGUuSWo7RGEucHJvdG90eXBlLlBoPWZ1bmN0aW9uKGEpe3RoaXMuWj1hfHwwO3ZhciBiPXRoaXMuSy5hbzt0aGlzLks9bnVsbDtyZXR1cm4gYn07RGEucHJvdG90eXBlLmVudGVyQ2F0Y2hCbG9jaz1EYS5wcm90b3R5cGUuUGg7RGEucHJvdG90eXBlLmtkPWZ1bmN0aW9uKGEsYixjKXtjP3RoaXMuTGFbY109dGhpcy5LOnRoaXMuTGE9W3RoaXMuS107dGhpcy5aPWF8fDA7dGhpcy5OPWJ8fDB9O0RhLnByb3RvdHlwZS5lbnRlckZpbmFsbHlCbG9jaz1EYS5wcm90b3R5cGUua2Q7CkRhLnByb3RvdHlwZS5oZT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuTGEuc3BsaWNlKGJ8fDApWzBdLGQ9dGhpcy5LPXRoaXMuS3x8YztkP2QuaXNFeGNlcHRpb24/dGhpcy5IPXRoaXMuWnx8dGhpcy5OOmQubmQhPXZvaWQgMCYmdGhpcy5OPGQubmQ/KHRoaXMuSD1kLm5kLHRoaXMuSz1udWxsKTp0aGlzLkg9dGhpcy5OOnRoaXMuSD1hfTtEYS5wcm90b3R5cGUubGVhdmVGaW5hbGx5QmxvY2s9RGEucHJvdG90eXBlLmhlO0RhLnByb3RvdHlwZS5mZT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IEhhKGEpfTtEYS5wcm90b3R5cGUuZm9ySW49RGEucHJvdG90eXBlLmZlO3ZhciBIYT1mdW5jdGlvbihhKXt0aGlzLks9YTt0aGlzLkg9W107Zm9yKHZhciBiIGluIGEpdGhpcy5ILnB1c2goYik7dGhpcy5ILnJldmVyc2UoKX07SGEucHJvdG90eXBlLmhvPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLkgubGVuZ3RoPjA7KXt2YXIgYT10aGlzLkgucG9wKCk7aWYoYSBpbiB0aGlzLkspcmV0dXJuIGF9cmV0dXJuIG51bGx9OwpIYS5wcm90b3R5cGUuZ2V0TmV4dD1IYS5wcm90b3R5cGUuaG87CnZhciBJYT1mdW5jdGlvbihhKXt0aGlzLkg9bmV3IERhO3RoaXMuSz1hfSxMYT1mdW5jdGlvbihhLGIpe0VhKGEuSCk7dmFyIGM9YS5ILlI7aWYoYylyZXR1cm4gSmEoYSwicmV0dXJuImluIGM/Y1sicmV0dXJuIl06ZnVuY3Rpb24oZCl7cmV0dXJue3ZhbHVlOmQsZG9uZTohMH19LGIsYS5ILnJldHVybik7YS5ILnJldHVybihiKTtyZXR1cm4gS2EoYSl9LEphPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXt2YXIgZT1iLmNhbGwoYS5ILlIsYyk7Q2EoZSk7aWYoIWUuZG9uZSlyZXR1cm4gYS5ILmZhPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5ILlI9bnVsbCxHYShhLkgsZyksS2EoYSl9YS5ILlI9bnVsbDtkLmNhbGwoYS5ILGYpO3JldHVybiBLYShhKX0sS2E9ZnVuY3Rpb24oYSl7Zm9yKDthLkguSDspdHJ5e3ZhciBiPWEuSyhhLkgpO2lmKGIpcmV0dXJuIGEuSC5mYT0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChkKXthLkguamE9dm9pZCAwLEdhKGEuSCwKZCl9YS5ILmZhPSExO2lmKGEuSC5LKXt2YXIgYz1hLkguSzthLkguSz1udWxsO2lmKGMuaXNFeGNlcHRpb24pdGhyb3cgYy5hbztyZXR1cm57dmFsdWU6Yy5yZXR1cm4sZG9uZTohMH19cmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX0sTWE9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe3ZhciBjO0VhKGEuSCk7YS5ILlI/Yz1KYShhLGEuSC5SLm5leHQsYixhLkgueWEpOihhLkgueWEoYiksYz1LYShhKSk7cmV0dXJuIGN9O3RoaXMudGhyb3c9ZnVuY3Rpb24oYil7dmFyIGM7RWEoYS5IKTthLkguUj9jPUphKGEsYS5ILlJbInRocm93Il0sYixhLkgueWEpOihHYShhLkgsYiksYz1LYShhKSk7cmV0dXJuIGN9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBMYShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319LE5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1hKG5ldyBJYShiKSk7dmEmJmEucHJvdG90eXBlJiZ2YShjLAphLnByb3RvdHlwZSk7cmV0dXJuIGN9LE9hPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPU51bWJlcih0aGlzKSxiPVtdLGM9YTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWJbYy1hXT1hcmd1bWVudHNbY107cmV0dXJuIGJ9LFFhPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgUmE9dGhpc3x8c2VsZixTYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5GdD1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EubnY9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTt2YXIgVGE9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9YTt0aGlzLmRhdGE9Yn07dmFyIFVhPWZ1bmN0aW9uKCl7dGhpcy5tYXA9e307dGhpcy5IPXt9fTtVYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1hcFsiZHVzdC4iK2FdfTtVYS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9ImR1c3QuIithO3RoaXMuSC5oYXNPd25Qcm9wZXJ0eShjKXx8KHRoaXMubWFwW2NdPWIpfTtVYS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1hcC5oYXNPd25Qcm9wZXJ0eSgiZHVzdC4iK2EpfTtVYS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe3ZhciBiPSJkdXN0LiIrYTt0aGlzLkguaGFzT3duUHJvcGVydHkoYil8fGRlbGV0ZSB0aGlzLm1hcFtiXX07CnZhciBWYT1mdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYS5tYXApaWYoYS5tYXAuaGFzT3duUHJvcGVydHkoZCkpe3ZhciBlPWQuc3Vic3RyaW5nKDUpO3N3aXRjaChiKXtjYXNlIDE6Yy5wdXNoKGUpO2JyZWFrO2Nhc2UgMjpjLnB1c2goYS5tYXBbZF0pO2JyZWFrO2Nhc2UgMzpjLnB1c2goW2UsYS5tYXBbZF1dKX19cmV0dXJuIGN9O1VhLnByb3RvdHlwZS5GYT1mdW5jdGlvbigpe3JldHVybiBWYSh0aGlzLDEpfTtVYS5wcm90b3R5cGUuaGM9ZnVuY3Rpb24oKXtyZXR1cm4gVmEodGhpcywyKX07VWEucHJvdG90eXBlLmZjPWZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsMyl9O3ZhciBXYT1mdW5jdGlvbigpe307V2EucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7fTt2YXIgWGE9ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPXt9O3RoaXMucHJlZml4PSJndG0uIn07az1YYS5wcm90b3R5cGU7ay5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLnZhbHVlW3RoaXMucHJlZml4K1N0cmluZyhhKV09Yn07ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWVbdGhpcy5wcmVmaXgrU3RyaW5nKGEpXX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWUuaGFzT3duUHJvcGVydHkodGhpcy5wcmVmaXgrU3RyaW5nKGEpKX07ay5kZWxldGU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5wcmVmaXgrU3RyaW5nKGEpO3JldHVybiB0aGlzLnZhbHVlLmhhc093blByb3BlcnR5KGIpPyhkZWxldGUgdGhpcy52YWx1ZVtiXSwhMCk6ITF9O2suY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPXt9fTsKay52YWx1ZXM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3JldHVybiBmdW5jdGlvbiBjKCl7dmFyIGQsZSxmO3JldHVybiBOYShjLGZ1bmN0aW9uKGcpe3N3aXRjaChnLkgpe2Nhc2UgMTpnLnZnKDIpLGU9Zy5mZShhLnZhbHVlKTtjYXNlIDQ6aWYoKGQ9ZS5obygpKT09bnVsbCl7Zy5uZCgyKTticmVha31pZighYS52YWx1ZS5oYXNPd25Qcm9wZXJ0eShkKSl7Zy5uZCg0KTticmVha31mPVFhO3JldHVybiBnLmFjKGEudmFsdWVbZF0sOCk7Y2FzZSA4OmYoZy5qYSk7Zy5uZCg0KTticmVhaztjYXNlIDI6Zy5rZCgpLGcuaGUoMCl9fSl9KCl9O2hhLk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFhhLnByb3RvdHlwZSx7c2l6ZTp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMudmFsdWUpLmxlbmd0aH19fSk7CmZ1bmN0aW9uIFlhKCl7dHJ5e2lmKE1hcClyZXR1cm4gbmV3IE1hcH1jYXRjaChhKXt9cmV0dXJuIG5ldyBYYX07dmFyIFphPWZ1bmN0aW9uKCl7dGhpcy52YWx1ZXM9W119O1phLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7dGhpcy52YWx1ZXMuaW5kZXhPZihhKT09PS0xJiZ0aGlzLnZhbHVlcy5wdXNoKGEpfTtaYS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnZhbHVlcy5pbmRleE9mKGEpPi0xfTt2YXIgJGE9ZnVuY3Rpb24oYSxiKXt0aGlzLmZhPWE7dGhpcy5wYXJlbnQ9Yjt0aGlzLlI9dGhpcy5LPXZvaWQgMDt0aGlzLkhiPSExO3RoaXMuTj1mdW5jdGlvbihkLGUsZil7cmV0dXJuIGQuYXBwbHkoZSxmKX07dGhpcy5IPVlhKCk7dmFyIGM7YTp7dHJ5e2lmKFNldCl7Yz1uZXcgU2V0O2JyZWFrIGF9fWNhdGNoKGQpe31jPW5ldyBaYX10aGlzLlo9Y307JGEucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIpe2FiKHRoaXMsYSxiLCExKX07JGEucHJvdG90eXBlLlFoPWZ1bmN0aW9uKGEsYil7YWIodGhpcyxhLGIsITApfTt2YXIgYWI9ZnVuY3Rpb24oYSxiLGMsZCl7YS5IYnx8YS5aLmhhcyhiKXx8KGQmJmEuWi5hZGQoYiksYS5ILnNldChiLGMpKX07az0kYS5wcm90b3R5cGU7Cmsuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5IYnx8KCF0aGlzLkguaGFzKGEpJiZ0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuaGFzKGEpP3RoaXMucGFyZW50LnNldChhLGIpOnRoaXMuWi5oYXMoYSl8fHRoaXMuSC5zZXQoYSxiKSl9O2suZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLkguaGFzKGEpP3RoaXMuSC5nZXQoYSk6dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0KGEpOnZvaWQgMH07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuISF0aGlzLkguaGFzKGEpfHwhKCF0aGlzLnBhcmVudHx8IXRoaXMucGFyZW50LmhhcyhhKSl9O2sud2I9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgJGEodGhpcy5mYSx0aGlzKTt0aGlzLksmJmEuUWIodGhpcy5LKTthLnNkKHRoaXMuTik7YS51ZSh0aGlzLlIpO3JldHVybiBhfTtrLmplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmF9O2suUWI9ZnVuY3Rpb24oYSl7dGhpcy5LPWF9O2suZm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LfTsKay5zZD1mdW5jdGlvbihhKXt0aGlzLk49YX07ay5Qaj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk59O2suWmE9ZnVuY3Rpb24oKXt0aGlzLkhiPSEwfTtrLnVlPWZ1bmN0aW9uKGEpe3RoaXMuUj1hfTtrLnhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUn07dmFyIGJiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDtkPUVycm9yLmNhbGwodGhpcyxhLm1lc3NhZ2UpO3RoaXMubWVzc2FnZT1kLm1lc3NhZ2U7InN0YWNrImluIGQmJih0aGlzLnN0YWNrPWQuc3RhY2spO3RoaXMudm89YTt0aGlzLlNuPWM9PT12b2lkIDA/ITE6Yzt0aGlzLks9W107dGhpcy5IPWJ9O3dhKGJiLEVycm9yKTt2YXIgY2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBiYj9hOm5ldyBiYihhLHZvaWQgMCwhMCl9O3ZhciBkYj1ZYSgpO2Z1bmN0aW9uIGViKGEsYil7Zm9yKHZhciBjLGQ9bShiKSxlPWQubmV4dCgpOyFlLmRvbmUmJiEoYz1mYihhLGUudmFsdWUpLGMgaW5zdGFuY2VvZiBUYSk7ZT1kLm5leHQoKSk7cmV0dXJuIGN9ZnVuY3Rpb24gZmIoYSxiKXt0cnl7dmFyIGM9YlswXSxkPWIuc2xpY2UoMSksZT1TdHJpbmcoYyksZj1kYi5oYXMoZSk/ZGIuZ2V0KGUpOmEuZ2V0KGUpO2lmKCFmfHx0eXBlb2YgZi5pbnZva2UhPT0iZnVuY3Rpb24iKXRocm93IGNiKEVycm9yKCJBdHRlbXB0aW5nIHRvIGV4ZWN1dGUgbm9uLWZ1bmN0aW9uICIrYlswXSsiLiIpKTtyZXR1cm4gZi5hcHBseShhLGQpfWNhdGNoKGgpe3ZhciBnPWEuZm8oKTtnJiZnKGgsYi5jb250ZXh0P3tpZDpiWzBdLGxpbmU6Yi5jb250ZXh0LmxpbmV9Om51bGwpO3Rocm93IGg7fX07dmFyIGdiPWZ1bmN0aW9uKCl7dGhpcy5LPW5ldyBXYTt0aGlzLkg9bmV3ICRhKHRoaXMuSyl9O2s9Z2IucHJvdG90eXBlO2suamU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LfTtrLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07ay5zZD1mdW5jdGlvbihhKXt0aGlzLkguc2QoYSl9O2suZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yayhbYV0uY29uY2F0KHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSkpfTtrLnJrPWZ1bmN0aW9uKCl7Zm9yKHZhciBhLGI9bShPYS5hcHBseSgwLGFyZ3VtZW50cykpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWE9ZmIodGhpcy5ILGMudmFsdWUpO3JldHVybiBhfTtrLkpxPWZ1bmN0aW9uKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKSxjPXRoaXMuSC53YigpO2MudWUoYSk7Zm9yKHZhciBkLGU9bShiKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSlkPWZiKGMsZi52YWx1ZSk7cmV0dXJuIGR9O2suWmE9ZnVuY3Rpb24oKXt0aGlzLkguWmEoKX07dmFyIGhiPWZ1bmN0aW9uKGEsYil7dGhpcy5SPWE7dGhpcy5wYXJlbnQ9Yjt0aGlzLk49dGhpcy5IPXZvaWQgMDt0aGlzLkhiPSExO3RoaXMuSz1mdW5jdGlvbihjLGQsZSl7cmV0dXJuIGMuYXBwbHkoZCxlKX07dGhpcy52YWx1ZXM9bmV3IFVhfTtoYi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7amIodGhpcyxhLGIsITEpfTtoYi5wcm90b3R5cGUuUWg9ZnVuY3Rpb24oYSxiKXtqYih0aGlzLGEsYiwhMCl9O3ZhciBqYj1mdW5jdGlvbihhLGIsYyxkKXtpZighYS5IYilpZihkKXt2YXIgZT1hLnZhbHVlcztlLnNldChiLGMpO2UuSFsiZHVzdC4iK2JdPSEwfWVsc2UgYS52YWx1ZXMuc2V0KGIsYyl9O2s9aGIucHJvdG90eXBlO2suc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5IYnx8KCF0aGlzLnZhbHVlcy5oYXMoYSkmJnRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5oYXMoYSk/dGhpcy5wYXJlbnQuc2V0KGEsYik6dGhpcy52YWx1ZXMuc2V0KGEsYikpfTsKay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWVzLmhhcyhhKT90aGlzLnZhbHVlcy5nZXQoYSk6dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0KGEpOnZvaWQgMH07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuISF0aGlzLnZhbHVlcy5oYXMoYSl8fCEoIXRoaXMucGFyZW50fHwhdGhpcy5wYXJlbnQuaGFzKGEpKX07ay53Yj1mdW5jdGlvbigpe3ZhciBhPW5ldyBoYih0aGlzLlIsdGhpcyk7dGhpcy5IJiZhLlFiKHRoaXMuSCk7YS5zZCh0aGlzLkspO2EudWUodGhpcy5OKTtyZXR1cm4gYX07ay5qZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJ9O2suUWI9ZnVuY3Rpb24oYSl7dGhpcy5IPWF9O2suZm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5IfTtrLnNkPWZ1bmN0aW9uKGEpe3RoaXMuSz1hfTtrLlBqPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuS307ay5aYT1mdW5jdGlvbigpe3RoaXMuSGI9ITB9O2sudWU9ZnVuY3Rpb24oYSl7dGhpcy5OPWF9O2sueGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTt2YXIga2I9ZnVuY3Rpb24oKXt0aGlzLk5hPSExO3RoaXMubGE9bmV3IFVhfTtrPWtiLnByb3RvdHlwZTtrLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sYS5nZXQoYSl9O2suc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5OYXx8dGhpcy5sYS5zZXQoYSxiKX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGEuaGFzKGEpfTtrLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLk5hfHx0aGlzLmxhLnJlbW92ZShhKX07ay5GYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLkZhKCl9O2suaGM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5oYygpfTtrLmZjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuZmMoKX07ay5aYT1mdW5jdGlvbigpe3RoaXMuTmE9ITB9O2suSGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OYX07ZnVuY3Rpb24gbGIoKXtmb3IodmFyIGE9bWIsYj17fSxjPTA7YzxhLmxlbmd0aDsrK2MpYlthW2NdXT1jO3JldHVybiBifWZ1bmN0aW9uIG5iKCl7dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjthKz1hLnRvTG93ZXJDYXNlKCkrIjAxMjM0NTY3ODktXyI7cmV0dXJuIGErIi4ifXZhciBtYixvYjtmdW5jdGlvbiBwYihhKXttYj1tYnx8bmIoKTtvYj1vYnx8bGIoKTtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7Yys9Myl7dmFyIGQ9YysxPGEubGVuZ3RoLGU9YysyPGEubGVuZ3RoLGY9YS5jaGFyQ29kZUF0KGMpLGc9ZD9hLmNoYXJDb2RlQXQoYysxKTowLGg9ZT9hLmNoYXJDb2RlQXQoYysyKTowLGw9Zj4+MixuPShmJjMpPDw0fGc+PjQscD0oZyYxNSk8PDJ8aD4+NixxPWgmNjM7ZXx8KHE9NjQsZHx8KHA9NjQpKTtiLnB1c2gobWJbbF0sbWJbbl0sbWJbcF0sbWJbcV0pfXJldHVybiBiLmpvaW4oIiIpfQpmdW5jdGlvbiBxYihhKXtmdW5jdGlvbiBiKGwpe2Zvcig7ZDxhLmxlbmd0aDspe3ZhciBuPWEuY2hhckF0KGQrKykscD1vYltuXTtpZihwIT1udWxsKXJldHVybiBwO2lmKCEvXltcc1x4YTBdKiQvLnRlc3QobikpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrbik7fXJldHVybiBsfW1iPW1ifHxuYigpO29iPW9ifHxsYigpO2Zvcih2YXIgYz0iIixkPTA7Oyl7dmFyIGU9YigtMSksZj1iKDApLGc9Yig2NCksaD1iKDY0KTtpZihoPT09NjQmJmU9PT0tMSlyZXR1cm4gYztjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGU8PDJ8Zj4+NCk7ZyE9PTY0JiYoYys9U3RyaW5nLmZyb21DaGFyQ29kZShmPDw0JjI0MHxnPj4yKSxoIT09NjQmJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGc8PDYmMTkyfGgpKSl9fTt2YXIgcmI9e307ZnVuY3Rpb24gc2IoYSxiKXt2YXIgYz1yYlthXTtjfHwoYz1yYlthXT1bXSk7Y1tiXT0hMH1mdW5jdGlvbiB0Yigpe2RlbGV0ZSByYi5HQTRfRVZFTlR9ZnVuY3Rpb24gdWIoKXt2YXIgYT12Yi5ILnNsaWNlKCk7cmIuR1RBR19FVkVOVF9GRUFUVVJFX0NIQU5ORUw9YX1mdW5jdGlvbiB3YihhKXtmb3IodmFyIGI9W10sYz0wLGQ9MDtkPGEubGVuZ3RoO2QrKylkJTg9PT0wJiZkPjAmJihiLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShjKSksYz0wKSxhW2RdJiYoY3w9MTw8ZCU4KTtjPjAmJmIucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGMpKTtyZXR1cm4gcGIoYi5qb2luKCIiKSkucmVwbGFjZSgvXC4rJC8sIiIpfTtmdW5jdGlvbiB4Yigpe31mdW5jdGlvbiB5YihhKXtyZXR1cm4gdHlwZW9mIGE9PT0iZnVuY3Rpb24ifWZ1bmN0aW9uIHpiKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifWZ1bmN0aW9uIEFiKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiJiYhaXNOYU4oYSl9ZnVuY3Rpb24gQmIoYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpbYV19ZnVuY3Rpb24gQ2IoYSxiKXtpZihhJiZBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10mJmIoYVtjXSkpcmV0dXJuIGFbY119ZnVuY3Rpb24gRGIoYSxiKXtpZighQWIoYSl8fCFBYihiKXx8YT5iKWE9MCxiPTIxNDc0ODM2NDc7cmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSooYi1hKzEpK2EpfQpmdW5jdGlvbiBFYihhLGIpe2Zvcih2YXIgYz1uZXcgRmIsZD0wO2Q8YS5sZW5ndGg7ZCsrKWMuc2V0KGFbZF0sITApO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7ZSsrKWlmKGMuZ2V0KGJbZV0pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEdiKGEsYil7Zm9yKHZhciBjIGluIGEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYykmJmIoYyxhW2NdKX1mdW5jdGlvbiBIYihhKXtyZXR1cm4hIWEmJihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk9PT0iW29iamVjdCBBcmd1bWVudHNdInx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsImNhbGxlZSIpKX1mdW5jdGlvbiBJYihhKXtyZXR1cm4gTWF0aC5yb3VuZChOdW1iZXIoYSkpfHwwfWZ1bmN0aW9uIEpiKGEpe3JldHVybiJmYWxzZSI9PT1TdHJpbmcoYSkudG9Mb3dlckNhc2UoKT8hMTohIWF9CmZ1bmN0aW9uIEtiKGEpe3ZhciBiPVtdO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKFN0cmluZyhhW2NdKSk7cmV0dXJuIGJ9ZnVuY3Rpb24gTGIoYSl7cmV0dXJuIGE/YS5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIik6IiJ9ZnVuY3Rpb24gTWIoKXtyZXR1cm4gbmV3IERhdGUoRGF0ZS5ub3coKSl9ZnVuY3Rpb24gTmIoKXtyZXR1cm4gTWIoKS5nZXRUaW1lKCl9dmFyIEZiPWZ1bmN0aW9uKCl7dGhpcy5wcmVmaXg9Imd0bS4iO3RoaXMudmFsdWVzPXt9fTtGYi5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy52YWx1ZXNbdGhpcy5wcmVmaXgrYV09Yn07RmIucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZXNbdGhpcy5wcmVmaXgrYV19O0ZiLnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXQoYSkhPT12b2lkIDB9OwpmdW5jdGlvbiBPYihhLGIsYyl7cmV0dXJuIGEmJmEuaGFzT3duUHJvcGVydHkoYik/YVtiXTpjfWZ1bmN0aW9uIFBiKGEpe3ZhciBiPWE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoYil7dmFyIGM9YjtiPXZvaWQgMDt0cnl7YygpfWNhdGNoKGQpe319fX1mdW5jdGlvbiBRYihhLGIpe2Zvcih2YXIgYyBpbiBiKWIuaGFzT3duUHJvcGVydHkoYykmJihhW2NdPWJbY10pfWZ1bmN0aW9uIFJiKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyljLnB1c2goYVtkXSksYy5wdXNoLmFwcGx5KGMsYlthW2RdXXx8W10pO3JldHVybiBjfWZ1bmN0aW9uIFNiKGEsYil7cmV0dXJuIGEubGVuZ3RoPj1iLmxlbmd0aCYmYS5zdWJzdHJpbmcoMCxiLmxlbmd0aCk9PT1ifWZ1bmN0aW9uIFRiKGEsYil7cmV0dXJuIGEubGVuZ3RoPj1iLmxlbmd0aCYmYS5zdWJzdHJpbmcoYS5sZW5ndGgtYi5sZW5ndGgsYS5sZW5ndGgpPT09Yn0KZnVuY3Rpb24gVWIoYSxiLGMpe2M9Y3x8W107Zm9yKHZhciBkPWEsZT0wO2U8Yi5sZW5ndGgtMTtlKyspe2lmKCFkLmhhc093blByb3BlcnR5KGJbZV0pKXJldHVybjtkPWRbYltlXV07aWYoYy5pbmRleE9mKGQpPj0wKXJldHVybn1yZXR1cm4gZH1mdW5jdGlvbiBWYihhLGIpe2Zvcih2YXIgYz17fSxkPWMsZT1hLnNwbGl0KCIuIiksZj0wO2Y8ZS5sZW5ndGgtMTtmKyspZD1kW2VbZl1dPXt9O2RbZVtlLmxlbmd0aC0xXV09YjtyZXR1cm4gY312YXIgV2I9L15cd3sxLDl9JC87ZnVuY3Rpb24gWWIoYSxiKXthPWF8fHt9O2I9Ynx8IiwiO3ZhciBjPVtdO0diKGEsZnVuY3Rpb24oZCxlKXtXYi50ZXN0KGQpJiZlJiZjLnB1c2goZCl9KTtyZXR1cm4gYy5qb2luKGIpfQpmdW5jdGlvbiBaYihhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hLmNoYXJDb2RlQXQoYyk7ZDwxMjg/Yi5wdXNoKGQpOmQ8MjA0OD9iLnB1c2goMTkyfGQ+PjYsMTI4fGQmNjMpOmQ8NTUyOTZ8fGQ+PTU3MzQ0P2IucHVzaCgyMjR8ZD4+MTIsMTI4fGQ+PjYmNjMsMTI4fGQmNjMpOihkPTY1NTM2KygoZCYxMDIzKTw8MTB8YS5jaGFyQ29kZUF0KCsrYykmMTAyMyksYi5wdXNoKDI0MHxkPj4xOCwxMjh8ZD4+MTImNjMsMTI4fGQ+PjYmNjMsMTI4fGQmNjMpKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYil9ZnVuY3Rpb24gJGIoYSl7aWYoIWEpcmV0dXJuIGE7dmFyIGI9YTt0cnl7Yj1kZWNvZGVVUklDb21wb25lbnQoYSl9Y2F0Y2goZCl7fXZhciBjPWIuc3BsaXQoIiwiKTtyZXR1cm4gYy5sZW5ndGg9PT0yJiZjWzBdPT09Y1sxXT9jWzBdOmF9CmZ1bmN0aW9uIGFjKGEsYixjKXtmdW5jdGlvbiBkKG4pe3ZhciBwPW4uc3BsaXQoIj0iKVswXTtpZihhLmluZGV4T2YocCk8MClyZXR1cm4gbjtpZihjIT09dm9pZCAwKXJldHVybiBwKyI9IitjfWZ1bmN0aW9uIGUobil7cmV0dXJuIG4uc3BsaXQoIiYiKS5tYXAoZCkuZmlsdGVyKGZ1bmN0aW9uKHApe3JldHVybiBwIT09dm9pZCAwfSkuam9pbigiJiIpfXZhciBmPWIuaHJlZi5zcGxpdCgvWz8jXS8pWzBdLGc9Yi5zZWFyY2gsaD1iLmhhc2g7Z1swXT09PSI/IiYmKGc9Zy5zdWJzdHJpbmcoMSkpO2hbMF09PT0iIyImJihoPWguc3Vic3RyaW5nKDEpKTtnPWUoZyk7aD1lKGgpO2chPT0iIiYmKGc9Ij8iK2cpO2ghPT0iIiYmKGg9IiMiK2gpO3ZhciBsPSIiK2YrZytoO2xbbC5sZW5ndGgtMV09PT0iLyImJihsPWwuc3Vic3RyaW5nKDAsbC5sZW5ndGgtMSkpO3JldHVybiBsfQpmdW5jdGlvbiBiYyhhKXtmb3IodmFyIGI9MDtiPDM7KytiKXRyeXt2YXIgYz1kZWNvZGVVUklDb21wb25lbnQoYSkucmVwbGFjZSgvXCsvZywiICIpO2lmKGM9PT1hKWJyZWFrO2E9Y31jYXRjaChkKXtyZXR1cm4iIn1yZXR1cm4gYX1mdW5jdGlvbiBjYygpe3ZhciBhPUEsYjthOnt2YXIgYz1hLmNyeXB0b3x8YS5tc0NyeXB0bztpZihjJiZjLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoMjUpO2MuZ2V0UmFuZG9tVmFsdWVzKGQpO2I9YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx3KGQpKSkucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKS5yZXBsYWNlKC89KyQvLCIiKTticmVhayBhfWNhdGNoKGUpe31iPXZvaWQgMH1yZXR1cm4gYn07LyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KdmFyIGRjPWdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLGVjO2Z1bmN0aW9uIGZjKCl7dmFyIGE9bnVsbDtpZighZGMpcmV0dXJuIGE7dHJ5e3ZhciBiPWZ1bmN0aW9uKGMpe3JldHVybiBjfTthPWRjLmNyZWF0ZVBvbGljeSgiZ29vZyNodG1sIix7Y3JlYXRlSFRNTDpiLGNyZWF0ZVNjcmlwdDpiLGNyZWF0ZVNjcmlwdFVSTDpifSl9Y2F0Y2goYyl7fXJldHVybiBhfWZ1bmN0aW9uIGhjKCl7ZWM9PT12b2lkIDAmJihlYz1mYygpKTtyZXR1cm4gZWN9O3ZhciBpYz1mdW5jdGlvbihhKXt0aGlzLkg9YX07aWMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCsiIn07ZnVuY3Rpb24gamMoYSl7dmFyIGI9YSxjPWhjKCksZD1jP2MuY3JlYXRlU2NyaXB0VVJMKGIpOmI7cmV0dXJuIG5ldyBpYyhkKX1mdW5jdGlvbiBrYyhhKXtpZihhIGluc3RhbmNlb2YgaWMpcmV0dXJuIGEuSDt0aHJvdyBFcnJvcigiIik7fTt2YXIgbGM9QWEoWyIiXSksbWM9emEoWyJceDAwIl0sWyJcXDAiXSksbmM9emEoWyJcbiJdLFsiXFxuIl0pLG9jPXphKFsiXHgwMCJdLFsiXFx1MDAwMCJdKTtmdW5jdGlvbiBwYyhhKXtyZXR1cm4gYS50b1N0cmluZygpLmluZGV4T2YoImAiKT09PS0xfXBjKGZ1bmN0aW9uKGEpe3JldHVybiBhKGxjKX0pfHxwYyhmdW5jdGlvbihhKXtyZXR1cm4gYShtYyl9KXx8cGMoZnVuY3Rpb24oYSl7cmV0dXJuIGEobmMpfSl8fHBjKGZ1bmN0aW9uKGEpe3JldHVybiBhKG9jKX0pO3ZhciBxYz1mdW5jdGlvbihhKXt0aGlzLkg9YX07cWMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSH07dmFyIHJjPWZ1bmN0aW9uKGEpe3RoaXMuSnM9YX07ZnVuY3Rpb24gc2MoYSl7cmV0dXJuIG5ldyByYyhmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgdGM9W3NjKCJkYXRhIiksc2MoImh0dHAiKSxzYygiaHR0cHMiKSxzYygibWFpbHRvIiksc2MoImZ0cCIpLG5ldyByYyhmdW5jdGlvbihhKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpfSldO2Z1bmN0aW9uIHVjKGEpe3ZhciBiO2I9Yj09PXZvaWQgMD90YzpiO2lmKGEgaW5zdGFuY2VvZiBxYylyZXR1cm4gYTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXTtpZihkIGluc3RhbmNlb2YgcmMmJmQuSnMoYSkpcmV0dXJuIG5ldyBxYyhhKX19dmFyIHZjPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7CmZ1bmN0aW9uIHdjKGEpe3ZhciBiO2lmKGEgaW5zdGFuY2VvZiBxYylpZihhIGluc3RhbmNlb2YgcWMpYj1hLkg7ZWxzZSB0aHJvdyBFcnJvcigiIik7ZWxzZSBiPXZjLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGJ9O2Z1bmN0aW9uIHhjKGEsYil7dmFyIGM9d2MoYik7YyE9PXZvaWQgMCYmKGEuYWN0aW9uPWMpfTtmdW5jdGlvbiB5YyhhLGIpe3Rocm93IEVycm9yKGI9PT12b2lkIDA/InVuZXhwZWN0ZWQgdmFsdWUgIithKyIhIjpiKTt9O3ZhciB6Yz1mdW5jdGlvbihhKXt0aGlzLkg9YX07emMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCsiIn07dmFyIEJjPWZ1bmN0aW9uKCl7dGhpcy5IPUFjWzBdLnRvTG93ZXJDYXNlKCl9O0JjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkh9O2Z1bmN0aW9uIENjKGEsYil7dmFyIGM9W25ldyBCY107aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCIiKTt2YXIgZD1jLm1hcChmdW5jdGlvbihmKXt2YXIgZztpZihmIGluc3RhbmNlb2YgQmMpZz1mLkg7ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGd9KSxlPWIudG9Mb3dlckNhc2UoKTtpZihkLmV2ZXJ5KGZ1bmN0aW9uKGYpe3JldHVybiBlLmluZGV4T2YoZikhPT0wfSkpdGhyb3cgRXJyb3IoJ0F0dHJpYnV0ZSAiJytiKyciIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUgYWxsb3dlZCBwcmVmaXhlcy4nKTthLnNldEF0dHJpYnV0ZShiLCJ0cnVlIil9O3ZhciBEYz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZj9mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGEsYix2b2lkIDApfTpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIHR5cGVvZiBiIT09InN0cmluZyJ8fGIubGVuZ3RoIT0xPy0xOmEuaW5kZXhPZihiLDApO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGMgaW4gYSYmYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9OyJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIikuY29uY2F0KFsiQlVUVE9OIiwKIklOUFVUIl0pO2Z1bmN0aW9uIEVjKGEpe3JldHVybiBhPT09bnVsbD8ibnVsbCI6YT09PXZvaWQgMD8idW5kZWZpbmVkIjphfTt2YXIgQT13aW5kb3csRmM9W10sR2M9d2luZG93Lmhpc3RvcnksQj1kb2N1bWVudCxIYz1uYXZpZ2F0b3I7ZnVuY3Rpb24gSWMoKXt2YXIgYTt0cnl7YT1IYy5zZXJ2aWNlV29ya2VyfWNhdGNoKGIpe3JldHVybn1yZXR1cm4gYX12YXIgSmM9Qi5jdXJyZW50U2NyaXB0LEtjPUpjJiZKYy5zcmM7ZnVuY3Rpb24gTWMoYSxiKXt2YXIgYz1BLGQ9Y1thXTtjW2FdPWQ9PT12b2lkIDA/YjpkO3JldHVybiBjW2FdfWZ1bmN0aW9uIE5jKGEpe3JldHVybihIYy51c2VyQWdlbnR8fCIiKS5pbmRleE9mKGEpIT09LTF9ZnVuY3Rpb24gT2MoKXtyZXR1cm4gTmMoIkZpcmVmb3giKXx8TmMoIkZ4aU9TIil9ZnVuY3Rpb24gUGMoKXtyZXR1cm4oTmMoIkdTQSIpfHxOYygiR29vZ2xlQXBwIikpJiYoTmMoImlQaG9uZSIpfHxOYygiaVBhZCIpKX1mdW5jdGlvbiBRYygpe3JldHVybiBOYygiRWRnLyIpfHxOYygiRWRnQS8iKXx8TmMoIkVkZ2lPUy8iKX0KdmFyIFJjPXthc3luYzoxLG5vbmNlOjEsb25lcnJvcjoxLG9ubG9hZDoxLHNyYzoxLHR5cGU6MX0sU2M9e2hlaWdodDoxLG9ubG9hZDoxLHNyYzoxLHN0eWxlOjEsd2lkdGg6MX07ZnVuY3Rpb24gVGMoYSxiLGMpe2ImJkdiKGIsZnVuY3Rpb24oZCxlKXtkPWQudG9Mb3dlckNhc2UoKTtjLmhhc093blByb3BlcnR5KGQpfHxhLnNldEF0dHJpYnV0ZShkLGUpfSl9CmZ1bmN0aW9uIFVjKGEsYixjLGQsZSl7dmFyIGY9Qi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtUYyhmLGQsUmMpO2YudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtmLmFzeW5jPWQmJmQuYXN5bmM9PT0hMT8hMTohMDt2YXIgZztnPWpjKEVjKGEpKTtmLnNyYz1rYyhnKTt2YXIgaCxsPWYub3duZXJEb2N1bWVudDtsPWw9PT12b2lkIDA/ZG9jdW1lbnQ6bDt2YXIgbixwLHE9KHA9KG49bCkucXVlcnlTZWxlY3Rvcik9PW51bGw/dm9pZCAwOnAuY2FsbChuLCJzY3JpcHRbbm9uY2VdIik7KGg9cT09bnVsbD8iIjpxLm5vbmNlfHxxLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiIpJiZmLnNldEF0dHJpYnV0ZSgibm9uY2UiLGgpO2ImJihmLm9ubG9hZD1iKTtjJiYoZi5vbmVycm9yPWMpO2U/ZS5hcHBlbmRDaGlsZChmKTpWYy5CcyhmKTtyZXR1cm4gZn0KZnVuY3Rpb24gV2MoKXtpZihLYyl7dmFyIGE9S2MudG9Mb3dlckNhc2UoKTtpZihhLmluZGV4T2YoImh0dHBzOi8vIik9PT0wKXJldHVybiAyO2lmKGEuaW5kZXhPZigiaHR0cDovLyIpPT09MClyZXR1cm4gM31yZXR1cm4gMX1mdW5jdGlvbiBYYyhhLGIsYyxkLGUsZil7Zj1mPT09dm9pZCAwPyEwOmY7dmFyIGc9ZSxoPSExO2d8fChnPUIuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksaD0hMCk7VGMoZyxjLFNjKTtkJiZHYihkLGZ1bmN0aW9uKG4scCl7Zy5kYXRhc2V0W25dPXB9KTtmJiYoZy5oZWlnaHQ9IjAiLGcud2lkdGg9IjAiLGcuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iKTthIT09dm9pZCAwJiYoZy5zcmM9YSk7aWYoaCl7dmFyIGw9Qi5ib2R5JiZCLmJvZHkubGFzdENoaWxkfHxCLmJvZHl8fEIuaGVhZDtsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsbCl9YiYmKGcub25sb2FkPWIpO3JldHVybiBnfQpmdW5jdGlvbiBaYygpe3JldHVybiBWYy5Fci5hcHBseShWYyx3KE9hLmFwcGx5KDAsYXJndW1lbnRzKSkpfWZ1bmN0aW9uICRjKGEsYixjLGQpe2EuYWRkRXZlbnRMaXN0ZW5lciYmYS5hZGRFdmVudExpc3RlbmVyKGIsYywhIWQpfWZ1bmN0aW9uIGFkKGEsYixjKXthLnJlbW92ZUV2ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsITEpfWZ1bmN0aW9uIGJkKGEpe0Euc2V0VGltZW91dChhLDApfWZ1bmN0aW9uIGNkKGEsYil7dmFyIGM9T2EuYXBwbHkoMixhcmd1bWVudHMpLGQsZT0oZD1BKS5zZXRJbnRlcnZhbC5hcHBseShkLFthLGJdLmNvbmNhdCh3KGMpKSk7RmMucHVzaChlKTtyZXR1cm4gZX0KZnVuY3Rpb24gZGQoYSl7dmFyIGI9QTt5YihiLnF1ZXVlTWljcm90YXNrKT9iLnF1ZXVlTWljcm90YXNrKGEpOnliKGIuUHJvbWlzZSkmJmIuUHJvbWlzZS5yZXNvbHZlP2IuUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe2EoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSk6YmQoYSl9ZnVuY3Rpb24gZWQoYSxiKXtyZXR1cm4gYSYmYiYmYS5hdHRyaWJ1dGVzJiZhLmF0dHJpYnV0ZXNbYl0/YS5hdHRyaWJ1dGVzW2JdLnZhbHVlOm51bGx9ZnVuY3Rpb24gZmQoYSl7dmFyIGI9YS5pbm5lclRleHR8fGEudGV4dENvbnRlbnR8fCIiO2ImJmIhPT0iICImJihiPWIucmVwbGFjZSgvXltcc1x4YTBdKy9nLCIiKSxiPWIucmVwbGFjZSgvW1xzXHhhMF0rJC9nLCIiKSk7YiYmKGI9Yi5yZXBsYWNlKC8oXHhhMCt8XHN7Mix9fFxufFxyXHQpL2csIiAiKSk7cmV0dXJuIGJ9CmZ1bmN0aW9uIGdkKGEpe3ZhciBiPUIuY3JlYXRlRWxlbWVudCgiZGl2IiksYz1iLGQsZT1FYygiQTxkaXY+IithKyI8L2Rpdj4iKSxmPWhjKCksZz1mP2YuY3JlYXRlSFRNTChlKTplO2Q9bmV3IHpjKGcpO2lmKGMubm9kZVR5cGU9PT0xJiYvXihzY3JpcHR8c3R5bGUpJC9pLnRlc3QoYy50YWdOYW1lKSl0aHJvdyBFcnJvcigiIik7dmFyIGg7aWYoZCBpbnN0YW5jZW9mIHpjKWg9ZC5IO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO2MuaW5uZXJIVE1MPWg7Yj1iLmxhc3RDaGlsZDtmb3IodmFyIGw9W107YiYmYi5maXJzdENoaWxkOylsLnB1c2goYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpKTtyZXR1cm4gbH0KZnVuY3Rpb24gaGQoYSxiLGMpe2M9Y3x8MTAwO2Zvcih2YXIgZD17fSxlPTA7ZTxiLmxlbmd0aDtlKyspZFtiW2VdXT0hMDtmb3IodmFyIGY9YSxnPTA7ZiYmZzw9YztnKyspe2lmKGRbU3RyaW5nKGYudGFnTmFtZSkudG9Mb3dlckNhc2UoKV0pcmV0dXJuIGY7Zj1mLnBhcmVudEVsZW1lbnR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaWQoYSxiLGMpe3ZhciBkO3RyeXtkPUhjLnNlbmRCZWFjb24mJkhjLnNlbmRCZWFjb24oYSl9Y2F0Y2goZSl7c2IoIlRBR0dJTkciLDE1KX1kP2I9PW51bGx8fGIoKTpaYyhhLGIsYyl9ZnVuY3Rpb24gamQoYSxiKXt0cnl7aWYoSGMuc2VuZEJlYWNvbiE9PXZvaWQgMClyZXR1cm4gSGMuc2VuZEJlYWNvbihhLGIpfWNhdGNoKGMpe3NiKCJUQUdHSU5HIiwxNSl9cmV0dXJuITF9ZnVuY3Rpb24ga2QoKXtyZXR1cm4gSGMuc2VuZEJlYWNvbiE9PXZvaWQgMH0KdmFyIGxkPXtjYWNoZToibm8tc3RvcmUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixrZWVwYWxpdmU6ITAsbWV0aG9kOiJQT1NUIixtb2RlOiJuby1jb3JzIixyZWRpcmVjdDoiZm9sbG93In07CmZ1bmN0aW9uIG1kKGEsYixjLGQsZSl7aWYobmQoKSl7dmFyIGY9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxsZCk7YiYmKGYuYm9keT1iKTtjJiYoYy5hdHRyaWJ1dGlvblJlcG9ydGluZyYmKGYuYXR0cmlidXRpb25SZXBvcnRpbmc9Yy5hdHRyaWJ1dGlvblJlcG9ydGluZyksYy5icm93c2luZ1RvcGljcyE9PXZvaWQgMCYmKGYuYnJvd3NpbmdUb3BpY3M9Yy5icm93c2luZ1RvcGljcyksYy5jcmVkZW50aWFscyYmKGYuY3JlZGVudGlhbHM9Yy5jcmVkZW50aWFscyksYy5rZWVwYWxpdmUhPT12b2lkIDAmJihmLmtlZXBhbGl2ZT1jLmtlZXBhbGl2ZSksYy5tZXRob2QmJihmLm1ldGhvZD1jLm1ldGhvZCksYy5tb2RlJiYoZi5tb2RlPWMubW9kZSkpO3RyeXt2YXIgZz1BLmZldGNoKGEsZik7aWYoZylyZXR1cm4gZy50aGVuKGZ1bmN0aW9uKGwpe2wmJihsLm9rfHxsLnN0YXR1cz09PTApP2Q9PW51bGx8fGQoKTplPT1udWxsfHxlKCl9KS5jYXRjaChmdW5jdGlvbigpe2U9PQpudWxsfHxlKCl9KSwhMH1jYXRjaChsKXt9fWlmKChjPT1udWxsPzA6Yy5RZyl8fChjPT1udWxsPzA6Yy5jcmVkZW50aWFscykmJmMuY3JlZGVudGlhbHMhPT0iaW5jbHVkZSIpcmV0dXJuIGU9PW51bGx8fGUoKSwhMTtpZihiKXt2YXIgaD1qZChhLGIpO2g/ZD09bnVsbHx8ZCgpOmU9PW51bGx8fGUoKTtyZXR1cm4gaH1WYy53dChhLGQsZSk7cmV0dXJuITB9ZnVuY3Rpb24gbmQoKXtyZXR1cm4geWIoQS5mZXRjaCl9ZnVuY3Rpb24gb2QoYSxiKXt2YXIgYz1hW2JdO2MmJnR5cGVvZiBjLmFuaW1WYWw9PT0ic3RyaW5nIiYmKGM9Yy5hbmltVmFsKTtyZXR1cm4gY31mdW5jdGlvbiBwZCgpe3ZhciBhPUEucGVyZm9ybWFuY2U7aWYoYSYmeWIoYS5ub3cpKXJldHVybiBhLm5vdygpfQpmdW5jdGlvbiBxZCgpe3ZhciBhLGI9QS5wZXJmb3JtYW5jZTtpZihiJiZiLmdldEVudHJpZXNCeVR5cGUpdHJ5e3ZhciBjPWIuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpO2MmJmMubGVuZ3RoPjAmJihhPWNbMF0udHlwZSl9Y2F0Y2goZCl7cmV0dXJuImUifWlmKCFhKXJldHVybiJ1Ijtzd2l0Y2goYSl7Y2FzZSAibmF2aWdhdGUiOnJldHVybiJuIjtjYXNlICJiYWNrX2ZvcndhcmQiOnJldHVybiJoIjtjYXNlICJyZWxvYWQiOnJldHVybiJyIjtjYXNlICJwcmVyZW5kZXIiOnJldHVybiJwIjtkZWZhdWx0OnJldHVybiJ4In19ZnVuY3Rpb24gcmQoKXtyZXR1cm4gQS5wZXJmb3JtYW5jZXx8dm9pZCAwfWZ1bmN0aW9uIHNkKCl7dmFyIGE9QS53ZWJQaXhlbHNNYW5hZ2VyO3JldHVybiBhP2EuY3JlYXRlU2hvcGlmeUV4dGVuZCE9PXZvaWQgMDohMX0KdmFyIFZjPXtFcjpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uZXcgSW1hZ2UoMSwxKTtUYyhlLGQse30pO2Uub25sb2FkPWZ1bmN0aW9uKCl7ZS5vbmxvYWQ9bnVsbDtiJiZiKCl9O2Uub25lcnJvcj1mdW5jdGlvbigpe2Uub25lcnJvcj1udWxsO2MmJmMoKX07ZS5zcmM9YTtyZXR1cm4gZX0sQnM6ZnVuY3Rpb24oYSl7dmFyIGI9Qi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF18fEIuYm9keXx8Qi5oZWFkO2IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxiKX0sd3Q6aWR9O2Z1bmN0aW9uIHRkKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkmJnRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gdWQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKT09PXRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gdmQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKXx8dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiB3ZChhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSksZD10aGlzLmV2YWx1YXRlKGIpO3JldHVybiBTdHJpbmcoYykuaW5kZXhPZihTdHJpbmcoZCkpPi0xfWZ1bmN0aW9uIHhkKGEsYil7dmFyIGM9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYSkpLGQ9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYikpO3JldHVybiBjLnN1YnN0cmluZygwLGQubGVuZ3RoKT09PWR9CmZ1bmN0aW9uIHlkKGEsYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShhKSxkPXRoaXMuZXZhbHVhdGUoYik7c3dpdGNoKGMpe2Nhc2UgInBhZ2VMb2NhdGlvbiI6dmFyIGU9QS5sb2NhdGlvbi5ocmVmO2QgaW5zdGFuY2VvZiBrYiYmZC5nZXQoInN0cmlwUHJvdG9jb2wiKSYmKGU9ZS5yZXBsYWNlKC9eaHR0cHM/OlwvXC8vLCIiKSk7cmV0dXJuIGV9fTsvKgogalF1ZXJ5IChjKSAyMDA1LCAyMDEyIGpRdWVyeSBGb3VuZGF0aW9uLCBJbmMuIGpxdWVyeS5vcmcvbGljZW5zZS4KKi8KdmFyIHpkPS9cW29iamVjdCAoQm9vbGVhbnxOdW1iZXJ8U3RyaW5nfEZ1bmN0aW9ufEFycmF5fERhdGV8UmVnRXhwKVxdLyxBZD1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBTdHJpbmcoYSk7dmFyIGI9emQuZXhlYyhPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoT2JqZWN0KGEpKSk7cmV0dXJuIGI/YlsxXS50b0xvd2VyQ2FzZSgpOiJvYmplY3QifSxCZD1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoT2JqZWN0KGEpLGIpfSxDZD1mdW5jdGlvbihhKXtpZighYXx8QWQoYSkhPSJvYmplY3QifHxhLm5vZGVUeXBlfHxhPT1hLndpbmRvdylyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIUJkKGEsImNvbnN0cnVjdG9yIikmJiFCZChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXJldHVybiExfWNhdGNoKGMpe3JldHVybiExfWZvcih2YXIgYiBpbiBhKTtyZXR1cm4gYj09PXZvaWQgMHx8CkJkKGEsYil9LEVkPWZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8KEFkKGEpPT0iYXJyYXkiP1tdOnt9KSxkO2ZvcihkIGluIGEpaWYoQmQoYSxkKSl7dmFyIGU9YVtkXTtBZChlKT09ImFycmF5Ij8oQWQoY1tkXSkhPSJhcnJheSImJihjW2RdPVtdKSxjW2RdPUVkKGUsY1tkXSkpOkNkKGUpPyhDZChjW2RdKXx8KGNbZF09e30pLGNbZF09RWQoZSxjW2RdKSk6Y1tkXT1lfXJldHVybiBjfTtmdW5jdGlvbiBGZChhKXtyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIiYmYT49MCYmaXNGaW5pdGUoYSkmJmElMT09PTB8fHR5cGVvZiBhPT09InN0cmluZyImJmFbMF0hPT0iLSImJmE9PT0iIitwYXJzZUludChhKX07dmFyIEdkPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9bXTphO3RoaXMubGE9bmV3IFVhO3RoaXMudmFsdWVzPVtdO3RoaXMuTmE9ITE7Zm9yKHZhciBiIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShiKSYmKEZkKGIpP3RoaXMudmFsdWVzW051bWJlcihiKV09YVtOdW1iZXIoYildOnRoaXMubGEuc2V0KGIsYVtiXSkpfTtrPUdkLnByb3RvdHlwZTtrLnRvU3RyaW5nPWZ1bmN0aW9uKGEpe2lmKGEmJmEuaW5kZXhPZih0aGlzKT49MClyZXR1cm4iIjtmb3IodmFyIGI9W10sYz0wO2M8dGhpcy52YWx1ZXMubGVuZ3RoO2MrKyl7dmFyIGQ9dGhpcy52YWx1ZXNbY107ZD09PW51bGx8fGQ9PT12b2lkIDA/Yi5wdXNoKCIiKTpkIGluc3RhbmNlb2YgR2Q/KGE9YXx8W10sYS5wdXNoKHRoaXMpLGIucHVzaChkLnRvU3RyaW5nKGEpKSxhLnBvcCgpKTpiLnB1c2goU3RyaW5nKGQpKX1yZXR1cm4gYi5qb2luKCIsIil9OwprLnNldD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLk5hKWlmKGE9PT0ibGVuZ3RoIil7aWYoIUZkKGIpKXRocm93IGNiKEVycm9yKCJSYW5nZUVycm9yOiBMZW5ndGggcHJvcGVydHkgbXVzdCBiZSBhIHZhbGlkIGludGVnZXIuIikpO3RoaXMudmFsdWVzLmxlbmd0aD1OdW1iZXIoYil9ZWxzZSBGZChhKT90aGlzLnZhbHVlc1tOdW1iZXIoYSldPWI6dGhpcy5sYS5zZXQoYSxiKX07ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0ibGVuZ3RoIj90aGlzLmxlbmd0aCgpOkZkKGEpP3RoaXMudmFsdWVzW051bWJlcihhKV06dGhpcy5sYS5nZXQoYSl9O2subGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aH07ay5GYT1mdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLmxhLkZhKCksYj0wO2I8dGhpcy52YWx1ZXMubGVuZ3RoO2IrKyl0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShiKSYmYS5wdXNoKFN0cmluZyhiKSk7cmV0dXJuIGF9OwprLmhjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMubGEuaGMoKSxiPTA7Yjx0aGlzLnZhbHVlcy5sZW5ndGg7YisrKXRoaXMudmFsdWVzLmhhc093blByb3BlcnR5KGIpJiZhLnB1c2godGhpcy52YWx1ZXNbYl0pO3JldHVybiBhfTtrLmZjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMubGEuZmMoKSxiPTA7Yjx0aGlzLnZhbHVlcy5sZW5ndGg7YisrKXRoaXMudmFsdWVzLmhhc093blByb3BlcnR5KGIpJiZhLnB1c2goW1N0cmluZyhiKSx0aGlzLnZhbHVlc1tiXV0pO3JldHVybiBhfTtrLnJlbW92ZT1mdW5jdGlvbihhKXtGZChhKT9kZWxldGUgdGhpcy52YWx1ZXNbTnVtYmVyKGEpXTp0aGlzLk5hfHx0aGlzLmxhLnJlbW92ZShhKX07ay5wb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMucG9wKCl9O2sucHVzaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlcy5wdXNoLmFwcGx5KHRoaXMudmFsdWVzLHcoT2EuYXBwbHkoMCxhcmd1bWVudHMpKSl9O2suc2hpZnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMuc2hpZnQoKX07Cmsuc3BsaWNlPWZ1bmN0aW9uKGEsYil7dmFyIGM9T2EuYXBwbHkoMixhcmd1bWVudHMpO3JldHVybiBiPT09dm9pZCAwJiZjLmxlbmd0aD09PTA/bmV3IEdkKHRoaXMudmFsdWVzLnNwbGljZShhKSk6bmV3IEdkKHRoaXMudmFsdWVzLnNwbGljZS5hcHBseSh0aGlzLnZhbHVlcyxbYSxifHwwXS5jb25jYXQodyhjKSkpKX07ay51bnNoaWZ0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLnVuc2hpZnQuYXBwbHkodGhpcy52YWx1ZXMsdyhPYS5hcHBseSgwLGFyZ3VtZW50cykpKX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIEZkKGEpJiZ0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShhKXx8dGhpcy5sYS5oYXMoYSl9O2suWmE9ZnVuY3Rpb24oKXt0aGlzLk5hPSEwO09iamVjdC5mcmVlemUodGhpcy52YWx1ZXMpfTtrLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmF9OwpmdW5jdGlvbiBIZChhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGgoKTtjKyspYS5oYXMoYykmJihiW2NdPWEuZ2V0KGMpKTtyZXR1cm4gYn07dmFyIElkPWZ1bmN0aW9uKGEsYil7dGhpcy5mdW5jdGlvbk5hbWU9YTt0aGlzLmllPWI7dGhpcy5sYT1uZXcgVWE7dGhpcy5OYT0hMX07az1JZC5wcm90b3R5cGU7ay50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZ1bmN0aW9uTmFtZX07ay5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZnVuY3Rpb25OYW1lfTtrLmdldEtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEdkKHRoaXMuRmEoKSl9O2suaW52b2tlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmllLmNhbGwuYXBwbHkodGhpcy5pZSxbbmV3IEpkKHRoaXMsYSldLmNvbmNhdCh3KE9hLmFwcGx5KDEsYXJndW1lbnRzKSkpKX07ay5hcHBseT1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmllLmFwcGx5KG5ldyBKZCh0aGlzLGEpLGIpfTtrLk5jPWZ1bmN0aW9uKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKTt0cnl7cmV0dXJuIHRoaXMuaW52b2tlLmFwcGx5KHRoaXMsW2FdLmNvbmNhdCh3KGIpKSl9Y2F0Y2goYyl7fX07CmsuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxhLmdldChhKX07ay5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLk5hfHx0aGlzLmxhLnNldChhLGIpfTtrLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sYS5oYXMoYSl9O2sucmVtb3ZlPWZ1bmN0aW9uKGEpe3RoaXMuTmF8fHRoaXMubGEucmVtb3ZlKGEpfTtrLkZhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuRmEoKX07ay5oYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLmhjKCl9O2suZmM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5mYygpfTtrLlphPWZ1bmN0aW9uKCl7dGhpcy5OYT0hMH07ay5IYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5hfTt2YXIgS2Q9ZnVuY3Rpb24oYSxiKXtJZC5jYWxsKHRoaXMsYSxiKX07d2EoS2QsSWQpO3ZhciBMZD1mdW5jdGlvbihhLGIpe0lkLmNhbGwodGhpcyxhLGIpfTt3YShMZCxJZCk7dmFyIEpkPWZ1bmN0aW9uKGEsYil7dGhpcy5pZT1hO3RoaXMuVD1ifTsKSmQucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuVDtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9mYihiLGEpOmF9O0pkLnByb3RvdHlwZS5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWUuZ2V0TmFtZSgpfTtKZC5wcm90b3R5cGUuamU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULmplKCl9O3ZhciBNZD1mdW5jdGlvbigpe3RoaXMubWFwPW5ldyBNYXB9O01kLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm1hcC5zZXQoYSxiKX07TWQucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5tYXAuZ2V0KGEpfTt2YXIgTmQ9ZnVuY3Rpb24oKXt0aGlzLmtleXM9W107dGhpcy52YWx1ZXM9W119O05kLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmtleXMucHVzaChhKTt0aGlzLnZhbHVlcy5wdXNoKGIpfTtOZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMua2V5cy5pbmRleE9mKGEpO2lmKGI+LTEpcmV0dXJuIHRoaXMudmFsdWVzW2JdfTtmdW5jdGlvbiBPZCgpe3RyeXtyZXR1cm4gTWFwP25ldyBNZDpuZXcgTmR9Y2F0Y2goYSl7cmV0dXJuIG5ldyBOZH19O3ZhciBQZD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgUGQpcmV0dXJuIGE7dmFyIGI7YTppZihhPT12b2lkIDB8fEFycmF5LmlzQXJyYXkoYSl8fENkKGEpKWI9ITA7ZWxzZXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOmNhc2UgIm51bWJlciI6Y2FzZSAic3RyaW5nIjpjYXNlICJmdW5jdGlvbiI6Yj0hMDticmVhayBhfWI9ITF9aWYoYil0aHJvdyBFcnJvcigiVHlwZSBvZiBnaXZlbiB2YWx1ZSBoYXMgYW4gZXF1aXZhbGVudCBQaXhpZSB0eXBlLiIpO3RoaXMudmFsdWU9YX07UGQucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O1BkLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcodGhpcy52YWx1ZSl9O3ZhciBTZD1mdW5jdGlvbihhKXt0aGlzLnByb21pc2U9YTt0aGlzLk5hPSExO3RoaXMubGE9bmV3IFVhO3RoaXMubGEuc2V0KCJ0aGVuIixSZCh0aGlzKSk7dGhpcy5sYS5zZXQoImNhdGNoIixSZCh0aGlzLCEwKSk7dGhpcy5sYS5zZXQoImZpbmFsbHkiLFJkKHRoaXMsITEsITApKX07az1TZC5wcm90b3R5cGU7ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGEuZ2V0KGEpfTtrLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuTmF8fHRoaXMubGEuc2V0KGEsYil9O2suaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxhLmhhcyhhKX07ay5yZW1vdmU9ZnVuY3Rpb24oYSl7dGhpcy5OYXx8dGhpcy5sYS5yZW1vdmUoYSl9O2suRmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5GYSgpfTtrLmhjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuaGMoKX07ay5mYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLmZjKCl9Owp2YXIgUmQ9ZnVuY3Rpb24oYSxiLGMpe2I9Yj09PXZvaWQgMD8hMTpiO2M9Yz09PXZvaWQgMD8hMTpjO3JldHVybiBuZXcgS2QoIiIsZnVuY3Rpb24oZCxlKXtiJiYoZT1kLGQ9dm9pZCAwKTtjJiYoZT1kKTtkIGluc3RhbmNlb2YgS2R8fChkPXZvaWQgMCk7ZSBpbnN0YW5jZW9mIEtkfHwoZT12b2lkIDApO3ZhciBmPXRoaXMuVC53YigpLGc9ZnVuY3Rpb24obCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gYz8obC5pbnZva2UoZiksYS5wcm9taXNlKTpsLmludm9rZShmLG4pfWNhdGNoKHApe3JldHVybiBQcm9taXNlLnJlamVjdChwIGluc3RhbmNlb2YgRXJyb3I/bmV3IFBkKHApOlN0cmluZyhwKSl9fX0saD1hLnByb21pc2UudGhlbihkJiZnKGQpLGUmJmcoZSkpO3JldHVybiBuZXcgU2QoaCl9KX07U2QucHJvdG90eXBlLlphPWZ1bmN0aW9uKCl7dGhpcy5OYT0hMH07U2QucHJvdG90eXBlLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmF9O2Z1bmN0aW9uIFRkKGEsYixjKXt2YXIgZD1PZCgpLGU9ZnVuY3Rpb24oZyxoKXtmb3IodmFyIGw9Zy5GYSgpLG49MDtuPGwubGVuZ3RoO24rKyloW2xbbl1dPWYoZy5nZXQobFtuXSkpfSxmPWZ1bmN0aW9uKGcpe2lmKGc9PT1udWxsfHxnPT09dm9pZCAwKXJldHVybiBnO3ZhciBoPWQuZ2V0KGcpO2lmKGgpcmV0dXJuIGg7aWYoZyBpbnN0YW5jZW9mIEdkKXt2YXIgbD1bXTtkLnNldChnLGwpO2Zvcih2YXIgbj1nLkZhKCkscD0wO3A8bi5sZW5ndGg7cCsrKWxbbltwXV09ZihnLmdldChuW3BdKSk7cmV0dXJuIGx9aWYoZyBpbnN0YW5jZW9mIFNkKXJldHVybiBnLnByb21pc2UudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gVGQodSxiLDEpfSxmdW5jdGlvbih1KXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoVGQodSxiLDEpKX0pO2lmKGcgaW5zdGFuY2VvZiBrYil7dmFyIHE9e307ZC5zZXQoZyxxKTtlKGcscSk7cmV0dXJuIHF9aWYoZyBpbnN0YW5jZW9mIEtkKXt2YXIgcj1mdW5jdGlvbigpe2Zvcih2YXIgdT0KW10sdj0wO3Y8YXJndW1lbnRzLmxlbmd0aDt2KyspdVt2XT1VZChhcmd1bWVudHNbdl0sYixjKTt2YXIgeD1uZXcgaGIoYj9iLmplKCk6bmV3IFdhKTtiJiZ4LnVlKGIueGIoKSk7cmV0dXJuIGYoZy5hcHBseSh4LHUpKX07ZC5zZXQoZyxyKTtlKGcscik7cmV0dXJuIHJ9dmFyIHQ9ITE7c3dpdGNoKGMpe2Nhc2UgMTp0PSEwO2JyZWFrO2Nhc2UgMjp0PSExO2JyZWFrO2Nhc2UgMzp0PSExO2JyZWFrO2RlZmF1bHQ6fWlmKGcgaW5zdGFuY2VvZiBQZCYmdClyZXR1cm4gZy5nZXRWYWx1ZSgpO3N3aXRjaCh0eXBlb2YgZyl7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAibnVtYmVyIjpjYXNlICJzdHJpbmciOmNhc2UgInVuZGVmaW5lZCI6cmV0dXJuIGc7Y2FzZSAib2JqZWN0IjppZihnPT09Cm51bGwpcmV0dXJuIG51bGx9fTtyZXR1cm4gZihhKX0KZnVuY3Rpb24gVWQoYSxiLGMpe3ZhciBkPU9kKCksZT1mdW5jdGlvbihnLGgpe2Zvcih2YXIgbCBpbiBnKWcuaGFzT3duUHJvcGVydHkobCkmJmguc2V0KGwsZihnW2xdKSl9LGY9ZnVuY3Rpb24oZyl7dmFyIGg9ZC5nZXQoZyk7aWYoaClyZXR1cm4gaDtpZihBcnJheS5pc0FycmF5KGcpfHxIYihnKSl7dmFyIGw9bmV3IEdkO2Quc2V0KGcsbCk7Zm9yKHZhciBuIGluIGcpZy5oYXNPd25Qcm9wZXJ0eShuKSYmbC5zZXQobixmKGdbbl0pKTtyZXR1cm4gbH1pZihDZChnKSl7dmFyIHA9bmV3IGtiO2Quc2V0KGcscCk7ZShnLHApO3JldHVybiBwfWlmKHR5cGVvZiBnPT09ImZ1bmN0aW9uIil7dmFyIHE9bmV3IEtkKCIiLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PU9hLmFwcGx5KDAsYXJndW1lbnRzKSx2PVtdLHg9MDt4PHUubGVuZ3RoO3grKyl2W3hdPVRkKHRoaXMuZXZhbHVhdGUodVt4XSksYixjKTtyZXR1cm4gZih0aGlzLlQuUGooKShnLGcsdikpfSk7ZC5zZXQoZyxxKTtlKGcscSk7cmV0dXJuIHF9dmFyIHI9dHlwZW9mIGc7aWYoZz09PW51bGx8fHI9PT0ic3RyaW5nInx8cj09PSJudW1iZXIifHxyPT09ImJvb2xlYW4iKXJldHVybiBnO3ZhciB0PSExO3N3aXRjaChjKXtjYXNlIDE6dD0hMDticmVhaztjYXNlIDI6dD0hMTticmVhaztkZWZhdWx0On1pZihnIT09dm9pZCAwJiZ0KXJldHVybiBuZXcgUGQoZyl9O3JldHVybiBmKGEpfTt2YXIgVmQ9e3N1cHBvcnRlZE1ldGhvZHM6ImNvbmNhdCBldmVyeSBmaWx0ZXIgZm9yRWFjaCBoYXNPd25Qcm9wZXJ0eSBpbmRleE9mIGpvaW4gbGFzdEluZGV4T2YgbWFwIHBvcCBwdXNoIHJlZHVjZSByZWR1Y2VSaWdodCByZXZlcnNlIHNoaWZ0IHNsaWNlIHNvbWUgc29ydCBzcGxpY2UgdW5zaGlmdCB0b1N0cmluZyIuc3BsaXQoIiAiKSxjb25jYXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPHRoaXMubGVuZ3RoKCk7YysrKWIucHVzaCh0aGlzLmdldChjKSk7Zm9yKHZhciBkPTE7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKylpZihhcmd1bWVudHNbZF1pbnN0YW5jZW9mIEdkKWZvcih2YXIgZT1hcmd1bWVudHNbZF0sZj0wO2Y8ZS5sZW5ndGgoKTtmKyspYi5wdXNoKGUuZ2V0KGYpKTtlbHNlIGIucHVzaChhcmd1bWVudHNbZF0pO3JldHVybiBuZXcgR2QoYil9LGV2ZXJ5OmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMubGVuZ3RoKCksZD0wO2Q8dGhpcy5sZW5ndGgoKSYmCmQ8YztkKyspaWYodGhpcy5oYXMoZCkmJiFiLmludm9rZShhLHRoaXMuZ2V0KGQpLGQsdGhpcykpcmV0dXJuITE7cmV0dXJuITB9LGZpbHRlcjpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz10aGlzLmxlbmd0aCgpLGQ9W10sZT0wO2U8dGhpcy5sZW5ndGgoKSYmZTxjO2UrKyl0aGlzLmhhcyhlKSYmYi5pbnZva2UoYSx0aGlzLmdldChlKSxlLHRoaXMpJiZkLnB1c2godGhpcy5nZXQoZSkpO3JldHVybiBuZXcgR2QoZCl9LGZvckVhY2g6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dGhpcy5sZW5ndGgoKSxkPTA7ZDx0aGlzLmxlbmd0aCgpJiZkPGM7ZCsrKXRoaXMuaGFzKGQpJiZiLmludm9rZShhLHRoaXMuZ2V0KGQpLGQsdGhpcyl9LGhhc093blByb3BlcnR5OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuaGFzKGIpfSxpbmRleE9mOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGU9Yz09PXZvaWQgMD8wOk51bWJlcihjKTtlPDAmJihlPU1hdGgubWF4KGQrZSwwKSk7Zm9yKHZhciBmPQplO2Y8ZDtmKyspaWYodGhpcy5oYXMoZikmJnRoaXMuZ2V0KGYpPT09YilyZXR1cm4gZjtyZXR1cm4tMX0sam9pbjpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDx0aGlzLmxlbmd0aCgpO2QrKyljLnB1c2godGhpcy5nZXQoZCkpO3JldHVybiBjLmpvaW4oYil9LGxhc3RJbmRleE9mOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGU9ZC0xO2MhPT12b2lkIDAmJihlPWM8MD9kK2M6TWF0aC5taW4oYyxlKSk7Zm9yKHZhciBmPWU7Zj49MDtmLS0paWYodGhpcy5oYXMoZikmJnRoaXMuZ2V0KGYpPT09YilyZXR1cm4gZjtyZXR1cm4tMX0sbWFwOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMubGVuZ3RoKCksZD1bXSxlPTA7ZTx0aGlzLmxlbmd0aCgpJiZlPGM7ZSsrKXRoaXMuaGFzKGUpJiYoZFtlXT1iLmludm9rZShhLHRoaXMuZ2V0KGUpLGUsdGhpcykpO3JldHVybiBuZXcgR2QoZCl9LHBvcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBvcCgpfSxwdXNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2guYXBwbHkodGhpcywKdyhPYS5hcHBseSgxLGFyZ3VtZW50cykpKX0scmVkdWNlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGUsZj0wO2lmKGMhPT12b2lkIDApZT1jO2Vsc2V7aWYoZD09PTApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlIG9uIExpc3Qgd2l0aCBubyBlbGVtZW50cy4iKSk7Zm9yKHZhciBnPTA7ZzxkO2crKylpZih0aGlzLmhhcyhnKSl7ZT10aGlzLmdldChnKTtmPWcrMTticmVha31pZihnPT09ZCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBSZWR1Y2Ugb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTt9Zm9yKHZhciBoPWY7aDxkO2grKyl0aGlzLmhhcyhoKSYmKGU9Yi5pbnZva2UoYSxlLHRoaXMuZ2V0KGgpLGgsdGhpcykpO3JldHVybiBlfSxyZWR1Y2VSaWdodDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5sZW5ndGgoKSxlLGY9ZC0xO2lmKGMhPT12b2lkIDApZT1jO2Vsc2V7aWYoZD09PTApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlUmlnaHQgb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTsKZm9yKHZhciBnPTE7Zzw9ZDtnKyspaWYodGhpcy5oYXMoZC1nKSl7ZT10aGlzLmdldChkLWcpO2Y9ZC0oZysxKTticmVha31pZihnPmQpdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlUmlnaHQgb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTt9Zm9yKHZhciBoPWY7aD49MDtoLS0pdGhpcy5oYXMoaCkmJihlPWIuaW52b2tlKGEsZSx0aGlzLmdldChoKSxoLHRoaXMpKTtyZXR1cm4gZX0scmV2ZXJzZTpmdW5jdGlvbigpe2Zvcih2YXIgYT1IZCh0aGlzKSxiPWEubGVuZ3RoLTEsYz0wO2I+PTA7Yi0tLGMrKylhLmhhc093blByb3BlcnR5KGIpP3RoaXMuc2V0KGMsYVtiXSk6dGhpcy5yZW1vdmUoYyk7cmV0dXJuIHRoaXN9LHNoaWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hpZnQoKX0sc2xpY2U6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMubGVuZ3RoKCk7Yj09PXZvaWQgMCYmKGI9MCk7Yj1iPDA/TWF0aC5tYXgoZCtiLDApOk1hdGgubWluKGIsZCk7Yz1jPT09CnZvaWQgMD9kOmM8MD9NYXRoLm1heChkK2MsMCk6TWF0aC5taW4oYyxkKTtjPU1hdGgubWF4KGIsYyk7Zm9yKHZhciBlPVtdLGY9YjtmPGM7ZisrKWUucHVzaCh0aGlzLmdldChmKSk7cmV0dXJuIG5ldyBHZChlKX0sc29tZTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz10aGlzLmxlbmd0aCgpLGQ9MDtkPHRoaXMubGVuZ3RoKCkmJmQ8YztkKyspaWYodGhpcy5oYXMoZCkmJmIuaW52b2tlKGEsdGhpcy5nZXQoZCksZCx0aGlzKSlyZXR1cm4hMDtyZXR1cm4hMX0sc29ydDpmdW5jdGlvbihhLGIpe3ZhciBjPUhkKHRoaXMpO2I9PT12b2lkIDA/Yy5zb3J0KCk6Yy5zb3J0KGZ1bmN0aW9uKGUsZil7cmV0dXJuIE51bWJlcihiLmludm9rZShhLGUsZikpfSk7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspYy5oYXNPd25Qcm9wZXJ0eShkKT90aGlzLnNldChkLGNbZF0pOnRoaXMucmVtb3ZlKGQpO3JldHVybiB0aGlzfSxzcGxpY2U6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLnNwbGljZS5hcHBseSh0aGlzLApbYixjXS5jb25jYXQodyhPYS5hcHBseSgzLGFyZ3VtZW50cykpKSl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoKX0sdW5zaGlmdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy51bnNoaWZ0LmFwcGx5KHRoaXMsdyhPYS5hcHBseSgxLGFyZ3VtZW50cykpKX19O3ZhciBXZD17Y2hhckF0OjEsY29uY2F0OjEsaW5kZXhPZjoxLGxhc3RJbmRleE9mOjEsbWF0Y2g6MSxyZXBsYWNlOjEsc2VhcmNoOjEsc2xpY2U6MSxzcGxpdDoxLHN1YnN0cmluZzoxLHRvTG93ZXJDYXNlOjEsdG9Mb2NhbGVMb3dlckNhc2U6MSx0b1N0cmluZzoxLHRvVXBwZXJDYXNlOjEsdG9Mb2NhbGVVcHBlckNhc2U6MSx0cmltOjF9LFhkPW5ldyBUYSgiYnJlYWsiKSxZZD1uZXcgVGEoImNvbnRpbnVlIik7ZnVuY3Rpb24gWmQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKSt0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uICRkKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkmJnRoaXMuZXZhbHVhdGUoYil9CmZ1bmN0aW9uIGFlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyk7aWYoIShmIGluc3RhbmNlb2YgR2QpKXRocm93IEVycm9yKCJFcnJvcjogTm9uLUxpc3QgYXJndW1lbnQgZ2l2ZW4gdG8gQXBwbHkgaW5zdHJ1Y3Rpb24uIik7aWYoZD09PW51bGx8fGQ9PT12b2lkIDApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogQ2FuJ3QgcmVhZCBwcm9wZXJ0eSAiK2UrIiBvZiAiK2QrIi4iKSk7dmFyIGc9dHlwZW9mIGQ9PT0ibnVtYmVyIjtpZih0eXBlb2YgZD09PSJib29sZWFuInx8Zyl7aWYoZT09PSJ0b1N0cmluZyIpe2lmKGcmJmYubGVuZ3RoKCkpe3ZhciBoPVRkKGYuZ2V0KDApKTt0cnl7cmV0dXJuIGQudG9TdHJpbmcoaCl9Y2F0Y2godSl7fX1yZXR1cm4gZC50b1N0cmluZygpfXRocm93IGNiKEVycm9yKCJUeXBlRXJyb3I6ICIrZCsiLiIrZSsiIGlzIG5vdCBhIGZ1bmN0aW9uLiIpKTt9aWYodHlwZW9mIGQ9PT0KInN0cmluZyIpe2lmKFdkLmhhc093blByb3BlcnR5KGUpKXt2YXIgbD1UZChmLHZvaWQgMCwxKTtyZXR1cm4gVWQoZFtlXS5hcHBseShkLGwpLHRoaXMuVCl9dGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogIitlKyIgaXMgbm90IGEgZnVuY3Rpb24iKSk7fWlmKGQgaW5zdGFuY2VvZiBHZCl7aWYoZC5oYXMoZSkpe3ZhciBuPWQuZ2V0KFN0cmluZyhlKSk7aWYobiBpbnN0YW5jZW9mIEtkKXt2YXIgcD1IZChmKTtyZXR1cm4gbi5hcHBseSh0aGlzLlQscCl9dGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogIitlKyIgaXMgbm90IGEgZnVuY3Rpb24iKSk7fWlmKFZkLnN1cHBvcnRlZE1ldGhvZHMuaW5kZXhPZihlKT49MCl7dmFyIHE9SGQoZik7cmV0dXJuIFZkW2VdLmNhbGwuYXBwbHkoVmRbZV0sW2QsdGhpcy5UXS5jb25jYXQodyhxKSkpfX1pZihkIGluc3RhbmNlb2YgS2R8fGQgaW5zdGFuY2VvZiBrYnx8ZCBpbnN0YW5jZW9mIFNkKXtpZihkLmhhcyhlKSl7dmFyIHI9ZC5nZXQoZSk7CmlmKHIgaW5zdGFuY2VvZiBLZCl7dmFyIHQ9SGQoZik7cmV0dXJuIHIuYXBwbHkodGhpcy5ULHQpfXRocm93IGNiKEVycm9yKCJUeXBlRXJyb3I6ICIrZSsiIGlzIG5vdCBhIGZ1bmN0aW9uIikpO31pZihlPT09InRvU3RyaW5nIilyZXR1cm4gZCBpbnN0YW5jZW9mIEtkP2QuZ2V0TmFtZSgpOmQudG9TdHJpbmcoKTtpZihlPT09Imhhc093blByb3BlcnR5IilyZXR1cm4gZC5oYXMoZi5nZXQoMCkpfWlmKGQgaW5zdGFuY2VvZiBQZCYmZT09PSJ0b1N0cmluZyIpcmV0dXJuIGQudG9TdHJpbmcoKTt0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBPYmplY3QgaGFzIG5vICciK2UrIicgcHJvcGVydHkuIikpO30KZnVuY3Rpb24gYmUoYSxiKXthPXRoaXMuZXZhbHVhdGUoYSk7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigiSW52YWxpZCBrZXkgbmFtZSBnaXZlbiBmb3IgYXNzaWdubWVudC4iKTt2YXIgYz10aGlzLlQ7aWYoIWMuaGFzKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFzc2lnbiB0byB1bmRlZmluZWQgdmFsdWUgIitiKTt2YXIgZD10aGlzLmV2YWx1YXRlKGIpO2Muc2V0KGEsZCk7cmV0dXJuIGR9ZnVuY3Rpb24gY2UoKXt2YXIgYT1PYS5hcHBseSgwLGFyZ3VtZW50cyksYj10aGlzLlQud2IoKSxjPWViKGIsYSk7aWYoYyBpbnN0YW5jZW9mIFRhKXJldHVybiBjfWZ1bmN0aW9uIGRlKCl7cmV0dXJuIFhkfWZ1bmN0aW9uIGVlKGEpe2Zvcih2YXIgYj10aGlzLmV2YWx1YXRlKGEpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShiW2NdKTtpZihkIGluc3RhbmNlb2YgVGEpcmV0dXJuIGR9fQpmdW5jdGlvbiBmZSgpe2Zvcih2YXIgYT10aGlzLlQsYj0wO2I8YXJndW1lbnRzLmxlbmd0aC0xO2IrPTIpe3ZhciBjPWFyZ3VtZW50c1tiXTtpZih0eXBlb2YgYz09PSJzdHJpbmciKXt2YXIgZD10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiKzFdKTthLlFoKGMsZCl9fX1mdW5jdGlvbiBnZSgpe3JldHVybiBZZH1mdW5jdGlvbiBoZShhLGIpe3JldHVybiBuZXcgVGEoYSx0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBpZShhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkO2Q9bmV3IEdkO2Zvcih2YXIgZT10aGlzLmV2YWx1YXRlKGIpLGY9MDtmPGUubGVuZ3RoO2YrKylkLnB1c2goZVtmXSk7dmFyIGc9WzUxLGEsZF0uY29uY2F0KHcoYykpO3RoaXMuVC5hZGQoYSx0aGlzLmV2YWx1YXRlKGcpKX1mdW5jdGlvbiBqZShhLGIpe3JldHVybiB0aGlzLmV2YWx1YXRlKGEpL3RoaXMuZXZhbHVhdGUoYil9CmZ1bmN0aW9uIGtlKGEsYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShhKSxkPXRoaXMuZXZhbHVhdGUoYiksZT1jIGluc3RhbmNlb2YgUGQsZj1kIGluc3RhbmNlb2YgUGQ7cmV0dXJuIGV8fGY/ZSYmZj9jLmdldFZhbHVlKCk9PT1kLmdldFZhbHVlKCk6ITE6Yz09ZH1mdW5jdGlvbiBsZSgpe2Zvcih2YXIgYSxiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylhPXRoaXMuZXZhbHVhdGUoYXJndW1lbnRzW2JdKTtyZXR1cm4gYX1mdW5jdGlvbiBtZShhLGIsYyxkKXtmb3IodmFyIGU9MDtlPGIoKTtlKyspe3ZhciBmPWEoYyhlKSksZz1lYihmLGQpO2lmKGcgaW5zdGFuY2VvZiBUYSl7aWYoZy50eXBlPT09ImJyZWFrIilicmVhaztpZihnLnR5cGU9PT0icmV0dXJuIilyZXR1cm4gZ319fQpmdW5jdGlvbiBuZShhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilyZXR1cm4gbWUoYSxmdW5jdGlvbigpe3JldHVybiBiLmxlbmd0aH0sZnVuY3Rpb24oZil7cmV0dXJuIGZ9LGMpO2lmKGIgaW5zdGFuY2VvZiBrYnx8YiBpbnN0YW5jZW9mIFNkfHxiIGluc3RhbmNlb2YgR2R8fGIgaW5zdGFuY2VvZiBLZCl7dmFyIGQ9Yi5GYSgpLGU9ZC5sZW5ndGg7cmV0dXJuIG1lKGEsZnVuY3Rpb24oKXtyZXR1cm4gZX0sZnVuY3Rpb24oZil7cmV0dXJuIGRbZl19LGMpfX1mdW5jdGlvbiBvZShhLGIsYyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShhKSxlPXRoaXMuZXZhbHVhdGUoYiksZj10aGlzLmV2YWx1YXRlKGMpLGc9dGhpcy5UO3JldHVybiBuZShmdW5jdGlvbihoKXtnLnNldChkLGgpO3JldHVybiBnfSxlLGYpfQpmdW5jdGlvbiBwZShhLGIsYyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShhKSxlPXRoaXMuZXZhbHVhdGUoYiksZj10aGlzLmV2YWx1YXRlKGMpLGc9dGhpcy5UO3JldHVybiBuZShmdW5jdGlvbihoKXt2YXIgbD1nLndiKCk7bC5RaChkLGgpO3JldHVybiBsfSxlLGYpfWZ1bmN0aW9uIHFlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIG5lKGZ1bmN0aW9uKGgpe3ZhciBsPWcud2IoKTtsLmFkZChkLGgpO3JldHVybiBsfSxlLGYpfWZ1bmN0aW9uIHJlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIHNlKGZ1bmN0aW9uKGgpe2cuc2V0KGQsaCk7cmV0dXJuIGd9LGUsZil9CmZ1bmN0aW9uIHRlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIHNlKGZ1bmN0aW9uKGgpe3ZhciBsPWcud2IoKTtsLlFoKGQsaCk7cmV0dXJuIGx9LGUsZil9ZnVuY3Rpb24gdWUoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKSxnPXRoaXMuVDtyZXR1cm4gc2UoZnVuY3Rpb24oaCl7dmFyIGw9Zy53YigpO2wuYWRkKGQsaCk7cmV0dXJuIGx9LGUsZil9CmZ1bmN0aW9uIHNlKGEsYixjKXtpZih0eXBlb2YgYj09PSJzdHJpbmciKXJldHVybiBtZShhLGZ1bmN0aW9uKCl7cmV0dXJuIGIubGVuZ3RofSxmdW5jdGlvbihkKXtyZXR1cm4gYltkXX0sYyk7aWYoYiBpbnN0YW5jZW9mIEdkKXJldHVybiBtZShhLGZ1bmN0aW9uKCl7cmV0dXJuIGIubGVuZ3RoKCl9LGZ1bmN0aW9uKGQpe3JldHVybiBiLmdldChkKX0sYyk7dGhyb3cgY2IoRXJyb3IoIlRoZSB2YWx1ZSBpcyBub3QgaXRlcmFibGUuIikpO30KZnVuY3Rpb24gdmUoYSxiLGMsZCl7ZnVuY3Rpb24gZShxLHIpe2Zvcih2YXIgdD0wO3Q8Zi5sZW5ndGgoKTt0Kyspe3ZhciB1PWYuZ2V0KHQpO3IuYWRkKHUscS5nZXQodSkpfX12YXIgZj10aGlzLmV2YWx1YXRlKGEpO2lmKCEoZiBpbnN0YW5jZW9mIEdkKSl0aHJvdyBFcnJvcigiVHlwZUVycm9yOiBOb24tTGlzdCBhcmd1bWVudCBnaXZlbiB0byBGb3JMZXQgaW5zdHJ1Y3Rpb24uIik7dmFyIGc9dGhpcy5ULGg9dGhpcy5ldmFsdWF0ZShkKSxsPWcud2IoKTtmb3IoZShnLGwpO2ZiKGwsYik7KXt2YXIgbj1lYihsLGgpO2lmKG4gaW5zdGFuY2VvZiBUYSl7aWYobi50eXBlPT09ImJyZWFrIilicmVhaztpZihuLnR5cGU9PT0icmV0dXJuIilyZXR1cm4gbn12YXIgcD1nLndiKCk7ZShsLHApO2ZiKHAsYyk7bD1wfX0KZnVuY3Rpb24gd2UoYSxiKXt2YXIgYz1PYS5hcHBseSgyLGFyZ3VtZW50cyksZD10aGlzLlQsZT10aGlzLmV2YWx1YXRlKGIpO2lmKCEoZSBpbnN0YW5jZW9mIEdkKSl0aHJvdyBFcnJvcigiRXJyb3I6IG5vbi1MaXN0IHZhbHVlIGdpdmVuIGZvciBGbiBhcmd1bWVudCBuYW1lcy4iKTtyZXR1cm4gbmV3IEtkKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZj1PYS5hcHBseSgwLGFyZ3VtZW50cyksZz1kLndiKCk7Zy54YigpPT09dm9pZCAwJiZnLnVlKHRoaXMuVC54YigpKTtmb3IodmFyIGg9W10sbD0wO2w8Zi5sZW5ndGg7bCsrKXt2YXIgbj10aGlzLmV2YWx1YXRlKGZbbF0pO2hbbF09bn1mb3IodmFyIHA9ZS5nZXQoImxlbmd0aCIpLHE9MDtxPHA7cSsrKXE8aC5sZW5ndGg/Zy5hZGQoZS5nZXQocSksaFtxXSk6Zy5hZGQoZS5nZXQocSksdm9pZCAwKTtnLmFkZCgiYXJndW1lbnRzIixuZXcgR2QoaCkpO3ZhciByPWViKGcsYyk7aWYociBpbnN0YW5jZW9mIFRhKXJldHVybiByLnR5cGU9PT0KInJldHVybiI/ci5kYXRhOnJ9fSgpKX1mdW5jdGlvbiB4ZShhKXt2YXIgYj10aGlzLmV2YWx1YXRlKGEpLGM9dGhpcy5UO2lmKHllJiYhYy5oYXMoYikpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKGIrIiBpcyBub3QgZGVmaW5lZC4iKTtyZXR1cm4gYy5nZXQoYil9CmZ1bmN0aW9uIHplKGEsYil7dmFyIGMsZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKTtpZihkPT09dm9pZCAwfHxkPT09bnVsbCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBDYW5ub3QgcmVhZCBwcm9wZXJ0aWVzIG9mICIrZCsiIChyZWFkaW5nICciK2UrIicpIikpO2lmKGQgaW5zdGFuY2VvZiBrYnx8ZCBpbnN0YW5jZW9mIFNkfHxkIGluc3RhbmNlb2YgR2R8fGQgaW5zdGFuY2VvZiBLZCljPWQuZ2V0KGUpO2Vsc2UgaWYodHlwZW9mIGQ9PT0ic3RyaW5nIillPT09Imxlbmd0aCI/Yz1kLmxlbmd0aDpGZChlKSYmKGM9ZFtlXSk7ZWxzZSBpZihkIGluc3RhbmNlb2YgUGQpcmV0dXJuO3JldHVybiBjfWZ1bmN0aW9uIEFlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk+dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiBCZShhLGIpe3JldHVybiB0aGlzLmV2YWx1YXRlKGEpPj10aGlzLmV2YWx1YXRlKGIpfQpmdW5jdGlvbiBDZShhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSksZD10aGlzLmV2YWx1YXRlKGIpO2MgaW5zdGFuY2VvZiBQZCYmKGM9Yy5nZXRWYWx1ZSgpKTtkIGluc3RhbmNlb2YgUGQmJihkPWQuZ2V0VmFsdWUoKSk7cmV0dXJuIGM9PT1kfWZ1bmN0aW9uIERlKGEsYil7cmV0dXJuIUNlLmNhbGwodGhpcyxhLGIpfWZ1bmN0aW9uIEVlKGEsYixjKXt2YXIgZD1bXTt0aGlzLmV2YWx1YXRlKGEpP2Q9dGhpcy5ldmFsdWF0ZShiKTpjJiYoZD10aGlzLmV2YWx1YXRlKGMpKTt2YXIgZT1lYih0aGlzLlQsZCk7aWYoZSBpbnN0YW5jZW9mIFRhKXJldHVybiBlfXZhciB5ZT0hMTsKZnVuY3Rpb24gRmUoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKTx0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uIEdlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk8PXRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gSGUoKXtmb3IodmFyIGE9bmV3IEdkLGI9MDtiPGFyZ3VtZW50cy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiXSk7YS5wdXNoKGMpfXJldHVybiBhfWZ1bmN0aW9uIEllKCl7Zm9yKHZhciBhPW5ldyBrYixiPTA7Yjxhcmd1bWVudHMubGVuZ3RoLTE7Yis9Mil7dmFyIGM9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYXJndW1lbnRzW2JdKSksZD10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiKzFdKTthLnNldChjLGQpfXJldHVybiBhfWZ1bmN0aW9uIEplKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkldGhpcy5ldmFsdWF0ZShiKX0KZnVuY3Rpb24gS2UoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKSp0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uIExlKGEpe3JldHVybi10aGlzLmV2YWx1YXRlKGEpfWZ1bmN0aW9uIE1lKGEpe3JldHVybiF0aGlzLmV2YWx1YXRlKGEpfWZ1bmN0aW9uIE5lKGEsYil7cmV0dXJuIWtlLmNhbGwodGhpcyxhLGIpfWZ1bmN0aW9uIE9lKCl7cmV0dXJuIG51bGx9ZnVuY3Rpb24gUGUoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKXx8dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiBRZShhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSk7dGhpcy5ldmFsdWF0ZShiKTtyZXR1cm4gY31mdW5jdGlvbiBSZShhKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKX1mdW5jdGlvbiBTZSgpe3JldHVybiBPYS5hcHBseSgwLGFyZ3VtZW50cyl9ZnVuY3Rpb24gVGUoYSl7cmV0dXJuIG5ldyBUYSgicmV0dXJuIix0aGlzLmV2YWx1YXRlKGEpKX0KZnVuY3Rpb24gVWUoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKTtpZihkPT09bnVsbHx8ZD09PXZvaWQgMCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBDYW4ndCBzZXQgcHJvcGVydHkgIitlKyIgb2YgIitkKyIuIikpOyhkIGluc3RhbmNlb2YgS2R8fGQgaW5zdGFuY2VvZiBHZHx8ZCBpbnN0YW5jZW9mIGtiKSYmZC5zZXQoU3RyaW5nKGUpLGYpO3JldHVybiBmfWZ1bmN0aW9uIFZlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSktdGhpcy5ldmFsdWF0ZShiKX0KZnVuY3Rpb24gV2UoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKTtpZighQXJyYXkuaXNBcnJheShlKXx8IUFycmF5LmlzQXJyYXkoZikpdGhyb3cgRXJyb3IoIkVycm9yOiBNYWxmb3JtZWQgc3dpdGNoIGluc3RydWN0aW9uLiIpO2Zvcih2YXIgZyxoPSExLGw9MDtsPGUubGVuZ3RoO2wrKylpZihofHxkPT09dGhpcy5ldmFsdWF0ZShlW2xdKSlpZihnPXRoaXMuZXZhbHVhdGUoZltsXSksZyBpbnN0YW5jZW9mIFRhKXt2YXIgbj1nLnR5cGU7aWYobj09PSJicmVhayIpcmV0dXJuO2lmKG49PT0icmV0dXJuInx8bj09PSJjb250aW51ZSIpcmV0dXJuIGd9ZWxzZSBoPSEwO2lmKGYubGVuZ3RoPT09ZS5sZW5ndGgrMSYmKGc9dGhpcy5ldmFsdWF0ZShmW2YubGVuZ3RoLTFdKSxnIGluc3RhbmNlb2YgVGEmJihnLnR5cGU9PT0icmV0dXJuInx8Zy50eXBlPT09ImNvbnRpbnVlIikpKXJldHVybiBnfQpmdW5jdGlvbiBYZShhLGIsYyl7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk/dGhpcy5ldmFsdWF0ZShiKTp0aGlzLmV2YWx1YXRlKGMpfWZ1bmN0aW9uIFllKGEpe3ZhciBiPXRoaXMuZXZhbHVhdGUoYSk7cmV0dXJuIGIgaW5zdGFuY2VvZiBLZD8iZnVuY3Rpb24iOnR5cGVvZiBifWZ1bmN0aW9uIFplKCl7Zm9yKHZhciBhPXRoaXMuVCxiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKyl7dmFyIGM9YXJndW1lbnRzW2JdO3R5cGVvZiBjIT09InN0cmluZyJ8fGEuYWRkKGMsdm9pZCAwKX19CmZ1bmN0aW9uICRlKGEsYixjLGQpe3ZhciBlPXRoaXMuZXZhbHVhdGUoZCk7aWYodGhpcy5ldmFsdWF0ZShjKSl7dmFyIGY9ZWIodGhpcy5ULGUpO2lmKGYgaW5zdGFuY2VvZiBUYSl7aWYoZi50eXBlPT09ImJyZWFrIilyZXR1cm47aWYoZi50eXBlPT09InJldHVybiIpcmV0dXJuIGZ9fWZvcig7dGhpcy5ldmFsdWF0ZShhKTspe3ZhciBnPWViKHRoaXMuVCxlKTtpZihnIGluc3RhbmNlb2YgVGEpe2lmKGcudHlwZT09PSJicmVhayIpYnJlYWs7aWYoZy50eXBlPT09InJldHVybiIpcmV0dXJuIGd9dGhpcy5ldmFsdWF0ZShiKX19ZnVuY3Rpb24gYWYoYSl7cmV0dXJufk51bWJlcih0aGlzLmV2YWx1YXRlKGEpKX1mdW5jdGlvbiBiZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSk8PE51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBjZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSk+Pk51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX0KZnVuY3Rpb24gZGYoYSxiKXtyZXR1cm4gTnVtYmVyKHRoaXMuZXZhbHVhdGUoYSkpPj4+TnVtYmVyKHRoaXMuZXZhbHVhdGUoYikpfWZ1bmN0aW9uIGVmKGEsYil7cmV0dXJuIE51bWJlcih0aGlzLmV2YWx1YXRlKGEpKSZOdW1iZXIodGhpcy5ldmFsdWF0ZShiKSl9ZnVuY3Rpb24gZmYoYSxiKXtyZXR1cm4gTnVtYmVyKHRoaXMuZXZhbHVhdGUoYSkpXk51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBnZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSl8TnVtYmVyKHRoaXMuZXZhbHVhdGUoYikpfWZ1bmN0aW9uIGhmKCl7fQpmdW5jdGlvbiBrZihhLGIsYyl7dHJ5e3ZhciBkPXRoaXMuZXZhbHVhdGUoYik7aWYoZCBpbnN0YW5jZW9mIFRhKXJldHVybiBkfWNhdGNoKGgpe2lmKCEoaCBpbnN0YW5jZW9mIGJiJiZoLlNuKSl0aHJvdyBoO3ZhciBlPXRoaXMuVC53YigpO2EhPT0iIiYmKGggaW5zdGFuY2VvZiBiYiYmKGg9aC52byksZS5hZGQoYSxuZXcgUGQoaCkpKTt2YXIgZj10aGlzLmV2YWx1YXRlKGMpLGc9ZWIoZSxmKTtpZihnIGluc3RhbmNlb2YgVGEpcmV0dXJuIGd9fWZ1bmN0aW9uIGxmKGEsYil7dmFyIGMsZDt0cnl7ZD10aGlzLmV2YWx1YXRlKGEpfWNhdGNoKGYpe2lmKCEoZiBpbnN0YW5jZW9mIGJiJiZmLlNuKSl0aHJvdyBmO2M9Zn12YXIgZT10aGlzLmV2YWx1YXRlKGIpO2lmKGUgaW5zdGFuY2VvZiBUYSlyZXR1cm4gZTtpZihjKXRocm93IGM7aWYoZCBpbnN0YW5jZW9mIFRhKXJldHVybiBkfTt2YXIgbmY9ZnVuY3Rpb24oKXt0aGlzLkg9bmV3IGdiO21mKHRoaXMpfTtuZi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ILnJrKGEpfTt2YXIgbWY9ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oYyxkKXt2YXIgZT1uZXcgTGQoU3RyaW5nKGMpLGQpO2UuWmEoKTt2YXIgZj1TdHJpbmcoYyk7YS5ILkguc2V0KGYsZSk7ZGIuc2V0KGYsZSl9O2IoIm1hcCIsSWUpO2IoImFuZCIsdGQpO2IoImNvbnRhaW5zIix3ZCk7YigiZXF1YWxzIix1ZCk7Yigib3IiLHZkKTtiKCJzdGFydHNXaXRoIix4ZCk7YigidmFyaWFibGUiLHlkKX07bmYucHJvdG90eXBlLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07dmFyIHBmPWZ1bmN0aW9uKCl7dGhpcy5LPSExO3RoaXMuSD1uZXcgZ2I7b2YodGhpcyk7dGhpcy5LPSEwfTtwZi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gcWYodGhpcy5ILnJrKGEpKX07dmFyIHJmPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gcWYoYS5ILkpxKGIsYykpfTtwZi5wcm90b3R5cGUuWmE9ZnVuY3Rpb24oKXt0aGlzLkguWmEoKX07CnZhciBvZj1mdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihjLGQpe3ZhciBlPVN0cmluZyhjKSxmPW5ldyBMZChlLGQpO2YuWmEoKTthLkguSC5zZXQoZSxmKTtkYi5zZXQoZSxmKX07YigwLFpkKTtiKDEsJGQpO2IoMixhZSk7YigzLGJlKTtiKDU2LGVmKTtiKDU3LGJmKTtiKDU4LGFmKTtiKDU5LGdmKTtiKDYwLGNmKTtiKDYxLGRmKTtiKDYyLGZmKTtiKDUzLGNlKTtiKDQsZGUpO2IoNSxlZSk7Yig2OCxrZik7Yig1MixmZSk7Yig2LGdlKTtiKDQ5LGhlKTtiKDcsSGUpO2IoOCxJZSk7Yig5LGVlKTtiKDUwLGllKTtiKDEwLGplKTtiKDEyLGtlKTtiKDEzLGxlKTtiKDY3LGxmKTtiKDUxLHdlKTtiKDQ3LG9lKTtiKDU0LHBlKTtiKDU1LHFlKTtiKDYzLHZlKTtiKDY0LHJlKTtiKDY1LHRlKTtiKDY2LHVlKTtiKDE1LHhlKTtiKDE2LHplKTtiKDE3LHplKTtiKDE4LEFlKTtiKDE5LEJlKTtiKDIwLENlKTtiKDIxLERlKTtiKDIyLEVlKTtiKDIzLEZlKTtiKDI0LEdlKTtiKDI1LEplKTtiKDI2LApLZSk7YigyNyxMZSk7YigyOCxNZSk7YigyOSxOZSk7Yig0NSxPZSk7YigzMCxQZSk7YigzMixRZSk7YigzMyxRZSk7YigzNCxSZSk7YigzNSxSZSk7Yig0NixTZSk7YigzNixUZSk7Yig0MyxVZSk7YigzNyxWZSk7YigzOCxXZSk7YigzOSxYZSk7Yig0MCxZZSk7Yig0NCxoZik7Yig0MSxaZSk7Yig0MiwkZSl9O3BmLnByb3RvdHlwZS5qZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkguamUoKX07cGYucHJvdG90eXBlLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07cGYucHJvdG90eXBlLnNkPWZ1bmN0aW9uKGEpe3RoaXMuSC5zZChhKX07CmZ1bmN0aW9uIHFmKGEpe2lmKGEgaW5zdGFuY2VvZiBUYXx8YSBpbnN0YW5jZW9mIEtkfHxhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkfHxhIGluc3RhbmNlb2YgUGR8fGE9PT1udWxsfHxhPT09dm9pZCAwfHx0eXBlb2YgYT09PSJzdHJpbmcifHx0eXBlb2YgYT09PSJudW1iZXIifHx0eXBlb2YgYT09PSJib29sZWFuIilyZXR1cm4gYX07dmFyIHNmPWZ1bmN0aW9uKGEpe3RoaXMubWVzc2FnZT1hfTtmdW5jdGlvbiB0ZihhKXthLnF2PSEwO3JldHVybiBhfTt2YXIgdWY9dGYoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9KSx2Zj10ZihmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn0pLHdmPXRmKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn0pO2Z1bmN0aW9uIHhmKGEpe3ZhciBiPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi1fIlthXTtyZXR1cm4gYj09PXZvaWQgMD9uZXcgc2YoIlZhbHVlICIrYSsiIGNhbiBub3QgYmUgZW5jb2RlZCBpbiB3ZWItc2FmZSBiYXNlNjQgZGljdGlvbmFyeS4iKTpifTtmdW5jdGlvbiB5ZihhKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiIxIjtjYXNlIDI6Y2FzZSA0OnJldHVybiIwIjtkZWZhdWx0OnJldHVybiItIn19O3ZhciB6Zj0vXlsxLTlhLXpBLVpfLV1bMS05YS1jXVsxLTlhLXZdXGQkLztmdW5jdGlvbiBBZihhLGIpe2Zvcih2YXIgYz0iIixkPSEwO2E+Nzspe3ZhciBlPWEmMzE7YT4+PTU7ZD9kPSExOmV8PTMyO2M9IiIreGYoZSkrY31hPDw9MjtkfHwoYXw9MzIpO3JldHVybiBjPSIiK3hmKGF8YikrY31mdW5jdGlvbiBCZihhLGIpe3JldHVybiBiPT09dm9pZCAwfHxiPT09MD8iIjoiIitBZihhLDEpK3hmKGIpfQpmdW5jdGlvbiBDZihhLGIpe3ZhciBjO3ZhciBkPWEuaGksZT1hLmJrO2Q9PT12b2lkIDA/Yz0iIjooZXx8KGU9MCksYz0iIitBZigxLDEpK3hmKGQ8PDJ8ZSkpO3ZhciBmPSI0IitjK0JmKDIsYS5xciksZyxoPWEuSW87Zz1oJiZ6Zi50ZXN0KGgpPyIiK0FmKDMsMikraDoiIjt2YXIgbDt2YXIgbj1hLmN0aWQ7aWYobiYmYil7dmFyIHA9QWYoNSwzKSxxPW4uc3BsaXQoIi0iKSxyPXFbMF0udG9VcHBlckNhc2UoKTtpZihyIT09IkdUTSImJnIhPT0iT1BUIilsPSIiO2Vsc2V7dmFyIHQ9cVsxXTtsPSIiK3AreGYoMSt0Lmxlbmd0aCkrKGEuTHN8fDApK3R9fWVsc2UgbD0iIjt2YXIgdT1hLmNhbm9uaWNhbElkLHY9YS5tYyx4PWEuenYseT1mK2crQmYoNCxhLkRvKStsK0JmKDYsYS5EdCkrKHU/IiIrQWYoNywzKSt4Zih1Lmxlbmd0aCkrdToiIikrKHY/IiIrQWYoOCwzKSt4Zih2Lmxlbmd0aCkrdjoiIikrKHg/IiIrQWYoOSwzKSt4Zih4Lmxlbmd0aCkreDoiIiksejt2YXIgQz1hLnpyO0M9CkM9PT12b2lkIDA/e306Qztmb3IodmFyIEQ9W10sST1tKE9iamVjdC5rZXlzKEMpKSxHPUkubmV4dCgpOyFHLmRvbmU7Rz1JLm5leHQoKSl7dmFyIE49Ry52YWx1ZTtEW051bWJlcihOKV09Q1tOXX1pZihELmxlbmd0aCl7dmFyIFM9QWYoMTAsMyksVztpZihELmxlbmd0aD09PTApVz14ZigwKTtlbHNle2Zvcih2YXIgZWE9W10samE9MCxmYT0hMSxzYT0wO3NhPEQubGVuZ3RoO3NhKyspe2ZhPSEwO3ZhciBkYT1zYSU2O0Rbc2FdJiYoamF8PTE8PGRhKTtkYT09PTUmJihlYS5wdXNoKHhmKGphKSksamE9MCxmYT0hMSl9ZmEmJmVhLnB1c2goeGYoamEpKTtXPWVhLmpvaW4oIiIpfXZhciBtYT1XO3o9IiIrUyt4ZihtYS5sZW5ndGgpK21hfWVsc2Ugej0iIjt2YXIgUGE9YS5VcyxGYT1hLm50O3JldHVybiB5K3orKFBhPyIiK0FmKDExLDMpK3hmKFBhLmxlbmd0aCkrUGE6IiIpKyhGYT8iIitBZigxMywzKSt4ZihGYS5sZW5ndGgpK0ZhOiIiKStCZigxNCxhLkV0KStCZigxNSxhLnJ2KStCZigxNiwKYS5Bdil9O2Z1bmN0aW9uIERmKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJDb2RlQXQoZCk7ZTwxMjg/YltjKytdPWU6KGU8MjA0OD9iW2MrK109ZT4+NnwxOTI6KChlJjY0NTEyKT09NTUyOTYmJmQrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChkKzEpJjY0NTEyKT09NTYzMjA/KGU9NjU1MzYrKChlJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2QpJjEwMjMpLGJbYysrXT1lPj4xOHwyNDAsYltjKytdPWU+PjEyJjYzfDEyOCk6YltjKytdPWU+PjEyfDIyNCxiW2MrK109ZT4+NiY2M3wxMjgpLGJbYysrXT1lJjYzfDEyOCl9cmV0dXJuIGJ9O2Z1bmN0aW9uIEVmKGEsYil7Zm9yKHZhciBjPXFiKGIpLGQ9bmV3IFVpbnQ4QXJyYXkoYy5sZW5ndGgpLGU9MDtlPGMubGVuZ3RoO2UrKylkW2VdPWMuY2hhckNvZGVBdChlKTtpZihkLmxlbmd0aCE9PTMyKXRocm93IEVycm9yKCJLZXkgaXMgbm90IDMyIGJ5dGVzLiIpO3JldHVybiBGZihhLGQpfWZ1bmN0aW9uIEZmKGEsYil7aWYoYT09PSIiKXJldHVybiIiO3ZhciBjPVpiKGEpLGQ9Yi5zbGljZSgtMiksZT1bXS5jb25jYXQodyhkKSx3KGMpKS5tYXAoZnVuY3Rpb24oZyxoKXtyZXR1cm4gZ15iW2glYi5sZW5ndGhdfSksZj1uZXcgVWludDhBcnJheShbXS5jb25jYXQodyhlKSx3KGQpKSk7cmV0dXJuIHBiKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLHcoZikpKS5yZXBsYWNlKC9cLiskLywiIil9O3ZhciBHZj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYil7cmV0dXJue3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9fX1yZXR1cm57Y3A6YSgiY29uc2VudCIpLFprOmEoImNvbnZlcnRfY2FzZV90byIpLGFsOmEoImNvbnZlcnRfZmFsc2VfdG8iKSxibDphKCJjb252ZXJ0X251bGxfdG8iKSxlcDphKCJjb252ZXJ0X3RvX2Jvb2xlYW4iKSxhaDphKCJjb252ZXJ0X3RvX251bWJlciIpLGZsOmEoImNvbnZlcnRfdHJ1ZV90byIpLGlsOmEoImNvbnZlcnRfdW5kZWZpbmVkX3RvIiksWXQ6YSgiZGVidWdfbW9kZV9tZXRhZGF0YSIpLFliOmEoImZ1bmN0aW9uIiksUm06YSgiaW5zdGFuY2VfbmFtZSIpLE5xOmEoImxpdmVfb25seSIpLE9xOmEoIm1hbHdhcmVfZGlzYWJsZWQiKSxNRVRBREFUQTphKCJtZXRhZGF0YSIpLFJxOmEoIm9yaWdpbmFsX2FjdGl2aXR5X2lkIiksVHU6YSgib3JpZ2luYWxfdmVuZG9yX3RlbXBsYXRlX2lkIiksU3U6YSgib25jZV9vbl9sb2FkIiksUXE6YSgib25jZV9wZXJfZXZlbnQiKSwKa246YSgib25jZV9wZXJfbG9hZCIpLFZ1OmEoInByaW9yaXR5X292ZXJyaWRlIiksWXU6YSgicmVzcGVjdGVkX2NvbnNlbnRfdHlwZXMiKSx0bjphKCJzZXR1cF90YWdzIikseWo6YSgidGFnX2lkIiksRG46YSgidGVhcmRvd25fdGFncyIpLHBsOmEoImRpc2FibGVkX2luX2dvb2dsZV9tb2RlIiksRnE6YSgiZ2VuZXJhdGVkX3RhZ2dpbmdfbWV0YWRhdGEiKX19KCk7ZnVuY3Rpb24gSGYoYSxiKXt2YXIgYz17fTtjW0dmLlliXT0iX18iK2E7Zm9yKHZhciBkIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShkKSYmKGNbInZ0cF8iK2RdPWJbZF0pO3JldHVybiBjfTtmdW5jdGlvbiBJZihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBjLGQ7cmV0dXJuKChjPWRhdGEpPT1udWxsPzA6KGQ9Yy5ibG9iKT09bnVsbD8wOmQuaGFzT3duUHJvcGVydHkoYSkpPyEhZGF0YS5ibG9iW2FdOmJ9ZnVuY3Rpb24gRShhKXt2YXIgYjtiPWI9PT12b2lkIDA/IiI6Yjt2YXIgYyxkO3JldHVybigoYz1kYXRhKT09bnVsbD8wOihkPWMuYmxvYik9PW51bGw/MDpkLmhhc093blByb3BlcnR5KGEpKT9TdHJpbmcoZGF0YS5ibG9iW2FdKTpifWZ1bmN0aW9uIEpmKGEpe3ZhciBiLGM7cmV0dXJuKChiPWRhdGEpPT1udWxsPzA6KGM9Yi5ibG9iKT09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP051bWJlcihkYXRhLmJsb2JbYV0pOjB9ZnVuY3Rpb24gS2YoYSl7dmFyIGI7Yj1iPT09dm9pZCAwP1tdOmI7dmFyIGMsZCxlPShjPWRhdGEpPT1udWxsP3ZvaWQgMDooZD1jLmJsb2IpPT1udWxsP3ZvaWQgMDpkW2FdO3JldHVybiBBcnJheS5pc0FycmF5KGUpP2U6Yn0KZnVuY3Rpb24gTGYoYSl7dmFyIGI7Yj1iPT09dm9pZCAwPyIiOmI7dmFyIGM9TWYoNDYpO3JldHVybiBjJiYoYz09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP1N0cmluZyhjW2FdKTpifWZ1bmN0aW9uIE5mKGEsYil7dmFyIGM9TWYoNDYpO3JldHVybiBjJiYoYz09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP051bWJlcihjW2FdKTpifWZ1bmN0aW9uIE1mKGEpe3ZhciBiLGM7cmV0dXJuKGI9ZGF0YSk9PW51bGw/dm9pZCAwOihjPWIuYmxvYik9PW51bGw/dm9pZCAwOmNbYV19O3ZhciBPZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7ZD1FcnJvci5jYWxsKHRoaXMsYyk7dGhpcy5tZXNzYWdlPWQubWVzc2FnZTsic3RhY2siaW4gZCYmKHRoaXMuc3RhY2s9ZC5zdGFjayk7dGhpcy5wZXJtaXNzaW9uSWQ9YTt0aGlzLnBhcmFtZXRlcnM9Yjt0aGlzLm5hbWU9IlBlcm1pc3Npb25FcnJvciJ9O3dhKE9mLEVycm9yKTtPZi5wcm90b3R5cGUuZ2V0TWVzc2FnZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1lc3NhZ2V9O2Z1bmN0aW9uIFBmKGEsYil7aWYoQXJyYXkuaXNBcnJheShhKSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsImNvbnRleHQiLHt2YWx1ZTp7bGluZTpiWzBdfX0pO2Zvcih2YXIgYz0xO2M8YS5sZW5ndGg7YysrKVBmKGFbY10sYltjXSl9fTtmdW5jdGlvbiBRZigpe3JldHVybiBmdW5jdGlvbihhLGIpe3ZhciBjO3ZhciBkPVJmO2EgaW5zdGFuY2VvZiBiYj8oYS5IPWQsYz1hKTpjPW5ldyBiYihhLGQpO3ZhciBlPWM7YiYmZS5LLnB1c2goYik7dGhyb3cgZTt9fWZ1bmN0aW9uIFJmKGEpe2lmKCFhLmxlbmd0aClyZXR1cm4gYTthLnB1c2goe2lkOiJtYWluIixsaW5lOjB9KTtmb3IodmFyIGI9YS5sZW5ndGgtMTtiPjA7Yi0tKUFiKGFbYl0uaWQpJiZhLnNwbGljZShiKyssMSk7Zm9yKHZhciBjPWEubGVuZ3RoLTE7Yz4wO2MtLSlhW2NdLmxpbmU9YVtjLTFdLmxpbmU7YS5zcGxpY2UoMCwxKTtyZXR1cm4gYX07dmFyIFNmPVJlZ0V4cCgiW14wLTlcXC4rLV0iLCJnIiksVGY9UmVnRXhwKCJbXjAtOVxcLCstXSIsImciKSxVZj1SZWdFeHAoIlteMC05Ky1dIiwiZyIpOwpmdW5jdGlvbiBWZihhLGIpe2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuIGE7dmFyIGM9U3RyaW5nKGEpLGQ7aWYoYj09PSJBVVRPTUFUSUMiKXt2YXIgZT0oYy5tYXRjaCgvXC4vZyl8fFtdKS5sZW5ndGgsZj0oYy5tYXRjaCgvLC9nKXx8W10pLmxlbmd0aCxnPSJOT05FIjtpZihlPjAmJmY+MCl7dmFyIGg9Yy5sYXN0SW5kZXhPZigiLiIpPmMubGFzdEluZGV4T2YoIiwiKTtoJiZlPT09MT9nPSJQRVJJT0QiOmh8fGYhPT0xfHwoZz0iQ09NTUEiKX1lbHNlIGU9PT0xP2c9KGMuc3BsaXQoIi4iKVsxXS5tYXRjaCgvWzAtOV0vZyl8fFtdKS5sZW5ndGghPT0zPyJQRVJJT0QiOiJOT05FIjpmPT09MSYmKGc9KGMuc3BsaXQoIiwiKVsxXS5tYXRjaCgvWzAtOV0vZyl8fFtdKS5sZW5ndGghPT0zPyJDT01NQSI6Ik5PTkUiKTtkPWd9ZWxzZSBkPWI9PT0iQ09NTUEiPyJDT01NQSI6IlBFUklPRCI7dmFyIGwsbjtkPT09IlBFUklPRCI/KGw9Ii4iLG49U2YpOmQ9PT0iQ09NTUEiPyhsPSIsIiwKbj1UZik6KGw9IiIsbj1VZik7dmFyIHA9Yy5yZXBsYWNlKG4sIiIpO2lmKGwhPT0iIiYmcC5zcGxpdChsKS5sZW5ndGg+MilyZXR1cm4gYTt2YXIgcT1wLnJlcGxhY2UoLywvZywiLiIpO2lmKHE9PT0iIilyZXR1cm4gYTt2YXIgcj1OdW1iZXIocSk7cmV0dXJuIGlzTmFOKHIpP2E6cn07dmFyIFdmPVtdLFhmPXt9O2Z1bmN0aW9uIFlmKGEpe3JldHVybiBXZlthXT09PXZvaWQgMD8hMTpXZlthXX07dmFyIFpmPWZ1bmN0aW9uKCl7dGhpcy5IPXt9fSwkZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7KGQ9YS5IKVtiXSE9bnVsbHx8KGRbYl09W10pO2EuSFtiXS5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIGMuYXBwbHkobnVsbCx3KE9hLmFwcGx5KDAsYXJndW1lbnRzKSkpfSl9O2Z1bmN0aW9uIGFnKGEsYixjLGQpe2lmKGEpZm9yKHZhciBlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBmPXZvaWQgMCxnPSJBIHBvbGljeSBmdW5jdGlvbiBkZW5pZWQgdGhlIHBlcm1pc3Npb24gcmVxdWVzdCI7dHJ5e2Y9YVtlXShiLGMsZCksZys9Ii4ifWNhdGNoKGgpe2c9dHlwZW9mIGg9PT0ic3RyaW5nIj9nKygiOiAiK2gpOmggaW5zdGFuY2VvZiBFcnJvcj9nKygiOiAiK2gubWVzc2FnZSk6ZysiLiJ9aWYoIWYpdGhyb3cgbmV3IE9mKGMsZCxnKTt9fQpmdW5jdGlvbiBiZyhhLGIpe3ZhciBjPWNnKGRnLkgsYixmdW5jdGlvbigpe3JldHVybnt9fSk7dHJ5e3JldHVybiBjKGEpLCEwfWNhdGNoKGQpe3JldHVybiExfX1mdW5jdGlvbiBjZyhhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe2lmKGQpe3ZhciBlPWEuSFtkXSxmPWEuSC5hbGw7aWYoZXx8Zil7dmFyIGc9Yy5hcHBseSh2b2lkIDAsW2RdLmNvbmNhdCh3KE9hLmFwcGx5KDEsYXJndW1lbnRzKSkpKTthZyhlLGIsZCxnKTthZyhmLGIsZCxnKX19fX07dmFyIGdnPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzO3RoaXMuSz17fTt0aGlzLkg9bmV3IFpmO3ZhciBlPXt9LGY9e30sZz1jZyh0aGlzLkgsYSxmdW5jdGlvbihoKXtyZXR1cm4gaCYmZVtoXT9lW2hdLmFwcGx5KHZvaWQgMCxbaF0uY29uY2F0KHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSkpOnt9fSk7R2IoYixmdW5jdGlvbihoLGwpe2Z1bmN0aW9uIG4ocSl7dmFyIHI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2lmKCFwW3FdKXRocm93IGVnKHEse30sIlRoZSByZXF1ZXN0ZWQgYWRkaXRpb25hbCBwZXJtaXNzaW9uICIrcSsiIGlzIG5vdCBjb25maWd1cmVkLiIpO2cuYXBwbHkobnVsbCxbcV0uY29uY2F0KHcocikpKX12YXIgcD17fTtHYihsLGZ1bmN0aW9uKHEscil7dmFyIHQ9ZmcocSxyLGMpO3BbcV09dC5hc3NlcnQ7ZVtxXXx8KGVbcV09dC5hYSk7dC5PbiYmIWZbcV0mJihmW3FdPXQuT24pfSk7ZC5LW2hdPWZ1bmN0aW9uKHEscil7dmFyIHQ9cFtxXTtpZighdCl0aHJvdyBlZyhxLAp7fSwiVGhlIHJlcXVlc3RlZCBwZXJtaXNzaW9uICIrcSsiIGlzIG5vdCBjb25maWd1cmVkLiIpO3ZhciB1PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTt0LmFwcGx5KHZvaWQgMCx1KTtnLmFwcGx5KHZvaWQgMCx1KTt2YXIgdj1mW3FdO3YmJnYuYXBwbHkobnVsbCxbbl0uY29uY2F0KHcodS5zbGljZSgxKSkpKX19KX0saGc9ZnVuY3Rpb24oYSl7cmV0dXJuIGRnLktbYV18fGZ1bmN0aW9uKCl7fX07CmZ1bmN0aW9uIGZnKGEsYixjKXt0cnl7dmFyIGQ9Y1siX18iK2FdO2lmKCFkKXRocm93IEVycm9yKCJObyBmdW5jdGlvbiBmb3VuZCBmb3IgcGVybWlzc2lvbjogIithKyIuIik7dmFyIGU9SGYoYSxiKTtlLnZ0cF9wZXJtaXNzaW9uTmFtZT1hO2UudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcj1lZztkZWxldGUgZVtHZi5ZYl07cmV0dXJuIGQoZSl9Y2F0Y2goZil7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihnKXt0aHJvdyBuZXcgT2YoZyx7fSwiUGVybWlzc2lvbiAiK2crIiBpcyB1bmtub3duLiIpO30sYWE6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgT2YoYSx7fSwiUGVybWlzc2lvbiAiK2ErIiBpcyB1bmtub3duLiIpO319fX1mdW5jdGlvbiBlZyhhLGIsYyl7cmV0dXJuIG5ldyBPZihhLGIsYyl9O3ZhciBpZz1FKDUpLGpnPUUoMjApLGtnPUUoMSksbGc9ITE7dmFyIG1nPXt9O21nLlBvPUlmKDI5KTttZy5Lcj1JZigyOCk7ZnVuY3Rpb24gbmcoYSl7dmFyIGI9MSxjLGQsZTtpZihhKWZvcihiPTAsZD1hLmxlbmd0aC0xO2Q+PTA7ZC0tKWU9YS5jaGFyQ29kZUF0KGQpLGI9KGI8PDYmMjY4NDM1NDU1KStlKyhlPDwxNCksYz1iJjI2NjMzODMwNCxiPWMhPT0wP2JeYz4+MjE6YjtyZXR1cm4gYn07dmFyIG9nPWZ1bmN0aW9uKGEpe3RoaXMuY2FjaGU9YX07b2cucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXt2YXIgYj1uZyhhKSxjPXRoaXMuY2FjaGUuZ2V0KGIpO2lmKCFjKXJldHVybntwcm9taXNlOnZvaWQgMCxLajowfTtpZihEYXRlLm5vdygpPj1jLnRpbWVzdGFtcCs5RTUpcmV0dXJuIHRoaXMuY2FjaGUuZGVsZXRlKGIpLHtwcm9taXNlOnZvaWQgMCxLajozfTt2YXIgZD1jLnJlc29sdmVkVmFsdWU/MjoxO3JldHVybntwcm9taXNlOmMucmVzb2x2ZWRWYWx1ZT9Qcm9taXNlLnJlc29sdmUoYy5yZXNvbHZlZFZhbHVlKTpjLnByb21pc2UsS2o6ZH19O29nLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz17cHJvbWlzZTpiLHJlc29sdmVkVmFsdWU6dm9pZCAwLHRpbWVzdGFtcDpEYXRlLm5vdygpfTt0aGlzLmNhY2hlLnNldChuZyhhKSxjKTtiLnRoZW4oZnVuY3Rpb24oZCl7Yy5yZXNvbHZlZFZhbHVlPWR9KX07ZnVuY3Rpb24gcGcoYSl7c3dpdGNoKGEpe2Nhc2UgMDpicmVhaztjYXNlIDk6cmV0dXJuImU0IjtjYXNlIDY6cmV0dXJuImU1IjtjYXNlIDE0OnJldHVybiJlNiI7ZGVmYXVsdDpyZXR1cm4iZTcifX07dmFyIEY9e0Q6e1hhOiJhZF9wZXJzb25hbGl6YXRpb24iLGthOiJhZF9zdG9yYWdlIixtYToiYWRfdXNlcl9kYXRhIixyYToiYW5hbHl0aWNzX3N0b3JhZ2UiLG5jOiJyZWdpb24iLHNhOiJjb25zZW50X3VwZGF0ZWQiLFlnOiJ3YWl0X2Zvcl91cGRhdGUiLGVoOiJlbmRwb2ludF90eXBlIixxcDoiYXBwX3JlbW92ZSIscnA6ImFwcF9zdG9yZV9yZWZ1bmQiLHRwOiJhcHBfc3RvcmVfc3Vic2NyaXB0aW9uX2NhbmNlbCIsdXA6ImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY29udmVydCIsdnA6ImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fcmVuZXciLHdwOiJjb25zZW50X3VwZGF0ZSIseHA6ImNvbnZlcnNpb24iLHZsOiJhZGRfcGF5bWVudF9pbmZvIix3bDoiYWRkX3NoaXBwaW5nX2luZm8iLHhlOiJhZGRfdG9fY2FydCIseWU6InJlbW92ZV9mcm9tX2NhcnQiLHhsOiJ2aWV3X2NhcnQiLEFkOiJiZWdpbl9jaGVja291dCIsZXU6ImdlbmVyYXRlX2xlYWQiLHplOiJzZWxlY3RfaXRlbSIsb2M6InZpZXdfaXRlbV9saXN0IiwKUWM6InNlbGVjdF9wcm9tb3Rpb24iLHFjOiJ2aWV3X3Byb21vdGlvbiIsSWI6InB1cmNoYXNlIixBZToicmVmdW5kIixyYzoidmlld19pdGVtIix5bDoiYWRkX3RvX3dpc2hsaXN0Iix5cDoiZXhjZXB0aW9uIix6cDoiZmlyc3Rfb3BlbiIsQXA6ImZpcnN0X3Zpc2l0Iix3YToiZ3RhZy5jb25maWciLEpiOiJndGFnLmdldCIsQnA6ImluX2FwcF9wdXJjaGFzZSIsc2M6InBhZ2VfdmlldyIsQ3A6InNjcmVlbl92aWV3IixEcDoic2Vzc2lvbl9zdGFydCIsRXA6InNvdXJjZV91cGRhdGUiLEZwOiJ0aW1pbmdfY29tcGxldGUiLEdwOiJ0cmFja19zb2NpYWwiLHlmOiJ1c2VyX2VuZ2FnZW1lbnQiLEhwOiJ1c2VyX2lkX3VwZGF0ZSIsZmg6ImJyYWlkX2xpbmtfZGVjb3JhdGlvbl9zb3VyY2UiLGdoOiJicmFpZF9zdG9yYWdlX3NvdXJjZSIsQmQ6ImdjbGlkX2xpbmtfZGVjb3JhdGlvbl9zb3VyY2UiLENkOiJnY2xpZF9zdG9yYWdlX3NvdXJjZSIsU2I6ImdjbGdiIixsYjoiZ2NsaWQiLHpsOiJnY2xpZF9sZW4iLApCZToiZ2NsZ3MiLENlOiJnY2xscCIsRGU6ImdjbHN0IixtYjoiYWRzX2RhdGFfcmVkYWN0aW9uIix6ZjoiZ2FkX3NvdXJjZSIsQWY6ImdhZF9zb3VyY2Vfc3JjIixEZDoiZ2NsaWRfdXJsIixBbDoiZ2Nsc3JjIixCZjoiZ2JyYWlkIixFZToid2JyYWlkIixSYzoiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uX3NpZ25hbHMiLHJpOiJhbGxvd19jdXN0b21fc2NyaXB0cyIsaGg6ImFsbG93X2Rpc3BsYXlfZmVhdHVyZXMiLHNpOiJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyIsU2M6ImFsbG93X2dvb2dsZV9zaWduYWxzIix1aToiYWxsb3dfaW50ZXJlc3RfZ3JvdXBzIixJcDoiYXBwX2lkIixKcDoiYXBwX2luc3RhbGxlcl9pZCIsS3A6ImFwcF9uYW1lIixMcDoiYXBwX3ZlcnNpb24iLEVkOiJhdWlkIixmdToiYXV0b19kZXRlY3Rpb25fZW5hYmxlZCIsQmw6ImF1dG9fZXZlbnQiLENsOiJhd19yZW1hcmtldGluZyIsaWg6ImF3X3JlbWFya2V0aW5nX29ubHkiLENmOiJkaXNjb3VudCIsRGY6ImF3X2ZlZWRfY291bnRyeSIsCkVmOiJhd19mZWVkX2xhbmd1YWdlIixIYToiaXRlbXMiLEZmOiJhd19tZXJjaGFudF9pZCIsd2k6ImF3X2Jhc2tldF90eXBlIixHZjoiY2FtcGFpZ25fY29udGVudCIsSGY6ImNhbXBhaWduX2lkIixJZjoiY2FtcGFpZ25fbWVkaXVtIixKZjoiY2FtcGFpZ25fbmFtZSIsS2Y6ImNhbXBhaWduIixMZjoiY2FtcGFpZ25fc291cmNlIixNZjoiY2FtcGFpZ25fdGVybSIsS2I6ImNsaWVudF9pZCIsRGw6InJuZCIseGk6ImNvbnNlbnRfdXBkYXRlX3R5cGUiLE1wOiJjb250ZW50X2dyb3VwIixOcDoiY29udGVudF90eXBlIixGZDoiY29udmVyc2lvbl9jb29raWVfcHJlZml4Iix5aToiY29udmVyc2lvbl9pZCIsdWM6ImNvbnZlcnNpb25fbGlua2VyIixIZDoiY29udmVyc2lvbl9saW5rZXJfZGlzYWJsZWQiLEZlOiJjb252ZXJzaW9uX2FwaSIsemk6Il8mcmNiIixqaDoiY29va2llX2RlcHJlY2F0aW9uIixMYjoiY29va2llX2RvbWFpbiIsQ2I6ImNvb2tpZV9leHBpcmVzIixUYjoiY29va2llX2ZsYWdzIiwKSWQ6ImNvb2tpZV9uYW1lIix2YzoiY29va2llX3BhdGgiLG5iOiJjb29raWVfcHJlZml4IixKZDoiY29va2llX3VwZGF0ZSIsVGM6ImNvdW50cnkiLGViOiJjdXJyZW5jeSIsR2U6ImN1c3RvbWVyX2xpZmV0aW1lX3ZhbHVlIixraDoiY3VzdG9tZXJfdHlwZSIsSGU6ImN1c3RvbV9tYXAiLEFpOiJnY2xkY19saW5rX2RlY29yYXRpb25fc291cmNlIixCaToiZ2NsZGNfc3RvcmFnZV9zb3VyY2UiLE5mOiJnY2xkYyIsS2Q6ImRjbGlkIixFbDoiZGVidWdfbW9kZSIsT2E6ImRldmVsb3Blcl9pZCIsT3A6ImRpc2FibGVfbWVyY2hhbnRfcmVwb3J0ZWRfcHVyY2hhc2VzIixVYzoiZGNfY3VzdG9tX3BhcmFtcyIsUHA6ImRjX25hdHVyYWxfc2VhcmNoIixRcDoiZHluYW1pY19ldmVudF9zZXR0aW5ncyIsRmw6ImFmZmlsaWF0aW9uIixtaDoiY2hlY2tvdXRfb3B0aW9uIixDaToiY2hlY2tvdXRfc3RlcCIsR2w6ImNvdXBvbiIsT2Y6Iml0ZW1fbGlzdF9uYW1lIixEaToibGlzdF9uYW1lIixScDoicHJvbW90aW9ucyIsCkxkOiJzaGlwcGluZyIsSGw6InRheCIsbmg6ImVuZ2FnZW1lbnRfdGltZV9tc2VjIixvaDoiZW5oYW5jZWRfY2xpZW50X2lkIixTcDoiZW5oYW5jZWRfY29udmVyc2lvbnMiLGd1OiJlbmhhbmNlZF9jb252ZXJzaW9uc19hdXRvbWF0aWNfc2V0dGluZ3MiLEllOiJlc3RpbWF0ZWRfZGVsaXZlcnlfZGF0ZSIsUGY6ImV2ZW50X2NhbGxiYWNrIixUcDoiZXZlbnRfY2F0ZWdvcnkiLFZjOiJldmVudF9kZXZlbG9wZXJfaWRfc3RyaW5nIixNZDoiZXZlbnRfaWQiLEVpOiJfZXZlbnRfam9pbl9pZCIsVXA6ImV2ZW50X2xhYmVsIixVYjoiZXZlbnQiLElsOiJfJmFlIixGaToiZXZlbnRfc2V0dGluZ3MiLHBoOiJldmVudF90aW1lb3V0IixWcDoiZGVzY3JpcHRpb24iLFdwOiJmYXRhbCIsWHA6ImV4cGVyaW1lbnRzIixOZDoiZXh0X2NsaWVudF9pZCIsR2k6ImZpcmViYXNlX2lkIixRZjoiZmlyc3RfcGFydHlfY29sbGVjdGlvbiIsUmY6Il94XzIwIixWYjoiX3hfMTkiLFlwOiJmbGlnaHRfZXJyb3JfY29kZSIsClpwOiJmbGlnaHRfZXJyb3JfbWVzc2FnZSIsSGk6ImZsX2FjdGl2aXR5X2NhdGVnb3J5IixJaToiZmxfYWN0aXZpdHlfZ3JvdXAiLHFoOiJmbF9hZHZlcnRpc2VyX2lkIixKaToibWF0Y2hfaWQiLEpsOiJmbF9yYW5kb21fbnVtYmVyIixLbDoidHJhbiIsTGw6InUiLHJoOiJnYWNfZ2NsaWQiLEplOiJnYWNfd2JyYWlkIixNbDoiZ2FjX3dicmFpZF9tdWx0aXBsZV9jb252ZXJzaW9ucyIsYXE6ImdhX3Jlc3RyaWN0X2RvbWFpbiIsTmw6ImdhX3RlbXBfY2xpZW50X2lkIixicToiZ2FfdGVtcF9lY2lkIixLZToiZ2Rwcl9hcHBsaWVzIixzaDoiX2d0X21ldGFkYXRhIixPbDoiZ2VvX2dyYW51bGFyaXR5IixTZjoidmFsdWVfY2FsbGJhY2siLFRmOiJ2YWx1ZV9rZXkiLFRhOiJnb29nbGVfYW5hbHlzaXNfcGFyYW1zIixMZToiX2dvb2dsZV9uZyIsY3E6Il9vbm8iLFVmOiJnb29nbGVfc2lnbmFscyIsZnE6Imdvb2dsZV90bGQiLHRoOiJncHBfc2lkIix1aDoiZ3BwX3N0cmluZyIsT2Q6Imdyb3VwcyIsClBsOiJnc2FfZXhwZXJpbWVudF9pZCIsVmY6Imd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSIsUWw6Imd0bV91cCIsTWU6ImlmcmFtZV9zdGF0ZSIsV2Y6Imlnbm9yZV9yZWZlcnJlciIsUmw6ImludGVybmFsX3RyYWZmaWNfcmVzdWx0cyIsU2w6Il9pc19mcG0iLFljOiJpc19sZWdhY3lfY29udmVydGVkIixaYzoiaXNfbGVnYWN5X2xvYWRlZCIsS2k6ImlzX3Bhc3N0aHJvdWdoIixQZDoiX2xwcyIsdGI6Imxhbmd1YWdlIixMaToibGVnYWN5X2RldmVsb3Blcl9pZF9zdHJpbmciLERiOiJsaW5rZXIiLFhmOiJhY2NlcHRfaW5jb21pbmciLHdjOiJkZWNvcmF0ZV9mb3JtcyIsQWE6ImRvbWFpbnMiLGFkOiJ1cmxfcG9zaXRpb24iLFFkOiJtZXJjaGFudF9mZWVkX2xhYmVsIixSZDoibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSIsU2Q6Im1lcmNoYW50X2lkIixUbDoibWV0aG9kIixncToibmFtZSIsVWw6Im5hdmlnYXRpb25fdHlwZSIsTmU6Im5ld19jdXN0b21lciIsTWk6Im5vbl9pbnRlcmFjdGlvbiIsCmhxOiJvcHRpbWl6ZV9pZCIsVmw6InBhZ2VfaG9zdG5hbWUiLFlmOiJwYWdlX3BhdGgiLFVhOiJwYWdlX3JlZmVycmVyIixNYjoicGFnZV90aXRsZSIsaXE6InBhc3NlbmdlcnMiLFdsOiJwaG9uZV9jb252ZXJzaW9uX2NhbGxiYWNrIixqcToicGhvbmVfY29udmVyc2lvbl9jb3VudHJ5X2NvZGUiLFhsOiJwaG9uZV9jb252ZXJzaW9uX2Nzc19jbGFzcyIsa3E6InBob25lX2NvbnZlcnNpb25faWRzIixZbDoicGhvbmVfY29udmVyc2lvbl9udW1iZXIiLFpsOiJwaG9uZV9jb252ZXJzaW9uX29wdGlvbnMiLGxxOiJfcGxhdGludW1fcmVxdWVzdF9zdGF0dXMiLG1xOiJfcHJvdGVjdGVkX2F1ZGllbmNlX2VuYWJsZWQiLHdoOiJxdWFudGl0eSIseGg6InJlZGFjdF9kZXZpY2VfaW5mbyIsYW06InJlZmVycmFsX2V4Y2x1c2lvbl9kZWZpbml0aW9uIixodToiX3JlcXVlc3Rfc3RhcnRfdGltZSIsV2I6InJlc3RyaWN0ZWRfZGF0YV9wcm9jZXNzaW5nIixucToicmV0b2tlbiIsb3E6InNhbXBsZV9yYXRlIiwKTmk6InNjcmVlbl9uYW1lIixiZDoic2NyZWVuX3Jlc29sdXRpb24iLGJtOiJfc2NyaXB0X3NvdXJjZSIscHE6InNlYXJjaF90ZXJtIixUZDoic2VuZF9wYWdlX3ZpZXciLFhiOiJzZW5kX3RvIixPaToic2VydmVyX2NvbnRhaW5lcl8zcF9lbnJpY2htZW50IixkZDoic2VydmVyX2NvbnRhaW5lcl91cmwiLHFxOiJzZXNzaW9uX2F0dHJpYnV0ZXNfZW5jb2RlZCIseWg6InNlc3Npb25fZHVyYXRpb24iLHpoOiJzZXNzaW9uX2VuZ2FnZWQiLFBpOiJzZXNzaW9uX2VuZ2FnZWRfdGltZSIseGM6InNlc3Npb25faWQiLEFoOiJzZXNzaW9uX251bWJlciIsWmY6Il9zaGFyZWRfdXNlcl9pZCIsVWQ6ImRlbGl2ZXJ5X3Bvc3RhbF9jb2RlIixpdToiX3RhZ19maXJpbmdfZGVsYXkiLGp1OiJfdGFnX2ZpcmluZ190aW1lIixrdToidGVtcG9yYXJ5X2NsaWVudF9pZCIsUWk6InRlc3Rvbmx5IixycToiX3RpbWV6b25lIixQZToidG9wbW9zdF91cmwiLFFlOiJ0cmFja2luZ19pZCIsUmk6InRyYWZmaWNfdHlwZSIsClBhOiJ0cmFuc2FjdGlvbl9pZCIsZG06InRyYW5zYWN0aW9uX2lkX3NvdXJjZSIseWM6InRyYW5zcG9ydF91cmwiLHNxOiJ0cmlwX3R5cGUiLFZkOiJ1cGRhdGUiLHpjOiJ1cmxfcGFzc3Rocm91Z2giLGZtOiJ1cHRncyIsY2c6Il91c2VyX2FnZW50X2FyY2hpdGVjdHVyZSIsZGc6Il91c2VyX2FnZW50X2JpdG5lc3MiLGVnOiJfdXNlcl9hZ2VudF9mdWxsX3ZlcnNpb25fbGlzdCIsZmc6Il91c2VyX2FnZW50X21vYmlsZSIsZ2c6Il91c2VyX2FnZW50X21vZGVsIixoZzoiX3VzZXJfYWdlbnRfcGxhdGZvcm0iLGlnOiJfdXNlcl9hZ2VudF9wbGF0Zm9ybV92ZXJzaW9uIixqZzoiX3VzZXJfYWdlbnRfd293NjQiLEFjOiJ1c2VyX2RhdGEiLGdtOiJ1c2VyX2RhdGFfYXV0b19sYXRlbmN5IixobToidXNlcl9kYXRhX2F1dG9fbWV0YSIsaW06InVzZXJfZGF0YV9hdXRvX211bHRpIixqbToidXNlcl9kYXRhX2F1dG9fc2VsZWN0b3JzIixrbToidXNlcl9kYXRhX2F1dG9fc3RhdHVzIixCYzoidXNlcl9kYXRhX21vZGUiLApsbToidXNlcl9kYXRhX3NldHRpbmdzIixmYjoidXNlcl9pZCIsV2Q6InVzZXJfcHJvcGVydGllcyIsb206Il91c2VyX3JlZ2lvbiIsa2c6InVzX3ByaXZhY3lfc3RyaW5nIixRYToidmFsdWUiLHFtOiJ3YnJhaWRfbXVsdGlwbGVfY29udmVyc2lvbnMiLGVkOiJfZnBtX3BhcmFtZXRlcnMiLFdpOiJfaG9zdF9uYW1lIixWbToiX2luX3BhZ2VfY29tbWFuZCIsWWk6Il9pcF9vdmVycmlkZSIsWm06Il9pc19wYXNzdGhyb3VnaF9jaWQiLEpoOiJfbWVhc3VyZW1lbnRfdHlwZSIsZGU6Im5vbl9wZXJzb25hbGl6ZWRfYWRzIixvajoiX3NzdF9wYXJhbWV0ZXJzIixZcToic2d0bV9nZW9fdXNlcl9jb3VudHJ5IixHZDoiY29udmVyc2lvbl9sYWJlbCIsemE6InBhZ2VfbG9jYXRpb24iLFdjOiJfZXh0cmFjdGVkX2RhdGEiLFhjOiJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyIsT2U6InRjX3ByaXZhY3lfc3RyaW5nIn19O3ZhciBIPXtKOntTbzoiYWJvcnRfd2l0aG91dF9mYWlsIixraToiYWNjZXB0X2J5X2RlZmF1bHQiLEJrOiJhZGRfdGFnX3RpbWluZyIsRGs6ImFkc19jb25zZW50X2dyYW50ZWQiLHZkOiJhZHNfZXZlbnRfcGFnZV92aWV3Iix3ZDoiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIixRdDoiYXV0b19ldmVudCIsS2s6ImJhdGNoX29uX25hdmlnYXRpb24iLFhnOiJiaXNjb3R0aV9qb2luX2lkIixQazoiY2xpZW50X2lkX3NvdXJjZSIsdWY6ImNvbnNlbnRfZXZlbnRfaWQiLHZmOiJjb25zZW50X3ByaW9yaXR5X2lkIixTdDoiY29uc2VudF9zdGF0ZSIsc2E6ImNvbnNlbnRfdXBkYXRlZCIsd2Y6ImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiLFR0OiJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIixHYToiY29va2llX29wdGlvbnMiLG9sOiJkY19yYW5kb20iLFp0OiJkZWR1cGVfaWQiLFBjOiJlbV9ldmVudCIsYnU6ImVuZHBvaW50X2Zvcl9kZWJ1ZyIsdGw6ImVuaGFuY2VkX2NsaWVudF9pZF9zb3VyY2UiLApwcDoiZW5oYW5jZWRfbWF0Y2hfcmVzdWx0IixybToiZXVpZF9sb2dnZWRfaW5fc3RhdGUiLGxnOiJldWlkX21vZGVfZW5hYmxlZCIsdHE6ImV2ZW50X3Byb3ZlbmFuY2UiLG11OiJldmVudF9zb3VyY2UiLEViOiJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiLHdtOiJldmVudF91c2FnZSIsQ2g6ImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyIscHU6ImFkZF9wYXJhbWV0ZXIiLFVpOiJjb3VudGluZ19tZXRob2QiLERoOiJzZW5kX2FzX2lmcmFtZSIscXU6InBhcmFtZXRlcl9vcmRlciIsRWg6InBhcnNlZF90YXJnZXQiLHN1OiJmb3JtX2V2ZW50X2NhbmNlbGVkIixBcToiZ2E0X2NvbGxlY3Rpb25fc3ViZG9tYWluIixWaToiZ2E0X3JlcXVlc3RfZmxhZ3MiLE5tOiJnYnJhaWRfY29va2llX21hcmtlZCIsUW06Imd0bV9leHRyYWN0ZWRfZGF0YSIsQ2M6ImhhbmRsZV9pbnRlcm5hbGx5Iix1dToiaGFzX2dhX2NvbnZlcnNpb25fY29uc2VudHMiLGRhOiJoaXRfdHlwZSIsRGM6ImhpdF90eXBlX292ZXJyaWRlIiwKSHE6Imlnbm9yZV9kdXBlX2NvbmZpZyIsT3U6ImlzX2NvbmZpZ19jb21tYW5kIixHaDoiaXNfY29uc2VudF91cGRhdGUiLG1nOiJpc19jb252ZXJzaW9uIixXbToiaXNfZWNvbW1lcmNlIixYbToiaXNfZWNfY21fc3BsaXQiLGFlOiJpc19leHRlcm5hbF9ldmVudCIsbmc6ImlzX2ZpcnN0X3Zpc2l0IixZbToiaXNfZmlyc3RfdmlzaXRfY29udmVyc2lvbiIsWmk6ImlzX2ZsX2ZhbGxiYWNrX2NvbnZlcnNpb25fZmxvd19hbGxvd2VkIixmZDoiaXNfZnBtX2VuY3J5cHRpb24iLGFqOiJpc19mcG1fc3BsaXQiLG9iOiJpc19nY3BfYnJvd3NlciIsYmo6ImlzX2dvb2dsZV9tZWFzdXJlbWVudF9hbGxvd2VkIixjajoiaXNfZ29vZ2xlX3NpZ25hbHNfZW5hYmxlZCIsYmU6ImlzX21lcmNoYW50X2NlbnRlciIsSGg6ImlzX25ld190b19zaXRlIixFYzoiaXNfcGVyc29uYWxpemF0aW9uIixkajoiaXNfc2VydmVyX3NpZGVfZGVzdGluYXRpb24iLFRlOiJpc19zZXNzaW9uX3N0YXJ0IixibjoiaXNfc2Vzc2lvbl9zdGFydF9jb252ZXJzaW9uIiwKUHU6ImlzX3NndG1fZ2FfYWRzX2NvbnZlcnNpb25fc3R1ZHlfY29udHJvbF9ncm91cCIsUXU6ImlzX3NndG1fcHJlaGl0IixkbjoiaXNfc2d0bV9zZXJ2aWNlX3dvcmtlciIsSWg6ImlzX3NwbGl0X2NvbnZlcnNpb24iLElxOiJpc19zeW4iLEZjOiJpc190ZXN0X2V2ZW50IixvZzoiam9pbl9pZCIsZWo6ImpvaW5fZWxhcHNlZCIscGc6ImpvaW5fdGltZXJfc2VjIixnbjoibG9jYWxfc3RvcmFnZV9hd19jb252ZXJzaW9uX2NvdW50ZXJzIixXZToidHVubmVsX3VwZGF0ZWQiLFV1OiJwcmVoaXRfZm9yX3JldHJ5IixXdToicHJvbWlzZXMiLFh1OiJyZWNvcmRfYXdfbGF0ZW5jeSIsWGU6InJlZGFjdF9hZHNfZGF0YSIsWWU6InJlZGFjdF9jbGlja19pZHMiLHBuOiJyZW1hcmtldGluZ19vbmx5Iixsajoic2VuZF9jY21fcGFyYWxsZWxfcGluZyIsaGQ6InNlbmRfZG91YmxlY2xpY2tfam9pbiIsTWg6InNlbmRfZnBtX2dlb19qb2luIixOaDoic2VuZF9mcG1fZ29vZ2xlX2pvaW4iLFp1OiJzZW5kX2NjbV9wYXJhbGxlbF90ZXN0X3BpbmciLApybjoic2VuZF9nb29nbGVfbWVhc3VyZW1lbnQiLHJnOiJzZW5kX3RsZF9qb2luIixzZzoic2VuZF90b19kZXN0aW5hdGlvbnMiLG1qOiJzZW5kX3RvX3RhcmdldHMiLHNuOiJzZW5kX3VzZXJfZGF0YV9oaXQiLHBqOiJzZXJ2aWNlX3dvcmtlcl9jb250ZXh0IixOYjoic291cmNlX2Nhbm9uaWNhbF9pZCIsSmE6InNwZWN1bGF0aXZlIix5bjoic3BlY3VsYXRpdmVfaW5fbWVzc2FnZSIsQW46InN1cHByZXNzX3NjcmlwdF9sb2FkIixCbjoic3luX29yX21vZCIsemo6InRyYW5zaWVudF9lY3NpZCIsdGc6InRyYW5zbWlzc2lvbl90eXBlIixZYToidXNlcl9kYXRhIixndjoidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljIixodjoidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciIsR246InVzZXJfZGF0YV9mcm9tX2NvZGUiLGlyOiJ1c2VyX2RhdGFfZnJvbV9tYW51YWwiLGp2OiJ1c2VyX2RhdGFfbW9kZSIsdWc6InVzZXJfaWRfdXBkYXRlZCJ9fTsKdmFyIHRnPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9MDtHYihhLGZ1bmN0aW9uKGUsZil7aWYoZiE9bnVsbCl7dmFyIGc9KCIiK2YpLnJlcGxhY2UoL34vZywifn4iKTtpZihxZy5oYXNPd25Qcm9wZXJ0eShlKSliW3FnW2VdXT1nO2Vsc2UgaWYocmcuaGFzT3duUHJvcGVydHkoZSkpe3ZhciBoPXJnW2VdO2IuaGFzT3duUHJvcGVydHkoaCl8fChiW2hdPWcpfWVsc2UgaWYoZT09PSJjYXRlZ29yeSIpZm9yKHZhciBsPWcuc3BsaXQoIi8iLDUpLG49MDtuPGwubGVuZ3RoO24rKyl7dmFyIHA9YixxPXNnW25dLHI9bFtuXTtwLmhhc093blByb3BlcnR5KHEpfHwocFtxXT1yKX1lbHNlIGlmKGM8Mjcpe3ZhciB0PVN0cmluZy5mcm9tQ2hhckNvZGUoYzwxMD80OCtjOjY1K2MtMTApO2JbImsiK3RdPSgiIitTdHJpbmcoZSkpLnJlcGxhY2UoL34vZywifn4iKTtiWyJ2Iit0XT1nO2MrK319fSk7dmFyIGQ9W107R2IoYixmdW5jdGlvbihlLGYpe2QucHVzaCgiIitlK2YpfSk7cmV0dXJuIGQuam9pbigifiIpfSwKcWc9e2l0ZW1faWQ6ImlkIixpdGVtX25hbWU6Im5tIixpdGVtX2JyYW5kOiJiciIsaXRlbV9jYXRlZ29yeToiY2EiLGl0ZW1fY2F0ZWdvcnkyOiJjMiIsaXRlbV9jYXRlZ29yeTM6ImMzIixpdGVtX2NhdGVnb3J5NDoiYzQiLGl0ZW1fY2F0ZWdvcnk1OiJjNSIsaXRlbV92YXJpYW50OiJ2YSIscHJpY2U6InByIixxdWFudGl0eToicXQiLGNvdXBvbjoiY3AiLGl0ZW1fbGlzdF9uYW1lOiJsbiIsaW5kZXg6ImxwIixpdGVtX2xpc3RfaWQ6ImxpIixkaXNjb3VudDoiZHMiLGFmZmlsaWF0aW9uOiJhZiIscHJvbW90aW9uX2lkOiJwaSIscHJvbW90aW9uX25hbWU6InBuIixjcmVhdGl2ZV9uYW1lOiJjbiIsY3JlYXRpdmVfc2xvdDoiY3MiLGxvY2F0aW9uX2lkOiJsbyJ9LHJnPXtpZDoiaWQiLG5hbWU6Im5tIixicmFuZDoiYnIiLHZhcmlhbnQ6InZhIixsaXN0X25hbWU6ImxuIixsaXN0X3Bvc2l0aW9uOiJscCIsbGlzdDoibG4iLHBvc2l0aW9uOiJscCIsY3JlYXRpdmU6ImNuIn0sc2c9WyJjYSIsCiJjMiIsImMzIiwiYzQiLCJjNSJdO3ZhciB1Zz1mdW5jdGlvbihhKXt2YXIgYj1bXTtHYihhLGZ1bmN0aW9uKGMsZCl7ZCE9bnVsbCYmYi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChjKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSkpfSk7cmV0dXJuIGIuam9pbigiJiIpfSx2Zz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe3RoaXMuYmFzZVVybD1iO3RoaXMuZW5kcG9pbnQ9Yzt0aGlzLmRlc3RpbmF0aW9uSWQ9Zjt0aGlzLmV2ZW50SWQ9Zzt0aGlzLnByaW9yaXR5SWQ9aDt0aGlzLkJhPWEuQmE7dGhpcy52ZT1hLnZlO3RoaXMuTGo9YS5Majt0aGlzLk49ZDt0aGlzLks9dWcoYS5CYSk7dGhpcy5IPXVnKGEuTGopO3RoaXMuUj10aGlzLkgubGVuZ3RoO2lmKGUmJnRoaXMuUj4xNjM4NCl0aHJvdyBFcnJvcigiRVZFTlRfVE9PX0xBUkdFIik7fTsKdmFyIHdnPWZ1bmN0aW9uKCl7dGhpcy5ldmVudHM9W107dGhpcy5IPSIiO3RoaXMuQmE9e307dGhpcy5iYXNlVXJsPSIiO3RoaXMuTj0wO3RoaXMuSz0xO3RoaXMuZW5kcG9pbnQ9MH07d2cucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5SKGEpPyh0aGlzLmV2ZW50cy5wdXNoKGEpLHRoaXMuSD1hLkssdGhpcy5CYT1hLkJhLHRoaXMuYmFzZVVybD1hLmJhc2VVcmwsdGhpcy5OKz1hLlIsdGhpcy5LPWEuTix0aGlzLmVuZHBvaW50PWEuZW5kcG9pbnQsdGhpcy5kZXN0aW5hdGlvbklkPWEuZGVzdGluYXRpb25JZCx0aGlzLlo9YS5ldmVudElkLHRoaXMuZmE9YS5wcmlvcml0eUlkLCEwKTohMX07d2cucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZXZlbnRzLmxlbmd0aD90aGlzLmV2ZW50cy5sZW5ndGg+PTIwfHxhLlIrdGhpcy5OPj0xNjM4ND8hMTp0aGlzLmJhc2VVcmw9PT1hLmJhc2VVcmwmJnRoaXMuSz09PWEuTiYmdGhpcy5qYShhKTohMH07CndnLnByb3RvdHlwZS5qYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5IPT09YS5LfTt2YXIgSj17VTp7a3A6MSxtcDoyLEVuOjMsbm46NCxxbDo1LHJsOjYsRXE6NyxucDo4LERxOjksanA6MTAsaHA6MTEseG46MTIsdm46MTMsTms6MTQsVW86MTUsV286MTYsaG46MTcsc2w6MTgsZm46MTksbHA6MjAsUHE6MjEsYXA6MjIsVm86MjMsWG86MjQsbmw6MjUsTGs6MjYsZXI6MjcsSm06MjgsVW06MjksVG06MzAsU206MzEsTW06MzIsS206MzMsTG06MzQsR206MzUsRm06MzYsSG06MzcsSW06MzgsQnE6MzksQ3E6NDAsVXE6NDF9fTtKLlVbSi5VLmtwXT0iQ1JFQVRFX0VWRU5UX1NPVVJDRSI7Si5VW0ouVS5tcF09IkVESVRfRVZFTlQiO0ouVVtKLlUuRW5dPSJUUkFGRklDX1RZUEUiO0ouVVtKLlUubm5dPSJSRUZFUlJBTF9FWENMVVNJT04iO0ouVVtKLlUucWxdPSJFQ09NTUVSQ0VfRlJPTV9HVE1fVEFHIjtKLlVbSi5VLnJsXT0iRUNPTU1FUkNFX0ZST01fR1RNX1VBX1NDSEVNQSI7Si5VW0ouVS5FcV09IkdBX1NFTkQiO0ouVVtKLlUubnBdPSJFTV9GT1JNIjsKSi5VW0ouVS5EcV09IkdBX0dBTV9MSU5LIjtKLlVbSi5VLmpwXT0iQ1JFQVRFX0VWRU5UX0FVVE9fUEFHRV9QQVRIIjtKLlVbSi5VLmhwXT0iQ1JFQVRFRF9FVkVOVCI7Si5VW0ouVS54bl09IlNJREVMT0FERUQiO0ouVVtKLlUudm5dPSJTR1RNX0xFR0FDWV9DT05GSUdVUkFUSU9OIjtKLlVbSi5VLk5rXT0iQ0NEX0VNX0VWRU5UIjtKLlVbSi5VLlVvXT0iQVVUT19SRURBQ1RfRU1BSUwiO0ouVVtKLlUuV29dPSJBVVRPX1JFREFDVF9RVUVSWV9QQVJBTSI7Si5VW0ouVS5obl09Ik1VTFRJUExFX1BBR0VWSUVXX0ZST01fQ09ORklHIjtKLlVbSi5VLnNsXT0iRU1fRVZFTlRfU0VOVF9CRUZPUkVfQ09ORklHIjtKLlVbSi5VLmZuXT0iTE9BREVEX1ZJQV9DU1RfT1JfU0lERUxPQURJTkciO0ouVVtKLlUubHBdPSJERUNPREVEX1BBUkFNX01BVENIIjtKLlVbSi5VLlBxXT0iTk9OX0RFQ09ERURfUEFSQU1fTUFUQ0giO0ouVVtKLlUuYXBdPSJDQ0RfRVZFTlRfU0dUTSI7CkouVVtKLlUuVm9dPSJBVVRPX1JFREFDVF9FTUFJTF9TR1RNIjtKLlVbSi5VLlhvXT0iQVVUT19SRURBQ1RfUVVFUllfUEFSQU1fU0dUTSI7Si5VW0ouVS5ubF09IkRBSUxZX0xJTUlUX1JFQUNIRUQiO0ouVVtKLlUuTGtdPSJCVVJTVF9MSU1JVF9SRUFDSEVEIjtKLlVbSi5VLmVyXT0iU0hBUkVEX1VTRVJfSURfU0VUX0FGVEVSX1JFUVVFU1QiO0ouVVtKLlUuSm1dPSJHQTRfTVVMVElQTEVfU0VTU0lPTl9DT09LSUVTIjtKLlVbSi5VLlVtXT0iSU5WQUxJRF9HQTRfU0VTU0lPTl9DT1VOVCI7Si5VW0ouVS5UbV09IklOVkFMSURfR0E0X0xBU1RfRVZFTlRfVElNRVNUQU1QIjtKLlVbSi5VLlNtXT0iSU5WQUxJRF9HQTRfSk9JTl9USU1FUiI7Si5VW0ouVS5NbV09IkdBNF9TVEFMRV9TRVNTSU9OX0NPT0tJRV9TRUxFQ1RFRCI7Si5VW0ouVS5LbV09IkdBNF9TRVNTSU9OX0NPT0tJRV9HUzFfUkVBRCI7Si5VW0ouVS5MbV09IkdBNF9TRVNTSU9OX0NPT0tJRV9HUzJfUkVBRCI7CkouVVtKLlUuR21dPSJHQTRfRExfUEFSQU1fUkVDT1ZFUllfQVZBSUxBQkxFIjtKLlVbSi5VLkZtXT0iR0E0X0RMX1BBUkFNX1JFQ09WRVJZX0FQUExJRUQiO0ouVVtKLlUuSG1dPSJHQTRfR09PR0xFX01FQVNVUkVNRU5UX0FMTE9XRUQiO0ouVVtKLlUuSW1dPSJHQTRfR09PR0xFX1NJR05BTFNfRU5BQkxFRCI7Si5VW0ouVS5CcV09IkdBNF9GQUxMQkFDS19SRVFVRVNUIjtKLlVbSi5VLkNxXT0iR0FfQURTX0xJTktfQkVGT1JFX0NPTlZFUlNJT05fTUFSS0lORyI7Si5VW0ouVS5VcV09IlBMQVRJTlVNX0VMSUdJQkxFIjt2YXIgeGc9e30seWc9KHhnLnVhYT0hMCx4Zy51YWI9ITAseGcudWFmdmw9ITAseGcudWFtYj0hMCx4Zy51YW09ITAseGcudWFwPSEwLHhnLnVhcHY9ITAseGcudWF3PSEwLHhnKTsKdmFyIEJnPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5ldmVudHM7aWYoYy5sZW5ndGg9PT0xKXJldHVybiB6ZyhjWzBdLGIpO3ZhciBkPVtdO2EuSCYmZC5wdXNoKGEuSCk7Zm9yKHZhciBlPXt9LGY9MDtmPGMubGVuZ3RoO2YrKylHYihjW2ZdLnZlLGZ1bmN0aW9uKHQsdSl7dSE9bnVsbCYmKGVbdF09ZVt0XXx8e30sZVt0XVtTdHJpbmcodSldPWVbdF1bU3RyaW5nKHUpXSsxfHwxKX0pO3ZhciBnPXt9O0diKGUsZnVuY3Rpb24odCx1KXt2YXIgdix4PS0xLHk9MDtHYih1LGZ1bmN0aW9uKHosQyl7eSs9Qzt2YXIgRD0oei5sZW5ndGgrdC5sZW5ndGgrMikqKEMtMSk7RD54JiYodj16LHg9RCl9KTt5PT09Yy5sZW5ndGgmJihnW3RdPXYpfSk7QWcoZyxkKTtiJiZkLnB1c2goIl9zPSIrYik7Zm9yKHZhciBoPWQuam9pbigiJiIpLGw9W10sbj17fSxwPTA7cDxjLmxlbmd0aDtuPXtmazp2b2lkIDB9LHArKyl7dmFyIHE9W107bi5maz17fTtHYihjW3BdLnZlLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih1LAp2KXtnW3VdIT09IiIrdiYmKHQuZmtbdV09dil9fShuKSk7Y1twXS5IJiZxLnB1c2goY1twXS5IKTtBZyhuLmZrLHEpO2wucHVzaChxLmpvaW4oIiYiKSl9dmFyIHI9bC5qb2luKCJcclxuIik7cmV0dXJue3BhcmFtczpoLGJvZHk6cn19LHpnPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107YS5LJiZjLnB1c2goYS5LKTtiJiZjLnB1c2goIl9zPSIrYik7QWcoYS52ZSxjKTt2YXIgZD0hMTthLkgmJihjLnB1c2goYS5IKSxkPSEwKTt2YXIgZT1jLmpvaW4oIiYiKSxmPSIiLGc9ZS5sZW5ndGgrYS5iYXNlVXJsLmxlbmd0aCsxO2QmJmc+MjA0OCYmKGY9Yy5wb3AoKSxlPWMuam9pbigiJiIpKTtyZXR1cm57cGFyYW1zOmUsYm9keTpmfX0sQWc9ZnVuY3Rpb24oYSxiKXtHYihhLGZ1bmN0aW9uKGMsZCl7ZCE9bnVsbCYmYi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChjKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGQpKX0pfTsKdmFyIEVnPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWEsZT1iW2NdO2lmKCFDZy5leGVjKGUpKXRocm93IEVycm9yKCJJbnZhbGlkIGtleSB3aWxkY2FyZCIpO3ZhciBmPWUuaW5kZXhPZigiLioiKSxnPWYhPT0tMSYmZj09PWUubGVuZ3RoLTIsaD1nP2Uuc2xpY2UoMCxlLmxlbmd0aC0yKTplLGw7YTppZihkLmxlbmd0aD09PTApbD0hMTtlbHNle2Zvcih2YXIgbj1kLnNwbGl0KCIuIikscD0wO3A8bi5sZW5ndGg7cCsrKWlmKCFEZy5leGVjKG5bcF0pKXtsPSExO2JyZWFrIGF9bD0hMH1pZighbHx8aC5sZW5ndGg+ZC5sZW5ndGh8fCFnJiZkLmxlbmd0aCE9PWUubGVuZ3RoPzA6Zz9TYihkLGgpJiYoZD09PWh8fGQuY2hhckF0KGgubGVuZ3RoKT09PSIuIik6ZD09PWgpcmV0dXJuITB9cmV0dXJuITF9LERnPS9eW2EteiRfXVtcdy0kXSokL2ksQ2c9L14oPzpbYS16XyRdW2Etei1fJDAtOV0qXC4pKlthLXpfJF1bYS16LV8kMC05XSooPzpcLlwqKT8kL2k7CnZhciBGZz1bIm1hdGNoZXMiLCJ3ZWJraXRNYXRjaGVzU2VsZWN0b3IiLCJtb3pNYXRjaGVzU2VsZWN0b3IiLCJtc01hdGNoZXNTZWxlY3RvciIsIm9NYXRjaGVzU2VsZWN0b3IiXTtmdW5jdGlvbiBHZyhhLGIpe2lmKCFhKXJldHVybiExO3RyeXtmb3IodmFyIGM9MDtjPEZnLmxlbmd0aDtjKyspe3ZhciBkPUZnW2NdO2lmKGFbZF0hPW51bGwpcmV0dXJuIGFbZF0oYil9fWNhdGNoKGUpe31yZXR1cm4hMX1mdW5jdGlvbiBIZyhhLGIpe3ZhciBjPVN0cmluZyhhKSxkPVN0cmluZyhiKSxlPWMubGVuZ3RoLWQubGVuZ3RoO3JldHVybiBlPj0wJiZjLmluZGV4T2YoZCxlKT09PWV9ZnVuY3Rpb24gSWcoYSxiKXtyZXR1cm4gU3RyaW5nKGEpLnNwbGl0KCIsIikuaW5kZXhPZihTdHJpbmcoYikpPj0wfQpmdW5jdGlvbiBKZyhhLGIsYyxkKXt2YXIgZT1jPyJpIjp2b2lkIDA7dHJ5e3ZhciBmPVN0cmluZyhiKStTdHJpbmcoZSksZz1kPT1udWxsP3ZvaWQgMDpkLmdldChmKTtnfHwoZz1uZXcgUmVnRXhwKGIsZSksZD09bnVsbHx8ZC5zZXQoZixnKSk7cmV0dXJuIGcudGVzdChhKX1jYXRjaChoKXtyZXR1cm4hMX19ZnVuY3Rpb24gS2coYSxiKXtyZXR1cm4gU3RyaW5nKGEpLmluZGV4T2YoU3RyaW5nKGIpKT49MH1mdW5jdGlvbiBMZyhhLGIpe3JldHVybiBTdHJpbmcoYSk9PT1TdHJpbmcoYil9ZnVuY3Rpb24gTWcoYSxiKXtyZXR1cm4gTnVtYmVyKGEpPj1OdW1iZXIoYil9ZnVuY3Rpb24gTmcoYSxiKXtyZXR1cm4gTnVtYmVyKGEpPD1OdW1iZXIoYil9ZnVuY3Rpb24gT2coYSxiKXtyZXR1cm4gTnVtYmVyKGEpPk51bWJlcihiKX1mdW5jdGlvbiBQZyhhLGIpe3JldHVybiBOdW1iZXIoYSk8TnVtYmVyKGIpfQpmdW5jdGlvbiBRZyhhLGIpe3JldHVybiBTYihTdHJpbmcoYSksU3RyaW5nKGIpKX07ZnVuY3Rpb24gWGcoYSl7dmFyIGI9YS5zZWFyY2g7cmV0dXJuIGEucHJvdG9jb2wrIi8vIithLmhvc3RuYW1lK2EucGF0aG5hbWUrKGI/YisiJnJpY2hzc3Rzc2UiOiI/cmljaHNzdHNzZSIpfTt2YXIgWWc9ZnVuY3Rpb24oKXt0aGlzLlI9IiJ9LCRnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGM9Yi5mYWxsYmFja191cmwsZD1iLmZhbGxiYWNrX3VybF9tZXRob2Q7aWYoYyYmZCl7dmFyIGU9e307WmcoYSwoZVtkXT1bY10sZS5vcHRpb25zPXt9LGUpKX19fSxhaD1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGQ9bShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTt0eXBlb2YgZj09PSJzdHJpbmciJiZjKGYsYil9fSxaZz1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPUNkKGIub3B0aW9ucyk/Yi5vcHRpb25zOnt9LGQ9bShPYmplY3Qua2V5cyhiKSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWUsZz1iW2ZdO3N3aXRjaChmKXtjYXNlICJzZW5kX3BpeGVsIjphaChnLGMsZnVuY3Rpb24oaCxsKXtyZXR1cm4gdm9pZCBhLksoaCxsKX0pO2JyZWFrO2Nhc2UgImZldGNoIjphaChnLApjLGZ1bmN0aW9uKGgsbCl7cmV0dXJuIHZvaWQgYS5IKGgsbCl9KX19fTt2YXIgYmg9L14oW2Etel1bYS16MC05XSopOighfFw/KShcKnxzdHJpbmd8Ym9vbGVhbnxudW1iZXJ8Rm58UGl4aWVNYXB8TGlzdHxPcGFxdWVWYWx1ZSkkL2ksY2g9e0ZuOiJmdW5jdGlvbiIsUGl4aWVNYXA6Ik9iamVjdCIsTGlzdDoiQXJyYXkifTsKZnVuY3Rpb24gZGgoYSxiKXtmb3IodmFyIGM9WyJpbnB1dDohKiJdLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9YmguZXhlYyhjW2RdKTtpZighZSl0aHJvdyBFcnJvcigiSW50ZXJuYWwgRXJyb3IgaW4gIithKTt2YXIgZj1lWzFdLGc9ZVsyXT09PSIhIixoPWVbM10sbD1iW2RdO2lmKGw9PW51bGwpe2lmKGcpdGhyb3cgRXJyb3IoIkVycm9yIGluICIrYSsiLiBSZXF1aXJlZCBhcmd1bWVudCAiK2YrIiBub3Qgc3VwcGxpZWQuIik7fWVsc2UgaWYoaCE9PSIqIil7dmFyIG49dHlwZW9mIGw7bCBpbnN0YW5jZW9mIEtkP249IkZuIjpsIGluc3RhbmNlb2YgR2Q/bj0iTGlzdCI6bCBpbnN0YW5jZW9mIGtiP249IlBpeGllTWFwIjpsIGluc3RhbmNlb2YgU2Q/bj0iUGl4aWVQcm9taXNlIjpsIGluc3RhbmNlb2YgUGQmJihuPSJPcGFxdWVWYWx1ZSIpO2lmKG4hPT1oKXRocm93IEVycm9yKCJFcnJvciBpbiAiK2ErIi4gQXJndW1lbnQgIitmKyIgaGFzIHR5cGUgIisoKGNoW25dfHxuKSsiLCB3aGljaCBkb2VzIG5vdCBtYXRjaCByZXF1aXJlZCB0eXBlICIpKwooKGNoW2hdfHxoKSsiLiIpKTt9fX1mdW5jdGlvbiBLKGEsYixjKXtmb3IodmFyIGQ9W10sZT1tKGMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2cgaW5zdGFuY2VvZiBLZD9kLnB1c2goImZ1bmN0aW9uIik6ZyBpbnN0YW5jZW9mIEdkP2QucHVzaCgiQXJyYXkiKTpnIGluc3RhbmNlb2Yga2I/ZC5wdXNoKCJPYmplY3QiKTpnIGluc3RhbmNlb2YgU2Q/ZC5wdXNoKCJQcm9taXNlIik6ZyBpbnN0YW5jZW9mIFBkP2QucHVzaCgiT3BhcXVlVmFsdWUiKTpkLnB1c2godHlwZW9mIGcpfXJldHVybiBFcnJvcigiQXJndW1lbnQgZXJyb3IgaW4gIithKyIuIEV4cGVjdGVkIGFyZ3VtZW50IHR5cGVzIFsiKyhiLmpvaW4oIiwiKSsiXSwgYnV0IHJlY2VpdmVkIFsiKSsoZC5qb2luKCIsIikrIl0uIikpfWZ1bmN0aW9uIGVoKGEpe3JldHVybiBhIGluc3RhbmNlb2Yga2J9ZnVuY3Rpb24gZmgoYSl7cmV0dXJuIGVoKGEpfHxhPT09bnVsbHx8Z2goYSl9CmZ1bmN0aW9uIGhoKGEpe3JldHVybiBhIGluc3RhbmNlb2YgS2R9ZnVuY3Rpb24gaWgoYSl7cmV0dXJuIGhoKGEpfHxhPT09bnVsbHx8Z2goYSl9ZnVuY3Rpb24gamgoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBHZH1mdW5jdGlvbiBraChhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFBkfWZ1bmN0aW9uIGxoKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifWZ1bmN0aW9uIG1oKGEpe3JldHVybiBsaChhKXx8YT09PW51bGx8fGdoKGEpfWZ1bmN0aW9uIG5oKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn1mdW5jdGlvbiBvaChhKXtyZXR1cm4gbmgoYSl8fGdoKGEpfWZ1bmN0aW9uIHBoKGEpe3JldHVybiBuaChhKXx8YT09PW51bGx8fGdoKGEpfWZ1bmN0aW9uIHFoKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIifWZ1bmN0aW9uIGdoKGEpe3JldHVybiBhPT09dm9pZCAwfTtmdW5jdGlvbiByaChhKXtyZXR1cm4iIithfQpmdW5jdGlvbiBzaChhLGIpe3ZhciBjPVtdO3JldHVybiBjfTtmdW5jdGlvbiB0aChhLGIpe3ZhciBjPW5ldyBLZChhLGZ1bmN0aW9uKCl7Zm9yKHZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKSxlPTA7ZTxkLmxlbmd0aDtlKyspZFtlXT10aGlzLmV2YWx1YXRlKGRbZV0pO3RyeXtyZXR1cm4gYi5hcHBseSh0aGlzLGQpfWNhdGNoKGcpe3Rocm93IGNiKGcpO319KTtjLlphKCk7cmV0dXJuIGN9CmZ1bmN0aW9uIHVoKGEsYil7dmFyIGM9bmV3IGtiLGQ7Zm9yKGQgaW4gYilpZihiLmhhc093blByb3BlcnR5KGQpKXt2YXIgZT1iW2RdO3liKGUpP2Muc2V0KGQsdGgoYSsiXyIrZCxlKSk6Q2QoZSk/Yy5zZXQoZCx1aChhKyJfIitkLGUpKTooQWIoZSl8fHpiKGUpfHx0eXBlb2YgZT09PSJib29sZWFuIikmJmMuc2V0KGQsZSl9Yy5aYSgpO3JldHVybiBjfTtmdW5jdGlvbiB3aChhLGIpe2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtpZighbWgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dmFyIGM9e30sZD1uZXcga2I7cmV0dXJuIGQ9dWgoIkFzc2VydEFwaVN1YmplY3QiLApjKX07ZnVuY3Rpb24geGgoYSxiKXtpZighbWgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7aWYoYSBpbnN0YW5jZW9mIFNkKXRocm93IEVycm9yKCJBcmd1bWVudCBhY3R1YWwgY2Fubm90IGhhdmUgdHlwZSBQcm9taXNlLiBBc3NlcnRpb25zIG9uIGFzeW5jaHJvbm91cyBjb2RlIGFyZW4ndCBzdXBwb3J0ZWQuIik7dmFyIGM9e30sZD1uZXcga2I7cmV0dXJuIGQ9dWgoIkFzc2VydFRoYXRTdWJqZWN0IixjKX07ZnVuY3Rpb24geWgoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBiPU9hLmFwcGx5KDAsYXJndW1lbnRzKSxjPVtdLGQ9dGhpcy5ULGU9MDtlPGIubGVuZ3RoOysrZSljLnB1c2goVGQoYltlXSxkKSk7cmV0dXJuIFVkKGEuYXBwbHkobnVsbCxjKSl9fWZ1bmN0aW9uIHpoKCl7Zm9yKHZhciBhPU1hdGgsYj1BaCxjPXt9LGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTthLmhhc093blByb3BlcnR5KGUpJiYoY1tlXT15aChhW2VdLmJpbmQoYSkpKX1yZXR1cm4gY307ZnVuY3Rpb24gQmgoYSl7cmV0dXJuIGEhPW51bGwmJlNiKGEsIl9fY3Z0XyIpfTtmdW5jdGlvbiBDaChhKXt2YXIgYjtyZXR1cm4gYn07ZnVuY3Rpb24gRGgoYSl7dmFyIGI7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO3RyeXtiPWRlY29kZVVSSUNvbXBvbmVudChhKX1jYXRjaChjKXt9cmV0dXJuIGJ9O2Z1bmN0aW9uIEVoKGEpe3RyeXtyZXR1cm4gZW5jb2RlVVJJKGEpfWNhdGNoKGIpe319O2Z1bmN0aW9uIEZoKGEpe3RyeXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhhKSl9Y2F0Y2goYil7fX07ZnVuY3Rpb24gR2goYSxiKXt2YXIgYz0hMTt2YXIgZD1KU09OLnBhcnNlKGEpO2lmKCFkKXRocm93IEVycm9yKCJJbnZhbGlkIGJvb2xlYW4gZXhwcmVzc2lvbiBzdHJpbmcgd2FzIGdpdmVuLiIpO2M9SGgoZCxiKTtyZXR1cm4gY30KdmFyIEloPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe2lmKGE9PT12b2lkIDApcmV0dXJuO2E9YVtiW2NdXX1yZXR1cm4gYX0sSmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnByZUhpdDtpZihjKXt2YXIgZD1hWzBdO3N3aXRjaChkKXtjYXNlICJoaXREYXRhIjpyZXR1cm4gYS5sZW5ndGg8Mj92b2lkIDA6SWgoYy5nZXRIaXREYXRhKGFbMV0pLGEuc2xpY2UoMikpO2Nhc2UgIm1ldGFkYXRhIjpyZXR1cm4gYS5sZW5ndGg8Mj92b2lkIDA6SWgoYy5nZXRNZXRhZGF0YShhWzFdKSxhLnNsaWNlKDIpKTtjYXNlICJldmVudE5hbWUiOnJldHVybiBjLmdldEV2ZW50TmFtZSgpO2Nhc2UgImRlc3RpbmF0aW9uSWQiOnJldHVybiBjLmdldERlc3RpbmF0aW9uSWQoKTtkZWZhdWx0OnRocm93IEVycm9yKGQrIiBpcyBub3QgYSB2YWxpZCBmaWVsZCB0aGF0IGNhbiBiZSBhY2Nlc3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGZyb20gUHJlSGl0IGRhdGEuIik7fX19LApLaD1mdW5jdGlvbihhLGIpe2lmKGEpe2lmKGEuY29udGV4dFZhbHVlIT09dm9pZCAwKXt2YXIgYzthOnt2YXIgZD1hLmNvbnRleHRWYWx1ZSxlPWQua2V5UGFydHM7aWYoZSYmZS5sZW5ndGghPT0wKXt2YXIgZj1kLm5hbWVzcGFjZVR5cGU7c3dpdGNoKGYpe2Nhc2UgMTpjPUpoKGUsYik7YnJlYWsgYTtjYXNlIDI6dmFyIGc9Yi5tYWNybztjPWc/Z1tlWzBdXTp2b2lkIDA7YnJlYWsgYTtkZWZhdWx0OnRocm93IEVycm9yKCJVbmtub3duIE5hbWVzcGFjZSBUeXBlIHVzZWQ6ICIrZik7fX1jPXZvaWQgMH1yZXR1cm4gY31pZihhLmJvb2xlYW5FeHByZXNzaW9uVmFsdWUhPT12b2lkIDApcmV0dXJuIEhoKGEuYm9vbGVhbkV4cHJlc3Npb25WYWx1ZSxiKTtpZihhLmJvb2xlYW5WYWx1ZSE9PXZvaWQgMClyZXR1cm4hIWEuYm9vbGVhblZhbHVlO2lmKGEuc3RyaW5nVmFsdWUhPT12b2lkIDApcmV0dXJuIFN0cmluZyhhLnN0cmluZ1ZhbHVlKTtpZihhLmludGVnZXJWYWx1ZSE9PXZvaWQgMClyZXR1cm4gTnVtYmVyKGEuaW50ZWdlclZhbHVlKTsKaWYoYS5kb3VibGVWYWx1ZSE9PXZvaWQgMClyZXR1cm4gTnVtYmVyKGEuZG91YmxlVmFsdWUpO3Rocm93IEVycm9yKCJVbmtub3duIGZpZWxkIHVzZWQgZm9yIHZhcmlhYmxlIG9mIHR5cGUgRXhwcmVzc2lvblZhbHVlOiIrYSk7fX0sSGg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmFyZ3M7aWYoIUFycmF5LmlzQXJyYXkoYyl8fGMubGVuZ3RoPT09MCl0aHJvdyBFcnJvcignSW52YWxpZCBib29sZWFuIGV4cHJlc3Npb24gZm9ybWF0LiBFeHBlY3RlZCAiYXJncyI6JytjKyIgcHJvcGVydHkgdG9cbiAgICAgICAgIGJlIG5vbi1lbXB0eSBhcnJheS4iKTt2YXIgZD1mdW5jdGlvbihnKXtyZXR1cm4gS2goZyxiKX07c3dpdGNoKGEudHlwZSl7Y2FzZSAxOmZvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKWlmKGQoY1tlXSkpcmV0dXJuITA7cmV0dXJuITE7Y2FzZSAyOmZvcih2YXIgZj0wO2Y8Yy5sZW5ndGg7ZisrKWlmKCFkKGNbZl0pKXJldHVybiExO3JldHVybiBjLmxlbmd0aD4wO2Nhc2UgMzpyZXR1cm4hZChjWzBdKTsKY2FzZSA0OnJldHVybiBKZyhkKGNbMF0pLGQoY1sxXSksITEsYi5yZWdleENhY2hlKTtjYXNlIDU6cmV0dXJuIExnKGQoY1swXSksZChjWzFdKSk7Y2FzZSA2OnJldHVybiBRZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgNzpyZXR1cm4gSGcoZChjWzBdKSxkKGNbMV0pKTtjYXNlIDg6cmV0dXJuIEtnKGQoY1swXSksZChjWzFdKSk7Y2FzZSA5OnJldHVybiBQZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgMTA6cmV0dXJuIE5nKGQoY1swXSksZChjWzFdKSk7Y2FzZSAxMTpyZXR1cm4gT2coZChjWzBdKSxkKGNbMV0pKTtjYXNlIDEyOnJldHVybiBNZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgMTM6cmV0dXJuIElnKGQoY1swXSksU3RyaW5nKGQoY1sxXSkpKTtkZWZhdWx0OnRocm93IEVycm9yKCdJbnZhbGlkIGJvb2xlYW4gZXhwcmVzc2lvbiBmb3JtYXQuIEV4cGVjdGVkICJ0eXBlIiBwcm9wZXJ0eSB0b2JlIGEgcG9zaXRpdmUgaW50ZWdlciB3aGljaCBpcyBsZXNzIHRoYW4gMTQuJyk7fX07CmZ1bmN0aW9uIExoKGEpe2lmKCFtaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7fTtmdW5jdGlvbiBNaChhKXt2YXIgYj1UZChhKTtyZXR1cm4gbmcoYj8iIitiOiIiKX07ZnVuY3Rpb24gTmgoYSxiKXtpZighcWgoYSl8fCFxaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsibnVtYmVyIiwibnVtYmVyIl0sYXJndW1lbnRzKTtyZXR1cm4gRGIoYSxiKX07ZnVuY3Rpb24gT2goKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX07ZnVuY3Rpb24gUGgoYSl7aWYoYT09PW51bGwpcmV0dXJuIm51bGwiO2lmKGEgaW5zdGFuY2VvZiBHZClyZXR1cm4iYXJyYXkiO2lmKGEgaW5zdGFuY2VvZiBLZClyZXR1cm4iZnVuY3Rpb24iO2lmKGEgaW5zdGFuY2VvZiBQZCl7dmFyIGI9YS5nZXRWYWx1ZSgpO2lmKChiPT1udWxsP3ZvaWQgMDpiLmNvbnN0cnVjdG9yKT09PXZvaWQgMHx8Yi5jb25zdHJ1Y3Rvci5uYW1lPT09dm9pZCAwKXt2YXIgYz1TdHJpbmcoYik7cmV0dXJuIGMuc3Vic3RyaW5nKDgsYy5sZW5ndGgtMSl9cmV0dXJuIFN0cmluZyhiLmNvbnN0cnVjdG9yLm5hbWUpfXJldHVybiB0eXBlb2YgYX07ZnVuY3Rpb24gUWgoYSl7ZnVuY3Rpb24gYihjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dHJ5e3JldHVybiBjKGQpfWNhdGNoKGUpeyhsZ3x8bWcuUG8pJiZhLmNhbGwodGhpcyxlLm1lc3NhZ2UpfX19cmV0dXJue3BhcnNlOmIoZnVuY3Rpb24oYyl7cmV0dXJuIFVkKEpTT04ucGFyc2UoYykpfSksc3RyaW5naWZ5OmIoZnVuY3Rpb24oYyl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFRkKGMpKX0pLHB1YmxpY05hbWU6IkpTT04ifX07ZnVuY3Rpb24gUmgoYSl7cmV0dXJuIEliKFRkKGEsdGhpcy5UKSl9O2Z1bmN0aW9uIFNoKGEpe3JldHVybiBOdW1iZXIoVGQoYSx0aGlzLlQpKX07ZnVuY3Rpb24gVGgoYSl7cmV0dXJuIGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEudG9TdHJpbmcoKX07ZnVuY3Rpb24gVWgoYSxiLGMpe3ZhciBkPW51bGwsZT0hMTtyZXR1cm4gZT9kOm51bGx9O3ZhciBBaD0iZmxvb3IgY2VpbCByb3VuZCBtYXggbWluIGFicyBwb3cgc3FydCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBWaCgpe3ZhciBhPXt9O3JldHVybntXcjpmdW5jdGlvbihiKXtyZXR1cm4gYS5oYXNPd25Qcm9wZXJ0eShiKT9hW2JdOnZvaWQgMH0sS286ZnVuY3Rpb24oYixjKXthW2JdPWN9LHJlc2V0OmZ1bmN0aW9uKCl7YT17fX19fWZ1bmN0aW9uIFdoKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEtkLnByb3RvdHlwZS5pbnZva2UuYXBwbHkoYSxbYl0uY29uY2F0KHcoT2EuYXBwbHkoMCxhcmd1bWVudHMpKSkpfX0KZnVuY3Rpb24gWGgoYSxiKXtpZighbGgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImFueSJdLGFyZ3VtZW50cyk7fQpmdW5jdGlvbiBZaChhLGIpe2lmKCFsaChhKXx8IWVoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJQaXhpZU1hcCJdLGFyZ3VtZW50cyk7fTt2YXIgWmg9e307dmFyICRoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBrYjtpZihhIGluc3RhbmNlb2YgR2QpZm9yKHZhciBjPWEuRmEoKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF07YS5oYXMoZSkmJmIuc2V0KGUsYS5nZXQoZSkpfWVsc2UgaWYoYSBpbnN0YW5jZW9mIEtkKWZvcih2YXIgZj1hLkZhKCksZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO2Iuc2V0KGgsYS5nZXQoaCkpfWVsc2UgZm9yKHZhciBsPTA7bDxhLmxlbmd0aDtsKyspYi5zZXQobCxhW2xdKTtyZXR1cm4gYn07ClpoLmtleXM9ZnVuY3Rpb24oYSl7ZGgodGhpcy5nZXROYW1lKCksYXJndW1lbnRzKTtpZihhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZHx8dHlwZW9mIGE9PT0ic3RyaW5nIilhPSRoKGEpO2lmKGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkKXJldHVybiBuZXcgR2QoYS5GYSgpKTtyZXR1cm4gbmV3IEdkfTsKWmgudmFsdWVzPWZ1bmN0aW9uKGEpe2RoKHRoaXMuZ2V0TmFtZSgpLGFyZ3VtZW50cyk7aWYoYSBpbnN0YW5jZW9mIEdkfHxhIGluc3RhbmNlb2YgS2R8fHR5cGVvZiBhPT09InN0cmluZyIpYT0kaChhKTtpZihhIGluc3RhbmNlb2Yga2J8fGEgaW5zdGFuY2VvZiBTZClyZXR1cm4gbmV3IEdkKGEuaGMoKSk7cmV0dXJuIG5ldyBHZH07ClpoLmVudHJpZXM9ZnVuY3Rpb24oYSl7ZGgodGhpcy5nZXROYW1lKCksYXJndW1lbnRzKTtpZihhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZHx8dHlwZW9mIGE9PT0ic3RyaW5nIilhPSRoKGEpO2lmKGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkKXJldHVybiBuZXcgR2QoYS5mYygpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gbmV3IEdkKGIpfSkpO3JldHVybiBuZXcgR2R9OwpaaC5mcmVlemU9ZnVuY3Rpb24oYSl7KGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkfHxhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZCkmJmEuWmEoKTtyZXR1cm4gYX07WmguZGVsZXRlPWZ1bmN0aW9uKGEsYil7aWYoYSBpbnN0YW5jZW9mIGtiJiYhYS5IYigpKXJldHVybiBhLnJlbW92ZShiKSwhMDtyZXR1cm4hMX07ZnVuY3Rpb24gTChhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkPWEuVC54YigpO2lmKCFkKXRocm93IEVycm9yKCJNaXNzaW5nIHByb2dyYW0gc3RhdGUuIik7aWYoZC5pdCl7dHJ5e2QuUm4uYXBwbHkobnVsbCxbYl0uY29uY2F0KHcoYykpKX1jYXRjaChlKXt0aHJvdyBzYigiVEFHR0lORyIsMjEpLGU7fXJldHVybn1kLlJuLmFwcGx5KG51bGwsW2JdLmNvbmNhdCh3KGMpKSl9O3ZhciBhaT1mdW5jdGlvbigpe3RoaXMuSz17fTt0aGlzLkg9e307dGhpcy5OPSEwO307YWkucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY29udGFpbnMoYSk/dGhpcy5LW2FdOnZvaWQgMDtyZXR1cm4gY307YWkucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLksuaGFzT3duUHJvcGVydHkoYSl9OwphaS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjKXtpZih0aGlzLmNvbnRhaW5zKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFkZCBhIGZ1bmN0aW9uIHdoaWNoIGFscmVhZHkgZXhpc3RzOiAiK2ErIi4iKTtpZih0aGlzLkguaGFzT3duUHJvcGVydHkoYSkpdGhyb3cgRXJyb3IoIkF0dGVtcHRpbmcgdG8gYWRkIGFuIEFQSSB3aXRoIGFuIGV4aXN0aW5nIHByaXZhdGUgQVBJIG5hbWU6ICIrYSsiLiIpO3RoaXMuS1thXT1jP3ZvaWQgMDp5YihiKT90aChhLGIpOnVoKGEsYil9O2Z1bmN0aW9uIGJpKGEsYil7dmFyIGM9dm9pZCAwO3JldHVybiBjfTtmdW5jdGlvbiBjaSgpe3ZhciBhPXt9OwpyZXR1cm4gYX07dmFyIGRpPXt9LGVpPShkaVtGLkQuc2FdPSJnY3UiLGRpW0YuRC5laF09ImVwdCIsZGlbRi5ELlNiXT0iZ2NsZ2IiLGRpW0YuRC5sYl09ImdjbGF3IixkaVtGLkQuemxdPSJnY2xpZF9sZW4iLGRpW0YuRC5CZV09ImdjbGdzIixkaVtGLkQuQ2VdPSJnY2xscCIsZGlbRi5ELkRlXT0iZ2Nsc3QiLGRpW0YuRC5FZF09ImF1aWQiLGRpW0YuRC5CbF09ImFlIixkaVtGLkQuQ2ZdPSJkc2NudCIsZGlbRi5ELkRmXT0iZmNudHIiLGRpW0YuRC5FZl09ImZsbmciLGRpW0YuRC5GZl09Im1pZCIsZGlbRi5ELndpXT0iYnR0eXBlIixkaVtGLkQuS2JdPSJnYWNpZCIsZGlbRi5ELkdkXT0ibGFiZWwiLGRpW0YuRC5GZV09ImNhcGkiLGRpW0YuRC5qaF09InBzY2RsIixkaVtGLkQuZWJdPSJjdXJyZW5jeV9jb2RlIixkaVtGLkQuR2VdPSJ2ZGx0diIsZGlbRi5ELmtoXT0iY2xvY3QiLGRpW0YuRC5FbF09Il9kYmciLGRpW0YuRC5JZV09Im9lZGVsZCIsZGlbRi5ELlZjXT0iZWRpZCIsZGlbRi5ELk1kXT0iZXZuaWQiLApkaVtGLkQuRWldPSJldmppZCIsZGlbRi5ELk5kXT0iZXhjaWQiLGRpW0YuRC5yaF09ImdhYyIsZGlbRi5ELkplXT0iZ2FjZ2IiLGRpW0YuRC5NbF09ImdhY21jb3YiLGRpW0YuRC5LZV09ImdkcHIiLGRpW0YuRC5YY109ImdkaWQiLGRpW0YuRC5MZV09Il9uZyIsZGlbRi5ELmNxXT0iX29ubyIsZGlbRi5ELnRoXT0iZ3BwX3NpZCIsZGlbRi5ELnVoXT0iZ3BwIixkaVtGLkQuUGxdPSJnc2FleHAiLGRpW0YuRC5WZl09Il90dSIsZGlbRi5ELk1lXT0iZnJtIixkaVtGLkQuS2ldPSJndG1fdXAiLGRpW0YuRC5QZF09ImxwcyIsZGlbRi5ELkxpXT0iZGlkIixkaVtGLkQuUWRdPSJmY250ciIsZGlbRi5ELlJkXT0iZmxuZyIsZGlbRi5ELlNkXT0ibWlkIixkaVtGLkQuTmVdPXZvaWQgMCxkaVtGLkQuTWJdPSJ0aWJhIixkaVtGLkQuV2JdPSJyZHAiLGRpW0YuRC54Y109ImVjc2lkIixkaVtGLkQuWmZdPSJnYV91aWQiLGRpW0YuRC5VZF09ImRlbG9wYyIsZGlbRi5ELk9lXT0iZ2Rwcl9jb25zZW50IiwKZGlbRi5ELlBhXT0ib2lkIixkaVtGLkQuZG1dPSJvaWRzcmMiLGRpW0YuRC5mbV09InVwdGdzIixkaVtGLkQuY2ddPSJ1YWEiLGRpW0YuRC5kZ109InVhYiIsZGlbRi5ELmVnXT0idWFmdmwiLGRpW0YuRC5mZ109InVhbWIiLGRpW0YuRC5nZ109InVhbSIsZGlbRi5ELmhnXT0idWFwIixkaVtGLkQuaWddPSJ1YXB2IixkaVtGLkQuamddPSJ1YXciLGRpW0YuRC5nbV09ImVjX2xhdCIsZGlbRi5ELmhtXT0iZWNfbWV0YSIsZGlbRi5ELmltXT0iZWNfbSIsZGlbRi5ELmptXT0iZWNfc2VsIixkaVtGLkQua21dPSJlY19zIixkaVtGLkQuQmNdPSJlY19tb2RlIixkaVtGLkQuZmJdPSJ1c2VySWQiLGRpW0YuRC5rZ109InVzX3ByaXZhY3kiLGRpW0YuRC5RYV09InZhbHVlIixkaVtGLkQucW1dPSJtY292IixkaVtGLkQuV2ldPSJobiIsZGlbRi5ELlZtXT0iZ3RtX2VlIixkaVtGLkQuWWldPSJ1aXAiLGRpW0YuRC5KaF09Im10IixkaVtGLkQuZGVdPSJucGEiLGRpW0YuRC5ZcV09InNnX3VjIixkaVtGLkQueWldPQpudWxsLGRpW0YuRC5iZF09bnVsbCxkaVtGLkQudGJdPW51bGwsZGlbRi5ELkhhXT1udWxsLGRpW0YuRC56YV09bnVsbCxkaVtGLkQuVWFdPW51bGwsZGlbRi5ELlBlXT1udWxsLGRpW0YuRC5lZF09bnVsbCxkaVtGLkQuc2hdPW51bGwsZGlbRi5ELkJkXT1udWxsLGRpW0YuRC5DZF09bnVsbCxkaVtGLkQuZmhdPW51bGwsZGlbRi5ELmdoXT1udWxsLGRpW0YuRC5UYV09bnVsbCxkaVtGLkQuV2NdPW51bGwsZGkpO2Z1bmN0aW9uIGZpKGEsYil7aWYoYSl7dmFyIGM9YS5zcGxpdCgieCIpO2MubGVuZ3RoPT09MiYmKGdpKGIsInVfdyIsY1swXSksZ2koYiwidV9oIixjWzFdKSl9fWZ1bmN0aW9uIGhpKGEpe3ZhciBiPWlpO2I9Yj09PXZvaWQgMD9qaTpiO3JldHVybiBraShsaShhLGIpKX1mdW5jdGlvbiBraShhKXtyZXR1cm4oYXx8W10pLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4hIWJ9KS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIigiK1ttaShiLnZhbHVlKSxtaShiLnF1YW50aXR5KSxtaShiLml0ZW1faWQpLG1pKGIuc3RhcnRfZGF0ZSksbWkoYi5lbmRfZGF0ZSldLmpvaW4oIioiKSsiKSJ9KS5qb2luKCIiKX0KZnVuY3Rpb24gbGkoYSxiKXtyZXR1cm4oYXx8W10pLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hIWN9KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJue2l0ZW1faWQ6YihjKSxxdWFudGl0eTpjLnF1YW50aXR5LHZhbHVlOmMucHJpY2Usc3RhcnRfZGF0ZTpjLnN0YXJ0X2RhdGUsZW5kX2RhdGU6Yy5lbmRfZGF0ZX19KX1mdW5jdGlvbiBqaShhKXtyZXR1cm5bYS5pdGVtX2lkLGEuaWQsYS5pdGVtX25hbWVdLmZpbmQoZnVuY3Rpb24oYil7cmV0dXJuIGIhPW51bGx9KX1mdW5jdGlvbiBuaShhKXtpZihhJiZhLmxlbmd0aClyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGImJmIuZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGU/Yi5lc3RpbWF0ZWRfZGVsaXZlcnlfZGF0ZToiIn0pLmpvaW4oIiwiKX1mdW5jdGlvbiBnaShhLGIsYyl7Yz09PXZvaWQgMHx8Yz09PW51bGx8fGM9PT0iIiYmIXlnW2JdfHwoYVtiXT1jKX0KZnVuY3Rpb24gbWkoYSl7cmV0dXJuIHR5cGVvZiBhIT09Im51bWJlciImJnR5cGVvZiBhIT09InN0cmluZyI/IiI6YS50b1N0cmluZygpfTtmdW5jdGlvbiBvaSgpe3RoaXMuYmxvY2tTaXplPS0xfTtmdW5jdGlvbiBwaShhLGIpe3RoaXMuYmxvY2tTaXplPS0xO3RoaXMuYmxvY2tTaXplPTY0O3RoaXMuTj1SYS5VaW50OEFycmF5P25ldyBVaW50OEFycmF5KHRoaXMuYmxvY2tTaXplKTpBcnJheSh0aGlzLmJsb2NrU2l6ZSk7dGhpcy5SPXRoaXMuSz0wO3RoaXMuSD1bXTt0aGlzLmZhPWE7dGhpcy5aPWI7dGhpcy5qYT1SYS5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KDY0KTpBcnJheSg2NCk7cWk9PT12b2lkIDAmJihSYS5JbnQzMkFycmF5P3FpPW5ldyBJbnQzMkFycmF5KHJpKTpxaT1yaSk7dGhpcy5yZXNldCgpfVNhKHBpLG9pKTtmb3IodmFyIHNpPVtdLHRpPTA7dGk8NjM7dGkrKylzaVt0aV09MDt2YXIgdWk9W10uY29uY2F0KDEyOCxzaSk7CnBpLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuUj10aGlzLks9MDt2YXIgYTtpZihSYS5JbnQzMkFycmF5KWE9bmV3IEludDMyQXJyYXkodGhpcy5aKTtlbHNle3ZhciBiPXRoaXMuWixjPWIubGVuZ3RoO2lmKGM+MCl7Zm9yKHZhciBkPUFycmF5KGMpLGU9MDtlPGM7ZSsrKWRbZV09YltlXTthPWR9ZWxzZSBhPVtdfXRoaXMuSD1hfTsKdmFyIHZpPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hLk4sYz1hLmphLGQ9MCxlPTA7ZTxiLmxlbmd0aDspY1tkKytdPWJbZV08PDI0fGJbZSsxXTw8MTZ8YltlKzJdPDw4fGJbZSszXSxlPWQqNDtmb3IodmFyIGY9MTY7Zjw2NDtmKyspe3ZhciBnPWNbZi0xNV18MCxoPWNbZi0yXXwwO2NbZl09KChjW2YtMTZdfDApKygoZz4+Pjd8Zzw8MjUpXihnPj4+MTh8Zzw8MTQpXmc+Pj4zKXwwKSsoKGNbZi03XXwwKSsoKGg+Pj4xN3xoPDwxNSleKGg+Pj4xOXxoPDwxMyleaD4+PjEwKXwwKXwwfWZvcih2YXIgbD1hLkhbMF18MCxuPWEuSFsxXXwwLHA9YS5IWzJdfDAscT1hLkhbM118MCxyPWEuSFs0XXwwLHQ9YS5IWzVdfDAsdT1hLkhbNl18MCx2PWEuSFs3XXwwLHg9MDt4PDY0O3grKyl7dmFyIHk9KChsPj4+MnxsPDwzMCleKGw+Pj4xM3xsPDwxOSleKGw+Pj4yMnxsPDwxMCkpKyhsJm5ebCZwXm4mcCl8MCx6PSh2Kygocj4+PjZ8cjw8MjYpXihyPj4+MTF8cjw8MjEpXihyPj4+MjV8cjw8NykpfAowKSsoKChyJnRefnImdSkrKHFpW3hdfDApfDApKyhjW3hdfDApfDApfDA7dj11O3U9dDt0PXI7cj1xK3p8MDtxPXA7cD1uO249bDtsPXoreXwwfWEuSFswXT1hLkhbMF0rbHwwO2EuSFsxXT1hLkhbMV0rbnwwO2EuSFsyXT1hLkhbMl0rcHwwO2EuSFszXT1hLkhbM10rcXwwO2EuSFs0XT1hLkhbNF0rcnwwO2EuSFs1XT1hLkhbNV0rdHwwO2EuSFs2XT1hLkhbNl0rdXwwO2EuSFs3XT1hLkhbN10rdnwwfTsKcGkucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPWEubGVuZ3RoKTt2YXIgYz0wLGQ9dGhpcy5LO2lmKHR5cGVvZiBhPT09InN0cmluZyIpZm9yKDtjPGI7KXRoaXMuTltkKytdPWEuY2hhckNvZGVBdChjKyspLGQ9PXRoaXMuYmxvY2tTaXplJiYodmkodGhpcyksZD0wKTtlbHNle3ZhciBlLGY9dHlwZW9mIGE7ZT1mIT0ib2JqZWN0Ij9mOmE/QXJyYXkuaXNBcnJheShhKT8iYXJyYXkiOmY6Im51bGwiO2lmKGU9PSJhcnJheSJ8fGU9PSJvYmplY3QiJiZ0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiKWZvcig7YzxiOyl7dmFyIGc9YVtjKytdO2lmKCEoIm51bWJlciI9PXR5cGVvZiBnJiYwPD1nJiYyNTU+PWcmJmc9PShnfDApKSl0aHJvdyBFcnJvcigibWVzc2FnZSBtdXN0IGJlIGEgYnl0ZSBhcnJheSIpO3RoaXMuTltkKytdPWc7ZD09dGhpcy5ibG9ja1NpemUmJih2aSh0aGlzKSxkPTApfWVsc2UgdGhyb3cgRXJyb3IoIm1lc3NhZ2UgbXVzdCBiZSBzdHJpbmcgb3IgYXJyYXkiKTsKfXRoaXMuSz1kO3RoaXMuUis9Yn07cGkucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbigpe3ZhciBhPVtdLGI9dGhpcy5SKjg7dGhpcy5LPDU2P3RoaXMudXBkYXRlKHVpLDU2LXRoaXMuSyk6dGhpcy51cGRhdGUodWksdGhpcy5ibG9ja1NpemUtKHRoaXMuSy01NikpO2Zvcih2YXIgYz02MztjPj01NjtjLS0pdGhpcy5OW2NdPWImMjU1LGIvPTI1Njt2aSh0aGlzKTtmb3IodmFyIGQ9MCxlPTA7ZTx0aGlzLmZhO2UrKylmb3IodmFyIGY9MjQ7Zj49MDtmLT04KWFbZCsrXT10aGlzLkhbZV0+PmYmMjU1O3JldHVybiBhfTsKdmFyIHJpPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsCjQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSxxaTtmdW5jdGlvbiB3aSgpe3BpLmNhbGwodGhpcyw4LHhpKX1TYSh3aSxwaSk7dmFyIHhpPVsxNzc5MDMzNzAzLDMxNDQxMzQyNzcsMTAxMzkwNDI0MiwyNzczNDgwNzYyLDEzNTk4OTMxMTksMjYwMDgyMjkyNCw1Mjg3MzQ2MzUsMTU0MTQ1OTIyNV07dmFyIHlpPS9eWzAtOUEtRmEtZl17NjR9JC87ZnVuY3Rpb24gemkoYSl7dHJ5e3JldHVybihuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKX1jYXRjaChiKXtyZXR1cm4gWmIoYSl9fWZ1bmN0aW9uIEFpKGEpe3ZhciBiPUE7aWYoYT09PSIifHxhPT09ImUwIilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEpO3ZhciBjO2lmKChjPWIuY3J5cHRvKT09bnVsbD8wOmMuc3VidGxlKXtpZih5aS50ZXN0KGEpKXJldHVybiBQcm9taXNlLnJlc29sdmUoYSk7dHJ5e3ZhciBkPXppKGEpO3JldHVybiBiLmNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixkKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBCaShlLGIpfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4iZTIifSl9Y2F0Y2goZSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgiZTIiKX19ZWxzZSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJlMSIpfQpmdW5jdGlvbiBDaShhKXt0cnl7dmFyIGI9bmV3IHdpO2IudXBkYXRlKHppKGEpKTtyZXR1cm4gYi5kaWdlc3QoKX1jYXRjaChjKXtyZXR1cm4iZTIifX1mdW5jdGlvbiBEaShhKXt2YXIgYj1BO2lmKGE9PT0iInx8YT09PSJlMCJ8fHlpLnRlc3QoYSkpcmV0dXJuIGE7dmFyIGM9Q2koYSk7aWYoYz09PSJlMiIpcmV0dXJuImUyIjt0cnl7cmV0dXJuIEJpKGMsYil9Y2F0Y2goZCl7cmV0dXJuImUyIn19ZnVuY3Rpb24gQmkoYSxiKXt2YXIgYz1BcnJheS5mcm9tKG5ldyBVaW50OEFycmF5KGEpKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZCl9KS5qb2luKCIiKTtyZXR1cm4gYi5idG9hKGMpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikucmVwbGFjZSgvPSskLywiIil9O2Z1bmN0aW9uIEVpKCl7Zm9yKHZhciBhPSExLGI9ITEsYz0wO2E9PT1iOylpZihhPURiKDAsMSk9PT0wLGI9RGIoMCwxKT09PTAsYysrLGM+MzApcmV0dXJuO3JldHVybiBhfXZhciBHaT17c2s6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBGaS5zayhhLGIsYyl9fSxIaT1mdW5jdGlvbigpe3RoaXMuc3R1ZGllcz17fTt0aGlzLkg9RWl9OwpIaS5wcm90b3R5cGUuc2s9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuc3R1ZGllc1tiXTtpZighKChjPT09dm9pZCAwP0RiKDAsOTk5OSk6YyUxRTQpPGQucHJvYmFiaWxpdHkqKGQuY29udHJvbElkMj80OjIpKjFFNCkpcmV0dXJuIGE7YTp7dmFyIGU9ZC5zdHVkeUlkLGY9ZC5leHBlcmltZW50SWQsZz1kLmNvbnRyb2xJZCxoPWQuY29udHJvbElkMjtpZighKChhLmV4cHx8e30pW2ZdfHwoYS5leHB8fHt9KVtnXXx8aCYmKGEuZXhwfHx7fSlbaF0pKXt2YXIgbD1jIT09dm9pZCAwP2MlMj09PTA6dGhpcy5IKCk7aWYobCE9PXZvaWQgMCl7dmFyIG49bD8wOjE7aWYoaCl7dmFyIHA9YyE9PXZvaWQgMD8oYz4+MSklMj09PTA6dGhpcy5IKCk7aWYocD09PXZvaWQgMClicmVhayBhO258PShwPzA6MSk8PDF9bj09PTA/SWkoYSxmLGUpOm49PT0xP0lpKGEsZyxlKTpuPT09MiYmSWkoYSxoLGUpfX19cmV0dXJuIGF9Owp2YXIgS2k9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaTtyZXR1cm4gYy5zdHVkaWVzW2JdP0ppKGMsYil8fCEhKGEuZXhwfHx7fSlbYy5zdHVkaWVzW2JdLmV4cGVyaW1lbnRJZF06ITF9LExpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Rmk7cmV0dXJuIGMuc3R1ZGllc1tiXSYmYy5zdHVkaWVzW2JdLmNvbnRyb2xJZCYmIUppKGMsYik/ISEoYS5leHB8fHt9KVtjLnN0dWRpZXNbYl0uY29udHJvbElkXTohMX0sTWk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaTtyZXR1cm4gYy5zdHVkaWVzW2JdJiZjLnN0dWRpZXNbYl0uY29udHJvbElkMiYmIUppKGMsYik/ISEoYS5leHB8fHt9KVtjLnN0dWRpZXNbYl0uY29udHJvbElkMl06ITF9LE5pPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEuZXhwfHx7fSxkPW0oT2JqZWN0LmtleXMoYykubWFwKE51bWJlcikpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXt2YXIgZj1lLnZhbHVlO2lmKGNbZl09PT1iKXJldHVybiBmfX0sSmk9ZnVuY3Rpb24oYSwKYil7cmV0dXJuISFhLnN0dWRpZXNbYl0uYWN0aXZlfHxhLnN0dWRpZXNbYl0ucHJvYmFiaWxpdHk+LjV9LElpPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmV4cHx8e307ZFtiXT1jO2EuZXhwPWR9LEZpPW5ldyBIaTt2YXIgaWo9ZnVuY3Rpb24oKXt0aGlzLkg9QS5nb29nbGVfdGFnX21hbmFnZXI9QS5nb29nbGVfdGFnX21hbmFnZXJ8fHt9fSxqajtmdW5jdGlvbiBraihhLGIpe2xqKCk7dmFyIGM9amo7cmV0dXJuIGMuSFthXT1jLkhbYV18fGIoKX1mdW5jdGlvbiBtaihhKXtsaigpO3JldHVybiBqai5IW2FdfWZ1bmN0aW9uIG5qKGEsYil7bGooKTtqai5IW2FdPWJ9ZnVuY3Rpb24gb2ooYSl7dmFyIGI9RSg1KTtsaigpO3ZhciBjPWpqO2MuSFtiXT1jLkhbYl18fGF9ZnVuY3Rpb24gcGooKXt2YXIgYT1FKDE5KTtsaigpO3ZhciBiPWpqO3JldHVybiBiLkhbYV09Yi5IW2FdfHx7fX1mdW5jdGlvbiBxaigpe3ZhciBhPUUoMTkpO2xqKCk7cmV0dXJuIGpqLkhbYV19ZnVuY3Rpb24gcmooKXtsaigpO3ZhciBhPWpqLGI9YS5ILnNlcXVlbmNlfHwxO2EuSC5zZXF1ZW5jZT1iKzE7cmV0dXJuIGJ9ZnVuY3Rpb24gbGooKXtqanx8KGpqPW5ldyBpail9O3ZhciBzaj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiAwO2Nhc2UgNDkxOnJldHVybiAxMjtjYXNlIDQ4MDpyZXR1cm4gMTE7Y2FzZSA0OTk6cmV0dXJuIDEwO2Nhc2UgNTAwOnJldHVybiA2O2Nhc2UgNDIxOnJldHVybiA5O2Nhc2UgNTYxOnJldHVybiAxNztjYXNlIDQ4MjpyZXR1cm4gMTU7Y2FzZSA1NzA6cmV0dXJuIDE5O2Nhc2UgNDk1OnJldHVybiAxMztjYXNlIDUxNDpyZXR1cm4gMTY7Y2FzZSA1NzM6cmV0dXJuIDE4O2Nhc2UgMjM1OnJldHVybiA4O2Nhc2UgNTM6cmV0dXJuIDE7Y2FzZSA1NDpyZXR1cm4gMjtjYXNlIDUyOnJldHVybiA0O2Nhc2UgNzU6cmV0dXJuIDN9fSx0aj1mdW5jdGlvbihhLGIpe2EuTltiXT0hMDt2YXIgYz1zaihiKTtjIT09dm9pZCAwJiYoV2ZbY109ITApfSxNPWZ1bmN0aW9uKGEpe3JldHVybiEhdWouTlthXX0sdWo9bmV3IGZ1bmN0aW9uKCl7dGhpcy5OPVtdO3RoaXMuSz1bXTt0aGlzLkg9W107CnRqKHRoaXMsMTMyKTt2YXIgYT1OZig2LDZFNCk7WGZbMV09YTt2YXIgYj1OZig3LDEpO1hmWzNdPWI7dmFyIGM9TmYoMzUsNTApO1hmWzJdPWM7dmFyIGQ9TmYoNjksMTc3NjQ0ODkyMCk7WGZbNF09ZDsKdGoodGhpcyw0MzUpO3RqKHRoaXMsMTQxKTsKfTt2YXIgdmo9ZnVuY3Rpb24oKXt0aGlzLkg9bmV3IFNldDt0aGlzLks9bmV3IFNldH0seGo9ZnVuY3Rpb24oYSl7dmFyIGI9d2ouSDthPWE9PT12b2lkIDA/W106YTt2YXIgYz1bXS5jb25jYXQodyhiLkgpKS5jb25jYXQoW10uY29uY2F0KHcoYi5LKSkpLmNvbmNhdChhKTtjLnNvcnQoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZC1lfSk7cmV0dXJuIGN9LHlqPWZ1bmN0aW9uKCl7dmFyIGE9W10uY29uY2F0KHcod2ouSC5IKSk7YS5zb3J0KGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGItY30pO3JldHVybiBhfSx6aj1mdW5jdGlvbigpe3ZhciBhPXdqLkgsYj1FKDQ0KTthLkg9bmV3IFNldDtpZihiIT09IiIpZm9yKHZhciBjPW0oYi5zcGxpdCgifiIpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9TnVtYmVyKGQudmFsdWUpO2lzTmFOKGUpfHxhLkguYWRkKGUpfX07dmFyIEFqPXt9LEJqPXtfX2NsOjEsX19lY2w6MSxfX2VobDoxLF9fZXZsOjEsX19mYWw6MSxfX2ZpbDoxLF9fZnNsOjEsX19obDoxLF9famVsOjEsX19sY2w6MSxfX3NkbDoxLF9fdGw6MSxfX3l0bDoxfSxDaj1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHtfX3BhdXNlZDoxLF9fdGc6MX0sQmopLERqLEVqPSExO0RqPUVqO3ZhciBGaj0iIjtBai5xaj1Gajt2YXIgd2o9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPW5ldyB2an07dmFyIEdqPS86WzAtOV0rJC8sSGo9L15cZCtcLmZsc1wuZG91YmxlY2xpY2tcLm5ldCQvO2Z1bmN0aW9uIElqKGEsYixjLGQpe3ZhciBlPUpqKGEsISFkLGIpLGYsZztyZXR1cm4gYz8oZz1lW2JdKSE9bnVsbD9nOltdOihmPWVbYl0pPT1udWxsP3ZvaWQgMDpmWzBdfWZ1bmN0aW9uIEpqKGEsYixjKXtmb3IodmFyIGQ9e30sZT1tKGEuc3BsaXQoIiYiKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPW0oZi52YWx1ZS5zcGxpdCgiPSIpKSxoPWcubmV4dCgpLnZhbHVlLGw9eWEoZyksbj1kZWNvZGVVUklDb21wb25lbnQoaC5yZXBsYWNlKC9cKy9nLCIgIikpO2lmKGM9PT12b2lkIDB8fG49PT1jKXt2YXIgcD1sLmpvaW4oIj0iKTtkW25dfHwoZFtuXT1bXSk7ZFtuXS5wdXNoKGI/cDpkZWNvZGVVUklDb21wb25lbnQocC5yZXBsYWNlKC9cKy9nLCIgIikpKX19cmV0dXJuIGR9CmZ1bmN0aW9uIEtqKGEpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEpfWNhdGNoKGIpe319ZnVuY3Rpb24gTGooYSxiLGMsZCxlKXtiJiYoYj1TdHJpbmcoYikudG9Mb3dlckNhc2UoKSk7aWYoYj09PSJwcm90b2NvbCJ8fGI9PT0icG9ydCIpYS5wcm90b2NvbD1NaihhLnByb3RvY29sKXx8TWooQS5sb2NhdGlvbi5wcm90b2NvbCk7Yj09PSJwb3J0Ij9hLnBvcnQ9U3RyaW5nKE51bWJlcihhLmhvc3RuYW1lP2EucG9ydDpBLmxvY2F0aW9uLnBvcnQpfHwoYS5wcm90b2NvbD09PSJodHRwIj84MDphLnByb3RvY29sPT09Imh0dHBzIj80NDM6IiIpKTpiPT09Imhvc3QiJiYoYS5ob3N0bmFtZT0oYS5ob3N0bmFtZXx8QS5sb2NhdGlvbi5ob3N0bmFtZSkucmVwbGFjZShHaiwiIikudG9Mb3dlckNhc2UoKSk7cmV0dXJuIE5qKGEsYixjLGQsZSl9CmZ1bmN0aW9uIE5qKGEsYixjLGQsZSl7dmFyIGYsZz1NaihhLnByb3RvY29sKTtiJiYoYj1TdHJpbmcoYikudG9Mb3dlckNhc2UoKSk7c3dpdGNoKGIpe2Nhc2UgInVybF9ub19mcmFnbWVudCI6Zj1PaihhKTticmVhaztjYXNlICJwcm90b2NvbCI6Zj1nO2JyZWFrO2Nhc2UgImhvc3QiOmY9YS5ob3N0bmFtZS5yZXBsYWNlKEdqLCIiKS50b0xvd2VyQ2FzZSgpO2lmKGMpe3ZhciBoPS9ed3d3XGQqXC4vLmV4ZWMoZik7aCYmaFswXSYmKGY9Zi5zdWJzdHJpbmcoaFswXS5sZW5ndGgpKX1icmVhaztjYXNlICJwb3J0IjpmPVN0cmluZyhOdW1iZXIoYS5wb3J0KXx8KGc9PT0iaHR0cCI/ODA6Zz09PSJodHRwcyI/NDQzOiIiKSk7YnJlYWs7Y2FzZSAicGF0aCI6YS5wYXRobmFtZXx8YS5ob3N0bmFtZXx8c2IoIlRBR0dJTkciLDEpO2Y9YS5wYXRobmFtZS5zdWJzdHJpbmcoMCwxKT09PSIvIj9hLnBhdGhuYW1lOiIvIithLnBhdGhuYW1lO3ZhciBsPWYuc3BsaXQoIi8iKTsoZHx8W10pLmluZGV4T2YobFtsLmxlbmd0aC0KMV0pPj0wJiYobFtsLmxlbmd0aC0xXT0iIik7Zj1sLmpvaW4oIi8iKTticmVhaztjYXNlICJxdWVyeSI6Zj1hLnNlYXJjaC5yZXBsYWNlKCI/IiwiIik7ZSYmKGY9SWooZixlLCExKSk7YnJlYWs7Y2FzZSAiZXh0ZW5zaW9uIjp2YXIgbj1hLnBhdGhuYW1lLnNwbGl0KCIuIik7Zj1uLmxlbmd0aD4xP25bbi5sZW5ndGgtMV06IiI7Zj1mLnNwbGl0KCIvIilbMF07YnJlYWs7Y2FzZSAiZnJhZ21lbnQiOmY9YS5oYXNoLnJlcGxhY2UoIiMiLCIiKTticmVhaztkZWZhdWx0OmY9YSYmYS5ocmVmfXJldHVybiBmfWZ1bmN0aW9uIE1qKGEpe3JldHVybiBhP2EucmVwbGFjZSgiOiIsIiIpLnRvTG93ZXJDYXNlKCk6IiJ9ZnVuY3Rpb24gT2ooYSl7dmFyIGI9IiI7aWYoYSYmYS5ocmVmKXt2YXIgYz1hLmhyZWYuaW5kZXhPZigiIyIpO2I9YzwwP2EuaHJlZjphLmhyZWYuc3Vic3RyaW5nKDAsYyl9cmV0dXJuIGJ9dmFyIFBqPXt9LFFqPTA7CmZ1bmN0aW9uIFJqKGEpe3ZhciBiPVBqW2FdO2lmKCFiKXt2YXIgYz1CLmNyZWF0ZUVsZW1lbnQoImEiKTthJiYoYy5ocmVmPWEpO3ZhciBkPWMucGF0aG5hbWU7ZFswXSE9PSIvIiYmKGF8fHNiKCJUQUdHSU5HIiwxKSxkPSIvIitkKTt2YXIgZT1jLmhvc3RuYW1lLnJlcGxhY2UoR2osIiIpO2I9e2hyZWY6Yy5ocmVmLHByb3RvY29sOmMucHJvdG9jb2wsaG9zdDpjLmhvc3QsaG9zdG5hbWU6ZSxwYXRobmFtZTpkLHNlYXJjaDpjLnNlYXJjaCxoYXNoOmMuaGFzaCxwb3J0OmMucG9ydH07UWo8NSYmKFBqW2FdPWIsUWorKyl9cmV0dXJuIGJ9ZnVuY3Rpb24gU2ooYSxiLGMpe3ZhciBkPVJqKGEpO3JldHVybiBhYyhiLGQsYyl9CmZ1bmN0aW9uIFRqKGEpe3ZhciBiPVJqKEEubG9jYXRpb24uaHJlZiksYz1MaihiLCJob3N0IiwhMSk7aWYoYyYmYy5tYXRjaChIaikpe3ZhciBkPUxqKGIsInBhdGgiKTtpZihkKXt2YXIgZT1kLnNwbGl0KGErIj0iKTtpZihlLmxlbmd0aD4xKXJldHVybiBlWzFdLnNwbGl0KCI7IilbMF0uc3BsaXQoIj8iKVswXX19fTt2YXIgVWo9eyJodHRwczovL3d3dy5nb29nbGUuY29tIjoiL2ciLCJodHRwczovL3d3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSI6Ii9hcyIsImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iOiIvZ3MifSxWaj1bIi9hcy9kL2NjbS9jb252ZXJzaW9uIiwiL2cvZC9jY20vY29udmVyc2lvbiIsIi9ncy9jY20vY29udmVyc2lvbiIsIi9kL2NjbS9mb3JtLWRhdGEiXTtmdW5jdGlvbiBXaigpe3JldHVybiBJZig0Nyk/SmYoNTQpIT09MTohMX1mdW5jdGlvbiBYaigpe3ZhciBhPUUoMTgpLGI9YS5sZW5ndGg7cmV0dXJuIGFbYi0xXT09PSIvIj9hLnN1YnN0cmluZygwLGItMSk6YX0KZnVuY3Rpb24gWWooYSxiKXtpZihhKXt2YXIgYz0iIithO2MuaW5kZXhPZigiaHR0cDovLyIpIT09MCYmYy5pbmRleE9mKCJodHRwczovLyIpIT09MCYmKGM9Imh0dHBzOi8vIitjKTtjW2MubGVuZ3RoLTFdPT09Ii8iJiYoYz1jLnN1YnN0cmluZygwLGMubGVuZ3RoLTEpKTtyZXR1cm4gUmooIiIrYytiKS5ocmVmfX1mdW5jdGlvbiBaaihhKXtpZihhaygpKXJldHVybiBZaihhLCIvYW5hbHl0aWNzLmpzIil9ZnVuY3Rpb24gYmsoYSl7cmV0dXJuIGE9PT0yfHxhPT09M31mdW5jdGlvbiBjayhhKXtyZXR1cm4gTSg1ODgpJiZhPT09M31mdW5jdGlvbiBhaygpe3JldHVybiBXaigpfHxJZig1MCl9ZnVuY3Rpb24gZGsoKXtyZXR1cm4hIUFqLnFqJiZBai5xai5zcGxpdCgiQEAiKS5qb2luKCIiKSE9PSJTR1RNX1RPS0VOIn0KZnVuY3Rpb24gZWsoYSl7Zm9yKHZhciBiPW0oW0YuRC5kZCxGLkQueWNdKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9TyhhLGMudmFsdWUpO2lmKGQpcmV0dXJuIGR9fWZ1bmN0aW9uIGZrKGEsYixjKXtjPWM9PT12b2lkIDA/IiI6YztpZighV2ooKSlyZXR1cm4gYTt2YXIgZD1iP1VqW2FdfHwiIjoiIjtkPT09Ii9ncyImJihjPSIiKTtyZXR1cm4iIitYaigpK2QrY31mdW5jdGlvbiBnayhhKXtpZihXaigpKWZvcih2YXIgYj1tKFZqKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTtpZihTYihhLCIiK1hqKCkrZCkpcmV0dXJuIjo6In19CmZ1bmN0aW9uIGhrKCl7dmFyIGE9QTtpZighYSlyZXR1cm4hMTt0cnl7aWYoYT09PWEudG9wKXJldHVybiExO3ZhciBiPWEubG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIGIuaW5kZXhPZigiL18vc2VydmljZV93b3JrZXIvIikhPT0tMSYmVGIoYiwiL3N3X2lmcmFtZS5odG1sIil9Y2F0Y2goYyl7cmV0dXJuITF9fTt2YXIgaWs9L2d0YWdbLlwvXWpzLyxqaz0vZ3RtWy5cL11qcy8sbGs9ZnVuY3Rpb24oYSl7dmFyIGI9a2s7aWYoKGEuc2NyaXB0Q29udGFpbmVySWR8fCIiKS5pbmRleE9mKCJHVE0tIik+PTApe3ZhciBjO2E6e3ZhciBkLGU9KGQ9YS5zY3JpcHRFbGVtZW50KT09bnVsbD92b2lkIDA6ZC5zcmM7aWYoZSl7Zm9yKHZhciBmPUlmKDQ3KSxnPVJqKGUpLGg9Zj9nLnBhdGhuYW1lOiIiK2cuaG9zdG5hbWUrZy5wYXRobmFtZSxsPUIuc2NyaXB0cyxuPSIiLHA9MDtwPGwubGVuZ3RoOysrcCl7dmFyIHE9bFtwXTtpZighKHEuaW5uZXJIVE1MLmxlbmd0aD09PTB8fCFmJiZxLmlubmVySFRNTC5pbmRleE9mKGEuc2NyaXB0Q29udGFpbmVySWR8fCJTSE9VTERfTk9UX0JFX1NFVCIpPDB8fHEuaW5uZXJIVE1MLmluZGV4T2YoaCk8MCkpe2lmKHEuaW5uZXJIVE1MLmluZGV4T2YoIihmdW5jdGlvbih3LGQscyxsLGkpIik+PTApe2M9U3RyaW5nKHApO2JyZWFrIGF9bj1TdHJpbmcocCl9fWlmKG4pe2M9Cm47YnJlYWsgYX19Yz12b2lkIDB9dmFyIHI9YztpZihyKXJldHVybiBiLkg9ITAscn12YXIgdD1bXS5zbGljZS5jYWxsKEIuc2NyaXB0cyk7cmV0dXJuIGEuc2NyaXB0RWxlbWVudD9TdHJpbmcodC5pbmRleE9mKGEuc2NyaXB0RWxlbWVudCkpOiItMSJ9LG1rPWZ1bmN0aW9uKGEpe2lmKGtrLkgpcmV0dXJuIjEiO3ZhciBiLGM9KGI9YS5zY3JpcHRFbGVtZW50KT09bnVsbD92b2lkIDA6Yi5zcmM7aWYoYyl7aWYoaWsudGVzdChjKSlyZXR1cm4iMyI7aWYoamsudGVzdChjKSlyZXR1cm4iMiJ9cmV0dXJuIjAifSxraz1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9ITF9O2Z1bmN0aW9uIFAoYSl7c2IoIkdUTSIsYSl9O2Z1bmN0aW9uIG5rKGEpe3ZhciBiPW9rKCkuZGVzdGluYXRpb25BcnJheVthXSxjPW9rKCkuZGVzdGluYXRpb25bYV07cmV0dXJuIGImJmIubGVuZ3RoPjA/YlswXTpjfWZ1bmN0aW9uIHBrKGEsYil7dmFyIGM9b2soKTtjLnBlbmRpbmd8fChjLnBlbmRpbmc9W10pO0NiKGMucGVuZGluZyxmdW5jdGlvbihkKXtyZXR1cm4gZC50YXJnZXQuY3RpZD09PWEuY3RpZCYmZC50YXJnZXQuaXNEZXN0aW5hdGlvbj09PWEuaXNEZXN0aW5hdGlvbn0pfHxjLnBlbmRpbmcucHVzaCh7dGFyZ2V0OmEsb25Mb2FkOmJ9KX1mdW5jdGlvbiBxaygpe3ZhciBhPUEuZ29vZ2xlX3RhZ3NfZmlyc3RfcGFydHk7QXJyYXkuaXNBcnJheShhKXx8KGE9W10pO2Zvcih2YXIgYj17fSxjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpYltkLnZhbHVlXT0hMDtyZXR1cm4gT2JqZWN0LmZyZWV6ZShiKX0KdmFyIHJrPWZ1bmN0aW9uKCl7dGhpcy5jb250YWluZXI9e307dGhpcy5kZXN0aW5hdGlvbj17fTt0aGlzLmRlc3RpbmF0aW9uQXJyYXk9e307dGhpcy5jYW5vbmljYWw9e307dGhpcy5wZW5kaW5nPVtdO3RoaXMuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVycz17fTt0aGlzLmluamVjdGVkRmlyc3RQYXJ0eUNvbnRhaW5lcnM9cWsoKX07CmZ1bmN0aW9uIG9rKCl7dmFyIGE9TWMoImdvb2dsZV90YWdfZGF0YSIse30pLGI9YS50aWRyO2ImJnR5cGVvZiBiPT09Im9iamVjdCJ8fChiPW5ldyByayxhLnRpZHI9Yik7dmFyIGM9YjtjLmNvbnRhaW5lcnx8KGMuY29udGFpbmVyPXt9KTtjLmRlc3RpbmF0aW9ufHwoYy5kZXN0aW5hdGlvbj17fSk7Yy5kZXN0aW5hdGlvbkFycmF5fHwoYy5kZXN0aW5hdGlvbkFycmF5PXt9KTtjLmNhbm9uaWNhbHx8KGMuY2Fub25pY2FsPXt9KTtjLnBlbmRpbmd8fChjLnBlbmRpbmc9W10pO2MuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVyc3x8KGMuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVycz1xaygpKTtyZXR1cm4gY307ZnVuY3Rpb24gc2soKXtyZXR1cm4gSWYoNykmJnRrKCkuc29tZShmdW5jdGlvbihhKXtyZXR1cm4gYT09PUUoNSl9KX1mdW5jdGlvbiB1aygpe3ZhciBhO3JldHVybihhPUtmKDU1KSkhPW51bGw/YTpbXX1mdW5jdGlvbiB2aygpe3JldHVybiBFKDYpfHwiXyIrRSg1KX1mdW5jdGlvbiB3aygpe3ZhciBhPUUoMTApO3JldHVybiBhP2Euc3BsaXQoInwiKTpbRSg1KV19ZnVuY3Rpb24gdGsoKXt2YXIgYT1LZig1OSk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIHR5cGVvZiBiPT09InN0cmluZyJ9KS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGIuaW5kZXhPZigiR1RNLSIpIT09MH0pOltdfWZ1bmN0aW9uIHhrKCl7dmFyIGE9eWsoemsoKSksYj1hJiZhLnBhcmVudDtpZihiKXJldHVybiB5ayhiKX0KZnVuY3Rpb24gQWsoKXt2YXIgYT15ayh6aygpKTtpZihhKXtmb3IoO2EucGFyZW50Oyl7dmFyIGI9eWsoYS5wYXJlbnQpO2lmKCFiKWJyZWFrO2E9Yn1yZXR1cm4gYX19ZnVuY3Rpb24geWsoYSl7dmFyIGI9b2soKTtyZXR1cm4gYS5pc0Rlc3RpbmF0aW9uP25rKGEuY3RpZCk6Yi5jb250YWluZXJbYS5jdGlkXX1mdW5jdGlvbiBCaygpe3ZhciBhPW9rKCk7aWYoYS5wZW5kaW5nKXtmb3IodmFyIGIsYz1bXSxkPSExLGU9d2soKSxmPXRrKCksZz17fSxoPTA7aDxhLnBlbmRpbmcubGVuZ3RoO2c9e1JnOnZvaWQgMH0saCsrKWcuUmc9YS5wZW5kaW5nW2hdLENiKGcuUmcudGFyZ2V0LmlzRGVzdGluYXRpb24/ZjplLGZ1bmN0aW9uKGwpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbj09PWwuUmcudGFyZ2V0LmN0aWR9fShnKSk/ZHx8KGI9Zy5SZy5vbkxvYWQsZD0hMCk6Yy5wdXNoKGcuUmcpO2EucGVuZGluZz1jO2lmKGIpdHJ5e2IodmsoKSl9Y2F0Y2gobCl7fX19CmZ1bmN0aW9uIENrKCl7Zm9yKHZhciBhPUUoNSksYj13aygpLGM9dGsoKSxkPXVrKCksZT1mdW5jdGlvbihxLHIpe3ZhciB0PXtjYW5vbmljYWxDb250YWluZXJJZDpFKDYpLHNjcmlwdENvbnRhaW5lcklkOmEsc3RhdGU6Mixjb250YWluZXJzOmIuc2xpY2UoKSxkZXN0aW5hdGlvbnM6Yy5zbGljZSgpfTtKYyYmKHQuc2NyaXB0RWxlbWVudD1KYyk7S2MmJih0LnNjcmlwdFNvdXJjZT1LYyk7eGsoKT09PXZvaWQgMCYmKHQuaHRtbExvYWRPcmRlcj1sayh0KSx0LmxvYWRTY3JpcHRUeXBlPW1rKHQpKTt2YXIgdSx2O3N3aXRjaChyKXtjYXNlIDA6dT1mdW5jdGlvbih6KXtmLmNvbnRhaW5lcltxXT16fTt2PWYuY29udGFpbmVyW3FdO2JyZWFrO2Nhc2UgMTp1PWZ1bmN0aW9uKHope2YuZGVzdGluYXRpb25BcnJheVtxXT1mLmRlc3RpbmF0aW9uQXJyYXlbcV18fFtdO2YuZGVzdGluYXRpb25BcnJheVtxXS51bnNoaWZ0KHopfTt2YXIgeCx5PSgoeD1mLmRlc3RpbmF0aW9uQXJyYXlbcV0pPT0KbnVsbD92b2lkIDA6eFswXSl8fGYuZGVzdGluYXRpb25bcV07IXl8fHkuc3RhdGUhPT0wJiZ5LnN0YXRlIT09MXx8KHY9eSk7YnJlYWs7Y2FzZSAyOnU9ZnVuY3Rpb24oeil7Zi5kZXN0aW5hdGlvbkFycmF5W3FdPWYuZGVzdGluYXRpb25BcnJheVtxXXx8W107Zi5kZXN0aW5hdGlvbkFycmF5W3FdLnB1c2goeil9LHY9dm9pZCAwfXUmJih2Pyh2LnN0YXRlPT09MCYmUCg5MyksbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx2LHQpKTp1KHQpKX0sZj1vaygpLGc9bShiKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSllKGgudmFsdWUsMCk7Zm9yKHZhciBsPW0oYyksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7ZC5pbmNsdWRlcyhwKT9lKHAsMSk6ZShwLDIpfWYuY2Fub25pY2FsW3ZrKCldPXt9O0JrKCl9ZnVuY3Rpb24gRGsoKXt2YXIgYT12aygpO3JldHVybiEhb2soKS5jYW5vbmljYWxbYV19CmZ1bmN0aW9uIEVrKGEpe3JldHVybiEhb2soKS5jb250YWluZXJbYV19ZnVuY3Rpb24gRmsoKXt2YXIgYT16aygpLGI9eWsoYSk7cmV0dXJuIGImJmIuY29udGV4dH1mdW5jdGlvbiBHayhhKXt2YXIgYj1uayhhKTtyZXR1cm4gYj9iLnN0YXRlIT09MDohMX1mdW5jdGlvbiB6aygpe3JldHVybntjdGlkOkUoNSksaXNEZXN0aW5hdGlvbjpJZig3KX19ZnVuY3Rpb24gSGsoYSxiLGMpe3ZhciBkPXprKCksZT1vaygpLmNvbnRhaW5lclthXTtlJiZlLnN0YXRlIT09M3x8KG9rKCkuY29udGFpbmVyW2FdPXtzdGF0ZToxLGNvbnRleHQ6YixwYXJlbnQ6ZH0scGsoe2N0aWQ6YSxpc0Rlc3RpbmF0aW9uOiExfSxjKSl9ZnVuY3Rpb24gSWsoYSxiLGMpe3ZhciBkPW9rKCksZT1uayhhKTtlP2Uuc3RhdGU9MTooZT17Y29udGV4dDpiLHN0YXRlOjEscGFyZW50OnprKCl9LGQuZGVzdGluYXRpb25BcnJheVthXT1bZV0pO3BrKHtjdGlkOmEsaXNEZXN0aW5hdGlvbjohMH0sYyl9CmZ1bmN0aW9uIEprKGEsYixjLGQpe3ZhciBlPW9rKCksZj1uayhhKTtmP2Yuc3RhdGU9MDooZj17c3RhdGU6MCx0cmFuc3BvcnRVcmw6Yixjb250ZXh0OmMscGFyZW50OnprKCl9LGUuZGVzdGluYXRpb25BcnJheVthXT1bZl0pO3BrKHtjdGlkOmEsaXNEZXN0aW5hdGlvbjohMH0sZCk7UCg5MSl9ZnVuY3Rpb24gS2soKXt2YXIgYT1vaygpLmNvbnRhaW5lcixiO2ZvcihiIGluIGEpaWYoYS5oYXNPd25Qcm9wZXJ0eShiKSYmYVtiXS5zdGF0ZT09PTEpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gTGsoKXt2YXIgYT17fTtHYihvaygpLmRlc3RpbmF0aW9uLGZ1bmN0aW9uKGIsYyl7KGM9PW51bGw/dm9pZCAwOmMuc3RhdGUpPT09MCYmKGFbYl09Yyl9KTtHYihvaygpLmRlc3RpbmF0aW9uQXJyYXksZnVuY3Rpb24oYixjKXt2YXIgZD1jWzBdOyhkPT1udWxsP3ZvaWQgMDpkLnN0YXRlKT09PTAmJihhW2JdPWQpfSk7cmV0dXJuIGF9CmZ1bmN0aW9uIE1rKGEpe3JldHVybiEhKGEmJmEucGFyZW50JiZhLmNvbnRleHQmJmEuY29udGV4dC5zb3VyY2U9PT0xJiZhLnBhcmVudC5jdGlkLmluZGV4T2YoIkdUTS0iKSE9PTApfWZ1bmN0aW9uIE5rKCl7Zm9yKHZhciBhPW9rKCksYj1tKHdrKCkpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWlmKGEuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVyc1tjLnZhbHVlXSlyZXR1cm4hMDtyZXR1cm4hMX07dmFyIE9rPWZ1bmN0aW9uKCl7fTtPay5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIn07dmFyIFBrPW5ldyBPazt2YXIgWGs9ZnVuY3Rpb24oKXt0aGlzLnN0b3JhZ2U9WWEoKX07WGsucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuc3RvcmFnZS5zZXQoU3RyaW5nKGEpLGIpfTtYay5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnN0b3JhZ2UuZ2V0KFN0cmluZyhhKSl9O3ZhciBZaztmdW5jdGlvbiBaayhhLGIpe1lrfHwoWWs9bmV3IFhrKTtZay5zZXQoYSxiKX1mdW5jdGlvbiAkayhhKXtZa3x8KFlrPW5ldyBYayk7cmV0dXJuIFlrLmdldChhKX1mdW5jdGlvbiBhbChhLGIpe1lrfHwoWWs9bmV3IFhrKTt2YXIgYz1ZaztjLnN0b3JhZ2UuaGFzKFN0cmluZyhhKSl8fGMuc3RvcmFnZS5zZXQoU3RyaW5nKGEpLGIoKSk7cmV0dXJuIGMuc3RvcmFnZS5nZXQoU3RyaW5nKGEpKX07ZnVuY3Rpb24gYmwoYSxiKXtmdW5jdGlvbiBjKGcpe3ZhciBoPVJqKGcpLGw9TGooaCwicHJvdG9jb2wiKSxuPUxqKGgsImhvc3QiLCEwKSxwPUxqKGgsInBvcnQiKSxxPUxqKGgsInBhdGgiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1wvJC8sIiIpO2lmKGw9PT12b2lkIDB8fGw9PT0iaHR0cCImJnA9PT0iODAifHxsPT09Imh0dHBzIiYmcD09PSI0NDMiKWw9IndlYiIscD0iZGVmYXVsdCI7cmV0dXJuW2wsbixwLHFdfWZvcih2YXIgZD1jKFN0cmluZyhhKSksZT1jKFN0cmluZyhiKSksZj0wO2Y8ZC5sZW5ndGg7ZisrKWlmKGRbZl0hPT1lW2ZdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGNsKGEpe3JldHVybiBkbChhKT8xOjB9CmZ1bmN0aW9uIGRsKGEpe3ZhciBiPWEuYXJnMCxjPWEuYXJnMTtpZihhLmFueV9vZiYmQXJyYXkuaXNBcnJheShjKSl7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPUVkKGEse30pO0VkKHthcmcxOmNbZF0sYW55X29mOnZvaWQgMH0sZSk7aWYoY2woZSkpcmV0dXJuITB9cmV0dXJuITF9c3dpdGNoKGFbImZ1bmN0aW9uIl0pe2Nhc2UgIl9jbiI6cmV0dXJuIEtnKGIsYyk7Y2FzZSAiX2NzcyI6cmV0dXJuIEdnKGIsYyk7Y2FzZSAiX2V3IjpyZXR1cm4gSGcoYixjKTtjYXNlICJfZXEiOnJldHVybiBMZyhiLGMpO2Nhc2UgIl9nZSI6cmV0dXJuIE1nKGIsYyk7Y2FzZSAiX2d0IjpyZXR1cm4gT2coYixjKTtjYXNlICJfbGMiOnJldHVybiBJZyhiLGMpO2Nhc2UgIl9sZSI6cmV0dXJuIE5nKGIsYyk7Y2FzZSAiX2x0IjpyZXR1cm4gUGcoYixjKTtjYXNlICJfcmUiOnJldHVybiBKZyhiLGMsYS5pZ25vcmVfY2FzZSxhbCgzLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KSk7Y2FzZSAiX3N3IjpyZXR1cm4gUWcoYiwKYyk7Y2FzZSAiX3VtIjpyZXR1cm4gYmwoYixjKX1yZXR1cm4hMX07ZnVuY3Rpb24gZWwoYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgZjtzd2l0Y2goYVswXSl7Y2FzZSAiZnVuY3Rpb25faWQiOnJldHVybiBhWzFdO2Nhc2UgImxpc3QiOmY9W107Zm9yKHZhciBnPTE7ZzxhLmxlbmd0aDtnKyspZi5wdXNoKGVsKGFbZ10sYixjLGQsZSkpO3JldHVybiBmO2Nhc2UgIm1hY3JvIjp2YXIgaD1kW2FbMV1dO3JldHVybiBoP2guZXZhbHVhdGUoYixlKTp2b2lkIDA7Y2FzZSAibWFwIjpmPXt9O2Zvcih2YXIgbD0xO2w8YS5sZW5ndGg7bCs9MilmW2VsKGFbbF0sYixjLGQsZSldPWVsKGFbbCsxXSxiLGMsZCxlKTtyZXR1cm4gZjtjYXNlICJ0ZW1wbGF0ZSI6Zj1bXTtmb3IodmFyIG49ITEscD0xO3A8YS5sZW5ndGg7cCsrKXt2YXIgcT1lbChhW3BdLGIsYyxkLGUpO2YucHVzaChxKX1yZXR1cm4gZi5qb2luKCIiKTtjYXNlICJlc2NhcGUiOmY9ZWwoYVsxXSxiLGMsZCxlKTtmPVN0cmluZyhmKTtmb3IodmFyIHk9Mjt5PGEubGVuZ3RoO3krKylVaVthW3ldXSYmKGY9VWlbYVt5XV0oZikpO3JldHVybiBmO2Nhc2UgInRhZyI6dmFyIHo9YVsxXTtpZighY1t6XSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHJlc29sdmUgdGFnIHJlZmVyZW5jZSAiKwp6KyIuIik7cmV0dXJue2JvOmFbMl0saW5kZXg6en07Y2FzZSAiemIiOnZhciBDPXt9LEQ9KENbR2YuWWJdPWFbMV0sQy5hcmcwPWVsKGFbMl0sYixjLGQsZSksQy5hcmcxPWVsKGFbM10sYixjLGQsZSksQy5pZ25vcmVfY2FzZT1lbChhWzVdLGIsYyxkLGUpLEMpLEk9Y2woRCksRz0hIWFbNF07cmV0dXJuIEd8fEkhPT0yP0chPT0oST09PTEpOm51bGw7ZGVmYXVsdDp0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBleHBhbmQgdW5rbm93biBWYWx1ZSB0eXBlOiAiK2FbMF0rIi4iKTt9fXJldHVybiBhfTtmdW5jdGlvbiBmbChhKXtyZXR1cm4gYSYmYS5pbmRleE9mKCJwZW5kaW5nOiIpPT09MD9nbChhLnN1YnN0cig4KSk6ITF9ZnVuY3Rpb24gZ2woYSl7aWYoYT09bnVsbHx8YS5sZW5ndGg9PT0wKXJldHVybiExO3ZhciBiPU51bWJlcihhKSxjPU5iKCk7cmV0dXJuIGI8YyszRTUmJmI+Yy05RTV9O3ZhciBobD0hMSxpbD0hMSxqbD0hMSxrbD0wLGxsPSExLG1sPXZvaWQgMCxubD1bXTtmdW5jdGlvbiBvbChhKXtpZihrbD09PTApbGwmJm5sJiYobmwubGVuZ3RoPj0xMDAmJm5sLnNoaWZ0KCksbmwucHVzaChhKSk7ZWxzZSBpZihwbCgpKXt2YXIgYj1FKDQxKSxjPU1jKGIsW10pO2MubGVuZ3RoPj01MCYmYy5zaGlmdCgpO2MucHVzaChhKX19ZnVuY3Rpb24gcWwoKXtpbHx8KHJsKCksc2woa2wpKX1mdW5jdGlvbiBzbChhKXtpZighaWx8fGtsPT09MiYmYT09PTEpaWYoaWw9ITAsamwmJihhZChCLCJUQVByb2REZWJ1Z1NpZ25hbCIscWwpLGpsPSExKSxtbCE9PXZvaWQgMCYmKEEuY2xlYXJUaW1lb3V0KG1sKSxtbD12b2lkIDApLGtsPWEsYT09PTEpe3ZhciBiPW5sO25sPXZvaWQgMDtiPT1udWxsfHxiLmZvckVhY2goZnVuY3Rpb24oYyl7b2woYyl9KX19CmZ1bmN0aW9uIHJsKCl7dmFyIGE9Qi5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLXRhZy1hc3Npc3RhbnQtcHJvZC1wcmVzZW50Iik7Z2woYSk/a2w9MTohZmwoYSl8fGhsfHxqbD9rbD0yOihqbD0hMCwkYyhCLCJUQVByb2REZWJ1Z1NpZ25hbCIscWwsITEpLG1sPUEuc2V0VGltZW91dChmdW5jdGlvbigpe2lsfHwocmwoKSxzbChrbCkpO2hsPSEwfSwyMDApKX1mdW5jdGlvbiBwbCgpe2lmKCFsbClyZXR1cm4hMTtzd2l0Y2goa2wpe2Nhc2UgMTpjYXNlIDA6cmV0dXJuITA7Y2FzZSAyOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuITF9fTtmdW5jdGlvbiB0bCgpe3ZhciBhPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KTtyZXR1cm4gYS5pY3M9YS5pY3N8fG5ldyB1bH12YXIgdWw9ZnVuY3Rpb24oKXt0aGlzLmVudHJpZXM9e307dGhpcy53YWl0UGVyaW9kVGltZWRPdXQ9dGhpcy53YXNTZXRMYXRlPXRoaXMuYWNjZXNzZWRBbnk9dGhpcy5hY2Nlc3NlZERlZmF1bHQ9dGhpcy51c2VkSW1wbGljaXQ9dGhpcy51c2VkVXBkYXRlPXRoaXMudXNlZERlZmF1bHQ9dGhpcy51c2VkRGVjbGFyZT10aGlzLmFjdGl2ZT0hMTt0aGlzLkg9W119Owp1bC5wcm90b3R5cGUuZGVmYXVsdD1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt0aGlzLnVzZWREZWZhdWx0fHx0aGlzLnVzZWREZWNsYXJlfHwhdGhpcy5hY2Nlc3NlZERlZmF1bHQmJiF0aGlzLmFjY2Vzc2VkQW55fHwodGhpcy53YXNTZXRMYXRlPSEwKTt0aGlzLnVzZWREZWZhdWx0PXRoaXMuYWN0aXZlPSEwO3NiKCJUQUdHSU5HIiwxOSk7Yj09bnVsbD9zYigiVEFHR0lORyIsMTgpOnZsKHRoaXMsYSxiPT09ImdyYW50ZWQiLGMsZCxlLGYsZyl9O3VsLnByb3RvdHlwZS53YWl0Rm9yVXBkYXRlPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrKyl2bCh0aGlzLGFbZF0sdm9pZCAwLHZvaWQgMCwiIiwiIixiLGMpfTsKdmFyIHZsPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGw9YS5lbnRyaWVzLG49bFtiXXx8e30scD1uLnJlZ2lvbixxPWQmJnpiKGQpP2QudG9VcHBlckNhc2UoKTp2b2lkIDA7ZT1lLnRvVXBwZXJDYXNlKCk7Zj1mLnRvVXBwZXJDYXNlKCk7aWYoZT09PSIifHxxPT09Znx8KHE9PT1lP3AhPT1mOiFxJiYhcCkpe3ZhciByPSEhKGcmJmc+MCYmbi51cGRhdGU9PT12b2lkIDApLHQ9e3JlZ2lvbjpxLGRlY2xhcmVfcmVnaW9uOm4uZGVjbGFyZV9yZWdpb24saW1wbGljaXQ6bi5pbXBsaWNpdCxkZWZhdWx0OmMhPT12b2lkIDA/YzpuLmRlZmF1bHQsZGVjbGFyZTpuLmRlY2xhcmUsdXBkYXRlOm4udXBkYXRlLHF1aWV0OnJ9O2lmKGUhPT0iInx8bi5kZWZhdWx0IT09ITEpbFtiXT10O3ImJkEuc2V0VGltZW91dChmdW5jdGlvbigpe2xbYl09PT10JiZ0LnF1aWV0JiYoc2IoIlRBR0dJTkciLDIpLGEud2FpdFBlcmlvZFRpbWVkT3V0PSEwLGEuY2xlYXJUaW1lb3V0KGIsdm9pZCAwLGgpLAphLm5vdGlmeUxpc3RlbmVycygpKX0sZyl9fTtrPXVsLnByb3RvdHlwZTtrLmNsZWFyVGltZW91dD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W2FdLGU9Yy5kZWxlZ2F0ZWRDb25zZW50VHlwZXMsZjtmb3IoZiBpbiBlKWUuaGFzT3duUHJvcGVydHkoZikmJmVbZl09PT1hJiZkLnB1c2goZik7dmFyIGc9dGhpcy5lbnRyaWVzW2FdfHx7fSxoPXRoaXMuZ2V0Q29uc2VudFN0YXRlKGEsYyk7aWYoZy5xdWlldCl7Zy5xdWlldD0hMTtmb3IodmFyIGw9bShkKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl3bCh0aGlzLG4udmFsdWUpfWVsc2UgaWYoYiE9PXZvaWQgMCYmaCE9PWIpZm9yKHZhciBwPW0oZCkscT1wLm5leHQoKTshcS5kb25lO3E9cC5uZXh0KCkpd2wodGhpcyxxLnZhbHVlKX07CmsudXBkYXRlPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnVzZWREZWZhdWx0fHx0aGlzLnVzZWREZWNsYXJlfHx0aGlzLnVzZWRVcGRhdGV8fCF0aGlzLmFjY2Vzc2VkQW55fHwodGhpcy53YXNTZXRMYXRlPSEwKTt0aGlzLnVzZWRVcGRhdGU9dGhpcy5hY3RpdmU9ITA7aWYoYiE9bnVsbCl7dmFyIGQ9dGhpcy5nZXRDb25zZW50U3RhdGUoYSxjKSxlPXRoaXMuZW50cmllczsoZVthXT1lW2FdfHx7fSkudXBkYXRlPWI9PT0iZ3JhbnRlZCI7dGhpcy5jbGVhclRpbWVvdXQoYSxkLGMpfX07CmsuZGVjbGFyZT1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMudXNlZERlY2xhcmU9dGhpcy5hY3RpdmU9ITA7dmFyIGY9dGhpcy5lbnRyaWVzLGc9ZlthXXx8e30saD1nLmRlY2xhcmVfcmVnaW9uLGw9YyYmemIoYyk/Yy50b1VwcGVyQ2FzZSgpOnZvaWQgMDtkPWQudG9VcHBlckNhc2UoKTtlPWUudG9VcHBlckNhc2UoKTtpZihkPT09IiJ8fGw9PT1lfHwobD09PWQ/aCE9PWU6IWwmJiFoKSl7dmFyIG49e3JlZ2lvbjpnLnJlZ2lvbixkZWNsYXJlX3JlZ2lvbjpsLGRlY2xhcmU6Yj09PSJncmFudGVkIixpbXBsaWNpdDpnLmltcGxpY2l0LGRlZmF1bHQ6Zy5kZWZhdWx0LHVwZGF0ZTpnLnVwZGF0ZSxxdWlldDpnLnF1aWV0fTtpZihkIT09IiJ8fGcuZGVjbGFyZSE9PSExKWZbYV09bn19OwprLmltcGxpY2l0PWZ1bmN0aW9uKGEsYil7dGhpcy51c2VkSW1wbGljaXQ9ITA7dmFyIGM9dGhpcy5lbnRyaWVzLGQ9Y1thXT1jW2FdfHx7fTtkLmltcGxpY2l0IT09ITEmJihkLmltcGxpY2l0PWI9PT0iZ3JhbnRlZCIpfTsKay5nZXRDb25zZW50U3RhdGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmVudHJpZXMsZD1jW2FdfHx7fSxlPWQudXBkYXRlO2lmKGUhPT12b2lkIDApcmV0dXJuIGU/MToyO2lmKGIudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzKXt2YXIgZj1iLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzW2FdO2lmKGY9PT0zKXJldHVybiAxO2lmKGY9PT0yKXJldHVybiAyfWVsc2UgaWYoZT1kLmRlZmF1bHQsZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7aWYoYj09bnVsbD8wOmIuZGVsZWdhdGVkQ29uc2VudFR5cGVzLmhhc093blByb3BlcnR5KGEpKXt2YXIgZz1iLmRlbGVnYXRlZENvbnNlbnRUeXBlc1thXSxoPWNbZ118fHt9O2U9aC51cGRhdGU7aWYoZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7aWYoYi51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHMpe3ZhciBsPWIuY29udGFpbmVyU2NvcGVkRGVmYXVsdHNbZ107aWYobD09PTMpcmV0dXJuIDE7aWYobD09PTIpcmV0dXJuIDJ9ZWxzZSBpZihlPQpoLmRlZmF1bHQsZSE9PXZvaWQgMClyZXR1cm4gZT8xOjJ9ZT1kLmRlY2xhcmU7aWYoZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7ZT1kLmltcGxpY2l0O3JldHVybiBlIT09dm9pZCAwP2U/Mzo0OjB9O2suYWRkTGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXt0aGlzLkgucHVzaCh7Y29uc2VudFR5cGVzOmEsaWU6Yn0pfTt2YXIgd2w9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGEuSC5sZW5ndGg7KytjKXt2YXIgZD1hLkhbY107QXJyYXkuaXNBcnJheShkLmNvbnNlbnRUeXBlcykmJmQuY29uc2VudFR5cGVzLmluZGV4T2YoYikhPT0tMSYmKGQueG89ITApfX07dWwucHJvdG90eXBlLm5vdGlmeUxpc3RlbmVycz1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2M8dGhpcy5ILmxlbmd0aDsrK2Mpe3ZhciBkPXRoaXMuSFtjXTtpZihkLnhvKXtkLnhvPSExO3RyeXtkLmllKHtjb25zZW50RXZlbnRJZDphLGNvbnNlbnRQcmlvcml0eUlkOmJ9KX1jYXRjaChlKXt9fX19O3ZhciB4bD0hMSx5bD0hMSx6bD17fSxBbD17ZGVsZWdhdGVkQ29uc2VudFR5cGVzOnt9LGNvcmVQbGF0Zm9ybVNlcnZpY2VzOnt9LHVzZWRDb3JlUGxhdGZvcm1TZXJ2aWNlczohMSxzZWxlY3RlZEFsbENvcmVQbGF0Zm9ybVNlcnZpY2VzOiExLGNvbnRhaW5lclNjb3BlZERlZmF1bHRzOih6bC5hZF9zdG9yYWdlPTEsemwuYW5hbHl0aWNzX3N0b3JhZ2U9MSx6bC5hZF91c2VyX2RhdGE9MSx6bC5hZF9wZXJzb25hbGl6YXRpb249MSx6bCksdXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzOiExfTtmdW5jdGlvbiBCbChhKXt2YXIgYj10bCgpO2IuYWNjZXNzZWRBbnk9ITA7cmV0dXJuKHpiKGEpP1thXTphKS5ldmVyeShmdW5jdGlvbihjKXtzd2l0Y2goYi5nZXRDb25zZW50U3RhdGUoYyxBbCkpe2Nhc2UgMTpjYXNlIDM6cmV0dXJuITA7Y2FzZSAyOmNhc2UgNDpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX0pfQpmdW5jdGlvbiBDbChhKXt2YXIgYj10bCgpO2IuYWNjZXNzZWRBbnk9ITA7cmV0dXJuIGIuZ2V0Q29uc2VudFN0YXRlKGEsQWwpfWZ1bmN0aW9uIERsKGEpe3ZhciBiPXRsKCk7Yi5hY2Nlc3NlZEFueT0hMDtyZXR1cm4hKGIuZW50cmllc1thXXx8e30pLnF1aWV0fWZ1bmN0aW9uIEVsKCl7aWYoIVlmKDUpKXJldHVybiExO3ZhciBhPXRsKCk7YS5hY2Nlc3NlZEFueT0hMDtpZihhLmFjdGl2ZSlyZXR1cm4hMDtpZighQWwudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzKXJldHVybiExO2Zvcih2YXIgYj1tKE9iamVjdC5rZXlzKEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzKSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpaWYoQWwuY29udGFpbmVyU2NvcGVkRGVmYXVsdHNbYy52YWx1ZV0hPT0xKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEZsKGEsYil7dGwoKS5hZGRMaXN0ZW5lcihhLGIpfQpmdW5jdGlvbiBHbChhLGIpe3RsKCkubm90aWZ5TGlzdGVuZXJzKGEsYil9ZnVuY3Rpb24gSGwoYSxiKXtpZihiLmV2ZXJ5KERsKSlhKHt9KTtlbHNle3ZhciBjPSExO0ZsKGIsZnVuY3Rpb24oZCl7IWMmJmIuZXZlcnkoRGwpJiYoYz0hMCxhKGQpKX0pfX0KZnVuY3Rpb24gSWwoYSxiKXt2YXIgYz16YihiKT9bYl06YixkPXt9LGU9ZnVuY3Rpb24oKXtyZXR1cm4gYy5maWx0ZXIoZnVuY3Rpb24oaCl7cmV0dXJuIEJsKGgpJiYhZFtoXX0pfSxmPWUoKTtpZihmLmxlbmd0aCE9PWMubGVuZ3RoKXt2YXIgZz1mdW5jdGlvbihoKXtmb3IodmFyIGw9bShoKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSlkW24udmFsdWVdPSEwfTtnKGYpO0ZsKGMsZnVuY3Rpb24oaCl7ZnVuY3Rpb24gbChxKXtxLmxlbmd0aCE9PTAmJihnKHEpLGguY29uc2VudFR5cGVzPXEsYShoKSl9dmFyIG49ZSgpO2lmKG4ubGVuZ3RoIT09MCl7dmFyIHA9T2JqZWN0LmtleXMoZCkubGVuZ3RoO24ubGVuZ3RoK3A+PWMubGVuZ3RoP2wobik6QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bChlKCkpfSw1MDApfX0pfX07dmFyIEpsPSExO2Z1bmN0aW9uIEtsKGEsYil7dmFyIGM9d2soKSxkPXRrKCk7RSgyNik7dmFyIGU9SWYoNDcpPzA6SWYoNTApPzE6MyxmPVhqKCk7aWYocGwoKSl7dmFyIGc9TGwoIklOSVQiKTtnLmNvbnRhaW5lckxvYWRTb3VyY2U9YSE9bnVsbD9hOjA7YiYmKGcucGFyZW50VGFyZ2V0UmVmZXJlbmNlPWIpO2cuYWxpYXNlcz1jO2cuZGVzdGluYXRpb25zPWQ7ZSE9PXZvaWQgMCYmKGcuZ3RnPXtzb3VyY2U6ZSxtUGF0aDpmIT1udWxsP2Y6IiJ9KTtvbChnKX19CmZ1bmN0aW9uIE1sKGEpe3ZhciBiLGMsZCxlO2I9YS50YXJnZXRJZDtjPWEucmVxdWVzdDtkPWEucWI7ZT1hLmlzQmF0Y2hlZDt2YXIgZjtpZihmPXBsKCkpe3ZhciBnO2E6c3dpdGNoKGMuZW5kcG9pbnQpe2Nhc2UgNjg6Y2FzZSA2OTpjYXNlIDE5OmNhc2UgNjI6Y2FzZSA0NzpnPSEwO2JyZWFrIGE7ZGVmYXVsdDpnPSExfWY9IWd9aWYoZil7dmFyIGg9TGwoIkdUQUdfSElUIix7ZXZlbnRJZDpkLmV2ZW50SWQscHJpb3JpdHlJZDpkLnByaW9yaXR5SWR9KTtoLnRhcmdldD1iO2gudXJsPWMudXJsO2MucG9zdEJvZHkmJihoLnBvc3RCb2R5PWMucG9zdEJvZHkpO2gucGFyYW1ldGVyRW5jb2Rpbmc9Yy5wYXJhbWV0ZXJFbmNvZGluZztoLmVuZHBvaW50PWMuZW5kcG9pbnQ7ZSE9PXZvaWQgMCYmKGguaXNCYXRjaGVkPWUpO29sKGgpfX1mdW5jdGlvbiBObChhKXtwbCgpJiZNbChhKCkpfQpmdW5jdGlvbiBMbChhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2IuZ3JvdXBJZD1PbDt2YXIgYyxkPWIsZT1QbCxmPXtwdWJsaWNJZDpRbH07ZC5ldmVudElkIT1udWxsJiYoZi5ldmVudElkPWQuZXZlbnRJZCk7ZC5wcmlvcml0eUlkIT1udWxsJiYoZi5wcmlvcml0eUlkPWQucHJpb3JpdHlJZCk7ZC5ldmVudE5hbWUmJihmLmV2ZW50TmFtZT1kLmV2ZW50TmFtZSk7ZC5ncm91cElkJiYoZi5ncm91cElkPWQuZ3JvdXBJZCk7ZC50YWdOYW1lJiYoZi50YWdOYW1lPWQudGFnTmFtZSk7Yz17Y29udGFpbmVyUHJvZHVjdDoiR1RNIixrZXk6Zix2ZXJzaW9uOmUsbWVzc2FnZVR5cGU6YX07Yy5jb250YWluZXJQcm9kdWN0PUpsPyJPR1QiOiJHVE0iO2Mua2V5LnRhcmdldFJlZj1SbDtyZXR1cm4gY312YXIgUWw9IiIsUGw9IiIsUmw9e2N0aWQ6IiIsaXNEZXN0aW5hdGlvbjohMX0sT2w7CmZ1bmN0aW9uIFNsKGEpe3ZhciBiPUUoNSksYz1JZig0NSksZD1zaygpLGU9RSg2KSxmPUUoMSk7RSgyMyk7a2w9MDtsbD0hMDtybCgpO09sPWE7UWw9YjtQbD1mO0psPWM7Umw9e2N0aWQ6Yixpc0Rlc3RpbmF0aW9uOmQsY2Fub25pY2FsSWQ6ZX19O2Z1bmN0aW9uIFRsKGEsYixjLGQpe2lmKHBsKCkpe3ZhciBlPWIuTTtNbCh7dGFyZ2V0SWQ6ZHx8W2IudGFyZ2V0LmRlc3RpbmF0aW9uSWRdLHJlcXVlc3Q6e3VybDphLHBhcmFtZXRlckVuY29kaW5nOjIsZW5kcG9pbnQ6Y30scWI6e2V2ZW50SWQ6ZS5ldmVudElkLHByaW9yaXR5SWQ6ZS5wcmlvcml0eUlkfSxGajp7ZXZlbnRJZDpRKGIsSC5KLnVmKSxwcmlvcml0eUlkOlEoYixILkoudmYpfX0pfX07ZnVuY3Rpb24gVWwoYSxiLGMpe3ZhciBkPSJodHRwczovLyIrYStiO3JldHVybiBjP2Z1bmN0aW9uKCl7cmV0dXJuIFdqKCk/WGooKStjK2I6ZH06ZnVuY3Rpb24oKXtyZXR1cm4gZH19O3ZhciBWbD17fSxXbD0oVmxbMjJdPVVsKCJ3d3cuZ29vZ2xlYWRzZXJ2aWNlcy5jb20iLCIvY2NtL2NvbnZlcnNpb24iLCIvYXMvZCIpLFZsWzYwXT1VbCgicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvY2NtL2NvbnZlcnNpb24iLCIvZ3MiKSxWbFsyM109VWwoInd3dy5nb29nbGUuY29tIiwiL2NjbS9jb252ZXJzaW9uIiwiL2cvZCIpLFZsKTt2YXIgWGw9e30sWWw9KFhsWzVdPVVsKCJ3d3cuZ29vZ2xlYWRzZXJ2aWNlcy5jb20iLCIvcGFnZWFkL2NvbnZlcnNpb24iKSxYbFs2XT1VbCgicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvcGFnZWFkL2NvbnZlcnNpb24iLCIvZ3MiKSxYbFs4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkLzFwLWNvbnZlcnNpb24iKSxYbFs2Nl09VWwoInd3dy5nb29nbGUuY29tIiwiL3BhZ2VhZC91Y29udmVyc2lvbiIpLFhsWzYzXT1VbCgid3d3Lmdvb2dsZWFkc2VydmljZXMuY29tIiwiL3BhZ2VhZC9jb252ZXJzaW9uIiksWGxbNjRdPVVsKCJwYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbSIsIi9wYWdlYWQvY29udmVyc2lvbiIsIi9ncyIpLFhsWzY1XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkLzFwLWNvbnZlcnNpb24iKSxYbFs3NF09ZnVuY3Rpb24oKXtyZXR1cm4gWGooKSsiL2FzL3AvYyJ9LFhsKTt2YXIgWmw9e30sJGw9KFpsWzQ1XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvY2NtL2NvbGxlY3QiKSxabFs0Nl09VWwoInBhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tIiwiL2NjbS9jb2xsZWN0IiwiL2dzIiksWmxbNjldPVVsKCJhZC5kb3VibGVjbGljay5uZXQiLCIvY2NtL3MvY29sbGVjdCIpLFpsWzU4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkL3NldF9wYXJ0aXRpb25lZF9jb29raWUiKSxabFs1N109VWwoInd3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSIsIi9wYWdlYWQvc2V0X3BhcnRpdGlvbmVkX2Nvb2tpZSIpLFpsKTt2YXIgYW09e30sYm09KGFtWzldPVVsKCJnb29nbGVhZHMuZy5kb3VibGVjbGljay5uZXQiLCIvcGFnZWFkL3ZpZXd0aHJvdWdoY29udmVyc2lvbiIpLGFtWzY4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcm1rdC9jb2xsZWN0IiksYW0pO3ZhciBjbT17fSxkbT0oY21bMTFdPVVsKCJ3d3cuZ29vZ2xlLmNvbSIsIi9wYWdlYWQvZm9ybS1kYXRhIiwiL2QiKSxjbVsyMV09VWwoInd3dy5nb29nbGUuY29tIiwiL2NjbS9mb3JtLWRhdGEiLCIvZCIpLGNtWzcyXT1VbCgiZ29vZ2xlLmNvbSIsIi9wYWdlYWQvZm9ybS1kYXRhIiwiL2QiKSxjbVs3M109VWwoImdvb2dsZS5jb20iLCIvY2NtL2Zvcm0tZGF0YSIsIi9kIiksY20pO3ZhciBlbT17fSxmbT0oZW1bNTFdPVVsKCJ3d3cuZ29vZ2xlLmNvbSIsIi90cmF2ZWwvZmxpZ2h0cy9jbGljay9jb252ZXJzaW9uIiksZW0pO3ZhciBnbT17fSxobT0oZ21bMV09ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvYWN0aXZpdHk7In0sZ21bMl09ZnVuY3Rpb24oKXtyZXR1cm4oV2ooKT9YaigpOiJodHRwczovL2FkZS5nb29nbGVzeW5kaWNhdGlvbi5jb20iKSsiL2RkbS9hY3Rpdml0eSIrKE0oNDY3KT8iOyI6Ii8iKX0sZ21bM109ZnVuY3Rpb24oYSl7cmV0dXJuImh0dHBzOi8vIithLmxyKyIuZmxzLmRvdWJsZWNsaWNrLm5ldC9hY3Rpdml0eWk7In0sZ20pO2Z1bmN0aW9uIGltKGEpe3NiKCJIRUFMVEgiLGEpfTt2YXIgam09e2JhOntQdDoiYXdfdXNlcl9kYXRhX2NhY2hlIixvaToiY29va2llX2RlcHJlY2F0aW9uX2xhYmVsIixiaDoiZGlhZ25vc3RpY3NfcGFnZV9pZCIsb3A6ImVtZW1vIixkdToiZW1fcmVnaXN0cnkiLFNpOiJlYWIiLHJ1OiJmbF91c2VyX2RhdGFfY2FjaGUiLHR1OiJnYTRfdXNlcl9kYXRhX2NhY2hlIixMdToiaWRjX3B2X2NsYWltIixTZToiaXBfZ2VvX2RhdGFfY2FjaGUiLFhpOiJpcF9nZW9fZmV0Y2hfaW5fcHJvZ3Jlc3MiLGpuOiJuYl9kYXRhIixUcToicGFnZV9leHBlcmltZW50X2lkcyIsbG46InBsZCIsVmU6InB0X2RhdGEiLG1uOiJwdF9saXN0ZW5lcl9zZXQiLGtqOiJyZXRyeV9jb250YWluZXJzIixPaDoic2VydmljZV93b3JrZXJfZW5kcG9pbnQiLFpxOiJzaGFyZWRfdXNlcl9pZCIsYXI6InNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCIsc2o6InNoYXJlZF91c2VyX2lkX3NvdXJjZSIsYnY6ImF3aCIsaHI6InVuaXZlcnNhbF9jbGFpbV9yZWdpc3RyeSJ9fTt2YXIga209ZnVuY3Rpb24oYSl7cmV0dXJuIHRmKGZ1bmN0aW9uKGIpe2Zvcih2YXIgYyBpbiBhKWlmKGI9PT1hW2NdJiYhL15bMC05XSskLy50ZXN0KGMpKXJldHVybiEwO3JldHVybiExfSl9KGptLmJhKTsKZnVuY3Rpb24gbG0oYSxiKXtiPWI9PT12b2lkIDA/ITE6YjtpZihrbShhKSl7dmFyIGMsZCxlPShkPShjPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KSkueGNkKSE9bnVsbD9kOmMueGNkPXt9O2lmKGVbYV0pcmV0dXJuIGVbYV07aWYoYil7dmFyIGY9dm9pZCAwLGc9MSxoPXt9LGw9e3NldDpmdW5jdGlvbihuKXtmPW47bC5ub3RpZnkoKX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHN1YnNjcmliZTpmdW5jdGlvbihuKXtoW1N0cmluZyhnKV09bjtyZXR1cm4gZysrfSx1bnN1YnNjcmliZTpmdW5jdGlvbihuKXt2YXIgcD1TdHJpbmcobik7cmV0dXJuIGguaGFzT3duUHJvcGVydHkocCk/KGRlbGV0ZSBoW3BdLCEwKTohMX0sbm90aWZ5OmZ1bmN0aW9uKCl7Zm9yKHZhciBuPW0oT2JqZWN0LmtleXMoaCkpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3RyeXtoW3FdKGEsZil9Y2F0Y2gocil7fX19fTtyZXR1cm4gZVthXT1sfX19CmZ1bmN0aW9uIG1tKGEsYil7dmFyIGM9bG0oYSwhMCk7YyYmYy5zZXQoYil9ZnVuY3Rpb24gbm0oYSl7dmFyIGI7cmV0dXJuKGI9bG0oYSkpPT1udWxsP3ZvaWQgMDpiLmdldCgpfWZ1bmN0aW9uIG9tKGEsYil7dmFyIGM9bG0oYSk7aWYoIWMpe2M9bG0oYSwhMCk7aWYoIWMpcmV0dXJuO2Muc2V0KGIpfXJldHVybiBjLmdldCgpfWZ1bmN0aW9uIHBtKGEsYil7aWYodHlwZW9mIGI9PT0iZnVuY3Rpb24iKXt2YXIgYztyZXR1cm4oYz1sbShhLCEwKSk9PW51bGw/dm9pZCAwOmMuc3Vic2NyaWJlKGIpfX1mdW5jdGlvbiBxbShhLGIpe3ZhciBjPWxtKGEpO3JldHVybiBjP2MudW5zdWJzY3JpYmUoYik6ITF9O3ZhciBzbT1mdW5jdGlvbigpe3RoaXMuSD17fTt0aGlzLks9ITF9O3NtLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dGhpcy5LfHwodGhpcy5IPXRtKCksdGhpcy5IWyIwIl0mJm9tKGptLmJhLlNlLEpTT04uc3RyaW5naWZ5KHRoaXMuSCkpKX07CnZhciB4bT1mdW5jdGlvbigpe3ZhciBhPXVtLGI9dm0sYz12b2lkIDAsZD1mdW5jdGlvbigpe2MhPT12b2lkIDAmJnFtKGptLmJhLlNlLGMpO3RyeXt2YXIgZj1ubShqbS5iYS5TZSk7Yi5IPUpTT04ucGFyc2UoZil9Y2F0Y2goZyl7UCgxMjMpLGltKDIpLGIuSD17fX1iLks9ITA7YSgpfSxlPW5tKGptLmJhLlNlKTtlP2QoZSk6KGM9cG0oam0uYmEuU2UsZCksd20oKSl9LHdtPWZ1bmN0aW9uKCl7aWYoIW5tKGptLmJhLlhpKSl7bW0oam0uYmEuWGksITApO3ZhciBhPWZ1bmN0aW9uKGIpe21tKGptLmJhLlNlLGJ8fCJ7fSIpO21tKGptLmJhLlhpLCExKX07dHJ5e0EuZmV0Y2goImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vY2NtL2dlbyIse21ldGhvZDoiR0VUIixjYWNoZToibm8tc3RvcmUiLG1vZGU6ImNvcnMiLGNyZWRlbnRpYWxzOiJvbWl0In0pLnRoZW4oZnVuY3Rpb24oYil7Yi5vaz9iLnRleHQoKS50aGVuKGZ1bmN0aW9uKGMpe2EoYyl9LGZ1bmN0aW9uKCl7YSgpfSk6YSgpfSxmdW5jdGlvbigpe2EoKX0pfWNhdGNoKGIpe2EoKX19fSwKdG09ZnVuY3Rpb24oKXt2YXIgYT1FKDIyKTt0cnl7cmV0dXJuIEpTT04ucGFyc2UocWIoYSkpfWNhdGNoKGIpe3JldHVybiBQKDEyMyksaW0oMikse319fSx5bT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyIwIl18fCIifSx6bT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyIxIl18fCIifSxBbT1mdW5jdGlvbigpe3ZhciBhPXZtLGI9ITE7Yj0hIWEuSFsiMiJdO3JldHVybiBifSxCbT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyI2Il0hPT0hMX0sQ209ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSExO2I9ISFhLkhbIjkiXTtyZXR1cm4gYn0sRG09ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSIiO2I9YS5IWyI0Il18fCIiOwpyZXR1cm4gYn0sRW09ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSIiO2I9YS5IWyIzIl18fCIiO3JldHVybiBifSx2bT1uZXcgc207ZnVuY3Rpb24gRm0oYSl7YT1hPT09dm9pZCAwPyJnL2NvbGxlY3QiOmE7cmV0dXJuImh0dHBzOi8vIisoRG0oKXx8Ind3dyIpKyIuZ29vZ2xlLWFuYWx5dGljcy5jb20vIithfWZ1bmN0aW9uIEdtKGEpe2E9YT09PXZvaWQgMD8iZy9jb2xsZWN0IjphO3ZhciBiPURtKCk7cmV0dXJuImh0dHBzOi8vIisoYj9iKyIuIjoiIikrImFuYWx5dGljcy5nb29nbGUuY29tLyIrYX12YXIgSG09e30sSW09KEhtWzE3XT1mdW5jdGlvbigpe3JldHVybiBXaigpJiYhRG0oKT9YaigpKyIvYWcvZy9jIjpHbSgpfSxIbVsxNl09ZnVuY3Rpb24oKXtyZXR1cm4gV2ooKSYmIURtKCk/WGooKSsiL2dhL2cvYyI6Rm0oKX0sSG1bNjddPWZ1bmN0aW9uKCl7dmFyIGE7YT1hPT09dm9pZCAwPyJnL2NvbGxlY3QiOmE7cmV0dXJuIERtKCk/IiI6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIithfSxIbSk7ZnVuY3Rpb24gSm0oYSxiLGMpe3ZhciBkPVVsKGIsIi9tZWFzdXJlbWVudC9jb252ZXJzaW9uIixjKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gRG0oKT9hKCJtZWFzdXJlbWVudC9jb252ZXJzaW9uIik6ZCgpfX12YXIgS209e30sTG09KEttWzU1XT1KbShGbSwicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvZ3MiKSxLbVs1NF09Sm0oR20sInd3dy5nb29nbGUuY29tIiwiL2ciKSxLbSk7dmFyIE1tPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sV2wsWWwsJGwsYm0sZG0sZm0saG0sTG0sSW0pO2Z1bmN0aW9uIE5tKGEsYil7dmFyIGM9T2JqZWN0LmtleXMoYikuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBiW2RdIT1udWxsfSkubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBkKyI9IitiW2RdfSkuam9pbigiJiIpO3JldHVybiBNbVthXSh2b2lkIDApKyI/IitjfTt2YXIgT209e30sUG09KE9tLnRkcD0xLE9tLmV4cD0xLE9tLmd0bT0xLE9tLnBpZD0xLE9tLmRsPTEsT20uc2VxPTEsT20udD0xLE9tLnY9MSxPbSksUm09ZnVuY3Rpb24oKXt2YXIgYT1RbTtyZXR1cm4gT2JqZWN0LmtleXMoYS5IKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGEuSFtiXX0pfSxTbT1mdW5jdGlvbihhLGIsYyl7aWYoYS5IW2JdPT09dm9pZCAwfHwoYz09PXZvaWQgMD8wOmMpKWEuSFtiXT0hMH0sVG09ZnVuY3Rpb24oYSl7YS5mb3JFYWNoKGZ1bmN0aW9uKGIpe1BtW2JdfHwoUW0uSFtiXT0hMSl9KX0sUW09bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXt9O3RoaXMuSz17fX07ZnVuY3Rpb24gVW0oYSxiLGMpe3ZhciBkPWM9PT12b2lkIDA/ITA6YyxlPVFtO2UuS1thXT1iOyhkPT09dm9pZCAwfHxkKSYmU20oZSxhKX1mdW5jdGlvbiBWbShhLGIpe1NtKFFtLGEsYj09PXZvaWQgMD8hMTpiKX07ZnVuY3Rpb24gV20oYSl7dmFyIGI9MDthLkdjLmZvckVhY2goZnVuY3Rpb24oYyl7Ynw9MTw8Y30pO3JldHVybiBifWZ1bmN0aW9uIFhtKCl7cmV0dXJue3RvdGFsOjAsamI6MCxHYzpuZXcgU2V0LGxmOnt9fX1mdW5jdGlvbiBZbShhLGIsYyxkKXt2YXIgZT1PYmplY3Qua2V5cyhhLm5mKS5zb3J0KGZ1bmN0aW9uKGYsZyl7cmV0dXJuIE51bWJlcihmKS1OdW1iZXIoZyl9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuW2YsYihhLm5mW2ZdKV19KS5maWx0ZXIoZnVuY3Rpb24oZil7cmV0dXJuIGZbMV0hPT12b2lkIDB9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuam9pbihjKX0pLmpvaW4oZCk7cmV0dXJuIGU/ZTp2b2lkIDB9CmZ1bmN0aW9uIFptKGEsYil7dmFyIGMsZCxlO2M9Yz09PXZvaWQgMD8iXyI6YztkPWQ9PT12b2lkIDA/IjsiOmQ7ZT1lPT09dm9pZCAwPyJ+IjplO2Zvcih2YXIgZj1bXSxnPW0oT2JqZWN0LmtleXMoYS5sZikuc29ydCgpKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZSxuPVltKGEubGZbbF0sYixjLGQpO2lmKG4pe3ZhciBwPXZvaWQgMDtmLnB1c2goIiIrKChwPWwpIT1udWxsP3A6IiIpK2Qrbil9fXJldHVybiBmLmxlbmd0aD9mLmpvaW4oZSk6dm9pZCAwfQpmdW5jdGlvbiAkbShhKXthLmpiPTA7YS5HYy5jbGVhcigpO2Zvcih2YXIgYj1tKE9iamVjdC5rZXlzKGEubGYpKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9YS5sZltjLnZhbHVlXTtkLmpiPTA7ZC5HYy5jbGVhcigpO2Zvcih2YXIgZT1tKE9iamVjdC5rZXlzKGQubmYpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9ZC5uZltmLnZhbHVlXTtnLmpiPTA7Zy5HYy5jbGVhcigpfX19CmZ1bmN0aW9uIGFuKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPzE6ZDthLnRvdGFsKz1kO2EuamIrPWQ7dmFyIGYsZz1iPT09dm9pZCAwPyIiOmI7Zj1hLmxmW2ddfHwoYS5sZltnXT17dG90YWw6MCxqYjowLEdjOm5ldyBTZXQsbmY6e319KTtmLnRvdGFsKz1kO2YuamIrPWQ7dmFyIGgsbD1TdHJpbmcoYyk7aD1mLm5mW2xdfHwoZi5uZltsXT17dG90YWw6MCxqYjowLEdjOm5ldyBTZXR9KTtoLnRvdGFsKz1kO2guamIrPWQ7ZSE9PXZvaWQgMCYmKGEuR2MuYWRkKGUpLGYuR2MuYWRkKGUpLGguR2MuYWRkKGUpKX07dmFyIGJuPWZ1bmN0aW9uKCl7dGhpcy5IPVhtKCl9O2JuLnByb3RvdHlwZS5pbmNyZW1lbnQ9ZnVuY3Rpb24oYSxiKXthbih0aGlzLkgsYSxiKX07dmFyIGNuPW5ldyBibjtmdW5jdGlvbiBkbihhKXt2YXIgYj1TdHJpbmcoYVtHZi5ZYl18fCIiKS5yZXBsYWNlKC9fL2csIiIpO3JldHVybiBTYihiLCJjdnQiKT8iY3Z0IjpifXZhciBlbj1BLmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCI/Z3RtX2xhdGVuY3k9Iik+PTB8fEEubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoIiZndG1fbGF0ZW5jeT0iKT49MDt2YXIgZ249ZnVuY3Rpb24oKXt2YXIgYT1mbjtyZXR1cm4gTSg2MDMpJiZJZig2NSwhMSkmJiFhLlp9LGZuPW5ldyBmdW5jdGlvbihhKXt0aGlzLlI9YSgpO3ZhciBiPUpmKDI3KTt0aGlzLk49ZW58fHRoaXMuUjxiO3ZhciBjPUpmKDQyKTt0aGlzLlo9ZW58fHRoaXMuUj49MS1jO3ZhciBkPU0oNjAzKSYmSWYoNjUsITEpO3RoaXMuSz10aGlzLlp8fGQ7dmFyIGU9SmYoMjcpLGY9SmYoNjMpO3RoaXMuSD1lbnx8Zj09PTF8fHRoaXMuUj49ZSYmdGhpcy5SPGUrZn0oZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yYW5kb20oKX0pO3ZhciBobj1mdW5jdGlvbigpe3RoaXMuSD17fX07aG4ucHJvdG90eXBlLnJlZ2lzdGVyPWZ1bmN0aW9uKGEsYixjKXtpZihmbi5LKXt2YXIgZD1qbihiLGMpO2lmKGQpe3ZhciBlLGY9YjtmPT09NCYmKGY9NSk7dmFyIGc9dGhpcy5IW2ZdO2d8fChnPXRoaXMuSFtmXT17fSk7ZT1nO3ZhciBoPWVbZF07aHx8KGg9ZVtkXT1bXSk7aC5wdXNoKG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYSkpO2NuLmluY3JlbWVudChhLmRlc3RpbmF0aW9uSWQsYS5lbmRwb2ludCk7YS5lbmRwb2ludCE9PTU2JiZhLmVuZHBvaW50IT09NjEmJlZtKCJtZGUiLCEwKX19fTsKdmFyIG1uPWZ1bmN0aW9uKGEsYil7dmFyIGM9a24sZD1qbihhLGIpO2lmKGQpe3ZhciBlPWxuKGMsYSk7aWYoZSl7dmFyIGY9ZVtkXTtmJiYoZVtkXT1mLmZpbHRlcihmdW5jdGlvbihnKXtyZXR1cm4hZy5Fb30pKX19fSxsbj1mdW5jdGlvbihhLGIpe2I9PT00JiYoYj01KTtyZXR1cm4gYS5IW2JdfSxqbj1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYoYlswXT09PSIvIil7dmFyIGQ7Yz0oKGQ9QS5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmQub3JpZ2luKStifXRyeXt2YXIgZT1uZXcgVVJMKGMpO3JldHVybiBhPT09Mj9lLm9yaWdpbjplLm9yaWdpbitlLnBhdGhuYW1lfWNhdGNoKGYpe319LGtuPW5ldyBobjsKZnVuY3Rpb24gbm4oYSl7c3dpdGNoKGEpe2Nhc2UgInNjcmlwdC1zcmMiOnJldHVybiA0O2Nhc2UgInNjcmlwdC1zcmMtZWxlbSI6cmV0dXJuIDU7Y2FzZSAiZnJhbWUtc3JjIjpyZXR1cm4gMjtjYXNlICJjb25uZWN0LXNyYyI6cmV0dXJuIDE7Y2FzZSAiaW1nLXNyYyI6cmV0dXJuIDN9fTtmdW5jdGlvbiBvbihhLGIsYyl7dmFyIGQsZT1hLkdvb2dsZWJRaENzTztlfHwoZT17fSxhLkdvb2dsZWJRaENzTz1lKTtkPWU7aWYoZFtiXSlyZXR1cm4hMTtkW2JdPVtdO2RbYl1bMF09YztyZXR1cm4hMH07dmFyIHBuLHFuO2E6e2Zvcih2YXIgcm49WyJDTE9TVVJFX0ZMQUdTIl0sc249UmEsdG49MDt0bjxybi5sZW5ndGg7dG4rKylpZihzbj1zbltyblt0bl1dLHNuPT1udWxsKXtxbj1udWxsO2JyZWFrIGF9cW49c259dmFyIHVuPXFuJiZxbls2MTA0MDEzMDFdO3BuPXVuIT1udWxsP3VuOiExO2Z1bmN0aW9uIHZuKCl7dmFyIGE9UmEubmF2aWdhdG9yO2lmKGEpe3ZhciBiPWEudXNlckFnZW50O2lmKGIpcmV0dXJuIGJ9cmV0dXJuIiJ9dmFyIHduLHhuPVJhLm5hdmlnYXRvcjt3bj14bj94bi51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7ZnVuY3Rpb24geW4oYSl7aWYoIXBufHwhd24pcmV0dXJuITE7Zm9yKHZhciBiPTA7Yjx3bi5icmFuZHMubGVuZ3RoO2IrKyl7dmFyIGM9d24uYnJhbmRzW2JdLmJyYW5kO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gem4oYSl7cmV0dXJuIHZuKCkuaW5kZXhPZihhKSE9LTF9O2Z1bmN0aW9uIEFuKCl7cmV0dXJuIHBuPyEhd24mJnduLmJyYW5kcy5sZW5ndGg+MDohMX1mdW5jdGlvbiBCbigpe3JldHVybiBBbigpPyExOnpuKCJPcGVyYSIpfWZ1bmN0aW9uIENuKCl7cmV0dXJuIHpuKCJGaXJlZm94Iil8fHpuKCJGeGlPUyIpfWZ1bmN0aW9uIERuKCl7cmV0dXJuIEFuKCk/eW4oIkNocm9taXVtIik6KHpuKCJDaHJvbWUiKXx8em4oIkNyaU9TIikpJiYhKEFuKCk/MDp6bigiRWRnZSIpKXx8em4oIlNpbGsiKX07ZnVuY3Rpb24gRW4oKXtyZXR1cm4gcG4/ISF3biYmISF3bi5wbGF0Zm9ybTohMX1mdW5jdGlvbiBGbigpe3JldHVybiB6bigiaVBob25lIikmJiF6bigiaVBvZCIpJiYhem4oImlQYWQiKX1mdW5jdGlvbiBHbigpe0ZuKCl8fHpuKCJpUGFkIil8fHpuKCJpUG9kIil9O3ZhciBIbj1mdW5jdGlvbihhKXtIblsiICJdKGEpO3JldHVybiBhfTtIblsiICJdPWZ1bmN0aW9uKCl7fTtCbigpO0FuKCl8fHpuKCJUcmlkZW50Iil8fHpuKCJNU0lFIik7em4oIkVkZ2UiKTshem4oIkdlY2tvIil8fHZuKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSE9LTEmJiF6bigiRWRnZSIpfHx6bigiVHJpZGVudCIpfHx6bigiTVNJRSIpfHx6bigiRWRnZSIpO3ZuKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSE9LTEmJiF6bigiRWRnZSIpJiZ6bigiTW9iaWxlIik7RW4oKXx8em4oIk1hY2ludG9zaCIpO0VuKCl8fHpuKCJXaW5kb3dzIik7KEVuKCk/d24ucGxhdGZvcm09PT0iTGludXgiOnpuKCJMaW51eCIpKXx8RW4oKXx8em4oIkNyT1MiKTtFbigpfHx6bigiQW5kcm9pZCIpO0ZuKCk7em4oImlQYWQiKTt6bigiaVBvZCIpO0duKCk7dm4oKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImthaW9zIik7Q24oKTtGbigpfHx6bigiaVBvZCIpO3puKCJpUGFkIik7IXpuKCJBbmRyb2lkIil8fERuKCl8fENuKCl8fEJuKCl8fHpuKCJTaWxrIik7RG4oKTshem4oIlNhZmFyaSIpfHxEbigpfHwoQW4oKT8wOnpuKCJDb2FzdCIpKXx8Qm4oKXx8KEFuKCk/MDp6bigiRWRnZSIpKXx8KEFuKCk/eW4oIk1pY3Jvc29mdCBFZGdlIik6em4oIkVkZy8iKSl8fChBbigpP3luKCJPcGVyYSIpOnpuKCJPUFIiKSl8fENuKCl8fHpuKCJTaWxrIil8fHpuKCJBbmRyb2lkIil8fEduKCk7dmFyIEluPXt9LEpuPW51bGw7CmZ1bmN0aW9uIEtuKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJDb2RlQXQoZCk7ZT4yNTUmJihiW2MrK109ZSYyNTUsZT4+PTgpO2JbYysrXT1lfXZhciBmPTQ7Zj09PXZvaWQgMCYmKGY9MCk7aWYoIUpuKXtKbj17fTtmb3IodmFyIGc9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksaD1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXSxsPTA7bDw1O2wrKyl7dmFyIG49Zy5jb25jYXQoaFtsXS5zcGxpdCgiIikpO0luW2xdPW47Zm9yKHZhciBwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciBxPW5bcF07Sm5bcV09PT12b2lkIDAmJihKbltxXT1wKX19fWZvcih2YXIgcj1JbltmXSx0PUFycmF5KE1hdGguZmxvb3IoYi5sZW5ndGgvMykpLHU9cls2NF18fCIiLHY9MCx4PTA7djxiLmxlbmd0aC0yO3YrPTMpe3ZhciB5PWJbdl0sej1iW3YrMV0sQz1iW3YrMl0sCkQ9clt5Pj4yXSxJPXJbKHkmMyk8PDR8ej4+NF0sRz1yWyh6JjE1KTw8MnxDPj42XSxOPXJbQyY2M107dFt4KytdPSIiK0QrSStHK059dmFyIFM9MCxXPXU7c3dpdGNoKGIubGVuZ3RoLXYpe2Nhc2UgMjpTPWJbdisxXSxXPXJbKFMmMTUpPDwyXXx8dTtjYXNlIDE6dmFyIGVhPWJbdl07dFt4XT0iIityW2VhPj4yXStyWyhlYSYzKTw8NHxTPj40XStXK3V9cmV0dXJuIHQuam9pbigiIil9O3ZhciBMbj1mdW5jdGlvbihhKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEucmVwbGFjZSgvXCsvZywiICIpKX07dmFyIE1uPVJlZ0V4cCgiXig/OihbXjovPyMuXSspOik/KD86Ly8oPzooW15cXFxcLz8jXSopQCk/KFteXFxcXC8/I10qPykoPzo6KFswLTldKykpPyg/PVtcXFxcLz8jXXwkKSk/KFtePyNdKyk/KD86XFw/KFteI10qKSk/KD86IyhbXFxzXFxTXSopKT8kIik7ZnVuY3Rpb24gTm4oYSxiLGMsZCl7Zm9yKHZhciBlPWIsZj1jLmxlbmd0aDsoZT1hLmluZGV4T2YoYyxlKSk+PTAmJmU8ZDspe3ZhciBnPWEuY2hhckNvZGVBdChlLTEpO2lmKGc9PTM4fHxnPT02Myl7dmFyIGg9YS5jaGFyQ29kZUF0KGUrZik7aWYoIWh8fGg9PTYxfHxoPT0zOHx8aD09MzUpcmV0dXJuIGV9ZSs9ZisxfXJldHVybi0xfXZhciBPbj0vI3wkLzsKZnVuY3Rpb24gUG4oYSxiKXt2YXIgYz1hLnNlYXJjaChPbiksZD1ObihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gTG4oYS5zbGljZShkLGUhPT0tMT9lOjApKX12YXIgUW49L1s/Jl0oJHwjKS87CmZ1bmN0aW9uIFJuKGEsYixjKXtmb3IodmFyIGQsZT1hLnNlYXJjaChPbiksZj0wLGcsaD1bXTsoZz1ObihhLGYsYixlKSk+PTA7KWgucHVzaChhLnN1YnN0cmluZyhmLGcpKSxmPU1hdGgubWluKGEuaW5kZXhPZigiJiIsZykrMXx8ZSxlKTtoLnB1c2goYS5zbGljZShmKSk7ZD1oLmpvaW4oIiIpLnJlcGxhY2UoUW4sIiQxIik7dmFyIGwsbj1jIT1udWxsPyI9IitlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKToiIjt2YXIgcD1iK247aWYocCl7dmFyIHEscj1kLmluZGV4T2YoIiMiKTtyPDAmJihyPWQubGVuZ3RoKTt2YXIgdD1kLmluZGV4T2YoIj8iKSx1O3Q8MHx8dD5yPyh0PXIsdT0iIik6dT1kLnN1YnN0cmluZyh0KzEscik7cT1bZC5zbGljZSgwLHQpLHUsZC5zbGljZShyKV07dmFyIHY9cVsxXTtxWzFdPXA/dj92KyImIitwOnA6djtsPXFbMF0rKHFbMV0/Ij8iK3FbMV06IiIpK3FbMl19ZWxzZSBsPWQ7cmV0dXJuIGx9O2Z1bmN0aW9uIFNuKGEsYixjLGQsZSxmLGcsaCl7dmFyIGw9UG4oYywiZm10Iik7aWYoZCl7dmFyIG49UG4oYywicmFuZG9tIikscD1QbihjLCJsYWJlbCIpfHwiIjtpZighbilyZXR1cm47dmFyIHE9S24oTG4ocCkrIjoiK0xuKG4pKTtpZighb24oYSxxLGQpKXJldHVybn1sJiZOdW1iZXIobCkhPT00PyhjPVJuKGMsInJmbXQiLGwpLGM9Um4oYywiZm10Iiw0KSk6bHx8KGM9Um4oYywiZm10Iiw0KSk7VWMoYyxmdW5jdGlvbigpe2c9PW51bGx8fFRuKGcpO2g9PW51bGx8fFVuKGgsYyk7YS5nb29nbGVfbm9GdXJ0aGVyUmVkaXJlY3RzJiZkJiYoYS5nb29nbGVfbm9GdXJ0aGVyUmVkaXJlY3RzPW51bGwsZCgpKX0sZnVuY3Rpb24oKXtnPT1udWxsfHxUbihnKTtoPT1udWxsfHxVbihoLGMpO2U9PW51bGx8fGUoKX0sZixiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXS5wYXJlbnRFbGVtZW50fHx2b2lkIDApO3JldHVybiBjfTtmdW5jdGlvbiBWbihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSwxLGJbMF0pO2lkLmFwcGx5KG51bGwsdyhiKSl9ZnVuY3Rpb24gV24oYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2tuLnJlZ2lzdGVyKGEsMSxiWzBdKTtyZXR1cm4gamQuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBYbihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSwzLGJbMF0pO1pjLmFwcGx5KG51bGwsdyhiKSl9ZnVuY3Rpb24gWW4oYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2tuLnJlZ2lzdGVyKGEsMSxiWzBdKTtyZXR1cm4gbWQuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBabihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSw1LGJbMF0pO1VjLmFwcGx5KG51bGwsdyhiKSl9CmZ1bmN0aW9uICRuKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKTtiWzBdJiZrbi5yZWdpc3RlcihhLDIsYlswXSk7WGMuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBhbyhhKXt2YXIgYj1Tbi5hcHBseShudWxsLHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSk7YiYma24ucmVnaXN0ZXIoYSw0LGIpO3JldHVybiBifTt2YXIgYm89e01hOntSZTowLFVlOjEsTGg6Mn19O2JvLk1hW2JvLk1hLlJlXT0iRlVMTF9UUkFOU01JU1NJT04iO2JvLk1hW2JvLk1hLlVlXT0iTElNSVRFRF9UUkFOU01JU1NJT04iO2JvLk1hW2JvLk1hLkxoXT0iTk9fVFJBTlNNSVNTSU9OIjt2YXIgY289e2lhOntnZDowLGNiOjEseGQ6MixaYjozfX07Y28uaWFbY28uaWEuZ2RdPSJOT19RVUVVRSI7Y28uaWFbY28uaWEuY2JdPSJBRFMiO2NvLmlhW2NvLmlhLnhkXT0iQU5BTFlUSUNTIjtjby5pYVtjby5pYS5aYl09Ik1PTklUT1JJTkciO3ZhciBlbz1mdW5jdGlvbihhLGIpe3RoaXMuSD1hO3RoaXMuY29uc2VudFR5cGVzPWJ9O2VvLnByb3RvdHlwZS5pc0NvbnNlbnRHcmFudGVkPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuSCl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbnNlbnRUeXBlcy5ldmVyeShmdW5jdGlvbihhKXtyZXR1cm4gQmwoYSl9KTtjYXNlIDE6cmV0dXJuIHRoaXMuY29uc2VudFR5cGVzLnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIEJsKGEpfSk7ZGVmYXVsdDp5Yyh0aGlzLkgsImNvbnNlbnRzUmVxdWlyZWQgaGFkIGFuIHVua25vd24gdHlwZSIpfX07CnZhciBmbz1uZXcgZnVuY3Rpb24oKXt2YXIgYT17fTt0aGlzLkg9KGFbY28uaWEuZ2RdPWJvLk1hLlJlLGFbY28uaWEuY2JdPWJvLk1hLlJlLGFbY28uaWEueGRdPWJvLk1hLlJlLGFbY28uaWEuWmJdPWJvLk1hLlJlLGEpO3ZhciBiPXt9O3RoaXMuSz0oYltjby5pYS5nZF09bmV3IGVvKDAsW10pLGJbY28uaWEuY2JdPW5ldyBlbygwLFsiYWRfc3RvcmFnZSJdKSxiW2NvLmlhLnhkXT1uZXcgZW8oMCxbImFuYWx5dGljc19zdG9yYWdlIl0pLGJbY28uaWEuWmJdPW5ldyBlbygxLFsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIl0pLGIpfTt2YXIgaG89ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczt0aGlzLnR5cGU9YTt0aGlzLkg9W107RmwoZm8uS1thXS5jb25zZW50VHlwZXMsZnVuY3Rpb24oKXtnbyhiKXx8Yi5mbHVzaCgpfSl9O2hvLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgYT1tKHRoaXMuSCksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpe3ZhciBjPWIudmFsdWU7YygpfXRoaXMuSD1bXX07dmFyIGdvPWZ1bmN0aW9uKGEpe3JldHVybiBmby5IW2EudHlwZV09PT1iby5NYS5MaCYmIWZvLktbYS50eXBlXS5pc0NvbnNlbnRHcmFudGVkKCl9LGlvPWZ1bmN0aW9uKGEsYil7Z28oYSk/YS5ILnB1c2goYik6YigpfSxqbz1mdW5jdGlvbigpe3RoaXMuSD1uZXcgTWFwfSxsbz1mdW5jdGlvbihhKXt2YXIgYj1rbztiLkguaGFzKGEpfHxiLkguc2V0KGEsbmV3IGhvKGEpKTtyZXR1cm4gYi5ILmdldChhKX07am8ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5ILmNsZWFyKCl9Owp2YXIga289bmV3IGpvO3ZhciBtbz1bImZpbiIsImZzIiwibWNjIiwibmNjIl0sbm89ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwPyExOmE7dmFyIGI9Um0oKSxjPVFtLkssZD1iLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gY1tlXSE9PXZvaWQgMCYmKGF8fCFtby5pbmNsdWRlcyhlKSl9KTtUbShkKTtyZXR1cm4gZC5tYXAoZnVuY3Rpb24oZSl7dmFyIGY9Y1tlXTt0eXBlb2YgZj09PSJmdW5jdGlvbiImJihmPWYoKSk7cmV0dXJuIGY/IiYiK2UrIj0iK2Y6IiJ9KS5qb2luKCIiKSsiJno9MCJ9LG9vPWZ1bmN0aW9uKGEpe3ZhciBiPSJodHRwczovLyIrRSgyMSksYz0iL3RkP2lkPSIrRSg1KTtyZXR1cm4iIitmayhiKStjK2F9LHBvPWZ1bmN0aW9uKGEsYixjKXtiPWI9PT12b2lkIDA/ITE6YjtjPWM9PT12b2lkIDA/ITE6YztpZigkaygyNikmJmZuLksmJkUoNSkmJihjfHwhZ24oKSkpe3ZhciBkPWxvKGNvLmlhLlpiKTtpZihnbyhkKSlhLkh8fChhLkg9ITAsaW8oZCxmdW5jdGlvbigpe3JldHVybiBwbyhhKX0pKTsKZWxzZXtiJiZVbSgiZmluIiwiMSIpO3ZhciBlPW5vKGIpLGY9b28oZSksZz17ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjYxfTtiP1luKGcsZix2b2lkIDAse1FnOiEwfSx2b2lkIDAsZnVuY3Rpb24oKXtaYyhmKyImaW1nPTEiKX0pOlhuKGcsZik7YS5IPSExO3FvKGUpfX19LHFvPWZ1bmN0aW9uKGEpe2lmKEtjJiYoU2IoS2MsImh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tLyIpfHxJZig0NykpJiYhKGEuaW5kZXhPZigiJmNzcD0iKTwwJiZhLmluZGV4T2YoIiZtZGU9Iik8MCkpe3ZhciBiO2E6e3RyeXtpZihLYyl7Yj1uZXcgVVJMKEtjKTticmVhayBhfX1jYXRjaChjKXt9Yj12b2lkIDB9YiYmVWMoIiIrS2MrKEtjLmluZGV4T2YoIj8iKT49MD8iJiI6Ij8iKSsiaXNfdGQ9MSIrYSl9fSxybz1mdW5jdGlvbihhKXtSbSgpLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIVBtW2JdfSkmJnBvKGEsITApfSxzbz1uZXcgZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuSD0hMTsKJGMoQSwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7cm8oYSl9KX07ZnVuY3Rpb24gdG8oYSxiKXtwbyhzbyxhPT09dm9pZCAwPyExOmEsYj09PXZvaWQgMD8hMTpiKX07dmFyIHVvPVsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIiwiYWRfdXNlcl9kYXRhIiwiYWRfcGVyc29uYWxpemF0aW9uIl0sdm89W0YuRC5kZCxGLkQueWMsRi5ELlFmLEYuRC5LYixGLkQueGMsRi5ELmZiLEYuRC5EYixGLkQubmIsRi5ELkxiLEYuRC52Y10seW89ZnVuY3Rpb24oKXt2YXIgYT13bzshYS5SJiZhLkgmJih1by5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBBbC5jb250YWluZXJTY29wZWREZWZhdWx0c1tiXSE9PTF9KXx8eG8oIm1iYyIpKTthLlI9ITB9LHhvPWZ1bmN0aW9uKGEpe2ZuLksmJihVbShhLCIxIiksdG8oKSl9LHpvPWZ1bmN0aW9uKGEsYil7dmFyIGM9d287aWYoIWMuTltiXSYmKGMuTltiXT0hMCxjLktbYl0pKWZvcih2YXIgZD1tKHZvKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlpZihPKGEsZS52YWx1ZSkpe3hvKCJlcmMiKTticmVha319LHdvPW5ldyBmdW5jdGlvbigpe3RoaXMuUj10aGlzLkg9ITE7dGhpcy5OPXt9O3RoaXMuSz17fX07dmFyIEFvPXt9LEJvPU9iamVjdC5mcmVlemUoKEFvW0YuRC5SY109MSxBb1tGLkQuaGhdPTEsQW9bRi5ELnNpXT0xLEFvW0YuRC5TY109MSxBb1tGLkQuSGFdPTEsQW9bRi5ELkxiXT0xLEFvW0YuRC5DYl09MSxBb1tGLkQuVGJdPTEsQW9bRi5ELklkXT0xLEFvW0YuRC52Y109MSxBb1tGLkQubmJdPTEsQW9bRi5ELkpkXT0xLEFvW0YuRC5IZV09MSxBb1tGLkQuT2FdPTEsQW9bRi5ELlFwXT0xLEFvW0YuRC5QZl09MSxBb1tGLkQuRmldPTEsQW9bRi5ELnBoXT0xLEFvW0YuRC5XY109MSxBb1tGLkQuUWZdPTEsQW9bRi5ELmFxXT0xLEFvW0YuRC5UYV09MSxBb1tGLkQuVWZdPTEsQW9bRi5ELmZxXT0xLEFvW0YuRC5PZF09MSxBb1tGLkQuUmxdPTEsQW9bRi5ELlljXT0xLEFvW0YuRC5aY109MSxBb1tGLkQuRGJdPTEsQW9bRi5ELmFtXT0xLEFvW0YuRC5XYl09MSxBb1tGLkQuVGRdPTEsQW9bRi5ELlhiXT0xLEFvW0YuRC5PaV09MSxBb1tGLkQuZGRdPTEsQW9bRi5ELnloXT0xLEFvW0YuRC5QaV09CjEsQW9bRi5ELlVkXT0xLEFvW0YuRC55Y109MSxBb1tGLkQuVmRdPTEsQW9bRi5ELmxtXT0xLEFvW0YuRC5XZF09MSxBb1tGLkQuZWRdPTEsQW9bRi5ELm9qXT0xLEFvKSk7T2JqZWN0LmZyZWV6ZShbRi5ELnphLEYuRC5VYSxGLkQuTWIsRi5ELnRiLEYuRC5OaSxGLkQuZmIsRi5ELkdpLEYuRC5NcF0pOwp2YXIgQ289e30sRG89T2JqZWN0LmZyZWV6ZSgoQ29bRi5ELnFwXT0xLENvW0YuRC5ycF09MSxDb1tGLkQudHBdPTEsQ29bRi5ELnVwXT0xLENvW0YuRC52cF09MSxDb1tGLkQuenBdPTEsQ29bRi5ELkFwXT0xLENvW0YuRC5CcF09MSxDb1tGLkQuRHBdPTEsQ29bRi5ELnlmXT0xLENvKSksRW89e30sRm89T2JqZWN0LmZyZWV6ZSgoRW9bRi5ELnZsXT0xLEVvW0YuRC53bF09MSxFb1tGLkQueGVdPTEsRW9bRi5ELnllXT0xLEVvW0YuRC54bF09MSxFb1tGLkQuQWRdPTEsRW9bRi5ELnplXT0xLEVvW0YuRC5vY109MSxFb1tGLkQuUWNdPTEsRW9bRi5ELnFjXT0xLEVvW0YuRC5JYl09MSxFb1tGLkQuQWVdPTEsRW9bRi5ELnJjXT0xLEVvW0YuRC55bF09MSxFbykpLEdvPU9iamVjdC5mcmVlemUoW0YuRC5SYyxGLkQuU2MsRi5ELkpkLEYuRC5RZixGLkQuV2YsRi5ELlRkLEYuRC5PaSxGLkQuVmRdKSxIbz1PYmplY3QuZnJlZXplKFtdLmNvbmNhdCh3KEdvKSkpLElvPU9iamVjdC5mcmVlemUoW0YuRC5DYiwKRi5ELnBoLEYuRC55aCxGLkQuUGksRi5ELm5oXSksSm89T2JqZWN0LmZyZWV6ZShbXS5jb25jYXQodyhJbykpKSxLbz17fSxMbz0oS29bRi5ELmthXT0iMSIsS29bRi5ELnJhXT0iMiIsS29bRi5ELm1hXT0iMyIsS29bRi5ELlhhXT0iNCIsS28pLE1vPXt9LE5vPU9iamVjdC5mcmVlemUoKE1vLnNlYXJjaD0icyIsTW8ueW91dHViZT0ieSIsTW8ucGxheXN0b3JlPSJwIixNby5zaG9wcGluZz0iaCIsTW8uYWRzPSJhIixNby5tYXBzPSJtIixNbykpO2Z1bmN0aW9uIE9vKGEpe3JldHVybiB0eXBlb2YgYSE9PSJvYmplY3QifHxhPT09bnVsbD97fTphfWZ1bmN0aW9uIFBvKGEpe3JldHVybiBhPT09dm9pZCAwfHxhPT09bnVsbD8iIjp0eXBlb2YgYT09PSJvYmplY3QiP2EudG9TdHJpbmcoKTpTdHJpbmcoYSl9ZnVuY3Rpb24gUW8oYSl7aWYoYSE9PXZvaWQgMCYmYSE9PW51bGwpcmV0dXJuIFBvKGEpfTt2YXIgUm89W0YuRC5rYSxGLkQucmEsRi5ELm1hLEYuRC5YYV07ZnVuY3Rpb24gU28oYSl7Zm9yKHZhciBiPW0oYVtGLkQubmNdfHxbIiJdKSxjPWIubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtyZWdpb246dm9pZCAwfSxjPWIubmV4dCgpKWQucmVnaW9uPWMudmFsdWUsR2IoYSxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZixnKXtpZihmIT09Ri5ELm5jKXt2YXIgaD1QbyhnKSxsPWUucmVnaW9uLG49eW0oKSxwPXptKCk7eWw9ITA7eGwmJnNiKCJUQUdHSU5HIiwyMCk7dGwoKS5kZWNsYXJlKGYsaCxsLG4scCl9fX0oZCkpfQpmdW5jdGlvbiBUbyhhKXt5bygpO3ZhciBiPWFsKDE3LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxjPWFsKDE2LGZ1bmN0aW9uKCl7cmV0dXJuITF9KTshYiYmYyYmeG8oImNyYyIpO1prKDE3LCEwKTt2YXIgZD1hW0YuRC5ZZ107ZCYmUCg0MSk7dmFyIGU9YVtGLkQubmNdO2U/UCg0MCk6ZT1bIiJdO2Zvcih2YXIgZj1tKGUpLGc9Zi5uZXh0KCksaD17fTshZy5kb25lO2g9e0JvOnZvaWQgMH0sZz1mLm5leHQoKSloLkJvPWcudmFsdWUsR2IoYSxmdW5jdGlvbihsKXtyZXR1cm4gZnVuY3Rpb24obixwKXtpZihuIT09Ri5ELm5jJiZuIT09Ri5ELllnKXt2YXIgcT1RbyhwKSxyPWwuQm8sdD1OdW1iZXIoZCksdT15bSgpLHY9em0oKTt0PXQ9PT12b2lkIDA/MDp0O3hsPSEwO3lsJiZzYigiVEFHR0lORyIsMjApO3RsKCkuZGVmYXVsdChuLHEscix1LHYsdCxBbCl9fX0oaCkpfQpmdW5jdGlvbiBVbyhhKXtBbC51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHM9ITA7dmFyIGI9YVtGLkQubmNdO2lmKGIpe3ZhciBjPUFycmF5LmlzQXJyYXkoYik/YjpbYl07aWYoIWMuaW5jbHVkZXMoem0oKSkmJiFjLmluY2x1ZGVzKHltKCkpKXJldHVybn1HYihhLGZ1bmN0aW9uKGQsZSl7c3dpdGNoKGQpe2Nhc2UgImFkX3N0b3JhZ2UiOmNhc2UgImFuYWx5dGljc19zdG9yYWdlIjpjYXNlICJhZF91c2VyX2RhdGEiOmNhc2UgImFkX3BlcnNvbmFsaXphdGlvbiI6YnJlYWs7ZGVmYXVsdDpyZXR1cm59QWwudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzPSEwO0FsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzW2RdPWU9PT0iZ3JhbnRlZCI/MzoyfSl9CmZ1bmN0aW9uIFZvKGEsYil7eW8oKTtaaygxNiwhMCk7R2IoYSxmdW5jdGlvbihjLGQpe3ZhciBlPVBvKGQpO3hsPSEwO3lsJiZzYigiVEFHR0lORyIsMjApO3RsKCkudXBkYXRlKGMsZSxBbCl9KTtHbChiLmV2ZW50SWQsYi5wcmlvcml0eUlkKX1mdW5jdGlvbiBXbyhhKXthLmhhc093blByb3BlcnR5KCJhbGwiKSYmKEFsLnNlbGVjdGVkQWxsQ29yZVBsYXRmb3JtU2VydmljZXM9ITAsR2IoTm8sZnVuY3Rpb24oYil7QWwuY29yZVBsYXRmb3JtU2VydmljZXNbYl09YS5hbGw9PT0iZ3JhbnRlZCI7QWwudXNlZENvcmVQbGF0Zm9ybVNlcnZpY2VzPSEwfSkpO0diKGEsZnVuY3Rpb24oYixjKXtiIT09ImFsbCImJihBbC5jb3JlUGxhdGZvcm1TZXJ2aWNlc1tiXT1jPT09ImdyYW50ZWQiLEFsLnVzZWRDb3JlUGxhdGZvcm1TZXJ2aWNlcz0hMCl9KX0KZnVuY3Rpb24gWG8oYSl7QXJyYXkuaXNBcnJheShhKXx8KGE9W2FdKTtyZXR1cm4gYS5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4gQmwoYil9KX1mdW5jdGlvbiBZbygpe3ZhciBhPVpvO0FycmF5LmlzQXJyYXkoYSl8fChhPVthXSk7cmV0dXJuIGEuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gQmwoYil9KX1mdW5jdGlvbiAkbyhhLGIpe0ZsKGEsYil9ZnVuY3Rpb24gYXAoYSxiKXtJbChhLGIpfWZ1bmN0aW9uIGJwKGEsYil7SGwoYSxiKX1mdW5jdGlvbiBjcCgpe3ZhciBhPVtGLkQua2EsRi5ELlhhLEYuRC5tYV07dGwoKS53YWl0Rm9yVXBkYXRlKGEsNTAwLEFsKX1mdW5jdGlvbiBkcChhKXtmb3IodmFyIGI9bShhKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTt0bCgpLmNsZWFyVGltZW91dChkLHZvaWQgMCxBbCl9R2woKX0KZnVuY3Rpb24gZXAoYSl7Zm9yKHZhciBiPXt9LGM9bShhLnNwbGl0KCJ8IikpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWJbZC52YWx1ZV09ITA7cmV0dXJuIGJ9O3ZhciBmcD1PYmplY3QuZnJlZXplKFtGLkQua2EsRi5ELm1hXSk7CnZhciBocD1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz1tKE9iamVjdC5rZXlzKGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTtiW2dwW2VdfHxlXT1hW2VdfXJldHVybiBifSxpcD1mdW5jdGlvbihhKXtyZXR1cm4hIVEoYSxILkoudmQpJiZSKGEsRi5ELlBkKT09PSIxIiYmUihhLEYuRC5IZCkhPT0iMSImJlhvKGZwKX0sanA9ZnVuY3Rpb24oYSxiKXtpZighaXAoYSkpcmV0dXJuITE7dmFyIGM9UWMoKXx8T2MoKT81ODo1NyxkPU5tKGMsaHAoYikpO1RsKGQsYSxjKTtZbih7ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmMsZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxkKyImZm10PTgiLHZvaWQgMCx7UWc6ITAsbWV0aG9kOiJHRVQifSxmdW5jdGlvbigpe30sZnVuY3Rpb24oKXtaYyhkKyImZm10PTMiKX0pO3JldHVybiEwfSxrcD17fSxncD0oa3AuZGw9InVybCIsa3AuZHI9CiJyZWYiLGtwLnVpZD0idXNlcklkIixrcCk7dmFyIGxwPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZD1mdW5jdGlvbihlKXtiW2VdIT1udWxsJiZiW2VdIT09IiImJihjW2VdPWJbZV0pfTtNKDQ3NCkmJmQoIl9nc2lkIik7UihhLEYuRC5IZCkhPT0iMSImJihkKCJnY2xpZCIpLGQoImdjbHNyYyIpLGQoImF1aWQiKSxkKCJkY2xpZCIpKTtpZihPYmplY3Qua2V5cyhjKS5sZW5ndGgpcmV0dXJuIGQoImd0bSIpLGN9Owp2YXIgbXA9e30sbnA9KG1wW0YuRC5zYV09ImdjdSIsbXBbRi5ELlNiXT0iZ2NsZ2IiLG1wW0YuRC5sYl09ImdjbGF3IixtcFtGLkQuemZdPSJnYWRfc291cmNlIixtcFtGLkQuQWZdPSJnYWRfc291cmNlX3NyYyIsbXBbRi5ELkRkXT0iZ2NsaWQiLG1wW0YuRC5BbF09ImdjbHNyYyIsbXBbRi5ELkJmXT0iZ2JyYWlkIixtcFtGLkQuRWVdPSJ3YnJhaWQiLG1wW0YuRC5FZF09ImF1aWQiLG1wW0YuRC5CbF09ImFlIixtcFtGLkQuSGFdPW51bGwsbXBbRi5ELkRsXT0icm5kIixtcFtGLkQuSGRdPSJuY2wiLG1wW0YuRC5OZl09ImdjbGRjIixtcFtGLkQuS2RdPSJkY2xpZCIsbXBbRi5ELlZjXT0iZWRpZCIsbXBbRi5ELlViXT0iZW4iLG1wW0YuRC5LZV09ImdkcHIiLG1wW0YuRC5YY109ImdkaWQiLG1wW0YuRC5UYV09bnVsbCxtcFtGLkQuTGVdPSJfbmciLG1wW0YuRC50aF09ImdwcF9zaWQiLG1wW0YuRC51aF09ImdwcCIsbXBbRi5ELlZmXT0iX3R1IixtcFtGLkQuUWxdPSJndG1fdXAiLG1wW0YuRC5NZV09CiJmcm0iLG1wW0YuRC5QZF09ImxwcyIsbXBbRi5ELkxpXT0iZGlkIixtcFtGLkQuVWxdPSJuYXZ0IixtcFtGLkQuemFdPSJkbCIsbXBbRi5ELlVhXT0iZHIiLG1wW0YuRC5NYl09ImR0IixtcFtGLkQuYm1dPSJzY3JzcmMiLG1wW0YuRC5aZl09ImdhX3VpZCIsbXBbRi5ELk9lXT0iZ2Rwcl9jb25zZW50IixtcFtGLkQuUWldPSJ0ZXN0b25seSIsbXBbRi5ELnJxXT0idV90eiIsbXBbRi5ELlBlXT0idG9wIixtcFtGLkQuUWVdPSJ0aWQiLG1wW0YuRC5mYl09InVpZCIsbXBbRi5ELmtnXT0idXNfcHJpdmFjeSIsbXBbRi5ELmVkXT1udWxsLG1wW0YuRC5kZV09Im5wYSIsbXApO2Z1bmN0aW9uIG9wKGEsYil7aWYoYiE9bnVsbCYmYiE9PSIiKXt2YXIgYz1iPT09ITA/IjEiOmI9PT0hMT8iMCI6ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSk7aWYoU2IoYSwiXyYiKSlyZXR1cm57a2V5OmEuc3Vic3RyaW5nKDIpLHZhbHVlOmN9O3ZhciBkPW5wW2FdO2lmKGQhPT1udWxsKXJldHVybiBkP3trZXk6ZCx2YWx1ZTpjfTp7a2V5OkFiKGIpPyJlcG4uIithOiJlcC4iK2EsdmFsdWU6Y319fTtmdW5jdGlvbiBwcChhKXthPWE9PT12b2lkIDA/W106YTtyZXR1cm4geGooYSkuam9pbigifiIpfTtmdW5jdGlvbiBxcCgpe3ZhciBhPVtdLGI9TnVtYmVyKCcnKXx8MCxjPU51bWJlcignJyl8fDA7Y3x8KGM9Yi8xMDApO3ZhciBkPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7cmV0dXJuIHR9KCk7YS5wdXNoKHt1azoyMjgsc3R1ZHlJZDoyMjgsZXhwZXJpbWVudElkOjEwNTE3NzE1NCxjb250cm9sSWQ6MTA1MTc3MTU1LGNvbnRyb2xJZDI6MTA1MjU1MjQ1LHByb2JhYmlsaXR5OmMsYWN0aXZlOmQsWmU6MH0pO3ZhciBlPU51bWJlcignJyl8fAowLGY9TnVtYmVyKCcnKXx8MDtmfHwoZj1lLzEwMCk7dmFyIGc9ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gdH0oKTthLnB1c2goe3VrOjIzNSxzdHVkeUlkOjIzNSxleHBlcmltZW50SWQ6MTA1MzU3MTUwLGNvbnRyb2xJZDoxMDUzNTcxNTEsY29udHJvbElkMjowLHByb2JhYmlsaXR5OmYsYWN0aXZlOmcsWmU6MX0pO3ZhciBoPU51bWJlcignJyl8fDAsbD1OdW1iZXIoJycpfHwKMDtsfHwobD1oLzEwMCk7dmFyIG49ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gdH0oKTthLnB1c2goe3VrOjI2NixzdHVkeUlkOjI2NixleHBlcmltZW50SWQ6MTE1NzE4NTI5LGNvbnRyb2xJZDoxMTU3MTg1MzAsY29udHJvbElkMjoxMTU3MTg1MzEscHJvYmFiaWxpdHk6bCxhY3RpdmU6bixaZTowfSk7dmFyIHA9TnVtYmVyKCcnKXx8MCxxPU51bWJlcignJyl8fAowO3F8fChxPXAvMTAwKTt2YXIgcj1mdW5jdGlvbigpe3ZhciB0PSExO3JldHVybiB0fSgpO2EucHVzaCh7dWs6MjY3LHN0dWR5SWQ6MjY3LGV4cGVyaW1lbnRJZDoxMTU3MTg1MjYsY29udHJvbElkOjExNTcxODUyNyxjb250cm9sSWQyOjExNTcxODUyOCxwcm9iYWJpbGl0eTpxLGFjdGl2ZTpyLFplOjB9KTtyZXR1cm4gYX07dmFyIHJwPWZ1bmN0aW9uKCl7dGhpcy5LPXt9O3RoaXMuSD17fTt0aGlzLk49e307dGhpcy5SPW5ldyBTZXR9LHhwPWZ1bmN0aW9uKGEsYil7dmFyIGM9YixkPWI9YS5OW2Muc3R1ZHlJZF0/bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxjLHthY3RpdmU6ITB9KTpjLGU9Rmk7ZC5jb250cm9sSWQyJiZkLnByb2JhYmlsaXR5PD0uMjV8fChkPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sZCx7Y29udHJvbElkMjowfSkpO2Uuc3R1ZGllc1tkLnN0dWR5SWRdPWQ7Yi5mb2N1c2VkJiYoYS5LW2Iuc3R1ZHlJZF09ITApO2lmKGIuWmU9PT0xKXt2YXIgZj1iLnN0dWR5SWQ7c3AoYSx0cCgpLGYpO3VwKGEsZik/dGoodWosZik6dnAoYSxmKT91ai5LW2ZdPSEwOndwKGEsZikmJih1ai5IW2ZdPSEwKX1lbHNlIGlmKGIuWmU9PT0wKXt2YXIgZz1iLnN0dWR5SWQ7c3AoYSxhLkgsZyk7dXAoYSxnKT90aih1aixnKTp2cChhLGcpP3VqLktbZ109ITA6d3AoYSxnKSYmCih1ai5IW2ddPSEwKX19LHNwPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPUZpO2lmKGUuc3R1ZGllc1tjXSl7dmFyIGY9ZS5zdHVkaWVzW2NdLGc9Zi5leHBlcmltZW50SWQsaD1mLnByb2JhYmlsaXR5O2lmKCEoYi5zdHVkaWVzfHx7fSlbY10pe3ZhciBsPWIuc3R1ZGllc3x8e307bFtjXT0hMDtiLnN0dWRpZXM9bDtpZighZS5zdHVkaWVzW2NdLmFjdGl2ZSlpZihlLnN0dWRpZXNbY10ucHJvYmFiaWxpdHk+LjUpSWkoYixnLGMpO2Vsc2UgaWYoIShoPD0wfHxoPjEpKXt2YXIgbj12b2lkIDA7aWYoZCl7dmFyIHA9Q2koZCsifiIrYyk7aWYocD09PSJlMiIpbj0tMTtlbHNle2Zvcih2YXIgcT1uZXcgVWludDhBcnJheShwKSxyPUJpZ0ludCgwKSx0PW0ocSksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpcj1yPDxCaWdJbnQoOCl8QmlnSW50KHUudmFsdWUpO249TnVtYmVyKHIlQmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSl9fUdpLnNrKGIsYyxuKX19fWlmKCFhLktbY10pe3ZhciB2PQpOaShiLGMpO3YmJndqLkguSy5hZGQodil9fSx0cD1mdW5jdGlvbigpe3JldHVybiBvbShqbS5iYS5UcSx7fSl9LHVwPWZ1bmN0aW9uKGEsYil7dmFyIGM9dHAoKTtyZXR1cm4gS2koYyxiKXx8S2koYS5ILGIpfSx2cD1mdW5jdGlvbihhLGIpe3ZhciBjPXRwKCk7cmV0dXJuIExpKGMsYil8fExpKGEuSCxiKX0sd3A9ZnVuY3Rpb24oYSxiKXt2YXIgYz10cCgpO3JldHVybiBNaShjLGIpfHxNaShhLkgsYil9LHlwOwpmdW5jdGlvbiB6cCgpe2lmKCF5cCl7dmFyIGE9eXA9bmV3IHJwLGIsYyxkPSgoYj1BKT09bnVsbD92b2lkIDA6KGM9Yi5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmMuaGFzaCl8fCIiO2lmKGRbMF09PT0iIyImJmRbMV09PT0iXyImJmRbMl09PT0idCImJmRbM109PT0iZSImJmRbNF09PT0iPSIpe3ZhciBlPWQuc3Vic3RyaW5nKDUpO2lmKGUpZm9yKHZhciBmPW0oZS5zcGxpdCgifiIpKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9TnVtYmVyKGcudmFsdWUpO2gmJihhLk5baF09ITAsdGoodWosaCkpfX1mb3IodmFyIGw9bShxcCgpKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl4cChhLG4udmFsdWUpO2Zvcih2YXIgcD1bXSxxPW0oTWYoNTYpfHxbXSkscj1xLm5leHQoKTshci5kb25lO3I9cS5uZXh0KCkpe3ZhciB0PXIudmFsdWUsdT17c3R1ZHlJZDp0WzFdLGFjdGl2ZTohIXRbMl0scHJvYmFiaWxpdHk6dFszXXx8MCxleHBlcmltZW50SWQ6dFs0XXx8CjAsY29udHJvbElkOnRbNV18fDAsY29udHJvbElkMjp0WzZdfHwwfSx2PTA7c3dpdGNoKHRbN10pe2Nhc2UgMjp2PTE7YnJlYWs7Y2FzZSAzOnY9MjticmVhaztjYXNlIDE6Y2FzZSA0OmNhc2UgNTpjYXNlIDA6dj0wfXZhciB4O2E6c3dpdGNoKHUuc3R1ZHlJZCl7Y2FzZSA1Njc6Y2FzZSA0NjI6eD0hMDticmVhayBhO2RlZmF1bHQ6eD0hMX12YXIgeT1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHUse1plOnYsZm9jdXNlZDp4fSk7KHkuYWN0aXZlfHx5LnByb2JhYmlsaXR5Pi41JiZ5LmV4cGVyaW1lbnRJZHx8eS5leHBlcmltZW50SWQmJnkuY29udHJvbElkKSYmcC5wdXNoKHkpfWZvcih2YXIgej1tKHApLEM9ei5uZXh0KCk7IUMuZG9uZTtDPXoubmV4dCgpKXhwKGEsQy52YWx1ZSl9fQpmdW5jdGlvbiBBcChhLGIpe3pwKCk7dmFyIGM9eXA7c3AoYyx0cCgpLGEsYik7dXAoYyxhKT90aih1aixhKTp2cChjLGEpP3VqLktbYV09ITA6d3AoYyxhKSYmKHVqLkhbYV09ITApfWZ1bmN0aW9uIEJwKCl7enAoKTt2YXIgYT15cCxiPXVwKGEsNTY3KTtpZihhLktbNTY3XSl7dmFyIGMsZD10cCgpOyhjPU5pKGQsNTY3KXx8TmkoYS5ILDU2NykpJiZhLlIuYWRkKGMpfXJldHVybiBifWZ1bmN0aW9uIENwKGEpe3pwKCk7dmFyIGI9bmV3IFNldCh5cC5SKTtpZihhKWZvcih2YXIgYz1RKGEsSC5KLkNoKXx8W10sZD1tKGMpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKWIuYWRkKGUudmFsdWUpO3JldHVybiBwcChbXS5jb25jYXQodyhiKSkpfTtmdW5jdGlvbiBEcChhKXt2YXIgYj1hLmxvY2F0aW9uLmhyZWY7aWYoYT09PWEudG9wKXJldHVybnt1cmw6YixJczohMH07dmFyIGM9ITEsZD1hLmRvY3VtZW50O2QmJmQucmVmZXJyZXImJihiPWQucmVmZXJyZXIsYS5wYXJlbnQ9PT1hLnRvcCYmKGM9ITApKTt2YXIgZT1hLmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucztpZihlKXt2YXIgZj1lW2UubGVuZ3RoLTFdLGc7ZiYmKChnPWIpPT1udWxsP3ZvaWQgMDpnLmluZGV4T2YoZikpPT09LTEmJihjPSExLGI9Zil9cmV0dXJue3VybDpiLElzOmN9fWZ1bmN0aW9uIEVwKGEpe3RyeXt2YXIgYjtpZihiPSEhYSYmYS5sb2NhdGlvbi5ocmVmIT1udWxsKWE6e3RyeXtIbihhLmZvbyk7Yj0hMDticmVhayBhfWNhdGNoKGMpe31iPSExfXJldHVybiBifWNhdGNoKGMpe3JldHVybiExfX1mdW5jdGlvbiBGcCgpe2Zvcih2YXIgYT1BLGI9YTthJiZhIT09YS5wYXJlbnQ7KWE9YS5wYXJlbnQsRXAoYSkmJihiPWEpO3JldHVybiBifTt2YXIgR3A9ZnVuY3Rpb24oYSxiKXt2YXIgYz1mdW5jdGlvbigpe307Yy5wcm90b3R5cGU9YS5wcm90b3R5cGU7dmFyIGQ9bmV3IGM7YS5hcHBseShkLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSk7cmV0dXJuIGR9LEhwPWZ1bmN0aW9uKGEpe3ZhciBiPWE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoYil7dmFyIGM9YjtiPW51bGw7YygpfX19O2Z1bmN0aW9uIElwKGEsYil7aWYoYSlmb3IodmFyIGMgaW4gYSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxjKSYmYihhW2NdLGMsYSl9O2Z1bmN0aW9uIEpwKGEpe3ZhciBiPWEuc3BsaXQoL1s/I10vKSxjPS9bP10vLnRlc3QoYSk/Ij8iK2JbMV06IiI7cmV0dXJue3prOmJbMF0scGFyYW1zOmMsZnJhZ21lbnQ6L1sjXS8udGVzdChhKT8iIyIrKGM/YlsyXTpiWzFdKToiIn19ZnVuY3Rpb24gS3AoYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gamMoYVswXSk7Zm9yKHZhciBjPWFbMF0sZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMrPWVuY29kZVVSSUNvbXBvbmVudChiW2RdKSthW2QrMV07cmV0dXJuIGpjKGMpfQpmdW5jdGlvbiBMcChhLGIsYyxkKXtmdW5jdGlvbiBlKGcsaCl7ZyE9bnVsbCYmKEFycmF5LmlzQXJyYXkoZyk/Zy5mb3JFYWNoKGZ1bmN0aW9uKGwpe3JldHVybiBlKGwsaCl9KTooYis9ZitlbmNvZGVVUklDb21wb25lbnQoaCkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChnKSxmPSImIikpfXZhciBmPWIubGVuZ3RoPyImIjoiPyI7ZC5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQ9T2JqZWN0LmVudHJpZXMoZCkpO0FycmF5LmlzQXJyYXkoZCk/ZC5mb3JFYWNoKGZ1bmN0aW9uKGcpe3JldHVybiBlKGdbMV0sZ1swXSl9KTpkLmZvckVhY2goZSk7cmV0dXJuIGpjKGErYitjKX1mdW5jdGlvbiBNcChhLGIpe3ZhciBjPUpwKGtjKGEpLnRvU3RyaW5nKCkpLGQ9Yy56ay5zbGljZSgtMSk9PT0iLyI/IiI6Ii8iLGU9Yy56aytkK2VuY29kZVVSSUNvbXBvbmVudChiKTtyZXR1cm4gamMoZStjLnBhcmFtcytjLmZyYWdtZW50KX07dmFyIE5wPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEsZD0wO2Q8NTA7KytkKXt2YXIgZTt0cnl7ZT0hKCFjLmZyYW1lc3x8IWMuZnJhbWVzW2JdKX1jYXRjaChoKXtlPSExfWlmKGUpcmV0dXJuIGM7dmFyIGY7YTp7dHJ5e3ZhciBnPWMucGFyZW50O2lmKGcmJmchPT1jKXtmPWc7YnJlYWsgYX19Y2F0Y2goaCl7fWY9bnVsbH1pZighKGM9ZikpYnJlYWt9cmV0dXJuIG51bGx9LE9wPWZ1bmN0aW9uKGEpe3ZhciBiPUE7aWYoYi50b3A9PWIpcmV0dXJuIDA7aWYoYT09PXZvaWQgMD8wOmEpe3ZhciBjPWIubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zO2lmKGMpcmV0dXJuIGNbYy5sZW5ndGgtMV09PWIubG9jYXRpb24ub3JpZ2luPzE6Mn1yZXR1cm4gRXAoYi50b3ApPzE6Mn0sUHA9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP2RvY3VtZW50OmE7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiaW1nIil9O2Z1bmN0aW9uIFFwKGEpe2Zvcih2YXIgYj1bXSxjPUIuY29va2llLnNwbGl0KCI7IiksZD1uZXcgUmVnRXhwKCJeXFxzKiIrKGF8fCJfZ2FjIikrIl8oVUEtXFxkKy1cXGQrKT1cXHMqKC4rPylcXHMqJCIpLGU9MDtlPGMubGVuZ3RoO2UrKyl7dmFyIGY9Y1tlXS5tYXRjaChkKTtmJiZiLnB1c2goe3VkOmZbMV0sdmFsdWU6ZlsyXSx0aW1lc3RhbXA6TnVtYmVyKGZbMl0uc3BsaXQoIi4iKVsxXSl8fDB9KX1iLnNvcnQoZnVuY3Rpb24oZyxoKXtyZXR1cm4gaC50aW1lc3RhbXAtZy50aW1lc3RhbXB9KTtyZXR1cm4gYn0KZnVuY3Rpb24gUnAoYSxiKXt2YXIgYz1RcChhKSxkPXt9O2lmKCFjfHwhYy5sZW5ndGgpcmV0dXJuIGQ7Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDtlKyspe3ZhciBmPWNbZV0udmFsdWUuc3BsaXQoIi4iKTtpZighKGZbMF0hPT0iMSJ8fGImJmYubGVuZ3RoPDN8fCFiJiZmLmxlbmd0aCE9PTMpJiZOdW1iZXIoZlsxXSkpe2RbY1tlXS51ZF18fChkW2NbZV0udWRdPVtdKTt2YXIgZz17dmVyc2lvbjpmWzBdLHRpbWVzdGFtcDpOdW1iZXIoZlsxXSkqMUUzLGdjbGlkOmZbMl19O2ImJmYubGVuZ3RoPjMmJihnLmxhYmVscz1mLnNsaWNlKDMpKTtkW2NbZV0udWRdLnB1c2goZyl9fXJldHVybiBkfTtmdW5jdGlvbiBTcChhKXtyZXR1cm4gYS5vcmlnaW4hPT0ibnVsbCJ9O3ZhciBUcD17fSxVcD0oVHAuaz17bmE6L15bXHctXSskL30sVHAuYj17bmE6L15bXHctXSskLyxuazohMH0sVHAuaT17bmE6L15bMS05XVxkKiQvfSxUcC5oPXtuYTovXlxkKyQvfSxUcC50PXtuYTovXlsxLTldXGQqJC99LFRwLmQ9e25hOi9eW0EtWmEtejAtOV8tXSskL30sVHAuaj17bmE6L15cZCskL30sVHAudT17bmE6L15bMS05XVxkKiQvfSxUcC5sPXtuYTovXlswMV0kL30sVHAubz17bmE6L15bMS05XVxkKiQvfSxUcC5nPXtuYTovXlswMV0kL30sVHAucz17bmE6L14uKyQvfSxUcC5tPXtuYTovXlswMV0kL30sVHApO3ZhciBWcD17fSxacD0oVnBbNV09e2ppOnsyOldwfSxaajoiMiIsUmg6WyJrIiwiaSIsImIiLCJ1Il19LFZwWzRdPXtqaTp7MjpXcCxHQ0w6WHB9LFpqOiIyIixSaDpbImsiLCJpIiwiYiIsIm0iXX0sVnBbMl09e2ppOntHUzI6V3AsR1MxOllwfSxaajoiR1MyIixSaDoic29ndGpsaGQiLnNwbGl0KCIiKX0sVnApO2Z1bmN0aW9uICRwKGEsYixjKXt2YXIgZD1acFtiXTtpZihkKXt2YXIgZT1hLnNwbGl0KCIuIilbMF07Yz09bnVsbHx8YyhlKTtpZihlKXt2YXIgZj1kLmppW2VdO2lmKGYpcmV0dXJuIGYoYSxiKX19fQpmdW5jdGlvbiBXcChhLGIpe3ZhciBjPWEuc3BsaXQoIi4iKTtpZihjLmxlbmd0aD09PTMpe3ZhciBkPWNbMl07aWYoZC5pbmRleE9mKCIkIik9PT0tMSYmZC5pbmRleE9mKCIlMjQiKSE9PS0xKXRyeXtkPWRlY29kZVVSSUNvbXBvbmVudChkKX1jYXRjaCh0KXt9dmFyIGU9e30sZj1acFtiXTtpZihmKXtmb3IodmFyIGc9Zi5SaCxoPW0oZC5zcGxpdCgiJCIpKSxsPWgubmV4dCgpOyFsLmRvbmU7bD1oLm5leHQoKSl7dmFyIG49bC52YWx1ZSxwPW5bMF07aWYoZy5pbmRleE9mKHApIT09LTEpdHJ5e3ZhciBxPWRlY29kZVVSSUNvbXBvbmVudChuLnN1YnN0cmluZygxKSkscj1VcFtwXTtyJiYoci5uaz8oZVtwXT1lW3BdfHxbXSxlW3BdLnB1c2gocSkpOmVbcF09cSl9Y2F0Y2godCl7fX1yZXR1cm4gZX19fWZ1bmN0aW9uIGFxKGEsYixjKXt2YXIgZD1acFtiXTtpZihkKXJldHVybltkLlpqLGN8fCIxIixicShhLGIpXS5qb2luKCIuIil9CmZ1bmN0aW9uIGJxKGEsYil7dmFyIGM9WnBbYl07aWYoYyl7Zm9yKHZhciBkPVtdLGU9bShjLlJoKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZSxoPVVwW2ddO2lmKGgpe3ZhciBsPWFbZ107aWYobCE9PXZvaWQgMClpZihoLm5rJiZBcnJheS5pc0FycmF5KGwpKWZvcih2YXIgbj1tKGwpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKWQucHVzaChlbmNvZGVVUklDb21wb25lbnQoIiIrZytwLnZhbHVlKSk7ZWxzZSBkLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KCIiK2crbCkpfX1yZXR1cm4gZC5qb2luKCIkIil9fWZ1bmN0aW9uIFhwKGEpe3ZhciBiPWEuc3BsaXQoIi4iKTtiLnNoaWZ0KCk7dmFyIGM9Yi5zaGlmdCgpLGQ9Yi5zaGlmdCgpLGU9e307cmV0dXJuIGUuaz1kLGUuaT1jLGUuYj1iLGV9CmZ1bmN0aW9uIFlwKGEpe3ZhciBiPWEuc3BsaXQoIi4iKS5zbGljZSgyKTtpZighKGIubGVuZ3RoPDV8fGIubGVuZ3RoPjcpKXt2YXIgYz17fTtyZXR1cm4gYy5zPWJbMF0sYy5vPWJbMV0sYy5nPWJbMl0sYy50PWJbM10sYy5qPWJbNF0sYy5sPWJbNV0sYy5oPWJbNl0sY319O2Z1bmN0aW9uIGNxKGEsYixjLGQpe3ZhciBlO3JldHVybihlPWRxKGZ1bmN0aW9uKGYpe3JldHVybiBmPT09YX0sYixjLGQpW2FdKSE9bnVsbD9lOltdfWZ1bmN0aW9uIGRxKGEsYixjLGQpe3ZhciBlO2lmKGVxKGQpKXtmb3IodmFyIGY9e30sZz1TdHJpbmcoYnx8ZnEoKSkuc3BsaXQoIjsiKSxoPTA7aDxnLmxlbmd0aDtoKyspe3ZhciBsPWdbaF0uc3BsaXQoIj0iKSxuPWxbMF0udHJpbSgpO2lmKG4mJmEobikpe3ZhciBwPWwuc2xpY2UoMSkuam9pbigiPSIpLnRyaW0oKTtwJiZjJiYocD1kZWNvZGVVUklDb21wb25lbnQocCkpO3ZhciBxPXZvaWQgMCxyPXZvaWQgMDsoKHE9Zilbcj1uXXx8KHFbcl09W10pKS5wdXNoKHApfX1lPWZ9ZWxzZSBlPXt9O3JldHVybiBlfQpmdW5jdGlvbiBncShhLGIsYyxkLGUpe2lmKGVxKGUpKXt2YXIgZj1ocShhLGQsZSk7aWYoZi5sZW5ndGg9PT0xKXJldHVybiBmWzBdO2lmKGYubGVuZ3RoIT09MCl7Zj1pcShmLGZ1bmN0aW9uKGcpe3JldHVybiBnLkpyfSxiKTtpZihmLmxlbmd0aD09PTEpcmV0dXJuIGZbMF07Zj1pcShmLGZ1bmN0aW9uKGcpe3JldHVybiBnLldzfSxjKTtyZXR1cm4gZlswXX19fWZ1bmN0aW9uIGpxKGEsYixjLGQpe3ZhciBlPWZxKCksZj1BO1NwKGYpJiYoZi5kb2N1bWVudC5jb29raWU9YSk7dmFyIGc9ZnEoKTtyZXR1cm4gZSE9PWd8fGMhPT12b2lkIDAmJmNxKGIsZywhMSxkKS5pbmRleE9mKGMpPj0wfQpmdW5jdGlvbiBrcShhLGIsYyxkKXtmdW5jdGlvbiBlKHgseSx6KXtpZih6PT1udWxsKXJldHVybiBkZWxldGUgaFt5XSx4O2hbeV09ejtyZXR1cm4geCsiOyAiK3krIj0iK3p9ZnVuY3Rpb24gZih4LHkpe2lmKHk9PW51bGwpcmV0dXJuIHg7aFt5XT0hMDtyZXR1cm4geCsiOyAiK3l9aWYoIWVxKGMuTWMpKXJldHVybiAyO3ZhciBnO2I9PW51bGw/Zz1hKyI9ZGVsZXRlZDsgZXhwaXJlcz0iKyhuZXcgRGF0ZSgwKSkudG9VVENTdHJpbmcoKTooYy5lbmNvZGUmJihiPWVuY29kZVVSSUNvbXBvbmVudChiKSksYj1scShiKSxnPWErIj0iK2IpO3ZhciBoPXt9O2c9ZShnLCJwYXRoIixjLnBhdGgpO3ZhciBsO2MuZXhwaXJlcyBpbnN0YW5jZW9mIERhdGU/bD1jLmV4cGlyZXMudG9VVENTdHJpbmcoKTpjLmV4cGlyZXMhPW51bGwmJihsPSIiK2MuZXhwaXJlcyk7Zz1lKGcsImV4cGlyZXMiLGwpO2c9ZShnLCJtYXgtYWdlIixjLk9zKTtnPWUoZywic2FtZXNpdGUiLGMucnQpO2Muc2VjdXJlJiYKKGc9ZihnLCJzZWN1cmUiKSk7dmFyIG49Yy5kb21haW47aWYobiYmbi50b0xvd2VyQ2FzZSgpPT09ImF1dG8iKXtmb3IodmFyIHA9bXEoKSxxPXZvaWQgMCxyPSExLHQ9MDt0PHAubGVuZ3RoOysrdCl7dmFyIHU9cFt0XSE9PSJub25lIj9wW3RdOnZvaWQgMCx2PWUoZywiZG9tYWluIix1KTt2PWYodixjLmZsYWdzKTt0cnl7ZCYmZChhLGgpfWNhdGNoKHgpe3E9eDtjb250aW51ZX1yPSEwO2lmKCFucSh1LGMucGF0aCkmJmpxKHYsYSxiLGMuTWMpKXJldHVybiAwfWlmKHEmJiFyKXRocm93IHE7cmV0dXJuIDF9biYmbi50b0xvd2VyQ2FzZSgpIT09Im5vbmUiJiYoZz1lKGcsImRvbWFpbiIsbikpO2c9ZihnLGMuZmxhZ3MpO2QmJmQoYSxoKTtyZXR1cm4gbnEobixjLnBhdGgpPzE6anEoZyxhLGIsYy5NYyk/MDoxfWZ1bmN0aW9uIG9xKGEsYixjKXtjLnBhdGg9PW51bGwmJihjLnBhdGg9Ii8iKTtjLmRvbWFpbnx8KGMuZG9tYWluPSJhdXRvIik7cmV0dXJuIGtxKGEsYixjKX0KZnVuY3Rpb24gaXEoYSxiLGMpe2Zvcih2YXIgZD1bXSxlPVtdLGYsZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgaD1hW2ddLGw9YihoKTtsPT09Yz9kLnB1c2goaCk6Zj09PXZvaWQgMHx8bDxmPyhlPVtoXSxmPWwpOmw9PT1mJiZlLnB1c2goaCl9cmV0dXJuIGQubGVuZ3RoPjA/ZDplfWZ1bmN0aW9uIGhxKGEsYixjKXtmb3IodmFyIGQ9W10sZT1jcShhLHZvaWQgMCx2b2lkIDAsYyksZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgZz1lW2ZdLnNwbGl0KCIuIiksaD1nLnNoaWZ0KCk7aWYoIWJ8fCFofHxiLmluZGV4T2YoaCkhPT0tMSl7dmFyIGw9Zy5zaGlmdCgpO2lmKGwpe3ZhciBuPWwuc3BsaXQoIi0iKTtkLnB1c2goe0JyOmVbZl0sQ3I6Zy5qb2luKCIuIiksSnI6TnVtYmVyKG5bMF0pfHwxLFdzOk51bWJlcihuWzFdKXx8MX0pfX19cmV0dXJuIGR9ZnVuY3Rpb24gbHEoYSl7YSYmYS5sZW5ndGg+MTIwMCYmKGE9YS5zdWJzdHJpbmcoMCwxMjAwKSk7cmV0dXJuIGF9CnZhciBwcT0vXih3d3dcLik/Z29vZ2xlKFwuY29tPyk/KFwuW2Etel17Mn0pPyQvLHFxPS8oXnxcLilkb3VibGVjbGlja1wubmV0JC9pO2Z1bmN0aW9uIG5xKGEsYil7cmV0dXJuIGEhPT12b2lkIDAmJihxcS50ZXN0KEEuZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUpfHxiPT09Ii8iJiZwcS50ZXN0KGEpKX1mdW5jdGlvbiBycShhKXtpZighYSlyZXR1cm4gMTt2YXIgYj1hO1lmKDQpJiZhPT09Im5vbmUiJiYoYj1BLmRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTtiPWIuaW5kZXhPZigiLiIpPT09MD9iLnN1YnN0cmluZygxKTpiO3JldHVybiBiLnNwbGl0KCIuIikubGVuZ3RofWZ1bmN0aW9uIHNxKGEpe2lmKCFhfHxhPT09Ii8iKXJldHVybiAxO2FbMF0hPT0iLyImJihhPSIvIithKTthW2EubGVuZ3RoLTFdIT09Ii8iJiYoYSs9Ii8iKTtyZXR1cm4gYS5zcGxpdCgiLyIpLmxlbmd0aC0xfQpmdW5jdGlvbiB0cShhLGIpe3ZhciBjPSIiK3JxKGEpLGQ9c3EoYik7ZD4xJiYoYys9Ii0iK2QpO3JldHVybiBjfQp2YXIgZnE9ZnVuY3Rpb24oKXt2YXIgYT1BO3JldHVybiBTcChhKT9hLmRvY3VtZW50LmNvb2tpZToiIn0sZXE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJllmKDUpPyhBcnJheS5pc0FycmF5KGEpP2E6W2FdKS5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4gRGwoYikmJkJsKGIpfSk6ITB9LG1xPWZ1bmN0aW9uKCl7dmFyIGE9W10sYj1BLmRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIik7aWYoYi5sZW5ndGg9PT00KXt2YXIgYz1iW2IubGVuZ3RoLTFdO2lmKE51bWJlcihjKS50b1N0cmluZygpPT09YylyZXR1cm5bIm5vbmUiXX1mb3IodmFyIGQ9Yi5sZW5ndGgtMjtkPj0wO2QtLSlhLnB1c2goYi5zbGljZShkKS5qb2luKCIuIikpO3ZhciBlPUEuZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWU7cXEudGVzdChlKXx8cHEudGVzdChlKXx8YS5wdXNoKCJub25lIik7cmV0dXJuIGF9O2Z1bmN0aW9uIHVxKGEsYixjLGQpe3ZhciBlLGY9TnVtYmVyKGEucGQhPW51bGw/YS5wZDp2b2lkIDApO2YhPT0wJiYoZT1uZXcgRGF0ZSgoYnx8TmIoKSkrMUUzKihmfHw3Nzc2RTMpKSk7cmV0dXJue3BhdGg6YS5wYXRoLGRvbWFpbjphLmRvbWFpbixmbGFnczphLmZsYWdzLGVuY29kZTohIWMsZXhwaXJlczplLE1jOmR9fTt2YXIgdnE9bmV3IE1hcChbWzUsImFkX3N0b3JhZ2UiXSxbNCxbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXV0sWzIsImFuYWx5dGljc19zdG9yYWdlIl1dKTtmdW5jdGlvbiB3cShhLGIsYyl7aWYoWnBbYl0pe2Zvcih2YXIgZD1bXSxlPWNxKGEsdm9pZCAwLHZvaWQgMCx2cS5nZXQoYikpLGY9bShlKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9JHAoZy52YWx1ZSxiLGMpO2gmJmQucHVzaCh4cShoKSl9cmV0dXJuIGR9fQpmdW5jdGlvbiB5cShhKXt2YXIgYj16cTtpZihacFsyXSl7Zm9yKHZhciBjPXt9LGQ9ZHEoYSx2b2lkIDAsdm9pZCAwLHZxLmdldCgyKSksZT1PYmplY3Qua2V5cyhkKS5zb3J0KCksZj1tKGUpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWZvcih2YXIgaD1nLnZhbHVlLGw9bShkW2hdKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9JHAobi52YWx1ZSwyLGIpO3AmJihjW2hdfHwoY1toXT1bXSksY1toXS5wdXNoKHhxKHApKSl9cmV0dXJuIGN9fWZ1bmN0aW9uIEFxKGEsYixjLGQsZSl7ZD1kfHx7fTt2YXIgZj10cShkLmRvbWFpbixkLnBhdGgpLGc9YXEoYixjLGYpO2lmKCFnKXJldHVybiAxO3ZhciBoPXVxKGQsZSx2b2lkIDAsdnEuZ2V0KGMpKTtyZXR1cm4gb3EoYSxnLGgpfWZ1bmN0aW9uIEJxKGEsYil7dmFyIGM9Yi5uYTtyZXR1cm4gdHlwZW9mIGM9PT0iZnVuY3Rpb24iP2MoYSk6Yy50ZXN0KGEpfQpmdW5jdGlvbiB4cShhKXtmb3IodmFyIGI9bShPYmplY3Qua2V5cyhhKSksYz1iLm5leHQoKSxkPXt9OyFjLmRvbmU7ZD17QWc6dm9pZCAwfSxjPWIubmV4dCgpKXt2YXIgZT1jLnZhbHVlLGY9YVtlXTtkLkFnPVVwW2VdO2QuQWc/ZC5BZy5uaz9hW2VdPUFycmF5LmlzQXJyYXkoZik/Zi5maWx0ZXIoZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGgpe3JldHVybiBCcShoLGcuQWcpfX0oZCkpOnZvaWQgMDp0eXBlb2YgZj09PSJzdHJpbmciJiZCcShmLGQuQWcpfHwoYVtlXT12b2lkIDApOmFbZV09dm9pZCAwfXJldHVybiBhfTt2YXIgQ3E7ZnVuY3Rpb24gRHEoKXtmdW5jdGlvbiBhKGcpe2MoZy50YXJnZXR8fGcuc3JjRWxlbWVudHx8e30pfWZ1bmN0aW9uIGIoZyl7ZChnLnRhcmdldHx8Zy5zcmNFbGVtZW50fHx7fSl9dmFyIGM9RXEsZD1GcSxlPUdxKCk7aWYoIWUuaW5pdCl7JGMoQiwibW91c2Vkb3duIixhKTskYyhCLCJrZXl1cCIsYSk7JGMoQiwic3VibWl0IixiKTt2YXIgZj1IVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnN1Ym1pdDtIVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnN1Ym1pdD1mdW5jdGlvbigpe2QodGhpcyk7Zi5jYWxsKHRoaXMpfTtlLmluaXQ9ITB9fWZ1bmN0aW9uIEhxKGEsYixjLGQsZSl7dmFyIGY9e2NhbGxiYWNrOmEsZG9tYWluczpiLGZyYWdtZW50OmM9PT0yLHBsYWNlbWVudDpjLGZvcm1zOmQsc2FtZUhvc3Q6ZX07R3EoKS5kZWNvcmF0b3JzLnB1c2goZil9CmZ1bmN0aW9uIElxKGEsYixjKXtmb3IodmFyIGQ9R3EoKS5kZWNvcmF0b3JzLGU9e30sZj0wO2Y8ZC5sZW5ndGg7KytmKXt2YXIgZz1kW2ZdLGg7aWYoaD0hY3x8Zy5mb3JtcylhOnt2YXIgbD1nLmRvbWFpbnMsbj1hLHA9ISFnLnNhbWVIb3N0O2lmKGwmJihwfHxuIT09Qi5sb2NhdGlvbi5ob3N0bmFtZSkpZm9yKHZhciBxPTA7cTxsLmxlbmd0aDtxKyspaWYobFtxXWluc3RhbmNlb2YgUmVnRXhwKXtpZihsW3FdLnRlc3Qobikpe2g9ITA7YnJlYWsgYX19ZWxzZSBpZihuLmluZGV4T2YobFtxXSk+PTB8fHAmJmxbcV0uaW5kZXhPZihuKT49MCl7aD0hMDticmVhayBhfWg9ITF9aWYoaCl7dmFyIHI9Zy5wbGFjZW1lbnQ7cj09PXZvaWQgMCYmKHI9Zy5mcmFnbWVudD8yOjEpO3I9PT1iJiZRYihlLGcuY2FsbGJhY2soKSl9fXJldHVybiBlfQpmdW5jdGlvbiBHcSgpe3ZhciBhPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KSxiPWEuZ2w7YiYmYi5kZWNvcmF0b3JzfHwoYj17ZGVjb3JhdG9yczpbXX0sYS5nbD1iKTtyZXR1cm4gYn07dmFyIEpxPS8oLio/KVwqKC4qPylcKiguKikvLEtxPS9eaHR0cHM/OlwvXC8oW15cL10qPylcLj9jZG5cLmFtcHByb2plY3RcLm9yZ1wvPyguKikvLExxPS9eKD86d3d3XC58bVwufGFtcFwuKSsvLE1xPS8oW14/I10rKShcP1teI10qKT8oIy4qKT8vO2Z1bmN0aW9uIE5xKGEpe3ZhciBiPU1xLmV4ZWMoYSk7aWYoYilyZXR1cm57aGs6YlsxXSxxdWVyeTpiWzJdLGZyYWdtZW50OmJbM119fWZ1bmN0aW9uIE9xKGEpe3JldHVybiBuZXcgUmVnRXhwKCIoLio/KShefCYpIithKyI9KFteJl0qKSY/KC4qKSIpfQpmdW5jdGlvbiBQcShhLGIpe3ZhciBjPVtIYy51c2VyQWdlbnQsKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpLEhjLnVzZXJMYW5ndWFnZXx8SGMubGFuZ3VhZ2UsTWF0aC5mbG9vcihOYigpLzYwLzFFMyktKGI9PT12b2lkIDA/MDpiKSxhXS5qb2luKCIqIiksZDtpZighKGQ9Q3EpKXtmb3IodmFyIGU9QXJyYXkoMjU2KSxmPTA7ZjwyNTY7ZisrKXtmb3IodmFyIGc9ZixoPTA7aDw4O2grKylnPWcmMT9nPj4+MV4zOTg4MjkyMzg0Omc+Pj4xO2VbZl09Z31kPWV9Q3E9ZDtmb3IodmFyIGw9NDI5NDk2NzI5NSxuPTA7bjxjLmxlbmd0aDtuKyspbD1sPj4+OF5DcVsobF5jLmNoYXJDb2RlQXQobikpJjI1NV07cmV0dXJuKChsXi0xKT4+PjApLnRvU3RyaW5nKDM2KX0KZnVuY3Rpb24gUXEoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPVJqKEEubG9jYXRpb24uaHJlZiksZD1jLnNlYXJjaC5yZXBsYWNlKCI/IiwiIiksZT1JaihkLCJfZ2wiLCExLCEwKXx8IiI7Yi5xdWVyeT1ScShlKXx8e307dmFyIGY9TGooYywiZnJhZ21lbnQiKSxnO3ZhciBoPS0xO2lmKFNiKGYsIl9nbD0iKSloPTQ7ZWxzZXt2YXIgbD1mLmluZGV4T2YoIiZfZ2w9Iik7bD4wJiYoaD1sKzMrMil9aWYoaDwwKWc9dm9pZCAwO2Vsc2V7dmFyIG49Zi5pbmRleE9mKCImIixoKTtnPW48MD9mLnN1YnN0cmluZyhoKTpmLnN1YnN0cmluZyhoLG4pfWIuZnJhZ21lbnQ9UnEoZ3x8IiIpfHx7fTthJiZTcShjLGQsZil9fWZ1bmN0aW9uIFRxKGEsYil7dmFyIGM9T3EoYSkuZXhlYyhiKSxkPWI7aWYoYyl7dmFyIGU9Y1syXSxmPWNbNF07ZD1jWzFdO2YmJihkPWQrZStmKX1yZXR1cm4gZH0KZnVuY3Rpb24gU3EoYSxiLGMpe2Z1bmN0aW9uIGQoZyxoKXt2YXIgbD1UcSgiX2dsIixnKTtsLmxlbmd0aCYmKGw9aCtsKTtyZXR1cm4gbH1pZihHYyYmR2MucmVwbGFjZVN0YXRlKXt2YXIgZT1PcSgiX2dsIik7aWYoZS50ZXN0KGIpfHxlLnRlc3QoYykpe3ZhciBmPUxqKGEsInBhdGgiKTtiPWQoYiwiPyIpO2M9ZChjLCIjIik7R2MucmVwbGFjZVN0YXRlKHt9LCIiLCIiK2YrYitjKX19fWZ1bmN0aW9uIFVxKGEsYil7dmFyIGM9UXEoISFiKSxkPUdxKCk7ZC5kYXRhfHwoZC5kYXRhPXtxdWVyeTp7fSxmcmFnbWVudDp7fX0sYyhkLmRhdGEpKTt2YXIgZT17fSxmPWQuZGF0YTtmJiYoUWIoZSxmLnF1ZXJ5KSxhJiZRYihlLGYuZnJhZ21lbnQpKTtyZXR1cm4gZX0KdmFyIFJxPWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj1WcShhLDMpO2lmKGIhPT12b2lkIDApe2Zvcih2YXIgYz17fSxkPWI/Yi5zcGxpdCgiKiIpOltdLGU9MDtlKzE8ZC5sZW5ndGg7ZSs9Mil7dmFyIGY9ZFtlXSxnPXFiKGRbZSsxXSk7Y1tmXT1nfXNiKCJUQUdHSU5HIiw2KTtyZXR1cm4gY319Y2F0Y2goaCl7c2IoIlRBR0dJTkciLDgpfX07ZnVuY3Rpb24gVnEoYSxiKXtpZihhKXt2YXIgYzthOntmb3IodmFyIGQ9YSxlPTA7ZTwzOysrZSl7dmFyIGY9SnEuZXhlYyhkKTtpZihmKXtjPWY7YnJlYWsgYX1kPUtqKGQpfHwiIn1jPXZvaWQgMH12YXIgZz1jO2lmKGcmJmdbMV09PT0iMSIpe3ZhciBoPWdbM10sbDthOntmb3IodmFyIG49Z1syXSxwPTA7cDxiOysrcClpZihuPT09UHEoaCxwKSl7bD0hMDticmVhayBhfWw9ITF9aWYobClyZXR1cm4gaDtzYigiVEFHR0lORyIsNyl9fX0KZnVuY3Rpb24gV3EoYSxiLGMsZCxlKXtmdW5jdGlvbiBmKHApe3A9VHEoYSxwKTt2YXIgcT1wLmNoYXJBdChwLmxlbmd0aC0xKTtwJiZxIT09IiYiJiYocCs9IiYiKTtyZXR1cm4gcCtufWQ9ZD09PXZvaWQgMD8hMTpkO2U9ZT09PXZvaWQgMD8hMTplO3ZhciBnPU5xKGMpO2lmKCFnKXJldHVybiIiO3ZhciBoPWcucXVlcnl8fCIiLGw9Zy5mcmFnbWVudHx8IiIsbj1hKyI9IitiO2Q/bC5zdWJzdHJpbmcoMSkubGVuZ3RoIT09MCYmZXx8KGw9IiMiK2YobC5zdWJzdHJpbmcoMSkpKTpoPSI/IitmKGguc3Vic3RyaW5nKDEpKTtyZXR1cm4iIitnLmhrK2grbH0KZnVuY3Rpb24gWHEoYSxiKXtmdW5jdGlvbiBjKG4scCxxKXt2YXIgcjthOntmb3IodmFyIHQgaW4gbilpZihuLmhhc093blByb3BlcnR5KHQpKXtyPSEwO2JyZWFrIGF9cj0hMX1pZihyKXt2YXIgdSx2PVtdLHg7Zm9yKHggaW4gbilpZihuLmhhc093blByb3BlcnR5KHgpKXt2YXIgeT1uW3hdO3khPT12b2lkIDAmJnk9PT15JiZ5IT09bnVsbCYmeS50b1N0cmluZygpIT09IltvYmplY3QgT2JqZWN0XSImJih2LnB1c2goeCksdi5wdXNoKHBiKFN0cmluZyh5KSkpKX12YXIgej12LmpvaW4oIioiKTt1PVsiMSIsUHEoeiksel0uam9pbigiKiIpO2Q/KFlmKDMpfHxZZigxKXx8IXApJiZZcSgiX2dsIix1LGEscCxxKTpacSgiX2dsIix1LGEscCxxKX19dmFyIGQ9KGEudGFnTmFtZXx8IiIpLnRvVXBwZXJDYXNlKCk9PT0iRk9STSIsZT1JcShiLDEsZCksZj1JcShiLDIsZCksZz1JcShiLDQsZCksaD1JcShiLDMsZCk7YyhlLCExLCExKTtjKGYsITAsITEpO1lmKDEpJiZjKGcsITAsITApO2Zvcih2YXIgbCBpbiBoKWguaGFzT3duUHJvcGVydHkobCkmJgokcShsLGhbbF0sYSl9ZnVuY3Rpb24gJHEoYSxiLGMpe2MudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09ImEiP1pxKGEsYixjKTpjLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJmb3JtIiYmWXEoYSxiLGMpfWZ1bmN0aW9uIFpxKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPyExOmQ7ZT1lPT09dm9pZCAwPyExOmU7dmFyIGY7aWYoZj1jLmhyZWYpe3ZhciBnO2lmKCEoZz1kKSl7dmFyIGg9QS5sb2NhdGlvbi5ocmVmLGw9TnEoYy5ocmVmKSxuPU5xKGgpO2c9IShsJiZuJiZsLmhrPT09bi5oayYmbC5xdWVyeT09PW4ucXVlcnkmJmwuZnJhZ21lbnQpfWY9Z31pZihmKXt2YXIgcD1XcShhLGIsYy5ocmVmLGQsZSk7dmMudGVzdChwKSYmKGMuaHJlZj1wKX19CmZ1bmN0aW9uIFlxKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPyExOmQ7ZT1lPT09dm9pZCAwPyExOmU7aWYoYyl7dmFyIGY9Yy5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpfHwiIjtpZihmKXt2YXIgZz0oYy5tZXRob2R8fCIiKS50b0xvd2VyQ2FzZSgpO2lmKGchPT0iZ2V0Inx8ZCl7aWYoZz09PSJnZXQifHxnPT09InBvc3QiKXt2YXIgaD1XcShhLGIsZixkLGUpO3ZjLnRlc3QoaCkmJihjLmFjdGlvbj1oKX19ZWxzZXtmb3IodmFyIGw9Yy5jaGlsZE5vZGVzfHxbXSxuPSExLHA9MDtwPGwubGVuZ3RoO3ArKyl7dmFyIHE9bFtwXTtpZihxLm5hbWU9PT1hKXtxLnNldEF0dHJpYnV0ZSgidmFsdWUiLGIpO249ITA7YnJlYWt9fWlmKCFuKXt2YXIgcj1CLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7ci5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKTtyLnNldEF0dHJpYnV0ZSgibmFtZSIsYSk7ci5zZXRBdHRyaWJ1dGUoInZhbHVlIixiKTtjLmFwcGVuZENoaWxkKHIpfX19fX0KZnVuY3Rpb24gRXEoYSl7dHJ5e3ZhciBiO2E6e2Zvcih2YXIgYz1hLGQ9MTAwO2MmJmQ+MDspe2lmKGMuaHJlZiYmYy5ub2RlTmFtZS5tYXRjaCgvXmEoPzpyZWEpPyQvaSkpe2I9YzticmVhayBhfWM9Yy5wYXJlbnROb2RlO2QtLX1iPW51bGx9dmFyIGU9YjtpZihlKXt2YXIgZj1lLnByb3RvY29sO2YhPT0iaHR0cDoiJiZmIT09Imh0dHBzOiJ8fFhxKGUsZS5ob3N0bmFtZSl9fWNhdGNoKGcpe319ZnVuY3Rpb24gRnEoYSl7dHJ5e3ZhciBiPWEuZ2V0QXR0cmlidXRlKCJhY3Rpb24iKTtpZihiKXt2YXIgYz1MaihSaihiKSwiaG9zdCIpO1hxKGEsYyl9fWNhdGNoKGQpe319ZnVuY3Rpb24gYXIoYSxiLGMsZCl7RHEoKTt2YXIgZT1jPT09ImZyYWdtZW50Ij8yOjE7ZD0hIWQ7SHEoYSxiLGUsZCwhMSk7ZT09PTImJnNiKCJUQUdHSU5HIiwyMyk7ZCYmc2IoIlRBR0dJTkciLDI0KX0KZnVuY3Rpb24gYnIoYSxiKXtEcSgpO0hxKGEsW05qKEEubG9jYXRpb24sImhvc3QiLCEwKV0sYiwhMCwhMCl9ZnVuY3Rpb24gY3IoKXt2YXIgYT1CLmxvY2F0aW9uLmhvc3RuYW1lLGI9S3EuZXhlYyhCLnJlZmVycmVyKTtpZighYilyZXR1cm4hMTt2YXIgYz1iWzJdLGQ9YlsxXSxlPSIiO2lmKGMpe3ZhciBmPWMuc3BsaXQoIi8iKSxnPWZbMV07ZT1nPT09InMiP0tqKGZbMl0pfHwiIjpLaihnKXx8IiJ9ZWxzZSBpZihkKXtpZihkLmluZGV4T2YoInhuLS0iKT09PTApcmV0dXJuITE7ZT1kLnJlcGxhY2UoLy0vZywiLiIpLnJlcGxhY2UoL1wuXC4vZywiLSIpfXZhciBoPWEucmVwbGFjZShMcSwiIiksbD1lLnJlcGxhY2UoTHEsIiIpO3JldHVybiBoPT09bHx8VGIoaCwiLiIrbCl9ZnVuY3Rpb24gZHIoYSxiKXtyZXR1cm4gYT09PSExPyExOmF8fGJ8fGNyKCl9O3ZhciBlcj1mdW5jdGlvbihhKXt0aGlzLnZhbHVlPTA7dGhpcy52YWx1ZT1hPT09dm9pZCAwPzA6YX07ZXIucHJvdG90eXBlLnNldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZXw9MTw8YX07dmFyIGZyPWZ1bmN0aW9uKGEsYil7Yjw9MHx8KGEudmFsdWV8PTE8PGItMSl9O2VyLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX07ZXIucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKGEpe3RoaXMudmFsdWUmPX4oMTw8YSl9O2VyLnByb3RvdHlwZS5jbGVhckFsbD1mdW5jdGlvbigpe3RoaXMudmFsdWU9MH07ZXIucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZT09PWEudmFsdWV9O2Z1bmN0aW9uIGdyKGEpe2lmKGEpdHJ5e3JldHVybiBuZXcgVWludDhBcnJheShhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpLnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuY2hhckNvZGVBdCgwKX0pKX1jYXRjaChiKXt9fWZ1bmN0aW9uIGhyKGEsYil7dmFyIGM9MCxkPTAsZSxmPWI7ZG97aWYoZj49YS5sZW5ndGgpcmV0dXJuO2U9YVtmKytdO2N8PShlJjEyNyk8PGQ7ZCs9N313aGlsZShlJjEyOCk7cmV0dXJuW2MsZl19O2Z1bmN0aW9uIGlyKCl7dmFyIGE9U3RyaW5nLGI9QS5sb2NhdGlvbi5ob3N0bmFtZSxjPUEubG9jYXRpb24ucGF0aG5hbWUsZD1iPWJjKGIpO2Quc3BsaXQoIi4iKS5sZW5ndGg+MiYmKGQ9ZC5yZXBsYWNlKC9eKHd3d1swLTldKnx3ZWJ8ZnRwfHdhcHxob21lfG18d3xhbXB8bW9iaWxlKVwuLywiIikpO2I9ZDtjPWJjKGMpO3ZhciBlPWMuc3BsaXQoIjsiKVswXTtlPWUucmVwbGFjZSgvXC8oYXJ8c2xwfHdlYnxpbmRleCk/XC8/JC8sIiIpO3JldHVybiBhKG5nKCgiIitiK2UpLnRvTG93ZXJDYXNlKCkpKX07dmFyIGpyPVsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdO2Z1bmN0aW9uIGtyKGEsYil7aWYoIWEpcmV0dXJuIHNiKCJUQUdHSU5HIiwzMiksMTA7aWYoYj09PW51bGx8fGI9PT12b2lkIDB8fGI9PT0iIilyZXR1cm4gc2IoIlRBR0dJTkciLDMzKSwxMTt2YXIgYz1scighMSk7aWYoYy5lcnJvciE9PTApcmV0dXJuIHNiKCJUQUdHSU5HIiwzNCksYy5lcnJvcjtpZighYy52YWx1ZSlyZXR1cm4gc2IoIlRBR0dJTkciLDM1KSwyO2MudmFsdWVbYV09Yjt2YXIgZD1tcihjKTtkIT09MCYmc2IoIlRBR0dJTkciLDM2KTtyZXR1cm4gZH0KZnVuY3Rpb24gbnIoYSl7aWYoIWEpcmV0dXJuIHNiKCJUQUdHSU5HIiwyNykse2Vycm9yOjEwfTt2YXIgYj1scigpO2lmKGIuZXJyb3IhPT0wKXJldHVybiBzYigiVEFHR0lORyIsMjkpLGI7aWYoIWIudmFsdWUpcmV0dXJuIHNiKCJUQUdHSU5HIiwzMCkse2Vycm9yOjJ9O2lmKCEoYSBpbiBiLnZhbHVlKSlyZXR1cm4gc2IoIlRBR0dJTkciLDMxKSx7dmFsdWU6dm9pZCAwLGVycm9yOjE1fTt2YXIgYz1iLnZhbHVlW2FdO3JldHVybiBjPT09bnVsbHx8Yz09PXZvaWQgMHx8Yz09PSIiPyhzYigiVEFHR0lORyIsMjgpLHt2YWx1ZTp2b2lkIDAsZXJyb3I6MTF9KTp7dmFsdWU6YyxlcnJvcjowfX0KZnVuY3Rpb24gb3IoYSl7aWYoYSl7dmFyIGI9bHIoITEpO2IuZXJyb3IhPT0wP3NiKCJUQUdHSU5HIiwzOCk6Yi52YWx1ZT9hIGluIGIudmFsdWU/KGRlbGV0ZSBiLnZhbHVlW2FdLG1yKGIpIT09MCYmc2IoIlRBR0dJTkciLDQxKSk6c2IoIlRBR0dJTkciLDQwKTpzYigiVEFHR0lORyIsMzkpfWVsc2Ugc2IoIlRBR0dJTkciLDM3KX0KZnVuY3Rpb24gbHIoYSl7YT1hPT09dm9pZCAwPyEwOmE7aWYoIUJsKGpyKSlyZXR1cm4gc2IoIlRBR0dJTkciLDQzKSx7ZXJyb3I6M307dHJ5e2lmKCFBLmxvY2FsU3RvcmFnZSlyZXR1cm4gc2IoIlRBR0dJTkciLDQ0KSx7ZXJyb3I6MX19Y2F0Y2goZil7cmV0dXJuIHNiKCJUQUdHSU5HIiw0NSkse2Vycm9yOjE0fX12YXIgYj17c2NoZW1hOiJnY2wiLHZlcnNpb246MX0sYz12b2lkIDA7dHJ5e2M9QS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX2djbF9scyIpfWNhdGNoKGYpe3JldHVybiBzYigiVEFHR0lORyIsNDYpLHtlcnJvcjoxM319dHJ5e2lmKGMpe3ZhciBkPUpTT04ucGFyc2UoYyk7aWYoZCYmdHlwZW9mIGQ9PT0ib2JqZWN0IiliPWQ7ZWxzZSByZXR1cm4gc2IoIlRBR0dJTkciLDQ3KSx7ZXJyb3I6MTJ9fX1jYXRjaChmKXtyZXR1cm4gc2IoIlRBR0dJTkciLDQ4KSx7ZXJyb3I6OH19aWYoYi5zY2hlbWEhPT0iZ2NsIilyZXR1cm4gc2IoIlRBR0dJTkciLDQ5KSx7ZXJyb3I6NH07CmlmKGIudmVyc2lvbiE9PTEpcmV0dXJuIHNiKCJUQUdHSU5HIiw1MCkse2Vycm9yOjV9O3RyeXt2YXIgZT1wcihiKTthJiZlJiZtcih7dmFsdWU6YixlcnJvcjowfSl9Y2F0Y2goZil7cmV0dXJuIHNiKCJUQUdHSU5HIiw0OCkse2Vycm9yOjh9fXJldHVybnt2YWx1ZTpiLGVycm9yOjB9fQpmdW5jdGlvbiBwcihhKXtpZighYXx8dHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4hMTtpZigiZXhwaXJlcyJpbiBhJiYidmFsdWUiaW4gYSl7dmFyIGI7dHlwZW9mIGEuZXhwaXJlcz09PSJudW1iZXIiP2I9YS5leHBpcmVzOmI9dHlwZW9mIGEuZXhwaXJlcz09PSJzdHJpbmciP051bWJlcihhLmV4cGlyZXMpOk5hTjtpZihpc05hTihiKXx8IShEYXRlLm5vdygpPD1iKSlyZXR1cm4gYS52YWx1ZT1udWxsLGEuZXJyb3I9OSxzYigiVEFHR0lORyIsNTQpLCEwfWVsc2V7Zm9yKHZhciBjPSExLGQ9bShPYmplY3Qua2V5cyhhKSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpYz1wcihhW2UudmFsdWVdKXx8YztyZXR1cm4gY31yZXR1cm4hMX0KZnVuY3Rpb24gbXIoYSl7aWYoYS5lcnJvcilyZXR1cm4gYS5lcnJvcjtpZighYS52YWx1ZSlyZXR1cm4gc2IoIlRBR0dJTkciLDQyKSwyO3ZhciBiPWEudmFsdWUsYzt0cnl7Yz1KU09OLnN0cmluZ2lmeShiKX1jYXRjaChkKXtyZXR1cm4gc2IoIlRBR0dJTkciLDUyKSw2fXRyeXtBLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJfZ2NsX2xzIixjKX1jYXRjaChkKXtyZXR1cm4gc2IoIlRBR0dJTkciLDUzKSw3fXJldHVybiAwfTt2YXIgcXI9e30scnI9KHFyLmdjbGlkPSEwLHFyLmRjbGlkPSEwLHFyLmdicmFpZD0hMCxxci53YnJhaWQ9ITAscXIpLHNyPS9eXHcrJC8sdHI9L15bXHctXSskLyx1cj17fSx2cj0odXIuYXc9IkZQR0NMQVciLHVyKSx3cj17fSx4cj0od3IuYWc9Il9hZyIsd3IuZ2I9Il9nYiIsd3IuYXc9Il9hdyIsd3IuZGM9Il9kYyIsd3IuZ2Y9Il9nZiIsd3IuaGE9Il9oYSIsd3IuZ3A9Il9ncCIsd3IuZ3M9Il9ncyIsd3IpLHlyPS9eKD86d3d3XC4pP2dvb2dsZSg/OlwuY29tPyk/KD86XC5bYS16XXsyfXQ/KT8kLyx6cj0vXnd3d1wuZ29vZ2xlYWRzZXJ2aWNlc1wuY29tJC87ZnVuY3Rpb24gQXIoKXtyZXR1cm5bImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXX1mdW5jdGlvbiBCcihhKXtyZXR1cm4hWWYoNSl8fEJsKGEpfWZ1bmN0aW9uIENyKGEsYil7ZnVuY3Rpb24gYygpe3ZhciBkPUJyKGIpO2QmJmEoKTtyZXR1cm4gZH1IbChmdW5jdGlvbigpe2MoKXx8SWwoYyxiKX0sYil9CmZ1bmN0aW9uIERyKGEpe3JldHVybiBFcihhKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuZ2NsaWR9KX1mdW5jdGlvbiBGcihhKXtyZXR1cm4gR3IoYSkuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiBiLmdjbGlkfSkubWFwKGZ1bmN0aW9uKGIpe3JldHVybiBiLmdjbGlkfSl9ZnVuY3Rpb24gR3IoYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1IcihhLnByZWZpeCksZD1JcigiZ2IiLGMpLGU9SXIoImFnIixjKTtpZighZXx8IWQpcmV0dXJuW107dmFyIGY9ZnVuY3Rpb24obCl7cmV0dXJuIGZ1bmN0aW9uKG4pe24uemc9bDtyZXR1cm4gbn19LGc9RXIoZCxiKS5tYXAoZigiZ2IiKSksaD1KcihlKS5tYXAoZigiYWciKSk7cmV0dXJuIGcuY29uY2F0KGgpLnNvcnQoZnVuY3Rpb24obCxuKXtyZXR1cm4gbi50aW1lc3RhbXAtbC50aW1lc3RhbXB9KX0KZnVuY3Rpb24gS3IoYSxiLGMsZCxlKXt2YXIgZj1DYihhLGZ1bmN0aW9uKGcpe3JldHVybiBnLmdjbGlkPT09Yn0pO2Y/KGYudGltZXN0YW1wPGMmJihmLnRpbWVzdGFtcD1jLGYub2Q9ZSksZi5sYWJlbHM9THIoZi5sYWJlbHN8fFtdLGR8fFtdKSk6YS5wdXNoKHt2ZXJzaW9uOiIyIixnY2xpZDpiLHRpbWVzdGFtcDpjLGxhYmVsczpkLG9kOmV9KX1mdW5jdGlvbiBNcihhKXtmb3IodmFyIGI9d3EoYSw1KXx8W10sYz1bXSxkPW0oYiksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWUsZz1mLGg9TnIoZik7aCYmS3IoYyxnLmssaCxnLmJ8fFtdLGYudSl9cmV0dXJuIGMuc29ydChmdW5jdGlvbihsLG4pe3JldHVybiBuLnRpbWVzdGFtcC1sLnRpbWVzdGFtcH0pfQpmdW5jdGlvbiBFcihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBjPVtdO09yKGMsYSwxKTtpZihiKWlmKFRiKGEsIl9hdyIpKXt2YXIgZD1QcigpO2QmJihkLm9kPXZvaWQgMCxkLm9hPWQub2F8fFsyXSxRcihjLGQpKTtPcihjLCJnY2xfYXciLDIpfWVsc2UgVGIoYSwiX2diIikmJllmKDYpJiZPcihjLCJnY2xfZ2IiLDIpO2Muc29ydChmdW5jdGlvbihlLGYpe3JldHVybiBmLnRpbWVzdGFtcC1lLnRpbWVzdGFtcH0pO3JldHVybiBScihjKX1mdW5jdGlvbiBTcihhLGIpe2Zvcih2YXIgYz1bXSxkPW0oYSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWU7Yy5pbmNsdWRlcyhmKXx8Yy5wdXNoKGYpfWZvcih2YXIgZz1tKGIpLGg9Zy5uZXh0KCk7IWguZG9uZTtoPWcubmV4dCgpKXt2YXIgbD1oLnZhbHVlO2MuaW5jbHVkZXMobCl8fGMucHVzaChsKX1yZXR1cm4gY30KZnVuY3Rpb24gUXIoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2Zvcih2YXIgZCxlLGY9bShhKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZTtpZihoLmdjbGlkPT09Yi5nY2xpZCl7ZD1oO2JyZWFrfWgucWEmJmIucWEmJmgucWEuZXF1YWxzKGIucWEpJiYoZT1oKX1pZihkKXt2YXIgbCxuLHA9KGw9ZC5xYSkhPW51bGw/bDpuZXcgZXIscT0obj1iLnFhKSE9bnVsbD9uOm5ldyBlcjtwLnZhbHVlfD1xLnZhbHVlO2QucWE9cDtkLnRpbWVzdGFtcDxiLnRpbWVzdGFtcCYmKGQudGltZXN0YW1wPWIudGltZXN0YW1wLGQub2Q9Yi5vZCk7ZC5sYWJlbHM9U3IoZC5sYWJlbHN8fFtdLGIubGFiZWxzfHxbXSk7ZC5vYT1TcihkLm9hfHxbXSxiLm9hfHxbXSl9ZWxzZSBjJiZlP25hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3QsZSxiKTphLnB1c2goYil9CmZ1bmN0aW9uIFRyKGEpe2lmKCFhKXJldHVybiBuZXcgZXI7dmFyIGI9bmV3IGVyO2lmKGE9PT0xKXJldHVybiBmcihiLDIpLGZyKGIsMyksYjtmcihiLGEpO3JldHVybiBifQpmdW5jdGlvbiBQcigpe3ZhciBhPW5yKCJnY2xpZCIpO2lmKCFhfHxhLmVycm9yfHwhYS52YWx1ZXx8dHlwZW9mIGEudmFsdWUhPT0ib2JqZWN0IilyZXR1cm4gbnVsbDt2YXIgYj1hLnZhbHVlO3RyeXtpZighKCJ2YWx1ZSJpbiBiJiZiLnZhbHVlKXx8dHlwZW9mIGIudmFsdWUhPT0ib2JqZWN0IilyZXR1cm4gbnVsbDt2YXIgYz1iLnZhbHVlLGQ9Yy52YWx1ZTtpZighZHx8IWQubWF0Y2godHIpKXJldHVybiBudWxsO3ZhciBlPWMubGlua0RlY29yYXRpb25Tb3VyY2UsZj1jLmxpbmtEZWNvcmF0aW9uU291cmNlcyxnPW5ldyBlcjt0eXBlb2YgZT09PSJudW1iZXIiP2c9VHIoZSk6dHlwZW9mIGY9PT0ibnVtYmVyIiYmKGcudmFsdWU9Zik7cmV0dXJue3ZlcnNpb246IiIsZ2NsaWQ6ZCx0aW1lc3RhbXA6TnVtYmVyKGMuY3JlYXRpb25UaW1lTXMpfHwwLGxhYmVsczpbXSxxYTpnLG9hOlsyXX19Y2F0Y2goaCl7cmV0dXJuIG51bGx9fQpmdW5jdGlvbiBVcihhKXt2YXIgYj1ucihhKTtpZihiLmVycm9yIT09MClyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIGIudmFsdWUucmVkdWNlKGZ1bmN0aW9uKGMsZCl7aWYoIWQudmFsdWV8fHR5cGVvZiBkLnZhbHVlIT09Im9iamVjdCIpcmV0dXJuIGM7dmFyIGU9ZC52YWx1ZSxmPWUudmFsdWU7aWYoIWZ8fCFmLm1hdGNoKHRyKSlyZXR1cm4gYzt2YXIgZz1uZXcgZXIsaD1lLmxpbmtEZWNvcmF0aW9uU291cmNlczt0eXBlb2YgaD09PSJudW1iZXIiJiYoZy52YWx1ZT1oKTt2YXIgbDtjLnB1c2goe3ZlcnNpb246IiIsZ2NsaWQ6Zix0aW1lc3RhbXA6TnVtYmVyKGUuY3JlYXRpb25UaW1lTXMpfHwwLGV4cGlyZXM6TnVtYmVyKGQuZXhwaXJlcyl8fDAsbGFiZWxzOihsPWUubGFiZWxzKSE9bnVsbD9sOltdLHFhOmcsb2E6WzJdfSk7cmV0dXJuIGN9LFtdKX1jYXRjaChjKXtyZXR1cm4gbnVsbH19CmZ1bmN0aW9uIE9yKGEsYixjKXtpZihjPT09MSlmb3IodmFyIGQ9Y3EoYixCLmNvb2tpZSx2b2lkIDAsQXIoKSksZT1tKGQpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1WcihmLnZhbHVlLnNwbGl0KCIuIikpLGg9Zy5sZW5ndGg9PT0wP251bGw6e3ZlcnNpb246Z1swXSxnY2xpZDpnWzJdLHRpbWVzdGFtcDooTnVtYmVyKGdbMV0pfHwwKSoxRTMsbGFiZWxzOmcuc2xpY2UoMyl9O2ghPW51bGwmJihoLm9kPXZvaWQgMCxoLnFhPW5ldyBlcixoLm9hPVtjXSxRcihhLGgpKX1lbHNlIGlmKGM9PT0yKXt2YXIgbD1VcihiKTtpZihsKWZvcih2YXIgbj1tKGwpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3Eub2Q9dm9pZCAwO3Eub2E9cS5vYTtRcihhLHEpfX19CmZ1bmN0aW9uIFpyKGEpe3ZhciBiPUVyKGEpLGM9VXIoImdjbF9kYyIpO2lmKGMpZm9yKHZhciBkPW0oYyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWU7Zi5vZD12b2lkIDA7Zi5vYT1mLm9hfHxbMl07UXIoYixmKX1iLnNvcnQoZnVuY3Rpb24oZyxoKXt2YXIgbD1nLm9hJiZnLm9hLmluY2x1ZGVzKDEpLG49aC5vYSYmaC5vYS5pbmNsdWRlcygxKTtyZXR1cm4gbCYmIW4/LTE6IWwmJm4/MTpoLnRpbWVzdGFtcC1nLnRpbWVzdGFtcH0pO3JldHVybiBScihiKX1mdW5jdGlvbiBKcihhKXtyZXR1cm4gTXIoYSkubWFwKGZ1bmN0aW9uKGIpe2IucWE9bmV3IGVyO2Iub2E9WzFdO3JldHVybiBifSl9CmZ1bmN0aW9uIExyKGEsYil7aWYoIWEubGVuZ3RoKXJldHVybiBiO2lmKCFiLmxlbmd0aClyZXR1cm4gYTt2YXIgYz17fTtyZXR1cm4gYS5jb25jYXQoYikuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBjLmhhc093blByb3BlcnR5KGQpPyExOmNbZF09ITB9KX1mdW5jdGlvbiBIcihhKXtyZXR1cm4gYSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmYS5tYXRjaChzcik/YToiX2djbCJ9ZnVuY3Rpb24gJHIoYSxiKXtpZihhKXt2YXIgYz17dmFsdWU6YSxxYTpuZXcgZXJ9O2ZyKGMucWEsYik7cmV0dXJuIGN9fQpmdW5jdGlvbiBhcyhhLGIsYyl7dmFyIGQ9UmooYSksZT1MaihkLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xzcmMiKSxmPSRyKExqKGQsInF1ZXJ5IiwhMSx2b2lkIDAsImdjbGlkIiksYz80OjIpO2lmKGImJighZnx8IWUpKXt2YXIgZz1kLmhhc2gucmVwbGFjZSgiIyIsIiIpO2Z8fChmPSRyKElqKGcsImdjbGlkIiwhMSksMykpO2V8fChlPUlqKGcsImdjbHNyYyIsITEpKX1yZXR1cm4gZiYmKGU9PT12b2lkIDB8fGU9PT0iYXcifHxlPT09ImF3LmRzInx8WWYoOCkmJmU9PT0iYXcuZHYiKT9bZl06W119CmZ1bmN0aW9uIGJzKGEsYil7dmFyIGM9UmooYSksZD1MaihjLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xpZCIpLGU9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZ2Nsc3JjIiksZj1MaihjLCJxdWVyeSIsITEsdm9pZCAwLCJ3YnJhaWQiKTtmPSRiKGYpO3ZhciBnPUxqKGMsInF1ZXJ5IiwhMSx2b2lkIDAsImdicmFpZCIpLGg9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZ2FkX3NvdXJjZSIpLGw9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZGNsaWQiKTtpZihiJiYhKGQmJmUmJmYmJmcpKXt2YXIgbj1jLmhhc2gucmVwbGFjZSgiIyIsIiIpO2Q9ZHx8SWoobiwiZ2NsaWQiLCExKTtlPWV8fElqKG4sImdjbHNyYyIsITEpO2Y9Znx8SWoobiwid2JyYWlkIiwhMSk7Zz1nfHxJaihuLCJnYnJhaWQiLCExKTtoPWh8fElqKG4sImdhZF9zb3VyY2UiLCExKX1yZXR1cm4gY3MoZCxlLGwsZixnLGgpfQpmdW5jdGlvbiBkcyhhLGIsYyl7dmFyIGQ9UmooYSksZT1MaihkLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xzcmMiKSxmPSRyKExqKGQsInF1ZXJ5IiwhMSx2b2lkIDAsImdjbGlkIiksYz80OjIpLGc9JHIoTGooZCwicXVlcnkiLCExLHZvaWQgMCwiZGNsaWQiKSxjPzQ6Mik7aWYoYiYmKCFlfHwhZikpe3ZhciBoPWQuaGFzaC5yZXBsYWNlKCIjIiwiIik7Znx8KGY9JHIoSWooaCwiZ2NsaWQiLCExKSwzKSk7ZXx8KGU9SWooaCwiZ2Nsc3JjIiwhMSkpfXJldHVybiBmJiZlJiYoZT09PSJhdy5kcyJ8fGU9PT0iYXcuZHYifHxlPT09IjNwLmRzInx8ZT09PSJkcyIpP1tmXTpnP1tnXTpbXX1mdW5jdGlvbiBlcygpe3JldHVybiBicyhBLmxvY2F0aW9uLmhyZWYsITApfQpmdW5jdGlvbiBjcyhhLGIsYyxkLGUsZil7dmFyIGc9e30saD1mdW5jdGlvbihsLG4pe2dbbl18fChnW25dPVtdKTtnW25dLnB1c2gobCl9O2cuZ2NsaWQ9YTtnLmdjbHNyYz1iO2cuZGNsaWQ9YztpZihhIT09dm9pZCAwJiZhLm1hdGNoKHRyKSlzd2l0Y2goYil7Y2FzZSB2b2lkIDA6aChhLCJhdyIpO2JyZWFrO2Nhc2UgImF3LmRzIjpoKGEsImF3Iik7aChhLCJkYyIpO2JyZWFrO2Nhc2UgImF3LmR2IjpZZig4KSYmKGgoYSwiYXciKSxoKGEsImRjIikpO2JyZWFrO2Nhc2UgImRzIjpoKGEsImRjIik7YnJlYWs7Y2FzZSAiM3AuZHMiOmgoYSwiZGMiKTticmVhaztjYXNlICJnZiI6aChhLCJnZiIpO2JyZWFrO2Nhc2UgImhhIjpoKGEsImhhIil9YyYmaChjLCJkYyIpO2QhPT12b2lkIDAmJnRyLnRlc3QoZCkmJihnLndicmFpZD1kLGgoZCwiZ2IiKSk7ZSE9PXZvaWQgMCYmdHIudGVzdChlKSYmKGcuZ2JyYWlkPWUsaChlLCJhZyIpKTtmIT09dm9pZCAwJiZ0ci50ZXN0KGYpJiYoZy5nYWRfc291cmNlPQpmLGgoZiwiZ3MiKSk7cmV0dXJuIGd9ZnVuY3Rpb24gZnMoKXtmb3IodmFyIGE9ZXMoKSxiPSEwLGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpaWYoYVtkLnZhbHVlXSE9PXZvaWQgMCl7Yj0hMTticmVha31iJiYoYT1icyhBLmRvY3VtZW50LnJlZmVycmVyLCExKSxhLmdhZF9zb3VyY2U9dm9pZCAwKTtyZXR1cm4gYX1mdW5jdGlvbiBncyhhKXt2YXIgYj1mcygpO2hzKGIsITEsYSl9CmZ1bmN0aW9uIGlzKGEpe3ZhciBiPWFzKEEubG9jYXRpb24uaHJlZiwhMCwhMSk7Yi5sZW5ndGh8fChiPWFzKEEuZG9jdW1lbnQucmVmZXJyZXIsITEsITApKTthPWF8fHt9O2pzKGEpO2lmKGIubGVuZ3RoKXt2YXIgYz1iWzBdLGQ9TmIoKSxlPXVxKGEsZCwhMCksZj1BcigpLGc9ZnVuY3Rpb24oKXtCcihmKSYmZS5leHBpcmVzIT09dm9pZCAwJiZrcigiZ2NsaWQiLHt2YWx1ZTp7dmFsdWU6Yy52YWx1ZSxjcmVhdGlvblRpbWVNczpkLGxpbmtEZWNvcmF0aW9uU291cmNlczpjLnFhLmdldCgpfSxleHBpcmVzOk51bWJlcihlLmV4cGlyZXMpfSl9O0hsKGZ1bmN0aW9uKCl7ZygpO0JyKGYpfHxJbChnLGYpfSxmKX19CmZ1bmN0aW9uIGpzKGEpe3ZhciBiPUIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIjtpZih5ci50ZXN0KGIpfHx6ci50ZXN0KGIpfHxrcygpKXt2YXIgYzthOntmb3IodmFyIGQ9UmooQS5sb2NhdGlvbi5ocmVmKSxlPUpqKExqKGQsInF1ZXJ5IikpLGY9bShPYmplY3Qua2V5cyhlKSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7aWYoIXJyW2hdKXt2YXIgbD1lW2hdWzBdfHwiIixuO2lmKCFsfHxsLmxlbmd0aDw1MHx8bC5sZW5ndGg+MjAwKW49ITE7ZWxzZXt2YXIgcD1ncihsKSxxO2lmKHApYzp7dmFyIHI9cDtpZihyJiZyLmxlbmd0aCE9PTApe3ZhciB0PTA7dHJ5e2Zvcih2YXIgdT0xMDt0PHIubGVuZ3RoJiYhKHUtLTw9MCk7KXt2YXIgdj1ocihyLHQpO2lmKHY9PT12b2lkIDApYnJlYWs7dmFyIHg9bSh2KSx5PXgubmV4dCgpLnZhbHVlLHo9eC5uZXh0KCkudmFsdWUsQz15LEQ9eixJPUMmNztpZihDPj4zPT09MTYzODIpe2lmKEkhPT0KMClicmVhazt2YXIgRz1ocihyLEQpO2lmKEc9PT12b2lkIDApYnJlYWs7cT1tKEcpLm5leHQoKS52YWx1ZT09PTE7YnJlYWsgY312YXIgTjtkOnt2YXIgUz12b2lkIDAsVz1yLGVhPUQ7c3dpdGNoKEkpe2Nhc2UgMDpOPShTPWhyKFcsZWEpKT09bnVsbD92b2lkIDA6U1sxXTticmVhayBkO2Nhc2UgMTpOPWVhKzg7YnJlYWsgZDtjYXNlIDI6dmFyIGphPWhyKFcsZWEpO2lmKGphPT09dm9pZCAwKWJyZWFrO3ZhciBmYT1tKGphKSxzYT1mYS5uZXh0KCkudmFsdWU7Tj1mYS5uZXh0KCkudmFsdWUrc2E7YnJlYWsgZDtjYXNlIDU6Tj1lYSs0O2JyZWFrIGR9Tj12b2lkIDB9aWYoTj09PXZvaWQgMHx8Tj5yLmxlbmd0aHx8Tjw9dClicmVhazt0PU59fWNhdGNoKG1hKXt9fXE9ITF9ZWxzZSBxPSExO249cX1pZihuKXtjPWw7YnJlYWsgYX19fWM9dm9pZCAwfXZhciBkYT1jO2RhJiZscygiZ2NsX2F3IixkYSw3LGEpfX0KZnVuY3Rpb24gbHMoYSxiLGMsZCl7bXMoYSxbe3ZlcnNpb246IiIsZ2NsaWQ6Yix0aW1lc3RhbXA6TmIoKSxxYTpUcihjKX1dLGQpfQpmdW5jdGlvbiBtcyhhLGIsYyl7Yz1jfHx7fTt2YXIgZD1BcigpLGU9ZnVuY3Rpb24oKXtpZihCcihkKSYmYi5sZW5ndGg+MCl7dmFyIGY9VXIoYSl8fFtdO2IuZm9yRWFjaChmdW5jdGlvbihnKXt2YXIgaD11cShjLGcudGltZXN0YW1wLCEwKTtoLmV4cGlyZXMhPT12b2lkIDAmJlFyKGYse3ZlcnNpb246IiIsZ2NsaWQ6Zy5nY2xpZCx0aW1lc3RhbXA6Zy50aW1lc3RhbXAsZXhwaXJlczpOdW1iZXIoaC5leHBpcmVzKSxxYTpnLnFhLGxhYmVsczpnLmxhYmVsc30sITApfSk7Zi5sZW5ndGgmJmtyKGEsZi5tYXAoZnVuY3Rpb24oZyl7dmFyIGg9e3ZhbHVlOmcuZ2NsaWQsY3JlYXRpb25UaW1lTXM6Zy50aW1lc3RhbXAsbGlua0RlY29yYXRpb25Tb3VyY2VzOmcucWE/Zy5xYS5nZXQoKTowfSxsO2lmKChsPWcubGFiZWxzKT09bnVsbD8wOmwubGVuZ3RoKWgubGFiZWxzPWcubGFiZWxzO3JldHVybnt2YWx1ZTpoLGV4cGlyZXM6TnVtYmVyKGcuZXhwaXJlcyl9fSkpfX07SGwoZnVuY3Rpb24oKXtCcihkKT8KZSgpOklsKGUsZCl9LGQpfQpmdW5jdGlvbiBocyhhLGIsYyxkLGUpe2M9Y3x8e307ZT1lfHxbXTt2YXIgZj1IcihjLnByZWZpeCksZz1kfHxOYigpLGg9TWF0aC5yb3VuZChnLzFFMyksbD1BcigpLG49ITEscD0hMSxxPVlmKDkpLHI9ZnVuY3Rpb24oKXtpZihCcihsKSl7dmFyIHQ9dXEoYyxnLCEwKTt0Lk1jPWw7Zm9yKHZhciB1PWZ1bmN0aW9uKFcsZWEpe3ZhciBqYT1JcihXLGYpO2phJiYob3EoamEsZWEsdCksVyE9PSJnYiImJihuPSEwKSl9LHY9ZnVuY3Rpb24oVyl7dmFyIGVhPVsiR0NMIixoLFddO2UubGVuZ3RoPjAmJmVhLnB1c2goZS5qb2luKCIuIikpO3JldHVybiBlYS5qb2luKCIuIil9LHg9bShbImF3IiwiZGMiLCJnZiIsImhhIiwiZ3AiXSkseT14Lm5leHQoKTsheS5kb25lO3k9eC5uZXh0KCkpe3ZhciB6PXkudmFsdWU7YVt6XSYmdSh6LHYoYVt6XVswXSkpfWlmKCghbnx8cSkmJmEuZ2Ipe3ZhciBDPWEuZ2JbMF0sRD1JcigiZ2IiLGYpOyFiJiZFcihEKS5zb21lKGZ1bmN0aW9uKFcpe3JldHVybiBXLmdjbGlkPT09QyYmClcubGFiZWxzJiZXLmxhYmVscy5sZW5ndGg+MH0pfHx1KCJnYiIsdihDKSl9fWlmKCFwJiZhLmdicmFpZCYmQnIoImFkX3N0b3JhZ2UiKSYmKHA9ITAsIW58fHEpKXt2YXIgST1hLmdicmFpZCxHPUlyKCJhZyIsZik7aWYoYnx8IUpyKEcpLnNvbWUoZnVuY3Rpb24oVyl7cmV0dXJuIFcuZ2NsaWQ9PT1JJiZXLmxhYmVscyYmVy5sYWJlbHMubGVuZ3RoPjB9KSl7dmFyIE49e30sUz0oTi5rPUksTi5pPSIiK2gsTi5iPWUsTik7QXEoRyxTLDUsYyxnKX19bnMoYSxmLGcsYyl9O0hsKGZ1bmN0aW9uKCl7cigpO0JyKGwpfHxJbChyLGwpfSxsKX0KZnVuY3Rpb24gbnMoYSxiLGMsZCl7aWYoYS5nYWRfc291cmNlIT09dm9pZCAwJiZCcigiYWRfc3RvcmFnZSIpKXt2YXIgZT1xZCgpO2lmKGUhPT0iciImJmUhPT0iaCIpe3ZhciBmPWEuZ2FkX3NvdXJjZSxnPUlyKCJncyIsYik7aWYoZyl7dmFyIGg9TWF0aC5mbG9vcigoTmIoKS0ocGQoKXx8MCkpLzFFMyksbCxuPWlyKCkscD17fTtsPShwLms9ZixwLmk9IiIraCxwLnU9bixwKTtBcShnLGwsNSxkLGMpfX19fWZ1bmN0aW9uIG9zKGEsYixjKXtmb3IodmFyIGQ9d3EoYixjKSxlPTA7ZTxkLmxlbmd0aDsrK2UpaWYoTnIoZFtlXSk+YSlyZXR1cm4hMDtyZXR1cm4hMX0KZnVuY3Rpb24gcHMoYSl7dmFyIGI9cXMsYz1ycyhhLnByZWZpeCk7Q3IoZnVuY3Rpb24oKXtmb3IodmFyIGQ9SHIoYS5wcmVmaXgpLGU9bShiKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZSxoPWNbZ107aWYoaCl7dmFyIGw9TWF0aC5taW4oc3MoaCksTmIoKSksbj11cShhLGwsITApO24uTWM9QXIoKTt2YXIgcD1JcihnLGQpO3AmJm9xKHAsaCxuKX19dmFyIHE9VXEoITApO2hzKGNzKHEuZ2NsaWQscS5nY2xzcmMpLCExLGEpfSxBcigpKX0KZnVuY3Rpb24gcnMoYSl7dmFyIGI9VXEoITApLGM9SHIoYSksZD17fSxlO2ZvcihlIGluIHhyKWlmKHhyLmhhc093blByb3BlcnR5KGUpKXt2YXIgZj1lLGc9SXIoZixjKTtpZihnIT09dm9pZCAwKXt2YXIgaD1iW2ddO2lmKGgpe3ZhciBsPXNzKGgpLG47YTp7Zm9yKHZhciBwPU1hdGgubWluKGwsTmIoKSl8fE5iKCkscT1jcShnLEIuY29va2llLHZvaWQgMCxBcigpKSxyPTA7cjxxLmxlbmd0aDsrK3IpaWYoc3MocVtyXSk+cCl7bj0hMDticmVhayBhfW49ITF9bnx8KGRbZl09aCl9fX1yZXR1cm4gZH0KZnVuY3Rpb24gdHMoYSl7dmFyIGI9WyJhZyJdLGM9VXEoITApLGQ9SHIoYS5wcmVmaXgpO0NyKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDsrK2Upe3ZhciBmPUlyKGJbZV0sZCk7aWYoZil7dmFyIGc9Y1tmXTtpZihnKXt2YXIgaD0kcChnLDUpO2lmKGgpe3ZhciBsPU5yKGgpO2x8fChsPU5iKCkpO2lmKG9zKGwsZiw1KSlicmVhaztoLmk9IiIrTWF0aC5yb3VuZChsLzFFMyk7QXEoZixoLDUsYSxsKX19fX19LFsiYWRfc3RvcmFnZSJdKX1mdW5jdGlvbiBJcihhLGIpe3ZhciBjPXhyW2FdO2lmKGMhPT12b2lkIDApcmV0dXJuIGIrY31mdW5jdGlvbiBzcyhhKXtyZXR1cm4gVnIoYS5zcGxpdCgiLiIpKS5sZW5ndGghPT0wPyhOdW1iZXIoYS5zcGxpdCgiLiIpWzFdKXx8MCkqMUUzOjB9ZnVuY3Rpb24gTnIoYSl7cmV0dXJuIGE/KE51bWJlcihhLmkpfHwwKSoxRTM6MH0KZnVuY3Rpb24gVnIoYSl7cmV0dXJuIGEubGVuZ3RoPDN8fGFbMF0hPT0iR0NMIiYmYVswXSE9PSIxInx8IS9eXGQrJC8udGVzdChhWzFdKXx8IXRyLnRlc3QoYVsyXSk/W106YX1mdW5jdGlvbiB1cyhhLGIsYyxkKXt2YXIgZT1xcztpZihBcnJheS5pc0FycmF5KGEpJiZTcChBKSl7dmFyIGY9SHIoZCksZz1mdW5jdGlvbigpe2Zvcih2YXIgaD17fSxsPTA7bDxlLmxlbmd0aDsrK2wpe3ZhciBuPUlyKGVbbF0sZik7aWYobil7dmFyIHA9Y3EobixCLmNvb2tpZSx2b2lkIDAsQXIoKSk7cC5sZW5ndGgmJihoW25dPXAuc29ydCgpW3AubGVuZ3RoLTFdKX19cmV0dXJuIGh9O0NyKGZ1bmN0aW9uKCl7YXIoZyxhLGIsYyl9LEFyKCkpfX0KZnVuY3Rpb24gdnMoYSxiLGMpe3ZhciBkPXFzO2lmKFlmKDEzKSYmQXJyYXkuaXNBcnJheShhKSYmU3AoQSkpe3ZhciBlPWZ1bmN0aW9uKCl7Zm9yKHZhciBmPXt9LGc9MDtnPGQubGVuZ3RoOysrZyl7dmFyIGg9dnJbZFtnXV07aWYoaCl7dmFyIGw9Y3EoaCxCLmNvb2tpZSx2b2lkIDAsQXIoKSk7aWYobC5sZW5ndGgpe2Zvcih2YXIgbj12b2lkIDAscD0wLHE9bShsKSxyPXEubmV4dCgpOyFyLmRvbmU7cj1xLm5leHQoKSl7dmFyIHQ9ci52YWx1ZSx1PSRwKHQsNCk7aWYodSYmKHUubT09PSIxInx8WWYoMTYpKSl7dmFyIHY9TnIodSk7dj49cCYmKHA9dixuPXQpfX1uJiYoZltoXT1uKX19fXJldHVybiBmfTtDcihmdW5jdGlvbigpe2FyKGUsYSxiLGMpfSxBcigpKX19CmZ1bmN0aW9uIHdzKGEsYixjLGQpe2lmKEFycmF5LmlzQXJyYXkoYSkmJlNwKEEpKXt2YXIgZT1bImFnIl0sZj1IcihkKSxnPWZ1bmN0aW9uKCl7Zm9yKHZhciBoPXt9LGw9MDtsPGUubGVuZ3RoOysrbCl7dmFyIG49SXIoZVtsXSxmKTtpZighbilyZXR1cm57fTt2YXIgcD13cShuLDUpO2lmKHAubGVuZ3RoKXt2YXIgcT1wLnNvcnQoZnVuY3Rpb24ocix0KXtyZXR1cm4gTnIodCktTnIocil9KVswXTtoW25dPWFxKHEsNSl9fXJldHVybiBofTtDcihmdW5jdGlvbigpe2FyKGcsYSxiLGMpfSxbImFkX3N0b3JhZ2UiXSl9fWZ1bmN0aW9uIFJyKGEpe3JldHVybiBhLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gdHIudGVzdChiLmdjbGlkKX0pfQpmdW5jdGlvbiB4cyhhLGIpe2lmKFNwKEEpKXtmb3IodmFyIGM9SHIoYi5wcmVmaXgpLGQ9e30sZT0wO2U8YS5sZW5ndGg7ZSsrKXhyW2FbZV1dJiYoZFthW2VdXT14clthW2VdXSk7Q3IoZnVuY3Rpb24oKXtHYihkLGZ1bmN0aW9uKGYsZyl7dmFyIGg9Y3EoYytnLEIuY29va2llLHZvaWQgMCxBcigpKTtoLnNvcnQoZnVuY3Rpb24odCx1KXtyZXR1cm4gc3ModSktc3ModCl9KTtpZihoLmxlbmd0aCl7dmFyIGw9aFswXSxuPXNzKGwpLHA9VnIobC5zcGxpdCgiLiIpKS5sZW5ndGghPT0wP2wuc3BsaXQoIi4iKS5zbGljZSgzKTpbXSxxPXt9LHI7cj1WcihsLnNwbGl0KCIuIikpLmxlbmd0aCE9PTA/bC5zcGxpdCgiLiIpWzJdOnZvaWQgMDtxW2ZdPVtyXTtocyhxLCEwLGIsbixwKX19KX0sQXIoKSl9fQpmdW5jdGlvbiB5cyhhKXt2YXIgYj1bImFnIl0sYz1bImdicmFpZCJdO0NyKGZ1bmN0aW9uKCl7Zm9yKHZhciBkPUhyKGEucHJlZml4KSxlPTA7ZTxiLmxlbmd0aDsrK2Upe3ZhciBmPUlyKGJbZV0sZCk7aWYoIWYpYnJlYWs7dmFyIGc9d3EoZiw1KTtpZihnLmxlbmd0aCl7dmFyIGg9Zy5zb3J0KGZ1bmN0aW9uKHEscil7cmV0dXJuIE5yKHIpLU5yKHEpfSlbMF0sbD1OcihoKSxuPWguYixwPXt9O3BbY1tlXV09aC5rO2hzKHAsITAsYSxsLG4pfX19LFsiYWRfc3RvcmFnZSJdKX1mdW5jdGlvbiB6cyhhLGIpe2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7KytjKWlmKGFbYltjXV0pcmV0dXJuITA7cmV0dXJuITF9CmZ1bmN0aW9uIEFzKGEpe2Z1bmN0aW9uIGIoaCxsLG4pe24mJihoW2xdPW4pfWlmKEVsKCkpe3ZhciBjPWVzKCksZDthLmluY2x1ZGVzKCJnYWRfc291cmNlIikmJihkPWMuZ2FkX3NvdXJjZSE9PXZvaWQgMD9jLmdhZF9zb3VyY2U6VXEoITEpLl9ncyk7aWYoenMoYyxhKXx8ZCl7dmFyIGU9e307YihlLCJnY2xpZCIsYy5nY2xpZCk7YihlLCJkY2xpZCIsYy5kY2xpZCk7YihlLCJnY2xzcmMiLGMuZ2Nsc3JjKTtiKGUsIndicmFpZCIsYy53YnJhaWQpO2IoZSwiZ2JyYWlkIixjLmdicmFpZCk7YnIoZnVuY3Rpb24oKXtyZXR1cm4gZX0sMyk7dmFyIGY9e30sZz0oZi5fdXA9IjEiLGYpO2IoZywiX2dzIixkKTticihmdW5jdGlvbigpe3JldHVybiBnfSwxKX19fWZ1bmN0aW9uIGtzKCl7dmFyIGE9UmooQS5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gTGooYSwicXVlcnkiLCExLHZvaWQgMCwiZ2FkX3NvdXJjZSIpfQpmdW5jdGlvbiBCcyhhKXtpZighWWYoMSkpcmV0dXJuIG51bGw7dmFyIGI9VXEoITApLmdhZF9zb3VyY2U7aWYoYiE9bnVsbClyZXR1cm4gQS5sb2NhdGlvbi5oYXNoPSIiLGI7aWYoWWYoMikpe2I9a3MoKTtpZihiIT1udWxsKXJldHVybiBiO3ZhciBjPWVzKCk7aWYoenMoYyxhKSlyZXR1cm4iMCJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gQ3MoYSl7dmFyIGI9QnMoYSk7YiE9bnVsbCYmYnIoZnVuY3Rpb24oKXt2YXIgYz17fTtyZXR1cm4gYy5nYWRfc291cmNlPWIsY30sNCl9CmZ1bmN0aW9uIERzKGEsYixjKXt2YXIgZD1bXTtpZihiLmxlbmd0aD09PTApcmV0dXJuIGQ7Zm9yKHZhciBlPXt9LGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGc9YltmXSxoPWcuemc/Zy56ZzoiZ2NsIjtpZigoZy5sYWJlbHN8fFtdKS5pbmRleE9mKGMpPT09LTEpe2EucHVzaCgwKTt2YXIgbD0hMSxuPXZvaWQgMDtpZigobj1nLm9hKT09bnVsbD8wOm4uaW5jbHVkZXMoMikpbD0hMDt2YXIgcD12b2lkIDA7KChwPWcub2EpPT1udWxsPzA6cC5pbmNsdWRlcygxKSkmJiFlW2hdJiYobD0hMCxlW2hdPSEwKTtsJiZkLnB1c2goZyl9ZWxzZXthLnB1c2goMSk7dmFyIHE9dm9pZCAwO2lmKChxPWcub2EpPT1udWxsPzA6cS5pbmNsdWRlcygxKSllW2hdPSEwfX1yZXR1cm4gZH0KZnVuY3Rpb24gRXMoYSxiLGMsZCxlKXtlPWU9PT12b2lkIDA/ITE6ZTt2YXIgZj1bXTtjPWN8fHt9O2lmKCFCcihBcigpKSlyZXR1cm4gZjt2YXIgZz1FcihhLGUpLGg9RHMoZixnLGIpO2lmKGgubGVuZ3RoJiYhZCl7Zm9yKHZhciBsPVtdLG49ITEscD1tKGgpLHE9cC5uZXh0KCk7IXEuZG9uZTtxPXAubmV4dCgpKXt2YXIgcj1xLnZhbHVlLHQ9cix1PXQudmVyc2lvbix2PXQuZ2NsaWQseD10LnRpbWVzdGFtcCx5PXQub2Esej0odC5sYWJlbHN8fFtdKS5jb25jYXQoW2JdKSxDPXZvaWQgMDtpZigoKEM9eSk9PW51bGw/MDpDLmluY2x1ZGVzKDEpKSYmIW4pe3ZhciBEPVt1LE1hdGgucm91bmQoeC8xRTMpLHZdLmNvbmNhdCh6KS5qb2luKCIuIiksST11cShjLHgsITApO0kuTWM9QXIoKTtvcShhLEQsSSk7bj0hMH12YXIgRz12b2lkIDA7ZSYmKChHPXkpPT1udWxsPzA6Ry5pbmNsdWRlcygyKSkmJmwucHVzaChuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHIse2xhYmVsczp6fSkpfWwubGVuZ3RoJiYKbXMoImdjbF9nYiIsbCxjKX1yZXR1cm4gZn0KZnVuY3Rpb24gRnMoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3ZhciBkPVtdO2I9Ynx8e307dmFyIGU9R3IoYixjKSxmPURzKGQsZSxhKTtpZihmLmxlbmd0aCl7Zm9yKHZhciBnPVtdLGg9e30sbD1tKGYpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1uLnZhbHVlLHE9SHIoYi5wcmVmaXgpLHI9SXIocC56ZyxxKTtpZighcilyZXR1cm4gZDt2YXIgdD1wLHU9dC52ZXJzaW9uLHY9dC5nY2xpZCx4PXQudGltZXN0YW1wLHk9dC5vYSx6PU1hdGgucm91bmQoeC8xRTMpLEM9THIodC5sYWJlbHN8fFtdLFthXSksRD12b2lkIDA7aWYoKEQ9eSk9PW51bGw/MDpELmluY2x1ZGVzKDEpKWlmKHAuemc9PT0iYWciJiYhaC5hZyl7dmFyIEk9e30sRz0oSS5rPXYsSS5pPSIiK3osSS5iPUMsSSk7QXEocixHLDUsYix4KTtoLmFnPSEwfWVsc2UgaWYocC56Zz09PSJnYiImJiFoLmdiKXt2YXIgTj1bdSx6LHZdLmNvbmNhdChDKS5qb2luKCIuIiksUz11cShiLHgsITApO1MuTWM9CkFyKCk7b3EocixOLFMpO2guZ2I9ITB9dmFyIFc9dm9pZCAwO2MmJigoVz15KT09bnVsbD8wOlcuaW5jbHVkZXMoMikpJiZnLnB1c2gobmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxwLHtsYWJlbHM6Q30pKX1nLmxlbmd0aCYmbXMoImdjbF9nYiIsZyxiKX1yZXR1cm4gZH1mdW5jdGlvbiBHcyhhLGIpe3ZhciBjPUhyKGIpLGQ9SXIoYSxjKTtpZighZClyZXR1cm4gMDt2YXIgZTtlPWE9PT0iYWciP0pyKGQpOkVyKGQpO2Zvcih2YXIgZj0wLGc9MDtnPGUubGVuZ3RoO2crKylmPU1hdGgubWF4KGYsZVtnXS50aW1lc3RhbXApO3JldHVybiBmfWZ1bmN0aW9uIEhzKGEpe2Zvcih2YXIgYj0wLGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZm9yKHZhciBlPWFbZC52YWx1ZV0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWI9TWF0aC5tYXgoYixOdW1iZXIoZVtmXS50aW1lc3RhbXApKTtyZXR1cm4gYn0KZnVuY3Rpb24gSXMoYSl7dmFyIGI9TWF0aC5tYXgoR3MoImF3IixhKSxIcyhCcihBcigpKT9ScCgpOnt9KSksYz1NYXRoLm1heChHcygiZ2IiLGEpLEhzKEJyKEFyKCkpP1JwKCJfZ2FjX2diIiwhMCk6e30pKTtjPU1hdGgubWF4KGMsR3MoImFnIixhKSk7cmV0dXJuIGM+Yn07dmFyIEpzPVJlZ0V4cCgiXlVBLVxcZCstXFxkKyUzQVtcXHctXSsoPzolMkNbXFx3LV0rKSooPzolM0JVQS1cXGQrLVxcZCslM0FbXFx3LV0rKD86JTJDW1xcdy1dKykqKSokIiksS3M9L15+P1tcdy1dKyg/Olwufj9bXHctXSspKiQvLExzPS9eXGQrXC5mbHNcLmRvdWJsZWNsaWNrXC5uZXQkLyxNcz0vO2dhYz0oW147P10rKS8sTnM9LztnYWNnYj0oW147P10rKS87CmZ1bmN0aW9uIE9zKGEsYil7aWYoTHMudGVzdChCLmxvY2F0aW9uLmhvc3QpKXt2YXIgYz1CLmxvY2F0aW9uLmhyZWYubWF0Y2goYik7cmV0dXJuIGMmJmMubGVuZ3RoPT09MiYmY1sxXS5tYXRjaChKcyk/S2ooY1sxXSl8fCIiOiIifWZvcih2YXIgZD1bXSxlPW0oT2JqZWN0LmtleXMoYSkpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXtmb3IodmFyIGc9Zi52YWx1ZSxoPVtdLGw9YVtnXSxuPTA7bjxsLmxlbmd0aDtuKyspaC5wdXNoKGxbbl0uZ2NsaWQpO2QucHVzaChnKyI6IitoLmpvaW4oIiwiKSl9cmV0dXJuIGQubGVuZ3RoPjA/ZC5qb2luKCI7Iik6IiJ9CmZ1bmN0aW9uIFBzKGEsYixjKXtmb3IodmFyIGQ9QnIoQXIoKSk/UnAoIl9nYWNfZ2IiLCEwKTp7fSxlPVtdLGY9ITEsZz1tKE9iamVjdC5rZXlzKGQpKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZSxuPUVzKCJfZ2FjX2diXyIrbCxhLGIsYyk7Zj1mfHxuLmxlbmd0aCE9PTAmJm4uc29tZShmdW5jdGlvbihwKXtyZXR1cm4gcD09PTF9KTtlLnB1c2gobCsiOiIrbi5qb2luKCIsIikpfXJldHVybntScjpmP2Uuam9pbigiOyIpOiIiLFFyOk9zKGQsTnMpfX1mdW5jdGlvbiBRcyhhKXt2YXIgYj1CLmxvY2F0aW9uLmhyZWYubWF0Y2gobmV3IFJlZ0V4cCgiOyIrYSsiPShbXjs/XSspIikpO3JldHVybiBiJiZiLmxlbmd0aD09PTImJmJbMV0ubWF0Y2goS3MpP2JbMV06dm9pZCAwfQpmdW5jdGlvbiBScyhhKXt2YXIgYj17fSxjLGQsZTtMcy50ZXN0KEIubG9jYXRpb24uaG9zdCkmJihjPVFzKCJnY2xncyIpLGQ9UXMoImdjbHN0IiksZT1RcygiZ2NsbHAiKSk7aWYoYyYmZCYmZSliLkVnPWMsYi5XaD1kLGIuVWg9ZTtlbHNle3ZhciBmPU5iKCksZz1NcigoYXx8Il9nY2wiKSsiX2dzIiksaD1nLm1hcChmdW5jdGlvbihwKXtyZXR1cm4gcC5nY2xpZH0pLGw9Zy5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIGYtcC50aW1lc3RhbXB9KSxuPWcubWFwKGZ1bmN0aW9uKHApe3JldHVybiBwLm9kfSk7aC5sZW5ndGg+MCYmbC5sZW5ndGg+MCYmbi5sZW5ndGg+MCYmKGIuRWc9aC5qb2luKCIuIiksYi5XaD1sLmpvaW4oIi4iKSxiLlVoPW4uam9pbigiLiIpKX1yZXR1cm4gYn0KZnVuY3Rpb24gU3MoYSxiKXt2YXIgYz1hLnNwbGl0KCIuIiksZD1iP2Iuc3BsaXQoIi4iKTpbXSxlPWQubGVuZ3RoPT09Yy5sZW5ndGg/ZDp2b2lkIDA7cmV0dXJuIGMubWFwKGZ1bmN0aW9uKGYsZyl7dmFyIGg9e2djbGlkOmZ9O2lmKGUpe3ZhciBsPWVbZ10uc3BsaXQoIl8iKTtpZihsLmxlbmd0aD09PTIpe2gucWE9bmV3IGVyKE51bWJlcihsWzBdKSk7dmFyIG47dmFyIHA9TnVtYmVyKGxbMV0pO2lmKHA9PT0wKW49WzBdO2Vsc2V7dmFyIHE9W107cCYxJiZxLnB1c2goMSk7cCYyJiZxLnB1c2goMik7cCY0JiZxLnB1c2goMyk7cCY4JiZxLnB1c2goNCk7cCYxNiYmcS5wdXNoKDUpO249cX1oLm9hPW59fXJldHVybiBofSl9CmZ1bmN0aW9uIFRzKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO2lmKExzLnRlc3QoQi5sb2NhdGlvbi5ob3N0KSl7dmFyIGU9UXMoYyk7aWYoZSl7aWYoWWYoMTcpKXt2YXIgZj1RcyhjKyJfc3JjIik7cmV0dXJuIFNzKGUsZil9aWYoZCl7dmFyIGc9bmV3IGVyO2ZyKGcsMik7ZnIoZywzKTtyZXR1cm4gZS5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm57Z2NsaWQ6cixxYTpnLG9hOlsxXX19KX1yZXR1cm4gZS5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm57Z2NsaWQ6cixxYTpuZXcgZXIsb2E6WzFdfX0pfX1lbHNle2lmKGI9PT0iZ2NsaWQiKXtmb3IodmFyIGg9RXIoKGF8fCJfZ2NsIikrIl9hdyIsZCksbD1OdW1iZXIoWGZbNF09PT12b2lkIDA/MDpYZls0XSksbj1tKFVzKCkpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3EudGltZXN0YW1wPmwmJlFyKGgscSl9cmV0dXJuIGh9aWYoYj09PSJ3YnJhaWQiKXJldHVybiBFcigoYXx8CiJfZ2NsIikrIl9nYiIsZCk7aWYoYj09PSJicmFpZHMiKXJldHVybiBHcih7cHJlZml4OmF9LGQpfXJldHVybltdfWZ1bmN0aW9uIFVzKCl7cmV0dXJuKHdxKHZyLmF3LDQpfHxbXSkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLm09PT0iMSJ9KS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJue2djbGlkOmEuayx0aW1lc3RhbXA6TnVtYmVyKGEuaSksdmVyc2lvbjoiIixvYTpbNV19fSl9ZnVuY3Rpb24gVnMoYSl7Zm9yKHZhciBiPTAsYz1tKGEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlO2U+MCYmKGJ8PTE8PGUtMSl9cmV0dXJuIGIudG9TdHJpbmcoKX1mdW5jdGlvbiBXcyhhKXtyZXR1cm4gTHMudGVzdChCLmxvY2F0aW9uLmhvc3QpPyEoUXMoImdjbGF3Iil8fFFzKCJnYWMiKSk6SXMoYSl9CmZ1bmN0aW9uIFhzKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO3ZhciBlO2U9Yz9GcyhhLGIsZCk6RXMoKGImJmIucHJlZml4fHwiX2djbCIpKyJfZ2IiLGEsYix2b2lkIDAsZCk7cmV0dXJuIGUubGVuZ3RoPT09MHx8ZS5ldmVyeShmdW5jdGlvbihmKXtyZXR1cm4gZj09PTB9KT8iIjplLmpvaW4oIi4iKX07CnZhciBZcz1mdW5jdGlvbihhKXt2YXIgYjtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1raigiYWRzX3BhZ2V2aWV3IixmdW5jdGlvbigpe3JldHVybnt9fSk7aWYoY1thXSlyZXR1cm4hMTtifHwoY1thXT0hMCk7cmV0dXJuITB9LFpzPWZ1bmN0aW9uKGEpe3JldHVybiBTaihhLCJnY2xpZCBkY2xpZCBnYnJhaWQgd2JyYWlkIGdjbGF3IGdjbGRjIGdjbGhhIGdjbGdmIGdjbGdiIF9nbCIuc3BsaXQoIiAiKSwiMCIpfSxhdD1mdW5jdGlvbigpe3ZhciBhPVJqKEEubG9jYXRpb24uaHJlZiksYj12b2lkIDAsYz12b2lkIDAsZD1MaihhLCJxdWVyeSIsITEsdm9pZCAwLCJnYWRfc291cmNlIiksZT1MaihhLCJxdWVyeSIsITEsdm9pZCAwLCJnYWRfY2FtcGFpZ25pZCIpLGYsZz1hLmhhc2gucmVwbGFjZSgiIyIsIiIpLm1hdGNoKCRzKTtmPWc/Z1sxXTp2b2lkIDA7ZCYmZj8oYj1kLGM9MSk6ZD8oYj1kLGM9Mik6ZiYmKGI9ZixjPTMpO3JldHVybntEZzpiLFNyOmMsVGg6ZX19LGJ0PWZ1bmN0aW9uKGEpe3ZhciBiPQpPcCghMSk9PT0xP0EudG9wLmxvY2F0aW9uLmhyZWY6QS5sb2NhdGlvbi5ocmVmO3JldHVybiBhKGIpfSxjdD1mdW5jdGlvbihhKXt2YXIgYj1bXTtHYihhLGZ1bmN0aW9uKGMsZCl7ZD1ScihkKTtmb3IodmFyIGU9W10sZj0wO2Y8ZC5sZW5ndGg7ZisrKWUucHVzaChkW2ZdLmdjbGlkKTtlLmxlbmd0aCYmYi5wdXNoKGMrIjoiK2Uuam9pbigiLCIpKX0pO3JldHVybiBiLmpvaW4oIjsiKX0sZXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWR0KGEpO2lmKGQpcmV0dXJuIGQ7dmFyIGU9SHIoYik7aWYoZT09PSJfZ2NsIil7dmFyIGY9IVhvKGZwKSYmYyxnPVtdO2E9PT0iYXciP2c9YXMoQS5sb2NhdGlvbi5ocmVmLCEwLCExKTphPT09ImRjIiYmKGc9ZHMoQS5sb2NhdGlvbi5ocmVmLCEwLCExKSk7aWYoZy5sZW5ndGg+MClyZXR1cm4gZj9be3ZlcnNpb246IkdDTCIsdGltZXN0YW1wOjAsZ2NsaWQ6IjAifV06Zy5tYXAoZnVuY3Rpb24obCl7cmV0dXJue3ZlcnNpb246IkdDTCIsdGltZXN0YW1wOjAsCmdjbGlkOmwudmFsdWUscWE6bC5xYSxvYTpbMV19fSl9dmFyIGg9SXIoYSxlKTtyZXR1cm4gaD9hPT09ImF3Ij9FcihoLE0oNTYyKSk6WnIoaCk6W119LGR0PWZ1bmN0aW9uKGEpe3ZhciBiPVRqKCJnY2wiK2EpLGM9YT09PSJkYyJ8fGE9PT0iYXciP1RqKCJnY2wiK2ErIl9zcmMiKTp2b2lkIDA7aWYoYilyZXR1cm4gU3MoYixjKX0sZnQ9ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PT0iYXcifHxhPT09ImRjInx8YT09PSJnYiIpe3ZhciBkPVRqKCJnY2wiK2EpO2lmKGQpcmV0dXJuIGQuc3BsaXQoIi4iKX12YXIgZT1IcihiKTtpZihlPT09Il9nY2wiKXt2YXIgZj0hWG8oZnApJiZjLGc7Zz1lcygpW2FdfHxbXTtpZihnLmxlbmd0aD4wKXJldHVybiBmP1siMCJdOmd9dmFyIGg9SXIoYSxlKTtyZXR1cm4gaD9EcihoKTpbXX0sZ3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKCFSKGEsYil8fCFSKGEsYykpcmV0dXJuIiI7dmFyIGQ9UihhLGIpLnNwbGl0KCIuIiksZT1SKGEsYykuc3BsaXQoIi4iKTtyZXR1cm4gZC5sZW5ndGgmJgplLmxlbmd0aCYmZC5sZW5ndGg9PT1lLmxlbmd0aCYmZFswXSYmZVswXT9kLm1hcChmdW5jdGlvbihmLGcpe3JldHVybiBmKyJfIitlW2ddfSkuam9pbigiLiIpOiIifSwkcz0vXmdhZF9zb3VyY2VbXz1dKFxkKykkLztmdW5jdGlvbiBodChhLGIsYyl7dmFyIGQ9UihhLEYuRC5UYSk7aWYoZCYmdHlwZW9mIGQ9PT0ib2JqZWN0Iilmb3IodmFyIGU9bShPYmplY3Qua2V5cyhkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWUsaD1kW2ddO2lmKGghPT12b2lkIDApe2g9PT1udWxsJiYoaD0iIik7dmFyIGw9ImdhcC4iK2csbj1TdHJpbmcoaCk7Yz9jKGwsbik6YltsXT1ufX19O3ZhciBpdD0hMSxqdD1bXTtmdW5jdGlvbiBrdCgpe2lmKCFpdCl7aXQ9ITA7Zm9yKHZhciBhPWp0Lmxlbmd0aC0xO2E+PTA7YS0tKWp0W2FdKCk7anQ9W119fTtmdW5jdGlvbiBsdChhKXt2YXIgYj1bXSxjPTAsZDtmb3IoZCBpbiBhKWJbYysrXT1hW2RdO3JldHVybiBifTtmdW5jdGlvbiBtdChhLGIsYyl7cmV0dXJuIHR5cGVvZiBhLmFkZEV2ZW50TGlzdGVuZXI9PT0iZnVuY3Rpb24iPyhhLmFkZEV2ZW50TGlzdGVuZXIoYixjLCExKSwhMCk6ITF9ZnVuY3Rpb24gbnQoYSxiLGMpe3R5cGVvZiBhLnJlbW92ZUV2ZW50TGlzdGVuZXI9PT0iZnVuY3Rpb24iJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjLCExKX07ZnVuY3Rpb24gb3QoYSxiLGMsZCl7ZD1kPT09dm9pZCAwPyExOmQ7YS5nb29nbGVfaW1hZ2VfcmVxdWVzdHN8fChhLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cz1bXSk7dmFyIGU9UHAoYS5kb2N1bWVudCk7aWYoYyl7dmFyIGY9ZnVuY3Rpb24oKXtpZihjKXt2YXIgZz1hLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cyxoPURjKGcsZSk7aD49MCYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGcsaCwxKX1udChlLCJsb2FkIixmKTtudChlLCJlcnJvciIsZil9O210KGUsImxvYWQiLGYpO210KGUsImVycm9yIixmKX1kJiYoZS5hdHRyaWJ1dGlvblNyYz0iIik7ZS5zcmM9YjthLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cy5wdXNoKGUpfQpmdW5jdGlvbiBwdChhKXt2YXIgYjtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz0iaHR0cHM6Ly9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvZ2VuXzIwND9pZD10Y2ZlIjtJcChhLGZ1bmN0aW9uKGQsZSl7aWYoZHx8ZD09PTApYys9IiYiK2UrIj0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZCkpfSk7cXQoYyxiKX0KZnVuY3Rpb24gcXQoYSxiKXt2YXIgYz13aW5kb3csZDtiPWI9PT12b2lkIDA/ITE6YjtkPWQ9PT12b2lkIDA/ITE6ZDtpZihjLmZldGNoKXt2YXIgZT17a2VlcGFsaXZlOiEwLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixyZWRpcmVjdDoiZm9sbG93IixtZXRob2Q6ImdldCIsbW9kZToibm8tY29ycyJ9O2QmJihlLm1vZGU9ImNvcnMiLCJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGU/ZS5hdHRyaWJ1dGlvblJlcG9ydGluZz17ZXZlbnRTb3VyY2VFbGlnaWJsZToidHJ1ZSIsdHJpZ2dlckVsaWdpYmxlOiJmYWxzZSJ9OmUuaGVhZGVycz17IkF0dHJpYnV0aW9uLVJlcG9ydGluZy1FbGlnaWJsZSI6ImV2ZW50LXNvdXJjZSJ9KTtjLmZldGNoKGEsZSl9ZWxzZSBvdChjLGEsYj09PXZvaWQgMD8hMTpiLGQ9PT12b2lkIDA/ITE6ZCl9O2Z1bmN0aW9uIHJ0KCl7dGhpcy5mYT10aGlzLmZhO3RoaXMuUj10aGlzLlJ9cnQucHJvdG90eXBlLmZhPSExO3J0LnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5mYXx8KHRoaXMuZmE9ITAsdGhpcy5OKCkpfTtydC5wcm90b3R5cGVbU3ltYm9sLmRpc3Bvc2VdPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCl9O3J0LnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuZmE/YiE9PXZvaWQgMD9hLmNhbGwoYik6YSgpOih0aGlzLlJ8fCh0aGlzLlI9W10pLGImJihhPWEuYmluZChiKSksdGhpcy5SLnB1c2goYSkpfTtydC5wcm90b3R5cGUuTj1mdW5jdGlvbigpe2lmKHRoaXMuUilmb3IoO3RoaXMuUi5sZW5ndGg7KXRoaXMuUi5zaGlmdCgpKCl9O2Z1bmN0aW9uIHN0KGEpe2EuYWRkdGxDb25zZW50PT09dm9pZCAwfHx2ZihhLmFkZHRsQ29uc2VudCl8fChhLmFkZHRsQ29uc2VudD12b2lkIDApO2EuZ2RwckFwcGxpZXM9PT12b2lkIDB8fHdmKGEuZ2RwckFwcGxpZXMpfHwoYS5nZHByQXBwbGllcz12b2lkIDApO3JldHVybiBhLnRjU3RyaW5nIT09dm9pZCAwJiYhdmYoYS50Y1N0cmluZyl8fGEubGlzdGVuZXJJZCE9PXZvaWQgMCYmIXVmKGEubGlzdGVuZXJJZCk/MjphLmNtcFN0YXR1cyYmYS5jbXBTdGF0dXMhPT0iZXJyb3IiPzA6M312YXIgdHQ9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjtydC5jYWxsKHRoaXMpO3RoaXMuSD1udWxsO3RoaXMuamE9e307dGhpcy55YT0wO3RoaXMuWj1udWxsO3RoaXMuSz1hO3ZhciBjO3RoaXMudGltZW91dE1zPShjPWIudGltZW91dE1zKSE9bnVsbD9jOjUwMDt2YXIgZDt0aGlzLkVqPShkPWIuRWopIT1udWxsP2Q6ITF9O3dhKHR0LHJ0KTsKdHQucHJvdG90eXBlLk49ZnVuY3Rpb24oKXt0aGlzLmphPXt9O3RoaXMuWiYmKG50KHRoaXMuSywibWVzc2FnZSIsdGhpcy5aKSxkZWxldGUgdGhpcy5aKTtkZWxldGUgdGhpcy5qYTtkZWxldGUgdGhpcy5LO2RlbGV0ZSB0aGlzLkg7cnQucHJvdG90eXBlLk4uY2FsbCh0aGlzKX07dmFyIHZ0PWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5LLl9fdGNmYXBpPT09ImZ1bmN0aW9uInx8dXQoYSkhPW51bGx9Owp0dC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9e2ludGVybmFsQmxvY2tPbkVycm9yczp0aGlzLkVqfSxkPUhwKGZ1bmN0aW9uKCl7YShjKX0pLGU9MDt0aGlzLnRpbWVvdXRNcyE9PS0xJiYoZT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSI7Yy5pbnRlcm5hbEVycm9yU3RhdGU9MTtkKCl9LHRoaXMudGltZW91dE1zKSk7dmFyIGY9ZnVuY3Rpb24oZyxoKXtjbGVhclRpbWVvdXQoZSk7Zz8oYz1nLGMuaW50ZXJuYWxFcnJvclN0YXRlPXN0KGMpLGMuaW50ZXJuYWxCbG9ja09uRXJyb3JzPWIuRWosaCYmYy5pbnRlcm5hbEVycm9yU3RhdGU9PT0wfHwoYy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSIsaHx8KGMuaW50ZXJuYWxFcnJvclN0YXRlPTMpKSk6KGMudGNTdHJpbmc9InRjdW5hdmFpbGFibGUiLGMuaW50ZXJuYWxFcnJvclN0YXRlPTMpO2EoYyl9O3RyeXt3dCh0aGlzLCJhZGRFdmVudExpc3RlbmVyIiwKZil9Y2F0Y2goZyl7Yy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSIsYy5pbnRlcm5hbEVycm9yU3RhdGU9MyxlJiYoY2xlYXJUaW1lb3V0KGUpLGU9MCksZCgpfX07dHQucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSl7YSYmYS5saXN0ZW5lcklkJiZ3dCh0aGlzLCJyZW1vdmVFdmVudExpc3RlbmVyIixudWxsLGEubGlzdGVuZXJJZCl9Owp2YXIgenQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2Q9ZD09PXZvaWQgMD8iNzU1IjpkO3ZhciBlO2E6e2lmKGEucHVibGlzaGVyJiZhLnB1Ymxpc2hlci5yZXN0cmljdGlvbnMpe3ZhciBmPWEucHVibGlzaGVyLnJlc3RyaWN0aW9uc1tiXTtpZihmIT09dm9pZCAwKXtlPWZbZD09PXZvaWQgMD8iNzU1IjpkXTticmVhayBhfX1lPXZvaWQgMH12YXIgZz1lO2lmKGc9PT0wKXJldHVybiExO3ZhciBoPWM7Yz09PTI/KGg9MCxnPT09MiYmKGg9MSkpOmM9PT0zJiYoaD0xLGc9PT0xJiYoaD0wKSk7dmFyIGw7aWYoaD09PTApaWYoYS5wdXJwb3NlJiZhLnZlbmRvcil7dmFyIG49eHQoYS52ZW5kb3IuY29uc2VudHMsZD09PXZvaWQgMD8iNzU1IjpkKTtsPW4mJmI9PT0iMSImJmEucHVycG9zZU9uZVRyZWF0bWVudCYmYS5wdWJsaXNoZXJDQz09PSJDSCI/ITA6biYmeHQoYS5wdXJwb3NlLmNvbnNlbnRzLGIpfWVsc2UgbD0hMDtlbHNlIGw9aD09PTE/YS5wdXJwb3NlJiZhLnZlbmRvcj94dChhLnB1cnBvc2UubGVnaXRpbWF0ZUludGVyZXN0cywKYikmJnh0KGEudmVuZG9yLmxlZ2l0aW1hdGVJbnRlcmVzdHMsZD09PXZvaWQgMD8iNzU1IjpkKTohMDohMDtyZXR1cm4gbH0seHQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hKCFhfHwhYVtiXSl9LHd0PWZ1bmN0aW9uKGEsYixjLGQpe2N8fChjPWZ1bmN0aW9uKCl7fSk7dmFyIGU9YS5LO2lmKHR5cGVvZiBlLl9fdGNmYXBpPT09ImZ1bmN0aW9uIil7dmFyIGY9ZS5fX3RjZmFwaTtmKGIsMixjLGQpfWVsc2UgaWYodXQoYSkpe0F0KGEpO3ZhciBnPSsrYS55YTthLmphW2ddPWM7aWYoYS5IKXt2YXIgaD17fTthLkgucG9zdE1lc3NhZ2UoKGguX190Y2ZhcGlDYWxsPXtjb21tYW5kOmIsdmVyc2lvbjoyLGNhbGxJZDpnLHBhcmFtZXRlcjpkfSxoKSwiKiIpfX1lbHNlIGMoe30sITEpfSx1dD1mdW5jdGlvbihhKXtpZihhLkgpcmV0dXJuIGEuSDthLkg9TnAoYS5LLCJfX3RjZmFwaUxvY2F0b3IiKTtyZXR1cm4gYS5IfSxBdD1mdW5jdGlvbihhKXtpZighYS5aKXt2YXIgYj1mdW5jdGlvbihjKXtpZihjLnNvdXJjZT09PQphLkgpdHJ5e3ZhciBkO2Q9KHZmKGMuZGF0YSk/SlNPTi5wYXJzZShjLmRhdGEpOmMuZGF0YSkuX190Y2ZhcGlSZXR1cm47YS5qYVtkLmNhbGxJZF0oZC5yZXR1cm5WYWx1ZSxkLnN1Y2Nlc3MpfWNhdGNoKGUpe319O2EuWj1iO210KGEuSywibWVzc2FnZSIsYil9fSxCdD1mdW5jdGlvbihhKXtpZihhLmdkcHJBcHBsaWVzPT09ITEpcmV0dXJuITA7YS5pbnRlcm5hbEVycm9yU3RhdGU9PT12b2lkIDAmJihhLmludGVybmFsRXJyb3JTdGF0ZT1zdChhKSk7cmV0dXJuIGEuY21wU3RhdHVzPT09ImVycm9yInx8YS5pbnRlcm5hbEVycm9yU3RhdGUhPT0wP2EuaW50ZXJuYWxCbG9ja09uRXJyb3JzPyhwdCh7ZTpTdHJpbmcoYS5pbnRlcm5hbEVycm9yU3RhdGUpfSksITEpOiEwOmEuY21wU3RhdHVzIT09ImxvYWRlZCJ8fGEuZXZlbnRTdGF0dXMhPT0idGNsb2FkZWQiJiZhLmV2ZW50U3RhdHVzIT09InVzZXJhY3Rpb25jb21wbGV0ZSI/ITE6ITB9O3ZhciBDdD17MTowLDM6MCw0OjAsNzozLDk6MywxMDozfTtmdW5jdGlvbiBEdCgpe3JldHVybiBraigidGNmIixmdW5jdGlvbigpe3JldHVybnt9fSl9dmFyIEV0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0dChBLHt0aW1lb3V0TXM6LTF9KX07CmZ1bmN0aW9uIEZ0KCl7dmFyIGE9RHQoKSxiPUV0KCk7dnQoYikmJiFHdCgpJiYhSHQoKSYmUCgxMjQpO2lmKCFhLmFjdGl2ZSYmdnQoYikpe0d0KCkmJihhLmFjdGl2ZT0hMCxhLnB1cnBvc2VzPXt9LGEuY21wSWQ9MCxhLnRjZlBvbGljeVZlcnNpb249MCx0bCgpLmFjdGl2ZT0hMCxhLnRjU3RyaW5nPSJ0Y3VuYXZhaWxhYmxlIik7Y3AoKTt0cnl7Yi5hZGRFdmVudExpc3RlbmVyKGZ1bmN0aW9uKGMpe2lmKGMuaW50ZXJuYWxFcnJvclN0YXRlIT09MClJdChhKSxkcChbRi5ELmthLEYuRC5YYSxGLkQubWFdKSx0bCgpLmFjdGl2ZT0hMDtlbHNlIGlmKGEuZ2RwckFwcGxpZXM9Yy5nZHByQXBwbGllcyxhLmNtcElkPWMuY21wSWQsYS5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU9Yy5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGUsSHQoKSYmKGEuYWN0aXZlPSEwKSwhSnQoYyl8fEd0KCl8fEh0KCkpe2EudGNmUG9saWN5VmVyc2lvbj1jLnRjZlBvbGljeVZlcnNpb247dmFyIGQ7aWYoYy5nZHByQXBwbGllcz09PQohMSl7dmFyIGU9e30sZjtmb3IoZiBpbiBDdClDdC5oYXNPd25Qcm9wZXJ0eShmKSYmKGVbZl09ITApO2Q9ZTtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyl9ZWxzZSBpZihKdChjKSl7dmFyIGc9e30saDtmb3IoaCBpbiBDdClpZihDdC5oYXNPd25Qcm9wZXJ0eShoKSlpZihoPT09IjEiKXt2YXIgbCxuPWMscD17VXI6ITB9O3A9cD09PXZvaWQgMD97fTpwO2w9QnQobik/bi5nZHByQXBwbGllcz09PSExPyEwOm4udGNTdHJpbmc9PT0idGN1bmF2YWlsYWJsZSI/IXAuaWRwY0FwcGxpZXM6KHAuaWRwY0FwcGxpZXN8fG4uZ2RwckFwcGxpZXMhPT12b2lkIDB8fHAuVXIpJiYocC5pZHBjQXBwbGllc3x8dmYobi50Y1N0cmluZykmJm4udGNTdHJpbmcubGVuZ3RoKT96dChuLCIxIiwwKTohMDohMTtnWyIxIl09bH1lbHNlIGdbaF09enQoYyxoLEN0W2hdKTtkPWd9aWYoZCl7YS50Y1N0cmluZz1jLnRjU3RyaW5nfHwidGNlbXB0eSI7YS5wdXJwb3Nlcz1kO3ZhciBxPXt9LHI9KHFbRi5ELmthXT0KYS5wdXJwb3Nlc1siMSJdPyJncmFudGVkIjoiZGVuaWVkIixxKTthLmdkcHJBcHBsaWVzIT09ITA/KGRwKFtGLkQua2EsRi5ELlhhLEYuRC5tYV0pLHRsKCkuYWN0aXZlPSEwKToocltGLkQuWGFdPWEucHVycG9zZXNbIjMiXSYmYS5wdXJwb3Nlc1siNCJdPyJncmFudGVkIjoiZGVuaWVkIix0eXBlb2YgYS50Y2ZQb2xpY3lWZXJzaW9uPT09Im51bWJlciImJmEudGNmUG9saWN5VmVyc2lvbj49ND9yW0YuRC5tYV09YS5wdXJwb3Nlc1siMSJdJiZhLnB1cnBvc2VzWyI3Il0/ImdyYW50ZWQiOiJkZW5pZWQiOmRwKFtGLkQubWFdKSxWbyhyLHtldmVudElkOjB9LHtnZHByQXBwbGllczphP2EuZ2RwckFwcGxpZXM6dm9pZCAwLHRjU3RyaW5nOkt0KCl8fCIifSkpfX1lbHNlIGRwKFtGLkQua2EsRi5ELlhhLEYuRC5tYV0pfSl9Y2F0Y2goYyl7SXQoYSksZHAoW0YuRC5rYSxGLkQuWGEsRi5ELm1hXSksdGwoKS5hY3RpdmU9ITB9fX0KZnVuY3Rpb24gSXQoYSl7YS50eXBlPSJlIjthLnRjU3RyaW5nPSJ0Y3VuYXZhaWxhYmxlIn1mdW5jdGlvbiBKdChhKXtyZXR1cm4gYS5ldmVudFN0YXR1cz09PSJ0Y2xvYWRlZCJ8fGEuZXZlbnRTdGF0dXM9PT0idXNlcmFjdGlvbmNvbXBsZXRlInx8YS5ldmVudFN0YXR1cz09PSJjbXB1aXNob3duIn1mdW5jdGlvbiBHdCgpe3JldHVybiBBLmd0YWdfZW5hYmxlX3RjZl9zdXBwb3J0PT09ITB9ZnVuY3Rpb24gSHQoKXtyZXR1cm4gRHQoKS5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU9PT0hMH1mdW5jdGlvbiBLdCgpe3ZhciBhPUR0KCk7aWYoYS5hY3RpdmUpcmV0dXJuIGEudGNTdHJpbmd9ZnVuY3Rpb24gTHQoKXt2YXIgYT1EdCgpO2lmKGEuYWN0aXZlJiZhLmdkcHJBcHBsaWVzIT09dm9pZCAwKXJldHVybiBhLmdkcHJBcHBsaWVzPyIxIjoiMCJ9CmZ1bmN0aW9uIE10KGEpe2lmKCFDdC5oYXNPd25Qcm9wZXJ0eShTdHJpbmcoYSkpKXJldHVybiEwO3ZhciBiPUR0KCk7cmV0dXJuIGIuYWN0aXZlJiZiLnB1cnBvc2VzPyEhYi5wdXJwb3Nlc1tTdHJpbmcoYSldOiEwfTt2YXIgTnQ9W0YuRC5rYSxGLkQucmEsRi5ELm1hLEYuRC5YYV0sT3Q9e30sUHQ9KE90W0YuRC5rYV09MSxPdFtGLkQucmFdPTIsT3QpO2Z1bmN0aW9uIFF0KGEpe2lmKGE9PT12b2lkIDApcmV0dXJuIDA7c3dpdGNoKE8oYSxGLkQuUmMpKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlICExOnJldHVybiAzO2RlZmF1bHQ6cmV0dXJuIDJ9fWZ1bmN0aW9uIFJ0KCl7cmV0dXJuKE0oMTgzKT9MZigxNikuc3BsaXQoIn4iKTpMZigxNykuc3BsaXQoIn4iKSkuaW5kZXhPZih6bSgpKSE9PS0xJiZIYy5nbG9iYWxQcml2YWN5Q29udHJvbD09PSEwfWZ1bmN0aW9uIFN0KGEpe2lmKFJ0KCkpcmV0dXJuITE7dmFyIGI9UXQoYSk7aWYoYj09PTMpcmV0dXJuITE7c3dpdGNoKENsKEYuRC5YYSkpe2Nhc2UgMTpjYXNlIDM6cmV0dXJuITA7Y2FzZSAyOnJldHVybiExO2Nhc2UgNDpyZXR1cm4gYj09PTI7Y2FzZSAwOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fQpmdW5jdGlvbiBUdCgpe3JldHVybiBFbCgpfHwhQmwoRi5ELmthKXx8IUJsKEYuRC5yYSl9ZnVuY3Rpb24gVXQoKXt2YXIgYT17fSxiO2ZvcihiIGluIFB0KVB0Lmhhc093blByb3BlcnR5KGIpJiYoYVtQdFtiXV09Q2woYikpO3JldHVybiJHMSIreWYoYVsxXXx8MCkreWYoYVsyXXx8MCl9dmFyIFZ0PXt9LFd0PShWdFtGLkQua2FdPTAsVnRbRi5ELnJhXT0xLFZ0W0YuRC5tYV09MixWdFtGLkQuWGFdPTMsVnQpO2Z1bmN0aW9uIFh0KGEpe3N3aXRjaChhKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlICEwOnJldHVybiAzO2Nhc2UgITE6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19CmZ1bmN0aW9uIFl0KGEpe2Zvcih2YXIgYj0iMSIsYz0wO2M8TnQubGVuZ3RoO2MrKyl7dmFyIGQ9YixlLGY9TnRbY10sZz1BbC5kZWxlZ2F0ZWRDb25zZW50VHlwZXNbZl07ZT1nPT09dm9pZCAwPzA6V3QuaGFzT3duUHJvcGVydHkoZyk/MTJ8V3RbZ106ODt2YXIgaD10bCgpO2guYWNjZXNzZWRBbnk9ITA7dmFyIGw9aC5lbnRyaWVzW2ZdfHx7fTtlPWU8PDJ8WHQobC5pbXBsaWNpdCk7Yj1kKygiIisiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVotXyJbZV0rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW1h0KGwuZGVjbGFyZSk8PDR8WHQobC5kZWZhdWx0KTw8MnxYdChsLnVwZGF0ZSldKX12YXIgbj1iLHA9KFJ0KCk/MTowKTw8MyxxPShFbCgpPzE6MCk8PDIscj1RdChhKTtiPW4rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW3B8CnF8cl07cmV0dXJuIGIrPSIiKyIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi1fIltBbC5jb250YWluZXJTY29wZWREZWZhdWx0cy5hZF9zdG9yYWdlPDw0fEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzLmFuYWx5dGljc19zdG9yYWdlPDwyfEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzLmFkX3VzZXJfZGF0YV0rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iWyhBbC51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHM/MTowKTw8MnxBbC5jb250YWluZXJTY29wZWREZWZhdWx0cy5hZF9wZXJzb25hbGl6YXRpb25dfWZ1bmN0aW9uIFp0KCl7cmV0dXJuIEJsKEYuRC5tYSk/ImEiOiItIn1mdW5jdGlvbiAkdCgpe3JldHVybiBCbSgpfHwoR3QoKXx8SHQoKSkmJkx0KCk9PT0iMSI/IjEiOiIwIn0KZnVuY3Rpb24gYXUoKXtyZXR1cm4oQm0oKT8hMDohKCFHdCgpJiYhSHQoKSkmJkx0KCk9PT0iMSIpfHwhQmwoRi5ELm1hKX0KZnVuY3Rpb24gYnUoKXt2YXIgYT0iMCIsYj0iMCIsYzt2YXIgZD1EdCgpO2M9ZC5hY3RpdmU/ZC5jbXBJZDp2b2lkIDA7dHlwZW9mIGM9PT0ibnVtYmVyIiYmYz49MCYmYzw9NDA5NSYmKGE9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2M+PjYmNjNdLGI9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2MmNjNdKTt2YXIgZT0iMCIsZjt2YXIgZz1EdCgpO2Y9Zy5hY3RpdmU/Zy50Y2ZQb2xpY3lWZXJzaW9uOnZvaWQgMDt0eXBlb2YgZj09PSJudW1iZXIiJiZmPj0wJiZmPD02MyYmKGU9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2ZdKTt2YXIgaD0wO0JtKCkmJihofD0xKTtMdCgpPT09IjEiJiYoaHw9Mik7R3QoKSYmKGh8PTQpO3ZhciBsO3ZhciBuPUR0KCk7bD1uLmVuYWJsZUFkdmVydGlzZXJDb25zZW50TW9kZSE9PQp2b2lkIDA/bi5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU/IjEiOiIwIjp2b2lkIDA7bD09PSIxIiYmKGh8PTgpO3RsKCkud2FpdFBlcmlvZFRpbWVkT3V0JiYoaHw9MTYpO3JldHVybiIxIithK2IrZSsiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVotXyJbaF19O3ZhciBjdT17VUE6MSxBVzoyLERDOjMsRzo0LEdGOjUsR1Q6MTIsR1RNOjE0LEhBOjYsTUM6N307CmZ1bmN0aW9uIGR1KGEpe2E9YT09PXZvaWQgMD97fTphO3ZhciBiPUUoNSkuc3BsaXQoIi0iKVswXS50b1VwcGVyQ2FzZSgpLGMsZD17Y3RpZDpFKDUpLERvOkpmKDE1KSxJbzpFKDE0KSxMczpJZig3KT8yOjEsRHQ6YS5wZixjYW5vbmljYWxJZDpFKDYpLG50OihjPUFrKCkpPT1udWxsP3ZvaWQgMDpjLmNhbm9uaWNhbENvbnRhaW5lcklkLEV0OmEuVGc9PT12b2lkIDA/dm9pZCAwOmEuVGc/MTA6MTJ9O2QuY2Fub25pY2FsSWQhPT1hLm1jJiYoZC5tYz1hLm1jKTt2YXIgZT14aygpO2QuVXM9ZT9lLmNhbm9uaWNhbENvbnRhaW5lcklkOnZvaWQgMDtJZig0NSk/KGQuaGk9Y3VbYl0sZC5oaXx8KGQuaGk9MCkpOmQuaGk9RGo/MTM6MTA7SWYoNDcpPyhkLmJrPTAsZC5xcj0yKTpJZig1MCk/ZC5iaz0xOmQuYms9Mzt2YXIgZj1hLGc9ezY6ITF9O0pmKDU0KT09PTI/Z1s3XT0hMDpKZig1NCk9PT0xJiYoZ1syXT0hMCk7aWYoS2Mpe3ZhciBoPUxqKFJqKEtjKSwiaG9zdCIpO2gmJihnWzhdPQpoLm1hdGNoKC9eKHd3d1wuKT9nb29nbGV0YWdtYW5hZ2VyXC5jb20kLyk9PT1udWxsKX12YXIgbDtnWzldPShsPWYuZWYpIT1udWxsP2w6ITE7dmFyIG49RmsoKSxwO2dbMTBdPShwPW49PW51bGw/dm9pZCAwOm4uZnJvbUNvbnRhaW5lckV4ZWN1dGlvbikhPW51bGw/cDohMTtkLnpyPWc7cmV0dXJuIENmKGQsYS5Qbil9Owp2YXIgZnU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9bShldShhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWUsZj1SKGEsZSksZz1RKGEsSC5KLlllKTtNKDU4OSkmJmcmJihlPT09Ri5ELnphfHxlPT09Ri5ELlVhfHxlPT09Ri5ELlBlKSYmdHlwZW9mIGY9PT0ic3RyaW5nIiYmKGY9WnMoZikpO3ZhciBoPW9wKGUsZik7aCYmKCFnfHxlIT09Ri5ELkRkJiZlIT09Ri5ELktkJiZlIT09Ri5ELkVlJiZlIT09Ri5ELkJmfHwoaC52YWx1ZT0iMCIpLE0oNTA0KSYmKGU9PT1GLkQuTWQ/aC5rZXk9ImV2bmlkIjplPT09Ri5ELk5kJiYoaC5rZXk9ImV4Y2lkIikpLGJbaC5rZXldPWgudmFsdWUpfWIuZ3RtPWR1KHttYzpRKGEsSC5KLk5iKSxUZzphLk0uaXNHdG1FdmVudCxlZjpRKGEsSC5KLkNjKX0pO1R0KCkmJihiLmdjcz1iLmdjc3x8VXQoKSk7Yi5nY2Q9Yi5nY2R8fFl0KGEuTSk7YXUoKSYmKGIuZG1hX2Nwcz1adCgpKTtiLmRtYT0kdCgpO3Z0KEV0KCkpJiYKKGIudGNmZD1idSgpKTt2YXIgbD1DcChhKTtsJiYoYi50YWdfZXhwPWwpO2lmKFEoYSxILkouQmspKXtiLnRmdD1TdHJpbmcoTmIoKSk7dmFyIG49cGQoKTtuIT09dm9pZCAwJiYoYi50ZmQ9U3RyaW5nKE1hdGgucm91bmQobikpKX1iLmFwdmU9IjEiO2IuYXB2Zj1uZCgpPyJmIjoibmYiO2ZvLkhbY28uaWEuY2JdIT09Ym8uTWEuVWV8fGZvLktbY28uaWEuY2JdLmlzQ29uc2VudEdyYW50ZWQoKXx8KGIubGltaXRlZF9hZHM9IjEiKTt2YXIgcD1RKGEsSC5KLlhnKTtNKDQ3NCkmJnAhPW51bGwmJnAhPT0iIiYmKGIuX2dzaWQ9cCk7aHQoYSxiLGZ1bmN0aW9uKHEscil7YltxXT1lbmNvZGVVUklDb21wb25lbnQocil9KTtyZXR1cm4gYn07dmFyIGd1PWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5lbmRwb2ludD1hO3RoaXMuZmE9Yzt0aGlzLmphPWQ7dGhpcy5wYXJhbWV0ZXJFbmNvZGluZz1lO3RoaXMuWj1iLnNsaWNlKCl9O2d1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKCl7cmV0dXJuIFhvKHRoaXMuWil9O2d1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiEwfTtndS5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3ZhciBhPU1tW3RoaXMuZW5kcG9pbnRdKHZvaWQgMCk7cmV0dXJuIFNiKGEsImh0dHBzOi8vIik/YS5zdWJzdHJpbmcoOCk6U2IoYSwiaHR0cDovLyIpP2Euc3Vic3RyaW5nKDcpOmF9O3ZhciBodT1mdW5jdGlvbihhLGIpe3RoaXMubWV0aG9kTmFtZT1hO3RoaXMuUj1ifTtodS5wcm90b3R5cGUuc2VuZFJlcXVlc3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKHRoaXMuaXNTdXBwb3J0ZWQoKSlpZigoYz09bnVsbD92b2lkIDA6Yy5ib2R5KT09PXZvaWQgMHx8dGhpcy5IKCkpdHJ5e3RoaXMuSyhhLGIsYyl9Y2F0Y2goZCl7YS5yZChkKX1lbHNlIGEucmQoIlJlcXVlc3QgbWV0aG9kICIrdGhpcy5tZXRob2ROYW1lKyIgZG9lcyBub3Qgc3VwcG9ydCBhIHJlcXVlc3QgYm9keS4iKTtlbHNlIGEucmQoIlJlcXVlc3QgbWV0aG9kICIrdGhpcy5tZXRob2ROYW1lKyIgaXMgbm90IHN1cHBvcnRlZC4iKX07dmFyIGl1PWZ1bmN0aW9uKCl7aHUuY2FsbCh0aGlzLCJJbWFnZVBpeGVsIiwzKX07d2EoaXUsaHUpO2l1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiEwfTtpdS5wcm90b3R5cGUuSD1mdW5jdGlvbigpe3JldHVybiExfTsKaXUucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiLGMpe1pjKGIsZnVuY3Rpb24oKXthLmpmKCl9LGZ1bmN0aW9uKCl7YS5vbkZhaWx1cmUodm9pZCAwKX0sYz09bnVsbD92b2lkIDA6Yy5hZil9O3ZhciBqdT1mdW5jdGlvbigpe2h1LmNhbGwodGhpcywiU2VuZEJlYWNvbiIsMSl9O3dhKGp1LGh1KTtqdS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4ga2QoKX07anUucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07anUucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiLGMpe2pkKGIsYz09bnVsbD92b2lkIDA6Yy5ib2R5KT9hLmpmKCk6YS5yZCh2b2lkIDApfTt2YXIga3U9ZnVuY3Rpb24oKXtodS5jYWxsKHRoaXMsIkZldGNoIiwxKX07d2Eoa3UsaHUpO2t1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiB5YihBLmZldGNoKX07a3UucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Cmt1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjKXtBLmZldGNoKGIsYz09bnVsbD92b2lkIDA6Yy5HYikudGhlbihmdW5jdGlvbihkKXtpZihkLm9rKWEucGUoZCk7ZWxzZSBpZihkLnN0YXR1cz09PTApYS5qZigpO2Vsc2UgYS5vbkZhaWx1cmUoIkZldGNoIGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlICIrZC5zdGF0dXMrIi4iKX0pLmNhdGNoKGZ1bmN0aW9uKGQpe2EucmQoZCl9KX07dmFyIGx1PW5ldyBpdSxtdT1uZXcganUsbnU9bmV3IGt1O3ZhciBvdT1mdW5jdGlvbigpe307b3UucHJvdG90eXBlLks9ZnVuY3Rpb24oKXtyZXR1cm5bXX07CnZhciBwdT1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9bImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXTpiO2d1LmNhbGwodGhpcyxhLGIsMSwhMCwyKX07d2EocHUsZ3UpO3B1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEpe2lmKHRoaXMuWi5sZW5ndGgpe3ZhciBiPVEoYSxILkouRGspO2lmKGIhPT12b2lkIDApcmV0dXJuIGJ9cmV0dXJuIGd1LnByb3RvdHlwZS5LLmNhbGwodGhpcyxhKX07cHUucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1mdShhKTthLnRhcmdldC5kZXN0aW5hdGlvbklkJiYoYy50aWQ9YS50YXJnZXQuZGVzdGluYXRpb25JZCk7Yi5tZXRob2QgaW5zdGFuY2VvZiBrdT9jLmZtdD0iOCI6Yi5tZXRob2QgaW5zdGFuY2VvZiBqdT9jLmZtdD0iNSI6Yi5tZXRob2QgaW5zdGFuY2VvZiBpdSYmKGMuZm10PSIzIik7cmV0dXJuIGN9O3B1LnByb3RvdHlwZS55YT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuTihhLGIpO3JldHVybiI/IitPYmplY3Qua2V5cyhjKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQrCiI9IitjW2RdfSkuam9pbigiJiIpfTtwdS5wcm90b3R5cGUuSD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy55YShhLGIpLGU9e307aWYoYi5tZXRob2QgaW5zdGFuY2VvZiBrdSl7ZS5HYj1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGxkKTtpZih0aGlzLmVuZHBvaW50PT09NTh8fHRoaXMuZW5kcG9pbnQ9PT01NyllLkdiLm1ldGhvZD0iR0VUIjt0aGlzLmVuZHBvaW50IT09NDV8fHF1LksoYSl8fChlLkdiLmNyZWRlbnRpYWxzPSJvbWl0IixkKz0iJmdhcC51Y2ZiPTEiKX1jKGQsZSl9O3ZhciBxdT1uZXcgcHUoNDUpLHJ1PW5ldyBwdSg0NSxbXSksc3U9bmV3IHB1KDQ2LFtdKSx0dT1mdW5jdGlvbigpe3B1LmNhbGwodGhpcyw2OSl9O3dhKHR1LHB1KTt0dS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oYSl7dmFyIGI9TSg0NzQpJiYoISFSKGEsIl9nc2lkIil8fCEhUShhLEguSi5YZykpLGM9UihhLEYuRC5IZCkhPT0iMSImJighIVIoYSwiZ2NsaWQiKXx8CiEhUihhLCJkY2xpZCIpfHwhIVIoYSwiZ2Nsc3JjIil8fCEhUihhLCJhdWlkIikpO3JldHVybiBifHxjfTt0dS5wcm90b3R5cGUuTj1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1KGEpLGQ9bHAoYSxjKXx8e307T2JqZWN0LmtleXMoZCkubGVuZ3RoPjAmJihiLm1ldGhvZCBpbnN0YW5jZW9mIGt1P2QuZm10PSI4IjpiLm1ldGhvZCBpbnN0YW5jZW9mIGp1P2QuZm10PSI1IjpiLm1ldGhvZCBpbnN0YW5jZW9mIGl1JiYoZC5mbXQ9IjMiKSk7cmV0dXJuIGR9O3ZhciB1dT1uZXcgdHUsdnU9ZnVuY3Rpb24oKXtwdS5jYWxsKHRoaXMsNDUpfTt3YSh2dSxwdSk7dnUucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtyZXR1cm4gWGooKSsiL2cvZC9jY20vY29sbGVjdCJ9O3Z1LnByb3RvdHlwZS5OPWZ1bmN0aW9uKGEsYil7dmFyIGM9cHUucHJvdG90eXBlLk4uY2FsbCh0aGlzLGEsYik7Y1siZ2FwLjFwZmIiXT0iMSI7cmV0dXJuIGN9O3ZhciB3dT1mdW5jdGlvbihhKXtwdS5jYWxsKHRoaXMsYSxbImFkX3N0b3JhZ2UiLAoiYWRfdXNlcl9kYXRhIl0pfTt3YSh3dSxwdSk7d3UucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1wdS5wcm90b3R5cGUuTi5jYWxsKHRoaXMsYSxiKTtyZXR1cm4gaHAoYyl9O3ZhciB4dT1uZXcgd3UoNTgpLHl1PW5ldyB3dSg1NyksenU9ZnVuY3Rpb24oKXt9O3dhKHp1LG91KTt6dS5wcm90b3R5cGUuSD1mdW5jdGlvbihhKXt2YXIgYj1xdS5LKGEpLGM9Yj9xdTpzdSxkPVt7ZW5kcG9pbnQ6YyxtZXRob2Q6bmQoKT9udTptdX0se2VuZHBvaW50OmMsbWV0aG9kOmx1fV07Yj9NKDUxNykmJklmKDQ3KSYmZC5wdXNoKHtlbmRwb2ludDpuZXcgdnUsbWV0aG9kOm51fSk6TSg2MDApJiZkLnB1c2goe2VuZHBvaW50OnJ1LG1ldGhvZDpudX0pO3JldHVybiBkfTt6dS5wcm90b3R5cGUuSz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPSEhUShhLEguSi52ZCksZD1SKGEsRi5ELlBkKT09PSIxIixlPVIoYSxGLkQuSGQpPT09IjEiLGY9cXUuSyhhKSxnPWMmJmQmJiFlJiZmO2lmKGcpe3ZhciBoPQpRYygpfHxPYygpP3h1Onl1O2IucHVzaChbe2VuZHBvaW50OmgsbWV0aG9kOm51fSx7ZW5kcG9pbnQ6aCxtZXRob2Q6bHV9XSl9ZiYmKGd8fFEoYSxILkouaGQpKSYmYi5wdXNoKFt7ZW5kcG9pbnQ6dXUsbWV0aG9kOm5kKCk/bnU6bHV9XSk7cmV0dXJuIGJ9O3ZhciBBdT1uZXcgenU7dmFyIFQ9e1c6e0prOjEsbmo6MixGazozLG1sOjQsR2s6NSx5ZDo2LGtsOjcsTXE6OCxxbjo5LEhrOjEwLElrOjExLEZoOjEyLERtOjEzLEFtOjE0LENtOjE1LHptOjE2LEJtOjE3LHltOjE4LFRvOjE5LHhxOjIwLHlxOjIxLGZqOjIyLHVuOjI0LE9tOjI1LFNrOjI2LFRrOjI3LFJrOjI4LFVrOjI5LHJqOjMwLE9rOjMxLFpvOjMyfX07VC5XW1QuVy5Ka109IkFMTE9XX0lOVEVSRVNUX0dST1VQUyI7VC5XW1QuVy5ual09IlNFUlZFUl9DT05UQUlORVJfVVJMIjtULldbVC5XLkZrXT0iQURTX0RBVEFfUkVEQUNUSU9OIjtULldbVC5XLm1sXT0iQ1VTVE9NRVJfTElGRVRJTUVfVkFMVUUiO1QuV1tULlcuR2tdPSJBTExPV19DVVNUT01fU0NSSVBUUyI7VC5XW1QuVy55ZF09IkFOWV9DT09LSUVfUEFSQU1TIjtULldbVC5XLmtsXT0iQ09PS0lFX0VYUElSRVMiO1QuV1tULlcuTXFdPSJMRUdBQ1lfRU5IQU5DRURfQ09OVkVSU0lPTl9KU19WQVJJQUJMRSI7VC5XW1QuVy5xbl09IlJFU1RSSUNURURfREFUQV9QUk9DRVNTSU5HIjsKVC5XW1QuVy5Ia109IkFMTE9XX0RJU1BMQVlfRkVBVFVSRVMiO1QuV1tULlcuSWtdPSJBTExPV19HT09HTEVfU0lHTkFMUyI7VC5XW1QuVy5GaF09IkdFTkVSQVRFRF9UUkFOU0FDVElPTl9JRCI7VC5XW1QuVy5EbV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1VOS05PV04iO1QuV1tULlcuQW1dPSJGTE9PRExJR0hUX0NPVU5USU5HX01FVEhPRF9TVEFOREFSRCI7VC5XW1QuVy5DbV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1VOSVFVRSI7VC5XW1QuVy56bV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1BFUl9TRVNTSU9OIjtULldbVC5XLkJtXT0iRkxPT0RMSUdIVF9DT1VOVElOR19NRVRIT0RfVFJBTlNBQ1RJT05TIjtULldbVC5XLnltXT0iRkxPT0RMSUdIVF9DT1VOVElOR19NRVRIT0RfSVRFTVNfU09MRCI7VC5XW1QuVy5Ub109IkFEU19PR1RfVjFfVVNBR0UiO1QuV1tULlcueHFdPSJGT1JNX0lOVEVSQUNUSU9OX1BFUk1JU1NJT05fREVOSUVEIjsKVC5XW1QuVy55cV09IkZPUk1fU1VCTUlUX1BFUk1JU1NJT05fREVOSUVEIjtULldbVC5XLmZqXT0iTUlDUk9UQVNLX05PVF9TVVBQT1JURUQiO1QuV1tULlcudW5dPSJTRVRfRU5DUllQVEVEX0RBVEFfVE9fQ0FDSEUiO1QuV1tULlcuT21dPSJHRVRfRU5DUllQVEVEX0RBVEFfRlJPTV9DQUNIRSI7VC5XW1QuVy5Ta109IkNPTkZJR19ERVRFQ1RFRF9XSVRIX05PX1BBUkFNIjtULldbVC5XLlRrXT0iQ09ORklHX0RFVEVDVEVEX1dJVEhfUEFSQU0iO1QuV1tULlcuUmtdPSJDT05GSUdfQ09OU0VOVF9TRVRfQkVGT1JFIjtULldbVC5XLlVrXT0iQ09ORklHX1NFVF9VU0VEX0JFRk9SRSI7VC5XW1QuVy5yal09IlNIQURPV19ET01fQVVUT19QSUkiO1QuV1tULlcuT2tdPSJDQ0RfVVNFUl9EQVRBX1dFQl9PTl9DT05GSUciO1QuV1tULlcuWm9dPSJCTEVOREVEX1VTRVJfREFUQSI7dmFyIEJ1PXt9LEN1PShCdVtGLkQudWldPVQuVy5KayxCdVtGLkQuZGRdPVQuVy5uaixCdVtGLkQueWNdPVQuVy5uaixCdVtGLkQubWJdPVQuVy5GayxCdVtGLkQuR2VdPVQuVy5tbCxCdVtGLkQucmldPVQuVy5HayxCdVtGLkQuSmRdPVQuVy55ZCxCdVtGLkQubmJdPVQuVy55ZCxCdVtGLkQuTGJdPVQuVy55ZCxCdVtGLkQuSWRdPVQuVy55ZCxCdVtGLkQudmNdPVQuVy55ZCxCdVtGLkQuVGJdPVQuVy55ZCxCdVtGLkQuQ2JdPVQuVy5rbCxCdVtGLkQuV2JdPVQuVy5xbixCdVtGLkQuaGhdPVQuVy5IayxCdVtGLkQuU2NdPVQuVy5JayxCdSksRHU9e30sRXU9KER1LnVua25vd249VC5XLkRtLER1LnN0YW5kYXJkPVQuVy5BbSxEdS51bmlxdWU9VC5XLkNtLER1LnBlcl9zZXNzaW9uPVQuVy56bSxEdS50cmFuc2FjdGlvbnM9VC5XLkJtLER1Lml0ZW1zX3NvbGQ9VC5XLnltLER1KTt2YXIgRnU9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3NiKCJHVEFHX0VWRU5UX0ZFQVRVUkVfQ0hBTk5FTCIsYik7YyYmKGEuSFtiXT0hMCl9LHZiPW5ldyBmdW5jdGlvbigpe3RoaXMuSD1bXX07ZnVuY3Rpb24gR3UoYSl7RnUodmIsYSwhMSl9ZnVuY3Rpb24gSHUoYSxiKXt2YXIgYz1iPT09dm9pZCAwPyExOmIsZD12YjtjPWM9PT12b2lkIDA/ITE6Yztmb3IodmFyIGU9T2JqZWN0LmtleXMoYSksZj1tKE9iamVjdC5rZXlzKEN1KSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7ZS5pbmNsdWRlcyhoKSYmRnUoZCxDdVtoXSxjKX19O2Z1bmN0aW9uIEl1KGEsYil7YT9hLnRoZW4oYik6Yih2b2lkIDApfWZ1bmN0aW9uIEp1KGEpe3JldHVybiBQcm9taXNlLmFsbFNldHRsZWQoYSkudGhlbihmdW5jdGlvbihiKXtyZXR1cm4gYi5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIGMuc3RhdHVzPT09ImZ1bGZpbGxlZCJ9KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMudmFsdWV9KX0pfWZ1bmN0aW9uIEt1KCl7dmFyIGEsYjtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihjLGQpe2E9YztiPWR9KSxyZXNvbHZlOmEscmVqZWN0OmJ9fTtmdW5jdGlvbiBMdShhLGIsYyxkLGUsZil7dmFyIGc9Yy5zbGljZSgpLGg7ZD09bnVsbHx8KGg9ZC51dik9PW51bGx8fGguY2FsbChkLGEsYixjLGUpO3ZhciBsPUt1KCksbj1sLnByb21pc2UscD1sLnJlc29sdmUscT1bXSxyPWZ1bmN0aW9uKCl7cChxKTt2YXIgdTtkPT1udWxsfHwodT1kLlJzKT09bnVsbHx8dS5jYWxsKGQsYSxiLGMsZSxxKX0sdD1mdW5jdGlvbigpe3ZhciB1PWcuc2hpZnQoKTt1P3UubWV0aG9kLmlzU3VwcG9ydGVkKCk/TXUoYSxiLHUuZW5kcG9pbnQsZCxxLHUubWV0aG9kLGUsZix0LHIpOnQoKTpyKCl9O3QoKTtyZXR1cm4gbn0KZnVuY3Rpb24gTXUoYSxiLGMsZCxlLGYsZyxoLGwsbil7dmFyIHA9Yy5SKGEpLHE9e3RrOmIsZW5kcG9pbnQ6Yyxpc1ByaW1hcnk6ZyxzYjp2b2lkIDAscGs6ZixqdDp7fX0scj0hMSx0PWZ1bmN0aW9uKHosQyl7aWYocilQKDE4Nyk7ZWxzZSBpZihyPSEwLCF1KXt2YXIgRD1DfHx7fSxJPUQuYm9keSxHPUQuR2IsTj1ELmFmO0M9T2JqZWN0LmZyZWV6ZShuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LEk/e2JvZHk6SX06e30sRz97R2I6R306e30sTj97YWY6Tn06e30pKTtpZihJJiYhZi5IKCkpeCgpLGwoKTtlbHNle3ZhciBTPU51KHopLFc9cFswXT09PSIvIj8iIitwK1M6Imh0dHBzOi8vIitwK1M7cS5zYj1XO3EuanQ9Qzt2YXIgZWE7ZD09bnVsbHx8KGVhPWQuU3MpPT1udWxsfHxlYS5jYWxsKGQsYSxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHEpKTt2YXIgamE9e2Rlc3RpbmF0aW9uSWQ6YS50YXJnZXQuZGVzdGluYXRpb25JZCxlbmRwb2ludDpjLmVuZHBvaW50LApldmVudElkOmEuTS5ldmVudElkLHByaW9yaXR5SWQ6YS5NLnByaW9yaXR5SWR9O2YuUj09PXZvaWQgMHx8Yy5mYSE9PTImJihjLmZhIT09MXx8ZS5sZW5ndGgpfHxrbi5yZWdpc3RlcihqYSxmLlIsVyk7dmFyIGZhPWZ1bmN0aW9uKGRhLG1hKXt4KCk7aWYocS5zdGF0dXMhPT12b2lkIDApcmV0dXJuIFAoMTkyKSwhMTtxLnN0YXR1cz1kYTtlLnB1c2gocSk7dmFyIFBhO2Q9PW51bGx8fChQYT1kLnVvKT09bnVsbHx8UGEuY2FsbChkLGEsbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxxKSxtYSk7cmV0dXJuITB9LHNhPXtGbzpqYSxyZDpmdW5jdGlvbigpe2ZhKDIpJiZsKCl9LG9uRmFpbHVyZTpmdW5jdGlvbigpe2ZhKDMpJiZsKCl9LHBlOmZ1bmN0aW9uKGRhKXtmYShkYS5zdGF0dXM9PT0wPzE6ZGEub2s/MDozLGRhKSYmbigpfSxqZjpmdW5jdGlvbigpe2ZhKDEpJiZuKCl9fTtPdShjLGEsVyxTLEkpO2Yuc2VuZFJlcXVlc3Qoc2EsVyxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LAp7fSxJJiZ7Ym9keTpJfSxHJiZ7R2I6R30sTiYme2FmOk59KSl9fX0sdT0hMSx2LHg9ZnVuY3Rpb24oKXt2IT09dm9pZCAwJiYoQS5jbGVhclRpbWVvdXQodiksdj12b2lkIDApfTtNKDU3NCkmJih2PUEuc2V0VGltZW91dChmdW5jdGlvbigpe3Y9dm9pZCAwO3U9ITA7aWYocS5zdGF0dXM9PT12b2lkIDApe3Euc3RhdHVzPTQ7cS5zYj09PXZvaWQgMCYmKHEuc2I9IltmYWlsZWQgdG8gYnVpbGRdICIrcCk7ZS5wdXNoKHEpO3ZhciB6O2Q9PW51bGx8fCh6PWQudW8pPT1udWxsfHx6LmNhbGwoZCxhLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30scSksdm9pZCAwKTtsKCl9fSw1RTMpKTt2YXIgeT17SWM6cCxtZXRob2Q6Zix5djplLGlzUHJpbWFyeTpnLEN0Omh9O3RyeXtjLkgoYSx5LHQpfWNhdGNoKHope3goKSxQKDE4OCksbCgpfX0KZnVuY3Rpb24gT3UoYSxiLGMsZCxlKXtpZihhLmphKXt2YXIgZj1iLnRhcmdldC5kZXN0aW5hdGlvbklkLGc9YS5lbmRwb2ludDtpZihnPT09NDV8fGc9PT00Nnx8Zz09PTY5fHxnPT09NTh8fGc9PT01Nyl7dmFyIGg9L1s/Jl10aWRzPShbXiZdKykvLmV4ZWMoZCk7Zj1oP2RlY29kZVVSSUNvbXBvbmVudChoWzFdKS5zcGxpdCgifiIpOltmXX1NbCh7dGFyZ2V0SWQ6ZixyZXF1ZXN0Om5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30se3VybDpjLHBhcmFtZXRlckVuY29kaW5nOmEucGFyYW1ldGVyRW5jb2RpbmcsZW5kcG9pbnQ6YS5lbmRwb2ludH0sZT97cG9zdEJvZHk6ZX06e30pLHFiOntldmVudElkOmIuTS5ldmVudElkLHByaW9yaXR5SWQ6Yi5NLnByaW9yaXR5SWR9LEZqOntldmVudElkOlEoYixILkoudWYpLHByaW9yaXR5SWQ6UShiLEguSi52Zil9fSl9fQpmdW5jdGlvbiBOdShhKXtyZXR1cm4gYSYmYSE9PSI/Ij9hWzBdIT09Ij8iPyI/Ii5jb25jYXQoYSk6YToiIn07ZnVuY3Rpb24gUHUoYSxiLGMsZCxlKXt2YXIgZjtlPT1udWxsfHwoZj1lLnZ2KT09bnVsbHx8Zi5jYWxsKGUsYSxiKTtpZighYy5sZW5ndGgpe3ZhciBnO2U9PW51bGx8fChnPWUuVHMpPT1udWxsfHxnLmNhbGwoZSxhLGIsW10pO3JldHVybiBQcm9taXNlLnJlc29sdmUoW10pfXZhciBoPVtdLGw9e3RrOmIsbWs6YyxqazpkfTtoLnB1c2goTHUoYSxiLGMsZSwhMCxsKSk7Zm9yKHZhciBuPW0oZCkscD1uLm5leHQoKTshcC5kb25lO3A9bi5uZXh0KCkpaC5wdXNoKEx1KGEsYixwLnZhbHVlLGUsITEsbCkpO3JldHVybiBKdShoKS50aGVuKGZ1bmN0aW9uKHEpe2Zvcih2YXIgcj1bXSx0PW0ocSksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpci5wdXNoLmFwcGx5KHIsdyh1LnZhbHVlKSk7dmFyIHY7ZT09bnVsbHx8KHY9ZS5Ucyk9PW51bGx8fHYuY2FsbChlLGEsYixyKTtyZXR1cm4gcn0pfTtmdW5jdGlvbiBRdShhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkO2I9PW51bGx8fChkPWIud3YpPT1udWxsfHxkLmNhbGwoYixhLGMpO2Zvcih2YXIgZT1bXSxmPW0oYyksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpZS5wdXNoKFJ1KGEsZy52YWx1ZSkpO2Zvcih2YXIgaD1bXSxsPW0oZSksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7aC5wdXNoKFB1KGEscC50ayxwLm1rLHAuamssYikpfUp1KGgpLnRoZW4oZnVuY3Rpb24ocSl7Zm9yKHZhciByPVtdLHQ9bShxKSx1PXQubmV4dCgpOyF1LmRvbmU7dT10Lm5leHQoKSlyLnB1c2guYXBwbHkocix3KHUudmFsdWUpKTt2YXIgdjtiPT1udWxsfHwodj1iLlFzKT09bnVsbHx8di5jYWxsKGIsYSxjLHIpfSl9CmZ1bmN0aW9uIFJ1KGEsYil7dmFyIGM9ZnVuY3Rpb24oZil7cmV0dXJuIGYubWV0aG9kLmlzU3VwcG9ydGVkKCkmJmYuZW5kcG9pbnQuaXNTdXBwb3J0ZWQoYSkmJmYuZW5kcG9pbnQuSyhhKX0sZD0oYi5IKGEpfHxbXSkuZmlsdGVyKGMpLGU9W107ZC5sZW5ndGgmJihlPShiLksoYSl8fFtdKS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuZmlsdGVyKGMpfSkuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmLmxlbmd0aD4wfSkpO3JldHVybnt0azpiLG1rOmQsams6ZX19Owp2YXIgU3U9ZnVuY3Rpb24oYSxiKXtpZihNKDUxNykmJklmKDQ3KSYmYT09PTQ1KXJldHVybiBYaigpKyIvZy9kL2NjbS9jb2xsZWN0PyIrYi5zcGxpdCgiPyIpWzFdKyImZ2FwLjFwZmI9MSJ9LFd1PWZ1bmN0aW9uKCl7dmFyIGE9YWwoMzAsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGEubGVuZ3RoKXtmb3IodmFyIGI9e30sYz1tKGEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlLGY9VHUoZS5rZSwiYXB2YyIpLGc9VHUoZS5rZSwidGZ0IiksaD1UdShlLmtlLCJ0ZmQiKSxsPVR1KGUua2UsInRpZCIpLG49Tm0oZS5lbmRwb2ludCxlLmtlKSxwPWJbbl09YltuXXx8e3hrOltdLFpoOltdfTtwLlpoLnB1c2goZSk7bD8ocC54ay5wdXNoKGwpLHAudWR8fChwLnVkPWwpKTpwLnhrLnB1c2goIiIpO2Y9PT0iMSImJihwLlFuPSEwKTtpZihnfHxoKXAuTm49ITB9YS5sZW5ndGg9MDtmb3IodmFyIHE9bShPYmplY3Qua2V5cyhiKSkscj1xLm5leHQoKSx0PXt9OyFyLmRvbmU7dD0Ke3lrOnZvaWQgMH0scj1xLm5leHQoKSl7dmFyIHU9ci52YWx1ZSx2PWJbdV07dC55az12LnhrO3ZhciB4PXQueWsuZmlsdGVyKGZ1bmN0aW9uKEQpe3JldHVybiBmdW5jdGlvbihJLEcpe3JldHVybiBELnlrLmluZGV4T2YoSSk9PT1HfX0odCkpLmZpbHRlcihmdW5jdGlvbihEKXtyZXR1cm4hIUR9KTtpZihNKDQyNykpe3ZhciB5PVV1KHYseCk7UXUoeSx2b2lkIDAsQXUpfWVsc2V7dmFyIHo9dSsiJmFwdmM9Iisodi5Rbj8iMSI6IjAiKTt4Lmxlbmd0aCYmKHorPSImdGlkcz0iK3guam9pbigifiIpKTt2LnVkJiYoeis9IiZ0aWQ9Iit2LnVkKTtpZih2Lk5uKXt6Kz0iJnRmdD0iK1N0cmluZyhOYigpKTt2YXIgQz1wZCgpO0MhPT12b2lkIDAmJih6Kz0iJnRmZD0iK1N0cmluZyhNYXRoLnJvdW5kKEMpKSl9VnUodi5aaFswXS5ldmVudCx6LHYuWmhbMF0uZW5kcG9pbnQseC5sZW5ndGg/eDpbIiJdKX19fX0sVHU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hW2JdO2lmKGMhPT12b2lkIDApcmV0dXJuIGRlbGV0ZSBhW2JdLApjfSxWdT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmMsZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxmPWZ1bmN0aW9uKGwsbil7dmFyIHA9YitYdShsKTtUbChwLGEsYyxkKTtyZXR1cm4gbihwKX07aWYobmQoKSl7dmFyIGc9ZnVuY3Rpb24oKXt9LGg9U3UoYyxiKTtoIT09dm9pZCAwJiYoZz1mdW5jdGlvbigpe1luKGUsaCtYdSg4KSx2b2lkIDAse1FnOiEwfSl9KTtmKDgsZnVuY3Rpb24obCl7WW4oZSxsLHZvaWQgMCx7UWc6ITB9LGZ1bmN0aW9uKCl7fSxmdW5jdGlvbigpe1pjKGIrWHUoMyksZnVuY3Rpb24oKXt9LGcpfSl9KX1lbHNlIGYoNSxmdW5jdGlvbihsKXtyZXR1cm4gV24oZSxsKX0pfHxaYyhiK1h1KDMpKX0sVXU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLlpoWzBdLGQ9eyJfJmFwdmMiOmEuUW4/IjEiOiIwIn07Yi5sZW5ndGg+MCYmKGRbIl8mdGlkcyJdPQpiLmpvaW4oIn4iKSk7aWYoYS5Obil7ZFsiXyZ0ZnQiXT1TdHJpbmcoTmIoKSk7dmFyIGU9cGQoKTtlIT09dm9pZCAwJiYoZFsiXyZ0ZmQiXT1TdHJpbmcoTWF0aC5yb3VuZChlKSkpfXJldHVybiBZdShjLmV2ZW50LGEudWR8fCIiLGQpfSxZdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxhLnRhcmdldCx7ZGVzdGluYXRpb25JZDpifSksZT1adShhLHt0YXJnZXQ6ZH0pO2J8fFUoZSxGLkQuUWUpO2Zvcih2YXIgZj1tKE9iamVjdC5rZXlzKGMpKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZTtVKGUsaCxjW2hdKX1yZXR1cm4gZX0sWHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgODpjYXNlIDM6Y2FzZSA1OnJldHVybiImZm10PSIrYTtkZWZhdWx0OnJldHVybiIifX0sJHU9ZnVuY3Rpb24oYSxiKXthPVp1KGEpO1YoYSxILkouRGssWG8oZnApKTtUdCgpJiZVKGEsIl8mZ2NzIixVdCgpKTsKVShhLCJfJmdjZCIsWXQoYS5NKSk7dmFyIGM9WG8oZnApPzQ1OjQ2LGQ9ZnVuY3Rpb24oKXt2YXIgZj1iLnRpZDtpZihNKDQyNykpe3ZhciBnPVl1KGEsZixiKTtRdShnLHZvaWQgMCxBdSl9ZWxzZXt2YXIgaD1ObShjLGIpO1Z1KGEsaCxjLFtmXSl9fTtpZih5YihBLnF1ZXVlTWljcm90YXNrKSl7dmFyIGU9YWwoMzAsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGUubGVuZ3RoPT09MCl0cnl7QS5xdWV1ZU1pY3JvdGFzayhXdSl9Y2F0Y2goZil7R3UoVC5XLmZqKTtkKCk7cmV0dXJufWI9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxiKTtlLnB1c2goe2V2ZW50OmEsa2U6YixlbmRwb2ludDpjfSl9ZWxzZSBHdShULlcuZmopLGQoKX07dmFyIFg9e1Y6e01rOiJjYWxsX2NvbnZlcnNpb24iLHpkOiJjY21fY29udmVyc2lvbiIsUWs6ImNvbW1vbl9hdyIseGE6ImNvbnZlcnNpb24iLHdxOiJmbG9vZGxpZ2h0IixZZDoiZ2FfY29udmVyc2lvbiIsWmQ6ImdjcF9yZW1hcmtldGluZyIsS2E6InBhZ2VfdmlldyIsdWI6InJlbWFya2V0aW5nIixPYjoidXNlcl9kYXRhX2xlYWQiLEZiOiJ1c2VyX2RhdGFfd2ViIn19O2Z1bmN0aW9uIGJ2KGEsYil7YiYmR2IoYixmdW5jdGlvbihjLGQpe3R5cGVvZiBkIT09Im9iamVjdCImJmQhPT12b2lkIDAmJihhWyIxcC4iK2NdPVN0cmluZyhkKSl9KX07dmFyIG12PXtOZzoidmFsdWUiLHBiOiJjb252ZXJzaW9uQ291bnQiLE9nOjF9LG52PXtOZzoidGltZW91dHMiLHBiOiJ0aW1lb3V0cyIsT2c6MH0sb3Y9e05nOiJlb3BDb3VudCIscGI6ImVuZE9mUGFnZUNvdW50IixPZzowfSxwdj17Tmc6ImVycm9ycyIscGI6ImVycm9ycyIsT2c6MH0scXY9W212LG52LHB2LG92XTtmdW5jdGlvbiBydihhLGIpe2I9Yj09PXZvaWQgMD8xOmI7aWYoIXN2KGEpKXJldHVybnt9O3ZhciBjPXR2KHF2KSxkPWNbYS5wYl07aWYoZD09PXZvaWQgMHx8ZD09PS0xKXJldHVybiBjO3ZhciBlPXt9LGY9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxjLChlW2EucGJdPWQrYixlKSk7cmV0dXJuIHV2KGYpP2Y6Y30KZnVuY3Rpb24gdHYoYSl7dmFyIGI7YTp7dmFyIGM9bnIoImdjbF9jdHIiKTtpZihjLmVycm9yPT09MCYmYy52YWx1ZSYmdHlwZW9mIGMudmFsdWU9PT0ib2JqZWN0Iil7dmFyIGQ9Yy52YWx1ZTt0cnl7Yj0idmFsdWUiaW4gZCYmdHlwZW9mIGQudmFsdWU9PT0ib2JqZWN0Ij9kLnZhbHVlOnZvaWQgMDticmVhayBhfWNhdGNoKHApe319Yj12b2lkIDB9Zm9yKHZhciBlPWIsZj17fSxnPW0oYSksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciBsPWgudmFsdWU7aWYoZSYmc3YobCkpe3ZhciBuPWVbbC5OZ107bj09PXZvaWQgMHx8TnVtYmVyLmlzTmFOKG4pP2ZbbC5wYl09LTE6ZltsLnBiXT1OdW1iZXIobil9ZWxzZSBmW2wucGJdPS0xfXJldHVybiBmfQpmdW5jdGlvbiB1dihhLGIpe2I9Ynx8e307Zm9yKHZhciBjPU5iKCksZD11cShiLGMsITApLGU9e30sZj1tKHF2KSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZSxsPWFbaC5wYl07bCE9PXZvaWQgMCYmbCE9PS0xJiYoZVtoLk5nXT1sKX1lLmNyZWF0aW9uVGltZU1zPWM7cmV0dXJuIGtyKCJnY2xfY3RyIix7dmFsdWU6ZSxleHBpcmVzOk51bWJlcihkLmV4cGlyZXMpfSk9PT0wPyEwOiExfWZ1bmN0aW9uIHN2KGEpe3JldHVybiBCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSk/IWEuZnR8fFlmKGEuZnQpOiExfWZ1bmN0aW9uIHZ2KGEpe3JldHVybiBCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSk/IWEuQXN8fFlmKGEuQXMpOiExfTtmdW5jdGlvbiB3digpe2lmKHh2KCkpe3ZhciBhPW5yKCJsYXN0X2NvbnZzIik7aWYoYS5lcnJvcj09PTAmJmEudmFsdWUmJnR5cGVvZiBhLnZhbHVlPT09Im9iamVjdCIpe3ZhciBiPWEudmFsdWU7aWYoYi52YWx1ZSYmQXJyYXkuaXNBcnJheShiLnZhbHVlKSl7dmFyIGM9Yi52YWx1ZTtpZighKGMubGVuZ3RoPjEpKXtmb3IodmFyIGQ9W10sZT1tKGMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2lmKHR5cGVvZiBnIT09Im9iamVjdCJ8fGc9PT1udWxsfHx0eXBlb2YgZy5yYW5kb20hPT0ibnVtYmVyInx8dHlwZW9mIGcubGFiZWwhPT0ic3RyaW5nInx8Zy5sYWJlbC5sZW5ndGg+MjAwKXJldHVybjtkLnB1c2goe3JhbmRvbTpnLnJhbmRvbSxsYWJlbDpnLmxhYmVsfSl9cmV0dXJuIGR9fX19fQpmdW5jdGlvbiB5dihhLGIpeyF4digpfHxhLmxlbmd0aD4xfHxhLmxlbmd0aD09PTEmJmFbMF0ubGFiZWwubGVuZ3RoPjIwMHx8KGI9Ynx8e30sa3IoImxhc3RfY29udnMiLHt2YWx1ZTphLGV4cGlyZXM6TnVtYmVyKHVxKGIpLmV4cGlyZXMpfSkpfWZ1bmN0aW9uIHh2KCl7cmV0dXJuIEJsKFsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdKSYmWWYoMTEpfTtmdW5jdGlvbiB6dihhKXt2YXIgYj1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqMjE0NzQ4MzY0Nyk7cmV0dXJuIGE/U3RyaW5nKGJebmcoYSkmMjE0NzQ4MzY0Nyk6U3RyaW5nKGIpfWZ1bmN0aW9uIEF2KGEpe3JldHVyblt6dihhKSxNYXRoLnJvdW5kKE5iKCkvMUUzKV0uam9pbigiLiIpfWZ1bmN0aW9uIEJ2KGEsYixjLGQsZSl7dmFyIGY9cnEoYiksZztyZXR1cm4oZz1ncShhLGYsc3EoYyksZCxlKSk9PW51bGw/dm9pZCAwOmcuQ3J9O3ZhciBDdj1bIjEiXSxEdj17fSxFdj17fTtmdW5jdGlvbiBGdihhKXtyZXR1cm4gRXZbR3YoYSldfWZ1bmN0aW9uIEh2KGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9R3YoYS5wcmVmaXgpO2lmKER2W2NdKUl2KGEpLEp2KGEpO2Vsc2UgaWYoS3YoYyxhLnBhdGgsYS5kb21haW4pKXt2YXIgZD1GdihhLnByZWZpeCl8fHtpZDp2b2lkIDAsa2M6dm9pZCAwfTtiJiZMdihhLGQpO0l2KGEpO0p2KGEpfWVsc2V7dmFyIGU9VGooImF1aWRkYyIpO2lmKGUpc2IoIlRBR0dJTkciLDE3KSxEdltjXT1lO2Vsc2UgaWYoYil7dmFyIGY9R3YoYS5wcmVmaXgpLGc9QXYoKTtNdihmLGcsYSk7S3YoYyxhLnBhdGgsYS5kb21haW4pO0l2KGEsITApO0p2KGEsITApfX19CmZ1bmN0aW9uIEl2KGEsYil7KGI9PT12b2lkIDA/MDpiKSYmc3YobXYpJiZvcigiZ2NsX2N0ciIpO2lmKHZ2KG12KSYmdHYoW212XSlbbXYucGJdPT09LTEpe2Zvcih2YXIgYz17fSxkPShjW212LnBiXT0wLGMpLGU9bShxdiksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7ZyE9PW12JiZ2dihnKSYmKGRbZy5wYl09MCl9dXYoZCxhKX19ZnVuY3Rpb24gSnYoYSxiKXsoYj09PXZvaWQgMD8wOmIpJiZ4digpJiZvcigibGFzdF9jb252cyIpOyFCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSl8fCFZZigxMil8fHd2KCl8fHl2KFtdLGEpfQpmdW5jdGlvbiBMdihhLGIpe3ZhciBjPUd2KGEucHJlZml4KSxkPUR2W2NdO2lmKGQpe3ZhciBlPWQuc3BsaXQoIi4iKTtpZihlLmxlbmd0aD09PTIpe3ZhciBmPU51bWJlcihlWzFdKXx8MDtpZihmKXt2YXIgZz1kO1lmKDE5KSYmYi5maT9nPWQrIi4iKyhiLnNlc3Npb25JZHx8Ii0uLSIpKyIuIisoYi5rYz9iLmtjOk1hdGguZmxvb3IoTmIoKS8xRTMpKSsiLiIrYi5maSsiLiIrKGIuTGM/Yi5MYzpNYXRoLmZsb29yKE5iKCkvMUUzKSk6Yi5zZXNzaW9uSWQmJihnPWQrIi4iK2Iuc2Vzc2lvbklkKyIuIisoYi5rYz9iLmtjOk1hdGguZmxvb3IoTmIoKS8xRTMpKSk7TXYoYyxnLGEsZioxRTMpfX19fWZ1bmN0aW9uIE12KGEsYixjLGQpe3ZhciBlO2U9WyIxIix0cShjLmRvbWFpbixjLnBhdGgpLGJdLmpvaW4oIi4iKTt2YXIgZj11cShjLGQpO2YuTWM9TnYoKTtvcShhLGUsZil9CmZ1bmN0aW9uIEt2KGEsYixjKXt2YXIgZD1CdihhLGIsYyxDdixOdigpKTtpZighZClyZXR1cm4hMTtPdihhLGQpO3JldHVybiEwfWZ1bmN0aW9uIE92KGEsYil7dmFyIGM9Yi5zcGxpdCgiLiIpO2lmKGMubGVuZ3RoPT09MylFdlthXT17c2Vzc2lvbklkOmNbMF0rIi4iK2NbMV0sa2M6TnVtYmVyKGNbMl0pfHwwLExjOjB9O2Vsc2UgaWYoYy5sZW5ndGg+PTImJihEdlthXT1jWzBdKyIuIitjWzFdLGMuc2hpZnQoKSxjLnNoaWZ0KCksYy5sZW5ndGg+PTMpKXt2YXIgZD17c2Vzc2lvbklkOmNbMF09PT0iLSI/dm9pZCAwOmNbMF0rIi4iK2NbMV0sa2M6TnVtYmVyKGNbMl0pfHwwLExjOjB9O2lmKFlmKDE5KSYmYy5sZW5ndGg+PTYpe3ZhciBlPWNbM10rIi4iK2NbNF0sZj1OdW1iZXIoY1s1XSl8fDA7ZSYmZiE9PTAmJihkLmZpPWUsZC5MYz1mKX1FdlthXT1kfX1mdW5jdGlvbiBHdihhKXtyZXR1cm4oYXx8Il9nY2wiKSsiX2F1In0KZnVuY3Rpb24gUHYoYSl7ZnVuY3Rpb24gYigpe0JsKGMpJiZhKCl9dmFyIGM9TnYoKTtIbChmdW5jdGlvbigpe2IoKTtCbChjKXx8SWwoYixjKX0sYyl9ZnVuY3Rpb24gUXYoYSl7dmFyIGI9VXEoITApLGM9R3YoYS5wcmVmaXgpO1B2KGZ1bmN0aW9uKCl7dmFyIGQ9YltjXTtpZihkKXtPdihjLGQpO3ZhciBlPU51bWJlcihEdltjXS5zcGxpdCgiLiIpWzFdKSoxRTM7aWYoZSl7c2IoIlRBR0dJTkciLDE2KTt2YXIgZj11cShhLGUpO2YuTWM9TnYoKTt2YXIgZz1bIjEiLHRxKGEuZG9tYWluLGEucGF0aCksZF0uam9pbigiLiIpO29xKGMsZyxmKX19fSl9ZnVuY3Rpb24gUnYoYSxiLGMsZCxlKXtlPWV8fHt9O3ZhciBmPWZ1bmN0aW9uKCl7dmFyIGc9e30saD1CdihhLGUucGF0aCxlLmRvbWFpbixDdixOdigpKTtoJiYoZ1thXT1oKTtyZXR1cm4gZ307UHYoZnVuY3Rpb24oKXthcihmLGIsYyxkKX0pfQpmdW5jdGlvbiBOdigpe3JldHVyblsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdfTt2YXIgVnY9ImVtYWlsIGVtYWlsX2FkZHJlc3Mgc2hhMjU2X2VtYWlsX2FkZHJlc3MgcGhvbmVfbnVtYmVyIHNoYTI1Nl9waG9uZV9udW1iZXIgZmlyc3RfbmFtZSBsYXN0X25hbWUiLnNwbGl0KCIgIiksV3Y9ImZpcnN0X25hbWUgc2hhMjU2X2ZpcnN0X25hbWUgbGFzdF9uYW1lIHNoYTI1Nl9sYXN0X25hbWUgc3RyZWV0IHNoYTI1Nl9zdHJlZXQgY2l0eSByZWdpb24gY291bnRyeSBwb3N0YWxfY29kZSIuc3BsaXQoIiAiKTtmdW5jdGlvbiBYdihhLGIpe2lmKCFiLl90YWdfbWV0YWRhdGEpe2Zvcih2YXIgYz17fSxkPTAsZT0wO2U8YS5sZW5ndGg7ZSsrKWQrPVl2KGFbZV0sYixjKT8xOjA7ZD4wJiYoYi5fdGFnX21ldGFkYXRhPWMpfX0KZnVuY3Rpb24gWXYoYSxiLGMpe3ZhciBkPWJbYV07aWYoZD09PXZvaWQgMHx8ZD09PW51bGwpcmV0dXJuITE7Y1thXT1BcnJheS5pc0FycmF5KGQpP2QubWFwKGZ1bmN0aW9uKCl7cmV0dXJue21vZGU6ImMifX0pOnttb2RlOiJjIn07cmV0dXJuITB9ZnVuY3Rpb24gWnYoYSl7aWYoTSg1MjMpJiZhKXtYdihWdixhKTtmb3IodmFyIGI9QmIoYS5hZGRyZXNzKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY107ZCYmWHYoV3YsZCl9dmFyIGU9YS5ob21lX2FkZHJlc3M7ZSYmWHYoV3YsZSl9fQpmdW5jdGlvbiAkdihhLGIsYyl7ZnVuY3Rpb24gZChmLGcpe2c9U3RyaW5nKGcpLnN1YnN0cmluZygwLDEwMCk7ZS5wdXNoKCIiK2YrZW5jb2RlVVJJQ29tcG9uZW50KGcpKX1pZighYylyZXR1cm4iIjt2YXIgZT1bXTtkKCJpIixTdHJpbmcoYSkpO2QoImYiLGIpO2MubW9kZSYmZCgibSIsYy5tb2RlKTtjLmlzUHJlSGFzaGVkJiZkKCJwIiwiMSIpO2MucmF3TGVuZ3RoJiZkKCJyIixTdHJpbmcoYy5yYXdMZW5ndGgpKTtjLm5vcm1hbGl6ZWRMZW5ndGgmJmQoIm4iLFN0cmluZyhjLm5vcm1hbGl6ZWRMZW5ndGgpKTtjLmxvY2F0aW9uJiZkKCJsIixjLmxvY2F0aW9uKTtjLnNlbGVjdG9yJiZkKCJzIixjLnNlbGVjdG9yKTtyZXR1cm4gZS5qb2luKCIuIil9O3ZhciBhdz12b2lkIDA7ZnVuY3Rpb24gYncoKXtpZighYXcpe3ZhciBhPW9tKGptLmJhLm9wLG5ldyBNYXApO2F3PW5ldyBvZyhhKX1yZXR1cm4gYXd9Owp2YXIgY3c9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIGE7Zm9yKHZhciBiPXt9LGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWU7ZSE9PSJhZGRyZXNzIiYmZSE9PSJwaG9uZV9udW1iZXIiJiZlIT09InNoYTI1Nl9waG9uZV9udW1iZXIiJiYoYltlXT1hW2VdKX1yZXR1cm4gYn0sZnc9ZnVuY3Rpb24oYSl7dmFyIGI9TSg1MjMpLGM9WyJ0di4xIl0sZD1bInR2ZC4xIl0sZT1kdyhhKTtpZihlKXJldHVybiBjLnB1c2goZSkse2hhc1VwZDohMSxPbzpjLmpvaW4oIn4iKSxZbjpjLmpvaW4oIn4iKSxlbmNyeXB0aW9uS2V5U3RyaW5nOnZvaWQgMCxpaTp7fSxtZXRhZGF0YVBhcmFtOmI/ZC5qb2luKCJ+Iik6dm9pZCAwfTt2YXIgZj17fSxnPTA7dmFyIGg9MCxsPWV3KGEsZnVuY3Rpb24ocSxyLHQpe2grKzt2YXIgdT1xLnZhbHVlLHY7CmlmKHQpe3ZhciB4PXIrIl9fIitnKys7dj0iJHt1c2VyRGF0YS4iK3grInxzaGEyNTZ9IjtmW3hdPXV9ZWxzZSB2PWVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodSkpO3EuaW5kZXghPT12b2lkIDAmJihyKz1xLmluZGV4KTtjLnB1c2gocisiLiIrdik7aWYoYil7dmFyIHk9JHYoaCxyLHEubWV0YWRhdGEpO3kmJmQucHVzaCh5KX19KS5oYXNVcGQsbj1kLmpvaW4oIn4iKTt2YXIgcD1jLmpvaW4oIn4iKTtyZXR1cm57aGFzVXBkOmwsT286cCxpaTp7dXNlckRhdGE6Zn0sWW46InR2LjF+JHsiKyhwKyJ8IisoTSg1NTUpPyJlbmNyeXB0X3dpdGhfbWVtbyI6ImVuY3J5cHQiKSsifSIpLGVuY3J5cHRpb25LZXlTdHJpbmc6RSg0MyksbWV0YWRhdGFQYXJhbTpiP246dm9pZCAwfX0saHc9ZnVuY3Rpb24oYSl7aWYoIShhIT1udWxsJiZPYmplY3Qua2V5cyhhKS5sZW5ndGg+MCkpcmV0dXJuITE7CnZhciBiPWd3KGEpO3JldHVybiBldyhiLGZ1bmN0aW9uKCl7fSkuaGFzVXBkfSxldz1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9mdW5jdGlvbigpe306Yjtmb3IodmFyIGM9ITEsZD0hMSxlPW0oYSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7aWYoZy52YWx1ZSl7dmFyIGg9aXdbZy5uYW1lXTtpZihoKXt2YXIgbD1qdyhnKTtsJiYoYz0hMCk7ZD0hMDtiKGcsaCxsKX19fXJldHVybntoYXNVcGQ6ZCxoYXNVcGRUb0hhc2g6Y319LGp3PWZ1bmN0aW9uKGEpe3ZhciBiPWt3KGEubmFtZSksYz0vXmVcZCskLy50ZXN0KGEudmFsdWUpLGQ7aWYoZD1iJiYhYyl7dmFyIGU9YS52YWx1ZTtkPSEobHcudGVzdChlKXx8eWkudGVzdChlKSl9cmV0dXJuIGR9LGt3PWZ1bmN0aW9uKGEpe3JldHVybiBtdy5pbmRleE9mKGEpIT09LTF9LHN3PWZ1bmN0aW9uKGEsYixjKXtpZih5YihBLlByb21pc2UpKXRyeXt2YXIgZD0hMTt2YXIgZT1ndyhhLGQpLGY9bncoZSkudGhlbihmdW5jdGlvbihoKXt2YXIgbD1oLnliLG49bC5maWx0ZXIoZnVuY3Rpb24ocSl7cmV0dXJuIVNiKHEubmFtZSwicmF3Iil9KSxwPW93KHt5YjpufSk7cmV0dXJue3Jlc3VsdDp7cGFyYW06cC5wYXJhbSxoYXNVcGRUb0hhc2g6cC5oYXNVcGRUb0hhc2gsaGFzVXBkOnAuaGFzVXBkLGhhZEVycm9yOnAuaGFkRXJyb3IsbWV0YWRhdGFQYXJhbTpwLm1ldGFkYXRhUGFyYW19LHliOmx9fSk7cmV0dXJuIGYudGhlbihmdW5jdGlvbihoKXtyZXR1cm4gaC5yZXN1bHR9KX1jYXRjaChoKXt9fSxxdz1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7cmV0dXJuIGJ9LG93PWZ1bmN0aW9uKGEpe3ZhciBiPU0oNTIzKSxjPWEueWIsZD1bInR2LjEiXSxlPVsidHZkLjEiXSxmPWR3KGMpO2lmKGYpcmV0dXJuIGQucHVzaChmKSx7cGFyYW06ZC5qb2luKCJ+IiksaGFzVXBkVG9IYXNoOiExLGhhc1VwZDohMSxoYWRFcnJvcjohMCxtZXRhZGF0YVBhcmFtOmI/ZS5qb2luKCJ+Iik6dm9pZCAwfTt2YXIgZz1jLmZpbHRlcihmdW5jdGlvbihxKXtyZXR1cm4hancocSl9KSxoPTAsbD1ldyhnLGZ1bmN0aW9uKHEscil7aCsrO3ZhciB0PXEudmFsdWUsdT1xLmluZGV4O3UhPT12b2lkIDAmJihyKz11KTtkLnB1c2gocisiLiIrdCk7aWYoYil7dmFyIHY9JHYoaCxyLHEubWV0YWRhdGEpO3YmJmUucHVzaCh2KX19KSxuPWwuaGFzVXBkVG9IYXNoLHA9bC5oYXNVcGQ7cmV0dXJue3BhcmFtOmVuY29kZVVSSUNvbXBvbmVudChkLmpvaW4oIn4iKSksCmhhc1VwZFRvSGFzaDpuLGhhc1VwZDpwLGhhZEVycm9yOiExLG1ldGFkYXRhUGFyYW06Yj9lLmpvaW4oIn4iKTp2b2lkIDB9fSxkdz1mdW5jdGlvbihhKXtpZihhLmxlbmd0aD09PTEmJmFbMF0ubmFtZT09PSJlcnJvcl9jb2RlIilyZXR1cm4gaXcuZXJyb3JfY29kZSsiLiIrYVswXS52YWx1ZX0scHc9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xJiZhWzBdLm5hbWU9PT0iZXJyb3JfY29kZSIpcmV0dXJuITE7Zm9yKHZhciBiPW0oYSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPWMudmFsdWU7aWYoaXdbZC5uYW1lXSYmZC52YWx1ZSlyZXR1cm4hMH1yZXR1cm4hMX0sZ3c9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1bXTtpZihBLmxvY2F0aW9uLnByb3RvY29sIT09Imh0dHBzOiIpcmV0dXJuIGMucHVzaCh7bmFtZToiZXJyb3JfY29kZSIsdmFsdWU6ImUzIixpbmRleDp2b2lkIDB9KSxjO3ZhciBkPWMucHVzaCxlPWQuYXBwbHksZj1bXSwKZz1mLmNvbmNhdCxoLGw9YS5fdGFnX21ldGFkYXRhfHx7fTtoPVtdLmNvbmNhdCh3KHR3KHtuYW1lOiJlbWFpbCIscmF3OmEuZW1haWwsU2E6YS5zaGEyNTZfZW1haWxfYWRkcmVzcyxhYjpsLmVtYWlsLG1kOmwuc2hhMjU2X2VtYWlsX2FkZHJlc3N9LHV3KSksdyh0dyh7bmFtZToicGhvbmVfbnVtYmVyIixyYXc6YS5waG9uZV9udW1iZXIsU2E6YS5zaGEyNTZfcGhvbmVfbnVtYmVyLGFiOmwucGhvbmVfbnVtYmVyLG1kOmwuc2hhMjU2X3Bob25lX251bWJlcn0sdncpKSk7dmFyIG49dyhoKSxwLHE9YS5fdGFnX21ldGFkYXRhfHx7fSxyPWEuaG9tZV9hZGRyZXNzfHx7fSx0PXIuX3RhZ19tZXRhZGF0YXx8e307cD1bXS5jb25jYXQodyh0dyh7bmFtZToiZmlyc3RfbmFtZSIscmF3OmEuZmlyc3RfbmFtZSxTYTphLnNoYTI1Nl9maXJzdF9uYW1lLGFiOnEuZmlyc3RfbmFtZSxtZDpxLnNoYTI1Nl9maXJzdF9uYW1lfSx3dyh4dykpKSx3KHR3KHtuYW1lOiJsYXN0X25hbWUiLHJhdzphLmxhc3RfbmFtZSwKU2E6YS5zaGEyNTZfbGFzdF9uYW1lLGFiOnEubGFzdF9uYW1lLG1kOnEuc2hhMjU2X2xhc3RfbmFtZX0sd3coeHcpKSksdyh0dyh7bmFtZToic3RyZWV0IixyYXc6ci5zdHJlZXQsU2E6ci5zaGEyNTZfc3RyZWV0LGFiOnQuc3RyZWV0LG1kOnQuc2hhMjU2X3N0cmVldH0sd3coeXcpKSksdyh0dyh7bmFtZToiY2l0eSIscmF3OnIuY2l0eSxhYjp0LmNpdHl9LHd3KHl3KSkpLHcodHcoe25hbWU6InBvc3RhbF9jb2RlIixyYXc6ci5wb3N0YWxfY29kZSxhYjp0LnBvc3RhbF9jb2RlfSx3dyh6dykpKSx3KHR3KHtuYW1lOiJyZWdpb24iLHJhdzpyLnJlZ2lvbixhYjp0LnJlZ2lvbn0sd3coeXcpKSksdyh0dyh7bmFtZToiY291bnRyeSIscmF3OnIuY291bnRyeSxhYjp0LmNvdW50cnl9LHd3KHp3KSkpKTtmb3IodmFyIHU9dyhwKSx2PVtdLHg9QmIoYS5hZGRyZXNzfHx7fSkseT0wO3k8eC5sZW5ndGg7eSsrKXtmb3IodmFyIHo9eFt5XSxDPXouX3RhZ19tZXRhZGF0YXx8e30sRD1bXS5jb25jYXQodyh0dyh7bmFtZToiZmlyc3RfbmFtZSIsCnJhdzp6LmZpcnN0X25hbWUsU2E6ei5zaGEyNTZfZmlyc3RfbmFtZSxhYjpDLmZpcnN0X25hbWUsbWQ6Qy5zaGEyNTZfZmlyc3RfbmFtZX0seHcpKSx3KHR3KHtuYW1lOiJsYXN0X25hbWUiLHJhdzp6Lmxhc3RfbmFtZSxTYTp6LnNoYTI1Nl9sYXN0X25hbWUsYWI6Qy5sYXN0X25hbWUsbWQ6Qy5zaGEyNTZfbGFzdF9uYW1lfSx4dykpLHcodHcoe25hbWU6InN0cmVldCIscmF3Onouc3RyZWV0LFNhOnouc2hhMjU2X3N0cmVldCxhYjpDLnN0cmVldCxtZDpDLnNoYTI1Nl9zdHJlZXR9LHl3KSksdyh0dyh7bmFtZToiY2l0eSIscmF3OnouY2l0eSxhYjpDLmNpdHl9LHl3KSksdyh0dyh7bmFtZToicG9zdGFsX2NvZGUiLHJhdzp6LnBvc3RhbF9jb2RlLGFiOkMucG9zdGFsX2NvZGV9LHp3KSksdyh0dyh7bmFtZToicmVnaW9uIixyYXc6ei5yZWdpb24sYWI6Qy5yZWdpb259LHl3KSksdyh0dyh7bmFtZToiY291bnRyeSIscmF3OnouY291bnRyeSxhYjpDLmNvdW50cnl9LHp3KSkpLEk9MDtJPApELmxlbmd0aDtJKyspRFtJXS5pbmRleD15O3YucHVzaC5hcHBseSh2LHcoRCkpfWUuY2FsbChkLGMsZy5jYWxsKGYsbix1LHcodikpKTtpZihiJiZCcCgpKXt2YXIgRz1jLnB1c2gsTj1HLmFwcGx5LFM9W107Uy5wdXNoLmFwcGx5KFMsW10uY29uY2F0KHcoQXcoe25hbWU6InJhd19lbWFpbCIscmF3OmEuZW1haWwsU2E6YS5zaGEyNTZfZW1haWxfYWRkcmVzc30pKSx3KEF3KHtuYW1lOiJyYXdfcGhvbmVfbnVtYmVyIixyYXc6YS5waG9uZV9udW1iZXIsU2E6YS5zaGEyNTZfcGhvbmVfbnVtYmVyfSkpKSk7Zm9yKHZhciBXPUJiKGEuYWRkcmVzc3x8e30pLGVhPTA7ZWE8Vy5sZW5ndGg7ZWErKyl7dmFyIGphPVdbZWFdO1MucHVzaC5hcHBseShTLFtdLmNvbmNhdCh3KEF3KHtuYW1lOiJyYXdfZmlyc3RfbmFtZSIscmF3OmphLmZpcnN0X25hbWUsU2E6amEuc2hhMjU2X2ZpcnN0X25hbWV9LGVhKSksdyhBdyh7bmFtZToicmF3X2xhc3RfbmFtZSIscmF3OmphLmxhc3RfbmFtZSxTYTpqYS5zaGEyNTZfbGFzdF9uYW1lfSwKZWEpKSx3KEF3KHtuYW1lOiJyYXdfc3RyZWV0IixyYXc6amEuc3RyZWV0LFNhOmphLnNoYTI1Nl9zdHJlZXR9LGVhKSkpKX1pZihhLmZpcnN0X25hbWV8fGEuaG9tZV9hZGRyZXNzKXtTLnB1c2guYXBwbHkoUyxbXS5jb25jYXQodyhBdyh7bmFtZToicmF3X2ZpcnN0X25hbWUiLHJhdzphLmZpcnN0X25hbWUsU2E6YS5zaGEyNTZfZmlyc3RfbmFtZX0pKSx3KEF3KHtuYW1lOiJyYXdfbGFzdF9uYW1lIixyYXc6YS5sYXN0X25hbWUsU2E6YS5zaGEyNTZfbGFzdF9uYW1lfSkpKSk7dmFyIGZhPWEuaG9tZV9hZGRyZXNzfHx7fTtTLnB1c2guYXBwbHkoUyx3KEF3KHtuYW1lOiJyYXdfc3RyZWV0IixyYXc6ZmEuc3RyZWV0LFNhOmZhLnNoYTI1Nl9zdHJlZXR9KSkpfU4uY2FsbChHLGMsdyhTKSl9cmV0dXJuIGN9LHd3PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtQKDY0KTtyZXR1cm4gYShiKX19LEF3PWZ1bmN0aW9uKGEsYil7dmFyIGM9W107aWYoYS5TYSlyZXR1cm4gYztmb3IodmFyIGQ9CkJiKGEucmF3KSxlPTA7ZTxkLmxlbmd0aDsrK2Upe3ZhciBmPUJ3KGRbZV0pO2lmKGYmJiF5aS50ZXN0KGYpKWlmKC9eZVxkKyQvLnRlc3QoZikpYy5wdXNoKHtuYW1lOmEubmFtZSx2YWx1ZTpmLGluZGV4OmJ9KTtlbHNle3ZhciBnPWMsaD1nLnB1c2gsbD1hLm5hbWUsbjt2YXIgcD1BO3RyeXtuPUJpKEFycmF5LmZyb20oWmIoZikpLHApfWNhdGNoKHEpe249ImUwIn1oLmNhbGwoZyx7bmFtZTpsLHZhbHVlOm4saW5kZXg6Yn0pfX1yZXR1cm4gY30sdHc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkPU0oNTIzKSxlPWEucmF3LGY9ZD9hLmFiOnZvaWQgMDtDdyhlLCExKTthLlNhJiYoZSYmUCg5MCksZT1hLlNhLGY9ZD9hLm1kOnZvaWQgMCxDdyhlLCEwKSk7Zm9yKHZhciBnPUJiKGUpLGg9QmIoZiksbD0wO2w8Zy5sZW5ndGg7KytsKXt2YXIgbjt2YXIgcD1hLm5hbWUscT1iLHI9aFtsXSx0PUJ3KGdbbF0pO2lmKHQhPT0iIilpZih5aS50ZXN0KHQpKXtyJiYoci5pc1ByZUhhc2hlZD0hMCk7CnZhciB1PXtuYW1lOnAsdmFsdWU6dCxpbmRleDp2b2lkIDB9O3ImJih1Lm1ldGFkYXRhPXIpO249dX1lbHNle3ZhciB2PXEodCkseD17bmFtZTpwLHZhbHVlOnYsaW5kZXg6dm9pZCAwfTtyJiYoeC5tZXRhZGF0YT1yLHYmJihyLnJhd0xlbmd0aD1TdHJpbmcodCkubGVuZ3RoLHIubm9ybWFsaXplZExlbmd0aD12Lmxlbmd0aCkpO249eH1lbHNlIG49dm9pZCAwO3ZhciB5PW47eSYmYy5wdXNoKHkpfXJldHVybiBjfSxDdz1mdW5jdGlvbihhLGIpe2lmKHpiKGEpfHxBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYz1CYihhKSxkPTA7ZDxjLmxlbmd0aDsrK2Qpe3ZhciBlPUJ3KGNbZF0pLGY9eWkudGVzdChlKTtiJiYhZiYmUCg4OSk7IWImJmYmJlAoODgpfX0sRHc9ZnVuY3Rpb24oYSl7dmFyIGI9YT9ndyhhKTpbXTtyZXR1cm4gb3coe3liOmJ9KX0sRXc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEhPW51bGwmJk9iamVjdC5rZXlzKGEpLmxlbmd0aD4wJiZ5YihBLlByb21pc2UpP2d3KGEpLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIGIudmFsdWUmJgprdyhiLm5hbWUpJiYheWkudGVzdChiLnZhbHVlKX0pOiExfSxCdz1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjp6YihhKT9MYihTdHJpbmcoYSkpOiJlMCJ9LHp3PWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoRncsIiIpfSx4dz1mdW5jdGlvbihhKXtyZXR1cm4geXcoYS5yZXBsYWNlKC9ccy9nLCIiKSl9LHl3PWZ1bmN0aW9uKGEpe3JldHVybiBMYihhLnJlcGxhY2UoR3csIiIpLnRvTG93ZXJDYXNlKCkpfSx2dz1mdW5jdGlvbihhKXthPWEucmVwbGFjZSgvW1xzLSgpLy5dL2csIiIpO2EuY2hhckF0KDApIT09IisiJiYoYT0iKyIrYSk7cmV0dXJuKE0oNTk3KT9IdzpJdykudGVzdChhKT9hOiJlMCJ9LHV3PWZ1bmN0aW9uKGEpe3ZhciBiPWEudG9Mb3dlckNhc2UoKS5zcGxpdCgiQCIpO2lmKGIubGVuZ3RoPT09Mil7dmFyIGM9YlswXTsvXihnbWFpbHxnb29nbGVtYWlsKVwuLy50ZXN0KGJbMV0pJiYoYz1jLnJlcGxhY2UoL1wuL2csIiIpKTtjPWMrIkAiK2JbMV07aWYoSncudGVzdChjKSlyZXR1cm4gY31yZXR1cm4iZTAifSwKS3c9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmZvckVhY2goZnVuY3Rpb24oYil7Yi52YWx1ZSYma3coYi5uYW1lKSYmKGIudmFsdWU9RGkoYi52YWx1ZSkpfSkse3liOmF9fWNhdGNoKGIpe3JldHVybnt5YjpbXX19fSxudz1mdW5jdGlvbihhKXtyZXR1cm4gYS5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiLnZhbHVlJiZrdyhiLm5hbWUpfSk/eWIoQS5Qcm9taXNlKT9Qcm9taXNlLmFsbChhLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYi52YWx1ZSYma3coYi5uYW1lKT9BaShiLnZhbHVlKS50aGVuKGZ1bmN0aW9uKGMpe2IudmFsdWU9Y30pOlByb21pc2UucmVzb2x2ZSgpfSkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm57eWI6YX19KS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt5YjpbXX19KTp7dGhlbjpmdW5jdGlvbihiKXtiKHt5YjpbXX0pfX06UHJvbWlzZS5yZXNvbHZlKHt5YjphfSl9LEd3PS9bMC05YH4hQCMkJV4mKigpX1wtKz06Ozw+LC4/fC9cXFtcXV0vZyxKdz0vXlxTK0BcUytcLlxTKyQvLApJdz0vXlwrXGR7MTAsMTV9JC8sSHc9L15cK1xkezcsMTV9JC8sRnc9L1sufl0vZyxsdz0vXlswLTlBLVphLXpfLV17NDN9JC8sTHc9WyJyZW0iLCJycG4iLCJyZm4iLCJybG4iLCJyc2EiXSxNdz17fSxpdz0oTXcuZW1haWw9ImVtIixNdy5waG9uZV9udW1iZXI9InBuIixNdy5maXJzdF9uYW1lPSJmbiIsTXcubGFzdF9uYW1lPSJsbiIsTXcuc3RyZWV0PSJzYSIsTXcuY2l0eT0iY3QiLE13LnJlZ2lvbj0icmciLE13LmNvdW50cnk9ImNvIixNdy5wb3N0YWxfY29kZT0icGMiLE13LmVycm9yX2NvZGU9ImVjIixNdy5yYXdfZW1haWw9InJlbSIsTXcucmF3X3Bob25lX251bWJlcj0icnBuIixNdy5yYXdfZmlyc3RfbmFtZT0icmZuIixNdy5yYXdfbGFzdF9uYW1lPSJybG4iLE13LnJhd19zdHJlZXQ9InJzYSIsTXcpO3ZhciBtdz1PYmplY3QuZnJlZXplKFsiZW1haWwiLAoicGhvbmVfbnVtYmVyIiwiZmlyc3RfbmFtZSIsImxhc3RfbmFtZSIsInN0cmVldCJdKTt2YXIgbXg9T2JqZWN0LmZyZWV6ZSh7YXR0cmlidXRpb25zcmM6IiJ9KSxueD1PYmplY3QuZnJlZXplKHtldmVudFNvdXJjZUVsaWdpYmxlOiExLHRyaWdnZXJFbGlnaWJsZTohMH0pO2Z1bmN0aW9uIG94KCl7dmFyIGE9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlO3JldHVybiBhJiZ5YihhLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKX07dmFyIHB4PU9iamVjdC5mcmVlemUoe2NhY2hlOiJuby1zdG9yZSIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLG1ldGhvZDoiR0VUIixrZWVwYWxpdmU6ITAscmVkaXJlY3Q6ImZvbGxvdyJ9KTsKZnVuY3Rpb24gcXgoYSxiLGMsZCxlLGYpe2lmKCF5YihBLmZldGNoKSlyZXR1cm4gZj09bnVsbHx8Zih2b2lkIDAsdm9pZCAwKSwhMTt2YXIgZz1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHB4KTtiJiYoZy5ib2R5PWIsZy5tZXRob2Q9IlBPU1QiKTtuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LGcsZCk7QS5mZXRjaChhLGcpLnRoZW4oZnVuY3Rpb24oaCl7aWYoaC5vayl7aWYoaC5ib2R5KXt2YXIgbD1oLmJvZHkuZ2V0UmVhZGVyKCksbj1uZXcgVGV4dERlY29kZXI7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHApe2Z1bmN0aW9uIHEoKXtsLnJlYWQoKS50aGVuKGZ1bmN0aW9uKHIpe3ZhciB0O3Q9ci5kb25lO3ZhciB1PW4uZGVjb2RlKHIudmFsdWUse3N0cmVhbTohdH0pO3U9Yy5SK3U7Zm9yKHZhciB2PXUuaW5kZXhPZigiXG5cbiIpO3YhPT0tMTspe3ZhciB4PVpnLHk7YTp7dmFyIHo9bSh1LnN1YnN0cmluZygwLHYpLnNwbGl0KCJcbiIpKSxDPQp6Lm5leHQoKS52YWx1ZSxEPXoubmV4dCgpLnZhbHVlO2lmKFNiKEMsImV2ZW50OiBtZXNzYWdlIikmJlNiKEQsImRhdGE6ICIpKXt2YXIgST1ELnN1YnN0cmluZyg2KTt0cnl7eT1KU09OLnBhcnNlKEkpO2JyZWFrIGF9Y2F0Y2goRyl7fX15PXZvaWQgMH14KGMseSk7dT11LnN1YnN0cmluZyh2KzIpO3Y9dS5pbmRleE9mKCJcblxuIil9Yy5SPXU7dD8oZT09bnVsbHx8ZShoKSxwKCkpOnEoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZT09bnVsbHx8ZShoKTtwKCl9KX1xKCl9KX1lPT1udWxsfHxlKGgpfWVsc2UgZj09bnVsbHx8ZihoLHZvaWQgMCl9KS5jYXRjaChmdW5jdGlvbihoKXtmPT1udWxsfHxmKHZvaWQgMCxoKX0pO3JldHVybiEwfTt2YXIgcng9ZnVuY3Rpb24oYSl7aHUuY2FsbCh0aGlzLCJGZXRjaFJpY2hSZXNwb25zZSIsMSk7dGhpcy5OPWF9O3dhKHJ4LGh1KTtyeC5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4geWIoQS5mZXRjaCl9O3J4LnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7cmV0dXJuITB9O3J4LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjKXtxeChiLGM9PW51bGw/dm9pZCAwOmMuYm9keSx0aGlzLk4sYz09bnVsbD92b2lkIDA6Yy5HYixhLnBlLGZ1bmN0aW9uKGQsZSl7YS5vbkZhaWx1cmUoZSl9KX07dmFyIEN4PWZ1bmN0aW9uKCl7WWcuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt3YShDeCxZZyk7Q3gucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiKXtaYyhhLHZvaWQgMCwkZyh0aGlzLGIpLGIuYXR0cmlidXRpb25fcmVwb3J0aW5nJiZveCgpP214Ont9KX07Q3gucHJvdG90eXBlLkg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmF0dHJpYnV0aW9uX3JlcG9ydGluZyYmb3goKT97YXR0cmlidXRpb25SZXBvcnRpbmc6bnh9Ont9LGQ9JGcodGhpcyxiKTtiLnByb2Nlc3NfcmVzcG9uc2U/cXgoYSx2b2lkIDAsdGhpcyxjLHZvaWQgMCxkKTptZChhLHZvaWQgMCxjLHZvaWQgMCxkKX07dmFyIFF4PWZ1bmN0aW9uKGEsYil7dGhpcy5IPWE7dGhpcy50aW1lb3V0TXM9Yjt0aGlzLlJiPXZvaWQgMH0sUng9ZnVuY3Rpb24oYSl7YS5SYnx8KGEuUmI9c2V0VGltZW91dChmdW5jdGlvbigpe2EuSCgpO2EuUmI9dm9pZCAwfSxhLnRpbWVvdXRNcykpfSxUbj1mdW5jdGlvbihhKXthLlJiJiYoY2xlYXJUaW1lb3V0KGEuUmIpLGEuUmI9dm9pZCAwKX07dmFyIFN4PWZ1bmN0aW9uKCl7dmFyIGE9TmYoNjYsMCk7dGhpcy5LPVtdO3RoaXMuUj1hO3RoaXMuSD1ZYSgpfSxVeD1mdW5jdGlvbihhKXt2YXIgYj1UeDtiLksucHVzaChhKTtiLk58fChiLk49ZnVuY3Rpb24oKXtmb3IodmFyIGM9bShiLkspLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlO3RyeXtlKCl9Y2F0Y2gobCl7fX1mb3IodmFyIGY9bShiLkgudmFsdWVzKCkpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKXt2YXIgaD12b2lkIDA7KGg9Zy52YWx1ZS53ZSk9PW51bGx8fFRuKGgpfWIuSC5jbGVhcigpfSwkYyhBLCJwYWdlaGlkZSIsYi5OKSl9LFZ4PWZ1bmN0aW9uKGEpe3ZhciBiPWEubWF0Y2goTW4pWzNdfHxudWxsLGM9KGI/ZGVjb2RlVVJJKGIpOmIpfHwiIixkPVBuKGEsImxhYmVsIil8fCIiLGU9UG4oYSwicmFuZG9tIil8fCIiO3JldHVybiBjKyI6IitMbihkKSsiOiIrTG4oZSl9LFd4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1UeCwKZT1WeChhKTtpZighKGQuSC5oYXMoZSl8fGQuSC5zaXplPj1kLlIpKXt2YXIgZj17fTtiJiZiPjAmJmMmJihmLndlPW5ldyBReChjLGIpKTtkLkguc2V0KGUsZik7dmFyIGc7KGc9Zi53ZSk9PW51bGx8fFJ4KGcpfX0sVW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1WeChiKSxkLGU7KGQ9YS5ILmdldChjKSk9PW51bGx8fChlPWQud2UpPT1udWxsfHxUbihlKTthLkguZGVsZXRlKGMpfTtTeC5wcm90b3R5cGUuZ2V0U2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkguc2l6ZX07dmFyIGRnO2Z1bmN0aW9uIGh5KGEsYil7dmFyIGM7KGM9ZGcpPT1udWxsfHwkZihjLkgsYSxiKX07dmFyIGl5PUFhKFsiLyJdKSxqeT1mdW5jdGlvbihhKXt0aGlzLkg9YTt0aGlzLmZhaWx1cmVUeXBlPXZvaWQgMH07ankucHJvdG90eXBlLmlvPWZ1bmN0aW9uKGEsYixjKXt0cnl7dmFyIGQ9dGhpcy5ILmFjdGl2ZTtkPyhkLnBvc3RNZXNzYWdlKHt0eXBlOjEsY29tbWFuZDphfSksYih7ZGF0YToiIn0pKTpjKHtmYWlsdXJlVHlwZToxMyxkYXRhOiIifSl9Y2F0Y2goZSl7Yyh7ZmFpbHVyZVR5cGU6MTEsZGF0YTplLm1lc3NhZ2V9KX19O3ZhciBreT1mdW5jdGlvbihhLGIpe3RoaXMuZmFpbHVyZVR5cGU9YTt0aGlzLkg9Yn07a3kucHJvdG90eXBlLmlvPWZ1bmN0aW9uKGEsYixjKXtjKHtmYWlsdXJlVHlwZTp0aGlzLmZhaWx1cmVUeXBlLGRhdGE6ImYiK3RoaXMuZmFpbHVyZVR5cGUrKCJ0IisoKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5IKSl9KX07CnZhciBueT1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3RoaXMuaW5pdFRpbWU9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dGhpcy5IPW5ldyBreSgxNSx0aGlzLmluaXRUaW1lKTt2YXIgYz1uZXcgUHJvbWlzZShmdW5jdGlvbihlKXtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKCl9LDIwKX0pLGQ9bHkoYSkudGhlbihmdW5jdGlvbihlKXtiLkg9bmV3IGp5KGUpO215KGIsZSl9KS5jYXRjaChmdW5jdGlvbigpe2IuSD1uZXcga3koNCxiLmluaXRUaW1lKX0pO3RoaXMuSz1Qcm9taXNlLnJhY2UoW2MsZF0pfSxteT1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGQpe2QmJmQuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGVjaGFuZ2UiLGZ1bmN0aW9uKCl7aWYoZC5zdGF0ZT09PSJyZWR1bmRhbnQiKXt2YXIgZT1iLmFjdGl2ZTtlJiZlLnN0YXRlIT09InJlZHVuZGFudCJ8fChhLkg9bmV3IGt5KDEwLGEuaW5pdFRpbWUpKX19KX07YyhiLmFjdGl2ZSk7YyhiLndhaXRpbmcpO2MoYi5pbnN0YWxsaW5nKTsKYi5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVmb3VuZCIsZnVuY3Rpb24oKXtjKGIuaW5zdGFsbGluZyl9KX07bnkucHJvdG90eXBlLmRlbGVnYXRlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzO3RoaXMuSy50aGVuKGZ1bmN0aW9uKCl7ZC5ILmlvKGEsYixjKX0pfTtueS5wcm90b3R5cGUuZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gMn07CnZhciBseT1mdW5jdGlvbihhKXt2YXIgYixjPUxmKDExKTtjPUxmKDEwKTtiPWM7dmFyIGQ9e3Njb3BlOihUYihhLmhyZWYsIi8iKT9hLmhyZWYuc2xpY2UoMCwtMSk6YS5ocmVmKSsiL18vc2VydmljZV93b3JrZXIifTtiJiYoZC51cGRhdGVWaWFDYWNoZT0iYWxsIik7dmFyIGUsZj1veShhLGIpLGc9bmV3IE1hcChbWyJwYXRoIixhLnBhdGhuYW1lXV0pLGg9SnAoa2MoZikudG9TdHJpbmcoKSk7ZT1McChoLnprLGgucGFyYW1zLGguZnJhZ21lbnQsZyk7dmFyIGw9SWMoKSxuPWtjKGUpO3RyeXtyZXR1cm4gbC5yZWdpc3RlcihuLGQpfWNhdGNoKHApe3RyeXtyZXR1cm4gbC5yZWdpc3RlcihuLnRvU3RyaW5nKCksZCl9Y2F0Y2gocSl7cmV0dXJuIFByb21pc2UucmVqZWN0KHEpfX19OwpmdW5jdGlvbiBveShhLGIpe2Zvcih2YXIgYz1LcChpeSksZD1hLnBhdGhuYW1lLnNwbGl0KCIvIikuZmlsdGVyKGZ1bmN0aW9uKGgpe3JldHVybiBoLmxlbmd0aD4wfSksZT1bXS5jb25jYXQodyhkKSxbIl8iLCJzZXJ2aWNlX3dvcmtlciIsYiwic3cuanMiXSksZj1tKGUpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWM9TXAoYyxnLnZhbHVlKTtyZXR1cm4gY307ZnVuY3Rpb24gcHkoYSl7dmFyIGI9bm0oam0uYmEuT2gpLGM9Yj09bnVsbD92b2lkIDA6YlthXTtjfHxhIT09ImxpdGUifHwoYz1iPT1udWxsP3ZvaWQgMDpiLmZ1bGwpO3JldHVybiBjfXZhciBxeT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cHkoImZ1bGwiKTtkP2QuZGVsZWdhdGUoYSxiLGMpOmMoe2ZhaWx1cmVUeXBlOjE2fSl9O2Z1bmN0aW9uIHJ5KGEsYixjLGQsZSl7cXkoe2NvbW1hbmRUeXBlOjAscGFyYW1zOnt1cmw6YSxtZXRob2Q6MSx0ZW1wbGF0ZXM6Yixib2R5OiIiLHByb2Nlc3NSZXNwb25zZTohMSxlbmNyeXB0aW9uS2V5U3RyaW5nOmUsc29SZWZlcnJlcjpBLmxvY2F0aW9uLmhyZWZ9fSxjLGZ1bmN0aW9uKGYpe2QoZi5mYWlsdXJlVHlwZSxmLmRhdGEpfSl9O3ZhciBEeT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPTA7dGhpcy5LPSExO00oNDYyKSYmVW0oImZzIixmdW5jdGlvbigpe3JldHVybiBhLkg+MCYmYS5IPDU/U3RyaW5nKGEuSCk6dm9pZCAwfSwhMSl9LEV5O2Z1bmN0aW9uIEZ5KGEsYil7RXl8fChFeT1uZXcgRHkpO3ZhciBjPUV5O00oNDYyKSYmZm4uSyYmKGI9PT0iZ3RtLmZvcm1TdWJtaXQifHxiPT09ImZvcm1fc3VibWl0IiYmSWYoNDUpKSYmKGE9PT0xfHxjLkspJiYoYy5LPSEwLGMuSD1hLGEhPT01P1ZtKCJmcyIpOlFtLkguZnM9ITEpfTt2YXIgR3k9ZnVuY3Rpb24oYSl7aWYoUShhLEguSi5kYSk9PT1YLlYuS2Epe3ZhciBiPWZ1KGEpO2lmKCFNKDQyNykmJihqcChhLGIpfHxRKGEsSC5KLmhkKSkmJlhvKGZwKSl7dmFyIGM9bHAoYSxiKTtpZihjKXt2YXIgZD1ObSg2OSxjKTtUbChkLGEsNjkpO1luKHtkZXN0aW5hdGlvbklkOmEudGFyZ2V0LmRlc3RpbmF0aW9uSWQsZW5kcG9pbnQ6NjksZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxkKX19dmFyIGU9eWIoYS5NLm9uU3VjY2Vzcyk/YS5NLm9uU3VjY2Vzczp4YjskdShhLGIpO2UoKX19O3ZhciBIeT17WDp7V3E6MCxFazoxLFpnOjIsWGs6MyxtaTo0LFZrOjUsV2s6NixZazo3LG5pOjgsdG06OSxzbToxMCxUaToxMSx2bToxMixCaDoxMyxFbToxNCxpajoxNSxTcToxNixqZDoxNyx1ajoxOCx2ajoxOSx3ajoyMCxDbjoyMSx4ajoyMn19O0h5LlhbSHkuWC5XcV09IlJFU0VSVkVEX1pFUk8iO0h5LlhbSHkuWC5Fa109IkFEU19DT05WRVJTSU9OX0hJVCI7SHkuWFtIeS5YLlpnXT0iQ09OVEFJTkVSX0VYRUNVVEVfU1RBUlQiO0h5LlhbSHkuWC5Ya109IkNPTlRBSU5FUl9TRVRVUF9FTkQiO0h5LlhbSHkuWC5taV09IkNPTlRBSU5FUl9TRVRVUF9TVEFSVCI7SHkuWFtIeS5YLlZrXT0iQ09OVEFJTkVSX0JMT0NLSU5HX0VORCI7SHkuWFtIeS5YLldrXT0iQ09OVEFJTkVSX0VYRUNVVEVfRU5EIjtIeS5YW0h5LlguWWtdPSJDT05UQUlORVJfWUlFTERfRU5EIjtIeS5YW0h5LlgubmldPSJDT05UQUlORVJfWUlFTERfU1RBUlQiO0h5LlhbSHkuWC50bV09IkVWRU5UX0VYRUNVVEVfRU5EIjsKSHkuWFtIeS5YLnNtXT0iRVZFTlRfRVZBTFVBVElPTl9FTkQiO0h5LlhbSHkuWC5UaV09IkVWRU5UX0VWQUxVQVRJT05fU1RBUlQiO0h5LlhbSHkuWC52bV09IkVWRU5UX1NFVFVQX0VORCI7SHkuWFtIeS5YLkJoXT0iRVZFTlRfU0VUVVBfU1RBUlQiO0h5LlhbSHkuWC5FbV09IkdBNF9DT05WRVJTSU9OX0hJVCI7SHkuWFtIeS5YLmlqXT0iUEFHRV9MT0FEIjtIeS5YW0h5LlguU3FdPSJQQUdFVklFVyI7SHkuWFtIeS5YLmpkXT0iU05JUFBFVF9MT0FEIjtIeS5YW0h5LlgudWpdPSJUQUdfQ0FMTEJBQ0tfRVJST1IiO0h5LlhbSHkuWC52al09IlRBR19DQUxMQkFDS19GQUlMVVJFIjtIeS5YW0h5Llgud2pdPSJUQUdfQ0FMTEJBQ0tfU1VDQ0VTUyI7SHkuWFtIeS5YLkNuXT0iVEFHX0VYRUNVVEVfRU5EIjtIeS5YW0h5LlgueGpdPSJUQUdfRVhFQ1VURV9TVEFSVCI7dmFyIEl5PXt9O0l5Llg9SHkuWDt2YXIgSnk9e1J1OiJMIixYcToiUyIsa3Y6IlkiLFJ0OiJCIixudToiRSIsTnU6IkkiLGZ2OiJUQyIsdnU6IkhUQyIsb3U6IkYiLE11OiJDIn0sS3k9e1hxOiJTIixsdToiViIsYXU6IkUiLGR2OiJ0YWcifSxMeT17fSxNeT0oTHlbSXkuWC52al09IjYiLEx5W0l5Llgud2pdPSI1IixMeVtJeS5YLnVqXT0iNyIsTHkpO2Z1bmN0aW9uIE55KGEpe3ZhciBiPUUoNSksYz1OdW1iZXIoYS5ldmVudElkKSxkPU51bWJlcihhLnRhZ0lkKTtyZXR1cm4oU2IoYiwiR1RNLSIpP2I6IkdUTS0iK2IpKyI6IisoQWIoYyk/YysiOiI6IiIpKyhBYihkKT9kKyI6IjoiIikrYS5zdGFnZX07ZnVuY3Rpb24gT3koKXt2YXIgYT1yZCgpO3JldHVybiEhKGEmJmEubWFyayBpbnN0YW5jZW9mIEZ1bmN0aW9uJiZhLm1lYXN1cmUgaW5zdGFuY2VvZiBGdW5jdGlvbiYmYS5jbGVhck1lYXN1cmVzIGluc3RhbmNlb2YgRnVuY3Rpb24mJmEuY2xlYXJNYXJrcyBpbnN0YW5jZW9mIEZ1bmN0aW9uKX07dmFyIFB5PWZ1bmN0aW9uKCl7dGhpcy5IPXt9fSxReTtmdW5jdGlvbiBSeSgpe1F5fHwoUXk9bmV3IFB5KTtyZXR1cm4gUXl9ZnVuY3Rpb24gU3koYSl7dmFyIGI9UnkoKSxjPU55KGEpO3JldHVybiBiLkhbY119ZnVuY3Rpb24gVHkoYSxiKXt2YXIgYzthOnt2YXIgZD1SeSgpO2lmKE95KCkpe3ZhciBlPU55KGEpLGYsZztpZihmPShnPXJkKCkpPT1udWxsP3ZvaWQgMDpnLm1hcmsoZSxiKSl7Yz1kLkhbZV09ZjticmVhayBhfX1jPXZvaWQgMH1yZXR1cm4gY307ZnVuY3Rpb24gVXkoYSxiKXtpZihPeSgpKXthLmVudHJ5PU55KGEpO3ZhciBjPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYSk7Yy5zdGFnZT1iO2RlbGV0ZSBjLnNlbnQ7dmFyIGQ9U3koYj09PUl5LlguamQ/e3N0YWdlOkl5LlguamR9OmMpLGU9U3koYSk7aWYoZCYmZSYmIShkLnN0YXJ0VGltZT5lLnN0YXJ0VGltZSkpe2Muc3RhZ2U9YisiOiIrYS5zdGFnZTt2YXIgZj1OeShjKSxnPXtzdGFydDpkLm5hbWUsZW5kOmUubmFtZX0saCxsO3JldHVybihsPShoPXJkKCkpPT1udWxsP3ZvaWQgMDpoLm1lYXN1cmUoZixnKSk9PW51bGw/dm9pZCAwOmwuZHVyYXRpb259fX07dmFyIFd5PWZ1bmN0aW9uKCl7dmFyIGE9NTtWeS5Sbz4wJiYoYT1WeS5Sbyk7dGhpcy5LPWE7dGhpcy5IPTA7dGhpcy5OPVtdfSxYeT1mdW5jdGlvbihhKXtyZXR1cm4gYS5IPGEuSz8hMTpOYigpLWEuTlthLkglYS5LXTwxRTN9LFl5PWZ1bmN0aW9uKGEpe3ZhciBiPWEuSCsrJWEuSzthLk5bYl09TmIoKX07dmFyIFZ5PXtSbzpOZigzLDApfSwkeT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy55YT1bXTt0aGlzLkg9dm9pZCAwO3RoaXMuWj17fTt0aGlzLks9dm9pZCAwO3RoaXMuamE9bmV3IFd5O3RoaXMuTGE9MUUzO3RoaXMuUj10aGlzLk49ITE7dGhpcy5mYT1EYigpO1p5KHRoaXMsZnVuY3Rpb24oKXt2YXIgYj1bWyJ2IiwiMyJdLFsidCIsInQiXSxbInBpZCIsU3RyaW5nKGEuZmEpXV0sYz1kdSgpO2MmJmIucHVzaChbImd0bSIsY10pO3JldHVybiBifSk7Y2QoZnVuY3Rpb24oKXthLmZhPURiKCl9LDg2NEU1KX0sWnk9ZnVuY3Rpb24oYSxiKXthLnlhLnB1c2goYil9LGF6PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkg7aWYoZD09PXZvaWQgMClpZihjKWQ9cmooKTtlbHNlIHJldHVybiIiO2Zvcih2YXIgZT1bZmsoImh0dHBzOi8vIitFKDIxKSksIi9hIiwiP2lkPSIrRSg1KV0sZj1tKGEueWEpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWZvcih2YXIgaD1nLnZhbHVlLGw9Cmgoe2V2ZW50SWQ6ZCx0ZjohIWJ9KSxuPW0obCkscD1uLm5leHQoKTshcC5kb25lO3A9bi5uZXh0KCkpe3ZhciBxPW0ocC52YWx1ZSkscj1xLm5leHQoKS52YWx1ZSx0PXEubmV4dCgpLnZhbHVlO2UucHVzaCgiJiIrcisiPSIrdCl9ZS5wdXNoKCImej0wIik7cmV0dXJuIGUuam9pbigiIil9LGJ6PWZ1bmN0aW9uKGEpe2lmKCRrKDI2KSYmKGEuSyYmKEEuY2xlYXJUaW1lb3V0KGEuSyksYS5LPXZvaWQgMCksYS5IIT09dm9pZCAwJiZhLlIpKXt2YXIgYj1sbyhjby5pYS5aYik7aWYoZ28oYikpYS5OfHwoYS5OPSEwLGlvKGIsZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCBieihhKX0pKTtlbHNlIGlmKGEuWlthLkhdfHxYeShhLmphKXx8YS5MYS0tPD0wKVAoMSksYS5aW2EuSF09ITA7ZWxzZXtZeShhLmphKTt2YXIgYz1heihhLCEwKTtYbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6YS5IfSxjKTthLlI9ITE7YS5OPSExfX19LGN6PWZ1bmN0aW9uKGEpe2EuS3x8KGEuSz0KQS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgYnooYSl9LDUwMCkpfSxlej1mdW5jdGlvbihhKXt2YXIgYj1kejtiLlpbYV18fChhIT09Yi5IJiYoYnooYiksYi5IPWEpLGIuUj0hMCxjeihiKSxheihiKS5sZW5ndGg+PTIwMjImJmJ6KGIpKX0sZHo7ZnVuY3Rpb24gZnooYSl7Z3ooKTtaeShkeixhKX1mdW5jdGlvbiBoeigpe3ZhciBhO2E9YT09PXZvaWQgMD8hMTphO2d6KCk7dmFyIGI9YSxjPWR6O2I9Yj09PXZvaWQgMD8hMTpiO2lmKGZuLk4mJiRrKDI2KSl7dmFyIGQ9YXooYywhMCwhMCk7Yj9Wbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6Yy5IfSxkKTpYbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6Yy5IfSxkKX19ZnVuY3Rpb24gZ3ooKXtkenx8KGR6PW5ldyAkeSl9O2Z1bmN0aW9uIGl6KCl7ZnVuY3Rpb24gYShjLGQpe3ZhciBlPXdiKHJiW2RdfHxbXSk7ZSYmYi5wdXNoKFtjLGVdKX12YXIgYj1bXTthKCJ1IiwiR1RNIik7YSgidXQiLCJUQUdHSU5HIik7YSgiaCIsIkhFQUxUSCIpO3JldHVybiBifTt2YXIgano9Imh0dHBzOi8vIitFKDIxKSxrej1mdW5jdGlvbigpe3RoaXMuTj0hMTt0aGlzLlI9W107dGhpcy5aPVtdO3RoaXMuSD17VEM6MCxIVEM6MH07dGhpcy5LPXt9fSxsej1mdW5jdGlvbihhLGIsYyxkKXthLktbYl18fChhLktbYl09e30pO2EuS1tiXVtjXT1kfSxvej1mdW5jdGlvbihhKXt2YXIgYj0iIixjPSIiLGQ9bXooKTtBYihkKSYmKGEuSC5JPU1hdGguZmxvb3IoZCkpO2M9bnooYS5ILEp5KS50b1N0cmluZygpO2Zvcih2YXIgZT1tKE9iamVjdC5rZXlzKGEuSykpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlLGg9YS5LW2ddLm5hbWUsbD0iIixuPW56KGEuS1tnXSxLeSk7biYmKGw9aCsiLiIrbi50b1N0cmluZygpLGIrPSJ+IitsKX12YXIgcD0ifkFXQ1QiK2EuUi5qb2luKCIuIikscT0ifkdBIithLlouam9pbigiLiIpLHI9IiZjY2lkPSIrdmsoKS50b1N0cmluZygpKyImY2lkPSIrRSg1KS50b1N0cmluZygpKyImbD0iK2MrYisoYS5SLmxlbmd0aD8KcDoiIikrKGEuWi5sZW5ndGg/cToiIik7aWYoTSgyMTQpKXt2YXIgdCx1PSh0PXJkKCkpPT1udWxsP3ZvaWQgMDp0LmdldEVudHJpZXNCeU5hbWUoS2MpLm1hcChmdW5jdGlvbih2KXtyZXR1cm4gU3RyaW5nKHYuZHVyYXRpb24pfSkuam9pbigiLiIpO3UmJihyKz0iflNTIit1KX1yZXR1cm4gcn0scHo9ZnVuY3Rpb24oYSxiKXtpZighYi5zdGFnZXx8YS5OfHwhT3koKXx8U3koYikpcmV0dXJuITE7dmFyIGMsZD0oYz1yZCgpKT09bnVsbD92b2lkIDA6Yy50aW1lT3JpZ2luO2lmKCFBYihkKSlhLk49ITA7ZWxzZSBpZihBYigkaygyNSkpJiYhU3koe3N0YWdlOkl5LlguamR9KSYmIWEuTiYmT3koKSl0cnl7dmFyIGU9TnVtYmVyKCRrKDI1KSk7VHkoe3N0YWdlOkl5LlguamR9LHtzdGFydFRpbWU6TWF0aC5tYXgoZS1kLDApfSk7VHkoe3N0YWdlOkl5LlguaWp9LHtzdGFydFRpbWU6MH0pO3ZhciBmPVV5KHtzdGFnZTpJeS5YLmpkfSxJeS5YLmlqKTtmJiYoYS5ILkw9TWF0aC5mbG9vcihmKSl9Y2F0Y2goZyl7YS5OPQohMH1pZihhLk4pcmV0dXJuITE7dHJ5e2lmKCFUeShiKSlyZXR1cm4hMX1jYXRjaChnKXtyZXR1cm4gYS5OPSEwLCExfXJldHVybiEwfSxxej1mdW5jdGlvbihhLGIsYyl7aWYocHooYSxiKSl0cnl7dmFyIGQ9VXkoYixjKTtpZihkKXJldHVybiBNYXRoLmZsb29yKGQpfWNhdGNoKGUpe2EuTj0hMH19LHN6PWZ1bmN0aW9uKCl7dmFyIGE9cnooKTtweihhLHtzdGFnZTpJeS5YLm1pfSl9LHR6PWZ1bmN0aW9uKCl7dmFyIGE9cnooKSxiPXF6KGEse3N0YWdlOkl5LlguWGt9LEl5LlgubWkpO2IhPT12b2lkIDAmJihhLkguUz1iKX0sdXo9ZnVuY3Rpb24oKXt2YXIgYT1yeigpO3B6KGEse3N0YWdlOkl5Llgubml9KX0sdno9ZnVuY3Rpb24oYSxiKXt2YXIgYz1yeigpO3B6KGMse3N0YWdlOkl5LlguQmgsZXZlbnRJZDphfSk7Yy5LW2FdJiZjLktbYV0ubmFtZXx8bHooYyxhLCJuYW1lIixTYihiLCJndG0uIik/YjoiKiIpfSx3ej1mdW5jdGlvbihhKXt2YXIgYj1yeigpLGM9cXooYix7c3RhZ2U6SXkuWC52bSwKZXZlbnRJZDphfSxJeS5YLkJoKTtjIT09dm9pZCAwJiZseihiLGEsIlMiLGMpfSx5ej1mdW5jdGlvbihhLGIpe3ZhciBjPXJ6KCksZD1xeihjLHtzdGFnZTpJeS5YLnRtLGV2ZW50SWQ6YX0sSXkuWC5CaCk7ZCE9PXZvaWQgMCYmbHooYyxhLCJFIixkKTtpZihiPT09Imd0bS5sb2FkIil7dmFyIGU9cXooYyx7c3RhZ2U6SXkuWC5Xa30sSXkuWC5aZyk7ZSE9PXZvaWQgMCYmKGMuSC5FPWUpO2lvKGxvKGNvLmlhLlpiKSxmdW5jdGlvbigpe2lmKCFjLk4mJk95KCkmJkUoNSkpe3ZhciBmPXh6KCk7ZiE9PXZvaWQgMCYmKGMuSC5GPU1hdGguZmxvb3IoZikpO3RyeXtmb3IodmFyIGc9aXooe2V2ZW50SWQ6MCx0ZjohMX0pLGg9W10sbD1tKGcpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1tKG4udmFsdWUpLHE9cC5uZXh0KCkudmFsdWUscj1wLm5leHQoKS52YWx1ZTtoLnB1c2goIiYiK3ErIj0iK3IpfXZhciB0PUNwKCksdT1bW2ZrKGp6KSwiL2E/dj0zJnQ9bCIsIiZwaWQ9IisKRGIoKS50b1N0cmluZygpLCImcnY9IitFKDE0KSx0PyImdGFnX2V4cD0iK3Q6IiIsaC5qb2luKCIiKV0uam9pbigiIiksIiZndG09IixkdSgpLG96KGMpXS5qb2luKCIiKTtpZih1Lmxlbmd0aD4yMDIyKXt2YXIgdj1NYXRoLm1heCh1Lmxhc3RJbmRleE9mKCIuVFMiLDIwMjIpLHUubGFzdEluZGV4T2YoIn4iLDIwMjIpKTt1PXUuc2xpY2UoMCx2KX1Ybih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2fSx1KX1jYXRjaCh4KXt9fX0pfX0seno7ZnVuY3Rpb24gcnooKXt6enx8KHp6PW5ldyBreik7cmV0dXJuIHp6fWZ1bmN0aW9uIG16KCl7dHJ5e3ZhciBhO3JldHVybigoYT1yZCgpKT09bnVsbD92b2lkIDA6YS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIilbMF0pLmRvbUludGVyYWN0aXZlfWNhdGNoKGIpe319CmZ1bmN0aW9uIG56KGEsYil7cmV0dXJuIE9iamVjdC5rZXlzKGIpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYltjXX0pLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYVtjXSE9PXZvaWQgMH0pLm1hcChmdW5jdGlvbihjKXtyZXR1cm4oIiIrKGM9PT0idGFnIj8iIjpjKSkuY29uY2F0KGFbY10udG9TdHJpbmcoKSl9KS5qb2luKCIuIil9ZnVuY3Rpb24gQXooYSl7dmFyIGI9cnooKSxjPXF6KGIse3N0YWdlOkl5LlguRW0sZXZlbnRJZDphfSxJeS5YLmpkKTtjIT09dm9pZCAwJiZiLloucHVzaChjKX1mdW5jdGlvbiBCeihhKXt2YXIgYj1yeigpLGM9cXooYix7c3RhZ2U6SXkuWC5FayxldmVudElkOmF9LEl5LlguamQpO2MhPT12b2lkIDAmJmIuUi5wdXNoKGMpfWZ1bmN0aW9uIEN6KGEpe3ZhciBiPXJ6KCk7cHooYix7c3RhZ2U6SXkuWC5UaSxldmVudElkOmF9KX0KZnVuY3Rpb24gRHooYSl7dmFyIGI9cnooKSxjPXF6KGIse3N0YWdlOkl5Llguc20sZXZlbnRJZDphfSxJeS5YLlRpKTtjIT09dm9pZCAwJiZseihiLGEsIlYiLGMpfWZ1bmN0aW9uIHh6KCl7dHJ5e3ZhciBhLGI7cmV0dXJuKGI9KGE9cmQoKSk9PW51bGw/dm9pZCAwOmEuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLm5hbWU9PT0iZmlyc3QtY29udGVudGZ1bC1wYWludCJ9KSk9PW51bGw/dm9pZCAwOmIuc3RhcnRUaW1lfWNhdGNoKGMpe319ZnVuY3Rpb24gRXooYSxiKXt2YXIgYz1yeigpO3B6KGMse3N0YWdlOkl5LlgueGosZXZlbnRJZDphLmlkLHRhZ0lkOk51bWJlcihiW0dmLnlqXSl9KX0KZnVuY3Rpb24gRnooYSxiLGMpe3ZhciBkPXJ6KCksZT1kbihiKSxmPU51bWJlcihiW0dmLnlqXSksZz1xeihkLHtzdGFnZTpjLGV2ZW50SWQ6YS5pZCx0YWdJZDpmfSxJeS5YLnhqKTtpZihnIT09dm9pZCAwJiZkLktbYS5pZF0pe3ZhciBoPWQuS1thLmlkXS50YWd8fCIiLGwsbj0obD1NeVtjXSkhPW51bGw/bDoiMSIscD1uZXcgUmVnRXhwKCJUU1xcZCIrZSsiLlRJIitmKSxxPSJUUyIrbitlKyIuVEkiK2YrIi5URSIrZztoLnNlYXJjaChwKT49MD9uIT09IjEiJiZseihkLGEuaWQsInRhZyIsaC5yZXBsYWNlKHAscS5yZXBsYWNlKCIuVEUiK2csIiIpKSk6KGx6KGQsYS5pZCwidGFnIiwoaD9oKyIuIjoiIikrcSksZT09PSJodG1sIiYmKGQuSC5IVEMrPTEpLGQuSC5UQys9MSl9fTt2YXIgS3o9e2dqOnticDoiMSIsdXE6IjIiLFZxOiIzIn19Owp2YXIgTHo9e30sTXo9T2JqZWN0LmZyZWV6ZSgoTHpbRi5ELmZoXT0xLEx6W0YuRC5naF09MSxMeltGLkQuQmRdPTEsTHpbRi5ELkNkXT0xLEx6W0YuRC5SY109MSxMeltGLkQuc2ldPTEsTHpbRi5ELnVpXT0xLEx6W0YuRC5DbF09MSxMeltGLkQuaWhdPTEsTHpbRi5ELkNmXT0xLEx6W0YuRC5EZl09MSxMeltGLkQuRWZdPTEsTHpbRi5ELkhhXT0xLEx6W0YuRC5GZl09MSxMeltGLkQuRmRdPTEsTHpbRi5ELnVjXT0xLEx6W0YuRC5IZF09MSxMeltGLkQuTGJdPTEsTHpbRi5ELkNiXT0xLEx6W0YuRC5UYl09MSxMeltGLkQubmJdPTEsTHpbRi5ELmViXT0xLEx6W0YuRC5HZV09MSxMeltGLkQua2hdPTEsTHpbRi5ELk9hXT0xLEx6W0YuRC5PcF09MSxMeltGLkQuU3BdPTEsTHpbRi5ELkllXT0xLEx6W0YuRC5HaV09MSxMeltGLkQuUWZdPTEsTHpbRi5ELlRhXT0xLEx6W0YuRC5ZY109MSxMeltGLkQuWmNdPTEsTHpbRi5ELnRiXT0xLEx6W0YuRC5RZF09MSxMeltGLkQuUmRdPTEsTHpbRi5ELlNkXT0KMSxMeltGLkQuTmVdPTEsTHpbRi5ELnphXT0xLEx6W0YuRC5VYV09MSxMeltGLkQuV2xdPTEsTHpbRi5ELlhsXT0xLEx6W0YuRC5ZbF09MSxMeltGLkQuWmxdPTEsTHpbRi5ELldiXT0xLEx6W0YuRC5UZF09MSxMeltGLkQuWGJdPTEsTHpbRi5ELmRkXT0xLEx6W0YuRC5VZF09MSxMeltGLkQuUWVdPTEsTHpbRi5ELlBhXT0xLEx6W0YuRC55Y109MSxMeltGLkQuVmRdPTEsTHpbRi5ELnpjXT0xLEx6W0YuRC5BY109MSxMeltGLkQuZmJdPTEsTHpbRi5ELlFhXT0xLEx6KSksTno9e30sT3o9KE56W0YuRC5VY109MSxOeltGLkQuUHBdPTEsTnpbRi5ELkhlXT0xLE56W0YuRC5yaV09MSxOei5vcmVmPTEsTnopO3ZhciBQeixRejsKZnVuY3Rpb24gUnooYSxiKXt2YXIgYz1hW0dmLlliXSxkPWImJmIuZXZlbnQ7aWYoIWMpdGhyb3cgRXJyb3IoIkVycm9yOiBObyBmdW5jdGlvbiBuYW1lIGdpdmVuIGZvciBmdW5jdGlvbiBjYWxsLiIpO3ZhciBlPVF6W2NdLGY9e30sZztmb3IoZyBpbiBhKWEuaGFzT3duUHJvcGVydHkoZykmJihTYihnLCJ2dHBfIik/ZltlIT09dm9pZCAwP2c6Zy5zdWJzdHJpbmcoNCldPWFbZ106Zz09PUdmLkZxLnRvU3RyaW5nKCkmJihmW2UhPT12b2lkIDA/InZ0cF9ndG1HZW5lcmF0ZWRUYWdnaW5nTWV0YWRhdGEiOmddPWFbZ10pKTtJZig2MSkmJmUmJihmLnZ0cF9leHRyYUV4cGVyaW1lbnRJZHM9ITApO2UmJmQmJmQuY2FjaGVkTW9kZWxWYWx1ZXMmJihmLnZ0cF9ndG1DYWNoZWRWYWx1ZXM9ZC5jYWNoZWRNb2RlbFZhbHVlcyk7YiYmZSYmKGYudnRwX2d0bUVudGl0eUluZGV4PWIuaW5kZXgsZi52dHBfZ3RtRW50aXR5TmFtZT1iLm5hbWUpO3JldHVybiBlIT09dm9pZCAwP2UoZik6UHooYyxmLApiKX12YXIgVHo9ZnVuY3Rpb24oKXt2YXIgYT1TejtpZihNKDU4NSkmJmZuLkspe3ZhciBiPUUoNSkuaW5kZXhPZigiR1RNLSIpPT09MCYmSWYoNjIpLGMsZD0oKGM9RmsoKSk9PW51bGw/dm9pZCAwOmMuc291cmNlKT09PTE7YiYmIWR8fGEuSHx8KGEuSD0hMCxVbSgiYWJsIiwiMSIpLHRvKCkpfX0sU3o9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPSExfTt2YXIgVXo9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5IPWE7dGhpcy5pbmRleD1iO3RoaXMudGFncz1jO3RoaXMubWFjcm9zPWQ7dGhpcy5uYW1lPVN0cmluZyh0aGlzLkhbR2YuUm1dfHwiIil9OwpVei5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSxiKXtpZighYlt0aGlzLmluZGV4XSYmIWEuaXNCbG9ja2VkKHRoaXMuSCkpe2JbdGhpcy5pbmRleF09ITA7dGhpcy5IW0dmLnBsLnRvU3RyaW5nKCldJiZUeigpO3ZhciBjPXRoaXMubmFtZSxkO3RyeXt2YXIgZT17fSxmO2ZvcihmIGluIHRoaXMuSCl0aGlzLkguaGFzT3duUHJvcGVydHkoZikmJihlW2ZdPWVsKHRoaXMuSFtmXSxhLHRoaXMudGFncyx0aGlzLm1hY3JvcyxiKSk7ZS52dHBfZ3RtRXZlbnRJZD1hLmlkO2EucHJpb3JpdHlJZCYmKGUudnRwX2d0bVByaW9yaXR5SWQ9YS5wcmlvcml0eUlkKTt2YXIgZz1kPVJ6KGUse2V2ZW50OmEsaW5kZXg6dGhpcy5pbmRleCx0eXBlOjIsbmFtZTpjfSk7ZVtHZi5aa10mJnR5cGVvZiBnPT09InN0cmluZyImJihnPWVbR2YuWmtdPT09MT9nLnRvTG93ZXJDYXNlKCk6Zy50b1VwcGVyQ2FzZSgpKTtlLmhhc093blByb3BlcnR5KEdmLmFoKSYmKGc9WWYoMTgpP2VbR2YuYWhdPT09MT8KVmYoZywiUEVSSU9EIik6ZVtHZi5haF09PT0yP1ZmKGcsIkNPTU1BIik6VmYoZywiQVVUT01BVElDIik6ZVtHZi5haF09PT0xP1ZmKGcsIlBFUklPRCIpOlZmKGcsIkNPTU1BIikpO2UuaGFzT3duUHJvcGVydHkoR2YuYmwpJiZnPT09bnVsbCYmKGc9ZVtHZi5ibF0pO2UuaGFzT3duUHJvcGVydHkoR2YuaWwpJiZnPT09dm9pZCAwJiYoZz1lW0dmLmlsXSk7ZS5oYXNPd25Qcm9wZXJ0eShHZi5lcCkmJihnPUpiKGcpKTtlLmhhc093blByb3BlcnR5KEdmLmZsKSYmZz09PSEwJiYoZz1lW0dmLmZsXSk7ZS5oYXNPd25Qcm9wZXJ0eShHZi5hbCkmJmc9PT0hMSYmKGc9ZVtHZi5hbF0pO2Q9Z31jYXRjaChoKXthLmxvZ01hY3JvRXJyb3ImJmEubG9nTWFjcm9FcnJvcihoLE51bWJlcih0aGlzLmluZGV4KSxjKSxkPSExfWJbdGhpcy5pbmRleF09ITE7cmV0dXJuIGR9fTtVei5wcm90b3R5cGUuRmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSx0aGlzLkgpfTt2YXIgVno9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSD1hO3RoaXMudGFncz1iO3RoaXMubWFjcm9zPWN9O1Z6LnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbihhLGIpe3RyeXtmb3IodmFyIGM9e30sZD1tKE9iamVjdC5rZXlzKHRoaXMuSCkpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXt2YXIgZj1lLnZhbHVlO2NbZl09Zj09PSJmdW5jdGlvbiI/dGhpcy5IW2ZdOmVsKHRoaXMuSFtmXSxhLHRoaXMudGFncyx0aGlzLm1hY3JvcyxiKX1yZXR1cm4gY2woYyl9Y2F0Y2goZyl7SlNPTi5zdHJpbmdpZnkodGhpcy5IKX1yZXR1cm4gMn07VnoucHJvdG90eXBlLkZnPWZ1bmN0aW9uKCl7cmV0dXJuIG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sdGhpcy5IKX07dmFyIFd6PWZ1bmN0aW9uKGEsYil7dGhpcy5pbmRleD1iO3RoaXMuTj1bXTt0aGlzLlI9W107dGhpcy5LPVtdO3RoaXMuSD1bXTt0aGlzLm5hbWU9IiI7Zm9yKHZhciBjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPW0oZC52YWx1ZSksZj1lLm5leHQoKS52YWx1ZSxnPXlhKGUpLGg9ZixsPWc7aD09PSJpZiI/dGhpcy5OPWw6aD09PSJ1bmxlc3MiP3RoaXMuUj1sOmg9PT0iYWRkIj90aGlzLks9bDpoPT09ImJsb2NrIj90aGlzLkg9bDpoPT09InJ1bGVOYW1lIiYmKHRoaXMubmFtZT1sWzBdKX19OwpXei5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1Yeih0aGlzLGIpLGQ9W10sZT1bXTtjPyhkLnB1c2guYXBwbHkoZCx3KHRoaXMuSykpLGUucHVzaC5hcHBseShlLHcodGhpcy5IKSkpOmM9PT1udWxsJiZlLnB1c2guYXBwbHkoZSx3KHRoaXMuSCkpO3JldHVybntmaXJpbmdUYWdzOmQsYmxvY2tpbmdUYWdzOmV9fTsKdmFyIFh6PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW0oYS5OKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9YihkLnZhbHVlKTtpZihlPT09MClyZXR1cm4hMTtpZihlPT09MilyZXR1cm4gbnVsbH1mb3IodmFyIGY9bShhLlIpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKXt2YXIgaD1iKGcudmFsdWUpO2lmKGg9PT0yKXJldHVybiBudWxsO2lmKGg9PT0xKXJldHVybiExfXJldHVybiEwfTtXei5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O3ZhciBZej1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLklhPWE7dGhpcy5pbmRleD1iO3RoaXMudGFncz1jO3RoaXMubWFjcm9zPWQ7dGhpcy5PPVN0cmluZyh0aGlzLklhW0dmLlliXSk7dGhpcy5uYW1lPVN0cmluZyh0aGlzLklhW0dmLlJtXXx8IiIpO3RoaXMudGFnSWQ9TnVtYmVyKHRoaXMuSWFbR2YueWpdKX07Cll6LnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP3t9OmM7dmFyIGQsZT1jO2U9ZT09PXZvaWQgMD97fTplO3ZhciBmPXt9LGc7Zm9yKGcgaW4gdGhpcy5JYSl0aGlzLklhLmhhc093blByb3BlcnR5KGcpJiYoZltnXT1lbCh0aGlzLklhW2ddLGEsdGhpcy50YWdzLHRoaXMubWFjcm9zLFtdKSk7ZD1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGYsZSk7ZC52dHBfZ3RtVGFnSWQ9dGhpcy50YWdJZDt0aGlzLklhW0dmLnBsLnRvU3RyaW5nKCldJiZUeigpO1J6KGQse2V2ZW50OmEsaW5kZXg6dGhpcy5pbmRleCx0eXBlOjEsbmFtZTp0aGlzLm5hbWV9KX07WXoucHJvdG90eXBlLkZnPWZ1bmN0aW9uKCl7cmV0dXJuIG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sdGhpcy5JYSl9Owp2YXIgWno9ZnVuY3Rpb24oYSxiKXtpZihhLklhW0dmLnRuXSlyZXR1cm4gZWwoYS5JYVtHZi50bl0sYixhLnRhZ3MsYS5tYWNyb3MsW10pfSwkej1mdW5jdGlvbihhLGIpe2lmKGEuSWFbR2YuRG5dKXJldHVybiBlbChhLklhW0dmLkRuXSxiLGEudGFncyxhLm1hY3JvcyxbXSl9LGFBPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5JYVtHZi5jcF07aWYoYylyZXR1cm4gZWwoYyxiLGEudGFncyxhLm1hY3JvcyxbXSl9O1l6LnByb3RvdHlwZS5nZXRNZXRhZGF0YT1mdW5jdGlvbihhKXtyZXR1cm4gZWwodGhpcy5JYVtHZi5NRVRBREFUQV0sYSx0aGlzLnRhZ3MsdGhpcy5tYWNyb3MsW10pfTtZei5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O3ZhciBiQT1mdW5jdGlvbigpe3RoaXMubWFjcm9zPVtdO3RoaXMucnVsZXM9W107dGhpcy5wcmVkaWNhdGVzPVtdO3RoaXMudGFncz1bXTt0aGlzLnZrPVtdfTtiQS5wcm90b3R5cGUuZ2V0UnVsZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ydWxlc307dmFyIGNBPW5ldyBiQTtmdW5jdGlvbiBkQShhLGIsYyxkKXt2YXIgZT1XYygpLGY7aWYoZT09PTEpYTp7dmFyIGc9RSgzKTtnPWcudG9Mb3dlckNhc2UoKTtmb3IodmFyIGg9Imh0dHBzOi8vIitnLGw9Imh0dHA6Ly8iK2csbj0xLHA9Qi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IikscT0wO3E8cC5sZW5ndGgmJnE8MTAwO3ErKyl7dmFyIHI9cFtxXS5zcmM7aWYocil7cj1yLnRvTG93ZXJDYXNlKCk7aWYoci5pbmRleE9mKGwpPT09MCl7Zj0zO2JyZWFrIGF9bj09PTEmJnIuaW5kZXhPZihoKT09PTAmJihuPTIpfX1mPW59ZWxzZSBmPWU7cmV0dXJuKGY9PT0yfHxkfHwiaHR0cDoiIT09QS5sb2NhdGlvbi5wcm90b2NvbD9hOmIpK2N9O3ZhciBlQT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5LPXt9O3RoaXMuSD17fTtmeihmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGEuSylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYS5LLGQpJiZjLnB1c2goZCsifiIrYS5LW2RdKTt2YXIgZT1bXSxmO2ZvcihmIGluIGEuSClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYS5ILGYpJiZlLnB1c2goZisifiIrYS5IW2ZdKTtiLnRmJiYoYS5LPXt9LGEuSD17fSk7dmFyIGc9W107Yy5sZW5ndGg+MCYmZy5wdXNoKFsiYmNzIixjLmpvaW4oIi4iKV0pO2UubGVuZ3RoPjAmJmcucHVzaChbImJldCIsZS5qb2luKCIuIildKTtyZXR1cm4gZ30pfSxmQTtmdW5jdGlvbiBnQSgpe2ZBfHwoZkE9bmV3IGVBKX07ZnVuY3Rpb24gaEEoYSxiLGMsZCxlKXtpZighRWsoYSkpe2QubG9hZEV4cGVyaW1lbnRzPXlqKCk7SGsoYSxkLGUpO3ZhciBmPWlBKGEpLGc9ZnVuY3Rpb24oKXtvaygpLmNvbnRhaW5lclthXSYmKG9rKCkuY29udGFpbmVyW2FdLnN0YXRlPTMpO2pBKCl9LGg9e2Rlc3RpbmF0aW9uSWQ6YSxlbmRwb2ludDowfTtpZihXaigpKXt2YXIgbD1YaigpLG49bCsiLyIra0EoZixhKTtabihoLG4sdm9pZCAwLGZ1bmN0aW9uKCl7bEEoYSxuLGwrIi8iK2YsaCxnKX0pfWVsc2V7dmFyIHA9U2IoYSwiR1RNLSIpLHE9ZGsoKSxyPWM/Ii9ndGFnL2pzIjoiL2d0bS5qcyIsdD1tQShiLHIrZixhKTtpZighdCl7dmFyIHU9RSgzKStyO3EmJktjJiZwJiYodT1LYy5yZXBsYWNlKC9eKD86aHR0cHM/OlwvXC8pPy9pLCIiKS5zcGxpdCgvWz8jXS8pWzBdKTt0PWRBKCJodHRwczovLyIsImh0dHA6Ly8iLHUrZil9Wm4oaCx0LHZvaWQgMCxnKX19fQpmdW5jdGlvbiBqQSgpe0trKCl8fEdiKExrKCksZnVuY3Rpb24oYSxiKXtuQShhLGIudHJhbnNwb3J0VXJsLGIuY29udGV4dCk7UCg5Mil9KX1mdW5jdGlvbiBuQShhLGIsYyxkKXtpZighR2soYSkpaWYoYy5sb2FkRXhwZXJpbWVudHN8fChjLmxvYWRFeHBlcmltZW50cz15aigpKSxLaygpKUprKGEsYixjLGQpO2Vsc2V7SWsoYSxjLGQpO3ZhciBlPXtkZXN0aW5hdGlvbklkOmEsZW5kcG9pbnQ6MH07aWYoV2ooKSl7dmFyIGY9WGooKSxnPSJndGQiK2lBKGEsITApLGg9ZisiLyIra0EoZyxhKTtabihlLGgsdm9pZCAwLGZ1bmN0aW9uKCl7bEEoYSxoLGYrIi8iK2csZSl9KX1lbHNle3ZhciBsPSIvZ3RhZy9kZXN0aW5hdGlvbiIraUEoYSwhMCksbj1tQShiLGwsYSk7bnx8KG49ZEEoImh0dHBzOi8vIiwiaHR0cDovLyIsRSgzKStsKSk7Wm4oZSxuKX19fQpmdW5jdGlvbiBsQShhLGIsYyxkLGUpe2lmKE0oNDEzKSl7Z0EoKTt2YXIgZj1mQTtpZihmbi5OKXt2YXIgZz1BLnBlcmZvcm1hbmNlLGg9LTE7aWYoZyYmZy5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbD1SaihiKS5ocmVmLG49Zy5nZXRFbnRyaWVzQnlOYW1lKGwpLnBvcCgpO2lmKCFuKWZvcih2YXIgcD1nLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikscT0wO3E8cC5sZW5ndGg7cSsrKXt2YXIgcj1wW3FdO2lmKHIubmFtZSYmci5uYW1lLmluZGV4T2YoYikhPT0tMSl7bj1yO2JyZWFrfX1uJiZuLnJlc3BvbnNlU3RhdHVzIT09dm9pZCAwJiYoaD1uLnJlc3BvbnNlU3RhdHVzKX1mLktbYV09aH1QKDE5MCk7dmFyIHQ9bm0oam0uYmEua2opfHx7fTt0W2FdPSEwO21tKGptLmJhLmtqLHQpO3ZhciB1PWMrKGMuaW5kZXhPZigiPyIpPT09LTE/Ij9mPTEiOiImZj0xIik7ZT9abihkLHUsdm9pZCAwLGUpOlpuKGQsdSl9ZWxzZSBlJiZlKCl9CmZ1bmN0aW9uIGlBKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dmFyIGM9Ij9pZD0iK2VuY29kZVVSSUNvbXBvbmVudChhKSxkPUUoMTkpO2QhPT0iZGF0YUxheWVyIiYmKGMrPSImbD0iK2QpO3ZhciBlPVNiKGEsIkdUTS0iKTtpZighZXx8YiljKz0iJmN4PWMiO2UmJklmKDYyKSYmKGMrPSImZ29vZ2xlX29ubHk9dHJ1ZSIpO3ZhciBmPWMsZyxoPXtEbzpKZigxNSksSW86RSgxNCl9O2c9Q2YoaCk7Yz1mKygiJmd0bT0iK2cpO2RrKCkmJihjKz0iJnNpZ249IitBai5xaik7dmFyIGw9YyxuPUpmKDU0KTtpZihuPT09MSl7bCs9IiZmcHM9ZmMiO3ZhciBwPUUoNjApO3AmJihsKz0iJmdkZXY9IitwKX1lbHNlIG49PT0yJiYobCs9IiZmcHM9ZmUiKTtyZXR1cm4gbH0KZnVuY3Rpb24ga0EoYSxiKXtpZighTSg0MTMpfHwhWGooKSlyZXR1cm4gYTt2YXIgYz1FKDU4KTtpZighYylyZXR1cm4gUCgxODIpLGE7dHJ5e3ZhciBkPU5iKCksZT1FZihhLGMpLGY9TmIoKS1kO2dBKCk7dmFyIGc9ZkE7Zm4uTiYmKGcuSFtiXT1mKTtyZXR1cm4gZX1jYXRjaChoKXtyZXR1cm4gUCgxODMpLGF9fWZ1bmN0aW9uIG1BKGEsYixjKXtpZihhaygpJiZhKXt2YXIgZD1FKDU4KSxlPVhqKCk7aWYoZCYmZSl0cnl7dmFyIGY9TmIoKTtiPWUrIi8iK0VmKGIsZCk7dmFyIGc9TmIoKS1mO2dBKCk7dmFyIGg9ZkE7Zm4uTiYmKGguSFtjXT1nKX1jYXRjaChsKXtQKDE4Myl9cmV0dXJuIFlqKGEsYil9fTt2YXIgcEE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuSz1uZXcgRmI7dGhpcy5IPXt9O3RoaXMuTj17fTt0aGlzLlI9e25hbWU6RSgxOSksc2V0OmZ1bmN0aW9uKGIsYyl7RWQoVmIoYixjKSxhLkgpO29BKGEpfSxnZXQ6ZnVuY3Rpb24oYil7cmV0dXJuIGEuZ2V0KGIsMil9LHJlc2V0OmZ1bmN0aW9uKCl7YS5LPW5ldyBGYjthLkg9e307b0EoYSl9fX07cEEucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe3JldHVybiBiIT0yP3RoaXMuSy5nZXQoYSk6cUEodGhpcyxhKX07dmFyIHFBPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iLnNwbGl0KCIuIik7Yz1jfHxbXTtmb3IodmFyIGU9YS5ILGY9MDtmPGQubGVuZ3RoO2YrKyl7aWYoZT09PW51bGwpcmV0dXJuITE7aWYoZT09PXZvaWQgMClicmVhaztlPWVbZFtmXV07aWYoYy5pbmRleE9mKGUpIT09LTEpcmV0dXJufXJldHVybiBlfTsKcEEucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuTi5oYXNPd25Qcm9wZXJ0eShhKXx8KHRoaXMuSy5zZXQoYSxiKSxFZChWYihhLGIpLHRoaXMuSCksb0EodGhpcykpfTt2YXIgc0E9ZnVuY3Rpb24oKXtmb3IodmFyIGE9WyJndG0uYWxsb3dsaXN0IiwiZ3RtLmJsb2NrbGlzdCIsImd0bS53aGl0ZWxpc3QiLCJndG0uYmxhY2tsaXN0IiwidGFnVHlwZUJsYWNrbGlzdCJdLGI9ckEsYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLGU9Yi5nZXQoZCwxKTtpZihBcnJheS5pc0FycmF5KGUpfHxDZChlKSllPUVkKGUsbnVsbCk7Yi5OW2RdPWV9fSxvQT1mdW5jdGlvbihhLGIpe0diKGEuTixmdW5jdGlvbihjLGQpe2EuSy5zZXQoYyxkKTtFZChWYihjKSxhLkgpO0VkKFZiKGMsZCksYS5IKTtiJiZkZWxldGUgYS5OW2NdfSl9LHJBPW5ldyBwQSx0QT1yQS5SO2Z1bmN0aW9uIHVBKGEsYil7cmV0dXJuIHJBLmdldChhLGIpfQpmdW5jdGlvbiB2QShhLGIpe3ZhciBjPWI9PT12b2lkIDA/MjpiLGQ9ckEsZSxmPShjPT09dm9pZCAwPzI6YykhPT0xP3FBKGQsYSk6ZC5LLmdldChhKTtBZChmKT09PSJhcnJheSJ8fEFkKGYpPT09Im9iamVjdCI/ZT1FZChmLG51bGwpOmU9ZjtyZXR1cm4gZX07dmFyIHdBPW5ldyBSZWdFeHAoL14oLipcLik/KGdvb2dsZXx5b3V0dWJlfGJsb2dnZXJ8d2l0aGdvb2dsZSkoXC5jb20/KT8oXC5bYS16XXsyfSk/XC4/JC8pLHhBPXtjbDpbImVjbCJdLGN1c3RvbVBpeGVsczpbIm5vbkdvb2dsZVBpeGVscyJdLGVjbDpbImNsIl0sZWhsOlsiaGwiXSxnYWF3YzpbImdvb2d0YWciXSxobDpbImVobCJdLGh0bWw6WyJjdXN0b21TY3JpcHRzIiwiY3VzdG9tUGl4ZWxzIiwibm9uR29vZ2xlUGl4ZWxzIiwibm9uR29vZ2xlU2NyaXB0cyIsIm5vbkdvb2dsZUlmcmFtZXMiXSxjdXN0b21TY3JpcHRzOlsiaHRtbCIsImN1c3RvbVBpeGVscyIsIm5vbkdvb2dsZVBpeGVscyIsIm5vbkdvb2dsZVNjcmlwdHMiLCJub25Hb29nbGVJZnJhbWVzIl0sbm9uR29vZ2xlUGl4ZWxzOltdLG5vbkdvb2dsZVNjcmlwdHM6WyJub25Hb29nbGVQaXhlbHMiXSxub25Hb29nbGVJZnJhbWVzOlsibm9uR29vZ2xlUGl4ZWxzIl19LHlBPXtjbDpbImVjbCJdLGN1c3RvbVBpeGVsczpbImN1c3RvbVNjcmlwdHMiLAoiaHRtbCJdLGVjbDpbImNsIl0sZWhsOlsiaGwiXSxnYWF3YzpbImdvb2d0YWciXSxobDpbImVobCJdLGh0bWw6WyJjdXN0b21TY3JpcHRzIl0sY3VzdG9tU2NyaXB0czpbImh0bWwiXSxub25Hb29nbGVQaXhlbHM6WyJjdXN0b21QaXhlbHMiLCJjdXN0b21TY3JpcHRzIiwiaHRtbCIsIm5vbkdvb2dsZVNjcmlwdHMiLCJub25Hb29nbGVJZnJhbWVzIl0sbm9uR29vZ2xlU2NyaXB0czpbImN1c3RvbVNjcmlwdHMiLCJodG1sIl0sbm9uR29vZ2xlSWZyYW1lczpbImN1c3RvbVNjcmlwdHMiLCJodG1sIiwibm9uR29vZ2xlU2NyaXB0cyJdfSx6QT0iZ29vZ2xlIGN1c3RvbVBpeGVscyBjdXN0b21TY3JpcHRzIGh0bWwgbm9uR29vZ2xlUGl4ZWxzIG5vbkdvb2dsZVNjcmlwdHMgbm9uR29vZ2xlSWZyYW1lcyIuc3BsaXQoIiAiKTsKZnVuY3Rpb24gQUEoKXt2YXIgYT11QSgiZ3RtLmFsbG93bGlzdCIpfHx1QSgiZ3RtLndoaXRlbGlzdCIpO2EmJlAoOSk7SWYoNjIpJiYoYT12b2lkIDApO0JBKCkmJihJZig2Mik/UCgxMTYpOihQKDExNyksSWYoNDgpJiYoYT1bXSx3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nJiZ3aW5kb3cuY29uc29sZS5sb2coIkdUTSBibG9ja2VkLiBTZWUgZ28vMTM2ODc3MjguIikpKSk7dmFyIGI9YSYmUmIoS2IoYSkseEEpLGM9dUEoImd0bS5ibG9ja2xpc3QiKXx8dUEoImd0bS5ibGFja2xpc3QiKTtjfHwoYz11QSgidGFnVHlwZUJsYWNrbGlzdCIpKSYmUCgzKTtjP1AoOCk6Yz1bXTtCQSgpJiYoYz1LYihjKSxjLnB1c2goIm5vbkdvb2dsZVBpeGVscyIsIm5vbkdvb2dsZVNjcmlwdHMiLCJzYW5kYm94ZWRTY3JpcHRzIikpO0tiKGMpLmluZGV4T2YoImdvb2dsZSIpPj0wJiZQKDIpO3ZhciBkPWMmJlJiKEtiKGMpLHlBKSxlPXt9O3JldHVybiBmdW5jdGlvbihmKXt2YXIgZz1mJiYKZltHZi5ZYl07aWYoIWd8fHR5cGVvZiBnIT09InN0cmluZyIpcmV0dXJuITA7Zz1nLnJlcGxhY2UoL15fKi8sIiIpO2lmKGVbZ10hPT12b2lkIDApcmV0dXJuIGVbZ107dmFyIGg9YWwoMjcsZnVuY3Rpb24oKXtyZXR1cm57fX0pW2ddfHxbXSxsPSEwO2EmJihsPWwmJkNBKGcsaCxiKSk7dmFyIG49ITE7YyYmKG49REEoZyxoLGQpKTt2YXIgcD0hbHx8bjshcCYmKGguaW5kZXhPZigic2FuZGJveGVkU2NyaXB0cyIpPT09LTF8fGImJmIuaW5kZXhPZigic2FuZGJveGVkU2NyaXB0cyIpIT09LTE/MDpFYihkLHpBKSkmJihwPSEwKTtyZXR1cm4gZVtnXT1wfX1mdW5jdGlvbiBDQShhLGIsYyl7aWYoYy5pbmRleE9mKGEpPDApaWYoYiYmYi5sZW5ndGg+MClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7aWYoYy5pbmRleE9mKGJbZF0pPDApcmV0dXJuIFAoMTEpLCExfWVsc2UgcmV0dXJuITE7cmV0dXJuITB9CmZ1bmN0aW9uIERBKGEsYixjKXt2YXIgZD1jLmluZGV4T2YoYSk+PTA7aWYoZClyZXR1cm4gZDt2YXIgZT1FYihjLGJ8fFtdKTtlJiZQKDEwKTtyZXR1cm4gZX1mdW5jdGlvbiBCQSgpe3JldHVybiB3QS50ZXN0KEEubG9jYXRpb24mJkEubG9jYXRpb24uaG9zdG5hbWUpfTtmdW5jdGlvbiBFQShhKXtmb3IodmFyIGI9W10sYz1bXSxkPUZBKGEpLGU9bShjQS5nZXRSdWxlcygpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7Zm9yKHZhciBnPWYudmFsdWUuZXZhbHVhdGUoYSxkKSxoPWcuZmlyaW5nVGFncyxsPWcuYmxvY2tpbmdUYWdzLG49MDtuPGgubGVuZ3RoO24rKyliW2hbbl1dPSEwO2Zvcih2YXIgcD0wO3A8bC5sZW5ndGg7cCsrKWNbbFtwXV09ITB9Zm9yKHZhciBxPVtdLHI9MDtyPGNBLnRhZ3MubGVuZ3RoO3IrKyliW3JdJiYhY1tyXSYmKHFbcl09ITApO3JldHVybiBxfWZ1bmN0aW9uIEZBKGEpe3ZhciBiPVtdO3JldHVybiBmdW5jdGlvbihjKXtiW2NdPT09dm9pZCAwJiYoYltjXT1jQS5wcmVkaWNhdGVzW2NdLmV2YWx1YXRlKGEsW10pKTtyZXR1cm4gYltjXX19O3ZhciBHQT1mdW5jdGlvbigpe3RoaXMuSz0wO3RoaXMuSD17fX07R0EucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0rK3RoaXMuSzt0aGlzLkhbYV09dGhpcy5IW2FdfHx7fTt0aGlzLkhbYV1bU3RyaW5nKGQpXT17bGlzdGVuZXI6YixyZjpjfTtyZXR1cm4gZH07R0EucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5IW2FdLGQ9U3RyaW5nKGIpO2lmKCFjfHwhY1tkXSlyZXR1cm4hMTtkZWxldGUgY1tkXTtyZXR1cm4hMH07dmFyIElBPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107R2IoSEEuSFthXSxmdW5jdGlvbihkLGUpe2MuaW5kZXhPZihlLmxpc3RlbmVyKTwwJiYoZS5yZj09PXZvaWQgMHx8Yi5pbmRleE9mKGUucmYpPj0wKSYmYy5wdXNoKGUubGlzdGVuZXIpfSk7cmV0dXJuIGN9O2Z1bmN0aW9uIEpBKGEsYixjKXtyZXR1cm57ZW50aXR5VHlwZTphLGluZGV4SW5PcmlnaW5Db250YWluZXI6YixuYW1lSW5PcmlnaW5Db250YWluZXI6YyxvcmlnaW5Db250YWluZXJJZDpFKDUpLG9yaWdpbkNJZDp2aygpfX07ZnVuY3Rpb24gS0EoYSxiKXtpZihkYXRhLmVudGl0aWVzKXt2YXIgYz1kYXRhLmVudGl0aWVzW2FdO2lmKGMpcmV0dXJuIGNbYl19fTt2YXIgTUE9ZnVuY3Rpb24oYSxiKXt0aGlzLkg9ITE7dGhpcy5SPVtdO3RoaXMuZXZlbnREYXRhPXt0YWdzOltdfTt0aGlzLlo9ITE7dGhpcy5LPXRoaXMuTj0wO0xBKHRoaXMsYSxiKX0sTkE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoQ2ouaGFzT3duUHJvcGVydHkoYil8fGI9PT0iX196b25lIilyZXR1cm4tMTt2YXIgZT17fTtDZChkKSYmKGU9RWQoZCxlKSk7ZS5pZD1jO2Uuc3RhdHVzPSJ0aW1lb3V0IjtyZXR1cm4gYS5ldmVudERhdGEudGFncy5wdXNoKGUpLTF9LE9BPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuZXZlbnREYXRhLnRhZ3NbYl07ZSYmKGUuc3RhdHVzPWMsZS5leGVjdXRpb25UaW1lPWQpfSxQQT1mdW5jdGlvbihhKXtpZighYS5IKXtmb3IodmFyIGI9YS5SLGM9MDtjPGIubGVuZ3RoO2MrKyliW2NdKCk7YS5IPSEwO2EuUi5sZW5ndGg9MH19LExBPWZ1bmN0aW9uKGEsYixjKXtiIT09dm9pZCAwJiZhLndnKGIpO2MmJkEuc2V0VGltZW91dChmdW5jdGlvbigpe1BBKGEpfSwKTnVtYmVyKGMpKX07TUEucHJvdG90eXBlLndnPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1QYihmdW5jdGlvbigpe2JkKGZ1bmN0aW9uKCl7YShFKDUpLGIuZXZlbnREYXRhKX0pfSk7dGhpcy5IP2MoKTp0aGlzLlIucHVzaChjKX07dmFyIFFBPWZ1bmN0aW9uKGEpe2EuTisrO3JldHVybiBQYihmdW5jdGlvbigpe2EuSysrO2EuWiYmYS5LPj1hLk4mJlBBKGEpfSl9LFJBPWZ1bmN0aW9uKGEpe2EuWj0hMDthLks+PWEuTiYmUEEoYSl9O2Z1bmN0aW9uIFNBKCl7cmV0dXJuIEFbVEEoKV19CmZ1bmN0aW9uIFRBKCl7cmV0dXJuIEEuR29vZ2xlQW5hbHl0aWNzT2JqZWN0fHwiZ2EifXZhciBXQT1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9e319O2Z1bmN0aW9uIFhBKCl7YTp7dmFyIGE9RSg1KTt9fQpmdW5jdGlvbiBZQShhLGIpe3JldHVybiBmdW5jdGlvbigpe3ZhciBjPVNBKCksZD1jJiZjLmdldEJ5TmFtZSYmYy5nZXRCeU5hbWUoYSk7aWYoZCl7dmFyIGU9ZC5nZXQoInNlbmRIaXRUYXNrIik7ZC5zZXQoInNlbmRIaXRUYXNrIixmdW5jdGlvbihmKXt2YXIgZz1mLmdldCgiaGl0UGF5bG9hZCIpLGg9Zi5nZXQoImhpdENhbGxiYWNrIiksbD1nLmluZGV4T2YoIiZ0aWQ9IitiKTwwO2wmJihmLnNldCgiaGl0UGF5bG9hZCIsZy5yZXBsYWNlKC8mdGlkPVVBLVswLTldKy1bMC05XSsvLCImdGlkPSIrYiksITApLGYuc2V0KCJoaXRDYWxsYmFjayIsdm9pZCAwLCEwKSk7ZShmKTtsJiYoZi5zZXQoImhpdFBheWxvYWQiLGcsITApLGYuc2V0KCJoaXRDYWxsYmFjayIsaCwhMCksZi5zZXQoIl94XzE5Iix2b2lkIDAsITApLGUoZikpfSl9fX07dmFyIGFCPVsiZXMiLCIxIl0sYkI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZXZlbnREYXRhPXt9O3RoaXMuSD17fTtmeihmdW5jdGlvbihiKXt2YXIgYzt2YXIgZD1iLmV2ZW50SWQsZT1iLnRmO2lmKGEuZXZlbnREYXRhW2RdKXt2YXIgZj1bXTthLkhbZF18fGYucHVzaChhQik7Zi5wdXNoLmFwcGx5KGYsdyhhLmV2ZW50RGF0YVtkXSkpO2UmJihhLkhbZF09ITApO2M9Zn1lbHNlIGM9W107cmV0dXJuIGN9KX0sY0I7ZnVuY3Rpb24gZEIoYSxiKXt2YXIgYztpZigoYz1jQikhPW51bGwmJmZuLk4pe3ZhciBkPWMuZXZlbnREYXRhLGU7ZT1iLm1hdGNoKC9eKGd0bXxndGFnKVwuLyk/ZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIqIjtkW2FdPVtbImUiLGVdLFsiZWlkIixTdHJpbmcoYSldXTtneigpO2V6KGEpfX07dmFyIGVCPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkg9e307dGhpcy5LPXt9O2Z6KGZ1bmN0aW9uKGIpe3ZhciBjPWIuZXZlbnRJZCxkPWIudGYsZT1bXSxmPWEuSFtjXXx8W107Zi5sZW5ndGgmJmUucHVzaChbInRyIixmLmpvaW4oIi4iKV0pO3ZhciBnPWEuS1tjXXx8W107Zy5sZW5ndGgmJmUucHVzaChbInRpIixnLmpvaW4oIi4iKV0pO2QmJihkZWxldGUgYS5IW2NdLGRlbGV0ZSBhLktbY10pO3JldHVybiBlfSl9LGZCOwpmdW5jdGlvbiBnQihhLGIsYyl7ZkJ8fChmQj1uZXcgZUIpO3ZhciBkPWZCO2lmKGZuLk4mJmIpe3ZhciBlPWRuKGIpO2QuSFthXT1kLkhbYV18fFtdO2QuSFthXS5wdXNoKGMrZSk7dmFyIGY9YltHZi5ZYl07aWYoIWYpdGhyb3cgRXJyb3IoIkVycm9yOiBObyBmdW5jdGlvbiBuYW1lIGdpdmVuIGZvciBmdW5jdGlvbiBjYWxsLiIpO3ZhciBnPShReltmXT8iMSI6IjIiKStlO2QuS1thXT1kLktbYV18fFtdO2QuS1thXS5wdXNoKGcpO2d6KCk7ZXooYSl9fTtmdW5jdGlvbiBoQihhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7aUIoKS5hZGRSZXN0cmljdGlvbigwLGEsYixjKX1mdW5jdGlvbiBqQigpe3ZhciBhPXZrKCk7cmV0dXJuIGlCKCkuZ2V0UmVzdHJpY3Rpb25zKDAsYSl9ZnVuY3Rpb24ga0IoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2lCKCkuYWRkUmVzdHJpY3Rpb24oMSxhLGIsYyl9ZnVuY3Rpb24gbEIoKXt2YXIgYT12aygpO3JldHVybiBpQigpLmdldFJlc3RyaWN0aW9ucygxLGEpfXZhciBtQj1mdW5jdGlvbigpe3RoaXMuY29udGFpbmVyPXt9O3RoaXMuSD17fX0sbkI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmNvbnRhaW5lcltiXTtjfHwoYz17X2VudGl0eTp7aW50ZXJuYWw6W10sZXh0ZXJuYWw6W119LF9ldmVudDp7aW50ZXJuYWw6W10sZXh0ZXJuYWw6W119fSxhLmNvbnRhaW5lcltiXT1jKTtyZXR1cm4gY307Cm1CLnByb3RvdHlwZS5hZGRSZXN0cmljdGlvbj1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDtpZighZHx8IXRoaXMuSFtiXSl7dmFyIGU9bkIodGhpcyxiKTthPT09MD9kP2UuX2VudGl0eS5leHRlcm5hbC5wdXNoKGMpOmUuX2VudGl0eS5pbnRlcm5hbC5wdXNoKGMpOmE9PT0xJiYoZD9lLl9ldmVudC5leHRlcm5hbC5wdXNoKGMpOmUuX2V2ZW50LmludGVybmFsLnB1c2goYykpfX07Cm1CLnByb3RvdHlwZS5nZXRSZXN0cmljdGlvbnM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uQih0aGlzLGIpO2lmKGE9PT0wKXt2YXIgZCxlO3JldHVybltdLmNvbmNhdCh3KChjPT1udWxsP3ZvaWQgMDooZD1jLl9lbnRpdHkpPT1udWxsP3ZvaWQgMDpkLmludGVybmFsKXx8W10pLHcoKGM9PW51bGw/dm9pZCAwOihlPWMuX2VudGl0eSk9PW51bGw/dm9pZCAwOmUuZXh0ZXJuYWwpfHxbXSkpfWlmKGE9PT0xKXt2YXIgZixnO3JldHVybltdLmNvbmNhdCh3KChjPT1udWxsP3ZvaWQgMDooZj1jLl9ldmVudCk9PW51bGw/dm9pZCAwOmYuaW50ZXJuYWwpfHxbXSksdygoYz09bnVsbD92b2lkIDA6KGc9Yy5fZXZlbnQpPT1udWxsP3ZvaWQgMDpnLmV4dGVybmFsKXx8W10pKX1yZXR1cm5bXX07Cm1CLnByb3RvdHlwZS5nZXRFeHRlcm5hbFJlc3RyaWN0aW9ucz1mdW5jdGlvbihhLGIpe3ZhciBjPW5CKHRoaXMsYiksZCxlO3JldHVybiBhPT09MD8oYz09bnVsbD92b2lkIDA6KGQ9Yy5fZW50aXR5KT09bnVsbD92b2lkIDA6ZC5leHRlcm5hbCl8fFtdOihjPT1udWxsP3ZvaWQgMDooZT1jLl9ldmVudCk9PW51bGw/dm9pZCAwOmUuZXh0ZXJuYWwpfHxbXX07bUIucHJvdG90eXBlLnJlbW92ZUV4dGVybmFsUmVzdHJpY3Rpb25zPWZ1bmN0aW9uKGEpe3ZhciBiPW5CKHRoaXMsYSk7Yi5fZXZlbnQmJihiLl9ldmVudC5leHRlcm5hbD1bXSk7Yi5fZW50aXR5JiYoYi5fZW50aXR5LmV4dGVybmFsPVtdKTt0aGlzLkhbYV09ITB9O2Z1bmN0aW9uIGlCKCl7cmV0dXJuIGtqKCJyIixmdW5jdGlvbigpe3JldHVybiBuZXcgbUJ9KX07ZnVuY3Rpb24gb0IoYSxiLGMsZCl7dmFyIGU9Y0EudGFnc1thXSxmPXBCKGEsYixjLGQpO2lmKCFmKXJldHVybiBudWxsO3ZhciBnPVp6KGUsYyk7aWYoZyYmZy5sZW5ndGgpe3ZhciBoPWdbMF07Zj1vQihoLmluZGV4LHtvblN1Y2Nlc3M6ZixvbkZhaWx1cmU6aC5ibz09PTE/Yi50ZXJtaW5hdGU6Zix0ZXJtaW5hdGU6Yi50ZXJtaW5hdGV9LGMsZCl9cmV0dXJuIGZ9CmZ1bmN0aW9uIHBCKGEsYixjLGQpe2Z1bmN0aW9uIGUoKXtmdW5jdGlvbiB5KCl7aW0oMyk7dmFyIFM9TmIoKS1OO0pBKDEsYSxmLmdldE5hbWUoKSk7Z0IoYy5pZCxnLCI3Iik7T0EoYy5sZCxELCJleGNlcHRpb24iLFMpO2ZuLkgmJkZ6KGMsZyxJeS5YLnVqKTtJfHwoST0hMCxsKCkpfWlmKGYuSWFbR2YuT3FdKWwoKTtlbHNle3ZhciB6PWFBKGYsYyk7aWYoeiE9bnVsbClmb3IodmFyIEM9MDtDPHoubGVuZ3RoO0MrKylpZighWG8oeltDXSkpe2woKTtyZXR1cm59dmFyIEQ9TkEoYy5sZCxmLk8sZi50YWdJZCxmLmdldE1ldGFkYXRhKGMpKSxJPSExLEc9e3Z0cF9ndG1PblN1Y2Nlc3M6ZnVuY3Rpb24oKXtpZighSSl7ST0hMDt2YXIgUz1OYigpLU47Z0IoYy5pZCxnLCI1Iik7T0EoYy5sZCxELCJzdWNjZXNzIixTKTtmbi5IJiZGeihjLGcsSXkuWC53aik7aCgpfX0sdnRwX2d0bU9uRmFpbHVyZTpmdW5jdGlvbigpe2lmKCFJKXtJPSEwO3ZhciBTPU5iKCktTjtnQihjLmlkLGcsIjYiKTsKT0EoYy5sZCxELCJmYWlsdXJlIixTKTtmbi5IJiZGeihjLGcsSXkuWC52aik7bCgpfX19O0cudnRwX2d0bUV2ZW50SWQ9Yy5pZDtjLnByaW9yaXR5SWQmJihHLnZ0cF9ndG1Qcmlvcml0eUlkPWMucHJpb3JpdHlJZCk7Z0IoYy5pZCxnLCIxIik7Zm4uSCYmRXooYyxnKTt2YXIgTj1OYigpO3RyeXtmLmV2YWx1YXRlKGMsZCxHKX1jYXRjaChTKXt5KFMpfWZuLkgmJkZ6KGMsZyxJeS5YLkNuKX19dmFyIGY9Y0EudGFnc1thXSxnPWYuRmcoKSxoPWIub25TdWNjZXNzLGw9Yi5vbkZhaWx1cmUsbj1iLnRlcm1pbmF0ZTtpZihjLmlzQmxvY2tlZChnKSlyZXR1cm4gbnVsbDt2YXIgcD0keihmLGMpO2lmKHAmJnAubGVuZ3RoKXt2YXIgcT1wWzBdLHI9b0IocS5pbmRleCx7b25TdWNjZXNzOmgsb25GYWlsdXJlOmwsdGVybWluYXRlOm59LGMsZCk7aWYoIXIpcmV0dXJuIG51bGw7aD1yO2w9cS5ibz09PTI/bjpyfWlmKGYuSWFbR2Yua25dfHxmLklhW0dmLlFxXSl7dmFyIHQ9Zi5JYVtHZi5rbl0/CmNBLnZrOmMudmssdT1oLHY9bDtpZighdFthXSl7dmFyIHg9cUIoYSx0LFBiKGUpKTtoPXgub25TdWNjZXNzO2w9eC5vbkZhaWx1cmV9cmV0dXJuIGZ1bmN0aW9uKCl7dFthXSh1LHYpfX1yZXR1cm4gZX1mdW5jdGlvbiBxQihhLGIsYyl7dmFyIGQ9W10sZT1bXTtiW2FdPXJCKGQsZSxjKTtyZXR1cm57b25TdWNjZXNzOmZ1bmN0aW9uKCl7YlthXT1zQjtmb3IodmFyIGY9MDtmPGQubGVuZ3RoO2YrKylkW2ZdKCl9LG9uRmFpbHVyZTpmdW5jdGlvbigpe2JbYV09dEI7Zm9yKHZhciBmPTA7ZjxlLmxlbmd0aDtmKyspZVtmXSgpfX19ZnVuY3Rpb24gckIoYSxiLGMpe3JldHVybiBmdW5jdGlvbihkLGUpe2EucHVzaChkKTtiLnB1c2goZSk7YygpfX1mdW5jdGlvbiBzQihhKXthKCl9ZnVuY3Rpb24gdEIoYSxiKXtiKCl9O3ZhciB3Qj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxjQS50YWdzLmxlbmd0aDtkKyspaWYoYVtkXSl7dmFyIGU9Y0EudGFnc1tkXTt2YXIgZj1RQShiLmxkKTt0cnl7dmFyIGc9b0IoZCx7b25TdWNjZXNzOmYsb25GYWlsdXJlOmYsdGVybWluYXRlOmZ9LGIsZCk7aWYoZyl7dmFyIGg9UXpbZS5PXTtjLnB1c2goe05vOmQscHJpb3JpdHlPdmVycmlkZTooaD9oLnByaW9yaXR5T3ZlcnJpZGV8fDA6MCl8fEtBKGUuTywxKXx8MCxleGVjdXRlOmd9KX1lbHNlIHVCKGQsYiksZigpfWNhdGNoKG4pe2YoKX19Yy5zb3J0KHZCKTtmb3IodmFyIGw9MDtsPGMubGVuZ3RoO2wrKyljW2xdLmV4ZWN1dGUoKTtyZXR1cm4gYy5sZW5ndGg+MH07CmZ1bmN0aW9uIHhCKGEsYil7aWYoIUhBKXJldHVybiExO3ZhciBjPWFbImd0bS50cmlnZ2VycyJdJiZTdHJpbmcoYVsiZ3RtLnRyaWdnZXJzIl0pLGQ9SUEoYS5ldmVudCxjP1N0cmluZyhjKS5zcGxpdCgiLCIpOltdKTtpZighZC5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDsrK2Upe3ZhciBmPVFBKGIpO3RyeXtkW2VdKGEsZil9Y2F0Y2goZyl7ZigpfX1yZXR1cm4hMH1mdW5jdGlvbiB2QihhLGIpe3ZhciBjLGQ9Yi5wcmlvcml0eU92ZXJyaWRlLGU9YS5wcmlvcml0eU92ZXJyaWRlO2M9ZD5lPzE6ZDxlPy0xOjA7dmFyIGY7aWYoYyE9PTApZj1jO2Vsc2V7dmFyIGc9YS5ObyxoPWIuTm87Zj1nPmg/MTpnPGg/LTE6MH1yZXR1cm4gZn0KZnVuY3Rpb24gdUIoYSxiKXtpZihmbi5OKXt2YXIgYz1mdW5jdGlvbihkKXt2YXIgZT1iLmlzQmxvY2tlZChjQS50YWdzW2RdLkZnKCkpPyIzIjoiNCIsZj1aeihjQS50YWdzW2RdLGIpO2YmJmYubGVuZ3RoJiZjKGZbMF0uaW5kZXgpO2dCKGIuaWQsY0EudGFnc1tkXS5GZygpLGUpO3ZhciBnPSR6KGNBLnRhZ3NbZF0sYik7ZyYmZy5sZW5ndGgmJmMoZ1swXS5pbmRleCl9O2MoYSl9fXZhciBIQTtmdW5jdGlvbiB5Qigpe0hBfHwoSEE9bmV3IEdBKTtyZXR1cm4gSEF9CmZ1bmN0aW9uIHpCKGEpe3ZhciBiPWFbImd0bS51bmlxdWVFdmVudElkIl0sYz1hWyJndG0ucHJpb3JpdHlJZCJdLGQ9YVsiZ3RtLnByaW9yaXR5UXVldWUiXSxlPWEuZXZlbnQ7Zm4uSCYmdnooYixlKTtpZihlPT09Imd0bS5qcyIpe2lmKCRrKDEzKSlyZXR1cm4hMTtaaygxMywhMCl9dmFyIGY9ITEsZz1sQigpLGg9RWQoYSxudWxsKTtpZighZy5ldmVyeShmdW5jdGlvbih1KXtyZXR1cm4gdSh7b3JpZ2luYWxFdmVudERhdGE6aH0pfSkpe2lmKGUhPT0iZ3RtLmpzIiYmZSE9PSJndG0uaW5pdCImJmUhPT0iZ3RtLmluaXRfY29uc2VudCIpcmV0dXJuITE7Zj0hMH1kQihiLGUpO3ZhciBsPWEuZXZlbnRDYWxsYmFjayxuPWEuZXZlbnRUaW1lb3V0LHA9e2lkOmIscHJpb3JpdHlJZDpjLHByaW9yaXR5UXVldWU6ZCxuYW1lOmUsaXNCbG9ja2VkOkFCKGgsZiksdms6W10sbG9nTWFjcm9FcnJvcjpmdW5jdGlvbih1LHYseCl7UCg2KTtpbSg0KTtKQSgyLHYseCl9LGNhY2hlZE1vZGVsVmFsdWVzOkJCKCksCmxkOm5ldyBNQShmdW5jdGlvbigpe2ZuLkgmJnl6KGIsZSk7RnkoNSxlKTtsJiZsLmFwcGx5KGwsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApKX0sbiksb3JpZ2luYWxFdmVudERhdGE6aH07Zm4uSCYmQ3oocC5pZCk7dmFyIHE9RUEocCk7Zm4uSCYmRHoocC5pZCk7RnkoMixlKTtjQS5nZXRSdWxlcygpO2YmJihxPUNCKHEpKTtmbi5IJiZ3eihiKTt2YXIgcj13QihxLHApO3ImJkZ5KDQsZSk7dmFyIHQ9eEIoYSxwLmxkKTtSQShwLmxkKTtlIT09Imd0bS5qcyImJmUhPT0iZ3RtLnN5bmMifHxYQSgpO3JldHVybiBEQihxLHIpfHx0fQpmdW5jdGlvbiBCQigpe3ZhciBhPXt9O2EuZXZlbnQ9dkEoImV2ZW50IiwxKTthLmVjb21tZXJjZT12QSgiZWNvbW1lcmNlIiwxKTthLmd0bT12QSgiZ3RtIik7YS5ldmVudE1vZGVsPXZBKCJldmVudE1vZGVsIik7cmV0dXJuIGF9CmZ1bmN0aW9uIEFCKGEsYil7dmFyIGM9QUEoKTtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9YyhkKTtpZihlKXJldHVybiEwO3ZhciBmPWQmJmRbR2YuWWJdO2lmKCFmfHx0eXBlb2YgZiE9PSJzdHJpbmciKXJldHVybiEwO2Y9Zi5yZXBsYWNlKC9eXyovLCIiKTt2YXIgZz1qQigpLGg9YTtiJiYoaD1FZChhLG51bGwpLGhbImd0bS51bmlxdWVFdmVudElkIl09TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO2Zvcih2YXIgbD0hMSxuPWFsKDI3LGZ1bmN0aW9uKCl7cmV0dXJue319KVtmXXx8W10scD1tKGcpLHE9cC5uZXh0KCk7IXEuZG9uZTtxPXAubmV4dCgpKXt2YXIgcj1xLnZhbHVlO3RyeXtyKHtlbnRpdHlJZDpmLHNlY3VyaXR5R3JvdXBzOm4sb3JpZ2luYWxFdmVudERhdGE6aH0pfHwobD0hMCl9Y2F0Y2godCl7bD0hMH19cmV0dXJuIGx8fGV9fQpmdW5jdGlvbiBDQihhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10pe3ZhciBkPWNBLnRhZ3NbY10uTztpZihCaltkXXx8Y0EudGFnc1tjXS5JYVtHZi5ScV0hPT12b2lkIDB8fEtBKGQsMikpYltjXT0hMH1yZXR1cm4gYn1mdW5jdGlvbiBEQihhLGIpe2lmKCFiKXJldHVybiBiO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10mJmNBLnRhZ3NbY10mJiFDaltjQS50YWdzW2NdLk9dKXJldHVybiEwO3JldHVybiExfTt2YXIgRUI9TmYoNjEsMUUzKSxGQj1OZig2OCwyRTMpLFpvPVsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIl07ZnVuY3Rpb24gR0IoYSxiKXtpZihhKXt2YXIgYz1raigiZ3RoIixmdW5jdGlvbigpe3JldHVybnt9fSksZDthIT09Mnx8KChkPUhCKCkpPT1udWxsP3ZvaWQgMDpkLnN0YXR1cykhPT0zfHxiIT09dm9pZCAwJiZiPD1GQnx8KGE9MyxjLmRsPWI/TWF0aC5mbG9vcihiLzFFMyk6dm9pZCAwKTtjLnM9YTtJQihjKX19ZnVuY3Rpb24gSUIoYSl7aWYoYS5zKXt2YXIgYj1mdW5jdGlvbigpe3ZhciBjPXtzdGF0dXM6YS5zLGV4cGlyZXM6RGF0ZS5ub3coKSs4NjRFNX07YS5kbCE9PXZvaWQgMCYmKGMuZGVsYXk9YS5kbCk7a3IoImd0Z19sb2FkX3N0YXR1cyIsYyl9O2JwKGZ1bmN0aW9uKCl7aWYoWW8oKSliKCk7ZWxzZSBmb3IodmFyIGM9UGIoYiksZD1tKFpvKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlJbChjLGUudmFsdWUpfSxabyl9fQpmdW5jdGlvbiBKQigpe3ZhciBhPUtCKCEwKTtyZXR1cm4gYT8oTEIoYS5zdGF0dXMsYS5kZWxheSksITEpOiEwfWZ1bmN0aW9uIEtCKGEpe2E9YT09PXZvaWQgMD8hMTphO2lmKGFrKCkpe3ZhciBiPW5yKCJndGdfbG9hZF9zdGF0dXMiKSxjPWIudmFsdWUsZD1hJiZBYihjPT1udWxsP3ZvaWQgMDpjLmV4cGlyZXMpJiYoYz09bnVsbD92b2lkIDA6Yy5leHBpcmVzKTxEYXRlLm5vdygpKzM2RTU7aWYoYi5lcnJvcj09PTAmJkFiKGM9PW51bGw/dm9pZCAwOmMuc3RhdHVzKSYmIWQpe3ZhciBlPXtzdGF0dXM6Yy5zdGF0dXN9OyhjPT1udWxsP3ZvaWQgMDpjLmRlbGF5KSE9PXZvaWQgMCYmKGUuZGVsYXk9Yy5kZWxheSk7cmV0dXJuIGV9cmV0dXJuIEhCKCl9fWZ1bmN0aW9uIExCKGEsYil7dmFyIGM9a2ooImd0aCIsZnVuY3Rpb24oKXtyZXR1cm57fX0pO2Mucz1hO2IhPT12b2lkIDAmJihjLmRsPWIpfQpmdW5jdGlvbiBIQigpe3ZhciBhPW1qKCJndGgiKTtpZihhIT1udWxsJiZhLnMpe3ZhciBiPXtzdGF0dXM6YS5zfTthLmRsIT09dm9pZCAwJiYoYi5kZWxheT1hLmRsKTtyZXR1cm4gYn19ZnVuY3Rpb24gTUIoKXt2YXIgYTsoKGE9SEIoKSk9PW51bGw/dm9pZCAwOmEuc3RhdHVzKT09PTEmJkdCKDMpfWZ1bmN0aW9uIE5CKCl7aWYoSkIoKSl7dmFyIGE9RGF0ZS5ub3coKTtuaigiZ3RoIix7bDpmdW5jdGlvbigpe0dCKDIsRGF0ZS5ub3coKS1hKX0sczoxfSk7dmFyIGI9RSg1KSxjPVNiKGIsIkdUTS0iKT8iL2d0bS5qcyI6Ii9ndGFnL2pzIixkPSJodHRwczovLyIrRSgzKStjKyI/aWQ9IitiKyImZ3RnX2hlYWx0aD0xIjtVYyhkLE1CLE1CKTtBLnNldFRpbWVvdXQoTUIsRUIpfX07ZnVuY3Rpb24gT0IoKXt5QigpLmFkZExpc3RlbmVyKCJndG0uaW5pdCIsZnVuY3Rpb24oYSxiKXtaaygyNiwhMCk7TSg1NTYpJiZhaygpJiYhSWYoNDUpJiYoZm8uSFtjby5pYS5aYl09Ym8uTWEuTGgpO2lmKGFrKCkpe3ZhciBjO2M9bG8oY28uaWEuWmIpO2dvKGMpP2lvKGMsTkIpOk5CKCl9dG8oITEsITApO2IoKX0pfTtmdW5jdGlvbiBQQigpe2lmKG1qKCJwc2NkbCIpIT09dm9pZCAwKW5tKGptLmJhLm9pKT09PXZvaWQgMCYmbW0oam0uYmEub2ksbWooInBzY2RsIikpO2Vsc2V7dmFyIGE9ZnVuY3Rpb24oYyl7bmooInBzY2RsIixjKTttbShqbS5iYS5vaSxjKX0sYj1mdW5jdGlvbigpe2EoImVycm9yIil9O3RyeXtIYy5jb29raWVEZXByZWNhdGlvbkxhYmVsPyhhKCJwZW5kaW5nIiksSGMuY29va2llRGVwcmVjYXRpb25MYWJlbC5nZXRWYWx1ZSgpLnRoZW4oYSkuY2F0Y2goYikpOmEoIm5vYXBpIil9Y2F0Y2goYyl7YihjKX19fTt2YXIgUkI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMucmVhZHk9ITE7dGhpcy5LPTA7dGhpcy5IPVtdO3ZhciBiPUE7aWYoQi5yZWFkeVN0YXRlPT09ImludGVyYWN0aXZlIiYmIUIuY3JlYXRlRXZlbnRPYmplY3R8fEIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdGhpcy5vblJlYWR5KCk7ZWxzZXskYyhCLCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KTskYyhCLCJyZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KTtpZihCLmNyZWF0ZUV2ZW50T2JqZWN0JiZCLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCl7dmFyIGM9ITA7dHJ5e2M9IWIuZnJhbWVFbGVtZW50fWNhdGNoKGQpe31jJiZRQih0aGlzKX0kYyhiLCJsb2FkIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KX19O1JCLnByb3RvdHlwZS5pc1JlYWR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVhZHl9OwpSQi5wcm90b3R5cGUub25SZWFkeT1mdW5jdGlvbihhKXtpZighdGhpcy5yZWFkeSl7dmFyIGI9Qi5jcmVhdGVFdmVudE9iamVjdCxjPUIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIsZD1CLnJlYWR5U3RhdGU9PT0iaW50ZXJhY3RpdmUiO2lmKCFhfHxhLnR5cGUhPT0icmVhZHlzdGF0ZWNoYW5nZSJ8fGN8fCFiJiZkKXt0aGlzLnJlYWR5PSEwO2Zvcih2YXIgZT0wO2U8dGhpcy5ILmxlbmd0aDtlKyspYmQodGhpcy5IW2VdKX10aGlzLkgucHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgZj1PYS5hcHBseSgwLGFyZ3VtZW50cyksZz0wO2c8Zi5sZW5ndGg7ZysrKWJkKGZbZ10pO3JldHVybiAwfX19Owp2YXIgUUI9ZnVuY3Rpb24oYSl7aWYoIWEucmVhZHkmJmEuSzwxNDApe2EuSysrO3RyeXt2YXIgYixjOyhjPShiPUIuZG9jdW1lbnRFbGVtZW50KS5kb1Njcm9sbCk9PW51bGx8fGMuY2FsbChiLCJsZWZ0Iik7YS5vblJlYWR5KCl9Y2F0Y2goZCl7QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgUUIoYSl9LDUwKX19fSxTQjtmdW5jdGlvbiBUQigpe1NCfHwoU0I9bmV3IFJCKX1mdW5jdGlvbiBVQigpe1RCKCk7dmFyIGE7cmV0dXJuKGE9U0IpPT1udWxsP3ZvaWQgMDphLmlzUmVhZHkoKX1mdW5jdGlvbiBWQihhKXtUQigpO3ZhciBiOyhiPVNCKSE9bnVsbCYmKGIucmVhZHk/YmQoYSk6Yi5ILnB1c2goYSkpfTt2YXIgWEI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVdCLGU7aWYoKGU9ZC5IKT09bnVsbHx8IWUuT3Ipe3ZhciBmPU9iamVjdC5rZXlzKGIpLmxlbmd0aD4wPzI6MSxnLGgsbD0oYz09bnVsbD92b2lkIDA6KGg9Yy5vcmlnaW5hdGluZ0VudGl0eSk9PW51bGw/dm9pZCAwOmgub3JpZ2luQ29udGFpbmVySWQpfHwiIjtnPWw/U2IobCwiR1RNLSIpPzM6MjoxO2lmKCFhKWQuSD17dHlwZTpmLHNvdXJjZTpnLHBhcmFtczpifTtlbHNlIGlmKGQuSCl7UCgxODQpO3ZhciBuPSExO2QuSC5zb3VyY2U9PT1nfHxkLkguc291cmNlIT09MyYmZyE9PTN8fChVbSgiaWRjcyIsIjEiKSxuPSEwKTtkLkgudHlwZSE9PTImJmYhPT0yfHxQKDE4Nik7dmFyIHA7aWYocD1kLkgudHlwZT09PTImJmY9PT0yKWE6e3ZhciBxPWQuSC5wYXJhbXMscj1PYmplY3Qua2V5cyhxKSx0PU9iamVjdC5rZXlzKGIpO2lmKHIubGVuZ3RoIT09dC5sZW5ndGgpcD0hMDtlbHNle2Zvcih2YXIgdT1tKHIpLHY9dS5uZXh0KCk7IXYuZG9uZTt2PQp1Lm5leHQoKSl7dmFyIHg9di52YWx1ZTtpZighYi5oYXNPd25Qcm9wZXJ0eSh4KXx8cVt4XSE9PWJbeF0pe3A9ITA7YnJlYWsgYX19cD0hMX19cCYmKFVtKCJpZGNjIiwiMSIpLG49ITApO24mJih0bygpLGQuSC5Pcj0hMCl9fX0sV0I9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXZvaWQgMH07dmFyIFpCPWZ1bmN0aW9uKGEpe3ZhciBiPVlCOyghZm4uS3x8U2IoRSg1KSwiR1RNLSIpPzA6YT09PXZvaWQgMCkmJmIuSD09PTAmJihVbSgibWNjIiwiMSIpLGIuSD0xKX0sWUI9bmV3IGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkg9MDtVbSgibmNjIixmdW5jdGlvbigpe2lmKElmKDQ1KSYmYS5IIT09MilyZXR1cm4iMSJ9KX07dmFyICRCPS9eKD86QVd8REN8R3xHRnxHVHxIQXxNQ3xVQSkkLyxhQz0vXHMvOwpmdW5jdGlvbiBiQyhhLGIpe2lmKHpiKGEpKXthPUxiKGEpO3ZhciBjPWEuaW5kZXhPZigiLSIpO2lmKCEoYzwwKSl7dmFyIGQ9YS5zdWJzdHJpbmcoMCxjKTtpZigkQi50ZXN0KGQpKXt2YXIgZT1hLnN1YnN0cmluZyhjKzEpLGY7aWYoYil7dmFyIGc9ZnVuY3Rpb24obil7dmFyIHA9bi5pbmRleE9mKCIvIik7cmV0dXJuIHA8MD9bbl06W24uc3Vic3RyaW5nKDAscCksbi5zdWJzdHJpbmcocCsxKV19O2Y9ZyhlKTtpZihkPT09IkRDIiYmZi5sZW5ndGg9PT0yKXt2YXIgaD1nKGZbMV0pO2gubGVuZ3RoPT09MiYmKGZbMV09aFswXSxmLnB1c2goaFsxXSkpfX1lbHNle2Y9ZS5zcGxpdCgiLyIpO2Zvcih2YXIgbD0wO2w8Zi5sZW5ndGg7bCsrKWlmKCFmW2xdfHxhQy50ZXN0KGZbbF0pJiYoZCE9PSJBVyJ8fGwhPT0xKSlyZXR1cm59cmV0dXJue2lkOmEscHJlZml4OmQsZGVzdGluYXRpb25JZDpkKyItIitmWzBdLGlkczpmLEpjOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWQhPT10aGlzLmRlc3RpbmF0aW9uSWR9fX19fX0KZnVuY3Rpb24gY0MoYSxiKXtmb3IodmFyIGM9e30sZD0wO2Q8YS5sZW5ndGg7KytkKXt2YXIgZT1iQyhhW2RdLGIpO2UmJihjW2UuaWRdPWUpfXZhciBmPVtdLGc7Zm9yKGcgaW4gYylpZihjLmhhc093blByb3BlcnR5KGcpKXt2YXIgaD1jW2ddO2gucHJlZml4PT09IkFXIiYmaC5pZHNbZENbMV1dJiZmLnB1c2goaC5kZXN0aW5hdGlvbklkKX1mb3IodmFyIGw9MDtsPGYubGVuZ3RoOysrbClkZWxldGUgY1tmW2xdXTtmb3IodmFyIG49W10scD1tKE9iamVjdC5rZXlzKGMpKSxxPXAubmV4dCgpOyFxLmRvbmU7cT1wLm5leHQoKSluLnB1c2goY1txLnZhbHVlXSk7cmV0dXJuIG59dmFyIGVDPXt9LGRDPShlQ1swXT0wLGVDWzFdPTEsZUNbMl09MixlQ1szXT0wLGVDWzRdPTEsZUNbNV09MCxlQ1s2XT0wLGVDWzddPTAsZUMpO3ZhciBmQz17aW5pdGlhbGl6ZWQ6MTEsY29tcGxldGU6MTIsaW50ZXJhY3RpdmU6MTN9LGdDPXt9LGhDPU9iamVjdC5mcmVlemUoKGdDW0YuRC5UZF09ITAsZ0MpKSxpQz1mdW5jdGlvbigpe3RoaXMuUj1OZigzNCw1MDApO3RoaXMuSD17fTt0aGlzLk49e307dGhpcy5LPXZvaWQgMH0sakM9ZnVuY3Rpb24oYSxiLGMpe2lmKGMubGVuZ3RoJiZmbi5LKXt2YXIgZDsoZD1hLkgpW2JdIT1udWxsfHwoZFtiXT1bXSk7dmFyIGU7KGU9YS5OKVtiXSE9bnVsbHx8KGVbYl09W10pO3ZhciBmPWMuZmlsdGVyKGZ1bmN0aW9uKGcpe3JldHVybiFhLk5bYl0uaW5jbHVkZXMoZyl9KTthLkhbYl0ucHVzaC5hcHBseShhLkhbYl0sdyhmKSk7YS5OW2JdLnB1c2guYXBwbHkoYS5OW2JdLHcoZikpOyFhLksmJmYubGVuZ3RoPjAmJihWbSgidGRjIiwhMCksYS5LPUEuc2V0VGltZW91dChmdW5jdGlvbigpe3RvKCk7YS5IPXt9O2EuSz12b2lkIDB9LGEuUikpfX07CmlDLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztVbSgidGRjIixmdW5jdGlvbigpe2EuSyYmKEEuY2xlYXJUaW1lb3V0KGEuSyksYS5LPXZvaWQgMCk7dmFyIGI9W10sYztmb3IoYyBpbiBhLkgpYS5ILmhhc093blByb3BlcnR5KGMpJiZiLnB1c2goYysiKiIrYS5IW2NdLmpvaW4oIi4iKSk7cmV0dXJuIGIubGVuZ3RoP2Iuam9pbigiISIpOnZvaWQgMH0sITEpfTsKdmFyIGtDPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZDtmb3IoZCBpbiBiKWIuaGFzT3duUHJvcGVydHkoZCkmJihjW2RdPSEwKTtmb3IodmFyIGUgaW4gYSlhLmhhc093blByb3BlcnR5KGUpJiYoY1tlXT0hMCk7cmV0dXJuIGN9LGxDPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwP3t9OmQ7ZT1lPT09dm9pZCAwPyIiOmU7aWYoYj09PWMpcmV0dXJuW107dmFyIGY9ZnVuY3Rpb24odCx1KXt2YXIgdjtBZCh1KT09PSJvYmplY3QiP3Y9dVt0XTpBZCh1KT09PSJhcnJheSImJih2PXVbdF0pO3JldHVybiB2PT09dm9pZCAwP2hDW3RdOnZ9LGc9a0MoYixjKSxoO2ZvcihoIGluIGcpaWYoZy5oYXNPd25Qcm9wZXJ0eShoKSYmaCE9PUYuRC5YYil7dmFyIGw9KGU/ZSsiLiI6IiIpK2gsbj1mKGgsYikscD1mKGgsYykscT1BZChuKT09PSJvYmplY3QifHxBZChuKT09PSJhcnJheSIscj1BZChwKT09PSJvYmplY3QifHxBZChwKT09PSJhcnJheSI7aWYocSYmcilsQyhhLG4scCxkLGwpOwplbHNlIGlmKHF8fHJ8fG4hPT1wKWRbbF09ITB9cmV0dXJuIE9iamVjdC5rZXlzKGQpfSxtQz1uZXcgaUM7dmFyIG5DPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuSz1OYigpO3RoaXMuSD1iO3RoaXMuYXJncz1jO3RoaXMubWVzc2FnZUNvbnRleHQ9ZDt0aGlzLnR5cGU9YX0sb0M9ZnVuY3Rpb24oKXt0aGlzLldhPXt9O3RoaXMuaWI9e307dGhpcy5LPXt9O3RoaXMuTj1udWxsO3RoaXMuaGI9e307dGhpcy5IPSExO3RoaXMuc3RhdHVzPTF9O2Z1bmN0aW9uIHBDKGEsYil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PT0xP3FDKCJzZXQiLGEpOnFDKCJzZXQiLGEsYil9ZnVuY3Rpb24gckMoYSxiKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD09PTE/cUMoImNvbmZpZyIsYSk6cUMoImNvbmZpZyIsYSxiKX1mdW5jdGlvbiBzQyhhLGIsYyl7Yz1jfHx7fTtjW0YuRC5YYl09YTtyZXR1cm4gcUMoImV2ZW50IixiLGMpfWZ1bmN0aW9uIHFDKCl7cmV0dXJuIGFyZ3VtZW50c307dmFyIHRDPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxsLG4scCxxLHIpe3RoaXMuZXZlbnRJZD1hO3RoaXMucHJpb3JpdHlJZD1iO3RoaXMucHJpb3JpdHlRdWV1ZT1jO3RoaXMuRWE9ZDt0aGlzLldhPWU7dGhpcy5oYj1mO3RoaXMuSGM9Zzt0aGlzLkJnPWg7dGhpcy5pYj1sO3RoaXMuZXZlbnRNZXRhZGF0YT1uO3RoaXMub25TdWNjZXNzPXA7dGhpcy5vbkZhaWx1cmU9cTt0aGlzLmlzR3RtRXZlbnQ9cn0sdUM9ZnVuY3Rpb24oYSl7dmFyIGI9e29uU3VjY2Vzczp4YixvbkZhaWx1cmU6eGJ9O2I9Yj09PXZvaWQgMD97fTpiO3ZhciBjLGQsZSxmLGcsaCxsLG4scCxxLHIsdCx1LHYseCx5LHosQyxELEksRyxOLFMsVyxlYSxqYTtyZXR1cm4gbmV3IHRDKCh2PShjPWIpPT1udWxsP3ZvaWQgMDpjLmV2ZW50SWQpIT1udWxsP3Y6YS5ldmVudElkLCh4PShkPWIpPT1udWxsP3ZvaWQgMDpkLnByaW9yaXR5SWQpIT1udWxsP3g6YS5wcmlvcml0eUlkLCh5PShlPWIpPT1udWxsP3ZvaWQgMDplLnByaW9yaXR5UXVldWUpIT0KbnVsbD95OmEucHJpb3JpdHlRdWV1ZSwoej0oZj1iKT09bnVsbD92b2lkIDA6Zi5FYSkhPW51bGw/ejphLkVhLChDPShnPWIpPT1udWxsP3ZvaWQgMDpnLldhKSE9bnVsbD9DOmEuV2EsKEQ9KGg9Yik9PW51bGw/dm9pZCAwOmguaGIpIT1udWxsP0Q6YS5oYiwoST0obD1iKT09bnVsbD92b2lkIDA6bC5IYykhPW51bGw/STphLkhjLChHPShuPWIpPT1udWxsP3ZvaWQgMDpuLkJnKSE9bnVsbD9HOmEuQmcsKE49KHA9Yik9PW51bGw/dm9pZCAwOnAuaWIpIT1udWxsP046YS5pYiwoUz0ocT1iKT09bnVsbD92b2lkIDA6cS5ldmVudE1ldGFkYXRhKSE9bnVsbD9TOmEuZXZlbnRNZXRhZGF0YSwoVz0ocj1iKT09bnVsbD92b2lkIDA6ci5vblN1Y2Nlc3MpIT1udWxsP1c6YS5vblN1Y2Nlc3MsKGVhPSh0PWIpPT1udWxsP3ZvaWQgMDp0Lm9uRmFpbHVyZSkhPW51bGw/ZWE6YS5vbkZhaWx1cmUsKGphPSh1PWIpPT1udWxsP3ZvaWQgMDp1LmlzR3RtRXZlbnQpIT1udWxsP2phOmEuaXNHdG1FdmVudCl9LAp2Qz1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO3N3aXRjaChiKXtjYXNlIDM6Yy5wdXNoKGEuRWEpO2MucHVzaChhLldhKTtjLnB1c2goYS5oYik7Yy5wdXNoKGEuSGMpO2MucHVzaChhLmliKTticmVhaztjYXNlIDI6Yy5wdXNoKGEuRWEpO2JyZWFrO2Nhc2UgMTpjLnB1c2goYS5XYSk7Yy5wdXNoKGEuaGIpO2MucHVzaChhLkhjKTtjLnB1c2goYS5pYik7YnJlYWs7Y2FzZSA0OmMucHVzaChhLkVhKSxjLnB1c2goYS5XYSksYy5wdXNoKGEuaGIpLGMucHVzaChhLkhjKX1yZXR1cm4gY30sTz1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGU9bSh2QyhhLGQ9PT12b2lkIDA/MzpkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7aWYoZ1tiXSE9PXZvaWQgMClyZXR1cm4gZ1tiXX1yZXR1cm4gY30sd0M9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9dkMoYSw0KSxkPW0oYyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpZm9yKHZhciBmPU9iamVjdC5rZXlzKGUudmFsdWUpLApnPW0oZiksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpYltoLnZhbHVlXT0xO3JldHVybiBPYmplY3Qua2V5cyhiKX07dEMucHJvdG90eXBlLmdldE1lcmdlZFZhbHVlcz1mdW5jdGlvbihhLGIsYyl7Yj1iPT09dm9pZCAwPzM6Yjt2YXIgZD17fSxlPSExLGY9ZnVuY3Rpb24obil7Q2QobikmJkdiKG4sZnVuY3Rpb24ocCxxKXtlPSEwO2RbcF09cX0pfTtjJiZmKGMpO3ZhciBnPXZDKHRoaXMsYik7Zy5yZXZlcnNlKCk7Zm9yKHZhciBoPW0oZyksbD1oLm5leHQoKTshbC5kb25lO2w9aC5uZXh0KCkpZihsLnZhbHVlW2FdKTtyZXR1cm4gZT9kOnZvaWQgMH07CnZhciB4Qz1mdW5jdGlvbihhKXtmb3IodmFyIGI9W0YuRC5LZixGLkQuR2YsRi5ELkhmLEYuRC5JZixGLkQuSmYsRi5ELkxmLEYuRC5NZl0sYz12QyhhLDMpLGQ9bShjKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7Zm9yKHZhciBmPWUudmFsdWUsZz17fSxoPSExLGw9bShiKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9bi52YWx1ZTtmW3BdIT09dm9pZCAwJiYoZ1twXT1mW3BdLGg9ITApfXZhciBxPWg/Zzp2b2lkIDA7aWYocSlyZXR1cm4gcX1yZXR1cm57fX0seUM9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZXZlbnRJZD1hO3RoaXMucHJpb3JpdHlJZD1iO3RoaXMucHJpb3JpdHlRdWV1ZT1jO3RoaXMuRWE9e307dGhpcy5XYT17fTt0aGlzLmhiPXt9O3RoaXMuSGM9e307dGhpcy5CZz17fTt0aGlzLmliPXt9O3RoaXMuZXZlbnRNZXRhZGF0YT17fTt0aGlzLmlzR3RtRXZlbnQ9ITE7dGhpcy5vblN1Y2Nlc3M9ZnVuY3Rpb24oKXt9O3RoaXMub25GYWlsdXJlPQpmdW5jdGlvbigpe319LHpDPWZ1bmN0aW9uKGEsYil7YS5FYT1iO3JldHVybiBhfSxBQz1mdW5jdGlvbihhLGIpe2EuV2E9YjtyZXR1cm4gYX0sQkM9ZnVuY3Rpb24oYSxiKXthLmhiPWI7cmV0dXJuIGF9LENDPWZ1bmN0aW9uKGEsYil7YS5IYz1iO3JldHVybiBhfSxEQz1mdW5jdGlvbihhLGIpe2EuQmc9YjtyZXR1cm4gYX0sRUM9ZnVuY3Rpb24oYSxiKXthLmliPWI7cmV0dXJuIGF9LEZDPWZ1bmN0aW9uKGEsYil7YS5ldmVudE1ldGFkYXRhPWJ8fHt9O3JldHVybiBhfSxHQz1mdW5jdGlvbihhLGIpe2Eub25TdWNjZXNzPWI7cmV0dXJuIGF9LEhDPWZ1bmN0aW9uKGEsYil7YS5vbkZhaWx1cmU9YjtyZXR1cm4gYX0sSUM9ZnVuY3Rpb24oYSxiKXthLmlzR3RtRXZlbnQ9YjtyZXR1cm4gYX0sSkM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyB0QyhhLmV2ZW50SWQsYS5wcmlvcml0eUlkLGEucHJpb3JpdHlRdWV1ZSxhLkVhLGEuV2EsYS5oYixhLkhjLGEuQmcsYS5pYixhLmV2ZW50TWV0YWRhdGEsCmEub25TdWNjZXNzLGEub25GYWlsdXJlLGEuaXNHdG1FdmVudCl9O2Z1bmN0aW9uIEtDKGEsYil7R2IoYSxmdW5jdGlvbihjKXt2YXIgZDtpZihkPWMuY2hhckF0KDApPT09Il8iKXt2YXIgZTthOnN3aXRjaChjKXtjYXNlIEYuRC5WYjpjYXNlIEYuRC5SZjpjYXNlIEYuRC5zaDplPSEwO2JyZWFrIGE7ZGVmYXVsdDplPSExfWQ9IWV9ZCYmKGImJmIoYyksZGVsZXRlIGFbY10pfSl9O3ZhciBMQz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPXt9O2Z6KGZ1bmN0aW9uKGIpe3ZhciBjPWIuZXZlbnRJZCxkPWIudGYsZT1bXSxmPWEuSFtjXXx8W107Zi5sZW5ndGgmJmUucHVzaChbImVwciIsZi5qb2luKCIuIildKTtkJiZkZWxldGUgYS5IW2NdO3JldHVybiBlfSl9LE5DPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1NQztmbi5OJiZhIT09dm9pZCAwJiYoZC5IW2FdPWQuSFthXXx8W10sZC5IW2FdLnB1c2goYytiKSxneigpLGV6KGEpKX0sTUM7ZnVuY3Rpb24gT0MoKXtNQ3x8KE1DPW5ldyBMQyl9O3ZhciBQQz1mdW5jdGlvbigpe3RoaXMuZGVzdGluYXRpb25zPXt9O3RoaXMuSD17fTt0aGlzLmNvbW1hbmRzPVtdfSxRQz1mdW5jdGlvbihhLGIpe3JldHVybiBhLmRlc3RpbmF0aW9uc1tiLmRlc3RpbmF0aW9uSWRdPWEuZGVzdGluYXRpb25zW2IuZGVzdGluYXRpb25JZF18fG5ldyBvQ30sUkM9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoZC5IKXt2YXIgZT1RQyhhLGQuSCksZj1lLk47aWYoZil7dmFyIGc9RWQoYyxudWxsKSxoPUVkKGUuV2FbZC5ILmRlc3RpbmF0aW9uSWRdLG51bGwpLGw9RWQoZS5oYixudWxsKSxuPUVkKGUuaWIsbnVsbCkscD1FZChhLkgsbnVsbCkscT17fTtpZihmbi5OKXRyeXtxPUVkKHJBLkgsbnVsbCl9Y2F0Y2goeCl7UCg3Mil9dmFyIHI9ZC5ILnByZWZpeCx0PWZ1bmN0aW9uKHgpe3ZhciB5PWQubWVzc2FnZUNvbnRleHQuZXZlbnRJZDtPQygpO05DKHkscix4KX0sdT1KQyhJQyhIQyhHQyhGQyhEQyhDQyhFQyhCQyhBQyh6QyhuZXcgeUMoZC5tZXNzYWdlQ29udGV4dC5ldmVudElkLApkLm1lc3NhZ2VDb250ZXh0LnByaW9yaXR5SWQsZC5tZXNzYWdlQ29udGV4dC5wcmlvcml0eVF1ZXVlKSxnKSxoKSxsKSxuKSxwKSxxKSxkLm1lc3NhZ2VDb250ZXh0LmV2ZW50TWV0YWRhdGEpLGZ1bmN0aW9uKCl7aWYodCl7dmFyIHg9dDt0PXZvaWQgMDt4KCIyIik7aWYoZC5tZXNzYWdlQ29udGV4dC5vblN1Y2Nlc3MpZC5tZXNzYWdlQ29udGV4dC5vblN1Y2Nlc3MoKX19KSxmdW5jdGlvbigpe2lmKHQpe3ZhciB4PXQ7dD12b2lkIDA7eCgiMyIpO2lmKGQubWVzc2FnZUNvbnRleHQub25GYWlsdXJlKWQubWVzc2FnZUNvbnRleHQub25GYWlsdXJlKCl9fSksISFkLm1lc3NhZ2VDb250ZXh0LmlzR3RtRXZlbnQpKSx2PWZ1bmN0aW9uKCl7dHJ5e3ZhciB4PWQubWVzc2FnZUNvbnRleHQuZXZlbnRJZDtPQygpO05DKHgsciwiMSIpO3ZhciB5PWQuSC5pZCx6PW1DO2lmKGZuLksmJmI9PT1GLkQud2Epe3ZhciBDLEQ9KEM9YkMoeSkpPT1udWxsP3ZvaWQgMDpDLmlkcztpZighKEQmJkQubGVuZ3RoPgoxKSl7dmFyIEk9dS5FYVtGLkQuWGJdO2lmKCFJfHxJPT09eSl7dmFyIEcsTj1NYygiZ29vZ2xlX3RhZ19kYXRhIix7fSk7Ti50ZHx8KE4udGQ9e30pO0c9Ti50ZDt2YXIgUz1FZCh1LkhjLG51bGwpO0VkKHUuRWEsUyk7dmFyIFc9W10sZWE7Zm9yKGVhIGluIEcpRy5oYXNPd25Qcm9wZXJ0eShlYSkmJmxDKHosR1tlYV0sUykubGVuZ3RoJiZXLnB1c2goZWEpO1cubGVuZ3RoJiYoakMoeix5LFcpLHNiKCJUQUdHSU5HIixmQ1tCLnJlYWR5U3RhdGVdfHwxNCkpO0dbeV09U319fWYoZC5ILmlkLGIsZC5LLHUpfWNhdGNoKGZhKXt2YXIgamE9ZC5tZXNzYWdlQ29udGV4dC5ldmVudElkO09DKCk7TkMoamEsciwiNCIpfX07Yj09PSJndGFnLmdldCI/digpOmlvKGUuUix2KX19fSxTQz1mdW5jdGlvbihhLGIpe2lmKGIudHlwZSE9PSJyZXF1aXJlIil7dmFyIGM9dm9pZCAwO2IudHlwZT09PSJldmVudCImJihjPWIuYXJnc1sxXSk7aWYoYi5IKWZvcih2YXIgZD1RQyhhLGIuSCkuS1tiLnR5cGVdfHwKW10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWRbZV0oYyk7ZWxzZSBmb3IodmFyIGYgaW4gYS5kZXN0aW5hdGlvbnMpaWYoYS5kZXN0aW5hdGlvbnMuaGFzT3duUHJvcGVydHkoZikpe3ZhciBnPWEuZGVzdGluYXRpb25zW2ZdO2lmKGcmJmcuSylmb3IodmFyIGg9Zy5LW2IudHlwZV18fFtdLGw9MDtsPGgubGVuZ3RoO2wrKyloW2xdKGMpfX19O1BDLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1RQyh0aGlzLGEpO2Uuc3RhdHVzIT09MyYmKGUuTj1iLGUuc3RhdHVzPTMsZS5SPWxvKGMpLFRDKHRoaXMsYSxkfHx7fSksdGhpcy5mbHVzaCgpKX07ClBDLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGEsYixjLGQpe2MhPT12b2lkIDAmJihRQyh0aGlzLGMpLnN0YXR1cz09PTEmJihRQyh0aGlzLGMpLnN0YXR1cz0yLHRoaXMucHVzaCgicmVxdWlyZSIsW3t9XSxjLHt9KSksUUModGhpcyxjKS5IJiYoZC5kZWZlcnJhYmxlPSExKSxkLmV2ZW50TWV0YWRhdGF8fChkLmV2ZW50TWV0YWRhdGE9e30pLGQuZXZlbnRNZXRhZGF0YVtILkouc2ddfHwoZC5ldmVudE1ldGFkYXRhW0guSi5zZ109W2MuZGVzdGluYXRpb25JZF0pLGQuZXZlbnRNZXRhZGF0YVtILkoubWpdfHwoZC5ldmVudE1ldGFkYXRhW0guSi5tal09W2MuaWRdKSk7dGhpcy5jb21tYW5kcy5wdXNoKG5ldyBuQyhhLGMsYixkKSk7ZC5kZWZlcnJhYmxlfHx0aGlzLmZsdXNoKCl9OwpQQy5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXRoaXMsYz1bXSxkPSExLGU9e307dGhpcy5jb21tYW5kcy5sZW5ndGg7ZT17Wm46dm9pZCAwfSl7dmFyIGY9dGhpcy5jb21tYW5kc1swXSxnPWYuSDtpZihmLm1lc3NhZ2VDb250ZXh0LmRlZmVycmFibGUpIWd8fFFDKHRoaXMsZykuSD8oZi5tZXNzYWdlQ29udGV4dC5kZWZlcnJhYmxlPSExLHRoaXMuY29tbWFuZHMucHVzaChmKSk6Yy5wdXNoKGYpLHRoaXMuY29tbWFuZHMuc2hpZnQoKTtlbHNle3N3aXRjaChmLnR5cGUpe2Nhc2UgInJlcXVpcmUiOmlmKFFDKHRoaXMsZykuc3RhdHVzIT09MyYmIWEpe3RoaXMuY29tbWFuZHMucHVzaC5hcHBseSh0aGlzLmNvbW1hbmRzLGMpO3JldHVybn1icmVhaztjYXNlICJzZXQiOnZhciBoPWYuYXJnc1swXTtLQyhoKTtVQyhoKTtHYihoLGZ1bmN0aW9uKHgseSl7RWQoVmIoeCx5KSxiLkgpfSk7SHUoaCwhMCk7YnJlYWs7Y2FzZSAiZXZlbnQiOmUuWm49Zi5hcmdzWzFdO3ZhciBsPQpWQyhmLmFyZ3NbMF0sZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt9fShlKSksbj1sW0YuRC5YYl07biYmbiE9PWcuaWR8fEh1KGwpO1JDKHRoaXMsZS5abixsLGYpO2JyZWFrO2Nhc2UgImdldCI6dmFyIHA9e30scT0ocFtGLkQuVGZdPWYuYXJnc1swXSxwW0YuRC5TZl09Zi5hcmdzWzFdLHApO1JDKHRoaXMsRi5ELkpiLHEsZik7YnJlYWs7Y2FzZSAiY29udGFpbmVyX2NvbmZpZyI6dmFyIHI9UUModGhpcyxnKSx0PVZDKGYuYXJnc1swXSxmdW5jdGlvbigpe30pO0h1KHQsITApO3IuSD0hMDtFZCh0LHIuaGIpO2Q9ITA7YnJlYWs7Y2FzZSAiZGVzdGluYXRpb25fY29uZmlnIjp2YXIgdT1RQyh0aGlzLGcpLHY9VkMoZi5hcmdzWzBdLGZ1bmN0aW9uKCl7fSk7SHUodiwhMCk7dS5XYVtnLmlkXXx8KHUuV2FbZy5pZF09e30pO3UuSD0hMDtFZCh2LHUuV2FbZy5pZF0pO2Q9ITA7YnJlYWs7Y2FzZSAicmVzZXRfY29udGFpbmVyX2NvbmZpZyI6UUModGhpcyxnKS5oYj17fTticmVhazsKY2FzZSAicmVzZXRfdGFyZ2V0X2NvbmZpZyI6UUModGhpcyxnKS5XYVtnLmlkXT17fX10aGlzLmNvbW1hbmRzLnNoaWZ0KCk7U0ModGhpcyxmKX19dGhpcy5jb21tYW5kcy5wdXNoLmFwcGx5KHRoaXMuY29tbWFuZHMsYyk7ZCYmdGhpcy5mbHVzaCgpfTt2YXIgVEM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPUVkKGMsbnVsbCk7RWQoUUMoYSxiKS5pYixkKTtRQyhhLGIpLmliPWR9O2Z1bmN0aW9uIFZDKGEsYil7dmFyIGM9e307R2IoYSxmdW5jdGlvbihkLGUpe0VkKFZiKGQsZSksYyl9KTtLQyhjLGIpO1VDKGMpO3JldHVybiBjfQpmdW5jdGlvbiBVQyhhKXtpZihNKDYwMSkmJkJBKCkpe2Zvcih2YXIgYj0hMSxjPW0obmV3IFNldChbRi5ELnljLEYuRC5kZF0pKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTthW2VdIT09dm9pZCAwJiYoYj0hMCxkZWxldGUgYVtlXSl9YiYmIWFsKDM1LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSYmKFprKDM1LCEwKSx3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nJiZ3aW5kb3cuY29uc29sZS5sb2coIkdvb2dsZSBUYWcgTWFuYWdlcjogU2VydmVyLXNpZGUgR1RNIHBhcmFtZXRlcnMgKHRyYW5zcG9ydF91cmwvc2VydmVyX2NvbnRhaW5lcl91cmwpIGFyZSBub3QgcGVybWl0dGVkIG9uIHRoaXMgZG9tYWluIGFuZCBoYXZlIGJlZW4gaWdub3JlZC4iKSxQKDE5NykpfX07dmFyIFdDPWZ1bmN0aW9uKCl7dGhpcy5IPW5ldyBQQzt0aGlzLks9ITF9O1dDLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe3RoaXMuSC5mbHVzaCgpfTt2YXIgWEM7ZnVuY3Rpb24gWUMoKXtYQ3x8KFhDPW5ldyBXQyk7cmV0dXJuIFhDfWZ1bmN0aW9uIFpDKGEsYixjLGQpe3ZhciBlPVlDKCksZj1iQyhjLGQuaXNHdG1FdmVudCk7ZiYmKGUuSyYmKGQuZGVmZXJyYWJsZT0hMCksZS5ILnB1c2goImV2ZW50IixbYixhXSxmLGQpKX1mdW5jdGlvbiAkQyhhLGIsYyxkKXt2YXIgZT1ZQygpLGY9YkMoYyxkLmlzR3RtRXZlbnQpO2YmJmUuSC5wdXNoKCJnZXQiLFthLGJdLGYsZCl9ZnVuY3Rpb24gYUQoYSxiLGMpe3ZhciBkPVlDKCksZT1iQyhhLGMuaXNHdG1FdmVudCk7ZSYmZC5ILnB1c2goImNvbnRhaW5lcl9jb25maWciLFtiXSxlLGMpfQpmdW5jdGlvbiBiRChhLGIsYyl7dmFyIGQ9WUMoKSxlPWJDKGEsYy5pc0d0bUV2ZW50KTtlJiZkLkgucHVzaCgiZGVzdGluYXRpb25fY29uZmlnIixbYl0sZSxjKX1mdW5jdGlvbiBjRChhKXt2YXIgYj1ZQygpLGM9YkMoYSwhMCk7YyYmYi5ILnB1c2goInJlc2V0X2NvbnRhaW5lcl9jb25maWciLFtdLGMse30pfWZ1bmN0aW9uIGREKGEpe3ZhciBiPVlDKCksYz1iQyhhLCEwKTtjJiZiLkgucHVzaCgicmVzZXRfdGFyZ2V0X2NvbmZpZyIsW10sYyx7fSl9ZnVuY3Rpb24gZUQoYSl7dmFyIGI9WUMoKSxjPWJDKGEsITApO3JldHVybiBjP1FDKGIuSCxjKS5pYjp7fX1mdW5jdGlvbiBmRChhKXtyZXR1cm4gWUMoKS5ILkhbYV19ZnVuY3Rpb24gZ0QoYSl7dmFyIGI9WUMoKSxjPWJDKGEsITApO3JldHVybiBjP1FDKGIuSCxjKS5IOiExfTtmdW5jdGlvbiBoRChhLGIpe2EuaGFzT3duUHJvcGVydHkoImd0bS51bmlxdWVFdmVudElkIil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJndG0udW5pcXVlRXZlbnRJZCIse3ZhbHVlOnJqKCl9KTtiLmV2ZW50SWQ9YVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXTtiLnByaW9yaXR5SWQ9YVsiZ3RtLnByaW9yaXR5SWQiXTtyZXR1cm57ZXZlbnRJZDpiLmV2ZW50SWQscHJpb3JpdHlJZDpiLnByaW9yaXR5SWR9fWZ1bmN0aW9uIGlEKGEpe2Zvcih2YXIgYj1tKFtGLkQuZGQsRi5ELnljXSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPWMudmFsdWUsZT1hJiZhW2RdfHxmRChkKTtpZihlKXJldHVybiBlfX1mdW5jdGlvbiBqRChhKXtyZXR1cm4hYS5pc0d0bUV2ZW50fHxhLmV2ZW50TWV0YWRhdGEmJmEuZXZlbnRNZXRhZGF0YVtILkouQ2NdJiZhLmV2ZW50TWV0YWRhdGFbSC5KLk5iXSE9PXZrKCk/ITE6ITB9O3ZhciBrRD1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9ITF9O3ZhciBsRD1mdW5jdGlvbigpe3RoaXMubWVzc2FnZXM9W107dGhpcy5IPVtdfTtsRC5wcm90b3R5cGUuZW5xdWV1ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5tZXNzYWdlcy5sZW5ndGgrMTthWyJndG0udW5pcXVlRXZlbnRJZCJdPWI7YVsiZ3RtLnByaW9yaXR5SWQiXT1kO3ZhciBlPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyx7ZXZlbnRJZDpiLHByaW9yaXR5SWQ6ZCxmcm9tQ29udGFpbmVyRXhlY3V0aW9uOiEwfSk7aWYoTSg1OTUpKXt2YXIgZj1jLnByaW9yaXR5UXVldWU/W10uY29uY2F0KHcoYy5wcmlvcml0eVF1ZXVlKSxbZF0pOltkXTthWyJndG0ucHJpb3JpdHlRdWV1ZSJdPWY7ZS5wcmlvcml0eVF1ZXVlPWZ9dmFyIGc9e21lc3NhZ2U6YSxub3RCZWZvcmVFdmVudElkOmIscHJpb3JpdHlJZDpkLG1lc3NhZ2VDb250ZXh0OmV9O3RoaXMubWVzc2FnZXMucHVzaChnKTtmb3IodmFyIGg9MDtoPHRoaXMuSC5sZW5ndGg7aCsrKXRyeXt0aGlzLkhbaF0oZyl9Y2F0Y2gobCl7fX07CmxELnByb3RvdHlwZS5saXN0ZW49ZnVuY3Rpb24oYSl7dGhpcy5ILnB1c2goYSl9O2xELnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE9e30sYj0wO2I8dGhpcy5tZXNzYWdlcy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLm1lc3NhZ2VzW2JdLGQ9YVtjLm5vdEJlZm9yZUV2ZW50SWRdO2R8fChkPVtdLGFbYy5ub3RCZWZvcmVFdmVudElkXT1kKTtkLnB1c2goYyl9cmV0dXJuIGF9O2xELnByb3RvdHlwZS5wcnVuZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz1bXSxkPTA7ZDx0aGlzLm1lc3NhZ2VzLmxlbmd0aDtkKyspe3ZhciBlPXRoaXMubWVzc2FnZXNbZF07ZS5ub3RCZWZvcmVFdmVudElkPT09YT9iLnB1c2goZSk6Yy5wdXNoKGUpfXRoaXMubWVzc2FnZXM9YztyZXR1cm4gYn07CmZ1bmN0aW9uIG1EKGEsYixjKXtjLmV2ZW50TWV0YWRhdGE9Yy5ldmVudE1ldGFkYXRhfHx7fTtjLmV2ZW50TWV0YWRhdGFbSC5KLk5iXT1NKDU1MCk/dmsoKTpFKDYpO25EKCkuZW5xdWV1ZShhLGIsYyl9ZnVuY3Rpb24gbkQoKXtyZXR1cm4ga2ooIm1iIixmdW5jdGlvbigpe3JldHVybiBuZXcgbER9KX07dmFyIHBEPWZ1bmN0aW9uKGEsYil7dmFyIGM9b0Q7Yj1TdHJpbmcoYikuc3BsaXQoIiwiKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9Yy5OW2JbZF1dfHxbXTtjLk5bYltkXV09ZTtlLmluZGV4T2YoYSk8MCYmZS5wdXNoKGEpfX0scUQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9b0QsZD1bXSxlPVtdLGY9e30sZz0wO2c8YS5sZW5ndGg7Zj17bGs6dm9pZCAwLFFqOnZvaWQgMCxSajp2b2lkIDB9LGcrKyl7dmFyIGg9YVtnXTtpZihoLmluZGV4T2YoIi0iKT49MCl7aWYoZi5saz1iQyhoLGIpLGYubGspe3ZhciBsPXRrKCk7Q2IobCxmdW5jdGlvbih4KXtyZXR1cm4gZnVuY3Rpb24oeSl7cmV0dXJuIHgubGsuZGVzdGluYXRpb25JZD09PXl9fShmKSk/ZC5wdXNoKGgpOmUucHVzaChoKX19ZWxzZXtpZihNKDU1MCkpe3ZhciBuPWMuS1toXXx8W107Zi5Saj17fTtuLmZvckVhY2goZnVuY3Rpb24oeCl7cmV0dXJuIGZ1bmN0aW9uKHkpe3guUmpbeV09ITB9fShmKSk7Zm9yKHZhciBwPQp0aygpLHE9MDtxPHAubGVuZ3RoO3ErKylmLlJqW3BbcV1dJiZkLnB1c2gocFtxXSl9ZWxzZXt2YXIgcj1jLkhbaF18fFtdO2YuUWo9e307ci5mb3JFYWNoKGZ1bmN0aW9uKHgpe3JldHVybiBmdW5jdGlvbih5KXt4LlFqW3ldPSEwfX0oZikpO2Zvcih2YXIgdD13aygpLHU9MDt1PHQubGVuZ3RoO3UrKylpZihmLlFqW3RbdV1dKXtkPWQuY29uY2F0KHRrKCkpO2JyZWFrfX12YXIgdj1jLk5baF18fFtdO3YubGVuZ3RoJiYoZD1kLmNvbmNhdCh2KSl9fXJldHVybntlazpkLFBzOmV9fSxyRD1mdW5jdGlvbihhKXtHYihvRC5ILGZ1bmN0aW9uKGIsYyl7dmFyIGQ9Yy5pbmRleE9mKGEpO2Q+PTAmJmMuc3BsaWNlKGQsMSl9KX0sc0Q9ZnVuY3Rpb24oYSl7R2Iob0QuSyxmdW5jdGlvbihiLGMpe3ZhciBkPWMuaW5kZXhPZihhKTtkPj0wJiZjLnNwbGljZShkLDEpfSl9LHREPWZ1bmN0aW9uKGEpe0diKG9ELk4sZnVuY3Rpb24oYixjKXt2YXIgZD1jLmluZGV4T2YoYSk7ZD49MCYmYy5zcGxpY2UoZCwKMSl9KX0sb0Q9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXt9O3RoaXMuTj17fTt0aGlzLks9e319O2Z1bmN0aW9uIHVEKGEsYixjKXt2YXIgZD1FZChhLG51bGwpO2QuZXZlbnRJZD12b2lkIDA7ZC5pbmhlcml0UGFyZW50Q29uZmlnPXZvaWQgMDtPYmplY3Qua2V5cyhiKS5zb21lKGZ1bmN0aW9uKGYpe3JldHVybiBiW2ZdIT09dm9pZCAwfSkmJlAoMTM2KTt2YXIgZT1FZChiLG51bGwpO0VkKGMsZSk7bUQockMod2soKVswXSxlKSxhLmV2ZW50SWQsZCl9CmZ1bmN0aW9uIHZEKGEsYixjLGQpe3ZhciBlPXt9LGY9KGVbRi5ELlViXT1GLkQud2EsZVsiZ3RtLmNvbmZpZ0NvbnRhaW5lcklkIl09YS5pZCxlWyJndG0uY29uZmlnUGFyYW1ldGVycyJdPWIsZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1kLmV2ZW50SWQsZSk7Yy5wcmlvcml0eVF1ZXVlJiYoZlsiZ3RtLnByaW9yaXR5UXVldWUiXT1jLnByaW9yaXR5UXVldWUpO2MuZXZlbnRNZXRhZGF0YSYmKGZbImd0bS5ldmVudE1ldGFkYXRhIl09Yy5ldmVudE1ldGFkYXRhKTthLkpjKCkmJihmWyJndG0uY29uZmlnQ29udGFpbmVySWQiXT13aygpWzBdLGZbImd0bS5vcmlnaW5hbENvbmZpZ1RhcmdldElkIl09YS5pZCk7cmV0dXJuIGZ9ZnVuY3Rpb24gd0QoYSxiLGMpe2lmKElmKDExKSYmIWMmJiFhW0YuRC5WZF0pe3ZhciBkPWFsKDEwLGZ1bmN0aW9uKCl7cmV0dXJuITF9KTtaaygxMCwhMCk7WEIoZCxhLGIpO2lmKGQpcmV0dXJuITB9cmV0dXJuITF9O2Z1bmN0aW9uIHhEKGEsYil7dmFyIGM9e30sZD0oYy5ldmVudD1hLGMpO2ImJihkLmV2ZW50TW9kZWw9RWQoYixudWxsKSxiW0YuRC5QZl0mJihkLmV2ZW50Q2FsbGJhY2s9YltGLkQuUGZdKSxiW0YuRC5waF0mJihkLmV2ZW50VGltZW91dD1iW0YuRC5waF0pKTtyZXR1cm4gZH0KZnVuY3Rpb24geUQoYSxiKXt2YXIgYz1hJiZhW0YuRC5YYl07Yz09PXZvaWQgMCYmKGM9dUEoRi5ELlhiLDIpLGM9PT12b2lkIDAmJihjPSJkZWZhdWx0IikpO2lmKHpiKGMpfHxBcnJheS5pc0FycmF5KGMpKXt2YXIgZDtkPWIuaXNHdG1FdmVudD96YihjKT9bY106YzpjLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpLnNwbGl0KCIsIik7dmFyIGU9cUQoZCxiLmlzR3RtRXZlbnQpLGY9ZS5layxnPWUuUHM7aWYoZy5sZW5ndGgpZm9yKHZhciBoPWlEKGEpLGw9MDtsPGcubGVuZ3RoO2wrKyl7dmFyIG49YkMoZ1tsXSxiLmlzR3RtRXZlbnQpO2lmKG4pe3ZhciBwPW4uZGVzdGluYXRpb25JZCxxPXZvaWQgMDsoKHE9bmsobi5kZXN0aW5hdGlvbklkKSk9PW51bGw/dm9pZCAwOnEuc3RhdGUpPT09MHx8bkEocCxoLHtzb3VyY2U6Myxmcm9tQ29udGFpbmVyRXhlY3V0aW9uOmIuZnJvbUNvbnRhaW5lckV4ZWN1dGlvbn0pfX12YXIgcj1mLmNvbmNhdChnKTtyZXR1cm57ZWs6Y0MoZixiLmlzR3RtRXZlbnQpLAptcjpjQyhyLGIuaXNHdG1FdmVudCl9fX07dmFyIHpEPXt9LEFEPSh6RC5jb25maWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1oRChhLGIpLGQ7YTp7aWYoIShhLmxlbmd0aDwyKSYmemIoYVsxXSkpe3ZhciBlPXt9O2lmKGEubGVuZ3RoPjIpe2lmKGFbMl0hPT12b2lkIDAmJiFDZChhWzJdKXx8YS5sZW5ndGg+Myl7ZD12b2lkIDA7YnJlYWsgYX1lPWFbMl19dmFyIGY9YkMoYVsxXSxiLmlzR3RtRXZlbnQpO2lmKGYpe2Q9e3RhcmdldDpmLHBhcmFtczplfTticmVhayBhfX1kPXZvaWQgMH12YXIgZz1kO2lmKGcpe3ZhciBoPWcudGFyZ2V0LGw9Zy5wYXJhbXMsbjthOntpZighSWYoNykpe3ZhciBwPXlrKHprKCkpO2lmKE1rKHApKXt2YXIgcT1wLnBhcmVudCxyPXEuaXNEZXN0aW5hdGlvbjtuPXtWczp5ayhxKSxNczpyfTticmVhayBhfX1uPXZvaWQgMH12YXIgdD1uLHU9dD09bnVsbD92b2lkIDA6dC5Wcyx2PXQ9PW51bGw/dm9pZCAwOnQuTXM7ZEIoYy5ldmVudElkLCJndGFnLmNvbmZpZyIpO3ZhciB4LHk9aC5kZXN0aW5hdGlvbklkOwppZihoLkpjKCk/dGsoKS5pbmRleE9mKHkpIT09LTE6d2soKS5pbmRleE9mKHkpIT09LTEpYTp7aWYodSYmKFAoMTI4KSx2JiZQKDEzMCksYi5pbmhlcml0UGFyZW50Q29uZmlnKSl7dmFyIHo7dmFyIEM9JGsoMTIpO2lmKEMpdUQoYixDLGwpLHo9ITE7ZWxzZXt2YXIgRD0kaygxMSk7IWxbRi5ELlZkXSYmKE0oNTUwKXx8SWYoMTEpKSYmRHx8WmsoMTEsRWQobCxudWxsKSk7ej0hMH16JiZ1LmNvbnRhaW5lcnMmJnUuY29udGFpbmVycy5qb2luKCIsIik7eD12b2lkIDA7YnJlYWsgYX12YXIgST0hSWYoNDUpLEc9IVNiKGguaWQsIkdUTS0iKTtJJiZHJiYoT2JqZWN0LmtleXMobCkubGVuZ3RoPT09MD9HdShULlcuU2spOkd1KFQuVy5UayksRWwoKSYmR3UoVC5XLlJrKSwkaygzMSkmJkd1KFQuVy5VaykpO3ZhciBOPVlCO2ZuLksmJihOLkg9PT0xJiYoUW0uSC5tY2M9ITEpLE4uSD0yKTtpZihNKDU1MCl8fCF3RChsLGIsaC5KYygpKSl7a0QuSHx8UCg0Myk7aWYoIU0oNTUwKSl7aWYoIWIubm9UYXJnZXRHcm91cCl7dmFyIFM9CmguaWQ7aWYoaC5KYygpKXREKFMpLHBEKFMsbFtGLkQuT2RdfHwiZGVmYXVsdCIpO2Vsc2V7ckQoUyk7dmFyIFc9bFtGLkQuT2RdfHwiZGVmYXVsdCIsZWE9b0Q7Vz1XLnRvU3RyaW5nKCkuc3BsaXQoIiwiKTtmb3IodmFyIGphPTA7amE8Vy5sZW5ndGg7amErKyl7dmFyIGZhPWVhLkhbV1tqYV1dfHxbXTtlYS5IW1dbamFdXT1mYTtmYS5pbmRleE9mKFMpPDAmJmZhLnB1c2goUyl9fX1kZWxldGUgbFtGLkQuT2RdfXZhciBzYT1iLmV2ZW50TWV0YWRhdGF8fHt9O3NhLmhhc093blByb3BlcnR5KEguSi5hZSl8fChzYVtILkouYWVdPSFiLmZyb21Db250YWluZXJFeGVjdXRpb24pO2IuZXZlbnRNZXRhZGF0YT1zYTtkZWxldGUgbFtGLkQuUGZdO2lmKE0oNTUwKSl7eD12RChoLGwsYixjKTticmVhayBhfXZhciBkYT0hIWxbRi5ELlZkXTtkZWxldGUgbFtGLkQuVmRdO3ZhciBtYT10aygpLFBhPWNELEZhPWFEO2guSmMoKSYmKG1hPVtoLmlkXSxQYT1kRCxGYT1iRCk7Zm9yKHZhciBxYT0wO3FhPAptYS5sZW5ndGg7cWErKyl7ZGF8fFBhKG1hW3FhXSk7dmFyIGliPWdEKG1hW3FhXSk7RmEobWFbcWFdLEVkKGwsbnVsbCksRWQoYixudWxsKSk7aWImJmRhfHxaQyhGLkQud2EsRWQobCxudWxsKSxtYVtxYV0sRWQoYixudWxsKSl9fXg9dm9pZCAwfWVsc2UgYTp7aWYoIWIuaW5oZXJpdFBhcmVudENvbmZpZyYmIWxbRi5ELlpjXSl7dmFyIFhiPWlEKGwpLExjPWguZGVzdGluYXRpb25JZDtpZihoLkpjKCkpbkEoTGMsWGIse3NvdXJjZToyLGZyb21Db250YWluZXJFeGVjdXRpb246Yi5mcm9tQ29udGFpbmVyRXhlY3V0aW9ufSk7ZWxzZSBpZih1IT09dm9pZCAwJiZ1LmNvbnRhaW5lcnMuaW5kZXhPZihMYykhPT0tMSl7dmFyIFFkPSRrKDExKSxZYz0kaygxMik7UWQ/dUQoYixsLFFkKTpZY3x8WmsoMTIsRWQobCxudWxsKSl9ZWxzZSBpZihoQShMYyxYYiwhMCx7c291cmNlOjIsZnJvbUNvbnRhaW5lckV4ZWN1dGlvbjpiLmZyb21Db250YWluZXJFeGVjdXRpb259KSxNKDU1MCkpe3g9dkQoaCwKbCxiLGMpO2JyZWFrIGF9fXg9dm9pZCAwfXJldHVybiB4fX0sekQuY29uc2VudD1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09Myl7UCgzOSk7dmFyIGM9aEQoYSxiKSxkPWFbMV0sZT17fSxmPU9vKGFbMl0pLGc7Zm9yKGcgaW4gZilpZihmLmhhc093blByb3BlcnR5KGcpKXt2YXIgaD1mW2ddO2VbZ109Zz09PUYuRC5ZZz9BcnJheS5pc0FycmF5KGgpP05hTjpOdW1iZXIoaCk6Zz09PUYuRC5uYz8oQXJyYXkuaXNBcnJheShoKT9oOltoXSkubWFwKFBvKTpRbyhoKX1iLmZyb21Db250YWluZXJFeGVjdXRpb258fChlW0YuRC5tYV0mJlAoMTM5KSxlW0YuRC5YYV0mJlAoMTQwKSk7ZD09PSJkZWZhdWx0Ij9UbyhlKTpkPT09InVwZGF0ZSI/Vm8oZSxjKTpkPT09ImRlY2xhcmUiJiZiLmZyb21Db250YWluZXJFeGVjdXRpb24mJlNvKGUpfX0sekQuY29udGFpbmVyX2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZDZChhWzJdKSl7dmFyIGM9CmFbMl0sZD1iQyhhWzFdLCEwKTtkJiZhRChkLmRlc3RpbmF0aW9uSWQsYyxFZChiLG51bGwpKX19LHpELmRlc3RpbmF0aW9uX2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZDZChhWzJdKSl7dmFyIGM9YVsyXSxkPWJDKGFbMV0sITApO2lmKGQpe2lmKE0oNTUwKSl7aWYoIWIubm9UYXJnZXRHcm91cCl7dmFyIGU9ZC5pZDtpZihkLkpjKCkpdEQoZSkscEQoZSxjW0YuRC5PZF18fCJkZWZhdWx0Iik7ZWxzZXtzRChlKTt2YXIgZj1jW0YuRC5PZF18fCJkZWZhdWx0IixnPW9EO2Y9U3RyaW5nKGYpLnNwbGl0KCIsIik7Zm9yKHZhciBoPTA7aDxmLmxlbmd0aDtoKyspe3ZhciBsPWcuS1tmW2hdXXx8W107Zy5LW2ZbaF1dPWw7bC5pbmRleE9mKGUpPDAmJmwucHVzaChlKX19fWRlbGV0ZSBjW0YuRC5PZF19YkQoZC5pZCxjLEVkKGIsbnVsbCkpfX19LHpELmV2ZW50PWZ1bmN0aW9uKGEsYil7dmFyIGM9YVsxXTtpZighKGEubGVuZ3RoPDIpJiYKemIoYykpe3ZhciBkPXZvaWQgMDtpZihhLmxlbmd0aD4yKXtpZighQ2QoYVsyXSkmJmFbMl0hPT12b2lkIDB8fGEubGVuZ3RoPjMpcmV0dXJuO2Q9YVsyXX12YXIgZT14RChjLGQpLGY9aEQoYSxiKSxnPWYuZXZlbnRJZCxoPWYucHJpb3JpdHlJZDtlWyJndG0udW5pcXVlRXZlbnRJZCJdPWc7aCYmKGVbImd0bS5wcmlvcml0eUlkIl09aCk7Yi5wcmlvcml0eVF1ZXVlJiYoZVsiZ3RtLnByaW9yaXR5UXVldWUiXT1iLnByaW9yaXR5UXVldWUpO2lmKGM9PT0ib3B0aW1pemUuY2FsbGJhY2siKXJldHVybiBlLmV2ZW50TW9kZWw9ZS5ldmVudE1vZGVsfHx7fSxlO3ZhciBsPXlEKGQsYik7aWYobCl7Zm9yKHZhciBuPWwuZWsscD1sLm1yLHE9cC5tYXAoZnVuY3Rpb24oTil7cmV0dXJuIE4uaWR9KSxyPXAubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLmRlc3RpbmF0aW9uSWR9KSx0PW4ubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLmlkfSksdT1tKHRrKCkpLHY9dS5uZXh0KCk7IXYuZG9uZTt2PQp1Lm5leHQoKSl7dmFyIHg9di52YWx1ZTtyLmluZGV4T2YoeCk8MCYmdC5wdXNoKHgpfWRCKGcsYyk7Zm9yKHZhciB5PW0odCksej15Lm5leHQoKTshei5kb25lO3o9eS5uZXh0KCkpe3ZhciBDPXoudmFsdWUsRD1FZChiLG51bGwpLEk9RWQoZCxudWxsKTtkZWxldGUgSVtGLkQuUGZdO3ZhciBHPUQuZXZlbnRNZXRhZGF0YXx8e307Ry5oYXNPd25Qcm9wZXJ0eShILkouYWUpfHwoR1tILkouYWVdPSFELmZyb21Db250YWluZXJFeGVjdXRpb24pO0dbSC5KLm1qXT1xLnNsaWNlKCk7R1tILkouc2ddPXIuc2xpY2UoKTtELmV2ZW50TWV0YWRhdGE9RztaQyhjLEksQyxEKX1lLmV2ZW50TW9kZWw9ZS5ldmVudE1vZGVsfHx7fTtxLmxlbmd0aD4wP2UuZXZlbnRNb2RlbFtGLkQuWGJdPXEuam9pbigiLCIpOmRlbGV0ZSBlLmV2ZW50TW9kZWxbRi5ELlhiXTtrRC5IfHxQKDQzKTtiLm5vR3RtRXZlbnQ9PT12b2lkIDAmJmIuZXZlbnRNZXRhZGF0YSYmYi5ldmVudE1ldGFkYXRhW0guSi5Cbl0mJihiLm5vR3RtRXZlbnQ9CiEwKTtlLmV2ZW50TW9kZWxbRi5ELlljXSYmKGIubm9HdG1FdmVudD0hMCk7cmV0dXJuIGIubm9HdG1FdmVudD92b2lkIDA6ZX19fSx6RC5nZXQ9ZnVuY3Rpb24oYSxiKXtQKDUzKTtpZihhLmxlbmd0aD09PTQmJnpiKGFbMV0pJiZ6YihhWzJdKSYmeWIoYVszXSkpe3ZhciBjPWJDKGFbMV0sYi5pc0d0bUV2ZW50KSxkPVN0cmluZyhhWzJdKSxlPWFbM107aWYoYyl7a0QuSHx8UCg0Myk7dmFyIGY9aUQoKTtpZihDYih0aygpLGZ1bmN0aW9uKGgpe3JldHVybiBjLmRlc3RpbmF0aW9uSWQ9PT1ofSkpe2hEKGEsYik7dmFyIGc9e307RWQoKGdbRi5ELlRmXT1kLGdbRi5ELlNmXT1lLGcpLG51bGwpOyRDKGQsZnVuY3Rpb24oaCl7YmQoZnVuY3Rpb24oKXtlKGgpfSl9LGMuaWQsYil9ZWxzZSBuQShjLmRlc3RpbmF0aW9uSWQsZix7c291cmNlOjQsZnJvbUNvbnRhaW5lckV4ZWN1dGlvbjpiLmZyb21Db250YWluZXJFeGVjdXRpb259KX19fSx6RC5qcz1mdW5jdGlvbihhLGIpe3ZhciBjO2lmKGEubGVuZ3RoPT09CjImJmFbMV0uZ2V0VGltZSl7a0QuSD0hMDt2YXIgZD1oRChhLGIpLGU9ZC5ldmVudElkLGY9ZC5wcmlvcml0eUlkLGc9e307Yz0oZy5ldmVudD0iZ3RtLmpzIixnWyJndG0uc3RhcnQiXT1hWzFdLmdldFRpbWUoKSxnWyJndG0udW5pcXVlRXZlbnRJZCJdPWUsZ1siZ3RtLnByaW9yaXR5SWQiXT1mLGcpfWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9LHpELnBvbGljeT1mdW5jdGlvbihhKXtpZihhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZ5YihhWzJdKSl7aWYoaHkoYVsxXSxhWzJdKSxQKDc0KSxhWzFdPT09ImFsbCIpe1AoNzUpO3ZhciBiPSExO3RyeXtiPWFbMl0oRSg1KSwidW5rbm93biIse30pfWNhdGNoKGMpe31ifHxQKDc2KX19ZWxzZSBQKDczKX0sekQucmVzZXRfdGFyZ2V0X2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTImJnpiKGFbMV0pKXt2YXIgYz1iQyhhWzFdLCEwKTtjJiZkRChjLmlkKX19LHpELnNldD1mdW5jdGlvbihhLGIpe3ZhciBjPXZvaWQgMDsKYS5sZW5ndGg9PT0yJiZDZChhWzFdKT9jPUVkKGFbMV0sbnVsbCk6YS5sZW5ndGg9PT0zJiZ6YihhWzFdKSYmKGM9e30sQ2QoYVsyXSl8fEFycmF5LmlzQXJyYXkoYVsyXSk/Y1thWzFdXT1FZChhWzJdLG51bGwpOmNbYVsxXV09YVsyXSk7aWYoYyl7WmsoMzEsITApO3ZhciBkPWhEKGEsYiksZT1kLmV2ZW50SWQsZj1kLnByaW9yaXR5SWQ7RWQoYyxudWxsKTtFKDUpO3ZhciBnPUVkKGMsbnVsbCk7WUMoKS5ILnB1c2goInNldCIsW2ddLHZvaWQgMCxiKTtjWyJndG0udW5pcXVlRXZlbnRJZCJdPWU7ZiYmKGNbImd0bS5wcmlvcml0eUlkIl09Zik7ZGVsZXRlIGMuZXZlbnQ7Yi5vdmVyd3JpdGVNb2RlbEZpZWxkcz0hMDtyZXR1cm4gY319LHpEKSxCRD17fSxDRD0oQkQucG9saWN5PSEwLEJEKTt2YXIgRUQ9ZnVuY3Rpb24oYSl7aWYoREQoYSkpcmV0dXJuIGE7dGhpcy52YWx1ZT1hfTtFRC5wcm90b3R5cGUuZ2V0VW50cnVzdGVkTWVzc2FnZVZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O3ZhciBERD1mdW5jdGlvbihhKXtyZXR1cm4hYXx8QWQoYSkhPT0ib2JqZWN0Inx8Q2QoYSk/ITE6ImdldFVudHJ1c3RlZE1lc3NhZ2VWYWx1ZSJpbiBhfTtFRC5wcm90b3R5cGUuZ2V0VW50cnVzdGVkTWVzc2FnZVZhbHVlPUVELnByb3RvdHlwZS5nZXRVbnRydXN0ZWRNZXNzYWdlVmFsdWU7dmFyIEZEPXtCYjoiMSIsZWU6IjIiLFhkOiIzIixjZToiNCIseGY6IjUiLHFnOiI2IixLaDoiNyIsdGo6IjgiLGxpOiI5IixqajoiMTAifTsKdmFyIEdEPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9YS50cmltKCkucmVwbGFjZUFsbCgvXHMrL2csIiIpLnJlcGxhY2VBbGwoLyhcZHsyLH0pXC4vZywiJDEiKS5yZXBsYWNlQWxsKC8tL2csIiIpLnJlcGxhY2VBbGwoL1woKFxkKylcKS9nLCIkMSIpO2lmKGImJmMubWF0Y2goL15cKz9cZHszLDR9JC8pKXJldHVybiBjO2MuY2hhckF0KDApIT09IisiJiYoYz0iKyIrYyk7aWYoYy5tYXRjaChuZXcgUmVnRXhwKCJeXFwrXFxkeyIrKE0oNTk3KT83OjEwKSsiLDE1fSQiKSkpcmV0dXJuIGN9fSxJRD1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1hLnRyaW0oKTtpZihIRC50ZXN0KGIpKXJldHVybiBiLnRvTG93ZXJDYXNlKCkucmVwbGFjZUFsbCgvWy0gXSsvZywiIil9fSxNRD1mdW5jdGlvbihhKXt2YXIgYj1KRChLRCkoYSk7aWYoYiYmIUxEKGIpKXJldHVybiBifSxMRD1mdW5jdGlvbihhKXtpZighQS5sb2NhdGlvbilyZXR1cm4hMTt2YXIgYj1OaihBLmxvY2F0aW9uLCJob3N0IiwhMCksCmM7aWYoTSg2MDIpKWE6e2Zvcih2YXIgZD1iLnNwbGl0KCIuIiksZT1hLnRvTG93ZXJDYXNlKCksZj0wO2Y8ZC5sZW5ndGgtMTtmKyspe3ZhciBnPWQuc2xpY2UoZikuam9pbigiLiIpO2lmKGUubWF0Y2goIkAiK2crIiQiKSl7Yz0hMDticmVhayBhfX1jPSExfWVsc2UgYz1hLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihiKT49MDtyZXR1cm4gY30sSkQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWIubWF0Y2goYSk7cmV0dXJuIGM/Y1swXS50cmltKCkudG9Mb3dlckNhc2UoKTp2b2lkIDB9fSxLRD0vW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcLltBLVpdezIsfS9pLE5EPUpEKC9eKFteXHgwMC1ceDQwXHg1Yi1ceDYwXHg3Yi1ceGZmXXxbLi1dfFxzKSskLyksSEQ9UmVnRXhwKCJeKD86W0EtWl17MSwyfVxcZFtBLVpcXGRdP1sgLV0/XFxkW0EtWl17Mn18W0EtWl1cXGRbQS1aXVsgLV0/XFxkW0EtWl1cXGR8XFxkezR9ID9bQS1aXXsyfXxbQS1aXVxcZHs0fVtBLVpdezN9fFxcZHs1fSg/Oi1cXGR7NH0pP3xcXGR7NX0tXFxkezN9fFxcZHs0fS1cXGR7M318XFxkezN9LVxcZHs0fXxcXGR7Mn0tXFxkezN9fFxcZHszfSA/XFxkezJ9fFxcZHs0LDd9KSQiLAoiaSIpLE9EPUpEKC9eKFteXHgwMC1ceDQwXHg1Yi1ceDYwXHg3Yi1ceGZmXXxbLi1dfFxzfFxkKSskLyk7CnZhciBQRD1mdW5jdGlvbigpe3ZhciBhPVN0cmluZyhhbCgzMyxmdW5jdGlvbigpe3JldHVybiAwfSkpO2EuaW5kZXhPZigiLiIpIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYS5pbmRleE9mKCIuIikrMykpO3ZhciBiPWFsKDM0LGZ1bmN0aW9uKCl7cmV0dXJuIDB9KTtyZXR1cm57dnQ6TnVtYmVyKGEpLHN0OmJ9fSxRRD1mdW5jdGlvbigpe3JldHVybiBhbCgzMixmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwfSl9LFNEPWZ1bmN0aW9uKGEpe3ZhciBiPXBkKCl8fDAsYz1bRkQuQmJdO00oNTY4KSYmYy5wdXNoKEZELmVlLEZELlhkLEZELmNlLEZELnhmLEZELnFnLEZELnRqLEZELmxpLEZELmpqKTtmb3IodmFyIGQ9UkQoYSxuZXcgU2V0KGMpKSxlPWFsKDMyLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KSxmPW0oZCksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7ZS5zZXQoaC5EYSxoKX12YXIgbD0ocGQoKXx8MCktYixuPWFsKDMzLGZ1bmN0aW9uKCl7cmV0dXJuIDB9KTsKWmsoMzMsbitsKTt2YXIgcD1hbCgzNCxmdW5jdGlvbigpe3JldHVybiAwfSk7WmsoMzQscCsxKX0sUkQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9TmYoMzYsMiksZD1bXSxlPVt7b286YSxkZXB0aDowfV07ZS5sZW5ndGg+MDspZm9yKHZhciBmPWUuc2hpZnQoKSxnPWYub28saD1mLmRlcHRoLGw9bShPYmplY3Qua2V5cyhnKSksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7aWYoIVRELmhhcyhwKSl7dmFyIHE9Z1twXTtpZihxKWlmKENkKHEpKWgrMTw9YyYmZS5wdXNoKHtvbzpxLGRlcHRoOmgrMX0pO2Vsc2V7Zm9yKHZhciByPW0oYiksdD1yLm5leHQoKTshdC5kb25lO3Q9ci5uZXh0KCkpe3ZhciB1PXQudmFsdWUsdj1VRFt1XTtpZih2JiZ2LktjLnRlc3QocCkpe3ZhciB4PXYubmEoU3RyaW5nKHEpKTtpZih4KXtkLnB1c2goe0NhOngsRGE6dX0pO2IuZGVsZXRlKHUpO2JyZWFrfX19aWYoYi5zaXplPT09MClyZXR1cm4gZH19fXJldHVybiBkfSxURD0KbmV3IFNldChbIml0ZW1zIiwiZWNvbW1lcmNlIl0pLFZEPVJlZ0V4cCgicGhvbmUiLCJpIiksV0Q9UmVnRXhwKCJmaXJzdF8/bmFtZSIsImkiKSxYRD1SZWdFeHAoImxhc3RfP25hbWUiLCJpIiksWUQ9UmVnRXhwKCJjb3VudHJ5IiwiaSIpLFpEPVJlZ0V4cCgicG9zdHx6aXAiLCJpIiksJEQ9UmVnRXhwKCJhZGRyZXNzfHN0cmVldCIsImkiKSxhRT1SZWdFeHAoImNpdHkiLCJpIiksYkU9UmVnRXhwKCJyZWdpb258c3RhdGV8cHJvdmluY2UiLCJpIiksY0U9e30sVUQ9KGNFW0ZELkJiXT17S2M6UmVnRXhwKCJlbWFpbCIsImkiKSxuYTpNRH0sY0VbRkQuZWVdPXtLYzpWRCxuYTpmdW5jdGlvbihhKXtyZXR1cm4gR0QoYSwhMSl9fSxjRVtGRC5YZF09e0tjOldELG5hOk5EfSxjRVtGRC5jZV09e0tjOlhELG5hOk5EfSxjRVtGRC50al09e0tjOiRELG5hOk9EfSxjRVtGRC5saV09e0tjOmFFLG5hOk5EfSxjRVtGRC5qal09e0tjOmJFLG5hOk5EfSxjRVtGRC5xZ109e0tjOlpELG5hOklEfSxjRVtGRC54Zl09CntLYzpZRCxuYTpORH0sY0UpO3ZhciBkRT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5sb2FkZWQ9ITE7dGhpcy5IPVtdO2lmKEIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdGhpcy5vbkxvYWQoKTtlbHNlICRjKEEsImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgYS5vbkxvYWQoKX0pfTtkRS5wcm90b3R5cGUub25Mb2FkPWZ1bmN0aW9uKCl7aWYoIXRoaXMubG9hZGVkKXt0aGlzLmxvYWRlZD0hMDtmb3IodmFyIGE9MDthPHRoaXMuSC5sZW5ndGg7YSsrKWJkKHRoaXMuSFthXSl9fTt2YXIgZkU9ZnVuY3Rpb24oYSl7dmFyIGI9ZUU7Yi5sb2FkZWQ/YmQoYSk6Yi5ILnB1c2goYSl9LGVFPW5ldyBkRTt2YXIgZ0U9ZnVuY3Rpb24oKXt0aGlzLlo9MDt0aGlzLks9e307dGhpcy5IPVtdO3RoaXMuTj1bXTt0aGlzLmZhPXRoaXMuUj10aGlzLmphPSExfSxpRT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aEU7YS5ldmVudENhbGxiYWNrPWI7YyYmKGEuZXZlbnRUaW1lb3V0PWMpO3JldHVybiBkLnB1c2goYSl9LGpFPWZ1bmN0aW9uKGEsYil7aWYoIUFiKGIpfHxiPDApYj0wO3ZhciBjPXFqKCksZD0wLGU9ITEsZj12b2lkIDA7Zj1BLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlfHwoZT0hMCxhKCkpO2Y9dm9pZCAwfSxiKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZz1jP2Muc3Vic2NyaWJlcnM6MTsrK2Q9PT1nJiYoZiYmKEEuY2xlYXJUaW1lb3V0KGYpLGY9dm9pZCAwKSxlfHwoYSgpLGU9ITApKX19LGxFPWZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEuTi5sZW5ndGgpYj1hLk4uc2hpZnQoKTtlbHNlIGlmKGEuSC5sZW5ndGgpYj1hLkguc2hpZnQoKTtlbHNlIHJldHVybjt2YXIgYzt2YXIgZD1iO2lmKGEuamF8fAoha0UoZC5tZXNzYWdlKSljPWQ7ZWxzZXthLmphPSEwO3ZhciBlPWQubWVzc2FnZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXSxmLGc7dHlwZW9mIGU9PT0ibnVtYmVyIj8oZj1lLTIsZz1lLTEpOihmPXJqKCksZz1yaigpLGQubWVzc2FnZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1yaigpKTt2YXIgaD17fSxsPXttZXNzYWdlOihoLmV2ZW50PSJndG0uaW5pdF9jb25zZW50IixoWyJndG0udW5pcXVlRXZlbnRJZCJdPWYsaCksbWVzc2FnZUNvbnRleHQ6e2V2ZW50SWQ6Zn19LG49e30scD17bWVzc2FnZToobi5ldmVudD0iZ3RtLmluaXQiLG5bImd0bS51bmlxdWVFdmVudElkIl09ZyxuKSxtZXNzYWdlQ29udGV4dDp7ZXZlbnRJZDpnfX07YS5ILnVuc2hpZnQocCxkKTtjPWx9cmV0dXJuIGN9LG9FPWZ1bmN0aW9uKGEpe2EuZmF8fFAoMTk2KTtmb3IodmFyIGI9ITEsYzshYS5SJiYoYz1sRShhKSk7KXthLlI9ITA7dmFyIGQ9ckE7ZGVsZXRlIGQuSC5ldmVudE1vZGVsO29BKGQpO3ZhciBlPWMsZj0KZS5tZXNzYWdlLGc9ZS5tZXNzYWdlQ29udGV4dDtpZihmPT1udWxsKWEuUj0hMTtlbHNle2cuZnJvbUNvbnRhaW5lckV4ZWN1dGlvbiYmc0EoKTt0cnl7aWYoeWIoZikpdHJ5e2YuY2FsbCh0QSl9Y2F0Y2goUyl7fWVsc2UgaWYoQXJyYXkuaXNBcnJheShmKSl7aWYoemIoZlswXSkpe3ZhciBoPWZbMF0uc3BsaXQoIi4iKSxsPWgucG9wKCksbj1mLnNsaWNlKDEpLHA9dUEoaC5qb2luKCIuIiksMik7aWYocCE9bnVsbCl0cnl7cFtsXS5hcHBseShwLG4pfWNhdGNoKFMpe319fWVsc2V7dmFyIHE9dm9pZCAwO2lmKEhiKGYpKWE6e2lmKGYubGVuZ3RoJiZ6YihmWzBdKSl7dmFyIHI9QURbZlswXV07aWYociYmKCFnLmZyb21Db250YWluZXJFeGVjdXRpb258fCFDRFtmWzBdXSkpe3E9cihmLGcpO2JyZWFrIGF9fXE9dm9pZCAwfWVsc2UgcT1mO2lmKHEpe3ZhciB0O2Zvcih2YXIgdT1xLHY9dS5fY2xlYXJ8fGcub3ZlcndyaXRlTW9kZWxGaWVsZHMseD1tKE9iamVjdC5rZXlzKHUpKSx5PXgubmV4dCgpOyF5LmRvbmU7eT0KeC5uZXh0KCkpe3ZhciB6PXkudmFsdWU7eiE9PSJfY2xlYXIiJiYodiYmckEuc2V0KHosdm9pZCAwKSxyQS5zZXQoeix1W3pdKSl9TSg1OTIpJiZTRCh1KTskaygyNSl8fFprKDI1LHVbImd0bS5zdGFydCJdKTt2YXIgQz11WyJndG0udW5pcXVlRXZlbnRJZCJdO3UuZXZlbnQ/KHR5cGVvZiBDIT09Im51bWJlciImJihDPXJqKCksdVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1DLHJBLnNldCgiZ3RtLnVuaXF1ZUV2ZW50SWQiLEMpKSx0PXpCKHUpKTp0PSExO2I9dHx8Yn19fWZpbmFsbHl7Zy5mcm9tQ29udGFpbmVyRXhlY3V0aW9uJiZvQShyQSwhMCk7dmFyIEQ9ZlsiZ3RtLnVuaXF1ZUV2ZW50SWQiXTtpZih0eXBlb2YgRD09PSJudW1iZXIiKXtmb3IodmFyIEk9YSxHPUkuS1tTdHJpbmcoRCldfHxbXSxOPTA7TjxHLmxlbmd0aDtOKyspSS5OLnB1c2gobUUoR1tOXSkpO0cubGVuZ3RoJiZJLk4uc29ydChuRSk7ZGVsZXRlIEkuS1tTdHJpbmcoRCldO0Q+YS5aJiYoYS5aPUQpfWEuUj0hMX19fXJldHVybiFifSwKcEU9ZnVuY3Rpb24oKXt2YXIgYT1oRTthLmZhJiZQKDE5NSk7YS5mYT0hMDtpZihmbi5IKXt2YXIgYj0hSWYoNTEpLGM9cnooKTtweihjLHtzdGFnZTpJeS5YLlpnfSk7aWYoYil7dmFyIGQ9cXooYyx7c3RhZ2U6SXkuWC5Za30sSXkuWC5uaSk7ZCE9PXZvaWQgMCYmKGMuSC5ZPWQpfXZhciBlPWEuSC5sZW5ndGg7cnooKS5ILkM9ZX1vRShhKTtpZihmbi5IKXt2YXIgZj1yeigpLGc9cXooZix7c3RhZ2U6SXkuWC5Wa30sSXkuWC5aZyk7ZyE9PXZvaWQgMCYmKGYuSC5CPWcpfXRyeXt2YXIgaD1BW0UoMTkpXSxsPUUoNSksbj1oLmhpZGU7aWYobiYmbltsXSE9PXZvaWQgMCYmbi5lbmQpe25bbF09ITE7dmFyIHA9ITAscTtmb3IocSBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkocSkmJm5bcV09PT0hMCl7cD0hMTticmVha31wJiYobi5lbmQoKSxuLmVuZD1udWxsKX19Y2F0Y2gocil7RSg1KX19LHFFPWZ1bmN0aW9uKGEsYil7aWYoYS5aPGIubm90QmVmb3JlRXZlbnRJZCl7dmFyIGM9U3RyaW5nKGIubm90QmVmb3JlRXZlbnRJZCk7CmEuS1tjXT1hLktbY118fFtdO2EuS1tjXS5wdXNoKGIpfWVsc2V7YS5OLnB1c2gobUUoYikpO2EuTi5zb3J0KG5FKTt2YXIgZD1mdW5jdGlvbigpe2EuUnx8b0UoYSl9O00oNTgwKT9kZChkKTpiZChkKX19OwpnRS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoaCl7dmFyIGw9e307aWYoREQoaCkpe3ZhciBuPWg7aD1ERChuKT9uLmdldFVudHJ1c3RlZE1lc3NhZ2VWYWx1ZSgpOnZvaWQgMDtsLmZyb21Db250YWluZXJFeGVjdXRpb249ITB9cmV0dXJue21lc3NhZ2U6aCxtZXNzYWdlQ29udGV4dDpsfX12YXIgYj10aGlzLGM9TWMoRSgxOSksW10pLGQ9cGooKTtkLnBydW5lZD09PSEwJiZQKDgzKTt0aGlzLks9bkQoKS5nZXQoKTtuRCgpLmxpc3RlbihmdW5jdGlvbihoKXtxRShiLGgpfSk7ZC5zdWJzY3JpYmVycz0oZC5zdWJzY3JpYmVyc3x8MCkrMTt2YXIgZT1jLnB1c2gsZj10aGlzO2MucHVzaD1mdW5jdGlvbigpe3ZhciBoO2xqKCk7aWYoamouSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFPjApe2g9W107Zm9yKHZhciBsPTA7bDxhcmd1bWVudHMubGVuZ3RoO2wrKyloW2xdPW5ldyBFRChhcmd1bWVudHNbbF0pfWVsc2UgaD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTsKdmFyIG49aC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGEodCl9KTtmLkgucHVzaC5hcHBseShmLkgsbik7dmFyIHA9ZS5hcHBseShjLGgpLHE9TWF0aC5tYXgoMTAwLE5mKDEsMzAwKSk7aWYodGhpcy5sZW5ndGg+cSlmb3IoUCg0KSxkLnBydW5lZD0hMDt0aGlzLmxlbmd0aD5xOyl0aGlzLnNoaWZ0KCk7dmFyIHI9dHlwZW9mIHAhPT0iYm9vbGVhbiJ8fHA7cmV0dXJuIG9FKGYpJiZyfTt2YXIgZz1jLnNsaWNlKDApLm1hcChmdW5jdGlvbihoKXtyZXR1cm4gYShoKX0pO3RoaXMuSC5wdXNoLmFwcGx5KHRoaXMuSCxnKTtJZig1MSl8fChmbi5IJiZ1eigpLGJkKHJFKSk7VkIoZnVuY3Rpb24oKXtpZighZC5ndG1Eb20pe2QuZ3RtRG9tPSEwO3ZhciBoPXt9O2MucHVzaCgoaC5ldmVudD0iZ3RtLmRvbSIsaCkpfX0pO2ZFKGZ1bmN0aW9uKCl7aWYoIWQuZ3RtTG9hZCl7ZC5ndG1Mb2FkPSEwO3ZhciBoPXt9O2MucHVzaCgoaC5ldmVudD0iZ3RtLmxvYWQiLGgpKX19KX07CmdFLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGEpe3JldHVybiBBW0UoMTkpXS5wdXNoKGEpfTt2YXIgaEU9bmV3IGdFO2Z1bmN0aW9uIG5FKGEsYil7dmFyIGM9YS5tZXNzYWdlQ29udGV4dCxkPWIubWVzc2FnZUNvbnRleHQ7aWYoYy5ldmVudElkIT09ZC5ldmVudElkKXJldHVybiBjLmV2ZW50SWQtZC5ldmVudElkO2lmKCFNKDU5NSkpcmV0dXJuIGMucHJpb3JpdHlJZC1kLnByaW9yaXR5SWQ7dmFyIGUsZixnO2E6e2Zvcih2YXIgaD0oZT1jLnByaW9yaXR5UXVldWUpIT1udWxsP2U6W2MucHJpb3JpdHlJZF0sbD0oZj1kLnByaW9yaXR5UXVldWUpIT1udWxsP2Y6W2QucHJpb3JpdHlJZF0sbj1NYXRoLm1pbihoLmxlbmd0aCxsLmxlbmd0aCkscD0wO3A8bjtwKyspaWYoaFtwXSE9PWxbcF0pe2c9aFtwXS1sW3BdO2JyZWFrIGF9Zz1oLmxlbmd0aC1sLmxlbmd0aH1yZXR1cm4gZ30KZnVuY3Rpb24ga0UoYSl7aWYoYT09bnVsbHx8dHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4hMTtpZihhLmV2ZW50KXJldHVybiEwO2lmKEhiKGEpKXt2YXIgYj1hWzBdO2lmKGI9PT0iY29uZmlnInx8Yj09PSJldmVudCJ8fGI9PT0ianMifHxiPT09ImdldCIpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gbUUoYSl7cmV0dXJue21lc3NhZ2U6YS5tZXNzYWdlLG1lc3NhZ2VDb250ZXh0OmEubWVzc2FnZUNvbnRleHR9fWZ1bmN0aW9uIHNFKGEsYixjKXtyZXR1cm4gaUUoYSxiLGMpfWZ1bmN0aW9uIHRFKGEsYil7cmV0dXJuIGpFKGEsYil9ZnVuY3Rpb24gckUoKXtwRSgpfWZ1bmN0aW9uIHVFKGEpe3JldHVybiBoRS5wdXNoKGEpfTt2YXIgdkU9ZnVuY3Rpb24oKXt9O3ZFLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dmFyIGEsYj1SaihBLmxvY2F0aW9uLmhyZWYpOyhhPWIuaG9zdG5hbWUrYi5wYXRobmFtZSkmJlVtKCJkbCIsZW5jb2RlVVJJQ29tcG9uZW50KGEpKTt2YXIgYzt2YXIgZD1FKDUpO2lmKGQpe3ZhciBlPUlmKDcpPzE6MCxmPUZrKCksZz1mJiZmLmZyb21Db250YWluZXJFeGVjdXRpb24/MTowLGg9ZiYmZi5zb3VyY2V8fDAsbD1FKDYpO2M9ZCsiOyIrbCsiOyIrZysiOyIraCsiOyIrZX1lbHNlIGM9dm9pZCAwO3ZhciBuPWM7biYmVW0oInRkcCIsbik7dmFyIHA9T3AoITApO3AhPT12b2lkIDAmJlVtKCJmcm0iLFN0cmluZyhwKSl9O3ZhciB3RT1uZXcgdkU7dmFyIHhFPWZ1bmN0aW9uKCl7dGhpcy5IPVhtKCk7dGhpcy5LPXZvaWQgMH0seUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gWm0oYSxmdW5jdGlvbihjKXtyZXR1cm4gYy5qYj4wP2I/Yy5qYisiXyIrV20oYyk6U3RyaW5nKGMuamIpOnZvaWQgMH0pfTsKeEUucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2lmKHBsKCl8fGZuLkspVW0oImNzcCIsZnVuY3Rpb24oKXt2YXIgYj15RShhLkgsITApOyRtKGEuSCk7cmV0dXJuIGJ9LCExKSxVbSgibWRlIixmdW5jdGlvbigpe3ZhciBiPWNuLkgsYz15RShiLCExKTskbShiKTtyZXR1cm4gY30sITEpLEEuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLGZ1bmN0aW9uKGIpe2lmKGIuZGlzcG9zaXRpb249PT0iZW5mb3JjZSIpe1AoMTc5KTt2YXIgYz1ubihiLmVmZmVjdGl2ZURpcmVjdGl2ZSk7aWYoYyl7dmFyIGQ7YTp7dmFyIGU9Yi5ibG9ja2VkVVJJLGY9a247aWYoZm4uSyYmZSl7dmFyIGc9am4oYyxlKTtpZihnKXt2YXIgaDtkPShoPWxuKGYsYykpPT1udWxsP3ZvaWQgMDpoW2ddO2JyZWFrIGF9fWQ9dm9pZCAwfXZhciBsPWQ7aWYobCl7dmFyIG47YTp7dHJ5e3ZhciBwPW5ldyBVUkwoYi5ibG9ja2VkVVJJKSxxPXAucGF0aG5hbWUuaW5kZXhPZigiOyIpOwpuPXE+PTA/cC5vcmlnaW4rcC5wYXRobmFtZS5zdWJzdHJpbmcoMCxxKTpwLm9yaWdpbitwLnBhdGhuYW1lO2JyZWFrIGF9Y2F0Y2goRCl7fW49dm9pZCAwfXZhciByPW47aWYocil7Zm9yKHZhciB0PW0obCksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpe3ZhciB2PXUudmFsdWU7aWYoIXYuRW8pe3YuRW89ITA7dmFyIHg9e2V2ZW50SWQ6di5ldmVudElkLHByaW9yaXR5SWQ6di5wcmlvcml0eUlkfTtpZihwbCgpKXt2YXIgeT14LHo9e3R5cGU6MSxibG9ja2VkVXJsOnIsZW5kcG9pbnQ6di5lbmRwb2ludCx2aW9sYXRpb246Yi5lZmZlY3RpdmVEaXJlY3RpdmV9O2lmKHBsKCkpe3ZhciBDPUxsKCJUQUdfRElBR05PU1RJQ1MiLHtldmVudElkOnk9PW51bGw/dm9pZCAwOnkuZXZlbnRJZCxwcmlvcml0eUlkOnk9PW51bGw/dm9pZCAwOnkucHJpb3JpdHlJZH0pO0MudGFnRGlhZ25vc3RpY3M9ejtvbChDKX19ekUoYSx2LmRlc3RpbmF0aW9uSWQsdi5lbmRwb2ludCxjKX19bW4oYywKYi5ibG9ja2VkVVJJKX19fX19KX07dmFyIHpFPWZ1bmN0aW9uKGEsYixjLGQpe2FuKGEuSCxiLGMsMSxkKTtWbSgiY3NwIiwhMCk7Vm0oIm1kZSIsITApO2MhPT02MSYmYyE9PTU2JiZhLks9PT12b2lkIDAmJihhLks9QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5ILmpiPjAmJnRvKCExKTthLks9dm9pZCAwfSw1MDApKX0sQUU9bmV3IHhFO3ZhciBCRT1mdW5jdGlvbigpe3RoaXMuc2VxdWVuY2VOdW1iZXI9MH07QkUucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO0NFKHRoaXMpO0lmKDY1KSYmVW0oIm10YmwiLCIxIik7VW0oInYiLCIzIik7VW0oInQiLCJ0Iik7VW0oInBpZCIsZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKG5tKGptLmJhLmJoKSl9KTtVbSgiZ3RtIixmdW5jdGlvbigpe3JldHVybiBkdSgpfSk7VW0oInNlcSIsZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKCsrYS5zZXF1ZW5jZU51bWJlcil9KTtVbSgiZXhwIixmdW5jdGlvbigpe3JldHVybiBDcCgpfSl9O3ZhciBDRT1mdW5jdGlvbihhKXtpZihubShqbS5iYS5iaCk9PT12b2lkIDApe3ZhciBiPWZ1bmN0aW9uKCl7bW0oam0uYmEuYmgsRGIoKSk7YS5zZXF1ZW5jZU51bWJlcj0wfTtiKCk7Y2QoYiw4NjRFNSl9ZWxzZSBwbShqbS5iYS5iaCxmdW5jdGlvbigpe2Euc2VxdWVuY2VOdW1iZXI9MH0pO2Euc2VxdWVuY2VOdW1iZXI9MH0sREU9bmV3IEJFO2Z1bmN0aW9uIEVFKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBBW2FdfX0KdmFyIEZFPXt9LEdFPShGRVsxNF09ZnVuY3Rpb24oKXt2YXIgYTtyZXR1cm4oYT1BLmNyeXB0byk9PW51bGw/dm9pZCAwOmEuZ2V0UmFuZG9tVmFsdWVzfSxGRVsxNV09ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybihhPUEuY3J5cHRvKT09bnVsbD92b2lkIDA6KGI9YS5zdWJ0bGUpPT1udWxsP3ZvaWQgMDpiLmRpZ2VzdH0sRkVbMV09RUUoImZldGNoIiksRkVbNl09RUUoIk1hcCIpLEZFWzJdPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgucmFuZG9tfSxGRVs4XT1mdW5jdGlvbigpe3JldHVybiBuYShPYmplY3QsImFzc2lnbiIpfSxGRVs5XT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuZW50cmllc30sRkVbMTBdPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllc30sRkVbNV09RUUoIlByb21pc2UiKSxGRVsxM109RUUoIlJlZ0V4cCIpLEZFWzNdPWZ1bmN0aW9uKCl7cmV0dXJuIEhjLnNlbmRCZWFjb259LEZFWzddPUVFKCJTZXQiKSxGRVsxMl09ZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5lbmRzV2l0aH0sCkZFWzExXT1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGh9LEZFWzRdPUVFKCJYTUxIdHRwUmVxdWVzdCIpLEZFKSxIRT17fSxJRT0oSEVbMTVdPSEwLEhFKTt2YXIgTkU9L14oaHR0cHM/Oik/XC9cLy87CgpmdW5jdGlvbiBoRigpe307ZnVuY3Rpb24gaUYoKXtJZig2MikmJihoeSgiZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzIixmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuKChkPWMub3B0aW9ucyk9PW51bGw/dm9pZCAwOmQud2FpdEZvclRhZ3MpIT09ITB9KSxoeSgiZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybigoZD1jLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpkLndhaXRGb3JUYWdzKSE9PSEwfSksaHkoImRldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50cyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybigoZD1jLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpkLmZpeE1pc3NpbmdBcGkpIT09ITB9KSl9O3ZhciBqRj1mdW5jdGlvbigpe3RoaXMuSD10aGlzLmdwcFN0cmluZz12b2lkIDB9O2pGLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuSD10aGlzLmdwcFN0cmluZz12b2lkIDB9O3ZhciBrRj1uZXcgakY7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMl0ucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGErYn0pO1syLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyXS5yZWR1Y2UoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYStifSk7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDJdLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBhK2J9KTtbMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyXS5yZWR1Y2UoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYStifSk7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMl0ucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGErYn0pO1syLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDJdLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBhK2J9KTtsdCh7R3U6MCxGdToxLEN1OjIseHU6MyxEdTo0LHl1OjUsRXU6NixBdTo3LEJ1Ojgsd3U6OSx6dToxMCxIdToxMX0pLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gTnVtYmVyKGEpfSk7bHQoe0p1OjAsS3U6MSxJdToyfSkubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBOdW1iZXIoYSl9KTt2YXIgbEY9ZnVuY3Rpb24oYSxiLGMsZCl7cnQuY2FsbCh0aGlzKTt0aGlzLmZlPWI7dGhpcy5rZD1jO3RoaXMuYWM9ZDt0aGlzLkxhPW5ldyBNYXA7dGhpcy5oZT0wO3RoaXMuamE9bmV3IE1hcDt0aGlzLnlhPW5ldyBNYXA7dGhpcy5aPXZvaWQgMDt0aGlzLks9YX07d2EobEYscnQpO2xGLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXMuSDt0aGlzLkxhLmNsZWFyKCk7dGhpcy5qYS5jbGVhcigpO3RoaXMueWEuY2xlYXIoKTt0aGlzLlomJihudCh0aGlzLkssIm1lc3NhZ2UiLHRoaXMuWiksZGVsZXRlIHRoaXMuWik7ZGVsZXRlIHRoaXMuSztkZWxldGUgdGhpcy5hYztydC5wcm90b3R5cGUuTi5jYWxsKHRoaXMpfTsKdmFyIG1GPWZ1bmN0aW9uKGEpe2lmKGEuSClyZXR1cm4gYS5IO2Eua2QmJmEua2QoYS5LKT9hLkg9YS5LOmEuSD1OcChhLkssYS5mZSk7dmFyIGI7cmV0dXJuKGI9YS5IKSE9bnVsbD9iOm51bGx9LG9GPWZ1bmN0aW9uKGEsYixjKXtpZihtRihhKSlpZihhLkg9PT1hLkspe3ZhciBkPWEuTGEuZ2V0KGIpO2QmJmQoYS5ILGMpfWVsc2V7dmFyIGU9YS5qYS5nZXQoYik7aWYoZSYmZS5kayl7bkYoYSk7dmFyIGY9KythLmhlO2EueWEuc2V0KGYse3BlOmUucGUsSXI6ZS5ubyhjKSxwZXJzaXN0ZW50OmI9PT0iYWRkRXZlbnRMaXN0ZW5lciJ9KTthLkgucG9zdE1lc3NhZ2UoZS5kayhjLGYpLCIqIil9fX0sbkY9ZnVuY3Rpb24oYSl7YS5afHwoYS5aPWZ1bmN0aW9uKGIpe2lmKGIuc291cmNlPT09YS5IKXRyeXt2YXIgYztjPWEuYWM/YS5hYyhiKTp2b2lkIDA7aWYoYyl7dmFyIGQ9Yy5ZcyxlPWEueWEuZ2V0KGQpO2lmKGUpe2UucGVyc2lzdGVudHx8YS55YS5kZWxldGUoZCk7dmFyIGY7KGY9CmUucGUpPT1udWxsfHxmLmNhbGwoZSxlLklyLGMucGF5bG9hZCl9fX1jYXRjaChnKXt9fSxtdChhLkssIm1lc3NhZ2UiLGEuWikpfTt2YXIgcEY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmxpc3RlbmVyLGQ9KDAsYS5fX2dwcCkoImFkZEV2ZW50TGlzdGVuZXIiLGMpO2QmJmMoZCwhMCl9LHFGPWZ1bmN0aW9uKGEsYil7KDAsYS5fX2dwcCkoInJlbW92ZUV2ZW50TGlzdGVuZXIiLGIubGlzdGVuZXIsYi5saXN0ZW5lcklkKX0sckY9e25vOmZ1bmN0aW9uKGEpe3JldHVybiBhLmxpc3RlbmVyfSxkazpmdW5jdGlvbihhLGIpe3ZhciBjPXt9O3JldHVybiBjLl9fZ3BwQ2FsbD17Y2FsbElkOmIsY29tbWFuZDoiYWRkRXZlbnRMaXN0ZW5lciIsdmVyc2lvbjoiMS4xIn0sY30scGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLl9fZ3BwUmV0dXJuO2EoYy5yZXR1cm5WYWx1ZSxjLnN1Y2Nlc3MpfX0sc0Y9e25vOmZ1bmN0aW9uKGEpe3JldHVybiBhLmxpc3RlbmVyfSxkazpmdW5jdGlvbihhLGIpe3ZhciBjPXt9O3JldHVybiBjLl9fZ3BwQ2FsbD17Y2FsbElkOmIsY29tbWFuZDoicmVtb3ZlRXZlbnRMaXN0ZW5lciIsdmVyc2lvbjoiMS4xIiwKcGFyYW1ldGVyOmEubGlzdGVuZXJJZH0sY30scGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLl9fZ3BwUmV0dXJuLGQ9Yy5yZXR1cm5WYWx1ZS5kYXRhO2E9PW51bGx8fGEoZCxjLnN1Y2Nlc3MpfX07ZnVuY3Rpb24gdEYoYSl7dmFyIGI9e307dmYoYS5kYXRhKT9iPUpTT04ucGFyc2UoYS5kYXRhKTpiPWEuZGF0YTtyZXR1cm57cGF5bG9hZDpiLFlzOmIuX19ncHBSZXR1cm4uY2FsbElkfX0KdmFyIHVGPWZ1bmN0aW9uKGEsYil7dmFyIGM7Yz0oYj09PXZvaWQgMD97fTpiKS50aW1lb3V0TXM7cnQuY2FsbCh0aGlzKTt0aGlzLmNhbGxlcj1uZXcgbEYoYSwiX19ncHBMb2NhdG9yIixmdW5jdGlvbihkKXtyZXR1cm4gdHlwZW9mIGQuX19ncHA9PT0iZnVuY3Rpb24ifSx0Rik7dGhpcy5jYWxsZXIuTGEuc2V0KCJhZGRFdmVudExpc3RlbmVyIixwRik7dGhpcy5jYWxsZXIuamEuc2V0KCJhZGRFdmVudExpc3RlbmVyIixyRik7dGhpcy5jYWxsZXIuTGEuc2V0KCJyZW1vdmVFdmVudExpc3RlbmVyIixxRik7dGhpcy5jYWxsZXIuamEuc2V0KCJyZW1vdmVFdmVudExpc3RlbmVyIixzRik7dGhpcy50aW1lb3V0TXM9YyE9bnVsbD9jOjUwMH07d2EodUYscnQpO3VGLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7dGhpcy5jYWxsZXIuZGlzcG9zZSgpO3J0LnByb3RvdHlwZS5OLmNhbGwodGhpcyl9Owp1Ri5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9SHAoZnVuY3Rpb24oKXthKHZGLCEwKX0pLGQ9dGhpcy50aW1lb3V0TXM9PT0tMT92b2lkIDA6c2V0VGltZW91dChmdW5jdGlvbigpe2MoKX0sdGhpcy50aW1lb3V0TXMpO29GKHRoaXMuY2FsbGVyLCJhZGRFdmVudExpc3RlbmVyIix7bGlzdGVuZXI6ZnVuY3Rpb24oZSxmKXtjbGVhclRpbWVvdXQoZCk7dHJ5e3ZhciBnO3ZhciBoOygoaD1lLnBpbmdEYXRhKT09bnVsbD92b2lkIDA6aC5ncHBWZXJzaW9uKT09PXZvaWQgMHx8ZS5waW5nRGF0YS5ncHBWZXJzaW9uPT09IjEifHxlLnBpbmdEYXRhLmdwcFZlcnNpb249PT0iMS4wIj8oYi5yZW1vdmVFdmVudExpc3RlbmVyKGUubGlzdGVuZXJJZCksZz17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7aW50ZXJuYWxFcnJvclN0YXRlOjEsZ3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX0lTX0RFUFJFQ0FURURfU1BFQyIsCmFwcGxpY2FibGVTZWN0aW9uczpbLTFdfX0pOkFycmF5LmlzQXJyYXkoZS5waW5nRGF0YS5hcHBsaWNhYmxlU2VjdGlvbnMpP2c9ZTooYi5yZW1vdmVFdmVudExpc3RlbmVyKGUubGlzdGVuZXJJZCksZz17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7aW50ZXJuYWxFcnJvclN0YXRlOjIsZ3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX0VYUEVDVEVEX0FQUExJQ0FUSU9OX1NFQ1RJT05fQVJSQVkiLGFwcGxpY2FibGVTZWN0aW9uczpbLTFdfX0pO2EoZyxmKX1jYXRjaChsKXtpZihlPT1udWxsPzA6ZS5saXN0ZW5lcklkKXRyeXtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoZS5saXN0ZW5lcklkKX1jYXRjaChuKXthKHdGLCEwKTtyZXR1cm59YSh4RiwhMCl9fX0pfTsKdUYucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSl7b0YodGhpcy5jYWxsZXIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLHtsaXN0ZW5lcjpmdW5jdGlvbigpe30sbGlzdGVuZXJJZDphfSl9Owp2YXIgeEY9e2V2ZW50TmFtZToic2lnbmFsU3RhdHVzIixkYXRhOiJyZWFkeSIscGluZ0RhdGE6e2ludGVybmFsRXJyb3JTdGF0ZToyLGdwcFN0cmluZzoiR1BQX0VSUk9SX1NUUklOR19VTkFWQUlMQUJMRSIsYXBwbGljYWJsZVNlY3Rpb25zOlstMV19LGxpc3RlbmVySWQ6LTF9LHZGPXtldmVudE5hbWU6InNpZ25hbFN0YXR1cyIsZGF0YToicmVhZHkiLHBpbmdEYXRhOntncHBTdHJpbmc6IkdQUF9FUlJPUl9TVFJJTkdfTElTVEVORVJfUkVHSVNUUkFUSU9OX1RJTUVPVVQiLGludGVybmFsRXJyb3JTdGF0ZToyLGFwcGxpY2FibGVTZWN0aW9uczpbLTFdfSxsaXN0ZW5lcklkOi0xfSx3Rj17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7Z3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX1JFTU9WRV9FVkVOVF9MSVNURU5FUl9FUlJPUiIsaW50ZXJuYWxFcnJvclN0YXRlOjIsYXBwbGljYWJsZVNlY3Rpb25zOlstMV19LGxpc3RlbmVySWQ6LTF9O2Z1bmN0aW9uIHlGKGEpe3ZhciBiO2lmKCEoYj1hLnBpbmdEYXRhLnNpZ25hbFN0YXR1cz09PSJyZWFkeSIpKXt2YXIgYz1hLnBpbmdEYXRhLmFwcGxpY2FibGVTZWN0aW9ucztiPSFjfHxjLmxlbmd0aD09PTEmJmNbMF09PT0tMX1pZihiKXtrRi5ncHBTdHJpbmc9YS5waW5nRGF0YS5ncHBTdHJpbmc7dmFyIGQ9YS5waW5nRGF0YS5hcHBsaWNhYmxlU2VjdGlvbnMuam9pbigiLCIpO2tGLkg9ZH19ZnVuY3Rpb24gekYoKXt0cnl7dmFyIGE9bmV3IHVGKEEse3RpbWVvdXRNczotMX0pO21GKGEuY2FsbGVyKSYmYS5hZGRFdmVudExpc3RlbmVyKHlGKX1jYXRjaChiKXt9fTtmdW5jdGlvbiBBRigpe3ZhciBhPVtbImN2IixFKDEpXSxbInJ2IixFKDE0KV0sWyJ0YyIsY0EudGFncy5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIGR9KS5sZW5ndGhdXSxiPUpmKDE1KTtiJiZhLnB1c2goWyJ4IixiXSk7dmFyIGM9Q3AoKTtjJiZhLnB1c2goWyJ0YWdfZXhwIixjXSk7cmV0dXJuIGF9O3ZhciBCRj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPXt9O3RoaXMuSz17fTtmeihmdW5jdGlvbihiKXt2YXIgYz1iLmV2ZW50SWQsZD1iLnRmLGU9W10sZj1hLkhbY118fFtdO2YubGVuZ3RoJiZlLnB1c2goWyJoZiIsZi5qb2luKCIuIildKTt2YXIgZz1hLktbY118fFtdO2cubGVuZ3RoJiZlLnB1c2goWyJodCIsZy5qb2luKCIuIildKTtkJiYoZGVsZXRlIGEuSFtjXSxkZWxldGUgYS5LW2NdKTtyZXR1cm4gZX0pfSxDRj1mdW5jdGlvbigpe3ZhciBhPTA7cmV0dXJuIGZ1bmN0aW9uKGIpe3N3aXRjaChiKXtjYXNlIDE6YXw9MTticmVhaztjYXNlIDI6YXw9MjticmVhaztjYXNlIDM6YXw9NH1yZXR1cm4gYX19LERGO3ZhciBFRj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPSIiO2ZuLk4mJk0oNTE2KSYmZnooZnVuY3Rpb24oKXt2YXIgYj1bXTthLkgmJmIucHVzaChbInBzZCIsYS5IXSk7cmV0dXJuIGJ9KX0sRkY7ZnVuY3Rpb24gR0YoKXtyZXR1cm4hMX0KZnVuY3Rpb24gSEYoKXt2YXIgYT17fTtyZXR1cm4gZnVuY3Rpb24oYixjLGQpe319O2Z1bmN0aW9uIElGKCl7dmFyIGE9SkY7cmV0dXJuIGZ1bmN0aW9uKGIsYyxkKXt2YXIgZT1kJiZkLmV2ZW50O0tGKGMpO3ZhciBmPUJoKGIpP3ZvaWQgMDoxLGc9bmV3IGtiO0diKGMsZnVuY3Rpb24ocix0KXt2YXIgdT1VZCh0LHZvaWQgMCxmKTt1PT09dm9pZCAwJiZ0IT09dm9pZCAwJiZQKDQ0KTtnLnNldChyLHUpfSk7YS5RYihRZigpKTt2YXIgaD17Um46aGcoYiksZXZlbnRJZDplPT1udWxsP3ZvaWQgMDplLmlkLHByaW9yaXR5SWQ6ZSE9PXZvaWQgMD9lLnByaW9yaXR5SWQ6dm9pZCAwLHByaW9yaXR5UXVldWU6ZSE9PXZvaWQgMD9lLnByaW9yaXR5UXVldWU6dm9pZCAwLHdnOmUhPT12b2lkIDA/ZnVuY3Rpb24ocil7ZS5sZC53ZyhyKX06dm9pZCAwLFBiOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGxvZzpmdW5jdGlvbigpe30sTnI6e2luZGV4OmQ9PW51bGw/dm9pZCAwOmQuaW5kZXgsdHlwZTpkPT1udWxsP3ZvaWQgMDpkLnR5cGUsbmFtZTpkPT1udWxsP3ZvaWQgMDpkLm5hbWV9LAppdDohIUtBKGIsMyksb3JpZ2luYWxFdmVudERhdGE6ZT09bnVsbD92b2lkIDA6ZS5vcmlnaW5hbEV2ZW50RGF0YX07ZSYmZS5jYWNoZWRNb2RlbFZhbHVlcyYmKGguY2FjaGVkTW9kZWxWYWx1ZXM9e2d0bTplLmNhY2hlZE1vZGVsVmFsdWVzLmd0bSxlY29tbWVyY2U6ZS5jYWNoZWRNb2RlbFZhbHVlcy5lY29tbWVyY2V9KTtpZihHRigpKXt2YXIgbD1IRigpLG4scDtoLkFiPXt3azpbXSx5Zzp7fSxqYzpmdW5jdGlvbihyLHQsdSl7dD09PTEmJihuPXIpO3Q9PT03JiYocD11KTtsKHIsdCx1KX0sZWk6VmgoKX07aC5sb2c9ZnVuY3Rpb24ocil7dmFyIHQ9T2EuYXBwbHkoMSxhcmd1bWVudHMpO24mJmwobiw0LHtsZXZlbDpyLHNvdXJjZTpwLG1lc3NhZ2U6dH0pfX0KdmFyIHE9cmYoYSxoLFtiLGddKTthLlFiKCk7cSBpbnN0YW5jZW9mIFRhJiYocS50eXBlPT09InJldHVybiI/cT1xLmRhdGE6cT12b2lkIDApO3JldHVybiBUZChxLHZvaWQgMCxmKX19ZnVuY3Rpb24gS0YoYSl7dmFyIGI9YS5ndG1PblN1Y2Nlc3MsYz1hLmd0bU9uRmFpbHVyZTt5YihiKSYmKGEuZ3RtT25TdWNjZXNzPWZ1bmN0aW9uKCl7YmQoYil9KTt5YihjKSYmKGEuZ3RtT25GYWlsdXJlPWZ1bmN0aW9uKCl7YmQoYyl9KX07dmFyIE1GPWZ1bmN0aW9uKGEpe1YoYSxILkoudGcsY28uaWEuY2IpfTtmdW5jdGlvbiBORigpe3JldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjApfTt2YXIgT0Y9W0YuRC56aV0ubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLnNsaWNlKDIpfSk7dmFyIFBGPWZ1bmN0aW9uKGEpe1UoYSxGLkQuemksYWwoOCxORikpfTtmdW5jdGlvbiBRRihhKXt9UUYuUD0iaW50ZXJuYWwuYWRkQWRzQ2xpY2tJZHMiO2Z1bmN0aW9uIFJGKGEsYil7dmFyIGM9dGhpczt9UkYucHVibGljTmFtZT0iYWRkQ29uc2VudExpc3RlbmVyIjt2YXIgU0Y9ITE7ZnVuY3Rpb24gVEYoYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpaWYoU0YpdHJ5e2FbYl0oKX1jYXRjaChjKXtQKDc3KX1lbHNlIGFbYl0oKX1mdW5jdGlvbiBVRihhLGIsYyl7dmFyIGQ9dGhpcyxlO2lmKCFsaChhKXx8IWhoKGIpfHwhbWgoYykpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImZ1bmN0aW9uIiwic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChkLCJsaXN0ZW5fZGF0YV9sYXllciIsYSl9XSk7ZT15QigpLmFkZExpc3RlbmVyKGEsVGQoYix2b2lkIDAsMSksYz09PW51bGw/dm9pZCAwOmMpO3JldHVybiBlfVVGLlA9ImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIFZGKGEsYixjKXt9VkYucHVibGljTmFtZT0iYWRkRG9jdW1lbnRFdmVudExpc3RlbmVyIjtmdW5jdGlvbiBXRihhLGIsYyxkKXt9V0YucHVibGljTmFtZT0iYWRkRWxlbWVudEV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIFhGKGEpe3JldHVybiBhLlQueGIoKX07ZnVuY3Rpb24gWUYoYSl7fVlGLnB1YmxpY05hbWU9ImFkZEV2ZW50Q2FsbGJhY2siOwp2YXIgWkY9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YTpTdHJpbmcocmooKSl9LGJHPWZ1bmN0aW9uKGEsYil7JEYoYSwiaW5pdCIsITEpfHwoYUcoYSwiaW5pdCIsITApLGIoKSl9LCRGPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jRyhhKTtyZXR1cm4gT2IoZCxiLGMpfSxkRz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jRyhhKSxmPU9iKGUsYixkKSxnPWMoZik7cmV0dXJuIGVbYl09Z30sYUc9ZnVuY3Rpb24oYSxiLGMpe2NHKGEpW2JdPWN9LGNHPWZ1bmN0aW9uKGEpe3ZhciBiPWtqKCJhdXRvRXZlbnRzU2V0dGluZ3MiLGZ1bmN0aW9uKCl7cmV0dXJue319KTtiLmhhc093blByb3BlcnR5KGEpfHwoYlthXT17fSk7cmV0dXJuIGJbYV19LGVHPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17ZXZlbnQ6YiwiZ3RtLmVsZW1lbnQiOmEsImd0bS5lbGVtZW50Q2xhc3NlcyI6b2QoYSwiY2xhc3NOYW1lIiksImd0bS5lbGVtZW50SWQiOmEuZm9yfHxlZChhLCJpZCIpfHwKIiIsImd0bS5lbGVtZW50VGFyZ2V0IjphLmZvcm1UYXJnZXR8fG9kKGEsInRhcmdldCIpfHwiIn07YyYmKGRbImd0bS50cmlnZ2VycyJdPWMuam9pbigiLCIpKTtkWyJndG0uZWxlbWVudFVybCJdPShhLmF0dHJpYnV0ZXMmJmEuYXR0cmlidXRlcy5mb3JtYWN0aW9uP2EuZm9ybUFjdGlvbjoiIil8fGEuYWN0aW9ufHxvZChhLCJocmVmIil8fGEuc3JjfHxhLmNvZGV8fGEuY29kZWJhc2V8fCIiO3JldHVybiBkfTt2YXIgaEc9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLmVsZW1lbnRzKXJldHVybiAwO2Zvcih2YXIgZD1iLmRhdGFzZXRbY10sZT0wLGY9MTtlPGEuZWxlbWVudHMubGVuZ3RoO2UrKyl7dmFyIGc9YS5lbGVtZW50c1tlXSxoPWcudGFnTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCEoZkcuaW5kZXhPZihoKTwwfHxoPT09ImlucHV0IiYmZ0cuaW5kZXhPZihnLnR5cGUudG9Mb3dlckNhc2UoKSk+PTApKXtpZihnLmRhdGFzZXRbY109PT1kKXJldHVybiBmO2YrK319cmV0dXJuIDB9LGZHPVsiaW5wdXQiLCJzZWxlY3QiLCJ0ZXh0YXJlYSJdLGdHPVsiYnV0dG9uIiwiaGlkZGVuIiwiaW1hZ2UiLCJyZXNldCIsInN1Ym1pdCJdOwpmdW5jdGlvbiBpRyhhKXtpZihhLmZvcm0pe3ZhciBiO3JldHVybigoYj1hLmZvcm0pPT1udWxsPzA6Yi50YWdOYW1lKT9hLmZvcm06Qi5nZXRFbGVtZW50QnlJZChhLmZvcm0pfXJldHVybiBoZChhLFsiZm9ybSJdLDEwMCl9OwpmdW5jdGlvbiBtRyhhKXt9bUcuUD0iaW50ZXJuYWwuYWRkRm9ybUFiYW5kb25tZW50TGlzdGVuZXIiO2Z1bmN0aW9uIG5HKGEsYixjLGQpe30KbkcuUD0iaW50ZXJuYWwuYWRkRm9ybURhdGEiOwpmdW5jdGlvbiBzRyhhKXt9c0cuUD0iaW50ZXJuYWwuYWRkR2FTZW5kTGlzdGVuZXIiO2Z1bmN0aW9uIHRHKGEpe2lmKCFhKXJldHVybnt9O3ZhciBiPWEuTnI7cmV0dXJuIEpBKGIudHlwZSxiLmluZGV4LGIubmFtZSl9ZnVuY3Rpb24gdUcoYSl7aWYoIWEpcmV0dXJue307dmFyIGI9e29yaWdpbmF0aW5nRW50aXR5OnRHKGEpfTthLnByaW9yaXR5UXVldWUmJihiLnByaW9yaXR5UXVldWU9YS5wcmlvcml0eVF1ZXVlKTtyZXR1cm4gYn07ZnVuY3Rpb24gQ0coYSl7dmFyIGI9bWooInpvbmVzIik7cmV0dXJuIGI/Yi5nZXRJc0FsbG93ZWRGbih3aygpLGEpOmZ1bmN0aW9uKCl7cmV0dXJuITB9fWZ1bmN0aW9uIERHKCl7dmFyIGE9bWooInpvbmVzIik7YSYmYS51bnJlZ2lzdGVyQ2hpbGQod2soKSl9CmZ1bmN0aW9uIEVHKCl7a0IodmsoKSxmdW5jdGlvbihhKXt2YXIgYj1hLm9yaWdpbmFsRXZlbnREYXRhWyJndG0udW5pcXVlRXZlbnRJZCJdLGM9bWooInpvbmVzIik7cmV0dXJuIGM/Yy5pc0FjdGl2ZSh3aygpLGIpOiEwfSk7aEIodmsoKSxmdW5jdGlvbihhKXt2YXIgYixjO2I9YS5lbnRpdHlJZDtjPWEuc2VjdXJpdHlHcm91cHM7cmV0dXJuIENHKE51bWJlcihhLm9yaWdpbmFsRXZlbnREYXRhWyJndG0udW5pcXVlRXZlbnRJZCJdKSkoYixjKX0pfTt2YXIgRkc9ZnVuY3Rpb24oYSxiKXt0aGlzLnRhZ0lkPWE7dGhpcy5jYW5vbmljYWxJZD1ifTsKZnVuY3Rpb24gR0coYSxiKXt2YXIgYz10aGlzO3JldHVybiBhfUdHLlA9ImludGVybmFsLmxvYWRHb29nbGVUYWciO2Z1bmN0aW9uIEhHKGEpe3JldHVybiBuZXcgS2QoIiIsZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShiKTtpZihjIGluc3RhbmNlb2YgS2QpcmV0dXJuIG5ldyBLZCgiIixmdW5jdGlvbigpe3ZhciBkPU9hLmFwcGx5KDAsYXJndW1lbnRzKSxlPXRoaXMsZj1FZChYRih0aGlzKSxudWxsKTtmLmV2ZW50SWQ9YS5ldmVudElkO2YucHJpb3JpdHlJZD1hLnByaW9yaXR5SWQ7Zi5vcmlnaW5hbEV2ZW50RGF0YT1hLm9yaWdpbmFsRXZlbnREYXRhO3ZhciBnPWQubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBlLmV2YWx1YXRlKGwpfSksaD10aGlzLlQud2IoKTtoLnVlKGYpO3JldHVybiBjLk5jLmFwcGx5KGMsW2hdLmNvbmNhdCh3KGcpKSl9KX0pfTtmdW5jdGlvbiBJRyhhLGIsYyl7dmFyIGQ9dGhpczt9SUcuUD0iaW50ZXJuYWwuYWRkR29vZ2xlVGFnUmVzdHJpY3Rpb24iOwpmdW5jdGlvbiBQRyhhLGIpe31QRy5QPSJpbnRlcm5hbC5hZGRIaXN0b3J5Q2hhbmdlTGlzdGVuZXIiO2Z1bmN0aW9uIFFHKGEsYixjKXt9UUcucHVibGljTmFtZT0iYWRkV2luZG93RXZlbnRMaXN0ZW5lciI7ZnVuY3Rpb24gUkcoYSxiKXtyZXR1cm4hMH1SRy5wdWJsaWNOYW1lPSJhbGlhc0luV2luZG93IjtmdW5jdGlvbiBTRyhhLGIsYyl7fVNHLlA9ImludGVybmFsLmFwcGVuZFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gVEcoYSl7dmFyIGI7cmV0dXJuIGJ9ClRHLnB1YmxpY05hbWU9ImNhbGxJbldpbmRvdyI7ZnVuY3Rpb24gVUcoYSl7fVVHLnB1YmxpY05hbWU9ImNhbGxMYXRlciI7ZnVuY3Rpb24gVkcoYSl7fVZHLlA9ImNhbGxPbkRvbVJlYWR5IjtmdW5jdGlvbiBXRyhhKXt9V0cuUD0iY2FsbE9uV2luZG93TG9hZCI7dmFyIFlHPWZ1bmN0aW9uKGEsYil7dmFyIGM9bm0oWEcpfHx7fSxkPWNbYV18fHt9O2lmKGRbYl0pcmV0dXJuITE7dmFyIGU9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxkKTtlW2JdPSEwO3ZhciBmPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyk7ZlthXT1lO21tKFhHLGYpO3JldHVybiEwfSxYRz1qbS5iYS5ocjtmdW5jdGlvbiBaRyhhLGIpe2lmKCFsaChhKXx8IWxoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBjPVlHKGEsYik7cmV0dXJuIGN9WkcuUD0iaW50ZXJuYWwuY2xhaW1EZXN0aW5hdGlvbiI7ZnVuY3Rpb24gJEcoYSxiKXt2YXIgYztyZXR1cm4gY30kRy5QPSJpbnRlcm5hbC5jb21wdXRlR3RtUGFyYW1ldGVyIjtmdW5jdGlvbiBhSChhLGIpe3ZhciBjPXRoaXM7fWFILlA9ImludGVybmFsLmNvbnNlbnRTY2hlZHVsZUZpcnN0VHJ5IjtmdW5jdGlvbiBiSChhLGIpe3ZhciBjPXRoaXM7fWJILlA9ImludGVybmFsLmNvbnNlbnRTY2hlZHVsZVJldHJ5IjtmdW5jdGlvbiBjSChhKXt2YXIgYjtpZighbGgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyJdLGFyZ3VtZW50cyk7dmFyIGM9YTtpZigha20oYykpdGhyb3cgRXJyb3IoImNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIHJlcXVpcmVzIHZhbGlkIENyb3NzQ29udGFpbmVyU2NoZW1hIGtleS4iKTt2YXIgZD1ubShjKTtiPVVkKGQsdGhpcy5ULDEpO3JldHVybiBifWNILlA9ImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIjtmdW5jdGlvbiBkSChhLGIpe3ZhciBjO3ZhciBlPVVkKGMsdGhpcy5ULEJoKFhGKHRoaXMpLlBiKCkpPzI6MSk7ZT09PXZvaWQgMCYmYyE9PXZvaWQgMCYmUCg0NSk7cmV0dXJuIGV9ZEgucHVibGljTmFtZT0iY29weUZyb21EYXRhTGF5ZXIiOwpmdW5jdGlvbiBlSChhKXt2YXIgYj12b2lkIDA7cmV0dXJuIGJ9ZUguUD0iaW50ZXJuYWwuY29weUZyb21EYXRhTGF5ZXJDYWNoZSI7ZnVuY3Rpb24gZkgoYSl7dmFyIGI7cmV0dXJuIGJ9ZkgucHVibGljTmFtZT0iY29weUZyb21XaW5kb3ciO2Z1bmN0aW9uIGdIKGEpe3ZhciBiPXZvaWQgMDtyZXR1cm4gVWQoYix0aGlzLlQsMSl9Z0guUD0iaW50ZXJuYWwuY29weUtleUZyb21XaW5kb3ciO3ZhciBoSD1mdW5jdGlvbihhKXtyZXR1cm4gYT09PWNvLmlhLmNiJiZmby5IW2FdPT09Ym8uTWEuVWUmJiFYbyhGLkQua2EpfTt2YXIgaUg9ZnVuY3Rpb24oKXtyZXR1cm4iMCJ9LGpIPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09InN0cmluZyIpcmV0dXJuIiI7dmFyIGI9WyJnY2xpZCIsImRjbGlkIiwid2JyYWlkIiwiX2dsIl07TSgxMDIpJiZiLnB1c2goImdicmFpZCIpO3JldHVybiBTaihhLGIsIjAiKX07dmFyIGtIPXt9LGxIPXt9LG1IPXt9LG5IPXt9LG9IPXt9LHBIPXt9LHFIPXt9LHJIPXt9LHNIPXt9LHRIPXt9LHVIPXt9LHZIPXt9LHdIPXt9LHhIPXt9LHlIPXt9LHpIPXt9LEFIPXt9LEJIPXt9LENIPXt9LERIPXt9LEVIPXt9LEZIPXt9LEdIPXt9LEhIPXt9LElIPXt9LEpIPXt9LEtIPShKSFtGLkQuZmJdPShrSFsyXT1baEhdLGtIKSxKSFtGLkQuWmZdPShsSFsyXT1baEhdLGxIKSxKSFtGLkQuSmldPShtSFsyXT1baEhdLG1IKSxKSFtGLkQuZ21dPShuSFsyXT1baEhdLG5IKSxKSFtGLkQuaG1dPShvSFsyXT1baEhdLG9IKSxKSFtGLkQuaW1dPShwSFsyXT1baEhdLHBIKSxKSFtGLkQuam1dPShxSFsyXT1baEhdLHFIKSxKSFtGLkQua21dPShySFsyXT1baEhdLHJIKSxKSFtGLkQuQmNdPShzSFsyXT1baEhdLHNIKSxKSFtGLkQuY2ddPSh0SFsyXT1baEhdLHRIKSxKSFtGLkQuZGddPSh1SFsyXT1baEhdLHVIKSxKSFtGLkQuZWddPSh2SFsyXT1baEhdLHZIKSxKSFtGLkQuZmddPSh3SFsyXT0KW2hIXSx3SCksSkhbRi5ELmdnXT0oeEhbMl09W2hIXSx4SCksSkhbRi5ELmhnXT0oeUhbMl09W2hIXSx5SCksSkhbRi5ELmlnXT0oekhbMl09W2hIXSx6SCksSkhbRi5ELmpnXT0oQUhbMl09W2hIXSxBSCksSkhbRi5ELmxiXT0oQkhbMV09W2hIXSxCSCksSkhbRi5ELkRkXT0oQ0hbMV09W2hIXSxDSCksSkhbRi5ELktkXT0oREhbMV09W2hIXSxESCksSkhbRi5ELkVlXT0oRUhbMV09W2hIXSxFSCksSkhbRi5ELkJmXT0oRkhbMV09W2Z1bmN0aW9uKGEpe3JldHVybiBNKDEwMikmJmhIKGEpfV0sRkgpLEpIW0YuRC5VY109KEdIWzFdPVtoSF0sR0gpLEpIW0YuRC56YV09KEhIWzFdPVtoSF0sSEgpLEpIW0YuRC5VYV09KElIWzFdPVtoSF0sSUgpLEpIKSxMSD17fSxNSD0oTEhbRi5ELmxiXT1pSCxMSFtGLkQuRGRdPWlILExIW0YuRC5LZF09aUgsTEhbRi5ELkVlXT1pSCxMSFtGLkQuQmZdPWlILExIW0YuRC5VY109ZnVuY3Rpb24oYSl7aWYoIUNkKGEpKXJldHVybnt9O3ZhciBiPUVkKGEsCm51bGwpO2RlbGV0ZSBiLm1hdGNoX2lkO3JldHVybiBifSxMSFtGLkQuemFdPWpILExIW0YuRC5VYV09akgsTEgpLE5IPXt9LE9IPXt9LFBIPShPSFtILkouWWFdPShOSFsyXT1baEhdLE5IKSxPSCksUUg9e307dmFyIFJIPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuSD1hO3RoaXMuTj1iO3RoaXMuUj1jO3RoaXMuWj1kfTtSSC5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP2NvLmlhLmdkOmE7aWYoIXRoaXMuTi5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiKGEpfSkpcmV0dXJuIHRoaXMuUi5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiKGEpfSk/dGhpcy5aKHRoaXMuSCk6dGhpcy5IfTtSSC5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3JldHVybiBBZCh0aGlzLkgpPT09ImFycmF5Inx8Q2QodGhpcy5IKT9FZCh0aGlzLkgsbnVsbCk6dGhpcy5IfTsKdmFyIFNIPWZ1bmN0aW9uKCl7fSxUSD1mdW5jdGlvbihhLGIpe3RoaXMuY29uZGl0aW9ucz1hO3RoaXMuSD1ifSxVSD1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0oKGQ9YS5jb25kaXRpb25zW2JdKT09bnVsbD92b2lkIDA6ZFsyXSl8fFtdLGYsZz0oKGY9YS5jb25kaXRpb25zW2JdKT09bnVsbD92b2lkIDA6ZlsxXSl8fFtdO3JldHVybiBuZXcgUkgoYyxlLGcsYS5IW2JdfHxTSCl9LFZILFdIO3ZhciBZSD1mdW5jdGlvbihhKXthLks9ITA7YS5IPSExO2lmKElmKDUyKSl7aWYoTSg1MTYpJiZYSCgpKXt2YXIgYjthLnNldHRpbmdzPShiPWRhdGEucHJvZHVjdFNldHRpbmdzKSE9bnVsbD9iOnt9O2EuSD0hMH1lbHNle3ZhciBjO2Euc2V0dGluZ3M9KGM9cHJvZHVjdFNldHRpbmdzKSE9bnVsbD9jOnt9fXByb2R1Y3RTZXR0aW5ncz12b2lkIDA7ZGF0YS5wcm9kdWN0U2V0dGluZ3M9dm9pZCAwO3ZhciBkOyhkPUZGKSE9bnVsbCYmZm4uTiYmTSg1MTYpJiYoZC5IPWEuSD8iMSI6IjAiKX19LCRIPWZ1bmN0aW9uKGEpe3ZhciBiPVpIO2IuS3x8WUgoYik7cmV0dXJuIGIuc2V0dGluZ3NbYV19LFpIPW5ldyBmdW5jdGlvbigpe3RoaXMuc2V0dGluZ3M9e307dGhpcy5LPXRoaXMuSD0hMX07CmZ1bmN0aW9uIFhIKCl7aWYoIWRhdGEucHJvZHVjdFNldHRpbmdzJiYhcHJvZHVjdFNldHRpbmdzKXJldHVybiEwO2lmKCFkYXRhLnByb2R1Y3RTZXR0aW5nc3x8IXByb2R1Y3RTZXR0aW5nc3x8T2JqZWN0LmtleXMoZGF0YS5wcm9kdWN0U2V0dGluZ3MpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHByb2R1Y3RTZXR0aW5ncykubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgYSBpbiBwcm9kdWN0U2V0dGluZ3MpaWYoIWRhdGEucHJvZHVjdFNldHRpbmdzLmhhc093blByb3BlcnR5KGEpfHxkYXRhLnByb2R1Y3RTZXR0aW5nc1thXS5wcmVBdXRvUGlpIT09cHJvZHVjdFNldHRpbmdzW2FdLnByZUF1dG9QaWkpcmV0dXJuITE7cmV0dXJuITB9O3ZhciBhST1mdW5jdGlvbihhLGIsYyl7dGhpcy5ldmVudE5hbWU9Yjt0aGlzLk09Yzt0aGlzLkg9e307dGhpcy5pc0Fib3J0ZWQ9ITE7dGhpcy50YXJnZXQ9YTt0aGlzLm1ldGFkYXRhPXt9O2Zvcih2YXIgZD1jLmV2ZW50TWV0YWRhdGF8fHt9LGU9bShPYmplY3Qua2V5cyhkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7Vih0aGlzLGcsZFtnXSl9fSxSPWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtyZXR1cm4oYz1hLkhbYl0pPT1udWxsP3ZvaWQgMDooZD1jLmdldFZhbHVlKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMsUShhLEguSi50ZykpfSxldT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmtleXMoYS5IKX0sVT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5ILGU7Yz09PXZvaWQgMD9lPXZvaWQgMDooVkghPW51bGx8fChWSD1uZXcgVEgoS0gsTUgpKSxlPVVIKFZILGIsYykpO2RbYl09ZX07CmFJLnByb3RvdHlwZS5tZXJnZUhpdERhdGFGb3JLZXk9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU7Yz0oZD10aGlzLkhbYV0pPT1udWxsP3ZvaWQgMDooZT1kLkspPT1udWxsP3ZvaWQgMDplLmNhbGwoZCk7aWYoIWMpcmV0dXJuIFUodGhpcyxhLGIpLCEwO2lmKCFDZChjKSlyZXR1cm4hMTtVKHRoaXMsYSxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LGMsYikpO3JldHVybiEwfTt2YXIgYkk9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306Yjtmb3IodmFyIGM9bShPYmplY3Qua2V5cyhhLkgpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZSxmPXZvaWQgMCxnPXZvaWQgMCxoPXZvaWQgMDtiW2VdPShmPWEuSFtlXSk9PW51bGw/dm9pZCAwOihoPShnPWYpLkspPT1udWxsP3ZvaWQgMDpoLmNhbGwoZyl9cmV0dXJuIGJ9OwphSS5wcm90b3R5cGUuY29weVRvSGl0RGF0YT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Tyh0aGlzLk0sYSk7ZD09PXZvaWQgMCYmKGQ9Yik7aWYoemIoZCkmJmMhPT12b2lkIDApdHJ5e2Q9YyhkKX1jYXRjaChlKXt9ZCE9PXZvaWQgMCYmVSh0aGlzLGEsZCl9Owp2YXIgUT1mdW5jdGlvbihhLGIpe3ZhciBjPWEubWV0YWRhdGFbYl07aWYoYj09PUguSi50Zyl7dmFyIGQ7cmV0dXJuIGM9PW51bGw/dm9pZCAwOihkPWMuSyk9PW51bGw/dm9pZCAwOmQuY2FsbChjKX12YXIgZTtyZXR1cm4gYz09bnVsbD92b2lkIDA6KGU9Yy5nZXRWYWx1ZSk9PW51bGw/dm9pZCAwOmUuY2FsbChjLFEoYSxILkoudGcpKX0sVj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5tZXRhZGF0YSxlO2M9PT12b2lkIDA/ZT1jOihXSCE9bnVsbHx8KFdIPW5ldyBUSChQSCxRSCkpLGU9VUgoV0gsYixjKSk7ZFtiXT1lfSxjST1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2Zvcih2YXIgYz1tKE9iamVjdC5rZXlzKGEubWV0YWRhdGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZSxmPXZvaWQgMCxnPXZvaWQgMCxoPXZvaWQgMDtiW2VdPShmPWEubWV0YWRhdGFbZV0pPT1udWxsP3ZvaWQgMDooaD0oZz1mKS5LKT09bnVsbD92b2lkIDA6CmguY2FsbChnKX1yZXR1cm4gYn0sZEk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRIKGEudGFyZ2V0LmRlc3RpbmF0aW9uSWQpO3JldHVybiBkJiZkW2JdIT09dm9pZCAwP2RbYl06Y30sWnU9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9bmV3IGFJKChiPT1udWxsP3ZvaWQgMDpiLnRhcmdldCl8fGEudGFyZ2V0LChiPT1udWxsP3ZvaWQgMDpiLmV2ZW50TmFtZSl8fGEuZXZlbnROYW1lLChiPT1udWxsP3ZvaWQgMDpiLk0pfHxhLk0pLGQ9YkkoYSksZT1tKE9iamVjdC5rZXlzKGQpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZTtVKGMsZyxkW2ddKX1mb3IodmFyIGg9Y0koYSksbD1tKE9iamVjdC5rZXlzKGgpKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9bi52YWx1ZTtWKGMscCxoW3BdKX1jLmlzQWJvcnRlZD1hLmlzQWJvcnRlZDtyZXR1cm4gY30sZUk9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NLGM9Yi5ldmVudElkLGQ9Yi5wcmlvcml0eUlkOwpyZXR1cm4gZD9jKyJfIitkOlN0cmluZyhjKX07YUkucHJvdG90eXBlLmFjY2VwdD1mdW5jdGlvbigpe3ZhciBhPW9tKGptLmJhLlNpLHt9KSxiPWVJKHRoaXMpLGM9dGhpcy50YXJnZXQuZGVzdGluYXRpb25JZDthW2JdfHwoYVtiXT17fSk7YVtiXVtjXT12aygpO3ZhciBkPWptLmJhLlNpO2lmKGttKGQpKXt2YXIgZTsoZT1sbShkKSk9PW51bGx8fGUubm90aWZ5KCl9fTthSS5wcm90b3R5cGUuY2FuQmVBY2NlcHRlZD1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5TaSk7aWYoIWIpcmV0dXJuITA7dmFyIGM9YltlSSh0aGlzKV07aWYoIWMpcmV0dXJuITA7dmFyIGQ9Y1thIT1udWxsP2E6dGhpcy50YXJnZXQuZGVzdGluYXRpb25JZF07cmV0dXJuIGQ9PT12b2lkIDB8fGQ9PT12aygpfTtmdW5jdGlvbiBmSShhKXtyZXR1cm57Z2V0RGVzdGluYXRpb25JZDpmdW5jdGlvbigpe3JldHVybiBhLnRhcmdldC5kZXN0aW5hdGlvbklkfSxnZXRFdmVudE5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gYS5ldmVudE5hbWV9LHNldEV2ZW50TmFtZTpmdW5jdGlvbihiKXthLmV2ZW50TmFtZT1ifSxnZXRIaXREYXRhOmZ1bmN0aW9uKGIpe3JldHVybiBSKGEsYil9LHNldEhpdERhdGE6ZnVuY3Rpb24oYixjKXtVKGEsYixjKX0sc2V0SGl0RGF0YUlmTm90RGVmaW5lZDpmdW5jdGlvbihiLGMpe1IoYSxiKT09PXZvaWQgMCYmVShhLGIsYyl9LGNvcHlUb0hpdERhdGE6ZnVuY3Rpb24oYixjKXthLmNvcHlUb0hpdERhdGEoYixjKX0sZ2V0TWV0YWRhdGE6ZnVuY3Rpb24oYil7cmV0dXJuIFEoYSxiKX0sc2V0TWV0YWRhdGE6ZnVuY3Rpb24oYixjKXtWKGEsYixjKX0saXNBYm9ydGVkOmZ1bmN0aW9uKCl7cmV0dXJuIGEuaXNBYm9ydGVkfSxhYm9ydDpmdW5jdGlvbigpe2EuaXNBYm9ydGVkPSEwfSwKZ2V0RnJvbUV2ZW50Q29udGV4dDpmdW5jdGlvbihiKXtyZXR1cm4gTyhhLk0sYil9LHJiOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LGdldEhpdEtleXM6ZnVuY3Rpb24oKXtyZXR1cm4gZXUoYSl9LGdldE1lcmdlZFZhbHVlczpmdW5jdGlvbihiKXtyZXR1cm4gYS5NLmdldE1lcmdlZFZhbHVlcyhiLDMpfSxtZXJnZUhpdERhdGFGb3JLZXk6ZnVuY3Rpb24oYixjKXtyZXR1cm4gQ2QoYyk/YS5tZXJnZUhpdERhdGFGb3JLZXkoYixjKTohMX0sYWNjZXB0OmZ1bmN0aW9uKCl7YS5hY2NlcHQoKX0sY2FuQmVBY2NlcHRlZDpmdW5jdGlvbihiKXtyZXR1cm4gYS5jYW5CZUFjY2VwdGVkKGIpfX19O2Z1bmN0aW9uIGdJKGEsYil7dmFyIGM7aWYoIWVoKGEpfHwhZmgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbIk9iamVjdCIsIk9iamVjdHx1bmRlZmluZWQiXSxhcmd1bWVudHMpO3ZhciBkPVRkKGIpfHx7fSxlPVRkKGEsdGhpcy5ULDEpLnJiKCksZj1lLk07ZC5vbWl0RXZlbnRDb250ZXh0JiYoZj1KQyhuZXcgeUMoZS5NLmV2ZW50SWQsZS5NLnByaW9yaXR5SWQpKSk7dmFyIGc9bmV3IGFJKGUudGFyZ2V0LGUuZXZlbnROYW1lLGYpO2lmKCFkLm9taXRIaXREYXRhKWZvcih2YXIgaD1iSShlKSxsPW0oT2JqZWN0LmtleXMoaCkpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1uLnZhbHVlO1UoZyxwLGhbcF0pfWlmKGQub21pdE1ldGFkYXRhKWcubWV0YWRhdGE9e307ZWxzZSBmb3IodmFyIHE9Y0koZSkscj1tKE9iamVjdC5rZXlzKHEpKSx0PXIubmV4dCgpOyF0LmRvbmU7dD0Kci5uZXh0KCkpe3ZhciB1PXQudmFsdWU7VihnLHUscVt1XSl9Zy5pc0Fib3J0ZWQ9ZS5pc0Fib3J0ZWQ7Yz1VZChmSShnKSx0aGlzLlQsMSk7cmV0dXJuIGN9Z0kuUD0iaW50ZXJuYWwuY29weVByZUhpdCI7ZnVuY3Rpb24gaEkoYSxiKXt2YXIgYz1udWxsO3JldHVybiBVZChjLHRoaXMuVCwyKX1oSS5wdWJsaWNOYW1lPSJjcmVhdGVBcmd1bWVudHNRdWV1ZSI7ZnVuY3Rpb24gaUkoYSl7cmV0dXJuIFVkKGZ1bmN0aW9uKGMpe3ZhciBkPVNBKCk7aWYodHlwZW9mIGM9PT0iZnVuY3Rpb24iKWQoZnVuY3Rpb24oKXtjKGZ1bmN0aW9uKGYsZyxoKXt2YXIgbD0KU0EoKSxuPWwmJmwuZ2V0QnlOYW1lJiZsLmdldEJ5TmFtZShmKTtyZXR1cm4obmV3IEEuZ2FwbHVnaW5zLkxpbmtlcihuKSkuZGVjb3JhdGUoZyxoKX0pfSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGMpKXt2YXIgZT1TdHJpbmcoY1swXSkuc3BsaXQoIi4iKTtiW2UubGVuZ3RoPT09MT9lWzBdOmVbMV1dJiZkLmFwcGx5KG51bGwsYyl9ZWxzZSBpZihjPT09ImlzTG9hZGVkIilyZXR1cm4hIWQubG9hZGVkfSx0aGlzLlQsMSl9aUkuUD0iaW50ZXJuYWwuY3JlYXRlR2FDb21tYW5kUXVldWUiO2Z1bmN0aW9uIGpJKGEpe3JldHVybiBVZChmdW5jdGlvbigpe2lmKCF5YihlLnB1c2gpKXRocm93IEVycm9yKCJPYmplY3QgYXQgIithKyIgaW4gd2luZG93IGlzIG5vdCBhbiBhcnJheS4iKTtlLnB1c2guYXBwbHkoZSxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpfSx0aGlzLlQsCkJoKFhGKHRoaXMpLlBiKCkpPzI6MSl9akkucHVibGljTmFtZT0iY3JlYXRlUXVldWUiO2Z1bmN0aW9uIGtJKGEsYil7dmFyIGM9bnVsbDtpZighbGgoYSl8fCFtaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dHJ5e3ZhciBkPShifHwiIikuc3BsaXQoIiIpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4iaWciLmluZGV4T2YoZSk+PTB9KS5qb2luKCIiKTtjPW5ldyBQZChuZXcgUmVnRXhwKGEsZCkpfWNhdGNoKGUpe31yZXR1cm4gY31rSS5QPSJpbnRlcm5hbC5jcmVhdGVSZWdleCI7ZnVuY3Rpb24gbEkoYSl7fWxJLlA9ImludGVybmFsLmRlY2xhcmVDb25zZW50U3RhdGUiO2Z1bmN0aW9uIG1JKGEpe3ZhciBiPSIiO3JldHVybiBifW1JLlA9ImludGVybmFsLmRlY29kZVVybEh0bWxFbnRpdGllcyI7ZnVuY3Rpb24gbkkoYSxiLGMpe3ZhciBkO3JldHVybiBkfW5JLlA9ImludGVybmFsLmRlY29yYXRlVXJsV2l0aEdhQ29va2llcyI7ZnVuY3Rpb24gb0koKXt9b0kuUD0iaW50ZXJuYWwuZGVmZXJDdXN0b21FdmVudHMiO2Z1bmN0aW9uIHBJKGEsYil7dHJ5e3JldHVybiBhLmNsb3Nlc3QoYil9Y2F0Y2goYyl7cmV0dXJuIG51bGx9fTtmdW5jdGlvbiBxSSgpe3ZhciBhPUEuc2NyZWVuO3JldHVybnt3aWR0aDphP2Eud2lkdGg6MCxoZWlnaHQ6YT9hLmhlaWdodDowfX0KZnVuY3Rpb24gckkoYSl7aWYoQi5oaWRkZW4pcmV0dXJuITA7dmFyIGI9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihiLnRvcD09PWIuYm90dG9tfHxiLmxlZnQ9PT1iLnJpZ2h0fHwhQS5nZXRDb21wdXRlZFN0eWxlKXJldHVybiEwO3ZhciBjPUEuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpO2lmKGMudmlzaWJpbGl0eT09PSJoaWRkZW4iKXJldHVybiEwO2Zvcih2YXIgZD1hLGU9YztkOyl7aWYoZS5kaXNwbGF5PT09Im5vbmUiKXJldHVybiEwO3ZhciBmPWUub3BhY2l0eSxnPWUuZmlsdGVyO2lmKGcpe3ZhciBoPWcuaW5kZXhPZigib3BhY2l0eSgiKTtoPj0wJiYoZz1nLnN1YnN0cmluZyhoKzgsZy5pbmRleE9mKCIpIixoKSksZy5jaGFyQXQoZy5sZW5ndGgtMSk9PT0iJSImJihnPWcuc3Vic3RyaW5nKDAsZy5sZW5ndGgtMSkpLGY9U3RyaW5nKE1hdGgubWluKE51bWJlcihnKSxOdW1iZXIoZikpKSl9aWYoZiE9PXZvaWQgMCYmTnVtYmVyKGYpPD0wKXJldHVybiEwOyhkPWQucGFyZW50RWxlbWVudCkmJgooZT1BLmdldENvbXB1dGVkU3R5bGUoZCxudWxsKSl9cmV0dXJuITF9CnZhciB0ST1mdW5jdGlvbihhKXt2YXIgYj1zSSgpLGM9Yi5oZWlnaHQsZD1iLndpZHRoLGU9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxmPWUuYm90dG9tLWUudG9wLGc9ZS5yaWdodC1lLmxlZnQ7cmV0dXJuIGYmJmc/KDEtTWF0aC5taW4oKE1hdGgubWF4KDAtZS5sZWZ0LDApK01hdGgubWF4KGUucmlnaHQtZCwwKSkvZywxKSkqKDEtTWF0aC5taW4oKE1hdGgubWF4KDAtZS50b3AsMCkrTWF0aC5tYXgoZS5ib3R0b20tYywwKSkvZiwxKSk6MH0sc0k9ZnVuY3Rpb24oKXt2YXIgYT1CLmJvZHksYj1CLmRvY3VtZW50RWxlbWVudHx8YSYmYS5wYXJlbnRFbGVtZW50LGMsZDtpZihCLmNvbXBhdE1vZGUmJkIuY29tcGF0TW9kZSE9PSJCYWNrQ29tcGF0IiljPWI/Yi5jbGllbnRIZWlnaHQ6MCxkPWI/Yi5jbGllbnRXaWR0aDowO2Vsc2V7dmFyIGU9ZnVuY3Rpb24oZixnKXtyZXR1cm4gZiYmZz9NYXRoLm1pbihmLGcpOk1hdGgubWF4KGYsZyl9O2M9ZShiP2IuY2xpZW50SGVpZ2h0OjAsYT8KYS5jbGllbnRIZWlnaHQ6MCk7ZD1lKGI/Yi5jbGllbnRXaWR0aDowLGE/YS5jbGllbnRXaWR0aDowKX1yZXR1cm57d2lkdGg6ZCxoZWlnaHQ6Y319O3ZhciB2ST1mdW5jdGlvbihhKXtpZih1SSl7dmFyIGI9YWwoMjQsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGE+PTAmJmE8Yi5sZW5ndGgmJmJbYV0pe3ZhciBjOyhjPWJbYV0pPT1udWxsfHxjLmRpc2Nvbm5lY3QoKTtiW2FdPXZvaWQgMH19ZWxzZSBBLmNsZWFySW50ZXJ2YWwoYSl9LHlJPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdPjE/Y1tkXT0xOmNbZF08MCYmKGNbZF09MCk7aWYodUkpe3ZhciBlPSExO2JkKGZ1bmN0aW9uKCl7ZXx8d0koYSxiLGMpKCl9KTtyZXR1cm4geEkoZnVuY3Rpb24oZil7ZT0hMDtmb3IodmFyIGc9e0hnOjB9O2cuSGc8Zi5sZW5ndGg7Zz17SGc6Zy5IZ30sZy5IZysrKWJkKGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbigpe2EoZltoLkhnXSl9fShnKSl9LApiLGMpfXJldHVybiBjZCh3SShhLGIsYyksMUUzKX0sd0k9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoaCxsKXt2YXIgbj17dG9wOjAsYm90dG9tOjAscmlnaHQ6MCxsZWZ0OjAsd2lkdGg6MCxoZWlnaHQ6MH0scD17Ym91bmRpbmdDbGllbnRSZWN0OmguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaW50ZXJzZWN0aW9uUmF0aW86bCxpbnRlcnNlY3Rpb25SZWN0Om4saXNJbnRlcnNlY3Rpbmc6bD4wLHJvb3RCb3VuZHM6bix0YXJnZXQ6aCx0aW1lOk5iKCl9O2JkKGZ1bmN0aW9uKCl7YShwKX0pfWZvcih2YXIgZT1bXSxmPVtdLGc9MDtnPGIubGVuZ3RoO2crKyllLnB1c2goMCksZi5wdXNoKC0xKTtjLnNvcnQoZnVuY3Rpb24oaCxsKXtyZXR1cm4gaC1sfSk7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBoPTA7aDxiLmxlbmd0aDtoKyspe3ZhciBsPXRJKGJbaF0pO2lmKGw+ZVtoXSlmb3IoO2ZbaF08Yy5sZW5ndGgtMSYmbD49Y1tmW2hdKzFdOylkKGJbaF0sbCksZltoXSsrO2Vsc2UgaWYobDwKZVtoXSlmb3IoO2ZbaF0+PTAmJmw8PWNbZltoXV07KWQoYltoXSxsKSxmW2hdLS07ZVtoXT1sfX19LHhJPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9bmV3IEEuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoYSx7dGhyZXNob2xkOmN9KSxlPTA7ZTxiLmxlbmd0aDtlKyspZC5vYnNlcnZlKGJbZV0pO2Zvcih2YXIgZj1hbCgyNCxmdW5jdGlvbigpe3JldHVybltdfSksZz0wO2c8Zi5sZW5ndGg7ZysrKWlmKCFmW2ddKXJldHVybiBmW2ddPWQsZztyZXR1cm4gZi5wdXNoKGQpLTF9LHVJPSEoIUEuSW50ZXJzZWN0aW9uT2JzZXJ2ZXJ8fCFBLkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkpOwp2YXIgSkk9ZnVuY3Rpb24oYSl7dmFyIGIsYz0oYj1hPT1udWxsP3ZvaWQgMDphLmluY2x1ZGVTZWxlY3RvcikhPW51bGw/YjohMCxkLGU9KGQ9YT09bnVsbD92b2lkIDA6YS5pbmNsdWRlVmlzaWJpbGl0eSkhPW51bGw/ZDohMCxmLGc9KGY9YT09bnVsbD92b2lkIDA6YS5zZWxlY3RNdWx0aXBsZUVsZW1lbnRzKSE9bnVsbD9mOiExLGg9KGE9PW51bGw/dm9pZCAwOmEuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnMpfHxbXSxsPShhPT1udWxsP3ZvaWQgMDphLmZpZWxkRmlsdGVycyl8fHtlbWFpbDohMCxwaG9uZTohMSxhZGRyZXNzOiExfSxuPWFsKDYsZnVuY3Rpb24oKXtyZXR1cm57fX0pLHA9ekkoe2luY2x1ZGVTZWxlY3RvcjpjLGluY2x1ZGVWaXNpYmlsaXR5OmUsZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnM6aCxmaWVsZEZpbHRlcnM6bH0pLHE9bltwXTtpZihxJiZOYigpLXEudGltZXN0YW1wPDIwMCl7dmFyIHI9cS5yZXN1bHQsdDsoci5lbGVtZW50cy5zb21lKGZ1bmN0aW9uKHFhKXtyZXR1cm4gcWEuZGl9KXx8CigodD1yLmdpKT09bnVsbD8wOnQuZGkpKSYmR3UoVC5XLnJqKTtyZXR1cm4gcn12YXIgdT1BSSgpLHY9dS5zdGF0dXMseD1bXSx5LHosQz1bXTtpZihNKDU2OCkpe3ZhciBEPUJJKGwpLEk9Q0kodS5lbGVtZW50cyxEKSxHPURJKEkpLE49RUkoRyxoKSxTPUZJKE4pO3k9Uy5maWx0ZXIoZnVuY3Rpb24ocWEpe3JldHVybiBxYS5EYT09PUZELkJifSlbMF07Zm9yKHZhciBXPVtdLGVhPXtJZzowfTtlYS5JZzxELmxlbmd0aDtlYT17SWc6ZWEuSWd9LGVhLklnKyspe3ZhciBqYT1OLmZpbHRlcihmdW5jdGlvbihxYSl7cmV0dXJuIGZ1bmN0aW9uKGliKXtyZXR1cm4gaWIuRGE9PT1EW3FhLklnXX19KGVhKSk7amEubGVuZ3RoPjEwJiYodj0iMyIsamE9amEuc2xpY2UoMCwxMCkpO1c9Vy5jb25jYXQoamEpfU49VzshZyYmUyYmKE49Uyk7Zm9yKHZhciBmYT0wO2ZhPE4ubGVuZ3RoO2ZhKyspe3ZhciBzYT1OW2ZhXTtzYS5EYSE9PUZELktoJiZDLnB1c2goR0koc2EsYyxlKSl9fWVsc2V7aWYobC5lbWFpbCl7dmFyIGRhPQpISSh1LmVsZW1lbnRzKTt4PUVJKGRhLGgpO3k9SUkoeCk7ZGEubGVuZ3RoPjEwJiYodj0iMyIpfSFnJiZ5JiYoeD1beV0pO2Zvcih2YXIgbWE9MDttYTx4Lmxlbmd0aDttYSsrKUMucHVzaChHSSh4W21hXSxjLGUpKTtDPUMuc2xpY2UoMCwxMCl9eSYmKHo9R0koeSxjLGUpKTt2YXIgUGE9e2VsZW1lbnRzOkMsZ2k6eixzdGF0dXM6dn07bltwXT17dGltZXN0YW1wOk5iKCkscmVzdWx0OlBhfTt2YXIgRmE7KFBhLmVsZW1lbnRzLnNvbWUoZnVuY3Rpb24ocWEpe3JldHVybiBxYS5kaX0pfHwoKEZhPVBhLmdpKT09bnVsbD8wOkZhLmRpKSkmJkd1KFQuVy5yaik7cmV0dXJuIFBhfSxEST1mdW5jdGlvbihhKXt2YXIgYj1hLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5EYT09PUZELktofSksYz1hLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5EYT09PUZELlhkfSk7aWYoYS5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIHUuRGE9PT1GRC5jZX0pLmxlbmd0aD09PTAmJmMubGVuZ3RoPT09CjApZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF0sZj1lLkNhLnNwbGl0KCIgIik7Zi5sZW5ndGg+MSYmYS5wdXNoKHtDYTpmWzBdLERhOkZELlhkLGVsZW1lbnQ6ZS5lbGVtZW50LE9jOmUuT2N9LHtDYTpmLnNsaWNlKDEpLmpvaW4oIiAiKSxEYTpGRC5jZSxlbGVtZW50OmUuZWxlbWVudCxPYzplLk9jfSl9Zm9yKHZhciBnLGg9MCxsLG49ZnVuY3Rpb24odSl7cmV0dXJuIHUuRGE9PT1GRC5lZSYmdS5DYS5sZW5ndGg+PTMmJnUuQ2EubGVuZ3RoPD00fSxwPTA7cDxhLmxlbmd0aDtwKyspe3ZhciBxPWFbcF07aWYobihxKSYmZyYmcS5lbGVtZW50LnBhcmVudEVsZW1lbnQ9PT1nJiZoPDMpe2lmKGgrPTEsbCs9cS5DYSxoPT09Myl7dmFyIHI9cC1oKzE7aWYobD1LSVtGRC5lZV0ubmEobCkpYVtyXS5DYT1sfX1lbHNlIGlmKGg9MCxsPSIiLGc9dm9pZCAwLG4ocSkpe2grKztsPXEuQ2E7dmFyIHQ9dm9pZCAwO2c9KHQ9cS5lbGVtZW50LnBhcmVudEVsZW1lbnQpIT1udWxsPwp0OnZvaWQgMH19cmV0dXJuIGEuZmlsdGVyKGZ1bmN0aW9uKHUpe3JldHVybiFuKHUpfSl9LE9JPWZ1bmN0aW9uKGEsYil7aWYoYS52YWx1ZSYmTEkuaW5kZXhPZigoYS50eXBlfHwidGV4dCIpLnRvTG93ZXJDYXNlKCkpIT09LTEpe3ZhciBjPWEuYXV0b2NvbXBsZXRlO2lmKGMpZm9yKHZhciBkPWMuc3BsaXQoIiAiKSxlPTA7ZTxkLmxlbmd0aDtlKyspe3ZhciBmPU1JKGEudmFsdWUsYixkW2VdKTtpZihmKXJldHVybiBmfXZhciBnLGg9W2EubmFtZSxhLmlkLChnPWEuYXJpYUxhYmVsKSE9bnVsbD9nOnZvaWQgMCxhLnBsYWNlaG9sZGVyXSxsPWEucGFyZW50RWxlbWVudDtsJiZsLnRhZ05hbWU9PT0iTEFCRUwiJiZoLnB1c2gobC5pbm5lclRleHQpO3ZhciBuPWEucHJldmlvdXNFbGVtZW50U2libGluZztuJiZuLnRhZ05hbWU9PT0iTEFCRUwiJiYhbi5odG1sRm9yJiZoLnB1c2gobi5pbm5lclRleHQpO2lmKGEuaWQpe3ZhciBwPVtdO3RyeXtwPWRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbCgnbGFiZWxbZm9yPSInKwphLmlkKyciXScpfWNhdGNoKEQpe31mb3IodmFyIHE9MDtxPHAubGVuZ3RoO3ErKyloLnB1c2gocFtxXS5pbm5lclRleHQpfWg9aC5maWx0ZXIoZnVuY3Rpb24oRCl7cmV0dXJuIEQmJkQudHJpbSgpfSk7Zm9yKHZhciByLHQ9MCx1PTA7dTxoLmxlbmd0aDt1Kyspe3ZhciB2PU5JKGEsYixoW3VdKTtpZih2KXt2YXIgeD12LHk9eC5DYSx6PXguRGEsQz14LlhzO0M+dCYmKHQ9QyxyPXtDYTp5LERhOnp9KX19cmV0dXJuIHJ9fSxOST1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF07aWYoS0lbZV0ubmUpe3ZhciBmPUtJW2VdLm5lLmV4ZWMoYy50cmltKCkpO2lmKGYpe3ZhciBnPWEsaD1bXSxsPWcudmFsdWUudHJpbSgpO2wmJmgucHVzaChsKTtpZihnLnRhZ05hbWU9PT0iU0VMRUNUIil0cnl7dmFyIG49Zy5xdWVyeVNlbGVjdG9yKCdbdmFsdWU9IicrZy52YWx1ZSsnIl0nKSxwPW4mJm4uaW5uZXJUZXh0LnRyaW0oKTtwJiZoLnB1c2gocCl9Y2F0Y2godSl7fWZvcih2YXIgcT0KaCxyPXZvaWQgMCx0PTA7dDxxLmxlbmd0aCYmIXI7dCsrKXI9S0lbZV0ubmEocVt0XSk7aWYocilyZXR1cm57RGE6ZSxDYTpyLFhzOmZbMF0ubGVuZ3RoL2MudHJpbSgpLmxlbmd0aH19fX19LE1JPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTtpZihLSVtlXS5hdXRvY29tcGxldGUmJktJW2VdLmF1dG9jb21wbGV0ZS5pbmRleE9mKGMpPj0wKXt2YXIgZj1LSVtlXS5uYShhLnRyaW0oKSk7aWYoZilyZXR1cm57RGE6ZSxDYTpmfX19fSxCST1mdW5jdGlvbihhKXt2YXIgYj1bXTthLmVtYWlsJiZiLnB1c2goRkQuQmIpO2EucGhvbmUmJmIucHVzaChGRC5lZSk7YS5hZGRyZXNzJiZiLnB1c2goRkQuWGQsRkQuY2UsRkQueGYsRkQucWcsRkQuS2gpO3JldHVybiBifSxDST1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspe3ZhciBlPWFbZF0sZj1lLmVsZW1lbnQsZz1lLk9jLGg7YTp7dmFyIGw9ZixuPWIsCnA9bC5pbm5lckhUTUw7UEkuaW5kZXhPZihsLnRhZ05hbWUpPj0wJiYocD1sLnZhbHVlfHxwKTtpZihwKXt2YXIgcTtiOntmb3IodmFyIHI9cCx0PW4sdT0wO3U8dC5sZW5ndGg7dSsrKXt2YXIgdj10W3VdO2lmKCFLSVt2XS5tZSl7dmFyIHg9S0lbdl0ubmEoci50cmltKCkpO2lmKHgpe3E9e0RhOnYsQ2E6eH07YnJlYWsgYn19fXE9dm9pZCAwfWlmKHEpe2g9cTticmVhayBhfWlmKFBJLmluZGV4T2YobC50YWdOYW1lKSE9PS0xKXtoPU9JKGwsbik7YnJlYWsgYX19aD12b2lkIDB9dmFyIHk9aDtpZih5KXt2YXIgej15O2MucHVzaCh7Q2E6ei5DYSxEYTp6LkRhLGVsZW1lbnQ6ZixPYzpnfSl9fXJldHVybiBjfSxGST1mdW5jdGlvbihhKXt2YXIgYj1bXTtpZihhLmxlbmd0aD09PTApcmV0dXJuIGI7dmFyIGM9e30sZDtmb3IoZCBpbiBGRClpZihjPXtWZzpjLlZnfSxjLlZnPWQsRkQuaGFzT3duUHJvcGVydHkoYy5WZykpe3ZhciBlPWEuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbihnKXtyZXR1cm4gZy5EYT09PQpGRFtmLlZnXX19KGMpKTtlLmxlbmd0aCE9PTAmJihGRFtjLlZnXT09PUZELkJiJiYoZT1RSShlLGZ1bmN0aW9uKGYpe3JldHVybiFSSS50ZXN0KGYuQ2EpfSksZT1RSShlLGZ1bmN0aW9uKGYpe3JldHVybiBmLmVsZW1lbnQudGFnTmFtZS50b1VwcGVyQ2FzZSgpPT09IklOUFVUIn0pLGU9UUkoZSxmdW5jdGlvbihmKXtyZXR1cm4hckkoZi5lbGVtZW50KX0pKSxiLnB1c2goZVswXSkpfXJldHVybiBifSxHST1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5lbGVtZW50LGU9YS5PYyxmPXtDYTphLkNhLHR5cGU6YS5EYSx0YWdOYW1lOmQudGFnTmFtZX07aWYoYil7dmFyIGcsaD1TSShkKTtpZihnPShlP2UrInwiK2g6aCkuc2xpY2UoMCxUSSkpZi5xdWVyeVNlbGVjdG9yPWd9YyYmKGYuaXNWaXNpYmxlPSFySShkKSk7ZSYmKGYuZGk9ITApO3JldHVybiBmfSx6ST1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtiPWEuaW5jbHVkZVNlbGVjdG9yO2M9YS5pbmNsdWRlVmlzaWJpbGl0eTtkPWEuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnM7CmU9YS5maWVsZEZpbHRlcnM7dmFyIGY9ISFiKyIuIishIWM7ZC5sZW5ndGgmJihmKz0iLiIrZC5qb2luKCIuIikpO3JldHVybiBmKz0iLiIrZS5lbWFpbCsiLiIrZS5waG9uZSsiLiIrZS5hZGRyZXNzfSxJST1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCE9PTApe3ZhciBiO2I9UUkoYSxmdW5jdGlvbihjKXtyZXR1cm4hUkkudGVzdChjLkNhKX0pO2I9UUkoYixmdW5jdGlvbihjKXtyZXR1cm4gYy5lbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKT09PSJJTlBVVCJ9KTtiPVFJKGIsZnVuY3Rpb24oYyl7cmV0dXJuIXJJKGMuZWxlbWVudCl9KTtyZXR1cm4gYlswXX19LEVJPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyl7Zm9yKHZhciBlPSEwLGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGc9YltmXTtpZihnJiZwSShhW2RdLmVsZW1lbnQsZykpe2U9ITE7YnJlYWt9fWFbZF0uRGE9PT1GRC5CYiYmTSg2MDIpJiYoUkkudGVzdChhW2RdLkNhKXx8YVtkXS5lbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKT09PQoiQSImJmFbZF0uZWxlbWVudC5oYXNBdHRyaWJ1dGUoImhyZWYiKSYmYVtkXS5lbGVtZW50LmdldEF0dHJpYnV0ZSgiaHJlZiIpLmluZGV4T2YoIm1haWx0bzoiKSE9PS0xP2U9ITE6YVtkXS5lbGVtZW50LmNsb3Nlc3QoImZvb3RlciIpIT09bnVsbCYmKGU9ITEpKTtlJiZjLnB1c2goYVtkXSl9cmV0dXJuIGN9LFFJPWZ1bmN0aW9uKGEsYil7aWYoYS5sZW5ndGg8PTEpcmV0dXJuIGE7dmFyIGM9YS5maWx0ZXIoYik7cmV0dXJuIGMubGVuZ3RoPT09MD9hOmN9LFNJPWZ1bmN0aW9uKGEpe2lmKGE9PT1CLmJvZHkpcmV0dXJuImJvZHkiO2lmKGEuaWQpcmV0dXJuIiMiK2EuaWQ7dmFyIGI9YS5wYXJlbnRFbGVtZW50O2lmKGIpe3ZhciBjPVNJKGIpLGQ9VUkoYSxiKSxlPVZJKGEpKyI6bnRoLWNoaWxkKCIrZCsiKSI7cmV0dXJuIGM/YysiPiIrZTplfXZhciBmPWEucGFyZW50Tm9kZTtpZihmIGluc3RhbmNlb2YgU2hhZG93Um9vdCl7dmFyIGc9VUkoYSxmKTtyZXR1cm4gVkkoYSkrIjpudGgtY2hpbGQoIisKZysiKSJ9cmV0dXJuIGEudGFnTmFtZT9hLnRhZ05hbWUudG9Mb3dlckNhc2UoKToiIn0sVkk9ZnVuY3Rpb24oYSl7aWYoYS5jbGFzc0xpc3QmJmEuY2xhc3NMaXN0Lmxlbmd0aD4wKXt2YXIgYj1BcnJheS5mcm9tKGEuY2xhc3NMaXN0LGZ1bmN0aW9uKGMpe3JldHVybiBDU1MuZXNjYXBlKGMpfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjLmxlbmd0aD4wfSk7aWYoYi5sZW5ndGg+MClyZXR1cm4iLiIrYi5qb2luKCIuIil9cmV0dXJuIiJ9LFVJPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWIuY2hpbGRyZW4sZD0wO2Q8Yy5sZW5ndGg7ZCsrKWlmKGNbZF09PT1hKXJldHVybiBkKzE7cmV0dXJuIDF9LEhJPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1kLmVsZW1lbnQsZj1kLk9jLGc9ZS50ZXh0Q29udGVudDtlLnRhZ05hbWUudG9VcHBlckNhc2UoKT09PSJJTlBVVCImJmUudmFsdWUmJihnPWUudmFsdWUpO2lmKGcpe3ZhciBoPQpnLm1hdGNoKEtEKTtpZihoKXt2YXIgbD1oWzBdO0xEKGwpfHxiLnB1c2goe2VsZW1lbnQ6ZSxDYTpsLERhOkZELkJiLE9jOmZ9KX19fXJldHVybiBifSxBST1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Qi5ib2R5O2lmKCFiKXJldHVybntlbGVtZW50czphLHN0YXR1czoiNCJ9O3ZhciBjPVdJKGIsMCwiIixhKTtyZXR1cm57ZWxlbWVudHM6YSxzdGF0dXM6Y319LFdJPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1hLnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSxmPWUubGVuZ3RoPjFFND8iMiI6IjEiLGc9MDtnPE1hdGgubWluKGUubGVuZ3RoLDFFNCk7ZysrKXt2YXIgaD1lW2ddO2lmKCEoWEkuaW5kZXhPZihoLnRhZ05hbWUudG9VcHBlckNhc2UoKSk+PTApJiZoLmNoaWxkcmVuIGluc3RhbmNlb2YgSFRNTENvbGxlY3Rpb24pe3ZhciBsPSExO2lmKE0oNTgyKSYmaC5zaGFkb3dSb290JiZiPDEpe3ZhciBuPVNJKGgpO1dJKGguc2hhZG93Um9vdCxiKzEsYz9jKyJ8IituOm4sZCk9PT0iMiImJgooZj0iMiIpO2w9ITB9dmFyIHA9ITE7aWYoIWwpZm9yKHZhciBxPTA7cTxNYXRoLm1pbihoLmNoaWxkRWxlbWVudENvdW50LDFFNCk7cSsrKWlmKCEoWUkuaW5kZXhPZihoLmNoaWxkcmVuW3FdLnRhZ05hbWUudG9VcHBlckNhc2UoKSk+PTApKXtwPSEwO2JyZWFrfSghcCYmIWx8fE0oNTY4KSYmUEkuaW5kZXhPZihoLnRhZ05hbWUpIT09LTEpJiZkLnB1c2goe2VsZW1lbnQ6aCxPYzpiPjA/Yzp2b2lkIDB9KX19cmV0dXJuIGZ9LFJJPS9zdXBwb3J0fG5vcmVwbHkvaSxYST0iU0NSSVBUIFNUWUxFIElNRyBTVkcgUEFUSCBCUiBOT1NDUklQVCBURVhUQVJFQSIuc3BsaXQoIiAiKSxZST1bIkJSIl0sVEk9TmYoNzAsNTApLFBJPVsiSU5QVVQiLCJTRUxFQ1QiXSxMST0idGV4dCB0ZWwgc2VhcmNoIG51bWJlciBoaWRkZW4gZW1haWwgc2VsZWN0LW9uZSIuc3BsaXQoIiAiKSxaST1SZWdFeHAoInBob25lfG1vYmlsZXxjb250YWN0Lj9udW1iZXJ8dGVsZWZvbm51bW1lcnx0ZWxlZm9ub3x0ZWxcdTAwZTlmb25vfHRlbGZpeGV8XHU5NmZiXHU4YTcxfHRlbGVmb25lfHRlbGVtb3ZlbHxcdTA0NDJcdTA0MzVcdTA0M2JcdTA0MzVcdTA0NDRcdTA0M2VcdTA0M2R8XHUwOTJlXHUwOTRiXHUwOTJjXHUwOTNlXHUwOTA3XHUwOTMyfFx1NzUzNVx1OGJkZHxcdTYyNGJcdTY3M2FcdTUzZjd8XHUwZDJlXHUwZDRhXHUwZDJjXHUwZDQ4XHUwZDMyXHUwZDRkXHUyMDBkfChefFstX10pdGVsWy1fXT8oXFxkKykqKFxcWy4qXFxdKSokfCg/Olx1YzgwNFx1ZDY1NHxcdWQ1NzhcdWI0ZGNcdWQzZjB8XHVkNzM0XHViMzAwXHVkM2YwfFx1ZDczNFx1YjMwMFx1YzgwNFx1ZDY1NCkoPzouP1x1YmM4OFx1ZDYzOCk/fChcXGJ8X3xcXCopdGVsZWZvbihcXGJ8X3xcXCopfHRlbGVwb258cG9uc2VsfChub21vcnxub1xcLj8pLj8oaHB8aGFuZHBob25lKSIsCiJpIiksJEk9UmVnRXhwKCJebmFtZXxmdWxsLj9uYW1lfHlvdXIuP25hbWV8Y3VzdG9tZXIuP25hbWV8YmlsbC4/bmFtZXxzaGlwLj9uYW1lfG5hbWUuKmZpcnN0LipsYXN0fGZpcnN0YW5kbGFzdG5hbWV8Y29udGFjdC4/KG5hbWV8cGVyc29uKXxub21icmUuKnkuKmFwZWxsaWRvc3xebm9tKD8hW2EtekEtWl0pfFx1MzA0YVx1NTQwZFx1NTI0ZHxcdTZjMGZcdTU0MGR8Xm5vbWV8XHUwNjQ2XHUwNjI3XHUwNjQ1LipcdTA2NDZcdTA2MjdcdTA2NDUuKlx1MDYyZVx1MDYyN1x1MDY0Nlx1MDY0OFx1MDYyN1x1MDYyZlx1MDZhZlx1MDZjY3xcdTU5ZDNcXHMqXHU1NDBkfFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzZFx1MDQzZVx1MDQzNS4/XHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDNlfChcXGJ8X3xcXCopYWRbXHUwMTMxXT8gc295YWRbXHUwMTMxXT8oXFxifF98XFwqKXxcdWMxMzFcdWJhODV8bmFtYS4/KGxlbmdrYXB8cGVuZXJpbWF8a2FtdSkiLAoiaSIpLGFKPVJlZ0V4cCgiZmlyc3QuKm5hbWV8aW5pdGlhbHN8Zm5hbWV8Zmlyc3QkfGdpdmVuLipuYW1lfHZvcm5hbWV8bm9tYnJlfGZvcmVuYW1lfHByXHUwMGU5bm9tfHByZW5vbXxcdTU0MGR8bm9tZXxcdTA0MThcdTA0M2NcdTA0NGZ8XHUwNjQ2XHUwNjI3XHUwNjQ1fFx1Yzc3NFx1Yjk4NHxcdTBkMmFcdTBkNDdcdTBkMzBcdTBkNGR8KFxcYnxffFxcKikoaXNpbXxhZHxhZChpfFx1MDEzMXxpbml6fFx1MDEzMW5cdTAxMzF6KT8pKFxcYnxffFxcKil8XHUwOTI4XHUwOTNlXHUwOTJlfG5hbWEgZGVwYW4iLCJpIiksYko9UmVnRXhwKCJsYXN0LipuYW1lfGxuYW1lfHN1cm5hbWUoPyFcXGQpfGxhc3QkfHNlY29uZG5hbWV8ZmFtaWx5LipuYW1lfG5hY2huYW1lfGFwZWxsaWRvcz98ZmFtaWxsZXxebm9tKD8hW2EtekEtWl0pfGNvZ25vbWV8XHU1OWQzfGFwZWxpZG9zfHN1cmVuYW1lfHNvYnJlbm9tZXxcdTA0MjRcdTA0MzBcdTA0M2NcdTA0MzhcdTA0M2JcdTA0MzhcdTA0NGZ8XHUwNjQ2XHUwNjI3XHUwNjQ1LipcdTA2MmVcdTA2MjdcdTA2NDZcdTA2NDhcdTA2MjdcdTA2MmZcdTA2YWZcdTA2Y2N8XHUwOTA5XHUwOTJhXHUwOTI4XHUwOTNlXHUwOTJlfFx1MGQyZVx1MGQzMVx1MGQ0MVx1MGQyYVx1MGQ0N1x1MGQzMFx1MGQ0ZHwoXFxifF98XFwqKShzb3lpc2ltfHNveWFkKGl8XHUwMTMxfGluaXp8XHUwMTMxblx1MDEzMXopPykoXFxifF98XFwqKXxcXGJcdWMxMzEoPzpbXlx1YmE4NV18XFxiKXxuYW1hIGJlbGFrYW5nIiwKImkiKSxjSj1SZWdFeHAoImNvdW50cnl8Y291bnRyaWVzfHBhXHUwMGVkc3xwYWlzfChcXGJ8XylsYW5kKFxcYnxfKSg/IS4qKG1hcmsuKikpfChefFteKFx1NTE2NXxcdTUxZmEpXSlcdTU2ZmR8XHU1NmZkXHU1YmI2fFx1YWQ2ZFx1YWMwMHxcdWIwOThcdWI3N2N8KFxcYnxfKShcdTAwZmNsa2V8dWxjZXx1bGtlKShcXGJ8Xyl8XHUwNmE5XHUwNjM0XHUwNjQ4XHUwNjMxfG5lZ2FyYSIsImkiKSxkSj1SZWdFeHAoIihefFteLl0pemlwfHBvc3RhbHxwb3N0Lipjb2RlfHBjb2RlfHBpbi4/Y29kZXxwb3N0bGVpdHphaGx8XFxiY3BcXGJ8XFxiY2RwXFxifFxcYmNhcFxcYnxcdTkwZjVcdTRmYmZcdTc1NmFcdTUzZjd8Y29kaWdvfGNvZHBvc3xcXGJjZXBcXGJ8XHUwNDFmXHUwNDNlXHUwNDQ3XHUwNDQyXHUwNDNlXHUwNDMyXHUwNDRiXHUwNDM5Lj9cdTA0MThcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDF8XHUwOTJhXHUwOTNmXHUwOTI4Lj9cdTA5MTVcdTA5NGJcdTA5MjF8XHUwZDJhXHUwZDNmXHUwZDI4XHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRiXHUwZDIxXHUwZDRkfFx1OTBhZVx1NjUzZlx1N2YxNlx1NzgwMXxcdTkwYWVcdTdmMTZ8XHU5MGY1XHU5MDVlXHU1MzQwXHU4NjVmfChcXGJ8Xylwb3N0YSBrb2R1KFxcYnxfKXxcdWM2YjBcdWQzYjguP1x1YmM4OFx1ZDYzOHxrb2RlLj9wb3MiLAoiaSIpLGVKPXt9LEtJPShlSltGRC5CYl09e21lOiExLG5hOk1EfSxlSltGRC5lZV09e21lOiEwLGF1dG9jb21wbGV0ZTpbInRlbCIsInRlbC1uYXRpb25hbCIsInRlbC1sb2NhbCJdLG5lOlpJLG5hOmZ1bmN0aW9uKGEpe3JldHVybiBHRChhLCEwKX19LGVKW0ZELktoXT17bWU6ITAsYXV0b2NvbXBsZXRlOlsibmFtZSIsImNjLW5hbWUiXSxuZTokSSxuYTpORH0sZUpbRkQuWGRdPXttZTohMCxhdXRvY29tcGxldGU6WyJnaXZlbi1uYW1lIiwiY2MtZ2l2ZW4tbmFtZSJdLG5lOmFKLG5hOk5EfSxlSltGRC5jZV09e21lOiEwLGF1dG9jb21wbGV0ZTpbImZhbWlseS1uYW1lIiwiY2MtZmFtaWx5LW5hbWUiXSxuZTpiSixuYTpORH0sZUpbRkQueGZdPXttZTohMCxhdXRvY29tcGxldGU6WyJjb3VudHJ5IiwiY291bnRyeS1uYW1lIl0sbmU6Y0osbmE6TkR9LGVKW0ZELnFnXT17bWU6ITAsYXV0b2NvbXBsZXRlOlsicG9zdGFsLWNvZGUiXSxuZTpkSixuYTpJRH0sZUopO2Z1bmN0aW9uIGZKKGEpe3ZhciBiO0wodGhpcywiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iKTt2YXIgYz1UZChhKXx8e30sZD1KSSh7aW5jbHVkZVNlbGVjdG9yOiEhYy5pbmNsdWRlU2VsZWN0b3IsaW5jbHVkZVZpc2liaWxpdHk6ISFjLmluY2x1ZGVWaXNpYmlsaXR5LGV4Y2x1ZGVFbGVtZW50U2VsZWN0b3JzOmMuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnMsZmllbGRGaWx0ZXJzOmMuZmllbGRGaWx0ZXJzLHNlbGVjdE11bHRpcGxlRWxlbWVudHM6ISFjLnNlbGVjdE11bHRpcGxlRWxlbWVudHN9KTtiPW5ldyBrYjt2YXIgZT1uZXcgR2Q7Yi5zZXQoImVsZW1lbnRzIixlKTtmb3IodmFyIGY9ZC5lbGVtZW50cyxnPTA7ZzxmLmxlbmd0aDtnKyspZS5wdXNoKGdKKGZbZ10pKTtkLmdpIT09dm9pZCAwJiZiLnNldCgicHJlZmVycmVkRW1haWxFbGVtZW50IiwKZ0ooZC5naSkpO2Iuc2V0KCJzdGF0dXMiLGQuc3RhdHVzKTtpZihjLnJlYWRGcm9tRGF0YUxheWVyKXtoSihlLGMpO3ZhciBoPVBEKCksbD1oLnN0O2Iuc2V0KCJkYXRhTGF5ZXJTZWFyY2hUaW1lIixoLnZ0KTtiLnNldCgiZGF0YUxheWVyU2VhcmNoQ291bnQiLGwpfXJldHVybiBifQp2YXIgaUo9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgRkQuQmI6cmV0dXJuImVtYWlsIjtjYXNlIEZELmVlOnJldHVybiJwaG9uZV9udW1iZXIiO2Nhc2UgRkQuWGQ6cmV0dXJuImZpcnN0X25hbWUiO2Nhc2UgRkQuY2U6cmV0dXJuImxhc3RfbmFtZSI7Y2FzZSBGRC50ajpyZXR1cm4ic3RyZWV0IjtjYXNlIEZELmxpOnJldHVybiJjaXR5IjtjYXNlIEZELmpqOnJldHVybiJyZWdpb24iO2Nhc2UgRkQucWc6cmV0dXJuInBvc3RhbF9jb2RlIjtjYXNlIEZELnhmOnJldHVybiJjb3VudHJ5In19LGpKPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBrYixjPWlKKGEuRGEpO2MhPT12b2lkIDAmJmIuc2V0KCJ0eXBlIixjKTtiLnNldCgidXNlckRhdGEiLGEuQ2EpO2Iuc2V0KCJ0YWdOYW1lIiwiRExZUiIpO3JldHVybiBifSxoSj1mdW5jdGlvbihhLGIpe3ZhciBjPVFEKCk7aWYoTSg1NjgpKWZvcih2YXIgZD1uZXcgU2V0KGEuaGMoKS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIuZ2V0KCJ0eXBlIil9KSksCmU9bShjKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9bShmLnZhbHVlKSxoPWcubmV4dCgpLnZhbHVlLGw9Zy5uZXh0KCkudmFsdWUsbj1oLHA9bDtpZihiLnNlbGVjdE11bHRpcGxlRWxlbWVudHMpYS5wdXNoKGpKKHApKTtlbHNle3ZhciBxPWlKKG4pO3EmJiFkLmhhcyhxKSYmYS5wdXNoKGpKKHApKX19ZWxzZSBjLmhhcyhGRC5CYikmJihiLnNlbGVjdE11bHRpcGxlRWxlbWVudHN8fGEubGVuZ3RoKCk9PT0wKSYmYS5wdXNoKGpKKGMuZ2V0KEZELkJiKSkpfSxnSj1mdW5jdGlvbihhKXt2YXIgYj1uZXcga2I7Yi5zZXQoInVzZXJEYXRhIixhLkNhKTtiLnNldCgidGFnTmFtZSIsYS50YWdOYW1lKTthLnF1ZXJ5U2VsZWN0b3IhPT12b2lkIDAmJmIuc2V0KCJxdWVyeVNlbGVjdG9yIixhLnF1ZXJ5U2VsZWN0b3IpO2EuaXNWaXNpYmxlIT09dm9pZCAwJiZiLnNldCgiaXNWaXNpYmxlIixhLmlzVmlzaWJsZSk7aWYoTSg1NjgpKXt2YXIgYz1pSihhLnR5cGUpO2MhPT0Kdm9pZCAwJiZiLnNldCgidHlwZSIsYyl9ZWxzZSBzd2l0Y2goYS50eXBlKXtjYXNlIEZELkJiOmIuc2V0KCJ0eXBlIiwiZW1haWwiKX1yZXR1cm4gYn07ZkouUD0iaW50ZXJuYWwuZGV0ZWN0VXNlclByb3ZpZGVkRGF0YSI7CnZhciBrSj1mdW5jdGlvbihhKXt2YXIgYj1oZChhLFsiYnV0dG9uIiwiaW5wdXQiXSw1MCk7aWYoIWIpcmV0dXJuIG51bGw7dmFyIGM9U3RyaW5nKGIudGFnTmFtZSkudG9Mb3dlckNhc2UoKTtpZihjPT09ImJ1dHRvbiIpcmV0dXJuIGI7aWYoYz09PSJpbnB1dCIpe3ZhciBkPWVkKGIsInR5cGUiKTtpZihkPT09ImJ1dHRvbiJ8fGQ9PT0ic3VibWl0Inx8ZD09PSJpbWFnZSJ8fGQ9PT0iZmlsZSJ8fGQ9PT0icmVzZXQiKXJldHVybiBifXJldHVybiBudWxsfSxsSj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy50YXJnZXQ7aWYoZCl7dmFyIGU9JEYoYSwiaW5kaXZpZHVhbEVsZW1lbnRJZHMiLFtdKTtpZihlLmxlbmd0aD4wKXt2YXIgZj1lRyhkLGIsZSk7dUUoZil9dmFyIGc9ITEsaD0kRihhLCJjb21tb25CdXR0b25JZHMiLFtdKTtpZihoLmxlbmd0aD4wKXt2YXIgbD1rSihkKTtpZihsKXt2YXIgbj1lRyhsLGIsaCk7dUUobik7Zz0hMH19dmFyIHA9JEYoYSwic2VsZWN0b3JUb1RyaWdnZXJJZHMiLAp7fSkscTtmb3IocSBpbiBwKWlmKHAuaGFzT3duUHJvcGVydHkocSkpe3ZhciByPWc/cFtxXS5maWx0ZXIoZnVuY3Rpb24odil7cmV0dXJuIGguaW5kZXhPZih2KT09PS0xfSk6cFtxXTtpZihyLmxlbmd0aCE9PTApe3ZhciB0PXBJKGQscSk7aWYodCl7dmFyIHU9ZUcodCxiLHIpO3VFKHUpfX19fX07CmZ1bmN0aW9uIG1KKGEsYil7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTt2YXIgYz1hP1RkKGEpOnt9LGQ9SmIoYy5tYXRjaENvbW1vbkJ1dHRvbnMpLGU9ISFjLmNzc1NlbGVjdG9yLGY9WkYoYik7TCh0aGlzLCJkZXRlY3RfY2xpY2tfZXZlbnRzIixjLm1hdGNoQ29tbW9uQnV0dG9ucyxjLmNzc1NlbGVjdG9yKTt2YXIgZz1jLnVzZVYyRXZlbnROYW1lPyJndG0uY2xpY2stdjIiOiJndG0uY2xpY2siLGg9Yy51c2VWMkV2ZW50TmFtZT8iZWNsIjoiY2wiLGw9ZnVuY3Rpb24ocCl7cC5wdXNoKGYpO3JldHVybiBwfTtpZihlfHxkKXtpZihkJiZkRyhoLCJjb21tb25CdXR0b25JZHMiLGwsW10pLGUpe3ZhciBuPUxiKFN0cmluZyhjLmNzc1NlbGVjdG9yKSk7ZEcoaCwic2VsZWN0b3JUb1RyaWdnZXJJZHMiLApmdW5jdGlvbihwKXtwLmhhc093blByb3BlcnR5KG4pfHwocFtuXT1bXSk7bChwW25dKTtyZXR1cm4gcH0se30pfX1lbHNlIGRHKGgsImluZGl2aWR1YWxFbGVtZW50SWRzIixsLFtdKTtiRyhoLGZ1bmN0aW9uKCl7JGMoQiwiY2xpY2siLGZ1bmN0aW9uKHApe2xKKGgsZyxwKX0sITApfSk7cmV0dXJuIGZ9bUouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayI7CnZhciBuSj1mdW5jdGlvbigpe3RoaXMuSD1bXTt0aGlzLk49ISFBLk11dGF0aW9uT2JzZXJ2ZXJ9O25KLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7aWYodGhpcy5ILmxlbmd0aD09PTApe3ZhciBjPWZ1bmN0aW9uKCl7dmFyIGQ9Qi5ib2R5O2lmKGQpaWYoYi5OKShuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpe2Zvcih2YXIgZj0wO2Y8Yi5ILmxlbmd0aDtmKyspYmQoYi5IW2ZdKX0pKS5vYnNlcnZlKGQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7ZWxzZXt2YXIgZT0hMTskYyhkLCJET01Ob2RlSW5zZXJ0ZWQiLGZ1bmN0aW9uKCl7ZXx8KGU9ITAsYmQoZnVuY3Rpb24oKXtlPSExO2Zvcih2YXIgZj0wO2Y8Yi5ILmxlbmd0aDtmKyspYmQoYi5IW2ZdKX0pKX0pfX07Qi5ib2R5P2MoKTpiZChjKX10aGlzLkgucHVzaChhKX07bkoucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7aWYodGhpcy5IKWZvcih2YXIgYj0wO2I8dGhpcy5ILmxlbmd0aDtiKyspdGhpcy5IW2JdPT09CmEmJnRoaXMuSC5zcGxpY2UoYiwxKX07dmFyIG9KPW5ldyBuSjsKZnVuY3Rpb24gdEooYSxiKXtyZXR1cm4gcH10Si5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkVsZW1lbnRWaXNpYmlsaXR5IjtmdW5jdGlvbiB1Sigpe311Si5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkVycm9yIjsKdmFyIHdKPWZ1bmN0aW9uKGEsYil7R2IoYSxmdW5jdGlvbihjLGQpe3ZhciBlPWJbY107ZSYmR2IoZCxmdW5jdGlvbihmLGcpe3ZKKGcsZSl9KX0pfSx6Sj1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0iIitiO2lmKGNbaF0pY1toXS5wdXNoKGEpO2Vsc2V7dmFyIGw9W2FdO2NbaF09bDt2YXIgbj1kW2hdO258fChuPXt9LGRbaF09bik7ZS5wdXNoKGZ1bmN0aW9uKHApe3ZhciBxPXAudGFyZ2V0O2lmKHEpe3ZhciByPWlHKHEpO2lmKHIpe3ZhciB0PXhKKHIsImd0bUZvcm1JbnRlcmFjdElkIixmKSx1PXhKKHEsImd0bUZvcm1JbnRlcmFjdEZpZWxkSWQiLGcpO2lmKHQhPT1udWxsJiZ1IT09bnVsbCl7dmFyIHY9blt0XTt2Pyh2LlJiJiYoQS5jbGVhclRpbWVvdXQodi5SYiksdi5kZi5nZXRBdHRyaWJ1dGUoImRhdGEtZ3RtLWZvcm0taW50ZXJhY3QtZmllbGQtaWQiKSE9PXUmJnZKKHYsbCkpLHYuZGY9cSx5Sih2LGwsYikpOihuW3RdPXtmb3JtOnIsZGY6cSxzZXF1ZW5jZU51bWJlcjowLApSYjpudWxsfSx5SihuW3RdLGwsYikpfX19fSl9fSx2Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuZm9ybSxkPWEuZGYsZT1lRyhjLCJndG0uZm9ybUludGVyYWN0IixiKSxmPWMuYWN0aW9uO2YmJmYudGFnTmFtZSYmKGY9Yy5jbG9uZU5vZGUoITEpLmFjdGlvbik7ZVsiZ3RtLmVsZW1lbnRVcmwiXT1mO2VbImd0bS5pbnRlcmFjdGVkRm9ybU5hbWUiXT1jLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsP2MuZ2V0QXR0cmlidXRlKCJuYW1lIik6dm9pZCAwO2VbImd0bS5pbnRlcmFjdGVkRm9ybUxlbmd0aCJdPWMubGVuZ3RoO2VbImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkIl09ZDtlWyJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl09ZC5pZDtlWyJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZE5hbWUiXT1kLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsP2QuZ2V0QXR0cmlidXRlKCJuYW1lIik6dm9pZCAwO2VbImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXT1oRyhjLGQsImd0bUZvcm1JbnRlcmFjdEZpZWxkSWQiKTsKZVsiZ3RtLmludGVyYWN0ZWRGb3JtRmllbGRUeXBlIl09ZC5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9bnVsbD9kLmdldEF0dHJpYnV0ZSgidHlwZSIpOnZvaWQgMDtlWyJndG0uaW50ZXJhY3RTZXF1ZW5jZU51bWJlciJdPWEuc2VxdWVuY2VOdW1iZXI7dUUoZSk7YS5zZXF1ZW5jZU51bWJlcisrO2EuUmI9bnVsbH0seUo9ZnVuY3Rpb24oYSxiLGMpe2M/YS5SYj1BLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2SihhLGIpfSxjKTp2SihhLGIpfSx4Sj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7dHJ5e2lmKGQ9YS5kYXRhc2V0W2JdKXJldHVybiBkO2Q9U3RyaW5nKGMoKSk7YS5kYXRhc2V0W2JdPWR9Y2F0Y2goZSl7ZD1udWxsfXJldHVybiBkfTsKZnVuY3Rpb24gQUooYSxiKXt2YXIgYz10aGlzO2lmKCFmaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0fHVuZGVmaW5lZCIsImFueSJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHMiKX1dKTt2YXIgZD1aRihiKSxlPWEmJk51bWJlcihhLmdldCgiaW50ZXJ2YWwiKSk7ZT4wJiZpc0Zpbml0ZShlKXx8KGU9MCk7aWYoJEYoImZpbCIsImluaXQiLCExKSl7dmFyIGY9JEYoImZpbCIsInJlZyIpO2lmKGYpZihkLGUpO2Vsc2UgdGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWdpc3RlciB0cmlnZ2VyOiAiK2QpO31lbHNle3ZhciBnPXt9LGg9W10sbD17fSxuPTAscD1mdW5jdGlvbigpe3JldHVybiBuKyt9LHE9MCxyPWZ1bmN0aW9uKCl7cmV0dXJuIHErK307JGMoQiwiY2hhbmdlIiwKZnVuY3Rpb24odCl7Zm9yKHZhciB1PTA7dTxoLmxlbmd0aDt1KyspaFt1XSh0KX0pOyRjKEEsInBhZ2VoaWRlIixmdW5jdGlvbigpe3dKKGwsZyl9KTt6SihkLGUsZyxsLGgscCxyKTthRygiZmlsIiwicmVnIixmdW5jdGlvbih0LHUpe3pKKHQsdSxnLGwsaCxwLHIpfSk7YUcoImZpbCIsImluaXQiLCEwKX1yZXR1cm4gZH1BSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1JbnRlcmFjdGlvbiI7CnZhciBCSj1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSRGKCJmc2wiLGM/Im52Lm13dCI6Im13dCIsMCksZztnPWM/JEYoImZzbCIsIm52LmlkcyIsW10pOiRGKCJmc2wiLCJpZHMiLFtdKTtpZighZy5sZW5ndGgpcmV0dXJuITA7dmFyIGg9ZUcoYSwiZ3RtLmZvcm1TdWJtaXQiLGcpLGw9YS5hY3Rpb247bCYmbC50YWdOYW1lJiYobD1hLmNsb25lTm9kZSghMSkuYWN0aW9uKTtQKDEyMSk7aWYobD09PSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vdHIvIilyZXR1cm4gUCgxMjIpLCEwO2hbImd0bS5lbGVtZW50VXJsIl09bDtoWyJndG0uZm9ybUNhbmNlbGVkIl09YzthLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsJiYoaFsiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdPWEuZ2V0QXR0cmlidXRlKCJuYW1lIikpO2UmJihoWyJndG0uZm9ybVN1Ym1pdEVsZW1lbnQiXT1lLGhbImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXT1lLnZhbHVlKTtpZihkJiZmKXtpZighc0UoaCxqRShiLApmKSxmKSlyZXR1cm4hMX1lbHNlIEZ5KDEsImd0bS5mb3JtU3VibWl0Iiksc0UoaCxmdW5jdGlvbigpe30sZnx8MkUzKTtyZXR1cm4hMH0sQ0o9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPWZ1bmN0aW9uKGMpe3JldHVybiBDYihhLGZ1bmN0aW9uKGQpe3JldHVybiBkLmZvcm09PT1jfSl9O3JldHVybntzdG9yZTpmdW5jdGlvbihjLGQpe3ZhciBlPWIoYyk7ZT9lLmJ1dHRvbj1kOmEucHVzaCh7Zm9ybTpjLGJ1dHRvbjpkfSl9LGdldDpmdW5jdGlvbihjKXt2YXIgZD1iKGMpO2lmKGQpcmV0dXJuIGQuYnV0dG9ufX19LERKPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiBiJiZiIT09Il9zZWxmIiYmYiE9PSJfcGFyZW50IiYmYiE9PSJfdG9wIj8hMTohMH0sRUo9ZnVuY3Rpb24oKXt2YXIgYT1DSigpLGI9SFRNTEZvcm1FbGVtZW50LnByb3RvdHlwZS5zdWJtaXQ7JGMoQiwiY2xpY2siLGZ1bmN0aW9uKGMpe3ZhciBkPWMudGFyZ2V0O2lmKGQpe3ZhciBlPWhkKGQsWyJidXR0b24iLAoiaW5wdXQiXSwxMDApO2lmKGUmJihlLnR5cGU9PT0ic3VibWl0Inx8ZS50eXBlPT09ImltYWdlIikmJmUubmFtZSYmZWQoZSwidmFsdWUiKSl7dmFyIGY9aUcoZSk7ZiYmYS5zdG9yZShmLGUpfX19LCExKTskYyhCLCJzdWJtaXQiLGZ1bmN0aW9uKGMpe3ZhciBkPWMudGFyZ2V0O2lmKCFkKXJldHVybiBjLnJldHVyblZhbHVlO3ZhciBlPWMuZGVmYXVsdFByZXZlbnRlZHx8Yy5yZXR1cm5WYWx1ZT09PSExLGY9REooZCkmJiFlLGc9YS5nZXQoZCksaD0hMDtpZihCSihkLGZ1bmN0aW9uKCl7aWYoaCl7dmFyIGw9bnVsbCxuPXt9O2cmJihsPUIuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxsLnR5cGU9ImhpZGRlbiIsbC5uYW1lPWcubmFtZSxsLnZhbHVlPWcudmFsdWUsZC5hcHBlbmRDaGlsZChsKSxnLmhhc0F0dHJpYnV0ZSgiZm9ybWFjdGlvbiIpJiYobi5hY3Rpb249ZC5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpLHhjKGQsZy5nZXRBdHRyaWJ1dGUoImZvcm1hY3Rpb24iKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtZW5jdHlwZSIpJiYKKG4uZW5jdHlwZT1kLmdldEF0dHJpYnV0ZSgiZW5jdHlwZSIpLGQuc2V0QXR0cmlidXRlKCJlbmN0eXBlIixnLmdldEF0dHJpYnV0ZSgiZm9ybWVuY3R5cGUiKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtbWV0aG9kIikmJihuLm1ldGhvZD1kLmdldEF0dHJpYnV0ZSgibWV0aG9kIiksZC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsZy5nZXRBdHRyaWJ1dGUoImZvcm1tZXRob2QiKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtdmFsaWRhdGUiKSYmKG4udmFsaWRhdGU9ZC5nZXRBdHRyaWJ1dGUoInZhbGlkYXRlIiksZC5zZXRBdHRyaWJ1dGUoInZhbGlkYXRlIixnLmdldEF0dHJpYnV0ZSgiZm9ybXZhbGlkYXRlIikpKSxnLmhhc0F0dHJpYnV0ZSgiZm9ybXRhcmdldCIpJiYobi50YXJnZXQ9ZC5nZXRBdHRyaWJ1dGUoInRhcmdldCIpLGQuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLGcuZ2V0QXR0cmlidXRlKCJmb3JtdGFyZ2V0IikpKSk7Yi5jYWxsKGQpO2wmJihkLnJlbW92ZUNoaWxkKGwpLG4uaGFzT3duUHJvcGVydHkoImFjdGlvbiIpJiYKeGMoZCxuLmFjdGlvbiksbi5oYXNPd25Qcm9wZXJ0eSgiZW5jdHlwZSIpJiZkLnNldEF0dHJpYnV0ZSgiZW5jdHlwZSIsbi5lbmN0eXBlKSxuLmhhc093blByb3BlcnR5KCJtZXRob2QiKSYmZC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsbi5tZXRob2QpLG4uaGFzT3duUHJvcGVydHkoInZhbGlkYXRlIikmJmQuc2V0QXR0cmlidXRlKCJ2YWxpZGF0ZSIsbi52YWxpZGF0ZSksbi5oYXNPd25Qcm9wZXJ0eSgidGFyZ2V0IikmJmQuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLG4udGFyZ2V0KSl9fSxlLGYsZykpaD0hMTtlbHNlIHJldHVybiBlfHwoYy5wcmV2ZW50RGVmYXVsdCYmYy5wcmV2ZW50RGVmYXVsdCgpLGMucmV0dXJuVmFsdWU9ITEpLCExO3JldHVybiBjLnJldHVyblZhbHVlfSwhMSk7SFRNTEZvcm1FbGVtZW50LnByb3RvdHlwZS5zdWJtaXQ9ZnVuY3Rpb24oKXt2YXIgYz10aGlzLGQ9ITA7QkooYyxmdW5jdGlvbigpe2QmJmIuY2FsbChjKX0sITEsREooYykpJiYoYi5jYWxsKGMpLGQ9CiExKX19OwpmdW5jdGlvbiBGSihhLGIpe3ZhciBjPXRoaXM7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTt2YXIgZD1hJiZhLmdldCgid2FpdEZvclRhZ3MiKTtURihbZnVuY3Rpb24oKXtMKGMsImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiLHt3YWl0Rm9yVGFnczohIWR9KX1dKTt2YXIgZT1hJiZhLmdldCgiY2hlY2tWYWxpZGF0aW9uIiksZj1aRihiKTtpZihkKXt2YXIgZz1OdW1iZXIoYS5nZXQoIndhaXRGb3JUYWdzVGltZW91dCIpKTtnPjAmJmlzRmluaXRlKGcpfHwoZz0yRTMpO3ZhciBoPWZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLm1heChnLG4pfTtkRygiZnNsIiwibXd0IixoLDApO2V8fGRHKCJmc2wiLCJudi5td3QiLGgsMCl9dmFyIGw9ZnVuY3Rpb24obil7bi5wdXNoKGYpOwpyZXR1cm4gbn07ZEcoImZzbCIsImlkcyIsbCxbXSk7ZXx8ZEcoImZzbCIsIm52LmlkcyIsbCxbXSk7JEYoImZzbCIsImluaXQiLCExKXx8KEVKKCksYUcoImZzbCIsImluaXQiLCEwKSk7cmV0dXJuIGZ9RkouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtU3VibWl0IjsKZnVuY3Rpb24gS0ooKXt2YXIgYT10aGlzO31LSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkdhU2VuZCI7CnZhciBNSj1mdW5jdGlvbihhLGIsYyxkKXtjPWM9PT12b2lkIDA/e306YztkPWQ9PT12b2lkIDA/W106ZDt2YXIgZT0iIitiO2lmKGNbZV0pY1tlXS5wdXNoKGEpO2Vsc2V7dmFyIGY9W2FdO2NbZV09Zjt2YXIgZz1MSigiZ3RtLmhpc3RvcnlDaGFuZ2UtdjIiKSxoPS0xO2QucHVzaChmdW5jdGlvbihsKXtoPj0wJiZBLmNsZWFyVGltZW91dChoKTtiP2g9QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZyhsLGYpO2g9LTF9LGIpOmcobCxmKX0pfX0sTEo9ZnVuY3Rpb24oYSl7dmFyIGI9QS5sb2NhdGlvbi5ocmVmLGM9e3NvdXJjZTpudWxsLHN0YXRlOkEuaGlzdG9yeS5zdGF0ZXx8bnVsbCx1cmw6T2ooUmooYikpLGtiOkxqKFJqKGIpLCJmcmFnbWVudCIpfTtyZXR1cm4gZnVuY3Rpb24oZCxlKXt2YXIgZj1jLGc9e307Z1tmLnNvdXJjZV09ITA7Z1tkLnNvdXJjZV09ITA7aWYoIWcucG9wc3RhdGV8fCFnLmhhc2hjaGFuZ2V8fGYua2IhPT1kLmtiKXt2YXIgaD17ZXZlbnQ6YSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiOmQuc291cmNlLAoiZ3RtLm9sZFVybEZyYWdtZW50IjpjLmtiLCJndG0ubmV3VXJsRnJhZ21lbnQiOmQua2IsImd0bS5vbGRIaXN0b3J5U3RhdGUiOmMuc3RhdGUsImd0bS5uZXdIaXN0b3J5U3RhdGUiOmQuc3RhdGUsImd0bS5vbGRVcmwiOmMudXJsLCJndG0ubmV3VXJsIjpkLnVybH07ZSYmKGhbImd0bS50cmlnZ2VycyJdPWUuam9pbigiLCIpKTtjPWQ7dUUoaCl9fX0sTko9ZnVuY3Rpb24oYSxiKXt2YXIgYz1BLmhpc3RvcnksZD1jW2FdO2lmKHliKGQpKXRyeXtjW2FdPWZ1bmN0aW9uKGUsZixnKXtkLmFwcGx5KGMsW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpO3ZhciBoPUEubG9jYXRpb24uaHJlZjtiKHtzb3VyY2U6YSxzdGF0ZTplLHVybDpPaihSaihoKSksa2I6TGooUmooaCksImZyYWdtZW50Iil9KX19Y2F0Y2goZSl7fX0sUEo9ZnVuY3Rpb24oYSl7QS5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsZnVuY3Rpb24oYil7dmFyIGM9T0ooYik7YSh7c291cmNlOiJwb3BzdGF0ZSIsc3RhdGU6Yi5zdGF0ZSwKdXJsOk9qKFJqKGMpKSxrYjpMaihSaihjKSwiZnJhZ21lbnQiKX0pfSl9LFFKPWZ1bmN0aW9uKGEpe0EuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZnVuY3Rpb24oYil7dmFyIGM9T0ooYik7YSh7c291cmNlOiJoYXNoY2hhbmdlIixzdGF0ZTpudWxsLHVybDpPaihSaihjKSksa2I6TGooUmooYyksImZyYWdtZW50Iil9KX0pfSxPSj1mdW5jdGlvbihhKXt2YXIgYixjO3JldHVybigoYj1hLnRhcmdldCk9PW51bGw/dm9pZCAwOihjPWIubG9jYXRpb24pPT1udWxsP3ZvaWQgMDpjLmhyZWYpfHxBLmxvY2F0aW9uLmhyZWZ9OwpmdW5jdGlvbiBSSihhLGIpe3ZhciBjPXRoaXM7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTtURihbZnVuY3Rpb24oKXtMKGMsImRldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMiKX1dKTt2YXIgZD1hJiZhLmdldCgidXNlVjJFdmVudE5hbWUiKT8iZWhsIjoiaGwiLGU9TnVtYmVyKGEmJmEuZ2V0KCJpbnRlcnZhbCIpKTtlPjAmJmlzRmluaXRlKGUpfHwoZT0wKTt2YXIgZjtpZighJEYoZCwiaW5pdCIsITEpKXt2YXIgZz17fSxoPVtdLGw7ZD09PSJlaGwiPyhsPWZ1bmN0aW9uKHApe2Zvcih2YXIgcT0wO3E8aC5sZW5ndGg7cSsrKWhbcV0ocCl9LGY9WkYoYiksTUooZixlLGcsaCksYUcoZCwicmVnIixmdW5jdGlvbihwLHEpe01KKHAscSxnLGgpfSkpOmw9TEooImd0bS5oaXN0b3J5Q2hhbmdlIik7ClFKKGwpO1BKKGwpO05KKCJwdXNoU3RhdGUiLGwpO05KKCJyZXBsYWNlU3RhdGUiLGwpO2FHKGQsImluaXQiLCEwKX1lbHNlIGlmKGQ9PT0iZWhsIil7dmFyIG49JEYoZCwicmVnIik7biYmKGY9WkYoYiksbihmLGUpKX1kPT09ImhsIiYmKGY9dm9pZCAwKTtyZXR1cm4gZn1SSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkhpc3RvcnlDaGFuZ2UiO3ZhciBTSj1bImh0dHA6Ly8iLCJodHRwczovLyIsImphdmFzY3JpcHQ6IiwiZmlsZTovLyJdOwp2YXIgVEo9ZnVuY3Rpb24oYSxiKXtpZihhLndoaWNoPT09Mnx8YS5jdHJsS2V5fHxhLnNoaWZ0S2V5fHxhLmFsdEtleXx8YS5tZXRhS2V5KXJldHVybiExO3ZhciBjPW9kKGIsImhyZWYiKTtpZihjLmluZGV4T2YoIjoiKSE9PS0xJiYhU0ouc29tZShmdW5jdGlvbihoKXtyZXR1cm4gU2IoYyxoKX0pKXJldHVybiExO3ZhciBkPWMuaW5kZXhPZigiIyIpLGU9b2QoYiwidGFyZ2V0Iik7aWYoZSYmZSE9PSJfc2VsZiImJmUhPT0iX3BhcmVudCImJmUhPT0iX3RvcCJ8fGQ9PT0wKXJldHVybiExO2lmKGQ+MCl7dmFyIGY9T2ooUmooYykpLGc9T2ooUmooQS5sb2NhdGlvbi5ocmVmKSk7cmV0dXJuIGYhPT1nfXJldHVybiEwfSxVSj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1MaihSaigoYi5hdHRyaWJ1dGVzJiZiLmF0dHJpYnV0ZXMuZm9ybWFjdGlvbj9iLmZvcm1BY3Rpb246IiIpfHxiLmFjdGlvbnx8b2QoYiwiaHJlZiIpfHxiLnNyY3x8Yi5jb2RlfHxiLmNvZGViYXNlfHwiIiksImhvc3QiKSwKZD0wO2Q8YS5sZW5ndGg7ZCsrKXRyeXtpZigobmV3IFJlZ0V4cChhW2RdKSkudGVzdChjKSlyZXR1cm4hMX1jYXRjaChlKXt9cmV0dXJuITB9LFZKPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShjKXt2YXIgZD1jLnRhcmdldDtpZihkJiZjLndoaWNoIT09MyYmIShjLkh8fGMudGltZVN0YW1wJiZjLnRpbWVTdGFtcD09PWIpKXtiPWMudGltZVN0YW1wO2Q9aGQoZCxbImEiLCJhcmVhIl0sMTAwKTtpZighZClyZXR1cm4gYy5yZXR1cm5WYWx1ZTt2YXIgZT1jLmRlZmF1bHRQcmV2ZW50ZWR8fGMucmV0dXJuVmFsdWU9PT0hMSxmPSRGKCJsY2wiLGU/Im52Lm13dCI6Im13dCIsMCksZztnPWU/JEYoImxjbCIsIm52LmlkcyIsW10pOiRGKCJsY2wiLCJpZHMiLFtdKTtmb3IodmFyIGg9W10sbD0wO2w8Zy5sZW5ndGg7bCsrKXt2YXIgbj1nW2xdLHA9JEYoImxjbCIsImFmZi5tYXAiLHt9KVtuXTtwJiYhVUoocCxkKXx8aC5wdXNoKG4pfWlmKGgubGVuZ3RoKXt2YXIgcT1USihjLGQpLHI9ZUcoZCwiZ3RtLmxpbmtDbGljayIsCmgpO3JbImd0bS5lbGVtZW50VGV4dCJdPWZkKGQpO3JbImd0bS53aWxsT3BlbkluTmV3V2luZG93Il09IXE7aWYocSYmIWUmJmYmJmQuaHJlZil7dmFyIHQ9ISFDYihTdHJpbmcob2QoZCwicmVsIil8fCIiKS5zcGxpdCgiICIpLGZ1bmN0aW9uKHkpe3JldHVybiB5LnRvTG93ZXJDYXNlKCk9PT0ibm9yZWZlcnJlciJ9KSx1PUFbKG9kKGQsInRhcmdldCIpfHwiX3NlbGYiKS5zdWJzdHJpbmcoMSldLHY9ITAseD10RShmdW5jdGlvbigpe3ZhciB5O2lmKHk9diYmdSl7dmFyIHo7YTppZih0KXt2YXIgQzt0cnl7Qz1uZXcgTW91c2VFdmVudChjLnR5cGUse2J1YmJsZXM6ITB9KX1jYXRjaChEKXtpZighQi5jcmVhdGVFdmVudCl7ej0hMTticmVhayBhfUM9Qi5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKTtDLmluaXRFdmVudChjLnR5cGUsITAsITApfUMuSD0hMDtjLnRhcmdldC5kaXNwYXRjaEV2ZW50KEMpO3o9ITB9ZWxzZSB6PSExO3k9IXp9eSYmKHUubG9jYXRpb24uaHJlZj1vZChkLAoiaHJlZiIpKX0sZik7aWYoaUUocix4LGYpKXY9ITE7ZWxzZSByZXR1cm4gYy5wcmV2ZW50RGVmYXVsdCYmYy5wcmV2ZW50RGVmYXVsdCgpLGMucmV0dXJuVmFsdWU9ITF9ZWxzZSBzRShyLGZ1bmN0aW9uKCl7fSxmfHwyRTMpO3JldHVybiEwfX19dmFyIGI9MDskYyhCLCJjbGljayIsYSwhMSk7JGMoQiwiYXV4Y2xpY2siLGEsITEpfTsKZnVuY3Rpb24gV0ooYSxiKXt2YXIgYz10aGlzO2lmKCFmaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0fHVuZGVmaW5lZCIsImFueSJdLGFyZ3VtZW50cyk7dmFyIGQ9VGQoYSk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiLGQpfV0pO3ZhciBlPWQmJiEhZC53YWl0Rm9yVGFncyxmPWQmJiEhZC5jaGVja1ZhbGlkYXRpb24sZz1kP2QuYWZmaWxpYXRlRG9tYWluczp2b2lkIDAsaD1aRihiKTtpZihlKXt2YXIgbD1OdW1iZXIoZC53YWl0Rm9yVGFnc1RpbWVvdXQpO2w+MCYmaXNGaW5pdGUobCl8fChsPTJFMyk7dmFyIG49ZnVuY3Rpb24ocSl7cmV0dXJuIE1hdGgubWF4KGwscSl9O2RHKCJsY2wiLCJtd3QiLG4sMCk7Znx8ZEcoImxjbCIsIm52Lm13dCIsbiwwKX12YXIgcD1mdW5jdGlvbihxKXtxLnB1c2goaCk7CnJldHVybiBxfTtkRygibGNsIiwiaWRzIixwLFtdKTtmfHxkRygibGNsIiwibnYuaWRzIixwLFtdKTtnJiZkRygibGNsIiwiYWZmLm1hcCIsZnVuY3Rpb24ocSl7cVtoXT1nO3JldHVybiBxfSx7fSk7JEYoImxjbCIsImluaXQiLCExKXx8KFZKKCksYUcoImxjbCIsImluaXQiLCEwKSk7cmV0dXJuIGh9V0ouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25MaW5rQ2xpY2siOwp2YXIgWEo9ZnVuY3Rpb24oYSl7cmV0dXJuICRGKCJzZGwiLGEse30pfSxZSj1mdW5jdGlvbihhLGIsYyl7aWYoYil7dmFyIGQ9QXJyYXkuaXNBcnJheShhKT9hOlthXTtkRygic2RsIixjLGZ1bmN0aW9uKGUpe2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1TdHJpbmcoZFtmXSk7ZS5oYXNPd25Qcm9wZXJ0eShnKXx8KGVbZ109W10pO2VbZ10ucHVzaChiKX1yZXR1cm4gZX0se30pfX0sYUs9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7WkooYSxiKTskSihjLCEwKX1yZXR1cm4gY30sYks9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7aD9nPUEuc2V0VGltZW91dChjLGUpOihnPTAsWkooYSxiKSwkSihkKSk7aD0hMX1mdW5jdGlvbiBkKCl7ZiYmYigpO2c/aD0hMDooZz1BLnNldFRpbWVvdXQoYyxlKSxhRygic2RsIiwicGVuZGluZyIsITApKX12YXIgZT0yNTAsZj0hMTtCLnNjcm9sbGluZ0VsZW1lbnQmJkIuZG9jdW1lbnRFbGVtZW50JiYoZT01MCxmPSEwKTt2YXIgZz0KMCxoPSExO3JldHVybiBkfSwkSj1mdW5jdGlvbihhLGIpeyRGKCJzZGwiLCJpbml0IiwhMSkmJiFjSygpJiYoYj9hZChBLCJzY3JvbGxlbmQiLGEpOmFkKEEsInNjcm9sbCIsYSksYWQoQSwicmVzaXplIixhKSxhRygic2RsIiwiaW5pdCIsITEpKX0sWko9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKCksZD1jLmRlcHRoWCxlPWMuZGVwdGhZLGY9ZC9hLnNjcm9sbFdpZHRoKjEwMCxnPWUvYS5zY3JvbGxIZWlnaHQqMTAwO2RLKGQsImhvcml6LnBpeCIsIlBJWEVMUyIsImhvcml6b250YWwiKTtkSyhmLCJob3Jpei5wY3QiLCJQRVJDRU5UIiwiaG9yaXpvbnRhbCIpO2RLKGUsInZlcnQucGl4IiwiUElYRUxTIiwidmVydGljYWwiKTtkSyhnLCJ2ZXJ0LnBjdCIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbCIpO2FHKCJzZGwiLCJwZW5kaW5nIiwhMSl9LGRLPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVhKKGIpLGY9e30sZztmb3IoZyBpbiBlKWlmKGY9e3FmOmYucWZ9LGYucWY9ZyxlLmhhc093blByb3BlcnR5KGYucWYpKXt2YXIgaD0KTnVtYmVyKGYucWYpO2lmKCEoYTxoKSl7dmFyIGw9e307dUUoKGwuZXZlbnQ9Imd0bS5zY3JvbGxEZXB0aCIsbFsiZ3RtLnNjcm9sbFRocmVzaG9sZCJdPWgsbFsiZ3RtLnNjcm9sbFVuaXRzIl09Yy50b0xvd2VyQ2FzZSgpLGxbImd0bS5zY3JvbGxEaXJlY3Rpb24iXT1kLGxbImd0bS50cmlnZ2VycyJdPWVbZi5xZl0uam9pbigiLCIpLGwpKTtkRygic2RsIixiLGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihwKXtkZWxldGUgcFtuLnFmXTtyZXR1cm4gcH19KGYpLHt9KX19fSxmSz1mdW5jdGlvbigpe3ZhciBhPWRHKCJzZGwiLCJzY3IiLGZ1bmN0aW9uKGMpe2N8fChjPUIuc2Nyb2xsaW5nRWxlbWVudHx8Qi5ib2R5JiZCLmJvZHkucGFyZW50Tm9kZSk7cmV0dXJuIGN9LG51bGwpLGI9ZEcoInNkbCIsImRlcHRoIixmdW5jdGlvbihjKXtjfHwoYz1lSyhhKSk7cmV0dXJuIGN9KTtyZXR1cm57c2Nyb2xsaW5nRWxlbWVudDphLHZyOmJ9fSxlSz1mdW5jdGlvbihhKXt2YXIgYj0wLGM9CjA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9c0koKSxlPWQuaGVpZ2h0O2I9TWF0aC5tYXgoYS5zY3JvbGxMZWZ0K2Qud2lkdGgsYik7Yz1NYXRoLm1heChhLnNjcm9sbFRvcCtlLGMpO3JldHVybntkZXB0aFg6YixkZXB0aFk6Y319fSxjSz1mdW5jdGlvbigpe3JldHVybiEhKE9iamVjdC5rZXlzKFhKKCJob3Jpei5waXgiKSkubGVuZ3RofHxPYmplY3Qua2V5cyhYSigiaG9yaXoucGN0IikpLmxlbmd0aHx8T2JqZWN0LmtleXMoWEooInZlcnQucGl4IikpLmxlbmd0aHx8T2JqZWN0LmtleXMoWEooInZlcnQucGN0IikpLmxlbmd0aCl9OwpmdW5jdGlvbiBnSyhhLGIpe3ZhciBjPXRoaXM7aWYoIWVoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3QiLCJhbnkiXSxhcmd1bWVudHMpO1RGKFtmdW5jdGlvbigpe0woYywiZGV0ZWN0X3Njcm9sbF9ldmVudHMiKX1dKTt2YXIgZD1mSygpLGU9ZC5zY3JvbGxpbmdFbGVtZW50LGY9ZC52cjtpZighZSlyZXR1cm47dmFyIGc9WkYoYiksaD1UZChhKTtzd2l0Y2goaC5ob3Jpem9udGFsVGhyZXNob2xkVW5pdHMpe2Nhc2UgIlBJWEVMUyI6WUooaC5ob3Jpem9udGFsVGhyZXNob2xkcyxnLCJob3Jpei5waXgiKTticmVhaztjYXNlICJQRVJDRU5UIjpZSihoLmhvcml6b250YWxUaHJlc2hvbGRzLGcsImhvcml6LnBjdCIpfXN3aXRjaChoLnZlcnRpY2FsVGhyZXNob2xkVW5pdHMpe2Nhc2UgIlBJWEVMUyI6WUooaC52ZXJ0aWNhbFRocmVzaG9sZHMsCmcsInZlcnQucGl4Iik7YnJlYWs7Y2FzZSAiUEVSQ0VOVCI6WUooaC52ZXJ0aWNhbFRocmVzaG9sZHMsZywidmVydC5wY3QiKX0kRigic2RsIiwiaW5pdCIsITEpPyRGKCJzZGwiLCJwZW5kaW5nIiwhMSl8fGJkKGZ1bmN0aW9uKCl7WkooZSxmKX0pOihhRygic2RsIiwiaW5pdCIsITApLGFHKCJzZGwiLCJwZW5kaW5nIiwhMCksYmQoZnVuY3Rpb24oKXtaSihlLGYpO2lmKGNLKCkpe3ZhciBsPWJLKGUsZik7Im9uc2Nyb2xsZW5kImluIEE/KGw9YUsoZSxmKSwkYyhBLCJzY3JvbGxlbmQiLGwpKTokYyhBLCJzY3JvbGwiLGwpOyRjKEEsInJlc2l6ZSIsbCl9ZWxzZSBhRygic2RsIiwiaW5pdCIsITEpfSkpO3JldHVybiBnfWdLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uU2Nyb2xsIjtmdW5jdGlvbiBoSyhhKXtyZXR1cm4gZnVuY3Rpb24oKXtpZihhLmxpbWl0JiZhLmdrPj1hLmxpbWl0KWEuYWkmJkEuY2xlYXJJbnRlcnZhbChhLmFpKTtlbHNle2EuZ2srKzt2YXIgYj1OYigpO3VFKHtldmVudDphLmV2ZW50TmFtZSwiZ3RtLnRpbWVySWQiOmEuYWksImd0bS50aW1lckV2ZW50TnVtYmVyIjphLmdrLCJndG0udGltZXJJbnRlcnZhbCI6YS5pbnRlcnZhbCwiZ3RtLnRpbWVyTGltaXQiOmEubGltaXQsImd0bS50aW1lclN0YXJ0VGltZSI6YS5NbywiZ3RtLnRpbWVyQ3VycmVudFRpbWUiOmIsImd0bS50aW1lckVsYXBzZWRUaW1lIjpiLWEuTW8sImd0bS50cmlnZ2VycyI6YS5MdH0pfX19CmZ1bmN0aW9uIGlLKGEsYil7CnJldHVybiBmfWlLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uVGltZXIiOwp2YXIgaks9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoKXt2YXIgZz1hKCk7Zis9ZT8oTmIoKS1lKSpnLnBsYXliYWNrUmF0ZS8xRTM6MDtlPU5iKCl9dmFyIGU9MCxmPTA7cmV0dXJue2NyZWF0ZUV2ZW50OmZ1bmN0aW9uKGcsaCxsKXt2YXIgbj1hKCkscD1uLlduLHE9bD9NYXRoLnJvdW5kKGwpOmg/TWF0aC5yb3VuZChuLlduKmgpOk1hdGgucm91bmQobi5Hcikscj1oIT09dm9pZCAwP01hdGgucm91bmQoaCoxMDApOnA8PTA/MDpNYXRoLnJvdW5kKHEvcCoxMDApLHQ9Qi5oaWRkZW4/ITE6dEkoYyk+PS41O2QoKTt2YXIgdT12b2lkIDA7YiE9PXZvaWQgMCYmKHU9W2JdKTt2YXIgdj1lRyhjLCJndG0udmlkZW8iLHUpO3ZbImd0bS52aWRlb1Byb3ZpZGVyIl09InlvdXR1YmUiO3ZbImd0bS52aWRlb1N0YXR1cyJdPWc7dlsiZ3RtLnZpZGVvVXJsIl09bi51cmw7dlsiZ3RtLnZpZGVvVGl0bGUiXT1uLnRpdGxlO3ZbImd0bS52aWRlb0R1cmF0aW9uIl09TWF0aC5yb3VuZChwKTt2WyJndG0udmlkZW9DdXJyZW50VGltZSJdPQpNYXRoLnJvdW5kKHEpO3ZbImd0bS52aWRlb0VsYXBzZWRUaW1lIl09TWF0aC5yb3VuZChmKTt2WyJndG0udmlkZW9QZXJjZW50Il09cjt2WyJndG0udmlkZW9WaXNpYmxlIl09dDtyZXR1cm4gdn0sbXQ6ZnVuY3Rpb24oKXtlPU5iKCl9LEJqOmZ1bmN0aW9uKCl7ZCgpfX19O3ZhciBBYz1BYShbImRhdGEtZ3RtLXl0LWluc3BlY3RlZC0iXSksa0s9WyJ3d3cueW91dHViZS5jb20iLCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iXSxsSzsKdmFyIG1LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLm1hcChmdW5jdGlvbihnKXtyZXR1cm57dGU6ZyxKbzpnLHdvOnZvaWQgMH19KTtpZighYi5sZW5ndGgpcmV0dXJuIGQ7dmFyIGU9Yi5tYXAoZnVuY3Rpb24oZyl7cmV0dXJue3RlOmcqYyxKbzp2b2lkIDAsd286Z319KTtpZighZC5sZW5ndGgpcmV0dXJuIGU7dmFyIGY9ZC5jb25jYXQoZSk7Zi5zb3J0KGZ1bmN0aW9uKGcsaCl7cmV0dXJuIGcudGUtaC50ZX0pO3JldHVybiBmfSxuSz1mdW5jdGlvbihhKXthPWE9PT12b2lkIDA/W106YTtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKWFbY108MHx8Yi5wdXNoKGFbY10pO2Iuc29ydChmdW5jdGlvbihkLGUpe3JldHVybiBkLWV9KTtyZXR1cm4gYn0sb0s9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP1tdOmE7Zm9yKHZhciBiPVtdLGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdPjEwMHx8YVtjXTwwfHwoYltjXT1hW2NdLzEwMCk7Yi5zb3J0KGZ1bmN0aW9uKGQsZSl7cmV0dXJuIGQtCmV9KTtyZXR1cm4gYn0scEs9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO2Z1bmN0aW9uIGUoKXt0PWpLKGZ1bmN0aW9uKCl7cmV0dXJue3VybDp4LHRpdGxlOnksV246dixHcjphLmdldEN1cnJlbnRUaW1lKCkscGxheWJhY2tSYXRlOnp9fSxiLnJmLGEuZ2V0SWZyYW1lKCkpO3Y9MDt5PXg9IiI7ej0xO3JldHVybiBmfWZ1bmN0aW9uIGYoRyl7c3dpdGNoKEcpe2Nhc2UgMTp2PU1hdGgucm91bmQoYS5nZXREdXJhdGlvbigpKTt4PWEuZ2V0VmlkZW9VcmwoKTtpZihhLmdldFZpZGVvRGF0YSl7dmFyIE49YS5nZXRWaWRlb0RhdGEoKTt5PU4/Ti50aXRsZToiIn16PWEuZ2V0UGxheWJhY2tSYXRlKCk7Yi55cj91RSh0LmNyZWF0ZUV2ZW50KCJzdGFydCIpKTp0LkJqKCk7dT1tSyhiLmV0LGIuY3QsYS5nZXREdXJhdGlvbigpKTtyZXR1cm4gZyhHKTtkZWZhdWx0OnJldHVybiBmfX1mdW5jdGlvbiBnKCl7Qz1hLmdldEN1cnJlbnRUaW1lKCk7RD1NYigpLmdldFRpbWUoKTt0Lm10KCk7cigpO3JldHVybiBofQpmdW5jdGlvbiBoKEcpe3ZhciBOO3N3aXRjaChHKXtjYXNlIDA6cmV0dXJuIG4oRyk7Y2FzZSAyOk49InBhdXNlIjtjYXNlIDM6dmFyIFM9YS5nZXRDdXJyZW50VGltZSgpLUM7Tj1NYXRoLmFicygoTWIoKS5nZXRUaW1lKCktRCkvMUUzKnotUyk+MT8ic2VlayI6Tnx8ImJ1ZmZlcmluZyI7YS5nZXRDdXJyZW50VGltZSgpJiYoYi54cj91RSh0LmNyZWF0ZUV2ZW50KE4pKTp0LkJqKCkpO3EoKTtyZXR1cm4gbDtjYXNlIC0xOnJldHVybiBlKEcpO2RlZmF1bHQ6cmV0dXJuIGh9fWZ1bmN0aW9uIGwoRyl7c3dpdGNoKEcpe2Nhc2UgMDpyZXR1cm4gbihHKTtjYXNlIDE6cmV0dXJuIGcoRyk7Y2FzZSAtMTpyZXR1cm4gZShHKTtkZWZhdWx0OnJldHVybiBsfX1mdW5jdGlvbiBuKCl7Zm9yKDtkOyl7dmFyIEc9YztBLmNsZWFyVGltZW91dChkKTtHKCl9Yi53ciYmdUUodC5jcmVhdGVFdmVudCgiY29tcGxldGUiLDEpKTtyZXR1cm4gZSgtMSl9ZnVuY3Rpb24gcCgpe31mdW5jdGlvbiBxKCl7ZCYmCihBLmNsZWFyVGltZW91dChkKSxkPTAsYz1wKX1mdW5jdGlvbiByKCl7aWYodS5sZW5ndGgmJnohPT0wKXt2YXIgRz0tMSxOO2Rve049dVswXTtpZihOLnRlPmEuZ2V0RHVyYXRpb24oKSlyZXR1cm47Rz0oTi50ZS1hLmdldEN1cnJlbnRUaW1lKCkpL3o7aWYoRzwwJiYodS5zaGlmdCgpLHUubGVuZ3RoPT09MCkpcmV0dXJufXdoaWxlKEc8MCk7Yz1mdW5jdGlvbigpe2Q9MDtjPXA7dS5sZW5ndGg+MCYmdVswXS50ZT09PU4udGUmJih1LnNoaWZ0KCksdUUodC5jcmVhdGVFdmVudCgicHJvZ3Jlc3MiLE4ud28sTi5KbykpKTtyKCl9O2Q9QS5zZXRUaW1lb3V0KGMsRyoxRTMpfX12YXIgdCx1PVtdLHYseCx5LHosQyxELEk9ZSgtMSk7ZD0wO2M9cDtyZXR1cm57b25TdGF0ZUNoYW5nZTpmdW5jdGlvbihHKXtJPUkoRyl9LG9uUGxheWJhY2tSYXRlQ2hhbmdlOmZ1bmN0aW9uKEcpe0M9YS5nZXRDdXJyZW50VGltZSgpO0Q9TWIoKS5nZXRUaW1lKCk7dC5CaigpO3o9RztxKCk7cigpfX19LHJLPQpmdW5jdGlvbihhKXtiZChmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXtmb3IodmFyIGQ9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIiksZT1kLmxlbmd0aCxmPTA7ZjxlO2YrKylxSyhkW2ZdLGEpfXZhciBjPUI7YigpO29KLksoYil9KX0scUs9ZnVuY3Rpb24oYSxiKXtpZighYS5nZXRBdHRyaWJ1dGUoImRhdGEtZ3RtLXl0LWluc3BlY3RlZC0iK2IucmYpJiYoQ2MoYSwiZGF0YS1ndG0teXQtaW5zcGVjdGVkLSIrYi5yZiksc0soYSxiLmNvKSkpe2EuaWR8fChhLmlkPXRLKCkpO3ZhciBjPUEuWVQsZD1jLmdldChhLmlkKTtkfHwoZD1uZXcgYy5QbGF5ZXIoYS5pZCkpO3ZhciBlPXBLKGQsYiksZj17fSxnO2ZvcihnIGluIGUpZj17TWc6Zi5NZ30sZi5NZz1nLGUuaGFzT3duUHJvcGVydHkoZi5NZykmJmQuYWRkRXZlbnRMaXN0ZW5lcihmLk1nLGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbihsKXtyZXR1cm4gZVtoLk1nXShsLmRhdGEpfX0oZikpfX0sc0s9ZnVuY3Rpb24oYSwKYil7dmFyIGM9YS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKHVLKGMsImVtYmVkLyIpKXtpZihjLmluZGV4T2YoImVuYWJsZWpzYXBpPTEiKT4wKXJldHVybiEwO2lmKGIpe3ZhciBkO3ZhciBlPWMuaW5kZXhPZigiPyIpIT09LTE/IiYiOiI/IjtjLmluZGV4T2YoIm9yaWdpbj0iKT4tMT9kPWMrZSsiZW5hYmxlanNhcGk9MSI6KGxLfHwobEs9Qi5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK0IubG9jYXRpb24uaG9zdG5hbWUsQi5sb2NhdGlvbi5wb3J0JiYobEsrPSI6IitCLmxvY2F0aW9uLnBvcnQpKSxkPWMrZSsiZW5hYmxlanNhcGk9MSZvcmlnaW49IitlbmNvZGVVUklDb21wb25lbnQobEspKTt2YXIgZjtmPWpjKGQpO2Euc3JjPWtjKGYpLnRvU3RyaW5nKCk7cmV0dXJuITB9fXJldHVybiExfSx1Sz1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO2Zvcih2YXIgYz0wO2M8a0subGVuZ3RoO2MrKylpZihhLmluZGV4T2YoIi8vIitrS1tjXSsiLyIrYik+PTApcmV0dXJuITA7cmV0dXJuITF9LAp0Sz1mdW5jdGlvbigpe3ZhciBhPSIiK01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTkpO3JldHVybiBCLmdldEVsZW1lbnRCeUlkKGEpP3RLKCk6YX07CmZ1bmN0aW9uIHZLKGEsYil7dmFyIGM9dGhpczt2YXIgZD1mdW5jdGlvbigpe3JLKHEpfTtpZighZWgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbIk9iamVjdCIsImFueSJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiLHtmaXhNaXNzaW5nQXBpOiEhYS5nZXQoImZpeE1pc3NpbmdBcGkiKX0pfV0pO3ZhciBlPVpGKGIpLGY9ISFhLmdldCgiY2FwdHVyZVN0YXJ0IiksZz0hIWEuZ2V0KCJjYXB0dXJlQ29tcGxldGUiKSxoPSEhYS5nZXQoImNhcHR1cmVQYXVzZSIpLGw9b0soVGQoYS5nZXQoInByb2dyZXNzVGhyZXNob2xkc1BlcmNlbnQiKSkpLG49bksoVGQoYS5nZXQoInByb2dyZXNzVGhyZXNob2xkc1RpbWVJblNlY29uZHMiKSkpLHA9ISFhLmdldCgiZml4TWlzc2luZ0FwaSIpOwppZighKGZ8fGd8fGh8fGwubGVuZ3RofHxuLmxlbmd0aCkpcmV0dXJuO3ZhciBxPXt5cjpmLHdyOmcseHI6aCxjdDpsLGV0Om4sY286cCxyZjplfSxyPUEuWVQ7aWYocilyZXR1cm4gci5yZWFkeSYmci5yZWFkeShkKSxlO3ZhciB0PUEsdT10Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5O3Qub25Zb3VUdWJlSWZyYW1lQVBJUmVhZHk9ZnVuY3Rpb24oKXt1JiZ1KCk7ZCgpfTtiZChmdW5jdGlvbigpe2Zvcih2YXIgdj1CLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSx4PXYubGVuZ3RoLHk9MDt5PHg7eSsrKXt2YXIgej12W3ldLmdldEF0dHJpYnV0ZSgic3JjIik7aWYodUsoeiwiaWZyYW1lX2FwaSIpfHx1Syh6LCJwbGF5ZXJfYXBpIikpcmV0dXJuIGV9Zm9yKHZhciBDPUIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpLEQ9Qy5sZW5ndGgsST1hbCg1LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxHPTA7RzxEO0crKylpZighSSYmc0soQ1tHXSxxLmNvKSlyZXR1cm4gVWMoImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGkiKSwKWmsoNSwhMCksZX0pO3JldHVybiBlfXZLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uWW91VHViZUFjdGl2aXR5IjtmdW5jdGlvbiB3SyhhLGIpe2lmKCFsaChhKXx8IWZoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJPYmplY3R8dW5kZWZpbmVkIl0sYXJndW1lbnRzKTt2YXIgYz1iP1RkKGIpOnt9O2MucmVnZXhDYWNoZT1hbCgzLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KTtyZXR1cm4gR2goYSxjKX13Sy5QPSJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIjtmdW5jdGlvbiB4SyhhKXt2YXIgYj0hMTtyZXR1cm4gYn14Sy5QPSJpbnRlcm5hbC5ldmFsdWF0ZU1hdGNoaW5nUnVsZXMiO3ZhciB5Sz1uZXcgTWFwKFtbImF3Iiw0XV0pO2Z1bmN0aW9uIHpLKGEpe3ZhciBiPXZyW2FdLGM9eUsuZ2V0KGEpO3JldHVybiBjPyh3cShiLGMpfHxbXSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gZC5tPT09IjAifHxkLm09PT12b2lkIDB9KTohMX0KZnVuY3Rpb24gQUsoYSxiKXtpZihNKDQ5NSkpe2Zvcih2YXIgYz1uZXcgTWFwLGQ9bSh5SyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPW0oZS52YWx1ZSksZz1mLm5leHQoKS52YWx1ZSxoPWYubmV4dCgpLnZhbHVlLGw9ZyxuPWFbbF0scD1BcnJheS5pc0FycmF5KG4pP25bMF06bjtpZihwIT09dm9pZCAwKXt2YXIgcT17fSxyPShxLms9cCxxLmk9U3RyaW5nKE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpKSxxLmI9W10scS5tPSIxIixxKSx0PWFxKHIsaCk7dCYmKHpLKGwpfHxjLnNldChsLHQpKX19aWYoYy5zaXplKXt2YXIgdSx2PVtdLHg9Yi5wYXRofHwiLyI7di5wdXNoKGVuY29kZVVSSUNvbXBvbmVudCgicCIpKyI9IitlbmNvZGVVUklDb21wb25lbnQoeCkpO2IuQXImJnYucHVzaChlbmNvZGVVUklDb21wb25lbnQoImNlIikrIj0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYi5BcikpKTt2YXIgeT1iLmRvbWFpbiYmYi5kb21haW4hPT0iYXV0byI/CmIuZG9tYWluOiJhdXRvOiIrQS5sb2NhdGlvbi5ob3N0bmFtZTt2LnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KCJkIikrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh5KSk7Zm9yKHZhciB6PW0oYyksQz16Lm5leHQoKTshQy5kb25lO0M9ei5uZXh0KCkpe3ZhciBEPW0oQy52YWx1ZSksST1ELm5leHQoKS52YWx1ZSxHPUQubmV4dCgpLnZhbHVlO3YucHVzaChlbmNvZGVVUklDb21wb25lbnQoSSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChHKSl9dT0iXy9zZXRfY29va2llPyIrdi5qb2luKCImIik7dmFyIE4sUz1FKDU4KTtOPUVmKHUsUyk7dmFyIFc9WGooKSsiLyIrTjttZChXKX19fTtmdW5jdGlvbiBCSyhhKXtyZXR1cm4iQ1dWV2ViVmlld01lc3NhZ2UiaW4gYX1mdW5jdGlvbiBDSyhhKXt2YXIgYj1BLGM9Yi53ZWJraXQ7ZGVsZXRlIGIud2Via2l0O2EoYi53ZWJraXQpO2Iud2Via2l0PWN9ZnVuY3Rpb24gREsoYSxiKXt2YXIgYz17YWN0aW9uOiJnY2xfc2V0dXAifTtpZihCSyhhLm1lc3NhZ2VIYW5kbGVycykpcmV0dXJuIGEubWVzc2FnZUhhbmRsZXJzLkNXVldlYlZpZXdNZXNzYWdlLnBvc3RNZXNzYWdlKHtjb21tYW5kOmIscGF5bG9hZDpjfSksITA7dmFyIGQ9YS5tZXNzYWdlSGFuZGxlcnNbYl07cmV0dXJuIGQ/KGQucG9zdE1lc3NhZ2UoYyksITApOiExfTt2YXIgRUs9e30sRks9KEVLLmF3Yj17bm90Rm91bmQ6MTc4fSxFSy55dGI9e25vdEZvdW5kOjE5NH0sRUspO2Z1bmN0aW9uIEdLKGEpe3ZhciBiLGM9KGI9RktbYV0pPT1udWxsP3ZvaWQgMDpiLm5vdEZvdW5kO2MmJlAoYyl9CmZ1bmN0aW9uIEhLKGEpe2lmKCFubShqbS5iYS5qbikmJiJ3ZWJraXQiaW4gQSYmQS53ZWJraXQubWVzc2FnZUhhbmRsZXJzKXt2YXIgYj1mdW5jdGlvbigpe3RyeXtDSyhmdW5jdGlvbihjKXtpZihjKXt2YXIgZDtkPUJLKGMubWVzc2FnZUhhbmRsZXJzKXx8ImF3YiJpbiBjLm1lc3NhZ2VIYW5kbGVycz97Y29tbWFuZDoiYXdiIixzb3VyY2U6NX06KEJLKGMubWVzc2FnZUhhbmRsZXJzKXx8Inl0YiJpbiBjLm1lc3NhZ2VIYW5kbGVycykmJk0oNDk5KT97Y29tbWFuZDoieXRiIixzb3VyY2U6OH06dm9pZCAwO2QmJihtbShqbS5iYS5qbixmdW5jdGlvbihlKXt2YXIgZj1kLnNvdXJjZTtlLmdjbGlkJiZscygiZ2NsX2F3IixlLmdjbGlkLGYsYSk7ZS53YnJhaWQmJmxzKCJnY2xfZ2IiLGUud2JyYWlkLGYsYSl9KSxESyhjLGQuY29tbWFuZCl8fEdLKGQuY29tbWFuZCkpfX0pfWNhdGNoKGMpe1AoMTkzKX19O0hsKGZ1bmN0aW9uKCl7QnIoZnApP2IoKTpJbChiLGZwKX0sZnApfX07dmFyIElLPVsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbSIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIiwiaHR0cHM6Ly9tLnlvdXR1YmUuY29tIl07ZnVuY3Rpb24gSksoYSl7cmV0dXJuIGEuZGF0YS5hY3Rpb24hPT0iZ2NsX3RyYW5zZmVyIj8oUCgxNzMpLCEwKTphLmRhdGEuZ2FkU291cmNlP2EuZGF0YS5nY2xpZD8hMTooUCgxODEpLCEwKTooUCgxODApLCEwKX0KZnVuY3Rpb24gS0soYSxiKXtpZighYXx8TShhKSl7aWYobm0oam0uYmEuVmUpKXJldHVybiBQKDE3Niksam0uYmEuVmU7aWYobm0oam0uYmEubW4pKXJldHVybiBQKDE3MCksam0uYmEuVmU7dmFyIGM9RnAoKTtpZighYylQKDE3MSk7ZWxzZSBpZihjLm9wZW5lcil7dmFyIGQ9ZnVuY3Rpb24oZyl7aWYoIUlLLmluY2x1ZGVzKGcub3JpZ2luKSlQKDE3Mik7ZWxzZSBpZighSksoZykpe3ZhciBoPXtnYWRTb3VyY2U6Zy5kYXRhLmdhZFNvdXJjZX07aC5nY2xpZD1nLmRhdGEuZ2NsaWQ7bW0oam0uYmEuVmUsaCk7YiYmZy5kYXRhLmdjbGlkJiZscygiZ2NsX2F3IixTdHJpbmcoZy5kYXRhLmdjbGlkKSw2LGIpO3ZhciBsOyhsPWcuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKT09bnVsbHx8bC5jYWxsKGcpO250KGMsIm1lc3NhZ2UiLGQpfX07aWYobXQoYywibWVzc2FnZSIsZCkpe21tKGptLmJhLm1uLCEwKTtmb3IodmFyIGU9bShJSyksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpYy5vcGVuZXIucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiZ2NsX3NldHVwIn0sCmYudmFsdWUpO1AoMTc0KTtyZXR1cm4gam0uYmEuVmV9UCgxNzUpfX19Owp2YXIgTEs9ZnVuY3Rpb24oYSl7dmFyIGI9e3ByZWZpeDpPKGEuTSxGLkQuRmQpfHxPKGEuTSxGLkQubmIpLGRvbWFpbjpPKGEuTSxGLkQuTGIpLHBkOk8oYS5NLEYuRC5DYiksZmxhZ3M6TyhhLk0sRi5ELlRiKX07YS5NLmlzR3RtRXZlbnQmJihiLnBhdGg9TyhhLk0sRi5ELnZjKSk7cmV0dXJuIGJ9LE1LPWZ1bmN0aW9uKGEsYil7aWYoIVEoYSxILkouV2UpKXt2YXIgYz1LSygxMTkpO2lmKGMpe3ZhciBkPW5tKGMpLGU9ZnVuY3Rpb24oZyl7VihhLEguSi5XZSwhMCk7dmFyIGg9UihhLEYuRC56ZiksbD1SKGEsRi5ELkFmKTtVKGEsRi5ELnpmLFN0cmluZyhnLmdhZFNvdXJjZSkpO1UoYSxGLkQuQWYsNik7VihhLEguSi5zYSk7VihhLEguSi51Zyk7VShhLEYuRC5zYSk7YigpO1UoYSxGLkQuemYsaCk7VShhLEYuRC5BZixsKTtWKGEsSC5KLldlLCExKX07aWYoZCllKGQpO2Vsc2V7dmFyIGY9dm9pZCAwO2Y9cG0oYyxmdW5jdGlvbihnLGgpe2UoaCk7cW0oYyxmKX0pfX19fSxQSz1mdW5jdGlvbihhKXt2YXIgYiwKYyxkLGU7Yj1hLlRuO2M9YS5tbztkPWEuUW87ZT1hLlVuO2lmKGIpe2lmKGRyKGNbRi5ELlhmXSwhIWNbRi5ELkFhXSkpe2lmKFdqKCkmJkJyKEFyKCkpKXtmb3IodmFyIGY9VXEoITApLGc9e30saD1tKE9iamVjdC5rZXlzKHZyKSksbD1oLm5leHQoKTshbC5kb25lO2w9aC5uZXh0KCkpe3ZhciBuPWwudmFsdWUscD12cltuXSxxPWZbcF07aWYocSl7dmFyIHI9JHAocSw0KTtyJiYob3MoTWF0aC5taW4oTnIociksTmIoKSl8fE5iKCkscCw0KXx8KGdbbl09cSkpfX1mb3IodmFyIHQ9e30sdT1tKE9iamVjdC5rZXlzKGcpKSx2PXUubmV4dCgpOyF2LmRvbmU7dj11Lm5leHQoKSl7dmFyIHg9di52YWx1ZSx5PWdbeF07aWYoeSE9PXZvaWQgMCl7dmFyIHo9JHAoeSw0KTt6JiZ6Lm09PT0iMSImJih0W3hdPXouayl9fUFLKHQsZSl9cHMoZSk7dHMoZSk7UXYoZSl9aWYoT3AoKSE9PTIpe2dzKGUpO2lzKGUpO2lmKFlmKDE1KSl7dmFyIEM9ZSxEPWRzKEEubG9jYXRpb24uaHJlZiwhMCwhMSk7CkQubGVuZ3RofHwoRD1kcyhBLmRvY3VtZW50LnJlZmVycmVyLCExLCEwKSk7aWYoRC5sZW5ndGgpe0M9Q3x8e307dmFyIEk9RFswXTtJLnZhbHVlJiZtcygiZ2NsX2RjIixbe3ZlcnNpb246IiIsZ2NsaWQ6SS52YWx1ZSx0aW1lc3RhbXA6TmIoKSxxYTpJLnFhfV0sQyl9fUhLKGUpO0tLKHZvaWQgMCxlKX1lbHNlIGdzKGUpO2lmKFdqKCkmJkJyKEFyKCkpKXt2YXIgRz1mcygpO0FLKEcsZSl9eHMocXMsZSk7eXMoZSl9Y1tGLkQuQWFdJiYodnMoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSksdXMoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSxlLnByZWZpeCksd3MoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSxlLnByZWZpeCksUnYoR3YoZS5wcmVmaXgpLGNbRi5ELkFhXSxjW0YuRC5hZF0sISFjW0YuRC53Y10sZSksUnYoIkZQQVUiLGNbRi5ELkFhXSxjW0YuRC5hZF0sISFjW0YuRC53Y10sZSkpO2QmJkFzKE5LKTtDcyhPSyl9LHFzPVsiYXciLCJkYyIsCiJnYiJdLE9LPVsiYXciLCJkYyIsImdiIiwiYWciXSxOSz1bImF3IiwiZGMiLCJnYiIsImFnIiwiZ2FkX3NvdXJjZSJdO2Z1bmN0aW9uIFZLKCl7cmV0dXJuIE10KDcpJiZNdCg5KSYmTXQoMTApfTt2YXIgV0s9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXt9O2EubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5vaiwoZFtiXT1jLGQpKX0sWEs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1kSShhLEYuRC5GaSxhLk0uaWJbRi5ELkZpXSk7aWYoYyYmY1tifHxhLmV2ZW50TmFtZV0hPT12b2lkIDApcmV0dXJuIGNbYnx8YS5ldmVudE5hbWVdfSxZSz1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLllhKTtpZihDZChiKSlyZXR1cm4gYn0sWks9ZnVuY3Rpb24oYSl7aWYoUShhLEguSi5iZSl8fCFlayhhLk0pKXJldHVybiAxO2lmKCFPKGEuTSxGLkQuZGQpKXt2YXIgYj1PKGEuTSxGLkQuUWYpO2lmKGIhPT0hMCYmYiE9PSJ0cnVlIilyZXR1cm4gMX12YXIgYz1PKGEuTSxGLkQuT2kpO3JldHVybiBjPT09ITF8fGM9PT0iZmFsc2UiPzM6Mn07CnZhciBhTD1mdW5jdGlvbihhLGIpe2EmJigkSygic2lkIixhLnRhcmdldElkLGIpLCRLKCJjYyIsYS5jbGllbnRDb3VudCxiKSwkSygidGwiLGEudG90YWxMaWZlTXMsYiksJEsoImhjIixhLmhlYXJ0YmVhdENvdW50LGIpLCRLKCJjbCIsYS5jbGllbnRMaWZlTXMsYikpfSwkSz1mdW5jdGlvbihhLGIsYyl7YiE9bnVsbCYmYy5wdXNoKGErIj0iK2IpfSxiTD1mdW5jdGlvbigpe3ZhciBhPUIucmVmZXJyZXI7aWYoYSl7dmFyIGI7cmV0dXJuIExqKFJqKGEpLCJob3N0Iik9PT0oKGI9QS5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmIuaG9zdCk/MToyfXJldHVybiAwfSxkTD1mdW5jdGlvbigpe3RoaXMuamE9Y0w7dGhpcy5OPTA7dGhpcy55YT1OZig1Nyw1KTt0aGlzLlI9TmYoNTgsNTApO3RoaXMuZmE9RGIoKTt0aGlzLkxhPSJodHRwczovLyIrRSgyMSkrIi9hPyJ9O2RMLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjLGQpewp2YXIgZT1iTCgpLGYsZz1bXTtmPUE9PT1BLnRvcCYmZSE9PTAmJmI/KGI9PW51bGw/dm9pZCAwOmIuY2xpZW50Q291bnQpPjE/ZT09PTI/MToyOmU9PT0yPzA6Mzo0O2EmJiRLKCJzaSIsYS5KZyxnKTskSygibSIsMCxnKTskSygiaXNzIixmLGcpOyRLKCJpZiIsYyxnKTthTChiLGcpO2QmJiRLKCJmbSIsZW5jb2RlVVJJQ29tcG9uZW50KGQuc3Vic3RyaW5nKDAsdGhpcy5SKSksZyk7dGhpcy5aKGcpO307ZEwucHJvdG90eXBlLkg9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1bXTskSygibSIsMSxmKTskSygicyIsYSxmKTskSygicG8iLGJMKCksZik7YiYmKCRLKCJzdCIsYi5zdGF0ZSxmKSwkSygic2kiLGIuSmcsZiksJEsoInNtIixiLlVnLGYpKTthTChjLGYpOyRLKCJjIixkLGYpO2UmJiRLKCJmbSIsZW5jb2RlVVJJQ29tcG9uZW50KGUuc3Vic3RyaW5nKDAsCnRoaXMuUikpLGYpO3RoaXMuWihmKTt9O2RMLnByb3RvdHlwZS5aPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9bXTphOyFmbi5OfHx0aGlzLk4+PXRoaXMueWF8fCgkSygicGlkIix0aGlzLmZhLGEpLCRLKCJiYyIsKyt0aGlzLk4sYSksYS51bnNoaWZ0KCJjdGlkPSIrRSg1KSsiJnQ9cyIpLHRoaXMuamEoIiIrdGhpcy5MYSthLmpvaW4oIiYiKSkpfTtmdW5jdGlvbiBlTChhKXtyZXR1cm4gYS5wZXJmb3JtYW5jZSYmYS5wZXJmb3JtYW5jZS5ub3coKXx8RGF0ZS5ub3coKX0KdmFyIGZMPWZ1bmN0aW9uKGEsYil7dmFyIGM9QSxkPU5mKDUzLDUwMCksZT1OZig1NCw1RTMpLGY9TmYoOCwyMCksZz1OZig1NSw1RTMpLGg7dmFyIGw9ZnVuY3Rpb24obixwLHEpe3E9cT09PXZvaWQgMD97cW86ZnVuY3Rpb24oKXt9LHNvOmZ1bmN0aW9uKCl7fSxwbzpmdW5jdGlvbigpe30sb25GYWlsdXJlOmZ1bmN0aW9uKCl7fX06cTt0aGlzLklqPW47dGhpcy5IPXA7dGhpcy5OPXE7dGhpcy5mYT10aGlzLmphPXRoaXMuaGVhcnRiZWF0Q291bnQ9dGhpcy5Eaj0wO3RoaXMuZmU9ITE7dGhpcy5LPXt9O3RoaXMuaWQ9U3RyaW5nKE1hdGguZmxvb3IoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIqTWF0aC5yYW5kb20oKSkpO3RoaXMuc3RhdGU9MDt0aGlzLkpnPWVMKHRoaXMuSCk7dGhpcy5VZz1lTCh0aGlzLkgpO3RoaXMuWj0xMH07bC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3RoaXMuUigxKTsKdGhpcy5MYSgpfTtsLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybntzdGF0ZTp0aGlzLnN0YXRlLEpnOk1hdGgucm91bmQoZUwodGhpcy5IKS10aGlzLkpnKSxVZzpNYXRoLnJvdW5kKGVMKHRoaXMuSCktdGhpcy5VZyl9fTtsLnByb3RvdHlwZS5SPWZ1bmN0aW9uKG4pe3RoaXMuc3RhdGUhPT1uJiYodGhpcy5zdGF0ZT1uLHRoaXMuVWc9ZUwodGhpcy5IKSl9O2wucHJvdG90eXBlLnZnPWZ1bmN0aW9uKCl7cmV0dXJuIFN0cmluZyh0aGlzLkRqKyspfTtsLnByb3RvdHlwZS5MYT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7dGhpcy5oZWFydGJlYXRDb3VudCsrO3RoaXMueWEoe3R5cGU6MCxjbGllbnRJZDp0aGlzLmlkLHJlcXVlc3RJZDp0aGlzLnZnKCksbWF4RGVsYXk6dGhpcy5oZSgpfSxmdW5jdGlvbihwKXtpZihwLnR5cGU9PT0wKXt2YXIgcTtpZigoKHE9cC5mYWlsdXJlKT09bnVsbD92b2lkIDA6cS5mYWlsdXJlVHlwZSkhPW51bGwpaWYocC5zdGF0cyYmKG4uc3RhdHM9CnAuc3RhdHMpLG4uZmErKyxwLmlzRGVhZHx8bi5mYT5mKXt2YXIgcj1wLmlzRGVhZCYmcC5mYWlsdXJlLmZhaWx1cmVUeXBlO24uWj1yfHwxMDtuLlIoNCk7bi5BaigpO3ZhciB0LHU7KHU9KHQ9bi5OKS5wbyk9PW51bGx8fHUuY2FsbCh0LHtmYWlsdXJlVHlwZTpyfHwxMCxkYXRhOnAuZmFpbHVyZS5kYXRhfSl9ZWxzZSBuLlIoMyksbi5QaCgpO2Vsc2V7aWYobi5oZWFydGJlYXRDb3VudD5wLnN0YXRzLmhlYXJ0YmVhdENvdW50K2Ype24uaGVhcnRiZWF0Q291bnQ9cC5zdGF0cy5oZWFydGJlYXRDb3VudDt2YXIgdix4Oyh4PSh2PW4uTikub25GYWlsdXJlKT09bnVsbHx8eC5jYWxsKHYse2ZhaWx1cmVUeXBlOjEzfSl9bi5zdGF0cz1wLnN0YXRzO3ZhciB5PW4uc3RhdGU7bi5SKDIpO2lmKHkhPT0yKWlmKG4uZmUpe3ZhciB6LEM7KEM9KHo9bi5OKS5zbyk9PW51bGx8fEMuY2FsbCh6KX1lbHNle24uZmU9ITA7dmFyIEQsSTsoST0oRD1uLk4pLnFvKT09bnVsbHx8SS5jYWxsKEQpfW4uZmE9CjA7bi5OaigpO24uUGgoKX19fSl9O2wucHJvdG90eXBlLmhlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0yP2U6ZH07bC5wcm90b3R5cGUuUGg9ZnVuY3Rpb24oKXt2YXIgbj10aGlzO3RoaXMuSC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5MYSgpfSxNYXRoLm1heCgwLHRoaXMuaGUoKS0oZUwodGhpcy5IKS10aGlzLmphKSkpfTtsLnByb3RvdHlwZS5rcj1mdW5jdGlvbihuLHAscSl7dmFyIHI9dGhpczt0aGlzLnlhKHt0eXBlOjEsY2xpZW50SWQ6dGhpcy5pZCxyZXF1ZXN0SWQ6dGhpcy52ZygpLGNvbW1hbmQ6bn0sZnVuY3Rpb24odCl7aWYodC50eXBlPT09MSlpZih0LnJlc3VsdClwKHQucmVzdWx0KTtlbHNle3ZhciB1LHYseCx5PXtmYWlsdXJlVHlwZTooeD0odT10LmZhaWx1cmUpPT1udWxsP3ZvaWQgMDp1LmZhaWx1cmVUeXBlKSE9bnVsbD94OjEyLGRhdGE6KHY9dC5mYWlsdXJlKT09bnVsbD92b2lkIDA6di5kYXRhfSx6LEM7KEM9KHo9ci5OKS5vbkZhaWx1cmUpPT0KbnVsbHx8Qy5jYWxsKHoseSk7cSh5KX19KX07bC5wcm90b3R5cGUueWE9ZnVuY3Rpb24obixwKXt2YXIgcT10aGlzO2lmKHRoaXMuc3RhdGU9PT00KW4uZmFpbHVyZT17ZmFpbHVyZVR5cGU6dGhpcy5afSxwKG4pO2Vsc2V7dmFyIHI9dGhpcy5zdGF0ZSE9PTImJm4udHlwZSE9PTAsdD1uLnJlcXVlc3RJZCx1LHY9dGhpcy5ILnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgeT1xLktbdF07eSYmKGltKDYpLHEua2QoeSw3KSl9LCh1PW4ubWF4RGVsYXkpIT1udWxsP3U6ZykseD17cmVxdWVzdDpuLEhvOnAsem86cixOczp2fTt0aGlzLktbdF09eDtyfHx0aGlzLnNlbmRSZXF1ZXN0KHgpfX07bC5wcm90b3R5cGUuc2VuZFJlcXVlc3Q9ZnVuY3Rpb24obil7dGhpcy5qYT1lTCh0aGlzLkgpO24uem89ITE7dGhpcy5JaihuLnJlcXVlc3QpfTtsLnByb3RvdHlwZS5Oaj1mdW5jdGlvbigpe2Zvcih2YXIgbj1tKE9iamVjdC5rZXlzKHRoaXMuSykpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT0KdGhpcy5LW3AudmFsdWVdO3Euem8mJnRoaXMuc2VuZFJlcXVlc3QocSl9fTtsLnByb3RvdHlwZS5Baj1mdW5jdGlvbigpe2Zvcih2YXIgbj1tKE9iamVjdC5rZXlzKHRoaXMuSykpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXRoaXMua2QodGhpcy5LW3AudmFsdWVdLHRoaXMuWil9O2wucHJvdG90eXBlLmtkPWZ1bmN0aW9uKG4scCl7dGhpcy5hYyhuKTt2YXIgcT1uLnJlcXVlc3Q7cS5mYWlsdXJlPXtmYWlsdXJlVHlwZTpwfTtuLkhvKHEpfTtsLnByb3RvdHlwZS5hYz1mdW5jdGlvbihuKXtkZWxldGUgdGhpcy5LW24ucmVxdWVzdC5yZXF1ZXN0SWRdO3RoaXMuSC5jbGVhclRpbWVvdXQobi5Ocyl9O2wucHJvdG90eXBlLmtzPWZ1bmN0aW9uKG4pe3RoaXMuamE9ZUwodGhpcy5IKTt2YXIgcD10aGlzLktbbi5yZXF1ZXN0SWRdO2lmKHApdGhpcy5hYyhwKSxwLkhvKG4pO2Vsc2V7dmFyIHEscjsocj0ocT10aGlzLk4pLm9uRmFpbHVyZSk9PW51bGx8fHIuY2FsbChxLHtmYWlsdXJlVHlwZToxNH0pfX07Cmg9bmV3IGwoYSxjLGIpO3JldHVybiBofTsKdmFyIGdMPWZ1bmN0aW9uKCl7cmV0dXJuIGFsKDE4LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBkTH0pfSxjTD1mdW5jdGlvbihhKXtpbyhsbyhjby5pYS5aYiksZnVuY3Rpb24oKXtaYyhhKX0pfSxoTD1mdW5jdGlvbihhKXt2YXIgYj1hLnN1YnN0cmluZygwLGEuaW5kZXhPZigiL18vc2VydmljZV93b3JrZXIiKSk7cmV0dXJuIiYxcD0xIisoYj8iJnBhdGg9IitlbmNvZGVVUklDb21wb25lbnQoYik6IiIpfSxpTD1mdW5jdGlvbihhKXt2YXIgYj1BLmxvY2F0aW9uLm9yaWdpbjtpZighYilyZXR1cm4gbnVsbDsoTSg0MzIpP1dqKCk6V2ooKSYmIWEpJiYoYT0iIitiK1hqKCkrIi9fL3NlcnZpY2Vfd29ya2VyIik7dmFyIGM9YSxkLGU9TGYoMTEpO2U9TGYoMTApO2Q9ZTtjPyhjLmNoYXJBdChjLmxlbmd0aC0xKSE9PSIvIiYmCihjKz0iLyIpLGE9YytkKTphPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9zdGF0aWMvc2VydmljZV93b3JrZXIvIitkKyIvIjt2YXIgZjt0cnl7Zj1uZXcgVVJMKGEpfWNhdGNoKGcpe3JldHVybiBudWxsfXJldHVybiBmLnByb3RvY29sIT09Imh0dHBzOiI/bnVsbDpmfSxqTD1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5PaCk7cmV0dXJuIGImJmJbYV19LGtMPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dGhpcy5LPWdMKCk7dGhpcy5aPXRoaXMuUj0hMTt0aGlzLmZhPW51bGw7dGhpcy5pbml0VGltZT1NYXRoLnJvdW5kKE5iKCkpO3RoaXMuSD0xNTt0aGlzLk49dGhpcy5GcihhKTtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmluaXRpYWxpemUoKX0sMUUzKTtiZChmdW5jdGlvbigpe2IuenMoYSl9KX07az1rTC5wcm90b3R5cGU7ay5kZWxlZ2F0ZT1mdW5jdGlvbihhLGIsYyl7dGhpcy5nZXRTdGF0ZSgpIT09Mj8odGhpcy5LLkgodGhpcy5ILHtzdGF0ZTp0aGlzLmdldFN0YXRlKCksCkpnOnRoaXMuaW5pdFRpbWUsVWc6TWF0aC5yb3VuZChOYigpKS10aGlzLmluaXRUaW1lfSx2b2lkIDAsYS5jb21tYW5kVHlwZSksYyh7ZmFpbHVyZVR5cGU6dGhpcy5IfSkpOnRoaXMuTi5rcihhLGIsYyl9O2suZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OLmdldFN0YXRlKCkuc3RhdGV9O2suenM9ZnVuY3Rpb24oYSl7dmFyIGI9QS5sb2NhdGlvbi5vcmlnaW4sYz10aGlzLGQ9WGMoKTt0cnl7dmFyIGU9ZC5jb250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksZj1hLnBhdGhuYW1lLGc9ZltmLmxlbmd0aC0xXT09PSIvIj9hLnRvU3RyaW5nKCk6YS50b1N0cmluZygpKyIvIixoPWEub3JpZ2luIT09Imh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIj9oTChmKToiIixsO00oMTMzKSYmKGw9e3NhbmRib3g6ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMifSk7WGMoZysic3dfaWZyYW1lLmh0bWw/b3JpZ2luPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKwpoLHZvaWQgMCxsLHZvaWQgMCxlKTt2YXIgbj1mdW5jdGlvbigpe2QuY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSk7ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe2MuZmE9ZS5jb250ZW50V2luZG93O2QuY29udGVudFdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihwKXtwLm9yaWdpbj09PWEub3JpZ2luJiZjLk4ua3MocC5kYXRhKX0pO2MuaW5pdGlhbGl6ZSgpfSl9O2QuY29udGVudERvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUiP24oKTpkLmNvbnRlbnRXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtuKCl9KX1jYXRjaChwKXtkLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoZCksdGhpcy5IPTExLHRoaXMuSy5LKHZvaWQgMCx2b2lkIDAsdGhpcy5ILHAudG9TdHJpbmcoKSl9fTtrLkZyPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1mTChmdW5jdGlvbihkKXt2YXIgZTsoZT1iLmZhKT09Cm51bGx8fGUucG9zdE1lc3NhZ2UoZCxhLm9yaWdpbil9LHtxbzpmdW5jdGlvbigpe2IuUj0hMDtiLksuSyhjLmdldFN0YXRlKCksYy5zdGF0cyl9LHNvOmZ1bmN0aW9uKCl7fSxwbzpmdW5jdGlvbihkKXtiLlI/KGIuSD0oZD09bnVsbD92b2lkIDA6ZC5mYWlsdXJlVHlwZSl8fDEwLGIuSy5IKGIuSCxjLmdldFN0YXRlKCksYy5zdGF0cyx2b2lkIDAsZD09bnVsbD92b2lkIDA6ZC5kYXRhKSk6KGIuSD0oZD09bnVsbD92b2lkIDA6ZC5mYWlsdXJlVHlwZSl8fDQsYi5LLksoYy5nZXRTdGF0ZSgpLGMuc3RhdHMsYi5ILGQ9PW51bGw/dm9pZCAwOmQuZGF0YSkpfSxvbkZhaWx1cmU6ZnVuY3Rpb24oZCl7Yi5IPWQuZmFpbHVyZVR5cGU7Yi5LLkgoYi5ILGMuZ2V0U3RhdGUoKSxjLnN0YXRzLGQuY29tbWFuZCxkLmRhdGEpfX0pO3JldHVybiBjfTtrLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt0aGlzLlp8fHRoaXMuTi5pbml0KCk7dGhpcy5aPSEwfTsKdmFyIGxMPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlO2lmKChlPWpMKGEpKT09bnVsbHx8IWUuZGVsZWdhdGUpe3ZhciBmPUljKCk/MTY6NjtnTCgpLkgoZix2b2lkIDAsdm9pZCAwLGIuY29tbWFuZFR5cGUpO2Qoe2ZhaWx1cmVUeXBlOmZ9KTtyZXR1cm59akwoYSkuZGVsZWdhdGUoYixjLGQpO307CmZ1bmN0aW9uIG1MKGEsYixjLGQpe3ZhciBlPWlMKGEpO2lmKGU9PT1udWxsKXtkKCJfaXNfc3c9ZiIrKEljKCk/MTY6NikrInRlIik7cmV0dXJufXZhciBmPWI/MTowLGc9TWF0aC5yb3VuZChOYigpKSxoLGw9KGg9akwoZS5vcmlnaW4pKT09bnVsbD92b2lkIDA6aC5pbml0VGltZSxuPWw/Zy1sOnZvaWQgMCxwO00oNDMyKT9wPVdqKCk/dm9pZCAwOkEubG9jYXRpb24uaHJlZjpwPUEubG9jYXRpb24uaHJlZjtsTChlLm9yaWdpbix7Y29tbWFuZFR5cGU6MCxwYXJhbXM6e3VybDphLG1ldGhvZDpmLHRlbXBsYXRlczpjLGJvZHk6Ynx8IiIscHJvY2Vzc1Jlc3BvbnNlOiEwLHNpbmNlSW5pdDpuLGF0dHJpYnV0aW9uUmVwb3J0aW5nOiEwLHJlZmVyZXI6cCxzdHJpY3Q6TSg1ODQpfX0sZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKHEpe3ZhciByPSJfaXNfc3c9ZiIrcS5mYWlsdXJlVHlwZSx0LHU9KHQ9akwoZS5vcmlnaW4pKT09Cm51bGw/dm9pZCAwOnQuZ2V0U3RhdGUoKTt1IT09dm9pZCAwJiYocis9InMiK3UpO2Qobj9yKygidCIrbik6cisidGUiKX0pO307ZnVuY3Rpb24gbkwoYSl7aWYoSWYoNDcpJiZkSShhLCJjY2RfYWRkXzFwX2RhdGEiLCExKSYmV2ooKSl7dmFyIGI9YS5NO2lmKEljKCkmJmJnKCJpbnRlcm5hbF9zd19hbGxvd2VkIiwiIikpe3ZhciBjPWVrKGIpLGQ9V2ooKT9YaigpOnZvaWQgMCxlO2U9ZD97cGF0aDpkLGVvOiJmdWxsIn06Yz97cGF0aDpjLGVvOiJsaXRlIn06dm9pZCAwO2lmKGUpe3ZhciBmPWUuZW8sZz1uZXcgVVJMKGUucGF0aCxBLmxvY2F0aW9uLm9yaWdpbik7aWYoZy5vcmlnaW49PT1BLmxvY2F0aW9uLm9yaWdpbiYmcHkoZik9PT12b2lkIDApe3ZhciBoPW9tKGptLmJhLk9oLHt9KTtoW2ZdfHwoaFtmXT1uZXcgbnkoZykpfX19fX07ZnVuY3Rpb24gc0woKXt2YXIgYTthPWE9PT12b2lkIDA/ZG9jdW1lbnQ6YTt2YXIgYjtyZXR1cm4hKChiPWEuZmVhdHVyZVBvbGljeSk9PW51bGx8fCFiLmFsbG93ZWRGZWF0dXJlcygpLmluY2x1ZGVzKCJhdHRyaWJ1dGlvbi1yZXBvcnRpbmciKSl9O2Z1bmN0aW9uIHdMKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO3ZhciBlPUZwKCksZj1EcChlKTtpZihmLnVybClpZihkKXt2YXIgZz1jKGYudXJsKTtiIT09ZyYmVShhLEYuRC5QZSxnKX1lbHNle3ZhciBoPWYudXJsO2IhPT1oJiZVKGEsRi5ELlBlLGMoaCkpfX07CnZhciB4TD1mdW5jdGlvbihhKXtpZihhIT1udWxsKXt2YXIgYj1TdHJpbmcoYSkuc3Vic3RyaW5nKDAsNTEyKSxjPWIuaW5kZXhPZigiIyIpO3JldHVybiBjPT09LTE/YjpiLnN1YnN0cmluZygwLGMpfXJldHVybiIifSx5TD1mdW5jdGlvbigpe3ZhciBhPUIudGl0bGU7aWYoYT09PXZvaWQgMHx8YT09PSIiKXJldHVybiIiO2E9ZW5jb2RlVVJJQ29tcG9uZW50KGEpO2Zvcih2YXIgYj0yNTY7Yj4wJiZLaihhLnN1YnN0cmluZygwLGIpKT09PXZvaWQgMDspYi0tO3JldHVybiBLaihhLnN1YnN0cmluZygwLGIpKXx8IiJ9O2Z1bmN0aW9uIEFMKGEpe1YoYSxILkouSmEsITApO1YoYSxILkouRWIsTmIoKSk7VihhLEguSi55bixhLk0uZXZlbnRNZXRhZGF0YVtILkouSmFdKX07dmFyIFNMPWZ1bmN0aW9uKGEpe3ZhciBiPVhvKEYuRC5rYSk/bWooInBzY2RsIik6ImRlbmllZCI7YiE9bnVsbCYmVShhLEYuRC5qaCxiKX07dmFyIFRMPW5ldyBmdW5jdGlvbigpe3RoaXMuSD17fX07dmFyIFVMPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5NO2lmKGI9PT12b2lkIDA/MDpiKXt2YXIgZD1jLmdldE1lcmdlZFZhbHVlcyhGLkQuT2EpO1liKGQpJiZVKGEsRi5ELkxpLFliKGQpKX12YXIgZT1PbyhmRChGLkQuT2EpKSxmPWMuZ2V0TWVyZ2VkVmFsdWVzKEYuRC5PYSwxLGUpLGc9Yy5nZXRNZXJnZWRWYWx1ZXMoRi5ELk9hLDIpLGg9WWIobmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxmLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sVEwuSCkpLCIuIiksbD1ZYihnLCIuIik7aCYmVShhLEYuRC5YYyxoKTtsJiZVKGEsRi5ELlZjLGwpfTt2YXIgVkw9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi50cSk7YiYmVShhLEYuRC5JbCxiKX07ZnVuY3Rpb24gV0woYSl7dmFyIGI9S0IoITEpO2lmKGIhPW51bGwmJmIuc3RhdHVzKXt2YXIgYz17Z3RiOmIuc3RhdHVzfTtiLmRlbGF5JiYoYy5ndGJkPWIuZGVsYXkpO2EubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSxjKX19O3ZhciBYTD1mdW5jdGlvbihhKXt6bSgpPT09IlVTLUNPIiYmVShhLEYuRC5MZSwxKX07dmFyIFlMPXtSYTp7Q2s6MSx6bjoyLEhuOjMsSW46NCxKbjo1LHduOjZ9fTtZTC5SYVtZTC5SYS5Da109IkFET0JFX0NPTU1FUkNFIjtZTC5SYVtZTC5SYS56bl09IlNRVUFSRVNQQUNFIjtZTC5SYVtZTC5SYS5Ibl09IldPT19DT01NRVJDRSI7WUwuUmFbWUwuUmEuSW5dPSJXT09fQ09NTUVSQ0VfTEVHQUNZIjtZTC5SYVtZTC5SYS5Kbl09IldPUkRfUFJFU1MiO1lMLlJhW1lMLlJhLnduXT0iU0hPUElGWSI7ZnVuY3Rpb24gWkwoYSl7dmFyIGI9QTtyZXR1cm4gS2ooYi5lc2NhcGUoYi5hdG9iKGEpKSl9CmZ1bmN0aW9uICRMKCl7dHJ5e2lmKCFNKDQ5OCkmJiFNKDQyNSkpcmV0dXJuW107dmFyIGE9bm0oam0uYmEubG4pO2lmKEFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGE7dmFyIGI9W10sYzthOnt0cnl7Yz0hIUIucXVlcnlTZWxlY3Rvcignc2NyaXB0W2RhdGEtcmVxdWlyZW1vZHVsZV49Im1hZ2UvIl0nKTticmVhayBhfWNhdGNoKHkpe31jPSExfWMmJmIucHVzaChZTC5SYS5Dayk7dmFyIGQ7YTp7dHJ5e3ZhciBlPVpMKCJZWE56WlhSekxuTnhkV0Z5WlhOd1lXTmxMbU52YlM4PSIpO2Q9ZT8hIUIucXVlcnlTZWxlY3Rvcignc2NyaXB0W3NyY149Ii8vJytlKyciXScpOiExO2JyZWFrIGF9Y2F0Y2goeSl7fWQ9ITF9ZCYmYi5wdXNoKFlMLlJhLnpuKTt2YXIgZjthOntpZihNKDQyNSkpdHJ5e3ZhciBnPVpMKCJjMmh2Y0dsbWVTNWpiMjA9IiksaD1aTCgiYzJodmNHbG1lV05rYmk1amIyMD0iKTtmPWcmJmg/ISFCLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmMqPSJjZG4uJytnKyciXSxtZXRhW3Byb3BlcnR5PSJvZzppbWFnZSJdW2NvbnRlbnQqPSJjZG4uJysKKGcrJyJdLGxpbmtbcmVsPSJwcmVjb25uZWN0Il1baHJlZio9ImNkbi4nKSsoZysnIl0sbGlua1tyZWw9InByZWNvbm5lY3QiXVtocmVmKj0iZm9udHMuJykrKGgrJyJdLGxpbmtbcmVsPSJwcmVjb25uZWN0Il1baHJlZio9Iml0ZXJhYmxlLXNob3BpZnkiXSxsaW5rW3JlbD0icHJlY29ubmVjdCJdW2hyZWYqPSJ2LicpKyhnKyciXScpKTohMTticmVhayBhfWNhdGNoKHkpe31mPSExfWYmJmIucHVzaChZTC5SYS53bik7dmFyIGw7YTp7dHJ5e2w9ISFCLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmMqPSJ3b29jb21tZXJjZSJdLGxpbmtbaHJlZio9Indvb2NvbW1lcmNlIl0sW2NsYXNzfD0id29vY29tbWVyY2UiXScpO2JyZWFrIGF9Y2F0Y2goeSl7fWw9ITF9bCYmYi5wdXNoKFlMLlJhLkluKTt2YXIgbjthOnt0cnl7dmFyIHAscT0oKHA9Qi5sb2NhdGlvbik9PW51bGw/dm9pZCAwOnAuaG9zdG5hbWUpfHwiIixyLHQ9KChyPUIubG9jYXRpb24pPT1udWxsP3ZvaWQgMDpyLm9yaWdpbil8fAoiIix1PVpMKCJMbmR2Y21Sd2NtVnpjeTVqYjIwPSIpLHY9WkwoIkx5OXpMbmN1YjNKbiIpO249dSYmdj9UYihxLHUpfHwhIUIucXVlcnlTZWxlY3RvcignW3NyY149IicrdCsnL3dwLWNvbnRlbnQiXSxtZXRhW25hbWU9ImdlbmVyYXRvciJdW2NvbnRlbnRePSJXb3JkUHJlc3MgIl0sbGlua1tyZWw9ImRucy1wcmVmZXRjaCJdW2hyZWY9IicrKHYrJyJdJykpOiExO2JyZWFrIGF9Y2F0Y2goeSl7fW49ITF9biYmYi5wdXNoKFlMLlJhLkpuKTt2YXIgeDthOnt0cnl7eD0hIUIucXVlcnlTZWxlY3RvcignW2NsYXNzKj0id29vY29tbWVyY2UiXSxtZXRhW25hbWU9ImdlbmVyYXRvciJdW2NvbnRlbnRePSJXb29Db21tZXJjZSAiXScpO2JyZWFrIGF9Y2F0Y2goeSl7fXg9ITF9eCYmYi5wdXNoKFlMLlJhLkhuKTtVQigpJiZtbShqbS5iYS5sbixiKTtyZXR1cm4gYn1jYXRjaCh5KXt9cmV0dXJuW119O2Z1bmN0aW9uIHdNKGEpe2lmKE0oNDI1KSYmUShhLEguSi5GYykpe3ZhciBiPU5mKDY3LDE1MDApLGM9YS5tZXJnZUhpdERhdGFGb3JLZXksZD1GLkQuVGEsZT17fTtjLmNhbGwoYSxkLGUpfX07dmFyIHhNPSJwbGF0Zm9ybSBwbGF0Zm9ybVZlcnNpb24gYXJjaGl0ZWN0dXJlIG1vZGVsIHVhRnVsbFZlcnNpb24gYml0bmVzcyBmdWxsVmVyc2lvbkxpc3Qgd293NjQiLnNwbGl0KCIgIik7ZnVuY3Rpb24geU0oYSl7dmFyIGI7cmV0dXJuKGI9YS5nb29nbGVfdGFnX2RhdGEpIT1udWxsP2I6YS5nb29nbGVfdGFnX2RhdGE9e319ZnVuY3Rpb24gek0oYSl7dmFyIGIsYztyZXR1cm4oYz0oYj1hLmdvb2dsZV90YWdfZGF0YSk9PW51bGw/dm9pZCAwOmIudWFjaF9wcm9taXNlKSE9bnVsbD9jOm51bGx9ZnVuY3Rpb24gQU0oYSl7dmFyIGIsYztyZXR1cm4gdHlwZW9mKChiPWEubmF2aWdhdG9yKT09bnVsbD92b2lkIDA6KGM9Yi51c2VyQWdlbnREYXRhKT09bnVsbD92b2lkIDA6Yy5nZXRIaWdoRW50cm9weVZhbHVlcyk9PT0iZnVuY3Rpb24ifQpmdW5jdGlvbiBCTShhKXtpZighQU0oYSkpcmV0dXJuIG51bGw7dmFyIGI9eU0oYSk7aWYoYi51YWNoX3Byb21pc2UpcmV0dXJuIGIudWFjaF9wcm9taXNlO3ZhciBjPWEubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuZ2V0SGlnaEVudHJvcHlWYWx1ZXMoeE0pLnRoZW4oZnVuY3Rpb24oZCl7Yi51YWNoIT1udWxsfHwoYi51YWNoPWQpO3JldHVybiBkfSk7cmV0dXJuIGIudWFjaF9wcm9taXNlPWN9Owp2YXIgQ009ZnVuY3Rpb24oKXt0aGlzLndpbmRvdz1BO3RoaXMuTj1OYn07Q00ucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtpZihBTSh0aGlzLndpbmRvdykmJih0aGlzLlo9dGhpcy5OKCksIXpNKHRoaXMud2luZG93KSkpe3ZhciBhPUJNKHRoaXMud2luZG93KTthJiZhLnRoZW4oZnVuY3Rpb24oKXtQKDk1KX0pLmNhdGNoKGZ1bmN0aW9uKCl7UCg5Nil9KX19O0NNLnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy53aW5kb3cuZ29vZ2xlX3RhZ19kYXRhLGI7aWYoYSE9bnVsbCYmYS51YWNoKXt2YXIgYz1hLnVhY2gsZD1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGMpO2MuZnVsbFZlcnNpb25MaXN0JiYoZC5mdWxsVmVyc2lvbkxpc3Q9Yy5mdWxsVmVyc2lvbkxpc3Quc2xpY2UoMCkpO2I9ZH1lbHNlIGI9bnVsbDtyZXR1cm4gYn07Q00ucHJvdG90eXBlLmZhPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz10aGlzLGQ9ZnVuY3Rpb24oaCxsKXt0cnl7YShoLGwpfWNhdGNoKG4pe319LAplPXRoaXMuSCgpO2lmKGUpZChlKTtlbHNle3ZhciBmPXpNKHRoaXMud2luZG93KTtpZihmKXtiPU1hdGgubWluKE1hdGgubWF4KGlzRmluaXRlKGIpP2I6MCwwKSwxRTMpO3ZhciBnPXRoaXMud2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLktnfHwoZC5LZz0hMCxQKDEwNiksZChudWxsLEVycm9yKCJUaW1lb3V0IikpKX0sYik7Zi50aGVuKGZ1bmN0aW9uKGgpe2QuS2d8fChkLktnPSEwLFAoMTA0KSxjLndpbmRvdy5jbGVhclRpbWVvdXQoZyksZChoKSl9KS5jYXRjaChmdW5jdGlvbihoKXtkLktnfHwoZC5LZz0hMCxQKDEwNSksYy53aW5kb3cuY2xlYXJUaW1lb3V0KGcpLGQobnVsbCxoKSl9KX1lbHNlIGQobnVsbCl9fTtDTS5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlohPT12b2lkIDB9O3ZhciBETT1mdW5jdGlvbigpe3ZhciBhO2E9YT09PXZvaWQgMD9BOmE7cmV0dXJuIEFNKGEpfSxFTT1mdW5jdGlvbihhKXt2YXIgYj17fTtiW0YuRC5jZ109YS5hcmNoaXRlY3R1cmU7CmJbRi5ELmRnXT1hLmJpdG5lc3M7YS5mdWxsVmVyc2lvbkxpc3QmJihiW0YuRC5lZ109YS5mdWxsVmVyc2lvbkxpc3QubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoYy5icmFuZHx8IiIpKyI7IitlbmNvZGVVUklDb21wb25lbnQoYy52ZXJzaW9ufHwiIil9KS5qb2luKCJ8IikpO2JbRi5ELmZnXT1hLm1vYmlsZT8iMSI6IjAiO2JbRi5ELmdnXT1hLm1vZGVsO2JbRi5ELmhnXT1hLnBsYXRmb3JtO2JbRi5ELmlnXT1hLnBsYXRmb3JtVmVyc2lvbjtiW0YuRC5qZ109YS53b3c2ND8iMSI6IjAiO3JldHVybiBifSxGTT1uZXcgQ007dmFyIEdNPWZ1bmN0aW9uKGEpe2lmKCFETSgpKVAoODcpO2Vsc2UgaWYoRk0uSygpKXtQKDg1KTt2YXIgYj1GTS5IKCk7aWYoYil7aWYoYilmb3IodmFyIGM9RU0oYiksZD1tKE9iamVjdC5rZXlzKGMpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtVKGEsZixjW2ZdKX19ZWxzZSBQKDg2KX19O2Z1bmN0aW9uIEhNKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dmFyIGM9UShhLEguSi5zZyksZD1kSShhLCJjdXN0b21fZXZlbnRfYWNjZXB0X3J1bGVzIiwhMSkmJiFiO2lmKGMpe3ZhciBlPWMuaW5kZXhPZihhLnRhcmdldC5kZXN0aW5hdGlvbklkKT49MCxmPSEwO1EoYSxILkouQ2MpJiYoZj1RKGEsSC5KLk5iKT09PXZrKCkpO2UmJmY/VihhLEguSi5raSwhMCk6KFYoYSxILkoua2ksITEpLGR8fChhLmlzQWJvcnRlZD0hMCkpO2lmKGEuY2FuQmVBY2NlcHRlZCgpKXt2YXIgZz11aygpLmluZGV4T2YoYS50YXJnZXQuZGVzdGluYXRpb25JZCk+PTAsaD0hMTtpZighZyl7dmFyIGwsbj0obD1uayhhLnRhcmdldC5kZXN0aW5hdGlvbklkKSk9PW51bGw/dm9pZCAwOmwuY2Fub25pY2FsQ29udGFpbmVySWQ7biYmKGg9dmsoKT09PW4pfWd8fGg/UShhLEguSi5raSkmJmEuYWNjZXB0KCk6YS5pc0Fib3J0ZWQ9ITB9ZWxzZSBhLmlzQWJvcnRlZD0hMH19O3ZhciBJTT1mdW5jdGlvbihhKXt2YXIgYj1PKGEuTSxGLkQuWmMpLGM9TyhhLk0sRi5ELlljKTtiJiYhYz8oYS5ldmVudE5hbWUhPT1GLkQud2EmJmEuZXZlbnROYW1lIT09Ri5ELnlmJiZQKDEzMSksYS5pc0Fib3J0ZWQ9ITApOiFiJiZjJiYoUCgxMzIpLGEuaXNBYm9ydGVkPSEwKX07dmFyIEpNPWZ1bmN0aW9uKGEpe2lmKGEuZXZlbnROYW1lPT09Ri5ELndhKXt2YXIgYj1JZigxMSksYz1RKGEsSC5KLkhxKTshKCFNKDU1MCkmJmJ8fGMpfHxhLnRhcmdldC5KYygpfHxZRygiaWRjX2NvbmZpZ19wdiIsYS50YXJnZXQuZGVzdGluYXRpb25JZCl8fChhLmlzQWJvcnRlZD0hMCl9fTt2YXIgTE09ZnVuY3Rpb24oYSxiKXtLTS5OKGEsYil9LE1NPWZ1bmN0aW9uKCl7dGhpcy5IPXt9fTtNTS5wcm90b3R5cGUuTj1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuSFthXTtjfHwoYz10aGlzLkhbYV09W10pO2MucHVzaChiKX07TU0ucHJvdG90eXBlLks9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5IW2EudGFyZ2V0LmRlc3RpbmF0aW9uSWRdO2lmKCFhLmlzQWJvcnRlZCYmYilmb3IodmFyIGM9ZkkoYSksZD0wO2Q8Yi5sZW5ndGg7KytkKXt0cnl7YltkXShjKX1jYXRjaChlKXthLmlzQWJvcnRlZD0hMH1pZihhLmlzQWJvcnRlZClicmVha319O3ZhciBLTT1uZXcgTU07dmFyIE5NPWZ1bmN0aW9uKGEpe0tNLksoYSk7fTt2YXIgT009ZnVuY3Rpb24oYSl7YSYmKEFwKDQ5NSxhKSxBcCg1NjcsYSksQXAoNDUwLGEpLEFwKDQ0MyxhKSxBcCg1ODcsYSksQXAoNTc2LGEpLEFwKDU3MCxhKSxBcCg1ODEsYSksQXAoNjAyLGEpKX0sUE09ZnVuY3Rpb24oYSl7aWYoUShhLEguSi53ZikmJlhvKGZwKSl7dmFyIGI9UShhLEguSi5HYSksYz1RKGEsSC5KLmRhKSE9PVguVi51YiYmUShhLEguSi5kYSkhPT1YLlYuT2ImJlEoYSxILkouZGEpIT09WC5WLkZiJiZhLmV2ZW50TmFtZSE9PUYuRC5KYjtIdihiLGMpO3ZhciBkPUR2W0d2KGIucHJlZml4KV07T00oZCk7VShhLEYuRC5FZCxkKX19O2Z1bmN0aW9uIFFNKCl7cmV0dXJuIGtqKCJkZWR1cGVfZ2NsaWQiLGZ1bmN0aW9uKCl7cmV0dXJuIEF2KCl9KX07dmFyIFJNPS9eKHd3d1wuKT9nb29nbGUoXC5jb20/KT8oXC5bYS16XXsyfXQ/KT8kLyxTTT0vXnd3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSQvO2Z1bmN0aW9uIFRNKGEpe2F8fChhPVVNKCkpO3JldHVybiBhLk50PyExOmEubnN8fGEucXN8fGEudnN8fGEucnN8fGEuRGd8fGEuVGh8fGEuVHJ8fGEuVmg9PT0iYXcuZHMifHxNKDIzNSkmJmEuVmg9PT0iYXcuZHYifHxhLllyPyEwOiExfQpmdW5jdGlvbiBVTSgpe3ZhciBhPXt9LGI9VXEoITApO2EuTnQ9ISFiLl91cDt2YXIgYz1lcygpLGQ9YXQoKTthLm5zPWMuYXchPT12b2lkIDA7YS5xcz1jLmRjIT09dm9pZCAwO2EudnM9Yy53YnJhaWQhPT12b2lkIDA7YS5ycz1jLmdicmFpZCE9PXZvaWQgMDthLlZoPXR5cGVvZiBjLmdjbHNyYz09PSJzdHJpbmciP2MuZ2Nsc3JjOnZvaWQgMDthLkRnPWQuRGc7YS5UaD1kLlRoO3ZhciBlPUIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIjthLllyPVJNLnRlc3QoZSk7YS5Ucj1TTS50ZXN0KGUpO3JldHVybiBhfTtmdW5jdGlvbiBWTSgpe3ZhciBhPUEuX191c3BhcGk7aWYoeWIoYSkpe3ZhciBiPSIiO3RyeXthKCJnZXRVU1BEYXRhIiwxLGZ1bmN0aW9uKGMsZCl7aWYoZCYmYyl7dmFyIGU9Yy51c3BTdHJpbmc7ZSYmUmVnRXhwKCJeW1xcZGEtekEtWi1dezEsMjB9JCIpLnRlc3QoZSkmJihiPWUpfX0pfWNhdGNoKGMpe31yZXR1cm4gYn19Owp2YXIgV009ZnVuY3Rpb24oYSl7dmFyIGI9WG8oZnApO1YoYSxILkouWWUsTyhhLk0sRi5ELm1iKSE9bnVsbCYmTyhhLk0sRi5ELm1iKSE9PSExJiYhYik7dmFyIGM9UShhLEguSi5kaiksZD1PKGEuTSxGLkQudWMpIT09ITEsZT1MSyhhKTtkfHxVKGEsRi5ELkhkLCIxIik7dmFyIGY9SHIoZS5wcmVmaXgpLGc9UShhLEguSi5zYSl8fFEoYSxILkoudWcpfHxRKGEsSC5KLldlKTtjfHxnfHxVKGEsIl8mYXB2YyIsIjAiKTthLk0uaXNHdG1FdmVudCYmVShhLEYuRC5JbCwiZyIpO1UoYSxGLkQuRWQpO1UoYSxGLkQuTWIpO2lmKGImJihVKGEsRi5ELk1iLHlMKCkpLGQpKXtIdihlKTt2YXIgaD1EdltHdihlLnByZWZpeCldO1UoYSxGLkQuRWQsaCk7T00oaCl9aWYoYS5ldmVudE5hbWU9PT1GLkQud2EmJiFnKXt2YXIgbD1PKGEuTSxGLkQuemMpLG49TyhhLk0sRi5ELkRiKXx8e307UEsoe1RuOmQsbW86bixRbzpsLFVuOmV9KTshYyYmWXMoZikmJihWKGEsSC5KLnZkLCEwKSxVKGEsIl8mYXB2YyIsCiIxIikpfWlmKGMpYS5pc0Fib3J0ZWQ9ITA7ZWxzZXthLnRhcmdldC5kZXN0aW5hdGlvbklkJiZVKGEsRi5ELlFlLGEudGFyZ2V0LmRlc3RpbmF0aW9uSWQpO1UoYSxGLkQuVWIsYS5ldmVudE5hbWUpO2EuZXZlbnROYW1lPT09Ri5ELndhJiZVKGEsRi5ELlViLEYuRC5zYyk7aWYoUShhLEguSi5zYSkpVShhLEYuRC5VYixGLkQud3ApLFUoYSxGLkQuc2EsIjEiKTtlbHNlIGlmKFEoYSxILkoudWcpKVUoYSxGLkQuVWIsRi5ELkhwKTtlbHNlIGlmKFEoYSxILkouV2UpKVUoYSxGLkQuVWIsRi5ELkVwKTtlbHNle3ZhciBwPWVzKCk7VShhLEYuRC5EZCxwLmdjbGlkKTtVKGEsRi5ELktkLHAuZGNsaWQpO1UoYSxGLkQuQWwscC5nY2xzcmMpO2lmKCFSKGEsRi5ELkRkKSYmIVIoYSxGLkQuS2QpfHxNKDQyMSkpVShhLEYuRC5FZSxwLndicmFpZCksVShhLEYuRC5CZixwLmdicmFpZCk7dmFyIHE9TSg1ODkpLHI9ZnVuY3Rpb24oZmEpe3JldHVybiBmYS5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpfSwKdD0hIU8oYS5NLEYuRC56YSksdT1xP3Q/ZnVuY3Rpb24oZmEpe3JldHVybiB4TChyKGZhKSl9OmZ1bmN0aW9uKGZhKXtyZXR1cm4geEwoZmEucmVwbGFjZSgvIy4qJC8sIiIpKX06cix2PWJ0KHUpO1UoYSxGLkQuemEsdik7dmFyIHg9ISFPKGEuTSxGLkQuVWEpLHk9Qi5yZWZlcnJlcjtVKGEsRi5ELlVhLHE/eD9yKHkpOnkucmVwbGFjZSgvIy4qJC8sIiIpOkIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIik7d0woYSx2LHUsITApO2lmKEtjKXt2YXIgej1MaihSaihLYyksImhvc3QiKTt6JiZVKGEsRi5ELmJtLHopfWlmKCFRKGEsSC5KLldlKSl7dmFyIEM9YXQoKTtVKGEsRi5ELnpmLEMuRGcpO1UoYSxGLkQuQWYsQy5Tcil9dmFyIEQ9VU0oKTtUTShEKSYmVShhLEYuRC5QZCwiMSIpO1UoYSxGLkQuRGwsUU0oKSk7VXEoITEpLl91cD09PSIxIiYmVShhLEYuRC5RbCwiMSIpfXdvLkg9ITA7VShhLEYuRC5TYik7VShhLEYuRC5sYik7aWYoTSg0MjEpKXt2YXIgST1GcihlKTsKSS5sZW5ndGg+MCYmVShhLEYuRC5TYixJLmpvaW4oIi4iKSk7dmFyIEc9RHIoZisiX2F3Iik7Ry5sZW5ndGg+MCYmVShhLEYuRC5sYixHLmpvaW4oIi4iKSl9ZWxzZSBpZighUihhLEYuRC5EZCkmJiFSKGEsRi5ELktkKSYmV3MoZikpe3ZhciBOPUZyKGUpO04ubGVuZ3RoPjAmJlUoYSxGLkQuU2IsTi5qb2luKCIuIikpfWVsc2UgaWYoIVIoYSxGLkQuRWUpJiZiKXt2YXIgUz1EcihmKyJfYXciKTtTLmxlbmd0aD4wJiZVKGEsRi5ELmxiLFMuam9pbigiLiIpKX1VKGEsRi5ELlVsLHFkKCkpO2EuTS5pc0d0bUV2ZW50JiYoYS5NLkVhW0YuRC5SY109ZkQoRi5ELlJjKSk7U3QoYS5NKT9VKGEsRi5ELmRlLCExKTpVKGEsRi5ELmRlLCEwKTtWKGEsSC5KLkJrLCEwKTt2YXIgVz1WTSgpO1chPT12b2lkIDAmJlUoYSxGLkQua2csV3x8ImVycm9yIik7dmFyIGVhPUx0KCk7ZWEmJlUoYSxGLkQuS2UsZWEpO3ZhciBqYT1LdCgpO2phJiZVKGEsRi5ELk9lLGphKTtRKGEsSC5KLlBjKXx8VihhLEguSi5KYSwKITEpfX07CnZhciBYTT1mdW5jdGlvbihhLGIsYyl7Yj1iPT09dm9pZCAwPyEwOmI7Yz1jPT09dm9pZCAwP3t9OmM7aWYoYS5ldmVudE5hbWU9PT1GLkQuSmImJiFhLk0uaXNHdG1FdmVudCl7dmFyIGQ9TyhhLk0sRi5ELlNmKTtpZih0eXBlb2YgZD09PSJmdW5jdGlvbiImJiFRKGEsSC5KLnNhKSl7dmFyIGU9U3RyaW5nKE8oYS5NLEYuRC5UZikpLGY9ZTtjW2VdJiYoZj1jW2VdKTt2YXIgZz1SKGEsZil8fE8oYS5NLGUpO2lmKGIpe2lmKHR5cGVvZiBkPT09ImZ1bmN0aW9uIilpZihlPT09Ri5ELmxiJiZnIT09dm9pZCAwKXt2YXIgaD1nLnNwbGl0KCIuIik7aC5sZW5ndGg9PT0wP2Qodm9pZCAwKTpoLmxlbmd0aD09PTE/ZChoWzBdKTpkKGgpfWVsc2UgaWYoZT09PUYuRC5xcSYmTSgyNTgpKXt2YXIgbCxuPXt9O1hvKGZwKSYmKG4uYXVpZD1SKGEsRi5ELkVkKSk7dmFyIHA9VU0oKTtpZihUTShwKSluLmdhZF9zb3VyY2U9cC5EZyxuLmdhZF9jYW1wYWlnbmlkPXAuVGgsbi5zZXNzaW9uX3N0YXJ0X3RpbWVfdXNlYz0KKERhdGUubm93KCkqMUUzKS50b1N0cmluZygpLG4ubGFuZGluZ19wYWdlX3VybD1BLmxvY2F0aW9uLmhyZWYsbi5sYW5kaW5nX3BhZ2VfcmVmZXJyZXI9Qi5yZWZlcnJlcixuLmxhbmRpbmdfcGFnZV91c2VyX2FnZW50PUhjLnVzZXJBZ2VudDtlbHNle3ZhciBxPVEoYSxILkouR2EpO24uZ2FkX3NvdXJjZT1ScyhxLnByZWZpeCkuRWd9bD1idG9hKEpTT04uc3RyaW5naWZ5KG4pKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpO2QobCl9ZWxzZSBkKGcpfWVsc2UgZChnKX1hLmlzQWJvcnRlZD0hMH19O3ZhciBZTT1mdW5jdGlvbihhKXtpZihNKDQyNSkmJlEoYSxILkouRmMpKXtmb3IodmFyIGI9WyJfJmFwdmMiLCJ0aWRzIixGLkQuVGEsRi5ELlFpLEYuRC5VYixGLkQuUWUsRi5ELlZjLEYuRC5YY10sYz1tKGV1KGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTtpZihlPT09Ri5ELnphKXt2YXIgZj1SKGEsZSk7ZiYmKGY9Zi5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpKTtVKGEsZSxmKX1lbHNlIGIuaW5jbHVkZXMoZSl8fFUoYSxlKX1WKGEsSC5KLlhnKTtWKGEsSC5KLmhkKX19O2Z1bmN0aW9uIFpNKGEpe2lmKGZuLkspaWYod28uSD0hMCxhLmV2ZW50TmFtZT09PUYuRC53YSl6byhhLk0sYS50YXJnZXQuaWQpO2Vsc2V7UShhLEguSi5QYyl8fCh3by5LW2EudGFyZ2V0LmlkXT0hMCk7dmFyIGI9UShhLEguSi5OYik7WkIoYil9fTt2YXIgJE09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1iPT09dm9pZCAwP3t9OmI7Yz1mLlNqPT09dm9pZCAwPyExOmYuU2o7ZD1mLk1qPT09dm9pZCAwPyExOmYuTWo7ZT1mLmtvPT09dm9pZCAwPyExOmYua287ZHx8KGEuTS5pc0d0bUV2ZW50P1EoYSxILkouZGEpIT09WC5WLnhhJiZhLmV2ZW50TmFtZSYmVShhLEYuRC5VYixhLmV2ZW50TmFtZSk6VShhLEYuRC5VYixhLmV2ZW50TmFtZSkpO0diKGEuTS5FYSxmdW5jdGlvbihnLGgpe016W2ddfHxjJiZCb1tnXXx8ZSYmT3pbZ118fFUoYSxnLGgpfSl9O3ZhciBhTj1mdW5jdGlvbihhKXtmb3IodmFyIGI9bShbRi5ELlBhLEYuRC5RYSxGLkQuZWIsRi5ELk5lLEYuRC5HZSxGLkQuVWQsRi5ELkllLEYuRC5UYyxGLkQuTGQsRi5ELmtoLEYuRC5GZixGLkQuRGYsRi5ELkVmLEYuRC5DZixGLkQud2ksRi5ELlNkLEYuRC5RZCxGLkQuUmQsRi5ELnRiXSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYS5jb3B5VG9IaXREYXRhKGMudmFsdWUpfTtmdW5jdGlvbiBiTihhLGIpe3JldHVybiBrcigiZ3NpZF9kYyIse3ZhbHVlOntqb2luSWQ6YSxsYXN0Sm9pbmVkVGltZU1zOmJ9LGV4cGlyZXM6YiszRTV9KT09PTA/ITA6ITF9Owp2YXIgY049ZnVuY3Rpb24oYSl7aWYoWG8oZnApKXt2YXIgYjthOnt2YXIgYz1ucigiZ3NpZF9kYyIpO2lmKGMuZXJyb3I9PT0wJiZjLnZhbHVlJiZ0eXBlb2YgYy52YWx1ZT09PSJvYmplY3QiKXt2YXIgZD1jLnZhbHVlO2lmKGQudmFsdWUmJnR5cGVvZiBkLnZhbHVlPT09Im9iamVjdCIpe3ZhciBlPWQudmFsdWU7aWYoZS5qb2luSWQmJmUubGFzdEpvaW5lZFRpbWVNcyYmdHlwZW9mIGUuam9pbklkPT09InN0cmluZyImJnR5cGVvZiBlLmxhc3RKb2luZWRUaW1lTXM9PT0ibnVtYmVyIil7Yj1lO2JyZWFrIGF9fX1iPXZvaWQgMH12YXIgZj1iLGc9Zj09bnVsbD92b2lkIDA6Zi5qb2luSWQsaD1OYigpO2lmKCFmfHwhZ3x8Zi5sYXN0Sm9pbmVkVGltZU1zPGgtM0U1KXt2YXIgbD1jYygpO2c9bCYmYk4obCxOYigpKT9sOnZvaWQgMDtnJiZWKGEsSC5KLmhkLCEwKX1lbHNlIGcmJmYubGFzdEpvaW5lZFRpbWVNczxoLTZFNCYmYk4oZi5qb2luSWQsaCkmJlYoYSxILkouaGQsITApO2cmJk0oNDc0KSYmClYoYSxILkouWGcsZyl9fTt2YXIgZE49ZnVuY3Rpb24oYSl7VihhLEguSi53ZixPKGEuTSxGLkQudWMpIT09ITEpO1YoYSxILkouR2EsTEsoYSkpO1YoYSxILkouWGUsTyhhLk0sRi5ELm1iKSE9bnVsbCYmTyhhLk0sRi5ELm1iKSE9PSExKTtWKGEsSC5KLndkLFN0KGEuTSkpfTt2YXIgZU49e3pxOntVdDoiY2QiLGZwOiJjZSIsVnQ6ImNmIixXdDoiY3BmIixYdDoiY3UifX07dmFyIGZOPWZ1bmN0aW9uKGEpe3ZhciBiPWVOLnpxLmZwLGM9TyhhLk0sRi5ELkNiKTtSKGEsRi5ELmVkKXx8VShhLEYuRC5lZCx7fSk7UihhLEYuRC5lZClbYl09Y307ZnVuY3Rpb24gZ04oYSxiKXtiPWI9PT12b2lkIDA/ITA6Yjt2YXIgYz13YihyYi5HVEFHX0VWRU5UX0ZFQVRVUkVfQ0hBTk5FTHx8W10pO2MmJihVKGEsRi5ELlZmLGMpLGImJnViKCkpfTt2YXIgaE49ZnVuY3Rpb24oYSl7dmFyIGI9YS5NLmdldE1lcmdlZFZhbHVlcyhGLkQuVGEpO2ImJmEubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSxiKX07dmFyIGlOPWZ1bmN0aW9uKGEpe3ZhciBiPU9wKCExKTtVKGEsRi5ELk1lLGIpfTt2YXIgak49ZnVuY3Rpb24oYSl7UShhLEguSi53ZCk/VShhLEYuRC5kZSwiMCIpOlUoYSxGLkQuZGUsIjEiKX07dmFyIGtOPWZ1bmN0aW9uKGEsYil7aWYoYj09PXZvaWQgMHx8Yil7dmFyIGM9Vk0oKTtjIT09dm9pZCAwJiZVKGEsRi5ELmtnLGN8fCJlcnJvciIpfXZhciBkPUx0KCk7ZCYmVShhLEYuRC5LZSxkKTt2YXIgZT1LdCgpO2UmJlUoYSxGLkQuT2UsZSl9O3ZhciBsTj1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5raiksYz1FKDUpO2ImJmJbY10mJmEubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSx7cmV0cnk6IjEifSl9O3ZhciBtTj1mdW5jdGlvbihhKXtVcSghMSkuX3VwPT09IjEiJiZVKGEsRi5ELktpLCIxIil9Owp2YXIgbk49ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPT12b2lkIDApcmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5tYXAoZnVuY3Rpb24oKXtyZXR1cm57bW9kZToibSIsbG9jYXRpb246YixzZWxlY3RvcjpjfX0pOnttb2RlOiJtIixsb2NhdGlvbjpiLHNlbGVjdG9yOmN9fSxvTj1mdW5jdGlvbihhLGIsYyxkKXtpZighYylyZXR1cm4hMTtmb3IodmFyIGU9U3RyaW5nKGMudmFsdWUpLGYsZz12b2lkIDAsaD1lLnJlcGxhY2UoL1xbIj8nPy9nLCIuIikucmVwbGFjZSgvIj8nP1xdL2csIiIpLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHUpe3JldHVybiB1LnRyaW0oKX0pLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdSYmIVNiKHUsIiMiKSYmIVNiKHUsIi4iKX0pLGw9MDtsPGgubGVuZ3RoO2wrKyl7dmFyIG49aFtsXTtpZihTYihuLCJkYXRhTGF5ZXIuIikpZj11QShuLnN1YnN0cmluZygxMCkpLGc9bk4oZiwiZCIsbik7ZWxzZXt2YXIgcD1uLnNwbGl0KCIuIik7Zj1BW3Auc2hpZnQoKV07CmZvcih2YXIgcT0wO3E8cC5sZW5ndGg7cSsrKWY9ZiYmZltwW3FdXTtnPW5OKGYsImoiLG4pfWlmKGYhPT12b2lkIDApYnJlYWt9aWYoZj09PXZvaWQgMCl0cnl7dmFyIHI9Qi5xdWVyeVNlbGVjdG9yQWxsKGUpO2lmKHImJnIubGVuZ3RoPjApe2Y9W107Zm9yKHZhciB0PTA7dDxyLmxlbmd0aCYmdDwoYj09PSJlbWFpbCJ8fGI9PT0icGhvbmVfbnVtYmVyIj81OjEpO3QrKylmLnB1c2goZmQoclt0XSl8fExiKHJbdF0udmFsdWUpKTtmPWYubGVuZ3RoPT09MT9mWzBdOmY7Zz1uTihmLCJjIixlKX19Y2F0Y2godSl7UCgxNDkpfXJldHVybiBmPyhhW2JdPWYsZCYmZyYmKGRbYl09ZyksITApOiExfTsKdmFyIHBOPWZ1bmN0aW9uKGEpe2lmKGRJKGEsImNjZF9hZGRfMXBfZGF0YSIsITEpJiZYbyhmcCkpe3ZhciBiPWEuTS5pYltGLkQubG1dO2lmKENkKGIpJiZiLmVuYWJsZV9jb2RlKXt2YXIgYz1PKGEuTSxGLkQuQWMpO2lmKGM9PT1udWxsKVYoYSxILkouR24sbnVsbCk7ZWxzZSBpZihiLmVuYWJsZV9jb2RlJiZDZChjKSYmKFp2KGMpLFYoYSxILkouR24sYykpLENkKGIuc2VsZWN0b3JzKSl7dmFyIGQ9SC5KLmlyLGU7dmFyIGY9Yi5zZWxlY3RvcnMsZz1NKDUyMyk7Zz1nPT09dm9pZCAwPyExOmc7aWYoZil7dmFyIGg9e30sbD0hMSxuPXt9O2w9b04oaCwiZW1haWwiLGYuZW1haWwsbil8fGw7bD1vTihoLCJwaG9uZV9udW1iZXIiLGYucGhvbmUsbil8fGw7aC5hZGRyZXNzPVtdO2Zvcih2YXIgcD1mLm5hbWVfYW5kX2FkZHJlc3N8fFtdLHE9MDtxPHAubGVuZ3RoO3ErKyl7dmFyIHI9e30sdD17fTtsPW9OKHIsImZpcnN0X25hbWUiLHBbcV0uZmlyc3RfbmFtZSx0KXx8bDtsPW9OKHIsCiJsYXN0X25hbWUiLHBbcV0ubGFzdF9uYW1lLHQpfHxsO2w9b04ociwic3RyZWV0IixwW3FdLnN0cmVldCx0KXx8bDtsPW9OKHIsImNpdHkiLHBbcV0uY2l0eSx0KXx8bDtsPW9OKHIsInJlZ2lvbiIscFtxXS5yZWdpb24sdCl8fGw7bD1vTihyLCJjb3VudHJ5IixwW3FdLmNvdW50cnksdCl8fGw7bD1vTihyLCJwb3N0YWxfY29kZSIscFtxXS5wb3N0YWxfY29kZSx0KXx8bDtoLmFkZHJlc3MucHVzaChyKTtnJiYoci5fdGFnX21ldGFkYXRhPXQpfWcmJihoLl90YWdfbWV0YWRhdGE9bik7ZT1sP2g6dm9pZCAwfWVsc2UgZT12b2lkIDA7VihhLGQsZSl9fX19O2Z1bmN0aW9uIEZPKGEsYixjLGQpe31GTy5QPSJpbnRlcm5hbC5leGVjdXRlRXZlbnRQcm9jZXNzb3IiO2Z1bmN0aW9uIEdPKGEpe3ZhciBiO3JldHVybiBVZChiLHRoaXMuVCwxKX1HTy5QPSJpbnRlcm5hbC5leGVjdXRlSmF2YXNjcmlwdFN0cmluZyI7ZnVuY3Rpb24gSE8oYSl7dmFyIGI7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBjPUE7dHJ5e2I9S2ooYy5lc2NhcGUoYy5hdG9iKGEpKSl9Y2F0Y2goZCl7cmV0dXJufXJldHVybiBifTtmdW5jdGlvbiBJTyhhKXt2YXIgYj0iIjtyZXR1cm4gYn1JTy5QPSJpbnRlcm5hbC5nZW5lcmF0ZUNsaWVudElkIjtmdW5jdGlvbiBKTyhhKXt2YXIgYj17fTtyZXR1cm4gVWQoYil9Sk8uUD0iaW50ZXJuYWwuZ2V0QWRzQ29va2llV3JpdGluZ09wdGlvbnMiO2Z1bmN0aW9uIEtPKGEsYil7dmFyIGM9ITE7cmV0dXJuIGN9S08uUD0iaW50ZXJuYWwuZ2V0QWxsb3dBZFBlcnNvbmFsaXphdGlvbiI7ZnVuY3Rpb24gTE8oKXt2YXIgYTtyZXR1cm4gYX1MTy5QPSJpbnRlcm5hbC5nZXRBbmRSZXNldEV2ZW50VXNhZ2UiO2Z1bmN0aW9uIE1PKGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7dmFyIGM7cmV0dXJuIGN9TU8uUD0iaW50ZXJuYWwuZ2V0QXVpZCI7ZnVuY3Rpb24gTk8oKXt2YXIgYT1bXTtyZXR1cm4gVWQoYSl9Tk8uUD0iaW50ZXJuYWwuZ2V0Q29udGFpbmVySWRzIjtmdW5jdGlvbiBPTygpe3ZhciBhPW5ldyBrYjtMKHRoaXMsInJlYWRfY29udGFpbmVyX2RhdGEiKSxhLnNldCgiY29udGFpbmVySWQiLGlnKSxhLnNldCgidmVyc2lvbiIsa2cpLGEuc2V0KCJlbnZpcm9ubWVudE5hbWUiLGpnKSxhLnNldCgiZGVidWdNb2RlIixsZyksYS5zZXQoInByZXZpZXdNb2RlIixtZy5QbyksYS5zZXQoImVudmlyb25tZW50TW9kZSIsbWcuS3IpLGEuc2V0KCJmaXJzdFBhcnR5U2VydmluZyIsYWsoKSksYS5zZXQoImNvbnRhaW5lclVybCIsS2MpLGEuc2V0KCJpc0dvb2dsZU9ubHlNb2RlIixJZig2MikpLGEuWmEoKTtyZXR1cm4gYX1PTy5wdWJsaWNOYW1lPSJnZXRDb250YWluZXJWZXJzaW9uIjtmdW5jdGlvbiBQTyhhLGIpe2I9Yj09PXZvaWQgMD8hMDpiO3ZhciBjO3JldHVybiBjfVBPLnB1YmxpY05hbWU9ImdldENvb2tpZVZhbHVlcyI7ZnVuY3Rpb24gUU8oKXt2YXIgYT0iIjtyZXR1cm4gYX1RTy5QPSJpbnRlcm5hbC5nZXRDb3JlUGxhdGZvcm1TZXJ2aWNlc1BhcmFtIjtmdW5jdGlvbiBSTygpe3JldHVybiB5bSgpfVJPLlA9ImludGVybmFsLmdldENvdW50cnlDb2RlIjtmdW5jdGlvbiBTTygpe3ZhciBhPVtdO2E9dGsoKTtyZXR1cm4gVWQoYSl9U08uUD0iaW50ZXJuYWwuZ2V0RGVzdGluYXRpb25JZHMiO2Z1bmN0aW9uIFRPKGEpe3ZhciBiPW5ldyBrYjtyZXR1cm4gYn1UTy5QPSJpbnRlcm5hbC5nZXREZXZlbG9wZXJJZHMiO2Z1bmN0aW9uIFVPKGEpe3ZhciBiO3JldHVybiBifVVPLlA9ImludGVybmFsLmdldEVjc2lkQ29va2llVmFsdWUiO2Z1bmN0aW9uIFZPKGEsYil7dmFyIGM9bnVsbDtyZXR1cm4gY31WTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50QXR0cmlidXRlIjtmdW5jdGlvbiBXTyhhKXt2YXIgYj1udWxsO3JldHVybiBifVdPLlA9ImludGVybmFsLmdldEVsZW1lbnRCeUlkIjtmdW5jdGlvbiBYTyhhKXt2YXIgYj0iIjtyZXR1cm4gYn1YTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50SW5uZXJUZXh0IjtmdW5jdGlvbiBZTyhhKXt2YXIgYj1udWxsO3JldHVybiBifVlPLlA9ImludGVybmFsLmdldEVsZW1lbnRQYXJlbnQiO2Z1bmN0aW9uIFpPKGEpe3ZhciBiPW51bGw7cmV0dXJuIGJ9Wk8uUD0iaW50ZXJuYWwuZ2V0RWxlbWVudFByZXZpb3VzU2libGluZyI7ZnVuY3Rpb24gJE8oYSxiKXt2YXIgYz1udWxsO3JldHVybiBVZChjKX0kTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50UHJvcGVydHkiO2Z1bmN0aW9uIGFQKGEpe3ZhciBiO3JldHVybiBifWFQLlA9ImludGVybmFsLmdldEVsZW1lbnRWYWx1ZSI7ZnVuY3Rpb24gYlAoYSl7dmFyIGI9MDtyZXR1cm4gYn1iUC5QPSJpbnRlcm5hbC5nZXRFbGVtZW50VmlzaWJpbGl0eVJhdGlvIjtmdW5jdGlvbiBjUChhKXt2YXIgYj1udWxsO3JldHVybiBifWNQLlA9ImludGVybmFsLmdldEVsZW1lbnRzQnlDc3NTZWxlY3RvciI7CmZ1bmN0aW9uIGRQKGEpe3ZhciBiO2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtMKHRoaXMsInJlYWRfZXZlbnRfZGF0YSIsYSk7dmFyIGM7YTp7dmFyIGQ9YSxlPVhGKHRoaXMpLm9yaWdpbmFsRXZlbnREYXRhO2lmKGUpe2Zvcih2YXIgZj1lLGc9e30saD17fSxsPXt9LG49W10scD1kLnNwbGl0KCJcXFxcIikscT0wO3E8cC5sZW5ndGg7cSsrKXtmb3IodmFyIHI9cFtxXS5zcGxpdCgiXFwuIiksdD0wO3Q8ci5sZW5ndGg7dCsrKXtmb3IodmFyIHU9clt0XS5zcGxpdCgiLiIpLHY9MDt2PHUubGVuZ3RoO3YrKyluLnB1c2godVt2XSksdiE9PXUubGVuZ3RoLTEmJm4ucHVzaChsKTt0IT09ci5sZW5ndGgtMSYmbi5wdXNoKGgpfXEhPT1wLmxlbmd0aC0xJiZuLnB1c2goZyl9Zm9yKHZhciB4PVtdLHk9IiIsej1tKG4pLEM9ei5uZXh0KCk7IUMuZG9uZTtDPQp6Lm5leHQoKSl7dmFyIEQ9Qy52YWx1ZTtEPT09bD8oeC5wdXNoKHkpLHk9IiIpOnk9RD09PWc/eSsiXFwiOkQ9PT1oP3krIi4iOnkrRH15JiZ4LnB1c2goeSk7Zm9yKHZhciBJPW0oeCksRz1JLm5leHQoKTshRy5kb25lO0c9SS5uZXh0KCkpe2lmKGY9PW51bGwpe2M9dm9pZCAwO2JyZWFrIGF9Zj1mW0cudmFsdWVdfWM9Zn1lbHNlIGM9dm9pZCAwfWI9VWQoYyx0aGlzLlQsMSk7cmV0dXJuIGJ9ZFAuUD0iaW50ZXJuYWwuZ2V0RXZlbnREYXRhIjtmdW5jdGlvbiBlUChhKXt2YXIgYj1udWxsO2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtMKHRoaXMsInJlYWRfZG9tX2VsZW1lbnRzIiwiY3NzIixhKTt0cnl7dmFyIGM9Qi5xdWVyeVNlbGVjdG9yKGEpO2MmJihiPW5ldyBQZChjKSl9Y2F0Y2goZCl7cmV0dXJuIG51bGx9cmV0dXJuIGJ9ZVAuUD0iaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciI7ZnVuY3Rpb24gZlAoKXt2YXIgYTtyZXR1cm4gYX1mUC5QPSJpbnRlcm5hbC5nZXRHc2FFeHBlcmltZW50SWQiO2Z1bmN0aW9uIGdQKCl7cmV0dXJuIG5ldyBQZChQayl9Z1AuUD0iaW50ZXJuYWwuZ2V0SHRtbElkIjtmdW5jdGlvbiBoUCgpe3ZhciBhO3JldHVybiBhfWhQLlA9ImludGVybmFsLmdldElmcmFtaW5nU3RhdGUiO2Z1bmN0aW9uIGlQKGEsYil7dmFyIGM9e307cmV0dXJuIFVkKGMpfWlQLlA9ImludGVybmFsLmdldExpbmtlclZhbHVlRnJvbUxvY2F0aW9uIjtmdW5jdGlvbiBqUCgpe3ZhciBhPW5ldyBrYjtyZXR1cm4gYX1qUC5QPSJpbnRlcm5hbC5nZXRQcml2YWN5U3RyaW5ncyI7ZnVuY3Rpb24ga1AoYSxiKXt2YXIgYztpZighbGgoYSl8fCFsaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwic3RyaW5nIl0sYXJndW1lbnRzKTt2YXIgZD0kSChhKXx8e307Yz1VZChkW2JdLHRoaXMuVCk7cmV0dXJuIGN9a1AuUD0iaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIjtmdW5jdGlvbiBsUChhLGIpe3ZhciBjO2lmKCFsaChhKXx8IXBoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJib29sZWFufHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7TCh0aGlzLCJnZXRfdXJsIiwicXVlcnkiLGEpO3ZhciBkPUxqKFJqKEEubG9jYXRpb24uaHJlZiksInF1ZXJ5IiksZT1JaihkLGEsYik7Yz1VZChlLHRoaXMuVCk7cmV0dXJuIGN9bFAucHVibGljTmFtZT0iZ2V0UXVlcnlQYXJhbWV0ZXJzIjtmdW5jdGlvbiBtUChhLGIpe3ZhciBjO3JldHVybiBjfW1QLnB1YmxpY05hbWU9ImdldFJlZmVycmVyUXVlcnlQYXJhbWV0ZXJzIjtmdW5jdGlvbiBuUChhKXt2YXIgYj0iIjtyZXR1cm4gYn1uUC5wdWJsaWNOYW1lPSJnZXRSZWZlcnJlclVybCI7ZnVuY3Rpb24gb1AoKXtyZXR1cm4gem0oKX1vUC5QPSJpbnRlcm5hbC5nZXRSZWdpb25Db2RlIjtmdW5jdGlvbiBwUChhLGIpe3ZhciBjO2lmKCFsaChhKXx8IWxoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBkPWVEKGEpO2M9VWQoZFtiXSx0aGlzLlQpO3JldHVybiBjfXBQLlA9ImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gcVAoYSxiKXt2YXIgYz1udWxsOwpyZXR1cm4gY31xUC5QPSJpbnRlcm5hbC5nZXRTY29wZWRFbGVtZW50c0J5Q3NzU2VsZWN0b3IiO2Z1bmN0aW9uIHJQKCl7dmFyIGE9bmV3IGtiO2Euc2V0KCJ3aWR0aCIsMCk7YS5zZXQoImhlaWdodCIsMCk7cmV0dXJuIGF9clAuUD0iaW50ZXJuYWwuZ2V0U2NyZWVuRGltZW5zaW9ucyI7ZnVuY3Rpb24gc1AoKXt2YXIgYT0iIjtyZXR1cm4gYX1zUC5QPSJpbnRlcm5hbC5nZXRUb3BTYW1lRG9tYWluVXJsIjtmdW5jdGlvbiB0UCgpe3ZhciBhPSIiO3JldHVybiBhfXRQLlA9ImludGVybmFsLmdldFRvcFdpbmRvd1VybCI7ZnVuY3Rpb24gdVAoYSl7dmFyIGI9IiI7aWYoIW1oKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmd8dW5kZWZpbmVkIl0sYXJndW1lbnRzKTtMKHRoaXMsImdldF91cmwiLGEpO2I9TGooUmooQS5sb2NhdGlvbi5ocmVmKSxhKTtyZXR1cm4gYn11UC5wdWJsaWNOYW1lPSJnZXRVcmwiO2Z1bmN0aW9uIHZQKCl7TCh0aGlzLCJnZXRfdXNlcl9hZ2VudCIpO3JldHVybiBIYy51c2VyQWdlbnR9dlAucHVibGljTmFtZT0iZ2V0VXNlckFnZW50Ijt2UC5QPSJpbnRlcm5hbC5nZXRVc2VyQWdlbnQiO2Z1bmN0aW9uIHdQKCl7dmFyIGE7cmV0dXJuIGE/VWQoRU0oYSkpOmF9d1AuUD0iaW50ZXJuYWwuZ2V0VXNlckFnZW50Q2xpZW50SGludHMiO3ZhciB5UD1mdW5jdGlvbihhKXt2YXIgYj1hLmV2ZW50TmFtZT09PUYuRC5zYyYmRWwoKSYmYmsoWksoYSkpLGM9UShhLEguSi5kbiksZD1RKGEsSC5KLktrKSxlPVEoYSxILkoubWcpLGY9UShhLEguSi5UZSksZz1RKGEsSC5KLkZjKSxoPVEoYSxILkouaGQpLGw9UShhLEguSi5yZyksbj1RKGEsSC5KLk1oKSxwPVEoYSxILkouTmgpLHE9ISFZSyhhKXx8ISFRKGEsSC5KLnBwKTtyZXR1cm4hKCFuZCgpJiYha2QoKXx8ZXx8cXx8Znx8Z3x8aHx8bHx8cHx8bnx8Ynx8Y3x8IWQmJnhQKCkpfSx4UD1mdW5jdGlvbigpe3JldHVybiBhbCg5LGZ1bmN0aW9uKCl7cmV0dXJuITF9KX07ZnVuY3Rpb24gelAoKXt2YXIgYT1BO3JldHVybiBhLmdhR2xvYmFsPWEuZ2FHbG9iYWx8fHt9fWZ1bmN0aW9uIEFQKGEsYil7dmFyIGM9elAoKTtpZihjLnZpZD09PXZvaWQgMHx8YiYmIWMuZnJvbV9jb29raWUpYy52aWQ9YSxjLmZyb21fY29va2llPWJ9O3ZhciBCUD1bIkdBMSJdOwp2YXIgQ1A9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVEoYSxILkouUGspO2lmKGQ9PT12b2lkIDB8fGM8PWQpVShhLEYuRC5LYixiKSxWKGEsSC5KLlBrLGMpfSxFUD1mdW5jdGlvbihhLGIpe3ZhciBjPVIoYSxGLkQuS2IpO2lmKE8oYS5NLEYuRC5aYykmJk8oYS5NLEYuRC5ZYyl8fGImJmM9PT1iKXJldHVybiBjO2lmKGMpe2M9IiIrYztpZighRFAoYyxhKSlyZXR1cm4gUCgzMSksYS5pc0Fib3J0ZWQ9ITAsIiI7QVAoYyxYbyhGLkQucmEpKTtyZXR1cm4gY31QKDMyKTthLmlzQWJvcnRlZD0hMDtyZXR1cm4iIn0sRlA9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5HYSksYz1iLnByZWZpeCsiX2dhIixkPUJ2KGIucHJlZml4KyJfZ2EiLGIuZG9tYWluLGIucGF0aCxCUCxGLkQucmEpO2lmKCFkKXt2YXIgZT1TdHJpbmcoTyhhLk0sRi5ELklkLCIiKSk7ZSYmZSE9PWMmJihkPUJ2KGUsYi5kb21haW4sYi5wYXRoLEJQLEYuRC5yYSkpfXJldHVybiBkfSxEUD1mdW5jdGlvbihhLGIpe3ZhciBjOwp2YXIgZD1RKGIsSC5KLkdhKSxlPWQucHJlZml4KyJfZ2EiLGY9dXEoZCx2b2lkIDAsdm9pZCAwLEYuRC5yYSk7aWYoTyhiLk0sRi5ELkpkKT09PSExJiZGUChiKT09PWEpYz0hMDtlbHNle3ZhciBnO2c9W0JQWzBdLHRxKGQuZG9tYWluLGQucGF0aCksYV0uam9pbigiLiIpO2M9b3EoZSxnLGYpIT09MX1yZXR1cm4gY307CnZhciBHUD1mdW5jdGlvbihhKXt2YXIgYj0wLGM9MDtyZXR1cm57c3RhcnQ6ZnVuY3Rpb24oKXtiPU5iKCl9LHN0b3A6ZnVuY3Rpb24oKXtjPXRoaXMuZ2V0KCl9LGdldDpmdW5jdGlvbigpe3ZhciBkPTA7YS5WaigpJiYoZD1OYigpLWIpO3JldHVybiBkK2N9fX0sSFA9ZnVuY3Rpb24oKXt0aGlzLkg9dm9pZCAwO3RoaXMuSz0wO3RoaXMuaXNBY3RpdmU9dGhpcy5pc1Zpc2libGU9dGhpcy5OPSExO3RoaXMuWj10aGlzLlI9dm9pZCAwfTtrPUhQLnByb3RvdHlwZTtrLktxPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7aWYoIXRoaXMuSCl7dGhpcy5OPUIuaGFzRm9jdXMoKTt0aGlzLmlzVmlzaWJsZT0hQi5oaWRkZW47dGhpcy5pc0FjdGl2ZT0hMDt2YXIgYz1mdW5jdGlvbihlLGYsZyl7JGMoZSxmLGZ1bmN0aW9uKGgpe2IuSC5zdG9wKCk7ZyhoKTtiLlZqKCkmJmIuSC5zdGFydCgpfSl9LGQ9QTtjKGQsImZvY3VzIixmdW5jdGlvbigpe2IuTj0hMH0pO2MoZCwiYmx1ciIsZnVuY3Rpb24oKXtiLk49CiExfSk7YyhkLCJwYWdlc2hvdyIsZnVuY3Rpb24oZSl7Yi5pc0FjdGl2ZT0hMDtlLnBlcnNpc3RlZCYmUCg1Nik7Yi5aJiZiLlooKX0pO2MoZCwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7Yi5pc0FjdGl2ZT0hMTtiLlImJmIuUigpfSk7YyhCLCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2IuaXNWaXNpYmxlPSFCLmhpZGRlbn0pO2JrKFpLKGEpKSYmIU9jKCkmJmMoZCwiYmVmb3JldW5sb2FkIixmdW5jdGlvbigpe1prKDksITApfSk7dGhpcy5xayghMCk7dGhpcy5LPTB9fTtrLnFrPWZ1bmN0aW9uKGEpe2lmKChhPT09dm9pZCAwPzA6YSl8fHRoaXMuSCl0aGlzLksrPXRoaXMuWWgoKSx0aGlzLkg9R1AodGhpcyksdGhpcy5WaigpJiZ0aGlzLkguc3RhcnQoKX07ay5LdD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLlloKCk7Yj4wJiZVKGEsRi5ELm5oLGIpfTtrLmxzPWZ1bmN0aW9uKGEpe1UoYSxGLkQubmgpO3RoaXMucWsoKTt0aGlzLks9MH07ay5Waj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4mJgp0aGlzLmlzVmlzaWJsZSYmdGhpcy5pc0FjdGl2ZX07ay5Ycj1mdW5jdGlvbigpe3JldHVybiB0aGlzLksrdGhpcy5ZaCgpfTtrLlloPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCYmdGhpcy5ILmdldCgpfHwwfTtrLmh0PWZ1bmN0aW9uKGEpe3RoaXMuUj1hfTtrLkNvPWZ1bmN0aW9uKGEpe3RoaXMuWj1hfTt2YXIgSVA9ZnVuY3Rpb24oYSl7c2IoIkdBNF9FVkVOVCIsYSl9O3ZhciBKUD1mdW5jdGlvbihhKXt2YXIgYixjPVEoYSxILkoud20pO2lmKEFycmF5LmlzQXJyYXkoYykpZm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspSVAoY1tkXSk7KGI9d2IocmIuR0E0X0VWRU5UfHxbXSkpJiZVKGEsIl9ldSIsYil9Owp2YXIgTVA9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFJlZ0V4cCgiXiIrKCgoYT09bnVsbD92b2lkIDA6YS5wcmVmaXgpfHwiIikrIl9nYV9cXHcrJCIpKSxjPXlxKGZ1bmN0aW9uKHApe3JldHVybiBiLnRlc3QocCl9KSxkPXt9LGU7Zm9yKGUgaW4gYylpZihjLmhhc093blByb3BlcnR5KGUpKXt2YXIgZj1LUChjW2VdKTtpZihmKXt2YXIgZz1icShmLDIpO2lmKGcpe3ZhciBoPUxQKGcpO2lmKGgpe3ZhciBsPXZvaWQgMCxuPSgoKGw9YSk9PW51bGw/dm9pZCAwOmwucHJlZml4KXx8IiIpLmxlbmd0aCs0O2RbIkctIitlLnN1YnN0cmluZyhuKV09aH19fX1yZXR1cm4gZH0sTlA9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI7YTp7dmFyIGM9KFNiKGEsInMiKSYmYS5pbmRleE9mKCIuIik9PT0tMT8iR1MyIjoiR1MxIikrIi4xLiIrYTt0cnl7Yj0kcChjLDIpO2JyZWFrIGF9Y2F0Y2goZCl7fWI9dm9pZCAwfXJldHVybiBifX0sS1A9ZnVuY3Rpb24oYSl7aWYoYSYmYS5sZW5ndGghPT0wKXtmb3IodmFyIGIsCmM9LUluZmluaXR5LGQ9bShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtpZihmLnQhPT12b2lkIDApe3ZhciBnPU51bWJlcihmLnQpOyFpc05hTihnKSYmZz5jJiYoYz1nLGI9Zil9fXJldHVybiBifX0senE9ZnVuY3Rpb24oYSl7YSYmKGE9PT0iR1MxIj9JUChKLlUuS20pOmE9PT0iR1MyIiYmSVAoSi5VLkxtKSl9LExQPWZ1bmN0aW9uKGEpe3ZhciBiPU5QKGEpO2lmKGIpe3ZhciBjPU51bWJlcihiLm8pLGQ9TnVtYmVyKGIudCksZT1OdW1iZXIoYi5qfHwwKTtjfHxJUChKLlUuVW0pO2R8fElQKEouVS5UbSk7aXNOYU4oZSkmJklQKEouVS5TbSk7aWYoYyYmZCYmIWlzTmFOKGUpKXt2YXIgZj1iLmgsZz1mJiZmIT09IjAiP1N0cmluZyhmKTp2b2lkIDAsaD1iLmQ/U3RyaW5nKGIuZCk6dm9pZCAwLGw9e307cmV0dXJuIGwucz1TdHJpbmcoYi5zKSxsLm89YyxsLmc9ISFOdW1iZXIoYi5nKSxsLnQ9ZCxsLmQ9aCxsLmo9ZSxsLmw9Yi5sPT09IjEiLApsLmg9ZyxsfX19Owp2YXIgUFA9ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiBhO2lmKCFhKXJldHVybiBiO3ZhciBkPUxQKGEpO2lmKCFkKXJldHVybiBiO3ZhciBlLGY9SWIoKGU9TyhjLk0sRi5ELnloKSkhPW51bGw/ZTozMCksZz1RKGMsSC5KLkViKTtpZighKE1hdGguZmxvb3IoZy8xRTMpPmQudCtmKjYwKSlyZXR1cm4gYTt2YXIgaD1MUChiKTtpZighaClyZXR1cm4gYTtoLm89ZC5vKzE7dmFyIGw7cmV0dXJuKGw9T1AoaCkpIT1udWxsP2w6Yn0sUlA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1RKGIsSC5KLkdhKSxkPVFQKGIsYyksZT1OUChhKTtpZighZSlyZXR1cm4hMTt2YXIgZj11cShjfHx7fSx2b2lkIDAsdm9pZCAwLHZxLmdldCgyKSk7b3EoZCx2b2lkIDAsZik7cmV0dXJuIEFxKGQsZSwyLGMpIT09MX0sU1A9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5HYSksYzt2YXIgZD1RUChhLGIpLGU7Yjp7dmFyIGY9enEsZz1acFsyXTtpZihnKXt2YXIgaCxsPXJxKGIuZG9tYWluKSxuPXNxKGIucGF0aCksCnA9T2JqZWN0LmtleXMoZy5qaSkscT12cS5nZXQoMikscjtpZihoPShyPWdxKGQsbCxuLHAscSkpPT1udWxsP3ZvaWQgMDpyLkJyKXt2YXIgdD0kcChoLDIsZik7ZT10P3hxKHQpOnZvaWQgMDticmVhayBifX1lPXZvaWQgMH1pZihlKXt2YXIgdT13cShkLDIsenEpO2lmKHUmJnUubGVuZ3RoPjEpe0lQKEouVS5KbSk7dmFyIHY9S1AodSk7diYmdi50IT09ZS50JiYoSVAoSi5VLk1tKSxlPXYpfWM9YnEoZSwyKX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfSxUUD1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLkViKSxjPXt9O2Mucz1SKGEsRi5ELnhjKTtjLm89UihhLEYuRC5BaCk7dmFyIGQ7ZD1SKGEsRi5ELnpoKTt2YXIgZT0oYy5nPWQsYy50PU1hdGguZmxvb3IoYi8xRTMpLGMuZD1RKGEsSC5KLm9nKSxjLmo9UShhLEguSi5wZyl8fDAsYy5sPSEhUShhLEguSi5ybSksYy5oPVIoYSxGLkQub2gpLGMpO3JldHVybiBPUChlKX0sT1A9ZnVuY3Rpb24oYSl7aWYoYS5zJiZhLm8pe3ZhciBiPQp7fSxjPShiLnM9YS5zLGIubz1TdHJpbmcoYS5vKSxiLmc9SWIoYS5nKT8iMSI6IjAiLGIudD1TdHJpbmcoYS50KSxiLmo9U3RyaW5nKGEuaiksYi5sPWEubD8iMSI6IjAiLGIuaD1hLmh8fCIwIixiLmQ9YS5kLGIpO3JldHVybiBicShjLDIpfX0sUVA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5wcmVmaXgrIl9nYV8iK2EudGFyZ2V0Lmlkc1tkQ1s2XV19Owp2YXIgVVA9ZnVuY3Rpb24oKXtyZXR1cm4gYWwoMixmdW5jdGlvbigpe3JldHVybiExfSl9LFZQPWZ1bmN0aW9uKGEpe3ZhciBiPU8oYS5NLEYuRC5EYiksYz1hLk0uaWJbRi5ELkRiXTtpZihjPT09YilyZXR1cm4gYzt2YXIgZD1FZChiLG51bGwpO2MmJmNbRi5ELkFhXSYmKGRbRi5ELkFhXT0oZFtGLkQuQWFdfHxbXSkuY29uY2F0KGNbRi5ELkFhXSkpO3JldHVybiBkfSxXUD1mdW5jdGlvbihhLGIpe3ZhciBjPVVxKCEwKTtyZXR1cm4gYy5fdXAhPT0iMSI/e306e2NsaWVudElkOmNbYV0semI6Y1tiXX19LFhQPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1VcSghMCksZT1kW2JdO2UmJihDUChhLGUsMiksRFAoZSxhKSk7dmFyIGY9ZFtjXTtmJiZSUChmLGEpO3JldHVybntjbGllbnRJZDplLHpiOmZ9fSxZUD1mdW5jdGlvbigpe3ZhciBhPU5qKEEubG9jYXRpb24sImhvc3QiKSxiPU5qKFJqKEIucmVmZXJyZXIpLCJob3N0Iik7cmV0dXJuIGEmJmI/YT09PWJ8fGEuaW5kZXhPZigiLiIrYik+PQowfHxiLmluZGV4T2YoIi4iK2EpPj0wPyEwOiExOiExfSxaUD1mdW5jdGlvbihhKXtpZighTyhhLk0sRi5ELnpjKSlyZXR1cm57fTt2YXIgYj1RKGEsSC5KLkdhKSxjPWIucHJlZml4KyJfZ2EiLGQ9UVAoYSxiKTticihmdW5jdGlvbigpe3ZhciBlO2lmKFhvKCJhbmFseXRpY3Nfc3RvcmFnZSIpKWU9e307ZWxzZXt2YXIgZj17X3VwOiIxIn0sZztnPVIoYSxGLkQuS2IpO2U9KGZbY109ZyxmW2RdPVRQKGEpLGYpfXJldHVybiBlfSwxKTtyZXR1cm4hWG8oImFuYWx5dGljc19zdG9yYWdlIikmJllQKCk/V1AoYyxkKTp7fX0sJFA9ZnVuY3Rpb24oYSl7dmFyIGI9VlAoYSl8fHt9LGM9UShhLEguSi5HYSksZD1jLnByZWZpeCsiX2dhIixlPVFQKGEsYyksZj17fTtkcihiW0YuRC5YZl0sISFiW0YuRC5BYV0pJiYoZj1YUChhLGQsZSksZi5jbGllbnRJZCYmZi56YiYmWmsoMiwhMCkpO2JbRi5ELkFhXSYmYXIoZnVuY3Rpb24oKXt2YXIgZz17fSxoPUZQKGEpO2gmJihnW2RdPWgpO3ZhciBsPVNQKGEpOwpsJiYoZ1tlXT1sKTt2YXIgbj1jcSgiRlBMQyIsdm9pZCAwLHZvaWQgMCxGLkQucmEpO24ubGVuZ3RoJiYoZy5fZnBsYz1uWzBdKTtyZXR1cm4gZ30sYltGLkQuQWFdLGJbRi5ELmFkXSwhIWJbRi5ELndjXSk7cmV0dXJuIGZ9O3ZhciBhUT1mdW5jdGlvbihhKXtpZighUShhLEguSi5iZSkmJmVrKGEuTSkpe3ZhciBiPVZQKGEpfHx7fSxjPShkcihiW0YuRC5YZl0sISFiW0YuRC5BYV0pP1VxKCEwKS5fZnBsYzp2b2lkIDApfHwoY3EoIkZQTEMiLHZvaWQgMCx2b2lkIDAsRi5ELnJhKS5sZW5ndGg+MD92b2lkIDA6IjAiKTtVKGEsIl9mcGxjIixjKX19O2Z1bmN0aW9uIGJRKGEpeyhiayhaSyhhKSl8fFdqKCkpJiZVKGEsRi5ELm9tLHptKCl8fHltKCkpOyFiayhaSyhhKSkmJldqKCkmJlUoYSxGLkQuWWksIjo6Iil9ZnVuY3Rpb24gY1EoYSl7V2ooKSYmKGJrKFpLKGEpKXx8RG0oKXx8VShhLEYuRC5TbCwhMCkpfTt2YXIgZVE9ZnVuY3Rpb24oYSxiKXtraigiZ3JsIixmdW5jdGlvbigpe3JldHVybiBkUSgpfSkoYil8fChQKDM1KSxhLmlzQWJvcnRlZD0hMCl9LGRRPWZ1bmN0aW9uKCl7dmFyIGE9TmIoKSxiPWErODY0RTUsYz0yMCxkPTVFMztyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIGY9TmIoKTtmPj1iJiYoYj1mKzg2NEU1LGQ9NUUzKTtjPU1hdGgubWluKGMrKGYtYSkvMUUzKjUsMjApO2E9Zjt2YXIgZz0hMTtkPDF8fGM8MXx8KGc9ITAsZC0tLGMtLSk7ZSYmKGUuSHI9ZCxlLnVyPWMpO3JldHVybiBnfX07CnZhciBmUT1mdW5jdGlvbihhKXt2YXIgYj1SKGEsRi5ELlVhKTtyZXR1cm4gTGooUmooYiksImhvc3QiLCEwKX0sZ1E9ZnVuY3Rpb24oYSl7aWYoTyhhLk0sRi5ELldmKSE9PXZvaWQgMClhLmNvcHlUb0hpdERhdGEoRi5ELldmKTtlbHNle3ZhciBiPU8oYS5NLEYuRC5hbSksYyxkO2E6e2lmKFVQKCkpe3ZhciBlPVZQKGEpfHx7fTtpZihlJiZlW0YuRC5BYV0pZm9yKHZhciBmPWZRKGEpLGc9ZVtGLkQuQWFdLGg9MDtoPGcubGVuZ3RoO2grKylpZihnW2hdaW5zdGFuY2VvZiBSZWdFeHApe2lmKGdbaF0udGVzdChmKSl7ZD0hMDticmVhayBhfX1lbHNlIGlmKGYuaW5kZXhPZihnW2hdKT49MCl7ZD0hMDticmVhayBhfX1kPSExfWlmKCEoYz1kKSl7dmFyIGw7aWYobD1iKWE6e2Zvcih2YXIgbj1iLmluY2x1ZGVfY29uZGl0aW9uc3x8W10scD1mUShhKSxxPTA7cTxuLmxlbmd0aDtxKyspaWYobltxXS50ZXN0KHApKXtsPSEwO2JyZWFrIGF9bD0hMX1jPWx9YyYmKFUoYSxGLkQuV2YsIjEiKSwKSVAoSi5VLm5uKSl9fTtmdW5jdGlvbiBoUShhLGIsYyxkKXt2YXIgZTtpZigobmQoKXx8a2QoKSkmJlhqKCkmJlhqKCkhPT0iLyIpe3ZhciBmPVJqKGEpO2U9SWYoNTApJiZkJiZUYihmLnBhdGhuYW1lLCIvZy9jb2xsZWN0Iik/MjooZHx8IVdqKCl8fERtKCk/MDpUYihmLnBhdGhuYW1lLCIvZ2EvZy9jIil8fFRiKGYucGF0aG5hbWUsIi9hZy9nL2MiKSk/MTowfWVsc2UgZT0wO3N3aXRjaChlKXtjYXNlIDI6dmFyIGc7aWYoTSg1NDYpKXt2YXIgaD1UYihhLCIvZy9jb2xsZWN0Iik/YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0xMCk6YSxsPWlRKCksbj1oK2wscD1qUSgiL2cvY29sbGVjdCIsYixjKTtnPXtJYzpuLGtmOiIiLGJvZHk6cH19ZWxzZSBnPXtJYzphLGtmOmIsYm9keTpjfTtyZXR1cm4gZztjYXNlIDE6dmFyIHE7aWYoTSg1NDcpKXt2YXIgcj1pUSgpLHQ9YS5pbmRleE9mKHIpLHU9YS5zdWJzdHJpbmcoMCx0KStyLHY9alEoYS5zdWJzdHJpbmcodCtyLmxlbmd0aC0xKSxiLGMpO3E9e0ljOnUsa2Y6IiIsCmJvZHk6dn19ZWxzZSBxPXtJYzphLGtmOmIsYm9keTpjfTtyZXR1cm4gcTtkZWZhdWx0OnJldHVybntJYzphLGtmOmIsYm9keTpjfX19ZnVuY3Rpb24gaVEoKXt2YXIgYT1YaigpO2lmKCFhKXJldHVybiIiO1NiKGEsIi8iKXx8KGE9Ii8iK2EpO1RiKGEsIi8iKXx8KGErPSIvIik7cmV0dXJuIGF9ZnVuY3Rpb24galEoYSxiLGMpe3ZhciBkPVthXTtiJiZkLnB1c2goIj8iLGIpO2MmJmQucHVzaCgiXHJcbiIsYyk7cmV0dXJuIGQuam9pbigiIil9Owp2YXIga1E9ZnVuY3Rpb24oYSxiKXtUdCgpJiYoYS5nY3M9VXQoKSxRKGIsSC5KLkdoKSYmKGEuZ2N1PSIxIikpO2EuZ2NkPVl0KGIuTSk7YS5ucGE9UShiLEguSi53ZCk/IjAiOiIxIjt6bSgpPT09IlVTLUNPIiYmKGEuX25nPSIxIil9LGxRPWZ1bmN0aW9uKGEpe2lmKFEoYSxILkouYmUpKXJldHVybnt1cmw6ZmsoImh0dHBzOi8vd3d3Lm1lcmNoYW50LWNlbnRlci1hbmFseXRpY3MuZ29vZyIsdm9pZCAwLCIiKSsiL21jL2NvbGxlY3QiLGVuZHBvaW50OjIwfTt2YXIgYj1ZaihlayhhLk0pLCIvZy9jb2xsZWN0Iik7aWYoYilyZXR1cm57dXJsOmIsZW5kcG9pbnQ6MTZ9O3ZhciBjO2M9UShhLEguSi5ybikmJiFRKGEsSC5KLkZjKT8xNzoxNjtyZXR1cm57dXJsOk1tW2NdKHZvaWQgMCksZW5kcG9pbnQ6Y319LG1RPXt9O21RW0YuRC5LYl09ImNpZCI7bVFbRi5ELnhpXT0iZ2N1dCI7bVFbRi5ELkZlXT0iYXJlIjttUVtGLkQuamhdPSJwc2NkbCI7bVFbRi5ELk5kXT0iZXhjaWQiO21RW0YuRC5HaV09CiJfZmlkIjttUVtGLkQuT2xdPSJfZ2VvIjttUVtGLkQuWGNdPSJnZGlkIjttUVtGLkQuTGVdPSJfbmciO21RW0YuRC5NZV09ImZybSI7bVFbRi5ELldmXT0iaXIiO21RW0YuRC5TbF09ImZwIjttUVtGLkQudGJdPSJ1bCI7bVFbRi5ELk1pXT0ibmkiO21RW0YuRC5tcV09InBhZSI7bVFbRi5ELnhoXT0iX3JkaSI7bVFbRi5ELmJkXT0ic3IiO21RW0YuRC5RaV09InRlc3Rvbmx5IjttUVtGLkQuUWVdPSJ0aWQiO21RW0YuRC5SaV09InR0IjttUVtGLkQuQmNdPSJlY19tb2RlIjttUVtGLkQuWm1dPSJndG1fdXAiO21RW0YuRC5jZ109InVhYSI7bVFbRi5ELmRnXT0idWFiIjttUVtGLkQuZWddPSJ1YWZ2bCI7bVFbRi5ELmZnXT0idWFtYiI7bVFbRi5ELmdnXT0idWFtIjsKbVFbRi5ELmhnXT0idWFwIjttUVtGLkQuaWddPSJ1YXB2IjttUVtGLkQuamddPSJ1YXciO21RW0YuRC5vbV09InVyIjttUVtGLkQuWWldPSJfdWlwIjttUVtGLkQubHFdPSJfcHJzIjttUVtGLkQuUGRdPSJscHMiO21RW0YuRC5CZV09ImdjbGdzIjttUVtGLkQuRGVdPSJnY2xzdCI7bVFbRi5ELkNlXT0iZ2NsbHAiO3ZhciBuUT17fTtuUVtGLkQuR2ZdPSJjYyI7blFbRi5ELkhmXT0iY2kiO25RW0YuRC5JZl09ImNtIjtuUVtGLkQuSmZdPSJjbiI7blFbRi5ELkxmXT0iY3MiO25RW0YuRC5NZl09ImNrIjtuUVtGLkQuZWJdPSJjdSI7blFbRi5ELlZmXT0iX3R1IjtuUVtGLkQuemFdPSJkbCI7blFbRi5ELllmXT0iZHAiO25RW0YuRC5VYV09ImRyIjtuUVtGLkQuTWJdPSJkdCI7blFbRi5ELnpoXT0ic2VnIjtuUVtGLkQueGNdPQoic2lkIjtuUVtGLkQuQWhdPSJzY3QiO25RW0YuRC5mYl09InVpZCI7dmFyIG9RPXt9O29RW0YuRC5uaF09Il9ldCI7b1FbRi5ELlZjXT0iZWRpZCI7b1FbRi5ELk1kXT0iZXZuaWQiO00oOTQpJiYob1EuX2V1PSJfZXUiKTt2YXIgcFE9e307cFFbRi5ELkdmXT0iY2MiO3BRW0YuRC5IZl09ImNpIjtwUVtGLkQuSWZdPSJjbSI7cFFbRi5ELkpmXT0iY24iO3BRW0YuRC5MZl09ImNzIjtwUVtGLkQuTWZdPSJjayI7dmFyIHFRPXt9LHJRPShxUVtGLkQuQWNdPTEscVEpLHNRPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGRhLG1hKXtpZihtYSE9PXZvaWQgMCYmIUJvLmhhc093blByb3BlcnR5KGRhKSl7bWE9PT1udWxsJiYobWE9IiIpO3ZhciBQYTt2YXIgRmE9bWE7ZGEhPT1GLkQub2g/UGE9ITE6UShhLEguSi5sZyl8fGJrKFpLKGEpKT8oZS5lY2lkPUZhLFBhPSEwKTpQYT12b2lkIDA7aWYoIVBhKXt2YXIgcWE9bWE7bWE9PT0hMCYmKHFhPSIxIik7bWE9PT0hMSYmKHFhPSIwIik7cWE9ClN0cmluZyhxYSk7dmFyIGliO2lmKGRhIT09Ri5ELk5kJiZkYSE9PUYuRC5NZHx8TSg1MDQpKWlmKG1RW2RhXSlpYj1tUVtkYV0sdltpYl09cWE7ZWxzZSBpZihuUVtkYV0paWI9blFbZGFdLGdbaWJdPXFhO2Vsc2UgaWYob1FbZGFdKWliPW9RW2RhXSxmW2liXT1xYTtlbHNlIGlmKFNiKGRhLCJfJiIpKWliPWRhLnN1YnN0cmluZygyKSx2W2liXT1xYTtlbHNlIGlmKGRhLmNoYXJBdCgwKT09PSJfIil2W2RhXT1xYTtlbHNle3ZhciBYYjtwUVtkYV0/WGI9ITA6ZGEhPT1GLkQuS2Y/WGI9ITE6KHR5cGVvZiBtYSE9PSJvYmplY3QiJiZ1KGRhLG1hKSxYYj0hMCk7WGJ8fHUoZGEsbWEpfWVsc2UgdShkYSxtYSl9fX12YXIgZT17fSxmPXt9LGc9e307ZS52PSIyIjtlLnRpZD1hLnRhcmdldC5kZXN0aW5hdGlvbklkO2UuZ3RtPWR1KHttYzpRKGEsSC5KLk5iKSxlZjpRKGEsSC5KLkNjKX0pO2UuX3A9JGsoMjUpO2MmJihjLmhhc1VwZHx8Yy5oYWRFcnJvcikmJihlLmVtPWMucGFyYW0pO1EoYSwKSC5KLnJnKSYmKGUuX2dhej0xKTtrUShlLGEpO2F1KCkmJihlLmRtYV9jcHM9WnQoKSk7ZS5kbWE9JHQoKTt2dChFdCgpKSYmKGUudGNmZD1idSgpKTt2YXIgaD1DcChhKTtoJiYoZy50YWdfZXhwPWgpO3ZhciBsPVIoYSxGLkQuWGMpO2wmJihlLmdkaWQ9bCk7Zi5lbj1TdHJpbmcoYS5ldmVudE5hbWUpO2lmKFEoYSxILkoubmcpKXt2YXIgbj1RKGEsSC5KLlltKTtmLl9mdj1uPzI6MX1RKGEsSC5KLkhoKSYmKGYuX25zaT0xKTtpZihRKGEsSC5KLlRlKSl7dmFyIHA9UShhLEguSi5ibik7Zi5fc3M9cD8yOjF9UShhLEguSi5tZykmJihmLl9jPTEpO1EoYSxILkouYWUpJiYoZi5fZWU9MSk7aWYoUShhLEguSi5XbSkpe3ZhciBxPVIoYSxGLkQuSGEpfHxPKGEuTSxGLkQuSGEpO2lmKEFycmF5LmlzQXJyYXkocSkpZm9yKHZhciByPTA7cjxxLmxlbmd0aCYmcjwyMDA7cisrKWZbInByIisocisxKV09dGcocVtyXSl9dmFyIHQ9UihhLEYuRC5WYyk7dCYmKGYuZWRpZD10KTtodChhLGYpO2Zvcih2YXIgdT0KZnVuY3Rpb24oZGEsbWEpe2lmKHR5cGVvZiBtYSE9PSJvYmplY3QifHwhclFbZGFdKXt2YXIgUGE9ImVwLiIrZGEsRmE9ImVwbi4iK2RhO2RhPUFiKG1hKT9GYTpQYTt2YXIgcWE9QWIobWEpP1BhOkZhO2YuaGFzT3duUHJvcGVydHkocWEpJiZkZWxldGUgZltxYV07ZltkYV09U3RyaW5nKG1hKX19LHY9e30seD1tKGV1KGEpKSx5PXgubmV4dCgpOyF5LmRvbmU7eT14Lm5leHQoKSl7dmFyIHo9eS52YWx1ZTtkKHosUihhLHopKX1mb3IodmFyIEM9bShPYmplY3Qua2V5cyh2KS5zb3J0KCkpLEQ9Qy5uZXh0KCk7IUQuZG9uZTtEPUMubmV4dCgpKXt2YXIgST1ELnZhbHVlO2VbSV09dltJXX0oZnVuY3Rpb24oZGEpe2JrKFpLKGEpKSYmdHlwZW9mIGRhPT09Im9iamVjdCImJkdiKGRhfHx7fSxmdW5jdGlvbihtYSxQYSl7dHlwZW9mIFBhIT09Im9iamVjdCImJihlWyJzc3QuIittYV09U3RyaW5nKFBhKSl9KX0pKFIoYSxGLkQub2opKTtidihlLFIoYSxGLkQuZWQpKTt2YXIgRz1SKGEsRi5ELldkKXx8Cnt9O0diKEcsZnVuY3Rpb24oZGEsbWEpe21hIT09dm9pZCAwJiYoKG1hPT09bnVsbCYmKG1hPSIiKSxkYSE9PUYuRC5mYnx8Zy51aWQpP2JbZGFdIT09bWEmJihmWyhBYihtYSk/InVwbi4iOiJ1cC4iKStTdHJpbmcoZGEpXT1TdHJpbmcobWEpLGJbZGFdPW1hKTpnLnVpZD1TdHJpbmcobWEpKX0pO2lmKFdqKCkmJiFEbSgpJiYhYmsoWksoYSkpKXt2YXIgTj1RKGEsSC5KLm9nKTtOP2UuX2dzaWQ9TjplLm5qaWQ9IjEifXZhciBTPVEoYSxILkouVmkpOyhTPT1udWxsP3ZvaWQgMDpTLnZhbHVlKT4wJiYoZS5nYWY9Uy5nZXQoKSk7dmFyIFc9UihhLEYuRC5XYyk7aWYoVylmb3IodmFyIGVhPW0oT2JqZWN0LmtleXMoVykpLGphPWVhLm5leHQoKTshamEuZG9uZTtqYT1lYS5uZXh0KCkpe3ZhciBmYT1qYS52YWx1ZTtmWyJleHQuIitmYV09V1tmYV18fCIifXZhciBzYT1sUShhKTt2Zy5jYWxsKHRoaXMse0JhOmUsdmU6ZyxMajpmfSxzYS51cmwsc2EuZW5kcG9pbnQsWksoYSksdm9pZCAwLAphLnRhcmdldC5kZXN0aW5hdGlvbklkLGEuTS5ldmVudElkLGEuTS5wcmlvcml0eUlkKX07d2Eoc1EsdmcpOwp2YXIgdFE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5yZXBsYWNlKC9cJFx7KFteXH1dKylcfS9nLGZ1bmN0aW9uKGMsZCl7cmV0dXJuIGJbZF18fGN9KX0sdVE9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz0iIixkPWEucGF0aG5hbWUuaW5kZXhPZigiL2cvY29sbGVjdCIpO2Q+PTAmJihjPWEucGF0aG5hbWUuc3Vic3RyaW5nKDAsZCkpO2IudHJhbnNwb3J0X3VybD1hLnByb3RvY29sKyIvLyIrYS5ob3N0bmFtZStjO3ZhciBlO3RyeXtlPWVuY29kZVVSSUNvbXBvbmVudChjfHwiLyIpfWNhdGNoKGYpe2U9ZW5jb2RlVVJJQ29tcG9uZW50KCIvIil9Yi5lbmNvZGVkX3BhdGg9ZTtyZXR1cm4gYn0sdlE9ZnVuY3Rpb24oYSxiKXtpZighTSg1NDYpKXJldHVybnt1cmw6YSxib2R5OmJ9O3ZhciBjPW0oYS5zcGxpdCgiPyIpKSxkPWMubmV4dCgpLnZhbHVlLGU9Yy5uZXh0KCkudmFsdWUsZj1oUShkLGV8fCIiLGJ8fCIiLCEwKSxnPWYuSWMsaD1mLmtmO2E9aCE9PSIiP2crIj8iK2g6ZztiPWYuYm9keTsKcmV0dXJue3VybDphLGJvZHk6Yn19LHhRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1SaihiKSxlPXVRKGQpLGY9dlEoWGcoZCksYyksZz1mdW5jdGlvbihoKXtxeChmLnVybCxmLmJvZHksbmV3IHdRKGUsaCkpJiZhJiZrbi5yZWdpc3RlcihhLDEsZi51cmwpfTshTSgxMzIpfHxOYygiOyB3diIpfHxOYygiRkJBTiIpfHxOYygiRkJBViIpfHxQYygpP2coKTptTChmLnVybCxmLmJvZHksZSxnKX0sd1E9ZnVuY3Rpb24oYSxiKXtDeC5jYWxsKHRoaXMpO3RoaXMudGVtcGxhdGVzPWE7dGhpcy5OPWJ9O3dhKHdRLEN4KTt3US5wcm90b3R5cGUuWj1mdW5jdGlvbihhKXt2YXIgYj10UShhLHRoaXMudGVtcGxhdGVzKTtyZXR1cm4gdGhpcy5OP2IucmVwbGFjZSgiX2lzX3N3PTAiLHRoaXMuTik6Yn07d1EucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLlooYSk7Q3gucHJvdG90eXBlLksuY2FsbCh0aGlzLGMsYil9O3dRLnByb3RvdHlwZS5IPWZ1bmN0aW9uKGEsYil7dmFyIGM9CnRoaXMuWihhKTtDeC5wcm90b3R5cGUuSC5jYWxsKHRoaXMsYyxiKX07CnZhciB5UT1mdW5jdGlvbihhKXtyZXR1cm4hU2IoYSxGbSgpKSYmIVNiKGEsR20oKSl9LEFRPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZighbmQoKSlyZXR1cm4gelEoYSxiLGMsZCksITA7WW4oYyxiIT09IiI/YSsiPyIrYjphLGQsbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxlfHx7fSx7UWc6ITB9KSx2b2lkIDAsZil8fHpRKGEsYixjLGQpO3JldHVybiEwfSx6UT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iIT09IiI/YSsiPyIrYjphO2Q/V24oYyxlLGQpOlZuKGMsZSl9LENRPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YixnPXBkKCk7ZyE9PXZvaWQgMCYmKGYrPSImdGZkPSIrTWF0aC5yb3VuZChnKSk7Yj1mO3ZhciBoPWErIj8iK2I7aWYoIWJrKGQpfHxjayhkKXx8eFAoKSl7dmFyIGw9aFEoYSxiLGMsYmsoZCkpO2E9bC5JYztiPWwua2Y7Yz1sLmJvZHk7QVEoYSxiLGUsYyx2b2lkIDAsQlEoYSxiLGUsYykpfHx6UShhLGIsZSxjKX1lbHNlIHhRKGUsaCxjKTsKYmsoZCkmJk0oNTY0KSYmbmQoKSYmVGIoYSwiL2cvY29sbGVjdCIpJiZBLmZldGNoKGEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMTApLHttZXRob2Q6IlBPU1QiLGJvZHk6IkNqQU9BVHdjQ0JnTyIsY3JlZGVudGlhbHM6Im9taXQifSl9LEJRPWZ1bmN0aW9uKGEsYixjLGQpe2lmKCF5UShhKSl7dmFyIGU9TW1bNjddKHZvaWQgMCk7aWYoZSlyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZjt2YXIgZz1iLnJlcGxhY2UoL15cPy8sIiIpLGg9TnVtYmVyKElqKGcsImdhZiIsITEpKSxsPTA7TnVtYmVyLmlzSW50ZWdlcihoKSYmKGw9aCk7dmFyIG49bmV3IGVyKGwpO2ZyKG4sMSk7aWYobi52YWx1ZSE9PTApe3ZhciBwLHE9bi5nZXQoKSxyPVJlZ0V4cCgiKF58Wz8mXSlnYWY9W14mXSooJnwkKSIpO3A9ci50ZXN0KGcpP2cucmVwbGFjZShyLCIkMWdhZj0iK3ErIiQyIik6Zy5pbmRleE9mKCI/Iik+PTA/ZysiJmdhZj0iK3E6Z1swXT09PSIvInx8Zy5pbmRleE9mKCI6Ly8iKT49MD9nKyI/Z2FmPSIrCnE6Zy5sZW5ndGg+MD9nKyImZ2FmPSIrcToiZ2FmPSIrcTtmPWIuaW5kZXhPZigiPyIpPT09MD8iPyIrcDpwfWVsc2UgZj12b2lkIDA7QVEoZSxmfHxiLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyx7ZW5kcG9pbnQ6Njd9KSxkLGMuZW5kcG9pbnQ9PT0xNz92b2lkIDA6e2NyZWRlbnRpYWxzOiJvbWl0In0pfX19LERRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPWZ1bmN0aW9uKGgpe2QucHVzaChoKyI9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYS5CYVtoXSkpfTtkLnB1c2goInY9MiIpO2UoIl9nc2lkIik7ZSgiZ3RtIik7YS5CYS5fZ2VvJiZlKCJfZ2VvIik7dmFyIGY9Imh0dHBzOi8ve2dhNENvbGxlY3Rpb25TdWJkb21haW4ufWdvb2dsZS1hbmFseXRpY3MuY29tL2cvcy9jb2xsZWN0Ii5yZXBsYWNlKCJ7Z2E0Q29sbGVjdGlvblN1YmRvbWFpbi59IiwoYnx8Ind3dyIpKyIuIiksZz1kLmpvaW4oIiYiKTt6UShmLGcse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwKIiIsZW5kcG9pbnQ6NjIsZXZlbnRJZDphLmV2ZW50SWQscHJpb3JpdHlJZDphLnByaW9yaXR5SWR9KTtNbCh7dGFyZ2V0SWQ6U3RyaW5nKGEuQmEudGlkKSxyZXF1ZXN0Ont1cmw6ZisiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLGVuZHBvaW50OjYyfSxxYjpjfSl9LEVRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0iaHR0cHM6Ly97Z2E0Q29sbGVjdGlvblN1YmRvbWFpbi59YW5hbHl0aWNzLmdvb2dsZS5jb20vZy9zL2NvbGxlY3QiLnJlcGxhY2UoIntnYTRDb2xsZWN0aW9uU3ViZG9tYWluLn0iLGI/YisiLiI6IiIpLGU9W10sZj1mdW5jdGlvbihoKXtlLnB1c2goaCsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK2EuQmFbaF0pKX07ZigiX2dzaWQiKTtmKCJndG0iKTthLkJhLl9nZW8mJmYoIl9nZW8iKTt2YXIgZz1lLmpvaW4oIiYiKTt6UShkLGcse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDoxOCxldmVudElkOmEuZXZlbnRJZCxwcmlvcml0eUlkOmEucHJpb3JpdHlJZH0pOwpNbCh7dGFyZ2V0SWQ6U3RyaW5nKGEuQmEudGlkKSxyZXF1ZXN0Ont1cmw6ZCsiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLGVuZHBvaW50OjE4fSxxYjpjfSl9LEZRPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtjJiZiLnB1c2goInRhZ19leHA9IitjKTtiLnB1c2goIno9IitEYigpKTtpZighZSl7dmFyIGc9ZCYmU2IoZCwiZ29vZ2xlLiIpJiZkIT09Imdvb2dsZS5jb20iPyJodHRwczovL3d3dy4lL2Fkcy9nYS1hdWRpZW5jZXM/dj0xJnQ9c3Imc2xmX3JkPTEmX3I9NCYiLnJlcGxhY2UoIiUiLGQpOnZvaWQgMDtpZihnKXt2YXIgaD1nK2Iuam9pbigiJiIpO1huKHtkZXN0aW5hdGlvbklkOmEuZGVzdGluYXRpb25JZHx8IiIsZW5kcG9pbnQ6NDcsZXZlbnRJZDphLmV2ZW50SWQscHJpb3JpdHlJZDphLnByaW9yaXR5SWR9LGgpO01sKHt0YXJnZXRJZDpTdHJpbmcoYS5CYS50aWQpLHJlcXVlc3Q6e3VybDpoLHBhcmFtZXRlckVuY29kaW5nOjIsZW5kcG9pbnQ6NDd9LHFiOmZ9KX19fSxHUT0KZnVuY3Rpb24oYSxiLGMsZCl7YyYmYi5wdXNoKCJ0YWdfZXhwPSIrYyk7elEoImh0dHBzOi8vc3RhdHMuZy5kb3VibGVjbGljay5uZXQvZy9jb2xsZWN0Iiwidj0yJiIrYi5qb2luKCImIikse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDoxOSxldmVudElkOmEuZXZlbnRJZCxwcmlvcml0eUlkOmEucHJpb3JpdHlJZH0pO01sKHt0YXJnZXRJZDpTdHJpbmcoYS5CYS50aWQpLHJlcXVlc3Q6e3VybDoiaHR0cHM6Ly9zdGF0cy5nLmRvdWJsZWNsaWNrLm5ldC9nL2NvbGxlY3Q/dj0yJiIrYi5qb2luKCImIikscGFyYW1ldGVyRW5jb2Rpbmc6MixlbmRwb2ludDoxOX0scWI6ZH0pfSxIUT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGModil7cS5wdXNoKHYrIj0iK2VuY29kZVVSSUNvbXBvbmVudCgiIithLkJhW3ZdKSl9dmFyIGQ9Yi54dCxlPWIuQnQsZj1iLkF0LGc9Yi56dCxoPWIuWnIsbD1iLkNzLG49Yi5QcixwPWIuR3Q7aWYoZHx8ZXx8Znx8Zyl7dmFyIHE9CltdO2EuQmEuX25nJiZjKCJfbmciKTthLkJhLm5ncyYmYygibmdzIik7YS5CYS5pYnQmJmMoImlidCIpO2MoInRpZCIpO2MoImNpZCIpO2MoImd0bSIpO2Zvcih2YXIgcj1tKE9GKSx0PXIubmV4dCgpOyF0LmRvbmU7dD1yLm5leHQoKSl7dmFyIHU9dC52YWx1ZTthLkJhW3VdIT1udWxsJiZjKHUpfXEucHVzaCgiYWlwPTEiKTthLnZlLnVpZCYmcS5wdXNoKCJ1aWQ9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYS52ZS51aWQpKTtjKCJkbWEiKTthLkJhLmRtYV9jcHMhPW51bGwmJmMoImRtYV9jcHMiKTthLkJhLmdjcyE9bnVsbCYmYygiZ2NzIik7YygiZ2NkIik7YS5CYS5ucGEhPW51bGwmJmMoIm5wYSIpO2EuQmEuZnJtIT1udWxsJiZjKCJmcm0iKTtkJiZHUShhLHEuc2xpY2UoKSxwLGIucWIpO2UmJkZRKGEscS5zbGljZSgpLHAsaCxsLGIucWIpO2YmJkVRKGEsbixiLnFiKTtnJiZEUShhLG4sYi5xYil9fSxJUT1mdW5jdGlvbigpe3RoaXMuUj0xO3RoaXMuWj17fTt0aGlzLks9LTE7dGhpcy5IPQpuZXcgd2d9O0lRLnByb3RvdHlwZS5OPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcyxkPW5ldyBzUShhLHRoaXMuWixiKSxlPXtldmVudElkOmEuTS5ldmVudElkLHByaW9yaXR5SWQ6YS5NLnByaW9yaXR5SWR9LGY9eVAoYSksZyxoO2YmJnRoaXMuSC5SKGQpfHx0aGlzLmZsdXNoKCk7dmFyIGw9ZiYmdGhpcy5ILmFkZChkKTtpZihsKXtpZih0aGlzLks8MCl7dmFyIG49QSxwPW4uc2V0VGltZW91dCxxO2JrKFpLKGEpKT9KUT8oSlE9ITEscT1LUSk6cT1MUTpxPTVFMzt0aGlzLks9cC5jYWxsKG4sZnVuY3Rpb24oKXtjLmZsdXNoKCl9LHEpfX1lbHNle3ZhciByPXpnKGQsdGhpcy5SKyspLHQ9ci5wYXJhbXMsdT1yLmJvZHk7Zz10O2g9dTtGeSgzLGEuZXZlbnROYW1lKTtDUShkLmJhc2VVcmwsdCx1LGQuTix7ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmQuZW5kcG9pbnQsZXZlbnRJZDpkLmV2ZW50SWQscHJpb3JpdHlJZDpkLnByaW9yaXR5SWR9KTsKdmFyIHY9UShhLEguSi5oZCkseD1RKGEsSC5KLnJnKSx5PVEoYSxILkouTmgpLHo9UShhLEguSi5NaCksQz1PKGEuTSxGLkQudWkpIT09ITEsRD1TdChhLk0pLEk9e3h0OnYsQnQ6eCxBdDp5LHp0OnosWnI6RW0oKSxtdjpDLGx2OkQsQ3M6QW0oKSxxYjplLE06YS5NLFByOkRtKCksR3Q6Q3AoYSl9O0hRKGQsSSl9Zm4uSCYmQXooYS5NLmV2ZW50SWQpO05sKGZ1bmN0aW9uKCl7aWYobCl7dmFyIEc9emcoZCksTj1HLmJvZHk7Zz1HLnBhcmFtcztoPU59cmV0dXJue3RhcmdldElkOmEudGFyZ2V0LmRlc3RpbmF0aW9uSWQscmVxdWVzdDp7dXJsOmQuYmFzZVVybCsiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLHBvc3RCb2R5OmgsZW5kcG9pbnQ6ZC5lbmRwb2ludH0scWI6ZSxpc0JhdGNoZWQ6ITF9fSl9O0lRLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7WUsoYSkmJiF4UCgpP3RoaXMuZmEoYSk6dGhpcy5OKGEpfTtJUS5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtpZih0aGlzLkguZXZlbnRzLmxlbmd0aCl7dmFyIGE9CkJnKHRoaXMuSCx0aGlzLlIrKyk7Q1EodGhpcy5ILmJhc2VVcmwsYS5wYXJhbXMsYS5ib2R5LHRoaXMuSC5LLHtkZXN0aW5hdGlvbklkOnRoaXMuSC5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDp0aGlzLkguZW5kcG9pbnQsZXZlbnRJZDp0aGlzLkguWixwcmlvcml0eUlkOnRoaXMuSC5mYX0pO3RoaXMuSD1uZXcgd2c7dGhpcy5LPj0wJiYoQS5jbGVhclRpbWVvdXQodGhpcy5LKSx0aGlzLks9LTEpfX07SVEucHJvdG90eXBlLmZhPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1ZSyhhKTtNKDU2OCkmJiFNKDU4NikmJlIoYSxGLkQuQmMpPT09ImEiJiYoYz1jdyhjKSk7aWYoRXcoYykpe3ZhciBkPXN3KGMpO2Q/ZC50aGVuKGZ1bmN0aW9uKGYpe2IuTihhLGYpfSxmdW5jdGlvbigpe2IuTihhKX0pOnRoaXMuTihhKX1lbHNle3ZhciBlPUR3KGMpO3RoaXMuTihhLGUpfX07dmFyIEtRPU5mKDI0LDUwMCksTFE9TmYoNTYsNUUzKSxKUT0hMDt2YXIgTVE9ZnVuY3Rpb24oYSl7dmFyIGI9U3QoYS5NKTtPKGEuTSxGLkQuV2IpPT09ITAmJihiPSExKTtWKGEsSC5KLndkLGIpfTsKdmFyIE5RPWZ1bmN0aW9uKGEsYixjKXtjPT09dm9pZCAwJiYoYz17fSk7aWYoYj09bnVsbClyZXR1cm4gYztpZih0eXBlb2YgYj09PSJvYmplY3QiKWZvcih2YXIgZD1tKE9iamVjdC5rZXlzKGIpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtOUShhKyIuIitmLGJbZl0sYyl9ZWxzZSBjW2FdPWI7cmV0dXJuIGN9LE9RPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj17fSxjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWU7YltlXT0hIVhvKGUpfXJldHVybiBifSxRUT1mdW5jdGlvbihhLGIpe3ZhciBjPVBRLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hWG8oZSl9KTtpZihjLmxlbmd0aCl7dmFyIGQ9T1EoYyk7JG8oYyxmdW5jdGlvbigpe2Zvcih2YXIgZT1PUShjKSxmPVtdLGc9bShjKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZTshZFtsXSYmZVtsXSYmZi5wdXNoKGwpO2VbbF0mJgooZFtsXT0hMCl9aWYoZi5sZW5ndGgpe1YoYixILkouR2gsITApO3ZhciBuPWYubWFwKGZ1bmN0aW9uKHApe3JldHVybiBMb1twXX0pLmpvaW4oIi4iKTtuJiZXSyhiLCJnY3V0IixuKTtNUShiKTthKGIpfX0pfX0sUlE9ZnVuY3Rpb24oYSl7UihhLEYuRC5XYykmJiFiayhaSyhhKSkmJlUoYSxGLkQuV2MpfSxTUT1mdW5jdGlvbihhKXtiayhaSyhhKSkmJldLKGEsIm5hdnQiLHFkKCkpfSxUUT1mdW5jdGlvbihhKXtiayhaSyhhKSkmJldLKGEsImxwYyIsaXIoKSl9LFVRPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9TyhhLk0sRi5ELldiKSxjO2I9PT0hMCYmKGM9IjEiKTtiPT09ITEmJihjPSIwIik7YyYmV0soYSwicmRwIixjKX19LFZRPWZ1bmN0aW9uKGEsYil7aWYoYmsoWksoYikpKXt2YXIgYz1RKGIsSC5KLm1nKTsoYi5ldmVudE5hbWU9PT0icGFnZV92aWV3Inx8YykmJlFRKGEsYil9fSxXUT1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkmJmEuZXZlbnROYW1lPT09Ri5ELnlmJiYKUShhLEguSi5HaCkpe3ZhciBiPVIoYSxGLkQueGkpO2ImJihXSyhhLCJnY3V0IixiKSxXSyhhLCJzeW4iLDEpKX19LFhRPWZ1bmN0aW9uKGEsYixjKXtpZihhPT09YilyZXR1cm4gV2ooKSYmU2IoYysiLyIsWGooKSsiLyIpPyI3IjoiMSI7aWYoVGIoYSwiLiIrYikpcmV0dXJuIjIiO2lmKFRiKGIsIi4iK2EpKXJldHVybiIzIjt2YXIgZD1hLnNwbGl0KCIuIiksZT1iLnNwbGl0KCIuIiksZj1mdW5jdGlvbihnKXtpZihkLmxlbmd0aDxnfHxlLmxlbmd0aDxnKXJldHVybiExO2Zvcih2YXIgaD0xO2g8PWc7aCsrKWlmKGRbZC5sZW5ndGgtaF0hPT1lW2UubGVuZ3RoLWhdKXJldHVybiExO3JldHVybiEwfTtyZXR1cm4gZigzKT8iNiI6ZigyKT8iNSI6IjQifSxZUT1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkpe3ZhciBiPWVrKGEuTSk7aWYoYil7dmFyIGM9WWooYiwiLyIpLGQ9UmooYyksZT1OaihkLCJob3N0IiksZj1OaihBLmxvY2F0aW9uLCJob3N0Iik7aWYoZSYmZil7dmFyIGc9TmooZCwKInBhdGgiKTthLm1lcmdlSGl0RGF0YUZvcktleShGLkQuVGEse3NzdGQ6WFEoZSxmLGcpfSl9fX19LFpRPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmVihhLEguSi5KYSwhMSl9LCRRPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmKFEoYSxILkouSmEpJiZXSyhhLCJzcCIsMSksUShhLEguSi5JcSkmJldLKGEsInN5biIsMSksUShhLEguSi5QYykmJihXSyhhLCJlbV9ldmVudCIsMSksV0soYSwic3AiLDEpKSl9LGFSPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9JGsoMjUpO2ImJldLKGEsInRmdCIsTnVtYmVyKGIpKX19LGJSPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZSl7dmFyIGY9TlEoRi5ELkFjLGUpO0diKGYsZnVuY3Rpb24oZyxoKXtVKGEsZyxoKX0pfWlmKGJrKFpLKGEpKSl7dmFyIGM9ZEkoYSwiY2NkX2FkZF8xcF9kYXRhIiwhMSk/MTowO1dLKGEsInVkZSIsYyk7dmFyIGQ9TyhhLk0sRi5ELkFjKTtkIT09dm9pZCAwPyhadihkKSxiKGQpLFUoYSxGLkQuQmMsImMiKSk6CmIoUShhLEguSi5ZYSkpO1YoYSxILkouWWEpfX0sY1I9ZnVuY3Rpb24oYSl7aWYoYmsoWksoYSkpKXt2YXIgYj1WTSgpO2ImJldLKGEsInVzX3ByaXZhY3kiLGIpO3ZhciBjPUx0KCk7YyYmV0soYSwiZ2RwciIsYyk7dmFyIGQ9S3QoKTtkJiZXSyhhLCJnZHByX2NvbnNlbnQiLGQpO3ZhciBlPWtGLmdwcFN0cmluZztlJiZXSyhhLCJncHAiLGUpO3ZhciBmPWtGLkg7ZiYmV0soYSwiZ3BwX3NpZCIsZil9fSxkUj1mdW5jdGlvbihhKXtiayhaSyhhKSkmJkVsKCkmJk8oYS5NLEYuRC5tYikmJldLKGEsImFkciIsMSl9LGVSPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9RG0oKTtiJiZXSyhhLCJnY3N1YiIsYil9fSxmUj1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkpe08oYS5NLEYuRC5TYyx2b2lkIDAsNCk9PT0hMSYmV0soYSwibmdzIiwxKTtBbSgpJiZXSyhhLCJnYV9yZCIsMSk7VksoKXx8V0soYSwibmdzdCIsMSk7dmFyIGI9RW0oKTtiJiZXSyhhLCJldGxkIixiKX19LGdSPQpmdW5jdGlvbihhKXt9LGhSPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmRWwoKSYmV0soYSwicm5kIixRTSgpKX0sUFE9W0YuRC5rYSxGLkQubWEsRi5ELlhhXTsKdmFyIGlSPWZ1bmN0aW9uKGEsYil7dmFyIGM7YTp7aWYoIVEoYSxILkouRmMpKXt2YXIgZD1UUChhKTtpZihkKXtpZihSUChkLGEpKXtjPWQ7YnJlYWsgYX1QKDI1KTthLmlzQWJvcnRlZD0hMH19Yz12b2lkIDB9dmFyIGU9YztyZXR1cm57Y2xpZW50SWQ6RVAoYSxiKSx6YjplfX0salI9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1RbyhPKGEuTSxGLkQuS2IpKTtpZihPKGEuTSxGLkQuWmMpJiZPKGEuTSxGLkQuWWMpKWY/Q1AoYSxmLDEpOihQKDEyNyksYS5pc0Fib3J0ZWQ9ITApO2Vsc2V7dmFyIGc9Zj8xOjg7VihhLEguSi5IaCwhMSk7Znx8KGY9RlAoYSksZz0zKTtmfHwoZj1iLGc9NSk7aWYoIWYpe3ZhciBoPVhvKEYuRC5yYSksbD16UCgpO2Y9IWwuZnJvbV9jb29raWV8fGg/bC52aWQ6dm9pZCAwO2c9Nn1mP2Y9IiIrZjooZj1BdigpLGc9NyxWKGEsSC5KLm5nLCEwKSxWKGEsSC5KLkhoLCEwKSk7Q1AoYSxmLGcpfVIoYSxGLkQuS2IpO2lmKCFRKGEsSC5KLkZjKSl7dmFyIG49ClEoYSxILkouRWIpLHA9TWF0aC5mbG9vcihuLzFFMykscT12b2lkIDA7UShhLEguSi5IaCl8fChxPVNQKGEpfHxjKTt2YXIgcj1JYihPKGEuTSxGLkQueWgsMzApKTtyPU1hdGgubWluKDQ3NSxyKTtyPU1hdGgubWF4KDUscik7dmFyIHQ9SWIoTyhhLk0sRi5ELlBpLDFFNCkpLHU9TFAocSk7VihhLEguSi5uZywhMSk7VihhLEguSi5UZSwhMSk7VihhLEguSi5wZywwKTt1JiZ1LmomJlYoYSxILkoucGcsTWF0aC5tYXgoMCx1LmotTWF0aC5tYXgoMCxwLXUudCkpKTt2YXIgdj0hMTtpZighdSl7VihhLEguSi5uZywhMCk7dj0hMDt2YXIgeD17fTt1PSh4LnM9U3RyaW5nKHApLHgubz0xLHguZz0hMSx4LnQ9cCx4Lmw9ITEseC5oPXZvaWQgMCx4KX1wPnUudCtyKjYwJiYodj0hMCx1LnM9U3RyaW5nKHApLHUubysrLHUuZz0hMSx1Lmg9dm9pZCAwKTtpZih2KVYoYSxILkouVGUsITApLGQubHMoYSk7ZWxzZSBpZihkLlhyKCk+dHx8YS5ldmVudE5hbWU9PT1GLkQuc2MpdS5nPSEwO1EoYSxILkoubGcpPwpPKGEuTSxGLkQuZmIpP3UubD0hMDp1Lmw9ITE6dS5sPSExO3ZhciB5PXUuaDtpZihRKGEsSC5KLmxnKXx8YmsoWksoYSkpKXt2YXIgej1PKGEuTSxGLkQub2gpLEM9ej8xOjg7enx8KHo9eSxDPTQpO3p8fCh6PXp2KCksQz03KTt2YXIgRD16LnRvU3RyaW5nKCksST1DLEc9UShhLEguSi50bCk7aWYoRz09PXZvaWQgMHx8STw9RylVKGEsRi5ELm9oLEQpLFYoYSxILkoudGwsSSl9ZT8oYS5jb3B5VG9IaXREYXRhKEYuRC54Yyx1LnMpLGEuY29weVRvSGl0RGF0YShGLkQuQWgsdS5vKSxhLmNvcHlUb0hpdERhdGEoRi5ELnpoLHUuZz8xOjApKTooVShhLEYuRC54Yyx1LnMpLFUoYSxGLkQuQWgsdS5vKSxVKGEsRi5ELnpoLHUuZz8xOjApKTtWKGEsSC5KLnJtLHUubD8xOjApO1dqKCkmJlYoYSxILkoub2csdS5kfHxjYygpKX19Owp2YXIga1I9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCI/IiksYz1iPT09LTE/YTphLnN1YnN0cmluZygwLGIpLGQ9S2ooYyk7ZCYmKGM9ZCk7cmV0dXJuIGI9PT0tMT9jOiIiK2MrYS5zdWJzdHJpbmcoYil9LGxSPWZ1bmN0aW9uKGEpe2lmKCFPKGEuTSxGLkQuWWMpfHwhTyhhLk0sRi5ELlpjKSl7dmFyIGI9YS5jb3B5VG9IaXREYXRhLGM9Ri5ELnphLGQ9IiIsZT1CLmxvY2F0aW9uO2lmKGUpe3ZhciBmPWUucGF0aG5hbWV8fCIiO2YuY2hhckF0KDApIT09Ii8iJiYoZj0iLyIrZik7dmFyIGc9ZS5zZWFyY2h8fCIiO2lmKGdbMF09PT0iPyIpZm9yKHZhciBoPWcuc3Vic3RyaW5nKDEpLnNwbGl0KCImIiksbD0wO2w8aC5sZW5ndGg7KytsKXt2YXIgbj1oW2xdLnNwbGl0KCI9Iik7biYmbi5sZW5ndGg9PT0yJiZuWzBdPT09IndicmFpZCImJihnPWcucmVwbGFjZSgvKFs/Jl0pd2JyYWlkPVteJl0rLywiJDF3YnJhaWQ9IiskYihuWzFdKSkpfWQ9ZS5wcm90b2NvbCsiLy8iK2UuaG9zdG5hbWUrCmYrZ31iLmNhbGwoYSxjLGQsa1IpO3ZhciBwPWEuY29weVRvSGl0RGF0YSxxPUYuRC5VYSxyPXVBKCJndG0uZ3RhZ1JlZmVycmVyLiIrYS50YXJnZXQuZGVzdGluYXRpb25JZCksdD1CLnJlZmVycmVyO3AuY2FsbChhLHEsKHI/IiIrcjp0KXx8dm9pZCAwLGtSKTthLmNvcHlUb0hpdERhdGEoRi5ELk1iLEIudGl0bGUpO2EuY29weVRvSGl0RGF0YShGLkQudGIsKEhjLmxhbmd1YWdlfHwiIikudG9Mb3dlckNhc2UoKSk7dmFyIHU9cUkoKTthLmNvcHlUb0hpdERhdGEoRi5ELmJkLHUud2lkdGgrIngiK3UuaGVpZ2h0KTthLmNvcHlUb0hpdERhdGEoRi5ELllmLHZvaWQgMCxrUik7VE0oKSYmYS5jb3B5VG9IaXREYXRhKEYuRC5QZCwiMSIpfX07dmFyIG5SPWZ1bmN0aW9uKGEpe3ZhciBiPXhDKGEuTSksYz1mdW5jdGlvbihkLGUpe21SW2RdJiZVKGEsZCxlKX07Q2QoYltGLkQuS2ZdKT9HYihiW0YuRC5LZl0sZnVuY3Rpb24oZCxlKXtjKChGLkQuS2YrIl8iK2QpLnRvTG93ZXJDYXNlKCksZSl9KTpHYihiLGMpfSxvUj17fSxtUj0ob1JbRi5ELkdmXT0xLG9SW0YuRC5IZl09MSxvUltGLkQuSWZdPTEsb1JbRi5ELkpmXT0xLG9SW0YuRC5MZl09MSxvUltGLkQuTWZdPTEsb1IpO3ZhciBwUj1mdW5jdGlvbihhKXtpZighYmsoWksoYSkpJiZRKGEsSC5KLm1nKSYmWG8oRi5ELmthKSYmZEkoYSwiZ2E0X2Fkc19saW5rZWQiLCExKSl7dmFyIGI9TEsoYSksYz1IcihiLnByZWZpeCksZD1ScyhjKTtVKGEsRi5ELkJlLGQuRWcpO1UoYSxGLkQuRGUsZC5XaCk7VShhLEYuRC5DZSxkLlVoKX19O3ZhciBxUj1mdW5jdGlvbihhKXt2YXIgYj1PKGEuTSxGLkQuWmMpO2ImJklQKEouVS54bik7UShhLEguSi5QYykmJklQKEouVS5Oayk7dmFyIGM9eWsoemsoKSk7KGJ8fE1rKGMpfHxjJiZjLnBhcmVudCYmYy5jb250ZXh0JiZjLmNvbnRleHQuc291cmNlPT09NSkmJklQKEouVS5mbik7UShhLEguSi5jaikmJklQKEouVS5JbSk7UShhLEguSi5iaikmJklQKEouVS5IbSl9O3ZhciByUj1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLlZpKXx8bmV3IGVyO1EoYSxILkouYmopJiZRKGEsSC5KLmNqKSYmZnIoYiwyKTtWKGEsSC5KLlZpLGIpfTtmdW5jdGlvbiBzUihhKXthLmNvcHlUb0hpdERhdGEoRi5ELmZiKTt2YXIgYj1PKGEuTSxGLkQuV2QpO2ImJihLQyhiLGZ1bmN0aW9uKCl7fSksVShhLEYuRC5XZCxiKSl9O3ZhciB1Uj1mdW5jdGlvbihhKXtpZih0Ui5Nci5yZXBsYWNlKC9ccysvZywiIikuc3BsaXQoIiwiKS5pbmRleE9mKGEuZXZlbnROYW1lKT49MClhLmlzQWJvcnRlZD0hMDtlbHNle3ZhciBiPVhLKGEpO2ImJmIuYmxhY2tsaXN0ZWQmJihhLmlzQWJvcnRlZD0hMCl9fSx0Uj17TXI6TGYoMzEpfTtmdW5jdGlvbiB2UihhKXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4hIWMmJmMuY29udmVyc2lvbn07VihhLEguSi5tZyxiKFhLKGEpKSk7UShhLEguSi5uZykmJlYoYSxILkouWW0sYihYSyhhLCJmaXJzdF92aXNpdCIpKSk7UShhLEguSi5UZSkmJlYoYSxILkouYm4sYihYSyhhLCJzZXNzaW9uX3N0YXJ0IikpKX07dmFyIHdSPWZ1bmN0aW9uKGEpe0ZvLmhhc093blByb3BlcnR5KGEuZXZlbnROYW1lKSYmKFYoYSxILkouV20sITApLGEuY29weVRvSGl0RGF0YShGLkQuSGEpLGEuY29weVRvSGl0RGF0YShGLkQuZWIpKX07dmFyIHhSPWZ1bmN0aW9uKGEpe1EoYSxILkouYmUpP1YoYSxILkoubGcsITEpOmRJKGEsImNjZF9hZGRfZWNfc3RpdGNoaW5nIiwhMSkmJlYoYSxILkoubGcsITApfTt2YXIgeVI9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5wZyk7Yj1ifHwwO3ZhciBjPSEhUShhLEguSi5zYSksZD1iPT09MHx8YztWKGEsSC5KLmVqLGQpO2QmJlYoYSxILkoucGcsNjApfTt2YXIgQVI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9U3RyaW5nKHpSLmNvb2tpZSkuc3BsaXQoIjsiKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF0uc3BsaXQoIj0iKSxmPWVbMF0udHJpbSgpO2lmKGYmJmEoZikpe3ZhciBnPWUuc2xpY2UoMSkuam9pbigiPSIpLnRyaW0oKTtnJiYoZz1kZWNvZGVVUklDb21wb25lbnQoZykpO3ZhciBoPXZvaWQgMCxsPXZvaWQgMDsoKGg9YilbbD1mXXx8KGhbbF09W10pKS5wdXNoKGcpfX1yZXR1cm4gYn07dmFyIEJSPXdpbmRvdyx6Uj1kb2N1bWVudCxDUj1mdW5jdGlvbihhKXt2YXIgYj1CUi5fZ2FVc2VyUHJlZnM7aWYoYiYmYi5pb28mJmIuaW9vKCl8fHpSLmRvY3VtZW50RWxlbWVudC5oYXNBdHRyaWJ1dGUoImRhdGEtZ29vZ2xlLWFuYWx5dGljcy1vcHQtb3V0Iil8fGEmJkJSWyJnYS1kaXNhYmxlLSIrYV09PT0hMClyZXR1cm4hMDt0cnl7dmFyIGM9QlIuZXh0ZXJuYWw7aWYoYyYmYy5fZ2FVc2VyUHJlZnMmJmMuX2dhVXNlclByZWZzPT0ib28iKXJldHVybiEwfWNhdGNoKGYpe31mb3IodmFyIGQ9QVIoZnVuY3Rpb24oZil7cmV0dXJuIGY9PT0iQU1QX1RPS0VOIn0pLkFNUF9UT0tFTnx8W10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWlmKGRbZV09PSIkT1BUX09VVCIpcmV0dXJuITA7cmV0dXJuIHpSLmdldEVsZW1lbnRCeUlkKCJfX2dhT3B0T3V0RXh0ZW5zaW9uIik/ITA6ITF9O3ZhciBEUj1mdW5jdGlvbihhKXtpZihDUihhLnRhcmdldC5kZXN0aW5hdGlvbklkKSlQKDI4KSxhLmlzQWJvcnRlZD0hMDtlbHNle3ZhciBiPXhrKCk7aWYoYiYmQXJyYXkuaXNBcnJheShiLmRlc3RpbmF0aW9ucykpZm9yKHZhciBjPTA7YzxiLmRlc3RpbmF0aW9ucy5sZW5ndGg7YysrKWlmKENSKGIuZGVzdGluYXRpb25zW2NdKSl7UCgxMjUpO2EuaXNBYm9ydGVkPSEwO2JyZWFrfX19O3ZhciBFUj1mdW5jdGlvbihhKXt2YXIgYj1CLmxvY2F0aW9uLnByb3RvY29sO2IhPT0iaHR0cDoiJiZiIT09Imh0dHBzOiImJihQKDI5KSxhLmlzQWJvcnRlZD0hMCl9O3ZhciBGUj1mdW5jdGlvbihhKXtIYyYmSGMubG9hZFB1cnBvc2U9PT0icHJldmlldyImJihQKDMwKSxhLmlzQWJvcnRlZD0hMCl9O3ZhciBHUj1mdW5jdGlvbihhLGIpe2IuVGomJihWKGEsSC5KLnNhLCEwKSxiLlRqPSExLFdqKCkmJlYoYSxILkoub2csY2MoKSkpfTt2YXIgSFI9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjLGQpe0JvW2NdfHxkPT09dm9pZCAwfHxVKGEsYyxkKX1NKDU1MCkmJkdiKGEuTS5XYSxiKTtHYihhLk0uaGIsYik7R2IoYS5NLkVhLGIpfTt2YXIgSVI9ZnVuY3Rpb24oYSl7YS5ldmVudE5hbWU9PT1GLkQud2EmJihPKGEuTSxGLkQuVGQsITApPyhhLk0uRWFbRi5ELk9hXSYmKE0oNTUwKSYmKGEuTS5XYVtGLkQuT2FdPWEuTS5FYVtGLkQuT2FdKSxhLk0uaGJbRi5ELk9hXT1hLk0uRWFbRi5ELk9hXSxhLk0uRWFbRi5ELk9hXT12b2lkIDAsVShhLEYuRC5PYSkpLGEuZXZlbnROYW1lPUYuRC5zYyk6YS5pc0Fib3J0ZWQ9ITApfTsKdmFyIEpSPWZ1bmN0aW9uKGEpe2lmKE0oMTMyKSl7dmFyIGI9WksoYSk7aWYoYmsoYikpaWYoY2soYikpY2soWksoYSkpJiZhLm1lcmdlSGl0RGF0YUZvcktleShGLkQuVGEseyIzcGQiOiIxIn0pO2Vsc2UgaWYoIShOYygiOyB3diIpfHxOYygiRkJBTiIpfHxOYygiRkJBViIpfHxQYygpKSYmWG8oRi5ELnJhKSl7VihhLEguSi5kbiwhMCk7YmsoWksoYSkpJiZXSyhhLCJzd19leHAiLDEpO2E6e2lmKCFNKDEzMil8fCFiayhaSyhhKSl8fGNrKFpLKGEpKSlicmVhayBhO2I6e3ZhciBjPXtvdDpZaihlayhhLk0pLCIvXy9zZXJ2aWNlX3dvcmtlciIpfSxkO2Q9KGM9PT12b2lkIDA/e306Yykub3Q7dmFyIGU9aUwoZCk7aWYoZT09PW51bGx8fCFiZygiaW50ZXJuYWxfc3dfYWxsb3dlZCIsIiIpfHxqTChlLm9yaWdpbikpYnJlYWsgYjsKaWYoIUljKCkpe2dMKCkuSyh2b2lkIDAsdm9pZCAwLDYpO2JyZWFrIGJ9dmFyIGY9bmV3IGtMKGUpO29tKGptLmJhLk9oLHt9KVtlLm9yaWdpbl09Zjt9fX19fTt2YXIgTFI9ZnVuY3Rpb24oYSl7YS5jb3B5VG9IaXREYXRhKEYuRC5PbCk7TyhhLk0sRi5ELnhoKSYmKFUoYSxGLkQueGgsITApLGJrKFpLKGEpKXx8S1IoYSkpfSxLUj1mdW5jdGlvbihhKXt2YXIgYj1GLkQuYmQsYztjfHwoYz1mdW5jdGlvbigpe30pO1IoYSxiKSE9PXZvaWQgMCYmVShhLGIsYyhSKGEsYikpKX07dmFyIE1SPSJnY2xpZCBkY2xpZCBnY2xzcmMgd2JyYWlkIGdicmFpZCBnYWRfc291cmNlIGdhZF9jYW1wYWlnbmlkIHV0bV9zb3VyY2UgdXRtX21lZGl1bSB1dG1fY2FtcGFpZ24gdXRtX3Rlcm0gdXRtX2NvbnRlbnQgdXRtX2lkIi5zcGxpdCgiICIpO2Z1bmN0aW9uIE5SKCl7dmFyIGE9Qi5sb2NhdGlvbixiLGM9YT09bnVsbD92b2lkIDA6KGI9YS5zZWFyY2gpPT1udWxsP3ZvaWQgMDpiLnJlcGxhY2UoIj8iLCIiKSxkO2lmKGMpe2Zvcih2YXIgZT1bXSxmPUpqKGMsITApLGc9bShNUiksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciBsPWgudmFsdWUsbj1mW2xdO2lmKG4pZm9yKHZhciBwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciBxPW5bcF07cSE9PXZvaWQgMCYmZS5wdXNoKHtuYW1lOmwsdmFsdWU6cX0pfX1kPWV9ZWxzZSBkPVtdO3JldHVybiBkfTt2YXIgT1I9ZnVuY3Rpb24oYSl7dmFyIGI9TSgyNjYpLGM9TSgyNjcpO2lmKGJ8fGMpe3ZhciBkPVIoYSxGLkQuemEpO2lmKGQmJmQuaW5kZXhPZigiPyIpPT09LTEpe3ZhciBlPU5SKCk7aWYoZS5sZW5ndGghPT0wJiYoYiYmSVAoSi5VLkdtKSxjKSl7SVAoSi5VLkZtKTt2YXIgZj1lLm1hcChmdW5jdGlvbihnKXtyZXR1cm4gZy5uYW1lKyI9IitnLnZhbHVlfSkuam9pbigiJiIpO1UoYSxGLkQuemEsZCsiPyIrZil9fX19O3ZhciBQUj1bRi5ELnJhLEYuRC5rYV0sUVI9W0YuRC5yYSxGLkQua2EsRi5ELm1hXTsKZnVuY3Rpb24gUlIoYSl7dmFyIGIsYz1NKDUwNikmJiFkSShhLCJjY2RfZ2FfYWRzX2lkc19vcHRfb3V0IiwhMSksZD0hIWRJKGEsImdvb2dsZV9uZyIsITEpLGU9WG8oYz9kP1FSOmZwOlBSKSxmO2Y9ZEkoYSxGLkQuVWYsTyhhLk0sRi5ELlVmKSl8fCEhZEkoYSwiZ29vZ2xlX25nIiwhMSk7Yj17aGY6YyxFczpkLEdvOmUsZmY6ZixMZzohIWRJKGEsImdhNF9hZHNfbGlua2VkIiwhMSksYmk6QW0oKSxHajohVksoKSxGczpiayhaSyhhKSksRHM6ISFRKGEsSC5KLmJlKSxHczohIVEoYSxILkouVGUpLHVzOiEhTyhhLk0sRi5ELk5sKSxLczohIVEoYSxILkouZWopLHhnOk8oYS5NLEYuRC5TYyksbnI6TyhhLk0sRi5ELlNjLHZvaWQgMCw0KSxIczohIVEoYSxILkouRmMpfTtWKGEsSC5KLmNqLGIuZmYpO1YoYSxILkouYmosU1IoYikpO2IuaGYmJiFiLmZmJiZiLkxnJiZTUihiKSYmVShhLCJfJmlidCIsIjEiKTtTUihiKSYmYi5HbyYmKGIuaGY/Yi54ZyE9PSExfHxiLkxnOjEpJiZWKGEsCkguSi5ybiwhMCk7Yi5FcyYmIWIuYmkmJlUoYSxGLkQuTGUsMSk7KGIuaGY/Yi54ZzpiLm5yKT09PSExJiZVKGEsIl8mbmdzIiwiMSIpO1YoYSxILkouaGQsVFIoYikmJihiLkdzfHxiLnVzKSk7VihhLEguSi5yZyxUUihiKSYmYi5LcyYmIWIuYmkpfWZ1bmN0aW9uIFNSKGEpe3JldHVybiBhLmhmPyhhLkxnfHxhLmZmKSYmIWEuYmkmJiFhLkdqOmEuZmYmJmEueGchPT0hMSYmIWEuR2omJiFhLmJpfWZ1bmN0aW9uIFRSKGEpe2lmKGEuSHMpcmV0dXJuITE7aWYoYS5oZil7aWYoIWEuZmYmJiFhLkxnKXJldHVybiExfWVsc2UgaWYoIWEuZmYpcmV0dXJuITE7cmV0dXJuIGEuRnN8fGEuRHN8fGEuR2p8fChhLmhmP2EueGc9PT0hMSYmIWEuTGc6YS54Zz09PSExKXx8IWEuR28/ITE6ITB9O3ZhciBVUj1mdW5jdGlvbihhKXtzTCgpJiZVKGEsRi5ELkZlLCIxIil9O3ZhciBWUj1mdW5jdGlvbihhKXt2YXIgYj17cHJlZml4OlN0cmluZyhPKGEuTSxGLkQubmIsIiIpKSxwYXRoOlN0cmluZyhPKGEuTSxGLkQudmMsIi8iKSksZmxhZ3M6U3RyaW5nKE8oYS5NLEYuRC5UYiwiIikpLGRvbWFpbjpTdHJpbmcoTyhhLk0sRi5ELkxiLCJhdXRvIikpLHBkOk51bWJlcihPKGEuTSxGLkQuQ2IsNjMwNzJFMykpfTtWKGEsSC5KLkdhLGIpfTt2YXIgV1I9ZnVuY3Rpb24oYSl7aWYoTSg0MzUpfHxNKDU1Mykpe3ZhciBiPURtKCk7YiYmVihhLEguSi5BcSxiKX19O3ZhciBZUj1mdW5jdGlvbihhKXthLmNvcHlUb0hpdERhdGEoRi5ELlJpKTtmb3IodmFyIGI9TyhhLk0sRi5ELlJsKXx8W10sYz0wO2M8Yi5sZW5ndGg7YysrKXt2YXIgZD1iW2NdO2lmKGQucnVsZV9yZXN1bHQpe2EuY29weVRvSGl0RGF0YShGLkQuUmksZC50cmFmZmljX3R5cGUpO0lQKEouVS5Fbik7YnJlYWt9fX07dmFyIFpSPWZ1bmN0aW9uKGEpe2lmKGRJKGEsImdhNF9hZHNfbGlua2VkIiwhMSkmJmEuZXZlbnROYW1lPT09Ri5ELndhKXt2YXIgYj1PKGEuTSxGLkQudWMpIT09ITE7aWYoYil7dmFyIGM9TEsoYSk7Yy5wZCYmKGMucGQ9TWF0aC5taW4oYy5wZCw3Nzc2RTMpKTtQSyh7VG46YixtbzpPbyhPKGEuTSxGLkQuRGIpKSxRbzohIU8oYS5NLEYuRC56YyksVW46Y30pfX19O3ZhciAkUj1mdW5jdGlvbihhKXtWKGEsSC5KLk1oLCExKTtWKGEsSC5KLk5oLCExKTtpZighRG0oKSYmV2ooKSYmIWJrKFpLKGEpKSYmIVEoYSxILkouYmUpJiZRKGEsSC5KLmVqKSl7dmFyIGI9UShhLEguSi5yZyk7UShhLEguSi5vZykmJihiP1YoYSxILkouTmgsITApOlYoYSxILkouTWgsITApKX19O3ZhciBhUz1mdW5jdGlvbihhKXtPKGEuTSxGLkQuemMpJiYoWG8oRi5ELnJhKXx8TyhhLk0sRi5ELktiKXx8VShhLEYuRC5abSwhMCkpO3ZhciBiO3ZhciBjO2M9Yz09PXZvaWQgMD8zOmM7dmFyIGQ9QS5sb2NhdGlvbi5ocmVmO2lmKGQpe3ZhciBlPVJqKGQpLnNlYXJjaC5yZXBsYWNlKCI/IiwiIiksZj1JaihlLCJfZ2wiLCExLCEwKXx8IiI7Yj1mP1ZxKGYsYykhPT12b2lkIDA6ITF9ZWxzZSBiPSExO2ImJmJrKFpLKGEpKSYmV0soYSwiZ2x2IiwxKTtpZihhLmV2ZW50TmFtZSE9PUYuRC53YSlyZXR1cm57fTtPKGEuTSxGLkQuemMpJiZBcyhbImF3IiwiZGMiXSk7Q3MoWyJhdyIsImRjIl0pO3ZhciBnPSRQKGEpLGg9WlAoYSk7cmV0dXJuIE9iamVjdC5rZXlzKGcpLmxlbmd0aD9nOmh9O3ZhciBiUz1mdW5jdGlvbihhKXt2YXIgYj0hMDtiPWI9PT12b2lkIDA/ITE6YjtpZihNKDQyNSkmJiEocGwoKXx8YiYmUShhLEguSi5kail8fGEuZXZlbnROYW1lIT09Ri5ELndhfHxRKGEsSC5KLkZjKSkpe3ZhciBjPXt9LGQ9e30sZT17ZXZlbnRNZXRhZGF0YTpuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGEuTS5ldmVudE1ldGFkYXRhLChjW0guSi5GY109ITAsYyksYj97fTooZFtILkouRGNdPVguVi5LYSxkKSksbm9HdG1FdmVudDohMH0sZj1zQyhhLnRhcmdldC5kZXN0aW5hdGlvbklkLCJzdHJ1Y3R1cmVkX2RhdGEiLGEuTS5FYSk7bUQoZixhLk0uZXZlbnRJZCxlKX19Owp2YXIgZFM9ZnVuY3Rpb24oYSl7cmV0dXJuIWF8fGNTLnRlc3QoYSl8fERvLmhhc093blByb3BlcnR5KGEpfSxjUz0vXihffGdhX3xnb29nbGVffGd0YWdcLnxmaXJlYmFzZV8pLiokLyxlUz1mdW5jdGlvbihhKXt0aGlzLnlhPWE7dGhpcy5IPXRoaXMuemI9dGhpcy5jbGllbnRJZD12b2lkIDA7dGhpcy5qYT10aGlzLlI9ITE7dGhpcy5MYT0wO3RoaXMuTj0hMTt0aGlzLlo9e1RqOiExfTt0aGlzLmZhPW5ldyBJUTt0aGlzLks9bmV3IEhQfTtrPWVTLnByb3RvdHlwZTtrLlpzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLGU9YkModGhpcy55YSk7aWYoZSlpZihjLmV2ZW50TWV0YWRhdGFbSC5KLmFlXSYmYS5jaGFyQXQoMCk9PT0iXyIpYy5vbkZhaWx1cmUoKTtlbHNle2EhPT1GLkQud2EmJmEhPT1GLkQuSmImJmRTKGEpJiZQKDU4KTt2YXIgZj1uZXcgYUkoZSxhLGMpO1YoZixILkouRWIsYik7dmFyIGc9W0YuRC5yYV0saD1iayhaSyhmKSk7VihmLEguSi5kaixoKTtpZihkSShmLEYuRC5VZiwKTyhmLk0sRi5ELlVmKSl8fGgpZy5wdXNoKEYuRC5rYSksZy5wdXNoKEYuRC5tYSk7Rk0uZmEoZnVuY3Rpb24oKXticChmdW5jdGlvbigpe2QuYnQoZil9LGcpfSl9ZWxzZSBjLm9uRmFpbHVyZSgpfTtrLmJ0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dHJ5e0hNKGEpO2lmKGEuaXNBYm9ydGVkKXt0YigpO3JldHVybn1KTShhKTtEUihhKTt1UihhKTtFUihhKTtGUihhKTtJTShhKTt2YXIgYz17fTtlUShhLGMpO2lmKGEuaXNBYm9ydGVkKXthLk0ub25GYWlsdXJlKCk7dGIoKTtyZXR1cm59dGhpcy5IPWE7dmFyIGQ9Yy51cjtjLkhyPT09MCYmSVAoSi5VLm5sKTtkPT09MCYmSVAoSi5VLkxrKTtaTShhKTtWKGEsSC5KLnRnLGNvLmlhLnhkKTtWUihhKTtIUihhKTt0aGlzLkxxKGEpO3RoaXMuSy5LdChhKTtVKGEsRi5ELnppLGFsKDgsTkYpKTt4UihhKTtwTihhKTtaUihhKTtNUShhKTt0aGlzLkFvKGFTKGEpKTtiUyhhKTt2YXIgZT1hLmV2ZW50TmFtZT09PUYuRC53YTtlJiYodGhpcy5OPQohMCk7SVIoYSk7ZSYmIWEuaXNBYm9ydGVkJiZ0aGlzLkxhKys+MCYmSVAoSi5VLmhuKTtVTChhKTtqUihhLHRoaXMuY2xpZW50SWQsdGhpcy56Yix0aGlzLkssIXRoaXMuamEpO25SKGEpO2xSKGEpO09SKGEpO1hMKGEpO0dSKGEsdGhpcy5aKTt5UihhKTt2UihhKTt3UihhKTtZUihhKTthUShhKTtnUShhKTt3TShhKTtoUihhKTtZUShhKTtnUihhKTtmUihhKTtlUihhKTtkUihhKTtjUihhKTthUihhKTskUShhKTtXUShhKTtVUShhKTtUUShhKTtTUShhKTtiUShhKTtjUShhKTtPKGEuTSxGLkQueGgpJiYhYmsoWksoYSkpfHxHTShhKTtVUihhKTtXUihhKTtpTihhKTtWTChhKTtTTChhKTtsTihhKTtoTihhKTtYTShhLCExKTtzUihhKTtSUihhKTskUihhKTtOTShhKTtyUihhKTtwUihhKTtiUihhKTtaUShhKTtSUShhKTtxUihhKTshdGhpcy5OJiZRKGEsSC5KLlBjKSYmSVAoSi5VLnNsKTtKUChhKTtpZihNKDU3NSkpe2lmKGEuaXNBYm9ydGVkKXtpZighUShhLEguSi5TbykpYS5NLm9uRmFpbHVyZSgpOwp0YigpO3JldHVybn1pZihRKGEsSC5KLkphKSl7YS5NLm9uRmFpbHVyZSgpO3RiKCk7cmV0dXJufX1lbHNlIGlmKFEoYSxILkouSmEpfHxhLmlzQWJvcnRlZCl7YS5NLm9uRmFpbHVyZSgpO3RiKCk7cmV0dXJufXRoaXMuQW8oaVIoYSx0aGlzLmNsaWVudElkKSk7dGhpcy5qYT0hMDt0aGlzLkh0KGEpO0pSKGEpO1ZRKGZ1bmN0aW9uKGYpe2IuTW4oZil9LGEpO3RoaXMuSy5xaygpO0xSKGEpO2dOKGEpO1dMKGEpO1lNKGEpO2lmKGEuaXNBYm9ydGVkKXthLk0ub25GYWlsdXJlKCk7dGIoKTtyZXR1cm59dGhpcy5NbihhKTthLk0ub25TdWNjZXNzKCl9Y2F0Y2goZil7YS5NLm9uRmFpbHVyZSgpfXRiKCl9O2suTW49ZnVuY3Rpb24oYSl7dGhpcy5mYS5hZGQoYSl9O2suQW89ZnVuY3Rpb24oYSl7dmFyIGI9YS5jbGllbnRJZCxjPWEuemI7YiYmYyYmKHRoaXMuY2xpZW50SWQ9Yix0aGlzLnpiPWMpfTtrLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5mYS5mbHVzaCgpfTtrLkh0PWZ1bmN0aW9uKGEpe3ZhciBiPQp0aGlzO2lmKCF0aGlzLlIpe3ZhciBjPVhvKEYuRC5tYSksZD1YbyhGLkQucmEpOyRvKFtGLkQubWEsRi5ELnJhLEYuRC5rYV0sZnVuY3Rpb24oZSl7dmFyIGY7Zj0oZT09PXZvaWQgMD97fTplKS5jb25zZW50RXZlbnRJZDt2YXIgZz1YbyhGLkQubWEpLGg9WG8oRi5ELnJhKSxsPSExLG49e30scD17fTtpZihkIT09aCYmYi5IJiZiLnpiJiZiLmNsaWVudElkKXt2YXIgcT1iLmNsaWVudElkLHI7dmFyIHQ9TFAoYi56Yik7cj10P3QuaDp2b2lkIDA7aWYoaCl7dmFyIHU9RlAoYi5IKTtpZih1KXtiLmNsaWVudElkPXU7dmFyIHY9U1AoYi5IKTt2JiYoYi56Yj1QUCh2LGIuemIsYi5IKSl9ZWxzZSBEUChiLmNsaWVudElkLGIuSCksQVAoYi5jbGllbnRJZCwhMCk7UlAoYi56YixiLkgpO2w9ITA7bltGLkQuTmxdPXE7ciYmKG5bRi5ELmJxXT1yKX1lbHNlIGIuemI9dm9pZCAwLGIuY2xpZW50SWQ9dm9pZCAwLEEuZ2FHbG9iYWw9e319ZyYmIWMmJihsPSEwLHBbSC5KLkdoXT0hMCxuW0YuRC54aV09CkxvW0YuRC5tYV0pO2lmKGwpe3ZhciB4PXNDKGIueWEsRi5ELnlmLG4pO21EKHgsZiE9bnVsbD9mOmEuTS5ldmVudElkLHtldmVudE1ldGFkYXRhOnB9KX1kPWg7Yz1nO2IuWi5Uaj0hMH0pO3RoaXMuUj0hMH19O2suTHE9ZnVuY3Rpb24oYSl7YS5ldmVudE5hbWUhPT1GLkQuSmImJnRoaXMuSy5LcShhKX07dmFyIGdTPWZ1bmN0aW9uKGEpe2lmKCFmUyhhKSl7dmFyIGI9ITEsYz1mdW5jdGlvbigpeyFiJiZmUyhhKSYmKGI9ITAsYWQoQiwidmlzaWJpbGl0eWNoYW5nZSIsYyksYWQoQiwicHJlcmVuZGVyaW5nY2hhbmdlIixjKSxQKDU1KSl9OyRjKEIsInZpc2liaWxpdHljaGFuZ2UiLGMpOyRjKEIsInByZXJlbmRlcmluZ2NoYW5nZSIsYyk7UCg1NCl9fSxmUz1mdW5jdGlvbihhKXtpZigicHJlcmVuZGVyaW5nImluIEI/Qi5wcmVyZW5kZXJpbmc6Qi52aXNpYmlsaXR5U3RhdGU9PT0icHJlcmVuZGVyIilyZXR1cm4hMTthKCk7cmV0dXJuITB9O2Z1bmN0aW9uIGhTKGEpe2dTKGZ1bmN0aW9uKCl7dmFyIGI9YkMoYSk7aWYoYil7dmFyIGM9aVMoYiksZD1jby5pYS54ZCxlPVlDKCksZj1iQyhhLCEwKTtmJiZlLkgucmVnaXN0ZXIoZixjLGQsdm9pZCAwKX19KTt9ZnVuY3Rpb24gaVMoYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O3ZhciBjPW5ldyBlUyhhLmlkKSxkPWEucHJlZml4PT09Ik1DIjtiPWZ1bmN0aW9uKGUsZixnLGgpe2QmJihoLmV2ZW50TWV0YWRhdGFbSC5KLmJlXT0hMCk7Yy5acyhmLGcsaCl9O2pTKGEsYyk7cmV0dXJuIGJ9CmZ1bmN0aW9uIGpTKGEsYil7dmFyIGM9Yi5LO2MuaHQoZnVuY3Rpb24oKXtaayg5LCEwKTtZQygpLmZsdXNoKCk7aWYoYy5ZaCgpPj0xRTMmJmtkKCkpe3ZhciBkPXt9LGU9e2V2ZW50SWQ6cmooKSxldmVudE1ldGFkYXRhOihkW0guSi5La109ITAsZCksZGVmZXJyYWJsZTohMH07WkMoRi5ELnlmLHt9LGEuaWQsZSl9Yi5mbHVzaCgpO2MuQ28oZnVuY3Rpb24oKXtaayg5LCExKTtjLkNvKCl9KX0pO312YXIga1M9Si5VLnFsLGxTPUouVS5ybDtmdW5jdGlvbiBtUyhhLGIpe3ZhciBjPXRrKCk7YyYmYy5pbmRleE9mKGIpPi0xJiYoYVtILkouQ2NdPSEwKX1mdW5jdGlvbiBvUyhhLGIsYyl7dmFyIGQ9dGhpczt9b1MuUD0iaW50ZXJuYWwuZ3RhZ0NvbmZpZyI7ZnVuY3Rpb24gcFMoYSxiLGMsZCl7dmFyIGU9dGhpczt9cFMuUD0iaW50ZXJuYWwuZ3RhZ0Rlc3RpbmF0aW9uQ29uZmlnIjsKZnVuY3Rpb24gclMoYSxiKXt9CnJTLnB1YmxpY05hbWU9Imd0YWdTZXQiO2Z1bmN0aW9uIHNTKCl7dmFyIGE9e307cmV0dXJuIGF9O2Z1bmN0aW9uIHRTKGEpe310Uy5QPSJpbnRlcm5hbC5pbml0aWFsaXplU2VydmljZVdvcmtlciI7ZnVuY3Rpb24gdVMoYSxiKXt9dVMucHVibGljTmFtZT0iaW5qZWN0SGlkZGVuSWZyYW1lIjtmdW5jdGlvbiB2UyhhLGIsYyxkLGUpe312Uy5QPSJpbnRlcm5hbC5pbmplY3RIdG1sIjt2YXIgQVM9e2RsOjEsaWQ6MX07CmZ1bmN0aW9uIEJTKGEsYixjLGQpe31CUy5wdWJsaWNOYW1lPSJpbmplY3RTY3JpcHQiO2Z1bmN0aW9uIENTKCl7dmFyIGE9dm0sYj0hMTtiPSEhYS5IWyI1Il07cmV0dXJuIGJ9Q1MuUD0iaW50ZXJuYWwuaXNBdXRvUGlpRWxpZ2libGUiO2Z1bmN0aW9uIERTKGEpe3ZhciBiPSEwO3JldHVybiBifURTLnB1YmxpY05hbWU9ImlzQ29uc2VudEdyYW50ZWQiO2Z1bmN0aW9uIEVTKGEpe3ZhciBiPSExO3JldHVybiBifUVTLlA9ImludGVybmFsLmlzRGVidWdNb2RlIjtmdW5jdGlvbiBGUyhhKXt2YXIgYj0hMTtyZXR1cm4gYn1GUy5QPSJpbnRlcm5hbC5pc0Rlc3RpbmF0aW9uSW5pdGlhbGl6ZWQiO2Z1bmN0aW9uIEdTKCl7cmV0dXJuIEJtKCl9R1MuUD0iaW50ZXJuYWwuaXNEbWFSZWdpb24iO2Z1bmN0aW9uIEhTKCl7cmV0dXJuIFVCKCl9SFMuUD0iaW50ZXJuYWwuaXNEb21SZWFkeSI7ZnVuY3Rpb24gSVMoYSl7dmFyIGI9ITE7cmV0dXJuIGJ9SVMuUD0iaW50ZXJuYWwuaXNFbnRpdHlJbmZyYXN0cnVjdHVyZSI7ZnVuY3Rpb24gSlMoYSl7dmFyIGI9ITE7aWYoIXFoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJudW1iZXIiXSxbYV0pO2I9TShhKTtyZXR1cm4gYn1KUy5QPSJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIjtmdW5jdGlvbiBLUygpe3ZhciBhPSExO3JldHVybiBhfUtTLlA9ImludGVybmFsLmlzRnBmZSI7ZnVuY3Rpb24gTFMoKXt2YXIgYT0hMTtyZXR1cm4gYX1MUy5QPSJpbnRlcm5hbC5pc0djcEJyb3dzZXIiO2Z1bmN0aW9uIE1TKCl7dmFyIGE9ITE7cmV0dXJuIGF9TVMuUD0iaW50ZXJuYWwuaXNMYW5kaW5nUGFnZSI7ZnVuY3Rpb24gTlMoKXt2YXIgYT0hMTtyZXR1cm4gYX1OUy5QPSJpbnRlcm5hbC5pc09ndCI7ZnVuY3Rpb24gT1MoKXt2YXIgYTtyZXR1cm4gYX1PUy5QPSJpbnRlcm5hbC5pc1NhZmFyaVBjbUVsaWdpYmxlQnJvd3NlciI7ZnVuY3Rpb24gUFMoKXt2YXIgYT1RaChmdW5jdGlvbihiKXtYRih0aGlzKS5sb2coImVycm9yIixiKX0pO2EucHVibGljTmFtZT0iSlNPTiI7cmV0dXJuIGF9O2Z1bmN0aW9uIFFTKGEpe3ZhciBiPXZvaWQgMDtyZXR1cm4gVWQoYil9UVMuUD0iaW50ZXJuYWwubGVnYWN5UGFyc2VVcmwiO2Z1bmN0aW9uIFJTKCl7cmV0dXJuITF9CnZhciBTUz17Z2V0SXRlbTpmdW5jdGlvbihhKXt2YXIgYj1udWxsO3JldHVybiBifSxzZXRJdGVtOmZ1bmN0aW9uKGEsYil7cmV0dXJuITF9LHJlbW92ZUl0ZW06ZnVuY3Rpb24oYSl7fX07ZnVuY3Rpb24gVFMoKXt9VFMucHVibGljTmFtZT0ibG9nVG9Db25zb2xlIjtmdW5jdGlvbiBVUyhhLGIpe2lmKCFsaChhKXx8IWVoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJPYmplY3QiXSxhcmd1bWVudHMpO3ZhciBjPWEsZD1UZChiLHRoaXMuVCksZT1ZQygpLGY9YkMoYywhMCk7ZiYmVEMoZS5ILGYsZCk7fVVTLlA9ImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIjtmdW5jdGlvbiBWUyhhLGIsYyl7Yz1jPT09dm9pZCAwPyEwOmM7dmFyIGQ9W107cmV0dXJuIFVkKGQpfVZTLlA9ImludGVybmFsLnBhcnNlQ29va2llVmFsdWVzRnJvbVN0cmluZyI7ZnVuY3Rpb24gV1MoYSl7dmFyIGI9dm9pZCAwO2lmKHR5cGVvZiBhIT09InN0cmluZyIpcmV0dXJuO2EmJlNiKGEsIi8vIikmJihhPUIubG9jYXRpb24ucHJvdG9jb2wrYSk7aWYodHlwZW9mIFVSTD09PSJmdW5jdGlvbiIpe3ZhciBjO2E6e3ZhciBkO3RyeXtkPW5ldyBVUkwoYSl9Y2F0Y2goeCl7Yz12b2lkIDA7YnJlYWsgYX1mb3IodmFyIGU9e30sZj1BcnJheS5mcm9tKGQuc2VhcmNoUGFyYW1zKSxnPTA7ZzxmLmxlbmd0aDtnKyspe3ZhciBoPWZbZ11bMF0sbD1mW2ddWzFdO2UuaGFzT3duUHJvcGVydHkoaCk/dHlwZW9mIGVbaF09PT0ic3RyaW5nIj9lW2hdPVtlW2hdLGxdOmVbaF0ucHVzaChsKTplW2hdPWx9Yz17aHJlZjpkLmhyZWYsb3JpZ2luOmQub3JpZ2luLHByb3RvY29sOmQucHJvdG9jb2wsdXNlcm5hbWU6ZC51c2VybmFtZSxwYXNzd29yZDpkLnBhc3N3b3JkLGhvc3Q6ZC5ob3N0LGhvc3RuYW1lOmQuaG9zdG5hbWUsCnBvcnQ6ZC5wb3J0LHBhdGhuYW1lOmQucGF0aG5hbWUsc2VhcmNoOmQuc2VhcmNoLHNlYXJjaFBhcmFtczplLGhhc2g6ZC5oYXNofX1yZXR1cm4gVWQoYyl9dmFyIG47dHJ5e249UmooYSl9Y2F0Y2goeCl7cmV0dXJufWlmKCFuLnByb3RvY29sfHwhbi5ob3N0KXJldHVybjt2YXIgcD17fTtpZihuLnNlYXJjaClmb3IodmFyIHE9bi5zZWFyY2gucmVwbGFjZSgiPyIsIiIpLnNwbGl0KCImIikscj0wO3I8cS5sZW5ndGg7cisrKXt2YXIgdD1xW3JdLnNwbGl0KCI9IiksdT10WzBdLHY9S2oodC5zcGxpY2UoMSkuam9pbigiPSIpKXx8IiI7dj12LnJlcGxhY2UoL1wrL2csIiAiKTtwLmhhc093blByb3BlcnR5KHUpP3R5cGVvZiBwW3VdPT09InN0cmluZyI/cFt1XT1bcFt1XSx2XTpwW3VdLnB1c2godik6cFt1XT12fW4uc2VhcmNoUGFyYW1zPXA7bi5vcmlnaW49bi5wcm90b2NvbCsiLy8iK24uaG9zdDtuLnVzZXJuYW1lPSIiO24ucGFzc3dvcmQ9IiI7Yj1VZChuKTsKcmV0dXJuIGJ9V1MucHVibGljTmFtZT0icGFyc2VVcmwiO2Z1bmN0aW9uIFhTKGEpe31YUy5QPSJpbnRlcm5hbC5wcm9jZXNzQXNOZXdFdmVudCI7ZnVuY3Rpb24gWVMoYSxiLGMpe3ZhciBkO3JldHVybiBkfVlTLlA9ImludGVybmFsLnB1c2hUb0RhdGFMYXllciI7ZnVuY3Rpb24gWlMoYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpLGM9ITE7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO2Zvcih2YXIgZD1bdGhpcyxhXSxlPW0oYiksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpZC5wdXNoKFRkKGYudmFsdWUsdGhpcy5ULDEpKTt0cnl7TC5hcHBseShudWxsLGQpLGM9ITB9Y2F0Y2goZyl7cmV0dXJuITF9cmV0dXJuIGN9WlMucHVibGljTmFtZT0icXVlcnlQZXJtaXNzaW9uIjtmdW5jdGlvbiAkUyhhKXt2YXIgYj10aGlzO30kUy5QPSJpbnRlcm5hbC5xdWV1ZUFkc1RyYW5zbWlzc2lvbiI7ZnVuY3Rpb24gYVQoYSl7dmFyIGI9dm9pZCAwO3JldHVybiBifWFULnB1YmxpY05hbWU9InJlYWRBbmFseXRpY3NTdG9yYWdlIjtmdW5jdGlvbiBiVCgpe3ZhciBhPSIiO3JldHVybiBhfWJULnB1YmxpY05hbWU9InJlYWRDaGFyYWN0ZXJTZXQiO2Z1bmN0aW9uIGNUKCl7cmV0dXJuIEUoMTkpfWNULlA9ImludGVybmFsLnJlYWREYXRhTGF5ZXJOYW1lIjtmdW5jdGlvbiBkVCgpe3ZhciBhPSIiO3JldHVybiBhfWRULnB1YmxpY05hbWU9InJlYWRUaXRsZSI7ZnVuY3Rpb24gZVQoYSxiKXt2YXIgYz10aGlzO2lmKCFsaChhKXx8IWhoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJmdW5jdGlvbiJdLGFyZ3VtZW50cyk7TE0oYSxmdW5jdGlvbihkKXtiLmludm9rZShjLlQsVWQoZCxjLlQsMSkpfSk7fWVULlA9ImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siO2Z1bmN0aW9uIGZUKGEsYil7aWYoIWxoKGEpfHwhZWgoYikmJiFnaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwiT2JqZWN0fHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7aWYoQmgoWEYodGhpcykuUGIoKSkpcmV0dXJuITE7dmFyIGMsZCxlPWJDKGEsITApO2lmKCFlKXJldHVybiExO3N3aXRjaChlLnByZWZpeCl7Y2FzZSAiQVciOmM9dE47ZD1jby5pYS5jYjticmVhaztjYXNlICJEQyI6Yz1JTjtkPWNvLmlhLmNiO2JyZWFrO2Nhc2UgIkdGIjpjPU5OO2Q9Y28uaWEuZ2Q7YnJlYWs7Y2FzZSAiSEEiOmM9UE47ZD1jby5pYS5nZDticmVhaztjYXNlICJVQSI6Yz1mTztkPWNvLmlhLmdkO2JyZWFrO2Nhc2UgIk1DIjpjPWlTKGUpO2Q9Y28uaWEueGQ7YnJlYWs7Y2FzZSAiRyI6cmV0dXJuIGhTKGEpLCEwO2RlZmF1bHQ6cmV0dXJuITF9dmFyIGY9YSwKZz1jLGg9ZCxsPVRkKGIsdGhpcy5ULDEpLG49WUMoKSxwPWJDKGYsITApO3AmJm4uSC5yZWdpc3RlcihwLGcsaCxsKTtyZXR1cm4hMH1mVC5QPSJpbnRlcm5hbC5yZWdpc3RlckRlc3RpbmF0aW9uIjt2YXIgZ1Q9WyJldmVudCJdO2Z1bmN0aW9uIGhUKGEsYixjKXt9aFQuUD0iaW50ZXJuYWwucmVnaXN0ZXJHdGFnQ29tbWFuZExpc3RlbmVyIjtmdW5jdGlvbiBpVChhLGIpe3ZhciBjPSExO3JldHVybiBjfWlULlA9ImludGVybmFsLnJlbW92ZURhdGFMYXllckV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIGpUKGEsYil7fQpqVC5QPSJpbnRlcm5hbC5yZW1vdmVGb3JtRGF0YSI7ZnVuY3Rpb24ga1QoKXt9a1QucHVibGljTmFtZT0icmVzZXREYXRhTGF5ZXIiO2Z1bmN0aW9uIGxUKGEsYixjKXt2YXIgZD12b2lkIDA7cmV0dXJuIGR9bFQuUD0iaW50ZXJuYWwuc2NydWJVcmxQYXJhbXMiO2Z1bmN0aW9uIG1UKGEpe31tVC5QPSJpbnRlcm5hbC5zZW5kQWRzSGl0IjtmdW5jdGlvbiBuVChhLGIsYyxkKXtpZihhcmd1bWVudHMubGVuZ3RoPDJ8fCFmaChkKXx8IWZoKGMpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJhbnkiLCJhbnkiLCJPYmplY3R8dW5kZWZpbmVkIiwiT2JqZWN0fHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dmFyIGU9Yz9UZChjLHRoaXMuVCwxKTp7fSxmPVRkKGEpLGc9QXJyYXkuaXNBcnJheShmKT9mOltmXTtiPVN0cmluZyhiKTt2YXIgaD1kP1RkKGQpOnt9LGw9WEYodGhpcyk7aC5vcmlnaW5hdGluZ0VudGl0eT10RyhsKTtsLnByaW9yaXR5UXVldWUmJihoLnByaW9yaXR5UXVldWU9bC5wcmlvcml0eVF1ZXVlKTtmb3IodmFyIG49MDtuPGcubGVuZ3RoO24rKyl7dmFyIHA9Z1tuXTtpZih0eXBlb2YgcD09PSJzdHJpbmciKXt2YXIgcT17fTtFZChlLHEpO3ZhciByPXt9O0VkKGgscik7dmFyIHQ9c0MocCxiLHEpO21EKHQsCmguZXZlbnRJZHx8bC5ldmVudElkLHIpfX19blQuUD0iaW50ZXJuYWwuc2VuZEd0YWdFdmVudCI7ZnVuY3Rpb24gb1QoYSxiLGMpe31vVC5wdWJsaWNOYW1lPSJzZW5kUGl4ZWwiO2Z1bmN0aW9uIHBUKGEsYil7fXBULlA9ImludGVybmFsLnNldEFuY2hvckhyZWYiO2Z1bmN0aW9uIHFUKGEpe31xVC5QPSJpbnRlcm5hbC5zZXRDb250YWluZXJDb25zZW50RGVmYXVsdHMiO2Z1bmN0aW9uIHJUKGEsYixjLGQpe3ZhciBlPXRoaXM7ZD1kPT09dm9pZCAwPyEwOmQ7dmFyIGY9ITE7CnJldHVybiBmfXJULnB1YmxpY05hbWU9InNldENvb2tpZSI7ZnVuY3Rpb24gc1QoYSl7fXNULlA9ImludGVybmFsLnNldENvcmVQbGF0Zm9ybVNlcnZpY2VzIjtmdW5jdGlvbiB0VChhLGIpe310VC5QPSJpbnRlcm5hbC5zZXREYXRhTGF5ZXJWYWx1ZSI7ZnVuY3Rpb24gdVQoYSl7fXVULnB1YmxpY05hbWU9InNldERlZmF1bHRDb25zZW50U3RhdGUiO2Z1bmN0aW9uIHZUKGEsYil7fXZULlA9ImludGVybmFsLnNldERlbGVnYXRlZENvbnNlbnRUeXBlIjtmdW5jdGlvbiB3VChhLGIpe313VC5QPSJpbnRlcm5hbC5zZXRGb3JtQWN0aW9uIjtmdW5jdGlvbiB4VChhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7aWYoIWxoKGEpfHwhb2goYykpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImFueSIsImJvb2xlYW58dW5kZWZpbmVkIl0sYXJndW1lbnRzKTtpZigha20oYSkpdGhyb3cgRXJyb3IoInNldEluQ3Jvc3NDb250YWluZXJEYXRhIHJlcXVpcmVzIHZhbGlkIENyb3NzQ29udGFpbmVyU2NoZW1hIGtleS4iKTsoY3x8bm0oYSk9PT12b2lkIDApJiZtbShhLFRkKGIsdGhpcy5ULDEpKTt9eFQuUD0iaW50ZXJuYWwuc2V0SW5Dcm9zc0NvbnRhaW5lckRhdGEiO2Z1bmN0aW9uIHlUKGEsYixjKXtyZXR1cm4hMX15VC5wdWJsaWNOYW1lPSJzZXRJbldpbmRvdyI7ZnVuY3Rpb24gelQoYSxiLGMpe316VC5QPSJpbnRlcm5hbC5zZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiO2Z1bmN0aW9uIEFUKGEsYixjKXtpZighbGgoYSl8fCFsaChiKXx8YXJndW1lbnRzLmxlbmd0aCE9PTMpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInN0cmluZyIsImFueSJdLGFyZ3VtZW50cyk7Zm9yKHZhciBkPWIuc3BsaXQoIi4iKSxlPWVEKGEpLGY9MDtmPGQubGVuZ3RoLTE7ZisrKXtpZihlW2RbZl1dPT09dm9pZCAwKWVbZFtmXV09e307ZWxzZSBpZighQ2QoZVtkW2ZdXSkpdGhyb3cgRXJyb3IoInNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciBmYWlsZWQsIHBhdGggY29udGFpbnMgYSBub24tb2JqZWN0IHR5cGU6ICIrZFtmXSk7ZT1lW2RbZl1dfWVbZFtmXV09VGQoYyx0aGlzLlQsMSk7fUFULlA9ImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gQlQoYSxiKXt9CkJULlA9ImludGVybmFsLnNldFRyYW5zbWlzc2lvbk1vZGUiO2Z1bmN0aW9uIENUKGEsYixjLGQpe3ZhciBlPXRoaXM7fUNULnB1YmxpY05hbWU9InNoYTI1NiI7ZnVuY3Rpb24gRFQoYSxiLGMpe30KRFQuUD0iaW50ZXJuYWwuc29ydFJlbW90ZUNvbmZpZ1BhcmFtZXRlcnMiO2Z1bmN0aW9uIEVUKGEpe31FVC5QPSJpbnRlcm5hbC5zdG9yZUFkc0JyYWlkTGFiZWxzIjtmdW5jdGlvbiBGVChhLGIpe3ZhciBjPXZvaWQgMDtyZXR1cm4gY31GVC5QPSJpbnRlcm5hbC5zdWJzY3JpYmVUb0Nyb3NzQ29udGFpbmVyRGF0YSI7ZnVuY3Rpb24gR1QoYSl7fUdULlA9ImludGVybmFsLnRhc2tTZW5kQWRzSGl0cyI7dmFyIEhUPXtnZXRJdGVtOmZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7TCh0aGlzLCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSIpO3ZhciBjPVhGKHRoaXMpLlBiKCksZD1hbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KTtkW2NdJiYoYj1kW2NdLmhhc093blByb3BlcnR5KCJndG0uIithKT9kW2NdWyJndG0uIithXTpudWxsKTtyZXR1cm4gYn0sc2V0SXRlbTpmdW5jdGlvbihhLGIpe0wodGhpcywiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiKTt2YXIgYz1YRih0aGlzKS5QYigpLGQ9YWwoNyxmdW5jdGlvbigpe3JldHVybnt9fSk7ZFtjXT1kW2NdfHx7fTtkW2NdWyJndG0uIithXT1iO30sCnJlbW92ZUl0ZW06ZnVuY3Rpb24oYSl7TCh0aGlzLCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSIpO3ZhciBiPVhGKHRoaXMpLlBiKCksYz1hbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KTtpZighY1tiXXx8IWNbYl0uaGFzT3duUHJvcGVydHkoImd0bS4iK2EpKXJldHVybjtkZWxldGUgY1tiXVsiZ3RtLiIrYV07fSxjbGVhcjpmdW5jdGlvbigpe0wodGhpcywiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiKTt2YXIgYT1YRih0aGlzKS5QYigpO2RlbGV0ZSBhbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KVthXTt9LApwdWJsaWNOYW1lOiJ0ZW1wbGF0ZVN0b3JhZ2UifTtmdW5jdGlvbiBJVChhLGIpe3ZhciBjPSExO3JldHVybiBjfUlULlA9ImludGVybmFsLnRlc3RSZWdleCI7ZnVuY3Rpb24gSlQoYSl7dmFyIGI7cmV0dXJuIGJ9O2Z1bmN0aW9uIEtUKGEsYil7fUtULlA9ImludGVybmFsLnRyYWNrVXNhZ2UiO2Z1bmN0aW9uIExUKGEsYil7dmFyIGM7cmV0dXJuIGN9TFQuUD0iaW50ZXJuYWwudW5zdWJzY3JpYmVGcm9tQ3Jvc3NDb250YWluZXJEYXRhIjtmdW5jdGlvbiBNVChhKXt9TVQucHVibGljTmFtZT0idXBkYXRlQ29uc2VudFN0YXRlIjtmdW5jdGlvbiBOVChhKXt2YXIgYj0hMTtyZXR1cm4gYn1OVC5QPSJpbnRlcm5hbC51c2VyRGF0YU5lZWRzRW5jcnlwdGlvbiI7dmFyIE9UPWZ1bmN0aW9uKCl7dGhpcy5IPW5ldyBhaX0sUVQ9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGI7dmFyIGM9UFQuSDtpZihjLmNvbnRhaW5zKGEpKWI9Yy5nZXQoYSx0aGlzKTtlbHNle3ZhciBkO2lmKGQ9Yy5ILmhhc093blByb3BlcnR5KGEpKXt2YXIgZT10aGlzLlQueGIoKTtpZihlKXt2YXIgZj0hMSxnPWUuUGIoKTtpZihnKXtCaChnKXx8KGY9ITApO31kPWZ9ZWxzZSBkPSEwfWlmKGQpe3ZhciBoPWMuSC5oYXNPd25Qcm9wZXJ0eShhKT9jLkhbYV06dm9pZCAwO2I9aH1lbHNlIHRocm93IEVycm9yKGErIiBpcyBub3QgYSB2YWxpZCBBUEkgbmFtZS4iKTt9cmV0dXJuIGJ9fSxQVDtmdW5jdGlvbiBSVChhLGIsYyl7UFR8fChQVD1uZXcgT1QpO1BULkguYWRkKGEsYixjKX1mdW5jdGlvbiBTVChhLGIpe1BUfHwoUFQ9bmV3IE9UKTt2YXIgYz1QVC5IO2lmKGMuSC5oYXNPd25Qcm9wZXJ0eShhKSl0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBhZGQgYSBwcml2YXRlIGZ1bmN0aW9uIHdoaWNoIGFscmVhZHkgZXhpc3RzOiAiK2ErIi4iKTtpZihjLmNvbnRhaW5zKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFkZCBhIHByaXZhdGUgZnVuY3Rpb24gd2l0aCBhbiBleGlzdGluZyBBUEkgbmFtZTogIithKyIuIik7Yy5IW2FdPXliKGIpP3RoKGEsYik6dWgoYSxiKX07ZnVuY3Rpb24gVFQoYSxiKXtmdW5jdGlvbiBjKGQpe2lmKCFlaChkKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0Il0sYXJndW1lbnRzKTt2YXIgZT1UZChkLHRoaXMuVCwxKS5yYigpO2EoZSl9Yy5QPSJpbnRlcm5hbC4iK2I7cmV0dXJuIGN9O2Z1bmN0aW9uIFVUKCl7dmFyIGE9ZnVuY3Rpb24oYyl7cmV0dXJuIHZvaWQgU1QoYy5QLGMpfSxiPWZ1bmN0aW9uKGMpe3JldHVybiB2b2lkIFJUKGMucHVibGljTmFtZSxjKX07YihSRik7YihZRik7YihSRyk7YihURyk7YihVRyk7YihkSCk7YihmSCk7YihoSSk7YihQUygpKTtiKGpJKTtiKE9PKTtiKFBPKTtiKGxQKTtiKG1QKTtiKG5QKTtiKHVQKTtiKHZQKTtiKHJTKTtiKHVTKTtiKEJTKTtiKERTKTtiKFRTKTtiKFdTKTtiKFpTKTtiKGFUKTtiKGJUKTtiKGRUKTtiKG9UKTtiKHJUKTtiKHVUKTtiKHlUKTtiKENUKTtiKEhUKTtiKE1UKTtSVCgiTWF0aCIsemgoKSk7UlQoIk9iamVjdCIsWmgpO1JUKCJUZXN0SGVscGVyIixjaSgpKTtSVCgiYXNzZXJ0QXBpIix3aCk7UlQoImFzc2VydFRoYXQiLHhoKTtSVCgiZGVjb2RlVXJpIixDaCk7UlQoImRlY29kZVVyaUNvbXBvbmVudCIsRGgpO1JUKCJlbmNvZGVVcmkiLEVoKTtSVCgiZW5jb2RlVXJpQ29tcG9uZW50IixGaCk7UlQoImZhaWwiLApMaCk7UlQoImdlbmVyYXRlUmFuZG9tIixOaCk7UlQoImdldFRpbWVzdGFtcCIsT2gpO1JUKCJnZXRUaW1lc3RhbXBNaWxsaXMiLE9oKTtSVCgiZ2V0VHlwZSIsUGgpO1JUKCJtYWtlSW50ZWdlciIsUmgpO1JUKCJtYWtlTnVtYmVyIixTaCk7UlQoIm1ha2VTdHJpbmciLFRoKTtSVCgibWFrZVRhYmxlTWFwIixVaCk7UlQoIm1vY2siLFhoKTtSVCgibW9ja09iamVjdCIsWWgpO1JUKCJmcm9tQmFzZTY0IixITywhKCJhdG9iImluIEEpKTtSVCgibG9jYWxTdG9yYWdlIixTUywhUlMoKSk7UlQoInRvQmFzZTY0IixKVCwhKCJidG9hImluIEEpKTthKFFGKTthKFVGKTthKG5HKTthKHNHKTthKElHKTthKFBHKTthKFNHKTthKFZHKTthKFdHKTthKFpHKTthKCRHKTthKGFIKTthKGJIKTthKGNIKTthKGVIKTthKGdIKTthKGdJKTthKGlJKTthKGtJKTthKGxJKTthKG1JKTthKG5JKTthKG9JKTthKGZKKTthKG1KKTthKHRKKTthKHVKKTthKEFKKTthKEZKKTthKEtKKTthKFJKKTthKFdKKTthKGdLKTsKYShpSyk7YSh2Syk7YSh3Syk7YSh4Syk7YShGTyk7YShHTyk7YShJTyk7YShKTyk7YShLTyk7YShMTyk7YShNTyk7YShOTyk7YShRTyk7YShSTyk7YShTTyk7YShUTyk7YShVTyk7YShWTyk7YShXTyk7YShYTyk7YShZTyk7YShaTyk7YSgkTyk7YShhUCk7YShiUCk7YShjUCk7YShkUCk7YShlUCk7YShmUCk7YShnUCk7YShoUCk7YShpUCk7YShqUCk7YShrUCk7YShvUCk7YShwUCk7YShxUCk7YShyUCk7YShzUCk7YSh0UCk7YSh3UCk7YShvUyk7YShwUyk7YSh0Uyk7YSh2Uyk7YShDUyk7YShFUyk7YShGUyk7YShHUyk7YShIUyk7YShJUyk7YShKUyk7YShLUyk7YShMUyk7YShNUyk7YShOUyk7YShPUyk7YShRUyk7YShHRyk7YShVUyk7YShWUyk7YShYUyk7YShZUyk7YSgkUyk7YShjVCk7YShlVCk7YShmVCk7YShoVCk7YShpVCk7YShqVCk7YShsVCk7YShtVCk7YShuVCk7YShwVCk7YShxVCk7YShzVCk7YSh0VCk7YSh2VCk7YSh3VCk7YSh4VCk7YSh6VCk7YShBVCk7YShCVCk7YShEVCk7CmEoRVQpO2EoRlQpO2EoR1QpO2EoSVQpO2EoS1QpO2EoTFQpO2EoTlQpO1NUKCJpbnRlcm5hbC5JZnJhbWluZ1N0YXRlU2NoZW1hIixzUygpKTtTVCgiaW50ZXJuYWwucXVpY2tIYXNoIixNaCk7YShUVChNRiwidGFza1NldEFkc1RyYW5zbWlzc2lvblR5cGUiKSksYShUVChQRiwidGFza1NldFVuaXZlcnNhbFBhcmFtcyIpKTtQVHx8KFBUPW5ldyBPVCk7cmV0dXJuIFFUKCl9O3ZhciBKRjtmdW5jdGlvbiBWVCgpe0pGLnNkKGZ1bmN0aW9uKGEsYixjKXtsaigpO3ZhciBkPWpqO2QuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFPWQuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFfHwwO2QuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFKys7dHJ5e3JldHVybiBhLmFwcGx5KGIsYyl9ZmluYWxseXtsaigpLGpqLkguU0FOREJPWEVEX0pTX1NFTUFQSE9SRS0tfX0pfWZ1bmN0aW9uIFdUKGEpe2lmKGEmJmEubGVuZ3RoKWZvcih2YXIgYj1hbCgyNyxmdW5jdGlvbigpe3JldHVybnt9fSksYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLnJlcGxhY2UoL15fKi8sIiIpO2JbZF09WyJzYW5kYm94ZWRTY3JpcHRzIl19fQpmdW5jdGlvbiBYVChhKXtpZihhKXt2YXIgYj1hbCgyNyxmdW5jdGlvbigpe3JldHVybnt9fSk7R2IoYSxmdW5jdGlvbihjLGQpe2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKXt2YXIgZj1kW2VdLnJlcGxhY2UoL15fKi8sIiIpO2JbZl09YltmXXx8W107YltmXS5wdXNoKGMpfX0pfX07ZnVuY3Rpb24gWlQoYSl7bUQocEMoImRldmVsb3Blcl9pZC4iK2EsITApLDAse30pfTtmdW5jdGlvbiAkVChhLGIpe3JldHVybiBFZChhLGJ8fG51bGwpfWZ1bmN0aW9uIFkoYSl7cmV0dXJuIHdpbmRvdy5lbmNvZGVVUklDb21wb25lbnQoYSl9ZnVuY3Rpb24gYVUoYSl7WmMoYSx2b2lkIDAsdm9pZCAwKX1mdW5jdGlvbiBiVShhKXt2YXIgYj1bInZlaW50ZXJhY3RpdmUuY29tIiwidmUtaW50ZXJhY3RpdmUuY24iXTtpZighYSlyZXR1cm4hMTt2YXIgYz1MaihSaihhKSwiaG9zdCIpO2lmKCFjKXJldHVybiExO2Zvcih2YXIgZD0wO2ImJmQ8Yi5sZW5ndGg7ZCsrKXt2YXIgZT1iW2RdJiZiW2RdLnRvTG93ZXJDYXNlKCk7aWYoZSl7dmFyIGY9Yy5sZW5ndGgtZS5sZW5ndGg7Zj4wJiZlLmNoYXJBdCgwKSE9PSIuIiYmKGYtLSxlPSIuIitlKTtpZihmPj0wJiZjLmluZGV4T2YoZSxmKT09PWYpcmV0dXJuITB9fXJldHVybiExfQpmdW5jdGlvbiBjVShhLGIsYyl7Zm9yKHZhciBkPXt9LGU9ITEsZj0wO2EmJmY8YS5sZW5ndGg7ZisrKWFbZl0mJmFbZl0uaGFzT3duUHJvcGVydHkoYikmJmFbZl0uaGFzT3duUHJvcGVydHkoYykmJihkW2FbZl1bYl1dPWFbZl1bY10sZT0hMCk7cmV0dXJuIGU/ZDpudWxsfWZ1bmN0aW9uIGRVKGEsYil7dmFyIGM9e307aWYoYSlmb3IodmFyIGQgaW4gYSlhLmhhc093blByb3BlcnR5KGQpJiYoY1tkXT1hW2RdKTtpZihiKXt2YXIgZT1jVShiLCJwYXJhbWV0ZXIiLCJwYXJhbWV0ZXJWYWx1ZSIpO2UmJihjPSRUKGUsYykpfXJldHVybiBjfWZ1bmN0aW9uIGVVKGEsYixjKXtyZXR1cm4gYT09PXZvaWQgMHx8YT09PWM/YjphfWZ1bmN0aW9uIGZVKGEsYixjKXtyZXR1cm4gVWMoYSxiLGMsdm9pZCAwKX1mdW5jdGlvbiBnVShhLGIpe0FbYV09Yn1mdW5jdGlvbiBoVShhLGIsYyl7dmFyIGQ9QTtiJiYoZFthXT09PXZvaWQgMHx8YyYmIWRbYV0pJiYoZFthXT1iKTtyZXR1cm4gZFthXX12YXIgaVU9e30salU9WC5WO3ZhciBaPXtzZWN1cml0eUdyb3Vwczp7fX07CgpaLnNlY3VyaXR5R3JvdXBzLmFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlPVsiZ29vZ2xlIl0sWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlPWZ1bmN0aW9uKCl7cmV0dXJue2Fzc2VydDpmdW5jdGlvbigpe30sYWE6ZnVuY3Rpb24oKXtyZXR1cm57fX19fSxaLl9fYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UuTz0iYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiLFouX19hY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZS5pc1ZlbmRvclRlbXBsYXRlPSEwLFouX19hY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZS5wcmlvcml0eU92ZXJyaWRlPTAsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlLmlzSW5mcmFzdHJ1Y3R1cmU9ITEsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlWyI1Il09ITEsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlWyI2Il09ITE7CgoKClouc2VjdXJpdHlHcm91cHMucmVhZF9ldmVudF9kYXRhPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2tleTpjfX0oZnVuY3Rpb24oYil7Wi5fX3JlYWRfZXZlbnRfZGF0YT1iO1ouX19yZWFkX2V2ZW50X2RhdGEuTz0icmVhZF9ldmVudF9kYXRhIjtaLl9fcmVhZF9ldmVudF9kYXRhLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX3JlYWRfZXZlbnRfZGF0YS5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX3JlYWRfZXZlbnRfZGF0YS5pc0luZnJhc3RydWN0dXJlPSExO1ouX19yZWFkX2V2ZW50X2RhdGFbIjUiXT0hMTtaLl9fcmVhZF9ldmVudF9kYXRhWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF9ldmVudERhdGFBY2Nlc3MsZD1iLnZ0cF9rZXlQYXR0ZXJuc3x8W10sZT1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihmLGcpe2lmKGchPW51bGwmJiF6YihnKSl0aHJvdyBlKGYse2tleTpnfSwiS2V5IG11c3QgYmUgYSBzdHJpbmcuIik7CmlmKGMhPT0iYW55Iil7dHJ5e2lmKGM9PT0ic3BlY2lmaWMiJiZnIT1udWxsJiZFZyhnLGQpKXJldHVybn1jYXRjaChoKXt0aHJvdyBlKGYse2tleTpnfSwiSW52YWxpZCBrZXkgZmlsdGVyLiIpO310aHJvdyBlKGYse2tleTpnfSwiUHJvaGliaXRlZCByZWFkIGZyb20gZXZlbnQgZGF0YS4iKTt9fSxhYTphfX0pfSgpOwoKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm57b3B0aW9uczp7Zml4TWlzc2luZ0FwaTohIWMuZml4TWlzc2luZ0FwaX19fShmdW5jdGlvbihiKXtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzPWI7Wi5fX2RldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50cy5PPSJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiO1ouX19kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzLmlzSW5mcmFzdHJ1Y3R1cmU9ITE7Wi5fX2RldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50c1siNSJdPSExO1ouX19kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHNbIjYiXT0KITF9KShmdW5jdGlvbihiKXt2YXIgYz0hIWIudnRwX2FsbG93Rml4TWlzc2luZ0phdmFTY3JpcHRBcGksZD1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihlLGYpe2lmKCFjJiZmJiZmLmZpeE1pc3NpbmdBcGkpdGhyb3cgZChlLHt9LCJQcm9oaWJpdGVkIG9wdGlvbjogZml4TWlzc2luZ0FwaS4iKTt9LGFhOmF9fSl9KCk7CgoKCgoKClouc2VjdXJpdHlHcm91cHMuZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50cz1bImdvb2dsZSJdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe3JldHVybnt9fShmdW5jdGlvbihiKXtaLl9fZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50cz1iO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLk89ImRldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMiO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMucHJpb3JpdHlPdmVycmlkZT0wO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLmlzSW5mcmFzdHJ1Y3R1cmU9ITE7Wi5fX2RldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50c1siNiJdPSExfSkoZnVuY3Rpb24oKXtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKCl7fSxhYTphfX0pfSgpOwoKClouc2VjdXJpdHlHcm91cHMuZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue29wdGlvbnM6Y319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHM9YjtaLl9fZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzLk89ImRldGVjdF9saW5rX2NsaWNrX2V2ZW50cyI7Wi5fX2RldGVjdF9saW5rX2NsaWNrX2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHMucHJpb3JpdHlPdmVycmlkZT0wO1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9saW5rX2NsaWNrX2V2ZW50c1siNiJdPSExfSkoZnVuY3Rpb24oYil7dmFyIGM9Yi52dHBfYWxsb3dXYWl0Rm9yVGFncyxkPWIudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcjtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKGUsCmYpe2lmKCFjJiZmJiZmLndhaXRGb3JUYWdzKXRocm93IGQoZSx7fSwiUHJvaGliaXRlZCBvcHRpb24gd2FpdEZvclRhZ3MuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm57b3B0aW9uczpjfX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHM9YjtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5PPSJkZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzIjtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2FsbG93V2FpdEZvclRhZ3MsZD1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7CnJldHVybnthc3NlcnQ6ZnVuY3Rpb24oZSxmKXtpZighYyYmZiYmZi53YWl0Rm9yVGFncyl0aHJvdyBkKGUse30sIlByb2hpYml0ZWQgb3B0aW9uIHdhaXRGb3JUYWdzLiIpO30sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5yZWFkX2NvbnRhaW5lcl9kYXRhPVsiZ29vZ2xlIl0sWi5fX3JlYWRfY29udGFpbmVyX2RhdGE9ZnVuY3Rpb24oKXtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKCl7fSxhYTpmdW5jdGlvbigpe3JldHVybnt9fX19LFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLk89InJlYWRfY29udGFpbmVyX2RhdGEiLFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLmlzVmVuZG9yVGVtcGxhdGU9ITAsWi5fX3JlYWRfY29udGFpbmVyX2RhdGEucHJpb3JpdHlPdmVycmlkZT0wLFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLmlzSW5mcmFzdHJ1Y3R1cmU9ITEsWi5fX3JlYWRfY29udGFpbmVyX2RhdGFbIjUiXT0hMSxaLl9fcmVhZF9jb250YWluZXJfZGF0YVsiNiJdPSExOwpaLnNlY3VyaXR5R3JvdXBzLmxpc3Rlbl9kYXRhX2xheWVyPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2V2ZW50TmFtZTpjfX0oZnVuY3Rpb24oYil7Wi5fX2xpc3Rlbl9kYXRhX2xheWVyPWI7Wi5fX2xpc3Rlbl9kYXRhX2xheWVyLk89Imxpc3Rlbl9kYXRhX2xheWVyIjtaLl9fbGlzdGVuX2RhdGFfbGF5ZXIuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fbGlzdGVuX2RhdGFfbGF5ZXIucHJpb3JpdHlPdmVycmlkZT0wO1ouX19saXN0ZW5fZGF0YV9sYXllci5pc0luZnJhc3RydWN0dXJlPSExO1ouX19saXN0ZW5fZGF0YV9sYXllclsiNSJdPSExO1ouX19saXN0ZW5fZGF0YV9sYXllclsiNiJdPSExfSkoZnVuY3Rpb24oYil7dmFyIGM9Yi52dHBfYWNjZXNzVHlwZSxkPWIudnRwX2FsbG93ZWRFdmVudHN8fFtdLGU9Yi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oZixnKXtpZighemIoZykpdGhyb3cgZShmLHtldmVudE5hbWU6Z30sCiJFdmVudCBuYW1lIG11c3QgYmUgYSBzdHJpbmcuIik7aWYoIShjPT09ImFueSJ8fGM9PT0ic3BlY2lmaWMiJiZkLmluZGV4T2YoZyk+PTApKXRocm93IGUoZix7ZXZlbnROYW1lOmd9LCJQcm9oaWJpdGVkIGxpc3RlbiBvbiBkYXRhIGxheWVyIGV2ZW50LiIpO30sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2RhdGFTb3VyY2U6Y319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhPWI7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuTz0iZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSI7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YS5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YVsiNSJdPSExO1ouX19kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihkLAplKXtpZihlIT09ImF1dG8iJiZlIT09Im1hbnVhbCImJmUhPT0iY29kZSIpdGhyb3cgYyhkLHt9LCJVbmtub3duIHVzZXIgcHJvdmlkZWQgZGF0YSBzb3VyY2UuIik7aWYoYi52dHBfbGltaXREYXRhU291cmNlcylpZihlIT09ImF1dG8ifHxiLnZ0cF9hbGxvd0F1dG9EYXRhU291cmNlcyl7aWYoZT09PSJtYW51YWwiJiYhYi52dHBfYWxsb3dNYW51YWxEYXRhU291cmNlcyl0aHJvdyBjKGQse30sIkRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgdmlhIG1hbnVhbGx5IHNwZWNpZmllZCBDU1Mgc2VsZWN0b3JzIGlzIG5vdCBhbGxvd2VkLiIpO2lmKGU9PT0iY29kZSImJiFiLnZ0cF9hbGxvd0NvZGVEYXRhU291cmNlcyl0aHJvdyBjKGQse30sIkRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgZnJvbSBhbiBpbi1wYWdlIHZhcmlhYmxlIGlzIG5vdCBhbGxvd2VkLiIpO31lbHNlIHRocm93IGMoZCx7fSwiQXV0b21hdGljIGRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgaXMgbm90IGFsbG93ZWQuIik7Cn0sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5nZXRfdXJsPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyxkKXtyZXR1cm57Y29tcG9uZW50OmMscXVlcnlLZXk6ZH19KGZ1bmN0aW9uKGIpe1ouX19nZXRfdXJsPWI7Wi5fX2dldF91cmwuTz0iZ2V0X3VybCI7Wi5fX2dldF91cmwuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZ2V0X3VybC5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2dldF91cmwuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZ2V0X3VybFsiNSJdPSExO1ouX19nZXRfdXJsWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF91cmxQYXJ0cz09PSJhbnkiP251bGw6W107YyYmKGIudnRwX3Byb3RvY29sJiZjLnB1c2goInByb3RvY29sIiksYi52dHBfaG9zdCYmYy5wdXNoKCJob3N0IiksYi52dHBfcG9ydCYmYy5wdXNoKCJwb3J0IiksYi52dHBfcGF0aCYmYy5wdXNoKCJwYXRoIiksYi52dHBfZXh0ZW5zaW9uJiZjLnB1c2goImV4dGVuc2lvbiIpLGIudnRwX3F1ZXJ5JiYKYy5wdXNoKCJxdWVyeSIpLGIudnRwX2ZyYWdtZW50JiZjLnB1c2goImZyYWdtZW50IikpO3ZhciBkPWMmJmIudnRwX3F1ZXJpZXNBbGxvd2VkIT09ImFueSI/Yi52dHBfcXVlcnlLZXlzfHxbXTpudWxsLGU9Yi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oZixnLGgpe2lmKGcpe2lmKCF6YihnKSl0aHJvdyBlKGYse30sIlVSTCBjb21wb25lbnQgbXVzdCBiZSBhIHN0cmluZy4iKTtpZihjJiZjLmluZGV4T2YoZyk8MCl0aHJvdyBlKGYse30sIlByb2hpYml0ZWQgVVJMIGNvbXBvbmVudDogIitnKTtpZihnPT09InF1ZXJ5IiYmZCl7aWYoIWgpdGhyb3cgZShmLHt9LCJQcm9oaWJpdGVkIGZyb20gZ2V0dGluZyBlbnRpcmUgVVJMIHF1ZXJ5IHdoZW4gcXVlcnkga2V5cyBhcmUgc3BlY2lmaWVkLiIpO2lmKCF6YihoKSl0aHJvdyBlKGYse30sIlF1ZXJ5IGtleSBtdXN0IGJlIGEgc3RyaW5nLiIpO2lmKGQuaW5kZXhPZihoKTwwKXRocm93IGUoZix7fSwKIlByb2hpYml0ZWQgcXVlcnkga2V5OiAiK2gpO319ZWxzZSBpZihjKXRocm93IGUoZix7fSwiUHJvaGliaXRlZCBmcm9tIGdldHRpbmcgZW50aXJlIFVSTCB3aGVuIGNvbXBvbmVudHMgYXJlIHNwZWNpZmllZC4iKTt9LGFhOmF9fSl9KCk7CgoKClouc2VjdXJpdHlHcm91cHMucmVhZF9kb21fZWxlbWVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjLGQpe3JldHVybnt0eXBlOmMsdmFsdWU6ZH19KGZ1bmN0aW9uKGIpe1ouX19yZWFkX2RvbV9lbGVtZW50cz1iO1ouX19yZWFkX2RvbV9lbGVtZW50cy5PPSJyZWFkX2RvbV9lbGVtZW50cyI7Wi5fX3JlYWRfZG9tX2VsZW1lbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX3JlYWRfZG9tX2VsZW1lbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fcmVhZF9kb21fZWxlbWVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fcmVhZF9kb21fZWxlbWVudHNbIjUiXT0hMTtaLl9fcmVhZF9kb21fZWxlbWVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2FsbG93ZWRFbGVtZW50SWRzfHwibm9uZSIsZD1iLnZ0cF9hbGxvd2VkQ3NzU2VsZWN0b3JzfHwibm9uZSIsZT1iLnZ0cF9lbGVtZW50SWRzfHxbXSxmPWIudnRwX2Nzc1NlbGVjdG9yc3x8W10sZz0KYi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oaCxsLG4pe3N3aXRjaChsKXtjYXNlICJpZCI6aWYoYz09PSJub25lIilicmVhaztpZihjPT09ImFueSJ8fGUuaW5kZXhPZihuKT4tMSlyZXR1cm47YnJlYWs7Y2FzZSAiY3NzIjppZihkPT09Im5vbmUiKWJyZWFrO2lmKGQ9PT0iYW55Inx8Zi5pbmRleE9mKG4pPi0xKXJldHVybjticmVhaztkZWZhdWx0OnRocm93IGcoaCx7fSwiVW5rbm93biBzZWxlY3RvciB0eXBlICIrbCsiLiIpO310aHJvdyBnKGgse30sIlByb2hpYml0ZWQgc2VsZWN0b3IgdmFsdWUgIituKyIgZm9yIHNlbGVjdG9yIHR5cGUgIitsKyIuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9jbGlja19ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjLGQpe3JldHVybnttYXRjaENvbW1vbkJ1dHRvbnM6Yyxjc3NTZWxlY3RvcjpkfX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9jbGlja19ldmVudHM9YjtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5PPSJkZXRlY3RfY2xpY2tfZXZlbnRzIjtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfY2xpY2tfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfY2xpY2tfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9jbGlja19ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcjtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKGQsZSxmKXtpZihlIT09dm9pZCAwJiZ0eXBlb2YgZSE9PQoiYm9vbGVhbiIpdGhyb3cgYyhkLHt9LCJtYXRjaENvbW1vbkJ1dHRvbnMgbXVzdCBiZSBhIGJvb2xlYW4uIik7aWYoZiE9PXZvaWQgMCYmdHlwZW9mIGYhPT0ic3RyaW5nIil0aHJvdyBjKGQse30sImNzc1NlbGVjdG9yIG11c3QgYmUgYSBzdHJpbmcuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9zY3JvbGxfZXZlbnRzPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7cmV0dXJue319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3Rfc2Nyb2xsX2V2ZW50cz1iO1ouX19kZXRlY3Rfc2Nyb2xsX2V2ZW50cy5PPSJkZXRlY3Rfc2Nyb2xsX2V2ZW50cyI7Wi5fX2RldGVjdF9zY3JvbGxfZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9zY3JvbGxfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKCl7cmV0dXJue2Fzc2VydDpmdW5jdGlvbigpe30sYWE6YX19KX0oKTsKCgoKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtyZXR1cm57fX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cz1iO1ouX19kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHMuTz0iZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjtaLl9fZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cy5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzWyI2Il09ITF9KShmdW5jdGlvbigpe3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oKXt9LAphYTphfX0pfSgpOwpmdW5jdGlvbiBrVSgpe3ZhciBhPXt9LGI9e2RhdGFMYXllcjp0QSxjYWxsYmFjazpmdW5jdGlvbihjKXthLmhhc093blByb3BlcnR5KGMpJiZ5YihhW2NdKSYmYVtjXSgpO2RlbGV0ZSBhW2NdfSxib290c3RyYXA6MH07cmV0dXJuIGJ9CmZ1bmN0aW9uIGxVKCl7dmFyIGE9a1UoKTtvaihhKTtDaygpO2pBKCk7dmFyIGI9YWwoMjcsZnVuY3Rpb24oKXtyZXR1cm57fX0pO1FiKGIsWi5zZWN1cml0eUdyb3Vwcyk7dmFyIGM9eWsoemsoKSksZCxlPWM9PW51bGw/dm9pZCAwOihkPWMuY29udGV4dCk9PW51bGw/dm9pZCAwOmQuc291cmNlO0tsKGUsYz09bnVsbD92b2lkIDA6Yy5wYXJlbnQpO2UhPT0yJiZlIT09NCYmZSE9PTN8fFAoMTQyKTtyZXR1cm4gYX1mdW5jdGlvbiBtVSgpe3ZhciBhPUUoNjApO2lmKGEpZm9yKHZhciBiPWEuc3BsaXQoIi4iKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY10sZT1UTDtkJiYoZS5IW2RdPSEwKX19CmZ1bmN0aW9uIG5VKCl7enAoKTtsaigpO2Zvcih2YXIgYT1kYXRhLnJlc291cmNlfHx7fSxiPWNBLGM9YS5tYWNyb3N8fFtdLGQ9MDtkPGMubGVuZ3RoO2QrKyliLm1hY3Jvcy5wdXNoKG5ldyBVeihjW2RdLGQsYi50YWdzLGIubWFjcm9zKSk7Zm9yKHZhciBlPWEudGFnc3x8W10sZj0wO2Y8ZS5sZW5ndGg7ZisrKWIudGFncy5wdXNoKG5ldyBZeihlW2ZdLGYsYi50YWdzLGIubWFjcm9zKSk7Zm9yKHZhciBnPWEucHJlZGljYXRlc3x8W10saD0wO2g8Zy5sZW5ndGg7aCsrKWIucHJlZGljYXRlcy5wdXNoKG5ldyBWeihnW2hdLGIudGFncyxiLm1hY3JvcykpO2Zvcih2YXIgbD1hLnJ1bGVzfHxbXSxuPTA7bjxsLmxlbmd0aDtuKyspYi5ydWxlcy5wdXNoKG5ldyBXeihsW25dLG4pKTtRej1aO3ZhciBwPWRhdGEucGVybWlzc2lvbnN8fHt9LHE9WjtkZz1uZXcgZ2coRSg1KSxwLHEpO3ZhciByPWRhdGEuc2FuZGJveGVkX3NjcmlwdHMsdD1kYXRhLnNlY3VyaXR5X2dyb3Vwcyx1PWRhdGEucnVudGltZXx8CltdLHY9ZGF0YS5ydW50aW1lX2xpbmVzO0pGPW5ldyBwZjtWVCgpO1B6PUlGKCk7dmFyIHg9SkYseT1VVCgpLHo9bmV3IExkKCJyZXF1aXJlIix5KTt6LlphKCk7eC5ILkguc2V0KCJyZXF1aXJlIix6KTtkYi5zZXQoInJlcXVpcmUiLHopO2Zvcih2YXIgQz0wO0M8dS5sZW5ndGg7QysrKXt2YXIgRD11W0NdO2lmKCFBcnJheS5pc0FycmF5KEQpfHxELmxlbmd0aDwzKXtpZihELmxlbmd0aD09PTApY29udGludWU7YnJlYWt9diYmdltDXSYmdltDXS5sZW5ndGgmJlBmKEQsdltDXSk7dHJ5e0pGLmV4ZWN1dGUoRCl9Y2F0Y2gob1Upe319V1Qocik7WFQodCk7dmFyIEk9bFUoKTtpRigpO3ZtLmJpbmQoKTtpZighRGopZm9yKHZhciBHPUJtKCk/ZXAoTGYoNSkpOmVwKExmKDQpKSxOPW0oUm8pLFM9Ti5uZXh0KCk7IVMuZG9uZTtTPU4ubmV4dCgpKXt2YXIgVz1TLnZhbHVlLGVhPVcsamE9R1tXXT8iZ3JhbnRlZCI6ImRlbmllZCI7dGwoKS5pbXBsaWNpdChlYSxqYSl9aEUuYmluZCgpO1RCKCk7Ck9CKCk7Zm4uTiYmKGd6KCksZnooQUYpLGdBKCksY0I9bmV3IGJCLGZ6KGl6KSxPQygpLERGfHwoREY9bmV3IEJGKSxmQnx8KGZCPW5ldyBlQiksRkY9bmV3IEVGKTtpZihmbi5LKXtERS5iaW5kKCk7bUMuYmluZCgpO3dFLmJpbmQoKTt2YXIgZmE9QWsoKTtpZihmYSl7dmFyIHNhO2E6e3ZhciBkYSxtYT0oZGE9ZmEuc2NyaXB0RWxlbWVudCk9PW51bGw/dm9pZCAwOmRhLnNyYztpZihtYSl7dmFyIFBhO3RyeXt2YXIgRmE7UGE9KEZhPXJkKCkpPT1udWxsP3ZvaWQgMDpGYS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpfWNhdGNoKG9VKXt9aWYoUGEpe2Zvcih2YXIgcWE9LTEsaWI9bShQYSksWGI9aWIubmV4dCgpOyFYYi5kb25lO1hiPWliLm5leHQoKSl7dmFyIExjPVhiLnZhbHVlO2lmKExjLmluaXRpYXRvclR5cGU9PT0KInNjcmlwdCImJihxYSs9MSxMYy5uYW1lLnJlcGxhY2UoTkUsIiIpPT09bWEucmVwbGFjZShORSwiIikpKXtzYT1xYTticmVhayBhfX1QKDE0Nil9ZWxzZSBQKDE0NSl9c2E9dm9pZCAwfXZhciBRZD1zYTtRZCE9PXZvaWQgMCYmKGZhLmNhbm9uaWNhbENvbnRhaW5lcklkJiZVbSgicnRnIixTdHJpbmcoZmEuY2Fub25pY2FsQ29udGFpbmVySWQpKSxVbSgic2xvIixTdHJpbmcoUWQpKSxVbSgiaGxvIixmYS5odG1sTG9hZE9yZGVyfHwiLTEiKSxVbSgibHN0IixTdHJpbmcoZmEubG9hZFNjcmlwdFR5cGV8fCIwIikpKX1lbHNlIFAoMTQ0KTt2YXIgWWM7dmFyIERkPXhrKCk7aWYoRGQpaWYoRGQuY2Fub25pY2FsQ29udGFpbmVySWQpWWM9RGQuY2Fub25pY2FsQ29udGFpbmVySWQ7ZWxzZXt2YXIgamYsdmg9RGQuc2NyaXB0Q29udGFpbmVySWR8fCgoamY9RGQuZGVzdGluYXRpb25zKT09bnVsbD92b2lkIDA6amZbMF0pO1ljPXZoPyJfIit2aDp2b2lkIDB9ZWxzZSBZYz12b2lkIDA7dmFyIEpFPQpZYztKRSYmVW0oInBjaWQiLEpFKTtVbSgiYnQiLFN0cmluZyhJZig0Nyk/MjpJZig1MCk/MTowKSk7VW0oImN0IixTdHJpbmcoSWYoNDcpPzA6SWYoNTApPzE6MykpO0FFLmJpbmQoKTtmb3IodmFyIFdyPVtdLFhyPVtdLEtFPW0oT2JqZWN0LmtleXMoR0UpKSxZcj1LRS5uZXh0KCk7IVlyLmRvbmU7WXI9S0UubmV4dCgpKXt2YXIgcm09WXIudmFsdWU7aWYod2luZG93LmlzU2VjdXJlQ29udGV4dHx8IUlFW3JtXSl7dmFyIExFPUdFW3JtXSgpO2lmKHliKExFKSl7dmFyIE1FPUZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKExFKTtUYihNRSwieyBbbmF0aXZlIGNvZGVdIH0iKXx8VGIoTUUsIntcbiAgICBbbmF0aXZlIGNvZGVdXG59Iil8fFhyLnB1c2gocm0pfWVsc2UgV3IucHVzaChybSl9fVdyLmxlbmd0aD4wJiZVbSgianNtIixXci5qb2luKCJ+IikpO1hyLmxlbmd0aD4wJiZVbSgianNwIixYci5qb2luKCJ+IikpO0V5fHwoRXk9bmV3IER5KX1oRigpO2ltKDEpO0VHKCk7cmV0dXJuIEl9CmZ1bmN0aW9uIHVtKCl7dHJ5e2lmKCFoaygpJiYoSWYoNDcpfHwhTmsoKSkpe0lmKDY0KSYmd2ouSC5LLmFkZCgxMTg1MTc5MTcpO3pqKCk7Zm4uSCYmc3ooKTtXZls1XT0hMDt2YXIgYT1raigiZGVidWdHcm91cElkIixmdW5jdGlvbigpe3JldHVybiBTdHJpbmcoTWF0aC5mbG9vcihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUipNYXRoLnJhbmRvbSgpKSl9KTtTbChhKTtrdCgpO3pGKCk7RnQoKTtQQigpO2lmKERrKCkpe0UoNSk7REcoKTtpQigpLnJlbW92ZUV4dGVybmFsUmVzdHJpY3Rpb25zKHZrKCkpO31lbHNle0ZNLlIoKTtuVSgpLmJvb3RzdHJhcD1OYigpO0lmKDUxKSYmcEUoKTsKZm4uSCYmdHooKTt0eXBlb2YgQS5uYW1lPT09InN0cmluZyImJlNiKEEubmFtZSwid2ViLXBpeGVsLXNhbmRib3gtQ1VTVE9NIikmJnNkKCk/WlQoImRNRGcwWXoiKTpBLlNob3BpZnkmJihaVCgiZE4yWmtNaiIpLHNkKCkmJlpUKCJkTlRVMFl6IikpO21VKCl9fX1jYXRjaChiKXtpbSg1KSxoeigpfX0KKGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtuPUIuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS10YWctYXNzaXN0YW50LXByZXNlbnQiKTtnbChuKSYmKGw9aC54bSl9ZnVuY3Rpb24gYygpe2wmJktjP2cobCk6YSgpfWlmKCFBW0UoMzcpXSl7dmFyIGQ9ITE7aWYoQi5yZWZlcnJlcil7dmFyIGU9UmooQi5yZWZlcnJlcik7ZD1OaihlLCJob3N0Iik9PT1FKDM4KX1pZighZCl7dmFyIGY9Y3EoRSgzOSkpO2Q9ISghZi5sZW5ndGh8fCFmWzBdLmxlbmd0aCl9ZCYmKEFbRSgzNyldPSEwLFVjKEUoNDApKSl9dmFyIGc9ZnVuY3Rpb24odSl7dmFyIHY9IkdUTSIseD0iR1RNIjtJZig0NSkmJih2PSJPR1QiLHg9IkdUQUciKTt2YXIgeT1FKDIzKSx6PUFbeV07enx8KHo9W10sQVt5XT16LFVjKCJodHRwczovLyIrRSgzKSsiL2RlYnVnL2Jvb3RzdHJhcD9pZD0iK0UoNSkrIiZzcmM9Iit4KyImY29uZD0iK1N0cmluZyh1KSsiJmd0bT0iK2R1KCkpKTt2YXIgQz17bWVzc2FnZVR5cGU6IkNPTlRBSU5FUl9TVEFSVElORyIsCmRhdGE6e3NjcmlwdFNvdXJjZTpLYyxjb250YWluZXJQcm9kdWN0OnYsZGVidWc6ITEsaWQ6RSg1KSx0YXJnZXRSZWY6e2N0aWQ6RSg1KSxpc0Rlc3RpbmF0aW9uOnNrKCksY2Fub25pY2FsSWQ6RSg2KX0sYWxpYXNlczp3aygpLGRlc3RpbmF0aW9uczp0aygpfX0sRD1DLmRhdGE7RC5yZXN1bWU9ZnVuY3Rpb24oKXthKCl9O0QucmVzdW1lV2l0aE1lbW9zPWZ1bmN0aW9uKCl7c2woMSk7YSgpfTtJZigyKSYmKEMuZGF0YS5pbml0aWFsUHVibGlzaD0hMCk7ei5wdXNoKEMpfSxoPXtHcToxLFBtOjIsb246MyxqbDo0LHhtOjV9O2hbaC5HcV09IkdUTV9ERUJVR19MRUdBQ1lfUEFSQU0iO2hbaC5QbV09IkdUTV9ERUJVR19QQVJBTSI7aFtoLm9uXT0iUkVGRVJSRVIiO2hbaC5qbF09IkNPT0tJRSI7aFtoLnhtXT0iRVhURU5TSU9OX1BBUkFNIjt2YXIgbD12b2lkIDAsbj12b2lkIDAscD1MaihBLmxvY2F0aW9uLCJxdWVyeSIsITEsdm9pZCAwLCJndG1fZGVidWciKTtnbChwKSYmKGw9aC5QbSk7CmlmKCFsJiZCLnJlZmVycmVyKXt2YXIgcT1SaihCLnJlZmVycmVyKTtOaihxLCJob3N0Iik9PT1FKDI0KSYmKGw9aC5vbil9aWYoIWwpe3ZhciByPWNxKCJfX1RBR19BU1NJU1RBTlQiKTtyLmxlbmd0aCYmclswXS5sZW5ndGgmJihsPWguamwpfWx8fGIoKTtpZighbCYmZmwobikpe3ZhciB0PSExOyRjKEIsIlRBRGVidWdTaWduYWwiLGZ1bmN0aW9uKCl7dHx8KHQ9ITAsYigpLGMoKSl9LCExKTtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0fHwodD0hMCxiKCksYygpKX0sMjAwKX1lbHNlIGMoKX0pKGZ1bmN0aW9uKCl7IUlmKDQ3KXx8dG0oKVsiMCJdP3VtKCk6eG0oKX0pOwoKfSkoKQoK"}},"time_used":73,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":33,"receive":40,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/images/home-business-tab-img01.jpg","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.060Z","timestamp":1785129949060,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /images/home-business-tab-img01.jpg HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: image/webp\r\ncontent-length: 68910\r\ncache-control: public, max-age=604800\r\nage: 4344\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: df3f6a1c4ee017f315045a502e8b0b9f-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":68910,"size_decoded":69216,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"bf7368bd962cda4265728eca78e3a472","sha1":"bbe4ec1f9d22ee79c8e438d0e1274a1cc703d906","sha256":"636dbac3fa913266d814a9dfaf14110a12d4ed16d11fa55cd2faa2ca39cffb43","sha512":"d3a441a6034636ebe3bf9069a086f6d0e57aa73dc00164765182bbe1fbad70031ef9ed4aa9cafc9398fd720a51ec145e29205760b3d0c35d4a52dcf66028a286","ssdeep":"1536:a/L4ONyzO/30a5YCpgmVg93tEU3K3Fm1BXCBGRHmwKylQd:a0qf/3brpgmVedDvFRKQa","tlshash":"6463025026e7a0a17727707e5f76df223d2664463f82ac9b947181ee1e8e3029fe0356","first_seen":"2026-07-27T04:14:44.557396Z","last_seen":"2026-07-27T05:27:28.088264Z","times_seen":3,"resource_available":false,"data":"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"}},"time_used":71,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":41,"receive":30,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"widget.coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","fqdn":"widget.coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.234Z","timestamp":1785129949234,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover= HTTP/1.1\r\nHost: widget.coinlib.io\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://digitaltradeinvest.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 301 \r\ncontent-type: text/html; charset=UTF-8\r\nserver-timing: cfEdge;dur=1,cfOrigin;dur=0, cfExtPri\r\nlocation: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=WjD4ZRTyvhFkxrQA6Fyh21d11BpYmE5nDtwdco%2FGRfiwmOv68hlyZICCUlLempj1Ve1iz5HgB6hMLkOdkSgMnIjjA82kNE2w1C95OD%2BGSlBNd6bUY3iVFhvUl%2BZn7Cfqv3gCMw%3D%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\npriority: u=4,i=?0\r\nserver: cloudflare\r\ncf-ray: a21939c6dd04a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\n\r\n","headers":null,"cookies":null,"status_code":"301","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-15T16:46:18.775881Z","times_seen":17905015,"resource_available":true,"data":null}},"time_used":26,"timings":{"blocked":-1,"dns":7,"connect":12,"send":0,"wait":7,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/4911410e5153f0d7.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.477Z","timestamp":1785129949477,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/4911410e5153f0d7.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 3817465\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"4911410e5153f0d7.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"e09a94d1ed13e73c8c05e86ecc9b73b5\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/4911410e5153f0d7.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::5pnv4-1781312483646-99b0a50f7685\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=DEapHtgn9Lw2BtfYXKeFwcYa0f%2BESIqeYbX6cKPtCUWFfWXz%2FCB9fO8Sfqj089ghPryv1LHZL9Dkg2iDewlr3KHUEPeMEL7WO6L%2BLCDkCiXCg2eqARNuMWOIp6%2FV\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c83d24a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":224417,"size_decoded":73403,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"e09a94d1ed13e73c8c05e86ecc9b73b5","sha1":"5d3e0e86e66f40d854564417d18b9a8cfb50938f","sha256":"bdeee3ad5435b26f62f6a8ce700f78618b18b355f3d3cd21ec3949a59777eaf5","sha512":"7d4e4220b8c82da8621e7f0ae1bfdb323ed094215712b54bfd28ed06e06e0aa9aded8bc0f07eb71ea08e821f75d433c38522d2054e9756e34814622cf8957899","ssdeep":"3072:LZhLWlPznn2U1BR0Bef8xgVrkRMKTopmN6Cstv9it+QK:LZhLWxznn2U1sWK04xstv9it+QK","tlshash":"66240be83995f6626ab302a710af1803733c252b280d4d60a711fdddb57845eb17bf9e","first_seen":"2026-02-04T14:24:19.892015Z","last_seen":"2026-08-15T07:58:28.193905Z","times_seen":2080,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDc4NzUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sImdldEFzc2V0UHJlZml4Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbH19KTtsZXQgcj1lLnIoNDEwNjIpO2Z1bmN0aW9uIGwoKXtsZXQgZT1kb2N1bWVudC5jdXJyZW50U2NyaXB0O2lmKCEoZSBpbnN0YW5jZW9mIEhUTUxTY3JpcHRFbGVtZW50KSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHIuSW52YXJpYW50RXJyb3IoYEV4cGVjdGVkIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQgdG8gYmUgYSA8c2NyaXB0PiBlbGVtZW50LiBSZWNlaXZlZCAke2V9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0e3BhdGhuYW1lOnR9PW5ldyBVUkwoZS5zcmMpLG49dC5pbmRleE9mKCIvX25leHQvIik7aWYoLTE9PT1uKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgci5JbnZhcmlhbnRFcnJvcihgRXhwZWN0ZWQgZG9jdW1lbnQuY3VycmVudFNjcmlwdCBzcmMgdG8gY29udGFpbiAnL19uZXh0LycuIFJlY2VpdmVkICR7ZS5zcmN9IGluc3RlYWQuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3ODQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7cmV0dXJuIHQuc2xpY2UoMCxuKX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwxNTUzNiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwic2V0QXR0cmlidXRlc0Zyb21Qcm9wcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fSk7bGV0IHI9e2FjY2VwdENoYXJzZXQ6ImFjY2VwdC1jaGFyc2V0IixjbGFzc05hbWU6ImNsYXNzIixodG1sRm9yOiJmb3IiLGh0dHBFcXVpdjoiaHR0cC1lcXVpdiIsbm9Nb2R1bGU6Im5vTW9kdWxlIn0sbD1bIm9uTG9hZCIsIm9uUmVhZHkiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsImNoaWxkcmVuIiwib25FcnJvciIsInN0cmF0ZWd5Iiwic3R5bGVzaGVldHMiXTtmdW5jdGlvbiBhKGUpe3JldHVyblsiYXN5bmMiLCJkZWZlciIsIm5vTW9kdWxlIl0uaW5jbHVkZXMoZSl9ZnVuY3Rpb24gbyhlLHQpe2ZvcihsZXRbbixvXW9mIE9iamVjdC5lbnRyaWVzKHQpKXtpZighdC5oYXNPd25Qcm9wZXJ0eShuKXx8bC5pbmNsdWRlcyhuKXx8dm9pZCAwPT09byljb250aW51ZTtsZXQgaT1yW25dfHxuLnRvTG93ZXJDYXNlKCk7IlNDUklQVCI9PT1lLnRhZ05hbWUmJmEoaSk/ZVtpXT0hIW86ZS5zZXRBdHRyaWJ1dGUoaSxTdHJpbmcobykpLCghMT09PW98fCJTQ1JJUFQiPT09ZS50YWdOYW1lJiZhKGkpJiYoIW98fCJmYWxzZSI9PT1vKSkmJihlLnNldEF0dHJpYnV0ZShpLCIiKSxlLnJlbW92ZUF0dHJpYnV0ZShpKSl9fSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDQ4NzA2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJhcHBCb290c3RyYXAiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCByPWUucig3ODc1KSxsPWUucigxNTUzNik7ZnVuY3Rpb24gYShlKXt2YXIgdCxuO2xldCBhPSgwLHIuZ2V0QXNzZXRQcmVmaXgpKCk7dD1zZWxmLl9fbmV4dF9zLG49KCk9PntlKGEpfSx0JiZ0Lmxlbmd0aD90LnJlZHVjZSgoZSxbdCxuXSk9PmUudGhlbigoKT0+bmV3IFByb21pc2UoKGUscik9PntsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtuJiYoMCxsLnNldEF0dHJpYnV0ZXNGcm9tUHJvcHMpKGEsbiksdD8oYS5zcmM9dCxhLm9ubG9hZD0oKT0+ZSgpLGEub25lcnJvcj1yKTpuJiYoYS5pbm5lckhUTUw9bi5jaGlsZHJlbixzZXRUaW1lb3V0KGUpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGEpfSkpLFByb21pc2UucmVzb2x2ZSgpKS5jYXRjaChlPT57Y29uc29sZS5lcnJvcihlKX0pLnRoZW4oKCk9PntuKCl9KTpuKCl9d2luZG93Lm5leHQ9e3ZlcnNpb246IjE2LjEuNiIsYXBwRGlyOiEwfSwoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw4NTQ3OSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17Z2V0T2JqZWN0Q2xhc3NMYWJlbDpmdW5jdGlvbigpe3JldHVybiBhfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIG99fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7ZnVuY3Rpb24gYShlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfWZ1bmN0aW9uIG8oZSl7aWYoIltvYmplY3QgT2JqZWN0XSIhPT1hKGUpKXJldHVybiExO2xldCB0PU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gbnVsbD09PXR8fHQuaGFzT3duUHJvcGVydHkoImlzUHJvdG90eXBlT2YiKX19LDgwOTQwLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIG99LGdldFByb3BlckVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7bGV0IGE9ZS5yKDg1NDc5KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJuYW1lImluIGUmJiJtZXNzYWdlImluIGV9ZnVuY3Rpb24gaShlKXtsZXQgdDtyZXR1cm4gbyhlKT9lOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigoMCxhLmlzUGxhaW5PYmplY3QpKGUpPyh0PW5ldyBXZWFrU2V0LEpTT04uc3RyaW5naWZ5KGUsKGUsbik9PntpZigib2JqZWN0Ij09dHlwZW9mIG4mJm51bGwhPT1uKXtpZih0LmhhcyhuKSlyZXR1cm4iW0NpcmN1bGFyXSI7dC5hZGQobil9cmV0dXJuIG59KSk6ZSsiIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9fSwxNzc0OCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwicmVwb3J0R2xvYmFsRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByfX0pO2xldCByPSJmdW5jdGlvbiI9PXR5cGVvZiByZXBvcnRFcnJvcj9yZXBvcnRFcnJvcjplPT57Z2xvYmFsVGhpcy5jb25zb2xlLmVycm9yKGUpfTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMjc5MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj17aXNSZWNvdmVyYWJsZUVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LG9uUmVjb3ZlcmFibGVFcnJvcjpmdW5jdGlvbigpe3JldHVybiBmfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig4MTI1OCksbz1lLnIoODQwODIpLGk9YS5fKGUucig4MDk0MCkpLHU9ZS5yKDE3NzQ4KSxzPW5ldyBXZWFrU2V0O2Z1bmN0aW9uIGMoZSl7cmV0dXJuIHMuaGFzKGUpfWxldCBmPWU9PntsZXQgdD0oMCxpLmRlZmF1bHQpKGUpJiYiY2F1c2UiaW4gZT9lLmNhdXNlOmU7KDAsby5pc0JhaWxvdXRUb0NTUkVycm9yKSh0KXx8KDAsdS5yZXBvcnRHbG9iYWxFcnJvcikodCl9OygiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDkyMzg2LChlLHQsbik9PnsidXNlIHN0cmljdCI7dC5leHBvcnRzPXt9fSw2MDg3NywoZSx0LG4pPT57InRyaW1TdGFydCJpbiBTdHJpbmcucHJvdG90eXBlfHwoU3RyaW5nLnByb3RvdHlwZS50cmltU3RhcnQ9U3RyaW5nLnByb3RvdHlwZS50cmltTGVmdCksInRyaW1FbmQiaW4gU3RyaW5nLnByb3RvdHlwZXx8KFN0cmluZy5wcm90b3R5cGUudHJpbUVuZD1TdHJpbmcucHJvdG90eXBlLnRyaW1SaWdodCksImRlc2NyaXB0aW9uImluIFN5bWJvbC5wcm90b3R5cGV8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTeW1ib2wucHJvdG90eXBlLCJkZXNjcmlwdGlvbiIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgZT0vXCgoLiopXCkvLmV4ZWModGhpcy50b1N0cmluZygpKTtyZXR1cm4gZT9lWzFdOnZvaWQgMH19KSxBcnJheS5wcm90b3R5cGUuZmxhdHx8KEFycmF5LnByb3RvdHlwZS5mbGF0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9dGhpcy5jb25jYXQuYXBwbHkoW10sdGhpcyksZT4xJiZ0LnNvbWUoQXJyYXkuaXNBcnJheSk/dC5mbGF0KGUtMSk6dH0sQXJyYXkucHJvdG90eXBlLmZsYXRNYXA9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tYXAoZSx0KS5mbGF0KCl9KSxQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5fHwoUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1mdW5jdGlvbihlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSlyZXR1cm4gdGhpcy50aGVuKGUsZSk7dmFyIHQ9dGhpcy5jb25zdHJ1Y3Rvcnx8UHJvbWlzZTtyZXR1cm4gdGhpcy50aGVuKGZ1bmN0aW9uKG4pe3JldHVybiB0LnJlc29sdmUoZSgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIG59KX0sZnVuY3Rpb24obil7cmV0dXJuIHQucmVzb2x2ZShlKCkpLnRoZW4oZnVuY3Rpb24oKXt0aHJvdyBufSl9KX0pLE9iamVjdC5mcm9tRW50cmllc3x8KE9iamVjdC5mcm9tRW50cmllcz1mdW5jdGlvbihlKXtyZXR1cm4gQXJyYXkuZnJvbShlKS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVt0WzBdXT10WzFdLGV9LHt9KX0pLEFycmF5LnByb3RvdHlwZS5hdHx8KEFycmF5LnByb3RvdHlwZS5hdD1mdW5jdGlvbihlKXt2YXIgdD1NYXRoLnRydW5jKGUpfHwwO2lmKHQ8MCYmKHQrPXRoaXMubGVuZ3RoKSwhKHQ8MHx8dD49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW3RdfSksT2JqZWN0Lmhhc093bnx8KE9iamVjdC5oYXNPd249ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXRocm93IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0Iik7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChPYmplY3QoZSksdCl9KSwiY2FuUGFyc2UiaW4gVVJMfHwoVVJMLmNhblBhcnNlPWZ1bmN0aW9uKGUsdCl7dHJ5e3JldHVybiBuZXcgVVJMKGUsdCksITB9Y2F0Y2goZSl7cmV0dXJuITF9fSl9LDc5MTIzLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUucig2MDg3NyksKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sNDAxNDAsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKGUsdCl7dmFyIG49ZS5sZW5ndGg7Zm9yKGUucHVzaCh0KTswPG47KXt2YXIgcj1uLTE+Pj4xLGw9ZVtyXTtpZigwPG8obCx0KSllW3JdPXQsZVtuXT1sLG49cjtlbHNlIGJyZWFrfX1mdW5jdGlvbiBsKGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDplWzBdfWZ1bmN0aW9uIGEoZSl7aWYoMD09PWUubGVuZ3RoKXJldHVybiBudWxsO3ZhciB0PWVbMF0sbj1lLnBvcCgpO2lmKG4hPT10KXtlWzBdPW47Zm9yKHZhciByPTAsbD1lLmxlbmd0aCxhPWw+Pj4xO3I8YTspe3ZhciBpPTIqKHIrMSktMSx1PWVbaV0scz1pKzEsYz1lW3NdO2lmKDA+byh1LG4pKXM8bCYmMD5vKGMsdSk/KGVbcl09YyxlW3NdPW4scj1zKTooZVtyXT11LGVbaV09bixyPWkpO2Vsc2UgaWYoczxsJiYwPm8oYyxuKSllW3JdPWMsZVtzXT1uLHI9cztlbHNlIGJyZWFrfX1yZXR1cm4gdH1mdW5jdGlvbiBvKGUsdCl7dmFyIG49ZS5zb3J0SW5kZXgtdC5zb3J0SW5kZXg7cmV0dXJuIDAhPT1uP246ZS5pZC10LmlkfWlmKG4udW5zdGFibGVfbm93PXZvaWQgMCwib2JqZWN0Ij09dHlwZW9mIHBlcmZvcm1hbmNlJiYiZnVuY3Rpb24iPT10eXBlb2YgcGVyZm9ybWFuY2Uubm93KXt2YXIgaSx1PXBlcmZvcm1hbmNlO24udW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIHUubm93KCl9fWVsc2V7dmFyIHM9RGF0ZSxjPXMubm93KCk7bi51bnN0YWJsZV9ub3c9ZnVuY3Rpb24oKXtyZXR1cm4gcy5ub3coKS1jfX12YXIgZj1bXSxkPVtdLHA9MSxtPW51bGwsaD0zLGc9ITEsdj0hMSx5PSExLGI9ITEsdz0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om51bGwsaz0iZnVuY3Rpb24iPT10eXBlb2YgY2xlYXJUaW1lb3V0P2NsZWFyVGltZW91dDpudWxsLFM9InUiPnR5cGVvZiBzZXRJbW1lZGlhdGU/c2V0SW1tZWRpYXRlOm51bGw7ZnVuY3Rpb24gRShlKXtmb3IodmFyIHQ9bChkKTtudWxsIT09dDspe2lmKG51bGw9PT10LmNhbGxiYWNrKWEoZCk7ZWxzZSBpZih0LnN0YXJ0VGltZTw9ZSlhKGQpLHQuc29ydEluZGV4PXQuZXhwaXJhdGlvblRpbWUscihmLHQpO2Vsc2UgYnJlYWs7dD1sKGQpfX1mdW5jdGlvbiB4KGUpe2lmKHk9ITEsRShlKSwhdilpZihudWxsIT09bChmKSl2PSEwLF98fChfPSEwLGkoKSk7ZWxzZXt2YXIgdD1sKGQpO251bGwhPT10JiZSKHgsdC5zdGFydFRpbWUtZSl9fXZhciBfPSExLFA9LTEsTj01LEM9LTE7ZnVuY3Rpb24gVCgpe3JldHVybiEhYnx8IShuLnVuc3RhYmxlX25vdygpLUM8Til9ZnVuY3Rpb24gTygpe2lmKGI9ITEsXyl7dmFyIGU9bi51bnN0YWJsZV9ub3coKTtDPWU7dmFyIHQ9ITA7dHJ5e2U6e3Y9ITEseSYmKHk9ITEsayhQKSxQPS0xKSxnPSEwO3ZhciByPWg7dHJ5e3Q6e2ZvcihFKGUpLG09bChmKTtudWxsIT09bSYmIShtLmV4cGlyYXRpb25UaW1lPmUmJlQoKSk7KXt2YXIgbz1tLmNhbGxiYWNrO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBvKXttLmNhbGxiYWNrPW51bGwsaD1tLnByaW9yaXR5TGV2ZWw7dmFyIHU9byhtLmV4cGlyYXRpb25UaW1lPD1lKTtpZihlPW4udW5zdGFibGVfbm93KCksImZ1bmN0aW9uIj09dHlwZW9mIHUpe20uY2FsbGJhY2s9dSxFKGUpLHQ9ITA7YnJlYWsgdH1tPT09bChmKSYmYShmKSxFKGUpfWVsc2UgYShmKTttPWwoZil9aWYobnVsbCE9PW0pdD0hMDtlbHNle3ZhciBzPWwoZCk7bnVsbCE9PXMmJlIoeCxzLnN0YXJ0VGltZS1lKSx0PSExfX1icmVhayBlfWZpbmFsbHl7bT1udWxsLGg9cixnPSExfX19ZmluYWxseXt0P2koKTpfPSExfX19aWYoImZ1bmN0aW9uIj09dHlwZW9mIFMpaT1mdW5jdGlvbigpe1MoTyl9O2Vsc2UgaWYoInUiPnR5cGVvZiBNZXNzYWdlQ2hhbm5lbCl7dmFyIHo9bmV3IE1lc3NhZ2VDaGFubmVsLEw9ei5wb3J0Mjt6LnBvcnQxLm9ubWVzc2FnZT1PLGk9ZnVuY3Rpb24oKXtMLnBvc3RNZXNzYWdlKG51bGwpfX1lbHNlIGk9ZnVuY3Rpb24oKXt3KE8sMCl9O2Z1bmN0aW9uIFIoZSx0KXtQPXcoZnVuY3Rpb24oKXtlKG4udW5zdGFibGVfbm93KCkpfSx0KX1uLnVuc3RhYmxlX0lkbGVQcmlvcml0eT01LG4udW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHk9MSxuLnVuc3RhYmxlX0xvd1ByaW9yaXR5PTQsbi51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eT0zLG4udW5zdGFibGVfUHJvZmlsaW5nPW51bGwsbi51bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eT0yLG4udW5zdGFibGVfY2FuY2VsQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7ZS5jYWxsYmFjaz1udWxsfSxuLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWUgcmF0ZXMgaGlnaGVyIHRoYW4gMTI1IGZwcyBpcyBub3Qgc3VwcG9ydGVkIik6Tj0wPGU/TWF0aC5mbG9vcigxZTMvZSk6NX0sbi51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBofSxuLnVuc3RhYmxlX25leHQ9ZnVuY3Rpb24oZSl7c3dpdGNoKGgpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOnZhciB0PTM7YnJlYWs7ZGVmYXVsdDp0PWh9dmFyIG49aDtoPXQ7dHJ5e3JldHVybiBlKCl9ZmluYWxseXtoPW59fSxuLnVuc3RhYmxlX3JlcXVlc3RQYWludD1mdW5jdGlvbigpe2I9ITB9LG4udW5zdGFibGVfcnVuV2l0aFByaW9yaXR5PWZ1bmN0aW9uKGUsdCl7c3dpdGNoKGUpe2Nhc2UgMTpjYXNlIDI6Y2FzZSAzOmNhc2UgNDpjYXNlIDU6YnJlYWs7ZGVmYXVsdDplPTN9dmFyIG49aDtoPWU7dHJ5e3JldHVybiB0KCl9ZmluYWxseXtoPW59fSxuLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2s9ZnVuY3Rpb24oZSx0LGEpe3ZhciBvPW4udW5zdGFibGVfbm93KCk7c3dpdGNoKGE9Im9iamVjdCI9PXR5cGVvZiBhJiZudWxsIT09YSYmIm51bWJlciI9PXR5cGVvZihhPWEuZGVsYXkpJiYwPGE/bythOm8sZSl7Y2FzZSAxOnZhciB1PS0xO2JyZWFrO2Nhc2UgMjp1PTI1MDticmVhaztjYXNlIDU6dT0weDNmZmZmZmZmO2JyZWFrO2Nhc2UgNDp1PTFlNDticmVhaztkZWZhdWx0OnU9NWUzfXJldHVybiB1PWErdSxlPXtpZDpwKyssY2FsbGJhY2s6dCxwcmlvcml0eUxldmVsOmUsc3RhcnRUaW1lOmEsZXhwaXJhdGlvblRpbWU6dSxzb3J0SW5kZXg6LTF9LGE+bz8oZS5zb3J0SW5kZXg9YSxyKGQsZSksbnVsbD09PWwoZikmJmU9PT1sKGQpJiYoeT8oayhQKSxQPS0xKTp5PSEwLFIoeCxhLW8pKSk6KGUuc29ydEluZGV4PXUscihmLGUpLHZ8fGd8fCh2PSEwLF98fChfPSEwLGkoKSkpKSxlfSxuLnVuc3RhYmxlX3Nob3VsZFlpZWxkPVQsbi51bnN0YWJsZV93cmFwQ2FsbGJhY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9aDtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj1oO2g9dDt0cnl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZpbmFsbHl7aD1ufX19fSwyNjQ0MywoZSx0LG4pPT57InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1lLnIoNDAxNDApfSw4MjQyNCwoZSx0LG4pPT57InVzZSBzdHJpY3QiO3ZhciByLGw9ZS5pKDgyNjM3KSxhPWUucigyNjQ0Myksbz1lLnIoNzUyMDEpLGk9ZS5yKDI5MDgwKTtmdW5jdGlvbiB1KGUpe3ZhciB0PSJodHRwczovL3JlYWN0LmRldi9lcnJvcnMvIitlO2lmKDE8YXJndW1lbnRzLmxlbmd0aCl7dCs9Ij9hcmdzW109IitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzWzFdKTtmb3IodmFyIG49MjtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQrPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1tuXSl9cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIit0KyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9ZnVuY3Rpb24gcyhlKXtyZXR1cm4hKCFlfHwxIT09ZS5ub2RlVHlwZSYmOSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZSl9ZnVuY3Rpb24gYyhlKXt2YXIgdD1lLG49ZTtpZihlLmFsdGVybmF0ZSlmb3IoO3QucmV0dXJuOyl0PXQucmV0dXJuO2Vsc2V7ZT10O2RvIDAhPSg0MDk4Jih0PWUpLmZsYWdzKSYmKG49dC5yZXR1cm4pLGU9dC5yZXR1cm47d2hpbGUoZSl9cmV0dXJuIDM9PT10LnRhZz9uOm51bGx9ZnVuY3Rpb24gZihlKXtpZigxMz09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkU3RhdGU7aWYobnVsbD09PXQmJm51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJih0PWUubWVtb2l6ZWRTdGF0ZSksbnVsbCE9PXQpcmV0dXJuIHQuZGVoeWRyYXRlZH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBkKGUpe2lmKDMxPT09ZS50YWcpe3ZhciB0PWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09dCYmbnVsbCE9PShlPWUuYWx0ZXJuYXRlKSYmKHQ9ZS5tZW1vaXplZFN0YXRlKSxudWxsIT09dClyZXR1cm4gdC5kZWh5ZHJhdGVkfXJldHVybiBudWxsfWZ1bmN0aW9uIHAoZSl7aWYoYyhlKSE9PWUpdGhyb3cgRXJyb3IodSgxODgpKX1mdW5jdGlvbiBtKGUsdCxuLHIsbCxhKXtmb3IoO251bGwhPT1lOyl7aWYoNT09PWUudGFnJiZuKGUscixsLGEpfHwoMjIhPT1lLnRhZ3x8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSkmJih0fHw1IT09ZS50YWcpJiZtKGUuY2hpbGQsdCxuLHIsbCxhKSlyZXR1cm4hMDtlPWUuc2libGluZ31yZXR1cm4hMX1mdW5jdGlvbiBoKGUpe2ZvcihlPWUucmV0dXJuO251bGwhPT1lOyl7aWYoMz09PWUudGFnfHw1PT09ZS50YWcpcmV0dXJuIGU7ZT1lLnJldHVybn1yZXR1cm4gbnVsbH1mdW5jdGlvbiBnKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSA1OnJldHVybiBlLnN0YXRlTm9kZTtjYXNlIDM6cmV0dXJuIGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDU1OSkpfX12YXIgdj1udWxsLHk9bnVsbDtmdW5jdGlvbiBiKGUpe3JldHVybiB2PWUsITB9ZnVuY3Rpb24gdyhlLHQsbil7cmV0dXJuIGU9PT1ufHxlPT09dCYmKHY9ZSwhMCl9ZnVuY3Rpb24gayhlLHQsbil7cmV0dXJuIGU9PT1uPyh5PWUsITEpOmU9PT10JiYobnVsbCE9PXkmJih2PWUpLCEwKX1mdW5jdGlvbiBTKGUpe2lmKG51bGw9PT1lKXJldHVybiBudWxsO2RvIGU9bnVsbD09PWU/bnVsbDplLnJldHVybjt3aGlsZShlJiY1IT09ZS50YWcmJjI3IT09ZS50YWcmJjMhPT1lLnRhZylyZXR1cm4gZXx8bnVsbH1mdW5jdGlvbiBFKGUsdCxuKXtmb3IodmFyIHI9MCxsPWU7bDtsPW4obCkpcisrO2w9MDtmb3IodmFyIGE9dDthO2E9bihhKSlsKys7Zm9yKDswPHItbDspZT1uKGUpLHItLTtmb3IoOzA8bC1yOyl0PW4odCksbC0tO2Zvcig7ci0tOyl7aWYoZT09PXR8fG51bGwhPT10JiZlPT09dC5hbHRlcm5hdGUpcmV0dXJuIGU7ZT1uKGUpLHQ9bih0KX1yZXR1cm4gbnVsbH12YXIgeD1PYmplY3QuYXNzaWduLF89U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpLFA9U3ltYm9sLmZvcigicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnQiKSxOPVN5bWJvbC5mb3IoInJlYWN0LnBvcnRhbCIpLEM9U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKSxUPVN5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIiksTz1TeW1ib2wuZm9yKCJyZWFjdC5wcm9maWxlciIpLHo9U3ltYm9sLmZvcigicmVhY3QuY29uc3VtZXIiKSxMPVN5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKSxSPVN5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIiksTT1TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpLEk9U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpLEQ9U3ltYm9sLmZvcigicmVhY3QubWVtbyIpLEY9U3ltYm9sLmZvcigicmVhY3QubGF6eSIpO1N5bWJvbC5mb3IoInJlYWN0LnNjb3BlIik7dmFyIEE9U3ltYm9sLmZvcigicmVhY3QuYWN0aXZpdHkiKSxqPVN5bWJvbC5mb3IoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKTtTeW1ib2wuZm9yKCJyZWFjdC50cmFjaW5nX21hcmtlciIpO3ZhciBVPVN5bWJvbC5mb3IoInJlYWN0Lm1lbW9fY2FjaGVfc2VudGluZWwiKSxCPVN5bWJvbC5mb3IoInJlYWN0LnZpZXdfdHJhbnNpdGlvbiIpLFY9U3ltYm9sLml0ZXJhdG9yO2Z1bmN0aW9uIEgoZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1WJiZlW1ZdfHxlWyJAQGl0ZXJhdG9yIl0pP2U6bnVsbH12YXIgJD1TeW1ib2wuZm9yKCJyZWFjdC5jbGllbnQucmVmZXJlbmNlIiksUT1BcnJheS5pc0FycmF5LFc9by5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUscT1pLl9fRE9NX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1dBUk5fVVNFUlNfVEhFWV9DQU5OT1RfVVBHUkFERSxLPXtwZW5kaW5nOiExLGRhdGE6bnVsbCxtZXRob2Q6bnVsbCxhY3Rpb246bnVsbH0sWD1bXSxHPS0xO2Z1bmN0aW9uIFkoZSl7cmV0dXJue2N1cnJlbnQ6ZX19ZnVuY3Rpb24gSihlKXswPkd8fChlLmN1cnJlbnQ9WFtHXSxYW0ddPW51bGwsRy0tKX1mdW5jdGlvbiBaKGUsdCl7WFsrK0ddPWUuY3VycmVudCxlLmN1cnJlbnQ9dH12YXIgZWU9WShudWxsKSxldD1ZKG51bGwpLGVuPVkobnVsbCksZXI9WShudWxsKTtmdW5jdGlvbiBlbChlLHQpe3N3aXRjaChaKGVuLHQpLFooZXQsZSksWihlZSxudWxsKSx0Lm5vZGVUeXBlKXtjYXNlIDk6Y2FzZSAxMTplPShlPXQuZG9jdW1lbnRFbGVtZW50KSYmKGU9ZS5uYW1lc3BhY2VVUkkpP2NzKGUpOjA7YnJlYWs7ZGVmYXVsdDppZihlPXQudGFnTmFtZSx0PXQubmFtZXNwYWNlVVJJKWU9Y2ModD1jcyh0KSxlKTtlbHNlIHN3aXRjaChlKXtjYXNlInN2ZyI6ZT0xO2JyZWFrO2Nhc2UibWF0aCI6ZT0yO2JyZWFrO2RlZmF1bHQ6ZT0wfX1KKGVlKSxaKGVlLGUpfWZ1bmN0aW9uIGVhKCl7SihlZSksSihldCksSihlbil9ZnVuY3Rpb24gZW8oZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO251bGwhPT10JiYoZnYuX2N1cnJlbnRWYWx1ZT10Lm1lbW9pemVkU3RhdGUsWihlcixlKSk7dmFyIG49Y2ModD1lZS5jdXJyZW50LGUudHlwZSk7dCE9PW4mJihaKGV0LGUpLFooZWUsbikpfWZ1bmN0aW9uIGVpKGUpe2V0LmN1cnJlbnQ9PT1lJiYoSihlZSksSihldCkpLGVyLmN1cnJlbnQ9PT1lJiYoSihlciksZnYuX2N1cnJlbnRWYWx1ZT1LKX1mdW5jdGlvbiBldShlKXtpZih2b2lkIDA9PT10WCl0cnl7dGhyb3cgRXJyb3IoKX1jYXRjaChlKXt2YXIgdD1lLnN0YWNrLnRyaW0oKS5tYXRjaCgvXG4oICooYXQgKT8pLyk7dFg9dCYmdFsxXXx8IiIsdEc9LTE8ZS5zdGFjay5pbmRleE9mKCJcbiAgICBhdCIpPyIgKDxhbm9ueW1vdXM+KSI6LTE8ZS5zdGFjay5pbmRleE9mKCJAIik/IkB1bmtub3duOjA6MCI6IiJ9cmV0dXJuIlxuIit0WCtlK3RHfXZhciBlcz0hMTtmdW5jdGlvbiBlYyhlLHQpe2lmKCFlfHxlcylyZXR1cm4iIjtlcz0hMDt2YXIgbj1FcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtFcnJvci5wcmVwYXJlU3RhY2tUcmFjZT12b2lkIDA7dHJ5e3ZhciByPXtEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3Q6ZnVuY3Rpb24oKXt0cnl7aWYodCl7dmFyIG49ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpfTtpZihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5wcm90b3R5cGUsInByb3BzIix7c2V0OmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoKX19KSwib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QuY29uc3RydWN0KXt0cnl7UmVmbGVjdC5jb25zdHJ1Y3QobixbXSl9Y2F0Y2goZSl7dmFyIHI9ZX1SZWZsZWN0LmNvbnN0cnVjdChlLFtdLG4pfWVsc2V7dHJ5e24uY2FsbCgpfWNhdGNoKGUpe3I9ZX1lLmNhbGwobi5wcm90b3R5cGUpfX1lbHNle3RyeXt0aHJvdyBFcnJvcigpfWNhdGNoKGUpe3I9ZX0obj1lKCkpJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5jYXRjaCYmbi5jYXRjaChmdW5jdGlvbigpe30pfX1jYXRjaChlKXtpZihlJiZyJiYic3RyaW5nIj09dHlwZW9mIGUuc3RhY2spcmV0dXJuW2Uuc3RhY2ssci5zdGFja119cmV0dXJuW251bGwsbnVsbF19fTtyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdC5kaXNwbGF5TmFtZT0iRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Ijt2YXIgbD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHIuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LCJuYW1lIik7bCYmbC5jb25maWd1cmFibGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdCwibmFtZSIse3ZhbHVlOiJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QifSk7dmFyIGE9ci5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QoKSxvPWFbMF0saT1hWzFdO2lmKG8mJmkpe3ZhciB1PW8uc3BsaXQoIlxuIikscz1pLnNwbGl0KCJcbiIpO2ZvcihsPXI9MDtyPHUubGVuZ3RoJiYhdVtyXS5pbmNsdWRlcygiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290Iik7KXIrKztmb3IoO2w8cy5sZW5ndGgmJiFzW2xdLmluY2x1ZGVzKCJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QiKTspbCsrO2lmKHI9PT11Lmxlbmd0aHx8bD09PXMubGVuZ3RoKWZvcihyPXUubGVuZ3RoLTEsbD1zLmxlbmd0aC0xOzE8PXImJjA8PWwmJnVbcl0hPT1zW2xdOylsLS07Zm9yKDsxPD1yJiYwPD1sO3ItLSxsLS0paWYodVtyXSE9PXNbbF0pe2lmKDEhPT1yfHwxIT09bClkbyBpZihyLS0sbC0tLDA+bHx8dVtyXSE9PXNbbF0pe3ZhciBjPSJcbiIrdVtyXS5yZXBsYWNlKCIgYXQgbmV3ICIsIiBhdCAiKTtyZXR1cm4gZS5kaXNwbGF5TmFtZSYmYy5pbmNsdWRlcygiPGFub255bW91cz4iKSYmKGM9Yy5yZXBsYWNlKCI8YW5vbnltb3VzPiIsZS5kaXNwbGF5TmFtZSkpLGN9d2hpbGUoMTw9ciYmMDw9bClicmVha319fWZpbmFsbHl7ZXM9ITEsRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U9bn1yZXR1cm4obj1lP2UuZGlzcGxheU5hbWV8fGUubmFtZToiIik/ZXUobik6IiJ9ZnVuY3Rpb24gZWYoZSl7dHJ5e3ZhciB0PSIiLG49bnVsbDtkbyB0Kz1mdW5jdGlvbihlLHQpe3N3aXRjaChlLnRhZyl7Y2FzZSAyNjpjYXNlIDI3OmNhc2UgNTpyZXR1cm4gZXUoZS50eXBlKTtjYXNlIDE2OnJldHVybiBldSgiTGF6eSIpO2Nhc2UgMTM6cmV0dXJuIGUuY2hpbGQhPT10JiZudWxsIT09dD9ldSgiU3VzcGVuc2UgRmFsbGJhY2siKTpldSgiU3VzcGVuc2UiKTtjYXNlIDE5OnJldHVybiBldSgiU3VzcGVuc2VMaXN0Iik7Y2FzZSAwOmNhc2UgMTU6cmV0dXJuIGVjKGUudHlwZSwhMSk7Y2FzZSAxMTpyZXR1cm4gZWMoZS50eXBlLnJlbmRlciwhMSk7Y2FzZSAxOnJldHVybiBlYyhlLnR5cGUsITApO2Nhc2UgMzE6cmV0dXJuIGV1KCJBY3Rpdml0eSIpO2Nhc2UgMzA6cmV0dXJuIGV1KCJWaWV3VHJhbnNpdGlvbiIpO2RlZmF1bHQ6cmV0dXJuIiJ9fShlLG4pLG49ZSxlPWUucmV0dXJuO3doaWxlKGUpcmV0dXJuIHR9Y2F0Y2goZSl7cmV0dXJuIlxuRXJyb3IgZ2VuZXJhdGluZyBzdGFjazogIitlLm1lc3NhZ2UrIlxuIitlLnN0YWNrfX12YXIgZWQ9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxlcD1hLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2ssZW09YS51bnN0YWJsZV9jYW5jZWxDYWxsYmFjayxlaD1hLnVuc3RhYmxlX3Nob3VsZFlpZWxkLGVnPWEudW5zdGFibGVfcmVxdWVzdFBhaW50LGV2PWEudW5zdGFibGVfbm93LGV5PWEudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwsZWI9YS51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxldz1hLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LGVrPWEudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZVM9YS51bnN0YWJsZV9Mb3dQcmlvcml0eSxlRT1hLnVuc3RhYmxlX0lkbGVQcmlvcml0eSxleD0oYS5sb2csYS51bnN0YWJsZV9zZXREaXNhYmxlWWllbGRWYWx1ZSxudWxsKSxlXz1udWxsLGVQPU1hdGguY2x6MzI/TWF0aC5jbHozMjpmdW5jdGlvbihlKXtyZXR1cm4gMD09KGU+Pj49MCk/MzI6MzEtKGVOKGUpL2VDfDApfDB9LGVOPU1hdGgubG9nLGVDPU1hdGguTE4yLGVUPTI1NixlTz0yNjIxNDQsZXo9NDE5NDMwNDtmdW5jdGlvbiBlTChlKXt2YXIgdD00MiZlO2lmKDAhPT10KXJldHVybiB0O3N3aXRjaChlJi1lKXtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgNDpyZXR1cm4gNDtjYXNlIDg6cmV0dXJuIDg7Y2FzZSAxNjpyZXR1cm4gMTY7Y2FzZSAzMjpyZXR1cm4gMzI7Y2FzZSA2NDpyZXR1cm4gNjQ7Y2FzZSAxMjg6cmV0dXJuIDEyODtjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6cmV0dXJuIDI2MTg4OCZlO2Nhc2UgMjYyMTQ0OmNhc2UgNTI0Mjg4OmNhc2UgMTA0ODU3NjpjYXNlIDIwOTcxNTI6cmV0dXJuIDM5MzIxNjAmZTtjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOnJldHVybiAweDNjMDAwMDAmZTtjYXNlIDB4NDAwMDAwMDpyZXR1cm4gMHg0MDAwMDAwO2Nhc2UgMHg4MDAwMDAwOnJldHVybiAweDgwMDAwMDA7Y2FzZSAweDEwMDAwMDAwOnJldHVybiAweDEwMDAwMDAwO2Nhc2UgMHgyMDAwMDAwMDpyZXR1cm4gMHgyMDAwMDAwMDtjYXNlIDB4NDAwMDAwMDA6cmV0dXJuIDA7ZGVmYXVsdDpyZXR1cm4gZX19ZnVuY3Rpb24gZVIoZSx0LG4pe3ZhciByPWUucGVuZGluZ0xhbmVzO2lmKDA9PT1yKXJldHVybiAwO3ZhciBsPTAsYT1lLnN1c3BlbmRlZExhbmVzLG89ZS5waW5nZWRMYW5lcztlPWUud2FybUxhbmVzO3ZhciBpPTB4N2ZmZmZmZiZyO3JldHVybiAwIT09aT8wIT0ocj1pJn5hKT9sPWVMKHIpOjAhPShvJj1pKT9sPWVMKG8pOm58fDAhPShuPWkmfmUpJiYobD1lTChuKSk6MCE9KGk9ciZ+YSk/bD1lTChpKTowIT09bz9sPWVMKG8pOm58fDAhPShuPXImfmUpJiYobD1lTChuKSksMD09PWw/MDowIT09dCYmdCE9PWwmJjA9PSh0JmEpJiYoKGE9bCYtbCk+PShuPXQmLXQpfHwzMj09PWEmJjAhPSg0MTk0MDQ4Jm4pKT90Omx9ZnVuY3Rpb24gZU0oZSx0KXtyZXR1cm4gMD09KGUucGVuZGluZ0xhbmVzJn4oZS5zdXNwZW5kZWRMYW5lcyZ+ZS5waW5nZWRMYW5lcykmdCl9ZnVuY3Rpb24gZUkoKXt2YXIgZT1lejtyZXR1cm4gMD09KDB4M2MwMDAwMCYoZXo8PD0xKSkmJihlej00MTk0MzA0KSxlfWZ1bmN0aW9uIGVEKGUpe2Zvcih2YXIgdD1bXSxuPTA7MzE+bjtuKyspdC5wdXNoKGUpO3JldHVybiB0fWZ1bmN0aW9uIGVGKGUsdCl7ZS5wZW5kaW5nTGFuZXN8PXQsMHgxMDAwMDAwMCE9PXQmJihlLnN1c3BlbmRlZExhbmVzPTAsZS5waW5nZWRMYW5lcz0wLGUud2FybUxhbmVzPTApfWZ1bmN0aW9uIGVBKGUsdCxuKXtlLnBlbmRpbmdMYW5lc3w9dCxlLnN1c3BlbmRlZExhbmVzJj1+dDt2YXIgcj0zMS1lUCh0KTtlLmVudGFuZ2xlZExhbmVzfD10LGUuZW50YW5nbGVtZW50c1tyXT0weDQwMDAwMDAwfGUuZW50YW5nbGVtZW50c1tyXXwyNjE5MzAmbn1mdW5jdGlvbiBlaihlLHQpe3ZhciBuPWUuZW50YW5nbGVkTGFuZXN8PXQ7Zm9yKGU9ZS5lbnRhbmdsZW1lbnRzO247KXt2YXIgcj0zMS1lUChuKSxsPTE8PHI7bCZ0fGVbcl0mdCYmKGVbcl18PXQpLG4mPX5sfX1mdW5jdGlvbiBlVShlLHQpe3ZhciBuPXQmLXQ7cmV0dXJuIDAhPSgobj0wIT0oNDImbik/MTplQihuKSkmKGUuc3VzcGVuZGVkTGFuZXN8dCkpPzA6bn1mdW5jdGlvbiBlQihlKXtzd2l0Y2goZSl7Y2FzZSAyOmU9MTticmVhaztjYXNlIDg6ZT00O2JyZWFrO2Nhc2UgMzI6ZT0xNjticmVhaztjYXNlIDI1NjpjYXNlIDUxMjpjYXNlIDEwMjQ6Y2FzZSAyMDQ4OmNhc2UgNDA5NjpjYXNlIDgxOTI6Y2FzZSAxNjM4NDpjYXNlIDMyNzY4OmNhc2UgNjU1MzY6Y2FzZSAxMzEwNzI6Y2FzZSAyNjIxNDQ6Y2FzZSA1MjQyODg6Y2FzZSAxMDQ4NTc2OmNhc2UgMjA5NzE1MjpjYXNlIDQxOTQzMDQ6Y2FzZSA4Mzg4NjA4OmNhc2UgMHgxMDAwMDAwOmNhc2UgMHgyMDAwMDAwOmU9MTI4O2JyZWFrO2Nhc2UgMHgxMDAwMDAwMDplPTB4ODAwMDAwMDticmVhaztkZWZhdWx0OmU9MH1yZXR1cm4gZX1mdW5jdGlvbiBlVihlKXtyZXR1cm4gMjwoZSY9LWUpPzg8ZT8wIT0oMHg3ZmZmZmZmJmUpPzMyOjB4MTAwMDAwMDA6ODoyfWZ1bmN0aW9uIGVIKCl7dmFyIGU9cS5wO3JldHVybiAwIT09ZT9lOnZvaWQgMD09PShlPXdpbmRvdy5ldmVudCk/MzI6ZkwoZS50eXBlKX1mdW5jdGlvbiBlJChlLHQpe3ZhciBuPXEucDt0cnl7cmV0dXJuIHEucD1lLHQoKX1maW5hbGx5e3EucD1ufX12YXIgZVE9TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiksZVc9Il9fcmVhY3RGaWJlciQiK2VRLGVxPSJfX3JlYWN0UHJvcHMkIitlUSxlSz0iX19yZWFjdENvbnRhaW5lciQiK2VRLGVYPSJfX3JlYWN0RXZlbnRzJCIrZVEsZUc9Il9fcmVhY3RMaXN0ZW5lcnMkIitlUSxlWT0iX19yZWFjdEhhbmRsZXMkIitlUSxlSj0iX19yZWFjdFJlc291cmNlcyQiK2VRLGVaPSJfX3JlYWN0TWFya2VyJCIrZVE7ZnVuY3Rpb24gZTAoZSl7ZGVsZXRlIGVbZVddLGRlbGV0ZSBlW2VxXSxkZWxldGUgZVtlWF0sZGVsZXRlIGVbZUddLGRlbGV0ZSBlW2VZXX1mdW5jdGlvbiBlMShlKXt2YXIgdDtpZih0PWVbZVddKXJldHVybiB0O2Zvcih2YXIgbj1lLnBhcmVudE5vZGU7bjspe2lmKHQ9bltlS118fG5bZVddKXtpZihuPXQuYWx0ZXJuYXRlLG51bGwhPT10LmNoaWxkfHxudWxsIT09biYmbnVsbCE9PW4uY2hpbGQpZm9yKGU9Y0soZSk7bnVsbCE9PWU7KXtpZihuPWVbZVddKXJldHVybiBuO2U9Y0soZSl9cmV0dXJuIHR9bj0oZT1uKS5wYXJlbnROb2RlfXJldHVybiBudWxsfWZ1bmN0aW9uIGUyKGUpe2lmKGU9ZVtlV118fGVbZUtdKXt2YXIgdD1lLnRhZztpZig1PT09dHx8Nj09PXR8fDEzPT09dHx8MzE9PT10fHwyNj09PXR8fDI3PT09dHx8Mz09PXQpcmV0dXJuIGV9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZTMoZSl7dmFyIHQ9ZS50YWc7aWYoNT09PXR8fDI2PT09dHx8Mjc9PT10fHw2PT09dClyZXR1cm4gZS5zdGF0ZU5vZGU7dGhyb3cgRXJyb3IodSgzMykpfWZ1bmN0aW9uIGU0KGUpe3ZhciB0PWVbZUpdO3JldHVybiB0fHwodD1lW2VKXT17aG9pc3RhYmxlU3R5bGVzOm5ldyBNYXAsaG9pc3RhYmxlU2NyaXB0czpuZXcgTWFwfSksdH1mdW5jdGlvbiBlOChlKXtlW2VaXT0hMH12YXIgZTU9bmV3IFNldCxlNj17fTtmdW5jdGlvbiBlOShlLHQpe2U3KGUsdCksZTcoZSsiQ2FwdHVyZSIsdCl9ZnVuY3Rpb24gZTcoZSx0KXtmb3IoZTZbZV09dCxlPTA7ZTx0Lmxlbmd0aDtlKyspZTUuYWRkKHRbZV0pfXZhciB0ZT1SZWdFeHAoIl5bOkEtWl9hLXpcXHUwMEMwLVxcdTAwRDZcXHUwMEQ4LVxcdTAwRjZcXHUwMEY4LVxcdTAyRkZcXHUwMzcwLVxcdTAzN0RcXHUwMzdGLVxcdTFGRkZcXHUyMDBDLVxcdTIwMERcXHUyMDcwLVxcdTIxOEZcXHUyQzAwLVxcdTJGRUZcXHUzMDAxLVxcdUQ3RkZcXHVGOTAwLVxcdUZEQ0ZcXHVGREYwLVxcdUZGRkRdWzpBLVpfYS16XFx1MDBDMC1cXHUwMEQ2XFx1MDBEOC1cXHUwMEY2XFx1MDBGOC1cXHUwMkZGXFx1MDM3MC1cXHUwMzdEXFx1MDM3Ri1cXHUxRkZGXFx1MjAwQy1cXHUyMDBEXFx1MjA3MC1cXHUyMThGXFx1MkMwMC1cXHUyRkVGXFx1MzAwMS1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkZEXFwtLjAtOVxcdTAwQjdcXHUwMzAwLVxcdTAzNkZcXHUyMDNGLVxcdTIwNDBdKiQiKSx0dD17fSx0bj17fSx0cj0hMTtmdW5jdGlvbiB0bCgpe3ZhciBlPXRyO3JldHVybiB0cj0hMSxlfWZ1bmN0aW9uIHRhKGUsdCxuKXtpZihlZC5jYWxsKHRuLHQpfHwhZWQuY2FsbCh0dCx0KSYmKHRlLnRlc3QodCk/dG5bdF09ITA6KHR0W3RdPSEwLCExKSkpaWYobnVsbD09PW4pZS5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UidW5kZWZpbmVkIjpjYXNlImZ1bmN0aW9uIjpjYXNlInN5bWJvbCI6ZS5yZW1vdmVBdHRyaWJ1dGUodCk7cmV0dXJuO2Nhc2UiYm9vbGVhbiI6dmFyIHI9dC50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsNSk7aWYoImRhdGEtIiE9PXImJiJhcmlhLSIhPT1yKXJldHVybiB2b2lkIGUucmVtb3ZlQXR0cmlidXRlKHQpfWUuc2V0QXR0cmlidXRlKHQsIiIrbil9fWZ1bmN0aW9uIHRvKGUsdCxuKXtpZihudWxsPT09billLnJlbW92ZUF0dHJpYnV0ZSh0KTtlbHNle3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKHQpO3JldHVybn1lLnNldEF0dHJpYnV0ZSh0LCIiK24pfX1mdW5jdGlvbiB0aShlLHQsbixyKXtpZihudWxsPT09cillLnJlbW92ZUF0dHJpYnV0ZShuKTtlbHNle3N3aXRjaCh0eXBlb2Ygcil7Y2FzZSJ1bmRlZmluZWQiOmNhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpjYXNlImJvb2xlYW4iOmUucmVtb3ZlQXR0cmlidXRlKG4pO3JldHVybn1lLnNldEF0dHJpYnV0ZU5TKHQsbiwiIityKX19ZnVuY3Rpb24gdHUoZSl7c3dpdGNoKHR5cGVvZiBlKXtjYXNlImJpZ2ludCI6Y2FzZSJib29sZWFuIjpjYXNlIm51bWJlciI6Y2FzZSJzdHJpbmciOmNhc2UidW5kZWZpbmVkIjpjYXNlIm9iamVjdCI6cmV0dXJuIGU7ZGVmYXVsdDpyZXR1cm4iIn19ZnVuY3Rpb24gdHMoZSl7dmFyIHQ9ZS50eXBlO3JldHVybihlPWUubm9kZU5hbWUpJiYiaW5wdXQiPT09ZS50b0xvd2VyQ2FzZSgpJiYoImNoZWNrYm94Ij09PXR8fCJyYWRpbyI9PT10KX1mdW5jdGlvbiB0YyhlKXtpZighZS5fdmFsdWVUcmFja2VyKXt2YXIgdD10cyhlKT8iY2hlY2tlZCI6InZhbHVlIjtlLl92YWx1ZVRyYWNrZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsdCk7aWYoIWUuaGFzT3duUHJvcGVydHkodCkmJnZvaWQgMCE9PXImJiJmdW5jdGlvbiI9PXR5cGVvZiByLmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIHIuc2V0KXt2YXIgbD1yLmdldCxhPXIuc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGwuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe249IiIrZSxhLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOnIuZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBufSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtuPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW3RdfX19fShlLHQsIiIrZVt0XSl9fWZ1bmN0aW9uIHRmKGUpe2lmKCFlKXJldHVybiExO3ZhciB0PWUuX3ZhbHVlVHJhY2tlcjtpZighdClyZXR1cm4hMDt2YXIgbj10LmdldFZhbHVlKCkscj0iIjtyZXR1cm4gZSYmKHI9dHMoZSk/ZS5jaGVja2VkPyJ0cnVlIjoiZmFsc2UiOmUudmFsdWUpLChlPXIpIT09biYmKHQuc2V0VmFsdWUoZSksITApfWZ1bmN0aW9uIHRkKGUpe2lmKHZvaWQgMD09PShlPWV8fCgidSI+dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50OnZvaWQgMCkpKXJldHVybiBudWxsO3RyeXtyZXR1cm4gZS5hY3RpdmVFbGVtZW50fHxlLmJvZHl9Y2F0Y2godCl7cmV0dXJuIGUuYm9keX19dmFyIHRwPS9bXG4iXFxdL2c7ZnVuY3Rpb24gdG0oZSl7cmV0dXJuIGUucmVwbGFjZSh0cCxmdW5jdGlvbihlKXtyZXR1cm4iXFwiK2UuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikrIiAifSl9ZnVuY3Rpb24gdGgoZSx0LG4scixsLGEsbyxpKXtlLm5hbWU9IiIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2Ygbz9lLnR5cGU9bzplLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLG51bGwhPXQ/Im51bWJlciI9PT1vPygwPT09dCYmIiI9PT1lLnZhbHVlfHxlLnZhbHVlIT10KSYmKGUudmFsdWU9IiIrdHUodCkpOmUudmFsdWUhPT0iIit0dSh0KSYmKGUudmFsdWU9IiIrdHUodCkpOiJzdWJtaXQiIT09byYmInJlc2V0IiE9PW98fGUucmVtb3ZlQXR0cmlidXRlKCJ2YWx1ZSIpLG51bGwhPXQ/dHYoZSxvLHR1KHQpKTpudWxsIT1uP3R2KGUsbyx0dShuKSk6bnVsbCE9ciYmZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIiksbnVsbD09bCYmbnVsbCE9YSYmKGUuZGVmYXVsdENoZWNrZWQ9ISFhKSxudWxsIT1sJiYoZS5jaGVja2VkPWwmJiJmdW5jdGlvbiIhPXR5cGVvZiBsJiYic3ltYm9sIiE9dHlwZW9mIGwpLG51bGwhPWkmJiJmdW5jdGlvbiIhPXR5cGVvZiBpJiYic3ltYm9sIiE9dHlwZW9mIGkmJiJib29sZWFuIiE9dHlwZW9mIGk/ZS5uYW1lPSIiK3R1KGkpOmUucmVtb3ZlQXR0cmlidXRlKCJuYW1lIil9ZnVuY3Rpb24gdGcoZSx0LG4scixsLGEsbyxpKXtpZihudWxsIT1hJiYiZnVuY3Rpb24iIT10eXBlb2YgYSYmInN5bWJvbCIhPXR5cGVvZiBhJiYiYm9vbGVhbiIhPXR5cGVvZiBhJiYoZS50eXBlPWEpLG51bGwhPXR8fG51bGwhPW4pe2lmKCgic3VibWl0Ij09PWF8fCJyZXNldCI9PT1hKSYmbnVsbD09dClyZXR1cm4gdm9pZCB0YyhlKTtuPW51bGwhPW4/IiIrdHUobik6IiIsdD1udWxsIT10PyIiK3R1KHQpOm4saXx8dD09PWUudmFsdWV8fChlLnZhbHVlPXQpLGUuZGVmYXVsdFZhbHVlPXR9cj0iZnVuY3Rpb24iIT10eXBlb2Yocj1udWxsIT1yP3I6bCkmJiJzeW1ib2wiIT10eXBlb2YgciYmISFyLGUuY2hlY2tlZD1pP2UuY2hlY2tlZDohIXIsZS5kZWZhdWx0Q2hlY2tlZD0hIXIsbnVsbCE9byYmImZ1bmN0aW9uIiE9dHlwZW9mIG8mJiJzeW1ib2wiIT10eXBlb2YgbyYmImJvb2xlYW4iIT10eXBlb2YgbyYmKGUubmFtZT1vKSx0YyhlKX1mdW5jdGlvbiB0dihlLHQsbil7Im51bWJlciI9PT10JiZ0ZChlLm93bmVyRG9jdW1lbnQpPT09ZXx8ZS5kZWZhdWx0VmFsdWU9PT0iIitufHwoZS5kZWZhdWx0VmFsdWU9IiIrbil9ZnVuY3Rpb24gdHkoZSx0LG4scil7aWYoZT1lLm9wdGlvbnMsdCl7dD17fTtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoO2wrKyl0WyIkIituW2xdXT0hMDtmb3Iobj0wO248ZS5sZW5ndGg7bisrKWw9dC5oYXNPd25Qcm9wZXJ0eSgiJCIrZVtuXS52YWx1ZSksZVtuXS5zZWxlY3RlZCE9PWwmJihlW25dLnNlbGVjdGVkPWwpLGwmJnImJihlW25dLmRlZmF1bHRTZWxlY3RlZD0hMCl9ZWxzZXtmb3IobD0wLG49IiIrdHUobiksdD1udWxsO2w8ZS5sZW5ndGg7bCsrKXtpZihlW2xdLnZhbHVlPT09bil7ZVtsXS5zZWxlY3RlZD0hMCxyJiYoZVtsXS5kZWZhdWx0U2VsZWN0ZWQ9ITApO3JldHVybn1udWxsIT09dHx8ZVtsXS5kaXNhYmxlZHx8KHQ9ZVtsXSl9bnVsbCE9PXQmJih0LnNlbGVjdGVkPSEwKX19ZnVuY3Rpb24gdGIoZSx0LG4pe2lmKG51bGwhPXQmJigodD0iIit0dSh0KSkhPT1lLnZhbHVlJiYoZS52YWx1ZT10KSxudWxsPT1uKSl7ZS5kZWZhdWx0VmFsdWUhPT10JiYoZS5kZWZhdWx0VmFsdWU9dCk7cmV0dXJufWUuZGVmYXVsdFZhbHVlPW51bGwhPW4/IiIrdHUobik6IiJ9ZnVuY3Rpb24gdHcoZSx0LG4scil7aWYobnVsbD09dCl7aWYobnVsbCE9cil7aWYobnVsbCE9bil0aHJvdyBFcnJvcih1KDkyKSk7aWYoUShyKSl7aWYoMTxyLmxlbmd0aCl0aHJvdyBFcnJvcih1KDkzKSk7cj1yWzBdfW49cn1udWxsPT1uJiYobj0iIiksdD1ufWUuZGVmYXVsdFZhbHVlPW49dHUodCksKHI9ZS50ZXh0Q29udGVudCk9PT1uJiYiIiE9PXImJm51bGwhPT1yJiYoZS52YWx1ZT1yKSx0YyhlKX1mdW5jdGlvbiB0ayhlLHQpe2lmKHQpe3ZhciBuPWUuZmlyc3RDaGlsZDtpZihuJiZuPT09ZS5sYXN0Q2hpbGQmJjM9PT1uLm5vZGVUeXBlKXtuLm5vZGVWYWx1ZT10O3JldHVybn19ZS50ZXh0Q29udGVudD10fXZhciB0Uz1uZXcgU2V0KCJhbmltYXRpb25JdGVyYXRpb25Db3VudCBhc3BlY3RSYXRpbyBib3JkZXJJbWFnZU91dHNldCBib3JkZXJJbWFnZVNsaWNlIGJvcmRlckltYWdlV2lkdGggYm94RmxleCBib3hGbGV4R3JvdXAgYm94T3JkaW5hbEdyb3VwIGNvbHVtbkNvdW50IGNvbHVtbnMgZmxleCBmbGV4R3JvdyBmbGV4UG9zaXRpdmUgZmxleFNocmluayBmbGV4TmVnYXRpdmUgZmxleE9yZGVyIGdyaWRBcmVhIGdyaWRSb3cgZ3JpZFJvd0VuZCBncmlkUm93U3BhbiBncmlkUm93U3RhcnQgZ3JpZENvbHVtbiBncmlkQ29sdW1uRW5kIGdyaWRDb2x1bW5TcGFuIGdyaWRDb2x1bW5TdGFydCBmb250V2VpZ2h0IGxpbmVDbGFtcCBsaW5lSGVpZ2h0IG9wYWNpdHkgb3JkZXIgb3JwaGFucyBzY2FsZSB0YWJTaXplIHdpZG93cyB6SW5kZXggem9vbSBmaWxsT3BhY2l0eSBmbG9vZE9wYWNpdHkgc3RvcE9wYWNpdHkgc3Ryb2tlRGFzaGFycmF5IHN0cm9rZURhc2hvZmZzZXQgc3Ryb2tlTWl0ZXJsaW1pdCBzdHJva2VPcGFjaXR5IHN0cm9rZVdpZHRoIE1vekFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IE1vekJveEZsZXggTW96Qm94RmxleEdyb3VwIE1vekxpbmVDbGFtcCBtc0FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IG1zRmxleCBtc1pvb20gbXNGbGV4R3JvdyBtc0ZsZXhOZWdhdGl2ZSBtc0ZsZXhPcmRlciBtc0ZsZXhQb3NpdGl2ZSBtc0ZsZXhTaHJpbmsgbXNHcmlkQ29sdW1uIG1zR3JpZENvbHVtblNwYW4gbXNHcmlkUm93IG1zR3JpZFJvd1NwYW4gV2Via2l0QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQgV2Via2l0Qm94RmxleCBXZWJLaXRCb3hGbGV4R3JvdXAgV2Via2l0Qm94T3JkaW5hbEdyb3VwIFdlYmtpdENvbHVtbkNvdW50IFdlYmtpdENvbHVtbnMgV2Via2l0RmxleCBXZWJraXRGbGV4R3JvdyBXZWJraXRGbGV4UG9zaXRpdmUgV2Via2l0RmxleFNocmluayBXZWJraXRMaW5lQ2xhbXAiLnNwbGl0KCIgIikpO2Z1bmN0aW9uIHRFKGUsdCxuKXt2YXIgcj0wPT09dC5pbmRleE9mKCItLSIpO251bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG58fCIiPT09bj9yP2Uuc2V0UHJvcGVydHkodCwiIik6ImZsb2F0Ij09PXQ/ZS5jc3NGbG9hdD0iIjplW3RdPSIiOnI/ZS5zZXRQcm9wZXJ0eSh0LG4pOiJudW1iZXIiIT10eXBlb2Ygbnx8MD09PW58fHRTLmhhcyh0KT8iZmxvYXQiPT09dD9lLmNzc0Zsb2F0PW46ZVt0XT0oIiIrbikudHJpbSgpOmVbdF09bisicHgifWZ1bmN0aW9uIHR4KGUsdCxuKXtpZihudWxsIT10JiYib2JqZWN0IiE9dHlwZW9mIHQpdGhyb3cgRXJyb3IodSg2MikpO2lmKGU9ZS5zdHlsZSxudWxsIT1uKXtmb3IodmFyIHIgaW4gbikhbi5oYXNPd25Qcm9wZXJ0eShyKXx8bnVsbCE9dCYmdC5oYXNPd25Qcm9wZXJ0eShyKXx8KDA9PT1yLmluZGV4T2YoIi0tIik/ZS5zZXRQcm9wZXJ0eShyLCIiKToiZmxvYXQiPT09cj9lLmNzc0Zsb2F0PSIiOmVbcl09IiIsdHI9ITApO2Zvcih2YXIgbCBpbiB0KXI9dFtsXSx0Lmhhc093blByb3BlcnR5KGwpJiZuW2xdIT09ciYmKHRFKGUsbCxyKSx0cj0hMCl9ZWxzZSBmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiZ0RShlLGEsdFthXSl9ZnVuY3Rpb24gdF8oZSl7aWYoLTE9PT1lLmluZGV4T2YoIi0iKSlyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJhbm5vdGF0aW9uLXhtbCI6Y2FzZSJjb2xvci1wcm9maWxlIjpjYXNlImZvbnQtZmFjZSI6Y2FzZSJmb250LWZhY2Utc3JjIjpjYXNlImZvbnQtZmFjZS11cmkiOmNhc2UiZm9udC1mYWNlLWZvcm1hdCI6Y2FzZSJmb250LWZhY2UtbmFtZSI6Y2FzZSJtaXNzaW5nLWdseXBoIjpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgdFA9bmV3IE1hcChbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImh0bWxGb3IiLCJmb3IiXSxbImh0dHBFcXVpdiIsImh0dHAtZXF1aXYiXSxbImNyb3NzT3JpZ2luIiwiY3Jvc3NvcmlnaW4iXSxbImFjY2VudEhlaWdodCIsImFjY2VudC1oZWlnaHQiXSxbImFsaWdubWVudEJhc2VsaW5lIiwiYWxpZ25tZW50LWJhc2VsaW5lIl0sWyJhcmFiaWNGb3JtIiwiYXJhYmljLWZvcm0iXSxbImJhc2VsaW5lU2hpZnQiLCJiYXNlbGluZS1zaGlmdCJdLFsiY2FwSGVpZ2h0IiwiY2FwLWhlaWdodCJdLFsiY2xpcFBhdGgiLCJjbGlwLXBhdGgiXSxbImNsaXBSdWxlIiwiY2xpcC1ydWxlIl0sWyJjb2xvckludGVycG9sYXRpb24iLCJjb2xvci1pbnRlcnBvbGF0aW9uIl0sWyJjb2xvckludGVycG9sYXRpb25GaWx0ZXJzIiwiY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIl0sWyJjb2xvclByb2ZpbGUiLCJjb2xvci1wcm9maWxlIl0sWyJjb2xvclJlbmRlcmluZyIsImNvbG9yLXJlbmRlcmluZyJdLFsiZG9taW5hbnRCYXNlbGluZSIsImRvbWluYW50LWJhc2VsaW5lIl0sWyJlbmFibGVCYWNrZ3JvdW5kIiwiZW5hYmxlLWJhY2tncm91bmQiXSxbImZpbGxPcGFjaXR5IiwiZmlsbC1vcGFjaXR5Il0sWyJmaWxsUnVsZSIsImZpbGwtcnVsZSJdLFsiZmxvb2RDb2xvciIsImZsb29kLWNvbG9yIl0sWyJmbG9vZE9wYWNpdHkiLCJmbG9vZC1vcGFjaXR5Il0sWyJmb250RmFtaWx5IiwiZm9udC1mYW1pbHkiXSxbImZvbnRTaXplIiwiZm9udC1zaXplIl0sWyJmb250U2l6ZUFkanVzdCIsImZvbnQtc2l6ZS1hZGp1c3QiXSxbImZvbnRTdHJldGNoIiwiZm9udC1zdHJldGNoIl0sWyJmb250U3R5bGUiLCJmb250LXN0eWxlIl0sWyJmb250VmFyaWFudCIsImZvbnQtdmFyaWFudCJdLFsiZm9udFdlaWdodCIsImZvbnQtd2VpZ2h0Il0sWyJnbHlwaE5hbWUiLCJnbHlwaC1uYW1lIl0sWyJnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCIsImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiXSxbImdseXBoT3JpZW50YXRpb25WZXJ0aWNhbCIsImdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIl0sWyJob3JpekFkdlgiLCJob3Jpei1hZHYteCJdLFsiaG9yaXpPcmlnaW5YIiwiaG9yaXotb3JpZ2luLXgiXSxbImltYWdlUmVuZGVyaW5nIiwiaW1hZ2UtcmVuZGVyaW5nIl0sWyJsZXR0ZXJTcGFjaW5nIiwibGV0dGVyLXNwYWNpbmciXSxbImxpZ2h0aW5nQ29sb3IiLCJsaWdodGluZy1jb2xvciJdLFsibWFya2VyRW5kIiwibWFya2VyLWVuZCJdLFsibWFya2VyTWlkIiwibWFya2VyLW1pZCJdLFsibWFya2VyU3RhcnQiLCJtYXJrZXItc3RhcnQiXSxbIm92ZXJsaW5lUG9zaXRpb24iLCJvdmVybGluZS1wb3NpdGlvbiJdLFsib3ZlcmxpbmVUaGlja25lc3MiLCJvdmVybGluZS10aGlja25lc3MiXSxbInBhaW50T3JkZXIiLCJwYWludC1vcmRlciJdLFsicGFub3NlLTEiLCJwYW5vc2UtMSJdLFsicG9pbnRlckV2ZW50cyIsInBvaW50ZXItZXZlbnRzIl0sWyJyZW5kZXJpbmdJbnRlbnQiLCJyZW5kZXJpbmctaW50ZW50Il0sWyJzaGFwZVJlbmRlcmluZyIsInNoYXBlLXJlbmRlcmluZyJdLFsic3RvcENvbG9yIiwic3RvcC1jb2xvciJdLFsic3RvcE9wYWNpdHkiLCJzdG9wLW9wYWNpdHkiXSxbInN0cmlrZXRocm91Z2hQb3NpdGlvbiIsInN0cmlrZXRocm91Z2gtcG9zaXRpb24iXSxbInN0cmlrZXRocm91Z2hUaGlja25lc3MiLCJzdHJpa2V0aHJvdWdoLXRoaWNrbmVzcyJdLFsic3Ryb2tlRGFzaGFycmF5Iiwic3Ryb2tlLWRhc2hhcnJheSJdLFsic3Ryb2tlRGFzaG9mZnNldCIsInN0cm9rZS1kYXNob2Zmc2V0Il0sWyJzdHJva2VMaW5lY2FwIiwic3Ryb2tlLWxpbmVjYXAiXSxbInN0cm9rZUxpbmVqb2luIiwic3Ryb2tlLWxpbmVqb2luIl0sWyJzdHJva2VNaXRlcmxpbWl0Iiwic3Ryb2tlLW1pdGVybGltaXQiXSxbInN0cm9rZU9wYWNpdHkiLCJzdHJva2Utb3BhY2l0eSJdLFsic3Ryb2tlV2lkdGgiLCJzdHJva2Utd2lkdGgiXSxbInRleHRBbmNob3IiLCJ0ZXh0LWFuY2hvciJdLFsidGV4dERlY29yYXRpb24iLCJ0ZXh0LWRlY29yYXRpb24iXSxbInRleHRSZW5kZXJpbmciLCJ0ZXh0LXJlbmRlcmluZyJdLFsidHJhbnNmb3JtT3JpZ2luIiwidHJhbnNmb3JtLW9yaWdpbiJdLFsidW5kZXJsaW5lUG9zaXRpb24iLCJ1bmRlcmxpbmUtcG9zaXRpb24iXSxbInVuZGVybGluZVRoaWNrbmVzcyIsInVuZGVybGluZS10aGlja25lc3MiXSxbInVuaWNvZGVCaWRpIiwidW5pY29kZS1iaWRpIl0sWyJ1bmljb2RlUmFuZ2UiLCJ1bmljb2RlLXJhbmdlIl0sWyJ1bml0c1BlckVtIiwidW5pdHMtcGVyLWVtIl0sWyJ2QWxwaGFiZXRpYyIsInYtYWxwaGFiZXRpYyJdLFsidkhhbmdpbmciLCJ2LWhhbmdpbmciXSxbInZJZGVvZ3JhcGhpYyIsInYtaWRlb2dyYXBoaWMiXSxbInZNYXRoZW1hdGljYWwiLCJ2LW1hdGhlbWF0aWNhbCJdLFsidmVjdG9yRWZmZWN0IiwidmVjdG9yLWVmZmVjdCJdLFsidmVydEFkdlkiLCJ2ZXJ0LWFkdi15Il0sWyJ2ZXJ0T3JpZ2luWCIsInZlcnQtb3JpZ2luLXgiXSxbInZlcnRPcmlnaW5ZIiwidmVydC1vcmlnaW4teSJdLFsid29yZFNwYWNpbmciLCJ3b3JkLXNwYWNpbmciXSxbIndyaXRpbmdNb2RlIiwid3JpdGluZy1tb2RlIl0sWyJ4bWxuc1hsaW5rIiwieG1sbnM6eGxpbmsiXSxbInhIZWlnaHQiLCJ4LWhlaWdodCJdXSksdE49L15bXHUwMDAwLVx1MDAxRiBdKmpbXHJcblx0XSphW1xyXG5cdF0qdltcclxuXHRdKmFbXHJcblx0XSpzW1xyXG5cdF0qY1tcclxuXHRdKnJbXHJcblx0XSppW1xyXG5cdF0qcFtcclxuXHRdKnRbXHJcblx0XSo6L2k7ZnVuY3Rpb24gdEMoZSl7cmV0dXJuIHROLnRlc3QoIiIrZSk/ImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdSZWFjdCBoYXMgYmxvY2tlZCBhIGphdmFzY3JpcHQ6IFVSTCBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uJykiOmV9ZnVuY3Rpb24gdFQoKXt9dmFyIHRPPW51bGw7ZnVuY3Rpb24gdHooZSl7cmV0dXJuKGU9ZS50YXJnZXR8fGUuc3JjRWxlbWVudHx8d2luZG93KS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCYmKGU9ZS5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCksMz09PWUubm9kZVR5cGU/ZS5wYXJlbnROb2RlOmV9dmFyIHRMPW51bGwsdFI9bnVsbDtmdW5jdGlvbiB0TShlKXt2YXIgdD1lMihlKTtpZih0JiYoZT10LnN0YXRlTm9kZSkpe3ZhciBuPWVbZXFdfHxudWxsO3N3aXRjaChlPXQuc3RhdGVOb2RlLHQudHlwZSl7Y2FzZSJpbnB1dCI6aWYodGgoZSxuLnZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uZGVmYXVsdFZhbHVlLG4uY2hlY2tlZCxuLmRlZmF1bHRDaGVja2VkLG4udHlwZSxuLm5hbWUpLHQ9bi5uYW1lLCJyYWRpbyI9PT1uLnR5cGUmJm51bGwhPXQpe2ZvcihuPWU7bi5wYXJlbnROb2RlOyluPW4ucGFyZW50Tm9kZTtmb3Iobj1uLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W25hbWU9IicrdG0oIiIrdCkrJyJdW3R5cGU9InJhZGlvIl0nKSx0PTA7dDxuLmxlbmd0aDt0Kyspe3ZhciByPW5bdF07aWYociE9PWUmJnIuZm9ybT09PWUuZm9ybSl7dmFyIGw9cltlcV18fG51bGw7aWYoIWwpdGhyb3cgRXJyb3IodSg5MCkpO3RoKHIsbC52YWx1ZSxsLmRlZmF1bHRWYWx1ZSxsLmRlZmF1bHRWYWx1ZSxsLmNoZWNrZWQsbC5kZWZhdWx0Q2hlY2tlZCxsLnR5cGUsbC5uYW1lKX19Zm9yKHQ9MDt0PG4ubGVuZ3RoO3QrKykocj1uW3RdKS5mb3JtPT09ZS5mb3JtJiZ0ZihyKX1icmVhaztjYXNlInRleHRhcmVhIjp0YihlLG4udmFsdWUsbi5kZWZhdWx0VmFsdWUpO2JyZWFrO2Nhc2Uic2VsZWN0IjpudWxsIT0odD1uLnZhbHVlKSYmdHkoZSwhIW4ubXVsdGlwbGUsdCwhMSl9fX12YXIgdEk9ITE7ZnVuY3Rpb24gdEQoZSx0LG4pe2lmKHRJKXJldHVybiBlKHQsbik7dEk9ITA7dHJ5e3JldHVybiBlKHQpfWZpbmFsbHl7aWYodEk9ITEsKG51bGwhPT10THx8bnVsbCE9PXRSKSYmKHN0KCksdEwmJih0PXRMLGU9dFIsdFI9dEw9bnVsbCx0TSh0KSxlKSkpZm9yKHQ9MDt0PGUubGVuZ3RoO3QrKyl0TShlW3RdKX19ZnVuY3Rpb24gdEYoZSx0KXt2YXIgbj1lLnN0YXRlTm9kZTtpZihudWxsPT09bilyZXR1cm4gbnVsbDt2YXIgcj1uW2VxXXx8bnVsbDtpZihudWxsPT09cilyZXR1cm4gbnVsbDtzd2l0Y2gobj1yW3RdLHQpe2Nhc2Uib25DbGljayI6Y2FzZSJvbkNsaWNrQ2FwdHVyZSI6Y2FzZSJvbkRvdWJsZUNsaWNrIjpjYXNlIm9uRG91YmxlQ2xpY2tDYXB0dXJlIjpjYXNlIm9uTW91c2VEb3duIjpjYXNlIm9uTW91c2VEb3duQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlTW92ZSI6Y2FzZSJvbk1vdXNlTW92ZUNhcHR1cmUiOmNhc2Uib25Nb3VzZVVwIjpjYXNlIm9uTW91c2VVcENhcHR1cmUiOmNhc2Uib25Nb3VzZUVudGVyIjoocj0hci5kaXNhYmxlZCl8fChyPSJidXR0b24iIT09KGU9ZS50eXBlKSYmImlucHV0IiE9PWUmJiJzZWxlY3QiIT09ZSYmInRleHRhcmVhIiE9PWUpLGU9IXI7YnJlYWs7ZGVmYXVsdDplPSExfWlmKGUpcmV0dXJuIG51bGw7aWYobiYmImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgRXJyb3IodSgyMzEsdCx0eXBlb2YgbikpO3JldHVybiBufXZhciB0QT0idSI+dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LmRvY3VtZW50JiZ2b2lkIDAhPT13aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCx0aj0hMTtpZih0QSl0cnl7dmFyIHRVPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0VSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe3RqPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0Iix0VSx0VSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLHRVLHRVKX1jYXRjaChlKXt0aj0hMX12YXIgdEI9bnVsbCx0Vj1udWxsLHRIPW51bGw7ZnVuY3Rpb24gdCQoKXtpZih0SClyZXR1cm4gdEg7dmFyIGUsdCxuPXRWLHI9bi5sZW5ndGgsbD0idmFsdWUiaW4gdEI/dEIudmFsdWU6dEIudGV4dENvbnRlbnQsYT1sLmxlbmd0aDtmb3IoZT0wO2U8ciYmbltlXT09PWxbZV07ZSsrKTt2YXIgbz1yLWU7Zm9yKHQ9MTt0PD1vJiZuW3ItdF09PT1sW2EtdF07dCsrKTtyZXR1cm4gdEg9bC5zbGljZShlLDE8dD8xLXQ6dm9pZCAwKX1mdW5jdGlvbiB0UShlKXt2YXIgdD1lLmtleUNvZGU7cmV0dXJuImNoYXJDb2RlImluIGU/MD09PShlPWUuY2hhckNvZGUpJiYxMz09PXQmJihlPTEzKTplPXQsMTA9PT1lJiYoZT0xMyksMzI8PWV8fDEzPT09ZT9lOjB9ZnVuY3Rpb24gdFcoKXtyZXR1cm4hMH1mdW5jdGlvbiB0cSgpe3JldHVybiExfWZ1bmN0aW9uIHRLKGUpe2Z1bmN0aW9uIHQodCxuLHIsbCxhKXtmb3IodmFyIG8gaW4gdGhpcy5fcmVhY3ROYW1lPXQsdGhpcy5fdGFyZ2V0SW5zdD1yLHRoaXMudHlwZT1uLHRoaXMubmF0aXZlRXZlbnQ9bCx0aGlzLnRhcmdldD1hLHRoaXMuY3VycmVudFRhcmdldD1udWxsLGUpZS5oYXNPd25Qcm9wZXJ0eShvKSYmKHQ9ZVtvXSx0aGlzW29dPXQ/dChsKTpsW29dKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPWwuZGVmYXVsdFByZXZlbnRlZD9sLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1sLnJldHVyblZhbHVlKT90Vzp0cSx0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXRxLHRoaXN9cmV0dXJuIHgodC5wcm90b3R5cGUse3ByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dGhpcy5kZWZhdWx0UHJldmVudGVkPSEwO3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUucHJldmVudERlZmF1bHQ/ZS5wcmV2ZW50RGVmYXVsdCgpOiJ1bmtub3duIiE9dHlwZW9mIGUucmV0dXJuVmFsdWUmJihlLnJldHVyblZhbHVlPSExKSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD10Vyl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMubmF0aXZlRXZlbnQ7ZSYmKGUuc3RvcFByb3BhZ2F0aW9uP2Uuc3RvcFByb3BhZ2F0aW9uKCk6InVua25vd24iIT10eXBlb2YgZS5jYW5jZWxCdWJibGUmJihlLmNhbmNlbEJ1YmJsZT0hMCksdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD10Vyl9LHBlcnNpc3Q6ZnVuY3Rpb24oKXt9LGlzUGVyc2lzdGVudDp0V30pLHR9dmFyIHRYLHRHLHRZLHRKLHRaLHQwPXtldmVudFBoYXNlOjAsYnViYmxlczowLGNhbmNlbGFibGU6MCx0aW1lU3RhbXA6ZnVuY3Rpb24oZSl7cmV0dXJuIGUudGltZVN0YW1wfHxEYXRlLm5vdygpfSxkZWZhdWx0UHJldmVudGVkOjAsaXNUcnVzdGVkOjB9LHQxPXRLKHQwKSx0Mj14KHt9LHQwLHt2aWV3OjAsZGV0YWlsOjB9KSx0Mz10Syh0MiksdDQ9eCh7fSx0Mix7c2NyZWVuWDowLHNjcmVlblk6MCxjbGllbnRYOjAsY2xpZW50WTowLHBhZ2VYOjAscGFnZVk6MCxjdHJsS2V5OjAsc2hpZnRLZXk6MCxhbHRLZXk6MCxtZXRhS2V5OjAsZ2V0TW9kaWZpZXJTdGF0ZTpuYSxidXR0b246MCxidXR0b25zOjAscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZS5yZWxhdGVkVGFyZ2V0P2UuZnJvbUVsZW1lbnQ9PT1lLnNyY0VsZW1lbnQ/ZS50b0VsZW1lbnQ6ZS5mcm9tRWxlbWVudDplLnJlbGF0ZWRUYXJnZXR9LG1vdmVtZW50WDpmdW5jdGlvbihlKXtyZXR1cm4ibW92ZW1lbnRYImluIGU/ZS5tb3ZlbWVudFg6KGUhPT10WiYmKHRaJiYibW91c2Vtb3ZlIj09PWUudHlwZT8odFk9ZS5zY3JlZW5YLXRaLnNjcmVlblgsdEo9ZS5zY3JlZW5ZLXRaLnNjcmVlblkpOnRKPXRZPTAsdFo9ZSksdFkpfSxtb3ZlbWVudFk6ZnVuY3Rpb24oZSl7cmV0dXJuIm1vdmVtZW50WSJpbiBlP2UubW92ZW1lbnRZOnRKfX0pLHQ4PXRLKHQ0KSx0NT10Syh4KHt9LHQ0LHtkYXRhVHJhbnNmZXI6MH0pKSx0Nj10Syh4KHt9LHQyLHtyZWxhdGVkVGFyZ2V0OjB9KSksdDk9dEsoeCh7fSx0MCx7YW5pbWF0aW9uTmFtZTowLGVsYXBzZWRUaW1lOjAscHNldWRvRWxlbWVudDowfSkpLHQ3PXRLKHgoe30sdDAse2NsaXBib2FyZERhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuImNsaXBib2FyZERhdGEiaW4gZT9lLmNsaXBib2FyZERhdGE6d2luZG93LmNsaXBib2FyZERhdGF9fSkpLG5lPXRLKHgoe30sdDAse2RhdGE6MH0pKSxudD17RXNjOiJFc2NhcGUiLFNwYWNlYmFyOiIgIixMZWZ0OiJBcnJvd0xlZnQiLFVwOiJBcnJvd1VwIixSaWdodDoiQXJyb3dSaWdodCIsRG93bjoiQXJyb3dEb3duIixEZWw6IkRlbGV0ZSIsV2luOiJPUyIsTWVudToiQ29udGV4dE1lbnUiLEFwcHM6IkNvbnRleHRNZW51IixTY3JvbGw6IlNjcm9sbExvY2siLE1velByaW50YWJsZUtleToiVW5pZGVudGlmaWVkIn0sbm49ezg6IkJhY2tzcGFjZSIsOToiVGFiIiwxMjoiQ2xlYXIiLDEzOiJFbnRlciIsMTY6IlNoaWZ0IiwxNzoiQ29udHJvbCIsMTg6IkFsdCIsMTk6IlBhdXNlIiwyMDoiQ2Fwc0xvY2siLDI3OiJFc2NhcGUiLDMyOiIgIiwzMzoiUGFnZVVwIiwzNDoiUGFnZURvd24iLDM1OiJFbmQiLDM2OiJIb21lIiwzNzoiQXJyb3dMZWZ0IiwzODoiQXJyb3dVcCIsMzk6IkFycm93UmlnaHQiLDQwOiJBcnJvd0Rvd24iLDQ1OiJJbnNlcnQiLDQ2OiJEZWxldGUiLDExMjoiRjEiLDExMzoiRjIiLDExNDoiRjMiLDExNToiRjQiLDExNjoiRjUiLDExNzoiRjYiLDExODoiRjciLDExOToiRjgiLDEyMDoiRjkiLDEyMToiRjEwIiwxMjI6IkYxMSIsMTIzOiJGMTIiLDE0NDoiTnVtTG9jayIsMTQ1OiJTY3JvbGxMb2NrIiwyMjQ6Ik1ldGEifSxucj17QWx0OiJhbHRLZXkiLENvbnRyb2w6ImN0cmxLZXkiLE1ldGE6Im1ldGFLZXkiLFNoaWZ0OiJzaGlmdEtleSJ9O2Z1bmN0aW9uIG5sKGUpe3ZhciB0PXRoaXMubmF0aXZlRXZlbnQ7cmV0dXJuIHQuZ2V0TW9kaWZpZXJTdGF0ZT90LmdldE1vZGlmaWVyU3RhdGUoZSk6ISEoZT1ucltlXSkmJiEhdFtlXX1mdW5jdGlvbiBuYSgpe3JldHVybiBubH12YXIgbm89dEsoeCh7fSx0Mix7a2V5OmZ1bmN0aW9uKGUpe2lmKGUua2V5KXt2YXIgdD1udFtlLmtleV18fGUua2V5O2lmKCJVbmlkZW50aWZpZWQiIT09dClyZXR1cm4gdH1yZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlPzEzPT09KGU9dFEoZSkpPyJFbnRlciI6U3RyaW5nLmZyb21DaGFyQ29kZShlKToia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/bm5bZS5rZXlDb2RlXXx8IlVuaWRlbnRpZmllZCI6IiJ9LGNvZGU6MCxsb2NhdGlvbjowLGN0cmxLZXk6MCxzaGlmdEtleTowLGFsdEtleTowLG1ldGFLZXk6MCxyZXBlYXQ6MCxsb2NhbGU6MCxnZXRNb2RpZmllclN0YXRlOm5hLGNoYXJDb2RlOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/dFEoZSk6MH0sa2V5Q29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5ZG93biI9PT1lLnR5cGV8fCJrZXl1cCI9PT1lLnR5cGU/ZS5rZXlDb2RlOjB9LHdoaWNoOmZ1bmN0aW9uKGUpe3JldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/dFEoZSk6ImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfX0pKSxuaT10Syh4KHt9LHQ0LHtwb2ludGVySWQ6MCx3aWR0aDowLGhlaWdodDowLHByZXNzdXJlOjAsdGFuZ2VudGlhbFByZXNzdXJlOjAsdGlsdFg6MCx0aWx0WTowLHR3aXN0OjAscG9pbnRlclR5cGU6MCxpc1ByaW1hcnk6MH0pKSxudT10Syh4KHt9LHQyLHt0b3VjaGVzOjAsdGFyZ2V0VG91Y2hlczowLGNoYW5nZWRUb3VjaGVzOjAsYWx0S2V5OjAsbWV0YUtleTowLGN0cmxLZXk6MCxzaGlmdEtleTowLGdldE1vZGlmaWVyU3RhdGU6bmF9KSksbnM9dEsoeCh7fSx0MCx7cHJvcGVydHlOYW1lOjAsZWxhcHNlZFRpbWU6MCxwc2V1ZG9FbGVtZW50OjB9KSksbmM9dEsoeCh7fSx0NCx7ZGVsdGFYOmZ1bmN0aW9uKGUpe3JldHVybiJkZWx0YVgiaW4gZT9lLmRlbHRhWDoid2hlZWxEZWx0YVgiaW4gZT8tZS53aGVlbERlbHRhWDowfSxkZWx0YVk6ZnVuY3Rpb24oZSl7cmV0dXJuImRlbHRhWSJpbiBlP2UuZGVsdGFZOiJ3aGVlbERlbHRhWSJpbiBlPy1lLndoZWVsRGVsdGFZOiJ3aGVlbERlbHRhImluIGU/LWUud2hlZWxEZWx0YTowfSxkZWx0YVo6MCxkZWx0YU1vZGU6MH0pKSxuZj10Syh4KHt9LHQwLHtuZXdTdGF0ZTowLG9sZFN0YXRlOjB9KSksbmQ9WzksMTMsMjcsMzJdLG5wPXRBJiYiQ29tcG9zaXRpb25FdmVudCJpbiB3aW5kb3csbm09bnVsbDt0QSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmKG5tPWRvY3VtZW50LmRvY3VtZW50TW9kZSk7dmFyIG5oPXRBJiYiVGV4dEV2ZW50ImluIHdpbmRvdyYmIW5tLG5nPXRBJiYoIW5wfHxubSYmODxubSYmMTE+PW5tKSxudj0hMTtmdW5jdGlvbiBueShlLHQpe3N3aXRjaChlKXtjYXNlImtleXVwIjpyZXR1cm4gLTEhPT1uZC5pbmRleE9mKHQua2V5Q29kZSk7Y2FzZSJrZXlkb3duIjpyZXR1cm4gMjI5IT09dC5rZXlDb2RlO2Nhc2Uia2V5cHJlc3MiOmNhc2UibW91c2Vkb3duIjpjYXNlImZvY3Vzb3V0IjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBuYihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mKGU9ZS5kZXRhaWwpJiYiZGF0YSJpbiBlP2UuZGF0YTpudWxsfXZhciBudz0hMSxuaz17Y29sb3I6ITAsZGF0ZTohMCxkYXRldGltZTohMCwiZGF0ZXRpbWUtbG9jYWwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24gblMoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT10PyEhbmtbZS50eXBlXToidGV4dGFyZWEiPT09dH1mdW5jdGlvbiBuRShlLHQsbixyKXt0TD90Uj90Ui5wdXNoKHIpOnRSPVtyXTp0TD1yLDA8KHQ9czgodCwib25DaGFuZ2UiKSkubGVuZ3RoJiYobj1uZXcgdDEoIm9uQ2hhbmdlIiwiY2hhbmdlIixudWxsLG4sciksZS5wdXNoKHtldmVudDpuLGxpc3RlbmVyczp0fSkpfXZhciBueD1udWxsLG5fPW51bGw7ZnVuY3Rpb24gblAoZSl7c1koZSwwKX1mdW5jdGlvbiBuTihlKXtpZih0ZihlMyhlKSkpcmV0dXJuIGV9ZnVuY3Rpb24gbkMoZSx0KXtpZigiY2hhbmdlIj09PWUpcmV0dXJuIHR9dmFyIG5UPSExO2lmKHRBKXtpZih0QSl7dmFyIG5PPSJvbmlucHV0ImluIGRvY3VtZW50O2lmKCFuTyl7dmFyIG56PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO256LnNldEF0dHJpYnV0ZSgib25pbnB1dCIsInJldHVybjsiKSxuTz0iZnVuY3Rpb24iPT10eXBlb2Ygbnoub25pbnB1dH1yPW5PfWVsc2Ugcj0hMTtuVD1yJiYoIWRvY3VtZW50LmRvY3VtZW50TW9kZXx8OTxkb2N1bWVudC5kb2N1bWVudE1vZGUpfWZ1bmN0aW9uIG5MKCl7bngmJihueC5kZXRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsblIpLG5fPW54PW51bGwpfWZ1bmN0aW9uIG5SKGUpe2lmKCJ2YWx1ZSI9PT1lLnByb3BlcnR5TmFtZSYmbk4obl8pKXt2YXIgdD1bXTtuRSh0LG5fLGUsdHooZSkpLHREKG5QLHQpfX1mdW5jdGlvbiBuTShlLHQsbil7ImZvY3VzaW4iPT09ZT8obkwoKSxueD10LG5fPW4sbnguYXR0YWNoRXZlbnQoIm9ucHJvcGVydHljaGFuZ2UiLG5SKSk6ImZvY3Vzb3V0Ij09PWUmJm5MKCl9ZnVuY3Rpb24gbkkoZSl7aWYoInNlbGVjdGlvbmNoYW5nZSI9PT1lfHwia2V5dXAiPT09ZXx8ImtleWRvd24iPT09ZSlyZXR1cm4gbk4obl8pfWZ1bmN0aW9uIG5EKGUsdCl7aWYoImNsaWNrIj09PWUpcmV0dXJuIG5OKHQpfWZ1bmN0aW9uIG5GKGUsdCl7aWYoImlucHV0Ij09PWV8fCJjaGFuZ2UiPT09ZSlyZXR1cm4gbk4odCl9dmFyIG5BPSJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuaXM/T2JqZWN0LmlzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10JiYoMCE9PWV8fDEvZT09MS90KXx8ZSE9ZSYmdCE9dH07ZnVuY3Rpb24gbmooZSx0KXtpZihuQShlLHQpKXJldHVybiEwO2lmKCJvYmplY3QiIT10eXBlb2YgZXx8bnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7dmFyIG49T2JqZWN0LmtleXMoZSkscj1PYmplY3Qua2V5cyh0KTtpZihuLmxlbmd0aCE9PXIubGVuZ3RoKXJldHVybiExO2ZvcihyPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBsPW5bcl07aWYoIWVkLmNhbGwodCxsKXx8IW5BKGVbbF0sdFtsXSkpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gblUoZSl7Zm9yKDtlJiZlLmZpcnN0Q2hpbGQ7KWU9ZS5maXJzdENoaWxkO3JldHVybiBlfWZ1bmN0aW9uIG5CKGUsdCl7dmFyIG4scj1uVShlKTtmb3IoZT0wO3I7KXtpZigzPT09ci5ub2RlVHlwZSl7aWYobj1lK3IudGV4dENvbnRlbnQubGVuZ3RoLGU8PXQmJm4+PXQpcmV0dXJue25vZGU6cixvZmZzZXQ6dC1lfTtlPW59ZTp7Zm9yKDtyOyl7aWYoci5uZXh0U2libGluZyl7cj1yLm5leHRTaWJsaW5nO2JyZWFrIGV9cj1yLnBhcmVudE5vZGV9cj12b2lkIDB9cj1uVShyKX19ZnVuY3Rpb24gblYoZSl7ZT1udWxsIT1lJiZudWxsIT1lLm93bmVyRG9jdW1lbnQmJm51bGwhPWUub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldz9lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc6d2luZG93O2Zvcih2YXIgdD10ZChlLmRvY3VtZW50KTt0IGluc3RhbmNlb2YgZS5IVE1MSUZyYW1lRWxlbWVudDspe3RyeXt2YXIgbj0ic3RyaW5nIj09dHlwZW9mIHQuY29udGVudFdpbmRvdy5sb2NhdGlvbi5ocmVmfWNhdGNoKGUpe249ITF9aWYobillPXQuY29udGVudFdpbmRvdztlbHNlIGJyZWFrO3Q9dGQoZS5kb2N1bWVudCl9cmV0dXJuIHR9ZnVuY3Rpb24gbkgoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0JiYoImlucHV0Ij09PXQmJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09dHx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfXZhciBuJD10QSYmImRvY3VtZW50TW9kZSJpbiBkb2N1bWVudCYmMTE+PWRvY3VtZW50LmRvY3VtZW50TW9kZSxuUT1udWxsLG5XPW51bGwsbnE9bnVsbCxuSz0hMTtmdW5jdGlvbiBuWChlLHQsbil7dmFyIHI9bi53aW5kb3c9PT1uP24uZG9jdW1lbnQ6OT09PW4ubm9kZVR5cGU/bjpuLm93bmVyRG9jdW1lbnQ7bkt8fG51bGw9PW5RfHxuUSE9PXRkKHIpfHwocj0ic2VsZWN0aW9uU3RhcnQiaW4ocj1uUSkmJm5IKHIpP3tzdGFydDpyLnNlbGVjdGlvblN0YXJ0LGVuZDpyLnNlbGVjdGlvbkVuZH06e2FuY2hvck5vZGU6KHI9KHIub3duZXJEb2N1bWVudCYmci5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbigpKS5hbmNob3JOb2RlLGFuY2hvck9mZnNldDpyLmFuY2hvck9mZnNldCxmb2N1c05vZGU6ci5mb2N1c05vZGUsZm9jdXNPZmZzZXQ6ci5mb2N1c09mZnNldH0sbnEmJm5qKG5xLHIpfHwobnE9ciwwPChyPXM4KG5XLCJvblNlbGVjdCIpKS5sZW5ndGgmJih0PW5ldyB0MSgib25TZWxlY3QiLCJzZWxlY3QiLG51bGwsdCxuKSxlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOnJ9KSx0LnRhcmdldD1uUSkpKX1mdW5jdGlvbiBuRyhlLHQpe3ZhciBuPXt9O3JldHVybiBuW2UudG9Mb3dlckNhc2UoKV09dC50b0xvd2VyQ2FzZSgpLG5bIldlYmtpdCIrZV09IndlYmtpdCIrdCxuWyJNb3oiK2VdPSJtb3oiK3Qsbn12YXIgblk9e2FuaW1hdGlvbmVuZDpuRygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uRW5kIiksYW5pbWF0aW9uaXRlcmF0aW9uOm5HKCJBbmltYXRpb24iLCJBbmltYXRpb25JdGVyYXRpb24iKSxhbmltYXRpb25zdGFydDpuRygiQW5pbWF0aW9uIiwiQW5pbWF0aW9uU3RhcnQiKSx0cmFuc2l0aW9ucnVuOm5HKCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvblJ1biIpLHRyYW5zaXRpb25zdGFydDpuRygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25TdGFydCIpLHRyYW5zaXRpb25jYW5jZWw6bkcoIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uQ2FuY2VsIiksdHJhbnNpdGlvbmVuZDpuRygiVHJhbnNpdGlvbiIsIlRyYW5zaXRpb25FbmQiKX0sbko9e30sblo9e307ZnVuY3Rpb24gbjAoZSl7aWYobkpbZV0pcmV0dXJuIG5KW2VdO2lmKCFuWVtlXSlyZXR1cm4gZTt2YXIgdCxuPW5ZW2VdO2Zvcih0IGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eSh0KSYmdCBpbiBuWilyZXR1cm4gbkpbZV09blt0XTtyZXR1cm4gZX10QSYmKG5aPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLCJBbmltYXRpb25FdmVudCJpbiB3aW5kb3d8fChkZWxldGUgblkuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbixkZWxldGUgblkuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbixkZWxldGUgblkuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uKSwiVHJhbnNpdGlvbkV2ZW50ImluIHdpbmRvd3x8ZGVsZXRlIG5ZLnRyYW5zaXRpb25lbmQudHJhbnNpdGlvbik7dmFyIG4xPW4wKCJhbmltYXRpb25lbmQiKSxuMj1uMCgiYW5pbWF0aW9uaXRlcmF0aW9uIiksbjM9bjAoImFuaW1hdGlvbnN0YXJ0IiksbjQ9bjAoInRyYW5zaXRpb25ydW4iKSxuOD1uMCgidHJhbnNpdGlvbnN0YXJ0IiksbjU9bjAoInRyYW5zaXRpb25jYW5jZWwiKSxuNj1uMCgidHJhbnNpdGlvbmVuZCIpLG45PW5ldyBNYXAsbjc9ImFib3J0IGF1eENsaWNrIGJlZm9yZVRvZ2dsZSBjYW5jZWwgY2FuUGxheSBjYW5QbGF5VGhyb3VnaCBjbGljayBjbG9zZSBjb250ZXh0TWVudSBjb3B5IGN1dCBkcmFnIGRyYWdFbmQgZHJhZ0VudGVyIGRyYWdFeGl0IGRyYWdMZWF2ZSBkcmFnT3ZlciBkcmFnU3RhcnQgZHJvcCBkdXJhdGlvbkNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBnb3RQb2ludGVyQ2FwdHVyZSBpbnB1dCBpbnZhbGlkIGtleURvd24ga2V5UHJlc3Mga2V5VXAgbG9hZCBsb2FkZWREYXRhIGxvYWRlZE1ldGFkYXRhIGxvYWRTdGFydCBsb3N0UG9pbnRlckNhcHR1cmUgbW91c2VEb3duIG1vdXNlTW92ZSBtb3VzZU91dCBtb3VzZU92ZXIgbW91c2VVcCBwYXN0ZSBwYXVzZSBwbGF5IHBsYXlpbmcgcG9pbnRlckNhbmNlbCBwb2ludGVyRG93biBwb2ludGVyTW92ZSBwb2ludGVyT3V0IHBvaW50ZXJPdmVyIHBvaW50ZXJVcCBwcm9ncmVzcyByYXRlQ2hhbmdlIHJlc2V0IHJlc2l6ZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1Ym1pdCBzdXNwZW5kIHRpbWVVcGRhdGUgdG91Y2hDYW5jZWwgdG91Y2hFbmQgdG91Y2hTdGFydCB2b2x1bWVDaGFuZ2Ugc2Nyb2xsIHRvZ2dsZSB0b3VjaE1vdmUgd2FpdGluZyB3aGVlbCIuc3BsaXQoIiAiKTtmdW5jdGlvbiByZShlLHQpe245LnNldChlLHQpLGU5KHQsW2VdKX1uNy5wdXNoKCJzY3JvbGxFbmQiKTt2YXIgcnQ9MDtmdW5jdGlvbiBybihlLHQpe3JldHVybiBudWxsIT1lLm5hbWUmJiJhdXRvIiE9PWUubmFtZT9lLm5hbWU6bnVsbCE9PXQuYXV0b05hbWU/dC5hdXRvTmFtZTp0LmF1dG9OYW1lPWU9Il8iKyhlPXVxLmlkZW50aWZpZXJQcmVmaXgpKyJ0XyIrKHJ0KyspLnRvU3RyaW5nKDMyKSsiXyJ9ZnVuY3Rpb24gcnIoZSl7aWYobnVsbD09ZXx8InN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO3ZhciB0PW51bGwsbj11MTtpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9ZVtuW3JdXTtpZihudWxsIT1sKXtpZigibm9uZSI9PT1sKXJldHVybiJub25lIjt0PW51bGw9PXQ/bDp0KyIgIitsfX1yZXR1cm4gbnVsbD09dD9lLmRlZmF1bHQ6dH1mdW5jdGlvbiBybChlLHQpe3JldHVybiBlPXJyKGUpLG51bGw9PSh0PXJyKHQpKT8iYXV0byI9PT1lP251bGw6ZToiYXV0byI9PT10P251bGw6dH12YXIgcmE9ImZ1bmN0aW9uIj09dHlwZW9mIHJlcG9ydEVycm9yP3JlcG9ydEVycm9yOmZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiYiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LkVycm9yRXZlbnQpe3ZhciB0PW5ldyB3aW5kb3cuRXJyb3JFdmVudCgiZXJyb3IiLHtidWJibGVzOiEwLGNhbmNlbGFibGU6ITAsbWVzc2FnZToib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYic3RyaW5nIj09dHlwZW9mIGUubWVzc2FnZT9TdHJpbmcoZS5tZXNzYWdlKTpTdHJpbmcoZSksZXJyb3I6ZX0pO2lmKCF3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSlyZXR1cm59ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGwuZGVmYXVsdCYmImZ1bmN0aW9uIj09dHlwZW9mIGwuZGVmYXVsdC5lbWl0KXJldHVybiB2b2lkIGwuZGVmYXVsdC5lbWl0KCJ1bmNhdWdodEV4Y2VwdGlvbiIsZSk7Y29uc29sZS5lcnJvcihlKX0scm89W10scmk9MCxydT0wO2Z1bmN0aW9uIHJzKCl7Zm9yKHZhciBlPXJpLHQ9cnU9cmk9MDt0PGU7KXt2YXIgbj1yb1t0XTtyb1t0KytdPW51bGw7dmFyIHI9cm9bdF07cm9bdCsrXT1udWxsO3ZhciBsPXJvW3RdO3JvW3QrK109bnVsbDt2YXIgYT1yb1t0XTtpZihyb1t0KytdPW51bGwsbnVsbCE9PXImJm51bGwhPT1sKXt2YXIgbz1yLnBlbmRpbmc7bnVsbD09PW8/bC5uZXh0PWw6KGwubmV4dD1vLm5leHQsby5uZXh0PWwpLHIucGVuZGluZz1sfTAhPT1hJiZycChuLGwsYSl9fWZ1bmN0aW9uIHJjKGUsdCxuLHIpe3JvW3JpKytdPWUscm9bcmkrK109dCxyb1tyaSsrXT1uLHJvW3JpKytdPXIscnV8PXIsZS5sYW5lc3w9cixudWxsIT09KGU9ZS5hbHRlcm5hdGUpJiYoZS5sYW5lc3w9cil9ZnVuY3Rpb24gcmYoZSx0LG4scil7cmV0dXJuIHJjKGUsdCxuLHIpLHJtKGUpfWZ1bmN0aW9uIHJkKGUsdCl7cmV0dXJuIHJjKGUsbnVsbCxudWxsLHQpLHJtKGUpfWZ1bmN0aW9uIHJwKGUsdCxuKXtlLmxhbmVzfD1uO3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9bik7Zm9yKHZhciBsPSExLGE9ZS5yZXR1cm47bnVsbCE9PWE7KWEuY2hpbGRMYW5lc3w9bixudWxsIT09KHI9YS5hbHRlcm5hdGUpJiYoci5jaGlsZExhbmVzfD1uKSwyMj09PWEudGFnJiYobnVsbD09PShlPWEuc3RhdGVOb2RlKXx8MSZlLl92aXNpYmlsaXR5fHwobD0hMCkpLGU9YSxhPWEucmV0dXJuO3JldHVybiAzPT09ZS50YWc/KGE9ZS5zdGF0ZU5vZGUsbCYmbnVsbCE9PXQmJihsPTMxLWVQKG4pLG51bGw9PT0ocj0oZT1hLmhpZGRlblVwZGF0ZXMpW2xdKT9lW2xdPVt0XTpyLnB1c2godCksdC5sYW5lPTB4MjAwMDAwMDB8biksYSk6bnVsbH1mdW5jdGlvbiBybShlKXtpZig1MDx1Mil0aHJvdyB1Mj0wLHUzPW51bGwsRXJyb3IodSgxODUpKTtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXQ9KGU9dCkucmV0dXJuO3JldHVybiAzPT09ZS50YWc/ZS5zdGF0ZU5vZGU6bnVsbH12YXIgcmg9e307ZnVuY3Rpb24gcmcoZSx0LG4scil7dGhpcy50YWc9ZSx0aGlzLmtleT1uLHRoaXMuc2libGluZz10aGlzLmNoaWxkPXRoaXMucmV0dXJuPXRoaXMuc3RhdGVOb2RlPXRoaXMudHlwZT10aGlzLmVsZW1lbnRUeXBlPW51bGwsdGhpcy5pbmRleD0wLHRoaXMucmVmQ2xlYW51cD10aGlzLnJlZj1udWxsLHRoaXMucGVuZGluZ1Byb3BzPXQsdGhpcy5kZXBlbmRlbmNpZXM9dGhpcy5tZW1vaXplZFN0YXRlPXRoaXMudXBkYXRlUXVldWU9dGhpcy5tZW1vaXplZFByb3BzPW51bGwsdGhpcy5tb2RlPXIsdGhpcy5zdWJ0cmVlRmxhZ3M9dGhpcy5mbGFncz0wLHRoaXMuZGVsZXRpb25zPW51bGwsdGhpcy5jaGlsZExhbmVzPXRoaXMubGFuZXM9MCx0aGlzLmFsdGVybmF0ZT1udWxsfWZ1bmN0aW9uIHJ2KGUsdCxuLHIpe3JldHVybiBuZXcgcmcoZSx0LG4scil9ZnVuY3Rpb24gcnkoZSl7cmV0dXJuISghKGU9ZS5wcm90b3R5cGUpfHwhZS5pc1JlYWN0Q29tcG9uZW50KX1mdW5jdGlvbiByYihlLHQpe3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09bj8oKG49cnYoZS50YWcsdCxlLmtleSxlLm1vZGUpKS5lbGVtZW50VHlwZT1lLmVsZW1lbnRUeXBlLG4udHlwZT1lLnR5cGUsbi5zdGF0ZU5vZGU9ZS5zdGF0ZU5vZGUsbi5hbHRlcm5hdGU9ZSxlLmFsdGVybmF0ZT1uKToobi5wZW5kaW5nUHJvcHM9dCxuLnR5cGU9ZS50eXBlLG4uZmxhZ3M9MCxuLnN1YnRyZWVGbGFncz0wLG4uZGVsZXRpb25zPW51bGwpLG4uZmxhZ3M9MHg3ZTAwMDAwJmUuZmxhZ3Msbi5jaGlsZExhbmVzPWUuY2hpbGRMYW5lcyxuLmxhbmVzPWUubGFuZXMsbi5jaGlsZD1lLmNoaWxkLG4ubWVtb2l6ZWRQcm9wcz1lLm1lbW9pemVkUHJvcHMsbi5tZW1vaXplZFN0YXRlPWUubWVtb2l6ZWRTdGF0ZSxuLnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdD1lLmRlcGVuZGVuY2llcyxuLmRlcGVuZGVuY2llcz1udWxsPT09dD9udWxsOntsYW5lczp0LmxhbmVzLGZpcnN0Q29udGV4dDp0LmZpcnN0Q29udGV4dH0sbi5zaWJsaW5nPWUuc2libGluZyxuLmluZGV4PWUuaW5kZXgsbi5yZWY9ZS5yZWYsbi5yZWZDbGVhbnVwPWUucmVmQ2xlYW51cCxufWZ1bmN0aW9uIHJ3KGUsdCl7ZS5mbGFncyY9MHg3ZTAwMDAyO3ZhciBuPWUuYWx0ZXJuYXRlO3JldHVybiBudWxsPT09bj8oZS5jaGlsZExhbmVzPTAsZS5sYW5lcz10LGUuY2hpbGQ9bnVsbCxlLnN1YnRyZWVGbGFncz0wLGUubWVtb2l6ZWRQcm9wcz1udWxsLGUubWVtb2l6ZWRTdGF0ZT1udWxsLGUudXBkYXRlUXVldWU9bnVsbCxlLmRlcGVuZGVuY2llcz1udWxsLGUuc3RhdGVOb2RlPW51bGwpOihlLmNoaWxkTGFuZXM9bi5jaGlsZExhbmVzLGUubGFuZXM9bi5sYW5lcyxlLmNoaWxkPW4uY2hpbGQsZS5zdWJ0cmVlRmxhZ3M9MCxlLmRlbGV0aW9ucz1udWxsLGUubWVtb2l6ZWRQcm9wcz1uLm1lbW9pemVkUHJvcHMsZS5tZW1vaXplZFN0YXRlPW4ubWVtb2l6ZWRTdGF0ZSxlLnVwZGF0ZVF1ZXVlPW4udXBkYXRlUXVldWUsZS50eXBlPW4udHlwZSxlLmRlcGVuZGVuY2llcz1udWxsPT09KHQ9bi5kZXBlbmRlbmNpZXMpP251bGw6e2xhbmVzOnQubGFuZXMsZmlyc3RDb250ZXh0OnQuZmlyc3RDb250ZXh0fSksZX1mdW5jdGlvbiByayhlLHQsbixyLGwsYSl7dmFyIG89MDtpZihyPWUsImZ1bmN0aW9uIj09dHlwZW9mIGUpcnkoZSkmJihvPTEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBlKW89IWZ1bmN0aW9uKGUsdCxuKXtpZigxPT09bnx8bnVsbCE9dC5pdGVtUHJvcClyZXR1cm4hMTtzd2l0Y2goZSl7Y2FzZSJtZXRhIjpjYXNlInRpdGxlIjpyZXR1cm4hMDtjYXNlInN0eWxlIjppZigic3RyaW5nIiE9dHlwZW9mIHQucHJlY2VkZW5jZXx8InN0cmluZyIhPXR5cGVvZiB0LmhyZWZ8fCIiPT09dC5ocmVmKWJyZWFrO3JldHVybiEwO2Nhc2UibGluayI6aWYoInN0cmluZyIhPXR5cGVvZiB0LnJlbHx8InN0cmluZyIhPXR5cGVvZiB0LmhyZWZ8fCIiPT09dC5ocmVmfHx0Lm9uTG9hZHx8dC5vbkVycm9yKWJyZWFrO2lmKCJzdHlsZXNoZWV0Ij09PXQucmVsKXJldHVybiBlPXQuZGlzYWJsZWQsInN0cmluZyI9PXR5cGVvZiB0LnByZWNlZGVuY2UmJm51bGw9PWU7cmV0dXJuITA7Y2FzZSJzY3JpcHQiOmlmKHQuYXN5bmMmJiJmdW5jdGlvbiIhPXR5cGVvZiB0LmFzeW5jJiYic3ltYm9sIiE9dHlwZW9mIHQuYXN5bmMmJiF0Lm9uTG9hZCYmIXQub25FcnJvciYmdC5zcmMmJiJzdHJpbmciPT10eXBlb2YgdC5zcmMpcmV0dXJuITB9cmV0dXJuITF9KGUsbixlZS5jdXJyZW50KT8iaHRtbCI9PT1lfHwiaGVhZCI9PT1lfHwiYm9keSI9PT1lPzI3OjU6MjY7ZWxzZSBlOnN3aXRjaChlKXtjYXNlIEE6cmV0dXJuKGU9cnYoMzEsbix0LGwpKS5lbGVtZW50VHlwZT1BLGUubGFuZXM9YSxlO2Nhc2UgQzpyZXR1cm4gclMobi5jaGlsZHJlbixsLGEsdCk7Y2FzZSBUOm89OCxsfD0yNDticmVhaztjYXNlIE86cmV0dXJuKGU9cnYoMTIsbix0LDJ8bCkpLmVsZW1lbnRUeXBlPU8sZS5sYW5lcz1hLGU7Y2FzZSBNOnJldHVybihlPXJ2KDEzLG4sdCxsKSkuZWxlbWVudFR5cGU9TSxlLmxhbmVzPWEsZTtjYXNlIEk6cmV0dXJuKGU9cnYoMTksbix0LGwpKS5lbGVtZW50VHlwZT1JLGUubGFuZXM9YSxlO2Nhc2UgajpjYXNlIEI6cmV0dXJuKGU9cnYoMzAsbix0LGU9MzJ8bCkpLmVsZW1lbnRUeXBlPUIsZS5sYW5lcz1hLGUuc3RhdGVOb2RlPXthdXRvTmFtZTpudWxsLHBhaXJlZDpudWxsLGNsb25lczpudWxsLHJlZjpudWxsfSxlO2RlZmF1bHQ6aWYoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSlzd2l0Y2goZS4kJHR5cGVvZil7Y2FzZSBMOm89MTA7YnJlYWsgZTtjYXNlIHo6bz05O2JyZWFrIGU7Y2FzZSBSOm89MTE7YnJlYWsgZTtjYXNlIEQ6bz0xNDticmVhayBlO2Nhc2UgRjpvPTE2LHI9bnVsbDticmVhayBlfW89Mjksbj1FcnJvcih1KDEzMCxudWxsPT09ZT8ibnVsbCI6dHlwZW9mIGUsIiIpKSxyPW51bGx9cmV0dXJuKHQ9cnYobyxuLHQsbCkpLmVsZW1lbnRUeXBlPWUsdC50eXBlPXIsdC5sYW5lcz1hLHR9ZnVuY3Rpb24gclMoZSx0LG4scil7cmV0dXJuKGU9cnYoNyxlLHIsdCkpLmxhbmVzPW4sZX1mdW5jdGlvbiByRShlLHQsbil7cmV0dXJuKGU9cnYoNixlLG51bGwsdCkpLmxhbmVzPW4sZX1mdW5jdGlvbiByeChlKXt2YXIgdD1ydigxOCxudWxsLG51bGwsMCk7cmV0dXJuIHQuc3RhdGVOb2RlPWUsdH1mdW5jdGlvbiByXyhlLHQsbil7cmV0dXJuKHQ9cnYoNCxudWxsIT09ZS5jaGlsZHJlbj9lLmNoaWxkcmVuOltdLGUua2V5LHQpKS5sYW5lcz1uLHQuc3RhdGVOb2RlPXtjb250YWluZXJJbmZvOmUuY29udGFpbmVySW5mbyxwZW5kaW5nQ2hpbGRyZW46bnVsbCxpbXBsZW1lbnRhdGlvbjplLmltcGxlbWVudGF0aW9ufSx0fXZhciByUD1uZXcgV2Vha01hcDtmdW5jdGlvbiByTihlLHQpe2lmKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUpe3ZhciBuPXJQLmdldChlKTtyZXR1cm4gdm9pZCAwIT09bj9uOih0PXt2YWx1ZTplLHNvdXJjZTp0LHN0YWNrOmVmKHQpfSxyUC5zZXQoZSx0KSx0KX1yZXR1cm57dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazplZih0KX19dmFyIHJDPVtdLHJUPTAsck89bnVsbCxyej0wLHJMPVtdLHJSPTAsck09bnVsbCxyST0xLHJEPSIiO2Z1bmN0aW9uIHJGKGUsdCl7ckNbclQrK109cnosckNbclQrK109ck8sck89ZSxyej10fWZ1bmN0aW9uIHJBKGUsdCxuKXtyTFtyUisrXT1ySSxyTFtyUisrXT1yRCxyTFtyUisrXT1yTSxyTT1lO3ZhciByPXJJO2U9ckQ7dmFyIGw9MzItZVAociktMTtyJj1+KDE8PGwpLG4rPTE7dmFyIGE9MzItZVAodCkrbDtpZigzMDxhKXt2YXIgbz1sLWwlNTthPShyJigxPDxvKS0xKS50b1N0cmluZygzMikscj4+PW8sbC09byxyST0xPDwzMi1lUCh0KStsfG48PGx8cixyRD1hK2V9ZWxzZSByST0xPDxhfG48PGx8cixyRD1lfWZ1bmN0aW9uIHJqKGUpe251bGwhPT1lLnJldHVybiYmKHJGKGUsMSksckEoZSwxLDApKX1mdW5jdGlvbiByVShlKXtmb3IoO2U9PT1yTzspck89ckNbLS1yVF0sckNbclRdPW51bGwscno9ckNbLS1yVF0sckNbclRdPW51bGw7Zm9yKDtlPT09ck07KXJNPXJMWy0tclJdLHJMW3JSXT1udWxsLHJEPXJMWy0tclJdLHJMW3JSXT1udWxsLHJJPXJMWy0tclJdLHJMW3JSXT1udWxsfWZ1bmN0aW9uIHJCKGUsdCl7ckxbclIrK109ckksckxbclIrK109ckQsckxbclIrK109ck0sckk9dC5pZCxyRD10Lm92ZXJmbG93LHJNPWV9dmFyIHJWPW51bGwsckg9bnVsbCxyJD0hMSxyUT1udWxsLHJXPSExLHJxPUVycm9yKHUoNTE5KSk7ZnVuY3Rpb24gcksoZSl7dmFyIHQ9RXJyb3IodSg0MTgsMTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXT8idGV4dCI6IkhUTUwiLCIiKSk7dGhyb3cgcjAock4odCxlKSkscnF9ZnVuY3Rpb24gclgoZSl7dmFyIHQ9ZS5zdGF0ZU5vZGUsbj1lLnR5cGUscj1lLm1lbW9pemVkUHJvcHM7c3dpdGNoKHRbZVddPWUsdFtlcV09cixuKXtjYXNlImRpYWxvZyI6c0ooImNhbmNlbCIsdCksc0ooImNsb3NlIix0KTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOnNKKCJsb2FkIix0KTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3Iobj0wO248c1gubGVuZ3RoO24rKylzSihzWFtuXSx0KTticmVhaztjYXNlInNvdXJjZSI6c0ooImVycm9yIix0KTticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpzSigiZXJyb3IiLHQpLHNKKCJsb2FkIix0KTticmVhaztjYXNlImRldGFpbHMiOnNKKCJ0b2dnbGUiLHQpO2JyZWFrO2Nhc2UiaW5wdXQiOnNKKCJpbnZhbGlkIix0KSx0Zyh0LHIudmFsdWUsci5kZWZhdWx0VmFsdWUsci5jaGVja2VkLHIuZGVmYXVsdENoZWNrZWQsci50eXBlLHIubmFtZSwhMCk7YnJlYWs7Y2FzZSJzZWxlY3QiOnNKKCJpbnZhbGlkIix0KTticmVhaztjYXNlInRleHRhcmVhIjpzSigiaW52YWxpZCIsdCksdHcodCxyLnZhbHVlLHIuZGVmYXVsdFZhbHVlLHIuY2hpbGRyZW4pfSJzdHJpbmciIT10eXBlb2Yobj1yLmNoaWxkcmVuKSYmIm51bWJlciIhPXR5cGVvZiBuJiYiYmlnaW50IiE9dHlwZW9mIG58fHQudGV4dENvbnRlbnQ9PT0iIitufHwhMD09PXIuc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nfHxjdCh0LnRleHRDb250ZW50LG4pPyhudWxsIT1yLnBvcG92ZXImJihzSigiYmVmb3JldG9nZ2xlIix0KSxzSigidG9nZ2xlIix0KSksbnVsbCE9ci5vblNjcm9sbCYmc0ooInNjcm9sbCIsdCksbnVsbCE9ci5vblNjcm9sbEVuZCYmc0ooInNjcm9sbGVuZCIsdCksbnVsbCE9ci5vbkNsaWNrJiYodC5vbmNsaWNrPXRUKSx0PSEwKTp0PSExLHR8fHJLKGUsITApfWZ1bmN0aW9uIHJHKGUpe2ZvcihyVj1lLnJldHVybjtyVjspc3dpdGNoKHJWLnRhZyl7Y2FzZSA1OmNhc2UgMzE6Y2FzZSAxMzpyVz0hMTtyZXR1cm47Y2FzZSAyNzpjYXNlIDM6clc9ITA7cmV0dXJuO2RlZmF1bHQ6clY9clYucmV0dXJufX1mdW5jdGlvbiByWShlKXtpZihlIT09clYpcmV0dXJuITE7aWYoIXIkKXJldHVybiByRyhlKSxyJD0hMCwhMTt2YXIgdCxuPWUudGFnO2lmKCh0PTMhPT1uJiYyNyE9PW4pJiYoKHQ9NT09PW4pJiYodD0iZm9ybSI9PT0odD1lLnR5cGUpfHwiYnV0dG9uIj09PXR8fGNmKGUudHlwZSxlLm1lbW9pemVkUHJvcHMpKSx0PSF0KSx0JiZySCYmcksoZSksckcoZSksMTM9PT1uKXtpZighKGU9bnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSk/ZS5kZWh5ZHJhdGVkOm51bGwpKXRocm93IEVycm9yKHUoMzE3KSk7ckg9Y3EoZSl9ZWxzZSBpZigzMT09PW4pe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSgzMTcpKTtySD1jcShlKX1lbHNlIDI3PT09bj8obj1ySCxjeShlLnR5cGUpPyhlPWNXLGNXPW51bGwsckg9ZSk6ckg9bik6ckg9clY/Y1EoZS5zdGF0ZU5vZGUubmV4dFNpYmxpbmcpOm51bGw7cmV0dXJuITB9ZnVuY3Rpb24gckooKXtySD1yVj1udWxsLHIkPSExfWZ1bmN0aW9uIHJaKCl7dmFyIGU9clE7cmV0dXJuIG51bGwhPT1lJiYobnVsbD09PXVqP3VqPWU6dWoucHVzaC5hcHBseSh1aixlKSxyUT1udWxsKSxlfWZ1bmN0aW9uIHIwKGUpe251bGw9PT1yUT9yUT1bZV06clEucHVzaChlKX12YXIgcjE9WShudWxsKSxyMj1udWxsLHIzPW51bGw7ZnVuY3Rpb24gcjQoZSx0LG4pe1oocjEsdC5fY3VycmVudFZhbHVlKSx0Ll9jdXJyZW50VmFsdWU9bn1mdW5jdGlvbiByOChlKXtlLl9jdXJyZW50VmFsdWU9cjEuY3VycmVudCxKKHIxKX1mdW5jdGlvbiByNShlLHQsbil7Zm9yKDtudWxsIT09ZTspe3ZhciByPWUuYWx0ZXJuYXRlO2lmKChlLmNoaWxkTGFuZXMmdCkhPT10PyhlLmNoaWxkTGFuZXN8PXQsbnVsbCE9PXImJihyLmNoaWxkTGFuZXN8PXQpKTpudWxsIT09ciYmKHIuY2hpbGRMYW5lcyZ0KSE9PXQmJihyLmNoaWxkTGFuZXN8PXQpLGU9PT1uKWJyZWFrO2U9ZS5yZXR1cm59fWZ1bmN0aW9uIHI2KGUsdCxuLHIpe3ZhciBsPWUuY2hpbGQ7Zm9yKG51bGwhPT1sJiYobC5yZXR1cm49ZSk7bnVsbCE9PWw7KXt2YXIgYT1sLmRlcGVuZGVuY2llcztpZihudWxsIT09YSl7dmFyIG89bC5jaGlsZDthPWEuZmlyc3RDb250ZXh0O2U6Zm9yKDtudWxsIT09YTspe3ZhciBpPWE7YT1sO2Zvcih2YXIgcz0wO3M8dC5sZW5ndGg7cysrKWlmKGkuY29udGV4dD09PXRbc10pe2EubGFuZXN8PW4sbnVsbCE9PShpPWEuYWx0ZXJuYXRlKSYmKGkubGFuZXN8PW4pLHI1KGEucmV0dXJuLG4sZSkscnx8KG89bnVsbCk7YnJlYWsgZX1hPWkubmV4dH19ZWxzZSBpZigxOD09PWwudGFnKXtpZihudWxsPT09KG89bC5yZXR1cm4pKXRocm93IEVycm9yKHUoMzQxKSk7by5sYW5lc3w9bixudWxsIT09KGE9by5hbHRlcm5hdGUpJiYoYS5sYW5lc3w9bikscjUobyxuLGUpLG89bnVsbH1lbHNlIG89bC5jaGlsZDtpZihudWxsIT09bylvLnJldHVybj1sO2Vsc2UgZm9yKG89bDtudWxsIT09bzspe2lmKG89PT1lKXtvPW51bGw7YnJlYWt9aWYobnVsbCE9PShsPW8uc2libGluZykpe2wucmV0dXJuPW8ucmV0dXJuLG89bDticmVha31vPW8ucmV0dXJufWw9b319ZnVuY3Rpb24gcjkoZSx0LG4scil7ZT1udWxsO2Zvcih2YXIgbD10LGE9ITE7bnVsbCE9PWw7KXtpZighYSl7aWYoMCE9KDUyNDI4OCZsLmZsYWdzKSlhPSEwO2Vsc2UgaWYoMCE9KDI2MjE0NCZsLmZsYWdzKSlicmVha31pZigxMD09PWwudGFnKXt2YXIgbz1sLmFsdGVybmF0ZTtpZihudWxsPT09byl0aHJvdyBFcnJvcih1KDM4NykpO2lmKG51bGwhPT0obz1vLm1lbW9pemVkUHJvcHMpKXt2YXIgaT1sLnR5cGU7bkEobC5wZW5kaW5nUHJvcHMudmFsdWUsby52YWx1ZSl8fChudWxsIT09ZT9lLnB1c2goaSk6ZT1baV0pfX1lbHNlIGlmKGw9PT1lci5jdXJyZW50KXtpZihudWxsPT09KG89bC5hbHRlcm5hdGUpKXRocm93IEVycm9yKHUoMzg3KSk7by5tZW1vaXplZFN0YXRlLm1lbW9pemVkU3RhdGUhPT1sLm1lbW9pemVkU3RhdGUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT1lP2UucHVzaChmdik6ZT1bZnZdKX1sPWwucmV0dXJufW51bGwhPT1lJiZyNih0LGUsbixyKSx0LmZsYWdzfD0yNjIxNDR9ZnVuY3Rpb24gcjcoZSl7Zm9yKGU9ZS5maXJzdENvbnRleHQ7bnVsbCE9PWU7KXtpZighbkEoZS5jb250ZXh0Ll9jdXJyZW50VmFsdWUsZS5tZW1vaXplZFZhbHVlKSlyZXR1cm4hMDtlPWUubmV4dH1yZXR1cm4hMX1mdW5jdGlvbiBsZShlKXtyMj1lLHIzPW51bGwsbnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmKGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIGx0KGUpe3JldHVybiBscihyMixlKX1mdW5jdGlvbiBsbihlLHQpe3JldHVybiBudWxsPT09cjImJmxlKGUpLGxyKGUsdCl9ZnVuY3Rpb24gbHIoZSx0KXt2YXIgbj10Ll9jdXJyZW50VmFsdWU7aWYodD17Y29udGV4dDp0LG1lbW9pemVkVmFsdWU6bixuZXh0Om51bGx9LG51bGw9PT1yMyl7aWYobnVsbD09PWUpdGhyb3cgRXJyb3IodSgzMDgpKTtyMz10LGUuZGVwZW5kZW5jaWVzPXtsYW5lczowLGZpcnN0Q29udGV4dDp0fSxlLmZsYWdzfD01MjQyODh9ZWxzZSByMz1yMy5uZXh0PXQ7cmV0dXJuIG59dmFyIGxsPSJ1Ij50eXBlb2YgQWJvcnRDb250cm9sbGVyP0Fib3J0Q29udHJvbGxlcjpmdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcy5zaWduYWw9e2Fib3J0ZWQ6ITEsYWRkRXZlbnRMaXN0ZW5lcjpmdW5jdGlvbih0LG4pe2UucHVzaChuKX19O3RoaXMuYWJvcnQ9ZnVuY3Rpb24oKXt0LmFib3J0ZWQ9ITAsZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiBlKCl9KX19LGxhPWEudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxsbz1hLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGxpPXskJHR5cGVvZjpMLENvbnN1bWVyOm51bGwsUHJvdmlkZXI6bnVsbCxfY3VycmVudFZhbHVlOm51bGwsX2N1cnJlbnRWYWx1ZTI6bnVsbCxfdGhyZWFkQ291bnQ6MH07ZnVuY3Rpb24gbHUoKXtyZXR1cm57Y29udHJvbGxlcjpuZXcgbGwsZGF0YTpuZXcgTWFwLHJlZkNvdW50OjB9fWZ1bmN0aW9uIGxzKGUpe2UucmVmQ291bnQtLSwwPT09ZS5yZWZDb3VudCYmbGEobG8sZnVuY3Rpb24oKXtlLmNvbnRyb2xsZXIuYWJvcnQoKX0pfWZ1bmN0aW9uIGxjKGUsdCl7aWYoMCE9KDQxOTQwNDgmZS5wZW5kaW5nTGFuZXMpKXt2YXIgbj1lLnRyYW5zaXRpb25UeXBlcztmb3IobnVsbD09PW4mJihuPWUudHJhbnNpdGlvblR5cGVzPVtdKSxlPTA7ZTx0Lmxlbmd0aDtlKyspe3ZhciByPXRbZV07LTE9PT1uLmluZGV4T2YocikmJm4ucHVzaChyKX19fXZhciBsZj1udWxsLGxkPW51bGwsbHA9MCxsbT0wLGxoPW51bGw7ZnVuY3Rpb24gbGcoKXtpZigwPT0tLWxwJiYobGY9bnVsbCxudWxsIT09bGQpKXtudWxsIT09bGgmJihsaC5zdGF0dXM9ImZ1bGZpbGxlZCIpO3ZhciBlPWxkO2xkPW51bGwsbG09MCxsaD1udWxsO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9fXZhciBsdj1XLlM7Vy5TPWZ1bmN0aW9uKGUsdCl7aWYodVY9ZXYoKSwib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuJiZmdW5jdGlvbihlLHQpe2lmKG51bGw9PT1sZCl7dmFyIG49bGQ9W107bHA9MCxsbT1zJCgpLGxoPXtzdGF0dXM6InBlbmRpbmciLHZhbHVlOnZvaWQgMCx0aGVuOmZ1bmN0aW9uKGUpe24ucHVzaChlKX19fWxwKyssdC50aGVuKGxnLGxnKX0oMCx0KSxudWxsIT09bGYpZm9yKHZhciBuPXN6O251bGwhPT1uOylsYyhuLGxmKSxuPW4ubmV4dDtpZihudWxsIT09KG49ZS50eXBlcykpe2Zvcih2YXIgcj1zejtudWxsIT09cjspbGMocixuKSxyPXIubmV4dDtpZigwIT09bG0pe251bGw9PT0ocj1sZikmJihyPWxmPVtdKTtmb3IodmFyIGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGE9bltsXTstMT09PXIuaW5kZXhPZihhKSYmci5wdXNoKGEpfX19bnVsbCE9PWx2JiZsdihlLHQpfTt2YXIgbHk9WShudWxsKTtmdW5jdGlvbiBsYigpe3ZhciBlPWx5LmN1cnJlbnQ7cmV0dXJuIG51bGwhPT1lP2U6dUUucG9vbGVkQ2FjaGV9ZnVuY3Rpb24gbHcoZSx0KXtudWxsPT09dD9aKGx5LGx5LmN1cnJlbnQpOloobHksdC5wb29sKX1mdW5jdGlvbiBsaygpe3ZhciBlPWxiKCk7cmV0dXJuIG51bGw9PT1lP251bGw6e3BhcmVudDpsaS5fY3VycmVudFZhbHVlLHBvb2w6ZX19dmFyIGxTPUVycm9yKHUoNDYwKSksbEU9RXJyb3IodSg0NzQpKSxseD1FcnJvcih1KDU0MikpLGxfPXt0aGVuOmZ1bmN0aW9uKCl7fX07ZnVuY3Rpb24gbFAoZSl7cmV0dXJuImZ1bGZpbGxlZCI9PT0oZT1lLnN0YXR1cyl8fCJyZWplY3RlZCI9PT1lfWZ1bmN0aW9uIGxOKGUsdCxuKXtzd2l0Y2godm9pZCAwPT09KG49ZVtuXSk/ZS5wdXNoKHQpOm4hPT10JiYodC50aGVuKHRULHRUKSx0PW4pLHQuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIHQudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgbHooZT10LnJlYXNvbiksZTtkZWZhdWx0OmlmKCJzdHJpbmciPT10eXBlb2YgdC5zdGF0dXMpdC50aGVuKHRULHRUKTtlbHNle2lmKG51bGwhPT0oZT11RSkmJjEwMDxlLnNoZWxsU3VzcGVuZENvdW50ZXIpdGhyb3cgRXJyb3IodSg0ODIpKTsoZT10KS5zdGF0dXM9InBlbmRpbmciLGUudGhlbihmdW5jdGlvbihlKXtpZigicGVuZGluZyI9PT10LnN0YXR1cyl7dmFyIG49dDtuLnN0YXR1cz0iZnVsZmlsbGVkIixuLnZhbHVlPWV9fSxmdW5jdGlvbihlKXtpZigicGVuZGluZyI9PT10LnN0YXR1cyl7dmFyIG49dDtuLnN0YXR1cz0icmVqZWN0ZWQiLG4ucmVhc29uPWV9fSl9c3dpdGNoKHQuc3RhdHVzKXtjYXNlImZ1bGZpbGxlZCI6cmV0dXJuIHQudmFsdWU7Y2FzZSJyZWplY3RlZCI6dGhyb3cgbHooZT10LnJlYXNvbiksZX10aHJvdyBsVD10LGxTfX1mdW5jdGlvbiBsQyhlKXt0cnl7cmV0dXJuKDAsZS5faW5pdCkoZS5fcGF5bG9hZCl9Y2F0Y2goZSl7aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil0aHJvdyBsVD1lLGxTO3Rocm93IGV9fXZhciBsVD1udWxsO2Z1bmN0aW9uIGxPKCl7aWYobnVsbD09PWxUKXRocm93IEVycm9yKHUoNDU5KSk7dmFyIGU9bFQ7cmV0dXJuIGxUPW51bGwsZX1mdW5jdGlvbiBseihlKXtpZihlPT09bFN8fGU9PT1seCl0aHJvdyBFcnJvcih1KDQ4MykpfXZhciBsTD1udWxsLGxSPTA7ZnVuY3Rpb24gbE0oZSl7dmFyIHQ9bFI7cmV0dXJuIGxSKz0xLG51bGw9PT1sTCYmKGxMPVtdKSxsTihsTCxlLHQpfWZ1bmN0aW9uIGxJKGUsdCl7ZS5yZWY9dm9pZCAwIT09KHQ9dC5wcm9wcy5yZWYpP3Q6bnVsbH1mdW5jdGlvbiBsRChlLHQpe2lmKHQuJCR0eXBlb2Y9PT1fKXRocm93IEVycm9yKHUoNTI1KSk7dGhyb3cgRXJyb3IodSgzMSwiW29iamVjdCBPYmplY3RdIj09PShlPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSk/Im9iamVjdCB3aXRoIGtleXMgeyIrT2JqZWN0LmtleXModCkuam9pbigiLCAiKSsifSI6ZSkpfWZ1bmN0aW9uIGxGKGUpe2Z1bmN0aW9uIHQodCxuKXtpZihlKXt2YXIgcj10LmRlbGV0aW9ucztudWxsPT09cj8odC5kZWxldGlvbnM9W25dLHQuZmxhZ3N8PTE2KTpyLnB1c2gobil9fWZ1bmN0aW9uIG4obixyKXtpZighZSlyZXR1cm4gbnVsbDtmb3IoO251bGwhPT1yOyl0KG4scikscj1yLnNpYmxpbmc7cmV0dXJuIG51bGx9ZnVuY3Rpb24gcihlKXtmb3IodmFyIHQ9bmV3IE1hcDtudWxsIT09ZTspbnVsbD09PWUua2V5P3Quc2V0KGUuaW5kZXgsZSk6dC5zZXQoZS5rZXksZSksZT1lLnNpYmxpbmc7cmV0dXJuIHR9ZnVuY3Rpb24gbChlLHQpe3JldHVybihlPXJiKGUsdCkpLmluZGV4PTAsZS5zaWJsaW5nPW51bGwsZX1mdW5jdGlvbiBhKHQsbixyKXtyZXR1cm4odC5pbmRleD1yLGUpP251bGwhPT0ocj10LmFsdGVybmF0ZSk/KHI9ci5pbmRleCk8bj8odC5mbGFnc3w9MHg4MDAwMDAyLG4pOnI6KHQuZmxhZ3N8PTB4ODAwMDAwMixuKToodC5mbGFnc3w9MTA0ODU3NixuKX1mdW5jdGlvbiBvKHQpe3JldHVybiBlJiZudWxsPT09dC5hbHRlcm5hdGUmJih0LmZsYWdzfD0weDgwMDAwMDIpLHR9ZnVuY3Rpb24gaShlLHQsbixyKXtyZXR1cm4gbnVsbD09PXR8fDYhPT10LnRhZz8odD1yRShuLGUubW9kZSxyKSkucmV0dXJuPWU6KHQ9bCh0LG4pKS5yZXR1cm49ZSx0fWZ1bmN0aW9uIHMoZSx0LG4scil7dmFyIGE9bi50eXBlO3JldHVybiBhPT09Qz8obEkoZT1mKGUsdCxuLnByb3BzLmNoaWxkcmVuLHIsbi5rZXkpLG4pLGUpOihudWxsIT09dCYmKHQuZWxlbWVudFR5cGU9PT1hfHwib2JqZWN0Ij09dHlwZW9mIGEmJm51bGwhPT1hJiZhLiQkdHlwZW9mPT09RiYmbEMoYSk9PT10LnR5cGUpP2xJKHQ9bCh0LG4ucHJvcHMpLG4pOmxJKHQ9cmsobi50eXBlLG4ua2V5LG4ucHJvcHMsbnVsbCxlLm1vZGUsciksbiksdC5yZXR1cm49ZSx0KX1mdW5jdGlvbiBjKGUsdCxuLHIpe3JldHVybiBudWxsPT09dHx8NCE9PXQudGFnfHx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09bi5jb250YWluZXJJbmZvfHx0LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PW4uaW1wbGVtZW50YXRpb24/KHQ9cl8obixlLm1vZGUscikpLnJldHVybj1lOih0PWwodCxuLmNoaWxkcmVufHxbXSkpLnJldHVybj1lLHR9ZnVuY3Rpb24gZihlLHQsbixyLGEpe3JldHVybiBudWxsPT09dHx8NyE9PXQudGFnPyh0PXJTKG4sZS5tb2RlLHIsYSkpLnJldHVybj1lOih0PWwodCxuKSkucmV0dXJuPWUsdH1mdW5jdGlvbiBkKGUsdCxuKXtpZigic3RyaW5nIj09dHlwZW9mIHQmJiIiIT09dHx8Im51bWJlciI9PXR5cGVvZiB0fHwiYmlnaW50Ij09dHlwZW9mIHQpcmV0dXJuKHQ9ckUoIiIrdCxlLm1vZGUsbikpLnJldHVybj1lLHQ7aWYoIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dCl7c3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4gbEkobj1yayh0LnR5cGUsdC5rZXksdC5wcm9wcyxudWxsLGUubW9kZSxuKSx0KSxuLnJldHVybj1lLG47Y2FzZSBOOnJldHVybih0PXJfKHQsZS5tb2RlLG4pKS5yZXR1cm49ZSx0O2Nhc2UgRjpyZXR1cm4gZChlLHQ9bEModCksbil9aWYoUSh0KXx8SCh0KSlyZXR1cm4odD1yUyh0LGUubW9kZSxuLG51bGwpKS5yZXR1cm49ZSx0O2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pcmV0dXJuIGQoZSxsTSh0KSxuKTtpZih0LiQkdHlwZW9mPT09TClyZXR1cm4gZChlLGxuKGUsdCksbik7bEQoZSx0KX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsdCxuLHIpe3ZhciBsPW51bGwhPT10P3Qua2V5Om51bGw7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fCJudW1iZXIiPT10eXBlb2Ygbnx8ImJpZ2ludCI9PXR5cGVvZiBuKXJldHVybiBudWxsIT09bD9udWxsOmkoZSx0LCIiK24scik7aWYoIm9iamVjdCI9PXR5cGVvZiBuJiZudWxsIT09bil7c3dpdGNoKG4uJCR0eXBlb2Ype2Nhc2UgUDpyZXR1cm4gbi5rZXk9PT1sP3MoZSx0LG4scik6bnVsbDtjYXNlIE46cmV0dXJuIG4ua2V5PT09bD9jKGUsdCxuLHIpOm51bGw7Y2FzZSBGOnJldHVybiBwKGUsdCxuPWxDKG4pLHIpfWlmKFEobil8fEgobikpcmV0dXJuIG51bGwhPT1sP251bGw6ZihlLHQsbixyLG51bGwpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuLnRoZW4pcmV0dXJuIHAoZSx0LGxNKG4pLHIpO2lmKG4uJCR0eXBlb2Y9PT1MKXJldHVybiBwKGUsdCxsbihlLG4pLHIpO2xEKGUsbil9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbShlLHQsbixyLGwpe2lmKCJzdHJpbmciPT10eXBlb2YgciYmIiIhPT1yfHwibnVtYmVyIj09dHlwZW9mIHJ8fCJiaWdpbnQiPT10eXBlb2YgcilyZXR1cm4gaSh0LGU9ZS5nZXQobil8fG51bGwsIiIrcixsKTtpZigib2JqZWN0Ij09dHlwZW9mIHImJm51bGwhPT1yKXtzd2l0Y2goci4kJHR5cGVvZil7Y2FzZSBQOnJldHVybiBzKHQsZT1lLmdldChudWxsPT09ci5rZXk/bjpyLmtleSl8fG51bGwscixsKTtjYXNlIE46cmV0dXJuIGModCxlPWUuZ2V0KG51bGw9PT1yLmtleT9uOnIua2V5KXx8bnVsbCxyLGwpO2Nhc2UgRjpyZXR1cm4gbShlLHQsbixyPWxDKHIpLGwpfWlmKFEocil8fEgocikpcmV0dXJuIGYodCxlPWUuZ2V0KG4pfHxudWxsLHIsbCxudWxsKTtpZigiZnVuY3Rpb24iPT10eXBlb2Ygci50aGVuKXJldHVybiBtKGUsdCxuLGxNKHIpLGwpO2lmKHIuJCR0eXBlb2Y9PT1MKXJldHVybiBtKGUsdCxuLGxuKHQsciksbCk7bEQodCxyKX1yZXR1cm4gbnVsbH1yZXR1cm4gZnVuY3Rpb24oaSxzLGMsZil7dHJ5e2xSPTA7dmFyIGg9ZnVuY3Rpb24gaShzLGMsZixoKXtpZigib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPT1mJiZmLnR5cGU9PT1DJiZudWxsPT09Zi5rZXkmJnZvaWQgMD09PWYucHJvcHMucmVmJiYoZj1mLnByb3BzLmNoaWxkcmVuKSwib2JqZWN0Ij09dHlwZW9mIGYmJm51bGwhPT1mKXtzd2l0Y2goZi4kJHR5cGVvZil7Y2FzZSBQOmU6e2Zvcih2YXIgZz1mLmtleTtudWxsIT09Yzspe2lmKGMua2V5PT09Zyl7aWYoKGc9Zi50eXBlKT09PUMpe2lmKDc9PT1jLnRhZyl7bihzLGMuc2libGluZyksbEkoaD1sKGMsZi5wcm9wcy5jaGlsZHJlbiksZiksaC5yZXR1cm49cyxzPWg7YnJlYWsgZX19ZWxzZSBpZihjLmVsZW1lbnRUeXBlPT09Z3x8Im9iamVjdCI9PXR5cGVvZiBnJiZudWxsIT09ZyYmZy4kJHR5cGVvZj09PUYmJmxDKGcpPT09Yy50eXBlKXtuKHMsYy5zaWJsaW5nKSxsSShoPWwoYyxmLnByb3BzKSxmKSxoLnJldHVybj1zLHM9aDticmVhayBlfW4ocyxjKTticmVha310KHMsYyksYz1jLnNpYmxpbmd9Zi50eXBlPT09Qz9sSShoPXJTKGYucHJvcHMuY2hpbGRyZW4scy5tb2RlLGgsZi5rZXkpLGYpOmxJKGg9cmsoZi50eXBlLGYua2V5LGYucHJvcHMsbnVsbCxzLm1vZGUsaCksZiksaC5yZXR1cm49cyxzPWh9cmV0dXJuIG8ocyk7Y2FzZSBOOmU6e2ZvcihnPWYua2V5O251bGwhPT1jOyl7aWYoYy5rZXk9PT1nKWlmKDQ9PT1jLnRhZyYmYy5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWYuY29udGFpbmVySW5mbyYmYy5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb249PT1mLmltcGxlbWVudGF0aW9uKXtuKHMsYy5zaWJsaW5nKSwoaD1sKGMsZi5jaGlsZHJlbnx8W10pKS5yZXR1cm49cyxzPWg7YnJlYWsgZX1lbHNle24ocyxjKTticmVha310KHMsYyksYz1jLnNpYmxpbmd9KGg9cl8oZixzLm1vZGUsaCkpLnJldHVybj1zLHM9aH1yZXR1cm4gbyhzKTtjYXNlIEY6cmV0dXJuIGkocyxjLGY9bEMoZiksaCl9aWYoUShmKSlyZXR1cm4gZnVuY3Rpb24obCxvLGksdSl7Zm9yKHZhciBzPW51bGwsYz1udWxsLGY9byxoPW89MCxnPW51bGw7bnVsbCE9PWYmJmg8aS5sZW5ndGg7aCsrKXtmLmluZGV4Pmg/KGc9ZixmPW51bGwpOmc9Zi5zaWJsaW5nO3ZhciB2PXAobCxmLGlbaF0sdSk7aWYobnVsbD09PXYpe251bGw9PT1mJiYoZj1nKTticmVha31lJiZmJiZudWxsPT09di5hbHRlcm5hdGUmJnQobCxmKSxvPWEodixvLGgpLG51bGw9PT1jP3M9djpjLnNpYmxpbmc9dixjPXYsZj1nfWlmKGg9PT1pLmxlbmd0aClyZXR1cm4gbihsLGYpLHIkJiZyRihsLGgpLHM7aWYobnVsbD09PWYpe2Zvcig7aDxpLmxlbmd0aDtoKyspbnVsbCE9PShmPWQobCxpW2hdLHUpKSYmKG89YShmLG8saCksbnVsbD09PWM/cz1mOmMuc2libGluZz1mLGM9Zik7cmV0dXJuIHIkJiZyRihsLGgpLHN9Zm9yKGY9cihmKTtoPGkubGVuZ3RoO2grKyludWxsIT09KGc9bShmLGwsaCxpW2hdLHUpKSYmKGUmJm51bGwhPT0odj1nLmFsdGVybmF0ZSkmJmYuZGVsZXRlKG51bGw9PT12LmtleT9oOnYua2V5KSxvPWEoZyxvLGgpLG51bGw9PT1jP3M9ZzpjLnNpYmxpbmc9ZyxjPWcpO3JldHVybiBlJiZmLmZvckVhY2goZnVuY3Rpb24oZSl7cmV0dXJuIHQobCxlKX0pLHIkJiZyRihsLGgpLHN9KHMsYyxmLGgpO2lmKEgoZikpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZihnPUgoZikpKXRocm93IEVycm9yKHUoMTUwKSk7cmV0dXJuIGZ1bmN0aW9uKGwsbyxpLHMpe2lmKG51bGw9PWkpdGhyb3cgRXJyb3IodSgxNTEpKTtmb3IodmFyIGM9bnVsbCxmPW51bGwsaD1vLGc9bz0wLHY9bnVsbCx5PWkubmV4dCgpO251bGwhPT1oJiYheS5kb25lO2crKyx5PWkubmV4dCgpKXtoLmluZGV4Pmc/KHY9aCxoPW51bGwpOnY9aC5zaWJsaW5nO3ZhciBiPXAobCxoLHkudmFsdWUscyk7aWYobnVsbD09PWIpe251bGw9PT1oJiYoaD12KTticmVha31lJiZoJiZudWxsPT09Yi5hbHRlcm5hdGUmJnQobCxoKSxvPWEoYixvLGcpLG51bGw9PT1mP2M9YjpmLnNpYmxpbmc9YixmPWIsaD12fWlmKHkuZG9uZSlyZXR1cm4gbihsLGgpLHIkJiZyRihsLGcpLGM7aWYobnVsbD09PWgpe2Zvcig7IXkuZG9uZTtnKysseT1pLm5leHQoKSludWxsIT09KHk9ZChsLHkudmFsdWUscykpJiYobz1hKHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gciQmJnJGKGwsZyksY31mb3IoaD1yKGgpOyF5LmRvbmU7ZysrLHk9aS5uZXh0KCkpbnVsbCE9PSh5PW0oaCxsLGcseS52YWx1ZSxzKSkmJihlJiZudWxsIT09KHY9eS5hbHRlcm5hdGUpJiZoLmRlbGV0ZShudWxsPT09di5rZXk/Zzp2LmtleSksbz1hKHksbyxnKSxudWxsPT09Zj9jPXk6Zi5zaWJsaW5nPXksZj15KTtyZXR1cm4gZSYmaC5mb3JFYWNoKGZ1bmN0aW9uKGUpe3JldHVybiB0KGwsZSl9KSxyJCYmckYobCxnKSxjfShzLGMsZj1nLmNhbGwoZiksaCl9aWYoImZ1bmN0aW9uIj09dHlwZW9mIGYudGhlbilyZXR1cm4gaShzLGMsbE0oZiksaCk7aWYoZi4kJHR5cGVvZj09PUwpcmV0dXJuIGkocyxjLGxuKHMsZiksaCk7bEQocyxmKX1yZXR1cm4ic3RyaW5nIj09dHlwZW9mIGYmJiIiIT09Znx8Im51bWJlciI9PXR5cGVvZiBmfHwiYmlnaW50Ij09dHlwZW9mIGY/KGY9IiIrZixudWxsIT09YyYmNj09PWMudGFnPyhuKHMsYy5zaWJsaW5nKSwoaD1sKGMsZikpLnJldHVybj1zKToobihzLGMpLChoPXJFKGYscy5tb2RlLGgpKS5yZXR1cm49cyksbyhzPWgpKTpuKHMsYyl9KGkscyxjLGYpO3JldHVybiBsTD1udWxsLGh9Y2F0Y2goZSl7aWYoZT09PWxTfHxlPT09bHgpdGhyb3cgZTt2YXIgZz1ydigyOSxlLG51bGwsaS5tb2RlKTtyZXR1cm4gZy5sYW5lcz1mLGcucmV0dXJuPWksZ31maW5hbGx5e319fXZhciBsQT1sRighMCksbGo9bEYoITEpLGxVPSExO2Z1bmN0aW9uIGxCKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsZmlyc3RCYXNlVXBkYXRlOm51bGwsbGFzdEJhc2VVcGRhdGU6bnVsbCxzaGFyZWQ6e3BlbmRpbmc6bnVsbCxsYW5lczowLGhpZGRlbkNhbGxiYWNrczpudWxsfSxjYWxsYmFja3M6bnVsbH19ZnVuY3Rpb24gbFYoZSx0KXtlPWUudXBkYXRlUXVldWUsdC51cGRhdGVRdWV1ZT09PWUmJih0LnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsZmlyc3RCYXNlVXBkYXRlOmUuZmlyc3RCYXNlVXBkYXRlLGxhc3RCYXNlVXBkYXRlOmUubGFzdEJhc2VVcGRhdGUsc2hhcmVkOmUuc2hhcmVkLGNhbGxiYWNrczpudWxsfSl9ZnVuY3Rpb24gbEgoZSl7cmV0dXJue2xhbmU6ZSx0YWc6MCxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9fWZ1bmN0aW9uIGwkKGUsdCxuKXt2YXIgcj1lLnVwZGF0ZVF1ZXVlO2lmKG51bGw9PT1yKXJldHVybiBudWxsO2lmKHI9ci5zaGFyZWQsMCE9KDImdVMpKXt2YXIgbD1yLnBlbmRpbmc7cmV0dXJuIG51bGw9PT1sP3QubmV4dD10Oih0Lm5leHQ9bC5uZXh0LGwubmV4dD10KSxyLnBlbmRpbmc9dCx0PXJtKGUpLHJwKGUsbnVsbCxuKSx0fXJldHVybiByYyhlLHIsdCxuKSxybShlKX1mdW5jdGlvbiBsUShlLHQsbil7aWYobnVsbCE9PSh0PXQudXBkYXRlUXVldWUpJiYodD10LnNoYXJlZCwwIT0oNDE5NDA0OCZuKSkpe3ZhciByPXQubGFuZXM7ciY9ZS5wZW5kaW5nTGFuZXMsbnw9cix0LmxhbmVzPW4sZWooZSxuKX19ZnVuY3Rpb24gbFcoZSx0KXt2YXIgbj1lLnVwZGF0ZVF1ZXVlLHI9ZS5hbHRlcm5hdGU7aWYobnVsbCE9PXImJm49PT0ocj1yLnVwZGF0ZVF1ZXVlKSl7dmFyIGw9bnVsbCxhPW51bGw7aWYobnVsbCE9PShuPW4uZmlyc3RCYXNlVXBkYXRlKSl7ZG97dmFyIG89e2xhbmU6bi5sYW5lLHRhZzpuLnRhZyxwYXlsb2FkOm4ucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH07bnVsbD09PWE/bD1hPW86YT1hLm5leHQ9byxuPW4ubmV4dH13aGlsZShudWxsIT09biludWxsPT09YT9sPWE9dDphPWEubmV4dD10fWVsc2UgbD1hPXQ7bj17YmFzZVN0YXRlOnIuYmFzZVN0YXRlLGZpcnN0QmFzZVVwZGF0ZTpsLGxhc3RCYXNlVXBkYXRlOmEsc2hhcmVkOnIuc2hhcmVkLGNhbGxiYWNrczpyLmNhbGxiYWNrc30sZS51cGRhdGVRdWV1ZT1uO3JldHVybn1udWxsPT09KGU9bi5sYXN0QmFzZVVwZGF0ZSk/bi5maXJzdEJhc2VVcGRhdGU9dDplLm5leHQ9dCxuLmxhc3RCYXNlVXBkYXRlPXR9dmFyIGxxPSExO2Z1bmN0aW9uIGxLKCl7aWYobHEpe3ZhciBlPWxoO2lmKG51bGwhPT1lKXRocm93IGV9fWZ1bmN0aW9uIGxYKGUsdCxuLHIpe2xxPSExO3ZhciBsPWUudXBkYXRlUXVldWU7bFU9ITE7dmFyIGE9bC5maXJzdEJhc2VVcGRhdGUsbz1sLmxhc3RCYXNlVXBkYXRlLGk9bC5zaGFyZWQucGVuZGluZztpZihudWxsIT09aSl7bC5zaGFyZWQucGVuZGluZz1udWxsO3ZhciB1PWkscz11Lm5leHQ7dS5uZXh0PW51bGwsbnVsbD09PW8/YT1zOm8ubmV4dD1zLG89dTt2YXIgYz1lLmFsdGVybmF0ZTtudWxsIT09YyYmKGk9KGM9Yy51cGRhdGVRdWV1ZSkubGFzdEJhc2VVcGRhdGUpIT09byYmKG51bGw9PT1pP2MuZmlyc3RCYXNlVXBkYXRlPXM6aS5uZXh0PXMsYy5sYXN0QmFzZVVwZGF0ZT11KX1pZihudWxsIT09YSl7dmFyIGY9bC5iYXNlU3RhdGU7Zm9yKG89MCxjPXM9dT1udWxsLGk9YTs7KXt2YXIgZD0tMHgyMDAwMDAwMSZpLmxhbmUscD1kIT09aS5sYW5lO2lmKHA/KHVfJmQpPT09ZDoociZkKT09PWQpezAhPT1kJiZkPT09bG0mJihscT0hMCksbnVsbCE9PWMmJihjPWMubmV4dD17bGFuZTowLHRhZzppLnRhZyxwYXlsb2FkOmkucGF5bG9hZCxjYWxsYmFjazpudWxsLG5leHQ6bnVsbH0pO2U6e3ZhciBtPWUsaD1pO3N3aXRjaChkPXQsaC50YWcpe2Nhc2UgMTppZigiZnVuY3Rpb24iPT10eXBlb2YobT1oLnBheWxvYWQpKXtmPW0uY2FsbChuLGYsZCk7YnJlYWsgZX1mPW07YnJlYWsgZTtjYXNlIDM6bS5mbGFncz0tNjU1MzcmbS5mbGFnc3wxMjg7Y2FzZSAwOmlmKG51bGw9PShkPSJmdW5jdGlvbiI9PXR5cGVvZihtPWgucGF5bG9hZCk/bS5jYWxsKG4sZixkKTptKSlicmVhayBlO2Y9eCh7fSxmLGQpO2JyZWFrIGU7Y2FzZSAyOmxVPSEwfX1udWxsIT09KGQ9aS5jYWxsYmFjaykmJihlLmZsYWdzfD02NCxwJiYoZS5mbGFnc3w9ODE5MiksbnVsbD09PShwPWwuY2FsbGJhY2tzKT9sLmNhbGxiYWNrcz1bZF06cC5wdXNoKGQpKX1lbHNlIHA9e2xhbmU6ZCx0YWc6aS50YWcscGF5bG9hZDppLnBheWxvYWQsY2FsbGJhY2s6aS5jYWxsYmFjayxuZXh0Om51bGx9LG51bGw9PT1jPyhzPWM9cCx1PWYpOmM9Yy5uZXh0PXAsb3w9ZDtpZihudWxsPT09KGk9aS5uZXh0KSlpZihudWxsPT09KGk9bC5zaGFyZWQucGVuZGluZykpYnJlYWs7ZWxzZSBpPShwPWkpLm5leHQscC5uZXh0PW51bGwsbC5sYXN0QmFzZVVwZGF0ZT1wLGwuc2hhcmVkLnBlbmRpbmc9bnVsbH1udWxsPT09YyYmKHU9ZiksbC5iYXNlU3RhdGU9dSxsLmZpcnN0QmFzZVVwZGF0ZT1zLGwubGFzdEJhc2VVcGRhdGU9YyxudWxsPT09YSYmKGwuc2hhcmVkLmxhbmVzPTApLHVSfD1vLGUubGFuZXM9byxlLm1lbW9pemVkU3RhdGU9Zn19ZnVuY3Rpb24gbEcoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBFcnJvcih1KDE5MSxlKSk7ZS5jYWxsKHQpfWZ1bmN0aW9uIGxZKGUsdCl7dmFyIG49ZS5jYWxsYmFja3M7aWYobnVsbCE9PW4pZm9yKGUuY2FsbGJhY2tzPW51bGwsZT0wO2U8bi5sZW5ndGg7ZSsrKWxHKG5bZV0sdCl9dmFyIGxKPVkobnVsbCksbFo9WSgwKTtmdW5jdGlvbiBsMChlLHQpe1oobFosZT11eiksWihsSix0KSx1ej1lfHQuYmFzZUxhbmVzfWZ1bmN0aW9uIGwxKCl7WihsWix1eiksWihsSixsSi5jdXJyZW50KX1mdW5jdGlvbiBsMigpe3V6PWxaLmN1cnJlbnQsSihsSiksSihsWil9dmFyIGwzPVkobnVsbCksbDQ9bnVsbDtmdW5jdGlvbiBsOChlKXt2YXIgdD1lLmFsdGVybmF0ZTtaKGFlLDEmYWUuY3VycmVudCksWihsMyxlKSxudWxsPT09bDQmJihudWxsPT09dHx8bnVsbCE9PWxKLmN1cnJlbnQ/bDQ9ZTpudWxsIT09dC5tZW1vaXplZFN0YXRlJiYobDQ9ZSkpfWZ1bmN0aW9uIGw1KGUpe1ooYWUsYWUuY3VycmVudCksWihsMyxlKSxudWxsPT09bDQmJihsND1lKX1mdW5jdGlvbiBsNihlKXsyMj09PWUudGFnPyhaKGFlLGFlLmN1cnJlbnQpLFoobDMsZSksbnVsbD09PWw0JiYobDQ9ZSkpOmw5KCl9ZnVuY3Rpb24gbDkoKXtaKGFlLGFlLmN1cnJlbnQpLFoobDMsbDMuY3VycmVudCl9ZnVuY3Rpb24gbDcoZSl7SihsMyksbDQ9PT1lJiYobDQ9bnVsbCksSihhZSl9dmFyIGFlPVkoMCk7ZnVuY3Rpb24gYXQoZSx0KXtaKGwzLGwzLmN1cnJlbnQpLFooYWUsdCl9ZnVuY3Rpb24gYW4oZSl7SihhZSksSihsMyksbDQ9PT1lJiYobDQ9bnVsbCl9ZnVuY3Rpb24gYXIoZSl7Zm9yKHZhciB0PWU7bnVsbCE9PXQ7KXtpZigxMz09PXQudGFnKXt2YXIgbj10Lm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PW4mJihudWxsPT09KG49bi5kZWh5ZHJhdGVkKXx8Y0gobil8fGMkKG4pKSlyZXR1cm4gdH1lbHNlIGlmKDE5PT09dC50YWcmJiJpbmRlcGVuZGVudCIhPT10Lm1lbW9pemVkUHJvcHMucmV2ZWFsT3JkZXIpe2lmKDAhPSgxMjgmdC5mbGFncykpcmV0dXJuIHR9ZWxzZSBpZihudWxsIT09dC5jaGlsZCl7dC5jaGlsZC5yZXR1cm49dCx0PXQuY2hpbGQ7Y29udGludWV9aWYodD09PWUpYnJlYWs7Zm9yKDtudWxsPT09dC5zaWJsaW5nOyl7aWYobnVsbD09PXQucmV0dXJufHx0LnJldHVybj09PWUpcmV0dXJuIG51bGw7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfXJldHVybiBudWxsfXZhciBhbD0wLGFhPW51bGwsYW89bnVsbCxhaT1udWxsLGF1PSExLGFzPSExLGFjPSExLGFmPTAsYWQ9MCxhcD1udWxsLGFtPTA7ZnVuY3Rpb24gYWgoKXt0aHJvdyBFcnJvcih1KDMyMSkpfWZ1bmN0aW9uIGFnKGUsdCl7aWYobnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aCYmbjxlLmxlbmd0aDtuKyspaWYoIW5BKGVbbl0sdFtuXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gYXYoZSx0LG4scixsLGEpe3JldHVybiBhbD1hLGFhPXQsdC5tZW1vaXplZFN0YXRlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsLHQubGFuZXM9MCxXLkg9bnVsbD09PWV8fG51bGw9PT1lLm1lbW9pemVkU3RhdGU/b0U6b3gsYWM9ITEsYT1uKHIsbCksYWM9ITEsYXMmJihhPWFiKHQsbixyLGwpKSxheShlKSxhfWZ1bmN0aW9uIGF5KGUpe1cuSD1vUzt2YXIgdD1udWxsIT09YW8mJm51bGwhPT1hby5uZXh0O2lmKGFsPTAsYWk9YW89YWE9bnVsbCxhdT0hMSxhZD0wLGFwPW51bGwsdCl0aHJvdyBFcnJvcih1KDMwMCkpO251bGw9PT1lfHxvVXx8bnVsbCE9PShlPWUuZGVwZW5kZW5jaWVzKSYmcjcoZSkmJihvVT0hMCl9ZnVuY3Rpb24gYWIoZSx0LG4scil7YWE9ZTt2YXIgbD0wO2Rve2lmKGFzJiYoYXA9bnVsbCksYWQ9MCxhcz0hMSwyNTw9bCl0aHJvdyBFcnJvcih1KDMwMSkpO2lmKGwrPTEsYWk9YW89bnVsbCxudWxsIT1lLnVwZGF0ZVF1ZXVlKXt2YXIgYT1lLnVwZGF0ZVF1ZXVlO2EubGFzdEVmZmVjdD1udWxsLGEuZXZlbnRzPW51bGwsYS5zdG9yZXM9bnVsbCxudWxsIT1hLm1lbW9DYWNoZSYmKGEubWVtb0NhY2hlLmluZGV4PTApfVcuSD1vXyxhPXQobixyKX13aGlsZShhcylyZXR1cm4gYX1mdW5jdGlvbiBhdygpe3ZhciBlPVcuSCx0PWUudXNlU3RhdGUoKVswXTtyZXR1cm4gdD0iZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuP2FOKHQpOnQsZT1lLnVzZVN0YXRlKClbMF0sKG51bGwhPT1hbz9hby5tZW1vaXplZFN0YXRlOm51bGwpIT09ZSYmKGFhLmZsYWdzfD0xMDI0KSx0fWZ1bmN0aW9uIGFrKCl7dmFyIGU9MCE9PWFmO3JldHVybiBhZj0wLGV9ZnVuY3Rpb24gYVMoZSx0LG4pe3QudXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSx0LmZsYWdzJj0tMjA1MyxlLmxhbmVzJj1+bn1mdW5jdGlvbiBhRShlKXtpZihhdSl7Zm9yKGU9ZS5tZW1vaXplZFN0YXRlO251bGwhPT1lOyl7dmFyIHQ9ZS5xdWV1ZTtudWxsIT09dCYmKHQucGVuZGluZz1udWxsKSxlPWUubmV4dH1hdT0hMX1hbD0wLGFpPWFvPWFhPW51bGwsYXM9ITEsYWQ9YWY9MCxhcD1udWxsfWZ1bmN0aW9uIGF4KCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1haT9hYS5tZW1vaXplZFN0YXRlPWFpPWU6YWk9YWkubmV4dD1lLGFpfWZ1bmN0aW9uIGFfKCl7aWYobnVsbD09PWFvKXt2YXIgZT1hYS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9YW8ubmV4dDt2YXIgdD1udWxsPT09YWk/YWEubWVtb2l6ZWRTdGF0ZTphaS5uZXh0O2lmKG51bGwhPT10KWFpPXQsYW89ZTtlbHNle2lmKG51bGw9PT1lKXtpZihudWxsPT09YWEuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoNDY3KSk7dGhyb3cgRXJyb3IodSgzMTApKX1lPXttZW1vaXplZFN0YXRlOihhbz1lKS5tZW1vaXplZFN0YXRlLGJhc2VTdGF0ZTphby5iYXNlU3RhdGUsYmFzZVF1ZXVlOmFvLmJhc2VRdWV1ZSxxdWV1ZTphby5xdWV1ZSxuZXh0Om51bGx9LG51bGw9PT1haT9hYS5tZW1vaXplZFN0YXRlPWFpPWU6YWk9YWkubmV4dD1lfXJldHVybiBhaX1mdW5jdGlvbiBhUCgpe3JldHVybntsYXN0RWZmZWN0Om51bGwsZXZlbnRzOm51bGwsc3RvcmVzOm51bGwsbWVtb0NhY2hlOm51bGx9fWZ1bmN0aW9uIGFOKGUpe3ZhciB0PWFkO3JldHVybiBhZCs9MSxudWxsPT09YXAmJihhcD1bXSksZT1sTihhcCxlLHQpLHQ9YWEsbnVsbD09PShudWxsPT09YWk/dC5tZW1vaXplZFN0YXRlOmFpLm5leHQpJiYoVy5IPW51bGw9PT0odD10LmFsdGVybmF0ZSl8fG51bGw9PT10Lm1lbW9pemVkU3RhdGU/b0U6b3gpLGV9ZnVuY3Rpb24gYUMoZSl7aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbilyZXR1cm4gYU4oZSk7aWYoZS4kJHR5cGVvZj09PUwpcmV0dXJuIGx0KGUpfXRocm93IEVycm9yKHUoNDM4LFN0cmluZyhlKSkpfWZ1bmN0aW9uIGFUKGUpe3ZhciB0PW51bGwsbj1hYS51cGRhdGVRdWV1ZTtpZihudWxsIT09biYmKHQ9bi5tZW1vQ2FjaGUpLG51bGw9PXQpe3ZhciByPWFhLmFsdGVybmF0ZTtudWxsIT09ciYmbnVsbCE9PShyPXIudXBkYXRlUXVldWUpJiZudWxsIT0ocj1yLm1lbW9DYWNoZSkmJih0PXtkYXRhOnIuZGF0YS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2xpY2UoKX0pLGluZGV4OjB9KX1pZihudWxsPT10JiYodD17ZGF0YTpbXSxpbmRleDowfSksbnVsbD09PW4mJihuPWFQKCksYWEudXBkYXRlUXVldWU9biksbi5tZW1vQ2FjaGU9dCx2b2lkIDA9PT0obj10LmRhdGFbdC5pbmRleF0pKWZvcihuPXQuZGF0YVt0LmluZGV4XT1BcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPVU7cmV0dXJuIHQuaW5kZXgrKyxufWZ1bmN0aW9uIGFPKGUsdCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/dChlKTp0fWZ1bmN0aW9uIGF6KGUpe3JldHVybiBhTChhXygpLGFvLGUpfWZ1bmN0aW9uIGFMKGUsdCxuKXt2YXIgcj1lLnF1ZXVlO2lmKG51bGw9PT1yKXRocm93IEVycm9yKHUoMzExKSk7ci5sYXN0UmVuZGVyZWRSZWR1Y2VyPW47dmFyIGw9ZS5iYXNlUXVldWUsYT1yLnBlbmRpbmc7aWYobnVsbCE9PWEpe2lmKG51bGwhPT1sKXt2YXIgbz1sLm5leHQ7bC5uZXh0PWEubmV4dCxhLm5leHQ9b310LmJhc2VRdWV1ZT1sPWEsci5wZW5kaW5nPW51bGx9aWYoYT1lLmJhc2VTdGF0ZSxudWxsPT09bCllLm1lbW9pemVkU3RhdGU9YTtlbHNle3Q9bC5uZXh0O3ZhciBpPW89bnVsbCxzPW51bGwsYz10LGY9ITE7ZG97dmFyIGQ9LTB4MjAwMDAwMDEmYy5sYW5lO2lmKGQhPT1jLmxhbmU/KHVfJmQpPT09ZDooYWwmZCk9PT1kKXt2YXIgcD1jLnJldmVydExhbmU7aWYoMD09PXApbnVsbCE9PXMmJihzPXMubmV4dD17bGFuZTowLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0pLGQ9PT1sbSYmKGY9ITApO2Vsc2UgaWYoKGFsJnApPT09cCl7Yz1jLm5leHQscD09PWxtJiYoZj0hMCk7Y29udGludWV9ZWxzZSBkPXtsYW5lOjAscmV2ZXJ0TGFuZTpjLnJldmVydExhbmUsZ2VzdHVyZTpudWxsLGFjdGlvbjpjLmFjdGlvbixoYXNFYWdlclN0YXRlOmMuaGFzRWFnZXJTdGF0ZSxlYWdlclN0YXRlOmMuZWFnZXJTdGF0ZSxuZXh0Om51bGx9LG51bGw9PT1zPyhpPXM9ZCxvPWEpOnM9cy5uZXh0PWQsYWEubGFuZXN8PXAsdVJ8PXA7ZD1jLmFjdGlvbixhYyYmbihhLGQpLGE9Yy5oYXNFYWdlclN0YXRlP2MuZWFnZXJTdGF0ZTpuKGEsZCl9ZWxzZSBwPXtsYW5lOmQscmV2ZXJ0TGFuZTpjLnJldmVydExhbmUsZ2VzdHVyZTpjLmdlc3R1cmUsYWN0aW9uOmMuYWN0aW9uLGhhc0VhZ2VyU3RhdGU6Yy5oYXNFYWdlclN0YXRlLGVhZ2VyU3RhdGU6Yy5lYWdlclN0YXRlLG5leHQ6bnVsbH0sbnVsbD09PXM/KGk9cz1wLG89YSk6cz1zLm5leHQ9cCxhYS5sYW5lc3w9ZCx1Unw9ZDtjPWMubmV4dH13aGlsZShudWxsIT09YyYmYyE9PXQpaWYobnVsbD09PXM/bz1hOnMubmV4dD1pLCFuQShhLGUubWVtb2l6ZWRTdGF0ZSkmJihvVT0hMCxmJiZudWxsIT09KG49bGgpKSl0aHJvdyBuO2UubWVtb2l6ZWRTdGF0ZT1hLGUuYmFzZVN0YXRlPW8sZS5iYXNlUXVldWU9cyxyLmxhc3RSZW5kZXJlZFN0YXRlPWF9cmV0dXJuIG51bGw9PT1sJiYoci5sYW5lcz0wKSxbZS5tZW1vaXplZFN0YXRlLHIuZGlzcGF0Y2hdfWZ1bmN0aW9uIGFSKGUpe3ZhciB0PWFfKCksbj10LnF1ZXVlO2lmKG51bGw9PT1uKXRocm93IEVycm9yKHUoMzExKSk7bi5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIHI9bi5kaXNwYXRjaCxsPW4ucGVuZGluZyxhPXQubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09bCl7bi5wZW5kaW5nPW51bGw7dmFyIG89bD1sLm5leHQ7ZG8gYT1lKGEsby5hY3Rpb24pLG89by5uZXh0O3doaWxlKG8hPT1sKW5BKGEsdC5tZW1vaXplZFN0YXRlKXx8KG9VPSEwKSx0Lm1lbW9pemVkU3RhdGU9YSxudWxsPT09dC5iYXNlUXVldWUmJih0LmJhc2VTdGF0ZT1hKSxuLmxhc3RSZW5kZXJlZFN0YXRlPWF9cmV0dXJuW2Escl19ZnVuY3Rpb24gYU0oZSx0LG4pe3ZhciByPWFhLGw9YV8oKSxhPXIkO2lmKGEpe2lmKHZvaWQgMD09PW4pdGhyb3cgRXJyb3IodSg0MDcpKTtuPW4oKX1lbHNlIG49dCgpO3ZhciBvPSFuQSgoYW98fGwpLm1lbW9pemVkU3RhdGUsbik7aWYobyYmKGwubWVtb2l6ZWRTdGF0ZT1uLG9VPSEwKSxsPWwucXVldWUsYTgoYUYuYmluZChudWxsLHIsbCxlKSxbZV0pLGwuZ2V0U25hcHNob3QhPT10fHxvfHxudWxsIT09YWkmJjEmYWkubWVtb2l6ZWRTdGF0ZS50YWcpe2lmKHIuZmxhZ3N8PTIwNDgsYTAoOSx7ZGVzdHJveTp2b2lkIDB9LGFELmJpbmQobnVsbCxyLGwsbix0KSxudWxsKSxudWxsPT09dUUpdGhyb3cgRXJyb3IodSgzNDkpKTthfHwwIT0oMTI3JmFsKXx8YUkocix0LG4pfXJldHVybiBufWZ1bmN0aW9uIGFJKGUsdCxuKXtlLmZsYWdzfD0xNjM4NCxlPXtnZXRTbmFwc2hvdDp0LHZhbHVlOm59LG51bGw9PT0odD1hYS51cGRhdGVRdWV1ZSk/KHQ9YVAoKSxhYS51cGRhdGVRdWV1ZT10LHQuc3RvcmVzPVtlXSk6bnVsbD09PShuPXQuc3RvcmVzKT90LnN0b3Jlcz1bZV06bi5wdXNoKGUpfWZ1bmN0aW9uIGFEKGUsdCxuLHIpe3QudmFsdWU9bix0LmdldFNuYXBzaG90PXIsYUEodCkmJmFqKGUpfWZ1bmN0aW9uIGFGKGUsdCxuKXtyZXR1cm4gbihmdW5jdGlvbigpe2FBKHQpJiZhaihlKX0pfWZ1bmN0aW9uIGFBKGUpe3ZhciB0PWUuZ2V0U25hcHNob3Q7ZT1lLnZhbHVlO3RyeXt2YXIgbj10KCk7cmV0dXJuIW5BKGUsbil9Y2F0Y2goZSl7cmV0dXJuITB9fWZ1bmN0aW9uIGFqKGUpe3ZhciB0PXJkKGUsMik7bnVsbCE9PXQmJnU2KHQsZSwyKX1mdW5jdGlvbiBhVShlKXt2YXIgdD1heCgpO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlJiYoZT1lKCkpLHQubWVtb2l6ZWRTdGF0ZT10LmJhc2VTdGF0ZT1lLHQucXVldWU9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTplfSx0fWZ1bmN0aW9uIGFCKGUsdCxuLHIpe3JldHVybiBlLmJhc2VTdGF0ZT1uLGFMKGUsYW8sImZ1bmN0aW9uIj09dHlwZW9mIHI/cjphTyl9ZnVuY3Rpb24gYVYoZSx0LG4scixsKXtpZihvYihlKSl0aHJvdyBFcnJvcih1KDQ4NSkpO2lmKG51bGwhPT0oZT10LmFjdGlvbikpe3ZhciBhPXtwYXlsb2FkOmwsYWN0aW9uOmUsbmV4dDpudWxsLGlzVHJhbnNpdGlvbjohMCxzdGF0dXM6InBlbmRpbmciLHZhbHVlOm51bGwscmVhc29uOm51bGwsbGlzdGVuZXJzOltdLHRoZW46ZnVuY3Rpb24oZSl7YS5saXN0ZW5lcnMucHVzaChlKX19O251bGwhPT1XLlQ/bighMCk6YS5pc1RyYW5zaXRpb249ITEscihhKSxudWxsPT09KG49dC5wZW5kaW5nKT8oYS5uZXh0PXQucGVuZGluZz1hLGFIKHQsYSkpOihhLm5leHQ9bi5uZXh0LHQucGVuZGluZz1uLm5leHQ9YSl9fWZ1bmN0aW9uIGFIKGUsdCl7dmFyIG49dC5hY3Rpb24scj10LnBheWxvYWQsbD1lLnN0YXRlO2lmKHQuaXNUcmFuc2l0aW9uKXt2YXIgYT1XLlQsbz17fTtvLnR5cGVzPW51bGwhPT1hP2EudHlwZXM6bnVsbCxXLlQ9bzt0cnl7dmFyIGk9bihsLHIpLHU9Vy5TO251bGwhPT11JiZ1KG8saSksYSQoZSx0LGkpfWNhdGNoKG4pe2FXKGUsdCxuKX1maW5hbGx5e251bGwhPT1hJiZudWxsIT09by50eXBlcyYmKGEudHlwZXM9by50eXBlcyksVy5UPWF9fWVsc2UgdHJ5e2E9bihsLHIpLGEkKGUsdCxhKX1jYXRjaChuKXthVyhlLHQsbil9fWZ1bmN0aW9uIGEkKGUsdCxuKXtudWxsIT09biYmIm9iamVjdCI9PXR5cGVvZiBuJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi50aGVuP24udGhlbihmdW5jdGlvbihuKXthUShlLHQsbil9LGZ1bmN0aW9uKG4pe3JldHVybiBhVyhlLHQsbil9KTphUShlLHQsbil9ZnVuY3Rpb24gYVEoZSx0LG4pe3Quc3RhdHVzPSJmdWxmaWxsZWQiLHQudmFsdWU9bixhcSh0KSxlLnN0YXRlPW4sbnVsbCE9PSh0PWUucGVuZGluZykmJigobj10Lm5leHQpPT09dD9lLnBlbmRpbmc9bnVsbDoobj1uLm5leHQsdC5uZXh0PW4sYUgoZSxuKSkpfWZ1bmN0aW9uIGFXKGUsdCxuKXt2YXIgcj1lLnBlbmRpbmc7aWYoZS5wZW5kaW5nPW51bGwsbnVsbCE9PXIpe3I9ci5uZXh0O2RvIHQuc3RhdHVzPSJyZWplY3RlZCIsdC5yZWFzb249bixhcSh0KSx0PXQubmV4dDt3aGlsZSh0IT09cil9ZS5hY3Rpb249bnVsbH1mdW5jdGlvbiBhcShlKXtlPWUubGlzdGVuZXJzO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKSgwLGVbdF0pKCl9ZnVuY3Rpb24gYUsoZSx0KXtyZXR1cm4gdH1mdW5jdGlvbiBhWChlLHQpe2lmKHIkKXt2YXIgbj11RS5mb3JtU3RhdGU7aWYobnVsbCE9PW4pe2U6e3ZhciByPWFhO2lmKHIkKXtpZihySCl7dDp7Zm9yKHZhciBsPXJILGE9clc7OCE9PWwubm9kZVR5cGU7KWlmKCFhfHxudWxsPT09KGw9Y1EobC5uZXh0U2libGluZykpKXtsPW51bGw7YnJlYWsgdH1sPSJGISI9PT0oYT1sLmRhdGEpfHwiRiI9PT1hP2w6bnVsbH1pZihsKXtySD1jUShsLm5leHRTaWJsaW5nKSxyPSJGISI9PT1sLmRhdGE7YnJlYWsgZX19cksocil9cj0hMX1yJiYodD1uWzBdKX19cmV0dXJuKG49YXgoKSkubWVtb2l6ZWRTdGF0ZT1uLmJhc2VTdGF0ZT10LHI9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphSyxsYXN0UmVuZGVyZWRTdGF0ZTp0fSxuLnF1ZXVlPXIsbj1vZy5iaW5kKG51bGwsYWEsciksci5kaXNwYXRjaD1uLHI9YVUoITEpLGE9b3kuYmluZChudWxsLGFhLCExLHIucXVldWUpLHI9YXgoKSxsPXtzdGF0ZTp0LGRpc3BhdGNoOm51bGwsYWN0aW9uOmUscGVuZGluZzpudWxsfSxyLnF1ZXVlPWwsbj1hVi5iaW5kKG51bGwsYWEsbCxhLG4pLGwuZGlzcGF0Y2g9bixyLm1lbW9pemVkU3RhdGU9ZSxbdCxuLCExXX1mdW5jdGlvbiBhRyhlKXtyZXR1cm4gYVkoYV8oKSxhbyxlKX1mdW5jdGlvbiBhWShlLHQsbil7aWYodD1hTChlLHQsYUspWzBdLGU9YXooYU8pWzBdLCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pdHJ5e3ZhciByPWFOKHQpfWNhdGNoKGUpe2lmKGU9PT1sUyl0aHJvdyBseDt0aHJvdyBlfWVsc2Ugcj10O3ZhciBsPSh0PWFfKCkpLnF1ZXVlLGE9bC5kaXNwYXRjaDtyZXR1cm4gbiE9PXQubWVtb2l6ZWRTdGF0ZSYmKGFhLmZsYWdzfD0yMDQ4LGEwKDkse2Rlc3Ryb3k6dm9pZCAwfSxhSi5iaW5kKG51bGwsbCxuKSxudWxsKSksW3IsYSxlXX1mdW5jdGlvbiBhSihlLHQpe2UuYWN0aW9uPXR9ZnVuY3Rpb24gYVooZSl7dmFyIHQ9YV8oKSxuPWFvO2lmKG51bGwhPT1uKXJldHVybiBhWSh0LG4sZSk7YV8oKSx0PXQubWVtb2l6ZWRTdGF0ZTt2YXIgcj0obj1hXygpKS5xdWV1ZS5kaXNwYXRjaDtyZXR1cm4gbi5tZW1vaXplZFN0YXRlPWUsW3QsciwhMV19ZnVuY3Rpb24gYTAoZSx0LG4scil7cmV0dXJuIGU9e3RhZzplLGNyZWF0ZTpuLGRlcHM6cixpbnN0OnQsbmV4dDpudWxsfSxudWxsPT09KHQ9YWEudXBkYXRlUXVldWUpJiYodD1hUCgpLGFhLnVwZGF0ZVF1ZXVlPXQpLG51bGw9PT0obj10Lmxhc3RFZmZlY3QpP3QubGFzdEVmZmVjdD1lLm5leHQ9ZToocj1uLm5leHQsbi5uZXh0PWUsZS5uZXh0PXIsdC5sYXN0RWZmZWN0PWUpLGV9ZnVuY3Rpb24gYTEoKXtyZXR1cm4gYV8oKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIGEyKGUsdCxuLHIpe3ZhciBsPWF4KCk7YWEuZmxhZ3N8PWUsbC5tZW1vaXplZFN0YXRlPWEwKDF8dCx7ZGVzdHJveTp2b2lkIDB9LG4sdm9pZCAwPT09cj9udWxsOnIpfWZ1bmN0aW9uIGEzKGUsdCxuLHIpe3ZhciBsPWFfKCk7cj12b2lkIDA9PT1yP251bGw6cjt2YXIgYT1sLm1lbW9pemVkU3RhdGUuaW5zdDtudWxsIT09YW8mJm51bGwhPT1yJiZhZyhyLGFvLm1lbW9pemVkU3RhdGUuZGVwcyk/bC5tZW1vaXplZFN0YXRlPWEwKHQsYSxuLHIpOihhYS5mbGFnc3w9ZSxsLm1lbW9pemVkU3RhdGU9YTAoMXx0LGEsbixyKSl9ZnVuY3Rpb24gYTQoZSx0KXthMig4MzkwNjU2LDgsZSx0KX1mdW5jdGlvbiBhOChlLHQpe2EzKDIwNDgsOCxlLHQpfWZ1bmN0aW9uIGE1KGUpe3ZhciB0PWFfKCkubWVtb2l6ZWRTdGF0ZSxuPXtyZWY6dCxuZXh0SW1wbDplfTthYS5mbGFnc3w9NDt2YXIgcj1hYS51cGRhdGVRdWV1ZTtpZihudWxsPT09cilyPWFQKCksYWEudXBkYXRlUXVldWU9cixyLmV2ZW50cz1bbl07ZWxzZXt2YXIgbD1yLmV2ZW50cztudWxsPT09bD9yLmV2ZW50cz1bbl06bC5wdXNoKG4pfXJldHVybiBmdW5jdGlvbigpe2lmKDAhPSgyJnVTKSl0aHJvdyBFcnJvcih1KDQ0MCkpO3JldHVybiB0LmltcGwuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fWZ1bmN0aW9uIGE2KGUsdCl7cmV0dXJuIGEzKDQsMixlLHQpfWZ1bmN0aW9uIGE5KGUsdCl7cmV0dXJuIGEzKDQsNCxlLHQpfWZ1bmN0aW9uIGE3KGUsdCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpe3ZhciBuPXQoZT1lKCkpO3JldHVybiBmdW5jdGlvbigpeyJmdW5jdGlvbiI9PXR5cGVvZiBuP24oKTp0KG51bGwpfX1pZihudWxsIT10KXJldHVybiB0LmN1cnJlbnQ9ZT1lKCksZnVuY3Rpb24oKXt0LmN1cnJlbnQ9bnVsbH19ZnVuY3Rpb24gb2UoZSx0LG4pe249bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsYTMoNCw0LGE3LmJpbmQobnVsbCx0LGUpLG4pfWZ1bmN0aW9uIG90KCl7fWZ1bmN0aW9uIG9uKGUsdCl7dmFyIG49YV8oKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPW4ubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXQmJmFnKHQsclsxXSk/clswXToobi5tZW1vaXplZFN0YXRlPVtlLHRdLGUpfWZ1bmN0aW9uIG9yKGUsdCl7dmFyIG49YV8oKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPW4ubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PXQmJmFnKHQsclsxXSk/clswXToobi5tZW1vaXplZFN0YXRlPVtyPWUoKSx0XSxyKX1mdW5jdGlvbiBvbChlLHQsbil7cmV0dXJuIHZvaWQgMD09PW58fDAhPSgweDQwMDAwMDAwJmFsKSYmMD09KDI2MTkzMCZ1Xyk/ZS5tZW1vaXplZFN0YXRlPXQ6KGUubWVtb2l6ZWRTdGF0ZT1uLGU9dTgoKSxhYS5sYW5lc3w9ZSx1Unw9ZSxuKX1mdW5jdGlvbiBvYShlLHQsbixyKXtyZXR1cm4gbkEobix0KT9uOm51bGwhPT1sSi5jdXJyZW50PyhuQShlPW9sKGUsbixyKSx0KXx8KG9VPSEwKSxlKTowPT0oNDImYWwpfHwwIT0oMHg0MDAwMDAwMCZhbCkmJjA9PSgyNjE5MzAmdV8pPyhvVT0hMCxlLm1lbW9pemVkU3RhdGU9bik6KGU9dTgoKSxhYS5sYW5lc3w9ZSx1Unw9ZSx0KX1mdW5jdGlvbiBvbyhlLHQsbixyLGwpe3ZhciBhPXEucDtxLnA9MCE9PWEmJjg+YT9hOjg7dmFyIG89Vy5ULGk9e307aS50eXBlcz1udWxsIT09bz9vLnR5cGVzOm51bGwsVy5UPWksb3koZSwhMSx0LG4pO3RyeXt2YXIgdT1sKCkscz1XLlM7aWYobnVsbCE9PXMmJnMoaSx1KSxudWxsIT09dSYmIm9iamVjdCI9PXR5cGVvZiB1JiYiZnVuY3Rpb24iPT10eXBlb2YgdS50aGVuKXt2YXIgYyxmLGQ9KGM9W10sZj17c3RhdHVzOiJwZW5kaW5nIix2YWx1ZTpudWxsLHJlYXNvbjpudWxsLHRoZW46ZnVuY3Rpb24oZSl7Yy5wdXNoKGUpfX0sdS50aGVuKGZ1bmN0aW9uKCl7Zi5zdGF0dXM9ImZ1bGZpbGxlZCIsZi52YWx1ZT1yO2Zvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKSgwLGNbZV0pKHIpfSxmdW5jdGlvbihlKXtmb3IoZi5zdGF0dXM9InJlamVjdGVkIixmLnJlYXNvbj1lLGU9MDtlPGMubGVuZ3RoO2UrKykoMCxjW2VdKSh2b2lkIDApfSksZik7b3YoZSx0LGQsdTQoZSkpfWVsc2Ugb3YoZSx0LHIsdTQoZSkpfWNhdGNoKG4pe292KGUsdCx7dGhlbjpmdW5jdGlvbigpe30sc3RhdHVzOiJyZWplY3RlZCIscmVhc29uOm59LHU0KCkpfWZpbmFsbHl7cS5wPWEsbnVsbCE9PW8mJm51bGwhPT1pLnR5cGVzJiYoby50eXBlcz1pLnR5cGVzKSxXLlQ9b319ZnVuY3Rpb24gb2koKXt9ZnVuY3Rpb24gb3UoZSx0LG4scil7aWYoNSE9PWUudGFnKXRocm93IEVycm9yKHUoNDc2KSk7dmFyIGw9b3MoZSkucXVldWU7b28oZSxsLHQsSyxudWxsPT09bj9vaTpmdW5jdGlvbigpe3JldHVybiBvYyhlKSxuKHIpfSl9ZnVuY3Rpb24gb3MoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlO2lmKG51bGwhPT10KXJldHVybiB0O3ZhciBuPXt9O3JldHVybih0PXttZW1vaXplZFN0YXRlOkssYmFzZVN0YXRlOkssYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTpLfSxuZXh0Om51bGx9KS5uZXh0PXttZW1vaXplZFN0YXRlOm4sYmFzZVN0YXRlOm4sYmFzZVF1ZXVlOm51bGwscXVldWU6e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjphTyxsYXN0UmVuZGVyZWRTdGF0ZTpufSxuZXh0Om51bGx9LGUubWVtb2l6ZWRTdGF0ZT10LG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJihlLm1lbW9pemVkU3RhdGU9dCksdH1mdW5jdGlvbiBvYyhlKXt2YXIgdD1vcyhlKTtudWxsPT09dC5uZXh0JiYodD1lLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlKSxvdihlLHQubmV4dC5xdWV1ZSx7fSx1NCgpKX1mdW5jdGlvbiBvZigpe3JldHVybiBsdChmdil9ZnVuY3Rpb24gb2QoKXtyZXR1cm4gYV8oKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIG9wKCl7cmV0dXJuIGFfKCkubWVtb2l6ZWRTdGF0ZX1mdW5jdGlvbiBvbShlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtzd2l0Y2godC50YWcpe2Nhc2UgMjQ6Y2FzZSAzOnZhciBuPXU0KCkscj1sJCh0LGU9bEgobiksbik7bnVsbCE9PXImJih1NihyLHQsbiksbFEocix0LG4pKSx0PXtjYWNoZTpsdSgpfSxlLnBheWxvYWQ9dDtyZXR1cm59dD10LnJldHVybn19ZnVuY3Rpb24gb2goZSx0LG4pe3ZhciByPXU0KCk7bj17bGFuZTpyLHJldmVydExhbmU6MCxnZXN0dXJlOm51bGwsYWN0aW9uOm4saGFzRWFnZXJTdGF0ZTohMSxlYWdlclN0YXRlOm51bGwsbmV4dDpudWxsfSxvYihlKT9vdyh0LG4pOm51bGwhPT0obj1yZihlLHQsbixyKSkmJih1NihuLGUsciksb2sobix0LHIpKX1mdW5jdGlvbiBvZyhlLHQsbil7b3YoZSx0LG4sdTQoKSl9ZnVuY3Rpb24gb3YoZSx0LG4scil7dmFyIGw9e2xhbmU6cixyZXZlcnRMYW5lOjAsZ2VzdHVyZTpudWxsLGFjdGlvbjpuLGhhc0VhZ2VyU3RhdGU6ITEsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH07aWYob2IoZSkpb3codCxsKTtlbHNle3ZhciBhPWUuYWx0ZXJuYXRlO2lmKDA9PT1lLmxhbmVzJiYobnVsbD09PWF8fDA9PT1hLmxhbmVzKSYmbnVsbCE9PShhPXQubGFzdFJlbmRlcmVkUmVkdWNlcikpdHJ5e3ZhciBvPXQubGFzdFJlbmRlcmVkU3RhdGUsaT1hKG8sbik7aWYobC5oYXNFYWdlclN0YXRlPSEwLGwuZWFnZXJTdGF0ZT1pLG5BKGksbykpcmV0dXJuIHJjKGUsdCxsLDApLG51bGw9PT11RSYmcnMoKSwhMX1jYXRjaChlKXt9ZmluYWxseXt9aWYobnVsbCE9PShuPXJmKGUsdCxsLHIpKSlyZXR1cm4gdTYobixlLHIpLG9rKG4sdCxyKSwhMH1yZXR1cm4hMX1mdW5jdGlvbiBveShlLHQsbixyKXtpZihyPXtsYW5lOjIscmV2ZXJ0TGFuZTpzJCgpLGdlc3R1cmU6bnVsbCxhY3Rpb246cixoYXNFYWdlclN0YXRlOiExLGVhZ2VyU3RhdGU6bnVsbCxuZXh0Om51bGx9LG9iKGUpKXtpZih0KXRocm93IEVycm9yKHUoNDc5KSl9ZWxzZSBudWxsIT09KHQ9cmYoZSxuLHIsMikpJiZ1Nih0LGUsMil9ZnVuY3Rpb24gb2IoZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7cmV0dXJuIGU9PT1hYXx8bnVsbCE9PXQmJnQ9PT1hYX1mdW5jdGlvbiBvdyhlLHQpe2FzPWF1PSEwO3ZhciBuPWUucGVuZGluZztudWxsPT09bj90Lm5leHQ9dDoodC5uZXh0PW4ubmV4dCxuLm5leHQ9dCksZS5wZW5kaW5nPXR9ZnVuY3Rpb24gb2soZSx0LG4pe2lmKDAhPSg0MTk0MDQ4Jm4pKXt2YXIgcj10LmxhbmVzO3ImPWUucGVuZGluZ0xhbmVzLHQubGFuZXM9bnw9cixlaihlLG4pfX12YXIgb1M9e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazphaCx1c2VDb250ZXh0OmFoLHVzZUVmZmVjdDphaCx1c2VJbXBlcmF0aXZlSGFuZGxlOmFoLHVzZUxheW91dEVmZmVjdDphaCx1c2VJbnNlcnRpb25FZmZlY3Q6YWgsdXNlTWVtbzphaCx1c2VSZWR1Y2VyOmFoLHVzZVJlZjphaCx1c2VTdGF0ZTphaCx1c2VEZWJ1Z1ZhbHVlOmFoLHVzZURlZmVycmVkVmFsdWU6YWgsdXNlVHJhbnNpdGlvbjphaCx1c2VTeW5jRXh0ZXJuYWxTdG9yZTphaCx1c2VJZDphaCx1c2VIb3N0VHJhbnNpdGlvblN0YXR1czphaCx1c2VGb3JtU3RhdGU6YWgsdXNlQWN0aW9uU3RhdGU6YWgsdXNlT3B0aW1pc3RpYzphaCx1c2VNZW1vQ2FjaGU6YWgsdXNlQ2FjaGVSZWZyZXNoOmFofTtvUy51c2VFZmZlY3RFdmVudD1haDt2YXIgb0U9e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazpmdW5jdGlvbihlLHQpe3JldHVybiBheCgpLm1lbW9pemVkU3RhdGU9W2Usdm9pZCAwPT09dD9udWxsOnRdLGV9LHVzZUNvbnRleHQ6bHQsdXNlRWZmZWN0OmE0LHVzZUltcGVyYXRpdmVIYW5kbGU6ZnVuY3Rpb24oZSx0LG4pe249bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsYTIoNDE5NDMwOCw0LGE3LmJpbmQobnVsbCx0LGUpLG4pfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYTIoNDE5NDMwOCw0LGUsdCl9LHVzZUluc2VydGlvbkVmZmVjdDpmdW5jdGlvbihlLHQpe2EyKDQsMixlLHQpfSx1c2VNZW1vOmZ1bmN0aW9uKGUsdCl7dmFyIG49YXgoKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciByPWUoKTtyZXR1cm4gbi5tZW1vaXplZFN0YXRlPVtyLHRdLHJ9LHVzZVJlZHVjZXI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWF4KCk7aWYodm9pZCAwIT09bil2YXIgbD1uKHQpO2Vsc2UgbD10O3JldHVybiByLm1lbW9pemVkU3RhdGU9ci5iYXNlU3RhdGU9bCxyLnF1ZXVlPWU9e3BlbmRpbmc6bnVsbCxsYW5lczowLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOmx9LGU9ZS5kaXNwYXRjaD1vaC5iaW5kKG51bGwsYWEsZSksW3IubWVtb2l6ZWRTdGF0ZSxlXX0sdXNlUmVmOmZ1bmN0aW9uKGUpe3JldHVybiBheCgpLm1lbW9pemVkU3RhdGU9e2N1cnJlbnQ6ZX19LHVzZVN0YXRlOmZ1bmN0aW9uKGUpe3ZhciB0PShlPWFVKGUpKS5xdWV1ZSxuPW9nLmJpbmQobnVsbCxhYSx0KTtyZXR1cm4gdC5kaXNwYXRjaD1uLFtlLm1lbW9pemVkU3RhdGUsbl19LHVzZURlYnVnVmFsdWU6b3QsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBvbChheCgpLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1hVSghMSk7cmV0dXJuIGU9b28uYmluZChudWxsLGFhLGUucXVldWUsITAsITEpLGF4KCkubWVtb2l6ZWRTdGF0ZT1lLFshMSxlXX0sdXNlU3luY0V4dGVybmFsU3RvcmU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWFhLGw9YXgoKTtpZihyJCl7aWYodm9pZCAwPT09bil0aHJvdyBFcnJvcih1KDQwNykpO249bigpfWVsc2V7aWYobj10KCksbnVsbD09PXVFKXRocm93IEVycm9yKHUoMzQ5KSk7MCE9KDEyNyZ1Xyl8fGFJKHIsdCxuKX1sLm1lbW9pemVkU3RhdGU9bjt2YXIgYT17dmFsdWU6bixnZXRTbmFwc2hvdDp0fTtyZXR1cm4gbC5xdWV1ZT1hLGE0KGFGLmJpbmQobnVsbCxyLGEsZSksW2VdKSxyLmZsYWdzfD0yMDQ4LGEwKDkse2Rlc3Ryb3k6dm9pZCAwfSxhRC5iaW5kKG51bGwscixhLG4sdCksbnVsbCksbn0sdXNlSWQ6ZnVuY3Rpb24oKXt2YXIgZT1heCgpLHQ9dUUuaWRlbnRpZmllclByZWZpeDtpZihyJCl7dmFyIG49ckQscj1ySTt0PSJfIit0KyJSXyIrKG49KHImfigxPDwzMi1lUChyKS0xKSkudG9TdHJpbmcoMzIpK24pLDA8KG49YWYrKykmJih0Kz0iSCIrbi50b1N0cmluZygzMikpLHQrPSJfIn1lbHNlIHQ9Il8iK3QrInJfIisobj1hbSsrKS50b1N0cmluZygzMikrIl8iO3JldHVybiBlLm1lbW9pemVkU3RhdGU9dH0sdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFYLHVzZUFjdGlvblN0YXRlOmFYLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSl7dmFyIHQ9YXgoKTt0Lm1lbW9pemVkU3RhdGU9dC5iYXNlU3RhdGU9ZTt2YXIgbj17cGVuZGluZzpudWxsLGxhbmVzOjAsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOm51bGwsbGFzdFJlbmRlcmVkU3RhdGU6bnVsbH07cmV0dXJuIHQucXVldWU9bix0PW95LmJpbmQobnVsbCxhYSwhMCxuKSxuLmRpc3BhdGNoPXQsW2UsdF19LHVzZU1lbW9DYWNoZTphVCx1c2VDYWNoZVJlZnJlc2g6ZnVuY3Rpb24oKXtyZXR1cm4gYXgoKS5tZW1vaXplZFN0YXRlPW9tLmJpbmQobnVsbCxhYSl9LHVzZUVmZmVjdEV2ZW50OmZ1bmN0aW9uKGUpe3ZhciB0PWF4KCksbj17aW1wbDplfTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPW4sZnVuY3Rpb24oKXtpZigwIT0oMiZ1UykpdGhyb3cgRXJyb3IodSg0NDApKTtyZXR1cm4gbi5pbXBsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LG94PXtyZWFkQ29udGV4dDpsdCx1c2U6YUMsdXNlQ2FsbGJhY2s6b24sdXNlQ29udGV4dDpsdCx1c2VFZmZlY3Q6YTgsdXNlSW1wZXJhdGl2ZUhhbmRsZTpvZSx1c2VJbnNlcnRpb25FZmZlY3Q6YTYsdXNlTGF5b3V0RWZmZWN0OmE5LHVzZU1lbW86b3IsdXNlUmVkdWNlcjpheix1c2VSZWY6YTEsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gYXooYU8pfSx1c2VEZWJ1Z1ZhbHVlOm90LHVzZURlZmVycmVkVmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gb2EoYV8oKSxhby5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1heihhTylbMF0sdD1hXygpLm1lbW9pemVkU3RhdGU7cmV0dXJuWyJib29sZWFuIj09dHlwZW9mIGU/ZTphTihlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6YU0sdXNlSWQ6b2QsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFHLHVzZUFjdGlvblN0YXRlOmFHLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYUIoYV8oKSxhbyxlLHQpfSx1c2VNZW1vQ2FjaGU6YVQsdXNlQ2FjaGVSZWZyZXNoOm9wfTtveC51c2VFZmZlY3RFdmVudD1hNTt2YXIgb189e3JlYWRDb250ZXh0Omx0LHVzZTphQyx1c2VDYWxsYmFjazpvbix1c2VDb250ZXh0Omx0LHVzZUVmZmVjdDphOCx1c2VJbXBlcmF0aXZlSGFuZGxlOm9lLHVzZUluc2VydGlvbkVmZmVjdDphNix1c2VMYXlvdXRFZmZlY3Q6YTksdXNlTWVtbzpvcix1c2VSZWR1Y2VyOmFSLHVzZVJlZjphMSx1c2VTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBhUihhTyl9LHVzZURlYnVnVmFsdWU6b3QsdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPWFfKCk7cmV0dXJuIG51bGw9PT1hbz9vbChuLGUsdCk6b2Eobixhby5tZW1vaXplZFN0YXRlLGUsdCl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oKXt2YXIgZT1hUihhTylbMF0sdD1hXygpLm1lbW9pemVkU3RhdGU7cmV0dXJuWyJib29sZWFuIj09dHlwZW9mIGU/ZTphTihlKSx0XX0sdXNlU3luY0V4dGVybmFsU3RvcmU6YU0sdXNlSWQ6b2QsdXNlSG9zdFRyYW5zaXRpb25TdGF0dXM6b2YsdXNlRm9ybVN0YXRlOmFaLHVzZUFjdGlvblN0YXRlOmFaLHVzZU9wdGltaXN0aWM6ZnVuY3Rpb24oZSx0KXt2YXIgbj1hXygpO3JldHVybiBudWxsIT09YW8/YUIobixhbyxlLHQpOihuLmJhc2VTdGF0ZT1lLFtlLG4ucXVldWUuZGlzcGF0Y2hdKX0sdXNlTWVtb0NhY2hlOmFULHVzZUNhY2hlUmVmcmVzaDpvcH07ZnVuY3Rpb24gb1AoZSx0LG4scil7bj1udWxsPT0obj1uKHIsdD1lLm1lbW9pemVkU3RhdGUpKT90Ongoe30sdCxuKSxlLm1lbW9pemVkU3RhdGU9biwwPT09ZS5sYW5lcyYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPW4pfW9fLnVzZUVmZmVjdEV2ZW50PWE1O3ZhciBvTj17ZW5xdWV1ZVNldFN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXU0KCksbD1sSChyKTtsLnBheWxvYWQ9dCxudWxsIT1uJiYobC5jYWxsYmFjaz1uKSxudWxsIT09KHQ9bCQoZSxsLHIpKSYmKHU2KHQsZSxyKSxsUSh0LGUscikpfSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKGUsdCxuKXtlPWUuX3JlYWN0SW50ZXJuYWxzO3ZhciByPXU0KCksbD1sSChyKTtsLnRhZz0xLGwucGF5bG9hZD10LG51bGwhPW4mJihsLmNhbGxiYWNrPW4pLG51bGwhPT0odD1sJChlLGwscikpJiYodTYodCxlLHIpLGxRKHQsZSxyKSl9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbihlLHQpe2U9ZS5fcmVhY3RJbnRlcm5hbHM7dmFyIG49dTQoKSxyPWxIKG4pO3IudGFnPTIsbnVsbCE9dCYmKHIuY2FsbGJhY2s9dCksbnVsbCE9PSh0PWwkKGUscixuKSkmJih1Nih0LGUsbiksbFEodCxlLG4pKX19O2Z1bmN0aW9uIG9DKGUsdCxuLHIsbCxhLG8pe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZihlPWUuc3RhdGVOb2RlKS5zaG91bGRDb21wb25lbnRVcGRhdGU/ZS5zaG91bGRDb21wb25lbnRVcGRhdGUocixhLG8pOiF0LnByb3RvdHlwZXx8IXQucHJvdG90eXBlLmlzUHVyZVJlYWN0Q29tcG9uZW50fHwhbmoobixyKXx8IW5qKGwsYSl9ZnVuY3Rpb24gb1QoZSx0LG4scil7ZT10LnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMmJnQuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLHIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZ0LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG4sciksdC5zdGF0ZSE9PWUmJm9OLmVucXVldWVSZXBsYWNlU3RhdGUodCx0LnN0YXRlLG51bGwpfWZ1bmN0aW9uIG9PKGUsdCl7dmFyIG49dDtpZigicmVmImluIHQpZm9yKHZhciByIGluIG49e30sdCkicmVmIiE9PXImJihuW3JdPXRbcl0pO2lmKGU9ZS5kZWZhdWx0UHJvcHMpZm9yKHZhciBsIGluIG49PT10JiYobj14KHt9LG4pKSxlKXZvaWQgMD09PW5bbF0mJihuW2xdPWVbbF0pO3JldHVybiBufWZ1bmN0aW9uIG96KGUpe3JhKGUpfWZ1bmN0aW9uIG9MKGUpe2NvbnNvbGUuZXJyb3IoZSl9ZnVuY3Rpb24gb1IoZSl7cmEoZSl9ZnVuY3Rpb24gb00oZSx0KXt0cnl7KDAsZS5vblVuY2F1Z2h0RXJyb3IpKHQudmFsdWUse2NvbXBvbmVudFN0YWNrOnQuc3RhY2t9KX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgZX0pfX1mdW5jdGlvbiBvSShlLHQsbil7dHJ5eygwLGUub25DYXVnaHRFcnJvcikobi52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bi5zdGFjayxlcnJvckJvdW5kYXJ5OjE9PT10LnRhZz90LnN0YXRlTm9kZTpudWxsfSl9Y2F0Y2goZSl7c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGV9KX19ZnVuY3Rpb24gb0QoZSx0LG4pe3JldHVybihuPWxIKG4pKS50YWc9MyxuLnBheWxvYWQ9e2VsZW1lbnQ6bnVsbH0sbi5jYWxsYmFjaz1mdW5jdGlvbigpe29NKGUsdCl9LG59ZnVuY3Rpb24gb0YoZSl7cmV0dXJuKGU9bEgoZSkpLnRhZz0zLGV9ZnVuY3Rpb24gb0EoZSx0LG4scil7dmFyIGw9bi50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtpZigiZnVuY3Rpb24iPT10eXBlb2YgbCl7dmFyIGE9ci52YWx1ZTtlLnBheWxvYWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbChhKX0sZS5jYWxsYmFjaz1mdW5jdGlvbigpe29JKHQsbixyKX19dmFyIG89bi5zdGF0ZU5vZGU7bnVsbCE9PW8mJiJmdW5jdGlvbiI9PXR5cGVvZiBvLmNvbXBvbmVudERpZENhdGNoJiYoZS5jYWxsYmFjaz1mdW5jdGlvbigpe29JKHQsbixyKSwiZnVuY3Rpb24iIT10eXBlb2YgbCYmKG51bGw9PT11UT91UT1uZXcgU2V0KFt0aGlzXSk6dVEuYWRkKHRoaXMpKTt2YXIgZT1yLnN0YWNrO3RoaXMuY29tcG9uZW50RGlkQ2F0Y2goci52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bnVsbCE9PWU/ZToiIn0pfSl9dmFyIG9qPUVycm9yKHUoNDYxKSksb1U9ITE7ZnVuY3Rpb24gb0IoZSx0LG4scil7dC5jaGlsZD1udWxsPT09ZT9saih0LG51bGwsbixyKTpsQSh0LGUuY2hpbGQsbixyKX1mdW5jdGlvbiBvVihlLHQsbixyLGwpe249bi5yZW5kZXI7dmFyIGE9dC5yZWY7aWYoInJlZiJpbiByKXt2YXIgbz17fTtmb3IodmFyIGkgaW4gcikicmVmIiE9PWkmJihvW2ldPXJbaV0pfWVsc2Ugbz1yO3JldHVybihsZSh0KSxyPWF2KGUsdCxuLG8sYSxsKSxpPWFrKCksbnVsbD09PWV8fG9VKT8ociQmJmkmJnJqKHQpLHQuZmxhZ3N8PTEsb0IoZSx0LHIsbCksdC5jaGlsZCk6KGFTKGUsdCxsKSxpbChlLHQsbCkpfWZ1bmN0aW9uIG9IKGUsdCxuLHIsbCl7aWYobnVsbD09PWUpe3ZhciBhPW4udHlwZTtyZXR1cm4iZnVuY3Rpb24iIT10eXBlb2YgYXx8cnkoYSl8fHZvaWQgMCE9PWEuZGVmYXVsdFByb3BzfHxudWxsIT09bi5jb21wYXJlPygoZT1yayhuLnR5cGUsbnVsbCxyLHQsdC5tb2RlLGwpKS5yZWY9dC5yZWYsZS5yZXR1cm49dCx0LmNoaWxkPWUpOih0LnRhZz0xNSx0LnR5cGU9YSxvJChlLHQsYSxyLGwpKX1pZihhPWUuY2hpbGQsIWlhKGUsbCkpe3ZhciBvPWEubWVtb2l6ZWRQcm9wcztpZigobj1udWxsIT09KG49bi5jb21wYXJlKT9uOm5qKShvLHIpJiZlLnJlZj09PXQucmVmKXJldHVybiBpbChlLHQsbCl9cmV0dXJuIHQuZmxhZ3N8PTEsKGU9cmIoYSxyKSkucmVmPXQucmVmLGUucmV0dXJuPXQsdC5jaGlsZD1lfWZ1bmN0aW9uIG8kKGUsdCxuLHIsbCl7aWYobnVsbCE9PWUpe3ZhciBhPWUubWVtb2l6ZWRQcm9wcztpZihuaihhLHIpJiZlLnJlZj09PXQucmVmKWlmKG9VPSExLHQucGVuZGluZ1Byb3BzPXI9YSwhaWEoZSxsKSlyZXR1cm4gdC5sYW5lcz1lLmxhbmVzLGlsKGUsdCxsKTtlbHNlIDAhPSgxMzEwNzImZS5mbGFncykmJihvVT0hMCl9cmV0dXJuIG9ZKGUsdCxuLHIsbCl9ZnVuY3Rpb24gb1EoZSx0LG4scil7dmFyIGw9ci5jaGlsZHJlbixhPW51bGwhPT1lP2UubWVtb2l6ZWRTdGF0ZTpudWxsO2lmKG51bGw9PT1lJiZudWxsPT09dC5zdGF0ZU5vZGUmJih0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksImhpZGRlbiI9PT1yLm1vZGUpe2lmKDAhPSgxMjgmdC5mbGFncykpe2lmKGE9bnVsbCE9PWE/YS5iYXNlTGFuZXN8bjpuLG51bGwhPT1lKXtmb3IobD0wLHI9dC5jaGlsZD1lLmNoaWxkO251bGwhPT1yOylsPWx8ci5sYW5lc3xyLmNoaWxkTGFuZXMscj1yLnNpYmxpbmc7cj1sJn5hfWVsc2Ugcj0wLHQuY2hpbGQ9bnVsbDtyZXR1cm4gb3EoZSx0LGEsbixyKX1pZigwPT0oMHgyMDAwMDAwMCZuKSlyZXR1cm4gcj10LmxhbmVzPTB4MjAwMDAwMDAsb3EoZSx0LG51bGwhPT1hP2EuYmFzZUxhbmVzfG46bixuLHIpO3QubWVtb2l6ZWRTdGF0ZT17YmFzZUxhbmVzOjAsY2FjaGVQb29sOm51bGx9LG51bGwhPT1lJiZsdyh0LG51bGwhPT1hP2EuY2FjaGVQb29sOm51bGwpLG51bGwhPT1hP2wwKHQsYSk6bDEoKSxsNih0KX1lbHNlIG51bGwhPT1hPyhsdyh0LGEuY2FjaGVQb29sKSxsMCh0LGEpLGw5KCksdC5tZW1vaXplZFN0YXRlPW51bGwpOihudWxsIT09ZSYmbHcodCxudWxsKSxsMSgpLGw5KCkpO3JldHVybiBvQihlLHQsbCxuKSx0LmNoaWxkfWZ1bmN0aW9uIG9XKGUsdCl7cmV0dXJuIG51bGwhPT1lJiYyMj09PWUudGFnfHxudWxsIT09dC5zdGF0ZU5vZGV8fCh0LnN0YXRlTm9kZT17X3Zpc2liaWxpdHk6MSxfcGVuZGluZ01hcmtlcnM6bnVsbCxfcmV0cnlDYWNoZTpudWxsLF90cmFuc2l0aW9uczpudWxsfSksdC5zaWJsaW5nfWZ1bmN0aW9uIG9xKGUsdCxuLHIsbCl7dmFyIGE9bGIoKTtyZXR1cm4gdC5tZW1vaXplZFN0YXRlPXtiYXNlTGFuZXM6bixjYWNoZVBvb2w6YT1udWxsPT09YT9udWxsOntwYXJlbnQ6bGkuX2N1cnJlbnRWYWx1ZSxwb29sOmF9fSxudWxsIT09ZSYmbHcodCxudWxsKSxsMSgpLGw2KHQpLG51bGwhPT1lJiZyOShlLHQsciwhMCksdC5jaGlsZExhbmVzPWwsbnVsbH1mdW5jdGlvbiBvSyhlLHQpe3JldHVybih0PW81KHttb2RlOnQubW9kZSxjaGlsZHJlbjp0LmNoaWxkcmVufSxlLm1vZGUpKS5yZWY9ZS5yZWYsZS5jaGlsZD10LHQucmV0dXJuPWUsdH1mdW5jdGlvbiBvWChlLHQsbil7cmV0dXJuIGxBKHQsZS5jaGlsZCxudWxsLG4pLGU9b0sodCx0LnBlbmRpbmdQcm9wcyksZS5mbGFnc3w9MixsNyh0KSx0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIG9HKGUsdCl7dmFyIG49dC5yZWY7aWYobnVsbD09PW4pbnVsbCE9PWUmJm51bGwhPT1lLnJlZiYmKHQuZmxhZ3N8PTQxOTQ4MTYpO2Vsc2V7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4mJiJvYmplY3QiIT10eXBlb2Ygbil0aHJvdyBFcnJvcih1KDI4NCkpOyhudWxsPT09ZXx8ZS5yZWYhPT1uKSYmKHQuZmxhZ3N8PTQxOTQ4MTYpfX1mdW5jdGlvbiBvWShlLHQsbixyLGwpe3JldHVybihsZSh0KSxuPWF2KGUsdCxuLHIsdm9pZCAwLGwpLHI9YWsoKSxudWxsPT09ZXx8b1UpPyhyJCYmciYmcmoodCksdC5mbGFnc3w9MSxvQihlLHQsbixsKSx0LmNoaWxkKTooYVMoZSx0LGwpLGlsKGUsdCxsKSl9ZnVuY3Rpb24gb0ooZSx0LG4scixsLGEpe3JldHVybihsZSh0KSx0LnVwZGF0ZVF1ZXVlPW51bGwsbj1hYih0LHIsbixsKSxheShlKSxyPWFrKCksbnVsbD09PWV8fG9VKT8ociQmJnImJnJqKHQpLHQuZmxhZ3N8PTEsb0IoZSx0LG4sYSksdC5jaGlsZCk6KGFTKGUsdCxhKSxpbChlLHQsYSkpfWZ1bmN0aW9uIG9aKGUsdCxuLHIsbCl7aWYobGUodCksbnVsbD09PXQuc3RhdGVOb2RlKXt2YXIgYT1yaCxvPW4uY29udGV4dFR5cGU7Im9iamVjdCI9PXR5cGVvZiBvJiZudWxsIT09byYmKGE9bHQobykpLHQubWVtb2l6ZWRTdGF0ZT1udWxsIT09KGE9bmV3IG4ocixhKSkuc3RhdGUmJnZvaWQgMCE9PWEuc3RhdGU/YS5zdGF0ZTpudWxsLGEudXBkYXRlcj1vTix0LnN0YXRlTm9kZT1hLGEuX3JlYWN0SW50ZXJuYWxzPXQsKGE9dC5zdGF0ZU5vZGUpLnByb3BzPXIsYS5zdGF0ZT10Lm1lbW9pemVkU3RhdGUsYS5yZWZzPXt9LGxCKHQpLG89bi5jb250ZXh0VHlwZSxhLmNvbnRleHQ9Im9iamVjdCI9PXR5cGVvZiBvJiZudWxsIT09bz9sdChvKTpyaCxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2Yobz1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcykmJihvUCh0LG4sbyxyKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzfHwiZnVuY3Rpb24iPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50fHwobz1hLnN0YXRlLCJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudFdpbGxNb3VudCYmYS5jb21wb25lbnRXaWxsTW91bnQoKSwiZnVuY3Rpb24iPT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50JiZhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKSxvIT09YS5zdGF0ZSYmb04uZW5xdWV1ZVJlcGxhY2VTdGF0ZShhLGEuc3RhdGUsbnVsbCksbFgodCxyLGEsbCksbEsoKSxhLnN0YXRlPXQubWVtb2l6ZWRTdGF0ZSksImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSxyPSEwfWVsc2UgaWYobnVsbD09PWUpe2E9dC5zdGF0ZU5vZGU7dmFyIGk9dC5tZW1vaXplZFByb3BzLHU9b08obixpKTthLnByb3BzPXU7dmFyIHM9YS5jb250ZXh0LGM9bi5jb250ZXh0VHlwZTtvPXJoLCJvYmplY3QiPT10eXBlb2YgYyYmbnVsbCE9PWMmJihvPWx0KGMpKTt2YXIgZj1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztjPSJmdW5jdGlvbiI9PXR5cGVvZiBmfHwiZnVuY3Rpb24iPT10eXBlb2YgYS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSxpPXQucGVuZGluZ1Byb3BzIT09aSxjfHwiZnVuY3Rpb24iIT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KGl8fHMhPT1vKSYmb1QodCxhLHIsbyksbFU9ITE7dmFyIGQ9dC5tZW1vaXplZFN0YXRlO2Euc3RhdGU9ZCxsWCh0LHIsYSxsKSxsSygpLHM9dC5tZW1vaXplZFN0YXRlLGl8fGQhPT1zfHxsVT8oImZ1bmN0aW9uIj09dHlwZW9mIGYmJihvUCh0LG4sZixyKSxzPXQubWVtb2l6ZWRTdGF0ZSksKHU9bFV8fG9DKHQsbix1LHIsZCxzLG8pKT8oY3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50fHwoImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50V2lsbE1vdW50JiZhLmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJmEuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpKSwiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZmxhZ3N8PTQxOTQzMDgpKTooImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkTW91bnQmJih0LmZsYWdzfD00MTk0MzA4KSx0Lm1lbW9pemVkUHJvcHM9cix0Lm1lbW9pemVkU3RhdGU9cyksYS5wcm9wcz1yLGEuc3RhdGU9cyxhLmNvbnRleHQ9byxyPXUpOigiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnREaWRNb3VudCYmKHQuZmxhZ3N8PTQxOTQzMDgpLHI9ITEpfWVsc2V7YT10LnN0YXRlTm9kZSxsVihlLHQpLGM9b08obixvPXQubWVtb2l6ZWRQcm9wcyksYS5wcm9wcz1jLGY9dC5wZW5kaW5nUHJvcHMsZD1hLmNvbnRleHQscz1uLmNvbnRleHRUeXBlLHU9cmgsIm9iamVjdCI9PXR5cGVvZiBzJiZudWxsIT09cyYmKHU9bHQocykpLChzPSJmdW5jdGlvbiI9PXR5cGVvZihpPW4uZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKXx8ImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUpfHwiZnVuY3Rpb24iIT10eXBlb2YgYS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1mfHxkIT09dSkmJm9UKHQsYSxyLHUpLGxVPSExLGQ9dC5tZW1vaXplZFN0YXRlLGEuc3RhdGU9ZCxsWCh0LHIsYSxsKSxsSygpO3ZhciBwPXQubWVtb2l6ZWRTdGF0ZTtvIT09Znx8ZCE9PXB8fGxVfHxudWxsIT09ZSYmbnVsbCE9PWUuZGVwZW5kZW5jaWVzJiZyNyhlLmRlcGVuZGVuY2llcyk/KCJmdW5jdGlvbiI9PXR5cGVvZiBpJiYob1AodCxuLGkscikscD10Lm1lbW9pemVkU3RhdGUpLChjPWxVfHxvQyh0LG4sYyxyLGQscCx1KXx8bnVsbCE9PWUmJm51bGwhPT1lLmRlcGVuZGVuY2llcyYmcjcoZS5kZXBlbmRlbmNpZXMpKT8oc3x8ImZ1bmN0aW9uIiE9dHlwZW9mIGEuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudFdpbGxVcGRhdGV8fCgiZnVuY3Rpb24iPT10eXBlb2YgYS5jb21wb25lbnRXaWxsVXBkYXRlJiZhLmNvbXBvbmVudFdpbGxVcGRhdGUocixwLHUpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiZhLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlKHIscCx1KSksImZ1bmN0aW9uIj09dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlJiYodC5mbGFnc3w9NCksImZ1bmN0aW9uIj09dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUmJih0LmZsYWdzfD0xMDI0KSk6KCJmdW5jdGlvbiIhPXR5cGVvZiBhLmNvbXBvbmVudERpZFVwZGF0ZXx8bz09PWUubWVtb2l6ZWRQcm9wcyYmZD09PWUubWVtb2l6ZWRTdGF0ZXx8KHQuZmxhZ3N8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiBhLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9MTAyNCksdC5tZW1vaXplZFByb3BzPXIsdC5tZW1vaXplZFN0YXRlPXApLGEucHJvcHM9cixhLnN0YXRlPXAsYS5jb250ZXh0PXUscj1jKTooImZ1bmN0aW9uIiE9dHlwZW9mIGEuY29tcG9uZW50RGlkVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZkPT09ZS5tZW1vaXplZFN0YXRlfHwodC5mbGFnc3w9NCksImZ1bmN0aW9uIiE9dHlwZW9mIGEuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fG89PT1lLm1lbW9pemVkUHJvcHMmJmQ9PT1lLm1lbW9pemVkU3RhdGV8fCh0LmZsYWdzfD0xMDI0KSxyPSExKX1yZXR1cm4gYT1yLG9HKGUsdCkscj0wIT0oMTI4JnQuZmxhZ3MpLGF8fHI/KGE9dC5zdGF0ZU5vZGUsbj1yJiYiZnVuY3Rpb24iIT10eXBlb2Ygbi5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3I/bnVsbDphLnJlbmRlcigpLHQuZmxhZ3N8PTEsbnVsbCE9PWUmJnI/KHQuY2hpbGQ9bEEodCxlLmNoaWxkLG51bGwsbCksdC5jaGlsZD1sQSh0LG51bGwsbixsKSk6b0IoZSx0LG4sbCksdC5tZW1vaXplZFN0YXRlPWEuc3RhdGUsZT10LmNoaWxkKTplPWlsKGUsdCxsKSxlfWZ1bmN0aW9uIG8wKGUsdCxuLHIpe3JldHVybiBySigpLHQuZmxhZ3N8PTI1NixvQihlLHQsbixyKSx0LmNoaWxkfXZhciBvMT17ZGVoeWRyYXRlZDpudWxsLHRyZWVDb250ZXh0Om51bGwscmV0cnlMYW5lOjAsaHlkcmF0aW9uRXJyb3JzOm51bGx9O2Z1bmN0aW9uIG8yKGUpe3JldHVybntiYXNlTGFuZXM6ZSxjYWNoZVBvb2w6bGsoKX19ZnVuY3Rpb24gbzMoZSx0LG4pe3JldHVybiBlPW51bGwhPT1lP2UuY2hpbGRMYW5lcyZ+bjowLHQmJihlfD11RCksZX1mdW5jdGlvbiBvNChlLHQsbil7dmFyIHIsbD10LnBlbmRpbmdQcm9wcyxhPSExLG89MCE9KDEyOCZ0LmZsYWdzKTtpZigocj1vKXx8KHI9KG51bGw9PT1lfHxudWxsIT09ZS5tZW1vaXplZFN0YXRlKSYmMCE9KDImYWUuY3VycmVudCkpLHImJihhPSEwLHQuZmxhZ3MmPS0xMjkpLHI9MCE9KDMyJnQuZmxhZ3MpLHQuZmxhZ3MmPS0zMyxudWxsPT09ZSl7aWYociQpe2lmKGE/bDgodCk6bDkoKSwoZT1ySCk/bnVsbCE9PShlPW51bGwhPT0oZT1jVihlLHJXKSkmJiImIiE9PWUuZGF0YT9lOm51bGwpJiYodC5tZW1vaXplZFN0YXRlPXtkZWh5ZHJhdGVkOmUsdHJlZUNvbnRleHQ6bnVsbCE9PXJNP3tpZDpySSxvdmVyZmxvdzpyRH06bnVsbCxyZXRyeUxhbmU6MHgyMDAwMDAwMCxoeWRyYXRpb25FcnJvcnM6bnVsbH0sKG49cngoZSkpLnJldHVybj10LHQuY2hpbGQ9bixyVj10LHJIPW51bGwpOmU9bnVsbCxudWxsPT09ZSl0aHJvdyBySyh0KTtyZXR1cm4gYyQoZSk/dC5sYW5lcz0zMjp0LmxhbmVzPTB4MjAwMDAwMDAsbnVsbH12YXIgaT1sLmNoaWxkcmVuO3JldHVybihsPWwuZmFsbGJhY2ssYSk/KGw5KCksaT1vNSh7bW9kZToiaGlkZGVuIixjaGlsZHJlbjppfSxhPXQubW9kZSksbD1yUyhsLGEsbixudWxsKSxpLnJldHVybj10LGwucmV0dXJuPXQsaS5zaWJsaW5nPWwsdC5jaGlsZD1pLChsPXQuY2hpbGQpLm1lbW9pemVkU3RhdGU9bzIobiksbC5jaGlsZExhbmVzPW8zKGUscixuKSx0Lm1lbW9pemVkU3RhdGU9bzEsb1cobnVsbCxsKSk6KGw4KHQpLG84KHQsaSkpfXZhciBzPWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09cyYmbnVsbCE9PShpPXMuZGVoeWRyYXRlZCkpe2lmKG8pMjU2JnQuZmxhZ3M/KGw4KHQpLHQuZmxhZ3MmPS0yNTcsdD1vNihlLHQsbikpOm51bGwhPT10Lm1lbW9pemVkU3RhdGU/KGw5KCksdC5jaGlsZD1lLmNoaWxkLHQuZmxhZ3N8PTEyOCx0PW51bGwpOihsOSgpLGk9bC5mYWxsYmFjayxhPXQubW9kZSxsPW81KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSxhKSxpPXJTKGksYSxuLG51bGwpLGkuZmxhZ3N8PTIsbC5yZXR1cm49dCxpLnJldHVybj10LGwuc2libGluZz1pLHQuY2hpbGQ9bCxsQSh0LGUuY2hpbGQsbnVsbCxuKSwobD10LmNoaWxkKS5tZW1vaXplZFN0YXRlPW8yKG4pLGwuY2hpbGRMYW5lcz1vMyhlLHIsbiksdC5tZW1vaXplZFN0YXRlPW8xLHQ9b1cobnVsbCxsKSk7ZWxzZSBpZihsOCh0KSxjJChpKSl7aWYocj1pLm5leHRTaWJsaW5nJiZpLm5leHRTaWJsaW5nLmRhdGFzZXQpdmFyIGM9ci5kZ3N0O3I9YywobD1FcnJvcih1KDQxOSkpKS5zdGFjaz0iIixsLmRpZ2VzdD1yLHIwKHt2YWx1ZTpsLHNvdXJjZTpudWxsLHN0YWNrOm51bGx9KSx0PW82KGUsdCxuKX1lbHNlIGlmKG9VfHxyOShlLHQsbiwhMSkscj0wIT0obiZlLmNoaWxkTGFuZXMpLG9VfHxyKXtpZihudWxsIT09KHI9dUUpJiYwIT09KGw9ZVUocixuKSkmJmwhPT1zLnJldHJ5TGFuZSl0aHJvdyBzLnJldHJ5TGFuZT1sLHJkKGUsbCksdTYocixlLGwpLG9qO2NIKGkpfHxzdSgpLHQ9bzYoZSx0LG4pfWVsc2UgY0goaSk/KHQuZmxhZ3N8PTE5Mix0LmNoaWxkPWUuY2hpbGQsdD1udWxsKTooZT1zLnRyZWVDb250ZXh0LHJIPWNRKGkubmV4dFNpYmxpbmcpLHJWPXQsciQ9ITAsclE9bnVsbCxyVz0hMSxudWxsIT09ZSYmckIodCxlKSx0PW84KHQsbC5jaGlsZHJlbiksdC5mbGFnc3w9NDA5Nik7cmV0dXJuIHR9cmV0dXJuIGE/KGw5KCksaT1sLmZhbGxiYWNrLGE9dC5tb2RlLGM9KHM9ZS5jaGlsZCkuc2libGluZywobD1yYihzLHttb2RlOiJoaWRkZW4iLGNoaWxkcmVuOmwuY2hpbGRyZW59KSkuc3VidHJlZUZsYWdzPTB4N2UwMDAwMCZzLnN1YnRyZWVGbGFncyxudWxsIT09Yz9pPXJiKGMsaSk6KGk9clMoaSxhLG4sbnVsbCksaS5mbGFnc3w9MiksaS5yZXR1cm49dCxsLnJldHVybj10LGwuc2libGluZz1pLHQuY2hpbGQ9bCxvVyhudWxsLGwpLGw9dC5jaGlsZCxudWxsPT09KGk9ZS5jaGlsZC5tZW1vaXplZFN0YXRlKT9pPW8yKG4pOihudWxsIT09KGE9aS5jYWNoZVBvb2wpPyhzPWxpLl9jdXJyZW50VmFsdWUsYT1hLnBhcmVudCE9PXM/e3BhcmVudDpzLHBvb2w6c306YSk6YT1saygpLGk9e2Jhc2VMYW5lczppLmJhc2VMYW5lc3xuLGNhY2hlUG9vbDphfSksbC5tZW1vaXplZFN0YXRlPWksbC5jaGlsZExhbmVzPW8zKGUscixuKSx0Lm1lbW9pemVkU3RhdGU9bzEsb1coZS5jaGlsZCxsKSk6KGw4KHQpLGU9KG49ZS5jaGlsZCkuc2libGluZywobj1yYihuLHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjpsLmNoaWxkcmVufSkpLnJldHVybj10LG4uc2libGluZz1udWxsLG51bGwhPT1lJiYobnVsbD09PShyPXQuZGVsZXRpb25zKT8odC5kZWxldGlvbnM9W2VdLHQuZmxhZ3N8PTE2KTpyLnB1c2goZSkpLHQuY2hpbGQ9bix0Lm1lbW9pemVkU3RhdGU9bnVsbCxuKX1mdW5jdGlvbiBvOChlLHQpe3JldHVybih0PW81KHttb2RlOiJ2aXNpYmxlIixjaGlsZHJlbjp0fSxlLm1vZGUpKS5yZXR1cm49ZSxlLmNoaWxkPXR9ZnVuY3Rpb24gbzUoZSx0KXtyZXR1cm4oZT1ydigyMixlLG51bGwsdCkpLmxhbmVzPTAsZX1mdW5jdGlvbiBvNihlLHQsbil7cmV0dXJuIGxBKHQsZS5jaGlsZCxudWxsLG4pLGU9bzgodCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbiksZS5mbGFnc3w9Mix0Lm1lbW9pemVkU3RhdGU9bnVsbCxlfWZ1bmN0aW9uIG85KGUsdCxuKXtlLmxhbmVzfD10O3ZhciByPWUuYWx0ZXJuYXRlO251bGwhPT1yJiYoci5sYW5lc3w9dCkscjUoZS5yZXR1cm4sdCxuKX1mdW5jdGlvbiBvNyhlKXtmb3IodmFyIHQ9bnVsbDtudWxsIT09ZTspe3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiZudWxsPT09YXIobikmJih0PWUpLGU9ZS5zaWJsaW5nfXJldHVybiB0fWZ1bmN0aW9uIGllKGUsdCxuLHIsbCxhKXt2YXIgbz1lLm1lbW9pemVkU3RhdGU7bnVsbD09PW8/ZS5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczp0LHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6cix0YWlsOm4sdGFpbE1vZGU6bCx0cmVlRm9ya0NvdW50OmF9OihvLmlzQmFja3dhcmRzPXQsby5yZW5kZXJpbmc9bnVsbCxvLnJlbmRlcmluZ1N0YXJ0VGltZT0wLG8ubGFzdD1yLG8udGFpbD1uLG8udGFpbE1vZGU9bCxvLnRyZWVGb3JrQ291bnQ9YSl9ZnVuY3Rpb24gaXQoZSl7dmFyIHQ9ZS5jaGlsZDtmb3IoZS5jaGlsZD1udWxsO251bGwhPT10Oyl7dmFyIG49dC5zaWJsaW5nO3Quc2libGluZz1lLmNoaWxkLGUuY2hpbGQ9dCx0PW59fWZ1bmN0aW9uIGlyKGUsdCxuKXt2YXIgcj10LnBlbmRpbmdQcm9wcyxsPXIucmV2ZWFsT3JkZXIsYT1yLnRhaWw7cj1yLmNoaWxkcmVuO3ZhciBvPWFlLmN1cnJlbnQ7aWYoMTI4JnQuZmxhZ3MpcmV0dXJuIGF0KHQsbyksbnVsbDt2YXIgaT0wIT0oMiZvKTtpZihpPyhvPTEmb3wyLHQuZmxhZ3N8PTEyOCk6byY9MSxhdCh0LG8pLCJiYWNrd2FyZHMiPT09bCYmbnVsbCE9PWU/KGl0KGUpLG9CKGUsdCxyLG4pLGl0KGUpKTpvQihlLHQscixuKSxyPXIkP3J6OjAsIWkmJm51bGwhPT1lJiYwIT0oMTI4JmUuZmxhZ3MpKWU6Zm9yKGU9dC5jaGlsZDtudWxsIT09ZTspe2lmKDEzPT09ZS50YWcpbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbzkoZSxuLHQpO2Vsc2UgaWYoMTk9PT1lLnRhZylvOShlLG4sdCk7ZWxzZSBpZihudWxsIT09ZS5jaGlsZCl7ZS5jaGlsZC5yZXR1cm49ZSxlPWUuY2hpbGQ7Y29udGludWV9aWYoZT09PXQpYnJlYWs7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PXQpYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9c3dpdGNoKGwpe2Nhc2UiYmFja3dhcmRzIjpudWxsPT09KG49bzcodC5jaGlsZCkpPyhsPXQuY2hpbGQsdC5jaGlsZD1udWxsKToobD1uLnNpYmxpbmcsbi5zaWJsaW5nPW51bGwsaXQodCkpLGllKHQsITAsbCxudWxsLGEscik7YnJlYWs7Y2FzZSJ1bnN0YWJsZV9sZWdhY3ktYmFja3dhcmRzIjpmb3Iobj1udWxsLGw9dC5jaGlsZCx0LmNoaWxkPW51bGw7bnVsbCE9PWw7KXtpZihudWxsIT09KGU9bC5hbHRlcm5hdGUpJiZudWxsPT09YXIoZSkpe3QuY2hpbGQ9bDticmVha31lPWwuc2libGluZyxsLnNpYmxpbmc9bixuPWwsbD1lfWllKHQsITAsbixudWxsLGEscik7YnJlYWs7Y2FzZSJ0b2dldGhlciI6aWUodCwhMSxudWxsLG51bGwsdm9pZCAwLHIpO2JyZWFrO2Nhc2UiaW5kZXBlbmRlbnQiOnQubWVtb2l6ZWRTdGF0ZT1udWxsO2JyZWFrO2RlZmF1bHQ6bnVsbD09PShuPW83KHQuY2hpbGQpKT8obD10LmNoaWxkLHQuY2hpbGQ9bnVsbCk6KGw9bi5zaWJsaW5nLG4uc2libGluZz1udWxsKSxpZSh0LCExLGwsbixhLHIpfXJldHVybiB0LmNoaWxkfWZ1bmN0aW9uIGlsKGUsdCxuKXtpZihudWxsIT09ZSYmKHQuZGVwZW5kZW5jaWVzPWUuZGVwZW5kZW5jaWVzKSx1Unw9dC5sYW5lcywwPT0obiZ0LmNoaWxkTGFuZXMpKXtpZihudWxsPT09ZSlyZXR1cm4gbnVsbDtlbHNlIGlmKHI5KGUsdCxuLCExKSwwPT0obiZ0LmNoaWxkTGFuZXMpKXJldHVybiBudWxsfWlmKG51bGwhPT1lJiZ0LmNoaWxkIT09ZS5jaGlsZCl0aHJvdyBFcnJvcih1KDE1MykpO2lmKG51bGwhPT10LmNoaWxkKXtmb3Iobj1yYihlPXQuY2hpbGQsZS5wZW5kaW5nUHJvcHMpLHQuY2hpbGQ9bixuLnJldHVybj10O251bGwhPT1lLnNpYmxpbmc7KWU9ZS5zaWJsaW5nLChuPW4uc2libGluZz1yYihlLGUucGVuZGluZ1Byb3BzKSkucmV0dXJuPXQ7bi5zaWJsaW5nPW51bGx9cmV0dXJuIHQuY2hpbGR9ZnVuY3Rpb24gaWEoZSx0KXtyZXR1cm4gMCE9KGUubGFuZXMmdCl8fCEhKG51bGwhPT0oZT1lLmRlcGVuZGVuY2llcykmJnI3KGUpKX1mdW5jdGlvbiBpbyhlLHQsbil7aWYobnVsbCE9PWUpaWYoZS5tZW1vaXplZFByb3BzIT09dC5wZW5kaW5nUHJvcHMpb1U9ITA7ZWxzZXtpZighaWEoZSxuKSYmMD09KDEyOCZ0LmZsYWdzKSlyZXR1cm4gb1U9ITEsZnVuY3Rpb24oZSx0LG4pe3N3aXRjaCh0LnRhZyl7Y2FzZSAzOmVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbykscjQodCxsaSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpLHJKKCk7YnJlYWs7Y2FzZSAyNzpjYXNlIDU6ZW8odCk7YnJlYWs7Y2FzZSA0OmVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyk7YnJlYWs7Y2FzZSAxMDpyNCh0LHQudHlwZSx0Lm1lbW9pemVkUHJvcHMudmFsdWUpO2JyZWFrO2Nhc2UgMzE6aWYobnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSlyZXR1cm4gdC5mbGFnc3w9MTI4LGw1KHQpLG51bGw7YnJlYWs7Y2FzZSAxMzp2YXIgcj10Lm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXIpe2lmKG51bGwhPT1yLmRlaHlkcmF0ZWQpcmV0dXJuIGw4KHQpLHQuZmxhZ3N8PTEyOCxudWxsO2lmKDAhPShuJnQuY2hpbGQuY2hpbGRMYW5lcykpcmV0dXJuIG80KGUsdCxuKTtyZXR1cm4gbDgodCksbnVsbCE9PShlPWlsKGUsdCxuKSk/ZS5zaWJsaW5nOm51bGx9bDgodCk7YnJlYWs7Y2FzZSAxOTppZigxMjgmdC5mbGFncylyZXR1cm4gaXIoZSx0LG4pO3ZhciBsPTAhPSgxMjgmZS5mbGFncyk7aWYoKHI9MCE9KG4mdC5jaGlsZExhbmVzKSl8fChyOShlLHQsbiwhMSkscj0wIT0obiZ0LmNoaWxkTGFuZXMpKSxsKXtpZihyKXJldHVybiBpcihlLHQsbik7dC5mbGFnc3w9MTI4fWlmKG51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpJiYobC5yZW5kZXJpbmc9bnVsbCxsLnRhaWw9bnVsbCxsLmxhc3RFZmZlY3Q9bnVsbCksYXQodCxhZS5jdXJyZW50KSwhcilyZXR1cm4gbnVsbDticmVhaztjYXNlIDIyOnJldHVybiB0LmxhbmVzPTAsb1EoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cjQodCxsaSxlLm1lbW9pemVkU3RhdGUuY2FjaGUpfXJldHVybiBpbChlLHQsbil9KGUsdCxuKTtvVT0wIT0oMTMxMDcyJmUuZmxhZ3MpfWVsc2Ugb1U9ITEsciQmJjAhPSgxMDQ4NTc2JnQuZmxhZ3MpJiZyQSh0LHJ6LHQuaW5kZXgpO3N3aXRjaCh0LmxhbmVzPTAsdC50YWcpe2Nhc2UgMTY6ZTp7dmFyIHI9dC5wZW5kaW5nUHJvcHM7aWYoZT1sQyh0LmVsZW1lbnRUeXBlKSx0LnR5cGU9ZSwiZnVuY3Rpb24iPT10eXBlb2YgZSlyeShlKT8ocj1vTyhlLHIpLHQudGFnPTEsdD1vWihudWxsLHQsZSxyLG4pKToodC50YWc9MCx0PW9ZKG51bGwsdCxlLHIsbikpO2Vsc2V7aWYobnVsbCE9ZSl7dmFyIGw9ZS4kJHR5cGVvZjtpZihsPT09Uil7dC50YWc9MTEsdD1vVihudWxsLHQsZSxyLG4pO2JyZWFrIGV9aWYobD09PUQpe3QudGFnPTE0LHQ9b0gobnVsbCx0LGUscixuKTticmVhayBlfX10aHJvdyBFcnJvcih1KDMwNix0PWZ1bmN0aW9uIGUodCl7aWYobnVsbD09dClyZXR1cm4gbnVsbDtpZigiZnVuY3Rpb24iPT10eXBlb2YgdClyZXR1cm4gdC4kJHR5cGVvZj09PSQ/bnVsbDp0LmRpc3BsYXlOYW1lfHx0Lm5hbWV8fG51bGw7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB0O3N3aXRjaCh0KXtjYXNlIEM6cmV0dXJuIkZyYWdtZW50IjtjYXNlIE86cmV0dXJuIlByb2ZpbGVyIjtjYXNlIFQ6cmV0dXJuIlN0cmljdE1vZGUiO2Nhc2UgTTpyZXR1cm4iU3VzcGVuc2UiO2Nhc2UgSTpyZXR1cm4iU3VzcGVuc2VMaXN0IjtjYXNlIEE6cmV0dXJuIkFjdGl2aXR5IjtjYXNlIEI6cmV0dXJuIlZpZXdUcmFuc2l0aW9uIn1pZigib2JqZWN0Ij09dHlwZW9mIHQpc3dpdGNoKHQuJCR0eXBlb2Ype2Nhc2UgTjpyZXR1cm4iUG9ydGFsIjtjYXNlIEw6cmV0dXJuIHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IjtjYXNlIHo6cmV0dXJuKHQuX2NvbnRleHQuZGlzcGxheU5hbWV8fCJDb250ZXh0IikrIi5Db25zdW1lciI7Y2FzZSBSOnZhciBuPXQucmVuZGVyO3JldHVybih0PXQuZGlzcGxheU5hbWUpfHwodD0iIiE9PSh0PW4uZGlzcGxheU5hbWV8fG4ubmFtZXx8IiIpPyJGb3J3YXJkUmVmKCIrdCsiKSI6IkZvcndhcmRSZWYiKSx0O2Nhc2UgRDpyZXR1cm4gbnVsbCE9PShuPXQuZGlzcGxheU5hbWV8fG51bGwpP246ZSh0LnR5cGUpfHwiTWVtbyI7Y2FzZSBGOm49dC5fcGF5bG9hZCx0PXQuX2luaXQ7dHJ5e3JldHVybiBlKHQobikpfWNhdGNoKGUpe319cmV0dXJuIG51bGx9KGUpfHxlLCIiKSl9fXJldHVybiB0O2Nhc2UgMDpyZXR1cm4gb1koZSx0LHQudHlwZSx0LnBlbmRpbmdQcm9wcyxuKTtjYXNlIDE6cmV0dXJuIGw9b08ocj10LnR5cGUsdC5wZW5kaW5nUHJvcHMpLG9aKGUsdCxyLGwsbik7Y2FzZSAzOmU6e2lmKGVsKHQsdC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyksbnVsbD09PWUpdGhyb3cgRXJyb3IodSgzODcpKTtyPXQucGVuZGluZ1Byb3BzO3ZhciBhPXQubWVtb2l6ZWRTdGF0ZTtsPWEuZWxlbWVudCxsVihlLHQpLGxYKHQscixudWxsLG4pO3ZhciBvPXQubWVtb2l6ZWRTdGF0ZTtpZihyNCh0LGxpLHI9by5jYWNoZSksciE9PWEuY2FjaGUmJnI2KHQsW2xpXSxuLCEwKSxsSygpLHI9by5lbGVtZW50LGEuaXNEZWh5ZHJhdGVkKWlmKGE9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6ITEsY2FjaGU6by5jYWNoZX0sdC51cGRhdGVRdWV1ZS5iYXNlU3RhdGU9YSx0Lm1lbW9pemVkU3RhdGU9YSwyNTYmdC5mbGFncyl7dD1vMChlLHQscixuKTticmVhayBlfWVsc2UgaWYociE9PWwpe3IwKGw9ck4oRXJyb3IodSg0MjQpKSx0KSksdD1vMChlLHQscixuKTticmVhayBlfWVsc2UgZm9yKHJIPWNRKChlPTk9PT0oZT10LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmJvZHk6IkhUTUwiPT09ZS5ub2RlTmFtZT9lLm93bmVyRG9jdW1lbnQuYm9keTplKS5maXJzdENoaWxkKSxyVj10LHIkPSEwLHJRPW51bGwsclc9ITAsbj1saih0LG51bGwscixuKSx0LmNoaWxkPW47bjspbi5mbGFncz0tMyZuLmZsYWdzfDQwOTYsbj1uLnNpYmxpbmc7ZWxzZXtpZihySigpLHI9PT1sKXt0PWlsKGUsdCxuKTticmVhayBlfW9CKGUsdCxyLG4pfXQ9dC5jaGlsZH1yZXR1cm4gdDtjYXNlIDI2OnJldHVybiBvRyhlLHQpLG51bGw9PT1lPyhuPWMzKHQudHlwZSxudWxsLHQucGVuZGluZ1Byb3BzLG51bGwpKT90Lm1lbW9pemVkU3RhdGU9bjpyJHx8KG49dC50eXBlLGU9dC5wZW5kaW5nUHJvcHMsKHI9Y3UoZW4uY3VycmVudCkuY3JlYXRlRWxlbWVudChuKSlbZVddPXQscltlcV09ZSxjbChyLG4sZSksZTgociksdC5zdGF0ZU5vZGU9cik6dC5tZW1vaXplZFN0YXRlPWMzKHQudHlwZSxlLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsZS5tZW1vaXplZFN0YXRlKSxudWxsO2Nhc2UgMjc6cmV0dXJuIGVvKHQpLG51bGw9PT1lJiZyJCYmKHI9dC5zdGF0ZU5vZGU9Y1godC50eXBlLHQucGVuZGluZ1Byb3BzLGVuLmN1cnJlbnQpLHJWPXQsclc9ITAsbD1ySCxjeSh0LnR5cGUpPyhjVz1sLHJIPWNRKHIuZmlyc3RDaGlsZCkpOnJIPWwpLG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSxvRyhlLHQpLG51bGw9PT1lJiYodC5mbGFnc3w9NDE5NDMwNCksdC5jaGlsZDtjYXNlIDU6cmV0dXJuIG51bGw9PT1lJiZyJCYmKChsPXI9ckgpJiYobnVsbCE9PShyPWZ1bmN0aW9uKGUsdCxuLHIpe2Zvcig7MT09PWUubm9kZVR5cGU7KXtpZihlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkhPT10LnRvTG93ZXJDYXNlKCkpe2lmKCFyJiYoIklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSlicmVha31lbHNlIGlmKHIpe2lmKCFlW2VaXSlzd2l0Y2godCl7Y2FzZSJtZXRhIjppZighZS5oYXNBdHRyaWJ1dGUoIml0ZW1wcm9wIikpYnJlYWs7cmV0dXJuIGU7Y2FzZSJsaW5rIjppZigic3R5bGVzaGVldCI9PT0obD1lLmdldEF0dHJpYnV0ZSgicmVsIikpJiZlLmhhc0F0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIil8fGwhPT1uLnJlbHx8ZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSE9PShudWxsPT1uLmhyZWZ8fCIiPT09bi5ocmVmP251bGw6bi5ocmVmKXx8ZS5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIikhPT0obnVsbD09bi5jcm9zc09yaWdpbj9udWxsOm4uY3Jvc3NPcmlnaW4pfHxlLmdldEF0dHJpYnV0ZSgidGl0bGUiKSE9PShudWxsPT1uLnRpdGxlP251bGw6bi50aXRsZSkpYnJlYWs7cmV0dXJuIGU7Y2FzZSJzdHlsZSI6aWYoZS5oYXNBdHRyaWJ1dGUoImRhdGEtcHJlY2VkZW5jZSIpKWJyZWFrO3JldHVybiBlO2Nhc2Uic2NyaXB0IjppZigoKGw9ZS5nZXRBdHRyaWJ1dGUoInNyYyIpKSE9PShudWxsPT1uLnNyYz9udWxsOm4uc3JjKXx8ZS5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9PShudWxsPT1uLnR5cGU/bnVsbDpuLnR5cGUpfHxlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKSE9PShudWxsPT1uLmNyb3NzT3JpZ2luP251bGw6bi5jcm9zc09yaWdpbikpJiZsJiZlLmhhc0F0dHJpYnV0ZSgiYXN5bmMiKSYmIWUuaGFzQXR0cmlidXRlKCJpdGVtcHJvcCIpKWJyZWFrO3JldHVybiBlO2RlZmF1bHQ6cmV0dXJuIGV9fWVsc2V7aWYoImlucHV0IiE9PXR8fCJoaWRkZW4iIT09ZS50eXBlKXJldHVybiBlO3ZhciBsPW51bGw9PW4ubmFtZT9udWxsOiIiK24ubmFtZTtpZigiaGlkZGVuIj09PW4udHlwZSYmZS5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PWwpcmV0dXJuIGV9aWYobnVsbD09PShlPWNRKGUubmV4dFNpYmxpbmcpKSlicmVha31yZXR1cm4gbnVsbH0ocix0LnR5cGUsdC5wZW5kaW5nUHJvcHMsclcpKT8odC5zdGF0ZU5vZGU9cixyVj10LHJIPWNRKHIuZmlyc3RDaGlsZCksclc9ITEsbD0hMCk6bD0hMSksbHx8cksodCkpLGVvKHQpLGw9dC50eXBlLGE9dC5wZW5kaW5nUHJvcHMsbz1udWxsIT09ZT9lLm1lbW9pemVkUHJvcHM6bnVsbCxyPWEuY2hpbGRyZW4sY2YobCxhKT9yPW51bGw6bnVsbCE9PW8mJmNmKGwsbykmJih0LmZsYWdzfD0zMiksbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSYmKGZ2Ll9jdXJyZW50VmFsdWU9bD1hdihlLHQsYXcsbnVsbCxudWxsLG4pKSxvRyhlLHQpLG9CKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA2OnJldHVybiBudWxsPT09ZSYmciQmJigoZT1uPXJIKSYmKG51bGwhPT0obj1mdW5jdGlvbihlLHQsbil7aWYoIiI9PT10KXJldHVybiBudWxsO2Zvcig7MyE9PWUubm9kZVR5cGU7KWlmKCgxIT09ZS5ub2RlVHlwZXx8IklOUFVUIiE9PWUubm9kZU5hbWV8fCJoaWRkZW4iIT09ZS50eXBlKSYmIW58fG51bGw9PT0oZT1jUShlLm5leHRTaWJsaW5nKSkpcmV0dXJuIG51bGw7cmV0dXJuIGV9KG4sdC5wZW5kaW5nUHJvcHMsclcpKT8odC5zdGF0ZU5vZGU9bixyVj10LHJIPW51bGwsZT0hMCk6ZT0hMSksZXx8cksodCkpLG51bGw7Y2FzZSAxMzpyZXR1cm4gbzQoZSx0LG4pO2Nhc2UgNDpyZXR1cm4gZWwodCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKSxyPXQucGVuZGluZ1Byb3BzLG51bGw9PT1lP3QuY2hpbGQ9bEEodCxudWxsLHIsbik6b0IoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDExOnJldHVybiBvVihlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgNzpyZXR1cm4gcj10LnBlbmRpbmdQcm9wcyxvRyhlLHQpLG9CKGUsdCxyLG4pLHQuY2hpbGQ7Y2FzZSA4OmNhc2UgMTI6cmV0dXJuIG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMTA6cmV0dXJuIHI9dC5wZW5kaW5nUHJvcHMscjQodCx0LnR5cGUsci52YWx1ZSksb0IoZSx0LHIuY2hpbGRyZW4sbiksdC5jaGlsZDtjYXNlIDk6cmV0dXJuIGw9dC50eXBlLl9jb250ZXh0LHI9dC5wZW5kaW5nUHJvcHMuY2hpbGRyZW4sbGUodCkscj1yKGw9bHQobCkpLHQuZmxhZ3N8PTEsb0IoZSx0LHIsbiksdC5jaGlsZDtjYXNlIDE0OnJldHVybiBvSChlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLG4pO2Nhc2UgMTU6cmV0dXJuIG8kKGUsdCx0LnR5cGUsdC5wZW5kaW5nUHJvcHMsbik7Y2FzZSAxOTpyZXR1cm4gaXIoZSx0LG4pO2Nhc2UgMzE6dmFyIGk9ZSxzPXQsYz1uLGY9cy5wZW5kaW5nUHJvcHMsZD0wIT0oMTI4JnMuZmxhZ3MpO2lmKHMuZmxhZ3MmPS0xMjksbnVsbD09PWkpe2lmKHIkKXtpZigiaGlkZGVuIj09PWYubW9kZSlyZXR1cm4gaT1vSyhzLGYpLHMubGFuZXM9MHgyMDAwMDAwMCxvVyhudWxsLGkpO2lmKGw1KHMpLChpPXJIKT9udWxsIT09KGk9bnVsbCE9PShpPWNWKGksclcpKSYmIiYiPT09aS5kYXRhP2k6bnVsbCkmJihzLm1lbW9pemVkU3RhdGU9e2RlaHlkcmF0ZWQ6aSx0cmVlQ29udGV4dDpudWxsIT09ck0/e2lkOnJJLG92ZXJmbG93OnJEfTpudWxsLHJldHJ5TGFuZToweDIwMDAwMDAwLGh5ZHJhdGlvbkVycm9yczpudWxsfSwoYz1yeChpKSkucmV0dXJuPXMscy5jaGlsZD1jLHJWPXMsckg9bnVsbCk6aT1udWxsLG51bGw9PT1pKXRocm93IHJLKHMpO3JldHVybiBzLmxhbmVzPTB4MjAwMDAwMDAsbnVsbH1yZXR1cm4gb0socyxmKX12YXIgcD1pLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PXApe3ZhciBtPXAuZGVoeWRyYXRlZDtpZihsNShzKSxkKWlmKDI1NiZzLmZsYWdzKXMuZmxhZ3MmPS0yNTcscz1vWChpLHMsYyk7ZWxzZSBpZihudWxsIT09cy5tZW1vaXplZFN0YXRlKXMuY2hpbGQ9aS5jaGlsZCxzLmZsYWdzfD0xMjgscz1udWxsO2Vsc2UgdGhyb3cgRXJyb3IodSg1NTgpKTtlbHNlIGlmKG9VfHxyOShpLHMsYywhMSksZD0wIT0oYyZpLmNoaWxkTGFuZXMpLG9VfHxkKXtpZihudWxsIT09KGY9dUUpJiYwIT09KG09ZVUoZixjKSkmJm0hPT1wLnJldHJ5TGFuZSl0aHJvdyBwLnJldHJ5TGFuZT1tLHJkKGksbSksdTYoZixpLG0pLG9qO3N1KCkscz1vWChpLHMsYyl9ZWxzZSBpPXAudHJlZUNvbnRleHQsckg9Y1EobS5uZXh0U2libGluZyksclY9cyxyJD0hMCxyUT1udWxsLHJXPSExLG51bGwhPT1pJiZyQihzLGkpLHM9b0socyxmKSxzLmZsYWdzfD00MDk2O3JldHVybiBzfXJldHVybihpPXJiKGkuY2hpbGQse21vZGU6Zi5tb2RlLGNoaWxkcmVuOmYuY2hpbGRyZW59KSkucmVmPXMucmVmLHMuY2hpbGQ9aSxpLnJldHVybj1zLGk7Y2FzZSAyMjpyZXR1cm4gb1EoZSx0LG4sdC5wZW5kaW5nUHJvcHMpO2Nhc2UgMjQ6cmV0dXJuIGxlKHQpLHI9bHQobGkpLG51bGw9PT1lPyhudWxsPT09KGw9bGIoKSkmJihsPXVFLGE9bHUoKSxsLnBvb2xlZENhY2hlPWEsYS5yZWZDb3VudCsrLG51bGwhPT1hJiYobC5wb29sZWRDYWNoZUxhbmVzfD1uKSxsPWEpLHQubWVtb2l6ZWRTdGF0ZT17cGFyZW50OnIsY2FjaGU6bH0sbEIodCkscjQodCxsaSxsKSk6KDAhPShlLmxhbmVzJm4pJiYobFYoZSx0KSxsWCh0LG51bGwsbnVsbCxuKSxsSygpKSxsPWUubWVtb2l6ZWRTdGF0ZSxhPXQubWVtb2l6ZWRTdGF0ZSxsLnBhcmVudCE9PXI/KGw9e3BhcmVudDpyLGNhY2hlOnJ9LHQubWVtb2l6ZWRTdGF0ZT1sLDA9PT10LmxhbmVzJiYodC5tZW1vaXplZFN0YXRlPXQudXBkYXRlUXVldWUuYmFzZVN0YXRlPWwpLHI0KHQsbGkscikpOihyNCh0LGxpLHI9YS5jYWNoZSksciE9PWwuY2FjaGUmJnI2KHQsW2xpXSxuLCEwKSkpLG9CKGUsdCx0LnBlbmRpbmdQcm9wcy5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMzA6cmV0dXJuIG51bGwhPShyPXQucGVuZGluZ1Byb3BzKS5uYW1lJiYiYXV0byIhPT1yLm5hbWU/dC5mbGFnc3w9bnVsbD09PWU/MHgxMjAyMDAwOjB4MTIwMDAwMDpyJCYmcmoodCksbnVsbCE9PWUmJmUubWVtb2l6ZWRQcm9wcy5uYW1lIT09ci5uYW1lP3QuZmxhZ3N8PTQxOTQ4MTY6b0coZSx0KSxvQihlLHQsci5jaGlsZHJlbixuKSx0LmNoaWxkO2Nhc2UgMjk6dGhyb3cgdC5wZW5kaW5nUHJvcHN9dGhyb3cgRXJyb3IodSgxNTYsdC50YWcpKX1mdW5jdGlvbiBpaShlKXtlLmZsYWdzfD00fWZ1bmN0aW9uIGl1KGUsdCxuLHIsbCl7dmFyIGE7aWYoKGE9MCE9KDMyJmUubW9kZSkpJiYoYT1udWxsPT09bj9mbyh0LHIpOmZvKHQscikmJihyLnNyYyE9PW4uc3JjfHxyLnNyY1NldCE9PW4uc3JjU2V0KSksYSl7aWYoZS5mbGFnc3w9MHgxMDAwMDAwLCgweDEzZmZmZjQwJmwpPT09bClpZihlLnN0YXRlTm9kZS5jb21wbGV0ZSllLmZsYWdzfD04MTkyO2Vsc2UgaWYoc2EoKSllLmZsYWdzfD04MTkyO2Vsc2UgdGhyb3cgbFQ9bF8sbEV9ZWxzZSBlLmZsYWdzJj0tMHgxMDAwMDAxfWZ1bmN0aW9uIGlzKGUsdCl7aWYoInN0eWxlc2hlZXQiIT09dC50eXBlfHwwIT0oNCZ0LnN0YXRlLmxvYWRpbmcpKWUuZmxhZ3MmPS0weDEwMDAwMDE7ZWxzZSBpZihlLmZsYWdzfD0weDEwMDAwMDAsIWZpKHQpKWlmKHNhKCkpZS5mbGFnc3w9ODE5MjtlbHNlIHRocm93IGxUPWxfLGxFfWZ1bmN0aW9uIGljKGUsdCl7bnVsbCE9PXQmJihlLmZsYWdzfD00KSwxNjM4NCZlLmZsYWdzJiYodD0yMiE9PWUudGFnP2VJKCk6MHgyMDAwMDAwMCxlLmxhbmVzfD10LHVGfD10KX1mdW5jdGlvbiBpZChlLHQpe2lmKCFyJClzd2l0Y2goZS50YWlsTW9kZSl7Y2FzZSJ2aXNpYmxlIjpicmVhaztjYXNlImNvbGxhcHNlZCI6Zm9yKHZhciBuPWUudGFpbCxyPW51bGw7bnVsbCE9PW47KW51bGwhPT1uLmFsdGVybmF0ZSYmKHI9biksbj1uLnNpYmxpbmc7bnVsbD09PXI/dHx8bnVsbD09PWUudGFpbD9lLnRhaWw9bnVsbDplLnRhaWwuc2libGluZz1udWxsOnIuc2libGluZz1udWxsO2JyZWFrO2RlZmF1bHQ6Zm9yKG49bnVsbCx0PWUudGFpbDtudWxsIT09dDspbnVsbCE9PXQuYWx0ZXJuYXRlJiYobj10KSx0PXQuc2libGluZztudWxsPT09bj9lLnRhaWw9bnVsbDpuLnNpYmxpbmc9bnVsbH19ZnVuY3Rpb24gaXAoZSl7dmFyIHQ9bnVsbCE9PWUuYWx0ZXJuYXRlJiZlLmFsdGVybmF0ZS5jaGlsZD09PWUuY2hpbGQsbj0wLHI9MDtpZih0KWZvcih2YXIgbD1lLmNoaWxkO251bGwhPT1sOylufD1sLmxhbmVzfGwuY2hpbGRMYW5lcyxyfD0weDdlMDAwMDAmbC5zdWJ0cmVlRmxhZ3Mscnw9MHg3ZTAwMDAwJmwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztlbHNlIGZvcihsPWUuY2hpbGQ7bnVsbCE9PWw7KW58PWwubGFuZXN8bC5jaGlsZExhbmVzLHJ8PWwuc3VidHJlZUZsYWdzLHJ8PWwuZmxhZ3MsbC5yZXR1cm49ZSxsPWwuc2libGluZztyZXR1cm4gZS5zdWJ0cmVlRmxhZ3N8PXIsZS5jaGlsZExhbmVzPW4sdH1mdW5jdGlvbiBpbShlLHQpe3N3aXRjaChyVSh0KSx0LnRhZyl7Y2FzZSAzOnI4KGxpKSxlYSgpO2JyZWFrO2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6ZWkodCk7YnJlYWs7Y2FzZSA0OmVhKCk7YnJlYWs7Y2FzZSAzMTpudWxsIT09dC5tZW1vaXplZFN0YXRlJiZsNyh0KTticmVhaztjYXNlIDEzOmw3KHQpO2JyZWFrO2Nhc2UgMTk6YW4odCk7YnJlYWs7Y2FzZSAxMDpyOCh0LnR5cGUpO2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzpsNyh0KSxsMigpLG51bGwhPT1lJiZKKGx5KTticmVhaztjYXNlIDI0OnI4KGxpKX19ZnVuY3Rpb24gaWgoZSx0KXt0cnl7dmFyIG49dC51cGRhdGVRdWV1ZSxyPW51bGwhPT1uP24ubGFzdEVmZmVjdDpudWxsO2lmKG51bGwhPT1yKXt2YXIgbD1yLm5leHQ7bj1sO2Rve2lmKChuLnRhZyZlKT09PWUpe3I9dm9pZCAwO3ZhciBhPW4uY3JlYXRlO24uaW5zdC5kZXN0cm95PXI9YSgpfW49bi5uZXh0fXdoaWxlKG4hPT1sKX19Y2F0Y2goZSl7c18odCx0LnJldHVybixlKX19ZnVuY3Rpb24gaWcoZSx0LG4pe3RyeXt2YXIgcj10LnVwZGF0ZVF1ZXVlLGw9bnVsbCE9PXI/ci5sYXN0RWZmZWN0Om51bGw7aWYobnVsbCE9PWwpe3ZhciBhPWwubmV4dDtyPWE7ZG97aWYoKHIudGFnJmUpPT09ZSl7dmFyIG89ci5pbnN0LGk9by5kZXN0cm95O2lmKHZvaWQgMCE9PWkpe28uZGVzdHJveT12b2lkIDAsbD10O3RyeXtpKCl9Y2F0Y2goZSl7c18obCxuLGUpfX19cj1yLm5leHR9d2hpbGUociE9PWEpfX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiBpdihlKXt2YXIgdD1lLnVwZGF0ZVF1ZXVlO2lmKG51bGwhPT10KXt2YXIgbj1lLnN0YXRlTm9kZTt0cnl7bFkodCxuKX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX19ZnVuY3Rpb24gaXkoZSx0LG4pe24ucHJvcHM9b08oZS50eXBlLGUubWVtb2l6ZWRQcm9wcyksbi5zdGF0ZT1lLm1lbW9pemVkU3RhdGU7dHJ5e24uY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaChuKXtzXyhlLHQsbil9fWZ1bmN0aW9uIGliKGUsdCl7dHJ5e3ZhciBuPWUucmVmO2lmKG51bGwhPT1uKXtzd2l0Y2goZS50YWcpe2Nhc2UgMjY6Y2FzZSAyNzpjYXNlIDU6dmFyIHI9ZS5zdGF0ZU5vZGU7YnJlYWs7Y2FzZSAzMDp2YXIgbD1lLnN0YXRlTm9kZSxhPXJuKGUubWVtb2l6ZWRQcm9wcyxsKTsobnVsbD09PWwucmVmfHxsLnJlZi5uYW1lIT09YSkmJihsLnJlZj1jQyhhKSkscj1sLnJlZjticmVhaztjYXNlIDc6bnVsbD09PWUuc3RhdGVOb2RlJiYoZS5zdGF0ZU5vZGU9bmV3IGNUKGUpKSxyPWUuc3RhdGVOb2RlO2JyZWFrO2RlZmF1bHQ6cj1lLnN0YXRlTm9kZX0iZnVuY3Rpb24iPT10eXBlb2Ygbj9lLnJlZkNsZWFudXA9bihyKTpuLmN1cnJlbnQ9cn19Y2F0Y2gobil7c18oZSx0LG4pfX1mdW5jdGlvbiBpdyhlLHQpe3ZhciBuPWUucmVmLHI9ZS5yZWZDbGVhbnVwO2lmKG51bGwhPT1uKWlmKCJmdW5jdGlvbiI9PXR5cGVvZiByKXRyeXtyKCl9Y2F0Y2gobil7c18oZSx0LG4pfWZpbmFsbHl7ZS5yZWZDbGVhbnVwPW51bGwsbnVsbCE9KGU9ZS5hbHRlcm5hdGUpJiYoZS5yZWZDbGVhbnVwPW51bGwpfWVsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pdHJ5e24obnVsbCl9Y2F0Y2gobil7c18oZSx0LG4pfWVsc2Ugbi5jdXJyZW50PW51bGx9ZnVuY3Rpb24gaWsoZSl7dmFyIHQ9ZS50eXBlLG49ZS5tZW1vaXplZFByb3BzLHI9ZS5zdGF0ZU5vZGU7dHJ5e3N3aXRjaCh0KXtjYXNlImJ1dHRvbiI6Y2FzZSJpbnB1dCI6Y2FzZSJzZWxlY3QiOmNhc2UidGV4dGFyZWEiOm4uYXV0b0ZvY3VzJiZyLmZvY3VzKCk7YnJlYWs7Y2FzZSJpbWciOm4uc3JjP3Iuc3JjPW4uc3JjOm4uc3JjU2V0JiYoci5zcmNzZXQ9bi5zcmNTZXQpfX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX1mdW5jdGlvbiBpUyhlLHQsbil7dHJ5e3ZhciByPWUuc3RhdGVOb2RlOyhmdW5jdGlvbihlLHQsbixyKXtzd2l0Y2godCl7Y2FzZSJkaXYiOmNhc2Uic3BhbiI6Y2FzZSJzdmciOmNhc2UicGF0aCI6Y2FzZSJhIjpjYXNlImciOmNhc2UicCI6Y2FzZSJsaSI6YnJlYWs7Y2FzZSJpbnB1dCI6dmFyIGw9bnVsbCxhPW51bGwsbz1udWxsLGk9bnVsbCxzPW51bGwsYz1udWxsLGY9bnVsbDtmb3IobSBpbiBuKXt2YXIgZD1uW21dO2lmKG4uaGFzT3duUHJvcGVydHkobSkmJm51bGwhPWQpc3dpdGNoKG0pe2Nhc2UiY2hlY2tlZCI6Y2FzZSJ2YWx1ZSI6YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOnM9ZDtkZWZhdWx0OnIuaGFzT3duUHJvcGVydHkobSl8fGNuKGUsdCxtLG51bGwscixkKX19Zm9yKHZhciBwIGluIHIpe3ZhciBtPXJbcF07aWYoZD1uW3BdLHIuaGFzT3duUHJvcGVydHkocCkmJihudWxsIT1tfHxudWxsIT1kKSlzd2l0Y2gocCl7Y2FzZSJ0eXBlIjptIT09ZCYmKHRyPSEwKSxhPW07YnJlYWs7Y2FzZSJuYW1lIjptIT09ZCYmKHRyPSEwKSxsPW07YnJlYWs7Y2FzZSJjaGVja2VkIjptIT09ZCYmKHRyPSEwKSxjPW07YnJlYWs7Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6bSE9PWQmJih0cj0hMCksZj1tO2JyZWFrO2Nhc2UidmFsdWUiOm0hPT1kJiYodHI9ITApLG89bTticmVhaztjYXNlImRlZmF1bHRWYWx1ZSI6bSE9PWQmJih0cj0hMCksaT1tO2JyZWFrO2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPW0pdGhyb3cgRXJyb3IodSgxMzcsdCkpO2JyZWFrO2RlZmF1bHQ6bSE9PWQmJmNuKGUsdCxwLG0scixkKX19dGgoZSxvLGkscyxjLGYsYSxsKTtyZXR1cm47Y2FzZSJzZWxlY3QiOmZvcihhIGluIG09bz1pPXA9bnVsbCxuKWlmKHM9blthXSxuLmhhc093blByb3BlcnR5KGEpJiZudWxsIT1zKXN3aXRjaChhKXtjYXNlInZhbHVlIjpicmVhaztjYXNlIm11bHRpcGxlIjptPXM7ZGVmYXVsdDpyLmhhc093blByb3BlcnR5KGEpfHxjbihlLHQsYSxudWxsLHIscyl9Zm9yKGwgaW4gcilpZihhPXJbbF0scz1uW2xdLHIuaGFzT3duUHJvcGVydHkobCkmJihudWxsIT1hfHxudWxsIT1zKSlzd2l0Y2gobCl7Y2FzZSJ2YWx1ZSI6YSE9PXMmJih0cj0hMCkscD1hO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjphIT09cyYmKHRyPSEwKSxpPWE7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6YSE9PXMmJih0cj0hMCksbz1hO2RlZmF1bHQ6YSE9PXMmJmNuKGUsdCxsLGEscixzKX10PWksbj1vLHI9bSxudWxsIT1wP3R5KGUsISFuLHAsITEpOiEhciE9ISFuJiYobnVsbCE9dD90eShlLCEhbix0LCEwKTp0eShlLCEhbixuP1tdOiIiLCExKSk7cmV0dXJuO2Nhc2UidGV4dGFyZWEiOmZvcihpIGluIG09cD1udWxsLG4paWYobD1uW2ldLG4uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPWwmJiFyLmhhc093blByb3BlcnR5KGkpKXN3aXRjaChpKXtjYXNlInZhbHVlIjpjYXNlImNoaWxkcmVuIjpicmVhaztkZWZhdWx0OmNuKGUsdCxpLG51bGwscixsKX1mb3IobyBpbiByKWlmKGw9cltvXSxhPW5bb10sci5oYXNPd25Qcm9wZXJ0eShvKSYmKG51bGwhPWx8fG51bGwhPWEpKXN3aXRjaChvKXtjYXNlInZhbHVlIjpsIT09YSYmKHRyPSEwKSxwPWw7YnJlYWs7Y2FzZSJkZWZhdWx0VmFsdWUiOmwhPT1hJiYodHI9ITApLG09bDticmVhaztjYXNlImNoaWxkcmVuIjpicmVhaztjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1sKXRocm93IEVycm9yKHUoOTEpKTticmVhaztkZWZhdWx0OmwhPT1hJiZjbihlLHQsbyxsLHIsYSl9dGIoZSxwLG0pO3JldHVybjtjYXNlIm9wdGlvbiI6Zm9yKHZhciBoIGluIG4pcD1uW2hdLG4uaGFzT3duUHJvcGVydHkoaCkmJm51bGwhPXAmJiFyLmhhc093blByb3BlcnR5KGgpJiYoInNlbGVjdGVkIj09PWg/ZS5zZWxlY3RlZD0hMTpjbihlLHQsaCxudWxsLHIscCkpO2ZvcihzIGluIHIpcD1yW3NdLG09bltzXSxyLmhhc093blByb3BlcnR5KHMpJiZwIT09bSYmKG51bGwhPXB8fG51bGwhPW0pJiYoInNlbGVjdGVkIj09PXM/KHAhPT1tJiYodHI9ITApLGUuc2VsZWN0ZWQ9cCYmImZ1bmN0aW9uIiE9dHlwZW9mIHAmJiJzeW1ib2wiIT10eXBlb2YgcCk6Y24oZSx0LHMscCxyLG0pKTtyZXR1cm47Y2FzZSJpbWciOmNhc2UibGluayI6Y2FzZSJhcmVhIjpjYXNlImJhc2UiOmNhc2UiYnIiOmNhc2UiY29sIjpjYXNlImVtYmVkIjpjYXNlImhyIjpjYXNlImtleWdlbiI6Y2FzZSJtZXRhIjpjYXNlInBhcmFtIjpjYXNlInNvdXJjZSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcih2YXIgZyBpbiBuKXA9bltnXSxuLmhhc093blByb3BlcnR5KGcpJiZudWxsIT1wJiYhci5oYXNPd25Qcm9wZXJ0eShnKSYmY24oZSx0LGcsbnVsbCxyLHApO2ZvcihjIGluIHIpaWYocD1yW2NdLG09bltjXSxyLmhhc093blByb3BlcnR5KGMpJiZwIT09bSYmKG51bGwhPXB8fG51bGwhPW0pKXN3aXRjaChjKXtjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjppZihudWxsIT1wKXRocm93IEVycm9yKHUoMTM3LHQpKTticmVhaztkZWZhdWx0OmNuKGUsdCxjLHAscixtKX1yZXR1cm47ZGVmYXVsdDppZih0Xyh0KSl7Zm9yKHZhciB2IGluIG4pcD1uW3ZdLG4uaGFzT3duUHJvcGVydHkodikmJnZvaWQgMCE9PXAmJiFyLmhhc093blByb3BlcnR5KHYpJiZjcihlLHQsdix2b2lkIDAscixwKTtmb3IoZiBpbiByKXA9cltmXSxtPW5bZl0sci5oYXNPd25Qcm9wZXJ0eShmKSYmcCE9PW0mJih2b2lkIDAhPT1wfHx2b2lkIDAhPT1tKSYmY3IoZSx0LGYscCxyLG0pO3JldHVybn19Zm9yKHZhciB5IGluIG4pcD1uW3ldLG4uaGFzT3duUHJvcGVydHkoeSkmJm51bGwhPXAmJiFyLmhhc093blByb3BlcnR5KHkpJiZjbihlLHQseSxudWxsLHIscCk7Zm9yKGQgaW4gcilwPXJbZF0sbT1uW2RdLHIuaGFzT3duUHJvcGVydHkoZCkmJnAhPT1tJiYobnVsbCE9cHx8bnVsbCE9bSkmJmNuKGUsdCxkLHAscixtKX0pKHIsZS50eXBlLG4sdCkscltlcV09dH1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfX1mdW5jdGlvbiBpRShlLHQpe2lmKDU9PT1lLnRhZyYmbnVsbD09PWUuYWx0ZXJuYXRlJiZudWxsIT09dClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyljVShlLnN0YXRlTm9kZSx0W25dKX1mdW5jdGlvbiBpeChlKXtmb3IodmFyIHQ9ZS5yZXR1cm47bnVsbCE9PXQ7KXtpZihpUCh0KSl7dmFyIG49ZS5zdGF0ZU5vZGUscj10LnN0YXRlTm9kZS5fZXZlbnRMaXN0ZW5lcnM7aWYobnVsbCE9PXIpZm9yKHZhciBsPTA7bDxyLmxlbmd0aDtsKyspe3ZhciBhPXJbbF07bi5yZW1vdmVFdmVudExpc3RlbmVyKGEudHlwZSxhLmxpc3RlbmVyLGEub3B0aW9uc09yVXNlQ2FwdHVyZSl9fWlmKGlfKHQpKWJyZWFrO3Q9dC5yZXR1cm59fWZ1bmN0aW9uIGlfKGUpe3JldHVybiA1PT09ZS50YWd8fDM9PT1lLnRhZ3x8MjY9PT1lLnRhZ3x8Mjc9PT1lLnRhZyYmY3koZS50eXBlKXx8ND09PWUudGFnfWZ1bmN0aW9uIGlQKGUpe3JldHVybiBlJiY3PT09ZS50YWcmJm51bGwhPT1lLnN0YXRlTm9kZX1mdW5jdGlvbiBpTihlKXtlOmZvcig7Oyl7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxpXyhlLnJldHVybikpcmV0dXJuIG51bGw7ZT1lLnJldHVybn1mb3IoZS5zaWJsaW5nLnJldHVybj1lLnJldHVybixlPWUuc2libGluZzs1IT09ZS50YWcmJjYhPT1lLnRhZyYmMTghPT1lLnRhZzspe2lmKDI3PT09ZS50YWcmJmN5KGUudHlwZSl8fDImZS5mbGFnc3x8bnVsbD09PWUuY2hpbGR8fDQ9PT1lLnRhZyljb250aW51ZSBlO2UuY2hpbGQucmV0dXJuPWUsZT1lLmNoaWxkfWlmKCEoMiZlLmZsYWdzKSlyZXR1cm4gZS5zdGF0ZU5vZGV9fWZ1bmN0aW9uIGlDKGUsdCxuLHIpe3ZhciBsPWUudGFnO2lmKDU9PT1sfHw2PT09bClsPWUuc3RhdGVOb2RlLHQ/bi5pbnNlcnRCZWZvcmUobCx0KTpuLmFwcGVuZENoaWxkKGwpLGlFKGUsciksdHI9ITA7ZWxzZSBpZig0IT09bCYmKDI3PT09bCYmY3koZS50eXBlKSYmKG49ZS5zdGF0ZU5vZGUpLG51bGwhPT0oZT1lLmNoaWxkKSkpZm9yKGlDKGUsdCxuLHIpLGU9ZS5zaWJsaW5nO251bGwhPT1lOylpQyhlLHQsbixyKSxlPWUuc2libGluZ31mdW5jdGlvbiBpVChlKXt2YXIgdD1lLnN0YXRlTm9kZSxuPWUubWVtb2l6ZWRQcm9wczt0cnl7Zm9yKHZhciByPWUudHlwZSxsPXQuYXR0cmlidXRlcztsLmxlbmd0aDspdC5yZW1vdmVBdHRyaWJ1dGVOb2RlKGxbMF0pO2NsKHQscixuKSx0W2VXXT1lLHRbZXFdPW59Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX19dmFyIGlPPSExLGl6PW51bGw7ZnVuY3Rpb24gaUwoZSl7KDMwPT09ZS50YWd8fDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKSYmKGlPPSEwKX12YXIgaVI9bnVsbDtmdW5jdGlvbiBpTSgpe3ZhciBlPWlSO3JldHVybiBpUj1udWxsLGV9dmFyIGlJPTA7ZnVuY3Rpb24gaUQoZSx0LG4scixsKXtyZXR1cm4gaUk9MCxmdW5jdGlvbiBlKHQsbixyLGwsYSl7Zm9yKHZhciBvPSExO251bGwhPT10Oyl7aWYoNT09PXQudGFnKXt2YXIgaT10LnN0YXRlTm9kZTtpZihudWxsIT09bCl7dmFyIHU9Y3goaSk7bC5wdXNoKHUpLHUudmlldyYmKG89ITApfWVsc2Ugb3x8Y3goaSkudmlldyYmKG89ITApO2lPPSEwLGNrKGksMD09PWlJP246bisiXyIraUksciksaUkrK31lbHNlKDIyIT09dC50YWd8fG51bGw9PT10Lm1lbW9pemVkU3RhdGUpJiYoMzA9PT10LnRhZyYmYXx8ZSh0LmNoaWxkLG4scixsLGEpJiYobz0hMCkpO3Q9dC5zaWJsaW5nfXJldHVybiBvfShlLmNoaWxkLHQsbixyLGwpfWZ1bmN0aW9uIGlGKGUsdCl7Zm9yKDtudWxsIT09ZTspNT09PWUudGFnP2NTKGUuc3RhdGVOb2RlLGUubWVtb2l6ZWRQcm9wcyk6KDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpJiYoMzA9PT1lLnRhZyYmdHx8aUYoZS5jaGlsZCx0KSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gaUEoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKCgyMiE9PWUudGFnfHxudWxsPT09ZS5tZW1vaXplZFN0YXRlKSYmKGlBKGUpLDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykmJmUuc3RhdGVOb2RlLnBhaXJlZCkpe3ZhciB0PWUubWVtb2l6ZWRQcm9wcztpZihudWxsPT10Lm5hbWV8fCJhdXRvIj09PXQubmFtZSl0aHJvdyBFcnJvcih1KDU0NCkpO3ZhciBuPXQubmFtZTsibm9uZSIhPT0odD1ybCh0LmRlZmF1bHQsdC5zaGFyZSkpJiYoaUQoZSxuLHQsbnVsbCwhMSl8fGlGKGUuY2hpbGQsITEpKX1lPWUuc2libGluZ319ZnVuY3Rpb24gaWooZSx0KXtpZigzMD09PWUudGFnKXt2YXIgbj1lLnN0YXRlTm9kZSxyPWUubWVtb2l6ZWRQcm9wcyxsPXJuKHIsbiksYT1ybChyLmRlZmF1bHQsbi5wYWlyZWQ/ci5zaGFyZTpyLmVudGVyKTsibm9uZSIhPT1hP2lEKGUsbCxhLG51bGwsITEpPyhpQShlKSxuLnBhaXJlZHx8dHx8dTUoZSxyLm9uRW50ZXIpKTppRihlLmNoaWxkLCExKTppQShlKX1lbHNlIGlmKDAhPSgweDIwMDAwMDAmZS5zdWJ0cmVlRmxhZ3MpKWZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KWlqKGUsdCksZT1lLnNpYmxpbmc7ZWxzZSBpQShlKX1mdW5jdGlvbiBpVShlKXtpZihudWxsIT09aXomJjAhPT1pei5zaXplKXt2YXIgdD1pejtpZigwIT0oMHgxMjAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOyl7aWYoMjIhPT1lLnRhZ3x8bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSl7aWYoMzA9PT1lLnRhZyYmMCE9KDB4MTIwMDAwMCZlLmZsYWdzKSl7dmFyIG49ZS5tZW1vaXplZFByb3BzLHI9bi5uYW1lO2lmKG51bGwhPXImJiJhdXRvIiE9PXIpe3ZhciBsPXQuZ2V0KHIpO2lmKHZvaWQgMCE9PWwpe3ZhciBhPXJsKG4uZGVmYXVsdCxuLnNoYXJlKTtpZigibm9uZSIhPT1hJiYoaUQoZSxyLGEsbnVsbCwhMSk/KGwucGFpcmVkPWE9ZS5zdGF0ZU5vZGUsYS5wYWlyZWQ9bCx1NShlLG4ub25TaGFyZSkpOmlGKGUuY2hpbGQsITEpKSx0LmRlbGV0ZShyKSwwPT09dC5zaXplKWJyZWFrfX19aVUoZSl9ZT1lLnNpYmxpbmd9fX1mdW5jdGlvbiBpQihlKXtpZigzMD09PWUudGFnKXt2YXIgdD1lLm1lbW9pemVkUHJvcHMsbj1ybih0LGUuc3RhdGVOb2RlKSxyPW51bGwhPT1pej9pei5nZXQobik6dm9pZCAwLGw9cmwodC5kZWZhdWx0LHZvaWQgMCE9PXI/dC5zaGFyZTp0LmV4aXQpOyJub25lIiE9PWwmJihpRChlLG4sbCxudWxsLCExKT92b2lkIDAhPT1yPyhyLnBhaXJlZD1sPWUuc3RhdGVOb2RlLGwucGFpcmVkPXIsaXouZGVsZXRlKG4pLHU1KGUsdC5vblNoYXJlKSk6dTUoZSx0Lm9uRXhpdCk6aUYoZS5jaGlsZCwhMSkpLG51bGwhPT1peiYmaVUoZSl9ZWxzZSBpZigwIT0oMHgyMDAwMDAwJmUuc3VidHJlZUZsYWdzKSlmb3IoZT1lLmNoaWxkO251bGwhPT1lOylpQihlKSxlPWUuc2libGluZztlbHNlIG51bGwhPT1peiYmaVUoZSl9ZnVuY3Rpb24gaVYoZSl7aWYoMCE9KDB4MTIwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspe2lmKDIyIT09ZS50YWd8fG51bGw9PT1lLm1lbW9pemVkU3RhdGUpe2lmKDMwPT09ZS50YWcmJjAhPSgweDEyMDAwMDAmZS5mbGFncykpe3ZhciB0PWUuc3RhdGVOb2RlO251bGwhPT10LnBhaXJlZCYmKHQucGFpcmVkPW51bGwsaUYoZS5jaGlsZCwhMSkpfWlWKGUpfWU9ZS5zaWJsaW5nfX1mdW5jdGlvbiBpSChlKXtpZigzMD09PWUudGFnKWUuc3RhdGVOb2RlLnBhaXJlZD1udWxsLGlGKGUuY2hpbGQsITEpLGlWKGUpO2Vsc2UgaWYoMCE9KDB4MjAwMDAwMCZlLnN1YnRyZWVGbGFncykpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspaUgoZSksZT1lLnNpYmxpbmc7ZWxzZSBpVihlKX1mdW5jdGlvbiBpJChlLHQsbixyLGwsYSxvKXtmb3IodmFyIGk9ITE7bnVsbCE9PXQ7KXtpZig1PT09dC50YWcpe3ZhciB1PXQuc3RhdGVOb2RlO2lmKG51bGwhPT1hJiZpSTxhLmxlbmd0aCl7dmFyIHMsYz1hW2lJXSxmPWN4KHUpO2lmKChjLnZpZXd8fGYudmlldykmJihpPSEwKSxzPTA9PSg0JmUuZmxhZ3MpKWlmKGYuY2xpcClzPSEwO2Vsc2V7cz1jLnJlY3Q7dmFyIGQ9Zi5yZWN0O3M9cy55IT09ZC55fHxzLnghPT1kLnh8fHMuaGVpZ2h0IT09ZC5oZWlnaHR8fHMud2lkdGghPT1kLndpZHRofXMmJihlLmZsYWdzfD00KSxmLmFicz9mPSFjLmFiczooYz1jLnJlY3QsZj1mLnJlY3QsZj1jLmhlaWdodCE9PWYuaGVpZ2h0fHxjLndpZHRoIT09Zi53aWR0aCksZiYmKGUuZmxhZ3N8PTMyKX1lbHNlIGUuZmxhZ3N8PTMyOzAhPSg0JmUuZmxhZ3MpJiZjayh1LDA9PT1pST9uOm4rIl8iK2lJLGwpLGkmJjAhPSg0JmUuZmxhZ3MpfHwobnVsbD09PWlSJiYoaVI9W10pLGlSLnB1c2godSxyLHQubWVtb2l6ZWRQcm9wcykpLGlJKyt9ZWxzZSgyMiE9PXQudGFnfHxudWxsPT09dC5tZW1vaXplZFN0YXRlKSYmKDMwPT09dC50YWcmJm8/ZS5mbGFnc3w9MzImdC5mbGFnczppJChlLHQuY2hpbGQsbixyLGwsYSxvKSYmKGk9ITApKTt0PXQuc2libGluZ31yZXR1cm4gaX12YXIgaVE9ITEsaVc9ITEsaXE9ITEsaUs9ITEsaVg9ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtTZXQ/V2Vha1NldDpTZXQsaUc9bnVsbCxpWT0hMSxpSj0hMSxpWj0hMSxpMD0hMTtmdW5jdGlvbiBpMShlKXtmb3IoO251bGwhPT1pRzspe3ZhciB0PWlHLG49ZSxyPXQuYWx0ZXJuYXRlLGw9dC5mbGFncztzd2l0Y2godC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWYoMCE9KDQmbCkmJm51bGwhPT0ocj1udWxsIT09KHI9dC51cGRhdGVRdWV1ZSk/ci5ldmVudHM6bnVsbCkpZm9yKG49MDtuPHIubGVuZ3RoO24rKykobD1yW25dKS5yZWYuaW1wbD1sLm5leHRJbXBsO2JyZWFrO2Nhc2UgMTppZigwIT0oMTAyNCZsKSYmbnVsbCE9PXIpe249dm9pZCAwLGw9ci5tZW1vaXplZFByb3BzLHI9ci5tZW1vaXplZFN0YXRlO3ZhciBhPXQuc3RhdGVOb2RlO3RyeXt2YXIgbz1vTyh0LnR5cGUsbCk7bj1hLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKG8sciksYS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZT1ufWNhdGNoKGUpe3NfKHQsdC5yZXR1cm4sZSl9fWJyZWFrO2Nhc2UgMzppZigwIT0oMTAyNCZsKSl7aWYoOT09PShuPShyPXQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLm5vZGVUeXBlKSljQihyKTtlbHNlIGlmKDE9PT1uKXN3aXRjaChyLm5vZGVOYW1lKXtjYXNlIkhFQUQiOmNhc2UiSFRNTCI6Y2FzZSJCT0RZIjpjQihyKTticmVhaztkZWZhdWx0OnIudGV4dENvbnRlbnQ9IiJ9fWJyZWFrO2Nhc2UgNTpjYXNlIDI2OmNhc2UgMjc6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OmJyZWFrO2Nhc2UgMzA6biYmbnVsbCE9PXImJihuPXJuKHIubWVtb2l6ZWRQcm9wcyxyLnN0YXRlTm9kZSksIm5vbmUiIT09KGw9cmwoKGw9dC5tZW1vaXplZFByb3BzKS5kZWZhdWx0LGwudXBkYXRlKSkmJmlEKHIsbixsLHIubWVtb2l6ZWRTdGF0ZT1bXSwhMCkpO2JyZWFrO2RlZmF1bHQ6aWYoMCE9KDEwMjQmbCkpdGhyb3cgRXJyb3IodSgxNjMpKX1pZihudWxsIT09KHI9dC5zaWJsaW5nKSl7ci5yZXR1cm49dC5yZXR1cm4saUc9cjticmVha31pRz10LnJldHVybn19ZnVuY3Rpb24gaTIoZSx0LG4pe3ZhciByPW4uZmxhZ3M7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnVpKGUsbiksNCZyJiZpaCg1LG4pO2JyZWFrO2Nhc2UgMTppZih1aShlLG4pLDQmcilpZihlPW4uc3RhdGVOb2RlLG51bGw9PT10KXRyeXtlLmNvbXBvbmVudERpZE1vdW50KCl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX1lbHNle3ZhciBsPW9PKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpO3Q9dC5tZW1vaXplZFN0YXRlO3RyeXtlLmNvbXBvbmVudERpZFVwZGF0ZShsLHQsZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX19NjQmciYmaXYobiksNTEyJnImJmliKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgMzppZih1aShlLG4pLDY0JnImJm51bGwhPT0oZT1uLnVwZGF0ZVF1ZXVlKSl7aWYodD1udWxsLG51bGwhPT1uLmNoaWxkKXN3aXRjaChuLmNoaWxkLnRhZyl7Y2FzZSAyNzpjYXNlIDU6Y2FzZSAxOnQ9bi5jaGlsZC5zdGF0ZU5vZGV9dHJ5e2xZKGUsdCl9Y2F0Y2goZSl7c18obixuLnJldHVybixlKX19YnJlYWs7Y2FzZSAyNzpudWxsPT09dCYmNCZyJiZpVChuKTtjYXNlIDI2OmNhc2UgNTp1aShlLG4pLG51bGw9PT10JiY0JnImJmlrKG4pLDUxMiZyJiZpYihuLG4ucmV0dXJuKTticmVhaztjYXNlIDEyOnVpKGUsbik7YnJlYWs7Y2FzZSAzMTp1aShlLG4pLDQmciYmaTkoZSxuKTticmVhaztjYXNlIDEzOnVpKGUsbiksNCZyJiZpNyhlLG4pLDY0JnImJm51bGwhPT0oZT1uLm1lbW9pemVkU3RhdGUpJiZudWxsIT09KGU9ZS5kZWh5ZHJhdGVkKSYmZnVuY3Rpb24oZSx0KXt2YXIgbj1lLm93bmVyRG9jdW1lbnQ7aWYoIiR+Ij09PWUuZGF0YSllLl9yZWFjdFJldHJ5PXQ7ZWxzZSBpZigiJD8iIT09ZS5kYXRhfHwibG9hZGluZyIhPT1uLnJlYWR5U3RhdGUpdCgpO2Vsc2V7dmFyIHI9ZnVuY3Rpb24oKXt0KCksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKX07bi5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixyKSxlLl9yZWFjdFJldHJ5PXJ9fShlLG49c1QuYmluZChudWxsLG4pKTticmVhaztjYXNlIDIyOmlmKCEocj1udWxsIT09bi5tZW1vaXplZFN0YXRlfHxpUSkpe3Q9bnVsbCE9PXQmJm51bGwhPT10Lm1lbW9pemVkU3RhdGV8fGlXLGw9aVE7dmFyIGE9aVc7aVE9ciwoaVc9dCkmJiFhP2Z1bmN0aW9uIGUodCxuLHIpe2ZvcihyPXImJjAhPSg4NzcyJm4uc3VidHJlZUZsYWdzKSxuPW4uY2hpbGQ7bnVsbCE9PW47KXt2YXIgbD1uLmFsdGVybmF0ZSxhPXQsbz1uLGk9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZShhLG8sciksaWgoNCxvKTticmVhaztjYXNlIDE6aWYoZShhLG8sciksImZ1bmN0aW9uIj09dHlwZW9mKGE9KGw9bykuc3RhdGVOb2RlKS5jb21wb25lbnREaWRNb3VudCl0cnl7YS5jb21wb25lbnREaWRNb3VudCgpfWNhdGNoKGUpe3NfKGwsbC5yZXR1cm4sZSl9aWYobnVsbCE9PShhPShsPW8pLnVwZGF0ZVF1ZXVlKSl7dmFyIHU9bC5zdGF0ZU5vZGU7dHJ5e3ZhciBzPWEuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcztpZihudWxsIT09cylmb3IoYS5zaGFyZWQuaGlkZGVuQ2FsbGJhY2tzPW51bGwsYT0wO2E8cy5sZW5ndGg7YSsrKWxHKHNbYV0sdSl9Y2F0Y2goZSl7c18obCxsLnJldHVybixlKX19ciYmNjQmaSYmaXYobyksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSAyNzppVChvKTtjYXNlIDI2OmNhc2UgNTppZig1PT09by50YWcpe3U9bztmb3IodmFyIGM9dS5yZXR1cm47bnVsbCE9PWMmJihpUChjKSYmY1UodS5zdGF0ZU5vZGUsYy5zdGF0ZU5vZGUpLCFpXyhjKSk7KWM9Yy5yZXR1cm59ZShhLG8sciksciYmbnVsbD09PWwmJjQmaSYmaWsobyksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSAxMjplKGEsbyxyKTticmVhaztjYXNlIDMxOmUoYSxvLHIpLHImJjQmaSYmaTkoYSxvKTticmVhaztjYXNlIDEzOmUoYSxvLHIpLHImJjQmaSYmaTcoYSxvKTticmVhaztjYXNlIDIyOm51bGw9PT1vLm1lbW9pemVkU3RhdGUmJmUoYSxvLHIpLGliKG8sby5yZXR1cm4pO2JyZWFrO2Nhc2UgMzA6ZShhLG8sciksaWIobyxvLnJldHVybik7YnJlYWs7Y2FzZSA3OmliKG8sby5yZXR1cm4pO2RlZmF1bHQ6ZShhLG8scil9bj1uLnNpYmxpbmd9fShlLG4sMCE9KDg3NzImbi5zdWJ0cmVlRmxhZ3MpKTp1aShlLG4pLGlRPWwsaVc9YX1icmVhaztjYXNlIDMwOnVpKGUsbiksNTEyJnImJmliKG4sbi5yZXR1cm4pO2JyZWFrO2Nhc2UgNzo1MTImciYmaWIobixuLnJldHVybik7ZGVmYXVsdDp1aShlLG4pfX1mdW5jdGlvbiBpMyhlLHQpe2ZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KShmdW5jdGlvbiBlKHQsbil7c3dpdGNoKHQudGFnKXtjYXNlIDU6Y2FzZSAyNjp0cnl7dmFyIHI9dC5zdGF0ZU5vZGU7aWYobil7dmFyIGw9ci5zdHlsZTsiZnVuY3Rpb24iPT10eXBlb2YgbC5zZXRQcm9wZXJ0eT9sLnNldFByb3BlcnR5KCJkaXNwbGF5Iiwibm9uZSIsImltcG9ydGFudCIpOmwuZGlzcGxheT0ibm9uZSJ9ZWxzZXt2YXIgYT10LnN0YXRlTm9kZSxvPXQubWVtb2l6ZWRQcm9wcy5zdHlsZSxpPW51bGwhPW8mJm8uaGFzT3duUHJvcGVydHkoImRpc3BsYXkiKT9vLmRpc3BsYXk6bnVsbDthLnN0eWxlLmRpc3BsYXk9bnVsbD09aXx8ImJvb2xlYW4iPT10eXBlb2YgaT8iIjooIiIraSkudHJpbSgpfX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfSFmdW5jdGlvbiB0KG4scil7aWYoMHg0MDAwMDAwJm4uc3VidHJlZUZsYWdzKWZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KXtlOnt2YXIgbD1uO3N3aXRjaChsLnRhZyl7Y2FzZSA0OmUobCxyKTticmVhayBlO2Nhc2UgMjI6bnVsbD09PWwubWVtb2l6ZWRTdGF0ZSYmdChsLHIpO2JyZWFrIGU7ZGVmYXVsdDp0KGwscil9fW49bi5zaWJsaW5nfX0odCxuKTticmVhaztjYXNlIDY6dHJ5e3Quc3RhdGVOb2RlLm5vZGVWYWx1ZT1uPyIiOnQubWVtb2l6ZWRQcm9wcyx0cj0hMH1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfWJyZWFrO2Nhc2UgMTg6dHJ5e3ZhciB1PXQuc3RhdGVOb2RlO24/Y3codSwhMCk6Y3codC5zdGF0ZU5vZGUsITEpfWNhdGNoKGUpe3NfKHQsdC5yZXR1cm4sZSl9YnJlYWs7Y2FzZSAyMjpjYXNlIDIzOm51bGw9PT10Lm1lbW9pemVkU3RhdGUmJmkzKHQsbik7YnJlYWs7ZGVmYXVsdDppMyh0LG4pfX0pKGUsdCksZT1lLnNpYmxpbmd9dmFyIGk0PW51bGwsaTg9ITE7ZnVuY3Rpb24gaTUoZSx0LG4pe2ZvcihuPW4uY2hpbGQ7bnVsbCE9PW47KWk2KGUsdCxuKSxuPW4uc2libGluZ31mdW5jdGlvbiBpNihlLHQsbil7aWYoZV8mJiJmdW5jdGlvbiI9PXR5cGVvZiBlXy5vbkNvbW1pdEZpYmVyVW5tb3VudCl0cnl7ZV8ub25Db21taXRGaWJlclVubW91bnQoZXgsbil9Y2F0Y2goZSl7fXN3aXRjaChuLnRhZyl7Y2FzZSAyNjppV3x8aXcobix0KSxpNShlLHQsbiksbi5tZW1vaXplZFN0YXRlP24ubWVtb2l6ZWRTdGF0ZS5jb3VudC0tOm4uc3RhdGVOb2RlJiYobj1uLnN0YXRlTm9kZSkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChuKTticmVhaztjYXNlIDI3OmlXfHxpdyhuLHQpO3ZhciByPWk0LGw9aTg7Y3kobi50eXBlKSYmKGk0PW4uc3RhdGVOb2RlLGk4PSExKSxpNShlLHQsbiksY0cobi5zdGF0ZU5vZGUpLGk0PXIsaTg9bDticmVhaztjYXNlIDU6aVd8fGl3KG4sdCksNT09PW4udGFnJiZpeChuKTtjYXNlIDY6aWYocj1pNCxsPWk4LGk0PW51bGwsaTUoZSx0LG4pLGk0PXIsaTg9bCxudWxsIT09aTQpaWYoaTgpdHJ5eyg5PT09aTQubm9kZVR5cGU/aTQuYm9keToiSFRNTCI9PT1pNC5ub2RlTmFtZT9pNC5vd25lckRvY3VtZW50LmJvZHk6aTQpLnJlbW92ZUNoaWxkKG4uc3RhdGVOb2RlKSx0cj0hMH1jYXRjaChlKXtzXyhuLHQsZSl9ZWxzZSB0cnl7aTQucmVtb3ZlQ2hpbGQobi5zdGF0ZU5vZGUpLHRyPSEwfWNhdGNoKGUpe3NfKG4sdCxlKX1icmVhaztjYXNlIDE4Om51bGwhPT1pNCYmKGk4PyhjYig5PT09KGU9aTQpLm5vZGVUeXBlP2UuYm9keToiSFRNTCI9PT1lLm5vZGVOYW1lP2Uub3duZXJEb2N1bWVudC5ib2R5OmUsbi5zdGF0ZU5vZGUpLGZHKGUpKTpjYihpNCxuLnN0YXRlTm9kZSkpO2JyZWFrO2Nhc2UgNDpyPWk0LGw9aTgsaTQ9bi5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyxpOD0hMCxpNShlLHQsbiksaTQ9cixpOD1sO2JyZWFrO2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTppZygyLG4sdCksaVd8fGlnKDQsbix0KSxpNShlLHQsbik7YnJlYWs7Y2FzZSAxOmlXfHwoaXcobix0KSwiZnVuY3Rpb24iPT10eXBlb2Yocj1uLnN0YXRlTm9kZSkuY29tcG9uZW50V2lsbFVubW91bnQmJml5KG4sdCxyKSksaTUoZSx0LG4pO2JyZWFrO2Nhc2UgMjE6ZGVmYXVsdDppNShlLHQsbik7YnJlYWs7Y2FzZSAyMjppVz0ocj1pVyl8fG51bGwhPT1uLm1lbW9pemVkU3RhdGUsaTUoZSx0LG4pLGlXPXI7YnJlYWs7Y2FzZSAzMDppdyhuLHQpLGk1KGUsdCxuKTticmVhaztjYXNlIDc6aVd8fGl3KG4sdCksaTUoZSx0LG4pfX1mdW5jdGlvbiBpOShlLHQpe2lmKG51bGw9PT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT0oZT10LmFsdGVybmF0ZSkmJm51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpKXtlPWUuZGVoeWRyYXRlZDt0cnl7ZkcoZSl9Y2F0Y2goZSl7c18odCx0LnJldHVybixlKX19fWZ1bmN0aW9uIGk3KGUsdCl7aWYobnVsbD09PXQubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PShlPXQuYWx0ZXJuYXRlKSYmbnVsbCE9PShlPWUubWVtb2l6ZWRTdGF0ZSkmJm51bGwhPT0oZT1lLmRlaHlkcmF0ZWQpKXRyeXtmRyhlKX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1mdW5jdGlvbiB1ZShlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOmNhc2UgMTk6dmFyIHQ9ZS5zdGF0ZU5vZGU7cmV0dXJuIG51bGw9PT10JiYodD1lLnN0YXRlTm9kZT1uZXcgaVgpLHQ7Y2FzZSAyMjpyZXR1cm4gbnVsbD09PSh0PShlPWUuc3RhdGVOb2RlKS5fcmV0cnlDYWNoZSkmJih0PWUuX3JldHJ5Q2FjaGU9bmV3IGlYKSx0O2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0MzUsZS50YWcpKX19KGUpO3QuZm9yRWFjaChmdW5jdGlvbih0KXtpZighbi5oYXModCkpe24uYWRkKHQpO3ZhciByPXNPLmJpbmQobnVsbCxlLHQpO3QudGhlbihyLHIpfX0pfWZ1bmN0aW9uIHV0KGUsdCxuKXt2YXIgcj10LmRlbGV0aW9ucztpZihudWxsIT09cilmb3IodmFyIGw9MDtsPHIubGVuZ3RoO2wrKyl7dmFyIGE9cltsXSxvPWUsaT10LHM9aTtlOmZvcig7bnVsbCE9PXM7KXtzd2l0Y2gocy50YWcpe2Nhc2UgMjc6aWYoY3kocy50eXBlKSl7aTQ9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZX1icmVhaztjYXNlIDU6aTQ9cy5zdGF0ZU5vZGUsaTg9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0Omk0PXMuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8saTg9ITA7YnJlYWsgZX1zPXMucmV0dXJufWlmKG51bGw9PT1pNCl0aHJvdyBFcnJvcih1KDE2MCkpO2k2KG8saSxhKSxpND1udWxsLGk4PSExLG51bGwhPT0obz1hLmFsdGVybmF0ZSkmJihvLnJldHVybj1udWxsKSxhLnJldHVybj1udWxsfWlmKDEzODg2JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXVyKHQsZSxuKSx0PXQuc2libGluZ312YXIgdW49bnVsbDtmdW5jdGlvbiB1cihlLHQsbil7dmFyIHI9ZS5hbHRlcm5hdGUsbD1lLmZsYWdzO3N3aXRjaChlLnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OnV0KHQsZSxuKSx1bChlKSw0JmwmJihpZygzLGUsZS5yZXR1cm4pLGloKDMsZSksaWcoNSxlLGUucmV0dXJuKSk7YnJlYWs7Y2FzZSAxOnV0KHQsZSxuKSx1bChlKSw1MTImbCYmKGlXfHxudWxsPT09cnx8aXcocixyLnJldHVybikpLDY0JmwmJmlRJiZudWxsIT09KGU9ZS51cGRhdGVRdWV1ZSkmJm51bGwhPT0ocj1lLmNhbGxiYWNrcykmJih0PWUuc2hhcmVkLmhpZGRlbkNhbGxiYWNrcyxlLnNoYXJlZC5oaWRkZW5DYWxsYmFja3M9bnVsbD09PXQ/cjp0LmNvbmNhdChyKSk7YnJlYWs7Y2FzZSAyNjp2YXIgYT11bjtpZih1dCh0LGUsbiksdWwoZSksNTEyJmwmJihpV3x8bnVsbD09PXJ8fGl3KHIsci5yZXR1cm4pKSw0JmwpaWYobj1udWxsIT09cj9yLm1lbW9pemVkU3RhdGU6bnVsbCx0PWUubWVtb2l6ZWRTdGF0ZSxudWxsPT09cilpZihudWxsPT09dClpZihudWxsPT09ZS5zdGF0ZU5vZGUpe2U6e3I9ZS50eXBlLHQ9ZS5tZW1vaXplZFByb3BzLG49YS5vd25lckRvY3VtZW50fHxhO3Q6c3dpdGNoKHIpe2Nhc2UidGl0bGUiOighKGw9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGl0bGUiKVswXSl8fGxbZVpdfHxsW2VXXXx8Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWwubmFtZXNwYWNlVVJJfHxsLmhhc0F0dHJpYnV0ZSgiaXRlbXByb3AiKSkmJihsPW4uY3JlYXRlRWxlbWVudChyKSxuLmhlYWQuaW5zZXJ0QmVmb3JlKGwsbi5xdWVyeVNlbGVjdG9yKCJoZWFkID4gdGl0bGUiKSkpLGNsKGwscix0KSxsW2VXXT1lLGU4KGwpLHI9bDticmVhayBlO2Nhc2UibGluayI6aWYoYT1mbCgibGluayIsImhyZWYiLG4pLmdldChyKyh0LmhyZWZ8fCIiKSkpe2Zvcih2YXIgbz0wO288YS5sZW5ndGg7bysrKWlmKChsPWFbb10pLmdldEF0dHJpYnV0ZSgiaHJlZiIpPT09KG51bGw9PXQuaHJlZnx8IiI9PT10LmhyZWY/bnVsbDp0LmhyZWYpJiZsLmdldEF0dHJpYnV0ZSgicmVsIik9PT0obnVsbD09dC5yZWw/bnVsbDp0LnJlbCkmJmwuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpPT09KG51bGw9PXQudGl0bGU/bnVsbDp0LnRpdGxlKSYmbC5nZXRBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik9PT0obnVsbD09dC5jcm9zc09yaWdpbj9udWxsOnQuY3Jvc3NPcmlnaW4pKXthLnNwbGljZShvLDEpO2JyZWFrIHR9fWNsKGw9bi5jcmVhdGVFbGVtZW50KHIpLHIsdCksbi5oZWFkLmFwcGVuZENoaWxkKGwpO2JyZWFrO2Nhc2UibWV0YSI6aWYoYT1mbCgibWV0YSIsImNvbnRlbnQiLG4pLmdldChyKyh0LmNvbnRlbnR8fCIiKSkpe2ZvcihvPTA7bzxhLmxlbmd0aDtvKyspaWYoKGw9YVtvXSkuZ2V0QXR0cmlidXRlKCJjb250ZW50Iik9PT0obnVsbD09dC5jb250ZW50P251bGw6IiIrdC5jb250ZW50KSYmbC5nZXRBdHRyaWJ1dGUoIm5hbWUiKT09PShudWxsPT10Lm5hbWU/bnVsbDp0Lm5hbWUpJiZsLmdldEF0dHJpYnV0ZSgicHJvcGVydHkiKT09PShudWxsPT10LnByb3BlcnR5P251bGw6dC5wcm9wZXJ0eSkmJmwuZ2V0QXR0cmlidXRlKCJodHRwLWVxdWl2Iik9PT0obnVsbD09dC5odHRwRXF1aXY/bnVsbDp0Lmh0dHBFcXVpdikmJmwuZ2V0QXR0cmlidXRlKCJjaGFyc2V0Iik9PT0obnVsbD09dC5jaGFyU2V0P251bGw6dC5jaGFyU2V0KSl7YS5zcGxpY2UobywxKTticmVhayB0fX1jbChsPW4uY3JlYXRlRWxlbWVudChyKSxyLHQpLG4uaGVhZC5hcHBlbmRDaGlsZChsKTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoNDY4LHIpKX1sW2VXXT1lLGU4KGwpLHI9bH1lLnN0YXRlTm9kZT1yfWVsc2UgZmEoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpO2Vsc2UgZS5zdGF0ZU5vZGU9YzcoYSx0LGUubWVtb2l6ZWRQcm9wcyk7ZWxzZSBuIT09dD8obnVsbD09PW4/bnVsbCE9PXIuc3RhdGVOb2RlJiYocj1yLnN0YXRlTm9kZSkucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKTpuLmNvdW50LS0sbnVsbD09PXQ/ZmEoYSxlLnR5cGUsZS5zdGF0ZU5vZGUpOmM3KGEsdCxlLm1lbW9pemVkUHJvcHMpKTpudWxsPT09dCYmbnVsbCE9PWUuc3RhdGVOb2RlJiZpUyhlLGUubWVtb2l6ZWRQcm9wcyxyLm1lbW9pemVkUHJvcHMpO2JyZWFrO2Nhc2UgMjc6dXQodCxlLG4pLHVsKGUpLDUxMiZsJiYoaVd8fG51bGw9PT1yfHxpdyhyLHIucmV0dXJuKSksbnVsbCE9PXImJjQmbCYmaVMoZSxlLm1lbW9pemVkUHJvcHMsci5tZW1vaXplZFByb3BzKTticmVhaztjYXNlIDU6aWYoYT1pcSxpcT0hMSx1dCh0LGUsbiksaXE9YSx1bChlKSw1MTImbCYmKGlXfHxudWxsPT09cnx8aXcocixyLnJldHVybikpLDMyJmUuZmxhZ3Mpe3Q9ZS5zdGF0ZU5vZGU7dHJ5e3RrKHQsIiIpLHRyPSEwfWNhdGNoKHQpe3NfKGUsZS5yZXR1cm4sdCl9fTQmbCYmbnVsbCE9ZS5zdGF0ZU5vZGUmJih0PWUubWVtb2l6ZWRQcm9wcyxpUyhlLHQsbnVsbCE9PXI/ci5tZW1vaXplZFByb3BzOnQpKSwxMDI0JmwmJihpSz0hMCk7YnJlYWs7Y2FzZSA2OmlmKHV0KHQsZSxuKSx1bChlKSw0Jmwpe2lmKG51bGw9PT1lLnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2MikpO3I9ZS5tZW1vaXplZFByb3BzLHQ9ZS5zdGF0ZU5vZGU7dHJ5e3Qubm9kZVZhbHVlPXIsdHI9ITB9Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX19YnJlYWs7Y2FzZSAzOmlmKHRyPSExLGZyPW51bGwsYT11bix1bj1jWih0LmNvbnRhaW5lckluZm8pLHV0KHQsZSxuKSx1bj1hLHVsKGUpLDQmbCYmbnVsbCE9PXImJnIubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpdHJ5e2ZHKHQuY29udGFpbmVySW5mbyl9Y2F0Y2godCl7c18oZSxlLnJldHVybix0KX1pSyYmKGlLPSExLGZ1bmN0aW9uIGUodCl7aWYoMTAyNCZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10Oyl7dmFyIG49dDtlKG4pLDU9PT1uLnRhZyYmMTAyNCZuLmZsYWdzJiZuLnN0YXRlTm9kZS5yZXNldCgpLHQ9dC5zaWJsaW5nfX0oZSkpLHRyPSExO2JyZWFrO2Nhc2UgNDpyPWlxLGlxPWlRLGw9dGwoKSxhPXVuLHVuPWNaKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHV0KHQsZSxuKSx1bChlKSx1bj1hLHRyJiZpSiYmKGlaPSEwKSx0cj1sLGlxPXI7YnJlYWs7Y2FzZSAxMjp1dCh0LGUsbiksdWwoZSk7YnJlYWs7Y2FzZSAzMTpjYXNlIDE5OnV0KHQsZSxuKSx1bChlKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1ZShlLHIpKTticmVhaztjYXNlIDEzOnV0KHQsZSxuKSx1bChlKSw4MTkyJmUuY2hpbGQuZmxhZ3MmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUhPShudWxsIT09ciYmbnVsbCE9PXIubWVtb2l6ZWRTdGF0ZSkmJih1Qj1ldigpKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmKGUudXBkYXRlUXVldWU9bnVsbCx1ZShlLHIpKTticmVhaztjYXNlIDIyOmE9bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxvPW51bGwhPT1yJiZudWxsIT09ci5tZW1vaXplZFN0YXRlO3ZhciBpPWlRLHM9aVcsYz1pcTtpUT1pfHxhLGlxPWN8fGEsaVc9c3x8byx1dCh0LGUsbiksaVc9cyxpcT1jLGlRPWksdWwoZSksODE5MiZsJiYoKHQ9ZS5zdGF0ZU5vZGUpLl92aXNpYmlsaXR5PWE/LTImdC5fdmlzaWJpbGl0eToxfHQuX3Zpc2liaWxpdHksYSYmKG51bGw9PT1yfHxvfHxpUXx8aVd8fGZ1bmN0aW9uIGUodCl7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3ZhciBuPXQ7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE0OmNhc2UgMTU6aWcoNCxuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgMTppdyhuLG4ucmV0dXJuKTt2YXIgcj1uLnN0YXRlTm9kZTsiZnVuY3Rpb24iPT10eXBlb2Ygci5jb21wb25lbnRXaWxsVW5tb3VudCYmaXkobixuLnJldHVybixyKSxlKG4pO2JyZWFrO2Nhc2UgMjc6Y0cobi5zdGF0ZU5vZGUpO2Nhc2UgMjY6Y2FzZSA1Oml3KG4sbi5yZXR1cm4pLDU9PT1uLnRhZyYmaXgobiksZShuKTticmVhaztjYXNlIDIyOm51bGw9PT1uLm1lbW9pemVkU3RhdGUmJmUobik7YnJlYWs7Y2FzZSAzMDppdyhuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgNzppdyhuLG4ucmV0dXJuKTtkZWZhdWx0OmUobil9dD10LnNpYmxpbmd9fShlKSksIWEmJmlxfHxpMyhlLGEpKSw0JmwmJm51bGwhPT0ocj1lLnVwZGF0ZVF1ZXVlKSYmbnVsbCE9PSh0PXIucmV0cnlRdWV1ZSkmJihyLnJldHJ5UXVldWU9bnVsbCx1ZShlLHQpKTticmVhaztjYXNlIDMwOjUxMiZsJiYoaVd8fG51bGw9PT1yfHxpdyhyLHIucmV0dXJuKSksbD10bCgpLGE9aUosbz0oMHgxM2ZmZmYwMCZuKT09PW4saT1lLm1lbW9pemVkUHJvcHMsaUo9byYmIm5vbmUiIT09cmwoaS5kZWZhdWx0LGkudXBkYXRlKSx1dCh0LGUsbiksdWwoZSksbyYmbnVsbCE9PXImJnRyJiYoZS5mbGFnc3w9NCksaUo9YSx0cj1sO2JyZWFrO2Nhc2UgMjE6YnJlYWs7Y2FzZSA3OnImJm51bGwhPT1yLnN0YXRlTm9kZSYmKHIuc3RhdGVOb2RlLl9mcmFnbWVudEZpYmVyPWUpO2RlZmF1bHQ6dXQodCxlLG4pLHVsKGUpfX1mdW5jdGlvbiB1bChlKXt2YXIgdD1lLmZsYWdzO2lmKDImdCl7dHJ5e2Zvcih2YXIgbixyPW51bGwsbD1lLnJldHVybjtudWxsIT09bDspe2lmKGlQKGwpKXt2YXIgYT1sLnN0YXRlTm9kZTtudWxsPT09cj9yPVthXTpyLnB1c2goYSl9aWYoaV8obCkpe249bDticmVha31sPWwucmV0dXJufWlmKG51bGw9PW4pdGhyb3cgRXJyb3IodSgxNjApKTtzd2l0Y2gobi50YWcpe2Nhc2UgMjc6dmFyIG89bi5zdGF0ZU5vZGUsaT1pTihlKTtpQyhlLGksbyxyKTticmVhaztjYXNlIDU6dmFyIHM9bi5zdGF0ZU5vZGU7MzImbi5mbGFncyYmKHRrKHMsIiIpLG4uZmxhZ3MmPS0zMyk7dmFyIGM9aU4oZSk7aUMoZSxjLHMscik7YnJlYWs7Y2FzZSAzOmNhc2UgNDp2YXIgZj1uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLGQ9aU4oZSk7IWZ1bmN0aW9uIGUodCxuLHIsbCl7dmFyIGE9dC50YWc7aWYoNT09PWF8fDY9PT1hKWE9dC5zdGF0ZU5vZGUsbj8oOT09PXIubm9kZVR5cGU/ci5ib2R5OiJIVE1MIj09PXIubm9kZU5hbWU/ci5vd25lckRvY3VtZW50LmJvZHk6cikuaW5zZXJ0QmVmb3JlKGEsbik6KChuPTk9PT1yLm5vZGVUeXBlP3IuYm9keToiSFRNTCI9PT1yLm5vZGVOYW1lP3Iub3duZXJEb2N1bWVudC5ib2R5OnIpLmFwcGVuZENoaWxkKGEpLG51bGwhPShyPXIuX3JlYWN0Um9vdENvbnRhaW5lcil8fG51bGwhPT1uLm9uY2xpY2t8fChuLm9uY2xpY2s9dFQpKSxpRSh0LGwpLHRyPSEwO2Vsc2UgaWYoNCE9PWEmJigyNz09PWEmJmN5KHQudHlwZSkmJihyPXQuc3RhdGVOb2RlLG49bnVsbCksbnVsbCE9PSh0PXQuY2hpbGQpKSlmb3IoZSh0LG4scixsKSx0PXQuc2libGluZztudWxsIT09dDspZSh0LG4scixsKSx0PXQuc2libGluZ30oZSxkLGYscik7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDE2MSkpfX1jYXRjaCh0KXtzXyhlLGUucmV0dXJuLHQpfWUuZmxhZ3MmPS0zfTQwOTYmdCYmKGUuZmxhZ3MmPS00MDk3KX1mdW5jdGlvbiB1YShlLHQpe2lmKDkyNzAmdC5zdWJ0cmVlRmxhZ3MpZm9yKHQ9dC5jaGlsZDtudWxsIT09dDspdW8odCxlKSx0PXQuc2libGluZztlbHNlIWZ1bmN0aW9uIGUodCxuKXtmb3IodD10LmNoaWxkO251bGwhPT10Oyl7aWYoMzA9PT10LnRhZyl7dmFyIHI9dC5tZW1vaXplZFByb3BzLGw9dC5zdGF0ZU5vZGUsYT1ybihyLGwpLG89cmwoci5kZWZhdWx0LHIudXBkYXRlKTtpZihuKXZhciBpPW51bGw9PT0obD1sLmNsb25lcyk/bnVsbDpsLm1hcChjXyk7ZWxzZSBpPXQubWVtb2l6ZWRTdGF0ZSx0Lm1lbW9pemVkU3RhdGU9bnVsbDtsPXQ7dmFyIHU9dC5jaGlsZDtpST0wLGE9aSQobCx1LGEsYSxvLGksITEpLDAhPSg0JnQuZmxhZ3MpJiZhJiYobnx8dTUodCxyLm9uVXBkYXRlKSl9ZWxzZSAwIT0oMHgyMDAwMDAwJnQuc3VidHJlZUZsYWdzKSYmZSh0LG4pO3Q9dC5zaWJsaW5nfX0odCwhMSl9ZnVuY3Rpb24gdW8oZSx0KXt2YXIgbj1lLmFsdGVybmF0ZTtpZihudWxsPT09bilpaihlLCExKTtlbHNlIHN3aXRjaChlLnRhZyl7Y2FzZSAzOmlmKGkwPWlZPSExLGlNKCksdWEodCxlKSwhaVkmJiFpWil7aWYobnVsbCE9PShlPWlSKSlmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrPTMpe249ZVtyXTt2YXIgbD1lW3IrMV07Y1MobixlW3IrMl0pLG51bGwhPT0obj1uLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmbi5hbmltYXRlKHtvcGFjaXR5OlswLDBdLHBvaW50ZXJFdmVudHM6WyJub25lIiwibm9uZSJdfSx7ZHVyYXRpb246MCxmaWxsOiJmb3J3YXJkcyIscHNldWRvRWxlbWVudDoiOjp2aWV3LXRyYW5zaXRpb24tZ3JvdXAoIitsKyIpIn0pfW51bGwhPT0oZT05PT09KGU9dC5jb250YWluZXJJbmZvKS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmIiI9PT1lLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZSYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPSJub25lIixlLmFuaW1hdGUoe29wYWNpdHk6WzAsMF0scG9pbnRlckV2ZW50czpbIm5vbmUiLCJub25lIl19LHtkdXJhdGlvbjowLGZpbGw6ImZvcndhcmRzIixwc2V1ZG9FbGVtZW50OiI6OnZpZXctdHJhbnNpdGlvbi1ncm91cChyb290KSJ9KSxlLmFuaW1hdGUoe3dpZHRoOlswLDBdLGhlaWdodDpbMCwwXX0se2R1cmF0aW9uOjAsZmlsbDoiZm9yd2FyZHMiLHBzZXVkb0VsZW1lbnQ6Ijo6dmlldy10cmFuc2l0aW9uIn0pKSxpMD0hMH1pUj1udWxsO2JyZWFrO2Nhc2UgNTpkZWZhdWx0OnVhKHQsZSk7YnJlYWs7Y2FzZSA0OnI9aVksaVk9ITEsdWEodCxlKSxpWSYmKGlaPSEwKSxpWT1yO2JyZWFrO2Nhc2UgMjI6bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT1uLm1lbW9pemVkU3RhdGU/aWooZSwhMSk6dWEodCxlKSk7YnJlYWs7Y2FzZSAzMDpyPWlZLGw9aU0oKSxpWT0hMSx1YSh0LGUpLGlZJiYoZS5mbGFnc3w9NCk7dmFyIGE9ZS5tZW1vaXplZFByb3BzLG89ZS5zdGF0ZU5vZGU7dD1ybihhLG8pLG89cm4obi5tZW1vaXplZFByb3BzLG8pO3ZhciBpPXJsKGEuZGVmYXVsdCxhLnVwZGF0ZSk7Im5vbmUiPT09aT90PSExOihhPW4ubWVtb2l6ZWRTdGF0ZSxuLm1lbW9pemVkU3RhdGU9bnVsbCxuPWUuY2hpbGQsaUk9MCx0PWkkKGUsbix0LG8saSxhLCEwKSxpSSE9PShudWxsPT09YT8wOmEubGVuZ3RoKSYmKGUuZmxhZ3N8PTMyKSksMCE9KDQmZS5mbGFncykmJnQ/KHU1KGUsZS5tZW1vaXplZFByb3BzLm9uVXBkYXRlKSxpUj1sKTpudWxsIT09bCYmKGwucHVzaC5hcHBseShsLGlSKSxpUj1sKSxpWT0wIT0oMzImZS5mbGFncyl8fHJ9fWZ1bmN0aW9uIHVpKGUsdCl7aWYoODc3MiZ0LnN1YnRyZWVGbGFncylmb3IodD10LmNoaWxkO251bGwhPT10OylpMihlLHQuYWx0ZXJuYXRlLHQpLHQ9dC5zaWJsaW5nfWZ1bmN0aW9uIHV1KGUsdCl7dmFyIG49bnVsbDtudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihuPWUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wucG9vbCksZT1udWxsLG51bGwhPT10Lm1lbW9pemVkU3RhdGUmJm51bGwhPT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sJiYoZT10Lm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGUhPT1uJiYobnVsbCE9ZSYmZS5yZWZDb3VudCsrLG51bGwhPW4mJmxzKG4pKX1mdW5jdGlvbiB1cyhlLHQpe2U9bnVsbCxudWxsIT09dC5hbHRlcm5hdGUmJihlPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLCh0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSkhPT1lJiYodC5yZWZDb3VudCsrLG51bGwhPWUmJmxzKGUpKX1mdW5jdGlvbiB1YyhlLHQsbixyKXt2YXIgbD0oMHgxM2ZmZmYwMCZuKT09PW47aWYodC5zdWJ0cmVlRmxhZ3MmKGw/MTAyNjI6MTAyNTYpKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXVmKGUsdCxuLHIpLHQ9dC5zaWJsaW5nO2Vsc2UgbCYmZnVuY3Rpb24gZSh0KXtmb3IodD10LmNoaWxkO251bGwhPT10OykzMD09PXQudGFnP2lGKHQuY2hpbGQsITEpOjAhPSgweDIwMDAwMDAmdC5zdWJ0cmVlRmxhZ3MpJiZlKHQpLHQ9dC5zaWJsaW5nfSh0KX1mdW5jdGlvbiB1ZihlLHQsbixyKXt2YXIgbD0oMHgxM2ZmZmYwMCZuKT09PW47bCYmbnVsbD09PXQuYWx0ZXJuYXRlJiZudWxsIT09dC5yZXR1cm4mJm51bGwhPT10LnJldHVybi5hbHRlcm5hdGUmJmlIKHQpO3ZhciBhPXQuZmxhZ3M7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnVjKGUsdCxuLHIpLDIwNDgmYSYmaWgoOSx0KTticmVhaztjYXNlIDE6Y2FzZSAzMTpjYXNlIDEzOmRlZmF1bHQ6dWMoZSx0LG4scik7YnJlYWs7Y2FzZSAzOnVjKGUsdCxuLHIpLGwmJmkwJiYoInJvb3QiPT09KGU9OT09PShlPWUuY29udGFpbmVySW5mbykubm9kZVR5cGU/ZS5ib2R5OiJIVE1MIj09PWUubm9kZU5hbWU/ZS5vd25lckRvY3VtZW50LmJvZHk6ZSkuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lJiYoZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWU9IiIpLG51bGwhPT0oZT1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmIm5vbmUiPT09ZS5zdHlsZS52aWV3VHJhbnNpdGlvbk5hbWUmJihlLnN0eWxlLnZpZXdUcmFuc2l0aW9uTmFtZT0iIikpLDIwNDgmYSYmKGE9bnVsbCxudWxsIT09dC5hbHRlcm5hdGUmJihhPXQuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGUpLCh0PXQubWVtb2l6ZWRTdGF0ZS5jYWNoZSkhPT1hJiYodC5yZWZDb3VudCsrLG51bGwhPWEmJmxzKGEpKSk7YnJlYWs7Y2FzZSAxMjppZigyMDQ4JmEpe3VjKGUsdCxuLHIpLGE9dC5zdGF0ZU5vZGU7dHJ5e3ZhciBvPXQubWVtb2l6ZWRQcm9wcyxpPW8uaWQsdT1vLm9uUG9zdENvbW1pdDsiZnVuY3Rpb24iPT10eXBlb2YgdSYmdShpLG51bGw9PT10LmFsdGVybmF0ZT8ibW91bnQiOiJ1cGRhdGUiLGEucGFzc2l2ZUVmZmVjdER1cmF0aW9uLC0wKX1jYXRjaChlKXtzXyh0LHQucmV0dXJuLGUpfX1lbHNlIHVjKGUsdCxuLHIpO2JyZWFrO2Nhc2UgMjM6YnJlYWs7Y2FzZSAyMjpvPXQuc3RhdGVOb2RlLGk9dC5hbHRlcm5hdGUsbnVsbCE9PXQubWVtb2l6ZWRTdGF0ZT8obCYmbnVsbCE9PWkmJm51bGw9PT1pLm1lbW9pemVkU3RhdGUmJmlIKGkpLDImby5fdmlzaWJpbGl0eT91YyhlLHQsbixyKTp1ZChlLHQpKToobCYmbnVsbCE9PWkmJm51bGwhPT1pLm1lbW9pemVkU3RhdGUmJmlIKHQpLDImby5fdmlzaWJpbGl0eT91YyhlLHQsbixyKTooby5fdmlzaWJpbGl0eXw9MixmdW5jdGlvbiBlKHQsbixyLGwsYSl7Zm9yKGE9YSYmMCE9KDEwMjU2Jm4uc3VidHJlZUZsYWdzKSxuPW4uY2hpbGQ7bnVsbCE9PW47KXt2YXIgbz1uLGk9by5mbGFncztzd2l0Y2goby50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6ZSh0LG8scixsLGEpLGloKDgsbyk7YnJlYWs7Y2FzZSAyMzpicmVhaztjYXNlIDIyOnZhciB1PW8uc3RhdGVOb2RlO251bGwhPT1vLm1lbW9pemVkU3RhdGU/MiZ1Ll92aXNpYmlsaXR5P2UodCxvLHIsbCxhKTp1ZCh0LG8pOih1Ll92aXNpYmlsaXR5fD0yLGUodCxvLHIsbCxhKSksYSYmMjA0OCZpJiZ1dShvLmFsdGVybmF0ZSxvKTticmVhaztjYXNlIDI0OmUodCxvLHIsbCxhKSxhJiYyMDQ4JmkmJnVzKG8uYWx0ZXJuYXRlLG8pO2JyZWFrO2RlZmF1bHQ6ZSh0LG8scixsLGEpfW49bi5zaWJsaW5nfX0oZSx0LG4sciwwIT0oMTAyNTYmdC5zdWJ0cmVlRmxhZ3MpKSkpLDIwNDgmYSYmdXUoaSx0KTticmVhaztjYXNlIDI0OnVjKGUsdCxuLHIpLDIwNDgmYSYmdXModC5hbHRlcm5hdGUsdCk7YnJlYWs7Y2FzZSAzMDpsJiZudWxsIT09KGE9dC5hbHRlcm5hdGUpJiYoaUYoYS5jaGlsZCwhMCksaUYodC5jaGlsZCwhMCkpLHVjKGUsdCxuLHIpfX1mdW5jdGlvbiB1ZChlLHQpe2lmKDEwMjU2JnQuc3VidHJlZUZsYWdzKWZvcih0PXQuY2hpbGQ7bnVsbCE9PXQ7KXt2YXIgbj10LHI9bi5mbGFncztzd2l0Y2gobi50YWcpe2Nhc2UgMjI6dWQoZSxuKSwyMDQ4JnImJnV1KG4uYWx0ZXJuYXRlLG4pO2JyZWFrO2Nhc2UgMjQ6dWQoZSxuKSwyMDQ4JnImJnVzKG4uYWx0ZXJuYXRlLG4pO2JyZWFrO2RlZmF1bHQ6dWQoZSxuKX10PXQuc2libGluZ319dmFyIHVwPTgxOTI7ZnVuY3Rpb24gdW0oZSx0LG4pe2lmKGUuc3VidHJlZUZsYWdzJnVwKWZvcihlPWUuY2hpbGQ7bnVsbCE9PWU7KXVoKGUsdCxuKSxlPWUuc2libGluZ31mdW5jdGlvbiB1aChlLHQsbil7c3dpdGNoKGUudGFnKXtjYXNlIDI2OnVtKGUsdCxuKSxlLmZsYWdzJnVwJiYobnVsbCE9PWUubWVtb2l6ZWRTdGF0ZT9mdW5jdGlvbihlLHQsbixyKXtpZigic3R5bGVzaGVldCI9PT1uLnR5cGUmJigic3RyaW5nIiE9dHlwZW9mIHIubWVkaWF8fCExIT09bWF0Y2hNZWRpYShyLm1lZGlhKS5tYXRjaGVzKSYmMD09KDQmbi5zdGF0ZS5sb2FkaW5nKSl7aWYobnVsbD09PW4uaW5zdGFuY2Upe3ZhciBsPWM0KHIuaHJlZiksYT10LnF1ZXJ5U2VsZWN0b3IoYzgobCkpO2lmKGEpe251bGwhPT0odD1hLl9wKSYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuJiYoZS5jb3VudCsrLGU9ZmQuYmluZChlKSx0LnRoZW4oZSxlKSksbi5zdGF0ZS5sb2FkaW5nfD00LG4uaW5zdGFuY2U9YSxlOChhKTtyZXR1cm59YT10Lm93bmVyRG9jdW1lbnR8fHQscj1jNShyKSwobD1jWS5nZXQobCkpJiZmdChyLGwpLGU4KGE9YS5jcmVhdGVFbGVtZW50KCJsaW5rIikpO3ZhciBvPWE7by5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe28ub25sb2FkPWUsby5vbmVycm9yPXR9KSxjbChhLCJsaW5rIixyKSxuLmluc3RhbmNlPWF9bnVsbD09PWUuc3R5bGVzaGVldHMmJihlLnN0eWxlc2hlZXRzPW5ldyBNYXApLGUuc3R5bGVzaGVldHMuc2V0KG4sdCksKHQ9bi5zdGF0ZS5wcmVsb2FkKSYmMD09KDMmbi5zdGF0ZS5sb2FkaW5nKSYmKGUuY291bnQrKyxuPWZkLmJpbmQoZSksdC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixuKSx0LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixuKSl9fShuLHVuLGUubWVtb2l6ZWRTdGF0ZSxlLm1lbW9pemVkUHJvcHMpOihlPWUuc3RhdGVOb2RlLCgweDEzZmZmZjQwJnQpPT09dCYmZnMobixlKSkpO2JyZWFrO2Nhc2UgNTp1bShlLHQsbiksZS5mbGFncyZ1cCYmKGU9ZS5zdGF0ZU5vZGUsKDB4MTNmZmZmNDAmdCk9PT10JiZmcyhuLGUpKTticmVhaztjYXNlIDM6Y2FzZSA0OnZhciByPXVuO3VuPWNaKGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHVtKGUsdCxuKSx1bj1yO2JyZWFrO2Nhc2UgMjI6bnVsbD09PWUubWVtb2l6ZWRTdGF0ZSYmKG51bGwhPT0ocj1lLmFsdGVybmF0ZSkmJm51bGwhPT1yLm1lbW9pemVkU3RhdGU/KHI9dXAsdXA9MHgxMDAwMDAwLHVtKGUsdCxuKSx1cD1yKTp1bShlLHQsbikpO2JyZWFrO2Nhc2UgMzA6aWYoMCE9KGUuZmxhZ3MmdXApJiZudWxsIT0ocj1lLm1lbW9pemVkUHJvcHMubmFtZSkmJiJhdXRvIiE9PXIpe3ZhciBsPWUuc3RhdGVOb2RlO2wucGFpcmVkPW51bGwsbnVsbD09PWl6JiYoaXo9bmV3IE1hcCksaXouc2V0KHIsbCl9dW0oZSx0LG4pO2JyZWFrO2RlZmF1bHQ6dW0oZSx0LG4pfX1mdW5jdGlvbiB1ZyhlKXt2YXIgdD1lLmFsdGVybmF0ZTtpZihudWxsIT09dCYmbnVsbCE9PShlPXQuY2hpbGQpKXt0LmNoaWxkPW51bGw7ZG8gdD1lLnNpYmxpbmcsZS5zaWJsaW5nPW51bGwsZT10O3doaWxlKG51bGwhPT1lKX19ZnVuY3Rpb24gdXYoZSl7dmFyIHQ9ZS5kZWxldGlvbnM7aWYoMCE9KDE2JmUuZmxhZ3MpKXtpZihudWxsIT09dClmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtpRz1yLHViKHIsZSl9dWcoZSl9aWYoMTAyNTYmZS5zdWJ0cmVlRmxhZ3MpZm9yKGU9ZS5jaGlsZDtudWxsIT09ZTspdXkoZSksZT1lLnNpYmxpbmd9ZnVuY3Rpb24gdXkoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OnV2KGUpLDIwNDgmZS5mbGFncyYmaWcoOSxlLGUucmV0dXJuKTticmVhaztjYXNlIDM6Y2FzZSAxMjpkZWZhdWx0OnV2KGUpO2JyZWFrO2Nhc2UgMjI6dmFyIHQ9ZS5zdGF0ZU5vZGU7bnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmMiZ0Ll92aXNpYmlsaXR5JiYobnVsbD09PWUucmV0dXJufHwxMyE9PWUucmV0dXJuLnRhZyk/KHQuX3Zpc2liaWxpdHkmPS0zLGZ1bmN0aW9uIGUodCl7dmFyIG49dC5kZWxldGlvbnM7aWYoMCE9KDE2JnQuZmxhZ3MpKXtpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtpRz1sLHViKGwsdCl9dWcodCl9Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe3N3aXRjaCgobj10KS50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWcoOCxuLG4ucmV0dXJuKSxlKG4pO2JyZWFrO2Nhc2UgMjI6MiYocj1uLnN0YXRlTm9kZSkuX3Zpc2liaWxpdHkmJihyLl92aXNpYmlsaXR5Jj0tMyxlKG4pKTticmVhaztkZWZhdWx0OmUobil9dD10LnNpYmxpbmd9fShlKSk6dXYoZSl9fWZ1bmN0aW9uIHViKGUsdCl7Zm9yKDtudWxsIT09aUc7KXt2YXIgbj1pRztzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6aWcoOCxuLHQpO2JyZWFrO2Nhc2UgMjM6Y2FzZSAyMjppZihudWxsIT09bi5tZW1vaXplZFN0YXRlJiZudWxsIT09bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCl7dmFyIHI9bi5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sO251bGwhPXImJnIucmVmQ291bnQrK31icmVhaztjYXNlIDI0OmxzKG4ubWVtb2l6ZWRTdGF0ZS5jYWNoZSl9aWYobnVsbCE9PShyPW4uY2hpbGQpKXIucmV0dXJuPW4saUc9cjtlbHNlIGZvcihuPWU7bnVsbCE9PWlHOyl7dmFyIGw9KHI9aUcpLnNpYmxpbmcsYT1yLnJldHVybjtpZighZnVuY3Rpb24gZSh0KXt2YXIgbj10LmFsdGVybmF0ZTtudWxsIT09biYmKHQuYWx0ZXJuYXRlPW51bGwsZShuKSksdC5jaGlsZD1udWxsLHQuZGVsZXRpb25zPW51bGwsdC5zaWJsaW5nPW51bGwsNT09PXQudGFnJiZudWxsIT09KG49dC5zdGF0ZU5vZGUpJiZlMChuKSx0LnN0YXRlTm9kZT1udWxsLHQucmV0dXJuPW51bGwsdC5kZXBlbmRlbmNpZXM9bnVsbCx0Lm1lbW9pemVkUHJvcHM9bnVsbCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnBlbmRpbmdQcm9wcz1udWxsLHQuc3RhdGVOb2RlPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsfShyKSxyPT09bil7aUc9bnVsbDticmVha31pZihudWxsIT09bCl7bC5yZXR1cm49YSxpRz1sO2JyZWFrfWlHPWF9fX12YXIgdXc9e2dldENhY2hlRm9yVHlwZTpmdW5jdGlvbihlKXt2YXIgdD1sdChsaSksbj10LmRhdGEuZ2V0KGUpO3JldHVybiB2b2lkIDA9PT1uJiYobj1lKCksdC5kYXRhLnNldChlLG4pKSxufSxjYWNoZVNpZ25hbDpmdW5jdGlvbigpe3JldHVybiBsdChsaSkuY29udHJvbGxlci5zaWduYWx9fSx1az0iZnVuY3Rpb24iPT10eXBlb2YgV2Vha01hcD9XZWFrTWFwOk1hcCx1Uz0wLHVFPW51bGwsdXg9bnVsbCx1Xz0wLHVQPTAsdU49bnVsbCx1Qz0hMSx1VD0hMSx1Tz0hMSx1ej0wLHVMPTAsdVI9MCx1TT0wLHVJPTAsdUQ9MCx1Rj0wLHVBPW51bGwsdWo9bnVsbCx1VT0hMSx1Qj0wLHVWPTAsdUg9MS8wLHUkPW51bGwsdVE9bnVsbCx1Vz0wLHVxPW51bGwsdUs9bnVsbCx1WD0wLHVHPTAsdVk9bnVsbCx1Sj1udWxsLHVaPW51bGwsdTA9bnVsbCx1MT1udWxsLHUyPTAsdTM9bnVsbDtmdW5jdGlvbiB1NCgpe3JldHVybiAwIT0oMiZ1UykmJjAhPT11Xz91XyYtdV86bnVsbCE9PVcuVD9zJCgpOmVIKCl9ZnVuY3Rpb24gdTgoKXtpZigwPT09dUQpaWYoMD09KDB4MjAwMDAwMDAmdV8pfHxyJCl7dmFyIGU9ZU87MD09KDM5MzIxNjAmKGVPPDw9MSkpJiYoZU89MjYyMTQ0KSx1RD1lfWVsc2UgdUQ9MHgyMDAwMDAwMDtyZXR1cm4gbnVsbCE9PShlPWwzLmN1cnJlbnQpJiYoZS5mbGFnc3w9MzIpLHVEfWZ1bmN0aW9uIHU1KGUsdCl7aWYobnVsbCE9dCl7dmFyIG49ZS5zdGF0ZU5vZGUscj1uLnJlZjtudWxsPT09ciYmKHI9bi5yZWY9Y0Mocm4oZS5tZW1vaXplZFByb3BzLG4pKSksbnVsbD09PXUwJiYodTA9W10pLHUwLnB1c2godC5iaW5kKG51bGwscikpfX1mdW5jdGlvbiB1NihlLHQsbil7KGU9PT11RSYmKDI9PT11UHx8OT09PXVQKXx8bnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdCkmJihzcihlLDApLHNlKGUsdV8sdUQsITEpKSxlRihlLG4pLCgwPT0oMiZ1Uyl8fGUhPT11RSkmJihlPT09dUUmJigwPT0oMiZ1UykmJih1TXw9biksND09PXVMJiZzZShlLHVfLHVELCExKSksc0YoZSkpfWZ1bmN0aW9uIHU5KGUsdCxuKXtpZigwIT0oNiZ1UykpdGhyb3cgRXJyb3IodSgzMjcpKTtmb3IodmFyIHI9IW4mJjA9PSgxMjcmdCkmJjA9PSh0JmUuZXhwaXJlZExhbmVzKXx8ZU0oZSx0KSxsPXI/ZnVuY3Rpb24oZSx0KXt2YXIgbj11Uzt1U3w9Mjt2YXIgcj1zbygpLGw9c2koKTt1RSE9PWV8fHVfIT09dD8odSQ9bnVsbCx1SD1ldigpKzUwMCxzcihlLHQpKTp1VD1lTShlLHQpO2U6Zm9yKDs7KXRyeXtpZigwIT09dVAmJm51bGwhPT11eCl7dD11eDt2YXIgYT11Tjt0OnN3aXRjaCh1UCl7Y2FzZSAxOnVQPTAsdU49bnVsbCxzZChlLHQsYSwxKTticmVhaztjYXNlIDI6Y2FzZSA5OmlmKGxQKGEpKXt1UD0wLHVOPW51bGwsc2YodCk7YnJlYWt9dD1mdW5jdGlvbigpezIhPT11UCYmOSE9PXVQfHx1RSE9PWV8fCh1UD03KSxzRihlKX0sYS50aGVuKHQsdCk7YnJlYWsgZTtjYXNlIDM6dVA9NzticmVhayBlO2Nhc2UgNDp1UD01O2JyZWFrIGU7Y2FzZSA3OmxQKGEpPyh1UD0wLHVOPW51bGwsc2YodCkpOih1UD0wLHVOPW51bGwsc2QoZSx0LGEsNykpO2JyZWFrO2Nhc2UgNTp2YXIgbz1udWxsO3N3aXRjaCh1eC50YWcpe2Nhc2UgMjY6bz11eC5tZW1vaXplZFN0YXRlO2Nhc2UgNTpjYXNlIDI3OnZhciBpPXV4O2lmKG8/Zmkobyk6aS5zdGF0ZU5vZGUuY29tcGxldGUpe3VQPTAsdU49bnVsbDt2YXIgcz1pLnNpYmxpbmc7aWYobnVsbCE9PXMpdXg9cztlbHNle3ZhciBjPWkucmV0dXJuO251bGwhPT1jPyh1eD1jLHNwKGMpKTp1eD1udWxsfWJyZWFrIHR9fXVQPTAsdU49bnVsbCxzZChlLHQsYSw1KTticmVhaztjYXNlIDY6dVA9MCx1Tj1udWxsLHNkKGUsdCxhLDYpO2JyZWFrO2Nhc2UgODpzbigpLHVMPTY7YnJlYWsgZTtkZWZhdWx0OnRocm93IEVycm9yKHUoNDYyKSl9fWZvcig7bnVsbCE9PXV4JiYhZWgoKTspc2ModXgpO2JyZWFrfWNhdGNoKHQpe3NsKGUsdCl9cmV0dXJuKHIzPXIyPW51bGwsVy5IPXIsVy5BPWwsdVM9bixudWxsIT09dXgpPzA6KHVFPW51bGwsdV89MCxycygpLHVMKX0oZSx0KTpzcyhlLHQsITApLGE9cjs7KXtpZigwPT09bCl1VCYmIXImJnNlKGUsdCwwLCExKTtlbHNle2lmKG49ZS5jdXJyZW50LmFsdGVybmF0ZSxhJiYhZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWU7Oyl7dmFyIG49dC50YWc7aWYoKDA9PT1ufHwxMT09PW58fDE1PT09bikmJjE2Mzg0JnQuZmxhZ3MmJm51bGwhPT0obj10LnVwZGF0ZVF1ZXVlKSYmbnVsbCE9PShuPW4uc3RvcmVzKSlmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXSxhPWwuZ2V0U25hcHNob3Q7bD1sLnZhbHVlO3RyeXtpZighbkEoYSgpLGwpKXJldHVybiExfWNhdGNoKGUpe3JldHVybiExfX1pZihuPXQuY2hpbGQsMTYzODQmdC5zdWJ0cmVlRmxhZ3MmJm51bGwhPT1uKW4ucmV0dXJuPXQsdD1uO2Vsc2V7aWYodD09PWUpYnJlYWs7Zm9yKDtudWxsPT09dC5zaWJsaW5nOyl7aWYobnVsbD09PXQucmV0dXJufHx0LnJldHVybj09PWUpcmV0dXJuITA7dD10LnJldHVybn10LnNpYmxpbmcucmV0dXJuPXQucmV0dXJuLHQ9dC5zaWJsaW5nfX1yZXR1cm4hMH0obikpe2w9c3MoZSx0LCExKSxhPSExO2NvbnRpbnVlfWlmKDI9PT1sKXtpZihhPXQsZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyZhKXZhciBvPTA7ZWxzZSBvPTAhPShvPS0weDIwMDAwMDAxJmUucGVuZGluZ0xhbmVzKT9vOjB4MjAwMDAwMDAmbz8weDIwMDAwMDAwOjA7aWYoMCE9PW8pe3Q9bztlOntsPXVBO3ZhciBpPWUuY3VycmVudC5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZDtpZihpJiYoc3IoZSxvKS5mbGFnc3w9MjU2KSwyIT09KG89c3MoZSxvLCExKSkpe2lmKHVPJiYhaSl7ZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lc3w9YSx1TXw9YSxsPTQ7YnJlYWsgZX1hPXVqLHVqPWwsbnVsbCE9PWEmJihudWxsPT09dWo/dWo9YTp1ai5wdXNoLmFwcGx5KHVqLGEpKX1sPW99aWYoYT0hMSwyIT09bCljb250aW51ZX19aWYoMT09PWwpe3NyKGUsMCksc2UoZSx0LDAsITApO2JyZWFrfWU6e3N3aXRjaChyPWUsYT1sKXtjYXNlIDA6Y2FzZSAxOnRocm93IEVycm9yKHUoMzQ1KSk7Y2FzZSA0OmlmKCg0MTk0MDQ4JnQpIT09dCYmKDB4M2MwMDAwMCZ0KSE9PXQpYnJlYWs7Y2FzZSA2OnNlKHIsdCx1RCwhdUMpO2JyZWFrIGU7Y2FzZSAyOnVqPW51bGw7YnJlYWs7Y2FzZSAzOmNhc2UgNTpicmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMzI5KSl9aWYoKDB4M2MwMDAwMCZ0KT09PXQmJjEwPChsPXVCKzMwMC1ldigpKSl7aWYoc2Uocix0LHVELCF1QyksMCE9PWVSKHIsMCwhMCkpYnJlYWsgZTt1WD10LHIudGltZW91dEhhbmRsZT1jcCh1Ny5iaW5kKG51bGwscixuLHVqLHUkLHVVLHQsdUQsdU0sdUYsdUMsYSwiVGhyb3R0bGVkIiwtMCwwKSxsKTticmVhayBlfXU3KHIsbix1aix1JCx1VSx0LHVELHVNLHVGLHVDLGEsbnVsbCwtMCwwKX19YnJlYWt9c0YoZSl9ZnVuY3Rpb24gdTcoZSx0LG4scixsLGEsbyxpLHUscyxjLGYsZCxwKXtlLnRpbWVvdXRIYW5kbGU9LTE7dmFyIG0saCxnPXQuc3VidHJlZUZsYWdzLHY9KDB4MTNmZmZmMDAmYSk9PT1hO2lmKGY9bnVsbCwodnx8ODE5MiZnfHwweDEwMDIwMDA9PSgweDEwMDIwMDAmZykpJiYoaXo9bnVsbCx1aCh0LGEsZj17c3R5bGVzaGVldHM6bnVsbCxjb3VudDowLGltZ0NvdW50OjAsaW1nQnl0ZXM6MCxzdXNwZW5zZXlJbWFnZXM6W10sd2FpdGluZ0ZvckltYWdlczohMCx3YWl0aW5nRm9yVmlld1RyYW5zaXRpb246ITEsdW5zdXNwZW5kOnRUfSksdiYmKGc9ZixudWxsIT0odj0oOT09PSh2PWUuY29udGFpbmVySW5mbykubm9kZVR5cGU/djp2Lm93bmVyRG9jdW1lbnQpLl9fcmVhY3RWaWV3VHJhbnNpdGlvbikmJihnLmNvdW50KyssZy53YWl0aW5nRm9yVmlld1RyYW5zaXRpb249ITAsZz1mZC5iaW5kKGcpLHYuZmluaXNoZWQudGhlbihnLGcpKSksbnVsbCE9PShtPWYsaD1nPSgweDNjMDAwMDAmYSk9PT1hP3VCLWV2KCk6KDQxOTQwNDgmYSk9PT1hP3VWLWV2KCk6MCxtLnN0eWxlc2hlZXRzJiYwPT09bS5jb3VudCYmZmgobSxtLnN0eWxlc2hlZXRzKSxnPTA8bS5jb3VudHx8MDxtLmltZ0NvdW50P2Z1bmN0aW9uKGUpe3ZhciB0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZihtLnN0eWxlc2hlZXRzJiZmaChtLG0uc3R5bGVzaGVldHMpLG0udW5zdXNwZW5kKXt2YXIgZT1tLnVuc3VzcGVuZDttLnVuc3VzcGVuZD1udWxsLGUoKX19LDZlNCtoKTswPG0uaW1nQnl0ZXMmJjA9PT1mYyYmKGZjPTYyNTAwKmZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUpe2Zvcih2YXIgZT0wLHQ9MCxuPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikscj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgbD1uW3JdLGE9bC50cmFuc2ZlclNpemUsbz1sLmluaXRpYXRvclR5cGUsaT1sLmR1cmF0aW9uO2lmKGEmJmkmJmNhKG8pKXtmb3Iobz0wLGk9bC5yZXNwb25zZUVuZCxyKz0xO3I8bi5sZW5ndGg7cisrKXt2YXIgdT1uW3JdLHM9dS5zdGFydFRpbWU7aWYocz5pKWJyZWFrO3ZhciBjPXUudHJhbnNmZXJTaXplLGY9dS5pbml0aWF0b3JUeXBlO2MmJmNhKGYpJiYobys9YyooKHU9dS5yZXNwb25zZUVuZCk8aT8xOihpLXMpLyh1LXMpKSl9aWYoLS1yLHQrPTgqKGErbykvKGwuZHVyYXRpb24vMWUzKSwxMDwrK2UpYnJlYWt9fWlmKDA8ZSlyZXR1cm4gdC9lLzFlNn1yZXR1cm4gbmF2aWdhdG9yLmNvbm5lY3Rpb24mJiJudW1iZXIiPT10eXBlb2YoZT1uYXZpZ2F0b3IuY29ubmVjdGlvbi5kb3dubGluayk/ZTo1fSgpKTt2YXIgbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYobS53YWl0aW5nRm9ySW1hZ2VzPSExLDA9PT1tLmNvdW50JiYobS5zdHlsZXNoZWV0cyYmZmgobSxtLnN0eWxlc2hlZXRzKSxtLnVuc3VzcGVuZCkpe3ZhciBlPW0udW5zdXNwZW5kO20udW5zdXNwZW5kPW51bGwsZSgpfX0sKG0uaW1nQnl0ZXM+ZmM/NTA6ODAwKStoKTtyZXR1cm4gbS51bnN1c3BlbmQ9ZSxmdW5jdGlvbigpe20udW5zdXNwZW5kPW51bGwsY2xlYXJUaW1lb3V0KHQpLGNsZWFyVGltZW91dChuKX19Om51bGwpKSl7dVg9YSxlLmNhbmNlbFBlbmRpbmdDb21taXQ9ZyhzaC5iaW5kKG51bGwsZSx0LGEsbixyLGwsbyxpLHUsYyxmLG51bGwsZCxwKSksc2UoZSxhLG8sIXMpO3JldHVybn1zaChlLHQsYSxuLHIsbCxvLGksdSxjLGYpfWZ1bmN0aW9uIHNlKGUsdCxuLHIpe3QmPX51SSx0Jj1+dU0sZS5zdXNwZW5kZWRMYW5lc3w9dCxlLnBpbmdlZExhbmVzJj1+dCxyJiYoZS53YXJtTGFuZXN8PXQpLHI9ZS5leHBpcmF0aW9uVGltZXM7Zm9yKHZhciBsPXQ7MDxsOyl7dmFyIGE9MzEtZVAobCksbz0xPDxhO3JbYV09LTEsbCY9fm99MCE9PW4mJmVBKGUsbix0KX1mdW5jdGlvbiBzdCgpe3JldHVybiAwIT0oNiZ1Uyl8fChzQSgwLCExKSwhMSl9ZnVuY3Rpb24gc24oKXtpZihudWxsIT09dXgpe2lmKDA9PT11UCl2YXIgZT11eC5yZXR1cm47ZWxzZSBlPXV4LHIzPXIyPW51bGwsYUUoZSksbEw9bnVsbCxsUj0wLGU9dXg7Zm9yKDtudWxsIT09ZTspaW0oZS5hbHRlcm5hdGUsZSksZT1lLnJldHVybjt1eD1udWxsfX1mdW5jdGlvbiBzcihlLHQpe3ZhciBuPWUudGltZW91dEhhbmRsZTstMSE9PW4mJihlLnRpbWVvdXRIYW5kbGU9LTEsY20obikpLG51bGwhPT0obj1lLmNhbmNlbFBlbmRpbmdDb21taXQpJiYoZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsbigpKSx1WD0wLHNuKCksdUU9ZSx1eD1uPXJiKGUuY3VycmVudCxudWxsKSx1Xz10LHVQPTAsdU49bnVsbCx1Qz0hMSx1VD1lTShlLHQpLHVPPSExLHVGPXVEPXVJPXVNPXVSPXVMPTAsdWo9dUE9bnVsbCx1VT0hMSwwIT0oOCZ0KSYmKHR8PTMyJnQpO3ZhciByPWUuZW50YW5nbGVkTGFuZXM7aWYoMCE9PXIpZm9yKGU9ZS5lbnRhbmdsZW1lbnRzLHImPXQ7MDxyOyl7dmFyIGw9MzEtZVAociksYT0xPDxsO3R8PWVbbF0sciY9fmF9cmV0dXJuIHV6PXQscnMoKSxufWZ1bmN0aW9uIHNsKGUsdCl7YWE9bnVsbCxXLkg9b1MsdD09PWxTfHx0PT09bHg/KHQ9bE8oKSx1UD0zKTp0PT09bEU/KHQ9bE8oKSx1UD00KTp1UD10PT09b2o/ODpudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdC50aGVuPzY6MSx1Tj10LG51bGw9PT11eCYmKHVMPTEsb00oZSxyTih0LGUuY3VycmVudCkpKX1mdW5jdGlvbiBzYSgpe3ZhciBlPWwzLmN1cnJlbnQ7cmV0dXJuIG51bGw9PT1lfHwoKDQxOTQwNDgmdV8pPT09dV8/bnVsbD09PWw0OigoMHgzYzAwMDAwJnVfKT09PXVffHwwIT0oMHgyMDAwMDAwMCZ1XykpJiZlPT09bDQpfWZ1bmN0aW9uIHNvKCl7dmFyIGU9Vy5IO3JldHVybiBXLkg9b1MsbnVsbD09PWU/b1M6ZX1mdW5jdGlvbiBzaSgpe3ZhciBlPVcuQTtyZXR1cm4gVy5BPXV3LGV9ZnVuY3Rpb24gc3UoKXt1TD00LHVDfHwoNDE5NDA0OCZ1XykhPT11XyYmbnVsbCE9PWwzLmN1cnJlbnR8fCh1VD0hMCksMD09KDB4N2ZmZmZmZiZ1UikmJjA9PSgweDdmZmZmZmYmdU0pfHxudWxsPT09dUV8fHNlKHVFLHVfLHVELCExKX1mdW5jdGlvbiBzcyhlLHQsbil7dmFyIHI9dVM7dVN8PTI7dmFyIGw9c28oKSxhPXNpKCk7KHVFIT09ZXx8dV8hPT10KSYmKHUkPW51bGwsc3IoZSx0KSksdD0hMTt2YXIgbz11TDtlOmZvcig7Oyl0cnl7aWYoMCE9PXVQJiZudWxsIT09dXgpe3ZhciBpPXV4LHU9dU47c3dpdGNoKHVQKXtjYXNlIDg6c24oKSxvPTY7YnJlYWsgZTtjYXNlIDM6Y2FzZSAyOmNhc2UgOTpjYXNlIDY6bnVsbD09PWwzLmN1cnJlbnQmJih0PSEwKTt2YXIgcz11UDtpZih1UD0wLHVOPW51bGwsc2QoZSxpLHUscyksbiYmdVQpe289MDticmVhayBlfWJyZWFrO2RlZmF1bHQ6cz11UCx1UD0wLHVOPW51bGwsc2QoZSxpLHUscyl9fShmdW5jdGlvbigpe2Zvcig7bnVsbCE9PXV4OylzYyh1eCl9KSgpLG89dUw7YnJlYWt9Y2F0Y2godCl7c2woZSx0KX1yZXR1cm4gdCYmZS5zaGVsbFN1c3BlbmRDb3VudGVyKysscjM9cjI9bnVsbCx1Uz1yLFcuSD1sLFcuQT1hLG51bGw9PT11eCYmKHVFPW51bGwsdV89MCxycygpKSxvfWZ1bmN0aW9uIHNjKGUpe3ZhciB0PWlvKGUuYWx0ZXJuYXRlLGUsdXopO2UubWVtb2l6ZWRQcm9wcz1lLnBlbmRpbmdQcm9wcyxudWxsPT09dD9zcChlKTp1eD10fWZ1bmN0aW9uIHNmKGUpe3ZhciB0PWUsbj10LmFsdGVybmF0ZTtzd2l0Y2godC50YWcpe2Nhc2UgMTU6Y2FzZSAwOnQ9b0oobix0LHQucGVuZGluZ1Byb3BzLHQudHlwZSx2b2lkIDAsdV8pO2JyZWFrO2Nhc2UgMTE6dD1vSihuLHQsdC5wZW5kaW5nUHJvcHMsdC50eXBlLnJlbmRlcix0LnJlZix1Xyk7YnJlYWs7Y2FzZSA1OmFFKHQpO2RlZmF1bHQ6aW0obix0KSx0PWlvKG4sdD11eD1ydyh0LHV6KSx1eil9ZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT10P3NwKGUpOnV4PXR9ZnVuY3Rpb24gc2QoZSx0LG4scil7cjM9cjI9bnVsbCxhRSh0KSxsTD1udWxsLGxSPTA7dmFyIGw9dC5yZXR1cm47dHJ5e2lmKGZ1bmN0aW9uKGUsdCxuLHIsbCl7aWYobi5mbGFnc3w9MzI3NjgsbnVsbCE9PXImJiJvYmplY3QiPT10eXBlb2YgciYmImZ1bmN0aW9uIj09dHlwZW9mIHIudGhlbil7aWYobnVsbCE9PSh0PW4uYWx0ZXJuYXRlKSYmcjkodCxuLGwsITApLG51bGwhPT0obj1sMy5jdXJyZW50KSl7c3dpdGNoKG4udGFnKXtjYXNlIDMxOmNhc2UgMTM6Y2FzZSAxOTpyZXR1cm4gbnVsbD09PWw0P3N1KCk6bnVsbD09PW4uYWx0ZXJuYXRlJiYwPT09dUwmJih1TD0zKSxuLmZsYWdzJj0tMjU3LG4uZmxhZ3N8PTY1NTM2LG4ubGFuZXM9bCxyPT09bF8/bi5mbGFnc3w9MTYzODQ6KG51bGw9PT0odD1uLnVwZGF0ZVF1ZXVlKT9uLnVwZGF0ZVF1ZXVlPW5ldyBTZXQoW3JdKTp0LmFkZChyKSxzUChlLHIsbCkpLCExO2Nhc2UgMjI6cmV0dXJuIG4uZmxhZ3N8PTY1NTM2LHI9PT1sXz9uLmZsYWdzfD0xNjM4NDoobnVsbD09PSh0PW4udXBkYXRlUXVldWUpPyh0PXt0cmFuc2l0aW9uczpudWxsLG1hcmtlckluc3RhbmNlczpudWxsLHJldHJ5UXVldWU6bmV3IFNldChbcl0pfSxuLnVwZGF0ZVF1ZXVlPXQpOm51bGw9PT0obj10LnJldHJ5UXVldWUpP3QucmV0cnlRdWV1ZT1uZXcgU2V0KFtyXSk6bi5hZGQociksc1AoZSxyLGwpKSwhMX10aHJvdyBFcnJvcih1KDQzNSxuLnRhZykpfXJldHVybiBzUChlLHIsbCksc3UoKSwhMX1pZihyJClyZXR1cm4gbnVsbCE9PSh0PWwzLmN1cnJlbnQpPygwPT0oNjU1MzYmdC5mbGFncykmJih0LmZsYWdzfD0yNTYpLHQuZmxhZ3N8PTY1NTM2LHQubGFuZXM9bCxyIT09cnEmJnIwKHJOKGU9RXJyb3IodSg0MjIpLHtjYXVzZTpyfSksbikpKToociE9PXJxJiZyMChyTih0PUVycm9yKHUoNDIzKSx7Y2F1c2U6cn0pLG4pKSxlPWUuY3VycmVudC5hbHRlcm5hdGUsZS5mbGFnc3w9NjU1MzYsbCY9LWwsZS5sYW5lc3w9bCxyPXJOKHIsbiksbD1vRChlLnN0YXRlTm9kZSxyLGwpLGxXKGUsbCksNCE9PXVMJiYodUw9MikpLCExO3ZhciBhPUVycm9yKHUoNTIwKSx7Y2F1c2U6cn0pO2lmKGE9ck4oYSxuKSxudWxsPT09dUE/dUE9W2FdOnVBLnB1c2goYSksNCE9PXVMJiYodUw9MiksbnVsbD09PXQpcmV0dXJuITA7cj1yTihyLG4pLG49dDtkb3tzd2l0Y2gobi50YWcpe2Nhc2UgMzpyZXR1cm4gbi5mbGFnc3w9NjU1MzYsZT1sJi1sLG4ubGFuZXN8PWUsZT1vRChuLnN0YXRlTm9kZSxyLGUpLGxXKG4sZSksITE7Y2FzZSAxOmlmKHQ9bi50eXBlLGE9bi5zdGF0ZU5vZGUsMD09KDEyOCZuLmZsYWdzKSYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8bnVsbCE9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PXVRfHwhdVEuaGFzKGEpKSkpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LGwmPS1sLG4ubGFuZXN8PWwsb0EobD1vRihsKSxlLG4sciksbFcobixsKSwhMTticmVhaztjYXNlIDIyOmlmKG51bGwhPT1uLm1lbW9pemVkU3RhdGUpcmV0dXJuIG4uZmxhZ3N8PTY1NTM2LCExfW49bi5yZXR1cm59d2hpbGUobnVsbCE9PW4pcmV0dXJuITF9KGUsbCx0LG4sdV8pKXt1TD0xLG9NKGUsck4obixlLmN1cnJlbnQpKSx1eD1udWxsO3JldHVybn19Y2F0Y2godCl7aWYobnVsbCE9PWwpdGhyb3cgdXg9bCx0O3VMPTEsb00oZSxyTihuLGUuY3VycmVudCkpLHV4PW51bGw7cmV0dXJufTMyNzY4JnQuZmxhZ3M/KHIkfHwxPT09cj9lPSEwOnVUfHwwIT0oMHgyMDAwMDAwMCZ1Xyk/ZT0hMToodUM9ZT0hMCwoMj09PXJ8fDk9PT1yfHwzPT09cnx8Nj09PXIpJiZudWxsIT09KHI9bDMuY3VycmVudCkmJjEzPT09ci50YWcmJihyLmZsYWdzfD0xNjM4NCkpLHNtKHQsZSkpOnNwKHQpfWZ1bmN0aW9uIHNwKGUpe3ZhciB0PWU7ZG97aWYoMCE9KDMyNzY4JnQuZmxhZ3MpKXJldHVybiB2b2lkIHNtKHQsdUMpO2U9dC5yZXR1cm47dmFyIG49ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQucGVuZGluZ1Byb3BzO3N3aXRjaChyVSh0KSx0LnRhZyl7Y2FzZSAxNjpjYXNlIDE1OmNhc2UgMDpjYXNlIDExOmNhc2UgNzpjYXNlIDg6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAxNDpjYXNlIDE6cmV0dXJuIGlwKHQpLG51bGw7Y2FzZSAzOnJldHVybiBuPXQuc3RhdGVOb2RlLHI9bnVsbCxudWxsIT09ZSYmKHI9ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1yJiYodC5mbGFnc3w9MjA0OCkscjgobGkpLGVhKCksbi5wZW5kaW5nQ29udGV4dCYmKG4uY29udGV4dD1uLnBlbmRpbmdDb250ZXh0LG4ucGVuZGluZ0NvbnRleHQ9bnVsbCksKG51bGw9PT1lfHxudWxsPT09ZS5jaGlsZCkmJihyWSh0KT9paSh0KTpudWxsPT09ZXx8ZS5tZW1vaXplZFN0YXRlLmlzRGVoeWRyYXRlZCYmMD09KDI1NiZ0LmZsYWdzKXx8KHQuZmxhZ3N8PTEwMjQsclooKSkpLGlwKHQpLG51bGw7Y2FzZSAyNjp2YXIgbD10LnR5cGUsYT10Lm1lbW9pemVkU3RhdGU7cmV0dXJuIG51bGw9PT1lPyhpaSh0KSxudWxsIT09YT8oaXAodCksaXModCxhKSk6KGlwKHQpLGl1KHQsbCxudWxsLHIsbikpKTphP2EhPT1lLm1lbW9pemVkU3RhdGU/KGlpKHQpLGlwKHQpLGlzKHQsYSkpOihpcCh0KSx0LmZsYWdzJj0tMHgxMDAwMDAxKTooKGU9ZS5tZW1vaXplZFByb3BzKSE9PXImJmlpKHQpLGlwKHQpLGl1KHQsbCxlLHIsbikpLG51bGw7Y2FzZSAyNzppZihlaSh0KSxuPWVuLmN1cnJlbnQsbD10LnR5cGUsbnVsbCE9PWUmJm51bGwhPXQuc3RhdGVOb2RlKWUubWVtb2l6ZWRQcm9wcyE9PXImJmlpKHQpO2Vsc2V7aWYoIXIpe2lmKG51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO3JldHVybiBpcCh0KSx0LnN1YnRyZWVGbGFncyY9LTB4MjAwMDAwMSxudWxsfWU9ZWUuY3VycmVudCxyWSh0KT9yWCh0LGUpOih0LnN0YXRlTm9kZT1lPWNYKGwscixuKSxpaSh0KSl9cmV0dXJuIGlwKHQpLHQuc3VidHJlZUZsYWdzJj0tMHgyMDAwMDAxLG51bGw7Y2FzZSA1OmlmKGVpKHQpLGw9dC50eXBlLG51bGwhPT1lJiZudWxsIT10LnN0YXRlTm9kZSllLm1lbW9pemVkUHJvcHMhPT1yJiZpaSh0KTtlbHNle2lmKCFyKXtpZihudWxsPT09dC5zdGF0ZU5vZGUpdGhyb3cgRXJyb3IodSgxNjYpKTtyZXR1cm4gaXAodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsbnVsbH1pZihhPWVlLmN1cnJlbnQsclkodCkpclgodCxhKTtlbHNle3ZhciBvPWN1KGVuLmN1cnJlbnQpO3N3aXRjaChhKXtjYXNlIDE6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UgMjphPW8uY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIixsKTticmVhaztkZWZhdWx0OnN3aXRjaChsKXtjYXNlInN2ZyI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGwpO2JyZWFrO2Nhc2UibWF0aCI6YT1vLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCIsbCk7YnJlYWs7Y2FzZSJzY3JpcHQiOihhPW8uY3JlYXRlRWxlbWVudCgiZGl2IikpLmlubmVySFRNTD0iPHNjcmlwdD48L3NjcmlwdD4iLGE9YS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO2JyZWFrO2Nhc2Uic2VsZWN0IjphPSJzdHJpbmciPT10eXBlb2Ygci5pcz9vLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIse2lzOnIuaXN9KTpvLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLHIubXVsdGlwbGU/YS5tdWx0aXBsZT0hMDpyLnNpemUmJihhLnNpemU9ci5zaXplKTticmVhaztkZWZhdWx0OmE9InN0cmluZyI9PXR5cGVvZiByLmlzP28uY3JlYXRlRWxlbWVudChsLHtpczpyLmlzfSk6by5jcmVhdGVFbGVtZW50KGwpfX1hW2VXXT10LGFbZXFdPXI7ZTpmb3Iobz10LmNoaWxkO251bGwhPT1vOyl7aWYoNT09PW8udGFnfHw2PT09by50YWcpYS5hcHBlbmRDaGlsZChvLnN0YXRlTm9kZSk7ZWxzZSBpZig0IT09by50YWcmJjI3IT09by50YWcmJm51bGwhPT1vLmNoaWxkKXtvLmNoaWxkLnJldHVybj1vLG89by5jaGlsZDtjb250aW51ZX1pZihvPT09dClicmVhaztmb3IoO251bGw9PT1vLnNpYmxpbmc7KXtpZihudWxsPT09by5yZXR1cm58fG8ucmV0dXJuPT09dClicmVhayBlO289by5yZXR1cm59by5zaWJsaW5nLnJldHVybj1vLnJldHVybixvPW8uc2libGluZ31zd2l0Y2godC5zdGF0ZU5vZGU9YSxjbChhLGwsciksbCl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpyPSEhci5hdXRvRm9jdXM7YnJlYWs7Y2FzZSJpbWciOnI9ITA7YnJlYWs7ZGVmYXVsdDpyPSExfXImJmlpKHQpfX1yZXR1cm4gaXAodCksdC5zdWJ0cmVlRmxhZ3MmPS0weDIwMDAwMDEsaXUodCx0LnR5cGUsbnVsbD09PWU/bnVsbDplLm1lbW9pemVkUHJvcHMsdC5wZW5kaW5nUHJvcHMsbiksbnVsbDtjYXNlIDY6aWYoZSYmbnVsbCE9dC5zdGF0ZU5vZGUpZS5tZW1vaXplZFByb3BzIT09ciYmaWkodCk7ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIHImJm51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO2lmKGU9ZW4uY3VycmVudCxyWSh0KSl7aWYoZT10LnN0YXRlTm9kZSxuPXQubWVtb2l6ZWRQcm9wcyxyPW51bGwsbnVsbCE9PShsPXJWKSlzd2l0Y2gobC50YWcpe2Nhc2UgMjc6Y2FzZSA1OnI9bC5tZW1vaXplZFByb3BzfWVbZVddPXQsKGU9ISEoZS5ub2RlVmFsdWU9PT1ufHxudWxsIT09ciYmITA9PT1yLnN1cHByZXNzSHlkcmF0aW9uV2FybmluZ3x8Y3QoZS5ub2RlVmFsdWUsbikpKXx8cksodCwhMCl9ZWxzZShlPWN1KGUpLmNyZWF0ZVRleHROb2RlKHIpKVtlV109dCx0LnN0YXRlTm9kZT1lfXJldHVybiBpcCh0KSxudWxsO2Nhc2UgMzE6aWYobj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUpe2lmKHI9clkodCksbnVsbCE9PW4pe2lmKG51bGw9PT1lKXtpZighcil0aHJvdyBFcnJvcih1KDMxOCkpO2lmKCEoZT1udWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSg1NTcpKTtlW2VXXT10fWVsc2UgckooKSwwPT0oMTI4JnQuZmxhZ3MpJiYodC5tZW1vaXplZFN0YXRlPW51bGwpLHQuZmxhZ3N8PTQ7aXAodCksZT0hMX1lbHNlIG49clooKSxudWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSYmKGUubWVtb2l6ZWRTdGF0ZS5oeWRyYXRpb25FcnJvcnM9biksZT0hMDtpZighZSl7aWYoMjU2JnQuZmxhZ3MpcmV0dXJuIGw3KHQpLHQ7cmV0dXJuIGw3KHQpLG51bGx9aWYoMCE9KDEyOCZ0LmZsYWdzKSl0aHJvdyBFcnJvcih1KDU1OCkpfXJldHVybiBpcCh0KSxudWxsO2Nhc2UgMTM6aWYocj10Lm1lbW9pemVkU3RhdGUsbnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCl7aWYobD1yWSh0KSxudWxsIT09ciYmbnVsbCE9PXIuZGVoeWRyYXRlZCl7aWYobnVsbD09PWUpe2lmKCFsKXRocm93IEVycm9yKHUoMzE4KSk7aWYoIShsPW51bGwhPT0obD10Lm1lbW9pemVkU3RhdGUpP2wuZGVoeWRyYXRlZDpudWxsKSl0aHJvdyBFcnJvcih1KDMxNykpO2xbZVddPXR9ZWxzZSBySigpLDA9PSgxMjgmdC5mbGFncykmJih0Lm1lbW9pemVkU3RhdGU9bnVsbCksdC5mbGFnc3w9NDtpcCh0KSxsPSExfWVsc2UgbD1yWigpLG51bGwhPT1lJiZudWxsIT09ZS5tZW1vaXplZFN0YXRlJiYoZS5tZW1vaXplZFN0YXRlLmh5ZHJhdGlvbkVycm9ycz1sKSxsPSEwO2lmKCFsKXtpZigyNTYmdC5mbGFncylyZXR1cm4gbDcodCksdDtyZXR1cm4gbDcodCksbnVsbH19aWYobDcodCksMCE9KDEyOCZ0LmZsYWdzKSlyZXR1cm4gdC5sYW5lcz1uLHQ7cmV0dXJuIG49bnVsbCE9PXIsZT1udWxsIT09ZSYmbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSxuJiYocj10LmNoaWxkLGw9bnVsbCxudWxsIT09ci5hbHRlcm5hdGUmJm51bGwhPT1yLmFsdGVybmF0ZS5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5hbHRlcm5hdGUubWVtb2l6ZWRTdGF0ZS5jYWNoZVBvb2wmJihsPXIuYWx0ZXJuYXRlLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLGE9bnVsbCxudWxsIT09ci5tZW1vaXplZFN0YXRlJiZudWxsIT09ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKGE9ci5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxhIT09bCYmKHIuZmxhZ3N8PTIwNDgpKSxuIT09ZSYmbiYmKHQuY2hpbGQuZmxhZ3N8PTgxOTIpLGljKHQsdC51cGRhdGVRdWV1ZSksaXAodCksbnVsbDtjYXNlIDQ6cmV0dXJuIGVhKCksbnVsbD09PWUmJnMxKHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLHQuZmxhZ3N8PTB4NDAwMDAwMCxpcCh0KSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI4KHQudHlwZSksaXAodCksbnVsbDtjYXNlIDE5OmlmKGFuKHQpLG51bGw9PT0ocj10Lm1lbW9pemVkU3RhdGUpKXJldHVybiBpcCh0KSxudWxsO2lmKGw9MCE9KDEyOCZ0LmZsYWdzKSxudWxsPT09KGE9ci5yZW5kZXJpbmcpKWlmKGwpaWQociwhMSk7ZWxzZXtpZigwIT09dUx8fG51bGwhPT1lJiYwIT0oMTI4JmUuZmxhZ3MpKWZvcihlPXQuY2hpbGQ7bnVsbCE9PWU7KXtpZihudWxsIT09KGE9YXIoZSkpKXtmb3IodC5mbGFnc3w9MTI4LGlkKHIsITEpLHQudXBkYXRlUXVldWU9ZT1hLnVwZGF0ZVF1ZXVlLGljKHQsZSksdC5zdWJ0cmVlRmxhZ3M9MCxlPW4sbj10LmNoaWxkO251bGwhPT1uOylydyhuLGUpLG49bi5zaWJsaW5nO3JldHVybiBhdCh0LDEmYWUuY3VycmVudHwyKSxyJCYmckYodCxyLnRyZWVGb3JrQ291bnQpLHQuY2hpbGR9ZT1lLnNpYmxpbmd9bnVsbCE9PXIudGFpbCYmZXYoKT51SCYmKHQuZmxhZ3N8PTEyOCxsPSEwLGlkKHIsITEpLHQubGFuZXM9NDE5NDMwNCl9ZWxzZXtpZighbClpZihudWxsIT09KGU9YXIoYSkpKXtpZih0LmZsYWdzfD0xMjgsbD0hMCx0LnVwZGF0ZVF1ZXVlPWU9ZS51cGRhdGVRdWV1ZSxpYyh0LGUpLGlkKHIsITApLG51bGw9PT1yLnRhaWwmJiJjb2xsYXBzZWQiIT09ci50YWlsTW9kZSYmInZpc2libGUiIT09ci50YWlsTW9kZSYmIWEuYWx0ZXJuYXRlJiYhciQpcmV0dXJuIGlwKHQpLG51bGx9ZWxzZSAyKmV2KCktci5yZW5kZXJpbmdTdGFydFRpbWU+dUgmJjB4MjAwMDAwMDAhPT1uJiYodC5mbGFnc3w9MTI4LGw9ITAsaWQociwhMSksdC5sYW5lcz00MTk0MzA0KTtyLmlzQmFja3dhcmRzPyhhLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPWEpOihudWxsIT09KGU9ci5sYXN0KT9lLnNpYmxpbmc9YTp0LmNoaWxkPWEsci5sYXN0PWEpfWlmKG51bGwhPT1yLnRhaWwpe2U9ci50YWlsO2U6e2ZvcihuPWU7bnVsbCE9PW47KXtpZihudWxsIT09bi5hbHRlcm5hdGUpe249ITE7YnJlYWsgZX1uPW4uc2libGluZ31uPSEwfXJldHVybiByLnJlbmRlcmluZz1lLHIudGFpbD1lLnNpYmxpbmcsci5yZW5kZXJpbmdTdGFydFRpbWU9ZXYoKSxlLnNpYmxpbmc9bnVsbCxhPWFlLmN1cnJlbnQsYT1sPzEmYXwyOjEmYSwidmlzaWJsZSI9PT1yLnRhaWxNb2RlfHwiY29sbGFwc2VkIj09PXIudGFpbE1vZGV8fCFufHxyJD9hdCh0LGEpOihuPWEsWihsMyx0KSxaKGFlLG4pLG51bGw9PT1sNCYmKGw0PXQpKSxyJCYmckYodCxyLnRyZWVGb3JrQ291bnQpLGV9cmV0dXJuIGlwKHQpLG51bGw7Y2FzZSAyMjpjYXNlIDIzOnJldHVybiBsNyh0KSxsMigpLHI9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSxudWxsIT09ZT9udWxsIT09ZS5tZW1vaXplZFN0YXRlIT09ciYmKHQuZmxhZ3N8PTgxOTIpOnImJih0LmZsYWdzfD04MTkyKSxyPzAhPSgweDIwMDAwMDAwJm4pJiYwPT0oMTI4JnQuZmxhZ3MpJiYoaXAodCksNiZ0LnN1YnRyZWVGbGFncyYmKHQuZmxhZ3N8PTgxOTIpKTppcCh0KSxudWxsIT09KG49dC51cGRhdGVRdWV1ZSkmJmljKHQsbi5yZXRyeVF1ZXVlKSxuPW51bGwsbnVsbCE9PWUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUmJm51bGwhPT1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sJiYobj1lLm1lbW9pemVkU3RhdGUuY2FjaGVQb29sLnBvb2wpLHI9bnVsbCxudWxsIT09dC5tZW1vaXplZFN0YXRlJiZudWxsIT09dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbCYmKHI9dC5tZW1vaXplZFN0YXRlLmNhY2hlUG9vbC5wb29sKSxyIT09biYmKHQuZmxhZ3N8PTIwNDgpLG51bGwhPT1lJiZKKGx5KSxudWxsO2Nhc2UgMjQ6cmV0dXJuIG49bnVsbCxudWxsIT09ZSYmKG49ZS5tZW1vaXplZFN0YXRlLmNhY2hlKSx0Lm1lbW9pemVkU3RhdGUuY2FjaGUhPT1uJiYodC5mbGFnc3w9MjA0OCkscjgobGkpLGlwKHQpLG51bGw7Y2FzZSAyNTpyZXR1cm4gbnVsbDtjYXNlIDMwOnJldHVybiB0LmZsYWdzfD0weDIwMDAwMDAsaXAodCksbnVsbH10aHJvdyBFcnJvcih1KDE1Nix0LnRhZykpfSh0LmFsdGVybmF0ZSx0LHV6KTtpZihudWxsIT09bil7dXg9bjtyZXR1cm59aWYobnVsbCE9PSh0PXQuc2libGluZykpe3V4PXQ7cmV0dXJufXV4PXQ9ZX13aGlsZShudWxsIT09dCkwPT09dUwmJih1TD01KX1mdW5jdGlvbiBzbShlLHQpe2Rve3ZhciBuPWZ1bmN0aW9uKGUsdCl7c3dpdGNoKHJVKHQpLHQudGFnKXtjYXNlIDE6cmV0dXJuIDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMzpyZXR1cm4gcjgobGkpLGVhKCksMCE9KDY1NTM2JihlPXQuZmxhZ3MpKSYmMD09KDEyOCZlKT8odC5mbGFncz0tNjU1MzcmZXwxMjgsdCk6bnVsbDtjYXNlIDI2OmNhc2UgMjc6Y2FzZSA1OnJldHVybiBlaSh0KSxudWxsO2Nhc2UgMzE6aWYobnVsbCE9PXQubWVtb2l6ZWRTdGF0ZSl7aWYobDcodCksbnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7ckooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxMzppZihsNyh0KSxudWxsIT09KGU9dC5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCl7aWYobnVsbD09PXQuYWx0ZXJuYXRlKXRocm93IEVycm9yKHUoMzQwKSk7ckooKX1yZXR1cm4gNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LHQpOm51bGw7Y2FzZSAxOTpyZXR1cm4gYW4odCksNjU1MzYmKGU9dC5mbGFncyk/KHQuZmxhZ3M9LTY1NTM3JmV8MTI4LG51bGwhPT0oZT10Lm1lbW9pemVkU3RhdGUpJiYoZS5yZW5kZXJpbmc9bnVsbCxlLnRhaWw9bnVsbCksdC5mbGFnc3w9NCx0KTpudWxsO2Nhc2UgNDpyZXR1cm4gZWEoKSxudWxsO2Nhc2UgMTA6cmV0dXJuIHI4KHQudHlwZSksbnVsbDtjYXNlIDIyOmNhc2UgMjM6cmV0dXJuIGw3KHQpLGwyKCksbnVsbCE9PWUmJkoobHkpLDY1NTM2JihlPXQuZmxhZ3MpPyh0LmZsYWdzPS02NTUzNyZlfDEyOCx0KTpudWxsO2Nhc2UgMjQ6cmV0dXJuIHI4KGxpKSxudWxsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fShlLmFsdGVybmF0ZSxlKTtpZihudWxsIT09bil7bi5mbGFncyY9MzI3NjcsdXg9bjtyZXR1cm59aWYobnVsbCE9PShuPWUucmV0dXJuKSYmKG4uZmxhZ3N8PTMyNzY4LG4uc3VidHJlZUZsYWdzPTAsbi5kZWxldGlvbnM9bnVsbCksIXQmJm51bGwhPT0oZT1lLnNpYmxpbmcpKXt1eD1lO3JldHVybn11eD1lPW59d2hpbGUobnVsbCE9PWUpdUw9Nix1eD1udWxsfWZ1bmN0aW9uIHNoKGUsdCxuLHIsbCxhLG8saSxzLGMsZil7ZS5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGw7ZG8gc1MoKTt3aGlsZSgwIT09dVcpaWYoMCE9KDYmdVMpKXRocm93IEVycm9yKHUoMzI3KSk7aWYobnVsbCE9PXQpe3ZhciBkO2lmKHQ9PT1lLmN1cnJlbnQpdGhyb3cgRXJyb3IodSgxNzcpKTtpZighZnVuY3Rpb24oZSx0LG4scixsLGEpe3ZhciBvPWUucGVuZGluZ0xhbmVzO2UucGVuZGluZ0xhbmVzPW4sZS5zdXNwZW5kZWRMYW5lcz0wLGUucGluZ2VkTGFuZXM9MCxlLndhcm1MYW5lcz0wLGUuZXhwaXJlZExhbmVzJj1uLGUuZW50YW5nbGVkTGFuZXMmPW4sZS5lcnJvclJlY292ZXJ5RGlzYWJsZWRMYW5lcyY9bixlLnNoZWxsU3VzcGVuZENvdW50ZXI9MDt2YXIgaT1lLmVudGFuZ2xlbWVudHMsdT1lLmV4cGlyYXRpb25UaW1lcyxzPWUuaGlkZGVuVXBkYXRlcztmb3Iobj1vJn5uOzA8bjspe3ZhciBjPTMxLWVQKG4pLGY9MTw8YztpW2NdPTAsdVtjXT0tMTt2YXIgZD1zW2NdO2lmKG51bGwhPT1kKWZvcihzW2NdPW51bGwsYz0wO2M8ZC5sZW5ndGg7YysrKXt2YXIgcD1kW2NdO251bGwhPT1wJiYocC5sYW5lJj0tMHgyMDAwMDAwMSl9biY9fmZ9MCE9PXImJmVBKGUsciwwKSwwIT09YSYmMD09PWwmJjAhPT1lLnRhZyYmKGUuc3VzcGVuZGVkTGFuZXN8PWEmfihvJn50KSl9KGUsbixhPXQubGFuZXN8dC5jaGlsZExhbmVzfHJ1LG8saSxzKSxlPT09dUUmJih1eD11RT1udWxsLHVfPTApLHVLPXQsdXE9ZSx1WD1uLHVHPWEsdVk9bCx1Sj1yLHUwPW51bGwsKDB4MTNmZmZmMDAmbik9PT1uPyhkPWUudHJhbnNpdGlvblR5cGVzLGUudHJhbnNpdGlvblR5cGVzPW51bGwsdTE9ZCxyPTEwMjYyKToodTE9bnVsbCxyPTEwMjU2KSwwIT0odC5zdWJ0cmVlRmxhZ3Mmcil8fDAhPSh0LmZsYWdzJnIpPyhlLmNhbGxiYWNrTm9kZT1udWxsLGUuY2FsbGJhY2tQcmlvcml0eT0wLGVwKGVrLGZ1bmN0aW9uKCl7cmV0dXJuIHNFKCksbnVsbH0pKTooZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrUHJpb3JpdHk9MCksaU89ITEscj0wIT0oMTM4NzgmdC5mbGFncyksMCE9KDEzODc4JnQuc3VidHJlZUZsYWdzKXx8cil7cj1XLlQsVy5UPW51bGwsbD1xLnAscS5wPTIsbz11Uyx1U3w9NDt0cnl7IWZ1bmN0aW9uKGUsdCxuKXtpZihlPWUuY29udGFpbmVySW5mbyxjbz1mXyxuSChlPW5WKGUpKSl7aWYoInNlbGVjdGlvblN0YXJ0ImluIGUpdmFyIHI9e3N0YXJ0OmUuc2VsZWN0aW9uU3RhcnQsZW5kOmUuc2VsZWN0aW9uRW5kfTtlbHNlIGU6e3ZhciBsPShyPShyPWUub3duZXJEb2N1bWVudCkmJnIuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uJiZyLmdldFNlbGVjdGlvbigpO2lmKGwmJjAhPT1sLnJhbmdlQ291bnQpe3I9bC5hbmNob3JOb2RlO3ZhciBhLG89bC5hbmNob3JPZmZzZXQsaT1sLmZvY3VzTm9kZTtsPWwuZm9jdXNPZmZzZXQ7dHJ5e3Iubm9kZVR5cGUsaS5ub2RlVHlwZX1jYXRjaChlKXtyPW51bGw7YnJlYWsgZX12YXIgdT0wLHM9LTEsYz0tMSxmPTAsZD0wLHA9ZSxtPW51bGw7dDpmb3IoOzspe2Zvcig7cCE9PXJ8fDAhPT1vJiYzIT09cC5ub2RlVHlwZXx8KHM9dStvKSxwIT09aXx8MCE9PWwmJjMhPT1wLm5vZGVUeXBlfHwoYz11K2wpLDM9PT1wLm5vZGVUeXBlJiYodSs9cC5ub2RlVmFsdWUubGVuZ3RoKSxudWxsIT09KGE9cC5maXJzdENoaWxkKTspbT1wLHA9YTtmb3IoOzspe2lmKHA9PT1lKWJyZWFrIHQ7aWYobT09PXImJisrZj09PW8mJihzPXUpLG09PT1pJiYrK2Q9PT1sJiYoYz11KSxudWxsIT09KGE9cC5uZXh0U2libGluZykpYnJlYWs7bT0ocD1tKS5wYXJlbnROb2RlfXA9YX1yPS0xPT09c3x8LTE9PT1jP251bGw6e3N0YXJ0OnMsZW5kOmN9fWVsc2Ugcj1udWxsfXI9cnx8e3N0YXJ0OjAsZW5kOjB9fWVsc2Ugcj1udWxsO2ZvcihjaT17Zm9jdXNlZEVsZW06ZSxzZWxlY3Rpb25SYW5nZTpyfSxmXz0hMSxuPSgweDEzZmZmZjAwJm4pPT09bixpRz10LHQ9bj85MjcwOjEwMjg7bnVsbCE9PWlHOyl7aWYoZT1pRyxuJiZudWxsIT09KHI9ZS5kZWxldGlvbnMpKWZvcihvPTA7bzxyLmxlbmd0aDtvKyspbiYmaUIocltvXSk7aWYobnVsbD09PWUuYWx0ZXJuYXRlJiYwIT0oMiZlLmZsYWdzKSluJiZpTChlKSxpMShuKTtlbHNle2lmKDIyPT09ZS50YWcpe2lmKHI9ZS5hbHRlcm5hdGUsbnVsbCE9PWUubWVtb2l6ZWRTdGF0ZSl7bnVsbCE9PXImJm51bGw9PT1yLm1lbW9pemVkU3RhdGUmJm4mJmlCKHIpLGkxKG4pO2NvbnRpbnVlfWVsc2UgaWYobnVsbCE9PXImJm51bGwhPT1yLm1lbW9pemVkU3RhdGUpe24mJmlMKGUpLGkxKG4pO2NvbnRpbnVlfX1yPWUuY2hpbGQsMCE9KGUuc3VidHJlZUZsYWdzJnQpJiZudWxsIT09cj8oci5yZXR1cm49ZSxpRz1yKToobiYmZnVuY3Rpb24gZSh0KXtmb3IodD10LmNoaWxkO251bGwhPT10Oyl7aWYoMzA9PT10LnRhZyl7dmFyIG49dC5tZW1vaXplZFByb3BzLHI9cm4obix0LnN0YXRlTm9kZSk7bj1ybChuLmRlZmF1bHQsbi51cGRhdGUpLHQuZmxhZ3MmPS01LCJub25lIiE9PW4mJmlEKHQscixuLHQubWVtb2l6ZWRTdGF0ZT1bXSwhMSl9ZWxzZSAwIT0oMHgyMDAwMDAwJnQuc3VidHJlZUZsYWdzKSYmZSh0KTt0PXQuc2libGluZ319KGUpLGkxKG4pKX19aXo9bnVsbH0oZSx0LG4pfWZpbmFsbHl7dVM9byxxLnA9bCxXLlQ9cn19dVc9MSwodD1pTyk/dVo9ZnVuY3Rpb24oZSx0LG4scixsLGEsbyxpLHUpe3ZhciBzPTk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O3RyeXt2YXIgYz1zLnN0YXJ0Vmlld1RyYW5zaXRpb24oe3VwZGF0ZTpmdW5jdGlvbigpe3ZhciB0PXMuZGVmYXVsdFZpZXcsbj10Lm5hdmlnYXRpb24mJnQubmF2aWdhdGlvbi50cmFuc2l0aW9uLG89cy5mb250cy5zdGF0dXM7cigpO3ZhciBpPVtdO2lmKCJsb2FkZWQiPT09byYmKHMuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCwibG9hZGluZyI9PT1zLmZvbnRzLnN0YXR1cyYmaS5wdXNoKHMuZm9udHMucmVhZHkpKSxvPWkubGVuZ3RoLG51bGwhPT1lKWZvcih2YXIgdT1lLnN1c3BlbnNleUltYWdlcyxjPTAsZj0wO2Y8dS5sZW5ndGg7ZisrKXt2YXIgZD11W2ZdO2lmKCFkLmNvbXBsZXRlKXt2YXIgcD1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKDA8cC5ib3R0b20mJjA8cC5yaWdodCYmcC50b3A8dC5pbm5lckhlaWdodCYmcC5sZWZ0PHQuaW5uZXJXaWR0aCl7aWYoKGMrPWZ1KGQpKT5mYyl7aS5sZW5ndGg9bzticmVha31kPW5ldyBQcm9taXNlKGNQLmJpbmQoZCkpLGkucHVzaChkKX19fXJldHVybiAwPGkubGVuZ3RoPyh0PVByb21pc2UucmFjZShbUHJvbWlzZS5hbGwoaSksbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7cmV0dXJuIHNldFRpbWVvdXQoZSw1MDApfSldKS50aGVuKGwsbCksKG4/UHJvbWlzZS5hbGxTZXR0bGVkKFtuLmZpbmlzaGVkLHRdKTp0KS50aGVuKGEsYSkpOihsKCksbik/bi5maW5pc2hlZC50aGVuKGEsYSk6dm9pZCBhKCl9LHR5cGVzOm59KTtzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1jO3ZhciBmPVtdO3JldHVybiBjLnJlYWR5LnRoZW4oZnVuY3Rpb24oKXtmb3IodmFyIGU9cy5kb2N1bWVudEVsZW1lbnQuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHQ9MDt0PGUubGVuZ3RoO3QrKyl7dmFyIG49ZVt0XSxyPW4uZWZmZWN0LGw9ci5wc2V1ZG9FbGVtZW50O2lmKG51bGwhPWwmJmwuc3RhcnRzV2l0aCgiOjp2aWV3LXRyYW5zaXRpb24iKSl7Zi5wdXNoKG4pLG49ci5nZXRLZXlmcmFtZXMoKTtmb3IodmFyIGE9bD12b2lkIDAsaT0hMCx1PTA7dTxuLmxlbmd0aDt1Kyspe3ZhciBjPW5bdV0sZD1jLndpZHRoO2lmKHZvaWQgMD09PWwpbD1kO2Vsc2UgaWYobCE9PWQpe2k9ITE7YnJlYWt9aWYoZD1jLmhlaWdodCx2b2lkIDA9PT1hKWE9ZDtlbHNlIGlmKGEhPT1kKXtpPSExO2JyZWFrfWRlbGV0ZSBjLndpZHRoLGRlbGV0ZSBjLmhlaWdodCwibm9uZSI9PT1jLnRyYW5zZm9ybSYmZGVsZXRlIGMudHJhbnNmb3JtfWkmJnZvaWQgMCE9PWwmJnZvaWQgMCE9PWEmJihyLnNldEtleWZyYW1lcyhuKSwoaT1nZXRDb21wdXRlZFN0eWxlKHIudGFyZ2V0LHIucHNldWRvRWxlbWVudCkpLndpZHRoIT09bHx8aS5oZWlnaHQhPT1hKSYmKChpPW5bMF0pLndpZHRoPWwsaS5oZWlnaHQ9YSwoaT1uW24ubGVuZ3RoLTFdKS53aWR0aD1sLGkuaGVpZ2h0PWEsci5zZXRLZXlmcmFtZXMobikpfX1vKCl9LGZ1bmN0aW9uKGUpe3MuX19yZWFjdFZpZXdUcmFuc2l0aW9uPT09YyYmKHMuX19yZWFjdFZpZXdUcmFuc2l0aW9uPW51bGwpO3RyeXsib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiSW52YWxpZFN0YXRlRXJyb3IiPT09ZS5uYW1lJiYoIlZpZXcgdHJhbnNpdGlvbiB3YXMgc2tpcHBlZCBiZWNhdXNlIGRvY3VtZW50IHZpc2liaWxpdHkgc3RhdGUgaXMgaGlkZGVuLiI9PT1lLm1lc3NhZ2V8fCJTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSBkb2N1bWVudCB2aXNpYmlsaXR5IHN0YXRlIGhhcyBiZWNvbWUgaGlkZGVuLiI9PT1lLm1lc3NhZ2V8fCJTa2lwcGluZyB2aWV3IHRyYW5zaXRpb24gYmVjYXVzZSB2aWV3cG9ydCBzaXplIGNoYW5nZWQuIj09PWUubWVzc2FnZXx8IlRyYW5zaXRpb24gd2FzIGFib3J0ZWQgYmVjYXVzZSBvZiBpbnZhbGlkIHN0YXRlIj09PWUubWVzc2FnZSkmJihlPW51bGwpLG51bGwhPT1lJiZ1KGUpfWZpbmFsbHl7cigpLGwoKSxvKCl9fSksYy5maW5pc2hlZC5maW5hbGx5KGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxmLmxlbmd0aDtlKyspZltlXS5jYW5jZWwoKTtzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj09PWMmJihzLl9fcmVhY3RWaWV3VHJhbnNpdGlvbj1udWxsKSxpKCl9KSxjfWNhdGNoKGUpe3JldHVybiByKCksbCgpLG8oKSxudWxsfX0oZixlLmNvbnRhaW5lckluZm8sdTEsc3ksc2Isc3Ysc3csc0Usc2csbnVsbCxudWxsKTooc3koKSxzYigpLHN3KCkpfX1mdW5jdGlvbiBzZyhlKXswIT09dVcmJigwLHVxLm9uUmVjb3ZlcmFibGVFcnJvcikoZSx7Y29tcG9uZW50U3RhY2s6bnVsbH0pfWZ1bmN0aW9uIHN2KCl7Mz09PXVXJiYodVc9MCx1byh1Syx1cSksdVc9NCl9ZnVuY3Rpb24gc3koKXtpZigxPT09dVcpe3VXPTA7dmFyIGU9dXEsdD11SyxuPXVYLHI9MCE9KDEzODc4JnQuZmxhZ3MpO2lmKDAhPSgxMzg3OCZ0LnN1YnRyZWVGbGFncyl8fHIpe3I9Vy5ULFcuVD1udWxsO3ZhciBsPXEucDtxLnA9Mjt2YXIgYT11Uzt1U3w9NDt0cnl7aUo9aVo9ITEsdXIodCxlLG4pLG49Y2k7dmFyIG89blYoZS5jb250YWluZXJJbmZvKSxpPW4uZm9jdXNlZEVsZW0sdT1uLnNlbGVjdGlvblJhbmdlO2lmKG8hPT1pJiZpJiZpLm93bmVyRG9jdW1lbnQmJmZ1bmN0aW9uIGUodCxuKXtyZXR1cm4hIXQmJiEhbiYmKHQ9PT1ufHwoIXR8fDMhPT10Lm5vZGVUeXBlKSYmKG4mJjM9PT1uLm5vZGVUeXBlP2UodCxuLnBhcmVudE5vZGUpOiJjb250YWlucyJpbiB0P3QuY29udGFpbnMobik6ISF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYhISgxNiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4pKSkpfShpLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGkpKXtpZihudWxsIT09dSYmbkgoaSkpe3ZhciBzPXUuc3RhcnQsYz11LmVuZDtpZih2b2lkIDA9PT1jJiYoYz1zKSwic2VsZWN0aW9uU3RhcnQiaW4gaSlpLnNlbGVjdGlvblN0YXJ0PXMsaS5zZWxlY3Rpb25FbmQ9TWF0aC5taW4oYyxpLnZhbHVlLmxlbmd0aCk7ZWxzZXt2YXIgZj1pLm93bmVyRG9jdW1lbnR8fGRvY3VtZW50LGQ9ZiYmZi5kZWZhdWx0Vmlld3x8d2luZG93O2lmKGQuZ2V0U2VsZWN0aW9uKXt2YXIgcD1kLmdldFNlbGVjdGlvbigpLG09aS50ZXh0Q29udGVudC5sZW5ndGgsaD1NYXRoLm1pbih1LnN0YXJ0LG0pLGc9dm9pZCAwPT09dS5lbmQ/aDpNYXRoLm1pbih1LmVuZCxtKTshcC5leHRlbmQmJmg+ZyYmKG89ZyxnPWgsaD1vKTt2YXIgdj1uQihpLGgpLHk9bkIoaSxnKTtpZih2JiZ5JiYoMSE9PXAucmFuZ2VDb3VudHx8cC5hbmNob3JOb2RlIT09di5ub2RlfHxwLmFuY2hvck9mZnNldCE9PXYub2Zmc2V0fHxwLmZvY3VzTm9kZSE9PXkubm9kZXx8cC5mb2N1c09mZnNldCE9PXkub2Zmc2V0KSl7dmFyIGI9Zi5jcmVhdGVSYW5nZSgpO2Iuc2V0U3RhcnQodi5ub2RlLHYub2Zmc2V0KSxwLnJlbW92ZUFsbFJhbmdlcygpLGg+Zz8ocC5hZGRSYW5nZShiKSxwLmV4dGVuZCh5Lm5vZGUseS5vZmZzZXQpKTooYi5zZXRFbmQoeS5ub2RlLHkub2Zmc2V0KSxwLmFkZFJhbmdlKGIpKX19fX1mb3IoZj1bXSxwPWk7cD1wLnBhcmVudE5vZGU7KTE9PT1wLm5vZGVUeXBlJiZmLnB1c2goe2VsZW1lbnQ6cCxsZWZ0OnAuc2Nyb2xsTGVmdCx0b3A6cC5zY3JvbGxUb3B9KTtmb3IoImZ1bmN0aW9uIj09dHlwZW9mIGkuZm9jdXMmJmkuZm9jdXMoKSxpPTA7aTxmLmxlbmd0aDtpKyspe3ZhciB3PWZbaV07dy5lbGVtZW50LnNjcm9sbExlZnQ9dy5sZWZ0LHcuZWxlbWVudC5zY3JvbGxUb3A9dy50b3B9fWZfPSEhY28sY2k9Y289bnVsbH1maW5hbGx5e3VTPWEscS5wPWwsVy5UPXJ9fWUuY3VycmVudD10LHVXPTJ9fWZ1bmN0aW9uIHNiKCl7aWYoMj09PXVXKXt1Vz0wO3ZhciBlPXVxLHQ9dUssbj0wIT0oODc3MiZ0LmZsYWdzKTtpZigwIT0oODc3MiZ0LnN1YnRyZWVGbGFncyl8fG4pe249Vy5ULFcuVD1udWxsO3ZhciByPXEucDtxLnA9Mjt2YXIgbD11Uzt1U3w9NDt0cnl7aTIoZSx0LmFsdGVybmF0ZSx0KX1maW5hbGx5e3VTPWwscS5wPXIsVy5UPW59fXVXPTN9fWZ1bmN0aW9uIHN3KCl7aWYoND09PXVXfHwzPT09dVcpe3VXPTAsdVo9bnVsbCxlZygpO3ZhciBlPXVxLHQ9dUssbj11WCxyPXVKLGw9KDB4MTNmZmZmMDAmbik9PT1uPzEwMjYyOjEwMjU2O2lmKDAhPSh0LnN1YnRyZWVGbGFncyZsKXx8MCE9KHQuZmxhZ3MmbCk/dVc9NToodVc9MCx1Sz11cT1udWxsLHNrKGUsZS5wZW5kaW5nTGFuZXMpKSwwPT09KGw9ZS5wZW5kaW5nTGFuZXMpJiYodVE9bnVsbCksZVYobiksdD10LnN0YXRlTm9kZSxlXyYmImZ1bmN0aW9uIj09dHlwZW9mIGVfLm9uQ29tbWl0RmliZXJSb290KXRyeXtlXy5vbkNvbW1pdEZpYmVyUm9vdChleCx0LHZvaWQgMCwxMjg9PSgxMjgmdC5jdXJyZW50LmZsYWdzKSl9Y2F0Y2goZSl7fWlmKG51bGwhPT1yKXt0PVcuVCxsPXEucCxxLnA9MixXLlQ9bnVsbDt0cnl7Zm9yKHZhciBhPWUub25SZWNvdmVyYWJsZUVycm9yLG89MDtvPHIubGVuZ3RoO28rKyl7dmFyIGk9cltvXTthKGkudmFsdWUse2NvbXBvbmVudFN0YWNrOmkuc3RhY2t9KX19ZmluYWxseXtXLlQ9dCxxLnA9bH19aWYocj11MCxhPXUxLHUxPW51bGwsbnVsbCE9PXIpZm9yKHUwPW51bGwsbnVsbD09PWEmJihhPVtdKSxpPTA7aTxyLmxlbmd0aDtpKyspKDAscltpXSkoYSk7MCE9KDMmdVgpJiZzUygpLHNGKGUpLGw9ZS5wZW5kaW5nTGFuZXMsMCE9KDI2MTkzMCZuKSYmMCE9KDQyJmwpP2U9PT11Mz91MisrOih1Mj0wLHUzPWUpOnUyPTAsc0EoMCwhMSl9fWZ1bmN0aW9uIHNrKGUsdCl7MD09KGUucG9vbGVkQ2FjaGVMYW5lcyY9dCkmJm51bGwhPSh0PWUucG9vbGVkQ2FjaGUpJiYoZS5wb29sZWRDYWNoZT1udWxsLGxzKHQpKX1mdW5jdGlvbiBzUygpe3JldHVybiBudWxsIT09dVomJih1Wi5za2lwVHJhbnNpdGlvbigpLHVaPW51bGwpLHN5KCksc2IoKSxzdygpLHNFKCl9ZnVuY3Rpb24gc0UoKXtpZig1IT09dVcpcmV0dXJuITE7dmFyIGU9dXEsdD11Rzt1Rz0wO3ZhciBuPWVWKHVYKSxyPVcuVCxsPXEucDt0cnl7cS5wPTMyPm4/MzI6bixXLlQ9bnVsbCxuPXVZLHVZPW51bGw7dmFyIGE9dXEsbz11WDtpZih1Vz0wLHVLPXVxPW51bGwsdVg9MCwwIT0oNiZ1UykpdGhyb3cgRXJyb3IodSgzMzEpKTt2YXIgaT11UztpZih1U3w9NCx1eShhLmN1cnJlbnQpLHVmKGEsYS5jdXJyZW50LG8sbiksdVM9aSxzQSgwLCExKSxlXyYmImZ1bmN0aW9uIj09dHlwZW9mIGVfLm9uUG9zdENvbW1pdEZpYmVyUm9vdCl0cnl7ZV8ub25Qb3N0Q29tbWl0RmliZXJSb290KGV4LGEpfWNhdGNoKGUpe31yZXR1cm4hMH1maW5hbGx5e3EucD1sLFcuVD1yLHNrKGUsdCl9fWZ1bmN0aW9uIHN4KGUsdCxuKXt0PXJOKG4sdCksdD1vRChlLnN0YXRlTm9kZSx0LDIpLG51bGwhPT0oZT1sJChlLHQsMikpJiYoZUYoZSwyKSxzRihlKSl9ZnVuY3Rpb24gc18oZSx0LG4pe2lmKDM9PT1lLnRhZylzeChlLGUsbik7ZWxzZSBmb3IoO251bGwhPT10Oyl7aWYoMz09PXQudGFnKXtzeCh0LGUsbik7YnJlYWt9aWYoMT09PXQudGFnKXt2YXIgcj10LnN0YXRlTm9kZTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcnx8ImZ1bmN0aW9uIj09dHlwZW9mIHIuY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09dVF8fCF1US5oYXMocikpKXtlPXJOKG4sZSksbnVsbCE9PShyPWwkKHQsbj1vRigyKSwyKSkmJihvQShuLHIsdCxlKSxlRihyLDIpLHNGKHIpKTticmVha319dD10LnJldHVybn19ZnVuY3Rpb24gc1AoZSx0LG4pe3ZhciByPWUucGluZ0NhY2hlO2lmKG51bGw9PT1yKXtyPWUucGluZ0NhY2hlPW5ldyB1azt2YXIgbD1uZXcgU2V0O3Iuc2V0KHQsbCl9ZWxzZSB2b2lkIDA9PT0obD1yLmdldCh0KSkmJihsPW5ldyBTZXQsci5zZXQodCxsKSk7bC5oYXMobil8fCh1Tz0hMCxsLmFkZChuKSxlPXNOLmJpbmQobnVsbCxlLHQsbiksdC50aGVuKGUsZSkpfWZ1bmN0aW9uIHNOKGUsdCxuKXt2YXIgcj1lLnBpbmdDYWNoZTtudWxsIT09ciYmci5kZWxldGUodCksZS5waW5nZWRMYW5lc3w9ZS5zdXNwZW5kZWRMYW5lcyZuLGUud2FybUxhbmVzJj1+bix1RT09PWUmJih1XyZuKT09PW4mJig0PT09dUx8fDM9PT11TCYmKDB4M2MwMDAwMCZ1Xyk9PT11XyYmMzAwPmV2KCktdUI/MD09KDImdVMpJiZzcihlLDApOnVJfD1uLHVGPT09dV8mJih1Rj0wKSksc0YoZSl9ZnVuY3Rpb24gc0MoZSx0KXswPT09dCYmKHQ9ZUkoKSksbnVsbCE9PShlPXJkKGUsdCkpJiYoZUYoZSx0KSxzRihlKSl9ZnVuY3Rpb24gc1QoZSl7dmFyIHQ9ZS5tZW1vaXplZFN0YXRlLG49MDtudWxsIT09dCYmKG49dC5yZXRyeUxhbmUpLHNDKGUsbil9ZnVuY3Rpb24gc08oZSx0KXt2YXIgbj0wO3N3aXRjaChlLnRhZyl7Y2FzZSAzMTpjYXNlIDEzOnZhciByPWUuc3RhdGVOb2RlLGw9ZS5tZW1vaXplZFN0YXRlO251bGwhPT1sJiYobj1sLnJldHJ5TGFuZSk7YnJlYWs7Y2FzZSAxOTpyPWUuc3RhdGVOb2RlO2JyZWFrO2Nhc2UgMjI6cj1lLnN0YXRlTm9kZS5fcmV0cnlDYWNoZTticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMzE0KSl9bnVsbCE9PXImJnIuZGVsZXRlKHQpLHNDKGUsbil9dmFyIHN6PW51bGwsc0w9bnVsbCxzUj0hMSxzTT0hMSxzST0hMSxzRD0wO2Z1bmN0aW9uIHNGKGUpe2UhPT1zTCYmbnVsbD09PWUubmV4dCYmKG51bGw9PT1zTD9zej1zTD1lOnNMPXNMLm5leHQ9ZSksc009ITAsc1J8fChzUj0hMCxjZyhmdW5jdGlvbigpezAhPSg2JnVTKT9lcChlYixzaik6c1UoKX0pKX1mdW5jdGlvbiBzQShlLHQpe2lmKCFzSSYmc00pe3NJPSEwO2RvIGZvcih2YXIgbj0hMSxyPXN6O251bGwhPT1yOyl7aWYoIXQpaWYoMCE9PWUpe3ZhciBsPXIucGVuZGluZ0xhbmVzO2lmKDA9PT1sKXZhciBhPTA7ZWxzZXt2YXIgbz1yLnN1c3BlbmRlZExhbmVzLGk9ci5waW5nZWRMYW5lczthPTB4YzAwMDA5NSYoYT0oMTw8MzEtZVAoNDJ8ZSkrMSktMSYobCZ+KG8mfmkpKSk/MHhjMDAwMDk1JmF8MTphPzJ8YTowfTAhPT1hJiYobj0hMCxzSChyLGEpKX1lbHNlIGE9dV8sMD09KDMmKGE9ZVIocixyPT09dUU/YTowLG51bGwhPT1yLmNhbmNlbFBlbmRpbmdDb21taXR8fC0xIT09ci50aW1lb3V0SGFuZGxlKSkpfHxlTShyLGEpfHwobj0hMCxzSChyLGEpKTtyPXIubmV4dH13aGlsZShuKXNJPSExfX1mdW5jdGlvbiBzaigpe3NVKCl9ZnVuY3Rpb24gc1UoKXtzTT1zUj0hMTt2YXIgZSx0PTA7MD09PXNEfHwoKGU9d2luZG93LmV2ZW50KSYmInBvcHN0YXRlIj09PWUudHlwZT9lPT09Y2R8fChjZD1lLDApOihjZD1udWxsLDEpKXx8KHQ9c0QpO2Zvcih2YXIgbj1ldigpLHI9bnVsbCxsPXN6O251bGwhPT1sOyl7dmFyIGE9bC5uZXh0LG89c0IobCxuKTswPT09bz8obC5uZXh0PW51bGwsbnVsbD09PXI/c3o9YTpyLm5leHQ9YSxudWxsPT09YSYmKHNMPXIpKToocj1sLCgwIT09dHx8MCE9KDMmbykpJiYoc009ITApKSxsPWF9MCE9PXVXJiY1IT09dVd8fHNBKHQsITEpLDAhPT1zRCYmKHNEPTApfWZ1bmN0aW9uIHNCKGUsdCl7Zm9yKHZhciBuPWUuc3VzcGVuZGVkTGFuZXMscj1lLnBpbmdlZExhbmVzLGw9ZS5leHBpcmF0aW9uVGltZXMsYT0tMHgzYzAwMDAxJmUucGVuZGluZ0xhbmVzOzA8YTspe3ZhciBvPTMxLWVQKGEpLGk9MTw8byx1PWxbb107LTE9PT11PygwPT0oaSZuKXx8MCE9KGkmcikpJiYobFtvXT1mdW5jdGlvbihlLHQpe3N3aXRjaChlKXtjYXNlIDE6Y2FzZSAyOmNhc2UgNDpjYXNlIDg6Y2FzZSA2NDpyZXR1cm4gdCsyNTA7Y2FzZSAxNjpjYXNlIDMyOmNhc2UgMTI4OmNhc2UgMjU2OmNhc2UgNTEyOmNhc2UgMTAyNDpjYXNlIDIwNDg6Y2FzZSA0MDk2OmNhc2UgODE5MjpjYXNlIDE2Mzg0OmNhc2UgMzI3Njg6Y2FzZSA2NTUzNjpjYXNlIDEzMTA3MjpjYXNlIDI2MjE0NDpjYXNlIDUyNDI4ODpjYXNlIDEwNDg1NzY6Y2FzZSAyMDk3MTUyOnJldHVybiB0KzVlMztkZWZhdWx0OnJldHVybiAtMX19KGksdCkpOnU8PXQmJihlLmV4cGlyZWRMYW5lc3w9aSksYSY9fml9aWYodD11RSxuPXVfLG49ZVIoZSxlPT09dD9uOjAsbnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdHx8LTEhPT1lLnRpbWVvdXRIYW5kbGUpLHI9ZS5jYWxsYmFja05vZGUsMD09PW58fGU9PT10JiYoMj09PXVQfHw5PT09dVApfHxudWxsIT09ZS5jYW5jZWxQZW5kaW5nQ29tbWl0KXJldHVybiBudWxsIT09ciYmbnVsbCE9PXImJmVtKHIpLGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTA7aWYoMD09KDMmbil8fGVNKGUsbikpe2lmKCh0PW4mLW4pPT09ZS5jYWxsYmFja1ByaW9yaXR5KXJldHVybiB0O3N3aXRjaChudWxsIT09ciYmZW0ociksZVYobikpe2Nhc2UgMjpjYXNlIDg6bj1ldzticmVhaztjYXNlIDMyOmRlZmF1bHQ6bj1lazticmVhaztjYXNlIDB4MTAwMDAwMDA6bj1lRX1yZXR1cm4gbj1lcChuLHI9c1YuYmluZChudWxsLGUpKSxlLmNhbGxiYWNrUHJpb3JpdHk9dCxlLmNhbGxiYWNrTm9kZT1uLHR9cmV0dXJuIG51bGwhPT1yJiZudWxsIT09ciYmZW0ociksZS5jYWxsYmFja1ByaW9yaXR5PTIsZS5jYWxsYmFja05vZGU9bnVsbCwyfWZ1bmN0aW9uIHNWKGUsdCl7aWYoMCE9PXVXJiY1IT09dVcpcmV0dXJuIGUuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja1ByaW9yaXR5PTAsbnVsbDt2YXIgbj1lLmNhbGxiYWNrTm9kZTtpZihzUygpJiZlLmNhbGxiYWNrTm9kZSE9PW4pcmV0dXJuIG51bGw7dmFyIHI9dV87cmV0dXJuIDA9PT0ocj1lUihlLGU9PT11RT9yOjAsbnVsbCE9PWUuY2FuY2VsUGVuZGluZ0NvbW1pdHx8LTEhPT1lLnRpbWVvdXRIYW5kbGUpKT9udWxsOih1OShlLHIsdCksc0IoZSxldigpKSxudWxsIT1lLmNhbGxiYWNrTm9kZSYmZS5jYWxsYmFja05vZGU9PT1uP3NWLmJpbmQobnVsbCxlKTpudWxsKX1mdW5jdGlvbiBzSChlLHQpe2lmKHNTKCkpcmV0dXJuIG51bGw7dTkoZSx0LCEwKX1mdW5jdGlvbiBzJCgpe2lmKDA9PT1zRCl7dmFyIGU9bG07MD09PWUmJihlPWVULDA9PSgyNjE4ODgmKGVUPDw9MSkpJiYoZVQ9MjU2KSksc0Q9ZX1yZXR1cm4gc0R9ZnVuY3Rpb24gc1EoZSl7cmV0dXJuIG51bGw9PWV8fCJzeW1ib2wiPT10eXBlb2YgZXx8ImJvb2xlYW4iPT10eXBlb2YgZT9udWxsOiJmdW5jdGlvbiI9PXR5cGVvZiBlP2U6dEMoIiIrZSl9ZnVuY3Rpb24gc1coZSx0KXt2YXIgbj10Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtyZXR1cm4gbi5uYW1lPXQubmFtZSxuLnZhbHVlPXQudmFsdWUsZS5pZCYmbi5zZXRBdHRyaWJ1dGUoImZvcm0iLGUuaWQpLHQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobix0KSxlPW5ldyBGb3JtRGF0YShlKSxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksZX1mb3IodmFyIHNxPTA7c3E8bjcubGVuZ3RoO3NxKyspe3ZhciBzSz1uN1tzcV07cmUoc0sudG9Mb3dlckNhc2UoKSwib24iKyhzS1swXS50b1VwcGVyQ2FzZSgpK3NLLnNsaWNlKDEpKSl9cmUobjEsIm9uQW5pbWF0aW9uRW5kIikscmUobjIsIm9uQW5pbWF0aW9uSXRlcmF0aW9uIikscmUobjMsIm9uQW5pbWF0aW9uU3RhcnQiKSxyZSgiZGJsY2xpY2siLCJvbkRvdWJsZUNsaWNrIikscmUoImZvY3VzaW4iLCJvbkZvY3VzIikscmUoImZvY3Vzb3V0Iiwib25CbHVyIikscmUobjQsIm9uVHJhbnNpdGlvblJ1biIpLHJlKG44LCJvblRyYW5zaXRpb25TdGFydCIpLHJlKG41LCJvblRyYW5zaXRpb25DYW5jZWwiKSxyZShuNiwib25UcmFuc2l0aW9uRW5kIiksZTcoIm9uTW91c2VFbnRlciIsWyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdKSxlNygib25Nb3VzZUxlYXZlIixbIm1vdXNlb3V0IiwibW91c2VvdmVyIl0pLGU3KCJvblBvaW50ZXJFbnRlciIsWyJwb2ludGVyb3V0IiwicG9pbnRlcm92ZXIiXSksZTcoIm9uUG9pbnRlckxlYXZlIixbInBvaW50ZXJvdXQiLCJwb2ludGVyb3ZlciJdKSxlOSgib25DaGFuZ2UiLCJjaGFuZ2UgY2xpY2sgZm9jdXNpbiBmb2N1c291dCBpbnB1dCBrZXlkb3duIGtleXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKSksZTkoIm9uU2VsZWN0IiwiZm9jdXNvdXQgY29udGV4dG1lbnUgZHJhZ2VuZCBmb2N1c2luIGtleWRvd24ga2V5dXAgbW91c2Vkb3duIG1vdXNldXAgc2VsZWN0aW9uY2hhbmdlIi5zcGxpdCgiICIpKSxlOSgib25CZWZvcmVJbnB1dCIsWyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXSksZTkoIm9uQ29tcG9zaXRpb25FbmQiLCJjb21wb3NpdGlvbmVuZCBmb2N1c291dCBrZXlkb3duIGtleXByZXNzIGtleXVwIG1vdXNlZG93biIuc3BsaXQoIiAiKSksZTkoIm9uQ29tcG9zaXRpb25TdGFydCIsImNvbXBvc2l0aW9uc3RhcnQgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpLGU5KCJvbkNvbXBvc2l0aW9uVXBkYXRlIiwiY29tcG9zaXRpb251cGRhdGUgZm9jdXNvdXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIikpO3ZhciBzWD0iYWJvcnQgY2FucGxheSBjYW5wbGF5dGhyb3VnaCBkdXJhdGlvbmNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBsb2FkZWRkYXRhIGxvYWRlZG1ldGFkYXRhIGxvYWRzdGFydCBwYXVzZSBwbGF5IHBsYXlpbmcgcHJvZ3Jlc3MgcmF0ZWNoYW5nZSByZXNpemUgc2Vla2VkIHNlZWtpbmcgc3RhbGxlZCBzdXNwZW5kIHRpbWV1cGRhdGUgdm9sdW1lY2hhbmdlIHdhaXRpbmciLnNwbGl0KCIgIiksc0c9bmV3IFNldCgiYmVmb3JldG9nZ2xlIGNhbmNlbCBjbG9zZSBpbnZhbGlkIGxvYWQgc2Nyb2xsIHNjcm9sbGVuZCB0b2dnbGUiLnNwbGl0KCIgIikuY29uY2F0KHNYKSk7ZnVuY3Rpb24gc1koZSx0KXt0PTAhPSg0JnQpO2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLGw9ci5ldmVudDtyPXIubGlzdGVuZXJzO2U6e3ZhciBhPXZvaWQgMDtpZih0KWZvcih2YXIgbz1yLmxlbmd0aC0xOzA8PW87by0tKXt2YXIgaT1yW29dLHU9aS5pbnN0YW5jZSxzPWkuY3VycmVudFRhcmdldDtpZihpPWkubGlzdGVuZXIsdSE9PWEmJmwuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSlicmVhayBlO2E9aSxsLmN1cnJlbnRUYXJnZXQ9czt0cnl7YShsKX1jYXRjaChlKXtyYShlKX1sLmN1cnJlbnRUYXJnZXQ9bnVsbCxhPXV9ZWxzZSBmb3Iobz0wO288ci5sZW5ndGg7bysrKXtpZih1PShpPXJbb10pLmluc3RhbmNlLHM9aS5jdXJyZW50VGFyZ2V0LGk9aS5saXN0ZW5lcix1IT09YSYmbC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWJyZWFrIGU7YT1pLGwuY3VycmVudFRhcmdldD1zO3RyeXthKGwpfWNhdGNoKGUpe3JhKGUpfWwuY3VycmVudFRhcmdldD1udWxsLGE9dX19fX1mdW5jdGlvbiBzSihlLHQpe3ZhciBuPXRbZVhdO3ZvaWQgMD09PW4mJihuPXRbZVhdPW5ldyBTZXQpO3ZhciByPWUrIl9fYnViYmxlIjtuLmhhcyhyKXx8KHMyKHQsZSwyLCExKSxuLmFkZChyKSl9ZnVuY3Rpb24gc1ooZSx0LG4pe3ZhciByPTA7dCYmKHJ8PTQpLHMyKG4sZSxyLHQpfXZhciBzMD0iX3JlYWN0TGlzdGVuaW5nIitNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyKTtmdW5jdGlvbiBzMShlKXtpZighZVtzMF0pe2VbczBdPSEwLGU1LmZvckVhY2goZnVuY3Rpb24odCl7InNlbGVjdGlvbmNoYW5nZSIhPT10JiYoc0cuaGFzKHQpfHxzWih0LCExLGUpLHNaKHQsITAsZSkpfSk7dmFyIHQ9OT09PWUubm9kZVR5cGU/ZTplLm93bmVyRG9jdW1lbnQ7bnVsbD09PXR8fHRbczBdfHwodFtzMF09ITAsc1ooInNlbGVjdGlvbmNoYW5nZSIsITEsdCkpfX1mdW5jdGlvbiBzMihlLHQsbixyKXtzd2l0Y2goZkwodCkpe2Nhc2UgMjp2YXIgbD1mUDticmVhaztjYXNlIDg6bD1mTjticmVhaztkZWZhdWx0Omw9ZkN9bj1sLmJpbmQobnVsbCx0LG4sZSksbD12b2lkIDAsdGomJigidG91Y2hzdGFydCI9PT10fHwidG91Y2htb3ZlIj09PXR8fCJ3aGVlbCI9PT10KSYmKGw9ITApLHI/dm9pZCAwIT09bD9lLmFkZEV2ZW50TGlzdGVuZXIodCxuLHtjYXB0dXJlOiEwLHBhc3NpdmU6bH0pOmUuYWRkRXZlbnRMaXN0ZW5lcih0LG4sITApOnZvaWQgMCE9PWw/ZS5hZGRFdmVudExpc3RlbmVyKHQsbix7cGFzc2l2ZTpsfSk6ZS5hZGRFdmVudExpc3RlbmVyKHQsbiwhMSl9ZnVuY3Rpb24gczMoZSx0LG4scixsKXt2YXIgYT1yO2lmKDA9PSgxJnQpJiYwPT0oMiZ0KSYmbnVsbCE9PXIpZTpmb3IoOzspe2lmKG51bGw9PT1yKXJldHVybjt2YXIgbz1yLnRhZztpZigzPT09b3x8ND09PW8pe3ZhciBpPXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87aWYoaT09PWwpYnJlYWs7aWYoND09PW8pZm9yKG89ci5yZXR1cm47bnVsbCE9PW87KXt2YXIgdT1vLnRhZztpZigoMz09PXV8fDQ9PT11KSYmby5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PWwpcmV0dXJuO289by5yZXR1cm59Zm9yKDtudWxsIT09aTspe2lmKG51bGw9PT0obz1lMShpKSkpcmV0dXJuO2lmKDU9PT0odT1vLnRhZyl8fDY9PT11fHwyNj09PXV8fDI3PT09dSl7cj1hPW87Y29udGludWUgZX1pPWkucGFyZW50Tm9kZX19cj1yLnJldHVybn10RChmdW5jdGlvbigpe3ZhciByPWEsbD10eihuKSxvPVtdO2U6e3ZhciBpPW45LmdldChlKTtpZih2b2lkIDAhPT1pKXt2YXIgdT10MSxzPWU7c3dpdGNoKGUpe2Nhc2Uia2V5cHJlc3MiOmlmKDA9PT10UShuKSlicmVhayBlO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6dT1ubzticmVhaztjYXNlImZvY3VzaW4iOnM9ImZvY3VzIix1PXQ2O2JyZWFrO2Nhc2UiZm9jdXNvdXQiOnM9ImJsdXIiLHU9dDY7YnJlYWs7Y2FzZSJiZWZvcmVibHVyIjpjYXNlImFmdGVyYmx1ciI6dT10NjticmVhaztjYXNlImNsaWNrIjppZigyPT09bi5idXR0b24pYnJlYWsgZTtjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2V1cCI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UiY29udGV4dG1lbnUiOnU9dDg7YnJlYWs7Y2FzZSJkcmFnIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJkcmFnc3RhcnQiOmNhc2UiZHJvcCI6dT10NTticmVhaztjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ0b3VjaHN0YXJ0Ijp1PW51O2JyZWFrO2Nhc2UgbjE6Y2FzZSBuMjpjYXNlIG4zOnU9dDk7YnJlYWs7Y2FzZSBuNjp1PW5zO2JyZWFrO2Nhc2Uic2Nyb2xsIjpjYXNlInNjcm9sbGVuZCI6dT10MzticmVhaztjYXNlIndoZWVsIjp1PW5jO2JyZWFrO2Nhc2UiY29weSI6Y2FzZSJjdXQiOmNhc2UicGFzdGUiOnU9dDc7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOmNhc2UicG9pbnRlcmNhbmNlbCI6Y2FzZSJwb2ludGVyZG93biI6Y2FzZSJwb2ludGVybW92ZSI6Y2FzZSJwb2ludGVyb3V0IjpjYXNlInBvaW50ZXJvdmVyIjpjYXNlInBvaW50ZXJ1cCI6dT1uaTticmVhaztjYXNlInRvZ2dsZSI6Y2FzZSJiZWZvcmV0b2dnbGUiOnU9bmZ9dmFyIGY9MCE9KDQmdCksZD0hZiYmKCJzY3JvbGwiPT09ZXx8InNjcm9sbGVuZCI9PT1lKSxwPWY/bnVsbCE9PWk/aSsiQ2FwdHVyZSI6bnVsbDppO2Y9W107Zm9yKHZhciBtLGg9cjtudWxsIT09aDspe3ZhciBnPWg7aWYobT1nLnN0YXRlTm9kZSw1IT09KGc9Zy50YWcpJiYyNiE9PWcmJjI3IT09Z3x8bnVsbD09PW18fG51bGw9PT1wfHxudWxsIT0oZz10RihoLHApKSYmZi5wdXNoKHM0KGgsZyxtKSksZClicmVhaztoPWgucmV0dXJufTA8Zi5sZW5ndGgmJihpPW5ldyB1KGkscyxudWxsLG4sbCksby5wdXNoKHtldmVudDppLGxpc3RlbmVyczpmfSkpfX1pZigwPT0oNyZ0KSl7dT0ibW91c2VvdmVyIj09PWV8fCJwb2ludGVyb3ZlciI9PT1lLGk9Im1vdXNlb3V0Ij09PWV8fCJwb2ludGVyb3V0Ij09PWUsISh1JiZuIT09dE8mJihzPW4ucmVsYXRlZFRhcmdldHx8bi5mcm9tRWxlbWVudCkmJihlMShzKXx8c1tlS10pKSYmKGl8fHUpJiYocz1sLndpbmRvdz09PWw/bDoodT1sLm93bmVyRG9jdW1lbnQpP3UuZGVmYXVsdFZpZXd8fHUucGFyZW50V2luZG93OndpbmRvdyxpPyh1PW4ucmVsYXRlZFRhcmdldHx8bi50b0VsZW1lbnQsaT1yLG51bGwhPT0odT11P2UxKHUpOm51bGwpJiYoZD1jKHUpLGY9dS50YWcsdSE9PWR8fDUhPT1mJiYyNyE9PWYmJjYhPT1mKSYmKHU9bnVsbCkpOihpPW51bGwsdT1yKSxpIT09dSYmKGY9dDgsZz0ib25Nb3VzZUxlYXZlIixwPSJvbk1vdXNlRW50ZXIiLGg9Im1vdXNlIiwoInBvaW50ZXJvdXQiPT09ZXx8InBvaW50ZXJvdmVyIj09PWUpJiYoZj1uaSxnPSJvblBvaW50ZXJMZWF2ZSIscD0ib25Qb2ludGVyRW50ZXIiLGg9InBvaW50ZXIiKSxkPW51bGw9PWk/czplMyhpKSxtPW51bGw9PXU/czplMyh1KSwocz1uZXcgZihnLGgrImxlYXZlIixpLG4sbCkpLnRhcmdldD1kLHMucmVsYXRlZFRhcmdldD1tLGc9bnVsbCxlMShsKT09PXImJigoZj1uZXcgZihwLGgrImVudGVyIix1LG4sbCkpLnRhcmdldD1tLGYucmVsYXRlZFRhcmdldD1kLGc9ZiksZD1nLGY9aSYmdT9FKGksdSxzNSk6bnVsbCxudWxsIT09aSYmczYobyxzLGksZiwhMSksbnVsbCE9PXUmJm51bGwhPT1kJiZzNihvLGQsdSxmLCEwKSkpO2U6e2lmKCJzZWxlY3QiPT09KHU9KGk9cj9lMyhyKTp3aW5kb3cpLm5vZGVOYW1lJiZpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpfHwiaW5wdXQiPT09dSYmImZpbGUiPT09aS50eXBlKXZhciB2LHk9bkM7ZWxzZSBpZihuUyhpKSlpZihuVCl5PW5GO2Vsc2V7eT1uSTt2YXIgYj1uTX1lbHNlKHU9aS5ub2RlTmFtZSkmJiJpbnB1dCI9PT11LnRvTG93ZXJDYXNlKCkmJigiY2hlY2tib3giPT09aS50eXBlfHwicmFkaW8iPT09aS50eXBlKT95PW5EOnImJnRfKHIuZWxlbWVudFR5cGUpJiYoeT1uQyk7aWYoeSYmKHk9eShlLHIpKSl7bkUobyx5LG4sbCk7YnJlYWsgZX1iJiZiKGUsaSxyKSwiZm9jdXNvdXQiPT09ZSYmciYmIm51bWJlciI9PT1pLnR5cGUmJm51bGwhPXIubWVtb2l6ZWRQcm9wcy52YWx1ZSYmdHYoaSwibnVtYmVyIixpLnZhbHVlKX1zd2l0Y2goYj1yP2UzKHIpOndpbmRvdyxlKXtjYXNlImZvY3VzaW4iOihuUyhiKXx8InRydWUiPT09Yi5jb250ZW50RWRpdGFibGUpJiYoblE9YixuVz1yLG5xPW51bGwpO2JyZWFrO2Nhc2UiZm9jdXNvdXQiOm5xPW5XPW5RPW51bGw7YnJlYWs7Y2FzZSJtb3VzZWRvd24iOm5LPSEwO2JyZWFrO2Nhc2UiY29udGV4dG1lbnUiOmNhc2UibW91c2V1cCI6Y2FzZSJkcmFnZW5kIjpuSz0hMSxuWChvLG4sbCk7YnJlYWs7Y2FzZSJzZWxlY3Rpb25jaGFuZ2UiOmlmKG4kKWJyZWFrO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6blgobyxuLGwpfWlmKG5wKXQ6e3N3aXRjaChlKXtjYXNlImNvbXBvc2l0aW9uc3RhcnQiOnZhciB3PSJvbkNvbXBvc2l0aW9uU3RhcnQiO2JyZWFrIHQ7Y2FzZSJjb21wb3NpdGlvbmVuZCI6dz0ib25Db21wb3NpdGlvbkVuZCI7YnJlYWsgdDtjYXNlImNvbXBvc2l0aW9udXBkYXRlIjp3PSJvbkNvbXBvc2l0aW9uVXBkYXRlIjticmVhayB0fXc9dm9pZCAwfWVsc2Ugbnc/bnkoZSxuKSYmKHc9Im9uQ29tcG9zaXRpb25FbmQiKToia2V5ZG93biI9PT1lJiYyMjk9PT1uLmtleUNvZGUmJih3PSJvbkNvbXBvc2l0aW9uU3RhcnQiKTt3JiYobmcmJiJrbyIhPT1uLmxvY2FsZSYmKG53fHwib25Db21wb3NpdGlvblN0YXJ0IiE9PXc/Im9uQ29tcG9zaXRpb25FbmQiPT09dyYmbncmJih2PXQkKCkpOih0Vj0idmFsdWUiaW4odEI9bCk/dEIudmFsdWU6dEIudGV4dENvbnRlbnQsbnc9ITApKSwwPChiPXM4KHIsdykpLmxlbmd0aCYmKHc9bmV3IG5lKHcsZSxudWxsLG4sbCksby5wdXNoKHtldmVudDp3LGxpc3RlbmVyczpifSksdj93LmRhdGE9djpudWxsIT09KHY9bmIobikpJiYody5kYXRhPXYpKSksKHY9bmg/ZnVuY3Rpb24oZSx0KXtzd2l0Y2goZSl7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIG5iKHQpO2Nhc2Uia2V5cHJlc3MiOmlmKDMyIT09dC53aGljaClyZXR1cm4gbnVsbDtyZXR1cm4gbnY9ITAsIiAiO2Nhc2UidGV4dElucHV0IjpyZXR1cm4iICI9PT0oZT10LmRhdGEpJiZudj9udWxsOmU7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsbik6ZnVuY3Rpb24oZSx0KXtpZihudylyZXR1cm4iY29tcG9zaXRpb25lbmQiPT09ZXx8IW5wJiZueShlLHQpPyhlPXQkKCksdEg9dFY9dEI9bnVsbCxudz0hMSxlKTpudWxsO3N3aXRjaChlKXtjYXNlInBhc3RlIjpkZWZhdWx0OnJldHVybiBudWxsO2Nhc2Uia2V5cHJlc3MiOmlmKCEodC5jdHJsS2V5fHx0LmFsdEtleXx8dC5tZXRhS2V5KXx8dC5jdHJsS2V5JiZ0LmFsdEtleSl7aWYodC5jaGFyJiYxPHQuY2hhci5sZW5ndGgpcmV0dXJuIHQuY2hhcjtpZih0LndoaWNoKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHQud2hpY2gpfXJldHVybiBudWxsO2Nhc2UiY29tcG9zaXRpb25lbmQiOnJldHVybiBuZyYmImtvIiE9PXQubG9jYWxlP251bGw6dC5kYXRhfX0oZSxuKSkmJjA8KHc9czgociwib25CZWZvcmVJbnB1dCIpKS5sZW5ndGgmJihiPW5ldyBuZSgib25CZWZvcmVJbnB1dCIsImJlZm9yZWlucHV0IixudWxsLG4sbCksby5wdXNoKHtldmVudDpiLGxpc3RlbmVyczp3fSksYi5kYXRhPXYpO3ZhciBrPWU7aWYoInN1Ym1pdCI9PT1rJiZyJiZyLnN0YXRlTm9kZT09PWwpe3ZhciBTPXNRKChsW2VxXXx8bnVsbCkuYWN0aW9uKSx4PW4uc3VibWl0dGVyO3gmJm51bGwhPT0oaz0oaz14W2VxXXx8bnVsbCk/c1Eoay5mb3JtQWN0aW9uKTp4LmdldEF0dHJpYnV0ZSgiZm9ybUFjdGlvbiIpKSYmKFM9ayx4PW51bGwpO3ZhciBfPW5ldyB0MSgiYWN0aW9uIiwiYWN0aW9uIixudWxsLG4sbCk7by5wdXNoKHtldmVudDpfLGxpc3RlbmVyczpbe2luc3RhbmNlOm51bGwsbGlzdGVuZXI6ZnVuY3Rpb24oKXtpZihuLmRlZmF1bHRQcmV2ZW50ZWQpe2lmKDAhPT1zRCl7dmFyIGU9eD9zVyhsLHgpOm5ldyBGb3JtRGF0YShsKTtvdShyLHtwZW5kaW5nOiEwLGRhdGE6ZSxtZXRob2Q6bC5tZXRob2QsYWN0aW9uOlN9LG51bGwsZSl9fWVsc2UiZnVuY3Rpb24iPT10eXBlb2YgUyYmKF8ucHJldmVudERlZmF1bHQoKSxvdShyLHtwZW5kaW5nOiEwLGRhdGE6ZT14P3NXKGwseCk6bmV3IEZvcm1EYXRhKGwpLG1ldGhvZDpsLm1ldGhvZCxhY3Rpb246U30sUyxlKSl9LGN1cnJlbnRUYXJnZXQ6bH1dfSl9fXNZKG8sdCl9KX1mdW5jdGlvbiBzNChlLHQsbil7cmV0dXJue2luc3RhbmNlOmUsbGlzdGVuZXI6dCxjdXJyZW50VGFyZ2V0Om59fWZ1bmN0aW9uIHM4KGUsdCl7Zm9yKHZhciBuPXQrIkNhcHR1cmUiLHI9W107bnVsbCE9PWU7KXt2YXIgbD1lLGE9bC5zdGF0ZU5vZGU7aWYoNSE9PShsPWwudGFnKSYmMjYhPT1sJiYyNyE9PWx8fG51bGw9PT1hfHwobnVsbCE9KGw9dEYoZSxuKSkmJnIudW5zaGlmdChzNChlLGwsYSkpLG51bGwhPShsPXRGKGUsdCkpJiZyLnB1c2goczQoZSxsLGEpKSksMz09PWUudGFnKXJldHVybiByO2U9ZS5yZXR1cm59cmV0dXJuW119ZnVuY3Rpb24gczUoZSl7aWYobnVsbD09PWUpcmV0dXJuIG51bGw7ZG8gZT1lLnJldHVybjt3aGlsZShlJiY1IT09ZS50YWcmJjI3IT09ZS50YWcpcmV0dXJuIGV8fG51bGx9ZnVuY3Rpb24gczYoZSx0LG4scixsKXtmb3IodmFyIGE9dC5fcmVhY3ROYW1lLG89W107bnVsbCE9PW4mJm4hPT1yOyl7dmFyIGk9bix1PWkuYWx0ZXJuYXRlLHM9aS5zdGF0ZU5vZGU7aWYoaT1pLnRhZyxudWxsIT09dSYmdT09PXIpYnJlYWs7NSE9PWkmJjI2IT09aSYmMjchPT1pfHxudWxsPT09c3x8KHU9cyxsP251bGwhPShzPXRGKG4sYSkpJiZvLnVuc2hpZnQoczQobixzLHUpKTpsfHxudWxsIT0ocz10RihuLGEpKSYmby5wdXNoKHM0KG4scyx1KSkpLG49bi5yZXR1cm59MCE9PW8ubGVuZ3RoJiZlLnB1c2goe2V2ZW50OnQsbGlzdGVuZXJzOm99KX12YXIgczk9L1xyXG4/L2csczc9L1x1MDAwMHxcdUZGRkQvZztmdW5jdGlvbiBjZShlKXtyZXR1cm4oInN0cmluZyI9PXR5cGVvZiBlP2U6IiIrZSkucmVwbGFjZShzOSwiXG4iKS5yZXBsYWNlKHM3LCIiKX1mdW5jdGlvbiBjdChlLHQpe3JldHVybiB0PWNlKHQpLGNlKGUpPT09dH1mdW5jdGlvbiBjbihlLHQsbixyLGwsYSl7c3dpdGNoKG4pe2Nhc2UiY2hpbGRyZW4iOmlmKCJzdHJpbmciPT10eXBlb2YgcikiYm9keSI9PT10fHwidGV4dGFyZWEiPT09dCYmIiI9PT1yfHx0ayhlLHIpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiByJiYiYmlnaW50IiE9dHlwZW9mIHIpcmV0dXJuOyJib2R5IiE9PXQmJnRrKGUsIiIrcil9YnJlYWs7Y2FzZSJjbGFzc05hbWUiOnRvKGUsImNsYXNzIixyKTticmVhaztjYXNlInRhYkluZGV4Ijp0byhlLCJ0YWJpbmRleCIscik7YnJlYWs7Y2FzZSJkaXIiOmNhc2Uicm9sZSI6Y2FzZSJ2aWV3Qm94IjpjYXNlIndpZHRoIjpjYXNlImhlaWdodCI6dG8oZSxuLHIpO2JyZWFrO2Nhc2Uic3R5bGUiOnR4KGUscixhKTtyZXR1cm47Y2FzZSJkYXRhIjppZigib2JqZWN0IiE9PXQpe3RvKGUsImRhdGEiLHIpO2JyZWFrfWNhc2Uic3JjIjpjYXNlImhyZWYiOmlmKCIiPT09ciYmKCJhIiE9PXR8fCJocmVmIiE9PW4pfHxudWxsPT1yfHwiZnVuY3Rpb24iPT10eXBlb2Ygcnx8InN5bWJvbCI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByKXtlLnJlbW92ZUF0dHJpYnV0ZShuKTticmVha31yPXRDKCIiK3IpLGUuc2V0QXR0cmlidXRlKG4scik7YnJlYWs7Y2FzZSJhY3Rpb24iOmNhc2UiZm9ybUFjdGlvbiI6aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe2Uuc2V0QXR0cmlidXRlKG4sImphdmFzY3JpcHQ6dGhyb3cgbmV3IEVycm9yKCdBIFJlYWN0IGZvcm0gd2FzIHVuZXhwZWN0ZWRseSBzdWJtaXR0ZWQuIElmIHlvdSBjYWxsZWQgZm9ybS5zdWJtaXQoKSBtYW51YWxseSwgY29uc2lkZXIgdXNpbmcgZm9ybS5yZXF1ZXN0U3VibWl0KCkgaW5zdGVhZC4gSWYgeW91XFwncmUgdHJ5aW5nIHRvIHVzZSBldmVudC5zdG9wUHJvcGFnYXRpb24oKSBpbiBhIHN1Ym1pdCBldmVudCBoYW5kbGVyLCBjb25zaWRlciBhbHNvIGNhbGxpbmcgZXZlbnQucHJldmVudERlZmF1bHQoKS4nKSIpO2JyZWFrfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBhJiYoImZvcm1BY3Rpb24iPT09bj8oImlucHV0IiE9PXQmJmNuKGUsdCwibmFtZSIsbC5uYW1lLGwsbnVsbCksY24oZSx0LCJmb3JtRW5jVHlwZSIsbC5mb3JtRW5jVHlwZSxsLG51bGwpLGNuKGUsdCwiZm9ybU1ldGhvZCIsbC5mb3JtTWV0aG9kLGwsbnVsbCksY24oZSx0LCJmb3JtVGFyZ2V0IixsLmZvcm1UYXJnZXQsbCxudWxsKSk6KGNuKGUsdCwiZW5jVHlwZSIsbC5lbmNUeXBlLGwsbnVsbCksY24oZSx0LCJtZXRob2QiLGwubWV0aG9kLGwsbnVsbCksY24oZSx0LCJ0YXJnZXQiLGwudGFyZ2V0LGwsbnVsbCkpKSxudWxsPT1yfHwic3ltYm9sIj09dHlwZW9mIHJ8fCJib29sZWFuIj09dHlwZW9mIHIpe2UucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrfXI9dEMoIiIrciksZS5zZXRBdHRyaWJ1dGUobixyKTticmVhaztjYXNlIm9uQ2xpY2siOm51bGwhPXImJihlLm9uY2xpY2s9dFQpO3JldHVybjtjYXNlIm9uU2Nyb2xsIjpudWxsIT1yJiZzSigic2Nyb2xsIixlKTtyZXR1cm47Y2FzZSJvblNjcm9sbEVuZCI6bnVsbCE9ciYmc0ooInNjcm9sbGVuZCIsZSk7cmV0dXJuO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPXIpe2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8ISgiX19odG1sImluIHIpKXRocm93IEVycm9yKHUoNjEpKTtpZihudWxsIT0obj1yLl9faHRtbCkpe2lmKG51bGwhPWwuY2hpbGRyZW4pdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UibXVsdGlwbGUiOmUubXVsdGlwbGU9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2YgcjticmVhaztjYXNlIm11dGVkIjplLm11dGVkPXImJiJmdW5jdGlvbiIhPXR5cGVvZiByJiYic3ltYm9sIiE9dHlwZW9mIHI7YnJlYWs7Y2FzZSJzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmciOmNhc2Uic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIjpjYXNlImRlZmF1bHRWYWx1ZSI6Y2FzZSJkZWZhdWx0Q2hlY2tlZCI6Y2FzZSJpbm5lckhUTUwiOmNhc2UicmVmIjpjYXNlImF1dG9Gb2N1cyI6YnJlYWs7Y2FzZSJ4bGlua0hyZWYiOmlmKG51bGw9PXJ8fCJmdW5jdGlvbiI9PXR5cGVvZiByfHwiYm9vbGVhbiI9PXR5cGVvZiByfHwic3ltYm9sIj09dHlwZW9mIHIpe2UucmVtb3ZlQXR0cmlidXRlKCJ4bGluazpocmVmIik7YnJlYWt9bj10QygiIityKSxlLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6aHJlZiIsbik7YnJlYWs7Y2FzZSJjb250ZW50RWRpdGFibGUiOmNhc2Uic3BlbGxDaGVjayI6Y2FzZSJkcmFnZ2FibGUiOmNhc2UidmFsdWUiOmNhc2UiYXV0b1JldmVyc2UiOmNhc2UiZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCI6Y2FzZSJmb2N1c2FibGUiOmNhc2UicHJlc2VydmVBbHBoYSI6bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2Ygcj9lLnNldEF0dHJpYnV0ZShuLCIiK3IpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiaW5lcnQiOmNhc2UiYWxsb3dGdWxsU2NyZWVuIjpjYXNlImFzeW5jIjpjYXNlImF1dG9QbGF5IjpjYXNlImNvbnRyb2xzIjpjYXNlImRlZmF1bHQiOmNhc2UiZGVmZXIiOmNhc2UiZGlzYWJsZWQiOmNhc2UiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiOmNhc2UiZGlzYWJsZVJlbW90ZVBsYXliYWNrIjpjYXNlImZvcm1Ob1ZhbGlkYXRlIjpjYXNlImhpZGRlbiI6Y2FzZSJsb29wIjpjYXNlIm5vTW9kdWxlIjpjYXNlIm5vVmFsaWRhdGUiOmNhc2Uib3BlbiI6Y2FzZSJwbGF5c0lubGluZSI6Y2FzZSJyZWFkT25seSI6Y2FzZSJyZXF1aXJlZCI6Y2FzZSJyZXZlcnNlZCI6Y2FzZSJzY29wZWQiOmNhc2Uic2VhbWxlc3MiOmNhc2UiaXRlbVNjb3BlIjpyJiYiZnVuY3Rpb24iIT10eXBlb2YgciYmInN5bWJvbCIhPXR5cGVvZiByP2Uuc2V0QXR0cmlidXRlKG4sIiIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiY2FwdHVyZSI6Y2FzZSJkb3dubG9hZCI6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sIiIpOiExIT09ciYmbnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2Ygcj9lLnNldEF0dHJpYnV0ZShuLHIpOmUucmVtb3ZlQXR0cmlidXRlKG4pO2JyZWFrO2Nhc2UiY29scyI6Y2FzZSJyb3dzIjpjYXNlInNpemUiOmNhc2Uic3BhbiI6bnVsbCE9ciYmImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJzeW1ib2wiIT10eXBlb2YgciYmIWlzTmFOKHIpJiYxPD1yP2Uuc2V0QXR0cmlidXRlKG4scik6ZS5yZW1vdmVBdHRyaWJ1dGUobik7YnJlYWs7Y2FzZSJyb3dTcGFuIjpjYXNlInN0YXJ0IjpudWxsPT1yfHwiZnVuY3Rpb24iPT10eXBlb2Ygcnx8InN5bWJvbCI9PXR5cGVvZiByfHxpc05hTihyKT9lLnJlbW92ZUF0dHJpYnV0ZShuKTplLnNldEF0dHJpYnV0ZShuLHIpO2JyZWFrO2Nhc2UicG9wb3ZlciI6c0ooImJlZm9yZXRvZ2dsZSIsZSksc0ooInRvZ2dsZSIsZSksdGEoZSwicG9wb3ZlciIscik7YnJlYWs7Y2FzZSJ4bGlua0FjdHVhdGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazphY3R1YXRlIixyKTticmVhaztjYXNlInhsaW5rQXJjcm9sZSI6dGkoZSwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsInhsaW5rOmFyY3JvbGUiLHIpO2JyZWFrO2Nhc2UieGxpbmtSb2xlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwieGxpbms6cm9sZSIscik7YnJlYWs7Y2FzZSJ4bGlua1Nob3ciOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazpzaG93IixyKTticmVhaztjYXNlInhsaW5rVGl0bGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0aXRsZSIscik7YnJlYWs7Y2FzZSJ4bGlua1R5cGUiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCJ4bGluazp0eXBlIixyKTticmVhaztjYXNlInhtbEJhc2UiOnRpKGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpiYXNlIixyKTticmVhaztjYXNlInhtbExhbmciOnRpKGUsImh0dHA6Ly93d3cudzMub3JnL1hNTC8xOTk4L25hbWVzcGFjZSIsInhtbDpsYW5nIixyKTticmVhaztjYXNlInhtbFNwYWNlIjp0aShlLCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLCJ4bWw6c3BhY2UiLHIpO2JyZWFrO2Nhc2UiaXMiOnRhKGUsImlzIixyKTticmVhaztjYXNlImlubmVyVGV4dCI6Y2FzZSJ0ZXh0Q29udGVudCI6cmV0dXJuO2RlZmF1bHQ6aWYoMjxuLmxlbmd0aCYmKCJvIj09PW5bMF18fCJPIj09PW5bMF0pJiYoIm4iPT09blsxXXx8Ik4iPT09blsxXSkpcmV0dXJuO3RhKGUsbj10UC5nZXQobil8fG4scil9dHI9ITB9ZnVuY3Rpb24gY3IoZSx0LG4scixsLGEpe3N3aXRjaChuKXtjYXNlInN0eWxlIjp0eChlLHIsYSk7cmV0dXJuO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPXIpe2lmKCJvYmplY3QiIT10eXBlb2Ygcnx8ISgiX19odG1sImluIHIpKXRocm93IEVycm9yKHUoNjEpKTtpZihudWxsIT0obj1yLl9faHRtbCkpe2lmKG51bGwhPWwuY2hpbGRyZW4pdGhyb3cgRXJyb3IodSg2MCkpO2UuaW5uZXJIVE1MPW59fWJyZWFrO2Nhc2UiY2hpbGRyZW4iOmlmKCJzdHJpbmciPT10eXBlb2Ygcil0ayhlLHIpO2Vsc2V7aWYoIm51bWJlciIhPXR5cGVvZiByJiYiYmlnaW50IiE9dHlwZW9mIHIpcmV0dXJuO3RrKGUsIiIrcil9YnJlYWs7Y2FzZSJvblNjcm9sbCI6bnVsbCE9ciYmc0ooInNjcm9sbCIsZSk7cmV0dXJuO2Nhc2Uib25TY3JvbGxFbmQiOm51bGwhPXImJnNKKCJzY3JvbGxlbmQiLGUpO3JldHVybjtjYXNlIm9uQ2xpY2siOm51bGwhPXImJihlLm9uY2xpY2s9dFQpO3JldHVybjtjYXNlInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyI6Y2FzZSJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciOmNhc2UiaW5uZXJIVE1MIjpjYXNlInJlZiI6Y2FzZSJpbm5lclRleHQiOmNhc2UidGV4dENvbnRlbnQiOnJldHVybjtkZWZhdWx0OmlmKCFlNi5oYXNPd25Qcm9wZXJ0eShuKSllOntpZigibyI9PT1uWzBdJiYibiI9PT1uWzFdJiYobD1uLmVuZHNXaXRoKCJDYXB0dXJlIiksdD1uLnNsaWNlKDIsbD9uLmxlbmd0aC03OnZvaWQgMCksImZ1bmN0aW9uIj09dHlwZW9mKGE9bnVsbCE9KGE9ZVtlcV18fG51bGwpP2Fbbl06bnVsbCkmJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGEsbCksImZ1bmN0aW9uIj09dHlwZW9mIHIpKXsiZnVuY3Rpb24iIT10eXBlb2YgYSYmbnVsbCE9PWEmJihuIGluIGU/ZVtuXT1udWxsOmUuaGFzQXR0cmlidXRlKG4pJiZlLnJlbW92ZUF0dHJpYnV0ZShuKSksZS5hZGRFdmVudExpc3RlbmVyKHQscixsKTticmVhayBlfXRyPSEwLG4gaW4gZT9lW25dPXI6ITA9PT1yP2Uuc2V0QXR0cmlidXRlKG4sIiIpOnRhKGUsbixyKX1yZXR1cm59dHI9ITB9ZnVuY3Rpb24gY2woZSx0LG4pe3N3aXRjaCh0KXtjYXNlImRpdiI6Y2FzZSJzcGFuIjpjYXNlInN2ZyI6Y2FzZSJwYXRoIjpjYXNlImEiOmNhc2UiZyI6Y2FzZSJwIjpjYXNlImxpIjpicmVhaztjYXNlImltZyI6c0ooImVycm9yIixlKSxzSigibG9hZCIsZSk7dmFyIHIsbD0hMSxhPSExO2ZvcihyIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShyKSl7dmFyIG89bltyXTtpZihudWxsIT1vKXN3aXRjaChyKXtjYXNlInNyYyI6bD0hMDticmVhaztjYXNlInNyY1NldCI6YT0hMDticmVhaztjYXNlImNoaWxkcmVuIjpjYXNlImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIjp0aHJvdyBFcnJvcih1KDEzNyx0KSk7ZGVmYXVsdDpjbihlLHQscixvLG4sbnVsbCl9fWEmJmNuKGUsdCwic3JjU2V0IixuLnNyY1NldCxuLG51bGwpLGwmJmNuKGUsdCwic3JjIixuLnNyYyxuLG51bGwpO3JldHVybjtjYXNlImlucHV0IjpzSigiaW52YWxpZCIsZSk7dmFyIGk9cj1vPWE9bnVsbCxzPW51bGwsYz1udWxsO2ZvcihsIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShsKSl7dmFyIGY9bltsXTtpZihudWxsIT1mKXN3aXRjaChsKXtjYXNlIm5hbWUiOmE9ZjticmVhaztjYXNlInR5cGUiOm89ZjticmVhaztjYXNlImNoZWNrZWQiOnM9ZjticmVhaztjYXNlImRlZmF1bHRDaGVja2VkIjpjPWY7YnJlYWs7Y2FzZSJ2YWx1ZSI6cj1mO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjppPWY7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6Y2FzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI6aWYobnVsbCE9Zil0aHJvdyBFcnJvcih1KDEzNyx0KSk7YnJlYWs7ZGVmYXVsdDpjbihlLHQsbCxmLG4sbnVsbCl9fXRnKGUscixpLHMsYyxvLGEsITEpO3JldHVybjtjYXNlInNlbGVjdCI6Zm9yKGEgaW4gc0ooImludmFsaWQiLGUpLGw9bz1yPW51bGwsbilpZihuLmhhc093blByb3BlcnR5KGEpJiZudWxsIT0oaT1uW2FdKSlzd2l0Y2goYSl7Y2FzZSJ2YWx1ZSI6cj1pO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjpvPWk7YnJlYWs7Y2FzZSJtdWx0aXBsZSI6bD1pO2RlZmF1bHQ6Y24oZSx0LGEsaSxuLG51bGwpfXQ9cixuPW8sZS5tdWx0aXBsZT0hIWwsbnVsbCE9dD90eShlLCEhbCx0LCExKTpudWxsIT1uJiZ0eShlLCEhbCxuLCEwKTtyZXR1cm47Y2FzZSJ0ZXh0YXJlYSI6Zm9yKG8gaW4gc0ooImludmFsaWQiLGUpLHI9YT1sPW51bGwsbilpZihuLmhhc093blByb3BlcnR5KG8pJiZudWxsIT0oaT1uW29dKSlzd2l0Y2gobyl7Y2FzZSJ2YWx1ZSI6bD1pO2JyZWFrO2Nhc2UiZGVmYXVsdFZhbHVlIjphPWk7YnJlYWs7Y2FzZSJjaGlsZHJlbiI6cj1pO2JyZWFrO2Nhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOmlmKG51bGwhPWkpdGhyb3cgRXJyb3IodSg5MSkpO2JyZWFrO2RlZmF1bHQ6Y24oZSx0LG8saSxuLG51bGwpfXR3KGUsbCxhLHIpO3JldHVybjtjYXNlIm9wdGlvbiI6Zm9yKHMgaW4gbiluLmhhc093blByb3BlcnR5KHMpJiZudWxsIT0obD1uW3NdKSYmKCJzZWxlY3RlZCI9PT1zP2Uuc2VsZWN0ZWQ9bCYmImZ1bmN0aW9uIiE9dHlwZW9mIGwmJiJzeW1ib2wiIT10eXBlb2YgbDpjbihlLHQscyxsLG4sbnVsbCkpO3JldHVybjtjYXNlImRpYWxvZyI6c0ooImJlZm9yZXRvZ2dsZSIsZSksc0ooInRvZ2dsZSIsZSksc0ooImNhbmNlbCIsZSksc0ooImNsb3NlIixlKTticmVhaztjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOnNKKCJsb2FkIixlKTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3IobD0wO2w8c1gubGVuZ3RoO2wrKylzSihzWFtsXSxlKTticmVhaztjYXNlImltYWdlIjpzSigiZXJyb3IiLGUpLHNKKCJsb2FkIixlKTticmVhaztjYXNlImRldGFpbHMiOnNKKCJ0b2dnbGUiLGUpO2JyZWFrO2Nhc2UiZW1iZWQiOmNhc2Uic291cmNlIjpjYXNlImxpbmsiOnNKKCJlcnJvciIsZSksc0ooImxvYWQiLGUpO2Nhc2UiYXJlYSI6Y2FzZSJiYXNlIjpjYXNlImJyIjpjYXNlImNvbCI6Y2FzZSJociI6Y2FzZSJrZXlnZW4iOmNhc2UibWV0YSI6Y2FzZSJwYXJhbSI6Y2FzZSJ0cmFjayI6Y2FzZSJ3YnIiOmNhc2UibWVudWl0ZW0iOmZvcihjIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShjKSYmbnVsbCE9KGw9bltjXSkpc3dpdGNoKGMpe2Nhc2UiY2hpbGRyZW4iOmNhc2UiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiOnRocm93IEVycm9yKHUoMTM3LHQpKTtkZWZhdWx0OmNuKGUsdCxjLGwsbixudWxsKX1yZXR1cm47ZGVmYXVsdDppZih0Xyh0KSl7Zm9yKGYgaW4gbiluLmhhc093blByb3BlcnR5KGYpJiZ2b2lkIDAhPT0obD1uW2ZdKSYmY3IoZSx0LGYsbCxuLHZvaWQgMCk7cmV0dXJufX1mb3IoaSBpbiBuKW4uaGFzT3duUHJvcGVydHkoaSkmJm51bGwhPShsPW5baV0pJiZjbihlLHQsaSxsLG4sbnVsbCl9ZnVuY3Rpb24gY2EoZSl7c3dpdGNoKGUpe2Nhc2UiY3NzIjpjYXNlInNjcmlwdCI6Y2FzZSJmb250IjpjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJpbnB1dCI6Y2FzZSJsaW5rIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX12YXIgY289bnVsbCxjaT1udWxsO2Z1bmN0aW9uIGN1KGUpe3JldHVybiA5PT09ZS5ub2RlVHlwZT9lOmUub3duZXJEb2N1bWVudH1mdW5jdGlvbiBjcyhlKXtzd2l0Y2goZSl7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI6cmV0dXJuIDE7Y2FzZSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBjYyhlLHQpe2lmKDA9PT1lKXN3aXRjaCh0KXtjYXNlInN2ZyI6cmV0dXJuIDE7Y2FzZSJtYXRoIjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAwfXJldHVybiAxPT09ZSYmImZvcmVpZ25PYmplY3QiPT09dD8wOmV9ZnVuY3Rpb24gY2YoZSx0KXtyZXR1cm4idGV4dGFyZWEiPT09ZXx8Im5vc2NyaXB0Ij09PWV8fCJzdHJpbmciPT10eXBlb2YgdC5jaGlsZHJlbnx8Im51bWJlciI9PXR5cGVvZiB0LmNoaWxkcmVufHwiYmlnaW50Ij09dHlwZW9mIHQuY2hpbGRyZW58fCJvYmplY3QiPT10eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTCYmbnVsbCE9PXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sfXZhciBjZD1udWxsLGNwPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6dm9pZCAwLGNtPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OnZvaWQgMCxjaD0iZnVuY3Rpb24iPT10eXBlb2YgUHJvbWlzZT9Qcm9taXNlOnZvaWQgMCxjZz0iZnVuY3Rpb24iPT10eXBlb2YgcXVldWVNaWNyb3Rhc2s/cXVldWVNaWNyb3Rhc2s6dm9pZCAwIT09Y2g/ZnVuY3Rpb24oZSl7cmV0dXJuIGNoLnJlc29sdmUobnVsbCkudGhlbihlKS5jYXRjaChjdil9OmNwO2Z1bmN0aW9uIGN2KGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9ZnVuY3Rpb24gY3koZSl7cmV0dXJuImhlYWQiPT09ZX1mdW5jdGlvbiBjYihlLHQpe3ZhciBuPXQscj0wO2Rve3ZhciBsPW4ubmV4dFNpYmxpbmc7aWYoZS5yZW1vdmVDaGlsZChuKSxsJiY4PT09bC5ub2RlVHlwZSlpZigiLyQiPT09KG49bC5kYXRhKXx8Ii8mIj09PW4pe2lmKDA9PT1yKXtlLnJlbW92ZUNoaWxkKGwpLGZHKHQpO3JldHVybn1yLS19ZWxzZSBpZigiJCI9PT1ufHwiJD8iPT09bnx8IiR+Ij09PW58fCIkISI9PT1ufHwiJiI9PT1uKXIrKztlbHNlIGlmKCJodG1sIj09PW4pY0coZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7ZWxzZSBpZigiaGVhZCI9PT1uKXtjRyhuPWUub3duZXJEb2N1bWVudC5oZWFkKTtmb3IodmFyIGE9bi5maXJzdENoaWxkO2E7KXt2YXIgbz1hLm5leHRTaWJsaW5nLGk9YS5ub2RlTmFtZTthW2VaXXx8IlNDUklQVCI9PT1pfHwiU1RZTEUiPT09aXx8IkxJTksiPT09aSYmInN0eWxlc2hlZXQiPT09YS5yZWwudG9Mb3dlckNhc2UoKXx8bi5yZW1vdmVDaGlsZChhKSxhPW99fWVsc2UiYm9keSI9PT1uJiZjRyhlLm93bmVyRG9jdW1lbnQuYm9keSk7bj1sfXdoaWxlKG4pZkcodCl9ZnVuY3Rpb24gY3coZSx0KXt2YXIgbj1lO2U9MDtkb3t2YXIgcj1uLm5leHRTaWJsaW5nO2lmKDE9PT1uLm5vZGVUeXBlP3Q/KG4uX3N0YXNoZWREaXNwbGF5PW4uc3R5bGUuZGlzcGxheSxuLnN0eWxlLmRpc3BsYXk9Im5vbmUiKToobi5zdHlsZS5kaXNwbGF5PW4uX3N0YXNoZWREaXNwbGF5fHwiIiwiIj09PW4uZ2V0QXR0cmlidXRlKCJzdHlsZSIpJiZuLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKSk6Mz09PW4ubm9kZVR5cGUmJih0PyhuLl9zdGFzaGVkVGV4dD1uLm5vZGVWYWx1ZSxuLm5vZGVWYWx1ZT0iIik6bi5ub2RlVmFsdWU9bi5fc3Rhc2hlZFRleHR8fCIiKSxyJiY4PT09ci5ub2RlVHlwZSlpZigiLyQiPT09KG49ci5kYXRhKSlpZigwPT09ZSlicmVhaztlbHNlIGUtLTtlbHNlIiQiIT09biYmIiQ/IiE9PW4mJiIkfiIhPT1uJiYiJCEiIT09bnx8ZSsrO249cn13aGlsZShuKX1mdW5jdGlvbiBjayhlLHQsbil7aWYodD1DU1MuZXNjYXBlKHQpIT09dD8ici0iK2J0b2EodCkucmVwbGFjZSgvPS9nLCIiKTp0LGUuc3R5bGUudmlld1RyYW5zaXRpb25OYW1lPXQsbnVsbCE9biYmKGUuc3R5bGUudmlld1RyYW5zaXRpb25DbGFzcz1uKSwiaW5saW5lIj09PShuPWdldENvbXB1dGVkU3R5bGUoZSkpLmRpc3BsYXkpe2lmKDE9PT0odD1lLmdldENsaWVudFJlY3RzKCkpLmxlbmd0aCl2YXIgcj0xO2Vsc2UgZm9yKHZhciBsPXI9MDtsPHQubGVuZ3RoO2wrKyl7dmFyIGE9dFtsXTswPGEud2lkdGgmJjA8YS5oZWlnaHQmJnIrK30xPT09ciYmKChlPWUuc3R5bGUpLmRpc3BsYXk9MT09PXQubGVuZ3RoPyJpbmxpbmUtYmxvY2siOiJibG9jayIsZS5tYXJnaW5Ub3A9Ii0iK24ucGFkZGluZ1RvcCxlLm1hcmdpbkJvdHRvbT0iLSIrbi5wYWRkaW5nQm90dG9tKX19ZnVuY3Rpb24gY1MoZSx0KXtlPWUuc3R5bGU7dmFyIG49bnVsbCE9KHQ9dC5zdHlsZSk/dC5oYXNPd25Qcm9wZXJ0eSgidmlld1RyYW5zaXRpb25OYW1lIik/dC52aWV3VHJhbnNpdGlvbk5hbWU6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLW5hbWUiKT90WyJ2aWV3LXRyYW5zaXRpb24tbmFtZSJdOm51bGw6bnVsbDtlLnZpZXdUcmFuc2l0aW9uTmFtZT1udWxsPT1ufHwiYm9vbGVhbiI9PXR5cGVvZiBuPyIiOigiIituKS50cmltKCksbj1udWxsIT10P3QuaGFzT3duUHJvcGVydHkoInZpZXdUcmFuc2l0aW9uQ2xhc3MiKT90LnZpZXdUcmFuc2l0aW9uQ2xhc3M6dC5oYXNPd25Qcm9wZXJ0eSgidmlldy10cmFuc2l0aW9uLWNsYXNzIik/dFsidmlldy10cmFuc2l0aW9uLWNsYXNzIl06bnVsbDpudWxsLGUudmlld1RyYW5zaXRpb25DbGFzcz1udWxsPT1ufHwiYm9vbGVhbiI9PXR5cGVvZiBuPyIiOigiIituKS50cmltKCksImlubGluZS1ibG9jayI9PT1lLmRpc3BsYXkmJihudWxsPT10P2UuZGlzcGxheT1lLm1hcmdpbj0iIjoobj10LmRpc3BsYXksZS5kaXNwbGF5PW51bGw9PW58fCJib29sZWFuIj09dHlwZW9mIG4/IiI6bixudWxsIT0obj10Lm1hcmdpbik/ZS5tYXJnaW49bjoobj10Lmhhc093blByb3BlcnR5KCJtYXJnaW5Ub3AiKT90Lm1hcmdpblRvcDp0WyJtYXJnaW4tdG9wIl0sZS5tYXJnaW5Ub3A9bnVsbD09bnx8ImJvb2xlYW4iPT10eXBlb2Ygbj8iIjpuLHQ9dC5oYXNPd25Qcm9wZXJ0eSgibWFyZ2luQm90dG9tIik/dC5tYXJnaW5Cb3R0b206dFsibWFyZ2luLWJvdHRvbSJdLGUubWFyZ2luQm90dG9tPW51bGw9PXR8fCJib29sZWFuIj09dHlwZW9mIHQ/IiI6dCkpKX1mdW5jdGlvbiBjRShlLHQsbil7cmV0dXJuIG49bi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LHtyZWN0OmUsYWJzOiJhYnNvbHV0ZSI9PT10LnBvc2l0aW9ufHwiZml4ZWQiPT09dC5wb3NpdGlvbixjbGlwOiJub25lIiE9PXQuY2xpcFBhdGh8fCJ2aXNpYmxlIiE9PXQub3ZlcmZsb3d8fCJub25lIiE9PXQuZmlsdGVyfHwibm9uZSIhPT10Lm1hc2t8fCJub25lIiE9PXQubWFza3x8IjBweCIhPT10LmJvcmRlclJhZGl1cyx2aWV3OjA8PWUuYm90dG9tJiYwPD1lLnJpZ2h0JiZlLnRvcDw9bi5pbm5lckhlaWdodCYmZS5sZWZ0PD1uLmlubmVyV2lkdGh9fWZ1bmN0aW9uIGN4KGUpe3JldHVybiBjRShlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGdldENvbXB1dGVkU3R5bGUoZSksZSl9ZnVuY3Rpb24gY18oZSl7dmFyIHQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gY0UodD1uZXcgRE9NUmVjdCh0LngrMmU0LHQueSsyZTQsdC53aWR0aCx0LmhlaWdodCksZ2V0Q29tcHV0ZWRTdHlsZShlKSxlKX1mdW5jdGlvbiBjUChlKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGUpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGUpfWZ1bmN0aW9uIGNOKGUsdCl7dGhpcy5fc2NvcGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHRoaXMuX3NlbGVjdG9yPSI6OnZpZXctdHJhbnNpdGlvbi0iK2UrIigiK3QrIikifWZ1bmN0aW9uIGNDKGUpe3JldHVybntuYW1lOmUsZ3JvdXA6bmV3IGNOKCJncm91cCIsZSksaW1hZ2VQYWlyOm5ldyBjTigiaW1hZ2UtcGFpciIsZSksb2xkOm5ldyBjTigib2xkIixlKSxuZXc6bmV3IGNOKCJuZXciLGUpfX1mdW5jdGlvbiBjVChlKXt0aGlzLl9mcmFnbWVudEZpYmVyPWUsdGhpcy5fb2JzZXJ2ZXJzPXRoaXMuX2V2ZW50TGlzdGVuZXJzPW51bGx9ZnVuY3Rpb24gY08oZSx0LG4scil7cmV0dXJuIGcoZSkuYWRkRXZlbnRMaXN0ZW5lcih0LG4sciksITF9ZnVuY3Rpb24gY3ooZSx0LG4scil7cmV0dXJuIGcoZSkucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4sciksITF9ZnVuY3Rpb24gY0woZSl7cmV0dXJuIG51bGw9PWU/IjAiOiJib29sZWFuIj09dHlwZW9mIGU/ImM9IisoZT8iMSI6IjAiKToiYz0iKyhlLmNhcHR1cmU/IjEiOiIwIikrIiZvPSIrKGUub25jZT8iMSI6IjAiKSsiJnA9IisoZS5wYXNzaXZlPyIxIjoiMCIpfWZ1bmN0aW9uIGNSKGUsdCxuLHIpe2Zvcih2YXIgbD0wO2w8ZS5sZW5ndGg7bCsrKXt2YXIgYT1lW2xdO2lmKGEudHlwZT09PXQmJmEubGlzdGVuZXI9PT1uJiZjTChhLm9wdGlvbnNPclVzZUNhcHR1cmUpPT09Y0wocikpcmV0dXJuIGx9cmV0dXJuIC0xfWZ1bmN0aW9uIGNNKGUsdCl7dmFyIG49ZT1nKGUpLHI9dDtmdW5jdGlvbiBsKCl7YT0hMH12YXIgYT0hMTt0cnl7bi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbCksKG4uZm9jdXN8fEhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cykuY2FsbChuLHIpfWZpbmFsbHl7bi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbCl9cmV0dXJuIGF9ZnVuY3Rpb24gY0koZSx0KXtyZXR1cm4gdC5wdXNoKGUpLCExfWZ1bmN0aW9uIGNEKGUpe3JldHVybihlPWcoZSkpPT09ZS5vd25lckRvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJihlLmJsdXIoKSwhMCl9ZnVuY3Rpb24gY0YoZSx0KXtyZXR1cm4gZT1nKGUpLHQub2JzZXJ2ZShlKSwhMX1mdW5jdGlvbiBjQShlLHQpe3JldHVybiBlPWcoZSksdC51bm9ic2VydmUoZSksITF9ZnVuY3Rpb24gY2ooZSx0KXtyZXR1cm4gZT1nKGUpLHQucHVzaC5hcHBseSh0LGUuZ2V0Q2xpZW50UmVjdHMoKSksITF9ZnVuY3Rpb24gY1UoZSx0KXt2YXIgbj10Ll9ldmVudExpc3RlbmVycztpZihudWxsIT09bilmb3IodmFyIHI9MDtyPG4ubGVuZ3RoO3IrKyl7dmFyIGw9bltyXTtlLmFkZEV2ZW50TGlzdGVuZXIobC50eXBlLGwubGlzdGVuZXIsbC5vcHRpb25zT3JVc2VDYXB0dXJlKX1udWxsIT09dC5fb2JzZXJ2ZXJzJiZ0Ll9vYnNlcnZlcnMuZm9yRWFjaChmdW5jdGlvbih0KXt0Lm9ic2VydmUoZSl9KX1mdW5jdGlvbiBjQihlKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7Zm9yKHQmJjEwPT09dC5ub2RlVHlwZSYmKHQ9dC5uZXh0U2libGluZyk7dDspe3ZhciBuPXQ7c3dpdGNoKHQ9dC5uZXh0U2libGluZyxuLm5vZGVOYW1lKXtjYXNlIkhUTUwiOmNhc2UiSEVBRCI6Y2FzZSJCT0RZIjpjQihuKSxlMChuKTtjb250aW51ZTtjYXNlIlNDUklQVCI6Y2FzZSJTVFlMRSI6Y29udGludWU7Y2FzZSJMSU5LIjppZigic3R5bGVzaGVldCI9PT1uLnJlbC50b0xvd2VyQ2FzZSgpKWNvbnRpbnVlfWUucmVtb3ZlQ2hpbGQobil9fWZ1bmN0aW9uIGNWKGUsdCl7Zm9yKDs4IT09ZS5ub2RlVHlwZTspaWYoKDEhPT1lLm5vZGVUeXBlfHwiSU5QVVQiIT09ZS5ub2RlTmFtZXx8ImhpZGRlbiIhPT1lLnR5cGUpJiYhdHx8bnVsbD09PShlPWNRKGUubmV4dFNpYmxpbmcpKSlyZXR1cm4gbnVsbDtyZXR1cm4gZX1mdW5jdGlvbiBjSChlKXtyZXR1cm4iJD8iPT09ZS5kYXRhfHwiJH4iPT09ZS5kYXRhfWZ1bmN0aW9uIGMkKGUpe3JldHVybiIkISI9PT1lLmRhdGF8fCIkPyI9PT1lLmRhdGEmJiJsb2FkaW5nIiE9PWUub3duZXJEb2N1bWVudC5yZWFkeVN0YXRlfWZ1bmN0aW9uIGNRKGUpe2Zvcig7bnVsbCE9ZTtlPWUubmV4dFNpYmxpbmcpe3ZhciB0PWUubm9kZVR5cGU7aWYoMT09PXR8fDM9PT10KWJyZWFrO2lmKDg9PT10KXtpZigiJCI9PT0odD1lLmRhdGEpfHwiJCEiPT09dHx8IiQ/Ij09PXR8fCIkfiI9PT10fHwiJiI9PT10fHwiRiEiPT09dHx8IkYiPT09dClicmVhaztpZigiLyQiPT09dHx8Ii8mIj09PXQpcmV0dXJuIG51bGx9fXJldHVybiBlfWNOLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuKHQ9Im51bWJlciI9PXR5cGVvZiB0P3tkdXJhdGlvbjp0fTp4KHt9LHQpKS5wc2V1ZG9FbGVtZW50PXRoaXMuX3NlbGVjdG9yLHRoaXMuX3Njb3BlLmFuaW1hdGUoZSx0KX0sY04ucHJvdG90eXBlLmdldEFuaW1hdGlvbnM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5fc2NvcGUsdD10aGlzLl9zZWxlY3RvcixuPWUuZ2V0QW5pbWF0aW9ucyh7c3VidHJlZTohMH0pLHI9W10sbD0wO2w8bi5sZW5ndGg7bCsrKXt2YXIgYT1uW2xdLmVmZmVjdDtudWxsIT09YSYmYS50YXJnZXQ9PT1lJiZhLnBzZXVkb0VsZW1lbnQ9PT10JiZyLnB1c2gobltsXSl9cmV0dXJuIHJ9LGNOLnByb3RvdHlwZS5nZXRDb21wdXRlZFN0eWxlPWZ1bmN0aW9uKCl7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5fc2NvcGUsdGhpcy5fc2VsZWN0b3IpfSxjVC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQsbil7bnVsbD09PXRoaXMuX2V2ZW50TGlzdGVuZXJzJiYodGhpcy5fZXZlbnRMaXN0ZW5lcnM9W10pO3ZhciByPXRoaXMuX2V2ZW50TGlzdGVuZXJzOy0xPT09Y1IocixlLHQsbikmJihyLnB1c2goe3R5cGU6ZSxsaXN0ZW5lcjp0LG9wdGlvbnNPclVzZUNhcHR1cmU6bn0pLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjTyxlLHQsbikpLHRoaXMuX2V2ZW50TGlzdGVuZXJzPXJ9LGNULnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzLl9ldmVudExpc3RlbmVycztudWxsIT1yJiYwPHIubGVuZ3RoJiYobSh0aGlzLl9mcmFnbWVudEZpYmVyLmNoaWxkLCExLGN6LGUsdCxuKSxlPWNSKHIsZSx0LG4pLG51bGwhPT10aGlzLl9ldmVudExpc3RlbmVycyYmdGhpcy5fZXZlbnRMaXN0ZW5lcnMuc3BsaWNlKGUsMSkpfSxjVC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKG51bGw9PT10KXJldHVybiEwO3Q9Zyh0KTt2YXIgbj10aGlzLl9ldmVudExpc3RlbmVycztpZihudWxsIT09biYmMDxuLmxlbmd0aHx8IWUuYnViYmxlcyl7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpO2lmKG4pZm9yKHZhciBsPTA7bDxuLmxlbmd0aDtsKyspe3ZhciBhPW5bbF07ci5hZGRFdmVudExpc3RlbmVyKGEudHlwZSxhLmxpc3RlbmVyLGEub3B0aW9uc09yVXNlQ2FwdHVyZSl9aWYodC5hcHBlbmRDaGlsZChyKSxlPXIuZGlzcGF0Y2hFdmVudChlKSxuKWZvcihsPTA7bDxuLmxlbmd0aDtsKyspYT1uW2xdLHIucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLnR5cGUsYS5saXN0ZW5lcixhLm9wdGlvbnNPclVzZUNhcHR1cmUpO3JldHVybiB0LnJlbW92ZUNoaWxkKHIpLGV9cmV0dXJuIHQuZGlzcGF0Y2hFdmVudChlKX0sY1QucHJvdG90eXBlLmZvY3VzPWZ1bmN0aW9uKGUpe20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjTSxlLHZvaWQgMCx2b2lkIDApfSxjVC5wcm90b3R5cGUuZm9jdXNMYXN0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMCxjSSx0LHZvaWQgMCx2b2lkIDApO2Zvcih2YXIgbj10Lmxlbmd0aC0xOzA8PW4mJiFjTSh0W25dLGUpO24tLSk7fSxjVC5wcm90b3R5cGUuYmx1cj1mdW5jdGlvbigpe20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjRCx2b2lkIDAsdm9pZCAwLHZvaWQgMCl9LGNULnByb3RvdHlwZS5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24oZSl7bnVsbD09PXRoaXMuX29ic2VydmVycyYmKHRoaXMuX29ic2VydmVycz1uZXcgU2V0KSx0aGlzLl9vYnNlcnZlcnMuYWRkKGUpLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjRixlLHZvaWQgMCx2b2lkIDApfSxjVC5wcm90b3R5cGUudW5vYnNlcnZlVXNpbmc9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fb2JzZXJ2ZXJzO251bGwhPT10JiZ0LmhhcyhlKSYmKHQuZGVsZXRlKGUpLG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjQSxlLHZvaWQgMCx2b2lkIDApKX0sY1QucHJvdG90eXBlLmdldENsaWVudFJlY3RzPWZ1bmN0aW9uKCl7dmFyIGU9W107cmV0dXJuIG0odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjaixlLHZvaWQgMCx2b2lkIDApLGV9LGNULnByb3RvdHlwZS5nZXRSb290Tm9kZT1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO3JldHVybiBudWxsPT09dD90aGlzOmcodCkuZ2V0Um9vdE5vZGUoZSl9LGNULnByb3RvdHlwZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbj1mdW5jdGlvbihlKXt2YXIgdD1oKHRoaXMuX2ZyYWdtZW50RmliZXIpO2lmKG51bGw9PT10KXJldHVybiBOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0RJU0NPTk5FQ1RFRDt2YXIgbj1bXTttKHRoaXMuX2ZyYWdtZW50RmliZXIuY2hpbGQsITEsY0ksbix2b2lkIDAsdm9pZCAwKTt2YXIgcj1nKHQpO2lmKDA9PT1uLmxlbmd0aCl7bj10aGlzLl9mcmFnbWVudEZpYmVyO3ZhciBsPXIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7cmV0dXJuIHQ9bCxyPT09ZT90PU5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTlM6bCZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSYmKG0obi5zaWJsaW5nLCExLGIpLG49dix2PW51bGwsdD1udWxsPT09bj9Ob2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORzowPT09KGU9ZyhuKS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKSl8fGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkc6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9QUkVDRURJTkcpLHR8Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ310PWcoblswXSksbD1nKG5bbi5sZW5ndGgtMV0pO2Zvcih2YXIgYT1nKG5bMF0pLG89ITEsaT10aGlzLl9mcmFnbWVudEZpYmVyLnJldHVybjtudWxsIT09aSYmKDQ9PT1pLnRhZyYmKG89ITApLDMhPT1pLnRhZyYmNSE9PWkudGFnKTspaT1pLnJldHVybjtpZihudWxsPT0oYT1vP2EucGFyZW50RWxlbWVudDpyKSlyZXR1cm4gTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9ESVNDT05ORUNURUQ7cj1hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLGE9YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihsKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSxvPXQuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZSk7dmFyIHU9bC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKTtyZXR1cm4gaT1vJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZfHx1Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZLHU9ciYmYSYmbyZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyYmdSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORywodD1yJiZ0PT09ZXx8YSYmbD09PWV8fGl8fHU/Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlk6KHJ8fHQhPT1lKSYmKGF8fGwhPT1lKT9vOk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUMpJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRElTQ09OTkVDVEVEfHx0Jk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fSU1QTEVNRU5UQVRJT05fU1BFQ0lGSUN8fGZ1bmN0aW9uKGUsdCxuLHIsbCl7dmFyIGE9ZTEobCk7aWYoZSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSl7aWYobj0hIWEpZTp7Zm9yKDtudWxsIT09YTspe2lmKDc9PT1hLnRhZyYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXtuPSEwO2JyZWFrIGV9YT1hLnJldHVybn1uPSExfXJldHVybiBufWlmKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlOUyl7aWYobnVsbD09PWEpcmV0dXJuIGE9bC5vd25lckRvY3VtZW50LGw9PT1hfHxsPT09YS5ib2R5O2U6e2ZvcihhPXQsdD1oKHQpO251bGwhPT1hOyl7aWYoKDU9PT1hLnRhZ3x8Mz09PWEudGFnKSYmKGE9PT10fHxhLmFsdGVybmF0ZT09PXQpKXthPSEwO2JyZWFrIGV9YT1hLnJldHVybn1hPSExfXJldHVybiBhfXJldHVybiBlJk5vZGUuRE9DVU1FTlRfUE9TSVRJT05fUFJFQ0VESU5HPygodD0hIWEpJiYhKHQ9YT09PW4pJiYobnVsbD09PSh0PUUobixhLFMpKT90PSExOihtKHQsITAsdyxhLG4pLGE9dix2PW51bGwsdD1udWxsIT09YSkpLHQpOiEhKGUmTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkcpJiYoKHQ9ISFhKSYmISh0PWE9PT1yKSYmKG51bGw9PT0odD1FKHIsYSxTKSk/dD0hMToobSh0LCEwLGssYSxyKSxhPXYseT12PW51bGwsdD1udWxsIT09YSkpLHQpfSh0LHRoaXMuX2ZyYWdtZW50RmliZXIsblswXSxuW24ubGVuZ3RoLTFdLGUpP3Q6Tm9kZS5ET0NVTUVOVF9QT1NJVElPTl9JTVBMRU1FTlRBVElPTl9TUEVDSUZJQ30sY1QucHJvdG90eXBlLnNjcm9sbEludG9WaWV3PWZ1bmN0aW9uKGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZSl0aHJvdyBFcnJvcih1KDU2NikpO3ZhciB0PVtdO20odGhpcy5fZnJhZ21lbnRGaWJlci5jaGlsZCwhMSxjSSx0LHZvaWQgMCx2b2lkIDApO3ZhciBuPSExIT09ZTtpZigwPT09dC5sZW5ndGgpe3Q9dGhpcy5fZnJhZ21lbnRGaWJlcjt2YXIgcj1bbnVsbCxudWxsXSxsPWgodCk7bnVsbCE9PWwmJmZ1bmN0aW9uIGUodCxuLHIpe2Zvcih2YXIgbD0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXSYmYXJndW1lbnRzWzNdO251bGwhPT1yOyl7aWYocj09PW4paWYobD0hMCwhci5zaWJsaW5nKXJldHVybiEwO2Vsc2Ugcj1yLnNpYmxpbmc7aWYoNT09PXIudGFnKXtpZihsKXJldHVybiB0WzFdPXIsITA7dFswXT1yfWVsc2UgaWYoKDIyIT09ci50YWd8fG51bGw9PT1yLm1lbW9pemVkU3RhdGUpJiZlKHQsbixyLmNoaWxkLGwpKXJldHVybiEwO3I9ci5zaWJsaW5nfXJldHVybiExfShyLHQsbC5jaGlsZCksbnVsbCE9PShuPW4/clsxXXx8clswXXx8aCh0aGlzLl9mcmFnbWVudEZpYmVyKTpyWzBdfHxyWzFdKSYmZyhuKS5zY3JvbGxJbnRvVmlldyhlKX1lbHNlIGZvcihyPW4/dC5sZW5ndGgtMTowO3IhPT0obj8tMTp0Lmxlbmd0aCk7KWcodFtyXSkuc2Nyb2xsSW50b1ZpZXcoZSkscis9bj8tMToxfTt2YXIgY1c9bnVsbDtmdW5jdGlvbiBjcShlKXtlPWUubmV4dFNpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIi8kIj09PW58fCIvJiI9PT1uKXtpZigwPT09dClyZXR1cm4gY1EoZS5uZXh0U2libGluZyk7dC0tfWVsc2UiJCIhPT1uJiYiJCEiIT09biYmIiQ/IiE9PW4mJiIkfiIhPT1uJiYiJiIhPT1ufHx0Kyt9ZT1lLm5leHRTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGNLKGUpe2U9ZS5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIiQiPT09bnx8IiQhIj09PW58fCIkPyI9PT1ufHwiJH4iPT09bnx8IiYiPT09bil7aWYoMD09PXQpcmV0dXJuIGU7dC0tfWVsc2UiLyQiIT09biYmIi8mIiE9PW58fHQrK31lPWUucHJldmlvdXNTaWJsaW5nfXJldHVybiBudWxsfWZ1bmN0aW9uIGNYKGUsdCxuKXtzd2l0Y2godD1jdShuKSxlKXtjYXNlImh0bWwiOmlmKCEoZT10LmRvY3VtZW50RWxlbWVudCkpdGhyb3cgRXJyb3IodSg0NTIpKTtyZXR1cm4gZTtjYXNlImhlYWQiOmlmKCEoZT10LmhlYWQpKXRocm93IEVycm9yKHUoNDUzKSk7cmV0dXJuIGU7Y2FzZSJib2R5IjppZighKGU9dC5ib2R5KSl0aHJvdyBFcnJvcih1KDQ1NCkpO3JldHVybiBlO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NTEpKX19ZnVuY3Rpb24gY0coZSl7Zm9yKHZhciB0PWUuYXR0cmlidXRlczt0Lmxlbmd0aDspZS5yZW1vdmVBdHRyaWJ1dGVOb2RlKHRbMF0pO2UwKGUpfXZhciBjWT1uZXcgTWFwLGNKPW5ldyBTZXQ7ZnVuY3Rpb24gY1ooZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUuZ2V0Um9vdE5vZGU/ZS5nZXRSb290Tm9kZSgpOjk9PT1lLm5vZGVUeXBlP2U6ZS5vd25lckRvY3VtZW50fXZhciBjMD1xLmQ7cS5kPXtmOmZ1bmN0aW9uKCl7dmFyIGU9YzAuZigpLHQ9c3QoKTtyZXR1cm4gZXx8dH0scjpmdW5jdGlvbihlKXt2YXIgdD1lMihlKTtudWxsIT09dCYmNT09PXQudGFnJiYiZm9ybSI9PT10LnR5cGU/b2ModCk6YzAucihlKX0sRDpmdW5jdGlvbihlKXtjMC5EKGUpLGMyKCJkbnMtcHJlZmV0Y2giLGUsbnVsbCl9LEM6ZnVuY3Rpb24oZSx0KXtjMC5DKGUsdCksYzIoInByZWNvbm5lY3QiLGUsdCl9LEw6ZnVuY3Rpb24oZSx0LG4pe2lmKGMwLkwoZSx0LG4pLGMxJiZlJiZ0KXt2YXIgcj0nbGlua1tyZWw9InByZWxvYWQiXVthcz0iJyt0bSh0KSsnIl0nOyJpbWFnZSI9PT10JiZuJiZuLmltYWdlU3JjU2V0PyhyKz0nW2ltYWdlc3Jjc2V0PSInK3RtKG4uaW1hZ2VTcmNTZXQpKyciXScsInN0cmluZyI9PXR5cGVvZiBuLmltYWdlU2l6ZXMmJihyKz0nW2ltYWdlc2l6ZXM9IicrdG0obi5pbWFnZVNpemVzKSsnIl0nKSk6cis9J1tocmVmPSInK3RtKGUpKyciXSc7dmFyIGw9cjtzd2l0Y2godCl7Y2FzZSJzdHlsZSI6bD1jNChlKTticmVhaztjYXNlInNjcmlwdCI6bD1jNihlKX1jWS5oYXMobCl8fChlPXgoe3JlbDoicHJlbG9hZCIsaHJlZjoiaW1hZ2UiPT09dCYmbiYmbi5pbWFnZVNyY1NldD92b2lkIDA6ZSxhczp0fSxuKSxjWS5zZXQobCxlKSxudWxsIT09YzEucXVlcnlTZWxlY3RvcihyKXx8InN0eWxlIj09PXQmJmMxLnF1ZXJ5U2VsZWN0b3IoYzgobCkpfHwic2NyaXB0Ij09PXQmJmMxLnF1ZXJ5U2VsZWN0b3IoYzkobCkpfHwoY2wodD1jMS5jcmVhdGVFbGVtZW50KCJsaW5rIiksImxpbmsiLGUpLGU4KHQpLGMxLmhlYWQuYXBwZW5kQ2hpbGQodCkpKX19LG06ZnVuY3Rpb24oZSx0KXtpZihjMC5tKGUsdCksYzEmJmUpe3ZhciBuPXQmJiJzdHJpbmciPT10eXBlb2YgdC5hcz90LmFzOiJzY3JpcHQiLHI9J2xpbmtbcmVsPSJtb2R1bGVwcmVsb2FkIl1bYXM9IicrdG0obikrJyJdW2hyZWY9IicrdG0oZSkrJyJdJyxsPXI7c3dpdGNoKG4pe2Nhc2UiYXVkaW93b3JrbGV0IjpjYXNlInBhaW50d29ya2xldCI6Y2FzZSJzZXJ2aWNld29ya2VyIjpjYXNlInNoYXJlZHdvcmtlciI6Y2FzZSJ3b3JrZXIiOmNhc2Uic2NyaXB0IjpsPWM2KGUpfWlmKCFjWS5oYXMobCkmJihlPXgoe3JlbDoibW9kdWxlcHJlbG9hZCIsaHJlZjplfSx0KSxjWS5zZXQobCxlKSxudWxsPT09YzEucXVlcnlTZWxlY3RvcihyKSkpe3N3aXRjaChuKXtjYXNlImF1ZGlvd29ya2xldCI6Y2FzZSJwYWludHdvcmtsZXQiOmNhc2Uic2VydmljZXdvcmtlciI6Y2FzZSJzaGFyZWR3b3JrZXIiOmNhc2Uid29ya2VyIjpjYXNlInNjcmlwdCI6aWYoYzEucXVlcnlTZWxlY3RvcihjOShsKSkpcmV0dXJufWNsKG49YzEuY3JlYXRlRWxlbWVudCgibGluayIpLCJsaW5rIixlKSxlOChuKSxjMS5oZWFkLmFwcGVuZENoaWxkKG4pfX19LFg6ZnVuY3Rpb24oZSx0KXtpZihjMC5YKGUsdCksYzEmJmUpe3ZhciBuPWU0KGMxKS5ob2lzdGFibGVTY3JpcHRzLHI9YzYoZSksbD1uLmdldChyKTtsfHwoKGw9YzEucXVlcnlTZWxlY3RvcihjOShyKSkpfHwoZT14KHtzcmM6ZSxhc3luYzohMH0sdCksKHQ9Y1kuZ2V0KHIpKSYmZm4oZSx0KSxlOChsPWMxLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpKSxjbChsLCJsaW5rIixlKSxjMS5oZWFkLmFwcGVuZENoaWxkKGwpKSxsPXt0eXBlOiJzY3JpcHQiLGluc3RhbmNlOmwsY291bnQ6MSxzdGF0ZTpudWxsfSxuLnNldChyLGwpKX19LFM6ZnVuY3Rpb24oZSx0LG4pe2lmKGMwLlMoZSx0LG4pLGMxJiZlKXt2YXIgcj1lNChjMSkuaG9pc3RhYmxlU3R5bGVzLGw9YzQoZSk7dD10fHwiZGVmYXVsdCI7dmFyIGE9ci5nZXQobCk7aWYoIWEpe3ZhciBvPXtsb2FkaW5nOjAscHJlbG9hZDpudWxsfTtpZihhPWMxLnF1ZXJ5U2VsZWN0b3IoYzgobCkpKW8ubG9hZGluZz01O2Vsc2V7ZT14KHtyZWw6InN0eWxlc2hlZXQiLGhyZWY6ZSwiZGF0YS1wcmVjZWRlbmNlIjp0fSxuKSwobj1jWS5nZXQobCkpJiZmdChlLG4pO3ZhciBpPWE9YzEuY3JlYXRlRWxlbWVudCgibGluayIpO2U4KGkpLGNsKGksImxpbmsiLGUpLGkuX3A9bmV3IFByb21pc2UoZnVuY3Rpb24oZSx0KXtpLm9ubG9hZD1lLGkub25lcnJvcj10fSksaS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe28ubG9hZGluZ3w9MX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7by5sb2FkaW5nfD0yfSksby5sb2FkaW5nfD00LGZlKGEsdCxjMSl9YT17dHlwZToic3R5bGVzaGVldCIsaW5zdGFuY2U6YSxjb3VudDoxLHN0YXRlOm99LHIuc2V0KGwsYSl9fX0sTTpmdW5jdGlvbihlLHQpe2lmKGMwLk0oZSx0KSxjMSYmZSl7dmFyIG49ZTQoYzEpLmhvaXN0YWJsZVNjcmlwdHMscj1jNihlKSxsPW4uZ2V0KHIpO2x8fCgobD1jMS5xdWVyeVNlbGVjdG9yKGM5KHIpKSl8fChlPXgoe3NyYzplLGFzeW5jOiEwLHR5cGU6Im1vZHVsZSJ9LHQpLCh0PWNZLmdldChyKSkmJmZuKGUsdCksZTgobD1jMS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSksY2wobCwibGluayIsZSksYzEuaGVhZC5hcHBlbmRDaGlsZChsKSksbD17dHlwZToic2NyaXB0IixpbnN0YW5jZTpsLGNvdW50OjEsc3RhdGU6bnVsbH0sbi5zZXQocixsKSl9fX07dmFyIGMxPSJ1Ijx0eXBlb2YgZG9jdW1lbnQ/bnVsbDpkb2N1bWVudDtmdW5jdGlvbiBjMihlLHQsbil7aWYoYzEmJiJzdHJpbmciPT10eXBlb2YgdCYmdCl7dmFyIHI9dG0odCk7cj0nbGlua1tyZWw9IicrZSsnIl1baHJlZj0iJytyKyciXScsInN0cmluZyI9PXR5cGVvZiBuJiYocis9J1tjcm9zc29yaWdpbj0iJytuKyciXScpLGNKLmhhcyhyKXx8KGNKLmFkZChyKSxlPXtyZWw6ZSxjcm9zc09yaWdpbjpuLGhyZWY6dH0sbnVsbD09PWMxLnF1ZXJ5U2VsZWN0b3IocikmJihjbCh0PWMxLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSwibGluayIsZSksZTgodCksYzEuaGVhZC5hcHBlbmRDaGlsZCh0KSkpfX1mdW5jdGlvbiBjMyhlLHQsbixyKXt2YXIgbD0obD1lbi5jdXJyZW50KT9jWihsKTpudWxsO2lmKCFsKXRocm93IEVycm9yKHUoNDQ2KSk7c3dpdGNoKGUpe2Nhc2UibWV0YSI6Y2FzZSJ0aXRsZSI6cmV0dXJuIG51bGw7Y2FzZSJzdHlsZSI6cmV0dXJuInN0cmluZyI9PXR5cGVvZiBuLnByZWNlZGVuY2UmJiJzdHJpbmciPT10eXBlb2Ygbi5ocmVmPyh0PWM0KG4uaHJlZiksKHI9KG49ZTQobCkuaG9pc3RhYmxlU3R5bGVzKS5nZXQodCkpfHwocj17dHlwZToic3R5bGUiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTpudWxsfSxuLnNldCh0LHIpKSxyKTp7dHlwZToidm9pZCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9O2Nhc2UibGluayI6aWYoInN0eWxlc2hlZXQiPT09bi5yZWwmJiJzdHJpbmciPT10eXBlb2Ygbi5ocmVmJiYic3RyaW5nIj09dHlwZW9mIG4ucHJlY2VkZW5jZSl7ZT1jNChuLmhyZWYpO3ZhciBhLG8saSxzLGM9ZTQobCkuaG9pc3RhYmxlU3R5bGVzLGY9Yy5nZXQoZSk7aWYoZnx8KGw9bC5vd25lckRvY3VtZW50fHxsLGY9e3R5cGU6InN0eWxlc2hlZXQiLGluc3RhbmNlOm51bGwsY291bnQ6MCxzdGF0ZTp7bG9hZGluZzowLHByZWxvYWQ6bnVsbH19LGMuc2V0KGUsZiksKGM9bC5xdWVyeVNlbGVjdG9yKGM4KGUpKSkmJiFjLl9wJiYoZi5pbnN0YW5jZT1jLGYuc3RhdGUubG9hZGluZz01KSxjWS5oYXMoZSl8fChuPXtyZWw6InByZWxvYWQiLGFzOiJzdHlsZSIsaHJlZjpuLmhyZWYsY3Jvc3NPcmlnaW46bi5jcm9zc09yaWdpbixpbnRlZ3JpdHk6bi5pbnRlZ3JpdHksbWVkaWE6bi5tZWRpYSxocmVmTGFuZzpuLmhyZWZMYW5nLHJlZmVycmVyUG9saWN5Om4ucmVmZXJyZXJQb2xpY3l9LGNZLnNldChlLG4pLGN8fChhPWwsbz1lLGk9bixzPWYuc3RhdGUsYS5xdWVyeVNlbGVjdG9yKCdsaW5rW3JlbD0icHJlbG9hZCJdW2FzPSJzdHlsZSJdWycrbysiXSIpP3MubG9hZGluZz0xOihzLnByZWxvYWQ9bz1hLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSxvLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHMubG9hZGluZ3w9MX0pLG8uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGZ1bmN0aW9uKCl7cmV0dXJuIHMubG9hZGluZ3w9Mn0pLGNsKG8sImxpbmsiLGkpLGU4KG8pLGEuaGVhZC5hcHBlbmRDaGlsZChvKSkpKSksdCYmbnVsbD09PXIpdGhyb3cgRXJyb3IodSg1MjgsIiIpKTtyZXR1cm4gZn1pZih0JiZudWxsIT09cil0aHJvdyBFcnJvcih1KDUyOSwiIikpO3JldHVybiBudWxsO2Nhc2Uic2NyaXB0IjpyZXR1cm4gdD1uLmFzeW5jLCJzdHJpbmciPT10eXBlb2Yobj1uLnNyYykmJnQmJiJmdW5jdGlvbiIhPXR5cGVvZiB0JiYic3ltYm9sIiE9dHlwZW9mIHQ/KHQ9YzYobiksKHI9KG49ZTQobCkuaG9pc3RhYmxlU2NyaXB0cykuZ2V0KHQpKXx8KHI9e3R5cGU6InNjcmlwdCIsaW5zdGFuY2U6bnVsbCxjb3VudDowLHN0YXRlOm51bGx9LG4uc2V0KHQscikpLHIpOnt0eXBlOiJ2b2lkIixpbnN0YW5jZTpudWxsLGNvdW50OjAsc3RhdGU6bnVsbH07ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDQ0NCxlKSl9fWZ1bmN0aW9uIGM0KGUpe3JldHVybidocmVmPSInK3RtKGUpKyciJ31mdW5jdGlvbiBjOChlKXtyZXR1cm4nbGlua1tyZWw9InN0eWxlc2hlZXQiXVsnK2UrIl0ifWZ1bmN0aW9uIGM1KGUpe3JldHVybiB4KHt9LGUseyJkYXRhLXByZWNlZGVuY2UiOmUucHJlY2VkZW5jZSxwcmVjZWRlbmNlOm51bGx9KX1mdW5jdGlvbiBjNihlKXtyZXR1cm4nW3NyYz0iJyt0bShlKSsnIl0nfWZ1bmN0aW9uIGM5KGUpe3JldHVybiJzY3JpcHRbYXN5bmNdIitlfWZ1bmN0aW9uIGM3KGUsdCxuKXtpZih0LmNvdW50KyssbnVsbD09PXQuaW5zdGFuY2Upc3dpdGNoKHQudHlwZSl7Y2FzZSJzdHlsZSI6dmFyIHI9ZS5xdWVyeVNlbGVjdG9yKCdzdHlsZVtkYXRhLWhyZWZ+PSInK3RtKG4uaHJlZikrJyJdJyk7aWYocilyZXR1cm4gdC5pbnN0YW5jZT1yLGU4KHIpLHI7dmFyIGw9eCh7fSxuLHsiZGF0YS1ocmVmIjpuLmhyZWYsImRhdGEtcHJlY2VkZW5jZSI6bi5wcmVjZWRlbmNlLGhyZWY6bnVsbCxwcmVjZWRlbmNlOm51bGx9KTtyZXR1cm4gZTgocj0oZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzdHlsZSIpKSxjbChyLCJzdHlsZSIsbCksZmUocixuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1yO2Nhc2Uic3R5bGVzaGVldCI6bD1jNChuLmhyZWYpO3ZhciBhPWUucXVlcnlTZWxlY3RvcihjOChsKSk7aWYoYSlyZXR1cm4gdC5zdGF0ZS5sb2FkaW5nfD00LHQuaW5zdGFuY2U9YSxlOChhKSxhO3I9YzUobiksKGw9Y1kuZ2V0KGwpKSYmZnQocixsKSxlOChhPShlLm93bmVyRG9jdW1lbnR8fGUpLmNyZWF0ZUVsZW1lbnQoImxpbmsiKSk7dmFyIG89YTtyZXR1cm4gby5fcD1uZXcgUHJvbWlzZShmdW5jdGlvbihlLHQpe28ub25sb2FkPWUsby5vbmVycm9yPXR9KSxjbChhLCJsaW5rIixyKSx0LnN0YXRlLmxvYWRpbmd8PTQsZmUoYSxuLnByZWNlZGVuY2UsZSksdC5pbnN0YW5jZT1hO2Nhc2Uic2NyaXB0IjppZihhPWM2KG4uc3JjKSxsPWUucXVlcnlTZWxlY3RvcihjOShhKSkpcmV0dXJuIHQuaW5zdGFuY2U9bCxlOChsKSxsO3JldHVybiByPW4sKGw9Y1kuZ2V0KGEpKSYmZm4ocj14KHt9LG4pLGwpLGU4KGw9KGU9ZS5vd25lckRvY3VtZW50fHxlKS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSksY2wobCwibGluayIsciksZS5oZWFkLmFwcGVuZENoaWxkKGwpLHQuaW5zdGFuY2U9bDtjYXNlInZvaWQiOnJldHVybiBudWxsO2RlZmF1bHQ6dGhyb3cgRXJyb3IodSg0NDMsdC50eXBlKSl9cmV0dXJuInN0eWxlc2hlZXQiPT09dC50eXBlJiYwPT0oNCZ0LnN0YXRlLmxvYWRpbmcpJiYocj10Lmluc3RhbmNlLHQuc3RhdGUubG9hZGluZ3w9NCxmZShyLG4ucHJlY2VkZW5jZSxlKSksdC5pbnN0YW5jZX1mdW5jdGlvbiBmZShlLHQsbil7Zm9yKHZhciByPW4ucXVlcnlTZWxlY3RvckFsbCgnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0nKSxsPXIubGVuZ3RoP3Jbci5sZW5ndGgtMV06bnVsbCxhPWwsbz0wO288ci5sZW5ndGg7bysrKXt2YXIgaT1yW29dO2lmKGkuZGF0YXNldC5wcmVjZWRlbmNlPT09dClhPWk7ZWxzZSBpZihhIT09bClicmVha31hP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZSxhLm5leHRTaWJsaW5nKToodD05PT09bi5ub2RlVHlwZT9uLmhlYWQ6bikuaW5zZXJ0QmVmb3JlKGUsdC5maXJzdENoaWxkKX1mdW5jdGlvbiBmdChlLHQpe251bGw9PWUuY3Jvc3NPcmlnaW4mJihlLmNyb3NzT3JpZ2luPXQuY3Jvc3NPcmlnaW4pLG51bGw9PWUucmVmZXJyZXJQb2xpY3kmJihlLnJlZmVycmVyUG9saWN5PXQucmVmZXJyZXJQb2xpY3kpLG51bGw9PWUudGl0bGUmJihlLnRpdGxlPXQudGl0bGUpfWZ1bmN0aW9uIGZuKGUsdCl7bnVsbD09ZS5jcm9zc09yaWdpbiYmKGUuY3Jvc3NPcmlnaW49dC5jcm9zc09yaWdpbiksbnVsbD09ZS5yZWZlcnJlclBvbGljeSYmKGUucmVmZXJyZXJQb2xpY3k9dC5yZWZlcnJlclBvbGljeSksbnVsbD09ZS5pbnRlZ3JpdHkmJihlLmludGVncml0eT10LmludGVncml0eSl9dmFyIGZyPW51bGw7ZnVuY3Rpb24gZmwoZSx0LG4pe2lmKG51bGw9PT1mcil7dmFyIHI9bmV3IE1hcCxsPWZyPW5ldyBNYXA7bC5zZXQobixyKX1lbHNlKHI9KGw9ZnIpLmdldChuKSl8fChyPW5ldyBNYXAsbC5zZXQobixyKSk7aWYoci5oYXMoZSkpcmV0dXJuIHI7Zm9yKHIuc2V0KGUsbnVsbCksbj1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpLGw9MDtsPG4ubGVuZ3RoO2wrKyl7dmFyIGE9bltsXTtpZighKGFbZVpdfHxhW2VXXXx8ImxpbmsiPT09ZSYmInN0eWxlc2hlZXQiPT09YS5nZXRBdHRyaWJ1dGUoInJlbCIpKSYmImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiE9PWEubmFtZXNwYWNlVVJJKXt2YXIgbz1hLmdldEF0dHJpYnV0ZSh0KXx8IiI7bz1lK287dmFyIGk9ci5nZXQobyk7aT9pLnB1c2goYSk6ci5zZXQobyxbYV0pfX1yZXR1cm4gcn1mdW5jdGlvbiBmYShlLHQsbil7KGU9ZS5vd25lckRvY3VtZW50fHxlKS5oZWFkLmluc2VydEJlZm9yZShuLCJ0aXRsZSI9PT10P2UucXVlcnlTZWxlY3RvcigiaGVhZCA+IHRpdGxlIik6bnVsbCl9ZnVuY3Rpb24gZm8oZSx0KXtyZXR1cm4iaW1nIj09PWUmJm51bGwhPXQuc3JjJiYiIiE9PXQuc3JjJiZudWxsPT10Lm9uTG9hZCYmImxhenkiIT09dC5sb2FkaW5nfWZ1bmN0aW9uIGZpKGUpe3JldHVybiJzdHlsZXNoZWV0IiE9PWUudHlwZXx8MCE9KDMmZS5zdGF0ZS5sb2FkaW5nKX1mdW5jdGlvbiBmdShlKXtyZXR1cm4oZS53aWR0aHx8MTAwKSooZS5oZWlnaHR8fDEwMCkqKCJudW1iZXIiPT10eXBlb2YgZGV2aWNlUGl4ZWxSYXRpbz9kZXZpY2VQaXhlbFJhdGlvOjEpKi4yNX1mdW5jdGlvbiBmcyhlLHQpeyJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlY29kZSYmKGUuaW1nQ291bnQrKyx0LmNvbXBsZXRlfHwoZS5pbWdCeXRlcys9ZnUodCksZS5zdXNwZW5zZXlJbWFnZXMucHVzaCh0KSksZT1mcC5iaW5kKGUpLHQuZGVjb2RlKCkudGhlbihlLGUpKX12YXIgZmM9MDtmdW5jdGlvbiBmZihlKXtpZigwPT09ZS5jb3VudCYmKDA9PT1lLmltZ0NvdW50fHwhZS53YWl0aW5nRm9ySW1hZ2VzKSl7aWYoZS5zdHlsZXNoZWV0cylmaChlLGUuc3R5bGVzaGVldHMpO2Vsc2UgaWYoZS51bnN1c3BlbmQpe3ZhciB0PWUudW5zdXNwZW5kO2UudW5zdXNwZW5kPW51bGwsdCgpfX19ZnVuY3Rpb24gZmQoKXt0aGlzLmNvdW50LS0sZmYodGhpcyl9ZnVuY3Rpb24gZnAoKXt0aGlzLmltZ0NvdW50LS0sZmYodGhpcyl9dmFyIGZtPW51bGw7ZnVuY3Rpb24gZmgoZSx0KXtlLnN0eWxlc2hlZXRzPW51bGwsbnVsbCE9PWUudW5zdXNwZW5kJiYoZS5jb3VudCsrLGZtPW5ldyBNYXAsdC5mb3JFYWNoKGZnLGUpLGZtPW51bGwsZmQuY2FsbChlKSl9ZnVuY3Rpb24gZmcoZSx0KXtpZighKDQmdC5zdGF0ZS5sb2FkaW5nKSl7dmFyIG49Zm0uZ2V0KGUpO2lmKG4pdmFyIHI9bi5nZXQobnVsbCk7ZWxzZXtuPW5ldyBNYXAsZm0uc2V0KGUsbik7Zm9yKHZhciBsPWUucXVlcnlTZWxlY3RvckFsbCgibGlua1tkYXRhLXByZWNlZGVuY2VdLHN0eWxlW2RhdGEtcHJlY2VkZW5jZV0iKSxhPTA7YTxsLmxlbmd0aDthKyspe3ZhciBvPWxbYV07KCJMSU5LIj09PW8ubm9kZU5hbWV8fCJub3QgYWxsIiE9PW8uZ2V0QXR0cmlidXRlKCJtZWRpYSIpKSYmKG4uc2V0KG8uZGF0YXNldC5wcmVjZWRlbmNlLG8pLHI9byl9ciYmbi5zZXQobnVsbCxyKX1vPShsPXQuaW5zdGFuY2UpLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVjZWRlbmNlIiksKGE9bi5nZXQobyl8fHIpPT09ciYmbi5zZXQobnVsbCxsKSxuLnNldChvLGwpLHRoaXMuY291bnQrKyxyPWZkLmJpbmQodGhpcyksbC5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixyKSxsLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIixyKSxhP2EucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobCxhLm5leHRTaWJsaW5nKTooZT05PT09ZS5ub2RlVHlwZT9lLmhlYWQ6ZSkuaW5zZXJ0QmVmb3JlKGwsZS5maXJzdENoaWxkKSx0LnN0YXRlLmxvYWRpbmd8PTR9fXZhciBmdj17JCR0eXBlb2Y6TCxQcm92aWRlcjpudWxsLENvbnN1bWVyOm51bGwsX2N1cnJlbnRWYWx1ZTpLLF9jdXJyZW50VmFsdWUyOkssX3RocmVhZENvdW50OjB9O2Z1bmN0aW9uIGZ5KGUsdCxuLHIsbCxhLG8saSx1KXt0aGlzLnRhZz0xLHRoaXMuY29udGFpbmVySW5mbz1lLHRoaXMucGluZ0NhY2hlPXRoaXMuY3VycmVudD10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsLHRoaXMudGltZW91dEhhbmRsZT0tMSx0aGlzLmNhbGxiYWNrTm9kZT10aGlzLm5leHQ9dGhpcy5wZW5kaW5nQ29udGV4dD10aGlzLmNvbnRleHQ9dGhpcy5jYW5jZWxQZW5kaW5nQ29tbWl0PW51bGwsdGhpcy5jYWxsYmFja1ByaW9yaXR5PTAsdGhpcy5leHBpcmF0aW9uVGltZXM9ZUQoLTEpLHRoaXMuZW50YW5nbGVkTGFuZXM9dGhpcy5zaGVsbFN1c3BlbmRDb3VudGVyPXRoaXMuZXJyb3JSZWNvdmVyeURpc2FibGVkTGFuZXM9dGhpcy5leHBpcmVkTGFuZXM9dGhpcy53YXJtTGFuZXM9dGhpcy5waW5nZWRMYW5lcz10aGlzLnN1c3BlbmRlZExhbmVzPXRoaXMucGVuZGluZ0xhbmVzPTAsdGhpcy5lbnRhbmdsZW1lbnRzPWVEKDApLHRoaXMuaGlkZGVuVXBkYXRlcz1lRChudWxsKSx0aGlzLmlkZW50aWZpZXJQcmVmaXg9cix0aGlzLm9uVW5jYXVnaHRFcnJvcj1sLHRoaXMub25DYXVnaHRFcnJvcj1hLHRoaXMub25SZWNvdmVyYWJsZUVycm9yPW8sdGhpcy5wb29sZWRDYWNoZT1udWxsLHRoaXMucG9vbGVkQ2FjaGVMYW5lcz0wLHRoaXMuZm9ybVN0YXRlPXUsdGhpcy50cmFuc2l0aW9uVHlwZXM9bnVsbCx0aGlzLmluY29tcGxldGVUcmFuc2l0aW9ucz1uZXcgTWFwfWZ1bmN0aW9uIGZiKGUsdCxuLHIsbCxhLG8saSx1LHMsYyxmKXtyZXR1cm4gZT1uZXcgZnkoZSx0LG4sbyx1LHMsYyxmLGkpLHQ9MSwhMD09PWEmJih0fD0yNCksYT1ydigzLG51bGwsbnVsbCx0KSxlLmN1cnJlbnQ9YSxhLnN0YXRlTm9kZT1lLHQ9bHUoKSx0LnJlZkNvdW50KyssZS5wb29sZWRDYWNoZT10LHQucmVmQ291bnQrKyxhLm1lbW9pemVkU3RhdGU9e2VsZW1lbnQ6cixpc0RlaHlkcmF0ZWQ6bixjYWNoZTp0fSxsQihhKSxlfWZ1bmN0aW9uIGZ3KGUsdCxuLHIsbCxhKXtsPWw/cmg6cmgsbnVsbD09PXIuY29udGV4dD9yLmNvbnRleHQ9bDpyLnBlbmRpbmdDb250ZXh0PWwsKHI9bEgodCkpLnBheWxvYWQ9e2VsZW1lbnQ6bn0sbnVsbCE9PShhPXZvaWQgMD09PWE/bnVsbDphKSYmKHIuY2FsbGJhY2s9YSksbnVsbCE9PShuPWwkKGUscix0KSkmJih1NihuLGUsdCksbFEobixlLHQpKX1mdW5jdGlvbiBmayhlLHQpe2lmKG51bGwhPT0oZT1lLm1lbW9pemVkU3RhdGUpJiZudWxsIT09ZS5kZWh5ZHJhdGVkKXt2YXIgbj1lLnJldHJ5TGFuZTtlLnJldHJ5TGFuZT0wIT09biYmbjx0P246dH19ZnVuY3Rpb24gZlMoZSx0KXtmayhlLHQpLChlPWUuYWx0ZXJuYXRlKSYmZmsoZSx0KX1mdW5jdGlvbiBmRShlKXtpZigxMz09PWUudGFnfHwzMT09PWUudGFnKXt2YXIgdD1yZChlLDB4NDAwMDAwMCk7bnVsbCE9PXQmJnU2KHQsZSwweDQwMDAwMDApLGZTKGUsMHg0MDAwMDAwKX19ZnVuY3Rpb24gZngoZSl7aWYoMTM9PT1lLnRhZ3x8MzE9PT1lLnRhZyl7dmFyIHQ9dTQoKSxuPXJkKGUsdD1lQih0KSk7bnVsbCE9PW4mJnU2KG4sZSx0KSxmUyhlLHQpfX12YXIgZl89ITA7ZnVuY3Rpb24gZlAoZSx0LG4scil7dmFyIGw9Vy5UO1cuVD1udWxsO3ZhciBhPXEucDt0cnl7cS5wPTIsZkMoZSx0LG4scil9ZmluYWxseXtxLnA9YSxXLlQ9bH19ZnVuY3Rpb24gZk4oZSx0LG4scil7dmFyIGw9Vy5UO1cuVD1udWxsO3ZhciBhPXEucDt0cnl7cS5wPTgsZkMoZSx0LG4scil9ZmluYWxseXtxLnA9YSxXLlQ9bH19ZnVuY3Rpb24gZkMoZSx0LG4scil7aWYoZl8pe3ZhciBsPWZUKHIpO2lmKG51bGw9PT1sKXMzKGUsdCxyLGZPLG4pLGZCKGUscik7ZWxzZSBpZihmdW5jdGlvbihlLHQsbixyLGwpe3N3aXRjaCh0KXtjYXNlImZvY3VzaW4iOnJldHVybiBmTT1mVihmTSxlLHQsbixyLGwpLCEwO2Nhc2UiZHJhZ2VudGVyIjpyZXR1cm4gZkk9ZlYoZkksZSx0LG4scixsKSwhMDtjYXNlIm1vdXNlb3ZlciI6cmV0dXJuIGZEPWZWKGZELGUsdCxuLHIsbCksITA7Y2FzZSJwb2ludGVyb3ZlciI6dmFyIGE9bC5wb2ludGVySWQ7cmV0dXJuIGZGLnNldChhLGZWKGZGLmdldChhKXx8bnVsbCxlLHQsbixyLGwpKSwhMDtjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpyZXR1cm4gYT1sLnBvaW50ZXJJZCxmQS5zZXQoYSxmVihmQS5nZXQoYSl8fG51bGwsZSx0LG4scixsKSksITB9cmV0dXJuITF9KGwsZSx0LG4scikpci5zdG9wUHJvcGFnYXRpb24oKTtlbHNlIGlmKGZCKGUsciksNCZ0JiYtMTxmVS5pbmRleE9mKGUpKXtmb3IoO251bGwhPT1sOyl7dmFyIGE9ZTIobCk7aWYobnVsbCE9PWEpc3dpdGNoKGEudGFnKXtjYXNlIDM6aWYoKGE9YS5zdGF0ZU5vZGUpLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe3ZhciBvPWVMKGEucGVuZGluZ0xhbmVzKTtpZigwIT09byl7dmFyIGk9YTtmb3IoaS5wZW5kaW5nTGFuZXN8PTIsaS5lbnRhbmdsZWRMYW5lc3w9MjtvOyl7dmFyIHU9MTw8MzEtZVAobyk7aS5lbnRhbmdsZW1lbnRzWzFdfD11LG8mPX51fXNGKGEpLDA9PSg2JnVTKSYmKHVIPWV2KCkrNTAwLHNBKDAsITEpKX19YnJlYWs7Y2FzZSAzMTpjYXNlIDEzOm51bGwhPT0oaT1yZChhLDIpKSYmdTYoaSxhLDIpLHN0KCksZlMoYSwyKX1pZihudWxsPT09KGE9ZlQocikpJiZzMyhlLHQscixmTyxuKSxhPT09bClicmVhaztsPWF9bnVsbCE9PWwmJnIuc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBzMyhlLHQscixudWxsLG4pfX1mdW5jdGlvbiBmVChlKXtyZXR1cm4gZnooZT10eihlKSl9dmFyIGZPPW51bGw7ZnVuY3Rpb24gZnooZSl7aWYoZk89bnVsbCxudWxsIT09KGU9ZTEoZSkpKXt2YXIgdD1jKGUpO2lmKG51bGw9PT10KWU9bnVsbDtlbHNle3ZhciBuPXQudGFnO2lmKDEzPT09bil7aWYobnVsbCE9PShlPWYodCkpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDMxPT09bil7aWYobnVsbCE9PShlPWQodCkpKXJldHVybiBlO2U9bnVsbH1lbHNlIGlmKDM9PT1uKXtpZih0LnN0YXRlTm9kZS5jdXJyZW50Lm1lbW9pemVkU3RhdGUuaXNEZWh5ZHJhdGVkKXJldHVybiAzPT09dC50YWc/dC5zdGF0ZU5vZGUuY29udGFpbmVySW5mbzpudWxsO2U9bnVsbH1lbHNlIHQhPT1lJiYoZT1udWxsKX19cmV0dXJuIGZPPWUsbnVsbH1mdW5jdGlvbiBmTChlKXtzd2l0Y2goZSl7Y2FzZSJiZWZvcmV0b2dnbGUiOmNhc2UiY2FuY2VsIjpjYXNlImNsaWNrIjpjYXNlImNsb3NlIjpjYXNlImNvbnRleHRtZW51IjpjYXNlImNvcHkiOmNhc2UiY3V0IjpjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ3N0YXJ0IjpjYXNlImRyb3AiOmNhc2UiZm9jdXNpbiI6Y2FzZSJmb2N1c291dCI6Y2FzZSJpbnB1dCI6Y2FzZSJpbnZhbGlkIjpjYXNlImtleWRvd24iOmNhc2Uia2V5cHJlc3MiOmNhc2Uia2V5dXAiOmNhc2UibW91c2Vkb3duIjpjYXNlIm1vdXNldXAiOmNhc2UicGFzdGUiOmNhc2UicGF1c2UiOmNhc2UicGxheSI6Y2FzZSJwb2ludGVyY2FuY2VsIjpjYXNlInBvaW50ZXJkb3duIjpjYXNlInBvaW50ZXJ1cCI6Y2FzZSJyYXRlY2hhbmdlIjpjYXNlInJlc2V0IjpjYXNlInNlZWtlZCI6Y2FzZSJzdWJtaXQiOmNhc2UidG9nZ2xlIjpjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNoc3RhcnQiOmNhc2Uidm9sdW1lY2hhbmdlIjpjYXNlImNoYW5nZSI6Y2FzZSJzZWxlY3Rpb25jaGFuZ2UiOmNhc2UidGV4dElucHV0IjpjYXNlImNvbXBvc2l0aW9uc3RhcnQiOmNhc2UiY29tcG9zaXRpb25lbmQiOmNhc2UiY29tcG9zaXRpb251cGRhdGUiOmNhc2UiYmVmb3JlYmx1ciI6Y2FzZSJhZnRlcmJsdXIiOmNhc2UiYmVmb3JlaW5wdXQiOmNhc2UiYmx1ciI6Y2FzZSJmdWxsc2NyZWVuY2hhbmdlIjpjYXNlImZvY3VzIjpjYXNlImhhc2hjaGFuZ2UiOmNhc2UicG9wc3RhdGUiOmNhc2Uic2VsZWN0IjpjYXNlInNlbGVjdHN0YXJ0IjpyZXR1cm4gMjtjYXNlImRyYWciOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2VvdXQiOmNhc2UibW91c2VvdmVyIjpjYXNlInBvaW50ZXJtb3ZlIjpjYXNlInBvaW50ZXJvdXQiOmNhc2UicG9pbnRlcm92ZXIiOmNhc2UicmVzaXplIjpjYXNlInNjcm9sbCI6Y2FzZSJ0b3VjaG1vdmUiOmNhc2Uid2hlZWwiOmNhc2UibW91c2VlbnRlciI6Y2FzZSJtb3VzZWxlYXZlIjpjYXNlInBvaW50ZXJlbnRlciI6Y2FzZSJwb2ludGVybGVhdmUiOnJldHVybiA4O2Nhc2UibWVzc2FnZSI6c3dpdGNoKGV5KCkpe2Nhc2UgZWI6cmV0dXJuIDI7Y2FzZSBldzpyZXR1cm4gODtjYXNlIGVrOmNhc2UgZVM6cmV0dXJuIDMyO2Nhc2UgZUU6cmV0dXJuIDB4MTAwMDAwMDA7ZGVmYXVsdDpyZXR1cm4gMzJ9ZGVmYXVsdDpyZXR1cm4gMzJ9fXZhciBmUj0hMSxmTT1udWxsLGZJPW51bGwsZkQ9bnVsbCxmRj1uZXcgTWFwLGZBPW5ldyBNYXAsZmo9W10sZlU9Im1vdXNlZG93biBtb3VzZXVwIHRvdWNoY2FuY2VsIHRvdWNoZW5kIHRvdWNoc3RhcnQgYXV4Y2xpY2sgZGJsY2xpY2sgcG9pbnRlcmNhbmNlbCBwb2ludGVyZG93biBwb2ludGVydXAgZHJhZ2VuZCBkcmFnc3RhcnQgZHJvcCBjb21wb3NpdGlvbmVuZCBjb21wb3NpdGlvbnN0YXJ0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgaW5wdXQgdGV4dElucHV0IGNvcHkgY3V0IHBhc3RlIGNsaWNrIGNoYW5nZSBjb250ZXh0bWVudSByZXNldCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBmQihlLHQpe3N3aXRjaChlKXtjYXNlImZvY3VzaW4iOmNhc2UiZm9jdXNvdXQiOmZNPW51bGw7YnJlYWs7Y2FzZSJkcmFnZW50ZXIiOmNhc2UiZHJhZ2xlYXZlIjpmST1udWxsO2JyZWFrO2Nhc2UibW91c2VvdmVyIjpjYXNlIm1vdXNlb3V0IjpmRD1udWxsO2JyZWFrO2Nhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcm91dCI6ZkYuZGVsZXRlKHQucG9pbnRlcklkKTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6ZkEuZGVsZXRlKHQucG9pbnRlcklkKX19ZnVuY3Rpb24gZlYoZSx0LG4scixsLGEpe3JldHVybiBudWxsPT09ZXx8ZS5uYXRpdmVFdmVudCE9PWE/KGU9e2Jsb2NrZWRPbjp0LGRvbUV2ZW50TmFtZTpuLGV2ZW50U3lzdGVtRmxhZ3M6cixuYXRpdmVFdmVudDphLHRhcmdldENvbnRhaW5lcnM6W2xdfSxudWxsIT09dCYmbnVsbCE9PSh0PWUyKHQpKSYmZkUodCkpOihlLmV2ZW50U3lzdGVtRmxhZ3N8PXIsdD1lLnRhcmdldENvbnRhaW5lcnMsbnVsbCE9PWwmJi0xPT09dC5pbmRleE9mKGwpJiZ0LnB1c2gobCkpLGV9ZnVuY3Rpb24gZkgoZSl7dmFyIHQ9ZTEoZS50YXJnZXQpO2lmKG51bGwhPT10KXt2YXIgbj1jKHQpO2lmKG51bGwhPT1uKXtpZigxMz09PSh0PW4udGFnKSl7aWYobnVsbCE9PSh0PWYobikpKXtlLmJsb2NrZWRPbj10LGUkKGUucHJpb3JpdHksZnVuY3Rpb24oKXtmeChuKX0pO3JldHVybn19ZWxzZSBpZigzMT09PXQpe2lmKG51bGwhPT0odD1kKG4pKSl7ZS5ibG9ja2VkT249dCxlJChlLnByaW9yaXR5LGZ1bmN0aW9uKCl7Zngobil9KTtyZXR1cm59fWVsc2UgaWYoMz09PXQmJm4uc3RhdGVOb2RlLmN1cnJlbnQubWVtb2l6ZWRTdGF0ZS5pc0RlaHlkcmF0ZWQpe2UuYmxvY2tlZE9uPTM9PT1uLnRhZz9uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7cmV0dXJufX19ZS5ibG9ja2VkT249bnVsbH1mdW5jdGlvbiBmJChlKXtpZihudWxsIT09ZS5ibG9ja2VkT24pcmV0dXJuITE7Zm9yKHZhciB0PWUudGFyZ2V0Q29udGFpbmVyczswPHQubGVuZ3RoOyl7dmFyIG49ZlQoZS5uYXRpdmVFdmVudCk7aWYobnVsbCE9PW4pcmV0dXJuIG51bGwhPT0odD1lMihuKSkmJmZFKHQpLGUuYmxvY2tlZE9uPW4sITE7dmFyIHI9bmV3KG49ZS5uYXRpdmVFdmVudCkuY29uc3RydWN0b3Iobi50eXBlLG4pO3RPPXIsbi50YXJnZXQuZGlzcGF0Y2hFdmVudChyKSx0Tz1udWxsLHQuc2hpZnQoKX1yZXR1cm4hMH1mdW5jdGlvbiBmUShlLHQsbil7ZiQoZSkmJm4uZGVsZXRlKHQpfWZ1bmN0aW9uIGZXKCl7ZlI9ITEsbnVsbCE9PWZNJiZmJChmTSkmJihmTT1udWxsKSxudWxsIT09ZkkmJmYkKGZJKSYmKGZJPW51bGwpLG51bGwhPT1mRCYmZiQoZkQpJiYoZkQ9bnVsbCksZkYuZm9yRWFjaChmUSksZkEuZm9yRWFjaChmUSl9ZnVuY3Rpb24gZnEoZSx0KXtlLmJsb2NrZWRPbj09PXQmJihlLmJsb2NrZWRPbj1udWxsLGZSfHwoZlI9ITAsYS51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKGEudW5zdGFibGVfTm9ybWFsUHJpb3JpdHksZlcpKSl9dmFyIGZLPW51bGw7ZnVuY3Rpb24gZlgoZSl7ZkshPT1lJiYoZks9ZSxhLnVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2soYS51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxmdW5jdGlvbigpe2ZLPT09ZSYmKGZLPW51bGwpO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCs9Myl7dmFyIG49ZVt0XSxyPWVbdCsxXSxsPWVbdCsyXTtpZigiZnVuY3Rpb24iIT10eXBlb2YgcilpZihudWxsPT09Znoocnx8bikpY29udGludWU7ZWxzZSBicmVhazt2YXIgYT1lMihuKTtudWxsIT09YSYmKGUuc3BsaWNlKHQsMyksdC09MyxvdShhLHtwZW5kaW5nOiEwLGRhdGE6bCxtZXRob2Q6bi5tZXRob2QsYWN0aW9uOnJ9LHIsbCkpfX0pKX1mdW5jdGlvbiBmRyhlKXtmdW5jdGlvbiB0KHQpe3JldHVybiBmcSh0LGUpfW51bGwhPT1mTSYmZnEoZk0sZSksbnVsbCE9PWZJJiZmcShmSSxlKSxudWxsIT09ZkQmJmZxKGZELGUpLGZGLmZvckVhY2godCksZkEuZm9yRWFjaCh0KTtmb3IodmFyIG49MDtuPGZqLmxlbmd0aDtuKyspe3ZhciByPWZqW25dO3IuYmxvY2tlZE9uPT09ZSYmKHIuYmxvY2tlZE9uPW51bGwpfWZvcig7MDxmai5sZW5ndGgmJm51bGw9PT0obj1malswXSkuYmxvY2tlZE9uOylmSChuKSxudWxsPT09bi5ibG9ja2VkT24mJmZqLnNoaWZ0KCk7aWYobnVsbCE9KG49KGUub3duZXJEb2N1bWVudHx8ZSkuJCRyZWFjdEZvcm1SZXBsYXkpKWZvcihyPTA7cjxuLmxlbmd0aDtyKz0zKXt2YXIgbD1uW3JdLGE9bltyKzFdLG89bFtlcV18fG51bGw7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpb3x8Zlgobik7ZWxzZSBpZihvKXt2YXIgaT1udWxsO2lmKGEmJmEuaGFzQXR0cmlidXRlKCJmb3JtQWN0aW9uIikpe2lmKGw9YSxvPWFbZXFdfHxudWxsKWk9by5mb3JtQWN0aW9uO2Vsc2UgaWYobnVsbCE9PWZ6KGwpKWNvbnRpbnVlfWVsc2UgaT1vLmFjdGlvbjsiZnVuY3Rpb24iPT10eXBlb2YgaT9uW3IrMV09aToobi5zcGxpY2UociwzKSxyLT0zKSxmWChuKX19fWZ1bmN0aW9uIGZZKCl7ZnVuY3Rpb24gZShlKXtlLmNhbkludGVyY2VwdCYmInJlYWN0LXRyYW5zaXRpb24iPT09ZS5pbmZvJiZlLmludGVyY2VwdCh7aGFuZGxlcjpmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtyZXR1cm4gbD1lfSl9LGZvY3VzUmVzZXQ6Im1hbnVhbCIsc2Nyb2xsOiJtYW51YWwifSl9ZnVuY3Rpb24gdCgpe251bGwhPT1sJiYobCgpLGw9bnVsbCkscnx8c2V0VGltZW91dChuLDIwKX1mdW5jdGlvbiBuKCl7aWYoIXImJiFuYXZpZ2F0aW9uLnRyYW5zaXRpb24pe3ZhciBlPW5hdmlnYXRpb24uY3VycmVudEVudHJ5O2UmJm51bGwhPWUudXJsJiZuYXZpZ2F0aW9uLm5hdmlnYXRlKGUudXJsLHtzdGF0ZTplLmdldFN0YXRlKCksaW5mbzoicmVhY3QtdHJhbnNpdGlvbiIsaGlzdG9yeToicmVwbGFjZSJ9KX19aWYoIm9iamVjdCI9PXR5cGVvZiBuYXZpZ2F0aW9uKXt2YXIgcj0hMSxsPW51bGw7cmV0dXJuIG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGUiLGUpLG5hdmlnYXRpb24uYWRkRXZlbnRMaXN0ZW5lcigibmF2aWdhdGVzdWNjZXNzIix0KSxuYXZpZ2F0aW9uLmFkZEV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlZXJyb3IiLHQpLHNldFRpbWVvdXQobiwxMDApLGZ1bmN0aW9uKCl7cj0hMCxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlIixlKSxuYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm5hdmlnYXRlc3VjY2VzcyIsdCksbmF2aWdhdGlvbi5yZW1vdmVFdmVudExpc3RlbmVyKCJuYXZpZ2F0ZWVycm9yIix0KSxudWxsIT09bCYmKGwoKSxsPW51bGwpfX19ZnVuY3Rpb24gZkooZSl7dGhpcy5faW50ZXJuYWxSb290PWV9ZnVuY3Rpb24gZlooZSl7dGhpcy5faW50ZXJuYWxSb290PWV9ZloucHJvdG90eXBlLnJlbmRlcj1mSi5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsPT09dCl0aHJvdyBFcnJvcih1KDQwOSkpO2Z3KHQuY3VycmVudCx1NCgpLGUsdCxudWxsLG51bGwpfSxmWi5wcm90b3R5cGUudW5tb3VudD1mSi5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2ludGVybmFsUm9vdDtpZihudWxsIT09ZSl7dGhpcy5faW50ZXJuYWxSb290PW51bGw7dmFyIHQ9ZS5jb250YWluZXJJbmZvO2Z3KGUuY3VycmVudCwyLG51bGwsZSxudWxsLG51bGwpLHN0KCksdFtlS109bnVsbH19LGZaLnByb3RvdHlwZS51bnN0YWJsZV9zY2hlZHVsZUh5ZHJhdGlvbj1mdW5jdGlvbihlKXtpZihlKXt2YXIgdD1lSCgpO2U9e2Jsb2NrZWRPbjpudWxsLHRhcmdldDplLHByaW9yaXR5OnR9O2Zvcih2YXIgbj0wO248ZmoubGVuZ3RoJiYwIT09dCYmdDxmaltuXS5wcmlvcml0eTtuKyspO2ZqLnNwbGljZShuLDAsZSksMD09PW4mJmZIKGUpfX07dmFyIGYwPW8udmVyc2lvbjtpZigiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyIhPT1mMCl0aHJvdyBFcnJvcih1KDUyNyxmMCwiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyIpKTtpZihxLmZpbmRET01Ob2RlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuX3JlYWN0SW50ZXJuYWxzO2lmKHZvaWQgMD09PXQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlbmRlcil0aHJvdyBFcnJvcih1KDE4OCkpO3Rocm93IEVycm9yKHUoMjY4LGU9T2JqZWN0LmtleXMoZSkuam9pbigiLCIpKSl9cmV0dXJuIG51bGw9PT0oZT1udWxsIT09KGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5hbHRlcm5hdGU7aWYoIXQpe2lmKG51bGw9PT0odD1jKGUpKSl0aHJvdyBFcnJvcih1KDE4OCkpO3JldHVybiB0IT09ZT9udWxsOmV9Zm9yKHZhciBuPWUscj10Ozspe3ZhciBsPW4ucmV0dXJuO2lmKG51bGw9PT1sKWJyZWFrO3ZhciBhPWwuYWx0ZXJuYXRlO2lmKG51bGw9PT1hKXtpZihudWxsIT09KHI9bC5yZXR1cm4pKXtuPXI7Y29udGludWV9YnJlYWt9aWYobC5jaGlsZD09PWEuY2hpbGQpe2ZvcihhPWwuY2hpbGQ7YTspe2lmKGE9PT1uKXJldHVybiBwKGwpLGU7aWYoYT09PXIpcmV0dXJuIHAobCksdDthPWEuc2libGluZ310aHJvdyBFcnJvcih1KDE4OCkpfWlmKG4ucmV0dXJuIT09ci5yZXR1cm4pbj1sLHI9YTtlbHNle2Zvcih2YXIgbz0hMSxpPWwuY2hpbGQ7aTspe2lmKGk9PT1uKXtvPSEwLG49bCxyPWE7YnJlYWt9aWYoaT09PXIpe289ITAscj1sLG49YTticmVha31pPWkuc2libGluZ31pZighbyl7Zm9yKGk9YS5jaGlsZDtpOyl7aWYoaT09PW4pe289ITAsbj1hLHI9bDticmVha31pZihpPT09cil7bz0hMCxyPWEsbj1sO2JyZWFrfWk9aS5zaWJsaW5nfWlmKCFvKXRocm93IEVycm9yKHUoMTg5KSl9fWlmKG4uYWx0ZXJuYXRlIT09cil0aHJvdyBFcnJvcih1KDE5MCkpfWlmKDMhPT1uLnRhZyl0aHJvdyBFcnJvcih1KDE4OCkpO3JldHVybiBuLnN0YXRlTm9kZS5jdXJyZW50PT09bj9lOnR9KHQpKT9mdW5jdGlvbiBlKHQpe3ZhciBuPXQudGFnO2lmKDU9PT1ufHwyNj09PW58fDI3PT09bnx8Nj09PW4pcmV0dXJuIHQ7Zm9yKHQ9dC5jaGlsZDtudWxsIT09dDspe2lmKG51bGwhPT0obj1lKHQpKSlyZXR1cm4gbjt0PXQuc2libGluZ31yZXR1cm4gbnVsbH0oZSk6bnVsbCk/bnVsbDplLnN0YXRlTm9kZX0sInUiPnR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18pe3ZhciBmMT1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYoIWYxLmlzRGlzYWJsZWQmJmYxLnN1cHBvcnRzRmliZXIpdHJ5e2V4PWYxLmluamVjdCh7YnVuZGxlVHlwZTowLHZlcnNpb246IjE5LjMuMC1jYW5hcnktZjkzYjlmZDQtMjAyNTEyMTciLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSIsY3VycmVudERpc3BhdGNoZXJSZWY6VyxyZWNvbmNpbGVyVmVyc2lvbjoiMTkuMy4wLWNhbmFyeS1mOTNiOWZkNC0yMDI1MTIxNyJ9KSxlXz1mMX1jYXRjaChlKXt9fW4uY3JlYXRlUm9vdD1mdW5jdGlvbihlLHQpe2lmKCFzKGUpKXRocm93IEVycm9yKHUoMjk5KSk7dmFyIG49ITEscj0iIixsPW96LGE9b0wsbz1vUjtyZXR1cm4gbnVsbCE9dCYmKCEwPT09dC51bnN0YWJsZV9zdHJpY3RNb2RlJiYobj0hMCksdm9pZCAwIT09dC5pZGVudGlmaWVyUHJlZml4JiYocj10LmlkZW50aWZpZXJQcmVmaXgpLHZvaWQgMCE9PXQub25VbmNhdWdodEVycm9yJiYobD10Lm9uVW5jYXVnaHRFcnJvciksdm9pZCAwIT09dC5vbkNhdWdodEVycm9yJiYoYT10Lm9uQ2F1Z2h0RXJyb3IpLHZvaWQgMCE9PXQub25SZWNvdmVyYWJsZUVycm9yJiYobz10Lm9uUmVjb3ZlcmFibGVFcnJvcikpLHQ9ZmIoZSwxLCExLG51bGwsbnVsbCxuLHIsbnVsbCxsLGEsbyxmWSksZVtlS109dC5jdXJyZW50LHMxKGUpLG5ldyBmSih0KX0sbi5oeWRyYXRlUm9vdD1mdW5jdGlvbihlLHQsbil7aWYoIXMoZSkpdGhyb3cgRXJyb3IodSgyOTkpKTt2YXIgcixsPSExLGE9IiIsbz1veixpPW9MLGM9b1IsZj1udWxsO3JldHVybiBudWxsIT1uJiYoITA9PT1uLnVuc3RhYmxlX3N0cmljdE1vZGUmJihsPSEwKSx2b2lkIDAhPT1uLmlkZW50aWZpZXJQcmVmaXgmJihhPW4uaWRlbnRpZmllclByZWZpeCksdm9pZCAwIT09bi5vblVuY2F1Z2h0RXJyb3ImJihvPW4ub25VbmNhdWdodEVycm9yKSx2b2lkIDAhPT1uLm9uQ2F1Z2h0RXJyb3ImJihpPW4ub25DYXVnaHRFcnJvciksdm9pZCAwIT09bi5vblJlY292ZXJhYmxlRXJyb3ImJihjPW4ub25SZWNvdmVyYWJsZUVycm9yKSx2b2lkIDAhPT1uLmZvcm1TdGF0ZSYmKGY9bi5mb3JtU3RhdGUpKSwodD1mYihlLDEsITAsdCxudWxsIT1uP246bnVsbCxsLGEsZixvLGksYyxmWSkpLmNvbnRleHQ9KHI9bnVsbCxyaCksbj10LmN1cnJlbnQsKGE9bEgobD1lQihsPXU0KCkpKSkuY2FsbGJhY2s9bnVsbCxsJChuLGEsbCksbj1sLHQuY3VycmVudC5sYW5lcz1uLGVGKHQsbiksc0YodCksZVtlS109dC5jdXJyZW50LHMxKGUpLG5ldyBmWih0KX0sbi52ZXJzaW9uPSIxOS4zLjAtY2FuYXJ5LWY5M2I5ZmQ0LTIwMjUxMjE3In0sODI5NDAsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1Ij50eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXRyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19KCksdC5leHBvcnRzPWUucig4MjQyNCl9LDgyOTM5LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtvbkNhdWdodEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGR9LG9uVW5jYXVnaHRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBwfX07Zm9yKHZhciBsIGluIHIpT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sbCx7ZW51bWVyYWJsZTohMCxnZXQ6cltsXX0pO2xldCBhPWUucig4MTI1OCksbz1lLnIoNDk4NDMpLGk9ZS5yKDg0MDgyKSx1PWUucigxNzc0OCkscz1lLnIoNzQ4NDcpLGM9YS5fKGUucigxNjE1MykpLGY9e2RlY29yYXRlRGV2RXJyb3I6ZT0+ZSxoYW5kbGVDbGllbnRFcnJvcjooKT0+e30sb3JpZ2luQ29uc29sZUVycm9yOmNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKX07ZnVuY3Rpb24gZChlLHQpe2xldCBuLHI9dC5lcnJvckJvdW5kYXJ5Py5jb25zdHJ1Y3RvcjtpZihuPW58fHI9PT1zLkVycm9yQm91bmRhcnlIYW5kbGVyJiZ0LmVycm9yQm91bmRhcnkucHJvcHMuZXJyb3JDb21wb25lbnQ9PT1jLmRlZmF1bHQpcmV0dXJuIHAoZSk7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fGYub3JpZ2luQ29uc29sZUVycm9yKGUpfWZ1bmN0aW9uIHAoZSl7KDAsaS5pc0JhaWxvdXRUb0NTUkVycm9yKShlKXx8KDAsby5pc05leHRSb3V0ZXJFcnJvcikoZSl8fCgwLHUucmVwb3J0R2xvYmFsRXJyb3IpKGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDY0NTQ3LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJBcHBSb3V0ZXJBbm5vdW5jZXIiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCByPWUucig3NTIwMSksbD1lLnIoMjkwODApLGE9Im5leHQtcm91dGUtYW5ub3VuY2VyIjtmdW5jdGlvbiBvKHt0cmVlOmV9KXtsZXRbdCxuXT0oMCxyLnVzZVN0YXRlKShudWxsKTsoMCxyLnVzZUVmZmVjdCkoKCk9PihuKGZ1bmN0aW9uKCl7bGV0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoYSlbMF07aWYoZT8uc2hhZG93Um9vdD8uY2hpbGROb2Rlc1swXSlyZXR1cm4gZS5zaGFkb3dSb290LmNoaWxkTm9kZXNbMF07e2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYSk7ZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZSI7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQuYXJpYUxpdmU9ImFzc2VydGl2ZSIsdC5pZD0iX19uZXh0LXJvdXRlLWFubm91bmNlcl9fIix0LnJvbGU9ImFsZXJ0Iix0LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2JvcmRlcjowO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO3dpZHRoOjFweDtjbGlwOnJlY3QoMCAwIDAgMCk7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt3b3JkLXdyYXA6bm9ybWFsIixlLmF0dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KS5hcHBlbmRDaGlsZCh0KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLHR9fSgpKSwoKT0+e2xldCBlPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpWzBdO2U/LmlzQ29ubmVjdGVkJiZkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGUpfSksW10pO2xldFtvLGldPSgwLHIudXNlU3RhdGUpKCIiKSx1PSgwLHIudXNlUmVmKSh2b2lkIDApO3JldHVybigwLHIudXNlRWZmZWN0KSgoKT0+e2xldCBlPSIiO2lmKGRvY3VtZW50LnRpdGxlKWU9ZG9jdW1lbnQudGl0bGU7ZWxzZXtsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJoMSIpO3QmJihlPXQuaW5uZXJUZXh0fHx0LnRleHRDb250ZW50fHwiIil9dm9pZCAwIT09dS5jdXJyZW50JiZ1LmN1cnJlbnQhPT1lJiZpKGUpLHUuY3VycmVudD1lfSxbZV0pLHQ/KDAsbC5jcmVhdGVQb3J0YWwpKG8sdCk6bnVsbH0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw3OTIxMywoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZmluZEhlYWRJbkNhY2hlIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYX19KTtsZXQgcj1lLnIoMjc0NTQpLGw9ZS5yKDU3Nzc4KTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uIGUodCxuLGEsbyl7aWYoMD09PU9iamVjdC5rZXlzKG4pLmxlbmd0aClyZXR1cm5bdCxhLG9dO2xldCBpPU9iamVjdC5rZXlzKG4pLmZpbHRlcihlPT4iY2hpbGRyZW4iIT09ZSk7Zm9yKGxldCBvIG9mKCJjaGlsZHJlbiJpbiBuJiZpLnVuc2hpZnQoImNoaWxkcmVuIiksaSkpe2xldFtpLHVdPW5bb107aWYoaT09PXIuREVGQVVMVF9TRUdNRU5UX0tFWSljb250aW51ZTtsZXQgcz10LnBhcmFsbGVsUm91dGVzLmdldChvKTtpZighcyljb250aW51ZTtsZXQgYz0oMCxsLmNyZWF0ZVJvdXRlckNhY2hlS2V5KShpKSxmPSgwLGwuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKGksITApLGQ9cy5nZXQoYyk7aWYoIWQpY29udGludWU7bGV0IHA9ZShkLHUsYSsiLyIrYyxhKyIvIitmKTtpZihwKXJldHVybiBwfXJldHVybiBudWxsfShlLHQsIiIsIiIpfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDI2NzA2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPXtHcmFjZWZ1bERlZ3JhZGVCb3VuZGFyeTpmdW5jdGlvbigpe3JldHVybiBpfSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGwgaW4gcilPYmplY3QuZGVmaW5lUHJvcGVydHkobixsLHtlbnVtZXJhYmxlOiEwLGdldDpyW2xdfSk7bGV0IGE9ZS5yKDk4MTM0KSxvPWUucig3NTIwMSk7Y2xhc3MgaSBleHRlbmRzIG8uQ29tcG9uZW50e2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMuc3RhdGU9e2hhc0Vycm9yOiExfSx0aGlzLnJvb3RIdG1sPSIiLHRoaXMuaHRtbEF0dHJpYnV0ZXM9e30sdGhpcy5odG1sUmVmPSgwLG8uY3JlYXRlUmVmKSgpfXN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZSl7cmV0dXJue2hhc0Vycm9yOiEwfX1jb21wb25lbnREaWRNb3VudCgpe2xldCBlPXRoaXMuaHRtbFJlZi5jdXJyZW50O3RoaXMuc3RhdGUuaGFzRXJyb3ImJmUmJk9iamVjdC5lbnRyaWVzKHRoaXMuaHRtbEF0dHJpYnV0ZXMpLmZvckVhY2goKFt0LG5dKT0+e2Uuc2V0QXR0cmlidXRlKHQsbil9KX1yZW5kZXIoKXtsZXR7aGFzRXJyb3I6ZX09dGhpcy5zdGF0ZTtyZXR1cm4oInUiPnR5cGVvZiB3aW5kb3cmJiF0aGlzLnJvb3RIdG1sJiYodGhpcy5yb290SHRtbD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MLHRoaXMuaHRtbEF0dHJpYnV0ZXM9ZnVuY3Rpb24oZSl7bGV0IHQ9e307Zm9yKGxldCBuPTA7bjxlLmF0dHJpYnV0ZXMubGVuZ3RoO24rKyl7bGV0IHI9ZS5hdHRyaWJ1dGVzW25dO3Rbci5uYW1lXT1yLnZhbHVlfXJldHVybiB0fShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKSxlKT8oMCxhLmpzeCkoImh0bWwiLHtyZWY6dGhpcy5odG1sUmVmLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnRoaXMucm9vdEh0bWx9fSk6dGhpcy5wcm9wcy5jaGlsZHJlbn19bGV0IHU9aTsoImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSwzMzcwMiwoZSx0LG4pPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZGVmYXVsdCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHN9fSk7bGV0IHI9ZS5yKDgxMjU4KSxsPWUucig5ODEzNCk7ZS5yKDc1MjAxKTtsZXQgYT1yLl8oZS5yKDI2NzA2KSksbz1lLnIoNzQ4NDcpLGk9ZS5yKDM0NjUpLHU9InUiPnR5cGVvZiB3aW5kb3cmJigwLGkuaXNCb3QpKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KTtmdW5jdGlvbiBzKHtjaGlsZHJlbjplLGVycm9yQ29tcG9uZW50OnQsZXJyb3JTdHlsZXM6bixlcnJvclNjcmlwdHM6cn0pe3JldHVybiB1PygwLGwuanN4KShhLmRlZmF1bHQse2NoaWxkcmVuOmV9KTooMCxsLmpzeCkoby5FcnJvckJvdW5kYXJ5LHtlcnJvckNvbXBvbmVudDp0LGVycm9yU3R5bGVzOm4sZXJyb3JTY3JpcHRzOnIsY2hpbGRyZW46ZX0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDYxMTU2LChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUn19KTtsZXQgcj1lLnIoODEyNTgpLGw9ZS5yKDQ0MDY2KSxhPWUucig5ODEzNCksbz1sLl8oZS5yKDc1MjAxKSksaT1lLnIoMTY4NzIpLHU9ZS5yKDU5NDMwKSxzPWUucig4NTU5NCksYz1lLnIoMzE4OTkpLGY9ZS5yKDk0ODc5KSxkPWUucig2NDU0NykscD1lLnIoNTcyNDcpLG09ZS5yKDc5MjEzKSxoPWUucig1MDA5NiksZz1lLnIoMjQwNDIpLHY9ZS5yKDM4OTMzKSx5PWUucigxODE2NyksYj1lLnIoODMzOTgpLHc9ZS5yKDg0Mzk1KSxrPWUucig0MTcyMSksUz1lLnIoOTA4NjIpLEU9ZS5yKDk4MjgzKSx4PXIuXyhlLnIoMzM3MDIpKSxfPXIuXyhlLnIoMTYxNTMpKSxQPWUucigzNjM0NSksTj1lLnIoODg3NzQpLEM9e307ZnVuY3Rpb24gVCh7YXBwUm91dGVyU3RhdGU6ZX0pe3JldHVybigwLG8udXNlSW5zZXJ0aW9uRWZmZWN0KSgoKT0+e2xldHt0cmVlOnQscHVzaFJlZjpuLGNhbm9uaWNhbFVybDpyLHJlbmRlcmVkU2VhcmNoOmx9PWUsYT17Li4ubi5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZT93aW5kb3cuaGlzdG9yeS5zdGF0ZTp7fSxfX05BOiEwLF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU6e3RyZWU6dCxyZW5kZXJlZFNlYXJjaDpsfX07bi5wZW5kaW5nUHVzaCYmKDAscy5jcmVhdGVIcmVmRnJvbVVybCkobmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikpIT09cj8obi5wZW5kaW5nUHVzaD0hMSx3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoYSwiIixyKSk6d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKGEsIiIscil9LFtlXSksKDAsby51c2VFZmZlY3QpKCgpPT57KDAsRS5waW5nVmlzaWJsZUxpbmtzKShlLm5leHRVcmwsZS50cmVlKX0sW2UubmV4dFVybCxlLnRyZWVdKSxudWxsfWZ1bmN0aW9uIE8oZSl7bnVsbD09ZSYmKGU9e30pO2xldCB0PXdpbmRvdy5oaXN0b3J5LnN0YXRlLG49dD8uX19OQTtuJiYoZS5fX05BPW4pO2xldCByPXQ/Ll9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU7cmV0dXJuIHImJihlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU9ciksZX1mdW5jdGlvbiB6KHtoZWFkQ2FjaGVOb2RlOmV9KXtsZXQgdD1udWxsIT09ZT9lLmhlYWQ6bnVsbCxuPW51bGwhPT1lP2UucHJlZmV0Y2hIZWFkOm51bGwscj1udWxsIT09bj9uOnQ7cmV0dXJuKDAsby51c2VEZWZlcnJlZFZhbHVlKSh0LHIpfWZ1bmN0aW9uIEwoe2FjdGlvblF1ZXVlOmUsZ2xvYmFsRXJyb3I6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl7bGV0IGwscz0oMCxmLnVzZUFjdGlvblF1ZXVlKShlKSx7Y2Fub25pY2FsVXJsOmJ9PXMse3NlYXJjaFBhcmFtczpFLHBhdGhuYW1lOl99PSgwLG8udXNlTWVtbykoKCk9PntsZXQgZT1uZXcgVVJMKGIsInUiPHR5cGVvZiB3aW5kb3c/Imh0dHA6Ly9uIjp3aW5kb3cubG9jYXRpb24uaHJlZik7cmV0dXJue3NlYXJjaFBhcmFtczplLnNlYXJjaFBhcmFtcyxwYXRobmFtZTooMCx2Lmhhc0Jhc2VQYXRoKShlLnBhdGhuYW1lKT8oMCxnLnJlbW92ZUJhc2VQYXRoKShlLnBhdGhuYW1lKTplLnBhdGhuYW1lfX0sW2JdKTsoMCxvLnVzZUVmZmVjdCkoKCk9PntmdW5jdGlvbiBlKGUpe2UucGVyc2lzdGVkJiZ3aW5kb3cuaGlzdG9yeS5zdGF0ZT8uX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSYmKEMucGVuZGluZ01wYVBhdGg9dm9pZCAwLCgwLGYuZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24pKHt0eXBlOnUuQUNUSU9OX1JFU1RPUkUsdXJsOm5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLGhpc3RvcnlTdGF0ZTp3aW5kb3cuaGlzdG9yeS5zdGF0ZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFfSkpfXJldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZXNob3ciLGUpLCgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBhZ2VzaG93IixlKX19LFtdKSwoMCxvLnVzZUVmZmVjdCkoKCk9PntmdW5jdGlvbiBlKGUpe2xldCB0PSJyZWFzb24iaW4gZT9lLnJlYXNvbjplLmVycm9yO2lmKCgwLFMuaXNSZWRpcmVjdEVycm9yKSh0KSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPSgwLGsuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKHQpOygwLGsuZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yKSh0KT09PVMuUmVkaXJlY3RUeXBlLnB1c2g/dy5wdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZS5wdXNoKG4se30pOncucHVibGljQXBwUm91dGVySW5zdGFuY2UucmVwbGFjZShuLHt9KX19cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInVuaGFuZGxlZHJlamVjdGlvbiIsZSksKCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGUpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGUpfX0sW10pO2xldHtwdXNoUmVmOk59PXM7aWYoTi5tcGFOYXZpZ2F0aW9uKXtpZihDLnBlbmRpbmdNcGFQYXRoIT09Yil7bGV0IGU9d2luZG93LmxvY2F0aW9uO04ucGVuZGluZ1B1c2g/ZS5hc3NpZ24oYik6ZS5yZXBsYWNlKGIpLEMucGVuZGluZ01wYVBhdGg9Yn10aHJvdyBoLnVucmVzb2x2ZWRUaGVuYWJsZX0oMCxvLnVzZUVmZmVjdCkoKCk9PntsZXQgZT13aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSksdD13aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSksbj1lPT57bGV0IHQ9d2luZG93LmxvY2F0aW9uLmhyZWYsbj13aW5kb3cuaGlzdG9yeS5zdGF0ZT8uX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCxmLmRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKSh7dHlwZTp1LkFDVElPTl9SRVNUT1JFLHVybDpuZXcgVVJMKGU/P3QsdCksaGlzdG9yeVN0YXRlOm59KX0pfTt3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGU9ZnVuY3Rpb24odCxyLGwpe3JldHVybiB0Py5fX05BfHx0Py5fTnx8KHQ9Tyh0KSxsJiZuKGwpKSxlKHQscixsKX0sd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlPWZ1bmN0aW9uKGUscixsKXtyZXR1cm4gZT8uX19OQXx8ZT8uX058fChlPU8oZSksbCYmbihsKSksdChlLHIsbCl9O2xldCByPWU9PntpZihlLnN0YXRlKXtpZighZS5zdGF0ZS5fX05BKXJldHVybiB2b2lkIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsoMCxvLnN0YXJ0VHJhbnNpdGlvbikoKCk9PnsoMCx3LmRpc3BhdGNoVHJhdmVyc2VBY3Rpb24pKHdpbmRvdy5sb2NhdGlvbi5ocmVmLGUuc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSl9KX19O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLHIpLCgpPT57d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlPWUsd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlPXQsd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIixyKX19LFtdKTtsZXR7Y2FjaGU6TCx0cmVlOlIsbmV4dFVybDpNLGZvY3VzQW5kU2Nyb2xsUmVmOkkscHJldmlvdXNOZXh0VXJsOkZ9PXMsQT0oMCxvLnVzZU1lbW8pKCgpPT4oMCxtLmZpbmRIZWFkSW5DYWNoZSkoTCxSWzFdKSxbTCxSXSksaj0oMCxvLnVzZU1lbW8pKCgpPT4oMCx5LmdldFNlbGVjdGVkUGFyYW1zKShSKSxbUl0pLFU9KDAsby51c2VNZW1vKSgoKT0+KHtwYXJlbnRUcmVlOlIscGFyZW50Q2FjaGVOb2RlOkwscGFyZW50U2VnbWVudFBhdGg6bnVsbCxwYXJlbnRQYXJhbXM6e30sZGVidWdOYW1lQ29udGV4dDoiLyIsdXJsOmIsaXNBY3RpdmU6ITB9KSxbUixMLGJdKSxCPSgwLG8udXNlTWVtbykoKCk9Pih7dHJlZTpSLGZvY3VzQW5kU2Nyb2xsUmVmOkksbmV4dFVybDpNLHByZXZpb3VzTmV4dFVybDpGfSksW1IsSSxNLEZdKTtpZihudWxsIT09QSl7bGV0W2UsdCxuXT1BO2w9KDAsYS5qc3gpKHose2hlYWRDYWNoZU5vZGU6ZX0sInUiPHR5cGVvZiB3aW5kb3c/bjp0KX1lbHNlIGw9bnVsbDtsZXQgVj0oMCxhLmpzeHMpKHAuUmVkaXJlY3RCb3VuZGFyeSx7Y2hpbGRyZW46W2wsKDAsYS5qc3gpKFAuUm9vdExheW91dEJvdW5kYXJ5LHtjaGlsZHJlbjpMLnJzY30pLCgwLGEuanN4KShkLkFwcFJvdXRlckFubm91bmNlcix7dHJlZTpSfSldfSk7cmV0dXJuIFY9KDAsYS5qc3gpKHguZGVmYXVsdCx7ZXJyb3JDb21wb25lbnQ6dFswXSxlcnJvclN0eWxlczp0WzFdLGNoaWxkcmVuOlZ9KSwoMCxhLmpzeHMpKGEuRnJhZ21lbnQse2NoaWxkcmVuOlsoMCxhLmpzeCkoVCx7YXBwUm91dGVyU3RhdGU6c30pLCgwLGEuanN4KShELHt9KSwoMCxhLmpzeCkoYy5OYXZpZ2F0aW9uUHJvbWlzZXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpudWxsLGNoaWxkcmVuOigwLGEuanN4KShjLlBhdGhQYXJhbXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpqLGNoaWxkcmVuOigwLGEuanN4KShjLlBhdGhuYW1lQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6XyxjaGlsZHJlbjooMCxhLmpzeCkoYy5TZWFyY2hQYXJhbXNDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpFLGNoaWxkcmVuOigwLGEuanN4KShpLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIse3ZhbHVlOkIsY2hpbGRyZW46KDAsYS5qc3gpKGkuQXBwUm91dGVyQ29udGV4dC5Qcm92aWRlcix7dmFsdWU6dy5wdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZSxjaGlsZHJlbjooMCxhLmpzeCkoaS5MYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTpVLGNoaWxkcmVuOlZ9KX0pfSl9KX0pfSl9KV19KX1mdW5jdGlvbiBSKHthY3Rpb25RdWV1ZTplLGdsb2JhbEVycm9yU3RhdGU6dCx3ZWJTb2NrZXQ6bixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpyfSl7KDAsYi51c2VOYXZGYWlsdXJlSGFuZGxlcikoKTtsZXQgbD0oMCxhLmpzeCkoTCx7YWN0aW9uUXVldWU6ZSxnbG9iYWxFcnJvcjp0LHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KTtyZXR1cm4oMCxhLmpzeCkoeC5kZWZhdWx0LHtlcnJvckNvbXBvbmVudDpfLmRlZmF1bHQsY2hpbGRyZW46bH0pfWxldCBNPW5ldyBTZXQsST1uZXcgU2V0O2Z1bmN0aW9uIEQoKXtsZXRbLGVdPW8uZGVmYXVsdC51c2VTdGF0ZSgwKSx0PU0uc2l6ZTsoMCxvLnVzZUVmZmVjdCkoKCk9PntsZXQgbj0oKT0+ZShlPT5lKzEpO3JldHVybiBJLmFkZChuKSx0IT09TS5zaXplJiZuKCksKCk9PntJLmRlbGV0ZShuKX19LFt0LGVdKTtsZXQgbj0oMCxOLmdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZykoKTtyZXR1cm5bLi4uTV0ubWFwKChlLHQpPT4oMCxhLmpzeCkoImxpbmsiLHtyZWw6InN0eWxlc2hlZXQiLGhyZWY6YCR7ZX0ke259YCxwcmVjZWRlbmNlOiJuZXh0In0sdCkpfWdsb2JhbFRoaXMuX05fRV9TVFlMRV9MT0FEPWZ1bmN0aW9uKGUpe2xldCB0PU0uc2l6ZTtyZXR1cm4gTS5hZGQoZSksTS5zaXplIT09dCYmSS5mb3JFYWNoKGU9PmUoKSksUHJvbWlzZS5yZXNvbHZlKCl9LCgiZnVuY3Rpb24iPT10eXBlb2Ygbi5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIG4uZGVmYXVsdCYmbnVsbCE9PW4uZGVmYXVsdCkmJnZvaWQgMD09PW4uZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KG4uZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihuLmRlZmF1bHQsbiksdC5leHBvcnRzPW4uZGVmYXVsdCl9LDM4NzkyLChlLHQsbik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJjcmVhdGVJbml0aWFsUm91dGVyU3RhdGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpfX0pO2xldCByPWUucig4NTU5NCksbD1lLnIoMTgxNjcpLGE9ZS5yKDY3NjI4KSxvPWUucigxODkzOSk7ZnVuY3Rpb24gaSh7bmF2aWdhdGVkQXQ6ZSxpbml0aWFsRmxpZ2h0RGF0YTp0LGluaXRpYWxDYW5vbmljYWxVcmxQYXJ0czpuLGluaXRpYWxSZW5kZXJlZFNlYXJjaDppLGxvY2F0aW9uOnV9KXtsZXQgcz1uLmpvaW4oIi8iKSx7dHJlZTpjLHNlZWREYXRhOmYsaGVhZDpkfT0oMCxhLmdldEZsaWdodERhdGFQYXJ0c0Zyb21QYXRoKSh0WzBdKSxwPXU/KDAsci5jcmVhdGVIcmVmRnJvbVVybCkodSk6cztyZXR1cm57dHJlZTpjLGNhY2hlOigwLG8uY3JlYXRlSW5pdGlhbENhY2hlTm9kZUZvckh5ZHJhdGlvbikoZSxjLGYsZCkscHVzaFJlZjp7cGVuZGluZ1B1c2g6ITEsbXBhTmF2aWdhdGlvbjohMSxwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTohMH0sZm9jdXNBbmRTY3JvbGxSZWY6e2FwcGx5OiExLG9ubHlIYXNoQ2hhbmdlOiExLGhhc2hGcmFnbWVudDpudWxsLHNlZ21lbnRQYXRoczpbXX0sY2Fub25pY2FsVXJsOnAscmVuZGVyZWRTZWFyY2g6aSxuZXh0VXJsOigoMCxsLmV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKShjKXx8dT8ucGF0aG5hbWUpPz9udWxsLHByZXZpb3VzTmV4dFVybDpudWxsLGRlYnVnSW5mbzpudWxsfX0oImZ1bmN0aW9uIj09dHlwZW9mIG4uZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiBuLmRlZmF1bHQmJm51bGwhPT1uLmRlZmF1bHQpJiZ2b2lkIDA9PT1uLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24obi5kZWZhdWx0LG4pLHQuZXhwb3J0cz1uLmRlZmF1bHQpfSw5MzM1MSwoZSx0LG4pPT57InVzZSBzdHJpY3QiO2xldCByLGwsYSxvO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiaHlkcmF0ZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEF9fSk7bGV0IGk9ZS5yKDgxMjU4KSx1PWUucig5ODEzNCk7ZS5yKDc5MTIzKTtsZXQgcz1pLl8oZS5yKDgyOTQwKSksYz1pLl8oZS5yKDc1MjAxKSksZj1lLnIoNzUwNDUpLGQ9ZS5yKDQ0OTM0KSxwPWUucigzMjc5MyksbT1lLnIoODI5MzkpLGg9ZS5yKDMwOTMxKSxnPWUucig4OTU5NCksdj1lLnIoODQzOTUpLHk9aS5fKGUucig2MTE1NikpLGI9ZS5yKDM4NzkyKTtlLnIoMTY4NzIpO2xldCB3PWUucig2MTcwNiksaz1lLnIoNjc2MjgpLFM9Zi5jcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0sRT1mLmNyZWF0ZUZyb21GZXRjaCx4PWRvY3VtZW50LF89bmV3IFRleHRFbmNvZGVyLFA9ITEsTj0hMSxDPW51bGw7ZnVuY3Rpb24gVChlKXtpZigwPT09ZVswXSlhPVtdO2Vsc2UgaWYoMT09PWVbMF0pe2lmKCFhKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiVW5leHBlY3RlZCBzZXJ2ZXIgZGF0YTogbWlzc2luZyBib290c3RyYXAgc2NyaXB0LiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMTgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bz9vLmVucXVldWUoXy5lbmNvZGUoZVsxXSkpOmEucHVzaChlWzFdKX1lbHNlIGlmKDI9PT1lWzBdKUM9ZVsxXTtlbHNlIGlmKDM9PT1lWzBdKXtpZighYSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIlVuZXhwZWN0ZWQgc2VydmVyIGRhdGE6IG1pc3NpbmcgYm9vdHN0cmFwIHNjcmlwdC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTE4IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2xldCBuPWF0b2IoZVsxXSkscj1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKHZhciB0PTA7dDxuLmxlbmd0aDt0Kyspclt0XT1uLmNoYXJDb2RlQXQodCk7bz9vLmVucXVldWUocik6YS5wdXNoKHIpfX1sZXQgTz1mdW5jdGlvbigpe28mJiFOJiYoby5jbG9zZSgpLE49ITAsYT12b2lkIDApLFA9ITB9OyJsb2FkaW5nIj09PWRvY3VtZW50LnJlYWR5U3RhdGU/ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsTywhMSk6c2V0VGltZW91dChPKTtsZXQgej1zZWxmLl9fbmV4dF9mPXNlbGYuX19uZXh0X2Z8fFtdO3ouZm9yRWFjaChUKSx6Lmxlbmd0aD0wLHoucHVzaD1UO2xldCBMPW5ldyBSZWFkYWJsZVN0cmVhbSh7c3RhcnQoZSl7YSYmKGEuZm9yRWFjaCh0PT57ZS5lbnF1ZXVlKCJzdHJpbmciPT10eXBlb2YgdD9fLmVuY29kZSh0KTp0KX0pLFAmJiFOKSYmKG51bGw9PT1lLmRlc2lyZWRTaXplfHxlLmRlc2lyZWRTaXplPDA/ZS5lcnJvcihPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIlRoZSBjb25uZWN0aW9uIHRvIHRoZSBwYWdlIHdhcyB1bmV4cGVjdGVkbHkgY2xvc2VkLCBwb3NzaWJseSBkdWUgdG8gdGhlIHN0b3AgYnV0dG9uIGJlaW5nIGNsaWNrZWQsIGxvc3Mgb2YgV2ktRmksIG9yIGFuIHVuc3RhYmxlIGludGVybmV0IGNvbm5lY3Rpb24uIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUxMTciLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSkpOmUuY2xvc2UoKSxOPSEwLGE9dm9pZCAwKSxvPWV9fSksUj13aW5kb3cuX19ORVhUX0NMSUVOVF9SRVNVTUU7ZnVuY3Rpb24gTSh7aW5pdGlhbFJTQ1BheWxvYWQ6ZSxhY3Rpb25RdWV1ZTp0LHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KXtyZXR1cm4oMCx1LmpzeCkoeS5kZWZhdWx0LHthY3Rpb25RdWV1ZTp0LGdsb2JhbEVycm9yU3RhdGU6ZS5HLHdlYlNvY2tldDpuLHN0YXRpY0luZGljYXRvclN0YXRlOnJ9KX1sPVI/UHJvbWlzZS5yZXNvbHZlKEUoUix7Y2FsbFNlcnZlcjpoLmNhbGxTZXJ2ZXIsZmluZFNvdXJjZU1hcFVSTDpnLmZpbmRTb3VyY2VNYXBVUkwsZGVidWdDaGFubmVsOnJ9KSkudGhlbihhc3luYyBlPT4oMCxrLmNyZWF0ZUluaXRpYWxSU0NQYXlsb2FkRnJvbUZhbGxiYWNrUHJlcmVuZGVyKShhd2FpdCBSLGUpKTpTKEwse2NhbGxTZXJ2ZXI6aC5jYWxsU2VydmVyLGZpbmRTb3VyY2VNYXBVUkw6Zy5maW5kU291cmNlTWFwVVJMLGRlYnVnQ2hhbm5lbDpyLHN0YXJ0VGltZTowfSk7bGV0IEk9Yy5kZWZhdWx0LlN0cmljdE1vZGU7ZnVuY3Rpb24gRCh7Y2hpbGRyZW46ZX0pe3JldHVybiBlfWxldCBGPXtvbkRlZmF1bHRUcmFuc2l0aW9uSW5kaWNhdG9yOmZ1bmN0aW9uKCl7cmV0dXJuKCk9Pnt9fSxvblJlY292ZXJhYmxlRXJyb3I6cC5vblJlY292ZXJhYmxlRXJyb3Isb25DYXVnaHRFcnJvcjptLm9uQ2F1Z2h0RXJyb3Isb25VbmNhdWdodEVycm9yOm0ub25VbmNhdWdodEVycm9yfTthc3luYyBmdW5jdGlvbiBBKGUsdCl7bGV0IG4scixhPWF3YWl0IGw7KDAsdy5zZXRBcHBCdWlsZElkKShhLmIpO2xldCBvPURhdGUubm93KCksaT0oMCx2LmNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSkoKDAsYi5jcmVhdGVJbml0aWFsUm91dGVyU3RhdGUpKHtuYXZpZ2F0ZWRBdDpvLGluaXRpYWxGbGlnaHREYXRhOmEuZixpbml0aWFsQ2Fub25pY2FsVXJsUGFydHM6YS5jLGluaXRpYWxSZW5kZXJlZFNlYXJjaDphLnEsbG9jYXRpb246d2luZG93LmxvY2F0aW9ufSksZSksZj0oMCx1LmpzeCkoSSx7Y2hpbGRyZW46KDAsdS5qc3gpKGQuSGVhZE1hbmFnZXJDb250ZXh0LlByb3ZpZGVyLHt2YWx1ZTp7YXBwRGlyOiEwfSxjaGlsZHJlbjooMCx1LmpzeCkoRCx7Y2hpbGRyZW46KDAsdS5qc3gpKE0se2luaXRpYWxSU0NQYXlsb2FkOmEsYWN0aW9uUXVldWU6aSx3ZWJTb2NrZXQ6cixzdGF0aWNJbmRpY2F0b3JTdGF0ZTpufSl9KX0pfSk7Il9fbmV4dF9lcnJvcl9fIj09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5pZD9zLmRlZmF1bHQuY3JlYXRlUm9vdCh4LEYpLnJlbmRlcihmKTpjLmRlZmF1bHQuc3RhcnRUcmFuc2l0aW9uKCgpPT57cy5kZWZhdWx0Lmh5ZHJhdGVSb290KHgsZix7Li4uRixmb3JtU3RhdGU6Q30pfSl9KCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX0sOTYzMzUsKGUsdCxuKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7bGV0IHI9ZS5yKDQ4NzA2KTtlLnIoMzI3OTMpLHdpbmRvdy5uZXh0LnR1cmJvcGFjaz0hMCxzZWxmLl9fd2VicGFja19oYXNoX189IiI7bGV0IGw9ZS5yKDkyMzg2KTsoMCxyLmFwcEJvb3RzdHJhcCkodD0+e2xldHtoeWRyYXRlOm59PWUucig5MzM1MSk7bihsLHQpfSksKCJmdW5jdGlvbiI9PXR5cGVvZiBuLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygbi5kZWZhdWx0JiZudWxsIT09bi5kZWZhdWx0KSYmdm9pZCAwPT09bi5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkobi5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKG4uZGVmYXVsdCxuKSx0LmV4cG9ydHM9bi5kZWZhdWx0KX1dKTs="}},"time_used":6,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":5,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/c0a6ae515f4d245d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.541Z","timestamp":1785129949541,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/c0a6ae515f4d245d.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 3817465\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"c0a6ae515f4d245d.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"42e2ea745a52c479ce79b9fadf7f2ed9\"\r\nlast-modified: Sat, 13 Jun 2026 00:50:11 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/c0a6ae515f4d245d.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::xwt97-1781312483646-eb94f2b460c3\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=NizE8LgOnpjeU14ViYG77jGYUtZNovrWD0rLVaGL8sroDqvlOv1yuOaavByL0iGNV%2BKINOykjlZDHkimZE0mlURVif8v33IK7LL4BWp25xjCiuRhY55WS%2FNVWXKC\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c8ad33a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":3649,"size_decoded":3722,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (3649), with no line terminators","md5":"42e2ea745a52c479ce79b9fadf7f2ed9","sha1":"0cf08999016475d70bf072b7878daea0244184e3","sha256":"2746264358bea944d3523f9c66585147897903d73b7b42e0bfd599f2492e3315","sha512":"cf4f42621c9615fcfc08b325ce391ff9e3af8b94fe80c1e4118eb1e52ca88e0b0409d0c36bc96f50a26ac3ea232630521e1a8077e10d05438f3b7fb8ebc266a9","ssdeep":"","tlshash":"af7165f0a702b23409ea41de5079c778b53d3658512e9420d1badc7f626cd8964b2ef3","first_seen":"2026-06-13T02:21:16.197988Z","last_seen":"2026-08-15T07:58:28.173902Z","times_seen":1916,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQyMDkyLGU9PnsidXNlIHN0cmljdCI7dmFyIHQ9ZS5pKDc1MjAxKSxyPShlLHQscixuLHMsYSxvLGwpPT57bGV0IGk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LG09WyJsaWdodCIsImRhcmsiXTtmdW5jdGlvbiBjKHQpe3ZhciByOyhBcnJheS5pc0FycmF5KGUpP2U6W2VdKS5mb3JFYWNoKGU9PntsZXQgcj0iY2xhc3MiPT09ZSxuPXImJmE/cy5tYXAoZT0+YVtlXXx8ZSk6cztyPyhpLmNsYXNzTGlzdC5yZW1vdmUoLi4ubiksaS5jbGFzc0xpc3QuYWRkKGEmJmFbdF0/YVt0XTp0KSk6aS5zZXRBdHRyaWJ1dGUoZSx0KX0pLHI9dCxsJiZtLmluY2x1ZGVzKHIpJiYoaS5zdHlsZS5jb2xvclNjaGVtZT1yKX1pZihuKWMobik7ZWxzZSB0cnl7bGV0IGU9bG9jYWxTdG9yYWdlLmdldEl0ZW0odCl8fHIsbj1vJiYic3lzdGVtIj09PWU/d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPyJkYXJrIjoibGlnaHQiOmU7YyhuKX1jYXRjaChlKXt9fSxuPVsibGlnaHQiLCJkYXJrIl0scz0iKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIsYT0idSI8dHlwZW9mIHdpbmRvdyxvPXQuY3JlYXRlQ29udGV4dCh2b2lkIDApLGw9e3NldFRoZW1lOmU9Pnt9LHRoZW1lczpbXX0saT0oKT0+e3ZhciBlO3JldHVybiBudWxsIT0oZT10LnVzZUNvbnRleHQobykpP2U6bH0sbT1lPT50LnVzZUNvbnRleHQobyk/dC5jcmVhdGVFbGVtZW50KHQuRnJhZ21lbnQsbnVsbCxlLmNoaWxkcmVuKTp0LmNyZWF0ZUVsZW1lbnQoZCx7Li4uZX0pLGM9WyJsaWdodCIsImRhcmsiXSxkPSh7Zm9yY2VkVGhlbWU6ZSxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOnI9ITEsZW5hYmxlU3lzdGVtOmE9ITAsZW5hYmxlQ29sb3JTY2hlbWU6bD0hMCxzdG9yYWdlS2V5Omk9InRoZW1lIix0aGVtZXM6bT1jLGRlZmF1bHRUaGVtZTpkPWE/InN5c3RlbSI6ImxpZ2h0IixhdHRyaWJ1dGU6cD0iZGF0YS10aGVtZSIsdmFsdWU6YixjaGlsZHJlbjp2LG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pPT57bGV0W3csU109dC51c2VTdGF0ZSgoKT0+aChpLGQpKSxbQyxFXT10LnVzZVN0YXRlKCgpPT4ic3lzdGVtIj09PXc/ZigpOncpLGs9Yj9PYmplY3QudmFsdWVzKGIpOm0sQT10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD1lO2lmKCF0KXJldHVybjsic3lzdGVtIj09PWUmJmEmJih0PWYoKSk7bGV0IHM9Yj9iW3RdOnQsbz1yP3koZyk6bnVsbCxpPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxtPWU9PnsiY2xhc3MiPT09ZT8oaS5jbGFzc0xpc3QucmVtb3ZlKC4uLmspLHMmJmkuY2xhc3NMaXN0LmFkZChzKSk6ZS5zdGFydHNXaXRoKCJkYXRhLSIpJiYocz9pLnNldEF0dHJpYnV0ZShlLHMpOmkucmVtb3ZlQXR0cmlidXRlKGUpKX07aWYoQXJyYXkuaXNBcnJheShwKT9wLmZvckVhY2gobSk6bShwKSxsKXtsZXQgZT1uLmluY2x1ZGVzKGQpP2Q6bnVsbCxyPW4uaW5jbHVkZXModCk/dDplO2kuc3R5bGUuY29sb3JTY2hlbWU9cn1udWxsPT1vfHxvKCl9LFtnXSksTD10LnVzZUNhbGxiYWNrKGU9PntsZXQgdD0iZnVuY3Rpb24iPT10eXBlb2YgZT9lKHcpOmU7Uyh0KTt0cnl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oaSx0KX1jYXRjaChlKXt9fSxbd10pLFA9dC51c2VDYWxsYmFjayh0PT57RShmKHQpKSwic3lzdGVtIj09PXcmJmEmJiFlJiZBKCJzeXN0ZW0iKX0sW3csZV0pO3QudXNlRWZmZWN0KCgpPT57bGV0IGU9d2luZG93Lm1hdGNoTWVkaWEocyk7cmV0dXJuIGUuYWRkTGlzdGVuZXIoUCksUChlKSwoKT0+ZS5yZW1vdmVMaXN0ZW5lcihQKX0sW1BdKSx0LnVzZUVmZmVjdCgoKT0+e2xldCBlPWU9PntlLmtleT09PWkmJihlLm5ld1ZhbHVlP1MoZS5uZXdWYWx1ZSk6TChkKSl9O3JldHVybiB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsZSksKCk9PndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzdG9yYWdlIixlKX0sW0xdKSx0LnVzZUVmZmVjdCgoKT0+e0EobnVsbCE9ZT9lOncpfSxbZSx3XSk7bGV0IE89dC51c2VNZW1vKCgpPT4oe3RoZW1lOncsc2V0VGhlbWU6TCxmb3JjZWRUaGVtZTplLHJlc29sdmVkVGhlbWU6InN5c3RlbSI9PT13P0M6dyx0aGVtZXM6YT9bLi4ubSwic3lzdGVtIl06bSxzeXN0ZW1UaGVtZTphP0M6dm9pZCAwfSksW3csTCxlLEMsYSxtXSk7cmV0dXJuIHQuY3JlYXRlRWxlbWVudChvLlByb3ZpZGVyLHt2YWx1ZTpPfSx0LmNyZWF0ZUVsZW1lbnQodSx7Zm9yY2VkVGhlbWU6ZSxzdG9yYWdlS2V5OmksYXR0cmlidXRlOnAsZW5hYmxlU3lzdGVtOmEsZW5hYmxlQ29sb3JTY2hlbWU6bCxkZWZhdWx0VGhlbWU6ZCx2YWx1ZTpiLHRoZW1lczptLG5vbmNlOmcsc2NyaXB0UHJvcHM6VH0pLHYpfSx1PXQubWVtbygoe2ZvcmNlZFRoZW1lOmUsc3RvcmFnZUtleTpuLGF0dHJpYnV0ZTpzLGVuYWJsZVN5c3RlbTphLGVuYWJsZUNvbG9yU2NoZW1lOm8sZGVmYXVsdFRoZW1lOmwsdmFsdWU6aSx0aGVtZXM6bSxub25jZTpjLHNjcmlwdFByb3BzOmR9KT0+e2xldCB1PUpTT04uc3RyaW5naWZ5KFtzLG4sbCxlLG0saSxhLG9dKS5zbGljZSgxLC0xKTtyZXR1cm4gdC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiLHsuLi5kLHN1cHByZXNzSHlkcmF0aW9uV2FybmluZzohMCxub25jZToidSI8dHlwZW9mIHdpbmRvdz9jOiIiLGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOntfX2h0bWw6YCgke3IudG9TdHJpbmcoKX0pKCR7dX0pYH19KX0pLGg9KGUsdCk9PntsZXQgcjtpZighYSl7dHJ5e3I9bG9jYWxTdG9yYWdlLmdldEl0ZW0oZSl8fHZvaWQgMH1jYXRjaChlKXt9cmV0dXJuIHJ8fHR9fSx5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBlJiZ0LnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiosKjo6YmVmb3JlLCo6OmFmdGVyey13ZWJraXQtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbW96LXRyYW5zaXRpb246bm9uZSFpbXBvcnRhbnQ7LW8tdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDstbXMtdHJhbnNpdGlvbjpub25lIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmUhaW1wb3J0YW50fSIpKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpLCgpPT57d2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSksc2V0VGltZW91dCgoKT0+e2RvY3VtZW50LmhlYWQucmVtb3ZlQ2hpbGQodCl9LDEpfX0sZj1lPT4oZXx8KGU9d2luZG93Lm1hdGNoTWVkaWEocykpLGUubWF0Y2hlcz8iZGFyayI6ImxpZ2h0Iik7ZS5zKFsiVGhlbWVQcm92aWRlciIsKCk9Pm0sInVzZVRoZW1lIiwoKT0+aV0pfSw4MzY2MSxlPT57InVzZSBzdHJpY3QiO3ZhciB0PWUuaSg5ODEzNCkscj1lLmkoNDIwOTIpO2Z1bmN0aW9uIG4oe2NoaWxkcmVuOmV9KXtyZXR1cm4oMCx0LmpzeCkoci5UaGVtZVByb3ZpZGVyLHthdHRyaWJ1dGU6ImNsYXNzIixkZWZhdWx0VGhlbWU6ImRhcmsiLGVuYWJsZVN5c3RlbTohMCxkaXNhYmxlVHJhbnNpdGlvbk9uQ2hhbmdlOiEwLGNoaWxkcmVuOmV9KX1lLnMoWyJUaGVtZVByb3ZpZGVyIiwoKT0+bl0pfV0pOw=="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/3957.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.174Z","timestamp":1785129950174,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/3957.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2847\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:34:38 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:36:21 GMT\r\ncache-control: max-age=86400\r\netag: \"f6894d3955fb14cdda30c8efa49a5096\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 8255\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: ZzteLNt2YM15HCm2gq1S26pSz2g4rr-TLWV06uCFgvLTDhtC4Q3Icw==\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":"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 S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":2847,"size_decoded":3372,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"f6894d3955fb14cdda30c8efa49a5096","sha1":"94fa4629c716af0d5a3743f37c56adfcfdf8f48c","sha256":"b2f4ab7b90bba9d8a6a7030dc77051befe48ab8f27fed2cfd8acb2060ce7b8f6","sha512":"22244597a2a22ec6011765743dda5e7ba01f9f3a23ba4c8ec9e91158f4e76835bbbd95f04cd65d18b6cd41c5b1b130971641298f9f2c00c54ce611c62f4e3232","ssdeep":"","tlshash":"2e513cc19d2d29b4dbaf4a523bf08512daceb3e53322222d9317afd10947f702459ac7","first_seen":"2023-05-16T12:20:21Z","last_seen":"2026-08-15T04:03:51.038005Z","times_seen":1602,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/js/main.js","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.045Z","timestamp":1785129949045,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /js/main.js HTTP/1.1\r\nHost: digitaltradeinvest.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 11305\r\ncache-control: public, max-age=604800\r\nexpires: Thu, 23 Jul 2026 14:27:17 GMT\r\nlast-modified: Thu, 09 Oct 2025 21:44:33 GMT\r\netag: \"f8e0-68e82cc1-718a364e50675732;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 234257\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: a2a4474a28e4ee8179462df15381ebe0-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":63712,"size_decoded":11866,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (398), with CRLF line terminators","md5":"055e231719ca1519fcc7126ffa423f00","sha1":"7ee5eb3da340cdca55a431e74b6b68f252e735f6","sha256":"847ab6c2334e8907ddc8fd3749b05d19b54b0e29d2bb2e8fb6c2d0c305a6966f","sha512":"911656b4e209b1dc7ffcef7a4cbe53856f0990c2cb88a58f5c0aed806e6c26a8f134fc4bc382c67533e2c144439fb591870020aab3ef8c409b86e3769049b1fc","ssdeep":"1536:/mzUS4+H0yHucZ2i+OTO29vJ1d/hS2puvS4rZ106xg4sMh135MEV0Zm:+ASLHHucZ2i+OTO2A2mxrZ106xg4sMhT","tlshash":"3a53320aa25031b5c0bb73756a9f5400eaf21e3bc6418f163d7e41ac0f76da462b5f6e","first_seen":"2024-12-01T03:55:59.315672Z","last_seen":"2026-08-04T06:09:43.955543Z","times_seen":24,"resource_available":true,"data":"IShmdW5jdGlvbiAodCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICB2YXIgYSwNCiAgICAgICAgbywNCiAgICAgICAgaSA9IDk5MSwNCiAgICAgICAgbiA9IDk5MSwNCiAgICAgICAgciA9IDAsDQogICAgICAgIHMgPSAwLA0KICAgICAgICBsID0gMCwNCiAgICAgICAgZCA9IFtdLA0KICAgICAgICBjID0gW10sDQogICAgICAgIHAgPSAiIiwNCiAgICAgICAgaCA9ICExOw0KICAgIC9eKCg/IWNocm9tZXxhbmRyb2lkKS4pKnNhZmFyaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7DQogICAgKC9BbmRyb2lkfHdlYk9TfGlQaG9uZXxpUGFkfGlQb2R8QmxhY2tCZXJyeXxJRU1vYmlsZXxPcGVyYSBNaW5pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSAmJiAoaCA9ICEwKSwNCiAgICAvaVBob25lfGlQYWR8aVBvZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkgJiYgITAsDQogICAgdCgiLmltYWdlLWJhY2stb2Zmc2V0LXNoYWRvdywgLnZlcnRpY2FsLWNvdW50ZXIsIC5jb3VudGVyLCAucHJvZ3Jlc3MtYmFyLCAucGllLWNoYXJ0LXN0eWxlLTAxLCAucGllLWNoYXJ0LXN0eWxlLTAyIikuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgIHQodGhpcykuYXBwZWFyKCkudHJpZ2dlcigicmVzaXplIik7DQogICAgfSksDQogICAgdCgibmF2Lm5hdmJhciBsaS5kcm9wZG93bi5tZWdhbWVudSIpLm9uKCJ0b3VjaHN0YXJ0IG1vdXNlZW50ZXIgY2xpY2siLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICB2YXIgYSA9IGooKTsNCiAgICAgICAgaWYgKGEgPiBpKSB7DQogICAgICAgICAgICB2YXIgbyA9IHQodGhpcykuY2hpbGRyZW4oIi5kcm9wZG93bi1tZW51Iik7DQogICAgICAgICAgICBvLmNzcyh7IGxlZnQ6ICIiIH0pLCBwYXJzZUludChvLmNzcygicGFkZGluZy1sZWZ0IikpOw0KICAgICAgICAgICAgdmFyIG4gPSB0KHRoaXMpLnBvc2l0aW9uKCkubGVmdCwNCiAgICAgICAgICAgICAgICByID0gdCh0aGlzKS5vdXRlcldpZHRoKCksDQogICAgICAgICAgICAgICAgcyA9IHQoIi5uYXZiYXItY29sbGFwc2UiKS5vZmZzZXQoKS5sZWZ0LA0KICAgICAgICAgICAgICAgIGwgPSBvLm91dGVyV2lkdGgoKSwNCiAgICAgICAgICAgICAgICBkID0gbiArIHIgLyAyIC0gbCAvIDIsDQogICAgICAgICAgICAgICAgYyA9IGEgLSBzOw0KICAgICAgICAgICAgZCArIHMgPCAwID8gKGQgPSAzMCAtIHMpIDogZCArIGwgPiBjICYmIChkID0gYyAtIGwgLSAzMCksIG8uY3NzKHsgbGVmdDogZCArICJweCIgfSk7DQogICAgICAgIH0gZWxzZSB0KHRoaXMpLmNoaWxkcmVuKCIuZHJvcGRvd24tbWVudSIpLmNzcyh7IHJpZ2h0OiAiIiwgbGVmdDogIiIgfSk7DQogICAgfSksDQogICAgdCgiLmNvdW50ZXIiKS5lYWNoKGZ1bmN0aW9uIChlKSB7DQogICAgICAgIHZhciBhID0gdCh0aGlzKTsNCiAgICAgICAgKGUgPSB0LmV4dGVuZCh7fSwgZSB8fCB7fSwgYS5kYXRhKCJjb3VudFRvT3B0aW9ucyIpIHx8IHt9KSksIGEuY291bnRUbyhlKTsNCiAgICB9KSwNCiAgICBFKCksDQogICAgRigpLA0KICAgIE0oKSwNCiAgICBIKDJlMyksDQogICAgRCgpLA0KICAgIEcoKSwNCiAgICBBKCksDQogICAgQigpLA0KICAgIHQoIi5maXQtdmlkZW9zIikuZml0VmlkcygpLA0KICAgIHQoIltkYXRhLXNjcm9sbC1vcHRpb25zXSIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICB2YXIgZSA9IHQodGhpcyksDQogICAgICAgICAgICBhID0gZS5hdHRyKCJkYXRhLXNjcm9sbC1vcHRpb25zIikgfHwgJ3sgInRoZW1lIjogImRhcmsiIH0nOw0KICAgICAgICBudWxsICE9IGEgJiYgKChhID0gdC5wYXJzZUpTT04oYSkpLCBlLm1DdXN0b21TY3JvbGxiYXIoYSkpOw0KICAgIH0pLA0KICAgIHQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIuaHRtbC12aWRlby1wbGF5IiwgZnVuY3Rpb24gKCkgew0KICAgICAgICB2YXIgZSA9IHQodGhpcykucGFyZW50cygic2VjdGlvbiIpLmZpbmQoIi52aWRlby1iZyIpOw0KICAgICAgICAhMSA9PT0gdCh0aGlzKS5pcygiW3BsYXlpbmddIikgPyAoZS50cmlnZ2VyKCJwbGF5IiksIHQodGhpcykuYXR0cigicGxheWluZyIsICJ0cnVlIikpIDogKGUudHJpZ2dlcigicGF1c2UiKSwgdCh0aGlzKS5yZW1vdmVBdHRyKCJwbGF5aW5nIikpOw0KICAgIH0pLA0KICAgIHQoIi5wcmljZS1maWx0ZXIiKS5sZW5ndGggPiAwICYmDQogICAgICAgICh0KCIucHJpY2UtZmlsdGVyIikuc2xpZGVyKHsNCiAgICAgICAgICAgIHJhbmdlOiAhMCwNCiAgICAgICAgICAgIGFuaW1hdGU6ICEwLA0KICAgICAgICAgICAgbWluOiAwLA0KICAgICAgICAgICAgbWF4OiA0ZTMsDQogICAgICAgICAgICBzdGVwOiAxLA0KICAgICAgICAgICAgdmFsdWVzOiBbMSwgMzk5OV0sDQogICAgICAgICAgICBzbGlkZTogZnVuY3Rpb24gKGUsIGEpIHsNCiAgICAgICAgICAgICAgICB0KCIucHJpY2UtYW1vdW50IikudmFsKCIkIiArIGEudmFsdWVzWzBdICsgIiAtICQiICsgYS52YWx1ZXNbMV0pLCB0KGRvY3VtZW50LmJvZHkpLnRyaWdnZXIoInByaWNlX3NsaWRlcl9jaGFuZ2UiLCBbYS52YWx1ZXNbMF0sIGEudmFsdWVzWzFdXSk7DQogICAgICAgICAgICB9LA0KICAgICAgICB9KSwNCiAgICAgICAgdCgiLnByaWNlLWFtb3VudCIpLnZhbCgiJCIgKyB0KCIucHJpY2UtZmlsdGVyIikuc2xpZGVyKCJ2YWx1ZXMiLCAwKSArICIgLSAkIiArIHQoIi5wcmljZS1maWx0ZXIiKS5zbGlkZXIoInZhbHVlcyIsIDEpKSksDQogICAgdCgiLmltYWdlLWJhY2stb2Zmc2V0LXNoYWRvdyIpLmxlbmd0aCA+IDAgJiYNCiAgICAgICAgdChkb2N1bWVudCkub24oImFwcGVhciIsICIuaW1hZ2UtYmFjay1vZmZzZXQtc2hhZG93IiwgZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgIHQoIi5pbWFnZS1iYWNrLW9mZnNldC1zaGFkb3ciKS5hZGRDbGFzcygiYWN0aXZlIik7DQogICAgICAgIH0pLA0KICAgIHQoIi52ZXJ0aWNhbC1jb3VudGVyIikuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgIGZvciAodmFyIGUgPSB0KHRoaXMpLCBhID0gZS5hdHRyKCJkYXRhLXRvIiksIG8gPSBhLnRvU3RyaW5nKCkuc3BsaXQoIiIpLCBpID0gYS5sZW5ndGgsIG4gPSAwOyBuIDwgaTsgbisrKQ0KICAgICAgICAgICAgZS5hcHBlbmQoJzxzcGFuIGNsYXNzPSJ2ZXJ0aWNhbC1jb3VudGVyLW51bWJlciI+PHVsPjxsaT4wPC9saT48bGk+MTwvbGk+PGxpPjI8L2xpPjxsaT4zPC9saT48bGk+NDwvbGk+PGxpPjU8L2xpPjxsaT42PC9saT48bGk+NzwvbGk+PGxpPjg8L2xpPjxsaT45PC9saT48L3VsPjwvc3Bhbj4nKTsNCiAgICAgICAgZS5maW5kKCIudmVydGljYWwtY291bnRlci1udW1iZXIiKS5lYWNoKGZ1bmN0aW9uIChlKSB7DQogICAgICAgICAgICB0KHRoaXMpLmF0dHIoImRhdGEtdG8iLCBvW2VdKTsNCiAgICAgICAgfSk7DQogICAgfSksDQogICAgdCgiLnZlcnRpY2FsLWNvdW50ZXIiKS5sZW5ndGggPiAwICYmDQogICAgICAgIHQoZG9jdW1lbnQpLm9uKCJhcHBlYXIiLCAiLnZlcnRpY2FsLWNvdW50ZXIiLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgdCh3aW5kb3cpLnNjcm9sbFRvcCgpICsgTigpID49IHQoIi52ZXJ0aWNhbC1jb3VudGVyIikub2Zmc2V0KCkudG9wICYmDQogICAgICAgICAgICAgICAgdCh0aGlzKQ0KICAgICAgICAgICAgICAgICAgICAuZmluZCgiLnZlcnRpY2FsLWNvdW50ZXItbnVtYmVyIikNCiAgICAgICAgICAgICAgICAgICAgLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0KHRoaXMpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBlLmF0dHIoImRhdGEtdG8iKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvID0gZS5maW5kKCJsaSIpLmhlaWdodCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgZS5oZWlnaHQobyksIGEgPD0gOSAmJiBlLmZpbmQoInVsIikuY3NzKHsgdHJhbnNmb3JtOiAidHJhbnNsYXRlWSgtIiArIDEwICogYSArICIlKSIgfSk7DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICB9KSwNCiAgICB0KCIuY291bnRlciIpLmxlbmd0aCA+IDAgJiYNCiAgICAgICAgdChkb2N1bWVudCkub24oImFwcGVhciIsICIuY291bnRlciIsIGZ1bmN0aW9uIChlKSB7DQogICAgICAgICAgICB2YXIgYSA9IHQodGhpcyk7DQogICAgICAgICAgICBpZiAoIWEuaGFzQ2xhc3MoImFwcGVhciIpKSB7DQogICAgICAgICAgICAgICAgdmFyIG8gPSBhLmRhdGEoImNvdW50VG9PcHRpb25zIikgfHwge307DQogICAgICAgICAgICAgICAgYS5jb3VudFRvKG8pLCBhLmFkZENsYXNzKCJhcHBlYXIiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSksDQogICAgdCgiLnByb2dyZXNzLWJhciIpLmxlbmd0aCA+IDAgJiYNCiAgICAgICAgdChkb2N1bWVudCkub24oImFwcGVhciIsICIucHJvZ3Jlc3MtYmFyIiwgZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgIGlmICghdCh0aGlzKS5oYXNDbGFzcygiYXBwZWFyIikpIHsNCiAgICAgICAgICAgICAgICB0KHRoaXMpLmFkZENsYXNzKCJhcHBlYXIiKTsNCiAgICAgICAgICAgICAgICB2YXIgYSA9IHQodGhpcykuYXR0cigiYXJpYS12YWx1ZW5vdyIpOw0KICAgICAgICAgICAgICAgIHQodGhpcykuYW5pbWF0ZSgNCiAgICAgICAgICAgICAgICAgICAgeyB3aWR0aDogYSArICIlIiB9LA0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMzAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiAic3dpbmciLA0KICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3M6IGZ1bmN0aW9uIChlLCBvLCBpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBwYXJzZUludChhICogbyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdCh0aGlzKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmluZCgic3BhbiIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5odG1sKG4gKyAiJSIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICk7DQogICAgICAgICAgICB9DQogICAgICAgIH0pLA0KICAgIHQoIi5waWUtY2hhcnQtc3R5bGUtMDEiKS5sZW5ndGggPiAwKSAmJg0KICAgICAgICB0KGRvY3VtZW50LmJvZHkpLm9uKCJhcHBlYXIiLCAiLnBpZS1jaGFydC1zdHlsZS0wMSIsIGZ1bmN0aW9uIChlKSB7DQogICAgICAgICAgICB0KCIucGllLWNoYXJ0LXN0eWxlLTAxIikuZWFzeVBpZUNoYXJ0KHsNCiAgICAgICAgICAgICAgICB0cmFja0NvbG9yOiAiIzIzMjMyMyIsDQogICAgICAgICAgICAgICAgc2NhbGVDb2xvcjogIiIsDQogICAgICAgICAgICAgICAgbGluZUNhcDogInJvdW5kIiwNCiAgICAgICAgICAgICAgICBsaW5lV2lkdGg6IDEwLA0KICAgICAgICAgICAgICAgIHNpemU6IDE4MCwNCiAgICAgICAgICAgICAgICBiYXJDb2xvcjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAoYSA9IHQodGhpcy5lbCkuYXR0cigiZGF0YS1zdGFydC1jb2xvciIpIHx8IHQodGhpcy5lbCkuYXR0cigiZGF0YS1iYXItY29sb3IiKSB8fCAiIzAwMCIpLCAobyA9IHQodGhpcy5lbCkuYXR0cigiZGF0YS1lbmQtY29sb3IiKSB8fCB0KHRoaXMuZWwpLmF0dHIoImRhdGEtYmFyLWNvbG9yIikgfHwgIiMwMDAiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnJlbmRlcmVyLmdldEN0eCgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgaSA9IHRoaXMucmVuZGVyZXIuZ2V0Q2FudmFzKCksDQogICAgICAgICAgICAgICAgICAgICAgICBuID0gZS5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCBpLndpZHRoLCAyNzApOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbi5hZGRDb2xvclN0b3AoMC4yLCBhKSwgbi5hZGRDb2xvclN0b3AoMCwgbyksIG47DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBhbmltYXRlOiB7IGR1cmF0aW9uOiAyZTMsIGVuYWJsZWQ6ICEwIH0sDQogICAgICAgICAgICAgICAgb25TdGVwOiBmdW5jdGlvbiAoZSwgYSwgbykgew0KICAgICAgICAgICAgICAgICAgICB0KHRoaXMuZWwpDQogICAgICAgICAgICAgICAgICAgICAgICAuZmluZCgiLnBlcmNlbnQiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgLnRleHQoTWF0aC5yb3VuZChvKSArICIlIik7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9KTsNCiAgICB0KCIucGllLWNoYXJ0LXN0eWxlLTAyIikubGVuZ3RoID4gMCAmJg0KICAgICAgICB0KGRvY3VtZW50LmJvZHkpLm9uKCJhcHBlYXIiLCAiLnBpZS1jaGFydC1zdHlsZS0wMiIsIGZ1bmN0aW9uIChlKSB7DQogICAgICAgICAgICB0KCIucGllLWNoYXJ0LXN0eWxlLTAyIikuZWFzeVBpZUNoYXJ0KHsNCiAgICAgICAgICAgICAgICB0cmFja0NvbG9yOiAiIzIzMjMyMyIsDQogICAgICAgICAgICAgICAgc2NhbGVDb2xvcjogIiIsDQogICAgICAgICAgICAgICAgbGluZUNhcDogInJvdW5kIiwNCiAgICAgICAgICAgICAgICBsaW5lV2lkdGg6IDEwLA0KICAgICAgICAgICAgICAgIHNpemU6IDE0MCwNCiAgICAgICAgICAgICAgICBiYXJDb2xvcjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAoYSA9IHQodGhpcy5lbCkuYXR0cigiZGF0YS1zdGFydC1jb2xvciIpIHx8IHQodGhpcy5lbCkuYXR0cigiZGF0YS1iYXItY29sb3IiKSB8fCAiIzAwMCIpLCAobyA9IHQodGhpcy5lbCkuYXR0cigiZGF0YS1lbmQtY29sb3IiKSB8fCB0KHRoaXMuZWwpLmF0dHIoImRhdGEtYmFyLWNvbG9yIikgfHwgIiMwMDAiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLnJlbmRlcmVyLmdldEN0eCgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgaSA9IHRoaXMucmVuZGVyZXIuZ2V0Q2FudmFzKCksDQogICAgICAgICAgICAgICAgICAgICAgICBuID0gZS5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCBpLndpZHRoLCAyNzApOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbi5hZGRDb2xvclN0b3AoMC4yLCBhKSwgbi5hZGRDb2xvclN0b3AoMCwgbyksIG47DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBhbmltYXRlOiB7IGR1cmF0aW9uOiAyZTMsIGVuYWJsZWQ6ICEwIH0sDQogICAgICAgICAgICAgICAgb25TdGVwOiBmdW5jdGlvbiAoZSwgYSwgbykgew0KICAgICAgICAgICAgICAgICAgICB0KHRoaXMuZWwpDQogICAgICAgICAgICAgICAgICAgICAgICAuZmluZCgiLnBlcmNlbnQiKQ0KICAgICAgICAgICAgICAgICAgICAgICAgLnRleHQoTWF0aC5yb3VuZChvKSArICIlIik7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9KTsNCiAgICBpZiAoDQogICAgICAgICh0KGRvY3VtZW50KS5vbigiY2xpY2siLCAiLnF0eS1wbHVzIiwgZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgICAgIHZhciBhID0gdCh0aGlzKS5hdHRyKCJkYXRhLWZpZWxkIiksDQogICAgICAgICAgICAgICAgbyA9IHBhcnNlSW50KA0KICAgICAgICAgICAgICAgICAgICB0KHRoaXMpDQogICAgICAgICAgICAgICAgICAgICAgICAuY2xvc2VzdCgiLnF1YW50aXR5IikNCiAgICAgICAgICAgICAgICAgICAgICAgIC5maW5kKCJpbnB1dFtuYW1lPSIgKyBhICsgIl0iKQ0KICAgICAgICAgICAgICAgICAgICAgICAgLnZhbCgpDQogICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgIGlzTmFOKG8pDQogICAgICAgICAgICAgICAgPyB0KHRoaXMpDQogICAgICAgICAgICAgICAgICAgICAgLmNsb3Nlc3QoIi5xdWFudGl0eSIpDQogICAgICAgICAgICAgICAgICAgICAgLmZpbmQoImlucHV0W25hbWU9IiArIGEgKyAiXSIpDQogICAgICAgICAgICAgICAgICAgICAgLnZhbCgwKQ0KICAgICAgICAgICAgICAgIDogdCh0aGlzKQ0KICAgICAgICAgICAgICAgICAgICAgIC5jbG9zZXN0KCIucXVhbnRpdHkiKQ0KICAgICAgICAgICAgICAgICAgICAgIC5maW5kKCJpbnB1dFtuYW1lPSAiICsgYSArICJdIikNCiAgICAgICAgICAgICAgICAgICAgICAudmFsKG8gKyAxKSwNCiAgICAgICAgICAgICAgICB0KHRoaXMpLmNsb3Nlc3QoIi5xdWFudGl0eSIpLmZpbmQoIi5pbnB1dC10ZXh0IikudHJpZ2dlcigiY2hhbmdlIik7DQogICAgICAgIH0pLA0KICAgICAgICB0KGRvY3VtZW50KS5vbigiY2xpY2siLCAiLnF0eS1taW51cyIsIGZ1bmN0aW9uIChlKSB7DQogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgICAgICB2YXIgYSA9IHQodGhpcykuYXR0cigiZGF0YS1maWVsZCIpLA0KICAgICAgICAgICAgICAgIG8gPSBwYXJzZUludCgNCiAgICAgICAgICAgICAgICAgICAgdCh0aGlzKQ0KICAgICAgICAgICAgICAgICAgICAgICAgLmNsb3Nlc3QoIi5xdWFudGl0eSIpDQogICAgICAgICAgICAgICAgICAgICAgICAuZmluZCgiaW5wdXRbbmFtZT0gIiArIGEgKyAiXSIpDQogICAgICAgICAgICAgICAgICAgICAgICAudmFsKCkNCiAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgIWlzTmFOKG8pICYmIG8gPiAwDQogICAgICAgICAgICAgICAgPyB0KHRoaXMpDQogICAgICAgICAgICAgICAgICAgICAgLmNsb3Nlc3QoIi5xdWFudGl0eSIpDQogICAgICAgICAgICAgICAgICAgICAgLmZpbmQoImlucHV0W25hbWU9IiArIGEgKyAiXSIpDQogICAgICAgICAgICAgICAgICAgICAgLnZhbChvIC0gMSkNCiAgICAgICAgICAgICAgICA6IHQodGhpcykNCiAgICAgICAgICAgICAgICAgICAgICAuY2xvc2VzdCgiLnF1YW50aXR5IikNCiAgICAgICAgICAgICAgICAgICAgICAuZmluZCgiaW5wdXRbbmFtZT0iICsgYSArICJdIikNCiAgICAgICAgICAgICAgICAgICAgICAudmFsKDApLA0KICAgICAgICAgICAgICAgIHQodGhpcykuY2xvc2VzdCgiLnF1YW50aXR5IikuZmluZCgiLmlucHV0LXRleHQiKS50cmlnZ2VyKCJjaGFuZ2UiKTsNCiAgICAgICAgfSksDQogICAgICAgIHQoJ1tkYXRhLXRvZ2dsZT0idG9vbHRpcCJdJykubGVuZ3RoID4gMCAmJiB0KCdbZGF0YS10b2dnbGU9InRvb2x0aXAiXScpLnRvb2x0aXAoKSwNCiAgICAgICAgdCgiLnRpbHQtYm94IikubGVuZ3RoID4gMCAmJg0KICAgICAgICAgICAgIWggJiYNCiAgICAgICAgICAgIHQoIi50aWx0LWJveCIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKSwNCiAgICAgICAgICAgICAgICAgICAgYSA9IGUuYXR0cigiZGF0YS10aWx0LW9wdGlvbnMiKSB8fCAneyAibWF4VGlsdCI6IDIwLCAicGVyc3BlY3RpdmUiOiAxMDAwLCAiZWFzaW5nIjogImN1YmljLWJlemllciguMDMsLjk4LC41MiwuOTkpIiwgInNjYWxlIjogMSwgInNwZWVkIjogNTAwLCAidHJhbnNpdGlvbiI6IHRydWUsICJyZXNldCI6IHRydWUsICJnbGFyZSI6IGZhbHNlLCAibWF4R2xhcmUiOiAxIH0nOw0KICAgICAgICAgICAgICAgIG51bGwgIT0gYSAmJiAoKGEgPSB0LnBhcnNlSlNPTihhKSksIGUudGlsdChhKSk7DQogICAgICAgICAgICB9KSwNCiAgICAgICAgdCgiLmp1c3RpZmllZC1nYWxsZXJ5IikubGVuZ3RoID4gMCAmJg0KICAgICAgICAgICAgdCgiLmp1c3RpZmllZC1nYWxsZXJ5IikuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFyIGUgPSB0KHRoaXMpLA0KICAgICAgICAgICAgICAgICAgICBhID0gZS5hdHRyKCJkYXRhLWp1c3RpZmllZC1vcHRpb25zIikgfHwgJ3sgInJvd0hlaWdodCI6IDUwMCwgIm1heFJvd0hlaWdodCI6IGZhbHNlLCAiY2FwdGlvbnMiOiB0cnVlLCAibWFyZ2lucyI6IDE1LCAid2FpdFRodW1ibmFpbHNMb2FkIjogdHJ1ZSB9JzsNCiAgICAgICAgICAgICAgICBudWxsICE9IGEgJiYNCiAgICAgICAgICAgICAgICAgICAgZS5pbWFnZXNMb2FkZWQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgKGEgPSB0LnBhcnNlSlNPTihhKSksIGUuanVzdGlmaWVkR2FsbGVyeShhKTsNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9KSwNCiAgICAgICAgaCB8fA0KICAgICAgICAgICAgKHQoZG9jdW1lbnQpLm9uKCJtb3VzZW1vdmUiLCAiLmpnLWVudHJ5IiwgZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgYSA9IHQodGhpcykud2lkdGgoKSwNCiAgICAgICAgICAgICAgICAgICAgbyA9IHQodGhpcykuZmluZCgiLmpnLWNhcHRpb24iKS53aWR0aCgpLA0KICAgICAgICAgICAgICAgICAgICBpID0gdCh0aGlzKS5maW5kKCIuY2FwdGlvbiIpLmh0bWwoKSwNCiAgICAgICAgICAgICAgICAgICAgbiA9IHQodGhpcykub2Zmc2V0KCksDQogICAgICAgICAgICAgICAgICAgIHIgPSBlLnBhZ2VYIC0gbi5sZWZ0ICsgMjAsDQogICAgICAgICAgICAgICAgICAgIHMgPSBlLnBhZ2VZIC0gbi50b3A7DQogICAgICAgICAgICAgICAgciArIG8gKyAzMCA+IGEgJiYgKHIgPSByIC0gbyAtIDY1KSwNCiAgICAgICAgICAgICAgICAgICAgdCh0aGlzKS5jc3MoIm92ZXJmbG93IiwgInZpc2libGUiKSwNCiAgICAgICAgICAgICAgICAgICAgdCh0aGlzKQ0KICAgICAgICAgICAgICAgICAgICAgICAgLmZpbmQoIi5qZy1jYXB0aW9uIikNCiAgICAgICAgICAgICAgICAgICAgICAgIC5odG1sKGkpDQogICAgICAgICAgICAgICAgICAgICAgICAuc2hvdygpDQogICAgICAgICAgICAgICAgICAgICAgICAuY3NzKHsgbGVmdDogciArICJweCIsIHJpZ2h0OiAiYXV0byIsIHRvcDogcyArICJweCIsIGJvdHRvbTogImF1dG8iIH0pOw0KICAgICAgICAgICAgfSksDQogICAgICAgICAgICB0KGRvY3VtZW50KS5vbigibW91c2VsZWF2ZSIsICIuamctZW50cnkiLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgIHQodGhpcykuY3NzKCJvdmVyZmxvdyIsICIgIiksIHQodGhpcykuZmluZCgiLmpnLWNhcHRpb24iKS5oaWRlKCkuY3NzKHsgbGVmdDogIiAiLCByaWdodDogIiAiLCB0b3A6ICIgIiwgYm90dG9tOiAiICIgfSk7DQogICAgICAgICAgICB9KSksDQogICAgICAgIHQoIi5hY2NvcmRpb24tZXZlbnQiKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKSwNCiAgICAgICAgICAgICAgICBhID0gZS5hdHRyKCJkYXRhLWFjdGl2ZS1pY29uIikgfHwgIiIsDQogICAgICAgICAgICAgICAgbyA9IGUuYXR0cigiZGF0YS1pbmFjdGl2ZS1pY29uIikgfHwgIiI7DQogICAgICAgICAgICB0KCIuY29sbGFwc2UiLCB0aGlzKQ0KICAgICAgICAgICAgICAgIC5vbigic2hvdy5icy5jb2xsYXBzZSIsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0KHRoaXMpLmF0dHIoImlkIik7DQogICAgICAgICAgICAgICAgICAgIHQoJ2FbaHJlZj0iIycgKyBlICsgJyJdJykNCiAgICAgICAgICAgICAgICAgICAgICAgIC5jbG9zZXN0KCIucGFuZWwtaGVhZGluZyIpDQogICAgICAgICAgICAgICAgICAgICAgICAuYWRkQ2xhc3MoImFjdGl2ZS1hY2NvcmRpb24iKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHQoJ2FbaHJlZj0iIycgKyBlICsgJyJdIC5wYW5lbC10aXRsZSBpJykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYWRkQ2xhc3MoYSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucmVtb3ZlQ2xhc3Mobyk7DQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAub24oImhpZGUuYnMuY29sbGFwc2UiLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKS5hdHRyKCJpZCIpOw0KICAgICAgICAgICAgICAgICAgICB0KCdhW2hyZWY9IiMnICsgZSArICciXScpDQogICAgICAgICAgICAgICAgICAgICAgICAuY2xvc2VzdCgiLnBhbmVsLWhlYWRpbmciKQ0KICAgICAgICAgICAgICAgICAgICAgICAgLnJlbW92ZUNsYXNzKCJhY3RpdmUtYWNjb3JkaW9uIiksDQogICAgICAgICAgICAgICAgICAgICAgICB0KCdhW2hyZWY9IiMnICsgZSArICciXSAucGFuZWwtdGl0bGUgaScpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLmFkZENsYXNzKG8pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlbW92ZUNsYXNzKGEpOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICB9KSwNCiAgICAgICAgdCgiLmNoZWNrb3V0LWFjY29yZGlvbiBsYWJlbCBpbnB1dCIpLm9uKCJjbGljayIsIGZ1bmN0aW9uIChlKSB7DQogICAgICAgICAgICB0KHRoaXMpLnBhcmVudCgpLmZpbmQoImEiKS50cmlnZ2VyKCJjbGljayIpOw0KICAgICAgICB9KSwNCiAgICAgICAgdCgnYVtkYXRhLXRvZ2dsZT0idGFiIl0nKS5vbigic2hvd24uYnMudGFiIiwgZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgIHQoIi50YWItY29udGVudCAuYWNjb3JkaW9uLWV2ZW50IikuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdCgiLmNvbGxhcHNlIiwgdGhpcykuY29sbGFwc2UoImhpZGUiKTsNCiAgICAgICAgICAgIH0pLA0KICAgICAgICAgICAgICAgIEwoZCwgITApOw0KICAgICAgICB9KSwNCiAgICAgICAgdCgiLmNvdW50ZG93biIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0KHRoaXMpOw0KICAgICAgICAgICAgZS5jb3VudGRvd24oZS5hdHRyKCJkYXRhLWVuZGRhdGUiKSkub24oInVwZGF0ZS5jb3VudGRvd24iLCBmdW5jdGlvbiAodCkgew0KICAgICAgICAgICAgICAgIGUuaHRtbCgNCiAgICAgICAgICAgICAgICAgICAgdC5zdHJmdGltZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJjb3VudGRvd24tY29udGFpbmVyIj48ZGl2IGNsYXNzPSJjb3VudGRvd24tYm94IGZpcnN0Ij48ZGl2IGNsYXNzPSJudW1iZXIiPiUtRDwvZGl2PjxzcGFuPkRheSUhZDwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSJjb3VudGRvd24tYm94Ij48ZGl2IGNsYXNzPSJudW1iZXIiPiVIPC9kaXY+PHNwYW4+SG91cnM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iY291bnRkb3duLWJveCI+PGRpdiBjbGFzcz0ibnVtYmVyIj4lTTwvZGl2PjxzcGFuPk1pbnV0ZXM8L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0iY291bnRkb3duLWJveCBsYXN0Ij48ZGl2IGNsYXNzPSJudW1iZXIiPiVTPC9kaXY+PHNwYW4+U2Vjb25kczwvc3Bhbj48L2Rpdj48L2Rpdj4nDQogICAgICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgICApOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pLA0KICAgICAgICB0KCIud293IikubGVuZ3RoID4gMCAmJg0KICAgICAgICAgICAgKChwID0gbmV3IFdPVyh7IGJveENsYXNzOiAid293IiwgYW5pbWF0ZUNsYXNzOiAiYW5pbWF0ZV9fYW5pbWF0ZWQiLCBvZmZzZXQ6IDMwLCBtb2JpbGU6ICExLCBsaXZlOiAhMCB9KSksDQogICAgICAgICAgICB0KGRvY3VtZW50KS5pbWFnZXNMb2FkZWQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHAuaW5pdCgpOw0KICAgICAgICAgICAgfSkpLA0KICAgICAgICB0KCIucG9ydGZvbGlvLXdyYXBwZXIiKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKTsNCiAgICAgICAgICAgICFlLmZpbmQoIi53b3ciKS5sZW5ndGggPiAwICYmIGUuZmluZCgiLmdyaWQtaXRlbSIpLmNzcygidmlzaWJpbGl0eSIsICJoaWRkZW4iKSwNCiAgICAgICAgICAgICAgICBlLmltYWdlc0xvYWRlZChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICFlLmZpbmQoIi53b3ciKS5sZW5ndGggPiAwID8gZS5maW5kKCIuZ3JpZC1pdGVtIikuY3NzKCJ2aXNpYmlsaXR5IiwgIiIpIDogaCB8fCBlLmZpbmQoIi5ncmlkLWl0ZW0iKS5jc3MoInZpc2liaWxpdHkiLCAiaGlkZGVuIiksDQogICAgICAgICAgICAgICAgICAgICAgICBlLnJlbW92ZUNsYXNzKCJncmlkLWxvYWRpbmciKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGUuaXNvdG9wZSh7IGxheW91dE1vZGU6ICJtYXNvbnJ5IiwgaXRlbVNlbGVjdG9yOiAiLmdyaWQtaXRlbSIsIHBlcmNlbnRQb3NpdGlvbjogITAsIHN0YWdnZXI6IDAsIG1hc29ucnk6IHsgY29sdW1uV2lkdGg6ICIuZ3JpZC1zaXplciIgfSB9KSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGQucHVzaChlKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgfSksDQogICAgICAgIHQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIucG9ydGZvbGlvLWZpbHRlciA+IGxpID4gYSIsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKSwNCiAgICAgICAgICAgICAgICBhID0gZS5wYXJlbnRzKCJzZWN0aW9uIik7DQogICAgICAgICAgICBhLmZpbmQoIi5wb3J0Zm9saW8tZmlsdGVyID4gbGkiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksIGUucGFyZW50KCkuYWRkQ2xhc3MoImFjdGl2ZSIpOw0KICAgICAgICAgICAgdmFyIG8gPSBlLmF0dHIoImRhdGEtZmlsdGVyIiksDQogICAgICAgICAgICAgICAgaSA9IGEuZmluZCgiLnBvcnRmb2xpby13cmFwcGVyIik7DQogICAgICAgICAgICByZXR1cm4gcShpKSwgaS5pc290b3BlKHsgZmlsdGVyOiBvIH0pLCAhMTsNCiAgICAgICAgfSksDQogICAgICAgIHQoIi5ibG9nLXdyYXBwZXIiKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKTsNCiAgICAgICAgICAgICFlLmZpbmQoIi53b3ciKS5sZW5ndGggPiAwICYmIGUuZmluZCgiLmdyaWQtaXRlbSIpLmNzcygidmlzaWJpbGl0eSIsICJoaWRkZW4iKSwNCiAgICAgICAgICAgICAgICBlLmltYWdlc0xvYWRlZChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICFlLmZpbmQoIi53b3ciKS5sZW5ndGggPiAwID8gZS5maW5kKCIuZ3JpZC1pdGVtIikuY3NzKCJ2aXNpYmlsaXR5IiwgIiIpIDogaCB8fCBlLmZpbmQoIi5ncmlkLWl0ZW0iKS5jc3MoInZpc2liaWxpdHkiLCAiaGlkZGVuIiksDQogICAgICAgICAgICAgICAgICAgICAgICBlLnJlbW92ZUNsYXNzKCJncmlkLWxvYWRpbmciKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGUuaXNvdG9wZSh7IGxheW91dE1vZGU6ICJtYXNvbnJ5IiwgaXRlbVNlbGVjdG9yOiAiLmdyaWQtaXRlbSIsIHBlcmNlbnRQb3NpdGlvbjogITAsIHN0YWdnZXI6IDAsIG1hc29ucnk6IHsgY29sdW1uV2lkdGg6ICIuZ3JpZC1zaXplciIgfSB9KSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGQucHVzaChlKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgfSksDQogICAgICAgIHQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIuYmxvZy1maWx0ZXIgPiBsaSA+IGEiLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YXIgZSA9IHQodGhpcyksDQogICAgICAgICAgICAgICAgYSA9IGUucGFyZW50cygic2VjdGlvbiIpOw0KICAgICAgICAgICAgYS5maW5kKCIuYmxvZy1maWx0ZXIgPiBsaSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSwgZS5wYXJlbnQoKS5hZGRDbGFzcygiYWN0aXZlIik7DQogICAgICAgICAgICB2YXIgbyA9IGUuYXR0cigiZGF0YS1maWx0ZXIiKSwNCiAgICAgICAgICAgICAgICBpID0gYS5maW5kKCIuYmxvZy13cmFwcGVyIik7DQogICAgICAgICAgICByZXR1cm4gcShpKSwgaS5pc290b3BlKHsgZmlsdGVyOiBvIH0pLCAhMTsNCiAgICAgICAgfSksDQogICAgICAgIHQoIi5zaG9wLXdyYXBwZXIiKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKTsNCiAgICAgICAgICAgICFlLmZpbmQoIi53b3ciKS5sZW5ndGggPiAwICYmIGUuZmluZCgiLmdyaWQtaXRlbSIpLmNzcygidmlzaWJpbGl0eSIsICJoaWRkZW4iKSwNCiAgICAgICAgICAgICAgICBlLmltYWdlc0xvYWRlZChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICFlLmZpbmQoIi53b3ciKS5sZW5ndGggPiAwID8gZS5maW5kKCIuZ3JpZC1pdGVtIikuY3NzKCJ2aXNpYmlsaXR5IiwgIiIpIDogaCB8fCBlLmZpbmQoIi5ncmlkLWl0ZW0iKS5jc3MoInZpc2liaWxpdHkiLCAiaGlkZGVuIiksDQogICAgICAgICAgICAgICAgICAgICAgICBlLnJlbW92ZUNsYXNzKCJncmlkLWxvYWRpbmciKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGUuaXNvdG9wZSh7IGxheW91dE1vZGU6ICJtYXNvbnJ5IiwgaXRlbVNlbGVjdG9yOiAiLmdyaWQtaXRlbSIsIHBlcmNlbnRQb3NpdGlvbjogITAsIHN0YWdnZXI6IDAsIG1hc29ucnk6IHsgY29sdW1uV2lkdGg6ICIuZ3JpZC1zaXplciIgfSB9KSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGQucHVzaChlKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgfSksDQogICAgICAgIHQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIuc2hvcC1maWx0ZXIgPiBsaSA+IGEiLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YXIgZSA9IHQodGhpcyksDQogICAgICAgICAgICAgICAgYSA9IGUucGFyZW50cygic2VjdGlvbiIpOw0KICAgICAgICAgICAgYS5maW5kKCIuc2hvcC1maWx0ZXIgPiBsaSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSwgZS5wYXJlbnQoKS5hZGRDbGFzcygiYWN0aXZlIik7DQogICAgICAgICAgICB2YXIgbyA9IGUuYXR0cigiZGF0YS1maWx0ZXIiKSwNCiAgICAgICAgICAgICAgICBpID0gYS5maW5kKCIuc2hvcC13cmFwcGVyIik7DQogICAgICAgICAgICByZXR1cm4gcShpKSwgaS5pc290b3BlKHsgZmlsdGVyOiBvIH0pLCAhMTsNCiAgICAgICAgfSksDQogICAgICAgIHQoIi5pbnN0YWZlZWQtd3JhcHBlciIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIGUgPSAiSUdRVkpWU1hKUGRVWkFDUlc5R2VWcEhkRGRPUlVneVEwdFNNbXRDTUY5VGRuaFVhRkJvUWpkYVJsVkZaQW01UFEzbDBXVGhvVFdnemJVNWtiVkYzVGtFMFgxRlljbVpBc1ZHMWtiRTlaQVNFWTRUVmxwZG1SclYzUnRjMGgzTTBwZlpBRGRYZVY4NVVXZERSalJUV2pWNVpBMEZSU2daRFpEIiwNCiAgICAgICAgICAgICAgICBhID0gdCh0aGlzKSwNCiAgICAgICAgICAgICAgICBvID0gKChlID0gYS5hdHRyKCJkYXRhLXRva2VuIikgfHwgZSksIGEuYXR0cigiZGF0YS10b3RhbCIpIHx8ICI2IiksDQogICAgICAgICAgICAgICAgaSA9IGEuYXR0cigiZGF0YS1zbGlkZXItb3B0aW9ucyIpLA0KICAgICAgICAgICAgICAgIG4gPSBhLmh0bWwoKSwNCiAgICAgICAgICAgICAgICByID0gIiI7DQogICAgICAgICAgICBudWxsICE9IGkgJiYgYS5odG1sKCIiKSwNCiAgICAgICAgICAgICAgICB0LmFqYXgoew0KICAgICAgICAgICAgICAgICAgICB1cmw6ICJodHRwczovL2dyYXBoLmluc3RhZ3JhbS5jb20vbWUvbWVkaWE/ZmllbGRzPWlkLG1lZGlhX3R5cGUsbWVkaWFfdXJsLHRpbWVzdGFtcCxwZXJtYWxpbmssY29tbWVudHNfY291bnQsbGlrZV9jb3VudCZhY2Nlc3NfdG9rZW49IiArIGUsDQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICJHRVQiLA0KICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgcyBpbiAoKHIgKz0gYS5maW5kKCIuZ3JpZC1pdGVtIikubGVuZ3RoID4gMCA/ICc8bGkgY2xhc3M9ImdyaWQtc2l6ZXIiPjwvbGk+JyA6ICIiKSwgZS5kYXRhKSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocyA8IHBhcnNlSW50KG8pICYmICJJTUFHRSIgPT0gZS5kYXRhW3NdLm1lZGlhX3R5cGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGwgPSBlLmRhdGFbc10ucGVybWFsaW5rIHx8ICIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYyA9IGUuZGF0YVtzXS5tZWRpYV91cmwgfHwgIiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwID0gZS5kYXRhW3NdLmxpa2VfY291bnQgfHwgIiIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1ID0gZS5kYXRhW3NdLmNvbW1lbnRzX2NvdW50IHx8ICIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbSA9IG47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtID0gKG0gPSAobSA9IChtID0gKG0gPSAobSA9IChtID0gKG0gPSBtLnJlcGxhY2UoJyBocmVmPSIjIicsICIiKSkucmVwbGFjZSgnIHNyYz0iIyInLCAiIikpLnJlcGxhY2UoImRhdGEtaHJlZiIsICJocmVmIikpLnJlcGxhY2UoImRhdGEtc3JjIiwgInNyYyIpKS5yZXBsYWNlKCJ7e2xpbmt9fSIsIGwpKS5yZXBsYWNlKCJ7e2ltYWdlfX0iLCBjKSkucmVwbGFjZSgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ7e2xpa2VzfX0iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKS5yZXBsYWNlKCJ7e2NvbW1lbnRzfX0iLCB1KSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAociArPSBtKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGEuaHRtbChyKSwgbnVsbCAhPSBpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBnID0gdC5wYXJzZUpTT04oaSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYgPSBhLnBhcmVudCgiLnN3aXBlci1jb250YWluZXIiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgU3dpcGVyKGYsIGcpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIWEuZmluZCgiLndvdyIpLmxlbmd0aCA+IDAgJiYgYS5maW5kKCIuZ3JpZC1pdGVtIikuY3NzKCJ2aXNpYmlsaXR5IiwgImhpZGRlbiIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLmltYWdlc0xvYWRlZChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhYS5maW5kKCIud293IikubGVuZ3RoID4gMCA/IGEuZmluZCgiLmdyaWQtaXRlbSIpLmNzcygidmlzaWJpbGl0eSIsICIiKSA6IGggfHwgYS5maW5kKCIuZ3JpZC1pdGVtIikuY3NzKCJ2aXNpYmlsaXR5IiwgImhpZGRlbiIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEucmVtb3ZlQ2xhc3MoImdyaWQtbG9hZGluZyIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEuaXNvdG9wZSh7IGxheW91dE1vZGU6ICJtYXNvbnJ5IiwgaXRlbVNlbGVjdG9yOiAiLmdyaWQtaXRlbSIsIHBlcmNlbnRQb3NpdGlvbjogITAsIHN0YWdnZXI6IDAsIG1hc29ucnk6IHsgY29sdW1uV2lkdGg6ICIuZ3JpZC1zaXplciIgfSB9KSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkLnB1c2goYSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJjb2wtMTIiPjxzcGFuIGNsYXNzPXRleHQtY2VudGVyPk5vIEltYWdlcyBGb3VuZDwvc3Bhbj48L2Rpdj4nKTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgfSksDQogICAgICAgIHQoIi5mdWxsc2NyZWVuLWhvdmVyLWxpc3QgLmhvdmVyLWxpc3QtaXRlbSIpLmxlbmd0aCA+IDApDQogICAgKSB7DQogICAgICAgIHZhciB1ID0gaCA/ICJjbGljayIgOiAibW91c2VvdmVyIjsNCiAgICAgICAgdChkb2N1bWVudCkub24odSwgIi5mdWxsc2NyZWVuLWhvdmVyLWxpc3QgLmhvdmVyLWxpc3QtaXRlbSBhIiwgZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgIGlmICghdCh0aGlzKS5wYXJlbnQoKS5oYXNDbGFzcygiYWN0aXZlIikpIHJldHVybiB0KCIuZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0iKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksIHQodGhpcykucGFyZW50KCkuYWRkQ2xhc3MoImFjdGl2ZSIpLCAhMTsNCiAgICAgICAgfSk7DQogICAgfQ0KICAgIGlmICh0KCIucG9ydGZvbGlvLWNvbG9yZnVsIikubGVuZ3RoID4gMCkNCiAgICAgICAgZm9yICgNCiAgICAgICAgICAgIHZhciBtID0gdCgiLnBvcnRmb2xpby1jb2xvcmZ1bCIpLmZpbmQoIi5ncmlkLWl0ZW0iKS5sZW5ndGgsIGcgPSB0KCIucG9ydGZvbGlvLWNvbG9yZnVsIikuYXR0cigiZGF0YS1iYWNrZ3JvdW5kY29sb3IiKSB8fCAiIzJlOTRlYiIsIGYgPSB0KCIucG9ydGZvbGlvLWNvbG9yZnVsIikuYXR0cigiZGF0YS1vcGFjaXR5IikgfHwgMSwgdiA9ICh4ID0gZy5zcGxpdCgiLCIpKS5sZW5ndGgsIGIgPSAwOw0KICAgICAgICAgICAgYiA8IG07DQogICAgICAgICAgICBiKysNCiAgICAgICAgKSB7DQogICAgICAgICAgICB2YXIgdyA9IHhbYl0sDQogICAgICAgICAgICAgICAgeSA9ICJyZ2JhKCIgKyBwYXJzZUludCh3LnNsaWNlKC02LCAtNCksIDE2KSArICIsIiArIHBhcnNlSW50KHcuc2xpY2UoLTQsIC0yKSwgMTYpICsgIiwiICsgcGFyc2VJbnQody5zbGljZSgtMiksIDE2KSArICIsIiArIGYgKyAiKSI7DQogICAgICAgICAgICB0KCIucG9ydGZvbGlvLWNvbG9yZnVsIikNCiAgICAgICAgICAgICAgICAuZmluZCgiLnBvcnRmb2xpby1ob3ZlcjplcSgiICsgYiArICIpIikNCiAgICAgICAgICAgICAgICAuY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIiwgeSksDQogICAgICAgICAgICAgICAgdiA8IG0gJiYgeC5wdXNoKHhbYl0pOw0KICAgICAgICB9DQogICAgaWYgKHQoIi5wYWdlLXRpdGxlLWNvbG9yZnVsIikubGVuZ3RoID4gMCkgew0KICAgICAgICB2YXIgQywNCiAgICAgICAgICAgIHggPSAoZyA9IHQoIi5wYWdlLXRpdGxlLWNvbG9yZnVsIikuYXR0cigiZGF0YS1iYWNrZ3JvdW5kY29sb3IiKSB8fCAiIzJlOTRlYiIpLnNwbGl0KCIsIiksDQogICAgICAgICAgICBrID0gKCh2ID0gKHggPSBnLnNwbGl0KCIsIikpLmxlbmd0aCksIDEpOw0KICAgICAgICB0KCIucGFnZS10aXRsZS1jb2xvcmZ1bCIpLmNzcyh7ICJiYWNrZ3JvdW5kLWNvbG9yIjogeFswXSB9KSwNCiAgICAgICAgICAgIHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAoQyA9IHhba10pLCB0KCIucGFnZS10aXRsZS1jb2xvcmZ1bCIpLmNzcyh7ICJiYWNrZ3JvdW5kLWNvbG9yIjogQyB9KSwgKytrID09PSB2ICYmIChrID0gMCk7DQogICAgICAgICAgICB9LCA1ZTMpOw0KICAgIH0NCiAgICB0KGRvY3VtZW50KS5vbigiY2xpY2siLCAiLnNlYXJjaC1mb3JtLWljb24iLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICBlLnByZXZlbnREZWZhdWx0KCksIHQodGhpcykucGFyZW50cygiLnRvcC1iYXIiKS5sZW5ndGggPiAwICYmIHQoImJvZHkiKS5hZGRDbGFzcygic2hvdy1zZWFyY2gtcG9wdXAtbWluaS1oZWFkZXIiKSwgdCgiLnNlYXJjaC1mb3JtLXdyYXBwZXIiKS5hZGRDbGFzcygiYWN0aXZlLWZvcm0iKSwgdCgiYm9keSIpLmFkZENsYXNzKCJzaG93LXNlYXJjaC1wb3B1cCIpOw0KICAgIH0pLA0KICAgICAgICB0KGRvY3VtZW50KS5vbigiY2xpY2siLCAiLnNlYXJjaC1jbG9zZSIsIGZ1bmN0aW9uIChlKSB7DQogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCksIHQoIi5zZWFyY2gtZm9ybS13cmFwcGVyIikucmVtb3ZlQ2xhc3MoImFjdGl2ZS1mb3JtIiksIHQodGhpcykucGFyZW50cygiLnRvcC1iYXIiKS5sZW5ndGggPiAwICYmIHQoImJvZHkiKS5yZW1vdmVDbGFzcygic2hvdy1zZWFyY2gtcG9wdXAtbWluaS1oZWFkZXIiKSwgdCgiYm9keSIpLnJlbW92ZUNsYXNzKCJzaG93LXNlYXJjaC1wb3B1cCIpOw0KICAgICAgICB9KSwNCiAgICAgICAgdChkb2N1bWVudCkub24oImNsaWNrIiwgIi5zZWFyY2gtYnV0dG9uIiwgZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIGUgPSAhMCwNCiAgICAgICAgICAgICAgICBhID0gdCh0aGlzKS5wYXJlbnRzKCJmb3JtIik7DQogICAgICAgICAgICByZXR1cm4gKA0KICAgICAgICAgICAgICAgIGEuZmluZCgiaW5wdXRbdHlwZT10ZXh0XSIpLmVhY2goZnVuY3Rpb24gKG8pIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGkgPSB0KHRoaXMpLnZhbCgpOw0KICAgICAgICAgICAgICAgICAgICBudWxsID09PSBpIHx8ICIiID09PSBpID8gKGEuZmluZCgiaW5wdXQ6ZXEoIiArIG8gKyAiKSIpLmFkZENsYXNzKCJzZWFyY2gtZXJyb3IiKSwgKGUgPSAhMSkpIDogYS5maW5kKCJpbnB1dDplcSgiICsgbyArICIpIikucmVtb3ZlQ2xhc3MoInNlYXJjaC1lcnJvciIpOw0KICAgICAgICAgICAgICAgIH0pLA0KICAgICAgICAgICAgICAgIGUNCiAgICAgICAgICAgICk7DQogICAgICAgIH0pLA0KICAgICAgICB0KGRvY3VtZW50KS5vbigiY2xpY2siLCAiLmhlYWRlci1wdXNoLWJ1dHRvbiAucHVzaC1idXR0b24iLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0KCJib2R5IikudG9nZ2xlQ2xhc3MoInNob3ctbWVudSIpLCB0KCJib2R5IikudG9nZ2xlQ2xhc3MoImhhbWJ1cmdlci1zaG93LW1lbnUiKTsNCiAgICAgICAgfSksDQogICAgICAgIHQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIuY2xvc2UtbWVudSIsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE8gfHwNCiAgICAgICAgICAgICAgICAoKE8gPSAhMCksDQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIE8gPSAhMTsNCiAgICAgICAgICAgICAgICB9LCA1MDApLA0KICAgICAgICAgICAgICAgIHQoImJvZHkiKS5yZW1vdmVDbGFzcygic2hvdy1tZW51IikucmVtb3ZlQ2xhc3MoImxlZnQtY2xhc3NpYy1tb2JpbGUtbWVudSIpLA0KICAgICAgICAgICAgICAgIHQoIi5zdWItbWVudS1pdGVtIikuY29sbGFwc2UoImhpZGUiKSwNCiAgICAgICAgICAgICAgICB0KCIubWVudS1saXN0LWl0ZW0ub3BlbiIpLnJlbW92ZUNsYXNzKCJzaG93IikpOw0KICAgICAgICB9KSwNCiAgICAgICAgdChkb2N1bWVudCkub24oInRvdWNoc3RhcnQgY2xpY2siLCAiLnNob3ctbWVudSIsIGZ1bmN0aW9uIChlKSB7DQogICAgICAgICAgICB0KGUudGFyZ2V0KS5oYXNDbGFzcygicHVzaC1idXR0b24iKSB8fCB0KGUudGFyZ2V0KS5jbG9zZXN0KCIucHVzaC1idXR0b24iKS5sZW5ndGggfHwgdChlLnRhcmdldCkuY2xvc2VzdCgiLnB1c2gtbWVudSIpLmxlbmd0aCB8fCB0KGUudGFyZ2V0KS5jbG9zZXN0KCIuaGFtYnVyZ2VyLW1lbnUiKS5sZW5ndGggfHwgdCgiLmNsb3NlLW1lbnUiKS50cmlnZ2VyKCJjbGljayIpOw0KICAgICAgICB9KSwNCiAgICAgICAgdChkb2N1bWVudCkub24oImNsaWNrIiwgIi5zaWRlLW1lbnUtYnV0dG9uIiwgZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdCgiYm9keSIpLnRvZ2dsZUNsYXNzKCJzaG93LW1lbnUiKSwgdCgiLmxlZnQtc2lkZWJhci13cmFwcGVyIikubGVuZ3RoID4gMCAmJiBqKCkgPD0gaSAmJiB0KCJib2R5IikudG9nZ2xlQ2xhc3MoImxlZnQtY2xhc3NpYy1tb2JpbGUtbWVudSIpLCB0KCIuc3ViLW1lbnUtaXRlbSIpLmNvbGxhcHNlKCJoaWRlIiksIHQoIi5tZW51LWxpc3QtaXRlbS5vcGVuIikucmVtb3ZlQ2xhc3MoInNob3ciKTsNCiAgICAgICAgfSksDQogICAgICAgIHQoZG9jdW1lbnQpLm9uKCJrZXlkb3duIiwgZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgIDI3ID09PSBlLmtleUNvZGUgJiYgKHQoIi5jbG9zZS1tZW51IikudHJpZ2dlcigiY2xpY2siKSwgdCh3aW5kb3cpLnRyaWdnZXIoImNsb3NlbWVudSIpKTsNCiAgICAgICAgfSksDQogICAgICAgIHQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIuc2Nyb2xsLXRvcC1hcnJvdyIsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiB0KCJodG1sLCBib2R5IikuYW5pbWF0ZSh7IHNjcm9sbFRvcDogMCB9LCA4MDApLCAhMTsNCiAgICAgICAgfSk7DQogICAgaWYgKA0KICAgICAgICAodCgiYS5zY3JvbGx0byIpLmJpbmQoImNsaWNrLnNtb290aHNjcm9sbCIsIGZ1bmN0aW9uIChlKSB7DQogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgICAgICB2YXIgYSA9IHRoaXMuaGFzaDsNCiAgICAgICAgICAgIDAgIT09IHQoYSkubGVuZ3RoICYmDQogICAgICAgICAgICAgICAgdCgiaHRtbCwgYm9keSIpDQogICAgICAgICAgICAgICAgICAgIC5zdG9wKCkNCiAgICAgICAgICAgICAgICAgICAgLmFuaW1hdGUoeyBzY3JvbGxUb3A6IHQoYSkub2Zmc2V0KCkudG9wIH0sIDEyMDAsICJlYXNlSW5PdXRFeHBvIiwgZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSBhOw0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgfSksDQogICAgICAgIHQoIi5uYXZiYXItcmV2ZXJzZS1zY3JvbGwiKS5sZW5ndGggPiAwDQogICAgICAgICAgICA/IHQoIi5pbm5lci1saW5rIikuc21vb3RoU2Nyb2xsKHsNCiAgICAgICAgICAgICAgICAgIHNwZWVkOiA5MDAsDQogICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsDQogICAgICAgICAgICAgICAgICBiZWZvcmVTY3JvbGw6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICB0KCIubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNlIikuY29sbGFwc2UoImhpZGUiKTsNCiAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgIH0pDQogICAgICAgICAgICA6IHQoIi5pbm5lci1saW5rIikuc21vb3RoU2Nyb2xsKHsNCiAgICAgICAgICAgICAgICAgIHNwZWVkOiA5MDAsDQogICAgICAgICAgICAgICAgICBvZmZzZXQ6IC01OSwNCiAgICAgICAgICAgICAgICAgIGJlZm9yZVNjcm9sbDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgIHQoIi5uYXZiYXItY29sbGFwc2UuY29sbGFwc2UiKS5jb2xsYXBzZSgiaGlkZSIpOw0KICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgfSksDQogICAgICAgIHQoIi5zZWN0aW9uLWxpbmsiKS5zbW9vdGhTY3JvbGwoew0KICAgICAgICAgICAgc3BlZWQ6IDkwMCwNCiAgICAgICAgICAgIG9mZnNldDogMSwNCiAgICAgICAgICAgIGJlZm9yZVNjcm9sbDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHQoIi5uYXZiYXItY29sbGFwc2UuY29sbGFwc2UiKS5jb2xsYXBzZSgiaGlkZSIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgfSksDQogICAgICAgIHQoIiNzdWJzY3JpYmUtcG9wdXAiKS5sZW5ndGggPiAwKQ0KICAgICkgew0KICAgICAgICAic2hvd24iICE9DQogICAgICAgICAgICAoZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgICAgICBmb3IgKHZhciB0ID0gZSArICI9IiwgYSA9IGRlY29kZVVSSUNvbXBvbmVudChkb2N1bWVudC5jb29raWUpLnNwbGl0KCI7IiksIG8gPSAwOyBvIDwgYS5sZW5ndGg7IG8rKykgew0KICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gYVtvXTsgIiAiID09IGkuY2hhckF0KDApOyApIGkgPSBpLnN1YnN0cmluZygxKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKDAgPT0gaS5pbmRleE9mKHQpKSByZXR1cm4gaS5zdWJzdHJpbmcodC5sZW5ndGgsIGkubGVuZ3RoKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgcmV0dXJuICIiOw0KICAgICAgICAgICAgfSkoImxpdGhvLXByb21vLXBvcHVwIikgJiYNCiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHQubWFnbmlmaWNQb3B1cC5vcGVuKHsNCiAgICAgICAgICAgICAgICAgICAgc2hvd0Nsb3NlQnRuOiAhMSwNCiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IHsgc3JjOiAiI3N1YnNjcmliZS1wb3B1cCIgfSwNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogImlubGluZSIsDQogICAgICAgICAgICAgICAgICAgIG1haW5DbGFzczogIm15LW1mcC16b29tLWluIiwNCiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICAgICAgICAgICAgICBjbG9zZTogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQoIiNuZXdzbGV0dGVyLW9mZiIpLmlzKCI6Y2hlY2tlZCIpICYmICQoImxpdGhvLXByb21vLXBvcHVwIiwgInNob3duIiwgMzApOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0sIDFlMyk7DQogICAgfQ0KICAgIHQoIi5ub3RpZnktZm9ybS1idXR0b24iKS5tYWduaWZpY1BvcHVwKHsNCiAgICAgICAgbWFpbkNsYXNzOiAibWZwLW5vdGlmeSIsDQogICAgICAgIGNsb3NlT25CZ0NsaWNrOiAhMCwNCiAgICAgICAgcHJlbG9hZGVyOiAhMSwNCiAgICAgICAgZml4ZWRDb250ZW50UG9zOiAhMSwNCiAgICAgICAgcmVtb3ZhbERlbGF5OiAxMDAsDQogICAgICAgIGNsb3NlQnRuSW5zaWRlOiAhMSwNCiAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICBvcGVuOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHQoIi5ub3RpZnktaW5wdXQiKS5mb2N1cygpOw0KICAgICAgICAgICAgICAgIH0sIDEwMCksDQogICAgICAgICAgICAgICAgICAgIHQoIiNub3RpZnlfZm9ybSIpLnBhcmVudCgpLmFkZENsYXNzKCJub3RpZnktcG9wdXAiKSwNCiAgICAgICAgICAgICAgICAgICAgdCgiI25vdGlmeV9mb3JtIikucGFyZW50cygiYm9keSIpLmFkZENsYXNzKCJzaG93LW5vdGlmeS1wb3B1cCIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNsb3NlOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdCgiYm9keSIpLnJlbW92ZUNsYXNzKCJzaG93LW5vdGlmeS1wb3B1cCIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgfSwNCiAgICB9KSwNCiAgICAgICAgdCgiLmxpZ2h0Ym94LWdhbGxlcnkiKS5tYWduaWZpY1BvcHVwKHsNCiAgICAgICAgICAgIGRlbGVnYXRlOiAiYSIsDQogICAgICAgICAgICB0eXBlOiAiaW1hZ2UiLA0KICAgICAgICAgICAgdExvYWRpbmc6ICJMb2FkaW5nIGltYWdlICMlY3VyciUuLi4iLA0KICAgICAgICAgICAgbWFpbkNsYXNzOiAibWZwLWZhZGUiLA0KICAgICAgICAgICAgZml4ZWRDb250ZW50UG9zOiAhMCwNCiAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiAhMSwNCiAgICAgICAgICAgIGdhbGxlcnk6IHsgZW5hYmxlZDogITAsIG5hdmlnYXRlQnlJbWdDbGljazogITAsIHByZWxvYWQ6IFswLCAxXSB9LA0KICAgICAgICB9KTsNCiAgICB2YXIgUCA9IHt9Ow0KICAgIHQoIi5saWdodGJveC1ncm91cC1nYWxsZXJ5LWl0ZW0iKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgdmFyIGUgPSB0KHRoaXMpLmF0dHIoImRhdGEtZ3JvdXAiKTsNCiAgICAgICAgUFtlXSB8fCAoUFtlXSA9IFtdKSwgUFtlXS5wdXNoKHRoaXMpOw0KICAgIH0pLA0KICAgICAgICB0LmVhY2goUCwgZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdCh0aGlzKS5tYWduaWZpY1BvcHVwKHsgdHlwZTogImltYWdlIiwgY2xvc2VPbkNvbnRlbnRDbGljazogITAsIGNsb3NlQnRuSW5zaWRlOiAhMSwgZml4ZWRDb250ZW50UG9zOiAhMCwgZ2FsbGVyeTogeyBlbmFibGVkOiAhMCB9IH0pOw0KICAgICAgICB9KSwNCiAgICAgICAgdCgiLmxpZ2h0Ym94LXBvcnRmb2xpbyIpLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgZGVsZWdhdGU6ICIuZ2FsbGVyeS1saW5rIiwNCiAgICAgICAgICAgIHR5cGU6ICJpbWFnZSIsDQogICAgICAgICAgICB0TG9hZGluZzogIkxvYWRpbmcgaW1hZ2UgIyVjdXJyJS4uLiIsDQogICAgICAgICAgICBtYWluQ2xhc3M6ICJtZnAtZmFkZSIsDQogICAgICAgICAgICBmaXhlZENvbnRlbnRQb3M6ICEwLA0KICAgICAgICAgICAgY2xvc2VCdG5JbnNpZGU6ICExLA0KICAgICAgICAgICAgY2xvc2VPbkNvbnRlbnRDbGljazogITAsDQogICAgICAgICAgICBnYWxsZXJ5OiB7IGVuYWJsZWQ6ICEwLCBuYXZpZ2F0ZUJ5SW1nQ2xpY2s6ICExLCBwcmVsb2FkOiBbMCwgMV0gfSwNCiAgICAgICAgfSksDQogICAgICAgIHQoIi5zaW5nbGUtaW1hZ2UtbGlnaHRib3giKS5tYWduaWZpY1BvcHVwKHsNCiAgICAgICAgICAgIHR5cGU6ICJpbWFnZSIsDQogICAgICAgICAgICBjbG9zZU9uQ29udGVudENsaWNrOiAhMCwNCiAgICAgICAgICAgIGZpeGVkQ29udGVudFBvczogITAsDQogICAgICAgICAgICBjbG9zZUJ0bkluc2lkZTogITEsDQogICAgICAgICAgICBtYWluQ2xhc3M6ICJtZnAtbm8tbWFyZ2lucyBtZnAtd2l0aC16b29tIiwNCiAgICAgICAgICAgIGltYWdlOiB7IHZlcnRpY2FsRml0OiAhMCB9LA0KICAgICAgICAgICAgem9vbTogeyBlbmFibGVkOiAhMCwgZHVyYXRpb246IDMwMCB9LA0KICAgICAgICB9KSwNCiAgICAgICAgdCgiLnpvb20tZ2FsbGVyeSIpLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgZGVsZWdhdGU6ICJhIiwNCiAgICAgICAgICAgIHR5cGU6ICJpbWFnZSIsDQogICAgICAgICAgICBtYWluQ2xhc3M6ICJtZnAtd2l0aC16b29tIG1mcC1pbWctbW9iaWxlIiwNCiAgICAgICAgICAgIGZpeGVkQ29udGVudFBvczogITAsDQogICAgICAgICAgICBjbG9zZUJ0bkluc2lkZTogITEsDQogICAgICAgICAgICBpbWFnZTogew0KICAgICAgICAgICAgICAgIHZlcnRpY2FsRml0OiAhMCwNCiAgICAgICAgICAgICAgICB0aXRsZVNyYzogZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuZWwuYXR0cigidGl0bGUiKTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGdhbGxlcnk6IHsgZW5hYmxlZDogITAgfSwNCiAgICAgICAgICAgIHpvb206IHsNCiAgICAgICAgICAgICAgICBlbmFibGVkOiAhMCwNCiAgICAgICAgICAgICAgICBkdXJhdGlvbjogMzAwLA0KICAgICAgICAgICAgICAgIG9wZW5lcjogZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGUuZmluZCgiaW1nIik7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIH0sDQogICAgICAgIH0pLA0KICAgICAgICB0KCIubW9kYWwtcG9wdXAiKS5tYWduaWZpY1BvcHVwKHsgdHlwZTogImlubGluZSIsIHByZWxvYWRlcjogITEsIGJsYWNrYmc6ICEwIH0pLA0KICAgICAgICB0KGRvY3VtZW50KS5vbigiY2xpY2siLCAiLnBvcHVwLW1vZGFsLWRpc21pc3MiLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpLCB0Lm1hZ25pZmljUG9wdXAuY2xvc2UoKTsNCiAgICAgICAgfSksDQogICAgICAgIHQoIi5wb3B1cC13aXRoLXpvb20tYW5pbSIpLm1hZ25pZmljUG9wdXAoeyB0eXBlOiAiaW5saW5lIiwgZml4ZWRDb250ZW50UG9zOiAhMSwgZml4ZWRCZ1BvczogITAsIG92ZXJmbG93WTogImF1dG8iLCBjbG9zZUJ0bkluc2lkZTogITAsIHByZWxvYWRlcjogITEsIG1pZENsaWNrOiAhMCwgcmVtb3ZhbERlbGF5OiAzMDAsIGJsYWNrYmc6ICEwLCBtYWluQ2xhc3M6ICJteS1tZnAtem9vbS1pbiIgfSksDQogICAgICAgIHQoIi5wb3B1cC13aXRoLW1vdmUtYW5pbSIpLm1hZ25pZmljUG9wdXAoeyB0eXBlOiAiaW5saW5lIiwgZml4ZWRDb250ZW50UG9zOiAhMSwgZml4ZWRCZ1BvczogITAsIG92ZXJmbG93WTogImF1dG8iLCBjbG9zZUJ0bkluc2lkZTogITAsIHByZWxvYWRlcjogITEsIG1pZENsaWNrOiAhMCwgcmVtb3ZhbERlbGF5OiAzMDAsIGJsYWNrYmc6ICEwLCBtYWluQ2xhc3M6ICJteS1tZnAtc2xpZGUtYm90dG9tIiB9KSwNCiAgICAgICAgdCgiLnBvcHVwLXdpdGgtZm9ybSIpLm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgdHlwZTogImlubGluZSIsDQogICAgICAgICAgICBwcmVsb2FkZXI6ICExLA0KICAgICAgICAgICAgY2xvc2VCdG5JbnNpZGU6ICExLA0KICAgICAgICAgICAgZml4ZWRDb250ZW50UG9zOiAhMCwNCiAgICAgICAgICAgIGZvY3VzOiAiI25hbWUiLA0KICAgICAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICAgICAgYmVmb3JlT3BlbjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBqKCkgPCA3MDAgPyAodGhpcy5zdC5mb2N1cyA9ICExKSA6ICh0aGlzLnN0LmZvY3VzID0gIiNuYW1lIik7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIH0sDQogICAgICAgIH0pLA0KICAgICAgICB0KCIucG9wdXAteW91dHViZSwgLnBvcHVwLXZpbWVvIikubWFnbmlmaWNQb3B1cCh7IGRpc2FibGVPbjogNzY3LCB0eXBlOiAiaWZyYW1lIiwgbWFpbkNsYXNzOiAibWZwLWZhZGUiLCByZW1vdmFsRGVsYXk6IDE2MCwgcHJlbG9hZGVyOiAhMSwgZml4ZWRDb250ZW50UG9zOiAhMCwgY2xvc2VCdG5JbnNpZGU6ICExIH0pLA0KICAgICAgICB0KCIucG9wdXAtZ29vZ2xlbWFwIikubWFnbmlmaWNQb3B1cCh7IGRpc2FibGVPbjogMCwgdHlwZTogImlmcmFtZSIsIG1haW5DbGFzczogIm1mcC1mYWRlIiwgcmVtb3ZhbERlbGF5OiAxNjAsIHByZWxvYWRlcjogITEsIGZpeGVkQ29udGVudFBvczogITAsIGNsb3NlQnRuSW5zaWRlOiAhMSB9KSwNCiAgICAgICAgdCgiLmFqYXgtcG9wdXAiKS5tYWduaWZpY1BvcHVwKHsNCiAgICAgICAgICAgIHR5cGU6ICJhamF4IiwNCiAgICAgICAgICAgIGFsaWduVG9wOiAhMCwNCiAgICAgICAgICAgIGZpeGVkQ29udGVudFBvczogITAsDQogICAgICAgICAgICBjbG9zZUJ0bkluc2lkZTogITEsDQogICAgICAgICAgICBvdmVyZmxvd1k6ICJzY3JvbGwiLA0KICAgICAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICAgICAgb3BlbjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0KCIubmF2YmFyIC5jb2xsYXBzZSIpLnJlbW92ZUNsYXNzKCJzaG93IiksIHQoIi5uYXZiYXIgYS5kcm9wZG93bi10b2dnbGUiKS5hZGRDbGFzcygiY29sbGFwc2VkIik7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIH0sDQogICAgICAgIH0pLA0KICAgICAgICB0KGRvY3VtZW50KS5vbigiY2xpY2siLCAiLnN1Ym1pdCIsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciBlID0gITEsDQogICAgICAgICAgICAgICAgYSA9ICExLA0KICAgICAgICAgICAgICAgIG8gPSB0KHRoaXMpLA0KICAgICAgICAgICAgICAgIGkgPSBvLnBhcmVudHMoImZvcm0iKSwNCiAgICAgICAgICAgICAgICBuID0gL14oW1x3LVwuXStAKFtcdy1dK1wuKStbXHctXXsyLDR9KT8kLywNCiAgICAgICAgICAgICAgICByID0gL1swLTkgLSgpK10rJC8sDQogICAgICAgICAgICAgICAgcyA9IChpLmF0dHIoImFjdGlvbiIpLCBpLmZpbmQoIi5mb3JtLXJlc3VsdHMiKSwgby5hdHRyKCJkYXRhLXNpdGVrZXkiKSB8fCAiIik7DQogICAgICAgICAgICBpLmZpbmQoJ1tuYW1lPSJyZWRpcmVjdCJdJykudmFsKCk7DQogICAgICAgICAgICBpLmZpbmQoIi5yZXF1aXJlZCIpLnJlbW92ZUNsYXNzKCJlcnJvciIpLA0KICAgICAgICAgICAgICAgIGkuZmluZCgiLnJlcXVpcmVkIikuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBhID0gdCh0aGlzKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIG8gPSBhLnZhbCgpOw0KICAgICAgICAgICAgICAgICAgICAiIiA9PSBvIHx8IG51bGwgPT0gbyA/ICgoZSA9ICEwKSwgYS5hZGRDbGFzcygiZXJyb3IiKSkgOiAoKCJlbWFpbCIgIT0gYS5hdHRyKCJ0eXBlIikgfHwgbi50ZXN0KG8pKSAmJiAoInRlbCIgIT0gYS5hdHRyKCJ0eXBlIikgfHwgci50ZXN0KG8pKSkgfHwgKChlID0gITApLCBhLmFkZENsYXNzKCJlcnJvciIpKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBsID0gaS5maW5kKCIudGVybXMtY29uZGl0aW9uIik7DQogICAgICAgICAgICAobC5sZW5ndGggPiAwICYmIChsLmlzKCI6Y2hlY2tlZCIpIHx8ICgoZSA9ICEwKSwgbC5hZGRDbGFzcygiZXJyb3IiKSkpLCAidW5kZWZpbmVkIiAhPSB0eXBlb2YgZ3JlY2FwdGNoYSAmJiBudWxsICE9PSBncmVjYXB0Y2hhKSAmJg0KICAgICAgICAgICAgICAgIChpLmZpbmQoIi5nLXJlY2FwdGNoYSIpLmxlbmd0aCA+IDANCiAgICAgICAgICAgICAgICAgICAgPyBncmVjYXB0Y2hhLmdldFJlc3BvbnNlKCkubGVuZ3RoIHx8ICgoZSA9ICEwKSwgaS5maW5kKCIuZy1yZWNhcHRjaGEiKS5hZGRDbGFzcygiZXJyb3IiKSkNCiAgICAgICAgICAgICAgICAgICAgOiAiIiAhPSBzICYmDQogICAgICAgICAgICAgICAgICAgICAgbnVsbCAhPSBzICYmDQogICAgICAgICAgICAgICAgICAgICAgKChhID0gITApLA0KICAgICAgICAgICAgICAgICAgICAgIGkuZmluZCgiaW5wdXRbbmFtZT1hY3Rpb25dLGlucHV0W25hbWU9Zy1yZWNhcHRjaGEtcmVzcG9uc2VdIikucmVtb3ZlKCksDQogICAgICAgICAgICAgICAgICAgICAgZ3JlY2FwdGNoYS5yZWFkeShmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgIGdyZWNhcHRjaGEuZXhlY3V0ZShzLCB7IGFjdGlvbjogInN1YnNjcmliZV9uZXdzbGV0dGVyIiB9KS50aGVuKGZ1bmN0aW9uICh0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLnByZXBlbmQoJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImctcmVjYXB0Y2hhLXJlc3BvbnNlIiB2YWx1ZT0iJyArIHQgKyAnIj4nKSwgaS5wcmVwZW5kKCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJhY3Rpb24iIHZhbHVlPSJzdWJzY3JpYmVfbmV3c2xldHRlciI+JyksIGUgfHwgUihvKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgfSkpKTsNCiAgICAgICAgICAgIHJldHVybiBlIHx8IGEgfHwgUihvKSwgITE7DQogICAgICAgIH0pLA0KICAgICAgICB0KGRvY3VtZW50KS5vbigiYmx1ciIsICIucmVxdWlyZWQiLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YXIgZSA9IHQodGhpcykudmFsKCk7DQogICAgICAgICAgICAiIiA9PSBlIHx8IG51bGwgPT0gZQ0KICAgICAgICAgICAgICAgID8gdCh0aGlzKS5hZGRDbGFzcygiZXJyb3IiKQ0KICAgICAgICAgICAgICAgIDogKCJlbWFpbCIgIT0gdCh0aGlzKS5hdHRyKCJ0eXBlIikgfHwgL14oW1x3LVwuXStAKFtcdy1dK1wuKStbXHctXXsyLDR9KT8kLy50ZXN0KGUpKSAmJiAoInRlbCIgIT0gdCh0aGlzKS5hdHRyKCJ0eXBlIikgfHwgL1swLTkgLSgpK10rJC8udGVzdChlKSkNCiAgICAgICAgICAgICAgICA/IHQodGhpcykucmVtb3ZlQ2xhc3MoImVycm9yIikNCiAgICAgICAgICAgICAgICA6IHQodGhpcykuYWRkQ2xhc3MoImVycm9yIik7DQogICAgICAgIH0pLA0KICAgICAgICB0KGRvY3VtZW50KS5vbigiY2xpY2siLCAiLnRlcm1zLWNvbmRpdGlvbiIsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKTsNCiAgICAgICAgICAgIGUuaXMoIjpjaGVja2VkIikgPyBlLnJlbW92ZUNsYXNzKCJlcnJvciIpIDogZS5hZGRDbGFzcygiZXJyb3IiKTsNCiAgICAgICAgfSk7DQogICAgdmFyIEkgPSB3aW5kb3cubG9jYXRpb24uaHJlZi5zdWJzdHIod2luZG93LmxvY2F0aW9uLmhyZWYubGFzdEluZGV4T2YoIi8iKSArIDEpLA0KICAgICAgICBTID0gd2luZG93LmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpOw0KICAgIFMgPyAoKFMgPSAiIyIgKyBTKSwgKEkgPSBJLnJlcGxhY2UoUywgIiIpKSkgOiAoSSA9IEkucmVwbGFjZSgiIyIsICIiKSksDQogICAgICAgIHQoIi5uYXZiYXItbmF2IGxpIGEsIC5tZW51LWxpc3QgYSIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0KHRoaXMpLA0KICAgICAgICAgICAgICAgIGEgPSBlLmF0dHIoImhyZWYiKTsNCiAgICAgICAgICAgIChhICE9PSBJICYmIGEgIT09IEkgKyAiLmh0bWwiKSB8fCAoZS5hZGRDbGFzcygiYWN0aXZlIiksIGUucGFyZW50KCkuYWRkQ2xhc3MoImFjdGl2ZSIpLCBlLnBhcmVudHMoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpLCBlLnBhcmVudHMoImxpLm1lbnUtbGlzdC1pdGVtIikuYWRkQ2xhc3MoImFjdGl2ZSIpKTsNCiAgICAgICAgfSk7DQogICAgdmFyIF8gPSB0KCJib2R5IikuYXR0cigiZGF0YS1tb2JpbGUtbmF2LXN0eWxlIik7DQogICAgaWYgKCgibW9kZXJuIiA9PSBfIHx8ICJmdWxsLXNjcmVlbi1tZW51IiA9PSBfKSAmJiAhdCgiLm5hdmJhci0iICsgXyArICItaW5uZXIiKS5sZW5ndGgpIHsNCiAgICAgICAgIXQoIi5ib3gtbGF5b3V0IikubGVuZ3RoID4gMCAmJiAibW9kZXJuIiA9PSBfID8gdCgic2VjdGlvbiwgZm9vdGVyIikud3JhcEFsbCgnPGRpdiBjbGFzcz0icGFnZS1sYXlvdXQiPjwvZGl2PicpIDogdCgic2VjdGlvbiIpLndyYXBBbGwoJzxkaXYgY2xhc3M9InBhZ2UtbGF5b3V0Ij48L2Rpdj4nKTsNCiAgICAgICAgdCgiLm5hdmJhciAubmF2YmFyLXRvZ2dsZXIiKS5jbG9uZSghMCkuYWRkQ2xhc3MoIm5hdmJhci10b2dnbGVyLWNsb25lIikuaW5zZXJ0QWZ0ZXIoIi5wYWdlLWxheW91dCIpLA0KICAgICAgICAgICAgdCgiLm5hdmJhciAubmF2YmFyLWNvbGxhcHNlIikuY2xvbmUoITApLmFkZENsYXNzKCJuYXZiYXItY29sbGFwc2UtY2xvbmUiKS5hdHRyKCJpZCIsICJuYXZiYXJOYXYtY2xvbmUiKS5pbnNlcnRBZnRlcigiLnBhZ2UtbGF5b3V0Iik7DQogICAgICAgIGlmICgNCiAgICAgICAgICAgICh0KCIubmF2YmFyLXRvZ2dsZXItY2xvbmUsIC5uYXZiYXItY29sbGFwc2UtY2xvbmUiKS53cmFwQWxsKCc8ZGl2IGNsYXNzPSJuYXZiYXItJyArIF8gKyAnLWlubmVyIj48L2Rpdj4nKSwNCiAgICAgICAgICAgIHQoIi5uYXZiYXItdG9nZ2xlciIpLmF0dHIoImRhdGEtdGFyZ2V0IiwgIiNuYXZiYXJOYXYtY2xvbmUiKS5hdHRyKCJhcmlhLWNvbnRyb2xzIiwgIiNuYXZiYXJOYXYtY2xvbmUiKSwNCiAgICAgICAgICAgIHQoIi5uYXZiYXItIiArIF8gKyAiLWlubmVyIikNCiAgICAgICAgICAgICAgICAuZmluZCgiLmRyb3Bkb3duLXRvZ2dsZSIpDQogICAgICAgICAgICAgICAgLmFkZENsYXNzKCJkcm9wZG93bi10b2dnbGUtY2xvbmUiKSwNCiAgICAgICAgICAgIHQoIi5uYXZiYXItY29sbGFwc2UtY2xvbmUiKS5sZW5ndGggPiAwKQ0KICAgICAgICApIHsNCiAgICAgICAgICAgIHZhciBUID0gdCgiLm5hdmJhci1jb2xsYXBzZS1jbG9uZSIpLmF0dHIoImRhdGEtc2Nyb2xsLW9wdGlvbnMiKSB8fCAneyAidGhlbWUiOiAibGlnaHQiIH0nOw0KICAgICAgICAgICAgbnVsbCAhPSBUICYmICgoVCA9IHQucGFyc2VKU09OKFQpKSwgdCgiLm5hdmJhci1jb2xsYXBzZS1jbG9uZSIpLm1DdXN0b21TY3JvbGxiYXIoVCkpOw0KICAgICAgICB9DQogICAgICAgICJtb2Rlcm4iID09IF8gJiYgdCgnPGRpdiBjbGFzcz0ibmF2YmFyLXNob3ctbW9kZXJuLWJnIj48L2Rpdj4nKS5pbnNlcnRBZnRlcigiLnBhZ2UtbGF5b3V0Iik7DQogICAgfQ0KICAgIHQoZG9jdW1lbnQpLm9uKCJ0b3VjaHN0YXJ0IGNsaWNrIiwgImJvZHkiLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICB0KGUudGFyZ2V0KS5jbG9zZXN0KCIubmF2YmFyLW5hdiIpLmxlbmd0aA0KICAgICAgICAgICAgPyB0KGUudGFyZ2V0KS5wYXJlbnRzKCIuc2hvdy1tZW51IikubGVuZ3RoDQogICAgICAgICAgICAgICAgPyB0KCIuY2xvc2UtbWVudSIpLnRyaWdnZXIoImNsaWNrIikNCiAgICAgICAgICAgICAgICA6IHQoZS50YXJnZXQpLnBhcmVudHMoImJvZHkiKS5maW5kKCIuaGVhZGVyLWxhbmd1YWdlLm9wZW4iKS5sZW5ndGgNCiAgICAgICAgICAgICAgICA/ICh0KCIuaGVhZGVyLWxhbmd1YWdlIikudHJpZ2dlcigibW91c2VsZWF2ZSIpLCB0KCIuaGVhZGVyLWxhbmd1YWdlIikucmVtb3ZlQ2xhc3MoInNob3ciKSwgdCgiLmhlYWRlci1sYW5ndWFnZSIpLmNoaWxkcmVuKCIuZHJvcGRvd24tbWVudSIpLnJlbW92ZUNsYXNzKCJzaG93IikpDQogICAgICAgICAgICAgICAgOiB0KGUudGFyZ2V0KS5wYXJlbnRzKCJib2R5IikuZmluZCgiLmhlYWRlci1jYXJ0LWljb24ub3BlbiIpLmxlbmd0aCAmJg0KICAgICAgICAgICAgICAgICAgKHQoIi5oZWFkZXItY2FydC1pY29uIikudHJpZ2dlcigibW91c2VsZWF2ZSIpLCB0KCIuaGVhZGVyLWNhcnQtaWNvbiIpLnJlbW92ZUNsYXNzKCJzaG93IiksIHQoIi5oZWFkZXItY2FydC1pY29uIikuY2hpbGRyZW4oIi5kcm9wZG93bi1tZW51IikucmVtb3ZlQ2xhc3MoInNob3ciKSkNCiAgICAgICAgICAgIDogKHQoZS50YXJnZXQpLmNsb3Nlc3QoIi5oZWFkZXItbGFuZ3VhZ2UiKS5sZW5ndGggfHwgKHQoIi5oZWFkZXItbGFuZ3VhZ2UiKS50cmlnZ2VyKCJtb3VzZWxlYXZlIiksIHQoIi5oZWFkZXItbGFuZ3VhZ2UiKS5yZW1vdmVDbGFzcygic2hvdyIpLCB0KCIuaGVhZGVyLWxhbmd1YWdlIikuY2hpbGRyZW4oIi5kcm9wZG93bi1tZW51IikucmVtb3ZlQ2xhc3MoInNob3ciKSksDQogICAgICAgICAgICAgIHQoZS50YXJnZXQpLmNsb3Nlc3QoIi5oZWFkZXItY2FydC1pY29uIikubGVuZ3RoIHx8ICh0KCIuaGVhZGVyLWNhcnQtaWNvbiIpLnRyaWdnZXIoIm1vdXNlbGVhdmUiKSwgdCgiLmhlYWRlci1jYXJ0LWljb24iKS5yZW1vdmVDbGFzcygic2hvdyIpLCB0KCIuaGVhZGVyLWNhcnQtaWNvbiIpLmNoaWxkcmVuKCIuZHJvcGRvd24tbWVudSIpLnJlbW92ZUNsYXNzKCJzaG93IikpLA0KICAgICAgICAgICAgICB0KCIubmF2YmFyLW5hdiAuZHJvcGRvd24iKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgIGUudHJpZ2dlcigibW91c2VsZWF2ZSIpLCBlLnJlbW92ZUNsYXNzKCJzaG93IiksIGUuY2hpbGRyZW4oIi5kcm9wZG93bi1tZW51IikucmVtb3ZlQ2xhc3MoInNob3ciKTsNCiAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgIHQoJ1tkYXRhLW1vYmlsZS1uYXYtc3R5bGU9ImNsYXNzaWMiXSAubmF2YmFyLWNvbGxhcHNlJykuY29sbGFwc2UoImhpZGUiKSwNCiAgICAgICAgICAgICAgIXQoZS50YXJnZXQpLmNsb3Nlc3QoIi50aGVtZS1kZW1vcyIpLmxlbmd0aCAmJiB0KCIudGhlbWUtZGVtb3MiKS5oYXNDbGFzcygiYWN0aXZlIikgJiYgKHQoIi50aGVtZS1kZW1vcyIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSwgdCgiYm9keSIpLnJlbW92ZUNsYXNzKCJvdmVyZmxvdy1oaWRkZW4iKSkpLA0KICAgICAgICAgICAgIXQoZS50YXJnZXQpLnBhcmVudHMoImhlYWRlciIpICYmDQogICAgICAgICAgICAgICAgaCAmJg0KICAgICAgICAgICAgICAgIHQoIi5oZWFkZXItbGFuZ3VhZ2UsIC5oZWFkZXItY2FydC1pY29uIikuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgZS50cmlnZ2VyKCJtb3VzZWxlYXZlIiksIGUucmVtb3ZlQ2xhc3MoInNob3ciKSwgZS5jaGlsZHJlbigiLmRyb3Bkb3duLW1lbnUiKS5yZW1vdmVDbGFzcygic2hvdyIpOw0KICAgICAgICAgICAgICAgIH0pLA0KICAgICAgICAgICAgKDAgPT09IHQoZS50YXJnZXQpLmNsb3Nlc3QoIi5zZWFyY2gtZm9ybS13cmFwcGVyIikubGVuZ3RoIHx8IHQoZS50YXJnZXQpLmlzKCIuZm9ybS13cmFwcGVyIikpICYmICh0KCIuc2VhcmNoLWZvcm0td3JhcHBlciIpLnJlbW92ZUNsYXNzKCJhY3RpdmUtZm9ybSIpLCB0KCJib2R5IikucmVtb3ZlQ2xhc3MoInNob3ctc2VhcmNoLXBvcHVwIikpOw0KICAgIH0pLA0KICAgICAgICB0KCIubmF2YmFyLW1vZGVybi1pbm5lciIpLmxlbmd0aCA+IDAgPyB0KCIuZHJvcGRvd24tdG9nZ2xlLWNsb25lIikuZHJvcGRvd24oKSA6IHQoIi5kcm9wZG93bi10b2dnbGUiKS5kcm9wZG93bigpLA0KICAgICAgICB0KCdbZGF0YS1tb2JpbGUtbmF2LXN0eWxlPSJjbGFzc2ljIl0gLm5hdmJhci1jb2xsYXBzZS5jb2xsYXBzZScpDQogICAgICAgICAgICAub24oInNob3cuYnMuY29sbGFwc2UiLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdCgiYm9keSIpLmhhc0NsYXNzKCJuYXZiYXItY29sbGFwc2Utc2hvdyIpIHx8IHQoImJvZHkiKS5hZGRDbGFzcygibmF2YmFyLWNvbGxhcHNlLXNob3ciKTsNCiAgICAgICAgICAgIH0pDQogICAgICAgICAgICAub24oImhpZGUuYnMuY29sbGFwc2UiLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdCgiYm9keSIpLmhhc0NsYXNzKCJuYXZiYXItY29sbGFwc2Utc2hvdyIpICYmIHQoImJvZHkiKS5yZW1vdmVDbGFzcygibmF2YmFyLWNvbGxhcHNlLXNob3ciKTsNCiAgICAgICAgICAgIH0pLA0KICAgICAgICB0KCIubmF2YmFyLWNvbGxhcHNlLWNsb25lIikNCiAgICAgICAgICAgIC5vbigic2hvdy5icy5jb2xsYXBzZSIsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAodCgiYm9keSIpLmhhc0NsYXNzKCJuYXZiYXItY29sbGFwc2Utc2hvdyIpKQ0KICAgICAgICAgICAgICAgICAgICB0KCIubmF2YmFyLW1vZGVybi1pbm5lciIpLmxlbmd0aCA+IDAgJiYNCiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQoIi5uYXZiYXItc2hvdy1tb2Rlcm4tYmciKS5jc3MoImJhY2tncm91bmQiLCAiIik7DQogICAgICAgICAgICAgICAgICAgICAgICB9LCA2MDApLA0KICAgICAgICAgICAgICAgICAgICAgICAgdCgiLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIikubGVuZ3RoID4gMCAmJg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0KCIubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIiKS5jc3MoImJhY2tncm91bmQiLCAiIik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNjAwKTsNCiAgICAgICAgICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCh0KCJib2R5IikuYWRkQ2xhc3MoIm5hdmJhci1jb2xsYXBzZS1zaG93IiksIHQoImh0bWwiKS5hZGRDbGFzcygib3ZlcmZsb3ctaGlkZGVuIiksIHQoImJvZHkiKS5hdHRyKCJkYXRhLW1vYmlsZS1uYXYtYmctY29sb3IiKSAmJiB0KCIubmF2YmFyLW1vZGVybi1pbm5lciIpLmxlbmd0aCA+IDApKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHQoImJvZHkiKS5hdHRyKCJkYXRhLW1vYmlsZS1uYXYtYmctY29sb3IiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHQoIi5uYXZiYXItc2hvdy1tb2Rlcm4tYmciKS5jc3MoImJhY2tncm91bmQiLCBlKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAodCgiYm9keSIpLmF0dHIoImRhdGEtbW9iaWxlLW5hdi1iZy1jb2xvciIpICYmIHQoIi5uYXZiYXItZnVsbC1zY3JlZW4tbWVudS1pbm5lciIpLmxlbmd0aCA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGUgPSB0KCJib2R5IikuYXR0cigiZGF0YS1tb2JpbGUtbmF2LWJnLWNvbG9yIik7DQogICAgICAgICAgICAgICAgICAgICAgICB0KCIubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIiKS5jc3MoImJhY2tncm91bmQiLCBlKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB2YXIgYSA9IEooKSwNCiAgICAgICAgICAgICAgICAgICAgbyA9IE4oKTsNCiAgICAgICAgICAgICAgICB0KCIubmF2YmFyLW1vZGVybi1pbm5lciIpLmxlbmd0aCA+IDAgfHwgdCgiLm5hdmJhci1mdWxsLXNjcmVlbi1tZW51LWlubmVyIikubGVuZ3RoID4gMCA/IHQodGhpcykuY3NzKCJtYXgtaGVpZ2h0IiwgbykgOiB0KHRoaXMpLmNzcygibWF4LWhlaWdodCIsIG8gLSBhKTsNCiAgICAgICAgICAgIH0pDQogICAgICAgICAgICAub24oImhpZGUuYnMuY29sbGFwc2UiLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdCgiYm9keSIpLmhhc0NsYXNzKCJuYXZiYXItY29sbGFwc2Utc2hvdyIpICYmICh0KCJib2R5IikucmVtb3ZlQ2xhc3MoIm5hdmJhci1jb2xsYXBzZS1zaG93IiksIHQoImh0bWwiKS5yZW1vdmVDbGFzcygib3ZlcmZsb3ctaGlkZGVuIikpOw0KICAgICAgICAgICAgfSksDQogICAgICAgIHQoIi5tZW51LXRvZ2dsZSIpLmVhY2goZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgIHZhciBhID0gdCh0aGlzKTsNCiAgICAgICAgICAgIGEuYXR0cih7ICJkYXRhLXRvZ2dsZSI6ICJjb2xsYXBzZSIsICJkYXRhLXRhcmdldCI6ICIjc3ViLW1lbnUtIiArIGUgfSksDQogICAgICAgICAgICAgICAgYQ0KICAgICAgICAgICAgICAgICAgICAucGFyZW50KCkNCiAgICAgICAgICAgICAgICAgICAgLmZpbmQoIi5zdWItbWVudS1pdGVtIikNCiAgICAgICAgICAgICAgICAgICAgLmF0dHIoImlkIiwgInN1Yi1tZW51LSIgKyBlKQ0KICAgICAgICAgICAgICAgICAgICAuYWRkQ2xhc3MoImNvbGxhcHNlIik7DQogICAgICAgIH0pLA0KICAgICAgICB0KCIuc3ViLW1lbnUtaXRlbSIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdCh0aGlzKS5jb2xsYXBzZSgiaGlkZSIpOw0KICAgICAgICB9KSwNCiAgICAgICAgdCgiLmxlZnQtc2lkZWJhci13cmFwcGVyIikubGVuZ3RoID4gMCAmJiB0KCIubGVmdC1zaWRlYmFyLXdyYXBwZXIgLmxlZnQtc2lkZWJhci1uYXYiKS5zdGlja19pbl9wYXJlbnQoeyByZWNhbGM6IDEsIGJvdHRvbWluZzogITEgfSksDQogICAgICAgIHQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIubWVudS1saXN0ID4gLm1lbnUtbGlzdC1pdGVtID4gLm1lbnUtdG9nZ2xlIiwgZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdCgiLnN1Yi1tZW51LWl0ZW0iKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0KHRoaXMpLmNvbGxhcHNlKCJoaWRlIik7DQogICAgICAgICAgICB9KSwNCiAgICAgICAgICAgICAgICB0KCIubGVmdC1zaWRlYmFyLXdyYXBwZXIgLmxlZnQtc2lkZWJhci1uYXYiKS5wYXJlbnRzKCJib2R5IikuYWRkQ2xhc3MoImxlZnQtY2xhc3NpYy1tb2JpbGUtbWVudSIpLA0KICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0KCIubGVmdC1zaWRlYmFyLXdyYXBwZXIiKS50cmlnZ2VyKCJzdGlja3lfa2l0OnJlY2FsYyIpOw0KICAgICAgICAgICAgICAgIH0sIDUwMCk7DQogICAgICAgIH0pLA0KICAgICAgICB0KGRvY3VtZW50KS5vbigiY2xpY2siLCAiLnN1Yi1tZW51LWl0ZW0gPiAubWVudS1saXN0LWl0ZW0gPiAubWVudS10b2dnbGUiLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KICAgICAgICAgICAgdCh0aGlzKS5wYXJlbnQoKS5maW5kKCIuc3ViLW1lbnUtaXRlbSIpOw0KICAgICAgICAgICAgdmFyIGEgPSB0KHRoaXMpLmF0dHIoImRhdGEtdGFyZ2V0Iik7DQogICAgICAgICAgICB0KHRoaXMpDQogICAgICAgICAgICAgICAgLnBhcmVudCgpDQogICAgICAgICAgICAgICAgLnBhcmVudCgiLnN1Yi1tZW51LWl0ZW0iKQ0KICAgICAgICAgICAgICAgIC5maW5kKCIuc3ViLW1lbnUtaXRlbSIpDQogICAgICAgICAgICAgICAgLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHQodGhpcyk7DQogICAgICAgICAgICAgICAgICAgIGUucGFyZW50KCkuZmluZCgiLm1lbnUtdG9nZ2xlIikuYXR0cigiZGF0YS10YXJnZXQiKSAhPSBhICYmIGUuY29sbGFwc2UoImhpZGUiKTsNCiAgICAgICAgICAgICAgICB9KSwNCiAgICAgICAgICAgICAgICB0KCIubGVmdC1zaWRlYmFyLXdyYXBwZXIgLmxlZnQtc2lkZWJhci1uYXYiKS5wYXJlbnRzKCJib2R5IikuYWRkQ2xhc3MoImxlZnQtY2xhc3NpYy1tb2JpbGUtbWVudSIpLA0KICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0KCIubGVmdC1zaWRlYmFyLXdyYXBwZXIiKS50cmlnZ2VyKCJzdGlja3lfa2l0OnJlY2FsYyIpOw0KICAgICAgICAgICAgICAgIH0sIDUwMCk7DQogICAgICAgIH0pLA0KICAgICAgICB0KGRvY3VtZW50KS5vbigiY2xpY2siLCAiI21vYmlsZVRvZ2dsZVNpZGVuYXYiLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpLCB0KHRoaXMpLmNsb3Nlc3QoIm5hdiIpLnRvZ2dsZUNsYXNzKCJzaWRlbWVudS1vcGVuIik7DQogICAgICAgIH0pOw0KICAgIHZhciBPID0gITE7DQogICAgdChkb2N1bWVudCkub24oImNsaWNrIiwgIi5uYXZiYXItdG9nZ2xlIiwgZnVuY3Rpb24gKCkgew0KICAgICAgICBqKCkgPiBpICYmDQogICAgICAgICAgICAoTw0KICAgICAgICAgICAgICAgID8gIXQoIi5uYXZiYXItY29sbGFwc2UiKS5oYXMoZS50YXJnZXQpLmlzKCIubmF2YmFyLWNvbGxhcHNlIikgJiYNCiAgICAgICAgICAgICAgICAgIHQoIi5uYXZiYXItY29sbGFwc2UgdWwiKS5oYXNDbGFzcygic2hvdyIpICYmDQogICAgICAgICAgICAgICAgICAodCgiLm5hdmJhci1jb2xsYXBzZSIpLmZpbmQoImEuZHJvcGRvd24tdG9nZ2xlIikuYWRkQ2xhc3MoImNvbGxhcHNlZCIpLCB0KCIubmF2YmFyLWNvbGxhcHNlIikuZmluZCgidWwuZHJvcGRvd24tbWVudSIpLnJlbW92ZUNsYXNzKCJzaG93IiksIHQoIi5uYXZiYXItY29sbGFwc2UgYS5kcm9wZG93bi10b2dnbGUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIikpDQogICAgICAgICAgICAgICAgOiAoKE8gPSAhMCksDQogICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICBPID0gITE7DQogICAgICAgICAgICAgICAgICB9LCA1MDApLA0KICAgICAgICAgICAgICAgICAgdCgiYm9keSIpLmFkZENsYXNzKCJzaG93LW1lbnUiKSkpOw0KICAgIH0pLA0KICAgICAgICB0KCIuZHJvcGRvd24iKQ0KICAgICAgICAgICAgLm9uKCJtb3VzZWVudGVyIHRvdWNoc3RhcnQiLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgIHZhciBhID0gdCh0aGlzKTsNCiAgICAgICAgICAgICAgICBhLnNpYmxpbmdzKCIuZHJvcGRvd24iKS5yZW1vdmVDbGFzcygib3BlbiIpLA0KICAgICAgICAgICAgICAgICAgICBhLnBhcmVudHMoIi5uYXZiYXItbmF2Iikuc2libGluZ3MoIi5uYXZiYXItbmF2IikuZmluZCgiLmRyb3Bkb3duIikucmVtb3ZlQ2xhc3MoIm9wZW4iKSwNCiAgICAgICAgICAgICAgICAgICAgYS5hZGRDbGFzcygib3BlbiIpLA0KICAgICAgICAgICAgICAgICAgICBqKCkgPiBpICYmDQogICAgICAgICAgICAgICAgICAgICAgICAoIShmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gaigpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlLmhhc0NsYXNzKCJzaW1wbGUtZHJvcGRvd24iKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocyA9IGUpLCAobCA9IGUuZmluZCgiYS5uYXYtbGluayIpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGEgPSBlLm9mZnNldCgpLmxlZnQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvID0gZS5jaGlsZHJlbigiLmRyb3Bkb3duLW1lbnUiKS5vdXRlcldpZHRoKCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gdCAtIDMwIC0gKGEgKyBvKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA8IDAgJiYgZS5jaGlsZHJlbigiLmRyb3Bkb3duLW1lbnUiKS5jc3MoImxlZnQiLCBpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUucGFyZW50KCkuaGFzQ2xhc3MoImRyb3Bkb3duLW1lbnUiKSAmJiBlLnBhcmVudHMoIi5zaW1wbGUtZHJvcGRvd24iKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbiA9IDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQgPSAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYyA9IDA7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuID0gZS5vdXRlcldpZHRoKCkgLSBsLm91dGVyV2lkdGgoKSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLmZpbmQoIi5kcm9wZG93bi1tZW51IikuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHQgPSBbXTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLmZpbmQoImxpIikuaGFzQ2xhc3MoImRyb3Bkb3duIikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAoKG4gKz0gZS5vdXRlcldpZHRoKCkpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuZmluZCgibGkuZHJvcGRvd24iKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGEgPSBlLmNsb3Nlc3QoIi5kcm9wZG93bi1tZW51Iik7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQucHVzaChhLm91dGVyV2lkdGgoKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHIgPSBkICsgTWF0aC5tYXguYXBwbHkoTWF0aCwgdCkpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkID0gciksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG4gKz0gciksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGMgKz0gMSkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYyA8IDEgJiYgKG4gKz0gZS5vdXRlcldpZHRoKCkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwID0gdCAtIChzLm9mZnNldCgpLmxlZnQgKyBzLm91dGVyV2lkdGgoKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuID4gcCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGUuZmluZCgiLmRyb3Bkb3duLW1lbnUiKS5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGggPSBlLnBvc2l0aW9uKCkudG9wLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1ID0gZS5maW5kKCIuZHJvcGRvd24tbWVudSIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtID0gdS5vdXRlckhlaWdodCgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnID0gaCArIG0gKyBKKCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYgPSBOKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZyA+IGYgJiYgdS5jc3MoInRvcCIsICItIiArIChnIC0gZikgKyAicHgiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuYWRkQ2xhc3MoIm1lbnUtbGVmdCIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSkoYSksDQogICAgICAgICAgICAgICAgICAgICAgICB0KGUudGFyZ2V0KS5zaWJsaW5ncygiLmRyb3Bkb3duLW1lbnUiKS5sZW5ndGggJiYgZS5wcmV2ZW50RGVmYXVsdCgpKTsNCiAgICAgICAgICAgIH0pDQogICAgICAgICAgICAub24oIm1vdXNlbGVhdmUiLCBmdW5jdGlvbiAoZSkgew0KICAgICAgICAgICAgICAgIHZhciBhID0gdCh0aGlzKTsNCiAgICAgICAgICAgICAgICBhLnJlbW92ZUNsYXNzKCJtZW51LWxlZnQiKSwgYS5yZW1vdmVDbGFzcygib3BlbiIpOw0KICAgICAgICAgICAgfSk7DQogICAgdChkb2N1bWVudCkub24oImNsaWNrIiwgIi5nZHByLXBvbGljeS1idXR0b24iLCBmdW5jdGlvbiAoKSB7DQogICAgICAgIHQoIi5nZHByLXdyYXBwZXIiKS5mYWRlT3V0KCkucmVtb3ZlKCksICQoImxpdGhvLWdkcHItcG9saWN5IiwgInNob3duIiwgMzApOw0KICAgIH0pOw0KICAgIGZ1bmN0aW9uIEQoKSB7DQogICAgICAgIHZhciBlID0gdCh3aW5kb3cpLnNjcm9sbFRvcCgpLA0KICAgICAgICAgICAgYSA9IHQoIi5uYXZiYXItbmF2IGxpIGEiKTsNCiAgICAgICAgYS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhciBvID0gdCh0aGlzKSwNCiAgICAgICAgICAgICAgICBpID0gby5hdHRyKCJocmVmIikuaW5kZXhPZigiIyIpOw0KICAgICAgICAgICAgaWYgKGkgPiAtMSkgew0KICAgICAgICAgICAgICAgIHZhciBuID0gby5hdHRyKCJocmVmIikuc3Vic3RyaW5nKGkpOw0KICAgICAgICAgICAgICAgIGlmICgiIiAhPSBuICYmICIjIiAhPSBuICYmIHQobikubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgciA9IHQoby5hdHRyKCJocmVmIikpOw0KICAgICAgICAgICAgICAgICAgICByLnBvc2l0aW9uKCkudG9wIDw9IGUgKyA2MCAmJiByLnBvc2l0aW9uKCkudG9wICsgci5oZWlnaHQoKSA+IGUgKyA2MCAmJiAoYS5yZW1vdmVDbGFzcygiYWN0aXZlIiksIG8uYWRkQ2xhc3MoImFjdGl2ZSIpKSwgZSA8IDEgJiYgby5yZW1vdmVDbGFzcygiYWN0aXZlIik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG8gPSAwLA0KICAgICAgICAgICAgbiA9IDA7DQogICAgICAgIHQoIm5hdiIpLmxlbmd0aCA+IDAgJiYgKG8gPSB0KCJuYXYiKS5vdXRlckhlaWdodCgpKSwgdCgiLnRvcC1iYXIiKS5sZW5ndGggPiAwICYmIChuID0gdCgiLnRvcC1iYXIiKS5vdXRlckhlaWdodCgpKTsNCiAgICAgICAgdmFyIHMgPSBvICsgbjsNCiAgICAgICAgaWYgKA0KICAgICAgICAgICAgKHQoImhlYWRlciIpLmhhc0NsYXNzKCJuby1zdGlja3kiKSB8fA0KICAgICAgICAgICAgICAgIChlID49IHMNCiAgICAgICAgICAgICAgICAgICAgPyAodCgiaGVhZGVyIikuYWRkQ2xhc3MoInN0aWNreSIpLCB0KCIuaGVhZGVyLXdpdGgtdG9wYmFyIC50b3AtYmFyIikuaXMoIjpoaWRkZW4iKSB8fCAodCgiLmhlYWRlci13aXRoLXRvcGJhciAudG9wLWJhciIpLmNzcyh7IHRvcDogIi0iICsgbiArICJweCIgfSksIHQoIi5oZWFkZXItd2l0aC10b3BiYXIgLmZpeGVkLXRvcCIpLmNzcyh7IHRvcDogIjBweCIgfSkpKQ0KICAgICAgICAgICAgICAgICAgICA6IGUgPD0gcyAmJg0KICAgICAgICAgICAgICAgICAgICAgICh0KCIuaGVhZGVyLXdpdGgtdG9wYmFyIC50b3AtYmFyIikuY3NzKHsgdG9wOiAiMHB4IiB9KSwNCiAgICAgICAgICAgICAgICAgICAgICB0KCIuaGVhZGVyLXdpdGgtdG9wYmFyIC5maXhlZC10b3AiKS5jc3MoeyB0b3A6IG4gKyAicHgiIH0pLA0KICAgICAgICAgICAgICAgICAgICAgIHQoImhlYWRlciIpLnJlbW92ZUNsYXNzKCJzdGlja3kiKSwNCiAgICAgICAgICAgICAgICAgICAgICB0KCJoZWFkZXIiKS5oYXNDbGFzcygic3RpY2t5IikgfHwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDIwMCkpKSwNCiAgICAgICAgICAgIHQoIm5hdi5oZWFkZXItYWx3YXlzLWZpeGVkLXNjcm9sbCIpLmxlbmd0aCA8PSAwKQ0KICAgICAgICApIHsNCiAgICAgICAgICAgIHZhciBsID0gZTsNCiAgICAgICAgICAgIGwgPiByID8gKChsIC09IDEpLCB0KCIuc3RpY2t5IikucmVtb3ZlQ2xhc3MoImhlYWRlci1hcHBlYXIiKSwgdCgiLmRyb3Bkb3duLm9uIikucmVtb3ZlQ2xhc3MoIm9uIikucmVtb3ZlQ2xhc3MoInNob3ciKS5maW5kKCIuZHJvcGRvd24tbWVudSIpLmZhZGVPdXQoMTAwKSkgOiB0KCIuc3RpY2t5IikuYWRkQ2xhc3MoImhlYWRlci1hcHBlYXIiKSwNCiAgICAgICAgICAgICAgICAociA9IGwpIDw9IG8gJiYgdCgiaGVhZGVyIikucmVtb3ZlQ2xhc3MoImhlYWRlci1hcHBlYXIiKTsNCiAgICAgICAgfQ0KICAgICAgICBlID49IDIwMCAmJg0KICAgICAgICAgICAgaigpID4gaSAmJg0KICAgICAgICAgICAgKHQoIi5uYXZiYXItY29sbGFwc2UiKS5oYXNDbGFzcygic2hvdyIpICYmIHQoIi5uYXZiYXItY29sbGFwc2UiKS5yZW1vdmVDbGFzcygic2hvdyIpLCB0KCJib2R5IikuaGFzQ2xhc3MoIm5hdmJhci1jb2xsYXBzZS1zaG93IikgJiYgKHQoImJvZHkiKS5yZW1vdmVDbGFzcygibmF2YmFyLWNvbGxhcHNlLXNob3ciKSwgdCgiaHRtbCIpLnJlbW92ZUNsYXNzKCJvdmVyZmxvdy1oaWRkZW4iKSkpLA0KICAgICAgICAgICAgZSA+IDE1MCA/ICh0KCIuc2Nyb2xsLXRvcC1hcnJvdyIpLmZhZGVJbigiMzAwIiksICF0KCIuc2hvdy10aGVtZS1kZW1vcyIpLmxlbmd0aCAmJiBqKCkgPiAxMTk5ICYmIHQoIi50aGVtZS1kZW1vcyIpLmZhZGVJbigiMzAwIikpIDogdCgiLnNjcm9sbC10b3AtYXJyb3ciKS5mYWRlT3V0KCIzMDAiKTsNCiAgICB9DQogICAgZnVuY3Rpb24geihlKSB7DQogICAgICAgIHJldHVybiBlIDwgMTAgPyAiMCIgKyBlLnRvU3RyaW5nKCkgOiBlLnRvU3RyaW5nKCk7DQogICAgfQ0KICAgIGZ1bmN0aW9uIGooKSB7DQogICAgICAgIHJldHVybiB0KHdpbmRvdykud2lkdGgoKTsNCiAgICB9DQogICAgZnVuY3Rpb24gTigpIHsNCiAgICAgICAgcmV0dXJuIHQod2luZG93KS5oZWlnaHQoKTsNCiAgICB9DQogICAgZnVuY3Rpb24gQSgpIHsNCiAgICAgICAgdCgiLnN3aXBlci1jb250YWluZXI6bm90KCAuaW5zdGFmZWVkLXdyYXBwZXIgKSIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmFyIGUgPSB0KHRoaXMpLA0KICAgICAgICAgICAgICAgIGEgPSBlLmF0dHIoImRhdGEtc2xpZGVyLW9wdGlvbnMiKTsNCiAgICAgICAgICAgIGlmIChudWxsICE9IGEpIHsNCiAgICAgICAgICAgICAgICBhID0gdC5wYXJzZUpTT04oYSk7DQogICAgICAgICAgICAgICAgdmFyIG8gPSBlLmF0dHIoImRhdGEtc2xpZGVyLW1kLWRpcmVjdGlvbiIpOw0KICAgICAgICAgICAgICAgIGlmICgiIiAhPSBvICYmIG51bGwgIT0gbykgew0KICAgICAgICAgICAgICAgICAgICB2YXIgaSA9ICIiICE9IGEuZGlyZWN0aW9uICYmIG51bGwgIT0gYS5kaXJlY3Rpb24gPyBhLmRpcmVjdGlvbiA6IG87DQogICAgICAgICAgICAgICAgICAgIGEub24gPSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaigpIDw9IG4gPyB0aGlzLmNoYW5nZURpcmVjdGlvbihvKSA6IHRoaXMuY2hhbmdlRGlyZWN0aW9uKGkpLCB0aGlzLnVwZGF0ZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc2l6ZTogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGooKSA8PSBuID8gdGhpcy5jaGFuZ2VEaXJlY3Rpb24obykgOiB0aGlzLmNoYW5nZURpcmVjdGlvbihpKSwgdGhpcy51cGRhdGUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmICgiIiAhPSBhLnRodW1icyAmJiBudWxsICE9IGEudGh1bWJzKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciByID0gZS5hdHRyKCJkYXRhLXRodW1iLXNsaWRlci1tZC1kaXJlY3Rpb24iKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCIiICE9IHIgJiYgbnVsbCAhPSByKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgcyA9ICIiICE9IGEudGh1bWJzLnN3aXBlci5kaXJlY3Rpb24gJiYgbnVsbCAhPSBhLnRodW1icy5zd2lwZXIuZGlyZWN0aW9uID8gYS50aHVtYnMuc3dpcGVyLmRpcmVjdGlvbiA6IHI7DQogICAgICAgICAgICAgICAgICAgICAgICBhLnRodW1icy5zd2lwZXIub24gPSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqKCkgPD0gbiA/IHRoaXMuY2hhbmdlRGlyZWN0aW9uKHIpIDogdGhpcy5jaGFuZ2VEaXJlY3Rpb24ocyksIHRoaXMudXBkYXRlKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNpemU6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaigpIDw9IG4gPyB0aGlzLmNoYW5nZURpcmVjdGlvbihyKSA6IHRoaXMuY2hhbmdlRGlyZWN0aW9uKHMpLCB0aGlzLnVwZGF0ZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9PSB0aGlzLmNsaWNrZWRJbmRleCA/IHRoaXMuc2xpZGVQcmV2KCkgOiB0aGlzLnNsaWRlTmV4dCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHZhciBsID0gZS5hdHRyKCJkYXRhLXNsaWRlci1udW1iZXItcGFnaW5hdGlvbiIpOw0KICAgICAgICAgICAgICAgICIiICE9IGwgJiYNCiAgICAgICAgICAgICAgICAgICAgbnVsbCAhPSBsICYmDQogICAgICAgICAgICAgICAgICAgIChhLm9uLnNsaWRlQ2hhbmdlID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdCgiLnN3aXBlci1wYWdpbmF0aW9uLWN1cnJlbnQiKS5sZW5ndGggPiAwICYmIHQoIi5zd2lwZXItcGFnaW5hdGlvbi1jdXJyZW50IikuaHRtbCh6KHRoaXMucmVhbEluZGV4ICsgMSkpLCB0KCIuc3dpcGVyLXBhZ2luYXRpb24tdG90YWwiKS5sZW5ndGggPiAwICYmIHQoIi5zd2lwZXItcGFnaW5hdGlvbi10b3RhbCIpLmh0bWwoeih0aGlzLnNsaWRlcy5sZW5ndGggLSAyKSk7DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHZhciBkID0gZS5hdHRyKCJkYXRhLXNsaWRlLWNoYW5nZS1vbi1jbGljayIpOw0KICAgICAgICAgICAgICAgICIiICE9IGQgJiYNCiAgICAgICAgICAgICAgICAgICAgbnVsbCAhPSBkICYmDQogICAgICAgICAgICAgICAgICAgIChhLm9uID0gew0KICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID4gdGhpcy5jbGlja2VkSW5kZXggPyB0aGlzLnNsaWRlUHJldigpIDogdGhpcy5hY3RpdmVJbmRleCA8IHRoaXMuY2xpY2tlZEluZGV4ICYmIHRoaXMuc2xpZGVOZXh0KCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB2YXIgcCA9IGUuYXR0cigiZGF0YS10aHVtYnMiKTsNCiAgICAgICAgICAgICAgICAiIiAhPSBwICYmDQogICAgICAgICAgICAgICAgICAgIG51bGwgIT0gcCAmJg0KICAgICAgICAgICAgICAgICAgICBudWxsICE9IChwID0gdC5wYXJzZUpTT04ocCkpICYmDQogICAgICAgICAgICAgICAgICAgIChhLnBhZ2luYXRpb24ucmVuZGVyQnVsbGV0ID0gZnVuY3Rpb24gKGUsIHQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnPHNwYW4gY2xhc3M9IicgKyB0ICsgJyIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybCggJyArIHBbZV0gKyAnICkiPjwvc3Bhbj4nOw0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB2YXIgaCA9IG5ldyBTd2lwZXIoZSwgYSk7DQogICAgICAgICAgICAgICAgYy5wdXNoKGgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9DQogICAgZnVuY3Rpb24gQigpIHsNCiAgICAgICAgZm9yICh2YXIgZSA9IDA7IGUgPCBjLmxlbmd0aDsgZSsrKSB7DQogICAgICAgICAgICB2YXIgdCA9IGNbZV0sDQogICAgICAgICAgICAgICAgYSA9IHQuJGVsLmF0dHIoImRhdGEtc2xpZGVyLWRlc3Ryb3kiKTsNCiAgICAgICAgICAgICIiICE9IGEgJiYgbnVsbCAhPSBhICYmIChqKCkgPD0gYSA/IHQuZGVzdHJveSghMSwgITApIDogdC5kZXN0cm95ZWQgJiYgKGMuc3BsaWNlKGUsIDEpLCBBKCkpKTsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBmdW5jdGlvbiBXKCkgew0KICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGZvciAodmFyIGUgPSAwOyBlIDwgYy5sZW5ndGg7IGUrKykgew0KICAgICAgICAgICAgICAgIGNbZV0udXBkYXRlKCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sIDUwMCk7DQogICAgfQ0KICAgIGZ1bmN0aW9uIHEoZSkgew0KICAgICAgICBlLmZpbmQoIi5ncmlkLWl0ZW0iKS5yZW1vdmVDbGFzcygiYW5pbWF0ZV9fYW5pbWF0ZWQiKS5jc3MoInZpc2liaWxpdHkiLCAiIiksDQogICAgICAgICAgICB0KCIud293IikubGVuZ3RoID4gMCAmJg0KICAgICAgICAgICAgICAgIGUuZmluZCgiLmdyaWQtaXRlbSIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IHQodGhpcyk7DQogICAgICAgICAgICAgICAgICAgIHAucmVtb3ZlQm94KHRoaXMpLCBlLmNzcygiLXdlYmtpdC1hbmltYXRpb24iLCAibm9uZSIpLCBlLmNzcygiLW1vei1hbmltYXRpb24iLCAibm9uZSIpLCBlLmNzcygiLW1zLWFuaW1hdGlvbiIsICJub25lIiksIGUuY3NzKCJhbmltYXRpb24iLCAibm9uZSIpOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgIH0NCiAgICBmdW5jdGlvbiBMKGUsIHQpIHsNCiAgICAgICAgZm9yICh2YXIgYSA9IDA7IGEgPCBlLmxlbmd0aDsgYSsrKSB0ICYmIHEoZVthXSksIGVbYV0uZGF0YSgiaXNvdG9wZSIpICYmIGVbYV0uaXNvdG9wZSgibGF5b3V0Iik7DQogICAgfQ0KICAgIGZ1bmN0aW9uIE0oKSB7DQogICAgICAgICh0KCIub3ZlcmxhcC1zZWN0aW9uIikubGVuZ3RoID4gMCB8fCB0KCIub3ZlcmxhcC1zZWN0aW9uLW9uZS1mb3VydGgiKS5sZW5ndGggPiAwIHx8IHQoIi5vdmVybGFwLXNlY3Rpb24tdGhyZWUtZm91cnRoIikubGVuZ3RoID4gMCkgJiYgaigpID49IDc2OA0KICAgICAgICAgICAgPyB0KCIub3ZlcmxhcC1zZWN0aW9uLCAub3ZlcmxhcC1zZWN0aW9uLW9uZS1mb3VydGgsIC5vdmVybGFwLXNlY3Rpb24tdGhyZWUtZm91cnRoIikuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICB2YXIgZSA9IHQodGhpcyk7DQogICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICBlLmltYWdlc0xvYWRlZChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0ID0gZS5jbG9zZXN0KCJzZWN0aW9uIiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhID0gcGFyc2VJbnQodC5jc3MoInBhZGRpbmctdG9wIikpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyA9IGUuZmluZCgiKiIpLm91dGVySGVpZ2h0KCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpID0gbyArIGE7DQogICAgICAgICAgICAgICAgICAgICAgICAgIChpID0gZS5oYXNDbGFzcygib3ZlcmxhcC1zZWN0aW9uLW9uZS1mb3VydGgiKSA/IG8gLyA0IC0gaSA6IGUuaGFzQ2xhc3MoIm92ZXJsYXAtc2VjdGlvbi10aHJlZS1mb3VydGgiKSA/ICgzICogbykgLyA0IC0gaSA6IG8gLyAyIC0gaSksIGUuY3NzKCJtYXJnaW4tdG9wIiwgaSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBuID0gdC5wcmV2KCJzZWN0aW9uLm92ZXJsYXAtaGVpZ2h0IiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICByID0gbi5maW5kKCIub3ZlcmxhcC1nYXAtc2VjdGlvbiIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICBuLmltYWdlc0xvYWRlZChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoci5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSByLm91dGVySGVpZ2h0KCkgKyAoTWF0aC5hYnMoaSkgLSBhKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByLnBhcmVudHMoInNlY3Rpb24ub3ZlcmxhcC1oZWlnaHQiKS5oZWlnaHQoZSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgfSwgMTApOw0KICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgOiAodCgiLm92ZXJsYXAtaGVpZ2h0IikuaGVpZ2h0KCIiKSwgdCgiLm92ZXJsYXAtc2VjdGlvbiwgLm92ZXJsYXAtc2VjdGlvbi1vbmUtZm91cnRoLCAub3ZlcmxhcC1zZWN0aW9uLXRocmVlLWZvdXJ0aCIpLmNzcygibWFyZ2luLXRvcCIsICIiKSk7DQogICAgfQ0KICAgIGZ1bmN0aW9uIEgoZSkgew0KICAgICAgICB0KCIub3ZlcmxhcC1zZWN0aW9uLWJvdHRvbSIpLmxlbmd0aCA+IDAgJiYgaigpID49IDc2OA0KICAgICAgICAgICAgPyB0KCIub3ZlcmxhcC1zZWN0aW9uLWJvdHRvbSIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgdmFyIGEgPSB0KHRoaXMpLA0KICAgICAgICAgICAgICAgICAgICAgIG8gPSBhLmZpbmQoIi5pbnN0YWZlZWQtd3JhcHBlciIpLmxlbmd0aCA+IDAgPyBlIDogMTA7DQogICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICBhLmltYWdlc0xvYWRlZChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBlID0gYS5vdXRlckhlaWdodCgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdCA9IGUgLyAyIC0gZTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgYS5wYXJlbnRzKCJzZWN0aW9uIikubmV4dCgiLm92ZXJsYXAtZ2FwLXNlY3Rpb24tYm90dG9tIikuY3NzKCJtYXJnaW4tdG9wIiwgdCksIGEucGFyZW50cygic2VjdGlvbiIpLm5leHQoIi5vdmVybGFwLWdhcC1zZWN0aW9uLWJvdHRvbSIpLmNzcygicGFkZGluZy10b3AiLCBlKTsNCiAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgIH0sIG8pOw0KICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgOiAodCgiLm92ZXJsYXAtZ2FwLXNlY3Rpb24tYm90dG9tIikuY3NzKCJtYXJnaW4tdG9wIiwgIiIpLCB0KCIub3ZlcmxhcC1nYXAtc2VjdGlvbi1ib3R0b20iKS5jc3MoInBhZGRpbmctdG9wIiwgIiIpKTsNCiAgICB9DQogICAgZnVuY3Rpb24gVigpIHsNCiAgICAgICAgd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTVNJRSAiKSA+IDAgfHwNCiAgICAgICAgICAgIG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL1RyaWRlbnQuKnJ2XDoxMVwuLykgfHwNCiAgICAgICAgICAgICh0KCJbZGF0YS1wYXJhbGxheC1iYWNrZ3JvdW5kLXJhdGlvXSIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKS5hdHRyKCJkYXRhLXBhcmFsbGF4LWJhY2tncm91bmQtcmF0aW8iKSB8fCAwLjU7DQogICAgICAgICAgICAgICAgdCh0aGlzKS5wYXJhbGxheCgiNTAlIiwgZSk7DQogICAgICAgICAgICB9KSwNCiAgICAgICAgICAgIHQoIltkYXRhLXBhcmFsbGF4LWxheW91dC1yYXRpb10iKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHQodGhpcykuYXR0cigiZGF0YS1wYXJhbGxheC1sYXlvdXQtcmF0aW8iKSB8fCAxOw0KICAgICAgICAgICAgICAgIHQodGhpcykucGFyYWxsYXhJbWcoZSk7DQogICAgICAgICAgICB9KSk7DQogICAgfQ0KICAgIGZ1bmN0aW9uIEooKSB7DQogICAgICAgIHZhciBlID0gMDsNCiAgICAgICAgcmV0dXJuICgNCiAgICAgICAgICAgIHQoImhlYWRlciBuYXYubmF2YmFyIikubGVuZ3RoID4gMCAmJiAoZSArPSB0KCJoZWFkZXIgbmF2Lm5hdmJhciIpLm91dGVySGVpZ2h0KCkpLA0KICAgICAgICAgICAgdCgiLnRvcC1iYXIiKS5sZW5ndGggPiAwICYmIChlICs9IHQoIi50b3AtYmFyIikub3V0ZXJIZWlnaHQoKSksDQogICAgICAgICAgICB0KCIuc2lkZWJhci1uYXYtYWN0aW9uIikubGVuZ3RoID4gMCAmJiBqKCkgPD0gaSAmJiAoZSArPSB0KCIuc2lkZWJhci1uYXYtYWN0aW9uIikub3V0ZXJIZWlnaHQoKSksDQogICAgICAgICAgICB0KCIuc2lkZS1tZW51LWhlYWRlciIpLmxlbmd0aCA+IDAgJiYgaigpIDw9IGkgJiYgKGUgKz0gdCgiLnNpZGUtbWVudS1oZWFkZXIiKS5vdXRlckhlaWdodCgpKSwNCiAgICAgICAgICAgIGUNCiAgICAgICAgKTsNCiAgICB9DQogICAgZnVuY3Rpb24gVSgpIHsNCiAgICAgICAgdmFyIGUgPSBKKCk7DQogICAgICAgIHQoIi5uYXZiYXIiKS5oYXNDbGFzcygibm8tc3RpY2t5IikgfHwgKCF0KCIubmF2YmFyIikuaGFzQ2xhc3MoInRvcC1zcGFjZSIpICYmICF0KCIubmF2YmFyIikuaGFzQ2xhc3MoIm1vYmlsZS10b3Atc3BhY2UiKSkgPyB0KCJib2R5IikuY3NzKCJwYWRkaW5nLXRvcCIsICIiKSA6IHQoImJvZHkiKS5jc3MoInBhZGRpbmctdG9wIiwgZSArICJweCIpLA0KICAgICAgICAgICAgdCgiLm1vYmlsZW9mZi1mdWxsc2NyZWVuLXRvcC1zcGFjZSIpLmxlbmd0aCA+PSAwICYmIGooKSA+IDEwMjMgJiYgdCgiLm1vYmlsZW9mZi1mdWxsc2NyZWVuLXRvcC1zcGFjZSIpLmNzcygiaGVpZ2h0IiwgTigpIC0gZSArICJweCIpLA0KICAgICAgICAgICAgdCgiLmZ1bGxzY3JlZW4tdG9wLXNwYWNlIikubGVuZ3RoID49IDAgJiYgdCgiLmZ1bGxzY3JlZW4tdG9wLXNwYWNlIikuY3NzKCJoZWlnaHQiLCBOKCkgLSBlICsgInB4IiksDQogICAgICAgICAgICAodCgiLnNpZGViYXItbmF2LWFjdGlvbiIpLmxlbmd0aCA+IDAgfHwgdCgiLnNpZGUtbWVudS1oZWFkZXIiKS5sZW5ndGggPiAwKSAmJiAoaigpIDw9IGkgPyB0KCJib2R5IikuY3NzKCJwYWRkaW5nLXRvcCIsIGUgKyAicHgiKSA6IHQoImJvZHkiKS5jc3MoInBhZGRpbmctdG9wIiwgIiIpKTsNCiAgICB9DQogICAgZnVuY3Rpb24gRSgpIHsNCiAgICAgICAgdmFyIGUgPSB0KCIuZnVsbC1zY3JlZW4iKSwNCiAgICAgICAgICAgIGEgPSBOKCksDQogICAgICAgICAgICBvID0gSigpOw0KICAgICAgICBqKCkgPD0gaQ0KICAgICAgICAgICAgPyAodCgiaGVhZGVyIG5hdi5uYXZiYXIiKS5hZGRDbGFzcygibW9iaWxlLXRvcC1zcGFjZSIpLCB0KCIuc2lkZWJhci1uYXYtYWN0aW9uIikuYWRkQ2xhc3MoIm1vYmlsZS10b3Atc3BhY2UiKSwgdCgiLnNpZGUtbWVudS1oZWFkZXIiKS5hZGRDbGFzcygibW9iaWxlLXRvcC1zcGFjZSIpKQ0KICAgICAgICAgICAgOiAodCgiaGVhZGVyIG5hdi5uYXZiYXIiKS5yZW1vdmVDbGFzcygibW9iaWxlLXRvcC1zcGFjZSIpLCB0KCIuc2lkZWJhci1uYXYtYWN0aW9uIikucmVtb3ZlQ2xhc3MoIm1vYmlsZS10b3Atc3BhY2UiKSwgdCgiLnNpZGUtbWVudS1oZWFkZXIiKS5yZW1vdmVDbGFzcygibW9iaWxlLXRvcC1zcGFjZSIpKSwNCiAgICAgICAgICAgIGUucGFyZW50cygic2VjdGlvbiIpLmltYWdlc0xvYWRlZChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdCgic2VjdGlvbjpmaXJzdC5mdWxsLXNjcmVlbiwgc2VjdGlvbjpmaXJzdCAuZnVsbC1zY3JlZW4iKS5sZW5ndGggPiAwICYmICh0KCIudG9wLXNwYWNlIikubGVuZ3RoID4gMCB8fCB0KCIubW9iaWxlLXRvcC1zcGFjZSIpLmxlbmd0aCA+IDApDQogICAgICAgICAgICAgICAgICAgID8gdCgic2VjdGlvbjpmaXJzdC5mdWxsLXNjcmVlbiwgc2VjdGlvbjpmaXJzdCAuZnVsbC1zY3JlZW4iKS5jc3MoImhlaWdodCIsIGEgLSBvKQ0KICAgICAgICAgICAgICAgICAgICA6IHQoImhlYWRlciBuYXYubmF2YmFyIikuaGFzQ2xhc3MoInRvcC1zcGFjZSIpIHx8IHQoImhlYWRlciBuYXYubmF2YmFyIikuaGFzQ2xhc3MoIm1vYmlsZS10b3Atc3BhY2UiKQ0KICAgICAgICAgICAgICAgICAgICA/ICgoYSAtPSB0KCJoZWFkZXIgbmF2Lm5hdmJhciIpLm91dGVySGVpZ2h0KCkpLCBlLmNzcygiaGVpZ2h0IiwgYSkpDQogICAgICAgICAgICAgICAgICAgIDogZS5jc3MoImhlaWdodCIsIGEpOw0KICAgICAgICAgICAgfSk7DQogICAgfQ0KICAgIGZ1bmN0aW9uIEcoKSB7DQogICAgICAgIGlmICgNCiAgICAgICAgICAgICh0KCIuZm9vdGVyLXN0aWNreSIpLmxlbmd0aCA+IDAgJiYNCiAgICAgICAgICAgICAgICB0KCIuZm9vdGVyLXN0aWNreSIpLmltYWdlc0xvYWRlZChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBlID0gdCgiLmZvb3Rlci1zdGlja3kiKS5vdXRlckhlaWdodCgpOw0KICAgICAgICAgICAgICAgICAgICB0KCIubWFpbi1jb250ZW50IikuY3NzKHsgIm1hcmdpbi1ib3R0b20iOiBlIH0pOw0KICAgICAgICAgICAgICAgIH0pLA0KICAgICAgICAgICAgdCgiLmJveC1sYXlvdXQiKS5sZW5ndGggPiAwICYmIHQoIi5mb290ZXItc3RpY2t5IikubGVuZ3RoID4gMCkNCiAgICAgICAgKSB7DQogICAgICAgICAgICB2YXIgZSA9IHQoIi5ib3gtbGF5b3V0IiksDQogICAgICAgICAgICAgICAgYSA9IGUud2lkdGgoKTsNCiAgICAgICAgICAgIGUuZmluZCgiLmZvb3Rlci1zdGlja3kiKS5jc3MoeyBtYXJnaW46ICIwIGF1dG8iLCB3aWR0aDogYSwgIm1heC13aWR0aCI6IGEgfSk7DQogICAgICAgIH0NCiAgICB9DQogICAgZnVuY3Rpb24gJChlLCB0LCBhKSB7DQogICAgICAgIHZhciBvID0gbmV3IERhdGUoKTsNCiAgICAgICAgby5zZXRUaW1lKG8uZ2V0VGltZSgpICsgMjQgKiBhICogNjAgKiA2MCAqIDFlMyk7DQogICAgICAgIHZhciBpID0gMCAhPSBhICYmICIiICE9IGEgPyBvLnRvVVRDU3RyaW5nKCkgOiAwOw0KICAgICAgICBkb2N1bWVudC5jb29raWUgPSBlICsgIj0iICsgdCArICI7ZXhwaXJlcz0iICsgaSArICI7cGF0aD0vIjsNCiAgICB9DQogICAgZnVuY3Rpb24gRigpIHsNCiAgICAgICAgVigpLA0KICAgICAgICAgICAgVSgpLA0KICAgICAgICAgICAgdCgiLnZlcnRpY2FsLWNvdW50ZXIiKS5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YXIgZSA9IHQodGhpcyksDQogICAgICAgICAgICAgICAgICAgIGEgPSBlLmNzcygiZm9udC1zaXplIik7DQogICAgICAgICAgICAgICAgZS5jc3MoImhlaWdodCIsIGEpLA0KICAgICAgICAgICAgICAgICAgICBlLmZpbmQoIi52ZXJ0aWNhbC1jb3VudGVyLW51bWJlciIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSB0KHRoaXMpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgPSBlLmZpbmQoImxpIikuaGVpZ2h0KCk7DQogICAgICAgICAgICAgICAgICAgICAgICBlLmhlaWdodChhKTsNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9KTsNCiAgICB9DQogICAgZnVuY3Rpb24gUihlKSB7DQogICAgICAgIHZhciBhID0gZS5wYXJlbnRzKCJmb3JtIiksDQogICAgICAgICAgICBvID0gYS5hdHRyKCJhY3Rpb24iKSwNCiAgICAgICAgICAgIGkgPSBhLmZpbmQoIi5mb3JtLXJlc3VsdHMiKSwNCiAgICAgICAgICAgIG4gPSBhLmZpbmQoJ1tuYW1lPSJyZWRpcmVjdCJdJykudmFsKCk7DQogICAgICAgICIiICE9IG8gJiYNCiAgICAgICAgICAgIG51bGwgIT0gbyAmJg0KICAgICAgICAgICAgKGUuYWRkQ2xhc3MoImxvYWRpbmciKSwNCiAgICAgICAgICAgIHQuYWpheCh7DQogICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLA0KICAgICAgICAgICAgICAgIHVybDogbywNCiAgICAgICAgICAgICAgICBkYXRhOiBhLnNlcmlhbGl6ZSgpLA0KICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChvKSB7DQogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKG8pLA0KICAgICAgICAgICAgICAgICAgICAgICAgZS5yZW1vdmVDbGFzcygibG9hZGluZyIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgIiIgIT0gbiAmJiBudWxsICE9IG4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICh3aW5kb3cubG9jYXRpb24uaHJlZiA9IG4pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAobnVsbCAhPSBvICYmIChvID0gdC5wYXJzZUpTT04obykpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5maW5kKCJpbnB1dFt0eXBlPXRleHRdLGlucHV0W3R5cGU9ZW1haWxdLGlucHV0W3R5cGU9dGVsXSxpbnB1dFt0eXBlPXBhc3N3b3JkXSx0ZXh0YXJlYSIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHQodGhpcykudmFsKCIiKSwgdCh0aGlzKS5yZW1vdmVDbGFzcygiZXJyb3IiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5maW5kKCIuZy1yZWNhcHRjaGEiKS5yZW1vdmVDbGFzcygiZXJyb3IiKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEuZmluZCgiaW5wdXRbdHlwZT1jaGVja2JveF0saW5wdXRbdHlwZT1yYWRpb10iKS5wcm9wKCJjaGVja2VkIiwgITEpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYS5maW5kKCIuZy1yZWNhcHRjaGEiKS5sZW5ndGggPiAwICYmIGdyZWNhcHRjaGEucmVzZXQoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEuZmluZCgiaW5wdXRbbmFtZT1hY3Rpb25dLGlucHV0W25hbWU9Zy1yZWNhcHRjaGEtcmVzcG9uc2VdIikucmVtb3ZlKCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLnJlbW92ZUNsYXNzKCJhbGVydC1zdWNjZXNzIikucmVtb3ZlQ2xhc3MoImFsZXJ0LWRhbmdlciIpLmhpZGUoKSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkuYWRkQ2xhc3Moby5hbGVydCkuaHRtbChvLm1lc3NhZ2UpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaS5yZW1vdmVDbGFzcygiZC1ub25lIikuZmFkZUluKCJzbG93IikuZGVsYXkoNGUzKS5mYWRlT3V0KCJzbG93IikpOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICB9KSk7DQogICAgfQ0KICAgIHQoImJvZHk6bm90KCAubGFuZGluZyApIikuYXBwZW5kKA0KICAgICAgICAnJw0KICAgICksDQogICAgICAgIHQoZG9jdW1lbnQpLm9uKCJjbGljayIsICIuYWxsLWRlbW8iLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YXIgZSA9IHQodGhpcykucGFyZW50cygiLnRoZW1lLWRlbW9zIik7DQogICAgICAgICAgICBpZiAoZS5oYXNDbGFzcygiYWN0aXZlIikpIGUucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLCB0KCJib2R5IikucmVtb3ZlQ2xhc3MoIm92ZXJmbG93LWhpZGRlbiIpOw0KICAgICAgICAgICAgZWxzZSB7DQogICAgICAgICAgICAgICAgZS5hZGRDbGFzcygiYWN0aXZlIiksIHQoImJvZHkiKS5hZGRDbGFzcygib3ZlcmZsb3ctaGlkZGVuIik7DQogICAgICAgICAgICAgICAgdmFyIGEgPSBlLmZpbmQoIi5kZW1vcy13cmFwcGVyIiksDQogICAgICAgICAgICAgICAgICAgIG8gPSBhLmF0dHIoImRhdGEtc2Nyb2xsLW9wdGlvbnMiKSB8fCAneyAidGhlbWUiOiAiZGFyayIgfSc7DQogICAgICAgICAgICAgICAgbnVsbCAhPSBvICYmICgobyA9IHQucGFyc2VKU09OKG8pKSwgYS5tQ3VzdG9tU2Nyb2xsYmFyKG8pKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSksDQogICAgICAgIHQod2luZG93KS5vbigibG9hZCIsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIFYoKSwNCiAgICAgICAgICAgICAgICB0KCJpbWc6bm90KFtkYXRhLWF0MnhdKSIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0KHRoaXMpLmF0dHIoImRhdGEtbm8tcmV0aW5hIiwgIiIpOw0KICAgICAgICAgICAgICAgIH0pLA0KICAgICAgICAgICAgICAgIHQoIi5wYWdlLWxvYWRlciIpLmxlbmd0aCA+IDAgJiYgdCgiLnBhZ2UtbG9hZGVyIikuZmFkZU91dCgpLA0KICAgICAgICAgICAgICAgIEwoZCwgITEpLA0KICAgICAgICAgICAgICAgIFcoKSwNCiAgICAgICAgICAgICAgICBHKCksDQogICAgICAgICAgICAgICAgdCgiLnJldi1uYXYtYXJlcy1lZmZlY3QiKS5sZW5ndGggPiAwICYmDQogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdCgiLnJldi1uYXYtYXJlcy1lZmZlY3QgLmFyZXMiKS5jc3MoeyBvcGFjaXR5OiAiMSIgfSk7DQogICAgICAgICAgICAgICAgICAgIH0sIDJlMyksDQogICAgICAgICAgICAgICAgTSgpLA0KICAgICAgICAgICAgICAgIEgoKTsNCiAgICAgICAgfSksDQogICAgICAgIHQod2luZG93KS5yZXNpemUoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgRSgpLA0KICAgICAgICAgICAgICAgIEIoKSwNCiAgICAgICAgICAgICAgICBXKCksDQogICAgICAgICAgICAgICAgRygpLA0KICAgICAgICAgICAgICAgIHQoIi5uYXZiYXItbW9kZXJuLWlubmVyIikubGVuZ3RoID4gMCA/IHQoIi5kcm9wZG93bi10b2dnbGUtY2xvbmUiKS5kcm9wZG93bigpIDogdCgiLmRyb3Bkb3duLXRvZ2dsZSIpLmRyb3Bkb3duKCksDQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIEwoZCwgITApOw0KICAgICAgICAgICAgICAgIH0sIDMwMCksDQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIEYoKSwgTSgpLCBIKDEwMCksIEQoKTsNCiAgICAgICAgICAgICAgICB9LCA1MDApOw0KICAgICAgICB9KSwNCiAgICAgICAgdCh3aW5kb3cpLm9uKCJvcmllbnRhdGlvbmNoYW5nZSIsIGZ1bmN0aW9uIChlKSB7DQogICAgICAgICAgICB0KCIuY2xvc2UtbWVudSIpLnRyaWdnZXIoImNsaWNrIiksIHQod2luZG93KS50cmlnZ2VyKCJjbG9zZW1lbnUiKTsNCiAgICAgICAgfSksDQogICAgICAgIHQod2luZG93KS5vbigiY2xvc2VtZW51IiwgZnVuY3Rpb24gKGUpIHsNCiAgICAgICAgICAgIHQoIi5kcm9wZG93biIpLmVhY2goZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhciBlID0gdCh0aGlzKTsNCiAgICAgICAgICAgICAgICBlLnRyaWdnZXIoIm1vdXNlbGVhdmUiKSwgZS5yZW1vdmVDbGFzcygic2hvdyIpLCBlLmNoaWxkcmVuKCIuZHJvcGRvd24tbWVudSIpLnJlbW92ZUNsYXNzKCJzaG93Iik7DQogICAgICAgICAgICB9KSwNCiAgICAgICAgICAgICAgICB0KCIubmF2YmFyLWNvbGxhcHNlIikuaGFzQ2xhc3MoInNob3ciKSAmJiB0KCIubmF2YmFyLWNvbGxhcHNlIikucmVtb3ZlQ2xhc3MoInNob3ciKSwNCiAgICAgICAgICAgICAgICB0KCJib2R5IikuaGFzQ2xhc3MoIm5hdmJhci1jb2xsYXBzZS1zaG93IikgJiYgKHQoImJvZHkiKS5yZW1vdmVDbGFzcygibmF2YmFyLWNvbGxhcHNlLXNob3ciKSwgdCgiaHRtbCIpLnJlbW92ZUNsYXNzKCJvdmVyZmxvdy1oaWRkZW4iKSksDQogICAgICAgICAgICAgICAgdCgiLnNlYXJjaC1jbG9zZSIpLnRyaWdnZXIoImNsaWNrIiksDQogICAgICAgICAgICAgICAgdCgiLnRoZW1lLWRlbW9zIikuaGFzQ2xhc3MoImFjdGl2ZSIpICYmIHQoIi5hbGwtZGVtbyIpLnRyaWdnZXIoImNsaWNrIik7DQogICAgICAgIH0pLA0KICAgICAgICB0KHdpbmRvdykub24oInNjcm9sbCIsIEQpOw0KfSkoalF1ZXJ5KTsNCg=="}},"time_used":56,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":56,"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":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.611Z","timestamp":1785129949611,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://digitaltradeinvest.org\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: 43136\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 10:17:38 GMT\r\nexpires: Fri, 23 Jul 2027 10:17:38 GMT\r\ncache-control: public, max-age=31536000\r\nage: 328091\r\nlast-modified: Wed, 18 Feb 2026 19:51:37 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":43136,"size_decoded":43949,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 43136, version 1.0","md5":"665db5e157d2138835c4037c971ff3a4","sha1":"41ca6b7e4818eb81531d8006ff7ddd971c640879","sha256":"1404ca348bd75ef836f4dd8b6f2cc719458642d1237c368296b2fc652dca47dc","sha512":"6c999466673c9873b1b112d6ab95c7cecb99467ea156e3e046b54c5f3d109c3845b05cbb2a0245d178430c7b2ceacd5110f7d8faf7e041100f44852b0c29fe9a","ssdeep":"768:tMTmVhyXCrekkraPAjrWMMWD3UJmw0FRwoglekm+hQ7//geceSF/mEQBPMAmDu5:cmHkCrHvPAjrWMMI3UJswogl4j7/hSlW","tlshash":"f9130231eb70ee59962c903454e7fda9433b1457d731aca80e99a1ce6f8103454facec","first_seen":"2026-02-19T22:27:43.350598Z","last_seen":"2026-08-15T16:46:46.955572Z","times_seen":262938,"resource_available":false,"data":"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"}},"time_used":69,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":19,"receive":50,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.googletagmanager.com/gtag/js?id=G-V84XP8WGXY","fqdn":"www.googletagmanager.com","domain":"googletagmanager.com","tld":"com"},"ip":{"addr":"142.250.178.104","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.736Z","timestamp":1785129949736,"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-analytics.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:33 GMT","end":"Mon, 21 Sep 2026 08:37:32 GMT"},"fingerprint":{"sha1":"85:82:80:E9:F0:BC:08:B5:D8:5D:91:B4:E5:D3:DB:B1:A7:2F:E3:F3","sha256":"E3:94:E9:DA:2C:F1:36:09:33:63:D3:69:08:E7:E6:91:8D:F3:61:7F:0F:D0:5F:8E:B6:E9:D7:F3:DD:10:3C:DC"}}},"request":{"raw":"GET /gtag/js?id=G-V84XP8WGXY HTTP/1.1\r\nHost: www.googletagmanager.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) 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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: application/javascript; charset=UTF-8\r\naccess-control-allow-origin: *\r\naccess-control-allow-credentials: true\r\naccess-control-allow-headers: Cache-Control\r\ncontent-encoding: zstd\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\nexpires: Mon, 27 Jul 2026 05:25:49 GMT\r\ncache-control: private, max-age=900\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\ncross-origin-resource-policy: cross-origin\r\nserver: Google Tag Manager\r\ncontent-length: 166343\r\nx-xss-protection: 0\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":488553,"size_decoded":166947,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (6033)","md5":"bea43ed2cdab6de383dae5b43f7f7ea7","sha1":"fee133e8e4885d721f6251298bbef7797126d1e6","sha256":"5324890457a4126c757b6c6f4eb68d2e58501802bffc02bc5018aa185d33c7e7","sha512":"d0948a7b1e160bd486f71a1c87caff66c4d8bb68becaffb75aa3875251a34474cba30ab51b8052c425e453911a1a804a7c746aee4ef7db3f95bb86f7c04f585a","ssdeep":"6144:/yHnRU0jIWXbP69FMxmRknhqsScPmfxNf3EjUxVGaZoXzRYGg:/8nC1WLP69VwqxVZOvg","tlshash":"aea4f8cdb3d674225396f478903f018ba57b29e2b44cc899f189cce42e7465a8267f7c","first_seen":"2026-07-27T02:47:36.009071Z","last_seen":"2026-07-27T07:02:12.014235Z","times_seen":194,"resource_available":true,"data":"Ci8vIENvcHlyaWdodCAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAKKGZ1bmN0aW9uKCl7Cgp2YXIgZGF0YSA9IHsKInJlc291cmNlIjogewogICJ2ZXJzaW9uIjoiMSIsCiAgCiAgIm1hY3JvcyI6W3siZnVuY3Rpb24iOiJfX2UifSx7ImZ1bmN0aW9uIjoiX19jIiwidnRwX3ZhbHVlIjoiZ29vZ2xlLm5vIn0seyJmdW5jdGlvbiI6Il9fYyIsInZ0cF92YWx1ZSI6MH1dLAogICJ0YWdzIjpbeyJmdW5jdGlvbiI6Il9fb2d0XzFwX2RhdGFfdjIiLCJwcmlvcml0eSI6MTMsInZ0cF9pc0F1dG9FbmFibGVkIjp0cnVlLCJ2dHBfYXV0b1Bob25lRW5hYmxlZCI6dHJ1ZSwidnRwX2F1dG9Db2xsZWN0RXhjbHVzaW9uU2VsZWN0b3JzIjpbImxpc3QiLFsibWFwIiwiZXhjbHVzaW9uU2VsZWN0b3IiLCIiXV0sInZ0cF9pc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvQWRkcmVzc0VuYWJsZWQiOnRydWUsInZ0cF9hdXRvRW1haWxFbmFibGVkIjp0cnVlLCJ2dHBfaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIjp0cnVlLCJ0YWdfaWQiOjR9LHsiZnVuY3Rpb24iOiJfX2NjZF9nYV9maXJzdCIsInByaW9yaXR5IjoxMiwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTh9LHsiZnVuY3Rpb24iOiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIiwicHJpb3JpdHkiOjExLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidnRwX2ZvcmVpZ25UbGRNYWNyb1Jlc3VsdCI6WyJtYWNybyIsMV0sInZ0cF9pc0NoaW5hVmlwUmVnaW9uTWFjcm9SZXN1bHQiOlsibWFjcm8iLDJdLCJ0YWdfaWQiOjE3fSx7ImZ1bmN0aW9uIjoiX19jY2RfZ2FfcmVnc2NvcGUiLCJwcmlvcml0eSI6MTAsInZ0cF9zZXR0aW5nc1RhYmxlIjpbImxpc3QiLFsibWFwIiwicmVkYWN0RmllbGRHcm91cCIsIkRFVklDRV9BTkRfR0VPIiwiZGlzYWxsb3dBbGxSZWdpb25zIixmYWxzZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXSxbIm1hcCIsInJlZGFjdEZpZWxkR3JvdXAiLCJHT09HTEVfU0lHTkFMUyIsImRpc2FsbG93QWxsUmVnaW9ucyIsdHJ1ZSwiZGlzYWxsb3dlZFJlZ2lvbnMiLCIiXV0sInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE2fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZG93bmxvYWQiLCJwcmlvcml0eSI6OSwidnRwX2luY2x1ZGVQYXJhbXMiOnRydWUsInZ0cF9pbnN0YW5jZURlc3RpbmF0aW9uSWQiOiJHLVY4NFhQOFdHWFkiLCJ0YWdfaWQiOjE1fSx7ImZ1bmN0aW9uIjoiX19jY2RfZW1fZm9ybSIsInByaW9yaXR5Ijo4LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTR9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsInByaW9yaXR5Ijo3LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTN9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9wYWdlX3ZpZXciLCJwcmlvcml0eSI6NiwidnRwX2hpc3RvcnlFdmVudHMiOnRydWUsInZ0cF9pbmNsdWRlUGFyYW1zIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjoxMn0seyJmdW5jdGlvbiI6Il9fY2NkX2VtX3Njcm9sbCIsInByaW9yaXR5Ijo1LCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTF9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsInByaW9yaXR5Ijo0LCJ2dHBfc2VhcmNoUXVlcnlQYXJhbXMiOiJxLHMsc2VhcmNoLHF1ZXJ5LGtleXdvcmQiLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6MTB9LHsiZnVuY3Rpb24iOiJfX2NjZF9lbV92aWRlbyIsInByaW9yaXR5IjozLCJ2dHBfaW5jbHVkZVBhcmFtcyI6dHJ1ZSwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6OX0seyJmdW5jdGlvbiI6Il9fY2NkX2NvbnZlcnNpb25fbWFya2luZyIsInByaW9yaXR5IjoyLCJ2dHBfY29udmVyc2lvblJ1bGVzIjpbImxpc3QiLFsibWFwIiwibWF0Y2hpbmdSdWxlcyIsIntcInR5cGVcIjo1LFwiYXJnc1wiOlt7XCJzdHJpbmdWYWx1ZVwiOlwiY2xvc2VfY29udmVydF9sZWFkXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il0sWyJtYXAiLCJtYXRjaGluZ1J1bGVzIiwie1widHlwZVwiOjUsXCJhcmdzXCI6W3tcInN0cmluZ1ZhbHVlXCI6XCJxdWFsaWZ5X2xlYWRcIn0se1wiY29udGV4dFZhbHVlXCI6e1wibmFtZXNwYWNlVHlwZVwiOjEsXCJrZXlQYXJ0c1wiOltcImV2ZW50TmFtZVwiXX19XX0iXSxbIm1hcCIsIm1hdGNoaW5nUnVsZXMiLCJ7XCJ0eXBlXCI6NSxcImFyZ3NcIjpbe1wic3RyaW5nVmFsdWVcIjpcInB1cmNoYXNlXCJ9LHtcImNvbnRleHRWYWx1ZVwiOntcIm5hbWVzcGFjZVR5cGVcIjoxLFwia2V5UGFydHNcIjpbXCJldmVudE5hbWVcIl19fV19Il1dLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo4fSx7ImZ1bmN0aW9uIjoiX19jY2RfYXV0b19yZWRhY3QiLCJwcmlvcml0eSI6MSwidnRwX3JlZGFjdEVtYWlsIjp0cnVlLCJ2dHBfaW5zdGFuY2VEZXN0aW5hdGlvbklkIjoiRy1WODRYUDhXR1hZIiwidGFnX2lkIjo3fSx7ImZ1bmN0aW9uIjoiX19nY3QiLCJ2dHBfdHJhY2tpbmdJZCI6IkctVjg0WFA4V0dYWSIsInZ0cF9zZXNzaW9uRHVyYXRpb24iOjAsInRhZ19pZCI6MX0seyJmdW5jdGlvbiI6Il9fY2NkX2dhX2xhc3QiLCJwcmlvcml0eSI6MCwidnRwX2luc3RhbmNlRGVzdGluYXRpb25JZCI6IkctVjg0WFA4V0dYWSIsInRhZ19pZCI6Nn1dLAogICJwcmVkaWNhdGVzIjpbeyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmpzIn0seyJmdW5jdGlvbiI6Il9lcSIsImFyZzAiOlsibWFjcm8iLDBdLCJhcmcxIjoiZ3RtLmluaXQifV0sCiAgInJ1bGVzIjpbW1siaWYiLDBdLFsiYWRkIiwxM11dLFtbImlmIiwxXSxbImFkZCIsMCwxNCwxMiwxMSwxMCw5LDgsNyw2LDUsNCwzLDIsMV1dXQp9LAoicnVudGltZSI6WyBbNTAsIl9fYyIsWzQ2LCJhIl0sWzM2LFsxNyxbMTUsImEiXSwidmFsdWUiXV1dCiAsWzUwLCJfX2NjZF9hdXRvX3JlZGFjdCIsWzQ2LCJhIl0sWzUwLCJ2IixbNDYsImFGIl0sWzM2LFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJ1Il0sIlxcJDEiXV1dXSxbNTAsInciLFs0NiwiYUYiXSxbNTIsImFHIixbMzAsWyJjIixbMTUsImFGIl1dLFsxNSwiYUYiXV1dLFs1MiwiYUgiLFs3XV0sWzY1LCJhSSIsWzIsWzE1LCJhRyJdLCJzcGxpdCIsWzcsIiJdXSxbNDYsWzUzLFs1MiwiYUoiLFs3LFsidiIsWzE1LCJhSSJdXV1dLFs1MiwiYUsiLFsiZCIsWzE1LCJhSSJdXV0sWzIyLFsxMixbMTUsImFLIl0sWzQ1XV0sWzQ2LFs1MyxbMzYsWyJkIixbInYiLFsxNSwiYUYiXV1dXV1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbMTUsImFJIl1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbMTUsImFLIl1dXSxbMjIsWzIxLFsxNSwiYUkiXSxbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXSxbNDYsWzUzLFsyLFsxNSwiYUoiXSwicHVzaCIsWzcsWyJkIixbMixbMTUsImFJIl0sInRvTG93ZXJDYXNlIixbN11dXV1dXV0sWzQ2LFsyMixbMjEsWzE1LCJhSSJdLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dLFs0NixbNTMsWzIsWzE1LCJhSiJdLCJwdXNoIixbNyxbImQiLFsyLFsxNSwiYUkiXSwidG9VcHBlckNhc2UiLFs3XV1dXV1dXV1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFKIl0sImxlbmd0aCJdLDFdLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMCxbMCwiKD86IixbMixbMTUsImFKIl0sImpvaW4iLFs3LCJ8Il1dXSwiKSJdXV1dXSxbNDYsWzUzLFsyLFsxNSwiYUgiXSwicHVzaCIsWzcsWzE2LFsxNSwiYUoiXSwwXV1dXV1dXV1dLFszNixbMixbMTUsImFIIl0sImpvaW4iLFs3LCIiXV1dXSxbNTAsIngiLFs0NiwiYUYiLCJhRyIsImFIIl0sWzUyLCJhSSIsWyJ6IixbMTUsImFGIl0sWzE1LCJhSCJdXV0sWzIyLFsyOCxbMTUsImFJIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjgsWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFs0MSwiYUoiXSxbMywiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNjUsImFLIixbMTUsImFHIl0sWzQ2LFs1MyxbNTIsImFMIixbNyxbInYiLFsxNSwiYUsiXV0sWyJ3IixbMTUsImFLIl1dXV0sWzY1LCJhTSIsWzE1LCJhTCJdLFs0NixbNTMsWzUyLCJhTiIsWzMwLFsxNixbMTUsInQiXSxbMTUsImFNIl1dLFs0MyxbMTUsInQiXSxbMTUsImFNIl0sWyJiIixbMCxbMCwiKFs/Jl0iLFsxNSwiYU0iXV0sIj0pKFteJl0qKSJdLCJnaSJdXV1dLFszLCJhSiIsWzIsWzE1LCJhSiJdLCJyZXBsYWNlIixbNyxbMTUsImFOIl0sWzAsIiQxIixbMTUsInIiXV1dXV1dXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sWzE3LFsxNSwiYUkiXSwic2VhcmNoIl1dLFs0NixbMzYsWzE1LCJhRiJdXV1dLFsyMixbMjAsWzE2LFsxNSwiYUoiXSwwXSwiJiJdLFs0NixbMywiYUoiLFsyLFsxNSwiYUoiXSwic3Vic3RyaW5nIixbNywxXV1dXV0sWzIyLFsyMSxbMTYsWzE1LCJhSiJdLDBdLCI/Il0sWzQ2LFszLCJhSiIsWzAsIj8iLFsxNSwiYUoiXV1dXV0sWzIyLFsyMCxbMTUsImFKIl0sIj8iXSxbNDYsWzMsImFKIiwiIl1dXSxbNDMsWzE1LCJhSSJdLCJzZWFyY2giLFsxNSwiYUoiXV0sWzM2LFsiYUEiLFsxNSwiYUkiXSxbMTUsImFIIl1dXV0sWzUwLCJ6IixbNDYsImFGIiwiYUciXSxbMjIsWzIwLFsxNSwiYUciXSxbMTcsWzE1LCJzIl0sIlBBVEgiXV0sWzQ2LFs1MyxbMywiYUYiLFswLFsxNSwieSJdLFsxNSwiYUYiXV1dXV1dLFszNixbImYiLFsxNSwiYUYiXV1dXSxbNTAsImFBIixbNDYsImFGIiwiYUciXSxbNDEsImFIIl0sWzMsImFIIiwiIl0sWzIyLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJVUkwiXV0sWzQ2LFs1MyxbNDEsImFJIl0sWzMsImFJIiwiIl0sWzIyLFszMCxbMTcsWzE1LCJhRiJdLCJ1c2VybmFtZSJdLFsxNyxbMTUsImFGIl0sInBhc3N3b3JkIl1dLFs0NixbNTMsWzMsImFJIixbMCxbMTUsImFJIl0sWzAsWzAsWzAsWzE3LFsxNSwiYUYiXSwidXNlcm5hbWUiXSxbMzksWzE3LFsxNSwiYUYiXSwicGFzc3dvcmQiXSwiOiIsIiJdXSxbMTcsWzE1LCJhRiJdLCJwYXNzd29yZCJdXSwiQCJdXV1dXV0sWzMsImFIIixbMCxbMCxbMCxbMTcsWzE1LCJhRiJdLCJwcm90b2NvbCJdLCIvLyJdLFsxNSwiYUkiXV0sWzE3LFsxNSwiYUYiXSwiaG9zdCJdXV1dXV0sWzM2LFswLFswLFswLFsxNSwiYUgiXSxbMTcsWzE1LCJhRiJdLCJwYXRobmFtZSJdXSxbMTcsWzE1LCJhRiJdLCJzZWFyY2giXV0sWzE3LFsxNSwiYUYiXSwiaGFzaCJdXV1dLFs1MCwiYUIiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLFsyLFsxNSwiYUYiXSwicmVwbGFjZSIsWzcsWzE1LCJuIl0sWzE1LCJyIl1dXV0sWzIyLFszMCxbMjAsWzE1LCJhRyJdLFsxNyxbMTUsInMiXSwiVVJMIl1dLFsyMCxbMTUsImFHIl0sWzE3LFsxNSwicyJdLCJQQVRIIl1dXSxbNDYsWzUzLFs1MiwiYUkiLFsieiIsWzE1LCJhSCJdLFsxNSwiYUciXV1dLFsyMixbMjAsWzE1LCJhSSJdLFs0NF1dLFs0NixbMzYsWzE1LCJhSCJdXV1dLFs1MiwiYUoiLFsxNyxbMTUsImFJIl0sInNlYXJjaCJdXSxbNTIsImFLIixbMixbMTUsImFKIl0sInJlcGxhY2UiLFs3LFsxNSwibyJdLFsxNSwiciJdXV1dLFsyMixbMjAsWzE1LCJhSiJdLFsxNSwiYUsiXV0sWzQ2LFszNixbMTUsImFIIl1dXV0sWzQzLFsxNSwiYUkiXSwic2VhcmNoIixbMTUsImFLIl1dLFszLCJhSCIsWyJhQSIsWzE1LCJhSSJdLFsxNSwiYUciXV1dXV1dLFszNixbMTUsImFIIl1dXSxbNTAsImFDIixbNDYsImFGIl0sWzIyLFsyMCxbMTUsImFGIl0sWzE1LCJxIl1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiUEFUSCJdXV1dLFs0NixbMjIsWzIxLFsyLFsxNSwicCJdLCJpbmRleE9mIixbNyxbMTUsImFGIl1dXSxbMjcsMV1dLFs0NixbNTMsWzM2LFsxNyxbMTUsInMiXSwiVVJMIl1dXV0sWzQ2LFs1MyxbMzYsWzE3LFsxNSwicyJdLCJURVhUIl1dXV1dXV1dLFs1MCwiYUQiLFs0NiwiYUYiLCJhRyJdLFs0MSwiYUgiXSxbMywiYUgiLGZhbHNlXSxbNTIsImFJIixbImUiLFsxNSwiYUYiXV1dLFszOCxbMTUsImFJIl0sWzQ2LCJzdHJpbmciLCJhcnJheSIsIm9iamVjdCJdLFs0NixbNSxbNDYsWzUyLCJhSiIsWyJhQiIsWzE1LCJhRiJdLFsxNSwiYUciXV1dLFsyMixbMjEsWzE1LCJhRiJdLFsxNSwiYUoiXV0sWzQ2LFs1MyxbMzYsWzE1LCJhSiJdXV1dXSxbNF1dXSxbNSxbNDYsWzUzLFs0MSwiYUsiXSxbMywiYUsiLDBdLFs2MyxbNywiYUsiXSxbMjMsWzE1LCJhSyJdLFsxNyxbMTUsImFGIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJhSyJdLFszLCJhSyIsWzAsWzE1LCJhSyJdLDFdXV0sWzQ2LFs1MyxbNTIsImFMIixbImFEIixbMTYsWzE1LCJhRiJdLFsxNSwiYUsiXV0sWzE3LFsxNSwicyJdLCJURVhUIl1dXSxbMjIsWzIxLFsxNSwiYUwiXSxbNDRdXSxbNDYsWzUzLFs0MyxbMTUsImFGIl0sWzE1LCJhSyJdLFsxNSwiYUwiXV0sWzMsImFIIix0cnVlXV1dXV1dXV0sWzRdXV0sWzUsWzQ2LFs1NCwiYUsiLFsxNSwiYUYiXSxbNDYsWzUzLFs1MiwiYUwiLFsiYUQiLFsxNixbMTUsImFGIl0sWzE1LCJhSyJdXSxbMTcsWzE1LCJzIl0sIlRFWFQiXV1dLFsyMixbMjEsWzE1LCJhTCJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiYUYiXSxbMTUsImFLIl0sWzE1LCJhTCJdXSxbMywiYUgiLHRydWVdXV1dXV1dLFs0XV1dXV0sWzM2LFszOSxbMTUsImFIIl0sWzE1LCJhRiJdLFs0NF1dXV0sWzUwLCJhRSIsWzQ2LCJhRiIsImFHIl0sWzUyLCJhSCIsWzMwLFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQUMiXV1dLFs3XV1dLFsyMixbMjAsWzIsWzE1LCJhSCJdLCJpbmRleE9mIixbNyxbMTUsImFHIl1dXSxbMjcsMV1dLFs0NixbNTMsWzIsWzE1LCJhSCJdLCJwdXNoIixbNyxbMTUsImFHIl1dXV1dXSxbMixbMTUsImFGIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJoIl0sIkFDIl0sWzE1LCJhSCJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuY3JlYXRlUmVnZXgiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJkZWNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJlbmNvZGVVcmlDb21wb25lbnQiXV0sWzUyLCJlIixbInJlcXVpcmUiLCJnZXRUeXBlIl1dLFs1MiwiZiIsWyJyZXF1aXJlIiwicGFyc2VVcmwiXV0sWzUyLCJnIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiaCIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImkiLFsxNSwiX19tb2R1bGVfZ29sZEV2ZW50VXNhZ2VJZCJdXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFs1MiwiayIsWzE3LFsxNSwiYSJdLCJyZWRhY3RFbWFpbCJdXSxbNTIsImwiLFsxNyxbMTUsImEiXSwicmVkYWN0UXVlcnlQYXJhbXMiXV0sWzUyLCJtIixbMzksWzE1LCJsIl0sWzIsWzE1LCJsIl0sInNwbGl0IixbNywiLCJdXSxbN11dXSxbMjIsWzEsWzI4LFsxNyxbMTUsIm0iXSwibGVuZ3RoIl1dLFsyOCxbMTUsImsiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFs1MiwibiIsWyJiIiwiW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcXC5bQS1aXXsyLH0iLCJnaSJdXSxbNTIsIm8iLFsiYiIsWzAsIihbQS1aMC05Ll8tXXwlMjV8JTJCKSslNDBbQS1aMC05Li1dIiwiK1xcLltBLVpdezIsfSJdLCJnaSJdXSxbNTIsInAiLFs3LCJwYWdlX2xvY2F0aW9uIiwicGFnZV9yZWZlcnJlciIsInBhZ2VfcGF0aCIsImxpbmtfdXJsIiwidmlkZW9fdXJsIiwiZm9ybV9kZXN0aW5hdGlvbiJdXSxbNTIsInEiLCJwYWdlX3BhdGgiXSxbNTIsInIiLCIocmVkYWN0ZWQpIl0sWzUyLCJzIixbOCwiVEVYVCIsMCwiVVJMIiwxLCJQQVRIIiwyXV0sWzUyLCJ0IixbOF1dLFs1MiwidSIsWyJiIiwiKFtcXFxcXiQufD8qKygpe31dfFxcW3xcXFspIiwiZyJdXSxbNTIsInkiLCJodHRwOi8vLiJdLFsiZyIsWzE1LCJqIl0sWzUxLCIiLFs3LCJhRiJdLFsyMixbMTUsImsiXSxbNDYsWzUzLFs1MiwiYUciLFsyLFsxNSwiYUYiXSwiZ2V0SGl0S2V5cyIsWzddXV0sWzY1LCJhSCIsWzE1LCJhRyJdLFs0NixbNTMsWzIyLFsyMCxbMTUsImFIIl0sIl9zc3RfcGFyYW1ldGVycyJdLFs0NixbNl1dXSxbNTIsImFJIixbMixbMTUsImFGIl0sImdldEhpdERhdGEiLFs3LFsxNSwiYUgiXV1dXSxbMjIsWzI4LFsxNSwiYUkiXV0sWzQ2LFs2XV1dLFs1MiwiYUoiLFsiYUMiLFsxNSwiYUgiXV1dLFs1MiwiYUsiLFsiYUQiLFsxNSwiYUkiXSxbMTUsImFKIl1dXSxbMjIsWzIxLFsxNSwiYUsiXSxbNDRdXSxbNDYsWzUzLFsyLFsxNSwiYUYiXSwic2V0SGl0RGF0YSIsWzcsWzE1LCJhSCJdLFsxNSwiYUsiXV1dLFsiYUUiLFsxNSwiYUYiXSxbMzksWzIsWzE1LCJhRiJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiaCJdLCJCTyJdXV0sWzE3LFsxNSwiaSJdLCJXIl0sWzE3LFsxNSwiaSJdLCJPIl1dXV1dXV1dXV1dXSxbMjIsWzE3LFsxNSwibSJdLCJsZW5ndGgiXSxbNDYsWzUzLFs2NSwiYUciLFsxNSwicCJdLFs0NixbNTMsWzUyLCJhSCIsWzIsWzE1LCJhRiJdLCJnZXRIaXREYXRhIixbNyxbMTUsImFHIl1dXV0sWzIyLFsyOCxbMTUsImFIIl1dLFs0NixbNl1dXSxbNTIsImFJIixbMzksWzIwLFsxNSwiYUciXSxbMTUsInEiXV0sWzE3LFsxNSwicyJdLCJQQVRIIl0sWzE3LFsxNSwicyJdLCJVUkwiXV1dLFs1MiwiYUoiLFsieCIsWzE1LCJhSCJdLFsxNSwibSJdLFsxNSwiYUkiXV1dLFsyMixbMjEsWzE1LCJhSiJdLFsxNSwiYUgiXV0sWzQ2LFs1MyxbMixbMTUsImFGIl0sInNldEhpdERhdGEiLFs3LFsxNSwiYUciXSxbMTUsImFKIl1dXSxbImFFIixbMTUsImFGIl0sWzM5LFsyLFsxNSwiYUYiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImgiXSwiQk8iXV1dLFsxNyxbMTUsImkiXSwiWCJdLFsxNyxbMTUsImkiXSwiUCJdXV1dXV1dXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIixbNDYsImEiXSxbMjIsWzMwLFsyOCxbMTcsWzE1LCJhIl0sImNvbnZlcnNpb25SdWxlcyJdXSxbMjAsWzE3LFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sImxlbmd0aCJdLDBdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlQcmVIaXQiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJmIiwiZmlyc3RfdmlzaXQiXSxbNTIsImciLCJzZXNzaW9uX3N0YXJ0Il0sWzQxLCJoIl0sWzQxLCJpIl0sWyJkIixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdLFs1MSwiIixbNywiaiJdLFs1MiwiayIsWzgsInByZUhpdCIsWzE1LCJqIl1dXSxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiUCJdLHRydWVdXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVYiXSx0cnVlXV0sWzRdXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQVoiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImgiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJmIl1dXSxbMywiaCIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImgiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkEiXSx0cnVlXV0sWzRdXV1dXV1dXV1dLFsyMixbMixbMTUsImoiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQkwiXV1dLFs0NixbNTMsWzIyLFsyOCxbMTUsImkiXV0sWzQ2LFs1MyxbNTIsImwiLFsiYiIsWzE1LCJqIl0sWzgsIm9taXRIaXREYXRhIix0cnVlLCJvbWl0TWV0YWRhdGEiLHRydWVdXV0sWzIsWzE1LCJsIl0sInNldEV2ZW50TmFtZSIsWzcsWzE1LCJnIl1dXSxbMywiaSIsWzgsInByZUhpdCIsWzE1LCJsIl1dXV1dXSxbNjUsImwiLFsxNyxbMTUsImEiXSwiY29udmVyc2lvblJ1bGVzIl0sWzQ2LFs1MyxbMjIsWyJjIixbMTcsWzE1LCJsIl0sIm1hdGNoaW5nUnVsZXMiXSxbMTUsImkiXV0sWzQ2LFs1MyxbMixbMTUsImoiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImUiXSwiQk0iXSx0cnVlXV0sWzRdXV1dXV1dXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXQogLFs1MCwiX19jY2RfZW1fZG93bmxvYWQiLFs0NiwiYSJdLFs1MCwicSIsWzQ2LCJ2Il0sWzM2LFsxLFsxNSwidiJdLFsyMSxbMixbMixbMTUsInYiXSwidG9Mb3dlckNhc2UiLFs3XV0sIm1hdGNoIixbNyxbMTUsInAiXV1dLFs0NV1dXV1dLFs1MCwiciIsWzQ2LCJ2Il0sWzUyLCJ3IixbMixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl0sInNwbGl0IixbNywiLiJdXV0sWzUyLCJ4IixbMzksWzE4LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sMV0sWzE2LFsxNSwidyJdLFszNyxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdLDFdXSwiIl1dLFszNixbMTYsWzIsWzE1LCJ4Il0sInNwbGl0IixbNywiLyJdXSwwXV1dLFs1MCwicyIsWzQ2LCJ2Il0sWzM2LFszOSxbMTIsWzIsWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLCJzdWJzdHJpbmciLFs3LDAsMV1dLCIvIl0sWzE3LFsxNSwidiJdLCJwYXRobmFtZSJdLFswLCIvIixbMTcsWzE1LCJ2Il0sInBhdGhuYW1lIl1dXV1dLFs1MCwidCIsWzQ2LCJ2Il0sWzQxLCJ3Il0sWzMsInciLCIiXSxbMjIsWzEsWzE1LCJ2Il0sWzE3LFsxNSwidiJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ4Il0sWzMsIngiLFsyLFsxNyxbMTUsInYiXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsInciLFszOSxbMjMsWzE1LCJ4Il0sMF0sWzE3LFsxNSwidiJdLCJocmVmIl0sWzIsWzE3LFsxNSwidiJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsIngiXV1dXV1dXV0sWzM2LFsxNSwidyJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbURvd25sb2FkQWN0aXZpdHkiXV0sWzUyLCJmIixbMTcsWzE1LCJkIl0sIkEiXV0sWzUyLCJnIiwiZmlsZV9kb3dubG9hZCJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibCJdLCJBIixbNywiZG93bmxvYWQiXV1dLFs1MiwicCIsWzAsIl4ocGRmfHhsc3g/fGRvY3g/fHR4dHxydGZ8Y3N2fGV4ZXxrZXl8cHAoc3x0fHR4KXw3enxwa2d8cmFyfGd6fHppcHxhdml8IiwibW92fG1wNHxtcGU/Z3x3bXZ8bWlkaT98bXAzfHdhdnx3bWEpJCJdXSxbNTIsInUiLFsiayIsWzgsImNoZWNrVmFsaWRhdGlvbiIsdHJ1ZV1dXSxbMjIsWzI4LFsxNSwidSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImMiXSwic2V0SXRlbSIsWzcsWzE1LCJoIl0sdHJ1ZV1dLFsiaiIsImd0bS5saW5rQ2xpY2siLFs1MSwiIixbNywidiIsInciXSxbInciXSxbNTIsIngiLFs4LCJldmVudElkIixbMTYsWzE1LCJ2Il0sImd0bS51bmlxdWVFdmVudElkIl0sImRlZmVycmFibGUiLHRydWVdXSxbNTIsInkiLFsxNixbMTUsInYiXSwiZ3RtLmVsZW1lbnRVcmwiXV0sWzUyLCJ6IixbIm0iLFsxNSwieSJdXV0sWzIyLFsyOCxbMTUsInoiXV0sWzQ2LFszNl1dXSxbNTIsImFBIixbInIiLFsxNSwieiJdXV0sWzIyLFsyOCxbInEiLFsxNSwiYUEiXV1dLFs0NixbNTMsWzM2XV1dXSxbNTIsImFCIixbOCwibGlua19pZCIsWzE2LFsxNSwidiJdLCJndG0uZWxlbWVudElkIl0sImxpbmtfdXJsIixbInQiLFsxNSwieiJdXSwibGlua190ZXh0IixbMTYsWzE1LCJ2Il0sImd0bS5lbGVtZW50VGV4dCJdLCJmaWxlX25hbWUiLFsicyIsWzE1LCJ6Il1dLCJmaWxlX2V4dGVuc2lvbiIsWzE1LCJhQSJdXV0sWzIsWzE1LCJsIl0sIkIiLFs3LFsxNSwieCJdXV0sWyJuIixbMTUsIm8iXSxbMTUsImciXSxbMTUsImFCIl0sWzE1LCJ4Il1dXSxbMTUsInUiXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX2Zvcm0iLFs0NiwiYSJdLFs1MCwieCIsWzQ2LCJhTCJdLFs1MiwiYU0iLFszMCxbMTYsWzE1LCJhTCJdLFsxNSwiciJdXSxbOF1dXSxbNDMsWzE1LCJhTSJdLCJldmVudF91c2FnZSIsWzcsWzE3LFsxNSwiZyJdLCJIIl1dXSxbNDMsWzE1LCJhTCJdLFsxNSwiciJdLFsxNSwiYU0iXV1dLFs1MCwieSIsWzQ2LCJhTCIsImFNIl0sWzUyLCJhTiIsWzMwLFsxNixbMTUsImFMIl0sWzE1LCJyIl1dLFs4XV1dLFsyMixbMTYsWzE1LCJhTSJdLCJndG0uZm9ybUNhbmNlbGVkIl0sWzQ2LFs1MyxbNDMsWzE1LCJhTiJdLFsxNyxbMTUsImkiXSwiQUoiXSx0cnVlXV1dXSxbMixbMTUsInUiXSwiQiIsWzcsWzE1LCJhTCJdLFsxNSwiYU4iXV1dXSxbNTAsInoiLFs0NiwiYUwiLCJhTSIsImFOIl0sWzUyLCJhTyIsWzIsWzE1LCJ3Il0sImZpbHRlciIsWzcsWzUxLCIiLFs3LCJhUSJdLFszNixbMjAsWzIsWzE1LCJhUSJdLCJpbmRleE9mIixbNywiQVctIl1dLDBdXV1dXV0sWzIyLFsxOCxbMTcsWzE1LCJhTyJdLCJsZW5ndGgiXSwwXSxbNDYsWzUzLFsidiIsWzE1LCJhTyJdLFsxNSwiYUwiXSxbMTUsImFNIl0sWzE1LCJhTiJdXV1dXSxbNTIsImFQIixbMixbMTUsInciXSwiZmlsdGVyIixbNyxbNTEsIiIsWzcsImFRIl0sWzM2LFsyMSxbMixbMTUsImFRIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dXV1dXSxbMjIsWzE4LFsxNyxbMTUsImFQIl0sImxlbmd0aCJdLDBdLFs0NixbNTMsWzQzLFsxNSwiYU4iXSwiZGVmZXJyYWJsZSIsdHJ1ZV0sWyJ2IixbMTUsImFQIl0sWzE1LCJhTCJdLFsxNSwiYU0iXSxbMTUsImFOIl1dXV1dXSxbNTAsImFLIixbNDZdLFs1MiwiYUwiLFsibSIsWyJsIiwwLDIuMTQ3NDgzNjQ3RTldXV0sWzQxLCJhTSJdLFszLCJhTSIsMF0sWzM2LFs1MSwiIixbNywiYU4iXSxbMjIsWzIwLFsxNSwiYU4iXSxbMTUsInMiXV0sWzQ2LFs1MyxbMywiYU0iLFsiayJdXSxbMzYsWzAsWyJtIixbMTUsImFNIl1dLFsxNSwiYUwiXV1dXV0sWzQ2LFsyMixbMjAsWzE1LCJhTiJdLFsxNSwibyJdXSxbNDYsWzUzLFsyMixbMjAsWzE1LCJhTSJdLDBdLFs0NixbNTMsWzM2LFswLFsibSIsWyJrIl1dLFsxNSwiYUwiXV1dXV1dLFs1MiwiYU8iLFsiayJdXSxbMjIsWzIzLFszNyxbMTUsImFPIl0sWzE1LCJhTSJdXSwyMDBdLFs0NixbNTMsWzUyLCJhUCIsWzE1LCJhTSJdXSxbMywiYU0iLDBdLFszNixbMCxbIm0iLFsxNSwiYVAiXV0sWzE1LCJhTCJdXV1dXV0sWzMsImFNIiwwXSxbMzYsWzAsWyJtIixbMTUsImFPIl1dLFsxNSwiYUwiXV1dXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiYyIsWzE1LCJfX21vZHVsZV9jY2RFbUZvcm1BY3Rpdml0eSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2dvbGRFdmVudFVzYWdlSWQiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImoiLFsxNSwiX19tb2R1bGVfYWR3b3Jkc0hpdFR5cGUiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJnZXRUaW1lc3RhbXBNaWxsaXMiXV0sWzUyLCJsIixbInJlcXVpcmUiLCJnZW5lcmF0ZVJhbmRvbSJdXSxbNTIsIm0iLFsicmVxdWlyZSIsIm1ha2VTdHJpbmciXV0sWzUyLCJuIixbMTcsWzE1LCJoIl0sIkIiXV0sWzUyLCJvIiwiZm9ybV9zdWJtaXQiXSxbNTIsInAiLCJmb3JtX3N0YXJ0Il0sWzUyLCJxIiwiaXNSZWdpc3RlcmVkIl0sWzUyLCJyIiwiZXZlbnRNZXRhZGF0YSJdLFs1MiwicyIsImNsaWNrIl0sWzUyLCJ0IixbMTcsWzE1LCJhIl0sImluc3RhbmNlRGVzdGluYXRpb25JZCJdXSxbMjIsWyJkIixbMTUsInQiXSxbMTUsIm4iXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsxNSwiYSJdLCJza2lwVmFsaWRhdGlvbiJdLFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIyLFsyLFsxNSwiZiJdLCJnZXRJdGVtIixbNyxbMTUsInEiXV1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNyxbMTUsInEiXSx0cnVlXV0sWzUyLCJ1IixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJ2IixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwidyIsWzIsWzE1LCJ1Il0sIkEiLFs3LCJmb3JtIl1dXSxbNTIsImFBIixbOF1dLFs1MiwiYUIiLFs1MSwiIixbNywiYUwiLCJhTSJdLFsyMixbMTUsImFNIl0sWzQ2LFsiYU0iXV1dLFs1MiwiYU4iLFsxNixbMTUsImFMIl0sImd0bS5lbGVtZW50SWQiXV0sWzIyLFsxNixbMTUsImFBIl0sWzE1LCJhTiJdXSxbNDYsWzM2XV1dLFs0MyxbMTUsImFBIl0sWzE1LCJhTiJdLHRydWVdLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTUsImFOIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZpcnN0X2ZpZWxkX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl0sImZpcnN0X2ZpZWxkX25hbWUiLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkTmFtZSJdLCJmaXJzdF9maWVsZF90eXBlIixbMTYsWzE1LCJhTCJdLCJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZFR5cGUiXSwiZmlyc3RfZmllbGRfcG9zaXRpb24iLFsxNixbMTUsImFMIl0sImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXV1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdGFydCJdLFsieiIsWzE1LCJwIl0sWzE1LCJhTyJdLFsxNSwiYVAiXV1dXSxbNTIsImFDIixbImFLIl1dLFs1MiwiYUQiLFs1MSwiIixbNywiYUwiLCJhTSJdLFs1MiwiYU4iLFsiYUMiLFsxNSwibyJdXV0sWyJhQiIsWzE1LCJhTCJdLFs0NF1dLFs1MiwiYU8iLFs4LCJmb3JtX2lkIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudElkIl0sImZvcm1fbmFtZSIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdLCJmb3JtX2Rlc3RpbmF0aW9uIixbMTYsWzE1LCJhTCJdLCJndG0uZWxlbWVudFVybCJdLCJmb3JtX2xlbmd0aCIsWzE2LFsxNSwiYUwiXSwiZ3RtLmludGVyYWN0ZWRGb3JtTGVuZ3RoIl0sImZvcm1fc3VibWl0X3RleHQiLFsxNixbMTUsImFMIl0sImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXV1dLFs0MyxbMTUsImFPIl0sImV2ZW50X2NhbGxiYWNrIixbMTUsImFNIl1dLFs1MiwiYVAiLFs4LCJldmVudElkIixbMTYsWzE1LCJhTCJdLCJndG0udW5pcXVlRXZlbnRJZCJdXV0sWyJ4IixbMTUsImFQIl1dLFsieSIsWzE1LCJhUCJdLFsxNSwiYUwiXV0sWzQzLFsxNixbMTUsImFQIl0sWzE1LCJyIl1dLFsxNyxbMTUsImkiXSwiQUEiXSwiZm9ybV9zdWJtaXQiXSxbNDMsWzE2LFsxNSwiYVAiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJTIl0sWzE1LCJhTiJdXSxbInoiLFsxNSwibyJdLFsxNSwiYU8iXSxbMTUsImFQIl1dXV0sWzUyLCJhRSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuYWRkRGF0YUxheWVyRXZlbnRMaXN0ZW5lciJdXSxbNTIsImFGIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1TdWJtaXQiXV0sWzUyLCJhRyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtSW50ZXJhY3Rpb24iXV0sWzUyLCJhSCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayJdXSxbNTIsImFJIixbImFHIl1dLFsyMixbMjgsWzE1LCJhSSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbImFFIiwiZ3RtLmZvcm1JbnRlcmFjdCIsWzE1LCJhQiJdLFsxNSwiYUkiXV0sWzUyLCJhSiIsWyJhRiIsWzgsImNoZWNrVmFsaWRhdGlvbiIsZmFsc2UsIndhaXRGb3JUYWdzIixmYWxzZV1dXSxbMjIsWzI4LFsxNSwiYUoiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWyJhRSIsImd0bS5mb3JtU3VibWl0IixbMTUsImFEIl0sWzE1LCJhSiJdXSxbMjIsWyJlIixbMTcsWzE1LCJiIl0sIkNQIl1dLFs0NixbNTMsWzUyLCJhTCIsWyJhSCIsWzgsInVzZVYyRXZlbnROYW1lIix0cnVlLCJjc3NTZWxlY3RvciIsWzAsWzAsWzAsWzAsWzAsWzAsWzAsImZvcm0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sICIsImZvcm0gYnV0dG9uOm5vdChbdHlwZV0pLCJdLCJmb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sICJdLCJmb3JtIGlucHV0W3R5cGU9XCJpbWFnZVwiXSwgIl0sImJ1dHRvbltmb3JtXVt0eXBlPVwic3VibWl0XCJdLCAiXSwiYnV0dG9uW2Zvcm1dOm5vdChbdHlwZV0pLCAiXSwiaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtmb3JtXSwgIl0sImlucHV0W3R5cGU9XCJpbWFnZVwiXVtmb3JtXSJdXV1dLFs1MCwiYU0iLFs0NiwiYU4iLCJhTyJdLFs1MiwiYVAiLFs4LCJldmVudF9jYWxsYmFjayIsWzE1LCJhTyJdXV0sWzUyLCJhUSIsWzgsImV2ZW50SWQiLFsxNixbMTUsImFOIl0sImd0bS51bmlxdWVFdmVudElkIl1dXSxbIngiLFsxNSwiYVEiXV0sWyJ5IixbMTUsImFRIl0sWzE1LCJhTiJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBUiJdLFsxNyxbMTUsImoiXSwiSyJdXSxbNDMsWzE2LFsxNSwiYVEiXSxbMTUsInIiXV0sWzE3LFsxNSwiaSJdLCJBQSJdLCJjbGljayJdLFs0MyxbMTYsWzE1LCJhUSJdLFsxNSwiciJdXSxbMTcsWzE1LCJpIl0sIlMiXSxbImFDIixbMTUsInMiXV1dLFsieiIsWzE1LCJvIl0sWzE1LCJhUCJdLFsxNSwiYVEiXV1dLFsiYUUiLCJndG0uY2xpY2stdjIiLFsxNSwiYU0iXSxbMTUsImFMIl1dXV1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9vdXRib3VuZF9jbGljayIsWzQ2LCJhIl0sWzUwLCJyIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLCIiXSxbMjIsWzEsWzE1LCJ3Il0sWzE3LFsxNSwidyJdLCJocmVmIl1dLFs0NixbNTMsWzQxLCJ5Il0sWzMsInkiLFsyLFsxNyxbMTUsInciXSwiaHJlZiJdLCJpbmRleE9mIixbNywiIyJdXV0sWzMsIngiLFszOSxbMjMsWzE1LCJ5Il0sMF0sWzE3LFsxNSwidyJdLCJocmVmIl0sWzIsWzE3LFsxNSwidyJdLCJocmVmIl0sInN1YnN0cmluZyIsWzcsMCxbMTUsInkiXV1dXV1dXV0sWzM2LFsxNSwieCJdXV0sWzUwLCJzIixbNDYsInciXSxbMjIsWzI4LFsxNSwidyJdXSxbNDYsWzM2LFs0NF1dXV0sWzQxLCJ4Il0sWzMsIngiLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXV0sWzUyLCJ5IixbMixbMTUsIngiXSwibWF0Y2giLFs3LCJed3d3XFxkKlxcLiJdXV0sWzIyLFsxLFsxNSwieSJdLFsxNixbMTUsInkiXSwwXV0sWzQ2LFszLCJ4IixbMixbMTUsIngiXSwic3Vic3RyaW5nIixbNyxbMTcsWzE2LFsxNSwieSJdLDBdLCJsZW5ndGgiXV1dXV1dLFszNixbMTUsIngiXV1dLFs1MCwidCIsWzQ2LCJ3Il0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbNTIsIngiLFsyLFsxNyxbMTUsInciXSwiaG9zdG5hbWUiXSwidG9Mb3dlckNhc2UiLFs3XV1dLFsyMixbMjgsWzE1LCJ4Il1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNDEsInkiXSxbMywieSIsWzIsWyJzIixbIm8iLFsibiJdXV0sInRvTG93ZXJDYXNlIixbN11dXSxbNDEsInoiXSxbMywieiIsWzM3LFsxNyxbMTUsIngiXSwibGVuZ3RoIl0sWzE3LFsxNSwieSJdLCJsZW5ndGgiXV1dLFsyMixbMSxbMTgsWzE1LCJ6Il0sMF0sWzI5LFsyLFsxNSwieSJdLCJjaGFyQXQiLFs3LDBdXSwiLiJdXSxbNDYsWzUzLFszMixbMTUsInoiXSxbMywieiIsWzM3LFsxNSwieiJdLDFdXV0sWzMsInkiLFswLCIuIixbMTUsInkiXV1dXV1dLFsyMixbMSxbMTksWzE1LCJ6Il0sMF0sWzEyLFsyLFsxNSwieCJdLCJpbmRleE9mIixbNyxbMTUsInkiXSxbMTUsInoiXV1dLFsxNSwieiJdXV0sWzQ2LFs1MyxbMzYsZmFsc2VdXV1dLFszNix0cnVlXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJ0ZW1wbGF0ZVN0b3JhZ2UiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9jY2RFbU91dGJvdW5kQ2xpY2tBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRCJdXSxbNTIsImciLCJjbGljayJdLFs1MiwiaCIsImlzUmVnaXN0ZXJlZCJdLFs1MiwiaSIsWzE3LFsxNSwiYSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXV0sWzIyLFsiYiIsWzE1LCJpIl0sWzE1LCJmIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXSxbMzZdXV1dLFsyLFsxNSwiZSJdLCJBIixbNyxbMTUsImkiXSxbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXV1dLFsyMixbMixbMTUsImMiXSwiZ2V0SXRlbSIsWzcsWzE1LCJoIl1dXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImoiLFsicmVxdWlyZSIsImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkxpbmtDbGljayJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZW5oYW5jZWRNZWFzdXJlbWVudCJdXSxbNTIsIm0iLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsIm4iLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsIm8iLFsicmVxdWlyZSIsInBhcnNlVXJsIl1dLFs1MiwicCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsInEiLFsyLFsxNSwibCJdLCJBIixbNywib3V0Ym91bmRfY2xpY2siXV1dLFs1MiwidSIsWyJtIixbMTUsImkiXSwiY3Jvc3NfZG9tYWluX2NvbmRpdGlvbnMiXV0sWzUyLCJ2IixbImsiLFs4LCJhZmZpbGlhdGVEb21haW5zIixbMTUsInUiXSwiY2hlY2tWYWxpZGF0aW9uIix0cnVlLCJ3YWl0Rm9yVGFncyIsZmFsc2VdXV0sWzIyLFsyOCxbMTUsInYiXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25GYWlsdXJlIixbN11dLFszNl1dXV0sWzIsWzE1LCJjIl0sInNldEl0ZW0iLFs3LFsxNSwiaCJdLHRydWVdXSxbImoiLCJndG0ubGlua0NsaWNrIixbNTEsIiIsWzcsInciLCJ4Il0sWzUyLCJ5IixbIm8iLFsxNixbMTUsInciXSwiZ3RtLmVsZW1lbnRVcmwiXV1dLFsyMixbMjgsWyJ0IixbMTUsInkiXV1dLFs0NixbNTMsWyJ4Il0sWzM2XV1dXSxbNTIsInoiLFs4LCJsaW5rX2lkIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50SWQiXSwibGlua19jbGFzc2VzIixbMTYsWzE1LCJ3Il0sImd0bS5lbGVtZW50Q2xhc3NlcyJdLCJsaW5rX3VybCIsWyJyIixbMTUsInkiXV0sImxpbmtfZG9tYWluIixbInMiLFsxNSwieSJdXSwib3V0Ym91bmQiLHRydWVdXSxbNDMsWzE1LCJ6Il0sImV2ZW50X2NhbGxiYWNrIixbMTUsIngiXV0sWzUyLCJhQSIsWzgsImV2ZW50SWQiLFsxNixbMTUsInciXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXSwiZGVmZXJyYWJsZSIsdHJ1ZV1dLFsyLFsxNSwibCJdLCJCIixbNyxbMTUsImFBIl1dXSxbInAiLFsxNSwicSJdLFsxNSwiZyJdLFsxNSwieiJdLFsxNSwiYUEiXV1dLFsxNSwidiJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZW1fcGFnZV92aWV3IixbNDYsImEiXSxbMjIsWzI4LFsxNyxbMTUsImEiXSwiaGlzdG9yeUV2ZW50cyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciJdXSxbNTIsImQiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1QYWdlVmlld0FjdGl2aXR5Il1dLFs1MiwiZiIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImciLFsxNyxbMTUsImYiXSwiQyJdXSxbNTIsImgiLCJwYWdlX3ZpZXciXSxbNTIsImkiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImoiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaiJdLFsxNSwiZyJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJqIl1dXSxbMjIsWzIsWzE1LCJkIl0sImdldEl0ZW0iLFs3LFsxNSwiaSJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJrIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25IaXN0b3J5Q2hhbmdlIl1dLFs1MiwibSIsWzE1LCJfX21vZHVsZV9lbmhhbmNlZE1lYXN1cmVtZW50Il1dLFs1MiwibiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2VuZEd0YWdFdmVudCJdXSxbNTIsIm8iLFsyLFsxNSwibSJdLCJBIixbNywicGFnZV92aWV3Il1dXSxbNTIsInAiLFs4LCJpbnRlcnZhbCIsMTAwMCwidXNlVjJFdmVudE5hbWUiLHRydWVdXSxbNTIsInEiLFsibCIsWzE1LCJwIl1dXSxbMjIsWzI4LFsxNSwicSJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PbkZhaWx1cmUiLFs3XV0sWzM2XV1dXSxbMixbMTUsImQiXSwic2V0SXRlbSIsWzcsWzE1LCJpIl0sdHJ1ZV1dLFsiayIsImd0bS5oaXN0b3J5Q2hhbmdlLXYyIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS5vbGRVcmwiXV0sWzIyLFsyMCxbMTYsWzE1LCJyIl0sImd0bS5uZXdVcmwiXSxbMTUsInQiXV0sWzQ2LFszNl1dXSxbNTIsInUiLFsxNixbMTUsInIiXSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiXV0sWzIyLFsxLFsxLFsyMSxbMTUsInUiXSwicHVzaFN0YXRlIl0sWzIxLFsxNSwidSJdLCJwb3BzdGF0ZSJdXSxbMjEsWzE1LCJ1Il0sInJlcGxhY2VTdGF0ZSJdXSxbNDYsWzUzLFszNl1dXV0sWzUyLCJ2IixbOF1dLFsyMixbMTcsWzE1LCJhIl0sImluY2x1ZGVQYXJhbXMiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwicGFnZV9sb2NhdGlvbiIsWzE2LFsxNSwiciJdLCJndG0ubmV3VXJsIl1dLFs0MyxbMTUsInYiXSwicGFnZV9yZWZlcnJlciIsWzE1LCJ0Il1dXV1dLFs1MiwidyIsWzgsImV2ZW50SWQiLFsxNixbMTUsInIiXSwiZ3RtLnVuaXF1ZUV2ZW50SWQiXV1dLFsyMixbMjEsWzE3LFsxNSwiYSJdLCJkZWZlclBhZ2VWaWV3Il0sZmFsc2VdLFs0NixbNTMsWzQzLFsxNSwidyJdLCJkZWZlcnJhYmxlIix0cnVlXV1dXSxbMixbMTUsIm0iXSwiQiIsWzcsWzE1LCJ3Il1dXSxbIm4iLFsxNSwibyJdLFsxNSwiaCJdLFsxNSwidiJdLFsxNSwidyJdXV0sWzE1LCJxIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zY3JvbGwiLFs0NiwiYSJdLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwidGVtcGxhdGVTdG9yYWdlIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfY2NkRW1TY3JvbGxBY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbNTIsImgiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImkiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJpIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaCJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25TY3JvbGwiXV0sWzUyLCJsIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwibiIsWzIsWzE1LCJsIl0sIkEiLFs3LCJzY3JvbGwiXV1dLFs1MiwibyIsWyJrIixbOCwidmVydGljYWxUaHJlc2hvbGRVbml0cyIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbFRocmVzaG9sZHMiLDkwXV1dLFsyMixbMjgsWzE1LCJvIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImgiXSx0cnVlXV0sWyJqIiwiZ3RtLnNjcm9sbERlcHRoIixbNTEsIiIsWzcsInAiLCJxIl0sWyJxIl0sWzUyLCJyIixbOCwiZXZlbnRJZCIsWzE2LFsxNSwicCJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzUyLCJzIixbOCwicGVyY2VudF9zY3JvbGxlZCIsWzE2LFsxNSwicCJdLCJndG0uc2Nyb2xsVGhyZXNob2xkIl1dXSxbMixbMTUsImwiXSwiQiIsWzcsWzE1LCJyIl1dXSxbIm0iLFsxNSwibiJdLFsxNSwiZyJdLFsxNSwicyJdLFsxNSwiciJdXV0sWzE1LCJvIl1dLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV1dCiAsWzUwLCJfX2NjZF9lbV9zaXRlX3NlYXJjaCIsWzQ2LCJhIl0sWzUyLCJiIixbInJlcXVpcmUiLCJnZXRRdWVyeVBhcmFtZXRlcnMiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiZ2V0Q29udGFpbmVyVmVyc2lvbiJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIl1dLFs1MiwiZyIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImgiLFsxNSwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiXV0sWzUyLCJpIixbMixbMTUsImgiXSwiQSIsWzcsWzE3LFsxNSwiYSJdLCJzZWFyY2hRdWVyeVBhcmFtcyJdLFsxNSwiYiJdXV1dLFs1MiwiaiIsWzMwLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzE3LFsiZCJdLCJjb250YWluZXJJZCJdXV0sWzUyLCJrIixbOCwiZGVmZXJyYWJsZSIsdHJ1ZSwiZXZlbnRJZCIsWzE3LFsxNSwiYSJdLCJndG1FdmVudElkIl0sImV2ZW50TWV0YWRhdGEiLFs4LCJlbV9ldmVudCIsdHJ1ZV1dXSxbMjIsWzE1LCJpIl0sWzQ2LFs1MyxbNTIsImwiLFszOSxbMjgsWzI4LFsxNyxbMTUsImEiXSwiaW5jbHVkZVBhcmFtcyJdXV0sWzIsWzE1LCJoIl0sIkIiLFs3LFsxNSwiaSJdLFsxNyxbMTUsImEiXSwiYWRkaXRpb25hbFF1ZXJ5UGFyYW1zIl0sWzE1LCJiIl1dXSxbOF1dXSxbNDMsWzE3LFsxNSwiayJdLCJldmVudE1ldGFkYXRhIl0sWzE3LFsxNSwiZyJdLCJaIl0sImEiXSxbImMiLFsxNSwiaiJdLCJ2aWV3X3NlYXJjaF9yZXN1bHRzIixbMTUsImwiXSxbMTUsImsiXV1dXV0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2VtX3ZpZGVvIixbNDYsImEiXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2NjZEVtVmlkZW9BY3Rpdml0eSJdXSxbNTIsImYiLFsxNyxbMTUsImQiXSwiRiJdXSxbNTIsImciLCJ2aWRlb19zdGFydCJdLFs1MiwiaCIsInZpZGVvX3Byb2dyZXNzIl0sWzUyLCJpIiwidmlkZW9fY29tcGxldGUiXSxbNTIsImoiLCJpc1JlZ2lzdGVyZWQiXSxbNTIsImsiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbMixbMTUsImUiXSwiQSIsWzcsWzE1LCJrIl0sWzE3LFsxNSwiYSJdLCJpbmNsdWRlUGFyYW1zIl1dXSxbMjIsWzIsWzE1LCJjIl0sImdldEl0ZW0iLFs3LFsxNSwiaiJdXV0sWzQ2LFs1MyxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dLFszNl1dXV0sWzUyLCJsIixbInJlcXVpcmUiLCJpbnRlcm5hbC5hZGREYXRhTGF5ZXJFdmVudExpc3RlbmVyIl1dLFs1MiwibSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Zb3VUdWJlQWN0aXZpdHkiXV0sWzUyLCJuIixbMTUsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiXV0sWzUyLCJvIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZW5kR3RhZ0V2ZW50Il1dLFs1MiwicCIsWzIsWzE1LCJuIl0sIkEiLFs3LCJ2aWRlbyJdXV0sWzUyLCJxIixbIm0iLFs4LCJjYXB0dXJlQ29tcGxldGUiLHRydWUsImNhcHR1cmVTdGFydCIsdHJ1ZSwicHJvZ3Jlc3NUaHJlc2hvbGRzUGVyY2VudCIsWzcsMTAsMjUsNTAsNzVdXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJhIl0sImd0bU9uRmFpbHVyZSIsWzddXSxbMzZdXV1dLFsyLFsxNSwiYyJdLCJzZXRJdGVtIixbNyxbMTUsImoiXSx0cnVlXV0sWyJsIiwiZ3RtLnZpZGVvIixbNTEsIiIsWzcsInIiLCJzIl0sWyJzIl0sWzUyLCJ0IixbMTYsWzE1LCJyIl0sImd0bS52aWRlb1N0YXR1cyJdXSxbNDEsInUiXSxbMjIsWzIwLFsxNSwidCJdLCJzdGFydCJdLFs0NixbNTMsWzMsInUiLFsxNSwiZyJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJwcm9ncmVzcyJdLFs0NixbNTMsWzMsInUiLFsxNSwiaCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLCJjb21wbGV0ZSJdLFs0NixbNTMsWzMsInUiLFsxNSwiaSJdXV1dLFs0NixbNTMsWzM2XV1dXV1dXV0sWzUyLCJ2IixbOCwidmlkZW9fY3VycmVudF90aW1lIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0N1cnJlbnRUaW1lIl0sInZpZGVvX2R1cmF0aW9uIixbMTYsWzE1LCJyIl0sImd0bS52aWRlb0R1cmF0aW9uIl0sInZpZGVvX3BlcmNlbnQiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvUGVyY2VudCJdLCJ2aWRlb19wcm92aWRlciIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9Qcm92aWRlciJdLCJ2aWRlb190aXRsZSIsWzE2LFsxNSwiciJdLCJndG0udmlkZW9UaXRsZSJdLCJ2aWRlb191cmwiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVXJsIl0sInZpc2libGUiLFsxNixbMTUsInIiXSwiZ3RtLnZpZGVvVmlzaWJsZSJdXV0sWzUyLCJ3IixbOCwiZXZlbnRJZCIsWzE2LFsxNSwiciJdLCJndG0udW5pcXVlRXZlbnRJZCJdLCJkZWZlcnJhYmxlIix0cnVlXV0sWzIsWzE1LCJuIl0sIkIiLFs3LFsxNSwidyJdXV0sWyJvIixbMTUsInAiXSxbMTUsInUiXSxbMTUsInYiXSxbMTUsInciXV1dLFsxNSwicSJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfZmlyc3QiLFs0NiwiYSJdLFs1MCwiZSIsWzQ2LCJmIl0sWzIsWzE1LCJjIl0sIkEiLFs3LFsxNSwiZiJdXV0sWzIsWzE1LCJkIl0sIkEiLFs3LFsxNSwiZiJdXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyJdXSxbImIiLFsxNyxbMTUsImEiXSwiaW5zdGFuY2VEZXN0aW5hdGlvbklkIl0sWzUxLCIiLFs3LCJmIl0sWyJlIixbMTUsImYiXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19jY2RfZ2FfbGFzdCIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTAsIl9fY2NkX2dhX3JlZ3Njb3BlIixbNDYsImEiXSxbNTIsImIiLFsxNSwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyJdXSxbNTIsImMiLFsyLFsxNSwiYiJdLCJCIixbNyxbMTUsImEiXV1dXSxbMixbMTUsImIiXSwiQSIsWzcsWzE1LCJhIl0sWzE1LCJjIl1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19lIixbNDYsImEiXSxbMzYsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFsicmVxdWlyZSIsImludGVybmFsLmdldEV2ZW50RGF0YSJdXSxbIiQwIiwiZXZlbnQiXV1dXQogLFs1MCwiX19nY3QiLFs0NiwiYSJdLFs1MCwiZyIsWzQ2LCJtIl0sWzUyLCJuIixbN11dLFs2NSwibyIsWzE1LCJtIl0sWzQ2LFs1MyxbNTIsInAiLFsiYiIsWzE1LCJvIl1dXSxbMjIsWzIxLFsxNSwicCJdLFs0NV1dLFs0NixbMixbMTUsIm4iXSwicHVzaCIsWzcsWzE1LCJwIl1dXV1dXV1dLFszNixbMTUsIm4iXV1dLFs1MCwiaCIsWzQ2LCJtIl0sWzUyLCJuIixbMTcsWzE1LCJtIl0sImxpbmtlciJdXSxbMjIsWzEsWzE1LCJuIl0sWzE2LFsxNSwibiJdLCJkb21haW5zIl1dLFs0NixbNTMsWzQzLFsxNSwibiJdLCJkb21haW5zIixbImciLFsxNixbMTUsIm4iXSwiZG9tYWlucyJdXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJpIixbNDYsIm0iXSxbNTIsIm4iLFsxNyxbMTUsIm0iXSwicmVmZXJyYWxFeGNsdXNpb25EZWZpbml0aW9uIl1dLFsyMixbMSxbMTUsIm4iXSxbMTYsWzE1LCJuIl0sImluY2x1ZGVfY29uZGl0aW9ucyJdXSxbNDYsWzUzLFs0MyxbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIixbImciLFsxNixbMTUsIm4iXSwiaW5jbHVkZV9jb25kaXRpb25zIl1dXV1dXSxbMzYsWzE1LCJuIl1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNyZWF0ZVJlZ2V4Il1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImQiLFsicmVxdWlyZSIsImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIl1dLFs1MiwiZSIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJEZXN0aW5hdGlvbiJdXSxbNTIsImYiLFsicmVxdWlyZSIsInRlbXBsYXRlU3RvcmFnZSJdXSxbNTIsImoiLFszMCxbMixbMTUsImYiXSwiZ2V0SXRlbSIsWzcsInJlZ2V4Il1dLFsiYiIsIlsuKitcXC0/XiR7fSgpfFtcXF1cXFxcXSIsImciXV1dLFsyLFsxNSwiZiJdLCJzZXRJdGVtIixbNywicmVnZXgiLFsxNSwiaiJdXV0sWzUyLCJrIixbOF1dLFs1MiwibCIsWzE3LFsxNSwiYSJdLCJzZXNzaW9uRHVyYXRpb24iXV0sWzIyLFsxOCxbMTUsImwiXSwwXSxbNDYsWzUzLFs0MyxbMTUsImsiXSwic2Vzc2lvbl9kdXJhdGlvbiIsWzE1LCJsIl1dXV1dLFs0MyxbMTUsImsiXSwiZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZXZlbnRTZXR0aW5ncyJdXSxbNDMsWzE1LCJrIl0sImR5bmFtaWNfZXZlbnRfc2V0dGluZ3MiLFsxNyxbMTUsImEiXSwiZHluYW1pY0V2ZW50U2V0dGluZ3MiXV0sWzQzLFsxNSwiayJdLCJnb29nbGVfc2lnbmFscyIsWzIwLFsxNyxbMTUsImEiXSwiZ29vZ2xlU2lnbmFscyJdLDFdXSxbNDMsWzE1LCJrIl0sImdvb2dsZV90bGQiLFsxNyxbMTUsImEiXSwiZm9yZWlnblRsZCJdXSxbNDMsWzE1LCJrIl0sImdhX3Jlc3RyaWN0X2RvbWFpbiIsWzIwLFsxNyxbMTUsImEiXSwicmVzdHJpY3REb21haW4iXSwxXV0sWzQzLFsxNSwiayJdLCJpbnRlcm5hbF90cmFmZmljX3Jlc3VsdHMiLFsxNyxbMTUsImEiXSwiaW50ZXJuYWxUcmFmZmljUmVzdWx0cyJdXSxbNDMsWzE1LCJrIl0sImxpbmtlciIsWyJoIixbMTUsImEiXV1dLFs0MyxbMTUsImsiXSwicmVmZXJyYWxfZXhjbHVzaW9uX2RlZmluaXRpb24iLFsiaSIsWzE1LCJhIl1dXSxbImQiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdLFsxNSwiayJdXSxbImUiLFsxNyxbMTUsImEiXSwidHJhY2tpbmdJZCJdXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19vZ3RfMXBfZGF0YV92MiIsWzQ2LCJhIl0sWzUwLCJwIixbNDYsInIiLCJzIiwidCIsInUiXSxbMjIsWzIwLFsxNixbMTUsInMiXSwidHlwZSJdLFsxNSwidCJdXSxbNDYsWzUzLFsyMixbMjgsWzE1LCJyIl1dLFs0NixbNTMsWzMsInIiLFs4XV1dXV0sWzIyLFsyOCxbMTYsWzE1LCJyIl0sWzE1LCJ0Il1dXSxbNDYsWzUzLFs0MyxbMTUsInIiXSxbMTUsInQiXSxbMTYsWzE1LCJzIl0sInVzZXJEYXRhIl1dLFs1MiwidiIsWzgsIm1vZGUiLCJhIl1dLFsyMixbMTYsWzE1LCJzIl0sInRhZ05hbWUiXSxbNDYsWzUzLFs0MyxbMTUsInYiXSwibG9jYXRpb24iLFsxNixbMTUsInMiXSwidGFnTmFtZSJdXV1dXSxbMjIsWzE2LFsxNSwicyJdLCJxdWVyeVNlbGVjdG9yIl0sWzQ2LFs1MyxbNDMsWzE1LCJ2Il0sInNlbGVjdG9yIixbMTYsWzE1LCJzIl0sInF1ZXJ5U2VsZWN0b3IiXV1dXV0sWzQzLFsxNSwidSJdLFsxNSwidCJdLFsxNSwidiJdXV1dXV1dXSxbMzYsWzE1LCJyIl1dXSxbNTAsInEiLFs0NiwiciIsInMiLCJ0Il0sWzIyLFsyOCxbMTYsWzE1LCJhIl0sWzE1LCJ0Il1dXSxbNDYsWzM2XV1dLFs0MyxbMTUsInIiXSxbMTUsInMiXSxbOCwidmFsdWUiLFsxNixbMTUsImEiXSxbMTUsInQiXV1dXV0sWzIyLFsyOCxbMTcsWzE1LCJhIl0sImlzRW5hYmxlZCJdXSxbNDYsWzUzLFsyLFsxNSwiYSJdLCJndG1PblN1Y2Nlc3MiLFs3XV0sWzM2XV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyJdXSxbNTIsImUiLFsxNSwiX19tb2R1bGVfZmVhdHVyZXMiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImciLFsicmVxdWlyZSIsImludGVybmFsLmRldGVjdFVzZXJQcm92aWRlZERhdGEiXV0sWzUyLCJoIixbInJlcXVpcmUiLCJxdWVyeVBlcm1pc3Npb24iXV0sWzUyLCJpIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJqIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiayIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImwiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsIm0iLFsiYyIsWzE3LFsxNSwiZSJdLCJBVCJdXV0sWzUyLCJuIixbMzAsWyJmIl0sWzddXV0sWzUyLCJvIixbOCwiZW5hYmxlX2NvZGUiLHRydWVdXSxbMjIsWzE3LFsxNSwiYSJdLCJpc0F1dG9FbmFibGVkIl0sWzQ2LFs1MyxbNTIsInIiLFs3XV0sWzIyLFsxLFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzQ2LFs1MyxbNTMsWzQxLCJ1Il0sWzMsInUiLDBdLFs2MyxbNywidSJdLFsyMyxbMTUsInUiXSxbMTcsWzE3LFsxNSwiYSJdLCJhdXRvQ29sbGVjdEV4Y2x1c2lvblNlbGVjdG9ycyJdLCJsZW5ndGgiXV0sWzMzLFsxNSwidSJdLFszLCJ1IixbMCxbMTUsInUiXSwxXV1dLFs0NixbNTMsWzUyLCJ2IixbMTcsWzE2LFsxNyxbMTUsImEiXSwiYXV0b0NvbGxlY3RFeGNsdXNpb25TZWxlY3RvcnMiXSxbMTUsInUiXV0sImV4Y2x1c2lvblNlbGVjdG9yIl1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFsyLFsxNSwiciJdLCJwdXNoIixbNyxbMTUsInYiXV1dXV1dXV1dXV1dXSxbNTIsInMiLFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl1dLFs1MiwidCIsWzM5LFsxNyxbMTUsImEiXSwiaXNBdXRvQ29sbGVjdFBpaUVuYWJsZWRGbGFnIl0sWzE3LFsxNSwiYSJdLCJhdXRvRW1haWxFbmFibGVkIl0sdHJ1ZV1dLFs0MyxbMTUsIm8iXSwiYXV0b19kZXRlY3QiLFs4LCJlbWFpbCIsWzE1LCJ0Il0sInBob25lIixbMSxbMTUsInMiXSxbMTcsWzE1LCJhIl0sImF1dG9QaG9uZUVuYWJsZWQiXV0sImFkZHJlc3MiLFsxLFsxNSwicyJdLFsxNyxbMTUsImEiXSwiYXV0b0FkZHJlc3NFbmFibGVkIl1dLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIixbMTUsInIiXV1dXV1dLFsyMixbMTcsWzE1LCJhIl0sImlzTWFudWFsRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJyIixbOF1dLFsyMixbMTcsWzE1LCJhIl0sIm1hbnVhbEVtYWlsRW5hYmxlZCJdLFs0NixbNTMsWyJxIixbMTUsInIiXSwiZW1haWwiLCJlbWFpbFZhbHVlIl1dXV0sWzIyLFsxNyxbMTUsImEiXSwibWFudWFsUGhvbmVFbmFibGVkIl0sWzQ2LFs1MyxbInEiLFsxNSwiciJdLCJwaG9uZSIsInBob25lVmFsdWUiXV1dXSxbMjIsWzE3LFsxNSwiYSJdLCJtYW51YWxBZGRyZXNzRW5hYmxlZCJdLFs0NixbNTMsWzUyLCJzIixbOF1dLFsicSIsWzE1LCJzIl0sImZpcnN0X25hbWUiLCJmaXJzdE5hbWVWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImxhc3RfbmFtZSIsImxhc3ROYW1lVmFsdWUiXSxbInEiLFsxNSwicyJdLCJzdHJlZXQiLCJzdHJlZXRWYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNpdHkiLCJjaXR5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJyZWdpb24iLCJyZWdpb25WYWx1ZSJdLFsicSIsWzE1LCJzIl0sImNvdW50cnkiLCJjb3VudHJ5VmFsdWUiXSxbInEiLFsxNSwicyJdLCJwb3N0YWxfY29kZSIsInBvc3RhbENvZGVWYWx1ZSJdLFs0MyxbMTUsInIiXSwibmFtZV9hbmRfYWRkcmVzcyIsWzcsWzE1LCJzIl1dXV1dXSxbNDMsWzE1LCJvIl0sInNlbGVjdG9ycyIsWzE1LCJyIl1dXV1dLFs2NSwiciIsWzE1LCJuIl0sWzQ2LFs1MyxbImkiLFsxNSwiciJdLCJ1c2VyX2RhdGFfc2V0dGluZ3MiLFsxNSwibyJdXSxbNTIsInMiLFsxNixbMTUsIm8iXSwiYXV0b19kZXRlY3QiXV0sWzIyLFsyOCxbMTUsInMiXV0sWzQ2LFs1MyxbNl1dXV0sWzUyLCJ0IixbNTEsIiIsWzcsInUiXSxbNTIsInYiLFsyLFsxNSwidSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWCJdXV1dLFsyMixbMTUsInYiXSxbNDYsWzUzLFszNixbMTUsInYiXV1dXV0sWzUyLCJ3IixbImMiLFsxNyxbMTUsImUiXSwiQlYiXV1dLFs1MiwieCIsWyJjIixbMTcsWzE1LCJlIl0sIkNJIl1dXSxbNDEsInkiXSxbMjIsWyJoIiwiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iXSxbNDYsWzUzLFszLCJ5IixbImciLFs4LCJleGNsdWRlRWxlbWVudFNlbGVjdG9ycyIsWzE2LFsxNSwicyJdLCJleGNsdWRlX2VsZW1lbnRfc2VsZWN0b3JzIl0sImZpZWxkRmlsdGVycyIsWzgsImVtYWlsIixbMTYsWzE1LCJzIl0sImVtYWlsIl0sInBob25lIixbMTYsWzE1LCJzIl0sInBob25lIl0sImFkZHJlc3MiLFsxNixbMTUsInMiXSwiYWRkcmVzcyJdXSwiaW5jbHVkZVNlbGVjdG9yIixbMTUsInciXSwicmVhZEZyb21EYXRhTGF5ZXIiLFsxNSwieCJdXV1dXV1dLFs1MiwieiIsWzEsWzE1LCJ5Il0sWzE2LFsxNSwieSJdLCJlbGVtZW50cyJdXV0sWzUyLCJhQSIsWzhdXSxbNTIsImFCIixbOF1dLFsyMixbMSxbMTUsInoiXSxbMTgsWzE3LFsxNSwieiJdLCJsZW5ndGgiXSwwXV0sWzQ2LFs1MyxbNDEsImFDIl0sWzQxLCJhRCJdLFszLCJhRCIsWzhdXSxbNTMsWzQxLCJhRSJdLFszLCJhRSIsMF0sWzYzLFs3LCJhRSJdLFsyMyxbMTUsImFFIl0sWzE3LFsxNSwieiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiYUUiXSxbMywiYUUiLFswLFsxNSwiYUUiXSwxXV1dLFs0NixbNTMsWzUyLCJhRiIsWzE2LFsxNSwieiJdLFsxNSwiYUUiXV1dLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwiZW1haWwiLFsxNSwiYUIiXV0sWzIyLFsiYyIsWzE3LFsxNSwiZSJdLCJCTyJdXSxbNDYsWzUzLFsicCIsWzE1LCJhQSJdLFsxNSwiYUYiXSwicGhvbmVfbnVtYmVyIixbMTUsImFCIl1dLFszLCJhQyIsWyJwIixbMTUsImFDIl0sWzE1LCJhRiJdLCJmaXJzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwibGFzdF9uYW1lIixbMTUsImFEIl1dXSxbMywiYUMiLFsicCIsWzE1LCJhQyJdLFsxNSwiYUYiXSwiY291bnRyeSIsWzE1LCJhRCJdXV0sWzMsImFDIixbInAiLFsxNSwiYUMiXSxbMTUsImFGIl0sInBvc3RhbF9jb2RlIixbMTUsImFEIl1dXV1dXV1dXV0sWzIyLFsxLFsxNSwiYUMiXSxbMjgsWzE2LFsxNSwiYUEiXSwiYWRkcmVzcyJdXV0sWzQ2LFs1MyxbNDMsWzE1LCJhQSJdLCJhZGRyZXNzIixbMTUsImFDIl1dLFsyMixbMTUsIm0iXSxbNDYsWzUzLFs0MyxbMTYsWzE1LCJhQSJdLCJhZGRyZXNzIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUQiXV1dXV1dXV1dXV0sWzIyLFsxLFsxNSwieSJdLFsxNSwieCJdXSxbNDYsWzUzLFs1MiwiYUMiLFsxNixbMTUsInkiXSwiZGF0YUxheWVyU2VhcmNoVGltZSJdXSxbNTIsImFEIixbMTYsWzE1LCJ5Il0sImRhdGFMYXllclNlYXJjaENvdW50Il1dLFsyLFsxNSwidSJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImwiXSwiRlQiXSxbOCwiZGxzdCIsWzE1LCJhQyJdLCJkbHNjIixbMTUsImFEIl1dXV1dXV0sWzIyLFsxNSwibSJdLFs0NixbNTMsWzIyLFszMCxbMTYsWzE1LCJhQSJdLCJlbWFpbCJdLFsxNixbMTUsImFBIl0sInBob25lX251bWJlciJdXSxbNDYsWzUzLFs0MyxbMTUsImFBIl0sIl90YWdfbWV0YWRhdGEiLFsxNSwiYUIiXV1dXV1dXV0sWzIsWzE1LCJ1Il0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJrIl0sIkNYIl0sWzE1LCJhQSJdXV0sWzM2LFsxNSwiYUEiXV1dXSxbImoiLFsxNSwiciJdLFs1MSwiIixbNywidSJdLFsyLFsxNSwidSJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiayJdLCJDWSJdLFsxNSwidCJdXV1dXV1dXSxbMixbMTUsImEiXSwiZ3RtT25TdWNjZXNzIixbN11dXQogLFs1MCwiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIsWzQ2LCJhIl0sWzIsWzE1LCJhIl0sImd0bU9uU3VjY2VzcyIsWzddXV0KICxbNTIsIl9fbW9kdWxlX2Fkd29yZHNIaXRUeXBlIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiY29udmVyc2lvbiJdLFs1MiwiYyIsImZsb29kbGlnaHQiXSxbNTIsImQiLCJnYV9jb252ZXJzaW9uIl0sWzUyLCJlIiwicGFnZV92aWV3Il0sWzUyLCJmIiwicmVtYXJrZXRpbmciXSxbNTIsImciLCJ1c2VyX2RhdGFfbGVhZCJdLFs1MiwiaCIsInVzZXJfZGF0YV93ZWIiXSxbMzYsWzgsIkQiLFsxNSwiYiJdLCJFIixbMTUsImMiXSwiRiIsWzE1LCJkIl0sIkgiLFsxNSwiZSJdLCJJIixbMTUsImYiXSwiSiIsWzE1LCJnIl0sIksiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZ3RhZ1NjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFkX3BlcnNvbmFsaXphdGlvbiJdLFs1MiwiYyIsImFkX3N0b3JhZ2UiXSxbNTIsImQiLCJhZF91c2VyX2RhdGEiXSxbNTIsImUiLCJjb25zZW50X3VwZGF0ZWQiXSxbNTIsImYiLCJhcHBfcmVtb3ZlIl0sWzUyLCJnIiwiYXBwX3N0b3JlX3JlZnVuZCJdLFs1MiwiaCIsImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY2FuY2VsIl0sWzUyLCJpIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9jb252ZXJ0Il0sWzUyLCJqIiwiYXBwX3N0b3JlX3N1YnNjcmlwdGlvbl9yZW5ldyJdLFs1MiwiayIsImNvbnZlcnNpb24iXSxbNTIsImwiLCJwdXJjaGFzZSJdLFs1MiwibSIsImZpcnN0X29wZW4iXSxbNTIsIm4iLCJmaXJzdF92aXNpdCJdLFs1MiwibyIsImd0YWcuY29uZmlnIl0sWzUyLCJwIiwiaW5fYXBwX3B1cmNoYXNlIl0sWzUyLCJxIiwicGFnZV92aWV3Il0sWzUyLCJyIiwic2Vzc2lvbl9zdGFydCJdLFs1MiwicyIsInVzZXJfZW5nYWdlbWVudCJdLFs1MiwidCIsImFkc19kYXRhX3JlZGFjdGlvbiJdLFs1MiwidSIsImFsbG93X2FkX3BlcnNvbmFsaXphdGlvbl9zaWduYWxzIl0sWzUyLCJ2IiwiYWxsb3dfY3VzdG9tX3NjcmlwdHMiXSxbNTIsInciLCJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyJdLFs1MiwieCIsImFsbG93X2dvb2dsZV9zaWduYWxzIl0sWzUyLCJ5IiwiYXVpZCJdLFs1MiwieiIsImF3X3JlbWFya2V0aW5nX29ubHkiXSxbNTIsImFBIiwiZGlzY291bnQiXSxbNTIsImFCIiwiYXdfZmVlZF9jb3VudHJ5Il0sWzUyLCJhQyIsImF3X2ZlZWRfbGFuZ3VhZ2UiXSxbNTIsImFEIiwiaXRlbXMiXSxbNTIsImFFIiwiYXdfbWVyY2hhbnRfaWQiXSxbNTIsImFGIiwiYXdfYmFza2V0X3R5cGUiXSxbNTIsImFHIiwiY2xpZW50X2lkIl0sWzUyLCJhSCIsImNvbnZlcnNpb25fY29va2llX3ByZWZpeCJdLFs1MiwiYUkiLCJjb252ZXJzaW9uX2lkIl0sWzUyLCJhSiIsImNvbnZlcnNpb25fbGlua2VyIl0sWzUyLCJhSyIsImNvbnZlcnNpb25fYXBpIl0sWzUyLCJhTCIsImNvb2tpZV9kZXByZWNhdGlvbiJdLFs1MiwiYU0iLCJjb29raWVfZXhwaXJlcyJdLFs1MiwiYU4iLCJjb29raWVfcHJlZml4Il0sWzUyLCJhTyIsImNvb2tpZV91cGRhdGUiXSxbNTIsImFQIiwiY291bnRyeSJdLFs1MiwiYVEiLCJjdXJyZW5jeSJdLFs1MiwiYVIiLCJjdXN0b21lcl9saWZldGltZV92YWx1ZSJdLFs1MiwiYVMiLCJjdXN0b21lcl90eXBlIl0sWzUyLCJhVCIsImRlYnVnX21vZGUiXSxbNTIsImFVIiwic2hpcHBpbmciXSxbNTIsImFWIiwiZW5nYWdlbWVudF90aW1lX21zZWMiXSxbNTIsImFXIiwiZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGUiXSxbNTIsImFYIiwiZXZlbnRfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiYVkiLCJldmVudF9pZCJdLFs1MiwiYVoiLCJldmVudCJdLFs1MiwiYkEiLCJfJmFlIl0sWzUyLCJiQiIsImV2ZW50X3RpbWVvdXQiXSxbNTIsImJDIiwiZXh0X2NsaWVudF9pZCJdLFs1MiwiYkQiLCJmaXJzdF9wYXJ0eV9jb2xsZWN0aW9uIl0sWzUyLCJiRSIsIm1hdGNoX2lkIl0sWzUyLCJiRiIsImdkcHJfYXBwbGllcyJdLFs1MiwiYkciLCJfZ3RfbWV0YWRhdGEiXSxbNTIsImJIIiwiZ29vZ2xlX2FuYWx5c2lzX3BhcmFtcyJdLFs1MiwiYkkiLCJfZ29vZ2xlX25nIl0sWzUyLCJiSiIsIl9vbm8iXSxbNTIsImJLIiwiZ3BwX3NpZCJdLFs1MiwiYkwiLCJncHBfc3RyaW5nIl0sWzUyLCJiTSIsImdzYV9leHBlcmltZW50X2lkIl0sWzUyLCJiTiIsImd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSJdLFs1MiwiYk8iLCJpZnJhbWVfc3RhdGUiXSxbNTIsImJQIiwiaWdub3JlX3JlZmVycmVyIl0sWzUyLCJiUSIsImlzX3Bhc3N0aHJvdWdoIl0sWzUyLCJiUiIsImxhbmd1YWdlIl0sWzUyLCJiUyIsIm1lcmNoYW50X2ZlZWRfbGFiZWwiXSxbNTIsImJUIiwibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSJdLFs1MiwiYlUiLCJtZXJjaGFudF9pZCJdLFs1MiwiYlYiLCJuZXdfY3VzdG9tZXIiXSxbNTIsImJXIiwicGFnZV9ob3N0bmFtZSJdLFs1MiwiYlgiLCJwYWdlX3BhdGgiXSxbNTIsImJZIiwicGFnZV9yZWZlcnJlciJdLFs1MiwiYloiLCJwYWdlX3RpdGxlIl0sWzUyLCJjQSIsIl9wbGF0aW51bV9yZXF1ZXN0X3N0YXR1cyJdLFs1MiwiY0IiLCJxdWFudGl0eSJdLFs1MiwiY0MiLCJyZXN0cmljdGVkX2RhdGFfcHJvY2Vzc2luZyJdLFs1MiwiY0QiLCJzY3JlZW5fcmVzb2x1dGlvbiJdLFs1MiwiY0UiLCJzZW5kX3BhZ2VfdmlldyJdLFs1MiwiY0YiLCJzZXJ2ZXJfY29udGFpbmVyXzNwX2VucmljaG1lbnQiXSxbNTIsImNHIiwic2VydmVyX2NvbnRhaW5lcl91cmwiXSxbNTIsImNIIiwic2Vzc2lvbl9kdXJhdGlvbiJdLFs1MiwiY0kiLCJzZXNzaW9uX2VuZ2FnZWRfdGltZSJdLFs1MiwiY0oiLCJzZXNzaW9uX2lkIl0sWzUyLCJjSyIsIl9zaGFyZWRfdXNlcl9pZCJdLFs1MiwiY0wiLCJkZWxpdmVyeV9wb3N0YWxfY29kZSJdLFs1MiwiY00iLCJ0ZXN0b25seSJdLFs1MiwiY04iLCJ0b3Btb3N0X3VybCJdLFs1MiwiY08iLCJ0cmFuc2FjdGlvbl9pZCJdLFs1MiwiY1AiLCJ0cmFuc2FjdGlvbl9pZF9zb3VyY2UiXSxbNTIsImNRIiwidHJhbnNwb3J0X3VybCJdLFs1MiwiY1IiLCJ1cGRhdGUiXSxbNTIsImNTIiwiX3VzZXJfYWdlbnRfYXJjaGl0ZWN0dXJlIl0sWzUyLCJjVCIsIl91c2VyX2FnZW50X2JpdG5lc3MiXSxbNTIsImNVIiwiX3VzZXJfYWdlbnRfZnVsbF92ZXJzaW9uX2xpc3QiXSxbNTIsImNWIiwiX3VzZXJfYWdlbnRfbW9iaWxlIl0sWzUyLCJjVyIsIl91c2VyX2FnZW50X21vZGVsIl0sWzUyLCJjWCIsIl91c2VyX2FnZW50X3BsYXRmb3JtIl0sWzUyLCJjWSIsIl91c2VyX2FnZW50X3BsYXRmb3JtX3ZlcnNpb24iXSxbNTIsImNaIiwiX3VzZXJfYWdlbnRfd293NjQiXSxbNTIsImRBIiwidXNlcl9kYXRhIl0sWzUyLCJkQiIsInVzZXJfZGF0YV9hdXRvX2xhdGVuY3kiXSxbNTIsImRDIiwidXNlcl9kYXRhX2F1dG9fbWV0YSJdLFs1MiwiZEQiLCJ1c2VyX2RhdGFfYXV0b19tdWx0aSJdLFs1MiwiZEUiLCJ1c2VyX2RhdGFfYXV0b19zZWxlY3RvcnMiXSxbNTIsImRGIiwidXNlcl9kYXRhX2F1dG9fc3RhdHVzIl0sWzUyLCJkRyIsInVzZXJfZGF0YV9tb2RlIl0sWzUyLCJkSCIsInVzZXJfaWQiXSxbNTIsImRJIiwidXNlcl9wcm9wZXJ0aWVzIl0sWzUyLCJkSiIsInVzX3ByaXZhY3lfc3RyaW5nIl0sWzUyLCJkSyIsInZhbHVlIl0sWzUyLCJkTCIsIl9mcG1fcGFyYW1ldGVycyJdLFs1MiwiZE0iLCJfaG9zdF9uYW1lIl0sWzUyLCJkTiIsIl9pbl9wYWdlX2NvbW1hbmQiXSxbNTIsImRPIiwiX21lYXN1cmVtZW50X3R5cGUiXSxbNTIsImRQIiwibm9uX3BlcnNvbmFsaXplZF9hZHMiXSxbNTIsImRRIiwiY29udmVyc2lvbl9sYWJlbCJdLFs1MiwiZFIiLCJwYWdlX2xvY2F0aW9uIl0sWzUyLCJkUyIsIl9leHRyYWN0ZWRfZGF0YSJdLFs1MiwiZFQiLCJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyJdLFs1MiwiZFUiLCJ0Y19wcml2YWN5X3N0cmluZyJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJDIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkkiLFsxNSwiZiJdLCJKIixbMTUsImciXSwiSyIsWzE1LCJoIl0sIkwiLFsxNSwiaSJdLCJNIixbMTUsImoiXSwiTyIsWzE1LCJrIl0sIkFBIixbMTUsImwiXSwiQUYiLFsxNSwibSJdLCJBRyIsWzE1LCJuIl0sIkFIIixbMTUsIm8iXSwiQUoiLFsxNSwicCJdLCJBSyIsWzE1LCJxIl0sIkFNIixbMTUsInIiXSwiQVEiLFsxNSwicyJdLCJCQyIsWzE1LCJ0Il0sIkJKIixbMTUsInUiXSwiQksiLFsxNSwidiJdLCJCTSIsWzE1LCJ3Il0sIkJOIixbMTUsIngiXSwiQlQiLFsxNSwieSJdLCJCWCIsWzE1LCJ6Il0sIkJZIixbMTUsImFBIl0sIkJaIixbMTUsImFCIl0sIkNBIixbMTUsImFDIl0sIkNCIixbMTUsImFEIl0sIkNDIixbMTUsImFFIl0sIkNEIixbMTUsImFGIl0sIkNMIixbMTUsImFHIl0sIkNRIixbMTUsImFIIl0sIkNSIixbMTUsImFJIl0sIktHIixbMTUsImRRIl0sIkNTIixbMTUsImFKIl0sIkNVIixbMTUsImFLIl0sIkNXIixbMTUsImFMIl0sIkNZIixbMTUsImFNIl0sIkRDIixbMTUsImFOIl0sIkREIixbMTUsImFPIl0sIkRFIixbMTUsImFQIl0sIkRGIixbMTUsImFRIl0sIkRHIixbMTUsImFSIl0sIkRIIixbMTUsImFTIl0sIkROIixbMTUsImFUIl0sIkVBIixbMTUsImFVIl0sIkVDIixbMTUsImFWIl0sIkVHIixbMTUsImFXIl0sIkVKIixbMTUsImFYIl0sIkVLIixbMTUsImFZIl0sIkVOIixbMTUsImFaIl0sIkVPIixbMTUsImJBIl0sIkVRIixbMTUsImJCIl0sIktJIixbMTUsImRTIl0sIkVVIixbMTUsImJDIl0sIkVXIixbMTUsImJEIl0sIkZFIixbMTUsImJFIl0sIkZPIixbMTUsImJGIl0sIkZQIixbMTUsImJHIl0sIktKIixbMTUsImRUIl0sIkZUIixbMTUsImJIIl0sIkZVIixbMTUsImJJIl0sIkZWIixbMTUsImJKIl0sIkZZIixbMTUsImJLIl0sIkZaIixbMTUsImJMIl0sIkdCIixbMTUsImJNIl0sIkdDIixbMTUsImJOIl0sIkdFIixbMTUsImJPIl0sIkdGIixbMTUsImJQIl0sIkdLIixbMTUsImJRIl0sIkdNIixbMTUsImJSIl0sIkdUIixbMTUsImJTIl0sIkdVIixbMTUsImJUIl0sIkdWIixbMTUsImJVIl0sIkdaIixbMTUsImJWIl0sIkhDIixbMTUsImJXIl0sIktIIixbMTUsImRSIl0sIkhEIixbMTUsImJYIl0sIkhFIixbMTUsImJZIl0sIkhGIixbMTUsImJaIl0sIkhOIixbMTUsImNBIl0sIkhQIixbMTUsImNCIl0sIkhUIixbMTUsImNDIl0sIkhYIixbMTUsImNEIl0sIklBIixbMTUsImNFIl0sIklDIixbMTUsImNGIl0sIklEIixbMTUsImNHIl0sIklGIixbMTUsImNIIl0sIklIIixbMTUsImNJIl0sIklJIixbMTUsImNKIl0sIklLIixbMTUsImNLIl0sIklMIixbMTUsImNMIl0sIktLIixbMTUsImRVIl0sIklQIixbMTUsImNNIl0sIklSIixbMTUsImNOIl0sIklVIixbMTUsImNPIl0sIklWIixbMTUsImNQIl0sIklXIixbMTUsImNRIl0sIklZIixbMTUsImNSIl0sIkpCIixbMTUsImNTIl0sIkpDIixbMTUsImNUIl0sIkpEIixbMTUsImNVIl0sIkpFIixbMTUsImNWIl0sIkpGIixbMTUsImNXIl0sIkpHIixbMTUsImNYIl0sIkpIIixbMTUsImNZIl0sIkpJIixbMTUsImNaIl0sIkpKIixbMTUsImRBIl0sIkpLIixbMTUsImRCIl0sIkpMIixbMTUsImRDIl0sIkpNIixbMTUsImREIl0sIkpOIixbMTUsImRFIl0sIkpPIixbMTUsImRGIl0sIkpQIixbMTUsImRHIl0sIkpSIixbMTUsImRIIl0sIkpTIixbMTUsImRJIl0sIkpVIixbMTUsImRKIl0sIkpWIixbMTUsImRLIl0sIkpYIixbMTUsImRMIl0sIkpZIixbMTUsImRNIl0sIkpaIixbMTUsImROIl0sIktDIixbMTUsImRPIl0sIktEIixbMTUsImRQIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImFib3J0X3dpdGhvdXRfZmFpbCJdLFs1MiwiYyIsImFjY2VwdF9ieV9kZWZhdWx0Il0sWzUyLCJkIiwiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIl0sWzUyLCJlIiwiY29uc2VudF9zdGF0ZSJdLFs1MiwiZiIsImNvbnNlbnRfdXBkYXRlZCJdLFs1MiwiZyIsImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiXSxbNTIsImgiLCJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIl0sWzUyLCJpIiwiY29va2llX29wdGlvbnMiXSxbNTIsImoiLCJkZWR1cGVfaWQiXSxbNTIsImsiLCJlbV9ldmVudCJdLFs1MiwibCIsImV2ZW50X3Byb3ZlbmFuY2UiXSxbNTIsIm0iLCJldmVudF9zb3VyY2UiXSxbNTIsIm4iLCJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiXSxbNTIsIm8iLCJldmVudF91c2FnZSJdLFs1MiwicCIsImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyJdLFs1MiwicSIsImZvcm1fZXZlbnRfY2FuY2VsZWQiXSxbNTIsInIiLCJnYTRfY29sbGVjdGlvbl9zdWJkb21haW4iXSxbNTIsInMiLCJndG1fZXh0cmFjdGVkX2RhdGEiXSxbNTIsInQiLCJoYW5kbGVfaW50ZXJuYWxseSJdLFs1MiwidSIsImhhc19nYV9jb252ZXJzaW9uX2NvbnNlbnRzIl0sWzUyLCJ2IiwiaGl0X3R5cGUiXSxbNTIsInciLCJoaXRfdHlwZV9vdmVycmlkZSJdLFs1MiwieCIsImlnbm9yZV9kdXBlX2NvbmZpZyJdLFs1MiwieSIsImlzX2NvbnZlcnNpb24iXSxbNTIsInoiLCJpc19leHRlcm5hbF9ldmVudCJdLFs1MiwiYUEiLCJpc19maXJzdF92aXNpdCJdLFs1MiwiYUIiLCJpc19maXJzdF92aXNpdF9jb252ZXJzaW9uIl0sWzUyLCJhQyIsImlzX2ZwbV9lbmNyeXB0aW9uIl0sWzUyLCJhRCIsImlzX2ZwbV9zcGxpdCJdLFs1MiwiYUUiLCJpc19nY3BfYnJvd3NlciJdLFs1MiwiYUYiLCJpc19nb29nbGVfbWVhc3VyZW1lbnRfYWxsb3dlZCJdLFs1MiwiYUciLCJpc19zZXJ2ZXJfc2lkZV9kZXN0aW5hdGlvbiJdLFs1MiwiYUgiLCJpc19zZXNzaW9uX3N0YXJ0Il0sWzUyLCJhSSIsImlzX3Nlc3Npb25fc3RhcnRfY29udmVyc2lvbiJdLFs1MiwiYUoiLCJpc19zZ3RtX2dhX2Fkc19jb252ZXJzaW9uX3N0dWR5X2NvbnRyb2xfZ3JvdXAiXSxbNTIsImFLIiwiaXNfc2d0bV9wcmVoaXQiXSxbNTIsImFMIiwiaXNfc3BsaXRfY29udmVyc2lvbiJdLFs1MiwiYU0iLCJpc19zeW4iXSxbNTIsImFOIiwiaXNfdGVzdF9ldmVudCJdLFs1MiwiYU8iLCJwcmVoaXRfZm9yX3JldHJ5Il0sWzUyLCJhUCIsInJlZGFjdF9hZHNfZGF0YSJdLFs1MiwiYVEiLCJyZWRhY3RfY2xpY2tfaWRzIl0sWzUyLCJhUiIsInNlbmRfY2NtX3BhcmFsbGVsX3BpbmciXSxbNTIsImFTIiwic2VuZF91c2VyX2RhdGFfaGl0Il0sWzUyLCJhVCIsInNwZWN1bGF0aXZlIl0sWzUyLCJhVSIsInN5bl9vcl9tb2QiXSxbNTIsImFWIiwidHJhbnNpZW50X2Vjc2lkIl0sWzUyLCJhVyIsInVzZXJfZGF0YSJdLFs1MiwiYVgiLCJ1c2VyX2RhdGFfZnJvbV9hdXRvbWF0aWMiXSxbNTIsImFZIiwidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciJdLFs1MiwiYVoiLCJ1c2VyX2RhdGFfZnJvbV9jb2RlIl0sWzUyLCJiQSIsInVzZXJfZGF0YV9mcm9tX21hbnVhbCJdLFszNixbOCwiQSIsWzE1LCJiIl0sIkIiLFsxNSwiYyJdLCJGIixbMTUsImQiXSwiTSIsWzE1LCJlIl0sIk4iLFsxNSwiZiJdLCJPIixbMTUsImciXSwiUCIsWzE1LCJoIl0sIlEiLFsxNSwiaSJdLCJTIixbMTUsImoiXSwiVCIsWzE1LCJrIl0sIloiLFsxNSwibCJdLCJBQSIsWzE1LCJtIl0sIkFCIixbMTUsIm4iXSwiQUMiLFsxNSwibyJdLCJBRCIsWzE1LCJwIl0sIkFKIixbMTUsInEiXSwiQUsiLFsxNSwiciJdLCJBTiIsWzE1LCJzIl0sIkFPIixbMTUsInQiXSwiQVAiLFsxNSwidSJdLCJBUSIsWzE1LCJ2Il0sIkFSIixbMTUsInciXSwiQVMiLFsxNSwieCJdLCJBViIsWzE1LCJ5Il0sIkFZIixbMTUsInoiXSwiQVoiLFsxNSwiYUEiXSwiQkEiLFsxNSwiYUIiXSwiQkMiLFsxNSwiYUMiXSwiQkQiLFsxNSwiYUQiXSwiQkUiLFsxNSwiYUUiXSwiQkYiLFsxNSwiYUYiXSwiQksiLFsxNSwiYUciXSwiQkwiLFsxNSwiYUgiXSwiQk0iLFsxNSwiYUkiXSwiQk4iLFsxNSwiYUoiXSwiQk8iLFsxNSwiYUsiXSwiQlEiLFsxNSwiYUwiXSwiQlIiLFsxNSwiYU0iXSwiQlMiLFsxNSwiYU4iXSwiQlkiLFsxNSwiYU8iXSwiQ0IiLFsxNSwiYVAiXSwiQ0MiLFsxNSwiYVEiXSwiQ0UiLFsxNSwiYVIiXSwiQ04iLFsxNSwiYVMiXSwiQ1EiLFsxNSwiYVQiXSwiQ1QiLFsxNSwiYVUiXSwiQ1UiLFsxNSwiYVYiXSwiQ1ciLFsxNSwiYVciXSwiQ1giLFsxNSwiYVgiXSwiQ1kiLFsxNSwiYVkiXSwiQ1oiLFsxNSwiYVoiXSwiREEiLFsxNSwiYkEiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2ZlYXR1cmVGbGFncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsNDVdLFs1MiwiYyIsNDZdLFs1MiwiZCIsNDddLFs1MiwiZSIsMTc0XSxbNTIsImYiLDI3Nl0sWzM2LFs4LCJGIixbMTUsImIiXSwiRyIsWzE1LCJjIl0sIkgiLFsxNSwiZCJdLCJWIixbMTUsImUiXSwiQUQiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZWNUeXBlcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MiwiYiIsImZzcmMiXSxbNTIsImMiLCJmZWlkIl0sWzUyLCJkIiwiMCJdLFs1MiwiZSIsIjEiXSxbNTIsImYiLCIyIl0sWzUyLCJnIiwiMyJdLFs1MiwiaCIsIjQiXSxbMzYsWzgsIkIiLFsxNSwiYyJdLCJGIixbMTUsImciXSwiRCIsWzE1LCJlIl0sIkUiLFsxNSwiZiJdLCJDIixbMTUsImQiXSwiRyIsWzE1LCJoIl0sIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfZmVhdHVyZXMiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDQyNV0sWzUyLCJjIiw0MzVdLFs1MiwiZCIsNDg4XSxbNTIsImUiLDQ4OV0sWzUyLCJmIiw0OThdLFs1MiwiZyIsNTAzXSxbNTIsImgiLDUwNF0sWzUyLCJpIiw1MDZdLFs1MiwiaiIsNTIzXSxbNTIsImsiLDUzMl0sWzUyLCJsIiw1NTNdLFs1MiwibSIsNTY4XSxbNTIsIm4iLDU3N10sWzUyLCJvIiw1ODFdLFs1MiwicCIsNTgzXSxbNTIsInEiLDU5Ml0sWzUyLCJyIiw1OTRdLFs1MiwicyIsNTk5XSxbMzYsWzgsIkFWIixbMTUsImsiXSwiQUQiLFsxNSwiZCJdLCJDSSIsWzE1LCJxIl0sIkJWIixbMTUsIm4iXSwiQk8iLFsxNSwibSJdLCJDSyIsWzE1LCJyIl0sIkNQIixbMTUsInMiXSwiQU0iLFsxNSwiZyJdLCJCWiIsWzE1LCJvIl0sIkFUIixbMTUsImoiXSwiQUUiLFsxNSwiZSJdLCJBTiIsWzE1LCJoIl0sIkwiLFsxNSwiYyJdLCJCQyIsWzE1LCJsIl0sIkFPIixbMTUsImkiXSwiQ0IiLFsxNSwicCJdLCJBSSIsWzE1LCJmIl0sIkkiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLCJjb29raWVfZGVwcmVjYXRpb25fbGFiZWwiXSxbNTIsImMiLCJwbGQiXSxbNTIsImQiLCJzaGFyZWRfdXNlcl9pZCJdLFs1MiwiZSIsInNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCJdLFs1MiwiZiIsInNoYXJlZF91c2VyX2lkX3NvdXJjZSJdLFszNixbOCwiQiIsWzE1LCJiIl0sIk4iLFsxNSwiYyJdLCJTIixbMTUsImQiXSwiVCIsWzE1LCJlIl0sIlUiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1TY2hlbWEiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTIsImIiLDFdLFs1MiwiYyIsMl0sWzUyLCJkIiwzXSxbNTIsImUiLDRdLFs1MiwiZiIsNV0sWzUyLCJnIiw2XSxbMzYsWzgsIkEiLFsxNSwiYiJdLCJGIixbMTUsImciXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9nb2xkRXZlbnRVc2FnZUlkIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwxXSxbNTIsImMiLDJdLFs1MiwiZCIsNV0sWzUyLCJlIiw2XSxbNTIsImYiLDddLFs1MiwiZyIsOF0sWzUyLCJoIiw5XSxbNTIsImkiLDExXSxbNTIsImoiLDE1XSxbNTIsImsiLDE2XSxbNTIsImwiLDIwXSxbNTIsIm0iLDIxXSxbNTIsIm4iLDIzXSxbNTIsIm8iLDI0XSxbNTIsInAiLDI3XSxbNTIsInEiLDQwXSxbNTIsInIiLDQxXSxbMzYsWzgsIk8iLFsxNSwiaiJdLCJXIixbMTUsIm4iXSwiUCIsWzE1LCJrIl0sIlgiLFsxNSwibyJdLCJLIixbMTUsImkiXSwiQSIsWzE1LCJiIl0sIlQiLFsxNSwibCJdLCJFIixbMTUsImQiXSwiRiIsWzE1LCJlIl0sIkIiLFsxNSwiYyJdLCJIIixbMTUsImciXSwiQU4iLFsxNSwicSJdLCJJIixbMTUsImgiXSwiRyIsWzE1LCJmIl0sIlUiLFsxNSwibSJdLCJBTyIsWzE1LCJyIl0sIkFBIixbMTUsInAiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUyLCJiIiwiYWVfYmxvY2tfZG93bmxvYWRzIl0sWzUyLCJjIiwiYWVfYmxvY2tfZm9ybSJdLFs1MiwiZCIsImFlX2Jsb2NrX2hpc3RvcnkiXSxbNTIsImUiLCJhZV9ibG9ja19vdXRib3VuZF9jbGljayJdLFs1MiwiZiIsImFlX2Jsb2NrX3Njcm9sbCJdLFs1MiwiZyIsImFlX2Jsb2NrX3ZpZGVvIl0sWzM2LFs4LCJBIixbMTUsImIiXSwiQiIsWzE1LCJjIl0sIkMiLFsxNSwiZCJdLCJEIixbMTUsImUiXSwiRSIsWzE1LCJmIl0sIkYiLFsxNSwiZyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1TaXRlU2VhcmNoQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImIiLFs0NiwiZCIsImUiXSxbNTIsImYiLFsyLFszMCxbMTUsImQiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiZyJdLFszLCJnIiwwXSxbNjMsWzcsImciXSxbMjMsWzE1LCJnIl0sWzE3LFsxNSwiZiJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiZyJdLFszLCJnIixbMCxbMTUsImciXSwxXV1dLFs0NixbNTMsWzUyLCJoIixbImUiLFsyLFsxNixbMTUsImYiXSxbMTUsImciXV0sInRyaW0iLFs3XV1dXSxbMjIsWzIxLFsxNSwiaCJdLFs0NF1dLFs0NixbNTMsWzM2LFsxNSwiaCJdXV1dXV1dXV1dLFs1MCwiYyIsWzQ2LCJkIiwiZSIsImYiXSxbNTIsImciLFs4LCJzZWFyY2hfdGVybSIsWzE1LCJkIl1dXSxbNTIsImgiLFsyLFszMCxbMTUsImUiXSwiIl0sInNwbGl0IixbNywiLCJdXV0sWzUzLFs0MSwiaSJdLFszLCJpIiwwXSxbNjMsWzcsImkiXSxbMjMsWzE1LCJpIl0sWzE3LFsxNSwiaCJdLCJsZW5ndGgiXV0sWzMzLFsxNSwiaSJdLFszLCJpIixbMCxbMTUsImkiXSwxXV1dLFs0NixbNTMsWzUyLCJqIixbMixbMTYsWzE1LCJoIl0sWzE1LCJpIl1dLCJ0cmltIixbN11dXSxbNTIsImsiLFsiZiIsWzE1LCJqIl1dXSxbMjIsWzIxLFsxNSwiayJdLFs0NF1dLFs0NixbNTMsWzQzLFsxNSwiZyJdLFswLCJxXyIsWzE1LCJqIl1dLFsxNSwiayJdXV1dXV1dXV0sWzM2LFsxNSwiZyJdXV0sWzM2LFs4LCJCIixbMTUsImMiXSwiQSIsWzE1LCJiIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9hY3Rpdml0aWVzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJiIixbNDYsImMiLCJkIl0sWzM2LFszOSxbMTUsImQiXSxbImQiLFsxNSwiYyJdXSxbMTUsImMiXV1dXSxbMzYsWzgsIkEiLFsxNSwiYiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfcGxhdGZvcm1EZXRlY3Rpb24iLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm8iLFs0Nl0sWzY4LCJ3IixbNTMsWzIyLFsxLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiQUkiXV1dLFsyOCxbImUiLFsxNyxbMTUsImgiXSwiSSJdXV1dLFs0NixbNTMsWzM2LFs3XV1dXV0sWzUyLCJ3IixbImIiLFsxNyxbMTUsImciXSwiTiJdXV0sWzIyLFsibiIsWzE1LCJ3Il1dLFs0NixbNTMsWzM2LFsxNSwidyJdXV1dXSxbNTIsIngiLFs3XV0sWzIyLFsicCJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJBIl1dXV1dLFsyMixbInEiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiQiJdXV1dXSxbMjIsWyJyIl0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkYiXV1dXV0sWzIyLFsidSJdLFs0NixbMixbMTUsIngiXSwicHVzaCIsWzcsWzE3LFsxNSwiaiJdLCJEIl1dXV1dLFsyMixbInMiXSxbNDYsWzIsWzE1LCJ4Il0sInB1c2giLFs3LFsxNyxbMTUsImoiXSwiRSJdXV1dXSxbMjIsWyJ0Il0sWzQ2LFsyLFsxNSwieCJdLCJwdXNoIixbNyxbMTcsWzE1LCJqIl0sIkMiXV1dXV0sWzIyLFsibCJdLFs0NixbNTMsWyJmIixbMTcsWzE1LCJnIl0sIk4iXSxbMTUsIngiXSx0cnVlXV1dXSxbMzYsWzE1LCJ4Il1dXSxbNDZdXSxbMzYsWzddXV0sWzUwLCJwIixbNDZdLFs2OCwidyIsWzUzLFszNixbMjgsWzI4LFsiYyIsInNjcmlwdFtkYXRhLXJlcXVpcmVtb2R1bGVePVwibWFnZS9cIl0iXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJxIixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWyJtIiwiWVhOelpYUnpMbk54ZFdGeVpYTndZV05sTG1OdmJTOD0iXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjXj1cIi8vIixbMTUsInciXV0sIlwiXSJdXV1dXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJyIixbNDZdLFsyMixbMjgsWyJlIixbMTcsWzE1LCJoIl0sIkkiXV1dLFs0NixbNTMsWzM2LGZhbHNlXV1dXSxbNjgsInciLFs1MyxbNTIsInciLFsibSIsImMyaHZjR2xtZVM1amIyMD0iXV0sWzUyLCJ4IixbIm0iLCJjMmh2Y0dsbWVXTmtiaTVqYjIwPSJdXSxbMjIsWzMwLFsyOCxbMTUsInciXV0sWzI4LFsxNSwieCJdXV0sWzQ2LFszNixmYWxzZV1dXSxbMzYsWzI4LFsyOCxbImMiLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLFswLCJzY3JpcHRbc3JjKj1cImNkbi4iLFsxNSwidyJdXSwiXCJdLCJdLCJtZXRhW3Byb3BlcnR5PVwib2c6aW1hZ2VcIl1bY29udGVudCo9XCJjZG4uIl0sWzE1LCJ3Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cImNkbi4iXSxbMTUsInciXV0sIlwiXSwiXSwibGlua1tyZWw9XCJwcmVjb25uZWN0XCJdW2hyZWYqPVwiZm9udHMuIl0sWzE1LCJ4Il1dLCJcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cIml0ZXJhYmxlLXNob3BpZnlcIl0sIl0sImxpbmtbcmVsPVwicHJlY29ubmVjdFwiXVtocmVmKj1cInYuIl0sWzE1LCJ3Il1dLCJcIl0iXV1dXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwicyIsWzQ2XSxbNjgsInciLFs1MyxbNTIsInciLFsiZCIsInByb3RvY29sIl1dLFs1MiwieCIsWyJkIiwiaG9zdCJdXSxbNTIsInkiLFszOSxbMSxbMTUsInciXSxbMTUsIngiXV0sWzAsWzAsWzAsWzAsIltzcmNePVwiIixbMTUsInciXV0sIjovLyJdLFsxNSwieCJdXSwiL3dwLWNvbnRlbnRcIl0sIl0sIiJdXSxbNTIsInoiLFsibSIsIkxuZHZjbVJ3Y21WemN5NWpiMjA9Il1dLFs1MiwiYUEiLFsibSIsIkx5OXpMbmN1YjNKbiJdXSxbMjIsWzMwLFsyOCxbMTUsInoiXV0sWzI4LFsxNSwiYUEiXV1dLFs0NixbMzYsZmFsc2VdXV0sWzM2LFszMCxbInYiLFsxNSwieCJdLFsxNSwieiJdXSxbMjgsWzI4LFsiYyIsWzAsWzAsWzAsWzAsWzE1LCJ5Il0sIm1ldGFbbmFtZT1cImdlbmVyYXRvclwiXVtjb250ZW50Xj1cIldvcmRQcmVzcyBcIl0sIl0sImxpbmtbcmVsPVwiZG5zLXByZWZldGNoXCJdW2hyZWY9XCIiXSxbMTUsImFBIl1dLCJcIl0iXV1dXV1dXSxbNDZdXSxbMzYsZmFsc2VdXSxbNTAsInQiLFs0Nl0sWzY4LCJ3IixbNTMsWzUyLCJ3IixbMjgsWzI4LFsiYyIsWzAsIltjbGFzcyo9XCJ3b29jb21tZXJjZVwiXSwiLCJtZXRhW25hbWU9XCJnZW5lcmF0b3JcIl1bY29udGVudF49XCJXb29Db21tZXJjZSBcIl0iXV1dXV0sWzIyLFsxNSwidyJdLFs0NixbNTNdXV0sWzM2LFsxNSwidyJdXV0sWzQ2XV0sWzM2LGZhbHNlXV0sWzUwLCJ1IixbNDZdLFs2OCwidyIsWzUzLFs1MiwidyIsWzI4LFsyOCxbImMiLFswLFswLCJzY3JpcHRbc3JjKj1cIndvb2NvbW1lcmNlXCJdLCIsImxpbmtbaHJlZio9XCJ3b29jb21tZXJjZVwiXSwiXSwiW2NsYXNzfD1cIndvb2NvbW1lcmNlXCJdIl1dXV1dLFsyMixbMTUsInciXSxbNDYsWzUzXV1dLFszNixbMTUsInciXV1dLFs0Nl1dLFszNixmYWxzZV1dLFs1MCwidiIsWzQ2LCJ3IiwieCJdLFszNixbMSxbMTksWzE3LFsxNSwidyJdLCJsZW5ndGgiXSxbMTcsWzE1LCJ4Il0sImxlbmd0aCJdXSxbMjAsWzIsWzE1LCJ3Il0sInN1YnN0cmluZyIsWzcsWzM3LFsxNyxbMTUsInciXSwibGVuZ3RoIl0sWzE3LFsxNSwieCJdLCJsZW5ndGgiXV0sWzE3LFsxNSwidyJdLCJsZW5ndGgiXV1dLFsxNSwieCJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciJdXSxbNTIsImQiLFsicmVxdWlyZSIsImdldFVybCJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRJbkNyb3NzQ29udGFpbmVyRGF0YSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfY3Jvc3NDb250YWluZXJTY2hlbWEiXV0sWzUyLCJoIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaSIsWzE1LCJfX21vZHVsZV9mZWF0dXJlRmxhZ3MiXV0sWzUyLCJqIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtU2NoZW1hIl1dLFs1MiwiayIsWyJyZXF1aXJlIiwiZ2V0VHlwZSJdXSxbNTIsImwiLFsicmVxdWlyZSIsImludGVybmFsLmlzRG9tUmVhZHkiXV0sWzUyLCJtIixbInJlcXVpcmUiLCJmcm9tQmFzZTY0Il1dLFs1MiwibiIsWzUxLCIiLFs3LCJ3Il0sWzM2LFsyMCxbImsiLFsxNSwidyJdXSwiYXJyYXkiXV1dXSxbMzYsWzgsIkEiLFsxNSwibyJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Eb3dubG9hZEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfdXJsIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJsaW5rX3RleHQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImZpbGVfbmFtZSIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywiZmlsZV9leHRlbnNpb24iLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiQSJdXSxbNTIsImciLCJmaWxlX2Rvd25sb2FkIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2VuaGFuY2VkTWVhc3VyZW1lbnQiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsImUiLFs0NiwiZyJdLFs1MiwiaCIsWyJiIl1dLFs1MiwiaSIsWzddXSxbNTMsWzQxLCJqIl0sWzMsImoiLDBdLFs2MyxbNywiaiJdLFsyMyxbMTUsImoiXSxbMTcsWzE1LCJoIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJqIl0sWzMsImoiLFswLFsxNSwiaiJdLDFdXV0sWzQ2LFs1MyxbNTIsImsiLFsxNixbMTUsImgiXSxbMTUsImoiXV1dLFsyMixbImQiLFsxNSwiZyJdLFsxNSwiayJdXSxbNDYsWzUzLFsyLFsxNSwiaSJdLCJwdXNoIixbNyxbMTUsImsiXV1dXV1dXV1dXSxbMzYsWzE1LCJpIl1dXSxbNTAsImYiLFs0NiwiZyIsImgiXSxbNTIsImkiLFszMCxbMTUsImgiXSxbOF1dXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJUIl0sdHJ1ZV0sWzQzLFsxNSwiaSJdLFsxNyxbMTUsImMiXSwiQ1EiXSx0cnVlXSxbNDMsWzE1LCJpIl0sWzE3LFsxNSwiYyJdLCJaIl0sImEiXSxbNDMsWzE1LCJnIl0sImV2ZW50TWV0YWRhdGEiLFsxNSwiaSJdXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXREZXN0aW5hdGlvbklkcyJdXSxbNTIsImMiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5jbGFpbURlc3RpbmF0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJlIl0sIkIiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1Gb3JtQWN0aXZpdHkiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbNTEsIiIsWzddLFs1MCwiYSIsWzQ2XSxbNTAsIm4iLFs0NiwibyIsInAiLCJxIl0sWzUyLCJyIixbMjAsWzIsWzE1LCJvIl0sImluZGV4T2YiLFs3LCJBVy0iXV0sMF1dLFsyMixbMjAsWzE1LCJwIl0sWzQ0XV0sWzQ2LFs1MyxbMywicCIsWzE1LCJyIl1dXV1dLFsiYyIsWzE1LCJvIl0sWzUxLCIiLFs3LCJzIl0sWzUyLCJ0IixbMixbMTUsInMiXSwiZ2V0RXZlbnROYW1lIixbN11dXSxbNTIsInUiLFszMCxbMjAsWzE1LCJ0Il0sWzE1LCJsIl1dLFsyMCxbMTUsInQiXSxbMTUsImsiXV1dXSxbMjIsWzMwLFsyOCxbMTUsInUiXV0sWzI4LFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsIm8iXSxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzEsWzI4LFsxNSwicCJdXSxbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQUoiXV1dXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFs1MiwidiIsWzIsWzE1LCJzIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIkFBIl1dXV0sWzIyLFsxLFsyOCxbMTUsInIiXV0sWzIwLFsxNSwidiJdLFsxNSwibSJdXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMjIsWzI4LFsiaCIsWzE3LFsxNSwiaSJdLCJCWiJdXV0sWzQ2LFs1MyxbMjIsWzIwLFsxNSwidiJdLFsxNSwibSJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJhYm9ydCIsWzddXSxbMzZdXV0sWzQ2LFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJrIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlMiXSxbNDRdXV1dXV1dXV1dXSxbMixbMTUsInMiXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMSxbMTUsInYiXSxbMTUsInIiXV0sWzQ2LFs1MyxbNDEsInciXSxbMywidyIsWzE3LFsxNSwiZyJdLCJDIl1dLFs0MSwieCJdLFsyMixbMjAsWzE1LCJ2Il0sWzE1LCJsIl1dLFs0NixbNTMsWzMsInciLFsxNyxbMTUsImciXSwiRCJdXV1dLFs0NixbMjIsWzIwLFsxNSwidiJdLFsxNSwiayJdXSxbNDYsWzUzLFszLCJ3IixbMTcsWzE1LCJnIl0sIkUiXV0sWzMsIngiLFsyLFsxNSwicyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJTIl1dXV1dXSxbNDYsWzIyLFsyMCxbMTUsInYiXSxbMTUsIm0iXV0sWzQ2LFs1MyxbMywidyIsWzE3LFsxNSwiZyJdLCJGIl1dLFszLCJ4IixbMixbMTUsInMiXSwiZ2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiUyJdXV1dXV1dXV1dXSxbNTIsInkiLFs4XV0sWzQzLFsxNSwieSJdLFsxNyxbMTUsImciXSwiQSJdLFsxNSwidyJdXSxbMjIsWzE1LCJ4Il0sWzQ2LFs1MyxbNDMsWzE1LCJ5Il0sWzE3LFsxNSwiZyJdLCJCIl0sWzE1LCJ4Il1dXV1dLFsyLFsxNSwicyJdLCJtZXJnZUhpdERhdGFGb3JLZXkiLFs3LFsxNyxbMTUsImYiXSwiRlQiXSxbMTUsInkiXV1dXV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNTMsWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX2lkIixbNDRdXV0sWzIsWzE1LCJzIl0sInNldEhpdERhdGEiLFs3LCJmb3JtX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fZGVzdGluYXRpb24iLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fbGVuZ3RoIixbNDRdXV0sWzIyLFsyMCxbMTUsInQiXSxbMTUsImsiXV0sWzQ2LFs1MyxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZvcm1fc3VibWl0X3RleHQiLFs0NF1dXV1dLFs0NixbMjIsWzIwLFsxNSwidCJdLFsxNSwibCJdXSxbNDYsWzUzLFsyLFsxNSwicyJdLCJzZXRIaXREYXRhIixbNywiZmlyc3RfZmllbGRfaWQiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX25hbWUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3R5cGUiLFs0NF1dXSxbMixbMTUsInMiXSwic2V0SGl0RGF0YSIsWzcsImZpcnN0X2ZpZWxkX3Bvc2l0aW9uIixbNDRdXV1dXV1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfZWNUeXBlcyJdXSxbNTIsImgiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJpIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiaiIsWzE3LFsxNSwiZSJdLCJCIl1dLFs1MiwiayIsImZvcm1fc3VibWl0Il0sWzUyLCJsIiwiZm9ybV9zdGFydCJdLFs1MiwibSIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsIm4iXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtT3V0Ym91bmRDbGlja0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfaWQiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfY2xhc3NlcyIsWzQ0XV1dLFsyLFsxNSwiayJdLCJzZXRIaXREYXRhIixbNywibGlua191cmwiLFs0NF1dXSxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsImxpbmtfZG9tYWluIixbNDRdXV0sWzIsWzE1LCJrIl0sInNldEhpdERhdGEiLFs3LCJvdXRib3VuZCIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJEIl1dLFs1MiwiZyIsImNsaWNrIl0sWzM2LFs4LCJBIixbMTUsImgiXV1dXSxbMzYsWyJhIl1dXV0sWyIkMCJdXV0KICxbNTIsIl9fbW9kdWxlX2NjZEVtUGFnZVZpZXdBY3Rpdml0eSIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJrIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsImwiXSxbMjIsWzMwLFsyMSxbMixbMTUsImwiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiaSJdXSxbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiayJdLFsxNSwiaCJdXSxbNDYsWzUzLFsyLFsxNSwibCJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyMixbMjgsWzIsWzE1LCJsIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJlIl0sIkJPIl1dXV0sWzQ2LFs1MyxbImQiLFsxNSwiayJdLFsxNyxbMTUsImYiXSwiSEUiXSxbMixbMTUsImwiXSwiZ2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZiJdLCJIRSJdXV1dXV1dLFsyLFsxNSwibCJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJDUSJdLGZhbHNlXV1dXV0sWzUyLCJiIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiXV0sWzUyLCJjIixbInJlcXVpcmUiLCJpbnRlcm5hbC5yZWdpc3RlckNjZENhbGxiYWNrIl1dLFs1MiwiZCIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuc2V0UmVtb3RlQ29uZmlnUGFyYW1ldGVyIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbNTIsImYiLFsxNSwiX19tb2R1bGVfZ3RhZ1NjaGVtYSJdXSxbNTIsImciLFsxNSwiX19tb2R1bGVfYXV0b0V2ZW50QmxvY2tTY2hlbWEiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkMiXV0sWzUyLCJpIixbMTcsWzE1LCJmIl0sIkFLIl1dLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV9jY2RFbVNjcm9sbEFjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJoIixbNDYsImkiLCJqIl0sWyJjIixbMTUsImkiXSxbNTEsIiIsWzcsImsiXSxbMjIsWzMwLFsyMSxbMixbMTUsImsiXSwiZ2V0RXZlbnROYW1lIixbN11dLFsxNSwiZyJdXSxbMjgsWzIsWzE1LCJrIl0sImdldE1ldGFkYXRhIixbNyxbMTcsWzE1LCJkIl0sIlQiXV1dXV0sWzQ2LFs1MyxbMzZdXV1dLFsyMixbImIiLFsxNSwiaSJdLFsxNSwiZiJdXSxbNDYsWzUzLFsyLFsxNSwiayJdLCJhYm9ydCIsWzddXSxbMzZdXV1dLFsyLFsxNSwiayJdLCJzZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJDUSJdLGZhbHNlXV0sWzIyLFsyOCxbMTUsImoiXV0sWzQ2LFs1MyxbMixbMTUsImsiXSwic2V0SGl0RGF0YSIsWzcsInBlcmNlbnRfc2Nyb2xsZWQiLFs0NF1dXV1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmdldFByb2R1Y3RTZXR0aW5nc1BhcmFtZXRlciJdXSxbNTIsImMiLFsicmVxdWlyZSIsImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siXV0sWzUyLCJkIixbMTUsIl9fbW9kdWxlX21ldGFkYXRhU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9hdXRvRXZlbnRCbG9ja1NjaGVtYSJdXSxbNTIsImYiLFsxNyxbMTUsImUiXSwiRSJdXSxbNTIsImciLCJzY3JvbGwiXSxbMzYsWzgsIkEiLFsxNSwiaCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkRW1WaWRlb0FjdGl2aXR5IixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJqIixbNDYsImsiLCJsIl0sWyJjIixbMTUsImsiXSxbNTEsIiIsWzcsIm0iXSxbNTIsIm4iLFsyLFsxNSwibSJdLCJnZXRFdmVudE5hbWUiLFs3XV1dLFs1MiwibyIsWzMwLFszMCxbMjAsWzE1LCJuIl0sWzE1LCJnIl1dLFsyMCxbMTUsIm4iXSxbMTUsImgiXV1dLFsyMCxbMTUsIm4iXSxbMTUsImkiXV1dXSxbMjIsWzMwLFsyOCxbMTUsIm8iXV0sWzI4LFsyLFsxNSwibSJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJUIl1dXV1dLFs0NixbNTMsWzM2XV1dXSxbMjIsWyJiIixbMTUsImsiXSxbMTUsImYiXV0sWzQ2LFs1MyxbMixbMTUsIm0iXSwiYWJvcnQiLFs3XV0sWzM2XV1dXSxbMixbMTUsIm0iXSwic2V0TWV0YWRhdGEiLFs3LFsxNyxbMTUsImQiXSwiQ1EiXSxmYWxzZV1dLFsyMixbMjgsWzE1LCJsIl1dLFs0NixbNTMsWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19jdXJyZW50X3RpbWUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX2R1cmF0aW9uIixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wZXJjZW50IixbNDRdXV0sWzIsWzE1LCJtIl0sInNldEhpdERhdGEiLFs3LCJ2aWRlb19wcm92aWRlciIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlkZW9fdGl0bGUiLFs0NF1dXSxbMixbMTUsIm0iXSwic2V0SGl0RGF0YSIsWzcsInZpZGVvX3VybCIsWzQ0XV1dLFsyLFsxNSwibSJdLCJzZXRIaXREYXRhIixbNywidmlzaWJsZSIsWzQ0XV1dXV1dXV1dLFs1MiwiYiIsWyJyZXF1aXJlIiwiaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIl1dLFs1MiwiYyIsWyJyZXF1aXJlIiwiaW50ZXJuYWwucmVnaXN0ZXJDY2RDYWxsYmFjayJdXSxbNTIsImQiLFsxNSwiX19tb2R1bGVfbWV0YWRhdGFTY2hlbWEiXV0sWzUyLCJlIixbMTUsIl9fbW9kdWxlX2F1dG9FdmVudEJsb2NrU2NoZW1hIl1dLFs1MiwiZiIsWzE3LFsxNSwiZSJdLCJGIl1dLFs1MiwiZyIsInZpZGVvX3N0YXJ0Il0sWzUyLCJoIiwidmlkZW9fcHJvZ3Jlc3MiXSxbNTIsImkiLCJ2aWRlb19jb21wbGV0ZSJdLFszNixbOCwiQSIsWzE1LCJqIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAsWzUyLCJfX21vZHVsZV90YXNrU2V0VGVzdEhpdFBhcmFtcyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiZiIsWzQ2LCJnIl0sWzIyLFsyLFsxNSwiZyJdLCJnZXRNZXRhZGF0YSIsWzcsWzE3LFsxNSwiZSJdLCJCUyJdXV0sWzQ2LFs1MyxbMixbMTUsImciXSwic2V0SGl0RGF0YSIsWzcsWzE3LFsxNSwiZCJdLCJJUCJdLCIxIl1dXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsImludGVybmFsLmlzRmVhdHVyZUVuYWJsZWQiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX2ZlYXR1cmVzIl1dLFs1MiwiZCIsWzE1LCJfX21vZHVsZV9ndGFnU2NoZW1hIl1dLFs1MiwiZSIsWzE1LCJfX21vZHVsZV9tZXRhZGF0YVNjaGVtYSJdXSxbMzYsWzgsIkEiLFsxNSwiZiJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfY2NkR2FSZWdpb25TY29wZWRTZXR0aW5ncyIsWzEzLFs0MSwiJDAiXSxbMywiJDAiLFs1MSwiIixbN10sWzUwLCJhIixbNDZdLFs1MCwiaiIsWzQ2LCJtIiwibiIsIm8iXSxbNTAsInQiLFs0NiwidiJdLFs1MiwidyIsWzE2LFsxNSwiaSJdLFsxNSwidiJdXV0sWzIyLFsyOCxbMTUsInciXV0sWzQ2LFszNl1dXSxbNTMsWzQxLCJ4Il0sWzMsIngiLDBdLFs2MyxbNywieCJdLFsyMyxbMTUsIngiXSxbMTcsWzE1LCJ3Il0sImxlbmd0aCJdXSxbMzMsWzE1LCJ4Il0sWzMsIngiLFswLFsxNSwieCJdLDFdXV0sWzQ2LFs1MyxbNTIsInkiLFsxNixbMTUsInciXSxbMTUsIngiXV1dLFsicSIsWzE1LCJwIl0sWzE3LFsxNSwieSJdLCJuYW1lIl0sWzE3LFsxNSwieSJdLCJ2YWx1ZSJdXV1dXV1dLFs1MCwidSIsWzQ2LCJ2Il0sWzIyLFszMCxbMjgsWzE1LCJyIl1dLFsyMSxbMTcsWzE1LCJyIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFszNixmYWxzZV1dXV0sWzQxLCJ3Il0sWzMsInciLFsxNixbMTUsInYiXSxbMTUsInMiXV1dLFsyMixbMjAsWzE1LCJ3Il0sWzQ0XV0sWzQ2LFs1MyxbMywidyIsWzE2LFsxNSwidiJdLFsxNSwiciJdXV1dXV0sWzM2LFsyOCxbMjgsWzE1LCJ3Il1dXV1dLFsyMixbMjgsWzE1LCJuIl1dLFs0NixbMzZdXV0sWzUyLCJwIixbMzAsWzE3LFsxNSwibSJdLCJpbnN0YW5jZURlc3RpbmF0aW9uSWQiXSxbMTcsWyJjIl0sImNvbnRhaW5lcklkIl1dXSxbNTIsInEiLFsiaCIsWzE1LCJmIl0sWzE1LCJvIl1dXSxbNTIsInIiLFsxMyxbNDEsIiQwIl0sWzMsIiQwIixbImgiLFsxNSwiZCJdLFsxNSwibyJdXV0sWyIkMCJdXV0sWzUyLCJzIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWyJoIixbMTUsImUiXSxbMTUsIm8iXV1dLFsiJDAiXV1dLFs1MyxbNDEsInYiXSxbMywidiIsMF0sWzYzLFs3LCJ2Il0sWzIzLFsxNSwidiJdLFsxNyxbMTUsIm4iXSwibGVuZ3RoIl1dLFszMyxbMTUsInYiXSxbMywidiIsWzAsWzE1LCJ2Il0sMV1dXSxbNDYsWzUzLFs1MiwidyIsWzE2LFsxNSwibiJdLFsxNSwidiJdXV0sWzIyLFszMCxbMTcsWzE1LCJ3Il0sImRpc2FsbG93QWxsUmVnaW9ucyJdLFsidSIsWzE3LFsxNSwidyJdLCJkaXNhbGxvd2VkUmVnaW9ucyJdXV0sWzQ2LFs1MyxbInQiLFsxNyxbMTUsInciXSwicmVkYWN0RmllbGRHcm91cCJdXV1dXV1dXV1dLFs1MCwiayIsWzQ2LCJtIl0sWzUyLCJuIixbOF1dLFsyMixbMjgsWzE1LCJtIl1dLFs0NixbMzYsWzE1LCJuIl1dXV0sWzUyLCJvIixbMixbMTUsIm0iXSwic3BsaXQiLFs3LCIsIl1dXSxbNTMsWzQxLCJwIl0sWzMsInAiLDBdLFs2MyxbNywicCJdLFsyMyxbMTUsInAiXSxbMTcsWzE1LCJvIl0sImxlbmd0aCJdXSxbMzMsWzE1LCJwIl0sWzMsInAiLFswLFsxNSwicCJdLDFdXV0sWzQ2LFs1MyxbNTIsInEiLFsyLFsxNixbMTUsIm8iXSxbMTUsInAiXV0sInRyaW0iLFs3XV1dLFsyMixbMjgsWzE1LCJxIl1dLFs0NixbNl1dXSxbNTIsInIiLFsyLFsxNSwicSJdLCJzcGxpdCIsWzcsIi0iXV1dLFs1MiwicyIsWzE2LFsxNSwiciJdLDBdXSxbNTIsInQiLFszOSxbMjAsWzE3LFsxNSwiciJdLCJsZW5ndGgiXSwyXSxbMTUsInEiXSxbNDRdXV0sWzIyLFszMCxbMjgsWzE1LCJzIl1dLFsyMSxbMTcsWzE1LCJzIl0sImxlbmd0aCJdLDJdXSxbNDYsWzUzLFs2XV1dXSxbMjIsWzEsWzIxLFsxNSwidCJdLFs0NF1dLFszMCxbMjMsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw0XSxbMTgsWzE3LFsxNSwidCJdLCJsZW5ndGgiXSw2XV1dLFs0NixbNTMsWzZdXV1dLFs0MyxbMTUsIm4iXSxbMTUsInEiXSx0cnVlXV1dXV0sWzM2LFsxNSwibiJdXV0sWzUwLCJsIixbNDYsIm0iXSxbMjIsWzI4LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdXSxbNDYsWzM2LFs3XV1dXSxbNTIsIm4iLFs4XV0sWzUzLFs0MSwibyJdLFszLCJvIiwwXSxbNjMsWzcsIm8iXSxbMjMsWzE1LCJvIl0sWzE3LFsxNyxbMTUsIm0iXSwic2V0dGluZ3NUYWJsZSJdLCJsZW5ndGgiXV0sWzMzLFsxNSwibyJdLFszLCJvIixbMCxbMTUsIm8iXSwxXV1dLFs0NixbNTMsWzUyLCJwIixbMTYsWzE3LFsxNSwibSJdLCJzZXR0aW5nc1RhYmxlIl0sWzE1LCJvIl1dXSxbNTIsInEiLFsxNyxbMTUsInAiXSwicmVkYWN0RmllbGRHcm91cCJdXSxbMjIsWzI4LFsxNixbMTUsImkiXSxbMTUsInEiXV1dLFs0NixbNl1dXSxbNDMsWzE1LCJuIl0sWzE1LCJxIl0sWzgsInJlZGFjdEZpZWxkR3JvdXAiLFsxNSwicSJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiLGZhbHNlLCJkaXNhbGxvd2VkUmVnaW9ucyIsWzhdXV0sWzUyLCJyIixbMTYsWzE1LCJuIl0sWzE1LCJxIl1dXSxbMjIsWzE3LFsxNSwicCJdLCJkaXNhbGxvd0FsbFJlZ2lvbnMiXSxbNDYsWzUzLFs0MyxbMTUsInIiXSwiZGlzYWxsb3dBbGxSZWdpb25zIix0cnVlXSxbNl1dXV0sWzQzLFsxNSwiciJdLCJkaXNhbGxvd2VkUmVnaW9ucyIsWyJrIixbMTcsWzE1LCJwIl0sImRpc2FsbG93ZWRSZWdpb25zIl1dXV1dXV0sWzM2LFsyLFsxNSwiYiJdLCJ2YWx1ZXMiLFs3LFsxNSwibiJdXV1dXSxbNTIsImIiLFsicmVxdWlyZSIsIk9iamVjdCJdXSxbNTIsImMiLFsicmVxdWlyZSIsImdldENvbnRhaW5lclZlcnNpb24iXV0sWzUyLCJkIixbInJlcXVpcmUiLCJpbnRlcm5hbC5nZXRDb3VudHJ5Q29kZSJdXSxbNTIsImUiLFsicmVxdWlyZSIsImludGVybmFsLmdldFJlZ2lvbkNvZGUiXV0sWzUyLCJmIixbInJlcXVpcmUiLCJpbnRlcm5hbC5zZXRSZW1vdGVDb25maWdQYXJhbWV0ZXIiXV0sWzUyLCJnIixbMTUsIl9fbW9kdWxlX2FjdGl2aXRpZXMiXV0sWzUyLCJoIixbMTcsWzE1LCJnIl0sIkEiXV0sWzUyLCJpIixbOCwiR09PR0xFX1NJR05BTFMiLFs3LFs4LCJuYW1lIiwiYWxsb3dfZ29vZ2xlX3NpZ25hbHMiLCJ2YWx1ZSIsZmFsc2VdXSwiREVWSUNFX0FORF9HRU8iLFs3LFs4LCJuYW1lIiwiZ2VvX2dyYW51bGFyaXR5IiwidmFsdWUiLHRydWVdLFs4LCJuYW1lIiwicmVkYWN0X2RldmljZV9pbmZvIiwidmFsdWUiLHRydWVdXV1dLFszNixbOCwiQSIsWzE1LCJqIl0sIkIiLFsxNSwibCJdXV1dLFszNixbImEiXV1dXSxbIiQwIl1dXQogLFs1MiwiX19tb2R1bGVfdGFza1BsYXRmb3JtRGV0ZWN0aW9uIixbMTMsWzQxLCIkMCJdLFszLCIkMCIsWzUxLCIiLFs3XSxbNTAsImEiLFs0Nl0sWzUwLCJkIixbNDYsImUiXSxbNTIsImYiLFsyLFsxNSwiYyJdLCJBIixbN11dXSxbMjIsWzEsWzE1LCJmIl0sWzE4LFsxNyxbMTUsImYiXSwibGVuZ3RoIl0sMF1dLFs0NixbNTMsWzIsWzE1LCJlIl0sIm1lcmdlSGl0RGF0YUZvcktleSIsWzcsWzE3LFsxNSwiYiJdLCJGVCJdLFs4LCJwbGYiLFsyLFsxNSwiZiJdLCJqb2luIixbNywiLiJdXV1dXV1dXV0sWzUyLCJiIixbMTUsIl9fbW9kdWxlX2d0YWdTY2hlbWEiXV0sWzUyLCJjIixbMTUsIl9fbW9kdWxlX3BsYXRmb3JtRGV0ZWN0aW9uIl1dLFszNixbOCwiQSIsWzE1LCJkIl1dXV0sWzM2LFsiYSJdXV1dLFsiJDAiXV1dCiAKXQosImVudGl0aWVzIjp7CiJfX2MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfYXV0b19yZWRhY3QiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX2Zvcm0iOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KLAoiX19jY2RfZW1fcGFnZV92aWV3Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2VtX3Njcm9sbCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9lbV92aWRlbyI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9maXJzdCI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2NjZF9nYV9sYXN0Ijp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fY2NkX2dhX3JlZ3Njb3BlIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fZSI6eyIyIjp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX2djdCI6eyI1Ijp0cnVlLCI2Ijp0cnVlfQosCiJfX29ndF8xcF9kYXRhX3YyIjp7IjIiOnRydWUsIjUiOnRydWUsIjYiOnRydWV9CiwKIl9fc2V0X3Byb2R1Y3Rfc2V0dGluZ3MiOnsiMiI6dHJ1ZSwiNSI6dHJ1ZSwiNiI6dHJ1ZX0KCgp9CiwiYmxvYiI6eyIxIjoiMSIsIjEwIjoiRy1WODRYUDhXR1hZfEdULVROR1hSNlE4IiwiMTEiOnRydWUsIjE0IjoiNjdtMCIsIjE1IjoiMCIsIjE2IjoiQ2hBSThPQ1cwd1lRcjVEZ2tKK2U4YU45RWgwQWgrZ0dmdmQrM09Bdi8wOU42aFdpc0VIZFJFZUxIb2hGaFNIU1hCb0NaSmM9IiwiMTciOiIiLCIxOSI6ImRhdGFMYXllciIsIjIiOnRydWUsIjIwIjoiIiwiMjEiOiJ3d3cuZ29vZ2xldGFnbWFuYWdlci5jb20iLCIyMiI6ImV5SXdJam9pVGs4aUxDSXhJam9pVGs4dE1ETWlMQ0l5SWpwbVlXeHpaU3dpTXlJNkltZHZiMmRzWlM1dWJ5SXNJalFpT2lKeVpXZHBiMjR4SWl3aU5TSTZabUZzYzJVc0lqWWlPblJ5ZFdVc0lqY2lPaUpoWkY5emRHOXlZV2RsZkdGdVlXeDVkR2xqYzE5emRHOXlZV2RsZkdGa1gzVnpaWEpmWkdGMFlYeGhaRjl3WlhKemIyNWhiR2w2WVhScGIyNGlMQ0k1SWpwMGNuVmxmUSIsIjIzIjoiZ29vZ2xlLnRhZ21hbmFnZXIuZGVidWd1aTIucXVldWUiLCIyNCI6InRhZ2Fzc2lzdGFudC5nb29nbGUuY29tIiwiMjciOjAuMDA1LCIzIjoid3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIiwiMzAiOiJOTyIsIjMxIjoiTk8tMDMiLCIzMiI6ZmFsc2UsIjMzIjoicmVnaW9uMSIsIjM0IjoiRy1WODRYUDhXR1hZIiwiMzUiOiJHIiwiMzYiOiJodHRwczovL2Fkc2VydmljZS5nb29nbGUuY29tL3BhZ2VhZC9yZWdjbGsiLCIzNyI6Il9fVEFHR1lfSU5TVEFMTEVEIiwiMzgiOiJjY3QuZ29vZ2xlIiwiMzkiOiJnb29nVGFnZ3lSZWZlcnJlciIsIjQwIjoiaHR0cHM6Ly9jY3QuZ29vZ2xlL3RhZ2d5L2FnZW50LmpzIiwiNDEiOiJnb29nbGUudGFnbWFuYWdlci50YS5wcm9kcXVldWUiLCI0MiI6MC4wMSwiNDMiOiJ7XCJrZXlzXCI6W3tcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCS2x5VFgyanlvYnBRQ21mVXlCYmhCeVFIazlaMkhkTjVsSHhwQkF0SUtHTWNtencwZ0UrZWJsWUNtbTFHYTdiWWVUZHlkb0ptZTZJcGFTb0NVMElVVW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiZGVlNGIzNTEtYjBmNS00YzI3LWE4YzgtZWQ2NjA0NzdhNDRjXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRHRZQlJuUEJTMWc2bWVYTzFyUTVhNTJCNUZibmg3REM1anF2MDJpeEpzc24wazFKOXJjSENhVmMvenpSc25zSEJ6U29GS3M2SjhwSDdDY25RUDNFanc9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiYWQxOTNiMmEtNGE5MC00YzFhLWI3OWUtZGUzN2FjMzkxYmQyXCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCTVowVU11ZEFlNFBvYWZTVHBVeFB0SWtmQmVDTWJGQlh2dHlSWXZITENTUS9FVXZFSnNtc1Y0dDZOQi9CRVZwcUwzSHY4Z05TUWg3SytTVW9vZjI1YW89XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDhjNGVmZTEtZmRkMC00MzZhLWFjOGYtOTIzZjExOTE4Nzg3XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCRmZsdlVsK3hwSGFGVkNJWU8xS1BMeGt2K0FqZGw0ZDhydnJYaEk2emZwbmJCRHFJNTFERGt0SEhiM1pXSVM1N29EaDBLaXI5QXVDT29uMk1PeE5WOVk9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiNDMyYmMyNzAtOTllYS00MjIwLWI1NjItZTJjNWFlNzdkNGQ5XCJ9LHtcImhwa2VQdWJsaWNLZXlcIjp7XCJwYXJhbXNcIjp7XCJhZWFkXCI6XCJBRVNfMTI4X0dDTVwiLFwia2RmXCI6XCJIS0RGX1NIQTI1NlwiLFwia2VtXCI6XCJESEtFTV9QMjU2X0hLREZfU0hBMjU2XCJ9LFwicHVibGljS2V5XCI6XCJCQVE4VGt5NERMV09KYkhPSGJWWURiUVpFZkVlbGI0RlRCOEVZTVFlUlFpTDFtMUx0QWQwcjN6ZXlMamdaMy9XMjRSOFZmYjIyelkyaXg2Vy9UZkNqakE9XCIsXCJ2ZXJzaW9uXCI6MH0sXCJpZFwiOlwiMDUwYTZlMTEtMzhhYi00ZjgwLTg5Y2ItN2IzMTliOTcwNGMwXCJ9XX0iLCI0NCI6IjExODg5NzkyMH4xMTg4OTc5MzAiLCI0NSI6dHJ1ZSwiNDYiOnsiMSI6IjEwMDAiLCIxMCI6IjY2dTAiLCIxMSI6IjY2ZzAiLCIxNCI6IjEwMDAiLCIxNiI6IlVTLUNPflVTLUNUflVTLU1UflVTLU5FflVTLU5IflVTLVRYflVTLU1OflVTLU5KflVTLU1EflVTLU9SflVTLURFIiwiMTciOiJVUy1DT35VUy1DVH5VUy1NVH5VUy1ORX5VUy1OSH5VUy1UWH5VUy1NTn5VUy1OSn5VUy1NRH5VUy1PUn5VUy1ERSIsIjIiOiI5IiwiMjAiOiI1MDAwIiwiMjEiOiI1MDAwIiwiMjIiOiI0LjQuMCIsIjIzIjoiMC4wLjAiLCIyNSI6IjEiLCIyNiI6IjQwMDAiLCIyNyI6IjEwMCIsIjMiOiI1IiwiNCI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhfGFkX3BlcnNvbmFsaXphdGlvbiIsIjQ0IjoiMTUwMDAiLCI0OCI6IjMwMDAwIiwiNSI6ImFkX3N0b3JhZ2V8YW5hbHl0aWNzX3N0b3JhZ2V8YWRfdXNlcl9kYXRhIiwiNiI6IjEiLCI2MSI6IjEwMDAiLCI2MiI6IkE2T05IUlk3L2J2QnJvK0lNWmQvYTZMTmpuN1NTdjk5OVNrTi9oRkFFOUw2dk1yMzRkTmdmZFNWZFltdjRVK05IWmcxc3hkMzhSdGNpUnBSVXRJUlBnUUFBQUNDZXlKdmNtbG5hVzRpT2lKb2RIUndjem92TDNkM2R5NW5iMjluYkdWMFlXZHRZVzVoWjJWeUxtTnZiVG8wTkRNaUxDSm1aV0YwZFhKbElqb2lVMmhoY21Wa1YyOXlhMlZ5UlhoMFpXNWtaV1JNYVdabGRHbHRaU0lzSW1WNGNHbHllU0k2TVRjM05qY3lPVFl3TUN3aWFYTlVhR2x5WkZCaGNuUjVJanAwY25WbGZRPT0iLCI2MyI6IjEwMDAiLCI2NiI6IjEwMCIsIjciOiIxMCJ9LCI0OCI6dHJ1ZSwiNSI6IkctVjg0WFA4V0dYWSIsIjU1IjpbIkctVjg0WFA4V0dYWSJdLCI1NiI6W3siMSI6NDAzLCIzIjowLjUsIjQiOjExNTkzODQ2NSwiNSI6MTE1OTM4NDY2LCI2IjowLCI3IjoyfSx7IjEiOjQwNCwiMyI6MC41LCI0IjoxMTU5Mzg0NjgsIjUiOjExNTkzODQ2OSwiNiI6MCwiNyI6MX0seyIxIjo2MDIsIjMiOjAuMDEsIjQiOjEyMDEyNDQ1NSwiNSI6MTIwMTI0NDUzLCI2IjoxMjAxMjQ0NTQsIjciOjN9LHsiMSI6NTY5LCIyIjp0cnVlfSx7IjEiOjQ3NSwiMiI6dHJ1ZX0seyIxIjo1MDIsIjIiOnRydWV9LHsiMSI6NTc3LCIyIjp0cnVlfSx7IjEiOjU2OCwiMyI6MC4wMSwiNCI6MTE5NzkxNzQ5LCI1IjoxMTk3OTE3NDgsIjYiOjAsIjciOjF9LHsiMSI6NDkwLCIyIjp0cnVlfSx7IjEiOjQ5MSwiMyI6MC4wMSwiNCI6MTE4MDEyMDA3LCI1IjoxMTgwMTIwMDgsIjYiOjExODAxMjAwOSwiNyI6MX0seyIxIjo0ODAsIjIiOnRydWV9LHsiMSI6NTk0LCIzIjowLjAxLCI0IjoxMTk3OTM5NzQsIjUiOjExOTc5Mzk3MiwiNiI6MTE5NzkzOTczLCI3IjoxfSx7IjEiOjU5OSwiMiI6dHJ1ZX0seyIxIjo1ODAsIjMiOjAuMSwiNCI6MTE5NTI3MDIwLCI1IjoxMTk1MjcwMTksIjYiOjAsIjciOjF9LHsiMSI6NTIzLCIyIjp0cnVlfSx7IjEiOjU4MSwiMyI6MC4wMSwiNCI6MTE5OTQ4ODU0LCI1IjoxMTk5NDg4NTIsIjYiOjExOTk0ODg1MywiNyI6M30seyIxIjo1NTUsIjMiOjAuMDEsIjQiOjExOTI1OTYwNiwiNSI6MTE5MjU5NjA1LCI2IjowLCI3IjoyfSx7IjEiOjUwNCwiMiI6dHJ1ZX0seyIxIjo0NjIsIjMiOjAuMDUsIjQiOjExODgwNjUyNCwiNSI6MTE4ODA2NTI1LCI2IjoxMTg4MDY1MjYsIjciOjF9LHsiMSI6NDEzLCIyIjp0cnVlfSx7IjEiOjU5MywiMiI6dHJ1ZX0seyIxIjo1MDYsIjIiOnRydWV9LHsiMSI6NTAwLCIyIjp0cnVlfSx7IjEiOjU2MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMywiNSI6MTE5NDA0NzAyLCI2IjowLCI3IjoxfSx7IjEiOjQ4MSwiMyI6MC4wMDEsIjQiOjExOTQwNDcwMSwiNSI6MTE5NDA0NzAwLCI2IjowLCI3IjoxfSx7IjEiOjQ1MCwiMyI6MC4wMSwiNCI6MTE3MjI3NzE0LCI1IjoxMTcyMjc3MTUsIjYiOjExNzIyNzcxNiwiNyI6M30seyIxIjo1ODMsIjMiOjAuNSwiNCI6MTE5ODk2ODAzLCI1IjoxMTk4OTY4MDIsIjYiOjAsIjciOjF9LHsiMSI6NDU4LCIyIjp0cnVlfSx7IjEiOjU4MiwiMyI6MC4wMSwiNCI6MTE5MzgxNjY0LCI1IjoxMTkzODE2NjIsIjYiOjExOTM4MTY2MywiNyI6MX0seyIxIjo1NzAsIjIiOnRydWV9LHsiMSI6NDk4LCIzIjowLjIsIjQiOjExNTYxNjk4NSwiNSI6MTE1NjE2OTg2LCI2IjowLCI3IjoxfSx7IjEiOjU5NSwiMiI6dHJ1ZX0seyIxIjo1ODksIjMiOjAuMDEsIjQiOjEyMDA4NDIxNSwiNSI6MTIwMDg0MjE0LCI2IjowLCI3IjoxfSx7IjEiOjQ5NSwiMyI6MC4wNSwiNCI6MTE4MTMxODEwLCI1IjoxMTgxMzE4MDgsIjYiOjExODEzMTgwOSwiNyI6M30seyIxIjo1ODcsIjMiOjAuMSwiNCI6MTE5NzMyMTcxLCI1IjoxMTk3MzIxNzAsIjYiOjAsIjciOjN9LHsiMSI6NTg0LCIyIjp0cnVlfSx7IjEiOjU2NCwiMyI6MC4wMDAxLCI0IjoxMTkyMDUzMTcsIjUiOjExOTIwNTMxNSwiNiI6MTE5MjA1MzE2LCI3IjoxfSx7IjEiOjU1NywiMiI6dHJ1ZX0seyIxIjo0MjcsIjMiOjAuMSwiNCI6MTE5NzI0MzIyLCI1IjoxMTk3MjQzMjAsIjYiOjExOTcyNDMyMSwiNyI6Mn0seyIxIjo1NzYsIjMiOjAuMDEsIjQiOjExOTMxNzgxMCwiNSI6MTE5MzE3ODExLCI2IjoxMTkzMTgxNzcsIjciOjN9LHsiMSI6NTczLCIyIjp0cnVlfSx7IjEiOjQ5OSwiMiI6dHJ1ZX0seyIxIjo1MTYsIjMiOjAuMSwiNCI6MTE4Mzk1MzM1LCI1IjoxMTgzOTUzMzMsIjYiOjExODM5NTMzNCwiNyI6MX0seyIxIjo1MjQsIjIiOnRydWV9XSwiNTkiOlsiRy1WODRYUDhXR1hZIl0sIjYiOiIyNTAwOTM2MDIiLCI2MiI6dHJ1ZSwiNjMiOjAuMDA1fQosInBlcm1pc3Npb25zIjp7CiJfX2MiOnt9CiwKIl9fY2NkX2F1dG9fcmVkYWN0Ijp7fQosCiJfX2NjZF9jb252ZXJzaW9uX21hcmtpbmciOnt9CiwKIl9fY2NkX2VtX2Rvd25sb2FkIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9mb3JtIjp7ImFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlIjp7fSwibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uZm9ybUludGVyYWN0IiwiZ3RtLmZvcm1TdWJtaXQiLCJndG0uY2xpY2stdjIiXX0sImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9LCJkZXRlY3RfY2xpY2tfZXZlbnRzIjp7fSwiZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sImxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLmxpbmtDbGljayJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiOnsiYWxsb3dXYWl0Rm9yVGFncyI6IiJ9fQosCiJfX2NjZF9lbV9wYWdlX3ZpZXciOnsibGlzdGVuX2RhdGFfbGF5ZXIiOnsiYWNjZXNzVHlwZSI6InNwZWNpZmljIiwiYWxsb3dlZEV2ZW50cyI6WyJndG0uaGlzdG9yeUNoYW5nZS12MiJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2Nyb2xsIjp7Imxpc3Rlbl9kYXRhX2xheWVyIjp7ImFjY2Vzc1R5cGUiOiJzcGVjaWZpYyIsImFsbG93ZWRFdmVudHMiOlsiZ3RtLnNjcm9sbERlcHRoIl19LCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSI6e30sImRldGVjdF9zY3JvbGxfZXZlbnRzIjp7fX0KLAoiX19jY2RfZW1fc2l0ZV9zZWFyY2giOnsiZ2V0X3VybCI6eyJ1cmxQYXJ0cyI6ImFueSIsInF1ZXJpZXNBbGxvd2VkIjoiYW55In0sInJlYWRfY29udGFpbmVyX2RhdGEiOnt9fQosCiJfX2NjZF9lbV92aWRlbyI6eyJsaXN0ZW5fZGF0YV9sYXllciI6eyJhY2Nlc3NUeXBlIjoic3BlY2lmaWMiLCJhbGxvd2VkRXZlbnRzIjpbImd0bS52aWRlbyJdfSwiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9LCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiOnsiYWxsb3dGaXhNaXNzaW5nSmF2YVNjcmlwdEFwaSI6ZmFsc2V9fQosCiJfX2NjZF9nYV9maXJzdCI6eyJyZWFkX2RvbV9lbGVtZW50cyI6eyJhbGxvd2VkQ3NzU2VsZWN0b3JzIjoiYW55In0sImdldF91cmwiOnsidXJsUGFydHMiOiJzcGVjaWZpYyIsInByb3RvY29sIjp0cnVlLCJob3N0Ijp0cnVlfX0KLAoiX19jY2RfZ2FfbGFzdCI6e30KLAoiX19jY2RfZ2FfcmVnc2NvcGUiOnsicmVhZF9jb250YWluZXJfZGF0YSI6e319CiwKIl9fZSI6eyJyZWFkX2V2ZW50X2RhdGEiOnsiZXZlbnREYXRhQWNjZXNzIjoic3BlY2lmaWMiLCJrZXlQYXR0ZXJucyI6WyJldmVudCJdfX0KLAoiX19nY3QiOnsiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiOnt9fQosCiJfX29ndF8xcF9kYXRhX3YyIjp7ImRldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEiOnsibGltaXREYXRhU291cmNlcyI6dHJ1ZSwiYWxsb3dBdXRvRGF0YVNvdXJjZXMiOnRydWUsImFsbG93TWFudWFsRGF0YVNvdXJjZXMiOmZhbHNlLCJhbGxvd0NvZGVEYXRhU291cmNlcyI6ZmFsc2V9fQosCiJfX3NldF9wcm9kdWN0X3NldHRpbmdzIjp7fQoKCn0KCgoKLCJzZWN1cml0eV9ncm91cHMiOnsKImdvb2dsZSI6WwoiX19jIgosCiJfX2NjZF9hdXRvX3JlZGFjdCIKLAoiX19jY2RfY29udmVyc2lvbl9tYXJraW5nIgosCiJfX2NjZF9lbV9kb3dubG9hZCIKLAoiX19jY2RfZW1fZm9ybSIKLAoiX19jY2RfZW1fb3V0Ym91bmRfY2xpY2siCiwKIl9fY2NkX2VtX3BhZ2VfdmlldyIKLAoiX19jY2RfZW1fc2Nyb2xsIgosCiJfX2NjZF9lbV9zaXRlX3NlYXJjaCIKLAoiX19jY2RfZW1fdmlkZW8iCiwKIl9fY2NkX2dhX2ZpcnN0IgosCiJfX2NjZF9nYV9sYXN0IgosCiJfX2NjZF9nYV9yZWdzY29wZSIKLAoiX19lIgosCiJfX2djdCIKLAoiX19vZ3RfMXBfZGF0YV92MiIKLAoiX19zZXRfcHJvZHVjdF9zZXR0aW5ncyIKCl0KCgp9CgoKCgoKfTsKCgoKCnZhciBrLGFhPXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O2IucHJvdG90eXBlPWE7cmV0dXJuIG5ldyBifSxiYT10eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGEsYixjKXtpZihhPT1BcnJheS5wcm90b3R5cGV8fGE9PU9iamVjdC5wcm90b3R5cGUpcmV0dXJuIGE7YVtiXT1jLnZhbHVlO3JldHVybiBhfSxjYT1mdW5jdGlvbihhKXtmb3IodmFyIGI9WyJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyxhLCJvYmplY3QiPT10eXBlb2Ygd2luZG93JiZ3aW5kb3csIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmLCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsJiZnbG9iYWxdLGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXTtpZihkJiZkLk1hdGg9PU1hdGgpcmV0dXJuIGR9dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKTsKfSxoYT1jYSh0aGlzKSxpYT10eXBlb2YgU3ltYm9sPT09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbCgieCIpPT09InN5bWJvbCIsa2E9e30sbGE9e30sbmE9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjfHxhIT1udWxsKXt2YXIgZD1sYVtiXTtpZihkPT1udWxsKXJldHVybiBhW2JdO3ZhciBlPWFbZF07cmV0dXJuIGUhPT12b2lkIDA/ZTphW2JdfX0sb2E9ZnVuY3Rpb24oYSxiLGMpe2lmKGIpYTp7dmFyIGQ9YS5zcGxpdCgiLiIpLGU9ZC5sZW5ndGg9PT0xLGY9ZFswXSxnOyFlJiZmIGluIGthP2c9a2E6Zz1oYTtmb3IodmFyIGg9MDtoPGQubGVuZ3RoLTE7aCsrKXt2YXIgbD1kW2hdO2lmKCEobCBpbiBnKSlicmVhayBhO2c9Z1tsXX12YXIgbj1kW2QubGVuZ3RoLTFdLHA9aWEmJmM9PT0iZXM2Ij9nW25dOm51bGwscT1iKHApO2lmKHEhPW51bGwpaWYoZSliYShrYSxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cX0pO2Vsc2UgaWYocSE9PXApe2lmKGxhW25dPT09dm9pZCAwKXt2YXIgcj0KTWF0aC5yYW5kb20oKSoxRTk+Pj4wO2xhW25dPWlhP2hhLlN5bWJvbChuKToiJGpzY3AkIityKyIkIitufWJhKGcsbGFbbl0se2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpxfSl9fX0scGE7aWYoaWEmJnR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpcGE9T2JqZWN0LnNldFByb3RvdHlwZU9mO2Vsc2V7dmFyIHJhO2E6e3ZhciB0YT17YTohMH0sdWE9e307dHJ5e3VhLl9fcHJvdG9fXz10YTtyYT11YS5hO2JyZWFrIGF9Y2F0Y2goYSl7fXJhPSExfXBhPXJhP2Z1bmN0aW9uKGEsYil7YS5fX3Byb3RvX189YjtpZihhLl9fcHJvdG9fXyE9PWIpdGhyb3cgbmV3IFR5cGVFcnJvcihhKyIgaXMgbm90IGV4dGVuc2libGUiKTtyZXR1cm4gYX06bnVsbH0KdmFyIHZhPXBhLHdhPWZ1bmN0aW9uKGEsYil7YS5wcm90b3R5cGU9YWEoYi5wcm90b3R5cGUpO2EucHJvdG90eXBlLmNvbnN0cnVjdG9yPWE7aWYodmEpdmEoYSxiKTtlbHNlIGZvcih2YXIgYyBpbiBiKWlmKGMhPSJwcm90b3R5cGUiKWlmKE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKXt2YXIgZD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGIsYyk7ZCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsYyxkKX1lbHNlIGFbY109YltjXTthLkZ0PWIucHJvdG90eXBlfSx4YT1mdW5jdGlvbihhKXt2YXIgYj0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBiPGEubGVuZ3RoP3tkb25lOiExLHZhbHVlOmFbYisrXX06e2RvbmU6ITB9fX0sbT1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoYilyZXR1cm4gYi5jYWxsKGEpO2lmKHR5cGVvZiBhLmxlbmd0aD09Im51bWJlciIpcmV0dXJue25leHQ6eGEoYSl9Owp0aHJvdyBFcnJvcihTdHJpbmcoYSkrIiBpcyBub3QgYW4gaXRlcmFibGUgb3IgQXJyYXlMaWtlIik7fSx5YT1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz1bXTshKGI9YS5uZXh0KCkpLmRvbmU7KWMucHVzaChiLnZhbHVlKTtyZXR1cm4gY30sdz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIEFycmF5P2E6eWEobShhKSl9LEFhPWZ1bmN0aW9uKGEpe3JldHVybiB6YShhLGEpfSx6YT1mdW5jdGlvbihhLGIpe2EucmF3PWI7T2JqZWN0LmZyZWV6ZSYmKE9iamVjdC5mcmVlemUoYSksT2JqZWN0LmZyZWV6ZShiKSk7cmV0dXJuIGF9LEJhPWlhJiZ0eXBlb2YgbmEoT2JqZWN0LCJhc3NpZ24iKT09ImZ1bmN0aW9uIj9uYShPYmplY3QsImFzc2lnbiIpOmZ1bmN0aW9uKGEsYil7aWYoYT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJObyBudWxsaXNoIGFyZyIpO2E9T2JqZWN0KGEpO2Zvcih2YXIgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe3ZhciBkPWFyZ3VtZW50c1tjXTsKaWYoZClmb3IodmFyIGUgaW4gZClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZCxlKSYmKGFbZV09ZFtlXSl9cmV0dXJuIGF9O29hKCJPYmplY3QuYXNzaWduIixmdW5jdGlvbihhKXtyZXR1cm4gYXx8QmF9LCJlczYiKTt2YXIgQ2E9ZnVuY3Rpb24oYSl7aWYoIShhIGluc3RhbmNlb2YgT2JqZWN0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJJdGVyYXRvciByZXN1bHQgIithKyIgaXMgbm90IGFuIG9iamVjdCIpO30sRGE9ZnVuY3Rpb24oKXt0aGlzLmZhPSExO3RoaXMuUj1udWxsO3RoaXMuamE9dm9pZCAwO3RoaXMuSD0xO3RoaXMuTj10aGlzLlo9MDt0aGlzLkxhPXRoaXMuSz1udWxsfSxFYT1mdW5jdGlvbihhKXtpZihhLmZhKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IHJ1bm5pbmciKTthLmZhPSEwfTtEYS5wcm90b3R5cGUueWE9ZnVuY3Rpb24oYSl7dGhpcy5qYT1hfTsKdmFyIEdhPWZ1bmN0aW9uKGEsYil7YS5LPXthbzpiLGlzRXhjZXB0aW9uOiEwfTthLkg9YS5afHxhLk59O0RhLnByb3RvdHlwZS5nZXROZXh0QWRkcmVzc0pzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkh9O0RhLnByb3RvdHlwZS5nZXRZaWVsZFJlc3VsdEpzYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmphfTtEYS5wcm90b3R5cGUucmV0dXJuPWZ1bmN0aW9uKGEpe3RoaXMuSz17cmV0dXJuOmF9O3RoaXMuSD10aGlzLk59O0RhLnByb3RvdHlwZVsicmV0dXJuIl09RGEucHJvdG90eXBlLnJldHVybjtEYS5wcm90b3R5cGUuQWo9ZnVuY3Rpb24oYSl7dGhpcy5LPXtuZDphfTt0aGlzLkg9dGhpcy5OfTtEYS5wcm90b3R5cGUuanVtcFRocm91Z2hGaW5hbGx5QmxvY2tzPURhLnByb3RvdHlwZS5BajtEYS5wcm90b3R5cGUuYWM9ZnVuY3Rpb24oYSxiKXt0aGlzLkg9YjtyZXR1cm57dmFsdWU6YX19O0RhLnByb3RvdHlwZS55aWVsZD1EYS5wcm90b3R5cGUuYWM7CkRhLnByb3RvdHlwZS54cz1mdW5jdGlvbihhLGIpe3ZhciBjPW0oYSksZD1jLm5leHQoKTtDYShkKTtpZihkLmRvbmUpdGhpcy5qYT1kLnZhbHVlLHRoaXMuSD1iO2Vsc2UgcmV0dXJuIHRoaXMuUj1jLHRoaXMuYWMoZC52YWx1ZSxiKX07RGEucHJvdG90eXBlLnlpZWxkQWxsPURhLnByb3RvdHlwZS54cztEYS5wcm90b3R5cGUubmQ9ZnVuY3Rpb24oYSl7dGhpcy5IPWF9O0RhLnByb3RvdHlwZS5qdW1wVG89RGEucHJvdG90eXBlLm5kO0RhLnByb3RvdHlwZS5Eaj1mdW5jdGlvbigpe3RoaXMuSD0wfTtEYS5wcm90b3R5cGUuanVtcFRvRW5kPURhLnByb3RvdHlwZS5EajtEYS5wcm90b3R5cGUuTmo9ZnVuY3Rpb24oYSxiKXt0aGlzLlo9YTtiIT12b2lkIDAmJih0aGlzLk49Yil9O0RhLnByb3RvdHlwZS5zZXRDYXRjaEZpbmFsbHlCbG9ja3M9RGEucHJvdG90eXBlLk5qO0RhLnByb3RvdHlwZS52Zz1mdW5jdGlvbihhKXt0aGlzLlo9MDt0aGlzLk49YXx8MH07CkRhLnByb3RvdHlwZS5zZXRGaW5hbGx5QmxvY2s9RGEucHJvdG90eXBlLnZnO0RhLnByb3RvdHlwZS5Jaj1mdW5jdGlvbihhLGIpe3RoaXMuSD1hO3RoaXMuWj1ifHwwfTtEYS5wcm90b3R5cGUubGVhdmVUcnlCbG9jaz1EYS5wcm90b3R5cGUuSWo7RGEucHJvdG90eXBlLlBoPWZ1bmN0aW9uKGEpe3RoaXMuWj1hfHwwO3ZhciBiPXRoaXMuSy5hbzt0aGlzLks9bnVsbDtyZXR1cm4gYn07RGEucHJvdG90eXBlLmVudGVyQ2F0Y2hCbG9jaz1EYS5wcm90b3R5cGUuUGg7RGEucHJvdG90eXBlLmtkPWZ1bmN0aW9uKGEsYixjKXtjP3RoaXMuTGFbY109dGhpcy5LOnRoaXMuTGE9W3RoaXMuS107dGhpcy5aPWF8fDA7dGhpcy5OPWJ8fDB9O0RhLnByb3RvdHlwZS5lbnRlckZpbmFsbHlCbG9jaz1EYS5wcm90b3R5cGUua2Q7CkRhLnByb3RvdHlwZS5oZT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuTGEuc3BsaWNlKGJ8fDApWzBdLGQ9dGhpcy5LPXRoaXMuS3x8YztkP2QuaXNFeGNlcHRpb24/dGhpcy5IPXRoaXMuWnx8dGhpcy5OOmQubmQhPXZvaWQgMCYmdGhpcy5OPGQubmQ/KHRoaXMuSD1kLm5kLHRoaXMuSz1udWxsKTp0aGlzLkg9dGhpcy5OOnRoaXMuSD1hfTtEYS5wcm90b3R5cGUubGVhdmVGaW5hbGx5QmxvY2s9RGEucHJvdG90eXBlLmhlO0RhLnByb3RvdHlwZS5mZT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IEhhKGEpfTtEYS5wcm90b3R5cGUuZm9ySW49RGEucHJvdG90eXBlLmZlO3ZhciBIYT1mdW5jdGlvbihhKXt0aGlzLks9YTt0aGlzLkg9W107Zm9yKHZhciBiIGluIGEpdGhpcy5ILnB1c2goYik7dGhpcy5ILnJldmVyc2UoKX07SGEucHJvdG90eXBlLmhvPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLkgubGVuZ3RoPjA7KXt2YXIgYT10aGlzLkgucG9wKCk7aWYoYSBpbiB0aGlzLkspcmV0dXJuIGF9cmV0dXJuIG51bGx9OwpIYS5wcm90b3R5cGUuZ2V0TmV4dD1IYS5wcm90b3R5cGUuaG87CnZhciBJYT1mdW5jdGlvbihhKXt0aGlzLkg9bmV3IERhO3RoaXMuSz1hfSxMYT1mdW5jdGlvbihhLGIpe0VhKGEuSCk7dmFyIGM9YS5ILlI7aWYoYylyZXR1cm4gSmEoYSwicmV0dXJuImluIGM/Y1sicmV0dXJuIl06ZnVuY3Rpb24oZCl7cmV0dXJue3ZhbHVlOmQsZG9uZTohMH19LGIsYS5ILnJldHVybik7YS5ILnJldHVybihiKTtyZXR1cm4gS2EoYSl9LEphPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXt2YXIgZT1iLmNhbGwoYS5ILlIsYyk7Q2EoZSk7aWYoIWUuZG9uZSlyZXR1cm4gYS5ILmZhPSExLGU7dmFyIGY9ZS52YWx1ZX1jYXRjaChnKXtyZXR1cm4gYS5ILlI9bnVsbCxHYShhLkgsZyksS2EoYSl9YS5ILlI9bnVsbDtkLmNhbGwoYS5ILGYpO3JldHVybiBLYShhKX0sS2E9ZnVuY3Rpb24oYSl7Zm9yKDthLkguSDspdHJ5e3ZhciBiPWEuSyhhLkgpO2lmKGIpcmV0dXJuIGEuSC5mYT0hMSx7dmFsdWU6Yi52YWx1ZSxkb25lOiExfX1jYXRjaChkKXthLkguamE9dm9pZCAwLEdhKGEuSCwKZCl9YS5ILmZhPSExO2lmKGEuSC5LKXt2YXIgYz1hLkguSzthLkguSz1udWxsO2lmKGMuaXNFeGNlcHRpb24pdGhyb3cgYy5hbztyZXR1cm57dmFsdWU6Yy5yZXR1cm4sZG9uZTohMH19cmV0dXJue3ZhbHVlOnZvaWQgMCxkb25lOiEwfX0sTWE9ZnVuY3Rpb24oYSl7dGhpcy5uZXh0PWZ1bmN0aW9uKGIpe3ZhciBjO0VhKGEuSCk7YS5ILlI/Yz1KYShhLGEuSC5SLm5leHQsYixhLkgueWEpOihhLkgueWEoYiksYz1LYShhKSk7cmV0dXJuIGN9O3RoaXMudGhyb3c9ZnVuY3Rpb24oYil7dmFyIGM7RWEoYS5IKTthLkguUj9jPUphKGEsYS5ILlJbInRocm93Il0sYixhLkgueWEpOihHYShhLkgsYiksYz1LYShhKSk7cmV0dXJuIGN9O3RoaXMucmV0dXJuPWZ1bmN0aW9uKGIpe3JldHVybiBMYShhLGIpfTt0aGlzW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319LE5hPWZ1bmN0aW9uKGEsYil7dmFyIGM9bmV3IE1hKG5ldyBJYShiKSk7dmEmJmEucHJvdG90eXBlJiZ2YShjLAphLnByb3RvdHlwZSk7cmV0dXJuIGN9LE9hPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPU51bWJlcih0aGlzKSxiPVtdLGM9YTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWJbYy1hXT1hcmd1bWVudHNbY107cmV0dXJuIGJ9LFFhPWZ1bmN0aW9uKGEpe3JldHVybiBhfTsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwp2YXIgUmE9dGhpc3x8c2VsZixTYT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoKXt9Yy5wcm90b3R5cGU9Yi5wcm90b3R5cGU7YS5GdD1iLnByb3RvdHlwZTthLnByb3RvdHlwZT1uZXcgYzthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2EubnY9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgZz1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGg9MjtoPGFyZ3VtZW50cy5sZW5ndGg7aCsrKWdbaC0yXT1hcmd1bWVudHNbaF07cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsZyl9fTt2YXIgVGE9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9YTt0aGlzLmRhdGE9Yn07dmFyIFVhPWZ1bmN0aW9uKCl7dGhpcy5tYXA9e307dGhpcy5IPXt9fTtVYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1hcFsiZHVzdC4iK2FdfTtVYS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dmFyIGM9ImR1c3QuIithO3RoaXMuSC5oYXNPd25Qcm9wZXJ0eShjKXx8KHRoaXMubWFwW2NdPWIpfTtVYS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm1hcC5oYXNPd25Qcm9wZXJ0eSgiZHVzdC4iK2EpfTtVYS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe3ZhciBiPSJkdXN0LiIrYTt0aGlzLkguaGFzT3duUHJvcGVydHkoYil8fGRlbGV0ZSB0aGlzLm1hcFtiXX07CnZhciBWYT1mdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ7Zm9yKGQgaW4gYS5tYXApaWYoYS5tYXAuaGFzT3duUHJvcGVydHkoZCkpe3ZhciBlPWQuc3Vic3RyaW5nKDUpO3N3aXRjaChiKXtjYXNlIDE6Yy5wdXNoKGUpO2JyZWFrO2Nhc2UgMjpjLnB1c2goYS5tYXBbZF0pO2JyZWFrO2Nhc2UgMzpjLnB1c2goW2UsYS5tYXBbZF1dKX19cmV0dXJuIGN9O1VhLnByb3RvdHlwZS5GYT1mdW5jdGlvbigpe3JldHVybiBWYSh0aGlzLDEpfTtVYS5wcm90b3R5cGUuaGM9ZnVuY3Rpb24oKXtyZXR1cm4gVmEodGhpcywyKX07VWEucHJvdG90eXBlLmZjPWZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMsMyl9O3ZhciBXYT1mdW5jdGlvbigpe307V2EucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7fTt2YXIgWGE9ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPXt9O3RoaXMucHJlZml4PSJndG0uIn07az1YYS5wcm90b3R5cGU7ay5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLnZhbHVlW3RoaXMucHJlZml4K1N0cmluZyhhKV09Yn07ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWVbdGhpcy5wcmVmaXgrU3RyaW5nKGEpXX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWUuaGFzT3duUHJvcGVydHkodGhpcy5wcmVmaXgrU3RyaW5nKGEpKX07ay5kZWxldGU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5wcmVmaXgrU3RyaW5nKGEpO3JldHVybiB0aGlzLnZhbHVlLmhhc093blByb3BlcnR5KGIpPyhkZWxldGUgdGhpcy52YWx1ZVtiXSwhMCk6ITF9O2suY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPXt9fTsKay52YWx1ZXM9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3JldHVybiBmdW5jdGlvbiBjKCl7dmFyIGQsZSxmO3JldHVybiBOYShjLGZ1bmN0aW9uKGcpe3N3aXRjaChnLkgpe2Nhc2UgMTpnLnZnKDIpLGU9Zy5mZShhLnZhbHVlKTtjYXNlIDQ6aWYoKGQ9ZS5obygpKT09bnVsbCl7Zy5uZCgyKTticmVha31pZighYS52YWx1ZS5oYXNPd25Qcm9wZXJ0eShkKSl7Zy5uZCg0KTticmVha31mPVFhO3JldHVybiBnLmFjKGEudmFsdWVbZF0sOCk7Y2FzZSA4OmYoZy5qYSk7Zy5uZCg0KTticmVhaztjYXNlIDI6Zy5rZCgpLGcuaGUoMCl9fSl9KCl9O2hhLk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFhhLnByb3RvdHlwZSx7c2l6ZTp7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMudmFsdWUpLmxlbmd0aH19fSk7CmZ1bmN0aW9uIFlhKCl7dHJ5e2lmKE1hcClyZXR1cm4gbmV3IE1hcH1jYXRjaChhKXt9cmV0dXJuIG5ldyBYYX07dmFyIFphPWZ1bmN0aW9uKCl7dGhpcy52YWx1ZXM9W119O1phLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7dGhpcy52YWx1ZXMuaW5kZXhPZihhKT09PS0xJiZ0aGlzLnZhbHVlcy5wdXNoKGEpfTtaYS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnZhbHVlcy5pbmRleE9mKGEpPi0xfTt2YXIgJGE9ZnVuY3Rpb24oYSxiKXt0aGlzLmZhPWE7dGhpcy5wYXJlbnQ9Yjt0aGlzLlI9dGhpcy5LPXZvaWQgMDt0aGlzLkhiPSExO3RoaXMuTj1mdW5jdGlvbihkLGUsZil7cmV0dXJuIGQuYXBwbHkoZSxmKX07dGhpcy5IPVlhKCk7dmFyIGM7YTp7dHJ5e2lmKFNldCl7Yz1uZXcgU2V0O2JyZWFrIGF9fWNhdGNoKGQpe31jPW5ldyBaYX10aGlzLlo9Y307JGEucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhLGIpe2FiKHRoaXMsYSxiLCExKX07JGEucHJvdG90eXBlLlFoPWZ1bmN0aW9uKGEsYil7YWIodGhpcyxhLGIsITApfTt2YXIgYWI9ZnVuY3Rpb24oYSxiLGMsZCl7YS5IYnx8YS5aLmhhcyhiKXx8KGQmJmEuWi5hZGQoYiksYS5ILnNldChiLGMpKX07az0kYS5wcm90b3R5cGU7Cmsuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5IYnx8KCF0aGlzLkguaGFzKGEpJiZ0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuaGFzKGEpP3RoaXMucGFyZW50LnNldChhLGIpOnRoaXMuWi5oYXMoYSl8fHRoaXMuSC5zZXQoYSxiKSl9O2suZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLkguaGFzKGEpP3RoaXMuSC5nZXQoYSk6dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0KGEpOnZvaWQgMH07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuISF0aGlzLkguaGFzKGEpfHwhKCF0aGlzLnBhcmVudHx8IXRoaXMucGFyZW50LmhhcyhhKSl9O2sud2I9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgJGEodGhpcy5mYSx0aGlzKTt0aGlzLksmJmEuUWIodGhpcy5LKTthLnNkKHRoaXMuTik7YS51ZSh0aGlzLlIpO3JldHVybiBhfTtrLmplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmF9O2suUWI9ZnVuY3Rpb24oYSl7dGhpcy5LPWF9O2suZm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LfTsKay5zZD1mdW5jdGlvbihhKXt0aGlzLk49YX07ay5Qaj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk59O2suWmE9ZnVuY3Rpb24oKXt0aGlzLkhiPSEwfTtrLnVlPWZ1bmN0aW9uKGEpe3RoaXMuUj1hfTtrLnhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUn07dmFyIGJiPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDtkPUVycm9yLmNhbGwodGhpcyxhLm1lc3NhZ2UpO3RoaXMubWVzc2FnZT1kLm1lc3NhZ2U7InN0YWNrImluIGQmJih0aGlzLnN0YWNrPWQuc3RhY2spO3RoaXMudm89YTt0aGlzLlNuPWM9PT12b2lkIDA/ITE6Yzt0aGlzLks9W107dGhpcy5IPWJ9O3dhKGJiLEVycm9yKTt2YXIgY2I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBiYj9hOm5ldyBiYihhLHZvaWQgMCwhMCl9O3ZhciBkYj1ZYSgpO2Z1bmN0aW9uIGViKGEsYil7Zm9yKHZhciBjLGQ9bShiKSxlPWQubmV4dCgpOyFlLmRvbmUmJiEoYz1mYihhLGUudmFsdWUpLGMgaW5zdGFuY2VvZiBUYSk7ZT1kLm5leHQoKSk7cmV0dXJuIGN9ZnVuY3Rpb24gZmIoYSxiKXt0cnl7dmFyIGM9YlswXSxkPWIuc2xpY2UoMSksZT1TdHJpbmcoYyksZj1kYi5oYXMoZSk/ZGIuZ2V0KGUpOmEuZ2V0KGUpO2lmKCFmfHx0eXBlb2YgZi5pbnZva2UhPT0iZnVuY3Rpb24iKXRocm93IGNiKEVycm9yKCJBdHRlbXB0aW5nIHRvIGV4ZWN1dGUgbm9uLWZ1bmN0aW9uICIrYlswXSsiLiIpKTtyZXR1cm4gZi5hcHBseShhLGQpfWNhdGNoKGgpe3ZhciBnPWEuZm8oKTtnJiZnKGgsYi5jb250ZXh0P3tpZDpiWzBdLGxpbmU6Yi5jb250ZXh0LmxpbmV9Om51bGwpO3Rocm93IGg7fX07dmFyIGdiPWZ1bmN0aW9uKCl7dGhpcy5LPW5ldyBXYTt0aGlzLkg9bmV3ICRhKHRoaXMuSyl9O2s9Z2IucHJvdG90eXBlO2suamU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LfTtrLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07ay5zZD1mdW5jdGlvbihhKXt0aGlzLkguc2QoYSl9O2suZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yayhbYV0uY29uY2F0KHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSkpfTtrLnJrPWZ1bmN0aW9uKCl7Zm9yKHZhciBhLGI9bShPYS5hcHBseSgwLGFyZ3VtZW50cykpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWE9ZmIodGhpcy5ILGMudmFsdWUpO3JldHVybiBhfTtrLkpxPWZ1bmN0aW9uKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKSxjPXRoaXMuSC53YigpO2MudWUoYSk7Zm9yKHZhciBkLGU9bShiKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSlkPWZiKGMsZi52YWx1ZSk7cmV0dXJuIGR9O2suWmE9ZnVuY3Rpb24oKXt0aGlzLkguWmEoKX07dmFyIGhiPWZ1bmN0aW9uKGEsYil7dGhpcy5SPWE7dGhpcy5wYXJlbnQ9Yjt0aGlzLk49dGhpcy5IPXZvaWQgMDt0aGlzLkhiPSExO3RoaXMuSz1mdW5jdGlvbihjLGQsZSl7cmV0dXJuIGMuYXBwbHkoZCxlKX07dGhpcy52YWx1ZXM9bmV3IFVhfTtoYi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYil7amIodGhpcyxhLGIsITEpfTtoYi5wcm90b3R5cGUuUWg9ZnVuY3Rpb24oYSxiKXtqYih0aGlzLGEsYiwhMCl9O3ZhciBqYj1mdW5jdGlvbihhLGIsYyxkKXtpZighYS5IYilpZihkKXt2YXIgZT1hLnZhbHVlcztlLnNldChiLGMpO2UuSFsiZHVzdC4iK2JdPSEwfWVsc2UgYS52YWx1ZXMuc2V0KGIsYyl9O2s9aGIucHJvdG90eXBlO2suc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5IYnx8KCF0aGlzLnZhbHVlcy5oYXMoYSkmJnRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC5oYXMoYSk/dGhpcy5wYXJlbnQuc2V0KGEsYik6dGhpcy52YWx1ZXMuc2V0KGEsYikpfTsKay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMudmFsdWVzLmhhcyhhKT90aGlzLnZhbHVlcy5nZXQoYSk6dGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQuZ2V0KGEpOnZvaWQgMH07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuISF0aGlzLnZhbHVlcy5oYXMoYSl8fCEoIXRoaXMucGFyZW50fHwhdGhpcy5wYXJlbnQuaGFzKGEpKX07ay53Yj1mdW5jdGlvbigpe3ZhciBhPW5ldyBoYih0aGlzLlIsdGhpcyk7dGhpcy5IJiZhLlFiKHRoaXMuSCk7YS5zZCh0aGlzLkspO2EudWUodGhpcy5OKTtyZXR1cm4gYX07ay5qZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJ9O2suUWI9ZnVuY3Rpb24oYSl7dGhpcy5IPWF9O2suZm89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5IfTtrLnNkPWZ1bmN0aW9uKGEpe3RoaXMuSz1hfTtrLlBqPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuS307ay5aYT1mdW5jdGlvbigpe3RoaXMuSGI9ITB9O2sudWU9ZnVuY3Rpb24oYSl7dGhpcy5OPWF9O2sueGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTt2YXIga2I9ZnVuY3Rpb24oKXt0aGlzLk5hPSExO3RoaXMubGE9bmV3IFVhfTtrPWtiLnByb3RvdHlwZTtrLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sYS5nZXQoYSl9O2suc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy5OYXx8dGhpcy5sYS5zZXQoYSxiKX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGEuaGFzKGEpfTtrLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLk5hfHx0aGlzLmxhLnJlbW92ZShhKX07ay5GYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLkZhKCl9O2suaGM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5oYygpfTtrLmZjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuZmMoKX07ay5aYT1mdW5jdGlvbigpe3RoaXMuTmE9ITB9O2suSGI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OYX07ZnVuY3Rpb24gbGIoKXtmb3IodmFyIGE9bWIsYj17fSxjPTA7YzxhLmxlbmd0aDsrK2MpYlthW2NdXT1jO3JldHVybiBifWZ1bmN0aW9uIG5iKCl7dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjthKz1hLnRvTG93ZXJDYXNlKCkrIjAxMjM0NTY3ODktXyI7cmV0dXJuIGErIi4ifXZhciBtYixvYjtmdW5jdGlvbiBwYihhKXttYj1tYnx8bmIoKTtvYj1vYnx8bGIoKTtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7Yys9Myl7dmFyIGQ9YysxPGEubGVuZ3RoLGU9YysyPGEubGVuZ3RoLGY9YS5jaGFyQ29kZUF0KGMpLGc9ZD9hLmNoYXJDb2RlQXQoYysxKTowLGg9ZT9hLmNoYXJDb2RlQXQoYysyKTowLGw9Zj4+MixuPShmJjMpPDw0fGc+PjQscD0oZyYxNSk8PDJ8aD4+NixxPWgmNjM7ZXx8KHE9NjQsZHx8KHA9NjQpKTtiLnB1c2gobWJbbF0sbWJbbl0sbWJbcF0sbWJbcV0pfXJldHVybiBiLmpvaW4oIiIpfQpmdW5jdGlvbiBxYihhKXtmdW5jdGlvbiBiKGwpe2Zvcig7ZDxhLmxlbmd0aDspe3ZhciBuPWEuY2hhckF0KGQrKykscD1vYltuXTtpZihwIT1udWxsKXJldHVybiBwO2lmKCEvXltcc1x4YTBdKiQvLnRlc3QobikpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrbik7fXJldHVybiBsfW1iPW1ifHxuYigpO29iPW9ifHxsYigpO2Zvcih2YXIgYz0iIixkPTA7Oyl7dmFyIGU9YigtMSksZj1iKDApLGc9Yig2NCksaD1iKDY0KTtpZihoPT09NjQmJmU9PT0tMSlyZXR1cm4gYztjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGU8PDJ8Zj4+NCk7ZyE9PTY0JiYoYys9U3RyaW5nLmZyb21DaGFyQ29kZShmPDw0JjI0MHxnPj4yKSxoIT09NjQmJihjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGc8PDYmMTkyfGgpKSl9fTt2YXIgcmI9e307ZnVuY3Rpb24gc2IoYSxiKXt2YXIgYz1yYlthXTtjfHwoYz1yYlthXT1bXSk7Y1tiXT0hMH1mdW5jdGlvbiB0Yigpe2RlbGV0ZSByYi5HQTRfRVZFTlR9ZnVuY3Rpb24gdWIoKXt2YXIgYT12Yi5ILnNsaWNlKCk7cmIuR1RBR19FVkVOVF9GRUFUVVJFX0NIQU5ORUw9YX1mdW5jdGlvbiB3YihhKXtmb3IodmFyIGI9W10sYz0wLGQ9MDtkPGEubGVuZ3RoO2QrKylkJTg9PT0wJiZkPjAmJihiLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShjKSksYz0wKSxhW2RdJiYoY3w9MTw8ZCU4KTtjPjAmJmIucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGMpKTtyZXR1cm4gcGIoYi5qb2luKCIiKSkucmVwbGFjZSgvXC4rJC8sIiIpfTtmdW5jdGlvbiB4Yigpe31mdW5jdGlvbiB5YihhKXtyZXR1cm4gdHlwZW9mIGE9PT0iZnVuY3Rpb24ifWZ1bmN0aW9uIHpiKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifWZ1bmN0aW9uIEFiKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIiJiYhaXNOYU4oYSl9ZnVuY3Rpb24gQmIoYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpbYV19ZnVuY3Rpb24gQ2IoYSxiKXtpZihhJiZBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10mJmIoYVtjXSkpcmV0dXJuIGFbY119ZnVuY3Rpb24gRGIoYSxiKXtpZighQWIoYSl8fCFBYihiKXx8YT5iKWE9MCxiPTIxNDc0ODM2NDc7cmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSooYi1hKzEpK2EpfQpmdW5jdGlvbiBFYihhLGIpe2Zvcih2YXIgYz1uZXcgRmIsZD0wO2Q8YS5sZW5ndGg7ZCsrKWMuc2V0KGFbZF0sITApO2Zvcih2YXIgZT0wO2U8Yi5sZW5ndGg7ZSsrKWlmKGMuZ2V0KGJbZV0pKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEdiKGEsYil7Zm9yKHZhciBjIGluIGEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsYykmJmIoYyxhW2NdKX1mdW5jdGlvbiBIYihhKXtyZXR1cm4hIWEmJihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk9PT0iW29iamVjdCBBcmd1bWVudHNdInx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsImNhbGxlZSIpKX1mdW5jdGlvbiBJYihhKXtyZXR1cm4gTWF0aC5yb3VuZChOdW1iZXIoYSkpfHwwfWZ1bmN0aW9uIEpiKGEpe3JldHVybiJmYWxzZSI9PT1TdHJpbmcoYSkudG9Mb3dlckNhc2UoKT8hMTohIWF9CmZ1bmN0aW9uIEtiKGEpe3ZhciBiPVtdO2lmKEFycmF5LmlzQXJyYXkoYSkpZm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKFN0cmluZyhhW2NdKSk7cmV0dXJuIGJ9ZnVuY3Rpb24gTGIoYSl7cmV0dXJuIGE/YS5yZXBsYWNlKC9eXHMrfFxzKyQvZywiIik6IiJ9ZnVuY3Rpb24gTWIoKXtyZXR1cm4gbmV3IERhdGUoRGF0ZS5ub3coKSl9ZnVuY3Rpb24gTmIoKXtyZXR1cm4gTWIoKS5nZXRUaW1lKCl9dmFyIEZiPWZ1bmN0aW9uKCl7dGhpcy5wcmVmaXg9Imd0bS4iO3RoaXMudmFsdWVzPXt9fTtGYi5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7dGhpcy52YWx1ZXNbdGhpcy5wcmVmaXgrYV09Yn07RmIucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZXNbdGhpcy5wcmVmaXgrYV19O0ZiLnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5nZXQoYSkhPT12b2lkIDB9OwpmdW5jdGlvbiBPYihhLGIsYyl7cmV0dXJuIGEmJmEuaGFzT3duUHJvcGVydHkoYik/YVtiXTpjfWZ1bmN0aW9uIFBiKGEpe3ZhciBiPWE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoYil7dmFyIGM9YjtiPXZvaWQgMDt0cnl7YygpfWNhdGNoKGQpe319fX1mdW5jdGlvbiBRYihhLGIpe2Zvcih2YXIgYyBpbiBiKWIuaGFzT3duUHJvcGVydHkoYykmJihhW2NdPWJbY10pfWZ1bmN0aW9uIFJiKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyljLnB1c2goYVtkXSksYy5wdXNoLmFwcGx5KGMsYlthW2RdXXx8W10pO3JldHVybiBjfWZ1bmN0aW9uIFNiKGEsYil7cmV0dXJuIGEubGVuZ3RoPj1iLmxlbmd0aCYmYS5zdWJzdHJpbmcoMCxiLmxlbmd0aCk9PT1ifWZ1bmN0aW9uIFRiKGEsYil7cmV0dXJuIGEubGVuZ3RoPj1iLmxlbmd0aCYmYS5zdWJzdHJpbmcoYS5sZW5ndGgtYi5sZW5ndGgsYS5sZW5ndGgpPT09Yn0KZnVuY3Rpb24gVWIoYSxiLGMpe2M9Y3x8W107Zm9yKHZhciBkPWEsZT0wO2U8Yi5sZW5ndGgtMTtlKyspe2lmKCFkLmhhc093blByb3BlcnR5KGJbZV0pKXJldHVybjtkPWRbYltlXV07aWYoYy5pbmRleE9mKGQpPj0wKXJldHVybn1yZXR1cm4gZH1mdW5jdGlvbiBWYihhLGIpe2Zvcih2YXIgYz17fSxkPWMsZT1hLnNwbGl0KCIuIiksZj0wO2Y8ZS5sZW5ndGgtMTtmKyspZD1kW2VbZl1dPXt9O2RbZVtlLmxlbmd0aC0xXV09YjtyZXR1cm4gY312YXIgV2I9L15cd3sxLDl9JC87ZnVuY3Rpb24gWWIoYSxiKXthPWF8fHt9O2I9Ynx8IiwiO3ZhciBjPVtdO0diKGEsZnVuY3Rpb24oZCxlKXtXYi50ZXN0KGQpJiZlJiZjLnB1c2goZCl9KTtyZXR1cm4gYy5qb2luKGIpfQpmdW5jdGlvbiBaYihhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hLmNoYXJDb2RlQXQoYyk7ZDwxMjg/Yi5wdXNoKGQpOmQ8MjA0OD9iLnB1c2goMTkyfGQ+PjYsMTI4fGQmNjMpOmQ8NTUyOTZ8fGQ+PTU3MzQ0P2IucHVzaCgyMjR8ZD4+MTIsMTI4fGQ+PjYmNjMsMTI4fGQmNjMpOihkPTY1NTM2KygoZCYxMDIzKTw8MTB8YS5jaGFyQ29kZUF0KCsrYykmMTAyMyksYi5wdXNoKDI0MHxkPj4xOCwxMjh8ZD4+MTImNjMsMTI4fGQ+PjYmNjMsMTI4fGQmNjMpKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYil9ZnVuY3Rpb24gJGIoYSl7aWYoIWEpcmV0dXJuIGE7dmFyIGI9YTt0cnl7Yj1kZWNvZGVVUklDb21wb25lbnQoYSl9Y2F0Y2goZCl7fXZhciBjPWIuc3BsaXQoIiwiKTtyZXR1cm4gYy5sZW5ndGg9PT0yJiZjWzBdPT09Y1sxXT9jWzBdOmF9CmZ1bmN0aW9uIGFjKGEsYixjKXtmdW5jdGlvbiBkKG4pe3ZhciBwPW4uc3BsaXQoIj0iKVswXTtpZihhLmluZGV4T2YocCk8MClyZXR1cm4gbjtpZihjIT09dm9pZCAwKXJldHVybiBwKyI9IitjfWZ1bmN0aW9uIGUobil7cmV0dXJuIG4uc3BsaXQoIiYiKS5tYXAoZCkuZmlsdGVyKGZ1bmN0aW9uKHApe3JldHVybiBwIT09dm9pZCAwfSkuam9pbigiJiIpfXZhciBmPWIuaHJlZi5zcGxpdCgvWz8jXS8pWzBdLGc9Yi5zZWFyY2gsaD1iLmhhc2g7Z1swXT09PSI/IiYmKGc9Zy5zdWJzdHJpbmcoMSkpO2hbMF09PT0iIyImJihoPWguc3Vic3RyaW5nKDEpKTtnPWUoZyk7aD1lKGgpO2chPT0iIiYmKGc9Ij8iK2cpO2ghPT0iIiYmKGg9IiMiK2gpO3ZhciBsPSIiK2YrZytoO2xbbC5sZW5ndGgtMV09PT0iLyImJihsPWwuc3Vic3RyaW5nKDAsbC5sZW5ndGgtMSkpO3JldHVybiBsfQpmdW5jdGlvbiBiYyhhKXtmb3IodmFyIGI9MDtiPDM7KytiKXRyeXt2YXIgYz1kZWNvZGVVUklDb21wb25lbnQoYSkucmVwbGFjZSgvXCsvZywiICIpO2lmKGM9PT1hKWJyZWFrO2E9Y31jYXRjaChkKXtyZXR1cm4iIn1yZXR1cm4gYX1mdW5jdGlvbiBjYygpe3ZhciBhPUEsYjthOnt2YXIgYz1hLmNyeXB0b3x8YS5tc0NyeXB0bztpZihjJiZjLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoMjUpO2MuZ2V0UmFuZG9tVmFsdWVzKGQpO2I9YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx3KGQpKSkucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKS5yZXBsYWNlKC89KyQvLCIiKTticmVhayBhfWNhdGNoKGUpe31iPXZvaWQgMH1yZXR1cm4gYn07LyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KdmFyIGRjPWdsb2JhbFRoaXMudHJ1c3RlZFR5cGVzLGVjO2Z1bmN0aW9uIGZjKCl7dmFyIGE9bnVsbDtpZighZGMpcmV0dXJuIGE7dHJ5e3ZhciBiPWZ1bmN0aW9uKGMpe3JldHVybiBjfTthPWRjLmNyZWF0ZVBvbGljeSgiZ29vZyNodG1sIix7Y3JlYXRlSFRNTDpiLGNyZWF0ZVNjcmlwdDpiLGNyZWF0ZVNjcmlwdFVSTDpifSl9Y2F0Y2goYyl7fXJldHVybiBhfWZ1bmN0aW9uIGhjKCl7ZWM9PT12b2lkIDAmJihlYz1mYygpKTtyZXR1cm4gZWN9O3ZhciBpYz1mdW5jdGlvbihhKXt0aGlzLkg9YX07aWMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCsiIn07ZnVuY3Rpb24gamMoYSl7dmFyIGI9YSxjPWhjKCksZD1jP2MuY3JlYXRlU2NyaXB0VVJMKGIpOmI7cmV0dXJuIG5ldyBpYyhkKX1mdW5jdGlvbiBrYyhhKXtpZihhIGluc3RhbmNlb2YgaWMpcmV0dXJuIGEuSDt0aHJvdyBFcnJvcigiIik7fTt2YXIgbGM9QWEoWyIiXSksbWM9emEoWyJceDAwIl0sWyJcXDAiXSksbmM9emEoWyJcbiJdLFsiXFxuIl0pLG9jPXphKFsiXHgwMCJdLFsiXFx1MDAwMCJdKTtmdW5jdGlvbiBwYyhhKXtyZXR1cm4gYS50b1N0cmluZygpLmluZGV4T2YoImAiKT09PS0xfXBjKGZ1bmN0aW9uKGEpe3JldHVybiBhKGxjKX0pfHxwYyhmdW5jdGlvbihhKXtyZXR1cm4gYShtYyl9KXx8cGMoZnVuY3Rpb24oYSl7cmV0dXJuIGEobmMpfSl8fHBjKGZ1bmN0aW9uKGEpe3JldHVybiBhKG9jKX0pO3ZhciBxYz1mdW5jdGlvbihhKXt0aGlzLkg9YX07cWMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSH07dmFyIHJjPWZ1bmN0aW9uKGEpe3RoaXMuSnM9YX07ZnVuY3Rpb24gc2MoYSl7cmV0dXJuIG5ldyByYyhmdW5jdGlvbihiKXtyZXR1cm4gYi5zdWJzdHIoMCxhLmxlbmd0aCsxKS50b0xvd2VyQ2FzZSgpPT09YSsiOiJ9KX12YXIgdGM9W3NjKCJkYXRhIiksc2MoImh0dHAiKSxzYygiaHR0cHMiKSxzYygibWFpbHRvIiksc2MoImZ0cCIpLG5ldyByYyhmdW5jdGlvbihhKXtyZXR1cm4vXlteOl0qKFsvPyNdfCQpLy50ZXN0KGEpfSldO2Z1bmN0aW9uIHVjKGEpe3ZhciBiO2I9Yj09PXZvaWQgMD90YzpiO2lmKGEgaW5zdGFuY2VvZiBxYylyZXR1cm4gYTtmb3IodmFyIGM9MDtjPGIubGVuZ3RoOysrYyl7dmFyIGQ9YltjXTtpZihkIGluc3RhbmNlb2YgcmMmJmQuSnMoYSkpcmV0dXJuIG5ldyBxYyhhKX19dmFyIHZjPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7CmZ1bmN0aW9uIHdjKGEpe3ZhciBiO2lmKGEgaW5zdGFuY2VvZiBxYylpZihhIGluc3RhbmNlb2YgcWMpYj1hLkg7ZWxzZSB0aHJvdyBFcnJvcigiIik7ZWxzZSBiPXZjLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGJ9O2Z1bmN0aW9uIHhjKGEsYil7dmFyIGM9d2MoYik7YyE9PXZvaWQgMCYmKGEuYWN0aW9uPWMpfTtmdW5jdGlvbiB5YyhhLGIpe3Rocm93IEVycm9yKGI9PT12b2lkIDA/InVuZXhwZWN0ZWQgdmFsdWUgIithKyIhIjpiKTt9O3ZhciB6Yz1mdW5jdGlvbihhKXt0aGlzLkg9YX07emMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCsiIn07dmFyIEJjPWZ1bmN0aW9uKCl7dGhpcy5IPUFjWzBdLnRvTG93ZXJDYXNlKCl9O0JjLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLkh9O2Z1bmN0aW9uIENjKGEsYil7dmFyIGM9W25ldyBCY107aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCIiKTt2YXIgZD1jLm1hcChmdW5jdGlvbihmKXt2YXIgZztpZihmIGluc3RhbmNlb2YgQmMpZz1mLkg7ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGd9KSxlPWIudG9Mb3dlckNhc2UoKTtpZihkLmV2ZXJ5KGZ1bmN0aW9uKGYpe3JldHVybiBlLmluZGV4T2YoZikhPT0wfSkpdGhyb3cgRXJyb3IoJ0F0dHJpYnV0ZSAiJytiKyciIGRvZXMgbm90IG1hdGNoIGFueSBvZiB0aGUgYWxsb3dlZCBwcmVmaXhlcy4nKTthLnNldEF0dHJpYnV0ZShiLCJ0cnVlIil9O3ZhciBEYz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZj9mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGEsYix2b2lkIDApfTpmdW5jdGlvbihhLGIpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIHR5cGVvZiBiIT09InN0cmluZyJ8fGIubGVuZ3RoIT0xPy0xOmEuaW5kZXhPZihiLDApO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGMgaW4gYSYmYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9OyJBUlRJQ0xFIFNFQ1RJT04gTkFWIEFTSURFIEgxIEgyIEgzIEg0IEg1IEg2IEhFQURFUiBGT09URVIgQUREUkVTUyBQIEhSIFBSRSBCTE9DS1FVT1RFIE9MIFVMIExIIExJIERMIERUIEREIEZJR1VSRSBGSUdDQVBUSU9OIE1BSU4gRElWIEVNIFNUUk9ORyBTTUFMTCBTIENJVEUgUSBERk4gQUJCUiBSVUJZIFJCIFJUIFJUQyBSUCBEQVRBIFRJTUUgQ09ERSBWQVIgU0FNUCBLQkQgU1VCIFNVUCBJIEIgVSBNQVJLIEJESSBCRE8gU1BBTiBCUiBXQlIgTk9CUiBJTlMgREVMIFBJQ1RVUkUgUEFSQU0gVFJBQ0sgTUFQIFRBQkxFIENBUFRJT04gQ09MR1JPVVAgQ09MIFRCT0RZIFRIRUFEIFRGT09UIFRSIFREIFRIIFNFTEVDVCBEQVRBTElTVCBPUFRHUk9VUCBPUFRJT04gT1VUUFVUIFBST0dSRVNTIE1FVEVSIEZJRUxEU0VUIExFR0VORCBERVRBSUxTIFNVTU1BUlkgTUVOVSBESUFMT0cgU0xPVCBDQU5WQVMgRk9OVCBDRU5URVIgQUNST05ZTSBCQVNFRk9OVCBCSUcgRElSIEhHUk9VUCBTVFJJS0UgVFQiLnNwbGl0KCIgIikuY29uY2F0KFsiQlVUVE9OIiwKIklOUFVUIl0pO2Z1bmN0aW9uIEVjKGEpe3JldHVybiBhPT09bnVsbD8ibnVsbCI6YT09PXZvaWQgMD8idW5kZWZpbmVkIjphfTt2YXIgQT13aW5kb3csRmM9W10sR2M9d2luZG93Lmhpc3RvcnksQj1kb2N1bWVudCxIYz1uYXZpZ2F0b3I7ZnVuY3Rpb24gSWMoKXt2YXIgYTt0cnl7YT1IYy5zZXJ2aWNlV29ya2VyfWNhdGNoKGIpe3JldHVybn1yZXR1cm4gYX12YXIgSmM9Qi5jdXJyZW50U2NyaXB0LEtjPUpjJiZKYy5zcmM7ZnVuY3Rpb24gTWMoYSxiKXt2YXIgYz1BLGQ9Y1thXTtjW2FdPWQ9PT12b2lkIDA/YjpkO3JldHVybiBjW2FdfWZ1bmN0aW9uIE5jKGEpe3JldHVybihIYy51c2VyQWdlbnR8fCIiKS5pbmRleE9mKGEpIT09LTF9ZnVuY3Rpb24gT2MoKXtyZXR1cm4gTmMoIkZpcmVmb3giKXx8TmMoIkZ4aU9TIil9ZnVuY3Rpb24gUGMoKXtyZXR1cm4oTmMoIkdTQSIpfHxOYygiR29vZ2xlQXBwIikpJiYoTmMoImlQaG9uZSIpfHxOYygiaVBhZCIpKX1mdW5jdGlvbiBRYygpe3JldHVybiBOYygiRWRnLyIpfHxOYygiRWRnQS8iKXx8TmMoIkVkZ2lPUy8iKX0KdmFyIFJjPXthc3luYzoxLG5vbmNlOjEsb25lcnJvcjoxLG9ubG9hZDoxLHNyYzoxLHR5cGU6MX0sU2M9e2hlaWdodDoxLG9ubG9hZDoxLHNyYzoxLHN0eWxlOjEsd2lkdGg6MX07ZnVuY3Rpb24gVGMoYSxiLGMpe2ImJkdiKGIsZnVuY3Rpb24oZCxlKXtkPWQudG9Mb3dlckNhc2UoKTtjLmhhc093blByb3BlcnR5KGQpfHxhLnNldEF0dHJpYnV0ZShkLGUpfSl9CmZ1bmN0aW9uIFVjKGEsYixjLGQsZSl7dmFyIGY9Qi5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtUYyhmLGQsUmMpO2YudHlwZT0idGV4dC9qYXZhc2NyaXB0IjtmLmFzeW5jPWQmJmQuYXN5bmM9PT0hMT8hMTohMDt2YXIgZztnPWpjKEVjKGEpKTtmLnNyYz1rYyhnKTt2YXIgaCxsPWYub3duZXJEb2N1bWVudDtsPWw9PT12b2lkIDA/ZG9jdW1lbnQ6bDt2YXIgbixwLHE9KHA9KG49bCkucXVlcnlTZWxlY3Rvcik9PW51bGw/dm9pZCAwOnAuY2FsbChuLCJzY3JpcHRbbm9uY2VdIik7KGg9cT09bnVsbD8iIjpxLm5vbmNlfHxxLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiIpJiZmLnNldEF0dHJpYnV0ZSgibm9uY2UiLGgpO2ImJihmLm9ubG9hZD1iKTtjJiYoZi5vbmVycm9yPWMpO2U/ZS5hcHBlbmRDaGlsZChmKTpWYy5CcyhmKTtyZXR1cm4gZn0KZnVuY3Rpb24gV2MoKXtpZihLYyl7dmFyIGE9S2MudG9Mb3dlckNhc2UoKTtpZihhLmluZGV4T2YoImh0dHBzOi8vIik9PT0wKXJldHVybiAyO2lmKGEuaW5kZXhPZigiaHR0cDovLyIpPT09MClyZXR1cm4gM31yZXR1cm4gMX1mdW5jdGlvbiBYYyhhLGIsYyxkLGUsZil7Zj1mPT09dm9pZCAwPyEwOmY7dmFyIGc9ZSxoPSExO2d8fChnPUIuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksaD0hMCk7VGMoZyxjLFNjKTtkJiZHYihkLGZ1bmN0aW9uKG4scCl7Zy5kYXRhc2V0W25dPXB9KTtmJiYoZy5oZWlnaHQ9IjAiLGcud2lkdGg9IjAiLGcuc3R5bGUuZGlzcGxheT0ibm9uZSIsZy5zdHlsZS52aXNpYmlsaXR5PSJoaWRkZW4iKTthIT09dm9pZCAwJiYoZy5zcmM9YSk7aWYoaCl7dmFyIGw9Qi5ib2R5JiZCLmJvZHkubGFzdENoaWxkfHxCLmJvZHl8fEIuaGVhZDtsLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsbCl9YiYmKGcub25sb2FkPWIpO3JldHVybiBnfQpmdW5jdGlvbiBaYygpe3JldHVybiBWYy5Fci5hcHBseShWYyx3KE9hLmFwcGx5KDAsYXJndW1lbnRzKSkpfWZ1bmN0aW9uICRjKGEsYixjLGQpe2EuYWRkRXZlbnRMaXN0ZW5lciYmYS5hZGRFdmVudExpc3RlbmVyKGIsYywhIWQpfWZ1bmN0aW9uIGFkKGEsYixjKXthLnJlbW92ZUV2ZW50TGlzdGVuZXImJmEucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsITEpfWZ1bmN0aW9uIGJkKGEpe0Euc2V0VGltZW91dChhLDApfWZ1bmN0aW9uIGNkKGEsYil7dmFyIGM9T2EuYXBwbHkoMixhcmd1bWVudHMpLGQsZT0oZD1BKS5zZXRJbnRlcnZhbC5hcHBseShkLFthLGJdLmNvbmNhdCh3KGMpKSk7RmMucHVzaChlKTtyZXR1cm4gZX0KZnVuY3Rpb24gZGQoYSl7dmFyIGI9QTt5YihiLnF1ZXVlTWljcm90YXNrKT9iLnF1ZXVlTWljcm90YXNrKGEpOnliKGIuUHJvbWlzZSkmJmIuUHJvbWlzZS5yZXNvbHZlP2IuUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe2EoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSk6YmQoYSl9ZnVuY3Rpb24gZWQoYSxiKXtyZXR1cm4gYSYmYiYmYS5hdHRyaWJ1dGVzJiZhLmF0dHJpYnV0ZXNbYl0/YS5hdHRyaWJ1dGVzW2JdLnZhbHVlOm51bGx9ZnVuY3Rpb24gZmQoYSl7dmFyIGI9YS5pbm5lclRleHR8fGEudGV4dENvbnRlbnR8fCIiO2ImJmIhPT0iICImJihiPWIucmVwbGFjZSgvXltcc1x4YTBdKy9nLCIiKSxiPWIucmVwbGFjZSgvW1xzXHhhMF0rJC9nLCIiKSk7YiYmKGI9Yi5yZXBsYWNlKC8oXHhhMCt8XHN7Mix9fFxufFxyXHQpL2csIiAiKSk7cmV0dXJuIGJ9CmZ1bmN0aW9uIGdkKGEpe3ZhciBiPUIuY3JlYXRlRWxlbWVudCgiZGl2IiksYz1iLGQsZT1FYygiQTxkaXY+IithKyI8L2Rpdj4iKSxmPWhjKCksZz1mP2YuY3JlYXRlSFRNTChlKTplO2Q9bmV3IHpjKGcpO2lmKGMubm9kZVR5cGU9PT0xJiYvXihzY3JpcHR8c3R5bGUpJC9pLnRlc3QoYy50YWdOYW1lKSl0aHJvdyBFcnJvcigiIik7dmFyIGg7aWYoZCBpbnN0YW5jZW9mIHpjKWg9ZC5IO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO2MuaW5uZXJIVE1MPWg7Yj1iLmxhc3RDaGlsZDtmb3IodmFyIGw9W107YiYmYi5maXJzdENoaWxkOylsLnB1c2goYi5yZW1vdmVDaGlsZChiLmZpcnN0Q2hpbGQpKTtyZXR1cm4gbH0KZnVuY3Rpb24gaGQoYSxiLGMpe2M9Y3x8MTAwO2Zvcih2YXIgZD17fSxlPTA7ZTxiLmxlbmd0aDtlKyspZFtiW2VdXT0hMDtmb3IodmFyIGY9YSxnPTA7ZiYmZzw9YztnKyspe2lmKGRbU3RyaW5nKGYudGFnTmFtZSkudG9Mb3dlckNhc2UoKV0pcmV0dXJuIGY7Zj1mLnBhcmVudEVsZW1lbnR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gaWQoYSxiLGMpe3ZhciBkO3RyeXtkPUhjLnNlbmRCZWFjb24mJkhjLnNlbmRCZWFjb24oYSl9Y2F0Y2goZSl7c2IoIlRBR0dJTkciLDE1KX1kP2I9PW51bGx8fGIoKTpaYyhhLGIsYyl9ZnVuY3Rpb24gamQoYSxiKXt0cnl7aWYoSGMuc2VuZEJlYWNvbiE9PXZvaWQgMClyZXR1cm4gSGMuc2VuZEJlYWNvbihhLGIpfWNhdGNoKGMpe3NiKCJUQUdHSU5HIiwxNSl9cmV0dXJuITF9ZnVuY3Rpb24ga2QoKXtyZXR1cm4gSGMuc2VuZEJlYWNvbiE9PXZvaWQgMH0KdmFyIGxkPXtjYWNoZToibm8tc3RvcmUiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixrZWVwYWxpdmU6ITAsbWV0aG9kOiJQT1NUIixtb2RlOiJuby1jb3JzIixyZWRpcmVjdDoiZm9sbG93In07CmZ1bmN0aW9uIG1kKGEsYixjLGQsZSl7aWYobmQoKSl7dmFyIGY9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxsZCk7YiYmKGYuYm9keT1iKTtjJiYoYy5hdHRyaWJ1dGlvblJlcG9ydGluZyYmKGYuYXR0cmlidXRpb25SZXBvcnRpbmc9Yy5hdHRyaWJ1dGlvblJlcG9ydGluZyksYy5icm93c2luZ1RvcGljcyE9PXZvaWQgMCYmKGYuYnJvd3NpbmdUb3BpY3M9Yy5icm93c2luZ1RvcGljcyksYy5jcmVkZW50aWFscyYmKGYuY3JlZGVudGlhbHM9Yy5jcmVkZW50aWFscyksYy5rZWVwYWxpdmUhPT12b2lkIDAmJihmLmtlZXBhbGl2ZT1jLmtlZXBhbGl2ZSksYy5tZXRob2QmJihmLm1ldGhvZD1jLm1ldGhvZCksYy5tb2RlJiYoZi5tb2RlPWMubW9kZSkpO3RyeXt2YXIgZz1BLmZldGNoKGEsZik7aWYoZylyZXR1cm4gZy50aGVuKGZ1bmN0aW9uKGwpe2wmJihsLm9rfHxsLnN0YXR1cz09PTApP2Q9PW51bGx8fGQoKTplPT1udWxsfHxlKCl9KS5jYXRjaChmdW5jdGlvbigpe2U9PQpudWxsfHxlKCl9KSwhMH1jYXRjaChsKXt9fWlmKChjPT1udWxsPzA6Yy5RZyl8fChjPT1udWxsPzA6Yy5jcmVkZW50aWFscykmJmMuY3JlZGVudGlhbHMhPT0iaW5jbHVkZSIpcmV0dXJuIGU9PW51bGx8fGUoKSwhMTtpZihiKXt2YXIgaD1qZChhLGIpO2g/ZD09bnVsbHx8ZCgpOmU9PW51bGx8fGUoKTtyZXR1cm4gaH1WYy53dChhLGQsZSk7cmV0dXJuITB9ZnVuY3Rpb24gbmQoKXtyZXR1cm4geWIoQS5mZXRjaCl9ZnVuY3Rpb24gb2QoYSxiKXt2YXIgYz1hW2JdO2MmJnR5cGVvZiBjLmFuaW1WYWw9PT0ic3RyaW5nIiYmKGM9Yy5hbmltVmFsKTtyZXR1cm4gY31mdW5jdGlvbiBwZCgpe3ZhciBhPUEucGVyZm9ybWFuY2U7aWYoYSYmeWIoYS5ub3cpKXJldHVybiBhLm5vdygpfQpmdW5jdGlvbiBxZCgpe3ZhciBhLGI9QS5wZXJmb3JtYW5jZTtpZihiJiZiLmdldEVudHJpZXNCeVR5cGUpdHJ5e3ZhciBjPWIuZ2V0RW50cmllc0J5VHlwZSgibmF2aWdhdGlvbiIpO2MmJmMubGVuZ3RoPjAmJihhPWNbMF0udHlwZSl9Y2F0Y2goZCl7cmV0dXJuImUifWlmKCFhKXJldHVybiJ1Ijtzd2l0Y2goYSl7Y2FzZSAibmF2aWdhdGUiOnJldHVybiJuIjtjYXNlICJiYWNrX2ZvcndhcmQiOnJldHVybiJoIjtjYXNlICJyZWxvYWQiOnJldHVybiJyIjtjYXNlICJwcmVyZW5kZXIiOnJldHVybiJwIjtkZWZhdWx0OnJldHVybiJ4In19ZnVuY3Rpb24gcmQoKXtyZXR1cm4gQS5wZXJmb3JtYW5jZXx8dm9pZCAwfWZ1bmN0aW9uIHNkKCl7dmFyIGE9QS53ZWJQaXhlbHNNYW5hZ2VyO3JldHVybiBhP2EuY3JlYXRlU2hvcGlmeUV4dGVuZCE9PXZvaWQgMDohMX0KdmFyIFZjPXtFcjpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uZXcgSW1hZ2UoMSwxKTtUYyhlLGQse30pO2Uub25sb2FkPWZ1bmN0aW9uKCl7ZS5vbmxvYWQ9bnVsbDtiJiZiKCl9O2Uub25lcnJvcj1mdW5jdGlvbigpe2Uub25lcnJvcj1udWxsO2MmJmMoKX07ZS5zcmM9YTtyZXR1cm4gZX0sQnM6ZnVuY3Rpb24oYSl7dmFyIGI9Qi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF18fEIuYm9keXx8Qi5oZWFkO2IucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSxiKX0sd3Q6aWR9O2Z1bmN0aW9uIHRkKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkmJnRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gdWQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKT09PXRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gdmQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKXx8dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiB3ZChhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSksZD10aGlzLmV2YWx1YXRlKGIpO3JldHVybiBTdHJpbmcoYykuaW5kZXhPZihTdHJpbmcoZCkpPi0xfWZ1bmN0aW9uIHhkKGEsYil7dmFyIGM9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYSkpLGQ9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYikpO3JldHVybiBjLnN1YnN0cmluZygwLGQubGVuZ3RoKT09PWR9CmZ1bmN0aW9uIHlkKGEsYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShhKSxkPXRoaXMuZXZhbHVhdGUoYik7c3dpdGNoKGMpe2Nhc2UgInBhZ2VMb2NhdGlvbiI6dmFyIGU9QS5sb2NhdGlvbi5ocmVmO2QgaW5zdGFuY2VvZiBrYiYmZC5nZXQoInN0cmlwUHJvdG9jb2wiKSYmKGU9ZS5yZXBsYWNlKC9eaHR0cHM/OlwvXC8vLCIiKSk7cmV0dXJuIGV9fTsvKgogalF1ZXJ5IChjKSAyMDA1LCAyMDEyIGpRdWVyeSBGb3VuZGF0aW9uLCBJbmMuIGpxdWVyeS5vcmcvbGljZW5zZS4KKi8KdmFyIHpkPS9cW29iamVjdCAoQm9vbGVhbnxOdW1iZXJ8U3RyaW5nfEZ1bmN0aW9ufEFycmF5fERhdGV8UmVnRXhwKVxdLyxBZD1mdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBTdHJpbmcoYSk7dmFyIGI9emQuZXhlYyhPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoT2JqZWN0KGEpKSk7cmV0dXJuIGI/YlsxXS50b0xvd2VyQ2FzZSgpOiJvYmplY3QifSxCZD1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoT2JqZWN0KGEpLGIpfSxDZD1mdW5jdGlvbihhKXtpZighYXx8QWQoYSkhPSJvYmplY3QifHxhLm5vZGVUeXBlfHxhPT1hLndpbmRvdylyZXR1cm4hMTt0cnl7aWYoYS5jb25zdHJ1Y3RvciYmIUJkKGEsImNvbnN0cnVjdG9yIikmJiFCZChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpKXJldHVybiExfWNhdGNoKGMpe3JldHVybiExfWZvcih2YXIgYiBpbiBhKTtyZXR1cm4gYj09PXZvaWQgMHx8CkJkKGEsYil9LEVkPWZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8KEFkKGEpPT0iYXJyYXkiP1tdOnt9KSxkO2ZvcihkIGluIGEpaWYoQmQoYSxkKSl7dmFyIGU9YVtkXTtBZChlKT09ImFycmF5Ij8oQWQoY1tkXSkhPSJhcnJheSImJihjW2RdPVtdKSxjW2RdPUVkKGUsY1tkXSkpOkNkKGUpPyhDZChjW2RdKXx8KGNbZF09e30pLGNbZF09RWQoZSxjW2RdKSk6Y1tkXT1lfXJldHVybiBjfTtmdW5jdGlvbiBGZChhKXtyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIiYmYT49MCYmaXNGaW5pdGUoYSkmJmElMT09PTB8fHR5cGVvZiBhPT09InN0cmluZyImJmFbMF0hPT0iLSImJmE9PT0iIitwYXJzZUludChhKX07dmFyIEdkPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9bXTphO3RoaXMubGE9bmV3IFVhO3RoaXMudmFsdWVzPVtdO3RoaXMuTmE9ITE7Zm9yKHZhciBiIGluIGEpYS5oYXNPd25Qcm9wZXJ0eShiKSYmKEZkKGIpP3RoaXMudmFsdWVzW051bWJlcihiKV09YVtOdW1iZXIoYildOnRoaXMubGEuc2V0KGIsYVtiXSkpfTtrPUdkLnByb3RvdHlwZTtrLnRvU3RyaW5nPWZ1bmN0aW9uKGEpe2lmKGEmJmEuaW5kZXhPZih0aGlzKT49MClyZXR1cm4iIjtmb3IodmFyIGI9W10sYz0wO2M8dGhpcy52YWx1ZXMubGVuZ3RoO2MrKyl7dmFyIGQ9dGhpcy52YWx1ZXNbY107ZD09PW51bGx8fGQ9PT12b2lkIDA/Yi5wdXNoKCIiKTpkIGluc3RhbmNlb2YgR2Q/KGE9YXx8W10sYS5wdXNoKHRoaXMpLGIucHVzaChkLnRvU3RyaW5nKGEpKSxhLnBvcCgpKTpiLnB1c2goU3RyaW5nKGQpKX1yZXR1cm4gYi5qb2luKCIsIil9OwprLnNldD1mdW5jdGlvbihhLGIpe2lmKCF0aGlzLk5hKWlmKGE9PT0ibGVuZ3RoIil7aWYoIUZkKGIpKXRocm93IGNiKEVycm9yKCJSYW5nZUVycm9yOiBMZW5ndGggcHJvcGVydHkgbXVzdCBiZSBhIHZhbGlkIGludGVnZXIuIikpO3RoaXMudmFsdWVzLmxlbmd0aD1OdW1iZXIoYil9ZWxzZSBGZChhKT90aGlzLnZhbHVlc1tOdW1iZXIoYSldPWI6dGhpcy5sYS5zZXQoYSxiKX07ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0ibGVuZ3RoIj90aGlzLmxlbmd0aCgpOkZkKGEpP3RoaXMudmFsdWVzW051bWJlcihhKV06dGhpcy5sYS5nZXQoYSl9O2subGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aH07ay5GYT1mdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLmxhLkZhKCksYj0wO2I8dGhpcy52YWx1ZXMubGVuZ3RoO2IrKyl0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShiKSYmYS5wdXNoKFN0cmluZyhiKSk7cmV0dXJuIGF9OwprLmhjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMubGEuaGMoKSxiPTA7Yjx0aGlzLnZhbHVlcy5sZW5ndGg7YisrKXRoaXMudmFsdWVzLmhhc093blByb3BlcnR5KGIpJiZhLnB1c2godGhpcy52YWx1ZXNbYl0pO3JldHVybiBhfTtrLmZjPWZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMubGEuZmMoKSxiPTA7Yjx0aGlzLnZhbHVlcy5sZW5ndGg7YisrKXRoaXMudmFsdWVzLmhhc093blByb3BlcnR5KGIpJiZhLnB1c2goW1N0cmluZyhiKSx0aGlzLnZhbHVlc1tiXV0pO3JldHVybiBhfTtrLnJlbW92ZT1mdW5jdGlvbihhKXtGZChhKT9kZWxldGUgdGhpcy52YWx1ZXNbTnVtYmVyKGEpXTp0aGlzLk5hfHx0aGlzLmxhLnJlbW92ZShhKX07ay5wb3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMucG9wKCl9O2sucHVzaD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlcy5wdXNoLmFwcGx5KHRoaXMudmFsdWVzLHcoT2EuYXBwbHkoMCxhcmd1bWVudHMpKSl9O2suc2hpZnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZXMuc2hpZnQoKX07Cmsuc3BsaWNlPWZ1bmN0aW9uKGEsYil7dmFyIGM9T2EuYXBwbHkoMixhcmd1bWVudHMpO3JldHVybiBiPT09dm9pZCAwJiZjLmxlbmd0aD09PTA/bmV3IEdkKHRoaXMudmFsdWVzLnNwbGljZShhKSk6bmV3IEdkKHRoaXMudmFsdWVzLnNwbGljZS5hcHBseSh0aGlzLnZhbHVlcyxbYSxifHwwXS5jb25jYXQodyhjKSkpKX07ay51bnNoaWZ0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLnVuc2hpZnQuYXBwbHkodGhpcy52YWx1ZXMsdyhPYS5hcHBseSgwLGFyZ3VtZW50cykpKX07ay5oYXM9ZnVuY3Rpb24oYSl7cmV0dXJuIEZkKGEpJiZ0aGlzLnZhbHVlcy5oYXNPd25Qcm9wZXJ0eShhKXx8dGhpcy5sYS5oYXMoYSl9O2suWmE9ZnVuY3Rpb24oKXt0aGlzLk5hPSEwO09iamVjdC5mcmVlemUodGhpcy52YWx1ZXMpfTtrLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmF9OwpmdW5jdGlvbiBIZChhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGgoKTtjKyspYS5oYXMoYykmJihiW2NdPWEuZ2V0KGMpKTtyZXR1cm4gYn07dmFyIElkPWZ1bmN0aW9uKGEsYil7dGhpcy5mdW5jdGlvbk5hbWU9YTt0aGlzLmllPWI7dGhpcy5sYT1uZXcgVWE7dGhpcy5OYT0hMX07az1JZC5wcm90b3R5cGU7ay50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZ1bmN0aW9uTmFtZX07ay5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZnVuY3Rpb25OYW1lfTtrLmdldEtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEdkKHRoaXMuRmEoKSl9O2suaW52b2tlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmllLmNhbGwuYXBwbHkodGhpcy5pZSxbbmV3IEpkKHRoaXMsYSldLmNvbmNhdCh3KE9hLmFwcGx5KDEsYXJndW1lbnRzKSkpKX07ay5hcHBseT1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmllLmFwcGx5KG5ldyBKZCh0aGlzLGEpLGIpfTtrLk5jPWZ1bmN0aW9uKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKTt0cnl7cmV0dXJuIHRoaXMuaW52b2tlLmFwcGx5KHRoaXMsW2FdLmNvbmNhdCh3KGIpKSl9Y2F0Y2goYyl7fX07CmsuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxhLmdldChhKX07ay5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLk5hfHx0aGlzLmxhLnNldChhLGIpfTtrLmhhcz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sYS5oYXMoYSl9O2sucmVtb3ZlPWZ1bmN0aW9uKGEpe3RoaXMuTmF8fHRoaXMubGEucmVtb3ZlKGEpfTtrLkZhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuRmEoKX07ay5oYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLmhjKCl9O2suZmM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5mYygpfTtrLlphPWZ1bmN0aW9uKCl7dGhpcy5OYT0hMH07ay5IYj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk5hfTt2YXIgS2Q9ZnVuY3Rpb24oYSxiKXtJZC5jYWxsKHRoaXMsYSxiKX07d2EoS2QsSWQpO3ZhciBMZD1mdW5jdGlvbihhLGIpe0lkLmNhbGwodGhpcyxhLGIpfTt3YShMZCxJZCk7dmFyIEpkPWZ1bmN0aW9uKGEsYil7dGhpcy5pZT1hO3RoaXMuVD1ifTsKSmQucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuVDtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9mYihiLGEpOmF9O0pkLnByb3RvdHlwZS5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWUuZ2V0TmFtZSgpfTtKZC5wcm90b3R5cGUuamU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ULmplKCl9O3ZhciBNZD1mdW5jdGlvbigpe3RoaXMubWFwPW5ldyBNYXB9O01kLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm1hcC5zZXQoYSxiKX07TWQucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5tYXAuZ2V0KGEpfTt2YXIgTmQ9ZnVuY3Rpb24oKXt0aGlzLmtleXM9W107dGhpcy52YWx1ZXM9W119O05kLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmtleXMucHVzaChhKTt0aGlzLnZhbHVlcy5wdXNoKGIpfTtOZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMua2V5cy5pbmRleE9mKGEpO2lmKGI+LTEpcmV0dXJuIHRoaXMudmFsdWVzW2JdfTtmdW5jdGlvbiBPZCgpe3RyeXtyZXR1cm4gTWFwP25ldyBNZDpuZXcgTmR9Y2F0Y2goYSl7cmV0dXJuIG5ldyBOZH19O3ZhciBQZD1mdW5jdGlvbihhKXtpZihhIGluc3RhbmNlb2YgUGQpcmV0dXJuIGE7dmFyIGI7YTppZihhPT12b2lkIDB8fEFycmF5LmlzQXJyYXkoYSl8fENkKGEpKWI9ITA7ZWxzZXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOmNhc2UgIm51bWJlciI6Y2FzZSAic3RyaW5nIjpjYXNlICJmdW5jdGlvbiI6Yj0hMDticmVhayBhfWI9ITF9aWYoYil0aHJvdyBFcnJvcigiVHlwZSBvZiBnaXZlbiB2YWx1ZSBoYXMgYW4gZXF1aXZhbGVudCBQaXhpZSB0eXBlLiIpO3RoaXMudmFsdWU9YX07UGQucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O1BkLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcodGhpcy52YWx1ZSl9O3ZhciBTZD1mdW5jdGlvbihhKXt0aGlzLnByb21pc2U9YTt0aGlzLk5hPSExO3RoaXMubGE9bmV3IFVhO3RoaXMubGEuc2V0KCJ0aGVuIixSZCh0aGlzKSk7dGhpcy5sYS5zZXQoImNhdGNoIixSZCh0aGlzLCEwKSk7dGhpcy5sYS5zZXQoImZpbmFsbHkiLFJkKHRoaXMsITEsITApKX07az1TZC5wcm90b3R5cGU7ay5nZXQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGEuZ2V0KGEpfTtrLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuTmF8fHRoaXMubGEuc2V0KGEsYil9O2suaGFzPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxhLmhhcyhhKX07ay5yZW1vdmU9ZnVuY3Rpb24oYSl7dGhpcy5OYXx8dGhpcy5sYS5yZW1vdmUoYSl9O2suRmE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYS5GYSgpfTtrLmhjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGEuaGMoKX07ay5mYz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxhLmZjKCl9Owp2YXIgUmQ9ZnVuY3Rpb24oYSxiLGMpe2I9Yj09PXZvaWQgMD8hMTpiO2M9Yz09PXZvaWQgMD8hMTpjO3JldHVybiBuZXcgS2QoIiIsZnVuY3Rpb24oZCxlKXtiJiYoZT1kLGQ9dm9pZCAwKTtjJiYoZT1kKTtkIGluc3RhbmNlb2YgS2R8fChkPXZvaWQgMCk7ZSBpbnN0YW5jZW9mIEtkfHwoZT12b2lkIDApO3ZhciBmPXRoaXMuVC53YigpLGc9ZnVuY3Rpb24obCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gYz8obC5pbnZva2UoZiksYS5wcm9taXNlKTpsLmludm9rZShmLG4pfWNhdGNoKHApe3JldHVybiBQcm9taXNlLnJlamVjdChwIGluc3RhbmNlb2YgRXJyb3I/bmV3IFBkKHApOlN0cmluZyhwKSl9fX0saD1hLnByb21pc2UudGhlbihkJiZnKGQpLGUmJmcoZSkpO3JldHVybiBuZXcgU2QoaCl9KX07U2QucHJvdG90eXBlLlphPWZ1bmN0aW9uKCl7dGhpcy5OYT0hMH07U2QucHJvdG90eXBlLkhiPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTmF9O2Z1bmN0aW9uIFRkKGEsYixjKXt2YXIgZD1PZCgpLGU9ZnVuY3Rpb24oZyxoKXtmb3IodmFyIGw9Zy5GYSgpLG49MDtuPGwubGVuZ3RoO24rKyloW2xbbl1dPWYoZy5nZXQobFtuXSkpfSxmPWZ1bmN0aW9uKGcpe2lmKGc9PT1udWxsfHxnPT09dm9pZCAwKXJldHVybiBnO3ZhciBoPWQuZ2V0KGcpO2lmKGgpcmV0dXJuIGg7aWYoZyBpbnN0YW5jZW9mIEdkKXt2YXIgbD1bXTtkLnNldChnLGwpO2Zvcih2YXIgbj1nLkZhKCkscD0wO3A8bi5sZW5ndGg7cCsrKWxbbltwXV09ZihnLmdldChuW3BdKSk7cmV0dXJuIGx9aWYoZyBpbnN0YW5jZW9mIFNkKXJldHVybiBnLnByb21pc2UudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gVGQodSxiLDEpfSxmdW5jdGlvbih1KXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoVGQodSxiLDEpKX0pO2lmKGcgaW5zdGFuY2VvZiBrYil7dmFyIHE9e307ZC5zZXQoZyxxKTtlKGcscSk7cmV0dXJuIHF9aWYoZyBpbnN0YW5jZW9mIEtkKXt2YXIgcj1mdW5jdGlvbigpe2Zvcih2YXIgdT0KW10sdj0wO3Y8YXJndW1lbnRzLmxlbmd0aDt2KyspdVt2XT1VZChhcmd1bWVudHNbdl0sYixjKTt2YXIgeD1uZXcgaGIoYj9iLmplKCk6bmV3IFdhKTtiJiZ4LnVlKGIueGIoKSk7cmV0dXJuIGYoZy5hcHBseSh4LHUpKX07ZC5zZXQoZyxyKTtlKGcscik7cmV0dXJuIHJ9dmFyIHQ9ITE7c3dpdGNoKGMpe2Nhc2UgMTp0PSEwO2JyZWFrO2Nhc2UgMjp0PSExO2JyZWFrO2Nhc2UgMzp0PSExO2JyZWFrO2RlZmF1bHQ6fWlmKGcgaW5zdGFuY2VvZiBQZCYmdClyZXR1cm4gZy5nZXRWYWx1ZSgpO3N3aXRjaCh0eXBlb2YgZyl7Y2FzZSAiYm9vbGVhbiI6Y2FzZSAibnVtYmVyIjpjYXNlICJzdHJpbmciOmNhc2UgInVuZGVmaW5lZCI6cmV0dXJuIGc7Y2FzZSAib2JqZWN0IjppZihnPT09Cm51bGwpcmV0dXJuIG51bGx9fTtyZXR1cm4gZihhKX0KZnVuY3Rpb24gVWQoYSxiLGMpe3ZhciBkPU9kKCksZT1mdW5jdGlvbihnLGgpe2Zvcih2YXIgbCBpbiBnKWcuaGFzT3duUHJvcGVydHkobCkmJmguc2V0KGwsZihnW2xdKSl9LGY9ZnVuY3Rpb24oZyl7dmFyIGg9ZC5nZXQoZyk7aWYoaClyZXR1cm4gaDtpZihBcnJheS5pc0FycmF5KGcpfHxIYihnKSl7dmFyIGw9bmV3IEdkO2Quc2V0KGcsbCk7Zm9yKHZhciBuIGluIGcpZy5oYXNPd25Qcm9wZXJ0eShuKSYmbC5zZXQobixmKGdbbl0pKTtyZXR1cm4gbH1pZihDZChnKSl7dmFyIHA9bmV3IGtiO2Quc2V0KGcscCk7ZShnLHApO3JldHVybiBwfWlmKHR5cGVvZiBnPT09ImZ1bmN0aW9uIil7dmFyIHE9bmV3IEtkKCIiLGZ1bmN0aW9uKCl7Zm9yKHZhciB1PU9hLmFwcGx5KDAsYXJndW1lbnRzKSx2PVtdLHg9MDt4PHUubGVuZ3RoO3grKyl2W3hdPVRkKHRoaXMuZXZhbHVhdGUodVt4XSksYixjKTtyZXR1cm4gZih0aGlzLlQuUGooKShnLGcsdikpfSk7ZC5zZXQoZyxxKTtlKGcscSk7cmV0dXJuIHF9dmFyIHI9dHlwZW9mIGc7aWYoZz09PW51bGx8fHI9PT0ic3RyaW5nInx8cj09PSJudW1iZXIifHxyPT09ImJvb2xlYW4iKXJldHVybiBnO3ZhciB0PSExO3N3aXRjaChjKXtjYXNlIDE6dD0hMDticmVhaztjYXNlIDI6dD0hMTticmVhaztkZWZhdWx0On1pZihnIT09dm9pZCAwJiZ0KXJldHVybiBuZXcgUGQoZyl9O3JldHVybiBmKGEpfTt2YXIgVmQ9e3N1cHBvcnRlZE1ldGhvZHM6ImNvbmNhdCBldmVyeSBmaWx0ZXIgZm9yRWFjaCBoYXNPd25Qcm9wZXJ0eSBpbmRleE9mIGpvaW4gbGFzdEluZGV4T2YgbWFwIHBvcCBwdXNoIHJlZHVjZSByZWR1Y2VSaWdodCByZXZlcnNlIHNoaWZ0IHNsaWNlIHNvbWUgc29ydCBzcGxpY2UgdW5zaGlmdCB0b1N0cmluZyIuc3BsaXQoIiAiKSxjb25jYXQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9MDtjPHRoaXMubGVuZ3RoKCk7YysrKWIucHVzaCh0aGlzLmdldChjKSk7Zm9yKHZhciBkPTE7ZDxhcmd1bWVudHMubGVuZ3RoO2QrKylpZihhcmd1bWVudHNbZF1pbnN0YW5jZW9mIEdkKWZvcih2YXIgZT1hcmd1bWVudHNbZF0sZj0wO2Y8ZS5sZW5ndGgoKTtmKyspYi5wdXNoKGUuZ2V0KGYpKTtlbHNlIGIucHVzaChhcmd1bWVudHNbZF0pO3JldHVybiBuZXcgR2QoYil9LGV2ZXJ5OmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMubGVuZ3RoKCksZD0wO2Q8dGhpcy5sZW5ndGgoKSYmCmQ8YztkKyspaWYodGhpcy5oYXMoZCkmJiFiLmludm9rZShhLHRoaXMuZ2V0KGQpLGQsdGhpcykpcmV0dXJuITE7cmV0dXJuITB9LGZpbHRlcjpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz10aGlzLmxlbmd0aCgpLGQ9W10sZT0wO2U8dGhpcy5sZW5ndGgoKSYmZTxjO2UrKyl0aGlzLmhhcyhlKSYmYi5pbnZva2UoYSx0aGlzLmdldChlKSxlLHRoaXMpJiZkLnB1c2godGhpcy5nZXQoZSkpO3JldHVybiBuZXcgR2QoZCl9LGZvckVhY2g6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dGhpcy5sZW5ndGgoKSxkPTA7ZDx0aGlzLmxlbmd0aCgpJiZkPGM7ZCsrKXRoaXMuaGFzKGQpJiZiLmludm9rZShhLHRoaXMuZ2V0KGQpLGQsdGhpcyl9LGhhc093blByb3BlcnR5OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuaGFzKGIpfSxpbmRleE9mOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGU9Yz09PXZvaWQgMD8wOk51bWJlcihjKTtlPDAmJihlPU1hdGgubWF4KGQrZSwwKSk7Zm9yKHZhciBmPQplO2Y8ZDtmKyspaWYodGhpcy5oYXMoZikmJnRoaXMuZ2V0KGYpPT09YilyZXR1cm4gZjtyZXR1cm4tMX0sam9pbjpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDx0aGlzLmxlbmd0aCgpO2QrKyljLnB1c2godGhpcy5nZXQoZCkpO3JldHVybiBjLmpvaW4oYil9LGxhc3RJbmRleE9mOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGU9ZC0xO2MhPT12b2lkIDAmJihlPWM8MD9kK2M6TWF0aC5taW4oYyxlKSk7Zm9yKHZhciBmPWU7Zj49MDtmLS0paWYodGhpcy5oYXMoZikmJnRoaXMuZ2V0KGYpPT09YilyZXR1cm4gZjtyZXR1cm4tMX0sbWFwOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPXRoaXMubGVuZ3RoKCksZD1bXSxlPTA7ZTx0aGlzLmxlbmd0aCgpJiZlPGM7ZSsrKXRoaXMuaGFzKGUpJiYoZFtlXT1iLmludm9rZShhLHRoaXMuZ2V0KGUpLGUsdGhpcykpO3JldHVybiBuZXcgR2QoZCl9LHBvcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBvcCgpfSxwdXNoOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2guYXBwbHkodGhpcywKdyhPYS5hcHBseSgxLGFyZ3VtZW50cykpKX0scmVkdWNlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmxlbmd0aCgpLGUsZj0wO2lmKGMhPT12b2lkIDApZT1jO2Vsc2V7aWYoZD09PTApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlIG9uIExpc3Qgd2l0aCBubyBlbGVtZW50cy4iKSk7Zm9yKHZhciBnPTA7ZzxkO2crKylpZih0aGlzLmhhcyhnKSl7ZT10aGlzLmdldChnKTtmPWcrMTticmVha31pZihnPT09ZCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBSZWR1Y2Ugb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTt9Zm9yKHZhciBoPWY7aDxkO2grKyl0aGlzLmhhcyhoKSYmKGU9Yi5pbnZva2UoYSxlLHRoaXMuZ2V0KGgpLGgsdGhpcykpO3JldHVybiBlfSxyZWR1Y2VSaWdodDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5sZW5ndGgoKSxlLGY9ZC0xO2lmKGMhPT12b2lkIDApZT1jO2Vsc2V7aWYoZD09PTApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlUmlnaHQgb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTsKZm9yKHZhciBnPTE7Zzw9ZDtnKyspaWYodGhpcy5oYXMoZC1nKSl7ZT10aGlzLmdldChkLWcpO2Y9ZC0oZysxKTticmVha31pZihnPmQpdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogUmVkdWNlUmlnaHQgb24gTGlzdCB3aXRoIG5vIGVsZW1lbnRzLiIpKTt9Zm9yKHZhciBoPWY7aD49MDtoLS0pdGhpcy5oYXMoaCkmJihlPWIuaW52b2tlKGEsZSx0aGlzLmdldChoKSxoLHRoaXMpKTtyZXR1cm4gZX0scmV2ZXJzZTpmdW5jdGlvbigpe2Zvcih2YXIgYT1IZCh0aGlzKSxiPWEubGVuZ3RoLTEsYz0wO2I+PTA7Yi0tLGMrKylhLmhhc093blByb3BlcnR5KGIpP3RoaXMuc2V0KGMsYVtiXSk6dGhpcy5yZW1vdmUoYyk7cmV0dXJuIHRoaXN9LHNoaWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hpZnQoKX0sc2xpY2U6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMubGVuZ3RoKCk7Yj09PXZvaWQgMCYmKGI9MCk7Yj1iPDA/TWF0aC5tYXgoZCtiLDApOk1hdGgubWluKGIsZCk7Yz1jPT09CnZvaWQgMD9kOmM8MD9NYXRoLm1heChkK2MsMCk6TWF0aC5taW4oYyxkKTtjPU1hdGgubWF4KGIsYyk7Zm9yKHZhciBlPVtdLGY9YjtmPGM7ZisrKWUucHVzaCh0aGlzLmdldChmKSk7cmV0dXJuIG5ldyBHZChlKX0sc29tZTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz10aGlzLmxlbmd0aCgpLGQ9MDtkPHRoaXMubGVuZ3RoKCkmJmQ8YztkKyspaWYodGhpcy5oYXMoZCkmJmIuaW52b2tlKGEsdGhpcy5nZXQoZCksZCx0aGlzKSlyZXR1cm4hMDtyZXR1cm4hMX0sc29ydDpmdW5jdGlvbihhLGIpe3ZhciBjPUhkKHRoaXMpO2I9PT12b2lkIDA/Yy5zb3J0KCk6Yy5zb3J0KGZ1bmN0aW9uKGUsZil7cmV0dXJuIE51bWJlcihiLmludm9rZShhLGUsZikpfSk7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspYy5oYXNPd25Qcm9wZXJ0eShkKT90aGlzLnNldChkLGNbZF0pOnRoaXMucmVtb3ZlKGQpO3JldHVybiB0aGlzfSxzcGxpY2U6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLnNwbGljZS5hcHBseSh0aGlzLApbYixjXS5jb25jYXQodyhPYS5hcHBseSgzLGFyZ3VtZW50cykpKSl9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoKX0sdW5zaGlmdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy51bnNoaWZ0LmFwcGx5KHRoaXMsdyhPYS5hcHBseSgxLGFyZ3VtZW50cykpKX19O3ZhciBXZD17Y2hhckF0OjEsY29uY2F0OjEsaW5kZXhPZjoxLGxhc3RJbmRleE9mOjEsbWF0Y2g6MSxyZXBsYWNlOjEsc2VhcmNoOjEsc2xpY2U6MSxzcGxpdDoxLHN1YnN0cmluZzoxLHRvTG93ZXJDYXNlOjEsdG9Mb2NhbGVMb3dlckNhc2U6MSx0b1N0cmluZzoxLHRvVXBwZXJDYXNlOjEsdG9Mb2NhbGVVcHBlckNhc2U6MSx0cmltOjF9LFhkPW5ldyBUYSgiYnJlYWsiKSxZZD1uZXcgVGEoImNvbnRpbnVlIik7ZnVuY3Rpb24gWmQoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKSt0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uICRkKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkmJnRoaXMuZXZhbHVhdGUoYil9CmZ1bmN0aW9uIGFlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyk7aWYoIShmIGluc3RhbmNlb2YgR2QpKXRocm93IEVycm9yKCJFcnJvcjogTm9uLUxpc3QgYXJndW1lbnQgZ2l2ZW4gdG8gQXBwbHkgaW5zdHJ1Y3Rpb24uIik7aWYoZD09PW51bGx8fGQ9PT12b2lkIDApdGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogQ2FuJ3QgcmVhZCBwcm9wZXJ0eSAiK2UrIiBvZiAiK2QrIi4iKSk7dmFyIGc9dHlwZW9mIGQ9PT0ibnVtYmVyIjtpZih0eXBlb2YgZD09PSJib29sZWFuInx8Zyl7aWYoZT09PSJ0b1N0cmluZyIpe2lmKGcmJmYubGVuZ3RoKCkpe3ZhciBoPVRkKGYuZ2V0KDApKTt0cnl7cmV0dXJuIGQudG9TdHJpbmcoaCl9Y2F0Y2godSl7fX1yZXR1cm4gZC50b1N0cmluZygpfXRocm93IGNiKEVycm9yKCJUeXBlRXJyb3I6ICIrZCsiLiIrZSsiIGlzIG5vdCBhIGZ1bmN0aW9uLiIpKTt9aWYodHlwZW9mIGQ9PT0KInN0cmluZyIpe2lmKFdkLmhhc093blByb3BlcnR5KGUpKXt2YXIgbD1UZChmLHZvaWQgMCwxKTtyZXR1cm4gVWQoZFtlXS5hcHBseShkLGwpLHRoaXMuVCl9dGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogIitlKyIgaXMgbm90IGEgZnVuY3Rpb24iKSk7fWlmKGQgaW5zdGFuY2VvZiBHZCl7aWYoZC5oYXMoZSkpe3ZhciBuPWQuZ2V0KFN0cmluZyhlKSk7aWYobiBpbnN0YW5jZW9mIEtkKXt2YXIgcD1IZChmKTtyZXR1cm4gbi5hcHBseSh0aGlzLlQscCl9dGhyb3cgY2IoRXJyb3IoIlR5cGVFcnJvcjogIitlKyIgaXMgbm90IGEgZnVuY3Rpb24iKSk7fWlmKFZkLnN1cHBvcnRlZE1ldGhvZHMuaW5kZXhPZihlKT49MCl7dmFyIHE9SGQoZik7cmV0dXJuIFZkW2VdLmNhbGwuYXBwbHkoVmRbZV0sW2QsdGhpcy5UXS5jb25jYXQodyhxKSkpfX1pZihkIGluc3RhbmNlb2YgS2R8fGQgaW5zdGFuY2VvZiBrYnx8ZCBpbnN0YW5jZW9mIFNkKXtpZihkLmhhcyhlKSl7dmFyIHI9ZC5nZXQoZSk7CmlmKHIgaW5zdGFuY2VvZiBLZCl7dmFyIHQ9SGQoZik7cmV0dXJuIHIuYXBwbHkodGhpcy5ULHQpfXRocm93IGNiKEVycm9yKCJUeXBlRXJyb3I6ICIrZSsiIGlzIG5vdCBhIGZ1bmN0aW9uIikpO31pZihlPT09InRvU3RyaW5nIilyZXR1cm4gZCBpbnN0YW5jZW9mIEtkP2QuZ2V0TmFtZSgpOmQudG9TdHJpbmcoKTtpZihlPT09Imhhc093blByb3BlcnR5IilyZXR1cm4gZC5oYXMoZi5nZXQoMCkpfWlmKGQgaW5zdGFuY2VvZiBQZCYmZT09PSJ0b1N0cmluZyIpcmV0dXJuIGQudG9TdHJpbmcoKTt0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBPYmplY3QgaGFzIG5vICciK2UrIicgcHJvcGVydHkuIikpO30KZnVuY3Rpb24gYmUoYSxiKXthPXRoaXMuZXZhbHVhdGUoYSk7aWYodHlwZW9mIGEhPT0ic3RyaW5nIil0aHJvdyBFcnJvcigiSW52YWxpZCBrZXkgbmFtZSBnaXZlbiBmb3IgYXNzaWdubWVudC4iKTt2YXIgYz10aGlzLlQ7aWYoIWMuaGFzKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFzc2lnbiB0byB1bmRlZmluZWQgdmFsdWUgIitiKTt2YXIgZD10aGlzLmV2YWx1YXRlKGIpO2Muc2V0KGEsZCk7cmV0dXJuIGR9ZnVuY3Rpb24gY2UoKXt2YXIgYT1PYS5hcHBseSgwLGFyZ3VtZW50cyksYj10aGlzLlQud2IoKSxjPWViKGIsYSk7aWYoYyBpbnN0YW5jZW9mIFRhKXJldHVybiBjfWZ1bmN0aW9uIGRlKCl7cmV0dXJuIFhkfWZ1bmN0aW9uIGVlKGEpe2Zvcih2YXIgYj10aGlzLmV2YWx1YXRlKGEpLGM9MDtjPGIubGVuZ3RoO2MrKyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShiW2NdKTtpZihkIGluc3RhbmNlb2YgVGEpcmV0dXJuIGR9fQpmdW5jdGlvbiBmZSgpe2Zvcih2YXIgYT10aGlzLlQsYj0wO2I8YXJndW1lbnRzLmxlbmd0aC0xO2IrPTIpe3ZhciBjPWFyZ3VtZW50c1tiXTtpZih0eXBlb2YgYz09PSJzdHJpbmciKXt2YXIgZD10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiKzFdKTthLlFoKGMsZCl9fX1mdW5jdGlvbiBnZSgpe3JldHVybiBZZH1mdW5jdGlvbiBoZShhLGIpe3JldHVybiBuZXcgVGEoYSx0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBpZShhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkO2Q9bmV3IEdkO2Zvcih2YXIgZT10aGlzLmV2YWx1YXRlKGIpLGY9MDtmPGUubGVuZ3RoO2YrKylkLnB1c2goZVtmXSk7dmFyIGc9WzUxLGEsZF0uY29uY2F0KHcoYykpO3RoaXMuVC5hZGQoYSx0aGlzLmV2YWx1YXRlKGcpKX1mdW5jdGlvbiBqZShhLGIpe3JldHVybiB0aGlzLmV2YWx1YXRlKGEpL3RoaXMuZXZhbHVhdGUoYil9CmZ1bmN0aW9uIGtlKGEsYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShhKSxkPXRoaXMuZXZhbHVhdGUoYiksZT1jIGluc3RhbmNlb2YgUGQsZj1kIGluc3RhbmNlb2YgUGQ7cmV0dXJuIGV8fGY/ZSYmZj9jLmdldFZhbHVlKCk9PT1kLmdldFZhbHVlKCk6ITE6Yz09ZH1mdW5jdGlvbiBsZSgpe2Zvcih2YXIgYSxiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKylhPXRoaXMuZXZhbHVhdGUoYXJndW1lbnRzW2JdKTtyZXR1cm4gYX1mdW5jdGlvbiBtZShhLGIsYyxkKXtmb3IodmFyIGU9MDtlPGIoKTtlKyspe3ZhciBmPWEoYyhlKSksZz1lYihmLGQpO2lmKGcgaW5zdGFuY2VvZiBUYSl7aWYoZy50eXBlPT09ImJyZWFrIilicmVhaztpZihnLnR5cGU9PT0icmV0dXJuIilyZXR1cm4gZ319fQpmdW5jdGlvbiBuZShhLGIsYyl7aWYodHlwZW9mIGI9PT0ic3RyaW5nIilyZXR1cm4gbWUoYSxmdW5jdGlvbigpe3JldHVybiBiLmxlbmd0aH0sZnVuY3Rpb24oZil7cmV0dXJuIGZ9LGMpO2lmKGIgaW5zdGFuY2VvZiBrYnx8YiBpbnN0YW5jZW9mIFNkfHxiIGluc3RhbmNlb2YgR2R8fGIgaW5zdGFuY2VvZiBLZCl7dmFyIGQ9Yi5GYSgpLGU9ZC5sZW5ndGg7cmV0dXJuIG1lKGEsZnVuY3Rpb24oKXtyZXR1cm4gZX0sZnVuY3Rpb24oZil7cmV0dXJuIGRbZl19LGMpfX1mdW5jdGlvbiBvZShhLGIsYyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShhKSxlPXRoaXMuZXZhbHVhdGUoYiksZj10aGlzLmV2YWx1YXRlKGMpLGc9dGhpcy5UO3JldHVybiBuZShmdW5jdGlvbihoKXtnLnNldChkLGgpO3JldHVybiBnfSxlLGYpfQpmdW5jdGlvbiBwZShhLGIsYyl7dmFyIGQ9dGhpcy5ldmFsdWF0ZShhKSxlPXRoaXMuZXZhbHVhdGUoYiksZj10aGlzLmV2YWx1YXRlKGMpLGc9dGhpcy5UO3JldHVybiBuZShmdW5jdGlvbihoKXt2YXIgbD1nLndiKCk7bC5RaChkLGgpO3JldHVybiBsfSxlLGYpfWZ1bmN0aW9uIHFlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIG5lKGZ1bmN0aW9uKGgpe3ZhciBsPWcud2IoKTtsLmFkZChkLGgpO3JldHVybiBsfSxlLGYpfWZ1bmN0aW9uIHJlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIHNlKGZ1bmN0aW9uKGgpe2cuc2V0KGQsaCk7cmV0dXJuIGd9LGUsZil9CmZ1bmN0aW9uIHRlKGEsYixjKXt2YXIgZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKSxmPXRoaXMuZXZhbHVhdGUoYyksZz10aGlzLlQ7cmV0dXJuIHNlKGZ1bmN0aW9uKGgpe3ZhciBsPWcud2IoKTtsLlFoKGQsaCk7cmV0dXJuIGx9LGUsZil9ZnVuY3Rpb24gdWUoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKSxnPXRoaXMuVDtyZXR1cm4gc2UoZnVuY3Rpb24oaCl7dmFyIGw9Zy53YigpO2wuYWRkKGQsaCk7cmV0dXJuIGx9LGUsZil9CmZ1bmN0aW9uIHNlKGEsYixjKXtpZih0eXBlb2YgYj09PSJzdHJpbmciKXJldHVybiBtZShhLGZ1bmN0aW9uKCl7cmV0dXJuIGIubGVuZ3RofSxmdW5jdGlvbihkKXtyZXR1cm4gYltkXX0sYyk7aWYoYiBpbnN0YW5jZW9mIEdkKXJldHVybiBtZShhLGZ1bmN0aW9uKCl7cmV0dXJuIGIubGVuZ3RoKCl9LGZ1bmN0aW9uKGQpe3JldHVybiBiLmdldChkKX0sYyk7dGhyb3cgY2IoRXJyb3IoIlRoZSB2YWx1ZSBpcyBub3QgaXRlcmFibGUuIikpO30KZnVuY3Rpb24gdmUoYSxiLGMsZCl7ZnVuY3Rpb24gZShxLHIpe2Zvcih2YXIgdD0wO3Q8Zi5sZW5ndGgoKTt0Kyspe3ZhciB1PWYuZ2V0KHQpO3IuYWRkKHUscS5nZXQodSkpfX12YXIgZj10aGlzLmV2YWx1YXRlKGEpO2lmKCEoZiBpbnN0YW5jZW9mIEdkKSl0aHJvdyBFcnJvcigiVHlwZUVycm9yOiBOb24tTGlzdCBhcmd1bWVudCBnaXZlbiB0byBGb3JMZXQgaW5zdHJ1Y3Rpb24uIik7dmFyIGc9dGhpcy5ULGg9dGhpcy5ldmFsdWF0ZShkKSxsPWcud2IoKTtmb3IoZShnLGwpO2ZiKGwsYik7KXt2YXIgbj1lYihsLGgpO2lmKG4gaW5zdGFuY2VvZiBUYSl7aWYobi50eXBlPT09ImJyZWFrIilicmVhaztpZihuLnR5cGU9PT0icmV0dXJuIilyZXR1cm4gbn12YXIgcD1nLndiKCk7ZShsLHApO2ZiKHAsYyk7bD1wfX0KZnVuY3Rpb24gd2UoYSxiKXt2YXIgYz1PYS5hcHBseSgyLGFyZ3VtZW50cyksZD10aGlzLlQsZT10aGlzLmV2YWx1YXRlKGIpO2lmKCEoZSBpbnN0YW5jZW9mIEdkKSl0aHJvdyBFcnJvcigiRXJyb3I6IG5vbi1MaXN0IHZhbHVlIGdpdmVuIGZvciBGbiBhcmd1bWVudCBuYW1lcy4iKTtyZXR1cm4gbmV3IEtkKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZj1PYS5hcHBseSgwLGFyZ3VtZW50cyksZz1kLndiKCk7Zy54YigpPT09dm9pZCAwJiZnLnVlKHRoaXMuVC54YigpKTtmb3IodmFyIGg9W10sbD0wO2w8Zi5sZW5ndGg7bCsrKXt2YXIgbj10aGlzLmV2YWx1YXRlKGZbbF0pO2hbbF09bn1mb3IodmFyIHA9ZS5nZXQoImxlbmd0aCIpLHE9MDtxPHA7cSsrKXE8aC5sZW5ndGg/Zy5hZGQoZS5nZXQocSksaFtxXSk6Zy5hZGQoZS5nZXQocSksdm9pZCAwKTtnLmFkZCgiYXJndW1lbnRzIixuZXcgR2QoaCkpO3ZhciByPWViKGcsYyk7aWYociBpbnN0YW5jZW9mIFRhKXJldHVybiByLnR5cGU9PT0KInJldHVybiI/ci5kYXRhOnJ9fSgpKX1mdW5jdGlvbiB4ZShhKXt2YXIgYj10aGlzLmV2YWx1YXRlKGEpLGM9dGhpcy5UO2lmKHllJiYhYy5oYXMoYikpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKGIrIiBpcyBub3QgZGVmaW5lZC4iKTtyZXR1cm4gYy5nZXQoYil9CmZ1bmN0aW9uIHplKGEsYil7dmFyIGMsZD10aGlzLmV2YWx1YXRlKGEpLGU9dGhpcy5ldmFsdWF0ZShiKTtpZihkPT09dm9pZCAwfHxkPT09bnVsbCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBDYW5ub3QgcmVhZCBwcm9wZXJ0aWVzIG9mICIrZCsiIChyZWFkaW5nICciK2UrIicpIikpO2lmKGQgaW5zdGFuY2VvZiBrYnx8ZCBpbnN0YW5jZW9mIFNkfHxkIGluc3RhbmNlb2YgR2R8fGQgaW5zdGFuY2VvZiBLZCljPWQuZ2V0KGUpO2Vsc2UgaWYodHlwZW9mIGQ9PT0ic3RyaW5nIillPT09Imxlbmd0aCI/Yz1kLmxlbmd0aDpGZChlKSYmKGM9ZFtlXSk7ZWxzZSBpZihkIGluc3RhbmNlb2YgUGQpcmV0dXJuO3JldHVybiBjfWZ1bmN0aW9uIEFlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk+dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiBCZShhLGIpe3JldHVybiB0aGlzLmV2YWx1YXRlKGEpPj10aGlzLmV2YWx1YXRlKGIpfQpmdW5jdGlvbiBDZShhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSksZD10aGlzLmV2YWx1YXRlKGIpO2MgaW5zdGFuY2VvZiBQZCYmKGM9Yy5nZXRWYWx1ZSgpKTtkIGluc3RhbmNlb2YgUGQmJihkPWQuZ2V0VmFsdWUoKSk7cmV0dXJuIGM9PT1kfWZ1bmN0aW9uIERlKGEsYil7cmV0dXJuIUNlLmNhbGwodGhpcyxhLGIpfWZ1bmN0aW9uIEVlKGEsYixjKXt2YXIgZD1bXTt0aGlzLmV2YWx1YXRlKGEpP2Q9dGhpcy5ldmFsdWF0ZShiKTpjJiYoZD10aGlzLmV2YWx1YXRlKGMpKTt2YXIgZT1lYih0aGlzLlQsZCk7aWYoZSBpbnN0YW5jZW9mIFRhKXJldHVybiBlfXZhciB5ZT0hMTsKZnVuY3Rpb24gRmUoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKTx0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uIEdlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk8PXRoaXMuZXZhbHVhdGUoYil9ZnVuY3Rpb24gSGUoKXtmb3IodmFyIGE9bmV3IEdkLGI9MDtiPGFyZ3VtZW50cy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiXSk7YS5wdXNoKGMpfXJldHVybiBhfWZ1bmN0aW9uIEllKCl7Zm9yKHZhciBhPW5ldyBrYixiPTA7Yjxhcmd1bWVudHMubGVuZ3RoLTE7Yis9Mil7dmFyIGM9U3RyaW5nKHRoaXMuZXZhbHVhdGUoYXJndW1lbnRzW2JdKSksZD10aGlzLmV2YWx1YXRlKGFyZ3VtZW50c1tiKzFdKTthLnNldChjLGQpfXJldHVybiBhfWZ1bmN0aW9uIEplKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSkldGhpcy5ldmFsdWF0ZShiKX0KZnVuY3Rpb24gS2UoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKSp0aGlzLmV2YWx1YXRlKGIpfWZ1bmN0aW9uIExlKGEpe3JldHVybi10aGlzLmV2YWx1YXRlKGEpfWZ1bmN0aW9uIE1lKGEpe3JldHVybiF0aGlzLmV2YWx1YXRlKGEpfWZ1bmN0aW9uIE5lKGEsYil7cmV0dXJuIWtlLmNhbGwodGhpcyxhLGIpfWZ1bmN0aW9uIE9lKCl7cmV0dXJuIG51bGx9ZnVuY3Rpb24gUGUoYSxiKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKXx8dGhpcy5ldmFsdWF0ZShiKX1mdW5jdGlvbiBRZShhLGIpe3ZhciBjPXRoaXMuZXZhbHVhdGUoYSk7dGhpcy5ldmFsdWF0ZShiKTtyZXR1cm4gY31mdW5jdGlvbiBSZShhKXtyZXR1cm4gdGhpcy5ldmFsdWF0ZShhKX1mdW5jdGlvbiBTZSgpe3JldHVybiBPYS5hcHBseSgwLGFyZ3VtZW50cyl9ZnVuY3Rpb24gVGUoYSl7cmV0dXJuIG5ldyBUYSgicmV0dXJuIix0aGlzLmV2YWx1YXRlKGEpKX0KZnVuY3Rpb24gVWUoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKTtpZihkPT09bnVsbHx8ZD09PXZvaWQgMCl0aHJvdyBjYihFcnJvcigiVHlwZUVycm9yOiBDYW4ndCBzZXQgcHJvcGVydHkgIitlKyIgb2YgIitkKyIuIikpOyhkIGluc3RhbmNlb2YgS2R8fGQgaW5zdGFuY2VvZiBHZHx8ZCBpbnN0YW5jZW9mIGtiKSYmZC5zZXQoU3RyaW5nKGUpLGYpO3JldHVybiBmfWZ1bmN0aW9uIFZlKGEsYil7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSktdGhpcy5ldmFsdWF0ZShiKX0KZnVuY3Rpb24gV2UoYSxiLGMpe3ZhciBkPXRoaXMuZXZhbHVhdGUoYSksZT10aGlzLmV2YWx1YXRlKGIpLGY9dGhpcy5ldmFsdWF0ZShjKTtpZighQXJyYXkuaXNBcnJheShlKXx8IUFycmF5LmlzQXJyYXkoZikpdGhyb3cgRXJyb3IoIkVycm9yOiBNYWxmb3JtZWQgc3dpdGNoIGluc3RydWN0aW9uLiIpO2Zvcih2YXIgZyxoPSExLGw9MDtsPGUubGVuZ3RoO2wrKylpZihofHxkPT09dGhpcy5ldmFsdWF0ZShlW2xdKSlpZihnPXRoaXMuZXZhbHVhdGUoZltsXSksZyBpbnN0YW5jZW9mIFRhKXt2YXIgbj1nLnR5cGU7aWYobj09PSJicmVhayIpcmV0dXJuO2lmKG49PT0icmV0dXJuInx8bj09PSJjb250aW51ZSIpcmV0dXJuIGd9ZWxzZSBoPSEwO2lmKGYubGVuZ3RoPT09ZS5sZW5ndGgrMSYmKGc9dGhpcy5ldmFsdWF0ZShmW2YubGVuZ3RoLTFdKSxnIGluc3RhbmNlb2YgVGEmJihnLnR5cGU9PT0icmV0dXJuInx8Zy50eXBlPT09ImNvbnRpbnVlIikpKXJldHVybiBnfQpmdW5jdGlvbiBYZShhLGIsYyl7cmV0dXJuIHRoaXMuZXZhbHVhdGUoYSk/dGhpcy5ldmFsdWF0ZShiKTp0aGlzLmV2YWx1YXRlKGMpfWZ1bmN0aW9uIFllKGEpe3ZhciBiPXRoaXMuZXZhbHVhdGUoYSk7cmV0dXJuIGIgaW5zdGFuY2VvZiBLZD8iZnVuY3Rpb24iOnR5cGVvZiBifWZ1bmN0aW9uIFplKCl7Zm9yKHZhciBhPXRoaXMuVCxiPTA7Yjxhcmd1bWVudHMubGVuZ3RoO2IrKyl7dmFyIGM9YXJndW1lbnRzW2JdO3R5cGVvZiBjIT09InN0cmluZyJ8fGEuYWRkKGMsdm9pZCAwKX19CmZ1bmN0aW9uICRlKGEsYixjLGQpe3ZhciBlPXRoaXMuZXZhbHVhdGUoZCk7aWYodGhpcy5ldmFsdWF0ZShjKSl7dmFyIGY9ZWIodGhpcy5ULGUpO2lmKGYgaW5zdGFuY2VvZiBUYSl7aWYoZi50eXBlPT09ImJyZWFrIilyZXR1cm47aWYoZi50eXBlPT09InJldHVybiIpcmV0dXJuIGZ9fWZvcig7dGhpcy5ldmFsdWF0ZShhKTspe3ZhciBnPWViKHRoaXMuVCxlKTtpZihnIGluc3RhbmNlb2YgVGEpe2lmKGcudHlwZT09PSJicmVhayIpYnJlYWs7aWYoZy50eXBlPT09InJldHVybiIpcmV0dXJuIGd9dGhpcy5ldmFsdWF0ZShiKX19ZnVuY3Rpb24gYWYoYSl7cmV0dXJufk51bWJlcih0aGlzLmV2YWx1YXRlKGEpKX1mdW5jdGlvbiBiZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSk8PE51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBjZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSk+Pk51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX0KZnVuY3Rpb24gZGYoYSxiKXtyZXR1cm4gTnVtYmVyKHRoaXMuZXZhbHVhdGUoYSkpPj4+TnVtYmVyKHRoaXMuZXZhbHVhdGUoYikpfWZ1bmN0aW9uIGVmKGEsYil7cmV0dXJuIE51bWJlcih0aGlzLmV2YWx1YXRlKGEpKSZOdW1iZXIodGhpcy5ldmFsdWF0ZShiKSl9ZnVuY3Rpb24gZmYoYSxiKXtyZXR1cm4gTnVtYmVyKHRoaXMuZXZhbHVhdGUoYSkpXk51bWJlcih0aGlzLmV2YWx1YXRlKGIpKX1mdW5jdGlvbiBnZihhLGIpe3JldHVybiBOdW1iZXIodGhpcy5ldmFsdWF0ZShhKSl8TnVtYmVyKHRoaXMuZXZhbHVhdGUoYikpfWZ1bmN0aW9uIGhmKCl7fQpmdW5jdGlvbiBrZihhLGIsYyl7dHJ5e3ZhciBkPXRoaXMuZXZhbHVhdGUoYik7aWYoZCBpbnN0YW5jZW9mIFRhKXJldHVybiBkfWNhdGNoKGgpe2lmKCEoaCBpbnN0YW5jZW9mIGJiJiZoLlNuKSl0aHJvdyBoO3ZhciBlPXRoaXMuVC53YigpO2EhPT0iIiYmKGggaW5zdGFuY2VvZiBiYiYmKGg9aC52byksZS5hZGQoYSxuZXcgUGQoaCkpKTt2YXIgZj10aGlzLmV2YWx1YXRlKGMpLGc9ZWIoZSxmKTtpZihnIGluc3RhbmNlb2YgVGEpcmV0dXJuIGd9fWZ1bmN0aW9uIGxmKGEsYil7dmFyIGMsZDt0cnl7ZD10aGlzLmV2YWx1YXRlKGEpfWNhdGNoKGYpe2lmKCEoZiBpbnN0YW5jZW9mIGJiJiZmLlNuKSl0aHJvdyBmO2M9Zn12YXIgZT10aGlzLmV2YWx1YXRlKGIpO2lmKGUgaW5zdGFuY2VvZiBUYSlyZXR1cm4gZTtpZihjKXRocm93IGM7aWYoZCBpbnN0YW5jZW9mIFRhKXJldHVybiBkfTt2YXIgbmY9ZnVuY3Rpb24oKXt0aGlzLkg9bmV3IGdiO21mKHRoaXMpfTtuZi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ILnJrKGEpfTt2YXIgbWY9ZnVuY3Rpb24oYSl7dmFyIGI9ZnVuY3Rpb24oYyxkKXt2YXIgZT1uZXcgTGQoU3RyaW5nKGMpLGQpO2UuWmEoKTt2YXIgZj1TdHJpbmcoYyk7YS5ILkguc2V0KGYsZSk7ZGIuc2V0KGYsZSl9O2IoIm1hcCIsSWUpO2IoImFuZCIsdGQpO2IoImNvbnRhaW5zIix3ZCk7YigiZXF1YWxzIix1ZCk7Yigib3IiLHZkKTtiKCJzdGFydHNXaXRoIix4ZCk7YigidmFyaWFibGUiLHlkKX07bmYucHJvdG90eXBlLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07dmFyIHBmPWZ1bmN0aW9uKCl7dGhpcy5LPSExO3RoaXMuSD1uZXcgZ2I7b2YodGhpcyk7dGhpcy5LPSEwfTtwZi5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbihhKXtyZXR1cm4gcWYodGhpcy5ILnJrKGEpKX07dmFyIHJmPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gcWYoYS5ILkpxKGIsYykpfTtwZi5wcm90b3R5cGUuWmE9ZnVuY3Rpb24oKXt0aGlzLkguWmEoKX07CnZhciBvZj1mdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihjLGQpe3ZhciBlPVN0cmluZyhjKSxmPW5ldyBMZChlLGQpO2YuWmEoKTthLkguSC5zZXQoZSxmKTtkYi5zZXQoZSxmKX07YigwLFpkKTtiKDEsJGQpO2IoMixhZSk7YigzLGJlKTtiKDU2LGVmKTtiKDU3LGJmKTtiKDU4LGFmKTtiKDU5LGdmKTtiKDYwLGNmKTtiKDYxLGRmKTtiKDYyLGZmKTtiKDUzLGNlKTtiKDQsZGUpO2IoNSxlZSk7Yig2OCxrZik7Yig1MixmZSk7Yig2LGdlKTtiKDQ5LGhlKTtiKDcsSGUpO2IoOCxJZSk7Yig5LGVlKTtiKDUwLGllKTtiKDEwLGplKTtiKDEyLGtlKTtiKDEzLGxlKTtiKDY3LGxmKTtiKDUxLHdlKTtiKDQ3LG9lKTtiKDU0LHBlKTtiKDU1LHFlKTtiKDYzLHZlKTtiKDY0LHJlKTtiKDY1LHRlKTtiKDY2LHVlKTtiKDE1LHhlKTtiKDE2LHplKTtiKDE3LHplKTtiKDE4LEFlKTtiKDE5LEJlKTtiKDIwLENlKTtiKDIxLERlKTtiKDIyLEVlKTtiKDIzLEZlKTtiKDI0LEdlKTtiKDI1LEplKTtiKDI2LApLZSk7YigyNyxMZSk7YigyOCxNZSk7YigyOSxOZSk7Yig0NSxPZSk7YigzMCxQZSk7YigzMixRZSk7YigzMyxRZSk7YigzNCxSZSk7YigzNSxSZSk7Yig0NixTZSk7YigzNixUZSk7Yig0MyxVZSk7YigzNyxWZSk7YigzOCxXZSk7YigzOSxYZSk7Yig0MCxZZSk7Yig0NCxoZik7Yig0MSxaZSk7Yig0MiwkZSl9O3BmLnByb3RvdHlwZS5qZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkguamUoKX07cGYucHJvdG90eXBlLlFiPWZ1bmN0aW9uKGEpe3RoaXMuSC5RYihhKX07cGYucHJvdG90eXBlLnNkPWZ1bmN0aW9uKGEpe3RoaXMuSC5zZChhKX07CmZ1bmN0aW9uIHFmKGEpe2lmKGEgaW5zdGFuY2VvZiBUYXx8YSBpbnN0YW5jZW9mIEtkfHxhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkfHxhIGluc3RhbmNlb2YgUGR8fGE9PT1udWxsfHxhPT09dm9pZCAwfHx0eXBlb2YgYT09PSJzdHJpbmcifHx0eXBlb2YgYT09PSJudW1iZXIifHx0eXBlb2YgYT09PSJib29sZWFuIilyZXR1cm4gYX07dmFyIHNmPWZ1bmN0aW9uKGEpe3RoaXMubWVzc2FnZT1hfTtmdW5jdGlvbiB0ZihhKXthLnF2PSEwO3JldHVybiBhfTt2YXIgdWY9dGYoZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciJ9KSx2Zj10ZihmdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIn0pLHdmPXRmKGZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn0pO2Z1bmN0aW9uIHhmKGEpe3ZhciBiPSIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi1fIlthXTtyZXR1cm4gYj09PXZvaWQgMD9uZXcgc2YoIlZhbHVlICIrYSsiIGNhbiBub3QgYmUgZW5jb2RlZCBpbiB3ZWItc2FmZSBiYXNlNjQgZGljdGlvbmFyeS4iKTpifTtmdW5jdGlvbiB5ZihhKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiIxIjtjYXNlIDI6Y2FzZSA0OnJldHVybiIwIjtkZWZhdWx0OnJldHVybiItIn19O3ZhciB6Zj0vXlsxLTlhLXpBLVpfLV1bMS05YS1jXVsxLTlhLXZdXGQkLztmdW5jdGlvbiBBZihhLGIpe2Zvcih2YXIgYz0iIixkPSEwO2E+Nzspe3ZhciBlPWEmMzE7YT4+PTU7ZD9kPSExOmV8PTMyO2M9IiIreGYoZSkrY31hPDw9MjtkfHwoYXw9MzIpO3JldHVybiBjPSIiK3hmKGF8YikrY31mdW5jdGlvbiBCZihhLGIpe3JldHVybiBiPT09dm9pZCAwfHxiPT09MD8iIjoiIitBZihhLDEpK3hmKGIpfQpmdW5jdGlvbiBDZihhLGIpe3ZhciBjO3ZhciBkPWEuaGksZT1hLmJrO2Q9PT12b2lkIDA/Yz0iIjooZXx8KGU9MCksYz0iIitBZigxLDEpK3hmKGQ8PDJ8ZSkpO3ZhciBmPSI0IitjK0JmKDIsYS5xciksZyxoPWEuSW87Zz1oJiZ6Zi50ZXN0KGgpPyIiK0FmKDMsMikraDoiIjt2YXIgbDt2YXIgbj1hLmN0aWQ7aWYobiYmYil7dmFyIHA9QWYoNSwzKSxxPW4uc3BsaXQoIi0iKSxyPXFbMF0udG9VcHBlckNhc2UoKTtpZihyIT09IkdUTSImJnIhPT0iT1BUIilsPSIiO2Vsc2V7dmFyIHQ9cVsxXTtsPSIiK3AreGYoMSt0Lmxlbmd0aCkrKGEuTHN8fDApK3R9fWVsc2UgbD0iIjt2YXIgdT1hLmNhbm9uaWNhbElkLHY9YS5tYyx4PWEuenYseT1mK2crQmYoNCxhLkRvKStsK0JmKDYsYS5EdCkrKHU/IiIrQWYoNywzKSt4Zih1Lmxlbmd0aCkrdToiIikrKHY/IiIrQWYoOCwzKSt4Zih2Lmxlbmd0aCkrdjoiIikrKHg/IiIrQWYoOSwzKSt4Zih4Lmxlbmd0aCkreDoiIiksejt2YXIgQz1hLnpyO0M9CkM9PT12b2lkIDA/e306Qztmb3IodmFyIEQ9W10sST1tKE9iamVjdC5rZXlzKEMpKSxHPUkubmV4dCgpOyFHLmRvbmU7Rz1JLm5leHQoKSl7dmFyIE49Ry52YWx1ZTtEW051bWJlcihOKV09Q1tOXX1pZihELmxlbmd0aCl7dmFyIFM9QWYoMTAsMyksVztpZihELmxlbmd0aD09PTApVz14ZigwKTtlbHNle2Zvcih2YXIgZWE9W10samE9MCxmYT0hMSxzYT0wO3NhPEQubGVuZ3RoO3NhKyspe2ZhPSEwO3ZhciBkYT1zYSU2O0Rbc2FdJiYoamF8PTE8PGRhKTtkYT09PTUmJihlYS5wdXNoKHhmKGphKSksamE9MCxmYT0hMSl9ZmEmJmVhLnB1c2goeGYoamEpKTtXPWVhLmpvaW4oIiIpfXZhciBtYT1XO3o9IiIrUyt4ZihtYS5sZW5ndGgpK21hfWVsc2Ugej0iIjt2YXIgUGE9YS5VcyxGYT1hLm50O3JldHVybiB5K3orKFBhPyIiK0FmKDExLDMpK3hmKFBhLmxlbmd0aCkrUGE6IiIpKyhGYT8iIitBZigxMywzKSt4ZihGYS5sZW5ndGgpK0ZhOiIiKStCZigxNCxhLkV0KStCZigxNSxhLnJ2KStCZigxNiwKYS5Bdil9O2Z1bmN0aW9uIERmKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJDb2RlQXQoZCk7ZTwxMjg/YltjKytdPWU6KGU8MjA0OD9iW2MrK109ZT4+NnwxOTI6KChlJjY0NTEyKT09NTUyOTYmJmQrMTxhLmxlbmd0aCYmKGEuY2hhckNvZGVBdChkKzEpJjY0NTEyKT09NTYzMjA/KGU9NjU1MzYrKChlJjEwMjMpPDwxMCkrKGEuY2hhckNvZGVBdCgrK2QpJjEwMjMpLGJbYysrXT1lPj4xOHwyNDAsYltjKytdPWU+PjEyJjYzfDEyOCk6YltjKytdPWU+PjEyfDIyNCxiW2MrK109ZT4+NiY2M3wxMjgpLGJbYysrXT1lJjYzfDEyOCl9cmV0dXJuIGJ9O2Z1bmN0aW9uIEVmKGEsYil7Zm9yKHZhciBjPXFiKGIpLGQ9bmV3IFVpbnQ4QXJyYXkoYy5sZW5ndGgpLGU9MDtlPGMubGVuZ3RoO2UrKylkW2VdPWMuY2hhckNvZGVBdChlKTtpZihkLmxlbmd0aCE9PTMyKXRocm93IEVycm9yKCJLZXkgaXMgbm90IDMyIGJ5dGVzLiIpO3JldHVybiBGZihhLGQpfWZ1bmN0aW9uIEZmKGEsYil7aWYoYT09PSIiKXJldHVybiIiO3ZhciBjPVpiKGEpLGQ9Yi5zbGljZSgtMiksZT1bXS5jb25jYXQodyhkKSx3KGMpKS5tYXAoZnVuY3Rpb24oZyxoKXtyZXR1cm4gZ15iW2glYi5sZW5ndGhdfSksZj1uZXcgVWludDhBcnJheShbXS5jb25jYXQodyhlKSx3KGQpKSk7cmV0dXJuIHBiKFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLHcoZikpKS5yZXBsYWNlKC9cLiskLywiIil9O3ZhciBHZj1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYil7cmV0dXJue3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9fX1yZXR1cm57Y3A6YSgiY29uc2VudCIpLFprOmEoImNvbnZlcnRfY2FzZV90byIpLGFsOmEoImNvbnZlcnRfZmFsc2VfdG8iKSxibDphKCJjb252ZXJ0X251bGxfdG8iKSxlcDphKCJjb252ZXJ0X3RvX2Jvb2xlYW4iKSxhaDphKCJjb252ZXJ0X3RvX251bWJlciIpLGZsOmEoImNvbnZlcnRfdHJ1ZV90byIpLGlsOmEoImNvbnZlcnRfdW5kZWZpbmVkX3RvIiksWXQ6YSgiZGVidWdfbW9kZV9tZXRhZGF0YSIpLFliOmEoImZ1bmN0aW9uIiksUm06YSgiaW5zdGFuY2VfbmFtZSIpLE5xOmEoImxpdmVfb25seSIpLE9xOmEoIm1hbHdhcmVfZGlzYWJsZWQiKSxNRVRBREFUQTphKCJtZXRhZGF0YSIpLFJxOmEoIm9yaWdpbmFsX2FjdGl2aXR5X2lkIiksVHU6YSgib3JpZ2luYWxfdmVuZG9yX3RlbXBsYXRlX2lkIiksU3U6YSgib25jZV9vbl9sb2FkIiksUXE6YSgib25jZV9wZXJfZXZlbnQiKSwKa246YSgib25jZV9wZXJfbG9hZCIpLFZ1OmEoInByaW9yaXR5X292ZXJyaWRlIiksWXU6YSgicmVzcGVjdGVkX2NvbnNlbnRfdHlwZXMiKSx0bjphKCJzZXR1cF90YWdzIikseWo6YSgidGFnX2lkIiksRG46YSgidGVhcmRvd25fdGFncyIpLHBsOmEoImRpc2FibGVkX2luX2dvb2dsZV9tb2RlIiksRnE6YSgiZ2VuZXJhdGVkX3RhZ2dpbmdfbWV0YWRhdGEiKX19KCk7ZnVuY3Rpb24gSGYoYSxiKXt2YXIgYz17fTtjW0dmLlliXT0iX18iK2E7Zm9yKHZhciBkIGluIGIpYi5oYXNPd25Qcm9wZXJ0eShkKSYmKGNbInZ0cF8iK2RdPWJbZF0pO3JldHVybiBjfTtmdW5jdGlvbiBJZihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBjLGQ7cmV0dXJuKChjPWRhdGEpPT1udWxsPzA6KGQ9Yy5ibG9iKT09bnVsbD8wOmQuaGFzT3duUHJvcGVydHkoYSkpPyEhZGF0YS5ibG9iW2FdOmJ9ZnVuY3Rpb24gRShhKXt2YXIgYjtiPWI9PT12b2lkIDA/IiI6Yjt2YXIgYyxkO3JldHVybigoYz1kYXRhKT09bnVsbD8wOihkPWMuYmxvYik9PW51bGw/MDpkLmhhc093blByb3BlcnR5KGEpKT9TdHJpbmcoZGF0YS5ibG9iW2FdKTpifWZ1bmN0aW9uIEpmKGEpe3ZhciBiLGM7cmV0dXJuKChiPWRhdGEpPT1udWxsPzA6KGM9Yi5ibG9iKT09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP051bWJlcihkYXRhLmJsb2JbYV0pOjB9ZnVuY3Rpb24gS2YoYSl7dmFyIGI7Yj1iPT09dm9pZCAwP1tdOmI7dmFyIGMsZCxlPShjPWRhdGEpPT1udWxsP3ZvaWQgMDooZD1jLmJsb2IpPT1udWxsP3ZvaWQgMDpkW2FdO3JldHVybiBBcnJheS5pc0FycmF5KGUpP2U6Yn0KZnVuY3Rpb24gTGYoYSl7dmFyIGI7Yj1iPT09dm9pZCAwPyIiOmI7dmFyIGM9TWYoNDYpO3JldHVybiBjJiYoYz09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP1N0cmluZyhjW2FdKTpifWZ1bmN0aW9uIE5mKGEsYil7dmFyIGM9TWYoNDYpO3JldHVybiBjJiYoYz09bnVsbD8wOmMuaGFzT3duUHJvcGVydHkoYSkpP051bWJlcihjW2FdKTpifWZ1bmN0aW9uIE1mKGEpe3ZhciBiLGM7cmV0dXJuKGI9ZGF0YSk9PW51bGw/dm9pZCAwOihjPWIuYmxvYik9PW51bGw/dm9pZCAwOmNbYV19O3ZhciBPZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7ZD1FcnJvci5jYWxsKHRoaXMsYyk7dGhpcy5tZXNzYWdlPWQubWVzc2FnZTsic3RhY2siaW4gZCYmKHRoaXMuc3RhY2s9ZC5zdGFjayk7dGhpcy5wZXJtaXNzaW9uSWQ9YTt0aGlzLnBhcmFtZXRlcnM9Yjt0aGlzLm5hbWU9IlBlcm1pc3Npb25FcnJvciJ9O3dhKE9mLEVycm9yKTtPZi5wcm90b3R5cGUuZ2V0TWVzc2FnZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1lc3NhZ2V9O2Z1bmN0aW9uIFBmKGEsYil7aWYoQXJyYXkuaXNBcnJheShhKSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsImNvbnRleHQiLHt2YWx1ZTp7bGluZTpiWzBdfX0pO2Zvcih2YXIgYz0xO2M8YS5sZW5ndGg7YysrKVBmKGFbY10sYltjXSl9fTtmdW5jdGlvbiBRZigpe3JldHVybiBmdW5jdGlvbihhLGIpe3ZhciBjO3ZhciBkPVJmO2EgaW5zdGFuY2VvZiBiYj8oYS5IPWQsYz1hKTpjPW5ldyBiYihhLGQpO3ZhciBlPWM7YiYmZS5LLnB1c2goYik7dGhyb3cgZTt9fWZ1bmN0aW9uIFJmKGEpe2lmKCFhLmxlbmd0aClyZXR1cm4gYTthLnB1c2goe2lkOiJtYWluIixsaW5lOjB9KTtmb3IodmFyIGI9YS5sZW5ndGgtMTtiPjA7Yi0tKUFiKGFbYl0uaWQpJiZhLnNwbGljZShiKyssMSk7Zm9yKHZhciBjPWEubGVuZ3RoLTE7Yz4wO2MtLSlhW2NdLmxpbmU9YVtjLTFdLmxpbmU7YS5zcGxpY2UoMCwxKTtyZXR1cm4gYX07dmFyIFNmPVJlZ0V4cCgiW14wLTlcXC4rLV0iLCJnIiksVGY9UmVnRXhwKCJbXjAtOVxcLCstXSIsImciKSxVZj1SZWdFeHAoIlteMC05Ky1dIiwiZyIpOwpmdW5jdGlvbiBWZihhLGIpe2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuIGE7dmFyIGM9U3RyaW5nKGEpLGQ7aWYoYj09PSJBVVRPTUFUSUMiKXt2YXIgZT0oYy5tYXRjaCgvXC4vZyl8fFtdKS5sZW5ndGgsZj0oYy5tYXRjaCgvLC9nKXx8W10pLmxlbmd0aCxnPSJOT05FIjtpZihlPjAmJmY+MCl7dmFyIGg9Yy5sYXN0SW5kZXhPZigiLiIpPmMubGFzdEluZGV4T2YoIiwiKTtoJiZlPT09MT9nPSJQRVJJT0QiOmh8fGYhPT0xfHwoZz0iQ09NTUEiKX1lbHNlIGU9PT0xP2c9KGMuc3BsaXQoIi4iKVsxXS5tYXRjaCgvWzAtOV0vZyl8fFtdKS5sZW5ndGghPT0zPyJQRVJJT0QiOiJOT05FIjpmPT09MSYmKGc9KGMuc3BsaXQoIiwiKVsxXS5tYXRjaCgvWzAtOV0vZyl8fFtdKS5sZW5ndGghPT0zPyJDT01NQSI6Ik5PTkUiKTtkPWd9ZWxzZSBkPWI9PT0iQ09NTUEiPyJDT01NQSI6IlBFUklPRCI7dmFyIGwsbjtkPT09IlBFUklPRCI/KGw9Ii4iLG49U2YpOmQ9PT0iQ09NTUEiPyhsPSIsIiwKbj1UZik6KGw9IiIsbj1VZik7dmFyIHA9Yy5yZXBsYWNlKG4sIiIpO2lmKGwhPT0iIiYmcC5zcGxpdChsKS5sZW5ndGg+MilyZXR1cm4gYTt2YXIgcT1wLnJlcGxhY2UoLywvZywiLiIpO2lmKHE9PT0iIilyZXR1cm4gYTt2YXIgcj1OdW1iZXIocSk7cmV0dXJuIGlzTmFOKHIpP2E6cn07dmFyIFdmPVtdLFhmPXt9O2Z1bmN0aW9uIFlmKGEpe3JldHVybiBXZlthXT09PXZvaWQgMD8hMTpXZlthXX07dmFyIFpmPWZ1bmN0aW9uKCl7dGhpcy5IPXt9fSwkZj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7KGQ9YS5IKVtiXSE9bnVsbHx8KGRbYl09W10pO2EuSFtiXS5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIGMuYXBwbHkobnVsbCx3KE9hLmFwcGx5KDAsYXJndW1lbnRzKSkpfSl9O2Z1bmN0aW9uIGFnKGEsYixjLGQpe2lmKGEpZm9yKHZhciBlPTA7ZTxhLmxlbmd0aDtlKyspe3ZhciBmPXZvaWQgMCxnPSJBIHBvbGljeSBmdW5jdGlvbiBkZW5pZWQgdGhlIHBlcm1pc3Npb24gcmVxdWVzdCI7dHJ5e2Y9YVtlXShiLGMsZCksZys9Ii4ifWNhdGNoKGgpe2c9dHlwZW9mIGg9PT0ic3RyaW5nIj9nKygiOiAiK2gpOmggaW5zdGFuY2VvZiBFcnJvcj9nKygiOiAiK2gubWVzc2FnZSk6ZysiLiJ9aWYoIWYpdGhyb3cgbmV3IE9mKGMsZCxnKTt9fQpmdW5jdGlvbiBiZyhhLGIpe3ZhciBjPWNnKGRnLkgsYixmdW5jdGlvbigpe3JldHVybnt9fSk7dHJ5e3JldHVybiBjKGEpLCEwfWNhdGNoKGQpe3JldHVybiExfX1mdW5jdGlvbiBjZyhhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe2lmKGQpe3ZhciBlPWEuSFtkXSxmPWEuSC5hbGw7aWYoZXx8Zil7dmFyIGc9Yy5hcHBseSh2b2lkIDAsW2RdLmNvbmNhdCh3KE9hLmFwcGx5KDEsYXJndW1lbnRzKSkpKTthZyhlLGIsZCxnKTthZyhmLGIsZCxnKX19fX07dmFyIGdnPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzO3RoaXMuSz17fTt0aGlzLkg9bmV3IFpmO3ZhciBlPXt9LGY9e30sZz1jZyh0aGlzLkgsYSxmdW5jdGlvbihoKXtyZXR1cm4gaCYmZVtoXT9lW2hdLmFwcGx5KHZvaWQgMCxbaF0uY29uY2F0KHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSkpOnt9fSk7R2IoYixmdW5jdGlvbihoLGwpe2Z1bmN0aW9uIG4ocSl7dmFyIHI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2lmKCFwW3FdKXRocm93IGVnKHEse30sIlRoZSByZXF1ZXN0ZWQgYWRkaXRpb25hbCBwZXJtaXNzaW9uICIrcSsiIGlzIG5vdCBjb25maWd1cmVkLiIpO2cuYXBwbHkobnVsbCxbcV0uY29uY2F0KHcocikpKX12YXIgcD17fTtHYihsLGZ1bmN0aW9uKHEscil7dmFyIHQ9ZmcocSxyLGMpO3BbcV09dC5hc3NlcnQ7ZVtxXXx8KGVbcV09dC5hYSk7dC5PbiYmIWZbcV0mJihmW3FdPXQuT24pfSk7ZC5LW2hdPWZ1bmN0aW9uKHEscil7dmFyIHQ9cFtxXTtpZighdCl0aHJvdyBlZyhxLAp7fSwiVGhlIHJlcXVlc3RlZCBwZXJtaXNzaW9uICIrcSsiIGlzIG5vdCBjb25maWd1cmVkLiIpO3ZhciB1PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTt0LmFwcGx5KHZvaWQgMCx1KTtnLmFwcGx5KHZvaWQgMCx1KTt2YXIgdj1mW3FdO3YmJnYuYXBwbHkobnVsbCxbbl0uY29uY2F0KHcodS5zbGljZSgxKSkpKX19KX0saGc9ZnVuY3Rpb24oYSl7cmV0dXJuIGRnLktbYV18fGZ1bmN0aW9uKCl7fX07CmZ1bmN0aW9uIGZnKGEsYixjKXt0cnl7dmFyIGQ9Y1siX18iK2FdO2lmKCFkKXRocm93IEVycm9yKCJObyBmdW5jdGlvbiBmb3VuZCBmb3IgcGVybWlzc2lvbjogIithKyIuIik7dmFyIGU9SGYoYSxiKTtlLnZ0cF9wZXJtaXNzaW9uTmFtZT1hO2UudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcj1lZztkZWxldGUgZVtHZi5ZYl07cmV0dXJuIGQoZSl9Y2F0Y2goZil7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihnKXt0aHJvdyBuZXcgT2YoZyx7fSwiUGVybWlzc2lvbiAiK2crIiBpcyB1bmtub3duLiIpO30sYWE6ZnVuY3Rpb24oKXt0aHJvdyBuZXcgT2YoYSx7fSwiUGVybWlzc2lvbiAiK2ErIiBpcyB1bmtub3duLiIpO319fX1mdW5jdGlvbiBlZyhhLGIsYyl7cmV0dXJuIG5ldyBPZihhLGIsYyl9O3ZhciBpZz1FKDUpLGpnPUUoMjApLGtnPUUoMSksbGc9ITE7dmFyIG1nPXt9O21nLlBvPUlmKDI5KTttZy5Lcj1JZigyOCk7ZnVuY3Rpb24gbmcoYSl7dmFyIGI9MSxjLGQsZTtpZihhKWZvcihiPTAsZD1hLmxlbmd0aC0xO2Q+PTA7ZC0tKWU9YS5jaGFyQ29kZUF0KGQpLGI9KGI8PDYmMjY4NDM1NDU1KStlKyhlPDwxNCksYz1iJjI2NjMzODMwNCxiPWMhPT0wP2JeYz4+MjE6YjtyZXR1cm4gYn07dmFyIG9nPWZ1bmN0aW9uKGEpe3RoaXMuY2FjaGU9YX07b2cucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXt2YXIgYj1uZyhhKSxjPXRoaXMuY2FjaGUuZ2V0KGIpO2lmKCFjKXJldHVybntwcm9taXNlOnZvaWQgMCxLajowfTtpZihEYXRlLm5vdygpPj1jLnRpbWVzdGFtcCs5RTUpcmV0dXJuIHRoaXMuY2FjaGUuZGVsZXRlKGIpLHtwcm9taXNlOnZvaWQgMCxLajozfTt2YXIgZD1jLnJlc29sdmVkVmFsdWU/MjoxO3JldHVybntwcm9taXNlOmMucmVzb2x2ZWRWYWx1ZT9Qcm9taXNlLnJlc29sdmUoYy5yZXNvbHZlZFZhbHVlKTpjLnByb21pc2UsS2o6ZH19O29nLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz17cHJvbWlzZTpiLHJlc29sdmVkVmFsdWU6dm9pZCAwLHRpbWVzdGFtcDpEYXRlLm5vdygpfTt0aGlzLmNhY2hlLnNldChuZyhhKSxjKTtiLnRoZW4oZnVuY3Rpb24oZCl7Yy5yZXNvbHZlZFZhbHVlPWR9KX07ZnVuY3Rpb24gcGcoYSl7c3dpdGNoKGEpe2Nhc2UgMDpicmVhaztjYXNlIDk6cmV0dXJuImU0IjtjYXNlIDY6cmV0dXJuImU1IjtjYXNlIDE0OnJldHVybiJlNiI7ZGVmYXVsdDpyZXR1cm4iZTcifX07dmFyIEY9e0Q6e1hhOiJhZF9wZXJzb25hbGl6YXRpb24iLGthOiJhZF9zdG9yYWdlIixtYToiYWRfdXNlcl9kYXRhIixyYToiYW5hbHl0aWNzX3N0b3JhZ2UiLG5jOiJyZWdpb24iLHNhOiJjb25zZW50X3VwZGF0ZWQiLFlnOiJ3YWl0X2Zvcl91cGRhdGUiLGVoOiJlbmRwb2ludF90eXBlIixxcDoiYXBwX3JlbW92ZSIscnA6ImFwcF9zdG9yZV9yZWZ1bmQiLHRwOiJhcHBfc3RvcmVfc3Vic2NyaXB0aW9uX2NhbmNlbCIsdXA6ImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fY29udmVydCIsdnA6ImFwcF9zdG9yZV9zdWJzY3JpcHRpb25fcmVuZXciLHdwOiJjb25zZW50X3VwZGF0ZSIseHA6ImNvbnZlcnNpb24iLHZsOiJhZGRfcGF5bWVudF9pbmZvIix3bDoiYWRkX3NoaXBwaW5nX2luZm8iLHhlOiJhZGRfdG9fY2FydCIseWU6InJlbW92ZV9mcm9tX2NhcnQiLHhsOiJ2aWV3X2NhcnQiLEFkOiJiZWdpbl9jaGVja291dCIsZXU6ImdlbmVyYXRlX2xlYWQiLHplOiJzZWxlY3RfaXRlbSIsb2M6InZpZXdfaXRlbV9saXN0IiwKUWM6InNlbGVjdF9wcm9tb3Rpb24iLHFjOiJ2aWV3X3Byb21vdGlvbiIsSWI6InB1cmNoYXNlIixBZToicmVmdW5kIixyYzoidmlld19pdGVtIix5bDoiYWRkX3RvX3dpc2hsaXN0Iix5cDoiZXhjZXB0aW9uIix6cDoiZmlyc3Rfb3BlbiIsQXA6ImZpcnN0X3Zpc2l0Iix3YToiZ3RhZy5jb25maWciLEpiOiJndGFnLmdldCIsQnA6ImluX2FwcF9wdXJjaGFzZSIsc2M6InBhZ2VfdmlldyIsQ3A6InNjcmVlbl92aWV3IixEcDoic2Vzc2lvbl9zdGFydCIsRXA6InNvdXJjZV91cGRhdGUiLEZwOiJ0aW1pbmdfY29tcGxldGUiLEdwOiJ0cmFja19zb2NpYWwiLHlmOiJ1c2VyX2VuZ2FnZW1lbnQiLEhwOiJ1c2VyX2lkX3VwZGF0ZSIsZmg6ImJyYWlkX2xpbmtfZGVjb3JhdGlvbl9zb3VyY2UiLGdoOiJicmFpZF9zdG9yYWdlX3NvdXJjZSIsQmQ6ImdjbGlkX2xpbmtfZGVjb3JhdGlvbl9zb3VyY2UiLENkOiJnY2xpZF9zdG9yYWdlX3NvdXJjZSIsU2I6ImdjbGdiIixsYjoiZ2NsaWQiLHpsOiJnY2xpZF9sZW4iLApCZToiZ2NsZ3MiLENlOiJnY2xscCIsRGU6ImdjbHN0IixtYjoiYWRzX2RhdGFfcmVkYWN0aW9uIix6ZjoiZ2FkX3NvdXJjZSIsQWY6ImdhZF9zb3VyY2Vfc3JjIixEZDoiZ2NsaWRfdXJsIixBbDoiZ2Nsc3JjIixCZjoiZ2JyYWlkIixFZToid2JyYWlkIixSYzoiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uX3NpZ25hbHMiLHJpOiJhbGxvd19jdXN0b21fc2NyaXB0cyIsaGg6ImFsbG93X2Rpc3BsYXlfZmVhdHVyZXMiLHNpOiJhbGxvd19lbmhhbmNlZF9jb252ZXJzaW9ucyIsU2M6ImFsbG93X2dvb2dsZV9zaWduYWxzIix1aToiYWxsb3dfaW50ZXJlc3RfZ3JvdXBzIixJcDoiYXBwX2lkIixKcDoiYXBwX2luc3RhbGxlcl9pZCIsS3A6ImFwcF9uYW1lIixMcDoiYXBwX3ZlcnNpb24iLEVkOiJhdWlkIixmdToiYXV0b19kZXRlY3Rpb25fZW5hYmxlZCIsQmw6ImF1dG9fZXZlbnQiLENsOiJhd19yZW1hcmtldGluZyIsaWg6ImF3X3JlbWFya2V0aW5nX29ubHkiLENmOiJkaXNjb3VudCIsRGY6ImF3X2ZlZWRfY291bnRyeSIsCkVmOiJhd19mZWVkX2xhbmd1YWdlIixIYToiaXRlbXMiLEZmOiJhd19tZXJjaGFudF9pZCIsd2k6ImF3X2Jhc2tldF90eXBlIixHZjoiY2FtcGFpZ25fY29udGVudCIsSGY6ImNhbXBhaWduX2lkIixJZjoiY2FtcGFpZ25fbWVkaXVtIixKZjoiY2FtcGFpZ25fbmFtZSIsS2Y6ImNhbXBhaWduIixMZjoiY2FtcGFpZ25fc291cmNlIixNZjoiY2FtcGFpZ25fdGVybSIsS2I6ImNsaWVudF9pZCIsRGw6InJuZCIseGk6ImNvbnNlbnRfdXBkYXRlX3R5cGUiLE1wOiJjb250ZW50X2dyb3VwIixOcDoiY29udGVudF90eXBlIixGZDoiY29udmVyc2lvbl9jb29raWVfcHJlZml4Iix5aToiY29udmVyc2lvbl9pZCIsdWM6ImNvbnZlcnNpb25fbGlua2VyIixIZDoiY29udmVyc2lvbl9saW5rZXJfZGlzYWJsZWQiLEZlOiJjb252ZXJzaW9uX2FwaSIsemk6Il8mcmNiIixqaDoiY29va2llX2RlcHJlY2F0aW9uIixMYjoiY29va2llX2RvbWFpbiIsQ2I6ImNvb2tpZV9leHBpcmVzIixUYjoiY29va2llX2ZsYWdzIiwKSWQ6ImNvb2tpZV9uYW1lIix2YzoiY29va2llX3BhdGgiLG5iOiJjb29raWVfcHJlZml4IixKZDoiY29va2llX3VwZGF0ZSIsVGM6ImNvdW50cnkiLGViOiJjdXJyZW5jeSIsR2U6ImN1c3RvbWVyX2xpZmV0aW1lX3ZhbHVlIixraDoiY3VzdG9tZXJfdHlwZSIsSGU6ImN1c3RvbV9tYXAiLEFpOiJnY2xkY19saW5rX2RlY29yYXRpb25fc291cmNlIixCaToiZ2NsZGNfc3RvcmFnZV9zb3VyY2UiLE5mOiJnY2xkYyIsS2Q6ImRjbGlkIixFbDoiZGVidWdfbW9kZSIsT2E6ImRldmVsb3Blcl9pZCIsT3A6ImRpc2FibGVfbWVyY2hhbnRfcmVwb3J0ZWRfcHVyY2hhc2VzIixVYzoiZGNfY3VzdG9tX3BhcmFtcyIsUHA6ImRjX25hdHVyYWxfc2VhcmNoIixRcDoiZHluYW1pY19ldmVudF9zZXR0aW5ncyIsRmw6ImFmZmlsaWF0aW9uIixtaDoiY2hlY2tvdXRfb3B0aW9uIixDaToiY2hlY2tvdXRfc3RlcCIsR2w6ImNvdXBvbiIsT2Y6Iml0ZW1fbGlzdF9uYW1lIixEaToibGlzdF9uYW1lIixScDoicHJvbW90aW9ucyIsCkxkOiJzaGlwcGluZyIsSGw6InRheCIsbmg6ImVuZ2FnZW1lbnRfdGltZV9tc2VjIixvaDoiZW5oYW5jZWRfY2xpZW50X2lkIixTcDoiZW5oYW5jZWRfY29udmVyc2lvbnMiLGd1OiJlbmhhbmNlZF9jb252ZXJzaW9uc19hdXRvbWF0aWNfc2V0dGluZ3MiLEllOiJlc3RpbWF0ZWRfZGVsaXZlcnlfZGF0ZSIsUGY6ImV2ZW50X2NhbGxiYWNrIixUcDoiZXZlbnRfY2F0ZWdvcnkiLFZjOiJldmVudF9kZXZlbG9wZXJfaWRfc3RyaW5nIixNZDoiZXZlbnRfaWQiLEVpOiJfZXZlbnRfam9pbl9pZCIsVXA6ImV2ZW50X2xhYmVsIixVYjoiZXZlbnQiLElsOiJfJmFlIixGaToiZXZlbnRfc2V0dGluZ3MiLHBoOiJldmVudF90aW1lb3V0IixWcDoiZGVzY3JpcHRpb24iLFdwOiJmYXRhbCIsWHA6ImV4cGVyaW1lbnRzIixOZDoiZXh0X2NsaWVudF9pZCIsR2k6ImZpcmViYXNlX2lkIixRZjoiZmlyc3RfcGFydHlfY29sbGVjdGlvbiIsUmY6Il94XzIwIixWYjoiX3hfMTkiLFlwOiJmbGlnaHRfZXJyb3JfY29kZSIsClpwOiJmbGlnaHRfZXJyb3JfbWVzc2FnZSIsSGk6ImZsX2FjdGl2aXR5X2NhdGVnb3J5IixJaToiZmxfYWN0aXZpdHlfZ3JvdXAiLHFoOiJmbF9hZHZlcnRpc2VyX2lkIixKaToibWF0Y2hfaWQiLEpsOiJmbF9yYW5kb21fbnVtYmVyIixLbDoidHJhbiIsTGw6InUiLHJoOiJnYWNfZ2NsaWQiLEplOiJnYWNfd2JyYWlkIixNbDoiZ2FjX3dicmFpZF9tdWx0aXBsZV9jb252ZXJzaW9ucyIsYXE6ImdhX3Jlc3RyaWN0X2RvbWFpbiIsTmw6ImdhX3RlbXBfY2xpZW50X2lkIixicToiZ2FfdGVtcF9lY2lkIixLZToiZ2Rwcl9hcHBsaWVzIixzaDoiX2d0X21ldGFkYXRhIixPbDoiZ2VvX2dyYW51bGFyaXR5IixTZjoidmFsdWVfY2FsbGJhY2siLFRmOiJ2YWx1ZV9rZXkiLFRhOiJnb29nbGVfYW5hbHlzaXNfcGFyYW1zIixMZToiX2dvb2dsZV9uZyIsY3E6Il9vbm8iLFVmOiJnb29nbGVfc2lnbmFscyIsZnE6Imdvb2dsZV90bGQiLHRoOiJncHBfc2lkIix1aDoiZ3BwX3N0cmluZyIsT2Q6Imdyb3VwcyIsClBsOiJnc2FfZXhwZXJpbWVudF9pZCIsVmY6Imd0YWdfZXZlbnRfZmVhdHVyZV91c2FnZSIsUWw6Imd0bV91cCIsTWU6ImlmcmFtZV9zdGF0ZSIsV2Y6Imlnbm9yZV9yZWZlcnJlciIsUmw6ImludGVybmFsX3RyYWZmaWNfcmVzdWx0cyIsU2w6Il9pc19mcG0iLFljOiJpc19sZWdhY3lfY29udmVydGVkIixaYzoiaXNfbGVnYWN5X2xvYWRlZCIsS2k6ImlzX3Bhc3N0aHJvdWdoIixQZDoiX2xwcyIsdGI6Imxhbmd1YWdlIixMaToibGVnYWN5X2RldmVsb3Blcl9pZF9zdHJpbmciLERiOiJsaW5rZXIiLFhmOiJhY2NlcHRfaW5jb21pbmciLHdjOiJkZWNvcmF0ZV9mb3JtcyIsQWE6ImRvbWFpbnMiLGFkOiJ1cmxfcG9zaXRpb24iLFFkOiJtZXJjaGFudF9mZWVkX2xhYmVsIixSZDoibWVyY2hhbnRfZmVlZF9sYW5ndWFnZSIsU2Q6Im1lcmNoYW50X2lkIixUbDoibWV0aG9kIixncToibmFtZSIsVWw6Im5hdmlnYXRpb25fdHlwZSIsTmU6Im5ld19jdXN0b21lciIsTWk6Im5vbl9pbnRlcmFjdGlvbiIsCmhxOiJvcHRpbWl6ZV9pZCIsVmw6InBhZ2VfaG9zdG5hbWUiLFlmOiJwYWdlX3BhdGgiLFVhOiJwYWdlX3JlZmVycmVyIixNYjoicGFnZV90aXRsZSIsaXE6InBhc3NlbmdlcnMiLFdsOiJwaG9uZV9jb252ZXJzaW9uX2NhbGxiYWNrIixqcToicGhvbmVfY29udmVyc2lvbl9jb3VudHJ5X2NvZGUiLFhsOiJwaG9uZV9jb252ZXJzaW9uX2Nzc19jbGFzcyIsa3E6InBob25lX2NvbnZlcnNpb25faWRzIixZbDoicGhvbmVfY29udmVyc2lvbl9udW1iZXIiLFpsOiJwaG9uZV9jb252ZXJzaW9uX29wdGlvbnMiLGxxOiJfcGxhdGludW1fcmVxdWVzdF9zdGF0dXMiLG1xOiJfcHJvdGVjdGVkX2F1ZGllbmNlX2VuYWJsZWQiLHdoOiJxdWFudGl0eSIseGg6InJlZGFjdF9kZXZpY2VfaW5mbyIsYW06InJlZmVycmFsX2V4Y2x1c2lvbl9kZWZpbml0aW9uIixodToiX3JlcXVlc3Rfc3RhcnRfdGltZSIsV2I6InJlc3RyaWN0ZWRfZGF0YV9wcm9jZXNzaW5nIixucToicmV0b2tlbiIsb3E6InNhbXBsZV9yYXRlIiwKTmk6InNjcmVlbl9uYW1lIixiZDoic2NyZWVuX3Jlc29sdXRpb24iLGJtOiJfc2NyaXB0X3NvdXJjZSIscHE6InNlYXJjaF90ZXJtIixUZDoic2VuZF9wYWdlX3ZpZXciLFhiOiJzZW5kX3RvIixPaToic2VydmVyX2NvbnRhaW5lcl8zcF9lbnJpY2htZW50IixkZDoic2VydmVyX2NvbnRhaW5lcl91cmwiLHFxOiJzZXNzaW9uX2F0dHJpYnV0ZXNfZW5jb2RlZCIseWg6InNlc3Npb25fZHVyYXRpb24iLHpoOiJzZXNzaW9uX2VuZ2FnZWQiLFBpOiJzZXNzaW9uX2VuZ2FnZWRfdGltZSIseGM6InNlc3Npb25faWQiLEFoOiJzZXNzaW9uX251bWJlciIsWmY6Il9zaGFyZWRfdXNlcl9pZCIsVWQ6ImRlbGl2ZXJ5X3Bvc3RhbF9jb2RlIixpdToiX3RhZ19maXJpbmdfZGVsYXkiLGp1OiJfdGFnX2ZpcmluZ190aW1lIixrdToidGVtcG9yYXJ5X2NsaWVudF9pZCIsUWk6InRlc3Rvbmx5IixycToiX3RpbWV6b25lIixQZToidG9wbW9zdF91cmwiLFFlOiJ0cmFja2luZ19pZCIsUmk6InRyYWZmaWNfdHlwZSIsClBhOiJ0cmFuc2FjdGlvbl9pZCIsZG06InRyYW5zYWN0aW9uX2lkX3NvdXJjZSIseWM6InRyYW5zcG9ydF91cmwiLHNxOiJ0cmlwX3R5cGUiLFZkOiJ1cGRhdGUiLHpjOiJ1cmxfcGFzc3Rocm91Z2giLGZtOiJ1cHRncyIsY2c6Il91c2VyX2FnZW50X2FyY2hpdGVjdHVyZSIsZGc6Il91c2VyX2FnZW50X2JpdG5lc3MiLGVnOiJfdXNlcl9hZ2VudF9mdWxsX3ZlcnNpb25fbGlzdCIsZmc6Il91c2VyX2FnZW50X21vYmlsZSIsZ2c6Il91c2VyX2FnZW50X21vZGVsIixoZzoiX3VzZXJfYWdlbnRfcGxhdGZvcm0iLGlnOiJfdXNlcl9hZ2VudF9wbGF0Zm9ybV92ZXJzaW9uIixqZzoiX3VzZXJfYWdlbnRfd293NjQiLEFjOiJ1c2VyX2RhdGEiLGdtOiJ1c2VyX2RhdGFfYXV0b19sYXRlbmN5IixobToidXNlcl9kYXRhX2F1dG9fbWV0YSIsaW06InVzZXJfZGF0YV9hdXRvX211bHRpIixqbToidXNlcl9kYXRhX2F1dG9fc2VsZWN0b3JzIixrbToidXNlcl9kYXRhX2F1dG9fc3RhdHVzIixCYzoidXNlcl9kYXRhX21vZGUiLApsbToidXNlcl9kYXRhX3NldHRpbmdzIixmYjoidXNlcl9pZCIsV2Q6InVzZXJfcHJvcGVydGllcyIsb206Il91c2VyX3JlZ2lvbiIsa2c6InVzX3ByaXZhY3lfc3RyaW5nIixRYToidmFsdWUiLHFtOiJ3YnJhaWRfbXVsdGlwbGVfY29udmVyc2lvbnMiLGVkOiJfZnBtX3BhcmFtZXRlcnMiLFdpOiJfaG9zdF9uYW1lIixWbToiX2luX3BhZ2VfY29tbWFuZCIsWWk6Il9pcF9vdmVycmlkZSIsWm06Il9pc19wYXNzdGhyb3VnaF9jaWQiLEpoOiJfbWVhc3VyZW1lbnRfdHlwZSIsZGU6Im5vbl9wZXJzb25hbGl6ZWRfYWRzIixvajoiX3NzdF9wYXJhbWV0ZXJzIixZcToic2d0bV9nZW9fdXNlcl9jb3VudHJ5IixHZDoiY29udmVyc2lvbl9sYWJlbCIsemE6InBhZ2VfbG9jYXRpb24iLFdjOiJfZXh0cmFjdGVkX2RhdGEiLFhjOiJnbG9iYWxfZGV2ZWxvcGVyX2lkX3N0cmluZyIsT2U6InRjX3ByaXZhY3lfc3RyaW5nIn19O3ZhciBIPXtKOntTbzoiYWJvcnRfd2l0aG91dF9mYWlsIixraToiYWNjZXB0X2J5X2RlZmF1bHQiLEJrOiJhZGRfdGFnX3RpbWluZyIsRGs6ImFkc19jb25zZW50X2dyYW50ZWQiLHZkOiJhZHNfZXZlbnRfcGFnZV92aWV3Iix3ZDoiYWxsb3dfYWRfcGVyc29uYWxpemF0aW9uIixRdDoiYXV0b19ldmVudCIsS2s6ImJhdGNoX29uX25hdmlnYXRpb24iLFhnOiJiaXNjb3R0aV9qb2luX2lkIixQazoiY2xpZW50X2lkX3NvdXJjZSIsdWY6ImNvbnNlbnRfZXZlbnRfaWQiLHZmOiJjb25zZW50X3ByaW9yaXR5X2lkIixTdDoiY29uc2VudF9zdGF0ZSIsc2E6ImNvbnNlbnRfdXBkYXRlZCIsd2Y6ImNvbnZlcnNpb25fbGlua2VyX2VuYWJsZWQiLFR0OiJjb252ZXJzaW9uX21hcmtpbmdfY2FsbGVkIixHYToiY29va2llX29wdGlvbnMiLG9sOiJkY19yYW5kb20iLFp0OiJkZWR1cGVfaWQiLFBjOiJlbV9ldmVudCIsYnU6ImVuZHBvaW50X2Zvcl9kZWJ1ZyIsdGw6ImVuaGFuY2VkX2NsaWVudF9pZF9zb3VyY2UiLApwcDoiZW5oYW5jZWRfbWF0Y2hfcmVzdWx0IixybToiZXVpZF9sb2dnZWRfaW5fc3RhdGUiLGxnOiJldWlkX21vZGVfZW5hYmxlZCIsdHE6ImV2ZW50X3Byb3ZlbmFuY2UiLG11OiJldmVudF9zb3VyY2UiLEViOiJldmVudF9zdGFydF90aW1lc3RhbXBfbXMiLHdtOiJldmVudF91c2FnZSIsQ2g6ImV4dHJhX3RhZ19leHBlcmltZW50X2lkcyIscHU6ImFkZF9wYXJhbWV0ZXIiLFVpOiJjb3VudGluZ19tZXRob2QiLERoOiJzZW5kX2FzX2lmcmFtZSIscXU6InBhcmFtZXRlcl9vcmRlciIsRWg6InBhcnNlZF90YXJnZXQiLHN1OiJmb3JtX2V2ZW50X2NhbmNlbGVkIixBcToiZ2E0X2NvbGxlY3Rpb25fc3ViZG9tYWluIixWaToiZ2E0X3JlcXVlc3RfZmxhZ3MiLE5tOiJnYnJhaWRfY29va2llX21hcmtlZCIsUW06Imd0bV9leHRyYWN0ZWRfZGF0YSIsQ2M6ImhhbmRsZV9pbnRlcm5hbGx5Iix1dToiaGFzX2dhX2NvbnZlcnNpb25fY29uc2VudHMiLGRhOiJoaXRfdHlwZSIsRGM6ImhpdF90eXBlX292ZXJyaWRlIiwKSHE6Imlnbm9yZV9kdXBlX2NvbmZpZyIsT3U6ImlzX2NvbmZpZ19jb21tYW5kIixHaDoiaXNfY29uc2VudF91cGRhdGUiLG1nOiJpc19jb252ZXJzaW9uIixXbToiaXNfZWNvbW1lcmNlIixYbToiaXNfZWNfY21fc3BsaXQiLGFlOiJpc19leHRlcm5hbF9ldmVudCIsbmc6ImlzX2ZpcnN0X3Zpc2l0IixZbToiaXNfZmlyc3RfdmlzaXRfY29udmVyc2lvbiIsWmk6ImlzX2ZsX2ZhbGxiYWNrX2NvbnZlcnNpb25fZmxvd19hbGxvd2VkIixmZDoiaXNfZnBtX2VuY3J5cHRpb24iLGFqOiJpc19mcG1fc3BsaXQiLG9iOiJpc19nY3BfYnJvd3NlciIsYmo6ImlzX2dvb2dsZV9tZWFzdXJlbWVudF9hbGxvd2VkIixjajoiaXNfZ29vZ2xlX3NpZ25hbHNfZW5hYmxlZCIsYmU6ImlzX21lcmNoYW50X2NlbnRlciIsSGg6ImlzX25ld190b19zaXRlIixFYzoiaXNfcGVyc29uYWxpemF0aW9uIixkajoiaXNfc2VydmVyX3NpZGVfZGVzdGluYXRpb24iLFRlOiJpc19zZXNzaW9uX3N0YXJ0IixibjoiaXNfc2Vzc2lvbl9zdGFydF9jb252ZXJzaW9uIiwKUHU6ImlzX3NndG1fZ2FfYWRzX2NvbnZlcnNpb25fc3R1ZHlfY29udHJvbF9ncm91cCIsUXU6ImlzX3NndG1fcHJlaGl0IixkbjoiaXNfc2d0bV9zZXJ2aWNlX3dvcmtlciIsSWg6ImlzX3NwbGl0X2NvbnZlcnNpb24iLElxOiJpc19zeW4iLEZjOiJpc190ZXN0X2V2ZW50IixvZzoiam9pbl9pZCIsZWo6ImpvaW5fZWxhcHNlZCIscGc6ImpvaW5fdGltZXJfc2VjIixnbjoibG9jYWxfc3RvcmFnZV9hd19jb252ZXJzaW9uX2NvdW50ZXJzIixXZToidHVubmVsX3VwZGF0ZWQiLFV1OiJwcmVoaXRfZm9yX3JldHJ5IixXdToicHJvbWlzZXMiLFh1OiJyZWNvcmRfYXdfbGF0ZW5jeSIsWGU6InJlZGFjdF9hZHNfZGF0YSIsWWU6InJlZGFjdF9jbGlja19pZHMiLHBuOiJyZW1hcmtldGluZ19vbmx5Iixsajoic2VuZF9jY21fcGFyYWxsZWxfcGluZyIsaGQ6InNlbmRfZG91YmxlY2xpY2tfam9pbiIsTWg6InNlbmRfZnBtX2dlb19qb2luIixOaDoic2VuZF9mcG1fZ29vZ2xlX2pvaW4iLFp1OiJzZW5kX2NjbV9wYXJhbGxlbF90ZXN0X3BpbmciLApybjoic2VuZF9nb29nbGVfbWVhc3VyZW1lbnQiLHJnOiJzZW5kX3RsZF9qb2luIixzZzoic2VuZF90b19kZXN0aW5hdGlvbnMiLG1qOiJzZW5kX3RvX3RhcmdldHMiLHNuOiJzZW5kX3VzZXJfZGF0YV9oaXQiLHBqOiJzZXJ2aWNlX3dvcmtlcl9jb250ZXh0IixOYjoic291cmNlX2Nhbm9uaWNhbF9pZCIsSmE6InNwZWN1bGF0aXZlIix5bjoic3BlY3VsYXRpdmVfaW5fbWVzc2FnZSIsQW46InN1cHByZXNzX3NjcmlwdF9sb2FkIixCbjoic3luX29yX21vZCIsemo6InRyYW5zaWVudF9lY3NpZCIsdGc6InRyYW5zbWlzc2lvbl90eXBlIixZYToidXNlcl9kYXRhIixndjoidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljIixodjoidXNlcl9kYXRhX2Zyb21fYXV0b21hdGljX2dldHRlciIsR246InVzZXJfZGF0YV9mcm9tX2NvZGUiLGlyOiJ1c2VyX2RhdGFfZnJvbV9tYW51YWwiLGp2OiJ1c2VyX2RhdGFfbW9kZSIsdWc6InVzZXJfaWRfdXBkYXRlZCJ9fTsKdmFyIHRnPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9MDtHYihhLGZ1bmN0aW9uKGUsZil7aWYoZiE9bnVsbCl7dmFyIGc9KCIiK2YpLnJlcGxhY2UoL34vZywifn4iKTtpZihxZy5oYXNPd25Qcm9wZXJ0eShlKSliW3FnW2VdXT1nO2Vsc2UgaWYocmcuaGFzT3duUHJvcGVydHkoZSkpe3ZhciBoPXJnW2VdO2IuaGFzT3duUHJvcGVydHkoaCl8fChiW2hdPWcpfWVsc2UgaWYoZT09PSJjYXRlZ29yeSIpZm9yKHZhciBsPWcuc3BsaXQoIi8iLDUpLG49MDtuPGwubGVuZ3RoO24rKyl7dmFyIHA9YixxPXNnW25dLHI9bFtuXTtwLmhhc093blByb3BlcnR5KHEpfHwocFtxXT1yKX1lbHNlIGlmKGM8Mjcpe3ZhciB0PVN0cmluZy5mcm9tQ2hhckNvZGUoYzwxMD80OCtjOjY1K2MtMTApO2JbImsiK3RdPSgiIitTdHJpbmcoZSkpLnJlcGxhY2UoL34vZywifn4iKTtiWyJ2Iit0XT1nO2MrK319fSk7dmFyIGQ9W107R2IoYixmdW5jdGlvbihlLGYpe2QucHVzaCgiIitlK2YpfSk7cmV0dXJuIGQuam9pbigifiIpfSwKcWc9e2l0ZW1faWQ6ImlkIixpdGVtX25hbWU6Im5tIixpdGVtX2JyYW5kOiJiciIsaXRlbV9jYXRlZ29yeToiY2EiLGl0ZW1fY2F0ZWdvcnkyOiJjMiIsaXRlbV9jYXRlZ29yeTM6ImMzIixpdGVtX2NhdGVnb3J5NDoiYzQiLGl0ZW1fY2F0ZWdvcnk1OiJjNSIsaXRlbV92YXJpYW50OiJ2YSIscHJpY2U6InByIixxdWFudGl0eToicXQiLGNvdXBvbjoiY3AiLGl0ZW1fbGlzdF9uYW1lOiJsbiIsaW5kZXg6ImxwIixpdGVtX2xpc3RfaWQ6ImxpIixkaXNjb3VudDoiZHMiLGFmZmlsaWF0aW9uOiJhZiIscHJvbW90aW9uX2lkOiJwaSIscHJvbW90aW9uX25hbWU6InBuIixjcmVhdGl2ZV9uYW1lOiJjbiIsY3JlYXRpdmVfc2xvdDoiY3MiLGxvY2F0aW9uX2lkOiJsbyJ9LHJnPXtpZDoiaWQiLG5hbWU6Im5tIixicmFuZDoiYnIiLHZhcmlhbnQ6InZhIixsaXN0X25hbWU6ImxuIixsaXN0X3Bvc2l0aW9uOiJscCIsbGlzdDoibG4iLHBvc2l0aW9uOiJscCIsY3JlYXRpdmU6ImNuIn0sc2c9WyJjYSIsCiJjMiIsImMzIiwiYzQiLCJjNSJdO3ZhciB1Zz1mdW5jdGlvbihhKXt2YXIgYj1bXTtHYihhLGZ1bmN0aW9uKGMsZCl7ZCE9bnVsbCYmYi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChjKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSkpfSk7cmV0dXJuIGIuam9pbigiJiIpfSx2Zz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgpe3RoaXMuYmFzZVVybD1iO3RoaXMuZW5kcG9pbnQ9Yzt0aGlzLmRlc3RpbmF0aW9uSWQ9Zjt0aGlzLmV2ZW50SWQ9Zzt0aGlzLnByaW9yaXR5SWQ9aDt0aGlzLkJhPWEuQmE7dGhpcy52ZT1hLnZlO3RoaXMuTGo9YS5Majt0aGlzLk49ZDt0aGlzLks9dWcoYS5CYSk7dGhpcy5IPXVnKGEuTGopO3RoaXMuUj10aGlzLkgubGVuZ3RoO2lmKGUmJnRoaXMuUj4xNjM4NCl0aHJvdyBFcnJvcigiRVZFTlRfVE9PX0xBUkdFIik7fTsKdmFyIHdnPWZ1bmN0aW9uKCl7dGhpcy5ldmVudHM9W107dGhpcy5IPSIiO3RoaXMuQmE9e307dGhpcy5iYXNlVXJsPSIiO3RoaXMuTj0wO3RoaXMuSz0xO3RoaXMuZW5kcG9pbnQ9MH07d2cucHJvdG90eXBlLmFkZD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5SKGEpPyh0aGlzLmV2ZW50cy5wdXNoKGEpLHRoaXMuSD1hLkssdGhpcy5CYT1hLkJhLHRoaXMuYmFzZVVybD1hLmJhc2VVcmwsdGhpcy5OKz1hLlIsdGhpcy5LPWEuTix0aGlzLmVuZHBvaW50PWEuZW5kcG9pbnQsdGhpcy5kZXN0aW5hdGlvbklkPWEuZGVzdGluYXRpb25JZCx0aGlzLlo9YS5ldmVudElkLHRoaXMuZmE9YS5wcmlvcml0eUlkLCEwKTohMX07d2cucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZXZlbnRzLmxlbmd0aD90aGlzLmV2ZW50cy5sZW5ndGg+PTIwfHxhLlIrdGhpcy5OPj0xNjM4ND8hMTp0aGlzLmJhc2VVcmw9PT1hLmJhc2VVcmwmJnRoaXMuSz09PWEuTiYmdGhpcy5qYShhKTohMH07CndnLnByb3RvdHlwZS5qYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5IPT09YS5LfTt2YXIgSj17VTp7a3A6MSxtcDoyLEVuOjMsbm46NCxxbDo1LHJsOjYsRXE6NyxucDo4LERxOjksanA6MTAsaHA6MTEseG46MTIsdm46MTMsTms6MTQsVW86MTUsV286MTYsaG46MTcsc2w6MTgsZm46MTksbHA6MjAsUHE6MjEsYXA6MjIsVm86MjMsWG86MjQsbmw6MjUsTGs6MjYsZXI6MjcsSm06MjgsVW06MjksVG06MzAsU206MzEsTW06MzIsS206MzMsTG06MzQsR206MzUsRm06MzYsSG06MzcsSW06MzgsQnE6MzksQ3E6NDAsVXE6NDF9fTtKLlVbSi5VLmtwXT0iQ1JFQVRFX0VWRU5UX1NPVVJDRSI7Si5VW0ouVS5tcF09IkVESVRfRVZFTlQiO0ouVVtKLlUuRW5dPSJUUkFGRklDX1RZUEUiO0ouVVtKLlUubm5dPSJSRUZFUlJBTF9FWENMVVNJT04iO0ouVVtKLlUucWxdPSJFQ09NTUVSQ0VfRlJPTV9HVE1fVEFHIjtKLlVbSi5VLnJsXT0iRUNPTU1FUkNFX0ZST01fR1RNX1VBX1NDSEVNQSI7Si5VW0ouVS5FcV09IkdBX1NFTkQiO0ouVVtKLlUubnBdPSJFTV9GT1JNIjsKSi5VW0ouVS5EcV09IkdBX0dBTV9MSU5LIjtKLlVbSi5VLmpwXT0iQ1JFQVRFX0VWRU5UX0FVVE9fUEFHRV9QQVRIIjtKLlVbSi5VLmhwXT0iQ1JFQVRFRF9FVkVOVCI7Si5VW0ouVS54bl09IlNJREVMT0FERUQiO0ouVVtKLlUudm5dPSJTR1RNX0xFR0FDWV9DT05GSUdVUkFUSU9OIjtKLlVbSi5VLk5rXT0iQ0NEX0VNX0VWRU5UIjtKLlVbSi5VLlVvXT0iQVVUT19SRURBQ1RfRU1BSUwiO0ouVVtKLlUuV29dPSJBVVRPX1JFREFDVF9RVUVSWV9QQVJBTSI7Si5VW0ouVS5obl09Ik1VTFRJUExFX1BBR0VWSUVXX0ZST01fQ09ORklHIjtKLlVbSi5VLnNsXT0iRU1fRVZFTlRfU0VOVF9CRUZPUkVfQ09ORklHIjtKLlVbSi5VLmZuXT0iTE9BREVEX1ZJQV9DU1RfT1JfU0lERUxPQURJTkciO0ouVVtKLlUubHBdPSJERUNPREVEX1BBUkFNX01BVENIIjtKLlVbSi5VLlBxXT0iTk9OX0RFQ09ERURfUEFSQU1fTUFUQ0giO0ouVVtKLlUuYXBdPSJDQ0RfRVZFTlRfU0dUTSI7CkouVVtKLlUuVm9dPSJBVVRPX1JFREFDVF9FTUFJTF9TR1RNIjtKLlVbSi5VLlhvXT0iQVVUT19SRURBQ1RfUVVFUllfUEFSQU1fU0dUTSI7Si5VW0ouVS5ubF09IkRBSUxZX0xJTUlUX1JFQUNIRUQiO0ouVVtKLlUuTGtdPSJCVVJTVF9MSU1JVF9SRUFDSEVEIjtKLlVbSi5VLmVyXT0iU0hBUkVEX1VTRVJfSURfU0VUX0FGVEVSX1JFUVVFU1QiO0ouVVtKLlUuSm1dPSJHQTRfTVVMVElQTEVfU0VTU0lPTl9DT09LSUVTIjtKLlVbSi5VLlVtXT0iSU5WQUxJRF9HQTRfU0VTU0lPTl9DT1VOVCI7Si5VW0ouVS5UbV09IklOVkFMSURfR0E0X0xBU1RfRVZFTlRfVElNRVNUQU1QIjtKLlVbSi5VLlNtXT0iSU5WQUxJRF9HQTRfSk9JTl9USU1FUiI7Si5VW0ouVS5NbV09IkdBNF9TVEFMRV9TRVNTSU9OX0NPT0tJRV9TRUxFQ1RFRCI7Si5VW0ouVS5LbV09IkdBNF9TRVNTSU9OX0NPT0tJRV9HUzFfUkVBRCI7Si5VW0ouVS5MbV09IkdBNF9TRVNTSU9OX0NPT0tJRV9HUzJfUkVBRCI7CkouVVtKLlUuR21dPSJHQTRfRExfUEFSQU1fUkVDT1ZFUllfQVZBSUxBQkxFIjtKLlVbSi5VLkZtXT0iR0E0X0RMX1BBUkFNX1JFQ09WRVJZX0FQUExJRUQiO0ouVVtKLlUuSG1dPSJHQTRfR09PR0xFX01FQVNVUkVNRU5UX0FMTE9XRUQiO0ouVVtKLlUuSW1dPSJHQTRfR09PR0xFX1NJR05BTFNfRU5BQkxFRCI7Si5VW0ouVS5CcV09IkdBNF9GQUxMQkFDS19SRVFVRVNUIjtKLlVbSi5VLkNxXT0iR0FfQURTX0xJTktfQkVGT1JFX0NPTlZFUlNJT05fTUFSS0lORyI7Si5VW0ouVS5VcV09IlBMQVRJTlVNX0VMSUdJQkxFIjt2YXIgeGc9e30seWc9KHhnLnVhYT0hMCx4Zy51YWI9ITAseGcudWFmdmw9ITAseGcudWFtYj0hMCx4Zy51YW09ITAseGcudWFwPSEwLHhnLnVhcHY9ITAseGcudWF3PSEwLHhnKTsKdmFyIEJnPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5ldmVudHM7aWYoYy5sZW5ndGg9PT0xKXJldHVybiB6ZyhjWzBdLGIpO3ZhciBkPVtdO2EuSCYmZC5wdXNoKGEuSCk7Zm9yKHZhciBlPXt9LGY9MDtmPGMubGVuZ3RoO2YrKylHYihjW2ZdLnZlLGZ1bmN0aW9uKHQsdSl7dSE9bnVsbCYmKGVbdF09ZVt0XXx8e30sZVt0XVtTdHJpbmcodSldPWVbdF1bU3RyaW5nKHUpXSsxfHwxKX0pO3ZhciBnPXt9O0diKGUsZnVuY3Rpb24odCx1KXt2YXIgdix4PS0xLHk9MDtHYih1LGZ1bmN0aW9uKHosQyl7eSs9Qzt2YXIgRD0oei5sZW5ndGgrdC5sZW5ndGgrMikqKEMtMSk7RD54JiYodj16LHg9RCl9KTt5PT09Yy5sZW5ndGgmJihnW3RdPXYpfSk7QWcoZyxkKTtiJiZkLnB1c2goIl9zPSIrYik7Zm9yKHZhciBoPWQuam9pbigiJiIpLGw9W10sbj17fSxwPTA7cDxjLmxlbmd0aDtuPXtmazp2b2lkIDB9LHArKyl7dmFyIHE9W107bi5maz17fTtHYihjW3BdLnZlLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih1LAp2KXtnW3VdIT09IiIrdiYmKHQuZmtbdV09dil9fShuKSk7Y1twXS5IJiZxLnB1c2goY1twXS5IKTtBZyhuLmZrLHEpO2wucHVzaChxLmpvaW4oIiYiKSl9dmFyIHI9bC5qb2luKCJcclxuIik7cmV0dXJue3BhcmFtczpoLGJvZHk6cn19LHpnPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107YS5LJiZjLnB1c2goYS5LKTtiJiZjLnB1c2goIl9zPSIrYik7QWcoYS52ZSxjKTt2YXIgZD0hMTthLkgmJihjLnB1c2goYS5IKSxkPSEwKTt2YXIgZT1jLmpvaW4oIiYiKSxmPSIiLGc9ZS5sZW5ndGgrYS5iYXNlVXJsLmxlbmd0aCsxO2QmJmc+MjA0OCYmKGY9Yy5wb3AoKSxlPWMuam9pbigiJiIpKTtyZXR1cm57cGFyYW1zOmUsYm9keTpmfX0sQWc9ZnVuY3Rpb24oYSxiKXtHYihhLGZ1bmN0aW9uKGMsZCl7ZCE9bnVsbCYmYi5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChjKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGQpKX0pfTsKdmFyIEVnPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWEsZT1iW2NdO2lmKCFDZy5leGVjKGUpKXRocm93IEVycm9yKCJJbnZhbGlkIGtleSB3aWxkY2FyZCIpO3ZhciBmPWUuaW5kZXhPZigiLioiKSxnPWYhPT0tMSYmZj09PWUubGVuZ3RoLTIsaD1nP2Uuc2xpY2UoMCxlLmxlbmd0aC0yKTplLGw7YTppZihkLmxlbmd0aD09PTApbD0hMTtlbHNle2Zvcih2YXIgbj1kLnNwbGl0KCIuIikscD0wO3A8bi5sZW5ndGg7cCsrKWlmKCFEZy5leGVjKG5bcF0pKXtsPSExO2JyZWFrIGF9bD0hMH1pZighbHx8aC5sZW5ndGg+ZC5sZW5ndGh8fCFnJiZkLmxlbmd0aCE9PWUubGVuZ3RoPzA6Zz9TYihkLGgpJiYoZD09PWh8fGQuY2hhckF0KGgubGVuZ3RoKT09PSIuIik6ZD09PWgpcmV0dXJuITB9cmV0dXJuITF9LERnPS9eW2EteiRfXVtcdy0kXSokL2ksQ2c9L14oPzpbYS16XyRdW2Etei1fJDAtOV0qXC4pKlthLXpfJF1bYS16LV8kMC05XSooPzpcLlwqKT8kL2k7CnZhciBGZz1bIm1hdGNoZXMiLCJ3ZWJraXRNYXRjaGVzU2VsZWN0b3IiLCJtb3pNYXRjaGVzU2VsZWN0b3IiLCJtc01hdGNoZXNTZWxlY3RvciIsIm9NYXRjaGVzU2VsZWN0b3IiXTtmdW5jdGlvbiBHZyhhLGIpe2lmKCFhKXJldHVybiExO3RyeXtmb3IodmFyIGM9MDtjPEZnLmxlbmd0aDtjKyspe3ZhciBkPUZnW2NdO2lmKGFbZF0hPW51bGwpcmV0dXJuIGFbZF0oYil9fWNhdGNoKGUpe31yZXR1cm4hMX1mdW5jdGlvbiBIZyhhLGIpe3ZhciBjPVN0cmluZyhhKSxkPVN0cmluZyhiKSxlPWMubGVuZ3RoLWQubGVuZ3RoO3JldHVybiBlPj0wJiZjLmluZGV4T2YoZCxlKT09PWV9ZnVuY3Rpb24gSWcoYSxiKXtyZXR1cm4gU3RyaW5nKGEpLnNwbGl0KCIsIikuaW5kZXhPZihTdHJpbmcoYikpPj0wfQpmdW5jdGlvbiBKZyhhLGIsYyxkKXt2YXIgZT1jPyJpIjp2b2lkIDA7dHJ5e3ZhciBmPVN0cmluZyhiKStTdHJpbmcoZSksZz1kPT1udWxsP3ZvaWQgMDpkLmdldChmKTtnfHwoZz1uZXcgUmVnRXhwKGIsZSksZD09bnVsbHx8ZC5zZXQoZixnKSk7cmV0dXJuIGcudGVzdChhKX1jYXRjaChoKXtyZXR1cm4hMX19ZnVuY3Rpb24gS2coYSxiKXtyZXR1cm4gU3RyaW5nKGEpLmluZGV4T2YoU3RyaW5nKGIpKT49MH1mdW5jdGlvbiBMZyhhLGIpe3JldHVybiBTdHJpbmcoYSk9PT1TdHJpbmcoYil9ZnVuY3Rpb24gTWcoYSxiKXtyZXR1cm4gTnVtYmVyKGEpPj1OdW1iZXIoYil9ZnVuY3Rpb24gTmcoYSxiKXtyZXR1cm4gTnVtYmVyKGEpPD1OdW1iZXIoYil9ZnVuY3Rpb24gT2coYSxiKXtyZXR1cm4gTnVtYmVyKGEpPk51bWJlcihiKX1mdW5jdGlvbiBQZyhhLGIpe3JldHVybiBOdW1iZXIoYSk8TnVtYmVyKGIpfQpmdW5jdGlvbiBRZyhhLGIpe3JldHVybiBTYihTdHJpbmcoYSksU3RyaW5nKGIpKX07ZnVuY3Rpb24gWGcoYSl7dmFyIGI9YS5zZWFyY2g7cmV0dXJuIGEucHJvdG9jb2wrIi8vIithLmhvc3RuYW1lK2EucGF0aG5hbWUrKGI/YisiJnJpY2hzc3Rzc2UiOiI/cmljaHNzdHNzZSIpfTt2YXIgWWc9ZnVuY3Rpb24oKXt0aGlzLlI9IiJ9LCRnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGM9Yi5mYWxsYmFja191cmwsZD1iLmZhbGxiYWNrX3VybF9tZXRob2Q7aWYoYyYmZCl7dmFyIGU9e307WmcoYSwoZVtkXT1bY10sZS5vcHRpb25zPXt9LGUpKX19fSxhaD1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGQ9bShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTt0eXBlb2YgZj09PSJzdHJpbmciJiZjKGYsYil9fSxaZz1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPUNkKGIub3B0aW9ucyk/Yi5vcHRpb25zOnt9LGQ9bShPYmplY3Qua2V5cyhiKSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWUsZz1iW2ZdO3N3aXRjaChmKXtjYXNlICJzZW5kX3BpeGVsIjphaChnLGMsZnVuY3Rpb24oaCxsKXtyZXR1cm4gdm9pZCBhLksoaCxsKX0pO2JyZWFrO2Nhc2UgImZldGNoIjphaChnLApjLGZ1bmN0aW9uKGgsbCl7cmV0dXJuIHZvaWQgYS5IKGgsbCl9KX19fTt2YXIgYmg9L14oW2Etel1bYS16MC05XSopOighfFw/KShcKnxzdHJpbmd8Ym9vbGVhbnxudW1iZXJ8Rm58UGl4aWVNYXB8TGlzdHxPcGFxdWVWYWx1ZSkkL2ksY2g9e0ZuOiJmdW5jdGlvbiIsUGl4aWVNYXA6Ik9iamVjdCIsTGlzdDoiQXJyYXkifTsKZnVuY3Rpb24gZGgoYSxiKXtmb3IodmFyIGM9WyJpbnB1dDohKiJdLGQ9MDtkPGMubGVuZ3RoO2QrKyl7dmFyIGU9YmguZXhlYyhjW2RdKTtpZighZSl0aHJvdyBFcnJvcigiSW50ZXJuYWwgRXJyb3IgaW4gIithKTt2YXIgZj1lWzFdLGc9ZVsyXT09PSIhIixoPWVbM10sbD1iW2RdO2lmKGw9PW51bGwpe2lmKGcpdGhyb3cgRXJyb3IoIkVycm9yIGluICIrYSsiLiBSZXF1aXJlZCBhcmd1bWVudCAiK2YrIiBub3Qgc3VwcGxpZWQuIik7fWVsc2UgaWYoaCE9PSIqIil7dmFyIG49dHlwZW9mIGw7bCBpbnN0YW5jZW9mIEtkP249IkZuIjpsIGluc3RhbmNlb2YgR2Q/bj0iTGlzdCI6bCBpbnN0YW5jZW9mIGtiP249IlBpeGllTWFwIjpsIGluc3RhbmNlb2YgU2Q/bj0iUGl4aWVQcm9taXNlIjpsIGluc3RhbmNlb2YgUGQmJihuPSJPcGFxdWVWYWx1ZSIpO2lmKG4hPT1oKXRocm93IEVycm9yKCJFcnJvciBpbiAiK2ErIi4gQXJndW1lbnQgIitmKyIgaGFzIHR5cGUgIisoKGNoW25dfHxuKSsiLCB3aGljaCBkb2VzIG5vdCBtYXRjaCByZXF1aXJlZCB0eXBlICIpKwooKGNoW2hdfHxoKSsiLiIpKTt9fX1mdW5jdGlvbiBLKGEsYixjKXtmb3IodmFyIGQ9W10sZT1tKGMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2cgaW5zdGFuY2VvZiBLZD9kLnB1c2goImZ1bmN0aW9uIik6ZyBpbnN0YW5jZW9mIEdkP2QucHVzaCgiQXJyYXkiKTpnIGluc3RhbmNlb2Yga2I/ZC5wdXNoKCJPYmplY3QiKTpnIGluc3RhbmNlb2YgU2Q/ZC5wdXNoKCJQcm9taXNlIik6ZyBpbnN0YW5jZW9mIFBkP2QucHVzaCgiT3BhcXVlVmFsdWUiKTpkLnB1c2godHlwZW9mIGcpfXJldHVybiBFcnJvcigiQXJndW1lbnQgZXJyb3IgaW4gIithKyIuIEV4cGVjdGVkIGFyZ3VtZW50IHR5cGVzIFsiKyhiLmpvaW4oIiwiKSsiXSwgYnV0IHJlY2VpdmVkIFsiKSsoZC5qb2luKCIsIikrIl0uIikpfWZ1bmN0aW9uIGVoKGEpe3JldHVybiBhIGluc3RhbmNlb2Yga2J9ZnVuY3Rpb24gZmgoYSl7cmV0dXJuIGVoKGEpfHxhPT09bnVsbHx8Z2goYSl9CmZ1bmN0aW9uIGhoKGEpe3JldHVybiBhIGluc3RhbmNlb2YgS2R9ZnVuY3Rpb24gaWgoYSl7cmV0dXJuIGhoKGEpfHxhPT09bnVsbHx8Z2goYSl9ZnVuY3Rpb24gamgoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBHZH1mdW5jdGlvbiBraChhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIFBkfWZ1bmN0aW9uIGxoKGEpe3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmcifWZ1bmN0aW9uIG1oKGEpe3JldHVybiBsaChhKXx8YT09PW51bGx8fGdoKGEpfWZ1bmN0aW9uIG5oKGEpe3JldHVybiB0eXBlb2YgYT09PSJib29sZWFuIn1mdW5jdGlvbiBvaChhKXtyZXR1cm4gbmgoYSl8fGdoKGEpfWZ1bmN0aW9uIHBoKGEpe3JldHVybiBuaChhKXx8YT09PW51bGx8fGdoKGEpfWZ1bmN0aW9uIHFoKGEpe3JldHVybiB0eXBlb2YgYT09PSJudW1iZXIifWZ1bmN0aW9uIGdoKGEpe3JldHVybiBhPT09dm9pZCAwfTtmdW5jdGlvbiByaChhKXtyZXR1cm4iIithfQpmdW5jdGlvbiBzaChhLGIpe3ZhciBjPVtdO3JldHVybiBjfTtmdW5jdGlvbiB0aChhLGIpe3ZhciBjPW5ldyBLZChhLGZ1bmN0aW9uKCl7Zm9yKHZhciBkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKSxlPTA7ZTxkLmxlbmd0aDtlKyspZFtlXT10aGlzLmV2YWx1YXRlKGRbZV0pO3RyeXtyZXR1cm4gYi5hcHBseSh0aGlzLGQpfWNhdGNoKGcpe3Rocm93IGNiKGcpO319KTtjLlphKCk7cmV0dXJuIGN9CmZ1bmN0aW9uIHVoKGEsYil7dmFyIGM9bmV3IGtiLGQ7Zm9yKGQgaW4gYilpZihiLmhhc093blByb3BlcnR5KGQpKXt2YXIgZT1iW2RdO3liKGUpP2Muc2V0KGQsdGgoYSsiXyIrZCxlKSk6Q2QoZSk/Yy5zZXQoZCx1aChhKyJfIitkLGUpKTooQWIoZSl8fHpiKGUpfHx0eXBlb2YgZT09PSJib29sZWFuIikmJmMuc2V0KGQsZSl9Yy5aYSgpO3JldHVybiBjfTtmdW5jdGlvbiB3aChhLGIpe2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtpZighbWgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dmFyIGM9e30sZD1uZXcga2I7cmV0dXJuIGQ9dWgoIkFzc2VydEFwaVN1YmplY3QiLApjKX07ZnVuY3Rpb24geGgoYSxiKXtpZighbWgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7aWYoYSBpbnN0YW5jZW9mIFNkKXRocm93IEVycm9yKCJBcmd1bWVudCBhY3R1YWwgY2Fubm90IGhhdmUgdHlwZSBQcm9taXNlLiBBc3NlcnRpb25zIG9uIGFzeW5jaHJvbm91cyBjb2RlIGFyZW4ndCBzdXBwb3J0ZWQuIik7dmFyIGM9e30sZD1uZXcga2I7cmV0dXJuIGQ9dWgoIkFzc2VydFRoYXRTdWJqZWN0IixjKX07ZnVuY3Rpb24geWgoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBiPU9hLmFwcGx5KDAsYXJndW1lbnRzKSxjPVtdLGQ9dGhpcy5ULGU9MDtlPGIubGVuZ3RoOysrZSljLnB1c2goVGQoYltlXSxkKSk7cmV0dXJuIFVkKGEuYXBwbHkobnVsbCxjKSl9fWZ1bmN0aW9uIHpoKCl7Zm9yKHZhciBhPU1hdGgsYj1BaCxjPXt9LGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTthLmhhc093blByb3BlcnR5KGUpJiYoY1tlXT15aChhW2VdLmJpbmQoYSkpKX1yZXR1cm4gY307ZnVuY3Rpb24gQmgoYSl7cmV0dXJuIGEhPW51bGwmJlNiKGEsIl9fY3Z0XyIpfTtmdW5jdGlvbiBDaChhKXt2YXIgYjtyZXR1cm4gYn07ZnVuY3Rpb24gRGgoYSl7dmFyIGI7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO3RyeXtiPWRlY29kZVVSSUNvbXBvbmVudChhKX1jYXRjaChjKXt9cmV0dXJuIGJ9O2Z1bmN0aW9uIEVoKGEpe3RyeXtyZXR1cm4gZW5jb2RlVVJJKGEpfWNhdGNoKGIpe319O2Z1bmN0aW9uIEZoKGEpe3RyeXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhhKSl9Y2F0Y2goYil7fX07ZnVuY3Rpb24gR2goYSxiKXt2YXIgYz0hMTt2YXIgZD1KU09OLnBhcnNlKGEpO2lmKCFkKXRocm93IEVycm9yKCJJbnZhbGlkIGJvb2xlYW4gZXhwcmVzc2lvbiBzdHJpbmcgd2FzIGdpdmVuLiIpO2M9SGgoZCxiKTtyZXR1cm4gY30KdmFyIEloPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7YzxiLmxlbmd0aDtjKyspe2lmKGE9PT12b2lkIDApcmV0dXJuO2E9YVtiW2NdXX1yZXR1cm4gYX0sSmg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnByZUhpdDtpZihjKXt2YXIgZD1hWzBdO3N3aXRjaChkKXtjYXNlICJoaXREYXRhIjpyZXR1cm4gYS5sZW5ndGg8Mj92b2lkIDA6SWgoYy5nZXRIaXREYXRhKGFbMV0pLGEuc2xpY2UoMikpO2Nhc2UgIm1ldGFkYXRhIjpyZXR1cm4gYS5sZW5ndGg8Mj92b2lkIDA6SWgoYy5nZXRNZXRhZGF0YShhWzFdKSxhLnNsaWNlKDIpKTtjYXNlICJldmVudE5hbWUiOnJldHVybiBjLmdldEV2ZW50TmFtZSgpO2Nhc2UgImRlc3RpbmF0aW9uSWQiOnJldHVybiBjLmdldERlc3RpbmF0aW9uSWQoKTtkZWZhdWx0OnRocm93IEVycm9yKGQrIiBpcyBub3QgYSB2YWxpZCBmaWVsZCB0aGF0IGNhbiBiZSBhY2Nlc3NlZFxuICAgICAgICAgICAgICAgICAgICAgIGZyb20gUHJlSGl0IGRhdGEuIik7fX19LApLaD1mdW5jdGlvbihhLGIpe2lmKGEpe2lmKGEuY29udGV4dFZhbHVlIT09dm9pZCAwKXt2YXIgYzthOnt2YXIgZD1hLmNvbnRleHRWYWx1ZSxlPWQua2V5UGFydHM7aWYoZSYmZS5sZW5ndGghPT0wKXt2YXIgZj1kLm5hbWVzcGFjZVR5cGU7c3dpdGNoKGYpe2Nhc2UgMTpjPUpoKGUsYik7YnJlYWsgYTtjYXNlIDI6dmFyIGc9Yi5tYWNybztjPWc/Z1tlWzBdXTp2b2lkIDA7YnJlYWsgYTtkZWZhdWx0OnRocm93IEVycm9yKCJVbmtub3duIE5hbWVzcGFjZSBUeXBlIHVzZWQ6ICIrZik7fX1jPXZvaWQgMH1yZXR1cm4gY31pZihhLmJvb2xlYW5FeHByZXNzaW9uVmFsdWUhPT12b2lkIDApcmV0dXJuIEhoKGEuYm9vbGVhbkV4cHJlc3Npb25WYWx1ZSxiKTtpZihhLmJvb2xlYW5WYWx1ZSE9PXZvaWQgMClyZXR1cm4hIWEuYm9vbGVhblZhbHVlO2lmKGEuc3RyaW5nVmFsdWUhPT12b2lkIDApcmV0dXJuIFN0cmluZyhhLnN0cmluZ1ZhbHVlKTtpZihhLmludGVnZXJWYWx1ZSE9PXZvaWQgMClyZXR1cm4gTnVtYmVyKGEuaW50ZWdlclZhbHVlKTsKaWYoYS5kb3VibGVWYWx1ZSE9PXZvaWQgMClyZXR1cm4gTnVtYmVyKGEuZG91YmxlVmFsdWUpO3Rocm93IEVycm9yKCJVbmtub3duIGZpZWxkIHVzZWQgZm9yIHZhcmlhYmxlIG9mIHR5cGUgRXhwcmVzc2lvblZhbHVlOiIrYSk7fX0sSGg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmFyZ3M7aWYoIUFycmF5LmlzQXJyYXkoYyl8fGMubGVuZ3RoPT09MCl0aHJvdyBFcnJvcignSW52YWxpZCBib29sZWFuIGV4cHJlc3Npb24gZm9ybWF0LiBFeHBlY3RlZCAiYXJncyI6JytjKyIgcHJvcGVydHkgdG9cbiAgICAgICAgIGJlIG5vbi1lbXB0eSBhcnJheS4iKTt2YXIgZD1mdW5jdGlvbihnKXtyZXR1cm4gS2goZyxiKX07c3dpdGNoKGEudHlwZSl7Y2FzZSAxOmZvcih2YXIgZT0wO2U8Yy5sZW5ndGg7ZSsrKWlmKGQoY1tlXSkpcmV0dXJuITA7cmV0dXJuITE7Y2FzZSAyOmZvcih2YXIgZj0wO2Y8Yy5sZW5ndGg7ZisrKWlmKCFkKGNbZl0pKXJldHVybiExO3JldHVybiBjLmxlbmd0aD4wO2Nhc2UgMzpyZXR1cm4hZChjWzBdKTsKY2FzZSA0OnJldHVybiBKZyhkKGNbMF0pLGQoY1sxXSksITEsYi5yZWdleENhY2hlKTtjYXNlIDU6cmV0dXJuIExnKGQoY1swXSksZChjWzFdKSk7Y2FzZSA2OnJldHVybiBRZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgNzpyZXR1cm4gSGcoZChjWzBdKSxkKGNbMV0pKTtjYXNlIDg6cmV0dXJuIEtnKGQoY1swXSksZChjWzFdKSk7Y2FzZSA5OnJldHVybiBQZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgMTA6cmV0dXJuIE5nKGQoY1swXSksZChjWzFdKSk7Y2FzZSAxMTpyZXR1cm4gT2coZChjWzBdKSxkKGNbMV0pKTtjYXNlIDEyOnJldHVybiBNZyhkKGNbMF0pLGQoY1sxXSkpO2Nhc2UgMTM6cmV0dXJuIElnKGQoY1swXSksU3RyaW5nKGQoY1sxXSkpKTtkZWZhdWx0OnRocm93IEVycm9yKCdJbnZhbGlkIGJvb2xlYW4gZXhwcmVzc2lvbiBmb3JtYXQuIEV4cGVjdGVkICJ0eXBlIiBwcm9wZXJ0eSB0b2JlIGEgcG9zaXRpdmUgaW50ZWdlciB3aGljaCBpcyBsZXNzIHRoYW4gMTQuJyk7fX07CmZ1bmN0aW9uIExoKGEpe2lmKCFtaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7fTtmdW5jdGlvbiBNaChhKXt2YXIgYj1UZChhKTtyZXR1cm4gbmcoYj8iIitiOiIiKX07ZnVuY3Rpb24gTmgoYSxiKXtpZighcWgoYSl8fCFxaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsibnVtYmVyIiwibnVtYmVyIl0sYXJndW1lbnRzKTtyZXR1cm4gRGIoYSxiKX07ZnVuY3Rpb24gT2goKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX07ZnVuY3Rpb24gUGgoYSl7aWYoYT09PW51bGwpcmV0dXJuIm51bGwiO2lmKGEgaW5zdGFuY2VvZiBHZClyZXR1cm4iYXJyYXkiO2lmKGEgaW5zdGFuY2VvZiBLZClyZXR1cm4iZnVuY3Rpb24iO2lmKGEgaW5zdGFuY2VvZiBQZCl7dmFyIGI9YS5nZXRWYWx1ZSgpO2lmKChiPT1udWxsP3ZvaWQgMDpiLmNvbnN0cnVjdG9yKT09PXZvaWQgMHx8Yi5jb25zdHJ1Y3Rvci5uYW1lPT09dm9pZCAwKXt2YXIgYz1TdHJpbmcoYik7cmV0dXJuIGMuc3Vic3RyaW5nKDgsYy5sZW5ndGgtMSl9cmV0dXJuIFN0cmluZyhiLmNvbnN0cnVjdG9yLm5hbWUpfXJldHVybiB0eXBlb2YgYX07ZnVuY3Rpb24gUWgoYSl7ZnVuY3Rpb24gYihjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dHJ5e3JldHVybiBjKGQpfWNhdGNoKGUpeyhsZ3x8bWcuUG8pJiZhLmNhbGwodGhpcyxlLm1lc3NhZ2UpfX19cmV0dXJue3BhcnNlOmIoZnVuY3Rpb24oYyl7cmV0dXJuIFVkKEpTT04ucGFyc2UoYykpfSksc3RyaW5naWZ5OmIoZnVuY3Rpb24oYyl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFRkKGMpKX0pLHB1YmxpY05hbWU6IkpTT04ifX07ZnVuY3Rpb24gUmgoYSl7cmV0dXJuIEliKFRkKGEsdGhpcy5UKSl9O2Z1bmN0aW9uIFNoKGEpe3JldHVybiBOdW1iZXIoVGQoYSx0aGlzLlQpKX07ZnVuY3Rpb24gVGgoYSl7cmV0dXJuIGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEudG9TdHJpbmcoKX07ZnVuY3Rpb24gVWgoYSxiLGMpe3ZhciBkPW51bGwsZT0hMTtyZXR1cm4gZT9kOm51bGx9O3ZhciBBaD0iZmxvb3IgY2VpbCByb3VuZCBtYXggbWluIGFicyBwb3cgc3FydCIuc3BsaXQoIiAiKTtmdW5jdGlvbiBWaCgpe3ZhciBhPXt9O3JldHVybntXcjpmdW5jdGlvbihiKXtyZXR1cm4gYS5oYXNPd25Qcm9wZXJ0eShiKT9hW2JdOnZvaWQgMH0sS286ZnVuY3Rpb24oYixjKXthW2JdPWN9LHJlc2V0OmZ1bmN0aW9uKCl7YT17fX19fWZ1bmN0aW9uIFdoKGEsYil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIEtkLnByb3RvdHlwZS5pbnZva2UuYXBwbHkoYSxbYl0uY29uY2F0KHcoT2EuYXBwbHkoMCxhcmd1bWVudHMpKSkpfX0KZnVuY3Rpb24gWGgoYSxiKXtpZighbGgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImFueSJdLGFyZ3VtZW50cyk7fQpmdW5jdGlvbiBZaChhLGIpe2lmKCFsaChhKXx8IWVoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJQaXhpZU1hcCJdLGFyZ3VtZW50cyk7fTt2YXIgWmg9e307dmFyICRoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBrYjtpZihhIGluc3RhbmNlb2YgR2QpZm9yKHZhciBjPWEuRmEoKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF07YS5oYXMoZSkmJmIuc2V0KGUsYS5nZXQoZSkpfWVsc2UgaWYoYSBpbnN0YW5jZW9mIEtkKWZvcih2YXIgZj1hLkZhKCksZz0wO2c8Zi5sZW5ndGg7ZysrKXt2YXIgaD1mW2ddO2Iuc2V0KGgsYS5nZXQoaCkpfWVsc2UgZm9yKHZhciBsPTA7bDxhLmxlbmd0aDtsKyspYi5zZXQobCxhW2xdKTtyZXR1cm4gYn07ClpoLmtleXM9ZnVuY3Rpb24oYSl7ZGgodGhpcy5nZXROYW1lKCksYXJndW1lbnRzKTtpZihhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZHx8dHlwZW9mIGE9PT0ic3RyaW5nIilhPSRoKGEpO2lmKGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkKXJldHVybiBuZXcgR2QoYS5GYSgpKTtyZXR1cm4gbmV3IEdkfTsKWmgudmFsdWVzPWZ1bmN0aW9uKGEpe2RoKHRoaXMuZ2V0TmFtZSgpLGFyZ3VtZW50cyk7aWYoYSBpbnN0YW5jZW9mIEdkfHxhIGluc3RhbmNlb2YgS2R8fHR5cGVvZiBhPT09InN0cmluZyIpYT0kaChhKTtpZihhIGluc3RhbmNlb2Yga2J8fGEgaW5zdGFuY2VvZiBTZClyZXR1cm4gbmV3IEdkKGEuaGMoKSk7cmV0dXJuIG5ldyBHZH07ClpoLmVudHJpZXM9ZnVuY3Rpb24oYSl7ZGgodGhpcy5nZXROYW1lKCksYXJndW1lbnRzKTtpZihhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZHx8dHlwZW9mIGE9PT0ic3RyaW5nIilhPSRoKGEpO2lmKGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkKXJldHVybiBuZXcgR2QoYS5mYygpLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gbmV3IEdkKGIpfSkpO3JldHVybiBuZXcgR2R9OwpaaC5mcmVlemU9ZnVuY3Rpb24oYSl7KGEgaW5zdGFuY2VvZiBrYnx8YSBpbnN0YW5jZW9mIFNkfHxhIGluc3RhbmNlb2YgR2R8fGEgaW5zdGFuY2VvZiBLZCkmJmEuWmEoKTtyZXR1cm4gYX07WmguZGVsZXRlPWZ1bmN0aW9uKGEsYil7aWYoYSBpbnN0YW5jZW9mIGtiJiYhYS5IYigpKXJldHVybiBhLnJlbW92ZShiKSwhMDtyZXR1cm4hMX07ZnVuY3Rpb24gTChhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkPWEuVC54YigpO2lmKCFkKXRocm93IEVycm9yKCJNaXNzaW5nIHByb2dyYW0gc3RhdGUuIik7aWYoZC5pdCl7dHJ5e2QuUm4uYXBwbHkobnVsbCxbYl0uY29uY2F0KHcoYykpKX1jYXRjaChlKXt0aHJvdyBzYigiVEFHR0lORyIsMjEpLGU7fXJldHVybn1kLlJuLmFwcGx5KG51bGwsW2JdLmNvbmNhdCh3KGMpKSl9O3ZhciBhaT1mdW5jdGlvbigpe3RoaXMuSz17fTt0aGlzLkg9e307dGhpcy5OPSEwO307YWkucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY29udGFpbnMoYSk/dGhpcy5LW2FdOnZvaWQgMDtyZXR1cm4gY307YWkucHJvdG90eXBlLmNvbnRhaW5zPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLksuaGFzT3duUHJvcGVydHkoYSl9OwphaS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjKXtpZih0aGlzLmNvbnRhaW5zKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFkZCBhIGZ1bmN0aW9uIHdoaWNoIGFscmVhZHkgZXhpc3RzOiAiK2ErIi4iKTtpZih0aGlzLkguaGFzT3duUHJvcGVydHkoYSkpdGhyb3cgRXJyb3IoIkF0dGVtcHRpbmcgdG8gYWRkIGFuIEFQSSB3aXRoIGFuIGV4aXN0aW5nIHByaXZhdGUgQVBJIG5hbWU6ICIrYSsiLiIpO3RoaXMuS1thXT1jP3ZvaWQgMDp5YihiKT90aChhLGIpOnVoKGEsYil9O2Z1bmN0aW9uIGJpKGEsYil7dmFyIGM9dm9pZCAwO3JldHVybiBjfTtmdW5jdGlvbiBjaSgpe3ZhciBhPXt9OwpyZXR1cm4gYX07dmFyIGRpPXt9LGVpPShkaVtGLkQuc2FdPSJnY3UiLGRpW0YuRC5laF09ImVwdCIsZGlbRi5ELlNiXT0iZ2NsZ2IiLGRpW0YuRC5sYl09ImdjbGF3IixkaVtGLkQuemxdPSJnY2xpZF9sZW4iLGRpW0YuRC5CZV09ImdjbGdzIixkaVtGLkQuQ2VdPSJnY2xscCIsZGlbRi5ELkRlXT0iZ2Nsc3QiLGRpW0YuRC5FZF09ImF1aWQiLGRpW0YuRC5CbF09ImFlIixkaVtGLkQuQ2ZdPSJkc2NudCIsZGlbRi5ELkRmXT0iZmNudHIiLGRpW0YuRC5FZl09ImZsbmciLGRpW0YuRC5GZl09Im1pZCIsZGlbRi5ELndpXT0iYnR0eXBlIixkaVtGLkQuS2JdPSJnYWNpZCIsZGlbRi5ELkdkXT0ibGFiZWwiLGRpW0YuRC5GZV09ImNhcGkiLGRpW0YuRC5qaF09InBzY2RsIixkaVtGLkQuZWJdPSJjdXJyZW5jeV9jb2RlIixkaVtGLkQuR2VdPSJ2ZGx0diIsZGlbRi5ELmtoXT0iY2xvY3QiLGRpW0YuRC5FbF09Il9kYmciLGRpW0YuRC5JZV09Im9lZGVsZCIsZGlbRi5ELlZjXT0iZWRpZCIsZGlbRi5ELk1kXT0iZXZuaWQiLApkaVtGLkQuRWldPSJldmppZCIsZGlbRi5ELk5kXT0iZXhjaWQiLGRpW0YuRC5yaF09ImdhYyIsZGlbRi5ELkplXT0iZ2FjZ2IiLGRpW0YuRC5NbF09ImdhY21jb3YiLGRpW0YuRC5LZV09ImdkcHIiLGRpW0YuRC5YY109ImdkaWQiLGRpW0YuRC5MZV09Il9uZyIsZGlbRi5ELmNxXT0iX29ubyIsZGlbRi5ELnRoXT0iZ3BwX3NpZCIsZGlbRi5ELnVoXT0iZ3BwIixkaVtGLkQuUGxdPSJnc2FleHAiLGRpW0YuRC5WZl09Il90dSIsZGlbRi5ELk1lXT0iZnJtIixkaVtGLkQuS2ldPSJndG1fdXAiLGRpW0YuRC5QZF09ImxwcyIsZGlbRi5ELkxpXT0iZGlkIixkaVtGLkQuUWRdPSJmY250ciIsZGlbRi5ELlJkXT0iZmxuZyIsZGlbRi5ELlNkXT0ibWlkIixkaVtGLkQuTmVdPXZvaWQgMCxkaVtGLkQuTWJdPSJ0aWJhIixkaVtGLkQuV2JdPSJyZHAiLGRpW0YuRC54Y109ImVjc2lkIixkaVtGLkQuWmZdPSJnYV91aWQiLGRpW0YuRC5VZF09ImRlbG9wYyIsZGlbRi5ELk9lXT0iZ2Rwcl9jb25zZW50IiwKZGlbRi5ELlBhXT0ib2lkIixkaVtGLkQuZG1dPSJvaWRzcmMiLGRpW0YuRC5mbV09InVwdGdzIixkaVtGLkQuY2ddPSJ1YWEiLGRpW0YuRC5kZ109InVhYiIsZGlbRi5ELmVnXT0idWFmdmwiLGRpW0YuRC5mZ109InVhbWIiLGRpW0YuRC5nZ109InVhbSIsZGlbRi5ELmhnXT0idWFwIixkaVtGLkQuaWddPSJ1YXB2IixkaVtGLkQuamddPSJ1YXciLGRpW0YuRC5nbV09ImVjX2xhdCIsZGlbRi5ELmhtXT0iZWNfbWV0YSIsZGlbRi5ELmltXT0iZWNfbSIsZGlbRi5ELmptXT0iZWNfc2VsIixkaVtGLkQua21dPSJlY19zIixkaVtGLkQuQmNdPSJlY19tb2RlIixkaVtGLkQuZmJdPSJ1c2VySWQiLGRpW0YuRC5rZ109InVzX3ByaXZhY3kiLGRpW0YuRC5RYV09InZhbHVlIixkaVtGLkQucW1dPSJtY292IixkaVtGLkQuV2ldPSJobiIsZGlbRi5ELlZtXT0iZ3RtX2VlIixkaVtGLkQuWWldPSJ1aXAiLGRpW0YuRC5KaF09Im10IixkaVtGLkQuZGVdPSJucGEiLGRpW0YuRC5ZcV09InNnX3VjIixkaVtGLkQueWldPQpudWxsLGRpW0YuRC5iZF09bnVsbCxkaVtGLkQudGJdPW51bGwsZGlbRi5ELkhhXT1udWxsLGRpW0YuRC56YV09bnVsbCxkaVtGLkQuVWFdPW51bGwsZGlbRi5ELlBlXT1udWxsLGRpW0YuRC5lZF09bnVsbCxkaVtGLkQuc2hdPW51bGwsZGlbRi5ELkJkXT1udWxsLGRpW0YuRC5DZF09bnVsbCxkaVtGLkQuZmhdPW51bGwsZGlbRi5ELmdoXT1udWxsLGRpW0YuRC5UYV09bnVsbCxkaVtGLkQuV2NdPW51bGwsZGkpO2Z1bmN0aW9uIGZpKGEsYil7aWYoYSl7dmFyIGM9YS5zcGxpdCgieCIpO2MubGVuZ3RoPT09MiYmKGdpKGIsInVfdyIsY1swXSksZ2koYiwidV9oIixjWzFdKSl9fWZ1bmN0aW9uIGhpKGEpe3ZhciBiPWlpO2I9Yj09PXZvaWQgMD9qaTpiO3JldHVybiBraShsaShhLGIpKX1mdW5jdGlvbiBraShhKXtyZXR1cm4oYXx8W10pLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4hIWJ9KS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIigiK1ttaShiLnZhbHVlKSxtaShiLnF1YW50aXR5KSxtaShiLml0ZW1faWQpLG1pKGIuc3RhcnRfZGF0ZSksbWkoYi5lbmRfZGF0ZSldLmpvaW4oIioiKSsiKSJ9KS5qb2luKCIiKX0KZnVuY3Rpb24gbGkoYSxiKXtyZXR1cm4oYXx8W10pLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4hIWN9KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJue2l0ZW1faWQ6YihjKSxxdWFudGl0eTpjLnF1YW50aXR5LHZhbHVlOmMucHJpY2Usc3RhcnRfZGF0ZTpjLnN0YXJ0X2RhdGUsZW5kX2RhdGU6Yy5lbmRfZGF0ZX19KX1mdW5jdGlvbiBqaShhKXtyZXR1cm5bYS5pdGVtX2lkLGEuaWQsYS5pdGVtX25hbWVdLmZpbmQoZnVuY3Rpb24oYil7cmV0dXJuIGIhPW51bGx9KX1mdW5jdGlvbiBuaShhKXtpZihhJiZhLmxlbmd0aClyZXR1cm4gYS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGImJmIuZXN0aW1hdGVkX2RlbGl2ZXJ5X2RhdGU/Yi5lc3RpbWF0ZWRfZGVsaXZlcnlfZGF0ZToiIn0pLmpvaW4oIiwiKX1mdW5jdGlvbiBnaShhLGIsYyl7Yz09PXZvaWQgMHx8Yz09PW51bGx8fGM9PT0iIiYmIXlnW2JdfHwoYVtiXT1jKX0KZnVuY3Rpb24gbWkoYSl7cmV0dXJuIHR5cGVvZiBhIT09Im51bWJlciImJnR5cGVvZiBhIT09InN0cmluZyI/IiI6YS50b1N0cmluZygpfTtmdW5jdGlvbiBvaSgpe3RoaXMuYmxvY2tTaXplPS0xfTtmdW5jdGlvbiBwaShhLGIpe3RoaXMuYmxvY2tTaXplPS0xO3RoaXMuYmxvY2tTaXplPTY0O3RoaXMuTj1SYS5VaW50OEFycmF5P25ldyBVaW50OEFycmF5KHRoaXMuYmxvY2tTaXplKTpBcnJheSh0aGlzLmJsb2NrU2l6ZSk7dGhpcy5SPXRoaXMuSz0wO3RoaXMuSD1bXTt0aGlzLmZhPWE7dGhpcy5aPWI7dGhpcy5qYT1SYS5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KDY0KTpBcnJheSg2NCk7cWk9PT12b2lkIDAmJihSYS5JbnQzMkFycmF5P3FpPW5ldyBJbnQzMkFycmF5KHJpKTpxaT1yaSk7dGhpcy5yZXNldCgpfVNhKHBpLG9pKTtmb3IodmFyIHNpPVtdLHRpPTA7dGk8NjM7dGkrKylzaVt0aV09MDt2YXIgdWk9W10uY29uY2F0KDEyOCxzaSk7CnBpLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuUj10aGlzLks9MDt2YXIgYTtpZihSYS5JbnQzMkFycmF5KWE9bmV3IEludDMyQXJyYXkodGhpcy5aKTtlbHNle3ZhciBiPXRoaXMuWixjPWIubGVuZ3RoO2lmKGM+MCl7Zm9yKHZhciBkPUFycmF5KGMpLGU9MDtlPGM7ZSsrKWRbZV09YltlXTthPWR9ZWxzZSBhPVtdfXRoaXMuSD1hfTsKdmFyIHZpPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hLk4sYz1hLmphLGQ9MCxlPTA7ZTxiLmxlbmd0aDspY1tkKytdPWJbZV08PDI0fGJbZSsxXTw8MTZ8YltlKzJdPDw4fGJbZSszXSxlPWQqNDtmb3IodmFyIGY9MTY7Zjw2NDtmKyspe3ZhciBnPWNbZi0xNV18MCxoPWNbZi0yXXwwO2NbZl09KChjW2YtMTZdfDApKygoZz4+Pjd8Zzw8MjUpXihnPj4+MTh8Zzw8MTQpXmc+Pj4zKXwwKSsoKGNbZi03XXwwKSsoKGg+Pj4xN3xoPDwxNSleKGg+Pj4xOXxoPDwxMyleaD4+PjEwKXwwKXwwfWZvcih2YXIgbD1hLkhbMF18MCxuPWEuSFsxXXwwLHA9YS5IWzJdfDAscT1hLkhbM118MCxyPWEuSFs0XXwwLHQ9YS5IWzVdfDAsdT1hLkhbNl18MCx2PWEuSFs3XXwwLHg9MDt4PDY0O3grKyl7dmFyIHk9KChsPj4+MnxsPDwzMCleKGw+Pj4xM3xsPDwxOSleKGw+Pj4yMnxsPDwxMCkpKyhsJm5ebCZwXm4mcCl8MCx6PSh2Kygocj4+PjZ8cjw8MjYpXihyPj4+MTF8cjw8MjEpXihyPj4+MjV8cjw8NykpfAowKSsoKChyJnRefnImdSkrKHFpW3hdfDApfDApKyhjW3hdfDApfDApfDA7dj11O3U9dDt0PXI7cj1xK3p8MDtxPXA7cD1uO249bDtsPXoreXwwfWEuSFswXT1hLkhbMF0rbHwwO2EuSFsxXT1hLkhbMV0rbnwwO2EuSFsyXT1hLkhbMl0rcHwwO2EuSFszXT1hLkhbM10rcXwwO2EuSFs0XT1hLkhbNF0rcnwwO2EuSFs1XT1hLkhbNV0rdHwwO2EuSFs2XT1hLkhbNl0rdXwwO2EuSFs3XT1hLkhbN10rdnwwfTsKcGkucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbihhLGIpe2I9PT12b2lkIDAmJihiPWEubGVuZ3RoKTt2YXIgYz0wLGQ9dGhpcy5LO2lmKHR5cGVvZiBhPT09InN0cmluZyIpZm9yKDtjPGI7KXRoaXMuTltkKytdPWEuY2hhckNvZGVBdChjKyspLGQ9PXRoaXMuYmxvY2tTaXplJiYodmkodGhpcyksZD0wKTtlbHNle3ZhciBlLGY9dHlwZW9mIGE7ZT1mIT0ib2JqZWN0Ij9mOmE/QXJyYXkuaXNBcnJheShhKT8iYXJyYXkiOmY6Im51bGwiO2lmKGU9PSJhcnJheSJ8fGU9PSJvYmplY3QiJiZ0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiKWZvcig7YzxiOyl7dmFyIGc9YVtjKytdO2lmKCEoIm51bWJlciI9PXR5cGVvZiBnJiYwPD1nJiYyNTU+PWcmJmc9PShnfDApKSl0aHJvdyBFcnJvcigibWVzc2FnZSBtdXN0IGJlIGEgYnl0ZSBhcnJheSIpO3RoaXMuTltkKytdPWc7ZD09dGhpcy5ibG9ja1NpemUmJih2aSh0aGlzKSxkPTApfWVsc2UgdGhyb3cgRXJyb3IoIm1lc3NhZ2UgbXVzdCBiZSBzdHJpbmcgb3IgYXJyYXkiKTsKfXRoaXMuSz1kO3RoaXMuUis9Yn07cGkucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbigpe3ZhciBhPVtdLGI9dGhpcy5SKjg7dGhpcy5LPDU2P3RoaXMudXBkYXRlKHVpLDU2LXRoaXMuSyk6dGhpcy51cGRhdGUodWksdGhpcy5ibG9ja1NpemUtKHRoaXMuSy01NikpO2Zvcih2YXIgYz02MztjPj01NjtjLS0pdGhpcy5OW2NdPWImMjU1LGIvPTI1Njt2aSh0aGlzKTtmb3IodmFyIGQ9MCxlPTA7ZTx0aGlzLmZhO2UrKylmb3IodmFyIGY9MjQ7Zj49MDtmLT04KWFbZCsrXT10aGlzLkhbZV0+PmYmMjU1O3JldHVybiBhfTsKdmFyIHJpPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsCjQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSxxaTtmdW5jdGlvbiB3aSgpe3BpLmNhbGwodGhpcyw4LHhpKX1TYSh3aSxwaSk7dmFyIHhpPVsxNzc5MDMzNzAzLDMxNDQxMzQyNzcsMTAxMzkwNDI0MiwyNzczNDgwNzYyLDEzNTk4OTMxMTksMjYwMDgyMjkyNCw1Mjg3MzQ2MzUsMTU0MTQ1OTIyNV07dmFyIHlpPS9eWzAtOUEtRmEtZl17NjR9JC87ZnVuY3Rpb24gemkoYSl7dHJ5e3JldHVybihuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKX1jYXRjaChiKXtyZXR1cm4gWmIoYSl9fWZ1bmN0aW9uIEFpKGEpe3ZhciBiPUE7aWYoYT09PSIifHxhPT09ImUwIilyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGEpO3ZhciBjO2lmKChjPWIuY3J5cHRvKT09bnVsbD8wOmMuc3VidGxlKXtpZih5aS50ZXN0KGEpKXJldHVybiBQcm9taXNlLnJlc29sdmUoYSk7dHJ5e3ZhciBkPXppKGEpO3JldHVybiBiLmNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixkKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBCaShlLGIpfSkuY2F0Y2goZnVuY3Rpb24oKXtyZXR1cm4iZTIifSl9Y2F0Y2goZSl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgiZTIiKX19ZWxzZSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCJlMSIpfQpmdW5jdGlvbiBDaShhKXt0cnl7dmFyIGI9bmV3IHdpO2IudXBkYXRlKHppKGEpKTtyZXR1cm4gYi5kaWdlc3QoKX1jYXRjaChjKXtyZXR1cm4iZTIifX1mdW5jdGlvbiBEaShhKXt2YXIgYj1BO2lmKGE9PT0iInx8YT09PSJlMCJ8fHlpLnRlc3QoYSkpcmV0dXJuIGE7dmFyIGM9Q2koYSk7aWYoYz09PSJlMiIpcmV0dXJuImUyIjt0cnl7cmV0dXJuIEJpKGMsYil9Y2F0Y2goZCl7cmV0dXJuImUyIn19ZnVuY3Rpb24gQmkoYSxiKXt2YXIgYz1BcnJheS5mcm9tKG5ldyBVaW50OEFycmF5KGEpKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZCl9KS5qb2luKCIiKTtyZXR1cm4gYi5idG9hKGMpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikucmVwbGFjZSgvPSskLywiIil9O2Z1bmN0aW9uIEVpKCl7Zm9yKHZhciBhPSExLGI9ITEsYz0wO2E9PT1iOylpZihhPURiKDAsMSk9PT0wLGI9RGIoMCwxKT09PTAsYysrLGM+MzApcmV0dXJuO3JldHVybiBhfXZhciBHaT17c2s6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBGaS5zayhhLGIsYyl9fSxIaT1mdW5jdGlvbigpe3RoaXMuc3R1ZGllcz17fTt0aGlzLkg9RWl9OwpIaS5wcm90b3R5cGUuc2s9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuc3R1ZGllc1tiXTtpZighKChjPT09dm9pZCAwP0RiKDAsOTk5OSk6YyUxRTQpPGQucHJvYmFiaWxpdHkqKGQuY29udHJvbElkMj80OjIpKjFFNCkpcmV0dXJuIGE7YTp7dmFyIGU9ZC5zdHVkeUlkLGY9ZC5leHBlcmltZW50SWQsZz1kLmNvbnRyb2xJZCxoPWQuY29udHJvbElkMjtpZighKChhLmV4cHx8e30pW2ZdfHwoYS5leHB8fHt9KVtnXXx8aCYmKGEuZXhwfHx7fSlbaF0pKXt2YXIgbD1jIT09dm9pZCAwP2MlMj09PTA6dGhpcy5IKCk7aWYobCE9PXZvaWQgMCl7dmFyIG49bD8wOjE7aWYoaCl7dmFyIHA9YyE9PXZvaWQgMD8oYz4+MSklMj09PTA6dGhpcy5IKCk7aWYocD09PXZvaWQgMClicmVhayBhO258PShwPzA6MSk8PDF9bj09PTA/SWkoYSxmLGUpOm49PT0xP0lpKGEsZyxlKTpuPT09MiYmSWkoYSxoLGUpfX19cmV0dXJuIGF9Owp2YXIgS2k9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaTtyZXR1cm4gYy5zdHVkaWVzW2JdP0ppKGMsYil8fCEhKGEuZXhwfHx7fSlbYy5zdHVkaWVzW2JdLmV4cGVyaW1lbnRJZF06ITF9LExpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Rmk7cmV0dXJuIGMuc3R1ZGllc1tiXSYmYy5zdHVkaWVzW2JdLmNvbnRyb2xJZCYmIUppKGMsYik/ISEoYS5leHB8fHt9KVtjLnN0dWRpZXNbYl0uY29udHJvbElkXTohMX0sTWk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1GaTtyZXR1cm4gYy5zdHVkaWVzW2JdJiZjLnN0dWRpZXNbYl0uY29udHJvbElkMiYmIUppKGMsYik/ISEoYS5leHB8fHt9KVtjLnN0dWRpZXNbYl0uY29udHJvbElkMl06ITF9LE5pPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEuZXhwfHx7fSxkPW0oT2JqZWN0LmtleXMoYykubWFwKE51bWJlcikpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXt2YXIgZj1lLnZhbHVlO2lmKGNbZl09PT1iKXJldHVybiBmfX0sSmk9ZnVuY3Rpb24oYSwKYil7cmV0dXJuISFhLnN0dWRpZXNbYl0uYWN0aXZlfHxhLnN0dWRpZXNbYl0ucHJvYmFiaWxpdHk+LjV9LElpPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmV4cHx8e307ZFtiXT1jO2EuZXhwPWR9LEZpPW5ldyBIaTt2YXIgaWo9ZnVuY3Rpb24oKXt0aGlzLkg9QS5nb29nbGVfdGFnX21hbmFnZXI9QS5nb29nbGVfdGFnX21hbmFnZXJ8fHt9fSxqajtmdW5jdGlvbiBraihhLGIpe2xqKCk7dmFyIGM9amo7cmV0dXJuIGMuSFthXT1jLkhbYV18fGIoKX1mdW5jdGlvbiBtaihhKXtsaigpO3JldHVybiBqai5IW2FdfWZ1bmN0aW9uIG5qKGEsYil7bGooKTtqai5IW2FdPWJ9ZnVuY3Rpb24gb2ooYSl7dmFyIGI9RSg1KTtsaigpO3ZhciBjPWpqO2MuSFtiXT1jLkhbYl18fGF9ZnVuY3Rpb24gcGooKXt2YXIgYT1FKDE5KTtsaigpO3ZhciBiPWpqO3JldHVybiBiLkhbYV09Yi5IW2FdfHx7fX1mdW5jdGlvbiBxaigpe3ZhciBhPUUoMTkpO2xqKCk7cmV0dXJuIGpqLkhbYV19ZnVuY3Rpb24gcmooKXtsaigpO3ZhciBhPWpqLGI9YS5ILnNlcXVlbmNlfHwxO2EuSC5zZXF1ZW5jZT1iKzE7cmV0dXJuIGJ9ZnVuY3Rpb24gbGooKXtqanx8KGpqPW5ldyBpail9O3ZhciBzaj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiAwO2Nhc2UgNDkxOnJldHVybiAxMjtjYXNlIDQ4MDpyZXR1cm4gMTE7Y2FzZSA0OTk6cmV0dXJuIDEwO2Nhc2UgNTAwOnJldHVybiA2O2Nhc2UgNDIxOnJldHVybiA5O2Nhc2UgNTYxOnJldHVybiAxNztjYXNlIDQ4MjpyZXR1cm4gMTU7Y2FzZSA1NzA6cmV0dXJuIDE5O2Nhc2UgNDk1OnJldHVybiAxMztjYXNlIDUxNDpyZXR1cm4gMTY7Y2FzZSA1NzM6cmV0dXJuIDE4O2Nhc2UgMjM1OnJldHVybiA4O2Nhc2UgNTM6cmV0dXJuIDE7Y2FzZSA1NDpyZXR1cm4gMjtjYXNlIDUyOnJldHVybiA0O2Nhc2UgNzU6cmV0dXJuIDN9fSx0aj1mdW5jdGlvbihhLGIpe2EuTltiXT0hMDt2YXIgYz1zaihiKTtjIT09dm9pZCAwJiYoV2ZbY109ITApfSxNPWZ1bmN0aW9uKGEpe3JldHVybiEhdWouTlthXX0sdWo9bmV3IGZ1bmN0aW9uKCl7dGhpcy5OPVtdO3RoaXMuSz1bXTt0aGlzLkg9W107CnRqKHRoaXMsMTMyKTt2YXIgYT1OZig2LDZFNCk7WGZbMV09YTt2YXIgYj1OZig3LDEpO1hmWzNdPWI7dmFyIGM9TmYoMzUsNTApO1hmWzJdPWM7dmFyIGQ9TmYoNjksMTc3NjQ0ODkyMCk7WGZbNF09ZDsKdGoodGhpcyw0MzUpO3RqKHRoaXMsMTQxKTsKfTt2YXIgdmo9ZnVuY3Rpb24oKXt0aGlzLkg9bmV3IFNldDt0aGlzLks9bmV3IFNldH0seGo9ZnVuY3Rpb24oYSl7dmFyIGI9d2ouSDthPWE9PT12b2lkIDA/W106YTt2YXIgYz1bXS5jb25jYXQodyhiLkgpKS5jb25jYXQoW10uY29uY2F0KHcoYi5LKSkpLmNvbmNhdChhKTtjLnNvcnQoZnVuY3Rpb24oZCxlKXtyZXR1cm4gZC1lfSk7cmV0dXJuIGN9LHlqPWZ1bmN0aW9uKCl7dmFyIGE9W10uY29uY2F0KHcod2ouSC5IKSk7YS5zb3J0KGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGItY30pO3JldHVybiBhfSx6aj1mdW5jdGlvbigpe3ZhciBhPXdqLkgsYj1FKDQ0KTthLkg9bmV3IFNldDtpZihiIT09IiIpZm9yKHZhciBjPW0oYi5zcGxpdCgifiIpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9TnVtYmVyKGQudmFsdWUpO2lzTmFOKGUpfHxhLkguYWRkKGUpfX07dmFyIEFqPXt9LEJqPXtfX2NsOjEsX19lY2w6MSxfX2VobDoxLF9fZXZsOjEsX19mYWw6MSxfX2ZpbDoxLF9fZnNsOjEsX19obDoxLF9famVsOjEsX19sY2w6MSxfX3NkbDoxLF9fdGw6MSxfX3l0bDoxfSxDaj1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHtfX3BhdXNlZDoxLF9fdGc6MX0sQmopLERqLEVqPSExO0RqPUVqO3ZhciBGaj0iIjtBai5xaj1Gajt2YXIgd2o9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPW5ldyB2an07dmFyIEdqPS86WzAtOV0rJC8sSGo9L15cZCtcLmZsc1wuZG91YmxlY2xpY2tcLm5ldCQvO2Z1bmN0aW9uIElqKGEsYixjLGQpe3ZhciBlPUpqKGEsISFkLGIpLGYsZztyZXR1cm4gYz8oZz1lW2JdKSE9bnVsbD9nOltdOihmPWVbYl0pPT1udWxsP3ZvaWQgMDpmWzBdfWZ1bmN0aW9uIEpqKGEsYixjKXtmb3IodmFyIGQ9e30sZT1tKGEuc3BsaXQoIiYiKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPW0oZi52YWx1ZS5zcGxpdCgiPSIpKSxoPWcubmV4dCgpLnZhbHVlLGw9eWEoZyksbj1kZWNvZGVVUklDb21wb25lbnQoaC5yZXBsYWNlKC9cKy9nLCIgIikpO2lmKGM9PT12b2lkIDB8fG49PT1jKXt2YXIgcD1sLmpvaW4oIj0iKTtkW25dfHwoZFtuXT1bXSk7ZFtuXS5wdXNoKGI/cDpkZWNvZGVVUklDb21wb25lbnQocC5yZXBsYWNlKC9cKy9nLCIgIikpKX19cmV0dXJuIGR9CmZ1bmN0aW9uIEtqKGEpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEpfWNhdGNoKGIpe319ZnVuY3Rpb24gTGooYSxiLGMsZCxlKXtiJiYoYj1TdHJpbmcoYikudG9Mb3dlckNhc2UoKSk7aWYoYj09PSJwcm90b2NvbCJ8fGI9PT0icG9ydCIpYS5wcm90b2NvbD1NaihhLnByb3RvY29sKXx8TWooQS5sb2NhdGlvbi5wcm90b2NvbCk7Yj09PSJwb3J0Ij9hLnBvcnQ9U3RyaW5nKE51bWJlcihhLmhvc3RuYW1lP2EucG9ydDpBLmxvY2F0aW9uLnBvcnQpfHwoYS5wcm90b2NvbD09PSJodHRwIj84MDphLnByb3RvY29sPT09Imh0dHBzIj80NDM6IiIpKTpiPT09Imhvc3QiJiYoYS5ob3N0bmFtZT0oYS5ob3N0bmFtZXx8QS5sb2NhdGlvbi5ob3N0bmFtZSkucmVwbGFjZShHaiwiIikudG9Mb3dlckNhc2UoKSk7cmV0dXJuIE5qKGEsYixjLGQsZSl9CmZ1bmN0aW9uIE5qKGEsYixjLGQsZSl7dmFyIGYsZz1NaihhLnByb3RvY29sKTtiJiYoYj1TdHJpbmcoYikudG9Mb3dlckNhc2UoKSk7c3dpdGNoKGIpe2Nhc2UgInVybF9ub19mcmFnbWVudCI6Zj1PaihhKTticmVhaztjYXNlICJwcm90b2NvbCI6Zj1nO2JyZWFrO2Nhc2UgImhvc3QiOmY9YS5ob3N0bmFtZS5yZXBsYWNlKEdqLCIiKS50b0xvd2VyQ2FzZSgpO2lmKGMpe3ZhciBoPS9ed3d3XGQqXC4vLmV4ZWMoZik7aCYmaFswXSYmKGY9Zi5zdWJzdHJpbmcoaFswXS5sZW5ndGgpKX1icmVhaztjYXNlICJwb3J0IjpmPVN0cmluZyhOdW1iZXIoYS5wb3J0KXx8KGc9PT0iaHR0cCI/ODA6Zz09PSJodHRwcyI/NDQzOiIiKSk7YnJlYWs7Y2FzZSAicGF0aCI6YS5wYXRobmFtZXx8YS5ob3N0bmFtZXx8c2IoIlRBR0dJTkciLDEpO2Y9YS5wYXRobmFtZS5zdWJzdHJpbmcoMCwxKT09PSIvIj9hLnBhdGhuYW1lOiIvIithLnBhdGhuYW1lO3ZhciBsPWYuc3BsaXQoIi8iKTsoZHx8W10pLmluZGV4T2YobFtsLmxlbmd0aC0KMV0pPj0wJiYobFtsLmxlbmd0aC0xXT0iIik7Zj1sLmpvaW4oIi8iKTticmVhaztjYXNlICJxdWVyeSI6Zj1hLnNlYXJjaC5yZXBsYWNlKCI/IiwiIik7ZSYmKGY9SWooZixlLCExKSk7YnJlYWs7Y2FzZSAiZXh0ZW5zaW9uIjp2YXIgbj1hLnBhdGhuYW1lLnNwbGl0KCIuIik7Zj1uLmxlbmd0aD4xP25bbi5sZW5ndGgtMV06IiI7Zj1mLnNwbGl0KCIvIilbMF07YnJlYWs7Y2FzZSAiZnJhZ21lbnQiOmY9YS5oYXNoLnJlcGxhY2UoIiMiLCIiKTticmVhaztkZWZhdWx0OmY9YSYmYS5ocmVmfXJldHVybiBmfWZ1bmN0aW9uIE1qKGEpe3JldHVybiBhP2EucmVwbGFjZSgiOiIsIiIpLnRvTG93ZXJDYXNlKCk6IiJ9ZnVuY3Rpb24gT2ooYSl7dmFyIGI9IiI7aWYoYSYmYS5ocmVmKXt2YXIgYz1hLmhyZWYuaW5kZXhPZigiIyIpO2I9YzwwP2EuaHJlZjphLmhyZWYuc3Vic3RyaW5nKDAsYyl9cmV0dXJuIGJ9dmFyIFBqPXt9LFFqPTA7CmZ1bmN0aW9uIFJqKGEpe3ZhciBiPVBqW2FdO2lmKCFiKXt2YXIgYz1CLmNyZWF0ZUVsZW1lbnQoImEiKTthJiYoYy5ocmVmPWEpO3ZhciBkPWMucGF0aG5hbWU7ZFswXSE9PSIvIiYmKGF8fHNiKCJUQUdHSU5HIiwxKSxkPSIvIitkKTt2YXIgZT1jLmhvc3RuYW1lLnJlcGxhY2UoR2osIiIpO2I9e2hyZWY6Yy5ocmVmLHByb3RvY29sOmMucHJvdG9jb2wsaG9zdDpjLmhvc3QsaG9zdG5hbWU6ZSxwYXRobmFtZTpkLHNlYXJjaDpjLnNlYXJjaCxoYXNoOmMuaGFzaCxwb3J0OmMucG9ydH07UWo8NSYmKFBqW2FdPWIsUWorKyl9cmV0dXJuIGJ9ZnVuY3Rpb24gU2ooYSxiLGMpe3ZhciBkPVJqKGEpO3JldHVybiBhYyhiLGQsYyl9CmZ1bmN0aW9uIFRqKGEpe3ZhciBiPVJqKEEubG9jYXRpb24uaHJlZiksYz1MaihiLCJob3N0IiwhMSk7aWYoYyYmYy5tYXRjaChIaikpe3ZhciBkPUxqKGIsInBhdGgiKTtpZihkKXt2YXIgZT1kLnNwbGl0KGErIj0iKTtpZihlLmxlbmd0aD4xKXJldHVybiBlWzFdLnNwbGl0KCI7IilbMF0uc3BsaXQoIj8iKVswXX19fTt2YXIgVWo9eyJodHRwczovL3d3dy5nb29nbGUuY29tIjoiL2ciLCJodHRwczovL3d3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSI6Ii9hcyIsImh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iOiIvZ3MifSxWaj1bIi9hcy9kL2NjbS9jb252ZXJzaW9uIiwiL2cvZC9jY20vY29udmVyc2lvbiIsIi9ncy9jY20vY29udmVyc2lvbiIsIi9kL2NjbS9mb3JtLWRhdGEiXTtmdW5jdGlvbiBXaigpe3JldHVybiBJZig0Nyk/SmYoNTQpIT09MTohMX1mdW5jdGlvbiBYaigpe3ZhciBhPUUoMTgpLGI9YS5sZW5ndGg7cmV0dXJuIGFbYi0xXT09PSIvIj9hLnN1YnN0cmluZygwLGItMSk6YX0KZnVuY3Rpb24gWWooYSxiKXtpZihhKXt2YXIgYz0iIithO2MuaW5kZXhPZigiaHR0cDovLyIpIT09MCYmYy5pbmRleE9mKCJodHRwczovLyIpIT09MCYmKGM9Imh0dHBzOi8vIitjKTtjW2MubGVuZ3RoLTFdPT09Ii8iJiYoYz1jLnN1YnN0cmluZygwLGMubGVuZ3RoLTEpKTtyZXR1cm4gUmooIiIrYytiKS5ocmVmfX1mdW5jdGlvbiBaaihhKXtpZihhaygpKXJldHVybiBZaihhLCIvYW5hbHl0aWNzLmpzIil9ZnVuY3Rpb24gYmsoYSl7cmV0dXJuIGE9PT0yfHxhPT09M31mdW5jdGlvbiBjayhhKXtyZXR1cm4gTSg1ODgpJiZhPT09M31mdW5jdGlvbiBhaygpe3JldHVybiBXaigpfHxJZig1MCl9ZnVuY3Rpb24gZGsoKXtyZXR1cm4hIUFqLnFqJiZBai5xai5zcGxpdCgiQEAiKS5qb2luKCIiKSE9PSJTR1RNX1RPS0VOIn0KZnVuY3Rpb24gZWsoYSl7Zm9yKHZhciBiPW0oW0YuRC5kZCxGLkQueWNdKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9TyhhLGMudmFsdWUpO2lmKGQpcmV0dXJuIGR9fWZ1bmN0aW9uIGZrKGEsYixjKXtjPWM9PT12b2lkIDA/IiI6YztpZighV2ooKSlyZXR1cm4gYTt2YXIgZD1iP1VqW2FdfHwiIjoiIjtkPT09Ii9ncyImJihjPSIiKTtyZXR1cm4iIitYaigpK2QrY31mdW5jdGlvbiBnayhhKXtpZihXaigpKWZvcih2YXIgYj1tKFZqKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTtpZihTYihhLCIiK1hqKCkrZCkpcmV0dXJuIjo6In19CmZ1bmN0aW9uIGhrKCl7dmFyIGE9QTtpZighYSlyZXR1cm4hMTt0cnl7aWYoYT09PWEudG9wKXJldHVybiExO3ZhciBiPWEubG9jYXRpb24ucGF0aG5hbWU7cmV0dXJuIGIuaW5kZXhPZigiL18vc2VydmljZV93b3JrZXIvIikhPT0tMSYmVGIoYiwiL3N3X2lmcmFtZS5odG1sIil9Y2F0Y2goYyl7cmV0dXJuITF9fTt2YXIgaWs9L2d0YWdbLlwvXWpzLyxqaz0vZ3RtWy5cL11qcy8sbGs9ZnVuY3Rpb24oYSl7dmFyIGI9a2s7aWYoKGEuc2NyaXB0Q29udGFpbmVySWR8fCIiKS5pbmRleE9mKCJHVE0tIik+PTApe3ZhciBjO2E6e3ZhciBkLGU9KGQ9YS5zY3JpcHRFbGVtZW50KT09bnVsbD92b2lkIDA6ZC5zcmM7aWYoZSl7Zm9yKHZhciBmPUlmKDQ3KSxnPVJqKGUpLGg9Zj9nLnBhdGhuYW1lOiIiK2cuaG9zdG5hbWUrZy5wYXRobmFtZSxsPUIuc2NyaXB0cyxuPSIiLHA9MDtwPGwubGVuZ3RoOysrcCl7dmFyIHE9bFtwXTtpZighKHEuaW5uZXJIVE1MLmxlbmd0aD09PTB8fCFmJiZxLmlubmVySFRNTC5pbmRleE9mKGEuc2NyaXB0Q29udGFpbmVySWR8fCJTSE9VTERfTk9UX0JFX1NFVCIpPDB8fHEuaW5uZXJIVE1MLmluZGV4T2YoaCk8MCkpe2lmKHEuaW5uZXJIVE1MLmluZGV4T2YoIihmdW5jdGlvbih3LGQscyxsLGkpIik+PTApe2M9U3RyaW5nKHApO2JyZWFrIGF9bj1TdHJpbmcocCl9fWlmKG4pe2M9Cm47YnJlYWsgYX19Yz12b2lkIDB9dmFyIHI9YztpZihyKXJldHVybiBiLkg9ITAscn12YXIgdD1bXS5zbGljZS5jYWxsKEIuc2NyaXB0cyk7cmV0dXJuIGEuc2NyaXB0RWxlbWVudD9TdHJpbmcodC5pbmRleE9mKGEuc2NyaXB0RWxlbWVudCkpOiItMSJ9LG1rPWZ1bmN0aW9uKGEpe2lmKGtrLkgpcmV0dXJuIjEiO3ZhciBiLGM9KGI9YS5zY3JpcHRFbGVtZW50KT09bnVsbD92b2lkIDA6Yi5zcmM7aWYoYyl7aWYoaWsudGVzdChjKSlyZXR1cm4iMyI7aWYoamsudGVzdChjKSlyZXR1cm4iMiJ9cmV0dXJuIjAifSxraz1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9ITF9O2Z1bmN0aW9uIFAoYSl7c2IoIkdUTSIsYSl9O2Z1bmN0aW9uIG5rKGEpe3ZhciBiPW9rKCkuZGVzdGluYXRpb25BcnJheVthXSxjPW9rKCkuZGVzdGluYXRpb25bYV07cmV0dXJuIGImJmIubGVuZ3RoPjA/YlswXTpjfWZ1bmN0aW9uIHBrKGEsYil7dmFyIGM9b2soKTtjLnBlbmRpbmd8fChjLnBlbmRpbmc9W10pO0NiKGMucGVuZGluZyxmdW5jdGlvbihkKXtyZXR1cm4gZC50YXJnZXQuY3RpZD09PWEuY3RpZCYmZC50YXJnZXQuaXNEZXN0aW5hdGlvbj09PWEuaXNEZXN0aW5hdGlvbn0pfHxjLnBlbmRpbmcucHVzaCh7dGFyZ2V0OmEsb25Mb2FkOmJ9KX1mdW5jdGlvbiBxaygpe3ZhciBhPUEuZ29vZ2xlX3RhZ3NfZmlyc3RfcGFydHk7QXJyYXkuaXNBcnJheShhKXx8KGE9W10pO2Zvcih2YXIgYj17fSxjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpYltkLnZhbHVlXT0hMDtyZXR1cm4gT2JqZWN0LmZyZWV6ZShiKX0KdmFyIHJrPWZ1bmN0aW9uKCl7dGhpcy5jb250YWluZXI9e307dGhpcy5kZXN0aW5hdGlvbj17fTt0aGlzLmRlc3RpbmF0aW9uQXJyYXk9e307dGhpcy5jYW5vbmljYWw9e307dGhpcy5wZW5kaW5nPVtdO3RoaXMuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVycz17fTt0aGlzLmluamVjdGVkRmlyc3RQYXJ0eUNvbnRhaW5lcnM9cWsoKX07CmZ1bmN0aW9uIG9rKCl7dmFyIGE9TWMoImdvb2dsZV90YWdfZGF0YSIse30pLGI9YS50aWRyO2ImJnR5cGVvZiBiPT09Im9iamVjdCJ8fChiPW5ldyByayxhLnRpZHI9Yik7dmFyIGM9YjtjLmNvbnRhaW5lcnx8KGMuY29udGFpbmVyPXt9KTtjLmRlc3RpbmF0aW9ufHwoYy5kZXN0aW5hdGlvbj17fSk7Yy5kZXN0aW5hdGlvbkFycmF5fHwoYy5kZXN0aW5hdGlvbkFycmF5PXt9KTtjLmNhbm9uaWNhbHx8KGMuY2Fub25pY2FsPXt9KTtjLnBlbmRpbmd8fChjLnBlbmRpbmc9W10pO2MuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVyc3x8KGMuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVycz1xaygpKTtyZXR1cm4gY307ZnVuY3Rpb24gc2soKXtyZXR1cm4gSWYoNykmJnRrKCkuc29tZShmdW5jdGlvbihhKXtyZXR1cm4gYT09PUUoNSl9KX1mdW5jdGlvbiB1aygpe3ZhciBhO3JldHVybihhPUtmKDU1KSkhPW51bGw/YTpbXX1mdW5jdGlvbiB2aygpe3JldHVybiBFKDYpfHwiXyIrRSg1KX1mdW5jdGlvbiB3aygpe3ZhciBhPUUoMTApO3JldHVybiBhP2Euc3BsaXQoInwiKTpbRSg1KV19ZnVuY3Rpb24gdGsoKXt2YXIgYT1LZig1OSk7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIHR5cGVvZiBiPT09InN0cmluZyJ9KS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGIuaW5kZXhPZigiR1RNLSIpIT09MH0pOltdfWZ1bmN0aW9uIHhrKCl7dmFyIGE9eWsoemsoKSksYj1hJiZhLnBhcmVudDtpZihiKXJldHVybiB5ayhiKX0KZnVuY3Rpb24gQWsoKXt2YXIgYT15ayh6aygpKTtpZihhKXtmb3IoO2EucGFyZW50Oyl7dmFyIGI9eWsoYS5wYXJlbnQpO2lmKCFiKWJyZWFrO2E9Yn1yZXR1cm4gYX19ZnVuY3Rpb24geWsoYSl7dmFyIGI9b2soKTtyZXR1cm4gYS5pc0Rlc3RpbmF0aW9uP25rKGEuY3RpZCk6Yi5jb250YWluZXJbYS5jdGlkXX1mdW5jdGlvbiBCaygpe3ZhciBhPW9rKCk7aWYoYS5wZW5kaW5nKXtmb3IodmFyIGIsYz1bXSxkPSExLGU9d2soKSxmPXRrKCksZz17fSxoPTA7aDxhLnBlbmRpbmcubGVuZ3RoO2c9e1JnOnZvaWQgMH0saCsrKWcuUmc9YS5wZW5kaW5nW2hdLENiKGcuUmcudGFyZ2V0LmlzRGVzdGluYXRpb24/ZjplLGZ1bmN0aW9uKGwpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gbj09PWwuUmcudGFyZ2V0LmN0aWR9fShnKSk/ZHx8KGI9Zy5SZy5vbkxvYWQsZD0hMCk6Yy5wdXNoKGcuUmcpO2EucGVuZGluZz1jO2lmKGIpdHJ5e2IodmsoKSl9Y2F0Y2gobCl7fX19CmZ1bmN0aW9uIENrKCl7Zm9yKHZhciBhPUUoNSksYj13aygpLGM9dGsoKSxkPXVrKCksZT1mdW5jdGlvbihxLHIpe3ZhciB0PXtjYW5vbmljYWxDb250YWluZXJJZDpFKDYpLHNjcmlwdENvbnRhaW5lcklkOmEsc3RhdGU6Mixjb250YWluZXJzOmIuc2xpY2UoKSxkZXN0aW5hdGlvbnM6Yy5zbGljZSgpfTtKYyYmKHQuc2NyaXB0RWxlbWVudD1KYyk7S2MmJih0LnNjcmlwdFNvdXJjZT1LYyk7eGsoKT09PXZvaWQgMCYmKHQuaHRtbExvYWRPcmRlcj1sayh0KSx0LmxvYWRTY3JpcHRUeXBlPW1rKHQpKTt2YXIgdSx2O3N3aXRjaChyKXtjYXNlIDA6dT1mdW5jdGlvbih6KXtmLmNvbnRhaW5lcltxXT16fTt2PWYuY29udGFpbmVyW3FdO2JyZWFrO2Nhc2UgMTp1PWZ1bmN0aW9uKHope2YuZGVzdGluYXRpb25BcnJheVtxXT1mLmRlc3RpbmF0aW9uQXJyYXlbcV18fFtdO2YuZGVzdGluYXRpb25BcnJheVtxXS51bnNoaWZ0KHopfTt2YXIgeCx5PSgoeD1mLmRlc3RpbmF0aW9uQXJyYXlbcV0pPT0KbnVsbD92b2lkIDA6eFswXSl8fGYuZGVzdGluYXRpb25bcV07IXl8fHkuc3RhdGUhPT0wJiZ5LnN0YXRlIT09MXx8KHY9eSk7YnJlYWs7Y2FzZSAyOnU9ZnVuY3Rpb24oeil7Zi5kZXN0aW5hdGlvbkFycmF5W3FdPWYuZGVzdGluYXRpb25BcnJheVtxXXx8W107Zi5kZXN0aW5hdGlvbkFycmF5W3FdLnB1c2goeil9LHY9dm9pZCAwfXUmJih2Pyh2LnN0YXRlPT09MCYmUCg5MyksbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx2LHQpKTp1KHQpKX0sZj1vaygpLGc9bShiKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSllKGgudmFsdWUsMCk7Zm9yKHZhciBsPW0oYyksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7ZC5pbmNsdWRlcyhwKT9lKHAsMSk6ZShwLDIpfWYuY2Fub25pY2FsW3ZrKCldPXt9O0JrKCl9ZnVuY3Rpb24gRGsoKXt2YXIgYT12aygpO3JldHVybiEhb2soKS5jYW5vbmljYWxbYV19CmZ1bmN0aW9uIEVrKGEpe3JldHVybiEhb2soKS5jb250YWluZXJbYV19ZnVuY3Rpb24gRmsoKXt2YXIgYT16aygpLGI9eWsoYSk7cmV0dXJuIGImJmIuY29udGV4dH1mdW5jdGlvbiBHayhhKXt2YXIgYj1uayhhKTtyZXR1cm4gYj9iLnN0YXRlIT09MDohMX1mdW5jdGlvbiB6aygpe3JldHVybntjdGlkOkUoNSksaXNEZXN0aW5hdGlvbjpJZig3KX19ZnVuY3Rpb24gSGsoYSxiLGMpe3ZhciBkPXprKCksZT1vaygpLmNvbnRhaW5lclthXTtlJiZlLnN0YXRlIT09M3x8KG9rKCkuY29udGFpbmVyW2FdPXtzdGF0ZToxLGNvbnRleHQ6YixwYXJlbnQ6ZH0scGsoe2N0aWQ6YSxpc0Rlc3RpbmF0aW9uOiExfSxjKSl9ZnVuY3Rpb24gSWsoYSxiLGMpe3ZhciBkPW9rKCksZT1uayhhKTtlP2Uuc3RhdGU9MTooZT17Y29udGV4dDpiLHN0YXRlOjEscGFyZW50OnprKCl9LGQuZGVzdGluYXRpb25BcnJheVthXT1bZV0pO3BrKHtjdGlkOmEsaXNEZXN0aW5hdGlvbjohMH0sYyl9CmZ1bmN0aW9uIEprKGEsYixjLGQpe3ZhciBlPW9rKCksZj1uayhhKTtmP2Yuc3RhdGU9MDooZj17c3RhdGU6MCx0cmFuc3BvcnRVcmw6Yixjb250ZXh0OmMscGFyZW50OnprKCl9LGUuZGVzdGluYXRpb25BcnJheVthXT1bZl0pO3BrKHtjdGlkOmEsaXNEZXN0aW5hdGlvbjohMH0sZCk7UCg5MSl9ZnVuY3Rpb24gS2soKXt2YXIgYT1vaygpLmNvbnRhaW5lcixiO2ZvcihiIGluIGEpaWYoYS5oYXNPd25Qcm9wZXJ0eShiKSYmYVtiXS5zdGF0ZT09PTEpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gTGsoKXt2YXIgYT17fTtHYihvaygpLmRlc3RpbmF0aW9uLGZ1bmN0aW9uKGIsYyl7KGM9PW51bGw/dm9pZCAwOmMuc3RhdGUpPT09MCYmKGFbYl09Yyl9KTtHYihvaygpLmRlc3RpbmF0aW9uQXJyYXksZnVuY3Rpb24oYixjKXt2YXIgZD1jWzBdOyhkPT1udWxsP3ZvaWQgMDpkLnN0YXRlKT09PTAmJihhW2JdPWQpfSk7cmV0dXJuIGF9CmZ1bmN0aW9uIE1rKGEpe3JldHVybiEhKGEmJmEucGFyZW50JiZhLmNvbnRleHQmJmEuY29udGV4dC5zb3VyY2U9PT0xJiZhLnBhcmVudC5jdGlkLmluZGV4T2YoIkdUTS0iKSE9PTApfWZ1bmN0aW9uIE5rKCl7Zm9yKHZhciBhPW9rKCksYj1tKHdrKCkpLGM9Yi5uZXh0KCk7IWMuZG9uZTtjPWIubmV4dCgpKWlmKGEuaW5qZWN0ZWRGaXJzdFBhcnR5Q29udGFpbmVyc1tjLnZhbHVlXSlyZXR1cm4hMDtyZXR1cm4hMX07dmFyIE9rPWZ1bmN0aW9uKCl7fTtPay5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIn07dmFyIFBrPW5ldyBPazt2YXIgWGs9ZnVuY3Rpb24oKXt0aGlzLnN0b3JhZ2U9WWEoKX07WGsucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuc3RvcmFnZS5zZXQoU3RyaW5nKGEpLGIpfTtYay5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnN0b3JhZ2UuZ2V0KFN0cmluZyhhKSl9O3ZhciBZaztmdW5jdGlvbiBaayhhLGIpe1lrfHwoWWs9bmV3IFhrKTtZay5zZXQoYSxiKX1mdW5jdGlvbiAkayhhKXtZa3x8KFlrPW5ldyBYayk7cmV0dXJuIFlrLmdldChhKX1mdW5jdGlvbiBhbChhLGIpe1lrfHwoWWs9bmV3IFhrKTt2YXIgYz1ZaztjLnN0b3JhZ2UuaGFzKFN0cmluZyhhKSl8fGMuc3RvcmFnZS5zZXQoU3RyaW5nKGEpLGIoKSk7cmV0dXJuIGMuc3RvcmFnZS5nZXQoU3RyaW5nKGEpKX07ZnVuY3Rpb24gYmwoYSxiKXtmdW5jdGlvbiBjKGcpe3ZhciBoPVJqKGcpLGw9TGooaCwicHJvdG9jb2wiKSxuPUxqKGgsImhvc3QiLCEwKSxwPUxqKGgsInBvcnQiKSxxPUxqKGgsInBhdGgiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1wvJC8sIiIpO2lmKGw9PT12b2lkIDB8fGw9PT0iaHR0cCImJnA9PT0iODAifHxsPT09Imh0dHBzIiYmcD09PSI0NDMiKWw9IndlYiIscD0iZGVmYXVsdCI7cmV0dXJuW2wsbixwLHFdfWZvcih2YXIgZD1jKFN0cmluZyhhKSksZT1jKFN0cmluZyhiKSksZj0wO2Y8ZC5sZW5ndGg7ZisrKWlmKGRbZl0hPT1lW2ZdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIGNsKGEpe3JldHVybiBkbChhKT8xOjB9CmZ1bmN0aW9uIGRsKGEpe3ZhciBiPWEuYXJnMCxjPWEuYXJnMTtpZihhLmFueV9vZiYmQXJyYXkuaXNBcnJheShjKSl7Zm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPUVkKGEse30pO0VkKHthcmcxOmNbZF0sYW55X29mOnZvaWQgMH0sZSk7aWYoY2woZSkpcmV0dXJuITB9cmV0dXJuITF9c3dpdGNoKGFbImZ1bmN0aW9uIl0pe2Nhc2UgIl9jbiI6cmV0dXJuIEtnKGIsYyk7Y2FzZSAiX2NzcyI6cmV0dXJuIEdnKGIsYyk7Y2FzZSAiX2V3IjpyZXR1cm4gSGcoYixjKTtjYXNlICJfZXEiOnJldHVybiBMZyhiLGMpO2Nhc2UgIl9nZSI6cmV0dXJuIE1nKGIsYyk7Y2FzZSAiX2d0IjpyZXR1cm4gT2coYixjKTtjYXNlICJfbGMiOnJldHVybiBJZyhiLGMpO2Nhc2UgIl9sZSI6cmV0dXJuIE5nKGIsYyk7Y2FzZSAiX2x0IjpyZXR1cm4gUGcoYixjKTtjYXNlICJfcmUiOnJldHVybiBKZyhiLGMsYS5pZ25vcmVfY2FzZSxhbCgzLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KSk7Y2FzZSAiX3N3IjpyZXR1cm4gUWcoYiwKYyk7Y2FzZSAiX3VtIjpyZXR1cm4gYmwoYixjKX1yZXR1cm4hMX07ZnVuY3Rpb24gZWwoYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgZjtzd2l0Y2goYVswXSl7Y2FzZSAiZnVuY3Rpb25faWQiOnJldHVybiBhWzFdO2Nhc2UgImxpc3QiOmY9W107Zm9yKHZhciBnPTE7ZzxhLmxlbmd0aDtnKyspZi5wdXNoKGVsKGFbZ10sYixjLGQsZSkpO3JldHVybiBmO2Nhc2UgIm1hY3JvIjp2YXIgaD1kW2FbMV1dO3JldHVybiBoP2guZXZhbHVhdGUoYixlKTp2b2lkIDA7Y2FzZSAibWFwIjpmPXt9O2Zvcih2YXIgbD0xO2w8YS5sZW5ndGg7bCs9MilmW2VsKGFbbF0sYixjLGQsZSldPWVsKGFbbCsxXSxiLGMsZCxlKTtyZXR1cm4gZjtjYXNlICJ0ZW1wbGF0ZSI6Zj1bXTtmb3IodmFyIG49ITEscD0xO3A8YS5sZW5ndGg7cCsrKXt2YXIgcT1lbChhW3BdLGIsYyxkLGUpO2YucHVzaChxKX1yZXR1cm4gZi5qb2luKCIiKTtjYXNlICJlc2NhcGUiOmY9ZWwoYVsxXSxiLGMsZCxlKTtmPVN0cmluZyhmKTtmb3IodmFyIHk9Mjt5PGEubGVuZ3RoO3krKylVaVthW3ldXSYmKGY9VWlbYVt5XV0oZikpO3JldHVybiBmO2Nhc2UgInRhZyI6dmFyIHo9YVsxXTtpZighY1t6XSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHJlc29sdmUgdGFnIHJlZmVyZW5jZSAiKwp6KyIuIik7cmV0dXJue2JvOmFbMl0saW5kZXg6en07Y2FzZSAiemIiOnZhciBDPXt9LEQ9KENbR2YuWWJdPWFbMV0sQy5hcmcwPWVsKGFbMl0sYixjLGQsZSksQy5hcmcxPWVsKGFbM10sYixjLGQsZSksQy5pZ25vcmVfY2FzZT1lbChhWzVdLGIsYyxkLGUpLEMpLEk9Y2woRCksRz0hIWFbNF07cmV0dXJuIEd8fEkhPT0yP0chPT0oST09PTEpOm51bGw7ZGVmYXVsdDp0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBleHBhbmQgdW5rbm93biBWYWx1ZSB0eXBlOiAiK2FbMF0rIi4iKTt9fXJldHVybiBhfTtmdW5jdGlvbiBmbChhKXtyZXR1cm4gYSYmYS5pbmRleE9mKCJwZW5kaW5nOiIpPT09MD9nbChhLnN1YnN0cig4KSk6ITF9ZnVuY3Rpb24gZ2woYSl7aWYoYT09bnVsbHx8YS5sZW5ndGg9PT0wKXJldHVybiExO3ZhciBiPU51bWJlcihhKSxjPU5iKCk7cmV0dXJuIGI8YyszRTUmJmI+Yy05RTV9O3ZhciBobD0hMSxpbD0hMSxqbD0hMSxrbD0wLGxsPSExLG1sPXZvaWQgMCxubD1bXTtmdW5jdGlvbiBvbChhKXtpZihrbD09PTApbGwmJm5sJiYobmwubGVuZ3RoPj0xMDAmJm5sLnNoaWZ0KCksbmwucHVzaChhKSk7ZWxzZSBpZihwbCgpKXt2YXIgYj1FKDQxKSxjPU1jKGIsW10pO2MubGVuZ3RoPj01MCYmYy5zaGlmdCgpO2MucHVzaChhKX19ZnVuY3Rpb24gcWwoKXtpbHx8KHJsKCksc2woa2wpKX1mdW5jdGlvbiBzbChhKXtpZighaWx8fGtsPT09MiYmYT09PTEpaWYoaWw9ITAsamwmJihhZChCLCJUQVByb2REZWJ1Z1NpZ25hbCIscWwpLGpsPSExKSxtbCE9PXZvaWQgMCYmKEEuY2xlYXJUaW1lb3V0KG1sKSxtbD12b2lkIDApLGtsPWEsYT09PTEpe3ZhciBiPW5sO25sPXZvaWQgMDtiPT1udWxsfHxiLmZvckVhY2goZnVuY3Rpb24oYyl7b2woYyl9KX19CmZ1bmN0aW9uIHJsKCl7dmFyIGE9Qi5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLXRhZy1hc3Npc3RhbnQtcHJvZC1wcmVzZW50Iik7Z2woYSk/a2w9MTohZmwoYSl8fGhsfHxqbD9rbD0yOihqbD0hMCwkYyhCLCJUQVByb2REZWJ1Z1NpZ25hbCIscWwsITEpLG1sPUEuc2V0VGltZW91dChmdW5jdGlvbigpe2lsfHwocmwoKSxzbChrbCkpO2hsPSEwfSwyMDApKX1mdW5jdGlvbiBwbCgpe2lmKCFsbClyZXR1cm4hMTtzd2l0Y2goa2wpe2Nhc2UgMTpjYXNlIDA6cmV0dXJuITA7Y2FzZSAyOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuITF9fTtmdW5jdGlvbiB0bCgpe3ZhciBhPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KTtyZXR1cm4gYS5pY3M9YS5pY3N8fG5ldyB1bH12YXIgdWw9ZnVuY3Rpb24oKXt0aGlzLmVudHJpZXM9e307dGhpcy53YWl0UGVyaW9kVGltZWRPdXQ9dGhpcy53YXNTZXRMYXRlPXRoaXMuYWNjZXNzZWRBbnk9dGhpcy5hY2Nlc3NlZERlZmF1bHQ9dGhpcy51c2VkSW1wbGljaXQ9dGhpcy51c2VkVXBkYXRlPXRoaXMudXNlZERlZmF1bHQ9dGhpcy51c2VkRGVjbGFyZT10aGlzLmFjdGl2ZT0hMTt0aGlzLkg9W119Owp1bC5wcm90b3R5cGUuZGVmYXVsdD1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt0aGlzLnVzZWREZWZhdWx0fHx0aGlzLnVzZWREZWNsYXJlfHwhdGhpcy5hY2Nlc3NlZERlZmF1bHQmJiF0aGlzLmFjY2Vzc2VkQW55fHwodGhpcy53YXNTZXRMYXRlPSEwKTt0aGlzLnVzZWREZWZhdWx0PXRoaXMuYWN0aXZlPSEwO3NiKCJUQUdHSU5HIiwxOSk7Yj09bnVsbD9zYigiVEFHR0lORyIsMTgpOnZsKHRoaXMsYSxiPT09ImdyYW50ZWQiLGMsZCxlLGYsZyl9O3VsLnByb3RvdHlwZS53YWl0Rm9yVXBkYXRlPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGEubGVuZ3RoO2QrKyl2bCh0aGlzLGFbZF0sdm9pZCAwLHZvaWQgMCwiIiwiIixiLGMpfTsKdmFyIHZsPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCl7dmFyIGw9YS5lbnRyaWVzLG49bFtiXXx8e30scD1uLnJlZ2lvbixxPWQmJnpiKGQpP2QudG9VcHBlckNhc2UoKTp2b2lkIDA7ZT1lLnRvVXBwZXJDYXNlKCk7Zj1mLnRvVXBwZXJDYXNlKCk7aWYoZT09PSIifHxxPT09Znx8KHE9PT1lP3AhPT1mOiFxJiYhcCkpe3ZhciByPSEhKGcmJmc+MCYmbi51cGRhdGU9PT12b2lkIDApLHQ9e3JlZ2lvbjpxLGRlY2xhcmVfcmVnaW9uOm4uZGVjbGFyZV9yZWdpb24saW1wbGljaXQ6bi5pbXBsaWNpdCxkZWZhdWx0OmMhPT12b2lkIDA/YzpuLmRlZmF1bHQsZGVjbGFyZTpuLmRlY2xhcmUsdXBkYXRlOm4udXBkYXRlLHF1aWV0OnJ9O2lmKGUhPT0iInx8bi5kZWZhdWx0IT09ITEpbFtiXT10O3ImJkEuc2V0VGltZW91dChmdW5jdGlvbigpe2xbYl09PT10JiZ0LnF1aWV0JiYoc2IoIlRBR0dJTkciLDIpLGEud2FpdFBlcmlvZFRpbWVkT3V0PSEwLGEuY2xlYXJUaW1lb3V0KGIsdm9pZCAwLGgpLAphLm5vdGlmeUxpc3RlbmVycygpKX0sZyl9fTtrPXVsLnByb3RvdHlwZTtrLmNsZWFyVGltZW91dD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W2FdLGU9Yy5kZWxlZ2F0ZWRDb25zZW50VHlwZXMsZjtmb3IoZiBpbiBlKWUuaGFzT3duUHJvcGVydHkoZikmJmVbZl09PT1hJiZkLnB1c2goZik7dmFyIGc9dGhpcy5lbnRyaWVzW2FdfHx7fSxoPXRoaXMuZ2V0Q29uc2VudFN0YXRlKGEsYyk7aWYoZy5xdWlldCl7Zy5xdWlldD0hMTtmb3IodmFyIGw9bShkKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl3bCh0aGlzLG4udmFsdWUpfWVsc2UgaWYoYiE9PXZvaWQgMCYmaCE9PWIpZm9yKHZhciBwPW0oZCkscT1wLm5leHQoKTshcS5kb25lO3E9cC5uZXh0KCkpd2wodGhpcyxxLnZhbHVlKX07CmsudXBkYXRlPWZ1bmN0aW9uKGEsYixjKXt0aGlzLnVzZWREZWZhdWx0fHx0aGlzLnVzZWREZWNsYXJlfHx0aGlzLnVzZWRVcGRhdGV8fCF0aGlzLmFjY2Vzc2VkQW55fHwodGhpcy53YXNTZXRMYXRlPSEwKTt0aGlzLnVzZWRVcGRhdGU9dGhpcy5hY3RpdmU9ITA7aWYoYiE9bnVsbCl7dmFyIGQ9dGhpcy5nZXRDb25zZW50U3RhdGUoYSxjKSxlPXRoaXMuZW50cmllczsoZVthXT1lW2FdfHx7fSkudXBkYXRlPWI9PT0iZ3JhbnRlZCI7dGhpcy5jbGVhclRpbWVvdXQoYSxkLGMpfX07CmsuZGVjbGFyZT1mdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMudXNlZERlY2xhcmU9dGhpcy5hY3RpdmU9ITA7dmFyIGY9dGhpcy5lbnRyaWVzLGc9ZlthXXx8e30saD1nLmRlY2xhcmVfcmVnaW9uLGw9YyYmemIoYyk/Yy50b1VwcGVyQ2FzZSgpOnZvaWQgMDtkPWQudG9VcHBlckNhc2UoKTtlPWUudG9VcHBlckNhc2UoKTtpZihkPT09IiJ8fGw9PT1lfHwobD09PWQ/aCE9PWU6IWwmJiFoKSl7dmFyIG49e3JlZ2lvbjpnLnJlZ2lvbixkZWNsYXJlX3JlZ2lvbjpsLGRlY2xhcmU6Yj09PSJncmFudGVkIixpbXBsaWNpdDpnLmltcGxpY2l0LGRlZmF1bHQ6Zy5kZWZhdWx0LHVwZGF0ZTpnLnVwZGF0ZSxxdWlldDpnLnF1aWV0fTtpZihkIT09IiJ8fGcuZGVjbGFyZSE9PSExKWZbYV09bn19OwprLmltcGxpY2l0PWZ1bmN0aW9uKGEsYil7dGhpcy51c2VkSW1wbGljaXQ9ITA7dmFyIGM9dGhpcy5lbnRyaWVzLGQ9Y1thXT1jW2FdfHx7fTtkLmltcGxpY2l0IT09ITEmJihkLmltcGxpY2l0PWI9PT0iZ3JhbnRlZCIpfTsKay5nZXRDb25zZW50U3RhdGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmVudHJpZXMsZD1jW2FdfHx7fSxlPWQudXBkYXRlO2lmKGUhPT12b2lkIDApcmV0dXJuIGU/MToyO2lmKGIudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzKXt2YXIgZj1iLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzW2FdO2lmKGY9PT0zKXJldHVybiAxO2lmKGY9PT0yKXJldHVybiAyfWVsc2UgaWYoZT1kLmRlZmF1bHQsZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7aWYoYj09bnVsbD8wOmIuZGVsZWdhdGVkQ29uc2VudFR5cGVzLmhhc093blByb3BlcnR5KGEpKXt2YXIgZz1iLmRlbGVnYXRlZENvbnNlbnRUeXBlc1thXSxoPWNbZ118fHt9O2U9aC51cGRhdGU7aWYoZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7aWYoYi51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHMpe3ZhciBsPWIuY29udGFpbmVyU2NvcGVkRGVmYXVsdHNbZ107aWYobD09PTMpcmV0dXJuIDE7aWYobD09PTIpcmV0dXJuIDJ9ZWxzZSBpZihlPQpoLmRlZmF1bHQsZSE9PXZvaWQgMClyZXR1cm4gZT8xOjJ9ZT1kLmRlY2xhcmU7aWYoZSE9PXZvaWQgMClyZXR1cm4gZT8xOjI7ZT1kLmltcGxpY2l0O3JldHVybiBlIT09dm9pZCAwP2U/Mzo0OjB9O2suYWRkTGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXt0aGlzLkgucHVzaCh7Y29uc2VudFR5cGVzOmEsaWU6Yn0pfTt2YXIgd2w9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtjPGEuSC5sZW5ndGg7KytjKXt2YXIgZD1hLkhbY107QXJyYXkuaXNBcnJheShkLmNvbnNlbnRUeXBlcykmJmQuY29uc2VudFR5cGVzLmluZGV4T2YoYikhPT0tMSYmKGQueG89ITApfX07dWwucHJvdG90eXBlLm5vdGlmeUxpc3RlbmVycz1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2M8dGhpcy5ILmxlbmd0aDsrK2Mpe3ZhciBkPXRoaXMuSFtjXTtpZihkLnhvKXtkLnhvPSExO3RyeXtkLmllKHtjb25zZW50RXZlbnRJZDphLGNvbnNlbnRQcmlvcml0eUlkOmJ9KX1jYXRjaChlKXt9fX19O3ZhciB4bD0hMSx5bD0hMSx6bD17fSxBbD17ZGVsZWdhdGVkQ29uc2VudFR5cGVzOnt9LGNvcmVQbGF0Zm9ybVNlcnZpY2VzOnt9LHVzZWRDb3JlUGxhdGZvcm1TZXJ2aWNlczohMSxzZWxlY3RlZEFsbENvcmVQbGF0Zm9ybVNlcnZpY2VzOiExLGNvbnRhaW5lclNjb3BlZERlZmF1bHRzOih6bC5hZF9zdG9yYWdlPTEsemwuYW5hbHl0aWNzX3N0b3JhZ2U9MSx6bC5hZF91c2VyX2RhdGE9MSx6bC5hZF9wZXJzb25hbGl6YXRpb249MSx6bCksdXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzOiExfTtmdW5jdGlvbiBCbChhKXt2YXIgYj10bCgpO2IuYWNjZXNzZWRBbnk9ITA7cmV0dXJuKHpiKGEpP1thXTphKS5ldmVyeShmdW5jdGlvbihjKXtzd2l0Y2goYi5nZXRDb25zZW50U3RhdGUoYyxBbCkpe2Nhc2UgMTpjYXNlIDM6cmV0dXJuITA7Y2FzZSAyOmNhc2UgNDpyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX0pfQpmdW5jdGlvbiBDbChhKXt2YXIgYj10bCgpO2IuYWNjZXNzZWRBbnk9ITA7cmV0dXJuIGIuZ2V0Q29uc2VudFN0YXRlKGEsQWwpfWZ1bmN0aW9uIERsKGEpe3ZhciBiPXRsKCk7Yi5hY2Nlc3NlZEFueT0hMDtyZXR1cm4hKGIuZW50cmllc1thXXx8e30pLnF1aWV0fWZ1bmN0aW9uIEVsKCl7aWYoIVlmKDUpKXJldHVybiExO3ZhciBhPXRsKCk7YS5hY2Nlc3NlZEFueT0hMDtpZihhLmFjdGl2ZSlyZXR1cm4hMDtpZighQWwudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzKXJldHVybiExO2Zvcih2YXIgYj1tKE9iamVjdC5rZXlzKEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzKSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpaWYoQWwuY29udGFpbmVyU2NvcGVkRGVmYXVsdHNbYy52YWx1ZV0hPT0xKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEZsKGEsYil7dGwoKS5hZGRMaXN0ZW5lcihhLGIpfQpmdW5jdGlvbiBHbChhLGIpe3RsKCkubm90aWZ5TGlzdGVuZXJzKGEsYil9ZnVuY3Rpb24gSGwoYSxiKXtpZihiLmV2ZXJ5KERsKSlhKHt9KTtlbHNle3ZhciBjPSExO0ZsKGIsZnVuY3Rpb24oZCl7IWMmJmIuZXZlcnkoRGwpJiYoYz0hMCxhKGQpKX0pfX0KZnVuY3Rpb24gSWwoYSxiKXt2YXIgYz16YihiKT9bYl06YixkPXt9LGU9ZnVuY3Rpb24oKXtyZXR1cm4gYy5maWx0ZXIoZnVuY3Rpb24oaCl7cmV0dXJuIEJsKGgpJiYhZFtoXX0pfSxmPWUoKTtpZihmLmxlbmd0aCE9PWMubGVuZ3RoKXt2YXIgZz1mdW5jdGlvbihoKXtmb3IodmFyIGw9bShoKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSlkW24udmFsdWVdPSEwfTtnKGYpO0ZsKGMsZnVuY3Rpb24oaCl7ZnVuY3Rpb24gbChxKXtxLmxlbmd0aCE9PTAmJihnKHEpLGguY29uc2VudFR5cGVzPXEsYShoKSl9dmFyIG49ZSgpO2lmKG4ubGVuZ3RoIT09MCl7dmFyIHA9T2JqZWN0LmtleXMoZCkubGVuZ3RoO24ubGVuZ3RoK3A+PWMubGVuZ3RoP2wobik6QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bChlKCkpfSw1MDApfX0pfX07dmFyIEpsPSExO2Z1bmN0aW9uIEtsKGEsYil7dmFyIGM9d2soKSxkPXRrKCk7RSgyNik7dmFyIGU9SWYoNDcpPzA6SWYoNTApPzE6MyxmPVhqKCk7aWYocGwoKSl7dmFyIGc9TGwoIklOSVQiKTtnLmNvbnRhaW5lckxvYWRTb3VyY2U9YSE9bnVsbD9hOjA7YiYmKGcucGFyZW50VGFyZ2V0UmVmZXJlbmNlPWIpO2cuYWxpYXNlcz1jO2cuZGVzdGluYXRpb25zPWQ7ZSE9PXZvaWQgMCYmKGcuZ3RnPXtzb3VyY2U6ZSxtUGF0aDpmIT1udWxsP2Y6IiJ9KTtvbChnKX19CmZ1bmN0aW9uIE1sKGEpe3ZhciBiLGMsZCxlO2I9YS50YXJnZXRJZDtjPWEucmVxdWVzdDtkPWEucWI7ZT1hLmlzQmF0Y2hlZDt2YXIgZjtpZihmPXBsKCkpe3ZhciBnO2E6c3dpdGNoKGMuZW5kcG9pbnQpe2Nhc2UgNjg6Y2FzZSA2OTpjYXNlIDE5OmNhc2UgNjI6Y2FzZSA0NzpnPSEwO2JyZWFrIGE7ZGVmYXVsdDpnPSExfWY9IWd9aWYoZil7dmFyIGg9TGwoIkdUQUdfSElUIix7ZXZlbnRJZDpkLmV2ZW50SWQscHJpb3JpdHlJZDpkLnByaW9yaXR5SWR9KTtoLnRhcmdldD1iO2gudXJsPWMudXJsO2MucG9zdEJvZHkmJihoLnBvc3RCb2R5PWMucG9zdEJvZHkpO2gucGFyYW1ldGVyRW5jb2Rpbmc9Yy5wYXJhbWV0ZXJFbmNvZGluZztoLmVuZHBvaW50PWMuZW5kcG9pbnQ7ZSE9PXZvaWQgMCYmKGguaXNCYXRjaGVkPWUpO29sKGgpfX1mdW5jdGlvbiBObChhKXtwbCgpJiZNbChhKCkpfQpmdW5jdGlvbiBMbChhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2IuZ3JvdXBJZD1PbDt2YXIgYyxkPWIsZT1QbCxmPXtwdWJsaWNJZDpRbH07ZC5ldmVudElkIT1udWxsJiYoZi5ldmVudElkPWQuZXZlbnRJZCk7ZC5wcmlvcml0eUlkIT1udWxsJiYoZi5wcmlvcml0eUlkPWQucHJpb3JpdHlJZCk7ZC5ldmVudE5hbWUmJihmLmV2ZW50TmFtZT1kLmV2ZW50TmFtZSk7ZC5ncm91cElkJiYoZi5ncm91cElkPWQuZ3JvdXBJZCk7ZC50YWdOYW1lJiYoZi50YWdOYW1lPWQudGFnTmFtZSk7Yz17Y29udGFpbmVyUHJvZHVjdDoiR1RNIixrZXk6Zix2ZXJzaW9uOmUsbWVzc2FnZVR5cGU6YX07Yy5jb250YWluZXJQcm9kdWN0PUpsPyJPR1QiOiJHVE0iO2Mua2V5LnRhcmdldFJlZj1SbDtyZXR1cm4gY312YXIgUWw9IiIsUGw9IiIsUmw9e2N0aWQ6IiIsaXNEZXN0aW5hdGlvbjohMX0sT2w7CmZ1bmN0aW9uIFNsKGEpe3ZhciBiPUUoNSksYz1JZig0NSksZD1zaygpLGU9RSg2KSxmPUUoMSk7RSgyMyk7a2w9MDtsbD0hMDtybCgpO09sPWE7UWw9YjtQbD1mO0psPWM7Umw9e2N0aWQ6Yixpc0Rlc3RpbmF0aW9uOmQsY2Fub25pY2FsSWQ6ZX19O2Z1bmN0aW9uIFRsKGEsYixjLGQpe2lmKHBsKCkpe3ZhciBlPWIuTTtNbCh7dGFyZ2V0SWQ6ZHx8W2IudGFyZ2V0LmRlc3RpbmF0aW9uSWRdLHJlcXVlc3Q6e3VybDphLHBhcmFtZXRlckVuY29kaW5nOjIsZW5kcG9pbnQ6Y30scWI6e2V2ZW50SWQ6ZS5ldmVudElkLHByaW9yaXR5SWQ6ZS5wcmlvcml0eUlkfSxGajp7ZXZlbnRJZDpRKGIsSC5KLnVmKSxwcmlvcml0eUlkOlEoYixILkoudmYpfX0pfX07ZnVuY3Rpb24gVWwoYSxiLGMpe3ZhciBkPSJodHRwczovLyIrYStiO3JldHVybiBjP2Z1bmN0aW9uKCl7cmV0dXJuIFdqKCk/WGooKStjK2I6ZH06ZnVuY3Rpb24oKXtyZXR1cm4gZH19O3ZhciBWbD17fSxXbD0oVmxbMjJdPVVsKCJ3d3cuZ29vZ2xlYWRzZXJ2aWNlcy5jb20iLCIvY2NtL2NvbnZlcnNpb24iLCIvYXMvZCIpLFZsWzYwXT1VbCgicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvY2NtL2NvbnZlcnNpb24iLCIvZ3MiKSxWbFsyM109VWwoInd3dy5nb29nbGUuY29tIiwiL2NjbS9jb252ZXJzaW9uIiwiL2cvZCIpLFZsKTt2YXIgWGw9e30sWWw9KFhsWzVdPVVsKCJ3d3cuZ29vZ2xlYWRzZXJ2aWNlcy5jb20iLCIvcGFnZWFkL2NvbnZlcnNpb24iKSxYbFs2XT1VbCgicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvcGFnZWFkL2NvbnZlcnNpb24iLCIvZ3MiKSxYbFs4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkLzFwLWNvbnZlcnNpb24iKSxYbFs2Nl09VWwoInd3dy5nb29nbGUuY29tIiwiL3BhZ2VhZC91Y29udmVyc2lvbiIpLFhsWzYzXT1VbCgid3d3Lmdvb2dsZWFkc2VydmljZXMuY29tIiwiL3BhZ2VhZC9jb252ZXJzaW9uIiksWGxbNjRdPVVsKCJwYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbSIsIi9wYWdlYWQvY29udmVyc2lvbiIsIi9ncyIpLFhsWzY1XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkLzFwLWNvbnZlcnNpb24iKSxYbFs3NF09ZnVuY3Rpb24oKXtyZXR1cm4gWGooKSsiL2FzL3AvYyJ9LFhsKTt2YXIgWmw9e30sJGw9KFpsWzQ1XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvY2NtL2NvbGxlY3QiKSxabFs0Nl09VWwoInBhZ2VhZDIuZ29vZ2xlc3luZGljYXRpb24uY29tIiwiL2NjbS9jb2xsZWN0IiwiL2dzIiksWmxbNjldPVVsKCJhZC5kb3VibGVjbGljay5uZXQiLCIvY2NtL3MvY29sbGVjdCIpLFpsWzU4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcGFnZWFkL3NldF9wYXJ0aXRpb25lZF9jb29raWUiKSxabFs1N109VWwoInd3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSIsIi9wYWdlYWQvc2V0X3BhcnRpdGlvbmVkX2Nvb2tpZSIpLFpsKTt2YXIgYW09e30sYm09KGFtWzldPVVsKCJnb29nbGVhZHMuZy5kb3VibGVjbGljay5uZXQiLCIvcGFnZWFkL3ZpZXd0aHJvdWdoY29udmVyc2lvbiIpLGFtWzY4XT1VbCgid3d3Lmdvb2dsZS5jb20iLCIvcm1rdC9jb2xsZWN0IiksYW0pO3ZhciBjbT17fSxkbT0oY21bMTFdPVVsKCJ3d3cuZ29vZ2xlLmNvbSIsIi9wYWdlYWQvZm9ybS1kYXRhIiwiL2QiKSxjbVsyMV09VWwoInd3dy5nb29nbGUuY29tIiwiL2NjbS9mb3JtLWRhdGEiLCIvZCIpLGNtWzcyXT1VbCgiZ29vZ2xlLmNvbSIsIi9wYWdlYWQvZm9ybS1kYXRhIiwiL2QiKSxjbVs3M109VWwoImdvb2dsZS5jb20iLCIvY2NtL2Zvcm0tZGF0YSIsIi9kIiksY20pO3ZhciBlbT17fSxmbT0oZW1bNTFdPVVsKCJ3d3cuZ29vZ2xlLmNvbSIsIi90cmF2ZWwvZmxpZ2h0cy9jbGljay9jb252ZXJzaW9uIiksZW0pO3ZhciBnbT17fSxobT0oZ21bMV09ZnVuY3Rpb24oKXtyZXR1cm4iaHR0cHM6Ly9hZC5kb3VibGVjbGljay5uZXQvYWN0aXZpdHk7In0sZ21bMl09ZnVuY3Rpb24oKXtyZXR1cm4oV2ooKT9YaigpOiJodHRwczovL2FkZS5nb29nbGVzeW5kaWNhdGlvbi5jb20iKSsiL2RkbS9hY3Rpdml0eSIrKE0oNDY3KT8iOyI6Ii8iKX0sZ21bM109ZnVuY3Rpb24oYSl7cmV0dXJuImh0dHBzOi8vIithLmxyKyIuZmxzLmRvdWJsZWNsaWNrLm5ldC9hY3Rpdml0eWk7In0sZ20pO2Z1bmN0aW9uIGltKGEpe3NiKCJIRUFMVEgiLGEpfTt2YXIgam09e2JhOntQdDoiYXdfdXNlcl9kYXRhX2NhY2hlIixvaToiY29va2llX2RlcHJlY2F0aW9uX2xhYmVsIixiaDoiZGlhZ25vc3RpY3NfcGFnZV9pZCIsb3A6ImVtZW1vIixkdToiZW1fcmVnaXN0cnkiLFNpOiJlYWIiLHJ1OiJmbF91c2VyX2RhdGFfY2FjaGUiLHR1OiJnYTRfdXNlcl9kYXRhX2NhY2hlIixMdToiaWRjX3B2X2NsYWltIixTZToiaXBfZ2VvX2RhdGFfY2FjaGUiLFhpOiJpcF9nZW9fZmV0Y2hfaW5fcHJvZ3Jlc3MiLGpuOiJuYl9kYXRhIixUcToicGFnZV9leHBlcmltZW50X2lkcyIsbG46InBsZCIsVmU6InB0X2RhdGEiLG1uOiJwdF9saXN0ZW5lcl9zZXQiLGtqOiJyZXRyeV9jb250YWluZXJzIixPaDoic2VydmljZV93b3JrZXJfZW5kcG9pbnQiLFpxOiJzaGFyZWRfdXNlcl9pZCIsYXI6InNoYXJlZF91c2VyX2lkX3JlcXVlc3RlZCIsc2o6InNoYXJlZF91c2VyX2lkX3NvdXJjZSIsYnY6ImF3aCIsaHI6InVuaXZlcnNhbF9jbGFpbV9yZWdpc3RyeSJ9fTt2YXIga209ZnVuY3Rpb24oYSl7cmV0dXJuIHRmKGZ1bmN0aW9uKGIpe2Zvcih2YXIgYyBpbiBhKWlmKGI9PT1hW2NdJiYhL15bMC05XSskLy50ZXN0KGMpKXJldHVybiEwO3JldHVybiExfSl9KGptLmJhKTsKZnVuY3Rpb24gbG0oYSxiKXtiPWI9PT12b2lkIDA/ITE6YjtpZihrbShhKSl7dmFyIGMsZCxlPShkPShjPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KSkueGNkKSE9bnVsbD9kOmMueGNkPXt9O2lmKGVbYV0pcmV0dXJuIGVbYV07aWYoYil7dmFyIGY9dm9pZCAwLGc9MSxoPXt9LGw9e3NldDpmdW5jdGlvbihuKXtmPW47bC5ub3RpZnkoKX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ9LHN1YnNjcmliZTpmdW5jdGlvbihuKXtoW1N0cmluZyhnKV09bjtyZXR1cm4gZysrfSx1bnN1YnNjcmliZTpmdW5jdGlvbihuKXt2YXIgcD1TdHJpbmcobik7cmV0dXJuIGguaGFzT3duUHJvcGVydHkocCk/KGRlbGV0ZSBoW3BdLCEwKTohMX0sbm90aWZ5OmZ1bmN0aW9uKCl7Zm9yKHZhciBuPW0oT2JqZWN0LmtleXMoaCkpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3RyeXtoW3FdKGEsZil9Y2F0Y2gocil7fX19fTtyZXR1cm4gZVthXT1sfX19CmZ1bmN0aW9uIG1tKGEsYil7dmFyIGM9bG0oYSwhMCk7YyYmYy5zZXQoYil9ZnVuY3Rpb24gbm0oYSl7dmFyIGI7cmV0dXJuKGI9bG0oYSkpPT1udWxsP3ZvaWQgMDpiLmdldCgpfWZ1bmN0aW9uIG9tKGEsYil7dmFyIGM9bG0oYSk7aWYoIWMpe2M9bG0oYSwhMCk7aWYoIWMpcmV0dXJuO2Muc2V0KGIpfXJldHVybiBjLmdldCgpfWZ1bmN0aW9uIHBtKGEsYil7aWYodHlwZW9mIGI9PT0iZnVuY3Rpb24iKXt2YXIgYztyZXR1cm4oYz1sbShhLCEwKSk9PW51bGw/dm9pZCAwOmMuc3Vic2NyaWJlKGIpfX1mdW5jdGlvbiBxbShhLGIpe3ZhciBjPWxtKGEpO3JldHVybiBjP2MudW5zdWJzY3JpYmUoYik6ITF9O3ZhciBzbT1mdW5jdGlvbigpe3RoaXMuSD17fTt0aGlzLks9ITF9O3NtLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dGhpcy5LfHwodGhpcy5IPXRtKCksdGhpcy5IWyIwIl0mJm9tKGptLmJhLlNlLEpTT04uc3RyaW5naWZ5KHRoaXMuSCkpKX07CnZhciB4bT1mdW5jdGlvbigpe3ZhciBhPXVtLGI9dm0sYz12b2lkIDAsZD1mdW5jdGlvbigpe2MhPT12b2lkIDAmJnFtKGptLmJhLlNlLGMpO3RyeXt2YXIgZj1ubShqbS5iYS5TZSk7Yi5IPUpTT04ucGFyc2UoZil9Y2F0Y2goZyl7UCgxMjMpLGltKDIpLGIuSD17fX1iLks9ITA7YSgpfSxlPW5tKGptLmJhLlNlKTtlP2QoZSk6KGM9cG0oam0uYmEuU2UsZCksd20oKSl9LHdtPWZ1bmN0aW9uKCl7aWYoIW5tKGptLmJhLlhpKSl7bW0oam0uYmEuWGksITApO3ZhciBhPWZ1bmN0aW9uKGIpe21tKGptLmJhLlNlLGJ8fCJ7fSIpO21tKGptLmJhLlhpLCExKX07dHJ5e0EuZmV0Y2goImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vY2NtL2dlbyIse21ldGhvZDoiR0VUIixjYWNoZToibm8tc3RvcmUiLG1vZGU6ImNvcnMiLGNyZWRlbnRpYWxzOiJvbWl0In0pLnRoZW4oZnVuY3Rpb24oYil7Yi5vaz9iLnRleHQoKS50aGVuKGZ1bmN0aW9uKGMpe2EoYyl9LGZ1bmN0aW9uKCl7YSgpfSk6YSgpfSxmdW5jdGlvbigpe2EoKX0pfWNhdGNoKGIpe2EoKX19fSwKdG09ZnVuY3Rpb24oKXt2YXIgYT1FKDIyKTt0cnl7cmV0dXJuIEpTT04ucGFyc2UocWIoYSkpfWNhdGNoKGIpe3JldHVybiBQKDEyMyksaW0oMikse319fSx5bT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyIwIl18fCIifSx6bT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyIxIl18fCIifSxBbT1mdW5jdGlvbigpe3ZhciBhPXZtLGI9ITE7Yj0hIWEuSFsiMiJdO3JldHVybiBifSxCbT1mdW5jdGlvbigpe3JldHVybiB2bS5IWyI2Il0hPT0hMX0sQ209ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSExO2I9ISFhLkhbIjkiXTtyZXR1cm4gYn0sRG09ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSIiO2I9YS5IWyI0Il18fCIiOwpyZXR1cm4gYn0sRW09ZnVuY3Rpb24oKXt2YXIgYT12bSxiPSIiO2I9YS5IWyIzIl18fCIiO3JldHVybiBifSx2bT1uZXcgc207ZnVuY3Rpb24gRm0oYSl7YT1hPT09dm9pZCAwPyJnL2NvbGxlY3QiOmE7cmV0dXJuImh0dHBzOi8vIisoRG0oKXx8Ind3dyIpKyIuZ29vZ2xlLWFuYWx5dGljcy5jb20vIithfWZ1bmN0aW9uIEdtKGEpe2E9YT09PXZvaWQgMD8iZy9jb2xsZWN0IjphO3ZhciBiPURtKCk7cmV0dXJuImh0dHBzOi8vIisoYj9iKyIuIjoiIikrImFuYWx5dGljcy5nb29nbGUuY29tLyIrYX12YXIgSG09e30sSW09KEhtWzE3XT1mdW5jdGlvbigpe3JldHVybiBXaigpJiYhRG0oKT9YaigpKyIvYWcvZy9jIjpHbSgpfSxIbVsxNl09ZnVuY3Rpb24oKXtyZXR1cm4gV2ooKSYmIURtKCk/WGooKSsiL2dhL2cvYyI6Rm0oKX0sSG1bNjddPWZ1bmN0aW9uKCl7dmFyIGE7YT1hPT09dm9pZCAwPyJnL2NvbGxlY3QiOmE7cmV0dXJuIERtKCk/IiI6Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vIithfSxIbSk7ZnVuY3Rpb24gSm0oYSxiLGMpe3ZhciBkPVVsKGIsIi9tZWFzdXJlbWVudC9jb252ZXJzaW9uIixjKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gRG0oKT9hKCJtZWFzdXJlbWVudC9jb252ZXJzaW9uIik6ZCgpfX12YXIgS209e30sTG09KEttWzU1XT1KbShGbSwicGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20iLCIvZ3MiKSxLbVs1NF09Sm0oR20sInd3dy5nb29nbGUuY29tIiwiL2ciKSxLbSk7dmFyIE1tPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sV2wsWWwsJGwsYm0sZG0sZm0saG0sTG0sSW0pO2Z1bmN0aW9uIE5tKGEsYil7dmFyIGM9T2JqZWN0LmtleXMoYikuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBiW2RdIT1udWxsfSkubWFwKGZ1bmN0aW9uKGQpe3JldHVybiBkKyI9IitiW2RdfSkuam9pbigiJiIpO3JldHVybiBNbVthXSh2b2lkIDApKyI/IitjfTt2YXIgT209e30sUG09KE9tLnRkcD0xLE9tLmV4cD0xLE9tLmd0bT0xLE9tLnBpZD0xLE9tLmRsPTEsT20uc2VxPTEsT20udD0xLE9tLnY9MSxPbSksUm09ZnVuY3Rpb24oKXt2YXIgYT1RbTtyZXR1cm4gT2JqZWN0LmtleXMoYS5IKS5maWx0ZXIoZnVuY3Rpb24oYil7cmV0dXJuIGEuSFtiXX0pfSxTbT1mdW5jdGlvbihhLGIsYyl7aWYoYS5IW2JdPT09dm9pZCAwfHwoYz09PXZvaWQgMD8wOmMpKWEuSFtiXT0hMH0sVG09ZnVuY3Rpb24oYSl7YS5mb3JFYWNoKGZ1bmN0aW9uKGIpe1BtW2JdfHwoUW0uSFtiXT0hMSl9KX0sUW09bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXt9O3RoaXMuSz17fX07ZnVuY3Rpb24gVW0oYSxiLGMpe3ZhciBkPWM9PT12b2lkIDA/ITA6YyxlPVFtO2UuS1thXT1iOyhkPT09dm9pZCAwfHxkKSYmU20oZSxhKX1mdW5jdGlvbiBWbShhLGIpe1NtKFFtLGEsYj09PXZvaWQgMD8hMTpiKX07ZnVuY3Rpb24gV20oYSl7dmFyIGI9MDthLkdjLmZvckVhY2goZnVuY3Rpb24oYyl7Ynw9MTw8Y30pO3JldHVybiBifWZ1bmN0aW9uIFhtKCl7cmV0dXJue3RvdGFsOjAsamI6MCxHYzpuZXcgU2V0LGxmOnt9fX1mdW5jdGlvbiBZbShhLGIsYyxkKXt2YXIgZT1PYmplY3Qua2V5cyhhLm5mKS5zb3J0KGZ1bmN0aW9uKGYsZyl7cmV0dXJuIE51bWJlcihmKS1OdW1iZXIoZyl9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuW2YsYihhLm5mW2ZdKV19KS5maWx0ZXIoZnVuY3Rpb24oZil7cmV0dXJuIGZbMV0hPT12b2lkIDB9KS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuam9pbihjKX0pLmpvaW4oZCk7cmV0dXJuIGU/ZTp2b2lkIDB9CmZ1bmN0aW9uIFptKGEsYil7dmFyIGMsZCxlO2M9Yz09PXZvaWQgMD8iXyI6YztkPWQ9PT12b2lkIDA/IjsiOmQ7ZT1lPT09dm9pZCAwPyJ+IjplO2Zvcih2YXIgZj1bXSxnPW0oT2JqZWN0LmtleXMoYS5sZikuc29ydCgpKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZSxuPVltKGEubGZbbF0sYixjLGQpO2lmKG4pe3ZhciBwPXZvaWQgMDtmLnB1c2goIiIrKChwPWwpIT1udWxsP3A6IiIpK2Qrbil9fXJldHVybiBmLmxlbmd0aD9mLmpvaW4oZSk6dm9pZCAwfQpmdW5jdGlvbiAkbShhKXthLmpiPTA7YS5HYy5jbGVhcigpO2Zvcih2YXIgYj1tKE9iamVjdC5rZXlzKGEubGYpKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9YS5sZltjLnZhbHVlXTtkLmpiPTA7ZC5HYy5jbGVhcigpO2Zvcih2YXIgZT1tKE9iamVjdC5rZXlzKGQubmYpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9ZC5uZltmLnZhbHVlXTtnLmpiPTA7Zy5HYy5jbGVhcigpfX19CmZ1bmN0aW9uIGFuKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPzE6ZDthLnRvdGFsKz1kO2EuamIrPWQ7dmFyIGYsZz1iPT09dm9pZCAwPyIiOmI7Zj1hLmxmW2ddfHwoYS5sZltnXT17dG90YWw6MCxqYjowLEdjOm5ldyBTZXQsbmY6e319KTtmLnRvdGFsKz1kO2YuamIrPWQ7dmFyIGgsbD1TdHJpbmcoYyk7aD1mLm5mW2xdfHwoZi5uZltsXT17dG90YWw6MCxqYjowLEdjOm5ldyBTZXR9KTtoLnRvdGFsKz1kO2guamIrPWQ7ZSE9PXZvaWQgMCYmKGEuR2MuYWRkKGUpLGYuR2MuYWRkKGUpLGguR2MuYWRkKGUpKX07dmFyIGJuPWZ1bmN0aW9uKCl7dGhpcy5IPVhtKCl9O2JuLnByb3RvdHlwZS5pbmNyZW1lbnQ9ZnVuY3Rpb24oYSxiKXthbih0aGlzLkgsYSxiKX07dmFyIGNuPW5ldyBibjtmdW5jdGlvbiBkbihhKXt2YXIgYj1TdHJpbmcoYVtHZi5ZYl18fCIiKS5yZXBsYWNlKC9fL2csIiIpO3JldHVybiBTYihiLCJjdnQiKT8iY3Z0IjpifXZhciBlbj1BLmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCI/Z3RtX2xhdGVuY3k9Iik+PTB8fEEubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoIiZndG1fbGF0ZW5jeT0iKT49MDt2YXIgZ249ZnVuY3Rpb24oKXt2YXIgYT1mbjtyZXR1cm4gTSg2MDMpJiZJZig2NSwhMSkmJiFhLlp9LGZuPW5ldyBmdW5jdGlvbihhKXt0aGlzLlI9YSgpO3ZhciBiPUpmKDI3KTt0aGlzLk49ZW58fHRoaXMuUjxiO3ZhciBjPUpmKDQyKTt0aGlzLlo9ZW58fHRoaXMuUj49MS1jO3ZhciBkPU0oNjAzKSYmSWYoNjUsITEpO3RoaXMuSz10aGlzLlp8fGQ7dmFyIGU9SmYoMjcpLGY9SmYoNjMpO3RoaXMuSD1lbnx8Zj09PTF8fHRoaXMuUj49ZSYmdGhpcy5SPGUrZn0oZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yYW5kb20oKX0pO3ZhciBobj1mdW5jdGlvbigpe3RoaXMuSD17fX07aG4ucHJvdG90eXBlLnJlZ2lzdGVyPWZ1bmN0aW9uKGEsYixjKXtpZihmbi5LKXt2YXIgZD1qbihiLGMpO2lmKGQpe3ZhciBlLGY9YjtmPT09NCYmKGY9NSk7dmFyIGc9dGhpcy5IW2ZdO2d8fChnPXRoaXMuSFtmXT17fSk7ZT1nO3ZhciBoPWVbZF07aHx8KGg9ZVtkXT1bXSk7aC5wdXNoKG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYSkpO2NuLmluY3JlbWVudChhLmRlc3RpbmF0aW9uSWQsYS5lbmRwb2ludCk7YS5lbmRwb2ludCE9PTU2JiZhLmVuZHBvaW50IT09NjEmJlZtKCJtZGUiLCEwKX19fTsKdmFyIG1uPWZ1bmN0aW9uKGEsYil7dmFyIGM9a24sZD1qbihhLGIpO2lmKGQpe3ZhciBlPWxuKGMsYSk7aWYoZSl7dmFyIGY9ZVtkXTtmJiYoZVtkXT1mLmZpbHRlcihmdW5jdGlvbihnKXtyZXR1cm4hZy5Fb30pKX19fSxsbj1mdW5jdGlvbihhLGIpe2I9PT00JiYoYj01KTtyZXR1cm4gYS5IW2JdfSxqbj1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYoYlswXT09PSIvIil7dmFyIGQ7Yz0oKGQ9QS5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmQub3JpZ2luKStifXRyeXt2YXIgZT1uZXcgVVJMKGMpO3JldHVybiBhPT09Mj9lLm9yaWdpbjplLm9yaWdpbitlLnBhdGhuYW1lfWNhdGNoKGYpe319LGtuPW5ldyBobjsKZnVuY3Rpb24gbm4oYSl7c3dpdGNoKGEpe2Nhc2UgInNjcmlwdC1zcmMiOnJldHVybiA0O2Nhc2UgInNjcmlwdC1zcmMtZWxlbSI6cmV0dXJuIDU7Y2FzZSAiZnJhbWUtc3JjIjpyZXR1cm4gMjtjYXNlICJjb25uZWN0LXNyYyI6cmV0dXJuIDE7Y2FzZSAiaW1nLXNyYyI6cmV0dXJuIDN9fTtmdW5jdGlvbiBvbihhLGIsYyl7dmFyIGQsZT1hLkdvb2dsZWJRaENzTztlfHwoZT17fSxhLkdvb2dsZWJRaENzTz1lKTtkPWU7aWYoZFtiXSlyZXR1cm4hMTtkW2JdPVtdO2RbYl1bMF09YztyZXR1cm4hMH07dmFyIHBuLHFuO2E6e2Zvcih2YXIgcm49WyJDTE9TVVJFX0ZMQUdTIl0sc249UmEsdG49MDt0bjxybi5sZW5ndGg7dG4rKylpZihzbj1zbltyblt0bl1dLHNuPT1udWxsKXtxbj1udWxsO2JyZWFrIGF9cW49c259dmFyIHVuPXFuJiZxbls2MTA0MDEzMDFdO3BuPXVuIT1udWxsP3VuOiExO2Z1bmN0aW9uIHZuKCl7dmFyIGE9UmEubmF2aWdhdG9yO2lmKGEpe3ZhciBiPWEudXNlckFnZW50O2lmKGIpcmV0dXJuIGJ9cmV0dXJuIiJ9dmFyIHduLHhuPVJhLm5hdmlnYXRvcjt3bj14bj94bi51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7ZnVuY3Rpb24geW4oYSl7aWYoIXBufHwhd24pcmV0dXJuITE7Zm9yKHZhciBiPTA7Yjx3bi5icmFuZHMubGVuZ3RoO2IrKyl7dmFyIGM9d24uYnJhbmRzW2JdLmJyYW5kO2lmKGMmJmMuaW5kZXhPZihhKSE9LTEpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gem4oYSl7cmV0dXJuIHZuKCkuaW5kZXhPZihhKSE9LTF9O2Z1bmN0aW9uIEFuKCl7cmV0dXJuIHBuPyEhd24mJnduLmJyYW5kcy5sZW5ndGg+MDohMX1mdW5jdGlvbiBCbigpe3JldHVybiBBbigpPyExOnpuKCJPcGVyYSIpfWZ1bmN0aW9uIENuKCl7cmV0dXJuIHpuKCJGaXJlZm94Iil8fHpuKCJGeGlPUyIpfWZ1bmN0aW9uIERuKCl7cmV0dXJuIEFuKCk/eW4oIkNocm9taXVtIik6KHpuKCJDaHJvbWUiKXx8em4oIkNyaU9TIikpJiYhKEFuKCk/MDp6bigiRWRnZSIpKXx8em4oIlNpbGsiKX07ZnVuY3Rpb24gRW4oKXtyZXR1cm4gcG4/ISF3biYmISF3bi5wbGF0Zm9ybTohMX1mdW5jdGlvbiBGbigpe3JldHVybiB6bigiaVBob25lIikmJiF6bigiaVBvZCIpJiYhem4oImlQYWQiKX1mdW5jdGlvbiBHbigpe0ZuKCl8fHpuKCJpUGFkIil8fHpuKCJpUG9kIil9O3ZhciBIbj1mdW5jdGlvbihhKXtIblsiICJdKGEpO3JldHVybiBhfTtIblsiICJdPWZ1bmN0aW9uKCl7fTtCbigpO0FuKCl8fHpuKCJUcmlkZW50Iil8fHpuKCJNU0lFIik7em4oIkVkZ2UiKTshem4oIkdlY2tvIil8fHZuKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSE9LTEmJiF6bigiRWRnZSIpfHx6bigiVHJpZGVudCIpfHx6bigiTVNJRSIpfHx6bigiRWRnZSIpO3ZuKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKSE9LTEmJiF6bigiRWRnZSIpJiZ6bigiTW9iaWxlIik7RW4oKXx8em4oIk1hY2ludG9zaCIpO0VuKCl8fHpuKCJXaW5kb3dzIik7KEVuKCk/d24ucGxhdGZvcm09PT0iTGludXgiOnpuKCJMaW51eCIpKXx8RW4oKXx8em4oIkNyT1MiKTtFbigpfHx6bigiQW5kcm9pZCIpO0ZuKCk7em4oImlQYWQiKTt6bigiaVBvZCIpO0duKCk7dm4oKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImthaW9zIik7Q24oKTtGbigpfHx6bigiaVBvZCIpO3puKCJpUGFkIik7IXpuKCJBbmRyb2lkIil8fERuKCl8fENuKCl8fEJuKCl8fHpuKCJTaWxrIik7RG4oKTshem4oIlNhZmFyaSIpfHxEbigpfHwoQW4oKT8wOnpuKCJDb2FzdCIpKXx8Qm4oKXx8KEFuKCk/MDp6bigiRWRnZSIpKXx8KEFuKCk/eW4oIk1pY3Jvc29mdCBFZGdlIik6em4oIkVkZy8iKSl8fChBbigpP3luKCJPcGVyYSIpOnpuKCJPUFIiKSl8fENuKCl8fHpuKCJTaWxrIil8fHpuKCJBbmRyb2lkIil8fEduKCk7dmFyIEluPXt9LEpuPW51bGw7CmZ1bmN0aW9uIEtuKGEpe2Zvcih2YXIgYj1bXSxjPTAsZD0wO2Q8YS5sZW5ndGg7ZCsrKXt2YXIgZT1hLmNoYXJDb2RlQXQoZCk7ZT4yNTUmJihiW2MrK109ZSYyNTUsZT4+PTgpO2JbYysrXT1lfXZhciBmPTQ7Zj09PXZvaWQgMCYmKGY9MCk7aWYoIUpuKXtKbj17fTtmb3IodmFyIGc9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksaD1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXSxsPTA7bDw1O2wrKyl7dmFyIG49Zy5jb25jYXQoaFtsXS5zcGxpdCgiIikpO0luW2xdPW47Zm9yKHZhciBwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciBxPW5bcF07Sm5bcV09PT12b2lkIDAmJihKbltxXT1wKX19fWZvcih2YXIgcj1JbltmXSx0PUFycmF5KE1hdGguZmxvb3IoYi5sZW5ndGgvMykpLHU9cls2NF18fCIiLHY9MCx4PTA7djxiLmxlbmd0aC0yO3YrPTMpe3ZhciB5PWJbdl0sej1iW3YrMV0sQz1iW3YrMl0sCkQ9clt5Pj4yXSxJPXJbKHkmMyk8PDR8ej4+NF0sRz1yWyh6JjE1KTw8MnxDPj42XSxOPXJbQyY2M107dFt4KytdPSIiK0QrSStHK059dmFyIFM9MCxXPXU7c3dpdGNoKGIubGVuZ3RoLXYpe2Nhc2UgMjpTPWJbdisxXSxXPXJbKFMmMTUpPDwyXXx8dTtjYXNlIDE6dmFyIGVhPWJbdl07dFt4XT0iIityW2VhPj4yXStyWyhlYSYzKTw8NHxTPj40XStXK3V9cmV0dXJuIHQuam9pbigiIil9O3ZhciBMbj1mdW5jdGlvbihhKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGEucmVwbGFjZSgvXCsvZywiICIpKX07dmFyIE1uPVJlZ0V4cCgiXig/OihbXjovPyMuXSspOik/KD86Ly8oPzooW15cXFxcLz8jXSopQCk/KFteXFxcXC8/I10qPykoPzo6KFswLTldKykpPyg/PVtcXFxcLz8jXXwkKSk/KFtePyNdKyk/KD86XFw/KFteI10qKSk/KD86IyhbXFxzXFxTXSopKT8kIik7ZnVuY3Rpb24gTm4oYSxiLGMsZCl7Zm9yKHZhciBlPWIsZj1jLmxlbmd0aDsoZT1hLmluZGV4T2YoYyxlKSk+PTAmJmU8ZDspe3ZhciBnPWEuY2hhckNvZGVBdChlLTEpO2lmKGc9PTM4fHxnPT02Myl7dmFyIGg9YS5jaGFyQ29kZUF0KGUrZik7aWYoIWh8fGg9PTYxfHxoPT0zOHx8aD09MzUpcmV0dXJuIGV9ZSs9ZisxfXJldHVybi0xfXZhciBPbj0vI3wkLzsKZnVuY3Rpb24gUG4oYSxiKXt2YXIgYz1hLnNlYXJjaChPbiksZD1ObihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gTG4oYS5zbGljZShkLGUhPT0tMT9lOjApKX12YXIgUW49L1s/Jl0oJHwjKS87CmZ1bmN0aW9uIFJuKGEsYixjKXtmb3IodmFyIGQsZT1hLnNlYXJjaChPbiksZj0wLGcsaD1bXTsoZz1ObihhLGYsYixlKSk+PTA7KWgucHVzaChhLnN1YnN0cmluZyhmLGcpKSxmPU1hdGgubWluKGEuaW5kZXhPZigiJiIsZykrMXx8ZSxlKTtoLnB1c2goYS5zbGljZShmKSk7ZD1oLmpvaW4oIiIpLnJlcGxhY2UoUW4sIiQxIik7dmFyIGwsbj1jIT1udWxsPyI9IitlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKToiIjt2YXIgcD1iK247aWYocCl7dmFyIHEscj1kLmluZGV4T2YoIiMiKTtyPDAmJihyPWQubGVuZ3RoKTt2YXIgdD1kLmluZGV4T2YoIj8iKSx1O3Q8MHx8dD5yPyh0PXIsdT0iIik6dT1kLnN1YnN0cmluZyh0KzEscik7cT1bZC5zbGljZSgwLHQpLHUsZC5zbGljZShyKV07dmFyIHY9cVsxXTtxWzFdPXA/dj92KyImIitwOnA6djtsPXFbMF0rKHFbMV0/Ij8iK3FbMV06IiIpK3FbMl19ZWxzZSBsPWQ7cmV0dXJuIGx9O2Z1bmN0aW9uIFNuKGEsYixjLGQsZSxmLGcsaCl7dmFyIGw9UG4oYywiZm10Iik7aWYoZCl7dmFyIG49UG4oYywicmFuZG9tIikscD1QbihjLCJsYWJlbCIpfHwiIjtpZighbilyZXR1cm47dmFyIHE9S24oTG4ocCkrIjoiK0xuKG4pKTtpZighb24oYSxxLGQpKXJldHVybn1sJiZOdW1iZXIobCkhPT00PyhjPVJuKGMsInJmbXQiLGwpLGM9Um4oYywiZm10Iiw0KSk6bHx8KGM9Um4oYywiZm10Iiw0KSk7VWMoYyxmdW5jdGlvbigpe2c9PW51bGx8fFRuKGcpO2g9PW51bGx8fFVuKGgsYyk7YS5nb29nbGVfbm9GdXJ0aGVyUmVkaXJlY3RzJiZkJiYoYS5nb29nbGVfbm9GdXJ0aGVyUmVkaXJlY3RzPW51bGwsZCgpKX0sZnVuY3Rpb24oKXtnPT1udWxsfHxUbihnKTtoPT1udWxsfHxVbihoLGMpO2U9PW51bGx8fGUoKX0sZixiLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXS5wYXJlbnRFbGVtZW50fHx2b2lkIDApO3JldHVybiBjfTtmdW5jdGlvbiBWbihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSwxLGJbMF0pO2lkLmFwcGx5KG51bGwsdyhiKSl9ZnVuY3Rpb24gV24oYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2tuLnJlZ2lzdGVyKGEsMSxiWzBdKTtyZXR1cm4gamQuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBYbihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSwzLGJbMF0pO1pjLmFwcGx5KG51bGwsdyhiKSl9ZnVuY3Rpb24gWW4oYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2tuLnJlZ2lzdGVyKGEsMSxiWzBdKTtyZXR1cm4gbWQuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBabihhKXt2YXIgYj1PYS5hcHBseSgxLGFyZ3VtZW50cyk7a24ucmVnaXN0ZXIoYSw1LGJbMF0pO1VjLmFwcGx5KG51bGwsdyhiKSl9CmZ1bmN0aW9uICRuKGEpe3ZhciBiPU9hLmFwcGx5KDEsYXJndW1lbnRzKTtiWzBdJiZrbi5yZWdpc3RlcihhLDIsYlswXSk7WGMuYXBwbHkobnVsbCx3KGIpKX1mdW5jdGlvbiBhbyhhKXt2YXIgYj1Tbi5hcHBseShudWxsLHcoT2EuYXBwbHkoMSxhcmd1bWVudHMpKSk7YiYma24ucmVnaXN0ZXIoYSw0LGIpO3JldHVybiBifTt2YXIgYm89e01hOntSZTowLFVlOjEsTGg6Mn19O2JvLk1hW2JvLk1hLlJlXT0iRlVMTF9UUkFOU01JU1NJT04iO2JvLk1hW2JvLk1hLlVlXT0iTElNSVRFRF9UUkFOU01JU1NJT04iO2JvLk1hW2JvLk1hLkxoXT0iTk9fVFJBTlNNSVNTSU9OIjt2YXIgY289e2lhOntnZDowLGNiOjEseGQ6MixaYjozfX07Y28uaWFbY28uaWEuZ2RdPSJOT19RVUVVRSI7Y28uaWFbY28uaWEuY2JdPSJBRFMiO2NvLmlhW2NvLmlhLnhkXT0iQU5BTFlUSUNTIjtjby5pYVtjby5pYS5aYl09Ik1PTklUT1JJTkciO3ZhciBlbz1mdW5jdGlvbihhLGIpe3RoaXMuSD1hO3RoaXMuY29uc2VudFR5cGVzPWJ9O2VvLnByb3RvdHlwZS5pc0NvbnNlbnRHcmFudGVkPWZ1bmN0aW9uKCl7c3dpdGNoKHRoaXMuSCl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbnNlbnRUeXBlcy5ldmVyeShmdW5jdGlvbihhKXtyZXR1cm4gQmwoYSl9KTtjYXNlIDE6cmV0dXJuIHRoaXMuY29uc2VudFR5cGVzLnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIEJsKGEpfSk7ZGVmYXVsdDp5Yyh0aGlzLkgsImNvbnNlbnRzUmVxdWlyZWQgaGFkIGFuIHVua25vd24gdHlwZSIpfX07CnZhciBmbz1uZXcgZnVuY3Rpb24oKXt2YXIgYT17fTt0aGlzLkg9KGFbY28uaWEuZ2RdPWJvLk1hLlJlLGFbY28uaWEuY2JdPWJvLk1hLlJlLGFbY28uaWEueGRdPWJvLk1hLlJlLGFbY28uaWEuWmJdPWJvLk1hLlJlLGEpO3ZhciBiPXt9O3RoaXMuSz0oYltjby5pYS5nZF09bmV3IGVvKDAsW10pLGJbY28uaWEuY2JdPW5ldyBlbygwLFsiYWRfc3RvcmFnZSJdKSxiW2NvLmlhLnhkXT1uZXcgZW8oMCxbImFuYWx5dGljc19zdG9yYWdlIl0pLGJbY28uaWEuWmJdPW5ldyBlbygxLFsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIl0pLGIpfTt2YXIgaG89ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczt0aGlzLnR5cGU9YTt0aGlzLkg9W107RmwoZm8uS1thXS5jb25zZW50VHlwZXMsZnVuY3Rpb24oKXtnbyhiKXx8Yi5mbHVzaCgpfSl9O2hvLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgYT1tKHRoaXMuSCksYj1hLm5leHQoKTshYi5kb25lO2I9YS5uZXh0KCkpe3ZhciBjPWIudmFsdWU7YygpfXRoaXMuSD1bXX07dmFyIGdvPWZ1bmN0aW9uKGEpe3JldHVybiBmby5IW2EudHlwZV09PT1iby5NYS5MaCYmIWZvLktbYS50eXBlXS5pc0NvbnNlbnRHcmFudGVkKCl9LGlvPWZ1bmN0aW9uKGEsYil7Z28oYSk/YS5ILnB1c2goYik6YigpfSxqbz1mdW5jdGlvbigpe3RoaXMuSD1uZXcgTWFwfSxsbz1mdW5jdGlvbihhKXt2YXIgYj1rbztiLkguaGFzKGEpfHxiLkguc2V0KGEsbmV3IGhvKGEpKTtyZXR1cm4gYi5ILmdldChhKX07am8ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5ILmNsZWFyKCl9Owp2YXIga289bmV3IGpvO3ZhciBtbz1bImZpbiIsImZzIiwibWNjIiwibmNjIl0sbm89ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwPyExOmE7dmFyIGI9Um0oKSxjPVFtLkssZD1iLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gY1tlXSE9PXZvaWQgMCYmKGF8fCFtby5pbmNsdWRlcyhlKSl9KTtUbShkKTtyZXR1cm4gZC5tYXAoZnVuY3Rpb24oZSl7dmFyIGY9Y1tlXTt0eXBlb2YgZj09PSJmdW5jdGlvbiImJihmPWYoKSk7cmV0dXJuIGY/IiYiK2UrIj0iK2Y6IiJ9KS5qb2luKCIiKSsiJno9MCJ9LG9vPWZ1bmN0aW9uKGEpe3ZhciBiPSJodHRwczovLyIrRSgyMSksYz0iL3RkP2lkPSIrRSg1KTtyZXR1cm4iIitmayhiKStjK2F9LHBvPWZ1bmN0aW9uKGEsYixjKXtiPWI9PT12b2lkIDA/ITE6YjtjPWM9PT12b2lkIDA/ITE6YztpZigkaygyNikmJmZuLksmJkUoNSkmJihjfHwhZ24oKSkpe3ZhciBkPWxvKGNvLmlhLlpiKTtpZihnbyhkKSlhLkh8fChhLkg9ITAsaW8oZCxmdW5jdGlvbigpe3JldHVybiBwbyhhKX0pKTsKZWxzZXtiJiZVbSgiZmluIiwiMSIpO3ZhciBlPW5vKGIpLGY9b28oZSksZz17ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjYxfTtiP1luKGcsZix2b2lkIDAse1FnOiEwfSx2b2lkIDAsZnVuY3Rpb24oKXtaYyhmKyImaW1nPTEiKX0pOlhuKGcsZik7YS5IPSExO3FvKGUpfX19LHFvPWZ1bmN0aW9uKGEpe2lmKEtjJiYoU2IoS2MsImh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tLyIpfHxJZig0NykpJiYhKGEuaW5kZXhPZigiJmNzcD0iKTwwJiZhLmluZGV4T2YoIiZtZGU9Iik8MCkpe3ZhciBiO2E6e3RyeXtpZihLYyl7Yj1uZXcgVVJMKEtjKTticmVhayBhfX1jYXRjaChjKXt9Yj12b2lkIDB9YiYmVWMoIiIrS2MrKEtjLmluZGV4T2YoIj8iKT49MD8iJiI6Ij8iKSsiaXNfdGQ9MSIrYSl9fSxybz1mdW5jdGlvbihhKXtSbSgpLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIVBtW2JdfSkmJnBvKGEsITApfSxzbz1uZXcgZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuSD0hMTsKJGMoQSwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7cm8oYSl9KX07ZnVuY3Rpb24gdG8oYSxiKXtwbyhzbyxhPT09dm9pZCAwPyExOmEsYj09PXZvaWQgMD8hMTpiKX07dmFyIHVvPVsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIiwiYWRfdXNlcl9kYXRhIiwiYWRfcGVyc29uYWxpemF0aW9uIl0sdm89W0YuRC5kZCxGLkQueWMsRi5ELlFmLEYuRC5LYixGLkQueGMsRi5ELmZiLEYuRC5EYixGLkQubmIsRi5ELkxiLEYuRC52Y10seW89ZnVuY3Rpb24oKXt2YXIgYT13bzshYS5SJiZhLkgmJih1by5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBBbC5jb250YWluZXJTY29wZWREZWZhdWx0c1tiXSE9PTF9KXx8eG8oIm1iYyIpKTthLlI9ITB9LHhvPWZ1bmN0aW9uKGEpe2ZuLksmJihVbShhLCIxIiksdG8oKSl9LHpvPWZ1bmN0aW9uKGEsYil7dmFyIGM9d287aWYoIWMuTltiXSYmKGMuTltiXT0hMCxjLktbYl0pKWZvcih2YXIgZD1tKHZvKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlpZihPKGEsZS52YWx1ZSkpe3hvKCJlcmMiKTticmVha319LHdvPW5ldyBmdW5jdGlvbigpe3RoaXMuUj10aGlzLkg9ITE7dGhpcy5OPXt9O3RoaXMuSz17fX07dmFyIEFvPXt9LEJvPU9iamVjdC5mcmVlemUoKEFvW0YuRC5SY109MSxBb1tGLkQuaGhdPTEsQW9bRi5ELnNpXT0xLEFvW0YuRC5TY109MSxBb1tGLkQuSGFdPTEsQW9bRi5ELkxiXT0xLEFvW0YuRC5DYl09MSxBb1tGLkQuVGJdPTEsQW9bRi5ELklkXT0xLEFvW0YuRC52Y109MSxBb1tGLkQubmJdPTEsQW9bRi5ELkpkXT0xLEFvW0YuRC5IZV09MSxBb1tGLkQuT2FdPTEsQW9bRi5ELlFwXT0xLEFvW0YuRC5QZl09MSxBb1tGLkQuRmldPTEsQW9bRi5ELnBoXT0xLEFvW0YuRC5XY109MSxBb1tGLkQuUWZdPTEsQW9bRi5ELmFxXT0xLEFvW0YuRC5UYV09MSxBb1tGLkQuVWZdPTEsQW9bRi5ELmZxXT0xLEFvW0YuRC5PZF09MSxBb1tGLkQuUmxdPTEsQW9bRi5ELlljXT0xLEFvW0YuRC5aY109MSxBb1tGLkQuRGJdPTEsQW9bRi5ELmFtXT0xLEFvW0YuRC5XYl09MSxBb1tGLkQuVGRdPTEsQW9bRi5ELlhiXT0xLEFvW0YuRC5PaV09MSxBb1tGLkQuZGRdPTEsQW9bRi5ELnloXT0xLEFvW0YuRC5QaV09CjEsQW9bRi5ELlVkXT0xLEFvW0YuRC55Y109MSxBb1tGLkQuVmRdPTEsQW9bRi5ELmxtXT0xLEFvW0YuRC5XZF09MSxBb1tGLkQuZWRdPTEsQW9bRi5ELm9qXT0xLEFvKSk7T2JqZWN0LmZyZWV6ZShbRi5ELnphLEYuRC5VYSxGLkQuTWIsRi5ELnRiLEYuRC5OaSxGLkQuZmIsRi5ELkdpLEYuRC5NcF0pOwp2YXIgQ289e30sRG89T2JqZWN0LmZyZWV6ZSgoQ29bRi5ELnFwXT0xLENvW0YuRC5ycF09MSxDb1tGLkQudHBdPTEsQ29bRi5ELnVwXT0xLENvW0YuRC52cF09MSxDb1tGLkQuenBdPTEsQ29bRi5ELkFwXT0xLENvW0YuRC5CcF09MSxDb1tGLkQuRHBdPTEsQ29bRi5ELnlmXT0xLENvKSksRW89e30sRm89T2JqZWN0LmZyZWV6ZSgoRW9bRi5ELnZsXT0xLEVvW0YuRC53bF09MSxFb1tGLkQueGVdPTEsRW9bRi5ELnllXT0xLEVvW0YuRC54bF09MSxFb1tGLkQuQWRdPTEsRW9bRi5ELnplXT0xLEVvW0YuRC5vY109MSxFb1tGLkQuUWNdPTEsRW9bRi5ELnFjXT0xLEVvW0YuRC5JYl09MSxFb1tGLkQuQWVdPTEsRW9bRi5ELnJjXT0xLEVvW0YuRC55bF09MSxFbykpLEdvPU9iamVjdC5mcmVlemUoW0YuRC5SYyxGLkQuU2MsRi5ELkpkLEYuRC5RZixGLkQuV2YsRi5ELlRkLEYuRC5PaSxGLkQuVmRdKSxIbz1PYmplY3QuZnJlZXplKFtdLmNvbmNhdCh3KEdvKSkpLElvPU9iamVjdC5mcmVlemUoW0YuRC5DYiwKRi5ELnBoLEYuRC55aCxGLkQuUGksRi5ELm5oXSksSm89T2JqZWN0LmZyZWV6ZShbXS5jb25jYXQodyhJbykpKSxLbz17fSxMbz0oS29bRi5ELmthXT0iMSIsS29bRi5ELnJhXT0iMiIsS29bRi5ELm1hXT0iMyIsS29bRi5ELlhhXT0iNCIsS28pLE1vPXt9LE5vPU9iamVjdC5mcmVlemUoKE1vLnNlYXJjaD0icyIsTW8ueW91dHViZT0ieSIsTW8ucGxheXN0b3JlPSJwIixNby5zaG9wcGluZz0iaCIsTW8uYWRzPSJhIixNby5tYXBzPSJtIixNbykpO2Z1bmN0aW9uIE9vKGEpe3JldHVybiB0eXBlb2YgYSE9PSJvYmplY3QifHxhPT09bnVsbD97fTphfWZ1bmN0aW9uIFBvKGEpe3JldHVybiBhPT09dm9pZCAwfHxhPT09bnVsbD8iIjp0eXBlb2YgYT09PSJvYmplY3QiP2EudG9TdHJpbmcoKTpTdHJpbmcoYSl9ZnVuY3Rpb24gUW8oYSl7aWYoYSE9PXZvaWQgMCYmYSE9PW51bGwpcmV0dXJuIFBvKGEpfTt2YXIgUm89W0YuRC5rYSxGLkQucmEsRi5ELm1hLEYuRC5YYV07ZnVuY3Rpb24gU28oYSl7Zm9yKHZhciBiPW0oYVtGLkQubmNdfHxbIiJdKSxjPWIubmV4dCgpLGQ9e307IWMuZG9uZTtkPXtyZWdpb246dm9pZCAwfSxjPWIubmV4dCgpKWQucmVnaW9uPWMudmFsdWUsR2IoYSxmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oZixnKXtpZihmIT09Ri5ELm5jKXt2YXIgaD1QbyhnKSxsPWUucmVnaW9uLG49eW0oKSxwPXptKCk7eWw9ITA7eGwmJnNiKCJUQUdHSU5HIiwyMCk7dGwoKS5kZWNsYXJlKGYsaCxsLG4scCl9fX0oZCkpfQpmdW5jdGlvbiBUbyhhKXt5bygpO3ZhciBiPWFsKDE3LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxjPWFsKDE2LGZ1bmN0aW9uKCl7cmV0dXJuITF9KTshYiYmYyYmeG8oImNyYyIpO1prKDE3LCEwKTt2YXIgZD1hW0YuRC5ZZ107ZCYmUCg0MSk7dmFyIGU9YVtGLkQubmNdO2U/UCg0MCk6ZT1bIiJdO2Zvcih2YXIgZj1tKGUpLGc9Zi5uZXh0KCksaD17fTshZy5kb25lO2g9e0JvOnZvaWQgMH0sZz1mLm5leHQoKSloLkJvPWcudmFsdWUsR2IoYSxmdW5jdGlvbihsKXtyZXR1cm4gZnVuY3Rpb24obixwKXtpZihuIT09Ri5ELm5jJiZuIT09Ri5ELllnKXt2YXIgcT1RbyhwKSxyPWwuQm8sdD1OdW1iZXIoZCksdT15bSgpLHY9em0oKTt0PXQ9PT12b2lkIDA/MDp0O3hsPSEwO3lsJiZzYigiVEFHR0lORyIsMjApO3RsKCkuZGVmYXVsdChuLHEscix1LHYsdCxBbCl9fX0oaCkpfQpmdW5jdGlvbiBVbyhhKXtBbC51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHM9ITA7dmFyIGI9YVtGLkQubmNdO2lmKGIpe3ZhciBjPUFycmF5LmlzQXJyYXkoYik/YjpbYl07aWYoIWMuaW5jbHVkZXMoem0oKSkmJiFjLmluY2x1ZGVzKHltKCkpKXJldHVybn1HYihhLGZ1bmN0aW9uKGQsZSl7c3dpdGNoKGQpe2Nhc2UgImFkX3N0b3JhZ2UiOmNhc2UgImFuYWx5dGljc19zdG9yYWdlIjpjYXNlICJhZF91c2VyX2RhdGEiOmNhc2UgImFkX3BlcnNvbmFsaXphdGlvbiI6YnJlYWs7ZGVmYXVsdDpyZXR1cm59QWwudXNlZENvbnRhaW5lclNjb3BlZERlZmF1bHRzPSEwO0FsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzW2RdPWU9PT0iZ3JhbnRlZCI/MzoyfSl9CmZ1bmN0aW9uIFZvKGEsYil7eW8oKTtaaygxNiwhMCk7R2IoYSxmdW5jdGlvbihjLGQpe3ZhciBlPVBvKGQpO3hsPSEwO3lsJiZzYigiVEFHR0lORyIsMjApO3RsKCkudXBkYXRlKGMsZSxBbCl9KTtHbChiLmV2ZW50SWQsYi5wcmlvcml0eUlkKX1mdW5jdGlvbiBXbyhhKXthLmhhc093blByb3BlcnR5KCJhbGwiKSYmKEFsLnNlbGVjdGVkQWxsQ29yZVBsYXRmb3JtU2VydmljZXM9ITAsR2IoTm8sZnVuY3Rpb24oYil7QWwuY29yZVBsYXRmb3JtU2VydmljZXNbYl09YS5hbGw9PT0iZ3JhbnRlZCI7QWwudXNlZENvcmVQbGF0Zm9ybVNlcnZpY2VzPSEwfSkpO0diKGEsZnVuY3Rpb24oYixjKXtiIT09ImFsbCImJihBbC5jb3JlUGxhdGZvcm1TZXJ2aWNlc1tiXT1jPT09ImdyYW50ZWQiLEFsLnVzZWRDb3JlUGxhdGZvcm1TZXJ2aWNlcz0hMCl9KX0KZnVuY3Rpb24gWG8oYSl7QXJyYXkuaXNBcnJheShhKXx8KGE9W2FdKTtyZXR1cm4gYS5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4gQmwoYil9KX1mdW5jdGlvbiBZbygpe3ZhciBhPVpvO0FycmF5LmlzQXJyYXkoYSl8fChhPVthXSk7cmV0dXJuIGEuc29tZShmdW5jdGlvbihiKXtyZXR1cm4gQmwoYil9KX1mdW5jdGlvbiAkbyhhLGIpe0ZsKGEsYil9ZnVuY3Rpb24gYXAoYSxiKXtJbChhLGIpfWZ1bmN0aW9uIGJwKGEsYil7SGwoYSxiKX1mdW5jdGlvbiBjcCgpe3ZhciBhPVtGLkQua2EsRi5ELlhhLEYuRC5tYV07dGwoKS53YWl0Rm9yVXBkYXRlKGEsNTAwLEFsKX1mdW5jdGlvbiBkcChhKXtmb3IodmFyIGI9bShhKSxjPWIubmV4dCgpOyFjLmRvbmU7Yz1iLm5leHQoKSl7dmFyIGQ9Yy52YWx1ZTt0bCgpLmNsZWFyVGltZW91dChkLHZvaWQgMCxBbCl9R2woKX0KZnVuY3Rpb24gZXAoYSl7Zm9yKHZhciBiPXt9LGM9bShhLnNwbGl0KCJ8IikpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKWJbZC52YWx1ZV09ITA7cmV0dXJuIGJ9O3ZhciBmcD1PYmplY3QuZnJlZXplKFtGLkQua2EsRi5ELm1hXSk7CnZhciBocD1mdW5jdGlvbihhKXtmb3IodmFyIGI9e30sYz1tKE9iamVjdC5rZXlzKGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTtiW2dwW2VdfHxlXT1hW2VdfXJldHVybiBifSxpcD1mdW5jdGlvbihhKXtyZXR1cm4hIVEoYSxILkoudmQpJiZSKGEsRi5ELlBkKT09PSIxIiYmUihhLEYuRC5IZCkhPT0iMSImJlhvKGZwKX0sanA9ZnVuY3Rpb24oYSxiKXtpZighaXAoYSkpcmV0dXJuITE7dmFyIGM9UWMoKXx8T2MoKT81ODo1NyxkPU5tKGMsaHAoYikpO1RsKGQsYSxjKTtZbih7ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmMsZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxkKyImZm10PTgiLHZvaWQgMCx7UWc6ITAsbWV0aG9kOiJHRVQifSxmdW5jdGlvbigpe30sZnVuY3Rpb24oKXtaYyhkKyImZm10PTMiKX0pO3JldHVybiEwfSxrcD17fSxncD0oa3AuZGw9InVybCIsa3AuZHI9CiJyZWYiLGtwLnVpZD0idXNlcklkIixrcCk7dmFyIGxwPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZD1mdW5jdGlvbihlKXtiW2VdIT1udWxsJiZiW2VdIT09IiImJihjW2VdPWJbZV0pfTtNKDQ3NCkmJmQoIl9nc2lkIik7UihhLEYuRC5IZCkhPT0iMSImJihkKCJnY2xpZCIpLGQoImdjbHNyYyIpLGQoImF1aWQiKSxkKCJkY2xpZCIpKTtpZihPYmplY3Qua2V5cyhjKS5sZW5ndGgpcmV0dXJuIGQoImd0bSIpLGN9Owp2YXIgbXA9e30sbnA9KG1wW0YuRC5zYV09ImdjdSIsbXBbRi5ELlNiXT0iZ2NsZ2IiLG1wW0YuRC5sYl09ImdjbGF3IixtcFtGLkQuemZdPSJnYWRfc291cmNlIixtcFtGLkQuQWZdPSJnYWRfc291cmNlX3NyYyIsbXBbRi5ELkRkXT0iZ2NsaWQiLG1wW0YuRC5BbF09ImdjbHNyYyIsbXBbRi5ELkJmXT0iZ2JyYWlkIixtcFtGLkQuRWVdPSJ3YnJhaWQiLG1wW0YuRC5FZF09ImF1aWQiLG1wW0YuRC5CbF09ImFlIixtcFtGLkQuSGFdPW51bGwsbXBbRi5ELkRsXT0icm5kIixtcFtGLkQuSGRdPSJuY2wiLG1wW0YuRC5OZl09ImdjbGRjIixtcFtGLkQuS2RdPSJkY2xpZCIsbXBbRi5ELlZjXT0iZWRpZCIsbXBbRi5ELlViXT0iZW4iLG1wW0YuRC5LZV09ImdkcHIiLG1wW0YuRC5YY109ImdkaWQiLG1wW0YuRC5UYV09bnVsbCxtcFtGLkQuTGVdPSJfbmciLG1wW0YuRC50aF09ImdwcF9zaWQiLG1wW0YuRC51aF09ImdwcCIsbXBbRi5ELlZmXT0iX3R1IixtcFtGLkQuUWxdPSJndG1fdXAiLG1wW0YuRC5NZV09CiJmcm0iLG1wW0YuRC5QZF09ImxwcyIsbXBbRi5ELkxpXT0iZGlkIixtcFtGLkQuVWxdPSJuYXZ0IixtcFtGLkQuemFdPSJkbCIsbXBbRi5ELlVhXT0iZHIiLG1wW0YuRC5NYl09ImR0IixtcFtGLkQuYm1dPSJzY3JzcmMiLG1wW0YuRC5aZl09ImdhX3VpZCIsbXBbRi5ELk9lXT0iZ2Rwcl9jb25zZW50IixtcFtGLkQuUWldPSJ0ZXN0b25seSIsbXBbRi5ELnJxXT0idV90eiIsbXBbRi5ELlBlXT0idG9wIixtcFtGLkQuUWVdPSJ0aWQiLG1wW0YuRC5mYl09InVpZCIsbXBbRi5ELmtnXT0idXNfcHJpdmFjeSIsbXBbRi5ELmVkXT1udWxsLG1wW0YuRC5kZV09Im5wYSIsbXApO2Z1bmN0aW9uIG9wKGEsYil7aWYoYiE9bnVsbCYmYiE9PSIiKXt2YXIgYz1iPT09ITA/IjEiOmI9PT0hMT8iMCI6ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSk7aWYoU2IoYSwiXyYiKSlyZXR1cm57a2V5OmEuc3Vic3RyaW5nKDIpLHZhbHVlOmN9O3ZhciBkPW5wW2FdO2lmKGQhPT1udWxsKXJldHVybiBkP3trZXk6ZCx2YWx1ZTpjfTp7a2V5OkFiKGIpPyJlcG4uIithOiJlcC4iK2EsdmFsdWU6Y319fTtmdW5jdGlvbiBwcChhKXthPWE9PT12b2lkIDA/W106YTtyZXR1cm4geGooYSkuam9pbigifiIpfTtmdW5jdGlvbiBxcCgpe3ZhciBhPVtdLGI9TnVtYmVyKCcnKXx8MCxjPU51bWJlcignJyl8fDA7Y3x8KGM9Yi8xMDApO3ZhciBkPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7cmV0dXJuIHR9KCk7YS5wdXNoKHt1azoyMjgsc3R1ZHlJZDoyMjgsZXhwZXJpbWVudElkOjEwNTE3NzE1NCxjb250cm9sSWQ6MTA1MTc3MTU1LGNvbnRyb2xJZDI6MTA1MjU1MjQ1LHByb2JhYmlsaXR5OmMsYWN0aXZlOmQsWmU6MH0pO3ZhciBlPU51bWJlcignJyl8fAowLGY9TnVtYmVyKCcnKXx8MDtmfHwoZj1lLzEwMCk7dmFyIGc9ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gdH0oKTthLnB1c2goe3VrOjIzNSxzdHVkeUlkOjIzNSxleHBlcmltZW50SWQ6MTA1MzU3MTUwLGNvbnRyb2xJZDoxMDUzNTcxNTEsY29udHJvbElkMjowLHByb2JhYmlsaXR5OmYsYWN0aXZlOmcsWmU6MX0pO3ZhciBoPU51bWJlcignJyl8fDAsbD1OdW1iZXIoJycpfHwKMDtsfHwobD1oLzEwMCk7dmFyIG49ZnVuY3Rpb24oKXt2YXIgdD0hMTtyZXR1cm4gdH0oKTthLnB1c2goe3VrOjI2NixzdHVkeUlkOjI2NixleHBlcmltZW50SWQ6MTE1NzE4NTI5LGNvbnRyb2xJZDoxMTU3MTg1MzAsY29udHJvbElkMjoxMTU3MTg1MzEscHJvYmFiaWxpdHk6bCxhY3RpdmU6bixaZTowfSk7dmFyIHA9TnVtYmVyKCcnKXx8MCxxPU51bWJlcignJyl8fAowO3F8fChxPXAvMTAwKTt2YXIgcj1mdW5jdGlvbigpe3ZhciB0PSExO3JldHVybiB0fSgpO2EucHVzaCh7dWs6MjY3LHN0dWR5SWQ6MjY3LGV4cGVyaW1lbnRJZDoxMTU3MTg1MjYsY29udHJvbElkOjExNTcxODUyNyxjb250cm9sSWQyOjExNTcxODUyOCxwcm9iYWJpbGl0eTpxLGFjdGl2ZTpyLFplOjB9KTtyZXR1cm4gYX07dmFyIHJwPWZ1bmN0aW9uKCl7dGhpcy5LPXt9O3RoaXMuSD17fTt0aGlzLk49e307dGhpcy5SPW5ldyBTZXR9LHhwPWZ1bmN0aW9uKGEsYil7dmFyIGM9YixkPWI9YS5OW2Muc3R1ZHlJZF0/bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxjLHthY3RpdmU6ITB9KTpjLGU9Rmk7ZC5jb250cm9sSWQyJiZkLnByb2JhYmlsaXR5PD0uMjV8fChkPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sZCx7Y29udHJvbElkMjowfSkpO2Uuc3R1ZGllc1tkLnN0dWR5SWRdPWQ7Yi5mb2N1c2VkJiYoYS5LW2Iuc3R1ZHlJZF09ITApO2lmKGIuWmU9PT0xKXt2YXIgZj1iLnN0dWR5SWQ7c3AoYSx0cCgpLGYpO3VwKGEsZik/dGoodWosZik6dnAoYSxmKT91ai5LW2ZdPSEwOndwKGEsZikmJih1ai5IW2ZdPSEwKX1lbHNlIGlmKGIuWmU9PT0wKXt2YXIgZz1iLnN0dWR5SWQ7c3AoYSxhLkgsZyk7dXAoYSxnKT90aih1aixnKTp2cChhLGcpP3VqLktbZ109ITA6d3AoYSxnKSYmCih1ai5IW2ddPSEwKX19LHNwPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPUZpO2lmKGUuc3R1ZGllc1tjXSl7dmFyIGY9ZS5zdHVkaWVzW2NdLGc9Zi5leHBlcmltZW50SWQsaD1mLnByb2JhYmlsaXR5O2lmKCEoYi5zdHVkaWVzfHx7fSlbY10pe3ZhciBsPWIuc3R1ZGllc3x8e307bFtjXT0hMDtiLnN0dWRpZXM9bDtpZighZS5zdHVkaWVzW2NdLmFjdGl2ZSlpZihlLnN0dWRpZXNbY10ucHJvYmFiaWxpdHk+LjUpSWkoYixnLGMpO2Vsc2UgaWYoIShoPD0wfHxoPjEpKXt2YXIgbj12b2lkIDA7aWYoZCl7dmFyIHA9Q2koZCsifiIrYyk7aWYocD09PSJlMiIpbj0tMTtlbHNle2Zvcih2YXIgcT1uZXcgVWludDhBcnJheShwKSxyPUJpZ0ludCgwKSx0PW0ocSksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpcj1yPDxCaWdJbnQoOCl8QmlnSW50KHUudmFsdWUpO249TnVtYmVyKHIlQmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSl9fUdpLnNrKGIsYyxuKX19fWlmKCFhLktbY10pe3ZhciB2PQpOaShiLGMpO3YmJndqLkguSy5hZGQodil9fSx0cD1mdW5jdGlvbigpe3JldHVybiBvbShqbS5iYS5UcSx7fSl9LHVwPWZ1bmN0aW9uKGEsYil7dmFyIGM9dHAoKTtyZXR1cm4gS2koYyxiKXx8S2koYS5ILGIpfSx2cD1mdW5jdGlvbihhLGIpe3ZhciBjPXRwKCk7cmV0dXJuIExpKGMsYil8fExpKGEuSCxiKX0sd3A9ZnVuY3Rpb24oYSxiKXt2YXIgYz10cCgpO3JldHVybiBNaShjLGIpfHxNaShhLkgsYil9LHlwOwpmdW5jdGlvbiB6cCgpe2lmKCF5cCl7dmFyIGE9eXA9bmV3IHJwLGIsYyxkPSgoYj1BKT09bnVsbD92b2lkIDA6KGM9Yi5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmMuaGFzaCl8fCIiO2lmKGRbMF09PT0iIyImJmRbMV09PT0iXyImJmRbMl09PT0idCImJmRbM109PT0iZSImJmRbNF09PT0iPSIpe3ZhciBlPWQuc3Vic3RyaW5nKDUpO2lmKGUpZm9yKHZhciBmPW0oZS5zcGxpdCgifiIpKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9TnVtYmVyKGcudmFsdWUpO2gmJihhLk5baF09ITAsdGoodWosaCkpfX1mb3IodmFyIGw9bShxcCgpKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl4cChhLG4udmFsdWUpO2Zvcih2YXIgcD1bXSxxPW0oTWYoNTYpfHxbXSkscj1xLm5leHQoKTshci5kb25lO3I9cS5uZXh0KCkpe3ZhciB0PXIudmFsdWUsdT17c3R1ZHlJZDp0WzFdLGFjdGl2ZTohIXRbMl0scHJvYmFiaWxpdHk6dFszXXx8MCxleHBlcmltZW50SWQ6dFs0XXx8CjAsY29udHJvbElkOnRbNV18fDAsY29udHJvbElkMjp0WzZdfHwwfSx2PTA7c3dpdGNoKHRbN10pe2Nhc2UgMjp2PTE7YnJlYWs7Y2FzZSAzOnY9MjticmVhaztjYXNlIDE6Y2FzZSA0OmNhc2UgNTpjYXNlIDA6dj0wfXZhciB4O2E6c3dpdGNoKHUuc3R1ZHlJZCl7Y2FzZSA1Njc6Y2FzZSA0NjI6eD0hMDticmVhayBhO2RlZmF1bHQ6eD0hMX12YXIgeT1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHUse1plOnYsZm9jdXNlZDp4fSk7KHkuYWN0aXZlfHx5LnByb2JhYmlsaXR5Pi41JiZ5LmV4cGVyaW1lbnRJZHx8eS5leHBlcmltZW50SWQmJnkuY29udHJvbElkKSYmcC5wdXNoKHkpfWZvcih2YXIgej1tKHApLEM9ei5uZXh0KCk7IUMuZG9uZTtDPXoubmV4dCgpKXhwKGEsQy52YWx1ZSl9fQpmdW5jdGlvbiBBcChhLGIpe3pwKCk7dmFyIGM9eXA7c3AoYyx0cCgpLGEsYik7dXAoYyxhKT90aih1aixhKTp2cChjLGEpP3VqLktbYV09ITA6d3AoYyxhKSYmKHVqLkhbYV09ITApfWZ1bmN0aW9uIEJwKCl7enAoKTt2YXIgYT15cCxiPXVwKGEsNTY3KTtpZihhLktbNTY3XSl7dmFyIGMsZD10cCgpOyhjPU5pKGQsNTY3KXx8TmkoYS5ILDU2NykpJiZhLlIuYWRkKGMpfXJldHVybiBifWZ1bmN0aW9uIENwKGEpe3pwKCk7dmFyIGI9bmV3IFNldCh5cC5SKTtpZihhKWZvcih2YXIgYz1RKGEsSC5KLkNoKXx8W10sZD1tKGMpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKWIuYWRkKGUudmFsdWUpO3JldHVybiBwcChbXS5jb25jYXQodyhiKSkpfTtmdW5jdGlvbiBEcChhKXt2YXIgYj1hLmxvY2F0aW9uLmhyZWY7aWYoYT09PWEudG9wKXJldHVybnt1cmw6YixJczohMH07dmFyIGM9ITEsZD1hLmRvY3VtZW50O2QmJmQucmVmZXJyZXImJihiPWQucmVmZXJyZXIsYS5wYXJlbnQ9PT1hLnRvcCYmKGM9ITApKTt2YXIgZT1hLmxvY2F0aW9uLmFuY2VzdG9yT3JpZ2lucztpZihlKXt2YXIgZj1lW2UubGVuZ3RoLTFdLGc7ZiYmKChnPWIpPT1udWxsP3ZvaWQgMDpnLmluZGV4T2YoZikpPT09LTEmJihjPSExLGI9Zil9cmV0dXJue3VybDpiLElzOmN9fWZ1bmN0aW9uIEVwKGEpe3RyeXt2YXIgYjtpZihiPSEhYSYmYS5sb2NhdGlvbi5ocmVmIT1udWxsKWE6e3RyeXtIbihhLmZvbyk7Yj0hMDticmVhayBhfWNhdGNoKGMpe31iPSExfXJldHVybiBifWNhdGNoKGMpe3JldHVybiExfX1mdW5jdGlvbiBGcCgpe2Zvcih2YXIgYT1BLGI9YTthJiZhIT09YS5wYXJlbnQ7KWE9YS5wYXJlbnQsRXAoYSkmJihiPWEpO3JldHVybiBifTt2YXIgR3A9ZnVuY3Rpb24oYSxiKXt2YXIgYz1mdW5jdGlvbigpe307Yy5wcm90b3R5cGU9YS5wcm90b3R5cGU7dmFyIGQ9bmV3IGM7YS5hcHBseShkLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSk7cmV0dXJuIGR9LEhwPWZ1bmN0aW9uKGEpe3ZhciBiPWE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoYil7dmFyIGM9YjtiPW51bGw7YygpfX19O2Z1bmN0aW9uIElwKGEsYil7aWYoYSlmb3IodmFyIGMgaW4gYSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxjKSYmYihhW2NdLGMsYSl9O2Z1bmN0aW9uIEpwKGEpe3ZhciBiPWEuc3BsaXQoL1s/I10vKSxjPS9bP10vLnRlc3QoYSk/Ij8iK2JbMV06IiI7cmV0dXJue3prOmJbMF0scGFyYW1zOmMsZnJhZ21lbnQ6L1sjXS8udGVzdChhKT8iIyIrKGM/YlsyXTpiWzFdKToiIn19ZnVuY3Rpb24gS3AoYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpO2lmKGIubGVuZ3RoPT09MClyZXR1cm4gamMoYVswXSk7Zm9yKHZhciBjPWFbMF0sZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMrPWVuY29kZVVSSUNvbXBvbmVudChiW2RdKSthW2QrMV07cmV0dXJuIGpjKGMpfQpmdW5jdGlvbiBMcChhLGIsYyxkKXtmdW5jdGlvbiBlKGcsaCl7ZyE9bnVsbCYmKEFycmF5LmlzQXJyYXkoZyk/Zy5mb3JFYWNoKGZ1bmN0aW9uKGwpe3JldHVybiBlKGwsaCl9KTooYis9ZitlbmNvZGVVUklDb21wb25lbnQoaCkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChnKSxmPSImIikpfXZhciBmPWIubGVuZ3RoPyImIjoiPyI7ZC5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQ9T2JqZWN0LmVudHJpZXMoZCkpO0FycmF5LmlzQXJyYXkoZCk/ZC5mb3JFYWNoKGZ1bmN0aW9uKGcpe3JldHVybiBlKGdbMV0sZ1swXSl9KTpkLmZvckVhY2goZSk7cmV0dXJuIGpjKGErYitjKX1mdW5jdGlvbiBNcChhLGIpe3ZhciBjPUpwKGtjKGEpLnRvU3RyaW5nKCkpLGQ9Yy56ay5zbGljZSgtMSk9PT0iLyI/IiI6Ii8iLGU9Yy56aytkK2VuY29kZVVSSUNvbXBvbmVudChiKTtyZXR1cm4gamMoZStjLnBhcmFtcytjLmZyYWdtZW50KX07dmFyIE5wPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWEsZD0wO2Q8NTA7KytkKXt2YXIgZTt0cnl7ZT0hKCFjLmZyYW1lc3x8IWMuZnJhbWVzW2JdKX1jYXRjaChoKXtlPSExfWlmKGUpcmV0dXJuIGM7dmFyIGY7YTp7dHJ5e3ZhciBnPWMucGFyZW50O2lmKGcmJmchPT1jKXtmPWc7YnJlYWsgYX19Y2F0Y2goaCl7fWY9bnVsbH1pZighKGM9ZikpYnJlYWt9cmV0dXJuIG51bGx9LE9wPWZ1bmN0aW9uKGEpe3ZhciBiPUE7aWYoYi50b3A9PWIpcmV0dXJuIDA7aWYoYT09PXZvaWQgMD8wOmEpe3ZhciBjPWIubG9jYXRpb24uYW5jZXN0b3JPcmlnaW5zO2lmKGMpcmV0dXJuIGNbYy5sZW5ndGgtMV09PWIubG9jYXRpb24ub3JpZ2luPzE6Mn1yZXR1cm4gRXAoYi50b3ApPzE6Mn0sUHA9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP2RvY3VtZW50OmE7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiaW1nIil9O2Z1bmN0aW9uIFFwKGEpe2Zvcih2YXIgYj1bXSxjPUIuY29va2llLnNwbGl0KCI7IiksZD1uZXcgUmVnRXhwKCJeXFxzKiIrKGF8fCJfZ2FjIikrIl8oVUEtXFxkKy1cXGQrKT1cXHMqKC4rPylcXHMqJCIpLGU9MDtlPGMubGVuZ3RoO2UrKyl7dmFyIGY9Y1tlXS5tYXRjaChkKTtmJiZiLnB1c2goe3VkOmZbMV0sdmFsdWU6ZlsyXSx0aW1lc3RhbXA6TnVtYmVyKGZbMl0uc3BsaXQoIi4iKVsxXSl8fDB9KX1iLnNvcnQoZnVuY3Rpb24oZyxoKXtyZXR1cm4gaC50aW1lc3RhbXAtZy50aW1lc3RhbXB9KTtyZXR1cm4gYn0KZnVuY3Rpb24gUnAoYSxiKXt2YXIgYz1RcChhKSxkPXt9O2lmKCFjfHwhYy5sZW5ndGgpcmV0dXJuIGQ7Zm9yKHZhciBlPTA7ZTxjLmxlbmd0aDtlKyspe3ZhciBmPWNbZV0udmFsdWUuc3BsaXQoIi4iKTtpZighKGZbMF0hPT0iMSJ8fGImJmYubGVuZ3RoPDN8fCFiJiZmLmxlbmd0aCE9PTMpJiZOdW1iZXIoZlsxXSkpe2RbY1tlXS51ZF18fChkW2NbZV0udWRdPVtdKTt2YXIgZz17dmVyc2lvbjpmWzBdLHRpbWVzdGFtcDpOdW1iZXIoZlsxXSkqMUUzLGdjbGlkOmZbMl19O2ImJmYubGVuZ3RoPjMmJihnLmxhYmVscz1mLnNsaWNlKDMpKTtkW2NbZV0udWRdLnB1c2goZyl9fXJldHVybiBkfTtmdW5jdGlvbiBTcChhKXtyZXR1cm4gYS5vcmlnaW4hPT0ibnVsbCJ9O3ZhciBUcD17fSxVcD0oVHAuaz17bmE6L15bXHctXSskL30sVHAuYj17bmE6L15bXHctXSskLyxuazohMH0sVHAuaT17bmE6L15bMS05XVxkKiQvfSxUcC5oPXtuYTovXlxkKyQvfSxUcC50PXtuYTovXlsxLTldXGQqJC99LFRwLmQ9e25hOi9eW0EtWmEtejAtOV8tXSskL30sVHAuaj17bmE6L15cZCskL30sVHAudT17bmE6L15bMS05XVxkKiQvfSxUcC5sPXtuYTovXlswMV0kL30sVHAubz17bmE6L15bMS05XVxkKiQvfSxUcC5nPXtuYTovXlswMV0kL30sVHAucz17bmE6L14uKyQvfSxUcC5tPXtuYTovXlswMV0kL30sVHApO3ZhciBWcD17fSxacD0oVnBbNV09e2ppOnsyOldwfSxaajoiMiIsUmg6WyJrIiwiaSIsImIiLCJ1Il19LFZwWzRdPXtqaTp7MjpXcCxHQ0w6WHB9LFpqOiIyIixSaDpbImsiLCJpIiwiYiIsIm0iXX0sVnBbMl09e2ppOntHUzI6V3AsR1MxOllwfSxaajoiR1MyIixSaDoic29ndGpsaGQiLnNwbGl0KCIiKX0sVnApO2Z1bmN0aW9uICRwKGEsYixjKXt2YXIgZD1acFtiXTtpZihkKXt2YXIgZT1hLnNwbGl0KCIuIilbMF07Yz09bnVsbHx8YyhlKTtpZihlKXt2YXIgZj1kLmppW2VdO2lmKGYpcmV0dXJuIGYoYSxiKX19fQpmdW5jdGlvbiBXcChhLGIpe3ZhciBjPWEuc3BsaXQoIi4iKTtpZihjLmxlbmd0aD09PTMpe3ZhciBkPWNbMl07aWYoZC5pbmRleE9mKCIkIik9PT0tMSYmZC5pbmRleE9mKCIlMjQiKSE9PS0xKXRyeXtkPWRlY29kZVVSSUNvbXBvbmVudChkKX1jYXRjaCh0KXt9dmFyIGU9e30sZj1acFtiXTtpZihmKXtmb3IodmFyIGc9Zi5SaCxoPW0oZC5zcGxpdCgiJCIpKSxsPWgubmV4dCgpOyFsLmRvbmU7bD1oLm5leHQoKSl7dmFyIG49bC52YWx1ZSxwPW5bMF07aWYoZy5pbmRleE9mKHApIT09LTEpdHJ5e3ZhciBxPWRlY29kZVVSSUNvbXBvbmVudChuLnN1YnN0cmluZygxKSkscj1VcFtwXTtyJiYoci5uaz8oZVtwXT1lW3BdfHxbXSxlW3BdLnB1c2gocSkpOmVbcF09cSl9Y2F0Y2godCl7fX1yZXR1cm4gZX19fWZ1bmN0aW9uIGFxKGEsYixjKXt2YXIgZD1acFtiXTtpZihkKXJldHVybltkLlpqLGN8fCIxIixicShhLGIpXS5qb2luKCIuIil9CmZ1bmN0aW9uIGJxKGEsYil7dmFyIGM9WnBbYl07aWYoYyl7Zm9yKHZhciBkPVtdLGU9bShjLlJoKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZSxoPVVwW2ddO2lmKGgpe3ZhciBsPWFbZ107aWYobCE9PXZvaWQgMClpZihoLm5rJiZBcnJheS5pc0FycmF5KGwpKWZvcih2YXIgbj1tKGwpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKWQucHVzaChlbmNvZGVVUklDb21wb25lbnQoIiIrZytwLnZhbHVlKSk7ZWxzZSBkLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KCIiK2crbCkpfX1yZXR1cm4gZC5qb2luKCIkIil9fWZ1bmN0aW9uIFhwKGEpe3ZhciBiPWEuc3BsaXQoIi4iKTtiLnNoaWZ0KCk7dmFyIGM9Yi5zaGlmdCgpLGQ9Yi5zaGlmdCgpLGU9e307cmV0dXJuIGUuaz1kLGUuaT1jLGUuYj1iLGV9CmZ1bmN0aW9uIFlwKGEpe3ZhciBiPWEuc3BsaXQoIi4iKS5zbGljZSgyKTtpZighKGIubGVuZ3RoPDV8fGIubGVuZ3RoPjcpKXt2YXIgYz17fTtyZXR1cm4gYy5zPWJbMF0sYy5vPWJbMV0sYy5nPWJbMl0sYy50PWJbM10sYy5qPWJbNF0sYy5sPWJbNV0sYy5oPWJbNl0sY319O2Z1bmN0aW9uIGNxKGEsYixjLGQpe3ZhciBlO3JldHVybihlPWRxKGZ1bmN0aW9uKGYpe3JldHVybiBmPT09YX0sYixjLGQpW2FdKSE9bnVsbD9lOltdfWZ1bmN0aW9uIGRxKGEsYixjLGQpe3ZhciBlO2lmKGVxKGQpKXtmb3IodmFyIGY9e30sZz1TdHJpbmcoYnx8ZnEoKSkuc3BsaXQoIjsiKSxoPTA7aDxnLmxlbmd0aDtoKyspe3ZhciBsPWdbaF0uc3BsaXQoIj0iKSxuPWxbMF0udHJpbSgpO2lmKG4mJmEobikpe3ZhciBwPWwuc2xpY2UoMSkuam9pbigiPSIpLnRyaW0oKTtwJiZjJiYocD1kZWNvZGVVUklDb21wb25lbnQocCkpO3ZhciBxPXZvaWQgMCxyPXZvaWQgMDsoKHE9Zilbcj1uXXx8KHFbcl09W10pKS5wdXNoKHApfX1lPWZ9ZWxzZSBlPXt9O3JldHVybiBlfQpmdW5jdGlvbiBncShhLGIsYyxkLGUpe2lmKGVxKGUpKXt2YXIgZj1ocShhLGQsZSk7aWYoZi5sZW5ndGg9PT0xKXJldHVybiBmWzBdO2lmKGYubGVuZ3RoIT09MCl7Zj1pcShmLGZ1bmN0aW9uKGcpe3JldHVybiBnLkpyfSxiKTtpZihmLmxlbmd0aD09PTEpcmV0dXJuIGZbMF07Zj1pcShmLGZ1bmN0aW9uKGcpe3JldHVybiBnLldzfSxjKTtyZXR1cm4gZlswXX19fWZ1bmN0aW9uIGpxKGEsYixjLGQpe3ZhciBlPWZxKCksZj1BO1NwKGYpJiYoZi5kb2N1bWVudC5jb29raWU9YSk7dmFyIGc9ZnEoKTtyZXR1cm4gZSE9PWd8fGMhPT12b2lkIDAmJmNxKGIsZywhMSxkKS5pbmRleE9mKGMpPj0wfQpmdW5jdGlvbiBrcShhLGIsYyxkKXtmdW5jdGlvbiBlKHgseSx6KXtpZih6PT1udWxsKXJldHVybiBkZWxldGUgaFt5XSx4O2hbeV09ejtyZXR1cm4geCsiOyAiK3krIj0iK3p9ZnVuY3Rpb24gZih4LHkpe2lmKHk9PW51bGwpcmV0dXJuIHg7aFt5XT0hMDtyZXR1cm4geCsiOyAiK3l9aWYoIWVxKGMuTWMpKXJldHVybiAyO3ZhciBnO2I9PW51bGw/Zz1hKyI9ZGVsZXRlZDsgZXhwaXJlcz0iKyhuZXcgRGF0ZSgwKSkudG9VVENTdHJpbmcoKTooYy5lbmNvZGUmJihiPWVuY29kZVVSSUNvbXBvbmVudChiKSksYj1scShiKSxnPWErIj0iK2IpO3ZhciBoPXt9O2c9ZShnLCJwYXRoIixjLnBhdGgpO3ZhciBsO2MuZXhwaXJlcyBpbnN0YW5jZW9mIERhdGU/bD1jLmV4cGlyZXMudG9VVENTdHJpbmcoKTpjLmV4cGlyZXMhPW51bGwmJihsPSIiK2MuZXhwaXJlcyk7Zz1lKGcsImV4cGlyZXMiLGwpO2c9ZShnLCJtYXgtYWdlIixjLk9zKTtnPWUoZywic2FtZXNpdGUiLGMucnQpO2Muc2VjdXJlJiYKKGc9ZihnLCJzZWN1cmUiKSk7dmFyIG49Yy5kb21haW47aWYobiYmbi50b0xvd2VyQ2FzZSgpPT09ImF1dG8iKXtmb3IodmFyIHA9bXEoKSxxPXZvaWQgMCxyPSExLHQ9MDt0PHAubGVuZ3RoOysrdCl7dmFyIHU9cFt0XSE9PSJub25lIj9wW3RdOnZvaWQgMCx2PWUoZywiZG9tYWluIix1KTt2PWYodixjLmZsYWdzKTt0cnl7ZCYmZChhLGgpfWNhdGNoKHgpe3E9eDtjb250aW51ZX1yPSEwO2lmKCFucSh1LGMucGF0aCkmJmpxKHYsYSxiLGMuTWMpKXJldHVybiAwfWlmKHEmJiFyKXRocm93IHE7cmV0dXJuIDF9biYmbi50b0xvd2VyQ2FzZSgpIT09Im5vbmUiJiYoZz1lKGcsImRvbWFpbiIsbikpO2c9ZihnLGMuZmxhZ3MpO2QmJmQoYSxoKTtyZXR1cm4gbnEobixjLnBhdGgpPzE6anEoZyxhLGIsYy5NYyk/MDoxfWZ1bmN0aW9uIG9xKGEsYixjKXtjLnBhdGg9PW51bGwmJihjLnBhdGg9Ii8iKTtjLmRvbWFpbnx8KGMuZG9tYWluPSJhdXRvIik7cmV0dXJuIGtxKGEsYixjKX0KZnVuY3Rpb24gaXEoYSxiLGMpe2Zvcih2YXIgZD1bXSxlPVtdLGYsZz0wO2c8YS5sZW5ndGg7ZysrKXt2YXIgaD1hW2ddLGw9YihoKTtsPT09Yz9kLnB1c2goaCk6Zj09PXZvaWQgMHx8bDxmPyhlPVtoXSxmPWwpOmw9PT1mJiZlLnB1c2goaCl9cmV0dXJuIGQubGVuZ3RoPjA/ZDplfWZ1bmN0aW9uIGhxKGEsYixjKXtmb3IodmFyIGQ9W10sZT1jcShhLHZvaWQgMCx2b2lkIDAsYyksZj0wO2Y8ZS5sZW5ndGg7ZisrKXt2YXIgZz1lW2ZdLnNwbGl0KCIuIiksaD1nLnNoaWZ0KCk7aWYoIWJ8fCFofHxiLmluZGV4T2YoaCkhPT0tMSl7dmFyIGw9Zy5zaGlmdCgpO2lmKGwpe3ZhciBuPWwuc3BsaXQoIi0iKTtkLnB1c2goe0JyOmVbZl0sQ3I6Zy5qb2luKCIuIiksSnI6TnVtYmVyKG5bMF0pfHwxLFdzOk51bWJlcihuWzFdKXx8MX0pfX19cmV0dXJuIGR9ZnVuY3Rpb24gbHEoYSl7YSYmYS5sZW5ndGg+MTIwMCYmKGE9YS5zdWJzdHJpbmcoMCwxMjAwKSk7cmV0dXJuIGF9CnZhciBwcT0vXih3d3dcLik/Z29vZ2xlKFwuY29tPyk/KFwuW2Etel17Mn0pPyQvLHFxPS8oXnxcLilkb3VibGVjbGlja1wubmV0JC9pO2Z1bmN0aW9uIG5xKGEsYil7cmV0dXJuIGEhPT12b2lkIDAmJihxcS50ZXN0KEEuZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWUpfHxiPT09Ii8iJiZwcS50ZXN0KGEpKX1mdW5jdGlvbiBycShhKXtpZighYSlyZXR1cm4gMTt2YXIgYj1hO1lmKDQpJiZhPT09Im5vbmUiJiYoYj1BLmRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTtiPWIuaW5kZXhPZigiLiIpPT09MD9iLnN1YnN0cmluZygxKTpiO3JldHVybiBiLnNwbGl0KCIuIikubGVuZ3RofWZ1bmN0aW9uIHNxKGEpe2lmKCFhfHxhPT09Ii8iKXJldHVybiAxO2FbMF0hPT0iLyImJihhPSIvIithKTthW2EubGVuZ3RoLTFdIT09Ii8iJiYoYSs9Ii8iKTtyZXR1cm4gYS5zcGxpdCgiLyIpLmxlbmd0aC0xfQpmdW5jdGlvbiB0cShhLGIpe3ZhciBjPSIiK3JxKGEpLGQ9c3EoYik7ZD4xJiYoYys9Ii0iK2QpO3JldHVybiBjfQp2YXIgZnE9ZnVuY3Rpb24oKXt2YXIgYT1BO3JldHVybiBTcChhKT9hLmRvY3VtZW50LmNvb2tpZToiIn0sZXE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJllmKDUpPyhBcnJheS5pc0FycmF5KGEpP2E6W2FdKS5ldmVyeShmdW5jdGlvbihiKXtyZXR1cm4gRGwoYikmJkJsKGIpfSk6ITB9LG1xPWZ1bmN0aW9uKCl7dmFyIGE9W10sYj1BLmRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIik7aWYoYi5sZW5ndGg9PT00KXt2YXIgYz1iW2IubGVuZ3RoLTFdO2lmKE51bWJlcihjKS50b1N0cmluZygpPT09YylyZXR1cm5bIm5vbmUiXX1mb3IodmFyIGQ9Yi5sZW5ndGgtMjtkPj0wO2QtLSlhLnB1c2goYi5zbGljZShkKS5qb2luKCIuIikpO3ZhciBlPUEuZG9jdW1lbnQubG9jYXRpb24uaG9zdG5hbWU7cXEudGVzdChlKXx8cHEudGVzdChlKXx8YS5wdXNoKCJub25lIik7cmV0dXJuIGF9O2Z1bmN0aW9uIHVxKGEsYixjLGQpe3ZhciBlLGY9TnVtYmVyKGEucGQhPW51bGw/YS5wZDp2b2lkIDApO2YhPT0wJiYoZT1uZXcgRGF0ZSgoYnx8TmIoKSkrMUUzKihmfHw3Nzc2RTMpKSk7cmV0dXJue3BhdGg6YS5wYXRoLGRvbWFpbjphLmRvbWFpbixmbGFnczphLmZsYWdzLGVuY29kZTohIWMsZXhwaXJlczplLE1jOmR9fTt2YXIgdnE9bmV3IE1hcChbWzUsImFkX3N0b3JhZ2UiXSxbNCxbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXV0sWzIsImFuYWx5dGljc19zdG9yYWdlIl1dKTtmdW5jdGlvbiB3cShhLGIsYyl7aWYoWnBbYl0pe2Zvcih2YXIgZD1bXSxlPWNxKGEsdm9pZCAwLHZvaWQgMCx2cS5nZXQoYikpLGY9bShlKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9JHAoZy52YWx1ZSxiLGMpO2gmJmQucHVzaCh4cShoKSl9cmV0dXJuIGR9fQpmdW5jdGlvbiB5cShhKXt2YXIgYj16cTtpZihacFsyXSl7Zm9yKHZhciBjPXt9LGQ9ZHEoYSx2b2lkIDAsdm9pZCAwLHZxLmdldCgyKSksZT1PYmplY3Qua2V5cyhkKS5zb3J0KCksZj1tKGUpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWZvcih2YXIgaD1nLnZhbHVlLGw9bShkW2hdKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9JHAobi52YWx1ZSwyLGIpO3AmJihjW2hdfHwoY1toXT1bXSksY1toXS5wdXNoKHhxKHApKSl9cmV0dXJuIGN9fWZ1bmN0aW9uIEFxKGEsYixjLGQsZSl7ZD1kfHx7fTt2YXIgZj10cShkLmRvbWFpbixkLnBhdGgpLGc9YXEoYixjLGYpO2lmKCFnKXJldHVybiAxO3ZhciBoPXVxKGQsZSx2b2lkIDAsdnEuZ2V0KGMpKTtyZXR1cm4gb3EoYSxnLGgpfWZ1bmN0aW9uIEJxKGEsYil7dmFyIGM9Yi5uYTtyZXR1cm4gdHlwZW9mIGM9PT0iZnVuY3Rpb24iP2MoYSk6Yy50ZXN0KGEpfQpmdW5jdGlvbiB4cShhKXtmb3IodmFyIGI9bShPYmplY3Qua2V5cyhhKSksYz1iLm5leHQoKSxkPXt9OyFjLmRvbmU7ZD17QWc6dm9pZCAwfSxjPWIubmV4dCgpKXt2YXIgZT1jLnZhbHVlLGY9YVtlXTtkLkFnPVVwW2VdO2QuQWc/ZC5BZy5uaz9hW2VdPUFycmF5LmlzQXJyYXkoZik/Zi5maWx0ZXIoZnVuY3Rpb24oZyl7cmV0dXJuIGZ1bmN0aW9uKGgpe3JldHVybiBCcShoLGcuQWcpfX0oZCkpOnZvaWQgMDp0eXBlb2YgZj09PSJzdHJpbmciJiZCcShmLGQuQWcpfHwoYVtlXT12b2lkIDApOmFbZV09dm9pZCAwfXJldHVybiBhfTt2YXIgQ3E7ZnVuY3Rpb24gRHEoKXtmdW5jdGlvbiBhKGcpe2MoZy50YXJnZXR8fGcuc3JjRWxlbWVudHx8e30pfWZ1bmN0aW9uIGIoZyl7ZChnLnRhcmdldHx8Zy5zcmNFbGVtZW50fHx7fSl9dmFyIGM9RXEsZD1GcSxlPUdxKCk7aWYoIWUuaW5pdCl7JGMoQiwibW91c2Vkb3duIixhKTskYyhCLCJrZXl1cCIsYSk7JGMoQiwic3VibWl0IixiKTt2YXIgZj1IVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnN1Ym1pdDtIVE1MRm9ybUVsZW1lbnQucHJvdG90eXBlLnN1Ym1pdD1mdW5jdGlvbigpe2QodGhpcyk7Zi5jYWxsKHRoaXMpfTtlLmluaXQ9ITB9fWZ1bmN0aW9uIEhxKGEsYixjLGQsZSl7dmFyIGY9e2NhbGxiYWNrOmEsZG9tYWluczpiLGZyYWdtZW50OmM9PT0yLHBsYWNlbWVudDpjLGZvcm1zOmQsc2FtZUhvc3Q6ZX07R3EoKS5kZWNvcmF0b3JzLnB1c2goZil9CmZ1bmN0aW9uIElxKGEsYixjKXtmb3IodmFyIGQ9R3EoKS5kZWNvcmF0b3JzLGU9e30sZj0wO2Y8ZC5sZW5ndGg7KytmKXt2YXIgZz1kW2ZdLGg7aWYoaD0hY3x8Zy5mb3JtcylhOnt2YXIgbD1nLmRvbWFpbnMsbj1hLHA9ISFnLnNhbWVIb3N0O2lmKGwmJihwfHxuIT09Qi5sb2NhdGlvbi5ob3N0bmFtZSkpZm9yKHZhciBxPTA7cTxsLmxlbmd0aDtxKyspaWYobFtxXWluc3RhbmNlb2YgUmVnRXhwKXtpZihsW3FdLnRlc3Qobikpe2g9ITA7YnJlYWsgYX19ZWxzZSBpZihuLmluZGV4T2YobFtxXSk+PTB8fHAmJmxbcV0uaW5kZXhPZihuKT49MCl7aD0hMDticmVhayBhfWg9ITF9aWYoaCl7dmFyIHI9Zy5wbGFjZW1lbnQ7cj09PXZvaWQgMCYmKHI9Zy5mcmFnbWVudD8yOjEpO3I9PT1iJiZRYihlLGcuY2FsbGJhY2soKSl9fXJldHVybiBlfQpmdW5jdGlvbiBHcSgpe3ZhciBhPU1jKCJnb29nbGVfdGFnX2RhdGEiLHt9KSxiPWEuZ2w7YiYmYi5kZWNvcmF0b3JzfHwoYj17ZGVjb3JhdG9yczpbXX0sYS5nbD1iKTtyZXR1cm4gYn07dmFyIEpxPS8oLio/KVwqKC4qPylcKiguKikvLEtxPS9eaHR0cHM/OlwvXC8oW15cL10qPylcLj9jZG5cLmFtcHByb2plY3RcLm9yZ1wvPyguKikvLExxPS9eKD86d3d3XC58bVwufGFtcFwuKSsvLE1xPS8oW14/I10rKShcP1teI10qKT8oIy4qKT8vO2Z1bmN0aW9uIE5xKGEpe3ZhciBiPU1xLmV4ZWMoYSk7aWYoYilyZXR1cm57aGs6YlsxXSxxdWVyeTpiWzJdLGZyYWdtZW50OmJbM119fWZ1bmN0aW9uIE9xKGEpe3JldHVybiBuZXcgUmVnRXhwKCIoLio/KShefCYpIithKyI9KFteJl0qKSY/KC4qKSIpfQpmdW5jdGlvbiBQcShhLGIpe3ZhciBjPVtIYy51c2VyQWdlbnQsKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpLEhjLnVzZXJMYW5ndWFnZXx8SGMubGFuZ3VhZ2UsTWF0aC5mbG9vcihOYigpLzYwLzFFMyktKGI9PT12b2lkIDA/MDpiKSxhXS5qb2luKCIqIiksZDtpZighKGQ9Q3EpKXtmb3IodmFyIGU9QXJyYXkoMjU2KSxmPTA7ZjwyNTY7ZisrKXtmb3IodmFyIGc9ZixoPTA7aDw4O2grKylnPWcmMT9nPj4+MV4zOTg4MjkyMzg0Omc+Pj4xO2VbZl09Z31kPWV9Q3E9ZDtmb3IodmFyIGw9NDI5NDk2NzI5NSxuPTA7bjxjLmxlbmd0aDtuKyspbD1sPj4+OF5DcVsobF5jLmNoYXJDb2RlQXQobikpJjI1NV07cmV0dXJuKChsXi0xKT4+PjApLnRvU3RyaW5nKDM2KX0KZnVuY3Rpb24gUXEoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPVJqKEEubG9jYXRpb24uaHJlZiksZD1jLnNlYXJjaC5yZXBsYWNlKCI/IiwiIiksZT1JaihkLCJfZ2wiLCExLCEwKXx8IiI7Yi5xdWVyeT1ScShlKXx8e307dmFyIGY9TGooYywiZnJhZ21lbnQiKSxnO3ZhciBoPS0xO2lmKFNiKGYsIl9nbD0iKSloPTQ7ZWxzZXt2YXIgbD1mLmluZGV4T2YoIiZfZ2w9Iik7bD4wJiYoaD1sKzMrMil9aWYoaDwwKWc9dm9pZCAwO2Vsc2V7dmFyIG49Zi5pbmRleE9mKCImIixoKTtnPW48MD9mLnN1YnN0cmluZyhoKTpmLnN1YnN0cmluZyhoLG4pfWIuZnJhZ21lbnQ9UnEoZ3x8IiIpfHx7fTthJiZTcShjLGQsZil9fWZ1bmN0aW9uIFRxKGEsYil7dmFyIGM9T3EoYSkuZXhlYyhiKSxkPWI7aWYoYyl7dmFyIGU9Y1syXSxmPWNbNF07ZD1jWzFdO2YmJihkPWQrZStmKX1yZXR1cm4gZH0KZnVuY3Rpb24gU3EoYSxiLGMpe2Z1bmN0aW9uIGQoZyxoKXt2YXIgbD1UcSgiX2dsIixnKTtsLmxlbmd0aCYmKGw9aCtsKTtyZXR1cm4gbH1pZihHYyYmR2MucmVwbGFjZVN0YXRlKXt2YXIgZT1PcSgiX2dsIik7aWYoZS50ZXN0KGIpfHxlLnRlc3QoYykpe3ZhciBmPUxqKGEsInBhdGgiKTtiPWQoYiwiPyIpO2M9ZChjLCIjIik7R2MucmVwbGFjZVN0YXRlKHt9LCIiLCIiK2YrYitjKX19fWZ1bmN0aW9uIFVxKGEsYil7dmFyIGM9UXEoISFiKSxkPUdxKCk7ZC5kYXRhfHwoZC5kYXRhPXtxdWVyeTp7fSxmcmFnbWVudDp7fX0sYyhkLmRhdGEpKTt2YXIgZT17fSxmPWQuZGF0YTtmJiYoUWIoZSxmLnF1ZXJ5KSxhJiZRYihlLGYuZnJhZ21lbnQpKTtyZXR1cm4gZX0KdmFyIFJxPWZ1bmN0aW9uKGEpe3RyeXt2YXIgYj1WcShhLDMpO2lmKGIhPT12b2lkIDApe2Zvcih2YXIgYz17fSxkPWI/Yi5zcGxpdCgiKiIpOltdLGU9MDtlKzE8ZC5sZW5ndGg7ZSs9Mil7dmFyIGY9ZFtlXSxnPXFiKGRbZSsxXSk7Y1tmXT1nfXNiKCJUQUdHSU5HIiw2KTtyZXR1cm4gY319Y2F0Y2goaCl7c2IoIlRBR0dJTkciLDgpfX07ZnVuY3Rpb24gVnEoYSxiKXtpZihhKXt2YXIgYzthOntmb3IodmFyIGQ9YSxlPTA7ZTwzOysrZSl7dmFyIGY9SnEuZXhlYyhkKTtpZihmKXtjPWY7YnJlYWsgYX1kPUtqKGQpfHwiIn1jPXZvaWQgMH12YXIgZz1jO2lmKGcmJmdbMV09PT0iMSIpe3ZhciBoPWdbM10sbDthOntmb3IodmFyIG49Z1syXSxwPTA7cDxiOysrcClpZihuPT09UHEoaCxwKSl7bD0hMDticmVhayBhfWw9ITF9aWYobClyZXR1cm4gaDtzYigiVEFHR0lORyIsNyl9fX0KZnVuY3Rpb24gV3EoYSxiLGMsZCxlKXtmdW5jdGlvbiBmKHApe3A9VHEoYSxwKTt2YXIgcT1wLmNoYXJBdChwLmxlbmd0aC0xKTtwJiZxIT09IiYiJiYocCs9IiYiKTtyZXR1cm4gcCtufWQ9ZD09PXZvaWQgMD8hMTpkO2U9ZT09PXZvaWQgMD8hMTplO3ZhciBnPU5xKGMpO2lmKCFnKXJldHVybiIiO3ZhciBoPWcucXVlcnl8fCIiLGw9Zy5mcmFnbWVudHx8IiIsbj1hKyI9IitiO2Q/bC5zdWJzdHJpbmcoMSkubGVuZ3RoIT09MCYmZXx8KGw9IiMiK2YobC5zdWJzdHJpbmcoMSkpKTpoPSI/IitmKGguc3Vic3RyaW5nKDEpKTtyZXR1cm4iIitnLmhrK2grbH0KZnVuY3Rpb24gWHEoYSxiKXtmdW5jdGlvbiBjKG4scCxxKXt2YXIgcjthOntmb3IodmFyIHQgaW4gbilpZihuLmhhc093blByb3BlcnR5KHQpKXtyPSEwO2JyZWFrIGF9cj0hMX1pZihyKXt2YXIgdSx2PVtdLHg7Zm9yKHggaW4gbilpZihuLmhhc093blByb3BlcnR5KHgpKXt2YXIgeT1uW3hdO3khPT12b2lkIDAmJnk9PT15JiZ5IT09bnVsbCYmeS50b1N0cmluZygpIT09IltvYmplY3QgT2JqZWN0XSImJih2LnB1c2goeCksdi5wdXNoKHBiKFN0cmluZyh5KSkpKX12YXIgej12LmpvaW4oIioiKTt1PVsiMSIsUHEoeiksel0uam9pbigiKiIpO2Q/KFlmKDMpfHxZZigxKXx8IXApJiZZcSgiX2dsIix1LGEscCxxKTpacSgiX2dsIix1LGEscCxxKX19dmFyIGQ9KGEudGFnTmFtZXx8IiIpLnRvVXBwZXJDYXNlKCk9PT0iRk9STSIsZT1JcShiLDEsZCksZj1JcShiLDIsZCksZz1JcShiLDQsZCksaD1JcShiLDMsZCk7YyhlLCExLCExKTtjKGYsITAsITEpO1lmKDEpJiZjKGcsITAsITApO2Zvcih2YXIgbCBpbiBoKWguaGFzT3duUHJvcGVydHkobCkmJgokcShsLGhbbF0sYSl9ZnVuY3Rpb24gJHEoYSxiLGMpe2MudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09ImEiP1pxKGEsYixjKTpjLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJmb3JtIiYmWXEoYSxiLGMpfWZ1bmN0aW9uIFpxKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPyExOmQ7ZT1lPT09dm9pZCAwPyExOmU7dmFyIGY7aWYoZj1jLmhyZWYpe3ZhciBnO2lmKCEoZz1kKSl7dmFyIGg9QS5sb2NhdGlvbi5ocmVmLGw9TnEoYy5ocmVmKSxuPU5xKGgpO2c9IShsJiZuJiZsLmhrPT09bi5oayYmbC5xdWVyeT09PW4ucXVlcnkmJmwuZnJhZ21lbnQpfWY9Z31pZihmKXt2YXIgcD1XcShhLGIsYy5ocmVmLGQsZSk7dmMudGVzdChwKSYmKGMuaHJlZj1wKX19CmZ1bmN0aW9uIFlxKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwPyExOmQ7ZT1lPT09dm9pZCAwPyExOmU7aWYoYyl7dmFyIGY9Yy5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpfHwiIjtpZihmKXt2YXIgZz0oYy5tZXRob2R8fCIiKS50b0xvd2VyQ2FzZSgpO2lmKGchPT0iZ2V0Inx8ZCl7aWYoZz09PSJnZXQifHxnPT09InBvc3QiKXt2YXIgaD1XcShhLGIsZixkLGUpO3ZjLnRlc3QoaCkmJihjLmFjdGlvbj1oKX19ZWxzZXtmb3IodmFyIGw9Yy5jaGlsZE5vZGVzfHxbXSxuPSExLHA9MDtwPGwubGVuZ3RoO3ArKyl7dmFyIHE9bFtwXTtpZihxLm5hbWU9PT1hKXtxLnNldEF0dHJpYnV0ZSgidmFsdWUiLGIpO249ITA7YnJlYWt9fWlmKCFuKXt2YXIgcj1CLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7ci5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKTtyLnNldEF0dHJpYnV0ZSgibmFtZSIsYSk7ci5zZXRBdHRyaWJ1dGUoInZhbHVlIixiKTtjLmFwcGVuZENoaWxkKHIpfX19fX0KZnVuY3Rpb24gRXEoYSl7dHJ5e3ZhciBiO2E6e2Zvcih2YXIgYz1hLGQ9MTAwO2MmJmQ+MDspe2lmKGMuaHJlZiYmYy5ub2RlTmFtZS5tYXRjaCgvXmEoPzpyZWEpPyQvaSkpe2I9YzticmVhayBhfWM9Yy5wYXJlbnROb2RlO2QtLX1iPW51bGx9dmFyIGU9YjtpZihlKXt2YXIgZj1lLnByb3RvY29sO2YhPT0iaHR0cDoiJiZmIT09Imh0dHBzOiJ8fFhxKGUsZS5ob3N0bmFtZSl9fWNhdGNoKGcpe319ZnVuY3Rpb24gRnEoYSl7dHJ5e3ZhciBiPWEuZ2V0QXR0cmlidXRlKCJhY3Rpb24iKTtpZihiKXt2YXIgYz1MaihSaihiKSwiaG9zdCIpO1hxKGEsYyl9fWNhdGNoKGQpe319ZnVuY3Rpb24gYXIoYSxiLGMsZCl7RHEoKTt2YXIgZT1jPT09ImZyYWdtZW50Ij8yOjE7ZD0hIWQ7SHEoYSxiLGUsZCwhMSk7ZT09PTImJnNiKCJUQUdHSU5HIiwyMyk7ZCYmc2IoIlRBR0dJTkciLDI0KX0KZnVuY3Rpb24gYnIoYSxiKXtEcSgpO0hxKGEsW05qKEEubG9jYXRpb24sImhvc3QiLCEwKV0sYiwhMCwhMCl9ZnVuY3Rpb24gY3IoKXt2YXIgYT1CLmxvY2F0aW9uLmhvc3RuYW1lLGI9S3EuZXhlYyhCLnJlZmVycmVyKTtpZighYilyZXR1cm4hMTt2YXIgYz1iWzJdLGQ9YlsxXSxlPSIiO2lmKGMpe3ZhciBmPWMuc3BsaXQoIi8iKSxnPWZbMV07ZT1nPT09InMiP0tqKGZbMl0pfHwiIjpLaihnKXx8IiJ9ZWxzZSBpZihkKXtpZihkLmluZGV4T2YoInhuLS0iKT09PTApcmV0dXJuITE7ZT1kLnJlcGxhY2UoLy0vZywiLiIpLnJlcGxhY2UoL1wuXC4vZywiLSIpfXZhciBoPWEucmVwbGFjZShMcSwiIiksbD1lLnJlcGxhY2UoTHEsIiIpO3JldHVybiBoPT09bHx8VGIoaCwiLiIrbCl9ZnVuY3Rpb24gZHIoYSxiKXtyZXR1cm4gYT09PSExPyExOmF8fGJ8fGNyKCl9O3ZhciBlcj1mdW5jdGlvbihhKXt0aGlzLnZhbHVlPTA7dGhpcy52YWx1ZT1hPT09dm9pZCAwPzA6YX07ZXIucHJvdG90eXBlLnNldD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZXw9MTw8YX07dmFyIGZyPWZ1bmN0aW9uKGEsYil7Yjw9MHx8KGEudmFsdWV8PTE8PGItMSl9O2VyLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZX07ZXIucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKGEpe3RoaXMudmFsdWUmPX4oMTw8YSl9O2VyLnByb3RvdHlwZS5jbGVhckFsbD1mdW5jdGlvbigpe3RoaXMudmFsdWU9MH07ZXIucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy52YWx1ZT09PWEudmFsdWV9O2Z1bmN0aW9uIGdyKGEpe2lmKGEpdHJ5e3JldHVybiBuZXcgVWludDhBcnJheShhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpLnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuY2hhckNvZGVBdCgwKX0pKX1jYXRjaChiKXt9fWZ1bmN0aW9uIGhyKGEsYil7dmFyIGM9MCxkPTAsZSxmPWI7ZG97aWYoZj49YS5sZW5ndGgpcmV0dXJuO2U9YVtmKytdO2N8PShlJjEyNyk8PGQ7ZCs9N313aGlsZShlJjEyOCk7cmV0dXJuW2MsZl19O2Z1bmN0aW9uIGlyKCl7dmFyIGE9U3RyaW5nLGI9QS5sb2NhdGlvbi5ob3N0bmFtZSxjPUEubG9jYXRpb24ucGF0aG5hbWUsZD1iPWJjKGIpO2Quc3BsaXQoIi4iKS5sZW5ndGg+MiYmKGQ9ZC5yZXBsYWNlKC9eKHd3d1swLTldKnx3ZWJ8ZnRwfHdhcHxob21lfG18d3xhbXB8bW9iaWxlKVwuLywiIikpO2I9ZDtjPWJjKGMpO3ZhciBlPWMuc3BsaXQoIjsiKVswXTtlPWUucmVwbGFjZSgvXC8oYXJ8c2xwfHdlYnxpbmRleCk/XC8/JC8sIiIpO3JldHVybiBhKG5nKCgiIitiK2UpLnRvTG93ZXJDYXNlKCkpKX07dmFyIGpyPVsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdO2Z1bmN0aW9uIGtyKGEsYil7aWYoIWEpcmV0dXJuIHNiKCJUQUdHSU5HIiwzMiksMTA7aWYoYj09PW51bGx8fGI9PT12b2lkIDB8fGI9PT0iIilyZXR1cm4gc2IoIlRBR0dJTkciLDMzKSwxMTt2YXIgYz1scighMSk7aWYoYy5lcnJvciE9PTApcmV0dXJuIHNiKCJUQUdHSU5HIiwzNCksYy5lcnJvcjtpZighYy52YWx1ZSlyZXR1cm4gc2IoIlRBR0dJTkciLDM1KSwyO2MudmFsdWVbYV09Yjt2YXIgZD1tcihjKTtkIT09MCYmc2IoIlRBR0dJTkciLDM2KTtyZXR1cm4gZH0KZnVuY3Rpb24gbnIoYSl7aWYoIWEpcmV0dXJuIHNiKCJUQUdHSU5HIiwyNykse2Vycm9yOjEwfTt2YXIgYj1scigpO2lmKGIuZXJyb3IhPT0wKXJldHVybiBzYigiVEFHR0lORyIsMjkpLGI7aWYoIWIudmFsdWUpcmV0dXJuIHNiKCJUQUdHSU5HIiwzMCkse2Vycm9yOjJ9O2lmKCEoYSBpbiBiLnZhbHVlKSlyZXR1cm4gc2IoIlRBR0dJTkciLDMxKSx7dmFsdWU6dm9pZCAwLGVycm9yOjE1fTt2YXIgYz1iLnZhbHVlW2FdO3JldHVybiBjPT09bnVsbHx8Yz09PXZvaWQgMHx8Yz09PSIiPyhzYigiVEFHR0lORyIsMjgpLHt2YWx1ZTp2b2lkIDAsZXJyb3I6MTF9KTp7dmFsdWU6YyxlcnJvcjowfX0KZnVuY3Rpb24gb3IoYSl7aWYoYSl7dmFyIGI9bHIoITEpO2IuZXJyb3IhPT0wP3NiKCJUQUdHSU5HIiwzOCk6Yi52YWx1ZT9hIGluIGIudmFsdWU/KGRlbGV0ZSBiLnZhbHVlW2FdLG1yKGIpIT09MCYmc2IoIlRBR0dJTkciLDQxKSk6c2IoIlRBR0dJTkciLDQwKTpzYigiVEFHR0lORyIsMzkpfWVsc2Ugc2IoIlRBR0dJTkciLDM3KX0KZnVuY3Rpb24gbHIoYSl7YT1hPT09dm9pZCAwPyEwOmE7aWYoIUJsKGpyKSlyZXR1cm4gc2IoIlRBR0dJTkciLDQzKSx7ZXJyb3I6M307dHJ5e2lmKCFBLmxvY2FsU3RvcmFnZSlyZXR1cm4gc2IoIlRBR0dJTkciLDQ0KSx7ZXJyb3I6MX19Y2F0Y2goZil7cmV0dXJuIHNiKCJUQUdHSU5HIiw0NSkse2Vycm9yOjE0fX12YXIgYj17c2NoZW1hOiJnY2wiLHZlcnNpb246MX0sYz12b2lkIDA7dHJ5e2M9QS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiX2djbF9scyIpfWNhdGNoKGYpe3JldHVybiBzYigiVEFHR0lORyIsNDYpLHtlcnJvcjoxM319dHJ5e2lmKGMpe3ZhciBkPUpTT04ucGFyc2UoYyk7aWYoZCYmdHlwZW9mIGQ9PT0ib2JqZWN0IiliPWQ7ZWxzZSByZXR1cm4gc2IoIlRBR0dJTkciLDQ3KSx7ZXJyb3I6MTJ9fX1jYXRjaChmKXtyZXR1cm4gc2IoIlRBR0dJTkciLDQ4KSx7ZXJyb3I6OH19aWYoYi5zY2hlbWEhPT0iZ2NsIilyZXR1cm4gc2IoIlRBR0dJTkciLDQ5KSx7ZXJyb3I6NH07CmlmKGIudmVyc2lvbiE9PTEpcmV0dXJuIHNiKCJUQUdHSU5HIiw1MCkse2Vycm9yOjV9O3RyeXt2YXIgZT1wcihiKTthJiZlJiZtcih7dmFsdWU6YixlcnJvcjowfSl9Y2F0Y2goZil7cmV0dXJuIHNiKCJUQUdHSU5HIiw0OCkse2Vycm9yOjh9fXJldHVybnt2YWx1ZTpiLGVycm9yOjB9fQpmdW5jdGlvbiBwcihhKXtpZighYXx8dHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4hMTtpZigiZXhwaXJlcyJpbiBhJiYidmFsdWUiaW4gYSl7dmFyIGI7dHlwZW9mIGEuZXhwaXJlcz09PSJudW1iZXIiP2I9YS5leHBpcmVzOmI9dHlwZW9mIGEuZXhwaXJlcz09PSJzdHJpbmciP051bWJlcihhLmV4cGlyZXMpOk5hTjtpZihpc05hTihiKXx8IShEYXRlLm5vdygpPD1iKSlyZXR1cm4gYS52YWx1ZT1udWxsLGEuZXJyb3I9OSxzYigiVEFHR0lORyIsNTQpLCEwfWVsc2V7Zm9yKHZhciBjPSExLGQ9bShPYmplY3Qua2V5cyhhKSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpYz1wcihhW2UudmFsdWVdKXx8YztyZXR1cm4gY31yZXR1cm4hMX0KZnVuY3Rpb24gbXIoYSl7aWYoYS5lcnJvcilyZXR1cm4gYS5lcnJvcjtpZighYS52YWx1ZSlyZXR1cm4gc2IoIlRBR0dJTkciLDQyKSwyO3ZhciBiPWEudmFsdWUsYzt0cnl7Yz1KU09OLnN0cmluZ2lmeShiKX1jYXRjaChkKXtyZXR1cm4gc2IoIlRBR0dJTkciLDUyKSw2fXRyeXtBLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCJfZ2NsX2xzIixjKX1jYXRjaChkKXtyZXR1cm4gc2IoIlRBR0dJTkciLDUzKSw3fXJldHVybiAwfTt2YXIgcXI9e30scnI9KHFyLmdjbGlkPSEwLHFyLmRjbGlkPSEwLHFyLmdicmFpZD0hMCxxci53YnJhaWQ9ITAscXIpLHNyPS9eXHcrJC8sdHI9L15bXHctXSskLyx1cj17fSx2cj0odXIuYXc9IkZQR0NMQVciLHVyKSx3cj17fSx4cj0od3IuYWc9Il9hZyIsd3IuZ2I9Il9nYiIsd3IuYXc9Il9hdyIsd3IuZGM9Il9kYyIsd3IuZ2Y9Il9nZiIsd3IuaGE9Il9oYSIsd3IuZ3A9Il9ncCIsd3IuZ3M9Il9ncyIsd3IpLHlyPS9eKD86d3d3XC4pP2dvb2dsZSg/OlwuY29tPyk/KD86XC5bYS16XXsyfXQ/KT8kLyx6cj0vXnd3d1wuZ29vZ2xlYWRzZXJ2aWNlc1wuY29tJC87ZnVuY3Rpb24gQXIoKXtyZXR1cm5bImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXX1mdW5jdGlvbiBCcihhKXtyZXR1cm4hWWYoNSl8fEJsKGEpfWZ1bmN0aW9uIENyKGEsYil7ZnVuY3Rpb24gYygpe3ZhciBkPUJyKGIpO2QmJmEoKTtyZXR1cm4gZH1IbChmdW5jdGlvbigpe2MoKXx8SWwoYyxiKX0sYil9CmZ1bmN0aW9uIERyKGEpe3JldHVybiBFcihhKS5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGIuZ2NsaWR9KX1mdW5jdGlvbiBGcihhKXtyZXR1cm4gR3IoYSkuZmlsdGVyKGZ1bmN0aW9uKGIpe3JldHVybiBiLmdjbGlkfSkubWFwKGZ1bmN0aW9uKGIpe3JldHVybiBiLmdjbGlkfSl9ZnVuY3Rpb24gR3IoYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1IcihhLnByZWZpeCksZD1JcigiZ2IiLGMpLGU9SXIoImFnIixjKTtpZighZXx8IWQpcmV0dXJuW107dmFyIGY9ZnVuY3Rpb24obCl7cmV0dXJuIGZ1bmN0aW9uKG4pe24uemc9bDtyZXR1cm4gbn19LGc9RXIoZCxiKS5tYXAoZigiZ2IiKSksaD1KcihlKS5tYXAoZigiYWciKSk7cmV0dXJuIGcuY29uY2F0KGgpLnNvcnQoZnVuY3Rpb24obCxuKXtyZXR1cm4gbi50aW1lc3RhbXAtbC50aW1lc3RhbXB9KX0KZnVuY3Rpb24gS3IoYSxiLGMsZCxlKXt2YXIgZj1DYihhLGZ1bmN0aW9uKGcpe3JldHVybiBnLmdjbGlkPT09Yn0pO2Y/KGYudGltZXN0YW1wPGMmJihmLnRpbWVzdGFtcD1jLGYub2Q9ZSksZi5sYWJlbHM9THIoZi5sYWJlbHN8fFtdLGR8fFtdKSk6YS5wdXNoKHt2ZXJzaW9uOiIyIixnY2xpZDpiLHRpbWVzdGFtcDpjLGxhYmVsczpkLG9kOmV9KX1mdW5jdGlvbiBNcihhKXtmb3IodmFyIGI9d3EoYSw1KXx8W10sYz1bXSxkPW0oYiksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWUsZz1mLGg9TnIoZik7aCYmS3IoYyxnLmssaCxnLmJ8fFtdLGYudSl9cmV0dXJuIGMuc29ydChmdW5jdGlvbihsLG4pe3JldHVybiBuLnRpbWVzdGFtcC1sLnRpbWVzdGFtcH0pfQpmdW5jdGlvbiBFcihhLGIpe2I9Yj09PXZvaWQgMD8hMTpiO3ZhciBjPVtdO09yKGMsYSwxKTtpZihiKWlmKFRiKGEsIl9hdyIpKXt2YXIgZD1QcigpO2QmJihkLm9kPXZvaWQgMCxkLm9hPWQub2F8fFsyXSxRcihjLGQpKTtPcihjLCJnY2xfYXciLDIpfWVsc2UgVGIoYSwiX2diIikmJllmKDYpJiZPcihjLCJnY2xfZ2IiLDIpO2Muc29ydChmdW5jdGlvbihlLGYpe3JldHVybiBmLnRpbWVzdGFtcC1lLnRpbWVzdGFtcH0pO3JldHVybiBScihjKX1mdW5jdGlvbiBTcihhLGIpe2Zvcih2YXIgYz1bXSxkPW0oYSksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWU7Yy5pbmNsdWRlcyhmKXx8Yy5wdXNoKGYpfWZvcih2YXIgZz1tKGIpLGg9Zy5uZXh0KCk7IWguZG9uZTtoPWcubmV4dCgpKXt2YXIgbD1oLnZhbHVlO2MuaW5jbHVkZXMobCl8fGMucHVzaChsKX1yZXR1cm4gY30KZnVuY3Rpb24gUXIoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2Zvcih2YXIgZCxlLGY9bShhKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZTtpZihoLmdjbGlkPT09Yi5nY2xpZCl7ZD1oO2JyZWFrfWgucWEmJmIucWEmJmgucWEuZXF1YWxzKGIucWEpJiYoZT1oKX1pZihkKXt2YXIgbCxuLHA9KGw9ZC5xYSkhPW51bGw/bDpuZXcgZXIscT0obj1iLnFhKSE9bnVsbD9uOm5ldyBlcjtwLnZhbHVlfD1xLnZhbHVlO2QucWE9cDtkLnRpbWVzdGFtcDxiLnRpbWVzdGFtcCYmKGQudGltZXN0YW1wPWIudGltZXN0YW1wLGQub2Q9Yi5vZCk7ZC5sYWJlbHM9U3IoZC5sYWJlbHN8fFtdLGIubGFiZWxzfHxbXSk7ZC5vYT1TcihkLm9hfHxbXSxiLm9hfHxbXSl9ZWxzZSBjJiZlP25hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3QsZSxiKTphLnB1c2goYil9CmZ1bmN0aW9uIFRyKGEpe2lmKCFhKXJldHVybiBuZXcgZXI7dmFyIGI9bmV3IGVyO2lmKGE9PT0xKXJldHVybiBmcihiLDIpLGZyKGIsMyksYjtmcihiLGEpO3JldHVybiBifQpmdW5jdGlvbiBQcigpe3ZhciBhPW5yKCJnY2xpZCIpO2lmKCFhfHxhLmVycm9yfHwhYS52YWx1ZXx8dHlwZW9mIGEudmFsdWUhPT0ib2JqZWN0IilyZXR1cm4gbnVsbDt2YXIgYj1hLnZhbHVlO3RyeXtpZighKCJ2YWx1ZSJpbiBiJiZiLnZhbHVlKXx8dHlwZW9mIGIudmFsdWUhPT0ib2JqZWN0IilyZXR1cm4gbnVsbDt2YXIgYz1iLnZhbHVlLGQ9Yy52YWx1ZTtpZighZHx8IWQubWF0Y2godHIpKXJldHVybiBudWxsO3ZhciBlPWMubGlua0RlY29yYXRpb25Tb3VyY2UsZj1jLmxpbmtEZWNvcmF0aW9uU291cmNlcyxnPW5ldyBlcjt0eXBlb2YgZT09PSJudW1iZXIiP2c9VHIoZSk6dHlwZW9mIGY9PT0ibnVtYmVyIiYmKGcudmFsdWU9Zik7cmV0dXJue3ZlcnNpb246IiIsZ2NsaWQ6ZCx0aW1lc3RhbXA6TnVtYmVyKGMuY3JlYXRpb25UaW1lTXMpfHwwLGxhYmVsczpbXSxxYTpnLG9hOlsyXX19Y2F0Y2goaCl7cmV0dXJuIG51bGx9fQpmdW5jdGlvbiBVcihhKXt2YXIgYj1ucihhKTtpZihiLmVycm9yIT09MClyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIGIudmFsdWUucmVkdWNlKGZ1bmN0aW9uKGMsZCl7aWYoIWQudmFsdWV8fHR5cGVvZiBkLnZhbHVlIT09Im9iamVjdCIpcmV0dXJuIGM7dmFyIGU9ZC52YWx1ZSxmPWUudmFsdWU7aWYoIWZ8fCFmLm1hdGNoKHRyKSlyZXR1cm4gYzt2YXIgZz1uZXcgZXIsaD1lLmxpbmtEZWNvcmF0aW9uU291cmNlczt0eXBlb2YgaD09PSJudW1iZXIiJiYoZy52YWx1ZT1oKTt2YXIgbDtjLnB1c2goe3ZlcnNpb246IiIsZ2NsaWQ6Zix0aW1lc3RhbXA6TnVtYmVyKGUuY3JlYXRpb25UaW1lTXMpfHwwLGV4cGlyZXM6TnVtYmVyKGQuZXhwaXJlcyl8fDAsbGFiZWxzOihsPWUubGFiZWxzKSE9bnVsbD9sOltdLHFhOmcsb2E6WzJdfSk7cmV0dXJuIGN9LFtdKX1jYXRjaChjKXtyZXR1cm4gbnVsbH19CmZ1bmN0aW9uIE9yKGEsYixjKXtpZihjPT09MSlmb3IodmFyIGQ9Y3EoYixCLmNvb2tpZSx2b2lkIDAsQXIoKSksZT1tKGQpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1WcihmLnZhbHVlLnNwbGl0KCIuIikpLGg9Zy5sZW5ndGg9PT0wP251bGw6e3ZlcnNpb246Z1swXSxnY2xpZDpnWzJdLHRpbWVzdGFtcDooTnVtYmVyKGdbMV0pfHwwKSoxRTMsbGFiZWxzOmcuc2xpY2UoMyl9O2ghPW51bGwmJihoLm9kPXZvaWQgMCxoLnFhPW5ldyBlcixoLm9hPVtjXSxRcihhLGgpKX1lbHNlIGlmKGM9PT0yKXt2YXIgbD1VcihiKTtpZihsKWZvcih2YXIgbj1tKGwpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3Eub2Q9dm9pZCAwO3Eub2E9cS5vYTtRcihhLHEpfX19CmZ1bmN0aW9uIFpyKGEpe3ZhciBiPUVyKGEpLGM9VXIoImdjbF9kYyIpO2lmKGMpZm9yKHZhciBkPW0oYyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPWUudmFsdWU7Zi5vZD12b2lkIDA7Zi5vYT1mLm9hfHxbMl07UXIoYixmKX1iLnNvcnQoZnVuY3Rpb24oZyxoKXt2YXIgbD1nLm9hJiZnLm9hLmluY2x1ZGVzKDEpLG49aC5vYSYmaC5vYS5pbmNsdWRlcygxKTtyZXR1cm4gbCYmIW4/LTE6IWwmJm4/MTpoLnRpbWVzdGFtcC1nLnRpbWVzdGFtcH0pO3JldHVybiBScihiKX1mdW5jdGlvbiBKcihhKXtyZXR1cm4gTXIoYSkubWFwKGZ1bmN0aW9uKGIpe2IucWE9bmV3IGVyO2Iub2E9WzFdO3JldHVybiBifSl9CmZ1bmN0aW9uIExyKGEsYil7aWYoIWEubGVuZ3RoKXJldHVybiBiO2lmKCFiLmxlbmd0aClyZXR1cm4gYTt2YXIgYz17fTtyZXR1cm4gYS5jb25jYXQoYikuZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiBjLmhhc093blByb3BlcnR5KGQpPyExOmNbZF09ITB9KX1mdW5jdGlvbiBIcihhKXtyZXR1cm4gYSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmYS5tYXRjaChzcik/YToiX2djbCJ9ZnVuY3Rpb24gJHIoYSxiKXtpZihhKXt2YXIgYz17dmFsdWU6YSxxYTpuZXcgZXJ9O2ZyKGMucWEsYik7cmV0dXJuIGN9fQpmdW5jdGlvbiBhcyhhLGIsYyl7dmFyIGQ9UmooYSksZT1MaihkLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xzcmMiKSxmPSRyKExqKGQsInF1ZXJ5IiwhMSx2b2lkIDAsImdjbGlkIiksYz80OjIpO2lmKGImJighZnx8IWUpKXt2YXIgZz1kLmhhc2gucmVwbGFjZSgiIyIsIiIpO2Z8fChmPSRyKElqKGcsImdjbGlkIiwhMSksMykpO2V8fChlPUlqKGcsImdjbHNyYyIsITEpKX1yZXR1cm4gZiYmKGU9PT12b2lkIDB8fGU9PT0iYXcifHxlPT09ImF3LmRzInx8WWYoOCkmJmU9PT0iYXcuZHYiKT9bZl06W119CmZ1bmN0aW9uIGJzKGEsYil7dmFyIGM9UmooYSksZD1MaihjLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xpZCIpLGU9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZ2Nsc3JjIiksZj1MaihjLCJxdWVyeSIsITEsdm9pZCAwLCJ3YnJhaWQiKTtmPSRiKGYpO3ZhciBnPUxqKGMsInF1ZXJ5IiwhMSx2b2lkIDAsImdicmFpZCIpLGg9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZ2FkX3NvdXJjZSIpLGw9TGooYywicXVlcnkiLCExLHZvaWQgMCwiZGNsaWQiKTtpZihiJiYhKGQmJmUmJmYmJmcpKXt2YXIgbj1jLmhhc2gucmVwbGFjZSgiIyIsIiIpO2Q9ZHx8SWoobiwiZ2NsaWQiLCExKTtlPWV8fElqKG4sImdjbHNyYyIsITEpO2Y9Znx8SWoobiwid2JyYWlkIiwhMSk7Zz1nfHxJaihuLCJnYnJhaWQiLCExKTtoPWh8fElqKG4sImdhZF9zb3VyY2UiLCExKX1yZXR1cm4gY3MoZCxlLGwsZixnLGgpfQpmdW5jdGlvbiBkcyhhLGIsYyl7dmFyIGQ9UmooYSksZT1MaihkLCJxdWVyeSIsITEsdm9pZCAwLCJnY2xzcmMiKSxmPSRyKExqKGQsInF1ZXJ5IiwhMSx2b2lkIDAsImdjbGlkIiksYz80OjIpLGc9JHIoTGooZCwicXVlcnkiLCExLHZvaWQgMCwiZGNsaWQiKSxjPzQ6Mik7aWYoYiYmKCFlfHwhZikpe3ZhciBoPWQuaGFzaC5yZXBsYWNlKCIjIiwiIik7Znx8KGY9JHIoSWooaCwiZ2NsaWQiLCExKSwzKSk7ZXx8KGU9SWooaCwiZ2Nsc3JjIiwhMSkpfXJldHVybiBmJiZlJiYoZT09PSJhdy5kcyJ8fGU9PT0iYXcuZHYifHxlPT09IjNwLmRzInx8ZT09PSJkcyIpP1tmXTpnP1tnXTpbXX1mdW5jdGlvbiBlcygpe3JldHVybiBicyhBLmxvY2F0aW9uLmhyZWYsITApfQpmdW5jdGlvbiBjcyhhLGIsYyxkLGUsZil7dmFyIGc9e30saD1mdW5jdGlvbihsLG4pe2dbbl18fChnW25dPVtdKTtnW25dLnB1c2gobCl9O2cuZ2NsaWQ9YTtnLmdjbHNyYz1iO2cuZGNsaWQ9YztpZihhIT09dm9pZCAwJiZhLm1hdGNoKHRyKSlzd2l0Y2goYil7Y2FzZSB2b2lkIDA6aChhLCJhdyIpO2JyZWFrO2Nhc2UgImF3LmRzIjpoKGEsImF3Iik7aChhLCJkYyIpO2JyZWFrO2Nhc2UgImF3LmR2IjpZZig4KSYmKGgoYSwiYXciKSxoKGEsImRjIikpO2JyZWFrO2Nhc2UgImRzIjpoKGEsImRjIik7YnJlYWs7Y2FzZSAiM3AuZHMiOmgoYSwiZGMiKTticmVhaztjYXNlICJnZiI6aChhLCJnZiIpO2JyZWFrO2Nhc2UgImhhIjpoKGEsImhhIil9YyYmaChjLCJkYyIpO2QhPT12b2lkIDAmJnRyLnRlc3QoZCkmJihnLndicmFpZD1kLGgoZCwiZ2IiKSk7ZSE9PXZvaWQgMCYmdHIudGVzdChlKSYmKGcuZ2JyYWlkPWUsaChlLCJhZyIpKTtmIT09dm9pZCAwJiZ0ci50ZXN0KGYpJiYoZy5nYWRfc291cmNlPQpmLGgoZiwiZ3MiKSk7cmV0dXJuIGd9ZnVuY3Rpb24gZnMoKXtmb3IodmFyIGE9ZXMoKSxiPSEwLGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpaWYoYVtkLnZhbHVlXSE9PXZvaWQgMCl7Yj0hMTticmVha31iJiYoYT1icyhBLmRvY3VtZW50LnJlZmVycmVyLCExKSxhLmdhZF9zb3VyY2U9dm9pZCAwKTtyZXR1cm4gYX1mdW5jdGlvbiBncyhhKXt2YXIgYj1mcygpO2hzKGIsITEsYSl9CmZ1bmN0aW9uIGlzKGEpe3ZhciBiPWFzKEEubG9jYXRpb24uaHJlZiwhMCwhMSk7Yi5sZW5ndGh8fChiPWFzKEEuZG9jdW1lbnQucmVmZXJyZXIsITEsITApKTthPWF8fHt9O2pzKGEpO2lmKGIubGVuZ3RoKXt2YXIgYz1iWzBdLGQ9TmIoKSxlPXVxKGEsZCwhMCksZj1BcigpLGc9ZnVuY3Rpb24oKXtCcihmKSYmZS5leHBpcmVzIT09dm9pZCAwJiZrcigiZ2NsaWQiLHt2YWx1ZTp7dmFsdWU6Yy52YWx1ZSxjcmVhdGlvblRpbWVNczpkLGxpbmtEZWNvcmF0aW9uU291cmNlczpjLnFhLmdldCgpfSxleHBpcmVzOk51bWJlcihlLmV4cGlyZXMpfSl9O0hsKGZ1bmN0aW9uKCl7ZygpO0JyKGYpfHxJbChnLGYpfSxmKX19CmZ1bmN0aW9uIGpzKGEpe3ZhciBiPUIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIjtpZih5ci50ZXN0KGIpfHx6ci50ZXN0KGIpfHxrcygpKXt2YXIgYzthOntmb3IodmFyIGQ9UmooQS5sb2NhdGlvbi5ocmVmKSxlPUpqKExqKGQsInF1ZXJ5IikpLGY9bShPYmplY3Qua2V5cyhlKSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7aWYoIXJyW2hdKXt2YXIgbD1lW2hdWzBdfHwiIixuO2lmKCFsfHxsLmxlbmd0aDw1MHx8bC5sZW5ndGg+MjAwKW49ITE7ZWxzZXt2YXIgcD1ncihsKSxxO2lmKHApYzp7dmFyIHI9cDtpZihyJiZyLmxlbmd0aCE9PTApe3ZhciB0PTA7dHJ5e2Zvcih2YXIgdT0xMDt0PHIubGVuZ3RoJiYhKHUtLTw9MCk7KXt2YXIgdj1ocihyLHQpO2lmKHY9PT12b2lkIDApYnJlYWs7dmFyIHg9bSh2KSx5PXgubmV4dCgpLnZhbHVlLHo9eC5uZXh0KCkudmFsdWUsQz15LEQ9eixJPUMmNztpZihDPj4zPT09MTYzODIpe2lmKEkhPT0KMClicmVhazt2YXIgRz1ocihyLEQpO2lmKEc9PT12b2lkIDApYnJlYWs7cT1tKEcpLm5leHQoKS52YWx1ZT09PTE7YnJlYWsgY312YXIgTjtkOnt2YXIgUz12b2lkIDAsVz1yLGVhPUQ7c3dpdGNoKEkpe2Nhc2UgMDpOPShTPWhyKFcsZWEpKT09bnVsbD92b2lkIDA6U1sxXTticmVhayBkO2Nhc2UgMTpOPWVhKzg7YnJlYWsgZDtjYXNlIDI6dmFyIGphPWhyKFcsZWEpO2lmKGphPT09dm9pZCAwKWJyZWFrO3ZhciBmYT1tKGphKSxzYT1mYS5uZXh0KCkudmFsdWU7Tj1mYS5uZXh0KCkudmFsdWUrc2E7YnJlYWsgZDtjYXNlIDU6Tj1lYSs0O2JyZWFrIGR9Tj12b2lkIDB9aWYoTj09PXZvaWQgMHx8Tj5yLmxlbmd0aHx8Tjw9dClicmVhazt0PU59fWNhdGNoKG1hKXt9fXE9ITF9ZWxzZSBxPSExO249cX1pZihuKXtjPWw7YnJlYWsgYX19fWM9dm9pZCAwfXZhciBkYT1jO2RhJiZscygiZ2NsX2F3IixkYSw3LGEpfX0KZnVuY3Rpb24gbHMoYSxiLGMsZCl7bXMoYSxbe3ZlcnNpb246IiIsZ2NsaWQ6Yix0aW1lc3RhbXA6TmIoKSxxYTpUcihjKX1dLGQpfQpmdW5jdGlvbiBtcyhhLGIsYyl7Yz1jfHx7fTt2YXIgZD1BcigpLGU9ZnVuY3Rpb24oKXtpZihCcihkKSYmYi5sZW5ndGg+MCl7dmFyIGY9VXIoYSl8fFtdO2IuZm9yRWFjaChmdW5jdGlvbihnKXt2YXIgaD11cShjLGcudGltZXN0YW1wLCEwKTtoLmV4cGlyZXMhPT12b2lkIDAmJlFyKGYse3ZlcnNpb246IiIsZ2NsaWQ6Zy5nY2xpZCx0aW1lc3RhbXA6Zy50aW1lc3RhbXAsZXhwaXJlczpOdW1iZXIoaC5leHBpcmVzKSxxYTpnLnFhLGxhYmVsczpnLmxhYmVsc30sITApfSk7Zi5sZW5ndGgmJmtyKGEsZi5tYXAoZnVuY3Rpb24oZyl7dmFyIGg9e3ZhbHVlOmcuZ2NsaWQsY3JlYXRpb25UaW1lTXM6Zy50aW1lc3RhbXAsbGlua0RlY29yYXRpb25Tb3VyY2VzOmcucWE/Zy5xYS5nZXQoKTowfSxsO2lmKChsPWcubGFiZWxzKT09bnVsbD8wOmwubGVuZ3RoKWgubGFiZWxzPWcubGFiZWxzO3JldHVybnt2YWx1ZTpoLGV4cGlyZXM6TnVtYmVyKGcuZXhwaXJlcyl9fSkpfX07SGwoZnVuY3Rpb24oKXtCcihkKT8KZSgpOklsKGUsZCl9LGQpfQpmdW5jdGlvbiBocyhhLGIsYyxkLGUpe2M9Y3x8e307ZT1lfHxbXTt2YXIgZj1IcihjLnByZWZpeCksZz1kfHxOYigpLGg9TWF0aC5yb3VuZChnLzFFMyksbD1BcigpLG49ITEscD0hMSxxPVlmKDkpLHI9ZnVuY3Rpb24oKXtpZihCcihsKSl7dmFyIHQ9dXEoYyxnLCEwKTt0Lk1jPWw7Zm9yKHZhciB1PWZ1bmN0aW9uKFcsZWEpe3ZhciBqYT1JcihXLGYpO2phJiYob3EoamEsZWEsdCksVyE9PSJnYiImJihuPSEwKSl9LHY9ZnVuY3Rpb24oVyl7dmFyIGVhPVsiR0NMIixoLFddO2UubGVuZ3RoPjAmJmVhLnB1c2goZS5qb2luKCIuIikpO3JldHVybiBlYS5qb2luKCIuIil9LHg9bShbImF3IiwiZGMiLCJnZiIsImhhIiwiZ3AiXSkseT14Lm5leHQoKTsheS5kb25lO3k9eC5uZXh0KCkpe3ZhciB6PXkudmFsdWU7YVt6XSYmdSh6LHYoYVt6XVswXSkpfWlmKCghbnx8cSkmJmEuZ2Ipe3ZhciBDPWEuZ2JbMF0sRD1JcigiZ2IiLGYpOyFiJiZFcihEKS5zb21lKGZ1bmN0aW9uKFcpe3JldHVybiBXLmdjbGlkPT09QyYmClcubGFiZWxzJiZXLmxhYmVscy5sZW5ndGg+MH0pfHx1KCJnYiIsdihDKSl9fWlmKCFwJiZhLmdicmFpZCYmQnIoImFkX3N0b3JhZ2UiKSYmKHA9ITAsIW58fHEpKXt2YXIgST1hLmdicmFpZCxHPUlyKCJhZyIsZik7aWYoYnx8IUpyKEcpLnNvbWUoZnVuY3Rpb24oVyl7cmV0dXJuIFcuZ2NsaWQ9PT1JJiZXLmxhYmVscyYmVy5sYWJlbHMubGVuZ3RoPjB9KSl7dmFyIE49e30sUz0oTi5rPUksTi5pPSIiK2gsTi5iPWUsTik7QXEoRyxTLDUsYyxnKX19bnMoYSxmLGcsYyl9O0hsKGZ1bmN0aW9uKCl7cigpO0JyKGwpfHxJbChyLGwpfSxsKX0KZnVuY3Rpb24gbnMoYSxiLGMsZCl7aWYoYS5nYWRfc291cmNlIT09dm9pZCAwJiZCcigiYWRfc3RvcmFnZSIpKXt2YXIgZT1xZCgpO2lmKGUhPT0iciImJmUhPT0iaCIpe3ZhciBmPWEuZ2FkX3NvdXJjZSxnPUlyKCJncyIsYik7aWYoZyl7dmFyIGg9TWF0aC5mbG9vcigoTmIoKS0ocGQoKXx8MCkpLzFFMyksbCxuPWlyKCkscD17fTtsPShwLms9ZixwLmk9IiIraCxwLnU9bixwKTtBcShnLGwsNSxkLGMpfX19fWZ1bmN0aW9uIG9zKGEsYixjKXtmb3IodmFyIGQ9d3EoYixjKSxlPTA7ZTxkLmxlbmd0aDsrK2UpaWYoTnIoZFtlXSk+YSlyZXR1cm4hMDtyZXR1cm4hMX0KZnVuY3Rpb24gcHMoYSl7dmFyIGI9cXMsYz1ycyhhLnByZWZpeCk7Q3IoZnVuY3Rpb24oKXtmb3IodmFyIGQ9SHIoYS5wcmVmaXgpLGU9bShiKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZSxoPWNbZ107aWYoaCl7dmFyIGw9TWF0aC5taW4oc3MoaCksTmIoKSksbj11cShhLGwsITApO24uTWM9QXIoKTt2YXIgcD1JcihnLGQpO3AmJm9xKHAsaCxuKX19dmFyIHE9VXEoITApO2hzKGNzKHEuZ2NsaWQscS5nY2xzcmMpLCExLGEpfSxBcigpKX0KZnVuY3Rpb24gcnMoYSl7dmFyIGI9VXEoITApLGM9SHIoYSksZD17fSxlO2ZvcihlIGluIHhyKWlmKHhyLmhhc093blByb3BlcnR5KGUpKXt2YXIgZj1lLGc9SXIoZixjKTtpZihnIT09dm9pZCAwKXt2YXIgaD1iW2ddO2lmKGgpe3ZhciBsPXNzKGgpLG47YTp7Zm9yKHZhciBwPU1hdGgubWluKGwsTmIoKSl8fE5iKCkscT1jcShnLEIuY29va2llLHZvaWQgMCxBcigpKSxyPTA7cjxxLmxlbmd0aDsrK3IpaWYoc3MocVtyXSk+cCl7bj0hMDticmVhayBhfW49ITF9bnx8KGRbZl09aCl9fX1yZXR1cm4gZH0KZnVuY3Rpb24gdHMoYSl7dmFyIGI9WyJhZyJdLGM9VXEoITApLGQ9SHIoYS5wcmVmaXgpO0NyKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxiLmxlbmd0aDsrK2Upe3ZhciBmPUlyKGJbZV0sZCk7aWYoZil7dmFyIGc9Y1tmXTtpZihnKXt2YXIgaD0kcChnLDUpO2lmKGgpe3ZhciBsPU5yKGgpO2x8fChsPU5iKCkpO2lmKG9zKGwsZiw1KSlicmVhaztoLmk9IiIrTWF0aC5yb3VuZChsLzFFMyk7QXEoZixoLDUsYSxsKX19fX19LFsiYWRfc3RvcmFnZSJdKX1mdW5jdGlvbiBJcihhLGIpe3ZhciBjPXhyW2FdO2lmKGMhPT12b2lkIDApcmV0dXJuIGIrY31mdW5jdGlvbiBzcyhhKXtyZXR1cm4gVnIoYS5zcGxpdCgiLiIpKS5sZW5ndGghPT0wPyhOdW1iZXIoYS5zcGxpdCgiLiIpWzFdKXx8MCkqMUUzOjB9ZnVuY3Rpb24gTnIoYSl7cmV0dXJuIGE/KE51bWJlcihhLmkpfHwwKSoxRTM6MH0KZnVuY3Rpb24gVnIoYSl7cmV0dXJuIGEubGVuZ3RoPDN8fGFbMF0hPT0iR0NMIiYmYVswXSE9PSIxInx8IS9eXGQrJC8udGVzdChhWzFdKXx8IXRyLnRlc3QoYVsyXSk/W106YX1mdW5jdGlvbiB1cyhhLGIsYyxkKXt2YXIgZT1xcztpZihBcnJheS5pc0FycmF5KGEpJiZTcChBKSl7dmFyIGY9SHIoZCksZz1mdW5jdGlvbigpe2Zvcih2YXIgaD17fSxsPTA7bDxlLmxlbmd0aDsrK2wpe3ZhciBuPUlyKGVbbF0sZik7aWYobil7dmFyIHA9Y3EobixCLmNvb2tpZSx2b2lkIDAsQXIoKSk7cC5sZW5ndGgmJihoW25dPXAuc29ydCgpW3AubGVuZ3RoLTFdKX19cmV0dXJuIGh9O0NyKGZ1bmN0aW9uKCl7YXIoZyxhLGIsYyl9LEFyKCkpfX0KZnVuY3Rpb24gdnMoYSxiLGMpe3ZhciBkPXFzO2lmKFlmKDEzKSYmQXJyYXkuaXNBcnJheShhKSYmU3AoQSkpe3ZhciBlPWZ1bmN0aW9uKCl7Zm9yKHZhciBmPXt9LGc9MDtnPGQubGVuZ3RoOysrZyl7dmFyIGg9dnJbZFtnXV07aWYoaCl7dmFyIGw9Y3EoaCxCLmNvb2tpZSx2b2lkIDAsQXIoKSk7aWYobC5sZW5ndGgpe2Zvcih2YXIgbj12b2lkIDAscD0wLHE9bShsKSxyPXEubmV4dCgpOyFyLmRvbmU7cj1xLm5leHQoKSl7dmFyIHQ9ci52YWx1ZSx1PSRwKHQsNCk7aWYodSYmKHUubT09PSIxInx8WWYoMTYpKSl7dmFyIHY9TnIodSk7dj49cCYmKHA9dixuPXQpfX1uJiYoZltoXT1uKX19fXJldHVybiBmfTtDcihmdW5jdGlvbigpe2FyKGUsYSxiLGMpfSxBcigpKX19CmZ1bmN0aW9uIHdzKGEsYixjLGQpe2lmKEFycmF5LmlzQXJyYXkoYSkmJlNwKEEpKXt2YXIgZT1bImFnIl0sZj1IcihkKSxnPWZ1bmN0aW9uKCl7Zm9yKHZhciBoPXt9LGw9MDtsPGUubGVuZ3RoOysrbCl7dmFyIG49SXIoZVtsXSxmKTtpZighbilyZXR1cm57fTt2YXIgcD13cShuLDUpO2lmKHAubGVuZ3RoKXt2YXIgcT1wLnNvcnQoZnVuY3Rpb24ocix0KXtyZXR1cm4gTnIodCktTnIocil9KVswXTtoW25dPWFxKHEsNSl9fXJldHVybiBofTtDcihmdW5jdGlvbigpe2FyKGcsYSxiLGMpfSxbImFkX3N0b3JhZ2UiXSl9fWZ1bmN0aW9uIFJyKGEpe3JldHVybiBhLmZpbHRlcihmdW5jdGlvbihiKXtyZXR1cm4gdHIudGVzdChiLmdjbGlkKX0pfQpmdW5jdGlvbiB4cyhhLGIpe2lmKFNwKEEpKXtmb3IodmFyIGM9SHIoYi5wcmVmaXgpLGQ9e30sZT0wO2U8YS5sZW5ndGg7ZSsrKXhyW2FbZV1dJiYoZFthW2VdXT14clthW2VdXSk7Q3IoZnVuY3Rpb24oKXtHYihkLGZ1bmN0aW9uKGYsZyl7dmFyIGg9Y3EoYytnLEIuY29va2llLHZvaWQgMCxBcigpKTtoLnNvcnQoZnVuY3Rpb24odCx1KXtyZXR1cm4gc3ModSktc3ModCl9KTtpZihoLmxlbmd0aCl7dmFyIGw9aFswXSxuPXNzKGwpLHA9VnIobC5zcGxpdCgiLiIpKS5sZW5ndGghPT0wP2wuc3BsaXQoIi4iKS5zbGljZSgzKTpbXSxxPXt9LHI7cj1WcihsLnNwbGl0KCIuIikpLmxlbmd0aCE9PTA/bC5zcGxpdCgiLiIpWzJdOnZvaWQgMDtxW2ZdPVtyXTtocyhxLCEwLGIsbixwKX19KX0sQXIoKSl9fQpmdW5jdGlvbiB5cyhhKXt2YXIgYj1bImFnIl0sYz1bImdicmFpZCJdO0NyKGZ1bmN0aW9uKCl7Zm9yKHZhciBkPUhyKGEucHJlZml4KSxlPTA7ZTxiLmxlbmd0aDsrK2Upe3ZhciBmPUlyKGJbZV0sZCk7aWYoIWYpYnJlYWs7dmFyIGc9d3EoZiw1KTtpZihnLmxlbmd0aCl7dmFyIGg9Zy5zb3J0KGZ1bmN0aW9uKHEscil7cmV0dXJuIE5yKHIpLU5yKHEpfSlbMF0sbD1OcihoKSxuPWguYixwPXt9O3BbY1tlXV09aC5rO2hzKHAsITAsYSxsLG4pfX19LFsiYWRfc3RvcmFnZSJdKX1mdW5jdGlvbiB6cyhhLGIpe2Zvcih2YXIgYz0wO2M8Yi5sZW5ndGg7KytjKWlmKGFbYltjXV0pcmV0dXJuITA7cmV0dXJuITF9CmZ1bmN0aW9uIEFzKGEpe2Z1bmN0aW9uIGIoaCxsLG4pe24mJihoW2xdPW4pfWlmKEVsKCkpe3ZhciBjPWVzKCksZDthLmluY2x1ZGVzKCJnYWRfc291cmNlIikmJihkPWMuZ2FkX3NvdXJjZSE9PXZvaWQgMD9jLmdhZF9zb3VyY2U6VXEoITEpLl9ncyk7aWYoenMoYyxhKXx8ZCl7dmFyIGU9e307YihlLCJnY2xpZCIsYy5nY2xpZCk7YihlLCJkY2xpZCIsYy5kY2xpZCk7YihlLCJnY2xzcmMiLGMuZ2Nsc3JjKTtiKGUsIndicmFpZCIsYy53YnJhaWQpO2IoZSwiZ2JyYWlkIixjLmdicmFpZCk7YnIoZnVuY3Rpb24oKXtyZXR1cm4gZX0sMyk7dmFyIGY9e30sZz0oZi5fdXA9IjEiLGYpO2IoZywiX2dzIixkKTticihmdW5jdGlvbigpe3JldHVybiBnfSwxKX19fWZ1bmN0aW9uIGtzKCl7dmFyIGE9UmooQS5sb2NhdGlvbi5ocmVmKTtyZXR1cm4gTGooYSwicXVlcnkiLCExLHZvaWQgMCwiZ2FkX3NvdXJjZSIpfQpmdW5jdGlvbiBCcyhhKXtpZighWWYoMSkpcmV0dXJuIG51bGw7dmFyIGI9VXEoITApLmdhZF9zb3VyY2U7aWYoYiE9bnVsbClyZXR1cm4gQS5sb2NhdGlvbi5oYXNoPSIiLGI7aWYoWWYoMikpe2I9a3MoKTtpZihiIT1udWxsKXJldHVybiBiO3ZhciBjPWVzKCk7aWYoenMoYyxhKSlyZXR1cm4iMCJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gQ3MoYSl7dmFyIGI9QnMoYSk7YiE9bnVsbCYmYnIoZnVuY3Rpb24oKXt2YXIgYz17fTtyZXR1cm4gYy5nYWRfc291cmNlPWIsY30sNCl9CmZ1bmN0aW9uIERzKGEsYixjKXt2YXIgZD1bXTtpZihiLmxlbmd0aD09PTApcmV0dXJuIGQ7Zm9yKHZhciBlPXt9LGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGc9YltmXSxoPWcuemc/Zy56ZzoiZ2NsIjtpZigoZy5sYWJlbHN8fFtdKS5pbmRleE9mKGMpPT09LTEpe2EucHVzaCgwKTt2YXIgbD0hMSxuPXZvaWQgMDtpZigobj1nLm9hKT09bnVsbD8wOm4uaW5jbHVkZXMoMikpbD0hMDt2YXIgcD12b2lkIDA7KChwPWcub2EpPT1udWxsPzA6cC5pbmNsdWRlcygxKSkmJiFlW2hdJiYobD0hMCxlW2hdPSEwKTtsJiZkLnB1c2goZyl9ZWxzZXthLnB1c2goMSk7dmFyIHE9dm9pZCAwO2lmKChxPWcub2EpPT1udWxsPzA6cS5pbmNsdWRlcygxKSllW2hdPSEwfX1yZXR1cm4gZH0KZnVuY3Rpb24gRXMoYSxiLGMsZCxlKXtlPWU9PT12b2lkIDA/ITE6ZTt2YXIgZj1bXTtjPWN8fHt9O2lmKCFCcihBcigpKSlyZXR1cm4gZjt2YXIgZz1FcihhLGUpLGg9RHMoZixnLGIpO2lmKGgubGVuZ3RoJiYhZCl7Zm9yKHZhciBsPVtdLG49ITEscD1tKGgpLHE9cC5uZXh0KCk7IXEuZG9uZTtxPXAubmV4dCgpKXt2YXIgcj1xLnZhbHVlLHQ9cix1PXQudmVyc2lvbix2PXQuZ2NsaWQseD10LnRpbWVzdGFtcCx5PXQub2Esej0odC5sYWJlbHN8fFtdKS5jb25jYXQoW2JdKSxDPXZvaWQgMDtpZigoKEM9eSk9PW51bGw/MDpDLmluY2x1ZGVzKDEpKSYmIW4pe3ZhciBEPVt1LE1hdGgucm91bmQoeC8xRTMpLHZdLmNvbmNhdCh6KS5qb2luKCIuIiksST11cShjLHgsITApO0kuTWM9QXIoKTtvcShhLEQsSSk7bj0hMH12YXIgRz12b2lkIDA7ZSYmKChHPXkpPT1udWxsPzA6Ry5pbmNsdWRlcygyKSkmJmwucHVzaChuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHIse2xhYmVsczp6fSkpfWwubGVuZ3RoJiYKbXMoImdjbF9nYiIsbCxjKX1yZXR1cm4gZn0KZnVuY3Rpb24gRnMoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3ZhciBkPVtdO2I9Ynx8e307dmFyIGU9R3IoYixjKSxmPURzKGQsZSxhKTtpZihmLmxlbmd0aCl7Zm9yKHZhciBnPVtdLGg9e30sbD1tKGYpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1uLnZhbHVlLHE9SHIoYi5wcmVmaXgpLHI9SXIocC56ZyxxKTtpZighcilyZXR1cm4gZDt2YXIgdD1wLHU9dC52ZXJzaW9uLHY9dC5nY2xpZCx4PXQudGltZXN0YW1wLHk9dC5vYSx6PU1hdGgucm91bmQoeC8xRTMpLEM9THIodC5sYWJlbHN8fFtdLFthXSksRD12b2lkIDA7aWYoKEQ9eSk9PW51bGw/MDpELmluY2x1ZGVzKDEpKWlmKHAuemc9PT0iYWciJiYhaC5hZyl7dmFyIEk9e30sRz0oSS5rPXYsSS5pPSIiK3osSS5iPUMsSSk7QXEocixHLDUsYix4KTtoLmFnPSEwfWVsc2UgaWYocC56Zz09PSJnYiImJiFoLmdiKXt2YXIgTj1bdSx6LHZdLmNvbmNhdChDKS5qb2luKCIuIiksUz11cShiLHgsITApO1MuTWM9CkFyKCk7b3EocixOLFMpO2guZ2I9ITB9dmFyIFc9dm9pZCAwO2MmJigoVz15KT09bnVsbD8wOlcuaW5jbHVkZXMoMikpJiZnLnB1c2gobmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxwLHtsYWJlbHM6Q30pKX1nLmxlbmd0aCYmbXMoImdjbF9nYiIsZyxiKX1yZXR1cm4gZH1mdW5jdGlvbiBHcyhhLGIpe3ZhciBjPUhyKGIpLGQ9SXIoYSxjKTtpZighZClyZXR1cm4gMDt2YXIgZTtlPWE9PT0iYWciP0pyKGQpOkVyKGQpO2Zvcih2YXIgZj0wLGc9MDtnPGUubGVuZ3RoO2crKylmPU1hdGgubWF4KGYsZVtnXS50aW1lc3RhbXApO3JldHVybiBmfWZ1bmN0aW9uIEhzKGEpe2Zvcih2YXIgYj0wLGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpZm9yKHZhciBlPWFbZC52YWx1ZV0sZj0wO2Y8ZS5sZW5ndGg7ZisrKWI9TWF0aC5tYXgoYixOdW1iZXIoZVtmXS50aW1lc3RhbXApKTtyZXR1cm4gYn0KZnVuY3Rpb24gSXMoYSl7dmFyIGI9TWF0aC5tYXgoR3MoImF3IixhKSxIcyhCcihBcigpKT9ScCgpOnt9KSksYz1NYXRoLm1heChHcygiZ2IiLGEpLEhzKEJyKEFyKCkpP1JwKCJfZ2FjX2diIiwhMCk6e30pKTtjPU1hdGgubWF4KGMsR3MoImFnIixhKSk7cmV0dXJuIGM+Yn07dmFyIEpzPVJlZ0V4cCgiXlVBLVxcZCstXFxkKyUzQVtcXHctXSsoPzolMkNbXFx3LV0rKSooPzolM0JVQS1cXGQrLVxcZCslM0FbXFx3LV0rKD86JTJDW1xcdy1dKykqKSokIiksS3M9L15+P1tcdy1dKyg/Olwufj9bXHctXSspKiQvLExzPS9eXGQrXC5mbHNcLmRvdWJsZWNsaWNrXC5uZXQkLyxNcz0vO2dhYz0oW147P10rKS8sTnM9LztnYWNnYj0oW147P10rKS87CmZ1bmN0aW9uIE9zKGEsYil7aWYoTHMudGVzdChCLmxvY2F0aW9uLmhvc3QpKXt2YXIgYz1CLmxvY2F0aW9uLmhyZWYubWF0Y2goYik7cmV0dXJuIGMmJmMubGVuZ3RoPT09MiYmY1sxXS5tYXRjaChKcyk/S2ooY1sxXSl8fCIiOiIifWZvcih2YXIgZD1bXSxlPW0oT2JqZWN0LmtleXMoYSkpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXtmb3IodmFyIGc9Zi52YWx1ZSxoPVtdLGw9YVtnXSxuPTA7bjxsLmxlbmd0aDtuKyspaC5wdXNoKGxbbl0uZ2NsaWQpO2QucHVzaChnKyI6IitoLmpvaW4oIiwiKSl9cmV0dXJuIGQubGVuZ3RoPjA/ZC5qb2luKCI7Iik6IiJ9CmZ1bmN0aW9uIFBzKGEsYixjKXtmb3IodmFyIGQ9QnIoQXIoKSk/UnAoIl9nYWNfZ2IiLCEwKTp7fSxlPVtdLGY9ITEsZz1tKE9iamVjdC5rZXlzKGQpKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZSxuPUVzKCJfZ2FjX2diXyIrbCxhLGIsYyk7Zj1mfHxuLmxlbmd0aCE9PTAmJm4uc29tZShmdW5jdGlvbihwKXtyZXR1cm4gcD09PTF9KTtlLnB1c2gobCsiOiIrbi5qb2luKCIsIikpfXJldHVybntScjpmP2Uuam9pbigiOyIpOiIiLFFyOk9zKGQsTnMpfX1mdW5jdGlvbiBRcyhhKXt2YXIgYj1CLmxvY2F0aW9uLmhyZWYubWF0Y2gobmV3IFJlZ0V4cCgiOyIrYSsiPShbXjs/XSspIikpO3JldHVybiBiJiZiLmxlbmd0aD09PTImJmJbMV0ubWF0Y2goS3MpP2JbMV06dm9pZCAwfQpmdW5jdGlvbiBScyhhKXt2YXIgYj17fSxjLGQsZTtMcy50ZXN0KEIubG9jYXRpb24uaG9zdCkmJihjPVFzKCJnY2xncyIpLGQ9UXMoImdjbHN0IiksZT1RcygiZ2NsbHAiKSk7aWYoYyYmZCYmZSliLkVnPWMsYi5XaD1kLGIuVWg9ZTtlbHNle3ZhciBmPU5iKCksZz1NcigoYXx8Il9nY2wiKSsiX2dzIiksaD1nLm1hcChmdW5jdGlvbihwKXtyZXR1cm4gcC5nY2xpZH0pLGw9Zy5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIGYtcC50aW1lc3RhbXB9KSxuPWcubWFwKGZ1bmN0aW9uKHApe3JldHVybiBwLm9kfSk7aC5sZW5ndGg+MCYmbC5sZW5ndGg+MCYmbi5sZW5ndGg+MCYmKGIuRWc9aC5qb2luKCIuIiksYi5XaD1sLmpvaW4oIi4iKSxiLlVoPW4uam9pbigiLiIpKX1yZXR1cm4gYn0KZnVuY3Rpb24gU3MoYSxiKXt2YXIgYz1hLnNwbGl0KCIuIiksZD1iP2Iuc3BsaXQoIi4iKTpbXSxlPWQubGVuZ3RoPT09Yy5sZW5ndGg/ZDp2b2lkIDA7cmV0dXJuIGMubWFwKGZ1bmN0aW9uKGYsZyl7dmFyIGg9e2djbGlkOmZ9O2lmKGUpe3ZhciBsPWVbZ10uc3BsaXQoIl8iKTtpZihsLmxlbmd0aD09PTIpe2gucWE9bmV3IGVyKE51bWJlcihsWzBdKSk7dmFyIG47dmFyIHA9TnVtYmVyKGxbMV0pO2lmKHA9PT0wKW49WzBdO2Vsc2V7dmFyIHE9W107cCYxJiZxLnB1c2goMSk7cCYyJiZxLnB1c2goMik7cCY0JiZxLnB1c2goMyk7cCY4JiZxLnB1c2goNCk7cCYxNiYmcS5wdXNoKDUpO249cX1oLm9hPW59fXJldHVybiBofSl9CmZ1bmN0aW9uIFRzKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO2lmKExzLnRlc3QoQi5sb2NhdGlvbi5ob3N0KSl7dmFyIGU9UXMoYyk7aWYoZSl7aWYoWWYoMTcpKXt2YXIgZj1RcyhjKyJfc3JjIik7cmV0dXJuIFNzKGUsZil9aWYoZCl7dmFyIGc9bmV3IGVyO2ZyKGcsMik7ZnIoZywzKTtyZXR1cm4gZS5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm57Z2NsaWQ6cixxYTpnLG9hOlsxXX19KX1yZXR1cm4gZS5zcGxpdCgiLiIpLm1hcChmdW5jdGlvbihyKXtyZXR1cm57Z2NsaWQ6cixxYTpuZXcgZXIsb2E6WzFdfX0pfX1lbHNle2lmKGI9PT0iZ2NsaWQiKXtmb3IodmFyIGg9RXIoKGF8fCJfZ2NsIikrIl9hdyIsZCksbD1OdW1iZXIoWGZbNF09PT12b2lkIDA/MDpYZls0XSksbj1tKFVzKCkpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT1wLnZhbHVlO3EudGltZXN0YW1wPmwmJlFyKGgscSl9cmV0dXJuIGh9aWYoYj09PSJ3YnJhaWQiKXJldHVybiBFcigoYXx8CiJfZ2NsIikrIl9nYiIsZCk7aWYoYj09PSJicmFpZHMiKXJldHVybiBHcih7cHJlZml4OmF9LGQpfXJldHVybltdfWZ1bmN0aW9uIFVzKCl7cmV0dXJuKHdxKHZyLmF3LDQpfHxbXSkuZmlsdGVyKGZ1bmN0aW9uKGEpe3JldHVybiBhLm09PT0iMSJ9KS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJue2djbGlkOmEuayx0aW1lc3RhbXA6TnVtYmVyKGEuaSksdmVyc2lvbjoiIixvYTpbNV19fSl9ZnVuY3Rpb24gVnMoYSl7Zm9yKHZhciBiPTAsYz1tKGEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlO2U+MCYmKGJ8PTE8PGUtMSl9cmV0dXJuIGIudG9TdHJpbmcoKX1mdW5jdGlvbiBXcyhhKXtyZXR1cm4gTHMudGVzdChCLmxvY2F0aW9uLmhvc3QpPyEoUXMoImdjbGF3Iil8fFFzKCJnYWMiKSk6SXMoYSl9CmZ1bmN0aW9uIFhzKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO3ZhciBlO2U9Yz9GcyhhLGIsZCk6RXMoKGImJmIucHJlZml4fHwiX2djbCIpKyJfZ2IiLGEsYix2b2lkIDAsZCk7cmV0dXJuIGUubGVuZ3RoPT09MHx8ZS5ldmVyeShmdW5jdGlvbihmKXtyZXR1cm4gZj09PTB9KT8iIjplLmpvaW4oIi4iKX07CnZhciBZcz1mdW5jdGlvbihhKXt2YXIgYjtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1raigiYWRzX3BhZ2V2aWV3IixmdW5jdGlvbigpe3JldHVybnt9fSk7aWYoY1thXSlyZXR1cm4hMTtifHwoY1thXT0hMCk7cmV0dXJuITB9LFpzPWZ1bmN0aW9uKGEpe3JldHVybiBTaihhLCJnY2xpZCBkY2xpZCBnYnJhaWQgd2JyYWlkIGdjbGF3IGdjbGRjIGdjbGhhIGdjbGdmIGdjbGdiIF9nbCIuc3BsaXQoIiAiKSwiMCIpfSxhdD1mdW5jdGlvbigpe3ZhciBhPVJqKEEubG9jYXRpb24uaHJlZiksYj12b2lkIDAsYz12b2lkIDAsZD1MaihhLCJxdWVyeSIsITEsdm9pZCAwLCJnYWRfc291cmNlIiksZT1MaihhLCJxdWVyeSIsITEsdm9pZCAwLCJnYWRfY2FtcGFpZ25pZCIpLGYsZz1hLmhhc2gucmVwbGFjZSgiIyIsIiIpLm1hdGNoKCRzKTtmPWc/Z1sxXTp2b2lkIDA7ZCYmZj8oYj1kLGM9MSk6ZD8oYj1kLGM9Mik6ZiYmKGI9ZixjPTMpO3JldHVybntEZzpiLFNyOmMsVGg6ZX19LGJ0PWZ1bmN0aW9uKGEpe3ZhciBiPQpPcCghMSk9PT0xP0EudG9wLmxvY2F0aW9uLmhyZWY6QS5sb2NhdGlvbi5ocmVmO3JldHVybiBhKGIpfSxjdD1mdW5jdGlvbihhKXt2YXIgYj1bXTtHYihhLGZ1bmN0aW9uKGMsZCl7ZD1ScihkKTtmb3IodmFyIGU9W10sZj0wO2Y8ZC5sZW5ndGg7ZisrKWUucHVzaChkW2ZdLmdjbGlkKTtlLmxlbmd0aCYmYi5wdXNoKGMrIjoiK2Uuam9pbigiLCIpKX0pO3JldHVybiBiLmpvaW4oIjsiKX0sZXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWR0KGEpO2lmKGQpcmV0dXJuIGQ7dmFyIGU9SHIoYik7aWYoZT09PSJfZ2NsIil7dmFyIGY9IVhvKGZwKSYmYyxnPVtdO2E9PT0iYXciP2c9YXMoQS5sb2NhdGlvbi5ocmVmLCEwLCExKTphPT09ImRjIiYmKGc9ZHMoQS5sb2NhdGlvbi5ocmVmLCEwLCExKSk7aWYoZy5sZW5ndGg+MClyZXR1cm4gZj9be3ZlcnNpb246IkdDTCIsdGltZXN0YW1wOjAsZ2NsaWQ6IjAifV06Zy5tYXAoZnVuY3Rpb24obCl7cmV0dXJue3ZlcnNpb246IkdDTCIsdGltZXN0YW1wOjAsCmdjbGlkOmwudmFsdWUscWE6bC5xYSxvYTpbMV19fSl9dmFyIGg9SXIoYSxlKTtyZXR1cm4gaD9hPT09ImF3Ij9FcihoLE0oNTYyKSk6WnIoaCk6W119LGR0PWZ1bmN0aW9uKGEpe3ZhciBiPVRqKCJnY2wiK2EpLGM9YT09PSJkYyJ8fGE9PT0iYXciP1RqKCJnY2wiK2ErIl9zcmMiKTp2b2lkIDA7aWYoYilyZXR1cm4gU3MoYixjKX0sZnQ9ZnVuY3Rpb24oYSxiLGMpe2lmKGE9PT0iYXcifHxhPT09ImRjInx8YT09PSJnYiIpe3ZhciBkPVRqKCJnY2wiK2EpO2lmKGQpcmV0dXJuIGQuc3BsaXQoIi4iKX12YXIgZT1IcihiKTtpZihlPT09Il9nY2wiKXt2YXIgZj0hWG8oZnApJiZjLGc7Zz1lcygpW2FdfHxbXTtpZihnLmxlbmd0aD4wKXJldHVybiBmP1siMCJdOmd9dmFyIGg9SXIoYSxlKTtyZXR1cm4gaD9EcihoKTpbXX0sZ3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKCFSKGEsYil8fCFSKGEsYykpcmV0dXJuIiI7dmFyIGQ9UihhLGIpLnNwbGl0KCIuIiksZT1SKGEsYykuc3BsaXQoIi4iKTtyZXR1cm4gZC5sZW5ndGgmJgplLmxlbmd0aCYmZC5sZW5ndGg9PT1lLmxlbmd0aCYmZFswXSYmZVswXT9kLm1hcChmdW5jdGlvbihmLGcpe3JldHVybiBmKyJfIitlW2ddfSkuam9pbigiLiIpOiIifSwkcz0vXmdhZF9zb3VyY2VbXz1dKFxkKykkLztmdW5jdGlvbiBodChhLGIsYyl7dmFyIGQ9UihhLEYuRC5UYSk7aWYoZCYmdHlwZW9mIGQ9PT0ib2JqZWN0Iilmb3IodmFyIGU9bShPYmplY3Qua2V5cyhkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWUsaD1kW2ddO2lmKGghPT12b2lkIDApe2g9PT1udWxsJiYoaD0iIik7dmFyIGw9ImdhcC4iK2csbj1TdHJpbmcoaCk7Yz9jKGwsbik6YltsXT1ufX19O3ZhciBpdD0hMSxqdD1bXTtmdW5jdGlvbiBrdCgpe2lmKCFpdCl7aXQ9ITA7Zm9yKHZhciBhPWp0Lmxlbmd0aC0xO2E+PTA7YS0tKWp0W2FdKCk7anQ9W119fTtmdW5jdGlvbiBsdChhKXt2YXIgYj1bXSxjPTAsZDtmb3IoZCBpbiBhKWJbYysrXT1hW2RdO3JldHVybiBifTtmdW5jdGlvbiBtdChhLGIsYyl7cmV0dXJuIHR5cGVvZiBhLmFkZEV2ZW50TGlzdGVuZXI9PT0iZnVuY3Rpb24iPyhhLmFkZEV2ZW50TGlzdGVuZXIoYixjLCExKSwhMCk6ITF9ZnVuY3Rpb24gbnQoYSxiLGMpe3R5cGVvZiBhLnJlbW92ZUV2ZW50TGlzdGVuZXI9PT0iZnVuY3Rpb24iJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjLCExKX07ZnVuY3Rpb24gb3QoYSxiLGMsZCl7ZD1kPT09dm9pZCAwPyExOmQ7YS5nb29nbGVfaW1hZ2VfcmVxdWVzdHN8fChhLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cz1bXSk7dmFyIGU9UHAoYS5kb2N1bWVudCk7aWYoYyl7dmFyIGY9ZnVuY3Rpb24oKXtpZihjKXt2YXIgZz1hLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cyxoPURjKGcsZSk7aD49MCYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGcsaCwxKX1udChlLCJsb2FkIixmKTtudChlLCJlcnJvciIsZil9O210KGUsImxvYWQiLGYpO210KGUsImVycm9yIixmKX1kJiYoZS5hdHRyaWJ1dGlvblNyYz0iIik7ZS5zcmM9YjthLmdvb2dsZV9pbWFnZV9yZXF1ZXN0cy5wdXNoKGUpfQpmdW5jdGlvbiBwdChhKXt2YXIgYjtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz0iaHR0cHM6Ly9wYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbS9wYWdlYWQvZ2VuXzIwND9pZD10Y2ZlIjtJcChhLGZ1bmN0aW9uKGQsZSl7aWYoZHx8ZD09PTApYys9IiYiK2UrIj0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZCkpfSk7cXQoYyxiKX0KZnVuY3Rpb24gcXQoYSxiKXt2YXIgYz13aW5kb3csZDtiPWI9PT12b2lkIDA/ITE6YjtkPWQ9PT12b2lkIDA/ITE6ZDtpZihjLmZldGNoKXt2YXIgZT17a2VlcGFsaXZlOiEwLGNyZWRlbnRpYWxzOiJpbmNsdWRlIixyZWRpcmVjdDoiZm9sbG93IixtZXRob2Q6ImdldCIsbW9kZToibm8tY29ycyJ9O2QmJihlLm1vZGU9ImNvcnMiLCJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGU/ZS5hdHRyaWJ1dGlvblJlcG9ydGluZz17ZXZlbnRTb3VyY2VFbGlnaWJsZToidHJ1ZSIsdHJpZ2dlckVsaWdpYmxlOiJmYWxzZSJ9OmUuaGVhZGVycz17IkF0dHJpYnV0aW9uLVJlcG9ydGluZy1FbGlnaWJsZSI6ImV2ZW50LXNvdXJjZSJ9KTtjLmZldGNoKGEsZSl9ZWxzZSBvdChjLGEsYj09PXZvaWQgMD8hMTpiLGQ9PT12b2lkIDA/ITE6ZCl9O2Z1bmN0aW9uIHJ0KCl7dGhpcy5mYT10aGlzLmZhO3RoaXMuUj10aGlzLlJ9cnQucHJvdG90eXBlLmZhPSExO3J0LnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5mYXx8KHRoaXMuZmE9ITAsdGhpcy5OKCkpfTtydC5wcm90b3R5cGVbU3ltYm9sLmRpc3Bvc2VdPWZ1bmN0aW9uKCl7dGhpcy5kaXNwb3NlKCl9O3J0LnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuZmE/YiE9PXZvaWQgMD9hLmNhbGwoYik6YSgpOih0aGlzLlJ8fCh0aGlzLlI9W10pLGImJihhPWEuYmluZChiKSksdGhpcy5SLnB1c2goYSkpfTtydC5wcm90b3R5cGUuTj1mdW5jdGlvbigpe2lmKHRoaXMuUilmb3IoO3RoaXMuUi5sZW5ndGg7KXRoaXMuUi5zaGlmdCgpKCl9O2Z1bmN0aW9uIHN0KGEpe2EuYWRkdGxDb25zZW50PT09dm9pZCAwfHx2ZihhLmFkZHRsQ29uc2VudCl8fChhLmFkZHRsQ29uc2VudD12b2lkIDApO2EuZ2RwckFwcGxpZXM9PT12b2lkIDB8fHdmKGEuZ2RwckFwcGxpZXMpfHwoYS5nZHByQXBwbGllcz12b2lkIDApO3JldHVybiBhLnRjU3RyaW5nIT09dm9pZCAwJiYhdmYoYS50Y1N0cmluZyl8fGEubGlzdGVuZXJJZCE9PXZvaWQgMCYmIXVmKGEubGlzdGVuZXJJZCk/MjphLmNtcFN0YXR1cyYmYS5jbXBTdGF0dXMhPT0iZXJyb3IiPzA6M312YXIgdHQ9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306YjtydC5jYWxsKHRoaXMpO3RoaXMuSD1udWxsO3RoaXMuamE9e307dGhpcy55YT0wO3RoaXMuWj1udWxsO3RoaXMuSz1hO3ZhciBjO3RoaXMudGltZW91dE1zPShjPWIudGltZW91dE1zKSE9bnVsbD9jOjUwMDt2YXIgZDt0aGlzLkVqPShkPWIuRWopIT1udWxsP2Q6ITF9O3dhKHR0LHJ0KTsKdHQucHJvdG90eXBlLk49ZnVuY3Rpb24oKXt0aGlzLmphPXt9O3RoaXMuWiYmKG50KHRoaXMuSywibWVzc2FnZSIsdGhpcy5aKSxkZWxldGUgdGhpcy5aKTtkZWxldGUgdGhpcy5qYTtkZWxldGUgdGhpcy5LO2RlbGV0ZSB0aGlzLkg7cnQucHJvdG90eXBlLk4uY2FsbCh0aGlzKX07dmFyIHZ0PWZ1bmN0aW9uKGEpe3JldHVybiB0eXBlb2YgYS5LLl9fdGNmYXBpPT09ImZ1bmN0aW9uInx8dXQoYSkhPW51bGx9Owp0dC5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9e2ludGVybmFsQmxvY2tPbkVycm9yczp0aGlzLkVqfSxkPUhwKGZ1bmN0aW9uKCl7YShjKX0pLGU9MDt0aGlzLnRpbWVvdXRNcyE9PS0xJiYoZT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSI7Yy5pbnRlcm5hbEVycm9yU3RhdGU9MTtkKCl9LHRoaXMudGltZW91dE1zKSk7dmFyIGY9ZnVuY3Rpb24oZyxoKXtjbGVhclRpbWVvdXQoZSk7Zz8oYz1nLGMuaW50ZXJuYWxFcnJvclN0YXRlPXN0KGMpLGMuaW50ZXJuYWxCbG9ja09uRXJyb3JzPWIuRWosaCYmYy5pbnRlcm5hbEVycm9yU3RhdGU9PT0wfHwoYy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSIsaHx8KGMuaW50ZXJuYWxFcnJvclN0YXRlPTMpKSk6KGMudGNTdHJpbmc9InRjdW5hdmFpbGFibGUiLGMuaW50ZXJuYWxFcnJvclN0YXRlPTMpO2EoYyl9O3RyeXt3dCh0aGlzLCJhZGRFdmVudExpc3RlbmVyIiwKZil9Y2F0Y2goZyl7Yy50Y1N0cmluZz0idGN1bmF2YWlsYWJsZSIsYy5pbnRlcm5hbEVycm9yU3RhdGU9MyxlJiYoY2xlYXJUaW1lb3V0KGUpLGU9MCksZCgpfX07dHQucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSl7YSYmYS5saXN0ZW5lcklkJiZ3dCh0aGlzLCJyZW1vdmVFdmVudExpc3RlbmVyIixudWxsLGEubGlzdGVuZXJJZCl9Owp2YXIgenQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2Q9ZD09PXZvaWQgMD8iNzU1IjpkO3ZhciBlO2E6e2lmKGEucHVibGlzaGVyJiZhLnB1Ymxpc2hlci5yZXN0cmljdGlvbnMpe3ZhciBmPWEucHVibGlzaGVyLnJlc3RyaWN0aW9uc1tiXTtpZihmIT09dm9pZCAwKXtlPWZbZD09PXZvaWQgMD8iNzU1IjpkXTticmVhayBhfX1lPXZvaWQgMH12YXIgZz1lO2lmKGc9PT0wKXJldHVybiExO3ZhciBoPWM7Yz09PTI/KGg9MCxnPT09MiYmKGg9MSkpOmM9PT0zJiYoaD0xLGc9PT0xJiYoaD0wKSk7dmFyIGw7aWYoaD09PTApaWYoYS5wdXJwb3NlJiZhLnZlbmRvcil7dmFyIG49eHQoYS52ZW5kb3IuY29uc2VudHMsZD09PXZvaWQgMD8iNzU1IjpkKTtsPW4mJmI9PT0iMSImJmEucHVycG9zZU9uZVRyZWF0bWVudCYmYS5wdWJsaXNoZXJDQz09PSJDSCI/ITA6biYmeHQoYS5wdXJwb3NlLmNvbnNlbnRzLGIpfWVsc2UgbD0hMDtlbHNlIGw9aD09PTE/YS5wdXJwb3NlJiZhLnZlbmRvcj94dChhLnB1cnBvc2UubGVnaXRpbWF0ZUludGVyZXN0cywKYikmJnh0KGEudmVuZG9yLmxlZ2l0aW1hdGVJbnRlcmVzdHMsZD09PXZvaWQgMD8iNzU1IjpkKTohMDohMDtyZXR1cm4gbH0seHQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4hKCFhfHwhYVtiXSl9LHd0PWZ1bmN0aW9uKGEsYixjLGQpe2N8fChjPWZ1bmN0aW9uKCl7fSk7dmFyIGU9YS5LO2lmKHR5cGVvZiBlLl9fdGNmYXBpPT09ImZ1bmN0aW9uIil7dmFyIGY9ZS5fX3RjZmFwaTtmKGIsMixjLGQpfWVsc2UgaWYodXQoYSkpe0F0KGEpO3ZhciBnPSsrYS55YTthLmphW2ddPWM7aWYoYS5IKXt2YXIgaD17fTthLkgucG9zdE1lc3NhZ2UoKGguX190Y2ZhcGlDYWxsPXtjb21tYW5kOmIsdmVyc2lvbjoyLGNhbGxJZDpnLHBhcmFtZXRlcjpkfSxoKSwiKiIpfX1lbHNlIGMoe30sITEpfSx1dD1mdW5jdGlvbihhKXtpZihhLkgpcmV0dXJuIGEuSDthLkg9TnAoYS5LLCJfX3RjZmFwaUxvY2F0b3IiKTtyZXR1cm4gYS5IfSxBdD1mdW5jdGlvbihhKXtpZighYS5aKXt2YXIgYj1mdW5jdGlvbihjKXtpZihjLnNvdXJjZT09PQphLkgpdHJ5e3ZhciBkO2Q9KHZmKGMuZGF0YSk/SlNPTi5wYXJzZShjLmRhdGEpOmMuZGF0YSkuX190Y2ZhcGlSZXR1cm47YS5qYVtkLmNhbGxJZF0oZC5yZXR1cm5WYWx1ZSxkLnN1Y2Nlc3MpfWNhdGNoKGUpe319O2EuWj1iO210KGEuSywibWVzc2FnZSIsYil9fSxCdD1mdW5jdGlvbihhKXtpZihhLmdkcHJBcHBsaWVzPT09ITEpcmV0dXJuITA7YS5pbnRlcm5hbEVycm9yU3RhdGU9PT12b2lkIDAmJihhLmludGVybmFsRXJyb3JTdGF0ZT1zdChhKSk7cmV0dXJuIGEuY21wU3RhdHVzPT09ImVycm9yInx8YS5pbnRlcm5hbEVycm9yU3RhdGUhPT0wP2EuaW50ZXJuYWxCbG9ja09uRXJyb3JzPyhwdCh7ZTpTdHJpbmcoYS5pbnRlcm5hbEVycm9yU3RhdGUpfSksITEpOiEwOmEuY21wU3RhdHVzIT09ImxvYWRlZCJ8fGEuZXZlbnRTdGF0dXMhPT0idGNsb2FkZWQiJiZhLmV2ZW50U3RhdHVzIT09InVzZXJhY3Rpb25jb21wbGV0ZSI/ITE6ITB9O3ZhciBDdD17MTowLDM6MCw0OjAsNzozLDk6MywxMDozfTtmdW5jdGlvbiBEdCgpe3JldHVybiBraigidGNmIixmdW5jdGlvbigpe3JldHVybnt9fSl9dmFyIEV0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0dChBLHt0aW1lb3V0TXM6LTF9KX07CmZ1bmN0aW9uIEZ0KCl7dmFyIGE9RHQoKSxiPUV0KCk7dnQoYikmJiFHdCgpJiYhSHQoKSYmUCgxMjQpO2lmKCFhLmFjdGl2ZSYmdnQoYikpe0d0KCkmJihhLmFjdGl2ZT0hMCxhLnB1cnBvc2VzPXt9LGEuY21wSWQ9MCxhLnRjZlBvbGljeVZlcnNpb249MCx0bCgpLmFjdGl2ZT0hMCxhLnRjU3RyaW5nPSJ0Y3VuYXZhaWxhYmxlIik7Y3AoKTt0cnl7Yi5hZGRFdmVudExpc3RlbmVyKGZ1bmN0aW9uKGMpe2lmKGMuaW50ZXJuYWxFcnJvclN0YXRlIT09MClJdChhKSxkcChbRi5ELmthLEYuRC5YYSxGLkQubWFdKSx0bCgpLmFjdGl2ZT0hMDtlbHNlIGlmKGEuZ2RwckFwcGxpZXM9Yy5nZHByQXBwbGllcyxhLmNtcElkPWMuY21wSWQsYS5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU9Yy5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGUsSHQoKSYmKGEuYWN0aXZlPSEwKSwhSnQoYyl8fEd0KCl8fEh0KCkpe2EudGNmUG9saWN5VmVyc2lvbj1jLnRjZlBvbGljeVZlcnNpb247dmFyIGQ7aWYoYy5nZHByQXBwbGllcz09PQohMSl7dmFyIGU9e30sZjtmb3IoZiBpbiBDdClDdC5oYXNPd25Qcm9wZXJ0eShmKSYmKGVbZl09ITApO2Q9ZTtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyl9ZWxzZSBpZihKdChjKSl7dmFyIGc9e30saDtmb3IoaCBpbiBDdClpZihDdC5oYXNPd25Qcm9wZXJ0eShoKSlpZihoPT09IjEiKXt2YXIgbCxuPWMscD17VXI6ITB9O3A9cD09PXZvaWQgMD97fTpwO2w9QnQobik/bi5nZHByQXBwbGllcz09PSExPyEwOm4udGNTdHJpbmc9PT0idGN1bmF2YWlsYWJsZSI/IXAuaWRwY0FwcGxpZXM6KHAuaWRwY0FwcGxpZXN8fG4uZ2RwckFwcGxpZXMhPT12b2lkIDB8fHAuVXIpJiYocC5pZHBjQXBwbGllc3x8dmYobi50Y1N0cmluZykmJm4udGNTdHJpbmcubGVuZ3RoKT96dChuLCIxIiwwKTohMDohMTtnWyIxIl09bH1lbHNlIGdbaF09enQoYyxoLEN0W2hdKTtkPWd9aWYoZCl7YS50Y1N0cmluZz1jLnRjU3RyaW5nfHwidGNlbXB0eSI7YS5wdXJwb3Nlcz1kO3ZhciBxPXt9LHI9KHFbRi5ELmthXT0KYS5wdXJwb3Nlc1siMSJdPyJncmFudGVkIjoiZGVuaWVkIixxKTthLmdkcHJBcHBsaWVzIT09ITA/KGRwKFtGLkQua2EsRi5ELlhhLEYuRC5tYV0pLHRsKCkuYWN0aXZlPSEwKToocltGLkQuWGFdPWEucHVycG9zZXNbIjMiXSYmYS5wdXJwb3Nlc1siNCJdPyJncmFudGVkIjoiZGVuaWVkIix0eXBlb2YgYS50Y2ZQb2xpY3lWZXJzaW9uPT09Im51bWJlciImJmEudGNmUG9saWN5VmVyc2lvbj49ND9yW0YuRC5tYV09YS5wdXJwb3Nlc1siMSJdJiZhLnB1cnBvc2VzWyI3Il0/ImdyYW50ZWQiOiJkZW5pZWQiOmRwKFtGLkQubWFdKSxWbyhyLHtldmVudElkOjB9LHtnZHByQXBwbGllczphP2EuZ2RwckFwcGxpZXM6dm9pZCAwLHRjU3RyaW5nOkt0KCl8fCIifSkpfX1lbHNlIGRwKFtGLkQua2EsRi5ELlhhLEYuRC5tYV0pfSl9Y2F0Y2goYyl7SXQoYSksZHAoW0YuRC5rYSxGLkQuWGEsRi5ELm1hXSksdGwoKS5hY3RpdmU9ITB9fX0KZnVuY3Rpb24gSXQoYSl7YS50eXBlPSJlIjthLnRjU3RyaW5nPSJ0Y3VuYXZhaWxhYmxlIn1mdW5jdGlvbiBKdChhKXtyZXR1cm4gYS5ldmVudFN0YXR1cz09PSJ0Y2xvYWRlZCJ8fGEuZXZlbnRTdGF0dXM9PT0idXNlcmFjdGlvbmNvbXBsZXRlInx8YS5ldmVudFN0YXR1cz09PSJjbXB1aXNob3duIn1mdW5jdGlvbiBHdCgpe3JldHVybiBBLmd0YWdfZW5hYmxlX3RjZl9zdXBwb3J0PT09ITB9ZnVuY3Rpb24gSHQoKXtyZXR1cm4gRHQoKS5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU9PT0hMH1mdW5jdGlvbiBLdCgpe3ZhciBhPUR0KCk7aWYoYS5hY3RpdmUpcmV0dXJuIGEudGNTdHJpbmd9ZnVuY3Rpb24gTHQoKXt2YXIgYT1EdCgpO2lmKGEuYWN0aXZlJiZhLmdkcHJBcHBsaWVzIT09dm9pZCAwKXJldHVybiBhLmdkcHJBcHBsaWVzPyIxIjoiMCJ9CmZ1bmN0aW9uIE10KGEpe2lmKCFDdC5oYXNPd25Qcm9wZXJ0eShTdHJpbmcoYSkpKXJldHVybiEwO3ZhciBiPUR0KCk7cmV0dXJuIGIuYWN0aXZlJiZiLnB1cnBvc2VzPyEhYi5wdXJwb3Nlc1tTdHJpbmcoYSldOiEwfTt2YXIgTnQ9W0YuRC5rYSxGLkQucmEsRi5ELm1hLEYuRC5YYV0sT3Q9e30sUHQ9KE90W0YuRC5rYV09MSxPdFtGLkQucmFdPTIsT3QpO2Z1bmN0aW9uIFF0KGEpe2lmKGE9PT12b2lkIDApcmV0dXJuIDA7c3dpdGNoKE8oYSxGLkQuUmMpKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlICExOnJldHVybiAzO2RlZmF1bHQ6cmV0dXJuIDJ9fWZ1bmN0aW9uIFJ0KCl7cmV0dXJuKE0oMTgzKT9MZigxNikuc3BsaXQoIn4iKTpMZigxNykuc3BsaXQoIn4iKSkuaW5kZXhPZih6bSgpKSE9PS0xJiZIYy5nbG9iYWxQcml2YWN5Q29udHJvbD09PSEwfWZ1bmN0aW9uIFN0KGEpe2lmKFJ0KCkpcmV0dXJuITE7dmFyIGI9UXQoYSk7aWYoYj09PTMpcmV0dXJuITE7c3dpdGNoKENsKEYuRC5YYSkpe2Nhc2UgMTpjYXNlIDM6cmV0dXJuITA7Y2FzZSAyOnJldHVybiExO2Nhc2UgNDpyZXR1cm4gYj09PTI7Y2FzZSAwOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fQpmdW5jdGlvbiBUdCgpe3JldHVybiBFbCgpfHwhQmwoRi5ELmthKXx8IUJsKEYuRC5yYSl9ZnVuY3Rpb24gVXQoKXt2YXIgYT17fSxiO2ZvcihiIGluIFB0KVB0Lmhhc093blByb3BlcnR5KGIpJiYoYVtQdFtiXV09Q2woYikpO3JldHVybiJHMSIreWYoYVsxXXx8MCkreWYoYVsyXXx8MCl9dmFyIFZ0PXt9LFd0PShWdFtGLkQua2FdPTAsVnRbRi5ELnJhXT0xLFZ0W0YuRC5tYV09MixWdFtGLkQuWGFdPTMsVnQpO2Z1bmN0aW9uIFh0KGEpe3N3aXRjaChhKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlICEwOnJldHVybiAzO2Nhc2UgITE6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19CmZ1bmN0aW9uIFl0KGEpe2Zvcih2YXIgYj0iMSIsYz0wO2M8TnQubGVuZ3RoO2MrKyl7dmFyIGQ9YixlLGY9TnRbY10sZz1BbC5kZWxlZ2F0ZWRDb25zZW50VHlwZXNbZl07ZT1nPT09dm9pZCAwPzA6V3QuaGFzT3duUHJvcGVydHkoZyk/MTJ8V3RbZ106ODt2YXIgaD10bCgpO2guYWNjZXNzZWRBbnk9ITA7dmFyIGw9aC5lbnRyaWVzW2ZdfHx7fTtlPWU8PDJ8WHQobC5pbXBsaWNpdCk7Yj1kKygiIisiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVotXyJbZV0rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW1h0KGwuZGVjbGFyZSk8PDR8WHQobC5kZWZhdWx0KTw8MnxYdChsLnVwZGF0ZSldKX12YXIgbj1iLHA9KFJ0KCk/MTowKTw8MyxxPShFbCgpPzE6MCk8PDIscj1RdChhKTtiPW4rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW3B8CnF8cl07cmV0dXJuIGIrPSIiKyIwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWi1fIltBbC5jb250YWluZXJTY29wZWREZWZhdWx0cy5hZF9zdG9yYWdlPDw0fEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzLmFuYWx5dGljc19zdG9yYWdlPDwyfEFsLmNvbnRhaW5lclNjb3BlZERlZmF1bHRzLmFkX3VzZXJfZGF0YV0rIjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iWyhBbC51c2VkQ29udGFpbmVyU2NvcGVkRGVmYXVsdHM/MTowKTw8MnxBbC5jb250YWluZXJTY29wZWREZWZhdWx0cy5hZF9wZXJzb25hbGl6YXRpb25dfWZ1bmN0aW9uIFp0KCl7cmV0dXJuIEJsKEYuRC5tYSk/ImEiOiItIn1mdW5jdGlvbiAkdCgpe3JldHVybiBCbSgpfHwoR3QoKXx8SHQoKSkmJkx0KCk9PT0iMSI/IjEiOiIwIn0KZnVuY3Rpb24gYXUoKXtyZXR1cm4oQm0oKT8hMDohKCFHdCgpJiYhSHQoKSkmJkx0KCk9PT0iMSIpfHwhQmwoRi5ELm1hKX0KZnVuY3Rpb24gYnUoKXt2YXIgYT0iMCIsYj0iMCIsYzt2YXIgZD1EdCgpO2M9ZC5hY3RpdmU/ZC5jbXBJZDp2b2lkIDA7dHlwZW9mIGM9PT0ibnVtYmVyIiYmYz49MCYmYzw9NDA5NSYmKGE9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2M+PjYmNjNdLGI9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2MmNjNdKTt2YXIgZT0iMCIsZjt2YXIgZz1EdCgpO2Y9Zy5hY3RpdmU/Zy50Y2ZQb2xpY3lWZXJzaW9uOnZvaWQgMDt0eXBlb2YgZj09PSJudW1iZXIiJiZmPj0wJiZmPD02MyYmKGU9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaLV8iW2ZdKTt2YXIgaD0wO0JtKCkmJihofD0xKTtMdCgpPT09IjEiJiYoaHw9Mik7R3QoKSYmKGh8PTQpO3ZhciBsO3ZhciBuPUR0KCk7bD1uLmVuYWJsZUFkdmVydGlzZXJDb25zZW50TW9kZSE9PQp2b2lkIDA/bi5lbmFibGVBZHZlcnRpc2VyQ29uc2VudE1vZGU/IjEiOiIwIjp2b2lkIDA7bD09PSIxIiYmKGh8PTgpO3RsKCkud2FpdFBlcmlvZFRpbWVkT3V0JiYoaHw9MTYpO3JldHVybiIxIithK2IrZSsiMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVotXyJbaF19O3ZhciBjdT17VUE6MSxBVzoyLERDOjMsRzo0LEdGOjUsR1Q6MTIsR1RNOjE0LEhBOjYsTUM6N307CmZ1bmN0aW9uIGR1KGEpe2E9YT09PXZvaWQgMD97fTphO3ZhciBiPUUoNSkuc3BsaXQoIi0iKVswXS50b1VwcGVyQ2FzZSgpLGMsZD17Y3RpZDpFKDUpLERvOkpmKDE1KSxJbzpFKDE0KSxMczpJZig3KT8yOjEsRHQ6YS5wZixjYW5vbmljYWxJZDpFKDYpLG50OihjPUFrKCkpPT1udWxsP3ZvaWQgMDpjLmNhbm9uaWNhbENvbnRhaW5lcklkLEV0OmEuVGc9PT12b2lkIDA/dm9pZCAwOmEuVGc/MTA6MTJ9O2QuY2Fub25pY2FsSWQhPT1hLm1jJiYoZC5tYz1hLm1jKTt2YXIgZT14aygpO2QuVXM9ZT9lLmNhbm9uaWNhbENvbnRhaW5lcklkOnZvaWQgMDtJZig0NSk/KGQuaGk9Y3VbYl0sZC5oaXx8KGQuaGk9MCkpOmQuaGk9RGo/MTM6MTA7SWYoNDcpPyhkLmJrPTAsZC5xcj0yKTpJZig1MCk/ZC5iaz0xOmQuYms9Mzt2YXIgZj1hLGc9ezY6ITF9O0pmKDU0KT09PTI/Z1s3XT0hMDpKZig1NCk9PT0xJiYoZ1syXT0hMCk7aWYoS2Mpe3ZhciBoPUxqKFJqKEtjKSwiaG9zdCIpO2gmJihnWzhdPQpoLm1hdGNoKC9eKHd3d1wuKT9nb29nbGV0YWdtYW5hZ2VyXC5jb20kLyk9PT1udWxsKX12YXIgbDtnWzldPShsPWYuZWYpIT1udWxsP2w6ITE7dmFyIG49RmsoKSxwO2dbMTBdPShwPW49PW51bGw/dm9pZCAwOm4uZnJvbUNvbnRhaW5lckV4ZWN1dGlvbikhPW51bGw/cDohMTtkLnpyPWc7cmV0dXJuIENmKGQsYS5Qbil9Owp2YXIgZnU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9bShldShhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWUsZj1SKGEsZSksZz1RKGEsSC5KLlllKTtNKDU4OSkmJmcmJihlPT09Ri5ELnphfHxlPT09Ri5ELlVhfHxlPT09Ri5ELlBlKSYmdHlwZW9mIGY9PT0ic3RyaW5nIiYmKGY9WnMoZikpO3ZhciBoPW9wKGUsZik7aCYmKCFnfHxlIT09Ri5ELkRkJiZlIT09Ri5ELktkJiZlIT09Ri5ELkVlJiZlIT09Ri5ELkJmfHwoaC52YWx1ZT0iMCIpLE0oNTA0KSYmKGU9PT1GLkQuTWQ/aC5rZXk9ImV2bmlkIjplPT09Ri5ELk5kJiYoaC5rZXk9ImV4Y2lkIikpLGJbaC5rZXldPWgudmFsdWUpfWIuZ3RtPWR1KHttYzpRKGEsSC5KLk5iKSxUZzphLk0uaXNHdG1FdmVudCxlZjpRKGEsSC5KLkNjKX0pO1R0KCkmJihiLmdjcz1iLmdjc3x8VXQoKSk7Yi5nY2Q9Yi5nY2R8fFl0KGEuTSk7YXUoKSYmKGIuZG1hX2Nwcz1adCgpKTtiLmRtYT0kdCgpO3Z0KEV0KCkpJiYKKGIudGNmZD1idSgpKTt2YXIgbD1DcChhKTtsJiYoYi50YWdfZXhwPWwpO2lmKFEoYSxILkouQmspKXtiLnRmdD1TdHJpbmcoTmIoKSk7dmFyIG49cGQoKTtuIT09dm9pZCAwJiYoYi50ZmQ9U3RyaW5nKE1hdGgucm91bmQobikpKX1iLmFwdmU9IjEiO2IuYXB2Zj1uZCgpPyJmIjoibmYiO2ZvLkhbY28uaWEuY2JdIT09Ym8uTWEuVWV8fGZvLktbY28uaWEuY2JdLmlzQ29uc2VudEdyYW50ZWQoKXx8KGIubGltaXRlZF9hZHM9IjEiKTt2YXIgcD1RKGEsSC5KLlhnKTtNKDQ3NCkmJnAhPW51bGwmJnAhPT0iIiYmKGIuX2dzaWQ9cCk7aHQoYSxiLGZ1bmN0aW9uKHEscil7YltxXT1lbmNvZGVVUklDb21wb25lbnQocil9KTtyZXR1cm4gYn07dmFyIGd1PWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5lbmRwb2ludD1hO3RoaXMuZmE9Yzt0aGlzLmphPWQ7dGhpcy5wYXJhbWV0ZXJFbmNvZGluZz1lO3RoaXMuWj1iLnNsaWNlKCl9O2d1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKCl7cmV0dXJuIFhvKHRoaXMuWil9O2d1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiEwfTtndS5wcm90b3R5cGUuUj1mdW5jdGlvbigpe3ZhciBhPU1tW3RoaXMuZW5kcG9pbnRdKHZvaWQgMCk7cmV0dXJuIFNiKGEsImh0dHBzOi8vIik/YS5zdWJzdHJpbmcoOCk6U2IoYSwiaHR0cDovLyIpP2Euc3Vic3RyaW5nKDcpOmF9O3ZhciBodT1mdW5jdGlvbihhLGIpe3RoaXMubWV0aG9kTmFtZT1hO3RoaXMuUj1ifTtodS5wcm90b3R5cGUuc2VuZFJlcXVlc3Q9ZnVuY3Rpb24oYSxiLGMpe2lmKHRoaXMuaXNTdXBwb3J0ZWQoKSlpZigoYz09bnVsbD92b2lkIDA6Yy5ib2R5KT09PXZvaWQgMHx8dGhpcy5IKCkpdHJ5e3RoaXMuSyhhLGIsYyl9Y2F0Y2goZCl7YS5yZChkKX1lbHNlIGEucmQoIlJlcXVlc3QgbWV0aG9kICIrdGhpcy5tZXRob2ROYW1lKyIgZG9lcyBub3Qgc3VwcG9ydCBhIHJlcXVlc3QgYm9keS4iKTtlbHNlIGEucmQoIlJlcXVlc3QgbWV0aG9kICIrdGhpcy5tZXRob2ROYW1lKyIgaXMgbm90IHN1cHBvcnRlZC4iKX07dmFyIGl1PWZ1bmN0aW9uKCl7aHUuY2FsbCh0aGlzLCJJbWFnZVBpeGVsIiwzKX07d2EoaXUsaHUpO2l1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiEwfTtpdS5wcm90b3R5cGUuSD1mdW5jdGlvbigpe3JldHVybiExfTsKaXUucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiLGMpe1pjKGIsZnVuY3Rpb24oKXthLmpmKCl9LGZ1bmN0aW9uKCl7YS5vbkZhaWx1cmUodm9pZCAwKX0sYz09bnVsbD92b2lkIDA6Yy5hZil9O3ZhciBqdT1mdW5jdGlvbigpe2h1LmNhbGwodGhpcywiU2VuZEJlYWNvbiIsMSl9O3dhKGp1LGh1KTtqdS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4ga2QoKX07anUucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07anUucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiLGMpe2pkKGIsYz09bnVsbD92b2lkIDA6Yy5ib2R5KT9hLmpmKCk6YS5yZCh2b2lkIDApfTt2YXIga3U9ZnVuY3Rpb24oKXtodS5jYWxsKHRoaXMsIkZldGNoIiwxKX07d2Eoa3UsaHUpO2t1LnByb3RvdHlwZS5pc1N1cHBvcnRlZD1mdW5jdGlvbigpe3JldHVybiB5YihBLmZldGNoKX07a3UucHJvdG90eXBlLkg9ZnVuY3Rpb24oKXtyZXR1cm4hMH07Cmt1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjKXtBLmZldGNoKGIsYz09bnVsbD92b2lkIDA6Yy5HYikudGhlbihmdW5jdGlvbihkKXtpZihkLm9rKWEucGUoZCk7ZWxzZSBpZihkLnN0YXR1cz09PTApYS5qZigpO2Vsc2UgYS5vbkZhaWx1cmUoIkZldGNoIGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlICIrZC5zdGF0dXMrIi4iKX0pLmNhdGNoKGZ1bmN0aW9uKGQpe2EucmQoZCl9KX07dmFyIGx1PW5ldyBpdSxtdT1uZXcganUsbnU9bmV3IGt1O3ZhciBvdT1mdW5jdGlvbigpe307b3UucHJvdG90eXBlLks9ZnVuY3Rpb24oKXtyZXR1cm5bXX07CnZhciBwdT1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9bImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXTpiO2d1LmNhbGwodGhpcyxhLGIsMSwhMCwyKX07d2EocHUsZ3UpO3B1LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEpe2lmKHRoaXMuWi5sZW5ndGgpe3ZhciBiPVEoYSxILkouRGspO2lmKGIhPT12b2lkIDApcmV0dXJuIGJ9cmV0dXJuIGd1LnByb3RvdHlwZS5LLmNhbGwodGhpcyxhKX07cHUucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1mdShhKTthLnRhcmdldC5kZXN0aW5hdGlvbklkJiYoYy50aWQ9YS50YXJnZXQuZGVzdGluYXRpb25JZCk7Yi5tZXRob2QgaW5zdGFuY2VvZiBrdT9jLmZtdD0iOCI6Yi5tZXRob2QgaW5zdGFuY2VvZiBqdT9jLmZtdD0iNSI6Yi5tZXRob2QgaW5zdGFuY2VvZiBpdSYmKGMuZm10PSIzIik7cmV0dXJuIGN9O3B1LnByb3RvdHlwZS55YT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuTihhLGIpO3JldHVybiI/IitPYmplY3Qua2V5cyhjKS5tYXAoZnVuY3Rpb24oZCl7cmV0dXJuIGQrCiI9IitjW2RdfSkuam9pbigiJiIpfTtwdS5wcm90b3R5cGUuSD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy55YShhLGIpLGU9e307aWYoYi5tZXRob2QgaW5zdGFuY2VvZiBrdSl7ZS5HYj1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGxkKTtpZih0aGlzLmVuZHBvaW50PT09NTh8fHRoaXMuZW5kcG9pbnQ9PT01NyllLkdiLm1ldGhvZD0iR0VUIjt0aGlzLmVuZHBvaW50IT09NDV8fHF1LksoYSl8fChlLkdiLmNyZWRlbnRpYWxzPSJvbWl0IixkKz0iJmdhcC51Y2ZiPTEiKX1jKGQsZSl9O3ZhciBxdT1uZXcgcHUoNDUpLHJ1PW5ldyBwdSg0NSxbXSksc3U9bmV3IHB1KDQ2LFtdKSx0dT1mdW5jdGlvbigpe3B1LmNhbGwodGhpcyw2OSl9O3dhKHR1LHB1KTt0dS5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oYSl7dmFyIGI9TSg0NzQpJiYoISFSKGEsIl9nc2lkIil8fCEhUShhLEguSi5YZykpLGM9UihhLEYuRC5IZCkhPT0iMSImJighIVIoYSwiZ2NsaWQiKXx8CiEhUihhLCJkY2xpZCIpfHwhIVIoYSwiZ2Nsc3JjIil8fCEhUihhLCJhdWlkIikpO3JldHVybiBifHxjfTt0dS5wcm90b3R5cGUuTj1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1KGEpLGQ9bHAoYSxjKXx8e307T2JqZWN0LmtleXMoZCkubGVuZ3RoPjAmJihiLm1ldGhvZCBpbnN0YW5jZW9mIGt1P2QuZm10PSI4IjpiLm1ldGhvZCBpbnN0YW5jZW9mIGp1P2QuZm10PSI1IjpiLm1ldGhvZCBpbnN0YW5jZW9mIGl1JiYoZC5mbXQ9IjMiKSk7cmV0dXJuIGR9O3ZhciB1dT1uZXcgdHUsdnU9ZnVuY3Rpb24oKXtwdS5jYWxsKHRoaXMsNDUpfTt3YSh2dSxwdSk7dnUucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtyZXR1cm4gWGooKSsiL2cvZC9jY20vY29sbGVjdCJ9O3Z1LnByb3RvdHlwZS5OPWZ1bmN0aW9uKGEsYil7dmFyIGM9cHUucHJvdG90eXBlLk4uY2FsbCh0aGlzLGEsYik7Y1siZ2FwLjFwZmIiXT0iMSI7cmV0dXJuIGN9O3ZhciB3dT1mdW5jdGlvbihhKXtwdS5jYWxsKHRoaXMsYSxbImFkX3N0b3JhZ2UiLAoiYWRfdXNlcl9kYXRhIl0pfTt3YSh3dSxwdSk7d3UucHJvdG90eXBlLk49ZnVuY3Rpb24oYSxiKXt2YXIgYz1wdS5wcm90b3R5cGUuTi5jYWxsKHRoaXMsYSxiKTtyZXR1cm4gaHAoYyl9O3ZhciB4dT1uZXcgd3UoNTgpLHl1PW5ldyB3dSg1NyksenU9ZnVuY3Rpb24oKXt9O3dhKHp1LG91KTt6dS5wcm90b3R5cGUuSD1mdW5jdGlvbihhKXt2YXIgYj1xdS5LKGEpLGM9Yj9xdTpzdSxkPVt7ZW5kcG9pbnQ6YyxtZXRob2Q6bmQoKT9udTptdX0se2VuZHBvaW50OmMsbWV0aG9kOmx1fV07Yj9NKDUxNykmJklmKDQ3KSYmZC5wdXNoKHtlbmRwb2ludDpuZXcgdnUsbWV0aG9kOm51fSk6TSg2MDApJiZkLnB1c2goe2VuZHBvaW50OnJ1LG1ldGhvZDpudX0pO3JldHVybiBkfTt6dS5wcm90b3R5cGUuSz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPSEhUShhLEguSi52ZCksZD1SKGEsRi5ELlBkKT09PSIxIixlPVIoYSxGLkQuSGQpPT09IjEiLGY9cXUuSyhhKSxnPWMmJmQmJiFlJiZmO2lmKGcpe3ZhciBoPQpRYygpfHxPYygpP3h1Onl1O2IucHVzaChbe2VuZHBvaW50OmgsbWV0aG9kOm51fSx7ZW5kcG9pbnQ6aCxtZXRob2Q6bHV9XSl9ZiYmKGd8fFEoYSxILkouaGQpKSYmYi5wdXNoKFt7ZW5kcG9pbnQ6dXUsbWV0aG9kOm5kKCk/bnU6bHV9XSk7cmV0dXJuIGJ9O3ZhciBBdT1uZXcgenU7dmFyIFQ9e1c6e0prOjEsbmo6MixGazozLG1sOjQsR2s6NSx5ZDo2LGtsOjcsTXE6OCxxbjo5LEhrOjEwLElrOjExLEZoOjEyLERtOjEzLEFtOjE0LENtOjE1LHptOjE2LEJtOjE3LHltOjE4LFRvOjE5LHhxOjIwLHlxOjIxLGZqOjIyLHVuOjI0LE9tOjI1LFNrOjI2LFRrOjI3LFJrOjI4LFVrOjI5LHJqOjMwLE9rOjMxLFpvOjMyfX07VC5XW1QuVy5Ka109IkFMTE9XX0lOVEVSRVNUX0dST1VQUyI7VC5XW1QuVy5ual09IlNFUlZFUl9DT05UQUlORVJfVVJMIjtULldbVC5XLkZrXT0iQURTX0RBVEFfUkVEQUNUSU9OIjtULldbVC5XLm1sXT0iQ1VTVE9NRVJfTElGRVRJTUVfVkFMVUUiO1QuV1tULlcuR2tdPSJBTExPV19DVVNUT01fU0NSSVBUUyI7VC5XW1QuVy55ZF09IkFOWV9DT09LSUVfUEFSQU1TIjtULldbVC5XLmtsXT0iQ09PS0lFX0VYUElSRVMiO1QuV1tULlcuTXFdPSJMRUdBQ1lfRU5IQU5DRURfQ09OVkVSU0lPTl9KU19WQVJJQUJMRSI7VC5XW1QuVy5xbl09IlJFU1RSSUNURURfREFUQV9QUk9DRVNTSU5HIjsKVC5XW1QuVy5Ia109IkFMTE9XX0RJU1BMQVlfRkVBVFVSRVMiO1QuV1tULlcuSWtdPSJBTExPV19HT09HTEVfU0lHTkFMUyI7VC5XW1QuVy5GaF09IkdFTkVSQVRFRF9UUkFOU0FDVElPTl9JRCI7VC5XW1QuVy5EbV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1VOS05PV04iO1QuV1tULlcuQW1dPSJGTE9PRExJR0hUX0NPVU5USU5HX01FVEhPRF9TVEFOREFSRCI7VC5XW1QuVy5DbV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1VOSVFVRSI7VC5XW1QuVy56bV09IkZMT09ETElHSFRfQ09VTlRJTkdfTUVUSE9EX1BFUl9TRVNTSU9OIjtULldbVC5XLkJtXT0iRkxPT0RMSUdIVF9DT1VOVElOR19NRVRIT0RfVFJBTlNBQ1RJT05TIjtULldbVC5XLnltXT0iRkxPT0RMSUdIVF9DT1VOVElOR19NRVRIT0RfSVRFTVNfU09MRCI7VC5XW1QuVy5Ub109IkFEU19PR1RfVjFfVVNBR0UiO1QuV1tULlcueHFdPSJGT1JNX0lOVEVSQUNUSU9OX1BFUk1JU1NJT05fREVOSUVEIjsKVC5XW1QuVy55cV09IkZPUk1fU1VCTUlUX1BFUk1JU1NJT05fREVOSUVEIjtULldbVC5XLmZqXT0iTUlDUk9UQVNLX05PVF9TVVBQT1JURUQiO1QuV1tULlcudW5dPSJTRVRfRU5DUllQVEVEX0RBVEFfVE9fQ0FDSEUiO1QuV1tULlcuT21dPSJHRVRfRU5DUllQVEVEX0RBVEFfRlJPTV9DQUNIRSI7VC5XW1QuVy5Ta109IkNPTkZJR19ERVRFQ1RFRF9XSVRIX05PX1BBUkFNIjtULldbVC5XLlRrXT0iQ09ORklHX0RFVEVDVEVEX1dJVEhfUEFSQU0iO1QuV1tULlcuUmtdPSJDT05GSUdfQ09OU0VOVF9TRVRfQkVGT1JFIjtULldbVC5XLlVrXT0iQ09ORklHX1NFVF9VU0VEX0JFRk9SRSI7VC5XW1QuVy5yal09IlNIQURPV19ET01fQVVUT19QSUkiO1QuV1tULlcuT2tdPSJDQ0RfVVNFUl9EQVRBX1dFQl9PTl9DT05GSUciO1QuV1tULlcuWm9dPSJCTEVOREVEX1VTRVJfREFUQSI7dmFyIEJ1PXt9LEN1PShCdVtGLkQudWldPVQuVy5KayxCdVtGLkQuZGRdPVQuVy5uaixCdVtGLkQueWNdPVQuVy5uaixCdVtGLkQubWJdPVQuVy5GayxCdVtGLkQuR2VdPVQuVy5tbCxCdVtGLkQucmldPVQuVy5HayxCdVtGLkQuSmRdPVQuVy55ZCxCdVtGLkQubmJdPVQuVy55ZCxCdVtGLkQuTGJdPVQuVy55ZCxCdVtGLkQuSWRdPVQuVy55ZCxCdVtGLkQudmNdPVQuVy55ZCxCdVtGLkQuVGJdPVQuVy55ZCxCdVtGLkQuQ2JdPVQuVy5rbCxCdVtGLkQuV2JdPVQuVy5xbixCdVtGLkQuaGhdPVQuVy5IayxCdVtGLkQuU2NdPVQuVy5JayxCdSksRHU9e30sRXU9KER1LnVua25vd249VC5XLkRtLER1LnN0YW5kYXJkPVQuVy5BbSxEdS51bmlxdWU9VC5XLkNtLER1LnBlcl9zZXNzaW9uPVQuVy56bSxEdS50cmFuc2FjdGlvbnM9VC5XLkJtLER1Lml0ZW1zX3NvbGQ9VC5XLnltLER1KTt2YXIgRnU9ZnVuY3Rpb24oYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO3NiKCJHVEFHX0VWRU5UX0ZFQVRVUkVfQ0hBTk5FTCIsYik7YyYmKGEuSFtiXT0hMCl9LHZiPW5ldyBmdW5jdGlvbigpe3RoaXMuSD1bXX07ZnVuY3Rpb24gR3UoYSl7RnUodmIsYSwhMSl9ZnVuY3Rpb24gSHUoYSxiKXt2YXIgYz1iPT09dm9pZCAwPyExOmIsZD12YjtjPWM9PT12b2lkIDA/ITE6Yztmb3IodmFyIGU9T2JqZWN0LmtleXMoYSksZj1tKE9iamVjdC5rZXlzKEN1KSksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7ZS5pbmNsdWRlcyhoKSYmRnUoZCxDdVtoXSxjKX19O2Z1bmN0aW9uIEl1KGEsYil7YT9hLnRoZW4oYik6Yih2b2lkIDApfWZ1bmN0aW9uIEp1KGEpe3JldHVybiBQcm9taXNlLmFsbFNldHRsZWQoYSkudGhlbihmdW5jdGlvbihiKXtyZXR1cm4gYi5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIGMuc3RhdHVzPT09ImZ1bGZpbGxlZCJ9KS5tYXAoZnVuY3Rpb24oYyl7cmV0dXJuIGMudmFsdWV9KX0pfWZ1bmN0aW9uIEt1KCl7dmFyIGEsYjtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihjLGQpe2E9YztiPWR9KSxyZXNvbHZlOmEscmVqZWN0OmJ9fTtmdW5jdGlvbiBMdShhLGIsYyxkLGUsZil7dmFyIGc9Yy5zbGljZSgpLGg7ZD09bnVsbHx8KGg9ZC51dik9PW51bGx8fGguY2FsbChkLGEsYixjLGUpO3ZhciBsPUt1KCksbj1sLnByb21pc2UscD1sLnJlc29sdmUscT1bXSxyPWZ1bmN0aW9uKCl7cChxKTt2YXIgdTtkPT1udWxsfHwodT1kLlJzKT09bnVsbHx8dS5jYWxsKGQsYSxiLGMsZSxxKX0sdD1mdW5jdGlvbigpe3ZhciB1PWcuc2hpZnQoKTt1P3UubWV0aG9kLmlzU3VwcG9ydGVkKCk/TXUoYSxiLHUuZW5kcG9pbnQsZCxxLHUubWV0aG9kLGUsZix0LHIpOnQoKTpyKCl9O3QoKTtyZXR1cm4gbn0KZnVuY3Rpb24gTXUoYSxiLGMsZCxlLGYsZyxoLGwsbil7dmFyIHA9Yy5SKGEpLHE9e3RrOmIsZW5kcG9pbnQ6Yyxpc1ByaW1hcnk6ZyxzYjp2b2lkIDAscGs6ZixqdDp7fX0scj0hMSx0PWZ1bmN0aW9uKHosQyl7aWYocilQKDE4Nyk7ZWxzZSBpZihyPSEwLCF1KXt2YXIgRD1DfHx7fSxJPUQuYm9keSxHPUQuR2IsTj1ELmFmO0M9T2JqZWN0LmZyZWV6ZShuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LEk/e2JvZHk6SX06e30sRz97R2I6R306e30sTj97YWY6Tn06e30pKTtpZihJJiYhZi5IKCkpeCgpLGwoKTtlbHNle3ZhciBTPU51KHopLFc9cFswXT09PSIvIj8iIitwK1M6Imh0dHBzOi8vIitwK1M7cS5zYj1XO3EuanQ9Qzt2YXIgZWE7ZD09bnVsbHx8KGVhPWQuU3MpPT1udWxsfHxlYS5jYWxsKGQsYSxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHEpKTt2YXIgamE9e2Rlc3RpbmF0aW9uSWQ6YS50YXJnZXQuZGVzdGluYXRpb25JZCxlbmRwb2ludDpjLmVuZHBvaW50LApldmVudElkOmEuTS5ldmVudElkLHByaW9yaXR5SWQ6YS5NLnByaW9yaXR5SWR9O2YuUj09PXZvaWQgMHx8Yy5mYSE9PTImJihjLmZhIT09MXx8ZS5sZW5ndGgpfHxrbi5yZWdpc3RlcihqYSxmLlIsVyk7dmFyIGZhPWZ1bmN0aW9uKGRhLG1hKXt4KCk7aWYocS5zdGF0dXMhPT12b2lkIDApcmV0dXJuIFAoMTkyKSwhMTtxLnN0YXR1cz1kYTtlLnB1c2gocSk7dmFyIFBhO2Q9PW51bGx8fChQYT1kLnVvKT09bnVsbHx8UGEuY2FsbChkLGEsbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxxKSxtYSk7cmV0dXJuITB9LHNhPXtGbzpqYSxyZDpmdW5jdGlvbigpe2ZhKDIpJiZsKCl9LG9uRmFpbHVyZTpmdW5jdGlvbigpe2ZhKDMpJiZsKCl9LHBlOmZ1bmN0aW9uKGRhKXtmYShkYS5zdGF0dXM9PT0wPzE6ZGEub2s/MDozLGRhKSYmbigpfSxqZjpmdW5jdGlvbigpe2ZhKDEpJiZuKCl9fTtPdShjLGEsVyxTLEkpO2Yuc2VuZFJlcXVlc3Qoc2EsVyxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LAp7fSxJJiZ7Ym9keTpJfSxHJiZ7R2I6R30sTiYme2FmOk59KSl9fX0sdT0hMSx2LHg9ZnVuY3Rpb24oKXt2IT09dm9pZCAwJiYoQS5jbGVhclRpbWVvdXQodiksdj12b2lkIDApfTtNKDU3NCkmJih2PUEuc2V0VGltZW91dChmdW5jdGlvbigpe3Y9dm9pZCAwO3U9ITA7aWYocS5zdGF0dXM9PT12b2lkIDApe3Euc3RhdHVzPTQ7cS5zYj09PXZvaWQgMCYmKHEuc2I9IltmYWlsZWQgdG8gYnVpbGRdICIrcCk7ZS5wdXNoKHEpO3ZhciB6O2Q9PW51bGx8fCh6PWQudW8pPT1udWxsfHx6LmNhbGwoZCxhLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30scSksdm9pZCAwKTtsKCl9fSw1RTMpKTt2YXIgeT17SWM6cCxtZXRob2Q6Zix5djplLGlzUHJpbWFyeTpnLEN0Omh9O3RyeXtjLkgoYSx5LHQpfWNhdGNoKHope3goKSxQKDE4OCksbCgpfX0KZnVuY3Rpb24gT3UoYSxiLGMsZCxlKXtpZihhLmphKXt2YXIgZj1iLnRhcmdldC5kZXN0aW5hdGlvbklkLGc9YS5lbmRwb2ludDtpZihnPT09NDV8fGc9PT00Nnx8Zz09PTY5fHxnPT09NTh8fGc9PT01Nyl7dmFyIGg9L1s/Jl10aWRzPShbXiZdKykvLmV4ZWMoZCk7Zj1oP2RlY29kZVVSSUNvbXBvbmVudChoWzFdKS5zcGxpdCgifiIpOltmXX1NbCh7dGFyZ2V0SWQ6ZixyZXF1ZXN0Om5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30se3VybDpjLHBhcmFtZXRlckVuY29kaW5nOmEucGFyYW1ldGVyRW5jb2RpbmcsZW5kcG9pbnQ6YS5lbmRwb2ludH0sZT97cG9zdEJvZHk6ZX06e30pLHFiOntldmVudElkOmIuTS5ldmVudElkLHByaW9yaXR5SWQ6Yi5NLnByaW9yaXR5SWR9LEZqOntldmVudElkOlEoYixILkoudWYpLHByaW9yaXR5SWQ6UShiLEguSi52Zil9fSl9fQpmdW5jdGlvbiBOdShhKXtyZXR1cm4gYSYmYSE9PSI/Ij9hWzBdIT09Ij8iPyI/Ii5jb25jYXQoYSk6YToiIn07ZnVuY3Rpb24gUHUoYSxiLGMsZCxlKXt2YXIgZjtlPT1udWxsfHwoZj1lLnZ2KT09bnVsbHx8Zi5jYWxsKGUsYSxiKTtpZighYy5sZW5ndGgpe3ZhciBnO2U9PW51bGx8fChnPWUuVHMpPT1udWxsfHxnLmNhbGwoZSxhLGIsW10pO3JldHVybiBQcm9taXNlLnJlc29sdmUoW10pfXZhciBoPVtdLGw9e3RrOmIsbWs6YyxqazpkfTtoLnB1c2goTHUoYSxiLGMsZSwhMCxsKSk7Zm9yKHZhciBuPW0oZCkscD1uLm5leHQoKTshcC5kb25lO3A9bi5uZXh0KCkpaC5wdXNoKEx1KGEsYixwLnZhbHVlLGUsITEsbCkpO3JldHVybiBKdShoKS50aGVuKGZ1bmN0aW9uKHEpe2Zvcih2YXIgcj1bXSx0PW0ocSksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpci5wdXNoLmFwcGx5KHIsdyh1LnZhbHVlKSk7dmFyIHY7ZT09bnVsbHx8KHY9ZS5Ucyk9PW51bGx8fHYuY2FsbChlLGEsYixyKTtyZXR1cm4gcn0pfTtmdW5jdGlvbiBRdShhLGIpe3ZhciBjPU9hLmFwcGx5KDIsYXJndW1lbnRzKSxkO2I9PW51bGx8fChkPWIud3YpPT1udWxsfHxkLmNhbGwoYixhLGMpO2Zvcih2YXIgZT1bXSxmPW0oYyksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpZS5wdXNoKFJ1KGEsZy52YWx1ZSkpO2Zvcih2YXIgaD1bXSxsPW0oZSksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7aC5wdXNoKFB1KGEscC50ayxwLm1rLHAuamssYikpfUp1KGgpLnRoZW4oZnVuY3Rpb24ocSl7Zm9yKHZhciByPVtdLHQ9bShxKSx1PXQubmV4dCgpOyF1LmRvbmU7dT10Lm5leHQoKSlyLnB1c2guYXBwbHkocix3KHUudmFsdWUpKTt2YXIgdjtiPT1udWxsfHwodj1iLlFzKT09bnVsbHx8di5jYWxsKGIsYSxjLHIpfSl9CmZ1bmN0aW9uIFJ1KGEsYil7dmFyIGM9ZnVuY3Rpb24oZil7cmV0dXJuIGYubWV0aG9kLmlzU3VwcG9ydGVkKCkmJmYuZW5kcG9pbnQuaXNTdXBwb3J0ZWQoYSkmJmYuZW5kcG9pbnQuSyhhKX0sZD0oYi5IKGEpfHxbXSkuZmlsdGVyKGMpLGU9W107ZC5sZW5ndGgmJihlPShiLksoYSl8fFtdKS5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIGYuZmlsdGVyKGMpfSkuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmLmxlbmd0aD4wfSkpO3JldHVybnt0azpiLG1rOmQsams6ZX19Owp2YXIgU3U9ZnVuY3Rpb24oYSxiKXtpZihNKDUxNykmJklmKDQ3KSYmYT09PTQ1KXJldHVybiBYaigpKyIvZy9kL2NjbS9jb2xsZWN0PyIrYi5zcGxpdCgiPyIpWzFdKyImZ2FwLjFwZmI9MSJ9LFd1PWZ1bmN0aW9uKCl7dmFyIGE9YWwoMzAsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGEubGVuZ3RoKXtmb3IodmFyIGI9e30sYz1tKGEpLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlLGY9VHUoZS5rZSwiYXB2YyIpLGc9VHUoZS5rZSwidGZ0IiksaD1UdShlLmtlLCJ0ZmQiKSxsPVR1KGUua2UsInRpZCIpLG49Tm0oZS5lbmRwb2ludCxlLmtlKSxwPWJbbl09YltuXXx8e3hrOltdLFpoOltdfTtwLlpoLnB1c2goZSk7bD8ocC54ay5wdXNoKGwpLHAudWR8fChwLnVkPWwpKTpwLnhrLnB1c2goIiIpO2Y9PT0iMSImJihwLlFuPSEwKTtpZihnfHxoKXAuTm49ITB9YS5sZW5ndGg9MDtmb3IodmFyIHE9bShPYmplY3Qua2V5cyhiKSkscj1xLm5leHQoKSx0PXt9OyFyLmRvbmU7dD0Ke3lrOnZvaWQgMH0scj1xLm5leHQoKSl7dmFyIHU9ci52YWx1ZSx2PWJbdV07dC55az12LnhrO3ZhciB4PXQueWsuZmlsdGVyKGZ1bmN0aW9uKEQpe3JldHVybiBmdW5jdGlvbihJLEcpe3JldHVybiBELnlrLmluZGV4T2YoSSk9PT1HfX0odCkpLmZpbHRlcihmdW5jdGlvbihEKXtyZXR1cm4hIUR9KTtpZihNKDQyNykpe3ZhciB5PVV1KHYseCk7UXUoeSx2b2lkIDAsQXUpfWVsc2V7dmFyIHo9dSsiJmFwdmM9Iisodi5Rbj8iMSI6IjAiKTt4Lmxlbmd0aCYmKHorPSImdGlkcz0iK3guam9pbigifiIpKTt2LnVkJiYoeis9IiZ0aWQ9Iit2LnVkKTtpZih2Lk5uKXt6Kz0iJnRmdD0iK1N0cmluZyhOYigpKTt2YXIgQz1wZCgpO0MhPT12b2lkIDAmJih6Kz0iJnRmZD0iK1N0cmluZyhNYXRoLnJvdW5kKEMpKSl9VnUodi5aaFswXS5ldmVudCx6LHYuWmhbMF0uZW5kcG9pbnQseC5sZW5ndGg/eDpbIiJdKX19fX0sVHU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hW2JdO2lmKGMhPT12b2lkIDApcmV0dXJuIGRlbGV0ZSBhW2JdLApjfSxWdT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmMsZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxmPWZ1bmN0aW9uKGwsbil7dmFyIHA9YitYdShsKTtUbChwLGEsYyxkKTtyZXR1cm4gbihwKX07aWYobmQoKSl7dmFyIGc9ZnVuY3Rpb24oKXt9LGg9U3UoYyxiKTtoIT09dm9pZCAwJiYoZz1mdW5jdGlvbigpe1luKGUsaCtYdSg4KSx2b2lkIDAse1FnOiEwfSl9KTtmKDgsZnVuY3Rpb24obCl7WW4oZSxsLHZvaWQgMCx7UWc6ITB9LGZ1bmN0aW9uKCl7fSxmdW5jdGlvbigpe1pjKGIrWHUoMyksZnVuY3Rpb24oKXt9LGcpfSl9KX1lbHNlIGYoNSxmdW5jdGlvbihsKXtyZXR1cm4gV24oZSxsKX0pfHxaYyhiK1h1KDMpKX0sVXU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLlpoWzBdLGQ9eyJfJmFwdmMiOmEuUW4/IjEiOiIwIn07Yi5sZW5ndGg+MCYmKGRbIl8mdGlkcyJdPQpiLmpvaW4oIn4iKSk7aWYoYS5Obil7ZFsiXyZ0ZnQiXT1TdHJpbmcoTmIoKSk7dmFyIGU9cGQoKTtlIT09dm9pZCAwJiYoZFsiXyZ0ZmQiXT1TdHJpbmcoTWF0aC5yb3VuZChlKSkpfXJldHVybiBZdShjLmV2ZW50LGEudWR8fCIiLGQpfSxZdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxhLnRhcmdldCx7ZGVzdGluYXRpb25JZDpifSksZT1adShhLHt0YXJnZXQ6ZH0pO2J8fFUoZSxGLkQuUWUpO2Zvcih2YXIgZj1tKE9iamVjdC5rZXlzKGMpKSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZTtVKGUsaCxjW2hdKX1yZXR1cm4gZX0sWHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgODpjYXNlIDM6Y2FzZSA1OnJldHVybiImZm10PSIrYTtkZWZhdWx0OnJldHVybiIifX0sJHU9ZnVuY3Rpb24oYSxiKXthPVp1KGEpO1YoYSxILkouRGssWG8oZnApKTtUdCgpJiZVKGEsIl8mZ2NzIixVdCgpKTsKVShhLCJfJmdjZCIsWXQoYS5NKSk7dmFyIGM9WG8oZnApPzQ1OjQ2LGQ9ZnVuY3Rpb24oKXt2YXIgZj1iLnRpZDtpZihNKDQyNykpe3ZhciBnPVl1KGEsZixiKTtRdShnLHZvaWQgMCxBdSl9ZWxzZXt2YXIgaD1ObShjLGIpO1Z1KGEsaCxjLFtmXSl9fTtpZih5YihBLnF1ZXVlTWljcm90YXNrKSl7dmFyIGU9YWwoMzAsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGUubGVuZ3RoPT09MCl0cnl7QS5xdWV1ZU1pY3JvdGFzayhXdSl9Y2F0Y2goZil7R3UoVC5XLmZqKTtkKCk7cmV0dXJufWI9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxiKTtlLnB1c2goe2V2ZW50OmEsa2U6YixlbmRwb2ludDpjfSl9ZWxzZSBHdShULlcuZmopLGQoKX07dmFyIFg9e1Y6e01rOiJjYWxsX2NvbnZlcnNpb24iLHpkOiJjY21fY29udmVyc2lvbiIsUWs6ImNvbW1vbl9hdyIseGE6ImNvbnZlcnNpb24iLHdxOiJmbG9vZGxpZ2h0IixZZDoiZ2FfY29udmVyc2lvbiIsWmQ6ImdjcF9yZW1hcmtldGluZyIsS2E6InBhZ2VfdmlldyIsdWI6InJlbWFya2V0aW5nIixPYjoidXNlcl9kYXRhX2xlYWQiLEZiOiJ1c2VyX2RhdGFfd2ViIn19O2Z1bmN0aW9uIGJ2KGEsYil7YiYmR2IoYixmdW5jdGlvbihjLGQpe3R5cGVvZiBkIT09Im9iamVjdCImJmQhPT12b2lkIDAmJihhWyIxcC4iK2NdPVN0cmluZyhkKSl9KX07dmFyIG12PXtOZzoidmFsdWUiLHBiOiJjb252ZXJzaW9uQ291bnQiLE9nOjF9LG52PXtOZzoidGltZW91dHMiLHBiOiJ0aW1lb3V0cyIsT2c6MH0sb3Y9e05nOiJlb3BDb3VudCIscGI6ImVuZE9mUGFnZUNvdW50IixPZzowfSxwdj17Tmc6ImVycm9ycyIscGI6ImVycm9ycyIsT2c6MH0scXY9W212LG52LHB2LG92XTtmdW5jdGlvbiBydihhLGIpe2I9Yj09PXZvaWQgMD8xOmI7aWYoIXN2KGEpKXJldHVybnt9O3ZhciBjPXR2KHF2KSxkPWNbYS5wYl07aWYoZD09PXZvaWQgMHx8ZD09PS0xKXJldHVybiBjO3ZhciBlPXt9LGY9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxjLChlW2EucGJdPWQrYixlKSk7cmV0dXJuIHV2KGYpP2Y6Y30KZnVuY3Rpb24gdHYoYSl7dmFyIGI7YTp7dmFyIGM9bnIoImdjbF9jdHIiKTtpZihjLmVycm9yPT09MCYmYy52YWx1ZSYmdHlwZW9mIGMudmFsdWU9PT0ib2JqZWN0Iil7dmFyIGQ9Yy52YWx1ZTt0cnl7Yj0idmFsdWUiaW4gZCYmdHlwZW9mIGQudmFsdWU9PT0ib2JqZWN0Ij9kLnZhbHVlOnZvaWQgMDticmVhayBhfWNhdGNoKHApe319Yj12b2lkIDB9Zm9yKHZhciBlPWIsZj17fSxnPW0oYSksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciBsPWgudmFsdWU7aWYoZSYmc3YobCkpe3ZhciBuPWVbbC5OZ107bj09PXZvaWQgMHx8TnVtYmVyLmlzTmFOKG4pP2ZbbC5wYl09LTE6ZltsLnBiXT1OdW1iZXIobil9ZWxzZSBmW2wucGJdPS0xfXJldHVybiBmfQpmdW5jdGlvbiB1dihhLGIpe2I9Ynx8e307Zm9yKHZhciBjPU5iKCksZD11cShiLGMsITApLGU9e30sZj1tKHF2KSxnPWYubmV4dCgpOyFnLmRvbmU7Zz1mLm5leHQoKSl7dmFyIGg9Zy52YWx1ZSxsPWFbaC5wYl07bCE9PXZvaWQgMCYmbCE9PS0xJiYoZVtoLk5nXT1sKX1lLmNyZWF0aW9uVGltZU1zPWM7cmV0dXJuIGtyKCJnY2xfY3RyIix7dmFsdWU6ZSxleHBpcmVzOk51bWJlcihkLmV4cGlyZXMpfSk9PT0wPyEwOiExfWZ1bmN0aW9uIHN2KGEpe3JldHVybiBCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSk/IWEuZnR8fFlmKGEuZnQpOiExfWZ1bmN0aW9uIHZ2KGEpe3JldHVybiBCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSk/IWEuQXN8fFlmKGEuQXMpOiExfTtmdW5jdGlvbiB3digpe2lmKHh2KCkpe3ZhciBhPW5yKCJsYXN0X2NvbnZzIik7aWYoYS5lcnJvcj09PTAmJmEudmFsdWUmJnR5cGVvZiBhLnZhbHVlPT09Im9iamVjdCIpe3ZhciBiPWEudmFsdWU7aWYoYi52YWx1ZSYmQXJyYXkuaXNBcnJheShiLnZhbHVlKSl7dmFyIGM9Yi52YWx1ZTtpZighKGMubGVuZ3RoPjEpKXtmb3IodmFyIGQ9W10sZT1tKGMpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlO2lmKHR5cGVvZiBnIT09Im9iamVjdCJ8fGc9PT1udWxsfHx0eXBlb2YgZy5yYW5kb20hPT0ibnVtYmVyInx8dHlwZW9mIGcubGFiZWwhPT0ic3RyaW5nInx8Zy5sYWJlbC5sZW5ndGg+MjAwKXJldHVybjtkLnB1c2goe3JhbmRvbTpnLnJhbmRvbSxsYWJlbDpnLmxhYmVsfSl9cmV0dXJuIGR9fX19fQpmdW5jdGlvbiB5dihhLGIpeyF4digpfHxhLmxlbmd0aD4xfHxhLmxlbmd0aD09PTEmJmFbMF0ubGFiZWwubGVuZ3RoPjIwMHx8KGI9Ynx8e30sa3IoImxhc3RfY29udnMiLHt2YWx1ZTphLGV4cGlyZXM6TnVtYmVyKHVxKGIpLmV4cGlyZXMpfSkpfWZ1bmN0aW9uIHh2KCl7cmV0dXJuIEJsKFsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdKSYmWWYoMTEpfTtmdW5jdGlvbiB6dihhKXt2YXIgYj1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqMjE0NzQ4MzY0Nyk7cmV0dXJuIGE/U3RyaW5nKGJebmcoYSkmMjE0NzQ4MzY0Nyk6U3RyaW5nKGIpfWZ1bmN0aW9uIEF2KGEpe3JldHVyblt6dihhKSxNYXRoLnJvdW5kKE5iKCkvMUUzKV0uam9pbigiLiIpfWZ1bmN0aW9uIEJ2KGEsYixjLGQsZSl7dmFyIGY9cnEoYiksZztyZXR1cm4oZz1ncShhLGYsc3EoYyksZCxlKSk9PW51bGw/dm9pZCAwOmcuQ3J9O3ZhciBDdj1bIjEiXSxEdj17fSxFdj17fTtmdW5jdGlvbiBGdihhKXtyZXR1cm4gRXZbR3YoYSldfWZ1bmN0aW9uIEh2KGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7dmFyIGM9R3YoYS5wcmVmaXgpO2lmKER2W2NdKUl2KGEpLEp2KGEpO2Vsc2UgaWYoS3YoYyxhLnBhdGgsYS5kb21haW4pKXt2YXIgZD1GdihhLnByZWZpeCl8fHtpZDp2b2lkIDAsa2M6dm9pZCAwfTtiJiZMdihhLGQpO0l2KGEpO0p2KGEpfWVsc2V7dmFyIGU9VGooImF1aWRkYyIpO2lmKGUpc2IoIlRBR0dJTkciLDE3KSxEdltjXT1lO2Vsc2UgaWYoYil7dmFyIGY9R3YoYS5wcmVmaXgpLGc9QXYoKTtNdihmLGcsYSk7S3YoYyxhLnBhdGgsYS5kb21haW4pO0l2KGEsITApO0p2KGEsITApfX19CmZ1bmN0aW9uIEl2KGEsYil7KGI9PT12b2lkIDA/MDpiKSYmc3YobXYpJiZvcigiZ2NsX2N0ciIpO2lmKHZ2KG12KSYmdHYoW212XSlbbXYucGJdPT09LTEpe2Zvcih2YXIgYz17fSxkPShjW212LnBiXT0wLGMpLGU9bShxdiksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7ZyE9PW12JiZ2dihnKSYmKGRbZy5wYl09MCl9dXYoZCxhKX19ZnVuY3Rpb24gSnYoYSxiKXsoYj09PXZvaWQgMD8wOmIpJiZ4digpJiZvcigibGFzdF9jb252cyIpOyFCbChbImFkX3N0b3JhZ2UiLCJhZF91c2VyX2RhdGEiXSl8fCFZZigxMil8fHd2KCl8fHl2KFtdLGEpfQpmdW5jdGlvbiBMdihhLGIpe3ZhciBjPUd2KGEucHJlZml4KSxkPUR2W2NdO2lmKGQpe3ZhciBlPWQuc3BsaXQoIi4iKTtpZihlLmxlbmd0aD09PTIpe3ZhciBmPU51bWJlcihlWzFdKXx8MDtpZihmKXt2YXIgZz1kO1lmKDE5KSYmYi5maT9nPWQrIi4iKyhiLnNlc3Npb25JZHx8Ii0uLSIpKyIuIisoYi5rYz9iLmtjOk1hdGguZmxvb3IoTmIoKS8xRTMpKSsiLiIrYi5maSsiLiIrKGIuTGM/Yi5MYzpNYXRoLmZsb29yKE5iKCkvMUUzKSk6Yi5zZXNzaW9uSWQmJihnPWQrIi4iK2Iuc2Vzc2lvbklkKyIuIisoYi5rYz9iLmtjOk1hdGguZmxvb3IoTmIoKS8xRTMpKSk7TXYoYyxnLGEsZioxRTMpfX19fWZ1bmN0aW9uIE12KGEsYixjLGQpe3ZhciBlO2U9WyIxIix0cShjLmRvbWFpbixjLnBhdGgpLGJdLmpvaW4oIi4iKTt2YXIgZj11cShjLGQpO2YuTWM9TnYoKTtvcShhLGUsZil9CmZ1bmN0aW9uIEt2KGEsYixjKXt2YXIgZD1CdihhLGIsYyxDdixOdigpKTtpZighZClyZXR1cm4hMTtPdihhLGQpO3JldHVybiEwfWZ1bmN0aW9uIE92KGEsYil7dmFyIGM9Yi5zcGxpdCgiLiIpO2lmKGMubGVuZ3RoPT09MylFdlthXT17c2Vzc2lvbklkOmNbMF0rIi4iK2NbMV0sa2M6TnVtYmVyKGNbMl0pfHwwLExjOjB9O2Vsc2UgaWYoYy5sZW5ndGg+PTImJihEdlthXT1jWzBdKyIuIitjWzFdLGMuc2hpZnQoKSxjLnNoaWZ0KCksYy5sZW5ndGg+PTMpKXt2YXIgZD17c2Vzc2lvbklkOmNbMF09PT0iLSI/dm9pZCAwOmNbMF0rIi4iK2NbMV0sa2M6TnVtYmVyKGNbMl0pfHwwLExjOjB9O2lmKFlmKDE5KSYmYy5sZW5ndGg+PTYpe3ZhciBlPWNbM10rIi4iK2NbNF0sZj1OdW1iZXIoY1s1XSl8fDA7ZSYmZiE9PTAmJihkLmZpPWUsZC5MYz1mKX1FdlthXT1kfX1mdW5jdGlvbiBHdihhKXtyZXR1cm4oYXx8Il9nY2wiKSsiX2F1In0KZnVuY3Rpb24gUHYoYSl7ZnVuY3Rpb24gYigpe0JsKGMpJiZhKCl9dmFyIGM9TnYoKTtIbChmdW5jdGlvbigpe2IoKTtCbChjKXx8SWwoYixjKX0sYyl9ZnVuY3Rpb24gUXYoYSl7dmFyIGI9VXEoITApLGM9R3YoYS5wcmVmaXgpO1B2KGZ1bmN0aW9uKCl7dmFyIGQ9YltjXTtpZihkKXtPdihjLGQpO3ZhciBlPU51bWJlcihEdltjXS5zcGxpdCgiLiIpWzFdKSoxRTM7aWYoZSl7c2IoIlRBR0dJTkciLDE2KTt2YXIgZj11cShhLGUpO2YuTWM9TnYoKTt2YXIgZz1bIjEiLHRxKGEuZG9tYWluLGEucGF0aCksZF0uam9pbigiLiIpO29xKGMsZyxmKX19fSl9ZnVuY3Rpb24gUnYoYSxiLGMsZCxlKXtlPWV8fHt9O3ZhciBmPWZ1bmN0aW9uKCl7dmFyIGc9e30saD1CdihhLGUucGF0aCxlLmRvbWFpbixDdixOdigpKTtoJiYoZ1thXT1oKTtyZXR1cm4gZ307UHYoZnVuY3Rpb24oKXthcihmLGIsYyxkKX0pfQpmdW5jdGlvbiBOdigpe3JldHVyblsiYWRfc3RvcmFnZSIsImFkX3VzZXJfZGF0YSJdfTt2YXIgVnY9ImVtYWlsIGVtYWlsX2FkZHJlc3Mgc2hhMjU2X2VtYWlsX2FkZHJlc3MgcGhvbmVfbnVtYmVyIHNoYTI1Nl9waG9uZV9udW1iZXIgZmlyc3RfbmFtZSBsYXN0X25hbWUiLnNwbGl0KCIgIiksV3Y9ImZpcnN0X25hbWUgc2hhMjU2X2ZpcnN0X25hbWUgbGFzdF9uYW1lIHNoYTI1Nl9sYXN0X25hbWUgc3RyZWV0IHNoYTI1Nl9zdHJlZXQgY2l0eSByZWdpb24gY291bnRyeSBwb3N0YWxfY29kZSIuc3BsaXQoIiAiKTtmdW5jdGlvbiBYdihhLGIpe2lmKCFiLl90YWdfbWV0YWRhdGEpe2Zvcih2YXIgYz17fSxkPTAsZT0wO2U8YS5sZW5ndGg7ZSsrKWQrPVl2KGFbZV0sYixjKT8xOjA7ZD4wJiYoYi5fdGFnX21ldGFkYXRhPWMpfX0KZnVuY3Rpb24gWXYoYSxiLGMpe3ZhciBkPWJbYV07aWYoZD09PXZvaWQgMHx8ZD09PW51bGwpcmV0dXJuITE7Y1thXT1BcnJheS5pc0FycmF5KGQpP2QubWFwKGZ1bmN0aW9uKCl7cmV0dXJue21vZGU6ImMifX0pOnttb2RlOiJjIn07cmV0dXJuITB9ZnVuY3Rpb24gWnYoYSl7aWYoTSg1MjMpJiZhKXtYdihWdixhKTtmb3IodmFyIGI9QmIoYS5hZGRyZXNzKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY107ZCYmWHYoV3YsZCl9dmFyIGU9YS5ob21lX2FkZHJlc3M7ZSYmWHYoV3YsZSl9fQpmdW5jdGlvbiAkdihhLGIsYyl7ZnVuY3Rpb24gZChmLGcpe2c9U3RyaW5nKGcpLnN1YnN0cmluZygwLDEwMCk7ZS5wdXNoKCIiK2YrZW5jb2RlVVJJQ29tcG9uZW50KGcpKX1pZighYylyZXR1cm4iIjt2YXIgZT1bXTtkKCJpIixTdHJpbmcoYSkpO2QoImYiLGIpO2MubW9kZSYmZCgibSIsYy5tb2RlKTtjLmlzUHJlSGFzaGVkJiZkKCJwIiwiMSIpO2MucmF3TGVuZ3RoJiZkKCJyIixTdHJpbmcoYy5yYXdMZW5ndGgpKTtjLm5vcm1hbGl6ZWRMZW5ndGgmJmQoIm4iLFN0cmluZyhjLm5vcm1hbGl6ZWRMZW5ndGgpKTtjLmxvY2F0aW9uJiZkKCJsIixjLmxvY2F0aW9uKTtjLnNlbGVjdG9yJiZkKCJzIixjLnNlbGVjdG9yKTtyZXR1cm4gZS5qb2luKCIuIil9O3ZhciBhdz12b2lkIDA7ZnVuY3Rpb24gYncoKXtpZighYXcpe3ZhciBhPW9tKGptLmJhLm9wLG5ldyBNYXApO2F3PW5ldyBvZyhhKX1yZXR1cm4gYXd9Owp2YXIgY3c9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIGE7Zm9yKHZhciBiPXt9LGM9bShPYmplY3Qua2V5cyhhKSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWU7ZSE9PSJhZGRyZXNzIiYmZSE9PSJwaG9uZV9udW1iZXIiJiZlIT09InNoYTI1Nl9waG9uZV9udW1iZXIiJiYoYltlXT1hW2VdKX1yZXR1cm4gYn0sZnc9ZnVuY3Rpb24oYSl7dmFyIGI9TSg1MjMpLGM9WyJ0di4xIl0sZD1bInR2ZC4xIl0sZT1kdyhhKTtpZihlKXJldHVybiBjLnB1c2goZSkse2hhc1VwZDohMSxPbzpjLmpvaW4oIn4iKSxZbjpjLmpvaW4oIn4iKSxlbmNyeXB0aW9uS2V5U3RyaW5nOnZvaWQgMCxpaTp7fSxtZXRhZGF0YVBhcmFtOmI/ZC5qb2luKCJ+Iik6dm9pZCAwfTt2YXIgZj17fSxnPTA7dmFyIGg9MCxsPWV3KGEsZnVuY3Rpb24ocSxyLHQpe2grKzt2YXIgdT1xLnZhbHVlLHY7CmlmKHQpe3ZhciB4PXIrIl9fIitnKys7dj0iJHt1c2VyRGF0YS4iK3grInxzaGEyNTZ9IjtmW3hdPXV9ZWxzZSB2PWVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodSkpO3EuaW5kZXghPT12b2lkIDAmJihyKz1xLmluZGV4KTtjLnB1c2gocisiLiIrdik7aWYoYil7dmFyIHk9JHYoaCxyLHEubWV0YWRhdGEpO3kmJmQucHVzaCh5KX19KS5oYXNVcGQsbj1kLmpvaW4oIn4iKTt2YXIgcD1jLmpvaW4oIn4iKTtyZXR1cm57aGFzVXBkOmwsT286cCxpaTp7dXNlckRhdGE6Zn0sWW46InR2LjF+JHsiKyhwKyJ8IisoTSg1NTUpPyJlbmNyeXB0X3dpdGhfbWVtbyI6ImVuY3J5cHQiKSsifSIpLGVuY3J5cHRpb25LZXlTdHJpbmc6RSg0MyksbWV0YWRhdGFQYXJhbTpiP246dm9pZCAwfX0saHc9ZnVuY3Rpb24oYSl7aWYoIShhIT1udWxsJiZPYmplY3Qua2V5cyhhKS5sZW5ndGg+MCkpcmV0dXJuITE7CnZhciBiPWd3KGEpO3JldHVybiBldyhiLGZ1bmN0aW9uKCl7fSkuaGFzVXBkfSxldz1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD9mdW5jdGlvbigpe306Yjtmb3IodmFyIGM9ITEsZD0hMSxlPW0oYSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7aWYoZy52YWx1ZSl7dmFyIGg9aXdbZy5uYW1lXTtpZihoKXt2YXIgbD1qdyhnKTtsJiYoYz0hMCk7ZD0hMDtiKGcsaCxsKX19fXJldHVybntoYXNVcGQ6ZCxoYXNVcGRUb0hhc2g6Y319LGp3PWZ1bmN0aW9uKGEpe3ZhciBiPWt3KGEubmFtZSksYz0vXmVcZCskLy50ZXN0KGEudmFsdWUpLGQ7aWYoZD1iJiYhYyl7dmFyIGU9YS52YWx1ZTtkPSEobHcudGVzdChlKXx8eWkudGVzdChlKSl9cmV0dXJuIGR9LGt3PWZ1bmN0aW9uKGEpe3JldHVybiBtdy5pbmRleE9mKGEpIT09LTF9LHN3PWZ1bmN0aW9uKGEsYixjKXtpZih5YihBLlByb21pc2UpKXRyeXt2YXIgZD0hMTt2YXIgZT1ndyhhLGQpLGY9bncoZSkudGhlbihmdW5jdGlvbihoKXt2YXIgbD1oLnliLG49bC5maWx0ZXIoZnVuY3Rpb24ocSl7cmV0dXJuIVNiKHEubmFtZSwicmF3Iil9KSxwPW93KHt5YjpufSk7cmV0dXJue3Jlc3VsdDp7cGFyYW06cC5wYXJhbSxoYXNVcGRUb0hhc2g6cC5oYXNVcGRUb0hhc2gsaGFzVXBkOnAuaGFzVXBkLGhhZEVycm9yOnAuaGFkRXJyb3IsbWV0YWRhdGFQYXJhbTpwLm1ldGFkYXRhUGFyYW19LHliOmx9fSk7cmV0dXJuIGYudGhlbihmdW5jdGlvbihoKXtyZXR1cm4gaC5yZXN1bHR9KX1jYXRjaChoKXt9fSxxdz1mdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7cmV0dXJuIGJ9LG93PWZ1bmN0aW9uKGEpe3ZhciBiPU0oNTIzKSxjPWEueWIsZD1bInR2LjEiXSxlPVsidHZkLjEiXSxmPWR3KGMpO2lmKGYpcmV0dXJuIGQucHVzaChmKSx7cGFyYW06ZC5qb2luKCJ+IiksaGFzVXBkVG9IYXNoOiExLGhhc1VwZDohMSxoYWRFcnJvcjohMCxtZXRhZGF0YVBhcmFtOmI/ZS5qb2luKCJ+Iik6dm9pZCAwfTt2YXIgZz1jLmZpbHRlcihmdW5jdGlvbihxKXtyZXR1cm4hancocSl9KSxoPTAsbD1ldyhnLGZ1bmN0aW9uKHEscil7aCsrO3ZhciB0PXEudmFsdWUsdT1xLmluZGV4O3UhPT12b2lkIDAmJihyKz11KTtkLnB1c2gocisiLiIrdCk7aWYoYil7dmFyIHY9JHYoaCxyLHEubWV0YWRhdGEpO3YmJmUucHVzaCh2KX19KSxuPWwuaGFzVXBkVG9IYXNoLHA9bC5oYXNVcGQ7cmV0dXJue3BhcmFtOmVuY29kZVVSSUNvbXBvbmVudChkLmpvaW4oIn4iKSksCmhhc1VwZFRvSGFzaDpuLGhhc1VwZDpwLGhhZEVycm9yOiExLG1ldGFkYXRhUGFyYW06Yj9lLmpvaW4oIn4iKTp2b2lkIDB9fSxkdz1mdW5jdGlvbihhKXtpZihhLmxlbmd0aD09PTEmJmFbMF0ubmFtZT09PSJlcnJvcl9jb2RlIilyZXR1cm4gaXcuZXJyb3JfY29kZSsiLiIrYVswXS52YWx1ZX0scHc9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xJiZhWzBdLm5hbWU9PT0iZXJyb3JfY29kZSIpcmV0dXJuITE7Zm9yKHZhciBiPW0oYSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPWMudmFsdWU7aWYoaXdbZC5uYW1lXSYmZC52YWx1ZSlyZXR1cm4hMH1yZXR1cm4hMX0sZ3c9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/ITE6Yjt2YXIgYz1bXTtpZihBLmxvY2F0aW9uLnByb3RvY29sIT09Imh0dHBzOiIpcmV0dXJuIGMucHVzaCh7bmFtZToiZXJyb3JfY29kZSIsdmFsdWU6ImUzIixpbmRleDp2b2lkIDB9KSxjO3ZhciBkPWMucHVzaCxlPWQuYXBwbHksZj1bXSwKZz1mLmNvbmNhdCxoLGw9YS5fdGFnX21ldGFkYXRhfHx7fTtoPVtdLmNvbmNhdCh3KHR3KHtuYW1lOiJlbWFpbCIscmF3OmEuZW1haWwsU2E6YS5zaGEyNTZfZW1haWxfYWRkcmVzcyxhYjpsLmVtYWlsLG1kOmwuc2hhMjU2X2VtYWlsX2FkZHJlc3N9LHV3KSksdyh0dyh7bmFtZToicGhvbmVfbnVtYmVyIixyYXc6YS5waG9uZV9udW1iZXIsU2E6YS5zaGEyNTZfcGhvbmVfbnVtYmVyLGFiOmwucGhvbmVfbnVtYmVyLG1kOmwuc2hhMjU2X3Bob25lX251bWJlcn0sdncpKSk7dmFyIG49dyhoKSxwLHE9YS5fdGFnX21ldGFkYXRhfHx7fSxyPWEuaG9tZV9hZGRyZXNzfHx7fSx0PXIuX3RhZ19tZXRhZGF0YXx8e307cD1bXS5jb25jYXQodyh0dyh7bmFtZToiZmlyc3RfbmFtZSIscmF3OmEuZmlyc3RfbmFtZSxTYTphLnNoYTI1Nl9maXJzdF9uYW1lLGFiOnEuZmlyc3RfbmFtZSxtZDpxLnNoYTI1Nl9maXJzdF9uYW1lfSx3dyh4dykpKSx3KHR3KHtuYW1lOiJsYXN0X25hbWUiLHJhdzphLmxhc3RfbmFtZSwKU2E6YS5zaGEyNTZfbGFzdF9uYW1lLGFiOnEubGFzdF9uYW1lLG1kOnEuc2hhMjU2X2xhc3RfbmFtZX0sd3coeHcpKSksdyh0dyh7bmFtZToic3RyZWV0IixyYXc6ci5zdHJlZXQsU2E6ci5zaGEyNTZfc3RyZWV0LGFiOnQuc3RyZWV0LG1kOnQuc2hhMjU2X3N0cmVldH0sd3coeXcpKSksdyh0dyh7bmFtZToiY2l0eSIscmF3OnIuY2l0eSxhYjp0LmNpdHl9LHd3KHl3KSkpLHcodHcoe25hbWU6InBvc3RhbF9jb2RlIixyYXc6ci5wb3N0YWxfY29kZSxhYjp0LnBvc3RhbF9jb2RlfSx3dyh6dykpKSx3KHR3KHtuYW1lOiJyZWdpb24iLHJhdzpyLnJlZ2lvbixhYjp0LnJlZ2lvbn0sd3coeXcpKSksdyh0dyh7bmFtZToiY291bnRyeSIscmF3OnIuY291bnRyeSxhYjp0LmNvdW50cnl9LHd3KHp3KSkpKTtmb3IodmFyIHU9dyhwKSx2PVtdLHg9QmIoYS5hZGRyZXNzfHx7fSkseT0wO3k8eC5sZW5ndGg7eSsrKXtmb3IodmFyIHo9eFt5XSxDPXouX3RhZ19tZXRhZGF0YXx8e30sRD1bXS5jb25jYXQodyh0dyh7bmFtZToiZmlyc3RfbmFtZSIsCnJhdzp6LmZpcnN0X25hbWUsU2E6ei5zaGEyNTZfZmlyc3RfbmFtZSxhYjpDLmZpcnN0X25hbWUsbWQ6Qy5zaGEyNTZfZmlyc3RfbmFtZX0seHcpKSx3KHR3KHtuYW1lOiJsYXN0X25hbWUiLHJhdzp6Lmxhc3RfbmFtZSxTYTp6LnNoYTI1Nl9sYXN0X25hbWUsYWI6Qy5sYXN0X25hbWUsbWQ6Qy5zaGEyNTZfbGFzdF9uYW1lfSx4dykpLHcodHcoe25hbWU6InN0cmVldCIscmF3Onouc3RyZWV0LFNhOnouc2hhMjU2X3N0cmVldCxhYjpDLnN0cmVldCxtZDpDLnNoYTI1Nl9zdHJlZXR9LHl3KSksdyh0dyh7bmFtZToiY2l0eSIscmF3OnouY2l0eSxhYjpDLmNpdHl9LHl3KSksdyh0dyh7bmFtZToicG9zdGFsX2NvZGUiLHJhdzp6LnBvc3RhbF9jb2RlLGFiOkMucG9zdGFsX2NvZGV9LHp3KSksdyh0dyh7bmFtZToicmVnaW9uIixyYXc6ei5yZWdpb24sYWI6Qy5yZWdpb259LHl3KSksdyh0dyh7bmFtZToiY291bnRyeSIscmF3OnouY291bnRyeSxhYjpDLmNvdW50cnl9LHp3KSkpLEk9MDtJPApELmxlbmd0aDtJKyspRFtJXS5pbmRleD15O3YucHVzaC5hcHBseSh2LHcoRCkpfWUuY2FsbChkLGMsZy5jYWxsKGYsbix1LHcodikpKTtpZihiJiZCcCgpKXt2YXIgRz1jLnB1c2gsTj1HLmFwcGx5LFM9W107Uy5wdXNoLmFwcGx5KFMsW10uY29uY2F0KHcoQXcoe25hbWU6InJhd19lbWFpbCIscmF3OmEuZW1haWwsU2E6YS5zaGEyNTZfZW1haWxfYWRkcmVzc30pKSx3KEF3KHtuYW1lOiJyYXdfcGhvbmVfbnVtYmVyIixyYXc6YS5waG9uZV9udW1iZXIsU2E6YS5zaGEyNTZfcGhvbmVfbnVtYmVyfSkpKSk7Zm9yKHZhciBXPUJiKGEuYWRkcmVzc3x8e30pLGVhPTA7ZWE8Vy5sZW5ndGg7ZWErKyl7dmFyIGphPVdbZWFdO1MucHVzaC5hcHBseShTLFtdLmNvbmNhdCh3KEF3KHtuYW1lOiJyYXdfZmlyc3RfbmFtZSIscmF3OmphLmZpcnN0X25hbWUsU2E6amEuc2hhMjU2X2ZpcnN0X25hbWV9LGVhKSksdyhBdyh7bmFtZToicmF3X2xhc3RfbmFtZSIscmF3OmphLmxhc3RfbmFtZSxTYTpqYS5zaGEyNTZfbGFzdF9uYW1lfSwKZWEpKSx3KEF3KHtuYW1lOiJyYXdfc3RyZWV0IixyYXc6amEuc3RyZWV0LFNhOmphLnNoYTI1Nl9zdHJlZXR9LGVhKSkpKX1pZihhLmZpcnN0X25hbWV8fGEuaG9tZV9hZGRyZXNzKXtTLnB1c2guYXBwbHkoUyxbXS5jb25jYXQodyhBdyh7bmFtZToicmF3X2ZpcnN0X25hbWUiLHJhdzphLmZpcnN0X25hbWUsU2E6YS5zaGEyNTZfZmlyc3RfbmFtZX0pKSx3KEF3KHtuYW1lOiJyYXdfbGFzdF9uYW1lIixyYXc6YS5sYXN0X25hbWUsU2E6YS5zaGEyNTZfbGFzdF9uYW1lfSkpKSk7dmFyIGZhPWEuaG9tZV9hZGRyZXNzfHx7fTtTLnB1c2guYXBwbHkoUyx3KEF3KHtuYW1lOiJyYXdfc3RyZWV0IixyYXc6ZmEuc3RyZWV0LFNhOmZhLnNoYTI1Nl9zdHJlZXR9KSkpfU4uY2FsbChHLGMsdyhTKSl9cmV0dXJuIGN9LHd3PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtQKDY0KTtyZXR1cm4gYShiKX19LEF3PWZ1bmN0aW9uKGEsYil7dmFyIGM9W107aWYoYS5TYSlyZXR1cm4gYztmb3IodmFyIGQ9CkJiKGEucmF3KSxlPTA7ZTxkLmxlbmd0aDsrK2Upe3ZhciBmPUJ3KGRbZV0pO2lmKGYmJiF5aS50ZXN0KGYpKWlmKC9eZVxkKyQvLnRlc3QoZikpYy5wdXNoKHtuYW1lOmEubmFtZSx2YWx1ZTpmLGluZGV4OmJ9KTtlbHNle3ZhciBnPWMsaD1nLnB1c2gsbD1hLm5hbWUsbjt2YXIgcD1BO3RyeXtuPUJpKEFycmF5LmZyb20oWmIoZikpLHApfWNhdGNoKHEpe249ImUwIn1oLmNhbGwoZyx7bmFtZTpsLHZhbHVlOm4saW5kZXg6Yn0pfX1yZXR1cm4gY30sdHc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkPU0oNTIzKSxlPWEucmF3LGY9ZD9hLmFiOnZvaWQgMDtDdyhlLCExKTthLlNhJiYoZSYmUCg5MCksZT1hLlNhLGY9ZD9hLm1kOnZvaWQgMCxDdyhlLCEwKSk7Zm9yKHZhciBnPUJiKGUpLGg9QmIoZiksbD0wO2w8Zy5sZW5ndGg7KytsKXt2YXIgbjt2YXIgcD1hLm5hbWUscT1iLHI9aFtsXSx0PUJ3KGdbbF0pO2lmKHQhPT0iIilpZih5aS50ZXN0KHQpKXtyJiYoci5pc1ByZUhhc2hlZD0hMCk7CnZhciB1PXtuYW1lOnAsdmFsdWU6dCxpbmRleDp2b2lkIDB9O3ImJih1Lm1ldGFkYXRhPXIpO249dX1lbHNle3ZhciB2PXEodCkseD17bmFtZTpwLHZhbHVlOnYsaW5kZXg6dm9pZCAwfTtyJiYoeC5tZXRhZGF0YT1yLHYmJihyLnJhd0xlbmd0aD1TdHJpbmcodCkubGVuZ3RoLHIubm9ybWFsaXplZExlbmd0aD12Lmxlbmd0aCkpO249eH1lbHNlIG49dm9pZCAwO3ZhciB5PW47eSYmYy5wdXNoKHkpfXJldHVybiBjfSxDdz1mdW5jdGlvbihhLGIpe2lmKHpiKGEpfHxBcnJheS5pc0FycmF5KGEpKWZvcih2YXIgYz1CYihhKSxkPTA7ZDxjLmxlbmd0aDsrK2Qpe3ZhciBlPUJ3KGNbZF0pLGY9eWkudGVzdChlKTtiJiYhZiYmUCg4OSk7IWImJmYmJlAoODgpfX0sRHc9ZnVuY3Rpb24oYSl7dmFyIGI9YT9ndyhhKTpbXTtyZXR1cm4gb3coe3liOmJ9KX0sRXc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEhPW51bGwmJk9iamVjdC5rZXlzKGEpLmxlbmd0aD4wJiZ5YihBLlByb21pc2UpP2d3KGEpLnNvbWUoZnVuY3Rpb24oYil7cmV0dXJuIGIudmFsdWUmJgprdyhiLm5hbWUpJiYheWkudGVzdChiLnZhbHVlKX0pOiExfSxCdz1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbD8iIjp6YihhKT9MYihTdHJpbmcoYSkpOiJlMCJ9LHp3PWZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UoRncsIiIpfSx4dz1mdW5jdGlvbihhKXtyZXR1cm4geXcoYS5yZXBsYWNlKC9ccy9nLCIiKSl9LHl3PWZ1bmN0aW9uKGEpe3JldHVybiBMYihhLnJlcGxhY2UoR3csIiIpLnRvTG93ZXJDYXNlKCkpfSx2dz1mdW5jdGlvbihhKXthPWEucmVwbGFjZSgvW1xzLSgpLy5dL2csIiIpO2EuY2hhckF0KDApIT09IisiJiYoYT0iKyIrYSk7cmV0dXJuKE0oNTk3KT9IdzpJdykudGVzdChhKT9hOiJlMCJ9LHV3PWZ1bmN0aW9uKGEpe3ZhciBiPWEudG9Mb3dlckNhc2UoKS5zcGxpdCgiQCIpO2lmKGIubGVuZ3RoPT09Mil7dmFyIGM9YlswXTsvXihnbWFpbHxnb29nbGVtYWlsKVwuLy50ZXN0KGJbMV0pJiYoYz1jLnJlcGxhY2UoL1wuL2csIiIpKTtjPWMrIkAiK2JbMV07aWYoSncudGVzdChjKSlyZXR1cm4gY31yZXR1cm4iZTAifSwKS3c9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBhLmZvckVhY2goZnVuY3Rpb24oYil7Yi52YWx1ZSYma3coYi5uYW1lKSYmKGIudmFsdWU9RGkoYi52YWx1ZSkpfSkse3liOmF9fWNhdGNoKGIpe3JldHVybnt5YjpbXX19fSxudz1mdW5jdGlvbihhKXtyZXR1cm4gYS5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiLnZhbHVlJiZrdyhiLm5hbWUpfSk/eWIoQS5Qcm9taXNlKT9Qcm9taXNlLmFsbChhLm1hcChmdW5jdGlvbihiKXtyZXR1cm4gYi52YWx1ZSYma3coYi5uYW1lKT9BaShiLnZhbHVlKS50aGVuKGZ1bmN0aW9uKGMpe2IudmFsdWU9Y30pOlByb21pc2UucmVzb2x2ZSgpfSkpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm57eWI6YX19KS5jYXRjaChmdW5jdGlvbigpe3JldHVybnt5YjpbXX19KTp7dGhlbjpmdW5jdGlvbihiKXtiKHt5YjpbXX0pfX06UHJvbWlzZS5yZXNvbHZlKHt5YjphfSl9LEd3PS9bMC05YH4hQCMkJV4mKigpX1wtKz06Ozw+LC4/fC9cXFtcXV0vZyxKdz0vXlxTK0BcUytcLlxTKyQvLApJdz0vXlwrXGR7MTAsMTV9JC8sSHc9L15cK1xkezcsMTV9JC8sRnc9L1sufl0vZyxsdz0vXlswLTlBLVphLXpfLV17NDN9JC8sTHc9WyJyZW0iLCJycG4iLCJyZm4iLCJybG4iLCJyc2EiXSxNdz17fSxpdz0oTXcuZW1haWw9ImVtIixNdy5waG9uZV9udW1iZXI9InBuIixNdy5maXJzdF9uYW1lPSJmbiIsTXcubGFzdF9uYW1lPSJsbiIsTXcuc3RyZWV0PSJzYSIsTXcuY2l0eT0iY3QiLE13LnJlZ2lvbj0icmciLE13LmNvdW50cnk9ImNvIixNdy5wb3N0YWxfY29kZT0icGMiLE13LmVycm9yX2NvZGU9ImVjIixNdy5yYXdfZW1haWw9InJlbSIsTXcucmF3X3Bob25lX251bWJlcj0icnBuIixNdy5yYXdfZmlyc3RfbmFtZT0icmZuIixNdy5yYXdfbGFzdF9uYW1lPSJybG4iLE13LnJhd19zdHJlZXQ9InJzYSIsTXcpO3ZhciBtdz1PYmplY3QuZnJlZXplKFsiZW1haWwiLAoicGhvbmVfbnVtYmVyIiwiZmlyc3RfbmFtZSIsImxhc3RfbmFtZSIsInN0cmVldCJdKTt2YXIgbXg9T2JqZWN0LmZyZWV6ZSh7YXR0cmlidXRpb25zcmM6IiJ9KSxueD1PYmplY3QuZnJlZXplKHtldmVudFNvdXJjZUVsaWdpYmxlOiExLHRyaWdnZXJFbGlnaWJsZTohMH0pO2Z1bmN0aW9uIG94KCl7dmFyIGE9WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlO3JldHVybiBhJiZ5YihhLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKX07dmFyIHB4PU9iamVjdC5mcmVlemUoe2NhY2hlOiJuby1zdG9yZSIsY3JlZGVudGlhbHM6ImluY2x1ZGUiLG1ldGhvZDoiR0VUIixrZWVwYWxpdmU6ITAscmVkaXJlY3Q6ImZvbGxvdyJ9KTsKZnVuY3Rpb24gcXgoYSxiLGMsZCxlLGYpe2lmKCF5YihBLmZldGNoKSlyZXR1cm4gZj09bnVsbHx8Zih2b2lkIDAsdm9pZCAwKSwhMTt2YXIgZz1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LHB4KTtiJiYoZy5ib2R5PWIsZy5tZXRob2Q9IlBPU1QiKTtuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LGcsZCk7QS5mZXRjaChhLGcpLnRoZW4oZnVuY3Rpb24oaCl7aWYoaC5vayl7aWYoaC5ib2R5KXt2YXIgbD1oLmJvZHkuZ2V0UmVhZGVyKCksbj1uZXcgVGV4dERlY29kZXI7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHApe2Z1bmN0aW9uIHEoKXtsLnJlYWQoKS50aGVuKGZ1bmN0aW9uKHIpe3ZhciB0O3Q9ci5kb25lO3ZhciB1PW4uZGVjb2RlKHIudmFsdWUse3N0cmVhbTohdH0pO3U9Yy5SK3U7Zm9yKHZhciB2PXUuaW5kZXhPZigiXG5cbiIpO3YhPT0tMTspe3ZhciB4PVpnLHk7YTp7dmFyIHo9bSh1LnN1YnN0cmluZygwLHYpLnNwbGl0KCJcbiIpKSxDPQp6Lm5leHQoKS52YWx1ZSxEPXoubmV4dCgpLnZhbHVlO2lmKFNiKEMsImV2ZW50OiBtZXNzYWdlIikmJlNiKEQsImRhdGE6ICIpKXt2YXIgST1ELnN1YnN0cmluZyg2KTt0cnl7eT1KU09OLnBhcnNlKEkpO2JyZWFrIGF9Y2F0Y2goRyl7fX15PXZvaWQgMH14KGMseSk7dT11LnN1YnN0cmluZyh2KzIpO3Y9dS5pbmRleE9mKCJcblxuIil9Yy5SPXU7dD8oZT09bnVsbHx8ZShoKSxwKCkpOnEoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZT09bnVsbHx8ZShoKTtwKCl9KX1xKCl9KX1lPT1udWxsfHxlKGgpfWVsc2UgZj09bnVsbHx8ZihoLHZvaWQgMCl9KS5jYXRjaChmdW5jdGlvbihoKXtmPT1udWxsfHxmKHZvaWQgMCxoKX0pO3JldHVybiEwfTt2YXIgcng9ZnVuY3Rpb24oYSl7aHUuY2FsbCh0aGlzLCJGZXRjaFJpY2hSZXNwb25zZSIsMSk7dGhpcy5OPWF9O3dhKHJ4LGh1KTtyeC5wcm90b3R5cGUuaXNTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4geWIoQS5mZXRjaCl9O3J4LnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7cmV0dXJuITB9O3J4LnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjKXtxeChiLGM9PW51bGw/dm9pZCAwOmMuYm9keSx0aGlzLk4sYz09bnVsbD92b2lkIDA6Yy5HYixhLnBlLGZ1bmN0aW9uKGQsZSl7YS5vbkZhaWx1cmUoZSl9KX07dmFyIEN4PWZ1bmN0aW9uKCl7WWcuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt3YShDeCxZZyk7Q3gucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiKXtaYyhhLHZvaWQgMCwkZyh0aGlzLGIpLGIuYXR0cmlidXRpb25fcmVwb3J0aW5nJiZveCgpP214Ont9KX07Q3gucHJvdG90eXBlLkg9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmF0dHJpYnV0aW9uX3JlcG9ydGluZyYmb3goKT97YXR0cmlidXRpb25SZXBvcnRpbmc6bnh9Ont9LGQ9JGcodGhpcyxiKTtiLnByb2Nlc3NfcmVzcG9uc2U/cXgoYSx2b2lkIDAsdGhpcyxjLHZvaWQgMCxkKTptZChhLHZvaWQgMCxjLHZvaWQgMCxkKX07dmFyIFF4PWZ1bmN0aW9uKGEsYil7dGhpcy5IPWE7dGhpcy50aW1lb3V0TXM9Yjt0aGlzLlJiPXZvaWQgMH0sUng9ZnVuY3Rpb24oYSl7YS5SYnx8KGEuUmI9c2V0VGltZW91dChmdW5jdGlvbigpe2EuSCgpO2EuUmI9dm9pZCAwfSxhLnRpbWVvdXRNcykpfSxUbj1mdW5jdGlvbihhKXthLlJiJiYoY2xlYXJUaW1lb3V0KGEuUmIpLGEuUmI9dm9pZCAwKX07dmFyIFN4PWZ1bmN0aW9uKCl7dmFyIGE9TmYoNjYsMCk7dGhpcy5LPVtdO3RoaXMuUj1hO3RoaXMuSD1ZYSgpfSxVeD1mdW5jdGlvbihhKXt2YXIgYj1UeDtiLksucHVzaChhKTtiLk58fChiLk49ZnVuY3Rpb24oKXtmb3IodmFyIGM9bShiLkspLGQ9Yy5uZXh0KCk7IWQuZG9uZTtkPWMubmV4dCgpKXt2YXIgZT1kLnZhbHVlO3RyeXtlKCl9Y2F0Y2gobCl7fX1mb3IodmFyIGY9bShiLkgudmFsdWVzKCkpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKXt2YXIgaD12b2lkIDA7KGg9Zy52YWx1ZS53ZSk9PW51bGx8fFRuKGgpfWIuSC5jbGVhcigpfSwkYyhBLCJwYWdlaGlkZSIsYi5OKSl9LFZ4PWZ1bmN0aW9uKGEpe3ZhciBiPWEubWF0Y2goTW4pWzNdfHxudWxsLGM9KGI/ZGVjb2RlVVJJKGIpOmIpfHwiIixkPVBuKGEsImxhYmVsIil8fCIiLGU9UG4oYSwicmFuZG9tIil8fCIiO3JldHVybiBjKyI6IitMbihkKSsiOiIrTG4oZSl9LFd4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1UeCwKZT1WeChhKTtpZighKGQuSC5oYXMoZSl8fGQuSC5zaXplPj1kLlIpKXt2YXIgZj17fTtiJiZiPjAmJmMmJihmLndlPW5ldyBReChjLGIpKTtkLkguc2V0KGUsZik7dmFyIGc7KGc9Zi53ZSk9PW51bGx8fFJ4KGcpfX0sVW49ZnVuY3Rpb24oYSxiKXt2YXIgYz1WeChiKSxkLGU7KGQ9YS5ILmdldChjKSk9PW51bGx8fChlPWQud2UpPT1udWxsfHxUbihlKTthLkguZGVsZXRlKGMpfTtTeC5wcm90b3R5cGUuZ2V0U2l6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkguc2l6ZX07dmFyIGRnO2Z1bmN0aW9uIGh5KGEsYil7dmFyIGM7KGM9ZGcpPT1udWxsfHwkZihjLkgsYSxiKX07dmFyIGl5PUFhKFsiLyJdKSxqeT1mdW5jdGlvbihhKXt0aGlzLkg9YTt0aGlzLmZhaWx1cmVUeXBlPXZvaWQgMH07ankucHJvdG90eXBlLmlvPWZ1bmN0aW9uKGEsYixjKXt0cnl7dmFyIGQ9dGhpcy5ILmFjdGl2ZTtkPyhkLnBvc3RNZXNzYWdlKHt0eXBlOjEsY29tbWFuZDphfSksYih7ZGF0YToiIn0pKTpjKHtmYWlsdXJlVHlwZToxMyxkYXRhOiIifSl9Y2F0Y2goZSl7Yyh7ZmFpbHVyZVR5cGU6MTEsZGF0YTplLm1lc3NhZ2V9KX19O3ZhciBreT1mdW5jdGlvbihhLGIpe3RoaXMuZmFpbHVyZVR5cGU9YTt0aGlzLkg9Yn07a3kucHJvdG90eXBlLmlvPWZ1bmN0aW9uKGEsYixjKXtjKHtmYWlsdXJlVHlwZTp0aGlzLmZhaWx1cmVUeXBlLGRhdGE6ImYiK3RoaXMuZmFpbHVyZVR5cGUrKCJ0IisoKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5IKSl9KX07CnZhciBueT1mdW5jdGlvbihhKXt2YXIgYj10aGlzO3RoaXMuaW5pdFRpbWU9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dGhpcy5IPW5ldyBreSgxNSx0aGlzLmluaXRUaW1lKTt2YXIgYz1uZXcgUHJvbWlzZShmdW5jdGlvbihlKXtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKCl9LDIwKX0pLGQ9bHkoYSkudGhlbihmdW5jdGlvbihlKXtiLkg9bmV3IGp5KGUpO215KGIsZSl9KS5jYXRjaChmdW5jdGlvbigpe2IuSD1uZXcga3koNCxiLmluaXRUaW1lKX0pO3RoaXMuSz1Qcm9taXNlLnJhY2UoW2MsZF0pfSxteT1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKGQpe2QmJmQuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGVjaGFuZ2UiLGZ1bmN0aW9uKCl7aWYoZC5zdGF0ZT09PSJyZWR1bmRhbnQiKXt2YXIgZT1iLmFjdGl2ZTtlJiZlLnN0YXRlIT09InJlZHVuZGFudCJ8fChhLkg9bmV3IGt5KDEwLGEuaW5pdFRpbWUpKX19KX07YyhiLmFjdGl2ZSk7YyhiLndhaXRpbmcpO2MoYi5pbnN0YWxsaW5nKTsKYi5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVmb3VuZCIsZnVuY3Rpb24oKXtjKGIuaW5zdGFsbGluZyl9KX07bnkucHJvdG90eXBlLmRlbGVnYXRlPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzO3RoaXMuSy50aGVuKGZ1bmN0aW9uKCl7ZC5ILmlvKGEsYixjKX0pfTtueS5wcm90b3R5cGUuZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gMn07CnZhciBseT1mdW5jdGlvbihhKXt2YXIgYixjPUxmKDExKTtjPUxmKDEwKTtiPWM7dmFyIGQ9e3Njb3BlOihUYihhLmhyZWYsIi8iKT9hLmhyZWYuc2xpY2UoMCwtMSk6YS5ocmVmKSsiL18vc2VydmljZV93b3JrZXIifTtiJiYoZC51cGRhdGVWaWFDYWNoZT0iYWxsIik7dmFyIGUsZj1veShhLGIpLGc9bmV3IE1hcChbWyJwYXRoIixhLnBhdGhuYW1lXV0pLGg9SnAoa2MoZikudG9TdHJpbmcoKSk7ZT1McChoLnprLGgucGFyYW1zLGguZnJhZ21lbnQsZyk7dmFyIGw9SWMoKSxuPWtjKGUpO3RyeXtyZXR1cm4gbC5yZWdpc3RlcihuLGQpfWNhdGNoKHApe3RyeXtyZXR1cm4gbC5yZWdpc3RlcihuLnRvU3RyaW5nKCksZCl9Y2F0Y2gocSl7cmV0dXJuIFByb21pc2UucmVqZWN0KHEpfX19OwpmdW5jdGlvbiBveShhLGIpe2Zvcih2YXIgYz1LcChpeSksZD1hLnBhdGhuYW1lLnNwbGl0KCIvIikuZmlsdGVyKGZ1bmN0aW9uKGgpe3JldHVybiBoLmxlbmd0aD4wfSksZT1bXS5jb25jYXQodyhkKSxbIl8iLCJzZXJ2aWNlX3dvcmtlciIsYiwic3cuanMiXSksZj1tKGUpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWM9TXAoYyxnLnZhbHVlKTtyZXR1cm4gY307ZnVuY3Rpb24gcHkoYSl7dmFyIGI9bm0oam0uYmEuT2gpLGM9Yj09bnVsbD92b2lkIDA6YlthXTtjfHxhIT09ImxpdGUifHwoYz1iPT1udWxsP3ZvaWQgMDpiLmZ1bGwpO3JldHVybiBjfXZhciBxeT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9cHkoImZ1bGwiKTtkP2QuZGVsZWdhdGUoYSxiLGMpOmMoe2ZhaWx1cmVUeXBlOjE2fSl9O2Z1bmN0aW9uIHJ5KGEsYixjLGQsZSl7cXkoe2NvbW1hbmRUeXBlOjAscGFyYW1zOnt1cmw6YSxtZXRob2Q6MSx0ZW1wbGF0ZXM6Yixib2R5OiIiLHByb2Nlc3NSZXNwb25zZTohMSxlbmNyeXB0aW9uS2V5U3RyaW5nOmUsc29SZWZlcnJlcjpBLmxvY2F0aW9uLmhyZWZ9fSxjLGZ1bmN0aW9uKGYpe2QoZi5mYWlsdXJlVHlwZSxmLmRhdGEpfSl9O3ZhciBEeT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPTA7dGhpcy5LPSExO00oNDYyKSYmVW0oImZzIixmdW5jdGlvbigpe3JldHVybiBhLkg+MCYmYS5IPDU/U3RyaW5nKGEuSCk6dm9pZCAwfSwhMSl9LEV5O2Z1bmN0aW9uIEZ5KGEsYil7RXl8fChFeT1uZXcgRHkpO3ZhciBjPUV5O00oNDYyKSYmZm4uSyYmKGI9PT0iZ3RtLmZvcm1TdWJtaXQifHxiPT09ImZvcm1fc3VibWl0IiYmSWYoNDUpKSYmKGE9PT0xfHxjLkspJiYoYy5LPSEwLGMuSD1hLGEhPT01P1ZtKCJmcyIpOlFtLkguZnM9ITEpfTt2YXIgR3k9ZnVuY3Rpb24oYSl7aWYoUShhLEguSi5kYSk9PT1YLlYuS2Epe3ZhciBiPWZ1KGEpO2lmKCFNKDQyNykmJihqcChhLGIpfHxRKGEsSC5KLmhkKSkmJlhvKGZwKSl7dmFyIGM9bHAoYSxiKTtpZihjKXt2YXIgZD1ObSg2OSxjKTtUbChkLGEsNjkpO1luKHtkZXN0aW5hdGlvbklkOmEudGFyZ2V0LmRlc3RpbmF0aW9uSWQsZW5kcG9pbnQ6NjksZXZlbnRJZDphLk0uZXZlbnRJZCxwcmlvcml0eUlkOmEuTS5wcmlvcml0eUlkfSxkKX19dmFyIGU9eWIoYS5NLm9uU3VjY2Vzcyk/YS5NLm9uU3VjY2Vzczp4YjskdShhLGIpO2UoKX19O3ZhciBIeT17WDp7V3E6MCxFazoxLFpnOjIsWGs6MyxtaTo0LFZrOjUsV2s6NixZazo3LG5pOjgsdG06OSxzbToxMCxUaToxMSx2bToxMixCaDoxMyxFbToxNCxpajoxNSxTcToxNixqZDoxNyx1ajoxOCx2ajoxOSx3ajoyMCxDbjoyMSx4ajoyMn19O0h5LlhbSHkuWC5XcV09IlJFU0VSVkVEX1pFUk8iO0h5LlhbSHkuWC5Fa109IkFEU19DT05WRVJTSU9OX0hJVCI7SHkuWFtIeS5YLlpnXT0iQ09OVEFJTkVSX0VYRUNVVEVfU1RBUlQiO0h5LlhbSHkuWC5Ya109IkNPTlRBSU5FUl9TRVRVUF9FTkQiO0h5LlhbSHkuWC5taV09IkNPTlRBSU5FUl9TRVRVUF9TVEFSVCI7SHkuWFtIeS5YLlZrXT0iQ09OVEFJTkVSX0JMT0NLSU5HX0VORCI7SHkuWFtIeS5YLldrXT0iQ09OVEFJTkVSX0VYRUNVVEVfRU5EIjtIeS5YW0h5LlguWWtdPSJDT05UQUlORVJfWUlFTERfRU5EIjtIeS5YW0h5LlgubmldPSJDT05UQUlORVJfWUlFTERfU1RBUlQiO0h5LlhbSHkuWC50bV09IkVWRU5UX0VYRUNVVEVfRU5EIjsKSHkuWFtIeS5YLnNtXT0iRVZFTlRfRVZBTFVBVElPTl9FTkQiO0h5LlhbSHkuWC5UaV09IkVWRU5UX0VWQUxVQVRJT05fU1RBUlQiO0h5LlhbSHkuWC52bV09IkVWRU5UX1NFVFVQX0VORCI7SHkuWFtIeS5YLkJoXT0iRVZFTlRfU0VUVVBfU1RBUlQiO0h5LlhbSHkuWC5FbV09IkdBNF9DT05WRVJTSU9OX0hJVCI7SHkuWFtIeS5YLmlqXT0iUEFHRV9MT0FEIjtIeS5YW0h5LlguU3FdPSJQQUdFVklFVyI7SHkuWFtIeS5YLmpkXT0iU05JUFBFVF9MT0FEIjtIeS5YW0h5LlgudWpdPSJUQUdfQ0FMTEJBQ0tfRVJST1IiO0h5LlhbSHkuWC52al09IlRBR19DQUxMQkFDS19GQUlMVVJFIjtIeS5YW0h5Llgud2pdPSJUQUdfQ0FMTEJBQ0tfU1VDQ0VTUyI7SHkuWFtIeS5YLkNuXT0iVEFHX0VYRUNVVEVfRU5EIjtIeS5YW0h5LlgueGpdPSJUQUdfRVhFQ1VURV9TVEFSVCI7dmFyIEl5PXt9O0l5Llg9SHkuWDt2YXIgSnk9e1J1OiJMIixYcToiUyIsa3Y6IlkiLFJ0OiJCIixudToiRSIsTnU6IkkiLGZ2OiJUQyIsdnU6IkhUQyIsb3U6IkYiLE11OiJDIn0sS3k9e1hxOiJTIixsdToiViIsYXU6IkUiLGR2OiJ0YWcifSxMeT17fSxNeT0oTHlbSXkuWC52al09IjYiLEx5W0l5Llgud2pdPSI1IixMeVtJeS5YLnVqXT0iNyIsTHkpO2Z1bmN0aW9uIE55KGEpe3ZhciBiPUUoNSksYz1OdW1iZXIoYS5ldmVudElkKSxkPU51bWJlcihhLnRhZ0lkKTtyZXR1cm4oU2IoYiwiR1RNLSIpP2I6IkdUTS0iK2IpKyI6IisoQWIoYyk/YysiOiI6IiIpKyhBYihkKT9kKyI6IjoiIikrYS5zdGFnZX07ZnVuY3Rpb24gT3koKXt2YXIgYT1yZCgpO3JldHVybiEhKGEmJmEubWFyayBpbnN0YW5jZW9mIEZ1bmN0aW9uJiZhLm1lYXN1cmUgaW5zdGFuY2VvZiBGdW5jdGlvbiYmYS5jbGVhck1lYXN1cmVzIGluc3RhbmNlb2YgRnVuY3Rpb24mJmEuY2xlYXJNYXJrcyBpbnN0YW5jZW9mIEZ1bmN0aW9uKX07dmFyIFB5PWZ1bmN0aW9uKCl7dGhpcy5IPXt9fSxReTtmdW5jdGlvbiBSeSgpe1F5fHwoUXk9bmV3IFB5KTtyZXR1cm4gUXl9ZnVuY3Rpb24gU3koYSl7dmFyIGI9UnkoKSxjPU55KGEpO3JldHVybiBiLkhbY119ZnVuY3Rpb24gVHkoYSxiKXt2YXIgYzthOnt2YXIgZD1SeSgpO2lmKE95KCkpe3ZhciBlPU55KGEpLGYsZztpZihmPShnPXJkKCkpPT1udWxsP3ZvaWQgMDpnLm1hcmsoZSxiKSl7Yz1kLkhbZV09ZjticmVhayBhfX1jPXZvaWQgMH1yZXR1cm4gY307ZnVuY3Rpb24gVXkoYSxiKXtpZihPeSgpKXthLmVudHJ5PU55KGEpO3ZhciBjPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYSk7Yy5zdGFnZT1iO2RlbGV0ZSBjLnNlbnQ7dmFyIGQ9U3koYj09PUl5LlguamQ/e3N0YWdlOkl5LlguamR9OmMpLGU9U3koYSk7aWYoZCYmZSYmIShkLnN0YXJ0VGltZT5lLnN0YXJ0VGltZSkpe2Muc3RhZ2U9YisiOiIrYS5zdGFnZTt2YXIgZj1OeShjKSxnPXtzdGFydDpkLm5hbWUsZW5kOmUubmFtZX0saCxsO3JldHVybihsPShoPXJkKCkpPT1udWxsP3ZvaWQgMDpoLm1lYXN1cmUoZixnKSk9PW51bGw/dm9pZCAwOmwuZHVyYXRpb259fX07dmFyIFd5PWZ1bmN0aW9uKCl7dmFyIGE9NTtWeS5Sbz4wJiYoYT1WeS5Sbyk7dGhpcy5LPWE7dGhpcy5IPTA7dGhpcy5OPVtdfSxYeT1mdW5jdGlvbihhKXtyZXR1cm4gYS5IPGEuSz8hMTpOYigpLWEuTlthLkglYS5LXTwxRTN9LFl5PWZ1bmN0aW9uKGEpe3ZhciBiPWEuSCsrJWEuSzthLk5bYl09TmIoKX07dmFyIFZ5PXtSbzpOZigzLDApfSwkeT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy55YT1bXTt0aGlzLkg9dm9pZCAwO3RoaXMuWj17fTt0aGlzLks9dm9pZCAwO3RoaXMuamE9bmV3IFd5O3RoaXMuTGE9MUUzO3RoaXMuUj10aGlzLk49ITE7dGhpcy5mYT1EYigpO1p5KHRoaXMsZnVuY3Rpb24oKXt2YXIgYj1bWyJ2IiwiMyJdLFsidCIsInQiXSxbInBpZCIsU3RyaW5nKGEuZmEpXV0sYz1kdSgpO2MmJmIucHVzaChbImd0bSIsY10pO3JldHVybiBifSk7Y2QoZnVuY3Rpb24oKXthLmZhPURiKCl9LDg2NEU1KX0sWnk9ZnVuY3Rpb24oYSxiKXthLnlhLnB1c2goYil9LGF6PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkg7aWYoZD09PXZvaWQgMClpZihjKWQ9cmooKTtlbHNlIHJldHVybiIiO2Zvcih2YXIgZT1bZmsoImh0dHBzOi8vIitFKDIxKSksIi9hIiwiP2lkPSIrRSg1KV0sZj1tKGEueWEpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKWZvcih2YXIgaD1nLnZhbHVlLGw9Cmgoe2V2ZW50SWQ6ZCx0ZjohIWJ9KSxuPW0obCkscD1uLm5leHQoKTshcC5kb25lO3A9bi5uZXh0KCkpe3ZhciBxPW0ocC52YWx1ZSkscj1xLm5leHQoKS52YWx1ZSx0PXEubmV4dCgpLnZhbHVlO2UucHVzaCgiJiIrcisiPSIrdCl9ZS5wdXNoKCImej0wIik7cmV0dXJuIGUuam9pbigiIil9LGJ6PWZ1bmN0aW9uKGEpe2lmKCRrKDI2KSYmKGEuSyYmKEEuY2xlYXJUaW1lb3V0KGEuSyksYS5LPXZvaWQgMCksYS5IIT09dm9pZCAwJiZhLlIpKXt2YXIgYj1sbyhjby5pYS5aYik7aWYoZ28oYikpYS5OfHwoYS5OPSEwLGlvKGIsZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCBieihhKX0pKTtlbHNlIGlmKGEuWlthLkhdfHxYeShhLmphKXx8YS5MYS0tPD0wKVAoMSksYS5aW2EuSF09ITA7ZWxzZXtZeShhLmphKTt2YXIgYz1heihhLCEwKTtYbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6YS5IfSxjKTthLlI9ITE7YS5OPSExfX19LGN6PWZ1bmN0aW9uKGEpe2EuS3x8KGEuSz0KQS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgYnooYSl9LDUwMCkpfSxlej1mdW5jdGlvbihhKXt2YXIgYj1kejtiLlpbYV18fChhIT09Yi5IJiYoYnooYiksYi5IPWEpLGIuUj0hMCxjeihiKSxheihiKS5sZW5ndGg+PTIwMjImJmJ6KGIpKX0sZHo7ZnVuY3Rpb24gZnooYSl7Z3ooKTtaeShkeixhKX1mdW5jdGlvbiBoeigpe3ZhciBhO2E9YT09PXZvaWQgMD8hMTphO2d6KCk7dmFyIGI9YSxjPWR6O2I9Yj09PXZvaWQgMD8hMTpiO2lmKGZuLk4mJiRrKDI2KSl7dmFyIGQ9YXooYywhMCwhMCk7Yj9Wbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6Yy5IfSxkKTpYbih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2LGV2ZW50SWQ6Yy5IfSxkKX19ZnVuY3Rpb24gZ3ooKXtkenx8KGR6PW5ldyAkeSl9O2Z1bmN0aW9uIGl6KCl7ZnVuY3Rpb24gYShjLGQpe3ZhciBlPXdiKHJiW2RdfHxbXSk7ZSYmYi5wdXNoKFtjLGVdKX12YXIgYj1bXTthKCJ1IiwiR1RNIik7YSgidXQiLCJUQUdHSU5HIik7YSgiaCIsIkhFQUxUSCIpO3JldHVybiBifTt2YXIgano9Imh0dHBzOi8vIitFKDIxKSxrej1mdW5jdGlvbigpe3RoaXMuTj0hMTt0aGlzLlI9W107dGhpcy5aPVtdO3RoaXMuSD17VEM6MCxIVEM6MH07dGhpcy5LPXt9fSxsej1mdW5jdGlvbihhLGIsYyxkKXthLktbYl18fChhLktbYl09e30pO2EuS1tiXVtjXT1kfSxvej1mdW5jdGlvbihhKXt2YXIgYj0iIixjPSIiLGQ9bXooKTtBYihkKSYmKGEuSC5JPU1hdGguZmxvb3IoZCkpO2M9bnooYS5ILEp5KS50b1N0cmluZygpO2Zvcih2YXIgZT1tKE9iamVjdC5rZXlzKGEuSykpLGY9ZS5uZXh0KCk7IWYuZG9uZTtmPWUubmV4dCgpKXt2YXIgZz1mLnZhbHVlLGg9YS5LW2ddLm5hbWUsbD0iIixuPW56KGEuS1tnXSxLeSk7biYmKGw9aCsiLiIrbi50b1N0cmluZygpLGIrPSJ+IitsKX12YXIgcD0ifkFXQ1QiK2EuUi5qb2luKCIuIikscT0ifkdBIithLlouam9pbigiLiIpLHI9IiZjY2lkPSIrdmsoKS50b1N0cmluZygpKyImY2lkPSIrRSg1KS50b1N0cmluZygpKyImbD0iK2MrYisoYS5SLmxlbmd0aD8KcDoiIikrKGEuWi5sZW5ndGg/cToiIik7aWYoTSgyMTQpKXt2YXIgdCx1PSh0PXJkKCkpPT1udWxsP3ZvaWQgMDp0LmdldEVudHJpZXNCeU5hbWUoS2MpLm1hcChmdW5jdGlvbih2KXtyZXR1cm4gU3RyaW5nKHYuZHVyYXRpb24pfSkuam9pbigiLiIpO3UmJihyKz0iflNTIit1KX1yZXR1cm4gcn0scHo9ZnVuY3Rpb24oYSxiKXtpZighYi5zdGFnZXx8YS5OfHwhT3koKXx8U3koYikpcmV0dXJuITE7dmFyIGMsZD0oYz1yZCgpKT09bnVsbD92b2lkIDA6Yy50aW1lT3JpZ2luO2lmKCFBYihkKSlhLk49ITA7ZWxzZSBpZihBYigkaygyNSkpJiYhU3koe3N0YWdlOkl5LlguamR9KSYmIWEuTiYmT3koKSl0cnl7dmFyIGU9TnVtYmVyKCRrKDI1KSk7VHkoe3N0YWdlOkl5LlguamR9LHtzdGFydFRpbWU6TWF0aC5tYXgoZS1kLDApfSk7VHkoe3N0YWdlOkl5LlguaWp9LHtzdGFydFRpbWU6MH0pO3ZhciBmPVV5KHtzdGFnZTpJeS5YLmpkfSxJeS5YLmlqKTtmJiYoYS5ILkw9TWF0aC5mbG9vcihmKSl9Y2F0Y2goZyl7YS5OPQohMH1pZihhLk4pcmV0dXJuITE7dHJ5e2lmKCFUeShiKSlyZXR1cm4hMX1jYXRjaChnKXtyZXR1cm4gYS5OPSEwLCExfXJldHVybiEwfSxxej1mdW5jdGlvbihhLGIsYyl7aWYocHooYSxiKSl0cnl7dmFyIGQ9VXkoYixjKTtpZihkKXJldHVybiBNYXRoLmZsb29yKGQpfWNhdGNoKGUpe2EuTj0hMH19LHN6PWZ1bmN0aW9uKCl7dmFyIGE9cnooKTtweihhLHtzdGFnZTpJeS5YLm1pfSl9LHR6PWZ1bmN0aW9uKCl7dmFyIGE9cnooKSxiPXF6KGEse3N0YWdlOkl5LlguWGt9LEl5LlgubWkpO2IhPT12b2lkIDAmJihhLkguUz1iKX0sdXo9ZnVuY3Rpb24oKXt2YXIgYT1yeigpO3B6KGEse3N0YWdlOkl5Llgubml9KX0sdno9ZnVuY3Rpb24oYSxiKXt2YXIgYz1yeigpO3B6KGMse3N0YWdlOkl5LlguQmgsZXZlbnRJZDphfSk7Yy5LW2FdJiZjLktbYV0ubmFtZXx8bHooYyxhLCJuYW1lIixTYihiLCJndG0uIik/YjoiKiIpfSx3ej1mdW5jdGlvbihhKXt2YXIgYj1yeigpLGM9cXooYix7c3RhZ2U6SXkuWC52bSwKZXZlbnRJZDphfSxJeS5YLkJoKTtjIT09dm9pZCAwJiZseihiLGEsIlMiLGMpfSx5ej1mdW5jdGlvbihhLGIpe3ZhciBjPXJ6KCksZD1xeihjLHtzdGFnZTpJeS5YLnRtLGV2ZW50SWQ6YX0sSXkuWC5CaCk7ZCE9PXZvaWQgMCYmbHooYyxhLCJFIixkKTtpZihiPT09Imd0bS5sb2FkIil7dmFyIGU9cXooYyx7c3RhZ2U6SXkuWC5Xa30sSXkuWC5aZyk7ZSE9PXZvaWQgMCYmKGMuSC5FPWUpO2lvKGxvKGNvLmlhLlpiKSxmdW5jdGlvbigpe2lmKCFjLk4mJk95KCkmJkUoNSkpe3ZhciBmPXh6KCk7ZiE9PXZvaWQgMCYmKGMuSC5GPU1hdGguZmxvb3IoZikpO3RyeXtmb3IodmFyIGc9aXooe2V2ZW50SWQ6MCx0ZjohMX0pLGg9W10sbD1tKGcpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1tKG4udmFsdWUpLHE9cC5uZXh0KCkudmFsdWUscj1wLm5leHQoKS52YWx1ZTtoLnB1c2goIiYiK3ErIj0iK3IpfXZhciB0PUNwKCksdT1bW2ZrKGp6KSwiL2E/dj0zJnQ9bCIsIiZwaWQ9IisKRGIoKS50b1N0cmluZygpLCImcnY9IitFKDE0KSx0PyImdGFnX2V4cD0iK3Q6IiIsaC5qb2luKCIiKV0uam9pbigiIiksIiZndG09IixkdSgpLG96KGMpXS5qb2luKCIiKTtpZih1Lmxlbmd0aD4yMDIyKXt2YXIgdj1NYXRoLm1heCh1Lmxhc3RJbmRleE9mKCIuVFMiLDIwMjIpLHUubGFzdEluZGV4T2YoIn4iLDIwMjIpKTt1PXUuc2xpY2UoMCx2KX1Ybih7ZGVzdGluYXRpb25JZDpFKDUpLGVuZHBvaW50OjU2fSx1KX1jYXRjaCh4KXt9fX0pfX0seno7ZnVuY3Rpb24gcnooKXt6enx8KHp6PW5ldyBreik7cmV0dXJuIHp6fWZ1bmN0aW9uIG16KCl7dHJ5e3ZhciBhO3JldHVybigoYT1yZCgpKT09bnVsbD92b2lkIDA6YS5nZXRFbnRyaWVzQnlUeXBlKCJuYXZpZ2F0aW9uIilbMF0pLmRvbUludGVyYWN0aXZlfWNhdGNoKGIpe319CmZ1bmN0aW9uIG56KGEsYil7cmV0dXJuIE9iamVjdC5rZXlzKGIpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYltjXX0pLmZpbHRlcihmdW5jdGlvbihjKXtyZXR1cm4gYVtjXSE9PXZvaWQgMH0pLm1hcChmdW5jdGlvbihjKXtyZXR1cm4oIiIrKGM9PT0idGFnIj8iIjpjKSkuY29uY2F0KGFbY10udG9TdHJpbmcoKSl9KS5qb2luKCIuIil9ZnVuY3Rpb24gQXooYSl7dmFyIGI9cnooKSxjPXF6KGIse3N0YWdlOkl5LlguRW0sZXZlbnRJZDphfSxJeS5YLmpkKTtjIT09dm9pZCAwJiZiLloucHVzaChjKX1mdW5jdGlvbiBCeihhKXt2YXIgYj1yeigpLGM9cXooYix7c3RhZ2U6SXkuWC5FayxldmVudElkOmF9LEl5LlguamQpO2MhPT12b2lkIDAmJmIuUi5wdXNoKGMpfWZ1bmN0aW9uIEN6KGEpe3ZhciBiPXJ6KCk7cHooYix7c3RhZ2U6SXkuWC5UaSxldmVudElkOmF9KX0KZnVuY3Rpb24gRHooYSl7dmFyIGI9cnooKSxjPXF6KGIse3N0YWdlOkl5Llguc20sZXZlbnRJZDphfSxJeS5YLlRpKTtjIT09dm9pZCAwJiZseihiLGEsIlYiLGMpfWZ1bmN0aW9uIHh6KCl7dHJ5e3ZhciBhLGI7cmV0dXJuKGI9KGE9cmQoKSk9PW51bGw/dm9pZCAwOmEuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKS5maW5kKGZ1bmN0aW9uKGMpe3JldHVybiBjLm5hbWU9PT0iZmlyc3QtY29udGVudGZ1bC1wYWludCJ9KSk9PW51bGw/dm9pZCAwOmIuc3RhcnRUaW1lfWNhdGNoKGMpe319ZnVuY3Rpb24gRXooYSxiKXt2YXIgYz1yeigpO3B6KGMse3N0YWdlOkl5LlgueGosZXZlbnRJZDphLmlkLHRhZ0lkOk51bWJlcihiW0dmLnlqXSl9KX0KZnVuY3Rpb24gRnooYSxiLGMpe3ZhciBkPXJ6KCksZT1kbihiKSxmPU51bWJlcihiW0dmLnlqXSksZz1xeihkLHtzdGFnZTpjLGV2ZW50SWQ6YS5pZCx0YWdJZDpmfSxJeS5YLnhqKTtpZihnIT09dm9pZCAwJiZkLktbYS5pZF0pe3ZhciBoPWQuS1thLmlkXS50YWd8fCIiLGwsbj0obD1NeVtjXSkhPW51bGw/bDoiMSIscD1uZXcgUmVnRXhwKCJUU1xcZCIrZSsiLlRJIitmKSxxPSJUUyIrbitlKyIuVEkiK2YrIi5URSIrZztoLnNlYXJjaChwKT49MD9uIT09IjEiJiZseihkLGEuaWQsInRhZyIsaC5yZXBsYWNlKHAscS5yZXBsYWNlKCIuVEUiK2csIiIpKSk6KGx6KGQsYS5pZCwidGFnIiwoaD9oKyIuIjoiIikrcSksZT09PSJodG1sIiYmKGQuSC5IVEMrPTEpLGQuSC5UQys9MSl9fTt2YXIgS3o9e2dqOnticDoiMSIsdXE6IjIiLFZxOiIzIn19Owp2YXIgTHo9e30sTXo9T2JqZWN0LmZyZWV6ZSgoTHpbRi5ELmZoXT0xLEx6W0YuRC5naF09MSxMeltGLkQuQmRdPTEsTHpbRi5ELkNkXT0xLEx6W0YuRC5SY109MSxMeltGLkQuc2ldPTEsTHpbRi5ELnVpXT0xLEx6W0YuRC5DbF09MSxMeltGLkQuaWhdPTEsTHpbRi5ELkNmXT0xLEx6W0YuRC5EZl09MSxMeltGLkQuRWZdPTEsTHpbRi5ELkhhXT0xLEx6W0YuRC5GZl09MSxMeltGLkQuRmRdPTEsTHpbRi5ELnVjXT0xLEx6W0YuRC5IZF09MSxMeltGLkQuTGJdPTEsTHpbRi5ELkNiXT0xLEx6W0YuRC5UYl09MSxMeltGLkQubmJdPTEsTHpbRi5ELmViXT0xLEx6W0YuRC5HZV09MSxMeltGLkQua2hdPTEsTHpbRi5ELk9hXT0xLEx6W0YuRC5PcF09MSxMeltGLkQuU3BdPTEsTHpbRi5ELkllXT0xLEx6W0YuRC5HaV09MSxMeltGLkQuUWZdPTEsTHpbRi5ELlRhXT0xLEx6W0YuRC5ZY109MSxMeltGLkQuWmNdPTEsTHpbRi5ELnRiXT0xLEx6W0YuRC5RZF09MSxMeltGLkQuUmRdPTEsTHpbRi5ELlNkXT0KMSxMeltGLkQuTmVdPTEsTHpbRi5ELnphXT0xLEx6W0YuRC5VYV09MSxMeltGLkQuV2xdPTEsTHpbRi5ELlhsXT0xLEx6W0YuRC5ZbF09MSxMeltGLkQuWmxdPTEsTHpbRi5ELldiXT0xLEx6W0YuRC5UZF09MSxMeltGLkQuWGJdPTEsTHpbRi5ELmRkXT0xLEx6W0YuRC5VZF09MSxMeltGLkQuUWVdPTEsTHpbRi5ELlBhXT0xLEx6W0YuRC55Y109MSxMeltGLkQuVmRdPTEsTHpbRi5ELnpjXT0xLEx6W0YuRC5BY109MSxMeltGLkQuZmJdPTEsTHpbRi5ELlFhXT0xLEx6KSksTno9e30sT3o9KE56W0YuRC5VY109MSxOeltGLkQuUHBdPTEsTnpbRi5ELkhlXT0xLE56W0YuRC5yaV09MSxOei5vcmVmPTEsTnopO3ZhciBQeixRejsKZnVuY3Rpb24gUnooYSxiKXt2YXIgYz1hW0dmLlliXSxkPWImJmIuZXZlbnQ7aWYoIWMpdGhyb3cgRXJyb3IoIkVycm9yOiBObyBmdW5jdGlvbiBuYW1lIGdpdmVuIGZvciBmdW5jdGlvbiBjYWxsLiIpO3ZhciBlPVF6W2NdLGY9e30sZztmb3IoZyBpbiBhKWEuaGFzT3duUHJvcGVydHkoZykmJihTYihnLCJ2dHBfIik/ZltlIT09dm9pZCAwP2c6Zy5zdWJzdHJpbmcoNCldPWFbZ106Zz09PUdmLkZxLnRvU3RyaW5nKCkmJihmW2UhPT12b2lkIDA/InZ0cF9ndG1HZW5lcmF0ZWRUYWdnaW5nTWV0YWRhdGEiOmddPWFbZ10pKTtJZig2MSkmJmUmJihmLnZ0cF9leHRyYUV4cGVyaW1lbnRJZHM9ITApO2UmJmQmJmQuY2FjaGVkTW9kZWxWYWx1ZXMmJihmLnZ0cF9ndG1DYWNoZWRWYWx1ZXM9ZC5jYWNoZWRNb2RlbFZhbHVlcyk7YiYmZSYmKGYudnRwX2d0bUVudGl0eUluZGV4PWIuaW5kZXgsZi52dHBfZ3RtRW50aXR5TmFtZT1iLm5hbWUpO3JldHVybiBlIT09dm9pZCAwP2UoZik6UHooYyxmLApiKX12YXIgVHo9ZnVuY3Rpb24oKXt2YXIgYT1TejtpZihNKDU4NSkmJmZuLkspe3ZhciBiPUUoNSkuaW5kZXhPZigiR1RNLSIpPT09MCYmSWYoNjIpLGMsZD0oKGM9RmsoKSk9PW51bGw/dm9pZCAwOmMuc291cmNlKT09PTE7YiYmIWR8fGEuSHx8KGEuSD0hMCxVbSgiYWJsIiwiMSIpLHRvKCkpfX0sU3o9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPSExfTt2YXIgVXo9ZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5IPWE7dGhpcy5pbmRleD1iO3RoaXMudGFncz1jO3RoaXMubWFjcm9zPWQ7dGhpcy5uYW1lPVN0cmluZyh0aGlzLkhbR2YuUm1dfHwiIil9OwpVei5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSxiKXtpZighYlt0aGlzLmluZGV4XSYmIWEuaXNCbG9ja2VkKHRoaXMuSCkpe2JbdGhpcy5pbmRleF09ITA7dGhpcy5IW0dmLnBsLnRvU3RyaW5nKCldJiZUeigpO3ZhciBjPXRoaXMubmFtZSxkO3RyeXt2YXIgZT17fSxmO2ZvcihmIGluIHRoaXMuSCl0aGlzLkguaGFzT3duUHJvcGVydHkoZikmJihlW2ZdPWVsKHRoaXMuSFtmXSxhLHRoaXMudGFncyx0aGlzLm1hY3JvcyxiKSk7ZS52dHBfZ3RtRXZlbnRJZD1hLmlkO2EucHJpb3JpdHlJZCYmKGUudnRwX2d0bVByaW9yaXR5SWQ9YS5wcmlvcml0eUlkKTt2YXIgZz1kPVJ6KGUse2V2ZW50OmEsaW5kZXg6dGhpcy5pbmRleCx0eXBlOjIsbmFtZTpjfSk7ZVtHZi5aa10mJnR5cGVvZiBnPT09InN0cmluZyImJihnPWVbR2YuWmtdPT09MT9nLnRvTG93ZXJDYXNlKCk6Zy50b1VwcGVyQ2FzZSgpKTtlLmhhc093blByb3BlcnR5KEdmLmFoKSYmKGc9WWYoMTgpP2VbR2YuYWhdPT09MT8KVmYoZywiUEVSSU9EIik6ZVtHZi5haF09PT0yP1ZmKGcsIkNPTU1BIik6VmYoZywiQVVUT01BVElDIik6ZVtHZi5haF09PT0xP1ZmKGcsIlBFUklPRCIpOlZmKGcsIkNPTU1BIikpO2UuaGFzT3duUHJvcGVydHkoR2YuYmwpJiZnPT09bnVsbCYmKGc9ZVtHZi5ibF0pO2UuaGFzT3duUHJvcGVydHkoR2YuaWwpJiZnPT09dm9pZCAwJiYoZz1lW0dmLmlsXSk7ZS5oYXNPd25Qcm9wZXJ0eShHZi5lcCkmJihnPUpiKGcpKTtlLmhhc093blByb3BlcnR5KEdmLmZsKSYmZz09PSEwJiYoZz1lW0dmLmZsXSk7ZS5oYXNPd25Qcm9wZXJ0eShHZi5hbCkmJmc9PT0hMSYmKGc9ZVtHZi5hbF0pO2Q9Z31jYXRjaChoKXthLmxvZ01hY3JvRXJyb3ImJmEubG9nTWFjcm9FcnJvcihoLE51bWJlcih0aGlzLmluZGV4KSxjKSxkPSExfWJbdGhpcy5pbmRleF09ITE7cmV0dXJuIGR9fTtVei5wcm90b3R5cGUuRmc9ZnVuY3Rpb24oKXtyZXR1cm4gbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSx0aGlzLkgpfTt2YXIgVno9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuSD1hO3RoaXMudGFncz1iO3RoaXMubWFjcm9zPWN9O1Z6LnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbihhLGIpe3RyeXtmb3IodmFyIGM9e30sZD1tKE9iamVjdC5rZXlzKHRoaXMuSCkpLGU9ZC5uZXh0KCk7IWUuZG9uZTtlPWQubmV4dCgpKXt2YXIgZj1lLnZhbHVlO2NbZl09Zj09PSJmdW5jdGlvbiI/dGhpcy5IW2ZdOmVsKHRoaXMuSFtmXSxhLHRoaXMudGFncyx0aGlzLm1hY3JvcyxiKX1yZXR1cm4gY2woYyl9Y2F0Y2goZyl7SlNPTi5zdHJpbmdpZnkodGhpcy5IKX1yZXR1cm4gMn07VnoucHJvdG90eXBlLkZnPWZ1bmN0aW9uKCl7cmV0dXJuIG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sdGhpcy5IKX07dmFyIFd6PWZ1bmN0aW9uKGEsYil7dGhpcy5pbmRleD1iO3RoaXMuTj1bXTt0aGlzLlI9W107dGhpcy5LPVtdO3RoaXMuSD1bXTt0aGlzLm5hbWU9IiI7Zm9yKHZhciBjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPW0oZC52YWx1ZSksZj1lLm5leHQoKS52YWx1ZSxnPXlhKGUpLGg9ZixsPWc7aD09PSJpZiI/dGhpcy5OPWw6aD09PSJ1bmxlc3MiP3RoaXMuUj1sOmg9PT0iYWRkIj90aGlzLks9bDpoPT09ImJsb2NrIj90aGlzLkg9bDpoPT09InJ1bGVOYW1lIiYmKHRoaXMubmFtZT1sWzBdKX19OwpXei5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1Yeih0aGlzLGIpLGQ9W10sZT1bXTtjPyhkLnB1c2guYXBwbHkoZCx3KHRoaXMuSykpLGUucHVzaC5hcHBseShlLHcodGhpcy5IKSkpOmM9PT1udWxsJiZlLnB1c2guYXBwbHkoZSx3KHRoaXMuSCkpO3JldHVybntmaXJpbmdUYWdzOmQsYmxvY2tpbmdUYWdzOmV9fTsKdmFyIFh6PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW0oYS5OKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9YihkLnZhbHVlKTtpZihlPT09MClyZXR1cm4hMTtpZihlPT09MilyZXR1cm4gbnVsbH1mb3IodmFyIGY9bShhLlIpLGc9Zi5uZXh0KCk7IWcuZG9uZTtnPWYubmV4dCgpKXt2YXIgaD1iKGcudmFsdWUpO2lmKGg9PT0yKXJldHVybiBudWxsO2lmKGg9PT0xKXJldHVybiExfXJldHVybiEwfTtXei5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O3ZhciBZej1mdW5jdGlvbihhLGIsYyxkKXt0aGlzLklhPWE7dGhpcy5pbmRleD1iO3RoaXMudGFncz1jO3RoaXMubWFjcm9zPWQ7dGhpcy5PPVN0cmluZyh0aGlzLklhW0dmLlliXSk7dGhpcy5uYW1lPVN0cmluZyh0aGlzLklhW0dmLlJtXXx8IiIpO3RoaXMudGFnSWQ9TnVtYmVyKHRoaXMuSWFbR2YueWpdKX07Cll6LnByb3RvdHlwZS5ldmFsdWF0ZT1mdW5jdGlvbihhLGIsYyl7Yz1jPT09dm9pZCAwP3t9OmM7dmFyIGQsZT1jO2U9ZT09PXZvaWQgMD97fTplO3ZhciBmPXt9LGc7Zm9yKGcgaW4gdGhpcy5JYSl0aGlzLklhLmhhc093blByb3BlcnR5KGcpJiYoZltnXT1lbCh0aGlzLklhW2ddLGEsdGhpcy50YWdzLHRoaXMubWFjcm9zLFtdKSk7ZD1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGYsZSk7ZC52dHBfZ3RtVGFnSWQ9dGhpcy50YWdJZDt0aGlzLklhW0dmLnBsLnRvU3RyaW5nKCldJiZUeigpO1J6KGQse2V2ZW50OmEsaW5kZXg6dGhpcy5pbmRleCx0eXBlOjEsbmFtZTp0aGlzLm5hbWV9KX07WXoucHJvdG90eXBlLkZnPWZ1bmN0aW9uKCl7cmV0dXJuIG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sdGhpcy5JYSl9Owp2YXIgWno9ZnVuY3Rpb24oYSxiKXtpZihhLklhW0dmLnRuXSlyZXR1cm4gZWwoYS5JYVtHZi50bl0sYixhLnRhZ3MsYS5tYWNyb3MsW10pfSwkej1mdW5jdGlvbihhLGIpe2lmKGEuSWFbR2YuRG5dKXJldHVybiBlbChhLklhW0dmLkRuXSxiLGEudGFncyxhLm1hY3JvcyxbXSl9LGFBPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5JYVtHZi5jcF07aWYoYylyZXR1cm4gZWwoYyxiLGEudGFncyxhLm1hY3JvcyxbXSl9O1l6LnByb3RvdHlwZS5nZXRNZXRhZGF0YT1mdW5jdGlvbihhKXtyZXR1cm4gZWwodGhpcy5JYVtHZi5NRVRBREFUQV0sYSx0aGlzLnRhZ3MsdGhpcy5tYWNyb3MsW10pfTtZei5wcm90b3R5cGUuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9O3ZhciBiQT1mdW5jdGlvbigpe3RoaXMubWFjcm9zPVtdO3RoaXMucnVsZXM9W107dGhpcy5wcmVkaWNhdGVzPVtdO3RoaXMudGFncz1bXTt0aGlzLnZrPVtdfTtiQS5wcm90b3R5cGUuZ2V0UnVsZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ydWxlc307dmFyIGNBPW5ldyBiQTtmdW5jdGlvbiBkQShhLGIsYyxkKXt2YXIgZT1XYygpLGY7aWYoZT09PTEpYTp7dmFyIGc9RSgzKTtnPWcudG9Mb3dlckNhc2UoKTtmb3IodmFyIGg9Imh0dHBzOi8vIitnLGw9Imh0dHA6Ly8iK2csbj0xLHA9Qi5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IikscT0wO3E8cC5sZW5ndGgmJnE8MTAwO3ErKyl7dmFyIHI9cFtxXS5zcmM7aWYocil7cj1yLnRvTG93ZXJDYXNlKCk7aWYoci5pbmRleE9mKGwpPT09MCl7Zj0zO2JyZWFrIGF9bj09PTEmJnIuaW5kZXhPZihoKT09PTAmJihuPTIpfX1mPW59ZWxzZSBmPWU7cmV0dXJuKGY9PT0yfHxkfHwiaHR0cDoiIT09QS5sb2NhdGlvbi5wcm90b2NvbD9hOmIpK2N9O3ZhciBlQT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5LPXt9O3RoaXMuSD17fTtmeihmdW5jdGlvbihiKXt2YXIgYz1bXSxkO2ZvcihkIGluIGEuSylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYS5LLGQpJiZjLnB1c2goZCsifiIrYS5LW2RdKTt2YXIgZT1bXSxmO2ZvcihmIGluIGEuSClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYS5ILGYpJiZlLnB1c2goZisifiIrYS5IW2ZdKTtiLnRmJiYoYS5LPXt9LGEuSD17fSk7dmFyIGc9W107Yy5sZW5ndGg+MCYmZy5wdXNoKFsiYmNzIixjLmpvaW4oIi4iKV0pO2UubGVuZ3RoPjAmJmcucHVzaChbImJldCIsZS5qb2luKCIuIildKTtyZXR1cm4gZ30pfSxmQTtmdW5jdGlvbiBnQSgpe2ZBfHwoZkE9bmV3IGVBKX07ZnVuY3Rpb24gaEEoYSxiLGMsZCxlKXtpZighRWsoYSkpe2QubG9hZEV4cGVyaW1lbnRzPXlqKCk7SGsoYSxkLGUpO3ZhciBmPWlBKGEpLGc9ZnVuY3Rpb24oKXtvaygpLmNvbnRhaW5lclthXSYmKG9rKCkuY29udGFpbmVyW2FdLnN0YXRlPTMpO2pBKCl9LGg9e2Rlc3RpbmF0aW9uSWQ6YSxlbmRwb2ludDowfTtpZihXaigpKXt2YXIgbD1YaigpLG49bCsiLyIra0EoZixhKTtabihoLG4sdm9pZCAwLGZ1bmN0aW9uKCl7bEEoYSxuLGwrIi8iK2YsaCxnKX0pfWVsc2V7dmFyIHA9U2IoYSwiR1RNLSIpLHE9ZGsoKSxyPWM/Ii9ndGFnL2pzIjoiL2d0bS5qcyIsdD1tQShiLHIrZixhKTtpZighdCl7dmFyIHU9RSgzKStyO3EmJktjJiZwJiYodT1LYy5yZXBsYWNlKC9eKD86aHR0cHM/OlwvXC8pPy9pLCIiKS5zcGxpdCgvWz8jXS8pWzBdKTt0PWRBKCJodHRwczovLyIsImh0dHA6Ly8iLHUrZil9Wm4oaCx0LHZvaWQgMCxnKX19fQpmdW5jdGlvbiBqQSgpe0trKCl8fEdiKExrKCksZnVuY3Rpb24oYSxiKXtuQShhLGIudHJhbnNwb3J0VXJsLGIuY29udGV4dCk7UCg5Mil9KX1mdW5jdGlvbiBuQShhLGIsYyxkKXtpZighR2soYSkpaWYoYy5sb2FkRXhwZXJpbWVudHN8fChjLmxvYWRFeHBlcmltZW50cz15aigpKSxLaygpKUprKGEsYixjLGQpO2Vsc2V7SWsoYSxjLGQpO3ZhciBlPXtkZXN0aW5hdGlvbklkOmEsZW5kcG9pbnQ6MH07aWYoV2ooKSl7dmFyIGY9WGooKSxnPSJndGQiK2lBKGEsITApLGg9ZisiLyIra0EoZyxhKTtabihlLGgsdm9pZCAwLGZ1bmN0aW9uKCl7bEEoYSxoLGYrIi8iK2csZSl9KX1lbHNle3ZhciBsPSIvZ3RhZy9kZXN0aW5hdGlvbiIraUEoYSwhMCksbj1tQShiLGwsYSk7bnx8KG49ZEEoImh0dHBzOi8vIiwiaHR0cDovLyIsRSgzKStsKSk7Wm4oZSxuKX19fQpmdW5jdGlvbiBsQShhLGIsYyxkLGUpe2lmKE0oNDEzKSl7Z0EoKTt2YXIgZj1mQTtpZihmbi5OKXt2YXIgZz1BLnBlcmZvcm1hbmNlLGg9LTE7aWYoZyYmZy5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbD1SaihiKS5ocmVmLG49Zy5nZXRFbnRyaWVzQnlOYW1lKGwpLnBvcCgpO2lmKCFuKWZvcih2YXIgcD1nLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikscT0wO3E8cC5sZW5ndGg7cSsrKXt2YXIgcj1wW3FdO2lmKHIubmFtZSYmci5uYW1lLmluZGV4T2YoYikhPT0tMSl7bj1yO2JyZWFrfX1uJiZuLnJlc3BvbnNlU3RhdHVzIT09dm9pZCAwJiYoaD1uLnJlc3BvbnNlU3RhdHVzKX1mLktbYV09aH1QKDE5MCk7dmFyIHQ9bm0oam0uYmEua2opfHx7fTt0W2FdPSEwO21tKGptLmJhLmtqLHQpO3ZhciB1PWMrKGMuaW5kZXhPZigiPyIpPT09LTE/Ij9mPTEiOiImZj0xIik7ZT9abihkLHUsdm9pZCAwLGUpOlpuKGQsdSl9ZWxzZSBlJiZlKCl9CmZ1bmN0aW9uIGlBKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dmFyIGM9Ij9pZD0iK2VuY29kZVVSSUNvbXBvbmVudChhKSxkPUUoMTkpO2QhPT0iZGF0YUxheWVyIiYmKGMrPSImbD0iK2QpO3ZhciBlPVNiKGEsIkdUTS0iKTtpZighZXx8YiljKz0iJmN4PWMiO2UmJklmKDYyKSYmKGMrPSImZ29vZ2xlX29ubHk9dHJ1ZSIpO3ZhciBmPWMsZyxoPXtEbzpKZigxNSksSW86RSgxNCl9O2c9Q2YoaCk7Yz1mKygiJmd0bT0iK2cpO2RrKCkmJihjKz0iJnNpZ249IitBai5xaik7dmFyIGw9YyxuPUpmKDU0KTtpZihuPT09MSl7bCs9IiZmcHM9ZmMiO3ZhciBwPUUoNjApO3AmJihsKz0iJmdkZXY9IitwKX1lbHNlIG49PT0yJiYobCs9IiZmcHM9ZmUiKTtyZXR1cm4gbH0KZnVuY3Rpb24ga0EoYSxiKXtpZighTSg0MTMpfHwhWGooKSlyZXR1cm4gYTt2YXIgYz1FKDU4KTtpZighYylyZXR1cm4gUCgxODIpLGE7dHJ5e3ZhciBkPU5iKCksZT1FZihhLGMpLGY9TmIoKS1kO2dBKCk7dmFyIGc9ZkE7Zm4uTiYmKGcuSFtiXT1mKTtyZXR1cm4gZX1jYXRjaChoKXtyZXR1cm4gUCgxODMpLGF9fWZ1bmN0aW9uIG1BKGEsYixjKXtpZihhaygpJiZhKXt2YXIgZD1FKDU4KSxlPVhqKCk7aWYoZCYmZSl0cnl7dmFyIGY9TmIoKTtiPWUrIi8iK0VmKGIsZCk7dmFyIGc9TmIoKS1mO2dBKCk7dmFyIGg9ZkE7Zm4uTiYmKGguSFtjXT1nKX1jYXRjaChsKXtQKDE4Myl9cmV0dXJuIFlqKGEsYil9fTt2YXIgcEE9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuSz1uZXcgRmI7dGhpcy5IPXt9O3RoaXMuTj17fTt0aGlzLlI9e25hbWU6RSgxOSksc2V0OmZ1bmN0aW9uKGIsYyl7RWQoVmIoYixjKSxhLkgpO29BKGEpfSxnZXQ6ZnVuY3Rpb24oYil7cmV0dXJuIGEuZ2V0KGIsMil9LHJlc2V0OmZ1bmN0aW9uKCl7YS5LPW5ldyBGYjthLkg9e307b0EoYSl9fX07cEEucHJvdG90eXBlLmdldD1mdW5jdGlvbihhLGIpe3JldHVybiBiIT0yP3RoaXMuSy5nZXQoYSk6cUEodGhpcyxhKX07dmFyIHFBPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iLnNwbGl0KCIuIik7Yz1jfHxbXTtmb3IodmFyIGU9YS5ILGY9MDtmPGQubGVuZ3RoO2YrKyl7aWYoZT09PW51bGwpcmV0dXJuITE7aWYoZT09PXZvaWQgMClicmVhaztlPWVbZFtmXV07aWYoYy5pbmRleE9mKGUpIT09LTEpcmV0dXJufXJldHVybiBlfTsKcEEucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3RoaXMuTi5oYXNPd25Qcm9wZXJ0eShhKXx8KHRoaXMuSy5zZXQoYSxiKSxFZChWYihhLGIpLHRoaXMuSCksb0EodGhpcykpfTt2YXIgc0E9ZnVuY3Rpb24oKXtmb3IodmFyIGE9WyJndG0uYWxsb3dsaXN0IiwiZ3RtLmJsb2NrbGlzdCIsImd0bS53aGl0ZWxpc3QiLCJndG0uYmxhY2tsaXN0IiwidGFnVHlwZUJsYWNrbGlzdCJdLGI9ckEsYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLGU9Yi5nZXQoZCwxKTtpZihBcnJheS5pc0FycmF5KGUpfHxDZChlKSllPUVkKGUsbnVsbCk7Yi5OW2RdPWV9fSxvQT1mdW5jdGlvbihhLGIpe0diKGEuTixmdW5jdGlvbihjLGQpe2EuSy5zZXQoYyxkKTtFZChWYihjKSxhLkgpO0VkKFZiKGMsZCksYS5IKTtiJiZkZWxldGUgYS5OW2NdfSl9LHJBPW5ldyBwQSx0QT1yQS5SO2Z1bmN0aW9uIHVBKGEsYil7cmV0dXJuIHJBLmdldChhLGIpfQpmdW5jdGlvbiB2QShhLGIpe3ZhciBjPWI9PT12b2lkIDA/MjpiLGQ9ckEsZSxmPShjPT09dm9pZCAwPzI6YykhPT0xP3FBKGQsYSk6ZC5LLmdldChhKTtBZChmKT09PSJhcnJheSJ8fEFkKGYpPT09Im9iamVjdCI/ZT1FZChmLG51bGwpOmU9ZjtyZXR1cm4gZX07dmFyIHdBPW5ldyBSZWdFeHAoL14oLipcLik/KGdvb2dsZXx5b3V0dWJlfGJsb2dnZXJ8d2l0aGdvb2dsZSkoXC5jb20/KT8oXC5bYS16XXsyfSk/XC4/JC8pLHhBPXtjbDpbImVjbCJdLGN1c3RvbVBpeGVsczpbIm5vbkdvb2dsZVBpeGVscyJdLGVjbDpbImNsIl0sZWhsOlsiaGwiXSxnYWF3YzpbImdvb2d0YWciXSxobDpbImVobCJdLGh0bWw6WyJjdXN0b21TY3JpcHRzIiwiY3VzdG9tUGl4ZWxzIiwibm9uR29vZ2xlUGl4ZWxzIiwibm9uR29vZ2xlU2NyaXB0cyIsIm5vbkdvb2dsZUlmcmFtZXMiXSxjdXN0b21TY3JpcHRzOlsiaHRtbCIsImN1c3RvbVBpeGVscyIsIm5vbkdvb2dsZVBpeGVscyIsIm5vbkdvb2dsZVNjcmlwdHMiLCJub25Hb29nbGVJZnJhbWVzIl0sbm9uR29vZ2xlUGl4ZWxzOltdLG5vbkdvb2dsZVNjcmlwdHM6WyJub25Hb29nbGVQaXhlbHMiXSxub25Hb29nbGVJZnJhbWVzOlsibm9uR29vZ2xlUGl4ZWxzIl19LHlBPXtjbDpbImVjbCJdLGN1c3RvbVBpeGVsczpbImN1c3RvbVNjcmlwdHMiLAoiaHRtbCJdLGVjbDpbImNsIl0sZWhsOlsiaGwiXSxnYWF3YzpbImdvb2d0YWciXSxobDpbImVobCJdLGh0bWw6WyJjdXN0b21TY3JpcHRzIl0sY3VzdG9tU2NyaXB0czpbImh0bWwiXSxub25Hb29nbGVQaXhlbHM6WyJjdXN0b21QaXhlbHMiLCJjdXN0b21TY3JpcHRzIiwiaHRtbCIsIm5vbkdvb2dsZVNjcmlwdHMiLCJub25Hb29nbGVJZnJhbWVzIl0sbm9uR29vZ2xlU2NyaXB0czpbImN1c3RvbVNjcmlwdHMiLCJodG1sIl0sbm9uR29vZ2xlSWZyYW1lczpbImN1c3RvbVNjcmlwdHMiLCJodG1sIiwibm9uR29vZ2xlU2NyaXB0cyJdfSx6QT0iZ29vZ2xlIGN1c3RvbVBpeGVscyBjdXN0b21TY3JpcHRzIGh0bWwgbm9uR29vZ2xlUGl4ZWxzIG5vbkdvb2dsZVNjcmlwdHMgbm9uR29vZ2xlSWZyYW1lcyIuc3BsaXQoIiAiKTsKZnVuY3Rpb24gQUEoKXt2YXIgYT11QSgiZ3RtLmFsbG93bGlzdCIpfHx1QSgiZ3RtLndoaXRlbGlzdCIpO2EmJlAoOSk7SWYoNjIpJiYoYT12b2lkIDApO0JBKCkmJihJZig2Mik/UCgxMTYpOihQKDExNyksSWYoNDgpJiYoYT1bXSx3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nJiZ3aW5kb3cuY29uc29sZS5sb2coIkdUTSBibG9ja2VkLiBTZWUgZ28vMTM2ODc3MjguIikpKSk7dmFyIGI9YSYmUmIoS2IoYSkseEEpLGM9dUEoImd0bS5ibG9ja2xpc3QiKXx8dUEoImd0bS5ibGFja2xpc3QiKTtjfHwoYz11QSgidGFnVHlwZUJsYWNrbGlzdCIpKSYmUCgzKTtjP1AoOCk6Yz1bXTtCQSgpJiYoYz1LYihjKSxjLnB1c2goIm5vbkdvb2dsZVBpeGVscyIsIm5vbkdvb2dsZVNjcmlwdHMiLCJzYW5kYm94ZWRTY3JpcHRzIikpO0tiKGMpLmluZGV4T2YoImdvb2dsZSIpPj0wJiZQKDIpO3ZhciBkPWMmJlJiKEtiKGMpLHlBKSxlPXt9O3JldHVybiBmdW5jdGlvbihmKXt2YXIgZz1mJiYKZltHZi5ZYl07aWYoIWd8fHR5cGVvZiBnIT09InN0cmluZyIpcmV0dXJuITA7Zz1nLnJlcGxhY2UoL15fKi8sIiIpO2lmKGVbZ10hPT12b2lkIDApcmV0dXJuIGVbZ107dmFyIGg9YWwoMjcsZnVuY3Rpb24oKXtyZXR1cm57fX0pW2ddfHxbXSxsPSEwO2EmJihsPWwmJkNBKGcsaCxiKSk7dmFyIG49ITE7YyYmKG49REEoZyxoLGQpKTt2YXIgcD0hbHx8bjshcCYmKGguaW5kZXhPZigic2FuZGJveGVkU2NyaXB0cyIpPT09LTF8fGImJmIuaW5kZXhPZigic2FuZGJveGVkU2NyaXB0cyIpIT09LTE/MDpFYihkLHpBKSkmJihwPSEwKTtyZXR1cm4gZVtnXT1wfX1mdW5jdGlvbiBDQShhLGIsYyl7aWYoYy5pbmRleE9mKGEpPDApaWYoYiYmYi5sZW5ndGg+MClmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7aWYoYy5pbmRleE9mKGJbZF0pPDApcmV0dXJuIFAoMTEpLCExfWVsc2UgcmV0dXJuITE7cmV0dXJuITB9CmZ1bmN0aW9uIERBKGEsYixjKXt2YXIgZD1jLmluZGV4T2YoYSk+PTA7aWYoZClyZXR1cm4gZDt2YXIgZT1FYihjLGJ8fFtdKTtlJiZQKDEwKTtyZXR1cm4gZX1mdW5jdGlvbiBCQSgpe3JldHVybiB3QS50ZXN0KEEubG9jYXRpb24mJkEubG9jYXRpb24uaG9zdG5hbWUpfTtmdW5jdGlvbiBFQShhKXtmb3IodmFyIGI9W10sYz1bXSxkPUZBKGEpLGU9bShjQS5nZXRSdWxlcygpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7Zm9yKHZhciBnPWYudmFsdWUuZXZhbHVhdGUoYSxkKSxoPWcuZmlyaW5nVGFncyxsPWcuYmxvY2tpbmdUYWdzLG49MDtuPGgubGVuZ3RoO24rKyliW2hbbl1dPSEwO2Zvcih2YXIgcD0wO3A8bC5sZW5ndGg7cCsrKWNbbFtwXV09ITB9Zm9yKHZhciBxPVtdLHI9MDtyPGNBLnRhZ3MubGVuZ3RoO3IrKyliW3JdJiYhY1tyXSYmKHFbcl09ITApO3JldHVybiBxfWZ1bmN0aW9uIEZBKGEpe3ZhciBiPVtdO3JldHVybiBmdW5jdGlvbihjKXtiW2NdPT09dm9pZCAwJiYoYltjXT1jQS5wcmVkaWNhdGVzW2NdLmV2YWx1YXRlKGEsW10pKTtyZXR1cm4gYltjXX19O3ZhciBHQT1mdW5jdGlvbigpe3RoaXMuSz0wO3RoaXMuSD17fX07R0EucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0rK3RoaXMuSzt0aGlzLkhbYV09dGhpcy5IW2FdfHx7fTt0aGlzLkhbYV1bU3RyaW5nKGQpXT17bGlzdGVuZXI6YixyZjpjfTtyZXR1cm4gZH07R0EucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5IW2FdLGQ9U3RyaW5nKGIpO2lmKCFjfHwhY1tkXSlyZXR1cm4hMTtkZWxldGUgY1tkXTtyZXR1cm4hMH07dmFyIElBPWZ1bmN0aW9uKGEsYil7dmFyIGM9W107R2IoSEEuSFthXSxmdW5jdGlvbihkLGUpe2MuaW5kZXhPZihlLmxpc3RlbmVyKTwwJiYoZS5yZj09PXZvaWQgMHx8Yi5pbmRleE9mKGUucmYpPj0wKSYmYy5wdXNoKGUubGlzdGVuZXIpfSk7cmV0dXJuIGN9O2Z1bmN0aW9uIEpBKGEsYixjKXtyZXR1cm57ZW50aXR5VHlwZTphLGluZGV4SW5PcmlnaW5Db250YWluZXI6YixuYW1lSW5PcmlnaW5Db250YWluZXI6YyxvcmlnaW5Db250YWluZXJJZDpFKDUpLG9yaWdpbkNJZDp2aygpfX07ZnVuY3Rpb24gS0EoYSxiKXtpZihkYXRhLmVudGl0aWVzKXt2YXIgYz1kYXRhLmVudGl0aWVzW2FdO2lmKGMpcmV0dXJuIGNbYl19fTt2YXIgTUE9ZnVuY3Rpb24oYSxiKXt0aGlzLkg9ITE7dGhpcy5SPVtdO3RoaXMuZXZlbnREYXRhPXt0YWdzOltdfTt0aGlzLlo9ITE7dGhpcy5LPXRoaXMuTj0wO0xBKHRoaXMsYSxiKX0sTkE9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoQ2ouaGFzT3duUHJvcGVydHkoYil8fGI9PT0iX196b25lIilyZXR1cm4tMTt2YXIgZT17fTtDZChkKSYmKGU9RWQoZCxlKSk7ZS5pZD1jO2Uuc3RhdHVzPSJ0aW1lb3V0IjtyZXR1cm4gYS5ldmVudERhdGEudGFncy5wdXNoKGUpLTF9LE9BPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuZXZlbnREYXRhLnRhZ3NbYl07ZSYmKGUuc3RhdHVzPWMsZS5leGVjdXRpb25UaW1lPWQpfSxQQT1mdW5jdGlvbihhKXtpZighYS5IKXtmb3IodmFyIGI9YS5SLGM9MDtjPGIubGVuZ3RoO2MrKyliW2NdKCk7YS5IPSEwO2EuUi5sZW5ndGg9MH19LExBPWZ1bmN0aW9uKGEsYixjKXtiIT09dm9pZCAwJiZhLndnKGIpO2MmJkEuc2V0VGltZW91dChmdW5jdGlvbigpe1BBKGEpfSwKTnVtYmVyKGMpKX07TUEucHJvdG90eXBlLndnPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1QYihmdW5jdGlvbigpe2JkKGZ1bmN0aW9uKCl7YShFKDUpLGIuZXZlbnREYXRhKX0pfSk7dGhpcy5IP2MoKTp0aGlzLlIucHVzaChjKX07dmFyIFFBPWZ1bmN0aW9uKGEpe2EuTisrO3JldHVybiBQYihmdW5jdGlvbigpe2EuSysrO2EuWiYmYS5LPj1hLk4mJlBBKGEpfSl9LFJBPWZ1bmN0aW9uKGEpe2EuWj0hMDthLks+PWEuTiYmUEEoYSl9O2Z1bmN0aW9uIFNBKCl7cmV0dXJuIEFbVEEoKV19CmZ1bmN0aW9uIFRBKCl7cmV0dXJuIEEuR29vZ2xlQW5hbHl0aWNzT2JqZWN0fHwiZ2EifXZhciBXQT1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9e319O2Z1bmN0aW9uIFhBKCl7YTp7dmFyIGE9RSg1KTt9fQpmdW5jdGlvbiBZQShhLGIpe3JldHVybiBmdW5jdGlvbigpe3ZhciBjPVNBKCksZD1jJiZjLmdldEJ5TmFtZSYmYy5nZXRCeU5hbWUoYSk7aWYoZCl7dmFyIGU9ZC5nZXQoInNlbmRIaXRUYXNrIik7ZC5zZXQoInNlbmRIaXRUYXNrIixmdW5jdGlvbihmKXt2YXIgZz1mLmdldCgiaGl0UGF5bG9hZCIpLGg9Zi5nZXQoImhpdENhbGxiYWNrIiksbD1nLmluZGV4T2YoIiZ0aWQ9IitiKTwwO2wmJihmLnNldCgiaGl0UGF5bG9hZCIsZy5yZXBsYWNlKC8mdGlkPVVBLVswLTldKy1bMC05XSsvLCImdGlkPSIrYiksITApLGYuc2V0KCJoaXRDYWxsYmFjayIsdm9pZCAwLCEwKSk7ZShmKTtsJiYoZi5zZXQoImhpdFBheWxvYWQiLGcsITApLGYuc2V0KCJoaXRDYWxsYmFjayIsaCwhMCksZi5zZXQoIl94XzE5Iix2b2lkIDAsITApLGUoZikpfSl9fX07dmFyIGFCPVsiZXMiLCIxIl0sYkI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuZXZlbnREYXRhPXt9O3RoaXMuSD17fTtmeihmdW5jdGlvbihiKXt2YXIgYzt2YXIgZD1iLmV2ZW50SWQsZT1iLnRmO2lmKGEuZXZlbnREYXRhW2RdKXt2YXIgZj1bXTthLkhbZF18fGYucHVzaChhQik7Zi5wdXNoLmFwcGx5KGYsdyhhLmV2ZW50RGF0YVtkXSkpO2UmJihhLkhbZF09ITApO2M9Zn1lbHNlIGM9W107cmV0dXJuIGN9KX0sY0I7ZnVuY3Rpb24gZEIoYSxiKXt2YXIgYztpZigoYz1jQikhPW51bGwmJmZuLk4pe3ZhciBkPWMuZXZlbnREYXRhLGU7ZT1iLm1hdGNoKC9eKGd0bXxndGFnKVwuLyk/ZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIqIjtkW2FdPVtbImUiLGVdLFsiZWlkIixTdHJpbmcoYSldXTtneigpO2V6KGEpfX07dmFyIGVCPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkg9e307dGhpcy5LPXt9O2Z6KGZ1bmN0aW9uKGIpe3ZhciBjPWIuZXZlbnRJZCxkPWIudGYsZT1bXSxmPWEuSFtjXXx8W107Zi5sZW5ndGgmJmUucHVzaChbInRyIixmLmpvaW4oIi4iKV0pO3ZhciBnPWEuS1tjXXx8W107Zy5sZW5ndGgmJmUucHVzaChbInRpIixnLmpvaW4oIi4iKV0pO2QmJihkZWxldGUgYS5IW2NdLGRlbGV0ZSBhLktbY10pO3JldHVybiBlfSl9LGZCOwpmdW5jdGlvbiBnQihhLGIsYyl7ZkJ8fChmQj1uZXcgZUIpO3ZhciBkPWZCO2lmKGZuLk4mJmIpe3ZhciBlPWRuKGIpO2QuSFthXT1kLkhbYV18fFtdO2QuSFthXS5wdXNoKGMrZSk7dmFyIGY9YltHZi5ZYl07aWYoIWYpdGhyb3cgRXJyb3IoIkVycm9yOiBObyBmdW5jdGlvbiBuYW1lIGdpdmVuIGZvciBmdW5jdGlvbiBjYWxsLiIpO3ZhciBnPShReltmXT8iMSI6IjIiKStlO2QuS1thXT1kLktbYV18fFtdO2QuS1thXS5wdXNoKGcpO2d6KCk7ZXooYSl9fTtmdW5jdGlvbiBoQihhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7aUIoKS5hZGRSZXN0cmljdGlvbigwLGEsYixjKX1mdW5jdGlvbiBqQigpe3ZhciBhPXZrKCk7cmV0dXJuIGlCKCkuZ2V0UmVzdHJpY3Rpb25zKDAsYSl9ZnVuY3Rpb24ga0IoYSxiLGMpe2M9Yz09PXZvaWQgMD8hMTpjO2lCKCkuYWRkUmVzdHJpY3Rpb24oMSxhLGIsYyl9ZnVuY3Rpb24gbEIoKXt2YXIgYT12aygpO3JldHVybiBpQigpLmdldFJlc3RyaWN0aW9ucygxLGEpfXZhciBtQj1mdW5jdGlvbigpe3RoaXMuY29udGFpbmVyPXt9O3RoaXMuSD17fX0sbkI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmNvbnRhaW5lcltiXTtjfHwoYz17X2VudGl0eTp7aW50ZXJuYWw6W10sZXh0ZXJuYWw6W119LF9ldmVudDp7aW50ZXJuYWw6W10sZXh0ZXJuYWw6W119fSxhLmNvbnRhaW5lcltiXT1jKTtyZXR1cm4gY307Cm1CLnByb3RvdHlwZS5hZGRSZXN0cmljdGlvbj1mdW5jdGlvbihhLGIsYyxkKXtkPWQ9PT12b2lkIDA/ITE6ZDtpZighZHx8IXRoaXMuSFtiXSl7dmFyIGU9bkIodGhpcyxiKTthPT09MD9kP2UuX2VudGl0eS5leHRlcm5hbC5wdXNoKGMpOmUuX2VudGl0eS5pbnRlcm5hbC5wdXNoKGMpOmE9PT0xJiYoZD9lLl9ldmVudC5leHRlcm5hbC5wdXNoKGMpOmUuX2V2ZW50LmludGVybmFsLnB1c2goYykpfX07Cm1CLnByb3RvdHlwZS5nZXRSZXN0cmljdGlvbnM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uQih0aGlzLGIpO2lmKGE9PT0wKXt2YXIgZCxlO3JldHVybltdLmNvbmNhdCh3KChjPT1udWxsP3ZvaWQgMDooZD1jLl9lbnRpdHkpPT1udWxsP3ZvaWQgMDpkLmludGVybmFsKXx8W10pLHcoKGM9PW51bGw/dm9pZCAwOihlPWMuX2VudGl0eSk9PW51bGw/dm9pZCAwOmUuZXh0ZXJuYWwpfHxbXSkpfWlmKGE9PT0xKXt2YXIgZixnO3JldHVybltdLmNvbmNhdCh3KChjPT1udWxsP3ZvaWQgMDooZj1jLl9ldmVudCk9PW51bGw/dm9pZCAwOmYuaW50ZXJuYWwpfHxbXSksdygoYz09bnVsbD92b2lkIDA6KGc9Yy5fZXZlbnQpPT1udWxsP3ZvaWQgMDpnLmV4dGVybmFsKXx8W10pKX1yZXR1cm5bXX07Cm1CLnByb3RvdHlwZS5nZXRFeHRlcm5hbFJlc3RyaWN0aW9ucz1mdW5jdGlvbihhLGIpe3ZhciBjPW5CKHRoaXMsYiksZCxlO3JldHVybiBhPT09MD8oYz09bnVsbD92b2lkIDA6KGQ9Yy5fZW50aXR5KT09bnVsbD92b2lkIDA6ZC5leHRlcm5hbCl8fFtdOihjPT1udWxsP3ZvaWQgMDooZT1jLl9ldmVudCk9PW51bGw/dm9pZCAwOmUuZXh0ZXJuYWwpfHxbXX07bUIucHJvdG90eXBlLnJlbW92ZUV4dGVybmFsUmVzdHJpY3Rpb25zPWZ1bmN0aW9uKGEpe3ZhciBiPW5CKHRoaXMsYSk7Yi5fZXZlbnQmJihiLl9ldmVudC5leHRlcm5hbD1bXSk7Yi5fZW50aXR5JiYoYi5fZW50aXR5LmV4dGVybmFsPVtdKTt0aGlzLkhbYV09ITB9O2Z1bmN0aW9uIGlCKCl7cmV0dXJuIGtqKCJyIixmdW5jdGlvbigpe3JldHVybiBuZXcgbUJ9KX07ZnVuY3Rpb24gb0IoYSxiLGMsZCl7dmFyIGU9Y0EudGFnc1thXSxmPXBCKGEsYixjLGQpO2lmKCFmKXJldHVybiBudWxsO3ZhciBnPVp6KGUsYyk7aWYoZyYmZy5sZW5ndGgpe3ZhciBoPWdbMF07Zj1vQihoLmluZGV4LHtvblN1Y2Nlc3M6ZixvbkZhaWx1cmU6aC5ibz09PTE/Yi50ZXJtaW5hdGU6Zix0ZXJtaW5hdGU6Yi50ZXJtaW5hdGV9LGMsZCl9cmV0dXJuIGZ9CmZ1bmN0aW9uIHBCKGEsYixjLGQpe2Z1bmN0aW9uIGUoKXtmdW5jdGlvbiB5KCl7aW0oMyk7dmFyIFM9TmIoKS1OO0pBKDEsYSxmLmdldE5hbWUoKSk7Z0IoYy5pZCxnLCI3Iik7T0EoYy5sZCxELCJleGNlcHRpb24iLFMpO2ZuLkgmJkZ6KGMsZyxJeS5YLnVqKTtJfHwoST0hMCxsKCkpfWlmKGYuSWFbR2YuT3FdKWwoKTtlbHNle3ZhciB6PWFBKGYsYyk7aWYoeiE9bnVsbClmb3IodmFyIEM9MDtDPHoubGVuZ3RoO0MrKylpZighWG8oeltDXSkpe2woKTtyZXR1cm59dmFyIEQ9TkEoYy5sZCxmLk8sZi50YWdJZCxmLmdldE1ldGFkYXRhKGMpKSxJPSExLEc9e3Z0cF9ndG1PblN1Y2Nlc3M6ZnVuY3Rpb24oKXtpZighSSl7ST0hMDt2YXIgUz1OYigpLU47Z0IoYy5pZCxnLCI1Iik7T0EoYy5sZCxELCJzdWNjZXNzIixTKTtmbi5IJiZGeihjLGcsSXkuWC53aik7aCgpfX0sdnRwX2d0bU9uRmFpbHVyZTpmdW5jdGlvbigpe2lmKCFJKXtJPSEwO3ZhciBTPU5iKCktTjtnQihjLmlkLGcsIjYiKTsKT0EoYy5sZCxELCJmYWlsdXJlIixTKTtmbi5IJiZGeihjLGcsSXkuWC52aik7bCgpfX19O0cudnRwX2d0bUV2ZW50SWQ9Yy5pZDtjLnByaW9yaXR5SWQmJihHLnZ0cF9ndG1Qcmlvcml0eUlkPWMucHJpb3JpdHlJZCk7Z0IoYy5pZCxnLCIxIik7Zm4uSCYmRXooYyxnKTt2YXIgTj1OYigpO3RyeXtmLmV2YWx1YXRlKGMsZCxHKX1jYXRjaChTKXt5KFMpfWZuLkgmJkZ6KGMsZyxJeS5YLkNuKX19dmFyIGY9Y0EudGFnc1thXSxnPWYuRmcoKSxoPWIub25TdWNjZXNzLGw9Yi5vbkZhaWx1cmUsbj1iLnRlcm1pbmF0ZTtpZihjLmlzQmxvY2tlZChnKSlyZXR1cm4gbnVsbDt2YXIgcD0keihmLGMpO2lmKHAmJnAubGVuZ3RoKXt2YXIgcT1wWzBdLHI9b0IocS5pbmRleCx7b25TdWNjZXNzOmgsb25GYWlsdXJlOmwsdGVybWluYXRlOm59LGMsZCk7aWYoIXIpcmV0dXJuIG51bGw7aD1yO2w9cS5ibz09PTI/bjpyfWlmKGYuSWFbR2Yua25dfHxmLklhW0dmLlFxXSl7dmFyIHQ9Zi5JYVtHZi5rbl0/CmNBLnZrOmMudmssdT1oLHY9bDtpZighdFthXSl7dmFyIHg9cUIoYSx0LFBiKGUpKTtoPXgub25TdWNjZXNzO2w9eC5vbkZhaWx1cmV9cmV0dXJuIGZ1bmN0aW9uKCl7dFthXSh1LHYpfX1yZXR1cm4gZX1mdW5jdGlvbiBxQihhLGIsYyl7dmFyIGQ9W10sZT1bXTtiW2FdPXJCKGQsZSxjKTtyZXR1cm57b25TdWNjZXNzOmZ1bmN0aW9uKCl7YlthXT1zQjtmb3IodmFyIGY9MDtmPGQubGVuZ3RoO2YrKylkW2ZdKCl9LG9uRmFpbHVyZTpmdW5jdGlvbigpe2JbYV09dEI7Zm9yKHZhciBmPTA7ZjxlLmxlbmd0aDtmKyspZVtmXSgpfX19ZnVuY3Rpb24gckIoYSxiLGMpe3JldHVybiBmdW5jdGlvbihkLGUpe2EucHVzaChkKTtiLnB1c2goZSk7YygpfX1mdW5jdGlvbiBzQihhKXthKCl9ZnVuY3Rpb24gdEIoYSxiKXtiKCl9O3ZhciB3Qj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxjQS50YWdzLmxlbmd0aDtkKyspaWYoYVtkXSl7dmFyIGU9Y0EudGFnc1tkXTt2YXIgZj1RQShiLmxkKTt0cnl7dmFyIGc9b0IoZCx7b25TdWNjZXNzOmYsb25GYWlsdXJlOmYsdGVybWluYXRlOmZ9LGIsZCk7aWYoZyl7dmFyIGg9UXpbZS5PXTtjLnB1c2goe05vOmQscHJpb3JpdHlPdmVycmlkZTooaD9oLnByaW9yaXR5T3ZlcnJpZGV8fDA6MCl8fEtBKGUuTywxKXx8MCxleGVjdXRlOmd9KX1lbHNlIHVCKGQsYiksZigpfWNhdGNoKG4pe2YoKX19Yy5zb3J0KHZCKTtmb3IodmFyIGw9MDtsPGMubGVuZ3RoO2wrKyljW2xdLmV4ZWN1dGUoKTtyZXR1cm4gYy5sZW5ndGg+MH07CmZ1bmN0aW9uIHhCKGEsYil7aWYoIUhBKXJldHVybiExO3ZhciBjPWFbImd0bS50cmlnZ2VycyJdJiZTdHJpbmcoYVsiZ3RtLnRyaWdnZXJzIl0pLGQ9SUEoYS5ldmVudCxjP1N0cmluZyhjKS5zcGxpdCgiLCIpOltdKTtpZighZC5sZW5ndGgpcmV0dXJuITE7Zm9yKHZhciBlPTA7ZTxkLmxlbmd0aDsrK2Upe3ZhciBmPVFBKGIpO3RyeXtkW2VdKGEsZil9Y2F0Y2goZyl7ZigpfX1yZXR1cm4hMH1mdW5jdGlvbiB2QihhLGIpe3ZhciBjLGQ9Yi5wcmlvcml0eU92ZXJyaWRlLGU9YS5wcmlvcml0eU92ZXJyaWRlO2M9ZD5lPzE6ZDxlPy0xOjA7dmFyIGY7aWYoYyE9PTApZj1jO2Vsc2V7dmFyIGc9YS5ObyxoPWIuTm87Zj1nPmg/MTpnPGg/LTE6MH1yZXR1cm4gZn0KZnVuY3Rpb24gdUIoYSxiKXtpZihmbi5OKXt2YXIgYz1mdW5jdGlvbihkKXt2YXIgZT1iLmlzQmxvY2tlZChjQS50YWdzW2RdLkZnKCkpPyIzIjoiNCIsZj1aeihjQS50YWdzW2RdLGIpO2YmJmYubGVuZ3RoJiZjKGZbMF0uaW5kZXgpO2dCKGIuaWQsY0EudGFnc1tkXS5GZygpLGUpO3ZhciBnPSR6KGNBLnRhZ3NbZF0sYik7ZyYmZy5sZW5ndGgmJmMoZ1swXS5pbmRleCl9O2MoYSl9fXZhciBIQTtmdW5jdGlvbiB5Qigpe0hBfHwoSEE9bmV3IEdBKTtyZXR1cm4gSEF9CmZ1bmN0aW9uIHpCKGEpe3ZhciBiPWFbImd0bS51bmlxdWVFdmVudElkIl0sYz1hWyJndG0ucHJpb3JpdHlJZCJdLGQ9YVsiZ3RtLnByaW9yaXR5UXVldWUiXSxlPWEuZXZlbnQ7Zm4uSCYmdnooYixlKTtpZihlPT09Imd0bS5qcyIpe2lmKCRrKDEzKSlyZXR1cm4hMTtaaygxMywhMCl9dmFyIGY9ITEsZz1sQigpLGg9RWQoYSxudWxsKTtpZighZy5ldmVyeShmdW5jdGlvbih1KXtyZXR1cm4gdSh7b3JpZ2luYWxFdmVudERhdGE6aH0pfSkpe2lmKGUhPT0iZ3RtLmpzIiYmZSE9PSJndG0uaW5pdCImJmUhPT0iZ3RtLmluaXRfY29uc2VudCIpcmV0dXJuITE7Zj0hMH1kQihiLGUpO3ZhciBsPWEuZXZlbnRDYWxsYmFjayxuPWEuZXZlbnRUaW1lb3V0LHA9e2lkOmIscHJpb3JpdHlJZDpjLHByaW9yaXR5UXVldWU6ZCxuYW1lOmUsaXNCbG9ja2VkOkFCKGgsZiksdms6W10sbG9nTWFjcm9FcnJvcjpmdW5jdGlvbih1LHYseCl7UCg2KTtpbSg0KTtKQSgyLHYseCl9LGNhY2hlZE1vZGVsVmFsdWVzOkJCKCksCmxkOm5ldyBNQShmdW5jdGlvbigpe2ZuLkgmJnl6KGIsZSk7RnkoNSxlKTtsJiZsLmFwcGx5KGwsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDApKX0sbiksb3JpZ2luYWxFdmVudERhdGE6aH07Zm4uSCYmQ3oocC5pZCk7dmFyIHE9RUEocCk7Zm4uSCYmRHoocC5pZCk7RnkoMixlKTtjQS5nZXRSdWxlcygpO2YmJihxPUNCKHEpKTtmbi5IJiZ3eihiKTt2YXIgcj13QihxLHApO3ImJkZ5KDQsZSk7dmFyIHQ9eEIoYSxwLmxkKTtSQShwLmxkKTtlIT09Imd0bS5qcyImJmUhPT0iZ3RtLnN5bmMifHxYQSgpO3JldHVybiBEQihxLHIpfHx0fQpmdW5jdGlvbiBCQigpe3ZhciBhPXt9O2EuZXZlbnQ9dkEoImV2ZW50IiwxKTthLmVjb21tZXJjZT12QSgiZWNvbW1lcmNlIiwxKTthLmd0bT12QSgiZ3RtIik7YS5ldmVudE1vZGVsPXZBKCJldmVudE1vZGVsIik7cmV0dXJuIGF9CmZ1bmN0aW9uIEFCKGEsYil7dmFyIGM9QUEoKTtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9YyhkKTtpZihlKXJldHVybiEwO3ZhciBmPWQmJmRbR2YuWWJdO2lmKCFmfHx0eXBlb2YgZiE9PSJzdHJpbmciKXJldHVybiEwO2Y9Zi5yZXBsYWNlKC9eXyovLCIiKTt2YXIgZz1qQigpLGg9YTtiJiYoaD1FZChhLG51bGwpLGhbImd0bS51bmlxdWVFdmVudElkIl09TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO2Zvcih2YXIgbD0hMSxuPWFsKDI3LGZ1bmN0aW9uKCl7cmV0dXJue319KVtmXXx8W10scD1tKGcpLHE9cC5uZXh0KCk7IXEuZG9uZTtxPXAubmV4dCgpKXt2YXIgcj1xLnZhbHVlO3RyeXtyKHtlbnRpdHlJZDpmLHNlY3VyaXR5R3JvdXBzOm4sb3JpZ2luYWxFdmVudERhdGE6aH0pfHwobD0hMCl9Y2F0Y2godCl7bD0hMH19cmV0dXJuIGx8fGV9fQpmdW5jdGlvbiBDQihhKXtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10pe3ZhciBkPWNBLnRhZ3NbY10uTztpZihCaltkXXx8Y0EudGFnc1tjXS5JYVtHZi5ScV0hPT12b2lkIDB8fEtBKGQsMikpYltjXT0hMH1yZXR1cm4gYn1mdW5jdGlvbiBEQihhLGIpe2lmKCFiKXJldHVybiBiO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWlmKGFbY10mJmNBLnRhZ3NbY10mJiFDaltjQS50YWdzW2NdLk9dKXJldHVybiEwO3JldHVybiExfTt2YXIgRUI9TmYoNjEsMUUzKSxGQj1OZig2OCwyRTMpLFpvPVsiYWRfc3RvcmFnZSIsImFuYWx5dGljc19zdG9yYWdlIl07ZnVuY3Rpb24gR0IoYSxiKXtpZihhKXt2YXIgYz1raigiZ3RoIixmdW5jdGlvbigpe3JldHVybnt9fSksZDthIT09Mnx8KChkPUhCKCkpPT1udWxsP3ZvaWQgMDpkLnN0YXR1cykhPT0zfHxiIT09dm9pZCAwJiZiPD1GQnx8KGE9MyxjLmRsPWI/TWF0aC5mbG9vcihiLzFFMyk6dm9pZCAwKTtjLnM9YTtJQihjKX19ZnVuY3Rpb24gSUIoYSl7aWYoYS5zKXt2YXIgYj1mdW5jdGlvbigpe3ZhciBjPXtzdGF0dXM6YS5zLGV4cGlyZXM6RGF0ZS5ub3coKSs4NjRFNX07YS5kbCE9PXZvaWQgMCYmKGMuZGVsYXk9YS5kbCk7a3IoImd0Z19sb2FkX3N0YXR1cyIsYyl9O2JwKGZ1bmN0aW9uKCl7aWYoWW8oKSliKCk7ZWxzZSBmb3IodmFyIGM9UGIoYiksZD1tKFpvKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSlJbChjLGUudmFsdWUpfSxabyl9fQpmdW5jdGlvbiBKQigpe3ZhciBhPUtCKCEwKTtyZXR1cm4gYT8oTEIoYS5zdGF0dXMsYS5kZWxheSksITEpOiEwfWZ1bmN0aW9uIEtCKGEpe2E9YT09PXZvaWQgMD8hMTphO2lmKGFrKCkpe3ZhciBiPW5yKCJndGdfbG9hZF9zdGF0dXMiKSxjPWIudmFsdWUsZD1hJiZBYihjPT1udWxsP3ZvaWQgMDpjLmV4cGlyZXMpJiYoYz09bnVsbD92b2lkIDA6Yy5leHBpcmVzKTxEYXRlLm5vdygpKzM2RTU7aWYoYi5lcnJvcj09PTAmJkFiKGM9PW51bGw/dm9pZCAwOmMuc3RhdHVzKSYmIWQpe3ZhciBlPXtzdGF0dXM6Yy5zdGF0dXN9OyhjPT1udWxsP3ZvaWQgMDpjLmRlbGF5KSE9PXZvaWQgMCYmKGUuZGVsYXk9Yy5kZWxheSk7cmV0dXJuIGV9cmV0dXJuIEhCKCl9fWZ1bmN0aW9uIExCKGEsYil7dmFyIGM9a2ooImd0aCIsZnVuY3Rpb24oKXtyZXR1cm57fX0pO2Mucz1hO2IhPT12b2lkIDAmJihjLmRsPWIpfQpmdW5jdGlvbiBIQigpe3ZhciBhPW1qKCJndGgiKTtpZihhIT1udWxsJiZhLnMpe3ZhciBiPXtzdGF0dXM6YS5zfTthLmRsIT09dm9pZCAwJiYoYi5kZWxheT1hLmRsKTtyZXR1cm4gYn19ZnVuY3Rpb24gTUIoKXt2YXIgYTsoKGE9SEIoKSk9PW51bGw/dm9pZCAwOmEuc3RhdHVzKT09PTEmJkdCKDMpfWZ1bmN0aW9uIE5CKCl7aWYoSkIoKSl7dmFyIGE9RGF0ZS5ub3coKTtuaigiZ3RoIix7bDpmdW5jdGlvbigpe0dCKDIsRGF0ZS5ub3coKS1hKX0sczoxfSk7dmFyIGI9RSg1KSxjPVNiKGIsIkdUTS0iKT8iL2d0bS5qcyI6Ii9ndGFnL2pzIixkPSJodHRwczovLyIrRSgzKStjKyI/aWQ9IitiKyImZ3RnX2hlYWx0aD0xIjtVYyhkLE1CLE1CKTtBLnNldFRpbWVvdXQoTUIsRUIpfX07ZnVuY3Rpb24gT0IoKXt5QigpLmFkZExpc3RlbmVyKCJndG0uaW5pdCIsZnVuY3Rpb24oYSxiKXtaaygyNiwhMCk7TSg1NTYpJiZhaygpJiYhSWYoNDUpJiYoZm8uSFtjby5pYS5aYl09Ym8uTWEuTGgpO2lmKGFrKCkpe3ZhciBjO2M9bG8oY28uaWEuWmIpO2dvKGMpP2lvKGMsTkIpOk5CKCl9dG8oITEsITApO2IoKX0pfTtmdW5jdGlvbiBQQigpe2lmKG1qKCJwc2NkbCIpIT09dm9pZCAwKW5tKGptLmJhLm9pKT09PXZvaWQgMCYmbW0oam0uYmEub2ksbWooInBzY2RsIikpO2Vsc2V7dmFyIGE9ZnVuY3Rpb24oYyl7bmooInBzY2RsIixjKTttbShqbS5iYS5vaSxjKX0sYj1mdW5jdGlvbigpe2EoImVycm9yIil9O3RyeXtIYy5jb29raWVEZXByZWNhdGlvbkxhYmVsPyhhKCJwZW5kaW5nIiksSGMuY29va2llRGVwcmVjYXRpb25MYWJlbC5nZXRWYWx1ZSgpLnRoZW4oYSkuY2F0Y2goYikpOmEoIm5vYXBpIil9Y2F0Y2goYyl7YihjKX19fTt2YXIgUkI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMucmVhZHk9ITE7dGhpcy5LPTA7dGhpcy5IPVtdO3ZhciBiPUE7aWYoQi5yZWFkeVN0YXRlPT09ImludGVyYWN0aXZlIiYmIUIuY3JlYXRlRXZlbnRPYmplY3R8fEIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdGhpcy5vblJlYWR5KCk7ZWxzZXskYyhCLCJET01Db250ZW50TG9hZGVkIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KTskYyhCLCJyZWFkeXN0YXRlY2hhbmdlIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KTtpZihCLmNyZWF0ZUV2ZW50T2JqZWN0JiZCLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbCl7dmFyIGM9ITA7dHJ5e2M9IWIuZnJhbWVFbGVtZW50fWNhdGNoKGQpe31jJiZRQih0aGlzKX0kYyhiLCJsb2FkIixmdW5jdGlvbihkKXtyZXR1cm4gdm9pZCBhLm9uUmVhZHkoZCl9KX19O1JCLnByb3RvdHlwZS5pc1JlYWR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVhZHl9OwpSQi5wcm90b3R5cGUub25SZWFkeT1mdW5jdGlvbihhKXtpZighdGhpcy5yZWFkeSl7dmFyIGI9Qi5jcmVhdGVFdmVudE9iamVjdCxjPUIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIsZD1CLnJlYWR5U3RhdGU9PT0iaW50ZXJhY3RpdmUiO2lmKCFhfHxhLnR5cGUhPT0icmVhZHlzdGF0ZWNoYW5nZSJ8fGN8fCFiJiZkKXt0aGlzLnJlYWR5PSEwO2Zvcih2YXIgZT0wO2U8dGhpcy5ILmxlbmd0aDtlKyspYmQodGhpcy5IW2VdKX10aGlzLkgucHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgZj1PYS5hcHBseSgwLGFyZ3VtZW50cyksZz0wO2c8Zi5sZW5ndGg7ZysrKWJkKGZbZ10pO3JldHVybiAwfX19Owp2YXIgUUI9ZnVuY3Rpb24oYSl7aWYoIWEucmVhZHkmJmEuSzwxNDApe2EuSysrO3RyeXt2YXIgYixjOyhjPShiPUIuZG9jdW1lbnRFbGVtZW50KS5kb1Njcm9sbCk9PW51bGx8fGMuY2FsbChiLCJsZWZ0Iik7YS5vblJlYWR5KCl9Y2F0Y2goZCl7QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgUUIoYSl9LDUwKX19fSxTQjtmdW5jdGlvbiBUQigpe1NCfHwoU0I9bmV3IFJCKX1mdW5jdGlvbiBVQigpe1RCKCk7dmFyIGE7cmV0dXJuKGE9U0IpPT1udWxsP3ZvaWQgMDphLmlzUmVhZHkoKX1mdW5jdGlvbiBWQihhKXtUQigpO3ZhciBiOyhiPVNCKSE9bnVsbCYmKGIucmVhZHk/YmQoYSk6Yi5ILnB1c2goYSkpfTt2YXIgWEI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVdCLGU7aWYoKGU9ZC5IKT09bnVsbHx8IWUuT3Ipe3ZhciBmPU9iamVjdC5rZXlzKGIpLmxlbmd0aD4wPzI6MSxnLGgsbD0oYz09bnVsbD92b2lkIDA6KGg9Yy5vcmlnaW5hdGluZ0VudGl0eSk9PW51bGw/dm9pZCAwOmgub3JpZ2luQ29udGFpbmVySWQpfHwiIjtnPWw/U2IobCwiR1RNLSIpPzM6MjoxO2lmKCFhKWQuSD17dHlwZTpmLHNvdXJjZTpnLHBhcmFtczpifTtlbHNlIGlmKGQuSCl7UCgxODQpO3ZhciBuPSExO2QuSC5zb3VyY2U9PT1nfHxkLkguc291cmNlIT09MyYmZyE9PTN8fChVbSgiaWRjcyIsIjEiKSxuPSEwKTtkLkgudHlwZSE9PTImJmYhPT0yfHxQKDE4Nik7dmFyIHA7aWYocD1kLkgudHlwZT09PTImJmY9PT0yKWE6e3ZhciBxPWQuSC5wYXJhbXMscj1PYmplY3Qua2V5cyhxKSx0PU9iamVjdC5rZXlzKGIpO2lmKHIubGVuZ3RoIT09dC5sZW5ndGgpcD0hMDtlbHNle2Zvcih2YXIgdT1tKHIpLHY9dS5uZXh0KCk7IXYuZG9uZTt2PQp1Lm5leHQoKSl7dmFyIHg9di52YWx1ZTtpZighYi5oYXNPd25Qcm9wZXJ0eSh4KXx8cVt4XSE9PWJbeF0pe3A9ITA7YnJlYWsgYX19cD0hMX19cCYmKFVtKCJpZGNjIiwiMSIpLG49ITApO24mJih0bygpLGQuSC5Pcj0hMCl9fX0sV0I9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXZvaWQgMH07dmFyIFpCPWZ1bmN0aW9uKGEpe3ZhciBiPVlCOyghZm4uS3x8U2IoRSg1KSwiR1RNLSIpPzA6YT09PXZvaWQgMCkmJmIuSD09PTAmJihVbSgibWNjIiwiMSIpLGIuSD0xKX0sWUI9bmV3IGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLkg9MDtVbSgibmNjIixmdW5jdGlvbigpe2lmKElmKDQ1KSYmYS5IIT09MilyZXR1cm4iMSJ9KX07dmFyICRCPS9eKD86QVd8REN8R3xHRnxHVHxIQXxNQ3xVQSkkLyxhQz0vXHMvOwpmdW5jdGlvbiBiQyhhLGIpe2lmKHpiKGEpKXthPUxiKGEpO3ZhciBjPWEuaW5kZXhPZigiLSIpO2lmKCEoYzwwKSl7dmFyIGQ9YS5zdWJzdHJpbmcoMCxjKTtpZigkQi50ZXN0KGQpKXt2YXIgZT1hLnN1YnN0cmluZyhjKzEpLGY7aWYoYil7dmFyIGc9ZnVuY3Rpb24obil7dmFyIHA9bi5pbmRleE9mKCIvIik7cmV0dXJuIHA8MD9bbl06W24uc3Vic3RyaW5nKDAscCksbi5zdWJzdHJpbmcocCsxKV19O2Y9ZyhlKTtpZihkPT09IkRDIiYmZi5sZW5ndGg9PT0yKXt2YXIgaD1nKGZbMV0pO2gubGVuZ3RoPT09MiYmKGZbMV09aFswXSxmLnB1c2goaFsxXSkpfX1lbHNle2Y9ZS5zcGxpdCgiLyIpO2Zvcih2YXIgbD0wO2w8Zi5sZW5ndGg7bCsrKWlmKCFmW2xdfHxhQy50ZXN0KGZbbF0pJiYoZCE9PSJBVyJ8fGwhPT0xKSlyZXR1cm59cmV0dXJue2lkOmEscHJlZml4OmQsZGVzdGluYXRpb25JZDpkKyItIitmWzBdLGlkczpmLEpjOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaWQhPT10aGlzLmRlc3RpbmF0aW9uSWR9fX19fX0KZnVuY3Rpb24gY0MoYSxiKXtmb3IodmFyIGM9e30sZD0wO2Q8YS5sZW5ndGg7KytkKXt2YXIgZT1iQyhhW2RdLGIpO2UmJihjW2UuaWRdPWUpfXZhciBmPVtdLGc7Zm9yKGcgaW4gYylpZihjLmhhc093blByb3BlcnR5KGcpKXt2YXIgaD1jW2ddO2gucHJlZml4PT09IkFXIiYmaC5pZHNbZENbMV1dJiZmLnB1c2goaC5kZXN0aW5hdGlvbklkKX1mb3IodmFyIGw9MDtsPGYubGVuZ3RoOysrbClkZWxldGUgY1tmW2xdXTtmb3IodmFyIG49W10scD1tKE9iamVjdC5rZXlzKGMpKSxxPXAubmV4dCgpOyFxLmRvbmU7cT1wLm5leHQoKSluLnB1c2goY1txLnZhbHVlXSk7cmV0dXJuIG59dmFyIGVDPXt9LGRDPShlQ1swXT0wLGVDWzFdPTEsZUNbMl09MixlQ1szXT0wLGVDWzRdPTEsZUNbNV09MCxlQ1s2XT0wLGVDWzddPTAsZUMpO3ZhciBmQz17aW5pdGlhbGl6ZWQ6MTEsY29tcGxldGU6MTIsaW50ZXJhY3RpdmU6MTN9LGdDPXt9LGhDPU9iamVjdC5mcmVlemUoKGdDW0YuRC5UZF09ITAsZ0MpKSxpQz1mdW5jdGlvbigpe3RoaXMuUj1OZigzNCw1MDApO3RoaXMuSD17fTt0aGlzLk49e307dGhpcy5LPXZvaWQgMH0sakM9ZnVuY3Rpb24oYSxiLGMpe2lmKGMubGVuZ3RoJiZmbi5LKXt2YXIgZDsoZD1hLkgpW2JdIT1udWxsfHwoZFtiXT1bXSk7dmFyIGU7KGU9YS5OKVtiXSE9bnVsbHx8KGVbYl09W10pO3ZhciBmPWMuZmlsdGVyKGZ1bmN0aW9uKGcpe3JldHVybiFhLk5bYl0uaW5jbHVkZXMoZyl9KTthLkhbYl0ucHVzaC5hcHBseShhLkhbYl0sdyhmKSk7YS5OW2JdLnB1c2guYXBwbHkoYS5OW2JdLHcoZikpOyFhLksmJmYubGVuZ3RoPjAmJihWbSgidGRjIiwhMCksYS5LPUEuc2V0VGltZW91dChmdW5jdGlvbigpe3RvKCk7YS5IPXt9O2EuSz12b2lkIDB9LGEuUikpfX07CmlDLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztVbSgidGRjIixmdW5jdGlvbigpe2EuSyYmKEEuY2xlYXJUaW1lb3V0KGEuSyksYS5LPXZvaWQgMCk7dmFyIGI9W10sYztmb3IoYyBpbiBhLkgpYS5ILmhhc093blByb3BlcnR5KGMpJiZiLnB1c2goYysiKiIrYS5IW2NdLmpvaW4oIi4iKSk7cmV0dXJuIGIubGVuZ3RoP2Iuam9pbigiISIpOnZvaWQgMH0sITEpfTsKdmFyIGtDPWZ1bmN0aW9uKGEsYil7dmFyIGM9e30sZDtmb3IoZCBpbiBiKWIuaGFzT3duUHJvcGVydHkoZCkmJihjW2RdPSEwKTtmb3IodmFyIGUgaW4gYSlhLmhhc093blByb3BlcnR5KGUpJiYoY1tlXT0hMCk7cmV0dXJuIGN9LGxDPWZ1bmN0aW9uKGEsYixjLGQsZSl7ZD1kPT09dm9pZCAwP3t9OmQ7ZT1lPT09dm9pZCAwPyIiOmU7aWYoYj09PWMpcmV0dXJuW107dmFyIGY9ZnVuY3Rpb24odCx1KXt2YXIgdjtBZCh1KT09PSJvYmplY3QiP3Y9dVt0XTpBZCh1KT09PSJhcnJheSImJih2PXVbdF0pO3JldHVybiB2PT09dm9pZCAwP2hDW3RdOnZ9LGc9a0MoYixjKSxoO2ZvcihoIGluIGcpaWYoZy5oYXNPd25Qcm9wZXJ0eShoKSYmaCE9PUYuRC5YYil7dmFyIGw9KGU/ZSsiLiI6IiIpK2gsbj1mKGgsYikscD1mKGgsYykscT1BZChuKT09PSJvYmplY3QifHxBZChuKT09PSJhcnJheSIscj1BZChwKT09PSJvYmplY3QifHxBZChwKT09PSJhcnJheSI7aWYocSYmcilsQyhhLG4scCxkLGwpOwplbHNlIGlmKHF8fHJ8fG4hPT1wKWRbbF09ITB9cmV0dXJuIE9iamVjdC5rZXlzKGQpfSxtQz1uZXcgaUM7dmFyIG5DPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuSz1OYigpO3RoaXMuSD1iO3RoaXMuYXJncz1jO3RoaXMubWVzc2FnZUNvbnRleHQ9ZDt0aGlzLnR5cGU9YX0sb0M9ZnVuY3Rpb24oKXt0aGlzLldhPXt9O3RoaXMuaWI9e307dGhpcy5LPXt9O3RoaXMuTj1udWxsO3RoaXMuaGI9e307dGhpcy5IPSExO3RoaXMuc3RhdHVzPTF9O2Z1bmN0aW9uIHBDKGEsYil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg9PT0xP3FDKCJzZXQiLGEpOnFDKCJzZXQiLGEsYil9ZnVuY3Rpb24gckMoYSxiKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD09PTE/cUMoImNvbmZpZyIsYSk6cUMoImNvbmZpZyIsYSxiKX1mdW5jdGlvbiBzQyhhLGIsYyl7Yz1jfHx7fTtjW0YuRC5YYl09YTtyZXR1cm4gcUMoImV2ZW50IixiLGMpfWZ1bmN0aW9uIHFDKCl7cmV0dXJuIGFyZ3VtZW50c307dmFyIHRDPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxsLG4scCxxLHIpe3RoaXMuZXZlbnRJZD1hO3RoaXMucHJpb3JpdHlJZD1iO3RoaXMucHJpb3JpdHlRdWV1ZT1jO3RoaXMuRWE9ZDt0aGlzLldhPWU7dGhpcy5oYj1mO3RoaXMuSGM9Zzt0aGlzLkJnPWg7dGhpcy5pYj1sO3RoaXMuZXZlbnRNZXRhZGF0YT1uO3RoaXMub25TdWNjZXNzPXA7dGhpcy5vbkZhaWx1cmU9cTt0aGlzLmlzR3RtRXZlbnQ9cn0sdUM9ZnVuY3Rpb24oYSl7dmFyIGI9e29uU3VjY2Vzczp4YixvbkZhaWx1cmU6eGJ9O2I9Yj09PXZvaWQgMD97fTpiO3ZhciBjLGQsZSxmLGcsaCxsLG4scCxxLHIsdCx1LHYseCx5LHosQyxELEksRyxOLFMsVyxlYSxqYTtyZXR1cm4gbmV3IHRDKCh2PShjPWIpPT1udWxsP3ZvaWQgMDpjLmV2ZW50SWQpIT1udWxsP3Y6YS5ldmVudElkLCh4PShkPWIpPT1udWxsP3ZvaWQgMDpkLnByaW9yaXR5SWQpIT1udWxsP3g6YS5wcmlvcml0eUlkLCh5PShlPWIpPT1udWxsP3ZvaWQgMDplLnByaW9yaXR5UXVldWUpIT0KbnVsbD95OmEucHJpb3JpdHlRdWV1ZSwoej0oZj1iKT09bnVsbD92b2lkIDA6Zi5FYSkhPW51bGw/ejphLkVhLChDPShnPWIpPT1udWxsP3ZvaWQgMDpnLldhKSE9bnVsbD9DOmEuV2EsKEQ9KGg9Yik9PW51bGw/dm9pZCAwOmguaGIpIT1udWxsP0Q6YS5oYiwoST0obD1iKT09bnVsbD92b2lkIDA6bC5IYykhPW51bGw/STphLkhjLChHPShuPWIpPT1udWxsP3ZvaWQgMDpuLkJnKSE9bnVsbD9HOmEuQmcsKE49KHA9Yik9PW51bGw/dm9pZCAwOnAuaWIpIT1udWxsP046YS5pYiwoUz0ocT1iKT09bnVsbD92b2lkIDA6cS5ldmVudE1ldGFkYXRhKSE9bnVsbD9TOmEuZXZlbnRNZXRhZGF0YSwoVz0ocj1iKT09bnVsbD92b2lkIDA6ci5vblN1Y2Nlc3MpIT1udWxsP1c6YS5vblN1Y2Nlc3MsKGVhPSh0PWIpPT1udWxsP3ZvaWQgMDp0Lm9uRmFpbHVyZSkhPW51bGw/ZWE6YS5vbkZhaWx1cmUsKGphPSh1PWIpPT1udWxsP3ZvaWQgMDp1LmlzR3RtRXZlbnQpIT1udWxsP2phOmEuaXNHdG1FdmVudCl9LAp2Qz1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO3N3aXRjaChiKXtjYXNlIDM6Yy5wdXNoKGEuRWEpO2MucHVzaChhLldhKTtjLnB1c2goYS5oYik7Yy5wdXNoKGEuSGMpO2MucHVzaChhLmliKTticmVhaztjYXNlIDI6Yy5wdXNoKGEuRWEpO2JyZWFrO2Nhc2UgMTpjLnB1c2goYS5XYSk7Yy5wdXNoKGEuaGIpO2MucHVzaChhLkhjKTtjLnB1c2goYS5pYik7YnJlYWs7Y2FzZSA0OmMucHVzaChhLkVhKSxjLnB1c2goYS5XYSksYy5wdXNoKGEuaGIpLGMucHVzaChhLkhjKX1yZXR1cm4gY30sTz1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGU9bSh2QyhhLGQ9PT12b2lkIDA/MzpkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7aWYoZ1tiXSE9PXZvaWQgMClyZXR1cm4gZ1tiXX1yZXR1cm4gY30sd0M9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9dkMoYSw0KSxkPW0oYyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpZm9yKHZhciBmPU9iamVjdC5rZXlzKGUudmFsdWUpLApnPW0oZiksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpYltoLnZhbHVlXT0xO3JldHVybiBPYmplY3Qua2V5cyhiKX07dEMucHJvdG90eXBlLmdldE1lcmdlZFZhbHVlcz1mdW5jdGlvbihhLGIsYyl7Yj1iPT09dm9pZCAwPzM6Yjt2YXIgZD17fSxlPSExLGY9ZnVuY3Rpb24obil7Q2QobikmJkdiKG4sZnVuY3Rpb24ocCxxKXtlPSEwO2RbcF09cX0pfTtjJiZmKGMpO3ZhciBnPXZDKHRoaXMsYik7Zy5yZXZlcnNlKCk7Zm9yKHZhciBoPW0oZyksbD1oLm5leHQoKTshbC5kb25lO2w9aC5uZXh0KCkpZihsLnZhbHVlW2FdKTtyZXR1cm4gZT9kOnZvaWQgMH07CnZhciB4Qz1mdW5jdGlvbihhKXtmb3IodmFyIGI9W0YuRC5LZixGLkQuR2YsRi5ELkhmLEYuRC5JZixGLkQuSmYsRi5ELkxmLEYuRC5NZl0sYz12QyhhLDMpLGQ9bShjKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7Zm9yKHZhciBmPWUudmFsdWUsZz17fSxoPSExLGw9bShiKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9bi52YWx1ZTtmW3BdIT09dm9pZCAwJiYoZ1twXT1mW3BdLGg9ITApfXZhciBxPWg/Zzp2b2lkIDA7aWYocSlyZXR1cm4gcX1yZXR1cm57fX0seUM9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuZXZlbnRJZD1hO3RoaXMucHJpb3JpdHlJZD1iO3RoaXMucHJpb3JpdHlRdWV1ZT1jO3RoaXMuRWE9e307dGhpcy5XYT17fTt0aGlzLmhiPXt9O3RoaXMuSGM9e307dGhpcy5CZz17fTt0aGlzLmliPXt9O3RoaXMuZXZlbnRNZXRhZGF0YT17fTt0aGlzLmlzR3RtRXZlbnQ9ITE7dGhpcy5vblN1Y2Nlc3M9ZnVuY3Rpb24oKXt9O3RoaXMub25GYWlsdXJlPQpmdW5jdGlvbigpe319LHpDPWZ1bmN0aW9uKGEsYil7YS5FYT1iO3JldHVybiBhfSxBQz1mdW5jdGlvbihhLGIpe2EuV2E9YjtyZXR1cm4gYX0sQkM9ZnVuY3Rpb24oYSxiKXthLmhiPWI7cmV0dXJuIGF9LENDPWZ1bmN0aW9uKGEsYil7YS5IYz1iO3JldHVybiBhfSxEQz1mdW5jdGlvbihhLGIpe2EuQmc9YjtyZXR1cm4gYX0sRUM9ZnVuY3Rpb24oYSxiKXthLmliPWI7cmV0dXJuIGF9LEZDPWZ1bmN0aW9uKGEsYil7YS5ldmVudE1ldGFkYXRhPWJ8fHt9O3JldHVybiBhfSxHQz1mdW5jdGlvbihhLGIpe2Eub25TdWNjZXNzPWI7cmV0dXJuIGF9LEhDPWZ1bmN0aW9uKGEsYil7YS5vbkZhaWx1cmU9YjtyZXR1cm4gYX0sSUM9ZnVuY3Rpb24oYSxiKXthLmlzR3RtRXZlbnQ9YjtyZXR1cm4gYX0sSkM9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyB0QyhhLmV2ZW50SWQsYS5wcmlvcml0eUlkLGEucHJpb3JpdHlRdWV1ZSxhLkVhLGEuV2EsYS5oYixhLkhjLGEuQmcsYS5pYixhLmV2ZW50TWV0YWRhdGEsCmEub25TdWNjZXNzLGEub25GYWlsdXJlLGEuaXNHdG1FdmVudCl9O2Z1bmN0aW9uIEtDKGEsYil7R2IoYSxmdW5jdGlvbihjKXt2YXIgZDtpZihkPWMuY2hhckF0KDApPT09Il8iKXt2YXIgZTthOnN3aXRjaChjKXtjYXNlIEYuRC5WYjpjYXNlIEYuRC5SZjpjYXNlIEYuRC5zaDplPSEwO2JyZWFrIGE7ZGVmYXVsdDplPSExfWQ9IWV9ZCYmKGImJmIoYyksZGVsZXRlIGFbY10pfSl9O3ZhciBMQz1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPXt9O2Z6KGZ1bmN0aW9uKGIpe3ZhciBjPWIuZXZlbnRJZCxkPWIudGYsZT1bXSxmPWEuSFtjXXx8W107Zi5sZW5ndGgmJmUucHVzaChbImVwciIsZi5qb2luKCIuIildKTtkJiZkZWxldGUgYS5IW2NdO3JldHVybiBlfSl9LE5DPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1NQztmbi5OJiZhIT09dm9pZCAwJiYoZC5IW2FdPWQuSFthXXx8W10sZC5IW2FdLnB1c2goYytiKSxneigpLGV6KGEpKX0sTUM7ZnVuY3Rpb24gT0MoKXtNQ3x8KE1DPW5ldyBMQyl9O3ZhciBQQz1mdW5jdGlvbigpe3RoaXMuZGVzdGluYXRpb25zPXt9O3RoaXMuSD17fTt0aGlzLmNvbW1hbmRzPVtdfSxRQz1mdW5jdGlvbihhLGIpe3JldHVybiBhLmRlc3RpbmF0aW9uc1tiLmRlc3RpbmF0aW9uSWRdPWEuZGVzdGluYXRpb25zW2IuZGVzdGluYXRpb25JZF18fG5ldyBvQ30sUkM9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoZC5IKXt2YXIgZT1RQyhhLGQuSCksZj1lLk47aWYoZil7dmFyIGc9RWQoYyxudWxsKSxoPUVkKGUuV2FbZC5ILmRlc3RpbmF0aW9uSWRdLG51bGwpLGw9RWQoZS5oYixudWxsKSxuPUVkKGUuaWIsbnVsbCkscD1FZChhLkgsbnVsbCkscT17fTtpZihmbi5OKXRyeXtxPUVkKHJBLkgsbnVsbCl9Y2F0Y2goeCl7UCg3Mil9dmFyIHI9ZC5ILnByZWZpeCx0PWZ1bmN0aW9uKHgpe3ZhciB5PWQubWVzc2FnZUNvbnRleHQuZXZlbnRJZDtPQygpO05DKHkscix4KX0sdT1KQyhJQyhIQyhHQyhGQyhEQyhDQyhFQyhCQyhBQyh6QyhuZXcgeUMoZC5tZXNzYWdlQ29udGV4dC5ldmVudElkLApkLm1lc3NhZ2VDb250ZXh0LnByaW9yaXR5SWQsZC5tZXNzYWdlQ29udGV4dC5wcmlvcml0eVF1ZXVlKSxnKSxoKSxsKSxuKSxwKSxxKSxkLm1lc3NhZ2VDb250ZXh0LmV2ZW50TWV0YWRhdGEpLGZ1bmN0aW9uKCl7aWYodCl7dmFyIHg9dDt0PXZvaWQgMDt4KCIyIik7aWYoZC5tZXNzYWdlQ29udGV4dC5vblN1Y2Nlc3MpZC5tZXNzYWdlQ29udGV4dC5vblN1Y2Nlc3MoKX19KSxmdW5jdGlvbigpe2lmKHQpe3ZhciB4PXQ7dD12b2lkIDA7eCgiMyIpO2lmKGQubWVzc2FnZUNvbnRleHQub25GYWlsdXJlKWQubWVzc2FnZUNvbnRleHQub25GYWlsdXJlKCl9fSksISFkLm1lc3NhZ2VDb250ZXh0LmlzR3RtRXZlbnQpKSx2PWZ1bmN0aW9uKCl7dHJ5e3ZhciB4PWQubWVzc2FnZUNvbnRleHQuZXZlbnRJZDtPQygpO05DKHgsciwiMSIpO3ZhciB5PWQuSC5pZCx6PW1DO2lmKGZuLksmJmI9PT1GLkQud2Epe3ZhciBDLEQ9KEM9YkMoeSkpPT1udWxsP3ZvaWQgMDpDLmlkcztpZighKEQmJkQubGVuZ3RoPgoxKSl7dmFyIEk9dS5FYVtGLkQuWGJdO2lmKCFJfHxJPT09eSl7dmFyIEcsTj1NYygiZ29vZ2xlX3RhZ19kYXRhIix7fSk7Ti50ZHx8KE4udGQ9e30pO0c9Ti50ZDt2YXIgUz1FZCh1LkhjLG51bGwpO0VkKHUuRWEsUyk7dmFyIFc9W10sZWE7Zm9yKGVhIGluIEcpRy5oYXNPd25Qcm9wZXJ0eShlYSkmJmxDKHosR1tlYV0sUykubGVuZ3RoJiZXLnB1c2goZWEpO1cubGVuZ3RoJiYoakMoeix5LFcpLHNiKCJUQUdHSU5HIixmQ1tCLnJlYWR5U3RhdGVdfHwxNCkpO0dbeV09U319fWYoZC5ILmlkLGIsZC5LLHUpfWNhdGNoKGZhKXt2YXIgamE9ZC5tZXNzYWdlQ29udGV4dC5ldmVudElkO09DKCk7TkMoamEsciwiNCIpfX07Yj09PSJndGFnLmdldCI/digpOmlvKGUuUix2KX19fSxTQz1mdW5jdGlvbihhLGIpe2lmKGIudHlwZSE9PSJyZXF1aXJlIil7dmFyIGM9dm9pZCAwO2IudHlwZT09PSJldmVudCImJihjPWIuYXJnc1sxXSk7aWYoYi5IKWZvcih2YXIgZD1RQyhhLGIuSCkuS1tiLnR5cGVdfHwKW10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWRbZV0oYyk7ZWxzZSBmb3IodmFyIGYgaW4gYS5kZXN0aW5hdGlvbnMpaWYoYS5kZXN0aW5hdGlvbnMuaGFzT3duUHJvcGVydHkoZikpe3ZhciBnPWEuZGVzdGluYXRpb25zW2ZdO2lmKGcmJmcuSylmb3IodmFyIGg9Zy5LW2IudHlwZV18fFtdLGw9MDtsPGgubGVuZ3RoO2wrKyloW2xdKGMpfX19O1BDLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1RQyh0aGlzLGEpO2Uuc3RhdHVzIT09MyYmKGUuTj1iLGUuc3RhdHVzPTMsZS5SPWxvKGMpLFRDKHRoaXMsYSxkfHx7fSksdGhpcy5mbHVzaCgpKX07ClBDLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGEsYixjLGQpe2MhPT12b2lkIDAmJihRQyh0aGlzLGMpLnN0YXR1cz09PTEmJihRQyh0aGlzLGMpLnN0YXR1cz0yLHRoaXMucHVzaCgicmVxdWlyZSIsW3t9XSxjLHt9KSksUUModGhpcyxjKS5IJiYoZC5kZWZlcnJhYmxlPSExKSxkLmV2ZW50TWV0YWRhdGF8fChkLmV2ZW50TWV0YWRhdGE9e30pLGQuZXZlbnRNZXRhZGF0YVtILkouc2ddfHwoZC5ldmVudE1ldGFkYXRhW0guSi5zZ109W2MuZGVzdGluYXRpb25JZF0pLGQuZXZlbnRNZXRhZGF0YVtILkoubWpdfHwoZC5ldmVudE1ldGFkYXRhW0guSi5tal09W2MuaWRdKSk7dGhpcy5jb21tYW5kcy5wdXNoKG5ldyBuQyhhLGMsYixkKSk7ZC5kZWZlcnJhYmxlfHx0aGlzLmZsdXNoKCl9OwpQQy5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXRoaXMsYz1bXSxkPSExLGU9e307dGhpcy5jb21tYW5kcy5sZW5ndGg7ZT17Wm46dm9pZCAwfSl7dmFyIGY9dGhpcy5jb21tYW5kc1swXSxnPWYuSDtpZihmLm1lc3NhZ2VDb250ZXh0LmRlZmVycmFibGUpIWd8fFFDKHRoaXMsZykuSD8oZi5tZXNzYWdlQ29udGV4dC5kZWZlcnJhYmxlPSExLHRoaXMuY29tbWFuZHMucHVzaChmKSk6Yy5wdXNoKGYpLHRoaXMuY29tbWFuZHMuc2hpZnQoKTtlbHNle3N3aXRjaChmLnR5cGUpe2Nhc2UgInJlcXVpcmUiOmlmKFFDKHRoaXMsZykuc3RhdHVzIT09MyYmIWEpe3RoaXMuY29tbWFuZHMucHVzaC5hcHBseSh0aGlzLmNvbW1hbmRzLGMpO3JldHVybn1icmVhaztjYXNlICJzZXQiOnZhciBoPWYuYXJnc1swXTtLQyhoKTtVQyhoKTtHYihoLGZ1bmN0aW9uKHgseSl7RWQoVmIoeCx5KSxiLkgpfSk7SHUoaCwhMCk7YnJlYWs7Y2FzZSAiZXZlbnQiOmUuWm49Zi5hcmdzWzFdO3ZhciBsPQpWQyhmLmFyZ3NbMF0sZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt9fShlKSksbj1sW0YuRC5YYl07biYmbiE9PWcuaWR8fEh1KGwpO1JDKHRoaXMsZS5abixsLGYpO2JyZWFrO2Nhc2UgImdldCI6dmFyIHA9e30scT0ocFtGLkQuVGZdPWYuYXJnc1swXSxwW0YuRC5TZl09Zi5hcmdzWzFdLHApO1JDKHRoaXMsRi5ELkpiLHEsZik7YnJlYWs7Y2FzZSAiY29udGFpbmVyX2NvbmZpZyI6dmFyIHI9UUModGhpcyxnKSx0PVZDKGYuYXJnc1swXSxmdW5jdGlvbigpe30pO0h1KHQsITApO3IuSD0hMDtFZCh0LHIuaGIpO2Q9ITA7YnJlYWs7Y2FzZSAiZGVzdGluYXRpb25fY29uZmlnIjp2YXIgdT1RQyh0aGlzLGcpLHY9VkMoZi5hcmdzWzBdLGZ1bmN0aW9uKCl7fSk7SHUodiwhMCk7dS5XYVtnLmlkXXx8KHUuV2FbZy5pZF09e30pO3UuSD0hMDtFZCh2LHUuV2FbZy5pZF0pO2Q9ITA7YnJlYWs7Y2FzZSAicmVzZXRfY29udGFpbmVyX2NvbmZpZyI6UUModGhpcyxnKS5oYj17fTticmVhazsKY2FzZSAicmVzZXRfdGFyZ2V0X2NvbmZpZyI6UUModGhpcyxnKS5XYVtnLmlkXT17fX10aGlzLmNvbW1hbmRzLnNoaWZ0KCk7U0ModGhpcyxmKX19dGhpcy5jb21tYW5kcy5wdXNoLmFwcGx5KHRoaXMuY29tbWFuZHMsYyk7ZCYmdGhpcy5mbHVzaCgpfTt2YXIgVEM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPUVkKGMsbnVsbCk7RWQoUUMoYSxiKS5pYixkKTtRQyhhLGIpLmliPWR9O2Z1bmN0aW9uIFZDKGEsYil7dmFyIGM9e307R2IoYSxmdW5jdGlvbihkLGUpe0VkKFZiKGQsZSksYyl9KTtLQyhjLGIpO1VDKGMpO3JldHVybiBjfQpmdW5jdGlvbiBVQyhhKXtpZihNKDYwMSkmJkJBKCkpe2Zvcih2YXIgYj0hMSxjPW0obmV3IFNldChbRi5ELnljLEYuRC5kZF0pKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTthW2VdIT09dm9pZCAwJiYoYj0hMCxkZWxldGUgYVtlXSl9YiYmIWFsKDM1LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSYmKFprKDM1LCEwKSx3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nJiZ3aW5kb3cuY29uc29sZS5sb2coIkdvb2dsZSBUYWcgTWFuYWdlcjogU2VydmVyLXNpZGUgR1RNIHBhcmFtZXRlcnMgKHRyYW5zcG9ydF91cmwvc2VydmVyX2NvbnRhaW5lcl91cmwpIGFyZSBub3QgcGVybWl0dGVkIG9uIHRoaXMgZG9tYWluIGFuZCBoYXZlIGJlZW4gaWdub3JlZC4iKSxQKDE5NykpfX07dmFyIFdDPWZ1bmN0aW9uKCl7dGhpcy5IPW5ldyBQQzt0aGlzLks9ITF9O1dDLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe3RoaXMuSC5mbHVzaCgpfTt2YXIgWEM7ZnVuY3Rpb24gWUMoKXtYQ3x8KFhDPW5ldyBXQyk7cmV0dXJuIFhDfWZ1bmN0aW9uIFpDKGEsYixjLGQpe3ZhciBlPVlDKCksZj1iQyhjLGQuaXNHdG1FdmVudCk7ZiYmKGUuSyYmKGQuZGVmZXJyYWJsZT0hMCksZS5ILnB1c2goImV2ZW50IixbYixhXSxmLGQpKX1mdW5jdGlvbiAkQyhhLGIsYyxkKXt2YXIgZT1ZQygpLGY9YkMoYyxkLmlzR3RtRXZlbnQpO2YmJmUuSC5wdXNoKCJnZXQiLFthLGJdLGYsZCl9ZnVuY3Rpb24gYUQoYSxiLGMpe3ZhciBkPVlDKCksZT1iQyhhLGMuaXNHdG1FdmVudCk7ZSYmZC5ILnB1c2goImNvbnRhaW5lcl9jb25maWciLFtiXSxlLGMpfQpmdW5jdGlvbiBiRChhLGIsYyl7dmFyIGQ9WUMoKSxlPWJDKGEsYy5pc0d0bUV2ZW50KTtlJiZkLkgucHVzaCgiZGVzdGluYXRpb25fY29uZmlnIixbYl0sZSxjKX1mdW5jdGlvbiBjRChhKXt2YXIgYj1ZQygpLGM9YkMoYSwhMCk7YyYmYi5ILnB1c2goInJlc2V0X2NvbnRhaW5lcl9jb25maWciLFtdLGMse30pfWZ1bmN0aW9uIGREKGEpe3ZhciBiPVlDKCksYz1iQyhhLCEwKTtjJiZiLkgucHVzaCgicmVzZXRfdGFyZ2V0X2NvbmZpZyIsW10sYyx7fSl9ZnVuY3Rpb24gZUQoYSl7dmFyIGI9WUMoKSxjPWJDKGEsITApO3JldHVybiBjP1FDKGIuSCxjKS5pYjp7fX1mdW5jdGlvbiBmRChhKXtyZXR1cm4gWUMoKS5ILkhbYV19ZnVuY3Rpb24gZ0QoYSl7dmFyIGI9WUMoKSxjPWJDKGEsITApO3JldHVybiBjP1FDKGIuSCxjKS5IOiExfTtmdW5jdGlvbiBoRChhLGIpe2EuaGFzT3duUHJvcGVydHkoImd0bS51bmlxdWVFdmVudElkIil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJndG0udW5pcXVlRXZlbnRJZCIse3ZhbHVlOnJqKCl9KTtiLmV2ZW50SWQ9YVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXTtiLnByaW9yaXR5SWQ9YVsiZ3RtLnByaW9yaXR5SWQiXTtyZXR1cm57ZXZlbnRJZDpiLmV2ZW50SWQscHJpb3JpdHlJZDpiLnByaW9yaXR5SWR9fWZ1bmN0aW9uIGlEKGEpe2Zvcih2YXIgYj1tKFtGLkQuZGQsRi5ELnljXSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpe3ZhciBkPWMudmFsdWUsZT1hJiZhW2RdfHxmRChkKTtpZihlKXJldHVybiBlfX1mdW5jdGlvbiBqRChhKXtyZXR1cm4hYS5pc0d0bUV2ZW50fHxhLmV2ZW50TWV0YWRhdGEmJmEuZXZlbnRNZXRhZGF0YVtILkouQ2NdJiZhLmV2ZW50TWV0YWRhdGFbSC5KLk5iXSE9PXZrKCk/ITE6ITB9O3ZhciBrRD1uZXcgZnVuY3Rpb24oKXt0aGlzLkg9ITF9O3ZhciBsRD1mdW5jdGlvbigpe3RoaXMubWVzc2FnZXM9W107dGhpcy5IPVtdfTtsRC5wcm90b3R5cGUuZW5xdWV1ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5tZXNzYWdlcy5sZW5ndGgrMTthWyJndG0udW5pcXVlRXZlbnRJZCJdPWI7YVsiZ3RtLnByaW9yaXR5SWQiXT1kO3ZhciBlPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyx7ZXZlbnRJZDpiLHByaW9yaXR5SWQ6ZCxmcm9tQ29udGFpbmVyRXhlY3V0aW9uOiEwfSk7aWYoTSg1OTUpKXt2YXIgZj1jLnByaW9yaXR5UXVldWU/W10uY29uY2F0KHcoYy5wcmlvcml0eVF1ZXVlKSxbZF0pOltkXTthWyJndG0ucHJpb3JpdHlRdWV1ZSJdPWY7ZS5wcmlvcml0eVF1ZXVlPWZ9dmFyIGc9e21lc3NhZ2U6YSxub3RCZWZvcmVFdmVudElkOmIscHJpb3JpdHlJZDpkLG1lc3NhZ2VDb250ZXh0OmV9O3RoaXMubWVzc2FnZXMucHVzaChnKTtmb3IodmFyIGg9MDtoPHRoaXMuSC5sZW5ndGg7aCsrKXRyeXt0aGlzLkhbaF0oZyl9Y2F0Y2gobCl7fX07CmxELnByb3RvdHlwZS5saXN0ZW49ZnVuY3Rpb24oYSl7dGhpcy5ILnB1c2goYSl9O2xELnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE9e30sYj0wO2I8dGhpcy5tZXNzYWdlcy5sZW5ndGg7YisrKXt2YXIgYz10aGlzLm1lc3NhZ2VzW2JdLGQ9YVtjLm5vdEJlZm9yZUV2ZW50SWRdO2R8fChkPVtdLGFbYy5ub3RCZWZvcmVFdmVudElkXT1kKTtkLnB1c2goYyl9cmV0dXJuIGF9O2xELnByb3RvdHlwZS5wcnVuZT1mdW5jdGlvbihhKXtmb3IodmFyIGI9W10sYz1bXSxkPTA7ZDx0aGlzLm1lc3NhZ2VzLmxlbmd0aDtkKyspe3ZhciBlPXRoaXMubWVzc2FnZXNbZF07ZS5ub3RCZWZvcmVFdmVudElkPT09YT9iLnB1c2goZSk6Yy5wdXNoKGUpfXRoaXMubWVzc2FnZXM9YztyZXR1cm4gYn07CmZ1bmN0aW9uIG1EKGEsYixjKXtjLmV2ZW50TWV0YWRhdGE9Yy5ldmVudE1ldGFkYXRhfHx7fTtjLmV2ZW50TWV0YWRhdGFbSC5KLk5iXT1NKDU1MCk/dmsoKTpFKDYpO25EKCkuZW5xdWV1ZShhLGIsYyl9ZnVuY3Rpb24gbkQoKXtyZXR1cm4ga2ooIm1iIixmdW5jdGlvbigpe3JldHVybiBuZXcgbER9KX07dmFyIHBEPWZ1bmN0aW9uKGEsYil7dmFyIGM9b0Q7Yj1TdHJpbmcoYikuc3BsaXQoIiwiKTtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9Yy5OW2JbZF1dfHxbXTtjLk5bYltkXV09ZTtlLmluZGV4T2YoYSk8MCYmZS5wdXNoKGEpfX0scUQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9b0QsZD1bXSxlPVtdLGY9e30sZz0wO2c8YS5sZW5ndGg7Zj17bGs6dm9pZCAwLFFqOnZvaWQgMCxSajp2b2lkIDB9LGcrKyl7dmFyIGg9YVtnXTtpZihoLmluZGV4T2YoIi0iKT49MCl7aWYoZi5saz1iQyhoLGIpLGYubGspe3ZhciBsPXRrKCk7Q2IobCxmdW5jdGlvbih4KXtyZXR1cm4gZnVuY3Rpb24oeSl7cmV0dXJuIHgubGsuZGVzdGluYXRpb25JZD09PXl9fShmKSk/ZC5wdXNoKGgpOmUucHVzaChoKX19ZWxzZXtpZihNKDU1MCkpe3ZhciBuPWMuS1toXXx8W107Zi5Saj17fTtuLmZvckVhY2goZnVuY3Rpb24oeCl7cmV0dXJuIGZ1bmN0aW9uKHkpe3guUmpbeV09ITB9fShmKSk7Zm9yKHZhciBwPQp0aygpLHE9MDtxPHAubGVuZ3RoO3ErKylmLlJqW3BbcV1dJiZkLnB1c2gocFtxXSl9ZWxzZXt2YXIgcj1jLkhbaF18fFtdO2YuUWo9e307ci5mb3JFYWNoKGZ1bmN0aW9uKHgpe3JldHVybiBmdW5jdGlvbih5KXt4LlFqW3ldPSEwfX0oZikpO2Zvcih2YXIgdD13aygpLHU9MDt1PHQubGVuZ3RoO3UrKylpZihmLlFqW3RbdV1dKXtkPWQuY29uY2F0KHRrKCkpO2JyZWFrfX12YXIgdj1jLk5baF18fFtdO3YubGVuZ3RoJiYoZD1kLmNvbmNhdCh2KSl9fXJldHVybntlazpkLFBzOmV9fSxyRD1mdW5jdGlvbihhKXtHYihvRC5ILGZ1bmN0aW9uKGIsYyl7dmFyIGQ9Yy5pbmRleE9mKGEpO2Q+PTAmJmMuc3BsaWNlKGQsMSl9KX0sc0Q9ZnVuY3Rpb24oYSl7R2Iob0QuSyxmdW5jdGlvbihiLGMpe3ZhciBkPWMuaW5kZXhPZihhKTtkPj0wJiZjLnNwbGljZShkLDEpfSl9LHREPWZ1bmN0aW9uKGEpe0diKG9ELk4sZnVuY3Rpb24oYixjKXt2YXIgZD1jLmluZGV4T2YoYSk7ZD49MCYmYy5zcGxpY2UoZCwKMSl9KX0sb0Q9bmV3IGZ1bmN0aW9uKCl7dGhpcy5IPXt9O3RoaXMuTj17fTt0aGlzLks9e319O2Z1bmN0aW9uIHVEKGEsYixjKXt2YXIgZD1FZChhLG51bGwpO2QuZXZlbnRJZD12b2lkIDA7ZC5pbmhlcml0UGFyZW50Q29uZmlnPXZvaWQgMDtPYmplY3Qua2V5cyhiKS5zb21lKGZ1bmN0aW9uKGYpe3JldHVybiBiW2ZdIT09dm9pZCAwfSkmJlAoMTM2KTt2YXIgZT1FZChiLG51bGwpO0VkKGMsZSk7bUQockMod2soKVswXSxlKSxhLmV2ZW50SWQsZCl9CmZ1bmN0aW9uIHZEKGEsYixjLGQpe3ZhciBlPXt9LGY9KGVbRi5ELlViXT1GLkQud2EsZVsiZ3RtLmNvbmZpZ0NvbnRhaW5lcklkIl09YS5pZCxlWyJndG0uY29uZmlnUGFyYW1ldGVycyJdPWIsZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1kLmV2ZW50SWQsZSk7Yy5wcmlvcml0eVF1ZXVlJiYoZlsiZ3RtLnByaW9yaXR5UXVldWUiXT1jLnByaW9yaXR5UXVldWUpO2MuZXZlbnRNZXRhZGF0YSYmKGZbImd0bS5ldmVudE1ldGFkYXRhIl09Yy5ldmVudE1ldGFkYXRhKTthLkpjKCkmJihmWyJndG0uY29uZmlnQ29udGFpbmVySWQiXT13aygpWzBdLGZbImd0bS5vcmlnaW5hbENvbmZpZ1RhcmdldElkIl09YS5pZCk7cmV0dXJuIGZ9ZnVuY3Rpb24gd0QoYSxiLGMpe2lmKElmKDExKSYmIWMmJiFhW0YuRC5WZF0pe3ZhciBkPWFsKDEwLGZ1bmN0aW9uKCl7cmV0dXJuITF9KTtaaygxMCwhMCk7WEIoZCxhLGIpO2lmKGQpcmV0dXJuITB9cmV0dXJuITF9O2Z1bmN0aW9uIHhEKGEsYil7dmFyIGM9e30sZD0oYy5ldmVudD1hLGMpO2ImJihkLmV2ZW50TW9kZWw9RWQoYixudWxsKSxiW0YuRC5QZl0mJihkLmV2ZW50Q2FsbGJhY2s9YltGLkQuUGZdKSxiW0YuRC5waF0mJihkLmV2ZW50VGltZW91dD1iW0YuRC5waF0pKTtyZXR1cm4gZH0KZnVuY3Rpb24geUQoYSxiKXt2YXIgYz1hJiZhW0YuRC5YYl07Yz09PXZvaWQgMCYmKGM9dUEoRi5ELlhiLDIpLGM9PT12b2lkIDAmJihjPSJkZWZhdWx0IikpO2lmKHpiKGMpfHxBcnJheS5pc0FycmF5KGMpKXt2YXIgZDtkPWIuaXNHdG1FdmVudD96YihjKT9bY106YzpjLnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpLnNwbGl0KCIsIik7dmFyIGU9cUQoZCxiLmlzR3RtRXZlbnQpLGY9ZS5layxnPWUuUHM7aWYoZy5sZW5ndGgpZm9yKHZhciBoPWlEKGEpLGw9MDtsPGcubGVuZ3RoO2wrKyl7dmFyIG49YkMoZ1tsXSxiLmlzR3RtRXZlbnQpO2lmKG4pe3ZhciBwPW4uZGVzdGluYXRpb25JZCxxPXZvaWQgMDsoKHE9bmsobi5kZXN0aW5hdGlvbklkKSk9PW51bGw/dm9pZCAwOnEuc3RhdGUpPT09MHx8bkEocCxoLHtzb3VyY2U6Myxmcm9tQ29udGFpbmVyRXhlY3V0aW9uOmIuZnJvbUNvbnRhaW5lckV4ZWN1dGlvbn0pfX12YXIgcj1mLmNvbmNhdChnKTtyZXR1cm57ZWs6Y0MoZixiLmlzR3RtRXZlbnQpLAptcjpjQyhyLGIuaXNHdG1FdmVudCl9fX07dmFyIHpEPXt9LEFEPSh6RC5jb25maWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1oRChhLGIpLGQ7YTp7aWYoIShhLmxlbmd0aDwyKSYmemIoYVsxXSkpe3ZhciBlPXt9O2lmKGEubGVuZ3RoPjIpe2lmKGFbMl0hPT12b2lkIDAmJiFDZChhWzJdKXx8YS5sZW5ndGg+Myl7ZD12b2lkIDA7YnJlYWsgYX1lPWFbMl19dmFyIGY9YkMoYVsxXSxiLmlzR3RtRXZlbnQpO2lmKGYpe2Q9e3RhcmdldDpmLHBhcmFtczplfTticmVhayBhfX1kPXZvaWQgMH12YXIgZz1kO2lmKGcpe3ZhciBoPWcudGFyZ2V0LGw9Zy5wYXJhbXMsbjthOntpZighSWYoNykpe3ZhciBwPXlrKHprKCkpO2lmKE1rKHApKXt2YXIgcT1wLnBhcmVudCxyPXEuaXNEZXN0aW5hdGlvbjtuPXtWczp5ayhxKSxNczpyfTticmVhayBhfX1uPXZvaWQgMH12YXIgdD1uLHU9dD09bnVsbD92b2lkIDA6dC5Wcyx2PXQ9PW51bGw/dm9pZCAwOnQuTXM7ZEIoYy5ldmVudElkLCJndGFnLmNvbmZpZyIpO3ZhciB4LHk9aC5kZXN0aW5hdGlvbklkOwppZihoLkpjKCk/dGsoKS5pbmRleE9mKHkpIT09LTE6d2soKS5pbmRleE9mKHkpIT09LTEpYTp7aWYodSYmKFAoMTI4KSx2JiZQKDEzMCksYi5pbmhlcml0UGFyZW50Q29uZmlnKSl7dmFyIHo7dmFyIEM9JGsoMTIpO2lmKEMpdUQoYixDLGwpLHo9ITE7ZWxzZXt2YXIgRD0kaygxMSk7IWxbRi5ELlZkXSYmKE0oNTUwKXx8SWYoMTEpKSYmRHx8WmsoMTEsRWQobCxudWxsKSk7ej0hMH16JiZ1LmNvbnRhaW5lcnMmJnUuY29udGFpbmVycy5qb2luKCIsIik7eD12b2lkIDA7YnJlYWsgYX12YXIgST0hSWYoNDUpLEc9IVNiKGguaWQsIkdUTS0iKTtJJiZHJiYoT2JqZWN0LmtleXMobCkubGVuZ3RoPT09MD9HdShULlcuU2spOkd1KFQuVy5UayksRWwoKSYmR3UoVC5XLlJrKSwkaygzMSkmJkd1KFQuVy5VaykpO3ZhciBOPVlCO2ZuLksmJihOLkg9PT0xJiYoUW0uSC5tY2M9ITEpLE4uSD0yKTtpZihNKDU1MCl8fCF3RChsLGIsaC5KYygpKSl7a0QuSHx8UCg0Myk7aWYoIU0oNTUwKSl7aWYoIWIubm9UYXJnZXRHcm91cCl7dmFyIFM9CmguaWQ7aWYoaC5KYygpKXREKFMpLHBEKFMsbFtGLkQuT2RdfHwiZGVmYXVsdCIpO2Vsc2V7ckQoUyk7dmFyIFc9bFtGLkQuT2RdfHwiZGVmYXVsdCIsZWE9b0Q7Vz1XLnRvU3RyaW5nKCkuc3BsaXQoIiwiKTtmb3IodmFyIGphPTA7amE8Vy5sZW5ndGg7amErKyl7dmFyIGZhPWVhLkhbV1tqYV1dfHxbXTtlYS5IW1dbamFdXT1mYTtmYS5pbmRleE9mKFMpPDAmJmZhLnB1c2goUyl9fX1kZWxldGUgbFtGLkQuT2RdfXZhciBzYT1iLmV2ZW50TWV0YWRhdGF8fHt9O3NhLmhhc093blByb3BlcnR5KEguSi5hZSl8fChzYVtILkouYWVdPSFiLmZyb21Db250YWluZXJFeGVjdXRpb24pO2IuZXZlbnRNZXRhZGF0YT1zYTtkZWxldGUgbFtGLkQuUGZdO2lmKE0oNTUwKSl7eD12RChoLGwsYixjKTticmVhayBhfXZhciBkYT0hIWxbRi5ELlZkXTtkZWxldGUgbFtGLkQuVmRdO3ZhciBtYT10aygpLFBhPWNELEZhPWFEO2guSmMoKSYmKG1hPVtoLmlkXSxQYT1kRCxGYT1iRCk7Zm9yKHZhciBxYT0wO3FhPAptYS5sZW5ndGg7cWErKyl7ZGF8fFBhKG1hW3FhXSk7dmFyIGliPWdEKG1hW3FhXSk7RmEobWFbcWFdLEVkKGwsbnVsbCksRWQoYixudWxsKSk7aWImJmRhfHxaQyhGLkQud2EsRWQobCxudWxsKSxtYVtxYV0sRWQoYixudWxsKSl9fXg9dm9pZCAwfWVsc2UgYTp7aWYoIWIuaW5oZXJpdFBhcmVudENvbmZpZyYmIWxbRi5ELlpjXSl7dmFyIFhiPWlEKGwpLExjPWguZGVzdGluYXRpb25JZDtpZihoLkpjKCkpbkEoTGMsWGIse3NvdXJjZToyLGZyb21Db250YWluZXJFeGVjdXRpb246Yi5mcm9tQ29udGFpbmVyRXhlY3V0aW9ufSk7ZWxzZSBpZih1IT09dm9pZCAwJiZ1LmNvbnRhaW5lcnMuaW5kZXhPZihMYykhPT0tMSl7dmFyIFFkPSRrKDExKSxZYz0kaygxMik7UWQ/dUQoYixsLFFkKTpZY3x8WmsoMTIsRWQobCxudWxsKSl9ZWxzZSBpZihoQShMYyxYYiwhMCx7c291cmNlOjIsZnJvbUNvbnRhaW5lckV4ZWN1dGlvbjpiLmZyb21Db250YWluZXJFeGVjdXRpb259KSxNKDU1MCkpe3g9dkQoaCwKbCxiLGMpO2JyZWFrIGF9fXg9dm9pZCAwfXJldHVybiB4fX0sekQuY29uc2VudD1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09Myl7UCgzOSk7dmFyIGM9aEQoYSxiKSxkPWFbMV0sZT17fSxmPU9vKGFbMl0pLGc7Zm9yKGcgaW4gZilpZihmLmhhc093blByb3BlcnR5KGcpKXt2YXIgaD1mW2ddO2VbZ109Zz09PUYuRC5ZZz9BcnJheS5pc0FycmF5KGgpP05hTjpOdW1iZXIoaCk6Zz09PUYuRC5uYz8oQXJyYXkuaXNBcnJheShoKT9oOltoXSkubWFwKFBvKTpRbyhoKX1iLmZyb21Db250YWluZXJFeGVjdXRpb258fChlW0YuRC5tYV0mJlAoMTM5KSxlW0YuRC5YYV0mJlAoMTQwKSk7ZD09PSJkZWZhdWx0Ij9UbyhlKTpkPT09InVwZGF0ZSI/Vm8oZSxjKTpkPT09ImRlY2xhcmUiJiZiLmZyb21Db250YWluZXJFeGVjdXRpb24mJlNvKGUpfX0sekQuY29udGFpbmVyX2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZDZChhWzJdKSl7dmFyIGM9CmFbMl0sZD1iQyhhWzFdLCEwKTtkJiZhRChkLmRlc3RpbmF0aW9uSWQsYyxFZChiLG51bGwpKX19LHpELmRlc3RpbmF0aW9uX2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZDZChhWzJdKSl7dmFyIGM9YVsyXSxkPWJDKGFbMV0sITApO2lmKGQpe2lmKE0oNTUwKSl7aWYoIWIubm9UYXJnZXRHcm91cCl7dmFyIGU9ZC5pZDtpZihkLkpjKCkpdEQoZSkscEQoZSxjW0YuRC5PZF18fCJkZWZhdWx0Iik7ZWxzZXtzRChlKTt2YXIgZj1jW0YuRC5PZF18fCJkZWZhdWx0IixnPW9EO2Y9U3RyaW5nKGYpLnNwbGl0KCIsIik7Zm9yKHZhciBoPTA7aDxmLmxlbmd0aDtoKyspe3ZhciBsPWcuS1tmW2hdXXx8W107Zy5LW2ZbaF1dPWw7bC5pbmRleE9mKGUpPDAmJmwucHVzaChlKX19fWRlbGV0ZSBjW0YuRC5PZF19YkQoZC5pZCxjLEVkKGIsbnVsbCkpfX19LHpELmV2ZW50PWZ1bmN0aW9uKGEsYil7dmFyIGM9YVsxXTtpZighKGEubGVuZ3RoPDIpJiYKemIoYykpe3ZhciBkPXZvaWQgMDtpZihhLmxlbmd0aD4yKXtpZighQ2QoYVsyXSkmJmFbMl0hPT12b2lkIDB8fGEubGVuZ3RoPjMpcmV0dXJuO2Q9YVsyXX12YXIgZT14RChjLGQpLGY9aEQoYSxiKSxnPWYuZXZlbnRJZCxoPWYucHJpb3JpdHlJZDtlWyJndG0udW5pcXVlRXZlbnRJZCJdPWc7aCYmKGVbImd0bS5wcmlvcml0eUlkIl09aCk7Yi5wcmlvcml0eVF1ZXVlJiYoZVsiZ3RtLnByaW9yaXR5UXVldWUiXT1iLnByaW9yaXR5UXVldWUpO2lmKGM9PT0ib3B0aW1pemUuY2FsbGJhY2siKXJldHVybiBlLmV2ZW50TW9kZWw9ZS5ldmVudE1vZGVsfHx7fSxlO3ZhciBsPXlEKGQsYik7aWYobCl7Zm9yKHZhciBuPWwuZWsscD1sLm1yLHE9cC5tYXAoZnVuY3Rpb24oTil7cmV0dXJuIE4uaWR9KSxyPXAubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLmRlc3RpbmF0aW9uSWR9KSx0PW4ubWFwKGZ1bmN0aW9uKE4pe3JldHVybiBOLmlkfSksdT1tKHRrKCkpLHY9dS5uZXh0KCk7IXYuZG9uZTt2PQp1Lm5leHQoKSl7dmFyIHg9di52YWx1ZTtyLmluZGV4T2YoeCk8MCYmdC5wdXNoKHgpfWRCKGcsYyk7Zm9yKHZhciB5PW0odCksej15Lm5leHQoKTshei5kb25lO3o9eS5uZXh0KCkpe3ZhciBDPXoudmFsdWUsRD1FZChiLG51bGwpLEk9RWQoZCxudWxsKTtkZWxldGUgSVtGLkQuUGZdO3ZhciBHPUQuZXZlbnRNZXRhZGF0YXx8e307Ry5oYXNPd25Qcm9wZXJ0eShILkouYWUpfHwoR1tILkouYWVdPSFELmZyb21Db250YWluZXJFeGVjdXRpb24pO0dbSC5KLm1qXT1xLnNsaWNlKCk7R1tILkouc2ddPXIuc2xpY2UoKTtELmV2ZW50TWV0YWRhdGE9RztaQyhjLEksQyxEKX1lLmV2ZW50TW9kZWw9ZS5ldmVudE1vZGVsfHx7fTtxLmxlbmd0aD4wP2UuZXZlbnRNb2RlbFtGLkQuWGJdPXEuam9pbigiLCIpOmRlbGV0ZSBlLmV2ZW50TW9kZWxbRi5ELlhiXTtrRC5IfHxQKDQzKTtiLm5vR3RtRXZlbnQ9PT12b2lkIDAmJmIuZXZlbnRNZXRhZGF0YSYmYi5ldmVudE1ldGFkYXRhW0guSi5Cbl0mJihiLm5vR3RtRXZlbnQ9CiEwKTtlLmV2ZW50TW9kZWxbRi5ELlljXSYmKGIubm9HdG1FdmVudD0hMCk7cmV0dXJuIGIubm9HdG1FdmVudD92b2lkIDA6ZX19fSx6RC5nZXQ9ZnVuY3Rpb24oYSxiKXtQKDUzKTtpZihhLmxlbmd0aD09PTQmJnpiKGFbMV0pJiZ6YihhWzJdKSYmeWIoYVszXSkpe3ZhciBjPWJDKGFbMV0sYi5pc0d0bUV2ZW50KSxkPVN0cmluZyhhWzJdKSxlPWFbM107aWYoYyl7a0QuSHx8UCg0Myk7dmFyIGY9aUQoKTtpZihDYih0aygpLGZ1bmN0aW9uKGgpe3JldHVybiBjLmRlc3RpbmF0aW9uSWQ9PT1ofSkpe2hEKGEsYik7dmFyIGc9e307RWQoKGdbRi5ELlRmXT1kLGdbRi5ELlNmXT1lLGcpLG51bGwpOyRDKGQsZnVuY3Rpb24oaCl7YmQoZnVuY3Rpb24oKXtlKGgpfSl9LGMuaWQsYil9ZWxzZSBuQShjLmRlc3RpbmF0aW9uSWQsZix7c291cmNlOjQsZnJvbUNvbnRhaW5lckV4ZWN1dGlvbjpiLmZyb21Db250YWluZXJFeGVjdXRpb259KX19fSx6RC5qcz1mdW5jdGlvbihhLGIpe3ZhciBjO2lmKGEubGVuZ3RoPT09CjImJmFbMV0uZ2V0VGltZSl7a0QuSD0hMDt2YXIgZD1oRChhLGIpLGU9ZC5ldmVudElkLGY9ZC5wcmlvcml0eUlkLGc9e307Yz0oZy5ldmVudD0iZ3RtLmpzIixnWyJndG0uc3RhcnQiXT1hWzFdLmdldFRpbWUoKSxnWyJndG0udW5pcXVlRXZlbnRJZCJdPWUsZ1siZ3RtLnByaW9yaXR5SWQiXT1mLGcpfWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9LHpELnBvbGljeT1mdW5jdGlvbihhKXtpZihhLmxlbmd0aD09PTMmJnpiKGFbMV0pJiZ5YihhWzJdKSl7aWYoaHkoYVsxXSxhWzJdKSxQKDc0KSxhWzFdPT09ImFsbCIpe1AoNzUpO3ZhciBiPSExO3RyeXtiPWFbMl0oRSg1KSwidW5rbm93biIse30pfWNhdGNoKGMpe31ifHxQKDc2KX19ZWxzZSBQKDczKX0sekQucmVzZXRfdGFyZ2V0X2NvbmZpZz1mdW5jdGlvbihhLGIpe2lmKGpEKGIpJiZhLmxlbmd0aD09PTImJnpiKGFbMV0pKXt2YXIgYz1iQyhhWzFdLCEwKTtjJiZkRChjLmlkKX19LHpELnNldD1mdW5jdGlvbihhLGIpe3ZhciBjPXZvaWQgMDsKYS5sZW5ndGg9PT0yJiZDZChhWzFdKT9jPUVkKGFbMV0sbnVsbCk6YS5sZW5ndGg9PT0zJiZ6YihhWzFdKSYmKGM9e30sQ2QoYVsyXSl8fEFycmF5LmlzQXJyYXkoYVsyXSk/Y1thWzFdXT1FZChhWzJdLG51bGwpOmNbYVsxXV09YVsyXSk7aWYoYyl7WmsoMzEsITApO3ZhciBkPWhEKGEsYiksZT1kLmV2ZW50SWQsZj1kLnByaW9yaXR5SWQ7RWQoYyxudWxsKTtFKDUpO3ZhciBnPUVkKGMsbnVsbCk7WUMoKS5ILnB1c2goInNldCIsW2ddLHZvaWQgMCxiKTtjWyJndG0udW5pcXVlRXZlbnRJZCJdPWU7ZiYmKGNbImd0bS5wcmlvcml0eUlkIl09Zik7ZGVsZXRlIGMuZXZlbnQ7Yi5vdmVyd3JpdGVNb2RlbEZpZWxkcz0hMDtyZXR1cm4gY319LHpEKSxCRD17fSxDRD0oQkQucG9saWN5PSEwLEJEKTt2YXIgRUQ9ZnVuY3Rpb24oYSl7aWYoREQoYSkpcmV0dXJuIGE7dGhpcy52YWx1ZT1hfTtFRC5wcm90b3R5cGUuZ2V0VW50cnVzdGVkTWVzc2FnZVZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWV9O3ZhciBERD1mdW5jdGlvbihhKXtyZXR1cm4hYXx8QWQoYSkhPT0ib2JqZWN0Inx8Q2QoYSk/ITE6ImdldFVudHJ1c3RlZE1lc3NhZ2VWYWx1ZSJpbiBhfTtFRC5wcm90b3R5cGUuZ2V0VW50cnVzdGVkTWVzc2FnZVZhbHVlPUVELnByb3RvdHlwZS5nZXRVbnRydXN0ZWRNZXNzYWdlVmFsdWU7dmFyIEZEPXtCYjoiMSIsZWU6IjIiLFhkOiIzIixjZToiNCIseGY6IjUiLHFnOiI2IixLaDoiNyIsdGo6IjgiLGxpOiI5IixqajoiMTAifTsKdmFyIEdEPWZ1bmN0aW9uKGEsYil7aWYoYSl7dmFyIGM9YS50cmltKCkucmVwbGFjZUFsbCgvXHMrL2csIiIpLnJlcGxhY2VBbGwoLyhcZHsyLH0pXC4vZywiJDEiKS5yZXBsYWNlQWxsKC8tL2csIiIpLnJlcGxhY2VBbGwoL1woKFxkKylcKS9nLCIkMSIpO2lmKGImJmMubWF0Y2goL15cKz9cZHszLDR9JC8pKXJldHVybiBjO2MuY2hhckF0KDApIT09IisiJiYoYz0iKyIrYyk7aWYoYy5tYXRjaChuZXcgUmVnRXhwKCJeXFwrXFxkeyIrKE0oNTk3KT83OjEwKSsiLDE1fSQiKSkpcmV0dXJuIGN9fSxJRD1mdW5jdGlvbihhKXtpZihhKXt2YXIgYj1hLnRyaW0oKTtpZihIRC50ZXN0KGIpKXJldHVybiBiLnRvTG93ZXJDYXNlKCkucmVwbGFjZUFsbCgvWy0gXSsvZywiIil9fSxNRD1mdW5jdGlvbihhKXt2YXIgYj1KRChLRCkoYSk7aWYoYiYmIUxEKGIpKXJldHVybiBifSxMRD1mdW5jdGlvbihhKXtpZighQS5sb2NhdGlvbilyZXR1cm4hMTt2YXIgYj1OaihBLmxvY2F0aW9uLCJob3N0IiwhMCksCmM7aWYoTSg2MDIpKWE6e2Zvcih2YXIgZD1iLnNwbGl0KCIuIiksZT1hLnRvTG93ZXJDYXNlKCksZj0wO2Y8ZC5sZW5ndGgtMTtmKyspe3ZhciBnPWQuc2xpY2UoZikuam9pbigiLiIpO2lmKGUubWF0Y2goIkAiK2crIiQiKSl7Yz0hMDticmVhayBhfX1jPSExfWVsc2UgYz1hLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihiKT49MDtyZXR1cm4gY30sSkQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWIubWF0Y2goYSk7cmV0dXJuIGM/Y1swXS50cmltKCkudG9Mb3dlckNhc2UoKTp2b2lkIDB9fSxLRD0vW0EtWjAtOS5fJSstXStAW0EtWjAtOS4tXStcLltBLVpdezIsfS9pLE5EPUpEKC9eKFteXHgwMC1ceDQwXHg1Yi1ceDYwXHg3Yi1ceGZmXXxbLi1dfFxzKSskLyksSEQ9UmVnRXhwKCJeKD86W0EtWl17MSwyfVxcZFtBLVpcXGRdP1sgLV0/XFxkW0EtWl17Mn18W0EtWl1cXGRbQS1aXVsgLV0/XFxkW0EtWl1cXGR8XFxkezR9ID9bQS1aXXsyfXxbQS1aXVxcZHs0fVtBLVpdezN9fFxcZHs1fSg/Oi1cXGR7NH0pP3xcXGR7NX0tXFxkezN9fFxcZHs0fS1cXGR7M318XFxkezN9LVxcZHs0fXxcXGR7Mn0tXFxkezN9fFxcZHszfSA/XFxkezJ9fFxcZHs0LDd9KSQiLAoiaSIpLE9EPUpEKC9eKFteXHgwMC1ceDQwXHg1Yi1ceDYwXHg3Yi1ceGZmXXxbLi1dfFxzfFxkKSskLyk7CnZhciBQRD1mdW5jdGlvbigpe3ZhciBhPVN0cmluZyhhbCgzMyxmdW5jdGlvbigpe3JldHVybiAwfSkpO2EuaW5kZXhPZigiLiIpIT09LTEmJihhPWEuc3Vic3RyaW5nKDAsYS5pbmRleE9mKCIuIikrMykpO3ZhciBiPWFsKDM0LGZ1bmN0aW9uKCl7cmV0dXJuIDB9KTtyZXR1cm57dnQ6TnVtYmVyKGEpLHN0OmJ9fSxRRD1mdW5jdGlvbigpe3JldHVybiBhbCgzMixmdW5jdGlvbigpe3JldHVybiBuZXcgTWFwfSl9LFNEPWZ1bmN0aW9uKGEpe3ZhciBiPXBkKCl8fDAsYz1bRkQuQmJdO00oNTY4KSYmYy5wdXNoKEZELmVlLEZELlhkLEZELmNlLEZELnhmLEZELnFnLEZELnRqLEZELmxpLEZELmpqKTtmb3IodmFyIGQ9UkQoYSxuZXcgU2V0KGMpKSxlPWFsKDMyLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KSxmPW0oZCksZz1mLm5leHQoKTshZy5kb25lO2c9Zi5uZXh0KCkpe3ZhciBoPWcudmFsdWU7ZS5zZXQoaC5EYSxoKX12YXIgbD0ocGQoKXx8MCktYixuPWFsKDMzLGZ1bmN0aW9uKCl7cmV0dXJuIDB9KTsKWmsoMzMsbitsKTt2YXIgcD1hbCgzNCxmdW5jdGlvbigpe3JldHVybiAwfSk7WmsoMzQscCsxKX0sUkQ9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9TmYoMzYsMiksZD1bXSxlPVt7b286YSxkZXB0aDowfV07ZS5sZW5ndGg+MDspZm9yKHZhciBmPWUuc2hpZnQoKSxnPWYub28saD1mLmRlcHRoLGw9bShPYmplY3Qua2V5cyhnKSksbj1sLm5leHQoKTshbi5kb25lO249bC5uZXh0KCkpe3ZhciBwPW4udmFsdWU7aWYoIVRELmhhcyhwKSl7dmFyIHE9Z1twXTtpZihxKWlmKENkKHEpKWgrMTw9YyYmZS5wdXNoKHtvbzpxLGRlcHRoOmgrMX0pO2Vsc2V7Zm9yKHZhciByPW0oYiksdD1yLm5leHQoKTshdC5kb25lO3Q9ci5uZXh0KCkpe3ZhciB1PXQudmFsdWUsdj1VRFt1XTtpZih2JiZ2LktjLnRlc3QocCkpe3ZhciB4PXYubmEoU3RyaW5nKHEpKTtpZih4KXtkLnB1c2goe0NhOngsRGE6dX0pO2IuZGVsZXRlKHUpO2JyZWFrfX19aWYoYi5zaXplPT09MClyZXR1cm4gZH19fXJldHVybiBkfSxURD0KbmV3IFNldChbIml0ZW1zIiwiZWNvbW1lcmNlIl0pLFZEPVJlZ0V4cCgicGhvbmUiLCJpIiksV0Q9UmVnRXhwKCJmaXJzdF8/bmFtZSIsImkiKSxYRD1SZWdFeHAoImxhc3RfP25hbWUiLCJpIiksWUQ9UmVnRXhwKCJjb3VudHJ5IiwiaSIpLFpEPVJlZ0V4cCgicG9zdHx6aXAiLCJpIiksJEQ9UmVnRXhwKCJhZGRyZXNzfHN0cmVldCIsImkiKSxhRT1SZWdFeHAoImNpdHkiLCJpIiksYkU9UmVnRXhwKCJyZWdpb258c3RhdGV8cHJvdmluY2UiLCJpIiksY0U9e30sVUQ9KGNFW0ZELkJiXT17S2M6UmVnRXhwKCJlbWFpbCIsImkiKSxuYTpNRH0sY0VbRkQuZWVdPXtLYzpWRCxuYTpmdW5jdGlvbihhKXtyZXR1cm4gR0QoYSwhMSl9fSxjRVtGRC5YZF09e0tjOldELG5hOk5EfSxjRVtGRC5jZV09e0tjOlhELG5hOk5EfSxjRVtGRC50al09e0tjOiRELG5hOk9EfSxjRVtGRC5saV09e0tjOmFFLG5hOk5EfSxjRVtGRC5qal09e0tjOmJFLG5hOk5EfSxjRVtGRC5xZ109e0tjOlpELG5hOklEfSxjRVtGRC54Zl09CntLYzpZRCxuYTpORH0sY0UpO3ZhciBkRT1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5sb2FkZWQ9ITE7dGhpcy5IPVtdO2lmKEIucmVhZHlTdGF0ZT09PSJjb21wbGV0ZSIpdGhpcy5vbkxvYWQoKTtlbHNlICRjKEEsImxvYWQiLGZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgYS5vbkxvYWQoKX0pfTtkRS5wcm90b3R5cGUub25Mb2FkPWZ1bmN0aW9uKCl7aWYoIXRoaXMubG9hZGVkKXt0aGlzLmxvYWRlZD0hMDtmb3IodmFyIGE9MDthPHRoaXMuSC5sZW5ndGg7YSsrKWJkKHRoaXMuSFthXSl9fTt2YXIgZkU9ZnVuY3Rpb24oYSl7dmFyIGI9ZUU7Yi5sb2FkZWQ/YmQoYSk6Yi5ILnB1c2goYSl9LGVFPW5ldyBkRTt2YXIgZ0U9ZnVuY3Rpb24oKXt0aGlzLlo9MDt0aGlzLks9e307dGhpcy5IPVtdO3RoaXMuTj1bXTt0aGlzLmZhPXRoaXMuUj10aGlzLmphPSExfSxpRT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aEU7YS5ldmVudENhbGxiYWNrPWI7YyYmKGEuZXZlbnRUaW1lb3V0PWMpO3JldHVybiBkLnB1c2goYSl9LGpFPWZ1bmN0aW9uKGEsYil7aWYoIUFiKGIpfHxiPDApYj0wO3ZhciBjPXFqKCksZD0wLGU9ITEsZj12b2lkIDA7Zj1BLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtlfHwoZT0hMCxhKCkpO2Y9dm9pZCAwfSxiKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZz1jP2Muc3Vic2NyaWJlcnM6MTsrK2Q9PT1nJiYoZiYmKEEuY2xlYXJUaW1lb3V0KGYpLGY9dm9pZCAwKSxlfHwoYSgpLGU9ITApKX19LGxFPWZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEuTi5sZW5ndGgpYj1hLk4uc2hpZnQoKTtlbHNlIGlmKGEuSC5sZW5ndGgpYj1hLkguc2hpZnQoKTtlbHNlIHJldHVybjt2YXIgYzt2YXIgZD1iO2lmKGEuamF8fAoha0UoZC5tZXNzYWdlKSljPWQ7ZWxzZXthLmphPSEwO3ZhciBlPWQubWVzc2FnZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXSxmLGc7dHlwZW9mIGU9PT0ibnVtYmVyIj8oZj1lLTIsZz1lLTEpOihmPXJqKCksZz1yaigpLGQubWVzc2FnZVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1yaigpKTt2YXIgaD17fSxsPXttZXNzYWdlOihoLmV2ZW50PSJndG0uaW5pdF9jb25zZW50IixoWyJndG0udW5pcXVlRXZlbnRJZCJdPWYsaCksbWVzc2FnZUNvbnRleHQ6e2V2ZW50SWQ6Zn19LG49e30scD17bWVzc2FnZToobi5ldmVudD0iZ3RtLmluaXQiLG5bImd0bS51bmlxdWVFdmVudElkIl09ZyxuKSxtZXNzYWdlQ29udGV4dDp7ZXZlbnRJZDpnfX07YS5ILnVuc2hpZnQocCxkKTtjPWx9cmV0dXJuIGN9LG9FPWZ1bmN0aW9uKGEpe2EuZmF8fFAoMTk2KTtmb3IodmFyIGI9ITEsYzshYS5SJiYoYz1sRShhKSk7KXthLlI9ITA7dmFyIGQ9ckE7ZGVsZXRlIGQuSC5ldmVudE1vZGVsO29BKGQpO3ZhciBlPWMsZj0KZS5tZXNzYWdlLGc9ZS5tZXNzYWdlQ29udGV4dDtpZihmPT1udWxsKWEuUj0hMTtlbHNle2cuZnJvbUNvbnRhaW5lckV4ZWN1dGlvbiYmc0EoKTt0cnl7aWYoeWIoZikpdHJ5e2YuY2FsbCh0QSl9Y2F0Y2goUyl7fWVsc2UgaWYoQXJyYXkuaXNBcnJheShmKSl7aWYoemIoZlswXSkpe3ZhciBoPWZbMF0uc3BsaXQoIi4iKSxsPWgucG9wKCksbj1mLnNsaWNlKDEpLHA9dUEoaC5qb2luKCIuIiksMik7aWYocCE9bnVsbCl0cnl7cFtsXS5hcHBseShwLG4pfWNhdGNoKFMpe319fWVsc2V7dmFyIHE9dm9pZCAwO2lmKEhiKGYpKWE6e2lmKGYubGVuZ3RoJiZ6YihmWzBdKSl7dmFyIHI9QURbZlswXV07aWYociYmKCFnLmZyb21Db250YWluZXJFeGVjdXRpb258fCFDRFtmWzBdXSkpe3E9cihmLGcpO2JyZWFrIGF9fXE9dm9pZCAwfWVsc2UgcT1mO2lmKHEpe3ZhciB0O2Zvcih2YXIgdT1xLHY9dS5fY2xlYXJ8fGcub3ZlcndyaXRlTW9kZWxGaWVsZHMseD1tKE9iamVjdC5rZXlzKHUpKSx5PXgubmV4dCgpOyF5LmRvbmU7eT0KeC5uZXh0KCkpe3ZhciB6PXkudmFsdWU7eiE9PSJfY2xlYXIiJiYodiYmckEuc2V0KHosdm9pZCAwKSxyQS5zZXQoeix1W3pdKSl9TSg1OTIpJiZTRCh1KTskaygyNSl8fFprKDI1LHVbImd0bS5zdGFydCJdKTt2YXIgQz11WyJndG0udW5pcXVlRXZlbnRJZCJdO3UuZXZlbnQ/KHR5cGVvZiBDIT09Im51bWJlciImJihDPXJqKCksdVsiZ3RtLnVuaXF1ZUV2ZW50SWQiXT1DLHJBLnNldCgiZ3RtLnVuaXF1ZUV2ZW50SWQiLEMpKSx0PXpCKHUpKTp0PSExO2I9dHx8Yn19fWZpbmFsbHl7Zy5mcm9tQ29udGFpbmVyRXhlY3V0aW9uJiZvQShyQSwhMCk7dmFyIEQ9ZlsiZ3RtLnVuaXF1ZUV2ZW50SWQiXTtpZih0eXBlb2YgRD09PSJudW1iZXIiKXtmb3IodmFyIEk9YSxHPUkuS1tTdHJpbmcoRCldfHxbXSxOPTA7TjxHLmxlbmd0aDtOKyspSS5OLnB1c2gobUUoR1tOXSkpO0cubGVuZ3RoJiZJLk4uc29ydChuRSk7ZGVsZXRlIEkuS1tTdHJpbmcoRCldO0Q+YS5aJiYoYS5aPUQpfWEuUj0hMX19fXJldHVybiFifSwKcEU9ZnVuY3Rpb24oKXt2YXIgYT1oRTthLmZhJiZQKDE5NSk7YS5mYT0hMDtpZihmbi5IKXt2YXIgYj0hSWYoNTEpLGM9cnooKTtweihjLHtzdGFnZTpJeS5YLlpnfSk7aWYoYil7dmFyIGQ9cXooYyx7c3RhZ2U6SXkuWC5Za30sSXkuWC5uaSk7ZCE9PXZvaWQgMCYmKGMuSC5ZPWQpfXZhciBlPWEuSC5sZW5ndGg7cnooKS5ILkM9ZX1vRShhKTtpZihmbi5IKXt2YXIgZj1yeigpLGc9cXooZix7c3RhZ2U6SXkuWC5Wa30sSXkuWC5aZyk7ZyE9PXZvaWQgMCYmKGYuSC5CPWcpfXRyeXt2YXIgaD1BW0UoMTkpXSxsPUUoNSksbj1oLmhpZGU7aWYobiYmbltsXSE9PXZvaWQgMCYmbi5lbmQpe25bbF09ITE7dmFyIHA9ITAscTtmb3IocSBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkocSkmJm5bcV09PT0hMCl7cD0hMTticmVha31wJiYobi5lbmQoKSxuLmVuZD1udWxsKX19Y2F0Y2gocil7RSg1KX19LHFFPWZ1bmN0aW9uKGEsYil7aWYoYS5aPGIubm90QmVmb3JlRXZlbnRJZCl7dmFyIGM9U3RyaW5nKGIubm90QmVmb3JlRXZlbnRJZCk7CmEuS1tjXT1hLktbY118fFtdO2EuS1tjXS5wdXNoKGIpfWVsc2V7YS5OLnB1c2gobUUoYikpO2EuTi5zb3J0KG5FKTt2YXIgZD1mdW5jdGlvbigpe2EuUnx8b0UoYSl9O00oNTgwKT9kZChkKTpiZChkKX19OwpnRS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoaCl7dmFyIGw9e307aWYoREQoaCkpe3ZhciBuPWg7aD1ERChuKT9uLmdldFVudHJ1c3RlZE1lc3NhZ2VWYWx1ZSgpOnZvaWQgMDtsLmZyb21Db250YWluZXJFeGVjdXRpb249ITB9cmV0dXJue21lc3NhZ2U6aCxtZXNzYWdlQ29udGV4dDpsfX12YXIgYj10aGlzLGM9TWMoRSgxOSksW10pLGQ9cGooKTtkLnBydW5lZD09PSEwJiZQKDgzKTt0aGlzLks9bkQoKS5nZXQoKTtuRCgpLmxpc3RlbihmdW5jdGlvbihoKXtxRShiLGgpfSk7ZC5zdWJzY3JpYmVycz0oZC5zdWJzY3JpYmVyc3x8MCkrMTt2YXIgZT1jLnB1c2gsZj10aGlzO2MucHVzaD1mdW5jdGlvbigpe3ZhciBoO2xqKCk7aWYoamouSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFPjApe2g9W107Zm9yKHZhciBsPTA7bDxhcmd1bWVudHMubGVuZ3RoO2wrKyloW2xdPW5ldyBFRChhcmd1bWVudHNbbF0pfWVsc2UgaD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTsKdmFyIG49aC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGEodCl9KTtmLkgucHVzaC5hcHBseShmLkgsbik7dmFyIHA9ZS5hcHBseShjLGgpLHE9TWF0aC5tYXgoMTAwLE5mKDEsMzAwKSk7aWYodGhpcy5sZW5ndGg+cSlmb3IoUCg0KSxkLnBydW5lZD0hMDt0aGlzLmxlbmd0aD5xOyl0aGlzLnNoaWZ0KCk7dmFyIHI9dHlwZW9mIHAhPT0iYm9vbGVhbiJ8fHA7cmV0dXJuIG9FKGYpJiZyfTt2YXIgZz1jLnNsaWNlKDApLm1hcChmdW5jdGlvbihoKXtyZXR1cm4gYShoKX0pO3RoaXMuSC5wdXNoLmFwcGx5KHRoaXMuSCxnKTtJZig1MSl8fChmbi5IJiZ1eigpLGJkKHJFKSk7VkIoZnVuY3Rpb24oKXtpZighZC5ndG1Eb20pe2QuZ3RtRG9tPSEwO3ZhciBoPXt9O2MucHVzaCgoaC5ldmVudD0iZ3RtLmRvbSIsaCkpfX0pO2ZFKGZ1bmN0aW9uKCl7aWYoIWQuZ3RtTG9hZCl7ZC5ndG1Mb2FkPSEwO3ZhciBoPXt9O2MucHVzaCgoaC5ldmVudD0iZ3RtLmxvYWQiLGgpKX19KX07CmdFLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGEpe3JldHVybiBBW0UoMTkpXS5wdXNoKGEpfTt2YXIgaEU9bmV3IGdFO2Z1bmN0aW9uIG5FKGEsYil7dmFyIGM9YS5tZXNzYWdlQ29udGV4dCxkPWIubWVzc2FnZUNvbnRleHQ7aWYoYy5ldmVudElkIT09ZC5ldmVudElkKXJldHVybiBjLmV2ZW50SWQtZC5ldmVudElkO2lmKCFNKDU5NSkpcmV0dXJuIGMucHJpb3JpdHlJZC1kLnByaW9yaXR5SWQ7dmFyIGUsZixnO2E6e2Zvcih2YXIgaD0oZT1jLnByaW9yaXR5UXVldWUpIT1udWxsP2U6W2MucHJpb3JpdHlJZF0sbD0oZj1kLnByaW9yaXR5UXVldWUpIT1udWxsP2Y6W2QucHJpb3JpdHlJZF0sbj1NYXRoLm1pbihoLmxlbmd0aCxsLmxlbmd0aCkscD0wO3A8bjtwKyspaWYoaFtwXSE9PWxbcF0pe2c9aFtwXS1sW3BdO2JyZWFrIGF9Zz1oLmxlbmd0aC1sLmxlbmd0aH1yZXR1cm4gZ30KZnVuY3Rpb24ga0UoYSl7aWYoYT09bnVsbHx8dHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4hMTtpZihhLmV2ZW50KXJldHVybiEwO2lmKEhiKGEpKXt2YXIgYj1hWzBdO2lmKGI9PT0iY29uZmlnInx8Yj09PSJldmVudCJ8fGI9PT0ianMifHxiPT09ImdldCIpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gbUUoYSl7cmV0dXJue21lc3NhZ2U6YS5tZXNzYWdlLG1lc3NhZ2VDb250ZXh0OmEubWVzc2FnZUNvbnRleHR9fWZ1bmN0aW9uIHNFKGEsYixjKXtyZXR1cm4gaUUoYSxiLGMpfWZ1bmN0aW9uIHRFKGEsYil7cmV0dXJuIGpFKGEsYil9ZnVuY3Rpb24gckUoKXtwRSgpfWZ1bmN0aW9uIHVFKGEpe3JldHVybiBoRS5wdXNoKGEpfTt2YXIgdkU9ZnVuY3Rpb24oKXt9O3ZFLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKCl7dmFyIGEsYj1SaihBLmxvY2F0aW9uLmhyZWYpOyhhPWIuaG9zdG5hbWUrYi5wYXRobmFtZSkmJlVtKCJkbCIsZW5jb2RlVVJJQ29tcG9uZW50KGEpKTt2YXIgYzt2YXIgZD1FKDUpO2lmKGQpe3ZhciBlPUlmKDcpPzE6MCxmPUZrKCksZz1mJiZmLmZyb21Db250YWluZXJFeGVjdXRpb24/MTowLGg9ZiYmZi5zb3VyY2V8fDAsbD1FKDYpO2M9ZCsiOyIrbCsiOyIrZysiOyIraCsiOyIrZX1lbHNlIGM9dm9pZCAwO3ZhciBuPWM7biYmVW0oInRkcCIsbik7dmFyIHA9T3AoITApO3AhPT12b2lkIDAmJlVtKCJmcm0iLFN0cmluZyhwKSl9O3ZhciB3RT1uZXcgdkU7dmFyIHhFPWZ1bmN0aW9uKCl7dGhpcy5IPVhtKCk7dGhpcy5LPXZvaWQgMH0seUU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gWm0oYSxmdW5jdGlvbihjKXtyZXR1cm4gYy5qYj4wP2I/Yy5qYisiXyIrV20oYyk6U3RyaW5nKGMuamIpOnZvaWQgMH0pfTsKeEUucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2lmKHBsKCl8fGZuLkspVW0oImNzcCIsZnVuY3Rpb24oKXt2YXIgYj15RShhLkgsITApOyRtKGEuSCk7cmV0dXJuIGJ9LCExKSxVbSgibWRlIixmdW5jdGlvbigpe3ZhciBiPWNuLkgsYz15RShiLCExKTskbShiKTtyZXR1cm4gY30sITEpLEEuYWRkRXZlbnRMaXN0ZW5lcigic2VjdXJpdHlwb2xpY3l2aW9sYXRpb24iLGZ1bmN0aW9uKGIpe2lmKGIuZGlzcG9zaXRpb249PT0iZW5mb3JjZSIpe1AoMTc5KTt2YXIgYz1ubihiLmVmZmVjdGl2ZURpcmVjdGl2ZSk7aWYoYyl7dmFyIGQ7YTp7dmFyIGU9Yi5ibG9ja2VkVVJJLGY9a247aWYoZm4uSyYmZSl7dmFyIGc9am4oYyxlKTtpZihnKXt2YXIgaDtkPShoPWxuKGYsYykpPT1udWxsP3ZvaWQgMDpoW2ddO2JyZWFrIGF9fWQ9dm9pZCAwfXZhciBsPWQ7aWYobCl7dmFyIG47YTp7dHJ5e3ZhciBwPW5ldyBVUkwoYi5ibG9ja2VkVVJJKSxxPXAucGF0aG5hbWUuaW5kZXhPZigiOyIpOwpuPXE+PTA/cC5vcmlnaW4rcC5wYXRobmFtZS5zdWJzdHJpbmcoMCxxKTpwLm9yaWdpbitwLnBhdGhuYW1lO2JyZWFrIGF9Y2F0Y2goRCl7fW49dm9pZCAwfXZhciByPW47aWYocil7Zm9yKHZhciB0PW0obCksdT10Lm5leHQoKTshdS5kb25lO3U9dC5uZXh0KCkpe3ZhciB2PXUudmFsdWU7aWYoIXYuRW8pe3YuRW89ITA7dmFyIHg9e2V2ZW50SWQ6di5ldmVudElkLHByaW9yaXR5SWQ6di5wcmlvcml0eUlkfTtpZihwbCgpKXt2YXIgeT14LHo9e3R5cGU6MSxibG9ja2VkVXJsOnIsZW5kcG9pbnQ6di5lbmRwb2ludCx2aW9sYXRpb246Yi5lZmZlY3RpdmVEaXJlY3RpdmV9O2lmKHBsKCkpe3ZhciBDPUxsKCJUQUdfRElBR05PU1RJQ1MiLHtldmVudElkOnk9PW51bGw/dm9pZCAwOnkuZXZlbnRJZCxwcmlvcml0eUlkOnk9PW51bGw/dm9pZCAwOnkucHJpb3JpdHlJZH0pO0MudGFnRGlhZ25vc3RpY3M9ejtvbChDKX19ekUoYSx2LmRlc3RpbmF0aW9uSWQsdi5lbmRwb2ludCxjKX19bW4oYywKYi5ibG9ja2VkVVJJKX19fX19KX07dmFyIHpFPWZ1bmN0aW9uKGEsYixjLGQpe2FuKGEuSCxiLGMsMSxkKTtWbSgiY3NwIiwhMCk7Vm0oIm1kZSIsITApO2MhPT02MSYmYyE9PTU2JiZhLks9PT12b2lkIDAmJihhLks9QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5ILmpiPjAmJnRvKCExKTthLks9dm9pZCAwfSw1MDApKX0sQUU9bmV3IHhFO3ZhciBCRT1mdW5jdGlvbigpe3RoaXMuc2VxdWVuY2VOdW1iZXI9MH07QkUucHJvdG90eXBlLmJpbmQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO0NFKHRoaXMpO0lmKDY1KSYmVW0oIm10YmwiLCIxIik7VW0oInYiLCIzIik7VW0oInQiLCJ0Iik7VW0oInBpZCIsZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKG5tKGptLmJhLmJoKSl9KTtVbSgiZ3RtIixmdW5jdGlvbigpe3JldHVybiBkdSgpfSk7VW0oInNlcSIsZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nKCsrYS5zZXF1ZW5jZU51bWJlcil9KTtVbSgiZXhwIixmdW5jdGlvbigpe3JldHVybiBDcCgpfSl9O3ZhciBDRT1mdW5jdGlvbihhKXtpZihubShqbS5iYS5iaCk9PT12b2lkIDApe3ZhciBiPWZ1bmN0aW9uKCl7bW0oam0uYmEuYmgsRGIoKSk7YS5zZXF1ZW5jZU51bWJlcj0wfTtiKCk7Y2QoYiw4NjRFNSl9ZWxzZSBwbShqbS5iYS5iaCxmdW5jdGlvbigpe2Euc2VxdWVuY2VOdW1iZXI9MH0pO2Euc2VxdWVuY2VOdW1iZXI9MH0sREU9bmV3IEJFO2Z1bmN0aW9uIEVFKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBBW2FdfX0KdmFyIEZFPXt9LEdFPShGRVsxNF09ZnVuY3Rpb24oKXt2YXIgYTtyZXR1cm4oYT1BLmNyeXB0byk9PW51bGw/dm9pZCAwOmEuZ2V0UmFuZG9tVmFsdWVzfSxGRVsxNV09ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybihhPUEuY3J5cHRvKT09bnVsbD92b2lkIDA6KGI9YS5zdWJ0bGUpPT1udWxsP3ZvaWQgMDpiLmRpZ2VzdH0sRkVbMV09RUUoImZldGNoIiksRkVbNl09RUUoIk1hcCIpLEZFWzJdPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgucmFuZG9tfSxGRVs4XT1mdW5jdGlvbigpe3JldHVybiBuYShPYmplY3QsImFzc2lnbiIpfSxGRVs5XT1mdW5jdGlvbigpe3JldHVybiBPYmplY3QuZW50cmllc30sRkVbMTBdPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllc30sRkVbNV09RUUoIlByb21pc2UiKSxGRVsxM109RUUoIlJlZ0V4cCIpLEZFWzNdPWZ1bmN0aW9uKCl7cmV0dXJuIEhjLnNlbmRCZWFjb259LEZFWzddPUVFKCJTZXQiKSxGRVsxMl09ZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS5lbmRzV2l0aH0sCkZFWzExXT1mdW5jdGlvbigpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGh9LEZFWzRdPUVFKCJYTUxIdHRwUmVxdWVzdCIpLEZFKSxIRT17fSxJRT0oSEVbMTVdPSEwLEhFKTt2YXIgTkU9L14oaHR0cHM/Oik/XC9cLy87CgpmdW5jdGlvbiBoRigpe307ZnVuY3Rpb24gaUYoKXtJZig2MikmJihoeSgiZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzIixmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuKChkPWMub3B0aW9ucyk9PW51bGw/dm9pZCAwOmQud2FpdEZvclRhZ3MpIT09ITB9KSxoeSgiZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybigoZD1jLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpkLndhaXRGb3JUYWdzKSE9PSEwfSksaHkoImRldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50cyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybigoZD1jLm9wdGlvbnMpPT1udWxsP3ZvaWQgMDpkLmZpeE1pc3NpbmdBcGkpIT09ITB9KSl9O3ZhciBqRj1mdW5jdGlvbigpe3RoaXMuSD10aGlzLmdwcFN0cmluZz12b2lkIDB9O2pGLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuSD10aGlzLmdwcFN0cmluZz12b2lkIDB9O3ZhciBrRj1uZXcgakY7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMl0ucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGErYn0pO1syLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyXS5yZWR1Y2UoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYStifSk7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDJdLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBhK2J9KTtbMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyXS5yZWR1Y2UoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYStifSk7WzIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMl0ucmVkdWNlKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGErYn0pO1syLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDIsMiwyLDJdLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBhK2J9KTtsdCh7R3U6MCxGdToxLEN1OjIseHU6MyxEdTo0LHl1OjUsRXU6NixBdTo3LEJ1Ojgsd3U6OSx6dToxMCxIdToxMX0pLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gTnVtYmVyKGEpfSk7bHQoe0p1OjAsS3U6MSxJdToyfSkubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBOdW1iZXIoYSl9KTt2YXIgbEY9ZnVuY3Rpb24oYSxiLGMsZCl7cnQuY2FsbCh0aGlzKTt0aGlzLmZlPWI7dGhpcy5rZD1jO3RoaXMuYWM9ZDt0aGlzLkxhPW5ldyBNYXA7dGhpcy5oZT0wO3RoaXMuamE9bmV3IE1hcDt0aGlzLnlhPW5ldyBNYXA7dGhpcy5aPXZvaWQgMDt0aGlzLks9YX07d2EobEYscnQpO2xGLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXMuSDt0aGlzLkxhLmNsZWFyKCk7dGhpcy5qYS5jbGVhcigpO3RoaXMueWEuY2xlYXIoKTt0aGlzLlomJihudCh0aGlzLkssIm1lc3NhZ2UiLHRoaXMuWiksZGVsZXRlIHRoaXMuWik7ZGVsZXRlIHRoaXMuSztkZWxldGUgdGhpcy5hYztydC5wcm90b3R5cGUuTi5jYWxsKHRoaXMpfTsKdmFyIG1GPWZ1bmN0aW9uKGEpe2lmKGEuSClyZXR1cm4gYS5IO2Eua2QmJmEua2QoYS5LKT9hLkg9YS5LOmEuSD1OcChhLkssYS5mZSk7dmFyIGI7cmV0dXJuKGI9YS5IKSE9bnVsbD9iOm51bGx9LG9GPWZ1bmN0aW9uKGEsYixjKXtpZihtRihhKSlpZihhLkg9PT1hLkspe3ZhciBkPWEuTGEuZ2V0KGIpO2QmJmQoYS5ILGMpfWVsc2V7dmFyIGU9YS5qYS5nZXQoYik7aWYoZSYmZS5kayl7bkYoYSk7dmFyIGY9KythLmhlO2EueWEuc2V0KGYse3BlOmUucGUsSXI6ZS5ubyhjKSxwZXJzaXN0ZW50OmI9PT0iYWRkRXZlbnRMaXN0ZW5lciJ9KTthLkgucG9zdE1lc3NhZ2UoZS5kayhjLGYpLCIqIil9fX0sbkY9ZnVuY3Rpb24oYSl7YS5afHwoYS5aPWZ1bmN0aW9uKGIpe2lmKGIuc291cmNlPT09YS5IKXRyeXt2YXIgYztjPWEuYWM/YS5hYyhiKTp2b2lkIDA7aWYoYyl7dmFyIGQ9Yy5ZcyxlPWEueWEuZ2V0KGQpO2lmKGUpe2UucGVyc2lzdGVudHx8YS55YS5kZWxldGUoZCk7dmFyIGY7KGY9CmUucGUpPT1udWxsfHxmLmNhbGwoZSxlLklyLGMucGF5bG9hZCl9fX1jYXRjaChnKXt9fSxtdChhLkssIm1lc3NhZ2UiLGEuWikpfTt2YXIgcEY9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmxpc3RlbmVyLGQ9KDAsYS5fX2dwcCkoImFkZEV2ZW50TGlzdGVuZXIiLGMpO2QmJmMoZCwhMCl9LHFGPWZ1bmN0aW9uKGEsYil7KDAsYS5fX2dwcCkoInJlbW92ZUV2ZW50TGlzdGVuZXIiLGIubGlzdGVuZXIsYi5saXN0ZW5lcklkKX0sckY9e25vOmZ1bmN0aW9uKGEpe3JldHVybiBhLmxpc3RlbmVyfSxkazpmdW5jdGlvbihhLGIpe3ZhciBjPXt9O3JldHVybiBjLl9fZ3BwQ2FsbD17Y2FsbElkOmIsY29tbWFuZDoiYWRkRXZlbnRMaXN0ZW5lciIsdmVyc2lvbjoiMS4xIn0sY30scGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLl9fZ3BwUmV0dXJuO2EoYy5yZXR1cm5WYWx1ZSxjLnN1Y2Nlc3MpfX0sc0Y9e25vOmZ1bmN0aW9uKGEpe3JldHVybiBhLmxpc3RlbmVyfSxkazpmdW5jdGlvbihhLGIpe3ZhciBjPXt9O3JldHVybiBjLl9fZ3BwQ2FsbD17Y2FsbElkOmIsY29tbWFuZDoicmVtb3ZlRXZlbnRMaXN0ZW5lciIsdmVyc2lvbjoiMS4xIiwKcGFyYW1ldGVyOmEubGlzdGVuZXJJZH0sY30scGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLl9fZ3BwUmV0dXJuLGQ9Yy5yZXR1cm5WYWx1ZS5kYXRhO2E9PW51bGx8fGEoZCxjLnN1Y2Nlc3MpfX07ZnVuY3Rpb24gdEYoYSl7dmFyIGI9e307dmYoYS5kYXRhKT9iPUpTT04ucGFyc2UoYS5kYXRhKTpiPWEuZGF0YTtyZXR1cm57cGF5bG9hZDpiLFlzOmIuX19ncHBSZXR1cm4uY2FsbElkfX0KdmFyIHVGPWZ1bmN0aW9uKGEsYil7dmFyIGM7Yz0oYj09PXZvaWQgMD97fTpiKS50aW1lb3V0TXM7cnQuY2FsbCh0aGlzKTt0aGlzLmNhbGxlcj1uZXcgbEYoYSwiX19ncHBMb2NhdG9yIixmdW5jdGlvbihkKXtyZXR1cm4gdHlwZW9mIGQuX19ncHA9PT0iZnVuY3Rpb24ifSx0Rik7dGhpcy5jYWxsZXIuTGEuc2V0KCJhZGRFdmVudExpc3RlbmVyIixwRik7dGhpcy5jYWxsZXIuamEuc2V0KCJhZGRFdmVudExpc3RlbmVyIixyRik7dGhpcy5jYWxsZXIuTGEuc2V0KCJyZW1vdmVFdmVudExpc3RlbmVyIixxRik7dGhpcy5jYWxsZXIuamEuc2V0KCJyZW1vdmVFdmVudExpc3RlbmVyIixzRik7dGhpcy50aW1lb3V0TXM9YyE9bnVsbD9jOjUwMH07d2EodUYscnQpO3VGLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7dGhpcy5jYWxsZXIuZGlzcG9zZSgpO3J0LnByb3RvdHlwZS5OLmNhbGwodGhpcyl9Owp1Ri5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9SHAoZnVuY3Rpb24oKXthKHZGLCEwKX0pLGQ9dGhpcy50aW1lb3V0TXM9PT0tMT92b2lkIDA6c2V0VGltZW91dChmdW5jdGlvbigpe2MoKX0sdGhpcy50aW1lb3V0TXMpO29GKHRoaXMuY2FsbGVyLCJhZGRFdmVudExpc3RlbmVyIix7bGlzdGVuZXI6ZnVuY3Rpb24oZSxmKXtjbGVhclRpbWVvdXQoZCk7dHJ5e3ZhciBnO3ZhciBoOygoaD1lLnBpbmdEYXRhKT09bnVsbD92b2lkIDA6aC5ncHBWZXJzaW9uKT09PXZvaWQgMHx8ZS5waW5nRGF0YS5ncHBWZXJzaW9uPT09IjEifHxlLnBpbmdEYXRhLmdwcFZlcnNpb249PT0iMS4wIj8oYi5yZW1vdmVFdmVudExpc3RlbmVyKGUubGlzdGVuZXJJZCksZz17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7aW50ZXJuYWxFcnJvclN0YXRlOjEsZ3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX0lTX0RFUFJFQ0FURURfU1BFQyIsCmFwcGxpY2FibGVTZWN0aW9uczpbLTFdfX0pOkFycmF5LmlzQXJyYXkoZS5waW5nRGF0YS5hcHBsaWNhYmxlU2VjdGlvbnMpP2c9ZTooYi5yZW1vdmVFdmVudExpc3RlbmVyKGUubGlzdGVuZXJJZCksZz17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7aW50ZXJuYWxFcnJvclN0YXRlOjIsZ3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX0VYUEVDVEVEX0FQUExJQ0FUSU9OX1NFQ1RJT05fQVJSQVkiLGFwcGxpY2FibGVTZWN0aW9uczpbLTFdfX0pO2EoZyxmKX1jYXRjaChsKXtpZihlPT1udWxsPzA6ZS5saXN0ZW5lcklkKXRyeXtiLnJlbW92ZUV2ZW50TGlzdGVuZXIoZS5saXN0ZW5lcklkKX1jYXRjaChuKXthKHdGLCEwKTtyZXR1cm59YSh4RiwhMCl9fX0pfTsKdUYucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSl7b0YodGhpcy5jYWxsZXIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLHtsaXN0ZW5lcjpmdW5jdGlvbigpe30sbGlzdGVuZXJJZDphfSl9Owp2YXIgeEY9e2V2ZW50TmFtZToic2lnbmFsU3RhdHVzIixkYXRhOiJyZWFkeSIscGluZ0RhdGE6e2ludGVybmFsRXJyb3JTdGF0ZToyLGdwcFN0cmluZzoiR1BQX0VSUk9SX1NUUklOR19VTkFWQUlMQUJMRSIsYXBwbGljYWJsZVNlY3Rpb25zOlstMV19LGxpc3RlbmVySWQ6LTF9LHZGPXtldmVudE5hbWU6InNpZ25hbFN0YXR1cyIsZGF0YToicmVhZHkiLHBpbmdEYXRhOntncHBTdHJpbmc6IkdQUF9FUlJPUl9TVFJJTkdfTElTVEVORVJfUkVHSVNUUkFUSU9OX1RJTUVPVVQiLGludGVybmFsRXJyb3JTdGF0ZToyLGFwcGxpY2FibGVTZWN0aW9uczpbLTFdfSxsaXN0ZW5lcklkOi0xfSx3Rj17ZXZlbnROYW1lOiJzaWduYWxTdGF0dXMiLGRhdGE6InJlYWR5IixwaW5nRGF0YTp7Z3BwU3RyaW5nOiJHUFBfRVJST1JfU1RSSU5HX1JFTU9WRV9FVkVOVF9MSVNURU5FUl9FUlJPUiIsaW50ZXJuYWxFcnJvclN0YXRlOjIsYXBwbGljYWJsZVNlY3Rpb25zOlstMV19LGxpc3RlbmVySWQ6LTF9O2Z1bmN0aW9uIHlGKGEpe3ZhciBiO2lmKCEoYj1hLnBpbmdEYXRhLnNpZ25hbFN0YXR1cz09PSJyZWFkeSIpKXt2YXIgYz1hLnBpbmdEYXRhLmFwcGxpY2FibGVTZWN0aW9ucztiPSFjfHxjLmxlbmd0aD09PTEmJmNbMF09PT0tMX1pZihiKXtrRi5ncHBTdHJpbmc9YS5waW5nRGF0YS5ncHBTdHJpbmc7dmFyIGQ9YS5waW5nRGF0YS5hcHBsaWNhYmxlU2VjdGlvbnMuam9pbigiLCIpO2tGLkg9ZH19ZnVuY3Rpb24gekYoKXt0cnl7dmFyIGE9bmV3IHVGKEEse3RpbWVvdXRNczotMX0pO21GKGEuY2FsbGVyKSYmYS5hZGRFdmVudExpc3RlbmVyKHlGKX1jYXRjaChiKXt9fTtmdW5jdGlvbiBBRigpe3ZhciBhPVtbImN2IixFKDEpXSxbInJ2IixFKDE0KV0sWyJ0YyIsY0EudGFncy5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIGR9KS5sZW5ndGhdXSxiPUpmKDE1KTtiJiZhLnB1c2goWyJ4IixiXSk7dmFyIGM9Q3AoKTtjJiZhLnB1c2goWyJ0YWdfZXhwIixjXSk7cmV0dXJuIGF9O3ZhciBCRj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPXt9O3RoaXMuSz17fTtmeihmdW5jdGlvbihiKXt2YXIgYz1iLmV2ZW50SWQsZD1iLnRmLGU9W10sZj1hLkhbY118fFtdO2YubGVuZ3RoJiZlLnB1c2goWyJoZiIsZi5qb2luKCIuIildKTt2YXIgZz1hLktbY118fFtdO2cubGVuZ3RoJiZlLnB1c2goWyJodCIsZy5qb2luKCIuIildKTtkJiYoZGVsZXRlIGEuSFtjXSxkZWxldGUgYS5LW2NdKTtyZXR1cm4gZX0pfSxDRj1mdW5jdGlvbigpe3ZhciBhPTA7cmV0dXJuIGZ1bmN0aW9uKGIpe3N3aXRjaChiKXtjYXNlIDE6YXw9MTticmVhaztjYXNlIDI6YXw9MjticmVhaztjYXNlIDM6YXw9NH1yZXR1cm4gYX19LERGO3ZhciBFRj1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5IPSIiO2ZuLk4mJk0oNTE2KSYmZnooZnVuY3Rpb24oKXt2YXIgYj1bXTthLkgmJmIucHVzaChbInBzZCIsYS5IXSk7cmV0dXJuIGJ9KX0sRkY7ZnVuY3Rpb24gR0YoKXtyZXR1cm4hMX0KZnVuY3Rpb24gSEYoKXt2YXIgYT17fTtyZXR1cm4gZnVuY3Rpb24oYixjLGQpe319O2Z1bmN0aW9uIElGKCl7dmFyIGE9SkY7cmV0dXJuIGZ1bmN0aW9uKGIsYyxkKXt2YXIgZT1kJiZkLmV2ZW50O0tGKGMpO3ZhciBmPUJoKGIpP3ZvaWQgMDoxLGc9bmV3IGtiO0diKGMsZnVuY3Rpb24ocix0KXt2YXIgdT1VZCh0LHZvaWQgMCxmKTt1PT09dm9pZCAwJiZ0IT09dm9pZCAwJiZQKDQ0KTtnLnNldChyLHUpfSk7YS5RYihRZigpKTt2YXIgaD17Um46aGcoYiksZXZlbnRJZDplPT1udWxsP3ZvaWQgMDplLmlkLHByaW9yaXR5SWQ6ZSE9PXZvaWQgMD9lLnByaW9yaXR5SWQ6dm9pZCAwLHByaW9yaXR5UXVldWU6ZSE9PXZvaWQgMD9lLnByaW9yaXR5UXVldWU6dm9pZCAwLHdnOmUhPT12b2lkIDA/ZnVuY3Rpb24ocil7ZS5sZC53ZyhyKX06dm9pZCAwLFBiOmZ1bmN0aW9uKCl7cmV0dXJuIGJ9LGxvZzpmdW5jdGlvbigpe30sTnI6e2luZGV4OmQ9PW51bGw/dm9pZCAwOmQuaW5kZXgsdHlwZTpkPT1udWxsP3ZvaWQgMDpkLnR5cGUsbmFtZTpkPT1udWxsP3ZvaWQgMDpkLm5hbWV9LAppdDohIUtBKGIsMyksb3JpZ2luYWxFdmVudERhdGE6ZT09bnVsbD92b2lkIDA6ZS5vcmlnaW5hbEV2ZW50RGF0YX07ZSYmZS5jYWNoZWRNb2RlbFZhbHVlcyYmKGguY2FjaGVkTW9kZWxWYWx1ZXM9e2d0bTplLmNhY2hlZE1vZGVsVmFsdWVzLmd0bSxlY29tbWVyY2U6ZS5jYWNoZWRNb2RlbFZhbHVlcy5lY29tbWVyY2V9KTtpZihHRigpKXt2YXIgbD1IRigpLG4scDtoLkFiPXt3azpbXSx5Zzp7fSxqYzpmdW5jdGlvbihyLHQsdSl7dD09PTEmJihuPXIpO3Q9PT03JiYocD11KTtsKHIsdCx1KX0sZWk6VmgoKX07aC5sb2c9ZnVuY3Rpb24ocil7dmFyIHQ9T2EuYXBwbHkoMSxhcmd1bWVudHMpO24mJmwobiw0LHtsZXZlbDpyLHNvdXJjZTpwLG1lc3NhZ2U6dH0pfX0KdmFyIHE9cmYoYSxoLFtiLGddKTthLlFiKCk7cSBpbnN0YW5jZW9mIFRhJiYocS50eXBlPT09InJldHVybiI/cT1xLmRhdGE6cT12b2lkIDApO3JldHVybiBUZChxLHZvaWQgMCxmKX19ZnVuY3Rpb24gS0YoYSl7dmFyIGI9YS5ndG1PblN1Y2Nlc3MsYz1hLmd0bU9uRmFpbHVyZTt5YihiKSYmKGEuZ3RtT25TdWNjZXNzPWZ1bmN0aW9uKCl7YmQoYil9KTt5YihjKSYmKGEuZ3RtT25GYWlsdXJlPWZ1bmN0aW9uKCl7YmQoYyl9KX07dmFyIE1GPWZ1bmN0aW9uKGEpe1YoYSxILkoudGcsY28uaWEuY2IpfTtmdW5jdGlvbiBORigpe3JldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjApfTt2YXIgT0Y9W0YuRC56aV0ubWFwKGZ1bmN0aW9uKGEpe3JldHVybiBhLnNsaWNlKDIpfSk7dmFyIFBGPWZ1bmN0aW9uKGEpe1UoYSxGLkQuemksYWwoOCxORikpfTtmdW5jdGlvbiBRRihhKXt9UUYuUD0iaW50ZXJuYWwuYWRkQWRzQ2xpY2tJZHMiO2Z1bmN0aW9uIFJGKGEsYil7dmFyIGM9dGhpczt9UkYucHVibGljTmFtZT0iYWRkQ29uc2VudExpc3RlbmVyIjt2YXIgU0Y9ITE7ZnVuY3Rpb24gVEYoYSl7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDsrK2IpaWYoU0YpdHJ5e2FbYl0oKX1jYXRjaChjKXtQKDc3KX1lbHNlIGFbYl0oKX1mdW5jdGlvbiBVRihhLGIsYyl7dmFyIGQ9dGhpcyxlO2lmKCFsaChhKXx8IWhoKGIpfHwhbWgoYykpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImZ1bmN0aW9uIiwic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChkLCJsaXN0ZW5fZGF0YV9sYXllciIsYSl9XSk7ZT15QigpLmFkZExpc3RlbmVyKGEsVGQoYix2b2lkIDAsMSksYz09PW51bGw/dm9pZCAwOmMpO3JldHVybiBlfVVGLlA9ImludGVybmFsLmFkZERhdGFMYXllckV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIFZGKGEsYixjKXt9VkYucHVibGljTmFtZT0iYWRkRG9jdW1lbnRFdmVudExpc3RlbmVyIjtmdW5jdGlvbiBXRihhLGIsYyxkKXt9V0YucHVibGljTmFtZT0iYWRkRWxlbWVudEV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIFhGKGEpe3JldHVybiBhLlQueGIoKX07ZnVuY3Rpb24gWUYoYSl7fVlGLnB1YmxpY05hbWU9ImFkZEV2ZW50Q2FsbGJhY2siOwp2YXIgWkY9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/YTpTdHJpbmcocmooKSl9LGJHPWZ1bmN0aW9uKGEsYil7JEYoYSwiaW5pdCIsITEpfHwoYUcoYSwiaW5pdCIsITApLGIoKSl9LCRGPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jRyhhKTtyZXR1cm4gT2IoZCxiLGMpfSxkRz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jRyhhKSxmPU9iKGUsYixkKSxnPWMoZik7cmV0dXJuIGVbYl09Z30sYUc9ZnVuY3Rpb24oYSxiLGMpe2NHKGEpW2JdPWN9LGNHPWZ1bmN0aW9uKGEpe3ZhciBiPWtqKCJhdXRvRXZlbnRzU2V0dGluZ3MiLGZ1bmN0aW9uKCl7cmV0dXJue319KTtiLmhhc093blByb3BlcnR5KGEpfHwoYlthXT17fSk7cmV0dXJuIGJbYV19LGVHPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD17ZXZlbnQ6YiwiZ3RtLmVsZW1lbnQiOmEsImd0bS5lbGVtZW50Q2xhc3NlcyI6b2QoYSwiY2xhc3NOYW1lIiksImd0bS5lbGVtZW50SWQiOmEuZm9yfHxlZChhLCJpZCIpfHwKIiIsImd0bS5lbGVtZW50VGFyZ2V0IjphLmZvcm1UYXJnZXR8fG9kKGEsInRhcmdldCIpfHwiIn07YyYmKGRbImd0bS50cmlnZ2VycyJdPWMuam9pbigiLCIpKTtkWyJndG0uZWxlbWVudFVybCJdPShhLmF0dHJpYnV0ZXMmJmEuYXR0cmlidXRlcy5mb3JtYWN0aW9uP2EuZm9ybUFjdGlvbjoiIil8fGEuYWN0aW9ufHxvZChhLCJocmVmIil8fGEuc3JjfHxhLmNvZGV8fGEuY29kZWJhc2V8fCIiO3JldHVybiBkfTt2YXIgaEc9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhLmVsZW1lbnRzKXJldHVybiAwO2Zvcih2YXIgZD1iLmRhdGFzZXRbY10sZT0wLGY9MTtlPGEuZWxlbWVudHMubGVuZ3RoO2UrKyl7dmFyIGc9YS5lbGVtZW50c1tlXSxoPWcudGFnTmFtZS50b0xvd2VyQ2FzZSgpO2lmKCEoZkcuaW5kZXhPZihoKTwwfHxoPT09ImlucHV0IiYmZ0cuaW5kZXhPZihnLnR5cGUudG9Mb3dlckNhc2UoKSk+PTApKXtpZihnLmRhdGFzZXRbY109PT1kKXJldHVybiBmO2YrK319cmV0dXJuIDB9LGZHPVsiaW5wdXQiLCJzZWxlY3QiLCJ0ZXh0YXJlYSJdLGdHPVsiYnV0dG9uIiwiaGlkZGVuIiwiaW1hZ2UiLCJyZXNldCIsInN1Ym1pdCJdOwpmdW5jdGlvbiBpRyhhKXtpZihhLmZvcm0pe3ZhciBiO3JldHVybigoYj1hLmZvcm0pPT1udWxsPzA6Yi50YWdOYW1lKT9hLmZvcm06Qi5nZXRFbGVtZW50QnlJZChhLmZvcm0pfXJldHVybiBoZChhLFsiZm9ybSJdLDEwMCl9OwpmdW5jdGlvbiBtRyhhKXt9bUcuUD0iaW50ZXJuYWwuYWRkRm9ybUFiYW5kb25tZW50TGlzdGVuZXIiO2Z1bmN0aW9uIG5HKGEsYixjLGQpe30KbkcuUD0iaW50ZXJuYWwuYWRkRm9ybURhdGEiOwpmdW5jdGlvbiBzRyhhKXt9c0cuUD0iaW50ZXJuYWwuYWRkR2FTZW5kTGlzdGVuZXIiO2Z1bmN0aW9uIHRHKGEpe2lmKCFhKXJldHVybnt9O3ZhciBiPWEuTnI7cmV0dXJuIEpBKGIudHlwZSxiLmluZGV4LGIubmFtZSl9ZnVuY3Rpb24gdUcoYSl7aWYoIWEpcmV0dXJue307dmFyIGI9e29yaWdpbmF0aW5nRW50aXR5OnRHKGEpfTthLnByaW9yaXR5UXVldWUmJihiLnByaW9yaXR5UXVldWU9YS5wcmlvcml0eVF1ZXVlKTtyZXR1cm4gYn07ZnVuY3Rpb24gQ0coYSl7dmFyIGI9bWooInpvbmVzIik7cmV0dXJuIGI/Yi5nZXRJc0FsbG93ZWRGbih3aygpLGEpOmZ1bmN0aW9uKCl7cmV0dXJuITB9fWZ1bmN0aW9uIERHKCl7dmFyIGE9bWooInpvbmVzIik7YSYmYS51bnJlZ2lzdGVyQ2hpbGQod2soKSl9CmZ1bmN0aW9uIEVHKCl7a0IodmsoKSxmdW5jdGlvbihhKXt2YXIgYj1hLm9yaWdpbmFsRXZlbnREYXRhWyJndG0udW5pcXVlRXZlbnRJZCJdLGM9bWooInpvbmVzIik7cmV0dXJuIGM/Yy5pc0FjdGl2ZSh3aygpLGIpOiEwfSk7aEIodmsoKSxmdW5jdGlvbihhKXt2YXIgYixjO2I9YS5lbnRpdHlJZDtjPWEuc2VjdXJpdHlHcm91cHM7cmV0dXJuIENHKE51bWJlcihhLm9yaWdpbmFsRXZlbnREYXRhWyJndG0udW5pcXVlRXZlbnRJZCJdKSkoYixjKX0pfTt2YXIgRkc9ZnVuY3Rpb24oYSxiKXt0aGlzLnRhZ0lkPWE7dGhpcy5jYW5vbmljYWxJZD1ifTsKZnVuY3Rpb24gR0coYSxiKXt2YXIgYz10aGlzO3JldHVybiBhfUdHLlA9ImludGVybmFsLmxvYWRHb29nbGVUYWciO2Z1bmN0aW9uIEhHKGEpe3JldHVybiBuZXcgS2QoIiIsZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5ldmFsdWF0ZShiKTtpZihjIGluc3RhbmNlb2YgS2QpcmV0dXJuIG5ldyBLZCgiIixmdW5jdGlvbigpe3ZhciBkPU9hLmFwcGx5KDAsYXJndW1lbnRzKSxlPXRoaXMsZj1FZChYRih0aGlzKSxudWxsKTtmLmV2ZW50SWQ9YS5ldmVudElkO2YucHJpb3JpdHlJZD1hLnByaW9yaXR5SWQ7Zi5vcmlnaW5hbEV2ZW50RGF0YT1hLm9yaWdpbmFsRXZlbnREYXRhO3ZhciBnPWQubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBlLmV2YWx1YXRlKGwpfSksaD10aGlzLlQud2IoKTtoLnVlKGYpO3JldHVybiBjLk5jLmFwcGx5KGMsW2hdLmNvbmNhdCh3KGcpKSl9KX0pfTtmdW5jdGlvbiBJRyhhLGIsYyl7dmFyIGQ9dGhpczt9SUcuUD0iaW50ZXJuYWwuYWRkR29vZ2xlVGFnUmVzdHJpY3Rpb24iOwpmdW5jdGlvbiBQRyhhLGIpe31QRy5QPSJpbnRlcm5hbC5hZGRIaXN0b3J5Q2hhbmdlTGlzdGVuZXIiO2Z1bmN0aW9uIFFHKGEsYixjKXt9UUcucHVibGljTmFtZT0iYWRkV2luZG93RXZlbnRMaXN0ZW5lciI7ZnVuY3Rpb24gUkcoYSxiKXtyZXR1cm4hMH1SRy5wdWJsaWNOYW1lPSJhbGlhc0luV2luZG93IjtmdW5jdGlvbiBTRyhhLGIsYyl7fVNHLlA9ImludGVybmFsLmFwcGVuZFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gVEcoYSl7dmFyIGI7cmV0dXJuIGJ9ClRHLnB1YmxpY05hbWU9ImNhbGxJbldpbmRvdyI7ZnVuY3Rpb24gVUcoYSl7fVVHLnB1YmxpY05hbWU9ImNhbGxMYXRlciI7ZnVuY3Rpb24gVkcoYSl7fVZHLlA9ImNhbGxPbkRvbVJlYWR5IjtmdW5jdGlvbiBXRyhhKXt9V0cuUD0iY2FsbE9uV2luZG93TG9hZCI7dmFyIFlHPWZ1bmN0aW9uKGEsYil7dmFyIGM9bm0oWEcpfHx7fSxkPWNbYV18fHt9O2lmKGRbYl0pcmV0dXJuITE7dmFyIGU9bmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxkKTtlW2JdPSEwO3ZhciBmPW5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyk7ZlthXT1lO21tKFhHLGYpO3JldHVybiEwfSxYRz1qbS5iYS5ocjtmdW5jdGlvbiBaRyhhLGIpe2lmKCFsaChhKXx8IWxoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBjPVlHKGEsYik7cmV0dXJuIGN9WkcuUD0iaW50ZXJuYWwuY2xhaW1EZXN0aW5hdGlvbiI7ZnVuY3Rpb24gJEcoYSxiKXt2YXIgYztyZXR1cm4gY30kRy5QPSJpbnRlcm5hbC5jb21wdXRlR3RtUGFyYW1ldGVyIjtmdW5jdGlvbiBhSChhLGIpe3ZhciBjPXRoaXM7fWFILlA9ImludGVybmFsLmNvbnNlbnRTY2hlZHVsZUZpcnN0VHJ5IjtmdW5jdGlvbiBiSChhLGIpe3ZhciBjPXRoaXM7fWJILlA9ImludGVybmFsLmNvbnNlbnRTY2hlZHVsZVJldHJ5IjtmdW5jdGlvbiBjSChhKXt2YXIgYjtpZighbGgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyJdLGFyZ3VtZW50cyk7dmFyIGM9YTtpZigha20oYykpdGhyb3cgRXJyb3IoImNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIHJlcXVpcmVzIHZhbGlkIENyb3NzQ29udGFpbmVyU2NoZW1hIGtleS4iKTt2YXIgZD1ubShjKTtiPVVkKGQsdGhpcy5ULDEpO3JldHVybiBifWNILlA9ImludGVybmFsLmNvcHlGcm9tQ3Jvc3NDb250YWluZXJEYXRhIjtmdW5jdGlvbiBkSChhLGIpe3ZhciBjO3ZhciBlPVVkKGMsdGhpcy5ULEJoKFhGKHRoaXMpLlBiKCkpPzI6MSk7ZT09PXZvaWQgMCYmYyE9PXZvaWQgMCYmUCg0NSk7cmV0dXJuIGV9ZEgucHVibGljTmFtZT0iY29weUZyb21EYXRhTGF5ZXIiOwpmdW5jdGlvbiBlSChhKXt2YXIgYj12b2lkIDA7cmV0dXJuIGJ9ZUguUD0iaW50ZXJuYWwuY29weUZyb21EYXRhTGF5ZXJDYWNoZSI7ZnVuY3Rpb24gZkgoYSl7dmFyIGI7cmV0dXJuIGJ9ZkgucHVibGljTmFtZT0iY29weUZyb21XaW5kb3ciO2Z1bmN0aW9uIGdIKGEpe3ZhciBiPXZvaWQgMDtyZXR1cm4gVWQoYix0aGlzLlQsMSl9Z0guUD0iaW50ZXJuYWwuY29weUtleUZyb21XaW5kb3ciO3ZhciBoSD1mdW5jdGlvbihhKXtyZXR1cm4gYT09PWNvLmlhLmNiJiZmby5IW2FdPT09Ym8uTWEuVWUmJiFYbyhGLkQua2EpfTt2YXIgaUg9ZnVuY3Rpb24oKXtyZXR1cm4iMCJ9LGpIPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09InN0cmluZyIpcmV0dXJuIiI7dmFyIGI9WyJnY2xpZCIsImRjbGlkIiwid2JyYWlkIiwiX2dsIl07TSgxMDIpJiZiLnB1c2goImdicmFpZCIpO3JldHVybiBTaihhLGIsIjAiKX07dmFyIGtIPXt9LGxIPXt9LG1IPXt9LG5IPXt9LG9IPXt9LHBIPXt9LHFIPXt9LHJIPXt9LHNIPXt9LHRIPXt9LHVIPXt9LHZIPXt9LHdIPXt9LHhIPXt9LHlIPXt9LHpIPXt9LEFIPXt9LEJIPXt9LENIPXt9LERIPXt9LEVIPXt9LEZIPXt9LEdIPXt9LEhIPXt9LElIPXt9LEpIPXt9LEtIPShKSFtGLkQuZmJdPShrSFsyXT1baEhdLGtIKSxKSFtGLkQuWmZdPShsSFsyXT1baEhdLGxIKSxKSFtGLkQuSmldPShtSFsyXT1baEhdLG1IKSxKSFtGLkQuZ21dPShuSFsyXT1baEhdLG5IKSxKSFtGLkQuaG1dPShvSFsyXT1baEhdLG9IKSxKSFtGLkQuaW1dPShwSFsyXT1baEhdLHBIKSxKSFtGLkQuam1dPShxSFsyXT1baEhdLHFIKSxKSFtGLkQua21dPShySFsyXT1baEhdLHJIKSxKSFtGLkQuQmNdPShzSFsyXT1baEhdLHNIKSxKSFtGLkQuY2ddPSh0SFsyXT1baEhdLHRIKSxKSFtGLkQuZGddPSh1SFsyXT1baEhdLHVIKSxKSFtGLkQuZWddPSh2SFsyXT1baEhdLHZIKSxKSFtGLkQuZmddPSh3SFsyXT0KW2hIXSx3SCksSkhbRi5ELmdnXT0oeEhbMl09W2hIXSx4SCksSkhbRi5ELmhnXT0oeUhbMl09W2hIXSx5SCksSkhbRi5ELmlnXT0oekhbMl09W2hIXSx6SCksSkhbRi5ELmpnXT0oQUhbMl09W2hIXSxBSCksSkhbRi5ELmxiXT0oQkhbMV09W2hIXSxCSCksSkhbRi5ELkRkXT0oQ0hbMV09W2hIXSxDSCksSkhbRi5ELktkXT0oREhbMV09W2hIXSxESCksSkhbRi5ELkVlXT0oRUhbMV09W2hIXSxFSCksSkhbRi5ELkJmXT0oRkhbMV09W2Z1bmN0aW9uKGEpe3JldHVybiBNKDEwMikmJmhIKGEpfV0sRkgpLEpIW0YuRC5VY109KEdIWzFdPVtoSF0sR0gpLEpIW0YuRC56YV09KEhIWzFdPVtoSF0sSEgpLEpIW0YuRC5VYV09KElIWzFdPVtoSF0sSUgpLEpIKSxMSD17fSxNSD0oTEhbRi5ELmxiXT1pSCxMSFtGLkQuRGRdPWlILExIW0YuRC5LZF09aUgsTEhbRi5ELkVlXT1pSCxMSFtGLkQuQmZdPWlILExIW0YuRC5VY109ZnVuY3Rpb24oYSl7aWYoIUNkKGEpKXJldHVybnt9O3ZhciBiPUVkKGEsCm51bGwpO2RlbGV0ZSBiLm1hdGNoX2lkO3JldHVybiBifSxMSFtGLkQuemFdPWpILExIW0YuRC5VYV09akgsTEgpLE5IPXt9LE9IPXt9LFBIPShPSFtILkouWWFdPShOSFsyXT1baEhdLE5IKSxPSCksUUg9e307dmFyIFJIPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuSD1hO3RoaXMuTj1iO3RoaXMuUj1jO3RoaXMuWj1kfTtSSC5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP2NvLmlhLmdkOmE7aWYoIXRoaXMuTi5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiKGEpfSkpcmV0dXJuIHRoaXMuUi5zb21lKGZ1bmN0aW9uKGIpe3JldHVybiBiKGEpfSk/dGhpcy5aKHRoaXMuSCk6dGhpcy5IfTtSSC5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3JldHVybiBBZCh0aGlzLkgpPT09ImFycmF5Inx8Q2QodGhpcy5IKT9FZCh0aGlzLkgsbnVsbCk6dGhpcy5IfTsKdmFyIFNIPWZ1bmN0aW9uKCl7fSxUSD1mdW5jdGlvbihhLGIpe3RoaXMuY29uZGl0aW9ucz1hO3RoaXMuSD1ifSxVSD1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0oKGQ9YS5jb25kaXRpb25zW2JdKT09bnVsbD92b2lkIDA6ZFsyXSl8fFtdLGYsZz0oKGY9YS5jb25kaXRpb25zW2JdKT09bnVsbD92b2lkIDA6ZlsxXSl8fFtdO3JldHVybiBuZXcgUkgoYyxlLGcsYS5IW2JdfHxTSCl9LFZILFdIO3ZhciBZSD1mdW5jdGlvbihhKXthLks9ITA7YS5IPSExO2lmKElmKDUyKSl7aWYoTSg1MTYpJiZYSCgpKXt2YXIgYjthLnNldHRpbmdzPShiPWRhdGEucHJvZHVjdFNldHRpbmdzKSE9bnVsbD9iOnt9O2EuSD0hMH1lbHNle3ZhciBjO2Euc2V0dGluZ3M9KGM9cHJvZHVjdFNldHRpbmdzKSE9bnVsbD9jOnt9fXByb2R1Y3RTZXR0aW5ncz12b2lkIDA7ZGF0YS5wcm9kdWN0U2V0dGluZ3M9dm9pZCAwO3ZhciBkOyhkPUZGKSE9bnVsbCYmZm4uTiYmTSg1MTYpJiYoZC5IPWEuSD8iMSI6IjAiKX19LCRIPWZ1bmN0aW9uKGEpe3ZhciBiPVpIO2IuS3x8WUgoYik7cmV0dXJuIGIuc2V0dGluZ3NbYV19LFpIPW5ldyBmdW5jdGlvbigpe3RoaXMuc2V0dGluZ3M9e307dGhpcy5LPXRoaXMuSD0hMX07CmZ1bmN0aW9uIFhIKCl7aWYoIWRhdGEucHJvZHVjdFNldHRpbmdzJiYhcHJvZHVjdFNldHRpbmdzKXJldHVybiEwO2lmKCFkYXRhLnByb2R1Y3RTZXR0aW5nc3x8IXByb2R1Y3RTZXR0aW5nc3x8T2JqZWN0LmtleXMoZGF0YS5wcm9kdWN0U2V0dGluZ3MpLmxlbmd0aCE9PU9iamVjdC5rZXlzKHByb2R1Y3RTZXR0aW5ncykubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgYSBpbiBwcm9kdWN0U2V0dGluZ3MpaWYoIWRhdGEucHJvZHVjdFNldHRpbmdzLmhhc093blByb3BlcnR5KGEpfHxkYXRhLnByb2R1Y3RTZXR0aW5nc1thXS5wcmVBdXRvUGlpIT09cHJvZHVjdFNldHRpbmdzW2FdLnByZUF1dG9QaWkpcmV0dXJuITE7cmV0dXJuITB9O3ZhciBhST1mdW5jdGlvbihhLGIsYyl7dGhpcy5ldmVudE5hbWU9Yjt0aGlzLk09Yzt0aGlzLkg9e307dGhpcy5pc0Fib3J0ZWQ9ITE7dGhpcy50YXJnZXQ9YTt0aGlzLm1ldGFkYXRhPXt9O2Zvcih2YXIgZD1jLmV2ZW50TWV0YWRhdGF8fHt9LGU9bShPYmplY3Qua2V5cyhkKSksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpe3ZhciBnPWYudmFsdWU7Vih0aGlzLGcsZFtnXSl9fSxSPWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtyZXR1cm4oYz1hLkhbYl0pPT1udWxsP3ZvaWQgMDooZD1jLmdldFZhbHVlKT09bnVsbD92b2lkIDA6ZC5jYWxsKGMsUShhLEguSi50ZykpfSxldT1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmtleXMoYS5IKX0sVT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5ILGU7Yz09PXZvaWQgMD9lPXZvaWQgMDooVkghPW51bGx8fChWSD1uZXcgVEgoS0gsTUgpKSxlPVVIKFZILGIsYykpO2RbYl09ZX07CmFJLnByb3RvdHlwZS5tZXJnZUhpdERhdGFGb3JLZXk9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU7Yz0oZD10aGlzLkhbYV0pPT1udWxsP3ZvaWQgMDooZT1kLkspPT1udWxsP3ZvaWQgMDplLmNhbGwoZCk7aWYoIWMpcmV0dXJuIFUodGhpcyxhLGIpLCEwO2lmKCFDZChjKSlyZXR1cm4hMTtVKHRoaXMsYSxuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LGMsYikpO3JldHVybiEwfTt2YXIgYkk9ZnVuY3Rpb24oYSxiKXtiPWI9PT12b2lkIDA/e306Yjtmb3IodmFyIGM9bShPYmplY3Qua2V5cyhhLkgpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZSxmPXZvaWQgMCxnPXZvaWQgMCxoPXZvaWQgMDtiW2VdPShmPWEuSFtlXSk9PW51bGw/dm9pZCAwOihoPShnPWYpLkspPT1udWxsP3ZvaWQgMDpoLmNhbGwoZyl9cmV0dXJuIGJ9OwphSS5wcm90b3R5cGUuY29weVRvSGl0RGF0YT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Tyh0aGlzLk0sYSk7ZD09PXZvaWQgMCYmKGQ9Yik7aWYoemIoZCkmJmMhPT12b2lkIDApdHJ5e2Q9YyhkKX1jYXRjaChlKXt9ZCE9PXZvaWQgMCYmVSh0aGlzLGEsZCl9Owp2YXIgUT1mdW5jdGlvbihhLGIpe3ZhciBjPWEubWV0YWRhdGFbYl07aWYoYj09PUguSi50Zyl7dmFyIGQ7cmV0dXJuIGM9PW51bGw/dm9pZCAwOihkPWMuSyk9PW51bGw/dm9pZCAwOmQuY2FsbChjKX12YXIgZTtyZXR1cm4gYz09bnVsbD92b2lkIDA6KGU9Yy5nZXRWYWx1ZSk9PW51bGw/dm9pZCAwOmUuY2FsbChjLFEoYSxILkoudGcpKX0sVj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5tZXRhZGF0YSxlO2M9PT12b2lkIDA/ZT1jOihXSCE9bnVsbHx8KFdIPW5ldyBUSChQSCxRSCkpLGU9VUgoV0gsYixjKSk7ZFtiXT1lfSxjST1mdW5jdGlvbihhLGIpe2I9Yj09PXZvaWQgMD97fTpiO2Zvcih2YXIgYz1tKE9iamVjdC5rZXlzKGEubWV0YWRhdGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZSxmPXZvaWQgMCxnPXZvaWQgMCxoPXZvaWQgMDtiW2VdPShmPWEubWV0YWRhdGFbZV0pPT1udWxsP3ZvaWQgMDooaD0oZz1mKS5LKT09bnVsbD92b2lkIDA6CmguY2FsbChnKX1yZXR1cm4gYn0sZEk9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSRIKGEudGFyZ2V0LmRlc3RpbmF0aW9uSWQpO3JldHVybiBkJiZkW2JdIT09dm9pZCAwP2RbYl06Y30sWnU9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9bmV3IGFJKChiPT1udWxsP3ZvaWQgMDpiLnRhcmdldCl8fGEudGFyZ2V0LChiPT1udWxsP3ZvaWQgMDpiLmV2ZW50TmFtZSl8fGEuZXZlbnROYW1lLChiPT1udWxsP3ZvaWQgMDpiLk0pfHxhLk0pLGQ9YkkoYSksZT1tKE9iamVjdC5rZXlzKGQpKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9Zi52YWx1ZTtVKGMsZyxkW2ddKX1mb3IodmFyIGg9Y0koYSksbD1tKE9iamVjdC5rZXlzKGgpKSxuPWwubmV4dCgpOyFuLmRvbmU7bj1sLm5leHQoKSl7dmFyIHA9bi52YWx1ZTtWKGMscCxoW3BdKX1jLmlzQWJvcnRlZD1hLmlzQWJvcnRlZDtyZXR1cm4gY30sZUk9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NLGM9Yi5ldmVudElkLGQ9Yi5wcmlvcml0eUlkOwpyZXR1cm4gZD9jKyJfIitkOlN0cmluZyhjKX07YUkucHJvdG90eXBlLmFjY2VwdD1mdW5jdGlvbigpe3ZhciBhPW9tKGptLmJhLlNpLHt9KSxiPWVJKHRoaXMpLGM9dGhpcy50YXJnZXQuZGVzdGluYXRpb25JZDthW2JdfHwoYVtiXT17fSk7YVtiXVtjXT12aygpO3ZhciBkPWptLmJhLlNpO2lmKGttKGQpKXt2YXIgZTsoZT1sbShkKSk9PW51bGx8fGUubm90aWZ5KCl9fTthSS5wcm90b3R5cGUuY2FuQmVBY2NlcHRlZD1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5TaSk7aWYoIWIpcmV0dXJuITA7dmFyIGM9YltlSSh0aGlzKV07aWYoIWMpcmV0dXJuITA7dmFyIGQ9Y1thIT1udWxsP2E6dGhpcy50YXJnZXQuZGVzdGluYXRpb25JZF07cmV0dXJuIGQ9PT12b2lkIDB8fGQ9PT12aygpfTtmdW5jdGlvbiBmSShhKXtyZXR1cm57Z2V0RGVzdGluYXRpb25JZDpmdW5jdGlvbigpe3JldHVybiBhLnRhcmdldC5kZXN0aW5hdGlvbklkfSxnZXRFdmVudE5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gYS5ldmVudE5hbWV9LHNldEV2ZW50TmFtZTpmdW5jdGlvbihiKXthLmV2ZW50TmFtZT1ifSxnZXRIaXREYXRhOmZ1bmN0aW9uKGIpe3JldHVybiBSKGEsYil9LHNldEhpdERhdGE6ZnVuY3Rpb24oYixjKXtVKGEsYixjKX0sc2V0SGl0RGF0YUlmTm90RGVmaW5lZDpmdW5jdGlvbihiLGMpe1IoYSxiKT09PXZvaWQgMCYmVShhLGIsYyl9LGNvcHlUb0hpdERhdGE6ZnVuY3Rpb24oYixjKXthLmNvcHlUb0hpdERhdGEoYixjKX0sZ2V0TWV0YWRhdGE6ZnVuY3Rpb24oYil7cmV0dXJuIFEoYSxiKX0sc2V0TWV0YWRhdGE6ZnVuY3Rpb24oYixjKXtWKGEsYixjKX0saXNBYm9ydGVkOmZ1bmN0aW9uKCl7cmV0dXJuIGEuaXNBYm9ydGVkfSxhYm9ydDpmdW5jdGlvbigpe2EuaXNBYm9ydGVkPSEwfSwKZ2V0RnJvbUV2ZW50Q29udGV4dDpmdW5jdGlvbihiKXtyZXR1cm4gTyhhLk0sYil9LHJiOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LGdldEhpdEtleXM6ZnVuY3Rpb24oKXtyZXR1cm4gZXUoYSl9LGdldE1lcmdlZFZhbHVlczpmdW5jdGlvbihiKXtyZXR1cm4gYS5NLmdldE1lcmdlZFZhbHVlcyhiLDMpfSxtZXJnZUhpdERhdGFGb3JLZXk6ZnVuY3Rpb24oYixjKXtyZXR1cm4gQ2QoYyk/YS5tZXJnZUhpdERhdGFGb3JLZXkoYixjKTohMX0sYWNjZXB0OmZ1bmN0aW9uKCl7YS5hY2NlcHQoKX0sY2FuQmVBY2NlcHRlZDpmdW5jdGlvbihiKXtyZXR1cm4gYS5jYW5CZUFjY2VwdGVkKGIpfX19O2Z1bmN0aW9uIGdJKGEsYil7dmFyIGM7aWYoIWVoKGEpfHwhZmgoYikpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbIk9iamVjdCIsIk9iamVjdHx1bmRlZmluZWQiXSxhcmd1bWVudHMpO3ZhciBkPVRkKGIpfHx7fSxlPVRkKGEsdGhpcy5ULDEpLnJiKCksZj1lLk07ZC5vbWl0RXZlbnRDb250ZXh0JiYoZj1KQyhuZXcgeUMoZS5NLmV2ZW50SWQsZS5NLnByaW9yaXR5SWQpKSk7dmFyIGc9bmV3IGFJKGUudGFyZ2V0LGUuZXZlbnROYW1lLGYpO2lmKCFkLm9taXRIaXREYXRhKWZvcih2YXIgaD1iSShlKSxsPW0oT2JqZWN0LmtleXMoaCkpLG49bC5uZXh0KCk7IW4uZG9uZTtuPWwubmV4dCgpKXt2YXIgcD1uLnZhbHVlO1UoZyxwLGhbcF0pfWlmKGQub21pdE1ldGFkYXRhKWcubWV0YWRhdGE9e307ZWxzZSBmb3IodmFyIHE9Y0koZSkscj1tKE9iamVjdC5rZXlzKHEpKSx0PXIubmV4dCgpOyF0LmRvbmU7dD0Kci5uZXh0KCkpe3ZhciB1PXQudmFsdWU7VihnLHUscVt1XSl9Zy5pc0Fib3J0ZWQ9ZS5pc0Fib3J0ZWQ7Yz1VZChmSShnKSx0aGlzLlQsMSk7cmV0dXJuIGN9Z0kuUD0iaW50ZXJuYWwuY29weVByZUhpdCI7ZnVuY3Rpb24gaEkoYSxiKXt2YXIgYz1udWxsO3JldHVybiBVZChjLHRoaXMuVCwyKX1oSS5wdWJsaWNOYW1lPSJjcmVhdGVBcmd1bWVudHNRdWV1ZSI7ZnVuY3Rpb24gaUkoYSl7cmV0dXJuIFVkKGZ1bmN0aW9uKGMpe3ZhciBkPVNBKCk7aWYodHlwZW9mIGM9PT0iZnVuY3Rpb24iKWQoZnVuY3Rpb24oKXtjKGZ1bmN0aW9uKGYsZyxoKXt2YXIgbD0KU0EoKSxuPWwmJmwuZ2V0QnlOYW1lJiZsLmdldEJ5TmFtZShmKTtyZXR1cm4obmV3IEEuZ2FwbHVnaW5zLkxpbmtlcihuKSkuZGVjb3JhdGUoZyxoKX0pfSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KGMpKXt2YXIgZT1TdHJpbmcoY1swXSkuc3BsaXQoIi4iKTtiW2UubGVuZ3RoPT09MT9lWzBdOmVbMV1dJiZkLmFwcGx5KG51bGwsYyl9ZWxzZSBpZihjPT09ImlzTG9hZGVkIilyZXR1cm4hIWQubG9hZGVkfSx0aGlzLlQsMSl9aUkuUD0iaW50ZXJuYWwuY3JlYXRlR2FDb21tYW5kUXVldWUiO2Z1bmN0aW9uIGpJKGEpe3JldHVybiBVZChmdW5jdGlvbigpe2lmKCF5YihlLnB1c2gpKXRocm93IEVycm9yKCJPYmplY3QgYXQgIithKyIgaW4gd2luZG93IGlzIG5vdCBhbiBhcnJheS4iKTtlLnB1c2guYXBwbHkoZSxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpfSx0aGlzLlQsCkJoKFhGKHRoaXMpLlBiKCkpPzI6MSl9akkucHVibGljTmFtZT0iY3JlYXRlUXVldWUiO2Z1bmN0aW9uIGtJKGEsYil7dmFyIGM9bnVsbDtpZighbGgoYSl8fCFtaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwic3RyaW5nfHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dHJ5e3ZhciBkPShifHwiIikuc3BsaXQoIiIpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4iaWciLmluZGV4T2YoZSk+PTB9KS5qb2luKCIiKTtjPW5ldyBQZChuZXcgUmVnRXhwKGEsZCkpfWNhdGNoKGUpe31yZXR1cm4gY31rSS5QPSJpbnRlcm5hbC5jcmVhdGVSZWdleCI7ZnVuY3Rpb24gbEkoYSl7fWxJLlA9ImludGVybmFsLmRlY2xhcmVDb25zZW50U3RhdGUiO2Z1bmN0aW9uIG1JKGEpe3ZhciBiPSIiO3JldHVybiBifW1JLlA9ImludGVybmFsLmRlY29kZVVybEh0bWxFbnRpdGllcyI7ZnVuY3Rpb24gbkkoYSxiLGMpe3ZhciBkO3JldHVybiBkfW5JLlA9ImludGVybmFsLmRlY29yYXRlVXJsV2l0aEdhQ29va2llcyI7ZnVuY3Rpb24gb0koKXt9b0kuUD0iaW50ZXJuYWwuZGVmZXJDdXN0b21FdmVudHMiO2Z1bmN0aW9uIHBJKGEsYil7dHJ5e3JldHVybiBhLmNsb3Nlc3QoYil9Y2F0Y2goYyl7cmV0dXJuIG51bGx9fTtmdW5jdGlvbiBxSSgpe3ZhciBhPUEuc2NyZWVuO3JldHVybnt3aWR0aDphP2Eud2lkdGg6MCxoZWlnaHQ6YT9hLmhlaWdodDowfX0KZnVuY3Rpb24gckkoYSl7aWYoQi5oaWRkZW4pcmV0dXJuITA7dmFyIGI9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihiLnRvcD09PWIuYm90dG9tfHxiLmxlZnQ9PT1iLnJpZ2h0fHwhQS5nZXRDb21wdXRlZFN0eWxlKXJldHVybiEwO3ZhciBjPUEuZ2V0Q29tcHV0ZWRTdHlsZShhLG51bGwpO2lmKGMudmlzaWJpbGl0eT09PSJoaWRkZW4iKXJldHVybiEwO2Zvcih2YXIgZD1hLGU9YztkOyl7aWYoZS5kaXNwbGF5PT09Im5vbmUiKXJldHVybiEwO3ZhciBmPWUub3BhY2l0eSxnPWUuZmlsdGVyO2lmKGcpe3ZhciBoPWcuaW5kZXhPZigib3BhY2l0eSgiKTtoPj0wJiYoZz1nLnN1YnN0cmluZyhoKzgsZy5pbmRleE9mKCIpIixoKSksZy5jaGFyQXQoZy5sZW5ndGgtMSk9PT0iJSImJihnPWcuc3Vic3RyaW5nKDAsZy5sZW5ndGgtMSkpLGY9U3RyaW5nKE1hdGgubWluKE51bWJlcihnKSxOdW1iZXIoZikpKSl9aWYoZiE9PXZvaWQgMCYmTnVtYmVyKGYpPD0wKXJldHVybiEwOyhkPWQucGFyZW50RWxlbWVudCkmJgooZT1BLmdldENvbXB1dGVkU3R5bGUoZCxudWxsKSl9cmV0dXJuITF9CnZhciB0ST1mdW5jdGlvbihhKXt2YXIgYj1zSSgpLGM9Yi5oZWlnaHQsZD1iLndpZHRoLGU9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxmPWUuYm90dG9tLWUudG9wLGc9ZS5yaWdodC1lLmxlZnQ7cmV0dXJuIGYmJmc/KDEtTWF0aC5taW4oKE1hdGgubWF4KDAtZS5sZWZ0LDApK01hdGgubWF4KGUucmlnaHQtZCwwKSkvZywxKSkqKDEtTWF0aC5taW4oKE1hdGgubWF4KDAtZS50b3AsMCkrTWF0aC5tYXgoZS5ib3R0b20tYywwKSkvZiwxKSk6MH0sc0k9ZnVuY3Rpb24oKXt2YXIgYT1CLmJvZHksYj1CLmRvY3VtZW50RWxlbWVudHx8YSYmYS5wYXJlbnRFbGVtZW50LGMsZDtpZihCLmNvbXBhdE1vZGUmJkIuY29tcGF0TW9kZSE9PSJCYWNrQ29tcGF0IiljPWI/Yi5jbGllbnRIZWlnaHQ6MCxkPWI/Yi5jbGllbnRXaWR0aDowO2Vsc2V7dmFyIGU9ZnVuY3Rpb24oZixnKXtyZXR1cm4gZiYmZz9NYXRoLm1pbihmLGcpOk1hdGgubWF4KGYsZyl9O2M9ZShiP2IuY2xpZW50SGVpZ2h0OjAsYT8KYS5jbGllbnRIZWlnaHQ6MCk7ZD1lKGI/Yi5jbGllbnRXaWR0aDowLGE/YS5jbGllbnRXaWR0aDowKX1yZXR1cm57d2lkdGg6ZCxoZWlnaHQ6Y319O3ZhciB2ST1mdW5jdGlvbihhKXtpZih1SSl7dmFyIGI9YWwoMjQsZnVuY3Rpb24oKXtyZXR1cm5bXX0pO2lmKGE+PTAmJmE8Yi5sZW5ndGgmJmJbYV0pe3ZhciBjOyhjPWJbYV0pPT1udWxsfHxjLmRpc2Nvbm5lY3QoKTtiW2FdPXZvaWQgMH19ZWxzZSBBLmNsZWFySW50ZXJ2YWwoYSl9LHlJPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdPjE/Y1tkXT0xOmNbZF08MCYmKGNbZF09MCk7aWYodUkpe3ZhciBlPSExO2JkKGZ1bmN0aW9uKCl7ZXx8d0koYSxiLGMpKCl9KTtyZXR1cm4geEkoZnVuY3Rpb24oZil7ZT0hMDtmb3IodmFyIGc9e0hnOjB9O2cuSGc8Zi5sZW5ndGg7Zz17SGc6Zy5IZ30sZy5IZysrKWJkKGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbigpe2EoZltoLkhnXSl9fShnKSl9LApiLGMpfXJldHVybiBjZCh3SShhLGIsYyksMUUzKX0sd0k9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoaCxsKXt2YXIgbj17dG9wOjAsYm90dG9tOjAscmlnaHQ6MCxsZWZ0OjAsd2lkdGg6MCxoZWlnaHQ6MH0scD17Ym91bmRpbmdDbGllbnRSZWN0OmguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaW50ZXJzZWN0aW9uUmF0aW86bCxpbnRlcnNlY3Rpb25SZWN0Om4saXNJbnRlcnNlY3Rpbmc6bD4wLHJvb3RCb3VuZHM6bix0YXJnZXQ6aCx0aW1lOk5iKCl9O2JkKGZ1bmN0aW9uKCl7YShwKX0pfWZvcih2YXIgZT1bXSxmPVtdLGc9MDtnPGIubGVuZ3RoO2crKyllLnB1c2goMCksZi5wdXNoKC0xKTtjLnNvcnQoZnVuY3Rpb24oaCxsKXtyZXR1cm4gaC1sfSk7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBoPTA7aDxiLmxlbmd0aDtoKyspe3ZhciBsPXRJKGJbaF0pO2lmKGw+ZVtoXSlmb3IoO2ZbaF08Yy5sZW5ndGgtMSYmbD49Y1tmW2hdKzFdOylkKGJbaF0sbCksZltoXSsrO2Vsc2UgaWYobDwKZVtoXSlmb3IoO2ZbaF0+PTAmJmw8PWNbZltoXV07KWQoYltoXSxsKSxmW2hdLS07ZVtoXT1sfX19LHhJPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9bmV3IEEuSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoYSx7dGhyZXNob2xkOmN9KSxlPTA7ZTxiLmxlbmd0aDtlKyspZC5vYnNlcnZlKGJbZV0pO2Zvcih2YXIgZj1hbCgyNCxmdW5jdGlvbigpe3JldHVybltdfSksZz0wO2c8Zi5sZW5ndGg7ZysrKWlmKCFmW2ddKXJldHVybiBmW2ddPWQsZztyZXR1cm4gZi5wdXNoKGQpLTF9LHVJPSEoIUEuSW50ZXJzZWN0aW9uT2JzZXJ2ZXJ8fCFBLkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkpOwp2YXIgSkk9ZnVuY3Rpb24oYSl7dmFyIGIsYz0oYj1hPT1udWxsP3ZvaWQgMDphLmluY2x1ZGVTZWxlY3RvcikhPW51bGw/YjohMCxkLGU9KGQ9YT09bnVsbD92b2lkIDA6YS5pbmNsdWRlVmlzaWJpbGl0eSkhPW51bGw/ZDohMCxmLGc9KGY9YT09bnVsbD92b2lkIDA6YS5zZWxlY3RNdWx0aXBsZUVsZW1lbnRzKSE9bnVsbD9mOiExLGg9KGE9PW51bGw/dm9pZCAwOmEuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnMpfHxbXSxsPShhPT1udWxsP3ZvaWQgMDphLmZpZWxkRmlsdGVycyl8fHtlbWFpbDohMCxwaG9uZTohMSxhZGRyZXNzOiExfSxuPWFsKDYsZnVuY3Rpb24oKXtyZXR1cm57fX0pLHA9ekkoe2luY2x1ZGVTZWxlY3RvcjpjLGluY2x1ZGVWaXNpYmlsaXR5OmUsZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnM6aCxmaWVsZEZpbHRlcnM6bH0pLHE9bltwXTtpZihxJiZOYigpLXEudGltZXN0YW1wPDIwMCl7dmFyIHI9cS5yZXN1bHQsdDsoci5lbGVtZW50cy5zb21lKGZ1bmN0aW9uKHFhKXtyZXR1cm4gcWEuZGl9KXx8CigodD1yLmdpKT09bnVsbD8wOnQuZGkpKSYmR3UoVC5XLnJqKTtyZXR1cm4gcn12YXIgdT1BSSgpLHY9dS5zdGF0dXMseD1bXSx5LHosQz1bXTtpZihNKDU2OCkpe3ZhciBEPUJJKGwpLEk9Q0kodS5lbGVtZW50cyxEKSxHPURJKEkpLE49RUkoRyxoKSxTPUZJKE4pO3k9Uy5maWx0ZXIoZnVuY3Rpb24ocWEpe3JldHVybiBxYS5EYT09PUZELkJifSlbMF07Zm9yKHZhciBXPVtdLGVhPXtJZzowfTtlYS5JZzxELmxlbmd0aDtlYT17SWc6ZWEuSWd9LGVhLklnKyspe3ZhciBqYT1OLmZpbHRlcihmdW5jdGlvbihxYSl7cmV0dXJuIGZ1bmN0aW9uKGliKXtyZXR1cm4gaWIuRGE9PT1EW3FhLklnXX19KGVhKSk7amEubGVuZ3RoPjEwJiYodj0iMyIsamE9amEuc2xpY2UoMCwxMCkpO1c9Vy5jb25jYXQoamEpfU49VzshZyYmUyYmKE49Uyk7Zm9yKHZhciBmYT0wO2ZhPE4ubGVuZ3RoO2ZhKyspe3ZhciBzYT1OW2ZhXTtzYS5EYSE9PUZELktoJiZDLnB1c2goR0koc2EsYyxlKSl9fWVsc2V7aWYobC5lbWFpbCl7dmFyIGRhPQpISSh1LmVsZW1lbnRzKTt4PUVJKGRhLGgpO3k9SUkoeCk7ZGEubGVuZ3RoPjEwJiYodj0iMyIpfSFnJiZ5JiYoeD1beV0pO2Zvcih2YXIgbWE9MDttYTx4Lmxlbmd0aDttYSsrKUMucHVzaChHSSh4W21hXSxjLGUpKTtDPUMuc2xpY2UoMCwxMCl9eSYmKHo9R0koeSxjLGUpKTt2YXIgUGE9e2VsZW1lbnRzOkMsZ2k6eixzdGF0dXM6dn07bltwXT17dGltZXN0YW1wOk5iKCkscmVzdWx0OlBhfTt2YXIgRmE7KFBhLmVsZW1lbnRzLnNvbWUoZnVuY3Rpb24ocWEpe3JldHVybiBxYS5kaX0pfHwoKEZhPVBhLmdpKT09bnVsbD8wOkZhLmRpKSkmJkd1KFQuVy5yaik7cmV0dXJuIFBhfSxEST1mdW5jdGlvbihhKXt2YXIgYj1hLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5EYT09PUZELktofSksYz1hLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdS5EYT09PUZELlhkfSk7aWYoYS5maWx0ZXIoZnVuY3Rpb24odSl7cmV0dXJuIHUuRGE9PT1GRC5jZX0pLmxlbmd0aD09PTAmJmMubGVuZ3RoPT09CjApZm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF0sZj1lLkNhLnNwbGl0KCIgIik7Zi5sZW5ndGg+MSYmYS5wdXNoKHtDYTpmWzBdLERhOkZELlhkLGVsZW1lbnQ6ZS5lbGVtZW50LE9jOmUuT2N9LHtDYTpmLnNsaWNlKDEpLmpvaW4oIiAiKSxEYTpGRC5jZSxlbGVtZW50OmUuZWxlbWVudCxPYzplLk9jfSl9Zm9yKHZhciBnLGg9MCxsLG49ZnVuY3Rpb24odSl7cmV0dXJuIHUuRGE9PT1GRC5lZSYmdS5DYS5sZW5ndGg+PTMmJnUuQ2EubGVuZ3RoPD00fSxwPTA7cDxhLmxlbmd0aDtwKyspe3ZhciBxPWFbcF07aWYobihxKSYmZyYmcS5lbGVtZW50LnBhcmVudEVsZW1lbnQ9PT1nJiZoPDMpe2lmKGgrPTEsbCs9cS5DYSxoPT09Myl7dmFyIHI9cC1oKzE7aWYobD1LSVtGRC5lZV0ubmEobCkpYVtyXS5DYT1sfX1lbHNlIGlmKGg9MCxsPSIiLGc9dm9pZCAwLG4ocSkpe2grKztsPXEuQ2E7dmFyIHQ9dm9pZCAwO2c9KHQ9cS5lbGVtZW50LnBhcmVudEVsZW1lbnQpIT1udWxsPwp0OnZvaWQgMH19cmV0dXJuIGEuZmlsdGVyKGZ1bmN0aW9uKHUpe3JldHVybiFuKHUpfSl9LE9JPWZ1bmN0aW9uKGEsYil7aWYoYS52YWx1ZSYmTEkuaW5kZXhPZigoYS50eXBlfHwidGV4dCIpLnRvTG93ZXJDYXNlKCkpIT09LTEpe3ZhciBjPWEuYXV0b2NvbXBsZXRlO2lmKGMpZm9yKHZhciBkPWMuc3BsaXQoIiAiKSxlPTA7ZTxkLmxlbmd0aDtlKyspe3ZhciBmPU1JKGEudmFsdWUsYixkW2VdKTtpZihmKXJldHVybiBmfXZhciBnLGg9W2EubmFtZSxhLmlkLChnPWEuYXJpYUxhYmVsKSE9bnVsbD9nOnZvaWQgMCxhLnBsYWNlaG9sZGVyXSxsPWEucGFyZW50RWxlbWVudDtsJiZsLnRhZ05hbWU9PT0iTEFCRUwiJiZoLnB1c2gobC5pbm5lclRleHQpO3ZhciBuPWEucHJldmlvdXNFbGVtZW50U2libGluZztuJiZuLnRhZ05hbWU9PT0iTEFCRUwiJiYhbi5odG1sRm9yJiZoLnB1c2gobi5pbm5lclRleHQpO2lmKGEuaWQpe3ZhciBwPVtdO3RyeXtwPWRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3RvckFsbCgnbGFiZWxbZm9yPSInKwphLmlkKyciXScpfWNhdGNoKEQpe31mb3IodmFyIHE9MDtxPHAubGVuZ3RoO3ErKyloLnB1c2gocFtxXS5pbm5lclRleHQpfWg9aC5maWx0ZXIoZnVuY3Rpb24oRCl7cmV0dXJuIEQmJkQudHJpbSgpfSk7Zm9yKHZhciByLHQ9MCx1PTA7dTxoLmxlbmd0aDt1Kyspe3ZhciB2PU5JKGEsYixoW3VdKTtpZih2KXt2YXIgeD12LHk9eC5DYSx6PXguRGEsQz14LlhzO0M+dCYmKHQ9QyxyPXtDYTp5LERhOnp9KX19cmV0dXJuIHJ9fSxOST1mdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspe3ZhciBlPWJbZF07aWYoS0lbZV0ubmUpe3ZhciBmPUtJW2VdLm5lLmV4ZWMoYy50cmltKCkpO2lmKGYpe3ZhciBnPWEsaD1bXSxsPWcudmFsdWUudHJpbSgpO2wmJmgucHVzaChsKTtpZihnLnRhZ05hbWU9PT0iU0VMRUNUIil0cnl7dmFyIG49Zy5xdWVyeVNlbGVjdG9yKCdbdmFsdWU9IicrZy52YWx1ZSsnIl0nKSxwPW4mJm4uaW5uZXJUZXh0LnRyaW0oKTtwJiZoLnB1c2gocCl9Y2F0Y2godSl7fWZvcih2YXIgcT0KaCxyPXZvaWQgMCx0PTA7dDxxLmxlbmd0aCYmIXI7dCsrKXI9S0lbZV0ubmEocVt0XSk7aWYocilyZXR1cm57RGE6ZSxDYTpyLFhzOmZbMF0ubGVuZ3RoL2MudHJpbSgpLmxlbmd0aH19fX19LE1JPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGU9YltkXTtpZihLSVtlXS5hdXRvY29tcGxldGUmJktJW2VdLmF1dG9jb21wbGV0ZS5pbmRleE9mKGMpPj0wKXt2YXIgZj1LSVtlXS5uYShhLnRyaW0oKSk7aWYoZilyZXR1cm57RGE6ZSxDYTpmfX19fSxCST1mdW5jdGlvbihhKXt2YXIgYj1bXTthLmVtYWlsJiZiLnB1c2goRkQuQmIpO2EucGhvbmUmJmIucHVzaChGRC5lZSk7YS5hZGRyZXNzJiZiLnB1c2goRkQuWGQsRkQuY2UsRkQueGYsRkQucWcsRkQuS2gpO3JldHVybiBifSxDST1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXSxkPTA7ZDxhLmxlbmd0aDtkKyspe3ZhciBlPWFbZF0sZj1lLmVsZW1lbnQsZz1lLk9jLGg7YTp7dmFyIGw9ZixuPWIsCnA9bC5pbm5lckhUTUw7UEkuaW5kZXhPZihsLnRhZ05hbWUpPj0wJiYocD1sLnZhbHVlfHxwKTtpZihwKXt2YXIgcTtiOntmb3IodmFyIHI9cCx0PW4sdT0wO3U8dC5sZW5ndGg7dSsrKXt2YXIgdj10W3VdO2lmKCFLSVt2XS5tZSl7dmFyIHg9S0lbdl0ubmEoci50cmltKCkpO2lmKHgpe3E9e0RhOnYsQ2E6eH07YnJlYWsgYn19fXE9dm9pZCAwfWlmKHEpe2g9cTticmVhayBhfWlmKFBJLmluZGV4T2YobC50YWdOYW1lKSE9PS0xKXtoPU9JKGwsbik7YnJlYWsgYX19aD12b2lkIDB9dmFyIHk9aDtpZih5KXt2YXIgej15O2MucHVzaCh7Q2E6ei5DYSxEYTp6LkRhLGVsZW1lbnQ6ZixPYzpnfSl9fXJldHVybiBjfSxGST1mdW5jdGlvbihhKXt2YXIgYj1bXTtpZihhLmxlbmd0aD09PTApcmV0dXJuIGI7dmFyIGM9e30sZDtmb3IoZCBpbiBGRClpZihjPXtWZzpjLlZnfSxjLlZnPWQsRkQuaGFzT3duUHJvcGVydHkoYy5WZykpe3ZhciBlPWEuZmlsdGVyKGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbihnKXtyZXR1cm4gZy5EYT09PQpGRFtmLlZnXX19KGMpKTtlLmxlbmd0aCE9PTAmJihGRFtjLlZnXT09PUZELkJiJiYoZT1RSShlLGZ1bmN0aW9uKGYpe3JldHVybiFSSS50ZXN0KGYuQ2EpfSksZT1RSShlLGZ1bmN0aW9uKGYpe3JldHVybiBmLmVsZW1lbnQudGFnTmFtZS50b1VwcGVyQ2FzZSgpPT09IklOUFVUIn0pLGU9UUkoZSxmdW5jdGlvbihmKXtyZXR1cm4hckkoZi5lbGVtZW50KX0pKSxiLnB1c2goZVswXSkpfXJldHVybiBifSxHST1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5lbGVtZW50LGU9YS5PYyxmPXtDYTphLkNhLHR5cGU6YS5EYSx0YWdOYW1lOmQudGFnTmFtZX07aWYoYil7dmFyIGcsaD1TSShkKTtpZihnPShlP2UrInwiK2g6aCkuc2xpY2UoMCxUSSkpZi5xdWVyeVNlbGVjdG9yPWd9YyYmKGYuaXNWaXNpYmxlPSFySShkKSk7ZSYmKGYuZGk9ITApO3JldHVybiBmfSx6ST1mdW5jdGlvbihhKXt2YXIgYixjLGQsZTtiPWEuaW5jbHVkZVNlbGVjdG9yO2M9YS5pbmNsdWRlVmlzaWJpbGl0eTtkPWEuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnM7CmU9YS5maWVsZEZpbHRlcnM7dmFyIGY9ISFiKyIuIishIWM7ZC5sZW5ndGgmJihmKz0iLiIrZC5qb2luKCIuIikpO3JldHVybiBmKz0iLiIrZS5lbWFpbCsiLiIrZS5waG9uZSsiLiIrZS5hZGRyZXNzfSxJST1mdW5jdGlvbihhKXtpZihhLmxlbmd0aCE9PTApe3ZhciBiO2I9UUkoYSxmdW5jdGlvbihjKXtyZXR1cm4hUkkudGVzdChjLkNhKX0pO2I9UUkoYixmdW5jdGlvbihjKXtyZXR1cm4gYy5lbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKT09PSJJTlBVVCJ9KTtiPVFJKGIsZnVuY3Rpb24oYyl7cmV0dXJuIXJJKGMuZWxlbWVudCl9KTtyZXR1cm4gYlswXX19LEVJPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdLGQ9MDtkPGEubGVuZ3RoO2QrKyl7Zm9yKHZhciBlPSEwLGY9MDtmPGIubGVuZ3RoO2YrKyl7dmFyIGc9YltmXTtpZihnJiZwSShhW2RdLmVsZW1lbnQsZykpe2U9ITE7YnJlYWt9fWFbZF0uRGE9PT1GRC5CYiYmTSg2MDIpJiYoUkkudGVzdChhW2RdLkNhKXx8YVtkXS5lbGVtZW50LnRhZ05hbWUudG9VcHBlckNhc2UoKT09PQoiQSImJmFbZF0uZWxlbWVudC5oYXNBdHRyaWJ1dGUoImhyZWYiKSYmYVtkXS5lbGVtZW50LmdldEF0dHJpYnV0ZSgiaHJlZiIpLmluZGV4T2YoIm1haWx0bzoiKSE9PS0xP2U9ITE6YVtkXS5lbGVtZW50LmNsb3Nlc3QoImZvb3RlciIpIT09bnVsbCYmKGU9ITEpKTtlJiZjLnB1c2goYVtkXSl9cmV0dXJuIGN9LFFJPWZ1bmN0aW9uKGEsYil7aWYoYS5sZW5ndGg8PTEpcmV0dXJuIGE7dmFyIGM9YS5maWx0ZXIoYik7cmV0dXJuIGMubGVuZ3RoPT09MD9hOmN9LFNJPWZ1bmN0aW9uKGEpe2lmKGE9PT1CLmJvZHkpcmV0dXJuImJvZHkiO2lmKGEuaWQpcmV0dXJuIiMiK2EuaWQ7dmFyIGI9YS5wYXJlbnRFbGVtZW50O2lmKGIpe3ZhciBjPVNJKGIpLGQ9VUkoYSxiKSxlPVZJKGEpKyI6bnRoLWNoaWxkKCIrZCsiKSI7cmV0dXJuIGM/YysiPiIrZTplfXZhciBmPWEucGFyZW50Tm9kZTtpZihmIGluc3RhbmNlb2YgU2hhZG93Um9vdCl7dmFyIGc9VUkoYSxmKTtyZXR1cm4gVkkoYSkrIjpudGgtY2hpbGQoIisKZysiKSJ9cmV0dXJuIGEudGFnTmFtZT9hLnRhZ05hbWUudG9Mb3dlckNhc2UoKToiIn0sVkk9ZnVuY3Rpb24oYSl7aWYoYS5jbGFzc0xpc3QmJmEuY2xhc3NMaXN0Lmxlbmd0aD4wKXt2YXIgYj1BcnJheS5mcm9tKGEuY2xhc3NMaXN0LGZ1bmN0aW9uKGMpe3JldHVybiBDU1MuZXNjYXBlKGMpfSkuZmlsdGVyKGZ1bmN0aW9uKGMpe3JldHVybiBjLmxlbmd0aD4wfSk7aWYoYi5sZW5ndGg+MClyZXR1cm4iLiIrYi5qb2luKCIuIil9cmV0dXJuIiJ9LFVJPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPWIuY2hpbGRyZW4sZD0wO2Q8Yy5sZW5ndGg7ZCsrKWlmKGNbZF09PT1hKXJldHVybiBkKzE7cmV0dXJuIDF9LEhJPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1bXSxjPTA7YzxhLmxlbmd0aDtjKyspe3ZhciBkPWFbY10sZT1kLmVsZW1lbnQsZj1kLk9jLGc9ZS50ZXh0Q29udGVudDtlLnRhZ05hbWUudG9VcHBlckNhc2UoKT09PSJJTlBVVCImJmUudmFsdWUmJihnPWUudmFsdWUpO2lmKGcpe3ZhciBoPQpnLm1hdGNoKEtEKTtpZihoKXt2YXIgbD1oWzBdO0xEKGwpfHxiLnB1c2goe2VsZW1lbnQ6ZSxDYTpsLERhOkZELkJiLE9jOmZ9KX19fXJldHVybiBifSxBST1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Qi5ib2R5O2lmKCFiKXJldHVybntlbGVtZW50czphLHN0YXR1czoiNCJ9O3ZhciBjPVdJKGIsMCwiIixhKTtyZXR1cm57ZWxlbWVudHM6YSxzdGF0dXM6Y319LFdJPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1hLnF1ZXJ5U2VsZWN0b3JBbGwoIioiKSxmPWUubGVuZ3RoPjFFND8iMiI6IjEiLGc9MDtnPE1hdGgubWluKGUubGVuZ3RoLDFFNCk7ZysrKXt2YXIgaD1lW2ddO2lmKCEoWEkuaW5kZXhPZihoLnRhZ05hbWUudG9VcHBlckNhc2UoKSk+PTApJiZoLmNoaWxkcmVuIGluc3RhbmNlb2YgSFRNTENvbGxlY3Rpb24pe3ZhciBsPSExO2lmKE0oNTgyKSYmaC5zaGFkb3dSb290JiZiPDEpe3ZhciBuPVNJKGgpO1dJKGguc2hhZG93Um9vdCxiKzEsYz9jKyJ8IituOm4sZCk9PT0iMiImJgooZj0iMiIpO2w9ITB9dmFyIHA9ITE7aWYoIWwpZm9yKHZhciBxPTA7cTxNYXRoLm1pbihoLmNoaWxkRWxlbWVudENvdW50LDFFNCk7cSsrKWlmKCEoWUkuaW5kZXhPZihoLmNoaWxkcmVuW3FdLnRhZ05hbWUudG9VcHBlckNhc2UoKSk+PTApKXtwPSEwO2JyZWFrfSghcCYmIWx8fE0oNTY4KSYmUEkuaW5kZXhPZihoLnRhZ05hbWUpIT09LTEpJiZkLnB1c2goe2VsZW1lbnQ6aCxPYzpiPjA/Yzp2b2lkIDB9KX19cmV0dXJuIGZ9LFJJPS9zdXBwb3J0fG5vcmVwbHkvaSxYST0iU0NSSVBUIFNUWUxFIElNRyBTVkcgUEFUSCBCUiBOT1NDUklQVCBURVhUQVJFQSIuc3BsaXQoIiAiKSxZST1bIkJSIl0sVEk9TmYoNzAsNTApLFBJPVsiSU5QVVQiLCJTRUxFQ1QiXSxMST0idGV4dCB0ZWwgc2VhcmNoIG51bWJlciBoaWRkZW4gZW1haWwgc2VsZWN0LW9uZSIuc3BsaXQoIiAiKSxaST1SZWdFeHAoInBob25lfG1vYmlsZXxjb250YWN0Lj9udW1iZXJ8dGVsZWZvbm51bW1lcnx0ZWxlZm9ub3x0ZWxcdTAwZTlmb25vfHRlbGZpeGV8XHU5NmZiXHU4YTcxfHRlbGVmb25lfHRlbGVtb3ZlbHxcdTA0NDJcdTA0MzVcdTA0M2JcdTA0MzVcdTA0NDRcdTA0M2VcdTA0M2R8XHUwOTJlXHUwOTRiXHUwOTJjXHUwOTNlXHUwOTA3XHUwOTMyfFx1NzUzNVx1OGJkZHxcdTYyNGJcdTY3M2FcdTUzZjd8XHUwZDJlXHUwZDRhXHUwZDJjXHUwZDQ4XHUwZDMyXHUwZDRkXHUyMDBkfChefFstX10pdGVsWy1fXT8oXFxkKykqKFxcWy4qXFxdKSokfCg/Olx1YzgwNFx1ZDY1NHxcdWQ1NzhcdWI0ZGNcdWQzZjB8XHVkNzM0XHViMzAwXHVkM2YwfFx1ZDczNFx1YjMwMFx1YzgwNFx1ZDY1NCkoPzouP1x1YmM4OFx1ZDYzOCk/fChcXGJ8X3xcXCopdGVsZWZvbihcXGJ8X3xcXCopfHRlbGVwb258cG9uc2VsfChub21vcnxub1xcLj8pLj8oaHB8aGFuZHBob25lKSIsCiJpIiksJEk9UmVnRXhwKCJebmFtZXxmdWxsLj9uYW1lfHlvdXIuP25hbWV8Y3VzdG9tZXIuP25hbWV8YmlsbC4/bmFtZXxzaGlwLj9uYW1lfG5hbWUuKmZpcnN0LipsYXN0fGZpcnN0YW5kbGFzdG5hbWV8Y29udGFjdC4/KG5hbWV8cGVyc29uKXxub21icmUuKnkuKmFwZWxsaWRvc3xebm9tKD8hW2EtekEtWl0pfFx1MzA0YVx1NTQwZFx1NTI0ZHxcdTZjMGZcdTU0MGR8Xm5vbWV8XHUwNjQ2XHUwNjI3XHUwNjQ1LipcdTA2NDZcdTA2MjdcdTA2NDUuKlx1MDYyZVx1MDYyN1x1MDY0Nlx1MDY0OFx1MDYyN1x1MDYyZlx1MDZhZlx1MDZjY3xcdTU5ZDNcXHMqXHU1NDBkfFx1MDQzYVx1MDQzZVx1MDQzZFx1MDQ0Mlx1MDQzMFx1MDQzYVx1MDQ0Mlx1MDQzZFx1MDQzZVx1MDQzNS4/XHUwNDNiXHUwNDM4XHUwNDQ2XHUwNDNlfChcXGJ8X3xcXCopYWRbXHUwMTMxXT8gc295YWRbXHUwMTMxXT8oXFxifF98XFwqKXxcdWMxMzFcdWJhODV8bmFtYS4/KGxlbmdrYXB8cGVuZXJpbWF8a2FtdSkiLAoiaSIpLGFKPVJlZ0V4cCgiZmlyc3QuKm5hbWV8aW5pdGlhbHN8Zm5hbWV8Zmlyc3QkfGdpdmVuLipuYW1lfHZvcm5hbWV8bm9tYnJlfGZvcmVuYW1lfHByXHUwMGU5bm9tfHByZW5vbXxcdTU0MGR8bm9tZXxcdTA0MThcdTA0M2NcdTA0NGZ8XHUwNjQ2XHUwNjI3XHUwNjQ1fFx1Yzc3NFx1Yjk4NHxcdTBkMmFcdTBkNDdcdTBkMzBcdTBkNGR8KFxcYnxffFxcKikoaXNpbXxhZHxhZChpfFx1MDEzMXxpbml6fFx1MDEzMW5cdTAxMzF6KT8pKFxcYnxffFxcKil8XHUwOTI4XHUwOTNlXHUwOTJlfG5hbWEgZGVwYW4iLCJpIiksYko9UmVnRXhwKCJsYXN0LipuYW1lfGxuYW1lfHN1cm5hbWUoPyFcXGQpfGxhc3QkfHNlY29uZG5hbWV8ZmFtaWx5LipuYW1lfG5hY2huYW1lfGFwZWxsaWRvcz98ZmFtaWxsZXxebm9tKD8hW2EtekEtWl0pfGNvZ25vbWV8XHU1OWQzfGFwZWxpZG9zfHN1cmVuYW1lfHNvYnJlbm9tZXxcdTA0MjRcdTA0MzBcdTA0M2NcdTA0MzhcdTA0M2JcdTA0MzhcdTA0NGZ8XHUwNjQ2XHUwNjI3XHUwNjQ1LipcdTA2MmVcdTA2MjdcdTA2NDZcdTA2NDhcdTA2MjdcdTA2MmZcdTA2YWZcdTA2Y2N8XHUwOTA5XHUwOTJhXHUwOTI4XHUwOTNlXHUwOTJlfFx1MGQyZVx1MGQzMVx1MGQ0MVx1MGQyYVx1MGQ0N1x1MGQzMFx1MGQ0ZHwoXFxifF98XFwqKShzb3lpc2ltfHNveWFkKGl8XHUwMTMxfGluaXp8XHUwMTMxblx1MDEzMXopPykoXFxifF98XFwqKXxcXGJcdWMxMzEoPzpbXlx1YmE4NV18XFxiKXxuYW1hIGJlbGFrYW5nIiwKImkiKSxjSj1SZWdFeHAoImNvdW50cnl8Y291bnRyaWVzfHBhXHUwMGVkc3xwYWlzfChcXGJ8XylsYW5kKFxcYnxfKSg/IS4qKG1hcmsuKikpfChefFteKFx1NTE2NXxcdTUxZmEpXSlcdTU2ZmR8XHU1NmZkXHU1YmI2fFx1YWQ2ZFx1YWMwMHxcdWIwOThcdWI3N2N8KFxcYnxfKShcdTAwZmNsa2V8dWxjZXx1bGtlKShcXGJ8Xyl8XHUwNmE5XHUwNjM0XHUwNjQ4XHUwNjMxfG5lZ2FyYSIsImkiKSxkSj1SZWdFeHAoIihefFteLl0pemlwfHBvc3RhbHxwb3N0Lipjb2RlfHBjb2RlfHBpbi4/Y29kZXxwb3N0bGVpdHphaGx8XFxiY3BcXGJ8XFxiY2RwXFxifFxcYmNhcFxcYnxcdTkwZjVcdTRmYmZcdTc1NmFcdTUzZjd8Y29kaWdvfGNvZHBvc3xcXGJjZXBcXGJ8XHUwNDFmXHUwNDNlXHUwNDQ3XHUwNDQyXHUwNDNlXHUwNDMyXHUwNDRiXHUwNDM5Lj9cdTA0MThcdTA0M2RcdTA0MzRcdTA0MzVcdTA0M2FcdTA0NDF8XHUwOTJhXHUwOTNmXHUwOTI4Lj9cdTA5MTVcdTA5NGJcdTA5MjF8XHUwZDJhXHUwZDNmXHUwZDI4XHUwZDRkXHUyMDBkXHUwZDE1XHUwZDRiXHUwZDIxXHUwZDRkfFx1OTBhZVx1NjUzZlx1N2YxNlx1NzgwMXxcdTkwYWVcdTdmMTZ8XHU5MGY1XHU5MDVlXHU1MzQwXHU4NjVmfChcXGJ8Xylwb3N0YSBrb2R1KFxcYnxfKXxcdWM2YjBcdWQzYjguP1x1YmM4OFx1ZDYzOHxrb2RlLj9wb3MiLAoiaSIpLGVKPXt9LEtJPShlSltGRC5CYl09e21lOiExLG5hOk1EfSxlSltGRC5lZV09e21lOiEwLGF1dG9jb21wbGV0ZTpbInRlbCIsInRlbC1uYXRpb25hbCIsInRlbC1sb2NhbCJdLG5lOlpJLG5hOmZ1bmN0aW9uKGEpe3JldHVybiBHRChhLCEwKX19LGVKW0ZELktoXT17bWU6ITAsYXV0b2NvbXBsZXRlOlsibmFtZSIsImNjLW5hbWUiXSxuZTokSSxuYTpORH0sZUpbRkQuWGRdPXttZTohMCxhdXRvY29tcGxldGU6WyJnaXZlbi1uYW1lIiwiY2MtZ2l2ZW4tbmFtZSJdLG5lOmFKLG5hOk5EfSxlSltGRC5jZV09e21lOiEwLGF1dG9jb21wbGV0ZTpbImZhbWlseS1uYW1lIiwiY2MtZmFtaWx5LW5hbWUiXSxuZTpiSixuYTpORH0sZUpbRkQueGZdPXttZTohMCxhdXRvY29tcGxldGU6WyJjb3VudHJ5IiwiY291bnRyeS1uYW1lIl0sbmU6Y0osbmE6TkR9LGVKW0ZELnFnXT17bWU6ITAsYXV0b2NvbXBsZXRlOlsicG9zdGFsLWNvZGUiXSxuZTpkSixuYTpJRH0sZUopO2Z1bmN0aW9uIGZKKGEpe3ZhciBiO0wodGhpcywiZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSIsImF1dG8iKTt2YXIgYz1UZChhKXx8e30sZD1KSSh7aW5jbHVkZVNlbGVjdG9yOiEhYy5pbmNsdWRlU2VsZWN0b3IsaW5jbHVkZVZpc2liaWxpdHk6ISFjLmluY2x1ZGVWaXNpYmlsaXR5LGV4Y2x1ZGVFbGVtZW50U2VsZWN0b3JzOmMuZXhjbHVkZUVsZW1lbnRTZWxlY3RvcnMsZmllbGRGaWx0ZXJzOmMuZmllbGRGaWx0ZXJzLHNlbGVjdE11bHRpcGxlRWxlbWVudHM6ISFjLnNlbGVjdE11bHRpcGxlRWxlbWVudHN9KTtiPW5ldyBrYjt2YXIgZT1uZXcgR2Q7Yi5zZXQoImVsZW1lbnRzIixlKTtmb3IodmFyIGY9ZC5lbGVtZW50cyxnPTA7ZzxmLmxlbmd0aDtnKyspZS5wdXNoKGdKKGZbZ10pKTtkLmdpIT09dm9pZCAwJiZiLnNldCgicHJlZmVycmVkRW1haWxFbGVtZW50IiwKZ0ooZC5naSkpO2Iuc2V0KCJzdGF0dXMiLGQuc3RhdHVzKTtpZihjLnJlYWRGcm9tRGF0YUxheWVyKXtoSihlLGMpO3ZhciBoPVBEKCksbD1oLnN0O2Iuc2V0KCJkYXRhTGF5ZXJTZWFyY2hUaW1lIixoLnZ0KTtiLnNldCgiZGF0YUxheWVyU2VhcmNoQ291bnQiLGwpfXJldHVybiBifQp2YXIgaUo9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgRkQuQmI6cmV0dXJuImVtYWlsIjtjYXNlIEZELmVlOnJldHVybiJwaG9uZV9udW1iZXIiO2Nhc2UgRkQuWGQ6cmV0dXJuImZpcnN0X25hbWUiO2Nhc2UgRkQuY2U6cmV0dXJuImxhc3RfbmFtZSI7Y2FzZSBGRC50ajpyZXR1cm4ic3RyZWV0IjtjYXNlIEZELmxpOnJldHVybiJjaXR5IjtjYXNlIEZELmpqOnJldHVybiJyZWdpb24iO2Nhc2UgRkQucWc6cmV0dXJuInBvc3RhbF9jb2RlIjtjYXNlIEZELnhmOnJldHVybiJjb3VudHJ5In19LGpKPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBrYixjPWlKKGEuRGEpO2MhPT12b2lkIDAmJmIuc2V0KCJ0eXBlIixjKTtiLnNldCgidXNlckRhdGEiLGEuQ2EpO2Iuc2V0KCJ0YWdOYW1lIiwiRExZUiIpO3JldHVybiBifSxoSj1mdW5jdGlvbihhLGIpe3ZhciBjPVFEKCk7aWYoTSg1NjgpKWZvcih2YXIgZD1uZXcgU2V0KGEuaGMoKS5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIuZ2V0KCJ0eXBlIil9KSksCmU9bShjKSxmPWUubmV4dCgpOyFmLmRvbmU7Zj1lLm5leHQoKSl7dmFyIGc9bShmLnZhbHVlKSxoPWcubmV4dCgpLnZhbHVlLGw9Zy5uZXh0KCkudmFsdWUsbj1oLHA9bDtpZihiLnNlbGVjdE11bHRpcGxlRWxlbWVudHMpYS5wdXNoKGpKKHApKTtlbHNle3ZhciBxPWlKKG4pO3EmJiFkLmhhcyhxKSYmYS5wdXNoKGpKKHApKX19ZWxzZSBjLmhhcyhGRC5CYikmJihiLnNlbGVjdE11bHRpcGxlRWxlbWVudHN8fGEubGVuZ3RoKCk9PT0wKSYmYS5wdXNoKGpKKGMuZ2V0KEZELkJiKSkpfSxnSj1mdW5jdGlvbihhKXt2YXIgYj1uZXcga2I7Yi5zZXQoInVzZXJEYXRhIixhLkNhKTtiLnNldCgidGFnTmFtZSIsYS50YWdOYW1lKTthLnF1ZXJ5U2VsZWN0b3IhPT12b2lkIDAmJmIuc2V0KCJxdWVyeVNlbGVjdG9yIixhLnF1ZXJ5U2VsZWN0b3IpO2EuaXNWaXNpYmxlIT09dm9pZCAwJiZiLnNldCgiaXNWaXNpYmxlIixhLmlzVmlzaWJsZSk7aWYoTSg1NjgpKXt2YXIgYz1pSihhLnR5cGUpO2MhPT0Kdm9pZCAwJiZiLnNldCgidHlwZSIsYyl9ZWxzZSBzd2l0Y2goYS50eXBlKXtjYXNlIEZELkJiOmIuc2V0KCJ0eXBlIiwiZW1haWwiKX1yZXR1cm4gYn07ZkouUD0iaW50ZXJuYWwuZGV0ZWN0VXNlclByb3ZpZGVkRGF0YSI7CnZhciBrSj1mdW5jdGlvbihhKXt2YXIgYj1oZChhLFsiYnV0dG9uIiwiaW5wdXQiXSw1MCk7aWYoIWIpcmV0dXJuIG51bGw7dmFyIGM9U3RyaW5nKGIudGFnTmFtZSkudG9Mb3dlckNhc2UoKTtpZihjPT09ImJ1dHRvbiIpcmV0dXJuIGI7aWYoYz09PSJpbnB1dCIpe3ZhciBkPWVkKGIsInR5cGUiKTtpZihkPT09ImJ1dHRvbiJ8fGQ9PT0ic3VibWl0Inx8ZD09PSJpbWFnZSJ8fGQ9PT0iZmlsZSJ8fGQ9PT0icmVzZXQiKXJldHVybiBifXJldHVybiBudWxsfSxsSj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Yy50YXJnZXQ7aWYoZCl7dmFyIGU9JEYoYSwiaW5kaXZpZHVhbEVsZW1lbnRJZHMiLFtdKTtpZihlLmxlbmd0aD4wKXt2YXIgZj1lRyhkLGIsZSk7dUUoZil9dmFyIGc9ITEsaD0kRihhLCJjb21tb25CdXR0b25JZHMiLFtdKTtpZihoLmxlbmd0aD4wKXt2YXIgbD1rSihkKTtpZihsKXt2YXIgbj1lRyhsLGIsaCk7dUUobik7Zz0hMH19dmFyIHA9JEYoYSwic2VsZWN0b3JUb1RyaWdnZXJJZHMiLAp7fSkscTtmb3IocSBpbiBwKWlmKHAuaGFzT3duUHJvcGVydHkocSkpe3ZhciByPWc/cFtxXS5maWx0ZXIoZnVuY3Rpb24odil7cmV0dXJuIGguaW5kZXhPZih2KT09PS0xfSk6cFtxXTtpZihyLmxlbmd0aCE9PTApe3ZhciB0PXBJKGQscSk7aWYodCl7dmFyIHU9ZUcodCxiLHIpO3VFKHUpfX19fX07CmZ1bmN0aW9uIG1KKGEsYil7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTt2YXIgYz1hP1RkKGEpOnt9LGQ9SmIoYy5tYXRjaENvbW1vbkJ1dHRvbnMpLGU9ISFjLmNzc1NlbGVjdG9yLGY9WkYoYik7TCh0aGlzLCJkZXRlY3RfY2xpY2tfZXZlbnRzIixjLm1hdGNoQ29tbW9uQnV0dG9ucyxjLmNzc1NlbGVjdG9yKTt2YXIgZz1jLnVzZVYyRXZlbnROYW1lPyJndG0uY2xpY2stdjIiOiJndG0uY2xpY2siLGg9Yy51c2VWMkV2ZW50TmFtZT8iZWNsIjoiY2wiLGw9ZnVuY3Rpb24ocCl7cC5wdXNoKGYpO3JldHVybiBwfTtpZihlfHxkKXtpZihkJiZkRyhoLCJjb21tb25CdXR0b25JZHMiLGwsW10pLGUpe3ZhciBuPUxiKFN0cmluZyhjLmNzc1NlbGVjdG9yKSk7ZEcoaCwic2VsZWN0b3JUb1RyaWdnZXJJZHMiLApmdW5jdGlvbihwKXtwLmhhc093blByb3BlcnR5KG4pfHwocFtuXT1bXSk7bChwW25dKTtyZXR1cm4gcH0se30pfX1lbHNlIGRHKGgsImluZGl2aWR1YWxFbGVtZW50SWRzIixsLFtdKTtiRyhoLGZ1bmN0aW9uKCl7JGMoQiwiY2xpY2siLGZ1bmN0aW9uKHApe2xKKGgsZyxwKX0sITApfSk7cmV0dXJuIGZ9bUouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25DbGljayI7CnZhciBuSj1mdW5jdGlvbigpe3RoaXMuSD1bXTt0aGlzLk49ISFBLk11dGF0aW9uT2JzZXJ2ZXJ9O25KLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7aWYodGhpcy5ILmxlbmd0aD09PTApe3ZhciBjPWZ1bmN0aW9uKCl7dmFyIGQ9Qi5ib2R5O2lmKGQpaWYoYi5OKShuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpe2Zvcih2YXIgZj0wO2Y8Yi5ILmxlbmd0aDtmKyspYmQoYi5IW2ZdKX0pKS5vYnNlcnZlKGQse2NoaWxkTGlzdDohMCxzdWJ0cmVlOiEwfSk7ZWxzZXt2YXIgZT0hMTskYyhkLCJET01Ob2RlSW5zZXJ0ZWQiLGZ1bmN0aW9uKCl7ZXx8KGU9ITAsYmQoZnVuY3Rpb24oKXtlPSExO2Zvcih2YXIgZj0wO2Y8Yi5ILmxlbmd0aDtmKyspYmQoYi5IW2ZdKX0pKX0pfX07Qi5ib2R5P2MoKTpiZChjKX10aGlzLkgucHVzaChhKX07bkoucHJvdG90eXBlLlI9ZnVuY3Rpb24oYSl7aWYodGhpcy5IKWZvcih2YXIgYj0wO2I8dGhpcy5ILmxlbmd0aDtiKyspdGhpcy5IW2JdPT09CmEmJnRoaXMuSC5zcGxpY2UoYiwxKX07dmFyIG9KPW5ldyBuSjsKZnVuY3Rpb24gdEooYSxiKXtyZXR1cm4gcH10Si5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkVsZW1lbnRWaXNpYmlsaXR5IjtmdW5jdGlvbiB1Sigpe311Si5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkVycm9yIjsKdmFyIHdKPWZ1bmN0aW9uKGEsYil7R2IoYSxmdW5jdGlvbihjLGQpe3ZhciBlPWJbY107ZSYmR2IoZCxmdW5jdGlvbihmLGcpe3ZKKGcsZSl9KX0pfSx6Sj1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0iIitiO2lmKGNbaF0pY1toXS5wdXNoKGEpO2Vsc2V7dmFyIGw9W2FdO2NbaF09bDt2YXIgbj1kW2hdO258fChuPXt9LGRbaF09bik7ZS5wdXNoKGZ1bmN0aW9uKHApe3ZhciBxPXAudGFyZ2V0O2lmKHEpe3ZhciByPWlHKHEpO2lmKHIpe3ZhciB0PXhKKHIsImd0bUZvcm1JbnRlcmFjdElkIixmKSx1PXhKKHEsImd0bUZvcm1JbnRlcmFjdEZpZWxkSWQiLGcpO2lmKHQhPT1udWxsJiZ1IT09bnVsbCl7dmFyIHY9blt0XTt2Pyh2LlJiJiYoQS5jbGVhclRpbWVvdXQodi5SYiksdi5kZi5nZXRBdHRyaWJ1dGUoImRhdGEtZ3RtLWZvcm0taW50ZXJhY3QtZmllbGQtaWQiKSE9PXUmJnZKKHYsbCkpLHYuZGY9cSx5Sih2LGwsYikpOihuW3RdPXtmb3JtOnIsZGY6cSxzZXF1ZW5jZU51bWJlcjowLApSYjpudWxsfSx5SihuW3RdLGwsYikpfX19fSl9fSx2Sj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuZm9ybSxkPWEuZGYsZT1lRyhjLCJndG0uZm9ybUludGVyYWN0IixiKSxmPWMuYWN0aW9uO2YmJmYudGFnTmFtZSYmKGY9Yy5jbG9uZU5vZGUoITEpLmFjdGlvbik7ZVsiZ3RtLmVsZW1lbnRVcmwiXT1mO2VbImd0bS5pbnRlcmFjdGVkRm9ybU5hbWUiXT1jLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsP2MuZ2V0QXR0cmlidXRlKCJuYW1lIik6dm9pZCAwO2VbImd0bS5pbnRlcmFjdGVkRm9ybUxlbmd0aCJdPWMubGVuZ3RoO2VbImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkIl09ZDtlWyJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZElkIl09ZC5pZDtlWyJndG0uaW50ZXJhY3RlZEZvcm1GaWVsZE5hbWUiXT1kLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsP2QuZ2V0QXR0cmlidXRlKCJuYW1lIik6dm9pZCAwO2VbImd0bS5pbnRlcmFjdGVkRm9ybUZpZWxkUG9zaXRpb24iXT1oRyhjLGQsImd0bUZvcm1JbnRlcmFjdEZpZWxkSWQiKTsKZVsiZ3RtLmludGVyYWN0ZWRGb3JtRmllbGRUeXBlIl09ZC5nZXRBdHRyaWJ1dGUoInR5cGUiKSE9bnVsbD9kLmdldEF0dHJpYnV0ZSgidHlwZSIpOnZvaWQgMDtlWyJndG0uaW50ZXJhY3RTZXF1ZW5jZU51bWJlciJdPWEuc2VxdWVuY2VOdW1iZXI7dUUoZSk7YS5zZXF1ZW5jZU51bWJlcisrO2EuUmI9bnVsbH0seUo9ZnVuY3Rpb24oYSxiLGMpe2M/YS5SYj1BLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2SihhLGIpfSxjKTp2SihhLGIpfSx4Sj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ7dHJ5e2lmKGQ9YS5kYXRhc2V0W2JdKXJldHVybiBkO2Q9U3RyaW5nKGMoKSk7YS5kYXRhc2V0W2JdPWR9Y2F0Y2goZSl7ZD1udWxsfXJldHVybiBkfTsKZnVuY3Rpb24gQUooYSxiKXt2YXIgYz10aGlzO2lmKCFmaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0fHVuZGVmaW5lZCIsImFueSJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHMiKX1dKTt2YXIgZD1aRihiKSxlPWEmJk51bWJlcihhLmdldCgiaW50ZXJ2YWwiKSk7ZT4wJiZpc0Zpbml0ZShlKXx8KGU9MCk7aWYoJEYoImZpbCIsImluaXQiLCExKSl7dmFyIGY9JEYoImZpbCIsInJlZyIpO2lmKGYpZihkLGUpO2Vsc2UgdGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWdpc3RlciB0cmlnZ2VyOiAiK2QpO31lbHNle3ZhciBnPXt9LGg9W10sbD17fSxuPTAscD1mdW5jdGlvbigpe3JldHVybiBuKyt9LHE9MCxyPWZ1bmN0aW9uKCl7cmV0dXJuIHErK307JGMoQiwiY2hhbmdlIiwKZnVuY3Rpb24odCl7Zm9yKHZhciB1PTA7dTxoLmxlbmd0aDt1KyspaFt1XSh0KX0pOyRjKEEsInBhZ2VoaWRlIixmdW5jdGlvbigpe3dKKGwsZyl9KTt6SihkLGUsZyxsLGgscCxyKTthRygiZmlsIiwicmVnIixmdW5jdGlvbih0LHUpe3pKKHQsdSxnLGwsaCxwLHIpfSk7YUcoImZpbCIsImluaXQiLCEwKX1yZXR1cm4gZH1BSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkZvcm1JbnRlcmFjdGlvbiI7CnZhciBCSj1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSRGKCJmc2wiLGM/Im52Lm13dCI6Im13dCIsMCksZztnPWM/JEYoImZzbCIsIm52LmlkcyIsW10pOiRGKCJmc2wiLCJpZHMiLFtdKTtpZighZy5sZW5ndGgpcmV0dXJuITA7dmFyIGg9ZUcoYSwiZ3RtLmZvcm1TdWJtaXQiLGcpLGw9YS5hY3Rpb247bCYmbC50YWdOYW1lJiYobD1hLmNsb25lTm9kZSghMSkuYWN0aW9uKTtQKDEyMSk7aWYobD09PSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vdHIvIilyZXR1cm4gUCgxMjIpLCEwO2hbImd0bS5lbGVtZW50VXJsIl09bDtoWyJndG0uZm9ybUNhbmNlbGVkIl09YzthLmdldEF0dHJpYnV0ZSgibmFtZSIpIT1udWxsJiYoaFsiZ3RtLmludGVyYWN0ZWRGb3JtTmFtZSJdPWEuZ2V0QXR0cmlidXRlKCJuYW1lIikpO2UmJihoWyJndG0uZm9ybVN1Ym1pdEVsZW1lbnQiXT1lLGhbImd0bS5mb3JtU3VibWl0RWxlbWVudFRleHQiXT1lLnZhbHVlKTtpZihkJiZmKXtpZighc0UoaCxqRShiLApmKSxmKSlyZXR1cm4hMX1lbHNlIEZ5KDEsImd0bS5mb3JtU3VibWl0Iiksc0UoaCxmdW5jdGlvbigpe30sZnx8MkUzKTtyZXR1cm4hMH0sQ0o9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPWZ1bmN0aW9uKGMpe3JldHVybiBDYihhLGZ1bmN0aW9uKGQpe3JldHVybiBkLmZvcm09PT1jfSl9O3JldHVybntzdG9yZTpmdW5jdGlvbihjLGQpe3ZhciBlPWIoYyk7ZT9lLmJ1dHRvbj1kOmEucHVzaCh7Zm9ybTpjLGJ1dHRvbjpkfSl9LGdldDpmdW5jdGlvbihjKXt2YXIgZD1iKGMpO2lmKGQpcmV0dXJuIGQuYnV0dG9ufX19LERKPWZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0O3JldHVybiBiJiZiIT09Il9zZWxmIiYmYiE9PSJfcGFyZW50IiYmYiE9PSJfdG9wIj8hMTohMH0sRUo9ZnVuY3Rpb24oKXt2YXIgYT1DSigpLGI9SFRNTEZvcm1FbGVtZW50LnByb3RvdHlwZS5zdWJtaXQ7JGMoQiwiY2xpY2siLGZ1bmN0aW9uKGMpe3ZhciBkPWMudGFyZ2V0O2lmKGQpe3ZhciBlPWhkKGQsWyJidXR0b24iLAoiaW5wdXQiXSwxMDApO2lmKGUmJihlLnR5cGU9PT0ic3VibWl0Inx8ZS50eXBlPT09ImltYWdlIikmJmUubmFtZSYmZWQoZSwidmFsdWUiKSl7dmFyIGY9aUcoZSk7ZiYmYS5zdG9yZShmLGUpfX19LCExKTskYyhCLCJzdWJtaXQiLGZ1bmN0aW9uKGMpe3ZhciBkPWMudGFyZ2V0O2lmKCFkKXJldHVybiBjLnJldHVyblZhbHVlO3ZhciBlPWMuZGVmYXVsdFByZXZlbnRlZHx8Yy5yZXR1cm5WYWx1ZT09PSExLGY9REooZCkmJiFlLGc9YS5nZXQoZCksaD0hMDtpZihCSihkLGZ1bmN0aW9uKCl7aWYoaCl7dmFyIGw9bnVsbCxuPXt9O2cmJihsPUIuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxsLnR5cGU9ImhpZGRlbiIsbC5uYW1lPWcubmFtZSxsLnZhbHVlPWcudmFsdWUsZC5hcHBlbmRDaGlsZChsKSxnLmhhc0F0dHJpYnV0ZSgiZm9ybWFjdGlvbiIpJiYobi5hY3Rpb249ZC5nZXRBdHRyaWJ1dGUoImFjdGlvbiIpLHhjKGQsZy5nZXRBdHRyaWJ1dGUoImZvcm1hY3Rpb24iKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtZW5jdHlwZSIpJiYKKG4uZW5jdHlwZT1kLmdldEF0dHJpYnV0ZSgiZW5jdHlwZSIpLGQuc2V0QXR0cmlidXRlKCJlbmN0eXBlIixnLmdldEF0dHJpYnV0ZSgiZm9ybWVuY3R5cGUiKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtbWV0aG9kIikmJihuLm1ldGhvZD1kLmdldEF0dHJpYnV0ZSgibWV0aG9kIiksZC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsZy5nZXRBdHRyaWJ1dGUoImZvcm1tZXRob2QiKSkpLGcuaGFzQXR0cmlidXRlKCJmb3JtdmFsaWRhdGUiKSYmKG4udmFsaWRhdGU9ZC5nZXRBdHRyaWJ1dGUoInZhbGlkYXRlIiksZC5zZXRBdHRyaWJ1dGUoInZhbGlkYXRlIixnLmdldEF0dHJpYnV0ZSgiZm9ybXZhbGlkYXRlIikpKSxnLmhhc0F0dHJpYnV0ZSgiZm9ybXRhcmdldCIpJiYobi50YXJnZXQ9ZC5nZXRBdHRyaWJ1dGUoInRhcmdldCIpLGQuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLGcuZ2V0QXR0cmlidXRlKCJmb3JtdGFyZ2V0IikpKSk7Yi5jYWxsKGQpO2wmJihkLnJlbW92ZUNoaWxkKGwpLG4uaGFzT3duUHJvcGVydHkoImFjdGlvbiIpJiYKeGMoZCxuLmFjdGlvbiksbi5oYXNPd25Qcm9wZXJ0eSgiZW5jdHlwZSIpJiZkLnNldEF0dHJpYnV0ZSgiZW5jdHlwZSIsbi5lbmN0eXBlKSxuLmhhc093blByb3BlcnR5KCJtZXRob2QiKSYmZC5zZXRBdHRyaWJ1dGUoIm1ldGhvZCIsbi5tZXRob2QpLG4uaGFzT3duUHJvcGVydHkoInZhbGlkYXRlIikmJmQuc2V0QXR0cmlidXRlKCJ2YWxpZGF0ZSIsbi52YWxpZGF0ZSksbi5oYXNPd25Qcm9wZXJ0eSgidGFyZ2V0IikmJmQuc2V0QXR0cmlidXRlKCJ0YXJnZXQiLG4udGFyZ2V0KSl9fSxlLGYsZykpaD0hMTtlbHNlIHJldHVybiBlfHwoYy5wcmV2ZW50RGVmYXVsdCYmYy5wcmV2ZW50RGVmYXVsdCgpLGMucmV0dXJuVmFsdWU9ITEpLCExO3JldHVybiBjLnJldHVyblZhbHVlfSwhMSk7SFRNTEZvcm1FbGVtZW50LnByb3RvdHlwZS5zdWJtaXQ9ZnVuY3Rpb24oKXt2YXIgYz10aGlzLGQ9ITA7QkooYyxmdW5jdGlvbigpe2QmJmIuY2FsbChjKX0sITEsREooYykpJiYoYi5jYWxsKGMpLGQ9CiExKX19OwpmdW5jdGlvbiBGSihhLGIpe3ZhciBjPXRoaXM7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTt2YXIgZD1hJiZhLmdldCgid2FpdEZvclRhZ3MiKTtURihbZnVuY3Rpb24oKXtMKGMsImRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHMiLHt3YWl0Rm9yVGFnczohIWR9KX1dKTt2YXIgZT1hJiZhLmdldCgiY2hlY2tWYWxpZGF0aW9uIiksZj1aRihiKTtpZihkKXt2YXIgZz1OdW1iZXIoYS5nZXQoIndhaXRGb3JUYWdzVGltZW91dCIpKTtnPjAmJmlzRmluaXRlKGcpfHwoZz0yRTMpO3ZhciBoPWZ1bmN0aW9uKG4pe3JldHVybiBNYXRoLm1heChnLG4pfTtkRygiZnNsIiwibXd0IixoLDApO2V8fGRHKCJmc2wiLCJudi5td3QiLGgsMCl9dmFyIGw9ZnVuY3Rpb24obil7bi5wdXNoKGYpOwpyZXR1cm4gbn07ZEcoImZzbCIsImlkcyIsbCxbXSk7ZXx8ZEcoImZzbCIsIm52LmlkcyIsbCxbXSk7JEYoImZzbCIsImluaXQiLCExKXx8KEVKKCksYUcoImZzbCIsImluaXQiLCEwKSk7cmV0dXJuIGZ9RkouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25Gb3JtU3VibWl0IjsKZnVuY3Rpb24gS0ooKXt2YXIgYT10aGlzO31LSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkdhU2VuZCI7CnZhciBNSj1mdW5jdGlvbihhLGIsYyxkKXtjPWM9PT12b2lkIDA/e306YztkPWQ9PT12b2lkIDA/W106ZDt2YXIgZT0iIitiO2lmKGNbZV0pY1tlXS5wdXNoKGEpO2Vsc2V7dmFyIGY9W2FdO2NbZV09Zjt2YXIgZz1MSigiZ3RtLmhpc3RvcnlDaGFuZ2UtdjIiKSxoPS0xO2QucHVzaChmdW5jdGlvbihsKXtoPj0wJiZBLmNsZWFyVGltZW91dChoKTtiP2g9QS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZyhsLGYpO2g9LTF9LGIpOmcobCxmKX0pfX0sTEo9ZnVuY3Rpb24oYSl7dmFyIGI9QS5sb2NhdGlvbi5ocmVmLGM9e3NvdXJjZTpudWxsLHN0YXRlOkEuaGlzdG9yeS5zdGF0ZXx8bnVsbCx1cmw6T2ooUmooYikpLGtiOkxqKFJqKGIpLCJmcmFnbWVudCIpfTtyZXR1cm4gZnVuY3Rpb24oZCxlKXt2YXIgZj1jLGc9e307Z1tmLnNvdXJjZV09ITA7Z1tkLnNvdXJjZV09ITA7aWYoIWcucG9wc3RhdGV8fCFnLmhhc2hjaGFuZ2V8fGYua2IhPT1kLmtiKXt2YXIgaD17ZXZlbnQ6YSwiZ3RtLmhpc3RvcnlDaGFuZ2VTb3VyY2UiOmQuc291cmNlLAoiZ3RtLm9sZFVybEZyYWdtZW50IjpjLmtiLCJndG0ubmV3VXJsRnJhZ21lbnQiOmQua2IsImd0bS5vbGRIaXN0b3J5U3RhdGUiOmMuc3RhdGUsImd0bS5uZXdIaXN0b3J5U3RhdGUiOmQuc3RhdGUsImd0bS5vbGRVcmwiOmMudXJsLCJndG0ubmV3VXJsIjpkLnVybH07ZSYmKGhbImd0bS50cmlnZ2VycyJdPWUuam9pbigiLCIpKTtjPWQ7dUUoaCl9fX0sTko9ZnVuY3Rpb24oYSxiKXt2YXIgYz1BLmhpc3RvcnksZD1jW2FdO2lmKHliKGQpKXRyeXtjW2FdPWZ1bmN0aW9uKGUsZixnKXtkLmFwcGx5KGMsW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCkpO3ZhciBoPUEubG9jYXRpb24uaHJlZjtiKHtzb3VyY2U6YSxzdGF0ZTplLHVybDpPaihSaihoKSksa2I6TGooUmooaCksImZyYWdtZW50Iil9KX19Y2F0Y2goZSl7fX0sUEo9ZnVuY3Rpb24oYSl7QS5hZGRFdmVudExpc3RlbmVyKCJwb3BzdGF0ZSIsZnVuY3Rpb24oYil7dmFyIGM9T0ooYik7YSh7c291cmNlOiJwb3BzdGF0ZSIsc3RhdGU6Yi5zdGF0ZSwKdXJsOk9qKFJqKGMpKSxrYjpMaihSaihjKSwiZnJhZ21lbnQiKX0pfSl9LFFKPWZ1bmN0aW9uKGEpe0EuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsZnVuY3Rpb24oYil7dmFyIGM9T0ooYik7YSh7c291cmNlOiJoYXNoY2hhbmdlIixzdGF0ZTpudWxsLHVybDpPaihSaihjKSksa2I6TGooUmooYyksImZyYWdtZW50Iil9KX0pfSxPSj1mdW5jdGlvbihhKXt2YXIgYixjO3JldHVybigoYj1hLnRhcmdldCk9PW51bGw/dm9pZCAwOihjPWIubG9jYXRpb24pPT1udWxsP3ZvaWQgMDpjLmhyZWYpfHxBLmxvY2F0aW9uLmhyZWZ9OwpmdW5jdGlvbiBSSihhLGIpe3ZhciBjPXRoaXM7aWYoIWZoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3R8dW5kZWZpbmVkIiwiYW55Il0sYXJndW1lbnRzKTtURihbZnVuY3Rpb24oKXtMKGMsImRldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMiKX1dKTt2YXIgZD1hJiZhLmdldCgidXNlVjJFdmVudE5hbWUiKT8iZWhsIjoiaGwiLGU9TnVtYmVyKGEmJmEuZ2V0KCJpbnRlcnZhbCIpKTtlPjAmJmlzRmluaXRlKGUpfHwoZT0wKTt2YXIgZjtpZighJEYoZCwiaW5pdCIsITEpKXt2YXIgZz17fSxoPVtdLGw7ZD09PSJlaGwiPyhsPWZ1bmN0aW9uKHApe2Zvcih2YXIgcT0wO3E8aC5sZW5ndGg7cSsrKWhbcV0ocCl9LGY9WkYoYiksTUooZixlLGcsaCksYUcoZCwicmVnIixmdW5jdGlvbihwLHEpe01KKHAscSxnLGgpfSkpOmw9TEooImd0bS5oaXN0b3J5Q2hhbmdlIik7ClFKKGwpO1BKKGwpO05KKCJwdXNoU3RhdGUiLGwpO05KKCJyZXBsYWNlU3RhdGUiLGwpO2FHKGQsImluaXQiLCEwKX1lbHNlIGlmKGQ9PT0iZWhsIil7dmFyIG49JEYoZCwicmVnIik7biYmKGY9WkYoYiksbihmLGUpKX1kPT09ImhsIiYmKGY9dm9pZCAwKTtyZXR1cm4gZn1SSi5QPSJpbnRlcm5hbC5lbmFibGVBdXRvRXZlbnRPbkhpc3RvcnlDaGFuZ2UiO3ZhciBTSj1bImh0dHA6Ly8iLCJodHRwczovLyIsImphdmFzY3JpcHQ6IiwiZmlsZTovLyJdOwp2YXIgVEo9ZnVuY3Rpb24oYSxiKXtpZihhLndoaWNoPT09Mnx8YS5jdHJsS2V5fHxhLnNoaWZ0S2V5fHxhLmFsdEtleXx8YS5tZXRhS2V5KXJldHVybiExO3ZhciBjPW9kKGIsImhyZWYiKTtpZihjLmluZGV4T2YoIjoiKSE9PS0xJiYhU0ouc29tZShmdW5jdGlvbihoKXtyZXR1cm4gU2IoYyxoKX0pKXJldHVybiExO3ZhciBkPWMuaW5kZXhPZigiIyIpLGU9b2QoYiwidGFyZ2V0Iik7aWYoZSYmZSE9PSJfc2VsZiImJmUhPT0iX3BhcmVudCImJmUhPT0iX3RvcCJ8fGQ9PT0wKXJldHVybiExO2lmKGQ+MCl7dmFyIGY9T2ooUmooYykpLGc9T2ooUmooQS5sb2NhdGlvbi5ocmVmKSk7cmV0dXJuIGYhPT1nfXJldHVybiEwfSxVSj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1MaihSaigoYi5hdHRyaWJ1dGVzJiZiLmF0dHJpYnV0ZXMuZm9ybWFjdGlvbj9iLmZvcm1BY3Rpb246IiIpfHxiLmFjdGlvbnx8b2QoYiwiaHJlZiIpfHxiLnNyY3x8Yi5jb2RlfHxiLmNvZGViYXNlfHwiIiksImhvc3QiKSwKZD0wO2Q8YS5sZW5ndGg7ZCsrKXRyeXtpZigobmV3IFJlZ0V4cChhW2RdKSkudGVzdChjKSlyZXR1cm4hMX1jYXRjaChlKXt9cmV0dXJuITB9LFZKPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShjKXt2YXIgZD1jLnRhcmdldDtpZihkJiZjLndoaWNoIT09MyYmIShjLkh8fGMudGltZVN0YW1wJiZjLnRpbWVTdGFtcD09PWIpKXtiPWMudGltZVN0YW1wO2Q9aGQoZCxbImEiLCJhcmVhIl0sMTAwKTtpZighZClyZXR1cm4gYy5yZXR1cm5WYWx1ZTt2YXIgZT1jLmRlZmF1bHRQcmV2ZW50ZWR8fGMucmV0dXJuVmFsdWU9PT0hMSxmPSRGKCJsY2wiLGU/Im52Lm13dCI6Im13dCIsMCksZztnPWU/JEYoImxjbCIsIm52LmlkcyIsW10pOiRGKCJsY2wiLCJpZHMiLFtdKTtmb3IodmFyIGg9W10sbD0wO2w8Zy5sZW5ndGg7bCsrKXt2YXIgbj1nW2xdLHA9JEYoImxjbCIsImFmZi5tYXAiLHt9KVtuXTtwJiYhVUoocCxkKXx8aC5wdXNoKG4pfWlmKGgubGVuZ3RoKXt2YXIgcT1USihjLGQpLHI9ZUcoZCwiZ3RtLmxpbmtDbGljayIsCmgpO3JbImd0bS5lbGVtZW50VGV4dCJdPWZkKGQpO3JbImd0bS53aWxsT3BlbkluTmV3V2luZG93Il09IXE7aWYocSYmIWUmJmYmJmQuaHJlZil7dmFyIHQ9ISFDYihTdHJpbmcob2QoZCwicmVsIil8fCIiKS5zcGxpdCgiICIpLGZ1bmN0aW9uKHkpe3JldHVybiB5LnRvTG93ZXJDYXNlKCk9PT0ibm9yZWZlcnJlciJ9KSx1PUFbKG9kKGQsInRhcmdldCIpfHwiX3NlbGYiKS5zdWJzdHJpbmcoMSldLHY9ITAseD10RShmdW5jdGlvbigpe3ZhciB5O2lmKHk9diYmdSl7dmFyIHo7YTppZih0KXt2YXIgQzt0cnl7Qz1uZXcgTW91c2VFdmVudChjLnR5cGUse2J1YmJsZXM6ITB9KX1jYXRjaChEKXtpZighQi5jcmVhdGVFdmVudCl7ej0hMTticmVhayBhfUM9Qi5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKTtDLmluaXRFdmVudChjLnR5cGUsITAsITApfUMuSD0hMDtjLnRhcmdldC5kaXNwYXRjaEV2ZW50KEMpO3o9ITB9ZWxzZSB6PSExO3k9IXp9eSYmKHUubG9jYXRpb24uaHJlZj1vZChkLAoiaHJlZiIpKX0sZik7aWYoaUUocix4LGYpKXY9ITE7ZWxzZSByZXR1cm4gYy5wcmV2ZW50RGVmYXVsdCYmYy5wcmV2ZW50RGVmYXVsdCgpLGMucmV0dXJuVmFsdWU9ITF9ZWxzZSBzRShyLGZ1bmN0aW9uKCl7fSxmfHwyRTMpO3JldHVybiEwfX19dmFyIGI9MDskYyhCLCJjbGljayIsYSwhMSk7JGMoQiwiYXV4Y2xpY2siLGEsITEpfTsKZnVuY3Rpb24gV0ooYSxiKXt2YXIgYz10aGlzO2lmKCFmaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0fHVuZGVmaW5lZCIsImFueSJdLGFyZ3VtZW50cyk7dmFyIGQ9VGQoYSk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfbGlua19jbGlja19ldmVudHMiLGQpfV0pO3ZhciBlPWQmJiEhZC53YWl0Rm9yVGFncyxmPWQmJiEhZC5jaGVja1ZhbGlkYXRpb24sZz1kP2QuYWZmaWxpYXRlRG9tYWluczp2b2lkIDAsaD1aRihiKTtpZihlKXt2YXIgbD1OdW1iZXIoZC53YWl0Rm9yVGFnc1RpbWVvdXQpO2w+MCYmaXNGaW5pdGUobCl8fChsPTJFMyk7dmFyIG49ZnVuY3Rpb24ocSl7cmV0dXJuIE1hdGgubWF4KGwscSl9O2RHKCJsY2wiLCJtd3QiLG4sMCk7Znx8ZEcoImxjbCIsIm52Lm13dCIsbiwwKX12YXIgcD1mdW5jdGlvbihxKXtxLnB1c2goaCk7CnJldHVybiBxfTtkRygibGNsIiwiaWRzIixwLFtdKTtmfHxkRygibGNsIiwibnYuaWRzIixwLFtdKTtnJiZkRygibGNsIiwiYWZmLm1hcCIsZnVuY3Rpb24ocSl7cVtoXT1nO3JldHVybiBxfSx7fSk7JEYoImxjbCIsImluaXQiLCExKXx8KFZKKCksYUcoImxjbCIsImluaXQiLCEwKSk7cmV0dXJuIGh9V0ouUD0iaW50ZXJuYWwuZW5hYmxlQXV0b0V2ZW50T25MaW5rQ2xpY2siOwp2YXIgWEo9ZnVuY3Rpb24oYSl7cmV0dXJuICRGKCJzZGwiLGEse30pfSxZSj1mdW5jdGlvbihhLGIsYyl7aWYoYil7dmFyIGQ9QXJyYXkuaXNBcnJheShhKT9hOlthXTtkRygic2RsIixjLGZ1bmN0aW9uKGUpe2Zvcih2YXIgZj0wO2Y8ZC5sZW5ndGg7ZisrKXt2YXIgZz1TdHJpbmcoZFtmXSk7ZS5oYXNPd25Qcm9wZXJ0eShnKXx8KGVbZ109W10pO2VbZ10ucHVzaChiKX1yZXR1cm4gZX0se30pfX0sYUs9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7WkooYSxiKTskSihjLCEwKX1yZXR1cm4gY30sYks9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7aD9nPUEuc2V0VGltZW91dChjLGUpOihnPTAsWkooYSxiKSwkSihkKSk7aD0hMX1mdW5jdGlvbiBkKCl7ZiYmYigpO2c/aD0hMDooZz1BLnNldFRpbWVvdXQoYyxlKSxhRygic2RsIiwicGVuZGluZyIsITApKX12YXIgZT0yNTAsZj0hMTtCLnNjcm9sbGluZ0VsZW1lbnQmJkIuZG9jdW1lbnRFbGVtZW50JiYoZT01MCxmPSEwKTt2YXIgZz0KMCxoPSExO3JldHVybiBkfSwkSj1mdW5jdGlvbihhLGIpeyRGKCJzZGwiLCJpbml0IiwhMSkmJiFjSygpJiYoYj9hZChBLCJzY3JvbGxlbmQiLGEpOmFkKEEsInNjcm9sbCIsYSksYWQoQSwicmVzaXplIixhKSxhRygic2RsIiwiaW5pdCIsITEpKX0sWko9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKCksZD1jLmRlcHRoWCxlPWMuZGVwdGhZLGY9ZC9hLnNjcm9sbFdpZHRoKjEwMCxnPWUvYS5zY3JvbGxIZWlnaHQqMTAwO2RLKGQsImhvcml6LnBpeCIsIlBJWEVMUyIsImhvcml6b250YWwiKTtkSyhmLCJob3Jpei5wY3QiLCJQRVJDRU5UIiwiaG9yaXpvbnRhbCIpO2RLKGUsInZlcnQucGl4IiwiUElYRUxTIiwidmVydGljYWwiKTtkSyhnLCJ2ZXJ0LnBjdCIsIlBFUkNFTlQiLCJ2ZXJ0aWNhbCIpO2FHKCJzZGwiLCJwZW5kaW5nIiwhMSl9LGRLPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPVhKKGIpLGY9e30sZztmb3IoZyBpbiBlKWlmKGY9e3FmOmYucWZ9LGYucWY9ZyxlLmhhc093blByb3BlcnR5KGYucWYpKXt2YXIgaD0KTnVtYmVyKGYucWYpO2lmKCEoYTxoKSl7dmFyIGw9e307dUUoKGwuZXZlbnQ9Imd0bS5zY3JvbGxEZXB0aCIsbFsiZ3RtLnNjcm9sbFRocmVzaG9sZCJdPWgsbFsiZ3RtLnNjcm9sbFVuaXRzIl09Yy50b0xvd2VyQ2FzZSgpLGxbImd0bS5zY3JvbGxEaXJlY3Rpb24iXT1kLGxbImd0bS50cmlnZ2VycyJdPWVbZi5xZl0uam9pbigiLCIpLGwpKTtkRygic2RsIixiLGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihwKXtkZWxldGUgcFtuLnFmXTtyZXR1cm4gcH19KGYpLHt9KX19fSxmSz1mdW5jdGlvbigpe3ZhciBhPWRHKCJzZGwiLCJzY3IiLGZ1bmN0aW9uKGMpe2N8fChjPUIuc2Nyb2xsaW5nRWxlbWVudHx8Qi5ib2R5JiZCLmJvZHkucGFyZW50Tm9kZSk7cmV0dXJuIGN9LG51bGwpLGI9ZEcoInNkbCIsImRlcHRoIixmdW5jdGlvbihjKXtjfHwoYz1lSyhhKSk7cmV0dXJuIGN9KTtyZXR1cm57c2Nyb2xsaW5nRWxlbWVudDphLHZyOmJ9fSxlSz1mdW5jdGlvbihhKXt2YXIgYj0wLGM9CjA7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9c0koKSxlPWQuaGVpZ2h0O2I9TWF0aC5tYXgoYS5zY3JvbGxMZWZ0K2Qud2lkdGgsYik7Yz1NYXRoLm1heChhLnNjcm9sbFRvcCtlLGMpO3JldHVybntkZXB0aFg6YixkZXB0aFk6Y319fSxjSz1mdW5jdGlvbigpe3JldHVybiEhKE9iamVjdC5rZXlzKFhKKCJob3Jpei5waXgiKSkubGVuZ3RofHxPYmplY3Qua2V5cyhYSigiaG9yaXoucGN0IikpLmxlbmd0aHx8T2JqZWN0LmtleXMoWEooInZlcnQucGl4IikpLmxlbmd0aHx8T2JqZWN0LmtleXMoWEooInZlcnQucGN0IikpLmxlbmd0aCl9OwpmdW5jdGlvbiBnSyhhLGIpe3ZhciBjPXRoaXM7aWYoIWVoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJPYmplY3QiLCJhbnkiXSxhcmd1bWVudHMpO1RGKFtmdW5jdGlvbigpe0woYywiZGV0ZWN0X3Njcm9sbF9ldmVudHMiKX1dKTt2YXIgZD1mSygpLGU9ZC5zY3JvbGxpbmdFbGVtZW50LGY9ZC52cjtpZighZSlyZXR1cm47dmFyIGc9WkYoYiksaD1UZChhKTtzd2l0Y2goaC5ob3Jpem9udGFsVGhyZXNob2xkVW5pdHMpe2Nhc2UgIlBJWEVMUyI6WUooaC5ob3Jpem9udGFsVGhyZXNob2xkcyxnLCJob3Jpei5waXgiKTticmVhaztjYXNlICJQRVJDRU5UIjpZSihoLmhvcml6b250YWxUaHJlc2hvbGRzLGcsImhvcml6LnBjdCIpfXN3aXRjaChoLnZlcnRpY2FsVGhyZXNob2xkVW5pdHMpe2Nhc2UgIlBJWEVMUyI6WUooaC52ZXJ0aWNhbFRocmVzaG9sZHMsCmcsInZlcnQucGl4Iik7YnJlYWs7Y2FzZSAiUEVSQ0VOVCI6WUooaC52ZXJ0aWNhbFRocmVzaG9sZHMsZywidmVydC5wY3QiKX0kRigic2RsIiwiaW5pdCIsITEpPyRGKCJzZGwiLCJwZW5kaW5nIiwhMSl8fGJkKGZ1bmN0aW9uKCl7WkooZSxmKX0pOihhRygic2RsIiwiaW5pdCIsITApLGFHKCJzZGwiLCJwZW5kaW5nIiwhMCksYmQoZnVuY3Rpb24oKXtaSihlLGYpO2lmKGNLKCkpe3ZhciBsPWJLKGUsZik7Im9uc2Nyb2xsZW5kImluIEE/KGw9YUsoZSxmKSwkYyhBLCJzY3JvbGxlbmQiLGwpKTokYyhBLCJzY3JvbGwiLGwpOyRjKEEsInJlc2l6ZSIsbCl9ZWxzZSBhRygic2RsIiwiaW5pdCIsITEpfSkpO3JldHVybiBnfWdLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uU2Nyb2xsIjtmdW5jdGlvbiBoSyhhKXtyZXR1cm4gZnVuY3Rpb24oKXtpZihhLmxpbWl0JiZhLmdrPj1hLmxpbWl0KWEuYWkmJkEuY2xlYXJJbnRlcnZhbChhLmFpKTtlbHNle2EuZ2srKzt2YXIgYj1OYigpO3VFKHtldmVudDphLmV2ZW50TmFtZSwiZ3RtLnRpbWVySWQiOmEuYWksImd0bS50aW1lckV2ZW50TnVtYmVyIjphLmdrLCJndG0udGltZXJJbnRlcnZhbCI6YS5pbnRlcnZhbCwiZ3RtLnRpbWVyTGltaXQiOmEubGltaXQsImd0bS50aW1lclN0YXJ0VGltZSI6YS5NbywiZ3RtLnRpbWVyQ3VycmVudFRpbWUiOmIsImd0bS50aW1lckVsYXBzZWRUaW1lIjpiLWEuTW8sImd0bS50cmlnZ2VycyI6YS5MdH0pfX19CmZ1bmN0aW9uIGlLKGEsYil7CnJldHVybiBmfWlLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uVGltZXIiOwp2YXIgaks9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoKXt2YXIgZz1hKCk7Zis9ZT8oTmIoKS1lKSpnLnBsYXliYWNrUmF0ZS8xRTM6MDtlPU5iKCl9dmFyIGU9MCxmPTA7cmV0dXJue2NyZWF0ZUV2ZW50OmZ1bmN0aW9uKGcsaCxsKXt2YXIgbj1hKCkscD1uLlduLHE9bD9NYXRoLnJvdW5kKGwpOmg/TWF0aC5yb3VuZChuLlduKmgpOk1hdGgucm91bmQobi5Hcikscj1oIT09dm9pZCAwP01hdGgucm91bmQoaCoxMDApOnA8PTA/MDpNYXRoLnJvdW5kKHEvcCoxMDApLHQ9Qi5oaWRkZW4/ITE6dEkoYyk+PS41O2QoKTt2YXIgdT12b2lkIDA7YiE9PXZvaWQgMCYmKHU9W2JdKTt2YXIgdj1lRyhjLCJndG0udmlkZW8iLHUpO3ZbImd0bS52aWRlb1Byb3ZpZGVyIl09InlvdXR1YmUiO3ZbImd0bS52aWRlb1N0YXR1cyJdPWc7dlsiZ3RtLnZpZGVvVXJsIl09bi51cmw7dlsiZ3RtLnZpZGVvVGl0bGUiXT1uLnRpdGxlO3ZbImd0bS52aWRlb0R1cmF0aW9uIl09TWF0aC5yb3VuZChwKTt2WyJndG0udmlkZW9DdXJyZW50VGltZSJdPQpNYXRoLnJvdW5kKHEpO3ZbImd0bS52aWRlb0VsYXBzZWRUaW1lIl09TWF0aC5yb3VuZChmKTt2WyJndG0udmlkZW9QZXJjZW50Il09cjt2WyJndG0udmlkZW9WaXNpYmxlIl09dDtyZXR1cm4gdn0sbXQ6ZnVuY3Rpb24oKXtlPU5iKCl9LEJqOmZ1bmN0aW9uKCl7ZCgpfX19O3ZhciBBYz1BYShbImRhdGEtZ3RtLXl0LWluc3BlY3RlZC0iXSksa0s9WyJ3d3cueW91dHViZS5jb20iLCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iXSxsSzsKdmFyIG1LPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLm1hcChmdW5jdGlvbihnKXtyZXR1cm57dGU6ZyxKbzpnLHdvOnZvaWQgMH19KTtpZighYi5sZW5ndGgpcmV0dXJuIGQ7dmFyIGU9Yi5tYXAoZnVuY3Rpb24oZyl7cmV0dXJue3RlOmcqYyxKbzp2b2lkIDAsd286Z319KTtpZighZC5sZW5ndGgpcmV0dXJuIGU7dmFyIGY9ZC5jb25jYXQoZSk7Zi5zb3J0KGZ1bmN0aW9uKGcsaCl7cmV0dXJuIGcudGUtaC50ZX0pO3JldHVybiBmfSxuSz1mdW5jdGlvbihhKXthPWE9PT12b2lkIDA/W106YTtmb3IodmFyIGI9W10sYz0wO2M8YS5sZW5ndGg7YysrKWFbY108MHx8Yi5wdXNoKGFbY10pO2Iuc29ydChmdW5jdGlvbihkLGUpe3JldHVybiBkLWV9KTtyZXR1cm4gYn0sb0s9ZnVuY3Rpb24oYSl7YT1hPT09dm9pZCAwP1tdOmE7Zm9yKHZhciBiPVtdLGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdPjEwMHx8YVtjXTwwfHwoYltjXT1hW2NdLzEwMCk7Yi5zb3J0KGZ1bmN0aW9uKGQsZSl7cmV0dXJuIGQtCmV9KTtyZXR1cm4gYn0scEs9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO2Z1bmN0aW9uIGUoKXt0PWpLKGZ1bmN0aW9uKCl7cmV0dXJue3VybDp4LHRpdGxlOnksV246dixHcjphLmdldEN1cnJlbnRUaW1lKCkscGxheWJhY2tSYXRlOnp9fSxiLnJmLGEuZ2V0SWZyYW1lKCkpO3Y9MDt5PXg9IiI7ej0xO3JldHVybiBmfWZ1bmN0aW9uIGYoRyl7c3dpdGNoKEcpe2Nhc2UgMTp2PU1hdGgucm91bmQoYS5nZXREdXJhdGlvbigpKTt4PWEuZ2V0VmlkZW9VcmwoKTtpZihhLmdldFZpZGVvRGF0YSl7dmFyIE49YS5nZXRWaWRlb0RhdGEoKTt5PU4/Ti50aXRsZToiIn16PWEuZ2V0UGxheWJhY2tSYXRlKCk7Yi55cj91RSh0LmNyZWF0ZUV2ZW50KCJzdGFydCIpKTp0LkJqKCk7dT1tSyhiLmV0LGIuY3QsYS5nZXREdXJhdGlvbigpKTtyZXR1cm4gZyhHKTtkZWZhdWx0OnJldHVybiBmfX1mdW5jdGlvbiBnKCl7Qz1hLmdldEN1cnJlbnRUaW1lKCk7RD1NYigpLmdldFRpbWUoKTt0Lm10KCk7cigpO3JldHVybiBofQpmdW5jdGlvbiBoKEcpe3ZhciBOO3N3aXRjaChHKXtjYXNlIDA6cmV0dXJuIG4oRyk7Y2FzZSAyOk49InBhdXNlIjtjYXNlIDM6dmFyIFM9YS5nZXRDdXJyZW50VGltZSgpLUM7Tj1NYXRoLmFicygoTWIoKS5nZXRUaW1lKCktRCkvMUUzKnotUyk+MT8ic2VlayI6Tnx8ImJ1ZmZlcmluZyI7YS5nZXRDdXJyZW50VGltZSgpJiYoYi54cj91RSh0LmNyZWF0ZUV2ZW50KE4pKTp0LkJqKCkpO3EoKTtyZXR1cm4gbDtjYXNlIC0xOnJldHVybiBlKEcpO2RlZmF1bHQ6cmV0dXJuIGh9fWZ1bmN0aW9uIGwoRyl7c3dpdGNoKEcpe2Nhc2UgMDpyZXR1cm4gbihHKTtjYXNlIDE6cmV0dXJuIGcoRyk7Y2FzZSAtMTpyZXR1cm4gZShHKTtkZWZhdWx0OnJldHVybiBsfX1mdW5jdGlvbiBuKCl7Zm9yKDtkOyl7dmFyIEc9YztBLmNsZWFyVGltZW91dChkKTtHKCl9Yi53ciYmdUUodC5jcmVhdGVFdmVudCgiY29tcGxldGUiLDEpKTtyZXR1cm4gZSgtMSl9ZnVuY3Rpb24gcCgpe31mdW5jdGlvbiBxKCl7ZCYmCihBLmNsZWFyVGltZW91dChkKSxkPTAsYz1wKX1mdW5jdGlvbiByKCl7aWYodS5sZW5ndGgmJnohPT0wKXt2YXIgRz0tMSxOO2Rve049dVswXTtpZihOLnRlPmEuZ2V0RHVyYXRpb24oKSlyZXR1cm47Rz0oTi50ZS1hLmdldEN1cnJlbnRUaW1lKCkpL3o7aWYoRzwwJiYodS5zaGlmdCgpLHUubGVuZ3RoPT09MCkpcmV0dXJufXdoaWxlKEc8MCk7Yz1mdW5jdGlvbigpe2Q9MDtjPXA7dS5sZW5ndGg+MCYmdVswXS50ZT09PU4udGUmJih1LnNoaWZ0KCksdUUodC5jcmVhdGVFdmVudCgicHJvZ3Jlc3MiLE4ud28sTi5KbykpKTtyKCl9O2Q9QS5zZXRUaW1lb3V0KGMsRyoxRTMpfX12YXIgdCx1PVtdLHYseCx5LHosQyxELEk9ZSgtMSk7ZD0wO2M9cDtyZXR1cm57b25TdGF0ZUNoYW5nZTpmdW5jdGlvbihHKXtJPUkoRyl9LG9uUGxheWJhY2tSYXRlQ2hhbmdlOmZ1bmN0aW9uKEcpe0M9YS5nZXRDdXJyZW50VGltZSgpO0Q9TWIoKS5nZXRUaW1lKCk7dC5CaigpO3o9RztxKCk7cigpfX19LHJLPQpmdW5jdGlvbihhKXtiZChmdW5jdGlvbigpe2Z1bmN0aW9uIGIoKXtmb3IodmFyIGQ9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIiksZT1kLmxlbmd0aCxmPTA7ZjxlO2YrKylxSyhkW2ZdLGEpfXZhciBjPUI7YigpO29KLksoYil9KX0scUs9ZnVuY3Rpb24oYSxiKXtpZighYS5nZXRBdHRyaWJ1dGUoImRhdGEtZ3RtLXl0LWluc3BlY3RlZC0iK2IucmYpJiYoQ2MoYSwiZGF0YS1ndG0teXQtaW5zcGVjdGVkLSIrYi5yZiksc0soYSxiLmNvKSkpe2EuaWR8fChhLmlkPXRLKCkpO3ZhciBjPUEuWVQsZD1jLmdldChhLmlkKTtkfHwoZD1uZXcgYy5QbGF5ZXIoYS5pZCkpO3ZhciBlPXBLKGQsYiksZj17fSxnO2ZvcihnIGluIGUpZj17TWc6Zi5NZ30sZi5NZz1nLGUuaGFzT3duUHJvcGVydHkoZi5NZykmJmQuYWRkRXZlbnRMaXN0ZW5lcihmLk1nLGZ1bmN0aW9uKGgpe3JldHVybiBmdW5jdGlvbihsKXtyZXR1cm4gZVtoLk1nXShsLmRhdGEpfX0oZikpfX0sc0s9ZnVuY3Rpb24oYSwKYil7dmFyIGM9YS5nZXRBdHRyaWJ1dGUoInNyYyIpO2lmKHVLKGMsImVtYmVkLyIpKXtpZihjLmluZGV4T2YoImVuYWJsZWpzYXBpPTEiKT4wKXJldHVybiEwO2lmKGIpe3ZhciBkO3ZhciBlPWMuaW5kZXhPZigiPyIpIT09LTE/IiYiOiI/IjtjLmluZGV4T2YoIm9yaWdpbj0iKT4tMT9kPWMrZSsiZW5hYmxlanNhcGk9MSI6KGxLfHwobEs9Qi5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK0IubG9jYXRpb24uaG9zdG5hbWUsQi5sb2NhdGlvbi5wb3J0JiYobEsrPSI6IitCLmxvY2F0aW9uLnBvcnQpKSxkPWMrZSsiZW5hYmxlanNhcGk9MSZvcmlnaW49IitlbmNvZGVVUklDb21wb25lbnQobEspKTt2YXIgZjtmPWpjKGQpO2Euc3JjPWtjKGYpLnRvU3RyaW5nKCk7cmV0dXJuITB9fXJldHVybiExfSx1Sz1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO2Zvcih2YXIgYz0wO2M8a0subGVuZ3RoO2MrKylpZihhLmluZGV4T2YoIi8vIitrS1tjXSsiLyIrYik+PTApcmV0dXJuITA7cmV0dXJuITF9LAp0Sz1mdW5jdGlvbigpe3ZhciBhPSIiK01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTkpO3JldHVybiBCLmdldEVsZW1lbnRCeUlkKGEpP3RLKCk6YX07CmZ1bmN0aW9uIHZLKGEsYil7dmFyIGM9dGhpczt2YXIgZD1mdW5jdGlvbigpe3JLKHEpfTtpZighZWgoYSkpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbIk9iamVjdCIsImFueSJdLGFyZ3VtZW50cyk7VEYoW2Z1bmN0aW9uKCl7TChjLCJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiLHtmaXhNaXNzaW5nQXBpOiEhYS5nZXQoImZpeE1pc3NpbmdBcGkiKX0pfV0pO3ZhciBlPVpGKGIpLGY9ISFhLmdldCgiY2FwdHVyZVN0YXJ0IiksZz0hIWEuZ2V0KCJjYXB0dXJlQ29tcGxldGUiKSxoPSEhYS5nZXQoImNhcHR1cmVQYXVzZSIpLGw9b0soVGQoYS5nZXQoInByb2dyZXNzVGhyZXNob2xkc1BlcmNlbnQiKSkpLG49bksoVGQoYS5nZXQoInByb2dyZXNzVGhyZXNob2xkc1RpbWVJblNlY29uZHMiKSkpLHA9ISFhLmdldCgiZml4TWlzc2luZ0FwaSIpOwppZighKGZ8fGd8fGh8fGwubGVuZ3RofHxuLmxlbmd0aCkpcmV0dXJuO3ZhciBxPXt5cjpmLHdyOmcseHI6aCxjdDpsLGV0Om4sY286cCxyZjplfSxyPUEuWVQ7aWYocilyZXR1cm4gci5yZWFkeSYmci5yZWFkeShkKSxlO3ZhciB0PUEsdT10Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5O3Qub25Zb3VUdWJlSWZyYW1lQVBJUmVhZHk9ZnVuY3Rpb24oKXt1JiZ1KCk7ZCgpfTtiZChmdW5jdGlvbigpe2Zvcih2YXIgdj1CLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKSx4PXYubGVuZ3RoLHk9MDt5PHg7eSsrKXt2YXIgej12W3ldLmdldEF0dHJpYnV0ZSgic3JjIik7aWYodUsoeiwiaWZyYW1lX2FwaSIpfHx1Syh6LCJwbGF5ZXJfYXBpIikpcmV0dXJuIGV9Zm9yKHZhciBDPUIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpLEQ9Qy5sZW5ndGgsST1hbCg1LGZ1bmN0aW9uKCl7cmV0dXJuITF9KSxHPTA7RzxEO0crKylpZighSSYmc0soQ1tHXSxxLmNvKSlyZXR1cm4gVWMoImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGkiKSwKWmsoNSwhMCksZX0pO3JldHVybiBlfXZLLlA9ImludGVybmFsLmVuYWJsZUF1dG9FdmVudE9uWW91VHViZUFjdGl2aXR5IjtmdW5jdGlvbiB3SyhhLGIpe2lmKCFsaChhKXx8IWZoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJPYmplY3R8dW5kZWZpbmVkIl0sYXJndW1lbnRzKTt2YXIgYz1iP1RkKGIpOnt9O2MucmVnZXhDYWNoZT1hbCgzLGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBNYXB9KTtyZXR1cm4gR2goYSxjKX13Sy5QPSJpbnRlcm5hbC5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIjtmdW5jdGlvbiB4SyhhKXt2YXIgYj0hMTtyZXR1cm4gYn14Sy5QPSJpbnRlcm5hbC5ldmFsdWF0ZU1hdGNoaW5nUnVsZXMiO3ZhciB5Sz1uZXcgTWFwKFtbImF3Iiw0XV0pO2Z1bmN0aW9uIHpLKGEpe3ZhciBiPXZyW2FdLGM9eUsuZ2V0KGEpO3JldHVybiBjPyh3cShiLGMpfHxbXSkuc29tZShmdW5jdGlvbihkKXtyZXR1cm4gZC5tPT09IjAifHxkLm09PT12b2lkIDB9KTohMX0KZnVuY3Rpb24gQUsoYSxiKXtpZihNKDQ5NSkpe2Zvcih2YXIgYz1uZXcgTWFwLGQ9bSh5SyksZT1kLm5leHQoKTshZS5kb25lO2U9ZC5uZXh0KCkpe3ZhciBmPW0oZS52YWx1ZSksZz1mLm5leHQoKS52YWx1ZSxoPWYubmV4dCgpLnZhbHVlLGw9ZyxuPWFbbF0scD1BcnJheS5pc0FycmF5KG4pP25bMF06bjtpZihwIT09dm9pZCAwKXt2YXIgcT17fSxyPShxLms9cCxxLmk9U3RyaW5nKE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpKSxxLmI9W10scS5tPSIxIixxKSx0PWFxKHIsaCk7dCYmKHpLKGwpfHxjLnNldChsLHQpKX19aWYoYy5zaXplKXt2YXIgdSx2PVtdLHg9Yi5wYXRofHwiLyI7di5wdXNoKGVuY29kZVVSSUNvbXBvbmVudCgicCIpKyI9IitlbmNvZGVVUklDb21wb25lbnQoeCkpO2IuQXImJnYucHVzaChlbmNvZGVVUklDb21wb25lbnQoImNlIikrIj0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYi5BcikpKTt2YXIgeT1iLmRvbWFpbiYmYi5kb21haW4hPT0iYXV0byI/CmIuZG9tYWluOiJhdXRvOiIrQS5sb2NhdGlvbi5ob3N0bmFtZTt2LnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KCJkIikrIj0iK2VuY29kZVVSSUNvbXBvbmVudCh5KSk7Zm9yKHZhciB6PW0oYyksQz16Lm5leHQoKTshQy5kb25lO0M9ei5uZXh0KCkpe3ZhciBEPW0oQy52YWx1ZSksST1ELm5leHQoKS52YWx1ZSxHPUQubmV4dCgpLnZhbHVlO3YucHVzaChlbmNvZGVVUklDb21wb25lbnQoSSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChHKSl9dT0iXy9zZXRfY29va2llPyIrdi5qb2luKCImIik7dmFyIE4sUz1FKDU4KTtOPUVmKHUsUyk7dmFyIFc9WGooKSsiLyIrTjttZChXKX19fTtmdW5jdGlvbiBCSyhhKXtyZXR1cm4iQ1dWV2ViVmlld01lc3NhZ2UiaW4gYX1mdW5jdGlvbiBDSyhhKXt2YXIgYj1BLGM9Yi53ZWJraXQ7ZGVsZXRlIGIud2Via2l0O2EoYi53ZWJraXQpO2Iud2Via2l0PWN9ZnVuY3Rpb24gREsoYSxiKXt2YXIgYz17YWN0aW9uOiJnY2xfc2V0dXAifTtpZihCSyhhLm1lc3NhZ2VIYW5kbGVycykpcmV0dXJuIGEubWVzc2FnZUhhbmRsZXJzLkNXVldlYlZpZXdNZXNzYWdlLnBvc3RNZXNzYWdlKHtjb21tYW5kOmIscGF5bG9hZDpjfSksITA7dmFyIGQ9YS5tZXNzYWdlSGFuZGxlcnNbYl07cmV0dXJuIGQ/KGQucG9zdE1lc3NhZ2UoYyksITApOiExfTt2YXIgRUs9e30sRks9KEVLLmF3Yj17bm90Rm91bmQ6MTc4fSxFSy55dGI9e25vdEZvdW5kOjE5NH0sRUspO2Z1bmN0aW9uIEdLKGEpe3ZhciBiLGM9KGI9RktbYV0pPT1udWxsP3ZvaWQgMDpiLm5vdEZvdW5kO2MmJlAoYyl9CmZ1bmN0aW9uIEhLKGEpe2lmKCFubShqbS5iYS5qbikmJiJ3ZWJraXQiaW4gQSYmQS53ZWJraXQubWVzc2FnZUhhbmRsZXJzKXt2YXIgYj1mdW5jdGlvbigpe3RyeXtDSyhmdW5jdGlvbihjKXtpZihjKXt2YXIgZDtkPUJLKGMubWVzc2FnZUhhbmRsZXJzKXx8ImF3YiJpbiBjLm1lc3NhZ2VIYW5kbGVycz97Y29tbWFuZDoiYXdiIixzb3VyY2U6NX06KEJLKGMubWVzc2FnZUhhbmRsZXJzKXx8Inl0YiJpbiBjLm1lc3NhZ2VIYW5kbGVycykmJk0oNDk5KT97Y29tbWFuZDoieXRiIixzb3VyY2U6OH06dm9pZCAwO2QmJihtbShqbS5iYS5qbixmdW5jdGlvbihlKXt2YXIgZj1kLnNvdXJjZTtlLmdjbGlkJiZscygiZ2NsX2F3IixlLmdjbGlkLGYsYSk7ZS53YnJhaWQmJmxzKCJnY2xfZ2IiLGUud2JyYWlkLGYsYSl9KSxESyhjLGQuY29tbWFuZCl8fEdLKGQuY29tbWFuZCkpfX0pfWNhdGNoKGMpe1AoMTkzKX19O0hsKGZ1bmN0aW9uKCl7QnIoZnApP2IoKTpJbChiLGZwKX0sZnApfX07dmFyIElLPVsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbSIsImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tIiwiaHR0cHM6Ly9tLnlvdXR1YmUuY29tIl07ZnVuY3Rpb24gSksoYSl7cmV0dXJuIGEuZGF0YS5hY3Rpb24hPT0iZ2NsX3RyYW5zZmVyIj8oUCgxNzMpLCEwKTphLmRhdGEuZ2FkU291cmNlP2EuZGF0YS5nY2xpZD8hMTooUCgxODEpLCEwKTooUCgxODApLCEwKX0KZnVuY3Rpb24gS0soYSxiKXtpZighYXx8TShhKSl7aWYobm0oam0uYmEuVmUpKXJldHVybiBQKDE3Niksam0uYmEuVmU7aWYobm0oam0uYmEubW4pKXJldHVybiBQKDE3MCksam0uYmEuVmU7dmFyIGM9RnAoKTtpZighYylQKDE3MSk7ZWxzZSBpZihjLm9wZW5lcil7dmFyIGQ9ZnVuY3Rpb24oZyl7aWYoIUlLLmluY2x1ZGVzKGcub3JpZ2luKSlQKDE3Mik7ZWxzZSBpZighSksoZykpe3ZhciBoPXtnYWRTb3VyY2U6Zy5kYXRhLmdhZFNvdXJjZX07aC5nY2xpZD1nLmRhdGEuZ2NsaWQ7bW0oam0uYmEuVmUsaCk7YiYmZy5kYXRhLmdjbGlkJiZscygiZ2NsX2F3IixTdHJpbmcoZy5kYXRhLmdjbGlkKSw2LGIpO3ZhciBsOyhsPWcuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKT09bnVsbHx8bC5jYWxsKGcpO250KGMsIm1lc3NhZ2UiLGQpfX07aWYobXQoYywibWVzc2FnZSIsZCkpe21tKGptLmJhLm1uLCEwKTtmb3IodmFyIGU9bShJSyksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpYy5vcGVuZXIucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiZ2NsX3NldHVwIn0sCmYudmFsdWUpO1AoMTc0KTtyZXR1cm4gam0uYmEuVmV9UCgxNzUpfX19Owp2YXIgTEs9ZnVuY3Rpb24oYSl7dmFyIGI9e3ByZWZpeDpPKGEuTSxGLkQuRmQpfHxPKGEuTSxGLkQubmIpLGRvbWFpbjpPKGEuTSxGLkQuTGIpLHBkOk8oYS5NLEYuRC5DYiksZmxhZ3M6TyhhLk0sRi5ELlRiKX07YS5NLmlzR3RtRXZlbnQmJihiLnBhdGg9TyhhLk0sRi5ELnZjKSk7cmV0dXJuIGJ9LE1LPWZ1bmN0aW9uKGEsYil7aWYoIVEoYSxILkouV2UpKXt2YXIgYz1LSygxMTkpO2lmKGMpe3ZhciBkPW5tKGMpLGU9ZnVuY3Rpb24oZyl7VihhLEguSi5XZSwhMCk7dmFyIGg9UihhLEYuRC56ZiksbD1SKGEsRi5ELkFmKTtVKGEsRi5ELnpmLFN0cmluZyhnLmdhZFNvdXJjZSkpO1UoYSxGLkQuQWYsNik7VihhLEguSi5zYSk7VihhLEguSi51Zyk7VShhLEYuRC5zYSk7YigpO1UoYSxGLkQuemYsaCk7VShhLEYuRC5BZixsKTtWKGEsSC5KLldlLCExKX07aWYoZCllKGQpO2Vsc2V7dmFyIGY9dm9pZCAwO2Y9cG0oYyxmdW5jdGlvbihnLGgpe2UoaCk7cW0oYyxmKX0pfX19fSxQSz1mdW5jdGlvbihhKXt2YXIgYiwKYyxkLGU7Yj1hLlRuO2M9YS5tbztkPWEuUW87ZT1hLlVuO2lmKGIpe2lmKGRyKGNbRi5ELlhmXSwhIWNbRi5ELkFhXSkpe2lmKFdqKCkmJkJyKEFyKCkpKXtmb3IodmFyIGY9VXEoITApLGc9e30saD1tKE9iamVjdC5rZXlzKHZyKSksbD1oLm5leHQoKTshbC5kb25lO2w9aC5uZXh0KCkpe3ZhciBuPWwudmFsdWUscD12cltuXSxxPWZbcF07aWYocSl7dmFyIHI9JHAocSw0KTtyJiYob3MoTWF0aC5taW4oTnIociksTmIoKSl8fE5iKCkscCw0KXx8KGdbbl09cSkpfX1mb3IodmFyIHQ9e30sdT1tKE9iamVjdC5rZXlzKGcpKSx2PXUubmV4dCgpOyF2LmRvbmU7dj11Lm5leHQoKSl7dmFyIHg9di52YWx1ZSx5PWdbeF07aWYoeSE9PXZvaWQgMCl7dmFyIHo9JHAoeSw0KTt6JiZ6Lm09PT0iMSImJih0W3hdPXouayl9fUFLKHQsZSl9cHMoZSk7dHMoZSk7UXYoZSl9aWYoT3AoKSE9PTIpe2dzKGUpO2lzKGUpO2lmKFlmKDE1KSl7dmFyIEM9ZSxEPWRzKEEubG9jYXRpb24uaHJlZiwhMCwhMSk7CkQubGVuZ3RofHwoRD1kcyhBLmRvY3VtZW50LnJlZmVycmVyLCExLCEwKSk7aWYoRC5sZW5ndGgpe0M9Q3x8e307dmFyIEk9RFswXTtJLnZhbHVlJiZtcygiZ2NsX2RjIixbe3ZlcnNpb246IiIsZ2NsaWQ6SS52YWx1ZSx0aW1lc3RhbXA6TmIoKSxxYTpJLnFhfV0sQyl9fUhLKGUpO0tLKHZvaWQgMCxlKX1lbHNlIGdzKGUpO2lmKFdqKCkmJkJyKEFyKCkpKXt2YXIgRz1mcygpO0FLKEcsZSl9eHMocXMsZSk7eXMoZSl9Y1tGLkQuQWFdJiYodnMoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSksdXMoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSxlLnByZWZpeCksd3MoY1tGLkQuQWFdLGNbRi5ELmFkXSwhIWNbRi5ELndjXSxlLnByZWZpeCksUnYoR3YoZS5wcmVmaXgpLGNbRi5ELkFhXSxjW0YuRC5hZF0sISFjW0YuRC53Y10sZSksUnYoIkZQQVUiLGNbRi5ELkFhXSxjW0YuRC5hZF0sISFjW0YuRC53Y10sZSkpO2QmJkFzKE5LKTtDcyhPSyl9LHFzPVsiYXciLCJkYyIsCiJnYiJdLE9LPVsiYXciLCJkYyIsImdiIiwiYWciXSxOSz1bImF3IiwiZGMiLCJnYiIsImFnIiwiZ2FkX3NvdXJjZSJdO2Z1bmN0aW9uIFZLKCl7cmV0dXJuIE10KDcpJiZNdCg5KSYmTXQoMTApfTt2YXIgV0s9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXt9O2EubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5vaiwoZFtiXT1jLGQpKX0sWEs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1kSShhLEYuRC5GaSxhLk0uaWJbRi5ELkZpXSk7aWYoYyYmY1tifHxhLmV2ZW50TmFtZV0hPT12b2lkIDApcmV0dXJuIGNbYnx8YS5ldmVudE5hbWVdfSxZSz1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLllhKTtpZihDZChiKSlyZXR1cm4gYn0sWks9ZnVuY3Rpb24oYSl7aWYoUShhLEguSi5iZSl8fCFlayhhLk0pKXJldHVybiAxO2lmKCFPKGEuTSxGLkQuZGQpKXt2YXIgYj1PKGEuTSxGLkQuUWYpO2lmKGIhPT0hMCYmYiE9PSJ0cnVlIilyZXR1cm4gMX12YXIgYz1PKGEuTSxGLkQuT2kpO3JldHVybiBjPT09ITF8fGM9PT0iZmFsc2UiPzM6Mn07CnZhciBhTD1mdW5jdGlvbihhLGIpe2EmJigkSygic2lkIixhLnRhcmdldElkLGIpLCRLKCJjYyIsYS5jbGllbnRDb3VudCxiKSwkSygidGwiLGEudG90YWxMaWZlTXMsYiksJEsoImhjIixhLmhlYXJ0YmVhdENvdW50LGIpLCRLKCJjbCIsYS5jbGllbnRMaWZlTXMsYikpfSwkSz1mdW5jdGlvbihhLGIsYyl7YiE9bnVsbCYmYy5wdXNoKGErIj0iK2IpfSxiTD1mdW5jdGlvbigpe3ZhciBhPUIucmVmZXJyZXI7aWYoYSl7dmFyIGI7cmV0dXJuIExqKFJqKGEpLCJob3N0Iik9PT0oKGI9QS5sb2NhdGlvbik9PW51bGw/dm9pZCAwOmIuaG9zdCk/MToyfXJldHVybiAwfSxkTD1mdW5jdGlvbigpe3RoaXMuamE9Y0w7dGhpcy5OPTA7dGhpcy55YT1OZig1Nyw1KTt0aGlzLlI9TmYoNTgsNTApO3RoaXMuZmE9RGIoKTt0aGlzLkxhPSJodHRwczovLyIrRSgyMSkrIi9hPyJ9O2RMLnByb3RvdHlwZS5LPWZ1bmN0aW9uKGEsYixjLGQpewp2YXIgZT1iTCgpLGYsZz1bXTtmPUE9PT1BLnRvcCYmZSE9PTAmJmI/KGI9PW51bGw/dm9pZCAwOmIuY2xpZW50Q291bnQpPjE/ZT09PTI/MToyOmU9PT0yPzA6Mzo0O2EmJiRLKCJzaSIsYS5KZyxnKTskSygibSIsMCxnKTskSygiaXNzIixmLGcpOyRLKCJpZiIsYyxnKTthTChiLGcpO2QmJiRLKCJmbSIsZW5jb2RlVVJJQ29tcG9uZW50KGQuc3Vic3RyaW5nKDAsdGhpcy5SKSksZyk7dGhpcy5aKGcpO307ZEwucHJvdG90eXBlLkg9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1bXTskSygibSIsMSxmKTskSygicyIsYSxmKTskSygicG8iLGJMKCksZik7YiYmKCRLKCJzdCIsYi5zdGF0ZSxmKSwkSygic2kiLGIuSmcsZiksJEsoInNtIixiLlVnLGYpKTthTChjLGYpOyRLKCJjIixkLGYpO2UmJiRLKCJmbSIsZW5jb2RlVVJJQ29tcG9uZW50KGUuc3Vic3RyaW5nKDAsCnRoaXMuUikpLGYpO3RoaXMuWihmKTt9O2RMLnByb3RvdHlwZS5aPWZ1bmN0aW9uKGEpe2E9YT09PXZvaWQgMD9bXTphOyFmbi5OfHx0aGlzLk4+PXRoaXMueWF8fCgkSygicGlkIix0aGlzLmZhLGEpLCRLKCJiYyIsKyt0aGlzLk4sYSksYS51bnNoaWZ0KCJjdGlkPSIrRSg1KSsiJnQ9cyIpLHRoaXMuamEoIiIrdGhpcy5MYSthLmpvaW4oIiYiKSkpfTtmdW5jdGlvbiBlTChhKXtyZXR1cm4gYS5wZXJmb3JtYW5jZSYmYS5wZXJmb3JtYW5jZS5ub3coKXx8RGF0ZS5ub3coKX0KdmFyIGZMPWZ1bmN0aW9uKGEsYil7dmFyIGM9QSxkPU5mKDUzLDUwMCksZT1OZig1NCw1RTMpLGY9TmYoOCwyMCksZz1OZig1NSw1RTMpLGg7dmFyIGw9ZnVuY3Rpb24obixwLHEpe3E9cT09PXZvaWQgMD97cW86ZnVuY3Rpb24oKXt9LHNvOmZ1bmN0aW9uKCl7fSxwbzpmdW5jdGlvbigpe30sb25GYWlsdXJlOmZ1bmN0aW9uKCl7fX06cTt0aGlzLklqPW47dGhpcy5IPXA7dGhpcy5OPXE7dGhpcy5mYT10aGlzLmphPXRoaXMuaGVhcnRiZWF0Q291bnQ9dGhpcy5Eaj0wO3RoaXMuZmU9ITE7dGhpcy5LPXt9O3RoaXMuaWQ9U3RyaW5nKE1hdGguZmxvb3IoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIqTWF0aC5yYW5kb20oKSkpO3RoaXMuc3RhdGU9MDt0aGlzLkpnPWVMKHRoaXMuSCk7dGhpcy5VZz1lTCh0aGlzLkgpO3RoaXMuWj0xMH07bC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3RoaXMuUigxKTsKdGhpcy5MYSgpfTtsLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybntzdGF0ZTp0aGlzLnN0YXRlLEpnOk1hdGgucm91bmQoZUwodGhpcy5IKS10aGlzLkpnKSxVZzpNYXRoLnJvdW5kKGVMKHRoaXMuSCktdGhpcy5VZyl9fTtsLnByb3RvdHlwZS5SPWZ1bmN0aW9uKG4pe3RoaXMuc3RhdGUhPT1uJiYodGhpcy5zdGF0ZT1uLHRoaXMuVWc9ZUwodGhpcy5IKSl9O2wucHJvdG90eXBlLnZnPWZ1bmN0aW9uKCl7cmV0dXJuIFN0cmluZyh0aGlzLkRqKyspfTtsLnByb3RvdHlwZS5MYT1mdW5jdGlvbigpe3ZhciBuPXRoaXM7dGhpcy5oZWFydGJlYXRDb3VudCsrO3RoaXMueWEoe3R5cGU6MCxjbGllbnRJZDp0aGlzLmlkLHJlcXVlc3RJZDp0aGlzLnZnKCksbWF4RGVsYXk6dGhpcy5oZSgpfSxmdW5jdGlvbihwKXtpZihwLnR5cGU9PT0wKXt2YXIgcTtpZigoKHE9cC5mYWlsdXJlKT09bnVsbD92b2lkIDA6cS5mYWlsdXJlVHlwZSkhPW51bGwpaWYocC5zdGF0cyYmKG4uc3RhdHM9CnAuc3RhdHMpLG4uZmErKyxwLmlzRGVhZHx8bi5mYT5mKXt2YXIgcj1wLmlzRGVhZCYmcC5mYWlsdXJlLmZhaWx1cmVUeXBlO24uWj1yfHwxMDtuLlIoNCk7bi5BaigpO3ZhciB0LHU7KHU9KHQ9bi5OKS5wbyk9PW51bGx8fHUuY2FsbCh0LHtmYWlsdXJlVHlwZTpyfHwxMCxkYXRhOnAuZmFpbHVyZS5kYXRhfSl9ZWxzZSBuLlIoMyksbi5QaCgpO2Vsc2V7aWYobi5oZWFydGJlYXRDb3VudD5wLnN0YXRzLmhlYXJ0YmVhdENvdW50K2Ype24uaGVhcnRiZWF0Q291bnQ9cC5zdGF0cy5oZWFydGJlYXRDb3VudDt2YXIgdix4Oyh4PSh2PW4uTikub25GYWlsdXJlKT09bnVsbHx8eC5jYWxsKHYse2ZhaWx1cmVUeXBlOjEzfSl9bi5zdGF0cz1wLnN0YXRzO3ZhciB5PW4uc3RhdGU7bi5SKDIpO2lmKHkhPT0yKWlmKG4uZmUpe3ZhciB6LEM7KEM9KHo9bi5OKS5zbyk9PW51bGx8fEMuY2FsbCh6KX1lbHNle24uZmU9ITA7dmFyIEQsSTsoST0oRD1uLk4pLnFvKT09bnVsbHx8SS5jYWxsKEQpfW4uZmE9CjA7bi5OaigpO24uUGgoKX19fSl9O2wucHJvdG90eXBlLmhlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0yP2U6ZH07bC5wcm90b3R5cGUuUGg9ZnVuY3Rpb24oKXt2YXIgbj10aGlzO3RoaXMuSC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5MYSgpfSxNYXRoLm1heCgwLHRoaXMuaGUoKS0oZUwodGhpcy5IKS10aGlzLmphKSkpfTtsLnByb3RvdHlwZS5rcj1mdW5jdGlvbihuLHAscSl7dmFyIHI9dGhpczt0aGlzLnlhKHt0eXBlOjEsY2xpZW50SWQ6dGhpcy5pZCxyZXF1ZXN0SWQ6dGhpcy52ZygpLGNvbW1hbmQ6bn0sZnVuY3Rpb24odCl7aWYodC50eXBlPT09MSlpZih0LnJlc3VsdClwKHQucmVzdWx0KTtlbHNle3ZhciB1LHYseCx5PXtmYWlsdXJlVHlwZTooeD0odT10LmZhaWx1cmUpPT1udWxsP3ZvaWQgMDp1LmZhaWx1cmVUeXBlKSE9bnVsbD94OjEyLGRhdGE6KHY9dC5mYWlsdXJlKT09bnVsbD92b2lkIDA6di5kYXRhfSx6LEM7KEM9KHo9ci5OKS5vbkZhaWx1cmUpPT0KbnVsbHx8Qy5jYWxsKHoseSk7cSh5KX19KX07bC5wcm90b3R5cGUueWE9ZnVuY3Rpb24obixwKXt2YXIgcT10aGlzO2lmKHRoaXMuc3RhdGU9PT00KW4uZmFpbHVyZT17ZmFpbHVyZVR5cGU6dGhpcy5afSxwKG4pO2Vsc2V7dmFyIHI9dGhpcy5zdGF0ZSE9PTImJm4udHlwZSE9PTAsdD1uLnJlcXVlc3RJZCx1LHY9dGhpcy5ILnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgeT1xLktbdF07eSYmKGltKDYpLHEua2QoeSw3KSl9LCh1PW4ubWF4RGVsYXkpIT1udWxsP3U6ZykseD17cmVxdWVzdDpuLEhvOnAsem86cixOczp2fTt0aGlzLktbdF09eDtyfHx0aGlzLnNlbmRSZXF1ZXN0KHgpfX07bC5wcm90b3R5cGUuc2VuZFJlcXVlc3Q9ZnVuY3Rpb24obil7dGhpcy5qYT1lTCh0aGlzLkgpO24uem89ITE7dGhpcy5JaihuLnJlcXVlc3QpfTtsLnByb3RvdHlwZS5Oaj1mdW5jdGlvbigpe2Zvcih2YXIgbj1tKE9iamVjdC5rZXlzKHRoaXMuSykpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXt2YXIgcT0KdGhpcy5LW3AudmFsdWVdO3Euem8mJnRoaXMuc2VuZFJlcXVlc3QocSl9fTtsLnByb3RvdHlwZS5Baj1mdW5jdGlvbigpe2Zvcih2YXIgbj1tKE9iamVjdC5rZXlzKHRoaXMuSykpLHA9bi5uZXh0KCk7IXAuZG9uZTtwPW4ubmV4dCgpKXRoaXMua2QodGhpcy5LW3AudmFsdWVdLHRoaXMuWil9O2wucHJvdG90eXBlLmtkPWZ1bmN0aW9uKG4scCl7dGhpcy5hYyhuKTt2YXIgcT1uLnJlcXVlc3Q7cS5mYWlsdXJlPXtmYWlsdXJlVHlwZTpwfTtuLkhvKHEpfTtsLnByb3RvdHlwZS5hYz1mdW5jdGlvbihuKXtkZWxldGUgdGhpcy5LW24ucmVxdWVzdC5yZXF1ZXN0SWRdO3RoaXMuSC5jbGVhclRpbWVvdXQobi5Ocyl9O2wucHJvdG90eXBlLmtzPWZ1bmN0aW9uKG4pe3RoaXMuamE9ZUwodGhpcy5IKTt2YXIgcD10aGlzLktbbi5yZXF1ZXN0SWRdO2lmKHApdGhpcy5hYyhwKSxwLkhvKG4pO2Vsc2V7dmFyIHEscjsocj0ocT10aGlzLk4pLm9uRmFpbHVyZSk9PW51bGx8fHIuY2FsbChxLHtmYWlsdXJlVHlwZToxNH0pfX07Cmg9bmV3IGwoYSxjLGIpO3JldHVybiBofTsKdmFyIGdMPWZ1bmN0aW9uKCl7cmV0dXJuIGFsKDE4LGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBkTH0pfSxjTD1mdW5jdGlvbihhKXtpbyhsbyhjby5pYS5aYiksZnVuY3Rpb24oKXtaYyhhKX0pfSxoTD1mdW5jdGlvbihhKXt2YXIgYj1hLnN1YnN0cmluZygwLGEuaW5kZXhPZigiL18vc2VydmljZV93b3JrZXIiKSk7cmV0dXJuIiYxcD0xIisoYj8iJnBhdGg9IitlbmNvZGVVUklDb21wb25lbnQoYik6IiIpfSxpTD1mdW5jdGlvbihhKXt2YXIgYj1BLmxvY2F0aW9uLm9yaWdpbjtpZighYilyZXR1cm4gbnVsbDsoTSg0MzIpP1dqKCk6V2ooKSYmIWEpJiYoYT0iIitiK1hqKCkrIi9fL3NlcnZpY2Vfd29ya2VyIik7dmFyIGM9YSxkLGU9TGYoMTEpO2U9TGYoMTApO2Q9ZTtjPyhjLmNoYXJBdChjLmxlbmd0aC0xKSE9PSIvIiYmCihjKz0iLyIpLGE9YytkKTphPSJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9zdGF0aWMvc2VydmljZV93b3JrZXIvIitkKyIvIjt2YXIgZjt0cnl7Zj1uZXcgVVJMKGEpfWNhdGNoKGcpe3JldHVybiBudWxsfXJldHVybiBmLnByb3RvY29sIT09Imh0dHBzOiI/bnVsbDpmfSxqTD1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5PaCk7cmV0dXJuIGImJmJbYV19LGtMPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dGhpcy5LPWdMKCk7dGhpcy5aPXRoaXMuUj0hMTt0aGlzLmZhPW51bGw7dGhpcy5pbml0VGltZT1NYXRoLnJvdW5kKE5iKCkpO3RoaXMuSD0xNTt0aGlzLk49dGhpcy5GcihhKTtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmluaXRpYWxpemUoKX0sMUUzKTtiZChmdW5jdGlvbigpe2IuenMoYSl9KX07az1rTC5wcm90b3R5cGU7ay5kZWxlZ2F0ZT1mdW5jdGlvbihhLGIsYyl7dGhpcy5nZXRTdGF0ZSgpIT09Mj8odGhpcy5LLkgodGhpcy5ILHtzdGF0ZTp0aGlzLmdldFN0YXRlKCksCkpnOnRoaXMuaW5pdFRpbWUsVWc6TWF0aC5yb3VuZChOYigpKS10aGlzLmluaXRUaW1lfSx2b2lkIDAsYS5jb21tYW5kVHlwZSksYyh7ZmFpbHVyZVR5cGU6dGhpcy5IfSkpOnRoaXMuTi5rcihhLGIsYyl9O2suZ2V0U3RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OLmdldFN0YXRlKCkuc3RhdGV9O2suenM9ZnVuY3Rpb24oYSl7dmFyIGI9QS5sb2NhdGlvbi5vcmlnaW4sYz10aGlzLGQ9WGMoKTt0cnl7dmFyIGU9ZC5jb250ZW50RG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksZj1hLnBhdGhuYW1lLGc9ZltmLmxlbmd0aC0xXT09PSIvIj9hLnRvU3RyaW5nKCk6YS50b1N0cmluZygpKyIvIixoPWEub3JpZ2luIT09Imh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tIj9oTChmKToiIixsO00oMTMzKSYmKGw9e3NhbmRib3g6ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMifSk7WGMoZysic3dfaWZyYW1lLmh0bWw/b3JpZ2luPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpKwpoLHZvaWQgMCxsLHZvaWQgMCxlKTt2YXIgbj1mdW5jdGlvbigpe2QuY29udGVudERvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZSk7ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixmdW5jdGlvbigpe2MuZmE9ZS5jb250ZW50V2luZG93O2QuY29udGVudFdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihwKXtwLm9yaWdpbj09PWEub3JpZ2luJiZjLk4ua3MocC5kYXRhKX0pO2MuaW5pdGlhbGl6ZSgpfSl9O2QuY29udGVudERvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUiP24oKTpkLmNvbnRlbnRXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXtuKCl9KX1jYXRjaChwKXtkLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoZCksdGhpcy5IPTExLHRoaXMuSy5LKHZvaWQgMCx2b2lkIDAsdGhpcy5ILHAudG9TdHJpbmcoKSl9fTtrLkZyPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1mTChmdW5jdGlvbihkKXt2YXIgZTsoZT1iLmZhKT09Cm51bGx8fGUucG9zdE1lc3NhZ2UoZCxhLm9yaWdpbil9LHtxbzpmdW5jdGlvbigpe2IuUj0hMDtiLksuSyhjLmdldFN0YXRlKCksYy5zdGF0cyl9LHNvOmZ1bmN0aW9uKCl7fSxwbzpmdW5jdGlvbihkKXtiLlI/KGIuSD0oZD09bnVsbD92b2lkIDA6ZC5mYWlsdXJlVHlwZSl8fDEwLGIuSy5IKGIuSCxjLmdldFN0YXRlKCksYy5zdGF0cyx2b2lkIDAsZD09bnVsbD92b2lkIDA6ZC5kYXRhKSk6KGIuSD0oZD09bnVsbD92b2lkIDA6ZC5mYWlsdXJlVHlwZSl8fDQsYi5LLksoYy5nZXRTdGF0ZSgpLGMuc3RhdHMsYi5ILGQ9PW51bGw/dm9pZCAwOmQuZGF0YSkpfSxvbkZhaWx1cmU6ZnVuY3Rpb24oZCl7Yi5IPWQuZmFpbHVyZVR5cGU7Yi5LLkgoYi5ILGMuZ2V0U3RhdGUoKSxjLnN0YXRzLGQuY29tbWFuZCxkLmRhdGEpfX0pO3JldHVybiBjfTtrLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt0aGlzLlp8fHRoaXMuTi5pbml0KCk7dGhpcy5aPSEwfTsKdmFyIGxMPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlO2lmKChlPWpMKGEpKT09bnVsbHx8IWUuZGVsZWdhdGUpe3ZhciBmPUljKCk/MTY6NjtnTCgpLkgoZix2b2lkIDAsdm9pZCAwLGIuY29tbWFuZFR5cGUpO2Qoe2ZhaWx1cmVUeXBlOmZ9KTtyZXR1cm59akwoYSkuZGVsZWdhdGUoYixjLGQpO307CmZ1bmN0aW9uIG1MKGEsYixjLGQpe3ZhciBlPWlMKGEpO2lmKGU9PT1udWxsKXtkKCJfaXNfc3c9ZiIrKEljKCk/MTY6NikrInRlIik7cmV0dXJufXZhciBmPWI/MTowLGc9TWF0aC5yb3VuZChOYigpKSxoLGw9KGg9akwoZS5vcmlnaW4pKT09bnVsbD92b2lkIDA6aC5pbml0VGltZSxuPWw/Zy1sOnZvaWQgMCxwO00oNDMyKT9wPVdqKCk/dm9pZCAwOkEubG9jYXRpb24uaHJlZjpwPUEubG9jYXRpb24uaHJlZjtsTChlLm9yaWdpbix7Y29tbWFuZFR5cGU6MCxwYXJhbXM6e3VybDphLG1ldGhvZDpmLHRlbXBsYXRlczpjLGJvZHk6Ynx8IiIscHJvY2Vzc1Jlc3BvbnNlOiEwLHNpbmNlSW5pdDpuLGF0dHJpYnV0aW9uUmVwb3J0aW5nOiEwLHJlZmVyZXI6cCxzdHJpY3Q6TSg1ODQpfX0sZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKHEpe3ZhciByPSJfaXNfc3c9ZiIrcS5mYWlsdXJlVHlwZSx0LHU9KHQ9akwoZS5vcmlnaW4pKT09Cm51bGw/dm9pZCAwOnQuZ2V0U3RhdGUoKTt1IT09dm9pZCAwJiYocis9InMiK3UpO2Qobj9yKygidCIrbik6cisidGUiKX0pO307ZnVuY3Rpb24gbkwoYSl7aWYoSWYoNDcpJiZkSShhLCJjY2RfYWRkXzFwX2RhdGEiLCExKSYmV2ooKSl7dmFyIGI9YS5NO2lmKEljKCkmJmJnKCJpbnRlcm5hbF9zd19hbGxvd2VkIiwiIikpe3ZhciBjPWVrKGIpLGQ9V2ooKT9YaigpOnZvaWQgMCxlO2U9ZD97cGF0aDpkLGVvOiJmdWxsIn06Yz97cGF0aDpjLGVvOiJsaXRlIn06dm9pZCAwO2lmKGUpe3ZhciBmPWUuZW8sZz1uZXcgVVJMKGUucGF0aCxBLmxvY2F0aW9uLm9yaWdpbik7aWYoZy5vcmlnaW49PT1BLmxvY2F0aW9uLm9yaWdpbiYmcHkoZik9PT12b2lkIDApe3ZhciBoPW9tKGptLmJhLk9oLHt9KTtoW2ZdfHwoaFtmXT1uZXcgbnkoZykpfX19fX07ZnVuY3Rpb24gc0woKXt2YXIgYTthPWE9PT12b2lkIDA/ZG9jdW1lbnQ6YTt2YXIgYjtyZXR1cm4hKChiPWEuZmVhdHVyZVBvbGljeSk9PW51bGx8fCFiLmFsbG93ZWRGZWF0dXJlcygpLmluY2x1ZGVzKCJhdHRyaWJ1dGlvbi1yZXBvcnRpbmciKSl9O2Z1bmN0aW9uIHdMKGEsYixjLGQpe2Q9ZD09PXZvaWQgMD8hMTpkO3ZhciBlPUZwKCksZj1EcChlKTtpZihmLnVybClpZihkKXt2YXIgZz1jKGYudXJsKTtiIT09ZyYmVShhLEYuRC5QZSxnKX1lbHNle3ZhciBoPWYudXJsO2IhPT1oJiZVKGEsRi5ELlBlLGMoaCkpfX07CnZhciB4TD1mdW5jdGlvbihhKXtpZihhIT1udWxsKXt2YXIgYj1TdHJpbmcoYSkuc3Vic3RyaW5nKDAsNTEyKSxjPWIuaW5kZXhPZigiIyIpO3JldHVybiBjPT09LTE/YjpiLnN1YnN0cmluZygwLGMpfXJldHVybiIifSx5TD1mdW5jdGlvbigpe3ZhciBhPUIudGl0bGU7aWYoYT09PXZvaWQgMHx8YT09PSIiKXJldHVybiIiO2E9ZW5jb2RlVVJJQ29tcG9uZW50KGEpO2Zvcih2YXIgYj0yNTY7Yj4wJiZLaihhLnN1YnN0cmluZygwLGIpKT09PXZvaWQgMDspYi0tO3JldHVybiBLaihhLnN1YnN0cmluZygwLGIpKXx8IiJ9O2Z1bmN0aW9uIEFMKGEpe1YoYSxILkouSmEsITApO1YoYSxILkouRWIsTmIoKSk7VihhLEguSi55bixhLk0uZXZlbnRNZXRhZGF0YVtILkouSmFdKX07dmFyIFNMPWZ1bmN0aW9uKGEpe3ZhciBiPVhvKEYuRC5rYSk/bWooInBzY2RsIik6ImRlbmllZCI7YiE9bnVsbCYmVShhLEYuRC5qaCxiKX07dmFyIFRMPW5ldyBmdW5jdGlvbigpe3RoaXMuSD17fX07dmFyIFVMPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5NO2lmKGI9PT12b2lkIDA/MDpiKXt2YXIgZD1jLmdldE1lcmdlZFZhbHVlcyhGLkQuT2EpO1liKGQpJiZVKGEsRi5ELkxpLFliKGQpKX12YXIgZT1PbyhmRChGLkQuT2EpKSxmPWMuZ2V0TWVyZ2VkVmFsdWVzKEYuRC5PYSwxLGUpLGc9Yy5nZXRNZXJnZWRWYWx1ZXMoRi5ELk9hLDIpLGg9WWIobmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxmLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sVEwuSCkpLCIuIiksbD1ZYihnLCIuIik7aCYmVShhLEYuRC5YYyxoKTtsJiZVKGEsRi5ELlZjLGwpfTt2YXIgVkw9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi50cSk7YiYmVShhLEYuRC5JbCxiKX07ZnVuY3Rpb24gV0woYSl7dmFyIGI9S0IoITEpO2lmKGIhPW51bGwmJmIuc3RhdHVzKXt2YXIgYz17Z3RiOmIuc3RhdHVzfTtiLmRlbGF5JiYoYy5ndGJkPWIuZGVsYXkpO2EubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSxjKX19O3ZhciBYTD1mdW5jdGlvbihhKXt6bSgpPT09IlVTLUNPIiYmVShhLEYuRC5MZSwxKX07dmFyIFlMPXtSYTp7Q2s6MSx6bjoyLEhuOjMsSW46NCxKbjo1LHduOjZ9fTtZTC5SYVtZTC5SYS5Da109IkFET0JFX0NPTU1FUkNFIjtZTC5SYVtZTC5SYS56bl09IlNRVUFSRVNQQUNFIjtZTC5SYVtZTC5SYS5Ibl09IldPT19DT01NRVJDRSI7WUwuUmFbWUwuUmEuSW5dPSJXT09fQ09NTUVSQ0VfTEVHQUNZIjtZTC5SYVtZTC5SYS5Kbl09IldPUkRfUFJFU1MiO1lMLlJhW1lMLlJhLnduXT0iU0hPUElGWSI7ZnVuY3Rpb24gWkwoYSl7dmFyIGI9QTtyZXR1cm4gS2ooYi5lc2NhcGUoYi5hdG9iKGEpKSl9CmZ1bmN0aW9uICRMKCl7dHJ5e2lmKCFNKDQ5OCkmJiFNKDQyNSkpcmV0dXJuW107dmFyIGE9bm0oam0uYmEubG4pO2lmKEFycmF5LmlzQXJyYXkoYSkpcmV0dXJuIGE7dmFyIGI9W10sYzthOnt0cnl7Yz0hIUIucXVlcnlTZWxlY3Rvcignc2NyaXB0W2RhdGEtcmVxdWlyZW1vZHVsZV49Im1hZ2UvIl0nKTticmVhayBhfWNhdGNoKHkpe31jPSExfWMmJmIucHVzaChZTC5SYS5Dayk7dmFyIGQ7YTp7dHJ5e3ZhciBlPVpMKCJZWE56WlhSekxuTnhkV0Z5WlhOd1lXTmxMbU52YlM4PSIpO2Q9ZT8hIUIucXVlcnlTZWxlY3Rvcignc2NyaXB0W3NyY149Ii8vJytlKyciXScpOiExO2JyZWFrIGF9Y2F0Y2goeSl7fWQ9ITF9ZCYmYi5wdXNoKFlMLlJhLnpuKTt2YXIgZjthOntpZihNKDQyNSkpdHJ5e3ZhciBnPVpMKCJjMmh2Y0dsbWVTNWpiMjA9IiksaD1aTCgiYzJodmNHbG1lV05rYmk1amIyMD0iKTtmPWcmJmg/ISFCLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmMqPSJjZG4uJytnKyciXSxtZXRhW3Byb3BlcnR5PSJvZzppbWFnZSJdW2NvbnRlbnQqPSJjZG4uJysKKGcrJyJdLGxpbmtbcmVsPSJwcmVjb25uZWN0Il1baHJlZio9ImNkbi4nKSsoZysnIl0sbGlua1tyZWw9InByZWNvbm5lY3QiXVtocmVmKj0iZm9udHMuJykrKGgrJyJdLGxpbmtbcmVsPSJwcmVjb25uZWN0Il1baHJlZio9Iml0ZXJhYmxlLXNob3BpZnkiXSxsaW5rW3JlbD0icHJlY29ubmVjdCJdW2hyZWYqPSJ2LicpKyhnKyciXScpKTohMTticmVhayBhfWNhdGNoKHkpe31mPSExfWYmJmIucHVzaChZTC5SYS53bik7dmFyIGw7YTp7dHJ5e2w9ISFCLnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmMqPSJ3b29jb21tZXJjZSJdLGxpbmtbaHJlZio9Indvb2NvbW1lcmNlIl0sW2NsYXNzfD0id29vY29tbWVyY2UiXScpO2JyZWFrIGF9Y2F0Y2goeSl7fWw9ITF9bCYmYi5wdXNoKFlMLlJhLkluKTt2YXIgbjthOnt0cnl7dmFyIHAscT0oKHA9Qi5sb2NhdGlvbik9PW51bGw/dm9pZCAwOnAuaG9zdG5hbWUpfHwiIixyLHQ9KChyPUIubG9jYXRpb24pPT1udWxsP3ZvaWQgMDpyLm9yaWdpbil8fAoiIix1PVpMKCJMbmR2Y21Sd2NtVnpjeTVqYjIwPSIpLHY9WkwoIkx5OXpMbmN1YjNKbiIpO249dSYmdj9UYihxLHUpfHwhIUIucXVlcnlTZWxlY3RvcignW3NyY149IicrdCsnL3dwLWNvbnRlbnQiXSxtZXRhW25hbWU9ImdlbmVyYXRvciJdW2NvbnRlbnRePSJXb3JkUHJlc3MgIl0sbGlua1tyZWw9ImRucy1wcmVmZXRjaCJdW2hyZWY9IicrKHYrJyJdJykpOiExO2JyZWFrIGF9Y2F0Y2goeSl7fW49ITF9biYmYi5wdXNoKFlMLlJhLkpuKTt2YXIgeDthOnt0cnl7eD0hIUIucXVlcnlTZWxlY3RvcignW2NsYXNzKj0id29vY29tbWVyY2UiXSxtZXRhW25hbWU9ImdlbmVyYXRvciJdW2NvbnRlbnRePSJXb29Db21tZXJjZSAiXScpO2JyZWFrIGF9Y2F0Y2goeSl7fXg9ITF9eCYmYi5wdXNoKFlMLlJhLkhuKTtVQigpJiZtbShqbS5iYS5sbixiKTtyZXR1cm4gYn1jYXRjaCh5KXt9cmV0dXJuW119O2Z1bmN0aW9uIHdNKGEpe2lmKE0oNDI1KSYmUShhLEguSi5GYykpe3ZhciBiPU5mKDY3LDE1MDApLGM9YS5tZXJnZUhpdERhdGFGb3JLZXksZD1GLkQuVGEsZT17fTtjLmNhbGwoYSxkLGUpfX07dmFyIHhNPSJwbGF0Zm9ybSBwbGF0Zm9ybVZlcnNpb24gYXJjaGl0ZWN0dXJlIG1vZGVsIHVhRnVsbFZlcnNpb24gYml0bmVzcyBmdWxsVmVyc2lvbkxpc3Qgd293NjQiLnNwbGl0KCIgIik7ZnVuY3Rpb24geU0oYSl7dmFyIGI7cmV0dXJuKGI9YS5nb29nbGVfdGFnX2RhdGEpIT1udWxsP2I6YS5nb29nbGVfdGFnX2RhdGE9e319ZnVuY3Rpb24gek0oYSl7dmFyIGIsYztyZXR1cm4oYz0oYj1hLmdvb2dsZV90YWdfZGF0YSk9PW51bGw/dm9pZCAwOmIudWFjaF9wcm9taXNlKSE9bnVsbD9jOm51bGx9ZnVuY3Rpb24gQU0oYSl7dmFyIGIsYztyZXR1cm4gdHlwZW9mKChiPWEubmF2aWdhdG9yKT09bnVsbD92b2lkIDA6KGM9Yi51c2VyQWdlbnREYXRhKT09bnVsbD92b2lkIDA6Yy5nZXRIaWdoRW50cm9weVZhbHVlcyk9PT0iZnVuY3Rpb24ifQpmdW5jdGlvbiBCTShhKXtpZighQU0oYSkpcmV0dXJuIG51bGw7dmFyIGI9eU0oYSk7aWYoYi51YWNoX3Byb21pc2UpcmV0dXJuIGIudWFjaF9wcm9taXNlO3ZhciBjPWEubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuZ2V0SGlnaEVudHJvcHlWYWx1ZXMoeE0pLnRoZW4oZnVuY3Rpb24oZCl7Yi51YWNoIT1udWxsfHwoYi51YWNoPWQpO3JldHVybiBkfSk7cmV0dXJuIGIudWFjaF9wcm9taXNlPWN9Owp2YXIgQ009ZnVuY3Rpb24oKXt0aGlzLndpbmRvdz1BO3RoaXMuTj1OYn07Q00ucHJvdG90eXBlLlI9ZnVuY3Rpb24oKXtpZihBTSh0aGlzLndpbmRvdykmJih0aGlzLlo9dGhpcy5OKCksIXpNKHRoaXMud2luZG93KSkpe3ZhciBhPUJNKHRoaXMud2luZG93KTthJiZhLnRoZW4oZnVuY3Rpb24oKXtQKDk1KX0pLmNhdGNoKGZ1bmN0aW9uKCl7UCg5Nil9KX19O0NNLnByb3RvdHlwZS5IPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy53aW5kb3cuZ29vZ2xlX3RhZ19kYXRhLGI7aWYoYSE9bnVsbCYmYS51YWNoKXt2YXIgYz1hLnVhY2gsZD1uYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGMpO2MuZnVsbFZlcnNpb25MaXN0JiYoZC5mdWxsVmVyc2lvbkxpc3Q9Yy5mdWxsVmVyc2lvbkxpc3Quc2xpY2UoMCkpO2I9ZH1lbHNlIGI9bnVsbDtyZXR1cm4gYn07Q00ucHJvdG90eXBlLmZhPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz10aGlzLGQ9ZnVuY3Rpb24oaCxsKXt0cnl7YShoLGwpfWNhdGNoKG4pe319LAplPXRoaXMuSCgpO2lmKGUpZChlKTtlbHNle3ZhciBmPXpNKHRoaXMud2luZG93KTtpZihmKXtiPU1hdGgubWluKE1hdGgubWF4KGlzRmluaXRlKGIpP2I6MCwwKSwxRTMpO3ZhciBnPXRoaXMud2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLktnfHwoZC5LZz0hMCxQKDEwNiksZChudWxsLEVycm9yKCJUaW1lb3V0IikpKX0sYik7Zi50aGVuKGZ1bmN0aW9uKGgpe2QuS2d8fChkLktnPSEwLFAoMTA0KSxjLndpbmRvdy5jbGVhclRpbWVvdXQoZyksZChoKSl9KS5jYXRjaChmdW5jdGlvbihoKXtkLktnfHwoZC5LZz0hMCxQKDEwNSksYy53aW5kb3cuY2xlYXJUaW1lb3V0KGcpLGQobnVsbCxoKSl9KX1lbHNlIGQobnVsbCl9fTtDTS5wcm90b3R5cGUuSz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlohPT12b2lkIDB9O3ZhciBETT1mdW5jdGlvbigpe3ZhciBhO2E9YT09PXZvaWQgMD9BOmE7cmV0dXJuIEFNKGEpfSxFTT1mdW5jdGlvbihhKXt2YXIgYj17fTtiW0YuRC5jZ109YS5hcmNoaXRlY3R1cmU7CmJbRi5ELmRnXT1hLmJpdG5lc3M7YS5mdWxsVmVyc2lvbkxpc3QmJihiW0YuRC5lZ109YS5mdWxsVmVyc2lvbkxpc3QubWFwKGZ1bmN0aW9uKGMpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoYy5icmFuZHx8IiIpKyI7IitlbmNvZGVVUklDb21wb25lbnQoYy52ZXJzaW9ufHwiIil9KS5qb2luKCJ8IikpO2JbRi5ELmZnXT1hLm1vYmlsZT8iMSI6IjAiO2JbRi5ELmdnXT1hLm1vZGVsO2JbRi5ELmhnXT1hLnBsYXRmb3JtO2JbRi5ELmlnXT1hLnBsYXRmb3JtVmVyc2lvbjtiW0YuRC5qZ109YS53b3c2ND8iMSI6IjAiO3JldHVybiBifSxGTT1uZXcgQ007dmFyIEdNPWZ1bmN0aW9uKGEpe2lmKCFETSgpKVAoODcpO2Vsc2UgaWYoRk0uSygpKXtQKDg1KTt2YXIgYj1GTS5IKCk7aWYoYil7aWYoYilmb3IodmFyIGM9RU0oYiksZD1tKE9iamVjdC5rZXlzKGMpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtVKGEsZixjW2ZdKX19ZWxzZSBQKDg2KX19O2Z1bmN0aW9uIEhNKGEsYil7Yj1iPT09dm9pZCAwPyExOmI7dmFyIGM9UShhLEguSi5zZyksZD1kSShhLCJjdXN0b21fZXZlbnRfYWNjZXB0X3J1bGVzIiwhMSkmJiFiO2lmKGMpe3ZhciBlPWMuaW5kZXhPZihhLnRhcmdldC5kZXN0aW5hdGlvbklkKT49MCxmPSEwO1EoYSxILkouQ2MpJiYoZj1RKGEsSC5KLk5iKT09PXZrKCkpO2UmJmY/VihhLEguSi5raSwhMCk6KFYoYSxILkoua2ksITEpLGR8fChhLmlzQWJvcnRlZD0hMCkpO2lmKGEuY2FuQmVBY2NlcHRlZCgpKXt2YXIgZz11aygpLmluZGV4T2YoYS50YXJnZXQuZGVzdGluYXRpb25JZCk+PTAsaD0hMTtpZighZyl7dmFyIGwsbj0obD1uayhhLnRhcmdldC5kZXN0aW5hdGlvbklkKSk9PW51bGw/dm9pZCAwOmwuY2Fub25pY2FsQ29udGFpbmVySWQ7biYmKGg9dmsoKT09PW4pfWd8fGg/UShhLEguSi5raSkmJmEuYWNjZXB0KCk6YS5pc0Fib3J0ZWQ9ITB9ZWxzZSBhLmlzQWJvcnRlZD0hMH19O3ZhciBJTT1mdW5jdGlvbihhKXt2YXIgYj1PKGEuTSxGLkQuWmMpLGM9TyhhLk0sRi5ELlljKTtiJiYhYz8oYS5ldmVudE5hbWUhPT1GLkQud2EmJmEuZXZlbnROYW1lIT09Ri5ELnlmJiZQKDEzMSksYS5pc0Fib3J0ZWQ9ITApOiFiJiZjJiYoUCgxMzIpLGEuaXNBYm9ydGVkPSEwKX07dmFyIEpNPWZ1bmN0aW9uKGEpe2lmKGEuZXZlbnROYW1lPT09Ri5ELndhKXt2YXIgYj1JZigxMSksYz1RKGEsSC5KLkhxKTshKCFNKDU1MCkmJmJ8fGMpfHxhLnRhcmdldC5KYygpfHxZRygiaWRjX2NvbmZpZ19wdiIsYS50YXJnZXQuZGVzdGluYXRpb25JZCl8fChhLmlzQWJvcnRlZD0hMCl9fTt2YXIgTE09ZnVuY3Rpb24oYSxiKXtLTS5OKGEsYil9LE1NPWZ1bmN0aW9uKCl7dGhpcy5IPXt9fTtNTS5wcm90b3R5cGUuTj1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuSFthXTtjfHwoYz10aGlzLkhbYV09W10pO2MucHVzaChiKX07TU0ucHJvdG90eXBlLks9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5IW2EudGFyZ2V0LmRlc3RpbmF0aW9uSWRdO2lmKCFhLmlzQWJvcnRlZCYmYilmb3IodmFyIGM9ZkkoYSksZD0wO2Q8Yi5sZW5ndGg7KytkKXt0cnl7YltkXShjKX1jYXRjaChlKXthLmlzQWJvcnRlZD0hMH1pZihhLmlzQWJvcnRlZClicmVha319O3ZhciBLTT1uZXcgTU07dmFyIE5NPWZ1bmN0aW9uKGEpe0tNLksoYSk7fTt2YXIgT009ZnVuY3Rpb24oYSl7YSYmKEFwKDQ5NSxhKSxBcCg1NjcsYSksQXAoNDUwLGEpLEFwKDQ0MyxhKSxBcCg1ODcsYSksQXAoNTc2LGEpLEFwKDU3MCxhKSxBcCg1ODEsYSksQXAoNjAyLGEpKX0sUE09ZnVuY3Rpb24oYSl7aWYoUShhLEguSi53ZikmJlhvKGZwKSl7dmFyIGI9UShhLEguSi5HYSksYz1RKGEsSC5KLmRhKSE9PVguVi51YiYmUShhLEguSi5kYSkhPT1YLlYuT2ImJlEoYSxILkouZGEpIT09WC5WLkZiJiZhLmV2ZW50TmFtZSE9PUYuRC5KYjtIdihiLGMpO3ZhciBkPUR2W0d2KGIucHJlZml4KV07T00oZCk7VShhLEYuRC5FZCxkKX19O2Z1bmN0aW9uIFFNKCl7cmV0dXJuIGtqKCJkZWR1cGVfZ2NsaWQiLGZ1bmN0aW9uKCl7cmV0dXJuIEF2KCl9KX07dmFyIFJNPS9eKHd3d1wuKT9nb29nbGUoXC5jb20/KT8oXC5bYS16XXsyfXQ/KT8kLyxTTT0vXnd3dy5nb29nbGVhZHNlcnZpY2VzLmNvbSQvO2Z1bmN0aW9uIFRNKGEpe2F8fChhPVVNKCkpO3JldHVybiBhLk50PyExOmEubnN8fGEucXN8fGEudnN8fGEucnN8fGEuRGd8fGEuVGh8fGEuVHJ8fGEuVmg9PT0iYXcuZHMifHxNKDIzNSkmJmEuVmg9PT0iYXcuZHYifHxhLllyPyEwOiExfQpmdW5jdGlvbiBVTSgpe3ZhciBhPXt9LGI9VXEoITApO2EuTnQ9ISFiLl91cDt2YXIgYz1lcygpLGQ9YXQoKTthLm5zPWMuYXchPT12b2lkIDA7YS5xcz1jLmRjIT09dm9pZCAwO2EudnM9Yy53YnJhaWQhPT12b2lkIDA7YS5ycz1jLmdicmFpZCE9PXZvaWQgMDthLlZoPXR5cGVvZiBjLmdjbHNyYz09PSJzdHJpbmciP2MuZ2Nsc3JjOnZvaWQgMDthLkRnPWQuRGc7YS5UaD1kLlRoO3ZhciBlPUIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIjthLllyPVJNLnRlc3QoZSk7YS5Ucj1TTS50ZXN0KGUpO3JldHVybiBhfTtmdW5jdGlvbiBWTSgpe3ZhciBhPUEuX191c3BhcGk7aWYoeWIoYSkpe3ZhciBiPSIiO3RyeXthKCJnZXRVU1BEYXRhIiwxLGZ1bmN0aW9uKGMsZCl7aWYoZCYmYyl7dmFyIGU9Yy51c3BTdHJpbmc7ZSYmUmVnRXhwKCJeW1xcZGEtekEtWi1dezEsMjB9JCIpLnRlc3QoZSkmJihiPWUpfX0pfWNhdGNoKGMpe31yZXR1cm4gYn19Owp2YXIgV009ZnVuY3Rpb24oYSl7dmFyIGI9WG8oZnApO1YoYSxILkouWWUsTyhhLk0sRi5ELm1iKSE9bnVsbCYmTyhhLk0sRi5ELm1iKSE9PSExJiYhYik7dmFyIGM9UShhLEguSi5kaiksZD1PKGEuTSxGLkQudWMpIT09ITEsZT1MSyhhKTtkfHxVKGEsRi5ELkhkLCIxIik7dmFyIGY9SHIoZS5wcmVmaXgpLGc9UShhLEguSi5zYSl8fFEoYSxILkoudWcpfHxRKGEsSC5KLldlKTtjfHxnfHxVKGEsIl8mYXB2YyIsIjAiKTthLk0uaXNHdG1FdmVudCYmVShhLEYuRC5JbCwiZyIpO1UoYSxGLkQuRWQpO1UoYSxGLkQuTWIpO2lmKGImJihVKGEsRi5ELk1iLHlMKCkpLGQpKXtIdihlKTt2YXIgaD1EdltHdihlLnByZWZpeCldO1UoYSxGLkQuRWQsaCk7T00oaCl9aWYoYS5ldmVudE5hbWU9PT1GLkQud2EmJiFnKXt2YXIgbD1PKGEuTSxGLkQuemMpLG49TyhhLk0sRi5ELkRiKXx8e307UEsoe1RuOmQsbW86bixRbzpsLFVuOmV9KTshYyYmWXMoZikmJihWKGEsSC5KLnZkLCEwKSxVKGEsIl8mYXB2YyIsCiIxIikpfWlmKGMpYS5pc0Fib3J0ZWQ9ITA7ZWxzZXthLnRhcmdldC5kZXN0aW5hdGlvbklkJiZVKGEsRi5ELlFlLGEudGFyZ2V0LmRlc3RpbmF0aW9uSWQpO1UoYSxGLkQuVWIsYS5ldmVudE5hbWUpO2EuZXZlbnROYW1lPT09Ri5ELndhJiZVKGEsRi5ELlViLEYuRC5zYyk7aWYoUShhLEguSi5zYSkpVShhLEYuRC5VYixGLkQud3ApLFUoYSxGLkQuc2EsIjEiKTtlbHNlIGlmKFEoYSxILkoudWcpKVUoYSxGLkQuVWIsRi5ELkhwKTtlbHNlIGlmKFEoYSxILkouV2UpKVUoYSxGLkQuVWIsRi5ELkVwKTtlbHNle3ZhciBwPWVzKCk7VShhLEYuRC5EZCxwLmdjbGlkKTtVKGEsRi5ELktkLHAuZGNsaWQpO1UoYSxGLkQuQWwscC5nY2xzcmMpO2lmKCFSKGEsRi5ELkRkKSYmIVIoYSxGLkQuS2QpfHxNKDQyMSkpVShhLEYuRC5FZSxwLndicmFpZCksVShhLEYuRC5CZixwLmdicmFpZCk7dmFyIHE9TSg1ODkpLHI9ZnVuY3Rpb24oZmEpe3JldHVybiBmYS5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpfSwKdD0hIU8oYS5NLEYuRC56YSksdT1xP3Q/ZnVuY3Rpb24oZmEpe3JldHVybiB4TChyKGZhKSl9OmZ1bmN0aW9uKGZhKXtyZXR1cm4geEwoZmEucmVwbGFjZSgvIy4qJC8sIiIpKX06cix2PWJ0KHUpO1UoYSxGLkQuemEsdik7dmFyIHg9ISFPKGEuTSxGLkQuVWEpLHk9Qi5yZWZlcnJlcjtVKGEsRi5ELlVhLHE/eD9yKHkpOnkucmVwbGFjZSgvIy4qJC8sIiIpOkIucmVmZXJyZXI/TGooUmooQi5yZWZlcnJlciksImhvc3QiKToiIik7d0woYSx2LHUsITApO2lmKEtjKXt2YXIgej1MaihSaihLYyksImhvc3QiKTt6JiZVKGEsRi5ELmJtLHopfWlmKCFRKGEsSC5KLldlKSl7dmFyIEM9YXQoKTtVKGEsRi5ELnpmLEMuRGcpO1UoYSxGLkQuQWYsQy5Tcil9dmFyIEQ9VU0oKTtUTShEKSYmVShhLEYuRC5QZCwiMSIpO1UoYSxGLkQuRGwsUU0oKSk7VXEoITEpLl91cD09PSIxIiYmVShhLEYuRC5RbCwiMSIpfXdvLkg9ITA7VShhLEYuRC5TYik7VShhLEYuRC5sYik7aWYoTSg0MjEpKXt2YXIgST1GcihlKTsKSS5sZW5ndGg+MCYmVShhLEYuRC5TYixJLmpvaW4oIi4iKSk7dmFyIEc9RHIoZisiX2F3Iik7Ry5sZW5ndGg+MCYmVShhLEYuRC5sYixHLmpvaW4oIi4iKSl9ZWxzZSBpZighUihhLEYuRC5EZCkmJiFSKGEsRi5ELktkKSYmV3MoZikpe3ZhciBOPUZyKGUpO04ubGVuZ3RoPjAmJlUoYSxGLkQuU2IsTi5qb2luKCIuIikpfWVsc2UgaWYoIVIoYSxGLkQuRWUpJiZiKXt2YXIgUz1EcihmKyJfYXciKTtTLmxlbmd0aD4wJiZVKGEsRi5ELmxiLFMuam9pbigiLiIpKX1VKGEsRi5ELlVsLHFkKCkpO2EuTS5pc0d0bUV2ZW50JiYoYS5NLkVhW0YuRC5SY109ZkQoRi5ELlJjKSk7U3QoYS5NKT9VKGEsRi5ELmRlLCExKTpVKGEsRi5ELmRlLCEwKTtWKGEsSC5KLkJrLCEwKTt2YXIgVz1WTSgpO1chPT12b2lkIDAmJlUoYSxGLkQua2csV3x8ImVycm9yIik7dmFyIGVhPUx0KCk7ZWEmJlUoYSxGLkQuS2UsZWEpO3ZhciBqYT1LdCgpO2phJiZVKGEsRi5ELk9lLGphKTtRKGEsSC5KLlBjKXx8VihhLEguSi5KYSwKITEpfX07CnZhciBYTT1mdW5jdGlvbihhLGIsYyl7Yj1iPT09dm9pZCAwPyEwOmI7Yz1jPT09dm9pZCAwP3t9OmM7aWYoYS5ldmVudE5hbWU9PT1GLkQuSmImJiFhLk0uaXNHdG1FdmVudCl7dmFyIGQ9TyhhLk0sRi5ELlNmKTtpZih0eXBlb2YgZD09PSJmdW5jdGlvbiImJiFRKGEsSC5KLnNhKSl7dmFyIGU9U3RyaW5nKE8oYS5NLEYuRC5UZikpLGY9ZTtjW2VdJiYoZj1jW2VdKTt2YXIgZz1SKGEsZil8fE8oYS5NLGUpO2lmKGIpe2lmKHR5cGVvZiBkPT09ImZ1bmN0aW9uIilpZihlPT09Ri5ELmxiJiZnIT09dm9pZCAwKXt2YXIgaD1nLnNwbGl0KCIuIik7aC5sZW5ndGg9PT0wP2Qodm9pZCAwKTpoLmxlbmd0aD09PTE/ZChoWzBdKTpkKGgpfWVsc2UgaWYoZT09PUYuRC5xcSYmTSgyNTgpKXt2YXIgbCxuPXt9O1hvKGZwKSYmKG4uYXVpZD1SKGEsRi5ELkVkKSk7dmFyIHA9VU0oKTtpZihUTShwKSluLmdhZF9zb3VyY2U9cC5EZyxuLmdhZF9jYW1wYWlnbmlkPXAuVGgsbi5zZXNzaW9uX3N0YXJ0X3RpbWVfdXNlYz0KKERhdGUubm93KCkqMUUzKS50b1N0cmluZygpLG4ubGFuZGluZ19wYWdlX3VybD1BLmxvY2F0aW9uLmhyZWYsbi5sYW5kaW5nX3BhZ2VfcmVmZXJyZXI9Qi5yZWZlcnJlcixuLmxhbmRpbmdfcGFnZV91c2VyX2FnZW50PUhjLnVzZXJBZ2VudDtlbHNle3ZhciBxPVEoYSxILkouR2EpO24uZ2FkX3NvdXJjZT1ScyhxLnByZWZpeCkuRWd9bD1idG9hKEpTT04uc3RyaW5naWZ5KG4pKS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0rJC8sIiIpO2QobCl9ZWxzZSBkKGcpfWVsc2UgZChnKX1hLmlzQWJvcnRlZD0hMH19O3ZhciBZTT1mdW5jdGlvbihhKXtpZihNKDQyNSkmJlEoYSxILkouRmMpKXtmb3IodmFyIGI9WyJfJmFwdmMiLCJ0aWRzIixGLkQuVGEsRi5ELlFpLEYuRC5VYixGLkQuUWUsRi5ELlZjLEYuRC5YY10sYz1tKGV1KGEpKSxkPWMubmV4dCgpOyFkLmRvbmU7ZD1jLm5leHQoKSl7dmFyIGU9ZC52YWx1ZTtpZihlPT09Ri5ELnphKXt2YXIgZj1SKGEsZSk7ZiYmKGY9Zi5yZXBsYWNlKC9bXD8jXS4qJC8sIiIpKTtVKGEsZSxmKX1lbHNlIGIuaW5jbHVkZXMoZSl8fFUoYSxlKX1WKGEsSC5KLlhnKTtWKGEsSC5KLmhkKX19O2Z1bmN0aW9uIFpNKGEpe2lmKGZuLkspaWYod28uSD0hMCxhLmV2ZW50TmFtZT09PUYuRC53YSl6byhhLk0sYS50YXJnZXQuaWQpO2Vsc2V7UShhLEguSi5QYyl8fCh3by5LW2EudGFyZ2V0LmlkXT0hMCk7dmFyIGI9UShhLEguSi5OYik7WkIoYil9fTt2YXIgJE09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1iPT09dm9pZCAwP3t9OmI7Yz1mLlNqPT09dm9pZCAwPyExOmYuU2o7ZD1mLk1qPT09dm9pZCAwPyExOmYuTWo7ZT1mLmtvPT09dm9pZCAwPyExOmYua287ZHx8KGEuTS5pc0d0bUV2ZW50P1EoYSxILkouZGEpIT09WC5WLnhhJiZhLmV2ZW50TmFtZSYmVShhLEYuRC5VYixhLmV2ZW50TmFtZSk6VShhLEYuRC5VYixhLmV2ZW50TmFtZSkpO0diKGEuTS5FYSxmdW5jdGlvbihnLGgpe016W2ddfHxjJiZCb1tnXXx8ZSYmT3pbZ118fFUoYSxnLGgpfSl9O3ZhciBhTj1mdW5jdGlvbihhKXtmb3IodmFyIGI9bShbRi5ELlBhLEYuRC5RYSxGLkQuZWIsRi5ELk5lLEYuRC5HZSxGLkQuVWQsRi5ELkllLEYuRC5UYyxGLkQuTGQsRi5ELmtoLEYuRC5GZixGLkQuRGYsRi5ELkVmLEYuRC5DZixGLkQud2ksRi5ELlNkLEYuRC5RZCxGLkQuUmQsRi5ELnRiXSksYz1iLm5leHQoKTshYy5kb25lO2M9Yi5uZXh0KCkpYS5jb3B5VG9IaXREYXRhKGMudmFsdWUpfTtmdW5jdGlvbiBiTihhLGIpe3JldHVybiBrcigiZ3NpZF9kYyIse3ZhbHVlOntqb2luSWQ6YSxsYXN0Sm9pbmVkVGltZU1zOmJ9LGV4cGlyZXM6YiszRTV9KT09PTA/ITA6ITF9Owp2YXIgY049ZnVuY3Rpb24oYSl7aWYoWG8oZnApKXt2YXIgYjthOnt2YXIgYz1ucigiZ3NpZF9kYyIpO2lmKGMuZXJyb3I9PT0wJiZjLnZhbHVlJiZ0eXBlb2YgYy52YWx1ZT09PSJvYmplY3QiKXt2YXIgZD1jLnZhbHVlO2lmKGQudmFsdWUmJnR5cGVvZiBkLnZhbHVlPT09Im9iamVjdCIpe3ZhciBlPWQudmFsdWU7aWYoZS5qb2luSWQmJmUubGFzdEpvaW5lZFRpbWVNcyYmdHlwZW9mIGUuam9pbklkPT09InN0cmluZyImJnR5cGVvZiBlLmxhc3RKb2luZWRUaW1lTXM9PT0ibnVtYmVyIil7Yj1lO2JyZWFrIGF9fX1iPXZvaWQgMH12YXIgZj1iLGc9Zj09bnVsbD92b2lkIDA6Zi5qb2luSWQsaD1OYigpO2lmKCFmfHwhZ3x8Zi5sYXN0Sm9pbmVkVGltZU1zPGgtM0U1KXt2YXIgbD1jYygpO2c9bCYmYk4obCxOYigpKT9sOnZvaWQgMDtnJiZWKGEsSC5KLmhkLCEwKX1lbHNlIGcmJmYubGFzdEpvaW5lZFRpbWVNczxoLTZFNCYmYk4oZi5qb2luSWQsaCkmJlYoYSxILkouaGQsITApO2cmJk0oNDc0KSYmClYoYSxILkouWGcsZyl9fTt2YXIgZE49ZnVuY3Rpb24oYSl7VihhLEguSi53ZixPKGEuTSxGLkQudWMpIT09ITEpO1YoYSxILkouR2EsTEsoYSkpO1YoYSxILkouWGUsTyhhLk0sRi5ELm1iKSE9bnVsbCYmTyhhLk0sRi5ELm1iKSE9PSExKTtWKGEsSC5KLndkLFN0KGEuTSkpfTt2YXIgZU49e3pxOntVdDoiY2QiLGZwOiJjZSIsVnQ6ImNmIixXdDoiY3BmIixYdDoiY3UifX07dmFyIGZOPWZ1bmN0aW9uKGEpe3ZhciBiPWVOLnpxLmZwLGM9TyhhLk0sRi5ELkNiKTtSKGEsRi5ELmVkKXx8VShhLEYuRC5lZCx7fSk7UihhLEYuRC5lZClbYl09Y307ZnVuY3Rpb24gZ04oYSxiKXtiPWI9PT12b2lkIDA/ITA6Yjt2YXIgYz13YihyYi5HVEFHX0VWRU5UX0ZFQVRVUkVfQ0hBTk5FTHx8W10pO2MmJihVKGEsRi5ELlZmLGMpLGImJnViKCkpfTt2YXIgaE49ZnVuY3Rpb24oYSl7dmFyIGI9YS5NLmdldE1lcmdlZFZhbHVlcyhGLkQuVGEpO2ImJmEubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSxiKX07dmFyIGlOPWZ1bmN0aW9uKGEpe3ZhciBiPU9wKCExKTtVKGEsRi5ELk1lLGIpfTt2YXIgak49ZnVuY3Rpb24oYSl7UShhLEguSi53ZCk/VShhLEYuRC5kZSwiMCIpOlUoYSxGLkQuZGUsIjEiKX07dmFyIGtOPWZ1bmN0aW9uKGEsYil7aWYoYj09PXZvaWQgMHx8Yil7dmFyIGM9Vk0oKTtjIT09dm9pZCAwJiZVKGEsRi5ELmtnLGN8fCJlcnJvciIpfXZhciBkPUx0KCk7ZCYmVShhLEYuRC5LZSxkKTt2YXIgZT1LdCgpO2UmJlUoYSxGLkQuT2UsZSl9O3ZhciBsTj1mdW5jdGlvbihhKXt2YXIgYj1ubShqbS5iYS5raiksYz1FKDUpO2ImJmJbY10mJmEubWVyZ2VIaXREYXRhRm9yS2V5KEYuRC5UYSx7cmV0cnk6IjEifSl9O3ZhciBtTj1mdW5jdGlvbihhKXtVcSghMSkuX3VwPT09IjEiJiZVKGEsRi5ELktpLCIxIil9Owp2YXIgbk49ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPT12b2lkIDApcmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5tYXAoZnVuY3Rpb24oKXtyZXR1cm57bW9kZToibSIsbG9jYXRpb246YixzZWxlY3RvcjpjfX0pOnttb2RlOiJtIixsb2NhdGlvbjpiLHNlbGVjdG9yOmN9fSxvTj1mdW5jdGlvbihhLGIsYyxkKXtpZighYylyZXR1cm4hMTtmb3IodmFyIGU9U3RyaW5nKGMudmFsdWUpLGYsZz12b2lkIDAsaD1lLnJlcGxhY2UoL1xbIj8nPy9nLCIuIikucmVwbGFjZSgvIj8nP1xdL2csIiIpLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHUpe3JldHVybiB1LnRyaW0oKX0pLmZpbHRlcihmdW5jdGlvbih1KXtyZXR1cm4gdSYmIVNiKHUsIiMiKSYmIVNiKHUsIi4iKX0pLGw9MDtsPGgubGVuZ3RoO2wrKyl7dmFyIG49aFtsXTtpZihTYihuLCJkYXRhTGF5ZXIuIikpZj11QShuLnN1YnN0cmluZygxMCkpLGc9bk4oZiwiZCIsbik7ZWxzZXt2YXIgcD1uLnNwbGl0KCIuIik7Zj1BW3Auc2hpZnQoKV07CmZvcih2YXIgcT0wO3E8cC5sZW5ndGg7cSsrKWY9ZiYmZltwW3FdXTtnPW5OKGYsImoiLG4pfWlmKGYhPT12b2lkIDApYnJlYWt9aWYoZj09PXZvaWQgMCl0cnl7dmFyIHI9Qi5xdWVyeVNlbGVjdG9yQWxsKGUpO2lmKHImJnIubGVuZ3RoPjApe2Y9W107Zm9yKHZhciB0PTA7dDxyLmxlbmd0aCYmdDwoYj09PSJlbWFpbCJ8fGI9PT0icGhvbmVfbnVtYmVyIj81OjEpO3QrKylmLnB1c2goZmQoclt0XSl8fExiKHJbdF0udmFsdWUpKTtmPWYubGVuZ3RoPT09MT9mWzBdOmY7Zz1uTihmLCJjIixlKX19Y2F0Y2godSl7UCgxNDkpfXJldHVybiBmPyhhW2JdPWYsZCYmZyYmKGRbYl09ZyksITApOiExfTsKdmFyIHBOPWZ1bmN0aW9uKGEpe2lmKGRJKGEsImNjZF9hZGRfMXBfZGF0YSIsITEpJiZYbyhmcCkpe3ZhciBiPWEuTS5pYltGLkQubG1dO2lmKENkKGIpJiZiLmVuYWJsZV9jb2RlKXt2YXIgYz1PKGEuTSxGLkQuQWMpO2lmKGM9PT1udWxsKVYoYSxILkouR24sbnVsbCk7ZWxzZSBpZihiLmVuYWJsZV9jb2RlJiZDZChjKSYmKFp2KGMpLFYoYSxILkouR24sYykpLENkKGIuc2VsZWN0b3JzKSl7dmFyIGQ9SC5KLmlyLGU7dmFyIGY9Yi5zZWxlY3RvcnMsZz1NKDUyMyk7Zz1nPT09dm9pZCAwPyExOmc7aWYoZil7dmFyIGg9e30sbD0hMSxuPXt9O2w9b04oaCwiZW1haWwiLGYuZW1haWwsbil8fGw7bD1vTihoLCJwaG9uZV9udW1iZXIiLGYucGhvbmUsbil8fGw7aC5hZGRyZXNzPVtdO2Zvcih2YXIgcD1mLm5hbWVfYW5kX2FkZHJlc3N8fFtdLHE9MDtxPHAubGVuZ3RoO3ErKyl7dmFyIHI9e30sdD17fTtsPW9OKHIsImZpcnN0X25hbWUiLHBbcV0uZmlyc3RfbmFtZSx0KXx8bDtsPW9OKHIsCiJsYXN0X25hbWUiLHBbcV0ubGFzdF9uYW1lLHQpfHxsO2w9b04ociwic3RyZWV0IixwW3FdLnN0cmVldCx0KXx8bDtsPW9OKHIsImNpdHkiLHBbcV0uY2l0eSx0KXx8bDtsPW9OKHIsInJlZ2lvbiIscFtxXS5yZWdpb24sdCl8fGw7bD1vTihyLCJjb3VudHJ5IixwW3FdLmNvdW50cnksdCl8fGw7bD1vTihyLCJwb3N0YWxfY29kZSIscFtxXS5wb3N0YWxfY29kZSx0KXx8bDtoLmFkZHJlc3MucHVzaChyKTtnJiYoci5fdGFnX21ldGFkYXRhPXQpfWcmJihoLl90YWdfbWV0YWRhdGE9bik7ZT1sP2g6dm9pZCAwfWVsc2UgZT12b2lkIDA7VihhLGQsZSl9fX19O2Z1bmN0aW9uIEZPKGEsYixjLGQpe31GTy5QPSJpbnRlcm5hbC5leGVjdXRlRXZlbnRQcm9jZXNzb3IiO2Z1bmN0aW9uIEdPKGEpe3ZhciBiO3JldHVybiBVZChiLHRoaXMuVCwxKX1HTy5QPSJpbnRlcm5hbC5leGVjdXRlSmF2YXNjcmlwdFN0cmluZyI7ZnVuY3Rpb24gSE8oYSl7dmFyIGI7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBjPUE7dHJ5e2I9S2ooYy5lc2NhcGUoYy5hdG9iKGEpKSl9Y2F0Y2goZCl7cmV0dXJufXJldHVybiBifTtmdW5jdGlvbiBJTyhhKXt2YXIgYj0iIjtyZXR1cm4gYn1JTy5QPSJpbnRlcm5hbC5nZW5lcmF0ZUNsaWVudElkIjtmdW5jdGlvbiBKTyhhKXt2YXIgYj17fTtyZXR1cm4gVWQoYil9Sk8uUD0iaW50ZXJuYWwuZ2V0QWRzQ29va2llV3JpdGluZ09wdGlvbnMiO2Z1bmN0aW9uIEtPKGEsYil7dmFyIGM9ITE7cmV0dXJuIGN9S08uUD0iaW50ZXJuYWwuZ2V0QWxsb3dBZFBlcnNvbmFsaXphdGlvbiI7ZnVuY3Rpb24gTE8oKXt2YXIgYTtyZXR1cm4gYX1MTy5QPSJpbnRlcm5hbC5nZXRBbmRSZXNldEV2ZW50VXNhZ2UiO2Z1bmN0aW9uIE1PKGEsYil7Yj1iPT09dm9pZCAwPyEwOmI7dmFyIGM7cmV0dXJuIGN9TU8uUD0iaW50ZXJuYWwuZ2V0QXVpZCI7ZnVuY3Rpb24gTk8oKXt2YXIgYT1bXTtyZXR1cm4gVWQoYSl9Tk8uUD0iaW50ZXJuYWwuZ2V0Q29udGFpbmVySWRzIjtmdW5jdGlvbiBPTygpe3ZhciBhPW5ldyBrYjtMKHRoaXMsInJlYWRfY29udGFpbmVyX2RhdGEiKSxhLnNldCgiY29udGFpbmVySWQiLGlnKSxhLnNldCgidmVyc2lvbiIsa2cpLGEuc2V0KCJlbnZpcm9ubWVudE5hbWUiLGpnKSxhLnNldCgiZGVidWdNb2RlIixsZyksYS5zZXQoInByZXZpZXdNb2RlIixtZy5QbyksYS5zZXQoImVudmlyb25tZW50TW9kZSIsbWcuS3IpLGEuc2V0KCJmaXJzdFBhcnR5U2VydmluZyIsYWsoKSksYS5zZXQoImNvbnRhaW5lclVybCIsS2MpLGEuc2V0KCJpc0dvb2dsZU9ubHlNb2RlIixJZig2MikpLGEuWmEoKTtyZXR1cm4gYX1PTy5wdWJsaWNOYW1lPSJnZXRDb250YWluZXJWZXJzaW9uIjtmdW5jdGlvbiBQTyhhLGIpe2I9Yj09PXZvaWQgMD8hMDpiO3ZhciBjO3JldHVybiBjfVBPLnB1YmxpY05hbWU9ImdldENvb2tpZVZhbHVlcyI7ZnVuY3Rpb24gUU8oKXt2YXIgYT0iIjtyZXR1cm4gYX1RTy5QPSJpbnRlcm5hbC5nZXRDb3JlUGxhdGZvcm1TZXJ2aWNlc1BhcmFtIjtmdW5jdGlvbiBSTygpe3JldHVybiB5bSgpfVJPLlA9ImludGVybmFsLmdldENvdW50cnlDb2RlIjtmdW5jdGlvbiBTTygpe3ZhciBhPVtdO2E9dGsoKTtyZXR1cm4gVWQoYSl9U08uUD0iaW50ZXJuYWwuZ2V0RGVzdGluYXRpb25JZHMiO2Z1bmN0aW9uIFRPKGEpe3ZhciBiPW5ldyBrYjtyZXR1cm4gYn1UTy5QPSJpbnRlcm5hbC5nZXREZXZlbG9wZXJJZHMiO2Z1bmN0aW9uIFVPKGEpe3ZhciBiO3JldHVybiBifVVPLlA9ImludGVybmFsLmdldEVjc2lkQ29va2llVmFsdWUiO2Z1bmN0aW9uIFZPKGEsYil7dmFyIGM9bnVsbDtyZXR1cm4gY31WTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50QXR0cmlidXRlIjtmdW5jdGlvbiBXTyhhKXt2YXIgYj1udWxsO3JldHVybiBifVdPLlA9ImludGVybmFsLmdldEVsZW1lbnRCeUlkIjtmdW5jdGlvbiBYTyhhKXt2YXIgYj0iIjtyZXR1cm4gYn1YTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50SW5uZXJUZXh0IjtmdW5jdGlvbiBZTyhhKXt2YXIgYj1udWxsO3JldHVybiBifVlPLlA9ImludGVybmFsLmdldEVsZW1lbnRQYXJlbnQiO2Z1bmN0aW9uIFpPKGEpe3ZhciBiPW51bGw7cmV0dXJuIGJ9Wk8uUD0iaW50ZXJuYWwuZ2V0RWxlbWVudFByZXZpb3VzU2libGluZyI7ZnVuY3Rpb24gJE8oYSxiKXt2YXIgYz1udWxsO3JldHVybiBVZChjKX0kTy5QPSJpbnRlcm5hbC5nZXRFbGVtZW50UHJvcGVydHkiO2Z1bmN0aW9uIGFQKGEpe3ZhciBiO3JldHVybiBifWFQLlA9ImludGVybmFsLmdldEVsZW1lbnRWYWx1ZSI7ZnVuY3Rpb24gYlAoYSl7dmFyIGI9MDtyZXR1cm4gYn1iUC5QPSJpbnRlcm5hbC5nZXRFbGVtZW50VmlzaWJpbGl0eVJhdGlvIjtmdW5jdGlvbiBjUChhKXt2YXIgYj1udWxsO3JldHVybiBifWNQLlA9ImludGVybmFsLmdldEVsZW1lbnRzQnlDc3NTZWxlY3RvciI7CmZ1bmN0aW9uIGRQKGEpe3ZhciBiO2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtMKHRoaXMsInJlYWRfZXZlbnRfZGF0YSIsYSk7dmFyIGM7YTp7dmFyIGQ9YSxlPVhGKHRoaXMpLm9yaWdpbmFsRXZlbnREYXRhO2lmKGUpe2Zvcih2YXIgZj1lLGc9e30saD17fSxsPXt9LG49W10scD1kLnNwbGl0KCJcXFxcIikscT0wO3E8cC5sZW5ndGg7cSsrKXtmb3IodmFyIHI9cFtxXS5zcGxpdCgiXFwuIiksdD0wO3Q8ci5sZW5ndGg7dCsrKXtmb3IodmFyIHU9clt0XS5zcGxpdCgiLiIpLHY9MDt2PHUubGVuZ3RoO3YrKyluLnB1c2godVt2XSksdiE9PXUubGVuZ3RoLTEmJm4ucHVzaChsKTt0IT09ci5sZW5ndGgtMSYmbi5wdXNoKGgpfXEhPT1wLmxlbmd0aC0xJiZuLnB1c2goZyl9Zm9yKHZhciB4PVtdLHk9IiIsej1tKG4pLEM9ei5uZXh0KCk7IUMuZG9uZTtDPQp6Lm5leHQoKSl7dmFyIEQ9Qy52YWx1ZTtEPT09bD8oeC5wdXNoKHkpLHk9IiIpOnk9RD09PWc/eSsiXFwiOkQ9PT1oP3krIi4iOnkrRH15JiZ4LnB1c2goeSk7Zm9yKHZhciBJPW0oeCksRz1JLm5leHQoKTshRy5kb25lO0c9SS5uZXh0KCkpe2lmKGY9PW51bGwpe2M9dm9pZCAwO2JyZWFrIGF9Zj1mW0cudmFsdWVdfWM9Zn1lbHNlIGM9dm9pZCAwfWI9VWQoYyx0aGlzLlQsMSk7cmV0dXJuIGJ9ZFAuUD0iaW50ZXJuYWwuZ2V0RXZlbnREYXRhIjtmdW5jdGlvbiBlUChhKXt2YXIgYj1udWxsO2lmKCFsaChhKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIl0sYXJndW1lbnRzKTtMKHRoaXMsInJlYWRfZG9tX2VsZW1lbnRzIiwiY3NzIixhKTt0cnl7dmFyIGM9Qi5xdWVyeVNlbGVjdG9yKGEpO2MmJihiPW5ldyBQZChjKSl9Y2F0Y2goZCl7cmV0dXJuIG51bGx9cmV0dXJuIGJ9ZVAuUD0iaW50ZXJuYWwuZ2V0Rmlyc3RFbGVtZW50QnlDc3NTZWxlY3RvciI7ZnVuY3Rpb24gZlAoKXt2YXIgYTtyZXR1cm4gYX1mUC5QPSJpbnRlcm5hbC5nZXRHc2FFeHBlcmltZW50SWQiO2Z1bmN0aW9uIGdQKCl7cmV0dXJuIG5ldyBQZChQayl9Z1AuUD0iaW50ZXJuYWwuZ2V0SHRtbElkIjtmdW5jdGlvbiBoUCgpe3ZhciBhO3JldHVybiBhfWhQLlA9ImludGVybmFsLmdldElmcmFtaW5nU3RhdGUiO2Z1bmN0aW9uIGlQKGEsYil7dmFyIGM9e307cmV0dXJuIFVkKGMpfWlQLlA9ImludGVybmFsLmdldExpbmtlclZhbHVlRnJvbUxvY2F0aW9uIjtmdW5jdGlvbiBqUCgpe3ZhciBhPW5ldyBrYjtyZXR1cm4gYX1qUC5QPSJpbnRlcm5hbC5nZXRQcml2YWN5U3RyaW5ncyI7ZnVuY3Rpb24ga1AoYSxiKXt2YXIgYztpZighbGgoYSl8fCFsaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwic3RyaW5nIl0sYXJndW1lbnRzKTt2YXIgZD0kSChhKXx8e307Yz1VZChkW2JdLHRoaXMuVCk7cmV0dXJuIGN9a1AuUD0iaW50ZXJuYWwuZ2V0UHJvZHVjdFNldHRpbmdzUGFyYW1ldGVyIjtmdW5jdGlvbiBsUChhLGIpe3ZhciBjO2lmKCFsaChhKXx8IXBoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJib29sZWFufHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7TCh0aGlzLCJnZXRfdXJsIiwicXVlcnkiLGEpO3ZhciBkPUxqKFJqKEEubG9jYXRpb24uaHJlZiksInF1ZXJ5IiksZT1JaihkLGEsYik7Yz1VZChlLHRoaXMuVCk7cmV0dXJuIGN9bFAucHVibGljTmFtZT0iZ2V0UXVlcnlQYXJhbWV0ZXJzIjtmdW5jdGlvbiBtUChhLGIpe3ZhciBjO3JldHVybiBjfW1QLnB1YmxpY05hbWU9ImdldFJlZmVycmVyUXVlcnlQYXJhbWV0ZXJzIjtmdW5jdGlvbiBuUChhKXt2YXIgYj0iIjtyZXR1cm4gYn1uUC5wdWJsaWNOYW1lPSJnZXRSZWZlcnJlclVybCI7ZnVuY3Rpb24gb1AoKXtyZXR1cm4gem0oKX1vUC5QPSJpbnRlcm5hbC5nZXRSZWdpb25Db2RlIjtmdW5jdGlvbiBwUChhLGIpe3ZhciBjO2lmKCFsaChhKXx8IWxoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJzdHJpbmciXSxhcmd1bWVudHMpO3ZhciBkPWVEKGEpO2M9VWQoZFtiXSx0aGlzLlQpO3JldHVybiBjfXBQLlA9ImludGVybmFsLmdldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gcVAoYSxiKXt2YXIgYz1udWxsOwpyZXR1cm4gY31xUC5QPSJpbnRlcm5hbC5nZXRTY29wZWRFbGVtZW50c0J5Q3NzU2VsZWN0b3IiO2Z1bmN0aW9uIHJQKCl7dmFyIGE9bmV3IGtiO2Euc2V0KCJ3aWR0aCIsMCk7YS5zZXQoImhlaWdodCIsMCk7cmV0dXJuIGF9clAuUD0iaW50ZXJuYWwuZ2V0U2NyZWVuRGltZW5zaW9ucyI7ZnVuY3Rpb24gc1AoKXt2YXIgYT0iIjtyZXR1cm4gYX1zUC5QPSJpbnRlcm5hbC5nZXRUb3BTYW1lRG9tYWluVXJsIjtmdW5jdGlvbiB0UCgpe3ZhciBhPSIiO3JldHVybiBhfXRQLlA9ImludGVybmFsLmdldFRvcFdpbmRvd1VybCI7ZnVuY3Rpb24gdVAoYSl7dmFyIGI9IiI7aWYoIW1oKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmd8dW5kZWZpbmVkIl0sYXJndW1lbnRzKTtMKHRoaXMsImdldF91cmwiLGEpO2I9TGooUmooQS5sb2NhdGlvbi5ocmVmKSxhKTtyZXR1cm4gYn11UC5wdWJsaWNOYW1lPSJnZXRVcmwiO2Z1bmN0aW9uIHZQKCl7TCh0aGlzLCJnZXRfdXNlcl9hZ2VudCIpO3JldHVybiBIYy51c2VyQWdlbnR9dlAucHVibGljTmFtZT0iZ2V0VXNlckFnZW50Ijt2UC5QPSJpbnRlcm5hbC5nZXRVc2VyQWdlbnQiO2Z1bmN0aW9uIHdQKCl7dmFyIGE7cmV0dXJuIGE/VWQoRU0oYSkpOmF9d1AuUD0iaW50ZXJuYWwuZ2V0VXNlckFnZW50Q2xpZW50SGludHMiO3ZhciB5UD1mdW5jdGlvbihhKXt2YXIgYj1hLmV2ZW50TmFtZT09PUYuRC5zYyYmRWwoKSYmYmsoWksoYSkpLGM9UShhLEguSi5kbiksZD1RKGEsSC5KLktrKSxlPVEoYSxILkoubWcpLGY9UShhLEguSi5UZSksZz1RKGEsSC5KLkZjKSxoPVEoYSxILkouaGQpLGw9UShhLEguSi5yZyksbj1RKGEsSC5KLk1oKSxwPVEoYSxILkouTmgpLHE9ISFZSyhhKXx8ISFRKGEsSC5KLnBwKTtyZXR1cm4hKCFuZCgpJiYha2QoKXx8ZXx8cXx8Znx8Z3x8aHx8bHx8cHx8bnx8Ynx8Y3x8IWQmJnhQKCkpfSx4UD1mdW5jdGlvbigpe3JldHVybiBhbCg5LGZ1bmN0aW9uKCl7cmV0dXJuITF9KX07ZnVuY3Rpb24gelAoKXt2YXIgYT1BO3JldHVybiBhLmdhR2xvYmFsPWEuZ2FHbG9iYWx8fHt9fWZ1bmN0aW9uIEFQKGEsYil7dmFyIGM9elAoKTtpZihjLnZpZD09PXZvaWQgMHx8YiYmIWMuZnJvbV9jb29raWUpYy52aWQ9YSxjLmZyb21fY29va2llPWJ9O3ZhciBCUD1bIkdBMSJdOwp2YXIgQ1A9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVEoYSxILkouUGspO2lmKGQ9PT12b2lkIDB8fGM8PWQpVShhLEYuRC5LYixiKSxWKGEsSC5KLlBrLGMpfSxFUD1mdW5jdGlvbihhLGIpe3ZhciBjPVIoYSxGLkQuS2IpO2lmKE8oYS5NLEYuRC5aYykmJk8oYS5NLEYuRC5ZYyl8fGImJmM9PT1iKXJldHVybiBjO2lmKGMpe2M9IiIrYztpZighRFAoYyxhKSlyZXR1cm4gUCgzMSksYS5pc0Fib3J0ZWQ9ITAsIiI7QVAoYyxYbyhGLkQucmEpKTtyZXR1cm4gY31QKDMyKTthLmlzQWJvcnRlZD0hMDtyZXR1cm4iIn0sRlA9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5HYSksYz1iLnByZWZpeCsiX2dhIixkPUJ2KGIucHJlZml4KyJfZ2EiLGIuZG9tYWluLGIucGF0aCxCUCxGLkQucmEpO2lmKCFkKXt2YXIgZT1TdHJpbmcoTyhhLk0sRi5ELklkLCIiKSk7ZSYmZSE9PWMmJihkPUJ2KGUsYi5kb21haW4sYi5wYXRoLEJQLEYuRC5yYSkpfXJldHVybiBkfSxEUD1mdW5jdGlvbihhLGIpe3ZhciBjOwp2YXIgZD1RKGIsSC5KLkdhKSxlPWQucHJlZml4KyJfZ2EiLGY9dXEoZCx2b2lkIDAsdm9pZCAwLEYuRC5yYSk7aWYoTyhiLk0sRi5ELkpkKT09PSExJiZGUChiKT09PWEpYz0hMDtlbHNle3ZhciBnO2c9W0JQWzBdLHRxKGQuZG9tYWluLGQucGF0aCksYV0uam9pbigiLiIpO2M9b3EoZSxnLGYpIT09MX1yZXR1cm4gY307CnZhciBHUD1mdW5jdGlvbihhKXt2YXIgYj0wLGM9MDtyZXR1cm57c3RhcnQ6ZnVuY3Rpb24oKXtiPU5iKCl9LHN0b3A6ZnVuY3Rpb24oKXtjPXRoaXMuZ2V0KCl9LGdldDpmdW5jdGlvbigpe3ZhciBkPTA7YS5WaigpJiYoZD1OYigpLWIpO3JldHVybiBkK2N9fX0sSFA9ZnVuY3Rpb24oKXt0aGlzLkg9dm9pZCAwO3RoaXMuSz0wO3RoaXMuaXNBY3RpdmU9dGhpcy5pc1Zpc2libGU9dGhpcy5OPSExO3RoaXMuWj10aGlzLlI9dm9pZCAwfTtrPUhQLnByb3RvdHlwZTtrLktxPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7aWYoIXRoaXMuSCl7dGhpcy5OPUIuaGFzRm9jdXMoKTt0aGlzLmlzVmlzaWJsZT0hQi5oaWRkZW47dGhpcy5pc0FjdGl2ZT0hMDt2YXIgYz1mdW5jdGlvbihlLGYsZyl7JGMoZSxmLGZ1bmN0aW9uKGgpe2IuSC5zdG9wKCk7ZyhoKTtiLlZqKCkmJmIuSC5zdGFydCgpfSl9LGQ9QTtjKGQsImZvY3VzIixmdW5jdGlvbigpe2IuTj0hMH0pO2MoZCwiYmx1ciIsZnVuY3Rpb24oKXtiLk49CiExfSk7YyhkLCJwYWdlc2hvdyIsZnVuY3Rpb24oZSl7Yi5pc0FjdGl2ZT0hMDtlLnBlcnNpc3RlZCYmUCg1Nik7Yi5aJiZiLlooKX0pO2MoZCwicGFnZWhpZGUiLGZ1bmN0aW9uKCl7Yi5pc0FjdGl2ZT0hMTtiLlImJmIuUigpfSk7YyhCLCJ2aXNpYmlsaXR5Y2hhbmdlIixmdW5jdGlvbigpe2IuaXNWaXNpYmxlPSFCLmhpZGRlbn0pO2JrKFpLKGEpKSYmIU9jKCkmJmMoZCwiYmVmb3JldW5sb2FkIixmdW5jdGlvbigpe1prKDksITApfSk7dGhpcy5xayghMCk7dGhpcy5LPTB9fTtrLnFrPWZ1bmN0aW9uKGEpe2lmKChhPT09dm9pZCAwPzA6YSl8fHRoaXMuSCl0aGlzLksrPXRoaXMuWWgoKSx0aGlzLkg9R1AodGhpcyksdGhpcy5WaigpJiZ0aGlzLkguc3RhcnQoKX07ay5LdD1mdW5jdGlvbihhKXt2YXIgYj10aGlzLlloKCk7Yj4wJiZVKGEsRi5ELm5oLGIpfTtrLmxzPWZ1bmN0aW9uKGEpe1UoYSxGLkQubmgpO3RoaXMucWsoKTt0aGlzLks9MH07ay5Waj1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4mJgp0aGlzLmlzVmlzaWJsZSYmdGhpcy5pc0FjdGl2ZX07ay5Ycj1mdW5jdGlvbigpe3JldHVybiB0aGlzLksrdGhpcy5ZaCgpfTtrLlloPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSCYmdGhpcy5ILmdldCgpfHwwfTtrLmh0PWZ1bmN0aW9uKGEpe3RoaXMuUj1hfTtrLkNvPWZ1bmN0aW9uKGEpe3RoaXMuWj1hfTt2YXIgSVA9ZnVuY3Rpb24oYSl7c2IoIkdBNF9FVkVOVCIsYSl9O3ZhciBKUD1mdW5jdGlvbihhKXt2YXIgYixjPVEoYSxILkoud20pO2lmKEFycmF5LmlzQXJyYXkoYykpZm9yKHZhciBkPTA7ZDxjLmxlbmd0aDtkKyspSVAoY1tkXSk7KGI9d2IocmIuR0E0X0VWRU5UfHxbXSkpJiZVKGEsIl9ldSIsYil9Owp2YXIgTVA9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFJlZ0V4cCgiXiIrKCgoYT09bnVsbD92b2lkIDA6YS5wcmVmaXgpfHwiIikrIl9nYV9cXHcrJCIpKSxjPXlxKGZ1bmN0aW9uKHApe3JldHVybiBiLnRlc3QocCl9KSxkPXt9LGU7Zm9yKGUgaW4gYylpZihjLmhhc093blByb3BlcnR5KGUpKXt2YXIgZj1LUChjW2VdKTtpZihmKXt2YXIgZz1icShmLDIpO2lmKGcpe3ZhciBoPUxQKGcpO2lmKGgpe3ZhciBsPXZvaWQgMCxuPSgoKGw9YSk9PW51bGw/dm9pZCAwOmwucHJlZml4KXx8IiIpLmxlbmd0aCs0O2RbIkctIitlLnN1YnN0cmluZyhuKV09aH19fX1yZXR1cm4gZH0sTlA9ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI7YTp7dmFyIGM9KFNiKGEsInMiKSYmYS5pbmRleE9mKCIuIik9PT0tMT8iR1MyIjoiR1MxIikrIi4xLiIrYTt0cnl7Yj0kcChjLDIpO2JyZWFrIGF9Y2F0Y2goZCl7fWI9dm9pZCAwfXJldHVybiBifX0sS1A9ZnVuY3Rpb24oYSl7aWYoYSYmYS5sZW5ndGghPT0wKXtmb3IodmFyIGIsCmM9LUluZmluaXR5LGQ9bShhKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtpZihmLnQhPT12b2lkIDApe3ZhciBnPU51bWJlcihmLnQpOyFpc05hTihnKSYmZz5jJiYoYz1nLGI9Zil9fXJldHVybiBifX0senE9ZnVuY3Rpb24oYSl7YSYmKGE9PT0iR1MxIj9JUChKLlUuS20pOmE9PT0iR1MyIiYmSVAoSi5VLkxtKSl9LExQPWZ1bmN0aW9uKGEpe3ZhciBiPU5QKGEpO2lmKGIpe3ZhciBjPU51bWJlcihiLm8pLGQ9TnVtYmVyKGIudCksZT1OdW1iZXIoYi5qfHwwKTtjfHxJUChKLlUuVW0pO2R8fElQKEouVS5UbSk7aXNOYU4oZSkmJklQKEouVS5TbSk7aWYoYyYmZCYmIWlzTmFOKGUpKXt2YXIgZj1iLmgsZz1mJiZmIT09IjAiP1N0cmluZyhmKTp2b2lkIDAsaD1iLmQ/U3RyaW5nKGIuZCk6dm9pZCAwLGw9e307cmV0dXJuIGwucz1TdHJpbmcoYi5zKSxsLm89YyxsLmc9ISFOdW1iZXIoYi5nKSxsLnQ9ZCxsLmQ9aCxsLmo9ZSxsLmw9Yi5sPT09IjEiLApsLmg9ZyxsfX19Owp2YXIgUFA9ZnVuY3Rpb24oYSxiLGMpe2lmKCFiKXJldHVybiBhO2lmKCFhKXJldHVybiBiO3ZhciBkPUxQKGEpO2lmKCFkKXJldHVybiBiO3ZhciBlLGY9SWIoKGU9TyhjLk0sRi5ELnloKSkhPW51bGw/ZTozMCksZz1RKGMsSC5KLkViKTtpZighKE1hdGguZmxvb3IoZy8xRTMpPmQudCtmKjYwKSlyZXR1cm4gYTt2YXIgaD1MUChiKTtpZighaClyZXR1cm4gYTtoLm89ZC5vKzE7dmFyIGw7cmV0dXJuKGw9T1AoaCkpIT1udWxsP2w6Yn0sUlA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1RKGIsSC5KLkdhKSxkPVFQKGIsYyksZT1OUChhKTtpZighZSlyZXR1cm4hMTt2YXIgZj11cShjfHx7fSx2b2lkIDAsdm9pZCAwLHZxLmdldCgyKSk7b3EoZCx2b2lkIDAsZik7cmV0dXJuIEFxKGQsZSwyLGMpIT09MX0sU1A9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5HYSksYzt2YXIgZD1RUChhLGIpLGU7Yjp7dmFyIGY9enEsZz1acFsyXTtpZihnKXt2YXIgaCxsPXJxKGIuZG9tYWluKSxuPXNxKGIucGF0aCksCnA9T2JqZWN0LmtleXMoZy5qaSkscT12cS5nZXQoMikscjtpZihoPShyPWdxKGQsbCxuLHAscSkpPT1udWxsP3ZvaWQgMDpyLkJyKXt2YXIgdD0kcChoLDIsZik7ZT10P3hxKHQpOnZvaWQgMDticmVhayBifX1lPXZvaWQgMH1pZihlKXt2YXIgdT13cShkLDIsenEpO2lmKHUmJnUubGVuZ3RoPjEpe0lQKEouVS5KbSk7dmFyIHY9S1AodSk7diYmdi50IT09ZS50JiYoSVAoSi5VLk1tKSxlPXYpfWM9YnEoZSwyKX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfSxUUD1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLkViKSxjPXt9O2Mucz1SKGEsRi5ELnhjKTtjLm89UihhLEYuRC5BaCk7dmFyIGQ7ZD1SKGEsRi5ELnpoKTt2YXIgZT0oYy5nPWQsYy50PU1hdGguZmxvb3IoYi8xRTMpLGMuZD1RKGEsSC5KLm9nKSxjLmo9UShhLEguSi5wZyl8fDAsYy5sPSEhUShhLEguSi5ybSksYy5oPVIoYSxGLkQub2gpLGMpO3JldHVybiBPUChlKX0sT1A9ZnVuY3Rpb24oYSl7aWYoYS5zJiZhLm8pe3ZhciBiPQp7fSxjPShiLnM9YS5zLGIubz1TdHJpbmcoYS5vKSxiLmc9SWIoYS5nKT8iMSI6IjAiLGIudD1TdHJpbmcoYS50KSxiLmo9U3RyaW5nKGEuaiksYi5sPWEubD8iMSI6IjAiLGIuaD1hLmh8fCIwIixiLmQ9YS5kLGIpO3JldHVybiBicShjLDIpfX0sUVA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5wcmVmaXgrIl9nYV8iK2EudGFyZ2V0Lmlkc1tkQ1s2XV19Owp2YXIgVVA9ZnVuY3Rpb24oKXtyZXR1cm4gYWwoMixmdW5jdGlvbigpe3JldHVybiExfSl9LFZQPWZ1bmN0aW9uKGEpe3ZhciBiPU8oYS5NLEYuRC5EYiksYz1hLk0uaWJbRi5ELkRiXTtpZihjPT09YilyZXR1cm4gYzt2YXIgZD1FZChiLG51bGwpO2MmJmNbRi5ELkFhXSYmKGRbRi5ELkFhXT0oZFtGLkQuQWFdfHxbXSkuY29uY2F0KGNbRi5ELkFhXSkpO3JldHVybiBkfSxXUD1mdW5jdGlvbihhLGIpe3ZhciBjPVVxKCEwKTtyZXR1cm4gYy5fdXAhPT0iMSI/e306e2NsaWVudElkOmNbYV0semI6Y1tiXX19LFhQPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1VcSghMCksZT1kW2JdO2UmJihDUChhLGUsMiksRFAoZSxhKSk7dmFyIGY9ZFtjXTtmJiZSUChmLGEpO3JldHVybntjbGllbnRJZDplLHpiOmZ9fSxZUD1mdW5jdGlvbigpe3ZhciBhPU5qKEEubG9jYXRpb24sImhvc3QiKSxiPU5qKFJqKEIucmVmZXJyZXIpLCJob3N0Iik7cmV0dXJuIGEmJmI/YT09PWJ8fGEuaW5kZXhPZigiLiIrYik+PQowfHxiLmluZGV4T2YoIi4iK2EpPj0wPyEwOiExOiExfSxaUD1mdW5jdGlvbihhKXtpZighTyhhLk0sRi5ELnpjKSlyZXR1cm57fTt2YXIgYj1RKGEsSC5KLkdhKSxjPWIucHJlZml4KyJfZ2EiLGQ9UVAoYSxiKTticihmdW5jdGlvbigpe3ZhciBlO2lmKFhvKCJhbmFseXRpY3Nfc3RvcmFnZSIpKWU9e307ZWxzZXt2YXIgZj17X3VwOiIxIn0sZztnPVIoYSxGLkQuS2IpO2U9KGZbY109ZyxmW2RdPVRQKGEpLGYpfXJldHVybiBlfSwxKTtyZXR1cm4hWG8oImFuYWx5dGljc19zdG9yYWdlIikmJllQKCk/V1AoYyxkKTp7fX0sJFA9ZnVuY3Rpb24oYSl7dmFyIGI9VlAoYSl8fHt9LGM9UShhLEguSi5HYSksZD1jLnByZWZpeCsiX2dhIixlPVFQKGEsYyksZj17fTtkcihiW0YuRC5YZl0sISFiW0YuRC5BYV0pJiYoZj1YUChhLGQsZSksZi5jbGllbnRJZCYmZi56YiYmWmsoMiwhMCkpO2JbRi5ELkFhXSYmYXIoZnVuY3Rpb24oKXt2YXIgZz17fSxoPUZQKGEpO2gmJihnW2RdPWgpO3ZhciBsPVNQKGEpOwpsJiYoZ1tlXT1sKTt2YXIgbj1jcSgiRlBMQyIsdm9pZCAwLHZvaWQgMCxGLkQucmEpO24ubGVuZ3RoJiYoZy5fZnBsYz1uWzBdKTtyZXR1cm4gZ30sYltGLkQuQWFdLGJbRi5ELmFkXSwhIWJbRi5ELndjXSk7cmV0dXJuIGZ9O3ZhciBhUT1mdW5jdGlvbihhKXtpZighUShhLEguSi5iZSkmJmVrKGEuTSkpe3ZhciBiPVZQKGEpfHx7fSxjPShkcihiW0YuRC5YZl0sISFiW0YuRC5BYV0pP1VxKCEwKS5fZnBsYzp2b2lkIDApfHwoY3EoIkZQTEMiLHZvaWQgMCx2b2lkIDAsRi5ELnJhKS5sZW5ndGg+MD92b2lkIDA6IjAiKTtVKGEsIl9mcGxjIixjKX19O2Z1bmN0aW9uIGJRKGEpeyhiayhaSyhhKSl8fFdqKCkpJiZVKGEsRi5ELm9tLHptKCl8fHltKCkpOyFiayhaSyhhKSkmJldqKCkmJlUoYSxGLkQuWWksIjo6Iil9ZnVuY3Rpb24gY1EoYSl7V2ooKSYmKGJrKFpLKGEpKXx8RG0oKXx8VShhLEYuRC5TbCwhMCkpfTt2YXIgZVE9ZnVuY3Rpb24oYSxiKXtraigiZ3JsIixmdW5jdGlvbigpe3JldHVybiBkUSgpfSkoYil8fChQKDM1KSxhLmlzQWJvcnRlZD0hMCl9LGRRPWZ1bmN0aW9uKCl7dmFyIGE9TmIoKSxiPWErODY0RTUsYz0yMCxkPTVFMztyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIGY9TmIoKTtmPj1iJiYoYj1mKzg2NEU1LGQ9NUUzKTtjPU1hdGgubWluKGMrKGYtYSkvMUUzKjUsMjApO2E9Zjt2YXIgZz0hMTtkPDF8fGM8MXx8KGc9ITAsZC0tLGMtLSk7ZSYmKGUuSHI9ZCxlLnVyPWMpO3JldHVybiBnfX07CnZhciBmUT1mdW5jdGlvbihhKXt2YXIgYj1SKGEsRi5ELlVhKTtyZXR1cm4gTGooUmooYiksImhvc3QiLCEwKX0sZ1E9ZnVuY3Rpb24oYSl7aWYoTyhhLk0sRi5ELldmKSE9PXZvaWQgMClhLmNvcHlUb0hpdERhdGEoRi5ELldmKTtlbHNle3ZhciBiPU8oYS5NLEYuRC5hbSksYyxkO2E6e2lmKFVQKCkpe3ZhciBlPVZQKGEpfHx7fTtpZihlJiZlW0YuRC5BYV0pZm9yKHZhciBmPWZRKGEpLGc9ZVtGLkQuQWFdLGg9MDtoPGcubGVuZ3RoO2grKylpZihnW2hdaW5zdGFuY2VvZiBSZWdFeHApe2lmKGdbaF0udGVzdChmKSl7ZD0hMDticmVhayBhfX1lbHNlIGlmKGYuaW5kZXhPZihnW2hdKT49MCl7ZD0hMDticmVhayBhfX1kPSExfWlmKCEoYz1kKSl7dmFyIGw7aWYobD1iKWE6e2Zvcih2YXIgbj1iLmluY2x1ZGVfY29uZGl0aW9uc3x8W10scD1mUShhKSxxPTA7cTxuLmxlbmd0aDtxKyspaWYobltxXS50ZXN0KHApKXtsPSEwO2JyZWFrIGF9bD0hMX1jPWx9YyYmKFUoYSxGLkQuV2YsIjEiKSwKSVAoSi5VLm5uKSl9fTtmdW5jdGlvbiBoUShhLGIsYyxkKXt2YXIgZTtpZigobmQoKXx8a2QoKSkmJlhqKCkmJlhqKCkhPT0iLyIpe3ZhciBmPVJqKGEpO2U9SWYoNTApJiZkJiZUYihmLnBhdGhuYW1lLCIvZy9jb2xsZWN0Iik/MjooZHx8IVdqKCl8fERtKCk/MDpUYihmLnBhdGhuYW1lLCIvZ2EvZy9jIil8fFRiKGYucGF0aG5hbWUsIi9hZy9nL2MiKSk/MTowfWVsc2UgZT0wO3N3aXRjaChlKXtjYXNlIDI6dmFyIGc7aWYoTSg1NDYpKXt2YXIgaD1UYihhLCIvZy9jb2xsZWN0Iik/YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0xMCk6YSxsPWlRKCksbj1oK2wscD1qUSgiL2cvY29sbGVjdCIsYixjKTtnPXtJYzpuLGtmOiIiLGJvZHk6cH19ZWxzZSBnPXtJYzphLGtmOmIsYm9keTpjfTtyZXR1cm4gZztjYXNlIDE6dmFyIHE7aWYoTSg1NDcpKXt2YXIgcj1pUSgpLHQ9YS5pbmRleE9mKHIpLHU9YS5zdWJzdHJpbmcoMCx0KStyLHY9alEoYS5zdWJzdHJpbmcodCtyLmxlbmd0aC0xKSxiLGMpO3E9e0ljOnUsa2Y6IiIsCmJvZHk6dn19ZWxzZSBxPXtJYzphLGtmOmIsYm9keTpjfTtyZXR1cm4gcTtkZWZhdWx0OnJldHVybntJYzphLGtmOmIsYm9keTpjfX19ZnVuY3Rpb24gaVEoKXt2YXIgYT1YaigpO2lmKCFhKXJldHVybiIiO1NiKGEsIi8iKXx8KGE9Ii8iK2EpO1RiKGEsIi8iKXx8KGErPSIvIik7cmV0dXJuIGF9ZnVuY3Rpb24galEoYSxiLGMpe3ZhciBkPVthXTtiJiZkLnB1c2goIj8iLGIpO2MmJmQucHVzaCgiXHJcbiIsYyk7cmV0dXJuIGQuam9pbigiIil9Owp2YXIga1E9ZnVuY3Rpb24oYSxiKXtUdCgpJiYoYS5nY3M9VXQoKSxRKGIsSC5KLkdoKSYmKGEuZ2N1PSIxIikpO2EuZ2NkPVl0KGIuTSk7YS5ucGE9UShiLEguSi53ZCk/IjAiOiIxIjt6bSgpPT09IlVTLUNPIiYmKGEuX25nPSIxIil9LGxRPWZ1bmN0aW9uKGEpe2lmKFEoYSxILkouYmUpKXJldHVybnt1cmw6ZmsoImh0dHBzOi8vd3d3Lm1lcmNoYW50LWNlbnRlci1hbmFseXRpY3MuZ29vZyIsdm9pZCAwLCIiKSsiL21jL2NvbGxlY3QiLGVuZHBvaW50OjIwfTt2YXIgYj1ZaihlayhhLk0pLCIvZy9jb2xsZWN0Iik7aWYoYilyZXR1cm57dXJsOmIsZW5kcG9pbnQ6MTZ9O3ZhciBjO2M9UShhLEguSi5ybikmJiFRKGEsSC5KLkZjKT8xNzoxNjtyZXR1cm57dXJsOk1tW2NdKHZvaWQgMCksZW5kcG9pbnQ6Y319LG1RPXt9O21RW0YuRC5LYl09ImNpZCI7bVFbRi5ELnhpXT0iZ2N1dCI7bVFbRi5ELkZlXT0iYXJlIjttUVtGLkQuamhdPSJwc2NkbCI7bVFbRi5ELk5kXT0iZXhjaWQiO21RW0YuRC5HaV09CiJfZmlkIjttUVtGLkQuT2xdPSJfZ2VvIjttUVtGLkQuWGNdPSJnZGlkIjttUVtGLkQuTGVdPSJfbmciO21RW0YuRC5NZV09ImZybSI7bVFbRi5ELldmXT0iaXIiO21RW0YuRC5TbF09ImZwIjttUVtGLkQudGJdPSJ1bCI7bVFbRi5ELk1pXT0ibmkiO21RW0YuRC5tcV09InBhZSI7bVFbRi5ELnhoXT0iX3JkaSI7bVFbRi5ELmJkXT0ic3IiO21RW0YuRC5RaV09InRlc3Rvbmx5IjttUVtGLkQuUWVdPSJ0aWQiO21RW0YuRC5SaV09InR0IjttUVtGLkQuQmNdPSJlY19tb2RlIjttUVtGLkQuWm1dPSJndG1fdXAiO21RW0YuRC5jZ109InVhYSI7bVFbRi5ELmRnXT0idWFiIjttUVtGLkQuZWddPSJ1YWZ2bCI7bVFbRi5ELmZnXT0idWFtYiI7bVFbRi5ELmdnXT0idWFtIjsKbVFbRi5ELmhnXT0idWFwIjttUVtGLkQuaWddPSJ1YXB2IjttUVtGLkQuamddPSJ1YXciO21RW0YuRC5vbV09InVyIjttUVtGLkQuWWldPSJfdWlwIjttUVtGLkQubHFdPSJfcHJzIjttUVtGLkQuUGRdPSJscHMiO21RW0YuRC5CZV09ImdjbGdzIjttUVtGLkQuRGVdPSJnY2xzdCI7bVFbRi5ELkNlXT0iZ2NsbHAiO3ZhciBuUT17fTtuUVtGLkQuR2ZdPSJjYyI7blFbRi5ELkhmXT0iY2kiO25RW0YuRC5JZl09ImNtIjtuUVtGLkQuSmZdPSJjbiI7blFbRi5ELkxmXT0iY3MiO25RW0YuRC5NZl09ImNrIjtuUVtGLkQuZWJdPSJjdSI7blFbRi5ELlZmXT0iX3R1IjtuUVtGLkQuemFdPSJkbCI7blFbRi5ELllmXT0iZHAiO25RW0YuRC5VYV09ImRyIjtuUVtGLkQuTWJdPSJkdCI7blFbRi5ELnpoXT0ic2VnIjtuUVtGLkQueGNdPQoic2lkIjtuUVtGLkQuQWhdPSJzY3QiO25RW0YuRC5mYl09InVpZCI7dmFyIG9RPXt9O29RW0YuRC5uaF09Il9ldCI7b1FbRi5ELlZjXT0iZWRpZCI7b1FbRi5ELk1kXT0iZXZuaWQiO00oOTQpJiYob1EuX2V1PSJfZXUiKTt2YXIgcFE9e307cFFbRi5ELkdmXT0iY2MiO3BRW0YuRC5IZl09ImNpIjtwUVtGLkQuSWZdPSJjbSI7cFFbRi5ELkpmXT0iY24iO3BRW0YuRC5MZl09ImNzIjtwUVtGLkQuTWZdPSJjayI7dmFyIHFRPXt9LHJRPShxUVtGLkQuQWNdPTEscVEpLHNRPWZ1bmN0aW9uKGEsYixjKXtmdW5jdGlvbiBkKGRhLG1hKXtpZihtYSE9PXZvaWQgMCYmIUJvLmhhc093blByb3BlcnR5KGRhKSl7bWE9PT1udWxsJiYobWE9IiIpO3ZhciBQYTt2YXIgRmE9bWE7ZGEhPT1GLkQub2g/UGE9ITE6UShhLEguSi5sZyl8fGJrKFpLKGEpKT8oZS5lY2lkPUZhLFBhPSEwKTpQYT12b2lkIDA7aWYoIVBhKXt2YXIgcWE9bWE7bWE9PT0hMCYmKHFhPSIxIik7bWE9PT0hMSYmKHFhPSIwIik7cWE9ClN0cmluZyhxYSk7dmFyIGliO2lmKGRhIT09Ri5ELk5kJiZkYSE9PUYuRC5NZHx8TSg1MDQpKWlmKG1RW2RhXSlpYj1tUVtkYV0sdltpYl09cWE7ZWxzZSBpZihuUVtkYV0paWI9blFbZGFdLGdbaWJdPXFhO2Vsc2UgaWYob1FbZGFdKWliPW9RW2RhXSxmW2liXT1xYTtlbHNlIGlmKFNiKGRhLCJfJiIpKWliPWRhLnN1YnN0cmluZygyKSx2W2liXT1xYTtlbHNlIGlmKGRhLmNoYXJBdCgwKT09PSJfIil2W2RhXT1xYTtlbHNle3ZhciBYYjtwUVtkYV0/WGI9ITA6ZGEhPT1GLkQuS2Y/WGI9ITE6KHR5cGVvZiBtYSE9PSJvYmplY3QiJiZ1KGRhLG1hKSxYYj0hMCk7WGJ8fHUoZGEsbWEpfWVsc2UgdShkYSxtYSl9fX12YXIgZT17fSxmPXt9LGc9e307ZS52PSIyIjtlLnRpZD1hLnRhcmdldC5kZXN0aW5hdGlvbklkO2UuZ3RtPWR1KHttYzpRKGEsSC5KLk5iKSxlZjpRKGEsSC5KLkNjKX0pO2UuX3A9JGsoMjUpO2MmJihjLmhhc1VwZHx8Yy5oYWRFcnJvcikmJihlLmVtPWMucGFyYW0pO1EoYSwKSC5KLnJnKSYmKGUuX2dhej0xKTtrUShlLGEpO2F1KCkmJihlLmRtYV9jcHM9WnQoKSk7ZS5kbWE9JHQoKTt2dChFdCgpKSYmKGUudGNmZD1idSgpKTt2YXIgaD1DcChhKTtoJiYoZy50YWdfZXhwPWgpO3ZhciBsPVIoYSxGLkQuWGMpO2wmJihlLmdkaWQ9bCk7Zi5lbj1TdHJpbmcoYS5ldmVudE5hbWUpO2lmKFEoYSxILkoubmcpKXt2YXIgbj1RKGEsSC5KLlltKTtmLl9mdj1uPzI6MX1RKGEsSC5KLkhoKSYmKGYuX25zaT0xKTtpZihRKGEsSC5KLlRlKSl7dmFyIHA9UShhLEguSi5ibik7Zi5fc3M9cD8yOjF9UShhLEguSi5tZykmJihmLl9jPTEpO1EoYSxILkouYWUpJiYoZi5fZWU9MSk7aWYoUShhLEguSi5XbSkpe3ZhciBxPVIoYSxGLkQuSGEpfHxPKGEuTSxGLkQuSGEpO2lmKEFycmF5LmlzQXJyYXkocSkpZm9yKHZhciByPTA7cjxxLmxlbmd0aCYmcjwyMDA7cisrKWZbInByIisocisxKV09dGcocVtyXSl9dmFyIHQ9UihhLEYuRC5WYyk7dCYmKGYuZWRpZD10KTtodChhLGYpO2Zvcih2YXIgdT0KZnVuY3Rpb24oZGEsbWEpe2lmKHR5cGVvZiBtYSE9PSJvYmplY3QifHwhclFbZGFdKXt2YXIgUGE9ImVwLiIrZGEsRmE9ImVwbi4iK2RhO2RhPUFiKG1hKT9GYTpQYTt2YXIgcWE9QWIobWEpP1BhOkZhO2YuaGFzT3duUHJvcGVydHkocWEpJiZkZWxldGUgZltxYV07ZltkYV09U3RyaW5nKG1hKX19LHY9e30seD1tKGV1KGEpKSx5PXgubmV4dCgpOyF5LmRvbmU7eT14Lm5leHQoKSl7dmFyIHo9eS52YWx1ZTtkKHosUihhLHopKX1mb3IodmFyIEM9bShPYmplY3Qua2V5cyh2KS5zb3J0KCkpLEQ9Qy5uZXh0KCk7IUQuZG9uZTtEPUMubmV4dCgpKXt2YXIgST1ELnZhbHVlO2VbSV09dltJXX0oZnVuY3Rpb24oZGEpe2JrKFpLKGEpKSYmdHlwZW9mIGRhPT09Im9iamVjdCImJkdiKGRhfHx7fSxmdW5jdGlvbihtYSxQYSl7dHlwZW9mIFBhIT09Im9iamVjdCImJihlWyJzc3QuIittYV09U3RyaW5nKFBhKSl9KX0pKFIoYSxGLkQub2opKTtidihlLFIoYSxGLkQuZWQpKTt2YXIgRz1SKGEsRi5ELldkKXx8Cnt9O0diKEcsZnVuY3Rpb24oZGEsbWEpe21hIT09dm9pZCAwJiYoKG1hPT09bnVsbCYmKG1hPSIiKSxkYSE9PUYuRC5mYnx8Zy51aWQpP2JbZGFdIT09bWEmJihmWyhBYihtYSk/InVwbi4iOiJ1cC4iKStTdHJpbmcoZGEpXT1TdHJpbmcobWEpLGJbZGFdPW1hKTpnLnVpZD1TdHJpbmcobWEpKX0pO2lmKFdqKCkmJiFEbSgpJiYhYmsoWksoYSkpKXt2YXIgTj1RKGEsSC5KLm9nKTtOP2UuX2dzaWQ9TjplLm5qaWQ9IjEifXZhciBTPVEoYSxILkouVmkpOyhTPT1udWxsP3ZvaWQgMDpTLnZhbHVlKT4wJiYoZS5nYWY9Uy5nZXQoKSk7dmFyIFc9UihhLEYuRC5XYyk7aWYoVylmb3IodmFyIGVhPW0oT2JqZWN0LmtleXMoVykpLGphPWVhLm5leHQoKTshamEuZG9uZTtqYT1lYS5uZXh0KCkpe3ZhciBmYT1qYS52YWx1ZTtmWyJleHQuIitmYV09V1tmYV18fCIifXZhciBzYT1sUShhKTt2Zy5jYWxsKHRoaXMse0JhOmUsdmU6ZyxMajpmfSxzYS51cmwsc2EuZW5kcG9pbnQsWksoYSksdm9pZCAwLAphLnRhcmdldC5kZXN0aW5hdGlvbklkLGEuTS5ldmVudElkLGEuTS5wcmlvcml0eUlkKX07d2Eoc1EsdmcpOwp2YXIgdFE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5yZXBsYWNlKC9cJFx7KFteXH1dKylcfS9nLGZ1bmN0aW9uKGMsZCl7cmV0dXJuIGJbZF18fGN9KX0sdVE9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz0iIixkPWEucGF0aG5hbWUuaW5kZXhPZigiL2cvY29sbGVjdCIpO2Q+PTAmJihjPWEucGF0aG5hbWUuc3Vic3RyaW5nKDAsZCkpO2IudHJhbnNwb3J0X3VybD1hLnByb3RvY29sKyIvLyIrYS5ob3N0bmFtZStjO3ZhciBlO3RyeXtlPWVuY29kZVVSSUNvbXBvbmVudChjfHwiLyIpfWNhdGNoKGYpe2U9ZW5jb2RlVVJJQ29tcG9uZW50KCIvIil9Yi5lbmNvZGVkX3BhdGg9ZTtyZXR1cm4gYn0sdlE9ZnVuY3Rpb24oYSxiKXtpZighTSg1NDYpKXJldHVybnt1cmw6YSxib2R5OmJ9O3ZhciBjPW0oYS5zcGxpdCgiPyIpKSxkPWMubmV4dCgpLnZhbHVlLGU9Yy5uZXh0KCkudmFsdWUsZj1oUShkLGV8fCIiLGJ8fCIiLCEwKSxnPWYuSWMsaD1mLmtmO2E9aCE9PSIiP2crIj8iK2g6ZztiPWYuYm9keTsKcmV0dXJue3VybDphLGJvZHk6Yn19LHhRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1SaihiKSxlPXVRKGQpLGY9dlEoWGcoZCksYyksZz1mdW5jdGlvbihoKXtxeChmLnVybCxmLmJvZHksbmV3IHdRKGUsaCkpJiZhJiZrbi5yZWdpc3RlcihhLDEsZi51cmwpfTshTSgxMzIpfHxOYygiOyB3diIpfHxOYygiRkJBTiIpfHxOYygiRkJBViIpfHxQYygpP2coKTptTChmLnVybCxmLmJvZHksZSxnKX0sd1E9ZnVuY3Rpb24oYSxiKXtDeC5jYWxsKHRoaXMpO3RoaXMudGVtcGxhdGVzPWE7dGhpcy5OPWJ9O3dhKHdRLEN4KTt3US5wcm90b3R5cGUuWj1mdW5jdGlvbihhKXt2YXIgYj10UShhLHRoaXMudGVtcGxhdGVzKTtyZXR1cm4gdGhpcy5OP2IucmVwbGFjZSgiX2lzX3N3PTAiLHRoaXMuTik6Yn07d1EucHJvdG90eXBlLks9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLlooYSk7Q3gucHJvdG90eXBlLksuY2FsbCh0aGlzLGMsYil9O3dRLnByb3RvdHlwZS5IPWZ1bmN0aW9uKGEsYil7dmFyIGM9CnRoaXMuWihhKTtDeC5wcm90b3R5cGUuSC5jYWxsKHRoaXMsYyxiKX07CnZhciB5UT1mdW5jdGlvbihhKXtyZXR1cm4hU2IoYSxGbSgpKSYmIVNiKGEsR20oKSl9LEFRPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZighbmQoKSlyZXR1cm4gelEoYSxiLGMsZCksITA7WW4oYyxiIT09IiI/YSsiPyIrYjphLGQsbmEoT2JqZWN0LCJhc3NpZ24iKS5jYWxsKE9iamVjdCx7fSxlfHx7fSx7UWc6ITB9KSx2b2lkIDAsZil8fHpRKGEsYixjLGQpO3JldHVybiEwfSx6UT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iIT09IiI/YSsiPyIrYjphO2Q/V24oYyxlLGQpOlZuKGMsZSl9LENRPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YixnPXBkKCk7ZyE9PXZvaWQgMCYmKGYrPSImdGZkPSIrTWF0aC5yb3VuZChnKSk7Yj1mO3ZhciBoPWErIj8iK2I7aWYoIWJrKGQpfHxjayhkKXx8eFAoKSl7dmFyIGw9aFEoYSxiLGMsYmsoZCkpO2E9bC5JYztiPWwua2Y7Yz1sLmJvZHk7QVEoYSxiLGUsYyx2b2lkIDAsQlEoYSxiLGUsYykpfHx6UShhLGIsZSxjKX1lbHNlIHhRKGUsaCxjKTsKYmsoZCkmJk0oNTY0KSYmbmQoKSYmVGIoYSwiL2cvY29sbGVjdCIpJiZBLmZldGNoKGEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMTApLHttZXRob2Q6IlBPU1QiLGJvZHk6IkNqQU9BVHdjQ0JnTyIsY3JlZGVudGlhbHM6Im9taXQifSl9LEJRPWZ1bmN0aW9uKGEsYixjLGQpe2lmKCF5UShhKSl7dmFyIGU9TW1bNjddKHZvaWQgMCk7aWYoZSlyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZjt2YXIgZz1iLnJlcGxhY2UoL15cPy8sIiIpLGg9TnVtYmVyKElqKGcsImdhZiIsITEpKSxsPTA7TnVtYmVyLmlzSW50ZWdlcihoKSYmKGw9aCk7dmFyIG49bmV3IGVyKGwpO2ZyKG4sMSk7aWYobi52YWx1ZSE9PTApe3ZhciBwLHE9bi5nZXQoKSxyPVJlZ0V4cCgiKF58Wz8mXSlnYWY9W14mXSooJnwkKSIpO3A9ci50ZXN0KGcpP2cucmVwbGFjZShyLCIkMWdhZj0iK3ErIiQyIik6Zy5pbmRleE9mKCI/Iik+PTA/ZysiJmdhZj0iK3E6Z1swXT09PSIvInx8Zy5pbmRleE9mKCI6Ly8iKT49MD9nKyI/Z2FmPSIrCnE6Zy5sZW5ndGg+MD9nKyImZ2FmPSIrcToiZ2FmPSIrcTtmPWIuaW5kZXhPZigiPyIpPT09MD8iPyIrcDpwfWVsc2UgZj12b2lkIDA7QVEoZSxmfHxiLG5hKE9iamVjdCwiYXNzaWduIikuY2FsbChPYmplY3Qse30sYyx7ZW5kcG9pbnQ6Njd9KSxkLGMuZW5kcG9pbnQ9PT0xNz92b2lkIDA6e2NyZWRlbnRpYWxzOiJvbWl0In0pfX19LERRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPWZ1bmN0aW9uKGgpe2QucHVzaChoKyI9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYS5CYVtoXSkpfTtkLnB1c2goInY9MiIpO2UoIl9nc2lkIik7ZSgiZ3RtIik7YS5CYS5fZ2VvJiZlKCJfZ2VvIik7dmFyIGY9Imh0dHBzOi8ve2dhNENvbGxlY3Rpb25TdWJkb21haW4ufWdvb2dsZS1hbmFseXRpY3MuY29tL2cvcy9jb2xsZWN0Ii5yZXBsYWNlKCJ7Z2E0Q29sbGVjdGlvblN1YmRvbWFpbi59IiwoYnx8Ind3dyIpKyIuIiksZz1kLmpvaW4oIiYiKTt6UShmLGcse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwKIiIsZW5kcG9pbnQ6NjIsZXZlbnRJZDphLmV2ZW50SWQscHJpb3JpdHlJZDphLnByaW9yaXR5SWR9KTtNbCh7dGFyZ2V0SWQ6U3RyaW5nKGEuQmEudGlkKSxyZXF1ZXN0Ont1cmw6ZisiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLGVuZHBvaW50OjYyfSxxYjpjfSl9LEVRPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0iaHR0cHM6Ly97Z2E0Q29sbGVjdGlvblN1YmRvbWFpbi59YW5hbHl0aWNzLmdvb2dsZS5jb20vZy9zL2NvbGxlY3QiLnJlcGxhY2UoIntnYTRDb2xsZWN0aW9uU3ViZG9tYWluLn0iLGI/YisiLiI6IiIpLGU9W10sZj1mdW5jdGlvbihoKXtlLnB1c2goaCsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KCIiK2EuQmFbaF0pKX07ZigiX2dzaWQiKTtmKCJndG0iKTthLkJhLl9nZW8mJmYoIl9nZW8iKTt2YXIgZz1lLmpvaW4oIiYiKTt6UShkLGcse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDoxOCxldmVudElkOmEuZXZlbnRJZCxwcmlvcml0eUlkOmEucHJpb3JpdHlJZH0pOwpNbCh7dGFyZ2V0SWQ6U3RyaW5nKGEuQmEudGlkKSxyZXF1ZXN0Ont1cmw6ZCsiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLGVuZHBvaW50OjE4fSxxYjpjfSl9LEZRPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtjJiZiLnB1c2goInRhZ19leHA9IitjKTtiLnB1c2goIno9IitEYigpKTtpZighZSl7dmFyIGc9ZCYmU2IoZCwiZ29vZ2xlLiIpJiZkIT09Imdvb2dsZS5jb20iPyJodHRwczovL3d3dy4lL2Fkcy9nYS1hdWRpZW5jZXM/dj0xJnQ9c3Imc2xmX3JkPTEmX3I9NCYiLnJlcGxhY2UoIiUiLGQpOnZvaWQgMDtpZihnKXt2YXIgaD1nK2Iuam9pbigiJiIpO1huKHtkZXN0aW5hdGlvbklkOmEuZGVzdGluYXRpb25JZHx8IiIsZW5kcG9pbnQ6NDcsZXZlbnRJZDphLmV2ZW50SWQscHJpb3JpdHlJZDphLnByaW9yaXR5SWR9LGgpO01sKHt0YXJnZXRJZDpTdHJpbmcoYS5CYS50aWQpLHJlcXVlc3Q6e3VybDpoLHBhcmFtZXRlckVuY29kaW5nOjIsZW5kcG9pbnQ6NDd9LHFiOmZ9KX19fSxHUT0KZnVuY3Rpb24oYSxiLGMsZCl7YyYmYi5wdXNoKCJ0YWdfZXhwPSIrYyk7elEoImh0dHBzOi8vc3RhdHMuZy5kb3VibGVjbGljay5uZXQvZy9jb2xsZWN0Iiwidj0yJiIrYi5qb2luKCImIikse2Rlc3RpbmF0aW9uSWQ6YS5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDoxOSxldmVudElkOmEuZXZlbnRJZCxwcmlvcml0eUlkOmEucHJpb3JpdHlJZH0pO01sKHt0YXJnZXRJZDpTdHJpbmcoYS5CYS50aWQpLHJlcXVlc3Q6e3VybDoiaHR0cHM6Ly9zdGF0cy5nLmRvdWJsZWNsaWNrLm5ldC9nL2NvbGxlY3Q/dj0yJiIrYi5qb2luKCImIikscGFyYW1ldGVyRW5jb2Rpbmc6MixlbmRwb2ludDoxOX0scWI6ZH0pfSxIUT1mdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGModil7cS5wdXNoKHYrIj0iK2VuY29kZVVSSUNvbXBvbmVudCgiIithLkJhW3ZdKSl9dmFyIGQ9Yi54dCxlPWIuQnQsZj1iLkF0LGc9Yi56dCxoPWIuWnIsbD1iLkNzLG49Yi5QcixwPWIuR3Q7aWYoZHx8ZXx8Znx8Zyl7dmFyIHE9CltdO2EuQmEuX25nJiZjKCJfbmciKTthLkJhLm5ncyYmYygibmdzIik7YS5CYS5pYnQmJmMoImlidCIpO2MoInRpZCIpO2MoImNpZCIpO2MoImd0bSIpO2Zvcih2YXIgcj1tKE9GKSx0PXIubmV4dCgpOyF0LmRvbmU7dD1yLm5leHQoKSl7dmFyIHU9dC52YWx1ZTthLkJhW3VdIT1udWxsJiZjKHUpfXEucHVzaCgiYWlwPTEiKTthLnZlLnVpZCYmcS5wdXNoKCJ1aWQ9IitlbmNvZGVVUklDb21wb25lbnQoIiIrYS52ZS51aWQpKTtjKCJkbWEiKTthLkJhLmRtYV9jcHMhPW51bGwmJmMoImRtYV9jcHMiKTthLkJhLmdjcyE9bnVsbCYmYygiZ2NzIik7YygiZ2NkIik7YS5CYS5ucGEhPW51bGwmJmMoIm5wYSIpO2EuQmEuZnJtIT1udWxsJiZjKCJmcm0iKTtkJiZHUShhLHEuc2xpY2UoKSxwLGIucWIpO2UmJkZRKGEscS5zbGljZSgpLHAsaCxsLGIucWIpO2YmJkVRKGEsbixiLnFiKTtnJiZEUShhLG4sYi5xYil9fSxJUT1mdW5jdGlvbigpe3RoaXMuUj0xO3RoaXMuWj17fTt0aGlzLks9LTE7dGhpcy5IPQpuZXcgd2d9O0lRLnByb3RvdHlwZS5OPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcyxkPW5ldyBzUShhLHRoaXMuWixiKSxlPXtldmVudElkOmEuTS5ldmVudElkLHByaW9yaXR5SWQ6YS5NLnByaW9yaXR5SWR9LGY9eVAoYSksZyxoO2YmJnRoaXMuSC5SKGQpfHx0aGlzLmZsdXNoKCk7dmFyIGw9ZiYmdGhpcy5ILmFkZChkKTtpZihsKXtpZih0aGlzLks8MCl7dmFyIG49QSxwPW4uc2V0VGltZW91dCxxO2JrKFpLKGEpKT9KUT8oSlE9ITEscT1LUSk6cT1MUTpxPTVFMzt0aGlzLks9cC5jYWxsKG4sZnVuY3Rpb24oKXtjLmZsdXNoKCl9LHEpfX1lbHNle3ZhciByPXpnKGQsdGhpcy5SKyspLHQ9ci5wYXJhbXMsdT1yLmJvZHk7Zz10O2g9dTtGeSgzLGEuZXZlbnROYW1lKTtDUShkLmJhc2VVcmwsdCx1LGQuTix7ZGVzdGluYXRpb25JZDphLnRhcmdldC5kZXN0aW5hdGlvbklkLGVuZHBvaW50OmQuZW5kcG9pbnQsZXZlbnRJZDpkLmV2ZW50SWQscHJpb3JpdHlJZDpkLnByaW9yaXR5SWR9KTsKdmFyIHY9UShhLEguSi5oZCkseD1RKGEsSC5KLnJnKSx5PVEoYSxILkouTmgpLHo9UShhLEguSi5NaCksQz1PKGEuTSxGLkQudWkpIT09ITEsRD1TdChhLk0pLEk9e3h0OnYsQnQ6eCxBdDp5LHp0OnosWnI6RW0oKSxtdjpDLGx2OkQsQ3M6QW0oKSxxYjplLE06YS5NLFByOkRtKCksR3Q6Q3AoYSl9O0hRKGQsSSl9Zm4uSCYmQXooYS5NLmV2ZW50SWQpO05sKGZ1bmN0aW9uKCl7aWYobCl7dmFyIEc9emcoZCksTj1HLmJvZHk7Zz1HLnBhcmFtcztoPU59cmV0dXJue3RhcmdldElkOmEudGFyZ2V0LmRlc3RpbmF0aW9uSWQscmVxdWVzdDp7dXJsOmQuYmFzZVVybCsiPyIrZyxwYXJhbWV0ZXJFbmNvZGluZzoyLHBvc3RCb2R5OmgsZW5kcG9pbnQ6ZC5lbmRwb2ludH0scWI6ZSxpc0JhdGNoZWQ6ITF9fSl9O0lRLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7WUsoYSkmJiF4UCgpP3RoaXMuZmEoYSk6dGhpcy5OKGEpfTtJUS5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtpZih0aGlzLkguZXZlbnRzLmxlbmd0aCl7dmFyIGE9CkJnKHRoaXMuSCx0aGlzLlIrKyk7Q1EodGhpcy5ILmJhc2VVcmwsYS5wYXJhbXMsYS5ib2R5LHRoaXMuSC5LLHtkZXN0aW5hdGlvbklkOnRoaXMuSC5kZXN0aW5hdGlvbklkfHwiIixlbmRwb2ludDp0aGlzLkguZW5kcG9pbnQsZXZlbnRJZDp0aGlzLkguWixwcmlvcml0eUlkOnRoaXMuSC5mYX0pO3RoaXMuSD1uZXcgd2c7dGhpcy5LPj0wJiYoQS5jbGVhclRpbWVvdXQodGhpcy5LKSx0aGlzLks9LTEpfX07SVEucHJvdG90eXBlLmZhPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1ZSyhhKTtNKDU2OCkmJiFNKDU4NikmJlIoYSxGLkQuQmMpPT09ImEiJiYoYz1jdyhjKSk7aWYoRXcoYykpe3ZhciBkPXN3KGMpO2Q/ZC50aGVuKGZ1bmN0aW9uKGYpe2IuTihhLGYpfSxmdW5jdGlvbigpe2IuTihhKX0pOnRoaXMuTihhKX1lbHNle3ZhciBlPUR3KGMpO3RoaXMuTihhLGUpfX07dmFyIEtRPU5mKDI0LDUwMCksTFE9TmYoNTYsNUUzKSxKUT0hMDt2YXIgTVE9ZnVuY3Rpb24oYSl7dmFyIGI9U3QoYS5NKTtPKGEuTSxGLkQuV2IpPT09ITAmJihiPSExKTtWKGEsSC5KLndkLGIpfTsKdmFyIE5RPWZ1bmN0aW9uKGEsYixjKXtjPT09dm9pZCAwJiYoYz17fSk7aWYoYj09bnVsbClyZXR1cm4gYztpZih0eXBlb2YgYj09PSJvYmplY3QiKWZvcih2YXIgZD1tKE9iamVjdC5rZXlzKGIpKSxlPWQubmV4dCgpOyFlLmRvbmU7ZT1kLm5leHQoKSl7dmFyIGY9ZS52YWx1ZTtOUShhKyIuIitmLGJbZl0sYyl9ZWxzZSBjW2FdPWI7cmV0dXJuIGN9LE9RPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj17fSxjPW0oYSksZD1jLm5leHQoKTshZC5kb25lO2Q9Yy5uZXh0KCkpe3ZhciBlPWQudmFsdWU7YltlXT0hIVhvKGUpfXJldHVybiBifSxRUT1mdW5jdGlvbihhLGIpe3ZhciBjPVBRLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hWG8oZSl9KTtpZihjLmxlbmd0aCl7dmFyIGQ9T1EoYyk7JG8oYyxmdW5jdGlvbigpe2Zvcih2YXIgZT1PUShjKSxmPVtdLGc9bShjKSxoPWcubmV4dCgpOyFoLmRvbmU7aD1nLm5leHQoKSl7dmFyIGw9aC52YWx1ZTshZFtsXSYmZVtsXSYmZi5wdXNoKGwpO2VbbF0mJgooZFtsXT0hMCl9aWYoZi5sZW5ndGgpe1YoYixILkouR2gsITApO3ZhciBuPWYubWFwKGZ1bmN0aW9uKHApe3JldHVybiBMb1twXX0pLmpvaW4oIi4iKTtuJiZXSyhiLCJnY3V0IixuKTtNUShiKTthKGIpfX0pfX0sUlE9ZnVuY3Rpb24oYSl7UihhLEYuRC5XYykmJiFiayhaSyhhKSkmJlUoYSxGLkQuV2MpfSxTUT1mdW5jdGlvbihhKXtiayhaSyhhKSkmJldLKGEsIm5hdnQiLHFkKCkpfSxUUT1mdW5jdGlvbihhKXtiayhaSyhhKSkmJldLKGEsImxwYyIsaXIoKSl9LFVRPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9TyhhLk0sRi5ELldiKSxjO2I9PT0hMCYmKGM9IjEiKTtiPT09ITEmJihjPSIwIik7YyYmV0soYSwicmRwIixjKX19LFZRPWZ1bmN0aW9uKGEsYil7aWYoYmsoWksoYikpKXt2YXIgYz1RKGIsSC5KLm1nKTsoYi5ldmVudE5hbWU9PT0icGFnZV92aWV3Inx8YykmJlFRKGEsYil9fSxXUT1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkmJmEuZXZlbnROYW1lPT09Ri5ELnlmJiYKUShhLEguSi5HaCkpe3ZhciBiPVIoYSxGLkQueGkpO2ImJihXSyhhLCJnY3V0IixiKSxXSyhhLCJzeW4iLDEpKX19LFhRPWZ1bmN0aW9uKGEsYixjKXtpZihhPT09YilyZXR1cm4gV2ooKSYmU2IoYysiLyIsWGooKSsiLyIpPyI3IjoiMSI7aWYoVGIoYSwiLiIrYikpcmV0dXJuIjIiO2lmKFRiKGIsIi4iK2EpKXJldHVybiIzIjt2YXIgZD1hLnNwbGl0KCIuIiksZT1iLnNwbGl0KCIuIiksZj1mdW5jdGlvbihnKXtpZihkLmxlbmd0aDxnfHxlLmxlbmd0aDxnKXJldHVybiExO2Zvcih2YXIgaD0xO2g8PWc7aCsrKWlmKGRbZC5sZW5ndGgtaF0hPT1lW2UubGVuZ3RoLWhdKXJldHVybiExO3JldHVybiEwfTtyZXR1cm4gZigzKT8iNiI6ZigyKT8iNSI6IjQifSxZUT1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkpe3ZhciBiPWVrKGEuTSk7aWYoYil7dmFyIGM9WWooYiwiLyIpLGQ9UmooYyksZT1OaihkLCJob3N0IiksZj1OaihBLmxvY2F0aW9uLCJob3N0Iik7aWYoZSYmZil7dmFyIGc9TmooZCwKInBhdGgiKTthLm1lcmdlSGl0RGF0YUZvcktleShGLkQuVGEse3NzdGQ6WFEoZSxmLGcpfSl9fX19LFpRPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmVihhLEguSi5KYSwhMSl9LCRRPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmKFEoYSxILkouSmEpJiZXSyhhLCJzcCIsMSksUShhLEguSi5JcSkmJldLKGEsInN5biIsMSksUShhLEguSi5QYykmJihXSyhhLCJlbV9ldmVudCIsMSksV0soYSwic3AiLDEpKSl9LGFSPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9JGsoMjUpO2ImJldLKGEsInRmdCIsTnVtYmVyKGIpKX19LGJSPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoZSl7dmFyIGY9TlEoRi5ELkFjLGUpO0diKGYsZnVuY3Rpb24oZyxoKXtVKGEsZyxoKX0pfWlmKGJrKFpLKGEpKSl7dmFyIGM9ZEkoYSwiY2NkX2FkZF8xcF9kYXRhIiwhMSk/MTowO1dLKGEsInVkZSIsYyk7dmFyIGQ9TyhhLk0sRi5ELkFjKTtkIT09dm9pZCAwPyhadihkKSxiKGQpLFUoYSxGLkQuQmMsImMiKSk6CmIoUShhLEguSi5ZYSkpO1YoYSxILkouWWEpfX0sY1I9ZnVuY3Rpb24oYSl7aWYoYmsoWksoYSkpKXt2YXIgYj1WTSgpO2ImJldLKGEsInVzX3ByaXZhY3kiLGIpO3ZhciBjPUx0KCk7YyYmV0soYSwiZ2RwciIsYyk7dmFyIGQ9S3QoKTtkJiZXSyhhLCJnZHByX2NvbnNlbnQiLGQpO3ZhciBlPWtGLmdwcFN0cmluZztlJiZXSyhhLCJncHAiLGUpO3ZhciBmPWtGLkg7ZiYmV0soYSwiZ3BwX3NpZCIsZil9fSxkUj1mdW5jdGlvbihhKXtiayhaSyhhKSkmJkVsKCkmJk8oYS5NLEYuRC5tYikmJldLKGEsImFkciIsMSl9LGVSPWZ1bmN0aW9uKGEpe2lmKGJrKFpLKGEpKSl7dmFyIGI9RG0oKTtiJiZXSyhhLCJnY3N1YiIsYil9fSxmUj1mdW5jdGlvbihhKXtpZihiayhaSyhhKSkpe08oYS5NLEYuRC5TYyx2b2lkIDAsNCk9PT0hMSYmV0soYSwibmdzIiwxKTtBbSgpJiZXSyhhLCJnYV9yZCIsMSk7VksoKXx8V0soYSwibmdzdCIsMSk7dmFyIGI9RW0oKTtiJiZXSyhhLCJldGxkIixiKX19LGdSPQpmdW5jdGlvbihhKXt9LGhSPWZ1bmN0aW9uKGEpe2JrKFpLKGEpKSYmRWwoKSYmV0soYSwicm5kIixRTSgpKX0sUFE9W0YuRC5rYSxGLkQubWEsRi5ELlhhXTsKdmFyIGlSPWZ1bmN0aW9uKGEsYil7dmFyIGM7YTp7aWYoIVEoYSxILkouRmMpKXt2YXIgZD1UUChhKTtpZihkKXtpZihSUChkLGEpKXtjPWQ7YnJlYWsgYX1QKDI1KTthLmlzQWJvcnRlZD0hMH19Yz12b2lkIDB9dmFyIGU9YztyZXR1cm57Y2xpZW50SWQ6RVAoYSxiKSx6YjplfX0salI9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1RbyhPKGEuTSxGLkQuS2IpKTtpZihPKGEuTSxGLkQuWmMpJiZPKGEuTSxGLkQuWWMpKWY/Q1AoYSxmLDEpOihQKDEyNyksYS5pc0Fib3J0ZWQ9ITApO2Vsc2V7dmFyIGc9Zj8xOjg7VihhLEguSi5IaCwhMSk7Znx8KGY9RlAoYSksZz0zKTtmfHwoZj1iLGc9NSk7aWYoIWYpe3ZhciBoPVhvKEYuRC5yYSksbD16UCgpO2Y9IWwuZnJvbV9jb29raWV8fGg/bC52aWQ6dm9pZCAwO2c9Nn1mP2Y9IiIrZjooZj1BdigpLGc9NyxWKGEsSC5KLm5nLCEwKSxWKGEsSC5KLkhoLCEwKSk7Q1AoYSxmLGcpfVIoYSxGLkQuS2IpO2lmKCFRKGEsSC5KLkZjKSl7dmFyIG49ClEoYSxILkouRWIpLHA9TWF0aC5mbG9vcihuLzFFMykscT12b2lkIDA7UShhLEguSi5IaCl8fChxPVNQKGEpfHxjKTt2YXIgcj1JYihPKGEuTSxGLkQueWgsMzApKTtyPU1hdGgubWluKDQ3NSxyKTtyPU1hdGgubWF4KDUscik7dmFyIHQ9SWIoTyhhLk0sRi5ELlBpLDFFNCkpLHU9TFAocSk7VihhLEguSi5uZywhMSk7VihhLEguSi5UZSwhMSk7VihhLEguSi5wZywwKTt1JiZ1LmomJlYoYSxILkoucGcsTWF0aC5tYXgoMCx1LmotTWF0aC5tYXgoMCxwLXUudCkpKTt2YXIgdj0hMTtpZighdSl7VihhLEguSi5uZywhMCk7dj0hMDt2YXIgeD17fTt1PSh4LnM9U3RyaW5nKHApLHgubz0xLHguZz0hMSx4LnQ9cCx4Lmw9ITEseC5oPXZvaWQgMCx4KX1wPnUudCtyKjYwJiYodj0hMCx1LnM9U3RyaW5nKHApLHUubysrLHUuZz0hMSx1Lmg9dm9pZCAwKTtpZih2KVYoYSxILkouVGUsITApLGQubHMoYSk7ZWxzZSBpZihkLlhyKCk+dHx8YS5ldmVudE5hbWU9PT1GLkQuc2MpdS5nPSEwO1EoYSxILkoubGcpPwpPKGEuTSxGLkQuZmIpP3UubD0hMDp1Lmw9ITE6dS5sPSExO3ZhciB5PXUuaDtpZihRKGEsSC5KLmxnKXx8YmsoWksoYSkpKXt2YXIgej1PKGEuTSxGLkQub2gpLEM9ej8xOjg7enx8KHo9eSxDPTQpO3p8fCh6PXp2KCksQz03KTt2YXIgRD16LnRvU3RyaW5nKCksST1DLEc9UShhLEguSi50bCk7aWYoRz09PXZvaWQgMHx8STw9RylVKGEsRi5ELm9oLEQpLFYoYSxILkoudGwsSSl9ZT8oYS5jb3B5VG9IaXREYXRhKEYuRC54Yyx1LnMpLGEuY29weVRvSGl0RGF0YShGLkQuQWgsdS5vKSxhLmNvcHlUb0hpdERhdGEoRi5ELnpoLHUuZz8xOjApKTooVShhLEYuRC54Yyx1LnMpLFUoYSxGLkQuQWgsdS5vKSxVKGEsRi5ELnpoLHUuZz8xOjApKTtWKGEsSC5KLnJtLHUubD8xOjApO1dqKCkmJlYoYSxILkoub2csdS5kfHxjYygpKX19Owp2YXIga1I9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCI/IiksYz1iPT09LTE/YTphLnN1YnN0cmluZygwLGIpLGQ9S2ooYyk7ZCYmKGM9ZCk7cmV0dXJuIGI9PT0tMT9jOiIiK2MrYS5zdWJzdHJpbmcoYil9LGxSPWZ1bmN0aW9uKGEpe2lmKCFPKGEuTSxGLkQuWWMpfHwhTyhhLk0sRi5ELlpjKSl7dmFyIGI9YS5jb3B5VG9IaXREYXRhLGM9Ri5ELnphLGQ9IiIsZT1CLmxvY2F0aW9uO2lmKGUpe3ZhciBmPWUucGF0aG5hbWV8fCIiO2YuY2hhckF0KDApIT09Ii8iJiYoZj0iLyIrZik7dmFyIGc9ZS5zZWFyY2h8fCIiO2lmKGdbMF09PT0iPyIpZm9yKHZhciBoPWcuc3Vic3RyaW5nKDEpLnNwbGl0KCImIiksbD0wO2w8aC5sZW5ndGg7KytsKXt2YXIgbj1oW2xdLnNwbGl0KCI9Iik7biYmbi5sZW5ndGg9PT0yJiZuWzBdPT09IndicmFpZCImJihnPWcucmVwbGFjZSgvKFs/Jl0pd2JyYWlkPVteJl0rLywiJDF3YnJhaWQ9IiskYihuWzFdKSkpfWQ9ZS5wcm90b2NvbCsiLy8iK2UuaG9zdG5hbWUrCmYrZ31iLmNhbGwoYSxjLGQsa1IpO3ZhciBwPWEuY29weVRvSGl0RGF0YSxxPUYuRC5VYSxyPXVBKCJndG0uZ3RhZ1JlZmVycmVyLiIrYS50YXJnZXQuZGVzdGluYXRpb25JZCksdD1CLnJlZmVycmVyO3AuY2FsbChhLHEsKHI/IiIrcjp0KXx8dm9pZCAwLGtSKTthLmNvcHlUb0hpdERhdGEoRi5ELk1iLEIudGl0bGUpO2EuY29weVRvSGl0RGF0YShGLkQudGIsKEhjLmxhbmd1YWdlfHwiIikudG9Mb3dlckNhc2UoKSk7dmFyIHU9cUkoKTthLmNvcHlUb0hpdERhdGEoRi5ELmJkLHUud2lkdGgrIngiK3UuaGVpZ2h0KTthLmNvcHlUb0hpdERhdGEoRi5ELllmLHZvaWQgMCxrUik7VE0oKSYmYS5jb3B5VG9IaXREYXRhKEYuRC5QZCwiMSIpfX07dmFyIG5SPWZ1bmN0aW9uKGEpe3ZhciBiPXhDKGEuTSksYz1mdW5jdGlvbihkLGUpe21SW2RdJiZVKGEsZCxlKX07Q2QoYltGLkQuS2ZdKT9HYihiW0YuRC5LZl0sZnVuY3Rpb24oZCxlKXtjKChGLkQuS2YrIl8iK2QpLnRvTG93ZXJDYXNlKCksZSl9KTpHYihiLGMpfSxvUj17fSxtUj0ob1JbRi5ELkdmXT0xLG9SW0YuRC5IZl09MSxvUltGLkQuSWZdPTEsb1JbRi5ELkpmXT0xLG9SW0YuRC5MZl09MSxvUltGLkQuTWZdPTEsb1IpO3ZhciBwUj1mdW5jdGlvbihhKXtpZighYmsoWksoYSkpJiZRKGEsSC5KLm1nKSYmWG8oRi5ELmthKSYmZEkoYSwiZ2E0X2Fkc19saW5rZWQiLCExKSl7dmFyIGI9TEsoYSksYz1IcihiLnByZWZpeCksZD1ScyhjKTtVKGEsRi5ELkJlLGQuRWcpO1UoYSxGLkQuRGUsZC5XaCk7VShhLEYuRC5DZSxkLlVoKX19O3ZhciBxUj1mdW5jdGlvbihhKXt2YXIgYj1PKGEuTSxGLkQuWmMpO2ImJklQKEouVS54bik7UShhLEguSi5QYykmJklQKEouVS5Oayk7dmFyIGM9eWsoemsoKSk7KGJ8fE1rKGMpfHxjJiZjLnBhcmVudCYmYy5jb250ZXh0JiZjLmNvbnRleHQuc291cmNlPT09NSkmJklQKEouVS5mbik7UShhLEguSi5jaikmJklQKEouVS5JbSk7UShhLEguSi5iaikmJklQKEouVS5IbSl9O3ZhciByUj1mdW5jdGlvbihhKXt2YXIgYj1RKGEsSC5KLlZpKXx8bmV3IGVyO1EoYSxILkouYmopJiZRKGEsSC5KLmNqKSYmZnIoYiwyKTtWKGEsSC5KLlZpLGIpfTtmdW5jdGlvbiBzUihhKXthLmNvcHlUb0hpdERhdGEoRi5ELmZiKTt2YXIgYj1PKGEuTSxGLkQuV2QpO2ImJihLQyhiLGZ1bmN0aW9uKCl7fSksVShhLEYuRC5XZCxiKSl9O3ZhciB1Uj1mdW5jdGlvbihhKXtpZih0Ui5Nci5yZXBsYWNlKC9ccysvZywiIikuc3BsaXQoIiwiKS5pbmRleE9mKGEuZXZlbnROYW1lKT49MClhLmlzQWJvcnRlZD0hMDtlbHNle3ZhciBiPVhLKGEpO2ImJmIuYmxhY2tsaXN0ZWQmJihhLmlzQWJvcnRlZD0hMCl9fSx0Uj17TXI6TGYoMzEpfTtmdW5jdGlvbiB2UihhKXt2YXIgYj1mdW5jdGlvbihjKXtyZXR1cm4hIWMmJmMuY29udmVyc2lvbn07VihhLEguSi5tZyxiKFhLKGEpKSk7UShhLEguSi5uZykmJlYoYSxILkouWW0sYihYSyhhLCJmaXJzdF92aXNpdCIpKSk7UShhLEguSi5UZSkmJlYoYSxILkouYm4sYihYSyhhLCJzZXNzaW9uX3N0YXJ0IikpKX07dmFyIHdSPWZ1bmN0aW9uKGEpe0ZvLmhhc093blByb3BlcnR5KGEuZXZlbnROYW1lKSYmKFYoYSxILkouV20sITApLGEuY29weVRvSGl0RGF0YShGLkQuSGEpLGEuY29weVRvSGl0RGF0YShGLkQuZWIpKX07dmFyIHhSPWZ1bmN0aW9uKGEpe1EoYSxILkouYmUpP1YoYSxILkoubGcsITEpOmRJKGEsImNjZF9hZGRfZWNfc3RpdGNoaW5nIiwhMSkmJlYoYSxILkoubGcsITApfTt2YXIgeVI9ZnVuY3Rpb24oYSl7dmFyIGI9UShhLEguSi5wZyk7Yj1ifHwwO3ZhciBjPSEhUShhLEguSi5zYSksZD1iPT09MHx8YztWKGEsSC5KLmVqLGQpO2QmJlYoYSxILkoucGcsNjApfTt2YXIgQVI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPXt9LGM9U3RyaW5nKHpSLmNvb2tpZSkuc3BsaXQoIjsiKSxkPTA7ZDxjLmxlbmd0aDtkKyspe3ZhciBlPWNbZF0uc3BsaXQoIj0iKSxmPWVbMF0udHJpbSgpO2lmKGYmJmEoZikpe3ZhciBnPWUuc2xpY2UoMSkuam9pbigiPSIpLnRyaW0oKTtnJiYoZz1kZWNvZGVVUklDb21wb25lbnQoZykpO3ZhciBoPXZvaWQgMCxsPXZvaWQgMDsoKGg9YilbbD1mXXx8KGhbbF09W10pKS5wdXNoKGcpfX1yZXR1cm4gYn07dmFyIEJSPXdpbmRvdyx6Uj1kb2N1bWVudCxDUj1mdW5jdGlvbihhKXt2YXIgYj1CUi5fZ2FVc2VyUHJlZnM7aWYoYiYmYi5pb28mJmIuaW9vKCl8fHpSLmRvY3VtZW50RWxlbWVudC5oYXNBdHRyaWJ1dGUoImRhdGEtZ29vZ2xlLWFuYWx5dGljcy1vcHQtb3V0Iil8fGEmJkJSWyJnYS1kaXNhYmxlLSIrYV09PT0hMClyZXR1cm4hMDt0cnl7dmFyIGM9QlIuZXh0ZXJuYWw7aWYoYyYmYy5fZ2FVc2VyUHJlZnMmJmMuX2dhVXNlclByZWZzPT0ib28iKXJldHVybiEwfWNhdGNoKGYpe31mb3IodmFyIGQ9QVIoZnVuY3Rpb24oZil7cmV0dXJuIGY9PT0iQU1QX1RPS0VOIn0pLkFNUF9UT0tFTnx8W10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWlmKGRbZV09PSIkT1BUX09VVCIpcmV0dXJuITA7cmV0dXJuIHpSLmdldEVsZW1lbnRCeUlkKCJfX2dhT3B0T3V0RXh0ZW5zaW9uIik/ITA6ITF9O3ZhciBEUj1mdW5jdGlvbihhKXtpZihDUihhLnRhcmdldC5kZXN0aW5hdGlvbklkKSlQKDI4KSxhLmlzQWJvcnRlZD0hMDtlbHNle3ZhciBiPXhrKCk7aWYoYiYmQXJyYXkuaXNBcnJheShiLmRlc3RpbmF0aW9ucykpZm9yKHZhciBjPTA7YzxiLmRlc3RpbmF0aW9ucy5sZW5ndGg7YysrKWlmKENSKGIuZGVzdGluYXRpb25zW2NdKSl7UCgxMjUpO2EuaXNBYm9ydGVkPSEwO2JyZWFrfX19O3ZhciBFUj1mdW5jdGlvbihhKXt2YXIgYj1CLmxvY2F0aW9uLnByb3RvY29sO2IhPT0iaHR0cDoiJiZiIT09Imh0dHBzOiImJihQKDI5KSxhLmlzQWJvcnRlZD0hMCl9O3ZhciBGUj1mdW5jdGlvbihhKXtIYyYmSGMubG9hZFB1cnBvc2U9PT0icHJldmlldyImJihQKDMwKSxhLmlzQWJvcnRlZD0hMCl9O3ZhciBHUj1mdW5jdGlvbihhLGIpe2IuVGomJihWKGEsSC5KLnNhLCEwKSxiLlRqPSExLFdqKCkmJlYoYSxILkoub2csY2MoKSkpfTt2YXIgSFI9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihjLGQpe0JvW2NdfHxkPT09dm9pZCAwfHxVKGEsYyxkKX1NKDU1MCkmJkdiKGEuTS5XYSxiKTtHYihhLk0uaGIsYik7R2IoYS5NLkVhLGIpfTt2YXIgSVI9ZnVuY3Rpb24oYSl7YS5ldmVudE5hbWU9PT1GLkQud2EmJihPKGEuTSxGLkQuVGQsITApPyhhLk0uRWFbRi5ELk9hXSYmKE0oNTUwKSYmKGEuTS5XYVtGLkQuT2FdPWEuTS5FYVtGLkQuT2FdKSxhLk0uaGJbRi5ELk9hXT1hLk0uRWFbRi5ELk9hXSxhLk0uRWFbRi5ELk9hXT12b2lkIDAsVShhLEYuRC5PYSkpLGEuZXZlbnROYW1lPUYuRC5zYyk6YS5pc0Fib3J0ZWQ9ITApfTsKdmFyIEpSPWZ1bmN0aW9uKGEpe2lmKE0oMTMyKSl7dmFyIGI9WksoYSk7aWYoYmsoYikpaWYoY2soYikpY2soWksoYSkpJiZhLm1lcmdlSGl0RGF0YUZvcktleShGLkQuVGEseyIzcGQiOiIxIn0pO2Vsc2UgaWYoIShOYygiOyB3diIpfHxOYygiRkJBTiIpfHxOYygiRkJBViIpfHxQYygpKSYmWG8oRi5ELnJhKSl7VihhLEguSi5kbiwhMCk7YmsoWksoYSkpJiZXSyhhLCJzd19leHAiLDEpO2E6e2lmKCFNKDEzMil8fCFiayhaSyhhKSl8fGNrKFpLKGEpKSlicmVhayBhO2I6e3ZhciBjPXtvdDpZaihlayhhLk0pLCIvXy9zZXJ2aWNlX3dvcmtlciIpfSxkO2Q9KGM9PT12b2lkIDA/e306Yykub3Q7dmFyIGU9aUwoZCk7aWYoZT09PW51bGx8fCFiZygiaW50ZXJuYWxfc3dfYWxsb3dlZCIsIiIpfHxqTChlLm9yaWdpbikpYnJlYWsgYjsKaWYoIUljKCkpe2dMKCkuSyh2b2lkIDAsdm9pZCAwLDYpO2JyZWFrIGJ9dmFyIGY9bmV3IGtMKGUpO29tKGptLmJhLk9oLHt9KVtlLm9yaWdpbl09Zjt9fX19fTt2YXIgTFI9ZnVuY3Rpb24oYSl7YS5jb3B5VG9IaXREYXRhKEYuRC5PbCk7TyhhLk0sRi5ELnhoKSYmKFUoYSxGLkQueGgsITApLGJrKFpLKGEpKXx8S1IoYSkpfSxLUj1mdW5jdGlvbihhKXt2YXIgYj1GLkQuYmQsYztjfHwoYz1mdW5jdGlvbigpe30pO1IoYSxiKSE9PXZvaWQgMCYmVShhLGIsYyhSKGEsYikpKX07dmFyIE1SPSJnY2xpZCBkY2xpZCBnY2xzcmMgd2JyYWlkIGdicmFpZCBnYWRfc291cmNlIGdhZF9jYW1wYWlnbmlkIHV0bV9zb3VyY2UgdXRtX21lZGl1bSB1dG1fY2FtcGFpZ24gdXRtX3Rlcm0gdXRtX2NvbnRlbnQgdXRtX2lkIi5zcGxpdCgiICIpO2Z1bmN0aW9uIE5SKCl7dmFyIGE9Qi5sb2NhdGlvbixiLGM9YT09bnVsbD92b2lkIDA6KGI9YS5zZWFyY2gpPT1udWxsP3ZvaWQgMDpiLnJlcGxhY2UoIj8iLCIiKSxkO2lmKGMpe2Zvcih2YXIgZT1bXSxmPUpqKGMsITApLGc9bShNUiksaD1nLm5leHQoKTshaC5kb25lO2g9Zy5uZXh0KCkpe3ZhciBsPWgudmFsdWUsbj1mW2xdO2lmKG4pZm9yKHZhciBwPTA7cDxuLmxlbmd0aDtwKyspe3ZhciBxPW5bcF07cSE9PXZvaWQgMCYmZS5wdXNoKHtuYW1lOmwsdmFsdWU6cX0pfX1kPWV9ZWxzZSBkPVtdO3JldHVybiBkfTt2YXIgT1I9ZnVuY3Rpb24oYSl7dmFyIGI9TSgyNjYpLGM9TSgyNjcpO2lmKGJ8fGMpe3ZhciBkPVIoYSxGLkQuemEpO2lmKGQmJmQuaW5kZXhPZigiPyIpPT09LTEpe3ZhciBlPU5SKCk7aWYoZS5sZW5ndGghPT0wJiYoYiYmSVAoSi5VLkdtKSxjKSl7SVAoSi5VLkZtKTt2YXIgZj1lLm1hcChmdW5jdGlvbihnKXtyZXR1cm4gZy5uYW1lKyI9IitnLnZhbHVlfSkuam9pbigiJiIpO1UoYSxGLkQuemEsZCsiPyIrZil9fX19O3ZhciBQUj1bRi5ELnJhLEYuRC5rYV0sUVI9W0YuRC5yYSxGLkQua2EsRi5ELm1hXTsKZnVuY3Rpb24gUlIoYSl7dmFyIGIsYz1NKDUwNikmJiFkSShhLCJjY2RfZ2FfYWRzX2lkc19vcHRfb3V0IiwhMSksZD0hIWRJKGEsImdvb2dsZV9uZyIsITEpLGU9WG8oYz9kP1FSOmZwOlBSKSxmO2Y9ZEkoYSxGLkQuVWYsTyhhLk0sRi5ELlVmKSl8fCEhZEkoYSwiZ29vZ2xlX25nIiwhMSk7Yj17aGY6YyxFczpkLEdvOmUsZmY6ZixMZzohIWRJKGEsImdhNF9hZHNfbGlua2VkIiwhMSksYmk6QW0oKSxHajohVksoKSxGczpiayhaSyhhKSksRHM6ISFRKGEsSC5KLmJlKSxHczohIVEoYSxILkouVGUpLHVzOiEhTyhhLk0sRi5ELk5sKSxLczohIVEoYSxILkouZWopLHhnOk8oYS5NLEYuRC5TYyksbnI6TyhhLk0sRi5ELlNjLHZvaWQgMCw0KSxIczohIVEoYSxILkouRmMpfTtWKGEsSC5KLmNqLGIuZmYpO1YoYSxILkouYmosU1IoYikpO2IuaGYmJiFiLmZmJiZiLkxnJiZTUihiKSYmVShhLCJfJmlidCIsIjEiKTtTUihiKSYmYi5HbyYmKGIuaGY/Yi54ZyE9PSExfHxiLkxnOjEpJiZWKGEsCkguSi5ybiwhMCk7Yi5FcyYmIWIuYmkmJlUoYSxGLkQuTGUsMSk7KGIuaGY/Yi54ZzpiLm5yKT09PSExJiZVKGEsIl8mbmdzIiwiMSIpO1YoYSxILkouaGQsVFIoYikmJihiLkdzfHxiLnVzKSk7VihhLEguSi5yZyxUUihiKSYmYi5LcyYmIWIuYmkpfWZ1bmN0aW9uIFNSKGEpe3JldHVybiBhLmhmPyhhLkxnfHxhLmZmKSYmIWEuYmkmJiFhLkdqOmEuZmYmJmEueGchPT0hMSYmIWEuR2omJiFhLmJpfWZ1bmN0aW9uIFRSKGEpe2lmKGEuSHMpcmV0dXJuITE7aWYoYS5oZil7aWYoIWEuZmYmJiFhLkxnKXJldHVybiExfWVsc2UgaWYoIWEuZmYpcmV0dXJuITE7cmV0dXJuIGEuRnN8fGEuRHN8fGEuR2p8fChhLmhmP2EueGc9PT0hMSYmIWEuTGc6YS54Zz09PSExKXx8IWEuR28/ITE6ITB9O3ZhciBVUj1mdW5jdGlvbihhKXtzTCgpJiZVKGEsRi5ELkZlLCIxIil9O3ZhciBWUj1mdW5jdGlvbihhKXt2YXIgYj17cHJlZml4OlN0cmluZyhPKGEuTSxGLkQubmIsIiIpKSxwYXRoOlN0cmluZyhPKGEuTSxGLkQudmMsIi8iKSksZmxhZ3M6U3RyaW5nKE8oYS5NLEYuRC5UYiwiIikpLGRvbWFpbjpTdHJpbmcoTyhhLk0sRi5ELkxiLCJhdXRvIikpLHBkOk51bWJlcihPKGEuTSxGLkQuQ2IsNjMwNzJFMykpfTtWKGEsSC5KLkdhLGIpfTt2YXIgV1I9ZnVuY3Rpb24oYSl7aWYoTSg0MzUpfHxNKDU1Mykpe3ZhciBiPURtKCk7YiYmVihhLEguSi5BcSxiKX19O3ZhciBZUj1mdW5jdGlvbihhKXthLmNvcHlUb0hpdERhdGEoRi5ELlJpKTtmb3IodmFyIGI9TyhhLk0sRi5ELlJsKXx8W10sYz0wO2M8Yi5sZW5ndGg7YysrKXt2YXIgZD1iW2NdO2lmKGQucnVsZV9yZXN1bHQpe2EuY29weVRvSGl0RGF0YShGLkQuUmksZC50cmFmZmljX3R5cGUpO0lQKEouVS5Fbik7YnJlYWt9fX07dmFyIFpSPWZ1bmN0aW9uKGEpe2lmKGRJKGEsImdhNF9hZHNfbGlua2VkIiwhMSkmJmEuZXZlbnROYW1lPT09Ri5ELndhKXt2YXIgYj1PKGEuTSxGLkQudWMpIT09ITE7aWYoYil7dmFyIGM9TEsoYSk7Yy5wZCYmKGMucGQ9TWF0aC5taW4oYy5wZCw3Nzc2RTMpKTtQSyh7VG46YixtbzpPbyhPKGEuTSxGLkQuRGIpKSxRbzohIU8oYS5NLEYuRC56YyksVW46Y30pfX19O3ZhciAkUj1mdW5jdGlvbihhKXtWKGEsSC5KLk1oLCExKTtWKGEsSC5KLk5oLCExKTtpZighRG0oKSYmV2ooKSYmIWJrKFpLKGEpKSYmIVEoYSxILkouYmUpJiZRKGEsSC5KLmVqKSl7dmFyIGI9UShhLEguSi5yZyk7UShhLEguSi5vZykmJihiP1YoYSxILkouTmgsITApOlYoYSxILkouTWgsITApKX19O3ZhciBhUz1mdW5jdGlvbihhKXtPKGEuTSxGLkQuemMpJiYoWG8oRi5ELnJhKXx8TyhhLk0sRi5ELktiKXx8VShhLEYuRC5abSwhMCkpO3ZhciBiO3ZhciBjO2M9Yz09PXZvaWQgMD8zOmM7dmFyIGQ9QS5sb2NhdGlvbi5ocmVmO2lmKGQpe3ZhciBlPVJqKGQpLnNlYXJjaC5yZXBsYWNlKCI/IiwiIiksZj1JaihlLCJfZ2wiLCExLCEwKXx8IiI7Yj1mP1ZxKGYsYykhPT12b2lkIDA6ITF9ZWxzZSBiPSExO2ImJmJrKFpLKGEpKSYmV0soYSwiZ2x2IiwxKTtpZihhLmV2ZW50TmFtZSE9PUYuRC53YSlyZXR1cm57fTtPKGEuTSxGLkQuemMpJiZBcyhbImF3IiwiZGMiXSk7Q3MoWyJhdyIsImRjIl0pO3ZhciBnPSRQKGEpLGg9WlAoYSk7cmV0dXJuIE9iamVjdC5rZXlzKGcpLmxlbmd0aD9nOmh9O3ZhciBiUz1mdW5jdGlvbihhKXt2YXIgYj0hMDtiPWI9PT12b2lkIDA/ITE6YjtpZihNKDQyNSkmJiEocGwoKXx8YiYmUShhLEguSi5kail8fGEuZXZlbnROYW1lIT09Ri5ELndhfHxRKGEsSC5KLkZjKSkpe3ZhciBjPXt9LGQ9e30sZT17ZXZlbnRNZXRhZGF0YTpuYShPYmplY3QsImFzc2lnbiIpLmNhbGwoT2JqZWN0LHt9LGEuTS5ldmVudE1ldGFkYXRhLChjW0guSi5GY109ITAsYyksYj97fTooZFtILkouRGNdPVguVi5LYSxkKSksbm9HdG1FdmVudDohMH0sZj1zQyhhLnRhcmdldC5kZXN0aW5hdGlvbklkLCJzdHJ1Y3R1cmVkX2RhdGEiLGEuTS5FYSk7bUQoZixhLk0uZXZlbnRJZCxlKX19Owp2YXIgZFM9ZnVuY3Rpb24oYSl7cmV0dXJuIWF8fGNTLnRlc3QoYSl8fERvLmhhc093blByb3BlcnR5KGEpfSxjUz0vXihffGdhX3xnb29nbGVffGd0YWdcLnxmaXJlYmFzZV8pLiokLyxlUz1mdW5jdGlvbihhKXt0aGlzLnlhPWE7dGhpcy5IPXRoaXMuemI9dGhpcy5jbGllbnRJZD12b2lkIDA7dGhpcy5qYT10aGlzLlI9ITE7dGhpcy5MYT0wO3RoaXMuTj0hMTt0aGlzLlo9e1RqOiExfTt0aGlzLmZhPW5ldyBJUTt0aGlzLks9bmV3IEhQfTtrPWVTLnByb3RvdHlwZTtrLlpzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLGU9YkModGhpcy55YSk7aWYoZSlpZihjLmV2ZW50TWV0YWRhdGFbSC5KLmFlXSYmYS5jaGFyQXQoMCk9PT0iXyIpYy5vbkZhaWx1cmUoKTtlbHNle2EhPT1GLkQud2EmJmEhPT1GLkQuSmImJmRTKGEpJiZQKDU4KTt2YXIgZj1uZXcgYUkoZSxhLGMpO1YoZixILkouRWIsYik7dmFyIGc9W0YuRC5yYV0saD1iayhaSyhmKSk7VihmLEguSi5kaixoKTtpZihkSShmLEYuRC5VZiwKTyhmLk0sRi5ELlVmKSl8fGgpZy5wdXNoKEYuRC5rYSksZy5wdXNoKEYuRC5tYSk7Rk0uZmEoZnVuY3Rpb24oKXticChmdW5jdGlvbigpe2QuYnQoZil9LGcpfSl9ZWxzZSBjLm9uRmFpbHVyZSgpfTtrLmJ0PWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dHJ5e0hNKGEpO2lmKGEuaXNBYm9ydGVkKXt0YigpO3JldHVybn1KTShhKTtEUihhKTt1UihhKTtFUihhKTtGUihhKTtJTShhKTt2YXIgYz17fTtlUShhLGMpO2lmKGEuaXNBYm9ydGVkKXthLk0ub25GYWlsdXJlKCk7dGIoKTtyZXR1cm59dGhpcy5IPWE7dmFyIGQ9Yy51cjtjLkhyPT09MCYmSVAoSi5VLm5sKTtkPT09MCYmSVAoSi5VLkxrKTtaTShhKTtWKGEsSC5KLnRnLGNvLmlhLnhkKTtWUihhKTtIUihhKTt0aGlzLkxxKGEpO3RoaXMuSy5LdChhKTtVKGEsRi5ELnppLGFsKDgsTkYpKTt4UihhKTtwTihhKTtaUihhKTtNUShhKTt0aGlzLkFvKGFTKGEpKTtiUyhhKTt2YXIgZT1hLmV2ZW50TmFtZT09PUYuRC53YTtlJiYodGhpcy5OPQohMCk7SVIoYSk7ZSYmIWEuaXNBYm9ydGVkJiZ0aGlzLkxhKys+MCYmSVAoSi5VLmhuKTtVTChhKTtqUihhLHRoaXMuY2xpZW50SWQsdGhpcy56Yix0aGlzLkssIXRoaXMuamEpO25SKGEpO2xSKGEpO09SKGEpO1hMKGEpO0dSKGEsdGhpcy5aKTt5UihhKTt2UihhKTt3UihhKTtZUihhKTthUShhKTtnUShhKTt3TShhKTtoUihhKTtZUShhKTtnUihhKTtmUihhKTtlUihhKTtkUihhKTtjUihhKTthUihhKTskUShhKTtXUShhKTtVUShhKTtUUShhKTtTUShhKTtiUShhKTtjUShhKTtPKGEuTSxGLkQueGgpJiYhYmsoWksoYSkpfHxHTShhKTtVUihhKTtXUihhKTtpTihhKTtWTChhKTtTTChhKTtsTihhKTtoTihhKTtYTShhLCExKTtzUihhKTtSUihhKTskUihhKTtOTShhKTtyUihhKTtwUihhKTtiUihhKTtaUShhKTtSUShhKTtxUihhKTshdGhpcy5OJiZRKGEsSC5KLlBjKSYmSVAoSi5VLnNsKTtKUChhKTtpZihNKDU3NSkpe2lmKGEuaXNBYm9ydGVkKXtpZighUShhLEguSi5TbykpYS5NLm9uRmFpbHVyZSgpOwp0YigpO3JldHVybn1pZihRKGEsSC5KLkphKSl7YS5NLm9uRmFpbHVyZSgpO3RiKCk7cmV0dXJufX1lbHNlIGlmKFEoYSxILkouSmEpfHxhLmlzQWJvcnRlZCl7YS5NLm9uRmFpbHVyZSgpO3RiKCk7cmV0dXJufXRoaXMuQW8oaVIoYSx0aGlzLmNsaWVudElkKSk7dGhpcy5qYT0hMDt0aGlzLkh0KGEpO0pSKGEpO1ZRKGZ1bmN0aW9uKGYpe2IuTW4oZil9LGEpO3RoaXMuSy5xaygpO0xSKGEpO2dOKGEpO1dMKGEpO1lNKGEpO2lmKGEuaXNBYm9ydGVkKXthLk0ub25GYWlsdXJlKCk7dGIoKTtyZXR1cm59dGhpcy5NbihhKTthLk0ub25TdWNjZXNzKCl9Y2F0Y2goZil7YS5NLm9uRmFpbHVyZSgpfXRiKCl9O2suTW49ZnVuY3Rpb24oYSl7dGhpcy5mYS5hZGQoYSl9O2suQW89ZnVuY3Rpb24oYSl7dmFyIGI9YS5jbGllbnRJZCxjPWEuemI7YiYmYyYmKHRoaXMuY2xpZW50SWQ9Yix0aGlzLnpiPWMpfTtrLmZsdXNoPWZ1bmN0aW9uKCl7dGhpcy5mYS5mbHVzaCgpfTtrLkh0PWZ1bmN0aW9uKGEpe3ZhciBiPQp0aGlzO2lmKCF0aGlzLlIpe3ZhciBjPVhvKEYuRC5tYSksZD1YbyhGLkQucmEpOyRvKFtGLkQubWEsRi5ELnJhLEYuRC5rYV0sZnVuY3Rpb24oZSl7dmFyIGY7Zj0oZT09PXZvaWQgMD97fTplKS5jb25zZW50RXZlbnRJZDt2YXIgZz1YbyhGLkQubWEpLGg9WG8oRi5ELnJhKSxsPSExLG49e30scD17fTtpZihkIT09aCYmYi5IJiZiLnpiJiZiLmNsaWVudElkKXt2YXIgcT1iLmNsaWVudElkLHI7dmFyIHQ9TFAoYi56Yik7cj10P3QuaDp2b2lkIDA7aWYoaCl7dmFyIHU9RlAoYi5IKTtpZih1KXtiLmNsaWVudElkPXU7dmFyIHY9U1AoYi5IKTt2JiYoYi56Yj1QUCh2LGIuemIsYi5IKSl9ZWxzZSBEUChiLmNsaWVudElkLGIuSCksQVAoYi5jbGllbnRJZCwhMCk7UlAoYi56YixiLkgpO2w9ITA7bltGLkQuTmxdPXE7ciYmKG5bRi5ELmJxXT1yKX1lbHNlIGIuemI9dm9pZCAwLGIuY2xpZW50SWQ9dm9pZCAwLEEuZ2FHbG9iYWw9e319ZyYmIWMmJihsPSEwLHBbSC5KLkdoXT0hMCxuW0YuRC54aV09CkxvW0YuRC5tYV0pO2lmKGwpe3ZhciB4PXNDKGIueWEsRi5ELnlmLG4pO21EKHgsZiE9bnVsbD9mOmEuTS5ldmVudElkLHtldmVudE1ldGFkYXRhOnB9KX1kPWg7Yz1nO2IuWi5Uaj0hMH0pO3RoaXMuUj0hMH19O2suTHE9ZnVuY3Rpb24oYSl7YS5ldmVudE5hbWUhPT1GLkQuSmImJnRoaXMuSy5LcShhKX07dmFyIGdTPWZ1bmN0aW9uKGEpe2lmKCFmUyhhKSl7dmFyIGI9ITEsYz1mdW5jdGlvbigpeyFiJiZmUyhhKSYmKGI9ITAsYWQoQiwidmlzaWJpbGl0eWNoYW5nZSIsYyksYWQoQiwicHJlcmVuZGVyaW5nY2hhbmdlIixjKSxQKDU1KSl9OyRjKEIsInZpc2liaWxpdHljaGFuZ2UiLGMpOyRjKEIsInByZXJlbmRlcmluZ2NoYW5nZSIsYyk7UCg1NCl9fSxmUz1mdW5jdGlvbihhKXtpZigicHJlcmVuZGVyaW5nImluIEI/Qi5wcmVyZW5kZXJpbmc6Qi52aXNpYmlsaXR5U3RhdGU9PT0icHJlcmVuZGVyIilyZXR1cm4hMTthKCk7cmV0dXJuITB9O2Z1bmN0aW9uIGhTKGEpe2dTKGZ1bmN0aW9uKCl7dmFyIGI9YkMoYSk7aWYoYil7dmFyIGM9aVMoYiksZD1jby5pYS54ZCxlPVlDKCksZj1iQyhhLCEwKTtmJiZlLkgucmVnaXN0ZXIoZixjLGQsdm9pZCAwKX19KTt9ZnVuY3Rpb24gaVMoYSl7dmFyIGI9ZnVuY3Rpb24oKXt9O3ZhciBjPW5ldyBlUyhhLmlkKSxkPWEucHJlZml4PT09Ik1DIjtiPWZ1bmN0aW9uKGUsZixnLGgpe2QmJihoLmV2ZW50TWV0YWRhdGFbSC5KLmJlXT0hMCk7Yy5acyhmLGcsaCl9O2pTKGEsYyk7cmV0dXJuIGJ9CmZ1bmN0aW9uIGpTKGEsYil7dmFyIGM9Yi5LO2MuaHQoZnVuY3Rpb24oKXtaayg5LCEwKTtZQygpLmZsdXNoKCk7aWYoYy5ZaCgpPj0xRTMmJmtkKCkpe3ZhciBkPXt9LGU9e2V2ZW50SWQ6cmooKSxldmVudE1ldGFkYXRhOihkW0guSi5La109ITAsZCksZGVmZXJyYWJsZTohMH07WkMoRi5ELnlmLHt9LGEuaWQsZSl9Yi5mbHVzaCgpO2MuQ28oZnVuY3Rpb24oKXtaayg5LCExKTtjLkNvKCl9KX0pO312YXIga1M9Si5VLnFsLGxTPUouVS5ybDtmdW5jdGlvbiBtUyhhLGIpe3ZhciBjPXRrKCk7YyYmYy5pbmRleE9mKGIpPi0xJiYoYVtILkouQ2NdPSEwKX1mdW5jdGlvbiBvUyhhLGIsYyl7dmFyIGQ9dGhpczt9b1MuUD0iaW50ZXJuYWwuZ3RhZ0NvbmZpZyI7ZnVuY3Rpb24gcFMoYSxiLGMsZCl7dmFyIGU9dGhpczt9cFMuUD0iaW50ZXJuYWwuZ3RhZ0Rlc3RpbmF0aW9uQ29uZmlnIjsKZnVuY3Rpb24gclMoYSxiKXt9CnJTLnB1YmxpY05hbWU9Imd0YWdTZXQiO2Z1bmN0aW9uIHNTKCl7dmFyIGE9e307cmV0dXJuIGF9O2Z1bmN0aW9uIHRTKGEpe310Uy5QPSJpbnRlcm5hbC5pbml0aWFsaXplU2VydmljZVdvcmtlciI7ZnVuY3Rpb24gdVMoYSxiKXt9dVMucHVibGljTmFtZT0iaW5qZWN0SGlkZGVuSWZyYW1lIjtmdW5jdGlvbiB2UyhhLGIsYyxkLGUpe312Uy5QPSJpbnRlcm5hbC5pbmplY3RIdG1sIjt2YXIgQVM9e2RsOjEsaWQ6MX07CmZ1bmN0aW9uIEJTKGEsYixjLGQpe31CUy5wdWJsaWNOYW1lPSJpbmplY3RTY3JpcHQiO2Z1bmN0aW9uIENTKCl7dmFyIGE9dm0sYj0hMTtiPSEhYS5IWyI1Il07cmV0dXJuIGJ9Q1MuUD0iaW50ZXJuYWwuaXNBdXRvUGlpRWxpZ2libGUiO2Z1bmN0aW9uIERTKGEpe3ZhciBiPSEwO3JldHVybiBifURTLnB1YmxpY05hbWU9ImlzQ29uc2VudEdyYW50ZWQiO2Z1bmN0aW9uIEVTKGEpe3ZhciBiPSExO3JldHVybiBifUVTLlA9ImludGVybmFsLmlzRGVidWdNb2RlIjtmdW5jdGlvbiBGUyhhKXt2YXIgYj0hMTtyZXR1cm4gYn1GUy5QPSJpbnRlcm5hbC5pc0Rlc3RpbmF0aW9uSW5pdGlhbGl6ZWQiO2Z1bmN0aW9uIEdTKCl7cmV0dXJuIEJtKCl9R1MuUD0iaW50ZXJuYWwuaXNEbWFSZWdpb24iO2Z1bmN0aW9uIEhTKCl7cmV0dXJuIFVCKCl9SFMuUD0iaW50ZXJuYWwuaXNEb21SZWFkeSI7ZnVuY3Rpb24gSVMoYSl7dmFyIGI9ITE7cmV0dXJuIGJ9SVMuUD0iaW50ZXJuYWwuaXNFbnRpdHlJbmZyYXN0cnVjdHVyZSI7ZnVuY3Rpb24gSlMoYSl7dmFyIGI9ITE7aWYoIXFoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJudW1iZXIiXSxbYV0pO2I9TShhKTtyZXR1cm4gYn1KUy5QPSJpbnRlcm5hbC5pc0ZlYXR1cmVFbmFibGVkIjtmdW5jdGlvbiBLUygpe3ZhciBhPSExO3JldHVybiBhfUtTLlA9ImludGVybmFsLmlzRnBmZSI7ZnVuY3Rpb24gTFMoKXt2YXIgYT0hMTtyZXR1cm4gYX1MUy5QPSJpbnRlcm5hbC5pc0djcEJyb3dzZXIiO2Z1bmN0aW9uIE1TKCl7dmFyIGE9ITE7cmV0dXJuIGF9TVMuUD0iaW50ZXJuYWwuaXNMYW5kaW5nUGFnZSI7ZnVuY3Rpb24gTlMoKXt2YXIgYT0hMTtyZXR1cm4gYX1OUy5QPSJpbnRlcm5hbC5pc09ndCI7ZnVuY3Rpb24gT1MoKXt2YXIgYTtyZXR1cm4gYX1PUy5QPSJpbnRlcm5hbC5pc1NhZmFyaVBjbUVsaWdpYmxlQnJvd3NlciI7ZnVuY3Rpb24gUFMoKXt2YXIgYT1RaChmdW5jdGlvbihiKXtYRih0aGlzKS5sb2coImVycm9yIixiKX0pO2EucHVibGljTmFtZT0iSlNPTiI7cmV0dXJuIGF9O2Z1bmN0aW9uIFFTKGEpe3ZhciBiPXZvaWQgMDtyZXR1cm4gVWQoYil9UVMuUD0iaW50ZXJuYWwubGVnYWN5UGFyc2VVcmwiO2Z1bmN0aW9uIFJTKCl7cmV0dXJuITF9CnZhciBTUz17Z2V0SXRlbTpmdW5jdGlvbihhKXt2YXIgYj1udWxsO3JldHVybiBifSxzZXRJdGVtOmZ1bmN0aW9uKGEsYil7cmV0dXJuITF9LHJlbW92ZUl0ZW06ZnVuY3Rpb24oYSl7fX07ZnVuY3Rpb24gVFMoKXt9VFMucHVibGljTmFtZT0ibG9nVG9Db25zb2xlIjtmdW5jdGlvbiBVUyhhLGIpe2lmKCFsaChhKXx8IWVoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJPYmplY3QiXSxhcmd1bWVudHMpO3ZhciBjPWEsZD1UZChiLHRoaXMuVCksZT1ZQygpLGY9YkMoYywhMCk7ZiYmVEMoZS5ILGYsZCk7fVVTLlA9ImludGVybmFsLm1lcmdlUmVtb3RlQ29uZmlnIjtmdW5jdGlvbiBWUyhhLGIsYyl7Yz1jPT09dm9pZCAwPyEwOmM7dmFyIGQ9W107cmV0dXJuIFVkKGQpfVZTLlA9ImludGVybmFsLnBhcnNlQ29va2llVmFsdWVzRnJvbVN0cmluZyI7ZnVuY3Rpb24gV1MoYSl7dmFyIGI9dm9pZCAwO2lmKHR5cGVvZiBhIT09InN0cmluZyIpcmV0dXJuO2EmJlNiKGEsIi8vIikmJihhPUIubG9jYXRpb24ucHJvdG9jb2wrYSk7aWYodHlwZW9mIFVSTD09PSJmdW5jdGlvbiIpe3ZhciBjO2E6e3ZhciBkO3RyeXtkPW5ldyBVUkwoYSl9Y2F0Y2goeCl7Yz12b2lkIDA7YnJlYWsgYX1mb3IodmFyIGU9e30sZj1BcnJheS5mcm9tKGQuc2VhcmNoUGFyYW1zKSxnPTA7ZzxmLmxlbmd0aDtnKyspe3ZhciBoPWZbZ11bMF0sbD1mW2ddWzFdO2UuaGFzT3duUHJvcGVydHkoaCk/dHlwZW9mIGVbaF09PT0ic3RyaW5nIj9lW2hdPVtlW2hdLGxdOmVbaF0ucHVzaChsKTplW2hdPWx9Yz17aHJlZjpkLmhyZWYsb3JpZ2luOmQub3JpZ2luLHByb3RvY29sOmQucHJvdG9jb2wsdXNlcm5hbWU6ZC51c2VybmFtZSxwYXNzd29yZDpkLnBhc3N3b3JkLGhvc3Q6ZC5ob3N0LGhvc3RuYW1lOmQuaG9zdG5hbWUsCnBvcnQ6ZC5wb3J0LHBhdGhuYW1lOmQucGF0aG5hbWUsc2VhcmNoOmQuc2VhcmNoLHNlYXJjaFBhcmFtczplLGhhc2g6ZC5oYXNofX1yZXR1cm4gVWQoYyl9dmFyIG47dHJ5e249UmooYSl9Y2F0Y2goeCl7cmV0dXJufWlmKCFuLnByb3RvY29sfHwhbi5ob3N0KXJldHVybjt2YXIgcD17fTtpZihuLnNlYXJjaClmb3IodmFyIHE9bi5zZWFyY2gucmVwbGFjZSgiPyIsIiIpLnNwbGl0KCImIikscj0wO3I8cS5sZW5ndGg7cisrKXt2YXIgdD1xW3JdLnNwbGl0KCI9IiksdT10WzBdLHY9S2oodC5zcGxpY2UoMSkuam9pbigiPSIpKXx8IiI7dj12LnJlcGxhY2UoL1wrL2csIiAiKTtwLmhhc093blByb3BlcnR5KHUpP3R5cGVvZiBwW3VdPT09InN0cmluZyI/cFt1XT1bcFt1XSx2XTpwW3VdLnB1c2godik6cFt1XT12fW4uc2VhcmNoUGFyYW1zPXA7bi5vcmlnaW49bi5wcm90b2NvbCsiLy8iK24uaG9zdDtuLnVzZXJuYW1lPSIiO24ucGFzc3dvcmQ9IiI7Yj1VZChuKTsKcmV0dXJuIGJ9V1MucHVibGljTmFtZT0icGFyc2VVcmwiO2Z1bmN0aW9uIFhTKGEpe31YUy5QPSJpbnRlcm5hbC5wcm9jZXNzQXNOZXdFdmVudCI7ZnVuY3Rpb24gWVMoYSxiLGMpe3ZhciBkO3JldHVybiBkfVlTLlA9ImludGVybmFsLnB1c2hUb0RhdGFMYXllciI7ZnVuY3Rpb24gWlMoYSl7dmFyIGI9T2EuYXBwbHkoMSxhcmd1bWVudHMpLGM9ITE7aWYoIWxoKGEpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciXSxhcmd1bWVudHMpO2Zvcih2YXIgZD1bdGhpcyxhXSxlPW0oYiksZj1lLm5leHQoKTshZi5kb25lO2Y9ZS5uZXh0KCkpZC5wdXNoKFRkKGYudmFsdWUsdGhpcy5ULDEpKTt0cnl7TC5hcHBseShudWxsLGQpLGM9ITB9Y2F0Y2goZyl7cmV0dXJuITF9cmV0dXJuIGN9WlMucHVibGljTmFtZT0icXVlcnlQZXJtaXNzaW9uIjtmdW5jdGlvbiAkUyhhKXt2YXIgYj10aGlzO30kUy5QPSJpbnRlcm5hbC5xdWV1ZUFkc1RyYW5zbWlzc2lvbiI7ZnVuY3Rpb24gYVQoYSl7dmFyIGI9dm9pZCAwO3JldHVybiBifWFULnB1YmxpY05hbWU9InJlYWRBbmFseXRpY3NTdG9yYWdlIjtmdW5jdGlvbiBiVCgpe3ZhciBhPSIiO3JldHVybiBhfWJULnB1YmxpY05hbWU9InJlYWRDaGFyYWN0ZXJTZXQiO2Z1bmN0aW9uIGNUKCl7cmV0dXJuIEUoMTkpfWNULlA9ImludGVybmFsLnJlYWREYXRhTGF5ZXJOYW1lIjtmdW5jdGlvbiBkVCgpe3ZhciBhPSIiO3JldHVybiBhfWRULnB1YmxpY05hbWU9InJlYWRUaXRsZSI7ZnVuY3Rpb24gZVQoYSxiKXt2YXIgYz10aGlzO2lmKCFsaChhKXx8IWhoKGIpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJzdHJpbmciLCJmdW5jdGlvbiJdLGFyZ3VtZW50cyk7TE0oYSxmdW5jdGlvbihkKXtiLmludm9rZShjLlQsVWQoZCxjLlQsMSkpfSk7fWVULlA9ImludGVybmFsLnJlZ2lzdGVyQ2NkQ2FsbGJhY2siO2Z1bmN0aW9uIGZUKGEsYil7aWYoIWxoKGEpfHwhZWgoYikmJiFnaChiKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsic3RyaW5nIiwiT2JqZWN0fHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7aWYoQmgoWEYodGhpcykuUGIoKSkpcmV0dXJuITE7dmFyIGMsZCxlPWJDKGEsITApO2lmKCFlKXJldHVybiExO3N3aXRjaChlLnByZWZpeCl7Y2FzZSAiQVciOmM9dE47ZD1jby5pYS5jYjticmVhaztjYXNlICJEQyI6Yz1JTjtkPWNvLmlhLmNiO2JyZWFrO2Nhc2UgIkdGIjpjPU5OO2Q9Y28uaWEuZ2Q7YnJlYWs7Y2FzZSAiSEEiOmM9UE47ZD1jby5pYS5nZDticmVhaztjYXNlICJVQSI6Yz1mTztkPWNvLmlhLmdkO2JyZWFrO2Nhc2UgIk1DIjpjPWlTKGUpO2Q9Y28uaWEueGQ7YnJlYWs7Y2FzZSAiRyI6cmV0dXJuIGhTKGEpLCEwO2RlZmF1bHQ6cmV0dXJuITF9dmFyIGY9YSwKZz1jLGg9ZCxsPVRkKGIsdGhpcy5ULDEpLG49WUMoKSxwPWJDKGYsITApO3AmJm4uSC5yZWdpc3RlcihwLGcsaCxsKTtyZXR1cm4hMH1mVC5QPSJpbnRlcm5hbC5yZWdpc3RlckRlc3RpbmF0aW9uIjt2YXIgZ1Q9WyJldmVudCJdO2Z1bmN0aW9uIGhUKGEsYixjKXt9aFQuUD0iaW50ZXJuYWwucmVnaXN0ZXJHdGFnQ29tbWFuZExpc3RlbmVyIjtmdW5jdGlvbiBpVChhLGIpe3ZhciBjPSExO3JldHVybiBjfWlULlA9ImludGVybmFsLnJlbW92ZURhdGFMYXllckV2ZW50TGlzdGVuZXIiO2Z1bmN0aW9uIGpUKGEsYil7fQpqVC5QPSJpbnRlcm5hbC5yZW1vdmVGb3JtRGF0YSI7ZnVuY3Rpb24ga1QoKXt9a1QucHVibGljTmFtZT0icmVzZXREYXRhTGF5ZXIiO2Z1bmN0aW9uIGxUKGEsYixjKXt2YXIgZD12b2lkIDA7cmV0dXJuIGR9bFQuUD0iaW50ZXJuYWwuc2NydWJVcmxQYXJhbXMiO2Z1bmN0aW9uIG1UKGEpe31tVC5QPSJpbnRlcm5hbC5zZW5kQWRzSGl0IjtmdW5jdGlvbiBuVChhLGIsYyxkKXtpZihhcmd1bWVudHMubGVuZ3RoPDJ8fCFmaChkKXx8IWZoKGMpKXRocm93IEsodGhpcy5nZXROYW1lKCksWyJhbnkiLCJhbnkiLCJPYmplY3R8dW5kZWZpbmVkIiwiT2JqZWN0fHVuZGVmaW5lZCJdLGFyZ3VtZW50cyk7dmFyIGU9Yz9UZChjLHRoaXMuVCwxKTp7fSxmPVRkKGEpLGc9QXJyYXkuaXNBcnJheShmKT9mOltmXTtiPVN0cmluZyhiKTt2YXIgaD1kP1RkKGQpOnt9LGw9WEYodGhpcyk7aC5vcmlnaW5hdGluZ0VudGl0eT10RyhsKTtsLnByaW9yaXR5UXVldWUmJihoLnByaW9yaXR5UXVldWU9bC5wcmlvcml0eVF1ZXVlKTtmb3IodmFyIG49MDtuPGcubGVuZ3RoO24rKyl7dmFyIHA9Z1tuXTtpZih0eXBlb2YgcD09PSJzdHJpbmciKXt2YXIgcT17fTtFZChlLHEpO3ZhciByPXt9O0VkKGgscik7dmFyIHQ9c0MocCxiLHEpO21EKHQsCmguZXZlbnRJZHx8bC5ldmVudElkLHIpfX19blQuUD0iaW50ZXJuYWwuc2VuZEd0YWdFdmVudCI7ZnVuY3Rpb24gb1QoYSxiLGMpe31vVC5wdWJsaWNOYW1lPSJzZW5kUGl4ZWwiO2Z1bmN0aW9uIHBUKGEsYil7fXBULlA9ImludGVybmFsLnNldEFuY2hvckhyZWYiO2Z1bmN0aW9uIHFUKGEpe31xVC5QPSJpbnRlcm5hbC5zZXRDb250YWluZXJDb25zZW50RGVmYXVsdHMiO2Z1bmN0aW9uIHJUKGEsYixjLGQpe3ZhciBlPXRoaXM7ZD1kPT09dm9pZCAwPyEwOmQ7dmFyIGY9ITE7CnJldHVybiBmfXJULnB1YmxpY05hbWU9InNldENvb2tpZSI7ZnVuY3Rpb24gc1QoYSl7fXNULlA9ImludGVybmFsLnNldENvcmVQbGF0Zm9ybVNlcnZpY2VzIjtmdW5jdGlvbiB0VChhLGIpe310VC5QPSJpbnRlcm5hbC5zZXREYXRhTGF5ZXJWYWx1ZSI7ZnVuY3Rpb24gdVQoYSl7fXVULnB1YmxpY05hbWU9InNldERlZmF1bHRDb25zZW50U3RhdGUiO2Z1bmN0aW9uIHZUKGEsYil7fXZULlA9ImludGVybmFsLnNldERlbGVnYXRlZENvbnNlbnRUeXBlIjtmdW5jdGlvbiB3VChhLGIpe313VC5QPSJpbnRlcm5hbC5zZXRGb3JtQWN0aW9uIjtmdW5jdGlvbiB4VChhLGIsYyl7Yz1jPT09dm9pZCAwPyExOmM7aWYoIWxoKGEpfHwhb2goYykpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsImFueSIsImJvb2xlYW58dW5kZWZpbmVkIl0sYXJndW1lbnRzKTtpZigha20oYSkpdGhyb3cgRXJyb3IoInNldEluQ3Jvc3NDb250YWluZXJEYXRhIHJlcXVpcmVzIHZhbGlkIENyb3NzQ29udGFpbmVyU2NoZW1hIGtleS4iKTsoY3x8bm0oYSk9PT12b2lkIDApJiZtbShhLFRkKGIsdGhpcy5ULDEpKTt9eFQuUD0iaW50ZXJuYWwuc2V0SW5Dcm9zc0NvbnRhaW5lckRhdGEiO2Z1bmN0aW9uIHlUKGEsYixjKXtyZXR1cm4hMX15VC5wdWJsaWNOYW1lPSJzZXRJbldpbmRvdyI7ZnVuY3Rpb24gelQoYSxiLGMpe316VC5QPSJpbnRlcm5hbC5zZXRQcm9kdWN0U2V0dGluZ3NQYXJhbWV0ZXIiO2Z1bmN0aW9uIEFUKGEsYixjKXtpZighbGgoYSl8fCFsaChiKXx8YXJndW1lbnRzLmxlbmd0aCE9PTMpdGhyb3cgSyh0aGlzLmdldE5hbWUoKSxbInN0cmluZyIsInN0cmluZyIsImFueSJdLGFyZ3VtZW50cyk7Zm9yKHZhciBkPWIuc3BsaXQoIi4iKSxlPWVEKGEpLGY9MDtmPGQubGVuZ3RoLTE7ZisrKXtpZihlW2RbZl1dPT09dm9pZCAwKWVbZFtmXV09e307ZWxzZSBpZighQ2QoZVtkW2ZdXSkpdGhyb3cgRXJyb3IoInNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciBmYWlsZWQsIHBhdGggY29udGFpbnMgYSBub24tb2JqZWN0IHR5cGU6ICIrZFtmXSk7ZT1lW2RbZl1dfWVbZFtmXV09VGQoYyx0aGlzLlQsMSk7fUFULlA9ImludGVybmFsLnNldFJlbW90ZUNvbmZpZ1BhcmFtZXRlciI7ZnVuY3Rpb24gQlQoYSxiKXt9CkJULlA9ImludGVybmFsLnNldFRyYW5zbWlzc2lvbk1vZGUiO2Z1bmN0aW9uIENUKGEsYixjLGQpe3ZhciBlPXRoaXM7fUNULnB1YmxpY05hbWU9InNoYTI1NiI7ZnVuY3Rpb24gRFQoYSxiLGMpe30KRFQuUD0iaW50ZXJuYWwuc29ydFJlbW90ZUNvbmZpZ1BhcmFtZXRlcnMiO2Z1bmN0aW9uIEVUKGEpe31FVC5QPSJpbnRlcm5hbC5zdG9yZUFkc0JyYWlkTGFiZWxzIjtmdW5jdGlvbiBGVChhLGIpe3ZhciBjPXZvaWQgMDtyZXR1cm4gY31GVC5QPSJpbnRlcm5hbC5zdWJzY3JpYmVUb0Nyb3NzQ29udGFpbmVyRGF0YSI7ZnVuY3Rpb24gR1QoYSl7fUdULlA9ImludGVybmFsLnRhc2tTZW5kQWRzSGl0cyI7dmFyIEhUPXtnZXRJdGVtOmZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7TCh0aGlzLCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSIpO3ZhciBjPVhGKHRoaXMpLlBiKCksZD1hbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KTtkW2NdJiYoYj1kW2NdLmhhc093blByb3BlcnR5KCJndG0uIithKT9kW2NdWyJndG0uIithXTpudWxsKTtyZXR1cm4gYn0sc2V0SXRlbTpmdW5jdGlvbihhLGIpe0wodGhpcywiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiKTt2YXIgYz1YRih0aGlzKS5QYigpLGQ9YWwoNyxmdW5jdGlvbigpe3JldHVybnt9fSk7ZFtjXT1kW2NdfHx7fTtkW2NdWyJndG0uIithXT1iO30sCnJlbW92ZUl0ZW06ZnVuY3Rpb24oYSl7TCh0aGlzLCJhY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZSIpO3ZhciBiPVhGKHRoaXMpLlBiKCksYz1hbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KTtpZighY1tiXXx8IWNbYl0uaGFzT3duUHJvcGVydHkoImd0bS4iK2EpKXJldHVybjtkZWxldGUgY1tiXVsiZ3RtLiIrYV07fSxjbGVhcjpmdW5jdGlvbigpe0wodGhpcywiYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiKTt2YXIgYT1YRih0aGlzKS5QYigpO2RlbGV0ZSBhbCg3LGZ1bmN0aW9uKCl7cmV0dXJue319KVthXTt9LApwdWJsaWNOYW1lOiJ0ZW1wbGF0ZVN0b3JhZ2UifTtmdW5jdGlvbiBJVChhLGIpe3ZhciBjPSExO3JldHVybiBjfUlULlA9ImludGVybmFsLnRlc3RSZWdleCI7ZnVuY3Rpb24gSlQoYSl7dmFyIGI7cmV0dXJuIGJ9O2Z1bmN0aW9uIEtUKGEsYil7fUtULlA9ImludGVybmFsLnRyYWNrVXNhZ2UiO2Z1bmN0aW9uIExUKGEsYil7dmFyIGM7cmV0dXJuIGN9TFQuUD0iaW50ZXJuYWwudW5zdWJzY3JpYmVGcm9tQ3Jvc3NDb250YWluZXJEYXRhIjtmdW5jdGlvbiBNVChhKXt9TVQucHVibGljTmFtZT0idXBkYXRlQ29uc2VudFN0YXRlIjtmdW5jdGlvbiBOVChhKXt2YXIgYj0hMTtyZXR1cm4gYn1OVC5QPSJpbnRlcm5hbC51c2VyRGF0YU5lZWRzRW5jcnlwdGlvbiI7dmFyIE9UPWZ1bmN0aW9uKCl7dGhpcy5IPW5ldyBhaX0sUVQ9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGI7dmFyIGM9UFQuSDtpZihjLmNvbnRhaW5zKGEpKWI9Yy5nZXQoYSx0aGlzKTtlbHNle3ZhciBkO2lmKGQ9Yy5ILmhhc093blByb3BlcnR5KGEpKXt2YXIgZT10aGlzLlQueGIoKTtpZihlKXt2YXIgZj0hMSxnPWUuUGIoKTtpZihnKXtCaChnKXx8KGY9ITApO31kPWZ9ZWxzZSBkPSEwfWlmKGQpe3ZhciBoPWMuSC5oYXNPd25Qcm9wZXJ0eShhKT9jLkhbYV06dm9pZCAwO2I9aH1lbHNlIHRocm93IEVycm9yKGErIiBpcyBub3QgYSB2YWxpZCBBUEkgbmFtZS4iKTt9cmV0dXJuIGJ9fSxQVDtmdW5jdGlvbiBSVChhLGIsYyl7UFR8fChQVD1uZXcgT1QpO1BULkguYWRkKGEsYixjKX1mdW5jdGlvbiBTVChhLGIpe1BUfHwoUFQ9bmV3IE9UKTt2YXIgYz1QVC5IO2lmKGMuSC5oYXNPd25Qcm9wZXJ0eShhKSl0aHJvdyBFcnJvcigiQXR0ZW1wdGluZyB0byBhZGQgYSBwcml2YXRlIGZ1bmN0aW9uIHdoaWNoIGFscmVhZHkgZXhpc3RzOiAiK2ErIi4iKTtpZihjLmNvbnRhaW5zKGEpKXRocm93IEVycm9yKCJBdHRlbXB0aW5nIHRvIGFkZCBhIHByaXZhdGUgZnVuY3Rpb24gd2l0aCBhbiBleGlzdGluZyBBUEkgbmFtZTogIithKyIuIik7Yy5IW2FdPXliKGIpP3RoKGEsYik6dWgoYSxiKX07ZnVuY3Rpb24gVFQoYSxiKXtmdW5jdGlvbiBjKGQpe2lmKCFlaChkKSl0aHJvdyBLKHRoaXMuZ2V0TmFtZSgpLFsiT2JqZWN0Il0sYXJndW1lbnRzKTt2YXIgZT1UZChkLHRoaXMuVCwxKS5yYigpO2EoZSl9Yy5QPSJpbnRlcm5hbC4iK2I7cmV0dXJuIGN9O2Z1bmN0aW9uIFVUKCl7dmFyIGE9ZnVuY3Rpb24oYyl7cmV0dXJuIHZvaWQgU1QoYy5QLGMpfSxiPWZ1bmN0aW9uKGMpe3JldHVybiB2b2lkIFJUKGMucHVibGljTmFtZSxjKX07YihSRik7YihZRik7YihSRyk7YihURyk7YihVRyk7YihkSCk7YihmSCk7YihoSSk7YihQUygpKTtiKGpJKTtiKE9PKTtiKFBPKTtiKGxQKTtiKG1QKTtiKG5QKTtiKHVQKTtiKHZQKTtiKHJTKTtiKHVTKTtiKEJTKTtiKERTKTtiKFRTKTtiKFdTKTtiKFpTKTtiKGFUKTtiKGJUKTtiKGRUKTtiKG9UKTtiKHJUKTtiKHVUKTtiKHlUKTtiKENUKTtiKEhUKTtiKE1UKTtSVCgiTWF0aCIsemgoKSk7UlQoIk9iamVjdCIsWmgpO1JUKCJUZXN0SGVscGVyIixjaSgpKTtSVCgiYXNzZXJ0QXBpIix3aCk7UlQoImFzc2VydFRoYXQiLHhoKTtSVCgiZGVjb2RlVXJpIixDaCk7UlQoImRlY29kZVVyaUNvbXBvbmVudCIsRGgpO1JUKCJlbmNvZGVVcmkiLEVoKTtSVCgiZW5jb2RlVXJpQ29tcG9uZW50IixGaCk7UlQoImZhaWwiLApMaCk7UlQoImdlbmVyYXRlUmFuZG9tIixOaCk7UlQoImdldFRpbWVzdGFtcCIsT2gpO1JUKCJnZXRUaW1lc3RhbXBNaWxsaXMiLE9oKTtSVCgiZ2V0VHlwZSIsUGgpO1JUKCJtYWtlSW50ZWdlciIsUmgpO1JUKCJtYWtlTnVtYmVyIixTaCk7UlQoIm1ha2VTdHJpbmciLFRoKTtSVCgibWFrZVRhYmxlTWFwIixVaCk7UlQoIm1vY2siLFhoKTtSVCgibW9ja09iamVjdCIsWWgpO1JUKCJmcm9tQmFzZTY0IixITywhKCJhdG9iImluIEEpKTtSVCgibG9jYWxTdG9yYWdlIixTUywhUlMoKSk7UlQoInRvQmFzZTY0IixKVCwhKCJidG9hImluIEEpKTthKFFGKTthKFVGKTthKG5HKTthKHNHKTthKElHKTthKFBHKTthKFNHKTthKFZHKTthKFdHKTthKFpHKTthKCRHKTthKGFIKTthKGJIKTthKGNIKTthKGVIKTthKGdIKTthKGdJKTthKGlJKTthKGtJKTthKGxJKTthKG1JKTthKG5JKTthKG9JKTthKGZKKTthKG1KKTthKHRKKTthKHVKKTthKEFKKTthKEZKKTthKEtKKTthKFJKKTthKFdKKTthKGdLKTsKYShpSyk7YSh2Syk7YSh3Syk7YSh4Syk7YShGTyk7YShHTyk7YShJTyk7YShKTyk7YShLTyk7YShMTyk7YShNTyk7YShOTyk7YShRTyk7YShSTyk7YShTTyk7YShUTyk7YShVTyk7YShWTyk7YShXTyk7YShYTyk7YShZTyk7YShaTyk7YSgkTyk7YShhUCk7YShiUCk7YShjUCk7YShkUCk7YShlUCk7YShmUCk7YShnUCk7YShoUCk7YShpUCk7YShqUCk7YShrUCk7YShvUCk7YShwUCk7YShxUCk7YShyUCk7YShzUCk7YSh0UCk7YSh3UCk7YShvUyk7YShwUyk7YSh0Uyk7YSh2Uyk7YShDUyk7YShFUyk7YShGUyk7YShHUyk7YShIUyk7YShJUyk7YShKUyk7YShLUyk7YShMUyk7YShNUyk7YShOUyk7YShPUyk7YShRUyk7YShHRyk7YShVUyk7YShWUyk7YShYUyk7YShZUyk7YSgkUyk7YShjVCk7YShlVCk7YShmVCk7YShoVCk7YShpVCk7YShqVCk7YShsVCk7YShtVCk7YShuVCk7YShwVCk7YShxVCk7YShzVCk7YSh0VCk7YSh2VCk7YSh3VCk7YSh4VCk7YSh6VCk7YShBVCk7YShCVCk7YShEVCk7CmEoRVQpO2EoRlQpO2EoR1QpO2EoSVQpO2EoS1QpO2EoTFQpO2EoTlQpO1NUKCJpbnRlcm5hbC5JZnJhbWluZ1N0YXRlU2NoZW1hIixzUygpKTtTVCgiaW50ZXJuYWwucXVpY2tIYXNoIixNaCk7YShUVChNRiwidGFza1NldEFkc1RyYW5zbWlzc2lvblR5cGUiKSksYShUVChQRiwidGFza1NldFVuaXZlcnNhbFBhcmFtcyIpKTtQVHx8KFBUPW5ldyBPVCk7cmV0dXJuIFFUKCl9O3ZhciBKRjtmdW5jdGlvbiBWVCgpe0pGLnNkKGZ1bmN0aW9uKGEsYixjKXtsaigpO3ZhciBkPWpqO2QuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFPWQuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFfHwwO2QuSC5TQU5EQk9YRURfSlNfU0VNQVBIT1JFKys7dHJ5e3JldHVybiBhLmFwcGx5KGIsYyl9ZmluYWxseXtsaigpLGpqLkguU0FOREJPWEVEX0pTX1NFTUFQSE9SRS0tfX0pfWZ1bmN0aW9uIFdUKGEpe2lmKGEmJmEubGVuZ3RoKWZvcih2YXIgYj1hbCgyNyxmdW5jdGlvbigpe3JldHVybnt9fSksYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZD1hW2NdLnJlcGxhY2UoL15fKi8sIiIpO2JbZF09WyJzYW5kYm94ZWRTY3JpcHRzIl19fQpmdW5jdGlvbiBYVChhKXtpZihhKXt2YXIgYj1hbCgyNyxmdW5jdGlvbigpe3JldHVybnt9fSk7R2IoYSxmdW5jdGlvbihjLGQpe2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKXt2YXIgZj1kW2VdLnJlcGxhY2UoL15fKi8sIiIpO2JbZl09YltmXXx8W107YltmXS5wdXNoKGMpfX0pfX07ZnVuY3Rpb24gWlQoYSl7bUQocEMoImRldmVsb3Blcl9pZC4iK2EsITApLDAse30pfTtmdW5jdGlvbiAkVChhLGIpe3JldHVybiBFZChhLGJ8fG51bGwpfWZ1bmN0aW9uIFkoYSl7cmV0dXJuIHdpbmRvdy5lbmNvZGVVUklDb21wb25lbnQoYSl9ZnVuY3Rpb24gYVUoYSl7WmMoYSx2b2lkIDAsdm9pZCAwKX1mdW5jdGlvbiBiVShhKXt2YXIgYj1bInZlaW50ZXJhY3RpdmUuY29tIiwidmUtaW50ZXJhY3RpdmUuY24iXTtpZighYSlyZXR1cm4hMTt2YXIgYz1MaihSaihhKSwiaG9zdCIpO2lmKCFjKXJldHVybiExO2Zvcih2YXIgZD0wO2ImJmQ8Yi5sZW5ndGg7ZCsrKXt2YXIgZT1iW2RdJiZiW2RdLnRvTG93ZXJDYXNlKCk7aWYoZSl7dmFyIGY9Yy5sZW5ndGgtZS5sZW5ndGg7Zj4wJiZlLmNoYXJBdCgwKSE9PSIuIiYmKGYtLSxlPSIuIitlKTtpZihmPj0wJiZjLmluZGV4T2YoZSxmKT09PWYpcmV0dXJuITB9fXJldHVybiExfQpmdW5jdGlvbiBjVShhLGIsYyl7Zm9yKHZhciBkPXt9LGU9ITEsZj0wO2EmJmY8YS5sZW5ndGg7ZisrKWFbZl0mJmFbZl0uaGFzT3duUHJvcGVydHkoYikmJmFbZl0uaGFzT3duUHJvcGVydHkoYykmJihkW2FbZl1bYl1dPWFbZl1bY10sZT0hMCk7cmV0dXJuIGU/ZDpudWxsfWZ1bmN0aW9uIGRVKGEsYil7dmFyIGM9e307aWYoYSlmb3IodmFyIGQgaW4gYSlhLmhhc093blByb3BlcnR5KGQpJiYoY1tkXT1hW2RdKTtpZihiKXt2YXIgZT1jVShiLCJwYXJhbWV0ZXIiLCJwYXJhbWV0ZXJWYWx1ZSIpO2UmJihjPSRUKGUsYykpfXJldHVybiBjfWZ1bmN0aW9uIGVVKGEsYixjKXtyZXR1cm4gYT09PXZvaWQgMHx8YT09PWM/YjphfWZ1bmN0aW9uIGZVKGEsYixjKXtyZXR1cm4gVWMoYSxiLGMsdm9pZCAwKX1mdW5jdGlvbiBnVShhLGIpe0FbYV09Yn1mdW5jdGlvbiBoVShhLGIsYyl7dmFyIGQ9QTtiJiYoZFthXT09PXZvaWQgMHx8YyYmIWRbYV0pJiYoZFthXT1iKTtyZXR1cm4gZFthXX12YXIgaVU9e30salU9WC5WO3ZhciBaPXtzZWN1cml0eUdyb3Vwczp7fX07CgpaLnNlY3VyaXR5R3JvdXBzLmFjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlPVsiZ29vZ2xlIl0sWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlPWZ1bmN0aW9uKCl7cmV0dXJue2Fzc2VydDpmdW5jdGlvbigpe30sYWE6ZnVuY3Rpb24oKXtyZXR1cm57fX19fSxaLl9fYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UuTz0iYWNjZXNzX3RlbXBsYXRlX3N0b3JhZ2UiLFouX19hY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZS5pc1ZlbmRvclRlbXBsYXRlPSEwLFouX19hY2Nlc3NfdGVtcGxhdGVfc3RvcmFnZS5wcmlvcml0eU92ZXJyaWRlPTAsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlLmlzSW5mcmFzdHJ1Y3R1cmU9ITEsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlWyI1Il09ITEsWi5fX2FjY2Vzc190ZW1wbGF0ZV9zdG9yYWdlWyI2Il09ITE7CgoKClouc2VjdXJpdHlHcm91cHMucmVhZF9ldmVudF9kYXRhPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2tleTpjfX0oZnVuY3Rpb24oYil7Wi5fX3JlYWRfZXZlbnRfZGF0YT1iO1ouX19yZWFkX2V2ZW50X2RhdGEuTz0icmVhZF9ldmVudF9kYXRhIjtaLl9fcmVhZF9ldmVudF9kYXRhLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX3JlYWRfZXZlbnRfZGF0YS5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX3JlYWRfZXZlbnRfZGF0YS5pc0luZnJhc3RydWN0dXJlPSExO1ouX19yZWFkX2V2ZW50X2RhdGFbIjUiXT0hMTtaLl9fcmVhZF9ldmVudF9kYXRhWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF9ldmVudERhdGFBY2Nlc3MsZD1iLnZ0cF9rZXlQYXR0ZXJuc3x8W10sZT1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihmLGcpe2lmKGchPW51bGwmJiF6YihnKSl0aHJvdyBlKGYse2tleTpnfSwiS2V5IG11c3QgYmUgYSBzdHJpbmcuIik7CmlmKGMhPT0iYW55Iil7dHJ5e2lmKGM9PT0ic3BlY2lmaWMiJiZnIT1udWxsJiZFZyhnLGQpKXJldHVybn1jYXRjaChoKXt0aHJvdyBlKGYse2tleTpnfSwiSW52YWxpZCBrZXkgZmlsdGVyLiIpO310aHJvdyBlKGYse2tleTpnfSwiUHJvaGliaXRlZCByZWFkIGZyb20gZXZlbnQgZGF0YS4iKTt9fSxhYTphfX0pfSgpOwoKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm57b3B0aW9uczp7Zml4TWlzc2luZ0FwaTohIWMuZml4TWlzc2luZ0FwaX19fShmdW5jdGlvbihiKXtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzPWI7Wi5fX2RldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50cy5PPSJkZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMiO1ouX19kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHMuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X3lvdXR1YmVfYWN0aXZpdHlfZXZlbnRzLmlzSW5mcmFzdHJ1Y3R1cmU9ITE7Wi5fX2RldGVjdF95b3V0dWJlX2FjdGl2aXR5X2V2ZW50c1siNSJdPSExO1ouX19kZXRlY3RfeW91dHViZV9hY3Rpdml0eV9ldmVudHNbIjYiXT0KITF9KShmdW5jdGlvbihiKXt2YXIgYz0hIWIudnRwX2FsbG93Rml4TWlzc2luZ0phdmFTY3JpcHRBcGksZD1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihlLGYpe2lmKCFjJiZmJiZmLmZpeE1pc3NpbmdBcGkpdGhyb3cgZChlLHt9LCJQcm9oaWJpdGVkIG9wdGlvbjogZml4TWlzc2luZ0FwaS4iKTt9LGFhOmF9fSl9KCk7CgoKCgoKClouc2VjdXJpdHlHcm91cHMuZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50cz1bImdvb2dsZSJdLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe3JldHVybnt9fShmdW5jdGlvbihiKXtaLl9fZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50cz1iO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLk89ImRldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMiO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHMucHJpb3JpdHlPdmVycmlkZT0wO1ouX19kZXRlY3RfaGlzdG9yeV9jaGFuZ2VfZXZlbnRzLmlzSW5mcmFzdHJ1Y3R1cmU9ITE7Wi5fX2RldGVjdF9oaXN0b3J5X2NoYW5nZV9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X2hpc3RvcnlfY2hhbmdlX2V2ZW50c1siNiJdPSExfSkoZnVuY3Rpb24oKXtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKCl7fSxhYTphfX0pfSgpOwoKClouc2VjdXJpdHlHcm91cHMuZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue29wdGlvbnM6Y319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHM9YjtaLl9fZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzLk89ImRldGVjdF9saW5rX2NsaWNrX2V2ZW50cyI7Wi5fX2RldGVjdF9saW5rX2NsaWNrX2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHMucHJpb3JpdHlPdmVycmlkZT0wO1ouX19kZXRlY3RfbGlua19jbGlja19ldmVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X2xpbmtfY2xpY2tfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9saW5rX2NsaWNrX2V2ZW50c1siNiJdPSExfSkoZnVuY3Rpb24oYil7dmFyIGM9Yi52dHBfYWxsb3dXYWl0Rm9yVGFncyxkPWIudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcjtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKGUsCmYpe2lmKCFjJiZmJiZmLndhaXRGb3JUYWdzKXRocm93IGQoZSx7fSwiUHJvaGliaXRlZCBvcHRpb24gd2FpdEZvclRhZ3MuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjKXtyZXR1cm57b3B0aW9uczpjfX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHM9YjtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5PPSJkZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzIjtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X2Zvcm1fc3VibWl0X2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfZm9ybV9zdWJtaXRfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9mb3JtX3N1Ym1pdF9ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2FsbG93V2FpdEZvclRhZ3MsZD1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7CnJldHVybnthc3NlcnQ6ZnVuY3Rpb24oZSxmKXtpZighYyYmZiYmZi53YWl0Rm9yVGFncyl0aHJvdyBkKGUse30sIlByb2hpYml0ZWQgb3B0aW9uIHdhaXRGb3JUYWdzLiIpO30sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5yZWFkX2NvbnRhaW5lcl9kYXRhPVsiZ29vZ2xlIl0sWi5fX3JlYWRfY29udGFpbmVyX2RhdGE9ZnVuY3Rpb24oKXtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKCl7fSxhYTpmdW5jdGlvbigpe3JldHVybnt9fX19LFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLk89InJlYWRfY29udGFpbmVyX2RhdGEiLFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLmlzVmVuZG9yVGVtcGxhdGU9ITAsWi5fX3JlYWRfY29udGFpbmVyX2RhdGEucHJpb3JpdHlPdmVycmlkZT0wLFouX19yZWFkX2NvbnRhaW5lcl9kYXRhLmlzSW5mcmFzdHJ1Y3R1cmU9ITEsWi5fX3JlYWRfY29udGFpbmVyX2RhdGFbIjUiXT0hMSxaLl9fcmVhZF9jb250YWluZXJfZGF0YVsiNiJdPSExOwpaLnNlY3VyaXR5R3JvdXBzLmxpc3Rlbl9kYXRhX2xheWVyPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2V2ZW50TmFtZTpjfX0oZnVuY3Rpb24oYil7Wi5fX2xpc3Rlbl9kYXRhX2xheWVyPWI7Wi5fX2xpc3Rlbl9kYXRhX2xheWVyLk89Imxpc3Rlbl9kYXRhX2xheWVyIjtaLl9fbGlzdGVuX2RhdGFfbGF5ZXIuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fbGlzdGVuX2RhdGFfbGF5ZXIucHJpb3JpdHlPdmVycmlkZT0wO1ouX19saXN0ZW5fZGF0YV9sYXllci5pc0luZnJhc3RydWN0dXJlPSExO1ouX19saXN0ZW5fZGF0YV9sYXllclsiNSJdPSExO1ouX19saXN0ZW5fZGF0YV9sYXllclsiNiJdPSExfSkoZnVuY3Rpb24oYil7dmFyIGM9Yi52dHBfYWNjZXNzVHlwZSxkPWIudnRwX2FsbG93ZWRFdmVudHN8fFtdLGU9Yi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oZixnKXtpZighemIoZykpdGhyb3cgZShmLHtldmVudE5hbWU6Z30sCiJFdmVudCBuYW1lIG11c3QgYmUgYSBzdHJpbmcuIik7aWYoIShjPT09ImFueSJ8fGM9PT0ic3BlY2lmaWMiJiZkLmluZGV4T2YoZyk+PTApKXRocm93IGUoZix7ZXZlbnROYW1lOmd9LCJQcm9oaWJpdGVkIGxpc3RlbiBvbiBkYXRhIGxheWVyIGV2ZW50LiIpO30sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyl7cmV0dXJue2RhdGFTb3VyY2U6Y319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhPWI7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuTz0iZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YSI7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YS5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2RldGVjdF91c2VyX3Byb3ZpZGVkX2RhdGEuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X3VzZXJfcHJvdmlkZWRfZGF0YVsiNSJdPSExO1ouX19kZXRlY3RfdXNlcl9wcm92aWRlZF9kYXRhWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF9jcmVhdGVQZXJtaXNzaW9uRXJyb3I7cmV0dXJue2Fzc2VydDpmdW5jdGlvbihkLAplKXtpZihlIT09ImF1dG8iJiZlIT09Im1hbnVhbCImJmUhPT0iY29kZSIpdGhyb3cgYyhkLHt9LCJVbmtub3duIHVzZXIgcHJvdmlkZWQgZGF0YSBzb3VyY2UuIik7aWYoYi52dHBfbGltaXREYXRhU291cmNlcylpZihlIT09ImF1dG8ifHxiLnZ0cF9hbGxvd0F1dG9EYXRhU291cmNlcyl7aWYoZT09PSJtYW51YWwiJiYhYi52dHBfYWxsb3dNYW51YWxEYXRhU291cmNlcyl0aHJvdyBjKGQse30sIkRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgdmlhIG1hbnVhbGx5IHNwZWNpZmllZCBDU1Mgc2VsZWN0b3JzIGlzIG5vdCBhbGxvd2VkLiIpO2lmKGU9PT0iY29kZSImJiFiLnZ0cF9hbGxvd0NvZGVEYXRhU291cmNlcyl0aHJvdyBjKGQse30sIkRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgZnJvbSBhbiBpbi1wYWdlIHZhcmlhYmxlIGlzIG5vdCBhbGxvd2VkLiIpO31lbHNlIHRocm93IGMoZCx7fSwiQXV0b21hdGljIGRldGVjdGlvbiBvZiB1c2VyIHByb3ZpZGVkIGRhdGEgaXMgbm90IGFsbG93ZWQuIik7Cn0sYWE6YX19KX0oKTsKWi5zZWN1cml0eUdyb3Vwcy5nZXRfdXJsPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGIsYyxkKXtyZXR1cm57Y29tcG9uZW50OmMscXVlcnlLZXk6ZH19KGZ1bmN0aW9uKGIpe1ouX19nZXRfdXJsPWI7Wi5fX2dldF91cmwuTz0iZ2V0X3VybCI7Wi5fX2dldF91cmwuaXNWZW5kb3JUZW1wbGF0ZT0hMDtaLl9fZ2V0X3VybC5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2dldF91cmwuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZ2V0X3VybFsiNSJdPSExO1ouX19nZXRfdXJsWyI2Il09ITF9KShmdW5jdGlvbihiKXt2YXIgYz1iLnZ0cF91cmxQYXJ0cz09PSJhbnkiP251bGw6W107YyYmKGIudnRwX3Byb3RvY29sJiZjLnB1c2goInByb3RvY29sIiksYi52dHBfaG9zdCYmYy5wdXNoKCJob3N0IiksYi52dHBfcG9ydCYmYy5wdXNoKCJwb3J0IiksYi52dHBfcGF0aCYmYy5wdXNoKCJwYXRoIiksYi52dHBfZXh0ZW5zaW9uJiZjLnB1c2goImV4dGVuc2lvbiIpLGIudnRwX3F1ZXJ5JiYKYy5wdXNoKCJxdWVyeSIpLGIudnRwX2ZyYWdtZW50JiZjLnB1c2goImZyYWdtZW50IikpO3ZhciBkPWMmJmIudnRwX3F1ZXJpZXNBbGxvd2VkIT09ImFueSI/Yi52dHBfcXVlcnlLZXlzfHxbXTpudWxsLGU9Yi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oZixnLGgpe2lmKGcpe2lmKCF6YihnKSl0aHJvdyBlKGYse30sIlVSTCBjb21wb25lbnQgbXVzdCBiZSBhIHN0cmluZy4iKTtpZihjJiZjLmluZGV4T2YoZyk8MCl0aHJvdyBlKGYse30sIlByb2hpYml0ZWQgVVJMIGNvbXBvbmVudDogIitnKTtpZihnPT09InF1ZXJ5IiYmZCl7aWYoIWgpdGhyb3cgZShmLHt9LCJQcm9oaWJpdGVkIGZyb20gZ2V0dGluZyBlbnRpcmUgVVJMIHF1ZXJ5IHdoZW4gcXVlcnkga2V5cyBhcmUgc3BlY2lmaWVkLiIpO2lmKCF6YihoKSl0aHJvdyBlKGYse30sIlF1ZXJ5IGtleSBtdXN0IGJlIGEgc3RyaW5nLiIpO2lmKGQuaW5kZXhPZihoKTwwKXRocm93IGUoZix7fSwKIlByb2hpYml0ZWQgcXVlcnkga2V5OiAiK2gpO319ZWxzZSBpZihjKXRocm93IGUoZix7fSwiUHJvaGliaXRlZCBmcm9tIGdldHRpbmcgZW50aXJlIFVSTCB3aGVuIGNvbXBvbmVudHMgYXJlIHNwZWNpZmllZC4iKTt9LGFhOmF9fSl9KCk7CgoKClouc2VjdXJpdHlHcm91cHMucmVhZF9kb21fZWxlbWVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjLGQpe3JldHVybnt0eXBlOmMsdmFsdWU6ZH19KGZ1bmN0aW9uKGIpe1ouX19yZWFkX2RvbV9lbGVtZW50cz1iO1ouX19yZWFkX2RvbV9lbGVtZW50cy5PPSJyZWFkX2RvbV9lbGVtZW50cyI7Wi5fX3JlYWRfZG9tX2VsZW1lbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX3JlYWRfZG9tX2VsZW1lbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fcmVhZF9kb21fZWxlbWVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fcmVhZF9kb21fZWxlbWVudHNbIjUiXT0hMTtaLl9fcmVhZF9kb21fZWxlbWVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2FsbG93ZWRFbGVtZW50SWRzfHwibm9uZSIsZD1iLnZ0cF9hbGxvd2VkQ3NzU2VsZWN0b3JzfHwibm9uZSIsZT1iLnZ0cF9lbGVtZW50SWRzfHxbXSxmPWIudnRwX2Nzc1NlbGVjdG9yc3x8W10sZz0KYi52dHBfY3JlYXRlUGVybWlzc2lvbkVycm9yO3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oaCxsLG4pe3N3aXRjaChsKXtjYXNlICJpZCI6aWYoYz09PSJub25lIilicmVhaztpZihjPT09ImFueSJ8fGUuaW5kZXhPZihuKT4tMSlyZXR1cm47YnJlYWs7Y2FzZSAiY3NzIjppZihkPT09Im5vbmUiKWJyZWFrO2lmKGQ9PT0iYW55Inx8Zi5pbmRleE9mKG4pPi0xKXJldHVybjticmVhaztkZWZhdWx0OnRocm93IGcoaCx7fSwiVW5rbm93biBzZWxlY3RvciB0eXBlICIrbCsiLiIpO310aHJvdyBnKGgse30sIlByb2hpYml0ZWQgc2VsZWN0b3IgdmFsdWUgIituKyIgZm9yIHNlbGVjdG9yIHR5cGUgIitsKyIuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9jbGlja19ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoYixjLGQpe3JldHVybnttYXRjaENvbW1vbkJ1dHRvbnM6Yyxjc3NTZWxlY3RvcjpkfX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9jbGlja19ldmVudHM9YjtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5PPSJkZXRlY3RfY2xpY2tfZXZlbnRzIjtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5pc1ZlbmRvclRlbXBsYXRlPSEwO1ouX19kZXRlY3RfY2xpY2tfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X2NsaWNrX2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfY2xpY2tfZXZlbnRzWyI1Il09ITE7Wi5fX2RldGVjdF9jbGlja19ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKGIpe3ZhciBjPWIudnRwX2NyZWF0ZVBlcm1pc3Npb25FcnJvcjtyZXR1cm57YXNzZXJ0OmZ1bmN0aW9uKGQsZSxmKXtpZihlIT09dm9pZCAwJiZ0eXBlb2YgZSE9PQoiYm9vbGVhbiIpdGhyb3cgYyhkLHt9LCJtYXRjaENvbW1vbkJ1dHRvbnMgbXVzdCBiZSBhIGJvb2xlYW4uIik7aWYoZiE9PXZvaWQgMCYmdHlwZW9mIGYhPT0ic3RyaW5nIil0aHJvdyBjKGQse30sImNzc1NlbGVjdG9yIG11c3QgYmUgYSBzdHJpbmcuIik7fSxhYTphfX0pfSgpOwpaLnNlY3VyaXR5R3JvdXBzLmRldGVjdF9zY3JvbGxfZXZlbnRzPVsiZ29vZ2xlIl0sZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7cmV0dXJue319KGZ1bmN0aW9uKGIpe1ouX19kZXRlY3Rfc2Nyb2xsX2V2ZW50cz1iO1ouX19kZXRlY3Rfc2Nyb2xsX2V2ZW50cy5PPSJkZXRlY3Rfc2Nyb2xsX2V2ZW50cyI7Wi5fX2RldGVjdF9zY3JvbGxfZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9zY3JvbGxfZXZlbnRzLnByaW9yaXR5T3ZlcnJpZGU9MDtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHMuaXNJbmZyYXN0cnVjdHVyZT0hMTtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X3Njcm9sbF9ldmVudHNbIjYiXT0hMX0pKGZ1bmN0aW9uKCl7cmV0dXJue2Fzc2VydDpmdW5jdGlvbigpe30sYWE6YX19KX0oKTsKCgoKWi5zZWN1cml0eUdyb3Vwcy5kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHM9WyJnb29nbGUiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtyZXR1cm57fX0oZnVuY3Rpb24oYil7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cz1iO1ouX19kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHMuTz0iZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzIjtaLl9fZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzLmlzVmVuZG9yVGVtcGxhdGU9ITA7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cy5wcmlvcml0eU92ZXJyaWRlPTA7Wi5fX2RldGVjdF9mb3JtX2ludGVyYWN0aW9uX2V2ZW50cy5pc0luZnJhc3RydWN0dXJlPSExO1ouX19kZXRlY3RfZm9ybV9pbnRlcmFjdGlvbl9ldmVudHNbIjUiXT0hMTtaLl9fZGV0ZWN0X2Zvcm1faW50ZXJhY3Rpb25fZXZlbnRzWyI2Il09ITF9KShmdW5jdGlvbigpe3JldHVybnthc3NlcnQ6ZnVuY3Rpb24oKXt9LAphYTphfX0pfSgpOwpmdW5jdGlvbiBrVSgpe3ZhciBhPXt9LGI9e2RhdGFMYXllcjp0QSxjYWxsYmFjazpmdW5jdGlvbihjKXthLmhhc093blByb3BlcnR5KGMpJiZ5YihhW2NdKSYmYVtjXSgpO2RlbGV0ZSBhW2NdfSxib290c3RyYXA6MH07cmV0dXJuIGJ9CmZ1bmN0aW9uIGxVKCl7dmFyIGE9a1UoKTtvaihhKTtDaygpO2pBKCk7dmFyIGI9YWwoMjcsZnVuY3Rpb24oKXtyZXR1cm57fX0pO1FiKGIsWi5zZWN1cml0eUdyb3Vwcyk7dmFyIGM9eWsoemsoKSksZCxlPWM9PW51bGw/dm9pZCAwOihkPWMuY29udGV4dCk9PW51bGw/dm9pZCAwOmQuc291cmNlO0tsKGUsYz09bnVsbD92b2lkIDA6Yy5wYXJlbnQpO2UhPT0yJiZlIT09NCYmZSE9PTN8fFAoMTQyKTtyZXR1cm4gYX1mdW5jdGlvbiBtVSgpe3ZhciBhPUUoNjApO2lmKGEpZm9yKHZhciBiPWEuc3BsaXQoIi4iKSxjPTA7YzxiLmxlbmd0aDtjKyspe3ZhciBkPWJbY10sZT1UTDtkJiYoZS5IW2RdPSEwKX19CmZ1bmN0aW9uIG5VKCl7enAoKTtsaigpO2Zvcih2YXIgYT1kYXRhLnJlc291cmNlfHx7fSxiPWNBLGM9YS5tYWNyb3N8fFtdLGQ9MDtkPGMubGVuZ3RoO2QrKyliLm1hY3Jvcy5wdXNoKG5ldyBVeihjW2RdLGQsYi50YWdzLGIubWFjcm9zKSk7Zm9yKHZhciBlPWEudGFnc3x8W10sZj0wO2Y8ZS5sZW5ndGg7ZisrKWIudGFncy5wdXNoKG5ldyBZeihlW2ZdLGYsYi50YWdzLGIubWFjcm9zKSk7Zm9yKHZhciBnPWEucHJlZGljYXRlc3x8W10saD0wO2g8Zy5sZW5ndGg7aCsrKWIucHJlZGljYXRlcy5wdXNoKG5ldyBWeihnW2hdLGIudGFncyxiLm1hY3JvcykpO2Zvcih2YXIgbD1hLnJ1bGVzfHxbXSxuPTA7bjxsLmxlbmd0aDtuKyspYi5ydWxlcy5wdXNoKG5ldyBXeihsW25dLG4pKTtRej1aO3ZhciBwPWRhdGEucGVybWlzc2lvbnN8fHt9LHE9WjtkZz1uZXcgZ2coRSg1KSxwLHEpO3ZhciByPWRhdGEuc2FuZGJveGVkX3NjcmlwdHMsdD1kYXRhLnNlY3VyaXR5X2dyb3Vwcyx1PWRhdGEucnVudGltZXx8CltdLHY9ZGF0YS5ydW50aW1lX2xpbmVzO0pGPW5ldyBwZjtWVCgpO1B6PUlGKCk7dmFyIHg9SkYseT1VVCgpLHo9bmV3IExkKCJyZXF1aXJlIix5KTt6LlphKCk7eC5ILkguc2V0KCJyZXF1aXJlIix6KTtkYi5zZXQoInJlcXVpcmUiLHopO2Zvcih2YXIgQz0wO0M8dS5sZW5ndGg7QysrKXt2YXIgRD11W0NdO2lmKCFBcnJheS5pc0FycmF5KEQpfHxELmxlbmd0aDwzKXtpZihELmxlbmd0aD09PTApY29udGludWU7YnJlYWt9diYmdltDXSYmdltDXS5sZW5ndGgmJlBmKEQsdltDXSk7dHJ5e0pGLmV4ZWN1dGUoRCl9Y2F0Y2gob1Upe319V1Qocik7WFQodCk7dmFyIEk9bFUoKTtpRigpO3ZtLmJpbmQoKTtpZighRGopZm9yKHZhciBHPUJtKCk/ZXAoTGYoNSkpOmVwKExmKDQpKSxOPW0oUm8pLFM9Ti5uZXh0KCk7IVMuZG9uZTtTPU4ubmV4dCgpKXt2YXIgVz1TLnZhbHVlLGVhPVcsamE9R1tXXT8iZ3JhbnRlZCI6ImRlbmllZCI7dGwoKS5pbXBsaWNpdChlYSxqYSl9aEUuYmluZCgpO1RCKCk7Ck9CKCk7Zm4uTiYmKGd6KCksZnooQUYpLGdBKCksY0I9bmV3IGJCLGZ6KGl6KSxPQygpLERGfHwoREY9bmV3IEJGKSxmQnx8KGZCPW5ldyBlQiksRkY9bmV3IEVGKTtpZihmbi5LKXtERS5iaW5kKCk7bUMuYmluZCgpO3dFLmJpbmQoKTt2YXIgZmE9QWsoKTtpZihmYSl7dmFyIHNhO2E6e3ZhciBkYSxtYT0oZGE9ZmEuc2NyaXB0RWxlbWVudCk9PW51bGw/dm9pZCAwOmRhLnNyYztpZihtYSl7dmFyIFBhO3RyeXt2YXIgRmE7UGE9KEZhPXJkKCkpPT1udWxsP3ZvaWQgMDpGYS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpfWNhdGNoKG9VKXt9aWYoUGEpe2Zvcih2YXIgcWE9LTEsaWI9bShQYSksWGI9aWIubmV4dCgpOyFYYi5kb25lO1hiPWliLm5leHQoKSl7dmFyIExjPVhiLnZhbHVlO2lmKExjLmluaXRpYXRvclR5cGU9PT0KInNjcmlwdCImJihxYSs9MSxMYy5uYW1lLnJlcGxhY2UoTkUsIiIpPT09bWEucmVwbGFjZShORSwiIikpKXtzYT1xYTticmVhayBhfX1QKDE0Nil9ZWxzZSBQKDE0NSl9c2E9dm9pZCAwfXZhciBRZD1zYTtRZCE9PXZvaWQgMCYmKGZhLmNhbm9uaWNhbENvbnRhaW5lcklkJiZVbSgicnRnIixTdHJpbmcoZmEuY2Fub25pY2FsQ29udGFpbmVySWQpKSxVbSgic2xvIixTdHJpbmcoUWQpKSxVbSgiaGxvIixmYS5odG1sTG9hZE9yZGVyfHwiLTEiKSxVbSgibHN0IixTdHJpbmcoZmEubG9hZFNjcmlwdFR5cGV8fCIwIikpKX1lbHNlIFAoMTQ0KTt2YXIgWWM7dmFyIERkPXhrKCk7aWYoRGQpaWYoRGQuY2Fub25pY2FsQ29udGFpbmVySWQpWWM9RGQuY2Fub25pY2FsQ29udGFpbmVySWQ7ZWxzZXt2YXIgamYsdmg9RGQuc2NyaXB0Q29udGFpbmVySWR8fCgoamY9RGQuZGVzdGluYXRpb25zKT09bnVsbD92b2lkIDA6amZbMF0pO1ljPXZoPyJfIit2aDp2b2lkIDB9ZWxzZSBZYz12b2lkIDA7dmFyIEpFPQpZYztKRSYmVW0oInBjaWQiLEpFKTtVbSgiYnQiLFN0cmluZyhJZig0Nyk/MjpJZig1MCk/MTowKSk7VW0oImN0IixTdHJpbmcoSWYoNDcpPzA6SWYoNTApPzE6MykpO0FFLmJpbmQoKTtmb3IodmFyIFdyPVtdLFhyPVtdLEtFPW0oT2JqZWN0LmtleXMoR0UpKSxZcj1LRS5uZXh0KCk7IVlyLmRvbmU7WXI9S0UubmV4dCgpKXt2YXIgcm09WXIudmFsdWU7aWYod2luZG93LmlzU2VjdXJlQ29udGV4dHx8IUlFW3JtXSl7dmFyIExFPUdFW3JtXSgpO2lmKHliKExFKSl7dmFyIE1FPUZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKExFKTtUYihNRSwieyBbbmF0aXZlIGNvZGVdIH0iKXx8VGIoTUUsIntcbiAgICBbbmF0aXZlIGNvZGVdXG59Iil8fFhyLnB1c2gocm0pfWVsc2UgV3IucHVzaChybSl9fVdyLmxlbmd0aD4wJiZVbSgianNtIixXci5qb2luKCJ+IikpO1hyLmxlbmd0aD4wJiZVbSgianNwIixYci5qb2luKCJ+IikpO0V5fHwoRXk9bmV3IER5KX1oRigpO2ltKDEpO0VHKCk7cmV0dXJuIEl9CmZ1bmN0aW9uIHVtKCl7dHJ5e2lmKCFoaygpJiYoSWYoNDcpfHwhTmsoKSkpe0lmKDY0KSYmd2ouSC5LLmFkZCgxMTg1MTc5MTcpO3pqKCk7Zm4uSCYmc3ooKTtXZls1XT0hMDt2YXIgYT1raigiZGVidWdHcm91cElkIixmdW5jdGlvbigpe3JldHVybiBTdHJpbmcoTWF0aC5mbG9vcihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUipNYXRoLnJhbmRvbSgpKSl9KTtTbChhKTtrdCgpO3pGKCk7RnQoKTtQQigpO2lmKERrKCkpe0UoNSk7REcoKTtpQigpLnJlbW92ZUV4dGVybmFsUmVzdHJpY3Rpb25zKHZrKCkpO31lbHNle0ZNLlIoKTtuVSgpLmJvb3RzdHJhcD1OYigpO0lmKDUxKSYmcEUoKTsKZm4uSCYmdHooKTt0eXBlb2YgQS5uYW1lPT09InN0cmluZyImJlNiKEEubmFtZSwid2ViLXBpeGVsLXNhbmRib3gtQ1VTVE9NIikmJnNkKCk/WlQoImRNRGcwWXoiKTpBLlNob3BpZnkmJihaVCgiZE4yWmtNaiIpLHNkKCkmJlpUKCJkTlRVMFl6IikpO21VKCl9fX1jYXRjaChiKXtpbSg1KSxoeigpfX0KKGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoKXtuPUIuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS10YWctYXNzaXN0YW50LXByZXNlbnQiKTtnbChuKSYmKGw9aC54bSl9ZnVuY3Rpb24gYygpe2wmJktjP2cobCk6YSgpfWlmKCFBW0UoMzcpXSl7dmFyIGQ9ITE7aWYoQi5yZWZlcnJlcil7dmFyIGU9UmooQi5yZWZlcnJlcik7ZD1OaihlLCJob3N0Iik9PT1FKDM4KX1pZighZCl7dmFyIGY9Y3EoRSgzOSkpO2Q9ISghZi5sZW5ndGh8fCFmWzBdLmxlbmd0aCl9ZCYmKEFbRSgzNyldPSEwLFVjKEUoNDApKSl9dmFyIGc9ZnVuY3Rpb24odSl7dmFyIHY9IkdUTSIseD0iR1RNIjtJZig0NSkmJih2PSJPR1QiLHg9IkdUQUciKTt2YXIgeT1FKDIzKSx6PUFbeV07enx8KHo9W10sQVt5XT16LFVjKCJodHRwczovLyIrRSgzKSsiL2RlYnVnL2Jvb3RzdHJhcD9pZD0iK0UoNSkrIiZzcmM9Iit4KyImY29uZD0iK1N0cmluZyh1KSsiJmd0bT0iK2R1KCkpKTt2YXIgQz17bWVzc2FnZVR5cGU6IkNPTlRBSU5FUl9TVEFSVElORyIsCmRhdGE6e3NjcmlwdFNvdXJjZTpLYyxjb250YWluZXJQcm9kdWN0OnYsZGVidWc6ITEsaWQ6RSg1KSx0YXJnZXRSZWY6e2N0aWQ6RSg1KSxpc0Rlc3RpbmF0aW9uOnNrKCksY2Fub25pY2FsSWQ6RSg2KX0sYWxpYXNlczp3aygpLGRlc3RpbmF0aW9uczp0aygpfX0sRD1DLmRhdGE7RC5yZXN1bWU9ZnVuY3Rpb24oKXthKCl9O0QucmVzdW1lV2l0aE1lbW9zPWZ1bmN0aW9uKCl7c2woMSk7YSgpfTtJZigyKSYmKEMuZGF0YS5pbml0aWFsUHVibGlzaD0hMCk7ei5wdXNoKEMpfSxoPXtHcToxLFBtOjIsb246MyxqbDo0LHhtOjV9O2hbaC5HcV09IkdUTV9ERUJVR19MRUdBQ1lfUEFSQU0iO2hbaC5QbV09IkdUTV9ERUJVR19QQVJBTSI7aFtoLm9uXT0iUkVGRVJSRVIiO2hbaC5qbF09IkNPT0tJRSI7aFtoLnhtXT0iRVhURU5TSU9OX1BBUkFNIjt2YXIgbD12b2lkIDAsbj12b2lkIDAscD1MaihBLmxvY2F0aW9uLCJxdWVyeSIsITEsdm9pZCAwLCJndG1fZGVidWciKTtnbChwKSYmKGw9aC5QbSk7CmlmKCFsJiZCLnJlZmVycmVyKXt2YXIgcT1SaihCLnJlZmVycmVyKTtOaihxLCJob3N0Iik9PT1FKDI0KSYmKGw9aC5vbil9aWYoIWwpe3ZhciByPWNxKCJfX1RBR19BU1NJU1RBTlQiKTtyLmxlbmd0aCYmclswXS5sZW5ndGgmJihsPWguamwpfWx8fGIoKTtpZighbCYmZmwobikpe3ZhciB0PSExOyRjKEIsIlRBRGVidWdTaWduYWwiLGZ1bmN0aW9uKCl7dHx8KHQ9ITAsYigpLGMoKSl9LCExKTtBLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0fHwodD0hMCxiKCksYygpKX0sMjAwKX1lbHNlIGMoKX0pKGZ1bmN0aW9uKCl7IUlmKDQ3KXx8dG0oKVsiMCJdP3VtKCk6eG0oKX0pOwoKfSkoKQoK"}},"time_used":129,"timings":{"blocked":-1,"dns":2,"connect":15,"send":0,"wait":34,"receive":47,"ssl":31},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/4943.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.200Z","timestamp":1785129950200,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/4943.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2671\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:35:11 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 01:40:53 GMT\r\ncache-control: max-age=86400\r\netag: \"8e26118d7a63338cfef1116720c92e0e\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 13505\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: vvFM991LDWUgKxbDkXmx7N-fIPpep94L_hepxCQqA1z57_cwzqS67g==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":2671,"size_decoded":3197,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"8e26118d7a63338cfef1116720c92e0e","sha1":"8902985faa4db767ea26150e0058886b8874fb37","sha256":"a0ed329b8cd852688196ea87f4496585aeb0047c57b1fadbfc87f7bb8b9cada6","sha512":"d5137311b25651141f093713ba390fbf9403398c35ed1f1178a95a99101ddbdcc4791b7cb60e7f39d7cb8216c9b5a65ea6ab02e61730d398c6bc805f8efbbc49","ssdeep":"","tlshash":"39513bdc736f68c4999581dbda64c9cc91092c1ded09a4431ee838733cb8bc28b2749a","first_seen":"2023-05-06T12:21:16Z","last_seen":"2026-08-15T04:03:51.115551Z","times_seen":1645,"resource_available":false,"data":"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"}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/24478.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.257Z","timestamp":1785129950257,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/24478.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 5281\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Thu, 10 Aug 2023 04:10:01 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:32:58 GMT\r\ncache-control: public, max-age=86400\r\netag: \"ad12f5c035cc80c127981051cbcc352e\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 78778\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 6QLoV6iEZEdIFwmPkfJCbUb1p3gxXg-HtAkF8dDj6eM0YbGZAs6rnw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":5281,"size_decoded":5853,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"ad12f5c035cc80c127981051cbcc352e","sha1":"41c31c90fc78394ce8114dc4c1df7ee9055220ed","sha256":"ec537de040a73db93b37350b1e6ec11f9d51f663c121ddc9fed6ad9b9f803eac","sha512":"0da5bbd7ba132fe249125efa243e4d05869fcc37b10ec398b844854b3b7f49f242736927998310587db25e3f34be4d7cfc0f67b73dc6702e977a290de7e14791","ssdeep":"96:Sx8GlMxymDWozd9jYO3n8WBxIdEpu0GKDU648UVhXncrbVJD1Dn:Sx88qDTzd90OX8WBxIdau0GKW8idncHh","tlshash":"1eb18e4e2ed2662ac2cc35f9e3d913387d003984f5946b1d313b6e966534623518ded6","first_seen":"2023-08-15T00:41:51Z","last_seen":"2026-08-12T03:05:51.927887Z","times_seen":1221,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAUaElEQVR4XuVb+VNUWZZ+mZCyKJYiICAiKm5sghsiSybkvq8ku5RaUdNVU10dtU1VdXVXtVNluQEJuUFmglp2zUTND/M3TUz0zM89Ed3RU67fnHMeKJCppqhTRLTGifd477737v3uWb5z7k3FlezH37Mo6y/8vckrA+BODMjRmTSsuaZeN9DxaZu8JLEs66+/IXktANgXeuGY75MjD3plEO64GdYFAyxpvp797FNh8NbL+jZvRl4JAJ51mflr6owHEjZcXBjFaDSAcNQN34wH/qQbzoQ569nV4okZ4Y2bRNx07uHjy2jNK8iGAOCZDqad8NwdQFFFEQ4N78Pk9DCGIz54Z80IzNowNhdEmP7uebcTylsKLkRG4Uj1qe9YVnFf2gylQoFSrUgbpYakkmSngslvx+G7YyYwBp4CnaMvryobAsB5ox/jiRCUegXuBe5gP5mAHqrNG2X2+O9A1AJ/1AxfzITQjEMG5kta5J4nrg7evtD3ZIAs7riNNMFAGuQQUMZiQbhSBFbMktWP1yEbAuDCjWG4vjHBGaeBRw3SOR40D4AHJwORv9X27AgdyV4Mkkls79iKj3/4AHu6a+GaM2cBYFtgMMmfzHWT6egRnvHh/NVh8iNdbwSEvAFwzKsqGExasdddCfecMatNPuK+aUWbqwmBxfwH452yYnDBBe/8833JRiRvAJyi4vRAnYLwohPemHlDdsmRQdmlYDDtyLr3LLHGe1HWsA3+mDXr3qvKiwEg9WVHxOjbowTCd6bsNkm2UXJYKbo3T9FgwY5gxInT4+3Y0qpBW/goDB91YTI+BNeiAcaLA/BEjQhkyNvHrWQG5BPYdyTZN6iapZqREb4omxdpHgG37WgJnIs9CMy9PiBeCIAzaST1ZxBMULYrsM73ZLVh4RB2aHQvlCIF+kvd8M1b4UmaqfNqaAvG7RiKeWD+TR8qO3ZJu/AMDX7eRI7SBnOmi8AekO+EZp10z01O1AbVsQ7AnDpLjpSuE7C2VHfW9zcqLwaAHJKPQpumSAsXzZozna32Es6qFARjNmnvjPXRjHIcV4Vnkk1GjQ698C2YiR8YYf11L7rPn4XpHT2UrYpEBfdXFozG/RiZ92IyMYS2oSNQtihiNu/ExmUS2CGu78NG5YUA8Mf2HKqBN6rSWvv803vBpA2eaVUzmPjI9ZcgMBxFnB9bcNp6EiOLXriXHe16EduP9GNw1gWtVgvT1XMEtEEiyMt8L5c8FwBnwoAzI+0I3bJKSFsJa6vFH7XClu6h8KWaxsswOHasDKrlo36YPumDY26ZKK0TJl7sG1iTmDUq+xWMz4bhJ+bpiKvOeaOSEwAeqJ/Y3MhcAOfnQhKXcw2e0V+J+SvXVogQqzyTHY7dLCsArhWDgOCl2K9sU+CcYl9jfhJxnr5z4Mm3pC80+8NkIlpijXYCjb+50fwhJwA+UjkPeehdJ96CI8ODyd/r8sADczY5+kg7Vni9M6mKmwFbkYSaQwzesom2KWWK+Ag3PfMi1XYTOzQnulDetl2+scJTXlZyAuCkDE6zRyGywiGqhwaTO/StF29KTWguREfx9uwwwuT1R2dCeHtuVMJnmJhg5wftMH7Rg5GZAHxXiBRdOoTJG6PwzPUjcNmD8IKXvD9rQQ5zkNSazCBpgidC75t34WJiVMzB/qoAsHqxPTvI3iamBjE04yL7ev5LWR35GeeiHvrPO7Fl6xbUmHeK+fgWqJOzPozFvRiJ2MleHfCnjRhJ+NQEiLz6yFQA9qUeBMm56WoLYP20B8oOZdlknn7bvNCJkWtBFO4oQCEnTUTG9g/sxYH+enHABUUaDE17xZ9IFErm7xfWaAC/wEUzwZ3zxOykyvasB1YLkyNr5hwOW/fD+skAbIk+iQbWL0idSYMktFEHeVBs49odWjm3Xma7pfj/jV2yv0DKCUuyE43GBuw/W0/v6V3jB7wUfkem/HB/bVWzxRKSUvX9uhotjnoOYuy7YSjlBF7KCm8if5r9BAC2RbalHm8Xqbxa5HC9AMkg2Tp3aJjUOTxFTkkphJ/tnxyZZHzyTuLvXA9Ydo58HPydB5rCQnhISwIRm5AiAZ/u1+tr4LtsF1V3kj/wxlWvv72pFPYEs0AbPeOE/Tf0DQqho5Eg/As2jEcHBQClWIEhciqrr8+SNSZgzpzF9rPF4pDWN1wry4nRtAMXLo/DfcOC2u4qosHsxVWPzINlJ8gsb3UUCJJW+ZfMxAydohUHHXth/b5XzgNTdtiivTLD/Aw7RHaMgbiDiJFPBvfujYsYn/fDS0D4KDG7NHNe6gmdkyfFvCajwyrQWX3OLWs0IPh7N2zxF5WvWAzi8EobixCKUd6uIy2Iu+FJ92P4qh8d4WboGhXpvKgqqyzbLs8QDVSYXaF6X7NVC22JBt6vSBN2K5T5WTCepFm96oCPtGCYBjvxXZi0RIMCMqvGngb0XToL3zWbEKOxn7wSCpUmBROkBQNLp5ZrE+v7nFsUbryS2RXVF6gqm6NhLrHN6dEx1iIqymr86ecf4BH9v/fof/HXv/0VZWVlUBQFxWVFwuD4XNEqKCkqhVKg4MHjB5B/jx/h9o93EfitS8AcmvbB8MVZIToCMAFYVFAiz/DzLNpCDe4/vCfnoT+4RdPYJ7AZvZQGsMraUj1o8R4R5Lzx/B9m++SQ5SN2Zqdn357zk0/QoN/Wj//8039Ao9EICOU15VA05K11WgLnZ5w5exqFig73H91XAXj0WEAoqyiDPdkrWjNEKu+JmNUB08CPtR3F2Duj0ND5Wzu3CwB8/gDqO/hbxQ1bxMxeGgBPxkgZ2k5xROZ0/pnWCsnhdzAvtyfOwU6J0MR0+MlM8aw/pG7y+c3pm6BTtHe2U4cV3KMZlH8PCQMayP3H9yRrbDi7V97DZvOY/iuKRt6j4aNWvfaXv/1Fzu89+BkPHj3Aw/sPUV61U9JyNQnL7m8uUVj9WyxH4ZjN325yCecCE5S9cdjzzhsxMNUJDdl7SUkJqX8BDbiAZlJD5xqxfw11/uGyCTx+9BCPCYTHBAP7iOGIBz7K+S/f/ANdeagOnAD7t3//SUxJp9OhsESH4tIiPHhwH/fwM+oP7sXEjQkhbs5npOy5RGEi0+Zugj+Vf+zMJawF5kQ3aUGv2CKHNwcRpHDEix0dZVIQFR+gaFFYoMVUbIpmTlXf+6QW//PnP+OcqRsFBYU4ZG4U4sRg/vef/kvUfbVGsbA5dZxsx89kUgzOJDFPZZ8ikYxzhfX9e5YohXUaUV93cmM1vvWiOlWLsD3fl16EFi0wkl374xYKZ3ZihgEc8jeIx9fqiNkV6QSw8DUf7MQ8baz69Lc10SlMlE0sNOfBSMyP0Tj5hctW9H/cje4PT+Lt5BiCGTtCUy4KxWbyG+6XGjyL4vjcKDHX+pqqLGriQ52gXP/8TFBlgxQh2J4LKF73/MM5hL71YGjKQ8DTd4nXC31NU8p7xSTt2bcE01b4Zpwo2KuBbaYPlvlzxPDMsCX7MJRxY3CBOMM3A5iMDEJLUWjs2/AT57c+m3yeKNZkt4TB0Gz+RcrniwFcQxTnSL6AKz+BpI1Ikokcmx5+zhKv06x970PfR50w/lMPavurxPObPtPDmeHniQUS63Ok9XBPDci94sJS4gzk+ZUCOC+TtkY5JfYR2TKisLBIKlIczZhBSqEkq1+5JWc2+CKRnJ8yRB/F3sFrRIBu5s8dVota59ej89IJnHn/uMT99W1YQkR9j3kaMR4PwTTVJQXUwGdulWSRbwnEbBhKuyXP4Pep9YHs9+SSjQFAtqlpJRuPWBG+5dxwVYZzep650d+HhdYyl1jfhsWaPgvzXBcaOw/AN8XVKS6H8YKsuhrFK0+sNUOUjwxN+4kMvQEN4PDCiQx/cDDVi97pXgQo63KTLYeuWSR/WClp5xLuNBdD+Rgg+w5ddYtfCFPKvL7ts8UALa8pJJ057vUjTFK0S0c0nbPY/Jxh3gAw6+MSOVdyvF+r/P/cR30YTpEZzLnhy6iDy8XCGBiuHfBqkuQCuzhM2iVttS7XEvMSJmrf9cgCbNa9pJqeT5/eB89v1XpCrr6sl7wBcNMMc9UlcNOK4+MtKDxImRzR2RICQkdJCrM/Nd3N9eyADNzxqZG8eZesHqu1/edrTU7hosczZrfqTAmSrdVo2ELJ1axlOaXPbrdaXgIAFU1GP7jkRgvx8H85UoWl5mr8eHQf4q118O/cgkIiK6dGT6glKi5dUyRwEgdw0WzbFtSqE7/ryWaKZwwmX+GJcSasxBP6cLxUizvt1aKdvBiTz7vzBmClHseq7CW2t43Y2e32CiweaUANMbHZs/X447Fy3G7ah0TbPnxzeg/6iPUVc9pLoAS/DsA4a5A9AvyeoaRbLXzmoabPFwq3dNxBFPmPxyrQVkyRIObFylJ9dvu1kjcAonbL6u0k8nJ+YQhFREnTxyvwQ1M9JioKUKrVwUCp6+2WOqSaa3CncRcyrVVYbN6DZFsdPiRwqgisQq4HbNOgvu8AhpMBiiJniC/oEYoyKSK/EOMldvY3JjgSJljnuQKsJzHARPccKS65WxC67SJzMkFL34ydqsQ3x2qJZ3DlOX+/kjcAq4VLVe6UAeEln6jbF+2N+LF5B+abtmK6cTt8JcWopuRn7FA5fjxSh6WWSiy2VOBOy14sNu1A8tgOZFp2I9NWjevH9+EPzXXQk6ZUE6AVXD8g0RUy31ckcdpSrmD/6Trs7awTByqOlO6VUrsLNXUE+H5E6d26qm1E6mwvpVUbAoCF825znD08qXTEIp06TTQ21kGDPlpBgyzH4skKfNF0FNUF6sB4gOUk+8kkTpIm/Prgbsy07SaAyJRaqgiUajovxw8kPzZV4odjlcg0V+DusSrcOVqJW/Q3g3mndTduEXj/enQPlo7VoYfI0HsNjfiy6YA4VV/iDWtALvHwag3F9EKlEJebqZNt5Ui1VWChrQo/Hd1KA6xGqnUP0q01WGjfg8SJPVhsP4xfNe9HHYFSRtJI0k8z/NnhSkROHsF10qxrHYdwlc7jXS2YIlOb727Dd93N+PJwA96rqxRQr57bh7vkjP/xcA2F6/8HJphLHEmu4lI2l+5D6LINZW8V4sIemk0yjRQN/lbLLtym2eQZvMUA0QzfpiODlGktJwdGZtLMGlCBeZrh+VP7nsqJesTPHcT1rgZytgeQPF6NxPEa3DpOUai1jDSnFndP1aM31C0LM57ki8Pfirw2AHhzg+wFWiQbnO0mtkihiTh8Kan/12Sjiy2qqv/QtJMGvkv1C63kJElTlpprSd1rEW2vxVKTChK3ud1cjrvUPtpO2kSDTTWzVu0iLSKTadsq9zJtZaRZ1VI2Y2rsj9ol5K7v37PktQGQS7wkjgxveOqVlLVcp0M72f7nx1sQPd2OZEcVDYbsfJWkaTbTNCB2mhkaqOoX+LhbrqvgcLitJl+xDf9MUYYHX9zAiVB2H14kbxQA3lmibpXlwus5CnXqVhvHFPOAQZyZaEWJRnWQK7KNZLeiQRXJ7mXfwHa+k9pt1XFdUJHwy9e1FE4nro/Bu6iuH6z/fj7yRgHYiMgKEa9Jxvk4ICJ7AyQX6Ycx3gnXUi+xSnVdUlaTIyZc/HYy6135yKYDIJdYYr0CTHDaptYAeH1guwJnrF8oL9cEXsbzr5ZNB8DKEtrKhku+5pszQ6lV8Kur78LGy+akHd7MALZ3lEoRJBR3qZuscrzvRbLpAFgtvDo9tuSXogmXyT3pp7PM/sUU6ZJ7jlu9GIy4sp7PRzYtAN6omvPzshivQpsznRia9jy5zwCwlrDqc5vhiHdDlalNAcAwzbI9YoDhwy4MLfJuswGMXxmUev9wwi+rzlyQsaZ6MZA+A8cNI4IZC5yzfeiOd8iKcyBtk7xh6E4A7lm1zvBaCyJvUqzf6mWJ20+ZoGuaZlSnke00nNTw+oJzagAhGuBQ3CPhbvJKGFtrilFUugXeGRtOjLfAGu2BnbLHtqGDmJgdRz61AJZNAcDJ4VY4yY6HF1yyvYZ/N8ArxNZUjyRZXrL//Y4a1BFJMn/fIxGAF0Q4I9xCaXj4ip8SIBOlwiYYpogOXzdifHrwyda958mmAMB8swflTW/JRkn2/OeTYVk5cn/uwOBXPtkb5Ltpk+V4dTeJUV1oKdYhMG0Spin8YdU7awcqoE+cyPrWetkUAFiud6Mj1ALTJ3p4pCiilx9W6BdO4IBxnyyZB1IWGTzvIDnYu19iPy+EPGsbDzvI4lod/Jnn5wWbAgDVWekRvOIh0tMj+wR5kZMXTrgAwhux2MENZhxon2whHqBfXhdQ2SDvYudS++p3MkMMzVuFOLmnePtebqK0KQDgtUBed/BnbCjYWvBk/YEHyU5vR+M2NeaX8CqQXdYS1Z/dsLYYhAu4fre2VM5axFtnxlIBASlXtZplUwCgCjO/foxcCWL0ekhmjNcRB6MulLUUY+vhIvL0vU82VPMATbEuAYj3FVkXzq19H1eeuSpN2sJ7kxzP2Pu0iQBQhXd6BabU3wmsXJtIh7Bzx04EZx1kHv0ym56kEedjYYQuu2XDFrcLzDkQSjgFFHdEXahxEHdwz5kkUrBGiTasevemAyB40yGyupM8cKa77ASdN2hmKTnyUthjv+DKPH3WkeyBrlILS6RXtCmUoCjCewYoadp+sgTumeW1glXm8IsCwJ20p7rlJzAWcnp8LKjS4NR7TXKPV595Flcvc8lvC4vVqrB/hrfkcomcWN/8AHQVRfSMXX6XxFSa+YLsLWZzIpL13vV3EJp1rdk/8IsCwIOSGp54aD1GZnyS/3OG54/y0lbP2l1r1J4HyltpuQBrfX8A4biaBNU7dsPxPa8Kk8wTrzi9DeHY8o84+Fv0HG++kF3lqyjyLwyAQVLZnvfPiKN6d3ESDlLfIM1icbMOl6LnSX2fztaKJvAPqbxpEy7Njau/OqWBOS9StniTri8Z0X3+NJyfZv/8lr8hYK+6/n86tq2TZwSnJQAAAABJRU5ErkJggg=="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/generate_204?VcFUSQ","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:51.540Z","timestamp":1785129951540,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /generate_204?VcFUSQ HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/EjB5qFW0bJ8\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 204 \r\ncontent-length: 0\r\ncross-origin-resource-policy: cross-origin\r\ndate: Mon, 27 Jul 2026 05:25:51 GMT\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"204","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":172,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-15T16:46:18.775881Z","times_seen":17905015,"resource_available":true,"data":""}},"time_used":8,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":8,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"jnn-pa.googleapis.com/$rpc/google.internal.waa.v1.Waa/GenerateIT","fqdn":"jnn-pa.googleapis.com","domain":"jnn-pa.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:51.681Z","timestamp":1785129951681,"http_version":"","security_state":"","security_info":null,"request":{"raw":"POST /$rpc/google.internal.waa.v1.Waa/GenerateIT HTTP/1.1\r\nHost: jnn-pa.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Api-Key: AIzaSyDyT5W0Jh49F30Pqqtyfdf7pDLFKLJoAnw\r\nContent-Type: application/json+protobuf\r\nContent-Length: 1799\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":1799,"data":"[\"O43z0dpjhgX20SCx4KAo\",\"$_mE5YQVRAAYuiqQtDoreGWSJQysl8oenAEABEArZ1PXdny6r5IXnp-lBsiC4lxkyFisrGgcwbcRV3phSUzaqQYXpccHOmPluA7b8OlOZQxOPjrWkk-qFYYt5ngAAAhTOAAAAEvQBB-IAUt3tMllgomSMq5wpqZCABQg0W9hEAYVGNcipoJKmpm9r5TK0c-13dqL4m7SpgOnpxjPeL2SMAf1bBrXCoQIHvPVM2kDeJiI2wka52Wa0W5lzVSgFBHHU5trKSuWCd5Bg1TM9SC9hBrrhoA8ZyzkzkZidbzGEBMqIrH8ACXSjevom_3lLOXLvF4UjhaJWIHpZjnhlEyMK0mXeGGNPKrkXsLAsmaJw1DMfx-VRKncBFHJDNaFpMZEr2iCiX21X_PWSU3SRXO1O5_FMDMPt8-xkHNTLwns8ryuiJzzPP5mf3K6os3SW7YTa-pRzLVjmlS06gH8tfVLh5_GZhi2AmTbV2deQ1K_CzvodM8aCmW78M2ZLPdzJxeikD38h7SWrDHg1DQYH986wJXPOkOusiPdqTRp2aYj6U9EfcCIJSJGUgFy87WRFOrvequwLZlIMMst0cMAJ6sLmd94QKvdO01-jc1QtY_ZmEHsSuF79JdHA5351DWJ3ccMqDyA-DDHF84Xr8xBcvCYyKmPP4KiGnf4tw6qoQGRNyEzN2Acdip6nkWnKsP04UKEl8sSFX3CfvYvxHqpyZ8g-1rJihPJaRSgs4xLDyrRvC2gqZ7O678ZMscZrc2PeuGKe34S0PveMOwPxNoSl-zlquZuBwjY8Pi1ihmbz_GZsRx3wHq1h4JHwe2R4a0MTTaFU7JAZw3T9w6NxtA8-UHNFJh1h39HqSKsclmWpgIl0lS4TpCPCnRMlRVOGd43LViD0tQbMFaOTH2Wbw64lXADprjaG9uQYtk7T2Diocu1HLO3lrC4p_kIAJ34Mv-_LDcN5YBGbpXfdygLwhz0ET2I-hfde7ITgrtNs7CtaMEn7a_kRUI17DZeTa_t30NTg5spSvhDCznwS2Or3OwBSSxY5Xu240svc5NkWc3Ho-HHCfuJm_IUSvTvCW58hFgEQy93WA8MaT02Wbxmg5Ai0JXBB96KGl4HSp81PCJ17lvBeFn_O_gCukQ0QonSDfKbtbH_iO80l2EPOwpwlyXbRkvfWSBZ1htAblbSuU7ca73Rtx9eZjXh5VOlvcOyTxOlJugFl2NuI9Sd98DNsBwzyWnlGzh-Hh0Yb4HIktP5M8O2kU-TaRjZHUdAuluBFyoTnJc-0ay3CXMrpJJU6ao5Tktkp9uiN9wRfed69yzlDckz1TyatHRfOw09msAqx0FUT0HEd7YY9jCJTdMVggNY-y40wTN1vny1cqI8HVZu8C-AJ6Ux0b4tCLJVaW5bSZc3LYm9c9ulEnyAVQcYcD79n_QPb45F8wczC_wqyPZbH8TjBVtEphvkuoWxqvl4totLY3fQzMGbKV7c39fCivbRUt_OwYC0To3fcPzRck3pi888SvnJEeXaasvrb-zhhvm9Xn6XXLzRw_sBnhBbAc6sWwIq8ipfo8n8S1LDkMW6wgpJLkohNv-gqdHmWN1cOgzmWU1xMGq7BpNiD58_B9aDiU8BFxUDUxiVxZBO5wQzIS4Ywj40PRmyBHP_dWSJwKvOeY1qjksuVjjUWL1I7qkdlirbiPL-Rn9OoVJwftifKC9lLEE4QfnzWeM9S0frabEo84v4G5vUExKnC8qCLEmy7QbheAJD3IUroQ_fu5Eb9q42fT0g\"]"}},"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-15T16:46:18.775881Z","times_seen":17905015,"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":"coinlib.io/api/v1/widget?top=6\u0026pref_coin_id=1505","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.849Z","timestamp":1785129949849,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /api/v1/widget?top=6\u0026pref_coin_id=1505 HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\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 200 \r\nage: 323\r\ncache-control: public, max-age=120, s-maxage=300, stale-while-revalidate=600\r\ncdn-cache-control: public, s-maxage=60, stale-while-revalidate=300\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/json\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"ZUWAgWyF7Xls0p7rFOEQCEaPubQ=\"\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, accept-encoding\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /api/v1/widget\r\nx-vercel-cache: STALE\r\nx-vercel-id: arn1::iad1::bjww5-1785129949857-b1be57661c20\r\nx-xss-protection: 1; mode=block\r\ncf-cache-status: DYNAMIC\r\npriority: u=4,i=?0\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=K9Sj%2FtHZjW1yFRoopLpWpCSywxlsxdC943JD3Db%2BzxhhSOufQBf6wq1F7SdmMQiQAP9ZkFpVKgIhI4o6Ih5RyVm8WPGBGM5t3cQoRdFxJlSu%2Fe32K2pUO0y9goNv\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a21939ca9d4ea0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":4964,"size_decoded":3783,"mime_type":"application/json","magic":"JSON text data","md5":"51f140e920a93725c3240422ea0bcd89","sha1":"654580816c85ed796cd29eeb14e11008468fb9b4","sha256":"bcd84ec26197783d20846b043997afd867dd8528e16a43698ace39de2cdf805a","sha512":"b38ee8dd381747407ca74f30aaead14ba43417d806e9f6206ec753e215c0d2eaaf7d289b73b7004ccc8eddbdf844fab12abc5d20f7d26eac50ed1a3afc0d04f3","ssdeep":"96:ijkLryS+vdjWBM9jaGrHinHB7mgjMC75EsljsS+iMYka2kbjMA6IAH:/LOcBMw+67K2+iMYrMA6Ig","tlshash":"57a140cb0a35869bd57044fe34522fd8289f9ac97abca411c1db8e4e406ddb3013eb86","first_seen":"2026-07-27T05:26:45.234571Z","last_seen":"2026-07-27T05:26:45.234571Z","times_seen":1,"resource_available":false,"data":"eyJkYXRhIjpbeyJpZCI6MSwic2x1ZyI6ImJpdGNvaW4iLCJzeW1ib2wiOiJCVEMiLCJuYW1lIjoiQml0Y29pbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzEucG5nIiwicHJpY2VfdXNkIjo2NTMxNS40OTM3MTgwODU0NiwibWFya2V0X2NhcCI6MTMxMDM0NjU2NzgxOS45NjgsInZvbHVtZV8yNGgiOjE2MTUxNzExOTI2Ljg3NzA3LCJyYW5rIjoxLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMzY2Mzc4MywicGVyY2VudF9jaGFuZ2VfMjRoIjoxLjM1MzMxNjgsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjYwNDIzMDYzLCJjaXJjdWxhdGluZ19zdXBwbHkiOjIwMDYxODAzLCJ0b3RhbF9zdXBwbHkiOjIwMDYxODAzLCJtYXhfc3VwcGx5IjoyMTAwMDAwMCwic3BhcmtsaW5lXzdkIjpbNjQzMTcsNjQ3MjksNjQ3NjMsNjQwNTUsNjM5ODgsNjQ2NzIsNjQxMDQsNjU0MjgsNjUwNzAsNjU0ODAsNjUzMTEsNjYxNjQsNjYxOTUsNjY2ODQsNjYxOTYsNjY0NDEsNjY2NzQsNjYyOTQsNjU5MjYsNjU5NTMsNjU2MDcsNjYwMTAsNjU3MjUsNjYwMTcsNjYwOTMsNjU2MzMsNjU1MTAsNjU2MzIsNjQ5ODcsNjQ3MDYsNjUwNzIsNjQ5MzUsNjUzNzgsNjU3MDksNjUwNjMsNjUwMTMsNjM3NjksNjQwOTIsNjQxMDMsNjQwMjcsNjQwODgsNjM4NjIsNjQwMzcsNjQwNjYsNjQzODIsNjQyNzQsNjQ0MjgsNjQ0NjcsNjQyNDcsNjQ0NjMsNjQ0NzcsNjQ2ODQsNjQ2MzcsNjUzMDAsNjUwMTIsNjUzNTNdfSx7ImlkIjoxMDI3LCJzbHVnIjoiZXRoZXJldW0iLCJzeW1ib2wiOiJFVEgiLCJuYW1lIjoiRXRoZXJldW0iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xMDI3LnBuZyIsInByaWNlX3VzZCI6MTk1My45MTE3OTIyMDE1MjgyLCJtYXJrZXRfY2FwIjoyMzU4MDMyMjUzMDcuMzQyMywidm9sdW1lXzI0aCI6ODE1NjIyNzgwMS40Mjc3LCJyYW5rIjoyLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDgwMDk1NywicGVyY2VudF9jaGFuZ2VfMjRoIjozLjY4ODA1MTU1LCJwZXJjZW50X2NoYW5nZV83ZCI6NC45NTgzOTIzNiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMjA2ODI2MzUuODUzMTAzNzEsInRvdGFsX3N1cHBseSI6MTIwNjgyNjM1Ljg1MzEwMzcxLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOlsxODY1LjUsMTg4Ny45LDE4NzcuNCwxODU3LjgsMTg1Ni4yLDE4ODcuOSwxODYzLjUsMTkwOS45LDE4OTcuNSwxOTAwLjgsMTkwNi4xLDE5MzYuNiwxOTM5LjgsMTk0MC4xLDE5MjEsMTkxOC4xLDE5MzUuMiwxOTI1LjksMTkzNi4xLDE5MTIuNSwxOTE2LjUsMTkzOC4zLDE5NDYuNSwxOTI3LjMsMTkzNiwxOTE5LjYsMTkxNS4xLDE5MjYuNiwxODk3LjksMTg4Mi40LDE4ODUuOCwxODY3LDE4NjUuOCwxODkwLjIsMTg5Mi4yLDE4ODIuNSwxODUzLjksMTg2MS44LDE4NTYuNSwxODYwLjcsMTg1OS41LDE4NTMuNiwxODU1LjcsMTg2Ni41LDE4NzIuMSwxODcwLjMsMTg3NS45LDE4NzkuNiwxODgzLjgsMTg3OC40LDE4ODUuOSwxOTExLDE5MTEuOSwxOTUzLjUsMTk0MS43LDE5NTUuOV19LHsiaWQiOjgyNSwic2x1ZyI6InRldGhlciIsInN5bWJvbCI6IlVTRFQiLCJuYW1lIjoiVGV0aGVyIFVTRHQiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC84MjUucG5nIiwicHJpY2VfdXNkIjowLjk5OTE4NDM4MDQ2NTEwMjgsIm1hcmtldF9jYXAiOjE4Mzk3NjU0NDYxNS4wMTkxLCJ2b2x1bWVfMjRoIjo0MDE5OTEzNDg3OS42OTc4NCwicmFuayI6MywicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDEwMDgwMzMsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4wMTc4NzQzNCwicGVyY2VudF9jaGFuZ2VfN2QiOjAuMDA1ODU1MjgsImNpcmN1bGF0aW5nX3N1cHBseSI6MTg0MTI2NzIxOTY2LjM1MTQ3LCJ0b3RhbF9zdXBwbHkiOjE4OTEwNjcyNDAxOC42Mzk2LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOlswLjk5OTE5LDAuOTk5MjQsMC45OTk0LDAuOTk5MTUsMC45OTg5NywwLjk5ODksMC45OTkxNSwwLjk5OTEsMC45OTkzNywwLjk5OTI3LDAuOTk5MzEsMC45OTkxNSwwLjk5OTM1LDAuOTk5MjYsMC45OTk1MiwwLjk5OTQ0LDAuOTk5MzIsMC45OTkzNywwLjk5OTIyLDAuOTk5MzIsMC45OTkxNSwwLjk5OTUyLDAuOTk5NTQsMC45OTk0MSwwLjk5OTU3LDAuOTk5MzUsMC45OTkzNCwwLjk5OTU3LDAuOTk5NCwwLjk5ODk4LDAuOTk5MjIsMC45OTkyOCwwLjk5OTE2LDAuOTk5MjMsMC45OTkzNywwLjk5OTE2LDAuOTk4OTgsMC45OTkxOCwwLjk5OTA1LDAuOTk5MDMsMC45OTkwOSwwLjk5OTEzLDAuOTk4OTQsMC45OTkxNywwLjk5OTA1LDAuOTk4OTcsMC45OTkxMywwLjk5OTAyLDAuOTk5MDIsMC45OTkyLDAuOTk5MDgsMC45OTkxMiwwLjk5OTAzLDAuOTk5MDEsMC45OTk1NiwwLjk5OTA0XX0seyJpZCI6MTgzOSwic2x1ZyI6ImJuYiIsInN5bWJvbCI6IkJOQiIsIm5hbWUiOiJCTkIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xODM5LnBuZyIsInByaWNlX3VzZCI6NTczLjcxMzgxMjU1NTkwNzcsIm1hcmtldF9jYXAiOjc2Mzk4OTcxMDY0Ljc5MjcyLCJ2b2x1bWVfMjRoIjo4MjA4OTMwODMuMjAzMjYwNywicmFuayI6NCwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDY3NzkyODcsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC41MDUzOTE4NSwicGVyY2VudF9jaGFuZ2VfN2QiOjEuNDE1NzgyNywiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMzMxNjU2NDcuMDQsInRvdGFsX3N1cHBseSI6MTMzMTY1NjQ3LjA0LCJtYXhfc3VwcGx5IjoxMzMxNjU2NDcuODEsInNwYXJrbGluZV83ZCI6WzU2OS4yNSw1NzEuNTIsNTY5LjkyLDU2NC44MSw1NjYuMjksNTcwLjQ2LDU2Ni45LDU3My41LDU3MC45Nyw1NzAuMDUsNTczLjk5LDU3My44NCw1NzguNTcsNTc2Ljk3LDU3My4xLDU3Mi42Miw1NzQuMzksNTczLjE2LDU2OC43OCw1NjcuNTEsNTcwLjY2LDU3Miw1NzQuODQsNTcwLjA0LDU3MS42MSw1NjkuNjYsNTcwLjA4LDU2OS40OSw1NjQuOTQsNTY2LjkxLDU2Ny45OCw1NjYuODcsNTY5LjA5LDU2Ni43NCw1NjguOTMsNTY1LjY5LDU1Ny44NSw1NjQuNjUsNTYzLjY1LDU2NC43Miw1NjUuNTQsNTY0LjE2LDU2NSw1NjYuNjEsNTY4LjIzLDU2Ny45LDU2OS4xMyw1NjkuNDksNTcxLjE2LDU3MC43LDU3MC4zNiw1NzMuMjQsNTcyLjM2LDU3NS4wMSw1NzIuMjgsNTczLjI5XX0seyJpZCI6MzQwOCwic2x1ZyI6InVzZC1jb2luIiwic3ltYm9sIjoiVVNEQyIsIm5hbWUiOiJVU0RDIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzQwOC5wbmciLCJwcmljZV91c2QiOjEuMDAwMTM5OTQ0OTYzNjU5MiwibWFya2V0X2NhcCI6NzI1NDIzODcwNzUuOTk5NjMsInZvbHVtZV8yNGgiOjY4ODY2OTg0MTUuODMxODExLCJyYW5rIjo1LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMTg2Nzc3MSwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjAyOTc1MDEzLCJwZXJjZW50X2NoYW5nZV83ZCI6MC4wMjc2Njc3NiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo3MjUzMjIzNjU1NC43OTA4NiwidG90YWxfc3VwcGx5Ijo3MjUzMjIzNjU1NC43OTA4NiwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpbMC45OTk4LDAuOTk5OTQsMC45OTk4MSwxLDAuOTk5NjIsMC45OTk4LDAuOTk5OTYsMC45OTk3OSwwLjk5OTg1LDEuMDAwMSwwLjk5OTg3LDAuOTk5ODEsMC45OTk5NCwxLDAuOTk5ODgsMC45OTk5NCwwLjk5OTgsMS4wMDAxLDAuOTk5OTEsMC45OTk5MSwwLjk5OTgzLDAuOTk5OTYsMC45OTk4NSwwLjk5OTkzLDEuMDAwMSwwLjk5OTgsMC45OTk4MSwxLjAwMDEsMC45OTk5MSwwLjk5OTgsMC45OTk4NCwxLjAwMDEsMC45OTk4NywwLjk5OTk5LDEsMC45OTk4NiwwLjk5OTk1LDAuOTk5OTcsMC45OTk3OCwwLjk5OTkzLDAuOTk5ODgsMC45OTk5NywwLjk5OTk3LDAuOTk5ODksMC45OTk5MywxLjAwMDIsMC45OTk5MSwwLjk5OTk5LDAuOTk5ODIsMSwwLjk5OTg4LDAuOTk5OTksMSwwLjk5OTg4LDEsMC45OTk4N119LHsiaWQiOjUyLCJzbHVnIjoieHJwIiwic3ltYm9sIjoiWFJQIiwibmFtZSI6IlhSUCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzUyLnBuZyIsInByaWNlX3VzZCI6MS4xMDY2NjI1NTIwMDUxNTQsIm1hcmtldF9jYXAiOjY5MjAzMjMwMzI2Ljk1MjYyLCJ2b2x1bWVfMjRoIjo2ODI1NDY2ODkuMjA2MDY3NCwicmFuayI6NiwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDYzMjMyMywicGVyY2VudF9jaGFuZ2VfMjRoIjowLjU3NzA5NzMsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjU2OTM0MDI2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjYyNTMzMjcxOTU1LCJ0b3RhbF9zdXBwbHkiOjk5OTg1NjM1NzA3LCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6WzEuMDkyMSwxLjA5NzksMS4xMDEzLDEuMDg0OCwxLjA4OTMsMS4xMDIyLDEuMDg4MiwxLjExODEsMS4xMDg1LDEuMTE0MSwxLjEyODYsMS4xMzQsMS4xMzA3LDEuMTQxNiwxLjE1NzcsMS4xNjE2LDEuMTQyMywxLjE0MzQsMS4xMzE2LDEuMTMwOCwxLjEzNTcsMS4xNTEyLDEuMTM5MywxLjEzNywxLjE0MTgsMS4xMzM0LDEuMTM0NiwxLjEzMTQsMS4xMTI2LDEuMTAyNywxLjExMDQsMS4xMDY2LDEuMTA4OCwxLjExOTYsMS4xMDUsMS4xMDI5LDEuMDg4MiwxLjA4NDgsMS4wODkzLDEuMDkzOCwxLjA5MjYsMS4wODc0LDEuMDg5MiwxLjA5MTEsMS4xMDYxLDEuMDk3OCwxLjA5OTYsMS4wOTk4LDEuMDk1NCwxLjA5OTgsMS4wOTcxLDEuMTAyOCwxLjEwMTMsMS4xMTEsMS4xMDUsMS4xMDc0XX1dLCJjdXJyZW5jeSI6eyJjb2RlIjoiVVNEIiwic3ltYm9sIjoiJCIsInJhdGUiOjF9LCJlcnJvciI6bnVsbH0="}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.158Z","timestamp":1785129950158,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2691\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:32:33 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:09:15 GMT\r\ncache-control: max-age=86400\r\netag: \"2edf1ef8b333c40979976d1a49bc234c\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 8196\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: PyIgeyGNN013B-XQP_XlTiGIEFeT_OtCJ1bgaReGsZ1ZGoo4vRMuEA==\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":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":2691,"size_decoded":3216,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"2edf1ef8b333c40979976d1a49bc234c","sha1":"d75ac12795b4a9575c874e1b190712cd62a87afc","sha256":"50a1901684f223bf26594dd3415b1e50f184820a16daa810cc5452911e9117a9","sha512":"f697a1fa0786316fc01003f72621920932e2657e4acf5a471e35d02717c42c9db5a12df311895a776a563dcae9b8fc0b6721833529a054b9dbfff4c52fc564d3","ssdeep":"","tlshash":"2b515ee60252267980d32438616db1e178beabb2c3021ded6c1444954acc4b62555cfa","first_seen":"2023-05-01T18:49:36Z","last_seen":"2026-08-15T04:03:51.037333Z","times_seen":25939,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAADAFBMVEVHcEz/fwD2kxr/AAD2khr0dQD3kxr//wD/qgD2kxr2khr2khr1khr2khr6lhr1khr2khn6lRn4kxr1khb2khn3kxr3kBi/fwD3kxr4khn3kxn3kRjzkBf4khr/VQD6lRn6lhr7lxv6lRr9mBv4lRn2khn6lhrMmQD5lRn4kxr3kxr3kxn3kxn2khn3kxn5lBn4lBn3kxn3lBr4lBkAZwD6lhr1khj5lRr4lBn5kRj3lBn3kxr2khr3kxn4lBn3khn1kRqqVQD8lhr3kxr3kxr2kBr0jxr7lhr3khn7lhr4lBn5lRr3kxr1kRv7lRr2kxn5lBn3khrykRj2kRj3lBn4khr2khn6lxr4lBj5lBrykhn2khn3kxr//////v33lBz///73lR33lB33kxv/nRz3lR7/mRv//fv//fz/nhz//vz2jAr3jQz//v73khj3lBv/mxv3jhD3kRX3kxn3kBT4lBr7lRr3jAz3jQ7//Pn3kRb/nxz/mBv+lxv5lBr3jxH//fr3jg/2iwr2jQz4njH80p/3khf+mRv/nBz3kBP/+/f816v//Pj5lRv7lhv/+vX5s137zpb4liH3jAr5qEf806H6t2b/+/b81ab6t2f82K34nS/7zJH4oTj4nC33iwn7wn3/mxz6w3/937r2jAz96M75tWH7zpj97Nf958z2iQX82rH7yo33lR/4myv+8N/4mCT6lRr6u2/+6tP3jg7969T4ojn5sFf+7tr++PD6v3j4ozz+9u36uWr2igb+69T82rD6uWz+8+b2iwj+7tz6vXL5pD72jQ75slr4pUD+797/+PD5sFj3liD96dD94sL4nzT+79z95sv//Pr3jxD5tmP+8+X948P93LX3myr7yo/5rlL94sP4qUj94L34pUH5tF/7wn/+7dj7xYX81KP/+fL5qkr6uGn81qj2hQD97Nj///37x4n6xYT95cf3mSf96tL7zZb2hwD+8eH5q03/mhv5rlT6wHn3lyP95cj8z5r7yYz+9Oj4oTf3hwD83LSsdU1lAAAAXHRSTlMABP4B/gL7AQP9/Pv++vX89476GJDqFgT9KI4pLWIDbfz9/v532NMFQY/W1fhe912nqa3sAeeHhu0V97m6zo2oawO/xGthYMLH6++F/BzqeHjqPz/QutHnKq0oz5+pmtMAAAbWSURBVFjDpVcHVFNXGL4hiUkIIMhQcOBEwL31oNZZ955tc9/Le8nLTiAJK2GDrIKjdQIKWPesWvfeq+Kuo9bW7l21u7Xrvhc85r1cxHP6nxzO4+XeP//97vd///8D4GNSEfsnskdIQnx4sF9K8LQug0N6zBWjlyIZaNxkcgDksXEzu+uSdFk7U1SqlJ1Z6LH7kLjY5uibRl2g7ZM6xmRqddkKf0ULPxUyvxboMVtnzIyZGsoteI5JZSB0wDhjZoBSwe19Zn4KZUCmdvKECNBX+ryfF0fPMaYqFSqsKZSp2jnRUtC8ge1iOWg1QrtAKVE1aBLlAu2YVkAuxqInA62Dkp633eMiKag1uxazXxxSMr+pqlHzn18yVOzrQSoT9crwl6hewCRNMnqKZAIoZdLhvY2BmNUanItA4ytyfgwyuewloxK31kkyib5vlcZeMh6nRCAqIxAbL5lnLtWoSFIQSWBGGBB53/9obTNc/EW/X//34CE3abfbSP5XzbSjn5GyDZgb1DYAc3bSfh9C+L7Z9uvP23L43we0DYoE0qcEko9dLbg/p42iSA1jrrWWE/fynPvhT48d/FP4rx4pbSOuP8AorQBAJ8UsNuc4627egfDwXfuq5QSsNFMCILXDPIeQyQb1acdnP21ZdnrFrrNkjfsWhB8U5VVAl3pZmsBBQLs+EdxdysEAYQCUuRCdndi/dCtBwNp/agoh4VpVSvrcZX82BBmIGNhewECn5m34ei5kjYBl+6oeQbiRJH0Y2X58KMJRBKYIA9C4H155F0I1oTdxTpYTBlj4tZtK9AmhI0uGzp06+OS/01F9/jK0srtNuQYIrepbT/amOQQoTOzQqTMCYUZxCxyFNq9ablVzAUCTgYujcHs6LVCY4ukIxChsEpBF8xZC1sGa2wdYKNTIycl76ZTgJuPQJbymwykYbVmPAFTD8uq06vWVueyzHrq+sPNiUOhmi0DLrtl+GAdM/gaoR9seqUi3Je3sJhYQPfxGoLTZXSNBN2wAKo1jHdquh4VmJpFm8piN6D/02ceHQVHcDYQl+WP2JyZzEJigh4B1pw5CBIJBXZvP8BIiKQzMwkZAWR5wENzYm8wSiDl3AjnzdaDQJYAuWTghZMxvcBCsO1XqJGlas/k4GwEBH1h4R5BkxYPwVD/sEa6j5QT8pOIQZU/fbas1ESw1F1Y5eHSUpIaD4BTcfoeHBeijP31ly52LLJPULlhoEVApJRhglZC2LGJRR5ZL1OcUa+veLBKqtB/AHQBB8BhBAGH5QpbJLj27X31t5Q6HT0qq8EfQJG9CqBvgZw/f23DME4BVXVZqZ5wqnyOEp0oaYoEBVmy+abYtKczlPMD984Si4odAjMdcI8VBoIauVcnbGFXO4gt74Lcsky/bBJVKktUFJPgSiaor8LBgj41LzG1p20+qCdbDkbX8dFToZvlS2WZbvLZmE5cISxd7eFd3dCuLqcFaJpBmlsrdinkRoFryTuGy7/SIASZ4osCzningUsEE1+SRggi6gVf56UyZV3hkCEGw8K6FpBmKZpijx7lUgJUFlCCdWwLRbG8QEP4HXOWcmFrVhyuu2tLy11rMNV/msvpogG/xj6DQDUG6HuctypT5e454eo8cLj/21ae7jny8pj4m00c5JF+Wo5AmTvcGQWOrOr/yh8+59VbCBL3NAD+08yFoUTwDFRYk6xO9Xjos5uSqRY8Pc6JOEAa9yeQpDyaCWMJ3oECyzvYWHXmyrKGpREea/Rq0/rXHk0cGvcFkYNPhjEUoylPQdikIHS8sbUzyfSTjTyx7r9SnIWsbF1lIQWkbGIEqI6qP/YWVgTH/Bm/AS+l5f6Ac3Fe7oWzLiieXSGFZUWq54orKe0Sfdvz+hE6rJKwHqu1/l1vhih8L8i27C/LTncKy1K7PIE+rJgfD+OVV496BauttR/p66IK7ztUxNE0ztFBKlNpR9V2SuI10JC8hNO7tZdfgSsvuPw2u3EOlJFa0mq4eK3/aM0tBJL/J0tgs9JKrbvdlCC820GuiJmsu6s4abPNoWw7S3wtntqzMwwfQrORl79lDBMIEjaaGRPqdY04vwvfLgRlR3o0m2+r2wlR5kqKx8aMkeInf6qK7lOObbfzvG3sPl8p82v2eGU1erN33x7T73MAxtGS+f+P7m84vCRHjR5b/N/J4hq4xjQ9dIxoaupA1B9LoftrnjX3GftF9Gxz7WCj7gogJk7UNDZ7GcQNCgUza2OgbOjUm08iNvgrv0VebGdNxUmOjb/3w3Tw2akh33S+6rNRnw/fMuFj5iwzfrAuWo+KWPUIGd5kWrJIEh8cnhPSIZAMXYaL/Dwzi2FkgVOlzAAAAAElFTkSuQmCC"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/825.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.162Z","timestamp":1785129950162,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/825.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 674\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Fri, 28 Jul 2023 07:44:51 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:40:30 GMT\r\netag: \"25a8a1e3479b793e8bcddc8b2ba726a9\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 78321\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: dHeJwduQV2zGS2fZ_RkCRrBBaYweSvOhG9O_Vu5lJZjfXJ5Be_GGDA==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":674,"size_decoded":1207,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"25a8a1e3479b793e8bcddc8b2ba726a9","sha1":"248492192bb393c84661daab721fcc5d0b82d165","sha256":"2d5a29e2c8a731b9c0891dfa54c3bf753ad5bba2911e71ebca654c273cf08748","sha512":"758bae768d116e95d923a254204ae52624a0bf3a4578fe62bc9039659c45655240b77e9bb92433669cc90f6de32c4df4e5bd83fc632f7c71a85a285446272159","ssdeep":"","tlshash":"dd014e4a0e257a702f230e7325bf2d4f102964e012b55986604eb1338e1eaed142062a","first_seen":"2023-08-15T00:41:50Z","last_seen":"2026-08-15T04:03:51.172037Z","times_seen":2025,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACaUlEQVR4Xu2aPW7CMBiGOQJH6BE4AkfoEThCj8ANIiWwsCAmNnoBJCQ2JtiYUBc2Bla2Vl9Vq+R1En/+xQY/0rMQ298PdpSU9nqZTCaTyfCpqu+onU4HmLI7iqIvBYxRb2CgeL1i6vZU1aYhULw6BwOkoDNw4XQcYin6TCZfDQunozW4YIoagwt1GBqM32lRvGFpaqpqLC3UYWgwvlJtcAGFocH4SsuywBLbwckMQ4PxWbKg84ITGYYG4zNlPCHKk1gOVyuW+8sFa6mB49vE+Gw70bzxmbg5n7HmGjjei63gQA/G2wAc5MkoGkDWMLzxdUnnVFUsB1rD6sy3WZaj/wbgRQP7sxnm7o23xUKKb+Rf8RvpgoaUzKOw3hn0oid9qGkTtG0Hy6U0llQdCxxPUpM/Tycc+ov1bpA+0FQwWq+la02aNAClb15gvQtc3QO4umjAvVYNqIEXmRJ0A8TPVbp4siNM59aLF+AghvfQYy5edy0+Shs1oBMcrFAFbfmP7VZ7l9A9RXVcCJynVAk9IOAkhZRsaMa7nZQHw3cstxmDJgiLwwFzdcb8eJTisdX+yYwm4CIW0lmlb+16u2FdNWiM0bnuUrt4geMmkKpzjeOtNS7+HlzUwqANcAoubmiwBngBgxgYpAFewWCaem+Adyz/ScJrA4KCwZl6a8BDwCQYemnAQ8FkFNIfSvBN0OqtMAowqVBGBSbnV8ZPXI9ATtSHkRYvkBN2axJg0q5MCkze1iTBIkxNGixG16egqvZSYSonkzkukzZUEBbZ5tMVL+A04WmLF2DB6EuARb9U8YKXLj6TyWQycfADMiVWaB1DBnAAAAAASUVORK5CYII="}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/6636.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.251Z","timestamp":1785129950251,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/6636.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1745\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 23 Dec 2025 07:43:14 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 07:13:57 GMT\r\ncache-control: public, max-age=86400\r\netag: \"9354a310aca2467883088a4c17693018\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 79914\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: B7Cf6m62GGKLy2aqxidvPsn8gOgeDdcpKgypsGJB5_34DKjeyFefVg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":1745,"size_decoded":2317,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"9354a310aca2467883088a4c17693018","sha1":"8b68d24379142124633ae339e148c3db3baa73e8","sha256":"66498e82dee76d44bd12f5517f74785af51b6c23c7895fe18684ac914abf33c1","sha512":"597efe5d74e6c66063f06724931aec73e4edb064bc939ed48618af592bd8b602694ad04a1534c816ce8c334d6711affc474f99f45f0338919a7a5413eea29966","ssdeep":"","tlshash":"6f31c5d01452a47bb1030b9196bfc6b14e7024f800ced7bc946a48d273399ba78960a4","first_seen":"2025-12-23T14:18:57.776197Z","last_seen":"2026-08-15T04:03:51.123399Z","times_seen":1615,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAGmElEQVR4XuWaW0gVWxjHLbVEu1iKGnbRFDLyhjcCfUjJKE2QqB6SynoIRV/UFAXxIR98E5OiRNR8EBErCio1EEG8gKgghKA+SGj4YkSUqWl+5/wXZ4a959t7z8yePZ5zmAU/tv1bs9a3vnX71prx8vLyIovDBKvBBKvBBKvBBKvBBKvBBKvBBKvBBKvBBKvBBNPZs2cPeXt7k4+Pj/gF0JT5dgkmmIbU8NjYWHr06BH19PTQ69evqa2tjYqKiigqKko4Bfl20SFMMA1fX19qbGykzc1N+vPnD0lpZ2eHtre3aWNjgyYmJig/P1/k3SUnMMEU0JicnBy7hjtLW1tbNDAwQCdOnGDlmAATTAEOqKurU7bVaYKjFhYWKDo6mpXlYZhgGlevXhVDHUNeS0K+kZER8vPzM3M6MMEtYODevXvtFjDlv9GQyclJzQ5AQt68vLz/tgNg3NGjR6m2tpbevHlD4+PjNDQ0RM+ePaOzZ8/aGY+VfmlpSdlOpwkOKC0ttSvDw85ggi6wbdXU1NDq6qrDnl1bW6PKykqRD/lh/MmTJ+njx49isVNLWAuweOK5ffv2CceOjo4KR3rIEUzQzP79+6m7u9thw20TGnHr1i3ZYPzi2evXr9P09LS8LdqWg7+xLTY1NcnOCwoKop8/f4r/m52dpcDAQE84gQmaQEDz9OlTTdsa0pcvX+jgwYN2ZWCNwH5/5swZMcw7Ojro7du31NvbS/X19RQfHy/qkfJjmv348UOUh8W0tbVVlKG0TSdMUAVev3TpkjBCa0KvZWRksLIk0BApLAbSAmqbB4voysqKXCam0Pnz51k+nTBBFfTa8PCw6tC3TRgpt2/fNmQsnNLf329XJkaLwVHABJegATExMTZN05Y84QA8W1xczMJonC2UeXXABJfAiGvXrunqfSTkz8zMNOQAEBERIRZN23Krq6uNlMsEl6CiO3fuaF78pITtMDg4mJWnF9SPhVJKcMDc3JzdYqkTJrgEBty8eVPXCICzsJ0ZMNKu/gsXLsj14xflIy5Q5tUIE1wCA86dO6fLAV+/fvXYyQ71YxF+//69nQ1XrlxxdxowQRWsuu/evdPkhF+/fhkxziEoKyEhQQ6KMAIwLd2sgwmawE6A4MaZE2AUwmOzDjLohPv374tYAPGIbaSpEyZoAvMZThgcHGQBEaI1hMiRkZFG92iXoMH37t0TlyenTp3aXQcAKXqLi4sT+3N5eTnduHFDxOxS/G42sMGgk5ngFvC+mz3wb8OE/w1wOEbgoUOHjFytM0EzqFA60R04cID8/f3F344OMmaAeqqqqkSQdfHiRXfrZIImUFlISAg1NzfT58+fxZb0/ft3WlxcpBcvXlBSUpKpjkC5BQUF8qUKrtLdrIsJmkBgMz8/7zAkxta4vr5Oz58/p8OHD7trmEuww3z79k2uMzk52d16mOASad51dXU5bLxtgiPGxsbESDG4UtuB+nF5gvIBtl3lZYsOmKDK8ePHnQZAyoR8fX19Yn1QluMO6IDU1FTZ+fhtaWkx4mAmqJKWlqZopusEI0tKSowYKQMHIMiSEhx8+fJld4c/YIJLUFFiYqJN89QTjMRVltFLTDyrvA/49OmTuCpT5tUBE1TBuR6rr9ZpgIRRYPRCBM9WVFTI9aLMu3fvsnw6YYIqMKSzs1N1EbRNMFr5gkMvWPzw9hgJdeNKHdfrynw6YYImUlJS6Pfv34pmOk9wQFlZmSEHYAoh1kDCNMDNtJHy/oEJmkBv4FWY8iToLKHHcnNznRoMHXM5NDSUwsPD6ciRIyyQwq2P9HL18ePHHllUvRwImsGJ78mTJ6qvuGDw8vKy6EHb59G406dP04MHD+jDhw8isEEAhTdCCG/xjhEhrpQfwRcuWBCDePADCiboAr2Aue3s3SA0DNusrCzZYDyDu4T29nbV1+UYObj2xrN4zoQ7BiboQjLs2LFj4nXW1NSUmJ9oFO4C8R0QXnFJRmPq4Hsg9KSWRRR5srOzZefh10M9L8EEt5GMw8kwLCxMPhlKjcfvw4cPNa8bcOLMzAwFBASwujwIE0wD8x0972rISwk9v/j3yRI30MpyPAwTTAEjA5/IaGk8tteXL1+KM4eyHBNggmngrhChq3Lhw9/ocSyWr169ovT0dLYFmggTTAONwrG1sLBQHGfxOQ0ONg0NDeIrELz/38WGSzDBdNBA6TsA6XPZXW60LUywGkywGkywGkywGkywGkywGkywGkywGkywGkywFH8Bb5JVvHH0598AAAAASUVORK5CYII="}},"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.youtube.com/youtubei/v1/log_event?alt=json","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:58.822Z","timestamp":1785129958822,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"POST /youtubei/v1/log_event?alt=json HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Request-Time: 1785129958819\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: CgtwMHo1ZGNKTWVuZyjd15vTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgEmLfAgrcAjIwLllUPVNSa0JTUklibmdYMVVzNHZFSGZndTdVekVGMklJbnh5TENpTXJzTUdzOTFtQ3FMV09leDk1ZF82LXM1c1R3VlRkdElnUW9GQ2ZNSmNuODIxWWszVTJTcEFFNF9KdFdBUUVBUHVjeVZSTk1rYmw0WTNtYVBsRUh4Tmx5X2F5b0lMN25SdGFENGZiQXpQUFRTZ0RrcWFyWDhRWjRqWFBacjVCLVlJYVVMOExCNW9iTDdUU1NnQXlubG5rVVRyZFdieHQ0bFR1aG5DbkhkNUtoSUtWMWNCWUJpQmZiOUtybjdtMU9UWG1pTm9VeFlOc0w1T3NDa2ZMN2hkQ2l5dU9vcnI4VHZhMEQ5U0ZvYVpHd2lBVGVwTXpUMWV5ZjRjZlFoeG9yWWswWWRTY1hNYXFDU09vR003MHQzWHhycUsxTXJTS0M2SHBfN0V3U2tuWEgtcjByY2tEZw%3D%3D\r\nX-Goog-Event-Time: 1785129958818\r\nX-YouTube-Client-Name: 56\r\nX-YouTube-Client-Version: 2.20260724.01.00\r\nX-YouTube-Device: cbr=Firefox\u0026cbrver=134.0\u0026ceng=Gecko\u0026cengver=134.0\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\r\nX-YouTube-Page-CL: 953206010\r\nX-YouTube-Page-Label: youtube.embeds.web_20260724_01_RC00\r\nX-YouTube-Utc-Offset: 0\r\nX-YouTube-Time-Zone: UTC\r\nX-YouTube-Ad-Signals: dt=1785129949793\u0026flash=0\u0026frm=2\u0026u_tz\u0026u_his=2\u0026u_h=1024\u0026u_w=1280\u0026u_ah=1024\u0026u_aw=1280\u0026u_cd=24\u0026bc=31\u0026bih=-12245933\u0026biw=-12245933\u0026brdim=0%2C0%2C0%2C0%2C1280%2C0%2C1280%2C1024%2C360%2C215\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Length: 1936\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/H7OiZO_9ahE\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":1936,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"clientName\":56,\"clientVersion\":\"2.20260724.01.00\",\"configInfo\":{\"appInstallData\":\"CN3Xm9MGELb4gBMQjpDRHBCZjbEFEL6E0RwQ4LfRHBDK-4ATEPb30RwQuOTOHBCHrM4cEL22rgUQrtbPHBCJ5NEcELyk0BwQi4e4IhAAEN68zhwQ6fjRHBCBzc4cEMzfrgUQ8N7RHBDBj9AcEODq0RwQiJDRHBC-irAFEParsAUQ-MSAExDxtNAcEJ2GuCIQyfaAExCL988cEJ_PgBMQq5HRHBCkqdEcEPyyzhwQndCwBRCW79EcENr3zhwQ2oXQHBCG4YATEPny0RwQg4e4IhCJsM4cELjw0RwQsIbPHBC9mbAFEPTp0RwQo_zRHBCLh9IcKmxDQU1TVFJWTy1acS1ETWVVRXBVQ25BNzVGWEtqQnVFV3FOVVB5QU1NdkFiX0RlUUcwTG5wQ3pLZ3JBUURrSzRELXlhMjVBYmtoUmZRekFiRWtnWExQY1VuMmRVRjNDem1SdFd1N3g3YkJoMEgwAA%3D%3D\"},\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\",\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"platform\":\"DESKTOP\",\"windowWidthPoints\":360,\"windowHeightPoints\":215},\"thirdParty\":{\"embedUrl\":\"https://digitaltradeinvest.org/\"}},\"events\":[{\"eventTimeMs\":1785129956815,\"latencyActionTicked\":{\"tickName\":\"ftl\",\"clientActionNonce\":\"PPZigl0M11FpB7nm\"},\"context\":{\"lastActivityMs\":\"7\"}},{\"eventTimeMs\":1785129956816,\"visualElementAttached\":{\"csn\":\"SRm07lM5RywOTeov\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"8\"}},{\"eventTimeMs\":1785129956817,\"visualElementShown\":{\"csn\":\"SRm07lM5RywOTeov\",\"ve\":{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"8\"}},{\"eventTimeMs\":1785129956817,\"visualElementAttached\":{\"csn\":\"SRm07lM5RywOTeov\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"9\"}},{\"eventTimeMs\":1785129956817,\"visualElementShown\":{\"csn\":\"SRm07lM5RywOTeov\",\"ve\":{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"9\"}}],\"serializedClientEventId\":{\"serializedEventId\":\"3etmarPUEq_bq7YP_oi02Aw\",\"clientCounter\":\"10674\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 05:25:58 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 31\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":28,"size_decoded":381,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"5e1fa6fd9abd549a576f3f24b1d3c8d4","sha1":"d5335d7f7d33be6a0b663f03b2df4df2521c4a87","sha256":"d7d5e54ad1e33d7ab49c664323ced79cb9723ff15e9764cd0edc3e15208e8336","sha512":"96e6938256b8e5924210f8e8e54a85d783fa2c01d5fbe5d2a8df7655fed9ef8be73c7cd8bf042c3c84302134b7418711397eece32f081eb7e824a519cc06b4e3","ssdeep":"","tlshash":"1c800038a8200b22232000ea202888322ac8c8203200ca28830200280cc0a0000a2282","first_seen":"2023-04-05T04:40:08Z","last_seen":"2026-08-15T16:42:31.537717Z","times_seen":285114,"resource_available":false,"data":"ewogICJyZXNwb25zZUNvbnRleHQiOiB7fQp9Cg=="}},"time_used":22,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/images/home-business-tab-img03.jpg","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.065Z","timestamp":1785129949065,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /images/home-business-tab-img03.jpg HTTP/1.1\r\nHost: digitaltradeinvest.org\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncontent-type: image/webp\r\ncontent-length: 58010\r\ncache-control: public, max-age=604800\r\nage: 88\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 275e70492a3a9b48cb4635092e3bf54d-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":58010,"size_decoded":58314,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"782ac673562fb30d2dc9044a90620304","sha1":"611d301dd2ff1eae36f14038dd4516375fcabc20","sha256":"e9164fa78dad7f74ae8656067bcc4e62fada211b1148cbc1dc9df87e2826b00e","sha512":"dff5119a5f659137176fc556a371098507647f3a47bb2d71eee7058143c68079fa1db3f8ed8d8ec1dad3cb864df5b536b5d512ff090c4b4eab0cb7c6dba61bee","ssdeep":"1536:6WAaH96oumoPEiMtV5cWjZtxZHIUx+sB5dJj6O:R4odonMTjNIg+SFj6O","tlshash":"034302059a4fe631e0dab9775c1f7ef6449da743f2425016c4e6889e2c6dbac2f0c8c2","first_seen":"2026-07-27T03:23:52.884577Z","last_seen":"2026-07-27T09:46:54.024702Z","times_seen":7,"resource_available":false,"data":"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"}},"time_used":65,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":37,"receive":28,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"widget.coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"widget.coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.266Z","timestamp":1785129949266,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes HTTP/1.1\r\nHost: widget.coinlib.io\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://digitaltradeinvest.org/\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 301 \r\ncontent-type: text/html; charset=UTF-8\r\nserver-timing: cfEdge;dur=1,cfOrigin;dur=0, cfExtPri\r\nlocation: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=nZRvJstwlXumFSpr5Wy66qbvAZKgcumD3016xVnzCQPHFybH0qibnV0FmnzsoNh1dgfHJpQVWJefhunbki4jFWuH4Uj27q5JrYKeT3EhWvfb7nTDPhujTOenTOCrLBzf8QgdLg%3D%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\npriority: u=4,i=?0\r\nserver: cloudflare\r\ncf-ray: a21939c6ed07a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\n\r\n","headers":null,"cookies":null,"status_code":"301","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/html; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-15T16:46:18.775881Z","times_seen":17905015,"resource_available":true,"data":null}},"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":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/nJ4pVzGWVH0","date":"2026-07-27T05:25:49.689Z","timestamp":1785129949689,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 356922\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-15T16:45:42.901566Z","times_seen":965851,"resource_available":false,"data":"d09GMgABAAAAAJzAABYAAAABJMwAAJxGAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFwG7cAHJB0P0hWQVKGBQZgP1NUQVSBTicuAINCCIF+CZ8GL34RDAqBzmCBtmkLhVgAMIHeagE2AiQDiywEIAWJAAcgDIVOW3sUcYJ2+YXsTHcCUa2eb/kBStiuDNw2mlrloLhnj0bEboekZ1x7dPT//6cllSEzKZqmA5hzU71vkJCiJNulImOrXjzgaVpjkkldY9XkEtIwK7MgGJlJEu058EgYM8XbsUKJJgnS3LaCoydljRIf3TWocIZSKIVqflw9sPdXdL57lPkx26hbdai4Rm4SDjwdLWegM6PKTLHOb5qk/JwuRbUtUd7gj8QKjJ+DgUkZ7C0v+jSd+LWPe9GCVWr6F94zg0u7qMNnDlqbodvshzAf6OYyKSUIe6KkC93/4oFnTrqajC9m6zfclde5uO5vhku9953rXlaBseshaqzz/jytrfdnZrfZApZcWGpJqTxw4VBKaIk0sJvzGCosKoxT7g7j0CbMQ8wAk1IUBCxAYmGIoDz4r3qQfMhY4ibqKONtZoB3W//MrmyZMzVNcIALEEEEQZA9ZA8RtqACrpGWZmrR0LyyfVc27LK77q553ZitG7tb66/Z8Lhp/xIIkISECCEOwYMEs7aDik5MTkTb7ovoicpuJyLbzrzXTiprKTA8btq/UJ+I/7ud78x3+2rasa8+ObN2Vt+NrsNa8GCBJCQhASKEKIRgQVRWoywdDTAUXTP7PPdkKKfZoAAtcwC7mzLiq3ce54D4xVBAyibdANmyLaI5eDfrJwmQoK1TZ81OPW3vPf8T8Z8PKNQUKSktYkE8DXiFutCuuBy01LU9QDRxc9rWj1Nz1ga4kN2Em0sRtrd7tD1IHsgSC/8anXrf8vhOVVOhvq/sWf/TNptLrpUKCNOM4flu5M7lExRGNNmFQsvlH/w9d38Ts/TfK9jMRjPJtJ+EZkKtgsMD/L37294UeTGe7gsswyj8y9aYYCyH2yZ2SXJQ7F7eZmlRWfm/NdMP0tdImmEDxrv8vN7EcQDZ7XPKrCIdm1wLgCc69nhLfQAd1WZVB3qAavATs6eYtYwkTJD47ZL49NSH+Wa/ZybrgpyJgttS4rsJriHhV21ldzPgMSUyV6QnIjZ1nNuKchFxIkb0mc+Tjdj/s35pe72zOXhO9WcUWM2W+k5NeN9Iq3NA+jipCUrcdM1TUC5DYC1HVSlHLyfJzDYi3ysfAfDP/7Rm9+duD+1Bd+CaGuFyDtbM/mzLPHKyu9BDa2UYhUSjsAjXVC/CIgwaY/DhbWq1/0tWduQcWIvKoXUIRbdYn486oKa4mff/14fRSKOxHQsMskKSvSDbyZ3s4FgBWV5nAbg9oEr2JgtERbv9MZQ1l9ee//+mpu2/gMLIEVAc56HiH8U/UtE4t7lp3KfhgBRnQFIaJgsEl9YQu6YBcNdnQO4eD6CUYhli+QByjz42WJ+kaA3XCVRcOaZOrWNuity67F10kjqnVJS1T28TNLc6WUjfLqS4IeL3R1gxREswWLt+3zSlGv2Z87pr7Q6dRIQL0LAg6FtJbqvv1vT8Np2lA2IzHfOxg7lv7dXO7dwGP+2E5n2XqBidkSc3vK5GEVx/mRSgq77ZcoBUuwVSv65RLlI2QlXaEP940w0+hoF1IJI9CMIAwyCgJOAJB0BBOY3UrPh3Ea4wxihCGMe4ShG+ijmxqimZ3Xm+7BPSxhifMcIInfCJnAmZ+UHCbCaNMeFsh3UvQwwJee8xpuapF7+xw3Rta3xqkCAqQSI44vPrMVQsR116Hm09QZS47RhTK4qxyf6MqRtUkIsgnitt/3RAcCJLf4qPqYYRMuIB8ZYIWfkSsl7IFiGkkHQhWUJym1P5CrXX/g87oBTuuFMwN7VB7kXTFkUnbrO84857C0DTgj/G2uoSUGoshQD4wyrt8p9BgHrAOTIACMj8y5c+9WBo0hcIwvEUijH5Qqks614AEVkpOXnBracypT4qaj1uT+McYItQgDjuBL59q8e1XSEPYHtjyN4GyG4zt/sATQT4X/H6OItnsS604dbrQ27rFTP0o7ICU4m2AAHlSeSY2OSmfgFQhw3DbE6LrrXmDSByk/Eue/+7oQAsMV3wISG/ivDQcQiI1Kh10CGHHXE0WtGOpGKpJwAMbagVqEkENZuQI+OoDfWAzO0bKwIys1H+s3kcWO8pab1rfSi6yifx1lp1Hy3qcvncKcmFUen0h5/d+Mz4uGre6M/lyluLsBIR/3JsoMWW1C6s6TM3WBtKk4Cq9VLaBs5TxkP6h4nnV92N8uIGrdvWX6/aadFc3ZoTG8oAvrGoCqCWVt3o/JQSd9LSi8mjT62KPGWM/80qMHs+r5+s6rEofb/9+P9JldFtSp1WCyfPYradrBLGaTi+NK3/4ku9FY97cFr2rt4WOsnh2p3CY6WT4lDLuX92oF7gZS081c/SjvXQDJ5vjJqOxG3ivZzjrMjqVdTXNfpZUYKKh3QsKy3ScU48yGNTD9n7Xmg77ueN0MRGEW7JfHc/37B5v+1crqt8b8Z3bt1j6yle1prGvagp/LfWc67WOog7ls76t1hKxeeTplT+C+9rD3W89wYRBpTakYf5MzXuBq8NAK3ZfCuPTg9KU2Wled1n/VY8A7z4vFy2mZqHer4NtzCrryhv3nUsLEvJv+S4NbfHz4oc0YunMfBfzNGl0TJ9uGyFWs8+4NAv0jvtPFExy8W3dHW0hXFcfdfqVccHQfKtedEkZVeY9M75WvuP2tu2RWzeorNzEBIyPbclDef8qAVzH/s/m4HNzbnQ0H+LnT++9QFuz9Ovdt6LToL9nSR/rjSP45Kr3adBtp7zurvl/idxXFKC/hhj9JoG4CwGMWIKY8EegzMPAnP4UONHWtM8q5ZQEbRFpqVirXriJdKX122k4SZlaibu+cbMqEkhKKhCZJ6RgLisR0yIz0Z0SMwWApKyFQksSC66RckjLE5BzCQHBmFrELG1LfUoSklD3PwRZrjSMy9COQlBl58wQkEiolGYeHTFSZqLkiyMQ2mWp1U1AOwJUGzT7tCBDQ4LJQSoQyBGCB19DNCECScwasxK9sI2W8PfyCe8IRKfkXDGQsyFWEqVnRAHIU5S4iwBFzG4SoWbeH6TmLs4PCQ0p5Hgww8moBETKgxTuOgixDRfmChxxYgmVizxUpMglkQpSxdSIKTwCKZKdV/G7H6K+fw2u7cCfyPf3VujyH1P4J6+DHmrC9LtA4aPvIyjzxeEQd9gRvkopjGT6KbMoKEgwEpuBxTMoQEsTMAMByiFC7hRAozwAC18IIwgKKcgceq8xhvCieYPVrQiwY4uMCMFjx5E9MFjABEjsBiDxRQslqBYQY81KDbQYwsjdtBiDyMO0OIIJ06w4jzZy+ESl3CNa7jFLX2AmQCwzJ9kFDATDUoCSkksXDc3wQBGFqGSxbCSPD2WxJ5LgZflCLMC/ImUYdb5rzBCGJnUGIvL9AjBwiznbWSwQqqsG5XYsIXYWz1keYjhZzUQbcTNRcp8JOAnmnmdmV608ixpF4asplXmCsqwzXYV2L/ieuYlQrs33gp4sz1JYMg3NIddT3BPFQRHOKD5FJS2MAC5LU4phGY4DJFVvAV/ZfzHdaIDAQwcjNDCY9gPny1aZEDEGFpMIGIKLWagWJzOe3lud9t3nz1zw4SQvh21+KGceaAEwkxQUZ2mXXVTulsgX2akLsidGQPqiS3Ks7bXSeHJefTS4pcWJ/lJUaUKZETHH0qRjnXYZeUdaqDLG5t/spi9aVHZHW2ve4/bHWuCZLqiZa3DEaVMEu3DgQl7gMadbId3T7YcBi5vxgmBxq5b/jYT5C/gkCBg+zifA6sphxSO7WjDGNUwDBMaNfw51kUqatJwHuUiyKJ0yIN8+8GD7ezP6+23UkAcyBYEOg4uI8ZMmDJjxZodew4cOXPlxp2H2fz4mydYqDDhIkWLFSdBkhq1u4HeW+2Bhx557Imn7d6ee+Glt955r1OXPachw776ZtSYX8ZNmERBUBANOXxXPlKNWjSi+Y7U6zK6kUY/hjGKLMYxiWksYxXr2MQxTnGOS1zjFp9wI4gw4kgjjzKqqKOLMZZYY4s9jrjo8xkrXvNdazTwI2DFeaSpE0zIqeHjN56bX7wwavzDQ3E4cmHGg4EhhvnKN4+1+hcYZyKZnAqGqXA5V8cotnHA1FY1tkEubTCBXYkg1IlyFgJAag2gisCt2SzPZnYB3fTQm3xI0ersw37J1fEdv4XjFMjBQY5wtIn8Kb2OJXzIpVwtAGdjsX8R40wkk2msEpuPAKD7BIDzx6cimq3mxBG+S+MJAKkdDZgA+MkprY2Ajzj7BvwIYD6FDDLEMF+TbykqbM+O7BxOvaFvEF2qjU4AgAMpUZEnkXxGCV/8CGC+FlJ2YeyaVtcSh8LhKJISJUqUKEVoUwI2C5tH2ZQi2DmcegNK7dGjoqKioqKioqIGdQkSN7hjPOxR0L2NN2Lq5T/KihyYo+NhxVozLillREWOQ8oa15U7rumv8ewQQQmfyVwOS80lr4AKQgpB+UQmYmB16+rEeQPihn/+0polvjykjKOckSOQrayxR47ccdgitScojBCCLuZwHlO8ub5KXwTuQwDx1tdIIQ0ccca1lVQ/KIsmoGTy0K+lTjjgaGEaxKOL3QXaKJkPKnxsVT8FtcgNBQWVUJFhCL6Ja7n0lZTls3m9DjwLC1PshgBcORQvDbj0JtHYS3shoLZBfwDR+mIj6kNSB5YzTXg1OFtZ99rnbuXnSAyykJWs1hr7zuuH6Q2e8mby74q+it9HiKO+38sPwEMe8Zgn7uvub8F3fM8P/Ogx+CcwzgSHmWaG48wy57pYz4MGTbd2hkGDVqkcRGusRptkWltJG4zearRNjIG3D95xZWf2ZG/vy+D94QN5fDA41KfW6EoqvjZTXE9cZPgEVl4Dr8b47zLHCT0fIUcnAJzcfnmOWr1waLlTDYZXqujEcXVWenUVYLFICPfoukHimGmSry4gHwAO4hBfI8/XwTcwNBUkJTrOLsY4DwwvSWEXABW5G5nQeDFGHQEglSUUjX6GBGvk0B/55KjGKJ3uQUavLsHAh1+pgYPAQGBgxs+tBSqjn7/Na000E32Uoz1HnxmyfvgMMKA7VtoyZ50gpSykny7iL0KccSh0zimYdd7DW1oHQEc+lSsk1zaXzd7t5rqngW+BXj32Gd+qqzAWPt+/Wt4AsKvt83uBkcmQ2Qokbmt1moHoivvZltt8ES+gu81v9QCK7ztDgPiuzBT3Pso/aRvhNVyiEzzwwIyiC1pADMdGwbgEc9OgZOzP7/Cna9OJ/JPirAwzGR46oVwyL9KrEjH/B0wkthY7bbLZZVdcdc11N1QE+68764zTzjnvgosuadSEfnUAh2irFI3z5RwYRIUEAAbzd18a4LQmaKQl6nRx2q7c6VIeIvJQaPKZ2B7+X2tFrYObeZEWVWJq1GlUSULF3Ph5t9zOb3GPR2azPSLU0Bia9YaKKbeuY2MUOyI79tjGRlApby64XpyIpUOcgvO/viarHY7PDnRyCCHoBu2gtvLmv7bVsmmbm7uZmqLBmn5Tr8P1bb1bL9XSuqiqKrPWV7MyVj6Uu+VQ2VOSi6aIC7MUFVFhopkM5nVupy4pCcUUYejZHiYMa3XGP2oVy7McQZuYADsEYIpjPlXiuw740SqyfX1Uoj5RnzLCXOdAVtSlEWReTGNIhzoRbtzYE5fBaE7FqTJFXYpTwcOMuJAsezDqrF7cHJbcXwp4iUNqCrtKIS0s6CklsZ376PhMxa7uGCs7NZHYpMaw4teYealR+1QkUQ+G2Yf57boZwrN0QqtgKZ5FMeoL7DzHVkwT49QQRtUwT19AheXwu0En/RjQh177J4Es78yXgGvinEYDx/s/jhZVlmbVWETyxXQWZKQ0W1ZH6RF7urFNerZnIXw7oqc9acgkZDnE9bGIubFXqhNr3mLJO6JvGDdvmEtklkFEVoewLI2QzkFmgidmqXYsqg751byBdvZuxgQZzzDse97nX6FcZ18/8Ah97iPteWD+u/WvAzA3C40Ve0yO7wgL4L2Dooo57d7EAgTSEiyCjki0IfVEZsiesJCemCUrYSk3YSW/3Xo2310iXJubWYme6+ZvLmsyBIAFF8UeAh7EN4UYirhAT+CC+rBkGrg8aaDgClNUGS5Nn/FQCWqz59MQCMZGhkkhCidtC002PbO2kOT9ZI5OegO8bV0pCKPVEfXQmSYflCitLK5MmJ3hzHaQzrZm+xp99vrGZgIGUkDW5lbl50ZUNc3V6jqWRtKGdqNxG3DBzUp4B2pj02wnvxwfB/wiBmPnntIdYoawCJthKFkHq2itd3FbasGpWbFNg7ShJd4jYiO3pk+k9fWXjSvkVFKDZWr3rl3DHAPSj++ERMpLzdkrmLGmQNzooMxeaSUNr9c1xgkQmtqrqjE9NMput5HATIXmSlUJtbkurLGh17kqatvbqqhzc0bSiZGUxmc4IBwzlZlbWaOFNfZTBw5kEukhS1WIZiuGrvXl60NzN9mP+cri5hyLTlY4U1LsU78N3WFoIxHQPTCsnRBQhb1YGjR2KRm66odU2Yg2d3ydePxgXB07Rnv8wrbxS7L27wjb8Vevxn8UjzJ941k5o1nNaPHP6FAxBpUQ2cM0i9mo9gcADAB6wuMJmSIkyw4JDokP/22Buzj76Laj+UdLjqqPtp/YcCL6hP38W+dRy9UXfr1cfZmywn9B+aL0Ouh6yY2BG4Yb8ZvVt/LvfNXmf+/pbHxP/0bxB+vvo/u0+/KHBWK8r6GN92/84PYPGx/5sq2PDhy48ePvvO9u2/RpnOZonm7Mt+Zv/2zkiyNfDny99+uv97H8m/vL4sbvH/vh0NjM3YxKqbJq2rbxkfHR8ceOnhgRzUee5L4wdWTqo2M7Z943vnt2z+wDs4/OfmZydX1r/YQi2ul2G6YpAPbHMrcDrINWjl/1rVURl+BrrJNmFmUvbKoa9IYOdphOzfQ6A7P/Jx+Q/F2nAAj2KdcAAMjJAdFssg8N0F7S7QDa8oHDv2JpARxIAkvVloE/pGXwOVPE2sK8qe4EM2DpfLCAFHolACAO6Q3pRnGoa+jUMnDmYwF78Lp2V0oKwLYbXe0pACBH1JmD1GNdKs9uGy0SyZ8HWzJiOAwWEwAACACCAFoVz3i60yq4dKeVsZadVsKi0zMaAW5goaN9R0+3U0cWhza4DdtVSN4DAIuxc5FlsZB/cX4kVD7LzAcAuF/Y0L5x5dbroY4aPRqdv5O1mfLrpN0h7DykiZzyQp6P0AjOPr+U7HbICSdd1eaRPl9R0N4JLy+VtvK6vK0Ix3EWbrAVLF1Zuqp0PU3S3JpPC2lZraL1gJ/bWt/HNKn+/0cf5AgpDtc75ZpbHvvkG1uHvSzssq4maMrry2hlhpaYqg+W6fCQDDcADgAaoD42HloW5nPT/5rzc2D2T8FsWphj9t7mn8NkMhkMyexmfuxazVjp/85n58qhBmdZcI4gieZFm+c1sNUpMVP0zUn3vDFD/+TTpOvWo9cHH2XI1OeTz/oN+CJLtnl67jlyTVGYNoMCeQE6UO0NVG605vpiQMljy1XcHPeqDryXLrum5pZuUtZt/KKUpcXxwXSVnjmrIl1KQfZvOJDmlEMKlGicxqgpKt7+XnfJd9j70RoXuHhHE47YZL2qSZo9Ktd/xjP7VTjprCu5k2neq3yUq+E/XOHgtdSAlBm94vqp5LwmakIstt0f0uXbp9wRpzz3PjK75CpS45hzrZDgKO4Bfb8uLqMjw0ODA/19vT3diXisq7MjGmkPh4IBv8/raXO3upwOu81qMZuMBr1Oq1GrlAp5i0wiFgkFfB6Xw2YxK0GS9OqYu6Ns+V7MdwfHdraLluezf3ynuktuxbDVMOoIekvsyrbU94y13rBVChBcn8ZjX5MI17u9YqkfFovpVnZ4ZasRqrVO2jsn233pij/4UlznQw4Up2H0uHR0P9nbRdF3DIL+DKnLBBjTbD6Bwf3l2iS8a27GXwoYdZ7RdGxZBt6q5EDQsRvuXrYK6pVyARRTXgxNWZUccEZS1QhkfegX3cuBGMfVdjIcjF4+LihAJkSwmLuboh051tm8preF/Ybp2nkyeZ/bbiW13ajNtxNBZ4rw3XjS5bvJRvJiGNR/NyVfCSkOd3zalOwukxuGzinQ8JTLvWKwHNzOnY/eZD2LNIqAmn5JMsIeTnbkEJS6xQXlajwQUgE9RhHqdGlq2yJOvvifIyCEfNkc8rgGCRrmvm4dM/WMntUnaAGFCYP0V3b//8c1gB//s7d1kka3K38xbXkHTebkbW9oirBoyna9BPsyUoUnl7xtugY7TzfyLYAFGF4ch7lz+CHz7TrRiGO9tqUAYpVgNXjDz8TQRFXoHUk7GYz1b9/fW4VxPWESHhj2aflyvV5j1HFqTKngVMuwK3B1BRfA4KUed0KKIgS/9ZJW6O0Tq6bbKaeo6miPGZjo+LDy8bQNTii4PFWcaiFZQe5Fgzvwozsxx58uTkcsYo8CV8L8iGuuqfVYE+4SQW/KyAx9hExqxb9HKKI7JgnotNa3yp1tqhOMuHtp/spW0htu81A6BPtJsy6amlCxFxc73LOGrUZdP+q653Oomvxc+3RwWLVn7DSrtW6O1B/M34JgAkxyGTRNnsbdRjSY55e/I61/S12FXjQy7Y0WehBX7s23yzMp2ibxSFBDVl7k3vCzfZbQDNwNgD0uuu84cvTQFXICXi6O3aJY1wGu+w6cVAy7GPG2WOp7LQlgDCn2M9HJUZHuMvNxXXz8JYYOO9uVaH6OHnPedE6pAMEXGQ0UMd7L4qLBZe+SrBWRNknlYr7CZ5aZLpAFbRalNIndkbFMz1HocjNJ11gPoQ5n1eBsdvaypMvjqmPJOtHZOCUWxPI0IB2j4N86dMm4b02mZomGUbvQ0WY261PabKTWxaiTqwbaTN3AnpLJwoDtDmH2k4MPEe9V8DJgUgBhlkVZjpznzvQ8gqlgqaUflguuO44DyHp5SgLyOnMZBQfcaqZm6w0nAkoorpoJmud7SjRqECrBweQ5XXqfd1TnjqBSFVN+b1+316apog69az+aHZRglojvrwJPaLnM8rPjLgpXXKpMc4gkQ9dc4l5HfTMBJgRjSVzbIaa60SnSqksmpK/iRCPKNxYqINpfCmtEB9bktstBmnI9kd8sZfVMCBE9lvGHiE2LG/VFoa51jAbEJY5/1YF9TEQbW540T/Y4PObyEMO7IQEcRehRTMT0wlNJ8GDLe0BIgIYv6cinBpPbrmVuFQQmNqF41ykIORhrVxeQGOvlHVUgRh4jvrskQyjY9RzXFhlxXKYlpuIleOXcdgHHFmKJmDGDP1qlsDtyhpzP9HN5UwheJOpt9sfdml74h7I8yXY6VCltHwmTTpO6ZT6CmllGBxhlrezhomeQvivASpBS1Fd6lULmGPKgVj4s4K8E6ESXvok7OxHaOa7sjBqqk0GW8Hso9PvmmZsCOBJes6AM47poWnO3a5ozJZPhREFn7M7wPWfEuCCBpOaeTWZtII0Tl1MPimSZXYsLLnCWn8l1KWROYcRx/aNxCUOjS6BmNpnxN1RehrhmxjirZYgo2HSgWddWSpVTFloM1Fy/8Qw8vgxbuJCARj0eBTBWtOuEsO9gVyTx/PeW5+OGrrzub912WmoTyw1TYVnK7b7YIjVTAhzsnU1Ei9zMOOFoH0znpMPDdIiwJO+4lS4NUF+y503awY3MMTP09B5z5C9+Qrq/XZkIJwvwFFUw+AqcSp21vff12MQbbRUxCY1r5uM/6PQRgC7Gk1cKBQ2o4Ymbbx+4GM6CmI4zK/ekIxrZW3DjgaI9THkx/Hj6gqHJuBqww0WY/O4/5lxQcN1ZkL2dijHegoN7xkPldN6YImdj5xd3E7vyDkAV/+eUKZa0sidjVIfSmIkPX3NjW/OucfWLv4fLJ0p6HCHiMgrq4bEkG5Ta3lgnV9SsoZp4z2cuqhWCle3p8BF2GuGKyhPFifmPxx8WDUIQLOrCyx5Yz21RwSu4AS+cZuyqlNWcZWe1NJYbeK1eEedymE1jsFQqp3LuQ1mWDsIvOEHZ4A6E+gRTx4I+FuSc6mJ/2x5tKP9CYJThPL+0UMzIUOVXVp/BkPK+zK0C+AvDZ71m8mWiz6fBfbmwSIJkD0Yl50ub6cn6pRxAgp9Dc2zk9vkosuUe85zew0NW13Y87XPQuQBLF/bN6jInw5Ecooo4mih7ppa1yJZNY3CdvRAHr4SHzKhQpGgEIOgk1ykVLGyrWRVIBjasUfwpsFwB3praOQTA5Qa0S2h6N0d3DT31BrRbGPrv9u0eZhy7qLhHWB39WN+eYcfxrRJ7hUOfcud7QzBMzNHHJ9V3K4hj33yElwLRNwDobguAdR6g/Rqo/hiQTjRWP56Ao0GdsMkhh2UmCWg4IO5dvMQ4nHcUpzjFKcbKsiaKwtyyLYrlsEwUS7fHsBwGD5WPpaNxGh79upAAqcYbi/N4dCYhloGiJbgBg6P/M71kURAcBkEiiihtAoBmm7xm/VsvjEfDIK8Z/7BTD0bZNBf5W6UrvqRWB4wg6Naur6x1OLxr/UTtQQQYkxv8XE1nLZb9JVD8GEEET1MrMuRc8Wul+QvyCGSRhvPsTdW9wGHG8prktC+VY0VMs1BAZd5+KUWKM8CxorfQVmTPRwndNCKGdRDYp9GlGMuOi9TOL8n1jlUX82t+EJ/4kCuLi5AMw9iqblKE/cRakR/T6vFNgQTjaLZddVTUtLdcDFOJwHiIW0Fso+nggUBGqVE/wFIhhVZ1a+iwedpOz7o9q2j1+dJMgiITFqkk2tZ5inIiFvYJxVGyITYloBvH9SSBiylWWJRIRG6KqqmNpgjDlP2AqWR7oAeNLEGHYlP6mQRMMvZyBelBd2dUiOrW9hVptCDVv9nOLCXPQqQyxDeE8ewrtWkaKdJE5pCSS0q8/iMWV8VBXv/+cfF6xAlaaNWHn9BvYcoTQtJuAQtZQvw+NGq/UfsFoIv77+kBOcj89tsadLFfelIfotrvjCXZnv+gGT2rX38Ng6Zp+MJtqXFP+i5BeSmLuRZ0p8nHCxhbgzwziRhcoVC0JpuX7CR4XG2lvpvy4DlBjwRR3dlkMTfOOtz1XJuu+fkBJaz0Hm5TvV+RVURga+HJhpA5uhBUSbjTZMsfb06HJSi63+fIcVr0uYdSbMxAZSMQjir2pL6GWfDaHo0Y/k8QIZVDTSoByMiVbKa2MEFrmmmVKL22XjXOd65Y55I1PAebMVyAmNG8lBRB2eZpcStGSwY0zp/P/AzkAInDGzx8GHHbR7ZXyk4mFKO99JY9pY+YYTOe0JO94YdUUvWbrQiP+3+V/F8jBPXDxw61KWbeELrRB+R7bKA3FWFjLXvUobyW14WG8/N2yxZA3iZH8ybGKb1bNvaqBEN6IwrVJj1Tyi5Verk8K7jl2CJYHiGGXpPw41D6gyLOwG/VS1N5xoeGukYRGsuJbFNLvUT40Wr3Jetgzq4aS6X5JMqKiDD+mbRC8sjVIM66t8sRdDEBegj/VwktttZwLaxAWmIw3VoTcnKOD4DntMPd76ShMhs1A9RwZJQmiLV0QFq0SSm9WyJZB5axjHD8QdZRgW+VqKWLce+JR6yga/s0MyemZ3B2Gudm/ekojTxuOttRZSTQXQBoBeRpA+Z3YQWbZ4JoFL0fPFbXYqbi9h5OEkcT7gGXdrwcnucyoWpzoA6vV9VpensSVmJHN67ZkO6ryo1nATUdHgdqpDCAEVyNtkMbWI1slnHDXsvVYQO7b78PUC6xd1kwavNutIA5pNl0vqybpkbpnTTNIW3otcQy8xVgNrIvFm5NI0+irp/FnI8msqTKBeYYyyTcHscyRgvbbW2m7KyZefkukIM54fK+6I4M3u8sHUOkDEslkVauL5lYeb/rRr6vLBlhY9Ag5uaWfCvKJ3N3RrNiUftH4xejkoKm6WwoskBku+i82X+iOrpXFK6XxcBYX4GLdIoeybUsjLQiMqrEQ1WTF5C47yKtMP1NJ+gSVhLHtVRaHCkqhXwco5iDaWRgpcsQw7A1YGDvddj0X8YErKcw0TtjuZwe55Olqg/pgwrwJCQZVQfjYSUzHJcZUXq8djiMpd1TrcpqkzxWmhzrI/frr69XxuoJ5J3n+n0nLJOQOkltIlGW8yqG9KAr1Eyuqq04mJmg2SKTRt5hNnaQsPNizQKeRk0Lbu3Urpa2WmCmaxpiwoESGRXO8hvra04N5SrPGDbIP6RQp1QyExpeDnSCmtXTcRAs1GbWCd50jKlnKCsLgODtPCyhFl+j21jiGSCmMTO81NY1q974jwyaTYZhTkZgrA6OQDBAURk5lTbdBZ82s4lrycFMoyBtZern3OcDmgyPJAsPS4oXEd7myAlmGwzjoEySCgWivbYti9pY24j2h7rCcFWkiQryid75C+F0+T1CnLUjrfR008/J9cyd5IRrLFnrAyKYEwpp+2GYOj8T1H/sZ2kP2gifZJWgyJytscV4dLPAaFJRbGyC3Nj0wEa5FrgX2krPExM0JmRo5AH8l9qd7U5fpQqPvcQ0OkFqblquXKdnPpm+vA/50fENhqeqhh65bcXa21RPeKpJ6SH1Ttdi+sazDEyhLwr0aJt/EFU783pJj9qnWlQn58PncC73MSu0NPsqAZiK7BEFH1DpoT0LtTApr5MdxR4Wq5hrbT8SV1/05sRnlWyR2O7kAWqJLGiJgoZpRoX5B/d+snH0MAdmFU8u9nAyDkQ7Rr3L/34y6fChQdkL3P44hkE+zG/guA/1Oob8xP16uHzr/mSFoZC9MxeQ8HFRW7MpdwInmZlS0I7FBMgZt327/F1qO6jIc4U75E7g0Y3oBXlslHLRH0EuvECkVwFHMIVMSDneSir53TanfiXblUsnCD039uPHsfdjjLYSy6l18tb8jxKSjeoimX34gwbZJMXrMWhXRa7+4XHPYwhjTGxXX0Cnm+RdlFl6CQ0ohb7LgjoYohFzwCwO9xSi/l2XoKjnhHSnHMwEOihAXr6N7RNavOp5gXk6KAwxs61mlc0n3fjyNVwC7x2/fZjGuTzrzL6t7F4rsDlw7xG4cxBPAyrO9OJwyqAwr6vNdPoO6LZTb3ghk7SijRibvc0xF6o6nWoaIX8tuCRFNjftPgNFdtWTDff92lEG/xzxlm9FaCXuztTfjOf1l11xHPjygzrhgG1tMkDS28AmyNO9CRnc24DZDa/ZjWnwZmc6gLEdNr9u+tCurnV8c17myvKezDvLaYSpL+0C63DGRAY3kjmeWVYNPVy3ry6Nad40x9ERmjDGuMhZ0g294rccj8ZbL9wwDjqONPk68M+HrtJA/mapFtbU4mlEuxhktDHB95b3VV7y6Rc7+sPL72t3y4/Dh12i53quyZE+CdmyvU6TwFFaG9bNBghkrNFhic4wJMlFmUDCHA3Dev1IUxyfFyBKkUY1NDBQJRKEoLZUygQXIzberOzYslCazZVSB0kNS9jaEWFCCqZWK2SSBLZasvl+IKw95KR8nrzKCo5VfnTwJ7qCT9CaWvAiTIUKA68xCpwFNdn4z+uPcZWRvdSd3JDm8DGJr+1gi2xcxqzzqbRnwY9Y9RRjFmcbixjpYZpaFvjdk9y7XSeskPPCfW+P7R/jij8W+6Y/aA2uduqEE+Nd5Vu/g405/n6g3ps2PGfjxwtN+zecPMWEQrue65y3fUusfTn9ZXek7fvOo+ehfibUiu5PM5vTGkQbP7nZZSalxf9cx6L9JyLqgJ4o14/RRR408CmxwWxK6/v/njJcjZiD+9KUyQ36Kh88idLcTo/rroIu5+fQaFvO9Z0TnSpfLc+o/2ROq31DSnOx/2O+YZupIZm25Ur5D19yamEtnozD4cm1iPPUivMb63KXIX+HXwVdB99AvsT//FLz3zpKTlHdLburAjrRXNXDKW1pyH/aduBUc6t8stKvEu6tur86XmjZNlvTSqUoihuodiS9texs/PQPyDm4h8JQgDF0O5ruKzmXDZ+7CvBLje+3j57MeG0zDZlMrg5/mqU0m8agnkY2vj3IkJj7uM3DytV425v3tx8av2VynYuQqwe4/ZbuxPCJgvwwesjcQyYFWC3YoL9RIYw2Uf38Vb9/5Y22kaE7Ou+VMSwq4W47Te9YqPQvTKxQXN7qAYqDPp/wnsRajScwvQ7WPvMqnxpMkOTyGJ7aodXy2sdxhmpG5k/JIm/lrT/tP1x27tmKv9wFeEMjwBsklsszEPaDn48LayaisQqx/Qg90Eu45G/FnQ8OPMeKqA4jYzb+vg325U0Slr8dJ6Ta4Qx5eRefAYlwlW1Ipt5QtwP9t4uC+YyZO4bwAuqO45EZPiuy29BYshVJV5V1cSigTorB0kAXDHFbOp9hmoEt6/gLIdskQuydl9jHkGc0zsZLodGTPH/0vCn8bOMdh/IgsSL5+9bdWlT7sguywr4FOZ6fk8wm/ykvM3b1PePg4PvGrqvDSuqeWNspvGPkfUfnpVW/hJHoZsjkMQYtIWmhRhMkhSJOokb3/9u97vQNc7z7ptl72t3ru3BDn+i+ofdduNrPIfq9ZA7H09TkF/Ca/F5i7RIvX74lyIPZi6+p2/ZXvGz/wgo7IHRaMTiyDUXXlsU5FFAXxWzB0UgeZEsLqg2vkpEXw4OHhDrPvMw2gXxO7WpcCY6fEvi7z1t9J9Hv+2nBoh/E9w+c+LvpfHbh3SMX826jS+JhNPjBhcLeLe3oktg24rF3n6U+W19y5KuSXv91592cVzDmWARj+uie5q6cdvwPaTy3+MA1IATHeHYS+XO+tNZEZyCtBgwT76xqVgCM1ZSA59lVebj3olZ/JqJh7wsO/sdi1HtjBN6NaeiG13Q3YLoLPf3/SNXWXjUeSOo8DAeSrM3vXy9CVc2gqp5hZ2kDJflNehLZV7Y3VbZu1uRfpuuHhh8zJnoe8E9Ndb5O/y9tmj4369+O1vmxd5l9qstVtyBBBuy9Gn3y39JrC71fE0rWnaUfiyiZ+fmteiDYf/Bfspb5+BMciLz41Hm3eCt4ZChsx38/w1gzGRTWNgk7rpbZqus5XhItvH0xzZLmwl6QTrjMERTJEyfFWixv6mvJWCOW70cvVcAYtcWQ2julK8u9BbnLxZjaNX1/lj5c/nz7Amqh6vypYMrBYFkcS3dxxE22BMJUBHDRDYA3vAuch8UMzdMOjXbPUa1ns+DxZc9hlq6vmdYuljRG4s2W7JSD20ddadPJ/EOGsei1x6YqSv+7r/J2/vnRj7vP971nnFsW/7Ni/wHxP8tPPzaOHn8S7/k4feraFjtv74QoaN7LsYzWXW+faYO9qN29W2yOTwu407loZMphy8PvDrh+OaLuJtwMj5xgeNgL7KmfDWcuav9bG7Wg/e+J0382iHOXAd5wHeANWnTT/HzqPBbJDkjZhUJHnv9nsPZfC5Jtx5N9/tqiphZ2Lfw2ufD7QqHgg4eqJyOWd9jHhj/XHb2oAo4Fj/GfaiMf6Xaf/DLU83pm343NQn7/bmHAPsMx7kTciod78He840mW3tlbykJCmJLDhcxU0nzO/I4gfy9JcO0dWnnDRf7YuMgbp9e/ytiz5c47S0dG3tVGXpy6oaNFOrFCfieZ0ZdduQ/RWndCZgK9/bR8DbTm24btd0LJyifGIsqr8/Mfzq+xS0arptuXX9zx4NiO28degvwhD1SuLB9PubQd96qYUTjFF3CF4rlF+Qb8gdW6V7mOWOtw5ImPrdMtSVIPnH9kHO6X4uEVeeqSoresOXRB6x/+OB68Il3zMlVn9a/ZR/cy9Jo9DMco9rUBwyD2nmtsD0NjmGbYxtD3sm/gh+eHgxMscq+URx6cEAdVhvJ9V+P4k2DkXv+uyJ0nS/MaySeD5f0dbeAfPi71tR8bD+jTDIP6pZw29qrJU1fBxrmGr5e+tkZvTtrES/tCrsKWOymHI1072Yw4r4XSvYvuLwG46IbMPHMPmBzbXEbIDKCLhfzmkUbHjjbQ88K4nTIolzOmBtwrhMDSN4mOe6FXpYye3Wyvc5hIbqUjoFxpcx9GnR8vvSRvd+NG5GrW1LD9WkPYfhO74DcseV/lNbptjD4w0z6BZTtBMMwywBuuSOwDC/aFXNLx5Vc/Ojr90R+ewtnfPOMfLX30ykch2cw+ls1++jKUzYSyez7d/uD+E72V5bncvy1rzt6v/3Su5PhyXsULWdn/3BUynt0OmdgsX063fkN/c3xb7rL4yRNe9pMb4meW8zLnljNn/mm/OJF1GyIZL8yyL+vhevhXbz5++b53Kc6Be/Lo/b3Hmul3Gro+jn38ia51D/gGOC1tHmtxfv7jecLSKO5Oecce3Aq4U7qwtAACX+lLvgI4OVeTncD6S7yxFOg6+DJUbACO/5CMacM7k6/a/4ONV9j+8RvwQfWjwO5Hr8N57wWrHm07kJxLpmXuAzbzkRTIRuTyKpyMMtjRPKarFi+Ar+IJwYBuocESvSxyLHb905Hpqsm48QXfDVqb0t8siufL6mq4KDRcpkPS5f0svhMsVLUS7Q7driaVb0mu2aNR0oZ6VZfg/qq0u/AdwC23vl/fKIXmRrH32mYOSezOg8zWYdL1TVHdpg7S9daRA0yHY17onsa+sbonV7JjkuJpI4mYjlqWGOY48aetDHZfTKLluZuobaDdBcRBqh/DMvCX1xqjS6/YwrHL8ugc/qa32ou/GZ27LI/1Xnd4ltf6l9dSyW0+MlceolIDRWOsalbhTqo/RC1ABz4AuOU1wIEz32fkJpreCEwfFpodSaZ7hHh9U4duY5R03T18gOk0HpYEZprurY7nSsC7GW1tTTxdVMDqzeb+6YKFgyl21DL5HhLDA54sEGQHr/AHJhivhKqHBO8MT53maNtPidom0a+GZJX7/empLNSoV2lsbq3nOavmLNWC6hGpPdrIt4yKUFS/qrzNeJgAenb1uUjL4hGpD0xe/z1rnzdtO6EFUaOmfhuc5E7m1i/hT5VNhV9/Z/kobl/pHimSYfLSJLPNHFUvhdlnID3G5ybwb/im54VWWZh5F/8M/t7VJH3bDgEzUZd0gl5VmOMAgMAqPdJpz5r4awBf80vhiUW+RdxbrdHXzrbdufaavM5hRDAZgUaxHTaQl2vD46/htxTPPdiuwJOxoVxb8ItW0s4E01hA3eAAZsv+mhXpLqJgUzAfD8EsUUhk50QLw7X3vf7I3cfj6zPTb7d8JbKmzrr2pxqX/nNKkutI8FvdzSoyq/UafrnwL3IM8GFf8k4c43v4vdV6LXrK8f7qPTnO7kQwpd5Gir1o4KWiOARwccc8vUe4TuUIXGeonXG8du11Lc7mqGQR9VXNbLC+JMcqk63iz5f8RU55gTYjL0K71zu7Ig2Grkj7Zmsvolhe65u9LA2FVmxQvDqRJ4FM8r1hkoAfIvG80ElJnhgKaV+o2W3OtrmOjByrG3iGfQ346/ofsltE0i3O07z95JVNwcAulOuekUPbtU037Ltkkunxkvh8ajaDFevgBh4S03v+QAvQ5kWAs7e+Ww/w1y7ZF3ITjW/4pxeEDsdBpmekWQ+M5uue4cPPsy1IfGzVYZrzekjw/JiIM8BZOjlSF/IPPm8z01cyVZBj3bNnFX9Z8Qxw1jawnWyuoLGgFg3RAj0rGerhqnJwBcg6UGUp3Y1z56iz9qBtHIyVRsYFXcqZOu3AC1pzUr8Kr2+xYTkCA6KaVVksVJhLeBlDO87KZF1KFj7ia0kijFN37PZnNddSeSJVuLyR76jAMPIg5fhJzuSddasO2DwJKK/yJvCUgrkZRQ9iqD2ebBTy3+Qm/IWCz/gpHtgV6/Cz3HbRAFxvRB3wXFt9iQM2jDBzodGdmqaDuQ9PZA3OXM9vwSe2XHbNzk7mPJvIH8LnLbySaY3F8pYzL+3s2JiDT7+fkbHSnb2EJz/pTi/rvlrZflk9PjO1rfidaBZ6Iu9ceYZG/rLz950fmXM9ZY/+Nff6i7K9rcyUu/0lf9b9N9q0yr/63lrHk7nrudtom+7Dk4HS9c1KcBM/l7ph7WHhDLv25hAt/xtRAQGZTGYna60g2K0XgmOw8MWo9MCTA0UVI0RoMFqufjn+rk189JxxMha09HrfbSVfOTi+8R9lKDQKPbiTfKX1HU5Nqw7Pi02eM4qP2t+RQic0joIc+TLgXCkBnCusFMab0OAY5OB485XWd9k1bl0jL7j7vEa8YHtXCtmlcazZL4WGhPkaB3RC+o5dPH9eszsQsPZ532ltvnJwZyEjvGE/PIAYVTiieJZyiCGgIeRoFJqFhKqbF1OEiGG5NdrAUo1x2GSzFFlXz8dUGwsPu4Bvfnl4hgDWD4O1//vaXPUtFHwNvGlJAXoU5FB31+mOpZdfauVV7SAhrg3zLM/7i/OLrDVx8wB67NHO5+srK6UZbbDc7vHwzXvLegdfMJvPtb/aQrW3wUlUN5mUKMEaDZTj4USSqVIlmbmCfNxgJB/bg8EYNOXYWcOw7snR048N8bhwx05rnwwPB8fOPDaCDf7RM6Mw/8+Fd95OH4OcbQ4xhNNGX3/LlaIokD7iNQgLeQp5m0e4+FU3rbu+rixBSzg/2faXbe8VZrfEM1Nb8rJ33I0Volscp9e9Sofzt6yqr574++rYlmurorIwmqjF15YyJfidDfZiz44z9KiBOKSX0Ud6jZfQgQOfWCOvTKwKmD2jXGvrcCPZiEcVs3jYMZSryF/8PLPDQBrW80kd7dKlmqz/dYW3odFqxy9WtqBxHO3e4Ss+y4joiIN6JX20V38R6Tet1uyzqo53XU0RETyW5mgRwTSCZRqbakvoItwoxrbDs+N5ZoexeUTPJUT9snl48Tq5FqPPfq6yY5elN32t2Dt/8fAB90Fzy/Php/2xCwX3gUuH5vdaDXIdVU2Bt/Pa+WBDI6pOL/9/37D222NnlcoeuWfr1YdHtE+OnnmkdHZGFho+4t166y7Mz8wA8zffAO/IXr95HxZ0YOHWW/+lFARBG1pqzvqqGcL6+sXNdL5rnKBX9BFZXTp83SblJ8fzuBV+wDfXJATJwDU3yDUK6P6CTP/vJJoFRu/sizm5XMc+THA74UnJ0eaj6D94iauGLPTFqY9Tet/cwy68XYEqEBbQx97fLc61TmEFAUVDndxIpGelelI3jJHF2epDgQFbA2Q9dSRj+sAa47Z6DpV+kVOrWBjUt8cnj0ympdXfYDEiYSaDEWTSIiwWrT1IRzcskvY4E8vnNDSwOVgcm5f/guHztjbLlMnZZOWhD05+UDyk3U/bn1V9qbBP4QGlv25HsW1D/o+wkMlrXGCzIsNMg6a3kebiYBBauXbp3HR2xpKjpe4/gBb/D8OFW1czT+dZ+jFi5SCKY+VgyKpYvcoPEfptvbVENZkjco5jlLwxpNwpmYeLmqhMNrGu2sLcVgdbf/n1DaMvNkE2olvwq/iTmf8Cz9NRqPIV+e5hgYEfhba0FNLKwe3Okv4mhqgAoQ41NFsLRq/NXAX460sFlGtpyiOfdAbuj44E7n+y40hm+kxHbeNPUezc5llIS2ZePmDgKWuhfF5DYAdvnRvBzX6zrCSXmRXOLP7bsuph9WNcvzm8cf1lZYlTtpDUtLoxJ11wNrp0Yb/aP6BWyaMvSIhQoxhLbBJicwVR0lRhFCJE+Yy9J380UIyyrUTqYZ6s1srgoK1WFJtgryFrmAFzXrqqbB+4ojad7tSyD/qHVlFQfrryhhfm98Ng1rDY/KbjhbX2wifY3OWOtLLF89+fN1A6k58lU46rpz5suCbKqFJfMpq8601+mqx79+2tMeSlwmh8PW17Ztvbm3vfLHn4i8cJzhTpEafz2w+qe3FeIu6JOs80fDzoP0D3ZeJU1HYG8/HLnxtcJaco/UZlHMb7mFtLa9lp+oBJ2QVj+yN5GyO/YJGNzzzIDy186PW/Eo+JnVu40Ly/2TMkbIrTmU3dQyJP/o4cukp1VeXDLTl9U1iV9xTLPNsuhrrrYGkEaCxD4RS51IygIGSZe54daOjIsYCnqw5ChjBMoam2RlTX6ID4T9SIpKlKixFXqRppdSo5HMswE9F9Bb9cKWAjHcYGBteLJsjrX8hkEiMB5eFaU3RZbjnd99fxw7ueUUYaCKp6JIyvgTEbApUGMp6VbpxabLdeofaGFkSSvRYRLhZoOQnzfbEn/qKodw/lThTWQb+dmDoptACeJaq/B3cpEC2fdIP4dd1+voHRSmC3QibEMAlkl8idICg7ptmZ5FGxCX8Agd36t5vOR05Bco+9/mePy3VLnP5m98wZkaP1HLdnmL7saKde6xw5yjIHL7tbT2jpQImfwyS3VbA5wTqBrnJQRoJGuSZPI4tib2J7IHsVtmXL+nOXv47pivK9bGu+p4B6P+Pqd1dHGpFHcLjzSEM+eI1Zs/PVR7KJ7atVEXKczvGUHkVu1ftq7OULcv4OgOuQDVeFC/pjcoRvLI1Mrq2G4bWkMLcFj1/Fb65i3BHMbaauX/DcNMsTycdwJj9qyYvyoo+bA40vF6o/j8ibFrzWzSgJEm8pZhZEHw8hh0Qf7114UyHKrfzdpoGdApkbuCzq3UN/kx8493bf1AmhBggcZ3r6MOfdsYL9pu0cTCLAVxNtBE5rxVc8vjtI4PlmSUXs7q2r89VSaF6Eci8xe0EaDF+S5ixZdR5Z8S6CdxFs01tFo2yS7fO7ArFztsxpK5vk+AK+v1nZjKWTFRsfuK7OBPiHpkR2UMPrW2Y+0tel17wDVhLTwX8HZkzsYMmp2VPJTX/NctbPkXic3oQlauNdiiqtM9VPG7YoYWQmGk2mI2rdjwczHQb5IbGR0+g1EYhoSlH9rurqqdrEMxycz0xqqiEXzX5aWd1Irqg4AWzmhRTIxqryTvTHDh76eBh4uvT/n2/PPfzBC6XrWrmBAn4dlF7NN9L3Z7z2t36XSGPfKkv+lEzTDf5ysj4gzXldTl0XsXJIEPO42HBK3bgkkZYzAnSbgjhvKxtBQa4aTCOsOClj6bUTEnfV307KKycEfX7PbWLWzijOfLV5BDePv6lSePwGo9evqJJ7fEaD15dWmr2ydvo/oCAbjI6t3bsHOrQlS5108mlPtKldjxcdL3/1/5ank3TUH2Ou3kxQ9pHurq2kjjvsqT3CD6cFewUfTU3fZnc2t2e8nb241Z+FF/ehNc7aIx6RB3lE6+xDry/L6/7LHz+IxF9SJMQn+yfGx+sndo5rCgJTuyd3BwoE+ZLZe9p7M5Jy0qWyJC2ZNtSYjBtPX1DG2DtL2QXFh97vBLM7XG7Pp/pJyuTz+FV84ax60YrFJWkUNpS5r5CVLh82ZO7PwlBUCJiaWrD2OeAdjXJHievxk9zJwjk4+722ZRL/AL+ajBuKS3DeJOjQjS4w63RBGLA/kvITS5iaKu0A4da7bn85xol+9obd7nFaublP2ndi31zvciJl171tX1TgpuqfEn7Xl69rC+7Rz7xxpueFtac84D64vxDO9I4PxjOK/5I7tK6zbP7diRB7dpCtUg+xObOhJwxhkJjfcOJ3UMs9GOweebSrJv/xbr1aLN+84Y3RxZNbwYs1A73r7F1rE2PfvIPHf8idz8371ZoAIfd8MajfdqaCm4uQdxLJYQmrOdbPtXEH62X2VNYhKq8WzyFJiCSBgIONZ5WgQdsGN1mGcdSIph0H4VEg1dUPQZUkJpdewwDPFC5U41VuIlseYGA7uAJmbICpMYzxubtMWBfuaCB4nJBdbc3V6K+d0M/c6d+80M7j24ZRLS1CCG08Ot88jJHLT3aOdQhbhvypqvrjjLLSzJ+qq34qGesnMXVxlESSQJ10Eotp9sVikLDM82LQWxwI9m9I99vq7Xdbv897ryPdFkc3tkn3YstZ9yurXwfTqyp/fzgLTimhbfhFQlDYsbSWMBUfFQqYPQN8jX6Qz5iyo1vRi22+Y7jg1uz8yJw0D1kt4SDrGsiQOVjpn6Erc5BVUi6qDk6DUMqrS7K2Uga+Orvy1Q4iZtlVDmG/WP5M/ifJbMkP8ZWve5LdybJNT8SDW7ZYb+U/w1HrAsJ+LoPp6X8YaHo4I64ZRMhuuc9tCfdqLQcZ0T8AGESjXjcxDpqr0wlWg13i2H+m68fiPbolUbc61OuyEhzWz4zXpdzrf0cdc504X1461TLIyvSFreNPV531KUudr7agfo5NqaK6fwUfeiVqVoJUTX4HvbWr9dVmNiSSRowH09j4AaIaDTB9duoXtdj52IXYxdilWGOkqR+d5n9sktoA8nvk9ZDfq/o2InwYbAdGAM3gndo4XQ/cklcG7nXn/fu1xu3yK02UUvsSEmrUOLUj90c9atrnbVJi4JaMD9yr+LiVWqOzBnqPlwdu4Thw75BvQ+srx3doKxOTtNPnpWk0O35NDTiIBulT3NGvTFGJLiypOk60vSXXAoatWF9phO6VfmccMeeHtxcAIZzZcTQxuDNe238LWr7hwZa9fcZw6GMzyOYXW4l+YEtSs/OKuGbEnphfSN7P/o4Wt2zaGnxjNKhG/GDShcnLr2Z4Vzy0cBg0nDfFoQXXtgJQzhgGtFkMFBrDq0LdhH1MqEMhEhZWnk/j4F9LFH2A+m7WiHeHW+YyP/FSGKz3tjCOrYV49ZSp7VX+BobB64A5xv6SRi66aE5xt4sYRUkC8Gu/q3FT6vdfCnrUxVFGJhJKOxJX5Q2vMyvxMUjTd/NTUi3X40Yfbr13qeFE3Lp3xs2NL5YaxO2Ae+9twsGWIPn9BJwV9FhbTZvWeIDJQnEORrOlHXfybGkLKJUlbTg+IfHFBDStfLqGHQKlQlAqS1pjwgKG6W3lfnsz92ji7mK4oCypSyINSP54pb3SuhqLgfBB2LRTAHULTzWDorKkC+MXgEJz8V+BxSDMXGK/cotBprn7FkgTPnfJ+By1eLqUuQiAv7n3e+KKGtlW+9OLAdSgnmlksKC5HrQXJC5V1hN3Zn4cSBQDkmZksJ31jn1PrHu7TxnQZHPj8Tk1aVIy33gFnQUWu67Ni4cTWnX3idQxGIkeSihLW7/YAL+Uj1n769iTIQM1m/gUFoqXZgsjDVtsObDba+5cFEF7Kb47VEYgzqo1R1zSyN0agEOnkr8z+oxCzG4zZ98MGE1DTc/0ze2Df+Ha73fWCV3ssO82nyyUpe0DdkgQqG6L/avFIXzSY0CWGBdjkG8fk5kEgIulmcAHTLfFVSzv/GH92OqZYySrG4Pp8g5F8OiXKK1L6kXLVNQddcV8QHtOPynE6Gfo+lf/j715RZ5ej3f1H6xodaV5UvFbE5fsCaB4jLSHngotu0ttv8SxlJeWOx1f9T+ikfUT/SK3Na2jwfrgWd2/TJcSffLuITdxP2PDvfNprWNuCYCOhlcN0PlGovLYU/lTkRXdwsMukgDaFrMTegyGp2n86RTZvtSTD3urfwFxwkxFXxpF59ETKjntY+cQH2V6Ik2XrpzTwq8MbWWGgW1D7myGC3qMknQKFHwBrX526jpN4wPiY7OjNdyMOjAB3tgHvTY0x0tY6vGvLQgH+rM17PMuYxmg6/v/lWJhB8ZHjO5GHd2P67cVAvzHfVA8N6M5TIB0Odnb5Mbru9ZwSImXALzM4FS9/a7cMUfJUUMY6rycemRGjHP9V/afHPkgYrPZVtHYfnOZvRknWcEE6RuIz8axr+lQ+jfNjZK21JYJgmfQvzgo6pw+QmIs/L2vElUBjItmquAhTX9MKbBtvNAlc6r48dNW3yngDuh/MGJu0b62eCrGI3XVl7dSM6Rym3IxPNO6ieMrM04/h+TH6Q83S5Yj1ukN1sQWBlqQD73m8akMrOWEs6cJ9CeHdzd4GWkPItkHXcyjf/sjrQboB1Oao8vx/WdflrWc2Cv6bbcWq09rdWuxDLcgZC7DnzKwliN+b8Bajgw3V3jNUBlYy2vzvQFCOHuuO9bkZaQ9+hv6oMTyvr11DHoytIP6z+7LKvPNElqRsulnZGqDfT159Oo4OhutC935i343R1m4/AL/eYKxwx6ac1bBUi69lN56T9Ji5XvcTFXoaZ+8hdYZNpPE6gzP/XEKhKb6XbR72nZlFiKeMJLvZweMbx1L2ud+HkPx07MX0wsIqI/x0Lv19OXkKT+bCl0s2mTD5KKnRSnb5YjKFCu2nKhOsbnYR6LV/z9b0gP4R3sPidFppSe7Jpsr93iGiHncz0hUXDvJLaIFizmXbeuZHeqJTOIDUIBR/3jY49O5FbwGTDOS7yX1CqQkTUG3FvgTU4pr6UM2xKlIIJ15VsvK7NmjjvK6WBufn8vjJCANBnYYCjXt3imjGFLE2F0JeWwJxl1PX56VvccOtniFOe0LtiSkQrbEfNsPlzqPKi4ikC2gdDaP+xBeW9/bDrsUCT4m7wL02H3GlCXAu2yJRfH6StZIhwSNUmks9Qq2JO3MpVGYhfwlau6IpYDJeBCe0OqcNc/evlVmQBhosks/kkEpBREOQs1aihgwfnbsfuZ5rj7JgwGvYWuLIcXfU+5GcVkE0D9BFOPu8WqS2BIMx0b1AZ5B2/tLLRsjRNrGwWsln0ImQAI54qq11G8HVj5o+hKZHWg26XqrVhsIYLjr4oFw4Go9ai3X9RyzoAeckv37m0PHEbdvlEJfJcwUih4qq5uBK7davcqNdPgswu6eiGwExEhHZAnwEabONUQpmXI4SJM0P3zUkQKZ0dCHSA3i0lLPCEWRb3DtA0gBepRaSvrklSr8f/BBf9dd/f5NdwzG9D864lIYuQncszLGJYmAEccUMQX9BeHC5RnbRMKu7W6LX13lVlYKcRarvW6pQByTb12qhTCMT27XTSEsgbb+nr4ZlEckxH6aZRso9KOvtBE2W++cZKmhxyAJS0VYNkGTESHnPQ9zlE/sNo/WelJZjGrCHnKbrERMJGYpKvjmxmUBxSLV84zY2EAU0exoxC5ivI4jIcXdrFMFV/bSgaUQfm1DJtU+CrEChaggaLBJjrRVN5JmE2EN/ar0CoHbrOlsGgkRVC+tI19UOVcXXn3BXQsEGJmyHeyu3VDjOPYeosAPow2gAuwg9f6+nFvJdkxO+1po1ewiex7WblaXY0HgKIIxBHsvFuLJZkNIDeQILVyQozrUTB6j605XZUHZJZcbOWrWKIfkMqMwfA1UBlkuYpsObnAqjm0SA8PwCpOSGjq1YJkM5jB1z5whD2Cc6O/TInDq/tM+MkZAIiZIMsIYnZqSADhTH//x8mHme3JpNIjb8WRSXJ0YodXWg9WZ0Tm3D14GSliw842+P/JTSnEAICx2DvxM7LcDWwlKgea7G6ikPq9Uw6/Ypos7j0SsMj0SUKoSgXa63BJ46wq+/QLcWKvLIRFcijlA4m9e9vl7Ov6+VDJPIngFkgU1XIrhOzmhQ2etTZ4lxByS5ftkcbDe9TMHkvWmPWmFIURdNMkt+SHhvCHiNy3UPOOx0ZtybGYWC0+Z8eLfTIjte4URVsXIGFIjKhdJZYSAKlDpfh9nrhFrdc1k6HHCRmpdSLcMD1nNVADIrMl3RW9QEQ80BUzbx2J3dovZe6OXmkzlFK4xGg9QqN2h0YEEGnWgQkPlnsop3KRpNhxSLePTsyhjJh2ROwiVcBBxuw1961yvhywOHooEtFnK9ukVu48bvHODAVevAYQhfJYGUWvFABryO13Jc/lrGtLQzMxsjTkqCYAxPh46iPsmXF6uCj0TjIqiWIpkpODuF/zKsO5htMZBQwpxkhBhbHkCf6aXWaAXhzGGRmtln+eyKeuOmlqqX9QOjNiiRwVPZ7l8INRqDSJlFZLjf6t7IuHqG6Ae3XUzGRfn44vH+jXINfBYC09qNqsPUlrKQ9i+UsvLj2KSjMdMqJLGZCB5IpNOmG+sbRDMojxDQsN/W8yfsxKFhSwePRHFL2dpUPIrIhFiNkyS7dtfMctOX63C2+l5obGD6JmfuCmnKnOWVfx/WyzB35N23trzzMqVaxpHp7PztEf/CZh7ixdLdC8pey0AndAcdLsNc3jW0htR3i/bXbPvfOXbHsM/wKQ12dfgGlWYL8OyQXD8t3l8xcZ0kI2iotqRVl5/p0KAwEFSamEuPBYB9y1M9Ioc0kYY2iwAy82+OTpg8JYTijfzKzQ91dQq5XUkSrhFIfY+pY6cO2czhjEc+qtzJZNu8QFhTwSsLzaE4HowQ/wuNktTbivFsEUZVOx/drPYvVDJhQhD1+PFPabLt19tJd7Tn9oy4GHzyWsPNxga4dyBA91yL6Qum+5IcVZNxx1zrsutxT7sihmK3MCfWe2KNwlb3NRxh7nbN3AOse7TNgBnBkE4NTdyc/VoOe9B55Qeg7LOR5DntjgejVqkQ/kwXG2poV4iN9CUMQwCJBVkrTs8ankyYQnAyX0VQjcvF7yfmLDPq0qM+djSrBDa4AKLhWsjaYX8TtIohggb+vqb6p2S5yb4AWkAQDzyIdc5pfqdXD5Nm9puKjg0s4smxT6DXcjEtl/WCP74HKcs0SbcToW3NDiNrDrPtdfNICOT+qiBKfAsthSJ6AazZLvpjTQDoXEOBiH8uGZ8u569Nmq3Wkp7lN5mRscu7a0ei7cKWZwxVY0HgUUK2Alowy2zMXUtabowme41A0ho0E98v93p5mtACic8RGqAi7nO2REXNq0NteWNTW8J82JIzxJNlREIS8uxmj30vCFxCWWpYR67RD2jIsB7tHtWaVJaM4/hbaAMvsFf0AbgAGdfghfWhmCbNvTS7WpDF6Adhmq+3tCG9mTyDJUuZGMQRUeON8JBd1sNrFXcLtIiZIeqFwmQy+3+VHdZcyIQK8C2dtsr1Gpng0gkxsv1kWW3pC/ixsiPxpTgOFK7P0cripwGMWRn2/Ijx/hp/JUvVKtTeYjK/S5sGsT7boPRWUnF1QI7aPRJF3H+xKe1Ehb1/JWwlTZO/rvCjgbg0l8qlLW5r5hixZe5eC0u8/2MNzIn2dfkFVGUpvoD4trsfMETBY2K7iIqA8F6XSZxxrHD/OFi9HAGuC+h6+EC4JMd3QjsFaeR3utuM70xuIbc6Ufygh/i+NJX/l34ISdOg1Ej2+PIs4TLykBw/Ai7xB32z0Ply8qX1V/074J6bL9mYjeekWD9SCanH+JMOhYUF/L1WJVIyvyt2k0K+3cxwDq/ugkL7OTyVKCzmkqHePAS8HNBqhnc+aDPOV14n4w5voshO+cVOMlwMeFF2u2u4X0jPf7qdyQHl/g6ScD/9d23rLsJd9bQD93Y4YNC+fXKffq1c3F036GwgeGks1L2jqGKFaZHCzL95T+L5Mka3U2w8/uKi+ZfpqCbLH5es6YsQu//C8TQMK8g3vA49E1WYn1JJvgwocS14bL7k29BIfbIedlrm7CEJC8w5lc05D2XpyJ1GoOG12WPhB6ocydFqyfmgkV3ahEAW3U66bMuxAOeLNLHb9utgd/hwIvbnHTuctZJiOsur8+6KteYKmubrvVLw4aeWS463FFs1cGEPbvj8gZKw84J7x70CFzxpexmtHx44b/HtkxepLR8y+JD/7De6vWEflbd3Zi7D7+wVG01wUJI2reGtyMbm2LDlDAYgbugKJkgn1wX7EnnW3mpfqx9jOW1vIpd+VRQVVlWhTgc+2OW/asZBVQDDP7CbfatM/lb2Q4CzMUalIkU+g3qCJ+B5aO3bccGrHhX0+GmK/H1+JuB44N9xJ3BH4cGaLeHvhg+jz42YhOHrIdYz2VsYbwevZ94NzbA+os/sApVprHPCaoFJwTdq1F1DD+Fs5xzbw2i3cu9KHYjzlTKEh8Tf1xnN3YjT+Ut4K3nZUoOS05L2tYv4Tfmi6krMr7aKNHXC3s3oeVFWRdl/Uqk2NzO3qAicF6a85CqJbcn90bV/7fObfO6dm4bEb/Z9uP23ry/qd3ckRV+qf59pyF2bpekNdtf3h2XO+SVhT/unt9TVtYVXSVRVqPqmTt+KTkp6d47n4zioWJVsbO4o3i0+J+gNEgKugdeB54p0ZU8LN1WOlr6pzKozFuOKteX95RfL3/KFqQcUguxQYaQ2A85A3kX8icoB/X9wUJj0GPQy9D70D9XWCuCFUsVL1T8tbJcebKqCP7PNEtVd9V77bAnZtnFV8RyscccjJ+oXZ8OenYhabMQDLnhtz5DM+LGZU1ERcc2USImtY/fwVG5+PJHjAEPMcbQYSfCGDAkEm2t1cvHo0yzfrudkJKWdcKEjJq94pb69OtNlilfiSaiomObKBGTWnd+i7v37Ew68/zr3sSo0WM3seSYyVOxJgKxuPjxR0srnYygwUqIERbJUqKhtVxuHz/VOu1wWLUWg6acMSWtZCOkmDhn7rxRxZFIBtMbU/xJZz5Y+NR6avbo2btv1XU20sH21dJgM10oUbGN8VizZs9TP5bWgGsh1QM7IAABAgBciWFKOWCk8u0EaBEpEZYCDhtACCI9XFt2FNWeJB+Co7tPNxlPHae6lT9WB0++Wq4PWwCg10u/D/n9zVp2e8rQ3HE/kJGpEtsMcJ3fiS7Hq3MDY6Mk4YebQFrSq2sZpvNpR1m3nz8Lw0BuXZRjE+8Oftp/F/7nKfFAmfpn0b9wS3zZAEwSomIh+gLC4CuYG3wIrh3qho9T0VzeHeKULu23f8ZtZzMyf/4gUu9RwpELHXLy5AkqbCzrTR+nnc4ro/ugcZH2HBmcZeSJn+HK9XivXq3ROUQ+VNmoFVbCSSiv2WIhN2r0qURRPWYH/lenJw63R46tR2JobFdsq638QrN5xlT9/VqgB6f3rsyX2LiwI9+p6+UOQ3EzCJPSzLFwOL/E7EVZUKHiAywYyBTylZyJZlqDjpyeGVKjxOzYvzHRPZ5QSFGuOcxeWWd1i8hrqktJdPL5l5j0et3K7ojB2ett8lRpc2SiumoZcNwvUtrEaB165jkwJEUTI9a4FQSxarGRKJkr1PyUSac7aVF4712xoRzZ0myebCUelHGFMBGhjYRCpcVqPSOCylFxwCXs8hxUWZpoohXQFI8WtTZF/2kaJzSbFOZluEd65j815XSVtiBesFQ9W/oqostqakAu3zIpcJAqPmAF4ZAPaJFFvB+IU36j0uLxd+v0YY5B8ntbtSVQSft1TicdqbTfsoAF0aOtIxqHiOA3uhKnqmbxg2y3o9VsJBSU540jq3MFNOj2kZ/l5dWcE+8wzO1sQoStGx/6fIk1Xu+YvPXXyCM+jH33VGZLkGcASGBUZzAg8O6iV6g4aCz4DX5XrL5qJXUNeCM1axX13erEz3fsZrDgnBXREg1rNO7tRapNZeOs2B0v9tAfplHODAE03l+vEUInlbTBR5KnXZKM91iML8PpPhZhh22MWDzOmSGExnQ8n8t3KTCkjUWnjcShowsYxpiyw5gJe0do33NYLJmxf1M56r2CoazxVPpFgVQmWklnUzlTqatxwSSXzlkP3eVpkaZ8QmZzOP7OQHolbhbQl9UPMkgyOfi2dxJWMe+FFa1d92kg6WkUJajs+LsvM+hqpawKQTAoZLKpaMJ5atTtiixrcz12FQNXCoLe/WJZD7g3GkmUTAENehHWu6HEAV0Hw+TYzePyB6dwHTf9rNcLXs6svP+MafVUehRQ8EVeOYAdXJi4bO5tb1WvOTixMKeuA9dS+q396szoWfnhomON6fQ1ZOFaCniyBDeq8RPrSk7o1gS93Ec16gLXEHK8AVybvvuGweh1niIuM5NkHYx/VYxubg5LiomdsFsa+4ueUvMmcYqUKmN+XiUWdFCn8qReS4RI8Nj/lRF7v7PAjRqZsZwzsoTrprWHiZGhQqPij0y+TqCRfB+dAFikvHR40MmxziEmijuugrHtJbfzFJUlJUAAgc1E6VTh5YOxV+DBH+Zv3NeAQR/J94PdT6L91lvVC0zm7lsHGxUotrU2epmlzYsMLD08EQM+a4zPLLt65gjByOeFUiydzBUYwz4QhAAwjhBJrb+8PwrdcyyN6KQPXtWCzHo0LV2vIoF9+4XkctaRHeV8DDBI8D+S2hSo11ewtNcuXL/WJxOn43KdjQM5SijQ/9z7vMFqdybWDpGDjeGBCYPIDdNGBL5qBnShN2yUxdjTxxUJRObpY9D3zkpZwGsvdzivn+Nd7O+/OmwBgPjIbYr3hwvFgjFfgxAKf1sdQZc3+aCeaXkMFHYV5BwjVQPXNaPn9j4+TlkU0vpMCuzGLj/9qqTyUvV5YUExH8URGnT4HP5JrQomHHWQyd6m2s7B6MmqWVqub5/loq/GZGbEmNsUoKVN47QMSbksY5Jjpm4stkBQ86YMYrbjs0a4zOWB0fe8rI1RkSW4KxYJydJYIZBp7zqLlckS3Yqxyht7qEJmTiU7DS94wZAkhF9bspURNJkG3Mb5SsAqJ6suODCE3mnpCdtUa+yAOd1n9LhMhZqnGzxcaram5FfuFPUq6AEKtVUhSzTX3D9i1ar7qU52MxiSMI5k9fIuNTOiF4OB90F0f0n5cj2yWtM8NqvRSNW4Jp30eSg7AjTdvE2ylvmnW8PSWmd2tcU4PChN2wkjmHJh+T2h+LSyRtfzGYMuuezIkldsyR0dHZ/nTBWbKnZQU4rgg+PQrEUgV7MqCsk1ZCx2WStvz2JY0YRHLPQFJLw8Y/y/0OBSdlkYdGgiW1b5lekQtq5Dr6/U0kQb9CQMOk1qu4yJZDhnyhOEl1S30yZ9rjF4b0NuZxeCqgwBX8h/VOYHabH2rSWgVl9XWdHMIN1oAEJtzyNyRFk6lahg+Yqu6HROOo1IYqfk0WAyOepOnzG/50S2XreKO9rbPyFqimWsU4FBQ6Z71hnHyQId6+S8ehciJ2wi8bWVGjQ1m3YhEGMhYEga23Ju8GPpeS0fvjJsqZCQ53l3vVCua6+P5ofCqiIiWP6URZ3OzHqPRROOzJnSwSFIUD5GxKg5pg48WXXV5PKbfYAe2KuH28bGkZhXvxeLXZLl6fse2noRXomCIYkH9xbfQJJ4CH5mJFZivSx2Ul15XH1FrxnLxCKxZFGglB61mXVJue5I7NKQ2r5Ejgq3wQV35qAH4uAZZm3dei1L0oDVOl8A6qSje17BhDOXgNCik6+8edRc7apTpeJA0sMTVdmtoiCSub4amfPFfnvF4HbOMdCIisY/jytNECDRc2VcfMyRzxCQK7pKSzTKijkNr8fTvsWDxaHAuh09xNspArgc585kGWvFgfjNRL2OOFrIpk9DbHahOhR5SEsndqZWp/V0HjlucY+no+EEhiVDKBDD2dKRXZYTarDPXCRJBtLH64qe7Ehccw8iMDt9cqZPaxdkCM51rKDZ5HqNQdAs0RdyJw7tCNCzRt/US6XCiWOZZzsdCmIkgw1ii2EFdpJpi9mN5pCFhauu4NBZfCyEkJN1mVZixJqBeYAhaaLM3oS4avMJE6uK69sEAwtCWdcCM8Ik11/WbQzLG/X6eCueJYaLjZHqNh2WpR9slm3Y5jvBF94Jfvo0LIe5RBYtWlttou+8+cerPDCcY+eGijVqEn/EL8v8qOm5N3auO0xivz/wH9ouzplCT9cJYLPuv9pNa0nnr4qkGlGWOnPobIrKd9ZzM46mztaxWTVRuWFYCwNAD/R7NWYHJ6qDfldg5UR9DUgsOBV8Xrto5PzLYzajSpOSLBNWQMhWZIkFTlRDz2bD9bKt9jceCwo+Fum/LVO7OuvJLrjh2LhRKezqlnA0sIedjrrZGFjg9wpK1EHGW+w645ltlhObY6jqEexs0HYrGJIYAxYnP5+BrGaNpeCcjBudX+HoMXdpg4fT4KZVRd+5q9ZzaORC8qKW86wIvcnMkNZkLC7AZZWVqVFkemGbgpm9bQKb1ihVNOEtcedis8UADXl5u1hxERiLQBOJQGmRSi7GdkdnwReOZiN2OC/vnd66YJ1V4IBnBGRG3xrxbFR6lQW88FlSBFaoHEkmlBTS1N372hzLaljseTP9p89Zog0W5A1aaVuMCuSg0uJPNx8bbiAL4VQqGxdaCApkLZ2y3+9o5JZRJd+4E0NNECCdkxDrpiOJ/fDr53XCoH+Rr1qpbhHNfR/9jTqeKwtkMqu7cQ6JekiaCz7T5VhS6WQA7MCaw18NULME5RAcYlwVXND1Hk8DFLjcxF0DzYRgh6oToIYa7rdwkCBV4aeqJZgydmebLeCSfM5/6+a/vqlrfFm0C3eaRr7hb7qQjQCC5LcfvPdgfnnPq2X0PiRY24w2ksYQtrOibP5bdZPRHGCAyPGfz7fwDuIoXnCPZEKt/P2LhOPSG5oPhp2l6MRv2Nuf2jj/Bu9BLnm9ZIPXjlO9/mcfGPw8/D8w1RsM3qz9X0iuYiu2EIkjMplf5kOpRMo8zeKSoae7UIR6ReSqhzqTSHDBWipuMu47tXGmVwfnWTxWX8ikAgjXq0VXeFXi5EIQI1asgMiSFvMr8DvXLegjm6Vhcs3+dvRfqhtkMhW6jmy9WYmu9vsepAUbG+pVQhltZoPmg6RN6ziNuRA1+C0wj8V22VixI+rjQd96R0LJGc16+P4IhWW6p/m93lJN2+NqWnLZCBhQgnfw7lJWdTVvuNQn1hq0KsW/O6nmz+U6pUan0+U0COs1CV4OzjNMcpaydF/IqaTHNyyXommxTCIa8tx3OpJczCrrE4MKdDodkzGzISlERBcnaQyU/JE5CbQSvgKzSUsVCiVQKqssEu3k46jHOY4YZvpOQYukC0Q+6acANkIHHVDpNGDZ7zFE7smIegCJsvnT67ToZHZtAoNiKGLJKJMi4sXzkuTQgZYxmoKjs5VZAhy91pRiOpHYr3llygwmduKRUDCSzOkpQIW8hCC6SFp0c84XPW+ZQOKfKqksZ6RcUHehGCMZ93N2MLaXjEtSNfQ7MocnkmmM4hvEMeyxCKKItLE4mIJZeUnCDk5VFolO9nF7MltCzBrhILGB+D2E1wfTclVw5zqZjpjba/pLZllZljxRqwtuRvAbGTHEmeH7+UpOsnSnCAlDxld0nnZ7HArnNDZ44X8cwY0XYjkiuVz4if53c2/vzTLYSwh3EH7EHt5XeN0OKnKgKNcZfvhGo8lvxl4IP49AGykncs1eohPfUXMyOWIXdkUy05OeFeA0L8nqMfd/NDLd/c7RMQ8E0dPnaz98PbLQCcEvahwJIAsphELMa6CdSBbaz0V1K7rcRQ/hiMimWWK4YeUKAu+aoi9wUMqzXEmpZbPvC3G1IyWuBjlbqF2XfNdXU5ODSginGm5HuhbB0xDTVavRXVlfWi5E5CKAJcm94VnLJbhvztBNq3BFw3HctaI6XrSBSYZ6ZjbtgTXXmxyqhEsXrMLqepHod2B/UmsItBAh2tTNhX2D6o9EIWdyaYe5yxY4pnnN2nM9MAn7qpHCSVxhrpKvk+2ElYj9PF/c4EI0CjDBQ95XDFQT64z9aJGNi9/Mu3gcpjlC8qItkM/+7XBiSxxr3xoihpmW30KmLMAhMR03BbM9mFz3flpucgjvF0ky8GKH6Jym6YNCak10UIviLjrQXaWZTJk7RZZFDUxkkOuuVLeFmmJea1n7JgQUFKIKBd9M6o50t8p1/wZwXBtPvFM08y9yVWFU+/h0vU6sW//Nf+d6CC4GyKbHvEA7GB8CQxSiDQpCMOHSi6buJ9qAT1b7rk6Twhd1iHeiTIigKEWnNbLmonuVVKggavPyV0hCmbyubSs5SdpzbMOK28f+QGYGychnW+musLGo/Q/dMpOD5tfr8vZHfiBK7jI5jl6/8wc2sU11gTGkVNbKfdtQKJHNUzHRnNb6mz/arIeZE/w1K40C06We0bu5o2MTh8VzvHq6WGM4FeYjb7VmzKycVtW01Aq+mWUczlvBq/Qs6FT2SGBf+lsu5aTdbXWZLBbNhSac31duL918fFwcTWwMx5HbqcX0FzOmgYFnIYBIzGFyNdHej0lmr14ASN5nYrHA+V7RkS1o67UuU/AWzQL6l8y9yvEUdrr9C8sm4uFH+qH0y6d4H9a6xtFfD0D73hVToEClyKnAZy6gXzN39ep3Y8DjT8fHiCMdcAtMjzI+pXaxKxj8d6VrvVvrMgFTQEhiQjtu86mit7RAwQ/fsAvrnN8SGK9Epnr/aNhbo4k1TlIz8DKormfSRlI3yQT0ejBY3PDte4iiBxWhrKOCzX3f/rES+9ElH/xmCvBJFaZ+yhOnAgnoPsWpOrP7mCeQjkJvjXy6TgTqcMGzBBqr9JtL70Vd/G571lbQdSiOvHZaK3v6G6iwqEpc1zbS9W4ABBHeZHB0RLUXx7/+5dp+3btLtDKbpz3vmAd0UZCoT2TZN4sIwckLqARG3Zp/cPuHvrcusd+9Rq6LZmAs0zrVrwg6OQGe8ZsE8A7sCyVame7fFj6BEQ1k3yMpdy9HFvr17pS+kN0M/fOaikvrbSKK7s20hNIFUWlRUhQSRSykwyvvslAq4HX41Z4meS+9LEKhmhB4hjN7P6pnZ16hv+9+PEoHZYQV7YKOIYMvRAOXWN3vXbCpOVt0wv6WgyUqoShgMzERZesIHYnm/2gxj1y3uarbIrFNJBe8umTqARrJ+bqBkDDDcUkvTVTjnJVNtxwDfMHYq2iM7mob9EVW/6iVX8kAZJGNiA9O65e03Unz8kSUv8Fr3im7YngS3CCyiD9XztnY5Ko2XMpllllPND6q8WMt4YTPNZo3LFTLKahmtbAiNw+iJPcsc7DsWIOdFol8y9wfJBx1z6oTnBxKDzz3+vDXw5LKSdUAkQ3RgYPqJoXAH7ZwkZiTmaK6v2kNhLarSnJQCTxDlA/cUxkY2s/Y9Z2pWi0NQScBe/msWNAgohosdB6awTtX1bXBNhqQit98U6v8wIQTmDQAjST8LMbWshML0BHyaNp6bCkIKsta31F/4GsL4fJHqt/ortjBv8myIIgNRbhq4VRper2PWt610anVUppChzXbXlnbwWBlSEKgdlQR+sj08nnURx9N7bLd/Ufod/sK8KeykOqyeYGZGz5EmdigAi/K5xXotwpuWriQjdQDbX/2+iRwgaOpkLIsQexiqfS9jfwC8/ZXGxGadeMijvG1aE8xEWaWHOZsCxxrLaSu7QWmiIf6SqZGp+LiQT0k4axMKGLKlqUu40jRumKy8TgqVL2uYiRMNCKUTP/tC0MUknDOXnHiRGxZpzSRK8zDMoOJaGWxYDk0151Z2EED8jCaU9qpI+PKnRwPyyBmYhoWa1pr1Irktgh0DH39AnhRrAxvZBMwHEd5I8MmVsbTvNqHl7TG8a6rluVP5jJGUGIxxJkdSeOZTMcycxvXqUGPgox57498+xuCW7CcnDX33/3zTSQoFqSQyvEpfw4OMTQfNNj18qmGFd2USABGJInO9DmDW7gYJ2bYeUqevdxrS6tcuQVJR8Tm2K+rjTCHs2QwgN76lL6CpzijvkC/sjnoxfV4n9yBqGTGjrj5L66cCgQNHhEd3EU47a6qEar2r9AJkFCHkkBLvKMT2JKw09ETXaCAjiVE8EO+kxYkcirht2aPguALoDKtMvbQe5ssV+gFgIyEAySrOJJ62mC3ex51vDJ94t9bw3m9PEORk7tPUGSTBoPbnzuY/gOU1ngeBb6H/EfCtGiOyP+XtDmVt/zYoy1a8EOlauaMd364qSv7uc6/tRpfccwMniEv0xKTJMv4aZoh3smu/NGHkxSk3P3vPFB/yfzHqHFw7rtTjkLsFnOr252a+tXHhWjtyAITK1kmYzVlZZDlpyR3Bb0Db0UU4PyELfa+/Dv1RAfxoB5W3o/p/8Q9TXyN33Ar/lk1VhB1OvaeTb8gdx7YPvfuDR3AFADYyezi8d317DNTh/6JFtU2cMzOqf7osPmVBw7eDNSwSUD9uxIu7+u65/ubAL1TwXOS2X+/u+mfJFr71wjiXKKlrtjl4AOvAlxwzgL/NVmpdfDxY+vfiIMJZP+5tqBIqF34ij1GzLBbjIA7Ce0JtPMd1oOstu61/uPVX2ER0WGrC2poAcGoWQPkSqI6HjhEOaKt7PUsDTkxcRNUH0cG5VOAvbjCt/pmBAFt9/2rVqjWqU+Znl1Ak6EV1+leTH3txSaTv/I/Va/b2qB5Y+8xZrW360AmEkkEjPKapB5k4FNikTOx1EiBC4aJkUbCI/TqeFlttUoY6ivb5a09JOCwqpV00Ytj9VrE8FGRy4RCkYj9eBZNTUviWPtG7S1vKMPrqaXRKKjr/yhs6u5mtzaYQdVYRTPZV1SKOgnzWyxXGstGQm4bOaLZNOgjjvqcOapWHMvStM4R403qa6870oPDJaIS8rZ8Ei13y8UlD6DOOnB5MupJXNEjEDDRaNt2n9gZ0vl3paemTSV/OJ7OS1JJEBRjsJiOBf2+tyAQQiRZcs+GW8rMqYNMtGMA6KXiYCizcoYMeU5QXUbFQW+TEz2ihgsCQmPdWgeCjGBkbqrup3LO0WuGXn5zjebRzVancplYqrpQzJsmN6dimWwqqrQ2x7g0xGWXtXV02Ek80g+8ogacVIAzSeC46BYM503o/s/wQpVJp60Cm7q+CX1MtkfikZ8fpD/tIIyFD6uwfj2Rd/pQqbzv6jRCqT3iFwuZWHEMqj9z4X8gopf6FLZAHVwBnfBao2O26iwpJ9EJI2ihbF1kQpHsMA/aaGFRGkbxMN696DQqsQF0spHUW7GXKchRWBKjimRlPZIZ+7i6kOlcL421bwkY30jCwSze6tVqQjzOjDKmOxANesTEClA/k1l+WcM9uefKddmZX+PhR2Kb7889+A/JocQRkpjIJbXmOX0nEy1aTf4X87IxC5i6PWkYibhyHAvP2Sh471cJAmaosHhO2OeydckNpbTcrAyvOp3bKg0W+v1ZbSsjp6XtiFBp6TtWt7xMpVggGFtZ8PvDYZ8/OhXz+2OZb6KkIzIzpMOgUvW5x/ONas3gBaZPgiydoHjR49SPPILu8rvJ2RJKvVJe4xSUHN7p4YhDv8w7p1CE7dhYofRWsjxRcDdYIerITG3gcvCHR37FlBB5obFeFFuVzfcs4ojS/XsksQLuUuCYoJqWObFYtdJ0uUel+kcjGBmyKPIQTtoRwpeNdTvMZ5nK7FsSbMAxCEi8vJFSU9W6x4w/B4fH2HWu8pZO5D5NU8SuiHtlghLQIUmcfqeCikrXZNV0VQIvLw1byqB1pkgFdnqILa33rpJwfzVSeYskSwaALxIbH1mCozAcD0aWwia1eiE8hIAnqEBNZJSJEL/mzgWhIugg6npIGneDWSXlruxSwtFysVOq1bJY78WB7vJUn9bOK6wfwxq+JR4c/SCFX+DKXNXhWSUZ1dxWHQ58z/KQp6MPlq/kJCUairxcdfq2nlCLVhX+jmCOzKPK5qiuEBZm0NCMWQfwNUXpeDcL4RA8eMWjuTGHr0JAUHKzL/soqUM3szhf3lYvKDn3JVhOCaeKgr6SXAmFlgPpglAgcfTbxLKLa6gG7ZpwR5c4IJi1wukHQCXJUmU7hXA4Eh7fabnxWhrc44KEUqIkq66W6e772syCVYqmyazsU/EYJfTh+LIHTFBy7E/mlaAMm7GisEWM3rzBiRKzXB7VXmx9M/zlJTadmIIrdXSzYeer0ztKY3zACWhvMxSNJOf6tLlCBG8Ck3pHPXOyRRUKCzjK1sW2X+2I9aPq8UVb6rl5v5Ljk2xjAUCv8T5Mx2JA4nZykgQVPAqeVArHN6fR2ePEtZ5TlKCMWs5jcr1KpiGrdZhhI+zo+fW6HgjY7dhr0CvqmgB4pkWA/9pMQcWuATvJCF2S7bdhsAZlfb9SUhfNlQrRSCqGkgWeZ5gNiYVx1s9DUJ8BORVo4mzXiOo0ONk7D4ehEPAj8qukucog031SLp56i1752Xpd7oNmqoAuh1z58pQCie8+ha1e/TB9AvJRiIO+Vuyj8K014Gb6HAgjIJKLwNsPfX0Y9Zs9d1MFVS0B55ySeTvwBJyGU+V6UVGp+H9nbtV4IaFUDkeSfViBDnXBC7757dsKXbSGsE8ReEa6gSpce05iRSzWtpEFJiR85fQMbRRx3iKY+28OWxY4RYlkRnDEU7NF/Dy02uV08GDyqMla32P086vaw0GvzaAW0JoKu15h5PZoYo2zLb+QT0b8Pg4TZfLHUMFg7cn8eI7t6ALoAj+EY4Y2jABEijtjl8Om/0tuaF2GYdwpjBNdgVeHFxsYHOAyyllVXE/XjfhGjVFtUJJseyvy0eUOu1krE3FZLJyc2VX7+hKXWaHdFMEEnUo1dsfe2MWu3ia2+dxM7pVntQ5LYA3IolzLeHGCimN16fcnt+SB2EKdSrwauJO+2EmKK7Tj/Fpll0kRCFlTQjPMXMWPfRwQ/ENT/ozwPBBLKyxpkuLEUd1Xe6HEBqWdRdoclslBRvcvkyEz19eVymxUUgfY8w2jsjkIfIUhDuEsb+I5BK0+E8pgQLXKeO0UNZ6D+MYh8tKck2V7bDhdWVmjc+vtlAcjiUxBrfR7mhl7y2giPOe+XYGKkkk7tJi4x9hK01AyXTxt5Y5Bv4X+WEsZBo+eshnDd4/pHtwFjzJfsogmiWQinulp0SoUWhkd/ZAz4n+TckwZJW3Bxg4KkF6bpNb4lFFTgVe0gJMqjnPDkOEivZA+hLMGkyKECXEi3JlMs4nAn+7mQbUhokAVdif2hAJ4hBf8u0tEoDESlljRGkVSWsRW4lW+3BqeTUsbQoFAMOCaTAdmrLwqL4ZdE8Zot9+sMG7oq6iaDMvKou9aN0tGQmHfAm2laYuTnQ7/Jx0gtATSZa721ordNjmdZcsWjVLHZi/wkxyGJhiGIGzjP4todm9Ic+xYe+r19g2eyTq+8LkYY9NoBud18UcapYQQ85pfTsyFzeWLtD+TmcH0HE2CGTAcxfhnUrqjsbbk4MJa3swZ4Oll0qL2E3EKNamTKTP9fxYqAZ9ZLJcCYYTaEDBvKmKh5qxqE2laV+AxF0i2DFGciTOJoje9jnSrCcZTiqMyS8TD4XcGYixLy+ea4duoxHYy4H7Q/ClaMAihf6nDvS4Mp3qA10QDRiVTaSum4rEAZ2NS3qiqZiu6sgitK2Y7m0IyOFGsJEzwJb6yMmc3SifP2T8pKuo1xyeCPjcRb5RWe8Ox2FyFf1vZ3tEn1+SGNzoTIQEPSmTkvRa88Xfw8crbE2qYIBIi66k4nMQKvFRLmRTPq46dcqi8IlYTgZL9RjFCaDJmAlaJ0HessXhXozYKLEY6zN8J7lU9/1PRlZlLwBTH8QOw5fGAAXJJVBTwKpiJvdyvXK15HjF0qh60pT6stcTzn6aphK/QiWRSYshfR/x+oP9G9Kgd6PTzF7pbDazWDZijvKkoOZRRodVEwyfEB70hQU1RtICH/Tema4yH1LYeYJyKcyeYLjcYRkFBbRGcgW+CQikwba8+d+6n5xvT6TQ7PIFmkGQc9hUFNRURaYWnQYsEpXSMRgn6HqCAwSF/eIlldKUHxF04IT60OOfuYXj7z3tzN2DgKKhwUBOh/Ef+OoFMWEFOYMo81gO8CHIHc6KMMJD79OQj6r6dnVl9x9Dpo/omxWfkje/MvzhsFQRwSNhBOHokSz9CioOVhCNOyPp/cfd95vsJ9Ndb10jKdM++1za+Ev7fs+fBfWRpJNWPyDvQxqocbLnvQfYzoSW0pc98eGnbhZXPDR2nunylvV3gNTnUExgkLCUwMrBNOq+8Rw6UJiPu7Dr16+euAePXyQWJ+g6mo4J2RdB5AeSp9EmKVkw/VQm96g3okVvVz+mfnlAFLPKTQn+2irZg0vqhVp2b1Z2Jg9yEeDPlDOO/TOkmA6m5lJUq4qr6fCWaDDl88ThkBHKHDzkQT+CTGJ1iyMTTg1sXWLkjVRgKhP89sTaIPV/i8nczWO0AV/uzjmKRKDv24Laf/Humb9zH6gfAHkqwii2rAGG2kz6vafT6GDqWnKILM6sE/YnLz/WvOd+NNc6CTnLeHDcJdJyaLex0eAazkwKJ8yzTF3fYeguPUGoJmzY1Hys7w8NNz7pTuSduXhThheWJDUfikT+Olv5O7d250hPgIznvRkACBA5bmEWcN7eLvEcqv2oiCblsdsQqUCLWjNqgDmOqc3Jp4Np96XoaXSBgdWJ56TsWcjBpTi3ieGtLcUrA/IHc9z5xZ0fZlXdbmJwHnWCOk3REFsPhZ+FgEQMii+oDngLWmcg2hXeirsWUgjuA1WqGVfJVE8l0Js1hZlg4mPJPQlt7cHPYk3JKHic0g1alk+AjuJHsIUr+ePx4M8dmcHTbP9wjh3NWQtUSdSCrE2v0CjShD4ta4w3+Xeta/pA/EnJkPOpkmGoJGZd4sVDq1kOlQRGgTOreB3XTo4eezA2IBRZCkPBALOoUtryYneTIEju6+65mUrHhzGwip1maFokcJEi6wGWRsMNr7KgVNodCLWVqXIMj1REk4hK8cZrr1j1ePRYrVIeKQR0bwVNLznxvnVK3/aC1P3Br4MdLVgGmaejkpQ4QjACAe8GqKyAH+chPxrp7DofCRMcGMpCvsJl5o16v+eRLDeiOcQo6lzm7/b1w5UrtuJn+b6PpZZLHKC2bAq/6RZfZpZKD6veG1sIu55uk/GbhnRHAKDlmooMORIedoHzENCLLN03wKPyy+S27jI8lhaIdCykoYYnRrHF13YwhRzf30oH9+E0hNZZkAWIoxxQdYCZxwnDQDYherHswA5cJ4pEzg+a5SbeXHXnHOpvP5nLyNE+GnKM/OmGoaeyKB9op8iqo0Q05uPIZjVIGS3C0mcDQluXObL24dBS3xtU9a0CVcLXjoAp1qMe/IKvuIS+NUFmmUiXaKxa/5ue2xBdRAGPUKRiTZN6GDTc9N0eBlckgLRjggsURJUo+4HDc/UzXuXjP2jga24o19KyheBd6qEBqTOxW80owN/CKhh9QknLX48J1yecCd05s76NgSqYWfrpmaE3BkL4G1L1tHTIbPf8vaOHCQeSgWYEdMkkOfzZQFliGyqYTccVEOksxrFAmQSXJrjhIJXn+uz+Ziu19FFwnL8TkEpcChSLQ+Ox3aD3Mv4OMN9sIU2phzY7uz1GEPPJZ+9QFJ1iS18fdPv/4KKojtefCUeaWfz+wA68R/4+hTzs5xOM//OIaIgjG/5e7SaHIPPZWAlSgvx8OyawB2Skp85Z11YKbHiB9S6Q9szxkeXZluDp2zQXc9QeU42HjlzX/VlJ2JBU6JpzedwU9OdgN4mmA5/GJW931W221OYwi3Y7CCill0MxYQ2H4vaFNzLHUq1oEysZOLvvD0cokWTbctyZGtJHJGRtkCoYPv56iajEWGUGoZWe2aJS3ZxbzCLFYSJ0ni6bgU9/YfFFQLOAwLvfxmKS0ZxJKR5Ia7jO3UlDF2tx8KhrPCg3g0I+n37017sHAkb3IEpvIwrRsO9IqvlDas+Q0ohzelOuaGtYDKmcDM5cEYn+/i4lMmRHcoxfbQZfPR4QaIYbihcLqUPL22vT2mEJQj/cG4+nsdGH62PvCnHQgEyUYLShtlTS09wlE1uUQjYBCoYQcA9VGMusLsAHzW1cUxtINE6c8j6N4a4AlOdt8IY8M9zENhcEJuihIephzeIgpXZ1RL41vU+o1ouVOGpVMYeCTsZh5idUGHOO5XolC0SJi0zfL3SpMW0jq4WBPhA6U4m9YQF4hYQ5KtIaapve7Yo0TIgkRY7U2JS5CuNPiENH2nqRqew+SrzEGalF1ds5PuLEyU9BJS+xsAByT7dFAfHHWwALK3PvCIgmau4/FksxYyhYpIEc1pZNDztCRRKF0pSO6dGum0b0aWVzGtubNzSD0MYqXge0PHn7BUObpMCF4UbNdzLV0jVzHma/xhDpnhJxXoxrqtHyj9qM1nY5c3VLZ/ZonGi57GTGurSvzPjDchuaDC9G9ubArXNPyNYzf/kWZDoSw9M8QnIQgFSB84YlthOBxc5ZymOVukiEYZQ039Tw/SAA02U4T+5rNzHx3MrUgXAwhUATN/xcr86KNIDpxCluUg6xHqTBwN3x2YFUpNtbwpEQq+eiCcBhad79KMK31hb4ybng5zslJERCMe4/qD9UUvC7azlOZdtTwY3bqYnmcko66P24YqoqiafYyNYAIlg2KiIHtTYcIkyiy1XqrcKSe/PZVwvV+pZ/Mtfp+o9WP2gVnqVhAC4FZh8NTgsa/IADiJNyGdNJ27M3tIIEIjuUD7C9lV3vXevcjnYMdb24ZAwTOsdcg9cEmHQzBDbgiUjVH6K5tK02FUpJr6tbZoTW6iLOD5YmlffY0m73niaXIn5JCQxP85YVy1sJr9AuiPRTIHV5C7HwqA3J+o8a/EYPJpi6lq6ZQOTxgzAVBUlSlsfsPZbkhF8I1PBAM1zUVqRqwGxz7yalnwQ+OmYK9UzHaJwdcZKZCZirmKUVRUUA7z3Y/FTQj4H4rTvM8jZNPMs6Lvu9m00QQphDenULKp5s99/7CYnE+b0bGyUKDh3hyNAE6FBC5/GIr24a+9uSzaMgvALuHrlgzvBasUGE5TSR0GlNH0+nYPGiWyGLQbQpY5V1tb7GoTiCbaJJybkyFw946TVu7DrBrgID/lQFMxCUT/vjMFJJDBgGHeJo0qryYdvTbPGEzRFnTJJHnxWUfCfH5AMbRRlaFy3t+VG3o9WPDWM1377TnhgTXmLmZ9W7U8iB4tcEGoUGN1Qjg7mK286I/U5EWjqYu+IpVCDB9iSZQiSRy/4J+Vaem80e38qbIJBfhwV/7OFeB2C2OJqt3ptfwjEHFLmZxaB2oDvmjVT+OKCuhImLe+0FIghWpYcyhMDNWEnA5TTMyeAQw+7whCPk7RBins1PDIE+E6zM90mUt+nJQqsagKC5R6DmGHdSXcrmCIXcFu8XdWn8O8g0JaCIE3xO8NaQBcsdFbWXDspkul3FMKdbGZ8qe44Xpq27S++9eDHpB6lbc7lEHTtlkF6HbkjubPayn1KSPhdB5Ssb1EbQcphU7IrEkHUspJPgKQScMEJJiviGmtfkEJ1opRqAIWj0jYMRInzbKMIRMTAllxp/iFgOMLal5s9JBNoPw4jhllnqQWzdB+1ovndZZ/EoCYEvCIB06FNrRFU8LejP8+BKk2y3avQI+a/Ds/qVjKLaZ74zEUtTfyfnQoZmHEnLyfDJwpzwmZ697TERDS9rvYWIMB+r6clOt/DhvUiGdLbeXK0MGrWmS25ZIuHASNG6eK8gAkKOCHWLOhAGjmRWtgbLCRC34hbCBYqxGp0WQCDF98o26Tvfib4HngCmGYRo3N9sfUON/FM5TBBYlkRPI0xMTQ/uH35oOw8ZGAMxj9S3VDVQga0MGsbMD0+ASCp8ra1PvIg59b5JlMJCo4LC/MekF+QhCUdxIIL5MSmCcgtcvV7qVKG8Rbb5YQU8Fu9EueffRWJUSQdjkpah53PvjCKUp4EEqsxWEIIolhiBujoYUJ0FAy+oA5yNlu+E5qtukl0E/HpV3H0jMatlt1qkxeYszCYQkTMNa1hq5KsUi1u20/N1YA+7Fx86ZoP2ObIiiw8VgGOuZt2d6xzhUGscf8d3d/tNGMyfWTxZPvwJq0nPmcWZfl4JaClRVAMIEKPc6tqRRSFTrVkbMuLDE1IWsFfrI0n2Hq1DezyHQgnLIRASCYd6MMzCiTgMT6zVwXSM2cg9I/DgFSDYZMNvPp0GnJg5DeRwe/x7twwTeNn3wBfDfNDxPAPfJgZkRHYRnluoiKZilgOnI8TStg23HjI8dOIdIujxwfi6Xh2ftKWNz2tZsqfLQxUlKs8k6pMebWlBrfG6FsobTqEl1agW0eYtvbu3Wteqa2Ql0Sg+futlvhR1KSziETNQo4+LefVZ0Zp3SmsfoKM67d3MvC9iLUuxHCWpQmlOLawg0CuwvU9xCUtKJGEWCXnLoR8NBi8l1ofVmlfdb7icDBxX8+dZDGA14MYJrqcFFVng1E19xAfQEkWQRfpHn0HAvMwFaSlqZlwIBH0A6e94BEiNkxs/Ujv/84+4/cIun++ztMcKSEPV9+HQD+viuHf3pnSiLb6QgKAdu1Dy/+8ISLPetdq5ulFsDZiL2+c2wnpymY7CPm3DDlUMb+RfJPr23kqDdD9Q1id4nR2dj/9q9gp0vO0Te8BF+2A9+wcfvyR7PoX1zDQmn4uxV+eZra5F5feNyHaBYKOLxII4z6pV5XN5piGygMzvthV82MT+uJGbq60ksVWJKI1EP7Wux4ajDP4S7HXp79Nsz48Qr0VioaIkK3pIjvtnUvUO4Mr0pjqQiQy/Eih5aSWBENnCscsYK6zjlnqDwmoFOtQtRRJGQ9f5fu/el1ctlUsxp1s+Nr0Z71QSjqP4nYJHKkkE4PQYWfpXdxy1VAe2wmBqsfPjlZe+gO1LLzIhipHCCM38eC1RgneZJgPN7roGcbAeTZyR7K4eiwNfVhU7SuBh/DtpKS8vksSCPOUz9qYEhs+4MRtMSX2g55PO4p9hVXNxZRS+nI/6UzGAKQQ7zT+jgHdAlHXWpRrWLXJf0dEd7AEVJ3Rt0WrBFG1JKN9bIE1d7iqjKFDociqYqhU4hIW7DqGfF1U9MOY0UXBnuEQG1uAC7XAsPQvte74SzqMYeWVZvAarQLxVb9DQmuNlQp1JqQSqlMQWt0GM6PEiKFdYThpT+bHAiqhxzJNurSo4dcsVcOmtwI9q/FOmd4V7kGmpjUnNioJ5ryFTO87KBoeGTjME+PO9X5UpR1FH42fZ2CU/iQXUl7oU7lppPPtcxo31FtGSi5PpJD4lqqdYkMJ9jQ5myYiEV9nEWWnSG4tioUFVfjPORGzG3KsGsQWfXuY7xQhsgpAKXLrLAC6D4l/dPvttUb+3ELhp5g65PqmyDDbJqp6yaSQIhpwDZk6OMRTe97I+vnfhnMx4aPHU8zIHBPdd5U4rGaDFKoVG8a6LaSC/sVK1EYbzJjZnCQkfYmif8fcsjVCAb5ec7zSKSOMdz+7SQkVWaqtamEih8y+awjBBPlkctSllMTda+ZB7aHOXLG/wqNgHMBb58SlPQewm7XDSUmNBQ8G/JiuiHDyuMLlB+JsfZnP7qCoFWw2JFHyQtGNX5sSwE0+oy9bsaqtfNnnQPW+Dm1UXnYRm8+959jddVPMbTP9WcO+BsnLNaJRyRlusn24ZMWQsbyVAIKYIsGZ0Up1NLoiYyjoCP/SW3gZb5gM45F4c+1WtdLRjGW6koZrmK/fujXa9cZAsKVr4d41cbvQJGMedScMo6u8BMGQxXk92q/37O8iX75x+2yaFUASHKzUlMIuCtcTCJ2UAwSZ3mG8L43k4DGi18pHWT8p4fimWNLEMH0l3wMUH9d9CilvmKIdg+f2jKHPQQ2t5cDlm06wTHeAkoWa/yzGxgQhi+SbguX5C6nuRGkVXbhAKAYU7cg7FRCUbH/l71bTQq3HRv79SmNrz9oSFknt0c9PvrBHHzEBcA9W9kynwkfXNIW5Q5MLLh0bEI0yrVFgbbJ9foRbd72SX9pFVN6s56fuWQvF0O48SQeD8yakvdaxYP1vNYpgHOiJU4S4+hOrG69Jv6dRGY+KqNsCtbYnKyjRyGZNREeWuxg7oydlsz4BkfYJOIXC45UIASAaGDOYZLd0e2+/v3q/blPY95A1GcKwk8L+ubJBzwzKk6P6ExwiDL7pnQLz+Y3jIpGyl3ATcpx3BPVX3sjNOMDe8ttr4ROhiz/QG/N1QenHDWzMaFfX6/z/trxwaS1+EX7+AgWGRjabANuikHcE+1bOKht2N4rOCDSnXlGqDqg3bs+JIBgRGwtg+tU4ar+7vlnmjlnXzkfJ8qG/o8i3lhYECKyXILWe2OovI495B5cPCw8TDj1xewWwkaKHlK1hUrTGc+wt4FvzILhp+ovr8DoX40DBUh7+6d6ZfB8schmQ7Auhw8ySPSEzqMEfQJh5V2K7efygBIFGCRTK8art7OTPbK5wXIQFtav+DnKafJejNAjSNFfWrb6LVxTKPT4O0HlHEiCwtNh6fY45WA9VS2ttpTMGmVGjqmVJ2QpG7gBlbVLtdqiNSRvFSzUeyU6C0N0UQdS1EkznqRFY7AsmI14YW1PLa69Nv/TlWl7Bq3EQXa5hBTHeTw5gpycttiw8cZCuqv9zfVXGmPCsagGrDF/oEoP6bPxN6lFacSgArlVoffYU1B10fP+mMENzE3XK8Fq7zLa24jrYmyVFKBHC1T0pjFW1gUk7JaslhpVExprMVXpBOQBjWl9ZJqtp6ay1FteLNTia4IkoE0he/4CCIw+/w2VUnYXpzwyO3uluxGK2wxx3JSxWjbNCGn/9WE9SqBZdn+7Gcl6+yGg+hxAnwI5VilL2dabQ/WBIKW4HJTJ8auCgSOfzOxITR87lRR548jjhmvORuans5VOixNgxgqUH9bei9j1SoPo2YpN1dIkBXQstbWcw7dXZUGclORGFqtOzPFMLp2iLwE6lCXcDICD1/iQh/lvHHTf4dD0lmJunUbgx6aMgFXmlWjVy2tGWMikSgMRyNP5n+Mer04p45YlymWlgQJgDzT41g0LCjKLsJiixMTaUo9alWqYFR5YV4LRltnj7pPV3d26fWezjbFydp6yai0SOo6O+CIZp3JaDhIU9Q5Ou19bTwQDIZTDJBbG8s7iqapmAqmK1x7POScKqSy0ZW4AXvl5P3FQlI3dI+o6rnclBnmFBKMioMmwLXR1VWjoVTeDjgFN/WRSMpI5w8coQcOfIrpeeyuswZnJk/BgyO/DtknJR/TTrc6MEUEX3zVPupn+LIvJwyuugFhhnlNsC1UwaOYFQkkws6e+0v9GluKMkLA7WYwWVOJ8/bi75VHRuewompBM3k5HO+GhSI9H9K6KrdZqQixpW/IYhm5Ocz5vCih77OJIs6syN12xKbAuxiyKUn9WbiYOkin2aQV6cHzbOfgZc/0i8cWC5CAcyl+YziwMsVyy/prSqHAX9H9VL3Ya2UHwYgUjoE1UdLu2L56k/nsdm09PINePJzqteao7Lbac76u8XUoPkIkEWCuJ6iEdfvpKEAdBUlBIiRW3JgcFBgHRRy4hpurLuFtDFhCQfcqiuedRJ23fMpUyJB9e7GcdRzbK7vkoI5yQkMobG4lN7qlvdw5cI25dsYkos+Ddc9+QW/TMJzE43HmlEsXlRYf0BOcXo1SH/zVbpacM7PeTixIrgTNyYssCom6VpO0xYdH+/1rKZ/nFLZoHAsU99DlXn5Q2y8MPJyJUjsAOcrYmIJM0g66PY4dvK6EttP2dqwo5eOpZzbNldZdrbcGezpa8ncHuYGGVYe3Ch0nd4poINf4453sguRFFp3OXtR6L3AMR0tzOQ6gKlgapSv2Vgv1P6vahJhnWCmfNxqP95VH1Oc7BGVDQ8r6uuJSpwRuE/di/hn6p7FiTU569jzFhqbRa+zKQAjzoJviybripR8L2itxj8+R2qj9EZj1f3JCIZsQxqE1IEPJXvWLLC1ZE7qkaUCK40oYxTcmJ8MxRbnnNmLW048NvMHsh5NgSLLek2k3nyAmkT91UakJF+Re8Ac2vHh6RPeAUSBKw0Qzjc8Lf2J71eyxuyl8COib6Ws3O2oogJKU3Bm5GxpCwDcwt1mNXKb0dgp8eIAbq5423U73GOXk6u039YSDgmscU6D53ZM08+3mL3fU69osyBYEzrlcohjB7YquyDhQa+VNm9/rRPFsyTLv2eo5CPUb9JqDyu1RPuBujn5trwymIwJthVhARLwyazfMdC+ZTAhkBtXmUAfAy42tUJOW2ZRAJv+jEdWCAGm+MeTzpQT7zxsd1vSjjKe+/ceuDZtSF8wla/e1oW2TtTq8LWfTmxFnxpKBSxYidN9sCj+tTZiwRdetcbdVBJ+QgxkJLunwf0TUheFYtpendDjYEv5s6buuadhRdRoTvguzfK0Kgz/RTp5pAx0m93tz45LhtVIr20mdjyKN9pzUYJcL9YKBI4aoLqk5fCr0YDDtu+nvY2agZaJ2SMgmt20JmGWsgzE8pUcla/fVrt9KBXJVyV959wP6rkQiHN5WtxO89rp4Hg3I/bM1deXr34s4XvLcrngP2wgcfV3L4iTMzWrPD6dN7z7pPXu6Lblw78wFY10uVsp71iTxLQ+ttgrCIOkK7NubmsBn/1Zw1wAdyNWsUbbCecdFGp1WCwZ3Pg40tmnjw3I5U52nPxllL0dnp6teWo9Cjz0Fk52GM3sccdh0GtYz1bWDRn7e6tlI8b2bTQ526Urw0mzBfEW2v24OAWVT2E9rgFmnUTKrXSMSi3LQ2KQ52/KpfKBYnTYd7mp2TqULGivTmtjAiWWiM0X99sMP7wbk6JsGf1oNpdwNiG247DQytD3rbUs6QRaSnm5FOOuZsGknn0No/z1/ncw/bn4c19Vzm9q1ttOxb7pPKQlqgr4wGNq9bNNOFmT3bho4mtHl9CwT/vHbj5nwTKmOw5BwmpJrGNtUuMzS/FaK5HnKwnCGWRWcNH/P+vhZwN8MgJHYjoW5cDK1c76RH3xdTFzVDTHB47A2WM6+3oSmJ7F5R9xozihlu4F+2IzNJjAuXUJFM2FFk01laiy7DB6N+quOR6eMpWb7oI7JZZdIYvAJsWkN9yET15REoxjXEGwhSwIhiQvGqinjTlU7GzDMinDFG51lEvBMS5q0qakhFS7kWXnSCJMv7gxDHaajSymoCcPZPEyQJAFtai4S+mFStEXTnf/BlL93llUg1vMOLh3DnYzj7kqR4vt8ueu+h/B9BdAPe3LId2gcWfCEBTNECXwx+Oxev/9TGghJ3OCYMT6Mbh1eYRCDDf33D7ibvRcXRzdZqkRoqVmoasD7+NUbvS0LcwyKuPiZQGTsMCck5EtBt5ETxH7CJFP1KCqDYKlRzStNjRoIDhaGLXWRYckyTUDL4PjLEskc9dmichg538gJoEk01GwJX+EjZowoKIomMglN0YZTz1NtKXd0pYrtVckxRZH5wEW5rNCrpKoSdbrkn45MuIPJdApBMeVUS6A5gndawPf2zfTOhMdiG8b25SljRu6LQ2aCB3PbRVrIOciCa2Kxg8yosL/DGjZdaDM4FaMhn5MoA+hILOEWnFJI8/gwuTBZTcrEkOYDQlKfJX8Ib4pTFexJGkGnLc3wtCl8VW6Tr6asEAQZPlJXLaMBAXVRZX1DXD3ss54BvmeuWnCwVcTEv4mYPqBZ17OfJHAlhqdUP5dE3XdQJOFxrSeW3hWEsXvULBUS5oyp55c8KfKKmWELDXFa6/LFd8xDoV7KQZvKObO6COiHjlsFOzBjRW6/J6e7m90hnRMbEroU4jK5YUw3aF0RCGJ5GLF81aUYCLrJYQ3q7W8kqkijOB5gp6nNaKgf4VxbEhMlJQkRTTl8n1ukUBIb0DG2lST3QULsSnIRaZRDIwIISQyHnBUp6KUvi3KyZBBX4AxCNsMpLizUW1Fst3zKIRg8UMiEwdcBKe5BRB47sKsiNdmrpjrkDNTOzJrdyEJyONZW8fllO5EkoglM35dyKEGVzDwG3ytvgF8Hyl/XlZdyOM7kxq402O6TWzmEcRhKPYvyMUHqWwjmmtsptrxJMFxFpNyZjsb5oETNsPlmHro5MppXEIpCrKCE3TdUDNCkpQk85nSNRiHJkbKZWT7e1ZTWW3JrsN+lLGJazeYcwrU8lbZuryKbWgRJsxiXJNMwmgkFvfJZxtBKxLbrfr+9suVujFFim1piOCtM2KExnmLkbCKRexlr4JDPHwiGFZqRdf2Y4fRtuYGhuNyJd0vhi60yqoG5tqwwHYZWFe+SuvHEYnGt2+IHw+in+gLhnva26ekxtJYrsAK19OYiRlV9U5UFqm7kJp+T+f7HAvcPceaihx4LLvr64tyHopBZTtpItwyA6AVEB8ix5/iabqJLS5yZ3iKXxcXN+rPFKwk4xPltE94/7xTnb2exh8dSr9td48jt336gdCDrHufZLMbaXpBimQUsh2zpu/Dq3xEmgO4+DHHeS8hlJsryMJigDLgQlL9tk9sghmkQ090AfTbpNUwKfvhYCiY11vxiYzWkNA7I6Be3VWiyhIfKdDxeHsRluXWgEAvvP4Z7yWw8RP6GH8m3z5068od60WeRN1KQHDjBRXk5CnkAZ+THsBuE4GPsoXyuTf7n3I7Bj+uFLuwtLw7yCF4rv0Zszhh9mLRmk97fexZq+qPFACX9sU3moZYvFfrsAfIVe5Q5qkviEzohbF7jVWjGYqcWGn99IaHXsBdMwv0Pnu3yEWvQWUhiVl+CmoF9NQiWh5fkh3iifA5X5QLedg4ZCHS8Ew1hSRbjsKzA/8nPz5019qH3DQ3thMIJCN+HGr4G+NrZ91Eetoeb53rXgWPbC/s1O2dOVL6hc2BFYjB+4xJooVrKfcWxPEx8m/+Y4hwirbnASjRAfBN9A+iZq6jq44PnoEZgYjU0Xzu5M/UdzBozcFR/d9oR0CYgnvwPGg0IF6d84JG3odcDPBESbt6PPgaUjkaDFw6dHL9HhFq1o8ZSP4AodODAJVu/eVtjzy9pBR8/BckBcVfKdE3+aOmL5py72eg/2Yu+HuSLxiE88H03FJ7br/FbHYQa2hjJEbx24yCsi6ldWtv6DLjHyFoGD0US+BFLtYPegeFIOPEhf4K+NmB93rgZSFrilFBSArirgvs6ysPbpIf57OxVTGGHT3NzR2skFcDq/O/x6vnPDH/w5TmyPXyha+pJU5dFRxxoPiv+NpKbtD6CLm1yj1yEvd3KbZAMiiODoPMXH/OQ65H/0Y3oBZzboBXepCHh+PDdB7+1kj4BzKsLhttLIcicIoDbu9y3QfWA4zh0kJ0QxAdm9kFrg6di+yX8CKcDCneE6Pyy2K/QdQE/ew7BA3MDU54f/wSYAekHQ/V0DZzz6gPPy6+nzgVLITj/HsraN6FFwG+moFxAE4FL59dQFVvoTIyCxkHQsYFXK9EgGHd3gZYezhlbP70XGXo5b0KxTyZHiJdaEP1OuwTt4TZrz1nbORoyEC9e17zSgvyWTiXe8+lYz0KbTXg0YDHbjl9wxyqAFMv69Spvb8wfc5O1nr+EMyMPvayMHaG1Ez76vgDJgOwt/d+RZg08p7iGzkB7YghYOopegd6PkgAvIeoeA8U2SD0KQ430DLxPtINpUD/o9yiDAWoHE8lJoHiYD3LAf83r3glRa9uVAx5DM6ATeQiTUYKnoAojS3289/dz1xwgp/cSHTvKPE30AYbQM61zIWqb6VqS1kYKoJ/k/BN1fo8MgZGfyuvQdKAxMO1EQEMHv5SC3L94PwSh8df0p1rdwCxSzBdbUoBrj9QDgpIEGOrJ/3kGbVuKV7ya4k0LzgQMu1JQ+58nIeTT98HEATfyEWA/HepLYVtAV2HA2wP0WdwKqVt+RpS2Pg+y7jvD3LBin9O3ZZ2T/5V/BGm8niiHX09ega74LyFmO0zq8COhwatEX8g8nd7QAI5n2H2iwbRHkxqNeO0wMNYPqrzKBO4EAcBL0HvVV3Z/emvTP5haK8Ey3vpnyxLspPvr2LoVbfOC0b7SJgAsmKv/igDjtkUEwNx/Rd5fPbdDrl5Ct9ZdkhO4PSv+PK7YWg6XfXLbkG2t19r+qRXt35bGYXm5LqvcYVw30m55gjJDUhzJirZ9NZDyubcJHEcikuCASmQiCBtiJOcPmTnNtAn5NpvyZiW73hYwh2xNx5E0hX+7g+2dbH2tAG91NTbZ2VfqlFkutpUcOm3Ngr3p1MGUTtrWN2+pte23JWvXhLa7bLu1gq5OMmtw7wS4tof47Z6oAlJU/ZjaR4tdo8nrYUTZwaXFWtN6FDRrCW1QUiNJKPe4t90WNpfC/LAnA+N648V89UxAflu1vO0T31YqkFSuVE/PZ7uA1VbIrV30JhzM6zizeofYrDFlhTx/1VBS6Ruke738ttCKdlJcX0G9Hj+DittncVVtycQRX2cV1etUNJ8/J+662Vl7y7T05mNh+Z3XmN3skmZX26mqDvAueYqjsJnhXXWJTXnVsv6p+RNGyNRofX2D9xwblTZHjH3Rds3f7YaCiccnuF2wu+3l03aKb4eVZEr1fNiKmW5hWUvN1Vb15ZQd9a5dQPHGBdN3BJ7lXY75IEIFoNcwgLq0oxyZZtuXSgutmXXKGZbnVpRP/VZu5Hpn5fdYxWWZ1ZRj6zG/eeh+9BRY3mb809aRtnzu03P0A2cPidft7RJCMRuOiEck3BCck2f5A8Vra1qXq63Xbn9WyzpqTuuCpset7hC1J+Dxak9k5M2Wf+BV5lNJgD9oLKfjo5xNe3RRwJ8hAPBga4InO5CQzH/GsqU0PmJZhxcXBXwYAgBAOnjvs8DHQqbGuRbsSH4okgsu7CX4GfsJngYA7CH4GP6BXwB4BfsMXk9v0IM+mB+YKxg99iz2DayDrvQGAi1K2PMYiaPpo/khqxfZIyEkpZHuuSgWn0szi1S0v2VCk032jME+l9qJAnuazSGdLuTJcjZ72ngb5hBkSV2iXcwkxiFsXJeO2YT5kJ5PmBHpTVonLH4N8x9ZEEC3WoFuMQaMgJVKgP1yzS1wCIBudkb5xmrPmM+UCAi3+MLwiiucbWEiaGcQjSxtoa+rfuFxzOYbAuBmOSBgJzEYFQYHZvwRoBLH0M7L4kWXsyPGbUkxQRABFjDDxAaRMRxgG2zGk66YeL1kSuwaM/pqmVOXtVloXGEWTXNTHkAxIWEbnAAsP0tXoBs/y+jtf8FReZhZtdHB0KkzxIzK0MPW9vzwjYydV2uxC7ptFOGl8IWu6OQq+yNi/yp0y6rcyndd9DInKnRD120edS30yG0xyWGRsmtLIbK35jzoVm9lpXy0rWpXytor8cd5f3BAGF6t9mdtvyw6+KfX/oiMDstFKOjkVFqUsq/ciKJiiKLo0LHbyrA6GBoCElIjgoooyLG0nk4FHG6os4iI5rkn9Awn4UqXpmiiS0gxl6Drugu26crswGK02It+7o1rrS9TRIxy/bquHKzStLJTa8XcCAsE68CRVX6cOeFht1OH10tDSlyraFtu2OhNVVJbvp6NjRC5jp79uv8E6an4NLTYotA1kdE5P9UxE0HRZr2V0Yn20YnwIEJoMD/YEgr0b/P3hHydAd4ua56OaOvgIHeXD2qtzXeV8p2lNEfl2ws0W05Y87MsuRPm1EOmtI8xE2HIZuiTp3Qxvjbga/yNpvacym9hnK+wSOSmHNRi4CCZMkCq4CTqLLHmRLqPUIYEogbEFyuNJ0pcoQCncmz+FIuGmDQEBpNPZ6HRwFHJDArhyNFTzUVfUUTCzJ80EepBeEy6axpCwDWIgG0oBTVgZqBRZNQhQ6hFcFFTTcY1WQ3EwUqzU27SUvB5u4PKdanT/rzZvuet3JYrV777ea01LMfePdW9p7jKoEuD6FPd5kafFs/4ifK0k9p37t/rYYLe+In5RmfTzGyLp3qbmsYzNRuoexRl6m11S5HdnU79Njc122SKE5imMzeT2duCY7kozwgflHvkbWH4MAYcwzNwC3ZbNOVtNI1mNBvQPUQZvU23CF5nfWsS/+LXfMqtZLv9fHDHDoHvcp7cFPVWAytIYbo5lIT4ufD+0ydY3+mq+DopXw0oQz4RxVumJozQk6fFdtj+xIubLaVnxfYFXBEhXttLF2tT+oliO+DAtyDhe+5IR0bxpSC0aOGaFgAA"}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":25,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"digitaltradeinvest.org/css/style.css","fqdn":"digitaltradeinvest.org","domain":"digitaltradeinvest.org","tld":"org"},"ip":{"addr":"93.127.179.133","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:48.844Z","timestamp":1785129948844,"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":"digitaltradeinvest.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Sun, 05 Jul 2026 05:20:39 GMT","end":"Sat, 03 Oct 2026 05:20:38 GMT"},"fingerprint":{"sha1":"A4:00:E6:6B:84:8B:41:54:E2:A1:86:7A:8C:BE:B9:DA:26:70:AD:79","sha256":"EE:05:E8:D3:96:42:96:99:18:22:23:16:08:BE:C6:50:0D:C3:D5:AB:AE:B0:BF:62:B3:33:E5:AB:41:A1:B0:DA"}}},"request":{"raw":"GET /css/style.css HTTP/1.1\r\nHost: digitaltradeinvest.org\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\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://digitaltradeinvest.org/\r\nCookie: PHPSESSID=81153fbd15741af1ee825cad0ae67121\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\ndate: Mon, 27 Jul 2026 05:25:48 GMT\r\ncontent-type: text/css\r\ncontent-length: 48909\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 03:55:19 GMT\r\nlast-modified: Thu, 09 Oct 2025 21:44:33 GMT\r\netag: \"5b9a2-68e82cc1-3f849d422a811333;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 234256\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: a6f4484ad48bb15ff02f66362bc4cf9e-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":375202,"size_decoded":49455,"mime_type":"text/css","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"1bbfc50e452f9cf6984bb2eb98f94fde","sha1":"068fc3691189f32976daf137e771c1ae49ba418e","sha256":"4369fc293f908e8852e9d3f75cbfdd9b775939e44daa067ed50454cb755cd233","sha512":"04fd9d4fce41408436b267f659becc009c53215841d7c49d0632711b860e32d6a317114288bf8eb20ea1317c5551172f481b7a3137242d94acced2d0480fdc28","ssdeep":"3072:Mia1pvD/rnLvxQ//cKeP+ckibtPcatPtw:Miw+wtPcQPtw","tlshash":"ed8496a2af55311ce0278759d2c5baa46a3cc642e7224deff35b2a1ac7421cd1273f1d","first_seen":"2026-07-27T04:14:44.423572Z","last_seen":"2026-08-04T06:09:43.978531Z","times_seen":4,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjtAaW1wb3J0IHVybCgiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzoxMDAsMzAwLDQwMCw1MDAsNzAwLDkwMCZhbXA7ZGlzcGxheT1zd2FwIik7QGltcG9ydCB1cmwoImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Qb3BwaW5zOjEwMCwxMDBpLDIwMCwyMDBpLDMwMCwzMDBpLDQwMCw0MDBpLDUwMCw1MDBpLDYwMCw2MDBpLDcwMCw3MDBpLDgwMCw4MDBpLDkwMCw5MDBpJmFtcDtkaXNwbGF5PXN3YXAiKTtodG1se2ZvbnQtc2l6ZToxNHB4fSosOjphZnRlciw6OmJlZm9yZXtib3gtc2l6aW5nOmJvcmRlci1ib3h9Ym9keXtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDozMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojODI4MjgyO2ZvbnQtZmFtaWx5OlJvYm90byxzYW5zLXNlcmlmO3BhZGRpbmc6MDttYXJnaW46MDstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9Ym9keSxodG1sey1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX1hOmZvY3VzLGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7b3V0bGluZTowO291dGxpbmUtb2Zmc2V0OjA7Y29sb3I6IzAwMzhlM31hLGE6YWN0aXZlLGE6Zm9jdXN7Y29sb3I6IzgyODI4Mn0uYnRuLGEsaW5wdXQsc2VsZWN0LHRleHRhcmVhe3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH1pbWd7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99dmlkZW97YmFja2dyb3VuZC1zaXplOmNvdmVyO2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MTAwJX1we21hcmdpbjowIDAgMjVweH1iLHN0cm9uZ3tmb250LXdlaWdodDo2MDB9LmFsdC1mb250IHN0cm9uZ3tmb250LXdlaWdodDo2MDB9Lmxhc3QtcGFyYWdyYXBoLW5vLW1hcmdpbiBwOmxhc3Qtb2YtdHlwZXttYXJnaW4tYm90dG9tOjB9ZGwsb2wsdWx7bGlzdC1zdHlsZS1wb3NpdGlvbjpvdXRzaWRlO21hcmdpbi1ib3R0b206MjVweH11bHttYXJnaW46MDtwYWRkaW5nOjB9aW5wdXQsc2VsZWN0LHRleHRhcmVhe2JvcmRlcjoxcHggc29saWQgI2RmZGZkZjtwYWRkaW5nOjEwcHggMTVweDt3aWR0aDoxMDAlO21hcmdpbjowIDAgMTVweCAwO21heC13aWR0aDoxMDAlO3Jlc2l6ZTpub25lO291dGxpbmU6MDtjb2xvcjojODI4MjgyO2xpbmUtaGVpZ2h0OmluaXRpYWx9c2VsZWN0e2JhY2tncm91bmQtaW1hZ2U6dXJsKCIuLi8uLi9hc2VpbnZlc3RtZW50cHR5LmNvbS9pbWFnZXMvZG93bi1hcnJvdy5wbmciKTtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDE0cHggY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6MTBweDtib3JkZXItcmFkaXVzOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO2N1cnNvcjpwb2ludGVyfWlucHV0W3R5cGU9c3VibWl0XXt3aWR0aDphdXRvfWlucHV0W3R5cGU9YnV0dG9uXSxpbnB1dFt0eXBlPWVtYWlsXSxpbnB1dFt0eXBlPXBhc3N3b3JkXSxpbnB1dFt0eXBlPXNlYXJjaF0saW5wdXRbdHlwZT1zdWJtaXRdLGlucHV0W3R5cGU9dGV4dF0sdGV4dGFyZWF7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9aW5wdXQ6Zm9jdXMsdGV4dGFyZWE6Zm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjYjliOWI5O291dGxpbmU6MH1pbnB1dFt0eXBlPXN1Ym1pdF06Zm9jdXN7b3V0bGluZTowfWlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO21hcmdpbjowfWlucHV0OjotbXMtY2xlYXJ7ZGlzcGxheTpub25lfWlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDphY3RpdmUsaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxpbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLHNlbGVjdDotd2Via2l0LWF1dG9maWxsLHNlbGVjdDotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSxzZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxzZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpob3Zlcnt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgNTAwMHM7dHJhbnNpdGlvbjphbGwgMHMgNTAwMDBzOy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6YXV0b2ZpbGw7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmJvdGh9c2VsZWN0OjotbXMtZXhwYW5ke2Rpc3BsYXk6bm9uZX1pZnJhbWV7Ym9yZGVyOjB9YnV0dG9uLGJ1dHRvbjpmb2N1cyxidXR0b246aG92ZXJ7b3V0bGluZTowfS5tYWluLWNvbnRlbnR7ei1pbmRleDoyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtvdmVyZmxvdzp2aXNpYmxlO3Bvc2l0aW9uOnJlbGF0aXZlfTo6c2VsZWN0aW9ue2NvbG9yOiMwMDA7YmFja2dyb3VuZDojZGJkYmRifTo6LW1vei1zZWxlY3Rpb257Y29sb3I6I2E2YTZhNjtiYWNrZ3JvdW5kOiNkYmRiZGJ9Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiNhNmE2YTY7dGV4dC1vdmVyZmxvdzplbGxpcHNpc306Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6I2E2YTZhNjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO29wYWNpdHk6MX06LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiNhNmE2YTY7dGV4dC1vdmVyZmxvdzplbGxpcHNpcztvcGFjaXR5OjF9LnBsYWNlaG9sZGVyLWxpZ2h0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiNmZmZ9LnBsYWNlaG9sZGVyLWxpZ2h0OjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiNmZmZ9LnBsYWNlaG9sZGVyLWxpZ2h0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojZmZmfS5wbGFjZWhvbGRlci1kYXJrOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiMyMzIzMjN9LnBsYWNlaG9sZGVyLWRhcms6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzIzMjMyM30ucGxhY2Vob2xkZXItZGFyazotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6IzIzMjMyM30ubm8tdHJhbnNpdGlvbnt0cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7LW1vei10cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7LW1zLXRyYW5zaXRpb246YWxsIDBzIGVhc2UtaW4tb3V0IWltcG9ydGFudDstby10cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnR9LnRyYW5zaXRpb257dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS5hbHQtZm9udHtmb250LWZhbWlseTpQb3BwaW5zLHNhbnMtc2VyaWZ9Lm1haW4tZm9udHtmb250LWZhbWlseTpSb2JvdG8sc2Fucy1zZXJpZiFpbXBvcnRhbnR9aDEsaDIsaDMsaDQsaDUsaDZ7bWFyZ2luOjAgMCAyNXB4IDA7cGFkZGluZzowO2xldHRlci1zcGFjaW5nOi0uNXB4O2ZvbnQtd2VpZ2h0OmluaGVyaXR9aDF7Zm9udC1zaXplOjVyZW07bGluZS1oZWlnaHQ6NXJlbX1oMntmb250LXNpemU6My45cmVtO2xpbmUtaGVpZ2h0OjQuMnJlbX1oM3tmb250LXNpemU6My40cmVtO2xpbmUtaGVpZ2h0OjMuOXJlbX1oNHtmb250LXNpemU6Mi44NXJlbTtsaW5lLWhlaWdodDozLjRyZW19aDV7Zm9udC1zaXplOjIuM3JlbTtsaW5lLWhlaWdodDozcmVtfWg2e2ZvbnQtc2l6ZToxLjhyZW07bGluZS1oZWlnaHQ6Mi41cmVtfS5mb250LXNpemUtMHtmb250LXNpemU6MH0udGV4dC12ZXJ5LXNtYWxse2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjE0cHh9LnRleHQtZXh0cmEtc21hbGx7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTZweH0udGV4dC1zbWFsbHtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoyMnB4fS50ZXh0LW1lZGl1bXtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMHB4fS50ZXh0LWV4dHJhLW1lZGl1bXtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDoyOHB4fS50ZXh0LWxhcmdle2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIycHh9LnRleHQtZXh0cmEtbGFyZ2V7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6MjhweH0udGl0bGUtZXh0cmEtc21hbGx7Zm9udC1zaXplOjMwcHg7bGluZS1oZWlnaHQ6MzJweH0udGl0bGUtc21hbGx7Zm9udC1zaXplOjM2cHg7bGluZS1oZWlnaHQ6NDJweH0udGl0bGUtbGFyZ2V7Zm9udC1zaXplOjEwMHB4O2xpbmUtaGVpZ2h0Ojk1cHh9LnRpdGxlLWxhcmdlLTJ7Zm9udC1zaXplOjcwcHg7bGluZS1oZWlnaHQ6ODBweH0udGl0bGUtbGFyZ2UtM3tmb250LXNpemU6ODBweDtsaW5lLWhlaWdodDo4MHB4fS50aXRsZS1leHRyYS1sYXJnZXtmb250LXNpemU6MTMwcHg7bGluZS1oZWlnaHQ6MTIwcHh9LnRpdGxlLWV4dHJhLWxhcmdlLWhlYXZ5e2ZvbnQtc2l6ZToxMXJlbTtsaW5lLWhlaWdodDoxMXJlbX0udGV4dC1iaWd7Zm9udC1zaXplOjIwMHB4O2xpbmUtaGVpZ2h0OjIwMHB4fS50ZXh0LWV4dHJhLWJpZ3tmb250LXNpemU6MjMwcHg7bGluZS1oZWlnaHQ6MjMwcHh9LnRleHQtZXh0cmEtYmlnLTJ7Zm9udC1zaXplOjMwMHB4O2xpbmUtaGVpZ2h0OjI2MHB4fS5wYXJhbGxheC10aXRsZXtwYWRkaW5nOjE2cHggMzVweDtkaXNwbGF5OmlubGluZS1ibG9ja30uYnRuLWxpbmsudGV4dC13aGl0ZSwudGV4dC13aGl0ZSxhLnRleHQtd2hpdGUtaG92ZXI6aG92ZXJ7Y29sb3I6I2ZmZn0uYnRuLWxpbmsudGV4dC1ibGFjaywudGV4dC1ibGFjayxhLnRleHQtYmxhY2staG92ZXI6aG92ZXJ7Y29sb3I6IzAwMH0uYnRuLWxpbmsudGV4dC1leHRyYS1kYXJrLWdyYXksLnRleHQtZXh0cmEtZGFyay1ncmF5LGEudGV4dC1leHRyYS1kYXJrLWdyYXktaG92ZXI6aG92ZXJ7Y29sb3I6IzIzMjMyM30uYnRuLWxpbmsudGV4dC1kYXJrLWdyYXksLnRleHQtZGFyay1ncmF5LGEudGV4dC1kYXJrLWdyYXktaG92ZXI6aG92ZXJ7Y29sb3I6IzYyNjI2Mn0uYnRuLWxpbmsudGV4dC1leHRyYS1tZWRpdW0tZ3JheSwudGV4dC1leHRyYS1tZWRpdW0tZ3JheSxhLnRleHQtZXh0cmEtbWVkaXVtLWdyYXktaG92ZXI6aG92ZXJ7Y29sb3I6Izc1NzU3NX0uYnRuLWxpbmsudGV4dC1tZWRpdW0tZ3JheSwudGV4dC1tZWRpdW0tZ3JheSxhLnRleHQtbWVkaXVtLWdyYXktaG92ZXI6aG92ZXJ7Y29sb3I6IzkzOTM5M30uYnRuLWxpbmsudGV4dC1leHRyYS1saWdodC1ncmF5LC50ZXh0LWV4dHJhLWxpZ2h0LWdyYXksYS50ZXh0LWV4dHJhLWxpZ2h0LWdyYXktaG92ZXI6aG92ZXJ7Y29sb3I6I2I3YjdiN30uYnRuLWxpbmsudGV4dC1saWdodC1ncmF5LC50ZXh0LWxpZ2h0LWdyYXksYS50ZXh0LWxpZ2h0LWdyYXktaG92ZXI6aG92ZXJ7Y29sb3I6I2Q2ZDVkNX0uYnRuLWxpbmsudGV4dC12ZXJ5LWxpZ2h0LWdyYXksLnRleHQtdmVyeS1saWdodC1ncmF5LGEudGV4dC12ZXJ5LWxpZ2h0LWdyYXktaG92ZXI6aG92ZXJ7Y29sb3I6I2VkZWRlZH0uYnRuLWxpbmsudGV4dC1mYXN0LWJsdWUsLnRleHQtZmFzdC1ibHVlLGEudGV4dC1mYXN0LWJsdWUtaG92ZXI6aG92ZXJ7Y29sb3I6IzAwMzhlM30uYnRuLWxpbmsudGV4dC1uZW9uLWJsdWUsLnRleHQtbmVvbi1ibHVlLGEudGV4dC1uZW9uLWJsdWUtaG92ZXI6aG92ZXJ7Y29sb3I6IzM0NTJmZn0uYnRuLWxpbmsudGV4dC1saWdodC1waW5rLC50ZXh0LWxpZ2h0LXBpbmssYS50ZXh0LWxpZ2h0LXBpbmstaG92ZXI6aG92ZXJ7Y29sb3I6I2YxOGM4Y30uYnRuLWxpbmsudGV4dC1yZWQsLnRleHQtcmVkLGEudGV4dC1yZWQtaG92ZXI6aG92ZXJ7Y29sb3I6I2ZlMDEyN30uYnRuLWxpbmsudGV4dC1kYXJrLXJlZCwudGV4dC1kYXJrLXJlZCxhLnRleHQtZGFyay1yZWQtaG92ZXI6aG92ZXJ7Y29sb3I6I2QyMzEzNH0uYnRuLWxpbmsudGV4dC1wYXJyb3QtZ3JlZW4sLnRleHQtcGFycm90LWdyZWVuLGEudGV4dC1wYXJyb3QtZ3JlZW4taG92ZXI6aG92ZXJ7Y29sb3I6I2NlZTAwMn0uYnRuLWxpbmsudGV4dC1ncmVlbiwudGV4dC1ncmVlbixhLnRleHQtZ3JlZW4taG92ZXI6aG92ZXJ7Y29sb3I6IzI3YWU2MH0uYnRuLWxpbmsudGV4dC1vbGl2aW5lLWdyZWVuLC50ZXh0LW9saXZpbmUtZ3JlZW4sYS50ZXh0LW9saXZpbmUtZ3JlZW4taG92ZXI6aG92ZXJ7Y29sb3I6IzhiYjg2N30uYnRuLWxpbmsudGV4dC1kYXJrLWNoYXJjb2FsLC50ZXh0LWRhcmstY2hhcmNvYWwsYS50ZXh0LWRhcmstY2hhcmNvYWwtaG92ZXI6aG92ZXJ7Y29sb3I6IzJmMmYyZn0uYnRuLWxpbmsudGV4dC1wZW5ndWluLXdoaXRlLC50ZXh0LXBlbmd1aW4td2hpdGUsYS50ZXh0LXBlbmd1aW4td2hpdGUtaG92ZXI6aG92ZXJ7Y29sb3I6I2YxZWRlYX0uYnRuLWxpbmsudGV4dC1vcmFuZ2UsLnRleHQtb3JhbmdlLGEudGV4dC1vcmFuZ2UtaG92ZXI6aG92ZXJ7Y29sb3I6I2ZkOTYxZX0uYnRuLWxpbmsudGV4dC1kYXJrLW9yYW5nZSwudGV4dC1kYXJrLW9yYW5nZSxhLnRleHQtZGFyay1vcmFuZ2UtaG92ZXI6aG92ZXJ7Y29sb3I6I2ZmNjQzN30uYnRuLWxpbmsudGV4dC1uZW9uLW9yYW5nZSwudGV4dC1uZW9uLW9yYW5nZSxhLnRleHQtbmVvbi1vcmFuZ2UtaG92ZXI6aG92ZXJ7Y29sb3I6I2ZmN2E1Nn0uYnRuLWxpbmsudGV4dC1saWdodC1vcmFuZ2UsLnRleHQtbGlnaHQtb3JhbmdlLGEudGV4dC1saWdodC1vcmFuZ2UtaG92ZXI6aG92ZXJ7Y29sb3I6I2U4YmY0N30uYnRuLWxpbmsudGV4dC1kYXJrLXJlZCwudGV4dC1kYXJrLXJlZCxhLnRleHQtZGFyay1yZWQtaG92ZXI6aG92ZXJ7Y29sb3I6I2UxMjgzN30uYnRuLWxpbmsudGV4dC1yYWRpY2FsLXJlZCwudGV4dC1yYWRpY2FsLXJlZCxhLnRleHQtcmFkaWNhbC1yZWQtaG92ZXI6aG92ZXJ7Y29sb3I6I2ZiNGY1OH0uYnRuLWxpbmsudGV4dC1nb2xkZW4sLnRleHQtZ29sZGVuLGEudGV4dC1nb2xkZW4taG92ZXI6aG92ZXJ7Y29sb3I6I2NhOTQzZH0uYnRuLWxpbmsudGV4dC1nb2xkZW4teWVsbG93LC50ZXh0LWdvbGRlbi15ZWxsb3csYS50ZXh0LWdvbGRlbi15ZWxsb3ctaG92ZXI6aG92ZXJ7Y29sb3I6I2ZmOWMwMH0uYnRuLWxpbmsudGV4dC1kYXJrLWdvbGRlbi15ZWxsb3csLnRleHQtZGFyay1nb2xkZW4teWVsbG93LGEudGV4dC1kYXJrLWdvbGRlbi15ZWxsb3ctaG92ZXI6aG92ZXJ7Y29sb3I6I2NiOTMzZH0uYnRuLWxpbmsudGV4dC1nb2xkZW4tYnJvd24sLnRleHQtZ29sZGVuLWJyb3duLGEudGV4dC1nb2xkZW4tYnJvd24taG92ZXI6aG92ZXJ7Y29sb3I6I2NkOTQ1Mn0uYnRuLWxpbmsudGV4dC1zbGF0ZS1ibHVlLC50ZXh0LXNsYXRlLWJsdWUsYS50ZXh0LXNsYXRlLWJsdWUtaG92ZXI6aG92ZXJ7Y29sb3I6IzI2MmIzNX0uYnRuLWxpbmsudGV4dC1zbGF0ZS1ibHVlLWxpZ2h0LC50ZXh0LXNsYXRlLWJsdWUtbGlnaHQsYS50ZXh0LXNsYXRlLWJsdWUtbGlnaHQtaG92ZXI6aG92ZXJ7Y29sb3I6Izg4OTBhNH0uYnRuLWxpbmsudGV4dC1tZWRpdW0tc2xhdGUtYmx1ZSwudGV4dC1tZWRpdW0tc2xhdGUtYmx1ZSxhLnRleHQtbWVkaXVtLXNsYXRlLWJsdWUtaG92ZXI6aG92ZXJ7Y29sb3I6IzM3NDE2Mn0uYnRuLWxpbmsudGV4dC1kYXJrLXNsYXRlLWJsdWUsLnRleHQtZGFyay1zbGF0ZS1ibHVlLGEudGV4dC1kYXJrLXNsYXRlLWJsdWUtaG92ZXI6aG92ZXJ7Y29sb3I6IzFmMjMyY30uYnRuLWxpbmsudGV4dC1icm93biwudGV4dC1icm93bixhLnRleHQtYnJvd24taG92ZXI6aG92ZXJ7Y29sb3I6Izk4NjI0OH0uYnRuLWxpbmsudGV4dC1ibHVlLXdvb2QsLnRleHQtYmx1ZS13b29kLGEudGV4dC1ibHVlLXdvb2QtaG92ZXI6aG92ZXJ7Y29sb3I6IzM3M2E2M30uYnRuLWxpbmsudGV4dC1wdXJwbGUsLnRleHQtcHVycGxlLGEudGV4dC1wdXJwbGUtaG92ZXI6aG92ZXJ7Y29sb3I6IzUwMmU5NX0uYnRuLWxpbmsudGV4dC1tZWRpdW0tcHVycGxlLC50ZXh0LW1lZGl1bS1wdXJwbGUsYS50ZXh0LW1lZGl1bS1wdXJwbGUtaG92ZXI6aG92ZXJ7Y29sb3I6IzNhMjg1ZX0uYnRuLWxpbmsudGV4dC1kYXJrLXB1cnBsZSwudGV4dC1kYXJrLXB1cnBsZSxhLnRleHQtZGFyay1wdXJwbGUtaG92ZXI6aG92ZXJ7Y29sb3I6IzMzMzA0NX0uYnRuLWxpbmsudGV4dC12ZXJ5LWxpZ2h0LWRlc2VydC1zdG9ybSwudGV4dC12ZXJ5LWxpZ2h0LWRlc2VydC1zdG9ybSxhLnZlcnktbGlnaHQtZGVzZXJ0LXN0b3JtOmhvdmVye2NvbG9yOiNmYWY2ZjN9LmJ0bi1saW5rLnRleHQteWVsbG93LW9jaHJlLC50ZXh0LXllbGxvdy1vY2hyZSxhLnRleHQteWVsbG93LW9jaHJlLWhvdmVyOmhvdmVye2NvbG9yOiNjODk5NjV9LmJ0bi1saW5rLnRleHQteWVsbG93LW9jaHJlLWxpZ2h0LC50ZXh0LXllbGxvdy1vY2hyZS1saWdodCxhLnRleHQteWVsbG93LW9jaHJlLWxpZ2h0LWhvdmVyOmhvdmVye2NvbG9yOiNjMzk2NGV9LmJ0bi1saW5rLnRleHQtZmFzdC15ZWxsb3csLnRleHQtZmFzdC15ZWxsb3csYS50ZXh0LWZhc3QteWVsbG93LWhvdmVyOmhvdmVye2NvbG9yOiNmNGQ5NTZ9LmJ0bi1saW5rLnRleHQteWVsbG93LC50ZXh0LXllbGxvdyxhLnRleHQteWVsbG93LWhvdmVyOmhvdmVye2NvbG9yOiNmZmViMDR9LmJ0bi1saW5rLnRleHQtc2FsbW9uLXJvc2UsLnRleHQtc2FsbW9uLXJvc2UsYS50ZXh0LXNhbG1vbi1yb3NlLWhvdmVyOmhvdmVye2NvbG9yOiNlYTlkOGR9LmJ0bi1saW5rLnRleHQtdHVzc29jaywudGV4dC10dXNzb2NrLGEudGV4dC10dXNzb2NrLWhvdmVyOmhvdmVye2NvbG9yOiNiZjhjNGN9LmJ0bi1saW5rLnRleHQtZ3JlZW5pc2gtc2xhdGUsLnRleHQtZ3JlZW5pc2gtc2xhdGUsYS50ZXh0LWdyZWVuaXNoLXNsYXRlLWhvdmVyOmhvdmVye2NvbG9yOiM0NDVhNTh9LmJ0bi1saW5rLnRleHQtc2Vhc2hlbGwsLnRleHQtc2Vhc2hlbGwsYS50ZXh0LXNlYXNoZWxsLWhvdmVyOmhvdmVye2NvbG9yOiNmOWY2ZjN9LmJ0bi1saW5rLnRleHQtc2hhbXJvY2stZ3JlZW4sLnRleHQtc2hhbXJvY2stZ3JlZW4sYS50ZXh0LXNoYW1yb2NrLWdyZWVuLWhvdmVyOmhvdmVye2NvbG9yOiMyZWQ0N2N9LmJ0bi1saW5rLnRleHQtbGlnaHQtYnJvd25pc2gtb3JhbmdlLC50ZXh0LWxpZ2h0LWJyb3duaXNoLW9yYW5nZSxhLnRleHQtbGlnaHQtYnJvd25pc2gtb3JhbmdlLWhvdmVyOmhvdmVye2NvbG9yOiNlNjk5NGV9LmJ0bi1saW5rLnRleHQtZ3JlZW5pc2gtZ3JheSwudGV4dC1ncmVlbmlzaC1ncmF5LGEudGV4dC1ncmVlbmlzaC1ncmF5LWhvdmVyOmhvdmVye2NvbG9yOiM5Njk4OTZ9LmJ0bi1saW5rLnRleHQtbGlnaHQtZ3JlZW5pc2gtZ3JheSwudGV4dC1saWdodC1ncmVlbmlzaC1ncmF5LGEudGV4dC1saWdodC1ncmVlbmlzaC1ncmF5LWhvdmVyOmhvdmVye2NvbG9yOiM5ZmEyOWZ9LmJ0bi1saW5rLnRleHQteWVsbG93aXNoLWdyZWVuLC50ZXh0LXllbGxvd2lzaC1ncmVlbixhLnRleHQteWVsbG93aXNoLWdyZWVuLWhvdmVyOmhvdmVye2NvbG9yOiNjN2RhMjZ9LmJ0bi1saW5rLnRleHQtY29wcGVyLXJlZCwudGV4dC1jb3BwZXItcmVkLGEudGV4dC1jb3BwZXItcmVkLWhvdmVyOmhvdmVye2NvbG9yOiNjYzc1NGN9LmJ0bi1saW5rLnRleHQtc3VuZ2xvdywudGV4dC1zdW5nbG93LGEudGV4dC1zdW5nbG93LWhvdmVyOmhvdmVye2NvbG9yOiNmZmNjMmV9LmJ0bi1saW5rLnRleHQtb3JhbmdlLXplc3QsLnRleHQtb3JhbmdlLXplc3QsYS50ZXh0LW9yYW5nZS16ZXN0LWhvdmVyOmhvdmVye2NvbG9yOiNjYTc3NDF9LmJ0bi1saW5rLnRleHQtZGFyay10dXNzb2NrLC50ZXh0LWRhcmstdHVzc29jayxhLnRleHQtZGFyay10dXNzb2NrLWhvdmVyOmhvdmVye2NvbG9yOiNiZDg4NGN9LmJ0bi1saW5rLnRleHQtZWNoby1ibHVlLC50ZXh0LWVjaG8tYmx1ZSxhLnRleHQtZWNoby1ibHVlLWhvdmVyOmhvdmVye2NvbG9yOiNhYmFkYjd9LmJ0bi1saW5rLnRleHQtdmlvbGV0LC50ZXh0LXZpb2xldCxhLnRleHQtdmlvbGV0LWhvdmVyOmhvdmVye2NvbG9yOiM4OWFmNDR9LmJ0bi1saW5rLnRleHQtaXJpcy1ibHVlLC50ZXh0LWlyaXMtYmx1ZSxhLnRleHQtaXJpcy1ibHVlLWhvdmVyOmhvdmVye2NvbG9yOiMwMGI4Yjh9LmJ0bi1saW5rLnRleHQtdmVyeS1saWdodC1ncmF5LXRyYW5zcGFyZW50LC50ZXh0LXZlcnktbGlnaHQtZ3JheS10cmFuc3BhcmVudCxhLnRleHQtdmVyeS1saWdodC1ncmF5LXRyYW5zcGFyZW50LWhvdmVyOmhvdmVye2NvbG9yOnJnYmEoMjM3LDIzNywyMzcsLjIyKX0uYnRuLWxpbmsudGV4dC1leHRyYS1kYXJrLWdyYXktdHJhbnNwYXJlbnQsLnRleHQtZXh0cmEtZGFyay1ncmF5LXRyYW5zcGFyZW50LGEudGV4dC1leHRyYS1kYXJrLWdyYXktdHJhbnNwYXJlbnQtaG92ZXI6aG92ZXJ7Y29sb3I6cmdiYSg0Niw0Niw0NiwuMTUpfS5idG4tbGluay50ZXh0LWRhcmstZ3JheS10cmFuc3BhcmVudCwudGV4dC1kYXJrLWdyYXktdHJhbnNwYXJlbnQsYS50ZXh0LWRhcmstZ3JheS10cmFuc3BhcmVudC1ob3Zlcjpob3Zlcntjb2xvcjpyZ2JhKDk4LDk4LDk4LC4xKX0uYnRuLWxpbmsudGV4dC13aGl0ZS10cmFuc3BhcmVudCwudGV4dC13aGl0ZS10cmFuc3BhcmVudCxhLnRleHQtd2hpdGUtdHJhbnNwYXJlbnQtaG92ZXI6aG92ZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNyl9LmJ0bi1saW5rLnRleHQtbWVkaXVtLXdoaXRlLXRyYW5zcGFyZW50LC50ZXh0LW1lZGl1bS13aGl0ZS10cmFuc3BhcmVudCxhLnRleHQtdmVyeS1saWdodC13aGl0ZS10cmFuc3BhcmVudC1ob3Zlcjpob3Zlcntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX0uYnRuLWxpbmsudGV4dC12ZXJ5LWxpZ2h0LXdoaXRlLXRyYW5zcGFyZW50LC50ZXh0LXZlcnktbGlnaHQtd2hpdGUtdHJhbnNwYXJlbnQsYS50ZXh0LXZlcnktbGlnaHQtd2hpdGUtdHJhbnNwYXJlbnQtaG92ZXI6aG92ZXJ7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyl9LnRleHQtZ3JhZGllbnQtbWFnZW50YS1vcmFuZ2V7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2U0MjQ2NCwjZTQyNDY0LCNmNDRmNWMsI2ZhNjI1OSwjZmY3MzU3KTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50fS50ZXh0LWdyYWRpZW50LW1hZ2VudGEtb3JhbmdlLTJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2VjNjA2YywjZWU2MzYyLCNlZTY3NTcsI2VkNmM0ZCwjZWI3MjQyKTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50fS50ZXh0LWdyYWRpZW50LXB1cnBsZS1tYWdlbnRhe2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCM1MDI5NzAsIzUwMjk3MCwjYWMyNzc1LCNkNDJkNmIsI2YzNDI1OSk7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudH0udGV4dC1ncmFkaWVudC1saWdodC1wdXJwbGUtbGlnaHQtb3Jhbmdle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNiNzgzZmYsI2I3ODNmZiwjZmE3Y2MxLCNmZjg1YTYsI2ZmOTM5Myk7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudH0udGV4dC1ncmFkaWVudC1za3ktYmx1ZS1waW5re2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCM1NTZmZmYsIzU1NmZmZiwjZTA1ZmM0LCNmNzY3YTYsI2ZmNzk4ZSk7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudH0udGV4dC1ncmFkaWVudC1za3ktYmx1ZS1kYXJrLXBpbmt7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzUwNjVkYSwjNTU2ZmZmLCNjNTU3YWQsI2U2NWY5YSwjZTY2MTc2KTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50fS50ZXh0LWdyYWRpZW50LXNreS1ibHVlLXBpbmstMntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsIzY2NzBlZCwjNTU2ZmZmLCNkNDVlYmEsI2Y3NjdhNiwjZjU2NjdkKTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50fS50ZXh0LWdyYWRpZW50LXBlYWNvY2stYmx1ZS1jcm9tZS15ZWxsb3d7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzM2YzFlMSwjMzZjMWUxLCM3NGNmOGUsI2JhYzk2MiwjZmViOTViKTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50fS50ZXh0LWdyYWRpZW50LXBlYWNvY2stYmx1ZS1jcm9tZS15ZWxsb3ctMntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjNWNjMDg4LCM1MGMyOGQsIzgzYjg3OSwjYzlhOTVlLCNkZGE1NTYpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnR9LnRleHQtZ3JhZGllbnQtZmFzdC1ibHVlLXB1cnBsZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjMDAzOWUzLCMwMDM5ZTMsIzVlMjhkZCwjNzQxYmQ5LCM4NjAwZDQpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnR9LnRleHQtZ3JhZGllbnQtdGFuLWdlcmFsZGluZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZmY5ZTc4LCNmZjk5NzksI2ZmODg3YywjZmY3YzdkLCNmZjc2N2UpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnR9LnRleHQtZ3JhZGllbnQtdHVzc29jay1ncmVlbmlzaC1zbGF0ZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjYmY4YzRjIDAsIzQ0NWE1OCAxMDAlKTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50fS50ZXh0LWdyYWRpZW50LWxpZ2h0LXB1cnBsZS1saWdodC1yZWR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzk3NWFkZSwjYWY2M2QyLCNkNDczYzAsI2VmN2RhNywjZTY2ODZmKTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50fS50ZXh0LWdyYWRpZW50LWxpZ2h0LWJyb3duaXNoLW9yYW5nZS1ibGFja3tiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZTc5ZTU3LCM5ZDkwNDksIzYyNzk0YywjNDA1YzRjLCMzNTNkM2MpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnR9LnRleHQtZ3JhZGllbnQtdHVycXVvaXNlLWdyZWVuLXllbGxvd2lzaHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjM2VkZmI2LCM1OGU0OWEsIzdjZTg3OCwjYTVlODUwLCNkMGU1MWIpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnR9LnRleHQtZ3JhZGllbnQtcmVkLXZpb2xldC1wdXJwbGV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2I5M2M5MCwjYTkyYTk2LCM5NTFhOWQsIzdiMTBhNSwjNTQxMmFlKTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tbGluay50ZXh0LWdyYWRpZW50LW9yYW5nZS1waW5rLC50ZXh0LWdyYWRpZW50LW9yYW5nZS1waW5rLGEudGV4dC1ncmFkaWVudC1vcmFuZ2UtcGluayxhLnRleHQtZ3JhZGllbnQtb3JhbmdlLXBpbmstaG92ZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2ZmNjU1NyAwLCNmZjM2N2MgMTAwJSk7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLWxpbmsudGV4dC1ncmFkaWVudC1mdWVnby10dXJxdW9pc2UsLnRleHQtZ3JhZGllbnQtZnVlZ28tdHVycXVvaXNlLGEudGV4dC1ncmFkaWVudC1mdWVnby10dXJxdW9pc2UsYS50ZXh0LWdyYWRpZW50LWZ1ZWdvLXR1cnF1b2lzZS1ob3Zlcjpob3ZlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCMwY2Q2YTIsIzU2ZGU5YywjOTFkYzVkLCNhZWRiNDAsI2M3ZGEyNik7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudH0udGV4dC1ib3JkZXJ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDoxcHg7LXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjojZmZmfS50ZXh0LWJvcmRlci13aWR0aC0xcHh7LXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDoxcHh9LnRleHQtYm9yZGVyLXdpZHRoLTJweHstd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOjJweH0udGV4dC1ib3JkZXItd2lkdGgtM3B4ey13ZWJraXQtdGV4dC1zdHJva2Utd2lkdGg6M3B4fS50ZXh0LWJvcmRlci13aWR0aC00cHh7LXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDo0cHh9LnRleHQtYm9yZGVyLXdpZHRoLTVweHstd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOjVweH0udGV4dC1ib3JkZXItY29sb3ItYmxhY2t7LXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjojMDAwfS5sZXR0ZXItc3BhY2luZy0xLWhhbGZ7bGV0dGVyLXNwYWNpbmc6LjVweH0ubGV0dGVyLXNwYWNpbmctMXB4e2xldHRlci1zcGFjaW5nOjFweH0ubGV0dGVyLXNwYWNpbmctMnB4e2xldHRlci1zcGFjaW5nOjJweH0ubGV0dGVyLXNwYWNpbmctM3B4e2xldHRlci1zcGFjaW5nOjNweH0ubGV0dGVyLXNwYWNpbmctNHB4e2xldHRlci1zcGFjaW5nOjRweH0ubGV0dGVyLXNwYWNpbmctNXB4e2xldHRlci1zcGFjaW5nOjVweH0ubGV0dGVyLXNwYWNpbmctOHB4e2xldHRlci1zcGFjaW5nOjhweH0ubGV0dGVyLXNwYWNpbmctMTBweHtsZXR0ZXItc3BhY2luZzoxMHB4fS5sZXR0ZXItc3BhY2luZy0xNXB4e2xldHRlci1zcGFjaW5nOjE1cHh9LmxldHRlci1zcGFjaW5nLTIwcHh7bGV0dGVyLXNwYWNpbmc6MjBweH0ubGV0dGVyLXNwYWNpbmctMjJweHtsZXR0ZXItc3BhY2luZzoyMnB4fS5sZXR0ZXItc3BhY2luZy0yNXB4e2xldHRlci1zcGFjaW5nOjI1cHh9LmxldHRlci1zcGFjaW5nLW1pbnVzLTEtaGFsZntsZXR0ZXItc3BhY2luZzotLjVweH0ubGV0dGVyLXNwYWNpbmctbWludXMtMXB4e2xldHRlci1zcGFjaW5nOi0xcHh9LmxldHRlci1zcGFjaW5nLW1pbnVzLTJweHtsZXR0ZXItc3BhY2luZzotMnB4fS5sZXR0ZXItc3BhY2luZy1taW51cy0zcHh7bGV0dGVyLXNwYWNpbmc6LTNweH0ubGV0dGVyLXNwYWNpbmctbWludXMtNHB4e2xldHRlci1zcGFjaW5nOi00cHh9LmxldHRlci1zcGFjaW5nLW1pbnVzLTVweHtsZXR0ZXItc3BhY2luZzotNXB4fS5sZXR0ZXItc3BhY2luZy1taW51cy02cHh7bGV0dGVyLXNwYWNpbmc6LTZweH0ubGV0dGVyLXNwYWNpbmctbWludXMtN3B4e2xldHRlci1zcGFjaW5nOi03cHh9LmxldHRlci1zcGFjaW5nLW1pbnVzLThweHtsZXR0ZXItc3BhY2luZzotOHB4fS5sZXR0ZXItc3BhY2luZy1taW51cy05cHh7bGV0dGVyLXNwYWNpbmc6LTlweH0ubGV0dGVyLXNwYWNpbmctbWludXMtMTBweHtsZXR0ZXItc3BhY2luZzotMTBweH0ubGV0dGVyLXNwYWNpbmctaW5oZXJpdHtsZXR0ZXItc3BhY2luZzppbmhlcml0fS53aGl0ZS1zcGFjZS1ub3JtYWx7d2hpdGUtc3BhY2U6bm9ybWFsfS5mb250LXdlaWdodC0xMDB7Zm9udC13ZWlnaHQ6MTAwIWltcG9ydGFudH0uZm9udC13ZWlnaHQtMjAwe2ZvbnQtd2VpZ2h0OjIwMCFpbXBvcnRhbnR9LmZvbnQtd2VpZ2h0LTMwMHtmb250LXdlaWdodDozMDAhaW1wb3J0YW50fS5mb250LXdlaWdodC00MDB7Zm9udC13ZWlnaHQ6NDAwIWltcG9ydGFudH0uZm9udC13ZWlnaHQtNTAwe2ZvbnQtd2VpZ2h0OjUwMCFpbXBvcnRhbnR9LmZvbnQtd2VpZ2h0LTYwMHtmb250LXdlaWdodDo2MDAhaW1wb3J0YW50fS5mb250LXdlaWdodC03MDB7Zm9udC13ZWlnaHQ6NzAwIWltcG9ydGFudH0uZm9udC13ZWlnaHQtODAwe2ZvbnQtd2VpZ2h0OjgwMCFpbXBvcnRhbnR9LmZvbnQtd2VpZ2h0LTkwMHtmb250LXdlaWdodDo5MDAhaW1wb3J0YW50fS50ZXh0LW5vcm1hbHt0ZXh0LXRyYW5zZm9ybTp1bnNldCFpbXBvcnRhbnR9LnRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0udGV4dC1kZWNvcmF0aW9uLW5vbmV7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LndvcmQtd3JhcHt3b3JkLXdyYXA6YnJlYWstd29yZH0udGV4dC10cmFuc2Zvcm0tbm9uZXt0ZXh0LXRyYW5zZm9ybTpub25lfS5saW5lLWhlaWdodC11bnNldHtsaW5lLWhlaWdodDp1bnNldH0ubGluZS1oZWlnaHQtbm9ybWFse2xpbmUtaGVpZ2h0Om5vcm1hbH0ubGluZS1oZWlnaHQtbm9uZXtsaW5lLWhlaWdodDowfS50ZXh0LWRlY29yYXRpb24tbGluZS10aHJvdWdoe3RleHQtZGVjb3JhdGlvbjpsaW5lLXRocm91Z2h9LnRleHQtZGVjb3JhdGlvbi11bmRlcmxpbmUteWVsbG93e3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7dGV4dC1kZWNvcmF0aW9uLWNvbG9yOiNmZWUxMWM7LXdlYmtpdC10ZXh0LWRlY29yYXRpb24tY29sb3I6I2ZlZTExY30udGV4dC1oaWdobGlnaHR7cGFkZGluZzo0cHggMTZweH0udGV4dC1kZWNvcmF0aW9uLWxpbmUtYm90dG9tLC50ZXh0LWRlY29yYXRpb24tbGluZS1ib3R0b20tbWVkaXVtLC50ZXh0LWRlY29yYXRpb24tbGluZS1ib3R0b20tdGhpY2ssLnRleHQtZGVjb3JhdGlvbi1saW5lLXRoaWNrLC50ZXh0LWRlY29yYXRpb24tbGluZS13aWRlLC50ZXh0LW1pZGRsZS1saW5le3Bvc2l0aW9uOnJlbGF0aXZlO3doaXRlLXNwYWNlOm5vd3JhcH0udGV4dC1taWRkbGUtbGluZTpiZWZvcmV7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjt3aWR0aDoxMDAlO3RvcDo1MCU7bGVmdDowO29wYWNpdHk6LjM1fS50ZXh0LWRlY29yYXRpb24tbGluZS13aWRlOmJlZm9yZXtjb250ZW50OiIiO2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2xlZnQ6LTEwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDpjYWxjKDEwMCUgKyAyMHB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS50ZXh0LWRlY29yYXRpb24tbGluZS10aGljazpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDo0cHg7YmFja2dyb3VuZDojMzMzO2xlZnQ6MDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ei1pbmRleDotMX0udGV4dC1kZWNvcmF0aW9uLWxpbmUtYm90dG9tOmJlZm9yZXtjb250ZW50OiIiO2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTt3aWR0aDoxMDAlfS50ZXh0LWRlY29yYXRpb24tbGluZS1ib3R0b20tbWVkaXVtOmJlZm9yZXtjb250ZW50OiIiO2JvcmRlci1ib3R0b206MnB4IHNvbGlkO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OTAlO3dpZHRoOjEwMCV9LnRleHQtZGVjb3JhdGlvbi1saW5lLWJvdHRvbS10aGljazpiZWZvcmV7Y29udGVudDoiIjtib3JkZXItYm90dG9tOjNweCBzb2xpZDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjg1JTt3aWR0aDoxMDAlfS50ZXh0LWRlY29yYXRpb24tbGluZS1ib3R0b20tZ3JhZGllbnR7cG9zaXRpb246cmVsYXRpdmV9LnRleHQtZGVjb3JhdGlvbi1saW5lLWJvdHRvbS1ncmFkaWVudCBzcGFue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDt3aWR0aDoxMDAlO2hlaWdodDoxcHh9LmZpcnN0LWxldHRlcntmbG9hdDpsZWZ0O2ZvbnQtc2l6ZTo1MHB4O2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW46MCAyMHB4IDAgMDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjEwcHggMDtmb250LXdlaWdodDo2MDB9LmZpcnN0LWxldHRlci1iaWd7ZmxvYXQ6bGVmdDtmb250LXNpemU6MTAwcHg7bGluZS1oZWlnaHQ6MTAwcHg7bWFyZ2luOjAgMzVweCAwIDA7cGFkZGluZzowIDhweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDo2MDA7cG9zaXRpb246cmVsYXRpdmV9LmZpcnN0LWxldHRlci1iaWc6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3RvcDo1NSU7bGVmdDowfS5maXJzdC1sZXR0ZXItYmxvY2t7Zm9udC1zaXplOjMwcHg7aGVpZ2h0OjU1cHg7bGluZS1oZWlnaHQ6MjVweDtwYWRkaW5nOjE1cHggMDt3aWR0aDo1NXB4O2ZvbnQtd2VpZ2h0OjUwMDttYXJnaW4tdG9wOjVweH0uZmlyc3QtbGV0dGVyLWJsb2NrLXJvdW5ke2JvcmRlci1yYWRpdXM6NnB4O2JvcmRlcjoxcHggc29saWR9LmZpcnN0LWxldHRlci1yb3VuZHtib3JkZXItcmFkaXVzOjUwJTtmb250LXNpemU6MzVweDtwYWRkaW5nOjE1cHg7d2lkdGg6NjVweDtoZWlnaHQ6NjVweDtsaW5lLWhlaWdodDozNXB4fS5saW5lLWhlaWdodC0wcHh7bGluZS1oZWlnaHQ6MH0ubGluZS1oZWlnaHQtOHB4e2xpbmUtaGVpZ2h0OjhweH0ubGluZS1oZWlnaHQtMTBweHtsaW5lLWhlaWdodDoxMHB4fS5saW5lLWhlaWdodC0xMnB4e2xpbmUtaGVpZ2h0OjEycHh9LmxpbmUtaGVpZ2h0LTE0cHh7bGluZS1oZWlnaHQ6MTRweH0ubGluZS1oZWlnaHQtMTVweHtsaW5lLWhlaWdodDoxNXB4fS5saW5lLWhlaWdodC0xNnB4e2xpbmUtaGVpZ2h0OjE2cHh9LmxpbmUtaGVpZ2h0LTE4cHh7bGluZS1oZWlnaHQ6MThweH0ubGluZS1oZWlnaHQtMjBweHtsaW5lLWhlaWdodDoyMHB4fS5saW5lLWhlaWdodC0yMnB4e2xpbmUtaGVpZ2h0OjIycHh9LmxpbmUtaGVpZ2h0LTI0cHh7bGluZS1oZWlnaHQ6MjRweH0ubGluZS1oZWlnaHQtMjZweHtsaW5lLWhlaWdodDoyNnB4fS5saW5lLWhlaWdodC0yOHB4e2xpbmUtaGVpZ2h0OjI4cHh9LmxpbmUtaGVpZ2h0LTMwcHh7bGluZS1oZWlnaHQ6MzBweH0ubGluZS1oZWlnaHQtMzJweHtsaW5lLWhlaWdodDozMnB4fS5saW5lLWhlaWdodC0zNHB4e2xpbmUtaGVpZ2h0OjM0cHh9LmxpbmUtaGVpZ2h0LTM2cHh7bGluZS1oZWlnaHQ6MzZweH0ubGluZS1oZWlnaHQtMzhweHtsaW5lLWhlaWdodDozOHB4fS5saW5lLWhlaWdodC00MHB4e2xpbmUtaGVpZ2h0OjQwcHh9LmxpbmUtaGVpZ2h0LTQycHh7bGluZS1oZWlnaHQ6NDJweH0ubGluZS1oZWlnaHQtNDRweHtsaW5lLWhlaWdodDo0NHB4fS5saW5lLWhlaWdodC00NnB4e2xpbmUtaGVpZ2h0OjQ2cHh9LmxpbmUtaGVpZ2h0LTUwcHh7bGluZS1oZWlnaHQ6NTBweH0ubGluZS1oZWlnaHQtNTVweHtsaW5lLWhlaWdodDo1NXB4fS5saW5lLWhlaWdodC02MHB4e2xpbmUtaGVpZ2h0OjYwcHh9LmxpbmUtaGVpZ2h0LTY1cHh7bGluZS1oZWlnaHQ6NjVweH0ubGluZS1oZWlnaHQtNzBweHtsaW5lLWhlaWdodDo3MHB4fS5saW5lLWhlaWdodC03NXB4e2xpbmUtaGVpZ2h0Ojc1cHh9LmxpbmUtaGVpZ2h0LTgwcHh7bGluZS1oZWlnaHQ6ODBweH0ubGluZS1oZWlnaHQtODVweHtsaW5lLWhlaWdodDo4NXB4fS5saW5lLWhlaWdodC05MHB4e2xpbmUtaGVpZ2h0OjkwcHh9LmxpbmUtaGVpZ2h0LTk1cHh7bGluZS1oZWlnaHQ6OTVweH0ubGluZS1oZWlnaHQtMTAwcHh7bGluZS1oZWlnaHQ6MTAwcHh9LmxpbmUtaGVpZ2h0LTEyMHB4e2xpbmUtaGVpZ2h0OjEyMHB4fS5saW5lLWhlaWdodC0xNDBweHtsaW5lLWhlaWdodDoxNDBweH0ubGluZS1oZWlnaHQtMTYwcHh7bGluZS1oZWlnaHQ6MTYwcHh9LmxpbmUtaGVpZ2h0LTE3MHB4e2xpbmUtaGVpZ2h0OjE3MHB4fS5iZy13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmJnLWJsYWNre2JhY2tncm91bmQtY29sb3I6IzAwMH0uYmctc21va3ktYmxhY2t7YmFja2dyb3VuZC1jb2xvcjojMTAxMDEwfS5iZy1kYXJrLWdyYXl7YmFja2dyb3VuZC1jb2xvcjojNzU3NTc1fS5iZy1leHRyYS1kYXJrLWdyYXl7YmFja2dyb3VuZC1jb2xvcjojMjMyMzIzfS5iZy1leHRyYS1kYXJrLWdyYXktMntiYWNrZ3JvdW5kLWNvbG9yOiMwNjA2MDZ9LmJnLWV4dHJhLW1lZGl1bS1ncmF5e2JhY2tncm91bmQtY29sb3I6IzkzOTM5M30uYmctbWVkaXVtLWdyYXl7YmFja2dyb3VuZC1jb2xvcjojZTRlNGU0fS5iZy1leHRyYS1saWdodC1ncmF5e2JhY2tncm91bmQtY29sb3I6I2NmY2ZjZn0uYmctbWVkaXVtLWxpZ2h0LWdyYXl7YmFja2dyb3VuZC1jb2xvcjojZWRlZGVkfS5iZy12ZXJ5LWxpZ2h0LWdyYXl7YmFja2dyb3VuZC1jb2xvcjojZmFmYWZhfS5iZy1uZXJvLWdyYXl7YmFja2dyb3VuZC1jb2xvcjojMTQxNDE0fS5iZy1saWdodC1ncmF5e2JhY2tncm91bmQtY29sb3I6I2Y3ZjdmN30uYmctYnJpZ2h0LXJlZHtiYWNrZ3JvdW5kLWNvbG9yOiM5ODI3MmF9LmJnLWZhc3QtYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDM4ZTN9LmJnLW5lb24tYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMzNDUyZmZ9LmJnLXRyYW5zcGFyZW50e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJnLXNreS1ibHVle2JhY2tncm91bmQtY29sb3I6IzJlOTRlYn0uYmctZ3JlZW57YmFja2dyb3VuZC1jb2xvcjojMjdhZTYwfS5iZy1vbGl2aW5lLWdyZWVue2JhY2tncm91bmQtY29sb3I6IzhiYjg2N30uYmctb3Jhbmdle2JhY2tncm91bmQtY29sb3I6I2ZkOTYxZX0uYmctZGFyay1vcmFuZ2V7YmFja2dyb3VuZC1jb2xvcjojZmY2NDM3fS5iZy1uZW9uLW9yYW5nZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZjdhNTZ9LmJnLXZlcnktbGlnaHQtb3Jhbmdle2JhY2tncm91bmQtY29sb3I6I2ZmZjlmNn0uYmctZGFyay1yZWR7YmFja2dyb3VuZC1jb2xvcjojZTEyODM3fS5iZy1yZWR7YmFja2dyb3VuZC1jb2xvcjojZmUwMTI3fS5iZy1kYXJrLXJlZHtiYWNrZ3JvdW5kLWNvbG9yOiNkMjMxMzR9LmJnLWxpZ2h0LXBpbmt7YmFja2dyb3VuZC1jb2xvcjojZjc0OTYxfS5iZy12ZXJ5LWxpZ2h0LXBpbmt7YmFja2dyb3VuZC1jb2xvcjojZjdlZGVlfS5iZy1wYXJyb3QtZ3JlZW57YmFja2dyb3VuZC1jb2xvcjojY2VlMDAyfS5iZy1zbGF0ZS1ibHVle2JhY2tncm91bmQtY29sb3I6IzI2MmIzNX0uYmctbWVkaXVtLXNsYXRlLWJsdWV7YmFja2dyb3VuZC1jb2xvcjojMzc0MTYyfS5iZy1leHRyYS1tZWRpdW0tc2xhdGUtYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMzI2MmR9LmJnLWRhcmstc2xhdGUtYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMxZjIzMmN9LmJnLWxpZ2h0LXBlYWNoe2JhY2tncm91bmQtY29sb3I6I2ZmZDdjNH0uYmctYnJvd257YmFja2dyb3VuZC1jb2xvcjojOTg2MjQ4fS5iZy1ibHVlLXdvb2R7YmFja2dyb3VuZC1jb2xvcjojMzczYTYzfS5iZy1wdXJwbGV7YmFja2dyb3VuZC1jb2xvcjojNTAyZTk1fS5iZy1tZWRpdW0tcHVycGxle2JhY2tncm91bmQtY29sb3I6IzNhMjg1ZX0uYmctZGFyay1wdXJwbGV7YmFja2dyb3VuZC1jb2xvcjojMzMzMDQ1fS5iZy1kYXJrLXB1cnBsZS0ye2JhY2tncm91bmQtY29sb3I6IzI0MTUyNn0uYmcteWVsbG93LW9jaHJle2JhY2tncm91bmQtY29sb3I6I2M4OTk2NX0uYmctbGlnaHQtZGVzZXJ0LXN0b3Jte2JhY2tncm91bmQtY29sb3I6I2Y4ZjJlYn0uYmctbWVkaXVtLWRlc2VydC1zdG9ybXtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU3ZGV9LmJnLXllbGxvdy1vY2hyZS1saWdodHtiYWNrZ3JvdW5kLWNvbG9yOiNjMzk2NGV9LmJnLXllbGxvd3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmViMDR9LmJnLXZlcnktbGlnaHQtZGVzZXJ0LXN0b3Jte2JhY2tncm91bmQtY29sb3I6I2ZhZjZmM30uYmctbGlnaHQtYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y4ZmN9LmJnLXBlbmd1aW4td2hpdGV7YmFja2dyb3VuZC1jb2xvcjojZjFlZGVhfS5iZy10dXNzb2Nre2JhY2tncm91bmQtY29sb3I6I2JmOGM0Y30uYmctZ3JlZW5pc2gtc2xhdGV7YmFja2dyb3VuZC1jb2xvcjojNDQ1YTU4fS5iZy1zZWFzaGVsbHtiYWNrZ3JvdW5kLWNvbG9yOiNmOWY2ZjN9LmJnLXNoYW1yb2NrLWdyZWVue2JhY2tncm91bmQtY29sb3I6IzJlZDQ3Y30uYmctbGlnaHQtb3Jhbmdle2JhY2tncm91bmQtY29sb3I6I2ZmZGVkOH0uYmctbGlnaHQtY3JlYW17YmFja2dyb3VuZC1jb2xvcjojZjhmNGYwfS5iZy1nb2xkZW57YmFja2dyb3VuZC1jb2xvcjojY2E5NDNkfS5iZy1saWdodC1icm93bmlzaC1vcmFuZ2V7YmFja2dyb3VuZC1jb2xvcjojZTY5OTRlfS5iZy1ncmVlbmlzaC1ncmF5e2JhY2tncm91bmQtY29sb3I6Izk2OTg5Nn0uYmctZmFzdC15ZWxsb3d7YmFja2dyb3VuZC1jb2xvcjojZjRkOTU2fS5iZy1saWdodC1ncmVlbmlzaC1ncmF5e2JhY2tncm91bmQtY29sb3I6I2YwZjJmMH0uYmctY29kLWdyYXl7YmFja2dyb3VuZC1jb2xvcjojMTMxMzEzfS5iZy15ZWxsb3dpc2gtZ3JlZW57YmFja2dyb3VuZC1jb2xvcjojYzdkYTI2fS5iZy1jb3BwZXItcmVke2JhY2tncm91bmQtY29sb3I6I2NjNzU0Y30uYmctc3VuZ2xvd3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmNjMmV9LmJnLW9yYW5nZS16ZXN0e2JhY2tncm91bmQtY29sb3I6I2NhNzc0MX0uYmctZGFyay10dXNzb2Nre2JhY2tncm91bmQtY29sb3I6I2JkODg0Y30uYmctZ29sZGVuLWJyb3due2JhY2tncm91bmQtY29sb3I6I2NkOTQ1Mn0uYmctc29saXR1ZGV7YmFja2dyb3VuZC1jb2xvcjojZjRmNWY5fS5iZy1lYXN0LWJheXtiYWNrZ3JvdW5kLWNvbG9yOiM0YzUwNWZ9LmJnLXF1YXJ0entiYWNrZ3JvdW5kLWNvbG9yOiNlMWUyZTl9LmJnLWlyaXMtYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMGI4Yjh9LmJnLWxpZ2h0LWlyaXMtYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiNmMGY5Zjl9LmJnLWRhcmstaXJpcy1ibHVle2JhY2tncm91bmQtY29sb3I6IzA0OGM4Y30uYmctdHJhbnNwYXJlbnQtYmxhY2t7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KX0uYmctdHJhbnNwYXJlbnQtYmxhY2stbGlnaHR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4zNSl9LmJnLXRyYW5zcGFyZW50LWJsYWNrLXZlcnktbGlnaHR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xMil9LmJnLXRyYW5zcGFyZW50LWRlZXAtZ3JlZW57YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDExNSwxODAsMTAzLC45KX0uYmctdHJhbnNwYXJlbnQtZGFyay1ncmF5e2JhY2tncm91bmQtY29sb3I6cmdiYSgxMTcsMTE3LDExNywuNSl9LmJnLXRyYW5zcGFyZW50LW1lbmdvLXllbGxvd3tiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU0LDE4NywyNiwuOSl9LmJnLXRyYW5zcGFyZW50LWNob2NvbGF0ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjAxLDE1MywxMDEsLjkpfS5iZy10cmFuc3BhcmVudC1leHRyYS1kYXJrLWdyYXl7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LC45KX0uYmctdHJhbnNwYXJlbnQtZXh0cmEtZGFyay1ncmF5MntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzAsMzAsMzAsLjgpfS5iZy10cmFuc3BhcmVudC13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpfS5iZy10cmFuc3BhcmVudC13aGl0ZTJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0uYmctdHJhbnNwYXJlbnQtd2hpdGUze2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMTgpfS5iZy10cmFuc3BhcmVudC1kYXJrLXB1cnBsZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoODYsNzksMjIwLC45KX0uYmctdHJhbnNwYXJlbnQtZGFyay1wdXJwbGUtMntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzYsMjEsMzgsLjkpfS5iZy10cmFuc3BhcmVudC1yZWR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIyNSw0MCw1NSwuOSl9LmJnLXRyYW5zcGFyZW50LWxpZ2h0LXJlZHtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU0LDEsMzksLjgpfS5iZy10cmFuc3BhcmVudC1za3ktYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzMsMTM2LDIyNCwuOCl9LmJnLXRyYW5zcGFyZW50LWZhc3QtYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCw1NiwyMjcsLjkpfS5iZy10cmFuc3BhcmVudC1mYXN0LWJsdWUye2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDU2LDIyNywuOCl9LmJnLXRyYW5zcGFyZW50LXllbGxvdy1vY2hyZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjAwLDE1MywxMDEsLjgpfS5iZy10cmFuc3BhcmVudC1nb2xkZW4tYnJvd257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIwNSwxNDgsODIsLjgpfS5iZy10cmFuc3BhcmVudC1pcmlzLWJsdWV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTg0LDE4NCwuOSl9LmJnLWdyYWRpZW50LW1hZ2VudGEtb3Jhbmdle2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjZTQyNDY0LCNlZDNjNWYsI2Y0NGY1YywjZmE2MjU5LCNmZjczNTcpfS5iZy1ncmFkaWVudC1tYWdlbnRhLW9yYW5nZS0ye2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjZWM2MDZjLCNlZTYzNjIsI2VlNjc1NywjZWQ2YzRkLCNlYjcyNDIpfS5iZy1ncmFkaWVudC1wdXJwbGUtbWFnZW50YXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsIzUwMjk3MCwjN2YyOTc3LCNhYzI3NzUsI2Q0MmQ2YiwjZjM0MjU5KX0uYmctZ3JhZGllbnQtbGlnaHQtcHVycGxlLWxpZ2h0LW9yYW5nZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsI2I3ODNmZiwjZTM3YmUwLCNmYTdjYzEsI2ZmODVhNiwjZmY5MzkzKX0uYmctZ3JhZGllbnQtc2t5LWJsdWUtcGlua3tiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsIzU1NmZmZiwjYjI2M2U0LCNlMDVmYzQsI2Y3NjdhNiwjZmY3OThlKX0uYmctZ3JhZGllbnQtcGVhY29jay1ibHVlLWNyb21lLXllbGxvd3tiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsIzM2YzFlMSwjMjhjY2MwLCM3NGNmOGUsI2JhYzk2MiwjZmViOTViKX0uYmctZ3JhZGllbnQtZmFzdC1ibHVlLXB1cnBsZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsIzAwMzllMywjNDEzMmUwLCM1ZTI4ZGQsIzc0MWJkOSwjODYwMGQ0KX0uYmctZ3JhZGllbnQtb3JhbmdlLXBpbmt7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgdG9wLCNmZjY1NTcsI2ZmNWE1ZiwjZmY0ZTY4LCNmZjQyNzEsI2ZmMzY3Yyl9LmJnLWdyYWRpZW50LWxpZ2h0LW9yYW5nZS1saWdodC1waW5re2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjZjViYjhkLCNmZWIzOTksI2ZmYWVhOCwjZmRhYWI5LCNmM2FhY2EpfS5iZy1ncmFkaWVudC13aGl0ZS1saWdodC1ncmF5e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZmZmLCNmZGZkZmQsI2ZiZmJmYiwjZjlmOWY5LCNmN2Y3ZjcpfS5iZy1ncmFkaWVudC1zb2xpdHVkZS13aGl0ZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byB0b3AsI2Y0ZjVmOSwjZjRmNWY5LCNmYmZiZmQsI2ZmZiwjZmZmKX0uYmctZ3JhZGllbnQtbGlnaHQtZ3JheS13aGl0ZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2Y3ZjdmNywjZjlmOWY5LCNmYmZiZmIsI2ZkZmRmZCwjZmZmKX0uYmctZ3JhZGllbnQtdGFuLWdlcmFsZGluZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsI2ZiN2Y4NywjZmM4YTgyLCNmYjk1N2YsI2ZhOWY3ZiwjZjdhYTgwKX0uYmctZ3JhZGllbnQtd2hpdGUtbGlnaHR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzAwMCxyZ2JhKDAsMCwwLC42NiksaHNsYSgwLDAlLDAlLC40KSxyZ2JhKDAsMCwwLC40MikscmdiYSgwLDAsMCwuMSkpfS5iZy1ncmFkaWVudC1ibGFjay10cmFuc3BhcmVudHtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwwKSAwLCMwMDAgMTAwJSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCxyZ2JhKDAsMCwwLDApKSxjb2xvci1zdG9wKDEwMCUsIzAwMCkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMCkgMCwjMDAwIDEwMCUpO2JhY2tncm91bmQ6LW8tbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAsIzAwMCAxMDAlKTtiYWNrZ3JvdW5kOi1tcy1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMCkgMCwjMDAwIDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDAsMCwwLDApIDAsIzAwMCAxMDAlKX0uYmctZ3JhZGllbnQtdGFuLWdlcmFsZGluZS0ye2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNmZjc4OGQsI2ZmODI4NiwjZmU4NjgxLCNmZThkN2QsI2ZmOTU3OCl9LmJnLWdyYWRpZW50LWRhcmstc2xhdGUtYmx1ZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjMjUyYzNlLHJnYmEoMzcsNDQsNjIsLjY2KSxyZ2JhKDM3LDQ0LDYyLC40MikscmdiYSgzNyw0NCw2MiwuMSkscmdiYSgzNyw0NCw2MiwwKSl9LmJnLWdyYWRpZW50LWxpZ2h0LXZpb2xldC1saWdodC1vcmFuZ2V7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgdG9wLCMyZjA5NTksIzNiMTA1OSwjNWMyMzU5LCNiODU0NTcsI2ZkNzk1Nil9LmJnLWdyYWRpZW50LXR1c3NvY2stZ3JlZW5pc2gtc2xhdGV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDBkZWcsI2JmOGM0YyAwLCM0NDVhNTggMTAwJSl9LmJnLWdyYWRpZW50LWJsYWNrLWJsdWV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMzBkZWcsIzA0MDUwNiAwLCMxMzBlM2UgMTAwJSl9LmJnLWdyYWRpZW50LXNoYW1yb2NrLWdyZWVuLWxpZ2h0LW9yYW5nZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgyMGRlZywjMmVkNDdjIDAsI2U4YmY0NyAxMDAlKX0uYmctZ3JhZGllbnQtZGFyay1zbGF0ZS1ibHVlLXRyYW5zcGFyZW50e2JhY2tncm91bmQ6cmdiYSgzMSwzNSw0NCwwKTtiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAsIzFmMjMyYyAxMDAlKTtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLHJnYmEoMCwwLDAsMCkpLGNvbG9yLXN0b3AoMTAwJSwjMWYyMzJjKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwwKSAwLCMxZjIzMmMgMTAwJSk7YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMCkgMCwjMWYyMzJjIDEwMCUpO2JhY2tncm91bmQ6LW1zLWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwwKSAwLCMxZjIzMmMgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsMCkgMCwjMWYyMzJjIDEwMCUpfS5iZy1ncmFkaWVudC1saWdodC1wdXJwbGUtbGlnaHQtcmVke2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjYmI4NWY5LCNjODg3ZTUsI2RhOGJjYSwjZWI4ZmIwLCNmYjkzOTgpfS5iZy1ncmFkaWVudC13aGl0ZS1saWdodC1ncmVlbmlzaC1ncmF5e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZmZmLCNmMGYyZjApfS5iZy1ncmFkaWVudC15ZWxsb3dpc2gtZ3JlZW4tdHVycXVvaXNle2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjZDBlNTFiLCNhNWU4NTAsIzdjZTg3OCwjNThlNDlhLCMzZWRmYjYpfS5iZy1ncmFkaWVudC1leHRyYS1kYXJrLWdyYXktdHJhbnNwYXJlbnR7YmFja2dyb3VuZDpyZ2JhKDM1LDM1LDM1LDApO2JhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMCkgMzAlLCMyMzIzMjMgMTAwJSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMzAlLHJnYmEoMCwwLDAsMCkpLGNvbG9yLXN0b3AoMTAwJSwjMjMyMzIzKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwwKSAzMCUsIzIzMjMyMyAxMDAlKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwwKSAzMCUsIzIzMjMyMyAxMDAlKTtiYWNrZ3JvdW5kOi1tcy1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMCkgMzAlLCMyMzIzMjMgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsMCkgMzAlLCMyMzIzMjMgMTAwJSl9LmJnLWdyYWRpZW50LXBlYWNvY2stYmx1ZS1jcm9tZS15ZWxsb3ctMntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsIzVkY2FhMywjODRjNjg1LCNhOGJmNmQsI2NhYjU2MSwjZTdhOTY1KX0uYmctZ3JhZGllbnQtbWlkaXVtLWRhcmstZ3JheS10cmFuc3BhcmVudHtiYWNrZ3JvdW5kOnJnYmEoMjAsMjAsMjAsMCk7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwwKSAwLCMxNDE0MTQgMTAwJSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCxyZ2JhKDAsMCwwLDApKSxjb2xvci1zdG9wKDEwMCUsIzE0MTQxNCkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMCkgMCwjMTQxNDE0IDEwMCUpO2JhY2tncm91bmQ6LW8tbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAsIzE0MTQxNCAxMDAlKTtiYWNrZ3JvdW5kOi1tcy1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMCkgMCwjMTQxNDE0IDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDAsMCwwLDApIDAsIzE0MTQxNCAxMDAlKX0uYmctZ3JhZGllbnQtbWlkaXVtLWdyYXktdHJhbnNwYXJlbnR7YmFja2dyb3VuZDpyZ2JhKDIwLDIwLDIwLDApO2JhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMCkgMCwjMTQxNDE0IDE1MCUpO2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDAscmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcCgxNTAlLCMxNDE0MTQpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAsIzE0MTQxNCAxNTAlKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwwKSAwLCMxNDE0MTQgMTUwJSk7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDAsIzE0MTQxNCAxNTAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgwLDAsMCwwKSAwLCMxNDE0MTQgMTUwJSl9LmJnLWdyYWRpZW50LWV4dHJhLW1pZGl1bS1ncmF5LXRyYW5zcGFyZW50e2JhY2tncm91bmQ6cmdiYSgyMCwyMCwyMCwwKTtiYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApIDUwJSxyZ2JhKDIwLDIwLDIwLC42KSAxNTAlKTtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCg1MCUscmdiYSgwLDAsMCwwKSksY29sb3Itc3RvcCgxNTAlLHJnYmEoMjAsMjAsMjAsLjYpKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwwKSA1MCUscmdiYSgyMCwyMCwyMCwuNikgMTUwJSk7YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMCkgNTAlLHJnYmEoMjAsMjAsMjAsLjYpIDE1MCUpO2JhY2tncm91bmQ6LW1zLWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgwLDAsMCwwKSA1MCUscmdiYSgyMCwyMCwyMCwuNikgMTUwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsMCkgNTAlLHJnYmEoMjAsMjAsMjAsLjYpIDE1MCUpfS5iZy1ncmFkaWVudC1yZWQtdmlvbGV0LXB1cnBsZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsI2I5M2M5MCwjYTkyYTk2LCM5NTFhOWQsIzdiMTBhNSwjNTQxMmFlKX0uYmctZ3JhZGllbnQtdHVycXVvaXNlLWdyZWVuLXllbGxvd2lzaHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsIzNlZGZiNiwjNThlNDlhLCM3Y2U4NzgsI2E1ZTg1MCwjZDBlNTFiKX0uYmctdHJhbnNwYXJlbnQtZ3JhZGllbnQtbWFnZW50YS1vcmFuZ2V7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgdG9wLHJnYmEoMjI4LDM2LDEwMCwuOCkscmdiYSgyMzcsNjAsOTUsLjgpLHJnYmEoMjQ0LDc5LDkyLC44KSxyZ2JhKDI1MCw5OCw4OSwuOCkscmdiYSgyNTUsMTE1LDg3LC44KSl9LmJnLXRyYW5zcGFyZW50LWdyYWRpZW50LXB1cnBsZS1tYWdlbnRhe2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCxyZ2JhKDgwLDQxLDExMiwuOCkscmdiYSgxMjcsNDEsMTE5LC44KSxyZ2JhKDE3MiwzOSwxMTcsLjgpLHJnYmEoMjEyLDQ1LDEwNywuOCkscmdiYSgyNDMsNjYsODksLjgpKX0uYmctdHJhbnNwYXJlbnQtZ3JhZGllbnQtbGlnaHQtcHVycGxlLWxpZ2h0LW9yYW5nZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AscmdiYSgxODMsMTMxLDI1NSwuOTUpLHJnYmEoMjI3LDEyMywyMjQsLjk1KSxyZ2JhKDI1MCwxMjQsMTkzLC45NSkscmdiYSgyNTUsMTMzLDE2NiwuOTUpLHJnYmEoMjU1LDE0NywxNDcsLjk1KSl9LmJnLXRyYW5zcGFyZW50LWdyYWRpZW50LXNreS1ibHVlLXBpbmt7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgdG9wLHJnYmEoODUsMTExLDI1NSwuOCkscmdiYSgxNzgsOTksMjI4LC44KSxyZ2JhKDIyNCw5NSwxOTYsLjgpLHJnYmEoMjQ3LDEwMywxNjYsLjgpLHJnYmEoMjU1LDEyMSwxNDIsLjgpKX0uYmctdHJhbnNwYXJlbnQtZ3JhZGllbnQtcGVhY29jay1ibHVlLWNyb21lLXllbGxvd3tiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AscmdiYSg1NCwxOTMsMjI1LC44KSxyZ2JhKDQwLDIwNCwxOTIsLjgpLHJnYmEoMTE2LDIwNywxNDIsLjgpLHJnYmEoMTg2LDIwMSw5OCwuOCkscmdiYSgyNTQsMTg1LDkxLC44KSl9LmJnLXRyYW5zcGFyZW50LWdyYWRpZW50LWZhc3QtYmx1ZS1wdXJwbGV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgdG9wLHJnYmEoMCw1NywyMjcsLjgpLHJnYmEoNjUsNTAsMjI0LC44KSxyZ2JhKDk0LDQwLDIyMSwuOCkscmdiYSgxMTYsMjcsMjE3LC44KSxyZ2JhKDEzNCwwLDIxMiwuOCkpfS5iZy10cmFuc3BhcmVudC1ncmFkaWVudC1saWdodC1yZWQtb3Jhbmdle2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCxyZ2JhKDI0OCw3OCw0OCwuOCkscmdiYSgyNTEsMTExLDg2LDApKX0uYmctdHJhbnNwYXJlbnQtZ3JhZGlhbnQtYmxhY2t7YmFja2dyb3VuZDojMjMyMzIzO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDBkZWcsIzIzMjMyMyAwLHJnYmEoMzUsMzUsMzUsMCkgODklKX0uYmctdHJhbnNwYXJlbnQtZ3JhZGlhbnQtd2hpdGUtYmxhY2t7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgyNTUsMjU1LDI1NSwwKSAwLHJnYmEoMCwwLDAsLjE4KSAxOCUscmdiYSgwLDAsMCwuOTUpIDEwMCUpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjU1LDI1NSwyNTUsMCkgMCxyZ2JhKDAsMCwwLC4xOCkgMTglLHJnYmEoMCwwLDAsLjk1KSAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20scmdiYSgyNTUsMjU1LDI1NSwwKSAwLHJnYmEoMCwwLDAsLjE4KSAxOCUscmdiYSgwLDAsMCwuOTUpIDEwMCUpfS5iZy10cmFuc3BhcmVudC1ncmFkaWVudC1saWdodC12aW9sZXQtbGlnaHQtb3Jhbmdle2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCxyZ2JhKDQzLDgsODksLjkpLHJnYmEoNzQsMjQsODYsLjkpLHJnYmEoMTI3LDUzLDg4LC45KSxyZ2JhKDIwMCw5Miw4NywuOSkscmdiYSgyNTUsMTIyLDg2LC45KSl9LmJnLXRyYW5zcGFyZW50LWdyYWRpZW50LXR1c3NvY2stZ3JlZW5pc2gtc2xhdGV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoNDBkZWcscmdiYSgxOTEsMTQwLDc2LC45KSAwLCM0NDVhNTggOTAlKX0uYmctdHJhbnNwYXJlbnQtZ3JhZGllbnQtc2hhbXJvY2stZ3JlZW4tbGlnaHQtb3Jhbmdle2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoNDYsMjEyLDEyNCwuOSkgMCxyZ2JhKDIzMiwxNjYsMzgsLjkpIDEwMCUpfS5iZy10cmFuc3BhcmVudC1ncmFkaWVudC1zbW9reS1ibGFja3tiYWNrZ3JvdW5kOiMxMDEwMTA7YmFja2dyb3VuZDotbW96LXJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSgxNiwxNiwxNiwwKSAwLCMxMDEwMTAgMTAwJSk7YmFja2dyb3VuZDotd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSgxNiwxNiwxNiwwKSAwLCMxMDEwMTAgMTAwJSk7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHJnYmEoMTYsMTYsMTYsMCkgMCwjMTAxMDEwIDEwMCUpfS5mZWF0dXJlLWJveC1iZy13aGl0ZS1ob3Zlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNmZmYhaW1wb3J0YW50fXNlY3Rpb257cGFkZGluZzoxMzBweCAwO292ZXJmbG93OmhpZGRlbn1zZWN0aW9uLmJpZy1zZWN0aW9ue3BhZGRpbmc6MTYwcHggMH1zZWN0aW9uLmV4dHJhLWJpZy1zZWN0aW9ue3BhZGRpbmc6MjAwcHggMH1zZWN0aW9uLmhhbGYtc2VjdGlvbntwYWRkaW5nOjgwcHggMH0uY3Vyc29yLW5vbmV7Y3Vyc29yOm5vbmV9LmN1cnNvci1kZWZhdWx0e2N1cnNvcjpkZWZhdWx0fS5ib3gtbGF5b3V0e3BhZGRpbmc6MCA5MHB4fS5ib3gtbGF5b3V0LWxhcmdle3BhZGRpbmc6MCAxNTBweH0ub3ZlcmxhcC1zZWN0aW9ue3Bvc2l0aW9uOnJlbGF0aXZlfS5vdmVybGFwLXNlY3Rpb24tYm90dG9te3Bvc2l0aW9uOnJlbGF0aXZlfS5vdmVybGF5ZXItYm94e3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7dG9wOjA7bGVmdDowO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0ub3ZlcmxhcC1pbWFnZXttYXJnaW4tYm90dG9tOi0yMTVweDt6LWluZGV4OjF9LnRleHQtb3ZlcmxhcHttYXJnaW4tYm90dG9tOi02MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6LTF9LnRleHQtb3ZlcmxhcC1zdHlsZS0wMXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2JvdHRvbTotMTEwcHg7Zm9udC1zaXplOjMwMHB4O2xpbmUtaGVpZ2h0OjMwMHB4O2xldHRlci1zcGFjaW5nOi0xMHB4O3doaXRlLXNwYWNlOm5vd3JhcH0udGV4dC1vdmVybGFwLXN0eWxlLTAye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTI1cHg7dG9wOi02MHB4O2ZvbnQtc2l6ZToxNTRweDtsaW5lLWhlaWdodDoxNTRweDtsZXR0ZXItc3BhY2luZzotOHB4O3doaXRlLXNwYWNlOm5vd3JhcH0udGV4dC1vdmVybGFwLXN0eWxlLTAze3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExNXB4O3RvcDowO2ZvbnQtc2l6ZToyNTVweDtsaW5lLWhlaWdodDoyNTVweDtoZWlnaHQ6MTAwJTt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1hbGlnbjpjZW50ZXI7d3JpdGluZy1tb2RlOnZlcnRpY2FsLXJsOy1tcy13cml0aW5nLW1vZGU6dGItcmw7d2lkdGg6YXV0bzstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0udGV4dC1vdmVybGFwLXN0eWxlLTA0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0Oi0yMHB4O2ZvbnQtc2l6ZTo4MHB4O2xpbmUtaGVpZ2h0OjgwcHg7aGVpZ2h0OjEwMCU7d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtYWxpZ246Y2VudGVyO3dyaXRpbmctbW9kZTp2ZXJ0aWNhbC1ybDstbXMtd3JpdGluZy1tb2RlOnRiLXJsO3dpZHRoOmF1dG87LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9Lmhlcm1lcyAudHAtYnVsbGV0e2hlaWdodDoxMHB4O3dpZHRoOjEwcHh9LnVyYW51cy50cGFycm93czpiZWZvcmV7Zm9udC1zaXplOjI2cHh9LmRyYXdpbmctYW5pbWF0aW9uIGNpcmNsZSwuZHJhd2luZy1hbmltYXRpb24gZWxsaXBzZSwuZHJhd2luZy1hbmltYXRpb24gcGF0aCwuZHJhd2luZy1hbmltYXRpb24gcG9seWdvbixkcmF3aW5nLWFuaW1hdGlvbiByZWN0e2ZpbGw6bm9uZTtzdHJva2Utd2lkdGg6MjBweDtzdHJva2UtZGFzaGFycmF5OjIwMDAwO3N0cm9rZS1kYXNob2Zmc2V0OjIwMDAwOy13ZWJraXQtYW5pbWF0aW9uOmRyYXdpbmctYW5pbWF0aW9uIDZzIGxpbmVhciBmb3J3YXJkczthbmltYXRpb246ZHJhd2luZy1hbmltYXRpb24gNnMgbGluZWFyIGZvcndhcmRzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuNXM7LW1vei1hbmltYXRpb24tZGVsYXk6MS41czstby1hbmltYXRpb24tZGVsYXk6MS41czthbmltYXRpb24tZGVsYXk6MS41c30uZmlsdGVyLWdyYXlzY2FsZS01MHstbXMtZmlsdGVyOmdyYXlzY2FsZSg1MCUpO2ZpbHRlcjpncmF5c2NhbGUoNTAlKX0uZmlsdGVyLWdyYXlzY2FsZS0xMDB7LW1zLWZpbHRlcjpncmF5c2NhbGUoMTAwJSk7ZmlsdGVyOmdyYXlzY2FsZSgxMDAlKX0uZmlsdGVyLWludmVydC01MHstbXMtZmlsdGVyOmludmVydCg1MCUpO2ZpbHRlcjppbnZlcnQoNTAlKX0uZmlsdGVyLWludmVydC0xMDB7LW1zLWZpbHRlcjppbnZlcnQoMTAwJSk7ZmlsdGVyOmludmVydCgxMDAlKX0uZmlsdGVyLW1peC0xMDB7LW1zLWZpbHRlcjpncmF5c2NhbGUoMTAwJSkgaW52ZXJ0KDEwMCUpO2ZpbHRlcjpncmF5c2NhbGUoMTAwJSkgaW52ZXJ0KDEwMCUpfS5tYXAgaWZyYW1le2hlaWdodDo2MTlweDt2ZXJ0aWNhbC1hbGlnbjpib3R0b207d2lkdGg6MTAwJX1ibG9ja3F1b3Rle2JvcmRlci1sZWZ0OjJweCBzb2xpZDtjb2xvcjojMjMyMzIzO2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjMwcHg7Zm9udC13ZWlnaHQ6NTAwO3BhZGRpbmc6MnB4IDQwcHg7bWFyZ2luLXRvcDo1MHB4O21hcmdpbi1ib3R0b206NTBweH1ibG9ja3F1b3RlIHB7bWFyZ2luLWJvdHRvbToxN3B4IWltcG9ydGFudH1ibG9ja3F1b3RlIGZvb3Rlcntjb2xvcjojODI4MjgyfS5ibG9nLWltYWdlIGJsb2NrcXVvdGUgaDY6OmJlZm9yZXtjb250ZW50OiJcZTY3ZiI7Zm9udC1mYW1pbHk6dGhlbWlmeTtmb250LXNpemU6NDBweDt0b3A6NXB4O3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1yaWdodDoxMnB4O2NvbG9yOiMyZTk0ZWJ9LmJsb2ctaW1hZ2UgYmxvY2txdW90ZXtwYWRkaW5nOjYwcHg7Ym9yZGVyOjA7bWFyZ2luOjB9LmlucHV0LWJvcmRlci1ib3R0b20sLmlucHV0LWJvcmRlci1ib3R0b206Zm9jdXN7Ym9yZGVyOjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfS5zbWFsbC1pbnB1dCwuc21hbGwtdGV4dGFyZWF7cGFkZGluZzoxM3B4IDE1cHg7Zm9udC1zaXplOjE0cHh9LnNtYWxsLXNlbGVjdCBzZWxlY3R7cGFkZGluZzoxM3B4IDE1cHh9Lm1lZGl1bS1pbnB1dCwubWVkaXVtLXNlbGVjdCBzZWxlY3QsLm1lZGl1bS10ZXh0YXJlYXtwYWRkaW5nOjE1cHggMjBweDtmb250LXNpemU6MTRweH0uZXh0cmEtbWVkaXVtLXRleHRhcmVhe2ZvbnQtc2l6ZToxNHB4fS5sYXJnZS1pbnB1dHtwYWRkaW5nOjE4cHggMjVweCAxOXB4fS5leHRyYS1sYXJnZS1pbnB1dHtwYWRkaW5nOjIwcHggMzZweCAyM3B4O2ZvbnQtc2l6ZToxNnB4fS5uZXdzbGV0dGVye3Bvc2l0aW9uOnJlbGF0aXZlfS5uZXdzbGV0dGVyIGlucHV0e3BhZGRpbmctbGVmdDowO3BhZGRpbmctcmlnaHQ6MH0ubmV3c2xldHRlciBpbnB1dCthLmJ0bntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO21hcmdpbjowO3BhZGRpbmctcmlnaHQ6MH0ubmV3c2xldHRlciBpbnB1dC5zbWFsbC1pbnB1dCthLmJ0bnt0b3A6MH0ubmV3c2xldHRlciBpbnB1dC5tZWRpdW0taW5wdXQrYS5idG57dG9wOjNweH0ubmV3c2xldHRlciBpbnB1dC5sYXJnZS1pbnB1dCthLmJ0bnt0b3A6OHB4fS5uZXdzbGV0dGVyLXBvcHVwIGZvcm17cG9zaXRpb246cmVsYXRpdmV9Lm5ld3NsZXR0ZXItcG9wdXAgZm9ybSAuYnRuLW5ld3NsZXR0ZXJ7Ym9yZGVyOjFweCBzb2xpZCAjZGZkZmRmO2JhY2tncm91bmQ6MCAwfS50YWctY2xvdWQgYXtkaXNwbGF5OmlubGluZS1ibG9jazt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoyMHB4O21hcmdpbjowIDZweCAxMHB4IDA7cGFkZGluZzo1cHggMThweCA2cHg7Ym9yZGVyLXJhZGl1czo0cHg7Ym9yZGVyOjFweCBzb2xpZCAjZTRlNGU0fS50YWctY2xvdWQgYS5hY3RpdmUsLnRhZy1jbG91ZCBhOmhvdmVye2JveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgyMywyMywyMywuMSk7Y29sb3I6IzgyODI4Mn0uc2VwYXJhdG9yLWxpbmUtdmVydGljYWx7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7LW8tdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpfS5sZWZ0LWxpbmV7cG9zaXRpb246cmVsYXRpdmV9LmxlZnQtbGluZTphZnRlcntib3JkZXItYm90dG9tOjNweCBzb2xpZDtib3JkZXItY29sb3I6IzFkY2Y3OTtjb250ZW50OiIiO2xlZnQ6LTYwcHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjQ4JTt3aWR0aDo0MHB4fS5sZWZ0LWxpbmUtZG91Ymxle3Bvc2l0aW9uOnJlbGF0aXZlfS5sZWZ0LWxpbmUtZG91YmxlOmFmdGVye2JvcmRlci1ib3R0b206M3B4IHNvbGlkO2JvcmRlci1jb2xvcjojMWRjZjc5O2NvbnRlbnQ6IiI7bGVmdDotNjBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MThweDt3aWR0aDo0MHB4fS50ZXh0LXNpZGUtbGluZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9ja30udGV4dC1zaWRlLWxpbmU6YWZ0ZXJ7Y29udGVudDoiIjtoZWlnaHQ6MXB4O2xlZnQ6LTY1cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDo0NXB4O2JhY2tncm91bmQ6IzAwZTA5Mn0udGV4dC1zaWRlLWxpbmU6YmVmb3Jle2NvbnRlbnQ6IiI7aGVpZ2h0OjFweDtyaWdodDotNjVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjQ1cHg7YmFja2dyb3VuZDojMDBlMDkyfS5kaXZpZGVyLWZ1bGwgLmRpdmlkZXItYm9yZGVyOmFmdGVyLC5kaXZpZGVyLWZ1bGwgLmRpdmlkZXItYm9yZGVyOmJlZm9yZXtmbGV4OjEgMSBhdXRvOy13ZWJraXQtYm94LWZsZXg6MSAxIGF1dG87LW1zLWZsZXg6MSAxIGF1dG87Y29udGVudDoiIjtib3JkZXItdG9wOjFweCBzb2xpZCAjZTRlNGU0fS5kaXZpZGVyLWZ1bGwgLmRpdmlkZXItYm9yZGVyLmRpdmlkZXItbGlnaHQ6YWZ0ZXIsLmRpdmlkZXItZnVsbCAuZGl2aWRlci1ib3JkZXIuZGl2aWRlci1saWdodDpiZWZvcmV7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5vdmVybGF5LWJne3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7b3BhY2l0eToxO3RvcDowO2xlZnQ6MH0ub3BhY2l0eS12ZXJ5LWxpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7b3BhY2l0eTouMjt0b3A6MDtsZWZ0OjB9Lm9wYWNpdHktbGlnaHR7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtvcGFjaXR5Oi4zO3RvcDowO2xlZnQ6MH0ub3BhY2l0eS1leHRyYS1tZWRpdW17cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtvcGFjaXR5Oi41O3RvcDowO2xlZnQ6MH0ub3BhY2l0eS1leHRyYS1tZWRpdW0tMntwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO29wYWNpdHk6LjY7dG9wOjA7bGVmdDowfS5vcGFjaXR5LW1lZGl1bXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO29wYWNpdHk6Ljc1O3RvcDowO2xlZnQ6MH0ub3BhY2l0eS1tZWRpdW0tMntwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO29wYWNpdHk6Ljc7dG9wOjA7bGVmdDowfS5vcGFjaXR5LWZ1bGx7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtvcGFjaXR5Oi44O3RvcDowO2xlZnQ6MH0ub3BhY2l0eS1mdWxsLWRhcmt7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtvcGFjaXR5Oi45O3RvcDowO2xlZnQ6MH0ub3BhY2l0eS0we29wYWNpdHk6MH0ub3BhY2l0eS0wLWhhbGZ7b3BhY2l0eTouMDV9Lm9wYWNpdHktMXtvcGFjaXR5Oi4xfS5vcGFjaXR5LTEtaGFsZntvcGFjaXR5Oi4xNX0ub3BhY2l0eS0ye29wYWNpdHk6LjJ9Lm9wYWNpdHktMi1oYWxme29wYWNpdHk6LjI1fS5vcGFjaXR5LTN7b3BhY2l0eTouM30ub3BhY2l0eS0zLWhhbGZ7b3BhY2l0eTouMzV9Lm9wYWNpdHktNHtvcGFjaXR5Oi40fS5vcGFjaXR5LTQtaGFsZntvcGFjaXR5Oi40NX0ub3BhY2l0eS01e29wYWNpdHk6LjV9Lm9wYWNpdHktNS1oYWxme29wYWNpdHk6LjU1fS5vcGFjaXR5LTZ7b3BhY2l0eTouNn0ub3BhY2l0eS02LWhhbGZ7b3BhY2l0eTouNjV9Lm9wYWNpdHktN3tvcGFjaXR5Oi43fS5vcGFjaXR5LTctaGFsZntvcGFjaXR5Oi43NX0ub3BhY2l0eS04e29wYWNpdHk6Ljh9Lm9wYWNpdHktOC1oYWxme29wYWNpdHk6Ljg1fS5vcGFjaXR5LTl7b3BhY2l0eTouOX0ub3BhY2l0eS05LWhhbGZ7b3BhY2l0eTouOTV9LmJ0bi1zaGFkb3d7Ym94LXNoYWRvdzowIDAgNnB4IHJnYmEoMCwwLDAsLjMpfS5ib3gtc2hhZG93LC5ib3gtc2hhZG93LWhvdmVyOmhvdmVye2JveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuMDgpO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uYm94LXNoYWRvdy1kb3VibGUtbGFyZ2UsLmJveC1zaGFkb3ctZG91YmxlLWxhcmdlLWhvdmVyOmhvdmVye2JveC1zaGFkb3c6MCAwIDM1cHggcmdiYSg0MCw0Miw1NCwuMTgpO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uYm94LXNoYWRvdy1sYXJnZSwuYm94LXNoYWRvdy1sYXJnZS1ob3Zlcjpob3Zlcntib3gtc2hhZG93OjAgMCAzMHB4IHJnYmEoMCwwLDAsLjA4KTt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9LmJveC1zaGFkb3ctZXh0cmEtbGFyZ2UsLmJveC1zaGFkb3ctZXh0cmEtbGFyZ2UtaG92ZXI6aG92ZXJ7Ym94LXNoYWRvdzowIDAgMjVweCByZ2JhKDAsMCwwLC4wOCk7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS5ib3gtc2hhZG93LW1lZGl1bSwuYm94LXNoYWRvdy1tZWRpdW0taG92ZXI6aG92ZXJ7Ym94LXNoYWRvdzowIDAgMjBweCByZ2JhKDAsMCwwLC4wOCk7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS5ib3gtc2hhZG93LXNtYWxsLC5ib3gtc2hhZG93LXNtYWxsLWhvdmVyOmhvdmVye2JveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMDgpO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uYm94LXNoYWRvdy1kYXJrLWhvdmVyOmhvdmVyLC5ib3gtc2hhZG93LWRvdWJsZS1sYXJnZS1ob3Zlcjpob3ZlciwuYm94LXNoYWRvdy1leHRyYS1sYXJnZS1ob3Zlcjpob3ZlciwuYm94LXNoYWRvdy1sYXJnZS1ob3Zlcjpob3ZlciwuYm94LXNoYWRvdy1saWdodC1ob3Zlcjpob3ZlciwuYm94LXNoYWRvdy1tZWRpdW0taG92ZXI6aG92ZXIsLmJveC1zaGFkb3ctc21hbGwtaG92ZXI6aG92ZXIsLmJveC1zaGFkb3ctdmVyeS1saWdodC1ob3Zlcjpob3ZlcnstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zcHgsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTNweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTNweCwwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTNweCwwKX0udGV4dC1zaGFkb3ctbGFyZ2V7dGV4dC1zaGFkb3c6MCAwIDUwcHggcmdiYSgwLDAsMCwuOSl9LnRleHQtc2hhZG93LWV4dHJhLWxhcmdle3RleHQtc2hhZG93OjAgMCA2MHB4IHJnYmEoMCwwLDAsLjkpfS50ZXh0LXNoYWRvdy1kb3VibGUtbGFyZ2V7dGV4dC1zaGFkb3c6MCAwIDEwMHB4IHJnYmEoMCwwLDAsLjkpfS5kcm9wLXNoYWRvdyBzdmd7ZmlsdGVyOmRyb3Atc2hhZG93KCAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAuMSkpfS56LWluZGV4LTF7ei1pbmRleDoxfS56LWluZGV4LTJ7ei1pbmRleDoyfS56LWluZGV4LTN7ei1pbmRleDozfS56LWluZGV4LTR7ei1pbmRleDo0fS56LWluZGV4LTV7ei1pbmRleDo1fS56LWluZGV4LTZ7ei1pbmRleDo2fS56LWluZGV4LTd7ei1pbmRleDo3fS56LWluZGV4LTh7ei1pbmRleDo4fS56LWluZGV4LTl7ei1pbmRleDo5fS56LWluZGV4LTB7ei1pbmRleDowfS56LWluZGV4LW1pbnVzLTF7ei1pbmRleDotMX0uei1pbmRleC1taW51cy0ye3otaW5kZXg6LTJ9LnotaW5kZXgtbWludXMtM3t6LWluZGV4Oi0zfS56LWluZGV4LW1pbnVzLTR7ei1pbmRleDotNH0uei1pbmRleC1taW51cy01e3otaW5kZXg6LTV9LmFic29sdXRlLW1pZGRsZS1jZW50ZXJ7bGVmdDo1MCU7dG9wOjUwJTtwb3NpdGlvbjphYnNvbHV0ZTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSl9LmFic29sdXRlLW1pZGRsZS1jZW50ZXIubW92ZS1ib3R0b20tdG9wLC5hYnNvbHV0ZS1taWRkbGUtY2VudGVyLm1vdmUtdG9wLWJvdHRvbXttYXJnaW4tbGVmdDotMTBweDttYXJnaW4tdG9wOi0xMHB4fWlucHV0W3R5cGU9Y2hlY2tib3hde3dpZHRoOmF1dG99aW5wdXRbdHlwZT1jaGVja2JveF0rbGFiZWx7Y29sb3I6IzkzOTM5Mztmb250LXdlaWdodDo0MDA7bWFyZ2luLWJvdHRvbTowfWlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWx7Y29sb3I6aW5oZXJpdH1pbnB1dFt0eXBlPWNoZWNrYm94XStsYWJlbCBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHg7bWFyZ2luOjAgMTBweCAwIDA7dmVydGljYWwtYWxpZ246bWlkZGxlO2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxcHggc29saWQgI2Q5ZDlkOTtib3JkZXItcmFkaXVzOjA7cG9zaXRpb246cmVsYXRpdmV9aW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCtsYWJlbCBzcGFuOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE1cHg7Y29udGVudDoiXGYwMGMiO2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNSBGcmVlIjtmb250LXdlaWdodDo5MDB9aW5wdXRbdHlwZT1yYWRpb117d2lkdGg6YXV0b31pbnB1dFt0eXBlPXJhZGlvXStsYWJlbHtmb250LXdlaWdodDo0MDA7bWFyZ2luLWJvdHRvbTowfWlucHV0W3R5cGU9cmFkaW9dK2xhYmVsIHNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTVweDtoZWlnaHQ6MTVweDttYXJnaW46MCAxMHB4IDAgMDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czowO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MTAwJX1pbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsIHNwYW46YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2NvbG9yOiNmZmY7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6OXB4O2xpbmUtaGVpZ2h0OjE1cHg7Y29udGVudDoiXGYwMGMiO2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWUgNSBGcmVlIjtmb250LXdlaWdodDo5MDB9LmJ0bntkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXI6MnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2lkdGg6YXV0bztmb250LWZhbWlseTpQb3BwaW5zLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NTAwfS5idG4uYWN0aXZlLmZvY3VzLC5idG4uYWN0aXZlOmZvY3VzLC5idG4uZm9jdXMsLmJ0bi5mb2N1czphY3RpdmUsLmJ0bjphY3RpdmU6Zm9jdXMsLmJ0bjpmb2N1c3tvdXRsaW5lOm1lZGl1bSBub25lO291dGxpbmUtb2Zmc2V0OjB9aW5wdXQuYnRuOmZvY3Vze2JvcmRlci13aWR0aDoycHh9LmJ0bi5hY3RpdmUsLmJ0bjphY3RpdmUsLmJ0bjpmb2N1c3tib3gtc2hhZG93Om5vbmV9LmJ0biBpe3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTFweH0uYnRuLmJ0bi12ZXJ5LXNtYWxse2ZvbnQtc2l6ZToxMHB4O3BhZGRpbmc6NnB4IDE2cHh9LmJ0bi5idG4tc21hbGx7Zm9udC1zaXplOjExcHg7cGFkZGluZzo4cHggMjJweH0uYnRuLmJ0bi1tZWRpdW17Zm9udC1zaXplOjEycHg7cGFkZGluZzoxMHB4IDI2cHh9LmJ0bi5idG4tbGFyZ2V7Zm9udC1zaXplOjEzcHg7cGFkZGluZzoxMnB4IDMycHh9LmJ0bi5idG4tZXh0cmEtbGFyZ2V7Zm9udC1zaXplOjE0cHg7cGFkZGluZzoxNnB4IDQwcHh9LmJ0bi1kdWFsIC5idG57bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0uYnRuLWR1YWwgLmJ0bjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowfS5idG4gLnJpZ2h0LWljb24sLmJ0bi1saW5rIC5yaWdodC1pY29ue21hcmdpbi1sZWZ0OjhweDt0cmFuc2l0aW9uOm5vbmU7LW1vei10cmFuc2l0aW9uOm5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOm5vbmU7LW1zLXRyYW5zaXRpb246bm9uZTstby10cmFuc2l0aW9uOm5vbmV9LmJ0biAubGVmdC1pY29uLC5idG4tbGluayAubGVmdC1pY29ue21hcmdpbi1yaWdodDo4cHg7dHJhbnNpdGlvbjpub25lOy1tb3otdHJhbnNpdGlvbjpub25lOy13ZWJraXQtdHJhbnNpdGlvbjpub25lOy1tcy10cmFuc2l0aW9uOm5vbmU7LW8tdHJhbnNpdGlvbjpub25lfS5idG4uYnRuLXJvdW5kLWVkZ2Utc21hbGx7Ym9yZGVyLXJhZGl1czoycHh9LmJ0bi5idG4tcm91bmRlZHtib3JkZXItcmFkaXVzOjUwcHh9LmJ0bi5idG4tcm91bmRlZC5idG4tdmVyeS1zbWFsbHtwYWRkaW5nOjZweCAyMHB4fS5idG4uYnRuLXJvdW5kZWQuYnRuLXNtYWxse3BhZGRpbmc6OHB4IDI2cHh9LmJ0bi5idG4tcm91bmRlZC5idG4tbWVkaXVte3BhZGRpbmc6MTBweCAzMnB4fS5idG4uYnRuLXJvdW5kZWQuYnRuLWxhcmdle3BhZGRpbmc6MTJweCAzOHB4fS5idG4uYnRuLXJvdW5kZWQuYnRuLWV4dHJhLWxhcmdle3BhZGRpbmc6MTZweCA0NHB4fS5idG4uYnRuLXJvdW5kLWVkZ2V7Ym9yZGVyLXJhZGl1czo0cHh9LmJ0bi1maXhlZC1ib3R0b217cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjMwcHg7cmlnaHQ6MzBweDt6LWluZGV4OjE7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtsaW5lLWhlaWdodDo0MHB4O3RleHQtYWxpZ246Y2VudGVyfS5idG4uYnRuLXJvdW5kZWQuYnRuLWV4dHJhLWxhcmdlLmJ0bi1leHBhbmQtbHRye3BhZGRpbmc6MTVweCAyOHB4IDE1cHh9LmJ0bi5idG4tcm91bmRlZC5idG4tZXh0cmEtbGFyZ2UuYnRuLWV4cGFuZC1sdHIgc3Bhbnt3aWR0aDo1MHB4fS5idG4uYnRuLXJvdW5kZWQuYnRuLWxhcmdlLmJ0bi1leHBhbmQtbHRye3BhZGRpbmc6MTRweCAyNnB4IDE0cHh9LmJ0bi5idG4tcm91bmRlZC5idG4tbGFyZ2UuYnRuLWV4cGFuZC1sdHIgc3Bhbnt3aWR0aDo0NnB4fS5idG4uYnRuLXJvdW5kZWQuYnRuLW1lZGl1bS5idG4tZXhwYW5kLWx0cntwYWRkaW5nOjdweCAyMXB4IDdweH0uYnRuLmJ0bi1yb3VuZGVkLmJ0bi1tZWRpdW0uYnRuLWV4cGFuZC1sdHIgc3Bhbnt3aWR0aDozMnB4fS5idG4uYnRuLXJvdW5kZWQuYnRuLXNtYWxsLmJ0bi1leHBhbmQtbHRye3BhZGRpbmc6N3B4IDIwcHggN3B4fS5idG4uYnRuLXJvdW5kZWQuYnRuLXNtYWxsLmJ0bi1leHBhbmQtbHRyIHNwYW57d2lkdGg6MzBweH0uYnRuLmJ0bi1yb3VuZGVkLmJ0bi12ZXJ5LXNtYWxsLmJ0bi1leHBhbmQtbHRye3BhZGRpbmc6NXB4IDE3cHggNXB4fS5idG4uYnRuLXJvdW5kZWQuYnRuLXZlcnktc21hbGwuYnRuLWV4cGFuZC1sdHIgc3Bhbnt3aWR0aDoyNXB4fS5idG4uYnRuLXNsaWRlLWRvd24tYmcsLmJ0bi5idG4tc2xpZGUtbGVmdC1iZywuYnRuLmJ0bi1zbGlkZS1yaWdodC1iZywuYnRuLmJ0bi1zbGlkZS11cC1iZ3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7b3ZlcmZsb3c6aGlkZGVufS5idG4uYnRuLXNsaWRlLWRvd24tYmcgc3BhbiwuYnRuLmJ0bi1zbGlkZS1sZWZ0LWJnIHNwYW4sLmJ0bi5idG4tc2xpZGUtcmlnaHQtYmcgc3BhbiwuYnRuLmJ0bi1zbGlkZS11cC1iZyBzcGFue3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMSU7ei1pbmRleDotMTtsZWZ0Oi0xcHg7dG9wOjB9LmJ0bi5idG4tc2xpZGUtZG93bi1iZyBzcGFuLC5idG4uYnRuLXNsaWRlLWxlZnQtYmcgc3BhbiwuYnRuLmJ0bi1zbGlkZS1yaWdodC1iZyBzcGFuLC5idG4uYnRuLXNsaWRlLXVwLWJnIHNwYW57cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAxJTt6LWluZGV4Oi0xO2xlZnQ6LTFweDt0b3A6MDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5idG4uYnRuLXNsaWRlLXVwLWJnIHNwYW57LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKX0uYnRuLmJ0bi1zbGlkZS1kb3duLWJnIHNwYW57LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5idG4uYnRuLXNsaWRlLWRvd24tYmc6aG92ZXIgc3BhbiwuYnRuLmJ0bi1zbGlkZS11cC1iZzpob3ZlciBzcGFuey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmJ0bi5idG4tc2xpZGUtbGVmdC1iZyBzcGFuey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSl9LmJ0bi5idG4tc2xpZGUtcmlnaHQtYmcgc3Bhbnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9LmJ0bi5idG4tc2xpZGUtbGVmdC1iZzpob3ZlciBzcGFuLC5idG4uYnRuLXNsaWRlLXJpZ2h0LWJnOmhvdmVyIHNwYW57LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0uYnRuLXNsaWRlLWljb24gaXstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5idG4tc2xpZGUtaWNvbjpob3ZlciBpey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNXB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDVweCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCg1cHgpOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmJ0bi1zbGlkZS1pY29uLWxlZnQgaXstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5idG4tc2xpZGUtaWNvbi1sZWZ0OmhvdmVyIGl7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNXB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNXB4KTstby10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNXB4KTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5idG4uYnRuLWZhbmN5LmJ0bi12ZXJ5LXNtYWxse2ZvbnQtc2l6ZToxMHB4O2xldHRlci1zcGFjaW5nOi41cHg7cGFkZGluZzo3cHggMThweH0uYnRuLmJ0bi1mYW5jeS5idG4tc21hbGx7Zm9udC1zaXplOjExcHg7bGV0dGVyLXNwYWNpbmc6LjVweDtwYWRkaW5nOjEwcHggMjRweH0uYnRuLmJ0bi1mYW5jeS5idG4tbWVkaXVte2ZvbnQtc2l6ZToxMnB4O2xldHRlci1zcGFjaW5nOjFweDtwYWRkaW5nOjEycHggMjhweH0uYnRuLmJ0bi1mYW5jeS5idG4tbGFyZ2V7Zm9udC1zaXplOjEzcHg7bGV0dGVyLXNwYWNpbmc6MXB4O3BhZGRpbmc6MTNweCAzMnB4fS5idG4uYnRuLWZhbmN5LmJ0bi1leHRyYS1sYXJnZXtmb250LXNpemU6MTVweDtsZXR0ZXItc3BhY2luZzoxcHg7cGFkZGluZzoxOHB4IDM4cHh9LmJ0bi5idG4tZXhwYW5kLWx0cntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LmJ0bi5idG4tZXhwYW5kLWx0ci5idG4tcm91bmRlZCBzcGFue2JvcmRlci1yYWRpdXM6NTBweH0uYnRuLmJ0bi1leHBhbmQtbHRyOmhvdmVyIHNwYW57d2lkdGg6MTAwJSFpbXBvcnRhbnR9LmJ0bi5idG4tZXhwYW5kLWx0ciBzcGFue3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDo1MCU7aGVpZ2h0OjEwMCU7ei1pbmRleDotMTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5idG4uYnRuLWV4cGFuZC1sdHIgaXtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tbGVmdDozcHg7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouNHM7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjRzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjRzO3RyYW5zaXRpb24tZHVyYXRpb246LjRzfS5idG4uYnRuLWV4cGFuZC1sdHI6aG92ZXIgaXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstby10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30uYnRuLmJ0bi1saW5re3BhZGRpbmc6N3B4IDAgMnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtZGVjb3JhdGlvbjpub25lO2JvcmRlcjowO2JvcmRlci1ib3R0b206MnB4IHNvbGlkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi5idG4tbGluay1ncmFkaWVudDpob3ZlciwuYnRuLmJ0bi1saW5rOmhvdmVye29wYWNpdHk6Ljd9LmJ0bi5idG4tbGluay50aGlue3BhZGRpbmc6N3B4IDAgMnB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtZGVjb3JhdGlvbjpub25lO2JvcmRlcjowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi5idG4tbGluay1ncmFkaWVudDpob3ZlciwuYnRuLmJ0bi1saW5rLnRoaW46aG92ZXJ7b3BhY2l0eTouN30uYnRuLmJ0bi1saW5rLWdyYWRpZW50e3BhZGRpbmc6N3B4IDAgMnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi5idG4tbGluay1ncmFkaWVudD5zcGFue3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtoZWlnaHQ6MnB4O3dpZHRoOjEwMCV9LmJ0bi1ib3gtc2hhZG93e2JveC1zaGFkb3c6MCAwIDE1cHggcmdiYSgwLDAsMCwuMSl9LmJ0bi1ib3gtc2hhZG93OmhvdmVye2JveC1zaGFkb3c6MCA4cHggMzBweCAtNXB4IHJnYmEoMCwwLDAsLjIpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTNweCwwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtM3B4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtM3B4LDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTNweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtM3B4LDApfS5idG4uYnRuLWJveC1zaGFkb3cuYnRuLXdoaXRle2JhY2tncm91bmQ6I2ZmZjtib3JkZXItY29sb3I6I2ZmZjtjb2xvcjojMjMyMzIzfS5idG4uYnRuLWJveC1zaGFkb3cuYnRuLXdoaXRlOmhvdmVyLC5idG4uYnRuLXdoaXRlOmZvY3Vze2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMjMyMzIzfS5idG4uYnRuLWJveC1zaGFkb3cuYnRuLWRhcmstZ3JheXtiYWNrZ3JvdW5kOiMyMzIzMjM7Ym9yZGVyLWNvbG9yOiMyMzIzMjM7Y29sb3I6I2ZmZn0uYnRuLmJ0bi1ib3gtc2hhZG93LmJ0bi1kYXJrLWdyYXk6aG92ZXIsLmJ0bi5idG4tZXh0cmEtZGFyay1ncmF5OmZvY3Vze2JhY2tncm91bmQ6IzIzMjMyMztjb2xvcjojZmZmfS5idG4uYnRuLWJveC1zaGFkb3cuYnRuLWdvbGRlbi1icm93bntiYWNrZ3JvdW5kOiNjZDk0NTI7Ym9yZGVyLWNvbG9yOiNjZDk0NTI7Y29sb3I6I2ZmZn0uYnRuLmJ0bi1ib3gtc2hhZG93LmJ0bi1nb2xkZW4tYnJvd246aG92ZXIsLmJ0bi5idG4tZXh0cmEtZGFyay1ncmF5OmZvY3Vze2JhY2tncm91bmQ6I2NkOTQ1Mjtjb2xvcjojZmZmfS5idG4tYm94LXNoYWRvdy1mbGF0e2JveC1zaGFkb3c6MnB4IDJweCAwICMwMDA7Ym9yZGVyLXdpZHRoOjFweH0uYnRuLWJveC1zaGFkb3ctZmxhdDpob3Zlcntib3gtc2hhZG93OjAgMCAwIHRyYW5zcGFyZW50fS5idG4uYnRuLWJveC1zaGFkb3ctZmxhdC5idG4tdHJhbnNwYXJlbnQtZGFyay1ncmF5e2JhY2tncm91bmQ6MCAwO2JvcmRlci1jb2xvcjojMjMyMzIzO2NvbG9yOiMyMzIzMjN9LmJ0bi5idG4tYm94LXNoYWRvdy1mbGF0LmJ0bi10cmFuc3BhcmVudC1kYXJrLWdyYXk6aG92ZXIsLmJ0bi5idG4tdHJhbnNwYXJlbnQtZGFyay1ncmF5OmZvY3Vze2JhY2tncm91bmQ6IzIzMjMyMztjb2xvcjojZmZmO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLmJ0bi13aGl0ZXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOiNmZmY7Y29sb3I6IzIzMjMyM30uYnRuLmJ0bi13aGl0ZTpmb2N1cywuYnRuLmJ0bi13aGl0ZTpob3ZlcntiYWNrZ3JvdW5kOjAgMDtjb2xvcjojZmZmfS5idG4uYnRuLWJsYWNre2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6IzAwMDtjb2xvcjojZmZmfS5idG4uYnRuLWJsYWNrOmZvY3VzLC5idG4uYnRuLWJsYWNrOmhvdmVye2JhY2tncm91bmQ6MCAwO2NvbG9yOiMwMDB9LmJ0bi5idG4tZGFyay1ncmF5e2JhY2tncm91bmQ6IzIzMjMyMztib3JkZXItY29sb3I6IzIzMjMyMztjb2xvcjojZmZmfS5idG4uYnRuLWRhcmstZ3JheTpmb2N1cywuYnRuLmJ0bi1kYXJrLWdyYXk6aG92ZXJ7YmFja2dyb3VuZDowIDA7Y29sb3I6IzIzMjMyM30uYnRuLmJ0bi1saWdodC1ncmF5e2JhY2tncm91bmQ6I2RiZGJkYjtib3JkZXItY29sb3I6I2RiZGJkYjtjb2xvcjojMjMyMzIzfS5idG4uYnRuLWxpZ2h0LWdyYXk6Zm9jdXMsLmJ0bi5idG4tbGlnaHQtZ3JheTpob3ZlcntiYWNrZ3JvdW5kOjAgMDtib3JkZXItY29sb3I6I2RiZGJkYjtjb2xvcjojZGJkYmRifS5idG4uYnRuLWZhc3QtYmx1ZXtiYWNrZ3JvdW5kOiMwMDM4ZTM7Ym9yZGVyLWNvbG9yOiMwMDM4ZTM7Y29sb3I6I2ZmZn0uYnRuLmJ0bi1mYXN0LWJsdWU6Zm9jdXMsLmJ0bi5idG4tZmFzdC1ibHVlOmhvdmVye2JhY2tncm91bmQ6MCAwO2NvbG9yOiMwMDM4ZTN9LmJ0bi5idG4tZ3JlZW57YmFja2dyb3VuZDojMjdhZTYwO2JvcmRlci1jb2xvcjojMjdhZTYwO2NvbG9yOiNmZmZ9LmJ0bi5idG4tZ3JlZW46Zm9jdXMsLmJ0bi5idG4tZ3JlZW46aG92ZXJ7YmFja2dyb3VuZDowIDA7Y29sb3I6IzI3YWU2MH0uYnRuLmJ0bi1vbGl2aW5lLWdyZWVue2JhY2tncm91bmQ6IzhiYjg2Nztib3JkZXItY29sb3I6IzhiYjg2Nztjb2xvcjojZmZmfS5idG4uYnRuLW9saXZpbmUtZ3JlZW46Zm9jdXMsLmJ0bi5idG4tb2xpdmluZS1ncmVlbjpob3ZlcntiYWNrZ3JvdW5kOjAgMDtjb2xvcjojOGJiODY3fS5idG4uYnRuLXNreS1ibHVle2JhY2tncm91bmQ6IzJlOTRlYjtib3JkZXItY29sb3I6IzJlOTRlYjtjb2xvcjojZmZmfS5idG4uYnRuLXNreS1ibHVlOmZvY3VzLC5idG4uYnRuLXNreS1ibHVlOmhvdmVye2JhY2tncm91bmQ6MCAwO2NvbG9yOiMyZTk0ZWJ9LmJ0bi5idG4teWVsbG93LW9jaHJle2JhY2tncm91bmQ6I2M4OTk2NTtib3JkZXItY29sb3I6I2M4OTk2NTtjb2xvcjojZmZmfS5idG4uYnRuLXllbGxvdy1vY2hyZTpmb2N1cywuYnRuLmJ0bi15ZWxsb3ctb2NocmU6aG92ZXJ7YmFja2dyb3VuZDowIDA7Y29sb3I6I2M4OTk2NX0uYnRuLmJ0bi1mYXN0LXllbGxvd3tiYWNrZ3JvdW5kOiNmNGQ5NTY7Ym9yZGVyLWNvbG9yOiNmNGQ5NTY7Y29sb3I6IzIzMjMyM30uYnRuLmJ0bi1mYXN0LXllbGxvdzpmb2N1cywuYnRuLmJ0bi1mYXN0LXllbGxvdzpob3ZlcntiYWNrZ3JvdW5kOjAgMDtjb2xvcjojZjRkOTU2fS5idG4uYnRuLWRhcmstcHVycGxle2JhY2tncm91bmQ6IzMzMzA0NTtib3JkZXItY29sb3I6IzMzMzA0NTtjb2xvcjojZmZmfS5idG4uYnRuLWRhcmstcHVycGxlOmZvY3VzLC5idG4uYnRuLWRhcmstcHVycGxlOmhvdmVye2JhY2tncm91bmQ6MCAwO2NvbG9yOiMzMzMwNDV9LmJ0bi5idG4tc2xhdGUtYmx1ZXtiYWNrZ3JvdW5kOiMyNjJiMzU7Ym9yZGVyLWNvbG9yOiMyNjJiMzU7Y29sb3I6I2ZmZn0uYnRuLmJ0bi1zbGF0ZS1ibHVlOmZvY3VzLC5idG4uYnRuLXNsYXRlLWJsdWU6aG92ZXJ7YmFja2dyb3VuZDowIDA7Y29sb3I6IzI2MmIzNX0uYnRuLmJ0bi1tZWRpdW0tc2xhdGUtYmx1ZXtiYWNrZ3JvdW5kOiMzNzQxNjI7Ym9yZGVyLWNvbG9yOiMzNzQxNjI7Y29sb3I6I2ZmZn0uYnRuLmJ0bi1tZWRpdW0tc2xhdGUtYmx1ZTpmb2N1cywuYnRuLmJ0bi1tZWRpdW0tc2xhdGUtYmx1ZTpob3ZlcntiYWNrZ3JvdW5kOjAgMDtjb2xvcjojMzc0MTYyfS5idG4uYnRuLW5lb24tb3Jhbmdle2JhY2tncm91bmQ6I2ZmN2E1Njtib3JkZXItY29sb3I6I2ZmN2E1Njtjb2xvcjojZmZmfS5idG4uYnRuLW5lb24tb3JhbmdlOmZvY3VzLC5idG4uYnRuLW5lb24tb3JhbmdlOmhvdmVye2JhY2tncm91bmQ6MCAwO2NvbG9yOiNmZjdhNTZ9LmJ0bi5idG4tc2FsbW9uLXJvc2V7YmFja2dyb3VuZDojZWE5ZDhkO2JvcmRlci1jb2xvcjojZWE5ZDhkO2NvbG9yOiMyMzIzMjN9LmJ0bi5idG4tc2FsbW9uLXJvc2U6Zm9jdXMsLmJ0bi5idG4tc2FsbW9uLXJvc2U6aG92ZXJ7YmFja2dyb3VuZDowIDA7Y29sb3I6I2VhOWQ4ZH0uYnRuLmJ0bi10dXNzb2Nre2JhY2tncm91bmQ6I2JmOGM0Yztib3JkZXItY29sb3I6I2JmOGM0Yztjb2xvcjojZmZmfS5idG4uYnRuLXR1c3NvY2s6Zm9jdXMsLmJ0bi5idG4tdHVzc29jazpob3ZlcntiYWNrZ3JvdW5kOjAgMDtjb2xvcjojYmY4YzRjfS5idG4uYnRuLWdvbGRlbntiYWNrZ3JvdW5kOiNjYTk0M2Q7Ym9yZGVyLWNvbG9yOiNjYTk0M2Q7Y29sb3I6I2ZmZn0uYnRuLmJ0bi1nb2xkZW46Zm9jdXMsLmJ0bi5idG4tZ29sZGVuOmhvdmVye2JhY2tncm91bmQ6MCAwO2NvbG9yOiNjYTk0M2R9LmJ0bi5idG4tZ29sZGVuLWJyb3due2JhY2tncm91bmQ6I2NkOTQ1Mjtib3JkZXItY29sb3I6I2NkOTQ1Mjtjb2xvcjojZmZmfS5idG4uYnRuLWdvbGRlbi1icm93bjpmb2N1cywuYnRuLmJ0bi1nb2xkZW4tYnJvd246aG92ZXJ7YmFja2dyb3VuZDowIDA7Y29sb3I6I2NkOTQ1Mn0uYnRuLmJ0bi1pcmlzLWJsdWV7YmFja2dyb3VuZDojMDBiOGI4O2JvcmRlci1jb2xvcjojMDBiOGI4O2NvbG9yOiNmZmZ9LmJ0bi5idG4taXJpcy1ibHVlOmZvY3VzLC5idG4uYnRuLWlyaXMtYmx1ZTpob3ZlcntiYWNrZ3JvdW5kOjAgMDtjb2xvcjojMDBiOGI4fS5idG4uYnRuLXRyYW5zcGFyZW50LXdoaXRle2JhY2tncm91bmQ6MCAwO2JvcmRlci1jb2xvcjojZmZmO2NvbG9yOiNmZmZ9LmJ0bi5idG4tdHJhbnNwYXJlbnQtd2hpdGU6Zm9jdXMsLmJ0bi5idG4tdHJhbnNwYXJlbnQtd2hpdGU6aG92ZXJ7YmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjojZmZmO2NvbG9yOiMyMzIzMjN9LmJ0bi5idG4tdHJhbnNwYXJlbnQtYmxhY2t7YmFja2dyb3VuZDowIDA7Ym9yZGVyLWNvbG9yOiMwMDA7Y29sb3I6IzAwMH0uYnRuLmJ0bi10cmFuc3BhcmVudC1ibGFjazpmb2N1cywuYnRuLmJ0bi10cmFuc3BhcmVudC1ibGFjazpob3ZlcntiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLWNvbG9yOiMwMDA7Y29sb3I6I2ZmZn0uYnRuLmJ0bi10cmFuc3BhcmVudC1kYXJrLWdyYXl7YmFja2dyb3VuZDowIDA7Ym9yZGVyLWNvbG9yOiMyMzIzMjM7Y29sb3I6IzIzMjMyM30uYnRuLmJ0bi10cmFuc3BhcmVudC1kYXJrLWdyYXk6Zm9jdXMsLmJ0bi5idG4tdHJhbnNwYXJlbnQtZGFyay1ncmF5OmhvdmVye2JhY2tncm91bmQ6IzIzMjMyMztib3JkZXItY29sb3I6IzIzMjMyMztjb2xvcjojZmZmfS5idG4uYnRuLXRyYW5zcGFyZW50LWxpZ2h0LWdyYXl7YmFja2dyb3VuZDowIDA7Ym9yZGVyLWNvbG9yOiNkYmRiZGI7Y29sb3I6IzIzMjMyM30uYnRuLmJ0bi10cmFuc3BhcmVudC1saWdodC1ncmF5OmZvY3VzLC5idG4uYnRuLXRyYW5zcGFyZW50LWxpZ2h0LWdyYXk6aG92ZXJ7YmFja2dyb3VuZDojMjMyMzIzO2JvcmRlci1jb2xvcjojMjMyMzIzO2NvbG9yOiNmZmZ9LmJ0bi5idG4tdHJhbnNwYXJlbnQtbWVkaXVtLWxpZ2h0LWdyYXl7YmFja2dyb3VuZDowIDA7Ym9yZGVyLWNvbG9yOiM3NTc1NzU7Y29sb3I6Izc1NzU3NX0uYnRuLmJ0bi10cmFuc3BhcmVudC1tZWRpdW0tbGlnaHQtZ3JheTpmb2N1cywuYnRuLmJ0bi10cmFuc3BhcmVudC1tZWRpdW0tbGlnaHQtZ3JheTpob3ZlcntiYWNrZ3JvdW5kOiNkYmRiZGI7Ym9yZGVyLWNvbG9yOiNkYmRiZGI7Y29sb3I6IzIzMjMyM30uYnRuLmJ0bi10cmFuc3BhcmVudC1mYXN0LWJsdWV7YmFja2dyb3VuZDowIDA7Ym9yZGVyLWNvbG9yOiMwMDM4ZTM7Y29sb3I6IzAwMzhlM30uYnRuLmJ0bi10cmFuc3BhcmVudC1mYXN0LWJsdWU6Zm9jdXMsLmJ0bi5idG4tdHJhbnNwYXJlbnQtZmFzdC1ibHVlOmhvdmVye2JhY2tncm91bmQ6IzAwMzhlMztib3JkZXItY29sb3I6IzAwMzhlMztjb2xvcjojZmZmfS5idG4uYnRuLXRyYW5zcGFyZW50LWdyZWVue2JhY2tncm91bmQ6MCAwO2JvcmRlci1jb2xvcjojMWRjZjc5O2NvbG9yOiMxZGNmNzl9LmJ0bi5idG4tdHJhbnNwYXJlbnQtZ3JlZW46Zm9jdXMsLmJ0bi5idG4tdHJhbnNwYXJlbnQtZ3JlZW46aG92ZXJ7YmFja2dyb3VuZDojMWRjZjc5O2JvcmRlci1jb2xvcjojMWRjZjc5O2NvbG9yOiNmZmZ9LmJ0bi5idG4tdHJhbnNwYXJlbnQtc2xhdGUtYmx1ZXtiYWNrZ3JvdW5kOjAgMDtib3JkZXItY29sb3I6IzI2MmIzNTtjb2xvcjojMjYyYjM1fS5idG4uYnRuLXRyYW5zcGFyZW50LXNsYXRlLWJsdWU6Zm9jdXMsLmJ0bi5idG4tdHJhbnNwYXJlbnQtc2xhdGUtYmx1ZTpob3ZlcntiYWNrZ3JvdW5kOiMyNjJiMzU7Ym9yZGVyLWNvbG9yOiMyNjJiMzU7Y29sb3I6I2ZmZn0uYnRuLmJ0bi10cmFuc3BhcmVudC1tZWRpdW0tc2xhdGUtYmx1ZXtiYWNrZ3JvdW5kOjAgMDtib3JkZXItY29sb3I6IzM3NDE2Mjtjb2xvcjojMzc0MTYyfS5idG4uYnRuLXRyYW5zcGFyZW50LW1lZGl1bS1zbGF0ZS1ibHVlOmZvY3VzLC5idG4uYnRuLXRyYW5zcGFyZW50LW1lZGl1bS1zbGF0ZS1ibHVlOmhvdmVye2JhY2tncm91bmQ6IzM3NDE2Mjtib3JkZXItY29sb3I6IzM3NDE2Mjtjb2xvcjojZmZmfS5idG4uYnRuLXRyYW5zcGFyZW50LXR1c3NvY2t7YmFja2dyb3VuZDowIDA7Ym9yZGVyLWNvbG9yOiNiZjhjNGM7Y29sb3I6I2JmOGM0Y30uYnRuLmJ0bi10cmFuc3BhcmVudC10dXNzb2NrOmZvY3VzLC5idG4uYnRuLXRyYW5zcGFyZW50LXR1c3NvY2s6aG92ZXJ7YmFja2dyb3VuZDojYmY4YzRjO2JvcmRlci1jb2xvcjojYmY4YzRjO2NvbG9yOiNmZmZ9LmJ0bi5idG4tdHJhbnNwYXJlbnQtZ29sZGVuLWJyb3due2JhY2tncm91bmQ6MCAwO2JvcmRlci1jb2xvcjojY2Q5NDUyO2NvbG9yOiNjZDk0NTJ9LmJ0bi5idG4tdHJhbnNwYXJlbnQtZ29sZGVuLWJyb3duOmZvY3VzLC5idG4uYnRuLXRyYW5zcGFyZW50LWdvbGRlbi1icm93bjpob3ZlcntiYWNrZ3JvdW5kOiNjZDk0NTI7Ym9yZGVyLWNvbG9yOiNjZDk0NTI7Y29sb3I6I2ZmZn0uYnRuLWdyYWRpZW50LW1hZ2VudGEtb3Jhbmdle2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNlNDI1NjQsI2ZhNjI1OSwjZTQyNTY0KTtjb2xvcjojZmZmO2JhY2tncm91bmQtc2l6ZToyMDAlIGF1dG87dHJhbnNpdGlvbjphbGwgLjNzIGN1YmljLWJlemllciguMjUsLjgsLjI1LDEpfS5idG4tZ3JhZGllbnQtbWFnZW50YS1vcmFuZ2UtMntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjZWM2MDZjLCNlYjcyNDIsI2VjNjA2Yyk7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLXNpemU6MjAwJSBhdXRvO3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjI1LC44LC4yNSwxKX0uYnRuLWdyYWRpZW50LXB1cnBsZS1tYWdlbnRhe2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCM1MDI5NzAsI2YzNDI1OSwjNTAyOTcwKTtjb2xvcjojZmZmO2JhY2tncm91bmQtc2l6ZToyMDAlIGF1dG87dHJhbnNpdGlvbjphbGwgLjNzIGN1YmljLWJlemllciguMjUsLjgsLjI1LDEpfS5idG4tZ3JhZGllbnQtbGlnaHQtcHVycGxlLWxpZ2h0LW9yYW5nZXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjYjg4NGZkLCNmZTczYTgsI2I4ODRmZCk7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLXNpemU6MjAwJSBhdXRvO3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjI1LC44LC4yNSwxKX0uYnRuLWdyYWRpZW50LXNreS1ibHVlLXBpbmt7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzU1NmZmZiwjZmY3OThlLCM1NTZmZmYpO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1zaXplOjIwMCUgYXV0bzt0cmFuc2l0aW9uOmFsbCAuM3MgY3ViaWMtYmV6aWVyKC4yNSwuOCwuMjUsMSl9LmJ0bi1ncmFkaWVudC1wZWFjb2NrLWJsdWUtY3JvbWUteWVsbG93e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCMzNmMxZTEsI2ZlYjk1YiwjMzZjMWUxKTtjb2xvcjojZmZmO2JhY2tncm91bmQtc2l6ZToyMDAlIGF1dG87dHJhbnNpdGlvbjphbGwgLjNzIGN1YmljLWJlemllciguMjUsLjgsLjI1LDEpfS5idG4tZ3JhZGllbnQtZmFzdC1ibHVlLXB1cnBsZXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjMDAzOWUzLCM4NjAwZDQsIzAwMzllMyk7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLXNpemU6MjAwJSBhdXRvO3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjI1LC44LC4yNSwxKX0uYnRuLWdyYWRpZW50LXRhbi1nZXJhbGRpbmV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2ZlODE4MiwjZjhhMzgwLCNmZTgxODIpO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1zaXplOjIwMCUgYXV0bzt0cmFuc2l0aW9uOmFsbCAuM3MgY3ViaWMtYmV6aWVyKC4yNSwuOCwuMjUsMSl9LmJ0bi1ncmFkaWVudC10YW4tZ2VyYWxkaW5lLTJ7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2ZmNzk4YywjZmY3ZTg5LCNmZjg1ODQsI2ZmOGQ3ZSwjZmY5MjdhKTtjb2xvcjojZmZmO2JhY2tncm91bmQtc2l6ZToyMDAlIGF1dG87dHJhbnNpdGlvbjphbGwgLjNzIGN1YmljLWJlemllciguMjUsLjgsLjI1LDEpfS5idG4tZ3JhZGllbnQtc2hhbXJvY2stZ3JlZW4tbGlnaHQtb3Jhbmdle2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCMyZWQ0N2MsI2U4YTYyNiwjMmVkNDdjKTtjb2xvcjojZmZmO2JhY2tncm91bmQtc2l6ZToyMDAlIGF1dG87dHJhbnNpdGlvbjphbGwgLjNzIGN1YmljLWJlemllciguMjUsLjgsLjI1LDEpfS5idG4tZ3JhZGllbnQtbGlnaHQtcHVycGxlLWxpZ2h0LXJlZHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCwjYjg4NGZkLCNmZDkzOTUsI2I4ODRmZCk7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLXNpemU6MjAwJSBhdXRvO3RyYW5zaXRpb246YWxsIC4zcyBjdWJpYy1iZXppZXIoLjI1LC44LC4yNSwxKX0uYnRuLWdyYWRpZW50LXllbGxvd2lzaC1ncmVlbi10dXJxdW9pc2V7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2QwZTUxYiwjM2VkZmI2LCNkMGU1MWIpO2NvbG9yOiMyMzIzMjM7YmFja2dyb3VuZC1zaXplOjIwMCUgYXV0bzt0cmFuc2l0aW9uOmFsbCAuM3MgY3ViaWMtYmV6aWVyKC4yNSwuOCwuMjUsMSl9LmJ0bi1ncmFkaWVudC1wZWFjb2NrLWJsdWUtY3JvbWUteWVsbG93LTJ7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIzVjYzA4OCwjZTdhOTY1LCM1Y2MwODgpO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1zaXplOjIwMCUgYXV0bzt0cmFuc2l0aW9uOmFsbCAuM3MgY3ViaWMtYmV6aWVyKC4yNSwuOCwuMjUsMSl9LmJ0bi1ncmFkaWVudC1mYXN0LWJsdWUtcHVycGxlOmZvY3VzLC5idG4tZ3JhZGllbnQtZmFzdC1ibHVlLXB1cnBsZTpob3ZlciwuYnRuLWdyYWRpZW50LWxpZ2h0LXB1cnBsZS1saWdodC1vcmFuZ2U6Zm9jdXMsLmJ0bi1ncmFkaWVudC1saWdodC1wdXJwbGUtbGlnaHQtb3JhbmdlOmhvdmVyLC5idG4tZ3JhZGllbnQtbGlnaHQtcHVycGxlLWxpZ2h0LXJlZDpmb2N1cywuYnRuLWdyYWRpZW50LWxpZ2h0LXB1cnBsZS1saWdodC1yZWQ6aG92ZXIsLmJ0bi1ncmFkaWVudC1tYWdlbnRhLW9yYW5nZS0yOmZvY3VzLC5idG4tZ3JhZGllbnQtbWFnZW50YS1vcmFuZ2UtMjpob3ZlciwuYnRuLWdyYWRpZW50LW1hZ2VudGEtb3JhbmdlOmZvY3VzLC5idG4tZ3JhZGllbnQtbWFnZW50YS1vcmFuZ2U6aG92ZXIsLmJ0bi1ncmFkaWVudC1wZWFjb2NrLWJsdWUtY3JvbWUteWVsbG93LTI6Zm9jdXMsLmJ0bi1ncmFkaWVudC1wZWFjb2NrLWJsdWUtY3JvbWUteWVsbG93LTI6aG92ZXIsLmJ0bi1ncmFkaWVudC1wZWFjb2NrLWJsdWUtY3JvbWUteWVsbG93OmZvY3VzLC5idG4tZ3JhZGllbnQtcGVhY29jay1ibHVlLWNyb21lLXllbGxvdzpob3ZlciwuYnRuLWdyYWRpZW50LXB1cnBsZS1tYWdlbnRhOmZvY3VzLC5idG4tZ3JhZGllbnQtcHVycGxlLW1hZ2VudGE6aG92ZXIsLmJ0bi1ncmFkaWVudC1zaGFtcm9jay1ncmVlbi1saWdodC1vcmFuZ2U6Zm9jdXMsLmJ0bi1ncmFkaWVudC1zaGFtcm9jay1ncmVlbi1saWdodC1vcmFuZ2U6aG92ZXIsLmJ0bi1ncmFkaWVudC1za3ktYmx1ZS1waW5rOmZvY3VzLC5idG4tZ3JhZGllbnQtc2t5LWJsdWUtcGluazpob3ZlciwuYnRuLWdyYWRpZW50LXRhbi1nZXJhbGRpbmUtMjpmb2N1cywuYnRuLWdyYWRpZW50LXRhbi1nZXJhbGRpbmUtMjpob3ZlciwuYnRuLWdyYWRpZW50LXRhbi1nZXJhbGRpbmU6Zm9jdXMsLmJ0bi1ncmFkaWVudC10YW4tZ2VyYWxkaW5lOmhvdmVyLC5idG4tZ3JhZGllbnQteWVsbG93aXNoLWdyZWVuLXR1cnF1b2lzZTpmb2N1cywuYnRuLWdyYWRpZW50LXllbGxvd2lzaC1ncmVlbi10dXJxdW9pc2U6aG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCBjZW50ZXI7Y29sb3I6I2ZmZn0uYnRuLmJ0bi10cmFuc3BhcmVudC1ncmFkaWVudC1za3ktYmx1ZS1waW5re2JhY2tncm91bmQ6MCAwO2NvbG9yOiMyMzIzMjM7Ym9yZGVyLWltYWdlLXNsaWNlOjE7Ym9yZGVyLWltYWdlLXNvdXJjZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcsIzU1NmZmZiwjZmY3OThlKX0uYnRuLmJ0bi10cmFuc3BhcmVudC1ncmFkaWVudC1za3ktYmx1ZS1waW5rOmZvY3VzLC5idG4uYnRuLXRyYW5zcGFyZW50LWdyYWRpZW50LXNreS1ibHVlLXBpbms6aG92ZXJ7YmFja2dyb3VuZDowIDA7Y29sb3I6IzIzMjMyM30uYm9yZGVyLWFsbHtib3JkZXI6MXB4IHNvbGlkIWltcG9ydGFudH0uYm9yZGVyLXRvcHtib3JkZXItdG9wOjFweCBzb2xpZCFpbXBvcnRhbnR9LmJvcmRlci1ib3R0b217Ym9yZGVyLWJvdHRvbToxcHggc29saWQhaW1wb3J0YW50fS5ib3JkZXItbGVmdHtib3JkZXItbGVmdDoxcHggc29saWQhaW1wb3J0YW50fS5ib3JkZXItcmlnaHR7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCFpbXBvcnRhbnR9LmJvcmRlci1scntib3JkZXItbGVmdDoxcHggc29saWQ7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCFpbXBvcnRhbnR9LmJvcmRlci10Yntib3JkZXItdG9wOjFweCBzb2xpZDtib3JkZXItYm90dG9tOjFweCBzb2xpZCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC0xcHh7Ym9yZGVyLXdpZHRoOjFweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC0ycHh7Ym9yZGVyLXdpZHRoOjJweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC0zcHh7Ym9yZGVyLXdpZHRoOjNweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC00cHh7Ym9yZGVyLXdpZHRoOjRweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC01cHh7Ym9yZGVyLXdpZHRoOjVweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC02cHh7Ym9yZGVyLXdpZHRoOjZweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC03cHh7Ym9yZGVyLXdpZHRoOjdweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC04cHh7Ym9yZGVyLXdpZHRoOjhweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC05cHh7Ym9yZGVyLXdpZHRoOjlweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC0xMHB4e2JvcmRlci13aWR0aDoxMHB4IWltcG9ydGFudH0uYm9yZGVyLXdpZHRoLTExcHh7Ym9yZGVyLXdpZHRoOjExcHghaW1wb3J0YW50fS5ib3JkZXItd2lkdGgtMTJweHtib3JkZXItd2lkdGg6MTJweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC0xM3B4e2JvcmRlci13aWR0aDoxM3B4IWltcG9ydGFudH0uYm9yZGVyLXdpZHRoLTE0cHh7Ym9yZGVyLXdpZHRoOjE0cHghaW1wb3J0YW50fS5ib3JkZXItd2lkdGgtMTVweHtib3JkZXItd2lkdGg6MTVweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC0xNnB4e2JvcmRlci13aWR0aDoxNnB4IWltcG9ydGFudH0uYm9yZGVyLXdpZHRoLTE3cHh7Ym9yZGVyLXdpZHRoOjE3cHghaW1wb3J0YW50fS5ib3JkZXItd2lkdGgtMThweHtib3JkZXItd2lkdGg6MThweCFpbXBvcnRhbnR9LmJvcmRlci13aWR0aC0xOXB4e2JvcmRlci13aWR0aDoxOXB4IWltcG9ydGFudH0uYm9yZGVyLXdpZHRoLTIwcHh7Ym9yZGVyLXdpZHRoOjIwcHghaW1wb3J0YW50fS5ib3JkZXItY29sb3Itd2hpdGV7Ym9yZGVyLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5ib3JkZXItY29sb3ItYmxhY2t7Ym9yZGVyLWNvbG9yOiMwMDAhaW1wb3J0YW50fS5ib3JkZXItY29sb3Itc2t5LWJsdWV7Ym9yZGVyLWNvbG9yOiMyZTk0ZWIhaW1wb3J0YW50fS5ib3JkZXItY29sb3ItZXh0cmEtZGFyay1ncmF5e2JvcmRlci1jb2xvcjojMjMyMzIzIWltcG9ydGFudH0uYm9yZGVyLWNvbG9yLW1lZGl1bS1kYXJrLWdyYXl7Ym9yZGVyLWNvbG9yOiMzNjM2MzYhaW1wb3J0YW50fS5ib3JkZXItY29sb3ItZGFyay1ncmF5e2JvcmRlci1jb2xvcjojOTM5MzkzIWltcG9ydGFudH0uYm9yZGVyLWNvbG9yLWV4dHJhLW1lZGl1bS1ncmF5e2JvcmRlci1jb2xvcjojZGJkYmRiIWltcG9ydGFudH0uYm9yZGVyLWNvbG9yLW1lZGl1bS1ncmF5e2JvcmRlci1jb2xvcjojZTRlNGU0IWltcG9ydGFudH0uYm9yZGVyLWNvbG9yLW1lZGl1bS1saWdodC1ncmF5e2JvcmRlci1jb2xvcjojNzU3NTc1IWltcG9ydGFudH0uYm9yZGVyLWNvbG9yLWV4dHJhLWxpZ2h0LWdyYXl7Ym9yZGVyLWNvbG9yOiNlZGVkZWQhaW1wb3J0YW50fS5ib3JkZXItY29sb3ItbGlnaHQtZ3JheXtib3JkZXItY29sb3I6I2Y1ZjVmNSFpbXBvcnRhbnR9LmJvcmRlci1jb2xvci1saWdodC1waW5re2JvcmRlci1jb2xvcjojZmY4NWE2IWltcG9ydGFudH0uYm9yZGVyLWNvbG9yLWZhc3QtYmx1ZXtib3JkZXItY29sb3I6IzAwMzhlMyFpbXBvcnRhbnR9LmJvcmRlci1jb2xvci1saWdodC1wZWFjaHtib3JkZXItY29sb3I6I2ZmZDdjNCFpbXBvcnRhbnR9LmJvcmRlci1jb2xvci1uZW9uLW9yYW5nZXtib3JkZXItY29sb3I6I2ZmN2E1NiFpbXBvcnRhbnR9LmJvcmRlci1jb2xvci1ncmVlbntib3JkZXItY29sb3I6IzI3YWU2MCFpbXBvcnRhbnR9LmJvcmRlci1jb2xvci1vbGl2aW5lLWdyZWVue2JvcmRlci1jb2xvcjojOGJiODY3IWltcG9ydGFudH0uYm9yZGVyLWNvbG9yLXNoYW1yb2NrLWdyZWVue2JvcmRlci1jb2xvcjojMmVkNDdjIWltcG9ydGFudH0uYm9yZGVyLWNvbG9yLWxpZ2h0LWJyb3duaXNoLW9yYW5nZXtib3JkZXItY29sb3I6I2U2OTk0ZSFpbXBvcnRhbnR9LmJvcmRlci1jb2xvci1nb2xkZW4tYnJvd257Ym9yZGVyLWNvbG9yOiNjZDk0NTIhaW1wb3J0YW50fS5ib3JkZXItY29sb3ItdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IWltcG9ydGFudH0uYm9yZGVyLWNvbG9yLWJsYWNrLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xKSFpbXBvcnRhbnR9LmJvcmRlci1jb2xvci13aGl0ZS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSkhaW1wb3J0YW50fS5ib3JkZXItY29sb3ItZ29sZGVuLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDIwMiwxNDgsNjEsLjQpIWltcG9ydGFudH0uYm9yZGVyLWNvbG9yLXBpbmstdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDMzLDc5LC40NSkhaW1wb3J0YW50fS5ib3JkZXItY29sb3ItZGFyay13aGl0ZS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMikhaW1wb3J0YW50fS5ib3JkZXItY29sb3ItbWVkaXVtLXdoaXRlLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KSFpbXBvcnRhbnR9LmJvcmRlci1jb2xvci1mdWxsLWRhcmstd2hpdGUtdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjA1KSFpbXBvcnRhbnR9LmJvcmRlci1jb2xvci1saWdodC13aGl0ZS10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSkhaW1wb3J0YW50fS5ib3JkZXItY29sb3ItbmVyby10cmFuc3BhcmVudHtib3JkZXItY29sb3I6cmdiYSgyNSwyNSwyNSwuMSkhaW1wb3J0YW50fS5ib3JkZXItY29sb3ItZXh0cmEtbWVkaXVtLWdyYXktdHJhbnNwYXJlbnR7Ym9yZGVyLWNvbG9yOnJnYmEoMjE5LDIxOSwyMTksLjA0KSFpbXBvcnRhbnR9LmJvcmRlci1jb2xvci1jb3BwZXItcmVkLXRyYW5zcGFyZW50e2JvcmRlci1jb2xvcjpyZ2JhKDIwNCwxMTcsNzYsLjMpIWltcG9ydGFudH0uYm9yZGVyLWdyYWRpZW50LW1hZ2VudGEtb3Jhbmdle2JvcmRlci1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgdG9wLCNlNDI0NjQsI2VkM2M1ZiwjZjQ0ZjVjLCNmYTYyNTksI2ZmNzM1Nyk7Ym9yZGVyLWltYWdlLXNsaWNlOjF9LmJvcmRlci1ncmFkaWVudC1wdXJwbGUtbWFnZW50YXtib3JkZXItaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjNTAyOTcwLCM3ZjI5NzcsI2FjMjc3NSwjZDQyZDZiLCNmMzQyNTkpO2JvcmRlci1pbWFnZS1zbGljZToxfS5ib3JkZXItZ3JhZGllbnQtbGlnaHQtcHVycGxlLWxpZ2h0LW9yYW5nZXtib3JkZXItaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjYjc4M2ZmLCNlMzdiZTAsI2ZhN2NjMSwjZmY4NWE2LCNmZjkzOTMpO2JvcmRlci1pbWFnZS1zbGljZToxfS5ib3JkZXItZ3JhZGllbnQtc2t5LWJsdWUtcGlua3tib3JkZXItaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjNTU2ZmZmLCNiMjYzZTQsI2UwNWZjNCwjZjc2N2E2LCNmZjc5OGUpO2JvcmRlci1pbWFnZS1zbGljZToxfS5ib3JkZXItZ3JhZGllbnQtcGVhY29jay1ibHVlLWNyb21lLXllbGxvd3tib3JkZXItaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjMzZjMWUxLCMyOGNjYzAsIzc0Y2Y4ZSwjYmFjOTYyLCNmZWI5NWIpO2JvcmRlci1pbWFnZS1zbGljZToxfS5ib3JkZXItZ3JhZGllbnQtZmFzdC1ibHVlLXB1cnBsZXtib3JkZXItaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjMDAzOWUzLCM0MTMyZTAsIzVlMjhkZCwjNzQxYmQ5LCM4NjAwZDQpO2JvcmRlci1pbWFnZS1zbGljZToxfS5ib3JkZXItZ3JhZGllbnQtbGlnaHQtcHVycGxlLWxpZ2h0LXJlZHtib3JkZXItaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjYmI4NWY5LCNjODg3ZTUsI2RhOGJjYSwjZWI4ZmIwLCNmYjkzOTgpO2JvcmRlci1pbWFnZS1zbGljZToxfS5ib3JkZXItZ3JhZGllbnQtbGlnaHQtYnJvd25pc2gtb3JhbmdlLWJsYWNre2JvcmRlci1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgdG9wLCNlNzllNTcsIzlkOTA0OSwjNjI3OTRjLCM0MDVjNGMsIzM1M2QzYyk7Ym9yZGVyLWltYWdlLXNsaWNlOjF9LmJvcmRlci1ncmFkaWVudC1yZWQtdmlvbGV0LXB1cnBsZXtib3JkZXItaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCNiOTNkOTAsI2E5MmI5NSwjOTUxYjljLCM3YTExYTQsIzU0MTJhZCk7Ym9yZGVyLWltYWdlLXNsaWNlOjF9LmJvcmRlci1kb3R0ZWR7Ym9yZGVyLXN0eWxlOmRvdHRlZCFpbXBvcnRhbnR9LmJvcmRlci1kYXNoZWR7Ym9yZGVyLXN0eWxlOmRhc2hlZCFpbXBvcnRhbnR9LmJvcmRlci1zb2xpZHtib3JkZXItc3R5bGU6c29saWQhaW1wb3J0YW50fS5ib3JkZXItZG91Ymxle2JvcmRlci1zdHlsZTpkb3VibGUhaW1wb3J0YW50fS5ib3JkZXItZ3Jvb3Zle2JvcmRlci1zdHlsZTpncm9vdmUhaW1wb3J0YW50fS5ib3JkZXItcmlkZ2V7Ym9yZGVyLXN0eWxlOnJpZGdlIWltcG9ydGFudH0uYm9yZGVyLWluc2V0e2JvcmRlci1zdHlsZTppbnNldCFpbXBvcnRhbnR9LmJvcmRlci1vdXRzZXR7Ym9yZGVyLXN0eWxlOm91dHNldCFpbXBvcnRhbnR9LmJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lIWltcG9ydGFudH0uYm9yZGVyLWhpZGRlbntib3JkZXItc3R5bGU6aGlkZGVuIWltcG9ydGFudH0uYm9yZGVyLXRyYW5zcGVyZW50e2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCFpbXBvcnRhbnR9Lm5vLWJvcmRlcntib3JkZXI6MCFpbXBvcnRhbnR9Lm5vLWJvcmRlci10b3B7Ym9yZGVyLXRvcDowIWltcG9ydGFudH0ubm8tYm9yZGVyLWJvdHRvbXtib3JkZXItYm90dG9tOjAhaW1wb3J0YW50fS5uby1ib3JkZXItcmlnaHR7Ym9yZGVyLXJpZ2h0OjAhaW1wb3J0YW50fS5uby1ib3JkZXItbGVmdHtib3JkZXItbGVmdDowIWltcG9ydGFudH0ubm8tYm9yZGVyLXRvcC1ib3R0b217Ym9yZGVyLXRvcDowIWltcG9ydGFudDtib3JkZXItYm90dG9tOjAhaW1wb3J0YW50fS5uby1ib3JkZXItbGVmdC1yaWdodHtib3JkZXItbGVmdDowIWltcG9ydGFudDtib3JkZXItcmlnaHQ6MCFpbXBvcnRhbnR9LmJvcmRlci1yYWRpdXMtMHB4e2JvcmRlci1yYWRpdXM6MH0uYm9yZGVyLXJhZGl1cy0xcHh7Ym9yZGVyLXJhZGl1czoxcHh9LmJvcmRlci1yYWRpdXMtMnB4e2JvcmRlci1yYWRpdXM6MnB4fS5ib3JkZXItcmFkaXVzLTNweHtib3JkZXItcmFkaXVzOjNweH0uYm9yZGVyLXJhZGl1cy00cHh7Ym9yZGVyLXJhZGl1czo0cHh9LmJvcmRlci1yYWRpdXMtNXB4e2JvcmRlci1yYWRpdXM6NXB4fS5ib3JkZXItcmFkaXVzLTZweHtib3JkZXItcmFkaXVzOjZweH0uYm9yZGVyLXJhZGl1cy03cHh7Ym9yZGVyLXJhZGl1czo3cHh9LmJvcmRlci1yYWRpdXMtOHB4e2JvcmRlci1yYWRpdXM6OHB4fS5ib3JkZXItcmFkaXVzLTlweHtib3JkZXItcmFkaXVzOjlweH0uYm9yZGVyLXJhZGl1cy0xMHB4e2JvcmRlci1yYWRpdXM6MTBweH0uYm9yZGVyLXJhZGl1cy0yMHB4e2JvcmRlci1yYWRpdXM6MjBweH0uYm9yZGVyLXJhZGl1cy0zMHB4e2JvcmRlci1yYWRpdXM6MzBweH0uYm9yZGVyLXJhZGl1cy00MHB4e2JvcmRlci1yYWRpdXM6NDBweH0uYm9yZGVyLXJhZGl1cy01MHB4e2JvcmRlci1yYWRpdXM6NTBweH0uYm9yZGVyLXJhZGl1cy0xMDBweHtib3JkZXItcmFkaXVzOjEwMHB4fS5ib3JkZXItcmFkaXVzLTUwe2JvcmRlci1yYWRpdXM6NTAlfS5ib3JkZXItcmFkaXVzLTEwMHtib3JkZXItcmFkaXVzOjEwMCV9Lm5vLWJvcmRlci1yYWRpdXN7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudH0udmlkZW8td3JhcHBlcntoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJX0uaHRtbC12aWRlb3tiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7bGVmdDo1MCU7d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjEwMCU7bWluLXdpZHRoOjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDApO3otaW5kZXg6LTN9LnZpZGVvLXdyYXBwZXIgaWZyYW1le2hlaWdodDoxMDAlO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTVweCFpbXBvcnRhbnQ7d2lkdGg6MTAwJX0udmlkZW8tYmFja2dyb3VuZHtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3otaW5kZXg6MTt0b3A6MDtiYWNrZ3JvdW5kOnJnYmEoNjcsNjcsNjcsLjUpfS5odG1sLXZpZGVvLXBsYXl7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXJ9Lmh0bWwtdmlkZW8tcGxheSAucGF1c2UtaWNvbiwuaHRtbC12aWRlby1wbGF5IC5wbGF5LWljb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7cGFkZGluZy1sZWZ0OjhweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9Lmh0bWwtdmlkZW8tcGxheSAucGF1c2UtaWNvbiwuaHRtbC12aWRlby1wbGF5W3BsYXlpbmc9dHJ1ZV0gLnBsYXktaWNvbntvcGFjaXR5OjA7dG9wOjA7dmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstby10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30uaHRtbC12aWRlby1wbGF5W3BsYXlpbmc9dHJ1ZV0gLnBsYXktaWNvbnt0b3A6MH0uaHRtbC12aWRlby1wbGF5IC5wYXVzZS1pY29ue3RvcDoxMDAlfS5odG1sLXZpZGVvLXBsYXkgLnBsYXktaWNvbiwuaHRtbC12aWRlby1wbGF5W3BsYXlpbmc9dHJ1ZV0gLnBhdXNlLWljb257b3BhY2l0eToxO3RvcDo1MCU7dmlzaWJpbGl0eTp2aXNpYmxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9LnBsYXktaWNvbi1hbmltYXRpb257LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0ucGxheS1pY29uLWFuaW1hdGlvbjpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uYmctdmlkZW8td3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Oi0xO3BvaW50ZXItZXZlbnRzOm5vbmU7b3ZlcmZsb3c6aGlkZGVufS5iZy12aWRlby13cmFwcGVyIGlmcmFtZXt3aWR0aDoxMDB2dztoZWlnaHQ6NTYuMjV2dzttaW4taGVpZ2h0OjEwMHZoO21pbi13aWR0aDoxNzcuNzd2aDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX0uY292ZXItYmFja2dyb3VuZHtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQhaW1wb3J0YW50O2JhY2tncm91bmQtc2l6ZTpjb3ZlciFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlciFpbXBvcnRhbnR9LmZpeC1iYWNrZ3JvdW5ke3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtc2l6ZTpjb3ZlciFpbXBvcnRhbnQ7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MHM7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOm5vbmU7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQhaW1wb3J0YW50O2JhY2tncm91bmQtYXR0YWNobWVudDpmaXhlZCFpbXBvcnRhbnR9LmJhY2tncm91bmQtc2l6ZS1pbmhlcml0e2JhY2tncm91bmQtc2l6ZTppbmhlcml0fS5iYWNrZ3JvdW5kLWF0dGFjaG1lbnQtaW5oZXJpdHtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6aW5oZXJpdH0uYmFja2dyb3VuZC1wb3NpdGlvbi1sZWZ0e2JhY2tncm91bmQtcG9zaXRpb246bGVmdCBjZW50ZXJ9LmJhY2tncm91bmQtcG9zaXRpb24tbGVmdC1ib3R0b217YmFja2dyb3VuZC1wb3NpdGlvbjpsZWZ0IGJvdHRvbX0uYmFja2dyb3VuZC1wb3NpdGlvbi1yaWdodHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IGNlbnRlcn0uYmFja2dyb3VuZC1wb3NpdGlvbi10b3B7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCB0b3B9LmJhY2tncm91bmQtcG9zaXRpb24tY2VudGVyLXRvcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciB0b3B9LmJhY2tncm91bmQtcG9zaXRpb24tcmlnaHQtYm90dG9te2JhY2tncm91bmQtcG9zaXRpb246cmlnaHQgYm90dG9tfS5iYWNrZ3JvdW5kLXBvc2l0aW9uLWNlbnRlci1ib3R0b217YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgYm90dG9tIWltcG9ydGFudH0uYmFja2dyb3VuZC1yZXBlYXR7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0fS5iYWNrZ3JvdW5kLW5vLXJlcGVhdHtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LmJhY2tncm91bmQtcG9zaXRpb24tY2VudGVye2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyfS51cC1kb3duLWFuaXtkaXNwbGF5OnRhYmxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZG93bi1hcnJvdzstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouOHM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstd2Via2l0LWFuaW1hdGlvbi1kZWxheTouOHM7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjphbHRlcm5hdGU7YW5pbWF0aW9uLW5hbWU6ZG93bi1hcnJvdzthbmltYXRpb24tZHVyYXRpb246LjhzO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi1kZWxheTouOHM7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24tZGlyZWN0aW9uOmFsdGVybmF0ZTttYXJnaW46MCBhdXRvfS5jb3Zlci1pbWd7b2JqZWN0LWZpdDpjb3ZlcjtoZWlnaHQ6MTAwJX0ucGFyYWxsYXh7cG9zaXRpb246cmVsYXRpdmUhaW1wb3J0YW50O2JhY2tncm91bmQtc2l6ZTpjb3ZlciFpbXBvcnRhbnQ7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtYXR0YWNobWVudDpmaXhlZCFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjowczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246MHM7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOjBzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246MHN9LnBhcmFsbGF4LWZpeHtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6Zml4ZWQhaW1wb3J0YW50O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvdmVyIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn0ubWFyZ2luLW9uZS1hbGx7bWFyZ2luOjElfS5tYXJnaW4tdHdvLWFsbHttYXJnaW46MiV9Lm1hcmdpbi10aHJlZS1hbGx7bWFyZ2luOjMlfS5tYXJnaW4tZm91ci1hbGx7bWFyZ2luOjQlfS5tYXJnaW4tZml2ZS1hbGx7bWFyZ2luOjUlfS5tYXJnaW4tc2l4LWFsbHttYXJnaW46NiV9Lm1hcmdpbi1zZXZlbi1hbGx7bWFyZ2luOjclfS5tYXJnaW4tZWlnaHQtYWxse21hcmdpbjo4JX0ubWFyZ2luLW5pbmUtYWxse21hcmdpbjo5JX0ubWFyZ2luLXRlbi1hbGx7bWFyZ2luOjEwJX0ubWFyZ2luLWVsZXZlbi1hbGx7bWFyZ2luOjExJX0ubWFyZ2luLXR3ZWx2ZS1hbGx7bWFyZ2luOjEyJX0ubWFyZ2luLXRoaXJ0ZWVuLWFsbHttYXJnaW46MTMlfS5tYXJnaW4tZm91cnRlZW4tYWxse21hcmdpbjoxNCV9Lm1hcmdpbi1maWZ0ZWVuLWFsbHttYXJnaW46MTUlfS5tYXJnaW4tc2l4dGVlbi1hbGx7bWFyZ2luOjE2JX0ubWFyZ2luLXNldmVudGVlbi1hbGx7bWFyZ2luOjE3JX0ubWFyZ2luLWVpZ2h0ZWVuLWFsbHttYXJnaW46MTglfS5tYXJnaW4tbmluZXRlZW4tYWxse21hcmdpbjoxOSV9Lm1hcmdpbi10d2VudHktYWxse21hcmdpbjoyMCV9Lm1hcmdpbi01cHgtYWxse21hcmdpbjo1cHh9Lm1hcmdpbi0xMHB4LWFsbHttYXJnaW46MTBweH0ubWFyZ2luLTE1cHgtYWxse21hcmdpbjoxNXB4fS5tYXJnaW4tMjBweC1hbGx7bWFyZ2luOjIwcHh9Lm1hcmdpbi0yNXB4LWFsbHttYXJnaW46MjVweH0ubWFyZ2luLTMwcHgtYWxse21hcmdpbjozMHB4fS5tYXJnaW4tMzVweC1hbGx7bWFyZ2luOjM1cHh9Lm1hcmdpbi00MHB4LWFsbHttYXJnaW46NDBweH0ubWFyZ2luLTQ1cHgtYWxse21hcmdpbjo0NXB4fS5tYXJnaW4tNTBweC1hbGx7bWFyZ2luOjUwcHh9Lm1hcmdpbi01NXB4LWFsbHttYXJnaW46NTVweH0ubWFyZ2luLTYwcHgtYWxse21hcmdpbjo2MHB4fS5tYXJnaW4tNjVweC1hbGx7bWFyZ2luOjY1cHh9Lm1hcmdpbi03MHB4LWFsbHttYXJnaW46NzBweH0ubWFyZ2luLTc1cHgtYWxse21hcmdpbjo3NXB4fS5tYXJnaW4tODBweC1hbGx7bWFyZ2luOjgwcHh9Lm1hcmdpbi04NXB4LWFsbHttYXJnaW46ODVweH0ubWFyZ2luLTkwcHgtYWxse21hcmdpbjo5MHB4fS5tYXJnaW4tOTVweC1hbGx7bWFyZ2luOjk1cHh9Lm1hcmdpbi0xMDBweC1hbGx7bWFyZ2luOjEwMHB4fS5tYXJnaW4tMS1yZW0tYWxse21hcmdpbjoxcmVtfS5tYXJnaW4tMS1oYWxmLXJlbS1hbGx7bWFyZ2luOjEuNXJlbX0ubWFyZ2luLTItcmVtLWFsbHttYXJnaW46MnJlbX0ubWFyZ2luLTItaGFsZi1yZW0tYWxse21hcmdpbjoyLjVyZW19Lm1hcmdpbi0zLXJlbS1hbGx7bWFyZ2luOjNyZW19Lm1hcmdpbi0zLWhhbGYtcmVtLWFsbHttYXJnaW46My41cmVtfS5tYXJnaW4tNC1yZW0tYWxse21hcmdpbjo0cmVtfS5tYXJnaW4tNC1oYWxmLXJlbS1hbGx7bWFyZ2luOjQuNXJlbX0ubWFyZ2luLTUtcmVtLWFsbHttYXJnaW46NXJlbX0ubWFyZ2luLTUtaGFsZi1yZW0tYWxse21hcmdpbjo1LjVyZW19Lm1hcmdpbi02LXJlbS1hbGx7bWFyZ2luOjZyZW19Lm1hcmdpbi02LWhhbGYtcmVtLWFsbHttYXJnaW46Ni41cmVtfS5tYXJnaW4tNy1yZW0tYWxse21hcmdpbjo3cmVtfS5tYXJnaW4tNy1oYWxmLXJlbS1hbGx7bWFyZ2luOjcuNXJlbX0ubWFyZ2luLTgtcmVtLWFsbHttYXJnaW46OHJlbX0ubWFyZ2luLTgtaGFsZi1yZW0tYWxse21hcmdpbjo4LjVyZW19Lm1hcmdpbi05LXJlbS1hbGx7bWFyZ2luOjlyZW19Lm1hcmdpbi05LWhhbGYtcmVtLWFsbHttYXJnaW46OS41cmVtfS5tYXJnaW4tMTAtcmVtLWFsbHttYXJnaW46MTByZW19Lm1hcmdpbi0xMC1oYWxmLXJlbS1hbGx7bWFyZ2luOjEwLjVyZW19Lm1hcmdpbi1vbmUtdG9we21hcmdpbi10b3A6MSV9Lm1hcmdpbi10d28tdG9we21hcmdpbi10b3A6MiV9Lm1hcmdpbi10aHJlZS10b3B7bWFyZ2luLXRvcDozJX0ubWFyZ2luLWZvdXItdG9we21hcmdpbi10b3A6NCV9Lm1hcmdpbi1maXZlLXRvcHttYXJnaW4tdG9wOjUlfS5tYXJnaW4tc2l4LXRvcHttYXJnaW4tdG9wOjYlfS5tYXJnaW4tc2V2ZW4tdG9we21hcmdpbi10b3A6NyV9Lm1hcmdpbi1laWdodC10b3B7bWFyZ2luLXRvcDo4JX0ubWFyZ2luLW5pbmUtdG9we21hcmdpbi10b3A6OSV9Lm1hcmdpbi10ZW4tdG9we21hcmdpbi10b3A6MTAlfS5tYXJnaW4tZWxldmVuLXRvcHttYXJnaW4tdG9wOjExJX0ubWFyZ2luLXR3ZWx2ZS10b3B7bWFyZ2luLXRvcDoxMiV9Lm1hcmdpbi10aGlydGVlbi10b3B7bWFyZ2luLXRvcDoxMyV9Lm1hcmdpbi1mb3VydGVlbi10b3B7bWFyZ2luLXRvcDoxNCV9Lm1hcmdpbi1maWZ0ZWVuLXRvcHttYXJnaW4tdG9wOjE1JX0ubWFyZ2luLXNpeHRlZW4tdG9we21hcmdpbi10b3A6MTYlfS5tYXJnaW4tc2V2ZW50ZWVuLXRvcHttYXJnaW4tdG9wOjE3JX0ubWFyZ2luLWVpZ2h0ZWVuLXRvcHttYXJnaW4tdG9wOjE4JX0ubWFyZ2luLW5pbmV0ZWVuLXRvcHttYXJnaW4tdG9wOjE5JX0ubWFyZ2luLXR3ZW50eS10b3B7bWFyZ2luLXRvcDoyMCV9Lm1hcmdpbi10d2VudHktZml2ZS10b3B7bWFyZ2luLXRvcDoyMCV9Lm1hcmdpbi01cHgtdG9we21hcmdpbi10b3A6NXB4fS5tYXJnaW4tMTBweC10b3B7bWFyZ2luLXRvcDoxMHB4fS5tYXJnaW4tMTVweC10b3B7bWFyZ2luLXRvcDoxNXB4fS5tYXJnaW4tMjBweC10b3B7bWFyZ2luLXRvcDoyMHB4fS5tYXJnaW4tMjVweC10b3B7bWFyZ2luLXRvcDoyNXB4fS5tYXJnaW4tMzBweC10b3B7bWFyZ2luLXRvcDozMHB4fS5tYXJnaW4tMzVweC10b3B7bWFyZ2luLXRvcDozNXB4fS5tYXJnaW4tNDBweC10b3B7bWFyZ2luLXRvcDo0MHB4fS5tYXJnaW4tNDVweC10b3B7bWFyZ2luLXRvcDo0NXB4fS5tYXJnaW4tNTBweC10b3B7bWFyZ2luLXRvcDo1MHB4fS5tYXJnaW4tNTVweC10b3B7bWFyZ2luLXRvcDo1NXB4fS5tYXJnaW4tNjBweC10b3B7bWFyZ2luLXRvcDo2MHB4fS5tYXJnaW4tNjVweC10b3B7bWFyZ2luLXRvcDo2NXB4fS5tYXJnaW4tNzBweC10b3B7bWFyZ2luLXRvcDo3MHB4fS5tYXJnaW4tNzVweC10b3B7bWFyZ2luLXRvcDo3NXB4fS5tYXJnaW4tODBweC10b3B7bWFyZ2luLXRvcDo4MHB4fS5tYXJnaW4tODVweC10b3B7bWFyZ2luLXRvcDo4NXB4fS5tYXJnaW4tOTBweC10b3B7bWFyZ2luLXRvcDo5MHB4fS5tYXJnaW4tOTVweC10b3B7bWFyZ2luLXRvcDo5NXB4fS5tYXJnaW4tMTAwcHgtdG9we21hcmdpbi10b3A6MTAwcHh9Lm1hcmdpbi0xLXJlbS10b3B7bWFyZ2luLXRvcDoxcmVtfS5tYXJnaW4tMS1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDoxLjVyZW19Lm1hcmdpbi0yLXJlbS10b3B7bWFyZ2luLXRvcDoycmVtfS5tYXJnaW4tMi1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDoyLjVyZW19Lm1hcmdpbi0zLXJlbS10b3B7bWFyZ2luLXRvcDozcmVtfS5tYXJnaW4tMy1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDozLjVyZW19Lm1hcmdpbi00LXJlbS10b3B7bWFyZ2luLXRvcDo0cmVtfS5tYXJnaW4tNC1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo0LjVyZW19Lm1hcmdpbi01LXJlbS10b3B7bWFyZ2luLXRvcDo1cmVtfS5tYXJnaW4tNS1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo1LjVyZW19Lm1hcmdpbi02LXJlbS10b3B7bWFyZ2luLXRvcDo2cmVtfS5tYXJnaW4tNi1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo2LjVyZW19Lm1hcmdpbi03LXJlbS10b3B7bWFyZ2luLXRvcDo3cmVtfS5tYXJnaW4tNy1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo3LjVyZW19Lm1hcmdpbi04LXJlbS10b3B7bWFyZ2luLXRvcDo4cmVtfS5tYXJnaW4tOC1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo4LjVyZW19Lm1hcmdpbi05LXJlbS10b3B7bWFyZ2luLXRvcDo5cmVtfS5tYXJnaW4tOS1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDo5LjVyZW19Lm1hcmdpbi0xMC1yZW0tdG9we21hcmdpbi10b3A6MTByZW19Lm1hcmdpbi0xMC1oYWxmLXJlbS10b3B7bWFyZ2luLXRvcDoxMC41cmVtfS5tYXJnaW4tb25lLWJvdHRvbXttYXJnaW4tYm90dG9tOjElfS5tYXJnaW4tdHdvLWJvdHRvbXttYXJnaW4tYm90dG9tOjIlfS5tYXJnaW4tdGhyZWUtYm90dG9te21hcmdpbi1ib3R0b206MyV9Lm1hcmdpbi1mb3VyLWJvdHRvbXttYXJnaW4tYm90dG9tOjQlfS5tYXJnaW4tZml2ZS1ib3R0b217bWFyZ2luLWJvdHRvbTo1JX0ubWFyZ2luLXNpeC1ib3R0b217bWFyZ2luLWJvdHRvbTo2JX0ubWFyZ2luLXNldmVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjclfS5tYXJnaW4tZWlnaHQtYm90dG9te21hcmdpbi1ib3R0b206OCV9Lm1hcmdpbi1uaW5lLWJvdHRvbXttYXJnaW4tYm90dG9tOjklfS5tYXJnaW4tdGVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjEwJX0ubWFyZ2luLWVsZXZlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxMSV9Lm1hcmdpbi10d2VsdmUtYm90dG9te21hcmdpbi1ib3R0b206MTIlfS5tYXJnaW4tdGhpcnRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTMlfS5tYXJnaW4tZm91cnRlZW4tYm90dG9te21hcmdpbi1ib3R0b206MTQlfS5tYXJnaW4tZmlmdGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxNSV9Lm1hcmdpbi1zaXh0ZWVuLWJvdHRvbXttYXJnaW4tYm90dG9tOjE2JX0ubWFyZ2luLXNldmVudGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxNyV9Lm1hcmdpbi1laWdodGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxOCV9Lm1hcmdpbi1uaW5ldGVlbi1ib3R0b217bWFyZ2luLWJvdHRvbToxOSV9Lm1hcmdpbi10d2VudHktYm90dG9te21hcmdpbi1ib3R0b206MjAlfS5tYXJnaW4tNXB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjVweH0ubWFyZ2luLTEwcHgtYm90dG9te21hcmdpbi1ib3R0b206MTBweH0ubWFyZ2luLTE1cHgtYm90dG9te21hcmdpbi1ib3R0b206MTVweH0ubWFyZ2luLTIwcHgtYm90dG9te21hcmdpbi1ib3R0b206MjBweH0ubWFyZ2luLTI1cHgtYm90dG9te21hcmdpbi1ib3R0b206MjVweH0ubWFyZ2luLTMwcHgtYm90dG9te21hcmdpbi1ib3R0b206MzBweH0ubWFyZ2luLTM1cHgtYm90dG9te21hcmdpbi1ib3R0b206MzVweH0ubWFyZ2luLTQwcHgtYm90dG9te21hcmdpbi1ib3R0b206NDBweH0ubWFyZ2luLTQ1cHgtYm90dG9te21hcmdpbi1ib3R0b206NDVweH0ubWFyZ2luLTUwcHgtYm90dG9te21hcmdpbi1ib3R0b206NTBweH0ubWFyZ2luLTU1cHgtYm90dG9te21hcmdpbi1ib3R0b206NTVweH0ubWFyZ2luLTYwcHgtYm90dG9te21hcmdpbi1ib3R0b206NjBweH0ubWFyZ2luLTY1cHgtYm90dG9te21hcmdpbi1ib3R0b206NjVweH0ubWFyZ2luLTcwcHgtYm90dG9te21hcmdpbi1ib3R0b206NzBweH0ubWFyZ2luLTc1cHgtYm90dG9te21hcmdpbi1ib3R0b206NzVweH0ubWFyZ2luLTgwcHgtYm90dG9te21hcmdpbi1ib3R0b206ODBweH0ubWFyZ2luLTg1cHgtYm90dG9te21hcmdpbi1ib3R0b206ODVweH0ubWFyZ2luLTkwcHgtYm90dG9te21hcmdpbi1ib3R0b206OTBweH0ubWFyZ2luLTk1cHgtYm90dG9te21hcmdpbi1ib3R0b206OTVweH0ubWFyZ2luLTEwMHB4LWJvdHRvbXttYXJnaW4tYm90dG9tOjEwMHB4fS5tYXJnaW4tMS1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MXJlbX0ubWFyZ2luLTEtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MS41cmVtfS5tYXJnaW4tMi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MnJlbX0ubWFyZ2luLTItaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206Mi41cmVtfS5tYXJnaW4tMy1yZW0tYm90dG9te21hcmdpbi1ib3R0b206M3JlbX0ubWFyZ2luLTMtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206My41cmVtfS5tYXJnaW4tNC1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NHJlbX0ubWFyZ2luLTQtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NC41cmVtfS5tYXJnaW4tNS1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NXJlbX0ubWFyZ2luLTUtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NS41cmVtfS5tYXJnaW4tNi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206NnJlbX0ubWFyZ2luLTYtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206Ni41cmVtfS5tYXJnaW4tNy1yZW0tYm90dG9te21hcmdpbi1ib3R0b206N3JlbX0ubWFyZ2luLTctaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206Ny41cmVtfS5tYXJnaW4tOC1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OHJlbX0ubWFyZ2luLTgtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OC41cmVtfS5tYXJnaW4tOS1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OXJlbX0ubWFyZ2luLTktaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206OS41cmVtfS5tYXJnaW4tMTAtcmVtLWJvdHRvbXttYXJnaW4tYm90dG9tOjEwcmVtfS5tYXJnaW4tMTAtaGFsZi1yZW0tYm90dG9te21hcmdpbi1ib3R0b206MTAuNXJlbX0ubWFyZ2luLTE1LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToxNXJlbX0ubWFyZ2luLTI3LXJlbS1ib3R0b217bWFyZ2luLWJvdHRvbToyN3JlbX0ubWFyZ2luLW9uZS1yaWdodHttYXJnaW4tcmlnaHQ6MSV9Lm1hcmdpbi10d28tcmlnaHR7bWFyZ2luLXJpZ2h0OjIlfS5tYXJnaW4tdGhyZWUtcmlnaHR7bWFyZ2luLXJpZ2h0OjMlfS5tYXJnaW4tZm91ci1yaWdodHttYXJnaW4tcmlnaHQ6NCV9Lm1hcmdpbi1maXZlLXJpZ2h0e21hcmdpbi1yaWdodDo1JX0ubWFyZ2luLXNpeC1yaWdodHttYXJnaW4tcmlnaHQ6NiV9Lm1hcmdpbi1zZXZlbi1yaWdodHttYXJnaW4tcmlnaHQ6NyV9Lm1hcmdpbi1laWdodC1yaWdodHttYXJnaW4tcmlnaHQ6OCV9Lm1hcmdpbi1uaW5lLXJpZ2h0e21hcmdpbi1yaWdodDo5JX0ubWFyZ2luLXRlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTAlfS5tYXJnaW4tZWxldmVuLXJpZ2h0e21hcmdpbi1yaWdodDoxMSV9Lm1hcmdpbi10d2VsdmUtcmlnaHR7bWFyZ2luLXJpZ2h0OjEyJX0ubWFyZ2luLXRoaXJ0ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxMyV9Lm1hcmdpbi1mb3VydGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTQlfS5tYXJnaW4tZmlmdGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTUlfS5tYXJnaW4tc2l4dGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTYlfS5tYXJnaW4tc2V2ZW50ZWVuLXJpZ2h0e21hcmdpbi1yaWdodDoxNyV9Lm1hcmdpbi1laWdodGVlbi1yaWdodHttYXJnaW4tcmlnaHQ6MTglfS5tYXJnaW4tbmluZXRlZW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjE5JX0ubWFyZ2luLXR3ZW50eS1yaWdodHttYXJnaW4tcmlnaHQ6MjAlfS5tYXJnaW4tNXB4LXJpZ2h0e21hcmdpbi1yaWdodDo1cHh9Lm1hcmdpbi0xMHB4LXJpZ2h0e21hcmdpbi1yaWdodDoxMHB4fS5tYXJnaW4tMTVweC1yaWdodHttYXJnaW4tcmlnaHQ6MTVweH0ubWFyZ2luLTIwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjIwcHh9Lm1hcmdpbi0yNXB4LXJpZ2h0e21hcmdpbi1yaWdodDoyNXB4fS5tYXJnaW4tMzBweC1yaWdodHttYXJnaW4tcmlnaHQ6MzBweH0ubWFyZ2luLTM1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjM1cHh9Lm1hcmdpbi00MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo0MHB4fS5tYXJnaW4tNDVweC1yaWdodHttYXJnaW4tcmlnaHQ6NDVweH0ubWFyZ2luLTUwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjUwcHh9Lm1hcmdpbi01NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo1NXB4fS5tYXJnaW4tNjBweC1yaWdodHttYXJnaW4tcmlnaHQ6NjBweH0ubWFyZ2luLTY1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjY1cHh9Lm1hcmdpbi03MHB4LXJpZ2h0e21hcmdpbi1yaWdodDo3MHB4fS5tYXJnaW4tNzVweC1yaWdodHttYXJnaW4tcmlnaHQ6NzVweH0ubWFyZ2luLTgwcHgtcmlnaHR7bWFyZ2luLXJpZ2h0OjgwcHh9Lm1hcmdpbi04NXB4LXJpZ2h0e21hcmdpbi1yaWdodDo4NXB4fS5tYXJnaW4tOTBweC1yaWdodHttYXJnaW4tcmlnaHQ6OTBweH0ubWFyZ2luLTk1cHgtcmlnaHR7bWFyZ2luLXJpZ2h0Ojk1cHh9Lm1hcmdpbi0xMDBweC1yaWdodHttYXJnaW4tcmlnaHQ6MTAwcHh9Lm1hcmdpbi0xLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6MXJlbX0ubWFyZ2luLTEtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjEuNXJlbX0ubWFyZ2luLTItcmVtLXJpZ2h0e21hcmdpbi1yaWdodDoycmVtfS5tYXJnaW4tMi1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6Mi41cmVtfS5tYXJnaW4tMy1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjNyZW19Lm1hcmdpbi0zLWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDozLjVyZW19Lm1hcmdpbi00LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6NHJlbX0ubWFyZ2luLTQtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjQuNXJlbX0ubWFyZ2luLTUtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo1cmVtfS5tYXJnaW4tNS1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6NS41cmVtfS5tYXJnaW4tNi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjZyZW19Lm1hcmdpbi02LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo2LjVyZW19Lm1hcmdpbi03LXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6N3JlbX0ubWFyZ2luLTctaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjcuNXJlbX0ubWFyZ2luLTgtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo4cmVtfS5tYXJnaW4tOC1oYWxmLXJlbS1yaWdodHttYXJnaW4tcmlnaHQ6OC41cmVtfS5tYXJnaW4tOS1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjlyZW19Lm1hcmdpbi05LWhhbGYtcmVtLXJpZ2h0e21hcmdpbi1yaWdodDo5LjVyZW19Lm1hcmdpbi0xMC1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjEwcmVtfS5tYXJnaW4tMTAtaGFsZi1yZW0tcmlnaHR7bWFyZ2luLXJpZ2h0OjEwLjVyZW19Lm1hcmdpbi1vbmUtbGVmdHttYXJnaW4tbGVmdDoxJX0ubWFyZ2luLXR3by1sZWZ0e21hcmdpbi1sZWZ0OjIlfS5tYXJnaW4tdGhyZWUtbGVmdHttYXJnaW4tbGVmdDozJX0ubWFyZ2luLWZvdXItbGVmdHttYXJnaW4tbGVmdDo0JX0ubWFyZ2luLWZpdmUtbGVmdHttYXJnaW4tbGVmdDo1JX0ubWFyZ2luLXNpeC1sZWZ0e21hcmdpbi1sZWZ0OjYlfS5tYXJnaW4tc2V2ZW4tbGVmdHttYXJnaW4tbGVmdDo3JX0ubWFyZ2luLWVpZ2h0LWxlZnR7bWFyZ2luLWxlZnQ6OCV9Lm1hcmdpbi1uaW5lLWxlZnR7bWFyZ2luLWxlZnQ6OSV9Lm1hcmdpbi10ZW4tbGVmdHttYXJnaW4tbGVmdDoxMCV9Lm1hcmdpbi1lbGV2ZW4tbGVmdHttYXJnaW4tbGVmdDoxMSV9Lm1hcmdpbi10d2VsdmUtbGVmdHttYXJnaW4tbGVmdDoxMiV9Lm1hcmdpbi10aGlydGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjEzJX0ubWFyZ2luLWZvdXJ0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTQlfS5tYXJnaW4tZmlmdGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE1JX0ubWFyZ2luLXNpeHRlZW4tbGVmdHttYXJnaW4tbGVmdDoxNiV9Lm1hcmdpbi1zZXZlbnRlZW4tbGVmdHttYXJnaW4tbGVmdDoxNyV9Lm1hcmdpbi1laWdodGVlbi1sZWZ0e21hcmdpbi1sZWZ0OjE4JX0ubWFyZ2luLW5pbmV0ZWVuLWxlZnR7bWFyZ2luLWxlZnQ6MTklfS5tYXJnaW4tdHdlbnR5LWxlZnR7bWFyZ2luLWxlZnQ6MjAlfS5tYXJnaW4tNXB4LWxlZnR7bWFyZ2luLWxlZnQ6NXB4fS5tYXJnaW4tMTBweC1sZWZ0e21hcmdpbi1sZWZ0OjEwcHh9Lm1hcmdpbi0xNXB4LWxlZnR7bWFyZ2luLWxlZnQ6MTVweH0ubWFyZ2luLTIwcHgtbGVmdHttYXJnaW4tbGVmdDoyMHB4fS5tYXJnaW4tMjVweC1sZWZ0e21hcmdpbi1sZWZ0OjI1cHh9Lm1hcmdpbi0zMHB4LWxlZnR7bWFyZ2luLWxlZnQ6MzBweH0ubWFyZ2luLTM1cHgtbGVmdHttYXJnaW4tbGVmdDozNXB4fS5tYXJnaW4tNDBweC1sZWZ0e21hcmdpbi1sZWZ0OjQwcHh9Lm1hcmdpbi00NXB4LWxlZnR7bWFyZ2luLWxlZnQ6NDVweH0ubWFyZ2luLTUwcHgtbGVmdHttYXJnaW4tbGVmdDo1MHB4fS5tYXJnaW4tNTVweC1sZWZ0e21hcmdpbi1sZWZ0OjU1cHh9Lm1hcmdpbi02MHB4LWxlZnR7bWFyZ2luLWxlZnQ6NjBweH0ubWFyZ2luLTY1cHgtbGVmdHttYXJnaW4tbGVmdDo2NXB4fS5tYXJnaW4tNzBweC1sZWZ0e21hcmdpbi1sZWZ0OjcwcHh9Lm1hcmdpbi03NXB4LWxlZnR7bWFyZ2luLWxlZnQ6NzVweH0ubWFyZ2luLTgwcHgtbGVmdHttYXJnaW4tbGVmdDo4MHB4fS5tYXJnaW4tODVweC1sZWZ0e21hcmdpbi1sZWZ0Ojg1cHh9Lm1hcmdpbi05MHB4LWxlZnR7bWFyZ2luLWxlZnQ6OTBweH0ubWFyZ2luLTk1cHgtbGVmdHttYXJnaW4tbGVmdDo5NXB4fS5tYXJnaW4tMTAwcHgtbGVmdHttYXJnaW4tbGVmdDoxMDBweH0ubWFyZ2luLTEtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6MXJlbX0ubWFyZ2luLTEtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDoxLjVyZW19Lm1hcmdpbi0yLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjJyZW19Lm1hcmdpbi0yLWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6Mi41cmVtfS5tYXJnaW4tMy1yZW0tbGVmdHttYXJnaW4tbGVmdDozcmVtfS5tYXJnaW4tMy1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjMuNXJlbX0ubWFyZ2luLTQtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6NHJlbX0ubWFyZ2luLTQtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo0LjVyZW19Lm1hcmdpbi01LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjVyZW19Lm1hcmdpbi01LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6NS41cmVtfS5tYXJnaW4tNi1yZW0tbGVmdHttYXJnaW4tbGVmdDo2cmVtfS5tYXJnaW4tNi1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjYuNXJlbX0ubWFyZ2luLTctcmVtLWxlZnR7bWFyZ2luLWxlZnQ6N3JlbX0ubWFyZ2luLTctaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDo3LjVyZW19Lm1hcmdpbi04LXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjhyZW19Lm1hcmdpbi04LWhhbGYtcmVtLWxlZnR7bWFyZ2luLWxlZnQ6OC41cmVtfS5tYXJnaW4tOS1yZW0tbGVmdHttYXJnaW4tbGVmdDo5cmVtfS5tYXJnaW4tOS1oYWxmLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjkuNXJlbX0ubWFyZ2luLTEwLXJlbS1sZWZ0e21hcmdpbi1sZWZ0OjEwcmVtfS5tYXJnaW4tMTAtaGFsZi1yZW0tbGVmdHttYXJnaW4tbGVmdDoxMC41cmVtfS5tYXJnaW4tb25lLWxye21hcmdpbi1sZWZ0OjElO21hcmdpbi1yaWdodDoxJX0ubWFyZ2luLXR3by1scnttYXJnaW4tbGVmdDoyJTttYXJnaW4tcmlnaHQ6MiV9Lm1hcmdpbi10aHJlZS1scnttYXJnaW4tbGVmdDozJTttYXJnaW4tcmlnaHQ6MyV9Lm1hcmdpbi1mb3VyLWxye21hcmdpbi1sZWZ0OjQlO21hcmdpbi1yaWdodDo0JX0ubWFyZ2luLWZpdmUtbHJ7bWFyZ2luLWxlZnQ6NSU7bWFyZ2luLXJpZ2h0OjUlfS5tYXJnaW4tc2l4LWxye21hcmdpbi1sZWZ0OjYlO21hcmdpbi1yaWdodDo2JX0ubWFyZ2luLXNldmVuLWxye21hcmdpbi1sZWZ0OjclO21hcmdpbi1yaWdodDo3JX0ubWFyZ2luLWVpZ2h0LWxye21hcmdpbi1sZWZ0OjglO21hcmdpbi1yaWdodDo4JX0ubWFyZ2luLW5pbmUtbHJ7bWFyZ2luLWxlZnQ6OSU7bWFyZ2luLXJpZ2h0OjklfS5tYXJnaW4tdGVuLWxye21hcmdpbi1sZWZ0OjEwJTttYXJnaW4tcmlnaHQ6MTAlfS5tYXJnaW4tZWxldmVuLWxye21hcmdpbi1sZWZ0OjExJTttYXJnaW4tcmlnaHQ6MTElfS5tYXJnaW4tdHdlbHZlLWxye21hcmdpbi1sZWZ0OjEyJTttYXJnaW4tcmlnaHQ6MTIlfS5tYXJnaW4tdGhpcnRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTMlO21hcmdpbi1yaWdodDoxMyV9Lm1hcmdpbi1mb3VydGVlbi1scnttYXJnaW4tbGVmdDoxNCU7bWFyZ2luLXJpZ2h0OjE0JX0ubWFyZ2luLWZpZnRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTUlO21hcmdpbi1yaWdodDoxNSV9Lm1hcmdpbi1zaXh0ZWVuLWxye21hcmdpbi1sZWZ0OjE2JTttYXJnaW4tcmlnaHQ6MTYlfS5tYXJnaW4tc2V2ZW50ZWVuLWxye21hcmdpbi1sZWZ0OjE3JTttYXJnaW4tcmlnaHQ6MTclfS5tYXJnaW4tZWlnaHRlZW4tbHJ7bWFyZ2luLWxlZnQ6MTglO21hcmdpbi1yaWdodDoxOCV9Lm1hcmdpbi1uaW5ldGVlbi1scnttYXJnaW4tbGVmdDoxOSU7bWFyZ2luLXJpZ2h0OjE5JX0ubWFyZ2luLXR3ZW50eS1scnttYXJnaW4tbGVmdDoyMCU7bWFyZ2luLXJpZ2h0OjIwJX0ubWFyZ2luLTVweC1scnttYXJnaW4tbGVmdDo1cHg7bWFyZ2luLXJpZ2h0OjVweH0ubWFyZ2luLTEwcHgtbHJ7bWFyZ2luLWxlZnQ6MTBweDttYXJnaW4tcmlnaHQ6MTBweH0ubWFyZ2luLTE1cHgtbHJ7bWFyZ2luLWxlZnQ6MTVweDttYXJnaW4tcmlnaHQ6MTVweH0ubWFyZ2luLTIwcHgtbHJ7bWFyZ2luLWxlZnQ6MjBweDttYXJnaW4tcmlnaHQ6MjBweH0ubWFyZ2luLTI1cHgtbHJ7bWFyZ2luLWxlZnQ6MjVweDttYXJnaW4tcmlnaHQ6MjVweH0ubWFyZ2luLTMwcHgtbHJ7bWFyZ2luLWxlZnQ6MzBweDttYXJnaW4tcmlnaHQ6MzBweH0ubWFyZ2luLTM1cHgtbHJ7bWFyZ2luLWxlZnQ6MzVweDttYXJnaW4tcmlnaHQ6MzVweH0ubWFyZ2luLTQwcHgtbHJ7bWFyZ2luLWxlZnQ6NDBweDttYXJnaW4tcmlnaHQ6NDBweH0ubWFyZ2luLTQ1cHgtbHJ7bWFyZ2luLWxlZnQ6NDVweDttYXJnaW4tcmlnaHQ6NDVweH0ubWFyZ2luLTUwcHgtbHJ7bWFyZ2luLWxlZnQ6NTBweDttYXJnaW4tcmlnaHQ6NTBweH0ubWFyZ2luLTU1cHgtbHJ7bWFyZ2luLWxlZnQ6NTVweDttYXJnaW4tcmlnaHQ6NTVweH0ubWFyZ2luLTYwcHgtbHJ7bWFyZ2luLWxlZnQ6NjBweDttYXJnaW4tcmlnaHQ6NjBweH0ubWFyZ2luLTY1cHgtbHJ7bWFyZ2luLWxlZnQ6NjVweDttYXJnaW4tcmlnaHQ6NjVweH0ubWFyZ2luLTcwcHgtbHJ7bWFyZ2luLWxlZnQ6NzBweDttYXJnaW4tcmlnaHQ6NzBweH0ubWFyZ2luLTc1cHgtbHJ7bWFyZ2luLWxlZnQ6NzVweDttYXJnaW4tcmlnaHQ6NzVweH0ubWFyZ2luLTgwcHgtbHJ7bWFyZ2luLWxlZnQ6ODBweDttYXJnaW4tcmlnaHQ6ODBweH0ubWFyZ2luLTg1cHgtbHJ7bWFyZ2luLWxlZnQ6ODVweDttYXJnaW4tcmlnaHQ6ODVweH0ubWFyZ2luLTkwcHgtbHJ7bWFyZ2luLWxlZnQ6OTBweDttYXJnaW4tcmlnaHQ6OTBweH0ubWFyZ2luLTk1cHgtbHJ7bWFyZ2luLWxlZnQ6OTVweDttYXJnaW4tcmlnaHQ6OTVweH0ubWFyZ2luLTEwMHB4LWxye21hcmdpbi1sZWZ0OjEwMHB4O21hcmdpbi1yaWdodDoxMDBweH0ubWFyZ2luLTEtcmVtLWxye21hcmdpbi1sZWZ0OjFyZW07bWFyZ2luLXJpZ2h0OjFyZW19Lm1hcmdpbi0xLWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjEuNXJlbTttYXJnaW4tcmlnaHQ6MS41cmVtfS5tYXJnaW4tMi1yZW0tbHJ7bWFyZ2luLWxlZnQ6MnJlbTttYXJnaW4tcmlnaHQ6MnJlbX0ubWFyZ2luLTItaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6Mi41cmVtO21hcmdpbi1yaWdodDoyLjVyZW19Lm1hcmdpbi0zLXJlbS1scnttYXJnaW4tbGVmdDozcmVtO21hcmdpbi1yaWdodDozcmVtfS5tYXJnaW4tMy1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDozLjVyZW07bWFyZ2luLXJpZ2h0OjMuNXJlbX0ubWFyZ2luLTQtcmVtLWxye21hcmdpbi1sZWZ0OjRyZW07bWFyZ2luLXJpZ2h0OjRyZW19Lm1hcmdpbi00LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjQuNXJlbTttYXJnaW4tcmlnaHQ6NC41cmVtfS5tYXJnaW4tNS1yZW0tbHJ7bWFyZ2luLWxlZnQ6NXJlbTttYXJnaW4tcmlnaHQ6NXJlbX0ubWFyZ2luLTUtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6NS41cmVtO21hcmdpbi1yaWdodDo1LjVyZW19Lm1hcmdpbi02LXJlbS1scnttYXJnaW4tbGVmdDo2cmVtO21hcmdpbi1yaWdodDo2cmVtfS5tYXJnaW4tNi1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo2LjVyZW07bWFyZ2luLXJpZ2h0OjYuNXJlbX0ubWFyZ2luLTctcmVtLWxye21hcmdpbi1sZWZ0OjdyZW07bWFyZ2luLXJpZ2h0OjdyZW19Lm1hcmdpbi03LWhhbGYtcmVtLWxye21hcmdpbi1sZWZ0OjcuNXJlbTttYXJnaW4tcmlnaHQ6Ny41cmVtfS5tYXJnaW4tOC1yZW0tbHJ7bWFyZ2luLWxlZnQ6OHJlbTttYXJnaW4tcmlnaHQ6OHJlbX0ubWFyZ2luLTgtaGFsZi1yZW0tbHJ7bWFyZ2luLWxlZnQ6OC41cmVtO21hcmdpbi1yaWdodDo4LjVyZW19Lm1hcmdpbi05LXJlbS1scnttYXJnaW4tbGVmdDo5cmVtO21hcmdpbi1yaWdodDo5cmVtfS5tYXJnaW4tOS1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDo5LjVyZW07bWFyZ2luLXJpZ2h0OjkuNXJlbX0ubWFyZ2luLTEwLXJlbS1scnttYXJnaW4tbGVmdDoxMHJlbTttYXJnaW4tcmlnaHQ6MTByZW19Lm1hcmdpbi0xMC1oYWxmLXJlbS1scnttYXJnaW4tbGVmdDoxMC41cmVtO21hcmdpbi1yaWdodDoxMC41cmVtfS5tYXJnaW4tb25lLXRie21hcmdpbi10b3A6MSU7bWFyZ2luLWJvdHRvbToxJX0ubWFyZ2luLXR3by10YnttYXJnaW4tdG9wOjIlO21hcmdpbi1ib3R0b206MiV9Lm1hcmdpbi10aHJlZS10YnttYXJnaW4tdG9wOjMlO21hcmdpbi1ib3R0b206MyV9Lm1hcmdpbi1mb3VyLXRie21hcmdpbi10b3A6NCU7bWFyZ2luLWJvdHRvbTo0JX0ubWFyZ2luLWZpdmUtdGJ7bWFyZ2luLXRvcDo1JTttYXJnaW4tYm90dG9tOjUlfS5tYXJnaW4tc2l4LXRie21hcmdpbi10b3A6NiU7bWFyZ2luLWJvdHRvbTo2JX0ubWFyZ2luLXNldmVuLXRie21hcmdpbi10b3A6NyU7bWFyZ2luLWJvdHRvbTo3JX0ubWFyZ2luLWVpZ2h0LXRie21hcmdpbi10b3A6OCU7bWFyZ2luLWJvdHRvbTo4JX0ubWFyZ2luLW5pbmUtdGJ7bWFyZ2luLXRvcDo5JTttYXJnaW4tYm90dG9tOjklfS5tYXJnaW4tdGVuLXRie21hcmdpbi10b3A6MTAlO21hcmdpbi1ib3R0b206MTAlfS5tYXJnaW4tZWxldmVuLXRie21hcmdpbi10b3A6MTElO21hcmdpbi1ib3R0b206MTElfS5tYXJnaW4tdHdlbHZlLXRie21hcmdpbi10b3A6MTIlO21hcmdpbi1ib3R0b206MTIlfS5tYXJnaW4tdGhpcnRlZW4tdGJ7bWFyZ2luLXRvcDoxMyU7bWFyZ2luLWJvdHRvbToxMyV9Lm1hcmdpbi1mb3VydGVlbi10YnttYXJnaW4tdG9wOjE0JTttYXJnaW4tYm90dG9tOjE0JX0ubWFyZ2luLWZpZnRlZW4tdGJ7bWFyZ2luLXRvcDoxNSU7bWFyZ2luLWJvdHRvbToxNSV9Lm1hcmdpbi1zaXh0ZWVuLXRie21hcmdpbi10b3A6MTYlO21hcmdpbi1ib3R0b206MTYlfS5tYXJnaW4tc2V2ZW50ZWVuLXRie21hcmdpbi10b3A6MTclO21hcmdpbi1ib3R0b206MTclfS5tYXJnaW4tZWlnaHRlZW4tdGJ7bWFyZ2luLXRvcDoxOCU7bWFyZ2luLWJvdHRvbToxOCV9Lm1hcmdpbi1uaW5ldGVlbi10YnttYXJnaW4tdG9wOjE5JTttYXJnaW4tYm90dG9tOjE5JX0ubWFyZ2luLXR3ZW50eS10YnttYXJnaW4tdG9wOjIwJTttYXJnaW4tYm90dG9tOjIwJX0ubWFyZ2luLTVweC10YnttYXJnaW4tdG9wOjVweDttYXJnaW4tYm90dG9tOjVweH0ubWFyZ2luLTEwcHgtdGJ7bWFyZ2luLXRvcDoxMHB4O21hcmdpbi1ib3R0b206MTBweH0ubWFyZ2luLTE1cHgtdGJ7bWFyZ2luLXRvcDoxNXB4O21hcmdpbi1ib3R0b206MTVweH0ubWFyZ2luLTIwcHgtdGJ7bWFyZ2luLXRvcDoyMHB4O21hcmdpbi1ib3R0b206MjBweH0ubWFyZ2luLTI1cHgtdGJ7bWFyZ2luLXRvcDoyNXB4O21hcmdpbi1ib3R0b206MjVweH0ubWFyZ2luLTMwcHgtdGJ7bWFyZ2luLXRvcDozMHB4O21hcmdpbi1ib3R0b206MzBweH0ubWFyZ2luLTM1cHgtdGJ7bWFyZ2luLXRvcDozNXB4O21hcmdpbi1ib3R0b206MzVweH0ubWFyZ2luLTQwcHgtdGJ7bWFyZ2luLXRvcDo0MHB4O21hcmdpbi1ib3R0b206NDBweH0ubWFyZ2luLTQ1cHgtdGJ7bWFyZ2luLXRvcDo0NXB4O21hcmdpbi1ib3R0b206NDVweH0ubWFyZ2luLTUwcHgtdGJ7bWFyZ2luLXRvcDo1MHB4O21hcmdpbi1ib3R0b206NTBweH0ubWFyZ2luLTU1cHgtdGJ7bWFyZ2luLXRvcDo1NXB4O21hcmdpbi1ib3R0b206NTVweH0ubWFyZ2luLTYwcHgtdGJ7bWFyZ2luLXRvcDo2MHB4O21hcmdpbi1ib3R0b206NjBweH0ubWFyZ2luLTY1cHgtdGJ7bWFyZ2luLXRvcDo2NXB4O21hcmdpbi1ib3R0b206NjVweH0ubWFyZ2luLTcwcHgtdGJ7bWFyZ2luLXRvcDo3MHB4O21hcmdpbi1ib3R0b206NzBweH0ubWFyZ2luLTc1cHgtdGJ7bWFyZ2luLXRvcDo3NXB4O21hcmdpbi1ib3R0b206NzVweH0ubWFyZ2luLTgwcHgtdGJ7bWFyZ2luLXRvcDo4MHB4O21hcmdpbi1ib3R0b206ODBweH0ubWFyZ2luLTg1cHgtdGJ7bWFyZ2luLXRvcDo4NXB4O21hcmdpbi1ib3R0b206ODVweH0ubWFyZ2luLTkwcHgtdGJ7bWFyZ2luLXRvcDo5MHB4O21hcmdpbi1ib3R0b206OTBweH0ubWFyZ2luLTk1cHgtdGJ7bWFyZ2luLXRvcDo5NXB4O21hcmdpbi1ib3R0b206OTVweH0ubWFyZ2luLTEwMHB4LXRie21hcmdpbi10b3A6MTAwcHg7bWFyZ2luLWJvdHRvbToxMDBweH0ubWFyZ2luLTEtcmVtLXRie21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19Lm1hcmdpbi0xLWhhbGYtcmVtLXRie21hcmdpbi10b3A6MS41cmVtO21hcmdpbi1ib3R0b206MS41cmVtfS5tYXJnaW4tMi1yZW0tdGJ7bWFyZ2luLXRvcDoycmVtO21hcmdpbi1ib3R0b206MnJlbX0ubWFyZ2luLTItaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDoyLjVyZW07bWFyZ2luLWJvdHRvbToyLjVyZW19Lm1hcmdpbi0zLXJlbS10YnttYXJnaW4tdG9wOjNyZW07bWFyZ2luLWJvdHRvbTozcmVtfS5tYXJnaW4tMy1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjMuNXJlbTttYXJnaW4tYm90dG9tOjMuNXJlbX0ubWFyZ2luLTQtcmVtLXRie21hcmdpbi10b3A6NHJlbTttYXJnaW4tYm90dG9tOjRyZW19Lm1hcmdpbi00LWhhbGYtcmVtLXRie21hcmdpbi10b3A6NC41cmVtO21hcmdpbi1ib3R0b206NC41cmVtfS5tYXJnaW4tNS1yZW0tdGJ7bWFyZ2luLXRvcDo1cmVtO21hcmdpbi1ib3R0b206NXJlbX0ubWFyZ2luLTUtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo1LjVyZW07bWFyZ2luLWJvdHRvbTo1LjVyZW19Lm1hcmdpbi02LXJlbS10YnttYXJnaW4tdG9wOjZyZW07bWFyZ2luLWJvdHRvbTo2cmVtfS5tYXJnaW4tNi1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjYuNXJlbTttYXJnaW4tYm90dG9tOjYuNXJlbX0ubWFyZ2luLTctcmVtLXRie21hcmdpbi10b3A6N3JlbTttYXJnaW4tYm90dG9tOjdyZW19Lm1hcmdpbi03LWhhbGYtcmVtLXRie21hcmdpbi10b3A6Ny41cmVtO21hcmdpbi1ib3R0b206Ny41cmVtfS5tYXJnaW4tOC1yZW0tdGJ7bWFyZ2luLXRvcDo4cmVtO21hcmdpbi1ib3R0b206OHJlbX0ubWFyZ2luLTgtaGFsZi1yZW0tdGJ7bWFyZ2luLXRvcDo4LjVyZW07bWFyZ2luLWJvdHRvbTo4LjVyZW19Lm1hcmdpbi05LXJlbS10YnttYXJnaW4tdG9wOjlyZW07bWFyZ2luLWJvdHRvbTo5cmVtfS5tYXJnaW4tOS1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjkuNXJlbTttYXJnaW4tYm90dG9tOjkuNXJlbX0ubWFyZ2luLTEwLXJlbS10YnttYXJnaW4tdG9wOjEwcmVtO21hcmdpbi1ib3R0b206MTByZW19Lm1hcmdpbi0xMC1oYWxmLXJlbS10YnttYXJnaW4tdG9wOjEwLjVyZW07bWFyZ2luLWJvdHRvbToxMC41cmVtfS5tYXJnaW4tYXV0by1scnttYXJnaW46MCBhdXRvfS5tYXJnaW4tYXV0b3ttYXJnaW46YXV0b30ubm8tbWFyZ2lue21hcmdpbjowIWltcG9ydGFudH0ubm8tbWFyZ2luLXRvcHttYXJnaW4tdG9wOjAhaW1wb3J0YW50fS5uby1tYXJnaW4tYm90dG9te21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm5vLW1hcmdpbi1sZWZ0e21hcmdpbi1sZWZ0OjAhaW1wb3J0YW50fS5uby1tYXJnaW4tcmlnaHR7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5uby1tYXJnaW4tbHJ7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50O21hcmdpbi1sZWZ0OjAhaW1wb3J0YW50fS5wYWRkaW5nLW9uZS1hbGx7cGFkZGluZzoxJX0ucGFkZGluZy10d28tYWxse3BhZGRpbmc6MiV9LnBhZGRpbmctdGhyZWUtYWxse3BhZGRpbmc6MyV9LnBhZGRpbmctZm91ci1hbGx7cGFkZGluZzo0JX0ucGFkZGluZy1maXZlLWFsbHtwYWRkaW5nOjUlfS5wYWRkaW5nLXNpeC1hbGx7cGFkZGluZzo2JX0ucGFkZGluZy1zZXZlbi1hbGx7cGFkZGluZzo3JX0ucGFkZGluZy1laWdodC1hbGx7cGFkZGluZzo4JX0ucGFkZGluZy1uaW5lLWFsbHtwYWRkaW5nOjklfS5wYWRkaW5nLXRlbi1hbGx7cGFkZGluZzoxMCV9LnBhZGRpbmctZWxldmVuLWFsbHtwYWRkaW5nOjExJX0ucGFkZGluZy10d2VsdmUtYWxse3BhZGRpbmc6MTIlfS5wYWRkaW5nLXRoaXJ0ZWVuLWFsbHtwYWRkaW5nOjEzJX0ucGFkZGluZy1mb3VydGVlbi1hbGx7cGFkZGluZzoxNCV9LnBhZGRpbmctZmlmdGVlbi1hbGx7cGFkZGluZzoxNSV9LnBhZGRpbmctc2l4dGVlbi1hbGx7cGFkZGluZzoxNiV9LnBhZGRpbmctc2V2ZW50ZWVuLWFsbHtwYWRkaW5nOjE3JX0ucGFkZGluZy1laWdodGVlbi1hbGx7cGFkZGluZzoxOCV9LnBhZGRpbmctbmluZXRlZW4tYWxse3BhZGRpbmc6MTklfS5wYWRkaW5nLXR3ZW50eS1hbGx7cGFkZGluZzoyMCV9LnBhZGRpbmctNXB4LWFsbHtwYWRkaW5nOjVweH0ucGFkZGluZy0xMHB4LWFsbHtwYWRkaW5nOjEwcHh9LnBhZGRpbmctMTVweC1hbGx7cGFkZGluZzoxNXB4fS5wYWRkaW5nLTIwcHgtYWxse3BhZGRpbmc6MjBweH0ucGFkZGluZy0yNXB4LWFsbHtwYWRkaW5nOjI1cHh9LnBhZGRpbmctMzBweC1hbGx7cGFkZGluZzozMHB4fS5wYWRkaW5nLTM1cHgtYWxse3BhZGRpbmc6MzVweH0ucGFkZGluZy00MHB4LWFsbHtwYWRkaW5nOjQwcHh9LnBhZGRpbmctNDVweC1hbGx7cGFkZGluZzo0NXB4fS5wYWRkaW5nLTUwcHgtYWxse3BhZGRpbmc6NTBweH0ucGFkZGluZy01NXB4LWFsbHtwYWRkaW5nOjU1cHh9LnBhZGRpbmctNjBweC1hbGx7cGFkZGluZzo2MHB4fS5wYWRkaW5nLTY1cHgtYWxse3BhZGRpbmc6NjVweH0ucGFkZGluZy03MHB4LWFsbHtwYWRkaW5nOjcwcHh9LnBhZGRpbmctNzVweC1hbGx7cGFkZGluZzo3NXB4fS5wYWRkaW5nLTgwcHgtYWxse3BhZGRpbmc6ODBweH0ucGFkZGluZy04NXB4LWFsbHtwYWRkaW5nOjg1cHh9LnBhZGRpbmctOTBweC1hbGx7cGFkZGluZzo5MHB4fS5wYWRkaW5nLTk1cHgtYWxse3BhZGRpbmc6OTVweH0ucGFkZGluZy0xMDBweC1hbGx7cGFkZGluZzoxMDBweH0ucGFkZGluZy0xLXJlbS1hbGx7cGFkZGluZzoxcmVtfS5wYWRkaW5nLTEtaGFsZi1yZW0tYWxse3BhZGRpbmc6MS41cmVtfS5wYWRkaW5nLTItcmVtLWFsbHtwYWRkaW5nOjJyZW19LnBhZGRpbmctMi1oYWxmLXJlbS1hbGx7cGFkZGluZzoyLjVyZW19LnBhZGRpbmctMy1yZW0tYWxse3BhZGRpbmc6M3JlbX0ucGFkZGluZy0zLWhhbGYtcmVtLWFsbHtwYWRkaW5nOjMuNXJlbX0ucGFkZGluZy00LXJlbS1hbGx7cGFkZGluZzo0cmVtfS5wYWRkaW5nLTQtaGFsZi1yZW0tYWxse3BhZGRpbmc6NC41cmVtfS5wYWRkaW5nLTUtcmVtLWFsbHtwYWRkaW5nOjVyZW19LnBhZGRpbmctNS1oYWxmLXJlbS1hbGx7cGFkZGluZzo1LjVyZW19LnBhZGRpbmctNi1yZW0tYWxse3BhZGRpbmc6NnJlbX0ucGFkZGluZy02LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjYuNXJlbX0ucGFkZGluZy03LXJlbS1hbGx7cGFkZGluZzo3cmVtfS5wYWRkaW5nLTctaGFsZi1yZW0tYWxse3BhZGRpbmc6Ny41cmVtfS5wYWRkaW5nLTgtcmVtLWFsbHtwYWRkaW5nOjhyZW19LnBhZGRpbmctOC1oYWxmLXJlbS1hbGx7cGFkZGluZzo4LjVyZW19LnBhZGRpbmctOS1yZW0tYWxse3BhZGRpbmc6OXJlbX0ucGFkZGluZy05LWhhbGYtcmVtLWFsbHtwYWRkaW5nOjkuNXJlbX0ucGFkZGluZy0xMC1yZW0tYWxse3BhZGRpbmc6MTByZW19LnBhZGRpbmctMTAtaGFsZi1yZW0tYWxse3BhZGRpbmc6MTAuNXJlbX0ucGFkZGluZy1vbmUtdG9we3BhZGRpbmctdG9wOjElfS5wYWRkaW5nLXR3by10b3B7cGFkZGluZy10b3A6MiV9LnBhZGRpbmctdGhyZWUtdG9we3BhZGRpbmctdG9wOjMlfS5wYWRkaW5nLWZvdXItdG9we3BhZGRpbmctdG9wOjQlfS5wYWRkaW5nLWZpdmUtdG9we3BhZGRpbmctdG9wOjUlfS5wYWRkaW5nLXNpeC10b3B7cGFkZGluZy10b3A6NiV9LnBhZGRpbmctc2V2ZW4tdG9we3BhZGRpbmctdG9wOjclfS5wYWRkaW5nLWVpZ2h0LXRvcHtwYWRkaW5nLXRvcDo4JX0ucGFkZGluZy1uaW5lLXRvcHtwYWRkaW5nLXRvcDo5JX0ucGFkZGluZy10ZW4tdG9we3BhZGRpbmctdG9wOjEwJX0ucGFkZGluZy1lbGV2ZW4tdG9we3BhZGRpbmctdG9wOjExJX0ucGFkZGluZy10d2VsdmUtdG9we3BhZGRpbmctdG9wOjEyJX0ucGFkZGluZy10aGlydGVlbi10b3B7cGFkZGluZy10b3A6MTMlfS5wYWRkaW5nLWZvdXJ0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxNCV9LnBhZGRpbmctZmlmdGVlbi10b3B7cGFkZGluZy10b3A6MTUlfS5wYWRkaW5nLXNpeHRlZW4tdG9we3BhZGRpbmctdG9wOjE2JX0ucGFkZGluZy1zZXZlbnRlZW4tdG9we3BhZGRpbmctdG9wOjE3JX0ucGFkZGluZy1laWdodGVlbi10b3B7cGFkZGluZy10b3A6MTglfS5wYWRkaW5nLW5pbmV0ZWVuLXRvcHtwYWRkaW5nLXRvcDoxOSV9LnBhZGRpbmctdHdlbnR5LXRvcHtwYWRkaW5nLXRvcDoyMCV9LnBhZGRpbmctNXB4LXRvcHtwYWRkaW5nLXRvcDo1cHh9LnBhZGRpbmctMTBweC10b3B7cGFkZGluZy10b3A6MTBweH0ucGFkZGluZy0xNXB4LXRvcHtwYWRkaW5nLXRvcDoxNXB4fS5wYWRkaW5nLTIwcHgtdG9we3BhZGRpbmctdG9wOjIwcHh9LnBhZGRpbmctMjVweC10b3B7cGFkZGluZy10b3A6MjVweH0ucGFkZGluZy0zMHB4LXRvcHtwYWRkaW5nLXRvcDozMHB4fS5wYWRkaW5nLTM1cHgtdG9we3BhZGRpbmctdG9wOjM1cHh9LnBhZGRpbmctNDBweC10b3B7cGFkZGluZy10b3A6NDBweH0ucGFkZGluZy00NXB4LXRvcHtwYWRkaW5nLXRvcDo0NXB4fS5wYWRkaW5nLTUwcHgtdG9we3BhZGRpbmctdG9wOjUwcHh9LnBhZGRpbmctNTVweC10b3B7cGFkZGluZy10b3A6NTVweH0ucGFkZGluZy02MHB4LXRvcHtwYWRkaW5nLXRvcDo2MHB4fS5wYWRkaW5nLTY1cHgtdG9we3BhZGRpbmctdG9wOjY1cHh9LnBhZGRpbmctNzBweC10b3B7cGFkZGluZy10b3A6NzBweH0ucGFkZGluZy03NXB4LXRvcHtwYWRkaW5nLXRvcDo3NXB4fS5wYWRkaW5nLTgwcHgtdG9we3BhZGRpbmctdG9wOjgwcHh9LnBhZGRpbmctODVweC10b3B7cGFkZGluZy10b3A6ODVweH0ucGFkZGluZy05MHB4LXRvcHtwYWRkaW5nLXRvcDo5MHB4fS5wYWRkaW5nLTk1cHgtdG9we3BhZGRpbmctdG9wOjk1cHh9LnBhZGRpbmctMTAwcHgtdG9we3BhZGRpbmctdG9wOjEwMHB4fS5wYWRkaW5nLTEtcmVtLXRvcHtwYWRkaW5nLXRvcDoxcmVtfS5wYWRkaW5nLTEtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjEuNXJlbX0ucGFkZGluZy0yLXJlbS10b3B7cGFkZGluZy10b3A6MnJlbX0ucGFkZGluZy0yLWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDoyLjVyZW19LnBhZGRpbmctMy1yZW0tdG9we3BhZGRpbmctdG9wOjNyZW19LnBhZGRpbmctMy1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6My41cmVtfS5wYWRkaW5nLTQtcmVtLXRvcHtwYWRkaW5nLXRvcDo0cmVtfS5wYWRkaW5nLTQtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjQuNXJlbX0ucGFkZGluZy01LXJlbS10b3B7cGFkZGluZy10b3A6NXJlbX0ucGFkZGluZy01LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo1LjVyZW19LnBhZGRpbmctNi1yZW0tdG9we3BhZGRpbmctdG9wOjZyZW19LnBhZGRpbmctNi1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6Ni41cmVtfS5wYWRkaW5nLTctcmVtLXRvcHtwYWRkaW5nLXRvcDo3cmVtfS5wYWRkaW5nLTctaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjcuNXJlbX0ucGFkZGluZy04LXJlbS10b3B7cGFkZGluZy10b3A6OHJlbX0ucGFkZGluZy04LWhhbGYtcmVtLXRvcHtwYWRkaW5nLXRvcDo4LjVyZW19LnBhZGRpbmctOS1yZW0tdG9we3BhZGRpbmctdG9wOjlyZW19LnBhZGRpbmctOS1oYWxmLXJlbS10b3B7cGFkZGluZy10b3A6OS41cmVtfS5wYWRkaW5nLTEwLXJlbS10b3B7cGFkZGluZy10b3A6MTByZW19LnBhZGRpbmctMTAtaGFsZi1yZW0tdG9we3BhZGRpbmctdG9wOjEwLjVyZW19LnBhZGRpbmctb25lLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxJX0ucGFkZGluZy10d28tYm90dG9te3BhZGRpbmctYm90dG9tOjIlfS5wYWRkaW5nLXRocmVlLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTozJX0ucGFkZGluZy1mb3VyLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo0JX0ucGFkZGluZy1maXZlLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1JX0ucGFkZGluZy1zaXgtYm90dG9te3BhZGRpbmctYm90dG9tOjYlfS5wYWRkaW5nLXNldmVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo3JX0ucGFkZGluZy1laWdodC1ib3R0b217cGFkZGluZy1ib3R0b206OCV9LnBhZGRpbmctbmluZS1ib3R0b217cGFkZGluZy1ib3R0b206OSV9LnBhZGRpbmctdGVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMCV9LnBhZGRpbmctZWxldmVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMSV9LnBhZGRpbmctdHdlbHZlLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMiV9LnBhZGRpbmctdGhpcnRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjEzJX0ucGFkZGluZy1mb3VydGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTQlfS5wYWRkaW5nLWZpZnRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE1JX0ucGFkZGluZy1zaXh0ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxNiV9LnBhZGRpbmctc2V2ZW50ZWVuLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxNyV9LnBhZGRpbmctZWlnaHRlZW4tYm90dG9te3BhZGRpbmctYm90dG9tOjE4JX0ucGFkZGluZy1uaW5ldGVlbi1ib3R0b217cGFkZGluZy1ib3R0b206MTklfS5wYWRkaW5nLXR3ZW50eS1ib3R0b217cGFkZGluZy1ib3R0b206MjAlfS5wYWRkaW5nLTVweC1ib3R0b217cGFkZGluZy1ib3R0b206NXB4fS5wYWRkaW5nLTEwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjEwcHh9LnBhZGRpbmctMTVweC1ib3R0b217cGFkZGluZy1ib3R0b206MTVweH0ucGFkZGluZy0yMHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToyMHB4fS5wYWRkaW5nLTI1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjI1cHh9LnBhZGRpbmctMzBweC1ib3R0b217cGFkZGluZy1ib3R0b206MzBweH0ucGFkZGluZy0zNXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTozNXB4fS5wYWRkaW5nLTQwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjQwcHh9LnBhZGRpbmctNDVweC1ib3R0b217cGFkZGluZy1ib3R0b206NDVweH0ucGFkZGluZy01MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo1MHB4fS5wYWRkaW5nLTU1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjU1cHh9LnBhZGRpbmctNjBweC1ib3R0b217cGFkZGluZy1ib3R0b206NjBweH0ucGFkZGluZy02NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo2NXB4fS5wYWRkaW5nLTcwcHgtYm90dG9te3BhZGRpbmctYm90dG9tOjcwcHh9LnBhZGRpbmctNzVweC1ib3R0b217cGFkZGluZy1ib3R0b206NzVweH0ucGFkZGluZy04MHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo4MHB4fS5wYWRkaW5nLTg1cHgtYm90dG9te3BhZGRpbmctYm90dG9tOjg1cHh9LnBhZGRpbmctOTBweC1ib3R0b217cGFkZGluZy1ib3R0b206OTBweH0ucGFkZGluZy05NXB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo5NXB4fS5wYWRkaW5nLTEwMHB4LWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMDBweH0ucGFkZGluZy0xLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206MXJlbX0ucGFkZGluZy0xLWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxLjVyZW19LnBhZGRpbmctMi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjJyZW19LnBhZGRpbmctMi1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206Mi41cmVtfS5wYWRkaW5nLTMtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTozcmVtfS5wYWRkaW5nLTMtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjMuNXJlbX0ucGFkZGluZy00LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206NHJlbX0ucGFkZGluZy00LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo0LjVyZW19LnBhZGRpbmctNS1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjVyZW19LnBhZGRpbmctNS1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206NS41cmVtfS5wYWRkaW5nLTYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo2cmVtfS5wYWRkaW5nLTYtaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjYuNXJlbX0ucGFkZGluZy03LXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206N3JlbX0ucGFkZGluZy03LWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo3LjVyZW19LnBhZGRpbmctOC1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjhyZW19LnBhZGRpbmctOC1oYWxmLXJlbS1ib3R0b217cGFkZGluZy1ib3R0b206OC41cmVtfS5wYWRkaW5nLTktcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbTo5cmVtfS5wYWRkaW5nLTktaGFsZi1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjkuNXJlbX0ucGFkZGluZy0xMC1yZW0tYm90dG9te3BhZGRpbmctYm90dG9tOjEwcmVtfS5wYWRkaW5nLTEwLWhhbGYtcmVtLWJvdHRvbXtwYWRkaW5nLWJvdHRvbToxMC41cmVtfS5wYWRkaW5nLW9uZS1yaWdodHtwYWRkaW5nLXJpZ2h0OjElfS5wYWRkaW5nLXR3by1yaWdodHtwYWRkaW5nLXJpZ2h0OjIlfS5wYWRkaW5nLXRocmVlLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MyV9LnBhZGRpbmctZm91ci1yaWdodHtwYWRkaW5nLXJpZ2h0OjQlfS5wYWRkaW5nLWZpdmUtcmlnaHR7cGFkZGluZy1yaWdodDo1JX0ucGFkZGluZy1zaXgtcmlnaHR7cGFkZGluZy1yaWdodDo2JX0ucGFkZGluZy1zZXZlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjclfS5wYWRkaW5nLWVpZ2h0LXJpZ2h0e3BhZGRpbmctcmlnaHQ6OCV9LnBhZGRpbmctbmluZS1yaWdodHtwYWRkaW5nLXJpZ2h0OjklfS5wYWRkaW5nLXRlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjEwJX0ucGFkZGluZy1lbGV2ZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxMSV9LnBhZGRpbmctdHdlbHZlLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTIlfS5wYWRkaW5nLXRoaXJ0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTMlfS5wYWRkaW5nLWZvdXJ0ZWVuLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTQlfS5wYWRkaW5nLWZpZnRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxNSV9LnBhZGRpbmctc2l4dGVlbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE2JX0ucGFkZGluZy1zZXZlbnRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxNyV9LnBhZGRpbmctZWlnaHRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxOCV9LnBhZGRpbmctbmluZXRlZW4tcmlnaHR7cGFkZGluZy1yaWdodDoxOSV9LnBhZGRpbmctdHdlbnR5LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjAlfS5wYWRkaW5nLTVweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjVweH0ucGFkZGluZy0xMHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTBweH0ucGFkZGluZy0xNXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTVweH0ucGFkZGluZy0yMHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjBweH0ucGFkZGluZy0yNXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MjVweH0ucGFkZGluZy0zMHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MzBweH0ucGFkZGluZy0zNXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6MzVweH0ucGFkZGluZy00MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NDBweH0ucGFkZGluZy00NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NDVweH0ucGFkZGluZy01MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NTBweH0ucGFkZGluZy01NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NTVweH0ucGFkZGluZy02MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NjBweH0ucGFkZGluZy02NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NjVweH0ucGFkZGluZy03MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NzBweH0ucGFkZGluZy03NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6NzVweH0ucGFkZGluZy04MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6ODBweH0ucGFkZGluZy04NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6ODVweH0ucGFkZGluZy05MHB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6OTBweH0ucGFkZGluZy05NXB4LXJpZ2h0e3BhZGRpbmctcmlnaHQ6OTVweH0ucGFkZGluZy0xMDBweC1yaWdodHtwYWRkaW5nLXJpZ2h0OjEwMHB4fS5wYWRkaW5nLTEtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MXJlbX0ucGFkZGluZy0xLWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MS41cmVtfS5wYWRkaW5nLTItcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MnJlbX0ucGFkZGluZy0yLWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6Mi41cmVtfS5wYWRkaW5nLTMtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6M3JlbX0ucGFkZGluZy0zLWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6My41cmVtfS5wYWRkaW5nLTQtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NHJlbX0ucGFkZGluZy00LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NC41cmVtfS5wYWRkaW5nLTUtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NXJlbX0ucGFkZGluZy01LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NS41cmVtfS5wYWRkaW5nLTYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6NnJlbX0ucGFkZGluZy02LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6Ni41cmVtfS5wYWRkaW5nLTctcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6N3JlbX0ucGFkZGluZy03LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6Ny41cmVtfS5wYWRkaW5nLTgtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6OHJlbX0ucGFkZGluZy04LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6OC41cmVtfS5wYWRkaW5nLTktcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6OXJlbX0ucGFkZGluZy05LWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6OS41cmVtfS5wYWRkaW5nLTEwLXJlbS1yaWdodHtwYWRkaW5nLXJpZ2h0OjEwcmVtfS5wYWRkaW5nLTEwLWhhbGYtcmVtLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTAuNXJlbX0ucGFkZGluZy1vbmUtbGVmdHtwYWRkaW5nLWxlZnQ6MSV9LnBhZGRpbmctdHdvLWxlZnR7cGFkZGluZy1sZWZ0OjIlfS5wYWRkaW5nLXRocmVlLWxlZnR7cGFkZGluZy1sZWZ0OjMlfS5wYWRkaW5nLWZvdXItbGVmdHtwYWRkaW5nLWxlZnQ6NCV9LnBhZGRpbmctZml2ZS1sZWZ0e3BhZGRpbmctbGVmdDo1JX0ucGFkZGluZy1zaXgtbGVmdHtwYWRkaW5nLWxlZnQ6NiV9LnBhZGRpbmctc2V2ZW4tbGVmdHtwYWRkaW5nLWxlZnQ6NyV9LnBhZGRpbmctZWlnaHQtbGVmdHtwYWRkaW5nLWxlZnQ6OCV9LnBhZGRpbmctbmluZS1sZWZ0e3BhZGRpbmctbGVmdDo5JX0ucGFkZGluZy10ZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTAlfS5wYWRkaW5nLWVsZXZlbi1sZWZ0e3BhZGRpbmctbGVmdDoxMSV9LnBhZGRpbmctdHdlbHZlLWxlZnR7cGFkZGluZy1sZWZ0OjEyJX0ucGFkZGluZy10aGlydGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxMyV9LnBhZGRpbmctZm91cnRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTQlfS5wYWRkaW5nLWZpZnRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTUlfS5wYWRkaW5nLXNpeHRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTYlfS5wYWRkaW5nLXNldmVudGVlbi1sZWZ0e3BhZGRpbmctbGVmdDoxNyV9LnBhZGRpbmctZWlnaHRlZW4tbGVmdHtwYWRkaW5nLWxlZnQ6MTglfS5wYWRkaW5nLW5pbmV0ZWVuLWxlZnR7cGFkZGluZy1sZWZ0OjE5JX0ucGFkZGluZy10d2VudHktbGVmdHtwYWRkaW5nLWxlZnQ6MjAlfS5wYWRkaW5nLTVweC1sZWZ0e3BhZGRpbmctbGVmdDo1cHh9LnBhZGRpbmctMTBweC1sZWZ0e3BhZGRpbmctbGVmdDoxMHB4fS5wYWRkaW5nLTE1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6MTVweH0ucGFkZGluZy0yMHB4LWxlZnR7cGFkZGluZy1sZWZ0OjIwcHh9LnBhZGRpbmctMjVweC1sZWZ0e3BhZGRpbmctbGVmdDoyNXB4fS5wYWRkaW5nLTMwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6MzBweH0ucGFkZGluZy0zNXB4LWxlZnR7cGFkZGluZy1sZWZ0OjM1cHh9LnBhZGRpbmctNDBweC1sZWZ0e3BhZGRpbmctbGVmdDo0MHB4fS5wYWRkaW5nLTQ1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6NDVweH0ucGFkZGluZy01MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjUwcHh9LnBhZGRpbmctNTVweC1sZWZ0e3BhZGRpbmctbGVmdDo1NXB4fS5wYWRkaW5nLTYwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6NjBweH0ucGFkZGluZy02NXB4LWxlZnR7cGFkZGluZy1sZWZ0OjY1cHh9LnBhZGRpbmctNzBweC1sZWZ0e3BhZGRpbmctbGVmdDo3MHB4fS5wYWRkaW5nLTc1cHgtbGVmdHtwYWRkaW5nLWxlZnQ6NzVweH0ucGFkZGluZy04MHB4LWxlZnR7cGFkZGluZy1sZWZ0OjgwcHh9LnBhZGRpbmctODVweC1sZWZ0e3BhZGRpbmctbGVmdDo4NXB4fS5wYWRkaW5nLTkwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6OTBweH0ucGFkZGluZy05NXB4LWxlZnR7cGFkZGluZy1sZWZ0Ojk1cHh9LnBhZGRpbmctMTAwcHgtbGVmdHtwYWRkaW5nLWxlZnQ6MTAwcHh9LnBhZGRpbmctMS1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6MXJlbX0ucGFkZGluZy0xLWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjEuNXJlbX0ucGFkZGluZy0yLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDoycmVtfS5wYWRkaW5nLTItaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6Mi41cmVtfS5wYWRkaW5nLTMtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjNyZW19LnBhZGRpbmctMy1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDozLjVyZW19LnBhZGRpbmctNC1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6NHJlbX0ucGFkZGluZy00LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjQuNXJlbX0ucGFkZGluZy01LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo1cmVtfS5wYWRkaW5nLTUtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6NS41cmVtfS5wYWRkaW5nLTYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjZyZW19LnBhZGRpbmctNi1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo2LjVyZW19LnBhZGRpbmctNy1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6N3JlbX0ucGFkZGluZy03LWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjcuNXJlbX0ucGFkZGluZy04LXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo4cmVtfS5wYWRkaW5nLTgtaGFsZi1yZW0tbGVmdHtwYWRkaW5nLWxlZnQ6OC41cmVtfS5wYWRkaW5nLTktcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjlyZW19LnBhZGRpbmctOS1oYWxmLXJlbS1sZWZ0e3BhZGRpbmctbGVmdDo5LjVyZW19LnBhZGRpbmctMTAtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjEwcmVtfS5wYWRkaW5nLTEwLWhhbGYtcmVtLWxlZnR7cGFkZGluZy1sZWZ0OjEwLjVyZW19LnBhZGRpbmctb25lLXRie3BhZGRpbmctdG9wOjElO3BhZGRpbmctYm90dG9tOjElfS5wYWRkaW5nLXR3by10YntwYWRkaW5nLXRvcDoyJTtwYWRkaW5nLWJvdHRvbToyJX0ucGFkZGluZy10aHJlZS10YntwYWRkaW5nLXRvcDozJTtwYWRkaW5nLWJvdHRvbTozJX0ucGFkZGluZy1mb3VyLXRie3BhZGRpbmctdG9wOjQlO3BhZGRpbmctYm90dG9tOjQlfS5wYWRkaW5nLWZpdmUtdGJ7cGFkZGluZy10b3A6NSU7cGFkZGluZy1ib3R0b206NSV9LnBhZGRpbmctc2l4LXRie3BhZGRpbmctdG9wOjYlO3BhZGRpbmctYm90dG9tOjYlfS5wYWRkaW5nLXNldmVuLXRie3BhZGRpbmctdG9wOjclO3BhZGRpbmctYm90dG9tOjclfS5wYWRkaW5nLWVpZ2h0LXRie3BhZGRpbmctdG9wOjglO3BhZGRpbmctYm90dG9tOjglfS5wYWRkaW5nLW5pbmUtdGJ7cGFkZGluZy10b3A6OSU7cGFkZGluZy1ib3R0b206OSV9LnBhZGRpbmctdGVuLXRie3BhZGRpbmctdG9wOjEwJTtwYWRkaW5nLWJvdHRvbToxMCV9LnBhZGRpbmctZWxldmVuLXRie3BhZGRpbmctdG9wOjExJTtwYWRkaW5nLWJvdHRvbToxMSV9LnBhZGRpbmctdHdlbHZlLXRie3BhZGRpbmctdG9wOjEyJTtwYWRkaW5nLWJvdHRvbToxMiV9LnBhZGRpbmctdGhpcnRlZW4tdGJ7cGFkZGluZy10b3A6MTMlO3BhZGRpbmctYm90dG9tOjEzJX0ucGFkZGluZy1mb3VydGVlbi10YntwYWRkaW5nLXRvcDoxNCU7cGFkZGluZy1ib3R0b206MTQlfS5wYWRkaW5nLWZpZnRlZW4tdGJ7cGFkZGluZy10b3A6MTUlO3BhZGRpbmctYm90dG9tOjE1JX0ucGFkZGluZy1zaXh0ZWVuLXRie3BhZGRpbmctdG9wOjE2JTtwYWRkaW5nLWJvdHRvbToxNiV9LnBhZGRpbmctc2V2ZW50ZWVuLXRie3BhZGRpbmctdG9wOjE3JTtwYWRkaW5nLWJvdHRvbToxNyV9LnBhZGRpbmctZWlnaHRlZW4tdGJ7cGFkZGluZy10b3A6MTglO3BhZGRpbmctYm90dG9tOjE4JX0ucGFkZGluZy1uaW5ldGVlbi10YntwYWRkaW5nLXRvcDoxOSU7cGFkZGluZy1ib3R0b206MTklfS5wYWRkaW5nLXR3ZW50eS10YntwYWRkaW5nLXRvcDoyMCU7cGFkZGluZy1ib3R0b206MjAlfS5wYWRkaW5nLTVweC10YntwYWRkaW5nLXRvcDo1cHg7cGFkZGluZy1ib3R0b206NXB4fS5wYWRkaW5nLTEwcHgtdGJ7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4fS5wYWRkaW5nLTE1cHgtdGJ7cGFkZGluZy10b3A6MTVweDtwYWRkaW5nLWJvdHRvbToxNXB4fS5wYWRkaW5nLTIwcHgtdGJ7cGFkZGluZy10b3A6MjBweDtwYWRkaW5nLWJvdHRvbToyMHB4fS5wYWRkaW5nLTI1cHgtdGJ7cGFkZGluZy10b3A6MjVweDtwYWRkaW5nLWJvdHRvbToyNXB4fS5wYWRkaW5nLTMwcHgtdGJ7cGFkZGluZy10b3A6MzBweDtwYWRkaW5nLWJvdHRvbTozMHB4fS5wYWRkaW5nLTM1cHgtdGJ7cGFkZGluZy10b3A6MzVweDtwYWRkaW5nLWJvdHRvbTozNXB4fS5wYWRkaW5nLTQwcHgtdGJ7cGFkZGluZy10b3A6NDBweDtwYWRkaW5nLWJvdHRvbTo0MHB4fS5wYWRkaW5nLTQ1cHgtdGJ7cGFkZGluZy10b3A6NDVweDtwYWRkaW5nLWJvdHRvbTo0NXB4fS5wYWRkaW5nLTUwcHgtdGJ7cGFkZGluZy10b3A6NTBweDtwYWRkaW5nLWJvdHRvbTo1MHB4fS5wYWRkaW5nLTU1cHgtdGJ7cGFkZGluZy10b3A6NTVweDtwYWRkaW5nLWJvdHRvbTo1NXB4fS5wYWRkaW5nLTYwcHgtdGJ7cGFkZGluZy10b3A6NjBweDtwYWRkaW5nLWJvdHRvbTo2MHB4fS5wYWRkaW5nLTY1cHgtdGJ7cGFkZGluZy10b3A6NjVweDtwYWRkaW5nLWJvdHRvbTo2NXB4fS5wYWRkaW5nLTcwcHgtdGJ7cGFkZGluZy10b3A6NzBweDtwYWRkaW5nLWJvdHRvbTo3MHB4fS5wYWRkaW5nLTc1cHgtdGJ7cGFkZGluZy10b3A6NzVweDtwYWRkaW5nLWJvdHRvbTo3NXB4fS5wYWRkaW5nLTgwcHgtdGJ7cGFkZGluZy10b3A6ODBweDtwYWRkaW5nLWJvdHRvbTo4MHB4fS5wYWRkaW5nLTg1cHgtdGJ7cGFkZGluZy10b3A6ODVweDtwYWRkaW5nLWJvdHRvbTo4NXB4fS5wYWRkaW5nLTkwcHgtdGJ7cGFkZGluZy10b3A6OTBweDtwYWRkaW5nLWJvdHRvbTo5MHB4fS5wYWRkaW5nLTk1cHgtdGJ7cGFkZGluZy10b3A6OTVweDtwYWRkaW5nLWJvdHRvbTo5NXB4fS5wYWRkaW5nLTEwMHB4LXRie3BhZGRpbmctdG9wOjEwMHB4O3BhZGRpbmctYm90dG9tOjEwMHB4fS5wYWRkaW5nLTEtcmVtLXRie3BhZGRpbmctdG9wOjFyZW07cGFkZGluZy1ib3R0b206MXJlbX0ucGFkZGluZy0xLWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjEuNXJlbTtwYWRkaW5nLWJvdHRvbToxLjVyZW19LnBhZGRpbmctMi1yZW0tdGJ7cGFkZGluZy10b3A6MnJlbTtwYWRkaW5nLWJvdHRvbToycmVtfS5wYWRkaW5nLTItaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6Mi41cmVtO3BhZGRpbmctYm90dG9tOjIuNXJlbX0ucGFkZGluZy0zLXJlbS10YntwYWRkaW5nLXRvcDozcmVtO3BhZGRpbmctYm90dG9tOjNyZW19LnBhZGRpbmctMy1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDozLjVyZW07cGFkZGluZy1ib3R0b206My41cmVtfS5wYWRkaW5nLTQtcmVtLXRie3BhZGRpbmctdG9wOjRyZW07cGFkZGluZy1ib3R0b206NHJlbX0ucGFkZGluZy00LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjQuNXJlbTtwYWRkaW5nLWJvdHRvbTo0LjVyZW19LnBhZGRpbmctNS1yZW0tdGJ7cGFkZGluZy10b3A6NXJlbTtwYWRkaW5nLWJvdHRvbTo1cmVtfS5wYWRkaW5nLTUtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6NS41cmVtO3BhZGRpbmctYm90dG9tOjUuNXJlbX0ucGFkZGluZy02LXJlbS10YntwYWRkaW5nLXRvcDo2cmVtO3BhZGRpbmctYm90dG9tOjZyZW19LnBhZGRpbmctNi1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo2LjVyZW07cGFkZGluZy1ib3R0b206Ni41cmVtfS5wYWRkaW5nLTctcmVtLXRie3BhZGRpbmctdG9wOjdyZW07cGFkZGluZy1ib3R0b206N3JlbX0ucGFkZGluZy03LWhhbGYtcmVtLXRie3BhZGRpbmctdG9wOjcuNXJlbTtwYWRkaW5nLWJvdHRvbTo3LjVyZW19LnBhZGRpbmctOC1yZW0tdGJ7cGFkZGluZy10b3A6OHJlbTtwYWRkaW5nLWJvdHRvbTo4cmVtfS5wYWRkaW5nLTgtaGFsZi1yZW0tdGJ7cGFkZGluZy10b3A6OC41cmVtO3BhZGRpbmctYm90dG9tOjguNXJlbX0ucGFkZGluZy05LXJlbS10YntwYWRkaW5nLXRvcDo5cmVtO3BhZGRpbmctYm90dG9tOjlyZW19LnBhZGRpbmctOS1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDo5LjVyZW07cGFkZGluZy1ib3R0b206OS41cmVtfS5wYWRkaW5nLTEwLXJlbS10YntwYWRkaW5nLXRvcDoxMHJlbTtwYWRkaW5nLWJvdHRvbToxMHJlbX0ucGFkZGluZy0xMC1oYWxmLXJlbS10YntwYWRkaW5nLXRvcDoxMC41cmVtO3BhZGRpbmctYm90dG9tOjEwLjVyZW19LnBhZGRpbmctb25lLWxye3BhZGRpbmctbGVmdDoxJTtwYWRkaW5nLXJpZ2h0OjElfS5wYWRkaW5nLXR3by1scntwYWRkaW5nLWxlZnQ6MiU7cGFkZGluZy1yaWdodDoyJX0ucGFkZGluZy10aHJlZS1scntwYWRkaW5nLWxlZnQ6MyU7cGFkZGluZy1yaWdodDozJX0ucGFkZGluZy1mb3VyLWxye3BhZGRpbmctbGVmdDo0JTtwYWRkaW5nLXJpZ2h0OjQlfS5wYWRkaW5nLWZpdmUtbHJ7cGFkZGluZy1sZWZ0OjUlO3BhZGRpbmctcmlnaHQ6NSV9LnBhZGRpbmctc2l4LWxye3BhZGRpbmctbGVmdDo2JTtwYWRkaW5nLXJpZ2h0OjYlfS5wYWRkaW5nLXNldmVuLWxye3BhZGRpbmctbGVmdDo3JTtwYWRkaW5nLXJpZ2h0OjclfS5wYWRkaW5nLWVpZ2h0LWxye3BhZGRpbmctbGVmdDo4JTtwYWRkaW5nLXJpZ2h0OjglfS5wYWRkaW5nLW5pbmUtbHJ7cGFkZGluZy1sZWZ0OjklO3BhZGRpbmctcmlnaHQ6OSV9LnBhZGRpbmctdGVuLWxye3BhZGRpbmctbGVmdDoxMCU7cGFkZGluZy1yaWdodDoxMCV9LnBhZGRpbmctZWxldmVuLWxye3BhZGRpbmctbGVmdDoxMSU7cGFkZGluZy1yaWdodDoxMSV9LnBhZGRpbmctdHdlbHZlLWxye3BhZGRpbmctbGVmdDoxMiU7cGFkZGluZy1yaWdodDoxMiV9LnBhZGRpbmctdGhpcnRlZW4tbHJ7cGFkZGluZy1sZWZ0OjEzJTtwYWRkaW5nLXJpZ2h0OjEzJX0ucGFkZGluZy1mb3VydGVlbi1scntwYWRkaW5nLWxlZnQ6MTQlO3BhZGRpbmctcmlnaHQ6MTQlfS5wYWRkaW5nLWZpZnRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE1JTtwYWRkaW5nLXJpZ2h0OjE1JX0ucGFkZGluZy1zaXh0ZWVuLWxye3BhZGRpbmctbGVmdDoxNiU7cGFkZGluZy1yaWdodDoxNiV9LnBhZGRpbmctc2V2ZW50ZWVuLWxye3BhZGRpbmctbGVmdDoxNyU7cGFkZGluZy1yaWdodDoxNyV9LnBhZGRpbmctZWlnaHRlZW4tbHJ7cGFkZGluZy1sZWZ0OjE4JTtwYWRkaW5nLXJpZ2h0OjE4JX0ucGFkZGluZy1uaW5ldGVlbi1scntwYWRkaW5nLWxlZnQ6MTklO3BhZGRpbmctcmlnaHQ6MTklfS5wYWRkaW5nLXR3ZW50eS1scntwYWRkaW5nLWxlZnQ6MjAlO3BhZGRpbmctcmlnaHQ6MjAlfS5wYWRkaW5nLTVweC1scntwYWRkaW5nLWxlZnQ6NXB4O3BhZGRpbmctcmlnaHQ6NXB4fS5wYWRkaW5nLTEwcHgtbHJ7cGFkZGluZy1sZWZ0OjEwcHg7cGFkZGluZy1yaWdodDoxMHB4fS5wYWRkaW5nLTE1cHgtbHJ7cGFkZGluZy1sZWZ0OjE1cHg7cGFkZGluZy1yaWdodDoxNXB4fS5wYWRkaW5nLTIwcHgtbHJ7cGFkZGluZy1sZWZ0OjIwcHg7cGFkZGluZy1yaWdodDoyMHB4fS5wYWRkaW5nLTI1cHgtbHJ7cGFkZGluZy1sZWZ0OjI1cHg7cGFkZGluZy1yaWdodDoyNXB4fS5wYWRkaW5nLTMwcHgtbHJ7cGFkZGluZy1sZWZ0OjMwcHg7cGFkZGluZy1yaWdodDozMHB4fS5wYWRkaW5nLTM1cHgtbHJ7cGFkZGluZy1sZWZ0OjM1cHg7cGFkZGluZy1yaWdodDozNXB4fS5wYWRkaW5nLTQwcHgtbHJ7cGFkZGluZy1sZWZ0OjQwcHg7cGFkZGluZy1yaWdodDo0MHB4fS5wYWRkaW5nLTQ1cHgtbHJ7cGFkZGluZy1sZWZ0OjQ1cHg7cGFkZGluZy1yaWdodDo0NXB4fS5wYWRkaW5nLTUwcHgtbHJ7cGFkZGluZy1sZWZ0OjUwcHg7cGFkZGluZy1yaWdodDo1MHB4fS5wYWRkaW5nLTU1cHgtbHJ7cGFkZGluZy1sZWZ0OjU1cHg7cGFkZGluZy1yaWdodDo1NXB4fS5wYWRkaW5nLTYwcHgtbHJ7cGFkZGluZy1sZWZ0OjYwcHg7cGFkZGluZy1yaWdodDo2MHB4fS5wYWRkaW5nLTY1cHgtbHJ7cGFkZGluZy1sZWZ0OjY1cHg7cGFkZGluZy1yaWdodDo2NXB4fS5wYWRkaW5nLTcwcHgtbHJ7cGFkZGluZy1sZWZ0OjcwcHg7cGFkZGluZy1yaWdodDo3MHB4fS5wYWRkaW5nLTc1cHgtbHJ7cGFkZGluZy1sZWZ0Ojc1cHg7cGFkZGluZy1yaWdodDo3NXB4fS5wYWRkaW5nLTgwcHgtbHJ7cGFkZGluZy1sZWZ0OjgwcHg7cGFkZGluZy1yaWdodDo4MHB4fS5wYWRkaW5nLTg1cHgtbHJ7cGFkZGluZy1sZWZ0Ojg1cHg7cGFkZGluZy1yaWdodDo4NXB4fS5wYWRkaW5nLTkwcHgtbHJ7cGFkZGluZy1sZWZ0OjkwcHg7cGFkZGluZy1yaWdodDo5MHB4fS5wYWRkaW5nLTk1cHgtbHJ7cGFkZGluZy1sZWZ0Ojk1cHg7cGFkZGluZy1yaWdodDo5NXB4fS5wYWRkaW5nLTEwMHB4LWxye3BhZGRpbmctbGVmdDoxMDBweDtwYWRkaW5nLXJpZ2h0OjEwMHB4fS5wYWRkaW5nLTEtcmVtLWxye3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbX0ucGFkZGluZy0xLWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDoxLjVyZW07cGFkZGluZy1yaWdodDoxLjVyZW19LnBhZGRpbmctMi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjJyZW07cGFkZGluZy1yaWdodDoycmVtfS5wYWRkaW5nLTItaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjIuNXJlbTtwYWRkaW5nLXJpZ2h0OjIuNXJlbX0ucGFkZGluZy0zLXJlbS1scntwYWRkaW5nLWxlZnQ6M3JlbTtwYWRkaW5nLXJpZ2h0OjNyZW19LnBhZGRpbmctMy1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6My41cmVtO3BhZGRpbmctcmlnaHQ6My41cmVtfS5wYWRkaW5nLTQtcmVtLWxye3BhZGRpbmctbGVmdDo0cmVtO3BhZGRpbmctcmlnaHQ6NHJlbX0ucGFkZGluZy00LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo0LjVyZW07cGFkZGluZy1yaWdodDo0LjVyZW19LnBhZGRpbmctNS1yZW0tbHJ7cGFkZGluZy1sZWZ0OjVyZW07cGFkZGluZy1yaWdodDo1cmVtfS5wYWRkaW5nLTUtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjUuNXJlbTtwYWRkaW5nLXJpZ2h0OjUuNXJlbX0ucGFkZGluZy02LXJlbS1scntwYWRkaW5nLWxlZnQ6NnJlbTtwYWRkaW5nLXJpZ2h0OjZyZW19LnBhZGRpbmctNi1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6Ni41cmVtO3BhZGRpbmctcmlnaHQ6Ni41cmVtfS5wYWRkaW5nLTctcmVtLWxye3BhZGRpbmctbGVmdDo3cmVtO3BhZGRpbmctcmlnaHQ6N3JlbX0ucGFkZGluZy03LWhhbGYtcmVtLWxye3BhZGRpbmctbGVmdDo3LjVyZW07cGFkZGluZy1yaWdodDo3LjVyZW19LnBhZGRpbmctOC1yZW0tbHJ7cGFkZGluZy1sZWZ0OjhyZW07cGFkZGluZy1yaWdodDo4cmVtfS5wYWRkaW5nLTgtaGFsZi1yZW0tbHJ7cGFkZGluZy1sZWZ0OjguNXJlbTtwYWRkaW5nLXJpZ2h0OjguNXJlbX0ucGFkZGluZy05LXJlbS1scntwYWRkaW5nLWxlZnQ6OXJlbTtwYWRkaW5nLXJpZ2h0OjlyZW19LnBhZGRpbmctOS1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6OS41cmVtO3BhZGRpbmctcmlnaHQ6OS41cmVtfS5wYWRkaW5nLTEwLXJlbS1scntwYWRkaW5nLWxlZnQ6MTByZW07cGFkZGluZy1yaWdodDoxMHJlbX0ucGFkZGluZy0xMC1oYWxmLXJlbS1scntwYWRkaW5nLWxlZnQ6MTAuNXJlbTtwYWRkaW5nLXJpZ2h0OjEwLjVyZW19Lm5vLXBhZGRpbmd7cGFkZGluZzowIWltcG9ydGFudH0ubm8tcGFkZGluZy1scntwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ubm8tcGFkZGluZy10YntwYWRkaW5nLXRvcDowIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ubm8tcGFkZGluZy10b3B7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9Lm5vLXBhZGRpbmctYm90dG9te3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5uby1wYWRkaW5nLWxlZnR7cGFkZGluZy1sZWZ0OjAhaW1wb3J0YW50fS5uby1wYWRkaW5nLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9LmQtaW5pdGlhbHtkaXNwbGF5OmluaXRpYWwhaW1wb3J0YW50fS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVuIWltcG9ydGFudH0ub3ZlcmZsb3ctdmlzaWJsZXtvdmVyZmxvdzp2aXNpYmxlIWltcG9ydGFudH0ub3ZlcmZsb3ctYXV0b3tvdmVyZmxvdzphdXRvIWltcG9ydGFudH0ucG9zaXRpb24taW5oZXJpdHtwb3NpdGlvbjppbmhlcml0IWltcG9ydGFudH0udG9wLTBweHt0b3A6MH0udG9wLTFweHt0b3A6MXB4fS50b3AtMnB4e3RvcDoycHh9LnRvcC0zcHh7dG9wOjNweH0udG9wLTRweHt0b3A6NHB4fS50b3AtNXB4e3RvcDo1cHh9LnRvcC02cHh7dG9wOjZweH0udG9wLTdweHt0b3A6N3B4fS50b3AtOHB4e3RvcDo4cHh9LnRvcC05cHh7dG9wOjlweH0udG9wLTEwcHh7dG9wOjEwcHh9LnRvcC0xNXB4e3RvcDoxNXB4fS50b3AtMjBweHt0b3A6MjBweH0udG9wLTI1cHh7dG9wOjI1cHh9LnRvcC0zMHB4e3RvcDozMHB4fS50b3AtMzVweHt0b3A6MzVweH0udG9wLTQwcHh7dG9wOjQwcHh9LnRvcC00NXB4e3RvcDo0NXB4fS50b3AtNTBweHt0b3A6NTBweH0udG9wLTYwcHh7dG9wOjYwcHh9LnRvcC03MHB4e3RvcDo3MHB4fS50b3AtODBweHt0b3A6ODBweH0udG9wLTkwcHh7dG9wOjkwcHh9LnRvcC0xMDBweHt0b3A6MTAwcHh9LnRvcC1hdXRve3RvcDphdXRvfS50b3AtaW5oZXJpdHt0b3A6aW5oZXJpdH0udG9wLW1pbnVzLTFweHt0b3A6LTFweH0udG9wLW1pbnVzLTJweHt0b3A6LTJweH0udG9wLW1pbnVzLTNweHt0b3A6LTNweH0udG9wLW1pbnVzLTRweHt0b3A6LTRweH0udG9wLW1pbnVzLTVweHt0b3A6LTVweH0udG9wLW1pbnVzLTZweHt0b3A6LTZweH0udG9wLW1pbnVzLTdweHt0b3A6LTdweH0udG9wLW1pbnVzLThweHt0b3A6LThweH0udG9wLW1pbnVzLTlweHt0b3A6LTlweH0udG9wLW1pbnVzLTEwcHh7dG9wOi0xMHB4fS50b3AtbWludXMtMTVweHt0b3A6LTE1cHh9LnRvcC1taW51cy0yMHB4e3RvcDotMjBweH0udG9wLW1pbnVzLTI1cHh7dG9wOi0yNXB4fS50b3AtbWludXMtMzBweHt0b3A6LTMwcHh9LnRvcC1taW51cy0zNXB4e3RvcDotMzVweH0udG9wLW1pbnVzLTQwcHh7dG9wOi00MHB4fS50b3AtbWludXMtNDVweHt0b3A6LTQ1cHh9LnRvcC1taW51cy01MHB4e3RvcDotNTBweH0udG9wLW1pbnVzLTYwcHh7dG9wOi02MHB4fS50b3AtbWludXMtNzBweHt0b3A6LTcwcHh9LmJvdHRvbS0wcHh7Ym90dG9tOjB9LmJvdHRvbS0xcHh7Ym90dG9tOjFweH0uYm90dG9tLTJweHtib3R0b206MnB4fS5ib3R0b20tM3B4e2JvdHRvbTozcHh9LmJvdHRvbS00cHh7Ym90dG9tOjRweH0uYm90dG9tLTVweHtib3R0b206NXB4fS5ib3R0b20tNnB4e2JvdHRvbTo2cHh9LmJvdHRvbS03cHh7Ym90dG9tOjdweH0uYm90dG9tLThweHtib3R0b206OHB4fS5ib3R0b20tOXB4e2JvdHRvbTo5cHh9LmJvdHRvbS0xMHB4e2JvdHRvbToxMHB4fS5ib3R0b20tMTVweHtib3R0b206MTVweH0uYm90dG9tLTIwcHh7Ym90dG9tOjIwcHh9LmJvdHRvbS0yNXB4e2JvdHRvbToyNXB4fS5ib3R0b20tMzBweHtib3R0b206MzBweH0uYm90dG9tLTM1cHh7Ym90dG9tOjM1cHh9LmJvdHRvbS00MHB4e2JvdHRvbTo0MHB4fS5ib3R0b20tNDVweHtib3R0b206NDVweH0uYm90dG9tLTUwcHh7Ym90dG9tOjUwcHh9LmJvdHRvbS01NXB4e2JvdHRvbTo1NXB4fS5ib3R0b20tNjBweHtib3R0b206NjBweH0uYm90dG9tLTY1cHh7Ym90dG9tOjY1cHh9LmJvdHRvbS03MHB4e2JvdHRvbTo3MHB4fS5ib3R0b20tNzVweHtib3R0b206NzVweH0uYm90dG9tLTgwcHh7Ym90dG9tOjgwcHh9LmJvdHRvbS04NXB4e2JvdHRvbTo4NXB4fS5ib3R0b20tOTBweHtib3R0b206OTBweH0uYm90dG9tLTk1cHh7Ym90dG9tOjk1cHh9LmJvdHRvbS0xMDBweHtib3R0b206MTAwcHh9LmJvdHRvbS1hdXRve2JvdHRvbTphdXRvfS5ib3R0b20taW5oZXJpdHtib3R0b206aW5oZXJpdH0uYm90dG9tLW1pbnVzLTFweHtib3R0b206LTFweH0uYm90dG9tLW1pbnVzLTJweHtib3R0b206LTJweH0uYm90dG9tLW1pbnVzLTNweHtib3R0b206LTNweH0uYm90dG9tLW1pbnVzLTRweHtib3R0b206LTRweH0uYm90dG9tLW1pbnVzLTVweHtib3R0b206LTVweH0uYm90dG9tLW1pbnVzLTZweHtib3R0b206LTZweH0uYm90dG9tLW1pbnVzLTdweHtib3R0b206LTdweH0uYm90dG9tLW1pbnVzLThweHtib3R0b206LThweH0uYm90dG9tLW1pbnVzLTlweHtib3R0b206LTlweH0uYm90dG9tLW1pbnVzLTEwcHh7Ym90dG9tOi0xMHB4fS5ib3R0b20tbWludXMtMTVweHtib3R0b206LTE1cHh9LmJvdHRvbS1taW51cy0yMHB4e2JvdHRvbTotMjBweH0uYm90dG9tLW1pbnVzLTI1cHh7Ym90dG9tOi0yNXB4fS5ib3R0b20tbWludXMtMzBweHtib3R0b206LTMwcHh9LmJvdHRvbS1taW51cy0zNXB4e2JvdHRvbTotMzVweH0uYm90dG9tLW1pbnVzLTQwcHh7Ym90dG9tOi00MHB4fS5ib3R0b20tbWludXMtNDVweHtib3R0b206LTQ1cHh9LmJvdHRvbS1taW51cy01MHB4e2JvdHRvbTotNTBweH0ucmlnaHQtMHB4e3JpZ2h0OjB9LnJpZ2h0LTFweHtyaWdodDoxcHh9LnJpZ2h0LTJweHtyaWdodDoycHh9LnJpZ2h0LTNweHtyaWdodDozcHh9LnJpZ2h0LTRweHtyaWdodDo0cHh9LnJpZ2h0LTVweHtyaWdodDo1cHh9LnJpZ2h0LTZweHtyaWdodDo2cHh9LnJpZ2h0LTdweHtyaWdodDo3cHh9LnJpZ2h0LThweHtyaWdodDo4cHh9LnJpZ2h0LTlweHtyaWdodDo5cHh9LnJpZ2h0LTEwcHh7cmlnaHQ6MTBweH0ucmlnaHQtMTVweHtyaWdodDoxNXB4fS5yaWdodC0yMHB4e3JpZ2h0OjIwcHh9LnJpZ2h0LTI1cHh7cmlnaHQ6MjVweH0ucmlnaHQtMzBweHtyaWdodDozMHB4fS5yaWdodC0zNXB4e3JpZ2h0OjM1cHh9LnJpZ2h0LTQwcHh7cmlnaHQ6NDBweH0ucmlnaHQtNDVweHtyaWdodDo0NXB4fS5yaWdodC01MHB4e3JpZ2h0OjUwcHh9LnJpZ2h0LTU1cHh7cmlnaHQ6NTVweH0ucmlnaHQtNjBweHtyaWdodDo2MHB4fS5yaWdodC1hdXRve3JpZ2h0OmF1dG99LnJpZ2h0LWluaGVyaXR7cmlnaHQ6aW5oZXJpdH0ucmlnaHQtbWludXMtMXB4e3JpZ2h0Oi0xcHh9LnJpZ2h0LW1pbnVzLTJweHtyaWdodDotMnB4fS5yaWdodC1taW51cy0zcHh7cmlnaHQ6LTNweH0ucmlnaHQtbWludXMtNHB4e3JpZ2h0Oi00cHh9LnJpZ2h0LW1pbnVzLTVweHtyaWdodDotNXB4fS5yaWdodC1taW51cy02cHh7cmlnaHQ6LTZweH0ucmlnaHQtbWludXMtN3B4e3JpZ2h0Oi03cHh9LnJpZ2h0LW1pbnVzLThweHtyaWdodDotOHB4fS5yaWdodC1taW51cy05cHh7cmlnaHQ6LTlweH0ucmlnaHQtbWludXMtMTBweHtyaWdodDotMTBweH0ucmlnaHQtbWludXMtMTVweHtyaWdodDotMTVweH0ucmlnaHQtbWludXMtMjBweHtyaWdodDotMjBweH0ucmlnaHQtbWludXMtMjVweHtyaWdodDotMjVweH0ucmlnaHQtbWludXMtMzBweHtyaWdodDotMzBweH0ucmlnaHQtbWludXMtMzVweHtyaWdodDotMzVweH0ucmlnaHQtbWludXMtNDBweHtyaWdodDotNDBweH0ucmlnaHQtbWludXMtNDVweHtyaWdodDotNDVweH0ucmlnaHQtbWludXMtNTBweHtyaWdodDotNTBweH0ucmlnaHQtbWludXMtNjBweHtyaWdodDotNjBweH0ucmlnaHQtbWludXMtNzBweHtyaWdodDotNzBweH0ubGVmdC0wcHh7bGVmdDowfS5sZWZ0LTFweHtsZWZ0OjFweH0ubGVmdC0ycHh7bGVmdDoycHh9LmxlZnQtM3B4e2xlZnQ6M3B4fS5sZWZ0LTRweHtsZWZ0OjRweH0ubGVmdC01cHh7bGVmdDo1cHh9LmxlZnQtNnB4e2xlZnQ6NnB4fS5sZWZ0LTdweHtsZWZ0OjdweH0ubGVmdC04cHh7bGVmdDo4cHh9LmxlZnQtOXB4e2xlZnQ6OXB4fS5sZWZ0LTEwcHh7bGVmdDoxMHB4fS5sZWZ0LTE1cHh7bGVmdDoxNXB4fS5sZWZ0LTIwcHh7bGVmdDoyMHB4fS5sZWZ0LTI1cHh7bGVmdDoyNXB4fS5sZWZ0LTMwcHh7bGVmdDozMHB4fS5sZWZ0LTM1cHh7bGVmdDozNXB4fS5sZWZ0LTQwcHh7bGVmdDo0MHB4fS5sZWZ0LTQ1cHh7bGVmdDo0NXB4fS5sZWZ0LTUwcHh7bGVmdDo1MHB4fS5sZWZ0LWF1dG97bGVmdDphdXRvfS5sZWZ0LWluaGVyaXR7bGVmdDppbmhlcml0fS5sZWZ0LTBweHtsZWZ0OjB9LmxlZnQtbWludXMtMXB4e2xlZnQ6LTFweH0ubGVmdC1taW51cy0ycHh7bGVmdDotMnB4fS5sZWZ0LW1pbnVzLTNweHtsZWZ0Oi0zcHh9LmxlZnQtbWludXMtNHB4e2xlZnQ6LTRweH0ubGVmdC1taW51cy01cHh7bGVmdDotNXB4fS5sZWZ0LW1pbnVzLTZweHtsZWZ0Oi02cHh9LmxlZnQtbWludXMtN3B4e2xlZnQ6LTdweH0ubGVmdC1taW51cy04cHh7bGVmdDotOHB4fS5sZWZ0LW1pbnVzLTlweHtsZWZ0Oi05cHh9LmxlZnQtbWludXMtMTBweHtsZWZ0Oi0xMHB4fS5sZWZ0LW1pbnVzLTE1cHh7bGVmdDotMTVweH0ubGVmdC1taW51cy0yMHB4e2xlZnQ6LTIwcHh9LmxlZnQtbWludXMtMjVweHtsZWZ0Oi0yNXB4fS5sZWZ0LW1pbnVzLTMwcHh7bGVmdDotMzBweH0ubGVmdC1taW51cy0zNXB4e2xlZnQ6LTM1cHh9LmxlZnQtbWludXMtNDBweHtsZWZ0Oi00MHB4fS5sZWZ0LW1pbnVzLTQ1cHh7bGVmdDotNDVweH0ubGVmdC1taW51cy01MHB4e2xlZnQ6LTUwcHh9LnctMXB4e3dpZHRoOjFweH0udy0ycHh7d2lkdGg6MnB4fS53LTNweHt3aWR0aDozcHh9LnctNHB4e3dpZHRoOjRweH0udy01cHh7d2lkdGg6NXB4fS53LTZweHt3aWR0aDo2cHh9LnctN3B4e3dpZHRoOjdweH0udy04cHh7d2lkdGg6OHB4fS53LTlweHt3aWR0aDo5cHh9LnctMTBweHt3aWR0aDoxMHB4fS53LTE1cHh7d2lkdGg6MTVweH0udy0yMHB4e3dpZHRoOjIwcHh9LnctMjVweHt3aWR0aDoyNXB4fS53LTMwcHh7d2lkdGg6MzBweH0udy0zNXB4e3dpZHRoOjM1cHh9LnctNDBweHt3aWR0aDo0MHB4fS53LTQ1cHh7d2lkdGg6NDVweH0udy01MHB4e3dpZHRoOjUwcHh9LnctNTVweHt3aWR0aDo1NXB4fS53LTYwcHh7d2lkdGg6NjBweH0udy02NXB4e3dpZHRoOjY1cHh9LnctNzBweHt3aWR0aDo3MHB4fS53LTc1cHh7d2lkdGg6NzVweH0udy04MHB4e3dpZHRoOjgwcHh9LnctODVweHt3aWR0aDo4NXB4fS53LTkwcHh7d2lkdGg6OTBweH0udy05NXB4e3dpZHRoOjk1cHh9LnctMTAwcHh7d2lkdGg6MTAwcHh9LnctMTEwcHh7d2lkdGg6MTEwcHh9LnctMTIwcHh7d2lkdGg6MTIwcHh9LnctMTMwcHh7d2lkdGg6MTMwcHh9LnctMTQwcHh7d2lkdGg6MTQwcHh9LnctMTUwcHh7d2lkdGg6MTUwcHh9LnctMTYwcHh7d2lkdGg6MTYwcHh9LnctMTcwcHh7d2lkdGg6MTcwcHh9LnctMTgwcHh7d2lkdGg6MTgwcHh9LnctMTkwcHh7d2lkdGg6MTkwcHh9LnctMjAwcHh7d2lkdGg6MjAwcHh9LnctMjUwcHh7d2lkdGg6MjUwcHh9LnctMzAwcHh7d2lkdGg6MzAwcHh9LnctMzUwcHh7d2lkdGg6MzUwcHh9LnctNDAwcHh7d2lkdGg6NDAwcHh9LnctNDUwcHh7d2lkdGg6NDUwcHh9LnctNTAwcHh7d2lkdGg6NTAwcHh9LnctNTUwcHh7d2lkdGg6NTUwcHh9LnctNjAwcHh7d2lkdGg6NjAwcHh9LnctNjUwcHh7d2lkdGg6NjUwcHh9LnctNzAwcHh7d2lkdGg6NzAwcHh9LnctNzUwcHh7d2lkdGg6NzUwcHh9LnctODAwcHh7d2lkdGg6ODAwcHh9LnctODUwcHh7d2lkdGg6ODUwcHh9LnctOTAwcHh7d2lkdGg6OTAwcHh9LnctOTUwcHh7d2lkdGg6OTUwcHh9LnctMTAwMHB4e3dpZHRoOjEwMDBweH0udy0xMHt3aWR0aDoxMCV9LnctMTV7d2lkdGg6MTUlfS53LTIwe3dpZHRoOjIwJX0udy0yNXt3aWR0aDoyNSV9LnctMzB7d2lkdGg6MzAlfS53LTM1e3dpZHRoOjM1JX0udy00MHt3aWR0aDo0MCV9LnctNDV7d2lkdGg6NDUlfS53LTUwe3dpZHRoOjUwJX0udy01NXt3aWR0aDo1NSV9LnctNTd7d2lkdGg6NTclfS53LTYwe3dpZHRoOjYwJX0udy02NXt3aWR0aDo2NSV9LnctNzB7d2lkdGg6NzAlfS53LTc1e3dpZHRoOjc1JX0udy04MHt3aWR0aDo4MCV9LnctODV7d2lkdGg6ODUlfS53LTkwe3dpZHRoOjkwJX0udy05NXt3aWR0aDo5NSV9LnctMTAwe3dpZHRoOjEwMCV9LnctYXV0b3t3aWR0aDphdXRvfS5zd2lwZXItY29udGFpbmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmgtMXB4e2hlaWdodDoxcHh9LmgtMnB4e2hlaWdodDoycHh9LmgtM3B4e2hlaWdodDozcHh9LmgtNHB4e2hlaWdodDo0cHh9LmgtNXB4e2hlaWdodDo1cHh9LmgtNnB4e2hlaWdodDo2cHh9LmgtN3B4e2hlaWdodDo3cHh9LmgtOHB4e2hlaWdodDo4cHh9LmgtOXB4e2hlaWdodDo5cHh9LmgtMTBweHtoZWlnaHQ6MTBweH0uaC0xNXB4e2hlaWdodDoxNXB4fS5oLTIwcHh7aGVpZ2h0OjIwcHh9LmgtMjVweHtoZWlnaHQ6MjVweH0uaC0zMHB4e2hlaWdodDozMHB4fS5oLTM1cHh7aGVpZ2h0OjM1cHh9LmgtNDBweHtoZWlnaHQ6NDBweH0uaC00MnB4e2hlaWdodDo0MnB4fS5oLTQ1cHh7aGVpZ2h0OjQ1cHh9LmgtNTBweHtoZWlnaHQ6NTBweH0uaC01NXB4e2hlaWdodDo1NXB4fS5oLTYwcHh7aGVpZ2h0OjYwcHh9LmgtNjVweHtoZWlnaHQ6NjVweH0uaC03MHB4e2hlaWdodDo3MHB4fS5oLTc1cHh7aGVpZ2h0Ojc1cHh9LmgtODBweHtoZWlnaHQ6ODBweH0uaC04NXB4e2hlaWdodDo4NXB4fS5oLTkwcHh7aGVpZ2h0OjkwcHh9LmgtOTVweHtoZWlnaHQ6OTVweH0uaC0xMDBweHtoZWlnaHQ6MTAwcHh9LmgtMTEwcHh7aGVpZ2h0OjExMHB4fS5oLTEyMHB4e2hlaWdodDoxMjBweH0uaC0xMzBweHtoZWlnaHQ6MTMwcHh9LmgtMTQwcHh7aGVpZ2h0OjE0MHB4fS5oLTE1MHB4e2hlaWdodDoxNTBweH0uaC0xNjBweHtoZWlnaHQ6MTYwcHh9LmgtMTcwcHh7aGVpZ2h0OjE3MHB4fS5oLTE4MHB4e2hlaWdodDoxODBweH0uaC0xOTBweHtoZWlnaHQ6MTkwcHh9LmgtMjAwcHh7aGVpZ2h0OjIwMHB4fS5oLTI1MHB4e2hlaWdodDoyNTBweH0uaC0zMDBweHtoZWlnaHQ6MzAwcHh9LmgtMzUwcHh7aGVpZ2h0OjM1MHB4fS5oLTQwMHB4e2hlaWdodDo0MDBweH0uaC00NTBweHtoZWlnaHQ6NDUwcHh9LmgtNDgwcHh7aGVpZ2h0OjQ5MHB4fS5oLTUwMHB4e2hlaWdodDo1MDBweH0uaC01MjBweHtoZWlnaHQ6NTIwcHh9LmgtNTUwcHh7aGVpZ2h0OjU1MHB4fS5oLTU4MHB4e2hlaWdodDo1ODBweH0uaC02MDBweHtoZWlnaHQ6NjAwcHh9LmgtNjUwcHh7aGVpZ2h0OjY1MHB4fS5oLTcwMHB4e2hlaWdodDo3MDBweH0uaC03MjBweHtoZWlnaHQ6NzIwcHh9LmgtNzUwcHh7aGVpZ2h0Ojc1MHB4fS5oLTgwMHB4e2hlaWdodDo4MDBweH0uaC04MjBweHtoZWlnaHQ6ODIwcHh9LmgtODMwcHh7aGVpZ2h0OjgzMHB4fS5oLTg1MHB4e2hlaWdodDo4NTBweH0uaC01MHtoZWlnaHQ6NTAlfS5oLTEwMHtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9LmgtYXV0b3toZWlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1heC1oLTEwMHttYXgtaGVpZ2h0OjEwMCV9Lm1heC1oLWluaGVyaXR7bWF4LWhlaWdodDppbmhlcml0IWltcG9ydGFudH0uZnVsbC1zY3JlZW4sLmZ1bGxzY3JlZW5hYmFubmVyLC5tb2JpbGVvZmYtZnVsbHNjcmVlbi10b3Atc3BhY2V7aGVpZ2h0Ojk4MHB4fS5taW4taC0xMDBweHttaW4taGVpZ2h0OjEwMHB4fS5taW4taC0yMDBweHttaW4taGVpZ2h0OjIwMHB4fS5taW4taC0zMDBweHttaW4taGVpZ2h0OjMwMHB4fS5taW4taC00MDBweHttaW4taGVpZ2h0OjQwMHB4fS5taW4taC01MDBweHttaW4taGVpZ2h0OjUwMHB4fS5taW4taC02MDBweHttaW4taGVpZ2h0OjYwMHB4fS5taW4taC03MDBweHttaW4taGVpZ2h0OjcwMHB4fS5taW4taC0xMDB2aHttaW4taGVpZ2h0OjEwMHZofS5leHRyYS1zbWFsbC1zY3JlZW57aGVpZ2h0OjMwMHB4fS5zbWFsbC1zY3JlZW57aGVpZ2h0OjQwMHB4fS5vbmUtaGFsZi1zY3JlZW57aGVpZ2h0OjYwMHB4fS5vbmUtdGhpcmQtc2NyZWVue2hlaWdodDo3MDBweH0ub25lLWZvdXJ0aC1zY3JlZW57aGVpZ2h0OjgwMHB4fS5vbmUtZmlmdGgtc2NyZWVue2hlaWdodDo5MDBweH0uY29udGVudC1ib3gtaW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6LXdlYmtpdC1jYWxjKDEwMCUgLyAzKTtoZWlnaHQ6LW1vei1jYWxjKDEwMCUgLyAzKTtoZWlnaHQ6Y2FsYygxMDAlIC8gMyl9W2NsYXNzKj0iIGxpbmUtaWNvbiJdLFtjbGFzcyo9IiBzb2xpZC1pY29uIl0sW2NsYXNzKj0iIHRpLSJdLFtjbGFzc149bGluZS1pY29uXSxbY2xhc3NePXNvbGlkLWljb25dLFtjbGFzc149dGktXXtkaXNwbGF5OmlubGluZS1ibG9ja30udmlkZW8taWNvbi1ib3h7ei1pbmRleDoxfS52aWRlby1pY29uLWJveD5zcGFue2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94O2Rpc3BsYXk6aW5saW5lLWZsZXg7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWZsb3c6cm93IHdyYXA7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdyB3cmFwOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnZpZGVvLWljb24tYm94IC52aWRlby1pY29ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94O2Rpc3BsYXk6aW5saW5lLWZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX0udmlkZW8taWNvbi1ib3ggLnZpZGVvLWljb24gaXttYXJnaW4tbGVmdDo1cHg7bGluZS1oZWlnaHQ6bm9ybWFsfS52aWRlby1pY29uLWxhcmdlLnZpZGVvLWljb24tYm94IC52aWRlby1pY29uIGl7bWFyZ2luLWxlZnQ6OHB4fS52aWRlby1pY29uLWRvdWJsZS1sYXJnZS52aWRlby1pY29uLWJveCAudmlkZW8taWNvbiBpe21hcmdpbi1sZWZ0OjEwcHh9LnZpZGVvLWljb24gLnZpZGVvLWljb24tc29uYXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjUwJTt0b3A6MDtsZWZ0OjA7ei1pbmRleDotMTA7LXdlYmtpdC1hbmltYXRpb246dmlkZW8taWNvbi1zb25hciAycyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnZpZGVvLWljb24tc29uYXIgMnMgbGluZWFyIGluZmluaXRlfS52aWRlby1pY29uIC52aWRlby1pY29uLXNvbmFyIC52aWRlby1pY29uLXNvbmFyLWJmcntwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItcmFkaXVzOjUwJTtjb250ZW50OicnO3RvcDotMjVweDtsZWZ0Oi0yNXB4O3otaW5kZXg6LTEwMH0udmlkZW8taWNvbiAudmlkZW8taWNvbi1zb25hciAudmlkZW8taWNvbi1zb25hci1hZnJ7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyLXJhZGl1czo1MCU7Y29udGVudDonJzt0b3A6LTEwcHg7bGVmdDotMTBweDt6LWluZGV4Oi01MH0udmlkZW8taWNvbi1zbWFsbCAudmlkZW8taWNvbiAudmlkZW8taWNvbi1zb25hciAudmlkZW8taWNvbi1zb25hci1iZnJ7dG9wOi0xNXB4O2xlZnQ6LTE1cHh9LnZpZGVvLWljb24tc21hbGwgLnZpZGVvLWljb24gLnZpZGVvLWljb24tc29uYXIgLnZpZGVvLWljb24tc29uYXItYWZye3RvcDowO2xlZnQ6MH0udmlkZW8taWNvbi1zbWFsbCAudmlkZW8taWNvbnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2ZvbnQtc2l6ZToxNHB4fS52aWRlby1pY29uLXNtYWxsIC52aWRlby1pY29uIC52aWRlby1pY29uLXNvbmFyIC52aWRlby1pY29uLXNvbmFyLWJmcnt3aWR0aDo3MHB4O2hlaWdodDo3MHB4fS52aWRlby1pY29uLXNtYWxsIC52aWRlby1pY29uIC52aWRlby1pY29uLXNvbmFyIC52aWRlby1pY29uLXNvbmFyLWFmcnt3aWR0aDo0MHB4O2hlaWdodDo0MHB4fS52aWRlby1pY29uLW1lZGl1bSAudmlkZW8taWNvbnt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2ZvbnQtc2l6ZToxOHB4fS52aWRlby1pY29uLW1lZGl1bSAudmlkZW8taWNvbiAudmlkZW8taWNvbi1zb25hciAudmlkZW8taWNvbi1zb25hci1iZnJ7d2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4fS52aWRlby1pY29uLW1lZGl1bSAudmlkZW8taWNvbiAudmlkZW8taWNvbi1zb25hciAudmlkZW8taWNvbi1zb25hci1hZnJ7d2lkdGg6NzBweDtoZWlnaHQ6NzBweH0udmlkZW8taWNvbi1sYXJnZSAudmlkZW8taWNvbnt3aWR0aDo3NXB4O2hlaWdodDo3NXB4O2ZvbnQtc2l6ZToyNnB4fS52aWRlby1pY29uLWxhcmdlIC52aWRlby1pY29uIC52aWRlby1pY29uLXNvbmFyIC52aWRlby1pY29uLXNvbmFyLWJmcnt3aWR0aDoxMjVweDtoZWlnaHQ6MTI1cHh9LnZpZGVvLWljb24tbGFyZ2UgLnZpZGVvLWljb24gLnZpZGVvLWljb24tc29uYXIgLnZpZGVvLWljb24tc29uYXItYWZye3dpZHRoOjk1cHg7aGVpZ2h0Ojk1cHh9LnZpZGVvLWljb24tZXh0cmEtbGFyZ2UgLnZpZGVvLWljb257d2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4O2ZvbnQtc2l6ZToyNXB4fS52aWRlby1pY29uLWV4dHJhLWxhcmdlIC52aWRlby1pY29uIC52aWRlby1pY29uLXNvbmFyIC52aWRlby1pY29uLXNvbmFyLWJmcnt3aWR0aDoxNTBweDtoZWlnaHQ6MTUwcHh9LnZpZGVvLWljb24tZXh0cmEtbGFyZ2UgLnZpZGVvLWljb24gLnZpZGVvLWljb24tc29uYXIgLnZpZGVvLWljb24tc29uYXItYWZye3dpZHRoOjEyMHB4O2hlaWdodDoxMjBweH0udmlkZW8taWNvbi1kb3VibGUtbGFyZ2UgLnZpZGVvLWljb257d2lkdGg6MTIwcHg7aGVpZ2h0OjEyMHB4O2ZvbnQtc2l6ZTozNHB4fS52aWRlby1pY29uLWRvdWJsZS1sYXJnZSAudmlkZW8taWNvbiAudmlkZW8taWNvbi1zb25hciAudmlkZW8taWNvbi1zb25hci1iZnJ7d2lkdGg6MTcwcHg7aGVpZ2h0OjE3MHB4fS52aWRlby1pY29uLWRvdWJsZS1sYXJnZSAudmlkZW8taWNvbiAudmlkZW8taWNvbi1zb25hciAudmlkZW8taWNvbi1zb25hci1hZnJ7d2lkdGg6MTQwcHg7aGVpZ2h0OjE0MHB4fS5pY29uLWV4dHJhLWxhcmdle2ZvbnQtc2l6ZTo2MHB4fS5pY29uLWxhcmdle2ZvbnQtc2l6ZTo1MHB4fS5pY29uLW1lZGl1bXtmb250LXNpemU6NDBweH0uaWNvbi12ZXJ5LW1lZGl1bXtmb250LXNpemU6MzVweH0uaWNvbi1leHRyYS1tZWRpdW17Zm9udC1zaXplOjMycHh9Lmljb24tc21hbGx7Zm9udC1zaXplOjI4cHh9Lmljb24tZXh0cmEtc21hbGx7Zm9udC1zaXplOjE4cHh9Lmljb24tdmVyeS1zbWFsbHtmb250LXNpemU6MTNweH0uaWNvbi1jb3VudHJ5e3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luOjAgMTBweCAwIDVweH0uZXh0cmEtbGFyZ2UtaWNvbiwuZXh0cmEtc21hbGwtaWNvbiwubGFyZ2UtaWNvbiwubWVkaXVtLWljb24sLnNtYWxsLWljb257bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MH0uZXh0cmEtbGFyZ2UtaWNvbiBsaSwuZXh0cmEtc21hbGwtaWNvbiBsaSwubGFyZ2UtaWNvbiBsaSwubWVkaXVtLWljb24gbGksLnNtYWxsLWljb24gbGl7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmV4dHJhLWxhcmdlLWljb24gbGk6Zmlyc3QtY2hpbGQsLmV4dHJhLXNtYWxsLWljb24gbGk6Zmlyc3QtY2hpbGQsLmxhcmdlLWljb24gbGk6Zmlyc3QtY2hpbGQsLm1lZGl1bS1pY29uIGxpOmZpcnN0LWNoaWxkLC5zbWFsbC1pY29uIGxpOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LmV4dHJhLWxhcmdlLWljb24gbGk6bGFzdC1jaGlsZCwuZXh0cmEtc21hbGwtaWNvbiBsaTpsYXN0LWNoaWxkLC5sYXJnZS1pY29uIGxpOmxhc3QtY2hpbGQsLm1lZGl1bS1pY29uIGxpOmxhc3QtY2hpbGQsLnNtYWxsLWljb24gbGk6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH0uZXh0cmEtc21hbGwtaWNvbiBsaXttYXJnaW46MCAycHh9LnNtYWxsLWljb24gbGl7bWFyZ2luOjAgNXB4fS5tZWRpdW0taWNvbiBsaXttYXJnaW46MCA4cHh9LmxhcmdlLWljb24gbGl7bWFyZ2luOjAgMTBweH0uZXh0cmEtbGFyZ2UtaWNvbiBsaXttYXJnaW46MCAxMnB4fS5leHRyYS1zbWFsbC1pY29uIGF7Zm9udC1zaXplOjE0cHg7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4fS5zbWFsbC1pY29uIGF7Zm9udC1zaXplOjE2cHg7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtsaW5lLWhlaWdodDo0MHB4fS5tZWRpdW0taWNvbiBhe2ZvbnQtc2l6ZToyMHB4O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7bGluZS1oZWlnaHQ6NTBweH0ubGFyZ2UtaWNvbiBhe2ZvbnQtc2l6ZToyNHB4O3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bGluZS1oZWlnaHQ6NjBweH0uZXh0cmEtbGFyZ2UtaWNvbiBhe2ZvbnQtc2l6ZTozMHB4O3dpZHRoOjcwcHg7aGVpZ2h0OjcwcHg7bGluZS1oZWlnaHQ6NzBweH0uc29jaWFsLWljb24gYXttYXJnaW46MCAxNXB4fS5zb2NpYWwtaWNvbiBhOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LnNvY2lhbC1pY29uIGE6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH1bY2xhc3MqPSIgc29jaWFsLWljb24tIl0gdWwsW2NsYXNzXj1zb2NpYWwtaWNvbi1dIHVse2xpc3Qtc3R5bGU6bm9uZX1hLmxpa2VzLWNvdW50e3dpZHRoOmF1dG87Ym9yZGVyOjFweCBzb2xpZCAjZTRlNGU0O2ZvbnQtc2l6ZToxMnB4O2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6NXB4IDE4cHggNnB4O2xpbmUtaGVpZ2h0OjIwcHg7bWFyZ2luOjAgMCAxMHB4IDA7ZGlzcGxheTppbmxpbmUtYmxvY2t9YS5saWtlcy1jb3VudCBpe21hcmdpbi1yaWdodDo4cHg7Y29sb3I6I2ZhNWM0N31hLmxpa2VzLWNvdW50OmhvdmVye2JveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgyMywyMywyMywuMSk7Y29sb3I6IzIzMjMyM30uc29jaWFsLWljb24tc3R5bGUtMDEgdWwgbGkgYXt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmlubGluZS1ibG9ja30uc29jaWFsLWljb24tc3R5bGUtMDEgYTpob3Zlcntjb2xvcjojMDAzOGUzfS5zb2NpYWwtaWNvbi1zdHlsZS0wMiB1bCBsaSBhe3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2NvbG9yOiMyMzIzMjN9LnNvY2lhbC1pY29uLXN0eWxlLTAyLmljb24td2l0aC1hbmltYXRpb24gYXtkaXNwbGF5OmlubGluZS1ibG9ja30uc29jaWFsLWljb24tc3R5bGUtMDIuaWNvbi13aXRoLWFuaW1hdGlvbiBhOmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpfS5zb2NpYWwtaWNvbi1zdHlsZS0wMiB1bC5saWdodCBsaSBhe2NvbG9yOiNmZmZ9LnNvY2lhbC1pY29uLXN0eWxlLTAyIHVsLmRhcmsgbGkgYXtjb2xvcjojMjMyMzIzfS5tZW51LXNpZGViYXIgYSAuZmFjZWJvb2ssLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEuZmFjZWJvb2s6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEuZmFjZWJvb2s6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEuZmFjZWJvb2ssLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEuZmFjZWJvb2ssLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEuZmFjZWJvb2ssLnNvY2lhbC1pY29uLXN0eWxlLTExIGEuZmFjZWJvb2sgLnNvY2lhbC1mcm9udCBpe2NvbG9yOiMzYjU5OTh9Lm1lbnUtc2lkZWJhciBhIC50d2l0dGVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLnR3aXR0ZXI6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEudHdpdHRlcjpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDcgYS50d2l0dGVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLnR3aXR0ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEudHdpdHRlciwuc29jaWFsLWljb24tc3R5bGUtMTEgYS50d2l0dGVyIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojMDBhY2VkfS5tZW51LXNpZGViYXIgYSAuZ29vZ2xlLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLmdvb2dsZTpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5nb29nbGU6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEuZ29vZ2xlLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLmdvb2dsZSwuc29jaWFsLWljb24tc3R5bGUtMTAgYS5nb29nbGUsLnNvY2lhbC1pY29uLXN0eWxlLTExIGEuZ29vZ2xlIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojZGM0YTM4fS5tZW51LXNpZGViYXIgYSAuZHJpYmJibGUsLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEuZHJpYmJibGU6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEuZHJpYmJibGU6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEuZHJpYmJibGUsLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEuZHJpYmJibGUsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEuZHJpYmJibGUsLnNvY2lhbC1pY29uLXN0eWxlLTExIGEuZHJpYmJibGUgLnNvY2lhbC1mcm9udCBpe2NvbG9yOiNlYTRjODl9Lm1lbnUtc2lkZWJhciBhIC55b3V0dWJlLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLnlvdXR1YmU6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEueW91dHViZTpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDcgYS55b3V0dWJlLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLnlvdXR1YmUsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEueW91dHViZSwuc29jaWFsLWljb24tc3R5bGUtMTEgYS55b3V0dWJlIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojYjAwfS5tZW51LXNpZGViYXIgYSAubGlua2VkaW4sLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEubGlua2VkaW46aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEubGlua2VkaW46aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEubGlua2VkaW4sLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEubGlua2VkaW4sLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEubGlua2VkaW4sLnNvY2lhbC1pY29uLXN0eWxlLTExIGEubGlua2VkaW4gLnNvY2lhbC1mcm9udCBpe2NvbG9yOiMwMDc3YjV9Lm1lbnUtc2lkZWJhciBhIC5pbnN0YWdyYW0sLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEuaW5zdGFncmFtOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLmluc3RhZ3JhbTpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDcgYS5pbnN0YWdyYW0sLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEuaW5zdGFncmFtLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLmluc3RhZ3JhbSwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5pbnN0YWdyYW0gLnNvY2lhbC1mcm9udCBpe2NvbG9yOiNmZTFmNDl9Lm1lbnUtc2lkZWJhciBhIC5waW50ZXJlc3QsLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEucGludGVyZXN0OmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLnBpbnRlcmVzdDpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDcgYS5waW50ZXJlc3QsLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEucGludGVyZXN0LC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLnBpbnRlcmVzdCwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5waW50ZXJlc3QgLnNvY2lhbC1mcm9udCBpe2NvbG9yOiNjYjIwMjd9Lm1lbnUtc2lkZWJhciBhIC5mbGlja3IsLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEuZmxpY2tyOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLmZsaWNrcjpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDcgYS5mbGlja3IsLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEuZmxpY2tyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLmZsaWNrciwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5mbGlja3IgLnNvY2lhbC1mcm9udCBpe2NvbG9yOiNmZjAwODR9Lm1lbnUtc2lkZWJhciBhIC5yc3MsLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEucnNzOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLnJzczpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDcgYS5yc3MsLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEucnNzLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLnJzcywuc29jaWFsLWljb24tc3R5bGUtMTEgYS5yc3MgLnNvY2lhbC1mcm9udCBpe2NvbG9yOiNmMjg5MGF9Lm1lbnUtc2lkZWJhciBhIC5iZWhhbmNlLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLmJlaGFuY2U6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEuYmVoYW5jZTpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDcgYS5iZWhhbmNlLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLmJlaGFuY2UsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEuYmVoYW5jZSwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5iZWhhbmNlIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojMTc2OWZmfS5tZW51LXNpZGViYXIgYSAudmluZSwuc29jaWFsLWljb24tc3R5bGUtMDIgYS52aW5lOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLnZpbmU6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEudmluZSwuc29jaWFsLWljb24tc3R5bGUtMDggYS52aW5lLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLnZpbmUsLnNvY2lhbC1pY29uLXN0eWxlLTExIGEudmluZSAuc29jaWFsLWZyb250IGl7Y29sb3I6IzAwYmY4Zn0ubWVudS1zaWRlYmFyIGEgLmVtYWlsLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLmVtYWlsOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLmVtYWlsOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNyBhLmVtYWlsLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLmVtYWlsLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLmVtYWlsLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLmVtYWlsIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojN2Q3ZDdkfS5tZW51LXNpZGViYXIgYSAuc21zLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLnNtczpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5zbXM6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEuc21zLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLnNtcywuc29jaWFsLWljb24tc3R5bGUtMTAgYS5zbXMsLnNvY2lhbC1pY29uLXN0eWxlLTExIGEuc21zIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojZmZiZDAwfS5tZW51LXNpZGViYXIgYSAuc2hhcmV0aGlzLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLnNoYXJldGhpczpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5zaGFyZXRoaXM6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEuc2hhcmV0aGlzLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLnNoYXJldGhpcywuc29jaWFsLWljb24tc3R5bGUtMTAgYS5zaGFyZXRoaXMsLnNvY2lhbC1pY29uLXN0eWxlLTExIGEuc2hhcmV0aGlzIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojOTVkMDNhfS5tZW51LXNpZGViYXIgYSAucmVkZGl0LC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLnJlZGRpdDpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5yZWRkaXQ6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEucmVkZGl0LC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLnJlZGRpdCwuc29jaWFsLWljb24tc3R5bGUtMTAgYS5yZWRkaXQsLnNvY2lhbC1pY29uLXN0eWxlLTExIGEucmVkZGl0IC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojZmY0NTAwfS5tZW51LXNpZGViYXIgYSAudHVtYmxyLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLnR1bWJscjpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS50dW1ibHI6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEudHVtYmxyLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLnR1bWJsciwuc29jaWFsLWljb24tc3R5bGUtMTAgYS50dW1ibHIsLnNvY2lhbC1pY29uLXN0eWxlLTExIGEudHVtYmxyIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojMzI1MDZkfS5tZW51LXNpZGViYXIgYSAuZGlnZywuc29jaWFsLWljb24tc3R5bGUtMDIgYS5kaWdnOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLmRpZ2c6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEuZGlnZywuc29jaWFsLWljb24tc3R5bGUtMDggYS5kaWdnLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLmRpZ2csLnNvY2lhbC1pY29uLXN0eWxlLTExIGEuZGlnZyAuc29jaWFsLWZyb250IGl7Y29sb3I6IzI2MjYyNn0ubWVudS1zaWRlYmFyIGEgLnN0dW1ibGV1cG9uLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLnN0dW1ibGV1cG9uOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLnN0dW1ibGV1cG9uOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNyBhLnN0dW1ibGV1cG9uLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLnN0dW1ibGV1cG9uLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLnN0dW1ibGV1cG9uLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLnN0dW1ibGV1cG9uIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojZWI0OTI0fS5tZW51LXNpZGViYXIgYSAud2hhdHNhcHAsLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEud2hhdHNhcHA6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEud2hhdHNhcHA6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEud2hhdHNhcHAsLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEud2hhdHNhcHAsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEud2hhdHNhcHAsLnNvY2lhbC1pY29uLXN0eWxlLTExIGEud2hhdHNhcHAgLnNvY2lhbC1mcm9udCBpe2NvbG9yOiMyNWQzNjZ9Lm1lbnUtc2lkZWJhciBhIC52aywuc29jaWFsLWljb24tc3R5bGUtMDIgYS52azpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS52azpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDcgYS52aywuc29jaWFsLWljb24tc3R5bGUtMDggYS52aywuc29jaWFsLWljb24tc3R5bGUtMTAgYS52aywuc29jaWFsLWljb24tc3R5bGUtMTEgYS52ayAuc29jaWFsLWZyb250IGl7Y29sb3I6IzRjNmM5MX0ubWVudS1zaWRlYmFyIGEgLndlaWJvLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLndlaWJvOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLndlaWJvOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNyBhLndlaWJvLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLndlaWJvLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLndlaWJvLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLndlaWJvIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojZjkzfS5tZW51LXNpZGViYXIgYSAub2Rub2tsYXNzbmlraSwuc29jaWFsLWljb24tc3R5bGUtMDIgYS5vZG5va2xhc3NuaWtpOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLm9kbm9rbGFzc25pa2k6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEub2Rub2tsYXNzbmlraSwuc29jaWFsLWljb24tc3R5bGUtMDggYS5vZG5va2xhc3NuaWtpLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLm9kbm9rbGFzc25pa2ksLnNvY2lhbC1pY29uLXN0eWxlLTExIGEub2Rub2tsYXNzbmlraSAuc29jaWFsLWZyb250IGl7Y29sb3I6I2Q3NzcyZH0ubWVudS1zaWRlYmFyIGEgLnhpbmcsLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEueGluZzpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS54aW5nOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNyBhLnhpbmcsLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEueGluZywuc29jaWFsLWljb24tc3R5bGUtMTAgYS54aW5nLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLnhpbmcgLnNvY2lhbC1mcm9udCBpe2NvbG9yOiMxYTc1NzZ9Lm1lbnUtc2lkZWJhciBhIC5wcmludCwuc29jaWFsLWljb24tc3R5bGUtMDIgYS5wcmludDpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5wcmludDpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDcgYS5wcmludCwuc29jaWFsLWljb24tc3R5bGUtMDggYS5wcmludCwuc29jaWFsLWljb24tc3R5bGUtMTAgYS5wcmludCwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5wcmludCAuc29jaWFsLWZyb250IGl7Y29sb3I6IzIyMn0ubWVudS1zaWRlYmFyIGEgLmJsb2dnZXIsLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEuYmxvZ2dlcjpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5ibG9nZ2VyOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNyBhLmJsb2dnZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEuYmxvZ2dlciwuc29jaWFsLWljb24tc3R5bGUtMTAgYS5ibG9nZ2VyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLmJsb2dnZXIgLnNvY2lhbC1mcm9udCBpe2NvbG9yOiNmZjgwMDB9Lm1lbnUtc2lkZWJhciBhIC5mbGlwYm9hcmQsLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEuZmxpcGJvYXJkOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLmZsaXBib2FyZDpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDcgYS5mbGlwYm9hcmQsLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEuZmxpcGJvYXJkLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLmZsaXBib2FyZCwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5mbGlwYm9hcmQgLnNvY2lhbC1mcm9udCBpe2NvbG9yOiNlMTI4Mjh9Lm1lbnUtc2lkZWJhciBhIC5tZW5lYW1lLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLm1lbmVhbWU6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEubWVuZWFtZTpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDcgYS5tZW5lYW1lLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLm1lbmVhbWUsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEubWVuZWFtZSwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5tZW5lYW1lIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojZmY2NDAwfS5tZW51LXNpZGViYXIgYSAubWFpbHJ1LC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLm1haWxydTpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5tYWlscnU6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEubWFpbHJ1LC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLm1haWxydSwuc29jaWFsLWljb24tc3R5bGUtMTAgYS5tYWlscnUsLnNvY2lhbC1pY29uLXN0eWxlLTExIGEubWFpbHJ1IC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojMTY4ZGUyfS5tZW51LXNpZGViYXIgYSAuZGVsaWNpb3VzLC5zb2NpYWwtaWNvbi1zdHlsZS0wMiBhLmRlbGljaW91czpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5kZWxpY2lvdXM6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEuZGVsaWNpb3VzLC5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhLmRlbGljaW91cywuc29jaWFsLWljb24tc3R5bGUtMTAgYS5kZWxpY2lvdXMsLnNvY2lhbC1pY29uLXN0eWxlLTExIGEuZGVsaWNpb3VzIC5zb2NpYWwtZnJvbnQgaXtjb2xvcjojMjA1Y2MwfS5tZW51LXNpZGViYXIgYSAubGl2ZWpvdXJuYWwsLnNvY2lhbC1pY29uLXN0eWxlLTAyIGEubGl2ZWpvdXJuYWw6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEubGl2ZWpvdXJuYWw6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA3IGEubGl2ZWpvdXJuYWwsLnNvY2lhbC1pY29uLXN0eWxlLTA4IGEubGl2ZWpvdXJuYWwsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEubGl2ZWpvdXJuYWwsLnNvY2lhbC1pY29uLXN0eWxlLTExIGEubGl2ZWpvdXJuYWwgLnNvY2lhbC1mcm9udCBpe2NvbG9yOiMwMGIwZWF9LnNvY2lhbC1pY29uLXN0eWxlLTAzIGF7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7dHJhbnNpdGlvbjphbGwgLjRzOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjRzOy1tb3otdHJhbnNpdGlvbjphbGwgLjRzOy1tcy10cmFuc2l0aW9uOmFsbCAuNHM7LW8tdHJhbnNpdGlvbjphbGwgLjRzO2NvbG9yOiNmZmZ9LnNvY2lhbC1pY29uLXN0eWxlLTAzIGE6aG92ZXJ7Ym9yZGVyLXJhZGl1czoxMDAlOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC45KTstbW96LXRyYW5zZm9ybTpzY2FsZSguOSk7LW1zLXRyYW5zZm9ybTpzY2FsZSguOSk7LW8tdHJhbnNmb3JtOnNjYWxlKC45KTt0cmFuc2Zvcm06c2NhbGUoLjkpfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmZhY2Vib29rLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLmZhY2Vib29rLC5zb2NpYWwtaWNvbi1zdHlsZS0wNSBhLmZhY2Vib29rIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuZmFjZWJvb2s6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEuZmFjZWJvb2sgc3Bhbiwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5mYWNlYm9vayAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojM2I1OTk4fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnR3aXR0ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEudHdpdHRlciwuc29jaWFsLWljb24tc3R5bGUtMDUgYS50d2l0dGVyIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEudHdpdHRlcjpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMTAgYS50d2l0dGVyIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTExIGEudHdpdHRlciAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMDBhY2VkfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmdvb2dsZSwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5nb29nbGUsLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEuZ29vZ2xlIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuZ29vZ2xlOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLmdvb2dsZSBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLmdvb2dsZSAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZGM0YTM4fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmRyaWJiYmxlLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLmRyaWJiYmxlLC5zb2NpYWwtaWNvbi1zdHlsZS0wNSBhLmRyaWJiYmxlIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuZHJpYmJibGU6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEuZHJpYmJibGUgc3Bhbiwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5kcmliYmJsZSAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZWE0Yzg5fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnlvdXR1YmUsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEueW91dHViZSwuc29jaWFsLWljb24tc3R5bGUtMDUgYS55b3V0dWJlIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEueW91dHViZTpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMTAgYS55b3V0dWJlIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTExIGEueW91dHViZSAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojYjAwfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmxpbmtlZGluLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLmxpbmtlZGluLC5zb2NpYWwtaWNvbi1zdHlsZS0wNSBhLmxpbmtlZGluIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEubGlua2VkaW46aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEubGlua2VkaW4gc3Bhbiwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5saW5rZWRpbiAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMDA3YmI2fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmluc3RhZ3JhbSwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5pbnN0YWdyYW0sLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEuaW5zdGFncmFtIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuaW5zdGFncmFtOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLmluc3RhZ3JhbSBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLmluc3RhZ3JhbSAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZmUxZjQ5fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnBpbnRlcmVzdCwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5waW50ZXJlc3QsLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEucGludGVyZXN0IHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEucGludGVyZXN0OmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLnBpbnRlcmVzdCBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLnBpbnRlcmVzdCAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojY2IyMDI3fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmZsaWNrciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5mbGlja3IsLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEuZmxpY2tyIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuZmxpY2tyOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLmZsaWNrciBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLmZsaWNrciAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZmYwMDg0fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnJzcywuc29jaWFsLWljb24tc3R5bGUtMDQgYS5yc3MsLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEucnNzIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEucnNzOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLnJzcyBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLnJzcyAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZjI4OTBhfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmJlaGFuY2UsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEuYmVoYW5jZSwuc29jaWFsLWljb24tc3R5bGUtMDUgYS5iZWhhbmNlIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuYmVoYW5jZTpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMTAgYS5iZWhhbmNlIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTExIGEuYmVoYW5jZSAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMTc2OWZmfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnZpbmUsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEudmluZSwuc29jaWFsLWljb24tc3R5bGUtMDUgYS52aW5lIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEudmluZTpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMTAgYS52aW5lIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTExIGEudmluZSAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMDBiZjhmfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmVtYWlsLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLmVtYWlsLC5zb2NpYWwtaWNvbi1zdHlsZS0wNSBhLmVtYWlsIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuZW1haWw6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEuZW1haWwgc3Bhbiwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5lbWFpbCAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojN2Q3ZDdkfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnNtcywuc29jaWFsLWljb24tc3R5bGUtMDQgYS5zbXMsLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEuc21zIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuc21zOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLnNtcyBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLnNtcyAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZmZiZDAwfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnNoYXJldGhpcywuc29jaWFsLWljb24tc3R5bGUtMDQgYS5zaGFyZXRoaXMsLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEuc2hhcmV0aGlzIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuc2hhcmV0aGlzOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLnNoYXJldGhpcyBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLnNoYXJldGhpcyAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojOTVkMDNhfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnJlZGRpdCwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5yZWRkaXQsLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEucmVkZGl0IHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEucmVkZGl0OmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLnJlZGRpdCBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLnJlZGRpdCAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZmY0NTAwfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnR1bWJsciwuc29jaWFsLWljb24tc3R5bGUtMDQgYS50dW1ibHIsLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEudHVtYmxyIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEudHVtYmxyOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLnR1bWJsciBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLnR1bWJsciAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMzI1MDZkfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmRpZ2csLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEuZGlnZywuc29jaWFsLWljb24tc3R5bGUtMDUgYS5kaWdnIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuZGlnZzpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMTAgYS5kaWdnIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTExIGEuZGlnZyAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMjYyNjI2fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnN0dW1ibGV1cG9uLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLnN0dW1ibGV1cG9uLC5zb2NpYWwtaWNvbi1zdHlsZS0wNSBhLnN0dW1ibGV1cG9uIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuc3R1bWJsZXVwb246aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEuc3R1bWJsZXVwb24gc3Bhbiwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5zdHVtYmxldXBvbiAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZWI0OTI0fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLndoYXRzYXBwLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLndoYXRzYXBwLC5zb2NpYWwtaWNvbi1zdHlsZS0wNSBhLndoYXRzYXBwIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEud2hhdHNhcHA6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEud2hhdHNhcHAgc3Bhbiwuc29jaWFsLWljb24tc3R5bGUtMTEgYS53aGF0c2FwcCAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMjVkMzY2fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnZrLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLnZrLC5zb2NpYWwtaWNvbi1zdHlsZS0wNSBhLnZrIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEudms6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEudmsgc3Bhbiwuc29jaWFsLWljb24tc3R5bGUtMTEgYS52ayAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojNGM2YzkxfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLndlaWJvLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLndlaWJvLC5zb2NpYWwtaWNvbi1zdHlsZS0wNSBhLndlaWJvIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEud2VpYm86aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEud2VpYm8gc3Bhbiwuc29jaWFsLWljb24tc3R5bGUtMTEgYS53ZWlibyAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZjkzfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLm9kbm9rbGFzc25pa2ksLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEub2Rub2tsYXNzbmlraSwuc29jaWFsLWljb24tc3R5bGUtMDUgYS5vZG5va2xhc3NuaWtpIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEub2Rub2tsYXNzbmlraTpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMTAgYS5vZG5va2xhc3NuaWtpIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTExIGEub2Rub2tsYXNzbmlraSAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZDc3NzJkfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnhpbmcsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEueGluZywuc29jaWFsLWljb24tc3R5bGUtMDUgYS54aW5nIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEueGluZzpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMTAgYS54aW5nIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTExIGEueGluZyAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMWE3NTc2fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLnByaW50LC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLnByaW50LC5zb2NpYWwtaWNvbi1zdHlsZS0wNSBhLnByaW50IHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEucHJpbnQ6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEucHJpbnQgc3Bhbiwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5wcmludCAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMjIyfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmJsb2dnZXIsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEuYmxvZ2dlciwuc29jaWFsLWljb24tc3R5bGUtMDUgYS5ibG9nZ2VyIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuYmxvZ2dlcjpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMTAgYS5ibG9nZ2VyIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTExIGEuYmxvZ2dlciAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZmY4MDAwfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmZsaXBib2FyZCwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5mbGlwYm9hcmQsLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEuZmxpcGJvYXJkIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuZmxpcGJvYXJkOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLmZsaXBib2FyZCBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLmZsaXBib2FyZCAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZTEyODI4fS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLm1lbmVhbWUsLnNvY2lhbC1pY29uLXN0eWxlLTA0IGEubWVuZWFtZSwuc29jaWFsLWljb24tc3R5bGUtMDUgYS5tZW5lYW1lIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEubWVuZWFtZTpob3Zlciwuc29jaWFsLWljb24tc3R5bGUtMTAgYS5tZW5lYW1lIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTExIGEubWVuZWFtZSAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojZmY2NDAwfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLm1haWxydSwuc29jaWFsLWljb24tc3R5bGUtMDQgYS5tYWlscnUsLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEubWFpbHJ1IHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEubWFpbHJ1OmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLm1haWxydSBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLm1haWxydSAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMTY4ZGUyfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmRlbGljaW91cywuc29jaWFsLWljb24tc3R5bGUtMDQgYS5kZWxpY2lvdXMsLnNvY2lhbC1pY29uLXN0eWxlLTA1IGEuZGVsaWNpb3VzIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuZGVsaWNpb3VzOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhLmRlbGljaW91cyBzcGFuLC5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLmRlbGljaW91cyAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMjA1Y2MwfS5zb2NpYWwtaWNvbi1zdHlsZS0wMyBhLmxpdmVqb3VybmFsLC5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhLmxpdmVqb3VybmFsLC5zb2NpYWwtaWNvbi1zdHlsZS0wNSBhLmxpdmVqb3VybmFsIHNwYW4sLnNvY2lhbC1pY29uLXN0eWxlLTA5IGEubGl2ZWpvdXJuYWw6aG92ZXIsLnNvY2lhbC1pY29uLXN0eWxlLTEwIGEubGl2ZWpvdXJuYWwgc3Bhbiwuc29jaWFsLWljb24tc3R5bGUtMTEgYS5saXZlam91cm5hbCAuc29jaWFsLWJhY2t7YmFja2dyb3VuZC1jb2xvcjojMDBiMGVhfS5zb2NpYWwtaWNvbi1zdHlsZS0wNCBhe3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RyYW5zaXRpb246YWxsIC40czstd2Via2l0LXRyYW5zaXRpb246YWxsIC40czstbW96LXRyYW5zaXRpb246YWxsIC40czstbXMtdHJhbnNpdGlvbjphbGwgLjRzOy1vLXRyYW5zaXRpb246YWxsIC40cztib3JkZXItcmFkaXVzOjEwMCU7Y29sb3I6I2ZmZn0uc29jaWFsLWljb24tc3R5bGUtMDQgYTpob3ZlcntiYWNrZ3JvdW5kOiNmZmY7Ym94LXNoYWRvdzowIDAgMzBweCByZ2JhKDIzLDIzLDIzLC4yNSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtM3B4LDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zcHgsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zcHgsMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtM3B4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC0zcHgsMCl9LnNvY2lhbC1pY29uLXN0eWxlLTA1IGF7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2NvbG9yOiMyMzIzMjM7dGV4dC1hbGlnbjpjZW50ZXI7ei1pbmRleDoxfS5zb2NpYWwtaWNvbi1zdHlsZS0wNSBhOmhvdmVye2NvbG9yOiNmZmZ9LnNvY2lhbC1pY29uLXN0eWxlLTA1IGEgc3Bhbntib3JkZXItcmFkaXVzOjA7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtsZWZ0OjUwJTttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3RyYW5zaXRpb246YWxsIC4zczstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zczstbW96LXRyYW5zaXRpb246YWxsIC4zczstbXMtdHJhbnNpdGlvbjphbGwgLjNzOy1vLXRyYW5zaXRpb246YWxsIC4zczt3aWR0aDowO3otaW5kZXg6LTF9LnNvY2lhbC1pY29uLXN0eWxlLTA1IGE6aG92ZXIgc3Bhbnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6MTAwJTt0b3A6MDtsZWZ0OjB9LnNvY2lhbC1pY29uLXN0eWxlLTA2IGF7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y29sb3I6IzIzMjMyM30uc29jaWFsLWljb24tc3R5bGUtMDYgYTpob3Zlcntjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDM4ZTN9LnNvY2lhbC1pY29uLXN0eWxlLTA3e3Bvc2l0aW9uOnJlbGF0aXZlfS5zb2NpYWwtaWNvbi1zdHlsZS0wNyBhe3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9ja30uc29jaWFsLWljb24tc3R5bGUtMDcgYTpob3Zlcntjb2xvcjojZmZmfS5zb2NpYWwtaWNvbi1zdHlsZS0wNyAuZGFyayBhOmhvdmVyLC5zb2NpYWwtaWNvbi1zdHlsZS0wNy5kYXJrIGE6aG92ZXJ7Y29sb3I6IzAwMH0uc29jaWFsLWljb24tc3R5bGUtMDggYXtjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDphdXRvO3dpZHRoOmF1dG87cGFkZGluZzowIDI0cHg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhIC5icmFuZC1pY29ue3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7bGVmdDowO3RvcDoxMDAlO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5zb2NpYWwtaWNvbi1zdHlsZS0wOCBhOmhvdmVyIC5icmFuZC1pY29ue3RvcDowOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LnNvY2lhbC1pY29uLXN0eWxlLTA4IGE+c3BhbntsaW5lLWhlaWdodDppbmhlcml0O2ZvbnQtd2VpZ2h0OjUwMDt0b3A6MDtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb246MzUwbXMgY3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMS4yNzUpIGFsbDstbW96LXRyYW5zaXRpb246MzUwbXMgY3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMS4yNzUpIGFsbDstbXMtdHJhbnNpdGlvbjozNTBtcyBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjI3NSkgYWxsOy1vLXRyYW5zaXRpb246MzUwbXMgY3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMS4yNzUpIGFsbDt0cmFuc2l0aW9uOjM1MG1zIGN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMjc1KSBhbGx9LnNvY2lhbC1pY29uLXN0eWxlLTA4IGE6aG92ZXI+c3Bhbi5icmFuZC1sYWJlbHt0b3A6LTUwcHg7LXdlYmtpdC10cmFuc2l0aW9uOjM1MG1zIGN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMjc1KSBhbGw7LW1vei10cmFuc2l0aW9uOjM1MG1zIGN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMjc1KSBhbGw7LW1zLXRyYW5zaXRpb246MzUwbXMgY3ViaWMtYmV6aWVyKC4xNzUsLjg4NSwuMzIsMS4yNzUpIGFsbDstby10cmFuc2l0aW9uOjM1MG1zIGN1YmljLWJlemllciguMTc1LC44ODUsLjMyLDEuMjc1KSBhbGw7dHJhbnNpdGlvbjozNTBtcyBjdWJpYy1iZXppZXIoLjE3NSwuODg1LC4zMiwxLjI3NSkgYWxsfS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhe3RleHQtYWxpZ246Y2VudGVyO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1yYWRpdXM6MTAwJTtjb2xvcjojMjMyMzIzO3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyfS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhOmhvdmVye2NvbG9yOiNmZmZ9LnNvY2lhbC1pY29uLXN0eWxlLTA5IGE6YWZ0ZXJ7Y29udGVudDonJztkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC44KTstbW96LXRyYW5zZm9ybTpzY2FsZSguOCk7LW1zLXRyYW5zZm9ybTpzY2FsZSguOCk7LW8tdHJhbnNmb3JtOnNjYWxlKC44KTt0cmFuc2Zvcm06c2NhbGUoLjgpO2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLXJhZGl1czoxMDAlO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhOmhvdmVyOmFmdGVye29wYWNpdHk6LjQ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxLjMpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4zKTstby10cmFuc2Zvcm06c2NhbGUoMS4zKTt0cmFuc2Zvcm06c2NhbGUoMS4zKX0uc29jaWFsLWljb24tc3R5bGUtMDkgYS5mYWNlYm9vazphZnRlcntib3JkZXItY29sb3I6IzNiNTk5ODtjb2xvcjojM2I1OTk4fS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhLnR3aXR0ZXI6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiMwMGFjZWQ7Y29sb3I6IzAwYWNlZH0uc29jaWFsLWljb24tc3R5bGUtMDkgYS5nb29nbGU6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiNkYzRhMzg7Y29sb3I6I2RjNGEzOH0uc29jaWFsLWljb24tc3R5bGUtMDkgYS5kcmliYmJsZTphZnRlcntib3JkZXItY29sb3I6I2VhNGM4OTtjb2xvcjojZWE0Yzg5fS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhLnlvdXR1YmU6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiNiMDA7Y29sb3I6I2IwMH0uc29jaWFsLWljb24tc3R5bGUtMDkgYS5saW5rZWRpbjphZnRlcntib3JkZXItY29sb3I6IzAwNzdiNTtjb2xvcjojMDA3N2I1fS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhLmluc3RhZ3JhbTphZnRlcntib3JkZXItY29sb3I6I2ZlMWY0OTtjb2xvcjojZmUxZjQ5fS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhLnBpbnRlcmVzdDphZnRlcntib3JkZXItY29sb3I6I2NiMjAyNztjb2xvcjojY2IyMDI3fS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhLmZsaWNrcjphZnRlcntib3JkZXItY29sb3I6I2ZmMDA4NDtjb2xvcjojZmYwMDg0fS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhLnJzczphZnRlcntib3JkZXItY29sb3I6I2YyODkwYTtjb2xvcjojZjI4OTBhfS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhLmJlaGFuY2U6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiMxNzY5ZmY7Y29sb3I6IzE3NjlmZn0uc29jaWFsLWljb24tc3R5bGUtMDkgYS52aW5lOmFmdGVye2JvcmRlci1jb2xvcjojMDBiZjhmO2NvbG9yOiMwMGJmOGZ9LnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuZW1haWw6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiM3ZDdkN2Q7Y29sb3I6IzdkN2Q3ZH0uc29jaWFsLWljb24tc3R5bGUtMDkgYS5zbXM6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiNmZmJkMDA7Y29sb3I6I2ZmYmQwMH0uc29jaWFsLWljb24tc3R5bGUtMDkgYS5zaGFyZXRoaXM6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiM5NWQwM2E7Y29sb3I6Izk1ZDAzYX0uc29jaWFsLWljb24tc3R5bGUtMDkgYS5yZWRkaXQ6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiNmZjQ1MDA7Y29sb3I6I2ZmNDUwMH0uc29jaWFsLWljb24tc3R5bGUtMDkgYS50dW1ibHI6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiMzMjUwNmQ7Y29sb3I6IzMyNTA2ZH0uc29jaWFsLWljb24tc3R5bGUtMDkgYS5kaWdnOmFmdGVye2JvcmRlci1jb2xvcjojMjYyNjI2O2NvbG9yOiMyNjI2MjZ9LnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuc3R1bWJsZXVwb246YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiNlYjQ5MjQ7Y29sb3I6I2ViNDkyNH0uc29jaWFsLWljb24tc3R5bGUtMDkgYS53aGF0c2FwcDphZnRlcntib3JkZXItY29sb3I6IzI1ZDM2Njtjb2xvcjojMjVkMzY2fS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhLnZrOmFmdGVye2JvcmRlci1jb2xvcjojNGM2YzkxO2NvbG9yOiM0YzZjOTF9LnNvY2lhbC1pY29uLXN0eWxlLTA5IGEud2VpYm86YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiNmOTM7Y29sb3I6I2Y5M30uc29jaWFsLWljb24tc3R5bGUtMDkgYS5vZG5va2xhc3NuaWtpOmFmdGVye2JvcmRlci1jb2xvcjojZDc3NzJkO2NvbG9yOiNkNzc3MmR9LnNvY2lhbC1pY29uLXN0eWxlLTA5IGEueGluZzphZnRlcntib3JkZXItY29sb3I6IzFhNzU3Njtjb2xvcjojMWE3NTc2fS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhLnByaW50OmFmdGVye2JvcmRlci1jb2xvcjojMjIyO2NvbG9yOiMyMjJ9LnNvY2lhbC1pY29uLXN0eWxlLTA5IGEuYmxvZ2dlcjphZnRlcntib3JkZXItY29sb3I6I2ZmODAwMDtjb2xvcjojZmY4MDAwfS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhLmZsaXBib2FyZDphZnRlcntib3JkZXItY29sb3I6I2UxMjgyODtjb2xvcjojZTEyODI4fS5zb2NpYWwtaWNvbi1zdHlsZS0wOSBhLm1lbmVhbWU6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiNmZjY0MDA7Y29sb3I6I2ZmNjQwMH0uc29jaWFsLWljb24tc3R5bGUtMDkgYS5tYWlscnU6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiMxNjhkZTI7Y29sb3I6IzE2OGRlMn0uc29jaWFsLWljb24tc3R5bGUtMDkgYS5kZWxpY2lvdXM6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOiMyMDVjYzA7Y29sb3I6IzIwNWNjMH0uc29jaWFsLWljb24tc3R5bGUtMDkgYS5saXZlam91cm5hbDphZnRlcntib3JkZXItY29sb3I6IzAwYjBlYTtjb2xvcjojMDBiMGVhfS5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MztvdmVyZmxvdzpoaWRkZW47dGV4dC1hbGlnbjpjZW50ZXJ9LnNvY2lhbC1pY29uLXN0eWxlLTEwIGE+c3Bhbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTEwMCU7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7ei1pbmRleDotMTstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS5zb2NpYWwtaWNvbi1zdHlsZS0xMCBhOmhvdmVyPnNwYW57dG9wOjA7ei1pbmRleDotMX0uc29jaWFsLWljb24tc3R5bGUtMTAgYTpob3Zlcntjb2xvcjojZmZmfS5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtoZWlnaHQ6MTYwcHg7d2lkdGg6MTYwcHg7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luOjAgMTVweH0uc29jaWFsLWljb24tc3R5bGUtMTEgYSAuc29jaWFsLWJhY2ssLnNvY2lhbC1pY29uLXN0eWxlLTExIGEgLnNvY2lhbC1mcm9udHtoZWlnaHQ6MTQwcHg7d2lkdGg6MTQwcHg7cGFkZGluZzozMHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDozMHB4O2xlZnQ6MzBweH0uc29jaWFsLWljb24tc3R5bGUtMTEgYSAuc29jaWFsLWZyb250IGl7ZGlzcGxheTpibG9jazttYXJnaW46MCAwIDIwcHggMDtmb250LXNpemU6MjhweH0uc29jaWFsLWljb24tc3R5bGUtMTEgYSAuc29jaWFsLWZyb250IC5zb2NpYWwtY291bnR7ZGlzcGxheTpibG9ja30uc29jaWFsLWljb24tc3R5bGUtMTEgYSAuc29jaWFsLWZyb250e2JhY2tncm91bmQtY29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtYm94LXNoYWRvdzowIDAgMzVweCByZ2JhKDIzLDIzLDIzLC4wNik7LW1vei1ib3gtc2hhZG93OjAgMCAzNXB4IHJnYmEoMjMsMjMsMjMsLjA2KTtib3gtc2hhZG93OjAgMCAzNXB4IHJnYmEoMjMsMjMsMjMsLjA2KTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnNvY2lhbC1pY29uLXN0eWxlLTExIGEgLnNvY2lhbC1iYWNre2JhY2tncm91bmQtY29sb3I6I2RkZDtwb3NpdGlvbjpyZWxhdGl2ZX0uc29jaWFsLWljb24tc3R5bGUtMTEgYSAuc29jaWFsLWJhY2sgc3Bhbntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206M3B4O3JpZ2h0OjMwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiNmZmY7Zm9udC1zaXplOjExcHh9LnNvY2lhbC1pY29uLXN0eWxlLTExIGEubW92ZS11cCAuc29jaWFsLWJhY2sgc3Bhbiwuc29jaWFsLWljb24tc3R5bGUtMTEuc21hbGwtYm94IGEubW92ZS11cCAuc29jaWFsLWJhY2sgc3Bhbnt3aWR0aDoxMDAlO3JpZ2h0OjA7dGV4dC1hbGlnbjpjZW50ZXJ9LnNvY2lhbC1pY29uLXN0eWxlLTExIGEubW92ZS1yaWdodCAuc29jaWFsLWJhY2sgc3BhbntsZWZ0OjMwcHg7cmlnaHQ6YXV0b30uc29jaWFsLWljb24tc3R5bGUtMTEuc21hbGwtYm94IGF7aGVpZ2h0OjEwMHB4O3dpZHRoOjEwMHB4fS5zb2NpYWwtaWNvbi1zdHlsZS0xMS5zbWFsbC1ib3ggYSAuc29jaWFsLWJhY2ssLnNvY2lhbC1pY29uLXN0eWxlLTExLnNtYWxsLWJveCBhIC5zb2NpYWwtZnJvbnR7aGVpZ2h0Ojg1cHg7d2lkdGg6ODVweH0uc29jaWFsLWljb24tc3R5bGUtMTEuc21hbGwtYm94IGEgLnNvY2lhbC1mcm9udCBpe21hcmdpbjo2cHggMDtmb250LXNpemU6MjJweH0uc29jaWFsLWljb24tc3R5bGUtMTEuc21hbGwtYm94IGEgLnNvY2lhbC1iYWNrLC5zb2NpYWwtaWNvbi1zdHlsZS0xMS5zbWFsbC1ib3ggYSAuc29jaWFsLWZyb250e3BhZGRpbmc6MTVweDt0b3A6MThweDtsZWZ0OjE4cHh9LnNvY2lhbC1pY29uLXN0eWxlLTExLnNtYWxsLWJveCBhIC5zb2NpYWwtYmFjayBzcGFue2JvdHRvbToycHg7cmlnaHQ6NXB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LXNpemU6MTBweH0uc29jaWFsLWljb24tc3R5bGUtMTEuc21hbGwtYm94IGEubW92ZS1yaWdodCAuc29jaWFsLWJhY2sgc3BhbntsZWZ0OjE4cHg7cmlnaHQ6YXV0b30uc29jaWFsLWljb24tc3R5bGUtMTEgYTpob3ZlciAuc29jaWFsLWZyb250e3RvcDowO2xlZnQ6MDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLm1vdmUtdXA6aG92ZXIgLnNvY2lhbC1mcm9udHt0b3A6MDtsZWZ0OjMwcHg7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uc29jaWFsLWljb24tc3R5bGUtMTEuc21hbGwtYm94IGEubW92ZS11cDpob3ZlciAuc29jaWFsLWZyb250e3RvcDowO2xlZnQ6MThweDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5zb2NpYWwtaWNvbi1zdHlsZS0xMSBhLm1vdmUtcmlnaHQ6aG92ZXIgLnNvY2lhbC1mcm9udHt0b3A6MDtsZWZ0OjYwcHg7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uc29jaWFsLWljb24tc3R5bGUtMTIgbGkgYXtjb2xvcjojMjMyMzIzO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zb2NpYWwtaWNvbi1zdHlsZS0xMiAubGlnaHQgbGkgYXtjb2xvcjojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zb2NpYWwtaWNvbi1zdHlsZS0xMiBsaSBhOmhvdmVye29wYWNpdHk6LjV9Lmljb24tYm94IGl7bWFyZ2luOjI1cHh9Lmljb24tYm94LWNpcmNsZWR7Ym9yZGVyLXJhZGl1czo1MCV9Lmljb24tYm94LWxhcmdle3dpZHRoOjEwMHB4O2hlaWdodDoxMDBweDtsaW5lLWhlaWdodDo5OHB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZTo0MHB4O3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uaWNvbi1ib3gtbWVkaXVte3dpZHRoOjgwcHg7aGVpZ2h0OjgwcHg7bGluZS1oZWlnaHQ6ODBweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MzBweDt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9Lmljb24tYm94LXNtYWxse3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bGluZS1oZWlnaHQ6NjBweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MjJweH0uaWNvbi1ib3gtZXh0cmEtc21hbGx7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtsaW5lLWhlaWdodDo0MHB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxNXB4fS5pY29uLWJveC12ZXJ5LXNtYWxse3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MjhweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MThweH0ubWZwLWJne2JhY2tncm91bmQ6IzIzMjMyMztvcGFjaXR5Oi45fS5tZnAtYmcsLm1mcC13cmFwe3otaW5kZXg6MTAwMDd9I3BvcHVwLWZvcm17Y3Vyc29yOmRlZmF1bHR9Lm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2UsLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZXtjb2xvcjojZmZmO2JhY2tncm91bmQ6MCAwfS5tZnAtY2xvc2UsLm1mcC1jbG9zZTphY3RpdmV7b3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7cmlnaHQ6MzBweDt0b3A6MzBweH0ubW9kYWwtcG9wdXAtbWFpbiAubWZwLWNsb3NlLC5tb2RhbC1wb3B1cC1tYWluIC5tZnAtY2xvc2U6YWN0aXZle3JpZ2h0OjA7dG9wOjB9Lm1mcC1jbG9zZS1idG4taW4gLm1vZGFsLXBvcHVwLW1haW4gLm1mcC1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZX0ubWZwLXJlbW92aW5nIC5tZnAtY2xvc2V7ZGlzcGxheTpub25lfS5zdWJzY3JpYmUtcG9wdXAgLm1vZGFsLXBvcHVwLW1haW4gLm1mcC1jbG9zZSwuc3Vic2NyaWJlLXBvcHVwIC5tb2RhbC1wb3B1cC1tYWluIC5tZnAtY2xvc2U6YWN0aXZle3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiNmZmZ9LmxpZ2h0Ym94LWdhbGxlcnkgYXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrfS5saWdodGJveC1nYWxsZXJ5IC5nYWxsYXJ5LW92ZXItbGF5ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS5tZnAtYXJyb3ctbGVmdDphZnRlciwubWZwLWFycm93LXJpZ2h0OmFmdGVye2Rpc3BsYXk6bm9uZX0ubWZwLWFycm93LXJpZ2h0OmJlZm9yZXtib3JkZXItbGVmdDpub25lO2NvbnRlbnQ6IlxlNjI4Ijtmb250LXNpemU6MThweDtmb250LWZhbWlseTp0aGVtaWZ5O2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6NjBweDtiYWNrZ3JvdW5kOiMyMzIzMjM7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjEwMCU7Ym9yZGVyOm5vbmV9Lm1mcC1hcnJvdy1sZWZ0OmJlZm9yZXtib3JkZXItcmlnaHQ6bm9uZTtjb250ZW50OiJcZTYyOSI7Zm9udC1zaXplOjE4cHg7Zm9udC1mYW1pbHk6dGhlbWlmeTtjb2xvcjojZmZmO2xpbmUtaGVpZ2h0OjYwcHg7YmFja2dyb3VuZDojMjMyMzIzO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czoxMDAlO2JvcmRlcjpub25lfS5tZnAtYm90dG9tLWJhcnttYXJnaW4tdG9wOi0yNHB4O2ZvbnQtc2l6ZToxMnB4fS5tZnAtY2xvc2V7Zm9udC1zaXplOjMwcHg7Zm9udC1mYW1pbHk6UG9wcGlucyxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjMwMH0ubWZwLWZpZ3VyZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJbjstbW96LWFuaW1hdGlvbi1uYW1lOmZhZGVJbjstby1hbmltYXRpb24tbmFtZTpmYWRlSW47LW1zLWFuaW1hdGlvbi1uYW1lOmZhZGVJbjthbmltYXRpb24tbmFtZTpmYWRlSW47LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjRzOy1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOi40czstbXMtYW5pbWF0aW9uLWR1cmF0aW9uOi40czstby1hbmltYXRpb24tZHVyYXRpb246LjRzO2FuaW1hdGlvbi1kdXJhdGlvbjouNHM7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmJvdGg7LW1vei1hbmltYXRpb24tZmlsbC1tb2RlOmJvdGg7LW1zLWFuaW1hdGlvbi1maWxsLW1vZGU6Ym90aDstby1hbmltYXRpb24tZmlsbC1tb2RlOmJvdGg7YW5pbWF0aW9uLWZpbGwtbW9kZTpib3RoO3dlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ubWZwLWFqYXgtaG9sZGVye3dpZHRoOjcwJTtoZWlnaHQ6Y2FsYygxMDAlIC0gMTAwcHgpO21hcmdpbjowIGF1dG87cG9zaXRpb246cmVsYXRpdmU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS5tZnAtaWZyYW1lLWhvbGRlciBidXR0b24ubWZwLWNsb3NlLC5tZnAtaW1hZ2UtaG9sZGVyIGJ1dHRvbi5tZnAtY2xvc2UsYnV0dG9uLm1mcC1jbG9zZXtwb3NpdGlvbjpmaXhlZDt0b3A6MzBweDtyaWdodDozMHB4fS5teS1tZnAtem9vbS1pbiAuem9vbS1hbmltLWRpYWxvZ3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC44KTstbW96LXRyYW5zZm9ybTpzY2FsZSguOCk7LW1zLXRyYW5zZm9ybTpzY2FsZSguOCk7LW8tdHJhbnNmb3JtOnNjYWxlKC44KTt0cmFuc2Zvcm06c2NhbGUoLjgpfS5teS1tZnAtem9vbS1pbi5tZnAtcmVhZHkgLnpvb20tYW5pbS1kaWFsb2d7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0ubXktbWZwLXpvb20taW4ubWZwLXJlbW92aW5nIC56b29tLWFuaW0tZGlhbG9ney13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC44KTstbW96LXRyYW5zZm9ybTpzY2FsZSguOCk7LW1zLXRyYW5zZm9ybTpzY2FsZSguOCk7LW8tdHJhbnNmb3JtOnNjYWxlKC44KTt0cmFuc2Zvcm06c2NhbGUoLjgpO29wYWNpdHk6MH0ubXktbWZwLXpvb20taW4ubWZwLWJne29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZS1vdXQ7LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2Utb3V0Oy1vLXRyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZS1vdXQ7LW1zLXRyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlLW91dH0ubXktbWZwLXpvb20taW4ubWZwLXJlYWR5Lm1mcC1iZ3tvcGFjaXR5Oi45M30ubXktbWZwLXpvb20taW4ubWZwLXJlbW92aW5nLm1mcC1iZ3tvcGFjaXR5OjB9Lm15LW1mcC1zbGlkZS1ib3R0b20gLnpvb20tYW5pbS1kaWFsb2d7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2Utb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2Utb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLW91dDt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1vdXQ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjBweCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMTBkZWcpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjBweCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMTBkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjBweCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMTBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyl9Lm15LW1mcC1zbGlkZS1ib3R0b20ubWZwLXJlYWR5IC56b29tLWFuaW0tZGlhbG9ne29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDApfS5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1yZW1vdmluZyAuem9vbS1hbmltLWRpYWxvZ3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMTBkZWcpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMTBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyl9Lm15LW1mcC1zbGlkZS1ib3R0b20ubWZwLWJne29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZS1vdXQ7LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgLjNzIGVhc2Utb3V0Oy1vLXRyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZS1vdXQ7LW1zLXRyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyBlYXNlLW91dH0ubXktbWZwLXNsaWRlLWJvdHRvbS5tZnAtcmVhZHkubWZwLWJne29wYWNpdHk6LjkzfS5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1yZW1vdmluZy5tZnAtYmd7b3BhY2l0eTowfS5tZnAtZmFkZS5tZnAtYmd7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2Utb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2Utb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2Utb3V0O3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLW91dH0ubWZwLWZhZGUubWZwLWJnLm1mcC1yZWFkeXtvcGFjaXR5Oi45M30ubWZwLWZhZGUubWZwLWJnLm1mcC1yZW1vdmluZ3tvcGFjaXR5OjB9Lm1mcC1mYWRlLm1mcC13cmFwIC5tZnAtY29udGVudHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLW91dDt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1vdXR9Lm1mcC1mYWRlLm1mcC13cmFwLm1mcC1yZWFkeSAubWZwLWNvbnRlbnR7b3BhY2l0eToxfS5tZnAtZmFkZS5tZnAtd3JhcC5tZnAtcmVtb3ZpbmcgLm1mcC1jb250ZW50e29wYWNpdHk6MH0ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50e21heC13aWR0aDoxMDIwcHh9LnNob3ctbm90aWZ5LXBvcHVwPnNlY3Rpb257ZmlsdGVyOmdyYXlzY2FsZSgxMDAlKX0uc2hvdy1ub3RpZnktcG9wdXAgLm1mcC1ub3RpZnkubWZwLWJnLm1mcC1yZWFkeXtvcGFjaXR5Oi44O2JhY2tncm91bmQtY29sb3I6IzAwMH0uc2hvdy1ub3RpZnktcG9wdXAgLm1mcC1jbG9zZSwuc2hvdy1ub3RpZnktcG9wdXAgLm1mcC1jbG9zZTphY3RpdmV7Y29sb3I6I2ZmZn0uc2hvdy1ub3RpZnktcG9wdXAgLm5vdGlmeS1mb3JtIC5ub3RpZnktaW5wdXR7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMSl9LnNob3ctbm90aWZ5LXBvcHVwIC5tZnAtY29udGFpbmVye3Bvc2l0aW9uOmZpeGVkO3BhZGRpbmctdG9wOjEwMHB4O2hlaWdodDphdXRvO2JhY2tncm91bmQtY29sb3I6I2ZmZjthbmltYXRpb24tbmFtZTpjb21pbmdzb29ucG9wdXA7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpjb21pbmdzb29ucG9wdXA7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjJzOy1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOi4yczstby1hbmltYXRpb24tZHVyYXRpb246LjJzO2FuaW1hdGlvbi1kdXJhdGlvbjouMnN9LnNob3ctbm90aWZ5LXBvcHVwIC5tZnAtcmVtb3ZpbmcgLm1mcC1jb250YWluZXJ7YW5pbWF0aW9uLW5hbWU6Y29taW5nc29vbnBvcHVwY2xvc2U7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpjb21pbmdzb29ucG9wdXBjbG9zZTstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouMnM7LW1vei1hbmltYXRpb24tZHVyYXRpb246LjJzOy1vLWFuaW1hdGlvbi1kdXJhdGlvbjouMnM7YW5pbWF0aW9uLWR1cmF0aW9uOi4yc30ubWZwLW5vdGlmeSAubWZwLWNvbnRhaW5lcnt0b3A6YXV0bztib3R0b206MH0ubmF2YmFye3BhZGRpbmc6MH0ubmF2YmFyLm5hdmJhci1ib3hlZHtwYWRkaW5nLWxlZnQ6MzVweDtwYWRkaW5nLXJpZ2h0OjM1cHh9Lm5hdmJhci1icmFuZHttYXJnaW4tcmlnaHQ6MDtmb250LXNpemU6MH0uZHJvcGRvd24ub3Blbj4uZHJvcGRvd24tbWVudXtkaXNwbGF5OmJsb2NrfS5oZWFkZXItc29jaWFsLWljb24gYT5pe3BhZGRpbmc6MCAxMHB4O2ZvbnQtc2l6ZToxNHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaGVhZGVyLWNhcnQtaWNvbiBhPmksLmhlYWRlci1sYW5ndWFnZSBhPmksLmhlYWRlci1wdXNoLWJ1dHRvbiBhPmksLmhlYWRlci1zZWFyY2gtaWNvbiBhPml7cGFkZGluZzozMHB4IDA7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnRvcC1iYXIgLmhlYWRlci1jYXJ0LWljb24gYT5pLC50b3AtYmFyIC5oZWFkZXItbGFuZ3VhZ2UgYT5pLC50b3AtYmFyIC5oZWFkZXItcHVzaC1idXR0b24gYT5pLC50b3AtYmFyIC5oZWFkZXItc2VhcmNoLWljb24gYT5pe3BhZGRpbmc6MTRweCAwO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5oZWFkZXItc29jaWFsLWljb257bGluZS1oZWlnaHQ6MTJweDtwYWRkaW5nLWxlZnQ6MTBweH0ubmF2YmFyLm5hdmJhci1kYXJrIC5oZWFkZXItc29jaWFsLWljb24sLnN0aWNreSAubmF2YmFyLmhlYWRlci1kYXJrIC5oZWFkZXItc29jaWFsLWljb257Ym9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjQ1KX0uc3RpY2t5IC5uYXZiYXIuaGVhZGVyLWxpZ2h0IC5oZWFkZXItc29jaWFsLWljb257Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjIyKX0uaGVhZGVyLWJ1dHRvbiwuaGVhZGVyLWNhcnQtaWNvbiwuaGVhZGVyLWxhbmd1YWdlLC5oZWFkZXItcHVzaC1idXR0b24sLmhlYWRlci1zZWFyY2gtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy1sZWZ0OjE3cHg7Zm9udC1zaXplOjE3cHh9LmhlYWRlci1jYXJ0LWljb257bWFyZ2luLXJpZ2h0OjEwcHh9Lm5hdi1pdGVtPi5kcm9wZG93bi10b2dnbGV7ZGlzcGxheTpub25lfS5kcm9wZG93bi10b2dnbGU6YWZ0ZXJ7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MDtoZWlnaHQ6MH0ubUN1c3RvbVNjcm9sbGJhciAubUNTQl9jb250YWluZXJ7cGFkZGluZy1yaWdodDoyMHB4IWltcG9ydGFudDttYXJnaW4tcmlnaHQ6MH0ubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiwubUN1c3RvbVNjcm9sbGJhci5tQ1Nfbm9fc2Nyb2xsYmFyIC5tQ1NCX2NvbnRhaW5lcntwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5tZW51LWxhYmxle2NvbG9yOiNmZmY7Zm9udC1zaXplOjEwcHg7bWFyZ2luLWxlZnQ6OHB4O3BhZGRpbmc6MXB4IDdweCAxcHggNnB4O2xpbmUtaGVpZ2h0OjE4cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWVudS1sYWJsZS5uZXd7YmFja2dyb3VuZC1jb2xvcjojMjdhZTYwfS5tZW51LWxhYmxlLmhvdHtiYWNrZ3JvdW5kLWNvbG9yOiNkNzRhM2F9aGVhZGVyIG5hdi5uYXZiYXIubmF2YmFyLXN0YXRpYy1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCV9Lm1lbnUtbG9nby1jZW50ZXIgLm1lbnUtbG9nb3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDttYXJnaW46MCBhdXRvO3RleHQtYWxpZ246Y2VudGVyfS5uYXZiYXItbGVmdCwubmF2YmFyLXJpZ2h0e3dpZHRoOjQwJX0ubWVudS1sb2dvLWNlbnRlciAubmF2YmFyLWJyYW5ke3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtwYWRkaW5nOjIycHggMH1oZWFkZXIgLnRvcC1iYXJ7cG9zaXRpb246Zml4ZWQ7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjEwMzE7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc31oZWFkZXIgLnRvcC1iYXIrLm5hdmJhci5maXhlZC10b3B7dG9wOjQ4cHg7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc31oZWFkZXIuc3RpY2t5IC50b3AtYmFyKy5uYXZiYXIuZml4ZWQtdG9we3RvcDowOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LnRvcC1sb2dvIC5oZWFkZXItY2FydC1pY29uIGE+aSwudG9wLWxvZ28gLmhlYWRlci1sYW5ndWFnZSBhPmksLnRvcC1sb2dvIC5oZWFkZXItcHVzaC1idXR0b24gYT5pLC50b3AtbG9nbyAuaGVhZGVyLXNlYXJjaC1pY29uIGE+aXtwYWRkaW5nOjI2cHggMH1oZWFkZXIuc3RpY2t5IC5uYXZiYXIucmVzcG9uc2l2ZS1zdGlja3kgLm5hdmJhci1icmFuZCBpbWd7bWF4LWhlaWdodDozMnB4fS5zdGlja3kgLm5hdmJhci5yZXNwb25zaXZlLXN0aWNreSAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZzoxOHB4IDB9LnN0aWNreSAubmF2YmFyLnJlc3BvbnNpdmUtc3RpY2t5IC5oZWFkZXItY2FydC1pY29uIGE+aSwuc3RpY2t5IC5uYXZiYXIucmVzcG9uc2l2ZS1zdGlja3kgLmhlYWRlci1sYW5ndWFnZSBhPmksLnN0aWNreSAubmF2YmFyLnJlc3BvbnNpdmUtc3RpY2t5IC5oZWFkZXItcHVzaC1idXR0b24gYT5pLC5zdGlja3kgLm5hdmJhci5yZXNwb25zaXZlLXN0aWNreSAuaGVhZGVyLXNlYXJjaC1pY29uIGE+aXtwYWRkaW5nOjIwcHggMH0ubmF2YmFyLnJlc3BvbnNpdmUtc3RpY2t5IC5oZWFkZXItY2FydC1pY29uIGEsLm5hdmJhci5yZXNwb25zaXZlLXN0aWNreSAuaGVhZGVyLWxhbmd1YWdlIGEsLm5hdmJhci5yZXNwb25zaXZlLXN0aWNreSAuaGVhZGVyLXB1c2gtYnV0dG9uIGEsLm5hdmJhci5yZXNwb25zaXZlLXN0aWNreSAuaGVhZGVyLXNlYXJjaC1pY29uIGF7dHJhbnNpdGlvbjpub25lOy1tb3otdHJhbnNpdGlvbjpub25lOy13ZWJraXQtdHJhbnNpdGlvbjpub25lOy1tcy10cmFuc2l0aW9uOm5vbmU7LW8tdHJhbnNpdGlvbjpub25lfS5uYXZiYXIucmVzcG9uc2l2ZS1zdGlja3kgLmhlYWRlci1jYXJ0LWljb24gYT5pLC5uYXZiYXIucmVzcG9uc2l2ZS1zdGlja3kgLmhlYWRlci1sYW5ndWFnZSBhPmksLm5hdmJhci5yZXNwb25zaXZlLXN0aWNreSAuaGVhZGVyLXB1c2gtYnV0dG9uIGE+aSwubmF2YmFyLnJlc3BvbnNpdmUtc3RpY2t5IC5oZWFkZXItc2VhcmNoLWljb24gYT5pLGhlYWRlciAubmF2YmFyLnJlc3BvbnNpdmUtc3RpY2t5IC5uYXZiYXItYnJhbmQgaW1ne3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uc2lkZWJhci1uYXYtYWN0aW9ue3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt3aWR0aDo2NXB4O2hlaWdodDoxMDAlO3otaW5kZXg6MTAwMDY7cGFkZGluZzozMHB4IDB9LnBhZ2Utd3JhcHBlcntwYWRkaW5nLWxlZnQ6NjVweH0uc3RpY2t5LW5hdi1hYWF7cGFkZGluZy1sZWZ0OjI5MHB4fS5zaWRlYmFyLW5hdi1hY3Rpb24tbWFpbntkaXNwbGF5OmZsZXg7ZmxleC1mbG93OmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjt0ZXh0LWFsaWduOmNlbnRlcjtoZWlnaHQ6MTAwJX0uc2lkZWJhci1uYXYtbWVudXtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoyOTBweDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNmM2YzZjM7b3ZlcmZsb3cteTphdXRvO3otaW5kZXg6MTAwMDU7dG9wOjA7bGVmdDowOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtcmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30ubWVudS1zdHlsZS0yIC5zaWRlYmFyLW5hdi1tZW51e3Bvc2l0aW9uOmZpeGVkO2hlaWdodDoxMDAlO3dpZHRoOjM4MHB4O2JvcmRlci1yaWdodDpub25lO292ZXJmbG93LXk6YXV0bzt6LWluZGV4OjEwMDA1O3RvcDowO2xlZnQ6MDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lm1lbnUtc3R5bGUtMiAuc2lkZWJhci1uYXYtbWVudXtsZWZ0Oi0xMDAlfS5zaG93LW1lbnV7b3ZlcmZsb3c6aGlkZGVufS5zaG93LW1lbnUubGVmdC1jbGFzc2ljLW1vYmlsZS1tZW51e292ZXJmbG93OnZpc2libGV9LnNob3ctbWVudSAubWVudS1zdHlsZS0yIC5zaWRlYmFyLW5hdi1tZW51e2xlZnQ6NjVweDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lm1lbnUtc3R5bGUtMiAuc2lkZWJhci1uYXYtbWVudSAuaG92ZXItYmFja2dyb3VuZC1jb2xvcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjZzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouNnM7LW1zLXJhbnNpdGlvbi1kdXJhdGlvbjouNnM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouNnM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNnN9Lm1lbnUtc3R5bGUtMiAuc2lkZWJhci1uYXYtbWVudSAuaG92ZXItYmFja2dyb3VuZC1jb2xvcjpob3Zlciwuc2hvdy1tZW51IC5tZW51LXN0eWxlLTIgLnNpZGViYXItbmF2LW1lbnU6aG92ZXIgLmhvdmVyLWJhY2tncm91bmQtY29sb3J7b3BhY2l0eToxfS5zaG93LW1lbnUgLm1lbnUtc3R5bGUtMiAuc2lkZWJhci1uYXYtbWVudTpob3ZlciAuc3ViLW1lbnUtaXRlbSAuc3ViLW1lbnUtaXRlbSBsaSBhe2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjYpfS5zaWRlLW1lbnUgLnNpZGViYXItbmF2LW1lbnUgLm1lbnUtbGlzdC13cmFwcGVye2hlaWdodDoxMDAlO292ZXJmbG93LXk6aGlkZGVuO3BhZGRpbmc6NzVweCAwfS5zaWRlLW1lbnUgLnNpZGViYXItbmF2LW1lbnUgLm1lbnUtbGlzdC13cmFwcGVyIC5tQ3VzdG9tU2Nyb2xsQm94e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LnNpZGUtbWVudSAuc2lkZWJhci1uYXYtbWVudSAubWVudS1saXN0LXdyYXBwZXIgLm1DdXN0b21TY3JvbGxCb3ggLm1DU0JfY29udGFpbmVyLm1DU195X2hpZGRlbi5tQ1Nfbm9fc2Nyb2xsYmFyX3l7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9LnNpZGUtbWVudSAuc2lkZWJhci1uYXYtbWVudSAubWVudS1saXN0LXdyYXBwZXIgLm1DdXN0b21TY3JvbGxCb3ggLm1DU0JfY29udGFpbmVye3dpZHRoOjEwMCU7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydDthbGlnbi1zZWxmOmZsZXgtc3RhcnR9LnNpZGUtbWVudSAuc2lkZWJhci1uYXYtbWVudSAubWVudS1saXN0LXdyYXBwZXIgLm1DU0JfaW5zaWRlPi5tQ1NCX2NvbnRhaW5lcnttYXJnaW46MCFpbXBvcnRhbnQ7cGFkZGluZzowIDE1cHghaW1wb3J0YW50fS5zaWRlLW1lbnUtaGVhZGVyIC5zaWRlLW1lbnUtYnV0dG9ue2Rpc3BsYXk6bm9uZX0uc2lkZWJhci1uYXYtbWVudS5sZWZ0LXNpZGViYXItbmF2e3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjI5MHB4O292ZXJmbG93OmhpZGRlbjtoZWlnaHQ6aW5oZXJpdH0ubGVmdC1zaWRlYmFyLW5hdiAubWVudS1saXN0IGxpe2xpc3Qtc3R5bGU6bm9uZX0ubGVmdC1zaWRlYmFyLW5hdiAubWVudS1saXN0IC5tZW51LWxpc3QtaXRlbSAuc3ViLW1lbnUtaXRlbSBsaTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MTBweH0ubGVmdC1zaWRlYmFyLW5hdiAubWVudS1saXN0IGxpIGF7Zm9udC1zaXplOjE0cHg7cGFkZGluZzoxM3B4IDAgMTRweDtsaW5lLWhlaWdodDpub3JtYWx9LmxlZnQtc2lkZWJhci1uYXYgLm1lbnUtbGlzdCAubWVudS1saXN0LWl0ZW0gLnN1Yi1tZW51LWl0ZW0gbGkgYXtmb250LXNpemU6MTNweDtwYWRkaW5nOjVweCAwfS5sZWZ0LXNpZGViYXItbmF2IC5tZW51LXRvZ2dsZTphZnRlciwubGVmdC1zaWRlYmFyLW5hdiAubWVudS10b2dnbGU6YmVmb3Jle3JpZ2h0OjdweDt0b3A6MjNweDtoZWlnaHQ6MXB4O3dpZHRoOjlweH0ubGVmdC1zaWRlYmFyLW5hdiAuc3ViLW1lbnUtaXRlbSAubWVudS10b2dnbGV7d2lkdGg6MzBweDtoZWlnaHQ6MzBweH0ubGVmdC1zaWRlYmFyLW5hdiAuc3ViLW1lbnUtaXRlbSAubWVudS10b2dnbGU6YWZ0ZXIsLmxlZnQtc2lkZWJhci1uYXYgLnN1Yi1tZW51LWl0ZW0gLm1lbnUtdG9nZ2xlOmJlZm9yZXtyaWdodDo4cHg7dG9wOjE1cHg7aGVpZ2h0OjFweDt3aWR0aDo3cHh9LmxlZnQtc2lkZWJhci1uYXYgLm1lbnUtdG9nZ2xle3dpZHRoOjQ4cHg7aGVpZ2h0OjQ4cHg7dG9wOjI0cHg7bGluZS1oZWlnaHQ6NDhweH0uc2lkZWJhci1uYXYtbWVudS5sZWZ0LXNpZGViYXItbmF2IC5mb290ZXItaG9sZGVyIC5uZXdzbGV0dGVyLWVtYWlsIGlucHV0e21pbi1oZWlnaHQ6NDRweH0uc2lkZWJhci1uYXZ7cG9zaXRpb246Zml4ZWQ7aGVpZ2h0OjEwMCU7d2lkdGg6MjkwcHg7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZjNmM2YzO3otaW5kZXg6MTAwMDU7dG9wOjA7bGVmdDowOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtcmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uc2lkZWJhci1uYXYgLmZvb3Rlci1ob2xkZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnNpZGUtbWVudS1oZWFkZXIgLnNpZGUtbWVudS1idXR0b257ZGlzcGxheTpub25lfWhlYWRlci5zaWRlLW1lbnUtbmF2e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt3aWR0aDoyOTBweDt0b3A6LTEwMCU7bWluLWhlaWdodDoxMDB2aDtib3R0b206MDt6LWluZGV4Ojk5OTtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNmM2YzZjN9LmxlZnQtc2lkZWJhci13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6MzAwcHg7d2lkdGg6MTAwJTtwYWRkaW5nLWxlZnQ6MjkwcHh9Lm5hdmJhci10b2dnbGVye2ZvbnQtc2l6ZToyNHB4O3dpZHRoOjIycHg7aGVpZ2h0OjE0cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzowO2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXItcmFkaXVzOjB9Lm5hdmJhci10b2dnbGVyLWxpbmV7YmFja2dyb3VuZDojMjMyMzIzO2hlaWdodDoycHg7d2lkdGg6MjJweDtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLXJhZGl1czowO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwKTstby10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCk7LXdlYmtpdC10cmFuc2l0aW9uOi4yNXMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOi4yNXMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjouMjVzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246LjI1cyBlYXNlLWluLW91dH0ubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyLWxpbmV7YmFja2dyb3VuZDojZmZmfWhlYWRlci5zdGlja3kgLmhlYWRlci1saWdodCAubmF2YmFyLXRvZ2dsZXItbGluZXtiYWNrZ3JvdW5kOiMyMzIzMjN9aGVhZGVyLnN0aWNreSAubmF2YmFyLmhlYWRlci1kYXJrIC5uYXZiYXItdG9nZ2xlci1saW5le2JhY2tncm91bmQ6I2ZmZn0ubmF2YmFyLXRvZ2dsZXItbGluZTpudGgtY2hpbGQoMSl7dG9wOjA7d2lkdGg6MTRweH0ubmF2YmFyLXRvZ2dsZXItbGluZTpudGgtY2hpbGQoMiksLm5hdmJhci10b2dnbGVyLWxpbmU6bnRoLWNoaWxkKDMpe3RvcDo2cHh9Lm5hdmJhci10b2dnbGVyLWxpbmU6bnRoLWNoaWxkKDQpe3RvcDoxMnB4O3dpZHRoOjE0cHh9Lm5hdmJhci1jb2xsYXBzZS1zaG93IC5uYXZiYXItdG9nZ2xlci1saW5lOm50aC1jaGlsZCgxKXt0b3A6N3B4O3dpZHRoOjAlfS5uYXZiYXItY29sbGFwc2Utc2hvdyAubmF2YmFyLXRvZ2dsZXItbGluZTpudGgtY2hpbGQoMil7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTstbW96LXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpOy1vLXRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0ubmF2YmFyLWNvbGxhcHNlLXNob3cgLm5hdmJhci10b2dnbGVyLWxpbmU6bnRoLWNoaWxkKDMpey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpOy1vLXRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0ubmF2YmFyLWNvbGxhcHNlLXNob3cgLm5hdmJhci10b2dnbGVyLWxpbmU6bnRoLWNoaWxkKDQpe3RvcDo3cHg7d2lkdGg6MCV9LnN0aWNreSAuaGVhZGVyLWxpZ2h0LmhlYWRlci1hbHdheXMtZml4ZWQtc2Nyb2xsLC5zdGlja3kuaGVhZGVyLWFwcGVhciAuaGVhZGVyLWxpZ2h0e2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDAgMzVweCByZ2JhKDAsMCwwLC4xKTtib3JkZXItYm90dG9tOm5vbmUhaW1wb3J0YW50fS5zdGlja3kgLmhlYWRlci1kYXJrLmhlYWRlci1hbHdheXMtZml4ZWQtc2Nyb2xsLC5zdGlja3kuaGVhZGVyLWFwcGVhciAuaGVhZGVyLWRhcmt7YmFja2dyb3VuZC1jb2xvcjojMDAwIWltcG9ydGFudDtib3gtc2hhZG93OjAgMCAzNXB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1ib3R0b206bm9uZSFpbXBvcnRhbnQ7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstby10cmFuc2l0aW9uLWR1cmF0aW9uOi41c30uc3RpY2t5IC5oZWFkZXItbGlnaHQsLnN0aWNreSAuaGVhZGVyLWxpZ2h0LmhlYWRlci1hbHdheXMtZml4ZWQtc2Nyb2xse2JveC1zaGFkb3c6MCAwIDM1cHggcmdiYSgwLDAsMCwuMSl9LnN0aWNreSAuaGVhZGVyLWxpZ2h0LnRyYW5zcGFyZW50LmhlYWRlci1hbHdheXMtZml4ZWQtc2Nyb2xsLC5zdGlja3kuaGVhZGVyLWFwcGVhciAuaGVhZGVyLWxpZ2h0LnRyYW5zcGFyZW50e2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNikhaW1wb3J0YW50fS5zdGlja3kgLmhlYWRlci1kYXJrLnRyYW5zcGFyZW50LmhlYWRlci1hbHdheXMtZml4ZWQtc2Nyb2xsLC5zdGlja3kuaGVhZGVyLWFwcGVhciAuaGVhZGVyLWRhcmsudHJhbnNwYXJlbnR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC42KSFpbXBvcnRhbnR9LnN0aWNreSAuaGVhZGVyLXJldmVyc2Utc2Nyb2xsey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzO2JveC1zaGFkb3c6bm9uZX0uc3RpY2t5LmhlYWRlci1hcHBlYXIgLmhlYWRlci1yZXZlcnNlLXNjcm9sbHstd2Via2l0LXRyYW5zZm9ybTppbmhlcml0Oy1tb3otdHJhbnNmb3JtOmluaGVyaXQ7LW1zLXRyYW5zZm9ybTppbmhlcml0Oy1vLXRyYW5zZm9ybTppbmhlcml0O3RyYW5zZm9ybTppbmhlcml0Oy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LnN0aWNreSAubmF2YmFyLmhlYWRlci1saWdodCAuaGVhZGVyLWNhcnQtaWNvbj5hLC5zdGlja3kgLm5hdmJhci5oZWFkZXItbGlnaHQgLmhlYWRlci1sYW5ndWFnZT5hLC5zdGlja3kgLm5hdmJhci5oZWFkZXItbGlnaHQgLmhlYWRlci1zZWFyY2gtaWNvbj5hLC5zdGlja3kgLm5hdmJhci5oZWFkZXItbGlnaHQgLmhlYWRlci1zb2NpYWwtaWNvbj5hLC5zdGlja3kgLm5hdmJhci5oZWFkZXItbGlnaHQgLm5hdi1iYXItY29udGFjdCwuc3RpY2t5IC5uYXZiYXIuaGVhZGVyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGlua3tjb2xvcjojMjMyMzIzIWltcG9ydGFudH0uc3RpY2t5IC5uYXZiYXIuaGVhZGVyLWxpZ2h0IC5oZWFkZXItcHVzaC1idXR0b24gLnB1c2gtYnV0dG9uPnNwYW57YmFja2dyb3VuZDojMjMyMzIzfS5zdGlja3kgLm5hdmJhci5oZWFkZXItZGFyayAuaGVhZGVyLWNhcnQtaWNvbj5hLC5zdGlja3kgLm5hdmJhci5oZWFkZXItZGFyayAuaGVhZGVyLWxhbmd1YWdlPmEsLnN0aWNreSAubmF2YmFyLmhlYWRlci1kYXJrIC5oZWFkZXItc2VhcmNoLWljb24+YSwuc3RpY2t5IC5uYXZiYXIuaGVhZGVyLWRhcmsgLmhlYWRlci1zb2NpYWwtaWNvbj5hLC5zdGlja3kgLm5hdmJhci5oZWFkZXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmt7Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LnN0aWNreSAubmF2YmFyLmhlYWRlci1saWdodCAuYnRuLmJ0bi13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMzIzMjM7Ym9yZGVyLWNvbG9yOiMyMzIzMjM7Y29sb3I6I2ZmZn0ubmF2YmFyLm5hdmJhci1kYXJrIC5oZWFkZXItY2FydC1pY29uPmEsLm5hdmJhci5uYXZiYXItZGFyayAuaGVhZGVyLWxhbmd1YWdlPmEsLm5hdmJhci5uYXZiYXItZGFyayAuaGVhZGVyLXNlYXJjaC1pY29uPmEsLm5hdmJhci5uYXZiYXItZGFyayAuaGVhZGVyLXNvY2lhbC1pY29uPmEsLm5hdmJhci5uYXZiYXItZGFyayAubmF2LWJhci1jb250YWN0LC5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLC50b3AtYmFyLm5hdmJhci1saWdodCwudG9wLWJhci5uYXZiYXItbGlnaHQgLmhlYWRlci1jYXJ0LWljb24+YSwudG9wLWJhci5uYXZiYXItbGlnaHQgLmhlYWRlci1sYW5ndWFnZS5kcm9wZG93bi1zdHlsZS0wMSAuYnRuLC50b3AtYmFyLm5hdmJhci1saWdodCAuaGVhZGVyLWxhbmd1YWdlPmEsLnRvcC1iYXIubmF2YmFyLWxpZ2h0IC5oZWFkZXItc2VhcmNoLWljb24+YSwudG9wLWJhci5uYXZiYXItbGlnaHQgLmhlYWRlci1zb2NpYWwtaWNvbj5hLC50b3AtYmFyLm5hdmJhci1saWdodCAudG9wLWJhci1jb250YWN0LWxpc3Q+YXtjb2xvcjojZmZmfS5uYXZiYXIubmF2YmFyLWxpZ2h0IC5oZWFkZXItY2FydC1pY29uPmEsLm5hdmJhci5uYXZiYXItbGlnaHQgLmhlYWRlci1sYW5ndWFnZT5hLC5uYXZiYXIubmF2YmFyLWxpZ2h0IC5oZWFkZXItc2VhcmNoLWljb24+YSwubmF2YmFyLm5hdmJhci1saWdodCAuaGVhZGVyLXNvY2lhbC1pY29uPmEsLnRvcC1iYXIubmF2YmFyLWRhcmssLnRvcC1iYXIubmF2YmFyLWRhcmsgLmhlYWRlci1jYXJ0LWljb24+YSwudG9wLWJhci5uYXZiYXItZGFyayAuaGVhZGVyLWxhbmd1YWdlLmRyb3Bkb3duLXN0eWxlLTAxIC5idG4sLnRvcC1iYXIubmF2YmFyLWRhcmsgLmhlYWRlci1sYW5ndWFnZT5hLC50b3AtYmFyLm5hdmJhci1kYXJrIC5oZWFkZXItc2VhcmNoLWljb24+YSwudG9wLWJhci5uYXZiYXItZGFyayAuaGVhZGVyLXNvY2lhbC1pY29uPmF7Y29sb3I6IzIzMjMyM30ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzLC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbms6aG92ZXIsLm5hdmJhci5uYXZiYXItZGFyayAuaGVhZGVyLWNhcnQtaWNvbj5hOmhvdmVyLC5uYXZiYXIubmF2YmFyLWRhcmsgLmhlYWRlci1sYW5ndWFnZSBhPmk+YTpob3ZlciwubmF2YmFyLm5hdmJhci1kYXJrIC5oZWFkZXItbGFuZ3VhZ2U+YTpob3ZlciwubmF2YmFyLm5hdmJhci1kYXJrIC5oZWFkZXItc2VhcmNoLWljb24+YTpob3ZlciwubmF2YmFyLm5hdmJhci1kYXJrIC5oZWFkZXItc29jaWFsLWljb24+YTpob3ZlciwubmF2YmFyLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsLnN0aWNreSAubmF2YmFyLWxpZ2h0LmhlYWRlci1kYXJrIC5oZWFkZXItY2FydC1pY29uPmE6aG92ZXIsLnN0aWNreSAubmF2YmFyLWxpZ2h0LmhlYWRlci1kYXJrIC5oZWFkZXItbGFuZ3VhZ2U+YTpob3Zlciwuc3RpY2t5IC5uYXZiYXItbGlnaHQuaGVhZGVyLWRhcmsgLmhlYWRlci1zZWFyY2gtaWNvbj5hOmhvdmVyLC5zdGlja3kgLm5hdmJhci1saWdodC5oZWFkZXItZGFyayAuaGVhZGVyLXNvY2lhbC1pY29uPmE6aG92ZXIsLnN0aWNreSAubmF2YmFyLWxpZ2h0LmhlYWRlci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsLnN0aWNreSAubmF2YmFyLWxpZ2h0LmhlYWRlci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywuc3RpY2t5IC5uYXZiYXItbGlnaHQuaGVhZGVyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyLC50b3AtYmFyLm5hdmJhci1saWdodCAuaGVhZGVyLWNhcnQtaWNvbj5hOmhvdmVyLC50b3AtYmFyLm5hdmJhci1saWdodCAuaGVhZGVyLWxhbmd1YWdlLmRyb3Bkb3duLXN0eWxlLTAxIC5idG46aG92ZXIsLnRvcC1iYXIubmF2YmFyLWxpZ2h0IC5oZWFkZXItbGFuZ3VhZ2U+YTpob3ZlciwudG9wLWJhci5uYXZiYXItbGlnaHQgLmhlYWRlci1zZWFyY2gtaWNvbj5hOmhvdmVyLC50b3AtYmFyLm5hdmJhci1saWdodCAuaGVhZGVyLXNvY2lhbC1pY29uPmE6aG92ZXIsLnRvcC1iYXIubmF2YmFyLWxpZ2h0IC50b3AtYmFyLWNvbnRhY3QtbGlzdD5hOmhvdmVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjYpIWltcG9ydGFudDtjdXJzb3I6cG9pbnRlcn0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwubmF2YmFyLm5hdmJhci1saWdodCAuaGVhZGVyLWNhcnQtaWNvbj5hOmhvdmVyLC5uYXZiYXIubmF2YmFyLWxpZ2h0IC5oZWFkZXItbGFuZ3VhZ2U+YTpob3ZlciwubmF2YmFyLm5hdmJhci1saWdodCAuaGVhZGVyLXNlYXJjaC1pY29uPmE6aG92ZXIsLm5hdmJhci5uYXZiYXItbGlnaHQgLmhlYWRlci1zb2NpYWwtaWNvbj5hOmhvdmVyLC5uYXZiYXIubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsLnN0aWNreSAubmF2YmFyLWRhcmsuaGVhZGVyLWxpZ2h0IC5oZWFkZXItY2FydC1pY29uPmE6aG92ZXIsLnN0aWNreSAubmF2YmFyLWRhcmsuaGVhZGVyLWxpZ2h0IC5oZWFkZXItbGFuZ3VhZ2U+YTpob3Zlciwuc3RpY2t5IC5uYXZiYXItZGFyay5oZWFkZXItbGlnaHQgLmhlYWRlci1zZWFyY2gtaWNvbj5hOmhvdmVyLC5zdGlja3kgLm5hdmJhci1kYXJrLmhlYWRlci1saWdodCAuaGVhZGVyLXNvY2lhbC1pY29uPmE6aG92ZXIsLnN0aWNreSAubmF2YmFyLWRhcmsuaGVhZGVyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsLnN0aWNreSAubmF2YmFyLWRhcmsuaGVhZGVyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywuc3RpY2t5IC5uYXZiYXItZGFyay5oZWFkZXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVyLC50b3AtYmFyLm5hdmJhci1kYXJrIC5oZWFkZXItY2FydC1pY29uPmE6aG92ZXIsLnRvcC1iYXIubmF2YmFyLWRhcmsgLmhlYWRlci1sYW5ndWFnZS5kcm9wZG93bi1zdHlsZS0wMSAuYnRuOmhvdmVyLC50b3AtYmFyLm5hdmJhci1kYXJrIC5oZWFkZXItbGFuZ3VhZ2U+YTpob3ZlciwudG9wLWJhci5uYXZiYXItZGFyayAuaGVhZGVyLXNlYXJjaC1pY29uPmE6aG92ZXIsLnRvcC1iYXIubmF2YmFyLWRhcmsgLmhlYWRlci1zb2NpYWwtaWNvbj5hOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjYpIWltcG9ydGFudDtjdXJzb3I6cG9pbnRlcn0ubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmt7Y29sb3I6IzIzMjMyM30ubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZle2NvbG9yOnJnYmEoMCwwLDAsLjUpO2N1cnNvcjpwb2ludGVyfS5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdmJhci1uYXY+LmRyb3Bkb3duLmFjdGl2ZT5hLC5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdmJhci1uYXY+Lm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51OmhvdmVyPmEsLm5hdmJhci5uYXZiYXItZGFyayAubmF2YmFyLW5hdj4ubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duOmhvdmVyPmEsLnN0aWNreSAubmF2YmFyLmhlYWRlci1kYXJrIC5uYXZiYXItbmF2Pi5kcm9wZG93bi5hY3RpdmU+YSwuc3RpY2t5IC5uYXZiYXIubmF2YmFyLWxpZ2h0LmhlYWRlci1kYXJrIC5uYXZiYXItbmF2Pi5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudTpob3Zlcj5hLC5zdGlja3kgLm5hdmJhci5uYXZiYXItbGlnaHQuaGVhZGVyLWRhcmsgLm5hdmJhci1uYXY+Lm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93bjpob3Zlcj5he2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjYpIWltcG9ydGFudH0ubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdj4uZHJvcGRvd24uYWN0aXZlPmEsLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXY+Lm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51OmhvdmVyPmEsLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXY+Lm5hdi1pdGVtLmRyb3Bkb3duLnNpbXBsZS1kcm9wZG93bjpob3Zlcj5hLC5zdGlja3kgLm5hdmJhci5oZWFkZXItbGlnaHQgLm5hdmJhci1uYXY+LmRyb3Bkb3duLmFjdGl2ZT5hLC5zdGlja3kgLm5hdmJhci5uYXZiYXItZGFyay5oZWFkZXItbGlnaHQgLm5hdmJhci1uYXY+Lm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51OmhvdmVyPmEsLnN0aWNreSAubmF2YmFyLm5hdmJhci1kYXJrLmhlYWRlci1saWdodCAubmF2YmFyLW5hdj4ubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duOmhvdmVyPmF7Y29sb3I6cmdiYSgwLDAsMCwuNikhaW1wb3J0YW50fWhlYWRlciAubmF2YmFyIC5uYXZiYXItYnJhbmQgaW1nLGhlYWRlciAuc2lkZWJhci1uYXYtbWVudSAubmF2YmFyLWJyYW5kIGltZyxoZWFkZXIuc2lkZS1tZW51IC5sb2dvIGltZ3ttYXgtaGVpZ2h0OjM2cHh9aGVhZGVyIC5uYXZiYXIgLm5hdmJhci1icmFuZCAuZGVmYXVsdC1sb2dvLGhlYWRlciAuc2lkZWJhci1uYXYtbWVudSAubmF2YmFyLWJyYW5kIC5kZWZhdWx0LWxvZ28saGVhZGVyLnN0aWNreSAubmF2YmFyLWJyYW5kIC5hbHQtbG9nb3t2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxO3dpZHRoOmF1dG87dHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstby10cmFuc2l0aW9uLWR1cmF0aW9uOi41c31oZWFkZXIgLm5hdmJhciAubmF2YmFyLWJyYW5kIC5tb2JpbGUtbG9nbyxoZWFkZXIgLm5hdmJhci1icmFuZCAuYWx0LWxvZ28saGVhZGVyIC5zaWRlYmFyLW5hdi1tZW51IC5uYXZiYXItYnJhbmQgLm1vYmlsZS1sb2dvLGhlYWRlci5zdGlja3kgLm5hdmJhciAubmF2YmFyLWJyYW5kIC5kZWZhdWx0LWxvZ297dmlzaWJpbGl0eTpoaWRkZW47b3BhY2l0eTowO3dpZHRoOjA7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstby10cmFuc2l0aW9uLWR1cmF0aW9uOi41c31oZWFkZXIgLmFsd2F5cy1maXhlZCAubmF2YmFyLWJyYW5kIC5hbHQtbG9nbyxoZWFkZXIgLmhlYWRlci1hbHdheXMtZml4ZWQtc2Nyb2xsIC5uYXZiYXItYnJhbmQgLmFsdC1sb2dvLGhlYWRlciAuaGVhZGVyLWFsd2F5cy1maXhlZC1zY3JvbGwgLm5hdmJhci1icmFuZCAuZGVmYXVsdC1sb2dvLGhlYWRlciAuaGVhZGVyLWFsd2F5cy1maXhlZC1zY3JvbGwgLm5hdmJhci1icmFuZCAubW9iaWxlLWxvZ28saGVhZGVyIC5uYXZiYXIuYWx3YXlzLWZpeGVkIC5uYXZiYXItYnJhbmQgLmRlZmF1bHQtbG9nbyxoZWFkZXIgLm5hdmJhci5hbHdheXMtZml4ZWQgLm5hdmJhci1icmFuZCAubW9iaWxlLWxvZ28saGVhZGVyIC5zaWRlYmFyLW5hdi1tZW51IC5uYXZiYXItYnJhbmQgLm1vYmlsZS1sb2dvLGhlYWRlci5zdGlja3kgLmFsd2F5cy1maXhlZCAubmF2YmFyLWJyYW5kIC5hbHQtbG9nbyxoZWFkZXIuc3RpY2t5IC5uYXZiYXIuYWx3YXlzLWZpeGVkIC5uYXZiYXItYnJhbmQgLmRlZmF1bHQtbG9nb3t0cmFuc2l0aW9uLWR1cmF0aW9uOjBzOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjowczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246MHM7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246MHM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjowc30ubmF2YmFyIC5uYXZiYXItbmF2IC5uYXYtbGlua3twYWRkaW5nOjI1cHggMDtmb250LXdlaWdodDo1MDA7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjAgMThweDt3b3JkLWJyZWFrOm5vcm1hbH0ubmF2YmFyLnRvcC1sb2dvIC5uYXZiYXItbmF2IC5uYXYtbGlua3twYWRkaW5nOjIwcHggMH0ubmF2YmFyIC5qdXN0aWZ5LWNvbnRlbnQtZW5kIC5uYXZiYXItbmF2IGxpOmxhc3QtY2hpbGQgLm5hdi1saW5re21hcmdpbi1yaWdodDowfS5uYXZiYXIgLmp1c3RpZnktY29udGVudC1zdGFydCAubmF2YmFyLW5hdiBsaTpmaXJzdC1jaGlsZCAubmF2LWxpbmt7bWFyZ2luLWxlZnQ6MH0uaGVhZGVyLWNhcnQtaWNvbj5he3Bvc2l0aW9uOnJlbGF0aXZlfWhlYWRlciAuaGVhZGVyLWNhcnQtaWNvbiAuY2FydC1jb3VudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTZweDtyaWdodDotMTBweDt3aWR0aDoxNnB4O2hlaWdodDoxNnB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZTo5cHg7bGluZS1oZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjEwMCV9Lm5hdmJhci5uYXZiYXItZGFyayAucHVzaC1idXR0b24+c3Bhbiwuc3RpY2t5IC5uYXZiYXIuaGVhZGVyLWRhcmsgLnB1c2gtYnV0dG9uPnNwYW57YmFja2dyb3VuZDojZmZmfS5uYXZiYXIubmF2YmFyLWRhcmsgLnB1c2gtYnV0dG9uOmhvdmVyLC5zdGlja3kgLm5hdmJhci5oZWFkZXItZGFyayAucHVzaC1idXR0b246aG92ZXJ7b3BhY2l0eTouNn0ubmF2YmFyLm5hdmJhci1saWdodCAucHVzaC1idXR0b24+c3Bhbiwuc3RpY2t5IC5uYXZiYXIuaGVhZGVyLWxpZ2h0IC5wdXNoLWJ1dHRvbj5zcGFue2JhY2tncm91bmQ6IzIzMjMyM30ubmF2YmFyLm5hdmJhci1saWdodCAucHVzaC1idXR0b246aG92ZXIsLnN0aWNreSAubmF2YmFyLmhlYWRlci1saWdodCAucHVzaC1idXR0b246aG92ZXJ7b3BhY2l0eTouNn0ucHVzaC1idXR0b257cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MjJweDtoZWlnaHQ6MTRweDtkaXNwbGF5OmJsb2NrO3RvcDoxcHh9LnB1c2gtYnV0dG9uPnNwYW57ZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO3dpZHRoOjIycHg7aGVpZ2h0OjJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czowO29wYWNpdHk6MTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7LW1vei10cmFuc2Zvcm06cm90YXRlKDApOy1vLXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTstd2Via2l0LXRyYW5zaXRpb246LjI1cyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246LjI1cyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOi4yNXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjouMjVzIGVhc2UtaW4tb3V0fS5wdXNoLWJ1dHRvbj5zcGFuOm50aC1jaGlsZCgxKXt0b3A6MDt3aWR0aDoxNHB4fS5wdXNoLWJ1dHRvbj5zcGFuOm50aC1jaGlsZCgyKSwucHVzaC1idXR0b24+c3BhbjpudGgtY2hpbGQoMyl7dG9wOjZweH0ucHVzaC1idXR0b24+c3BhbjpudGgtY2hpbGQoNCl7dG9wOjEycHg7d2lkdGg6MTRweH0uc2hvdy1tZW51IC5wdXNoLWJ1dHRvbj5zcGFuOm50aC1jaGlsZCgxKXt0b3A6N3B4O3dpZHRoOjAlfS5zaG93LW1lbnUgLnB1c2gtYnV0dG9uPnNwYW46bnRoLWNoaWxkKDIpey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTstby10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9LnNob3ctbWVudSAucHVzaC1idXR0b24+c3BhbjpudGgtY2hpbGQoMyl7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7LW8tdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS5zaG93LW1lbnUgLnB1c2gtYnV0dG9uPnNwYW46bnRoLWNoaWxkKDQpe3RvcDo3cHg7d2lkdGg6MCV9LnB1c2gtYnV0dG9uLmFsdC1wdXNoLWJ1dHRvbi1sZWZ0PnNwYW46bnRoLWNoaWxkKDIpe3dpZHRoOjIycHh9LnNpZGUtbWVudS1idXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9LmxlZnQtc2lkZWJhci1uYXYgLnNpZGUtbWVudS1idXR0b257bGVmdDphdXRvO3JpZ2h0OjE1cHg7dGV4dC1hbGlnbjpyaWdodDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC01MCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTUwJSl9LnNpZGViYXItc29jaWFsLWljb24gbGl7bWFyZ2luOjE1cHggMH0uc2lkZS1tZW51LWJ1dHRvbiBhe3dpZHRoOjIycHg7aGVpZ2h0OjE0cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmV9Lm5hdi1pY29uIHNwYW57ZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO3dpZHRoOjIycHg7aGVpZ2h0OjJweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czowO29wYWNpdHk6MTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7LW1vei10cmFuc2Zvcm06cm90YXRlKDApOy1vLXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTstd2Via2l0LXRyYW5zaXRpb246LjI1cyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246LjI1cyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOi4yNXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjouMjVzIGVhc2UtaW4tb3V0fS5uYXYtaWNvbi5kYXJrIHNwYW57YmFja2dyb3VuZC1jb2xvcjojMjMyMzIzfS5uYXYtaWNvbiBzcGFuOm50aC1jaGlsZCgxKXt0b3A6MDt3aWR0aDoxNHB4fS5uYXYtaWNvbiBzcGFuOm50aC1jaGlsZCgyKSwubmF2LWljb24gc3BhbjpudGgtY2hpbGQoMyl7dG9wOjZweH0ubmF2LWljb24gc3BhbjpudGgtY2hpbGQoNCl7dG9wOjEycHg7d2lkdGg6MTRweH0uc2hvdy1tZW51IC5uYXYtaWNvbiBzcGFuOm50aC1jaGlsZCgxKXt0b3A6N3B4O3dpZHRoOjAlfS5zaG93LW1lbnUgLm5hdi1pY29uIHNwYW46bnRoLWNoaWxkKDIpey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTstby10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9LnNob3ctbWVudSAubmF2LWljb24gc3BhbjpudGgtY2hpbGQoMyl7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7LW8tdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfS5zaG93LW1lbnUgLm5hdi1pY29uIHNwYW46bnRoLWNoaWxkKDQpe3RvcDo3cHg7d2lkdGg6MCV9LmNsb3NlLW1lbnV7aGVpZ2h0OjUwcHg7d2lkdGg6NTBweDt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDo1MHB4O2ZvbnQtc2l6ZToxNnB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjIwcHg7dG9wOjIwcHg7ei1pbmRleDoxfS5jbG9zZS1tZW51OmhvdmVye2NvbG9yOiMyMzIzMjN9LnB1c2gtbWVudXtwb3NpdGlvbjpmaXhlZDtib3R0b206MDtyaWdodDotMTAwJTt3aWR0aDo1MDBweDtoZWlnaHQ6MTAwdmg7ei1pbmRleDoxMDYwOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LnNob3ctbWVudSAucHVzaC1tZW51e3JpZ2h0OjA7Ym94LXNoYWRvdzowIDAgMjBweCByZ2JhKDAsMCwwLC4zKTstbW96LWJveC1zaGFkb3c6MCAwIDIwcHggcmdiYSgwLDAsMCwuMyk7LXdlYmtpdC1ib3gtc2hhZG93OjAgMCAyMHB4IHJnYmEoMCwwLDAsLjMpOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LnB1c2gtbWVudSAuaW5zdGFncmFtLWZvbGxvdy1hcGkgdWx7ZGlzcGxheTpibG9ja30ucHVzaC1tZW51IC5idG4gaXt0b3A6MH0ucHVzaC1tZW51IC5wdXNoLW1lbnUtd3JhcHBlcntoZWlnaHQ6MTAwJTtvdmVyZmxvdy15OmhpZGRlbjtwYWRkaW5nOjcwcHggMDstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0ucHVzaC1tZW51IC5wdXNoLW1lbnUtd3JhcHBlciAubUN1c3RvbVNjcm9sbEJveHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fS5wdXNoLW1lbnUgLnB1c2gtbWVudS13cmFwcGVyIC5tQ3VzdG9tU2Nyb2xsQm94IC5tQ1NCX2NvbnRhaW5lci5tQ1NfeV9oaWRkZW4ubUNTX25vX3Njcm9sbGJhcl95ey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyfS5wdXNoLW1lbnUgLnB1c2gtbWVudS13cmFwcGVyIC5tQ3VzdG9tU2Nyb2xsQm94IC5tQ1NCX2NvbnRhaW5lcnt3aWR0aDoxMDAlOy1tcy1mbGV4LWl0ZW0tYWxpZ246c3RhcnQ7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS5wdXNoLW1lbnUgLnB1c2gtbWVudS13cmFwcGVyIC5tQ1NCX2luc2lkZT4ubUNTQl9jb250YWluZXJ7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmc6MCAxNXB4IWltcG9ydGFudH0uaGFtYnVyZ2VyLW1lbnV7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6LTEwMCU7d2lkdGg6NTAlO2hlaWdodDoxMDAlO3otaW5kZXg6MTAzMTtvdmVyZmxvdy15OmF1dG87LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaGFtYnVyZ2VyLW1lbnUuZnVsbC13aWR0aHt3aWR0aDoxMDAlfS5zaG93LW1lbnUgLmhhbWJ1cmdlci1tZW51e3JpZ2h0OjB9Lm1lbnUtbGlzdC13cmFwcGVye292ZXJmbG93OmF1dG87aGVpZ2h0OmNhbGMoMTAwdmggLSAxNTBweCl9Lm1lbnUtbGlzdC13cmFwcGVyLm1lbnUtbGlzdC13cmFwcGVyLXNtYWxse21heC1oZWlnaHQ6Y2FsYyg2NXZoIC0gMTAwcHgpfS5tZW51LWxpc3Qtd3JhcHBlci5zbWFsbC13cmFwcGVye21heC1oZWlnaHQ6Y2FsYyg3MCUgLSA1MHB4KX0ubWVudS1saXN0LXdyYXBwZXIgLm1DU0JfaW5zaWRlPi5tQ1NCX2NvbnRhaW5lcnttYXJnaW46MCFpbXBvcnRhbnR9Lm1lbnUtbGlzdC13cmFwcGVyIC5tQ3VzdG9tU2Nyb2xsQm94e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7d2lkdGg6MTAwJX0ubWVudS1saXN0LXdyYXBwZXIgLm1DdXN0b21TY3JvbGxCb3ggLm1DU0JfY29udGFpbmVyLm1DU195X2hpZGRlbi5tQ1Nfbm9fc2Nyb2xsYmFyX3l7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXI7YWxpZ24tc2VsZjpjZW50ZXJ9Lm1lbnUtbGlzdC13cmFwcGVyIC5tQ3VzdG9tU2Nyb2xsQm94IC5tQ1NCX2NvbnRhaW5lcnt3aWR0aDoxMDAlOy1tcy1mbGV4LWl0ZW0tYWxpZ246c3RhcnQ7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0fS5tZW51LWxpc3QgbGl7Y2xlYXI6Ym90aDtwb3NpdGlvbjpyZWxhdGl2ZTtsaXN0LXN0eWxlOm5vbmV9Lm1lbnUtbGlzdCBsaSBhe2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjI4cHg7cG9zaXRpb246cmVsYXRpdmU7Y29sb3I6I2ZmZjtwYWRkaW5nOjE0cHggMDtkaXNwbGF5OmlubGluZS1ibG9ja30ubWVudS1saXN0IGxpIGEgaXttYXJnaW4tcmlnaHQ6MTBweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1lbnUtbGlzdCAubWVudS1saXN0LWl0ZW0gLnN1Yi1tZW51LWl0ZW0gbGkgYXtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDpub3JtYWw7Y29sb3I6I2ZmZjtwYWRkaW5nOjB9Lm1lbnUtbGlzdCAubWVudS1saXN0LWl0ZW0gLnN1Yi1tZW51LWl0ZW17cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tZW51LWxpc3QgLm1lbnUtbGlzdC1pdGVtIC5zdWItbWVudS1pdGVtIC5zdWItbWVudS1pdGVte3BhZGRpbmctbGVmdDoxNXB4fS5tZW51LWxpc3QgLm1lbnUtbGlzdC1pdGVtIC5zdWItbWVudS1pdGVtIC5zdWItbWVudS1pdGVtIGxpOmZpcnN0LWNoaWxke21hcmdpbi10b3A6OHB4fS5tZW51LWxpc3QgLm1lbnUtbGlzdC1pdGVtIC5zdWItbWVudS1pdGVtIC5zdWItbWVudS1pdGVtIGxpOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbToxMHB4fS5tZW51LWxpc3QgLm1lbnUtbGlzdC1pdGVtIC5zdWItbWVudS1pdGVtIC5zdWItbWVudS1pdGVtIGxpIGF7Y29sb3I6Izg4OH0ubWVudS1zaWRlYmFyIGF7cGFkZGluZzoxMHB4IDA7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ubWVudS1saXN0LmRhcmsgLm1lbnUtbGlzdC1pdGVtIC5zdWItbWVudS1pdGVtIGxpIGEsLm1lbnUtbGlzdC5kYXJrIGxpIGF7Y29sb3I6IzIzMjMyM30ubWVudS1saXN0LmRhcmsgLm1lbnUtbGlzdC1pdGVtIC5zdWItbWVudS1pdGVtIC5zdWItbWVudS1pdGVtIGxpIGF7Y29sb3I6IzY1NjU2NX0ubWVudS10b2dnbGV7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt3aWR0aDozMHB4O2hlaWdodDozMHB4O3RleHQtYWxpZ246Y2VudGVyO3RvcDozMHB4O2N1cnNvcjpwb2ludGVyO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7ei1pbmRleDoxfS5zdWItbWVudS1pdGVtIC5tZW51LXRvZ2dsZXt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O3RvcDoxNXB4fS5tZW51LXRvZ2dsZTphZnRlciwubWVudS10b2dnbGU6YmVmb3Jle2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDo3cHg7dG9wOjE0cHg7aGVpZ2h0OjFweDt3aWR0aDoxMXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uc3ViLW1lbnUtaXRlbSAubWVudS10b2dnbGU6YWZ0ZXIsLnN1Yi1tZW51LWl0ZW0gLm1lbnUtdG9nZ2xlOmJlZm9yZXtyaWdodDo5cHg7dG9wOjEwcHg7aGVpZ2h0OjFweDt3aWR0aDo5cHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC41KX0uZGFyayAubWVudS10b2dnbGU6YWZ0ZXIsLmRhcmsgLm1lbnUtdG9nZ2xlOmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMzIzMjN9Lm1lbnUtdG9nZ2xlLmNvbGxhcHNlZDphZnRlcnt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstbW96LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5tZW51LXRvZ2dsZTphZnRlcnt0cmFuc2Zvcm06cm90YXRlKDApOy1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwKTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lm1lbnUtbGlzdC5kYXJrIGxpLmFjdGl2ZT5hLC5tZW51LWxpc3QuZGFyaz4ubWVudS1saXN0LWl0ZW0gLnN1Yi1tZW51LWl0ZW0gbGkuYWN0aXZlIGEsLm1lbnUtbGlzdC5kYXJrPi5tZW51LWxpc3QtaXRlbSAuc3ViLW1lbnUtaXRlbT5saTpmb2N1cyBhLC5tZW51LWxpc3QuZGFyaz4ubWVudS1saXN0LWl0ZW0gLnN1Yi1tZW51LWl0ZW0+bGk6aG92ZXIgYSwubWVudS1saXN0LmRhcms+bGk6Zm9jdXM+YSwubWVudS1saXN0LmRhcms+bGk6aG92ZXI+YXtjb2xvcjpyZ2JhKDAsMCwwLC42KSFpbXBvcnRhbnR9Lm1lbnUtbGlzdC5kYXJrPi5tZW51LWxpc3QtaXRlbSAuc3ViLW1lbnUtaXRlbSBsaS5hY3RpdmU+LnN1Yi1tZW51LWl0ZW0gbGkgYTpmb2N1cywubWVudS1saXN0LmRhcms+Lm1lbnUtbGlzdC1pdGVtIC5zdWItbWVudS1pdGVtIGxpLmFjdGl2ZT4uc3ViLW1lbnUtaXRlbSBsaSBhOmhvdmVyLC5tZW51LWxpc3QuZGFyaz4ubWVudS1saXN0LWl0ZW0gLnN1Yi1tZW51LWl0ZW0gbGkuYWN0aXZlPi5zdWItbWVudS1pdGVtIGxpLmFjdGl2ZSBhe2NvbG9yOnJnYmEoMCwwLDAsLjMpIWltcG9ydGFudH0ubWVudS1saXN0IC5tZW51LWxpc3QtaXRlbSAuc3ViLW1lbnUtaXRlbSBsaS5hY3RpdmUgYSwubWVudS1saXN0IC5tZW51LWxpc3QtaXRlbSAuc3ViLW1lbnUtaXRlbT5saTpmb2N1cyBhLC5tZW51LWxpc3QgLm1lbnUtbGlzdC1pdGVtIC5zdWItbWVudS1pdGVtPmxpOmhvdmVyIGEsLm1lbnUtbGlzdCAubWVudS1saXN0LWl0ZW06Zm9jdXM+YSwubWVudS1saXN0IC5tZW51LWxpc3QtaXRlbTpob3Zlcj5hLC5tZW51LWxpc3QgbGkuYWN0aXZlPmF7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSkhaW1wb3J0YW50fS5tZW51LWxpc3QgLm1lbnUtbGlzdC1pdGVtIC5zdWItbWVudS1pdGVtIGxpLmFjdGl2ZT4uc3ViLW1lbnUtaXRlbSBsaSBhOmZvY3VzLC5tZW51LWxpc3QgLm1lbnUtbGlzdC1pdGVtIC5zdWItbWVudS1pdGVtIGxpLmFjdGl2ZT4uc3ViLW1lbnUtaXRlbSBsaSBhOmhvdmVyLC5tZW51LWxpc3QgLm1lbnUtbGlzdC1pdGVtIC5zdWItbWVudS1pdGVtIGxpLmFjdGl2ZT4uc3ViLW1lbnUtaXRlbSBsaS5hY3RpdmUgYXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKSFpbXBvcnRhbnR9LmhhbWJ1cmdlci1tZW51LWJpZy1mb250IC5tZW51LWxpc3QgbGl7cGFkZGluZzoxM3B4IDB9LmhhbWJ1cmdlci1tZW51LWJpZy1mb250IC5tZW51LWxpc3QgbGkgYXtmb250LXNpemU6NDRweDtsaW5lLWhlaWdodDo1MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MH0uaGFtYnVyZ2VyLW1lbnUtYmlnLWZvbnQgLm1lbnUtbGlzdCBsaSBhOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjA7aGVpZ2h0OjJweDtib3R0b206MDtsZWZ0OjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQgMHM7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0IDBzfS5oYW1idXJnZXItbWVudS1iaWctZm9udCAubWVudS1saXN0LmRhcmsgbGkgYTpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDIzLDIzLDIzLC41KX0uaGFtYnVyZ2VyLW1lbnUtYmlnLWZvbnQgLm1lbnUtbGlzdCBsaT5hOmhvdmVyOmJlZm9yZXt2aXNpYmlsaXR5OnZpc2libGU7d2lkdGg6MTAwJX0uaGFtYnVyZ2VyLW1lbnUtYmlnLWZvbnQgLm1lbnUtbGlzdCBsaSAubWVudS10b2dnbGV7dG9wOjQxcHh9LmhhbWJ1cmdlci1tZW51LWJpZy1mb250IC5tZW51LWxpc3QgbGkgLnN1Yi1tZW51LWl0ZW17cGFkZGluZzoyNXB4IDAgMCAyMHB4fS5oYW1idXJnZXItbWVudS1iaWctZm9udCAubWVudS1saXN0IGxpIC5zdWItbWVudS1pdGVtIGxpe3BhZGRpbmc6MCAwIDRweCAwfS5oYW1idXJnZXItbWVudS1iaWctZm9udCAubWVudS1saXN0IGxpIC5zdWItbWVudS1pdGVtIGxpIGE6YmVmb3Jle2Rpc3BsYXk6bm9uZX0uaGFtYnVyZ2VyLW1lbnUtYmlnLWZvbnQgLm1lbnUtbGlzdCBsaSAuc3ViLW1lbnUtaXRlbSBsaSBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9LmhhbWJ1cmdlci1tZW51LWJpZy1mb250IC5tZW51LWxpc3QgbGkgLnN1Yi1tZW51LWl0ZW0gbGkgLm1lbnUtdG9nZ2xle3RvcDoxNXB4fS5oYW1idXJnZXItbWVudS1iaWctZm9udCAubWVudS1saXN0IGxpIC5zdWItbWVudS1pdGVtIC5zdWItbWVudS1pdGVte3BhZGRpbmc6MH0uZHJvcGRvd24tbWVudS5tZWdhbWVudS1jb250ZW50e3BhZGRpbmc6MjVweDttYXJnaW46MDtib3JkZXItcmFkaXVzOjB9LmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaSBhe3RleHQtYWxpZ246bGVmdDtmb250LXNpemU6MTNweDtjb2xvcjojODI4MjgyO3BhZGRpbmc6MDttYXJnaW46MCAwIDVweCAwO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDtmb250LXdlaWdodDo1MDB9LmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaSBhOmhvdmVyLC5kcm9wZG93bi1tZW51Lm1lZ2FtZW51LWNvbnRlbnQgbGkuYWN0aXZlIGF7Y29sb3I6IzIzMjMyM30uZHJvcGRvd24tbWVudS5tZWdhbWVudS1jb250ZW50IGxpLmRyb3Bkb3duLWhlYWRlcntjb2xvcjojMjMyMzIzO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6MDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDA7bWFyZ2luOjE1cHggMCAxMHB4IDA7Ym9yZGVyLWJvdHRvbTpub25lfS5kcm9wZG93bi1tZW51Lm1lZ2FtZW51LWNvbnRlbnQgbGkuZHJvcGRvd24taGVhZGVyOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnV7cG9zaXRpb246aW5oZXJpdH0ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXZ7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjYwcHggODBweDtib3gtc2hhZG93OjAgMCAzNXB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6NHB4O2JvcmRlcjowO2xlZnQ6YXV0b30ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXYgLmNvbCwubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXYgW2NsYXNzKj1jb2wtXXtwYWRkaW5nLWxlZnQ6MDtwYWRkaW5nLXJpZ2h0OjkwcHg7bGlzdC1zdHlsZTpub25lfS5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudSAubWVudS1iYWNrLWRpdiAuY29sOmxhc3QtY2hpbGQsLm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IC5tZW51LWJhY2stZGl2IFtjbGFzcyo9Y29sLV06bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0OjB9LmRyb3Bkb3duLW1lbnUubWVnYW1lbnUtY29udGVudCBsaSBhPml7Zm9udC1zaXplOjE0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOjI2cHh9Lm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IC5tZW51LWJhY2stZGl2IC5jb2wsLm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IC5tZW51LWJhY2stZGl2IHVsW2NsYXNzKj1kLV17cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDo5MHB4O2xpc3Qtc3R5bGU6bm9uZX0ubmF2LWl0ZW0uZHJvcGRvd24ubWVnYW1lbnUgLm1lbnUtYmFjay1kaXYgdWwuc21hbGwtZ2FwW2NsYXNzKj1kLV17cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDozMHB4fS5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudSAubWVudS1iYWNrLWRpdiAuY29sOmxhc3QtY2hpbGQsLm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IC5tZW51LWJhY2stZGl2IHVsW2NsYXNzKj1kLV06bGFzdC1jaGlsZHtwYWRkaW5nLXJpZ2h0OjUwcHh9Lm5hdi1pdGVtLmRyb3Bkb3duLm1lZ2FtZW51IGltZ3ttYXgtd2lkdGg6MjEwcHh9LnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7d2lkdGg6MjQwcHg7cGFkZGluZzoyNXB4IDA7Ym94LXNoYWRvdzowIDAgMzVweCByZ2JhKDAsMCwwLC4xKTttYXJnaW46MDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjRweH0uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93biAuZHJvcGRvd24tbWVudXtsZWZ0OjI0MXB4O21hcmdpbi10b3A6MDt0b3A6LTI1cHh9LnNpbXBsZS1kcm9wZG93bi5tZW51LWxlZnQgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDphdXRvO21pbi13aWR0aDoyNDBweDtwYWRkaW5nOjI1cHggMCAyMHB4fS5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLm1lbnUtbGVmdCAuZHJvcGRvd24tbWVudSwuc2ltcGxlLWRyb3Bkb3duLm1lbnUtbGVmdCAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7bGVmdDphdXRvO3JpZ2h0OjI0MXB4fS5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgbGl7cGFkZGluZzo5cHggNDVweCA5cHggMzVweDtkaXNwbGF5OmJsb2NrfS5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duIGF7ZGlzcGxheTpibG9jaztjb2xvcjojODI4MjgyO2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0Om5vcm1hbDtmb250LXdlaWdodDo1MDB9LnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gYS5hY3RpdmUsLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gYTpmb2N1cywuc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93biBhOmhvdmVyLC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duIGxpLmFjdGl2ZT5hLC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLmFjdGl2ZT5hLC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duOmhvdmVyPmF7Y29sb3I6IzIzMjMyM30uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93biBhIC5kcm9wZG93bi10b2dnbGV7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MjNweDtmb250LXNpemU6MTJweDttYXJnaW4tdG9wOjA7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtsaW5lLWhlaWdodDoyMHB4O3RleHQtYWxpZ246Y2VudGVyO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0uY2FydC1pdGVtLWxpc3R7bGVmdDphdXRvO3JpZ2h0OjA7Ym94LXNoYWRvdzowIDAgMzVweCByZ2JhKDAsMCwwLC4xKTtib3JkZXItcmFkaXVzOjRweDtib3JkZXI6MDtwYWRkaW5nOjA7bWluLXdpZHRoOjI1MHB4O21hcmdpbjowfS5jYXJ0LWl0ZW0tbGlzdCAuY2FydC1pdGVte2Rpc3BsYXk6ZmxleDtwYWRkaW5nOjE3cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2VkZWRlZDtwb3NpdGlvbjpyZWxhdGl2ZX0uY2FydC1pdGVtLWxpc3QgLmNhcnQtaXRlbS5jYXJ0LXRvdGFse2JhY2tncm91bmQtY29sb3I6I2Y3ZjdmN30uY2FydC1pdGVtLWxpc3QgLmNhcnQtaXRlbSBhLmNsb3Nle2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjE1cHg7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTVweDt0b3A6MTVweDtmb250LXdlaWdodDo0MDB9LmNhcnQtaXRlbS1saXN0IC5jYXJ0LWl0ZW0gYS5jbG9zZTpob3Zlcntjb2xvcjojMDAwfS5jYXJ0LWl0ZW0tbGlzdCAuY2FydC1pdGVtIC5wcm9kdWN0LWRldGFpbCBhe2NvbG9yOiMyMzIzMjM7Zm9udC1zaXplOjEycHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MTZweH0uY2FydC1pdGVtLWxpc3QgLmNhcnQtaXRlbSAucHJvZHVjdC1kZXRhaWwgYTpob3Zlcntjb2xvcjojMDAwfS5jYXJ0LWl0ZW0tbGlzdCAuY2FydC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1yYWRpdXM6MCAwIDZweCA2cHh9LmNhcnQtaXRlbS1saXN0IC5jYXJ0LWl0ZW0uY2FydC10b3RhbHstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5jYXJ0LWl0ZW0tbGlzdCAuY2FydC1pdGVtLmNhcnQtdG90YWwgLmJ0bnt3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjRweCAwfS5jYXJ0LWl0ZW0tbGlzdCAuY2FydC1pdGVtLmNhcnQtdG90YWwgLmJ0bjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0uY2FydC1pdGVtLWxpc3QgLmNhcnQtaXRlbSAucHJvZHVjdC1pbWFnZXttYXgtd2lkdGg6NTBweDt3aWR0aDozMCU7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmNhcnQtaXRlbS1saXN0IC5jYXJ0LWl0ZW0gLnByb2R1Y3QtZGV0YWlse3BhZGRpbmctbGVmdDoxNXB4O3dpZHRoOjcwJTtkaXNwbGF5OmlubGluZS1ibG9ja30uY2FydC1pdGVtLWxpc3QgLmNhcnQtaXRlbSAucHJvZHVjdC1kZXRhaWwgLml0ZW0tYW1tb3VudHtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxMXB4O2NvbG9yOiM4MjgyODI7bGluZS1oZWlnaHQ6bm9ybWFsfS5oZWFkZXItbGFuZ3VhZ2UgLmRyb3Bkb3duLW1lbnV7bGVmdDphdXRvIWltcG9ydGFudDtyaWdodDowO3BhZGRpbmc6MTVweDtib3gtc2hhZG93OjAgMCAzNXB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6NnB4O2JvcmRlcjowO21hcmdpbjowO21pbi13aWR0aDoxNDBweH0uaGVhZGVyLWxhbmd1YWdlIC5kcm9wZG93bi1tZW51IGF7Y29sb3I6IzgyODI4MjtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MnB4IDA7Zm9udC1zaXplOjEycHh9LmhlYWRlci1sYW5ndWFnZSAuZHJvcGRvd24tbWVudSBhOmhvdmVye2NvbG9yOiMwMDB9LmhlYWRlci1sYW5ndWFnZS5kcm9wZG93bi1zdHlsZS0wMSAuYnRue2NvbG9yOiM4MjgyODI7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtib3JkZXItbGVmdDowO2JvcmRlci10b3A6MCFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbTowIWltcG9ydGFudDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxMXB4O3BhZGRpbmc6MThweCAxOHB4IDE0cHggMThweDttYXJnaW46MDtiYWNrZ3JvdW5kOjAgMDtmb250LXdlaWdodDo0MDB9LnRvcC1iYXIgLmhlYWRlci1sYW5ndWFnZS5kcm9wZG93bi1zdHlsZS0wMXtwYWRkaW5nLWxlZnQ6MH0uaGVhZGVyLWxhbmd1YWdlLmRyb3Bkb3duLXN0eWxlLTAxIC5idG46aG92ZXJ7Y29sb3I6IzIzMjMyM30uaGVhZGVyLWxhbmd1YWdlLmRyb3Bkb3duLXN0eWxlLTAxIC5idG4gaXttYXJnaW4tbGVmdDoycHg7dG9wOi0xcHh9LmhlYWRlci1sYW5ndWFnZS5kcm9wZG93bi1zdHlsZS0wMSAuZHJvcGRvd24tbWVudXt6LWluZGV4Ojk5OTk5O21hcmdpbi10b3A6MXB4O2JvcmRlcjowfS5tZWdhbWVudS1kcm9wZG93bi1kYXJrIC5kcm9wZG93bi1tZW51LC5tZWdhbWVudS1kcm9wZG93bi1kYXJrIC5uYXYtaXRlbS5kcm9wZG93bi5tZWdhbWVudSAubWVudS1iYWNrLWRpdiwubWVnYW1lbnUtZHJvcGRvd24tZGFyayAubmF2LWl0ZW0uZHJvcGRvd24uc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51e2JhY2tncm91bmQ6IzIzMjMyM30ubWVnYW1lbnUtZHJvcGRvd24tZGFyayAuZHJvcGRvd24tbWVudS5tZWdhbWVudS1jb250ZW50IGxpLmRyb3Bkb3duLWhlYWRlcntjb2xvcjojZmZmfS5tZWdhbWVudS1kcm9wZG93bi1kYXJrIC5kcm9wZG93bi1tZW51Lm1lZ2FtZW51LWNvbnRlbnQgbGkgYTpob3ZlciwubWVnYW1lbnUtZHJvcGRvd24tZGFyayAuZHJvcGRvd24tbWVudS5tZWdhbWVudS1jb250ZW50IGxpLmFjdGl2ZSBhe2NvbG9yOiNmZmZ9Lm1lZ2FtZW51LWRyb3Bkb3duLWRhcmsgLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gYS5hY3RpdmUsLm1lZ2FtZW51LWRyb3Bkb3duLWRhcmsgLnNpbXBsZS1kcm9wZG93biAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24gYTpmb2N1cywubWVnYW1lbnUtZHJvcGRvd24tZGFyayAuc2ltcGxlLWRyb3Bkb3duIC5kcm9wZG93bi1tZW51IC5kcm9wZG93biBhOmhvdmVyLC5tZWdhbWVudS1kcm9wZG93bi1kYXJrIC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duIGxpLmFjdGl2ZT5hLC5tZWdhbWVudS1kcm9wZG93bi1kYXJrIC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLmFjdGl2ZT5hLC5tZWdhbWVudS1kcm9wZG93bi1kYXJrIC5zaW1wbGUtZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duOmhvdmVyPmF7Y29sb3I6I2ZmZn0ubWVnYW1lbnUtZHJvcGRvd24tZGFyayAuaGVhZGVyLWxhbmd1YWdlIC5kcm9wZG93bi1tZW51IGE6aG92ZXJ7Y29sb3I6I2ZmZn0ubWVnYW1lbnUtZHJvcGRvd24tZGFyayAuY2FydC1pdGVtLWxpc3QgLmNhcnQtaXRlbSBhe2NvbG9yOiM4MjgyODJ9Lm1lZ2FtZW51LWRyb3Bkb3duLWRhcmsgLmNhcnQtaXRlbS1saXN0IC5jYXJ0LWl0ZW0gYTpob3Zlcntjb2xvcjojZmZmfS5tZWdhbWVudS1kcm9wZG93bi1kYXJrIC5jYXJ0LWl0ZW0tbGlzdCAuY2FydC1pdGVtLmNhcnQtdG90YWx7YmFja2dyb3VuZC1jb2xvcjojMzMzfS5tZWdhbWVudS1kcm9wZG93bi1kYXJrIC5jYXJ0LWl0ZW0tbGlzdCAuY2FydC1pdGVte2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubWVnYW1lbnUtZHJvcGRvd24tZGFyayAuY2FydC1pdGVtLWxpc3QgLmNhcnQtaXRlbSAucHJvZHVjdC1kZXRhaWx7Y29sb3I6I2ZmZn0ubWVnYW1lbnUtZHJvcGRvd24tZGFyayAuY2FydC1pdGVtLWxpc3QgLmNhcnQtaXRlbS5jYXJ0LXRvdGFsIHNwYW57Y29sb3I6I2ZmZn0udG9wLWJhci1jb250YWN0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0udG9wLWJhci1jb250YWN0IC50b3AtYmFyLWNvbnRhY3QtbGlzdHtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO3BhZGRpbmc6OXB4IDE4cHg7Zm9udC1zaXplOjEzcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bGVmdH0udG9wLWJhci1jb250YWN0IC50b3AtYmFyLWNvbnRhY3QtbGlzdDpmaXJzdC1jaGlsZHtib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgwLDAsMCwuMSl9LnRvcC1iYXItY29udGFjdCAudG9wLWJhci1jb250YWN0LWxpc3QgaXttYXJnaW4tcmlnaHQ6NnB4O2ZvbnQtc2l6ZToxNHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoxcHh9LnRvcC1iYXIgLnNvY2lhbC1pY29uIGxpe2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6MCA5cHg7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZvcm0td3JhcHBlcntiYWNrZ3JvdW5kOnJnYmEoMzUsMzUsMzUsLjkpO3dpZHRoOjEwMCU7bGVmdDowO3RvcDowO292ZXJmbG93OmhpZGRlbiFpbXBvcnRhbnQ7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuMnMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0O2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O2hlaWdodDoxMDAlO3Bvc2l0aW9uOmZpeGVkO3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MDt6LWluZGV4Ojk5OX0uYWN0aXZlLWZvcm0gLmZvcm0td3JhcHBlcntvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO2N1cnNvcjp1cmwoIi4uLy4uL2FzZWludmVzdG1lbnRwdHkuY29tL2ltYWdlcy9tZmctY2xvc2UucG5nIiksYXV0b30uZm9ybS13cmFwcGVyIC5zZWFyY2gtZm9ybXtoZWlnaHQ6MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7d2lkdGg6MTAwJTtsZWZ0OjA7dG9wOjA7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3RyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluLW91dH0uYWN0aXZlLWZvcm0gLmZvcm0td3JhcHBlciAuc2VhcmNoLWZvcm17aGVpZ2h0OjQ1MHB4O2N1cnNvcjpkZWZhdWx0fS5mb3JtLXdyYXBwZXIgLnNlYXJjaC1jbG9zZXtjb2xvcjojMDAwO3Bvc2l0aW9uOmZpeGVkO3RvcDozMHB4O3JpZ2h0OjM1cHg7b3ZlcmZsb3c6dmlzaWJsZTtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtkaXNwbGF5OmJsb2NrO291dGxpbmU6MDtwYWRkaW5nOjA7ei1pbmRleDoxMDQ2O2JveC1zaGFkb3c6bm9uZTtmb250LXNpemU6MzBweDtmb250LXdlaWdodDozMDA7d2lkdGg6NDRweDtoZWlnaHQ6NDRweDtsaW5lLWhlaWdodDo0NHB4fS5mb3JtLXdyYXBwZXIgLnNlYXJjaC1mb3JtIC5zZWFyY2gtaW5wdXR7Y29sb3I6IzIzMjMyMztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjMjMyMzIzO3dpZHRoOjEwMCV9LmZvcm0td3JhcHBlciAuc2VhcmNoLWZvcm0tYm94e3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjQ1JX0uZm9ybS13cmFwcGVyIC5zZWFyY2gtZm9ybSAuc2VhcmNoLWJ1dHRvbntjb2xvcjojMjMyMzIzO2JvdHRvbTozM3B4O3Bvc2l0aW9uOmFic29sdXRlfS5mb3JtLXdyYXBwZXIgLnNlYXJjaC1mb3JtIC5zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6IzIzMjMyMztvcGFjaXR5OjF9LmZvcm0td3JhcHBlciAuc2VhcmNoLWZvcm0gLnNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojMjMyMzIzO29wYWNpdHk6MX0uZm9ybS13cmFwcGVyIC5zZWFyY2gtZm9ybSAuc2VhcmNoLWlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6IzIzMjMyMztvcGFjaXR5OjF9LnNob3ctc2VhcmNoLXBvcHVwe292ZXJmbG93OmhpZGRlbn0uc2hvdy1zZWFyY2gtcG9wdXAgaGVhZGVyIC50b3AtYmFye3otaW5kZXg6OX0uc2hvdy1zZWFyY2gtcG9wdXAgLmZpeGVkLXRvcHt6LWluZGV4OjEwMzJ9LnNob3ctc2VhcmNoLXBvcHVwLnNob3ctc2VhcmNoLXBvcHVwLW1pbmktaGVhZGVyIC50b3AtYmFye3otaW5kZXg6MTAzM30uc2VhcmNoLWZvcm0gLnNlYXJjaC1pbnB1dHtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbToycHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNSk7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6MzAwO3BhZGRpbmc6MTBweCAzOHB4IDEwcHggMnB4O2JhY2tncm91bmQ6MCAwO2xpbmUtaGVpZ2h0OjQwcHg7Y29sb3I6I2ZmZn0uc2VhcmNoLWZvcm0gLnNlYXJjaC1pbnB1dDpmb2N1c3tvdXRsaW5lOjB9LnNlYXJjaC1pbnB1dCBbcGxhY2Vob2xkZXJdLC5zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6Izc4Nzg3OH0uc2VhcmNoLWZvcm0gLnNlYXJjaC1idXR0b257Zm9udC1zaXplOjE2cHg7Y29sb3I6I2ZmZjtib3R0b206MzdweDtyaWdodDowO2xpbmUtaGVpZ2h0Om5vcm1hbDtvdXRsaW5lOjA7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDowO21hcmdpbi1yaWdodDowO2JvcmRlcjpub25lO2JhY2tncm91bmQ6MCAwO3RvcDppbmhlcml0fS5zZWFyY2gtYnV0dG9ue2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MDttYXJnaW4tcmlnaHQ6MDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kOjAgMH0ubmF2YmFyLWZ1bGwtc2NyZWVuLW1lbnUtaW5uZXIsLm5hdmJhci1tb2Rlcm4taW5uZXJ7ZGlzcGxheTpub25lfS5wYWdlLXRpdGxlLWV4dHJhLXNtYWxsIGgxe2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjIwcHh9LnBhZ2UtdGl0bGUtc21hbGwgaDF7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjBweH0ucGFnZS10aXRsZS1tZWRpdW0gaDF7Zm9udC1zaXplOjI4cHg7bGluZS1oZWlnaHQ6MzJweH0ucGFnZS10aXRsZS1sYXJnZSBoMXtmb250LXNpemU6NDJweDtsaW5lLWhlaWdodDo0OXB4fS5wYWdlLXRpdGxlLWV4dHJhLWxhcmdlIGgxe2ZvbnQtc2l6ZTo1NXB4O2xpbmUtaGVpZ2h0OjYycHh9LnBhZ2UtdGl0bGUtc21hbGwgc3BhbntwYWRkaW5nLWxlZnQ6MjVweDttYXJnaW4tbGVmdDoyNXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMXB4fS5wYWdlLXRpdGxlLXNtYWxsIHNwYW46YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlci1sZWZ0OjJweCBzb2xpZCAjMjMyMzIzO2NvbnRlbnQ6IiI7aGVpZ2h0OjEycHg7dG9wOjRweDtsZWZ0OjB9LnBhZ2UtdGl0bGUtc2VwYXJhdG9yLWxpbmV7aGVpZ2h0OjFweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6OXB4O2xlZnQ6MH0ucGFnZS10aXRsZS1zZXBhcmF0b3ItbGluZTpiZWZvcmV7ZGlzcGxheTpub25lfS5wYWdlLXRpdGxlLWNvbG9yZnVsey13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjozczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246M3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246M3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjozczt0cmFuc2l0aW9uLWR1cmF0aW9uOjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpiYWNrZ3JvdW5kLWNvbG9yOy1vLXRyYW5zaXRpb24tcHJvcGVydHk6YmFja2dyb3VuZC1jb2xvcjt0cmFuc2l0aW9uLXByb3BlcnR5OmJhY2tncm91bmQtY29sb3J9LmJyZWFkY3J1bWJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjA7bWFyZ2luOjB9LmJyZWFkY3J1bWIgdWwgbGl7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmJyZWFkY3J1bWIgdWwgbGk6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH0uYnJlYWRjcnVtYiB1bD5saTphZnRlcntjb250ZW50OiJcZjExMSI7Zm9udC1mYW1pbHk6IkZvbnQgQXdlc29tZSA1IEZyZWUiO2ZvbnQtd2VpZ2h0OjkwMDtwYWRkaW5nOjAgMTBweCAwIDExcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZvbnQtc2l6ZTo0cHg7b3BhY2l0eTouNn0uYnJlYWRjcnVtYiB1bD5saTpsYXN0LWNoaWxkOmFmdGVye2JvcmRlci1yaWdodDowO2NvbnRlbnQ6IiI7cGFkZGluZzowfS5kb3duLXNlY3Rpb257cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtib3R0b206NTBweDtsZWZ0OjA7cmlnaHQ6MH0uZG93bi1zZWN0aW9uLWFycm93e2JvcmRlci1yYWRpdXM6MTAwJTtoZWlnaHQ6NDVweDt3aWR0aDo0NXB4O2xpbmUtaGVpZ2h0OjUwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5zY3JvbGwtZG93bi1ib3R0b217cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjMwcHg7d2lkdGg6YXV0bztsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4Ojk5fS5zY3JvbGwtZG93bi1ib3R0b20gLnNjcm9sbC1kb3duLXRleHR7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjI1cHg7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3dpZHRoOjEwMHB4O2hlaWdodDphdXRvO3RyYW5zZm9ybS1vcmlnaW46MH0uc2Nyb2xsLWRvd257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjYwcHg7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6YXV0bztsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4Ojk5fS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9ue2JvdHRvbTo0NXB4fS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7YmFja2dyb3VuZDowIDA7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlci1yYWRpdXM6MTAwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MTJweDttYXJnaW46MCA3cHg7d2lkdGg6MTJweDtib3JkZXI6MnB4IHNvbGlkICMyMzIzMjM7b3V0bGluZTowfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXtiYWNrZ3JvdW5kOiMyMzIzMjN9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHN7d2lkdGg6MTAwJTtsZWZ0OjB9LnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbXtib3R0b206MH0uc3dpcGVyLWNvbnRhaW5lci5zd2lwZXItYXV0by1zbGlkZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5zd2lwZXItY29udGFpbmVyLnN3aXBlci1hdXRvLXNsaWRlIC5zd2lwZXItc2xpZGV7d2lkdGg6YXV0b30uc3dpcGVyLWNvbnRhaW5lci5zd2lwZXItYXV0by1zbGlkZSAuc3dpcGVyLXNsaWRlOm50aC1jaGlsZCgybil7d2lkdGg6YXV0byFpbXBvcnRhbnR9LnN3aXBlci1jb250YWluZXIuc3dpcGVyLWF1dG8tc2xpZGUgLnN3aXBlci1zbGlkZTpudGgtY2hpbGQoM24pe3dpZHRoOmF1dG8haW1wb3J0YW50fS5zbGlkZXItdmVydGljYWx7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZX0uc2xpZGVyLXZlcnRpY2FsIC5zd2lwZXItc2xpZGV7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZDojZmZmfS5zbGlkZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHN7cmlnaHQ6NjBweH0uc2xpZGVyLXZlcnRpY2FsIC5zd2lwZXItcGFnaW5hdGlvbnt3aWR0aDphdXRvO2xlZnQ6aW5oZXJpdDtib3R0b206aW5oZXJpdCFpbXBvcnRhbnR9LnNsaWRlci12ZXJ0aWNhbCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItYm90dG9tLWNvbnRlbnR7b3BhY2l0eTowO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dCAwczstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dCAwczstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dCAwczstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0IDBzOy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dCAwc30uc2xpZGVyLXZlcnRpY2FsIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItYm90dG9tLWNvbnRlbnR7b3BhY2l0eToxO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dCAuM3M7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQgLjNzOy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0IC4zczstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0IC4zczstby10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQgLjNzfS5zbGlkZXItdmVydGljYWwgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXJpZ2h0LWNvbnRlbnR7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0IDBzOy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0IDBzOy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQgMHM7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0IDBzfS5zbGlkZXItdmVydGljYWwgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1yaWdodC1jb250ZW50e29wYWNpdHk6MTt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQgLjNzOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0IC4zczstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dCAuM3M7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dCAuM3M7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0IC4zc30uc2xpZGVyLXZlcnRpY2FsIC5zd2lwZXItbnVtYmVyLXBhZ2luYXRpb257cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDt6LWluZGV4OjE7Zm9udC1mYW1pbHk6UG9wcGlucyxzYW5zLXNlcmlmO2NvbG9yOiNmZmY7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjJweDtsZWZ0OjEwNXB4O2JvdHRvbToxMjVweH0uc2xpZGVyLXZlcnRpY2FsIC5zd2lwZXItbnVtYmVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWN1cnJlbnQ6YWZ0ZXJ7Y29udGVudDonLyc7bWFyZ2luOjAgNXB4fS5zd2lwZXItdGh1bWItbmV4dC1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDt3aWR0aDoxMDAlO3BhZGRpbmc6MCAxNXB4O3otaW5kZXg6MX0uc3dpcGVyLXRodW1iLW5leHQtcHJldiAuc3dpcGVyLXRodW1iLW5leHQsLnN3aXBlci10aHVtYi1uZXh0LXByZXYgLnN3aXBlci10aHVtYi1wcmV2e3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDppbmhlcml0O2xlZnQ6aW5oZXJpdDt0cmFuc2Zvcm06dHJhbnNsYXRlKDApO3dpZHRoOjQ4JTtkaXNwbGF5OmlubGluZS1ibG9jaztiYWNrZ3JvdW5kOiMyMzIzMjM7Y29sb3I6I2ZmZn0uc2luZ2xlLXByb2R1Y3QtdGh1bWIgLnN3aXBlci1zbGlkZXtoZWlnaHQ6YXV0byFpbXBvcnRhbnQ7Y3Vyc29yOnBvaW50ZXJ9LnNsaWRlci16b29tLXNsaWRle3Bvc2l0aW9uOnJlbGF0aXZlfS5zbGlkZXItem9vbS1zbGlkZSAuc3dpcGVyLXNsaWRle29wYWNpdHk6LjM7dHJhbnNmb3JtOnNjYWxlKDEpfS5zbGlkZXItem9vbS1zbGlkZSAuc3dpcGVyLXNsaWRlLnN3aXBlci1zbGlkZS1hY3RpdmV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZSgxKX0uc2xpZGVyLXpvb20tc2xpZGUgLnN3aXBlci1zbGlkZSAuc2xpZGVyLXpvb20tY29udGVudHtvcGFjaXR5OjB9LnNsaWRlci16b29tLXNsaWRlIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc2xpZGVyLXpvb20tY29udGVudHtvcGFjaXR5OjF9LnNsaWRlci16b29tLWNvbnRlbnQgLnNsaWRlci16b29tLWxhYmVse21hcmdpbi10b3A6LTcwcHg7bWFyZ2luLXJpZ2h0Oi0yNXB4O3dpZHRoOjc1cHg7dGV4dC1hbGlnbjpjZW50ZXJ9LnNsaWRlci16b29tLXNsaWRlLnNsaWRlci16b29tLXNsaWRlLWRhcmsgLnN3aXBlci1zbGlkZS5zd2lwZXItc2xpZGUtbmV4dCwuc2xpZGVyLXpvb20tc2xpZGUuc2xpZGVyLXpvb20tc2xpZGUtZGFyayAuc3dpcGVyLXNsaWRlLnN3aXBlci1zbGlkZS1wcmV2e29wYWNpdHk6MX0uc2xpZGVyLXpvb20tc2xpZGUuc2xpZGVyLXpvb20tc2xpZGUtZGFyayAuc3dpcGVyLXNsaWRlLnN3aXBlci1zbGlkZS1uZXh0IC5zbGlkZXItem9vbS1zbGlkZS1kYXJrLW92ZXJsYXksLnNsaWRlci16b29tLXNsaWRlLnNsaWRlci16b29tLXNsaWRlLWRhcmsgLnN3aXBlci1zbGlkZS5zd2lwZXItc2xpZGUtcHJldiAuc2xpZGVyLXpvb20tc2xpZGUtZGFyay1vdmVybGF5e29wYWNpdHk6LjZ9LnNsaWRlci1jYXB0aW9uLWJsb2ctY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtoZWlnaHQ6YXV0bzt3aWR0aDoxMDAlO2xlZnQ6MH0uc2xpZGVyLWNhcHRpb24tYmxvZy1jYXB0aW9uIC5zd2lwZXItc2xpZGV7cGFkZGluZzo1NXB4IDYwcHh9LnNsaWRlci1jYXB0aW9uLWJsb2ctY2FwdGlvbiAuc3dpcGVyLXNsaWRlIGg2e2ZvbnQtc2l6ZToyNHB4fS5jYXB0aW9uLWJsb2ctbmV4dCwuY2FwdGlvbi1ibG9nLXByZXZ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2NvbG9yOiNmZmY7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7Ym9yZGVyOjA7cmlnaHQ6MDtmb250LXNpemU6MjBweDt3aWR0aDo1MHB4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NTAlO3RleHQtYWxpZ246Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3otaW5kZXg6MTtjdXJzb3I6cG9pbnRlcn0uY2FwdGlvbi1ibG9nLW5leHR7dG9wOjA7aGVpZ2h0OmNhbGMoNTAlIC0gMnB4KX0uY2FwdGlvbi1ibG9nLW5leHQ6Zm9jdXMsLmNhcHRpb24tYmxvZy1wcmV2OmZvY3Vze291dGxpbmU6MH0ucHJvZHVjdC1zbGlkZXIgLnN3aXBlci1zbGlkZSAucG9ydGZvbGlvLWJveDpob3ZlciAucG9ydGZvbGlvLWltYWdlIGltZ3tvcGFjaXR5Oi41fS5ob3Jpem9udGFsLXBvcnRmb2xpby1zbGlkZXIgLnN3aXBlci1zbGlkZXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lmhvcml6b250YWwtcG9ydGZvbGlvLXNsaWRlciAuc3dpcGVyLXNsaWRlIC5zbGlkZXItdGl0bGV7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lmhvcml6b250YWwtcG9ydGZvbGlvLXNsaWRlciAuc3dpcGVyLXNsaWRlIC5zbGlkZXItdGl0bGUgLnNsaWRlci10aXRsZS1ob3Zlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTIlO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDo0cHg7ei1pbmRleDoxO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGVYKDApOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgwKTstbW96LXRyYW5zZm9ybTpzY2FsZVgoMCk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstby10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30uaG9yaXpvbnRhbC1wb3J0Zm9saW8tc2xpZGVyIC5zd2lwZXItc2xpZGU6aG92ZXIgLnNsaWRlci10aXRsZS1ob3ZlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlWCgxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7LW1vei10cmFuc2Zvcm06c2NhbGVYKDEpOy1tcy10cmFuc2Zvcm06c2NhbGVYKDEpOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9LnN3aXBlci1ob3Jpem9udGFsLTNkLnN3aXBlci1jb250YWluZXJ7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47ei1pbmRleDoxfS5zd2lwZXItaG9yaXpvbnRhbC0zZCAuc3dpcGVyLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjE7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6LXdlYmtpdC10cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTotd2Via2l0LXRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSwtd2Via2l0LXRyYW5zZm9ybTtib3gtc2l6aW5nOmNvbnRlbnQtYm94fS5zd2lwZXItaG9yaXpvbnRhbC0zZC5zd2lwZXItcGFnaW5hdGlvbi1ib3R0b20gLnN3aXBlci13cmFwcGVye21hcmdpbi1ib3R0b206MH0uc3dpcGVyLWhvcml6b250YWwtM2QgLnN3aXBlci1zbGlkZXtmaWx0ZXI6Z3JheXNjYWxlKDEwMCUpO29wYWNpdHk6MDstd2Via2l0LWZsZXgtc2hyaW5rOjA7LW1zLWZsZXg6MCAwIGF1dG87LW1zLWZsZXgtbmVnYXRpdmU6MDtmbGV4LXNocmluazowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmV9LnN3aXBlci1ob3Jpem9udGFsLTNkIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLW5leHQsLnN3aXBlci1ob3Jpem9udGFsLTNkIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLXByZXZ7b3BhY2l0eTouN30uc3dpcGVyLWhvcml6b250YWwtM2QgLnN3aXBlci1zbGlkZS5zd2lwZXItc2xpZGUtYWN0aXZle29wYWNpdHk6MTtmaWx0ZXI6Z3JheXNjYWxlKDApO2JveC1zaGFkb3c6MCAwIDYwcHggcmdiYSgwLDAsMCwuMTcpfS5zd2lwZXItaG9yaXpvbnRhbC0zZC5zd2lwZXItY29udGFpbmVye3dpZHRoOjEwMCU7cGFkZGluZy1ib3R0b206NjBweH0uc3dpcGVyLWhvcml6b250YWwtM2QgLnN3aXBlci1zbGlkZS5zd2lwZXItc2xpZGUtYWN0aXZlIC5zbGlkZXItaW1hZ2U6aG92ZXIgLnByZXZpZXctaWNvbntvcGFjaXR5OjE7ei1pbmRleDoxfS5zd2lwZXItaG9yaXpvbnRhbC0zZC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1ob3Jpem9udGFsLTNkLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHR7YmFja2dyb3VuZC1pbWFnZTpub25lfS5zd2lwZXItaG9yaXpvbnRhbC0zZCAuc3dpcGVyLXNsaWRlIGltZ3tvcGFjaXR5OjB9LnN3aXBlci1ob3Jpem9udGFsLTNkIC5zd2lwZXItc2xpZGUtYWN0aXZlIGltZ3tvcGFjaXR5OjF9LnRpbHQtYm94ey13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkOy1tb3otdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkOy1tcy10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkO3Bvc2l0aW9uOnJlbGF0aXZlfS50aWx0LWJveCAudGlsdC1ib3gtY29udGVudHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDE1MHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDE1MHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMTUwcHgpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVaKDE1MHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWigxNTBweCk7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZTozNHB4fS5ob21lLXNwbGl0LXBvcnRmb2xpbyAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUtbHstd2Via2l0LXRyYW5zaXRpb246LjVzIGVhc2U7LW8tdHJhbnNpdGlvbjouNXMgZWFzZTt0cmFuc2l0aW9uOi41cyBlYXNlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpO3otaW5kZXg6MTttaW4taGVpZ2h0OjYwMHB4fS5ob21lLXNwbGl0LXBvcnRmb2xpbyAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUtcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstd2Via2l0LXRyYW5zaXRpb246LjVzIGVhc2U7LW8tdHJhbnNpdGlvbjouNXMgZWFzZTt0cmFuc2l0aW9uOi41cyBlYXNlO21pbi1oZWlnaHQ6NjAwcHh9LmhvbWUtc3BsaXQtcG9ydGZvbGlvIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtbCwuaG9tZS1zcGxpdC1wb3J0Zm9saW8gLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1yLC5ob21lLXNwbGl0LXBvcnRmb2xpbyAuc3dpcGVyLXNsaWRlLWR1cGxpY2F0ZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1sLC5ob21lLXNwbGl0LXBvcnRmb2xpbyAuc3dpcGVyLXNsaWRlLWR1cGxpY2F0ZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1yey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5ob21lLXNwbGl0LXBvcnRmb2xpbyAuc2xpZGVyLXNwbGl0LXNjcm9sbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c3tyaWdodDo2MHB4O3dpZHRoOmF1dG87bGVmdDphdXRvfS5zbGlkZXItYmxvZy1iYW5uZXIgLnN3aXBlci1zbGlkZXtvcGFjaXR5Oi42Oy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LnNsaWRlci1ibG9nLWJhbm5lciAuc3dpcGVyLXNsaWRlLnN3aXBlci1zbGlkZS1hY3RpdmV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LnNsaWRlci1ibG9nLWJhbm5lciAuc3dpcGVyLWJvdHRvbS1jb250ZW50e29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTBweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSg1MHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTBweCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTBweCk7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5Oi4xczstbW96LXRyYW5zaXRpb24tZGVsYXk6LjFzOy1tcy10cmFuc2l0aW9uLWRlbGF5Oi4xczstby10cmFuc2l0aW9uLWRlbGF5Oi4xczt0cmFuc2l0aW9uLWRlbGF5Oi4xc30uc2xpZGVyLWJsb2ctYmFubmVyIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItYm90dG9tLWNvbnRlbnR7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjNzOy1tb3otdHJhbnNpdGlvbi1kZWxheTouM3M7LW1zLXRyYW5zaXRpb24tZGVsYXk6LjNzOy1vLXRyYW5zaXRpb24tZGVsYXk6LjNzO3RyYW5zaXRpb24tZGVsYXk6LjNzfS5zbGlkZXItYmxvZy1iYW5uZXIgLnN3aXBlci1zbGlkZSAuYnRuLWZhbmN5e3BhZGRpbmc6NnB4IDE2cHg7Zm9udC1zaXplOjEycHh9LnNsaWRlci1jdXN0b20taW1hZ2UtcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2JhY2tncm91bmQtc2l6ZTpjb3Zlcjtib3JkZXI6MDstd2Via2l0LWZpbHRlcjpncmF5c2NhbGUoMSk7ZmlsdGVyOmdyYXlzY2FsZSgxKTtvcGFjaXR5Oi44O3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7bWFyZ2luOjAgMTJweCFpbXBvcnRhbnQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uc2xpZGVyLWN1c3RvbS1pbWFnZS1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXtvcGFjaXR5OjE7LXdlYmtpdC1maWx0ZXI6Z3JheXNjYWxlKDApO2ZpbHRlcjpncmF5c2NhbGUoMCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uc2xpZGVyLWN1c3RvbS1pbWFnZS1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSwuc2xpZGVyLWN1c3RvbS1pbWFnZS1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQ6aG92ZXJ7dHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xLDEuMSk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30ud2hpdGUtbW92ZSAuc3dpcGVyLXNsaWRlLC53aGl0ZS1tb3ZlIC5zd2lwZXItd3JhcHBlcntjdXJzb3I6dXJsKCIuLi8uLi9hc2VpbnZlc3RtZW50cHR5LmNvbS9pbWFnZXMvaWNvbi1tb3ZlLWxpZ2h0LnBuZyIpLG1vdmV9LmJsYWNrLW1vdmUgLnN3aXBlci1zbGlkZSwuYmxhY2stbW92ZSAuc3dpcGVyLXdyYXBwZXJ7Y3Vyc29yOnVybCgiLi4vLi4vYXNlaW52ZXN0bWVudHB0eS5jb20vaW1hZ2VzL2ljb24tbW92ZS1ibGFjay5wbmciKSxtb3ZlfS52ZXJ0aWNhbC13aGl0ZS1tb3ZlIC5zd2lwZXItc2xpZGUsLnZlcnRpY2FsLXdoaXRlLW1vdmUgLnN3aXBlci13cmFwcGVye2N1cnNvcjp1cmwoIi4uLy4uL2FzZWludmVzdG1lbnRwdHkuY29tL2ltYWdlcy92ZXJ0aWNhbC1pY29uLW1vdmUtbGlnaHQucG5nIiksbW92ZX0udmVydGljYWwtYmxhY2stbW92ZSAuc3dpcGVyLXNsaWRlLC52ZXJ0aWNhbC1ibGFjay1tb3ZlIC5zd2lwZXItd3JhcHBlcntjdXJzb3I6dXJsKCIuLi8uLi9hc2VpbnZlc3RtZW50cHR5LmNvbS9pbWFnZXMvdmVydGljYWwtaWNvbi1tb3ZlLWJsYWNrLnBuZyIpLG1vdmV9LnN3aXBlci1wYWdpbmF0aW9uLW1lZGl1bSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHh9LnN3aXBlci1wYWdpbmF0aW9uLW1lZGl1bSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS5zd2lwZXItcGFnaW5hdGlvbi1iaWcgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt3aWR0aDoxNHB4O2hlaWdodDoxNHB4fS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46MCA2cHh9LnNsaWRlci1jdXN0b20taW1hZ2U+LnN3aXBlci1idXR0b24tbmV4dCwuc2xpZGVyLWN1c3RvbS1pbWFnZT4uc3dpcGVyLWJ1dHRvbi1wcmV2e2JvdHRvbTowO3RvcDppbmhlcml0O2xlZnQ6aW5oZXJpdH0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e21hcmdpbjoxMHB4IDB9LnN3aXBlci1wYWdpbmF0aW9uLWJvdHRvbSAuc3dpcGVyLXdyYXBwZXJ7bWFyZ2luLWJvdHRvbTo2NXB4fS5zd2lwZXItcGFnaW5hdGlvbi1ib3R0b20uc21hbGwtYm90dG9tIC5zd2lwZXItd3JhcHBlcnttYXJnaW4tYm90dG9tOjUwcHh9LnN3aXBlci1wYWdpbmF0aW9uLWJvdHRvbT4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0c3tib3R0b206MH0uc3dpcGVyLXBhZ2luYXRpb24tYm90dG9tPi5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1wYWdpbmF0aW9uLWJvdHRvbT4uc3dpcGVyLWJ1dHRvbi1wcmV2e2JvdHRvbTowO3RvcDppbmhlcml0O2xlZnQ6aW5oZXJpdH0uc3dpcGVyLWxpZ2h0LXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtib3JkZXI6MnB4IHNvbGlkICNmZmY7b3BhY2l0eTouNX0uc3dpcGVyLWxpZ2h0LXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2ZmZjtvcGFjaXR5OjF9LnN3aXBlci1wYWdpbmF0aW9uLW1lZGl1bS5zd2lwZXItbGlnaHQtcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2JvcmRlcjoycHggc29saWQgI2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7b3BhY2l0eToxfS5zd2lwZXItcGFnaW5hdGlvbi1tZWRpdW0uc3dpcGVyLWxpZ2h0LXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle2JvcmRlci1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LnN3aXBlci1wYWdpbmF0aW9uLWRvdCAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2JhY2tncm91bmQ6IzAwMDtib3JkZXItY29sb3I6IzAwMDtvcGFjaXR5Oi40fS5zd2lwZXItcGFnaW5hdGlvbi1kb3QgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmV7YmFja2dyb3VuZDojMDAwO2JvcmRlci1jb2xvcjojMDAwO29wYWNpdHk6MX0uc3dpcGVyLXBhZ2luYXRpb24tZG90LnN3aXBlci1saWdodC1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7YmFja2dyb3VuZDojZmZmO2JvcmRlci1jb2xvcjojZmZmO29wYWNpdHk6LjV9LnN3aXBlci1wYWdpbmF0aW9uLWRvdC5zd2lwZXItbGlnaHQtcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLWNvbG9yOiNmZmY7b3BhY2l0eToxfS5zd2lwZXItcGFnaW5hdGlvbi1zcXVhcmUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtoZWlnaHQ6M3B4O3dpZHRoOjMwcHg7Ym9yZGVyLXJhZGl1czowO29wYWNpdHk6LjM7Y3Vyc29yOnBvaW50ZXJ9LnN3aXBlci1wYWdpbmF0aW9uLXNxdWFyZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXtvcGFjaXR5OjF9LnN3aXBlci1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQsLnN3aXBlci1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWR7b3BhY2l0eTouNn0uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItYnV0dG9uLXByZXZ7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtsaW5lLWhlaWdodDo0MHB4O21hcmdpbjowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zcztvdXRsaW5lOjB9LnN3aXBlci1idXR0b24tbmV4dC5sYXJnZSwuc3dpcGVyLWJ1dHRvbi1wcmV2Lmxhcmdle2hlaWdodDo2MnB4O3dpZHRoOjYycHg7bGluZS1oZWlnaHQ6NjJweDtmb250LXNpemU6MThweH0uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXJ7ZGlzcGxheTpub25lfS5zd2lwZXItYnV0dG9uLW5leHQ6aG92ZXIsLnN3aXBlci1idXR0b24tcHJldjpob3Zlcnstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5zd2lwZXItYnV0dG9uLW5leHR7cmlnaHQ6MH0uc3dpcGVyLWJ1dHRvbi1wcmV2e2xlZnQ6MH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDEuc3dpcGVyLWJ1dHRvbi1uZXh0LC5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMS5zd2lwZXItYnV0dG9uLXByZXZ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC41KTtjb2xvcjojZmZmfS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMS5zd2lwZXItYnV0dG9uLW5leHQ6aG92ZXIsLnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAxLnN3aXBlci1idXR0b24tcHJldjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIzMjMyM30uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDEuc3dpcGVyLWJ1dHRvbi1uZXh0LmxpZ2h0LC5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMS5zd2lwZXItYnV0dG9uLXByZXYubGlnaHR7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMyMzIzMjN9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAxLnN3aXBlci1idXR0b24tbmV4dC5saWdodDpob3Zlciwuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDEuc3dpcGVyLWJ1dHRvbi1wcmV2LmxpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6IzIzMjMyMztjb2xvcjojZmZmfS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMS5zd2lwZXItYnV0dG9uLW5leHQuZGFyaywuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDEuc3dpcGVyLWJ1dHRvbi1wcmV2LmRhcmt7YmFja2dyb3VuZC1jb2xvcjojMjMyMzIzO2NvbG9yOiNmZmZ9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAxLnN3aXBlci1idXR0b24tbmV4dC5kYXJrOmhvdmVyLC5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMS5zd2lwZXItYnV0dG9uLXByZXYuZGFyazpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIzMjMyM30uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDEuc3dpcGVyLWJ1dHRvbi1uZXh0LnJvdW5kZWQtY2lyY2xle3JpZ2h0OjQwcHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAxLnN3aXBlci1idXR0b24tcHJldi5yb3VuZGVkLWNpcmNsZXtsZWZ0OjQwcHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAyLnN3aXBlci1idXR0b24tbmV4dHtyaWdodDotOTBweH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDIuc3dpcGVyLWJ1dHRvbi1wcmV2e2xlZnQ6LTkwcHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAyLnN3aXBlci1idXR0b24tbmV4dCwuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDIuc3dpcGVyLWJ1dHRvbi1wcmV2e2JvcmRlcjoycHggc29saWQgcmdiYSgwLDAsMCwuMTUpO2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiMyMzIzMjM7aGVpZ2h0OjQ1cHg7d2lkdGg6NDVweDtsaW5lLWhlaWdodDo0NXB4O3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDIuc3dpcGVyLWJ1dHRvbi1uZXh0OmhvdmVyLC5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMi5zd2lwZXItYnV0dG9uLXByZXY6aG92ZXJ7YmFja2dyb3VuZDojMjMyMzIzO2NvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZmZmfS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMi5zd2lwZXItYnV0dG9uLW5leHQubGlnaHQsLnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAyLnN3aXBlci1idXR0b24tcHJldi5saWdodHtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMyk7Y29sb3I6I2ZmZjtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDo0MnB4fS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMi5zd2lwZXItYnV0dG9uLW5leHQubGlnaHQ6aG92ZXIsLnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAyLnN3aXBlci1idXR0b24tcHJldi5saWdodDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIzMjMyM30uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDMuc3dpcGVyLWJ1dHRvbi1uZXh0LC5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMy5zd2lwZXItYnV0dG9uLXByZXZ7Ym9yZGVyOjFweCBzb2xpZCAjZTRlNGU0O2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiMyMzIzMjM7bGluZS1oZWlnaHQ6NDBweDt0cmFuc2Zvcm06bm9uZTt0b3A6aW5oZXJpdDt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAzLnN3aXBlci1idXR0b24tbmV4dDpob3Zlciwuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDMuc3dpcGVyLWJ1dHRvbi1wcmV2OmhvdmVye2JveC1zaGFkb3c6MCAwIDIwcHggcmdiYSgwLDAsMCwuMTUpO2JvcmRlci1jb2xvcjojZmZmO2JhY2tncm91bmQ6I2ZmZn0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDMuc3dpcGVyLWJ1dHRvbi1uZXh0LmxpZ2h0LC5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMy5zd2lwZXItYnV0dG9uLXByZXYubGlnaHR7Ym9yZGVyOjJweCBzb2xpZCAjZmZmO2ZvbnQtc2l6ZToxNnB4O2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MzhweH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDMuc3dpcGVyLWJ1dHRvbi1uZXh0LmxpZ2h0OmhvdmVyLC5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMy5zd2lwZXItYnV0dG9uLXByZXYubGlnaHQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMyMzIzMjN9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAzLnN3aXBlci1idXR0b24tbmV4dC53aGl0ZS10cmFuc3BhcmVudCwuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDMuc3dpcGVyLWJ1dHRvbi1wcmV2LndoaXRlLXRyYW5zcGFyZW50e2JveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuMTUpO2JvcmRlcjowIHNvbGlkICNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtjb2xvcjojODI4MjgyfS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMy5zd2lwZXItYnV0dG9uLW5leHQud2hpdGUtdHJhbnNwYXJlbnQ6aG92ZXIsLnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAzLnN3aXBlci1idXR0b24tcHJldi53aGl0ZS10cmFuc3BhcmVudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIzMjMyM30uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDMuc3dpcGVyLWJ1dHRvbi1uZXh0e3JpZ2h0OmluaGVyaXQ7bGVmdDo2NXB4fS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMy5zd2lwZXItYnV0dG9uLXByZXZ7bGVmdDoxNXB4fS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMy5zd2lwZXItYnV0dG9uLW5leHQuY2VudGVyLW5leHR7bGVmdDpjYWxjKDUwJSArIDVweCk7Ym90dG9tOjE1cHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAzLnN3aXBlci1idXR0b24tcHJldi5jZW50ZXItcHJldntsZWZ0OmNhbGMoNTAlIC0gNDVweCk7Ym90dG9tOjE1cHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAzLnN3aXBlci1idXR0b24tbmV4dC53aGl0ZSwuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDMuc3dpcGVyLWJ1dHRvbi1wcmV2LndoaXRle2JveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuMDcpO2JvcmRlcjpub25lO2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMjMyMzIzfS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wMy5zd2lwZXItYnV0dG9uLW5leHQud2hpdGU6aG92ZXIsLnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTAzLnN3aXBlci1idXR0b24tcHJldi53aGl0ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzIzMjMyMztib3gtc2hhZG93OjAgMCAyMHB4IHJnYmEoMCwwLDAsLjE1KX0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDQuc3dpcGVyLWJ1dHRvbi1wcmV2e2xlZnQ6LTMwJX0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDQuc3dpcGVyLWJ1dHRvbi1uZXh0e3JpZ2h0Oi0zMCV9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA1LnN3aXBlci1idXR0b24tbmV4dCwuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDUuc3dpcGVyLWJ1dHRvbi1wcmV2e2ZvbnQtc2l6ZTo0MHB4O2NvbG9yOiNmZmY7aGVpZ2h0OjUwcHg7d2lkdGg6NTBweDtsaW5lLWhlaWdodDo1MHB4fS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wNS5zd2lwZXItYnV0dG9uLW5leHQ6aG92ZXIsLnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA1LnN3aXBlci1idXR0b24tcHJldjpob3ZlcntvcGFjaXR5Oi41fS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wNS5zd2lwZXItYnV0dG9uLW5leHR7cmlnaHQ6NDBweH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDUuc3dpcGVyLWJ1dHRvbi1wcmV2e2xlZnQ6NDBweH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDYuc3dpcGVyLWJ1dHRvbi1uZXh0LC5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wNi5zd2lwZXItYnV0dG9uLXByZXZ7Zm9udC1zaXplOjQwcHg7Y29sb3I6IzgyODI4MjtsaW5lLWhlaWdodDo0MHB4O3RyYW5zZm9ybTpub25lO3RvcDppbmhlcml0O3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDt3aWR0aDphdXRvO2hlaWdodDo0MHB4fS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wNi5zd2lwZXItYnV0dG9uLW5leHQ6aG92ZXIsLnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA2LnN3aXBlci1idXR0b24tcHJldjpob3Zlcntjb2xvcjojMjMyMzIzfS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wNi5zd2lwZXItYnV0dG9uLW5leHR7cmlnaHQ6aW5oZXJpdDtsZWZ0OjgwcHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA2LnN3aXBlci1idXR0b24tcHJldntsZWZ0OjE1cHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA3LnN3aXBlci1idXR0b24tbmV4dCwuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDcuc3dpcGVyLWJ1dHRvbi1wcmV2e2JhY2tncm91bmQtY29sb3I6cmdiYSgyMywyMywyMywuNSk7Y29sb3I6I2ZmZn0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDcuc3dpcGVyLWJ1dHRvbi1uZXh0OmhvdmVyLC5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wNy5zd2lwZXItYnV0dG9uLXByZXY6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMyMzIzMjN9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA3LnN3aXBlci1idXR0b24tbmV4dC5saWdodCwuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDcuc3dpcGVyLWJ1dHRvbi1wcmV2LmxpZ2h0e2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMjMyMzIzfS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wNy5zd2lwZXItYnV0dG9uLW5leHQubGlnaHQ6aG92ZXIsLnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA3LnN3aXBlci1idXR0b24tcHJldi5saWdodDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyMzIzMjM7Y29sb3I6I2ZmZn0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDcuc3dpcGVyLWJ1dHRvbi1uZXh0LmxpZ2h0e3JpZ2h0Oi03MHB4fS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wNy5zd2lwZXItYnV0dG9uLXByZXYubGlnaHR7bGVmdDotNzBweH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDcuc3dpcGVyLWJ1dHRvbi1uZXh0e3JpZ2h0OjQwcHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA3LnN3aXBlci1idXR0b24tcHJldntsZWZ0OjQwcHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA4LnN3aXBlci1idXR0b24tbmV4dCwuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDguc3dpcGVyLWJ1dHRvbi1wcmV2e2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNSk7Y29sb3I6I2ZmZn0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDguc3dpcGVyLWJ1dHRvbi1uZXh0OmhvdmVyLC5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wOC5zd2lwZXItYnV0dG9uLXByZXY6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMyMzIzMjN9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA4LnN3aXBlci1idXR0b24tbmV4dC5saWdodCwuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDguc3dpcGVyLWJ1dHRvbi1wcmV2LmxpZ2h0e2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMjMyMzIzfS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wOC5zd2lwZXItYnV0dG9uLW5leHQubGlnaHQ6aG92ZXIsLnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA4LnN3aXBlci1idXR0b24tcHJldi5saWdodDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyMzIzMjM7Y29sb3I6I2ZmZn0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDguc3dpcGVyLWJ1dHRvbi1uZXh0LmRhcmssLnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA4LnN3aXBlci1idXR0b24tcHJldi5kYXJre2JhY2tncm91bmQtY29sb3I6IzIzMjMyMztjb2xvcjojZmZmfS5zbGlkZXItbmF2aWdhdGlvbi1zdHlsZS0wOC5zd2lwZXItYnV0dG9uLW5leHQuZGFyazpob3Zlciwuc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDguc3dpcGVyLWJ1dHRvbi1wcmV2LmRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMyMzIzMjN9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA4LnN3aXBlci1idXR0b24tbmV4dHt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O3JpZ2h0OjE1cHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA4LnN3aXBlci1idXR0b24tcHJldnt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2xlZnQ6MTVweH0uc2xpZGVyLW5hdmlnYXRpb24tc3R5bGUtMDguc3dpcGVyLWJ1dHRvbi1uZXh0LnJvdW5kZWQtY2lyY2xle3JpZ2h0OjQwcHh9LnNsaWRlci1uYXZpZ2F0aW9uLXN0eWxlLTA4LnN3aXBlci1idXR0b24tcHJldi5yb3VuZGVkLWNpcmNsZXtsZWZ0OjQwcHh9LnNsaWRlci1hcnJvdy1yYntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtyaWdodDoxMDAlO3otaW5kZXg6MX0uc2xpZGVyLWFycm93LXJiIC5zd2lwZXItYnV0dG9uLW5leHQsLnNsaWRlci1hcnJvdy1yYiAuc3dpcGVyLWJ1dHRvbi1wcmV2e3RyYW5zZm9ybTpub25lO3Bvc2l0aW9uOnN0YXRpYzttYXJnaW4tdG9wOjFweH0uc2xpZGVyLWN1c3RvbS10ZXh0LW5leHQuc3dpcGVyLWJ1dHRvbi1uZXh0LC5zbGlkZXItY3VzdG9tLXRleHQtcHJldi5zd2lwZXItYnV0dG9uLXByZXZ7cGFkZGluZzoyNXB4IDAgMjVweCAwO3dpZHRoOmF1dG87aGVpZ2h0OmF1dG99LnNsaWRlci1jdXN0b20tdGV4dC1uZXh0LnN3aXBlci1idXR0b24tbmV4dDpob3Zlciwuc2xpZGVyLWN1c3RvbS10ZXh0LXByZXYuc3dpcGVyLWJ1dHRvbi1wcmV2OmhvdmVye29wYWNpdHk6Ljd9LnNsaWRlci1jdXN0b20tdGV4dC1uZXh0LnN3aXBlci1idXR0b24tbmV4dHtib3JkZXItbGVmdDoxcHggc29saWQgI2U0ZTRlNDtwYWRkaW5nLWxlZnQ6NDVweH0uc2xpZGVyLWN1c3RvbS10ZXh0LXByZXYuc3dpcGVyLWJ1dHRvbi1wcmV2e2JvcmRlci1yaWdodDoxcHggc29saWQgI2U0ZTRlNDtwYWRkaW5nLXJpZ2h0OjQ1cHh9LnNsaWRlci1yZXZpZXctaW1hZ2UtdGh1bWJze2hlaWdodDphdXRvfS5zbGlkZXItcmV2aWV3LWltYWdlLXRodW1icyAuc3dpcGVyLXNsaWRlOm5vdCguc3dpcGVyLXNsaWRlLXByZXYpOm5vdCguc3dpcGVyLXNsaWRlLWFjdGl2ZSk6bm90KC5zd2lwZXItc2xpZGUtbmV4dCl7dmlzaWJpbGl0eTpoaWRkZW47b3BhY2l0eTowfS5zbGlkZXItcmV2aWV3LWltYWdlLXRodW1icyAuc3dpcGVyLXNsaWRlOm5vdCguc3dpcGVyLXNsaWRlLWFjdGl2ZSkgaW1ne3RyYW5zZm9ybTpzY2FsZSguNyk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjcpOy1tb3otdHJhbnNmb3JtOnNjYWxlKC43KTstbXMtdHJhbnNmb3JtOnNjYWxlKC43KX0uc2xpZGVyLXJldmlldy1pbWFnZS10aHVtYnMgaW1ne2JvcmRlcjo2cHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luOjAgYXV0bzt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9LnNsaWRlci1yZXZpZXctaW1hZ2UtdGh1bWJzIC5zd2lwZXItc2xpZGUtYWN0aXZlIGltZ3tib3gtc2hhZG93OjAgMCAyMHB4IHJnYmEoMCwwLDAsLjE0KTtib3JkZXI6NnB4IHNvbGlkICNmZmZ9LnNsaWRlci1yZXZpZXctaW1hZ2UtdGh1bWJzIC5zd2lwZXItc2xpZGV7Y3Vyc29yOnBvaW50ZXJ9LmJsb2ctcG9zdC1pbWFnZSBpbWcsLnBvcnRmb2xpby1pbWFnZSBpbWd7d2lkdGg6MTAwJX0uZ3JpZHtsaXN0LXN0eWxlOm5vbmV9LmdyaWQtc2l6ZXJ7cGFkZGluZzowIWltcG9ydGFudDttYXJnaW46MCFpbXBvcnRhbnR9LmdyaWQuZ3V0dGVyLXZlcnktc21hbGwgbGl7cGFkZGluZzozcHggM3B4fS5ncmlkLmd1dHRlci1zbWFsbCBsaXtwYWRkaW5nOjVweCA1cHh9LmdyaWQuZ3V0dGVyLW1lZGl1bSBsaXtwYWRkaW5nOjdweCA3cHh9LmdyaWQuZ3V0dGVyLWxhcmdlIGxpe3BhZGRpbmc6MTBweCAxMHB4fS5ncmlkLmd1dHRlci1leHRyYS1sYXJnZSBsaXtwYWRkaW5nOjE1cHh9LmdyaWQuZ3V0dGVyLWRvdWJsZS1leHRyYS1sYXJnZSBsaXtwYWRkaW5nOjIwcHh9LmdyaWQuZ3V0dGVyLXRyaXBsZS1leHRyYS1sYXJnZSBsaXtwYWRkaW5nOjMwcHh9LmdyaWQuZ3JpZC02Y29sIGxpe3dpZHRoOjE2LjY3JTtsaXN0LXN0eWxlOm5vbmV9LmdyaWQuZ3JpZC02Y29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6MzMuMzMlfS5ncmlkLmdyaWQtNWNvbCBsaXt3aWR0aDoyMCU7bGlzdC1zdHlsZTpub25lfS5ncmlkLmdyaWQtNWNvbCBsaS5ncmlkLWl0ZW0tZG91Ymxle3dpZHRoOjQwJX0uZ3JpZC5ncmlkLTRjb2wgbGl7d2lkdGg6MjUlO2xpc3Qtc3R5bGU6bm9uZX0uZ3JpZC5ncmlkLTRjb2wgbGkuZ3JpZC1pdGVtLWRvdWJsZXt3aWR0aDo1MCV9LmdyaWQuZ3JpZC0zY29sIGxpe3dpZHRoOjMzLjMzJTtmbG9hdDpsZWZ0O2xpc3Qtc3R5bGU6bm9uZX0uZ3JpZC5ncmlkLTNjb2wgbGkuZ3JpZC1pdGVtLWRvdWJsZXt3aWR0aDo2Ni42NyV9LmdyaWQuZ3JpZC0yY29sIGxpe3dpZHRoOjUwJTtsaXN0LXN0eWxlOm5vbmV9LmdyaWQuZ3JpZC0yY29sIGxpLmdyaWQtaXRlbS1kb3VibGV7d2lkdGg6MTAwJX0uZ3JpZC5ncmlkLTFjb2wgbGl7d2lkdGg6MTAwJTtsaXN0LXN0eWxlOm5vbmV9LmdyaWQtZmlsdGVyIGxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2Zsb2F0Om5vbmU7cGFkZGluZzowIDIwcHg7Ym9yZGVyOjA7cG9zaXRpb246cmVsYXRpdmV9LmdyaWQtZmlsdGVyIGxpOmZpcnN0LWNoaWxke3BhZGRpbmctbGVmdDowfS5ncmlkLWZpbHRlciBsaTpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MH0uZ3JpZC1maWx0ZXIgbGkgYXtib3JkZXI6MDtib3JkZXItYm90dG9tOjFweCBzb2xpZDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Y29sb3I6IzgyODI4MjtwYWRkaW5nLWJvdHRvbToycHh9LmdyaWQtZmlsdGVyPmxpLmFjdGl2ZT5hLC5ncmlkLWZpbHRlcj5saS5hY3RpdmU+YTpmb2N1cywuZ3JpZC1maWx0ZXI+bGkuYWN0aXZlPmE6aG92ZXIsLmdyaWQtZmlsdGVyPmxpPmE6aG92ZXJ7Ym9yZGVyOjA7Y29sb3I6aW5oZXJpdDtib3JkZXItYm90dG9tOjFweCBzb2xpZDtjb2xvcjojMjMyMzIzfS5wb3J0Zm9saW8tYm94IC5wb3J0Zm9saW8taW1hZ2V7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5wb3J0Zm9saW8tYm94IC5wb3J0Zm9saW8taG92ZXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjA7b3BhY2l0eTowfS5wb3J0Zm9saW8tYm94OmhvdmVyIC5wb3J0Zm9saW8taG92ZXJ7b3BhY2l0eToxfS5wb3J0Zm9saW8tYm94IC5wb3J0Zm9saW8taG92ZXIgLnBvcnRmb2xpby1pY29ue2xpbmUtaGVpZ2h0OjUwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowIDVweH0ucG9ydGZvbGlvLWJveCAqLC5wb3J0Zm9saW8tYm94OmhvdmVyICp7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9LnBvcnRmb2xpby1ib3ggLm1vdmUtdG9wLWJvdHRvbXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstbW96LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy1tcy10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5fS5wb3J0Zm9saW8tYm94IC5tb3ZlLWJvdHRvbS10b3B7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstbW96LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy1tcy10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5fS5wb3J0Zm9saW8tYm94OmhvdmVyIC5tb3ZlLWJvdHRvbS10b3AsLnBvcnRmb2xpby1ib3g6aG92ZXIgLm1vdmUtdG9wLWJvdHRvbXtvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ucG9ydGZvbGlvLWJveCAubW92ZS1sZWZ0LXJpZ2h0e29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTVweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTVweCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNXB4KTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LW1zLXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHl9LnBvcnRmb2xpby1ib3ggLm1vdmUtcmlnaHQtbGVmdHtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTVweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNXB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNXB4KTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LW1zLXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHl9LnBvcnRmb2xpby1ib3g6aG92ZXIgLm1vdmUtbGVmdC1yaWdodCwucG9ydGZvbGlvLWJveDpob3ZlciAubW92ZS1yaWdodC1sZWZ0e29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApfS5wb3J0Zm9saW8tY2xhc3NpYyAucG9ydGZvbGlvLWJveDpob3ZlciAucG9ydGZvbGlvLWltYWdlIGltZywucG9ydGZvbGlvLW92ZXJsYXkgLnBvcnRmb2xpby1ib3g6aG92ZXIgLnBvcnRmb2xpby1pbWFnZSBpbWd7dHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xLDEuMSk7b3BhY2l0eTouMTV9LnBvcnRmb2xpby1ib3ggLm1vdmUtYm90dG9tLXRvcC1zZWxme292ZXJmbG93OmhpZGRlbn0ucG9ydGZvbGlvLWJveCAubW92ZS1ib3R0b20tdG9wLXNlbGYgc3BhbntvcGFjaXR5OjA7ZGlzcGxheTpibG9jazt3aWxsLWNoYW5nZTp0cmFuc2Zvcm07LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwJSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAlKTstbW96LXRyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjM3LC4zMSwuMiwuODUpOy1vLXRyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjM3LC4zMSwuMiwuODUpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguMzcsLjMxLC4yLC44NSk7dHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguMzcsLjMxLC4yLC44NSl9LnBvcnRmb2xpby1ib3g6aG92ZXIgLm1vdmUtYm90dG9tLXRvcC1zZWxmIHNwYW57b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnBvcnRmb2xpby1ib3ggLm1vdmUtdG9wLWJvdHRvbS1zZWxme292ZXJmbG93OmhpZGRlbn0ucG9ydGZvbGlvLWJveCAubW92ZS10b3AtYm90dG9tLXNlbGYgc3BhbntvcGFjaXR5OjA7ZGlzcGxheTpibG9jazt3aWxsLWNoYW5nZTp0cmFuc2Zvcm07LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwJSk7LW1vei10cmFuc2l0aW9uOmFsbCAuNXMgY3ViaWMtYmV6aWVyKC4zNywuMzEsLjIsLjg1KTstby10cmFuc2l0aW9uOmFsbCAuNXMgY3ViaWMtYmV6aWVyKC4zNywuMzEsLjIsLjg1KTstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjM3LC4zMSwuMiwuODUpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjM3LC4zMSwuMiwuODUpfS5wb3J0Zm9saW8tYm94OmhvdmVyIC5tb3ZlLXRvcC1ib3R0b20tc2VsZiBzcGFue29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5wb3J0Zm9saW8tYm94IC5zY2FsZXtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06c2NhbGUzZCguOCwuOCwxKTstby10cmFuc2Zvcm06c2NhbGUzZCguOCwuOCwxKTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoLjgsLjgsMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCguOCwuOCwxKTt0cmFuc2Zvcm06c2NhbGUzZCguOCwuOCwxKX0ucG9ydGZvbGlvLWJveDpob3ZlciAuc2NhbGV7b3BhY2l0eToxOy1tb3otdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpOy1vLXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTstbXMtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpO3RyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKX0ucG9ydGZvbGlvLWNsYXNzaWMgLnBvcnRmb2xpby1ib3ggLnBvcnRmb2xpby1pbWFnZT5he3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlO3otaW5kZXg6MX0ucG9ydGZvbGlvLWNsYXNzaWMgLnBvcnRmb2xpby1pY29uIGF7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bGluZS1oZWlnaHQ6NDBweDt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCAzcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDozfS5wb3J0Zm9saW8tY2xhc3NpYyAucG9ydGZvbGlvLWJveHtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9LnBvcnRmb2xpby1jbGFzc2ljIC5wb3J0Zm9saW8tYm94OmhvdmVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCl9LnBvcnRmb2xpby1jbGFzc2ljIC5wb3J0Zm9saW8tYm94OmhvdmVyIC5wb3J0Zm9saW8taW1hZ2UgaW1ne3RyYW5zZm9ybTpzY2FsZSgxLDEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEsMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSwxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEsMSl9LnBvcnRmb2xpby1jbGFzc2ljIC5wb3J0Zm9saW8taWNvbiBhOmhvdmVye2JveC1zaGFkb3c6MCAwIDI1cHggcmdiYSgwLDAsMCwuMyl9LnBvcnRmb2xpby1jbGFzc2ljIC5wb3J0Zm9saW8tYm94IC5wb3J0Zm9saW8taWNvbiBhe29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpfS5wb3J0Zm9saW8tY2xhc3NpYyAucG9ydGZvbGlvLWJveDpob3ZlciAucG9ydGZvbGlvLWljb24gYXtvcGFjaXR5OjE7dHJhbnNpdGlvbi1kZWxheTouMXM7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ucG9ydGZvbGlvLWNsYXNzaWMgLnBvcnRmb2xpby1ib3g6aG92ZXIgLnBvcnRmb2xpby1pY29uIGE6bGFzdC1jaGlsZHt0cmFuc2l0aW9uLWRlbGF5Oi4yc30ucG9ydGZvbGlvLWJvcmRlcmVkIC5wb3J0Zm9saW8tYm94IC5wb3J0Zm9saW8taG92ZXJ7b3BhY2l0eTowfS5wb3J0Zm9saW8tYm9yZGVyZWQgLnBvcnRmb2xpby1ib3g6aG92ZXIgLnBvcnRmb2xpby1ob3ZlcntsZWZ0OjIwcHg7b3BhY2l0eToxO3RvcDoyMHB4O3dpZHRoOmNhbGMoMTAwJSAtIDQwcHgpO2hlaWdodDpjYWxjKDEwMCUgLSA0MHB4KX0ucG9ydGZvbGlvLWJvcmRlcmVkIC5wb3J0Zm9saW8tYm94OmhvdmVyIC5wb3J0Zm9saW8taW1hZ2UgaW1ne29wYWNpdHk6LjU7LXdlYmtpdC1maWx0ZXI6Ymx1cig1cHgpO2ZpbHRlcjpibHVyKDVweCk7dHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xLDEuMSl9LnBvcnRmb2xpby1ib3hlZCAucG9ydGZvbGlvLWJveCAucG9ydGZvbGlvLWhvdmVye29wYWNpdHk6MDtsZWZ0OjIwcHg7Ym90dG9tOjIwcHg7d2lkdGg6Y2FsYygxMDAlIC0gNDBweCk7aGVpZ2h0OmF1dG87dG9wOmluaGVyaXQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKX0ucG9ydGZvbGlvLWJveGVkIC5wb3J0Zm9saW8tYm94OmhvdmVyIC5wb3J0Zm9saW8taG92ZXJ7Ym94LXNoYWRvdzowIDAgMTVweCByZ2JhKDAsMCwwLC4yKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO29wYWNpdHk6MX0ucG9ydGZvbGlvLWJveGVkIC5wb3J0Zm9saW8tYm94IC5wb3J0Zm9saW8taG92ZXI6aG92ZXIgaXt0cmFuc2Zvcm06dHJhbnNsYXRlWCg1cHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNXB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDVweCl9LnBvcnRmb2xpby1ib3hlZCAucG9ydGZvbGlvLWJveDpob3ZlciBpbWd7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAzcyBjdWJpYy1iZXppZXIoLjE2NSwuODQsLjQ0LDEpOy1tb3otdHJhbnNpdGlvbjotbW96LXRyYW5zZm9ybSAzcyBjdWJpYy1iZXppZXIoLjE2NSwuODQsLjQ0LDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIDNzIGN1YmljLWJlemllciguMTY1LC44NCwuNDQsMSl9LnBvcnRmb2xpby1zd2l0Y2gtaW1hZ2UgLnBvcnRmb2xpby1pbWFnZSAucG9ydGZvbGlvLXN3aXRjaC1pbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvcGFjaXR5OjA7LW1vei10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7LW8tdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpfS5wb3J0Zm9saW8tc3dpdGNoLWltYWdlIC5wb3J0Zm9saW8tYm94OmhvdmVyIC5wb3J0Zm9saW8tc3dpdGNoLWltYWdle29wYWNpdHk6MTstbW96LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTstby10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSl9LnBvcnRmb2xpby1zd2l0Y2gtaW1hZ2UgLnBvcnRmb2xpby1ib3g6aG92ZXIgLnBvcnRmb2xpby1pbWFnZXstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC01cHgsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTVweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTVweCwwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC01cHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTVweCwwKX0ucG9ydGZvbGlvLXN3aXRjaC1pbWFnZSAucG9ydGZvbGlvLWJveDpob3ZlciAucG9ydGZvbGlvLWNhcHRpb257dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCl9LnBvcnRmb2xpby1zY2F0dGVyZWQgLnBvcnRmb2xpby1pbWFnZXstd2Via2l0LWNsaXAtcGF0aDppbnNldCgwIDAgMCAwKTtjbGlwLXBhdGg6aW5zZXQoMCAwIDAgMCl9LnBvcnRmb2xpby1zY2F0dGVyZWQgLnBvcnRmb2xpby1ib3g6aG92ZXIgLnBvcnRmb2xpby1pbWFnZXstd2Via2l0LWNsaXAtcGF0aDppbnNldCg1JSA1JSA1JSA1JSk7Y2xpcC1wYXRoOmluc2V0KDUlIDUlIDUlIDUlKX0ucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy1sZy0yIC5jb2w6bnRoLWNoaWxkKDRuKzApIC5wb3J0Zm9saW8tYm94LC5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLWxnLTIgLmNvbDpudGgtY2hpbGQoNG4rMSkgLnBvcnRmb2xpby1ib3h7cGFkZGluZzoxNSUgMH0ucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy1sZy0yIC5jb2w6bnRoLWNoaWxkKDRuKzIpIC5wb3J0Zm9saW8tYm94LC5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLWxnLTIgLmNvbDpudGgtY2hpbGQoNG4rMykgLnBvcnRmb2xpby1ib3h7cGFkZGluZzowIDE1JX0ucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy1sZy0zIC5jb2w6bnRoLWNoaWxkKDZuKzApIC5wb3J0Zm9saW8tYm94LC5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLWxnLTMgLmNvbDpudGgtY2hpbGQoNm4rMSkgLnBvcnRmb2xpby1ib3gsLnBvcnRmb2xpby1zY2F0dGVyZWQucm93LWNvbHMtbGctMyAuY29sOm50aC1jaGlsZCg2biszKSAucG9ydGZvbGlvLWJveCwucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy1sZy0zIC5jb2w6bnRoLWNoaWxkKDZuKzUpIC5wb3J0Zm9saW8tYm94e3BhZGRpbmc6MTUlIDB9LnBvcnRmb2xpby1zY2F0dGVyZWQucm93LWNvbHMtbGctMyAuY29sOm50aC1jaGlsZCg2bisyKSAucG9ydGZvbGlvLWJveCwucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy1sZy0zIC5jb2w6bnRoLWNoaWxkKDZuKzQpIC5wb3J0Zm9saW8tYm94LC5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLWxnLTMgLmNvbDpudGgtY2hpbGQoNm4rNikgLnBvcnRmb2xpby1ib3h7cGFkZGluZzowIDE1JX0ucGFnaW5hdGlvbi1zdHlsZS0wMSAucGFnZS1saW5rLnBvcnRmb2xpby1zY2F0dGVyZWQucm93LWNvbHMteGwtNCAuY29sOm50aC1jaGlsZCg4biswKSAucG9ydGZvbGlvLWJveCwucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy14bC00IC5jb2w6bnRoLWNoaWxkKDhuKzEpIC5wb3J0Zm9saW8tYm94LC5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLXhsLTQgLmNvbDpudGgtY2hpbGQoOG4rMykgLnBvcnRmb2xpby1ib3gsLnBvcnRmb2xpby1zY2F0dGVyZWQucm93LWNvbHMteGwtNCAuY29sOm50aC1jaGlsZCg4bis2KSAucG9ydGZvbGlvLWJveHtwYWRkaW5nOjI1JSAwfS5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLXhsLTQgLmNvbDpudGgtY2hpbGQoOG4rMikgLnBvcnRmb2xpby1ib3gsLnBvcnRmb2xpby1zY2F0dGVyZWQucm93LWNvbHMteGwtNCAuY29sOm50aC1jaGlsZCg4bis0KSAucG9ydGZvbGlvLWJveCwucG9ydGZvbGlvLXNjYXR0ZXJlZC5yb3ctY29scy14bC00IC5jb2w6bnRoLWNoaWxkKDhuKzUpIC5wb3J0Zm9saW8tYm94LC5wb3J0Zm9saW8tc2NhdHRlcmVkLnJvdy1jb2xzLXhsLTQgLmNvbDpudGgtY2hpbGQoOG4rNykgLnBvcnRmb2xpby1ib3h7cGFkZGluZzowIDE1JX0ucG9ydGZvbGlvLW92ZXJsYXkgLnBvcnRmb2xpby1ib3ggLnBvcnRmb2xpby1pbWFnZSBpbWd7b3BhY2l0eToxfS5qdXN0aWZpZWQtZ2FsbGVyeT5hPi5qZy1jYXB0aW9uLmpnLWNhcHRpb24tdmlzaWJsZSwuanVzdGlmaWVkLWdhbGxlcnk+ZGl2Pi5qZy1jYXB0aW9uLmpnLWNhcHRpb24tdmlzaWJsZSwuanVzdGlmaWVkLWdhbGxlcnk+ZmlndXJlPi5qZy1jYXB0aW9uLmpnLWNhcHRpb24tdmlzaWJsZXtkaXNwbGF5Om5vbmU7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTEwMCkiO29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1pbjstbW96LXRyYW5zaXRpb246b3BhY2l0eSAuNXMgZWFzZS1pbjstby10cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW47dHJhbnNpdGlvbjpvcGFjaXR5IC41cyBlYXNlLWlufS5qdXN0aWZpZWQtZ2FsbGVyeT5hPi5qZy1jYXB0aW9uLC5qdXN0aWZpZWQtZ2FsbGVyeT5kaXY+LmpnLWNhcHRpb24sLmp1c3RpZmllZC1nYWxsZXJ5PmZpZ3VyZT4uamctY2FwdGlvbntkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOmluaGVyaXQ7cGFkZGluZzoxNXB4IDI1cHggMTJweDtib3gtc2hhZG93OjAgNXB4IDIwcHggcmdiYSgyMywyMywyMywuMik7d2hpdGUtc3BhY2U6bm93cmFwO3otaW5kZXg6MTtmb250LWZhbWlseTppbmhlcml0fS5ibG9nLXBvc3R7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5ibG9nLXBvc3QgLmJsb2ctcG9zdC1pbWFnZSBpbWd7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAxcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpOy1tb3otdHJhbnNpdGlvbjphbGwgMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstbXMtdHJhbnNpdGlvbjphbGwgMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTt0cmFuc2l0aW9uOmFsbCAxcyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS5ibG9nLXBvc3QgLmJsb2ctcG9zdC1pbWFnZXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LmJsb2ctcG9zdDpob3ZlciAuYmxvZy1wb3N0LWltYWdlIGltZ3tvcGFjaXR5Oi42Oy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpOy1tb3otdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEuMSk7dHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxLjEpfS5ibG9nLWdyaWQgLmJsb2ctcG9zdC1pbWFnZSAuYmxvZy1jYXRlZ29yeXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjNweDtyaWdodDoyM3B4O2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjE0cHg7YmFja2dyb3VuZDpyZ2JhKDIzLDIzLDIzLC43NSk7Y29sb3I6I2ZmZjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Ym9yZGVyLXJhZGl1czoycHg7cGFkZGluZzo2cHggMTNweDt0cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXR9LmJsb2ctZ3JpZCAuYmxvZy1wb3N0OmhvdmVyIC5ibG9nLXBvc3QtaW1hZ2UgLmJsb2ctY2F0ZWdvcnl7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMzIzMjM7dHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0O2JveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuMil9LmJsb2ctZ3JpZCAuYXZ0YXItaW1hZ2V7d2lkdGg6MzBweDtib3JkZXItcmFkaXVzOjEwMCU7bWFyZ2luLXJpZ2h0OjEwcHh9LmJsb2ctZ3JpZCAuYmxvZy1saWtle2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uYmxvZy1ncmlkIC5ibG9nLWxpa2UgaXttYXJnaW4tcmlnaHQ6NHB4fS5ibG9nLW1hc29ucnkgLmJsb2ctcG9zdHtib3gtc2hhZG93OjAgMCAxNXB4IHJnYmEoMCwwLDAsLjA2KTstd2Via2l0LXRyYW5zaXRpb246YWxsIDEuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstbW96LXRyYW5zaXRpb246YWxsIDEuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKTstbXMtdHJhbnNpdGlvbjphbGwgMS41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIDEuNXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0uYmxvZy1tYXNvbnJ5IC5ibG9nLXBvc3Q6aG92ZXJ7Ym94LXNoYWRvdzowIDAgMzBweCByZ2JhKDAsMCwwLC4xNSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfS5ibG9nLW1hc29ucnkgLmJsb2ctcG9zdDpob3ZlciAuYmxvZy1wb3N0LWltYWdlIGltZ3tvcGFjaXR5OjF9LmJsb2ctbWFzb25yeSAuYmxvZy1wb3N0LWltYWdlIC5ibG9nLWNhdGVnb3J5e3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6I2ZmZjtsZWZ0OjA7Ym90dG9tOjA7dG9wOmF1dG87cmlnaHQ6YXV0bztib3JkZXItcmFkaXVzOjA7cGFkZGluZzoxM3B4IDI1cHg7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MTNweDtmb250LXdlaWdodDo1MDB9LmJsb2ctbWFzb25yeSAuYmxvZy1wb3N0OmhvdmVyIC5ibG9nLXBvc3QtaW1hZ2UgLmJsb2ctY2F0ZWdvcnl7Ym94LXNoYWRvdzpub25lfS5ibG9nLW1hc29ucnkgLmJsb2ctcG9zdCBwe21hcmdpbi1ib3R0b206NXB4fS5ibG9nLW1hc29ucnkgLmJsb2ctY29tbWVudCBzcGFuLC5ibG9nLW1hc29ucnkgLmJsb2ctbGlrZSBzcGFue3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowfS5ibG9nLW1hc29ucnkgLmJsb2ctY29tbWVudCwuYmxvZy1tYXNvbnJ5IC5ibG9nLWxpa2V7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5ibG9nLW1hc29ucnkgLmJsb2ctY29tbWVudCBpLC5ibG9nLW1hc29ucnkgLmJsb2ctbGlrZSBpe21hcmdpbi1yaWdodDo0cHh9LmJsb2ctbWFzb25yeSAuYmxvZy1jb21tZW50e21hcmdpbi1sZWZ0OjEzcHh9LmJsb2ctY2xhc3NpYyAuYmxvZy1wb3N0OmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfS5ibG9nLWNsYXNzaWMgLmJsb2ctcG9zdC1pbWFnZXt0cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXR9LmJsb2ctY2xhc3NpYyAuYmxvZy1wb3N0OmhvdmVyIC5ibG9nLXBvc3QtaW1hZ2UgaW1ne29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSl9LmJsb2ctY2xhc3NpYyAuc2VwYXJhdG9ye3dpZHRoOjI4cHg7aGVpZ2h0OjFweDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luLXJpZ2h0OjhweDstd2Via2l0LXRyYW5zaXRpb246YWxsIDFzIGN1YmljLWJlemllcigwLDAsLjIsMSk7dHJhbnNpdGlvbjphbGwgMXMgY3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0uYmxvZy1jbGFzc2ljIC5ibG9nLXBvc3Q6aG92ZXIgLnNlcGFyYXRvcnt3aWR0aDo1MHB4fS5ibG9nLWNsYXNzaWMgLmJsb2ctcG9zdCBwe21hcmdpbi1ib3R0b206MjBweH0uYmxvZy1zaW1wbGUgLmJsb2ctcG9zdHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4fS5ibG9nLXNpbXBsZSAuYmxvZy1wb3N0LWltYWdlLC5ibG9nLXNpbXBsZSAucG9zdC1kZXRhaWxze3dpZHRoOjUwJX0uYmxvZy1zaW1wbGUgLnBvc3QtZGV0YWlsc3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmJsb2ctc2ltcGxlIC5ibG9nLXBvc3QgLmJsb2ctY2F0ZWdvcnl7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MTRweDtib3gtc2hhZG93OjAgMCAyMHB4IHJnYmEoMjMsMjMsMjMsLjA4KTtib3JkZXItcmFkaXVzOjIwcHg7Ym9yZGVyOjFweCBzb2xpZDtwYWRkaW5nOjZweCAxNnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXdlaWdodDo1MDB9LmJsb2ctc2ltcGxlIC5ibG9nLXBvc3Q6aG92ZXIgLmJsb2ctY2F0ZWdvcnl7Ym94LXNoYWRvdzowIDAgMCByZ2JhKDIzLDIzLDIzLC4wOCl9LmJsb2ctc2ltcGxlIC5ibG9nLXBvc3QgLmJsb2ctcG9zdC1pbWFnZSAuYmxvZy1wb3N0LWltYWdlLW92ZXJsYXl7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dH0uYmxvZy1zaW1wbGUgLmJsb2ctcG9zdCAuY292ZXItYmFja2dyb3VuZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IGNlbnRlciFpbXBvcnRhbnQ7dHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS5ibG9nLXNpbXBsZSAuYmxvZy1wb3N0OmhvdmVyIC5jb3Zlci1iYWNrZ3JvdW5ke2JhY2tncm91bmQtcG9zaXRpb246bGVmdCBjZW50ZXIhaW1wb3J0YW50fS5ibG9nLXNpbXBsZSAuYmxvZy1wb3N0OmhvdmVyIC5ibG9nLXBvc3QtaW1hZ2UgLmJsb2ctcG9zdC1pbWFnZS1vdmVybGF5e29wYWNpdHk6LjN9LmJsb2ctc2lkZS1pbWFnZSAuYmxvZy1wb3N0e3BhZGRpbmc6MjhweH0uYmxvZy1zaWRlLWltYWdlIC5ibG9nLXBvc3Q6bnRoLWNoaWxkKG9kZCl7cGFkZGluZy1yaWdodDowfS5ibG9nLXNpZGUtaW1hZ2UgLmJsb2ctcG9zdDpudGgtY2hpbGQoZXZlbil7cGFkZGluZy1sZWZ0OjB9LmJsb2ctc2lkZS1pbWFnZSAuYmxvZy1wb3N0LWltYWdle3dpZHRoOjU1JX0uYmxvZy1zaWRlLWltYWdlIC5wb3N0LWRldGFpbHN7d2lkdGg6NDUlfS5ibG9nLXNpZGUtaW1hZ2UgLnBvc3QtZGV0YWlscyBpe21hcmdpbi1yaWdodDo3cHh9LmJsb2ctc2lkZS1pbWFnZSAucG9zdC1kZXRhaWxzIGk6bGFzdC1vZi10eXBle21hcmdpbi1sZWZ0OjIwcHh9LmJsb2ctc2lkZS1pbWFnZSAuYmxvZy1wb3N0OmhvdmVyIC5ibG9nLXBvc3QtaW1hZ2UgaW1ne29wYWNpdHk6MX0uYmxvZy1zaWRlLWltYWdlIC5ibG9nLXBvc3Q6bnRoLWNoaWxkKGV2ZW4pIC5wb3N0LWRldGFpbHN7LW1zLWZsZXgtb3JkZXI6MTtvcmRlcjoxfS5ibG9nLXNpZGUtaW1hZ2UgLmJsb2ctcG9zdDpudGgtY2hpbGQoZXZlbikgLmJsb2ctcG9zdC1pbWFnZXstbXMtZmxleC1vcmRlcjoyO29yZGVyOjJ9LmJsb2ctc2lkZS1pbWFnZSAuYXZ0YXItaW1hZ2V7d2lkdGg6MjVweDtib3JkZXItcmFkaXVzOjEwMCU7bWFyZ2luLXJpZ2h0OjEwcHh9LmJsb2ctc2lkZS1pbWFnZSAuc2VwYXJhdG9ye21hcmdpbi1sZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OjE1cHg7d2lkdGg6MzBweDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7aGVpZ2h0OjFweH0uYmxvZy1tZXRybyAuYmxvZy1wb3N0OmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfS5ibG9nLW1ldHJvIC5ibG9nLXBvc3Q6aG92ZXIgLmJsb2ctcG9zdC1pbWFnZSBpbWd7b3BhY2l0eTouNn0uYmxvZy1tZXRybyAuYmxvZy1wb3N0IC5ibG9nLXBvc3QtaW1hZ2UgLmJsb2ctb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiMxZjIzMmM7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZyxyZ2JhKDIzLDIzLDIzLC45NSkgMCxyZ2JhKDIzLDIzLDIzLDApIDg4JSk7dHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXR9LmJsb2ctbWV0cm8gLmJsb2ctcG9zdCAucG9zdC1kZXRhaWxze3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfS5ibG9nLW1ldHJvIC5wb3N0LWRldGFpbHMgLmJsb2ctY2F0ZWdvcnl7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjBweDtmb250LXdlaWdodDo1MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiNmZmY7cGFkZGluZzo2cHggMTNweDtiYWNrZ3JvdW5kOnJnYmEoMjAsMjEsMjIsLjcpO2JvcmRlci1yYWRpdXM6MnB4fS5ibG9nLW1ldHJvIC5wb3N0LWRldGFpbHM6aG92ZXIgLmJsb2ctY2F0ZWdvcnl7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMzIzMjM7Ym94LXNoYWRvdzowIDAgMjBweCByZ2JhKDIzLDIzLDIzLC4yKX0uYmxvZy1vdmVybGF5LWltYWdle3otaW5kZXg6MX0uYmxvZy1vdmVybGF5LWltYWdlIC5ibG9nLXBvc3R7ei1pbmRleDoxfS5ibG9nLW92ZXJsYXktaW1hZ2UgLnBvc3QtZGV0YWlsc3t0cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDtwb3NpdGlvbjpyZWxhdGl2ZX0uYmxvZy1vdmVybGF5LWltYWdlIC5ibG9nLXBvc3QgLmJsb2ctcG9zdC1pbWFnZSwuYmxvZy1vdmVybGF5LWltYWdlIC5ibG9nLXBvc3QgLmJsb2ctcG9zdC1pbWFnZSAuYmxvZy1vdmVybGF5LWltYWdle3RyYW5zZm9ybTpzY2FsZSgxLjEsMS4xKTtvcGFjaXR5OjA7ei1pbmRleDotMTtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO2xlZnQ6MDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5ibG9nLW92ZXJsYXktaW1hZ2UgLmJsb2ctcG9zdCAuYmxvZy1wb3N0LWltYWdlIC5ibG9nLW92ZXJsYXktaW1hZ2V7ei1pbmRleDoxfS5ibG9nLW92ZXJsYXktaW1hZ2UgLmJsb2ctcG9zdDpob3ZlciAuYmxvZy1wb3N0LWltYWdlLC5ibG9nLW92ZXJsYXktaW1hZ2UgLmJsb2ctcG9zdDpob3ZlciAuYmxvZy1wb3N0LWltYWdlIC5ibG9nLW92ZXJsYXktaW1hZ2V7dHJhbnNmb3JtOnNjYWxlKDEsMSk7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmJsb2ctb3ZlcmxheS1pbWFnZSAuYmxvZy1wb3N0OmhvdmVyIC5wb3N0LWRldGFpbHMgKntjb2xvcjojZmZmOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmJsb2ctb3ZlcmxheS1pbWFnZSAuYmxvZy1jYXRlZ29yeSwuYmxvZy1vdmVybGF5LWltYWdlIC5ibG9nLXBvc3QgLnBvc3QtZGV0YWlscyAucG9zdC1kYXRlLC5ibG9nLW92ZXJsYXktaW1hZ2UgLmJsb2ctcG9zdCAucG9zdC1kZXRhaWxzIC5wb3N0LXJlYWQsLmJsb2ctb3ZlcmxheS1pbWFnZSAuYmxvZy1wb3N0IC5wb3N0LWRldGFpbHMgLnBvc3QtdGl0bGV7dHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXR9LmJsb2ctb3ZlcmxheS1pbWFnZSAuYmxvZy1jYXRlZ29yeXtib3JkZXItcmFkaXVzOjJweDtwYWRkaW5nOjZweCAxM3B4O2JvcmRlcjoxcHggc29saWQ7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjE0cHh9LmJsb2ctb3ZlcmxheS1pbWFnZSAuYmxvZy1wb3N0OmhvdmVyIC5ibG9nLWNhdGVnb3J5e2JhY2tncm91bmQ6IzIzMjMyMztjb2xvcjojZmZmIWltcG9ydGFudDtib3JkZXItY29sb3I6IzIzMjMyMyFpbXBvcnRhbnR9LmJsb2ctb3ZlcmxheS1pbWFnZSAuYmxvZy1wb3N0IC5wb3N0LWRldGFpbHMgLnBvc3QtZGF0ZXtvcGFjaXR5OjA7bWFyZ2luLWJvdHRvbTotMjBweDt0cmFuc2Zvcm06c2NhbGUoMSwwKX0uYmxvZy1vdmVybGF5LWltYWdlIC5ibG9nLXBvc3Q6aG92ZXIgLnBvc3QtZGV0YWlscyAucG9zdC1kYXRle29wYWNpdHk6Ljc1O21hcmdpbi1ib3R0b206MTVweDt0cmFuc2Zvcm06c2NhbGUoMSwxKX0uYmxvZy1vdmVybGF5LWltYWdlIC5ibG9nLXBvc3QgLnBvc3QtZGV0YWlscyAucG9zdC1yZWFke29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSwxKX0uYmxvZy1vdmVybGF5LWltYWdlIC5ibG9nLXBvc3Q6aG92ZXIgLnBvc3QtZGV0YWlscyAucG9zdC1yZWFke29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMSwwKX0uYmxvZy1vdmVybGF5LWltYWdlIC5ibG9nLXBvc3Q6aG92ZXIgLnBvc3QtZGV0YWlscyAucG9zdC10aXRsZXttYXJnaW4tYm90dG9tOi0yMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6NH0uYmxvZy1tb2Rlcm4gLmJsb2ctY2F0ZWdvcnl7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmJsb2ctbW9kZXJuIC5ibG9nLXBvc3Q6aG92ZXIgLmJsb2ctcG9zdC1pbWFnZSBpbWd7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7dHJhbnNmb3JtOnNjYWxlM2QoMSwxLDEpfS5ibG9nLW1vZGVybiAuYmxvZy1wb3N0e292ZXJmbG93OnZpc2libGV9LmJsb2ctbW9kZXJuIC5ibG9nLXBvc3QtaW1hZ2V7bWFyZ2luLWJvdHRvbToxNTBweH0uYmxvZy1tb2Rlcm4gLnBvc3QtZGV0YWlsc3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTEwMHB4O2xlZnQ6MzBweDt3aWR0aDpjYWxjKDEwMCUgLSA2MHB4KTtib3gtc2hhZG93OjAgMCAzMHB4IHJnYmEoMCwwLDAsLjA4KTstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoMCwwLC4yLDEpfS5ibG9nLW1vZGVybiAuZ3JpZC1pdGVtOmhvdmVyIC5wb3N0LWRldGFpbHN7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpfS5ibG9nLW1vZGVybiAuZ3JpZC1pdGVtOmhvdmVyIC5wb3N0LWRldGFpbHN7Ym94LXNoYWRvdzowIDAgNDBweCByZ2JhKDAsMCwwLC4wOCl9LmJsb2ctaG92ZXItYnRuICp7dHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zNXN9LmJsb2ctaG92ZXItYnRuIGF7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1sZWZ0OjE5cHh9LmJsb2ctaG92ZXItYnRuIC5ibG9nLWljb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDoycHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uYmxvZy1ob3Zlci1idG4gLmJsb2ctaWNvbi1ob3ZlcntvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KX0uYmxvZy1ob3Zlci1idG46aG92ZXIgLmJsb2ctaWNvbntvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCl9LmJsb2ctaG92ZXItYnRuOmhvdmVyIC5ibG9nLWljb24taG92ZXJ7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmJsb2ctd2lkZ2V0e2xpc3Qtc3R5bGU6bm9uZTtwYWRkaW5nOjA7bWFyZ2luOjB9LmJsb2ctd2lkZ2V0IGxpIGZpZ3VyZXtoZWlnaHQ6YXV0bzt3aWR0aDoxNDBweDttYXJnaW4tYm90dG9tOjB9LmJsb2ctd2lkZ2V0IGxpIC5tZWRpYS1ib2R5e2xpbmUtaGVpZ2h0Om5vcm1hbDtwYWRkaW5nLWxlZnQ6MzBweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTFweH0uYmxvZy1wb3N0LWltYWdlIC5ibG9nLXBsdXMtaWNvbntvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9LmJsb2ctcG9zdDpob3ZlciAuYmxvZy1wbHVzLWljb257b3BhY2l0eToxfS5ibG9nLXBvc3QtaW1hZ2UgLmJsb2ctcm91bmRlZC1pY29ue3dpZHRoOjQ2cHg7aGVpZ2h0OjQ2cHg7bGluZS1oZWlnaHQ6NDhweDtib3JkZXI6MXB4IHNvbGlkO2JvcmRlci1yYWRpdXM6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcjtvcGFjaXR5OjA7bWFyZ2luLXRvcDoxNXB4O3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS5ibG9nLXBvc3Q6aG92ZXIgLmJsb2ctcm91bmRlZC1pY29ue29wYWNpdHk6MTttYXJnaW4tdG9wOjB9LmJsb2ctaW1hZ2UgaW1ne3dpZHRoOjEwMCV9LmJsb2ctdGV4dCAuYmxvZy1kZXRhaWxzLW92ZXJsYXB7cG9zaXRpb246YWJzb2x1dGU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlICwtNTAlKTtsZWZ0OjUwJTt0b3A6MDtwYWRkaW5nOjZweCAyMHB4IDVweDt3aGl0ZS1zcGFjZTpub3dyYXB9LnRvLXRvcHthbmltYXRpb246dG9Ub3AgLjNzIGxpbmVhciBmb3J3YXJkc30udG8tcmlnaHR7YW5pbWF0aW9uOnRvUmlnaHQgLjNzIGxpbmVhciBmb3J3YXJkc30udG8tYm90dG9te2FuaW1hdGlvbjp0b0JvdHRvbSAuM3MgbGluZWFyIGZvcndhcmRzfS50by1sZWZ0e2FuaW1hdGlvbjp0b0xlZnQgLjNzIGxpbmVhciBmb3J3YXJkc30uYmxvZy1sZWZ0LXNpZGUtYmFyIC5ibG9nLWNvbnRlbnQsLmJsb2ctcmlnaHQtc2lkZS1iYXIgLmJsb2ctc2lkZWJhcntmbG9hdDpyaWdodH0uYmxvZy1sZWZ0LXNpZGUtYmFyIC5ibG9nLXNpZGViYXIsLmJsb2ctcmlnaHQtc2lkZS1iYXIgLmJsb2ctY29udGVudHtmbG9hdDpsZWZ0fS5hc2lkZS10aXRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0uYXNpZGUtdGl0bGUgc3BhbntwYWRkaW5nOjJweCAyMHB4fS5ibG9nLWxlZnQtc2lkZS1iYXIgLmJsb2ctY29udGVudCwuYmxvZy1yaWdodC1zaWRlLWJhciAuYmxvZy1zaWRlYmFyLC5zaG9wcGluZy1sZWZ0LXNpZGUtYmFyIC5zaG9wcGluZy1jb250ZW50LC5zaG9wcGluZy1yaWdodC1zaWRlLWJhciAuc2hvcHBpbmctc2lkZWJhcntvcmRlcjoxMzstbXMtZmxleC1vcmRlcjoxM30uYmxvZy1sZWZ0LXNpZGUtYmFyIC5ibG9nLXNpZGViYXIsLmJsb2ctcmlnaHQtc2lkZS1iYXIgLmJsb2ctY29udGVudCwuc2hvcHBpbmctbGVmdC1zaWRlLWJhciAuc2hvcHBpbmctc2lkZWJhciwuc2hvcHBpbmctcmlnaHQtc2lkZS1iYXIgLnNob3BwaW5nLWNvbnRlbnR7b3JkZXI6MTstbXMtZmxleC1vcmRlcjoxfS5ibG9nLXRhZ3tmb250LXNpemU6MTBweDtwYWRkaW5nOjZweCAxNHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW4tcmlnaHQ6M3B4O3RleHQtYWxpZ246Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uYmxvZy10YWc6aG92ZXJ7Ym9yZGVyLWNvbG9yOiMwMDM4ZTMhaW1wb3J0YW50O2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDAzOGUzfS5ibG9nLXRhZzpsYXN0LWNoaWxke21hcmdpbi1yaWdodDowfS5ibG9nLWF1dGhlci10YWd7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MTFweDtwYWRkaW5nOjVweCAxMHB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwb3NpdGlvbjphYnNvbHV0ZX0uYmxvZy1hdXRoZXItdGFnOmhvdmVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtjb2xvcjojMjMyMzIzIWltcG9ydGFudDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmJsb2ctY2F0ZWdvcnktc3R5bGUtMDF7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uYmxvZy1jYXRlZ29yeS1zdHlsZS0wMSAuYmxvZy1pbWFnZXt3aWR0aDpjYWxjKDEwMCUgKyA1MHB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjM1cyx0cmFuc2Zvcm0gLjM1cywtd2Via2l0LXRyYW5zZm9ybSAuMzVzOy1tb3otdHJhbnNpdGlvbjpvcGFjaXR5IC4zNXMsdHJhbnNmb3JtIC4zNXMsLXdlYmtpdC10cmFuc2Zvcm0gLjM1czstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMzVzLHRyYW5zZm9ybSAuMzVzLC13ZWJraXQtdHJhbnNmb3JtIC4zNXM7LW1zLXRyYW5zaXRpb246b3BhY2l0eSAuMzVzLHRyYW5zZm9ybSAuMzVzLC13ZWJraXQtdHJhbnNmb3JtIC4zNXM7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC00MHB4LDAsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTQwcHgsMCwwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNDBweCwwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTQwcHgsMCwwKX0uYmxvZy1jYXRlZ29yeS1zdHlsZS0wMTpob3ZlciAuYmxvZy1pbWFnZXt3aWR0aDpjYWxjKDEwMCUgKyAwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9LmJsb2ctY2F0ZWdvcnktc3R5bGUtMDEgaW1ne3RyYW5zaXRpb24tZHVyYXRpb246LjM1czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjM1czstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjM1czstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzfS5ibG9nLWNhdGVnb3J5LXN0eWxlLTAxOmhvdmVyIGltZ3tvcGFjaXR5Oi41O3RyYW5zaXRpb24tZHVyYXRpb246LjM1czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjM1czstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjM1czstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzfS5ibG9nLWNhdGVnb3J5LXN0eWxlLTAxIC5ibG9nLXBvc3QtZGV0YWlsc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uYmxvZy1jYXRlZ29yeS1zdHlsZS0wMSAucG9zdC1kZXRhaWxze3BhZGRpbmc6OHB4IDIycHh9LmFib3V0LWF1dGhvci1pbWd7ZmxvYXQ6bGVmdDttYXgtd2lkdGg6MTAwcHg7bWFyZ2luLXJpZ2h0OjM1cHg7bWFyZ2luLWJvdHRvbToxNXB4fS5hYm91dC1hdXRob3ItdGV4dHt0b3A6LTVweH0uYXV0aG9yLXNoYXJpbmcgYXttYXJnaW4tcmlnaHQ6MTVweDtjb2xvcjojNzM3MzczfS5hdXRob3Itc2hhcmluZyBhOmhvdmVye2NvbG9yOiMwMDB9LmFsaWdubm9uZXttYXJnaW46NXB4IDMwcHggNDBweCAwfS5hbGlnbmNlbnRlcixkaXYuYWxpZ25jZW50ZXJ7ZGlzcGxheTpibG9jazttYXJnaW46NXB4IGF1dG8gNXB4IGF1dG99LmFsaWducmlnaHR7ZmxvYXQ6cmlnaHQ7bWFyZ2luOjVweCAwIDMwcHggNDBweH0uYWxpZ25sZWZ0e2Zsb2F0OmxlZnQ7bWFyZ2luOjVweCA0MHB4IDMwcHggMH1hIGltZy5hbGlnbnJpZ2h0e2Zsb2F0OnJpZ2h0O21hcmdpbjo1cHggMCA0MHB4IDMwcHh9YSBpbWcuYWxpZ25ub25le21hcmdpbjo1cHggMjBweCAyMHB4IDB9YSBpbWcuYWxpZ25sZWZ0e2Zsb2F0OmxlZnQ7bWFyZ2luOjVweCAyMHB4IDIwcHggMH1hIGltZy5hbGlnbmNlbnRlcntkaXNwbGF5OmJsb2NrO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99LndwLWNhcHRpb257YmFja2dyb3VuZDojZjdmN2Y3O3BhZGRpbmc6MTdweDt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO21heC13aWR0aDo1MCV9LndwLWNhcHRpb24gZmlnY2FwdGlvbntwYWRkaW5nOjE4cHggMjVweCAwIDI1cHh9LndwLWNhcHRpb24gaW1ne3dpZHRoOjEwMCV9LndwLWNhcHRpb24uYWxpZ25ub25le21hcmdpbjo1cHggMzBweCA0MHB4IDB9LndwLWNhcHRpb24uYWxpZ25sZWZ0e21hcmdpbjo1cHggNDBweCAzMHB4IDB9LndwLWNhcHRpb24uYWxpZ25yaWdodHttYXJnaW46NXB4IDAgNDBweCAzMHB4fS53cC1jYXB0aW9uIHAud3AtY2FwdGlvbi10ZXh0e2ZvbnQtc2l6ZToxMXB4O2xpbmUtaGVpZ2h0OjE3cHg7bWFyZ2luOjA7cGFkZGluZzowIDRweCA1cHh9LnNjcmVlbi1yZWFkZXItdGV4dHtjbGlwOnJlY3QoMXB4LDFweCwxcHgsMXB4KTtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnQ7aGVpZ2h0OjFweDt3aWR0aDoxcHg7b3ZlcmZsb3c6aGlkZGVufS5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjojZjFmMWYxO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCAwIDJweCAycHggcmdiYSgwLDAsMCwuNik7Y2xpcDphdXRvIWltcG9ydGFudDtjb2xvcjojMjE3NTliO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjE0cHg7Zm9udC1zaXplOi44NzVyZW07Zm9udC13ZWlnaHQ6NzAwO2hlaWdodDphdXRvO2xlZnQ6NXB4O2xpbmUtaGVpZ2h0Om5vcm1hbDtwYWRkaW5nOjE1cHggMjNweCAxNHB4O3RleHQtZGVjb3JhdGlvbjpub25lO3RvcDo1cHg7d2lkdGg6YXV0bzt6LWluZGV4OjF9LmJsb2ctY29tbWVudCBsaXtwYWRkaW5nLWJvdHRvbTo2NXB4O3Bvc2l0aW9uOnJlbGF0aXZlO2xpc3Qtc3R5bGU6bm9uZX0uYmxvZy1jb21tZW50IGxpIC51c2VyLWNvbW1lbnR7b3ZlcmZsb3c6aGlkZGVuO2ZsZXg6MTttYXgtd2lkdGg6MTAwJX0uYmxvZy1jb21tZW50PmxpOmZpcnN0LWNoaWxke3BhZGRpbmctdG9wOjB9LmJsb2ctY29tbWVudCBsaTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bWVkaXVtIG5vbmU7cGFkZGluZy1ib3R0b206MH0uYmxvZy1jb21tZW50IGxpIC5ibG9nLWNvbW1lbnQtYm94e3BhZGRpbmc6NDBweCA1MHB4O2JvcmRlci1yYWRpdXM6MTBweH0uYmxvZy1jb21tZW50IGxpIC5idG4tcmVwbHl7ZmxvYXQ6cmlnaHQ7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6aW5pdGlhbDtwYWRkaW5nOjdweCAxNnB4IDZweDtib3JkZXItcmFkaXVzOjUwcHg7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDQzLjksNDMuOSw0My45LC4yNSk7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5ibG9nLWNvbW1lbnQgbGkgLmJ0bi1yZXBseTpob3Zlcntib3JkZXItY29sb3I6IzAwMzhlMztiYWNrZ3JvdW5kOiMwMDM4ZTM7Y29sb3I6I2ZmZn0uYmxvZy1jb21tZW50IGxpIHVsLmNoaWxkLWNvbW1lbnR7bGlzdC1zdHlsZTpvdXRzaWRlIG5vbmUgbm9uZTttYXJnaW4tbGVmdDo3MHB4fS5ibG9nLWNvbW1lbnQgbGkgdWwuY2hpbGQtY29tbWVudCBsaXttYXJnaW4tdG9wOjYwcHg7cGFkZGluZy1ib3R0b206MH0ubGF0ZXN0LXBvc3Qtc2lkZWJhcntsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowO21hcmdpbjowfS5sYXRlc3QtcG9zdC1zaWRlYmFyIGxpe21hcmdpbi1ib3R0b206NDVweH0ubGF0ZXN0LXBvc3Qtc2lkZWJhciBsaTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0ubGF0ZXN0LXBvc3Qtc2lkZWJhciBsaSBmaWd1cmV7aGVpZ2h0OjY1cHg7d2lkdGg6ODBweDttYXJnaW46MH0ubGF0ZXN0LXBvc3Qtc2lkZWJhciBsaSAubWVkaWEtYm9keXtsaW5lLWhlaWdodDpub3JtYWw7cGFkZGluZy1sZWZ0OjMwcHg7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0zcHh9LnBhZ2luYXRpb24tc3R5bGUtMDEgLnBhZ2UtbGlua3tib3JkZXI6MDtwYWRkaW5nOjEycHggNXB4O21hcmdpbjowIDEwcHg7YmFja2dyb3VuZDowIDA7Y29sb3I6IzgyODI4MjttaW4td2lkdGg6NDBweDt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjEwMCV9LnBhZ2luYXRpb24tc3R5bGUtMDEgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5rLC5wYWdpbmF0aW9uLXN0eWxlLTAxIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5re3BhZGRpbmc6MH0ucGFnaW5hdGlvbi1zdHlsZS0wMSAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGlua3ttYXJnaW4tcmlnaHQ6MH0ucGFnaW5hdGlvbi1zdHlsZS0wMSAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbms6aG92ZXIsLnBhZ2luYXRpb24tc3R5bGUtMDEgLnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbms6aG92ZXJ7YmFja2dyb3VuZDowIDA7Y29sb3I6IzIzMjMyMztib3gtc2hhZG93Om5vbmV9LnBhZ2luYXRpb24tc3R5bGUtMDEgLmFjdGl2ZSAucGFnZS1saW5rLC5wYWdpbmF0aW9uLXN0eWxlLTAxIC5wYWdlLWxpbms6aG92ZXJ7YmFja2dyb3VuZDojZmZmO2NvbG9yOiMyMzIzMjM7Ym94LXNoYWRvdzowIDAgMTBweCByZ2JhKDIzLDIzLDIzLC4xNSl9LnByb2R1Y3QtYm94LC5wcm9kdWN0LWJveCAucHJvZHVjdC1pbWFnZXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LnByb2R1Y3QtYm94LC5wcm9kdWN0LWJveCAucHJvZHVjdC1pbWFnZSBpbWd7d2lkdGg6MTAwJX0ucHJvZHVjdC1pbWFnZSAucHJvZHVjdC1ob3Zlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30ucHJvZHVjdC1ob3Zlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvcGFjaXR5OjB9LnByb2R1Y3QtaW1hZ2U6aG92ZXIgLnByb2R1Y3QtaG92ZXJ7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LnByb2R1Y3QtcHJpY2UgZGVse21hcmdpbi1yaWdodDo4cHh9LnByb2R1Y3QtYm94IC5wcm9kdWN0LWhvdmVyLXJpZ2h0e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LnByb2R1Y3QtYm94OmhvdmVyIC5wcm9kdWN0LWhvdmVyLXJpZ2h0e29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5wcm9kdWN0LWltYWdlIC5ob3Zlci1pbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9LnByb2R1Y3QtYm94OmhvdmVyIC5ob3Zlci1pbWFnZXtkaXNwbGF5OmJsb2NrO29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGV9LnByb2R1Y3QtYm94OmhvdmVyIC5kZWZhdWx0LWltYWdle29wYWNpdHk6MCFpbXBvcnRhbnQ7dmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30ucHJvZHVjdC1ib3ggLnByb2R1Y3QtaG92ZXItYm90dG9te3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDt3aWR0aDoxMDAlO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5wcm9kdWN0LWJveDpob3ZlciAucHJvZHVjdC1ob3Zlci1ib3R0b217b3BhY2l0eToxOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LnByb2R1Y3QtYm94OmhvdmVyIC5ob3Zlci1pbWd7b3BhY2l0eToxfS5wcm9kdWN0LWJveCAucHJvZHVjdC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246YWxsIC40cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXR9LnByb2R1Y3QtYm94OmhvdmVyIC5wcm9kdWN0LW92ZXJsYXl7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zaXRpb246YWxsIC40cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXR9LnByb2R1Y3QtYm94IC5tb3ZlLXRvcC1ib3R0b217b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LW1vei10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eX0ucHJvZHVjdC1ib3ggLm1vdmUtYm90dG9tLXRvcHtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LW1zLXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHl9LnByb2R1Y3QtYm94OmhvdmVyIC5tb3ZlLWJvdHRvbS10b3AsLnByb2R1Y3QtYm94OmhvdmVyIC5tb3ZlLXRvcC1ib3R0b217b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnByb2R1Y3QtYm94IC5tb3ZlLWxlZnQtcmlnaHR7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNXB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNXB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE1cHgpO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LW1vei10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eX0ucHJvZHVjdC1ib3ggLm1vdmUtcmlnaHQtbGVmdHtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTVweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNXB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDE1cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxNXB4KTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LW1zLXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHl9LnByb2R1Y3QtYm94OmhvdmVyIC5tb3ZlLWxlZnQtcmlnaHQsLnByb2R1Y3QtYm94OmhvdmVyIC5tb3ZlLXJpZ2h0LWxlZnR7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9LnByb2R1Y3QtaW1hZ2UgLnByb2R1Y3QtbGluay1pY29uOm50aC1jaGlsZCgxKSwucHJvZHVjdC1pbWFnZTpob3ZlciAucHJvZHVjdC1saW5rLWljb246bnRoLWNoaWxkKDEpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTowczstbW96LXRyYW5zaXRpb24tZGVsYXk6MHM7LW8tdHJhbnNpdGlvbi1kZWxheTowczt0cmFuc2l0aW9uLWRlbGF5OjBzfS5wcm9kdWN0LWltYWdlIC5wcm9kdWN0LWxpbmstaWNvbjpudGgtY2hpbGQoMiksLnByb2R1Y3QtaW1hZ2U6aG92ZXIgLnByb2R1Y3QtbGluay1pY29uOm50aC1jaGlsZCgyKXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6NTBtczstbW96LXRyYW5zaXRpb24tZGVsYXk6NTBtczstby10cmFuc2l0aW9uLWRlbGF5OjUwbXM7dHJhbnNpdGlvbi1kZWxheTo1MG1zfS5wcm9kdWN0LWltYWdlIC5wcm9kdWN0LWxpbmstaWNvbjpudGgtY2hpbGQoMyksLnByb2R1Y3QtaW1hZ2U6aG92ZXIgLnByb2R1Y3QtbGluay1pY29uOm50aC1jaGlsZCgzKXstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjFzOy1tb3otdHJhbnNpdGlvbi1kZWxheTouMXM7LW8tdHJhbnNpdGlvbi1kZWxheTouMXM7dHJhbnNpdGlvbi1kZWxheTouMXN9LnByb2R1Y3QtaW1hZ2UgLnByb2R1Y3QtbGluay1pY29uOm50aC1jaGlsZCg0KSwucHJvZHVjdC1pbWFnZTpob3ZlciAucHJvZHVjdC1saW5rLWljb246bnRoLWNoaWxkKDQpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMTVzOy1tb3otdHJhbnNpdGlvbi1kZWxheTouMTVzOy1vLXRyYW5zaXRpb24tZGVsYXk6LjE1czt0cmFuc2l0aW9uLWRlbGF5Oi4xNXN9LnByb2R1Y3QtaW1hZ2UgLnByb2R1Y3QtbGluay1pY29uOm50aC1jaGlsZCg1KSwucHJvZHVjdC1pbWFnZTpob3ZlciAucHJvZHVjdC1saW5rLWljb246bnRoLWNoaWxkKDUpey13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTouMnM7LW1vei10cmFuc2l0aW9uLWRlbGF5Oi4yczstby10cmFuc2l0aW9uLWRlbGF5Oi4yczt0cmFuc2l0aW9uLWRlbGF5Oi4yc30udG9vbHRpcC1pbm5lcntmb250LXNpemU6MTFweDtwYWRkaW5nOjRweCAxM3B4IDVweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC1mYW1pbHk6UG9wcGlucyxzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjUwMDtib3JkZXItcmFkaXVzOjJweH0ucHJvZHVjdC1saW5rLWljb257cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czoxMDAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtjb2xvcjojMjMyMzIzO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbjo1cHg7aGVpZ2h0OjQwcHg7d2lkdGg6NDBweDtsaW5lLWhlaWdodDo0MnB4O2JveC1zaGFkb3c6MCAwIDMwcHggcmdiYSgwLDAsMCwuMik7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30ucHJvZHVjdC1saW5rLWljb246aG92ZXJ7Y29sb3I6IzIzMjMyMzstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5wcm9kdWN0LWxpbmstaWNvbiBpe21hcmdpbjowO2ZvbnQtc2l6ZToxNXB4fS5wcm9kdWN0LWJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyNXB4O2xlZnQ6MjVweDtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo2MDA7Y29sb3I6I2ZmZjtsaW5lLWhlaWdodDoxMXB4O3RleHQtYWxpZ246Y2VudGVyO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6NXB4IDhweDtib3JkZXItcmFkaXVzOjJweH0ucHJvZHVjdC1iYWRnZS5ncmVlbntiYWNrZ3JvdW5kLWNvbG9yOiMyMWIzNzV9LnByb2R1Y3QtYmFkZ2UucmVke2JhY2tncm91bmQtY29sb3I6I2YzNGE1M30ucHJvZHVjdC1iYWRnZS5vcmFuZ2V7YmFja2dyb3VuZC1jb2xvcjojZjM2ZTRhfS5wcm9kdWN0LWltYWdlIC5wcm9kdWN0LWhvdmVyLWRldGFpbHMgYXtiYWNrZ3JvdW5kOiMyMzIzMjM7Ym90dG9tOi01MHB4O2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6MTJweCAwO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0O3otaW5kZXg6MX0ucHJvZHVjdC1pbWFnZSAucHJvZHVjdC1ob3Zlci1kZXRhaWxzIGE6aG92ZXJ7Y29sb3I6I2ZmZn0ucHJvZHVjdC1pbWFnZSAucHJvZHVjdC1ob3Zlci1kZXRhaWxzIGE6YWZ0ZXJ7Y29udGVudDoiLyI7Y29sb3I6IzU0NTU1Mztmb250LXNpemU6MTFweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDotNXB4O3RvcDoycHh9LnByb2R1Y3QtaW1hZ2UgLnByb2R1Y3QtaG92ZXItZGV0YWlscyBhOmxhc3QtY2hpbGQ6YWZ0ZXJ7Y29udGVudDoiIn0ucHJvZHVjdC1pbWFnZSAuaG92ZXItaW1ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi41c30ucHJvZHVjdC1ib3g6aG92ZXIgLnByb2R1Y3QtaG92ZXItZGV0YWlscyBhe2JvdHRvbTowfS5wcm9kdWN0LWJveDpob3ZlciAuaG92ZXItaW1ne29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi41c30uc2hvcC1jb2xvcntkaXNwbGF5OmlubGluZS1ibG9ja30uc2hvcC1jb2xvciBsaXtkaXNwbGF5OmlubGluZS1ibG9ja30uc2hvcC1jb2xvciBsaT5pbnB1dFt0eXBlPXJhZGlvXStsYWJlbCBzcGFue2hlaWdodDozMnB4O3dpZHRoOjMycHg7Ym9yZGVyLXJhZGl1czoxMDAlO21hcmdpbi1yaWdodDo4cHh9LnNob3AtY29sb3IgbGk+aW5wdXRbdHlwZT1yYWRpb10rbGFiZWwgc3BhbjphZnRlcntsaW5lLWhlaWdodDozMnB4O2ZvbnQtc2l6ZToxMHB4fS5zaG9wLWNvbG9yIGxpPmlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwgc3BhbjphZnRlcntjb2xvcjojZmZmfS5zaG9wLXNpemV7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnNob3Atc2l6ZSBsaXtkaXNwbGF5OmlubGluZS1ibG9ja30uc2hvcC1zaXplIGxpPmlucHV0W3R5cGU9cmFkaW9dK2xhYmVsIHNwYW57aGVpZ2h0OjMycHg7d2lkdGg6MzJweDtsaW5lLWhlaWdodDozMHB4O2JvcmRlci1yYWRpdXM6MTAwJTtiYWNrZ3JvdW5kOiNmN2Y3Zjc7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tcmlnaHQ6MTBweH0uc2hvcC1zaXplIGxpPmlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwgc3Bhbntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMzUsMzUsMzUsLjI1KTtjb2xvcjojMjMyMzIzfS5zaG9wLXNpemUgbGk+aW5wdXRbdHlwZT1yYWRpb10rbGFiZWwgc3BhbjphZnRlcntoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO2xlZnQ6MDtjb250ZW50OiIifS5zaG9wLXNpemUgbGk+aW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCtsYWJlbCBzcGFuOmFmdGVye2Rpc3BsYXk6bm9uZX0uc2hvcC1jYXRlZ29yeS1zdHlsZS0wMSAuc2hvcC1wcm9kdWN0LC5zaG9wLWNhdGVnb3J5LXN0eWxlLTAxIC5zaG9wLXByb2R1Y3QtaW1hZ2V7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5zaG9wLWNhdGVnb3J5LXN0eWxlLTAxIC5zaG9wLXByb2R1Y3QtaW1hZ2UgLnNob3AtcHJvZHVjdC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246YWxsIC40cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXR9LnNob3AtY2F0ZWdvcnktc3R5bGUtMDEgLnNob3AtcHJvZHVjdCAuc2hvcC1wcm9kdWN0LWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjI1cHg7bGVmdDoyNXB4O3dpZHRoOmNhbGMoMTAwJSAtIDUwcHgpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uc2hvcC1jYXRlZ29yeS1zdHlsZS0wMSAuc2hvcC1wcm9kdWN0LWNvbnRlbnQgYSwuc2hvcC1jYXRlZ29yeS1zdHlsZS0wMSAuc2hvcC1wcm9kdWN0LWNvbnRlbnQgaXstd2Via2l0LXRyYW5zaXRpb246YWxsIC40cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXR9LnNob3AtY2F0ZWdvcnktc3R5bGUtMDEgLnNob3AtcHJvZHVjdDpob3ZlciAuc2hvcC1wcm9kdWN0LWNvbnRlbnQgYSwuc2hvcC1jYXRlZ29yeS1zdHlsZS0wMSAuc2hvcC1wcm9kdWN0OmhvdmVyIC5zaG9wLXByb2R1Y3QtY29udGVudCBpe2NvbG9yOiNmZmYhaW1wb3J0YW50Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC40cyBlYXNlLWluLW91dH0uc2hvcC1jYXRlZ29yeS1zdHlsZS0wMSAuc2hvcC1wcm9kdWN0OmhvdmVyIC5zaG9wLXByb2R1Y3Qtb3ZlcmxheXtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC40cyBlYXNlLWluLW91dH0uc2hvcC1jYXRlZ29yeS1zdHlsZS0wMSAuc2hvcC1wcm9kdWN0OmhvdmVyIC5zaG9wLXByb2R1Y3QtY29udGVudHtiYWNrZ3JvdW5kLWNvbG9yOiMyMzIzMjMhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6NHB4O2JvdHRvbToyNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uc2hvcC1jYXRlZ29yeS1zdHlsZS0wMSAuc2hvcC1wcm9kdWN0LWltYWdlIGltZ3t3aWR0aDoxMDAlfS5zaG9wLWNhdGVnb3J5LXN0eWxlLTAyIC5zaG9wLXByb2R1Y3QtaW1hZ2V7bWFyZ2luLXJpZ2h0Oi0yNXB4O3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0O3Bvc2l0aW9uOnJlbGF0aXZlfS5zaG9wLWNhdGVnb3J5LXN0eWxlLTAyIC5zaG9wLXByb2R1Y3QtaW1hZ2UgaW1ney13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uc2hvcC1jYXRlZ29yeS1zdHlsZS0wMjpob3ZlciAuc2hvcC1wcm9kdWN0LWltYWdlIGltZ3tvcGFjaXR5Oi4zO3BhZGRpbmc6MTVweDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9LnNob3AtY2F0ZWdvcnktc3R5bGUtMDIgLnNob3AtcHJvZHVjdC1pbWFnZSAucHJvZHVjdC12aWV3LWxpbmt7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgxLDEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEsMSkgdHJhbnNsYXRlKC01MCUsLTUwJSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMSwxKSB0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEsMSkgdHJhbnNsYXRlKC01MCUsLTUwJSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0O3RvcDo1MCU7bGVmdDo1MCV9LnNob3AtY2F0ZWdvcnktc3R5bGUtMDI6aG92ZXIgLnNob3AtcHJvZHVjdC1pbWFnZSBhLnByb2R1Y3Qtdmlldy1saW5re29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMS4xLDEuMSkgdHJhbnNsYXRlKC01MCUsLTUwJSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xLDEuMSkgdHJhbnNsYXRlKC01MCUsLTUwJSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMS4xLDEuMSkgdHJhbnNsYXRlKC01MCUsLTUwJSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEsMS4xKSB0cmFuc2xhdGUoLTUwJSwtNTAlKX0ucHJvZHVjdC1pbWFnZS1zbGlkZXIgaW1ne2N1cnNvcjpjcm9zc2hhaXJ9LnByb2R1Y3QtaW1hZ2VzLWJveCAuc2xpZGVyLXByb2R1Y3QtbmV4dCwucHJvZHVjdC1pbWFnZXMtYm94IC5zbGlkZXItcHJvZHVjdC1wcmV2e3dpZHRoOjY1cHg7aGVpZ2h0OjY1cHh9LmNhcnQtcHJvZHVjdHMgdGR7Y29sb3I6IzgyODI4Mjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U0ZTRlNDtib3JkZXItdG9wOjA7cGFkZGluZzoyNXB4IDEwcHg7bGluZS1oZWlnaHQ6MjhweH0uY2FydC1wcm9kdWN0cyB0aHtib3JkZXItdG9wOjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U0ZTRlNCFpbXBvcnRhbnQ7cGFkZGluZzoxNXB4IDEwcHg7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LmNhcnQtcHJvZHVjdHMgLnByb2R1Y3QtcmVtb3Zle3dpZHRoOjI1cHh9LmNhcnQtcHJvZHVjdHMgLmNhcnQtcHJvZHVjdC1pbWFnZXttYXgtd2lkdGg6NzVweH0uY2FydC1wcm9kdWN0cyAucHJvZHVjdC10aHVtYm5haWx7d2lkdGg6MTEwcHh9LmNhcnQtcHJvZHVjdHMgLnByb2R1Y3QtbmFtZSAudmFyaWF0aW9ue2Zsb2F0OmxlZnQ7d2lkdGg6MTAwJX0uY2FydC1wcm9kdWN0cyAucHJvZHVjdC1uYW1lIC52YXJpYXRpb24gLnZhcmlhdGlvbi1TaXple2Zsb2F0OmxlZnQ7bWFyZ2luLXJpZ2h0Oi4yNWVtO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpc3Qtc3R5bGU6bm9uZSBvdXRzaWRlO2ZvbnQtd2VpZ2h0OjQwMH0uY2FydC1wcm9kdWN0cyAucHJvZHVjdC1uYW1lIC52YXJpYXRpb24gLnZhcmlhdGlvbi1TaXplIHB7bWFyZ2luOjB9LnF1YW50aXR5e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ucXR5LWJ0bnt3aWR0aDoyMnB4O2hlaWdodDoxOXB4O2xpbmUtaGVpZ2h0OjE5cHg7Ym9yZGVyOjA7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNlOGU4ZTg7cGFkZGluZzowO21hcmdpbjowO3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6MCAwfS5xdHktYnRuOmZvY3Vze2JvcmRlcjpub25lO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZThlOGU4fS5xdHktcGx1czpmb2N1c3tib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZThlOGU4fS5xdHktbWludXN7cmlnaHQ6MXB4O3RvcDoyMHB4O3BhZGRpbmctbGVmdDoycHg7Ym9yZGVyLXJhZGl1czowfS5xdHktcGx1c3t0b3A6MXB4O3JpZ2h0OjFweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4O2hlaWdodDoyMHB4O2xpbmUtaGVpZ2h0OjIwcHg7cGFkZGluZy1sZWZ0OjFweDtib3JkZXItcmFkaXVzOjB9LnF0eS10ZXh0e21hcmdpbjowO3BhZGRpbmc6MCAyNHB4IDAgMDt3aWR0aDo2NXB4O2xpbmUtaGVpZ2h0OjQwcHg7aGVpZ2h0OjQwcHg7b3V0bGluZTowO2JvcmRlci1yYWRpdXM6MDtvdXRsaW5lOjA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hcHBlYXJhbmNlOnRleHRmaWVsZDstbW96LWFwcGVhcmFuY2U6dGV4dGZpZWxkfS5jb3Vwb24tY29kZS1wYW5lbHtwb3NpdGlvbjpyZWxhdGl2ZX0uY291cG9uLWNvZGUtcGFuZWwgaW5wdXR7bWFyZ2luOjA7Ym9yZGVyOm5vbmU7Ym9yZGVyOjFweCBkYXNoZWQgI2U0ZTRlNDtwYWRkaW5nOjEwcHggNzBweCAxMXB4IDQ1cHg7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZX0uY291cG9uLWNvZGUtcGFuZWw6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IlxlOGJmIjtmb250LWZhbWlseTpmZWF0aGVyO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MjBweDt6LWluZGV4OjI7bGluZS1oZWlnaHQ6NDRweH0uY291cG9uLWNvZGUtcGFuZWwgLmFwcGx5LWNvdXBvbi1idG57cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTBweDt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2NvbG9yOiMyMzIzMjM7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjIwcHg7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX0uY2FydC1idG57cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjBweH0uY2FydC1idG46YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo5MCU7aGVpZ2h0OjJweDtib3R0b206MDtsZWZ0OjUwJTtiYWNrZ3JvdW5kOiMwMDA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9LnRvdGFsLXByaWNlLXRhYmxlIHRkLC50b3RhbC1wcmljZS10YWJsZSB0aHtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTRlNGU0O3BhZGRpbmctdG9wOjIwcHg7cGFkZGluZy1ib3R0b206MjBweH0udG90YWwtcHJpY2UtdGFibGUgdHI6bGFzdC1jaGlsZCB0ZCwudG90YWwtcHJpY2UtdGFibGUgdHI6bGFzdC1jaGlsZCB0aHtib3JkZXI6bm9uZX0udG90YWwtcHJpY2UtdGFibGUgLmNhbGN1bGF0ZS1zaGlwcGluZyB0aCAuY2FsY3VsYXRlLXNoaXBwaW5nLXRpdGxle3Bvc2l0aW9uOnJlbGF0aXZlO2NvbG9yOiMyMTI1Mjl9LnRvdGFsLXByaWNlLXRhYmxlIC5jYWxjdWxhdGUtc2hpcHBpbmcgdGggLmNhbGN1bGF0ZS1zaGlwcGluZy10aXRsZTphZnRlcntmb250LWZhbWlseTpmZWF0aGVyO2NvbnRlbnQ6IlxlODQyIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO2ZvbnQtd2VpZ2h0OjcwMH0udG90YWwtcHJpY2UtdGFibGUgLmNhbGN1bGF0ZS1zaGlwcGluZyB0aCAuY2FsY3VsYXRlLXNoaXBwaW5nLXRpdGxlOmhvdmVye291dGxpbmU6MDtjb2xvcjojMjEyNTI5fS5wcmljZS1maWx0ZXIudWktd2lkZ2V0LnVpLXdpZGdldC1jb250ZW50e2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kLWNvbG9yOiNkZmRmZGY7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2hlaWdodDo1cHg7bWFyZ2luOjI1cHggM3B4IDMwcHggOHB4fS5wcmljZS1maWx0ZXIgLnVpLXNsaWRlci1yYW5nZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMzIzMjM7aGVpZ2h0OjNweH0ucHJpY2UtZmlsdGVyIC51aS1zbGlkZXItaGFuZGxle2JhY2tncm91bmQtY29sb3I6I2ZmZjt3aWR0aDoxM3B4O2hlaWdodDoxM3B4O3RvcDotNXB4O2JvcmRlcjoxcHggc29saWQgI2JiYjtib3JkZXItcmFkaXVzOjEwMCU7Y3Vyc29yOmV3LXJlc2l6ZTtvdXRsaW5lOjB9LnByaWNlLWZpbHRlci1kZXRhaWxzIC5idG4tZmlsdGVye2ZvbnQtc2l6ZToxMHB4O2NvbG9yOiMxMDEwMTA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmbG9hdDpyaWdodDtwYWRkaW5nOjFweCAxMnB4O291dGxpbmU6MDtmb250LXdlaWdodDo1MDA7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2JvcmRlcjoxcHggc29saWQgI2Q2ZDZkNjtsaW5lLWhlaWdodDoxOXB4fS5wcmljZS1maWx0ZXItZGV0YWlscyAuYnRuLWZpbHRlcjpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzIzMjMyMztib3JkZXI6MXB4IHNvbGlkICMyMzIzMjN9LnByaWNlLWZpbHRlci1kZXRhaWxzIC5wcmljZS1maWx0ZXItYW1vdW50IC5wcmljZS1hbW91bnR7Ym9yZGVyOm5vbmU7cGFkZGluZzowO21heC13aWR0aDoxMTVweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5jbGllbnQtbG9nby1zdHlsZS0wMSAuY2xpZW50LWJveHtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3otaW5kZXg6MDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO29wYWNpdHk6MX0uY2xpZW50LWxvZ28tc3R5bGUtMDEgLmNsaWVudC1ib3g6aG92ZXJ7ei1pbmRleDoxMH0uY2xpZW50LWxvZ28tc3R5bGUtMDEgLmNsaWVudC1ib3g6YWZ0ZXIsLmNsaWVudC1sb2dvLXN0eWxlLTAxIC5jbGllbnQtYm94OmJlZm9yZXtjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDojZmZmO3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybS1vcmlnaW46NTAlIDUwJTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46NTAlIDUwJTstbW96LXRyYW5zZm9ybS1vcmlnaW46NTAlIDUwJTstbXMtdHJhbnNmb3JtLW9yaWdpbjo1MCUgNTAlOy1vLXRyYW5zZm9ybS1vcmlnaW46NTAlIDUwJTtvcGFjaXR5OjF9LmNsaWVudC1sb2dvLXN0eWxlLTAxIC5jbGllbnQtYm94OmJlZm9yZXt3aWR0aDpjYWxjKDEwMCUgKyAzcHgpO2hlaWdodDpjYWxjKDEwMCUgKyA0cHgpO3otaW5kZXg6MTt0cmFuc2l0aW9uOmhlaWdodCAxcyBlYXNlLG9wYWNpdHkgLjhzIGVhc2U7LXdlYmtpdC10cmFuc2l0aW9uOmhlaWdodCAxcyBlYXNlLG9wYWNpdHkgLjhzIGVhc2U7LW1vei10cmFuc2l0aW9uOmhlaWdodCAxcyBlYXNlLG9wYWNpdHkgLjhzIGVhc2U7LW1zLXRyYW5zaXRpb246aGVpZ2h0IDFzIGVhc2Usb3BhY2l0eSAuOHMgZWFzZTstby10cmFuc2l0aW9uOmhlaWdodCAxcyBlYXNlLG9wYWNpdHkgLjhzIGVhc2V9LmNsaWVudC1sb2dvLXN0eWxlLTAxIC5jbGllbnQtYm94OmFmdGVye2hlaWdodDpjYWxjKDEwMCUgKyA0cHgpO3dpZHRoOjEwMCU7ei1pbmRleDoxO3RyYW5zaXRpb246d2lkdGggMXMgZWFzZSxvcGFjaXR5IC44cyBlYXNlfS5jbGllbnQtbG9nby1zdHlsZS0wMSAuY2xpZW50LWJveDpob3ZlcjpiZWZvcmV7dHJhbnNpdGlvbjpoZWlnaHQgLjJzIGVhc2Usb3BhY2l0eSAuM3MgZWFzZTstd2Via2l0LXRyYW5zaXRpb246aGVpZ2h0IC4ycyBlYXNlLG9wYWNpdHkgLjNzIGVhc2U7LW1vei10cmFuc2l0aW9uOmhlaWdodCAuMnMgZWFzZSxvcGFjaXR5IC4zcyBlYXNlOy1tcy10cmFuc2l0aW9uOmhlaWdodCAuMnMgZWFzZSxvcGFjaXR5IC4zcyBlYXNlOy1vLXRyYW5zaXRpb246aGVpZ2h0IC4ycyBlYXNlLG9wYWNpdHkgLjNzIGVhc2U7aGVpZ2h0OmNhbGMoMTAwJSAtIDIwcHgpO29wYWNpdHk6Ljd9LmNsaWVudC1sb2dvLXN0eWxlLTAxIC5jbGllbnQtYm94OmhvdmVyOmFmdGVye3RyYW5zaXRpb246d2lkdGggLjJzIGVhc2Usb3BhY2l0eSAuM3MgZWFzZTstd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjJzIGVhc2Usb3BhY2l0eSAuM3MgZWFzZTstbW96LXRyYW5zaXRpb246d2lkdGggLjJzIGVhc2Usb3BhY2l0eSAuM3MgZWFzZTstbXMtdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZSxvcGFjaXR5IC4zcyBlYXNlOy1vLXRyYW5zaXRpb246d2lkdGggLjJzIGVhc2Usb3BhY2l0eSAuM3MgZWFzZTt3aWR0aDpjYWxjKDEwMCUgLSAyMHB4KTtvcGFjaXR5Oi44fS5jbGllbnQtbG9nby1zdHlsZS0wMSAuY2xpZW50LWJveCAuY2xpZW50LWJveC1pbWFnZXt6LWluZGV4OjI7cG9zaXRpb246cmVsYXRpdmV9LmNsaWVudC1sb2dvLXN0eWxlLTAyIC5jbGllbnQtbG9nb3tvcGFjaXR5Oi42O3RyYW5zaXRpb24tZHVyYXRpb246LjJzOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMnM7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4yczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouMnM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouMnN9LmNsaWVudC1sb2dvLXN0eWxlLTAyIC5jbGllbnQtbG9nbzpob3ZlcntvcGFjaXR5OjE7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnM7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4yczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjJzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4yczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4yc30uY2xpZW50LWxvZ28tc3R5bGUtMDMgaW1ne2ZpbHRlcjpncmF5c2NhbGUoMSk7dHJhbnNpdGlvbi1wcm9wZXJ0eTpmaWx0ZXI7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmZpbHRlcjstbW96LXRyYW5zaXRpb24tcHJvcGVydHk6ZmlsdGVyOy1tcy10cmFuc2l0aW9uLXByb3BlcnR5OmZpbHRlcjstby10cmFuc2l0aW9uLXByb3BlcnR5OmZpbHRlcjt0cmFuc2l0aW9uLWR1cmF0aW9uOi40czstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjRzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouNHM7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjRzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjRzfS5jbGllbnQtbG9nby1zdHlsZS0wMyBhOmhvdmVyIGltZ3tmaWx0ZXI6Z3JheXNjYWxlKDApO3RyYW5zaXRpb24tcHJvcGVydHk6ZmlsdGVyO3RyYW5zaXRpb24tZHVyYXRpb246LjRzOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNHM7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi40czstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouNHM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouNHN9LmNsaWVudC1sb2dvLXN0eWxlLTA0IC5jbGllbnQtYm94e3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7ei1pbmRleDowO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmNsaWVudC1sb2dvLXN0eWxlLTA0IC5jbGllbnQtYm94IC5jbGllbnQtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Oi0xO29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoLjgpO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmNsaWVudC1sb2dvLXN0eWxlLTA0IC5jbGllbnQtYm94OmhvdmVyIC5jbGllbnQtb3ZlcmxheXtvcGFjaXR5OjE7dHJhbnNmb3JtOnNjYWxlKDEpfS5jbGllbnQtbG9nby1zdHlsZS0wNSBhe2Rpc3BsYXk6YmxvY2t9LmNsaWVudC1sb2dvLXN0eWxlLTA1IGEgaW1ne3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1tb3otdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1tcy10cmFuc2l0aW9uOmFsbCAuMnMgY3ViaWMtYmV6aWVyKC4yLDAsLjMsMSk7LW8tdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjIsMCwuMywxKX0uY2xpZW50LWxvZ28tc3R5bGUtMDUgYTpob3ZlciBpbWd7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCl9LmNsaWVudC1sb2dvLXN0eWxlLTA2IC5jbGllbnQtYm94e29wYWNpdHk6LjU7aGVpZ2h0OjEwMCU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yczstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjJzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouMnM7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjJzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjJzfS5jbGllbnQtbG9nby1zdHlsZS0wNiAuY2xpZW50LWJveDpob3ZlcntvcGFjaXR5OjE7dHJhbnNpdGlvbi1kdXJhdGlvbjouMnM7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4yczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjJzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4yczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4yc30uY2xpZW50LWxvZ28tc3R5bGUtMDcgLmNsaWVudC1sb2dve29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246YWxsIC40cyBjdWJpYy1iZXppZXIoLjIsMCwuMywxKTstbW96LXRyYW5zaXRpb246YWxsIC40cyBjdWJpYy1iZXppZXIoLjIsMCwuMywxKTstbXMtdHJhbnNpdGlvbjphbGwgLjRzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1vLXRyYW5zaXRpb246YWxsIC40cyBjdWJpYy1iZXppZXIoLjIsMCwuMywxKTt0cmFuc2l0aW9uOmFsbCAuNHMgY3ViaWMtYmV6aWVyKC4yLDAsLjMsMSl9LmNsaWVudC1sb2dvLXN0eWxlLTA3OmhvdmVyIC5jbGllbnQtbG9nb3std2Via2l0LWZpbHRlcjpibHVyKDJweCk7ZmlsdGVyOmJsdXIoMnB4KTtvcGFjaXR5Oi42fS5jbGllbnQtbG9nby1zdHlsZS0wNyAuY2xpZW50LWxvZ286aG92ZXJ7b3BhY2l0eToxOy13ZWJraXQtZmlsdGVyOmJsdXIoMCk7ZmlsdGVyOmJsdXIoMCl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDEgKnt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wMXtkaXNwbGF5OmlubGluZS1ibG9jaztmbG9hdDpub25lO2JvcmRlcjowO3Bvc2l0aW9uOnJlbGF0aXZlfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTAxIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWltYWdle3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wMSAuaW50ZXJhY3RpdmUtYmFubmVycy1pbWFnZSBpbWd7d2lkdGg6MTAwJX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wMSAuaW50ZXJhY3RpdmUtYmFubmVycy1ob3Zlcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wMTpob3ZlciAuaW50ZXJhY3RpdmUtYmFubmVycy1ob3ZlcntvcGFjaXR5OjF9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDEgLmludGVyYWN0aXZlLWJhbm5lcnMtaWNvbnt3aWR0aDozNXB4O2hlaWdodDozNXB4O2xpbmUtaGVpZ2h0OjM2cHg7Ym9yZGVyLXJhZGl1czoxMDAlO3RleHQtYWxpZ246Y2VudGVyO29wYWNpdHk6MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO21hcmdpbjotMThweCAwIDAgMDt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LW1zLXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDE6aG92ZXIgLnJvdW5kZWQtaWNvbntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE4cHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE4cHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE4cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMThweCl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDEgLmludGVyYWN0aXZlLWJhbm5lcnMtdGl0bGV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDM1cHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMzVweCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgzNXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMzVweCk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstbW96LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy1tcy10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTAxOmhvdmVyIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXRpdGxle29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSg3MHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDcwcHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNzBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDcwcHgpfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTAxIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN1Yi10aXRsZXtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNzBweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSg3MHB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDcwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSg3MHB4KTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LW1zLXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDE6aG92ZXIgLmludGVyYWN0aXZlLWJhbm5lcnMtc3ViLXRpdGxle29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTAxIC5zY2FsZXstbW96LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTstby10cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSk7LW1zLXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDEsMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLDEsMSl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDE6aG92ZXIgLnNjYWxley1tb3otdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxKTstby10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS4xLDEuMSwxKTt0cmFuc2Zvcm06c2NhbGUzZCgxLjEsMS4xLDEpfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTAxOmhvdmVyIGltZ3tvcGFjaXR5Oi41fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTAyIC5jYXRlZ29yeS1uYW1le3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0MHB4O2xlZnQ6NTBweDtsaW5lLWhlaWdodDoxNHB4O2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMjMyMzIzO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtwYWRkaW5nOjhweCAxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1tb3otdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1tcy10cmFuc2l0aW9uOmFsbCAuMnMgY3ViaWMtYmV6aWVyKC4yLDAsLjMsMSk7LW8tdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjIsMCwuMywxKX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wMj5he3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2t9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDI6aG92ZXIgLmNhdGVnb3J5LW5hbWV7YmFja2dyb3VuZDojMjMyMzIzO2NvbG9yOiNmZmY7dHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0O2JveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuMil9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDIgLmNhdGVnb3J5LWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3BhZGRpbmc6MjBweCA1MHB4IDQwcHg7d2lkdGg6MTAwJX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wMiAuaW50ZXJhY3RpdmUtYmFubmVycy1pY29ue29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1tb3otdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1tcy10cmFuc2l0aW9uOmFsbCAuMnMgY3ViaWMtYmV6aWVyKC4yLDAsLjMsMSk7LW8tdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjIsMCwuMywxKX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wMjpob3ZlciAuaW50ZXJhY3RpdmUtYmFubmVycy1pY29ue29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTAzICp7dHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTAze3otaW5kZXg6MDtwb3NpdGlvbjpyZWxhdGl2ZX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wMyAuaW50ZXJhY3RpdmUtYmFubmVycy1pbWFnZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2xlZnQ6MDt6LWluZGV4Oi0xO29wYWNpdHk6MDt0b3A6MH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wMzpob3ZlciAuaW50ZXJhY3RpdmUtYmFubmVycy1pbWFnZXtvcGFjaXR5OjE7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEsMS4xKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEsMS4xKTt0cmFuc2Zvcm06c2NhbGUoMS4xLDEuMSl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDM6aG92ZXIgaDYgYSwuaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wMzpob3ZlciBpLC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTAzOmhvdmVyIHNwYW4sLmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDM6aG92ZXIgc3BhbiBhe2NvbG9yOiNmZmYhaW1wb3J0YW50fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTAzOmhvdmVyIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLW5hbWV7Ym9yZGVyLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA0IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWNvbnRlbnQgLmJ0bntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTMwcHg7b3BhY2l0eTowO21hcmdpbjowIGF1dG87bGVmdDowO3JpZ2h0OjB9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDQgLmludGVyYWN0aXZlLWJhbm5lcnMtY29udGVudDpob3ZlciAuYnRue2JvdHRvbTowO29wYWNpdHk6MX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNSAqey13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjRzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1tb3otdHJhbnNpdGlvbjphbGwgLjRzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1tcy10cmFuc2l0aW9uOmFsbCAuNHMgY3ViaWMtYmV6aWVyKC4yLDAsLjMsMSk7LW8tdHJhbnNpdGlvbjphbGwgLjRzIGN1YmljLWJlemllciguMiwwLC4zLDEpO3RyYW5zaXRpb246YWxsIC40cyBjdWJpYy1iZXppZXIoLjIsMCwuMywxKX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDUgLmludGVyYWN0aXZlLWJhbm5lcnMtY29udGVudCwuaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNSAuaW50ZXJhY3RpdmUtYmFubmVycy1vdmVybGF5ZXJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3dpZHRoOjEwMCU7ei1pbmRleDoxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKGNhbGMoMTAwJSAtIDEzMHB4KSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWShjYWxjKDEwMCUgLSAxMzBweCkpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoY2FsYygxMDAlIC0gMTMwcHgpKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSkgdHJhbnNsYXRlWSgtMTMwcHgpfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA1OmhvdmVyIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWNvbnRlbnQsLmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDU6aG92ZXIgLmludGVyYWN0aXZlLWJhbm5lcnMtb3ZlcmxheWVye3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDUgLmludGVyYWN0aXZlLWJhbm5lcnMtY29udGVudCAuaW50ZXJhY3RpdmUtYmFubmVycy1jb250ZW50LXRleHR7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNTpob3ZlciAuaW50ZXJhY3RpdmUtYmFubmVycy1jb250ZW50IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWNvbnRlbnQtdGV4dHtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA1IC5vdmVybGF5ZXItYm94e2hlaWdodDowO3otaW5kZXg6LTF9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDU6aG92ZXIgLm92ZXJsYXllci1ib3h7aGVpZ2h0OjEwMCV9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDU6aG92ZXIgLnNlY3Rpb24tbGlua3t0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNTpob3ZlciAuc2VjdGlvbi1saW5re29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNntkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNiAuaW50ZXJhY3RpdmUtYmFubmVycy10ZXh0ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMCUpO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMiwuOTUsLjI1LDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjIsLjk1LC4yNSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4yLC45NSwuMjUsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMiwuOTUsLjI1LDEpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgY2VudGVyfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA2IGE6aG92ZXIgLmludGVyYWN0aXZlLWJhbm5lcnMtdGV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA2IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWljb257LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApIHRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnNjYWxlWCgwKSB0cmFuc2xhdGVYKDApO3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMiwuOTUsLjI1LDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjIsLjk1LC4yNSwxKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC4yLC45NSwuMjUsMSksLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguMiwuOTUsLjI1LDEpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgY2VudGVyfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA2IGE6aG92ZXIgLmludGVyYWN0aXZlLWJhbm5lcnMtaWNvbnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWCgtMy43MjdlbSk7dHJhbnNmb3JtOnNjYWxlWCgxKSB0cmFuc2xhdGVYKDApfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA3IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveCwuaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNyAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3ggLmludGVyYWN0aXZlLWJhbm5lcnMtYm94LWltYWdle3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNyAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3ggLmZhbmN5LXRleHQtY29udGVudCwuaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wNyAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3ggaW1nLC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA3IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveC1pbWFnZSAuZmFuY3ktdGV4dC1vdmVybGF5e3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA3IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveCAuZmFuY3ktdGV4dC1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7bGVmdDowO3RvcDphdXRvO3otaW5kZXg6OTtib3R0b206MDtoZWlnaHQ6YXV0bzt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA3IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveDpob3ZlciAuZmFuY3ktdGV4dC1jb250ZW50e3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MHB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwcHgpfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA3IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveCAuZmFuY3ktdGV4dC1jb250ZW50IHNwYW57b3BhY2l0eToxO3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA3IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveDpob3ZlciAuZmFuY3ktdGV4dC1jb250ZW50IHNwYW57b3BhY2l0eTowfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA3IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveCAuZmFuY3ktdGV4dC1jb250ZW50IC5idG57b3BhY2l0eTowO3doaXRlLXNwYWNlOm5vd3JhcDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA3IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveDpob3ZlciAuZmFuY3ktdGV4dC1jb250ZW50IC5idG57b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDcgLmludGVyYWN0aXZlLWJhbm5lcnMtYm94OmhvdmVyIGltZ3tvcGFjaXR5Oi43fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA4IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveC1pbWFnZXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDggLmludGVyYWN0aXZlLWJhbm5lcnMtYm94LWltYWdlIGltZ3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wODpob3ZlciAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3gtaW1hZ2UgaW1ney13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMS4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wOCAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3gtaW1hZ2UgLmJ0bnt6LWluZGV4OjE7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTtoZWlnaHQ6NDRweDt3aWR0aDo0NHB4O2xpbmUtaGVpZ2h0OjQwcHg7cGFkZGluZzowO29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDg6aG92ZXIgLmludGVyYWN0aXZlLWJhbm5lcnMtYm94LWltYWdlIC5idG57b3BhY2l0eToxfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA4IHNwYW57b3BhY2l0eToxO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LW1vei10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wODpob3ZlciBzcGFue29wYWNpdHk6MH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wOCAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3gtc3ViLXRpdGxle3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3dpZHRoOjEwMCU7b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTstbW96LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5Oy1tcy10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5O3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA4OmhvdmVyIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveC1zdWItdGl0bGV7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDggLmludGVyYWN0aXZlLWJhbm5lcnMtYm94LWhvdmVye29wYWNpdHk6MDt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wODpob3ZlciAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3gtaG92ZXJ7b3BhY2l0eToxfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA5IGZpZ3VyZXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDkgZmlnY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wOSAuaW50ZXJhY3RpdmUtYmFubmVycy1jb250ZW50IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWhvdmVyLWljb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo2MHB4O2JvdHRvbTo2MHB4O3RyYW5zZm9ybTpzY2FsZSgxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA5IGZpZ2NhcHRpb246aG92ZXIgLmludGVyYWN0aXZlLWJhbm5lcnMtY29udGVudCAuaW50ZXJhY3RpdmUtYmFubmVycy1ob3Zlci1pY29ue29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMCk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMCk7LW1vei10cmFuc2Zvcm06c2NhbGUoMCk7LW1zLXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wOSAuaW50ZXJhY3RpdmUtYmFubmVycy1ob3Zlci1hY3Rpb257b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotMjVweDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA5IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWFjdGlvbi1jb250ZW50e292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO2Rpc3BsYXk6LXdlYmtpdC1ib3g7bWluLWhlaWdodDo3NXB4Oy13ZWJraXQtbGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wOSBmaWdjYXB0aW9uOmhvdmVyIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWhvdmVyLWFjdGlvbntvcGFjaXR5OjE7Ym90dG9tOjA7dHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXR9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDkgZmlndXJlIGltZ3std2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246MnM7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOjJzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOjJzO3RyYW5zaXRpb24tZHVyYXRpb246MnN9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDkgZmlndXJlOmhvdmVyIGltZ3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjQpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS40KTstbW96LXRyYW5zZm9ybTpzY2FsZSgxLjQpO3RyYW5zZm9ybTpzY2FsZSgxLjQpOy1vLXRyYW5zZm9ybTpzY2FsZSgxLjQpOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjo0czt0cmFuc2l0aW9uLWR1cmF0aW9uOjRzfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTA5IC5pbnRlcmFjdGl2ZS1iYW5uZXJzLW92ZXJsYXl7b3BhY2l0eTowO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7dHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXR9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDkgZmlndXJlOmhvdmVyIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLW92ZXJsYXl7b3BhY2l0eToxO3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEwIGZpZ3VyZXtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tYm90dG9tOjB9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTAgZmlnY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEwIGZpZ2NhcHRpb24gYXt0b3A6LTE1cHg7cG9zaXRpb246cmVsYXRpdmV9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTAgZmlndXJlOmhvdmVyIGZpZ2NhcHRpb257b3BhY2l0eToxfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEwIGZpZ3VyZTpob3ZlciBmaWdjYXB0aW9uIGF7dG9wOjB9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTEgLmludGVyYWN0aXZlLWJhbm5lcnMtYm94LC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTExIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveCAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3gtaW1hZ2V7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTExIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveCAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3gtaW1hZ2UgaW1nLC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTExIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveCAuaW50ZXJhY3RpdmUtYmFubmVycy10ZXh0LWNvbnRlbnQsLmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTEgLmludGVyYWN0aXZlLWJhbm5lcnMtYm94LWltYWdlIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXRleHQtb3ZlcmxheXt0cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xMSAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3gtaW1hZ2UgLmludGVyYWN0aXZlLWJhbm5lcnMtdGV4dC1vdmVybGF5e29wYWNpdHk6LjM7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXR9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTEgLmludGVyYWN0aXZlLWJhbm5lcnMtYm94OmhvdmVyIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXRleHQtb3ZlcmxheXtvcGFjaXR5Oi43N30uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xMSAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3g6aG92ZXIgLmludGVyYWN0aXZlLWJhbm5lcnMtYm94LWltYWdlIGltZ3std2Via2l0LWZpbHRlcjpibHVyKDNweCk7ZmlsdGVyOmJsdXIoM3B4KTt0cmFuc2Zvcm06c2NhbGUoMS4xKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEpfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTExIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWJveCAuaW50ZXJhY3RpdmUtYmFubmVycy10ZXh0LWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtsZWZ0OjA7dG9wOmF1dG87ei1pbmRleDo5O2JvdHRvbTowO2hlaWdodDphdXRvO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTEgLmludGVyYWN0aXZlLWJhbm5lcnMtYm94OmhvdmVyIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXRleHQtY29udGVudHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNjVweCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNjVweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNjVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC02NXB4KX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xMSAuaW50ZXJhY3RpdmUtYmFubmVycy1ib3ggLmludGVyYWN0aXZlLWJhbm5lcnMtdGV4dC1jb250ZW50IC5idG57b3BhY2l0eTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCl9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTEgLmludGVyYWN0aXZlLWJhbm5lcnMtYm94OmhvdmVyIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXRleHQtY29udGVudCAuYnRue29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEyIGZpZ3VyZXttYXJnaW46MH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xMiBmaWd1cmUgLmludGVyYWN0aXZlLWJhbm5lcnMtaW1hZ2V7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEyIGZpZ3VyZSAuaW50ZXJhY3RpdmUtYmFubmVycy1pbWFnZSBpbWd7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDstbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEyIGZpZ3VyZTpob3ZlciBpbWd7b3BhY2l0eTouNH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xMiBmaWd1cmUgLmludGVyYWN0aXZlLWJhbm5lcnMtZGV0YWlsc3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTIgZmlndXJlIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWRldGFpbHMgYXt0cmFuc2Zvcm06c2NhbGUoLjksLjkpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC45LC45KTstbW96LXRyYW5zZm9ybTpzY2FsZSguOSwuOSk7LW1zLXRyYW5zZm9ybTpzY2FsZSguOSwuOSk7LW8tdHJhbnNmb3JtOnNjYWxlKC45LC45KTtvcGFjaXR5OjA7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDstbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEyIGZpZ3VyZTpob3ZlciAuaW50ZXJhY3RpdmUtYmFubmVycy1kZXRhaWxzIGF7dHJhbnNmb3JtOnNjYWxlKDEsMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSwxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxLDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSwxKTstby10cmFuc2Zvcm06c2NhbGUoMSwxKTtvcGFjaXR5OjF9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTIgZmlndXJlIGZpZ2NhcHRpb257cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3dpZHRoOjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTAlKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTIgZmlndXJlOmhvdmVyIGZpZ2NhcHRpb257dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMzBweCk7b3BhY2l0eTowfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEzICp7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi40czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjRzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi40czstby10cmFuc2l0aW9uLWR1cmF0aW9uOi40czt0cmFuc2l0aW9uLWR1cmF0aW9uOi40c30uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xM3tvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTMgLmludGVyYWN0aXZlLWJhbm5lcnMtY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2hlaWdodDoxMDAlO3dpZHRoOjM1JTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4IWltcG9ydGFudDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEzIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWNvbnRlbnQgLmludGVyYWN0aXZlLWJhbm5lcnMtdGl0bGV7bWFyZ2luLWJvdHRvbTotMjBweH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xMzpob3ZlciAuaW50ZXJhY3RpdmUtYmFubmVycy10aXRsZXttYXJnaW4tYm90dG9tOjEwcHh9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTMgLmludGVyYWN0aXZlLWJhbm5lcnMtY29udGVudCAuaW50ZXJhY3RpdmUtYmFubmVycy1saW5re29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGUoMSwxKX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xMzpob3ZlciAuaW50ZXJhY3RpdmUtYmFubmVycy1saW5re29wYWNpdHk6MTt0cmFuc2Zvcm06c2NhbGUoMSwxKX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xMyAuaW50ZXJhY3RpdmUtYmFubmVycy1pbWFnZXtwb3NpdGlvbjpyZWxhdGl2ZTtsZWZ0OjA7d2lkdGg6NzUlfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEzOmhvdmVyIC5pbnRlcmFjdGl2ZS1iYW5uZXJzLWltYWdle2xlZnQ6LTIwJTtmaWx0ZXI6Z3JheXNjYWxlKDEwMCUpO29wYWNpdHk6Ljh9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTQgKnt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC40cyBlYXNlLWluLW91dH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xNCBmaWd1cmV7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTE0IGZpZ2NhcHRpb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDoxfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTE0IGZpZ2NhcHRpb24gLmhvdmVyLXNob3ctY29udGVudHtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47bWFyZ2luLWJvdHRvbTotNDBweH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xNCBmaWd1cmUgZmlnY2FwdGlvbiAuaG92ZXItY29udGVudC1kZXRhaWx7b3BhY2l0eTowO21pbi1oZWlnaHQ6NTBweDtoZWlnaHQ6NTBweDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjJzLC13ZWJraXQtdHJhbnNmb3JtIC4zNXM7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyx0cmFuc2Zvcm0gLjM1czstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDI1cHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMjVweCwwKX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xNCBmaWd1cmU6aG92ZXIgZmlnY2FwdGlvbiAuaG92ZXItY29udGVudC1kZXRhaWx7aGVpZ2h0OmF1dG87LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OjUwbXM7dHJhbnNpdGlvbi1kZWxheTo1MG1zOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzO3RyYW5zaXRpb24tZHVyYXRpb246LjM1cztvcGFjaXR5OjE7dHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXR9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTQgZmlndXJlOmhvdmVyIGZpZ2NhcHRpb24gLmhvdmVyLWNvbnRlbnR7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpfS5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTE0IGZpZ3VyZTpob3ZlciBmaWdjYXB0aW9uIC5ob3Zlci1zaG93LWNvbnRlbnR7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTttYXJnaW46MH0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xNCBmaWd1cmUgZmlnY2FwdGlvbiAub3ZlcmxheWVyLWJveHtvcGFjaXR5OjB9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTQgZmlndXJlOmhvdmVyIGZpZ2NhcHRpb24gLm92ZXJsYXllci1ib3h7b3BhY2l0eTouODV9LmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMTQgZmlnY2FwdGlvbiAuaG92ZXItYWN0aW9uLWJ0bntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206NDBweDtsZWZ0OjA7d2lkdGg6MTAwJX0uaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0xNCBmaWd1cmU6aG92ZXIgZmlnY2FwdGlvbiAuaG92ZXItYWN0aW9uLWJ0bntvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNTBweCl9LmZ1bGxzY3JlZW4taG92ZXItbGlzdHttYXgtaGVpZ2h0Ojgwdmg7b3ZlcmZsb3c6YXV0b30uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW17ZGlzcGxheTp0YWJsZX0uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0gYXtkaXNwbGF5OmlubGluZS1ibG9ja30uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0gLmZ1bGxzY3JlZW4taG92ZXItaW1hZ2V7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7ei1pbmRleDotMTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0uYWN0aXZlIC5mdWxsc2NyZWVuLWhvdmVyLWltYWdle29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0gLmludGVyYWN0aXZlLXRpdGxle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtwYWRkaW5nOjI1cHggMzVweDtjb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRleHQtc3Ryb2tlOjJweCAjMDAwO3RleHQtc3Ryb2tlOjJweCAjMDAwO3Bvc2l0aW9uOnJlbGF0aXZlfS5mdWxsc2NyZWVuLWhvdmVyLWxpc3QubGlnaHQgLmhvdmVyLWxpc3QtaXRlbSAuaW50ZXJhY3RpdmUtdGl0bGV7Y29sb3I6IzNlM2UzZTstd2Via2l0LXRleHQtc3Ryb2tlOjJweCAjNGU0ZTRmO3RleHQtc3Ryb2tlOjJweCAjNGU0ZTRmOy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9LmZ1bGxzY3JlZW4taG92ZXItbGlzdC5saWdodCAuaG92ZXItbGlzdC1pdGVtOmhvdmVyIC5pbnRlcmFjdGl2ZS10aXRsZXtjb2xvcjojZmZmOy13ZWJraXQtdGV4dC1zdHJva2U6MCAjNGU0ZTRmO3RleHQtc3Ryb2tlOjAgIzRlNGU0Zjt0cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH0uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0gLmludGVyYWN0aXZlLXRpdGxlOmFmdGVye2NvbnRlbnQ6YXR0cihkYXRhLWxpbmstdGV4dCk7cG9zaXRpb246YWJzb2x1dGU7bGVmdDozNXB4O2JvdHRvbToyNXB4O3dpZHRoOjA7aGVpZ2h0OmNhbGMoMTAwJSAtIDUwcHgpOy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMwMDA7dHJhbnNpdGlvbi1kdXJhdGlvbjouNHM7b3ZlcmZsb3c6aGlkZGVuO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fS5mdWxsc2NyZWVuLWhvdmVyLWxpc3QubGlnaHQgLmhvdmVyLWxpc3QtaXRlbSAuaW50ZXJhY3RpdmUtdGl0bGU6YWZ0ZXJ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6I2ZmZn0uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0uYWN0aXZlIC5pbnRlcmFjdGl2ZS10aXRsZTphZnRlcnt3aWR0aDpjYWxjKDEwMCUgLSA3MHB4KTt0cmFuc2l0aW9uLWR1cmF0aW9uOi43czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH0uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0gLmludGVyYWN0aXZlLW51bWJlcntvcGFjaXR5Oi4zO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0cmFuc2l0aW9uLWR1cmF0aW9uOi43czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH0uZnVsbHNjcmVlbi1ob3Zlci1saXN0IC5ob3Zlci1saXN0LWl0ZW0uYWN0aXZlIC5pbnRlcmFjdGl2ZS1udW1iZXJ7b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDY1cHgpO3RyYW5zaXRpb24tZHVyYXRpb246LjdzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fS5mdWxsc2NyZWVuLWhvdmVyLWxpc3QgLmhvdmVyLWxpc3QtaXRlbSAuaW50ZXJhY3RpdmUtbGluZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7d2lkdGg6MzBweDtoZWlnaHQ6MXB4O21hcmdpbi1sZWZ0OjM1cHg7dHJhbnNpdGlvbi1kdXJhdGlvbjouN3M7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9LmZ1bGxzY3JlZW4taG92ZXItbGlzdCAuaG92ZXItbGlzdC1pdGVtLmFjdGl2ZSAuaW50ZXJhY3RpdmUtbGluZXt0cmFuc2Zvcm06c2NhbGUoMCk7b3BhY2l0eTowO3RyYW5zaXRpb24tZHVyYXRpb246LjdzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fS5mdWxsc2NyZWVuLWhvdmVyLWxpc3QgLmhvdmVyLWxpc3QtaXRlbS5hY3RpdmUgLmludGVyYWN0aXZlLXRpdGxle2NvbG9yOiNmZmY7LXdlYmtpdC10ZXh0LXN0cm9rZTowICM0ZTRlNGY7dGV4dC1zdHJva2U6MCAjNGU0ZTRmfS5mdWxsc2NyZWVuLWhvdmVyLWxpc3QgLmhvdmVyLWxpc3QtaXRlbSAuaW50ZXJhY3RpdmUtaWNvbnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bGluZS1oZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZTo1MHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDo2cHg7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fS5zZXJ2aWNlcy1ib3gtc3R5bGUtMDEgKnt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uc2VydmljZXMtYm94LXN0eWxlLTAxIC5zZXJ2aWNlcy1ib3gtaG92ZXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjA7b3BhY2l0eTowfS5zZXJ2aWNlcy1ib3gtc3R5bGUtMDE6aG92ZXIgLnNlcnZpY2VzLWJveC1ob3ZlcntvcGFjaXR5OjF9LnNlcnZpY2VzLWJveC1zdHlsZS0wMSAuc2VydmljZXMtYm94LWhvdmVyIC5zZXJ2aWNlcy1pY29ue2xpbmUtaGVpZ2h0OjUwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowIDVweDtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KX0uc2VydmljZXMtYm94LXN0eWxlLTAxIC5zZXJ2aWNlcy1pY29uIGF7d2lkdGg6NDRweDtoZWlnaHQ6NDRweDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bGluZS1oZWlnaHQ6NDZweDt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCAzcHh9LnNlcnZpY2VzLWJveC1zdHlsZS0wMTpob3ZlciBpbWd7dHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSwxLjEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xLDEuMSk7b3BhY2l0eTouNX0uc2VydmljZXMtYm94LXN0eWxlLTAxOmhvdmVyIC5zZXJ2aWNlcy1pY29ue3RyYW5zaXRpb24tZGVsYXk6LjJzO29wYWNpdHk6MTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5waWUtY2hhcnQtc3R5bGUtMDF7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6YXV0bztkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnBpZS1jaGFydC1zdHlsZS0wMSAucGVyY2VudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfS5waWUtY2hhcnQtc3R5bGUtMDJ7dGV4dC1hbGlnbjpjZW50ZXI7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6YXV0bztkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnBpZS1jaGFydC1zdHlsZS0wMiAucGVyY2VudHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfS5saXN0LXN0eWxlLTAxICp7dHJhbnNpdGlvbi1kdXJhdGlvbjouNHM7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi40czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjRzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi40c30ubGlzdC1zdHlsZS0wMSBsaXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjEycHggMjVweCAxNHB4IDI1cHg7ei1pbmRleDoxO2xpc3Qtc3R5bGU6bm9uZX0ubGlzdC1zdHlsZS0wMSBsaSBpe3Bvc2l0aW9uOmFic29sdXRlO3RvcDoyMXB4O2xlZnQ6MDtmb250LXNpemU6MTRweDtvcGFjaXR5Oi43fS5saXN0LXN0eWxlLTAxIGxpIC5saXN0LWhvdmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO29wYWNpdHk6MDt6LWluZGV4Oi0xfS5saXN0LXN0eWxlLTAxIGxpOmhvdmVyIC5saXN0LWhvdmVye29wYWNpdHk6MX0ubGlzdC1zdHlsZS0wMSBsaTpob3ZlciBpe2xlZnQ6MjVweDtvcGFjaXR5OjF9Lmxpc3Qtc3R5bGUtMDEgbGk6aG92ZXJ7cGFkZGluZzoxMnB4IDI1cHggMTRweCA1MHB4fS5saXN0LXN0eWxlLTAyIGxpe2xpc3Qtc3R5bGU6bm9uZTtsaW5lLWhlaWdodDozMHB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtb3JpZW50Omhvcml6b250YWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvdzstd2Via2l0LWJveC1hbGlnbjpzdGFydDstbXMtZmxleC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpzdGFydH0ubGlzdC1zdHlsZS0wMiBsaSBpe2xpbmUtaGVpZ2h0OjMwcHh9Lmxpc3Qtc3R5bGUtMDN7bGlzdC1zdHlsZTpub25lfS5saXN0LXN0eWxlLTAzLmxpZ2h0IGxpe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE1KX0ubGlzdC1zdHlsZS0wMyBsaXtwYWRkaW5nOjEwcHggMDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTRlNGU0fS5saXN0LXN0eWxlLTAzIGxpOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lfS5saXN0LXN0eWxlLTA0IGxpe3BhZGRpbmc6MTBweCAyMHB4O2xpc3Qtc3R5bGU6bm9uZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9Lmxpc3Qtc3R5bGUtMDQgbGk6aG92ZXJ7Ym94LXNoYWRvdzowIDAgMjBweCByZ2JhKDAsMCwwLC4xNSk7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS5saXN0LXN0eWxlLTA1e3BhZGRpbmctbGVmdDoyMHB4O3RleHQtYWxpZ246bGVmdDttYXJnaW4tbGVmdDoxMHB4fS5saXN0LXN0eWxlLTA1IGxpe21hcmdpbi1ib3R0b206MTBweH0ubGlzdC1zdHlsZS0wNiBsaXtsaXN0LXN0eWxlOm5vbmU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93Oy13ZWJraXQtYm94LWFsaWduOnN0YXJ0Oy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOnN0YXJ0fS5saXN0LXN0eWxlLTA2IGxpIGl7Zm9udC1zaXplOjExcHg7bWFyZ2luOmF1dG99Lmxpc3Qtc3R5bGUtMDcgbGl7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjE1cHg7bGluZS1oZWlnaHQ6MThweH0ubGlzdC1zdHlsZS0wNyBsaTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0ubGlzdC1zdHlsZS0wNyBsaSBhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtYWxpZ246bGVmdH0ubGlzdC1zdHlsZS0wNyBsaSAuaXRlbS1xdHl7Zm9udC1zaXplOjE0cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjFweDtyaWdodDowO3RleHQtYWxpZ246cmlnaHR9Lmxpc3Qtc3R5bGUtMDcgbGkgYSAucHJvZHVjdC1jYjpob3ZlcjphZnRlciwubGlzdC1zdHlsZS0wNyBsaSBhLmFjdGl2ZSAucHJvZHVjdC1jYjphZnRlciwubGlzdC1zdHlsZS0wNyBsaSBhOmhvdmVyIC5wcm9kdWN0LWNiOmFmdGVye2ZvbnQtZmFtaWx5OiJGb250IEF3ZXNvbWVcIDUgRnJlZSI7Zm9udC1zaXplOjhweDtjb250ZW50OiJcZjAwYyI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDozcHg7dG9wOi0xcHg7Zm9udC13ZWlnaHQ6OTAwO2xpbmUtaGVpZ2h0OjE2cHh9Lmxpc3Qtc3R5bGUtMDcgbGkgYTpob3Zlcntjb2xvcjojMDAzOGUzfS5saXN0LXN0eWxlLTA3LmZpbHRlci1jYXRlZ29yeSBsaSwubGlzdC1zdHlsZS0wNy5maWx0ZXItc2l6ZSBsaXtwYWRkaW5nOjAgMzBweH0ubGlzdC1zdHlsZS0wNy5maWx0ZXItY2F0ZWdvcnkgbGkgYSAucHJvZHVjdC1jYiwubGlzdC1zdHlsZS0wNy5maWx0ZXItc2l6ZSBsaSBhIC5wcm9kdWN0LWNie3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7Ym9yZGVyLXJhZGl1czoxMDAlO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi1yaWdodDoxMnB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlcjoxcHggc29saWQgI2NhY2FjYTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cG9zaXRpb246cmVsYXRpdmU7dG9wOjRweH0ubGlzdC1zdHlsZS0wNy5maWx0ZXItY2F0ZWdvcnkgbGkgYSAucHJvZHVjdC1jYi5wcm9kdWN0LWNhdGVnb3J5LWNiLC5saXN0LXN0eWxlLTA3LmZpbHRlci1zaXplIGxpIGEgLnByb2R1Y3QtY2IucHJvZHVjdC1zaXplLWNie3Bvc2l0aW9uOmFic29sdXRlO3RvcDoycHg7bGVmdDowfS5saXN0LXN0eWxlLTA3LmZpbHRlci1jb2xvciBsaSBhIC5wcm9kdWN0LWNie3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLXJpZ2h0OjEycHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoycHh9Lmxpc3Qtc3R5bGUtMDcuZmlsdGVyLWNvbG9yIGxpIGE6aG92ZXIgLnByb2R1Y3QtY2I6YWZ0ZXJ7Y29sb3I6I2ZmZjt0b3A6MDtsZWZ0OjRweH0ubGlzdC1zdHlsZS0wOCBsaXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MjhweCAwfS5saXN0LXN0eWxlLTA4IGxpOmxhc3QtY2hpbGR7cGFkZGluZy1ib3R0b206MH0ubGlzdC1zdHlsZS0wOCBsaSAubGFiZWwtaG90LC5saXN0LXN0eWxlLTA4IGxpIC5sYWJlbC1uZXd7YmFja2dyb3VuZC1jb2xvcjojNzBhOTY3O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtwYWRkaW5nOjJweCA5cHg7Zm9udC1zaXplOjEwcHg7bGluZS1oZWlnaHQ6MTVweDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW4tbGVmdDoxMHB4O2JvcmRlci1yYWRpdXM6MXB4fS5saXN0LXN0eWxlLTA4IGxpIC5sYWJlbC1ob3R7YmFja2dyb3VuZC1jb2xvcjojZDc0YTNhfS5hY2NvcmRpb24tc3R5bGUtMDEgLnBhbmVsIC5wYW5lbC1oZWFkaW5ne3BhZGRpbmc6NXB4IDB9LmFjY29yZGlvbi1zdHlsZS0wMSAucGFuZWwgLnBhbmVsLWJvZHl7cGFkZGluZzoyMHB4IDE1cHggMjVweCA3cHh9LmFjY29yZGlvbi1zdHlsZS0wMiAucGFuZWwgLnBhbmVsLWhlYWRpbmd7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7cGFkZGluZzoxNXB4IDI1cHggMTVweCAwO3Bvc2l0aW9uOnJlbGF0aXZlfS5hY2NvcmRpb24tc3R5bGUtMDIgLnBhbmVsOmxhc3QtY2hpbGQgLnBhbmVsLWhlYWRpbmd7Ym9yZGVyOm5vbmV9LmFjY29yZGlvbi1zdHlsZS0wMiAucGFuZWw6bGFzdC1jaGlsZCAucGFuZWwtaGVhZGluZy5hY3RpdmUtYWNjb3JkaW9ue2JvcmRlci1ib3R0b206MXB4IHNvbGlkfS5hY2NvcmRpb24tc3R5bGUtMDIgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIGl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtyaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LmFjY29yZGlvbi1zdHlsZS0wMiAucGFuZWwgLnBhbmVsLWJvZHl7cGFkZGluZzozMHB4IDIwcHggMzBweCAwfS5hY2NvcmRpb24tc3R5bGUtMDMgLnBhbmVse3BhZGRpbmctbGVmdDozMnB4O3BhZGRpbmctcmlnaHQ6MzJweDttYXJnaW4tYm90dG9tOjIycHh9LmFjY29yZGlvbi1zdHlsZS0wMyAucGFuZWwgLnBhbmVsLWhlYWRpbmd7cGFkZGluZzoxOHB4IDI1cHggMThweCAwO3Bvc2l0aW9uOnJlbGF0aXZlfS5hY2NvcmRpb24tc3R5bGUtMDMgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIGl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtyaWdodDowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LmFjY29yZGlvbi1zdHlsZS0wMyAucGFuZWwgLnBhbmVsLWJvZHl7cGFkZGluZzowIDIwcHggMzBweCAwfS5hY2NvcmRpb24tc3R5bGUtMDQgLnBhbmVse2JvcmRlci1ib3R0b206MXB4IHNvbGlkO3BhZGRpbmc6MjBweCAzMHB4fS5hY2NvcmRpb24tc3R5bGUtMDQgLnBhbmVsOmZpcnN0LWNoaWxke3BhZGRpbmctdG9wOjB9LmFjY29yZGlvbi1zdHlsZS0wNCAucGFuZWw6bGFzdC1jaGlsZHtib3JkZXI6bm9uZTtwYWRkaW5nLWJvdHRvbTowfS5hY2NvcmRpb24tc3R5bGUtMDQgLnBhbmVsLWhlYWRpbmd7cG9zaXRpb246cmVsYXRpdmV9LmFjY29yZGlvbi1zdHlsZS0wNCAucGFuZWwgLnBhbmVsLXRpbWV7bWluLXdpZHRoOjE5NXB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5hY2NvcmRpb24tc3R5bGUtMDQgLnBhbmVsIC5hY2NvcmRpb24tdG9nZ2xle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOmNhbGMoMTAwJSAtIDQwMHB4KX0uYWNjb3JkaW9uLXN0eWxlLTA0IC5wYW5lbCAucGFuZWwtdGl0bGUgaXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDo4cHg7Zm9udC13ZWlnaHQ6NzAwfS5hY2NvcmRpb24tc3R5bGUtMDQgLnBhbmVsIC5wYW5lbC1zcGVha2Vye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5hY2NvcmRpb24tc3R5bGUtMDQgLnBhbmVsIC5wYW5lbC1ib2R5e21hcmdpbi1sZWZ0OjE5OXB4O3dpZHRoOjM4JTtwYWRkaW5nOjEwcHggMCA3cHh9LmFjY29yZGlvbi1zdHlsZS0wNSAqey13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1tb3otdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1tcy10cmFuc2l0aW9uOmFsbCAuMnMgY3ViaWMtYmV6aWVyKC4yLDAsLjMsMSk7LW8tdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjIsMCwuMywxKX0uYWNjb3JkaW9uLXN0eWxlLTA1IC5wYW5lbCAucGFuZWwtaGVhZGluZ3tib3JkZXItYm90dG9tOjFweCBzb2xpZDtwYWRkaW5nOjE1cHggNTBweCAxNXB4IDUwcHg7cG9zaXRpb246cmVsYXRpdmV9LmFjY29yZGlvbi1zdHlsZS0wNSAucGFuZWwgLnBhbmVsLWhlYWRpbmcuYWN0aXZlLWFjY29yZGlvbntiYWNrZ3JvdW5kLWNvbG9yOiMxYzEwMWU7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMWMxMDFlIWltcG9ydGFudDtwYWRkaW5nLXRvcDozNXB4fS5hY2NvcmRpb24tc3R5bGUtMDUgLnBhbmVsOmxhc3QtY2hpbGQgLnBhbmVsLWhlYWRpbmd7Ym9yZGVyOm5vbmV9LmFjY29yZGlvbi1zdHlsZS0wNSAucGFuZWw6bGFzdC1jaGlsZCAucGFuZWwtaGVhZGluZy5hY3RpdmUtYWNjb3JkaW9ue2JvcmRlci1ib3R0b206MXB4IHNvbGlkfS5hY2NvcmRpb24tc3R5bGUtMDUgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIGl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtyaWdodDozNXB4O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LmFjY29yZGlvbi1zdHlsZS0wNSAucGFuZWwgLnBhbmVsLWhlYWRpbmcuYWN0aXZlLWFjY29yZGlvbiBpe3RvcDpjYWxjKDUwJSArIDEwcHgpfS5hY2NvcmRpb24tc3R5bGUtMDUgLnBhbmVsIC5wYW5lbC1ib2R5e3BhZGRpbmc6MCA5MHB4IDIwcHggNTBweH0uYWNjb3JkaW9uLXN0eWxlLTA1IC5wYW5lbCAuY29sbGFwc2Uuc2hvdywuYWNjb3JkaW9uLXN0eWxlLTA1IC5wYW5lbCAuY29sbGFwc2luZ3tiYWNrZ3JvdW5kLWNvbG9yOiMxYzEwMWV9LmFjY29yZGlvbi1zdHlsZS0wNSAucGFuZWwgLmNvbGxhcHNlLnNob3cgLnBhbmVsLWJvZHksLmFjY29yZGlvbi1zdHlsZS0wNSAucGFuZWwgLmNvbGxhcHNpbmcgLnBhbmVsLWJvZHl7cGFkZGluZy1ib3R0b206NDBweH0udGltZS10YWJsZSAucGFuZWx7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7cGFkZGluZzozNXB4IDcwcHh9LnRpbWUtdGFibGUgLnBhbmVsLWhlYWRpbmd7cG9zaXRpb246cmVsYXRpdmV9LnRpbWUtdGFibGUgLnBhbmVsIC5wYW5lbC10aW1le21pbi13aWR0aDoyMTBweDtkaXNwbGF5OmlubGluZS1ibG9ja30udGltZS10YWJsZSAucGFuZWwgLnBhbmVsLWJvZHl7bWFyZ2luLWxlZnQ6MDt3aWR0aDpjYWxjKDEwMCUgLSA0MTBweCk7cGFkZGluZzoxMHB4IDAgN3B4O2Rpc3BsYXk6aW5saW5lLWZsZXh9LnRpbWUtdGFibGUgLnBhbmVsIC5wYW5lbC1zcGVha2Vye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50aW1lLXRhYmxlIC50YWItY29udGVudD4udGFiLXBhbmV7cGFkZGluZzowIDE1cHh9Lm5ld3NsZXR0ZXItZW1haWwgaW5wdXR7cGFkZGluZy1yaWdodDoxMzBweH0ubmV3c2xldHRlci1lbWFpbCAuYnRue3Bvc2l0aW9uOmFic29sdXRlO2xpbmUtaGVpZ2h0OjE4cHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3JpZ2h0OjA7Ym9yZGVyOjFweCBzb2xpZCAjYjBiMGIwO2JvcmRlci10b3A6MDtib3JkZXItcmlnaHQ6MDtib3JkZXItYm90dG9tOjA7cGFkZGluZzowIDI1cHh9Lm5ld3NsZXR0ZXItc3R5bGUtMDEgLmJ0bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2JvcmRlci1yYWRpdXM6MCAxMDBweCAxMDBweCAwO3JpZ2h0OjA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtwYWRkaW5nOjhweCAyNHB4O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtoZWlnaHQ6MTAwJX0ubmV3c2xldHRlci1zdHlsZS0wMSBpbnB1dHtwYWRkaW5nLXJpZ2h0OjEyNXB4fS5uZXdzbGV0dGVyLXN0eWxlLTAyIC5idG57cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtib3JkZXItcmFkaXVzOjA7cmlnaHQ6MDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO2xldHRlci1zcGFjaW5nOmluaGVyaXQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0ubmV3c2xldHRlci1zdHlsZS0wMiBpbnB1dHtwYWRkaW5nLXJpZ2h0OjE0NXB4fS5uZXdzbGV0dGVyLXN0eWxlLTAzIC5idG57cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6LTFweDtib3R0b206MDtib3JkZXI6MDtwYWRkaW5nOjRweCAxOHB4O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7b3ZlcmZsb3c6aGlkZGVufS5uZXdzbGV0dGVyLXN0eWxlLTAzIGlucHV0e3BhZGRpbmctcmlnaHQ6NzBweH0ubmV3c2xldHRlci1zdHlsZS0wMyAubWVkaXVtLWlucHV0Ky5idG57cGFkZGluZzo0cHggMThweH0ubmV3c2xldHRlci1zdHlsZS0wMyAubGFyZ2UtaW5wdXQrLmJ0bntwYWRkaW5nOjRweCAyM3B4fS5uZXdzbGV0dGVyLXN0eWxlLTA0IC5idG57cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtib3JkZXItcmFkaXVzOjAgNnB4IDZweCAwO3JpZ2h0OjA7Ym9yZGVyOjAgc29saWQgcmdiYSgwLDAsMCwuMSk7cGFkZGluZzo4cHggMzVweDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2hlaWdodDo5OSV9Lm5ld3NsZXR0ZXItc3R5bGUtMDQgaW5wdXR7cGFkZGluZy1yaWdodDoyMTBweH0uaW5zdGFmZWVkLWdyaWR7bGlzdC1zdHlsZTpub25lO3RleHQtYWxpZ246Y2VudGVyfS5pbnN0YWZlZWQtZ3JpZCBmaWd1cmV7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1ib3R0b206MDtib3JkZXItcmFkaXVzOjNweH0uaW5zdGFmZWVkLWdyaWQgZmlndXJlIGEgLmluc3RhLWNvdW50c3tvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQ6cmdiYSgzNSwzNSwzNSwuNyk7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9Lmluc3RhZmVlZC1ncmlkIGZpZ3VyZSBhIC5pbnN0YS1jb3VudHMgaXttYXJnaW4tcmlnaHQ6NXB4O21hcmdpbi1sZWZ0OjVweDtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToyMHB4O2NvbG9yOiNmZmY7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS5pbnN0YWZlZWQtZ3JpZCBmaWd1cmU6aG92ZXIgYSAuaW5zdGEtY291bnRze29wYWNpdHk6MX0uaW5zdGFncmFtLWZvbGxvdy1hcGkgLmluc3RhZ3JhbS10aXRsZXt6LWluZGV4OjE7d2hpdGUtc3BhY2U6bm93cmFwO3BhZGRpbmc6MTVweCAzMHB4O2JveC1zaGFkb3c6MCAwIDM1cHggcmdiYSgyMywyMywyMywuNCl9YXNpZGUgLmluc3RhZmVlZC1ncmlkLmd1dHRlci1zbWFsbHttYXJnaW4tbGVmdDotNXB4O21hcmdpbi1yaWdodDotNXB4fWFzaWRlIC5pbnN0YWZlZWQtZ3JpZC5ndXR0ZXItdmVyeS1zbWFsbHttYXJnaW4tbGVmdDotM3B4O21hcmdpbi1yaWdodDotM3B4fWFzaWRlIC5pbnN0YWZlZWQtZ3JpZC5ndXR0ZXItbWVkaXVte21hcmdpbi1sZWZ0Oi03cHg7bWFyZ2luLXJpZ2h0Oi03cHh9YXNpZGUgLmluc3RhZmVlZC1ncmlkLmd1dHRlci1sYXJnZXttYXJnaW4tbGVmdDotMTBweDttYXJnaW4tcmlnaHQ6LTEwcHh9YXNpZGUgLmluc3RhZmVlZC1ncmlkLmd1dHRlci1leHRyYS1sYXJnZXttYXJnaW4tbGVmdDotMTVweDttYXJnaW4tcmlnaHQ6LTE1cHh9YXNpZGUgLmluc3RhZmVlZC1ncmlkLmd1dHRlci1kb3VibGUtZXh0cmEtbGFyZ2V7bWFyZ2luLWxlZnQ6LTIwcHg7bWFyZ2luLXJpZ2h0Oi0yMHB4fS5mZWF0dXJlLWJveCAqe3RyYW5zaXRpb24tZHVyYXRpb246LjRzOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNHM7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi40czstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouNHN9LmZlYXR1cmUtYm94e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOm5vcm1hbDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt0ZXh0LWFsaWduOmNlbnRlcjt6LWluZGV4OjE7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbi1kdXJhdGlvbjouNHM7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi40czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjRzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi40c30uZmVhdHVyZS1ib3ggLmZlYXR1cmUtYm94LWNvbnRlbnR7bWF4LXdpZHRoOjEwMCV9LmZlYXR1cmUtYm94LWxlZnQtaWNvbiAuZmVhdHVyZS1ib3gtaWNvbnttYXJnaW4tcmlnaHQ6MzVweH0uZmVhdHVyZS1ib3gtbGVmdC1pY29ue2ZsZXgtZmxvdzpyb3cgd3JhcDstd2Via2l0LWZsZXgtZmxvdzpyb3cgd3JhcDstbXMtZmxleC1mbG93OnJvdyB3cmFwOy13ZWJraXQtYm94LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50Oy1tcy1mbGV4LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LW1zLWZsZXgtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDt0ZXh0LWFsaWduOmxlZnR9LmZlYXR1cmUtYm94LWxlZnQtaWNvbiAuZmVhdHVyZS1ib3gtY29udGVudHtvdmVyZmxvdzpoaWRkZW47ZmxleDoxfS5mZWF0dXJlLWJveC1sZWZ0LWljb24tbWlkZGxle2ZsZXgtZmxvdzpyb3cgd3JhcDstd2Via2l0LWZsZXgtZmxvdzpyb3cgd3JhcDstbXMtZmxleC1mbG93OnJvdyB3cmFwOy13ZWJraXQtYm94LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7LW1zLWZsZXgtYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50Oy13ZWJraXQtYm94LXBhY2s6c3RhcnQ7LW1zLWZsZXgtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDt0ZXh0LWFsaWduOmxlZnR9LmZlYXR1cmUtYm94LWxlZnQtaWNvbi1taWRkbGUgLmZlYXR1cmUtYm94LWNvbnRlbnR7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LWZsZXg6MTtmbGV4OjF9LmZlYXR1cmUtYm94LnRleHQtbGVmdHstd2Via2l0LWJveC1hbGlnbjpzdGFydDstbXMtZmxleC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5mZWF0dXJlLWJveC50ZXh0LXJpZ2h0ey13ZWJraXQtYm94LWFsaWduOmVuZDstbXMtZmxleC1hbGlnbjplbmQ7YWxpZ24taXRlbXM6ZmxleC1lbmR9LmZlYXR1cmUtYm94IC5mZWF0dXJlLWJveC1zaGFkb3c6aG92ZXIsLmZlYXR1cmUtYm94LmZlYXR1cmUtYm94LXNoYWRvdzpob3Zlcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnQhaW1wb3J0YW50Oy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTNweCwwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtM3B4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtM3B4LDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTNweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtM3B4LDApfS5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1zaGFkb3cgLmZlYXR1cmUtYm94LW92ZXJsYXl7Ym94LXNoYWRvdzowIDAgMjBweCByZ2JhKDAsMCwwLC4wNSk7b3BhY2l0eTowfS5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1zaGFkb3c6aG92ZXIgLmZlYXR1cmUtYm94LW92ZXJsYXl7b3BhY2l0eToxfS5mZWF0dXJlLWJveC1vdmVybGF5e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6LTE7b3BhY2l0eTowfS5mZWF0dXJlLWJveDpob3ZlciAuZmVhdHVyZS1ib3gtb3ZlcmxheXtvcGFjaXR5OjF9LmZlYXR1cmUtYm94LmZlYXR1cmUtYm94LWRhcmstaG92ZXI6aG92ZXIgLmJ0biwuZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtZGFyay1ob3Zlcjpob3ZlciAuZmVhdHVyZS1ib3gtaWNvbiwuZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtZGFyay1ob3Zlcjpob3ZlciBhLC5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1kYXJrLWhvdmVyOmhvdmVyIGgxLC5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1kYXJrLWhvdmVyOmhvdmVyIGgyLC5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1kYXJrLWhvdmVyOmhvdmVyIGgzLC5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1kYXJrLWhvdmVyOmhvdmVyIGg0LC5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1kYXJrLWhvdmVyOmhvdmVyIGg1LC5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1kYXJrLWhvdmVyOmhvdmVyIGg2LC5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1kYXJrLWhvdmVyOmhvdmVyIGksLmZlYXR1cmUtYm94LmZlYXR1cmUtYm94LWRhcmstaG92ZXI6aG92ZXIgcCwuZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtZGFyay1ob3Zlcjpob3ZlciBzcGFue2NvbG9yOiNmZmYhaW1wb3J0YW50fS5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1kYXJrLWhvdmVyOmhvdmVyIC5idG57Ym9yZGVyLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1kYXJrLWhvdmVyOmhvdmVyIFtjbGFzcyo9IiB0ZXh0LWdyYWRpZW50Il0sLmZlYXR1cmUtYm94LmZlYXR1cmUtYm94LWRhcmstaG92ZXI6aG92ZXIgW2NsYXNzXj10ZXh0LWdyYWRpZW50XXtjb2xvcjojZmZmIWltcG9ydGFudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6aW5oZXJpdDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjppbmhlcml0fS5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1saWdodC1ob3Zlcjpob3ZlciAuYnRuLC5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1saWdodC1ob3Zlcjpob3ZlciAuZmVhdHVyZS1ib3gtaWNvbiwuZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtbGlnaHQtaG92ZXI6aG92ZXIgYSwuZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtbGlnaHQtaG92ZXI6aG92ZXIgaDEsLmZlYXR1cmUtYm94LmZlYXR1cmUtYm94LWxpZ2h0LWhvdmVyOmhvdmVyIGgyLC5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1saWdodC1ob3Zlcjpob3ZlciBoMywuZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtbGlnaHQtaG92ZXI6aG92ZXIgaDQsLmZlYXR1cmUtYm94LmZlYXR1cmUtYm94LWxpZ2h0LWhvdmVyOmhvdmVyIGg1LC5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1saWdodC1ob3Zlcjpob3ZlciBoNiwuZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtbGlnaHQtaG92ZXI6aG92ZXIgaSwuZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtbGlnaHQtaG92ZXI6aG92ZXIgcCwuZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtbGlnaHQtaG92ZXI6aG92ZXIgc3Bhbntjb2xvcjojMjMyMzIzIWltcG9ydGFudH0uZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtbGlnaHQtaG92ZXI6aG92ZXIgLmJ0bntib3JkZXItY29sb3I6IzIzMjMyMyFpbXBvcnRhbnR9LmZlYXR1cmUtYm94LmZlYXR1cmUtYm94LWxpZ2h0LWhvdmVyOmhvdmVyIFtjbGFzcyo9IiB0ZXh0LWdyYWRpZW50Il0sLmZlYXR1cmUtYm94LmZlYXR1cmUtYm94LWxpZ2h0LWhvdmVyOmhvdmVyIFtjbGFzc149dGV4dC1ncmFkaWVudF17Y29sb3I6IzIzMjMyMyFpbXBvcnRhbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6aW5oZXJpdH0uZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtZGFyay1ob3Zlcjpob3ZlciBwLC5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1saWdodC1ob3Zlcjpob3ZlciBwe29wYWNpdHk6LjY1fS5mZWF0dXJlLWJveC1pY29uLXJvdW5kZWR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uZmVhdHVyZS1ib3gtaWNvbi1yb3VuZGVkIGl7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxfS5mZWF0dXJlLWJveC1pY29uLXJvdW5kZWQgLmZlYXR1cmUtYm94LWljb24taG92ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3BhY2l0eTowfS5mZWF0dXJlLWJveDpob3ZlciAuZmVhdHVyZS1ib3gtaWNvbi1ob3ZlcntvcGFjaXR5OjF9LmZlYXR1cmUtYm94OmhvdmVyIC5saWdodCBpe2NvbG9yOiMyMzIzMjN9LmZlYXR1cmUtYm94OmhvdmVyIC5kYXJrIGl7Y29sb3I6I2ZmZn0uZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtc2hvdy1ob3ZlciAuZmVhdHVyZS1ib3gtbW92ZS1ib3R0b20tdG9we3dpZHRoOjEwMCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTtvdmVyZmxvdzpoaWRkZW59LmZlYXR1cmUtYm94LmZlYXR1cmUtYm94LXNob3ctaG92ZXI6aG92ZXIgLmZlYXR1cmUtYm94LW1vdmUtYm90dG9tLXRvcHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfS5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1zaG93LWhvdmVyIC5tb3ZlLWJvdHRvbS10b3B7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCl9LmZlYXR1cmUtYm94LmZlYXR1cmUtYm94LXNob3ctaG92ZXI6aG92ZXIgLm1vdmUtYm90dG9tLXRvcHtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtaGlkZS1zaG93LWhvdmVyIC5mZWF0dXJlLWJveC1tb3ZlLWJvdHRvbS10b3B7d2lkdGg6MTAwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDMwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMzBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDMwcHgpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDMwcHgpO292ZXJmbG93OmhpZGRlbn0uZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtaGlkZS1zaG93LWhvdmVyOmhvdmVyIC5mZWF0dXJlLWJveC1tb3ZlLWJvdHRvbS10b3B7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpfS5mZWF0dXJlLWJveC5mZWF0dXJlLWJveC1oaWRlLXNob3ctaG92ZXIgLm1vdmUtYm90dG9tLXRvcHtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KX0uZmVhdHVyZS1ib3guZmVhdHVyZS1ib3gtaGlkZS1zaG93LWhvdmVyOmhvdmVyIC5tb3ZlLWJvdHRvbS10b3B7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmZlYXR1cmUtYm94LmZlYXR1cmUtYm94LWhpZGUtc2hvdy1ob3Zlcjpob3ZlciAuZmVhdHVyZS1ib3gtaWNvbntvcGFjaXR5OjB9LmZlYXR1cmUtYm94LXN2Z3twb3NpdGlvbjpyZWxhdGl2ZX0uZmVhdHVyZS1ib3gtc3ZnIGl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7ei1pbmRleDoxfS5uYXYtdGFic3tib3JkZXI6bm9uZX0ubmF2LXRhYnM+bGkubmF2LWl0ZW17ZGlzcGxheTppbmxpbmUtYmxvY2s7ZmxvYXQ6bm9uZTttYXJnaW46MDtwYWRkaW5nOjAgMjBweH0ubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGlua3tib3JkZXI6bm9uZX0ubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGlua3tib3JkZXItYm90dG9tOjFweCBzb2xpZCB0cmFuc3BhcmVudH0ubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluay5hY3RpdmUsLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmsuYWN0aXZlOmhvdmVyLC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5rOmhvdmVye2JhY2tncm91bmQ6MCAwO2JvcmRlci1jb2xvcjojMjIyO2NvbG9yOiMyMjI7Y3Vyc29yOnBvaW50ZXJ9Lm5hdi10YWJzLm5hdi10YWJzLWxpZ2h0PmxpLm5hdi1pdGVtPmEubmF2LWxpbmsuYWN0aXZlLC5uYXYtdGFicy5uYXYtdGFicy1saWdodD5saS5uYXYtaXRlbT5hLm5hdi1saW5rLmFjdGl2ZTpmb2N1cywubmF2LXRhYnMubmF2LXRhYnMtbGlnaHQ+bGkubmF2LWl0ZW0+YS5uYXYtbGluazpmb2N1cywubmF2LXRhYnMubmF2LXRhYnMtbGlnaHQ+bGkubmF2LWl0ZW0+YS5uYXYtbGluazpob3Zlcntib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZmZmO2NvbG9yOiNmZmZ9LnRhYi1zdHlsZS0wMSAubmF2LXRhYnM+bGkubmF2LWl0ZW17cGFkZGluZzowIDM1cHh9LnRhYi1zdHlsZS0wMSAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGlua3twYWRkaW5nOjA7bWFyZ2luLWxlZnQ6MjVweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItYm90dG9tOm5vbmUhaW1wb3J0YW50fS50YWItc3R5bGUtMDEgLmdyaWQtZmlsdGVyLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmt7bWFyZ2luLWxlZnQ6MH0udGFiLXN0eWxlLTAxIC5uYXYtdGFicz5saS5uYXYtaXRlbSAudGFiLWJvcmRlcnt3aWR0aDowO2hlaWdodDoycHg7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjVweDtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9LnRhYi1zdHlsZS0wMSAubmF2LXRhYnM+bGkuYWN0aXZlIC50YWItYm9yZGVyLC50YWItc3R5bGUtMDEgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmsuYWN0aXZlKy50YWItYm9yZGVye29wYWNpdHk6MTt3aWR0aDoxMDAlO3Zpc2liaWxpdHk6dmlzaWJsZX0udGFiLXN0eWxlLTAxIC5uYXYtdGFicz51bHtjb3VudGVyLXJlc2V0OnNsaWRlTnVtfS50YWItc3R5bGUtMDEgLm5hdi10YWJzPmxpe2NvdW50ZXItaW5jcmVtZW50OnNsaWRlTnVtO2xpbmUtaGVpZ2h0OjE2cHh9LnRhYi1zdHlsZS0wMSAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluazpiZWZvcmV7Y29udGVudDoiMCJjb3VudGVyKHNsaWRlTnVtKSAiLiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotMjVweH0udGFiLXN0eWxlLTAxIC5ncmlkLWZpbHRlci5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5rOmJlZm9yZXtkaXNwbGF5Om5vbmV9LnRhYi1zdHlsZS0wMSAubmF2LXRhYnM+bGk6bGFzdC1jaGlsZHtib3JkZXItcmlnaHQ6bm9uZTtwYWRkaW5nLXJpZ2h0OjB9LnRhYi1zdHlsZS0wMSAubmF2LXRhYnM+bGk6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjB9LnRhYi1zdHlsZS0wMS53aXRob3V0LW51bWJlciAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluazpiZWZvcmV7Y29udGVudDoiIn0udGFiLXN0eWxlLTAxLndpdGhvdXQtbnVtYmVyIC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5re21hcmdpbi1sZWZ0OjB9QG1lZGlhKGhvdmVyOmhvdmVyKXsudGFiLXN0eWxlLTAxIC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5rOmhvdmVyKy50YWItYm9yZGVye29wYWNpdHk6MTt3aWR0aDoxMDAlO3Zpc2liaWxpdHk6dmlzaWJsZX19LnRhYi1zdHlsZS0wMiAubmF2LXRhYnM+bGkubmF2LWl0ZW17bWFyZ2luOjAgMjBweH0udGFiLXN0eWxlLTAyIC5uYXYtdGFicz5saS5uYXYtaXRlbSAqLC50YWItc3R5bGUtMDIgLm5hdi10YWJzPmxpLm5hdi1pdGVtOmhvdmVyICp7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LnRhYi1zdHlsZS0wMiAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGlua3tib3JkZXItYm90dG9tOm5vbmV9LnRhYi1zdHlsZS0wMiAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluaz5pe2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjAgYXV0byAxNXB4Oy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDVweCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg1cHgpfS50YWItc3R5bGUtMDIgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmsuYWN0aXZlPmksLnRhYi1zdHlsZS0wMiAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluazpmb2N1cz5pLC50YWItc3R5bGUtMDIgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbms6aG92ZXI+aXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS50YWItc3R5bGUtMDIgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbms+LnRhYi1sYWJlbHtkaXNwbGF5OmJsb2NrO21hcmdpbjowIGF1dG8gMjBweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCl9LnRhYi1zdHlsZS0wMiAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluay5hY3RpdmU+LnRhYi1sYWJlbCwudGFiLXN0eWxlLTAyIC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5rOmZvY3VzPi50YWItbGFiZWwsLnRhYi1zdHlsZS0wMiAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluazpob3Zlcj4udGFiLWxhYmVsey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LnRhYi1zdHlsZS0wMiAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluaz4udGFiLWxhYmVse29wYWNpdHk6MH0udGFiLXN0eWxlLTAyIC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5rLmFjdGl2ZT4udGFiLWxhYmVsLC50YWItc3R5bGUtMDIgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbms6Zm9jdXM+LnRhYi1sYWJlbCwudGFiLXN0eWxlLTAyIC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5rOmhvdmVyPi50YWItbGFiZWx7b3BhY2l0eToxfS50YWItc3R5bGUtMDIgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmsuYWN0aXZlLC50YWItc3R5bGUtMDIgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmsuYWN0aXZlOmZvY3VzLC50YWItc3R5bGUtMDIgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbms6Zm9jdXMsLnRhYi1zdHlsZS0wMiAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluazpob3Zlcntib3JkZXItYm90dG9tOm5vbmU7Y29sb3I6IzAwMzhlMztiYWNrZ3JvdW5kOjAgMH0udGFiLXN0eWxlLTAyIC5uYXYtdGFicy5uYXYtdGFicy1saWdodD5saS5uYXYtaXRlbT5hLm5hdi1saW5rLmFjdGl2ZSwudGFiLXN0eWxlLTAyIC5uYXYtdGFicy5uYXYtdGFicy1saWdodD5saS5uYXYtaXRlbT5hLm5hdi1saW5rLmFjdGl2ZTpmb2N1cywudGFiLXN0eWxlLTAyIC5uYXYtdGFicy5uYXYtdGFicy1saWdodD5saS5uYXYtaXRlbT5hLm5hdi1saW5rOmZvY3VzLC50YWItc3R5bGUtMDIgLm5hdi10YWJzLm5hdi10YWJzLWxpZ2h0PmxpLm5hdi1pdGVtPmEubmF2LWxpbms6aG92ZXJ7Y29sb3I6I2ZmZn0udGFiLXN0eWxlLTAzIC5uYXYtdGFicz5saS5uYXYtaXRlbXtwYWRkaW5nOjAgMzVweH0udGFiLXN0eWxlLTAzIC5uYXYtdGFicz5saXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMTMwLDEzMCwxMzAsLjMpO2xpbmUtaGVpZ2h0OjEycHh9LnRhYi1zdHlsZS0wMyAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGlua3twYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLWJvdHRvbTpub25lIWltcG9ydGFudH0udGFiLXN0eWxlLTAzIC5uYXYtdGFicz5saTpsYXN0LWNoaWxke2JvcmRlci1yaWdodDpub25lO3BhZGRpbmctcmlnaHQ6MH0udGFiLXN0eWxlLTAzIC5uYXYtdGFicz5saTpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MH0udGFiLXN0eWxlLTAzIC5uYXYtdGFicy5uYXYtdGFicy1saWdodD5saXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpfS50YWItc3R5bGUtMDQgLm5hdi10YWJzPmxpLm5hdi1pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtwYWRkaW5nOjA7Ym9yZGVyOjFweCBzb2xpZH0udGFiLXN0eWxlLTA0IC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5re2JvcmRlci1ib3R0b206bm9uZTtib3JkZXItcmFkaXVzOjA7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDtsZXR0ZXItc3BhY2luZzoycHg7cGFkZGluZzoxNnB4IDUwcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3otaW5kZXg6MX0udGFiLXN0eWxlLTA0IC50YWItYmctYWN0aXZle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMXB4O2xlZnQ6LTFweDt3aWR0aDpjYWxjKDEwMCUgKyAycHgpO2hlaWdodDpjYWxjKDEwMCUgKyAycHgpO3otaW5kZXg6LTE7b3BhY2l0eTowfS50YWItc3R5bGUtMDQgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmsuYWN0aXZle2NvbG9yOiNmZmYhaW1wb3J0YW50fS50YWItc3R5bGUtMDQgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmsuYWN0aXZlKy50YWItYmctYWN0aXZle29wYWNpdHk6MX0udGFiLXN0eWxlLTA0IC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5rLmFjdGl2ZTpmb2N1cywudGFiLXN0eWxlLTA0IC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5rOmZvY3VzLC50YWItc3R5bGUtMDQgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbms6aG92ZXJ7Ym9yZGVyLWJvdHRvbTpub25lO2NvbG9yOiMyMzIzMjM7YmFja2dyb3VuZDowIDB9LnRhYi1zdHlsZS0wNCAubmF2LXRhYnMubmF2LXRhYnMtbGlnaHQ+bGkubmF2LWl0ZW0+YS5uYXYtbGluay5hY3RpdmUsLnRhYi1zdHlsZS0wNCAubmF2LXRhYnMubmF2LXRhYnMtbGlnaHQ+bGkubmF2LWl0ZW0+YS5uYXYtbGluay5hY3RpdmU6Zm9jdXMsLnRhYi1zdHlsZS0wNCAubmF2LXRhYnMubmF2LXRhYnMtbGlnaHQ+bGkubmF2LWl0ZW0+YS5uYXYtbGluazpmb2N1cywudGFiLXN0eWxlLTA0IC5uYXYtdGFicy5uYXYtdGFicy1saWdodD5saS5uYXYtaXRlbT5hLm5hdi1saW5rOmhvdmVye2NvbG9yOiNmZmZ9LnRhYi1zdHlsZS0wNSAubmF2LXRhYnN7Ym9yZGVyOm5vbmV9LnRhYi1zdHlsZS0wNSAubmF2LXRhYnMgbGl7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MjhweDtwYWRkaW5nOjB9LnRhYi1zdHlsZS0wNSAubmF2LXRhYnMgbGkgYXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6OHB4IDQwcHg7Ym9yZGVyLXJhZGl1czoyNXB4O2JvcmRlcjpub25lIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS50YWItc3R5bGUtMDUgLm5hdi10YWJzIGxpIGl7Zm9udC1zaXplOjE4cHh9LnRhYi1zdHlsZS0wNSAubmF2LXRhYnMgbGkgYTpob3Zlcntib3JkZXI6bm9uZTtjb2xvcjojMjYyYjM1IWltcG9ydGFudH0udGFiLXN0eWxlLTA1IC5uYXYtdGFicyAubmF2LWxpbmsuYWN0aXZle2JhY2tncm91bmQ6I2ZmZiFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDAgMTVweCAwIHJnYmEoMjMsMjMsMjMsLjA4KTtib3JkZXI6bm9uZTtjb2xvcjojMjYyYjM1IWltcG9ydGFudH0udGFiLXN0eWxlLTA2IC5uYXYtdGFic3tib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKX0udGFiLXN0eWxlLTA2IC5uYXYtdGFicz5saS5uYXYtaXRlbXt3aWR0aDoyMCU7cGFkZGluZzowfS50YWItc3R5bGUtMDYgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbms+c3BhbntkaXNwbGF5OmJsb2NrO2NvbG9yOiM4MjgyODI7Zm9udC13ZWlnaHQ6NDAwfS50YWItc3R5bGUtMDYgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmt7cGFkZGluZzowIDQwcHggMjJweDtjb2xvcjojMjMyMzIzO2ZvbnQtd2VpZ2h0OjYwMDtib3JkZXItd2lkdGg6M3B4fS50YWItc3R5bGUtMDYgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmsuYWN0aXZlLC50YWItc3R5bGUtMDYgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmsuYWN0aXZlOmZvY3VzLC50YWItc3R5bGUtMDYgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbms6Zm9jdXMsLnRhYi1zdHlsZS0wNiAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluazpob3Zlcntib3JkZXItYm90dG9tOjNweCBzb2xpZCAjZmY3YTU2O2NvbG9yOiMyMzIzMjM7b3BhY2l0eToxfS50YWItc3R5bGUtMDcgLm5hdi10YWJzPmxpLm5hdi1pdGVte21hcmdpbjowIDAgLTFweCAwfS50YWItc3R5bGUtMDcgLm5hdi10YWJzPmxpLm5hdi1pdGVtICosLnRhYi1zdHlsZS0wNyAubmF2LXRhYnM+bGkubmF2LWl0ZW06aG92ZXIgKnstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS50YWItc3R5bGUtMDcgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbmt7Y29sb3I6IzIzMjMyMztib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDtwYWRkaW5nOjMwcHggNDBweCAyOHB4IDQwcHh9LnRhYi1zdHlsZS0wNyAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluay5hY3RpdmV7Ym9yZGVyLWNvbG9yOiMyMzIzMjN9LnRhYi1zdHlsZS0wNyAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluaz4udGFiLWxhYmVse29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrO21hcmdpbjowIGF1dG8gMjBweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCl9LnRhYi1zdHlsZS0wNyAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluay5hY3RpdmU+LnRhYi1sYWJlbCwudGFiLXN0eWxlLTA3IC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5rOmZvY3VzPi50YWItbGFiZWwsLnRhYi1zdHlsZS0wNyAubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluazpob3Zlcj4udGFiLWxhYmVse29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS50ZXN0aW1vbmlhbHMtc3R5bGUtMDEgKnstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzfS50ZXN0aW1vbmlhbHMtc3R5bGUtMDF7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstbW96LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstby10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30udGVzdGltb25pYWxzLXN0eWxlLTAxIC50ZXN0aW1vbmlhbHMtcXVvdGVze3Bvc2l0aW9uOmFic29sdXRlO3RvcDowOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSByb3RhdGVZKDApIHJvdGF0ZVgoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSByb3RhdGVZKDApIHJvdGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSByb3RhdGVZKDApIHJvdGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlWSgwKSByb3RhdGVYKDApfS50ZXN0aW1vbmlhbHMtc3R5bGUtMDE6aG92ZXJ7Ym94LXNoYWRvdzowIDAgMTVweCByZ2JhKDAsMCwwLC4wNyk7YmFja2dyb3VuZDojZmZmfS50ZXN0aW1vbmlhbHMtc3R5bGUtMDE6aG92ZXIgLnRlc3RpbW9uaWFscy1idWJibGV7Y29sb3I6IzAwMzljY30udGVzdGltb25pYWxzLXN0eWxlLTAxOmhvdmVyIC50ZXN0aW1vbmlhbHMtcXVvdGVzey1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSByb3RhdGVZKC0xODBkZWcpIHJvdGF0ZVgoLTE4MGRlZyk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSByb3RhdGVZKC0xODBkZWcpIHJvdGF0ZVgoLTE4MGRlZyk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSByb3RhdGVZKC0xODBkZWcpIHJvdGF0ZVgoLTE4MGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlWSgtMTgwZGVnKSByb3RhdGVYKC0xODBkZWcpfS50ZXN0aW1vbmlhbHMtc3R5bGUtMDJ7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS50ZXN0aW1vbmlhbHMtc3R5bGUtMDI6aG92ZXJ7Ym94LXNoYWRvdzowIDAgMjBweCByZ2JhKDAsMCwwLC4wNyk7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS50ZXN0aW1vbmlhbHMtc3R5bGUtMDIgLnRlc3RpbW9uaWFscy1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlfS50ZXN0aW1vbmlhbHMtc3R5bGUtMDIgLnRlc3RpbW9uaWFscy1jb250ZW50IC50ZXN0aW1vbmlhbHMtcm91bmRlZC1pY29ue2hlaWdodDo3NXB4O3dpZHRoOjc1cHg7bGluZS1oZWlnaHQ6NzFweDtvdmVyZmxvdzpoaWRkZW47Ym94LXNoYWRvdzowIDAgMjVweCByZ2JhKDAsMCwwLC4wNSk7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDEpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDEpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMSk7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS50ZXN0aW1vbmlhbHMtc3R5bGUtMDIgLnRlc3RpbW9uaWFscy1jb250ZW50IC50ZXN0aW1vbmlhbHMtcm91bmRlZC1pY29uIGl7bGluZS1oZWlnaHQ6aW5oZXJpdH0udGVzdGltb25pYWxzLXN0eWxlLTAyOmhvdmVyIC50ZXN0aW1vbmlhbHMtcm91bmRlZC1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKSBzY2FsZSgxLjIpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDEuMik7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSkgc2NhbGUoMS4yKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpIHNjYWxlKDEuMil9LnRlc3RpbW9uaWFscy1zdHlsZS0wMyAudGVzdGltb25pYWxzLWJ1YmJsZXtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb246YWxsIC4ycyBlYXNlOy1tb3otdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7LW1zLXRyYW5zaXRpb246YWxsIC4ycyBlYXNlO3RyYW5zaXRpb246YWxsIC4ycyBlYXNlfS50ZXN0aW1vbmlhbHMtc3R5bGUtMDEgLnRlc3RpbW9uaWFscy1idWJibGU6YWZ0ZXIsLnRlc3RpbW9uaWFscy1zdHlsZS0wMyAudGVzdGltb25pYWxzLWJ1YmJsZTpiZWZvcmV7Y29udGVudDoiIjtoZWlnaHQ6MDt3aWR0aDowO2JvcmRlci13aWR0aDoxOXB4IDE0cHggMDtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTIwcHg7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTstd2Via2l0LXRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4ycyBlYXNlLGJvdHRvbSAuMnMgZWFzZTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuMnMgZWFzZSxib3R0b20gLjJzIGVhc2V9LnRlc3RpbW9uaWFscy1zdHlsZS0wMyAudGVzdGltb25pYWxzLWJ1YmJsZTpiZWZvcmV7Ym9yZGVyLXN0eWxlOnNvbGlkO2hlaWdodDowO3dpZHRoOjA7Ym9yZGVyLWNvbG9yOiNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOjI3cHggMTBweCAwO2JvcmRlci1sZWZ0LWNvbG9yOnRyYW5zcGFyZW50IWltcG9ydGFudDtib3JkZXItcmlnaHQtY29sb3I6dHJhbnNwYXJlbnQhaW1wb3J0YW50O2JvdHRvbTotMTlweDtsZWZ0OjUwcHg7ei1pbmRleDoxOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyN2RlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMjdkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjdkZWcpfS50ZXN0aW1vbmlhbHMtc3R5bGUtMDQgLnRlc3RpbW9uaWFscy1idWJibGV7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjFweCBzb2xpZDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4ycyBlYXNlOy1tb3otdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7LW1zLXRyYW5zaXRpb246YWxsIC4ycyBlYXNlO3RyYW5zaXRpb246YWxsIC4ycyBlYXNlfS50ZXN0aW1vbmlhbHMtc3R5bGUtMDQgLnRlc3RpbW9uaWFscy1idWJibGU6YWZ0ZXIsLnRlc3RpbW9uaWFscy1zdHlsZS0wNCAudGVzdGltb25pYWxzLWJ1YmJsZTpiZWZvcmV7dG9wOjEwMCU7bGVmdDo1MHB4O2JvcmRlcjpzb2xpZCB0cmFuc3BhcmVudDtjb250ZW50OiIgIjtoZWlnaHQ6MDt3aWR0aDowO3Bvc2l0aW9uOmFic29sdXRlO3BvaW50ZXItZXZlbnRzOm5vbmV9LnRlc3RpbW9uaWFscy1zdHlsZS0wNCAudGVzdGltb25pYWxzLWJ1YmJsZTphZnRlcntib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTtib3JkZXItdG9wLWNvbG9yOiNmZmY7Ym9yZGVyLXdpZHRoOjE0cHggMTNweCAwIDA7bWFyZ2luLWxlZnQ6MnB4fS50ZXN0aW1vbmlhbHMtc3R5bGUtMDQgLnRlc3RpbW9uaWFscy1idWJibGU6YmVmb3Jle2JvcmRlci1jb2xvcjpyZ2JhKDIzNywyMzcsMjM3LDApO2JvcmRlci10b3AtY29sb3I6I2VkZWRlZDtib3JkZXItd2lkdGg6MThweCAxOHB4IDAgMH0udGVzdGltb25pYWxzLWNhcm91c2VsLXN0eWxlLTAxe21pbi13aWR0aDoxMTcwcHh9LnRlc3RpbW9uaWFscy1jYXJvdXNlbC1zdHlsZS0wMnttaW4td2lkdGg6MTE3MHB4fS50ZWFtLXN0eWxlLTAxIGZpZ3VyZXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjB9LnRlYW0tc3R5bGUtMDEgZmlndXJlIC50ZWFtLW1lbWJlci1pbWFnZXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LnRlYW0tc3R5bGUtMDEgLnRlYW0tb3ZlcmxheSwudGVhbS1zdHlsZS0wMSBmaWd1cmUgZmlnY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyx2aXNpYmlsaXR5IC4zc30udGVhbS1zdHlsZS0wMSBmaWd1cmUgZmlnY2FwdGlvbiAuc29jaWFsLWljb24gYXttYXJnaW46MCAxMHB4fS50ZWFtLXN0eWxlLTAxIGZpZ3VyZSBmaWdjYXB0aW9uIC5zb2NpYWwtaWNvbiBhOmZpcnN0LWNoaWxke21hcmdpbi1sZWZ0OjB9LnRlYW0tc3R5bGUtMDEgZmlndXJlIGZpZ2NhcHRpb24gLnNvY2lhbC1pY29uIGE6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH0udGVhbS1zdHlsZS0wMSBmaWd1cmU6aG92ZXIgLnRlYW0tb3ZlcmxheSwudGVhbS1zdHlsZS0wMSBmaWd1cmU6aG92ZXIgZmlnY2FwdGlvbntvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlfS50ZWFtLXN0eWxlLTAxIGZpZ3VyZSBmaWdjYXB0aW9uIC5zb2NpYWwtaWNvbiwudGVhbS1zdHlsZS0wMSBmaWd1cmUgZmlnY2FwdGlvbiAudGVhbS1zdWItdGl0bGUsLnRlYW0tc3R5bGUtMDEgZmlndXJlIGZpZ2NhcHRpb24gLnRlYW0tdGl0bGV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC44NXMgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuODVzIGN1YmljLWJlemllciguMTksMSwuMjIsMSk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjg1cyBjdWJpYy1iZXppZXIoLjE5LDEsLjIyLDEpLG9wYWNpdHkgLjg1cyBjdWJpYy1iZXppZXIoLjE5LDEsLjIyLDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC44NXMgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSxvcGFjaXR5IC44NXMgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSwtd2Via2l0LXRyYW5zZm9ybSAuODVzIGN1YmljLWJlemllciguMTksMSwuMjIsMSl9LnRlYW0tc3R5bGUtMDEgZmlndXJlOmhvdmVyIGZpZ2NhcHRpb24gLnNvY2lhbC1pY29uLC50ZWFtLXN0eWxlLTAxIGZpZ3VyZTpob3ZlciBmaWdjYXB0aW9uIC50ZWFtLXN1Yi10aXRsZSwudGVhbS1zdHlsZS0wMSBmaWd1cmU6aG92ZXIgZmlnY2FwdGlvbiAudGVhbS10aXRsZXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0udGVhbS1zdHlsZS0wMSBmaWd1cmU6aG92ZXIgZmlnY2FwdGlvbiAudGVhbS10aXRsZXt0cmFuc2l0aW9uLWRlbGF5OjBzfS50ZWFtLXN0eWxlLTAxIGZpZ3VyZTpob3ZlciBmaWdjYXB0aW9uIC50ZWFtLXN1Yi10aXRsZXt0cmFuc2l0aW9uLWRlbGF5Oi4yc30udGVhbS1zdHlsZS0wMSBmaWd1cmU6aG92ZXIgZmlnY2FwdGlvbiAuc29jaWFsLWljb257dHJhbnNpdGlvbi1kZWxheTouMXN9LnRlYW0tc3R5bGUtMDEgZmlndXJlIGZpZ2NhcHRpb24gLnNvY2lhbC1pY29uIGE6aG92ZXJ7b3BhY2l0eTouN30udGVhbS1zdHlsZS0wMiBmaWd1cmUgLnRlYW0tbWVtYmVyLWltYWdle3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0udGVhbS1zdHlsZS0wMiBmaWd1cmUgLnRlYW0tbWVtYmVyLWRldGFpbHN7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtsZWZ0OjA7dG9wOjEwMCU7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDstbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fS50ZWFtLXN0eWxlLTAyIGZpZ3VyZSAudGVhbS1tZW1iZXItaW1hZ2UsLnRlYW0tc3R5bGUtMDIgZmlndXJlOmhvdmVyIC50ZWFtLW1lbWJlci1pbWFnZXt0cmFuc2l0aW9uOmFsbCBlYXNlLWluLW91dCAuM3M7LW1vei10cmFuc2l0aW9uOmFsbCBlYXNlLWluLW91dCAuM3M7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCBlYXNlLWluLW91dCAuM3M7LW1zLXRyYW5zaXRpb246YWxsIGVhc2UtaW4tb3V0IC4zc30udGVhbS1zdHlsZS0wMiBmaWd1cmV7bWFyZ2luOjA7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS50ZWFtLXN0eWxlLTAyIGZpZ3VyZTpob3ZlciAudGVhbS1tZW1iZXItZGV0YWlsc3t0b3A6MH0udGVhbS1zdHlsZS0wMiBmaWd1cmUgLnNvY2lhbC1pY29uIGEgaXstd2Via2l0LXRyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjIsMCwuMywxKTstbW96LXRyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjIsMCwuMywxKTstbXMtdHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMiwwLC4zLDEpOy1vLXRyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjIsMCwuMywxKTt0cmFuc2l0aW9uOmFsbCAuMnMgY3ViaWMtYmV6aWVyKC4yLDAsLjMsMSl9LnRlYW0tc3R5bGUtMDIgZmlndXJlIC5zb2NpYWwtaWNvbiBhOmhvdmVyIGl7LW1vei10cmFuc2Zvcm06c2NhbGUzZCgxLjMsMS4zLDEuMyk7LW8tdHJhbnNmb3JtOnNjYWxlM2QoMS4zLDEuMywxLjMpOy1tcy10cmFuc2Zvcm06c2NhbGUzZCgxLjMsMS4zLDEuMyk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgxLjMsMS4zLDEuMyk7dHJhbnNmb3JtOnNjYWxlM2QoMS4zLDEuMywxLjMpfS50ZWFtLXN0eWxlLTAzIGZpZ3VyZXtvdmVyZmxvdzpoaWRkZW59LnRlYW0tc3R5bGUtMDMgZmlndXJlIC50ZWFtLW1lbWJlci1pbWFnZXtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59LnRlYW0tc3R5bGUtMDMgZmlndXJlIC50ZWFtLW1lbWJlci1pbWFnZSBpbWd7dHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS50ZWFtLXN0eWxlLTAzIGZpZ3VyZTpob3ZlciAudGVhbS1tZW1iZXItaW1hZ2UgaW1ne3RyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS52ZXJ0aWNhbC1jb3VudGVyLW51bWJlcntvdmVyZmxvdzpoaWRkZW47d2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30udmVydGljYWwtY291bnRlci1udW1iZXIgdWx7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7cGFkZGluZzowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zaXRpb246MnMgZWFzZS1pbi1vdXQ7bGlzdC1zdHlsZTpub25lfS5jb3VudGVyLXN0eWxlLTAxIC5jb3VudGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5jb3VudGVyLXN0eWxlLTAxIC5jb3VudGVyOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IisiO2xlZnQ6MTAwJTt0b3A6MDttYXJnaW4tbGVmdDo1cHh9LnByb2dyZXNze292ZXJmbG93OnZpc2libGU7aGVpZ2h0OjRweDtwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXItcmFkaXVzOjB9LnByb2dyZXNzIC5wcm9ncmVzcy10aXRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTI4cHh9LnByb2dyZXNzIC5wcm9ncmVzcy1iYXJ7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6dmlzaWJsZX0ucHJvZ3Jlc3MgLnByb2dyZXNzLWJhciBzcGFue3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMzBweDtyaWdodDowO29wYWNpdHk6MH0ucHJvZ3Jlc3MgLnByb2dyZXNzLWJhci5hcHBlYXIgc3BhbntvcGFjaXR5OjF9LnByb2dyZXNzLXN0ZXAtc3R5bGUtMDF7b3ZlcmZsb3c6dmlzaWJsZTtoZWlnaHQ6OHB4O3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O21hcmdpbi10b3A6MzBweH0ucHJvZ3Jlc3Mtc3RlcC1zdHlsZS0wMSAucHJvZ3Jlc3MtYmFye2JvcmRlci1yYWRpdXM6NnB4fS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDEgLnByb2Nlc3Mtc3RlcC1pY29uLWJveHtwb3NpdGlvbjpyZWxhdGl2ZX0ucHJvY2Vzcy1zdGVwLXN0eWxlLTAxIC5wcm9jZXNzLXN0ZXAtaWNvbi1ib3ggLnByb2Nlc3Mtc3RlcC1iZnJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OmNhbGMoMTAwJSArIDE1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDE6bGFzdC1jaGlsZCAucHJvY2Vzcy1zdGVwLWJmcntkaXNwbGF5Om5vbmV9LnByb2Nlc3Mtc3RlcC1zdHlsZS0wMSAucHJvY2Vzcy1zdGVwLWljb257d2lkdGg6MTMwcHg7aGVpZ2h0OjEzMHB4O2JveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwuMDcpO2xpbmUtaGVpZ2h0OjEzMHB4O2JvcmRlci1yYWRpdXM6MTAwJTt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tcy10cmFuc2l0aW9uLWR1cmF0aW9uOi41c30ucHJvY2Vzcy1zdGVwLXN0eWxlLTAxIC5wcm9jZXNzLXN0ZXAtaWNvbiBpe3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ucHJvY2Vzcy1zdGVwLXN0eWxlLTAxOmhvdmVyIC5wcm9jZXNzLXN0ZXAtaWNvbnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KTtib3gtc2hhZG93OjAgOHB4IDI1cHggcmdiYSgwLDAsMCwuMTEpO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0ucHJvY2Vzcy1zdGVwLXN0eWxlLTAye2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcH0ucHJvY2Vzcy1zdGVwLXN0eWxlLTAyICp7dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0fS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDIgLnByb2Nlc3Mtc3RlcC1pdGVte2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTtmbGV4LWZsb3c6cm93IHdyYXA7YWxpZ24taXRlbXM6c3RyZXRjaCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7dGV4dC1hbGlnbjpsZWZ0O3RyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZSxiYWNrZ3JvdW5kIC4zcyBlYXNlfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDIgLnByb2Nlc3Mtc3RlcC1pdGVtOmhvdmVyIC5wcm9jZXNzLXN0ZXAtaWNvbntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6IzI3YWU2MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEpOy1vb3RyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDIgLnByb2Nlc3Mtc3RlcC1pY29ue3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7Ym9yZGVyLXJhZGl1czoxMDAlO2ZvbnQtc2l6ZToxOXB4O2xpbmUtaGVpZ2h0OjQ4cHg7Y29sb3I6I2ZmZn0ucHJvY2Vzcy1zdGVwLXN0eWxlLTAyIC5wcm9jZXNzLXN0ZXAtaWNvbi13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1yaWdodDo0MHB4fS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDIgLnByb2Nlc3Mtc3RlcC1pY29uLXdyYXAgLnByb2Nlc3Mtc3RlcC1pdGVtLWJveC1iZnJ7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjIwcHg7bGVmdDo1MCU7d2lkdGg6MXB4O2hlaWdodDpjYWxjKDEwMCUgLSA5MHB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ucHJvY2Vzcy1zdGVwLXN0eWxlLTAyIC5wcm9jZXNzLWNvbnRlbnR7b3ZlcmZsb3c6aGlkZGVuO2ZsZXg6MTttYXgtd2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjMuN2VtfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDI6bGFzdC1jaGlsZCAucHJvY2Vzcy1jb250ZW50e21hcmdpbi1ib3R0b206MH0ucHJvY2Vzcy1zdGVwLXN0eWxlLTAzIC5wcm9jZXNzLXN0ZXAtaXRlbXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2Zsb2F0OmxlZnQ7cGFkZGluZzo0NXB4IDI1cHggMDt6LWluZGV4OjF9LnByb2Nlc3Mtc3RlcC1zdHlsZS0wMyAucHJvY2Vzcy1zdGVwLWl0ZW06aG92ZXIgLnByb2Nlc3Mtc3RlcC1udW1iZXItYWZyLC5wcm9jZXNzLXN0ZXAtc3R5bGUtMDMgLnByb2Nlc3Mtc3RlcC1pdGVtOmhvdmVyIC5wcm9jZXNzLXN0ZXAtbnVtYmVyLWJmcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEpOy1vb3RyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDMgLnByb2Nlc3Mtc3RlcC1pdGVtIC5wcm9jZXNzLXN0ZXAtbnVtYmVyLWFmciwucHJvY2Vzcy1zdGVwLXN0eWxlLTAzIC5wcm9jZXNzLXN0ZXAtbnVtYmVyIC5wcm9jZXNzLXN0ZXAtbnVtYmVyLWJmcnt3aWR0aDo1NnB4O2hlaWdodDo1NnB4O2JvcmRlci1yYWRpdXM6NTAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotOXB4O2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0yOHB4O3otaW5kZXg6LTE7LXdlYmtpdC10cmFuc2l0aW9uOi4zcyBjdWJpYy1iZXppZXIoLjMsLjU4LC41NSwxKTt0cmFuc2l0aW9uOi4zcyBjdWJpYy1iZXppZXIoLjMsLjU4LC41NSwxKX0ucHJvY2Vzcy1zdGVwLXN0eWxlLTAzIC5wcm9jZXNzLXN0ZXAtaWNvbntwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tYm90dG9tOjA7bGluZS1oZWlnaHQ6MTt0b3A6MTBweDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMThweDt3aWR0aDozNnB4O2hlaWdodDozNnB4O3RleHQtYWxpZ246Y2VudGVyfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDMgLnByb2Nlc3Mtc3RlcC1pdGVtLWJveCAucHJvY2Vzcy1zdGVwLWl0ZW0tYm94LWJmcntkaXNwbGF5OmJsb2NrO3dpZHRoOmNhbGMoMTAwJSArIDMwcHgpO2hlaWdodDoxcHg7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDonJzt0b3A6MjhweDtsZWZ0Oi0xNXB4fS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDMgLnByb2Nlc3Mtc3RlcC1udW1iZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjM4cHg7ZGlzcGxheTpibG9jazstd2Via2l0LXRyYW5zaXRpb246YWxsIDI1MG1zIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgMjUwbXMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgMjUwbXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgMjUwbXMgZWFzZS1pbi1vdXR9LnByb2Nlc3Mtc3RlcC1zdHlsZS0wMyAucHJvY2Vzcy1zdGVwLW51bWJlciAucHJvY2Vzcy1zdGVwLW51bWJlci1iZnJ7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDt0b3A6LTE3cHg7bWFyZ2luLWxlZnQ6LTM2cHg7ei1pbmRleDotMTtvcGFjaXR5OjB9LnByb2Nlc3Mtc3RlcC1zdHlsZS0wMyAucHJvY2Vzcy1zdGVwLWl0ZW06aG92ZXIgLnByb2Nlc3Mtc3RlcC1udW1iZXIgLnByb2Nlc3Mtc3RlcC1udW1iZXItYmZye29wYWNpdHk6MX0ucHJvY2Vzcy1zdGVwLXN0eWxlLTAzIC5wcm9jZXNzLWNvbnRlbnR7cGFkZGluZy10b3A6NTBweH0ucHJvY2Vzcy1zdGVwLXN0eWxlLTAzLnNpbXBsZSAucHJvY2Vzcy1zdGVwLW51bWJlciAucHJvY2Vzcy1zdGVwLW51bWJlci1iZnJ7b3BhY2l0eToxfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDQgLnByb2Nlc3Mtc3RlcC1pdGVte2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7ZmxvYXQ6bGVmdDtwYWRkaW5nOjQ1cHggMjVweCAwO3otaW5kZXg6MX0ucHJvY2Vzcy1zdGVwLXN0eWxlLTA0IC5wcm9jZXNzLXN0ZXAtaXRlbTpob3ZlciAucHJvY2Vzcy1zdGVwLWljb24tYmZyLC5wcm9jZXNzLXN0ZXAtc3R5bGUtMDQgLnByb2Nlc3Mtc3RlcC1pdGVtOmhvdmVyIC5wcm9jZXNzLXN0ZXAtaXRlbS1iZnIsLnByb2Nlc3Mtc3RlcC1zdHlsZS0wNCAucHJvY2Vzcy1zdGVwLWl0ZW06aG92ZXIgLnByb2Nlc3Mtc3RlcC1udW1iZXItYmZyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMik7LW1vei10cmFuc2Zvcm06c2NhbGUoMS4yKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMik7LW9vdHJhbnNmb3JtOnNjYWxlKDEuMik7dHJhbnNmb3JtOnNjYWxlKDEuMil9LnByb2Nlc3Mtc3RlcC1zdHlsZS0wNCAucHJvY2Vzcy1zdGVwLWljb24gLnByb2Nlc3Mtc3RlcC1pY29uLWJmciwucHJvY2Vzcy1zdGVwLXN0eWxlLTA0IC5wcm9jZXNzLXN0ZXAtaXRlbSAucHJvY2Vzcy1zdGVwLWl0ZW0tYmZyLC5wcm9jZXNzLXN0ZXAtc3R5bGUtMDQgLnByb2Nlc3Mtc3RlcC1udW1iZXIgLnByb2Nlc3Mtc3RlcC1udW1iZXItYmZye3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7Ym9yZGVyLXJhZGl1czo1MCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjhweDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMjBweDstd2Via2l0LXRyYW5zaXRpb246LjNzIGN1YmljLWJlemllciguMywuNTgsLjU1LDEpO3RyYW5zaXRpb246LjNzIGN1YmljLWJlemllciguMywuNTgsLjU1LDEpfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDQgLnByb2Nlc3Mtc3RlcC1pY29ue3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi1ib3R0b206MDtsaW5lLWhlaWdodDoxO3RvcDoxMHB4O2xlZnQ6NTAlO2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tbGVmdDotMThweDt3aWR0aDozNnB4O2hlaWdodDozNnB4O3RleHQtYWxpZ246Y2VudGVyfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDQgLnByb2Nlc3Mtc3RlcC1pdGVtLWJveCAucHJvY2Vzcy1zdGVwLWl0ZW0tYm94LWJmcntkaXNwbGF5OmJsb2NrO3dpZHRoOjYwJTtoZWlnaHQ6MXB4O3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6Jyc7dG9wOjI4cHg7bGVmdDo3NSV9LnByb2Nlc3Mtc3RlcC1zdHlsZS0wNDpsYXN0LWNoaWxkIC5wcm9jZXNzLXN0ZXAtaXRlbS1ib3ggLnByb2Nlc3Mtc3RlcC1pdGVtLWJveC1iZnJ7ZGlzcGxheTpub25lfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDQgLnByb2Nlc3Mtc3RlcC1pY29uIC5wcm9jZXNzLXN0ZXAtaWNvbi1iZnJ7d2lkdGg6NzJweDtoZWlnaHQ6NzJweDtvcGFjaXR5Oi4yO21hcmdpbi1sZWZ0Oi0zNnB4O3RvcDotMThweDt6LWluZGV4Oi0xfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDQgLnByb2Nlc3Mtc3RlcC1udW1iZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjM4cHg7ZGlzcGxheTpibG9jazstd2Via2l0LXRyYW5zaXRpb246YWxsIDI1MG1zIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgMjUwbXMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjphbGwgMjUwbXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgMjUwbXMgZWFzZS1pbi1vdXR9LnByb2Nlc3Mtc3RlcC1zdHlsZS0wNCAucHJvY2Vzcy1zdGVwLW51bWJlciAucHJvY2Vzcy1zdGVwLW51bWJlci1iZnJ7d2lkdGg6NTZweDtoZWlnaHQ6NTZweDt0b3A6LTEwcHg7bWFyZ2luLWxlZnQ6LTI4cHg7ei1pbmRleDotMTtvcGFjaXR5Oi40fS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDQgLnByb2Nlc3MtY29udGVudHtwYWRkaW5nLXRvcDo1MHB4fS5mYW5jeS1ib3ggKnt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0uZmFuY3ktYm94e292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0uZmFuY3ktYm94IC5mYW5jeS1ib3gtY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOmF1dG87ei1pbmRleDo5O2JvdHRvbTowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7aGVpZ2h0OmF1dG99LmZhbmN5LWJveDpob3ZlciAuZmFuY3ktYm94LWNvbnRlbnR7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwcHgpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwcHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTBweCl9LmZhbmN5LWJveCAuZmFuY3ktYm94LWNvbnRlbnQgLmJ0bntvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTt0cmFuc2l0aW9uLWRlbGF5OjBzOy13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTowczstbW96LXRyYW5zaXRpb24tZGVsYXk6MHM7LW1zLXRyYW5zaXRpb24tZGVsYXk6MHN9LmZhbmN5LWJveDpob3ZlciAuZmFuY3ktYm94LWNvbnRlbnQgLmJ0bntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2l0aW9uLWRlbGF5Oi4yczstd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6LjJzOy1tb3otdHJhbnNpdGlvbi1kZWxheTouMnM7LW1zLXRyYW5zaXRpb24tZGVsYXk6LjJzfS5mYW5jeS1ib3ggLmZhbmN5LWJveC1pbWFnZSBpbWd7d2lkdGg6MTAwJTt0cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi40czstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjRzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouNHM7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjRzfS5mYW5jeS1ib3g6aG92ZXIgLmZhbmN5LWJveC1pbWFnZSBpbWd7dHJhbnNmb3JtOnNjYWxlKDEuMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxLjEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4xKTt0cmFuc2l0aW9uLWR1cmF0aW9uOi40czstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjRzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouNHM7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjRzfS5mYW5jeS1ib3gtYmFja2dyb3VuZHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LmJnLWJhbm5lci1pbWFnZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7b3BhY2l0eTowO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7ei1pbmRleDotMTt2aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzO2JhY2tncm91bmQtc2l6ZTpjb3Zlcn0uZmFuY3ktYm94LWJhY2tncm91bmQgLm9wYWNpdHktbWVkaXVte3otaW5kZXg6LTF9LmZhbmN5LWJveC1iYWNrZ3JvdW5kIC5mYW5jeS1ib3gtaXRlbXtwb3NpdGlvbjpzdGF0aWN9LmZhbmN5LWJveC1iYWNrZ3JvdW5kLmZhbmN5LWJveC1jb2wgLmZhbmN5LWJveC1pdGVte3Bvc2l0aW9uOnJlbGF0aXZlfS5mYW5jeS1ib3gtYmFja2dyb3VuZCAuZmFuY3ktYm94LWl0ZW06aG92ZXIgLmJnLWJhbm5lci1pbWFnZXtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOi41czstbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9LmZhbmN5LWJveC1iYWNrZ3JvdW5kIC5mYW5jeS1ib3gtaXRlbTpob3ZlciAubGlnaHQsLmZhbmN5LWJveC1iYWNrZ3JvdW5kIC5mYW5jeS1ib3gtaXRlbTpob3ZlciAubGlnaHQgaXtjb2xvcjojZmZmfS5mYW5jeS1ib3gtYmFja2dyb3VuZCAuZmFuY3ktYm94LWl0ZW06aG92ZXIgLmRhcmt7Y29sb3I6IzIzMjMyM30uZmFuY3ktYm94LWJhY2tncm91bmQ6YWZ0ZXJ7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt0b3A6MDtsZWZ0OjA7Y29udGVudDoiIjt6LWluZGV4Oi0xO3Bvc2l0aW9uOmFic29sdXRlfS5mYW5jeS1ib3gtYmFja2dyb3VuZCAuZmFuY3ktdGV4dC1ib3ggbGk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LW1zLXRyYW5zaXRpb24tZHVyYXRpb246LjVzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzO2N1cnNvcjpwb2ludGVyfS5mYW5jeS1ib3gtYmFja2dyb3VuZCAuZmFuY3ktdGV4dC1ib3ggbGk6aG92ZXIgc3Bhbntjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KX0uZmFuY3ktYm94LWJhY2tncm91bmQgLmZhbmN5LXRleHQtYm94IGxpOmhvdmVyIGF7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOSl9LmZhbmN5LXRleHQtYm94LXN0eWxlLTAxIC5mYW5jeS10ZXh0LWJveHtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uZmFuY3ktdGV4dC1ib3gtc3R5bGUtMDEgLmZhbmN5LXRleHQtYm94IC5mYW5jeS10ZXh0LWJveC1ib3JkZXItbGVmdCwuZmFuY3ktdGV4dC1ib3gtc3R5bGUtMDEgLmZhbmN5LXRleHQtYm94IC5mYW5jeS10ZXh0LWJveC1ib3JkZXItcmlnaHR7Ym9yZGVyOjEwcHggc29saWQgIzAwMzljYztoZWlnaHQ6MTAwJTt3aWR0aDo2N3B4O2NvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2JvdHRvbTowO2xlZnQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS5mYW5jeS10ZXh0LWJveC1zdHlsZS0wMSAuZmFuY3ktdGV4dC1ib3ggLmZhbmN5LXRleHQtYm94LWJvcmRlci1sZWZ0e2JvcmRlci1yaWdodDowfS5mYW5jeS10ZXh0LWJveC1zdHlsZS0wMSAuZmFuY3ktdGV4dC1ib3ggLmZhbmN5LXRleHQtYm94LWJvcmRlci1yaWdodHtib3JkZXItbGVmdDowO3JpZ2h0OjA7bGVmdDppbmhlcml0fS5mYW5jeS10ZXh0LWJveC1zdHlsZS0wMSAuZmFuY3ktdGV4dC1ib3ggLmZhbmN5LXRleHQtY29udGVudHtmb250LXNpemU6ODBweDtsaW5lLWhlaWdodDo3MnB4O21hcmdpbi1ib3R0b206MDttYXJnaW4tcmlnaHQ6MTVweH0uZmFuY3ktdGV4dC1ib3gtc3R5bGUtMDJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQ7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZDtvdmVyZmxvdzpoaWRkZW59LmZhbmN5LXRleHQtYm94LXN0eWxlLTAyOmxhc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OjB9LmZhbmN5LXRleHQtYm94LXN0eWxlLTAyIC50ZXh0LWJveC13cmFwcGVyIC50ZXh0LWJveCwuZmFuY3ktdGV4dC1ib3gtc3R5bGUtMDIgLnRleHQtYm94LXdyYXBwZXIgLnRleHQtYm94LWhvdmVye3BhZGRpbmc6NTJweCAyMHB4IDQzcHg7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgLjVzIGVhc2UtaW4tb3V0fS5mYW5jeS10ZXh0LWJveC1zdHlsZS0wMiAudGV4dC1ib3gtd3JhcHBlcjpob3ZlciAudGV4dC1ib3h7Y29sb3I6I2ZmNjQzNztvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXR9LmZhbmN5LXRleHQtYm94LXN0eWxlLTAyIC50ZXh0LWJveC13cmFwcGVyIC50ZXh0LWJveC1ob3ZlcntvcGFjaXR5OjA7cG9zaXRpb246YWJzb2x1dGV9LmZhbmN5LXRleHQtYm94LXN0eWxlLTAyIC50ZXh0LWJveC13cmFwcGVyOmhvdmVyIC50ZXh0LWJveC1ob3ZlcntvcGFjaXR5OjE7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXR9LmZhbmN5LXRleHQtYm94LXN0eWxlLTAze3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uZmFuY3ktdGV4dC1ib3gtc3R5bGUtMDMgKnt0cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC41cyBlYXNlLWluLW91dH0uZmFuY3ktdGV4dC1ib3gtc3R5bGUtMDMgLmZhbmN5LXRleHQtY29udGVudHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2xlZnQ6MDt0b3A6YXV0bzt6LWluZGV4Ojk7Ym90dG9tOjA7aGVpZ2h0OmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNzBweCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg3MHB4KTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDcwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSg3MHB4KX0uZmFuY3ktdGV4dC1ib3gtc3R5bGUtMDM6aG92ZXIgLmZhbmN5LXRleHQtY29udGVudHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5mYW5jeS10ZXh0LWJveC1zdHlsZS0wMzpob3ZlciAuZmFuY3ktdGV4dC1jb250ZW50IC5mZWF0dXJlLWJveC1vdmVybGF5e29wYWNpdHk6MX0uZmFuY3ktdGV4dC1ib3gtc3R5bGUtMDMgLmZhbmN5LXRleHQtY29udGVudCAuZmFuY3ktdGV4dC1ib3gtYm90dG9te29wYWNpdHk6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpfS5mYW5jeS10ZXh0LWJveC1zdHlsZS0wMzpob3ZlciAuZmFuY3ktdGV4dC1jb250ZW50IC5mYW5jeS10ZXh0LWJveC1ib3R0b217b3BhY2l0eToxO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmltYWdlLW1hc2t7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dH0ucHJpY2luZy10YWJsZS1zdHlsZS0wMSAucHJpY2luZy10YWJsZXt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbi1vdXR9LnByaWNpbmctdGFibGUtc3R5bGUtMDEgLnByaWNpbmctaGVhZGVyIC5wb3B1bGFyLWxhYmVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6NTAlO3BhZGRpbmc6NnB4IDE3cHg7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9LnByaWNpbmctdGFibGUtc3R5bGUtMDIgLnByaWNpbmctdGFibGV7b3ZlcmZsb3c6aGlkZGVufS5wcmljaW5nLXRhYmxlLXN0eWxlLTAyIC5wcmljaW5nLXRhYmxlIC5wb3B1bGFyLWxhYmVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMjhweDtyaWdodDotNDdweDt3aWR0aDoxMjBweDt0cmFuc2Zvcm0tb3JpZ2luOjA7cGFkZGluZzoxMHB4IDAgOHB4O3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyl9LnByaWNpbmctdGFibGUtc3R5bGUtMDIgLnByaWNpbmctYm9keSB1bCBsaXtwYWRkaW5nOjE1cHggMH0ucHJpY2luZy10YWJsZS1zdHlsZS0wMiAucHJpY2luZy1ib2R5IHVsIGxpOmxhc3QtY2hpbGR7cGFkZGluZy1ib3R0b206MH0ucHJpY2luZy10YWJsZS1zdHlsZS0wMiAucHJpY2luZy1wb3B1bGFye2xlZnQ6LTEwcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO3dpZHRoOmNhbGMoMTAwJSArIDIwcHgpfS5jb3VudGRvd24uY291bnRkb3duLXN0eWxlLTAxIC5jb3VudGRvd24tYm94e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MDtmbG9hdDpub25lO21hcmdpbjowIDQwcHh9LmNvdW50ZG93bi5jb3VudGRvd24tc3R5bGUtMDEgLmNvdW50ZG93bi1ib3g6Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0uY291bnRkb3duLmNvdW50ZG93bi1zdHlsZS0wMSAuY291bnRkb3duLWJveDpsYXN0LWNoaWxke21hcmdpbi1yaWdodDowfS5jb3VudGRvd24uY291bnRkb3duLXN0eWxlLTAxIC5udW1iZXJ7Zm9udC1zaXplOjQ3cHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjUwcHg7Y29sb3I6I2ZmZn0uY291bnRkb3duLmNvdW50ZG93bi1zdHlsZS0wMSBzcGFue2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEycHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiNmZmY7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21hcmdpbi10b3A6LTJweDtvcGFjaXR5Oi41fS5jb3VudGRvd24uY291bnRkb3duLXN0eWxlLTAyIC5jb3VudGRvd24tYm94e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MDtmbG9hdDpub25lO21hcmdpbjowO3BhZGRpbmc6MCAyMHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5jb3VudGRvd24uY291bnRkb3duLXN0eWxlLTAyIC5jb3VudGRvd24tYm94OmFmdGVye2NvbnRlbnQ6IjoiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjVweDtmb250LXNpemU6MzRweDtvcGFjaXR5Oi40NX0uY291bnRkb3duLmNvdW50ZG93bi1zdHlsZS0wMiAuY291bnRkb3duLWJveDpsYXN0LWNoaWxkOmFmdGVye2Rpc3BsYXk6bm9uZX0uY291bnRkb3duLmNvdW50ZG93bi1zdHlsZS0wMiAubnVtYmVye3dpZHRoOjkwcHg7Zm9udC1zaXplOjQ3cHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjUwcHg7Y29sb3I6IzIzMjMyM30uY291bnRkb3duLmNvdW50ZG93bi1zdHlsZS0wMiBzcGFue2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjEycHg7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiM4MjgyODI7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21hcmdpbi10b3A6LTJweDtvcGFjaXR5OjF9LmNvdW50ZG93bi5jb3VudGRvd24tc3R5bGUtMDMgLmNvdW50ZG93bi1ib3h7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzowO2Zsb2F0Om5vbmU7bWFyZ2luOjA7cGFkZGluZzowIDIwcHg7cG9zaXRpb246cmVsYXRpdmV9LmNvdW50ZG93bi5jb3VudGRvd24tc3R5bGUtMDMgLmNvdW50ZG93bi1ib3g6YWZ0ZXJ7Y29udGVudDoiOiI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MTglO2ZvbnQtc2l6ZTozNHB4O2ZvbnQtd2VpZ2h0OjYwMDtjb2xvcjojMjMyMzIzfS5jb3VudGRvd24uY291bnRkb3duLXN0eWxlLTAzIC5jb3VudGRvd24tYm94Omxhc3QtY2hpbGQ6YWZ0ZXJ7ZGlzcGxheTpub25lfS5jb3VudGRvd24uY291bnRkb3duLXN0eWxlLTAzIC5udW1iZXJ7d2lkdGg6ODBweDtmb250LXNpemU6MzhweDtsZXR0ZXItc3BhY2luZzotMXB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDozOHB4O2NvbG9yOiNmZmZ9LmNvdW50ZG93bi5jb3VudGRvd24tc3R5bGUtMDMgc3BhbntkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxM3B4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjojZmZmO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW4tdG9wOi0ycHg7b3BhY2l0eToxfS50YWJsZS1zdHlsZS0wMXt3aWR0aDoxMDAlfS50YWJsZS1zdHlsZS0wMSB0YWJsZXt3aWR0aDoxMDAlfS50YWJsZS1zdHlsZS0wMSB0ZCwudGFibGUtc3R5bGUtMDEgdGh7cGFkZGluZzoxMnB4IDEwcHg7dGV4dC1hbGlnbjpjZW50ZXJ9LnRhYmxlLXN0eWxlLTAxIHRyIHRkOmZpcnN0LWNoaWxkLC50YWJsZS1zdHlsZS0wMSB0ciB0aDpmaXJzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MjBweDt0ZXh0LWFsaWduOmxlZnR9LnRhYmxlLXN0eWxlLTAye3dpZHRoOjEwMCV9LnRhYmxlLXN0eWxlLTAyIHRkLC50YWJsZS1zdHlsZS0wMiB0aHtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4O3BhZGRpbmc6MTBweCAxNXB4fS50YWJsZS1zdHlsZS0wMiB0cjpsYXN0LWNoaWxkIHRkLC50YWJsZS1zdHlsZS0wMiB0cjpsYXN0LWNoaWxkIHRoe2JvcmRlcjowfS50YWJsZS1zdHlsZS0wMiB0aHt3aWR0aDoxNTBweH0ucm0tcm90YXRlLWJveHtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWFsaWduOmNlbnRlcn0ucm0tcm90YXRlLWJveCAuZmxpcHBlcjpob3ZlciAuYmFjaywucm0tcm90YXRlLWJveCAuZmxpcHBlcjpob3ZlciAuZnJvbnR7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkOy13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkO3RyYW5zaXRpb246dHJhbnNmb3JtIDFzIGN1YmljLWJlemllciguMywxLC42LDEpfS5ybS1yb3RhdGUtYm94IC50by1sZWZ0IC5mcm9udCwucm0tcm90YXRlLWJveCAudG8tcmlnaHQgLmZyb250e3RyYW5zZm9ybTpyb3RhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06cm90YXRlWSgwKTstbXMtdHJhbnNmb3JtOnJvdGF0ZVkoMCl9LnJtLXJvdGF0ZS1ib3ggLnRvLWJvdHRvbSAuZnJvbnQsLnJtLXJvdGF0ZS1ib3ggLnRvLXRvcCAuZnJvbnR7dHJhbnNmb3JtOnJvdGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWCgwKTstbW96LXRyYW5zZm9ybTpyb3RhdGVYKDApOy1tcy10cmFuc2Zvcm06cm90YXRlWCgwKX0ucm0tcm90YXRlLWJveCAudG8tbGVmdCAuYmFja3t0cmFuc2Zvcm06cm90YXRlWSgxODBkZWcpOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVkoMTgwZGVnKTstbW96LXRyYW5zZm9ybTpyb3RhdGVZKDE4MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGVZKDE4MGRlZyl9LnJtLXJvdGF0ZS1ib3ggLnRvLWxlZnQ6aG92ZXIgLmZyb250e3RyYW5zZm9ybTpyb3RhdGVZKC0xODBkZWcpOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVkoLTE4MGRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlWSgtMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZVkoLTE4MGRlZyl9LnJtLXJvdGF0ZS1ib3ggLnRvLWxlZnQ6aG92ZXIgLmJhY2t7dHJhbnNmb3JtOnJvdGF0ZVkoMCk7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgwKTstbW96LXRyYW5zZm9ybTpyb3RhdGVZKDApOy1tcy10cmFuc2Zvcm06cm90YXRlWSgwKX0ucm0tcm90YXRlLWJveCAudG8tcmlnaHQ6aG92ZXIgLmZyb250e3RyYW5zZm9ybTpyb3RhdGVZKDE4MGRlZyk7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgxODBkZWcpOy1tb3otdHJhbnNmb3JtOnJvdGF0ZVkoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZVkoMTgwZGVnKX0ucm0tcm90YXRlLWJveCAudG8tcmlnaHQgLmJhY2t7dHJhbnNmb3JtOnJvdGF0ZVkoLTE4MGRlZyk7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgtMTgwZGVnKTstbW96LXRyYW5zZm9ybTpyb3RhdGVZKC0xODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlWSgtMTgwZGVnKX0ucm0tcm90YXRlLWJveCAudG8tcmlnaHQ6aG92ZXIgLmJhY2t7dHJhbnNmb3JtOnJvdGF0ZVkoMCk7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWSgwKTstbW96LXRyYW5zZm9ybTpyb3RhdGVZKDApOy1tcy10cmFuc2Zvcm06cm90YXRlWSgwKX0ucm0tcm90YXRlLWJveCAudG8tdG9wIC5iYWNre3RyYW5zZm9ybTpyb3RhdGVYKC0xODBkZWcpOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoLTE4MGRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlWCgtMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZVgoLTE4MGRlZyl9LnJtLXJvdGF0ZS1ib3ggLnRvLXRvcDpob3ZlciAuZnJvbnR7dHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyk7LW1vei10cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpfS5ybS1yb3RhdGUtYm94IC50by10b3A6aG92ZXIgLmJhY2t7dHJhbnNmb3JtOnJvdGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWCgwKTstbW96LXRyYW5zZm9ybTpyb3RhdGVYKDApOy1tcy10cmFuc2Zvcm06cm90YXRlWCgwKX0ucm0tcm90YXRlLWJveCAudG8tYm90dG9tIC5iYWNre3RyYW5zZm9ybTpyb3RhdGVYKDE4MGRlZyk7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWCgxODBkZWcpOy1tb3otdHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZVgoMTgwZGVnKX0ucm0tcm90YXRlLWJveCAudG8tYm90dG9tOmhvdmVyIC5mcm9udHt0cmFuc2Zvcm06cm90YXRlWCgtMTgwZGVnKTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKC0xODBkZWcpOy1tb3otdHJhbnNmb3JtOnJvdGF0ZVgoLTE4MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGVYKC0xODBkZWcpfS5ybS1yb3RhdGUtYm94IC50by1ib3R0b206aG92ZXIgLmJhY2t7dHJhbnNmb3JtOnJvdGF0ZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlWCgwKTstbW96LXRyYW5zZm9ybTpyb3RhdGVYKDApOy1tcy10cmFuc2Zvcm06cm90YXRlWCgwKX0ucm0tcm90YXRlLWJveCAudGh1bWItd3JhcHstd2Via2l0LXBlcnNwZWN0aXZlOjEwMDBweDtwZXJzcGVjdGl2ZToxMDAwcHh9LnJtLXJvdGF0ZS1ib3ggLmJhY2ssLnJtLXJvdGF0ZS1ib3ggLmZyb250e2JhY2tncm91bmQtc2l6ZTpjb3ZlcjttaW4taGVpZ2h0OjQxNXB4O3otaW5kZXg6MTt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7LXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2Q7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtwZXJzcGVjdGl2ZTppbmhlcml0O3RyYW5zaXRpb246dHJhbnNmb3JtIC44cyBjdWJpYy1iZXppZXIoLjUsLjIsLjIsLjgpfS5ybS1yb3RhdGUtYm94IC5iYWNre3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnJtLXJvdGF0ZS1ib3ggLmJhY2sgLmNvbnRlbnQtd3JhcHt0b3A6NTAlO2JvdHRvbTppbmhlcml0O2xlZnQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwtNTAlLDApIHNjYWxlKDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsLTUwJSwwKSBzY2FsZSgxKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC01MCUsMCkgc2NhbGUoMSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLC01MCUsMCkgc2NhbGUoMSl9LnJtLXJvdGF0ZS1ib3ggLmNvbnRlbnQtd3JhcHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2Rpc3BsYXk6YmxvY2s7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkOy13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkO3BlcnNwZWN0aXZlOmluaGVyaXQ7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjI7Ym90dG9tOjU1cHg7bGVmdDowO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKDEpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgxKX0uaW1hZ2UtYmFjay1vZmZzZXQtc2hhZG93e3otaW5kZXg6MTtvcGFjaXR5OjA7bWFyZ2luOjA7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4tb3V0fS5pbWFnZS1iYWNrLW9mZnNldC1zaGFkb3cuYWN0aXZle29wYWNpdHk6MX0uaW1hZ2UtYmFjay1vZmZzZXQtc2hhZG93IGltZ3std2Via2l0LXRyYW5zaXRpb246YWxsIC40cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXR9LmltYWdlLWJhY2stb2Zmc2V0LXNoYWRvdy5hY3RpdmUgaW1ney13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxMnB4LC0xMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDE1cHgsLTE1cHgpfS5pbWFnZS1iYWNrLW9mZnNldC1zaGFkb3cgLm92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDotMTstd2Via2l0LXRyYW5zaXRpb246YWxsIC40cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXR9LmltYWdlLWJhY2stb2Zmc2V0LXNoYWRvdy5hY3RpdmUgLm92ZXJsYXl7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC05cHgsOXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC05cHgsOXB4KX0uaW1hZ2UtYmFjay1vZmZzZXQtc2hhZG93LnBvc2l0aW9uLXJpZ2h0LmFjdGl2ZSBpbWd7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDEwcHgsLTIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMTBweCwtMjBweCl9LmltYWdlLWJhY2stb2Zmc2V0LXNoYWRvdy5wb3NpdGlvbi1yaWdodCAub3ZlcmxheXstd2Via2l0LXRyYW5zaXRpb246YWxsIC40cyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbi1vdXR9LmltYWdlLWJhY2stb2Zmc2V0LXNoYWRvdy5wb3NpdGlvbi1yaWdodC5hY3RpdmUgLm92ZXJsYXl7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDM1cHgsNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDM1cHgsNXB4KX1mb290ZXIgLmZvb3Rlci1sb2dvIGltZ3ttYXgtaGVpZ2h0OjM2cHh9Zm9vdGVyIHVse3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX1mb290ZXIgdWwgbGl7bWFyZ2luLWJvdHRvbTo3cHh9Zm9vdGVyIHVsIGxpOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfWZvb3RlciAuZm9vdGVyLXRvcCB1bCBsaS5tZWRpYXttYXJnaW4tYm90dG9tOjI1cHh9Zm9vdGVyIC5mb290ZXItdG9wIHVsIGxpLm1lZGlhOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfWZvb3RlciAuaW5zdGFncmFtLWZvbGxvdy1hcGkgdWwgbGl7bWFyZ2luLWJvdHRvbTowfWZvb3RlciAuZm9vdGVyLWhvcml6b250YWwtbGluayBsaXttYXJnaW4tcmlnaHQ6MzVweDtsaXN0LXN0eWxlOm5vbmU7bWFyZ2luLWJvdHRvbTowfWZvb3RlciAuZm9vdGVyLWhvcml6b250YWwtbGluayBsaTpsYXN0LWNoaWxke21hcmdpbi1yaWdodDowfS5mb290ZXItZGFyaywuZm9vdGVyLWRhcmsgYXtjb2xvcjojODg5MGE0fS5mb290ZXItZGFyayBhOmhvdmVye2NvbG9yOiNmZmZ9LmZvb3Rlci1kYXJrIC5mb290ZXItc29jaWFsIGF7Y29sb3I6I2ZmZn0uZm9vdGVyLWRhcmsgLmZvb3Rlci1zb2NpYWwgYTpob3Zlcntjb2xvcjojODg5MGE0fS5mb290ZXItc3RpY2t5e3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMCU7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7ei1pbmRleDowfS5zY3JvbGwtdG9wLWFycm93LC5zY3JvbGwtdG9wLWFycm93OmZvY3Vze2JhY2tncm91bmQ6I2ZmZjtmb250LXNpemU6MTdweDtsaW5lLWhlaWdodDozNHB4O2JveC1zaGFkb3c6MCAwIDI1cHggcmdiYSgyMywyMywyMywuMjUpO2Rpc3BsYXk6bm9uZTtoZWlnaHQ6MzRweDt3aWR0aDozNHB4O3BhZGRpbmc6MDtwb3NpdGlvbjpmaXhlZDtyaWdodDo0NXB4O3RleHQtYWxpZ246Y2VudGVyO3RleHQtZGVjb3JhdGlvbjpub25lO2JvdHRvbTo0NXB4O3otaW5kZXg6MTAyOTtib3JkZXItcmFkaXVzOjEwMCV9LnNjcm9sbC10b3AtYXJyb3c6aG92ZXJ7YmFja2dyb3VuZDojZmZmO2NvbG9yOiM4MjgyODI7Ym94LXNoYWRvdzowIDAgMzBweCByZ2JhKDIzLDIzLDIzLC40KTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX1mb290ZXIgLmluc3RhZmVlZC1ncmlkLmd1dHRlci1zbWFsbHttYXJnaW4tbGVmdDotNXB4O21hcmdpbi1yaWdodDotNXB4fWZvb3RlciAuaW5zdGFmZWVkLWdyaWQuZ3V0dGVyLXZlcnktc21hbGx7bWFyZ2luLWxlZnQ6LTNweDttYXJnaW4tcmlnaHQ6LTNweH1mb290ZXIgLmluc3RhZmVlZC1ncmlkLmd1dHRlci1tZWRpdW17bWFyZ2luLWxlZnQ6LTdweDttYXJnaW4tcmlnaHQ6LTdweH1mb290ZXIgLmluc3RhZmVlZC1ncmlkLmd1dHRlci1sYXJnZXttYXJnaW4tbGVmdDotMTBweDttYXJnaW4tcmlnaHQ6LTEwcHh9Zm9vdGVyIC5pbnN0YWZlZWQtZ3JpZC5ndXR0ZXItZXh0cmEtbGFyZ2V7bWFyZ2luLWxlZnQ6LTE1cHg7bWFyZ2luLXJpZ2h0Oi0xNXB4fWZvb3RlciAuaW5zdGFmZWVkLWdyaWQuZ3V0dGVyLWRvdWJsZS1leHRyYS1sYXJnZXttYXJnaW4tbGVmdDotMjBweDttYXJnaW4tcmlnaHQ6LTIwcHh9LmhvbWUtc3RhcnR1cCAuYXJlc3tiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO3RyYW5zaXRpb246LjNzIGVhc2UtaW4tb3V0fS5ob21lLXN0YXJ0dXAgLmFyZXM6YmVmb3Jle2NvbG9yOiNmZmY7Zm9udC1mYW1pbHk6ZmVhdGhlciFpbXBvcnRhbnR9LmhvbWUtc3RhcnR1cCAuYXJlcy50cC1sZWZ0YXJyb3csLmhvbWUtc3RhcnR1cCAuYXJlcy50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxlODI4Ijtmb250LXNpemU6MTlweH0uaG9tZS1zdGFydHVwIC5hcmVzLnRwLXJpZ2h0YXJyb3csLmhvbWUtc3RhcnR1cCAuYXJlcy50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZXtjb250ZW50OiJcZTgyOSI7Zm9udC1zaXplOjE5cHh9LmhvbWUtc3RhcnR1cCAuYXJlcy50cGFycm93czpob3ZlcjpiZWZvcmV7Y29sb3I6I2ZmZn0uaG9tZS1zdGFydHVwIC5hcmVzOmhvdmVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuOSl9LmhvbWUtc3RhcnR1cCAucnMtYnRuOmhvdmVyIC5mYS1wbGF5LC5ob21lLXN0YXJ0dXAgLnJzLWJ0bjpob3ZlciBkaXZ7dHJhbnNpdGlvbjouM3MgZWFzZS1pbi1vdXQhaW1wb3J0YW50fS5ob21lLXN0YXJ0dXAgLnJzLWJ0bjpob3ZlciBkaXZ7YmFja2dyb3VuZDojZmZmIWltcG9ydGFudH0uaG9tZS1zdGFydHVwIC5ycy1idG46aG92ZXIgLmZhLXBsYXl7Y29sb3I6IzAwYjA1NyFpbXBvcnRhbnR9LmhvbWUtc3RhcnR1cCAudHAtbWFzay13cmFwe2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uaG9tZS1zdGFydHVwIC50cC1idWxsZXQgLnRwLWJ1bGxldC1pbWFnZSwuaG9tZS1zdGFydHVwIC50cC1idWxsZXQgLnRwLWJ1bGxldC10aXRsZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5mb290ZXItc3RhcnR1cC5mb290ZXItbGlnaHQgYTpob3Zlcntjb2xvcjojMjdhZTYwfS5mb290ZXItaG90ZWwtcmVzb3J0LmZvb3Rlci1kYXJrLC5mb290ZXItaG90ZWwtcmVzb3J0LmZvb3Rlci1kYXJrIGF7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNCl9LmZvb3Rlci1ob3RlbC1yZXNvcnQgLnNvY2lhbC1pY29uLXN0eWxlLTEyIC5saWdodCBsaSBhOmhvdmVyLC5mb290ZXItaG90ZWwtcmVzb3J0LmZvb3Rlci1kYXJrIC5mb290ZXItc29jaWFsIGF7Y29sb3I6I2ZmZn0uZm9vdGVyLWhvdGVsLXJlc29ydC5mb290ZXItZGFyayBhOmhvdmVye2NvbG9yOiNjODk5NjV9LmhvbWUtaG90ZWwtcmVzb3J0IC5oZXJtZXMgLnRwLWJ1bGxldHtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czo1MCU7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMnB4IHJnYmEoMjA0LDIwNCwyMDQsMCk7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQgLjNzIGVhc2U7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4zcyBlYXNlO3Bvc2l0aW9uOmFic29sdXRlfS5ob21lLWhvdGVsLXJlc29ydCAuaGVybWVzIC50cC1idWxsZXQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5ob21lLWhvdGVsLXJlc29ydCAuaGVybWVzIC50cC1idWxsZXQ6YWZ0ZXJ7Y29udGVudDonICc7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7aGVpZ2h0OjA7bGVmdDowO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDIwNCwyMDQsMjA0LDApOy13ZWJraXQtdHJhbnNpdGlvbjpoZWlnaHQgLjNzIGVhc2U7dHJhbnNpdGlvbjpoZWlnaHQgLjNzIGVhc2V9LmhvbWUtaG90ZWwtcmVzb3J0IC5oZXJtZXMgLnRwLWJ1bGxldC5zZWxlY3RlZDphZnRlcntoZWlnaHQ6MTAwJX0uaG9tZS1ob3RlbC1yZXNvcnQgLmJvb2stbm93LWJ0bnt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGVhc2UtaW4tb3V0IWltcG9ydGFudDtwYWRkaW5nOjEwcHggMjZweCFpbXBvcnRhbnR9LmhvbWUtaG90ZWwtcmVzb3J0IC5ib29rLW5vdy1idG46aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmIWltcG9ydGFudDtjb2xvcjojMjMyMzIzIWltcG9ydGFudH0uYm94LWxheW91dCAubmF2YmFyLm5hdmJhci1ib3hlZHtwYWRkaW5nLWxlZnQ6NzVweDtwYWRkaW5nLXJpZ2h0Ojc1cHh9LmFyY2hpdGVjdHVyZS5mYW5jeS10ZXh0LWJveC1zdHlsZS0wMSAuZmFuY3ktdGV4dC1ib3g6YWZ0ZXIsLmFyY2hpdGVjdHVyZS5mYW5jeS10ZXh0LWJveC1zdHlsZS0wMSAuZmFuY3ktdGV4dC1ib3g6YmVmb3Jle2JvcmRlci1jb2xvcjpyZ2JhKDEzMCwxMzAsMTMwLC4yKX0uaG9tZS1hcmNoaXRlY3R1cmUgLm1ldGlzLnRwYXJyb3dze3dpZHRoOjY3cHg7aGVpZ2h0OjY3cHh9LmhvbWUtYXJjaGl0ZWN0dXJlIC5tZXRpcy50cGFycm93czpiZWZvcmV7Zm9udC1mYW1pbHk6ZmVhdGhlciFpbXBvcnRhbnQ7Zm9udC1zaXplOjIwcHg7cGFkZGluZy10b3A6M3B4fS5ob21lLWFyY2hpdGVjdHVyZSAudHBhcnJvd3MudHAtcmlnaHRhcnJvd3t0cmFuc2Zvcm06bWF0cml4KDEsMCwwLDEsLTY3LC0zMjcpIWltcG9ydGFudH0uaG9tZS1hcmNoaXRlY3R1cmUgLnRwYXJyb3dzLnRwLWxlZnRhcnJvd3t0cmFuc2Zvcm06bWF0cml4KDEsMCwwLDEsLTY3LC0yNjApIWltcG9ydGFudH0uaG9tZS1hcmNoaXRlY3R1cmUgLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxlODI5In0uaG9tZS1hcmNoaXRlY3R1cmUgLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmV7Y29udGVudDoiXGU4MjgifS5ob21lLWFyY2hpdGVjdHVyZSAudHBhcnJvd3M6aG92ZXJ7YmFja2dyb3VuZDojMjMyNjJkIWltcG9ydGFudH0uaG9tZS1hcmNoaXRlY3R1cmUgLnRwYXJyb3dzOmhvdmVyOmJlZm9yZXtjb2xvcjojZmZmO3RyYW5zZm9ybTpzY2FsZSgxKSFpbXBvcnRhbnR9LmhvbWUtYXJjaGl0ZWN0dXJlLW1pZGRsZS10ZXh0e3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0uZm9vdGVyLWFwcGxpY2F0aW9uLmZvb3Rlci1kYXJrLC5mb290ZXItYXBwbGljYXRpb24uZm9vdGVyLWRhcmsgYXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX0uZm9vdGVyLWFwcGxpY2F0aW9uLmZvb3Rlci1kYXJrIGE6aG92ZXJ7Y29sb3I6I2ZmZn0uZm9vdGVyLWFwcGxpY2F0aW9uLmZvb3Rlci1kYXJrIC5mb290ZXItc29jaWFsIGF7Y29sb3I6I2ZmZn0uZm9vdGVyLWFwcGxpY2F0aW9uLmZvb3Rlci1kYXJrIC5mb290ZXItc29jaWFsIGE6aG92ZXJ7b3BhY2l0eTouNX0uYmFubmVyLWJvdHRvbS1yaWdodC1pbWFnZXM+aW1ne2JvdHRvbTotOTVweDtwb3NpdGlvbjpyZWxhdGl2ZX0uZm9vdGVyLWV2ZW50cy1jb25mZXJlbmNlLmZvb3Rlci1kYXJrLC5mb290ZXItZXZlbnRzLWNvbmZlcmVuY2UuZm9vdGVyLWRhcmsgYXtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC40KX0uZm9vdGVyLWV2ZW50cy1jb25mZXJlbmNlLmZvb3Rlci1kYXJrIGE6aG92ZXJ7Y29sb3I6I2ZmZn0ucmV2LW5hdi1hcmVzLWVmZmVjdCAuYXJlc3tiYWNrZ3JvdW5kOjAgMCFpbXBvcnRhbnQ7b3BhY2l0eTowO3RyYW5zaXRpb246LjNzIGVhc2UtaW4tb3V0fS5ob21lLXNwYS1zYWxvbiAuYXJlc3tvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDowIDB9LmhvbWUtc3BhLXNhbG9uIC5hcmVzOmJlZm9yZXtmb250LWZhbWlseTpmZWF0aGVyIWltcG9ydGFudDtmb250LXNpemU6MTZweCFpbXBvcnRhbnQ7Y29sb3I6I2ZmZiFpbXBvcnRhbnQ7dHJhbnNpdGlvbjouM3MgZWFzZS1pbi1vdXQhaW1wb3J0YW50fS5ob21lLXNwYS1zYWxvbiAuYXJlczpob3ZlciAudHAtYXJyLXRpdGxlaG9sZGVye2NvbG9yOiNmZjgwODkhaW1wb3J0YW50fS5ob21lLXNwYS1zYWxvbiAudHAtbGVmdGFycm93OmJlZm9yZXtjb250ZW50OidcZTgyOCchaW1wb3J0YW50O2xlZnQ6LTEwcHh9LmhvbWUtc3BhLXNhbG9uIC5hcmVzOmhvdmVyOmJlZm9yZXt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCkhaW1wb3J0YW50O2NvbG9yOiNmZjgwODkhaW1wb3J0YW50fS5ob21lLXNwYS1zYWxvbiAudHAtcmlnaHRhcnJvdzpiZWZvcmV7Y29udGVudDonXGU4MjknIWltcG9ydGFudDtyaWdodDotMTBweH0uaG9tZS1zcGEtc2Fsb24gLnRwLXJpZ2h0YXJyb3c6aG92ZXI6YmVmb3Jle3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpIWltcG9ydGFudH0uaG9tZS1zcGEtc2Fsb24gLnRwLWFyci10aXRsZWhvbGRlcnt0b3A6LTYwcHghaW1wb3J0YW50O2xlZnQ6NXB4IWltcG9ydGFudDtjb2xvcjojZmZmIWltcG9ydGFudDtmb250LXNpemU6MTZweCFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6MzAwIWltcG9ydGFudDtvcGFjaXR5OjEhaW1wb3J0YW50O3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApIWltcG9ydGFudH0uaG9tZS1zcGEtc2Fsb24gLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci10aXRsZWhvbGRlcntsZWZ0OmF1dG8haW1wb3J0YW50O3JpZ2h0OjE1cHghaW1wb3J0YW50fS5ob21lLXNwYS1zYWxvbiAuZXhwbG9yZS1idG57dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4zcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7ei1pbmRleDoxMDAhaW1wb3J0YW50fS5ob21lLXNwYS1zYWxvbiAudHAtdGFiLW1hc2t7b3ZlcmZsb3c6dmlzaWJsZSFpbXBvcnRhbnR9LmhvbWUtc3BhLXNhbG9uIC50cC10YWJ7b3BhY2l0eTouNSFpbXBvcnRhbnQ7d2lkdGg6MzVweCFpbXBvcnRhbnQ7aGVpZ2h0OjE5cHghaW1wb3J0YW50fS5ob21lLXNwYS1zYWxvbiAudHAtdGFiLnNlbGVjdGVke29wYWNpdHk6MSFpbXBvcnRhbnR9LmhvbWUtc3BhLXNhbG9uIC50cC10YWIuc2VsZWN0ZWQgLnRwLXRhYi10aXRsZTpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjUwJTt3aWR0aDo0NiU7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kOiNmZmY7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9LmhvbWUtc3BhLXNhbG9uIC50cC10YWItdGl0bGV7YmFja2dyb3VuZDowIDAhaW1wb3J0YW50O2NvbG9yOiNmZmYhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7Zm9udC1zaXplOjE1cHghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjQwMCFpbXBvcnRhbnQ7Zm9udC1mYW1pbHk6UG9wcGlucyxzYW5zLXNlcmlmIWltcG9ydGFudH0uZm9vdGVyLXNwYS1zYWxvbi5mb290ZXItZGFyaywuZm9vdGVyLXNwYS1zYWxvbi5mb290ZXItZGFyayBhe2NvbG9yOiM4MjgyODJ9LmZvb3Rlci1zcGEtc2Fsb24uZm9vdGVyLWRhcmsgYTpob3Zlcntjb2xvcjojZmZmfS5mb290ZXItZmluYW5jZS5mb290ZXItbGlnaHQgYTpob3Zlcntjb2xvcjojOGJiODY3fS5mb290ZXItZmluYW5jZS5mb290ZXItbGlnaHQgLnNvY2lhbC1pY29uLXN0eWxlLTEyIGxpIGE6aG92ZXJ7b3BhY2l0eToxO2NvbG9yOiM4MjgyODJ9LmZvb3Rlci1zZW8tYWdlbmN5LmZvb3Rlci1saWdodCBhOmhvdmVye2NvbG9yOiMzNzQxNjJ9LmZvb3Rlci1jb25zdWx0aW5nLmZvb3Rlci1kYXJrIC5mb290ZXItYm90dG9tLC5mb290ZXItY29uc3VsdGluZy5mb290ZXItZGFyayAuZm9vdGVyLWJvdHRvbSBhLC5mb290ZXItY29uc3VsdGluZy5mb290ZXItZGFyayAuZm9vdGVyLXRvcCwuZm9vdGVyLWNvbnN1bHRpbmcuZm9vdGVyLWRhcmsgLmZvb3Rlci10b3AgYXtjb2xvcjojODI4MjgyfS5mb290ZXItY29uc3VsdGluZy5mb290ZXItZGFyayAuZm9vdGVyLWJvdHRvbSBhOmhvdmVyLC5mb290ZXItY29uc3VsdGluZy5mb290ZXItZGFyayAuZm9vdGVyLXRvcCBhOmhvdmVye2NvbG9yOiNmZmZ9LmZvb3Rlci1jb25zdWx0aW5nLmZvb3Rlci1kYXJrIC5zb2NpYWwtaWNvbi1zdHlsZS0xMiBsaSBhOmhvdmVye29wYWNpdHk6MX0uaG9tZS1kZWNvciAudHAtY2FwdGlvbi5idG57dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0IWltcG9ydGFudH0uaG9tZS1kZWNvciAudHAtYnVsbGV0e2JhY2tncm91bmQ6I2JmOGM0YyFpbXBvcnRhbnQ7b3BhY2l0eTouNjtib3JkZXI6MXB4IHNvbGlkICNiZjhjNGMhaW1wb3J0YW50O3dpZHRoOjEwcHghaW1wb3J0YW50O2hlaWdodDoxMHB4IWltcG9ydGFudH0uaG9tZS1kZWNvciAudHAtYnVsbGV0LnNlbGVjdGVke29wYWNpdHk6LjJ9LmhvbWUtZGVjb3IgLnRwLWJ1bGxldDphZnRlcntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5mb290ZXItZGVjb3IuZm9vdGVyLWRhcmssLmZvb3Rlci1kZWNvci5mb290ZXItZGFyayBhe2NvbG9yOiM4MjgyODJ9LmZvb3Rlci1kZWNvci5mb290ZXItZGFyayBhOmhvdmVye2NvbG9yOiNjYjkzM2R9LmZvb3Rlci1kZWNvci5mb290ZXItZGFyayAuc29jaWFsLWljb24tc3R5bGUtMTIgbGkgYTpob3ZlcntvcGFjaXR5OjF9LndlYi1hZ2VuY3kgLnByb2Nlc3Mtc3RlcC1zdHlsZS0wMiAucHJvY2Vzcy1zdGVwLWl0ZW06aG92ZXIgLnByb2Nlc3Mtc3RlcC1pY29ue2NvbG9yOiMwMDM4ZTN9LmZvb3Rlci1yZXN0YXVyYW50LmZvb3Rlci1saWdodCBhOmhvdmVye2NvbG9yOiNjYTk0M2R9LmZvb3Rlci1kaWdpdGFsLWFnZW5jeSAuZm9vdGVyLWxvZ28gaW1ne21heC1oZWlnaHQ6aW5oZXJpdH0uZm9vdGVyLWRpZ2l0YWwtYWdlbmN5LmZvb3Rlci1saWdodCBhOmhvdmVye2NvbG9yOiNlNjk5NGV9LmZvb3Rlci1kaWdpdGFsLWFnZW5jeS5mb290ZXItbGlnaHQgLnNvY2lhbC1pY29uLXN0eWxlLTEyIGxpIGE6aG92ZXJ7b3BhY2l0eToxfS50ZWFtLXR1bGlwLWJ1YmJsZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7Ym90dG9tOjE2MHB4O2JvcmRlci1yYWRpdXM6NHB4O3BhZGRpbmc6NDBweCA0NXB4fS50ZWFtLXR1bGlwLWJ1YmJsZTpiZWZvcmV7dG9wOjEwMCU7cmlnaHQ6NTBweDtib3JkZXI6c29saWQgdHJhbnNwYXJlbnQ7Y29udGVudDoiICI7aGVpZ2h0OjA7d2lkdGg6MDtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXItY29sb3I6cmdiYSgyMzcsMjM3LDIzNywwKTtib3JkZXItdG9wLWNvbG9yOiNmNGQ5NTY7Ym9yZGVyLXdpZHRoOjE4cHggMCAwIDE4cHh9LmZvb3Rlci1tYXJrZXRpbmctYWdlbmN5LmZvb3Rlci1saWdodCBhOmhvdmVye2NvbG9yOiM5Njk4OTZ9LmhvbWUtcGhvdG9ncmFwaHkgLmFyZXN7b3BhY2l0eTowO2JhY2tncm91bmQ6MCAwIWltcG9ydGFudDttaW4td2lkdGg6MTc2cHghaW1wb3J0YW50O3RyYW5zaXRpb246LjNzIGVhc2UtaW4tb3V0fS5ob21lLXBob3RvZ3JhcGh5IC5hcmVzOmJlZm9yZXtjb250ZW50OicnIWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjA7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCMzZWRmYjYsIzU4ZTQ5YSwjN2NlODc4LCNhNWU4NTAsI2QwZTUxYikhaW1wb3J0YW50O3RyYW5zaXRpb246d2lkdGggLjNzIGVhc2UtaW4tb3V0IWltcG9ydGFudH0uaG9tZS1waG90b2dyYXBoeSAuYXJlcy50cC1yaWdodGFycm93OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowIWltcG9ydGFudH0uaG9tZS1waG90b2dyYXBoeSAuYXJlcyAudHAtdGl0bGUtd3JhcHt0cmFuc2Zvcm06c2NhbGUoMSkhaW1wb3J0YW50O2JhY2tncm91bmQ6MCAwO21hcmdpbjowIWltcG9ydGFudDtvdmVyZmxvdzp2aXNpYmxlfS5ob21lLXBob3RvZ3JhcGh5IC5hcmVzIC50cC1hcnItdGl0bGVob2xkZXJ7b3BhY2l0eToxO2ZvbnQtc2l6ZToxOHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiM4MjgyODI7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmc6MDt0cmFuc2l0aW9uOi4zcyBlYXNlLWluLW91dH0uaG9tZS1waG90b2dyYXBoeSAudHBhcnJvd3M6aG92ZXIgLnRwLWFyci10aXRsZWhvbGRlcntjb2xvcjojZmZmfS5ob21lLXBob3RvZ3JhcGh5IC5hcmVzOmhvdmVyOmJlZm9yZXt3aWR0aDoxMzNweH0uaG9tZS1waG90b2dyYXBoeSAuYXJlcyAudHAtdGl0bGUtd3JhcDpiZWZvcmV7Y29udGVudDoiIiFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTMzcHg7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kOiMyODI5MmI7dG9wOjUwJTt0cmFuc2l0aW9uOi4zcyBlYXNlLWluLW91dH0uaG9tZS1waG90b2dyYXBoeSAuYXJlcy50cC1yaWdodGFycm93OmhvdmVyIC50cC1hcnItdGl0bGVob2xkZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMHB4KX0uaG9tZS1waG90b2dyYXBoeSAuYXJlcy50cC1sZWZ0YXJyb3c6aG92ZXIgLnRwLWFyci10aXRsZWhvbGRlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDBweCl9LmhvbWUtcGhvdG9ncmFwaHkgLnRwLWxlZnRhcnJvdyAudHAtdGl0bGUtd3JhcCAudHAtYXJyLXRpdGxlaG9sZGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xlZnQ6LTQ4cHh9LmhvbWUtcGhvdG9ncmFwaHkgLnRwLXJpZ2h0YXJyb3cgLnRwLXRpdGxlLXdyYXA6YmVmb3Jle3JpZ2h0OjB9LmhvbWUtcGhvdG9ncmFwaHkgLnRwLXJpZ2h0YXJyb3cgLnRwLXRpdGxlLXdyYXAgLnRwLWFyci10aXRsZWhvbGRlcntkaXNwbGF5OmlubGluZS1ibG9jaztyaWdodDotNTJweH0uaG9tZS1waG90b2dyYXBoeSAuemV1c3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5ob21lLXBob3RvZ3JhcGh5IC5hbmltLXRleHR7YW5pbWF0aW9uOm15YW5pbSA3MHMgaW5maW5pdGU7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXJ9LmhvbWUtcGhvdG9ncmFwaHkgLmFuaW0tdGV4dDJ7YW5pbWF0aW9uOm15YW5pbSA3MHMgaW5maW5pdGU7YW5pbWF0aW9uLWRlbGF5OjM1czthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcn0uZm9vdGVyLXBob3RvZ3JhcGh5LmZvb3Rlci1kYXJrLC5mb290ZXItcGhvdG9ncmFwaHkuZm9vdGVyLWRhcmsgYXtjb2xvcjojODI4MjgyfS5mb290ZXItcGhvdG9ncmFwaHkuZm9vdGVyLWRhcmsgYS5idG57Y29sb3I6I2M3ZGEyNn0uZm9vdGVyLXBob3RvZ3JhcGh5LmZvb3Rlci1kYXJrIGE6aG92ZXJ7Y29sb3I6I2M3ZGEyNn0uZm9vdGVyLXBob3RvZ3JhcGh5LmZvb3Rlci1kYXJrIC5zb2NpYWwtaWNvbi1zdHlsZS0xMiBsaSBhOmhvdmVye29wYWNpdHk6MX0uZm9vdGVyLWRlbnRpc3QuZm9vdGVyLWxpZ2h0IGE6aG92ZXJ7Y29sb3I6IzAwYjhiOH1Aa2V5ZnJhbWVzIG15YW5pbXswJXtyaWdodDowfTEwMCV7cmlnaHQ6NDAwMHB4fX0uaG9tZS1jYWZlIC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5rLmFjdGl2ZSwuaG9tZS1jYWZlIC5uYXYtdGFicz5saS5uYXYtaXRlbT5hLm5hdi1saW5rOmhvdmVyLC5ob21lLWNhZmUubmF2LXRhYnM+bGkubmF2LWl0ZW0+YS5uYXYtbGluay5hY3RpdmU6aG92ZXJ7Y29sb3I6I2NkOTQ1Mn0uZm9vdGVyLWNyZWF0aXZlLWFnZW5jeSAuZm9vdGVyLWxvZ28gaW1ne21heC1oZWlnaHQ6aW5oZXJpdH0uZm9vdGVyLWNyZWF0aXZlLWFnZW5jeS5mb290ZXItZGFyaywuZm9vdGVyLWNyZWF0aXZlLWFnZW5jeS5mb290ZXItZGFyayBhe2NvbG9yOiM4MjgyODJ9LmZvb3Rlci1jcmVhdGl2ZS1hZ2VuY3kuZm9vdGVyLWRhcmsgdWwgbGkgYXtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDozNHB4fS5mb290ZXItY3JlYXRpdmUtYWdlbmN5LmZvb3Rlci1kYXJrIGE6aG92ZXJ7Y29sb3I6I2NjNzU0Y30uaG9tZS1jcmVhdGl2ZS1hZ2VuY3kuY2xpZW50LWxvZ28tc3R5bGUtMDYgLmNsaWVudC1ib3h7b3BhY2l0eTouMjV9LmZvb3Rlci1jcmVhdGl2ZS1hZ2VuY3kuZm9vdGVyLWRhcmsgLnNvY2lhbC1pY29uLXN0eWxlLTEyIGxpIGE6aG92ZXIsLmhvbWUtY3JlYXRpdmUtYWdlbmN5LmNsaWVudC1sb2dvLXN0eWxlLTA2IC5jbGllbnQtYm94OmhvdmVye29wYWNpdHk6MX0uZm9vdGVyLWRlc2lnbi1hZ2VuY3kuZm9vdGVyLWxpZ2h0IGE6aG92ZXJ7Y29sb3I6I2ZmY2MyZX0uaG9tZS12ZXJ0aWNhbC1wb3J0Zm9saW8gLm5hdmJhcntwYWRkaW5nOjAgNnJlbX0uaG9tZS1mdXJuaXR1cmUtc2hvcCAuaGVybWVzIC50cC1idWxsZXR7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6NTAlO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM1LDM1LDM1LC4yKTtib3gtc2hhZG93Omluc2V0IDAgMCAwIDJweCByZ2JhKDIwNCwyMDQsMjA0LDApOy13ZWJraXQtdHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4zcyBlYXNlO3RyYW5zaXRpb246YmFja2dyb3VuZCAuM3MgZWFzZTtwb3NpdGlvbjphYnNvbHV0ZX0uaG9tZS1mdXJuaXR1cmUtc2hvcCAuaGVybWVzIC50cC1idWxsZXQ6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjMyMzIzfS5ob21lLWZ1cm5pdHVyZS1zaG9wIC5oZXJtZXMgLnRwLWJ1bGxldDphZnRlcntjb250ZW50OicgJztwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtoZWlnaHQ6MDtsZWZ0OjA7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiMyMzIzMjM7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMjA0LDIwNCwyMDQsMCk7LXdlYmtpdC10cmFuc2l0aW9uOmhlaWdodCAuM3MgZWFzZTt0cmFuc2l0aW9uOmhlaWdodCAuM3MgZWFzZX0uaG9tZS1mdXJuaXR1cmUtc2hvcCAuaGVybWVzIC50cC1idWxsZXQuc2VsZWN0ZWQ6YWZ0ZXJ7aGVpZ2h0OjEwMCV9LmhvbWUtZnVybml0dXJlLXNob3AgLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmV7Y29udGVudDoiXGU2NTciO2ZvbnQtZmFtaWx5Omljb21vb247Y29sb3I6IzIzMjMyMztvcGFjaXR5Oi41O2ZvbnQtc2l6ZTo0NXB4fS5ob21lLWZ1cm5pdHVyZS1zaG9wIC50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZXtjb250ZW50OiJcZTY1OCI7Zm9udC1mYW1pbHk6aWNvbW9vbjtjb2xvcjojMjMyMzIzO29wYWNpdHk6LjU7Zm9udC1zaXplOjQ1cHh9LmZvb3Rlci1mdXJuaXR1cmUtc2hvcC5mb290ZXItZGFyayAuZm9vdGVyLWJvdHRvbSwuZm9vdGVyLWZ1cm5pdHVyZS1zaG9wLmZvb3Rlci1kYXJrIC5mb290ZXItYm90dG9tIGEsLmZvb3Rlci1mdXJuaXR1cmUtc2hvcC5mb290ZXItZGFyayAuZm9vdGVyLXRvcCwuZm9vdGVyLWZ1cm5pdHVyZS1zaG9wLmZvb3Rlci1kYXJrIC5mb290ZXItdG9wIGF7Y29sb3I6IzgyODI4Mn0uZm9vdGVyLWZ1cm5pdHVyZS1zaG9wLmZvb3Rlci1kYXJrIGE6aG92ZXJ7Y29sb3I6I2ZmZn0uaG9tZS1mYXNoaW9uLXNob3AgLnRwLXRhYntvcGFjaXR5Oi41fS5ob21lLWZhc2hpb24tc2hvcCAudHAtdGFiLW1hc2t7bWF4LXdpZHRoOmluaGVyaXQhaW1wb3J0YW50O3dpZHRoOmF1dG87cGFkZGluZzowO21hcmdpbjowfS5ob21lLWZhc2hpb24tc2hvcCAudHAtdGFiLnNlbGVjdGVkIHNwYW57Ym9yZGVyLWJvdHRvbToycHggc29saWQgIzIzMjMyM30uaG9tZS1mYXNoaW9uLXNob3AgLnRwLXRhYnM6YmVmb3Jle2Rpc3BsYXk6bm9uZX0uZm9vdGVyLWZhc2hpb24tc2hvcC5mb290ZXItZGFyayAuZm9vdGVyLXRvcCwuZm9vdGVyLWZhc2hpb24tc2hvcC5mb290ZXItZGFyayAuZm9vdGVyLXRvcCBhe2NvbG9yOiM4MjgyODJ9LmZvb3Rlci1mYXNoaW9uLXNob3AuZm9vdGVyLWRhcmsgYTpob3Zlcntjb2xvcjojZmZmfS5mb290ZXItbWFnYXppbmUuZm9vdGVyLWRhcmssLmZvb3Rlci1tYWdhemluZS5mb290ZXItZGFyayBhe2NvbG9yOiM4MjgyODJ9LmZvb3Rlci1tYWdhemluZS5mb290ZXItZGFyayBhOmhvdmVye2NvbG9yOiNmZmZ9LmhvbWUtbWFnYXppbmUuYmxvZy1tZXRybyAucG9zdC1kZXRhaWxzIC5ibG9nLWNhdGVnb3J5e2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjIwcHg7Zm9udC13ZWlnaHQ6NTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjojZmZmO3BhZGRpbmc6NnB4IDEzcHg7YmFja2dyb3VuZDojYzg5OTY1O2JvcmRlci1yYWRpdXM6MnB4fS5ob21lLW1hZ2F6aW5lLmJsb2ctbWV0cm8gLnBvc3QtZGV0YWlsczpob3ZlciAuYmxvZy1jYXRlZ29yeXtiYWNrZ3JvdW5kOiNmZmY7Y29sb3I6IzIzMjMyMztib3gtc2hhZG93OjAgMCAyMHB4IHJnYmEoMjMsMjMsMjMsLjIpfS5mb290ZXItbGlmZXN0eWxlLWJsb2cuZm9vdGVyLWRhcmsgLmZvb3Rlci10b3AsLmZvb3Rlci1saWZlc3R5bGUtYmxvZy5mb290ZXItZGFyayAuZm9vdGVyLXRvcCBhe2NvbG9yOiM4MjgyODJ9LmZvb3Rlci1saWZlc3R5bGUtYmxvZy5mb290ZXItZGFyayBhOmhvdmVye2NvbG9yOiNmZmZ9LmZvb3Rlci1kYXJrLWhlYWRlci5mb290ZXItZGFyaywuZm9vdGVyLWRhcmstaGVhZGVyLmZvb3Rlci1kYXJrIGEsLmZvb3Rlci1oYW1idXJnZXItbWVudS1oYWxmLmZvb3Rlci1kYXJrLC5mb290ZXItaGFtYnVyZ2VyLW1lbnUtaGFsZi5mb290ZXItZGFyayBhLC5mb290ZXItaGFtYnVyZ2VyLW1lbnUtbW9kZXJuLmZvb3Rlci1kYXJrLC5mb290ZXItaGFtYnVyZ2VyLW1lbnUtbW9kZXJuLmZvb3Rlci1kYXJrIGEsLmZvb3Rlci1oZWFkZXItd2l0aC1wdXNoLmZvb3Rlci1kYXJrLC5mb290ZXItaGVhZGVyLXdpdGgtcHVzaC5mb290ZXItZGFyayBhLC5mb290ZXItbGVmdC1tZW51LW1vZGVybiwuZm9vdGVyLWxlZnQtbWVudS1tb2Rlcm4uZm9vdGVyLWRhcmsgYSwuZm9vdGVyLXJlc3BvbnNpdmUtc3RpY2t5LC5mb290ZXItcmVzcG9uc2l2ZS1zdGlja3kuZm9vdGVyLWRhcmsgYXtjb2xvcjojODI4MjgyfS5mb290ZXItZGFyay1oZWFkZXIuZm9vdGVyLWRhcmsgYTpob3ZlciwuZm9vdGVyLWhhbWJ1cmdlci1tZW51LWhhbGYgYTpob3ZlciwuZm9vdGVyLWhhbWJ1cmdlci1tZW51LW1vZGVybiBhOmhvdmVyLC5mb290ZXItaGVhZGVyLXdpdGgtcHVzaC5mb290ZXItZGFyayBhOmhvdmVyLC5mb290ZXItbGVmdC1tZW51LW1vZGVybiBhOmhvdmVyLC5mb290ZXItcmVzcG9uc2l2ZS1zdGlja3kgYTpob3Zlcntjb2xvcjojZmZmfS5jZC1oZWFkbGluZS5zbGlkZSBzcGFuIGJ7Ym9yZGVyLXRvcC13aWR0aDowIWltcG9ydGFudDtib3JkZXItbGVmdC13aWR0aDowIWltcG9ydGFudDtib3JkZXItcmlnaHQtd2lkdGg6MCFpbXBvcnRhbnR9LmZvb3Rlci1vbmVwYWdlLmZvb3Rlci1kYXJrLC5mb290ZXItb25lcGFnZS5mb290ZXItZGFyayBhe2NvbG9yOiM4MjgyODJ9LmZvb3Rlci1vbmVwYWdlLmZvb3Rlci1kYXJrIGE6aG92ZXJ7Y29sb3I6I2Y0ZDk1Nn0ubGl0aG8tcGFyYWxsYXgtYmd7d2lkdGg6ODcwcHh9LmxpdGhvLWxhbmRpbmctaGVhZGVyIC5uYXZiYXItYnJhbmQ6YWZ0ZXJ7YmFja2dyb3VuZDpyZ2JhKDEzMCwxMzAsMTMwLC4zNSk7Y29udGVudDoiIjtoZWlnaHQ6Y2FsYygxMDAlIC0gMThweCk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjFweH0uY3VzdG9tZXItYmctc2VjdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi03MHB4O2JvdHRvbToxNTBweH0uaG9tZS1kZW50aXN0IC5wb3B1cC15b3V0dWJlLmFic29sdXRlLW1pZGRsZS1jZW50ZXJ7bGVmdDoxMDAlfS5vdXRzaWRlLWJveC1sZWZ0e21hcmdpbi1sZWZ0Oi0zMHZ3fS5vdXRzaWRlLWJveC1yaWdodHttYXJnaW4tcmlnaHQ6LTMwdnd9Lm91dHNpZGUtYm94LWJvdHRvbXttYXJnaW4tYm90dG9tOi0xNHZ3fS5vdXRzaWRlLWJveC10ZXh0LWxlZnR7bWFyZ2luLWxlZnQ6LTUwdnd9Lm91dHNpZGUtYm94LXRleHQtcmlnaHR7bWFyZ2luLXJpZ2h0Oi01MHZ3fS5yZXF1aXJlZC5lcnJvcntib3JkZXI6MXB4IHNvbGlkIHJlZCFpbXBvcnRhbnR9aW5wdXRbdHlwZT1jaGVja2JveF0uZXJyb3J7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiKDI1NSAwIDApLDFweCAxcHggMCAwIHJnYigyNTUgMCAwKX0uc2VhcmNoLWVycm9ye2JvcmRlcjoxcHggc29saWQgcmVkIWltcG9ydGFudH0uc2VhcmNoLWZvcm0tYm94IC5zZWFyY2gtZXJyb3J7Ym9yZGVyOjAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJlZCFpbXBvcnRhbnR9LmlucHV0LWJvcmRlci1ib3R0b20ucmVxdWlyZWQuZXJyb3J7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmVkIWltcG9ydGFudDtib3JkZXItdG9wOm5vbmUhaW1wb3J0YW50O2JvcmRlci1sZWZ0Om5vbmUhaW1wb3J0YW50O2JvcmRlci1yaWdodDpub25lIWltcG9ydGFudH0uZy1yZWNhcHRjaGEuZXJyb3IgaWZyYW1le2JvcmRlcjoxcHggc29saWQgcmVkfS5mb3JtLXJlc3VsdHN7cGFkZGluZzoxM3B4IDIwcHg7Y2xlYXI6Ym90aDt3aWR0aDoxMDAlO21hcmdpbi10b3A6MjBweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoyMnB4O3otaW5kZXg6MjttYXgtd2lkdGg6MTAwJTtmbGV4OjAgMCAxMDAlOy1tcy1mbGV4OjAgMCAxMDAlfUBrZXlmcmFtZXMgc3Bpbnt0b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LmxvYWRpbmd7cG9zaXRpb246cmVsYXRpdmU7b3BhY2l0eToxIWltcG9ydGFudDt0cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7LW1vei10cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7LW1zLXRyYW5zaXRpb246YWxsIDBzIGVhc2UtaW4tb3V0IWltcG9ydGFudDstby10cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7ei1pbmRleDo5OX0ubG9hZGluZzo6YWZ0ZXJ7YmFja2dyb3VuZDowIDA7Y29udGVudDoiIiFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDpjYWxjKDUwJSAtIDEwcHgpIWltcG9ydGFudDt0b3A6Y2FsYyg1MCUgLSAxMHB4KSFpbXBvcnRhbnQ7d2lkdGg6MjBweCFpbXBvcnRhbnQ7aGVpZ2h0OjIwcHghaW1wb3J0YW50O29wYWNpdHk6MSFpbXBvcnRhbnQ7cmlnaHQ6aW5oZXJpdCFpbXBvcnRhbnQ7ei1pbmRleDo5O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjoycHggc29saWQgcmdiYSgyMywyMywyMywuMik7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDIzLDIzLDIzLC43KTtib3JkZXItcmFkaXVzOjUwJTthbmltYXRpb246c3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb246c3BpbiAxcyBsaW5lYXIgaW5maW5pdGV9LmxvYWRpbmc6YmVmb3Jle2NvbnRlbnQ6IiI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44KSFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MnB4O3RvcDoxcHg7d2lkdGg6Y2FsYygxMDAlIC0gNHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gMnB4KTtib3JkZXItcmFkaXVzOmluaGVyaXQ7ei1pbmRleDoxfS5sb2FkaW5nLmRhcms6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOCkhaW1wb3J0YW50fS5sb2FkaW5nLmRhcms6OmFmdGVye2JvcmRlcjoycHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMik7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43KX0ucGFnZS1sb2FkZXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmIWltcG9ydGFudDtvcGFjaXR5OjEhaW1wb3J0YW50O3RyYW5zaXRpb246YWxsIDBzIGVhc2UtaW4tb3V0IWltcG9ydGFudDstbW96LXRyYW5zaXRpb246YWxsIDBzIGVhc2UtaW4tb3V0IWltcG9ydGFudDstd2Via2l0LXRyYW5zaXRpb246YWxsIDBzIGVhc2UtaW4tb3V0IWltcG9ydGFudDstbXMtdHJhbnNpdGlvbjphbGwgMHMgZWFzZS1pbi1vdXQhaW1wb3J0YW50Oy1vLXRyYW5zaXRpb246YWxsIDBzIGVhc2UtaW4tb3V0IWltcG9ydGFudDt6LWluZGV4Ojk5OTk5fS5wYWdlLWxvYWRlcjo6YWZ0ZXJ7YmFja2dyb3VuZDowIDA7Y29udGVudDoiIiFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDpjYWxjKDUwJSAtIDI1cHgpIWltcG9ydGFudDt0b3A6Y2FsYyg1MCUgLSAyNXB4KSFpbXBvcnRhbnQ7d2lkdGg6NTBweCFpbXBvcnRhbnQ7aGVpZ2h0OjUwcHghaW1wb3J0YW50O29wYWNpdHk6MSFpbXBvcnRhbnQ7cmlnaHQ6aW5oZXJpdCFpbXBvcnRhbnQ7ei1pbmRleDo5O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjoycHggc29saWQgcmdiYSgyMywyMywyMywuMik7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDIzLDIzLDIzLC43KTtib3JkZXItcmFkaXVzOjUwJTthbmltYXRpb246c3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb246c3BpbiAxcyBsaW5lYXIgaW5maW5pdGV9LmdyaWQtbG9hZGluZ3tvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7b3BhY2l0eToxIWltcG9ydGFudDt0cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7LW1vei10cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7LW1zLXRyYW5zaXRpb246YWxsIDBzIGVhc2UtaW4tb3V0IWltcG9ydGFudDstby10cmFuc2l0aW9uOmFsbCAwcyBlYXNlLWluLW91dCFpbXBvcnRhbnQ7ei1pbmRleDo5OX0uZ3JpZC1sb2FkaW5nOjphZnRlcntiYWNrZ3JvdW5kOjAgMDtjb250ZW50OiIiIWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwcHghaW1wb3J0YW50O2xlZnQ6Y2FsYyg1MCUgLSAyNXB4KSFpbXBvcnRhbnQ7d2lkdGg6NTBweCFpbXBvcnRhbnQ7aGVpZ2h0OjUwcHghaW1wb3J0YW50O29wYWNpdHk6MSFpbXBvcnRhbnQ7cmlnaHQ6aW5oZXJpdCFpbXBvcnRhbnQ7ei1pbmRleDo5O3RleHQtYWxpZ246Y2VudGVyO2JvcmRlcjozcHggc29saWQgcmdiYSgyMywyMywyMywuMik7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDIzLDIzLDIzLC43KTtib3JkZXItcmFkaXVzOjUwJTthbmltYXRpb246c3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb246c3BpbiAxcyBsaW5lYXIgaW5maW5pdGV9LmdyaWQtbG9hZGluZzpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoycHg7dG9wOjFweDt3aWR0aDpjYWxjKDEwMCUgLSA0cHgpO2hlaWdodDpjYWxjKDEwMCUgLSAycHgpO2JvcmRlci1yYWRpdXM6aW5oZXJpdDt6LWluZGV4OjF9LmdyaWQtbG9hZGluZyAuZ3JpZC1pdGVte3Zpc2liaWxpdHk6aGlkZGVufS5ncmlkLWxvYWRpbmcgbGkuZ3JpZC1pdGVte292ZXJmbG93OmhpZGRlbjtvcGFjaXR5OjB9LnNob3ctZ3JpZCBbY2xhc3NePWNvbC1de2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO21hcmdpbi1ib3R0b206MTVweDtwYWRkaW5nOjEwcHggMDt0ZXh0LWFsaWduOmNlbnRlcn1AbWVkaWEgc2NyZWVuXDB7Lm1lbnUtbG9nby1jZW50ZXIgLm1lbnUtbG9nb3t0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS5pbWFnZS1tYXNre2JhY2tncm91bmQtaW1hZ2U6bm9uZSFpbXBvcnRhbnR9W2NsYXNzKj10ZXh0LWdyYWRpZW50LV17YmFja2dyb3VuZDppbmhlcml0Oy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6aW5oZXJpdH0udGV4dC1ncmFkaWVudC1tYWdlbnRhLW9yYW5nZXtjb2xvcjojZTQyNDY0fS50ZXh0LWdyYWRpZW50LW1hZ2VudGEtb3JhbmdlLTJ7Y29sb3I6I2VjNjA2Y30udGV4dC1ncmFkaWVudC1wdXJwbGUtbWFnZW50YXtjb2xvcjojNTAyOTcwfS50ZXh0LWdyYWRpZW50LWxpZ2h0LXB1cnBsZS1saWdodC1vcmFuZ2V7Y29sb3I6I2I3ODNmZn0udGV4dC1ncmFkaWVudC1za3ktYmx1ZS1waW5re2NvbG9yOiM1NTZmZmZ9LnRleHQtZ3JhZGllbnQtcGVhY29jay1ibHVlLWNyb21lLXllbGxvd3tjb2xvcjojMzZjMWUxfS50ZXh0LWdyYWRpZW50LXBlYWNvY2stYmx1ZS1jcm9tZS15ZWxsb3ctMntjb2xvcjojNWRjYWEzfS50ZXh0LWdyYWRpZW50LWZhc3QtYmx1ZS1wdXJwbGV7Y29sb3I6IzAwMzllM30udGV4dC1ncmFkaWVudC10YW4tZ2VyYWxkaW5le2NvbG9yOiNmYjdmODd9LnRleHQtZ3JhZGllbnQtdHVzc29jay1ncmVlbmlzaC1zbGF0ZXtjb2xvcjojYmY4YzRjfS50ZXh0LWdyYWRpZW50LWxpZ2h0LXB1cnBsZS1saWdodC1yZWR7Y29sb3I6I2JiODVmOX0udGV4dC1ncmFkaWVudC1saWdodC1icm93bmlzaC1vcmFuZ2UtYmxhY2t7Y29sb3I6I2U3OWU1N30udGV4dC1ncmFkaWVudC10dXJxdW9pc2UtZ3JlZW4teWVsbG93aXNoe2NvbG9yOiMzZWRmYjZ9LnRleHQtZ3JhZGllbnQtcmVkLXZpb2xldC1wdXJwbGV7Y29sb3I6I2I5M2M5MH0udGV4dC1ncmFkaWVudC1mdWVnby10dXJxdW9pc2V7Y29sb3I6IzBjZDZhMn0uYnRuLWxpbmsudGV4dC1ncmFkaWVudC1vcmFuZ2UtcGluaywudGV4dC1ncmFkaWVudC1vcmFuZ2UtcGluayxhLnRleHQtZ3JhZGllbnQtb3JhbmdlLXBpbmssYS50ZXh0LWdyYWRpZW50LW9yYW5nZS1waW5rLWhvdmVyOmhvdmVye2NvbG9yOiNmZjY1NTd9aW5wdXR7bGluZS1oZWlnaHQ6bm9ybWFsfS5zbWFsbC1pbnB1dHttaW4taGVpZ2h0OjQ0cHg7bGluZS1oZWlnaHQ6bm9ybWFsfS5tZWRpdW0taW5wdXQsLm1lZGl1bS1zZWxlY3Qgc2VsZWN0e21pbi1oZWlnaHQ6NTBweDtsaW5lLWhlaWdodDpub3JtYWx9LmxhcmdlLWlucHV0e21pbi1oZWlnaHQ6NTdweDtsaW5lLWhlaWdodDpub3JtYWx9Lm5ld3NsZXR0ZXItc3R5bGUtMDIgZm9ybXtsaW5lLWhlaWdodDpub3JtYWx9LmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZXtoZWlnaHQ6MTAwJX0uYmxvZy1jb21tZW50IGxpIC5idG4tcmVwbHl7Ym9yZGVyOjFweCBzb2xpZCAjOTM5MzkzO2xpbmUtaGVpZ2h0Om5vcm1hbH0ucHJpY2UtZmlsdGVyLWRldGFpbHMgLnByaWNlLWZpbHRlci1hbW91bnQgLnByaWNlLWFtb3VudHtsaW5lLWhlaWdodDpub3JtYWx9LmNvdXBvbi1jb2RlLXBhbmVsIGlucHV0e2xpbmUtaGVpZ2h0Om5vcm1hbH0uYmxvZy1wb3N0IC5ibG9nLXBvc3QtaW1hZ2UgaW1ne3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dDstbXMtdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluLW91dH0ucG9ydGZvbGlvLWJvcmRlcmVkIC5wb3J0Zm9saW8tYm94IC5wb3J0Zm9saW8taG92ZXJ7bGVmdDoyMHB4O3RvcDoyMHB4O3dpZHRoOmNhbGMoMTAwJSAtIDQwcHgpO2hlaWdodDpjYWxjKDEwMCUgLSA0MHB4KX0uYm94LXNoYWRvdy1kYXJrLWhvdmVyOmhvdmVyLC5ib3gtc2hhZG93LWRvdWJsZS1sYXJnZS1ob3Zlcjpob3ZlciwuYm94LXNoYWRvdy1leHRyYS1sYXJnZS1ob3Zlcjpob3ZlciwuYm94LXNoYWRvdy1sYXJnZS1ob3Zlcjpob3ZlciwuYm94LXNoYWRvdy1saWdodC1ob3Zlcjpob3ZlciwuYm94LXNoYWRvdy1tZWRpdW0taG92ZXI6aG92ZXIsLmJveC1zaGFkb3ctc21hbGwtaG92ZXI6aG92ZXIsLmJveC1zaGFkb3ctdmVyeS1saWdodC1ob3Zlcjpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpub25lOy1tb3otdHJhbnNmb3JtOm5vbmU7LW1zLXRyYW5zZm9ybTpub25lOy1vLXRyYW5zZm9ybTpub25lO3RyYW5zZm9ybTpub25lfS5pbnN0YWdyYW0tZm9sbG93LWFwaXt3aWR0aDoxMDAlfS5wcm9jZXNzLXN0ZXAtc3R5bGUtMDIgLnByb2Nlc3Mtc3RlcC1pdGVte3dpZHRoOjEwMCV9LmRyYXdpbmctYW5pbWF0aW9uLXdyYXBwZXIgLmRyYXdpbmctYW5pbWF0aW9ue3dpZHRoOjEwMCUhaW1wb3J0YW50O2hlaWdodDoxMDAlIWltcG9ydGFudH0uZHJhd2luZy1hbmltYXRpb24gY2lyY2xlLC5kcmF3aW5nLWFuaW1hdGlvbiBlbGxpcHNlLC5kcmF3aW5nLWFuaW1hdGlvbiBwYXRoLC5kcmF3aW5nLWFuaW1hdGlvbiBwb2x5Z29uLGRyYXdpbmctYW5pbWF0aW9uIHJlY3R7c3Ryb2tlLWRhc2hhcnJheTppbmhlcml0O3N0cm9rZS1kYXNob2Zmc2V0OmluaGVyaXQ7LXdlYmtpdC1hbmltYXRpb246ZHJhd2luZy1hbmltYXRpb24gMHMgbGluZWFyIGZvcndhcmRzO2FuaW1hdGlvbjpkcmF3aW5nLWFuaW1hdGlvbiAwcyBsaW5lYXIgZm9yd2FyZHN9LmRyYXdpbmctYW5pbWF0aW9uLXdyYXBwZXIgc3Zne3RyYW5zZm9ybTpzY2FsZSgzLjMpIHRyYW5zbGF0ZVgoMTAwcHgpIWltcG9ydGFudH0uc2hvcC1jYXRlZ29yeS1zdHlsZS0wMiAuc2hvcC1wcm9kdWN0LWltYWdlIGltZ3t3aWR0aDoxMDAlfS50YWItc3R5bGUtMDEgLm5hdi10YWJzPmxpLm5hdi1pdGVtPmEubmF2LWxpbms6aG92ZXIrLnRhYi1ib3JkZXJ7b3BhY2l0eToxO3dpZHRoOjEwMCU7dmlzaWJpbGl0eTp2aXNpYmxlfS5maXgtYmFja2dyb3VuZCwucGFyYWxsYXh7YmFja2dyb3VuZC1wb3NpdGlvbjp0b3AgY2VudGVyIWltcG9ydGFudDtiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6aW5oZXJpdCFpbXBvcnRhbnR9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzoxLjUpLG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246MTQ0ZHBpKSxvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOjEuNWRwcHgpey5zaG93LW5vdGlmeS1wb3B1cCAubWZwLWNvbnRhaW5lcnstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouMXM7LW1vei1hbmltYXRpb24tZHVyYXRpb246LjFzOy1vLWFuaW1hdGlvbi1kdXJhdGlvbjouMXM7YW5pbWF0aW9uLWR1cmF0aW9uOi4xc319QC13ZWJraXQta2V5ZnJhbWVzIGRvd24tYXJyb3d7MCV7b3BhY2l0eTowO3RvcDowfTE4JXtvcGFjaXR5Oi4yO3RvcDozcHh9MzYle29wYWNpdHk6LjQ7dG9wOjhweH01NCV7b3BhY2l0eTouNjt0b3A6MThweH03MiV7b3BhY2l0eTouODt0b3A6MThweH0xMDAle29wYWNpdHk6MTt0b3A6MThweH19QGtleWZyYW1lcyBkb3duLWFycm93ezAle29wYWNpdHk6MDt0b3A6MH0xOCV7b3BhY2l0eTouMjt0b3A6M3B4fTM2JXtvcGFjaXR5Oi40O3RvcDo4cHh9NTQle29wYWNpdHk6LjY7dG9wOjE4cHh9NzIle29wYWNpdHk6Ljg7dG9wOjE4cHh9MTAwJXtvcGFjaXR5OjE7dG9wOjE4cHh9fUAtd2Via2l0LWtleWZyYW1lcyBzb2NpYWwtaWNvbi1hbmltYXRpb257MCV7dG9wOjEzMHB4O2xlZnQ6LTEwMHB4fTgwJXt0b3A6MzBweDtsZWZ0Oi01MHB4fTEwMCV7dG9wOi0zMHB4O2xlZnQ6LTE1cHh9fUBrZXlmcmFtZXMgc29jaWFsLWljb24tYW5pbWF0aW9uezAle3RvcDoxMzBweDtsZWZ0Oi0xMDBweH04MCV7dG9wOjMwcHg7bGVmdDotNTBweH0xMDAle3RvcDotMzBweDtsZWZ0Oi0xNXB4fX1ALXdlYmtpdC1rZXlmcmFtZXMgYW5pLW1mcHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dmlzaWJpbGl0eTpoaWRkZW47b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGFuaS1tZnB7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MH0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dmlzaWJpbGl0eTp2aXNpYmxlO29wYWNpdHk6MX19QC13ZWJraXQta2V5ZnJhbWVzIGFuaS1tZnAtY2xvc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MH19QGtleWZyYW1lcyBhbmktbWZwLWNsb3NlezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dmlzaWJpbGl0eTp2aXNpYmxlO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBjb21pbmdzb29ucG9wdXB7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3Zpc2liaWxpdHk6dmlzaWJsZTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgY29taW5nc29vbnBvcHVwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSk7dmlzaWJpbGl0eTpoaWRkZW47b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxfX1ALXdlYmtpdC1rZXlmcmFtZXMgY29taW5nc29vbnBvcHVwY2xvc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgY29taW5nc29vbnBvcHVwY2xvc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMDAlKTt2aXNpYmlsaXR5OmhpZGRlbjtvcGFjaXR5OjB9fUAtd2Via2l0LWtleWZyYW1lcyBkcmF3aW5nLWFuaW1hdGlvbnt0b3tzdHJva2UtZGFzaG9mZnNldDowfX1Aa2V5ZnJhbWVzIGRyYXdpbmctYW5pbWF0aW9ue3Rve3N0cm9rZS1kYXNob2Zmc2V0OjB9fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW57MCV7b3BhY2l0eTowfTEwMCV7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGZhZGVJbnswJXtvcGFjaXR5OjB9MTAwJXtvcGFjaXR5OjF9fUAtd2Via2l0LWtleWZyYW1lcyBmcm9tVG9wezAle2xlZnQ6MDt0b3A6LTEwMCV9MTAwJXtsZWZ0OjA7dG9wOjB9fUBrZXlmcmFtZXMgZnJvbVRvcHswJXtsZWZ0OjA7dG9wOi0xMDAlfTEwMCV7bGVmdDowO3RvcDowfX1ALXdlYmtpdC1rZXlmcmFtZXMgdG9Ub3B7MCV7bGVmdDowO3RvcDowfTEwMCV7bGVmdDowO3RvcDotMTAwJX19QGtleWZyYW1lcyB0b1RvcHswJXtsZWZ0OjA7dG9wOjB9MTAwJXtsZWZ0OjA7dG9wOi0xMDAlfX1ALXdlYmtpdC1rZXlmcmFtZXMgZnJvbVJpZ2h0ezAle3RvcDowO2xlZnQ6MTAwJX0xMDAle3RvcDowO2xlZnQ6MH19QGtleWZyYW1lcyBmcm9tUmlnaHR7MCV7dG9wOjA7bGVmdDoxMDAlfTEwMCV7dG9wOjA7bGVmdDowfX1ALXdlYmtpdC1rZXlmcmFtZXMgdG9SaWdodHswJXt0b3A6MDtsZWZ0OjB9MTAwJXt0b3A6MDtsZWZ0OjEwMCV9fUBrZXlmcmFtZXMgdG9SaWdodHswJXt0b3A6MDtsZWZ0OjB9MTAwJXt0b3A6MDtsZWZ0OjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyBmcm9tQm90dG9tezAle2xlZnQ6MDt0b3A6MTAwJX0xMDAle2xlZnQ6MDt0b3A6MH19QGtleWZyYW1lcyBmcm9tQm90dG9tezAle2xlZnQ6MDt0b3A6MTAwJX0xMDAle2xlZnQ6MDt0b3A6MH19QC13ZWJraXQta2V5ZnJhbWVzIHRvQm90dG9tezAle2xlZnQ6MDt0b3A6MH0xMDAle2xlZnQ6MDt0b3A6MTAwJX19QGtleWZyYW1lcyB0b0JvdHRvbXswJXtsZWZ0OjA7dG9wOjB9MTAwJXtsZWZ0OjA7dG9wOjEwMCV9fUAtd2Via2l0LWtleWZyYW1lcyBmcm9tTGVmdHswJXt0b3A6MDtsZWZ0Oi0xMDAlfTEwMCV7dG9wOjA7bGVmdDowfX1Aa2V5ZnJhbWVzIGZyb21MZWZ0ezAle3RvcDowO2xlZnQ6LTEwMCV9MTAwJXt0b3A6MDtsZWZ0OjB9fUAtd2Via2l0LWtleWZyYW1lcyB0b0xlZnR7MCV7dG9wOjA7bGVmdDowfTEwMCV7dG9wOjA7bGVmdDotMTAwJX19QGtleWZyYW1lcyB0b0xlZnR7MCV7dG9wOjA7bGVmdDowfTEwMCV7dG9wOjA7bGVmdDotMTAwJX19QC13ZWJraXQta2V5ZnJhbWVzIHZpZGVvLWljb24tc29uYXJ7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKTt0cmFuc2Zvcm06c2NhbGUoLjEpfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSl9fUBrZXlmcmFtZXMgdmlkZW8taWNvbi1zb25hcnswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjEpO3RyYW5zZm9ybTpzY2FsZSguMSl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKTt0cmFuc2Zvcm06c2NhbGUoMS4xKX19QG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKXsuYm9yZGVyLWdyYWRpZW50LW1hZ2VudGEtb3Jhbmdle2JvcmRlci1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgdG9wLCNlNDI0NjQsI2VkM2M1ZiwjZjQ0ZjVjLCNmYTYyNTksI2ZmNzM1NykgMS8wIDAgMSAwO2JvcmRlci1pbWFnZS1zbGljZToxfS5ib3JkZXItZ3JhZGllbnQtcHVycGxlLW1hZ2VudGF7Ym9yZGVyLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsIzUwMjk3MCwjN2YyOTc3LCNhYzI3NzUsI2Q0MmQ2YiwjZjM0MjU5KSAxLzAgMCAxIDA7Ym9yZGVyLWltYWdlLXNsaWNlOjF9LmJvcmRlci1ncmFkaWVudC1saWdodC1wdXJwbGUtbGlnaHQtb3Jhbmdle2JvcmRlci1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgdG9wLCNiNzgzZmYsI2UzN2JlMCwjZmE3Y2MxLCNmZjg1YTYsI2ZmOTM5MykgMS8wIDAgMSAwO2JvcmRlci1pbWFnZS1zbGljZToxfS5ib3JkZXItZ3JhZGllbnQtc2t5LWJsdWUtcGlua3tib3JkZXItaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjNTU2ZmZmLCNiMjYzZTQsI2UwNWZjNCwjZjc2N2E2LCNmZjc5OGUpIDEvMCAwIDEgMDtib3JkZXItaW1hZ2Utc2xpY2U6MX0uYm9yZGVyLWdyYWRpZW50LXBlYWNvY2stYmx1ZS1jcm9tZS15ZWxsb3d7Ym9yZGVyLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCB0b3AsIzM2YzFlMSwjMjhjY2MwLCM3NGNmOGUsI2JhYzk2MiwjZmViOTViKSAxLzAgMCAxIDA7Ym9yZGVyLWltYWdlLXNsaWNlOjF9LmJvcmRlci1ncmFkaWVudC1mYXN0LWJsdWUtcHVycGxle2JvcmRlci1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgdG9wLCMwMDM5ZTMsIzQxMzJlMCwjNWUyOGRkLCM3NDFiZDksIzg2MDBkNCkgMS8wIDAgMSAwO2JvcmRlci1pbWFnZS1zbGljZToxfS5ib3JkZXItZ3JhZGllbnQtbGlnaHQtcHVycGxlLWxpZ2h0LXJlZHtib3JkZXItaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjYmI4NWY5LCNjODg3ZTUsI2RhOGJjYSwjZWI4ZmIwLCNmYjkzOTgpIDEvMCAwIDEgMDtib3JkZXItaW1hZ2Utc2xpY2U6MX0uYm9yZGVyLWdyYWRpZW50LWxpZ2h0LWJyb3duaXNoLW9yYW5nZS1ibGFja3tib3JkZXItaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0IHRvcCwjZTc5ZTU3LCM5ZDkwNDksIzYyNzk0YywjNDA1YzRjLCMzNTNkM2MpIDEvMCAwIDEgMDtib3JkZXItaW1hZ2Utc2xpY2U6MX0uYm9yZGVyLWdyYWRpZW50LXJlZC12aW9sZXQtcHVycGxle2JvcmRlci1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsI2I5M2Q5MCwjYTkyYjk1LCM5NTFiOWMsIzdhMTFhNCwjNTQxMmFkKSAxLzAgMCAxIDA7Ym9yZGVyLWltYWdlLXNsaWNlOjF9LmJ0bi5idG4tdHJhbnNwYXJlbnQtZ3JhZGllbnQtc2t5LWJsdWUtcGlua3tib3JkZXItY29sb3I6IzAwMH19QG1lZGlhIG5vdCBhbGwgYW5kIChtaW4tcmVzb2x1dGlvbjouMDAxZHBjbSl7LnRpbHQtYm94Om5vdCg6cm9vdDpyb290KXt6LWluZGV4Oi0xfS5pbnN0YWZlZWQtZ3JpZCBmaWd1cmUsLmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDEgW2NsYXNzKj0iIGJvcmRlci1yYWRpdXMtIl0sLmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDEgW2NsYXNzXj1ib3JkZXItcmFkaXVzLV0sLmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDcgW2NsYXNzKj0iIGJvcmRlci1yYWRpdXMtIl0sLmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDcgW2NsYXNzXj1ib3JkZXItcmFkaXVzLV0sLmludGVyYWN0aXZlLWJhbm5lcnMtc3R5bGUtMDdbY2xhc3MqPSIgYm9yZGVyLXJhZGl1cy0iXSwuaW50ZXJhY3RpdmUtYmFubmVycy1zdHlsZS0wOFtjbGFzcyo9IiBib3JkZXItcmFkaXVzLSJdLC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEwIFtjbGFzcyo9IiBib3JkZXItcmFkaXVzLSJdLC5pbnRlcmFjdGl2ZS1iYW5uZXJzLXN0eWxlLTEwIFtjbGFzc149Ym9yZGVyLXJhZGl1cy1dLC5wcm9kdWN0LWJveCAucHJvZHVjdC1pbWFnZVtjbGFzcyo9IiBib3JkZXItcmFkaXVzLSJdLC50ZWFtLXN0eWxlLTAxIFtjbGFzcyo9IiBib3JkZXItcmFkaXVzLSJdLC50ZWFtLXN0eWxlLTAxIFtjbGFzc149Ym9yZGVyLXJhZGl1cy1dLFtjbGFzcyo9IiBib3JkZXItcmFkaXVzLSJdIC5ibG9nLXBvc3QtaW1hZ2UsW2NsYXNzXj1ib3JkZXItcmFkaXVzLV0gLmJsb2ctcG9zdC1pbWFnZXstd2Via2l0LW1hc2staW1hZ2U6LXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQod2hpdGUsIzAwMCl9fS50aGVtZS1kZW1vc3tkaXNwbGF5Om5vbmU7d2lkdGg6NjU1cHg7aGVpZ2h0OjEwMCU7bWluLWhlaWdodDoxMDAlO3Bvc2l0aW9uOmZpeGVkO2JhY2tncm91bmQtY29sb3I6I2ZmZjtyaWdodDotNjU1cHg7dG9wOjA7ei1pbmRleDoxMDUwOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjVzIGN1YmljLWJlemllciguNzcsMCwuMTc1LDEpO3RyYW5zaXRpb246YWxsIC41cyBjdWJpYy1iZXppZXIoLjc3LDAsLjE3NSwxKX0uc2hvdy10aGVtZS1kZW1vcyAudGhlbWUtZGVtb3N7ZGlzcGxheTpibG9ja30udGhlbWUtZGVtb3Mgc2VjdGlvbntoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxMTtwYWRkaW5nOjA7d2lkdGg6NjU1cHh9LnRoZW1lLWRlbW9zIC5kZW1vcy13cmFwcGVye2hlaWdodDoxMDAlO292ZXJmbG93LXk6aGlkZGVuO3BhZGRpbmc6NDBweCAyNXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjt3aWR0aDoxMDAlfS50aGVtZS1kZW1vcy5hY3RpdmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO2JveC1zaGFkb3c6MCAwIDQ1cHggMCByZ2JhKDAsMCwwLC4yNSl9LnRoZW1lLWRlbW9zIC5ncmlke3BhZGRpbmc6MCAyMHB4fS50aGVtZS1kZW1vcyAuYWxsLWRlbW8sLnRoZW1lLWRlbW9zIC5idXktdGhlbWV7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTUwcHg7Ym90dG9tOjE5NXB4O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTdweCk7YmFja2dyb3VuZC1jb2xvcjojZmZmO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MTA7dHJhbnNpdGlvbjphbGwgLjI1cyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpIC40NXM7bWluLXdpZHRoOjE1MHB4fS5hbGwtZGVtb3tib3gtc2hhZG93OjAgMCAxNXB4IDAgcmdiYSgwLDAsMCwuMTUpfS50aGVtZS1kZW1vcyAuYnV5LXRoZW1le2JvdHRvbToxMjVweDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOiMyMzIzMjN9LnRoZW1lLWRlbW9zIC5hbGwtZGVtbyBhLC50aGVtZS1kZW1vcyAuYnV5LXRoZW1lIGF7Y29sb3I6IzIzMjMyMztmb250LXNpemU6MTFweDtwYWRkaW5nOjEycHggMTVweDtkaXNwbGF5OmJsb2NrO3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtd2VpZ2h0OjUwMH0udGhlbWUtZGVtb3MgLmFsbC1kZW1vIGE+aSwudGhlbWUtZGVtb3MgLmJ1eS10aGVtZSBhPml7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO2hlaWdodDoxMDAlO3dpZHRoOjU5cHg7bGluZS1oZWlnaHQ6NTVweDt0ZXh0LWFsaWduOmNlbnRlcjtvcGFjaXR5OjA7Zm9udC1zaXplOjI0cHg7dHJhbnNpdGlvbi1kZWxheTouM3N9LnRoZW1lLWRlbW9zIC5hbGwtZGVtbyAudGhlbWUtd3JhcHBlciwudGhlbWUtZGVtb3MgLmJ1eS10aGVtZSAudGhlbWUtd3JhcHBlcntwYWRkaW5nOjAgOXB4O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO29wYWNpdHk6MTt0cmFuc2l0aW9uLWRlbGF5Oi4zc30udGhlbWUtZGVtb3MgLmFsbC1kZW1vIC50aGVtZS13cmFwcGVyIHNwYW4sLnRoZW1lLWRlbW9zIC5idXktdGhlbWUgLnRoZW1lLXdyYXBwZXIgc3Bhbntmb250LXNpemU6MTVweDtmb250LXdlaWdodDo2MDB9LnRoZW1lLWRlbW9zIC5idXktdGhlbWUgLnRoZW1lLXdyYXBwZXIgc3BhbnttYXJnaW4tcmlnaHQ6MH0udGhlbWUtZGVtb3MgLmFsbC1kZW1vIC50aGVtZS13cmFwcGVyIGksLnRoZW1lLWRlbW9zIC5idXktdGhlbWUgLnRoZW1lLXdyYXBwZXIgaXttYXJnaW4tcmlnaHQ6MTBweDtmb250LXNpemU6MjFweH0udGhlbWUtZGVtb3MgLmFsbC1kZW1vIC50aGVtZS13cmFwcGVyPmRpdiwudGhlbWUtZGVtb3MgLmJ1eS10aGVtZSAudGhlbWUtd3JhcHBlcj5kaXZ7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjE1cHh9LnRoZW1lLWRlbW9zIC5idXktdGhlbWUgLnRoZW1lLXdyYXBwZXI+ZGl2e2NvbG9yOiNmZmY7Zm9udC1zaXplOjE0cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xpbmUtaGVpZ2h0OjIzcHh9LnRoZW1lLWRlbW9zIC5hbGwtZGVtbyAudGhlbWUtd3JhcHBlcj5kaXZ7Y29sb3I6IzIzMjMyMztmb250LXNpemU6MTRweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bGluZS1oZWlnaHQ6MjNweH0udGhlbWUtZGVtb3MuYWN0aXZlIC5hbGwtZGVtbywudGhlbWUtZGVtb3MuYWN0aXZlIC5idXktdGhlbWV7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O3RyYW5zaXRpb24tZHVyYXRpb246LjJzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouMnM7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4yczstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4yczstd2Via2l0LXRyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpO3RyYW5zaXRpb246YWxsIC4ycyBjdWJpYy1iZXppZXIoLjIzLDEsLjMyLDEpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTA3cHgpIHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtN3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDdweCkgdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC03cHgpO21pbi13aWR0aDo1MHB4O2xlZnQ6LTE2M3B4fS50aGVtZS1kZW1vcy5hY3RpdmUgLmFsbC1kZW1vIGE+aSwudGhlbWUtZGVtb3MuYWN0aXZlIC5idXktdGhlbWUgYT5pe29wYWNpdHk6MTt0cmFuc2l0aW9uLWRlbGF5Oi4zc30udGhlbWUtZGVtb3MuYWN0aXZlIC5idXktdGhlbWUgYT5pe2NvbG9yOiNmZmZ9LnRoZW1lLWRlbW9zLmFjdGl2ZSAuYWxsLWRlbW8gLnRoZW1lLXdyYXBwZXIsLnRoZW1lLWRlbW9zLmFjdGl2ZSAuYnV5LXRoZW1lIC50aGVtZS13cmFwcGVye29wYWNpdHk6MDt0cmFuc2l0aW9uLWRlbGF5OjBzfS50aGVtZS1kZW1vcyAubUN1c3RvbVNjcm9sbEJveHtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3dpZHRoOjEwMCV9LnRoZW1lLWRlbW9zIC5tQ3VzdG9tU2Nyb2xsQm94e2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LnRoZW1lLWRlbW9zIC5tQ3VzdG9tU2Nyb2xsQm94IC5tQ1NCX2NvbnRhaW5lci5tQ1NfeV9oaWRkZW4ubUNTX25vX3Njcm9sbGJhcl95ey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyfS50aGVtZS1kZW1vcyAubUN1c3RvbVNjcm9sbEJveCAubUNTQl9jb250YWluZXJ7d2lkdGg6MTAwJTstbXMtZmxleC1pdGVtLWFsaWduOnN0YXJ0O2FsaWduLXNlbGY6ZmxleC1zdGFydDttYXJnaW46MDtwYWRkaW5nLXJpZ2h0OjE1cHghaW1wb3J0YW50fS50aGVtZS1kZW1vcyAuY2xlYXJmaXh7Y2xlYXI6Ym90aH0uc2hvdy1tZW51IC50aGVtZS1kZW1vcywuc2hvdy1zZWFyY2gtcG9wdXAgLnRoZW1lLWRlbW9ze3otaW5kZXg6MX0uZ2Rwci13cmFwcGVye3RvcDowIWltcG9ydGFudDtib3R0b206MDtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6OTk5OTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjgpfS5nZHByLWNvbnRhaW5lcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDt3aWR0aDoxMDAlO3BhZGRpbmc6MjBweCAyMHB4fS5nZHByLWNvbnRhaW5lciAuZ2Rwci1jb250ZW50e2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDoyMHB4fS5nZHByLWNvbnRhaW5lciAuYnRue2Rpc3BsYXk6aW5saW5lLWJsb2NrfQ=="}},"time_used":115,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":114,"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":"digitaltradeinvest.org","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/33074d3ff5d0cd2d.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.485Z","timestamp":1785129949485,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/33074d3ff5d0cd2d.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 5015138\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"33074d3ff5d0cd2d.js\"\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nlast-modified: Fri, 29 May 2026 10:19:15 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/33074d3ff5d0cd2d.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::4kx7s-1780114811396-bbddbacd8b5d\r\nx-xss-protection: 1; mode=block\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=s4GTMo%2BmOoSzZE0C81m5AkPbxkyux84V%2FdzOxgmG58GKk6vKMw%2FEl0RhxkRraF6nFUVQB2UCweE97eY3u%2BMVnMiPFSvZTXPH00%2BbgWudKmI2qtYFppjEM3hIMFhq\"}]}\r\ncf-cache-status: HIT\r\ncontent-encoding: zstd\r\netag: W/\"992603cebc96287b9bf186c47928c4d2\"\r\ncf-ray: a21939c84d28a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":282,"size_decoded":2361,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with no line terminators","md5":"992603cebc96287b9bf186c47928c4d2","sha1":"8a86c102cf1671f6d0cf3b6b5598fff510a4b79d","sha256":"93abe3bbe2a336a05186632225cfa198e5969ab56080e1163da35e41ae9facaf","sha512":"06cc3005d9c8ffe1f27e81eac61fddab10c3e07cdca8c183315799b19b177a9f9dd2043bd1c9c92364578b78d69640c31014db6cca25a74972244784f2de74a2","ssdeep":"","tlshash":"e4d02b702250fcd8408aa4cc8836424bf529247262fe3495d7ae8cb1a174f0c51e1955","first_seen":"2026-02-04T14:24:19.894391Z","last_seen":"2026-08-15T07:58:28.181139Z","times_seen":3072,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDkxOTQ3LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ3YXJuT25jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49ZT0+e319XSk7"}},"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":"coinlib.io/api/v1/widget?top=50\u0026sparkline=0\u0026pref_coin_id=1505","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:49.907Z","timestamp":1785129949907,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /api/v1/widget?top=50\u0026sparkline=0\u0026pref_coin_id=1505 HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=\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 200 \r\nage: 105\r\ncache-control: public, max-age=120, s-maxage=300, stale-while-revalidate=600\r\ncdn-cache-control: public, s-maxage=60, stale-while-revalidate=300\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/json\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"TtWw0ULiG7GiQuTrd0ZXjMvirbg=\"\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, accept-encoding\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /api/v1/widget\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::iad1::wpm89-1785129949917-19f692912f77\r\nx-xss-protection: 1; mode=block\r\ncf-cache-status: DYNAMIC\r\npriority: u=4,i=?0\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=ShYjgybo2wLoPhWIiaRhY9i%2Ft5kzhrxL6fGvQjtW%2FF2vSOYb17ZEQ60uddccjPerOJee7uCevc8ps0f9tM1Wf5s4tSiS8FKIlBoXoEIiv1qMtpO%2BUrofIzsWJ9rk\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a21939cafd52a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.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":"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":22265,"size_decoded":7518,"mime_type":"application/json","magic":"JSON text data","md5":"521fb5a68fe6aca138d09ab47b4ce5b5","sha1":"4ed5b0d142e21bb1a242e4eb7746578ccbe2adb8","sha256":"eb335bed2e5fc9705fd7aad7c13b9270deeb04665a8cd97c48949686c313a6d3","sha512":"da3ec641deb829e6b4c27ac76a6037bff14f4e1d7fd220d5126849656f477cc3188188f30350b1ec80955d54db121bc66a5d94ed7a2e115bbd9157e88666254e","ssdeep":"192:/LGFPEOLR5o3aUdBHFcxM7OCSXtvd70vzuIRf71Hj3T1M:CFcOLR5oVdBHFWMiCSXtizZfBDJM","tlshash":"ada2108709305cefc67052b879977b2c582e66ca88ee8946c1ddcead04686f7131bf4d","first_seen":"2026-07-27T05:26:38.808767Z","last_seen":"2026-07-27T05:27:58.883131Z","times_seen":6,"resource_available":false,"data":"eyJkYXRhIjpbeyJpZCI6MSwic2x1ZyI6ImJpdGNvaW4iLCJzeW1ib2wiOiJCVEMiLCJuYW1lIjoiQml0Y29pbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzEucG5nIiwicHJpY2VfdXNkIjo2NTMxNS40OTM3MTgwODU0NiwibWFya2V0X2NhcCI6MTMxMDM0NjU2NzgxOS45NjgsInZvbHVtZV8yNGgiOjE2MTUxNzExOTI2Ljg3NzA3LCJyYW5rIjoxLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMzY2Mzc4MywicGVyY2VudF9jaGFuZ2VfMjRoIjoxLjM1MzMxNjgsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjYwNDIzMDYzLCJjaXJjdWxhdGluZ19zdXBwbHkiOjIwMDYxODAzLCJ0b3RhbF9zdXBwbHkiOjIwMDYxODAzLCJtYXhfc3VwcGx5IjoyMTAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxMDI3LCJzbHVnIjoiZXRoZXJldW0iLCJzeW1ib2wiOiJFVEgiLCJuYW1lIjoiRXRoZXJldW0iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xMDI3LnBuZyIsInByaWNlX3VzZCI6MTk1My45MTE3OTIyMDE1MjgyLCJtYXJrZXRfY2FwIjoyMzU4MDMyMjUzMDcuMzQyMywidm9sdW1lXzI0aCI6ODE1NjIyNzgwMS40Mjc3LCJyYW5rIjoyLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDgwMDk1NywicGVyY2VudF9jaGFuZ2VfMjRoIjozLjY4ODA1MTU1LCJwZXJjZW50X2NoYW5nZV83ZCI6NC45NTgzOTIzNiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMjA2ODI2MzUuODUzMTAzNzEsInRvdGFsX3N1cHBseSI6MTIwNjgyNjM1Ljg1MzEwMzcxLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjgyNSwic2x1ZyI6InRldGhlciIsInN5bWJvbCI6IlVTRFQiLCJuYW1lIjoiVGV0aGVyIFVTRHQiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC84MjUucG5nIiwicHJpY2VfdXNkIjowLjk5OTE4NDM4MDQ2NTEwMjgsIm1hcmtldF9jYXAiOjE4Mzk3NjU0NDYxNS4wMTkxLCJ2b2x1bWVfMjRoIjo0MDE5OTEzNDg3OS42OTc4NCwicmFuayI6MywicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDEwMDgwMzMsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4wMTc4NzQzNCwicGVyY2VudF9jaGFuZ2VfN2QiOjAuMDA1ODU1MjgsImNpcmN1bGF0aW5nX3N1cHBseSI6MTg0MTI2NzIxOTY2LjM1MTQ3LCJ0b3RhbF9zdXBwbHkiOjE4OTEwNjcyNDAxOC42Mzk2LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjE4MzksInNsdWciOiJibmIiLCJzeW1ib2wiOiJCTkIiLCJuYW1lIjoiQk5CIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTgzOS5wbmciLCJwcmljZV91c2QiOjU3My43MTM4MTI1NTU5MDc3LCJtYXJrZXRfY2FwIjo3NjM5ODk3MTA2NC43OTI3Miwidm9sdW1lXzI0aCI6ODIwODkzMDgzLjIwMzI2MDcsInJhbmsiOjQsInBlcmNlbnRfY2hhbmdlXzFoIjowLjA2Nzc5Mjg3LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuNTA1MzkxODUsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjQxNTc4MjcsImNpcmN1bGF0aW5nX3N1cHBseSI6MTMzMTY1NjQ3LjA0LCJ0b3RhbF9zdXBwbHkiOjEzMzE2NTY0Ny4wNCwibWF4X3N1cHBseSI6MTMzMTY1NjQ3LjgxLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM0MDgsInNsdWciOiJ1c2QtY29pbiIsInN5bWJvbCI6IlVTREMiLCJuYW1lIjoiVVNEQyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM0MDgucG5nIiwicHJpY2VfdXNkIjoxLjAwMDEzOTk0NDk2MzY1OTIsIm1hcmtldF9jYXAiOjcyNTQyMzg3MDc1Ljk5OTYzLCJ2b2x1bWVfMjRoIjo2ODg2Njk4NDE1LjgzMTgxMSwicmFuayI6NSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDE4Njc3NzEsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4wMjk3NTAxMywicGVyY2VudF9jaGFuZ2VfN2QiOjAuMDI3NjY3NzYsImNpcmN1bGF0aW5nX3N1cHBseSI6NzI1MzIyMzY1NTQuNzkwODYsInRvdGFsX3N1cHBseSI6NzI1MzIyMzY1NTQuNzkwODYsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NTIsInNsdWciOiJ4cnAiLCJzeW1ib2wiOiJYUlAiLCJuYW1lIjoiWFJQIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNTIucG5nIiwicHJpY2VfdXNkIjoxLjEwNjY2MjU1MjAwNTE1NCwibWFya2V0X2NhcCI6NjkyMDMyMzAzMjYuOTUyNjIsInZvbHVtZV8yNGgiOjY4MjU0NjY4OS4yMDYwNjc0LCJyYW5rIjo2LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wNjMyMzIzLCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuNTc3MDk3MywicGVyY2VudF9jaGFuZ2VfN2QiOjEuNTY5MzQwMjYsImNpcmN1bGF0aW5nX3N1cHBseSI6NjI1MzMyNzE5NTUsInRvdGFsX3N1cHBseSI6OTk5ODU2MzU3MDcsIm1heF9zdXBwbHkiOjEwMDAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo1NDI2LCJzbHVnIjoic29sYW5hIiwic3ltYm9sIjoiU09MIiwibmFtZSI6IlNvbGFuYSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzU0MjYucG5nIiwicHJpY2VfdXNkIjo3Ni4zNDM4MzY0NTI2MzUzLCJtYXJrZXRfY2FwIjo0NDUxNTcxODY2My42MjA5Niwidm9sdW1lXzI0aCI6MTIwMDk5MTk4OC4yMzc0NjY2LCJyYW5rIjo3LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDE4MjQzNTUsInBlcmNlbnRfY2hhbmdlXzI0aCI6MS43MDcyOTcyMiwicGVyY2VudF9jaGFuZ2VfN2QiOjAuMzUwNjE5MDMsImNpcmN1bGF0aW5nX3N1cHBseSI6NTgzMDk1MTIyLjQzNjQ5MjcsInRvdGFsX3N1cHBseSI6NjMxMTIzMDk0LjQ0MjYwNzQsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTk1OCwic2x1ZyI6InRyb24iLCJzeW1ib2wiOiJUUlgiLCJuYW1lIjoiVFJPTiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzE5NTgucG5nIiwicHJpY2VfdXNkIjowLjMzMTM1MjkwNTEwMTgxMTg3LCJtYXJrZXRfY2FwIjozMTQ0MDEyOTE3MS4wMTQ0NTQsInZvbHVtZV8yNGgiOjMwODc5MzY0NC4zMTMyNDQ0LCJyYW5rIjo4LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMjI1MjE3OSwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjA4ODQwMjYyLCJwZXJjZW50X2NoYW5nZV83ZCI6MS41ODE3ODQwOCwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo5NDg4NDEyMTA4OS40MjkxOCwidG90YWxfc3VwcGx5Ijo5NDg4NDEwOTc0OC40MDM4OCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozMjE5Niwic2x1ZyI6Imh5cGVybGlxdWlkIiwic3ltYm9sIjoiSFlQRSIsIm5hbWUiOiJIeXBlcmxpcXVpZCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzMyMTk2LnBuZyIsInByaWNlX3VzZCI6NjAuMzg1MTY4OTEwOTUwMjksIm1hcmtldF9jYXAiOjE1MjU4NTI1MDU4LjkxMTAzNCwidm9sdW1lXzI0aCI6MjA5NjY3NTM1LjU1OTA0ODIsInJhbmsiOjksInBlcmNlbnRfY2hhbmdlXzFoIjowLjc2NzAyNzg5LCJwZXJjZW50X2NoYW5nZV8yNGgiOjIuOTgxNzQzMjIsInBlcmNlbnRfY2hhbmdlXzdkIjowLjM4NTg2NDI2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjI1MjY4NjYzMy43MjMxMzY2MywidG90YWxfc3VwcGx5Ijo5NTMwNDY1NDMuMDE4MDcyMSwibWF4X3N1cHBseSI6OTUzMDQ2NTY5Ljg1MzAwMzcsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NzQsInNsdWciOiJkb2dlY29pbiIsInN5bWJvbCI6IkRPR0UiLCJuYW1lIjoiRG9nZWNvaW4iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC83NC5wbmciLCJwcmljZV91c2QiOjAuMDcyODY4NDExNjMyNzM1NzksIm1hcmtldF9jYXAiOjEyNDU2NjYyODIzLjgzODMyNywidm9sdW1lXzI0aCI6NTYxODM2MjYyLjkxNzg4NzEsInJhbmsiOjEwLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4xMzQzNDMwMiwicGVyY2VudF9jaGFuZ2VfMjRoIjotMC44MDQ2OTYxNSwicGVyY2VudF9jaGFuZ2VfN2QiOjEuNDI3MTU1NDcsImNpcmN1bGF0aW5nX3N1cHBseSI6MTcwOTQ3MzYzMTI2LjU3OTEzLCJ0b3RhbF9zdXBwbHkiOjE3MDk0NzM2MzEyNi41NzkxMywibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozOTU3LCJzbHVnIjoidW51cy1zZWQtbGVvIiwic3ltYm9sIjoiTEVPIiwibmFtZSI6IlVOVVMgU0VEIExFTyIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM5NTcucG5nIiwicHJpY2VfdXNkIjo5LjcyMTUxMDMxOTYyOTMxLCJtYXJrZXRfY2FwIjo4OTQ0ODM5MzI4LjcwNzc0LCJ2b2x1bWVfMjRoIjoxOTgyNjIuMjA3ODc0OTQsInJhbmsiOjExLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMTQ1ODg1NSwicGVyY2VudF9jaGFuZ2VfMjRoIjotMC4zNTQ3NjExMSwicGVyY2VudF9jaGFuZ2VfN2QiOjAuMDIyOTQxMzUsImNpcmN1bGF0aW5nX3N1cHBseSI6OTIwMTA3OTkwLjksInRvdGFsX3N1cHBseSI6OTg1MjM5NTA0LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjE0MzcsInNsdWciOiJ6Y2FzaCIsInN5bWJvbCI6IlpFQyIsIm5hbWUiOiJaY2FzaCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzE0MzcucG5nIiwicHJpY2VfdXNkIjo1MDMuODU4NjYwMDYwMDYzOCwibWFya2V0X2NhcCI6ODQ2MDM1MDg2Ni42NDI1OTIsInZvbHVtZV8yNGgiOjMzMzAwMzIxOS4yNDQ5ODkxNiwicmFuayI6MTIsInBlcmNlbnRfY2hhbmdlXzFoIjowLjIxODY5ODMyLCJwZXJjZW50X2NoYW5nZV8yNGgiOjMuMDc4NDY3MTMsInBlcmNlbnRfY2hhbmdlXzdkIjotNC45ODU4MTQzNiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxNjc5MTExOS4yOTA1NDQ4LCJ0b3RhbF9zdXBwbHkiOjE2NzkxMTE5LjI5MDU0NDgsIm1heF9zdXBwbHkiOjIxMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjMyOCwic2x1ZyI6Im1vbmVybyIsInN5bWJvbCI6IlhNUiIsIm5hbWUiOiJNb25lcm8iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zMjgucG5nIiwicHJpY2VfdXNkIjozNTEuNjI4NDY0MDI5ODgyOCwibWFya2V0X2NhcCI6NjYwNDczODYwOS4zMjUyNTUsInZvbHVtZV8yNGgiOjczMDY2NjU4LjI4NjU5NTg3LCJyYW5rIjoxMywicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDE5MTU1MzEsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTMuMjAwMjk2MjEsInBlcmNlbnRfY2hhbmdlXzdkIjo1LjY0MTQ4OTAyLCJjaXJjdWxhdGluZ19zdXBwbHkiOjE4NzgzMjg3LjcxNjkwMDk4LCJ0b3RhbF9zdXBwbHkiOjE4NzgzMjg3LjcxNjkwMDk4LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjE5NzUsInNsdWciOiJjaGFpbmxpbmsiLCJzeW1ib2wiOiJMSU5LIiwibmFtZSI6IkNoYWlubGluayIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzE5NzUucG5nIiwicHJpY2VfdXNkIjo4Ljc3MDE0NjcwNTc5ODU4OCwibWFya2V0X2NhcCI6NjU2MDk0NjQ5MS4yMjk4MTcsInZvbHVtZV8yNGgiOjIzNDMzODk3OS42NDgxNzYxLCJyYW5rIjoxNCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjA3NjQzMTE4LCJwZXJjZW50X2NoYW5nZV8yNGgiOjMuODE1NjYwNzgsInBlcmNlbnRfY2hhbmdlXzdkIjo0LjgxODg3NTM1LCJjaXJjdWxhdGluZ19zdXBwbHkiOjc0ODA5OTk3MC40MjQ4ODQsInRvdGFsX3N1cHBseSI6MTAwMDAwMDAwMCwibWF4X3N1cHBseSI6MTAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo1MTIsInNsdWciOiJzdGVsbGFyIiwic3ltYm9sIjoiWExNIiwibmFtZSI6IlN0ZWxsYXIiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC81MTIucG5nIiwicHJpY2VfdXNkIjowLjE4MTY1MjExOTg2NjE3MDU1LCJtYXJrZXRfY2FwIjo2MjExNzE2ODMzLjc4MTk4NCwidm9sdW1lXzI0aCI6ODc5NTQ0NTMuNzMyNjM1OTcsInJhbmsiOjE1LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMDYxNTkyNCwicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjI2NTkzODgzLCJwZXJjZW50X2NoYW5nZV83ZCI6LTIuNDU4NjA5MDIsImNpcmN1bGF0aW5nX3N1cHBseSI6MzQxOTU2NzQ4ODguNjczODcsInRvdGFsX3N1cHBseSI6NTAwMDE3ODY4MzkuOTEyNDc2LCJtYXhfc3VwcGx5Ijo1MDAwMTgwNjgxMiwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoyMDEwLCJzbHVnIjoiY2FyZGFubyIsInN5bWJvbCI6IkFEQSIsIm5hbWUiOiJDYXJkYW5vIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMjAxMC5wbmciLCJwcmljZV91c2QiOjAuMTY1MjE1NDA3MTQxMDkyNzMsIm1hcmtldF9jYXAiOjYwMjg2OTM1ODcuODg2NDU3LCJ2b2x1bWVfMjRoIjoxNDE0OTI3MzQuNzkwNjkwODQsInJhbmsiOjE2LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMjU2MDIyNDksInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuMjk3OTIxNzIsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjQyNzI0NjQzLCJjaXJjdWxhdGluZ19zdXBwbHkiOjM2NDg5ODk5NDExLjk3MTg5LCJ0b3RhbF9zdXBwbHkiOjQ0OTkzMjAyNjUyLjM4NjU2NiwibWF4X3N1cHBseSI6NDUwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzcyNjMsInNsdWciOiJjYW50b24tbmV0d29yayIsInN5bWJvbCI6IkNDIiwibmFtZSI6IkNhbnRvbiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM3MjYzLnBuZyIsInByaWNlX3VzZCI6MC4xMjM3NzQyOTcxMDkzMTU0LCJtYXJrZXRfY2FwIjo0ODQ3NDYzODU5LjYzODQwOCwidm9sdW1lXzI0aCI6MTA1OTI0NjAuMDQwNDAyMywicmFuayI6MTcsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4yODExOTQ5OCwicGVyY2VudF9jaGFuZ2VfMjRoIjoxLjg5NDI2NjU1LCJwZXJjZW50X2NoYW5nZV83ZCI6LTIuMzMzMjE2OTUsImNpcmN1bGF0aW5nX3N1cHBseSI6MzkxNjM3MzU3MDkuNjYxOTksInRvdGFsX3N1cHBseSI6MzkxNjM3MzU3MDkuNjYxOTksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NDk0Mywic2x1ZyI6Im11bHRpLWNvbGxhdGVyYWwtZGFpIiwic3ltYm9sIjoiREFJIiwibmFtZSI6IkRhaSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzQ5NDMucG5nIiwicHJpY2VfdXNkIjowLjk5OTc5NDQ5MDM3MDUzNDUsIm1hcmtldF9jYXAiOjQ2NTIxNTI2MjMuNTk1NjU5LCJ2b2x1bWVfMjRoIjoyMzcwMzg2NC4yMjAxMjQwNSwicmFuayI6MTgsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wMDU0MjcyOCwicGVyY2VudF9jaGFuZ2VfMjRoIjotMC4wMTEzMTIxMiwicGVyY2VudF9jaGFuZ2VfN2QiOjAuMDAyNzM3NzYsImNpcmN1bGF0aW5nX3N1cHBseSI6NDY1MzEwODg4Mi4yNzc5MTksInRvdGFsX3N1cHBseSI6NDY1MzEwODg4Mi4yNzc5MTksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTgzMSwic2x1ZyI6ImJpdGNvaW4tY2FzaCIsInN5bWJvbCI6IkJDSCIsIm5hbWUiOiJCaXRjb2luIENhc2giLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xODMxLnBuZyIsInByaWNlX3VzZCI6MjE3LjE5NTEwMDU0MTk4OTU4LCJtYXJrZXRfY2FwIjo0MzU4NDE3NDMwLjkwMjg4OCwidm9sdW1lXzI0aCI6ODUxMDQ3NDEuMDY5NDYyMjEsInJhbmsiOjE5LCJwZXJjZW50X2NoYW5nZV8xaCI6MC41MzAxNTQyMiwicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjkzMjY3MTU1LCJwZXJjZW50X2NoYW5nZV83ZCI6My4wODQ5NTA3NywiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMDA2NjgzMS4yNSwidG90YWxfc3VwcGx5IjoyMDA2NjgzMS4yNSwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MTE0MTksInNsdWciOiJncmFtIiwic3ltYm9sIjoiR1JBTSIsIm5hbWUiOiJHcmFtIChwcmV2LiBUb25jb2luKSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzExNDE5LnBuZyIsInByaWNlX3VzZCI6MS41MTUzNDAyOTUxMjk4NzE4LCJtYXJrZXRfY2FwIjo0MTQ0MTkzODI0LjkxNjM4Nywidm9sdW1lXzI0aCI6MzYxNTcxNzEuNDU0Mjk1NzQsInJhbmsiOjIwLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4xODk3ODIzMiwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjEwMDY4NTkxLCJwZXJjZW50X2NoYW5nZV83ZCI6NC45NzQ1ODM5MiwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyNzM0ODI3MTc5LjIzODQ0OTYsInRvdGFsX3N1cHBseSI6NTIyMTE4ODUzOC4zNTA0NTcsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzYxNDgsInNsdWciOiJ1c2QxIiwic3ltYm9sIjoiVVNEMSIsIm5hbWUiOiJXb3JsZCBMaWJlcnR5IEZpbmFuY2lhbCBVU0QiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zNjE0OC5wbmciLCJwcmljZV91c2QiOjAuOTk4ODc2MTMxNzI3MTY0LCJtYXJrZXRfY2FwIjo0MTAwNTkzNDIwLjQ4NjIxNSwidm9sdW1lXzI0aCI6NTM0MjE1Nzg5LjE3Mzc0ODEsInJhbmsiOjIxLCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDA0NDEzMDIsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4wMTU1NjM0NiwicGVyY2VudF9jaGFuZ2VfN2QiOi0wLjAyMTc1ODc0LCJjaXJjdWxhdGluZ19zdXBwbHkiOjQxMDUyMDcxMzIuNTM1ODkyNSwidG90YWxfc3VwcGx5Ijo0MTA1MjA3MTMyLjUzNTg5MjUsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6Mjk0NzAsInNsdWciOiJldGhlbmEtdXNkZSIsInN5bWJvbCI6IlVTREUiLCJuYW1lIjoiRXRoZW5hIFVTRGUiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yOTQ3MC5wbmciLCJwcmljZV91c2QiOjAuOTk5OTI3OTM4NjkxMTU0OCwibWFya2V0X2NhcCI6Mzk3Njk2MzI3MS43NjcxOTQ3LCJ2b2x1bWVfMjRoIjozMjg1MDQ2Mi4zNzMxMTkyMiwicmFuayI6MjIsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wMDU2OTg2MywicGVyY2VudF9jaGFuZ2VfMjRoIjowLjAwMzk5ODk5LCJwZXJjZW50X2NoYW5nZV83ZCI6MC4wMTU4OTU3MiwiY2lyY3VsYXRpbmdfc3VwcGx5IjozOTc3MjQ5ODc3LjU5ODk3OSwidG90YWxfc3VwcGx5IjozOTc3MjQ5ODc3LjU5ODk3OSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoyLCJzbHVnIjoibGl0ZWNvaW4iLCJzeW1ib2wiOiJMVEMiLCJuYW1lIjoiTGl0ZWNvaW4iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yLnBuZyIsInByaWNlX3VzZCI6NDcuNTg0ODUwNjQzMDc3MDUsIm1hcmtldF9jYXAiOjM2ODQ1OTQ4MDUuNDc4NjU5LCJ2b2x1bWVfMjRoIjoyMzQ3OTkyMTkuMzMyNjQwNzcsInJhbmsiOjIzLCJwZXJjZW50X2NoYW5nZV8xaCI6MC41MTkyMjI2NiwicGVyY2VudF9jaGFuZ2VfMjRoIjoxLjg2NDgxOTE5LCJwZXJjZW50X2NoYW5nZV83ZCI6MS4yOTc2Nzc3NSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo3NzQzMjA5Ny43MzAzNDYsInRvdGFsX3N1cHBseSI6ODQwMDAwMDAsIm1heF9zdXBwbHkiOjg0MDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjMzNzkzLCJzbHVnIjoiZ2xvYmFsLWRvbGxhci11c2RnIiwic3ltYm9sIjoiVVNERyIsIm5hbWUiOiJHbG9iYWwgRG9sbGFyIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzM3OTMucG5nIiwicHJpY2VfdXNkIjoxLjAwMDAyMTMzOTk5MTc1ODYsIm1hcmtldF9jYXAiOjMyNzY3ODczMDkuODg2ODQ2LCJ2b2x1bWVfMjRoIjoxMjk3MjQ5MjguODIxMzE5NjUsInJhbmsiOjI0LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDA2NjAwOCwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjAxMTc2NjY2LCJwZXJjZW50X2NoYW5nZV83ZCI6MC4wMDkzNDU4OCwiY2lyY3VsYXRpbmdfc3VwcGx5IjozMjc2NzE3Mzg0Ljc2NDg2LCJ0b3RhbF9zdXBwbHkiOjMyNzY3MTczODQuNzY0ODYsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NDY0Miwic2x1ZyI6ImhlZGVyYSIsInN5bWJvbCI6IkhCQVIiLCJuYW1lIjoiSGVkZXJhIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvNDY0Mi5wbmciLCJwcmljZV91c2QiOjAuMDY5ODM5NzY2NTMxODUyMDIsIm1hcmtldF9jYXAiOjMwNTgzNTk5MzguMzY0NjUwMiwidm9sdW1lXzI0aCI6MzIxMTkyNzAuNzQ3MzE0NTYsInJhbmsiOjI1LCJwZXJjZW50X2NoYW5nZV8xaCI6LTAuMDQyNzYxNDUsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTAuNDIxODYyNDUsInBlcmNlbnRfY2hhbmdlXzdkIjo1Ljk2MTU1MzUyLCJjaXJjdWxhdGluZ19zdXBwbHkiOjQzNzkxMDk2MjUxLjI5OTk3LCJ0b3RhbF9zdXBwbHkiOjUwMDAwMDAwMDAwLCJtYXhfc3VwcGx5Ijo1MDAwMDAwMDAwMCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo1OTk0LCJzbHVnIjoic2hpYmEtaW51Iiwic3ltYm9sIjoiU0hJQiIsIm5hbWUiOiJTaGliYSBJbnUiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC81OTk0LnBuZyIsInByaWNlX3VzZCI6MC4wMDAwMDUxMjM1NTgzNjA2NDAwNjA1LCJtYXJrZXRfY2FwIjozMDE5MDA4NjU3Ljg3ODk1OCwidm9sdW1lXzI0aCI6NDcwNzg5MDAwLjEzMjUxMDk2LCJyYW5rIjoyNiwicGVyY2VudF9jaGFuZ2VfMWgiOjAuNDc2MDIxNDEsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTguNDg5NTc1NTksInBlcmNlbnRfY2hhbmdlXzdkIjoyMy41NjcyNDM0NiwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo1ODkyNDA2MTA3OTcyNjAuMSwidG90YWxfc3VwcGx5Ijo1ODk0OTczMTYwNTMzMDIuNCwibWF4X3N1cHBseSI6NTg5NTUyNjk1MzMzNjgzLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjIwOTQ3LCJzbHVnIjoic3VpIiwic3ltYm9sIjoiU1VJIiwibmFtZSI6IlN1aSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzIwOTQ3LnBuZyIsInByaWNlX3VzZCI6MC43MTc3Njk2ODg0MDgxMzUyLCJtYXJrZXRfY2FwIjoyOTA4NjQyNTczLjc2MTY2NCwidm9sdW1lXzI0aCI6MTM0NDA0OTg0LjcwMTQzMTE2LCJyYW5rIjoyNywicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjA0MzU1MDEzLCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjI5Nzk4Njg3LCJwZXJjZW50X2NoYW5nZV83ZCI6LTMuMzcyMTAzOTksImNpcmN1bGF0aW5nX3N1cHBseSI6NDA1MjMzNDA4NS4zNDIwOTksInRvdGFsX3N1cHBseSI6MTAwMDAwMDAwMDAsIm1heF9zdXBwbHkiOjEwMDAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjU4MDUsInNsdWciOiJhdmFsYW5jaGUiLCJzeW1ib2wiOiJBVkFYIiwibmFtZSI6IkF2YWxhbmNoZSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzU4MDUucG5nIiwicHJpY2VfdXNkIjo2LjY5Nzc4NjE2NTA0NDE2MSwibWFya2V0X2NhcCI6Mjg5MTkxNjI2OC4wMjY3MTQzLCJ2b2x1bWVfMjRoIjoyMTU0MDQyMjEuMTAzNjY2MjUsInJhbmsiOjI4LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMTk1NzAzNSwicGVyY2VudF9jaGFuZ2VfMjRoIjotMC44ODM4NTc3OCwicGVyY2VudF9jaGFuZ2VfN2QiOjMuMTYxNzk5OCwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo0MzE3NzE5NjEuMTc3MjExOSwidG90YWxfc3VwcGx5Ijo0NjM0NDEwNjEuMTc3MjExOSwibWF4X3N1cHBseSI6NzE1NzQ4NzE5LCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjM2MzUsInNsdWciOiJjcm9ub3MiLCJzeW1ib2wiOiJDUk8iLCJuYW1lIjoiQ3Jvbm9zIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzYzNS5wbmciLCJwcmljZV91c2QiOjAuMDU3NTQ3MzgyODExNzA0NTEsIm1hcmtldF9jYXAiOjI3MjA4ODExNzIuMTY1MjkxLCJ2b2x1bWVfMjRoIjo2MjYwNjM2LjgxNTY0MzM1LCJyYW5rIjoyOSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuNDA0ODgzNzYsInBlcmNlbnRfY2hhbmdlXzI0aCI6MS44Nzg1NjY4NCwicGVyY2VudF9jaGFuZ2VfN2QiOi0wLjYyMjE5NDQzLCJjaXJjdWxhdGluZ19zdXBwbHkiOjQ3MjgwNzEwOTQxLjU5MTEzLCJ0b3RhbF9zdXBwbHkiOjk4ODE0MDQ5MjYyLjY5MTI4LCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6Mjc3NzIsInNsdWciOiJwYXlwYWwtdXNkIiwic3ltYm9sIjoiUFlVU0QiLCJuYW1lIjoiUGF5UGFsIFVTRCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzI3NzcyLnBuZyIsInByaWNlX3VzZCI6MC45OTk3NzY5Njc3NDU2NDg3LCJtYXJrZXRfY2FwIjoyNjg1Njk1NjY1LjkwOTUyODcsInZvbHVtZV8yNGgiOjE5MTkxNDU3Ljk2OTQ1NDg4LCJyYW5rIjozMCwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDA5MjQzNDEsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4wMTIyNDEzNywicGVyY2VudF9jaGFuZ2VfN2QiOi0wLjAwMDUzMjU0LCJjaXJjdWxhdGluZ19zdXBwbHkiOjI2ODYyOTQ3OTYuMjkzNzk4LCJ0b3RhbF9zdXBwbHkiOjI2ODYyOTQ3OTYuMjkzNzk4LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjUxNzYsInNsdWciOiJ0ZXRoZXItZ29sZCIsInN5bWJvbCI6IlhBVVQiLCJuYW1lIjoiVGV0aGVyIEdvbGQiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC81MTc2LnBuZyIsInByaWNlX3VzZCI6NDA3OS43MzkzNDc0NDc4NywibWFya2V0X2NhcCI6MjUwMDE2MDc5Ni44Mzk2OTc0LCJ2b2x1bWVfMjRoIjoxOTA3NTc1NTQuNTEzMTAzMjUsInJhbmsiOjMxLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wNDM5MTU5MywicGVyY2VudF9jaGFuZ2VfMjRoIjowLjY3NDc2NDYxLCJwZXJjZW50X2NoYW5nZV83ZCI6MS43MDIwMzE4OCwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo2MTI4MjMuNjU5NTMyLCJ0b3RhbF9zdXBwbHkiOjcwNzc0Ny4wODksIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NzA4Mywic2x1ZyI6InVuaXN3YXAiLCJzeW1ib2wiOiJVTkkiLCJuYW1lIjoiVW5pc3dhcCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzcwODMucG5nIiwicHJpY2VfdXNkIjozLjg5MDQyOTIxMzQ3NzY1NzUsIm1hcmtldF9jYXAiOjI0MzIwNjEyMTIuNzY5ODE5Mywidm9sdW1lXzI0aCI6MTk2MDgyNjk1LjM2NjE5MjA0LCJyYW5rIjozMiwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjQ1NDExOTQ1LCJwZXJjZW50X2NoYW5nZV8yNGgiOjYuMDA0MjQ1NDQsInBlcmNlbnRfY2hhbmdlXzdkIjoxMi41MTI1NDU0NywiY2lyY3VsYXRpbmdfc3VwcGx5Ijo2MjUxMzk1NjEuNTUzODc3NSwidG90YWxfc3VwcGx5Ijo4OTIyNzQ0MjAuMDMyOTQ3OSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjo2NTM1LCJzbHVnIjoibmVhci1wcm90b2NvbCIsInN5bWJvbCI6Ik5FQVIiLCJuYW1lIjoiTkVBUiBQcm90b2NvbCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzY1MzUucG5nIiwicHJpY2VfdXNkIjoxLjg0NjQ1NDgzMzMzNDA2MTYsIm1hcmtldF9jYXAiOjI0MDQwMDE1MDMuMjE0MTQ3LCJ2b2x1bWVfMjRoIjoxMDQ2NTI2MjYuNjI2NTY4ODQsInJhbmsiOjMzLCJwZXJjZW50X2NoYW5nZV8xaCI6MC4xNjI5ODQ3NywicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjkzMzY3MDI1LCJwZXJjZW50X2NoYW5nZV83ZCI6LTMuMzExNzMwMTgsImNpcmN1bGF0aW5nX3N1cHBseSI6MTMwMTk1NTIxNywidG90YWxfc3VwcGx5IjoxMzAxOTU1MjE3LCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjIyOTc0LCJzbHVnIjoiYml0dGVuc29yIiwic3ltYm9sIjoiVEFPIiwibmFtZSI6IkJpdHRlbnNvciIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzIyOTc0LnBuZyIsInByaWNlX3VzZCI6MTk4LjkxNjMzOTk3Nzk4NzY2LCJtYXJrZXRfY2FwIjoyMjIxMzIyNDExLjg5MzMzOCwidm9sdW1lXzI0aCI6MTAwODQ3MTQzLjkyNzM4MDg0LCJyYW5rIjozNCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAwNDEyNjIsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC44MDQ0MDc3LCJwZXJjZW50X2NoYW5nZV83ZCI6MS44NTU3NzIxMywiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMTE2NzExOC44NjA4MTkzNCwidG90YWxfc3VwcGx5IjoyMTAwMDAwMCwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MjExNTksInNsdWciOiJvbmRvLWZpbmFuY2UiLCJzeW1ib2wiOiJPTkRPIiwibmFtZSI6Ik9uZG8iLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8yMTE1OS5wbmciLCJwcmljZV91c2QiOjAuNDA4MTExNzc5NDA1MjAzMTYsIm1hcmtldF9jYXAiOjE5ODcyMzExOTQuODU5NDU5Miwidm9sdW1lXzI0aCI6MTIzNjA3NDIzLjgxMTAzNDE0LCJyYW5rIjozNSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuODQ1MDIyNzIsInBlcmNlbnRfY2hhbmdlXzI0aCI6NS4xNjc2NzMzLCJwZXJjZW50X2NoYW5nZV83ZCI6MTkuMDc1NDU4ODcsImNpcmN1bGF0aW5nX3N1cHBseSI6NDg2OTMzMDY0NywidG90YWxfc3VwcGx5IjoxMDAwMDAwMDAwMCwibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NDcwNSwic2x1ZyI6InBheC1nb2xkIiwic3ltYm9sIjoiUEFYRyIsIm5hbWUiOiJQQVggR29sZCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzQ3MDUucG5nIiwicHJpY2VfdXNkIjo0MDg0LjIxNTMyNjM4OTc2MzUsIm1hcmtldF9jYXAiOjE4MTY5MjUwOTEuODE2MjI5OCwidm9sdW1lXzI0aCI6NzkxMjY2MzIuMzQ1MjcyMjQsInJhbmsiOjM2LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wNzE1NzM1MiwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjc1NTMzMDcsInBlcmNlbnRfY2hhbmdlXzdkIjoxLjg0MTM4NzAxLCJjaXJjdWxhdGluZ19zdXBwbHkiOjQ0NDg2NS4xNTY4NTgsInRvdGFsX3N1cHBseSI6NDQ0ODY1LjE1Njg1OCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjozODk3LCJzbHVnIjoib2tiIiwic3ltYm9sIjoiT0tCIiwibmFtZSI6Ik9LQiIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM4OTcucG5nIiwicHJpY2VfdXNkIjo4Ni4wMTIyNjA0MTEzNzYyMywibWFya2V0X2NhcCI6MTgwNjI1NzQ2OC42Mzg5MDA4LCJ2b2x1bWVfMjRoIjoyNjQ2NzQyNy40NjUxMDUzOCwicmFuayI6MzcsInBlcmNlbnRfY2hhbmdlXzFoIjotMC40NjIwNDg4MiwicGVyY2VudF9jaGFuZ2VfMjRoIjoyLjc2MDU0NTI2LCJwZXJjZW50X2NoYW5nZV83ZCI6Ny42ODQ5MTg0OCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMTAwMDAwMCwidG90YWxfc3VwcGx5IjoyMTAwMDAwMCwibWF4X3N1cHBseSI6MjEwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzMyNTEsInNsdWciOiJ3b3JsZC1saWJlcnR5LWZpbmFuY2lhbC13bGZpIiwic3ltYm9sIjoiV0xGSSIsIm5hbWUiOiJXb3JsZCBMaWJlcnR5IEZpbmFuY2lhbCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzMzMjUxLnBuZyIsInByaWNlX3VzZCI6MC4wNTQ5MjM0NDg1OTU2MjA5NCwibWFya2V0X2NhcCI6MTc0NTE3OTgzMC45NTQwNDg2LCJ2b2x1bWVfMjRoIjoyOTMwODg5Mi44NzM4MTEyNSwicmFuayI6MzgsInBlcmNlbnRfY2hhbmdlXzFoIjowLjAwNjk1NTM3LCJwZXJjZW50X2NoYW5nZV8yNGgiOi0xLjM3NzMzMTU2LCJwZXJjZW50X2NoYW5nZV83ZCI6LTMuMjk5NjUzMzcsImNpcmN1bGF0aW5nX3N1cHBseSI6MzE3NzQ3Njc4OTIsInRvdGFsX3N1cHBseSI6MTAwMDAwMDAwMDAwLCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzYzNDEsInNsdWciOiJhc3RlciIsInN5bWJvbCI6IkFTVEVSIiwibmFtZSI6IkFzdGVyIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMzYzNDEucG5nIiwicHJpY2VfdXNkIjowLjYyODE4NTA2MTg2MTY2MjcsIm1hcmtldF9jYXAiOjE2OTYxMTc5NDQuMDYyMzcyMiwidm9sdW1lXzI0aCI6MzkwMDcwNTUuODYyMDA4NzMsInJhbmsiOjM5LCJwZXJjZW50X2NoYW5nZV8xaCI6MC4wMDcxODIzNiwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjE5MTQ1MTY4LCJwZXJjZW50X2NoYW5nZV83ZCI6MS41MjI1NTk3NSwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyNzAwMDI5MDk0Ljk4NjQ4MTcsInRvdGFsX3N1cHBseSI6NzgxNjE5Nzg3NC41MTY3MjgsIm1heF9zdXBwbHkiOjgwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzU0OTEsInNsdWciOiJtZW1lY29yZSIsInN5bWJvbCI6Ik0iLCJuYW1lIjoiTWVtZUNvcmUiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8zNTQ5MS5wbmciLCJwcmljZV91c2QiOjEuMjA0NjE2MDYyMjYxNTc4MiwibWFya2V0X2NhcCI6MTYwMDMyOTM5OC43MjIxNjczLCJ2b2x1bWVfMjRoIjoxNTI4Njk2Mi45MDE3NzExNCwicmFuayI6NDAsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4yMjM5MDg2NiwicGVyY2VudF9jaGFuZ2VfMjRoIjotMi43MzU2NTUzMywicGVyY2VudF9jaGFuZ2VfN2QiOi0xLjI4MDIwMDM2LCJjaXJjdWxhdGluZ19zdXBwbHkiOjEzMjg0OTc0NzYuMzgwNzAzNywidG90YWxfc3VwcGx5Ijo1Mzk1ODE0MjQ4Ljg4NzkyOSwibWF4X3N1cHBseSI6MTAwMDAwMDAwMDAsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MzQzODcsInNsdWciOiJyaXBwbGUtdXNkIiwic3ltYm9sIjoiUkxVU0QiLCJuYW1lIjoiUmlwcGxlIFVTRCIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzM0Mzg3LnBuZyIsInByaWNlX3VzZCI6MS4wMDAyMDg4MTExNDUzNzQyLCJtYXJrZXRfY2FwIjoxNTg5Njc5ODgwLjc0ODI0MjksInZvbHVtZV8yNGgiOjk4MDY1NjQ3LjE2MjMyMTczLCJyYW5rIjo0MSwicGVyY2VudF9jaGFuZ2VfMWgiOjAuMDAwMTk0NTgsInBlcmNlbnRfY2hhbmdlXzI0aCI6MC4wMTkxMjYxMiwicGVyY2VudF9jaGFuZ2VfN2QiOjAuMDI3Mzg1NDQsImNpcmN1bGF0aW5nX3N1cHBseSI6MTU4OTM0ODAwNy4xNzA0Njc0LCJ0b3RhbF9zdXBwbHkiOjE1ODkzNDgwMDcuMTcwNDY3NCwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxOTg5MSwic2x1ZyI6InVzZGQiLCJzeW1ib2wiOiJVU0REIiwibmFtZSI6IlVTREQiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC8xOTg5MS5wbmciLCJwcmljZV91c2QiOjAuOTk5MDY5MTc5NzkxODExMiwibWFya2V0X2NhcCI6MTU1MzQ3NjMwNy42MzMyMTk1LCJ2b2x1bWVfMjRoIjo5OTk2MTYxMS45OTg5NjYzNSwicmFuayI6NDIsInBlcmNlbnRfY2hhbmdlXzFoIjotMC4wMjQxOTcwMiwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjAwNjAwNDQ3LCJwZXJjZW50X2NoYW5nZV83ZCI6LTAuMDEyMzE4NSwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxNTU0OTIzNjYyLCJ0b3RhbF9zdXBwbHkiOjE1NTQ5MjM2NjIsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6NzI3OCwic2x1ZyI6ImFhdmUiLCJzeW1ib2wiOiJBQVZFIiwibmFtZSI6IkFhdmUiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC83Mjc4LnBuZyIsInByaWNlX3VzZCI6MTAwLjQ4ODQ3OTMxNDIzNjAyLCJtYXJrZXRfY2FwIjoxNTQ5MzAxMTE2LjgxMDI0MDMsInZvbHVtZV8yNGgiOjMxMjU0OTI1Ni4xMzQyODI5LCJyYW5rIjo0MywicGVyY2VudF9jaGFuZ2VfMWgiOjAuNjQ2MzYzNjQsInBlcmNlbnRfY2hhbmdlXzI0aCI6OS4wNzA3MTIzOCwicGVyY2VudF9jaGFuZ2VfN2QiOjEyLjMzNDgzOTU0LCJjaXJjdWxhdGluZ19zdXBwbHkiOjE1NDE3Njk4Ljg5ODI1MzI0LCJ0b3RhbF9zdXBwbHkiOjE2MDAwMDAwLCJtYXhfc3VwcGx5IjpudWxsLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjY2MzYsInNsdWciOiJwb2xrYWRvdC1uZXciLCJzeW1ib2wiOiJET1QiLCJuYW1lIjoiUG9sa2Fkb3QiLCJpbWFnZSI6Imh0dHBzOi8vczIuY29pbm1hcmtldGNhcC5jb20vc3RhdGljL2ltZy9jb2lucy82NHg2NC82NjM2LnBuZyIsInByaWNlX3VzZCI6MC44MTU4MjQxOTgyMTM1MDQzLCJtYXJrZXRfY2FwIjoxMzgyOTY1Njc4LjIwNDU4NzUsInZvbHVtZV8yNGgiOjQ3Mjg1NDI5LjM5MTIzNzczLCJyYW5rIjo0NCwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjEyNDQzNjYyLCJwZXJjZW50X2NoYW5nZV8yNGgiOi0wLjcxNjQ2Mzk2LCJwZXJjZW50X2NoYW5nZV83ZCI6MC45MjcwODM5NSwiY2lyY3VsYXRpbmdfc3VwcGx5IjoxNjk1MTc2MDk0LjU5NjEzMDQsInRvdGFsX3N1cHBseSI6MTY5NTE3NjA5NC41OTYxMzA0LCJtYXhfc3VwcGx5IjoyMTAwMDAwMDAwLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjI3MDc1LCJzbHVnIjoibWFudGxlIiwic3ltYm9sIjoiTU5UIiwibmFtZSI6Ik1hbnRsZSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzI3MDc1LnBuZyIsInByaWNlX3VzZCI6MC40MTUxNTMyODE1MzkwMTE2LCJtYXJrZXRfY2FwIjoxMzcwOTU4MzQ5LjUxODAxMzIsInZvbHVtZV8yNGgiOjE3NDYyNjg5LjIyNDA2ODQ3LCJyYW5rIjo0NSwicGVyY2VudF9jaGFuZ2VfMWgiOi0wLjAzMTE4MjM5LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuNDc3MzYwMTYsInBlcmNlbnRfY2hhbmdlXzdkIjotMi4wNTMzMjc0NywiY2lyY3VsYXRpbmdfc3VwcGx5IjozMzAyMjk0MzgyLjUzNjg0LCJ0b3RhbF9zdXBwbHkiOjYyMTkzMTY3OTQuODg5OTk5LCJtYXhfc3VwcGx5Ijo2MjE5MzE2Nzk1LCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjMzMDM4LCJzbHVnIjoic2t5Iiwic3ltYm9sIjoiU0tZIiwibmFtZSI6IlNreSIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0LzMzMDM4LnBuZyIsInByaWNlX3VzZCI6MC4wNTcyMzUyODE3NjExMTc0LCJtYXJrZXRfY2FwIjoxMzM2NzMzMzQ2LjYxMTUyMzksInZvbHVtZV8yNGgiOjE1NTQxODEzLjMzODE2NzE1LCJyYW5rIjo0NiwicGVyY2VudF9jaGFuZ2VfMWgiOjAuNDA3MTcwNDQsInBlcmNlbnRfY2hhbmdlXzI0aCI6LTIuNjQzODM1NTEsInBlcmNlbnRfY2hhbmdlXzdkIjotNi4yOTA2NzA0OSwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMzM1NTA1ODM3NC40OTQyNjcsInRvdGFsX3N1cHBseSI6MjM0NjI2NjUxNDcuMzY1OTY3LCJtYXhfc3VwcGx5IjoyMzQ2MjY2NTE0Nywic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxMzUwMiwic2x1ZyI6IndvcmxkY29pbi1vcmciLCJzeW1ib2wiOiJXTEQiLCJuYW1lIjoiV29ybGRjb2luIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTM1MDIucG5nIiwicHJpY2VfdXNkIjowLjM1MzU1NzY0MzU2ODI2NzEzLCJtYXJrZXRfY2FwIjoxMzI3NjAyNzg1LjE0ODk0MzIsInZvbHVtZV8yNGgiOjE4OTcyMTkwNS41MDg2MTA0MywicmFuayI6NDcsInBlcmNlbnRfY2hhbmdlXzFoIjowLjM1NTQwOTEyLCJwZXJjZW50X2NoYW5nZV8yNGgiOjUuMjE4MDI3OTcsInBlcmNlbnRfY2hhbmdlXzdkIjotMi4xNzYyNTQ5MSwiY2lyY3VsYXRpbmdfc3VwcGx5IjozNzU0OTgyNTU4Ljg1NTY0MzMsInRvdGFsX3N1cHBseSI6MTAwMDAwMDAwMDAsIm1heF9zdXBwbHkiOm51bGwsInNwYXJrbGluZV83ZCI6bnVsbH0seyJpZCI6MjQ0NzgsInNsdWciOiJwZXBlIiwic3ltYm9sIjoiUEVQRSIsIm5hbWUiOiJQZXBlIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMjQ0NzgucG5nIiwicHJpY2VfdXNkIjowLjAwMDAwMjk4Mzg2NDU4OTEyNjIxMjMsIm1hcmtldF9jYXAiOjEyMzQ2NDEwMjguOTgyMjk1Mywidm9sdW1lXzI0aCI6MzMwMzAyMDY1Ljk3MDI1ODgzLCJyYW5rIjo0OCwicGVyY2VudF9jaGFuZ2VfMWgiOjEuMzU3NTY3MDgsInBlcmNlbnRfY2hhbmdlXzI0aCI6MS41NTgwNzAzMywicGVyY2VudF9jaGFuZ2VfN2QiOjQuOTQ0NTEwNTEsImNpcmN1bGF0aW5nX3N1cHBseSI6NDEzNzcyNDcyNjEyMDUxLjMsInRvdGFsX3N1cHBseSI6NDEzNzcyNDcyNjEyMDUxLjMsIm1heF9zdXBwbHkiOjQxMzc3MjQ3MjYxMjA1MS4zLCJzcGFya2xpbmVfN2QiOm51bGx9LHsiaWQiOjg5MTYsInNsdWciOiJpbnRlcm5ldC1jb21wdXRlciIsInN5bWJvbCI6IklDUCIsIm5hbWUiOiJJbnRlcm5ldCBDb21wdXRlciIsImltYWdlIjoiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbS9zdGF0aWMvaW1nL2NvaW5zLzY0eDY0Lzg5MTYucG5nIiwicHJpY2VfdXNkIjoyLjE4ODMyNTY1NjQ5Mzc2OTQsIm1hcmtldF9jYXAiOjEyMTQ5Nzg0ODQuMjczMDk1LCJ2b2x1bWVfMjRoIjoyODM3ODIwMi41NTM2NjI1NiwicmFuayI6NDksInBlcmNlbnRfY2hhbmdlXzFoIjotMC4yNDk4NzgyNiwicGVyY2VudF9jaGFuZ2VfMjRoIjowLjA3NTczMDQxLCJwZXJjZW50X2NoYW5nZV83ZCI6Mi44MjA2MzE3MywiY2lyY3VsYXRpbmdfc3VwcGx5Ijo1NTUyMDkxNzUuODY4MTc3OSwidG90YWxfc3VwcGx5Ijo1NTUyMDkxNzUuODY4MTc3OSwibWF4X3N1cHBseSI6bnVsbCwic3BhcmtsaW5lXzdkIjpudWxsfSx7ImlkIjoxMTA5Miwic2x1ZyI6ImJpdGdldC10b2tlbi1uZXciLCJzeW1ib2wiOiJCR0IiLCJuYW1lIjoiQml0Z2V0IFRva2VuIiwiaW1hZ2UiOiJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tL3N0YXRpYy9pbWcvY29pbnMvNjR4NjQvMTEwOTIucG5nIiwicHJpY2VfdXNkIjoxLjY4MDgyNjMwNjcwMTI1NDUsIm1hcmtldF9jYXAiOjExNzQxNTk5MjIuMDMxMzg1Nywidm9sdW1lXzI0aCI6NTU3MjI0NS41NzAzNjA3NCwicmFuayI6NTAsInBlcmNlbnRfY2hhbmdlXzFoIjowLjIxNTQxNzI3LCJwZXJjZW50X2NoYW5nZV8yNGgiOjAuODQ0NjM1ODMsInBlcmNlbnRfY2hhbmdlXzdkIjozLjE4MTc1MjU1LCJjaXJjdWxhdGluZ19zdXBwbHkiOjY5ODU2MTEyOC43NDM3MzE1LCJ0b3RhbF9zdXBwbHkiOjkxMDkyMDg3NC42NDgxMDM4LCJtYXhfc3VwcGx5Ijo5MTk5OTIwMzUuOTgsInNwYXJrbGluZV83ZCI6bnVsbH1dLCJjdXJyZW5jeSI6eyJjb2RlIjoiVVNEIiwic3ltYm9sIjoiJCIsInJhdGUiOjF9LCJlcnJvciI6bnVsbH0="}},"time_used":42,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":42,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/excm=base,root/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:49.915Z","timestamp":1785129949915,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/excm=base,root/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/EjB5qFW0bJ8\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 150031\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 12:56:07 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:07 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 232182\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":442344,"size_decoded":150945,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (534)","md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uX0ZfdG9nZ2xlc19pbml0aWFsaXplPWZ1bmN0aW9uKGEpeyh0eXBlb2YgZ2xvYmFsVGhpcyE9PSJ1bmRlZmluZWQiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGYhPT0idW5kZWZpbmVkIj9zZWxmOnRoaXMpLl9GX3RvZ2dsZXNfZGVmYXVsdF9iYXNlPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4MCwgMHgyLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwp2YXIgZWEsZmEsZGEsbmEscWEsdWEsdmEsQmEsSWEsSmEsS2EsUGEsUmEsVmEsJGEsaGIsbWIsd2IsemIsQWIsRWIsQ2IsRmIsR2IsTmIsVGIsZmMsaGMsaWMsamMsa2MsbWMsbmMsb2MsdGMscWMsR2MsSWMsTGMsTmMsVWMsUWMsV2MsY2QsZmQsaGQsamQsa2QsbWQsb2Qsc2QsQWQsQmQsRWQsdWQsR2QsSGQsSmQsSWQsS2QsTGQsTWQsT2QsU2QsWWQsYmUsY2UsZWUsZmUsZ2UsaGUsaWUsamUsa2UscWUsbGUscmUsb2UscGUsdmUsdGUsc2UsdWUsd2UseGUseWUsemUsQ2UsRGUsRWUsRmUsSGUsS2UsTWUsTmUsT2UsUGUsUWUsVmUsWWUsUmUsWmUsYWYsV2UsVGUsaGYsbGYsbWYsbmYsb2YscmYsdGYseGYsemYsQ2YsS2YsTGYsUWYsRmYsU2YsT2YsTWYsTmYsVGYsUmYsV2YsVmYsWGYsWWYsWmYsYmcsZGcsZWcsZmcsY2csa2csbGcsaGcsZ2csaWcsamcscmcsc2csdGcsdmcseGcsemcsQWcsdWcsRWcsd2csRmcsRGcsSGcsSWcsSmcsT2csUmcsTmcsVGcsU2csVWcsWWcsWGcsYmgsJGcsClpnLGFoLFBnLGNoLGZoLGloLGpoLGtoLGxoLGdoLGhoLG5oLHVoLHZoLHdoLHhoLHloLEFoLEJoLENoLERoLEVoLEZoLEloLEpoLEtoLExoLE1oLE5oLE9oLFBoLFFoLFJoLFNoLFRoLFVoLFZoLGNpLGRpLGVpLGZpLGdpLGhpLGppLGtpLGxpLHBpLHFpLHJpLHNpLHZpLHdpLHhpLHlpLHppLEFpLEJpLERpLEVpLE1pLFRpLFlpLGFqLGRqLGNqLFhpLG9qLHhqLHdqLEFqLEJqLENqLEVqLEpqLEZqLEhqLElqLHZqLFFqLFpqLGJrLGNrLGFrLGVrLGhrLGlrLGZrLGtrLG1rLGxrLG9rLHBrLHFrLHNrLHJrLHZrLHlrLHhrLHprLEFrLEVrLEprLEtrLExrLFJrLFNrLFRrLFVrLFhrLFlrLFdrLFprLCRrLGJsLGNsLGRsLGhsLG5sLHFsLHNsLHRsLGdsLHVsLHZsLHBsLHJsLHlsLHpsLEJsLEVsLEhsLExsLE5sLE9sLFFsLFJsLFNsLFRsLFVsLFZsLFdsLFhsLFpsLGJtLGNtLGRtLGVtLGZtLGdtLGhtLGttLGxtLG1tLG9tLHRtLEFtLEJtLERtLENtLEdtLEhtLEVtLEZtLEltLEptLExtLE1tLApPbSxQbSxRbSxSbSxTbSxUbSxVbSxObSxXbSxYbSxZbSxabSxmbixnbixqbixsbixtbixvbixxbixybix2bix4bixBbix3bix6bixFbixLbixKbixNbixRbixSbixTbixUbixWbixabixXbixYbixZbiwkbixjbyxhbyxxbyx2byx3byxEbyxIbyxGbyxHbyxLbyxKbyxJbyxMbyxPbyxRbywkbyxZbyxXbyxTbyxpcCxlcCxmcCx0cCxycCxxcCxSbyx1cCxkcCxocCxzcCxhcCxUbyxWbyxabyxwcCxGcCxKcCxScCxTcCxVcCxZcCxUcCxhcSxjcSxkcSxlcSxmcSxocSxqcSxxcSxrYSxqYSxpYSxjYTtlYT1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPTA7YzxjYS5sZW5ndGg7YysrKWRhKGNhW2NdKyJBcnJheS5wcm90b3R5cGUuIithLGIpfTtmYT1mdW5jdGlvbihhLGIpe2ImJmRhKGEsYil9OwpkYT1mdW5jdGlvbihhLGIpe3ZhciBjPWlhO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmamEoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTtuYT1mdW5jdGlvbihhLGIpe2EucHJvdG90eXBlPWthKGIucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2xhKGEsYik7YS56Yj1iLnByb3RvdHlwZX07cWE9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpfHwwO2E8MCYmKGErPXRoaXMubGVuZ3RoKTtpZighKGE8MHx8YT49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW2FdfTsKXy5yYT1mdW5jdGlvbihhLGIsYyl7YT1hLnNwbGl0KCIuIik7Yz1jfHxfLnU7Zm9yKHZhciBkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnNhKCJXSVpfZ2xvYmFsX2RhdGEub3hOM25iIik7YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07dmE9ZnVuY3Rpb24oKXt9O18uc2E9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy53YT1mdW5jdGlvbihhKXthLlNsPXZvaWQgMDthLmpjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuU2w/YS5TbDphLlNsPW5ldyBhfX07Cl8ueGE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGIhPSJvYmplY3QiP2I6YT9BcnJheS5pc0FycmF5KGEpPyJhcnJheSI6YjoibnVsbCJ9O18ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54YShhKTtyZXR1cm4gYj09ImFycmF5Inx8Yj09Im9iamVjdCImJnR5cGVvZiBhLmxlbmd0aD09Im51bWJlciJ9O18uQWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTtCYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07Xy5DYT1mdW5jdGlvbihhLGIsYyl7Xy5DYT1CYTtyZXR1cm4gXy5DYS5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpfLkRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLkVhPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9O18uRmE9ZnVuY3Rpb24oYSxiKXtfLnJhKGEsYil9O18uR2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uSGE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuemI9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLmJhc2U9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGs9MjtrPGFyZ3VtZW50cy5sZW5ndGg7aysrKWhbay0yXT1hcmd1bWVudHNba107cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsaCl9fTsKSWE9ZnVuY3Rpb24oYSwuLi5iKXtiPWIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighYilyZXR1cm4gYTt2YXIgYz1hLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIGM/YS5zbGljZSgwLGMuaW5kZXgrMSkrYisiJiIrYS5zbGljZShjLmluZGV4KzEpOmErKGEuaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrYn07SmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj8iJiIrYSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIifTsKS2E9ZnVuY3Rpb24oYSl7YT1hLkI7aWYoIWEpcmV0dXJuIiI7dmFyIGI9SmEoInVhcCIsYS5wbGF0Zm9ybSkrSmEoInVhcHYiLGEucGxhdGZvcm1WZXJzaW9uKStKYSgidWFmdiIsYS51YUZ1bGxWZXJzaW9uKStKYSgidWFhIixhLmFyY2hpdGVjdHVyZSkrSmEoInVhbSIsYS5tb2RlbCkrSmEoInVhYiIsYS5iaXRuZXNzKTthLmZ1bGxWZXJzaW9uTGlzdCYmKGIrPSImdWFmdmw9IitlbmNvZGVVUklDb21wb25lbnQoYS5mdWxsVmVyc2lvbkxpc3QubWFwKGM9PmVuY29kZVVSSUNvbXBvbmVudChjLmJyYW5kKSsiOyIrZW5jb2RlVVJJQ29tcG9uZW50KGMudmVyc2lvbikpLmpvaW4oInwiKSkpO2Eud293NjQhPW51bGwmJihiKz0iJnVhdz0iK051bWJlcihhLndvdzY0KSk7cmV0dXJuIGIuc2xpY2UoMSl9OwpfLkxhPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLkxhKTtlbHNle2xldCBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO2IhPT12b2lkIDAmJih0aGlzLmNhdXNlPWIpfTtfLk1hPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgtYi5sZW5ndGg7cmV0dXJuIGM+PTAmJmEuaW5kZXhPZihiLGMpPT1jfTtQYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIU5hKXJldHVybiBhO3RyeXtsZXQgYj1jPT5jO2E9TmEuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOmIsY3JlYXRlU2NyaXB0OmIsY3JlYXRlU2NyaXB0VVJMOmJ9KX1jYXRjaChiKXt9cmV0dXJuIGF9O1JhPWZ1bmN0aW9uKCl7UWE9PT12b2lkIDAmJihRYT1QYSgpKTtyZXR1cm4gUWF9OwpfLlRhPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLlNhKGEpfTtfLlVhPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLlNhKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O1ZhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnRvU3RyaW5nKCkuaW5kZXhPZigiYCIpPT09LTF9O18uWGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLldhfTtfLllhPWZ1bmN0aW9uKGEpe2lmKF8uWGEoYSkpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307JGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBaYShiPT5iLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6Iil9O18uYmI9ZnVuY3Rpb24oYSxiPV8uYWIpe2lmKF8uWGEoYSkpcmV0dXJuIGE7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2Mpe2xldCBkPWJbY107aWYoZCBpbnN0YW5jZW9mIFphJiZkLmZiKGEpKXJldHVybiBuZXcgXy5XYShhKX19OwpfLmRiPWZ1bmN0aW9uKGEpe2EgaW5zdGFuY2VvZiBfLldhP2E9Xy5ZYShhKTphPWNiLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGF9O18uZWI9ZnVuY3Rpb24oYSxiPWB1bmV4cGVjdGVkIHZhbHVlICR7YX0hYCl7dGhyb3cgRXJyb3IoYik7fTtfLmdiPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlSFRNTChhKTphO3JldHVybiBuZXcgXy5mYihhKX07Xy5pYj1mdW5jdGlvbihhKXtyZXR1cm4gaGIoInNjcmlwdCIsYSl9O2hiPWZ1bmN0aW9uKGEsYj1kb2N1bWVudCl7YT1iLnF1ZXJ5U2VsZWN0b3I/LihgJHthfVtub25jZV1gKTtyZXR1cm4gYT09bnVsbD8iIjphLm5vbmNlfHxhLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18ua2I9ZnVuY3Rpb24oYSl7dmFyIGI9UmEoKTthPWI/Yi5jcmVhdGVTY3JpcHQoYSk6YTtyZXR1cm4gbmV3IF8uamIoYSl9OwpfLmxiPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmpiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O21iPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaWIoYS5vd25lckRvY3VtZW50KTtiJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpfTtfLm5iPWZ1bmN0aW9uKGEsYil7YS50ZXh0Q29udGVudD1fLmxiKGIpO21iKGEpfTtfLm9iPWZ1bmN0aW9uKGEsYil7YS5zcmM9Xy5VYShiKTttYihhKX07Xy5xYj1mdW5jdGlvbihhLGIsYyl7aWYoYiBpbnN0YW5jZW9mIF8uU2EpYS5ocmVmPV8uVWEoYikudG9TdHJpbmcoKSxhLnJlbD1jO2Vsc2V7aWYocGIuaW5kZXhPZihjKT09PS0xKXRocm93IEVycm9yKCJqYCIrYyk7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9YixhLnJlbD1jKX19O18uc2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX07Cl8udGI9ZnVuY3Rpb24oYSxiKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYix2b2lkIDApfTtfLnViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYSxiLHZvaWQgMCl9O18udmI9ZnVuY3Rpb24oYSxiKXthOntsZXQgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKGUgaW4gZCYmYi5jYWxsKHZvaWQgMCxkW2VdLGUsYSkpe2I9ZTticmVhayBhfWI9LTF9cmV0dXJuIGI8MD9udWxsOnR5cGVvZiBhPT09InN0cmluZyI/YS5jaGFyQXQoYik6YVtiXX07d2I9ZnVuY3Rpb24oYSxiKXtfLnNiKGEsYik+PTB8fGEucHVzaChiKX07Xy54Yj1mdW5jdGlvbihhLGIpe2I9Xy5zYihhLGIpO3ZhciBjOyhjPWI+PTApJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYSxiLDEpO3JldHVybiBjfTsKXy55Yj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihiPjApe2xldCBjPUFycmF5KGIpO2ZvcihsZXQgZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt6Yj1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe2xldCBkPWFyZ3VtZW50c1tjXTtpZihfLnlhKGQpKXtsZXQgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IobGV0IGg9MDtoPGY7aCsrKWFbZStoXT1kW2hdfWVsc2UgYS5wdXNoKGQpfX07QWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz0wLGQ9bmV3IFNldDtjPGEubGVuZ3RoOyl7bGV0IGU9YVtjKytdO2QuaGFzKGUpfHwoZC5hZGQoZSksYVtiKytdPWUpfWEubGVuZ3RoPWJ9OwpfLkJiPWZ1bmN0aW9uKGEsYil7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9Yn07CkViPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2EoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7YT09bnVsbCYmKGE9J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTphLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOmIsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgYz0hMTt0cnl7dmFyIGQ9YS5saW5lTnVtYmVyfHxhLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChmKXtkPSJOb3QgYXZhaWxhYmxlIixjPSEwfXRyeXt2YXIgZT1hLmZpbGVOYW1lfHxhLmZpbGVuYW1lfHxhLnNvdXJjZVVSTHx8Xy51LiRnb29nRGVidWdGbmFtZXx8Yn1jYXRjaChmKXtlPSJOb3QgYXZhaWxhYmxlIixjPSEwfWI9Q2IoYSk7aWYoISghYyYmYS5saW5lTnVtYmVyJiZhLmZpbGVOYW1lJiZhLnN0YWNrJiZhLm1lc3NhZ2UmJmEubmFtZSkpe2M9YS5tZXNzYWdlOwppZihjPT1udWxsKXtpZihhLmNvbnN0cnVjdG9yJiZhLmNvbnN0cnVjdG9yIGluc3RhbmNlb2YgRnVuY3Rpb24pe2lmKGEuY29uc3RydWN0b3IubmFtZSljPWEuY29uc3RydWN0b3IubmFtZTtlbHNlIGlmKGM9YS5jb25zdHJ1Y3RvcixEYltjXSljPURiW2NdO2Vsc2V7Yz1TdHJpbmcoYyk7aWYoIURiW2NdKXtsZXQgZj0vZnVuY3Rpb25ccysoW15cKF0rKS9tLmV4ZWMoYyk7RGJbY109Zj9mWzFdOiJbQW5vbnltb3VzXSJ9Yz1EYltjXX1jPSdVbmtub3duIEVycm9yIG9mIHR5cGUgIicrYysnIid9ZWxzZSBjPSJVbmtub3duIEVycm9yIG9mIHVua25vd24gdHlwZSI7dHlwZW9mIGEudG9TdHJpbmc9PT0iZnVuY3Rpb24iJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIT09YS50b1N0cmluZyYmKGMrPSI6ICIrYS50b1N0cmluZygpKX1yZXR1cm57bWVzc2FnZTpjLG5hbWU6YS5uYW1lfHwiVW5rbm93bkVycm9yIixsaW5lTnVtYmVyOmQsZmlsZU5hbWU6ZSxzdGFjazpifHwiTm90IGF2YWlsYWJsZSJ9fXJldHVybnttZXNzYWdlOmEubWVzc2FnZSwKbmFtZTphLm5hbWUsbGluZU51bWJlcjphLmxpbmVOdW1iZXIsZmlsZU5hbWU6YS5maWxlTmFtZSxzdGFjazpifX07CkNiPWZ1bmN0aW9uKGEsYil7Ynx8KGI9e30pO2JbRmIoYSldPSEwO3ZhciBjPWEuc3RhY2t8fCIiLGQ9YS5jYXVzZTtkJiYhYltGYihkKV0mJihjKz0iXG5DYXVzZWQgYnk6ICIsZC5zdGFjayYmZC5zdGFjay5pbmRleE9mKGQudG9TdHJpbmcoKSk9PTB8fChjKz10eXBlb2YgZD09PSJzdHJpbmciP2Q6ZC5tZXNzYWdlKyJcbiIpLGMrPUNiKGQsYikpO2E9YS5lcnJvcnM7aWYoQXJyYXkuaXNBcnJheShhKSl7ZD0xO2xldCBlO2ZvcihlPTA7ZTxhLmxlbmd0aCYmIShkPjQpO2UrKyliW0ZiKGFbZV0pXXx8KGMrPSJcbklubmVyIGVycm9yICIrZCsrICsiOiAiLGFbZV0uc3RhY2smJmFbZV0uc3RhY2suaW5kZXhPZihhW2VdLnRvU3RyaW5nKCkpPT0wfHwoYys9dHlwZW9mIGFbZV09PT0ic3RyaW5nIj9hW2VdOmFbZV0ubWVzc2FnZSsiXG4iKSxjKz1DYihhW2VdLGIpKTtlPGEubGVuZ3RoJiYoYys9IlxuLi4uICIrKGEubGVuZ3RoLWUpKyIgbW9yZSBpbm5lciBlcnJvcnMiKX1yZXR1cm4gY307CkZiPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO3R5cGVvZiBhLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmKGI9IiIrYSk7cmV0dXJuIGIrYS5zdGFja307R2I9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoYSl9O18uSGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhLnJlcGxhY2UoL1wrL2csIiAiKSl9O18uSWI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9IiI7YSYmKGsrPWErIjoiKTtjJiYoays9Ii8vIixiJiYoays9YisiQCIpLGsrPWMsZCYmKGsrPSI6IitkKSk7ZSYmKGsrPWUpO2YmJihrKz0iPyIrZik7aCYmKGsrPSIjIitoKTtyZXR1cm4ga307Xy5NYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXRjaChLYil9O05iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5PYj1mdW5jdGlvbihhKXthPV8uTWIoYSlbMV18fG51bGw7IWEmJl8udS5zZWxmJiZfLnUuc2VsZi5sb2NhdGlvbiYmKGE9Xy51LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpO3JldHVybiBhP2EudG9Mb3dlckNhc2UoKToiIn07Xy5QYj1mdW5jdGlvbihhKXtyZXR1cm4gTmIoXy5NYihhKVszXXx8bnVsbCl9O18uUWI9ZnVuY3Rpb24oYSl7cmV0dXJuIE5iKF8uTWIoYSlbNV18fG51bGwpfTtfLlJiPWZ1bmN0aW9uKGEsYil7aWYoYSl7YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspe2xldCBkPWFbY10uaW5kZXhPZigiPSIpLGUsZj1udWxsO2Q+PTA/KGU9YVtjXS5zdWJzdHJpbmcoMCxkKSxmPWFbY10uc3Vic3RyaW5nKGQrMSkpOmU9YVtjXTtiKGUsZj9fLkhiKGYpOiIiKX19fTsKXy5TYj1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBhO3ZhciBjPWEuaW5kZXhPZigiIyIpO2M8MCYmKGM9YS5sZW5ndGgpO3ZhciBkPWEuaW5kZXhPZigiPyIpO2lmKGQ8MHx8ZD5jKXtkPWM7dmFyIGU9IiJ9ZWxzZSBlPWEuc3Vic3RyaW5nKGQrMSxjKTthPVthLnNsaWNlKDAsZCksZSxhLnNsaWNlKGMpXTtjPWFbMV07YVsxXT1iP2M/YysiJiIrYjpiOmM7cmV0dXJuIGFbMF0rKGFbMV0/Ij8iK2FbMV06IiIpK2FbMl19O1RiPWZ1bmN0aW9uKGEsYixjKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKVRiKGEsU3RyaW5nKGJbZF0pLGMpO2Vsc2UgYiE9bnVsbCYmYy5wdXNoKGErKGI9PT0iIj8iIjoiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSkpKX07Xy5VYj1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IGMgaW4gYSlUYihjLGFbY10sYik7cmV0dXJuIGIuam9pbigiJiIpfTsKXy5XYj1mdW5jdGlvbihhLGIpe2I9Xy5VYihiKTtyZXR1cm4gXy5TYihhLGIpfTtfLlhiPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1jLmxlbmd0aDsoYj1hLmluZGV4T2YoYyxiKSk+PTAmJmI8ZDspe3ZhciBmPWEuY2hhckNvZGVBdChiLTEpO2lmKGY9PTM4fHxmPT02MylpZihmPWEuY2hhckNvZGVBdChiK2UpLCFmfHxmPT02MXx8Zj09Mzh8fGY9PTM1KXJldHVybiBiO2IrPWUrMX1yZXR1cm4tMX07Xy5aYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc2VhcmNoKF8uWWIpLGQ9Xy5YYihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gXy5IYihhLnNsaWNlKGQsZSE9PS0xP2U6MCkpfTtfLiRiPWZ1bmN0aW9uKGEpe18udS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgYTt9LDApfTsKXy5hYz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT01NTI5NiYmZCsxPGEubGVuZ3RoJiYoYS5jaGFyQ29kZUF0KGQrMSkmNjQ1MTIpPT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gYn07Xy5iYz1mdW5jdGlvbigpe3ZhciBhPV8udS5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTsKZmM9ZnVuY3Rpb24oYSl7aWYoIWRjfHwhZWMpcmV0dXJuITE7Zm9yKGxldCBiPTA7YjxlYy5icmFuZHMubGVuZ3RoO2IrKyl7bGV0IHticmFuZDpjfT1lYy5icmFuZHNbYl07aWYoYyYmYy5pbmRleE9mKGEpIT0tMSlyZXR1cm4hMH1yZXR1cm4hMX07aGM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uYmMoKS5pbmRleE9mKGEpIT0tMX07aWM9ZnVuY3Rpb24oKXtyZXR1cm4gZGM/ISFlYyYmZWMuYnJhbmRzLmxlbmd0aD4wOiExfTtqYz1mdW5jdGlvbigpe3JldHVybiBpYygpPyExOmhjKCJPcGVyYSIpfTtrYz1mdW5jdGlvbigpe3JldHVybiBoYygiRmlyZWZveCIpfHxoYygiRnhpT1MiKX07bWM9ZnVuY3Rpb24oKXtyZXR1cm4gaWMoKT9mYygiQ2hyb21pdW0iKTooaGMoIkNocm9tZSIpfHxoYygiQ3JpT1MiKSkmJiEoaWMoKT8wOmhjKCJFZGdlIikpfHxoYygiU2lsayIpfTtuYz1mdW5jdGlvbigpe3JldHVybiBkYz8hIWVjJiYhIWVjLnBsYXRmb3JtOiExfTsKb2M9ZnVuY3Rpb24oKXtyZXR1cm4gaGMoImlQaG9uZSIpJiYhaGMoImlQb2QiKSYmIWhjKCJpUGFkIil9O18ucGM9ZnVuY3Rpb24oYSl7Xy5wY1siICJdKGEpO3JldHVybiBhfTtfLnNjPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMCYmKGI9MCk7cWMoKTtiPXJjW2JdO2Zvcih2YXIgYz1BcnJheShNYXRoLmZsb29yKGEubGVuZ3RoLzMpKSxkPWJbNjRdfHwiIixlPTAsZj0wO2U8YS5sZW5ndGgtMjtlKz0zKXt2YXIgaD1hW2VdLGs9YVtlKzFdLGw9YVtlKzJdLG09YltoPj4yXTtoPWJbKGgmMyk8PDR8az4+NF07az1iWyhrJjE1KTw8MnxsPj42XTtsPWJbbCY2M107Y1tmKytdPW0raCtrK2x9bT0wO2w9ZDtzd2l0Y2goYS5sZW5ndGgtZSl7Y2FzZSAyOm09YVtlKzFdLGw9YlsobSYxNSk8PDJdfHxkO2Nhc2UgMTphPWFbZV0sY1tmXT1iW2E+PjJdK2JbKGEmMyk8PDR8bT4+NF0rbCtkfXJldHVybiBjLmpvaW4oIiIpfTsKXy51Yz1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aCxjPWIqMy80O2MlMz9jPU1hdGguZmxvb3IoYyk6Ij0uIi5pbmRleE9mKGFbYi0xXSkhPS0xJiYoYz0iPS4iLmluZGV4T2YoYVtiLTJdKSE9LTE/Yy0yOmMtMSk7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoYyksZT0wO3RjKGEsZnVuY3Rpb24oZil7ZFtlKytdPWZ9KTtyZXR1cm4gZSE9PWM/ZC5zdWJhcnJheSgwLGUpOmR9O3RjPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhlKXtmb3IoO2Q8YS5sZW5ndGg7KXtsZXQgZj1hLmNoYXJBdChkKyspLGg9dmNbZl07aWYoaCE9bnVsbClyZXR1cm4gaDtpZighL15bXHNceGEwXSokLy50ZXN0KGYpKXRocm93IEVycm9yKCJtYCIrZik7fXJldHVybiBlfXFjKCk7Zm9yKHZhciBkPTA7Oyl7bGV0IGU9YygtMSksZj1jKDApLGg9Yyg2NCksaz1jKDY0KTtpZihrPT09NjQmJmU9PT0tMSlicmVhaztiKGU8PDJ8Zj4+NCk7aCE9NjQmJihiKGY8PDQmMjQwfGg+PjIpLGshPTY0JiZiKGg8PDYmMTkyfGspKX19OwpxYz1mdW5jdGlvbigpe2lmKCF2Yyl7dmM9e307dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksYj1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXTtmb3IobGV0IGM9MDtjPDU7YysrKXtsZXQgZD1hLmNvbmNhdChiW2NdLnNwbGl0KCIiKSk7cmNbY109ZDtmb3IobGV0IGU9MDtlPGQubGVuZ3RoO2UrKyl7bGV0IGY9ZFtlXTt2Y1tmXT09PXZvaWQgMCYmKHZjW2ZdPWUpfX19fTtfLnhjPWZ1bmN0aW9uKGEsYil7aWYoYSE9bnVsbCl7dmFyIGM9d2M/Pyh3Yz17fSk7dmFyIGQ9Y1thXXx8MDtkPj1ifHwoY1thXT1kKzEsYT1FcnJvcigpLF8uQmIoYSwiaW5jaWRlbnQiKSxfLiRiKGEpKX19O18ueWM9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYiYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpfTsKXy5CYz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuaiE9PV8uemMmJiEhKDImKGEuRGFbXy5BY118MCkpOiEhKDImYikmJmEuaiE9PV8uemN9O18uQ2M9ZnVuY3Rpb24oYSl7YS51Sj0hMDtyZXR1cm4gYX07Xy5GYz1mdW5jdGlvbihhKXtpZihEYyhhKSl7aWYoIS9eXHMqKD86LT9bMS05XVxkKnwwKT9ccyokLy50ZXN0KGEpKXRocm93IEVycm9yKFN0cmluZyhhKSk7fWVsc2UgaWYoRWMoYSkmJiFOdW1iZXIuaXNTYWZlSW50ZWdlcihhKSl0aHJvdyBFcnJvcihTdHJpbmcoYSkpO3JldHVybiBCaWdJbnQoYSl9O0djPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtJYz1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLnhjKEhjLDEpfTsKTGM9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLkdhKF8uSmMpLGg7IWUmJmYmJihoPWFbZl0pJiZoLmN3KEljKTtmPVtdO3ZhciBrPWEubGVuZ3RoO2g9NDI5NDk2NzI5NTt2YXIgbD0hMSxtPSEhKGImNjQpLG49bT9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBwPWsmJmFbay0xXTtwIT1udWxsJiZ0eXBlb2YgcD09PSJvYmplY3QiJiZwLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhrLS0saD1rKTpwPXZvaWQgMDshbXx8YiYxMjh8fGV8fChsPSEwLGg9KEtjPz9HYykoaC1uLG4sYSxwLHZvaWQgMCkrbil9Yj12b2lkIDA7Zm9yKGU9MDtlPGs7ZSsrKXtsZXQgcj1hW2VdO2lmKHIhPW51bGwmJihyPWMocixkKSkhPW51bGwpaWYobSYmZT49aCl7bGV0IHQ9ZS1uOyhiPz8oYj17fSkpW3RdPXJ9ZWxzZSBmW2VdPXJ9aWYocClmb3IobGV0IHIgaW4gcCl7YT1wW3JdO2lmKGE9PW51bGx8fChhPWMoYSxkKSk9PW51bGwpY29udGludWU7az0rcjsKbGV0IHQ7bSYmIU51bWJlci5pc05hTihrKSYmKHQ9aytuKTxoP2ZbdF09YTooYj8/KGI9e30pKVtyXT1hfWImJihsP2YucHVzaChiKTpmW2hdPWIpO3JldHVybiBmfTtOYz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLk1jKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXtsZXQgYj1hW18uQWNdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYiYxP3ZvaWQgMDpMYyhhLGIsTmMpfWlmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBRYyhhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy5SYyYmYSBpbnN0YW5jZW9mIF8uUmMpcmV0dXJuIGEubygpO3JldHVybn1yZXR1cm4gYX07ClVjPWZ1bmN0aW9uKGEsYil7aWYoYil7S2M9Yj09bnVsbHx8Yj09PUdjfHxiW1NjXSE9PVRjP0djOmI7dHJ5e3JldHVybiBRYyhhKX1maW5hbGx5e0tjPXZvaWQgMH19cmV0dXJuIFFjKGEpfTtRYz1mdW5jdGlvbihhKXthPWEuRGE7cmV0dXJuIExjKGEsYVtfLkFjXXwwLE5jKX07Cl8uWGM9ZnVuY3Rpb24oYSxiLGMsZD0wKXtpZihhPT1udWxsKXt2YXIgZT0zMjtjPyhhPVtjXSxlfD0xMjgpOmE9W107YiYmKGU9ZSYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJzIik7ZT1hW18uQWNdfDA7aWYoVmMmJjEmZSl0aHJvdyBFcnJvcigidCIpOzIwNDgmZSYmISgyJmUpJiZXYygpO2lmKGUmMjU2KXRocm93IEVycm9yKCJ1Iik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJihhW18uQWNdPWV8ZCksYTtpZihjJiYoZXw9MTI4LGMhPT1hWzBdKSl0aHJvdyBFcnJvcigidiIpO2E6e2M9YTtlfD02NDt2YXIgZj1jLmxlbmd0aDtpZihmKXt2YXIgaD1mLTE7bGV0IGw9Y1toXTtpZihsIT1udWxsJiZ0eXBlb2YgbD09PSJvYmplY3QiJiZsLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtiPWUmMTI4PzA6LTE7aC09YjtpZihoPj0xMDI0KXRocm93IEVycm9yKCJ4Iik7Zm9yKHZhciBrIGluIGwpaWYoZj0rayxmPGgpY1tmKwpiXT1sW2tdLGRlbGV0ZSBsW2tdO2Vsc2UgYnJlYWs7ZT1lJi0xNjc2MDgzM3woaCYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoInkiKTtlPWUmLTE2NzYwODMzfChrJjEwMjMpPDwxNH19fWFbXy5BY109ZXw2NHxkO3JldHVybiBhfTtXYz1mdW5jdGlvbigpe2lmKFZjKXRocm93IEVycm9yKCJ3Iik7Xy54YyhZYyw1KX07CmNkPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4gYTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYz1hW18uQWNdfDA7YS5sZW5ndGg9PT0wJiZjJjE/YT12b2lkIDA6YyYyfHwoIWJ8fDQwOTYmY3x8MTYmYz9hPV8uWmMoYSxjLCExLGImJiEoYyYxNikpOihhW18uQWNdfD0zNCxjJjQmJk9iamVjdC5mcmVlemUoYSkpKTtyZXR1cm4gYX1pZihhIT1udWxsJiZhW18uT2NdPT09Xy5QYylyZXR1cm4gYj1hLkRhLGM9YltfLkFjXXwwLF8uQmMoYSxjKT9hOl8uJGMoYSxiLGMpP18uYmQoYSxiKTpfLlpjKGIsYyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIF8uUmMmJmEgaW5zdGFuY2VvZiBfLlJjKXJldHVybiBhfTtfLmJkPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmo9Xy56Yyk7YS5vPV8uemM7cmV0dXJuIGF9OwpfLlpjPWZ1bmN0aW9uKGEsYixjLGQpe2Q/PyhkPSEhKDM0JmIpKTthPUxjKGEsYixjZCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDthW18uQWNdPWI7cmV0dXJuIGF9O18uJGM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjJjI/ITA6YyYzMiYmIShjJjQwOTYpPyhiW18uQWNdPWN8MixhLmo9Xy56YywhMCk6ITF9O18uZWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uZGQoYS5EYSxiLGMsZSk7aWYoYiE9PW51bGx8fGQmJmEubyE9PV8uemMpcmV0dXJuIGJ9OwpfLmRkPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGI9PT0tMSlyZXR1cm4gbnVsbDt2YXIgZT1iKyhjPzA6LTEpLGY9YS5sZW5ndGgtMTtpZighKGY8MSsoYz8wOi0xKSkpe2lmKGU+PWYpe3ZhciBoPWFbZl07aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yz1oW2JdO3ZhciBrPSEwfWVsc2UgaWYoZT09PWYpYz1oO2Vsc2UgcmV0dXJufWVsc2UgYz1hW2VdO2lmKGQmJmMhPW51bGwpe2Q9ZChjKTtpZihkPT1udWxsKXJldHVybiBkO2lmKCFPYmplY3QuaXMoZCxjKSlyZXR1cm4gaz9oW2JdPWQ6YVtlXT1kLGR9cmV0dXJuIGN9fTtmZD1mdW5jdGlvbigpe3ZhciBhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhyb3cgRXJyb3IoKTt9fTtPYmplY3Quc2V0UHJvdG90eXBlT2YoYSxhLnByb3RvdHlwZSk7cmV0dXJuIGF9O18uZ2Q9ZnVuY3Rpb24oKXt9OwpoZD1mdW5jdGlvbihhKXt2YXIgYj0hMSxjO3JldHVybiBmdW5jdGlvbigpe2J8fChjPWEoKSxiPSEwKTtyZXR1cm4gY319O2pkPWZ1bmN0aW9uKGEpe3ZhciBiPWlkO2lmKGIpZm9yKGxldCBjIGluIGIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsYykmJmEoYltjXSxjLGIpfTtrZD1mdW5jdGlvbigpe3ZhciBhPVtdO2pkKGI9PnthLnB1c2goYil9KTtyZXR1cm4gYX07bWQ9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSxiPXt9O18udGIobGQoKSxjPT57YS5zYW5kYm94JiZhLnNhbmRib3guc3VwcG9ydHMmJmEuc2FuZGJveC5zdXBwb3J0cyhjKSYmKGJbY109ITApfSk7cmV0dXJuIGJ9O18ubmQ9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07b2Q9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgaW4gYSliLmNhbGwodm9pZCAwLGFbY10sYyxhKX07Cl8ucGQ9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9OwpfLnFkPWZ1bmN0aW9uKGEpe2lmKCFhfHx0eXBlb2YgYSE9PSJvYmplY3QiKXJldHVybiBhO2lmKHR5cGVvZiBhLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChhKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQoYSk7aWYoYSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKGEuZ2V0VGltZSgpKTt2YXIgYj1BcnJheS5pc0FycmF5KGEpP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KGEpfHxhIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IGEuY29uc3RydWN0b3IoYS5sZW5ndGgpO2ZvcihsZXQgYyBpbiBhKWJbY109Xy5xZChhW2NdKTtyZXR1cm4gYn07CnNkPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIGM9YXJndW1lbnRzW2VdO2ZvcihkIGluIGMpYVtkXT1jW2RdO2ZvcihsZXQgZj0wO2Y8cmQubGVuZ3RoO2YrKyl7dmFyIGQ9cmRbZl07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZCkmJihhW2RdPWNbZF0pfX19O18ueGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bmV3IHVkKF8udmQoYSkpOndkfHwod2Q9bmV3IHVkKX07Xy55ZD1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLm5kKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLnpkPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKQWQ9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoZSl7ZSYmYi5hcHBlbmRDaGlsZCh0eXBlb2YgZT09PSJzdHJpbmciP2EuY3JlYXRlVGV4dE5vZGUoZSk6ZSl9Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV07IV8ueWEoZil8fF8uQWEoZikmJmYubm9kZVR5cGU+MD9kKGYpOl8udGIoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIj9fLnliKGYpOmYsZCl9fTtfLkNkPWZ1bmN0aW9uKGEpe3JldHVybiBCZChkb2N1bWVudCxhKX07QmQ9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy5EZD1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5wYXJlbnROb2RlP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTpudWxsfTsKXy52ZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Xy5GZD1mdW5jdGlvbihhKXtyZXR1cm4gYS50YWdOYW1lPT0iQSImJmEuaGFzQXR0cmlidXRlKCJocmVmIil8fGEudGFnTmFtZT09IklOUFVUInx8YS50YWdOYW1lPT0iVEVYVEFSRUEifHxhLnRhZ05hbWU9PSJTRUxFQ1QifHxhLnRhZ05hbWU9PSJCVVRUT04iPyFhLmRpc2FibGVkJiYoIWEuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHxFZChhKSk6YS5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJkVkKGEpfTtFZD1mdW5jdGlvbihhKXthPWEudGFiSW5kZXg7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciImJmE+PTAmJmE8MzI3Njh9O3VkPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfHxfLnUuZG9jdW1lbnR8fGRvY3VtZW50fTsKR2Q9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigiQmAiK2EpO2lmKGMhPT0iaHR0cCImJmMhPT0iaHR0cHMiJiZjIT09ImNocm9tZS1leHRlbnNpb24iJiZjIT09Im1vei1leHRlbnNpb24iJiYKYyE9PSJmaWxlIiYmYyE9PSJhbmRyb2lkLWFwcCImJmMhPT0iY2hyb21lLXNlYXJjaCImJmMhPT0iY2hyb21lLXVudHJ1c3RlZCImJmMhPT0iY2hyb21lIiYmYyE9PSJhcHAiJiZjIT09ImRldnRvb2xzIil0aHJvdyBFcnJvcigiQ2AiK2MpO2E9IiI7dmFyIGQ9Yi5pbmRleE9mKCI6Iik7aWYoZCE9LTEpe3ZhciBlPWIuc3Vic3RyaW5nKGQrMSk7Yj1iLnN1YnN0cmluZygwLGQpO2lmKGM9PT0iaHR0cCImJmUhPT0iODAifHxjPT09Imh0dHBzIiYmZSE9PSI0NDMiKWE9IjoiK2V9cmV0dXJuIGMrIjovLyIrYithfTsKSGQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7ZVswXT0xNzMyNTg0MTkzO2VbMV09NDAyMzIzMzQxNztlWzJdPTI1NjIzODMxMDI7ZVszXT0yNzE3MzM4Nzg7ZVs0XT0zMjg1Mzc3NTIwO249bT0wfWZ1bmN0aW9uIGIocCl7Zm9yKHZhciByPWgsdD0wO3Q8NjQ7dCs9NClyW3QvNF09cFt0XTw8MjR8cFt0KzFdPDwxNnxwW3QrMl08PDh8cFt0KzNdO2Zvcih0PTE2O3Q8ODA7dCsrKXA9clt0LTNdXnJbdC04XV5yW3QtMTRdXnJbdC0xNl0sclt0XT0ocDw8MXxwPj4+MzEpJjQyOTQ5NjcyOTU7cD1lWzBdO3ZhciB2PWVbMV0sej1lWzJdLEU9ZVszXSxBPWVbNF07Zm9yKHQ9MDt0PDgwO3QrKyl7aWYodDw0MClpZih0PDIwKXt2YXIgRj1FXnYmKHpeRSk7dmFyIEM9MTUxODUwMDI0OX1lbHNlIEY9dl56XkUsQz0xODU5Nzc1MzkzO2Vsc2UgdDw2MD8oRj12Jnp8RSYodnx6KSxDPTI0MDA5NTk3MDgpOihGPXZeel5FLEM9MzM5NTQ2OTc4Mik7Rj0oKHA8PDV8cD4+PjI3KSY0Mjk0OTY3Mjk1KStGKwpBK0Mrclt0XSY0Mjk0OTY3Mjk1O0E9RTtFPXo7ej0odjw8MzB8dj4+PjIpJjQyOTQ5NjcyOTU7dj1wO3A9Rn1lWzBdPWVbMF0rcCY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt2JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK3omNDI5NDk2NzI5NTtlWzNdPWVbM10rRSY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStBJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhwLHIpe2lmKHR5cGVvZiBwPT09InN0cmluZyIpe3A9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHApKTtmb3IodmFyIHQ9W10sdj0wLHo9cC5sZW5ndGg7djx6Oysrdil0LnB1c2gocC5jaGFyQ29kZUF0KHYpKTtwPXR9cnx8KHI9cC5sZW5ndGgpO3Q9MDtpZihtPT0wKWZvcig7dCs2NDxyOyliKHAuc2xpY2UodCx0KzY0KSksdCs9NjQsbis9NjQ7Zm9yKDt0PHI7KWlmKGZbbSsrXT1wW3QrK10sbisrLG09PTY0KWZvcihtPTAsYihmKTt0KzY0PHI7KWIocC5zbGljZSh0LHQrNjQpKSx0Kz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHA9W10scj0Kbio4O208NTY/YyhrLDU2LW0pOmMoayw2NC0obS01NikpO2Zvcih2YXIgdD02Mzt0Pj01Njt0LS0pZlt0XT1yJjI1NSxyPj4+PTg7YihmKTtmb3IodD1yPTA7dDw1O3QrKylmb3IodmFyIHY9MjQ7dj49MDt2LT04KXBbcisrXT1lW3RdPj52JjI1NTtyZXR1cm4gcH1mb3IodmFyIGU9W10sZj1bXSxoPVtdLGs9WzEyOF0sbD0xO2w8NjQ7KytsKWtbbF09MDt2YXIgbSxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxrdjpmdW5jdGlvbigpe2Zvcih2YXIgcD1kKCkscj0iIix0PTA7dDxwLmxlbmd0aDt0Kyspcis9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHBbdF0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHBbdF0lMTYpO3JldHVybiByfX19O0pkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1TdHJpbmcoXy51LmxvY2F0aW9uLmhyZWYpO3JldHVybiBkJiZhJiZiP1tiLElkKEdkKGQpLGEsY3x8bnVsbCldLmpvaW4oIiAiKTpudWxsfTsKSWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnRiKGQsZnVuY3Rpb24oayl7ZS5wdXNoKGspfSksS2QoZS5qb2luKCIgIikpO3ZhciBmPVtdLGg9W107Xy50YihjLGZ1bmN0aW9uKGspe2gucHVzaChrLmtleSk7Zi5wdXNoKGsudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy50YihkLGZ1bmN0aW9uKGspe2UucHVzaChrKX0pO2E9S2QoZS5qb2luKCIgIikpO2E9W2MsYV07aC5sZW5ndGg9PTB8fGEucHVzaChoLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9O0tkPWZ1bmN0aW9uKGEpe3ZhciBiPUhkKCk7Yi51cGRhdGUoYSk7cmV0dXJuIGIua3YoKS50b0xvd2VyQ2FzZSgpfTtMZD1mdW5jdGlvbihhKXt0aGlzLmo9YXx8e2Nvb2tpZToiIn19OwpNZD1mdW5jdGlvbihhKXthPShhLmouY29va2llfHwiIikuc3BsaXQoIjsiKTt2YXIgYj1bXSxjPVtdO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZD1hW2ZdLnRyaW0oKTt2YXIgZT1kLmluZGV4T2YoIj0iKTtlPT0tMT8oYi5wdXNoKCIiKSxjLnB1c2goZCkpOihiLnB1c2goZC5zdWJzdHJpbmcoMCxlKSksYy5wdXNoKGQuc3Vic3RyaW5nKGUrMSkpKX1yZXR1cm57a2V5czpiLHZhbHVlczpjfX07Xy5OZD1mdW5jdGlvbigpe3ZhciBhPV8udS5fX1NBUElTSUR8fF8udS5fX0FQSVNJRHx8Xy51Ll9fM1BTQVBJU0lEfHxfLnUuX18xUFNBUElTSUR8fF8udS5fX09WRVJSSURFX1NJRDtpZihhKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoYT1uZXcgTGQoZG9jdW1lbnQpLGE9YS5nZXQoIlNBUElTSUQiKXx8YS5nZXQoIkFQSVNJRCIpfHxhLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8YS5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhYX07Ck9kPWZ1bmN0aW9uKGEsYixjLGQpeyhhPV8udVthXSl8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoYT0obmV3IExkKGRvY3VtZW50KSkuZ2V0KGIpKTtyZXR1cm4gYT9KZChhLGMsZCk6bnVsbH07Cl8uUGQ9ZnVuY3Rpb24oYSl7dmFyIGI9R2QoXy51Py5sb2NhdGlvbi5ocmVmKSxjPVtdO2lmKF8uTmQoKSl7Yj1iLmluZGV4T2YoImh0dHBzOiIpPT0wfHxiLmluZGV4T2YoImNocm9tZS1leHRlbnNpb246Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLXVudHJ1c3RlZDovL25ldy10YWItcGFnZSIpPT0wfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTA7dmFyIGQsZT0oZD1iKT9fLnUuX19TQVBJU0lEOl8udS5fX0FQSVNJRDtlfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KGU9bmV3IExkKGRvY3VtZW50KSxlPWUuZ2V0KGQ/IlNBUElTSUQiOiJBUElTSUQiKXx8ZS5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhkPWU/SmQoZSxkPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLGEpOm51bGwpJiZjLnB1c2goZCk7YiYmKChiPU9kKCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsYSkpJiZjLnB1c2goYiksKGE9T2QoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpfXJldHVybiBjLmxlbmd0aD09MD9udWxsOmMuam9pbigiICIpfTtTZD1mdW5jdGlvbihhKXtfLlFkP2EoXy5RZCk6KFJkPz8oUmQ9W10pKS5wdXNoKGEpfTtfLlZkPWZ1bmN0aW9uKCl7IV8uUWQmJl8uVGQmJl8uVWQoXy5UZCgpKTtyZXR1cm4gXy5RZH07Xy5VZD1mdW5jdGlvbihhKXtfLlFkPWE7UmQ/LmZvckVhY2goU2QpO1JkPXZvaWQgMH07Xy5XZD1mdW5jdGlvbihhKXtfLlFkJiZfLlFkLlJvKGEpfTtfLlhkPWZ1bmN0aW9uKCl7Xy5RZCYmXy5RZC55ZSgpfTsKWWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxfLnhkKCk7Yj1jLmo7dmFyIGQ9Yy5jcmVhdGVFbGVtZW50KCJTVFlMRSIpLGU9aGIoInN0eWxlIixiKTtlJiZkLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpO2QudHlwZT0idGV4dC9jc3MiO2M9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdO2Quc3R5bGVTaGVldD9kLnN0eWxlU2hlZXQuY3NzVGV4dD1hOmQuYXBwZW5kQ2hpbGQoYi5jcmVhdGVUZXh0Tm9kZShhKSk7Yy5hcHBlbmRDaGlsZChkKTtyZXR1cm4gZH07Xy5aZD1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07Xy4kZD1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWFyZ3VtZW50cy5sZW5ndGg7YjxjOysrYil7bGV0IGQ9YXJndW1lbnRzW2JdO18ueWEoZCk/Xy4kZC5hcHBseShudWxsLGQpOl8uWmQoZCl9fTtfLmFlPWZ1bmN0aW9uKCl7dGhpcy5ZPXRoaXMuWTt0aGlzLks9dGhpcy5LfTtiZT1mdW5jdGlvbigpe18uYWUuY2FsbCh0aGlzKX07CmNlPWZ1bmN0aW9uKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9O2VlPWZ1bmN0aW9uKGEsYil7Xy5hZS5jYWxsKHRoaXMpO3RoaXMuaj1hO3RoaXMuRD1iO3RoaXMuQj1kZT9udWxsOltdO3RoaXMudj1kZT9udWxsOltdO3RoaXMubz1kZT9udWxsOltdO3RoaXMuST0hMX07ZmU9ZnVuY3Rpb24oYSxiKXthLm98fChhLm89W10pO2Euby5wdXNoKG5ldyB2YS53ayhiLHZvaWQgMCkpfTtnZT1mdW5jdGlvbihhLGIsYyl7YS5CfHwoYS5CPVtdKTthLkIucHVzaChuZXcgdmEud2soYixjKSl9O2hlPWZ1bmN0aW9uKGEsYil7YS52fHwoYS52PVtdKTthLnYucHVzaChuZXcgdmEud2soYix2b2lkIDApKX07aWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrKyl0cnl7YVtkXS5leGVjdXRlKGIpfWNhdGNoKGUpe18uJGIoZSksYy5wdXNoKGUpfWEubGVuZ3RoPTA7cmV0dXJuIGMubGVuZ3RoP2M6bnVsbH07amU9ZnVuY3Rpb24oKXt0aGlzLlk9bnVsbH07CmtlPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LGM9Yi5zdHlsZVNoZWV0cy5sZW5ndGgsZD1ZZChhLG5ldyB1ZChiKSk7ZC5zZXRBdHRyaWJ1dGUoImRhdGEtbGF0ZS1jc3MiLCIiKTtiLnN0eWxlU2hlZXRzLmxlbmd0aD09YysxJiZfLnZiKGIuc3R5bGVTaGVldHMsZT0+KGUub3duZXJOb2RlfHxlLm93bmluZ0VsZW1lbnQpPT1kKX07cWU9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz1sZShhKSxkPW5ldyBtZSxlPV8uTWIoYylbNV07b2QobmUsZnVuY3Rpb24oaCl7dmFyIGs9ZS5tYXRjaCgiLyIraCsiPShbXi9dKykiKTtrJiZvZShkLGgsa1sxXSl9KTt2YXIgZj0iIjtmPWEuaW5kZXhPZigiXy9zcy8iKSE9LTE/Il8vc3MvIjoiXy9qcy8iO3BlKGQsYS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpKTtpZighYilyZXR1cm4gZDsoYT1fLk1iKGMpWzZdfHxudWxsKSYmXy5SYihhLChoLGspPT57ZC52W2hdPWt9KTtyZXR1cm4gZH07CmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN0YXJ0c1dpdGgoImh0dHBzOi8vdWJlcnByb3h5LXBlbi1yZWRpcmVjdC5jb3JwLmdvb2dsZS5jb20vdWJlcnByb3h5L3Blbj91cmw9Iik/YS5zdWJzdHIoNjUpOmF9O3JlPWZ1bmN0aW9uKGEpe2E9Xy5RYihsZShhKSk7cmV0dXJuIGE9PT1udWxsPyExOlJlZ0V4cCgiKC9fL2pzLyl8KC9fL3NzLykiLCJnIikudGVzdChhKT8vXC9rPS8udGVzdChhKTohMX07b2U9ZnVuY3Rpb24oYSxiLGMpe2M/YS5qW2JdPWM6ZGVsZXRlIGEualtiXX07cGU9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnZlPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9ZD0+e2EualtkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EualtkXSl9O3NlKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5qfHxvZShhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuai5leGNtfHxhLmouZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksdGUoYSwiYnIiKSE9IjEiJiZ0ZShhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLHRlKGEsInJiIik9PSIxIiYmYygicmIiKSx0ZShhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLHVlKGEpIT09IiImJmMoInd0IiksYygiZ3NzbW9kdWxlc2V0cHJvdG8iKSxjKCJ1amciKSxjKCJzcCIpLGMoImljaGMiKSwKYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9O3RlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEualtiXT9hLmpbYl06bnVsbH07c2U9ZnVuY3Rpb24oYSl7YT10ZShhLCJtZCIpO3JldHVybiEhYSYmYSE9PSIwIn07dWU9ZnVuY3Rpb24oYSl7c3dpdGNoKHRlKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fTt3ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4bSIsYi5qb2luKCIsIikpKTpvZShhLCJleG0iLG51bGwpfTt4ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4Y20iLGIuam9pbigiLCIpKSk6b2UoYSwiZXhjbSIsbnVsbCl9Owp5ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10ZShhLCJtIikpP2Euc3BsaXQoIiwiKTpbXX07emU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iIGluc3RhbmNlb2YgTWFwP0FycmF5LmZyb20oYi5lbnRyaWVzKCkpLmZpbHRlcigoWyxkXSk9PmQmJmQuc2l6ZT4wKS5tYXAoKFtkLGVdKT0+e2U9QXJyYXkuZnJvbShlKTtlLmxlbmd0aD4xJiZlLnNvcnQoKTtyZXR1cm4gZCsiOiIrZS5qb2luKCIsIil9KTpPYmplY3Qua2V5cyhiKS5maWx0ZXIoZD0+ISFPYmplY3Qua2V5cyhiW2RdKS5sZW5ndGgpLm1hcChkPT57dmFyIGU9T2JqZWN0LmtleXMoYltkXSk7ZS5sZW5ndGg+MSYmZS5zb3J0KCk7cmV0dXJuIGQrIjoiK2Uuam9pbigiLCIpfSk7Yy5zb3J0KCk7b2UoYSwiZWUiLGMuam9pbigiOyIpKX07CkNlPWZ1bmN0aW9uKGEpe2E9dGUoYSwiZWUiKTtpZihBZSl7aWYoIWEpcmV0dXJuIG5ldyBNYXA7dmFyIGI9bmV3IE1hcCxjPWEuc3BsaXQoIjsiKTtmb3IodmFyIGQgb2YgYyl7bGV0IFtmLGhdPWQuc3BsaXQoIjoiKTtjPW5ldyBTZXQ7Yi5zZXQoZixjKTtmb3IodmFyIGUgb2YgaC5zcGxpdCgiLCIpKWMuYWRkKGUpfXJldHVybiBifWlmKCFhKXJldHVybnt9O2Q9e307ZT1hLnNwbGl0KCI7Iik7Zm9yKGIgb2YgZSl7bGV0IFtmLGhdPWIuc3BsaXQoIjoiKTtkW2ZdPXt9O2ZvcihjIG9mIGguc3BsaXQoIiwiKSlkW2ZdW2NdPSEwfXJldHVybiBkfTtEZT1mdW5jdGlvbihhKXtkZWxldGUgYS5qLm07ZGVsZXRlIGEuai5leG07ZGVsZXRlIGEuai5lZH07CkVlPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiZkb2N1bWVudCYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQmJihhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKSl7bGV0IGI9YS50YWdOYW1lLnRvVXBwZXJDYXNlKCk7aWYoYj09IlNDUklQVCJ8fGI9PSJMSU5LIilyZXR1cm4gYX1yZXR1cm4gbnVsbH07RmU9ZnVuY3Rpb24oYT0iIixiKXtpZihhJiZiKXRocm93IEVycm9yKCJMIik7dmFyIGM9IiI7dmFyIGQ9Xy51Ll9GX2pzVXJsOyhhPWJ8fEVlKGEpKSYmKGM9YS5zcmM/YS5zcmM6YS5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYoZCYmYyl7aWYoZCE9Yyl0aHJvdyBFcnJvcigiTWAiK2QrImAiK2MpO2M9ZH1lbHNlIGM9ZHx8YztpZighcmUoYykpdGhyb3cgRXJyb3IoIk4iKTtyZXR1cm4gY307CkhlPWZ1bmN0aW9uKCl7aWYoIUdlKXtHZT0hMDt0cnl7dmFyIGE9RmUoXy51Ll9GX2pzVXJsPyIiOiJiYXNlLWpzIil9Y2F0Y2goYyl7cmV0dXJufXZhciBiPUNlKHFlKGEpKTtpZihiIGluc3RhbmNlb2YgTWFwKWIuc2l6ZSE9PTAmJlNkKGM9Pntmb3IobGV0IFtkLGVdb2YgYi5lbnRyaWVzKCkpe2xldCBmPWQsaD1lO2ZvcihsZXQgayBvZiBoKWMubmkoZixrKX19KTtlbHNle2xldCBjPU9iamVjdC5rZXlzKGIpO2MubGVuZ3RoIT09MCYmU2QoZD0+e2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1iW2VdO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhmKSlkLm5pKGUsaCl9fSl9fX07Xy5KZT1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT0iZnVuY3Rpb24iPT10eXBlb2YgXy5JZSYmYSBpbnN0YW5jZW9mIF8uSWU/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMubz0hMX07CktlPWZ1bmN0aW9uKGEsYil7Xy5KZS5jYWxsKHRoaXMsYT9hLnR5cGU6IiIpO3RoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLmo9bnVsbDthJiZ0aGlzLmluaXQoYSxiKX07Ck1lPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5saXN0ZW5lcj1hO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1iO3RoaXMudHlwZT1jO3RoaXMuY2FwdHVyZT0hIWQ7dGhpcy5oYW5kbGVyPWU7dGhpcy5rZXk9KytMZTt0aGlzLk5oPXRoaXMuemk9ITF9O05lPWZ1bmN0aW9uKGEpe2EuTmg9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuaGFuZGxlcj1udWxsfTtPZT1mdW5jdGlvbihhKXt0aGlzLnNyYz1hO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuaj0wfTtQZT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudHlwZTtjIGluIGEubGlzdGVuZXJzJiZfLnhiKGEubGlzdGVuZXJzW2NdLGIpJiYoTmUoYiksYS5saXN0ZW5lcnNbY10ubGVuZ3RoPT0wJiYoZGVsZXRlIGEubGlzdGVuZXJzW2NdLGEuai0tKSl9OwpRZT1mdW5jdGlvbihhLGIsYyxkKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoOysrZSl7bGV0IGY9YVtlXTtpZighZi5OaCYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuaGFuZGxlcj09ZClyZXR1cm4gZX1yZXR1cm4tMX07Xy5TZT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQmJmQub25jZSlyZXR1cm4gUmUoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylfLlNlKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz1UZShjKTtyZXR1cm4gYSYmYVtVZV0/YS5saXN0ZW4oYixjLF8uQWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlZlKGEsYixjLCExLGQsZSl9OwpWZT1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoIk8iKTt2YXIgaD1fLkFhKGUpPyEhZS5jYXB0dXJlOiEhZSxrPVdlKGEpO2t8fChhW1hlXT1rPW5ldyBPZShhKSk7Yz1rLmFkZChiLGMsZCxoLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1ZZSgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpZT09PXZvaWQgMCYmKGU9ITEpLGEuYWRkRXZlbnRMaXN0ZW5lcihiLnRvU3RyaW5nKCksZCxlKTtlbHNlIGlmKGEuYXR0YWNoRXZlbnQpYS5hdHRhY2hFdmVudChaZShiLnRvU3RyaW5nKCkpLGQpO2Vsc2UgaWYoYS5hZGRMaXN0ZW5lciYmYS5yZW1vdmVMaXN0ZW5lcilhLmFkZExpc3RlbmVyKGQpO2Vsc2UgdGhyb3cgRXJyb3IoIlAiKTskZSsrO3JldHVybiBjfTtZZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYyl7cmV0dXJuIGIuY2FsbChhLnNyYyxhLmxpc3RlbmVyLGMpfXZhciBiPWFmO3JldHVybiBhfTsKUmU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylSZShhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9VGUoYyk7cmV0dXJuIGEmJmFbVWVdP18uYmYoYSxiLGMsXy5BYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6VmUoYSxiLGMsITAsZCxlKX07Xy5jZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspXy5jZihhLGJbZl0sYyxkLGUpO2Vsc2UoZD1fLkFhKGQpPyEhZC5jYXB0dXJlOiEhZCxjPVRlKGMpLGEmJmFbVWVdKT9hLm8ucmVtb3ZlKFN0cmluZyhiKSxjLGQsZSk6YSYmKGE9V2UoYSkpJiYoYj1hLmxpc3RlbmVyc1tiLnRvU3RyaW5nKCldLGE9LTEsYiYmKGE9UWUoYixjLGQsZSkpLChjPWE+LTE/YlthXTpudWxsKSYmXy5kZihjKSl9OwpfLmRmPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLk5oKXt2YXIgYj1hLnNyYztpZihiJiZiW1VlXSlQZShiLm8sYSk7ZWxzZXt2YXIgYz1hLnR5cGUsZD1hLnByb3h5O2IucmVtb3ZlRXZlbnRMaXN0ZW5lcj9iLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyxkLGEuY2FwdHVyZSk6Yi5kZXRhY2hFdmVudD9iLmRldGFjaEV2ZW50KFplKGMpLGQpOmIuYWRkTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXIoZCk7JGUtLTsoYz1XZShiKSk/KFBlKGMsYSksYy5qPT0wJiYoYy5zcmM9bnVsbCxiW1hlXT1udWxsKSk6TmUoYSl9fX07WmU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW4gZWY/ZWZbYV06ZWZbYV09Im9uIithfTthZj1mdW5jdGlvbihhLGIpe2lmKGEuTmgpYT0hMDtlbHNle2I9bmV3IEtlKGIsdGhpcyk7bGV0IGM9YS5saXN0ZW5lcixkPWEuaGFuZGxlcnx8YS5zcmM7YS56aSYmXy5kZihhKTthPWMuY2FsbChkLGIpfXJldHVybiBhfTsKV2U9ZnVuY3Rpb24oYSl7YT1hW1hlXTtyZXR1cm4gYSBpbnN0YW5jZW9mIE9lP2E6bnVsbH07VGU9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbZmZdfHwoYVtmZl09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtmZl19O18uZ2Y9ZnVuY3Rpb24oKXtfLmFlLmNhbGwodGhpcyk7dGhpcy5vPW5ldyBPZSh0aGlzKTt0aGlzLkZhPXRoaXM7dGhpcy5NPW51bGx9O18uYmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYS5vLmFkZChTdHJpbmcoYiksYywhMCxkLGUpfTsKaGY9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1hLm8ubGlzdGVuZXJzW1N0cmluZyhiKV07aWYoIWIpcmV0dXJuITA7Yj1iLmNvbmNhdCgpO3ZhciBlPSEwO2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7KytmKXtsZXQgaD1iW2ZdO2lmKGgmJiFoLk5oJiZoLmNhcHR1cmU9PWMpe2xldCBrPWgubGlzdGVuZXIsbD1oLmhhbmRsZXJ8fGguc3JjO2guemkmJlBlKGEubyxoKTtlPWsuY2FsbChsLGQpIT09ITEmJmV9fXJldHVybiBlJiYhZC5kZWZhdWx0UHJldmVudGVkfTtsZj1mdW5jdGlvbigpe3ZhciBhPV8uamY7a2YuaW5zdGFuY2V8fChrZi5pbnN0YW5jZT1uZXcga2YoYSkpO3JldHVybiBrZi5pbnN0YW5jZX07Cm1mPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQj9hLkI6YS5CPW5ldyBQcm9taXNlKGFzeW5jIGM9Pnt2YXIgZD13aW5kb3cuQWJvcnRDb250cm9sbGVyP25ldyB3aW5kb3cuQWJvcnRDb250cm9sbGVyOnZvaWQgMCxlPWQ/LnNpZ25hbCxmPSExO3RyeXtkJiYoYS5qPWEuRGMucGIoKCk9PntkLmFib3J0KCl9LGJ8fDJFNCkpLGF3YWl0IGZldGNoKCIvZ2VuZXJhdGVfMjA0Iix7bWV0aG9kOiJIRUFEIixzaWduYWw6ZX0pLGY9ITB9Y2F0Y2h7Zj0hMX1maW5hbGx5e2EuQj12b2lkIDAsYS5qJiYoYS5EYy5BYShhLmopLGEuaj0wKSxmIT09YS5pc09ubGluZSYmKGEuaXNPbmxpbmU9ZixhLmlzT25saW5lP2EuZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTphLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxjKGYpfX0pfTsKbmY9ZnVuY3Rpb24oYSl7YS5EPWEuRGMucGIoYXN5bmMoKT0+e2EuaXNPbmxpbmU/d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHxhd2FpdCBtZihhKTphd2FpdCBtZihhKTtuZihhKX0sM0U0KX07b2Y9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKChjLGQpPT57YT1jO2I9ZH0pLHJlc29sdmU6YSxyZWplY3Q6Yn19O3JmPWZ1bmN0aW9uKGEpe3ZhciB7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH09b2YoKTtwZi5zZXQoYSx7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH0pO3FmfHwocWY9W10scXVldWVNaWNyb3Rhc2soKCk9Pnt2YXIgZT1bLi4ucWZdO3FmPW51bGw7dmFyIGY9Xy5WZCgpLmFmKGUpO2ZvcihsZXQgaCBvZiBlKWZbaF0udGhlbihwZi5nZXQoaCkucmVzb2x2ZSxwZi5nZXQoaCkucmVqZWN0KX0pKTtxZi5wdXNoKGEpO3JldHVybiBifTsKXy5zZj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTt0Zj1mdW5jdGlvbihhLGIpe2EuQihiKTthLm88MTAwJiYoYS5vKyssYi5uZXh0PWEuaixhLmo9Yil9O3hmPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9dWYucmVtb3ZlKCk7KXt0cnl7YS5mbi5jYWxsKGEuc2NvcGUpfWNhdGNoKGIpe18uJGIoYil9dGYodmYsYSl9d2Y9ITF9O18ueWY9ZnVuY3Rpb24oYSl7YS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITB9O3pmPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3RyeXtyZXR1cm4hIWEuJGdvb2dfVGhlbmFibGV9Y2F0Y2goYil7cmV0dXJuITF9fTsKXy5CZj1mdW5jdGlvbihhLGIpe3RoaXMuaj0wO3RoaXMuST12b2lkIDA7dGhpcy5CPXRoaXMubz10aGlzLnY9bnVsbDt0aGlzLkQ9dGhpcy5LPSExO2lmKGEhPV8uZ2QpdHJ5e2xldCBjPXRoaXM7YS5jYWxsKGIsZnVuY3Rpb24oZCl7Xy5BZihjLDIsZCl9LGZ1bmN0aW9uKGQpe18uQWYoYywzLGQpfSl9Y2F0Y2goYyl7Xy5BZih0aGlzLDMsYyl9fTtDZj1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmNvbnRleHQ9dGhpcy5qPXRoaXMubz10aGlzLmNoaWxkPW51bGw7dGhpcy52PSExfTtfLkVmPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1EZi5nZXQoKTtkLm89YTtkLmo9YjtkLmNvbnRleHQ9YztyZXR1cm4gZH07Xy5IZj1mdW5jdGlvbihhLGIsYyl7RmYoYSxiLGMsbnVsbCl8fEdmKF8uRGEoYixhKSl9OwpfLklmPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe3ZhciBkPWEubGVuZ3RoLGU9W107aWYoZCl7dmFyIGY9ZnVuY3Rpb24obCxtKXtkLS07ZVtsXT1tO2Q9PTAmJmIoZSl9LGg9ZnVuY3Rpb24obCl7YyhsKX07Zm9yKGxldCBsPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBrPWFbbF07Xy5IZihrLF8uRGEoZixsKSxoKX19ZWxzZSBiKGUpfSl9O0tmPWZ1bmN0aW9uKGEsYixjLGQpe18uSmYoYSxfLkVmKGJ8fF8uZ2QsY3x8bnVsbCxkKSl9OwpMZj1mdW5jdGlvbihhLGIpe2lmKGEuaj09MClpZihhLnYpe3ZhciBjPWEudjtpZihjLm8pe3ZhciBkPTAsZT1udWxsLGY9bnVsbDtmb3IobGV0IGg9Yy5vO2gmJihoLnZ8fChkKyssaC5jaGlsZD09YSYmKGU9aCksIShlJiZkPjEpKSk7aD1oLm5leHQpZXx8KGY9aCk7ZSYmKGMuaj09MCYmZD09MT9MZihjLGIpOihmPyhkPWYsZC5uZXh0PT1jLkImJihjLkI9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTpNZihjKSxOZihjLGUsMyxiKSkpfWEudj1udWxsfWVsc2UgXy5BZihhLDMsYil9O18uSmY9ZnVuY3Rpb24oYSxiKXthLm98fGEuaiE9MiYmYS5qIT0zfHxPZihhKTthLkI/YS5CLm5leHQ9YjphLm89YjthLkI9Yn07ClFmPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPV8uRWYobnVsbCxudWxsLG51bGwpO2UuY2hpbGQ9bmV3IF8uQmYoZnVuY3Rpb24oZixoKXtlLm89Yj9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yi5jYWxsKGQsayk7ZihsKX1jYXRjaChsKXtoKGwpfX06ZjtlLmo9Yz9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yy5jYWxsKGQsayk7bD09PXZvaWQgMCYmayBpbnN0YW5jZW9mIF8uUGY/aChrKTpmKGwpfWNhdGNoKGwpe2gobCl9fTpofSk7ZS5jaGlsZC52PWE7Xy5KZihhLGUpO3JldHVybiBlLmNoaWxkfTtfLkFmPWZ1bmN0aW9uKGEsYixjKXthLmo9PTAmJihhPT09YyYmKGI9MyxjPW5ldyBUeXBlRXJyb3IoIlEiKSksYS5qPTEsRmYoYyxhLm5CLGEub0IsYSl8fChhLkk9YyxhLmo9YixhLnY9bnVsbCxPZihhKSxiIT0zfHxjIGluc3RhbmNlb2YgXy5QZnx8UmYoYSxjKSkpfTsKRmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSBpbnN0YW5jZW9mIF8uQmYpcmV0dXJuIEtmKGEsYixjLGQpLCEwO2lmKHpmKGEpKXJldHVybiBhLnRoZW4oYixjLGQpLCEwO2lmKF8uQWEoYSkpdHJ5e2xldCBlPWEudGhlbjtpZih0eXBlb2YgZT09PSJmdW5jdGlvbiIpcmV0dXJuIFNmKGEsZSxiLGMsZCksITB9Y2F0Y2goZSl7cmV0dXJuIGMuY2FsbChkLGUpLCEwfXJldHVybiExfTtTZj1mdW5jdGlvbihhLGIsYyxkLGUpe2Z1bmN0aW9uIGYobCl7a3x8KGs9ITAsZC5jYWxsKGUsbCkpfWZ1bmN0aW9uIGgobCl7a3x8KGs9ITAsYy5jYWxsKGUsbCkpfXZhciBrPSExO3RyeXtiLmNhbGwoYSxoLGYpfWNhdGNoKGwpe2YobCl9fTtPZj1mdW5jdGlvbihhKXthLkt8fChhLks9ITAsR2YoYS50dCxhKSl9O01mPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5vJiYoYj1hLm8sYS5vPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5vfHwoYS5CPW51bGwpO3JldHVybiBifTsKTmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09MyYmYi5qJiYhYi52KWZvcig7YSYmYS5EO2E9YS52KWEuRD0hMTtpZihiLmNoaWxkKWIuY2hpbGQudj1udWxsLFRmKGIsYyxkKTtlbHNlIHRyeXtiLnY/Yi5vLmNhbGwoYi5jb250ZXh0KTpUZihiLGMsZCl9Y2F0Y2goZSl7Xy5VZi5jYWxsKG51bGwsZSl9dGYoRGYsYil9O1RmPWZ1bmN0aW9uKGEsYixjKXtiPT0yP2Euby5jYWxsKGEuY29udGV4dCxjKTphLmomJmEuai5jYWxsKGEuY29udGV4dCxjKX07UmY9ZnVuY3Rpb24oYSxiKXthLkQ9ITA7R2YoZnVuY3Rpb24oKXthLkQmJl8uVWYuY2FsbChudWxsLGIpfSl9O18uUGY9ZnVuY3Rpb24oYSl7Xy5MYS5jYWxsKHRoaXMsYSl9O1dmPWZ1bmN0aW9uKGEpe3JldHVybiBWZihhKS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBKU09OLnBhcnNlKGIucmVzcG9uc2VUZXh0KX0pfTsKVmY9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuKG5ldyBfLkJmKGZ1bmN0aW9uKGQsZSl7dmFyIGY7dHJ5e2Mub3BlbigiR0VUIixhLCEwKX1jYXRjaChoKXtlKG5ldyBYZigiRXJyb3Igb3BlbmluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfWMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoYy5yZWFkeVN0YXRlPT00KXtfLnUuY2xlYXJUaW1lb3V0KGYpO3ZhciBoOyEoaD1fLnNmKGMuc3RhdHVzKSkmJihoPWMuc3RhdHVzPT09MCkmJihoPV8uT2IoYSksaD0hKGg9PSJodHRwInx8aD09Imh0dHBzInx8aD09IiIpKTtoP2QoYyk6ZShuZXcgWWYoYy5zdGF0dXMsYSxjKSl9fTtjLm9uZXJyb3I9ZnVuY3Rpb24oKXtlKG5ldyBYZigiTmV0d29yayBlcnJvciIsYSxjKSl9O2lmKGIuaGVhZGVycylmb3IobGV0IGggaW4gYi5oZWFkZXJzKXtsZXQgaz1iLmhlYWRlcnNbaF07ayE9bnVsbCYmYy5zZXRSZXF1ZXN0SGVhZGVyKGgsayl9Yi53aXRoQ3JlZGVudGlhbHMmJgooYy53aXRoQ3JlZGVudGlhbHM9Yi53aXRoQ3JlZGVudGlhbHMpO2IucmVzcG9uc2VUeXBlJiYoYy5yZXNwb25zZVR5cGU9Yi5yZXNwb25zZVR5cGUpO2IubWltZVR5cGUmJmMub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKTtiLnRpbWVvdXRNcz4wJiYoZj1fLnUuc2V0VGltZW91dChmdW5jdGlvbigpe2Mub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57fTtjLmFib3J0KCk7ZShuZXcgWmYoYSxjKSl9LGIudGltZW91dE1zKSk7dHJ5e2Muc2VuZChudWxsKX1jYXRjaChoKXtjLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e30sXy51LmNsZWFyVGltZW91dChmKSxlKG5ldyBYZigiRXJyb3Igc2VuZGluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfX0pKS5LZyhmdW5jdGlvbihkKXtkIGluc3RhbmNlb2YgXy5QZiYmYy5hYm9ydCgpO3Rocm93IGQ7fSl9O1hmPWZ1bmN0aW9uKGEsYil7Xy5MYS5jYWxsKHRoaXMsYSsiLCB1cmw9IitiKTt0aGlzLnVybD1ifTsKWWY9ZnVuY3Rpb24oYSxiLGMpe1hmLmNhbGwodGhpcywiUmVxdWVzdCBGYWlsZWQsIHN0YXR1cz0iK2EsYixjKTt0aGlzLnN0YXR1cz1hfTtaZj1mdW5jdGlvbihhLGIpe1hmLmNhbGwodGhpcywiUmVxdWVzdCB0aW1lZCBvdXQiLGEsYil9O18uJGY9ZnVuY3Rpb24oYSxiLGMsZCxlPWIpe3ZhciBmPWIubGVuZ3RoLGg9KCk9PntmPTA7YS5vbmxvYWQ9bnVsbDthLm9uZXJyb3I9bnVsbDtrPSgpPT57fX0saz0oKT0+e2goKTt2YXIgbT1lLmZpbHRlcihuPT4hXy5WZCgpLkxhKG4pLmlzTG9hZGVkKCkpO20ubGVuZ3RoIT09MD9kKG0sYFJlc3BvbnNlIHdhcyBzdWNjZXNzZnVsIGJ1dCB3YXMgbWlzc2luZyBtb2R1bGUocykgJHttfS5gKTpjKCl9LGw9KCk9PntmLS07Zj09MCYmaygpfTtiLmZvckVhY2gobT0+e209Xy5WZCgpLkxhKG0pO20uaXNMb2FkZWQoKT9sKCk6KGZlKG0sbCksaGUobSxsKSl9KTthLm9ubG9hZD0oKT0+aygpO2Eub25lcnJvcj0oKT0+e2goKTtkKGIpfX07Cl8uYWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMSxkPVtdO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7KytlKXtsZXQgZj1iW2VdO2EuQltmXXx8KGEuQltmXT0hMCxhLloucHVzaChmKSxjPSEwLGQucHVzaChmKSl9YyYmKGEub2E9ITEpfTtiZz1mdW5jdGlvbihhLGIpe2lmKGIuaHJlZnx8Yi5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKWlmKGI9Yi5ocmVmfHxiLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIikscmUoYikmJiFxZShiKS5vLmVuZHNXaXRoKCJfL2pzLyIpKXtiPXllKHFlKGIpKTtmb3IobGV0IGMgb2YgYilhLmhhLmluY2x1ZGVzKGMpfHxhLmhhLnB1c2goYyl9fTtkZz1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPSgpPT57fSxmPSExKXtjZyhhLGIsKGgsayxsPWspPT57YS5NYSYmZj9hLlFhKGgsayxkLGUsbCk6YS5sb2FkKGgsayxkLGUsbCxjKX0sYyl8fGQoLTEpfTtlZz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmZpbHRlcihjPT4hYS5CW2NdKX07CmZnPWZ1bmN0aW9uKGEsYixjLHtZZDpkLG9uRXJyb3I6ZSxvblN1Y2Nlc3M6Zixmb3JjZVJlbG9hZDpofT17fSl7YS5NPWM7aWYoIWIpdGhyb3cgRXJyb3IoIlMiKTtpZihhLlZkKXtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIikpYmcoYSxrKTtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSliZyhhLGspfWRnKGEsZWcoYSxiKSxkLGUsZixoKX07CmNnPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEudilyZXR1cm4gYS52LnRoZW4oKCk9PntjZyhhLGIsYyxkKX0pLCEwO2lmKCFhLkQpe2xldCBmPVtdO3ZhciBlPU9iamVjdC5hc3NpZ24oe30sYS5CKTtnZyhhLGIsaD0+e2YucHVzaChoLmdldElkKCkpfSxkLGg9PiFoLmlzTG9hZGVkKCksZSk7Yj1mfWZvcihlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWIubGVuZ3RoLWUsaD1lPT0wP2I6Yi5zbGljZShlLGIubGVuZ3RoKSxrPWhnKGEsaCxkKSxsPV8uVWEoaykudG9TdHJpbmcoKTtmb3IoO2wubGVuZ3RoPmEuZGk7KWlmKGY+MSlmLT1NYXRoLmNlaWwoKGwubGVuZ3RoLWEuZGkpLzYpLGY9TWF0aC5tYXgoZiwxKSxoPWIuc2xpY2UoZSxlK2YpLGs9aGcoYSxoLGQpLGw9Xy5VYShrKS50b1N0cmluZygpO2Vsc2UgcmV0dXJuIGEuRD8oYS5EPSExLGEudj1pZyhhKS50aGVuKG09PntqZyhhLG0sZCl9KSxjZyhhLGIuc2xpY2UoZSksYyxkKSk6ITE7ZSs9ZjthLkQ/YyhrLGgpOmMoayxoLGU9PT1iLmxlbmd0aD8KYjpbXSl9cmV0dXJuITB9O2tnPWZ1bmN0aW9uKGEpe2Eub2F8fChhLm9hPSEwLGEuWi5zb3J0KCkpO3JldHVybiBhLlp9O2xnPWZ1bmN0aW9uKGEpe2E9YS5oYTthLnNvcnQoKTtyZXR1cm4gYX07aGc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLkQ/bWcoYS5ZLGIse2Nzc1Jvd0tleTphLkZhLEtlOmEueWEsWWQ6YyxtbjprZyhhKSxsbjpsZyhhKX0pOm5nKGEuWSxiLHtjc3NSb3dLZXk6YS5GYSxLZTphLnlhLG1uOmtnKGEpLGxuOmxnKGEpfSl9O18ub2c9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoOysrZCl7bGV0IGU9YltkXTthLkJbZV0mJihkZWxldGUgYS5CW2VdLF8ueGIoYS5aLGUpLGMucHVzaChlKSl9fTsKXy5wZz1mdW5jdGlvbihhLGIsYyxkLGUsZixoPWQpe2EuST1jO2EuZ2EuaW5zZXJ0QmVmb3JlKGMsYS5nYS5maXJzdENoaWxkKTtfLiRmKGMsZCwoKT0+e2MucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChjKTthLkk9PWMmJihhLkk9bnVsbCk7ZigpfSxrPT57Yy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGMpO2EuST09YyYmKGEuST1udWxsKTtfLm9nKGEsayk7YS52P2Eudi50aGVuKCgpPT57ZSgtMSxiKX0pOmUoLTEsYil9LGgpfTtnZz1mdW5jdGlvbihhLGIsYyxkLGUsZj17fSl7dmFyIGg9Xy5WZCgpO2ZvcihsZXQgayBvZiBiKXtiPWguTGEoayk7aWYoZltrXXx8ZSYmIWUoYikpY29udGludWU7ZltrXT0hMDtsZXQgbD1iLmp8fFtdO2lmKGQpe2xldCBtPVtdO2lmKGQgaW5zdGFuY2VvZiBNYXApe2xldCBuPWQuZ2V0KGspO24mJihtPUFycmF5LmZyb20obikpfWVsc2UgZFtrXSYmKG09T2JqZWN0LmtleXMoZFtrXSkpO2w9bC5jb25jYXQobSl9Z2coYSxsLGMsZCxlLGYpO2MoYil9fTsKaWc9ZnVuY3Rpb24oYSl7YT1hLlkuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwibWQiLCIxIik7cmV0dXJuIFdmKGEudG9TdHJpbmcoKSl9O2pnPWZ1bmN0aW9uKGEsYixjKXtfLlZkKCkuVGgoKGJ8fHt9KS5tb2R1bGVHcmFwaCk7Z2coYSxrZyhhKSxkPT57Xy5hZyhhLFtkLmdldElkKCldKX0sYyk7YS52PW51bGx9O3JnPWZ1bmN0aW9uKGEpe2E9YS5idWYuY2hhckNvZGVBdChhLnBvcysrKTtyZXR1cm4gcWdbYV19O3NnPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz0wO2Rve3ZhciBkPXJnKGEpO2J8PShkJjMxKTw8YztjKz01fXdoaWxlKGQmMzIpO3JldHVybiBiPDA/Yis0Mjk0OTY3Mjk2OmJ9O3RnPWZ1bmN0aW9uKGEsYil7dGhpcy5EPVtdO3RoaXMuWj1hO3RoaXMuVT1ifHxudWxsO3RoaXMuQj10aGlzLmo9ITE7dGhpcy52PXZvaWQgMDt0aGlzLk09dGhpcy5nYT10aGlzLkk9ITE7dGhpcy5LPTA7dGhpcy5vPW51bGw7dGhpcy5ZPTB9Owp2Zz1mdW5jdGlvbihhLGIsYyl7YS5qPSEwO2Eudj1jO2EuQj0hYjt1ZyhhKX07eGc9ZnVuY3Rpb24oYSl7aWYoYS5qKXtpZighYS5NKXRocm93IG5ldyB3ZyhhKTthLk09ITF9fTt6Zz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmo7ZXx8KGI9PT1jP2I9Yz0oMCxfLnlnKShiKTooYj0oMCxfLnlnKShiKSxjPSgwLF8ueWcpKGMpKSk7YS5ELnB1c2goW2IsYyxkXSk7ZSYmdWcoYSl9O0FnPWZ1bmN0aW9uKGEpe3JldHVybiBfLnViKGEuRCxmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9Owp1Zz1mdW5jdGlvbihhKXtpZihhLksmJmEuaiYmQWcoYSkpe3ZhciBiPWEuSyxjPUJnW2JdO2MmJihfLnUuY2xlYXJUaW1lb3V0KGMuaiksZGVsZXRlIEJnW2JdKTthLks9MH1hLm8mJihhLm8uWS0tLGRlbGV0ZSBhLm8pO2I9YS52O2Zvcih2YXIgZD1jPSExO2EuRC5sZW5ndGgmJiFhLkk7KXt2YXIgZT1hLkQuc2hpZnQoKSxmPWVbMF07bGV0IGs9ZVsxXTtlPWVbMl07aWYoZj1hLkI/azpmKXRyeXt2YXIgaD1mLmNhbGwoZXx8YS5VLGIpO2g9PT1DZyYmKGg9dm9pZCAwKTtoIT09dm9pZCAwJiYoYS5CPWEuQiYmKGg9PWJ8fGEuaXNFcnJvcihoKSksYS52PWI9aCk7aWYoemYoYil8fHR5cGVvZiBfLnUuUHJvbWlzZT09PSJmdW5jdGlvbiImJmIgaW5zdGFuY2VvZiBfLnUuUHJvbWlzZSlkPSEwLGEuST0hMH1jYXRjaChsKXtiPWwsYS5CPSEwLEFnKGEpfHwoYz0hMCl9fWEudj1iO2QmJihoPSgwLF8uQ2EpKGEuc3AsYSwhMCksZD0oMCxfLkNhKShhLnNwLGEsITEpLGIgaW5zdGFuY2VvZiB0Zz8KKHpnKGIsaCxkKSxiLmdhPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IERnKGIpLEJnW2Iual09YixhLks9Yi5qKX07RWc9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRnO2EudGhlbihmdW5jdGlvbihjKXtiLmNhbGxiYWNrKGMpfSxmdW5jdGlvbihjKXt4ZyhiKTt2ZyhiLCExLGMpfSk7cmV0dXJuIGJ9O3dnPWZ1bmN0aW9uKCl7Xy5MYS5jYWxsKHRoaXMpfTtGZz1mdW5jdGlvbigpe18uTGEuY2FsbCh0aGlzKX07RGc9ZnVuY3Rpb24oYSl7dGhpcy5qPV8udS5zZXRUaW1lb3V0KCgwLF8uQ2EpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLm89YX07CkhnPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnR5cGUpe2Nhc2UgR2cuVHlwZS5wbzpyZXR1cm4iVW5hdXRob3JpemVkIjtjYXNlIEdnLlR5cGUucGs6cmV0dXJuIkNvbnNlY3V0aXZlIGxvYWQgZmFpbHVyZXMiO2Nhc2UgR2cuVHlwZS5USU1FT1VUOnJldHVybiJUaW1lZCBvdXQiO2Nhc2UgR2cuVHlwZS5obzpyZXR1cm4iT3V0IG9mIGRhdGUgbW9kdWxlIGlkIjtjYXNlIEdnLlR5cGUudWs6cmV0dXJuIkluaXQgZXJyb3IiO2RlZmF1bHQ6cmV0dXJuYFVua25vd24gZmFpbHVyZSB0eXBlICR7YS50eXBlfWB9fTsKSWc9ZnVuY3Rpb24oKXt0aGlzLmhhPXRoaXMuWT1udWxsO3RoaXMuRD1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMuSz1bXTt0aGlzLlU9bmV3IFNldDt0aGlzLnY9W107dGhpcy5JPW5ldyBTZXQ7dGhpcy5qPUFlP25ldyBNYXA6e307dGhpcy5NPW5ldyBNYXA7dGhpcy5vPXRoaXMuWj1uZXcgdmEuT2coW10sIiIpO3RoaXMueWE9bnVsbDt0aGlzLmdhPW5ldyB0Zzt0aGlzLkZhPXRoaXMuUWE9dGhpcy5NYT10aGlzLm9hPSExfTtKZz1mdW5jdGlvbihhLGIpe18uTGEuY2FsbCh0aGlzLGBFcnJvciBsb2FkaW5nICR7YX06ICR7Yn1gKX07Ck9nPWZ1bmN0aW9uKGEsYil7aWYoIUtnKXtmb3IodmFyIGM9MDtjPDY0O2MrKylxZ1siQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckNvZGVBdChjKV09YztLZz0hMH1iPXtidWY6Yixwb3M6Mn07c2coYik7Yz1zZyhiKTt2YXIgZD1zZyhiKSsxLGU9QXJyYXkoYyksZj1BcnJheShjKSxoPUFycmF5KGMpO2Q9QXJyYXkoZCk7dmFyIGs9MCxsPTAsbT1iLmJ1ZixuPWIucG9zLHA9Yi5idWYuaW5kZXhPZigifCIsYi5wb3MpO2IucG9zPXArMTtmb3IocD0wO3A8YztwKyspe3ZhciByPXNnKGIpLHQ9ciYyLHY9ciYxO3I+Pj49Mjt2PyhrKz1yPj4+MV4tKHImMSkscj0ic3kiK2sudG9TdHJpbmcoMzYpKToodj1uLG4rPXIscj1tLnN1YnN0cmluZyh2LG4pKTtlW3BdPXI7dCYmKGRbbCsrXT1yKX1kW2xdPSIiO2IucG9zKys7bD1jJi0yO2s9YyYxO2ZvcihtPTA7bTxsO20rPTIpbj1yZyhiKSxoW21dPW4mNyxoW20rMV09Cm4+Pj4zJjc7ayYmKGs9cmcoYiksaFtsXT1rJjcpO2IucG9zKys7Zm9yKGw9MDtsPGM7bCsrKWhbbF09PT03JiYoaFtsXT1zZyhiKSk7Yi5wb3MrKztsPTA7Zm9yKGs9MDtrPGM7aysrKXttPWhba107bj1tPT09MD9MZzpBcnJheShtKTtmW2tdPW47cD1sO2Zvcih0PTA7dDxtO3QrKylwLT1zZyhiKSxuW3RdPWRbcF07ZFtsXT09PWVba10mJmwrK312YXIge2lkczp6LGRlcGVuZGVuY2llczpFfT17aWRzOmUsZGVwZW5kZW5jaWVzOmZ9O2ZvcihiPTA7Yjx6Lmxlbmd0aDtiKyspTmcoYSx6W2JdLEVbYl0pO2EuaGE9en07Umc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NYSxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoUGcoYSxjP1FnLk1zOlFnLklETEUpLGEuTWE9Yyk7Yj1hLkZxKCk7YiE9YS5RYSYmKFBnKGEsYj9RZy5odTpRZy5pdSksYS5RYT1iKX07Tmc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuRC5nZXQoYik7ZD9kLmo9YzphLkQuc2V0KGIsbmV3IHZhLk9nKGMsYikpfTsKVGc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoYik7Yj1bXTt2YXIgZT17fTtmb3IobGV0IGYgb2YgZCl7ZD1hLkxhKGYpO2lmKCFkKXRocm93IEVycm9yKCJVYCIrZik7bGV0IGg9bmV3IHRnO2VbZl09aDtkLmlzTG9hZGVkKCk/aC5jYWxsYmFjayhudWxsKTooU2coYSxmLGQsISFjLGgpLGEudWgoZil8fGIucHVzaChmKSl9Yi5sZW5ndGg+MCYmKGEuQi5zaXplPT09MD9hLnNqKGIpOihhLnYucHVzaChiKSxSZyhhKSkpO3JldHVybiBlfTtTZz1mdW5jdGlvbihhLGIsYyxkLGUpe2dlKGMsZS5jYWxsYmFjayxlKTtoZShjLGZ1bmN0aW9uKGYpe2Y9bmV3IEpnKGIsZik7eGcoZSk7dmcoZSwhMSxmKX0pO2EudWgoYik/ZCYmKGEuSS5hZGQoYiksUmcoYSkpOmQmJmEuSS5hZGQoYil9OwpVZz1mdW5jdGlvbihhLGIpe2lmKCFhLm8uaGFzKGIpJiYoYS5vLmFkZChiKSwhYS5qLlUuaGFzKGIpKSl7dmFyIGM9YS5qLkxhKGIpO2lmKGMmJiFjLmlzTG9hZGVkKCkpe2M9Yy5qO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKVVnKGEsY1tkXSk7YS5yZXN1bHQucHVzaChiKX19fTtZZz1mdW5jdGlvbihhLGIpe2I9Yi5maWx0ZXIoZT0+YS5ELmdldChlKS5pc0xvYWRlZCgpPyhfLnUuc2V0VGltZW91dCgoKT0+RXJyb3IoIlhgIitlKSwwKSwhMSk6ITApO2lmKFZnKXt2YXIgYz1uZXcgV2coYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspVWcoYyxiW2RdKTtjPWMucmVzdWx0fWVsc2V7Yz1bXTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKWM9Yy5jb25jYXQoWGcoYSxiW2RdKSk7QWIoYyl9cmV0dXJuIWEub2EmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEudj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS52KSxbYl0pOmN9OwpYZz1mdW5jdGlvbihhLGIpe2lmKFZnKXJldHVybiBhPW5ldyBXZyhhKSxVZyhhLGIpLGEucmVzdWx0O3ZhciBjPVtdO2EuVS5oYXMoYil8fGMucHVzaChiKTtiPVtiXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YS5MYShiW2RdKS5qO2ZvcihsZXQgZj1lLmxlbmd0aC0xO2Y+PTA7Zi0tKXtsZXQgaD1lW2ZdO2EuTGEoaCkuaXNMb2FkZWQoKXx8YS5VLmhhcyhoKXx8KGMucHVzaChoKSxiLnB1c2goaCkpfX1jLnJldmVyc2UoKTtBYihjKTtyZXR1cm4gY307CmJoPWZ1bmN0aW9uKGEsYixjLGQsZSxmPTAsaD0hMSl7dmFyIGs9aD8wOmYrMTtmPV8ueWIoYyk7YS5LPWI7Zm9yKGxldCBsIG9mIGMpYS5VLmRlbGV0ZShsKTtpZihkPT00MDEpWmcoYSxuZXcgdmEub2IodmEub2IuVHlwZS5wbyxkKSksYS52Lmxlbmd0aD0wO2Vsc2UgaWYoZD09NDEwKSRnKGEsbmV3IHZhLm9iKHZhLm9iLlR5cGUuaG8sZCkpLGFoKGEpO2Vsc2UgaWYoaz49MylbLi4uYS5CXSwkZyhhLG5ldyB2YS5vYih2YS5vYi5UeXBlLnBrLGQsZixlKSksYWgoYSk7ZWxzZXtbLi4uYS5CXTtsZXQgbD1kPT04MDAxfHwhMTsoYz1NYXRoLnBvdyhrLDIpKjVFMyk/Xy51LnNldFRpbWVvdXQoKCk9PnthLnNqKGIsayxsKX0sYyk6YS5zaihiLGssbCl9fTskZz1mdW5jdGlvbihhLGIpe2EuSy5sZW5ndGg+MT9hLnY9YS5LLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS52KTpaZyhhLGIpfTsKWmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLks7YS5CLmNsZWFyKCk7dmFyIGQ9W107Zm9yKHZhciBlPTA7ZTxhLnYubGVuZ3RoO2UrKyl7dmFyIGY9YS52W2VdLmZpbHRlcihmdW5jdGlvbihoKXt2YXIgaz1YZyh0aGlzLGgpO3JldHVybiBfLnViKGMsZnVuY3Rpb24obCl7cmV0dXJuIF8uc2IoayxsKT49MH0pfSxhKTt6YihkLGYpfWZvcihlPTA7ZTxjLmxlbmd0aDtlKyspd2IoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS52Lmxlbmd0aDtmKyspXy54YihhLnZbZl0sZFtlXSk7YS5JLmRlbGV0ZShkW2VdKX1pZihlPWEuTS5nZXQoUWcuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspe2xldCBoPWVbZl07Zm9yKGxldCBrPTA7azxkLmxlbmd0aDtrKyspaChRZy5FUlJPUixkW2tdLGIpfWZvcihkPTA7ZDxjLmxlbmd0aDtkKyspaWYoZT1hLkQuZ2V0KGNbZF0pKWUub25FcnJvcihiKTthLksubGVuZ3RoPTA7UmcoYSl9OwphaD1mdW5jdGlvbihhKXtmb3IoO2Eudi5sZW5ndGg7KXtsZXQgYj1hLnYuc2hpZnQoKS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIXRoaXMuTGEoYykuaXNMb2FkZWQoKX0sYSk7aWYoYi5sZW5ndGg+MCl7YS5zaihiKTtyZXR1cm59fVJnKGEpfTtQZz1mdW5jdGlvbihhLGIpe2E9YS5NLmdldChiKTtmb3IobGV0IGM9MDthJiZjPGEubGVuZ3RoO2MrKylhW2NdKGIpfTtjaD1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgZiBvZiBiKWI9YS5MYShmKSwhZS5oYXMoZikmJmQoYikmJihlLmFkZChmKSxjaChhLGIuanx8W10sYyxkLGUpLGMoYikpfTsKZmg9ZnVuY3Rpb24oKXt2YXIgYT17RXU6IkJBVENIIn0sYj1hLmNzc1Jvd0tleXx8IiIsYz1hLktlfHwiIjshYS54SSYmIWImJndpbmRvdyYmd2luZG93Ll9GX2Nzc1Jvd0tleSYmKGI9d2luZG93Ll9GX2Nzc1Jvd0tleSwhYyYmd2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlJiYoYz13aW5kb3cuX0ZfY29tYmluZWRTaWduYXR1cmUpKTtpZighYS5jc3NSb3dLZXkmJmImJnR5cGVvZiB3aW5kb3cuX0ZfaW5zdGFsbENzcyE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIloiKTt2YXIgZD1hLk5KfHxfLmRoLGU9RWUoImJhc2UtanMiKTtiPW5ldyBkKEdiKEZlKCIiLGUpKSxiLGMsITAsITEpO2M9YS5wTHx8ZSYmZS5oYXNBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik7ZT1hLmxJfHxlJiZlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKTtjJiYoYi5maT1jKTtlJiYoYi5XZz1lKTthLmRpJiYoYi5kaT1hLmRpKTthLmZldGNoUHJpb3JpdHkmJihiLmZldGNoUHJpb3JpdHk9YS5mZXRjaFByaW9yaXR5KTsKdmFyIGY9Xy5WZCgpO2YuWT1iO2YuUnIoITApO18uZWg9YS5FdT09PSJCQVRDSCI/cmY6aD0+UHJvbWlzZS5yZXNvbHZlKGYubG9hZChoKSl9O2loPWZ1bmN0aW9uKGEsYil7Yj1iLmZpbHRlcihjPT4hYS51aChjKSYmIWEuTGEoYykuaXNMb2FkZWQoKSk7Yi5sZW5ndGg+MCYmKGdoKGEsLi4uYiksYS5LLnB1c2goYiksaGgoYSkpfTtqaD1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5CZigoYyxkKT0+e3ZhciBlPWEuTGEoYik7ZS5pc0xvYWRlZCgpP2MobnVsbCk6KGdlKGUsKCk9PntjKG51bGwpfSksaGUoZSxmPT57dmFyIGg9YEVycm9yIGxvYWRpbmcgJHtifTogJHtmfWA7ZiBpbnN0YW5jZW9mIHZhLm9iJiZmLnVybCYmKGg9YCR7aH0sIHJlcXVlc3RlZCB1cmw6ICR7Zi51cmwudG9TdHJpbmcoKX1gKTtkKEVycm9yKGgpKX0pKX0pfTsKa2g9ZnVuY3Rpb24oYSxiLGMsZD0oKT0+ITAsZT17fSl7Zm9yKGxldCBmIG9mIGIpYj1hLkxhKGYpLCFlW2ZdJiZkKGIpJiYoZVtmXT0hMCxraChhLGIuanx8W10sYyxkLGUpLGMoYikpfTtsaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57ZGVsZXRlIGEuRFtjXX0pfTtnaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57YS5EW2NdPSEwfSl9OwpoaD1mdW5jdGlvbihhKXtmb3IoO2EuQjxJbmZpbml0eSYmYS5LLmxlbmd0aD4wOyl7bGV0IGI9YS5LLnNoaWZ0KCkuZmlsdGVyKGM9PiFhLkxhKGMpLmlzTG9hZGVkKCkpO2lmKGIubGVuZ3RoPjApe2EuQisrO2xldCBjPSgpPT57YS5CLS07aGgoYSk7Yz0oKT0+e319O18uSWYoYi5tYXAoZj0+amgoYSxmKSkpLnRoZW4oKCk9PntjKCl9KTtsZXQgZD0wLGU9KCk9PntpZigoYS5qIGluc3RhbmNlb2YgTWFwP2Euai5zaXplPjA6T2JqZWN0LmtleXMoYS5qKS5sZW5ndGg+MCkmJiFhLlkuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLlksYixhLnYse1lkOmEuaixvbkVycm9yOihmLGgpPT57dmFyIGs9bWhbZCsrXTtrIT09dm9pZCAwP3NldFRpbWVvdXQoKCk9PntlKCl9LGspOihsaChhLC4uLmIpLGMoKSxiLmZvckVhY2gobD0+e2w9YS5MYShsKTtpZighbC5pc0xvYWRlZCgpKWwub25FcnJvcihuZXcgdmEub2IodmEub2IuVHlwZS5wayxmLGIsaCkpfSkpfX0pfTtlKCl9fX07Cm5oPWZ1bmN0aW9uKGEpe2Euaj09PS0xJiYoYS5qPWEuZGF0YS5yZWR1Y2UoKGIsYyxkKT0+YisoYz8yKipkOjApLDApKTtyZXR1cm4gYS5qfTtfLm9oPWZ1bmN0aW9uKCl7fTtfLnNoPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBwaHx8YSBpbnN0YW5jZW9mIHFofHxhIGluc3RhbmNlb2YgcmgpcmV0dXJuIGE7aWYodHlwZW9mIGEubmV4dD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hKTtpZih0eXBlb2YgYVtTeW1ib2wuaXRlcmF0b3JdPT0iZnVuY3Rpb24iKXJldHVybiBuZXcgcGgoKCk9PmFbU3ltYm9sLml0ZXJhdG9yXSgpKTtpZih0eXBlb2YgYS5iZD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hLmJkKCkpO3Rocm93IEVycm9yKCIkIik7fTtfLnRoPWZ1bmN0aW9uKGEpe18uYWUuY2FsbCh0aGlzKTt0aGlzLkQ9MTt0aGlzLnY9W107dGhpcy5CPTA7dGhpcy5qPVtdO3RoaXMubz17fTt0aGlzLkk9ISFhfTsKdWg9ZnVuY3Rpb24oYSxiLGMpe0dmKGZ1bmN0aW9uKCl7YS5hcHBseShiLGMpfSl9O3ZoPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTt3aD1mdW5jdGlvbihhKXt0aGlzLmo9YX07eGg9ZnVuY3Rpb24oYSl7dGhpcy5kYXRhPWF9O3loPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09dm9pZCAwfHxhIGluc3RhbmNlb2YgeGg/YTpuZXcgeGgoYSl9O18uemg9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O0FoPWZ1bmN0aW9uKCl7fTtCaD1mdW5jdGlvbigpe307Q2g9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5vPW51bGx9O0RoPWZ1bmN0aW9uKGEpe2lmKGEuaj09bnVsbCl0aHJvdyBFcnJvcigiYWEiKTthLmlzQXZhaWxhYmxlKCl8fF8uJGIoRXJyb3IoImFhIikpfTtFaD1mdW5jdGlvbigpe3ZhciBhPW51bGw7dHJ5e2E9Xy51LmxvY2FsU3RvcmFnZXx8bnVsbH1jYXRjaChiKXt9Q2guY2FsbCh0aGlzLGEpfTtGaD1mdW5jdGlvbihhLGIpe3RoaXMubz1hO3RoaXMuaj1iKyI6OiJ9OwpfLkdoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBFaDtyZXR1cm4gYi5pc0F2YWlsYWJsZSgpP2E/bmV3IEZoKGIsYSk6YjpudWxsfTsKSWg9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWEubGVuZ3RoLGU9MDtmb3IoYj0wO2I8ZDtiKyspe3ZhciBmPWEuY2hhckNvZGVBdChiKTtpZigoZiY2NDUxMik9PT01NTI5NiYmYisxPGQpe3ZhciBoPWEuY2hhckNvZGVBdChiKzEpOyhoJjY0NTEyKT09PTU2MzIwJiYoZj02NTUzNisoZi01NTI5Njw8MTApKyhoLTU2MzIwKSxiKyspfWUrPWY8MTI4PzE6ZjwyMDQ4PzI6Zjw2NTUzNj8zOjR9dmFyIGs9bmV3IEhoLnRmKGUpO2ZvcihiPWM9MDtjPGU7YisrKWY9YS5jaGFyQ29kZUF0KGIpLChmJjY0NTEyKT09PTU1Mjk2JiZiKzE8ZCYmKGg9YS5jaGFyQ29kZUF0KGIrMSksKGgmNjQ1MTIpPT09NTYzMjAmJihmPTY1NTM2KyhmLTU1Mjk2PDwxMCkrKGgtNTYzMjApLGIrKykpLGY8MTI4P2tbYysrXT1mOihmPDIwNDg/a1tjKytdPTE5MnxmPj4+NjooZjw2NTUzNj9rW2MrK109MjI0fGY+Pj4xMjooa1tjKytdPTI0MHxmPj4+MTgsa1tjKytdPTEyOHxmPj4+MTImNjMpLGtbYysrXT0xMjh8Zj4+Pgo2JjYzKSxrW2MrK109MTI4fGYmNjMpO3JldHVybiBrfTtKaD1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGg7LS1iPj0wOylhW2JdPTB9O0toPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5Zcj1hO3RoaXMuVXY9Yjt0aGlzLlR2PWM7dGhpcy54dj1kO3RoaXMuRnk9ZTt0aGlzLmVxPWEmJmEubGVuZ3RofTtMaD1mdW5jdGlvbihhLGIpe3RoaXMuRXA9YTt0aGlzLmxnPTA7dGhpcy56ZT1ifTtNaD1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWImMjU1O2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NX07Tmg9ZnVuY3Rpb24oYSxiLGMpe2EuaGI+MTYtYz8oYS5GYnw9Yjw8YS5oYiY2NTUzNSxNaChhLGEuRmIpLGEuRmI9Yj4+MTYtYS5oYixhLmhiKz1jLTE2KTooYS5GYnw9Yjw8YS5oYiY2NTUzNSxhLmhiKz1jKX07T2g9ZnVuY3Rpb24oYSxiLGMpe05oKGEsY1tiKjJdLGNbYioyKzFdKX07ClBoPWZ1bmN0aW9uKGEsYil7dmFyIGM9MDtkbyBjfD1hJjEsYT4+Pj0xLGM8PD0xO3doaWxlKC0tYj4wKTtyZXR1cm4gYz4+PjF9O1FoPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1BcnJheSgxNiksZT0wLGY7Zm9yKGY9MTtmPD0xNTtmKyspZFtmXT1lPWUrY1tmLTFdPDwxO2ZvcihjPTA7Yzw9YjtjKyspZT1hW2MqMisxXSxlIT09MCYmKGFbYyoyXT1QaChkW2VdKyssZSkpfTtSaD1mdW5jdGlvbihhKXt2YXIgYjtmb3IoYj0wO2I8Mjg2O2IrKylhLlFiW2IqMl09MDtmb3IoYj0wO2I8MzA7YisrKWEuUGVbYioyXT0wO2ZvcihiPTA7YjwxOTtiKyspYS5xYltiKjJdPTA7YS5RYls1MTJdPTE7YS5DZD1hLkhnPTA7YS5rYz1hLm1hdGNoZXM9MH07U2g9ZnVuY3Rpb24oYSl7YS5oYj44P01oKGEsYS5GYik6YS5oYj4wJiYoYS5PYVthLnBlbmRpbmcrK109YS5GYik7YS5GYj0wO2EuaGI9MH07ClRoPWZ1bmN0aW9uKGEsYixjKXtTaChhKTtNaChhLGMpO01oKGEsfmMpO0hoLndmKGEuT2EsYS53aW5kb3csYixjLGEucGVuZGluZyk7YS5wZW5kaW5nKz1jfTtVaD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iKjIsZj1jKjI7cmV0dXJuIGFbZV08YVtmXXx8YVtlXT09PWFbZl0mJmRbYl08PWRbY119O1ZoPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YS5oZWFwW2NdLGU9Yzw8MTtlPD1hLnhkOyl7ZTxhLnhkJiZVaChiLGEuaGVhcFtlKzFdLGEuaGVhcFtlXSxhLmRlcHRoKSYmZSsrO2lmKFVoKGIsZCxhLmhlYXBbZV0sYS5kZXB0aCkpYnJlYWs7YS5oZWFwW2NdPWEuaGVhcFtlXTtjPWU7ZTw8PTF9YS5oZWFwW2NdPWR9OwpjaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MDtpZihhLmtjIT09MCl7ZG97dmFyIGU9YS5PYVthLllnK2QqMl08PDh8YS5PYVthLllnK2QqMisxXTt2YXIgZj1hLk9hW2Eua20rZF07ZCsrO2lmKGU9PT0wKU9oKGEsZixiKTtlbHNle3ZhciBoPVdoW2ZdO09oKGEsaCsyNTYrMSxiKTt2YXIgaz1YaFtoXTtrIT09MCYmKGYtPVloW2hdLE5oKGEsZixrKSk7ZS0tO2g9ZTwyNTY/WmhbZV06WmhbMjU2KyhlPj4+NyldO09oKGEsaCxjKTtrPSRoW2hdO2shPT0wJiYoZS09YmlbaF0sTmgoYSxlLGspKX19d2hpbGUoZDxhLmtjKX1PaChhLDI1NixiKX07CmRpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5FcCxkPWIuemUuWXIsZT1iLnplLmVxLGY9Yi56ZS54dixoLGs9LTE7YS54ZD0wO2EuWGY9NTczO2ZvcihoPTA7aDxmO2grKyljW2gqMl0hPT0wPyhhLmhlYXBbKythLnhkXT1rPWgsYS5kZXB0aFtoXT0wKTpjW2gqMisxXT0wO2Zvcig7YS54ZDwyOyl7dmFyIGw9YS5oZWFwWysrYS54ZF09azwyPysrazowO2NbbCoyXT0xO2EuZGVwdGhbbF09MDthLkNkLS07ZSYmKGEuSGctPWRbbCoyKzFdKX1iLmxnPWs7Zm9yKGg9YS54ZD4+MTtoPj0xO2gtLSlWaChhLGMsaCk7bD1mO2RvIGg9YS5oZWFwWzFdLGEuaGVhcFsxXT1hLmhlYXBbYS54ZC0tXSxWaChhLGMsMSksZD1hLmhlYXBbMV0sYS5oZWFwWy0tYS5YZl09aCxhLmhlYXBbLS1hLlhmXT1kLGNbbCoyXT1jW2gqMl0rY1tkKjJdLGEuZGVwdGhbbF09KGEuZGVwdGhbaF0+PWEuZGVwdGhbZF0/YS5kZXB0aFtoXTphLmRlcHRoW2RdKSsxLGNbaCoyKzFdPWNbZCoyKzFdPWwsYS5oZWFwWzFdPWwrKywKVmgoYSxjLDEpO3doaWxlKGEueGQ+PTIpO2EuaGVhcFstLWEuWGZdPWEuaGVhcFsxXTtoPWIuRXA7bD1iLmxnO2Q9Yi56ZS5ZcjtlPWIuemUuZXE7Zj1iLnplLlV2O3ZhciBtPWIuemUuVHYsbj1iLnplLkZ5LHAscj0wO2ZvcihwPTA7cDw9MTU7cCsrKWEua2RbcF09MDtoW2EuaGVhcFthLlhmXSoyKzFdPTA7Zm9yKGI9YS5YZisxO2I8NTczO2IrKyl7dmFyIHQ9YS5oZWFwW2JdO3A9aFtoW3QqMisxXSoyKzFdKzE7cD5uJiYocD1uLHIrKyk7aFt0KjIrMV09cDtpZighKHQ+bCkpe2Eua2RbcF0rKzt2YXIgdj0wO3Q+PW0mJih2PWZbdC1tXSk7dmFyIHo9aFt0KjJdO2EuQ2QrPXoqKHArdik7ZSYmKGEuSGcrPXoqKGRbdCoyKzFdK3YpKX19aWYociE9PTApe2Rve2ZvcihwPW4tMTthLmtkW3BdPT09MDspcC0tO2Eua2RbcF0tLTthLmtkW3ArMV0rPTI7YS5rZFtuXS0tO3ItPTJ9d2hpbGUocj4wKTtmb3IocD1uO3AhPT0wO3AtLSlmb3IodD1hLmtkW3BdO3QhPT0wOylkPWEuaGVhcFstLWJdLApkPmx8fChoW2QqMisxXSE9PXAmJihhLkNkKz0ocC1oW2QqMisxXSkqaFtkKjJdLGhbZCoyKzFdPXApLHQtLSl9UWgoYyxrLGEua2QpfTtlaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2JbKGMrMSkqMisxXT02NTUzNTtmb3IoZD0wO2Q8PWM7ZCsrKXt2YXIgbT1mO2Y9YlsoZCsxKSoyKzFdOysraDxrJiZtPT09Znx8KGg8bD9hLnFiW20qMl0rPWg6bSE9PTA/KG0hPT1lJiZhLnFiW20qMl0rKyxhLnFiWzMyXSsrKTpoPD0xMD9hLnFiWzM0XSsrOmEucWJbMzZdKyssaD0wLGU9bSxmPT09MD8oaz0xMzgsbD0zKTptPT09Zj8oaz02LGw9Myk6KGs9NyxsPTQpKX19OwpmaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2ZvcihkPTA7ZDw9YztkKyspe3ZhciBtPWY7Zj1iWyhkKzEpKjIrMV07aWYoISgrK2g8ayYmbT09PWYpKXtpZihoPGwpe2RvIE9oKGEsbSxhLnFiKTt3aGlsZSgtLWghPT0wKX1lbHNlIG0hPT0wPyhtIT09ZSYmKE9oKGEsbSxhLnFiKSxoLS0pLE9oKGEsMTYsYS5xYiksTmgoYSxoLTMsMikpOmg8PTEwPyhPaChhLDE3LGEucWIpLE5oKGEsaC0zLDMpKTooT2goYSwxOCxhLnFiKSxOaChhLGgtMTEsNykpO2g9MDtlPW07Zj09PTA/KGs9MTM4LGw9Myk6bT09PWY/KGs9NixsPTMpOihrPTcsbD00KX19fTsKZ2k9ZnVuY3Rpb24oYSl7dmFyIGI9NDA5MzYyNDQ0NyxjO2ZvcihjPTA7Yzw9MzE7YysrLGI+Pj49MSlpZihiJjEmJmEuUWJbYyoyXSE9PTApcmV0dXJuIDA7aWYoYS5RYlsxOF0hPT0wfHxhLlFiWzIwXSE9PTB8fGEuUWJbMjZdIT09MClyZXR1cm4gMTtmb3IoYz0zMjtjPDI1NjtjKyspaWYoYS5RYltjKjJdIT09MClyZXR1cm4gMTtyZXR1cm4gMH07aGk9ZnVuY3Rpb24oYSxiLGMpe2EuT2FbYS5ZZythLmtjKjJdPWI+Pj44JjI1NTthLk9hW2EuWWcrYS5rYyoyKzFdPWImMjU1O2EuT2FbYS5rbSthLmtjXT1jJjI1NTthLmtjKys7Yj09PTA/YS5RYltjKjJdKys6KGEubWF0Y2hlcysrLGItLSxhLlFiWyhXaFtjXSsyNTYrMSkqMl0rKyxhLlBlWyhiPDI1Nj9aaFtiXTpaaFsyNTYrKGI+Pj43KV0pKjJdKyspO3JldHVybiBhLmtjPT09YS5BaC0xfTtqaT1mdW5jdGlvbihhLGIpe2EubXNnPWlpW2JdO3JldHVybiBifTsKa2k9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEubGVuZ3RoOy0tYj49MDspYVtiXT0wfTtsaT1mdW5jdGlvbihhKXt2YXIgYj1hLnN0YXRlLGM9Yi5wZW5kaW5nO2M+YS56YSYmKGM9YS56YSk7YyE9PTAmJihIaC53ZihhLm91dHB1dCxiLk9hLGIuSmgsYyxhLnFnKSxhLnFnKz1jLGIuSmgrPWMsYS5Fbis9YyxhLnphLT1jLGIucGVuZGluZy09YyxiLnBlbmRpbmc9PT0wJiYoYi5KaD0wKSl9OwpwaT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWI+PTA/YS5VYjotMSxkPWEuVi1hLlViLGU9MDtpZihhLmxldmVsPjApe2Eud2EuaWw9PT0yJiYoYS53YS5pbD1naShhKSk7ZGkoYSxhLnBqKTtkaShhLGEuSWkpO2VpKGEsYS5RYixhLnBqLmxnKTtlaShhLGEuUGUsYS5JaS5sZyk7ZGkoYSxhLlRvKTtmb3IoZT0xODtlPj0zJiZhLnFiW21pW2VdKjIrMV09PT0wO2UtLSk7YS5DZCs9MyooZSsxKSs1KzUrNDt2YXIgZj1hLkNkKzMrNz4+PjM7dmFyIGg9YS5IZyszKzc+Pj4zO2g8PWYmJihmPWgpfWVsc2UgZj1oPWQrNTtpZihkKzQ8PWYmJmMhPT0tMSlOaChhLGI/MTowLDMpLFRoKGEsYyxkKTtlbHNlIGlmKGEuc3RyYXRlZ3k9PT00fHxoPT09ZilOaChhLDIrKGI/MTowKSwzKSxjaShhLG5pLG9pKTtlbHNle05oKGEsNCsoYj8xOjApLDMpO2M9YS5wai5sZysxO2Q9YS5JaS5sZysxO2UrPTE7TmgoYSxjLTI1Nyw1KTtOaChhLGQtMSw1KTtOaChhLGUtNCw0KTtmb3IoZj0wO2Y8ZTtmKyspTmgoYSwKYS5xYlttaVtmXSoyKzFdLDMpO2ZpKGEsYS5RYixjLTEpO2ZpKGEsYS5QZSxkLTEpO2NpKGEsYS5RYixhLlBlKX1SaChhKTtiJiZTaChhKTthLlViPWEuVjtsaShhLndhKX07cWk9ZnVuY3Rpb24oYSxiKXthLk9hW2EucGVuZGluZysrXT1ifTtyaT1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NTthLk9hW2EucGVuZGluZysrXT1iJjI1NX07CnNpPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5OcSxkPWEuVixlPWEuWWIsZj1hLlNxLGg9YS5WPmEuQmItMjYyP2EuVi0oYS5CYi0yNjIpOjAsaz1hLndpbmRvdyxsPWEuQmUsbT1hLlVhLG49YS5WKzI1OCxwPWtbZCtlLTFdLHI9a1tkK2VdO2EuWWI+PWEuWXAmJihjPj49Mik7Zj5hLmRhJiYoZj1hLmRhKTtkb3t2YXIgdD1iO2lmKGtbdCtlXT09PXImJmtbdCtlLTFdPT09cCYma1t0XT09PWtbZF0mJmtbKyt0XT09PWtbZCsxXSl7ZCs9Mjtmb3IodCsrO2tbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZkPG47KTt0PTI1OC0obi1kKTtkPW4tMjU4O2lmKHQ+ZSl7YS5rZz1iO2U9dDtpZih0Pj1mKWJyZWFrO3A9a1tkK2UtMV07cj1rW2QrZV19fX13aGlsZSgoYj1tW2ImbF0pPmgmJi0tYyE9PTApOwpyZXR1cm4gZTw9YS5kYT9lOmEuZGF9Owp2aT1mdW5jdGlvbihhKXt2YXIgYj1hLkJiLGM7ZG97dmFyIGQ9YS5Lcy1hLmRhLWEuVjtpZihhLlY+PWIrKGItMjYyKSl7SGgud2YoYS53aW5kb3csYS53aW5kb3csYixiLDApO2Eua2ctPWI7YS5WLT1iO2EuVWItPWI7dmFyIGU9Yz1hLmFqO2Rve3ZhciBmPWEuaGVhZFstLWVdO2EuaGVhZFtlXT1mPj1iP2YtYjowfXdoaWxlKC0tYyk7ZT1jPWI7ZG8gZj1hLlVhWy0tZV0sYS5VYVtlXT1mPj1iP2YtYjowO3doaWxlKC0tYyk7ZCs9Yn1pZihhLndhLkRiPT09MClicmVhaztlPWEud2E7Yz1hLndpbmRvdztmPWEuVithLmRhO3ZhciBoPWUuRGI7aD5kJiYoaD1kKTtoPT09MD9jPTA6KGUuRGItPWgsSGgud2YoYyxlLmlucHV0LGUuZmYsaCxmKSxlLnN0YXRlLndyYXA9PT0xP2Uuc2E9dGkoZS5zYSxjLGgsZik6ZS5zdGF0ZS53cmFwPT09MiYmKGUuc2E9dWkoZS5zYSxjLGgsZikpLGUuZmYrPWgsZS5xZis9aCxjPWgpO2EuZGErPWM7aWYoYS5kYSthLnJiPj0zKWZvcihkPWEuVi1hLnJiLGEueGE9CmEud2luZG93W2RdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCsxXSkmYS52ZDthLnJiJiYhKGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCszLTFdKSZhLnZkLGEuVWFbZCZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWQsZCsrLGEucmItLSxhLmRhK2EucmI8Myk7KTt9d2hpbGUoYS5kYTwyNjImJmEud2EuRGIhPT0wKX07CndpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjOzspe2lmKGEuZGE8MjYyKXt2aShhKTtpZihhLmRhPDI2MiYmYj09PTApcmV0dXJuIDE7aWYoYS5kYT09PTApYnJlYWt9Yz0wO2EuZGE+PTMmJihhLnhhPShhLnhhPDxhLndkXmEud2luZG93W2EuViszLTFdKSZhLnZkLGM9YS5VYVthLlYmYS5CZV09YS5oZWFkW2EueGFdLGEuaGVhZFthLnhhXT1hLlYpO2MhPT0wJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYykpO2lmKGEuQmE+PTMpaWYoYz1oaShhLGEuVi1hLmtnLGEuQmEtMyksYS5kYS09YS5CYSxhLkJhPD1hLm9tJiZhLmRhPj0zKXthLkJhLS07ZG8gYS5WKyssYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWEuVjt3aGlsZSgtLWEuQmEhPT0wKTthLlYrK31lbHNlIGEuVis9YS5CYSxhLkJhPTAsYS54YT1hLndpbmRvd1thLlZdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbYS5WKwoxXSkmYS52ZDtlbHNlIGM9aGkoYSwwLGEud2luZG93W2EuVl0pLGEuZGEtLSxhLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9YS5WPDI/YS5WOjI7cmV0dXJuIGI9PT00PyhwaShhLCEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTsKeGk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZDs7KXtpZihhLmRhPDI2Mil7dmkoYSk7aWYoYS5kYTwyNjImJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWM9MDthLmRhPj0zJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxjPWEuVWFbYS5WJmEuQmVdPWEuaGVhZFthLnhhXSxhLmhlYWRbYS54YV09YS5WKTthLlliPWEuQmE7YS5Bcj1hLmtnO2EuQmE9MjtjIT09MCYmYS5ZYjxhLm9tJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYyksYS5CYTw9NSYmKGEuc3RyYXRlZ3k9PT0xfHxhLkJhPT09MyYmYS5WLWEua2c+NDA5NikmJihhLkJhPTIpKTtpZihhLlliPj0zJiZhLkJhPD1hLlliKXtkPWEuVithLmRhLTM7Yz1oaShhLGEuVi0xLWEuQXIsYS5ZYi0zKTthLmRhLT1hLlliLTE7YS5ZYi09MjtkbysrYS5WPD1kJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sCmEuaGVhZFthLnhhXT1hLlYpO3doaWxlKC0tYS5ZYiE9PTApO2EuY2Y9MDthLkJhPTI7YS5WKys7aWYoYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1lbHNlIGlmKGEuY2Ype2lmKChjPWhpKGEsMCxhLndpbmRvd1thLlYtMV0pKSYmcGkoYSwhMSksYS5WKyssYS5kYS0tLGEud2EuemE9PT0wKXJldHVybiAxfWVsc2UgYS5jZj0xLGEuVisrLGEuZGEtLX1hLmNmJiYoaGkoYSwwLGEud2luZG93W2EuVi0xXSksYS5jZj0wKTthLnJiPWEuVjwyP2EuVjoyO3JldHVybiBiPT09ND8ocGkoYSwhMCksYS53YS56YT09PTA/Mzo0KTphLmtjJiYocGkoYSwhMSksYS53YS56YT09PTApPzE6Mn07CnlpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQsZSxmPWEud2luZG93Ozspe2lmKGEuZGE8PTI1OCl7dmkoYSk7aWYoYS5kYTw9MjU4JiZiPT09MClyZXR1cm4gMTtpZihhLmRhPT09MClicmVha31hLkJhPTA7aWYoYS5kYT49MyYmYS5WPjAmJihkPWEuVi0xLGM9ZltkXSxjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdKSl7Zm9yKGU9YS5WKzI1ODtjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZkPGU7KTthLkJhPTI1OC0oZS1kKTthLkJhPmEuZGEmJihhLkJhPWEuZGEpfWEuQmE+PTM/KGM9aGkoYSwxLGEuQmEtMyksYS5kYS09YS5CYSxhLlYrPWEuQmEsYS5CYT0wKTooYz1oaShhLDAsYS53aW5kb3dbYS5WXSksYS5kYS0tLGEuVisrKTtpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsCiEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTt6aT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYzs7KXtpZihhLmRhPT09MCYmKHZpKGEpLGEuZGE9PT0wKSl7aWYoYj09PTApcmV0dXJuIDE7YnJlYWt9YS5CYT0wO2M9aGkoYSwwLGEud2luZG93W2EuVl0pO2EuZGEtLTthLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsITApLGEud2EuemE9PT0wPzM6NCk6YS5rYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKT8xOjJ9O0FpPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy50dz1hO3RoaXMuRXk9Yjt0aGlzLld5PWM7dGhpcy5EeT1kO3RoaXMua3c9ZX07CkJpPWZ1bmN0aW9uKCl7dGhpcy53YT1udWxsO3RoaXMuc3RhdHVzPTA7dGhpcy5PYT1udWxsO3RoaXMud3JhcD10aGlzLnBlbmRpbmc9dGhpcy5KaD10aGlzLm5jPTA7dGhpcy5xYT1udWxsO3RoaXMuemM9MDt0aGlzLm1ldGhvZD04O3RoaXMuaWc9LTE7dGhpcy5CZT10aGlzLk5uPXRoaXMuQmI9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuS3M9MDt0aGlzLmhlYWQ9dGhpcy5VYT1udWxsO3RoaXMuU3E9dGhpcy5ZcD10aGlzLnN0cmF0ZWd5PXRoaXMubGV2ZWw9dGhpcy5vbT10aGlzLk5xPXRoaXMuWWI9dGhpcy5kYT10aGlzLmtnPXRoaXMuVj10aGlzLmNmPXRoaXMuQXI9dGhpcy5CYT10aGlzLlViPXRoaXMud2Q9dGhpcy52ZD10aGlzLkxsPXRoaXMuYWo9dGhpcy54YT0wO3RoaXMuUWI9bmV3IEhoLlljKDExNDYpO3RoaXMuUGU9bmV3IEhoLlljKDEyMik7dGhpcy5xYj1uZXcgSGguWWMoNzgpO2tpKHRoaXMuUWIpO2tpKHRoaXMuUGUpO2tpKHRoaXMucWIpO3RoaXMuVG89dGhpcy5JaT0KdGhpcy5waj1udWxsO3RoaXMua2Q9bmV3IEhoLlljKDE2KTt0aGlzLmhlYXA9bmV3IEhoLlljKDU3Myk7a2kodGhpcy5oZWFwKTt0aGlzLlhmPXRoaXMueGQ9MDt0aGlzLmRlcHRoPW5ldyBIaC5ZYyg1NzMpO2tpKHRoaXMuZGVwdGgpO3RoaXMuaGI9dGhpcy5GYj10aGlzLnJiPXRoaXMubWF0Y2hlcz10aGlzLkhnPXRoaXMuQ2Q9dGhpcy5ZZz10aGlzLmtjPXRoaXMuQWg9dGhpcy5rbT0wfTsKRGk9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWEuc3RhdGV8fGI+NXx8YjwwKXJldHVybiBhP2ppKGEsLTIpOi0yO3ZhciBjPWEuc3RhdGU7aWYoIWEub3V0cHV0fHwhYS5pbnB1dCYmYS5EYiE9PTB8fGMuc3RhdHVzPT09NjY2JiZiIT09NClyZXR1cm4gamkoYSxhLnphPT09MD8tNTotMik7Yy53YT1hO3ZhciBkPWMuaWc7Yy5pZz1iO2lmKGMuc3RhdHVzPT09NDIpaWYoYy53cmFwPT09MilhLnNhPTAscWkoYywzMSkscWkoYywxMzkpLHFpKGMsOCksYy5xYT8ocWkoYywoYy5xYS50ZXh0PzE6MCkrKGMucWEuYmU/MjowKSsoYy5xYS5leHRyYT80OjApKyhjLnFhLm5hbWU/ODowKSsoYy5xYS5jb21tZW50PzE2OjApKSxxaShjLGMucWEudGltZSYyNTUpLHFpKGMsYy5xYS50aW1lPj44JjI1NSkscWkoYyxjLnFhLnRpbWU+PjE2JjI1NSkscWkoYyxjLnFhLnRpbWU+PjI0JjI1NSkscWkoYyxjLmxldmVsPT09OT8yOmMuc3RyYXRlZ3k+PTJ8fGMubGV2ZWw8Mj80OjApLHFpKGMsYy5xYS5vcyYyNTUpLApjLnFhLmV4dHJhJiZjLnFhLmV4dHJhLmxlbmd0aCYmKHFpKGMsYy5xYS5leHRyYS5sZW5ndGgmMjU1KSxxaShjLGMucWEuZXh0cmEubGVuZ3RoPj44JjI1NSkpLGMucWEuYmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmcsMCkpLGMuemM9MCxjLnN0YXR1cz02OSk6KHFpKGMsMCkscWkoYywwKSxxaShjLDApLHFpKGMsMCkscWkoYywwKSxxaShjLGMubGV2ZWw9PT05PzI6Yy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzQ6MCkscWkoYywzKSxjLnN0YXR1cz0xMTMpO2Vsc2V7dmFyIGU9OCsoYy5Obi04PDw0KTw8ODtlfD0oYy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzA6Yy5sZXZlbDw2PzE6Yy5sZXZlbD09PTY/MjozKTw8NjtjLlYhPT0wJiYoZXw9MzIpO2Muc3RhdHVzPTExMztyaShjLGUrKDMxLWUlMzEpKTtjLlYhPT0wJiYocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2Euc2E9MX1pZihjLnN0YXR1cz09PTY5KWlmKGMucWEuZXh0cmEpe2ZvcihlPWMucGVuZGluZztjLnpjPAooYy5xYS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoYy5wZW5kaW5nIT09Yy5uY3x8KGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZyE9PWMubmMpKTspcWkoYyxjLnFhLmV4dHJhW2MuemNdJjI1NSksYy56YysrO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2MuemM9PT1jLnFhLmV4dHJhLmxlbmd0aCYmKGMuemM9MCxjLnN0YXR1cz03Myl9ZWxzZSBjLnN0YXR1cz03MztpZihjLnN0YXR1cz09PTczKWlmKGMucWEubmFtZSl7ZT1jLnBlbmRpbmc7ZG97aWYoYy5wZW5kaW5nPT09Yy5uYyYmKGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZz09PWMubmMpKXt2YXIgZj0xO2JyZWFrfWY9Yy56YzxjLnFhLm5hbWUubGVuZ3RoP2MucWEubmFtZS5jaGFyQ29kZUF0KGMuemMrKykmCjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy56Yz0wLGMuc3RhdHVzPTkxKX1lbHNlIGMuc3RhdHVzPTkxO2lmKGMuc3RhdHVzPT09OTEpaWYoYy5xYS5jb21tZW50KXtlPWMucGVuZGluZztkb3tpZihjLnBlbmRpbmc9PT1jLm5jJiYoYy5xYS5iZSYmYy5wZW5kaW5nPmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmctZSxlKSksbGkoYSksZT1jLnBlbmRpbmcsYy5wZW5kaW5nPT09Yy5uYykpe2Y9MTticmVha31mPWMuemM8Yy5xYS5jb21tZW50Lmxlbmd0aD9jLnFhLmNvbW1lbnQuY2hhckNvZGVBdChjLnpjKyspJjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy5zdGF0dXM9MTAzKX1lbHNlIGMuc3RhdHVzPTEwMztjLnN0YXR1cz09PTEwMyYmCihjLnFhLmJlPyhjLnBlbmRpbmcrMj5jLm5jJiZsaShhKSxjLnBlbmRpbmcrMjw9Yy5uYyYmKHFpKGMsYS5zYSYyNTUpLHFpKGMsYS5zYT4+OCYyNTUpLGEuc2E9MCxjLnN0YXR1cz0xMTMpKTpjLnN0YXR1cz0xMTMpO2lmKGMucGVuZGluZyE9PTApe2lmKGxpKGEpLGEuemE9PT0wKXJldHVybiBjLmlnPS0xLDB9ZWxzZSBpZihhLkRiPT09MCYmKGI8PDEpLShiPjQ/OTowKTw9KGQ8PDEpLShkPjQ/OTowKSYmYiE9PTQpcmV0dXJuIGppKGEsLTUpO2lmKGMuc3RhdHVzPT09NjY2JiZhLkRiIT09MClyZXR1cm4gamkoYSwtNSk7aWYoYS5EYiE9PTB8fGMuZGEhPT0wfHxiIT09MCYmYy5zdGF0dXMhPT02NjYpe2Q9Yy5zdHJhdGVneT09PTI/emkoYyxiKTpjLnN0cmF0ZWd5PT09Mz95aShjLGIpOkNpW2MubGV2ZWxdLmt3KGMsYik7aWYoZD09PTN8fGQ9PT00KWMuc3RhdHVzPTY2NjtpZihkPT09MXx8ZD09PTMpcmV0dXJuIGEuemE9PT0wJiYoYy5pZz0tMSksMDtpZihkPT09MiYmKGI9PT0xPwooTmgoYywyLDMpLE9oKGMsMjU2LG5pKSxjLmhiPT09MTY/KE1oKGMsYy5GYiksYy5GYj0wLGMuaGI9MCk6Yy5oYj49OCYmKGMuT2FbYy5wZW5kaW5nKytdPWMuRmImMjU1LGMuRmI+Pj04LGMuaGItPTgpKTpiIT09NSYmKE5oKGMsMCwzKSxUaChjLDAsMCksYj09PTMmJihraShjLmhlYWQpLGMuZGE9PT0wJiYoYy5WPTAsYy5VYj0wLGMucmI9MCkpKSxsaShhKSxhLnphPT09MCkpcmV0dXJuIGMuaWc9LTEsMH1pZihiIT09NClyZXR1cm4gMDtpZihjLndyYXA8PTApcmV0dXJuIDE7Yy53cmFwPT09Mj8ocWkoYyxhLnNhJjI1NSkscWkoYyxhLnNhPj44JjI1NSkscWkoYyxhLnNhPj4xNiYyNTUpLHFpKGMsYS5zYT4+MjQmMjU1KSxxaShjLGEucWYmMjU1KSxxaShjLGEucWY+PjgmMjU1KSxxaShjLGEucWY+PjE2JjI1NSkscWkoYyxhLnFmPj4yNCYyNTUpKToocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2xpKGEpO2Mud3JhcD4wJiYoYy53cmFwPS1jLndyYXApO3JldHVybiBjLnBlbmRpbmchPT0KMD8wOjF9OwpFaT1mdW5jdGlvbihhKXtpZighKHRoaXMgaW5zdGFuY2VvZiBFaSkpcmV0dXJuIG5ldyBFaShhKTthPXRoaXMub3B0aW9ucz1IaC5hc3NpZ24oe2xldmVsOi0xLG1ldGhvZDo4LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6MCx0bzoiIn0sYXx8e30pO2EucmF3JiZhLndpbmRvd0JpdHM+MD9hLndpbmRvd0JpdHM9LWEud2luZG93Qml0czphLmd6aXAmJmEud2luZG93Qml0cz4wJiZhLndpbmRvd0JpdHM8MTYmJihhLndpbmRvd0JpdHMrPTE2KTt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ITE7dGhpcy5jaHVua3M9W107dGhpcy53YT1uZXcgRmk7dGhpcy53YS56YT0wO3ZhciBiPXRoaXMud2E7dmFyIGM9YS5sZXZlbCxkPWEubWV0aG9kLGU9YS53aW5kb3dCaXRzLGY9YS5tZW1MZXZlbCxoPWEuc3RyYXRlZ3k7aWYoYil7dmFyIGs9MTtjPT09LTEmJihjPTYpO2U8MD8oaz0wLGU9LWUpOmU+MTUmJihrPTIsZS09MTYpO2lmKGY8CjF8fGY+OXx8ZCE9PTh8fGU8OHx8ZT4xNXx8YzwwfHxjPjl8fGg8MHx8aD40KWI9amkoYiwtMik7ZWxzZXtlPT09OCYmKGU9OSk7dmFyIGw9bmV3IEJpO2Iuc3RhdGU9bDtsLndhPWI7bC53cmFwPWs7bC5xYT1udWxsO2wuTm49ZTtsLkJiPTE8PGwuTm47bC5CZT1sLkJiLTE7bC5MbD1mKzc7bC5haj0xPDxsLkxsO2wudmQ9bC5hai0xO2wud2Q9fn4oKGwuTGwrMy0xKS8zKTtsLndpbmRvdz1uZXcgSGgudGYobC5CYioyKTtsLmhlYWQ9bmV3IEhoLlljKGwuYWopO2wuVWE9bmV3IEhoLlljKGwuQmIpO2wuQWg9MTw8Zis2O2wubmM9bC5BaCo0O2wuT2E9bmV3IEhoLnRmKGwubmMpO2wuWWc9bC5BaDtsLmttPTMqbC5BaDtsLmxldmVsPWM7bC5zdHJhdGVneT1oO2wubWV0aG9kPWQ7aWYoYiYmYi5zdGF0ZSl7Yi5xZj1iLkVuPTA7Yi5pbD0yO2M9Yi5zdGF0ZTtjLnBlbmRpbmc9MDtjLkpoPTA7Yy53cmFwPDAmJihjLndyYXA9LWMud3JhcCk7Yy5zdGF0dXM9Yy53cmFwPzQyOjExMztiLnNhPQpjLndyYXA9PT0yPzA6MTtjLmlnPTA7aWYoIUdpKXtkPUFycmF5KDE2KTtmb3IoZj1oPTA7ZjwyODtmKyspZm9yKFloW2ZdPWgsZT0wO2U8MTw8WGhbZl07ZSsrKVdoW2grK109ZjtXaFtoLTFdPWY7Zm9yKGY9aD0wO2Y8MTY7ZisrKWZvcihiaVtmXT1oLGU9MDtlPDE8PCRoW2ZdO2UrKylaaFtoKytdPWY7Zm9yKGg+Pj03O2Y8MzA7ZisrKWZvcihiaVtmXT1oPDw3LGU9MDtlPDE8PCRoW2ZdLTc7ZSsrKVpoWzI1NitoKytdPWY7Zm9yKGU9MDtlPD0xNTtlKyspZFtlXT0wO2ZvcihlPTA7ZTw9MTQzOyluaVtlKjIrMV09OCxlKyssZFs4XSsrO2Zvcig7ZTw9MjU1OyluaVtlKjIrMV09OSxlKyssZFs5XSsrO2Zvcig7ZTw9Mjc5OyluaVtlKjIrMV09NyxlKyssZFs3XSsrO2Zvcig7ZTw9Mjg3OyluaVtlKjIrMV09OCxlKyssZFs4XSsrO1FoKG5pLDI4NyxkKTtmb3IoZT0wO2U8MzA7ZSsrKW9pW2UqMisxXT01LG9pW2UqMl09UGgoZSw1KTtIaT1uZXcgS2gobmksWGgsMjU3LDI4NiwxNSk7SWk9Cm5ldyBLaChvaSwkaCwwLDMwLDE1KTtKaT1uZXcgS2goW10sS2ksMCwxOSw3KTtHaT0hMH1jLnBqPW5ldyBMaChjLlFiLEhpKTtjLklpPW5ldyBMaChjLlBlLElpKTtjLlRvPW5ldyBMaChjLnFiLEppKTtjLkZiPTA7Yy5oYj0wO1JoKGMpO2M9MH1lbHNlIGM9amkoYiwtMik7Yz09PTAmJihiPWIuc3RhdGUsYi5Lcz0yKmIuQmIsa2koYi5oZWFkKSxiLm9tPUNpW2IubGV2ZWxdLkV5LGIuWXA9Q2lbYi5sZXZlbF0udHcsYi5TcT1DaVtiLmxldmVsXS5XeSxiLk5xPUNpW2IubGV2ZWxdLkR5LGIuVj0wLGIuVWI9MCxiLmRhPTAsYi5yYj0wLGIuQmE9Yi5ZYj0yLGIuY2Y9MCxiLnhhPTApO2I9Y319ZWxzZSBiPS0yO2lmKGIhPT0wKXRocm93IEVycm9yKGlpW2JdKTthLmhlYWRlciYmKGI9dGhpcy53YSkmJmIuc3RhdGUmJmIuc3RhdGUud3JhcD09PTImJihiLnN0YXRlLnFhPWEuaGVhZGVyKTtpZihhLmRpY3Rpb25hcnkpe3ZhciBtO3R5cGVvZiBhLmRpY3Rpb25hcnk9PT0ic3RyaW5nIj9tPQpJaChhLmRpY3Rpb25hcnkpOkxpLmNhbGwoYS5kaWN0aW9uYXJ5KT09PSJbb2JqZWN0IEFycmF5QnVmZmVyXSI/bT1uZXcgVWludDhBcnJheShhLmRpY3Rpb25hcnkpOm09YS5kaWN0aW9uYXJ5O2E9dGhpcy53YTtmPW07aD1mLmxlbmd0aDtpZihhJiZhLnN0YXRlKWlmKG09YS5zdGF0ZSxiPW0ud3JhcCxiPT09Mnx8Yj09PTEmJm0uc3RhdHVzIT09NDJ8fG0uZGEpYj0tMjtlbHNle2I9PT0xJiYoYS5zYT10aShhLnNhLGYsaCwwKSk7bS53cmFwPTA7aD49bS5CYiYmKGI9PT0wJiYoa2kobS5oZWFkKSxtLlY9MCxtLlViPTAsbS5yYj0wKSxjPW5ldyBIaC50ZihtLkJiKSxIaC53ZihjLGYsaC1tLkJiLG0uQmIsMCksZj1jLGg9bS5CYik7Yz1hLkRiO2Q9YS5mZjtlPWEuaW5wdXQ7YS5EYj1oO2EuZmY9MDthLmlucHV0PWY7Zm9yKHZpKG0pO20uZGE+PTM7KXtmPW0uVjtoPW0uZGEtMjtkbyBtLnhhPShtLnhhPDxtLndkXm0ud2luZG93W2YrMy0xXSkmbS52ZCxtLlVhW2YmbS5CZV09bS5oZWFkW20ueGFdLAptLmhlYWRbbS54YV09ZixmKys7d2hpbGUoLS1oKTttLlY9ZjttLmRhPTI7dmkobSl9bS5WKz1tLmRhO20uVWI9bS5WO20ucmI9bS5kYTttLmRhPTA7bS5CYT1tLlliPTI7bS5jZj0wO2EuZmY9ZDthLmlucHV0PWU7YS5EYj1jO20ud3JhcD1iO2I9MH1lbHNlIGI9LTI7aWYoYiE9PTApdGhyb3cgRXJyb3IoaWlbYl0pO3RoaXMuTUg9ITB9fTtNaT1mdW5jdGlvbihhLGIpe2I9PT0wJiYoYS5yZXN1bHQ9YS5vcHRpb25zLnRvPT09InN0cmluZyI/YS5jaHVua3Muam9pbigiIik6SGguTXAoYS5jaHVua3MpKTthLmNodW5rcz1bXTthLmVycj1iO2EubXNnPWEud2EubXNnfTtfLk5pPWZ1bmN0aW9uKGEpe3ZhciBiPWJ8fHt9O2IuZ3ppcD0hMDtiPW5ldyBFaShiKTtiLnB1c2goYSwhMCk7aWYoYi5lcnIpdGhyb3cgYi5tc2d8fGlpW2IuZXJyXTtyZXR1cm4gYi5yZXN1bHR9OwpfLk9pPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGg+MT9hW2JbMF1dPWJbMV06Yi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKGEsYlswXSl9O18uUWk9ZnVuY3Rpb24oLi4uYSl7Xy5PaShfLlBpLGFyZ3VtZW50cyl9O18udz1mdW5jdGlvbihhLGIpe3JldHVybiBhIGluIF8uUGk/Xy5QaVthXTpifTtfLlJpPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUGkuRVhQRVJJTUVOVF9GTEFHUztyZXR1cm4gYj9iW2FdOnZvaWQgMH07VGk9ZnVuY3Rpb24oYSl7U2kuZm9yRWFjaChiPT5iKGEpKX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmd2luZG93Lnl0ZXJyP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChiKXtfLlVpKGIpfX06YX07Cl8uVWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7Yj9iKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwKTooYj1fLncoIkVSUk9SUyIsW10pLGIucHVzaChbYSwiRVJST1IiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDBdKSxfLlFpKCJFUlJPUlMiLGIpKTtUaShhKX07Xy5XaT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPV8uc2EoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO2Y/ZihhLCJXQVJOSU5HIixiLGMsZCx2b2lkIDAsZSk6KGY9Xy53KCJFUlJPUlMiLFtdKSxmLnB1c2goW2EsIldBUk5JTkciLGIsYyxkLHZvaWQgMCxlXSksXy5RaSgiRVJST1JTIixmKSl9OwpZaT1mdW5jdGlvbihhLGIpe2I9YS5zcGxpdChiKTt2YXIgYz17fTtmb3IobGV0IGY9MCxoPWIubGVuZ3RoO2Y8aDtmKyspe2xldCBrPWJbZl0uc3BsaXQoIj0iKTtpZihrLmxlbmd0aD09PTEmJmtbMF18fGsubGVuZ3RoPT09Mil0cnl7bGV0IGw9WGkoa1swXXx8IiIpLG09WGkoa1sxXXx8IiIpO2lmKGwgaW4gYyl7bGV0IG49Y1tsXTtBcnJheS5pc0FycmF5KG4pP3piKG4sbSk6Y1tsXT1bbixtXX1lbHNlIGNbbF09bX1jYXRjaChsKXt2YXIgZD1sLGU9a1swXTtsZXQgbT1TdHJpbmcoWWkpO2QuYXJncz1be2tleTplLHZhbHVlOmtbMV0scXVlcnk6YSxtZXRob2Q6Wmk9PT1tPyJ1bmNoYW5nZWQiOm19XTskaS5oYXNPd25Qcm9wZXJ0eShlKXx8Xy5XaShkKX19cmV0dXJuIGN9Owphaj1mdW5jdGlvbihhKXt2YXIgYj1bXTtvZChhLChjLGQpPT57dmFyIGU9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSk7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO18udGIoYyxmPT57Zj09IiI/Yi5wdXNoKGUpOmIucHVzaChgJHtlfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZikpfWApfSl9KTtyZXR1cm4gYi5qb2luKCImIil9O18uYmo9ZnVuY3Rpb24oYSl7YS5jaGFyQXQoMCk9PT0iPyImJihhPWEuc3Vic3RyaW5nKDEpKTtyZXR1cm4gWWkoYSwiJiIpfTtkaj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCEwKX07Xy5laj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCExKX07CmNqPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnNwbGl0KCIjIiwyKTthPWRbMF07ZD1kLmxlbmd0aD4xPyIjIitkWzFdOiIiO3ZhciBlPWEuc3BsaXQoIj8iLDIpO2E9ZVswXTtlPV8uYmooZVsxXXx8IiIpO2ZvcihsZXQgZiBpbiBiKSFjJiZlIT09bnVsbCYmZiBpbiBlfHwoZVtmXT1iW2ZdKTtyZXR1cm4gXy5XYihhLGUpK2R9O18uZmo9ZnVuY3Rpb24oYSl7aWYoIWIpdmFyIGI9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIGM9Xy5NYihhKVsxXXx8bnVsbCxkPV8uUGIoYSk7YyYmZD8oYT1fLk1iKGEpLGI9Xy5NYihiKSxhPWFbM109PWJbM10mJmFbMV09PWJbMV0mJmFbNF09PWJbNF0pOmE9ZD9fLlBiKGIpPT09ZCYmKE51bWJlcihfLk1iKGIpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKF8uTWIoYSlbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gYX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEubWF0Y2goZ2opP2E6Xy5IYihhKX07Cl8ubGo9ZnVuY3Rpb24oYT1fLnNhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIil7dmFyIGI9aGosYz1PYmplY3QsZD1jLmFzc2lnbjthOnt0cnl7dmFyIGU9Yi5qLnRvcC5sb2NhdGlvbi5ocmVmfWNhdGNoKEEpe2U9MjticmVhayBhfWU9ZT9lPT09Yi5vLmxvY2F0aW9uLmhyZWY/MDoxOjJ9ZT17ZHQ6aWosZmxhc2g6IjAiLGZybTplfTt0cnl7ZS51X3R6PS0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCk7dHJ5e3ZhciBmPWpqLmhpc3RvcnkubGVuZ3RofWNhdGNoKEEpe2Y9MH1lLnVfaGlzPWY7ZS51X2g9amouc2NyZWVuPy5oZWlnaHQ7ZS51X3c9amouc2NyZWVuPy53aWR0aDtlLnVfYWg9amouc2NyZWVuPy5hdmFpbEhlaWdodDtlLnVfYXc9amouc2NyZWVuPy5hdmFpbFdpZHRoO2UudV9jZD1qai5zY3JlZW4/LmNvbG9yRGVwdGh9Y2F0Y2goQSl7fWY9Yi5qO3RyeXt2YXIgaD1mLnNjcmVlblg7dmFyIGs9Zi5zY3JlZW5ZfWNhdGNoKEEpe310cnl7dmFyIGw9Zi5vdXRlcldpZHRoOwp2YXIgbT1mLm91dGVySGVpZ2h0fWNhdGNoKEEpe310cnl7dmFyIG49Zi5pbm5lcldpZHRoO3ZhciBwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgcj1mLnNjcmVlbkxlZnQ7dmFyIHQ9Zi5zY3JlZW5Ub3B9Y2F0Y2goQSl7fXRyeXtuPWYuaW5uZXJXaWR0aCxwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgdj1mLnNjcmVlbi5hdmFpbFdpZHRoO3ZhciB6PWYuc2NyZWVuLmF2YWlsVG9wfWNhdGNoKEEpe31oPVtyLHQsaCxrLHYseixsLG0sbixwXTt0cnl7dmFyIEU9Xy55ZChiLmoudG9wfHx3aW5kb3cpLnJvdW5kKCl9Y2F0Y2goQSl7RT1uZXcgXy5uZCgtMTIyNDU5MzMsLTEyMjQ1OTMzKX1sPUU7RT1uZXcga2o7IlNWR0VsZW1lbnQiaW4gXy51JiYiY3JlYXRlRWxlbWVudE5TImluIF8udS5kb2N1bWVudCYmRS5zZXQoMCk7az1tZCgpO2tbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZFLnNldCgxKTtrWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmCkUuc2V0KDIpO18udS5jcnlwdG8mJl8udS5jcnlwdG8uc3VidGxlJiZFLnNldCgzKTsiVGV4dERlY29kZXIiaW4gXy51JiYiVGV4dEVuY29kZXIiaW4gXy51JiZFLnNldCg0KTtFPW5oKEUpO2s9bC5oZWlnaHQ7bD1sLndpZHRoO2g9aC5qb2luKCk7Yj1iLm87Yz1kLmNhbGwoYyxlLHtiYzpFLGJpaDprLGJpdzpsLGJyZGltOmgsdmlzOmIucHJlcmVuZGVyaW5nPzM6e3Zpc2libGU6MSxoaWRkZW46MixwcmVyZW5kZXI6MyxwcmV2aWV3OjQsdW5sb2FkZWQ6NSwiIjowfVtiLnZpc2liaWxpdHlTdGF0ZXx8Yi53ZWJraXRWaXNpYmlsaXR5U3RhdGV8fGIubW96VmlzaWJpbGl0eVN0YXRlfHwiIl0/PzAsd2dsOiEhamouV2ViR0xSZW5kZXJpbmdDb250ZXh0fSk7Yy5jYV90eXBlPSJpbWFnZSI7YSYmKGMuYmlkPWEpO3JldHVybiBjfTtfLm1qPWZ1bmN0aW9uKGEsYil7dHlwZW9mIGE9PT0iZnVuY3Rpb24iJiYoYT1fLlZpKGEpKTtyZXR1cm4gd2luZG93LnNldFRpbWVvdXQoYSxiKX07Cm9qPWZ1bmN0aW9uKCl7aWYoIW5qKXJldHVybiBudWxsO3ZhciBhPW5qKCk7cmV0dXJuIm9wZW4iaW4gYT9hOm51bGx9O18ucWo9ZnVuY3Rpb24oYSl7c3dpdGNoKF8ucGooYSkpe2Nhc2UgMjAwOmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjAzOmNhc2UgMjA0OmNhc2UgMjA1OmNhc2UgMjA2OmNhc2UgMzA0OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtfLnBqPWZ1bmN0aW9uKGEpe3JldHVybiBhJiYic3RhdHVzImluIGE/YS5zdGF0dXM6LTF9O18ueD1mdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmciJiZhPT09ImZhbHNlIj8hMTohIWF9O18uc2o9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTnVtYmVyKF8ucmooYSxiKXx8MCl9O18udGo9ZnVuY3Rpb24oYSl7YT1fLnJqKGEpO3JldHVybiBhIT09dm9pZCAwP1N0cmluZyhhKToiIn07Cl8ucmo9ZnVuY3Rpb24oYSxiKXthPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pW2FdO3JldHVybiBhIT09dm9pZCAwP2E6Yn07Xy51aj1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Xy53KCJFWFBFUklNRU5UU19GT1JDRURfRkxBR1MiLHt9KTtmb3IodmFyIGMgb2YgT2JqZWN0LmtleXMoYikpYS5wdXNoKHtrZXk6Yyx2YWx1ZTpTdHJpbmcoYltjXSl9KTtjPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhjKSlkLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZiW2RdPT09dm9pZCAwJiZhLnB1c2goe2tleTpkLHZhbHVlOlN0cmluZyhjW2RdKX0pO3JldHVybiBhfTsKeGo9ZnVuY3Rpb24oYSxiLGM9IkdFVCIsZD0iIixlLGYsaCxrPSExLGwpe3ZhciBtPW9qKCk7aWYoIW0pcmV0dXJuIG51bGw7dmFyIG49KCk9PnsobSYmInJlYWR5U3RhdGUiaW4gbT9tLnJlYWR5U3RhdGU6MCk9PT00JiZiJiZfLlZpKGIpKG0pfTsib25sb2FkZW5kImluIG0/bS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixuLCExKTptLm9ucmVhZHlzdGF0ZWNoYW5nZT1uO18ueCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYoYT12aihhKSk7bS5vcGVuKGMsYSwhMCk7ZiYmKG0ucmVzcG9uc2VUeXBlPWYpO2gmJihtLndpdGhDcmVkZW50aWFscz0hMCk7Yz1jPT09IlBPU1QiJiYod2luZG93LkZvcm1EYXRhPT09dm9pZCAwfHwhKGQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpO2lmKGU9d2ooYSxlKSlmb3IobGV0IHAgaW4gZSltLnNldFJlcXVlc3RIZWFkZXIocCxlW3BdKSwiY29udGVudC10eXBlIj09PXAudG9Mb3dlckNhc2UoKSYmKGM9ITEpO2MmJm0uc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwKImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpO2wmJiJvbnByb2dyZXNzImluIG0mJihtLm9ucHJvZ3Jlc3M9KCk9PntsKG0ucmVzcG9uc2VUZXh0KX0pO2lmKGsmJiJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUpe2E9e2V2ZW50U291cmNlRWxpZ2libGU6ITAsdHJpZ2dlckVsaWdpYmxlOiExfTt0cnl7bS5zZXRBdHRyaWJ1dGlvblJlcG9ydGluZyhhKX1jYXRjaChwKXtfLldpKHApfX1tLnNlbmQoZCk7cmV0dXJuIG19Owp3aj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPV8uZmooYSksZD1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpLGU9Xy54KCJ3ZWJfYWpheF9pZ25vcmVfZ2xvYmFsX2hlYWRlcnNfaWZfc2V0Iik7Zm9yKGxldCBrIGluIHlqKXtsZXQgbD1fLncoeWpba10pLG09az09PSJYLUdvb2ctQXV0aFVzZXIifHxrPT09IlgtR29vZy1QYWdlSWQiO2shPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxsfHwobD1fLncoIlZJU0lUT1JfREFUQSIpKTt2YXIgZjtpZighKGY9IWwpKXtpZighKGY9Y3x8KF8uUGIoYSk/ITE6ITApKSl7Zj1hO3ZhciBoO2lmKGg9Xy54KCJhZGRfYXV0aF9oZWFkZXJzX3RvX3JlbWFya2V0aW5nX2dvb2dsZV9kb3RfY29tX3BpbmciKSYmaz09PSJBdXRob3JpemF0aW9uIiYmKGQ9PT0iVFZIVE1MNSJ8fGQ9PT0iVFZIVE1MNV9VTlBMVUdHRUQifHxkPT09IlRWSFRNTDVfU0lNUExZIikpaD1fLlBiKGYpLGg9aCE9PW51bGw/aC5zcGxpdCgiLiIpLnJldmVyc2UoKTpudWxsLGg9aD09PQpudWxsPyExOmhbMV09PT0iZ29vZ2xlIj8hMDpoWzJdPT09Imdvb2dsZSI/aFswXT09PSJhdSImJmhbMV09PT0iY29tIj8hMDpoWzBdPT09InVrIiYmaFsxXT09PSJjbyI/ITA6ITE6ITE7aCYmKGY9Xy5RYihmKXx8IiIsZj1mLnNwbGl0KCIvIiksZj0iLyIrKGYubGVuZ3RoPjE/ZlsxXToiIiksaD1mPT09Ii9wYWdlYWQiKTtmPWg/ITA6ITF9Zj0hZn1mfHxlJiZiW2tdIT09dm9pZCAwfHxkPT09IlRWSFRNTDVfVU5QTFVHR0VEIiYmbXx8KGJba109bCl9IlgtR29vZy1FT00tVmlzaXRvci1JZCJpbiBiJiYiWC1Hb29nLVZpc2l0b3ItSWQiaW4gYiYmZGVsZXRlIGJbIlgtR29vZy1WaXNpdG9yLUlkIl07aWYoY3x8IV8uUGIoYSkpYlsiWC1Zb3VUdWJlLVV0Yy1PZmZzZXQiXT1TdHJpbmcoLShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSk7aWYoY3x8IV8uUGIoYSkpe2xldCBrO3RyeXtrPShuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmV9Y2F0Y2h7fWsmJgooYlsiWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPWspfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhYyYmXy5QYihhKXx8KGJbIlgtWW91VHViZS1BZC1TaWduYWxzIl09YWooXy5saigpKSk7cmV0dXJuIGJ9O0FqPWZ1bmN0aW9uKGEsYil7Yi5tZXRob2Q9IlBPU1QiO2IucG9zdFBhcmFtc3x8KGIucG9zdFBhcmFtcz17fSk7cmV0dXJuIF8uemooYSxiKX07Cl8uemo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmZvcm1hdHx8IkpTT04iO2E9QmooYSxiKTt2YXIgZD1DaihhLGIpLGU9ITEsZj1EaihhLGs9PntpZighZSl7ZT0hMDtoJiZ3aW5kb3cuY2xlYXJUaW1lb3V0KGgpO3ZhciBsPV8ucWooayksbT1udWxsLG49NDAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NTAwLHA9NTAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NjAwO2lmKGx8fG58fHApbT1FaihhLGMsayxiLmNvbnZlcnRUb1NhZmVIdG1sKTtsJiYobD1GaihjLGssbSkpO209bXx8e307bj1iLmNvbnRleHR8fF8udTtsP2Iub25TdWNjZXNzJiZiLm9uU3VjY2Vzcy5jYWxsKG4sayxtKTpiLm9uRXJyb3ImJmIub25FcnJvci5jYWxsKG4sayxtKTtiLm9uRmluaXNoJiZiLm9uRmluaXNoLmNhbGwobixrLG0pfX0sYi5tZXRob2QsZCxiLmhlYWRlcnMsYi5yZXNwb25zZVR5cGUsYi53aXRoQ3JlZGVudGlhbHMsITEsYi5vblByb2dyZXNzKTtkPWIudGltZW91dHx8MDtpZihiLm9uVGltZW91dCYmZD4wKXtsZXQgaz0KYi5vblRpbWVvdXQ7dmFyIGg9Xy5taigoKT0+e2V8fChlPSEwLGYuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLGsuY2FsbChiLmNvbnRleHR8fF8udSxmKSl9LGQpfXJldHVybiBmfTtCaj1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZURvbWFpbiYmKGE9ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrIi8vIitkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSsoZG9jdW1lbnQubG9jYXRpb24ucG9ydD8iOiIrZG9jdW1lbnQubG9jYXRpb24ucG9ydDoiIikrYSk7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKTtpZihiPWIudXJsUGFyYW1zKWJbY10mJmRlbGV0ZSBiW2NdLGE9ZGooYSxiKTtyZXR1cm4gYX07CkNqPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKSxkPV8udygiWFNSRl9UT0tFTiIpLGU9Yi5wb3N0Qm9keXx8IiIsZj1iLnBvc3RQYXJhbXMsaD1fLncoIlhTUkZfRklFTERfTkFNRSIpLGs7Yi5oZWFkZXJzJiYoaz1iLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdKTtiLmV4Y2x1ZGVYc3JmfHxfLlBiKGEpJiYhYi53aXRoQ3JlZGVudGlhbHMmJl8uUGIoYSkhPT1kb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZXx8Yi5tZXRob2QhPT0iUE9TVCJ8fGsmJmshPT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkInx8Yi5wb3N0UGFyYW1zJiZiLnBvc3RQYXJhbXNbaF18fChmfHwoZj17fSksZltjXT1kKTtmJiZ0eXBlb2YgZT09PSJzdHJpbmciJiYoZT1fLmJqKGUpLHNkKGUsZiksZT1iLnBvc3RCb2R5Rm9ybWF0JiZiLnBvc3RCb2R5Rm9ybWF0PT09IkpTT04iP0pTT04uc3RyaW5naWZ5KGUpOl8uVWIoZSkpO2Y9ZXx8ZiYmIV8ucGQoZik7IUdqJiZmJiYKYi5tZXRob2QhPT0iUE9TVCImJihHaj0hMCxfLlVpKEVycm9yKCJjYSIpKSk7cmV0dXJuIGV9O0VqPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW51bGw7c3dpdGNoKGIpe2Nhc2UgIkpTT04iOmxldCBmO3RyeXtmPWMucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGQ9RXJyb3IoImRhIiksZC5wYXJhbXM9YSxfLldpKGQpLGg7fWE9Yy5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIil8fCIiO2lmKGYmJmEuaW5kZXhPZigianNvbiIpPj0wKXtmLnN1YnN0cmluZygwLDUpPT09IildfSdcbiImJihmPWYuc3Vic3RyaW5nKDUpKTt0cnl7ZT1KU09OLnBhcnNlKGYpfWNhdGNoKGgpe319YnJlYWs7Y2FzZSAiWE1MIjppZihhPShhPWMucmVzcG9uc2VYTUwpP0hqKGEpOm51bGwpZT17fSxfLnRiKGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxoPT57ZVtoLnRhZ05hbWVdPUlqKGgpfSl9ZCYmSmooZSk7cmV0dXJuIGV9OwpKaj1mdW5jdGlvbihhKXtpZihfLkFhKGEpKWZvcihsZXQgYiBpbiBhKWI9PT0iaHRtbF9jb250ZW50Inx8Xy5NYShiLCJfaHRtbCIpP2FbYl09Xy5nYihhW2JdKTpKaihhW2JdKX07Rmo9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmIuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChhKXtjYXNlICJKU09OIjpyZXR1cm4hIWM7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKGMmJmMucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFjfX07SGo9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/KGE9KCJyZXNwb25zZVhNTCJpbiBhP2EucmVzcG9uc2VYTUw6YSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInJvb3QiKSkmJmEubGVuZ3RoPjA/YVswXTpudWxsOm51bGx9O0lqPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO18udGIoYS5jaGlsZE5vZGVzLGM9PntiKz1jLm5vZGVWYWx1ZX0pO3JldHVybiBifTsKdmo9ZnVuY3Rpb24oYSl7dmFyIGI9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxjPV8uUGIoYSk7Xy54KCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IWMmJl8uZmooYSkmJihjPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgZD1fLlFiKGEpO2Q9KGM9YyYmKGMuZW5kc1dpdGgoInlvdXR1YmUuY29tIil8fGMuZW5kc1dpdGgoInlvdXR1YmUtbm9jb29raWUuY29tIikpKSYmZCYmZC5zdGFydHNXaXRoKCIvYXBpLyIpO2lmKCFjfHxkKXJldHVybiBhO3ZhciBlPV8uYmooYiksZj17fTtfLnRiKEtqLGg9PntlW2hdJiYoZltoXT1lW2hdKX0pO3JldHVybiBfLmVqKGEsZil9O18uTWo9ZnVuY3Rpb24oYSxiLGMsZD0ieW91dHViZS5jb20iLGU9ITEpe18uTGouc2V0KGEsYix7dmo6YyxwYXRoOiIvIixkb21haW46ZCxzZWN1cmU6ZX0pfTsKXy5Oaj1mdW5jdGlvbihhLGI9Ii8iLGM9InlvdXR1YmUuY29tIil7Xy5Mai5yZW1vdmUoYSxiLGMpfTtfLk9qPWZ1bmN0aW9uKCl7aWYoIV8udS5tYXRjaE1lZGlhKXJldHVybiJXRUJfRElTUExBWV9NT0RFX1VOS05PV04iO3RyeXtyZXR1cm4gXy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpfLnUubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogbWluaW1hbC11aSkiKS5tYXRjaGVzPyJXRUJfRElTUExBWV9NT0RFX01JTklNQUxfVUkiOl8udS5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSIpLm1hdGNoZXM/IldFQl9ESVNQTEFZX01PREVfRlVMTFNDUkVFTiI6Xy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChhKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwpfLlBqPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9W107IlVTRVJfU0VTU0lPTl9JRCJpbiBfLlBpJiZjLnB1c2goe2tleToidSIsdmFsdWU6Xy53KCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKGM9Xy5QZChjKSliLkF1dGhvcml6YXRpb249YyxjPWE9YT8uc2Vzc2lvbkluZGV4LGM9PT12b2lkIDAmJihjPU51bWJlcihfLncoIlNFU1NJT05fSU5ERVgiLDApKSxjPWlzTmFOKGMpPzA6YyksXy54KCJ2b2ljZV9zZWFyY2hfYXV0aF9oZWFkZXJfcmVtb3ZhbCIpfHwoYlsiWC1Hb29nLUF1dGhVc2VyIl09Yy50b1N0cmluZygpKSwiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiaW4gXy5QaXx8KGJbIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIF8uUGkmJihiWyJYLUdvb2ctUGFnZUlkIl09Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpKTtyZXR1cm4gYn07ClFqPWZ1bmN0aW9uKCl7dmFyIGE9Xy51Lm5hdmlnYXRvcjtyZXR1cm4gYT9hLmNvbm5lY3Rpb246dm9pZCAwfTtfLlNqPWZ1bmN0aW9uKCl7dmFyIGE9UWooKTtpZihhKXt2YXIgYj1SalthLnR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO2E9UmpbYS5lZmZlY3RpdmVUeXBlfHwidW5rbm93biJdfHwiQ09OTl9VTktOT1dOIjtiPT09IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiImJmEhPT0iQ09OTl9VTktOT1dOIiYmKGI9YSk7aWYoYiE9PSJDT05OX1VOS05PV04iKXJldHVybiBiO2lmKGEhPT0iQ09OTl9VTktOT1dOIilyZXR1cm4gYX19O18uVWo9ZnVuY3Rpb24oKXt2YXIgYT1RaigpO2lmKGE/LmVmZmVjdGl2ZVR5cGUpcmV0dXJuIFRqLmhhc093blByb3BlcnR5KGEuZWZmZWN0aXZlVHlwZSk/VGpbYS5lZmZlY3RpdmVUeXBlXToiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9VTktOT1dOIn07Xy5Xaj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gXy5WaigpLCEwfWNhdGNoKGEpe3JldHVybiExfX07Cl8uVmo9ZnVuY3Rpb24oYT0idW5rbm93biIpe2lmKF8udygiREFUQVNZTkNfSUQiKSE9PXZvaWQgMClyZXR1cm4gXy53KCJEQVRBU1lOQ19JRCIpO3Rocm93IG5ldyBfLlhqKCJEYXRhc3luYyBJRCBub3Qgc2V0IixhKTt9O18uWWo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDAsYil9O1pqPWZ1bmN0aW9uKGEsYil7dHJ5e2IoKX1jYXRjaChjKXthLkpiKGMpfX07Yms9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54KCJlbmFibGVfc2NoZWR1bGVyX3NpbXVsYXRlX3JhZiIpO2lmKGEub1s4XS5sZW5ndGgpe2lmKGEuaGEpcmV0dXJuIDQ7aWYoYil7aWYoIWEuaXNIaWRkZW4oKSlyZXR1cm4gYS5aPzM6NX1lbHNlIGlmKGFrKGEpKXJldHVybiAzfWZvcihsZXQgYz01O2M+PWEuQjtjLS0paWYoYS5vW2NdLmxlbmd0aD4wKXJldHVybiBjPjA/Yj9hLmlzSGlkZGVuKCk/MjphLlo/Mzo1OmFrKGEpPzM6MjoxO3JldHVybiAwfTsKY2s9ZnVuY3Rpb24oYSl7YS5nYS5sZW5ndGg9MDtmb3IobGV0IGI9NTtiPj0wO2ItLSlhLm9bYl0ubGVuZ3RoPTA7YS5vWzhdLmxlbmd0aD0wO2Eudj17fTthLnN0b3AoKX07YWs9ZnVuY3Rpb24oYSl7cmV0dXJuIWEuaXNIaWRkZW4oKSYmYS5afTtlaz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgZGspaWYoYS5vW2JdLmxlbmd0aClyZXR1cm4hMDtyZXR1cm4hMX07CmhrPWZ1bmN0aW9uKGEsYixjKXthLmhhJiZhLkk9PT00JiZhLmp8fGEuc3RvcCgpO2EuRD0hMDtiPV8uRWEoKSsoYnx8YS5NKTtmb3IodmFyIGQ9YS5vWzVdO2QubGVuZ3RoOyl7dmFyIGU9ZC5zaGlmdCgpLGY9YS52W2VdO2RlbGV0ZSBhLnZbZV07aWYoZil7ZT1hO3RyeXtmKGMpfWNhdGNoKGgpe2UuSmIoaCl9fX1mb3IoZD1hLm9bNF07ZC5sZW5ndGg7KWM9ZC5zaGlmdCgpLGY9YS52W2NdLGRlbGV0ZSBhLnZbY10sZiYmWmooYSxmKTtkPWEueWE/MDoxO2Q9YS5CPmQ/YS5COmQ7aWYoIShfLkVhKCk+PWIpKXtkb3thOntjPWE7Zj1kO2ZvcihlPTM7ZT49ZjtlLS0pe2xldCBoPWMub1tlXTtmb3IoO2gubGVuZ3RoOyl7bGV0IGs9aC5zaGlmdCgpLGw9Yy52W2tdO2RlbGV0ZSBjLnZba107aWYobCl7Yz1sO2JyZWFrIGF9fX1jPW51bGx9YyYmWmooYSxjKX13aGlsZShjJiZfLkVhKCk8Yil9YS5EPSExO2ZrKGEpO2EuTT1naztlayhhKSYmYS5zdGFydCgpfTsKaWs9ZnVuY3Rpb24oYSl7YS5zdG9wKCk7YS5EPSEwO2Zvcih2YXIgYj1fLkVhKCksYz1hLm9bOF07Yy5sZW5ndGg7KXtsZXQgZD1jLnNoaWZ0KCksZT1hLnZbZF07ZGVsZXRlIGEudltkXTtlJiZaaihhLGUpfWZrKGEpO2EuRD0hMTtlayhhKSYmYS5zdGFydCgpO2I9Xy5FYSgpLWI7YS5NLT1ifTtmaz1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWEuZ2EubGVuZ3RoO2I8YztiKyspe2xldCBkPWEuZ2FbYl07YS5vW2QucHJpb3JpdHldLnB1c2goZC5pZCl9YS5nYS5sZW5ndGg9MH07a2s9ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2lmKCFhfHxhLmlhKCkpYT1uZXcgamsoXy53KCJzY2hlZHVsZXIiKXx8e30pLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixhKTtyZXR1cm4gYX07Cm1rPWZ1bmN0aW9uKCl7bGsoKTt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2EmJihfLlpkKGEpLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixudWxsKSl9O2xrPWZ1bmN0aW9uKCl7Y2soa2soKSk7Zm9yKGxldCBhIGluIG5rKW5rLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgbmtbTnVtYmVyKGEpXX07b2s9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjKXJldHVybiBjPWM9PT12b2lkIDAsLWtrKCkuR2EoYSxiLGMpO3ZhciBkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dmFyIGU9a2soKS5HYShhLGIpO25rW2RdPWV9LGMpO3JldHVybiBkfTtwaz1mdW5jdGlvbihhKXtraygpLlUoYSl9O3FrPWZ1bmN0aW9uKGEpe3ZhciBiPWtrKCk7aWYoYTwwKWIuQWEoLWEpO2Vsc2V7dmFyIGM9bmtbYV07Yz8oYi5BYShjKSxkZWxldGUgbmtbYV0pOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9fTtzaz1mdW5jdGlvbigpe3JrKCl9Owpyaz1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGspO2trKCkuc3RhcnQoKX07dms9ZnVuY3Rpb24oKXtraygpLnBhdXNlKCk7d2luZG93LmNsZWFyVGltZW91dCh0ayk7dGs9d2luZG93LnNldFRpbWVvdXQoc2ssdWspfTt5az1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQod2spO3drPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57eGsoMCl9LHVrKX07eGs9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj1hO2Iuc3RhcnQoKX07ems9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj5hJiYoYi5CPWEsYi5zdGFydCgpKX07QWs9ZnVuY3Rpb24oKXt3aW5kb3cuY2xlYXJUaW1lb3V0KHdrKTt2YXIgYT1raygpO2EuQj0wO2Euc3RhcnQoKX07Xy5Daz1mdW5jdGlvbigpe0JrLmluc3RhbmNlfHwoQmsuaW5zdGFuY2U9bmV3IEJrKTtyZXR1cm4gQmsuaW5zdGFuY2V9OwpFaz1mdW5jdGlvbigpe3JldHVybiBEaygpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTtfLklrPWZ1bmN0aW9uKGEpe0ZrfHwoXy5Haz9fLkdrLkpiKGEpOihfLkhrLnB1c2goe3R5cGU6IkVSUk9SIixwYXlsb2FkOmF9KSxfLkhrLmxlbmd0aD4xMCYmXy5Iay5zaGlmdCgpKSl9O0prPWZ1bmN0aW9uKGEsYil7Rmt8fChfLkdrP18uR2subG0oYSxiKTooXy5Iay5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOmEscGF5bG9hZDpifSksXy5Iay5sZW5ndGg+MTAmJl8uSGsuc2hpZnQoKSkpfTtLaz1mdW5jdGlvbihhKXtpZihhLmluZGV4T2YoIjoiKT49MCl0aHJvdyBFcnJvcigiaGEiKTt9O0xrPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN1YnN0cigwLGEuaW5kZXhPZigiOiIpKXx8YX07Xy5Naz1mdW5jdGlvbihhKXt2YXIgYj1fLmJjKCk7cmV0dXJuIGI/Yi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoYSk+PTA6ITF9OwpSaz1mdW5jdGlvbihhLGIsYyxkKXtiPUxrKGIpO3ZhciBlPWEgaW5zdGFuY2VvZiBFcnJvcj9hOkVycm9yKCJpYWAiK2EpO2lmKGUgaW5zdGFuY2VvZiBOaylyZXR1cm4gZTthPXtvYmplY3RTdG9yZU5hbWVzOmMsZGJOYW1lOmIsZGJWZXJzaW9uOmR9O2lmKGUubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IiKXJldHVybiBuZXcgTmsoIlFVT1RBX0VYQ0VFREVEIixhKTtpZihfLk9rJiZlLm5hbWU9PT0iVW5rbm93bkVycm9yIilyZXR1cm4gbmV3IE5rKCJRVU9UQV9NQVlCRV9FWENFRURFRCIsYSk7aWYoZSBpbnN0YW5jZW9mIFBrKXJldHVybiBuZXcgTmsoIk1JU1NJTkdfSU5ERVgiLHsuLi5hLG9iamVjdFN0b3JlOmUub2JqZWN0U3RvcmUsaW5kZXg6ZS5pbmRleH0pO2lmKGUubmFtZT09PSJJbnZhbGlkU3RhdGVFcnJvciImJlFrLnNvbWUoZj0+ZS5tZXNzYWdlLmluY2x1ZGVzKGYpKSlyZXR1cm4gbmV3IE5rKCJFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQiIsYSk7aWYoZS5uYW1lPT09CiJBYm9ydEVycm9yIilyZXR1cm4gbmV3IE5rKCJVTktOT1dOX0FCT1JUIixhLGUubWVzc2FnZSk7ZS5hcmdzPVt7Li4uYSxuYW1lOiJJZGJFcnJvciIsTW06ZS5uYW1lfV07ZS5sZXZlbD0iV0FSTklORyI7cmV0dXJuIGV9O1NrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1FaygpO3JldHVybiBuZXcgTmsoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOmEscHVibGljTmFtZTpiLHZlcnNpb246YyxoYXNTdWNjZWVkZWRPbmNlOmQ/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9O1RrPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCk7dGhyb3cgYTt9O1VrPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtYaz1mdW5jdGlvbihhLGIsYyxkLGUpe3RyeXtpZihhLnN0YXRlLnN0YXR1cyE9PSJGVUxGSUxMRUQiKXRocm93IEVycm9yKCJqYSIpO2xldCBmPWMoYS5zdGF0ZS52YWx1ZSk7ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfWNhdGNoKGYpe2UoZil9fTsKWWs9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0cnl7aWYoYS5zdGF0ZS5zdGF0dXMhPT0iUkVKRUNURUQiKXRocm93IEVycm9yKCJrYSIpO2xldCBmPWMoYS5zdGF0ZS5yZWFzb24pO2YgaW5zdGFuY2VvZiBfLlZrP1drKGEsYixmLGQsZSk6ZChmKX1jYXRjaChmKXtlKGYpfX07V2s9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPT09Yz9lKG5ldyBUeXBlRXJyb3IoImxhIikpOmMudGhlbihmPT57ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfSxmPT57ZShmKX0pfTtaaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9KCk9Pnt0cnl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJzdWNjZXNzIixlKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixmKX1jYXRjaHt9fSxlPSgpPT57YihhLnJlc3VsdCk7ZCgpfSxmPSgpPT57YyhhLmVycm9yKTtkKCl9O2EuYWRkRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsZSk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZil9Owokaz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoKGIsYyk9PntaayhhLGIsYyl9KX07Ymw9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlZrKG5ldyBhbCgoYixjKT0+e1prKGEsYixjKX0pKX07Y2w9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChjLGQpPT57dmFyIGU9KCk9Pnt2YXIgZj1hP2IoYSk6bnVsbDtmP2YudGhlbihoPT57YT1oO2UoKX0sZCk6YygpfTtlKCl9KSl9O2RsPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiaWRiX2ltbWVkaWF0ZV9jb21taXQiKX07Cl8uaWw9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e21vZGU6InJlYWRvbmx5IixrYjohMSx0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiJ9O3R5cGVvZiBjPT09InN0cmluZyI/ZS5tb2RlPWM6T2JqZWN0LmFzc2lnbihlLGMpO2EudHJhbnNhY3Rpb25Db3VudCsrO2M9ZS5rYj8zOjE7Zm9yKHZhciBmPTAsaDshaDspe2YrKztsZXQgbj1NYXRoLnJvdW5kKCgwLF8uZWwpKCkpO3RyeXt2YXIgaz1hLmoudHJhbnNhY3Rpb24oYixlLm1vZGUpLGw9ZCxtPSEhZS5jb21taXQ7bGV0IHA9bmV3IGZsKGspLHI9YXdhaXQgZ2wocCxsLG0pLHQ9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKTtobChhLG4sdCxmLHZvaWQgMCxiLmpvaW4oKSxlKTtyZXR1cm4gcn1jYXRjaChwKXtsPU1hdGgucm91bmQoKDAsXy5lbCkoKSk7bGV0IHI9UmsocCxhLmoubmFtZSxiLmpvaW4oKSxhLmoudmVyc2lvbik7aWYociBpbnN0YW5jZW9mIE5rJiYhci5qfHxmPj1jKWhsKGEsbixsLGYscixiLmpvaW4oKSwKZSksaD1yfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9O18ua2w9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLmNyZWF0ZU9iamVjdFN0b3JlKGIsYyk7cmV0dXJuIG5ldyBqbChhKX07Xy5tbD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uaWwoYSxbYl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9Pl8ubGwoZC5vYmplY3RTdG9yZShiKSxjKSl9OwpobD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtiPWMtYjtlPyhlIGluc3RhbmNlb2YgTmsmJihlLnR5cGU9PT0iUVVPVEFfRVhDRUVERUQifHxlLnR5cGU9PT0iUVVPVEFfTUFZQkVfRVhDRUVERUQiKSYmSmsoIlFVT1RBX0VYQ0VFREVEIix7ZGJOYW1lOkxrKGEuai5uYW1lKSxvYmplY3RTdG9yZU5hbWVzOmYsdHJhbnNhY3Rpb25Db3VudDphLnRyYW5zYWN0aW9uQ291bnQsdHJhbnNhY3Rpb25Nb2RlOmgubW9kZX0pLGUgaW5zdGFuY2VvZiBOayYmZS50eXBlPT09IlVOS05PV05fQUJPUlQiJiYoYy09YS52LGM8MCYmYz49MjE0NzQ4MzY0OCYmKGM9MCksSmsoIlRSQU5TQUNUSU9OX1VORVhQRUNURURMWV9BQk9SVEVEIix7b2JqZWN0U3RvcmVOYW1lczpmLHRyYW5zYWN0aW9uRHVyYXRpb246Yix0cmFuc2FjdGlvbkNvdW50OmEudHJhbnNhY3Rpb25Db3VudCxkYkR1cmF0aW9uOmN9KSxhLm89ITApLG5sKGEsITEsZCxmLGIsaC50YWcpLF8uSWsoZSkpOm5sKGEsITAsZCxmLGIsaC50YWcpfTsKbmw9ZnVuY3Rpb24oYSxiLGMsZCxlLGY9IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiIpe0prKCJUUkFOU0FDVElPTl9FTkRFRCIse29iamVjdFN0b3JlTmFtZXM6ZCxjb25uZWN0aW9uSGFzVW5rbm93bkFib3J0ZWRUcmFuc2FjdGlvbjphLm8sZHVyYXRpb246ZSxpc1N1Y2Nlc3NmdWw6Yix0cnlDb3VudDpjLHRhZzpmfSl9O18ubGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYmwoYS5qLnB1dChiLHZvaWQgMCkpfTtfLm9sPWZ1bmN0aW9uKGEsYixjKXthLmouY3JlYXRlSW5kZXgoYixjLHt1bmlxdWU6ITF9KX07cWw9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLm9wZW5DdXJzb3IoYi5xdWVyeSxiLmRpcmVjdGlvbik7cmV0dXJuIHBsKGEpLnRoZW4oZD0+Y2woZCxjKSl9O3NsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGM9PmMuZGVsZXRlKCkudGhlbigoKT0+cmwoYykpKS50aGVuKCgpPT57fSl9Owp0bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtnbD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IFByb21pc2UoKGUsZik9Pnt0cnl7bGV0IGg9YihhKTtjJiZhLmNvbW1pdCgpO2gudGhlbihrPT57ZShrKX0pLmNhdGNoKGYpfWNhdGNoKGgpe2YoaCksYS5hYm9ydCgpfX0pO3JldHVybiBQcm9taXNlLmFsbChbZCxhLmRvbmVdKS50aGVuKChbZV0pPT5lKX07dWw9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7cXVlcnk6ZD1udWxsLGRpcmVjdGlvbjplPSJuZXh0In09YjthPWEuai5vcGVuQ3Vyc29yKGQsZSk7cmV0dXJuIHBsKGEpLnRoZW4oZj0+Y2woZixjKSl9Owp2bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHVsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtwbD1mdW5jdGlvbihhKXtyZXR1cm4gYmwoYSkudGhlbihiPT5iP25ldyB3bChhLGIpOm51bGwpfTtybD1mdW5jdGlvbihhKXthLmN1cnNvci5jb250aW51ZSh2b2lkIDApO3JldHVybiBwbChhLnJlcXVlc3QpfTsKeWw9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgUHJvbWlzZSgoZCxlKT0+e3ZhciBmPWIhPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihhLGIpOnNlbGYuaW5kZXhlZERCLm9wZW4oYSk7dmFyIGg9Yy5ibG9ja2VkLGs9Yy5ibG9ja2luZyxsPWMuVEEsbT1jLnVwZ3JhZGUsbj1jLmNsb3NlZCxwLHI9KCk9PntwfHwocD1uZXcgeGwoZi5yZXN1bHQse2Nsb3NlZDpufSkpO3JldHVybiBwfTtmLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLHQ9Pnt0cnl7aWYodC5uZXdWZXJzaW9uPT09bnVsbCl0aHJvdyBFcnJvcigibmEiKTtpZihmLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigib2EiKTt0LmRhdGFMb3NzJiZ0LmRhdGFMb3NzIT09Im5vbmUiJiZKaygiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOnQuZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpMayhhKX0pO2xldCB2PXIoKSx6PW5ldyBmbChmLnRyYW5zYWN0aW9uKTttJiYKbSh2LEU9PnQub2xkVmVyc2lvbjxFJiZ0Lm5ld1ZlcnNpb24+PUUseik7ei5kb25lLmNhdGNoKEU9PntlKEUpfSl9Y2F0Y2godil7ZSh2KX19KTtmLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLCgpPT57dmFyIHQ9Zi5yZXN1bHQ7ayYmdC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIiwoKT0+e2socigpKX0pO3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT57SmsoIklEQl9VTkVYUEVDVEVETFlfQ0xPU0VEIix7ZGJOYW1lOkxrKGEpLGRiVmVyc2lvbjp0LnZlcnNpb259KTtsJiZsKCl9KTtkKHIoKSl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2UoZi5lcnJvcil9KTtoJiZmLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrZWQiLCgpPT57aCgpfSl9KX07emw9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiB5bChhLGIsYyl9OwpfLkFsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dHJ5e2xldCBjPXNlbGYuaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGEpLGQ9Yi5ibG9ja2VkO2QmJmMuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntkKCl9KTthd2FpdCAkayhjKX1jYXRjaChjKXt0aHJvdyBSayhjLGEsIiIsLTEpO319O0JsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBOaygiSU5DT01QQVRJQkxFX0RCX1ZFUlNJT04iLHtkYk5hbWU6YS5uYW1lLG9sZFZlcnNpb246YS5vcHRpb25zLnZlcnNpb24sbmV3VmVyc2lvbjpifSl9O18uQ2w9ZnVuY3Rpb24oYSxiKXtpZighYil0aHJvdyBTaygib3BlbldpdGhUb2tlbiIsTGsoYS5uYW1lKSk7cmV0dXJuIGEub3BlbigpfTsKRWw9YXN5bmMgZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5pbChhd2FpdCBfLkNsKERsLGIpLFsiZGF0YWJhc2VzIl0se2tiOiEwLG1vZGU6InJlYWR3cml0ZSJ9LGM9Pnt2YXIgZD1jLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKTtyZXR1cm4gZC5nZXQoYS5hY3R1YWxOYW1lKS50aGVuKGU9PntpZihlP2EuYWN0dWFsTmFtZSE9PWUuYWN0dWFsTmFtZXx8YS5wdWJsaWNOYW1lIT09ZS5wdWJsaWNOYW1lfHxhLnVzZXJJZGVudGlmaWVyIT09ZS51c2VySWRlbnRpZmllcjoxKXJldHVybiBfLmxsKGQsYSkudGhlbigoKT0+e30pfSl9KX07Xy5GbD1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBhPyhhd2FpdCBfLkNsKERsLGIpKS5kZWxldGUoImRhdGFiYXNlcyIsYSk6dm9pZCAwfTsKXy5HbD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I9YXdhaXQgXy5DbChEbCxiKTthd2FpdCBfLmlsKGIsWyJkYXRhYmFzZXMiXSx7a2I6ITAsbW9kZToicmVhZG9ubHkifSxkPT57Yy5sZW5ndGg9MDtyZXR1cm4gcWwoZC5vYmplY3RTdG9yZSgiZGF0YWJhc2VzIikse30sZT0+e2EoZS5jdXJzb3IudmFsdWUpJiZjLnB1c2goZS5jdXJzb3IudmFsdWUpO3JldHVybiBybChlKX0pfSk7cmV0dXJuIGN9O0hsPWZ1bmN0aW9uKGEpe3JldHVybiBfLkdsKGI9PmIucHVibGljTmFtZT09PSJMb2dzRGF0YWJhc2VWMiImJmIudXNlcklkZW50aWZpZXIhPT12b2lkIDAsYSl9OwpMbD1hc3luYyBmdW5jdGlvbigpe2lmKEVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIGE7aWYoYT1fLklsKWE9L1dlYktpdFwvKFswLTldKykvLmV4ZWMoXy5iYygpKSxhPSEhKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDApO2EmJihhPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKF8uYmMoKSksYT0hKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDIpKTtpZighKGE9YXx8Xy5KbCkpe3RyeXthPXNlbGY7dmFyIGI9ISEoYS5pbmRleGVkREImJmEuSURCSW5kZXgmJmEuSURCS2V5UmFuZ2UmJmEuSURCT2JqZWN0U3RvcmUpfWNhdGNoKGMpe2I9ITF9YT0hYn1pZihhfHwhKCJJREJUcmFuc2FjdGlvbiJpbiBzZWxmJiYib2JqZWN0U3RvcmVOYW1lcyJpbiBJREJUcmFuc2FjdGlvbi5wcm90b3R5cGUpKXJldHVybiExO3RyeXtyZXR1cm4gYXdhaXQgRWwoe2FjdHVhbE5hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLHB1YmxpY05hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLAp1c2VySWRlbnRpZmllcjp2b2lkIDB9LEtsKSxhd2FpdCBfLkZsKCJ5dC1pZGItdGVzdC1kby1ub3QtdXNlIixLbCksITB9Y2F0Y2goYyl7cmV0dXJuITF9fTtObD1mdW5jdGlvbigpe2lmKE1sIT09dm9pZCAwKXJldHVybiBNbDtGaz0hMDtyZXR1cm4gTWw9TGwoKS50aGVuKGE9PntGaz0hMTtpZihEaygpPy5vKCkpe3ZhciBiPXtoYXNTdWNjZWVkZWRPbmNlOkVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2V8fGF9O0RrKCk/LnNldCgiTEFTVF9SRVNVTFRfRU5UUllfS0VZIixiLDI1OTJFMywhMCl9cmV0dXJuIGF9KX07T2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zYSgieXRnbG9iYWwuaWRiVG9rZW5fIil8fHZvaWQgMH07Xy5QbD1mdW5jdGlvbigpe3ZhciBhPU9sKCk7cmV0dXJuIGE/UHJvbWlzZS5yZXNvbHZlKGEpOk5sKCkudGhlbihiPT57Yj8oXy5yYSgieXRnbG9iYWwuaWRiVG9rZW5fIixLbCksYj1LbCk6Yj12b2lkIDA7cmV0dXJuIGJ9KX07ClFsPWZ1bmN0aW9uKGEpe2lmKCFfLldqKCkpdGhyb3cgYT1uZXcgTmsoIkFVVEhfSU5WQUxJRCIse2RiTmFtZTphfSksXy5JayhhKSxhO3ZhciBiPV8uVmooKTtyZXR1cm57YWN0dWFsTmFtZTpgJHthfToke2J9YCxwdWJsaWNOYW1lOmEsdXNlcklkZW50aWZpZXI6Yn19OwpSbD1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1FcnJvcigpLnN0YWNrPz8iIixmPWF3YWl0IF8uUGwoKTtpZighZil0aHJvdyBiPVNrKCJvcGVuRGJJbXBsIixhLGIpLF8ueCgieXRpZGJfYXN5bmNfc3RhY2tfa2lsbHN3aXRjaCIpfHwoYi5zdGFjaz1gJHtiLnN0YWNrfVxuJHtlLnN1YnN0cmluZyhlLmluZGV4T2YoIlxuIikrMSl9YCksXy5JayhiKSxiO0trKGEpO2U9Yz97YWN0dWFsTmFtZTphLHB1YmxpY05hbWU6YSx1c2VySWRlbnRpZmllcjp2b2lkIDB9OlFsKGEpO3RyeXtyZXR1cm4gYXdhaXQgRWwoZSxmKSxhd2FpdCB6bChlLmFjdHVhbE5hbWUsYixkKX1jYXRjaChoKXt0cnl7YXdhaXQgXy5GbChlLmFjdHVhbE5hbWUsZil9Y2F0Y2h7fXRocm93IGg7fX07U2w9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiBSbChhLGIsITEsYyl9O1RsPWZ1bmN0aW9uKGEsYixjPXt9KXtyZXR1cm4gUmwoYSxiLCEwLGMpfTsKVWw9YXN5bmMgZnVuY3Rpb24oYSxiPXt9KXt2YXIgYz1hd2FpdCBfLlBsKCk7YyYmKEtrKGEpLGE9UWwoYSksYXdhaXQgXy5BbChhLmFjdHVhbE5hbWUsYiksYXdhaXQgXy5GbChhLmFjdHVhbE5hbWUsYykpfTtWbD1mdW5jdGlvbihhLGIsYyl7YT1hLm1hcChhc3luYyBkPT57YXdhaXQgXy5BbChkLmFjdHVhbE5hbWUsYik7YXdhaXQgXy5GbChkLmFjdHVhbE5hbWUsYyl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoYSkudGhlbigoKT0+e30pfTtXbD1hc3luYyBmdW5jdGlvbigpe3ZhciBhPXt9LGI9YXdhaXQgXy5QbCgpO2lmKGIpe0trKCJMb2dzRGF0YWJhc2VWMiIpO3ZhciBjPWF3YWl0IEhsKGIpO2F3YWl0IFZsKGMsYSxiKX19O1hsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9YXdhaXQgXy5QbCgpO2MmJihLayhhKSxhd2FpdCBfLkFsKGEsYiksYXdhaXQgXy5GbChhLGMpKX07Wmw9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4oKT0+e2N8fChjPW5ldyBZbChhLGIpKTtyZXR1cm4gY319OwpfLiRsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFpsKGEsYil9O2JtPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKGFtKCksYSl9O2NtPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLHRpbWVzdGFtcDooMCxfLmVsKSgpfTtjPWF3YWl0IGJtKGMpO2F3YWl0IGMuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IF8ubWwoYywiaG90Q29uZmlnU3RvcmUiLGEpfTtkbT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLGNvbmZpZ0RhdGE6Yyx0aW1lc3RhbXA6KDAsXy5lbCkoKX07ZD1hd2FpdCBibShkKTthd2FpdCBkLmNsZWFyKCJjb2xkQ29uZmlnU3RvcmUiKTtyZXR1cm4gYXdhaXQgXy5tbChkLCJjb2xkQ29uZmlnU3RvcmUiLGEpfTsKZW09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBibShhKTt2YXIgYj12b2lkIDA7YXdhaXQgXy5pbChhLFsiY29sZENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImNvbGRDb25maWdTdG9yZSIpLmluZGV4KCJjb2xkVGltZXN0YW1wSW5kZXgiKSx7ZGlyZWN0aW9uOiJwcmV2In0sZD0+e2I9ZC5jdXJzb3IudmFsdWV9KSk7cmV0dXJuIGJ9O2ZtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgYm0oYSk7dmFyIGI9dm9pZCAwO2F3YWl0IF8uaWwoYSxbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGQ9PntiPWQuY3Vyc29yLnZhbHVlfSkpO3JldHVybiBifTsKZ209YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2lmKF8ueCgic3RhcnRfY2xpZW50X2djZiIpKXtjJiYoYS52PWMsXy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIsYS52fHxudWxsKSk7YS5CKGIpO2xldCBkPU9sKCk7ZCYmKGN8fChjPShhd2FpdCBmbShkKSk/LmNvbmZpZyksYXdhaXQgY20oYyxiLGQpKTtpZihjKXthPWEubztmb3IobGV0IGUgb2YgYS5qKWUoYyl9fX07aG09YXN5bmMgZnVuY3Rpb24oYSxiLGMpe18ueCgic3RhcnRfY2xpZW50X2djZiIpJiYoYS5jb2xkSGFzaERhdGE9YixfLnJhKCJ5dC5nY2YuY29uZmlnLmNvbGRIYXNoRGF0YSIsYS5jb2xkSGFzaERhdGF8fG51bGwpLGE9T2woKSkmJihjfHwoYz0oYXdhaXQgZW0oYSkpPy5jb25maWcpLGMmJmF3YWl0IGRtKGMsYixjLmNvbmZpZ0RhdGEsYSkpfTsKXy5qbT1mdW5jdGlvbigpe2lmKCFpbS5pbnN0YW5jZSl7dmFyIGE9bmV3IGltO2ltLmluc3RhbmNlPWF9YT1pbS5pbnN0YW5jZTt2YXIgYj0oMCxfLmVsKSgpLWEuajtpZighKGEuaiE9PTAmJmI8Xy5zaigic2VuZF9jb25maWdfaGFzaF90aW1lciIpKSl7Yj1fLnNhKCJ5dC5nY2YuY29uZmlnLmNvbGRDb25maWdEYXRhIik7dmFyIGM9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIpLGQ9Xy5zYSgieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiKTtiJiZjJiZkJiYoYS5qPSgwLF8uZWwpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpiLGhvdEhhc2hEYXRhOmMsY29sZEhhc2hEYXRhOmR9fX07a209ZnVuY3Rpb24oKXtyZXR1cm4iSU5ORVJUVUJFX0FQSV9LRVkiaW4gXy5QaSYmIklOTkVSVFVCRV9BUElfVkVSU0lPTiJpbiBfLlBpfTsKbG09ZnVuY3Rpb24oKXtyZXR1cm57aW5uZXJ0dWJlQXBpS2V5Ol8udygiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOl8udygiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIiksd3g6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfQ09ORklHX0lORk8iKSxtcTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIikscUo6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSksaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb246Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpLHl4Ol8udygiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSx4eDpfLncoIklOTkVSVFVCRV9DT05URVhUX0dMIikseng6Xy53KCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSIpfHwiIixBeDohIV8udygiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSkscko6ISFfLncoIklOTkVSVFVCRV9PTUlUX0FQSV9LRVlfV0hFTl9BVVRIX0hFQURFUl9JU19QUkVTRU5UIiwKITEpLGFwcEluc3RhbGxEYXRhOl8udygiU0VSSUFMSVpFRF9DTElFTlRfQ09ORklHX0RBVEEiKX19OwptbT1mdW5jdGlvbihhKXt2YXIgYj17Y2xpZW50OntobDphLnl4LGdsOmEueHgsY2xpZW50TmFtZTphLm1xLGNsaWVudFZlcnNpb246YS5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbixjb25maWdJbmZvOmEud3h9fTtuYXZpZ2F0b3IudXNlckFnZW50JiYoYi5jbGllbnQudXNlckFnZW50PVN0cmluZyhuYXZpZ2F0b3IudXNlckFnZW50KSk7dmFyIGM9Xy51LmRldmljZVBpeGVsUmF0aW87YyYmYyE9MSYmKGIuY2xpZW50LnNjcmVlbkRlbnNpdHlGbG9hdD1TdHJpbmcoYykpO2M9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpO2MhPT0iIiYmKGIuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49Yyk7Yz1fLnVqKCk7Yy5sZW5ndGg+MCYmKGIucmVxdWVzdD17aW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6Y30pO2M9YS5tcTtjIT09IldFQiImJmMhPT0iTVdFQiImJmMhPT0xJiZjIT09Mnx8IWJ8fChiLmNsaWVudC5tYWluQXBwV2ViSW5mbz1iLmNsaWVudC5tYWluQXBwV2ViSW5mbz8/e30sCmIuY2xpZW50Lm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSk7KGM9Xy5zYSgieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpKSYmYiYmKGIudGhpcmRQYXJ0eT17ZW1iZWRVcmw6Y30pO18ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGM9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5LGImJihiLmNsaWVudC5tZW1vcnlUb3RhbEtieXRlcz1gJHtjKjFFNn1gKSk7YS5hcHBJbnN0YWxsRGF0YSYmYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYi5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1hLmFwcEluc3RhbGxEYXRhKTsoYT1fLlNqKCkpJiZiJiYoYi5jbGllbnQuY29ubmVjdGlvblR5cGU9YSk7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGE9Xy5VaigpKSYmYiYmKGIuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPQphKTtpZihfLngoInN0YXJ0X2NsaWVudF9nY2YiKSl7dmFyIGQ9Xy5qbSgpO2QmJihhPWQuY29sZENvbmZpZ0RhdGEsYz1kLmNvbGRIYXNoRGF0YSxkPWQuaG90SGFzaERhdGEsYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYSYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YSksYyYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPWMpLGQmJihiLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWQpKSl9Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpJiYhXy54KCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoYi51c2VyPXtvbkJlaGFsZk9mVXNlcjpfLncoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIil9KTshXy54KCJmaWxsX2RlbGVnYXRlX2NvbnRleHRfaW5fZ2VsX2tpbGxzd2l0Y2giKSYmKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9TRVJJQUxJWkVEX0RFTEVHQVRJT05fQ09OVEVYVCIpKSYmKGIudXNlcj0Key4uLmIudXNlcixzZXJpYWxpemVkRGVsZWdhdGlvbkNvbnRleHQ6YX0pO2E9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO18ueCgiZW5hYmxlX3BlcnNpc3RlbnRfZGV2aWNlX3Rva2VuIikmJmE/LmNsaWVudD8ucm9sbG91dFRva2VuJiYoYi5jbGllbnQucm9sbG91dFRva2VuPWE/LmNsaWVudD8ucm9sbG91dFRva2VuKTthPU9iamVjdDtjPWEuYXNzaWduO2Q9Yi5jbGllbnQ7dmFyIGU9Xy53KCJERVZJQ0UiLCIiKSxmPXt9O2ZvcihsZXQgW2gsa11vZiBPYmplY3QuZW50cmllcyhfLmJqKGUpKSllPWgsZT09PSJjYnJhbmQiP2YuZGV2aWNlTWFrZT1rOmU9PT0iY21vZGVsIj9mLmRldmljZU1vZGVsPWs6ZT09PSJjYnIiP2YuYnJvd3Nlck5hbWU9azplPT09ImNicnZlciI/Zi5icm93c2VyVmVyc2lvbj1rOmU9PT0iY29zIj9mLm9zTmFtZT1rOmU9PT0iY29zdmVyIj9mLm9zVmVyc2lvbj1rOmU9PT0iY3BsYXRmb3JtIiYmKGYucGxhdGZvcm09ayk7Yi5jbGllbnQ9Yy5jYWxsKGEsZCxmKTsKXy54KCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoYi5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsYi5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIGJ9OwpvbT1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9e307Xy53KCJFT01fVklTSVRPUl9EQVRBIik/ZD17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Xy53KCJFT01fVklTSVRPUl9EQVRBIil9OmQ9eyJYLUdvb2ctVmlzaXRvci1JZCI6Yy52aXNpdG9yRGF0YXx8Xy53KCJWSVNJVE9SX0RBVEEiLCIiKX07aWYoYiYmYi5pbmNsdWRlcygid3d3LnlvdXR1YmUtbm9jb29raWUuY29tIikpcmV0dXJuIGQ7Yj1jLmF1dGhvcml6YXRpb258fF8udygiQVVUSE9SSVpBVElPTiIpO2J8fChhP2I9YEJlYXJlciAke18uc2EoImdhcGkuYXV0aC5nZXRUb2tlbiIpKCkuT0h9YDooXy5ubS5pbnN0YW5jZXx8KF8ubm0uaW5zdGFuY2U9bmV3IF8ubm0pLGE9Xy5QaigpLF8ueCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIGFbIlgtR29vZy1QYWdlSWQiXSxkPXsuLi5kLC4uLmF9KSk7YiYmKGQuQXV0aG9yaXphdGlvbj1iKTtyZXR1cm4gZH07Cl8ucG09ZnVuY3Rpb24oYSl7dGhpcy52ZXJzaW9uPTE7dGhpcy5hcmdzPWF9O18ucW09ZnVuY3Rpb24oYSxiKXt0aGlzLnRvcGljPWE7dGhpcy5qPWJ9O18uc209ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnJtKCk7YyYmYy5wdWJsaXNoLmNhbGwoYyxhLnRvU3RyaW5nKCksYSxiKX07Xy5ybT1mdW5jdGlvbigpe3JldHVybiBfLnNhKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKX07dG09ZnVuY3Rpb24oYSxiLGM9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixjLnNhbXBsZVJhdGUvMTAwKSYmXy5zbSgibWV0YV9sb2dnaW5nX2NzaV9ldmVudCIse3RpbWVyTmFtZTphLHRpbWVsaW5lRGF0YTpifSl9OwpBbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17c3RhcnRUaW1lOigwLF8uZWwpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD1fLnVtKGIpO2lmKGg9PW51bGx8fCEoaD5fLndtfHxoPF8ueG0pKXt2YXIgZj1fLk5pKCgwLF8ueW0pKGIpKTtsZXQgaz0oMCxfLmVsKSgpO2UudGlja3MuZ2VsYz1rO3ptKys7Xy54KCJnZWxfY29tcHJlc3Npb25fY3NpX2tpbGxzd2l0Y2giKXx8IV8ueCgibG9nX2dlbF9jb21wcmVzc2lvbl9sYXRlbmN5IikmJiFfLngoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeV9sciIpfHx0bSgiZ2VsX2NvbXByZXNzaW9uIixlLHtzYW1wbGVSYXRlOi4xfSk7Yy5oZWFkZXJzfHwoYy5oZWFkZXJzPXt9KTtjLmhlYWRlcnNbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7Yy5wb3N0Qm9keT1mO2MucG9zdFBhcmFtcz12b2lkIDB9ZChhLGMpfWNhdGNoKGgpe18uV2koaCksZChhLGMpfX07Cl8udW09ZnVuY3Rpb24oYSl7dHJ5e3JldHVybihuZXcgQmxvYihhLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksbnVsbH19O0JtPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5KYXx8YS54aX07RG09ZnVuY3Rpb24oYSl7Qm0oYSkmJiFhLmFoJiYoYS5PYz0hMCxhLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLmNiLk91KGEuSmEpLENtKGEpLGEuU2EuU2IoKSYmYS5vKCksYS5TYS5saXN0ZW4oYS5LbSxhLm8uYmluZChhKSksYS5TYS5saXN0ZW4oYS5GbSxhLnYuYmluZChhKSkpfTtDbT1mdW5jdGlvbihhKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInhhIik7YS5jYi5XcCgiUVVFVUVEIixhLkphKS50aGVuKGI9PntiJiYhRW0oYSxiLGEuQ3IpP2EuRGMucGIoYXN5bmMoKT0+e2IuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphKTtDbShhKX0pOmEuU2EuU2IoKSYmYS5vKCl9KX07CkdtPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoIUJtKGEpKXRocm93IEVycm9yKCJzYSIpO2IuaWQhPT12b2lkIDAmJihhd2FpdCBhLmNiLkF5KGIuaWQsYS5KYSl8fGEuVGYoRXJyb3IoInRhIikpKTtFbShhLGIsYS5Lcik/KGIuc2tpcFJldHJ5fHwoYj1GbShhLGIpKSxiJiYoYi5za2lwUmV0cnkmJmIuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSxhLkdkKGIudXJsLGIub3B0aW9ucywhIWIuc2tpcFJldHJ5KSkpOihhLlRmKEVycm9yKCJ1YSIpKSxiLmlkIT09dm9pZCAwJiZhd2FpdCBhLmNiLkZmKGIuaWQsYS5KYSkpfTtIbT1mdW5jdGlvbihhLGIpe2EuTHMmJiFhLlNhLlNiKCk/YS5McyhiKTphLmhhbmRsZUVycm9yKGIpfTtFbT1mdW5jdGlvbihhLGIsYyl7Yj1iLnRpbWVzdGFtcDtyZXR1cm4gYS5ub3coKS1iPj1jPyExOiEwfTsKRm09ZnVuY3Rpb24oYSxiKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInZhIik7dmFyIGM9Yi5vcHRpb25zLm9uRXJyb3I/Yi5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9O2Iub3B0aW9ucy5vbkVycm9yPWFzeW5jKGUsZik9Pnt2YXIgaD1JbShmKSxrPUptKGYpO2smJmEuS2EmJmEuS2EoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJmEuaGFuZGxlRXJyb3IoRXJyb3IoIndhIiksYi51cmwsZik7aWYoYS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmaHx8YS5LYSYmIWEuS2EoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmEucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPD1hLktqKWlmKGEuU2EuUWomJmF3YWl0IGEuU2EuUWooKSwhYS5TYS5TYigpKXtjKGUsZik7YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmYj8uaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCExKTtyZXR1cm59YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmCiFoJiZhLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5hLktqfHwoYS5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKyxiPy5pZCE9PXZvaWQgMCYmKGIuc2VuZENvdW50PGEuTXI/KGF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCEwLGs/ITE6dm9pZCAwKSxhLkRjLnBiKCgpPT57YS5TYS5TYigpJiZhLm8oKX0sYS5McikpOmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSksYyhlLGYpKX07dmFyIGQ9Yi5vcHRpb25zLm9uU3VjY2Vzcz9iLm9wdGlvbnMub25TdWNjZXNzOigpPT57fTtiLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKGUsZik9PntiPy5pZCE9PXZvaWQgMCYmYXdhaXQgYS5jYi5GZihiLmlkLGEuSmEpO2EuU2EuZWYmJmEuS2EmJmEuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmYS5TYS5lZighMCk7ZChlLGYpfTtyZXR1cm4gYn07SW09ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YT8uZXJyb3I/LmNvZGUpJiZhPj00MDAmJmE8PTU5OT8hMTohMH07CkptPWZ1bmN0aW9uKGEpe2E9YT8uZXJyb3I/LmNvZGU7cmV0dXJuIShhIT09NDAwJiZhIT09NDE1KX07CkxtPWZ1bmN0aW9uKCl7aWYoS20pcmV0dXJuIEttKCk7S209Xy4kbCgiTG9nc0RhdGFiYXNlVjIiLHtzZTp7TG9nc1JlcXVlc3RzU3RvcmU6e1BkOjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShhLGIsYyl7YigyKSYmXy5rbChhLCJMb2dzUmVxdWVzdHNTdG9yZSIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSk7YigzKTtiKDUpJiYoYz1jLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLGMuai5pbmRleE5hbWVzLmNvbnRhaW5zKCJuZXdSZXF1ZXN0IikmJmMuai5kZWxldGVJbmRleCgibmV3UmVxdWVzdCIpLF8ub2woYywibmV3UmVxdWVzdFYyIixbInN0YXR1cyIsImludGVyZmFjZSIsInRpbWVzdGFtcCJdKSk7Yig3KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInNhcGlzaWQiKSYmYS5qLmRlbGV0ZU9iamVjdFN0b3JlKCJzYXBpc2lkIik7Yig5KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoIlNXSGVhbHRoTG9nIikmJmEuai5kZWxldGVPYmplY3RTdG9yZSgiU1dIZWFsdGhMb2ciKX0sCnZlcnNpb246OX0pO3JldHVybiBLbSgpfTtNbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChMbSgpLGEpfTtPbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtiPWF3YWl0IE1tKGIpO2E9ey4uLmEsb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEub3B0aW9ucykpLGludGVyZmFjZTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwwKX07YT1hd2FpdCBfLm1sKGIsIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGF9OwpQbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9SRUFEIn0sdGlja3M6e319O2I9YXdhaXQgTW0oYik7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksZT1bYSxkLDBdO2Q9W2EsZCwoMCxfLmVsKSgpXTt2YXIgZj1JREJLZXlSYW5nZS5ib3VuZChlLGQpLGg9InByZXYiO18ueCgidXNlX2ZpZm9fZm9yX25ldHdvcmtsZXNzIikmJihoPSJuZXh0Iik7dmFyIGs9dm9pZCAwO2U9YT09PSJORVciPyJyZWFkd3JpdGUiOiJyZWFkb25seSI7Xy54KCJ1c2VfcmVhZG9ubHlfZm9yX2dldF9tb3N0X3JlY2VudF9ieV9zdGF0dXNfa2lsbHN3aXRjaCIpJiYoZT0icmVhZHdyaXRlIik7YXdhaXQgXy5pbChiLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTplLGtiOiEwfSxsPT51bChsLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmYsZGlyZWN0aW9uOmh9LG09PnttLmN1cnNvci52YWx1ZSYmKGs9bS5jdXJzb3IudmFsdWUsYT09PSJORVciJiYoay5zdGF0dXM9IlFVRVVFRCIsbS51cGRhdGUoaykpKX0pKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGt9O1FtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaWwoYXdhaXQgTW0oYiksWyJMb2dzUmVxdWVzdHNTdG9yZSJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT57dmFyIGQ9Yy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKTtyZXR1cm4gZC5nZXQoYSkudGhlbihlPT57aWYoZSlyZXR1cm4gZS5zdGF0dXM9IlFVRVVFRCIsXy5sbChkLGUpLnRoZW4oKCk9PmUpfSl9KX07ClJtPWFzeW5jIGZ1bmN0aW9uKGEsYixjPSEwLGQpe3JldHVybiBfLmlsKGF3YWl0IE1tKGIpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sZT0+e3ZhciBmPWUub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGYuZ2V0KGEpLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsYyYmKGguc2VuZENvdW50Kz0xKSxkIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWQpLF8ubGwoZixoKS50aGVuKCgpPT5oKSk6Xy5Way5yZXNvbHZlKHZvaWQgMCkpfSl9O1NtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuKGF3YWl0IE1tKGIpKS5kZWxldGUoIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKX07ClRtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgTW0oYSk7dmFyIGI9KDAsXy5lbCkoKS0yNTkyRTY7YXdhaXQgXy5pbChhLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sYz0+cWwoYy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxkPT57aWYoZC5jdXJzb3IudmFsdWUudGltZXN0YW1wPD1iKXJldHVybiBkLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGQpKX0pKX07VW09YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBXbCgpfTtObT1mdW5jdGlvbihhKXtfLngoIm53bF9jc2lfa2lsbHN3aXRjaCIpfHx0bSgibmV0d29ya2xlc3NfcGVyZm9ybWFuY2UiLGEse3NhbXBsZVJhdGU6MX0pfTtXbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChWbSgpLGEpfTsKWG09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBXbShhKTt2YXIgYj0oMCxfLmVsKSgpLTI1OTJFNjthd2FpdCBfLmlsKGEsWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT5xbChjLm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGQ9PntpZihkLmN1cnNvci52YWx1ZS50aW1lc3RhbXA8PWIpcmV0dXJuIGQuZGVsZXRlKCkudGhlbigoKT0+cmwoZCkpfSkpfTtZbT1hc3luYyBmdW5jdGlvbihhKXthd2FpdCAoYXdhaXQgV20oYSkpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKXy5hbj1mdW5jdGlvbihhLGIsYyxkLGU9IiIsZj0hMSxoPSExKXtpZihhKWlmKGMmJiFfLk1rKCJjb2JhbHQiKSlfLldpKG5ldyBfLlhqKCJMZWdhY3kgcmVmZXJyZXItc2NydWJiZWQgcGluZyBkZXRlY3RlZCIpKSxhJiZabShhLHZvaWQgMCx7c2NydWJSZWZlcnJlcjohMH0pO2Vsc2UgaWYoZSl4aihhLGIsIlBPU1QiLGUsZCk7ZWxzZSBpZihfLncoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8ZHx8aCl4aihhLGIsIkdFVCIsIiIsZCx2b2lkIDAsZixoKTtlbHNle2I6e3RyeXtjOnt2YXIgaz1uZXcgJG0oe3VybDphfSk7aWYoay5qLmRzaD09PSIxIil2YXIgbD1udWxsO2Vsc2V7dmFyIG09ay5qLmFlO2lmKG09PT0iMSIpe2xldCByPWsuai5hZHVybDtpZihyKXRyeXtsPXt2ZXJzaW9uOjMsbXY6ZGVjb2RlVVJJQ29tcG9uZW50KHIpLHp1OklhKGsubywiYWN0PTEiLCJyaT0xIixLYShrKSl9O2JyZWFrIGN9Y2F0Y2godCl7fX1sPW09PT0iMiI/e3ZlcnNpb246NCwKbXY6SWEoay5vLCJkY3Q9MSIsInN1aWQ9IitrLnYsInJpPTEiKSx6dTpJYShrLm8sImFjdD0xIiwicmk9MSIsInN1aWQ9IitrLnYpfTpudWxsfX1pZihsKXtsZXQgcj1fLlFiKGEpO3ZhciBuPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxfLlpiKGEsInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31uPSExfWlmKG4pe2I6e3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihhLCIiKSl7dmFyIHA9ITA7YnJlYWsgYn19Y2F0Y2gocil7fXA9ITF9cD8oYiYmYigpLGM9ITApOmM9ITF9ZWxzZSBjPSExO2N8fFptKGEsYil9fTsKWm09ZnVuY3Rpb24oYSxiLGM9e30pe3ZhciBkPW5ldyBJbWFnZSxlPSIiK2JuKys7Y25bZV09ZDtkLm9ubG9hZD1kLm9uZXJyb3I9KCk9PntiJiZjbltlXSYmYigpO2RlbGV0ZSBjbltlXX07Yy5zY3J1YlJlZmVycmVyJiYoZC5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtkLnNyYz1hfTtmbj1mdW5jdGlvbigpe2RufHwoZG49bmV3IF8uZW4oInl0Lm9mZmxpbmUiKSk7cmV0dXJuIGRufTtnbj1mdW5jdGlvbihhKXtpZihfLngoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIGI9Zm4oKS5nZXQoImVycm9ycyIsITApfHx7fTtiW2EubWVzc2FnZV09e25hbWU6YS5uYW1lLHN0YWNrOmEuc3RhY2t9O2EubGV2ZWwmJihiW2EubWVzc2FnZV0ubGV2ZWw9YS5sZXZlbCk7Zm4oKS5zZXQoImVycm9ycyIsYiwyNTkyRTMsITApfX07CmpuPWZ1bmN0aW9uKCl7aWYoIWhuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrUmVxdWVzdE1vbml0b3IuaW5zdGFuY2UiKXx8bmV3IGhuO18ucmEoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIsYSk7aG4uaW5zdGFuY2U9YX1yZXR1cm4gaG4uaW5zdGFuY2V9O2xuPWZ1bmN0aW9uKCl7aWYoIWtuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcga247Xy5yYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLGEpO2tuLmluc3RhbmNlPWF9cmV0dXJuIGtuLmluc3RhbmNlfTsKbW49ZnVuY3Rpb24oYSxiKXthLnJhdGVMaW1pdD9hLmo/KF8uamYuQWEoYS5EKSxhLkQ9Xy5qZi5wYigoKT0+e2EuQiE9PWImJihhLmRpc3BhdGNoRXZlbnQoYiksYS5CPWIsYS5qPSgwLF8uZWwpKCkpfSxhLnJhdGVMaW1pdC0oKDAsXy5lbCkoKS1hLmopKSk6KGEuZGlzcGF0Y2hFdmVudChiKSxhLkI9YixhLmo9KDAsXy5lbCkoKSk6YS5kaXNwYXRjaEV2ZW50KGIpfTsKXy5wbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Lm5ldHdvcmtsZXNzUmVxdWVzdENvbnRyb2xsZXIuaW5zdGFuY2UiKTthfHwoYT1uZXcgbm4sXy5yYSgieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsYSksXy54KCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJl8uUGwoKS50aGVuKGI9PnthLkphPWI7RG0oYSk7YS5CLnJlc29sdmUoKTthLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLkphJiZYbShhLkphKTtfLngoIm5ldHdvcmtsZXNzX2ltbWVkaWF0ZWx5X2Ryb3Bfc3dfaGVhbHRoX3N0b3JlIikmJm9uKGEpfSkpO3JldHVybiBhfTtvbj1hc3luYyBmdW5jdGlvbihhKXtpZighYS5KYSl0aHJvdyBTaygiY2xlYXJTV0hlYWx0aExvZ3NEYiIpO1ltKGEuSmEpLmNhdGNoKGI9PnthLmhhbmRsZUVycm9yKGIpfSl9Owpxbj1mdW5jdGlvbihhLGIsYyl7Yj1fLngoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sYik6YjtfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Yi5oZWFkZXJzJiZfLmZqKGEpJiYoYi5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxfLmVsKSgpKSkpOmIucG9zdFBhcmFtcz8ucmVxdWVzdFRpbWVNcyYmKGIucG9zdFBhcmFtcy5yZXF1ZXN0VGltZU1zPU1hdGgucm91bmQoKDAsXy5lbCkoKSkpO2MmJk9iamVjdC5rZXlzKGIpLmxlbmd0aD09PTA/Xy5hbihhKTpiLmNvbXByZXNzP2IucG9zdEJvZHk/KHR5cGVvZiBiLnBvc3RCb2R5IT09InN0cmluZyImJihiLnBvc3RCb2R5PUpTT04uc3RyaW5naWZ5KGIucG9zdEJvZHkpKSxBbShhLGIucG9zdEJvZHksYixfLnpqKSk6QW0oYSxKU09OLnN0cmluZ2lmeShiLnBvc3RQYXJhbXMpLGIsQWopOl8uemooYSxiKX07CnJuPWZ1bmN0aW9uKGEsYil7Xy54KCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiKSYmXy5maihhKSYmKGIuaGVhZGVyc3x8KGIuaGVhZGVycz17fSksYi5oZWFkZXJzWyJYLUdvb2ctRXZlbnQtVGltZSJdPUpTT04uc3RyaW5naWZ5KE1hdGgucm91bmQoKDAsXy5lbCkoKSkpKTtyZXR1cm4gYn07Xy5zbj1mdW5jdGlvbigpe3JldHVybiBfLlBiKGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCkpIT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSJ9Owp2bj1mdW5jdGlvbihhLGIsYyxkKXshXy53KCJWSVNJVE9SX0RBVEEiKSYmYiE9PSJ2aXNpdG9yX2lkIiYmTWF0aC5yYW5kb20oKTwuMDEmJl8uV2kobmV3IF8uWGooIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLGIsYyxkKSk7aWYoIWEuaXNSZWFkeSgpKXRocm93IGE9bmV3IF8uWGooImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixiLGMsZCksXy5VaShhKSxhO3ZhciBlPXtoZWFkZXJzOmQuaGVhZGVyc3x8e30sbWV0aG9kOiJQT1NUIixwb3N0UGFyYW1zOmMscG9zdEJvZHk6ZC5wb3N0Qm9keSxwb3N0Qm9keUZvcm1hdDpkLnBvc3RCb2R5Rm9ybWF0fHwiSlNPTiIsb25UaW1lb3V0OigpPT57ZC5vblRpbWVvdXQoKX0sb25GZXRjaFRpbWVvdXQ6ZC5vblRpbWVvdXQsb25TdWNjZXNzOihtLG4pPT57aWYoZC5vblN1Y2Nlc3MpZC5vblN1Y2Nlc3Mobil9LG9uRmV0Y2hTdWNjZXNzOm09PntpZihkLm9uU3VjY2VzcylkLm9uU3VjY2VzcyhtKX0sCm9uUHJvZ3Jlc3M6bT0+e2lmKGQub25Qcm9ncmVzcylkLm9uUHJvZ3Jlc3MobSl9LG9uRXJyb3I6KG0sbik9PntpZihkLm9uRXJyb3IpZC5vbkVycm9yKG4pfSxvbkZldGNoRXJyb3I6bT0+e2lmKGQub25FcnJvcilkLm9uRXJyb3IobSl9LHRpbWVvdXQ6ZC50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpkLmNvbXByZXNzfTtlLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwoZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO2M9IiI7dmFyIGY9YS5jb25maWdfLnp4O2YmJihjPWYpO2Y9YS5jb25maWdfLkF4fHwhMTt2YXIgaD1vbShmLGMsZCk7T2JqZWN0LmFzc2lnbihlLmhlYWRlcnMsaCk7ZS5oZWFkZXJzLkF1dGhvcml6YXRpb24mJiFjJiZmJiYoZS5oZWFkZXJzWyJ4LW9yaWdpbiJdPXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO3ZhciBrPWRqKGAke2N9JHtgL3lvdXR1YmVpLyR7YS5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7Yn1gfWAsCnthbHQ6Impzb24ifSksbD0obT0hMSk9Pnt0cnl7aWYobSYmZC5yZXRyeSYmIWQubmV0d29ya2xlc3NPcHRpb25zLmJ5cGFzc05ldHdvcmtsZXNzKWUubWV0aG9kPSJQT1NUIixkLm5ldHdvcmtsZXNzT3B0aW9ucy53cml0ZVRoZW5TZW5kP18ucG4oKS53cml0ZVRoZW5TZW5kKGssZSk6Xy5wbigpLnNlbmRBbmRXcml0ZShrLGUpO2Vsc2UgaWYoZC5jb21wcmVzcylpZihlLnBvc3RCb2R5KXtsZXQgbj1lLnBvc3RCb2R5O3R5cGVvZiBuIT09InN0cmluZyImJihuPUpTT04uc3RyaW5naWZ5KGUucG9zdEJvZHkpKTtBbShrLG4sZSxfLnpqKX1lbHNlIEFtKGssSlNPTi5zdHJpbmdpZnkoZS5wb3N0UGFyYW1zKSxlLEFqKTtlbHNlIEFqKGssZSl9Y2F0Y2gobil7aWYobi5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpXy5XaShFcnJvcigieWEiKSk7ZWxzZSB0aHJvdyBuO319OyhfLnNhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIpP18udG4uaXNOd2xJbml0aWFsaXplZDoKXy51bik/TmwoKS50aGVuKG09PntsKG0pfSk6bCghMSl9O18ueW49ZnVuY3Rpb24oYSwuLi5iKXtpZighd24oYSl8fGIuc29tZShjPT4hd24oYykpKXRocm93IEVycm9yKCJ6YSIpO2ZvcihsZXQgYyBvZiBiKXhuKGEsYyl9O3huPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIGluIGIpaWYod24oYltjXSkpe2lmKGMgaW4gYSYmIXduKGFbY10pKXRocm93IEVycm9yKCJBYSIpO2MgaW4gYXx8KGFbY109e30pO3huKGFbY10sYltjXSl9ZWxzZSBpZih6bihiW2NdKSl7aWYoYyBpbiBhJiYhem4oYVtjXSkpdGhyb3cgRXJyb3IoIkJhIik7YyBpbiBhfHwoYVtjXT1bXSk7QW4oYVtjXSxiW2NdKX1lbHNlIGFbY109YltjXTtyZXR1cm4gYX07QW49ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYil3bihjKT9hLnB1c2goeG4oe30sYykpOnpuKGMpP2EucHVzaChBbihbXSxjKSk6YS5wdXNoKGMpO3JldHVybiBhfTt3bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSl9Owp6bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmQXJyYXkuaXNBcnJheShhKX07Xy5Cbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoIl9sYWN0Iix3aW5kb3cpO3JldHVybiBhPT1udWxsPy0xOk1hdGgubWF4KERhdGUubm93KCktYSwwKX07Cl8uRG49ZnVuY3Rpb24oKXtpZih3aW5kb3cuY3J5cHRvJiZ3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGE9QXJyYXkoMTYpLGI9bmV3IFVpbnQ4QXJyYXkoMTYpO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY109YltjXTtyZXR1cm4gYX1jYXRjaChkKXt9YT1BcnJheSgxNik7Zm9yKGI9MDtiPDE2O2IrKyl7Yz1EYXRlLm5vdygpO2ZvcihsZXQgZD0wO2Q8YyUyMztkKyspYVtiXT1NYXRoLnJhbmRvbSgpO2FbYl09TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjI1Nil9aWYoQ24pZm9yKGI9MSxjPTA7YzxDbi5sZW5ndGg7YysrKWFbYiUxNl1ePWFbKGItMSklMTZdLzReQ24uY2hhckNvZGVBdChjKSxiKys7cmV0dXJuIGF9OwpFbj1mdW5jdGlvbigpe3ZhciBhPV8uRG4oKSxiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KGFbY10mNjMpKTtyZXR1cm4gYi5qb2luKCIiKX07Xy5Gbj1mdW5jdGlvbigpe3ZhciBhPV8udS55dExvZ2dpbmdEb2NEb2N1bWVudE5vbmNlXzthfHwoYT1FbigpLF8ucmEoInl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfIixhKSk7cmV0dXJuIGF9O18uR249ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliPWIqMzErYS5jaGFyQ29kZUF0KGMpLGM8YS5sZW5ndGgtMSYmKGIlPTB4ODAwMDAwMDAwMDAwKTtyZXR1cm4gYiUxRTV9O18uSW49ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBIbihhKX07CktuPWZ1bmN0aW9uKGEsYil7Yj1iLmp2O2lmKGEuai5oYXMoYikpcmV0dXJuIGEuai5nZXQoYikucHJvbWlzZTt2YXIgYz1KbihhLGIsW10sITApO2lmKGMhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShjKTt2YXIgZD17fTtkLnByb21pc2U9bmV3IFByb21pc2UoKGUsZik9PntkLlFoPWU7ZC5Rej1mfSk7YS5qLnNldChiLGQpO3JldHVybiBkLnByb21pc2V9OwpKbj1mdW5jdGlvbihhLGIsYyxkPSExKXtpZihjLmluZGV4T2YoYik+LTEpdGhyb3cgRXJyb3IoIkRhYCIrYik7aWYoYS5vLmhhcyhiKSlyZXR1cm4gYS5vLmdldChiKTtpZighYS52LmhhcyhiKSl7aWYoZClyZXR1cm47dGhyb3cgRXJyb3IoIkVhYCIrYik7fWQ9YS52LmdldChiKTtjLnB1c2goYik7aWYoZC5NYiE9PXZvaWQgMCl2YXIgZT1kLk1iO2Vsc2UgaWYoZC5XYyllPWRbXy5Mbl0/TW4oYSxkW18uTG5dLGMpOltdLGU9ZC5XYyguLi5lKTtlbHNlIGlmKGQuUGEpe2U9ZC5QYTtsZXQgZj1lW18uTG5dP01uKGEsZVtfLkxuXSxjKTpbXTtlPW5ldyBlKC4uLmYpfWVsc2UgdGhyb3cgRXJyb3IoIkZhYCIrYik7Yy5wb3AoKTtkLmdifHxhLm8uc2V0KGIsZSk7cmV0dXJuIGV9O01uPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj9iLm1hcChkPT5kIGluc3RhbmNlb2YgSG4/Sm4oYSxkLmtleSxjLCEwKTpKbihhLGQsYykpOltdfTtfLnk9ZnVuY3Rpb24oKXtObnx8KE5uPW5ldyBPbik7cmV0dXJuIE5ufTsKUW49ZnVuY3Rpb24oKXtyZXR1cm4iaDV2Y2MiaW4gUG4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlQmVnaW4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlRW5kPzE6InBlcmZvcm1hbmNlImluIFBuJiZQbi5wZXJmb3JtYW5jZS5tYXJrJiZQbi5wZXJmb3JtYW5jZS5tZWFzdXJlPzI6MH07Um49ZnVuY3Rpb24oYSl7dmFyIGI9UW4oKTtzd2l0Y2goYil7Y2FzZSAxOlBuLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsYSk7YnJlYWs7Y2FzZSAyOlBuLnBlcmZvcm1hbmNlLm1hcmsoYCR7YX0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpfLmViKGIsInVua25vd24gdHJhY2UgdHlwZSIpfX07ClNuPWZ1bmN0aW9uKGEpe3ZhciBiPVFuKCk7c3dpdGNoKGIpe2Nhc2UgMTpQbi5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixhKTticmVhaztjYXNlIDI6Yj1gJHthfS1zdGFydGA7bGV0IGM9YCR7YX0tZW5kYDtQbi5wZXJmb3JtYW5jZS5tYXJrKGMpO1BuLnBlcmZvcm1hbmNlLm1lYXN1cmUoYSxiLGMpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0Ol8uZWIoYiwidW5rbm93biB0cmFjZSB0eXBlIil9fTtUbj1mdW5jdGlvbihhKXt2YXIgYj1BcnJheS5mcm9tKGEuai5rZXlzKCkpLnNvcnQoKGMsZCk9PmEuZ2V0UHJpb3JpdHkoYS5qW2RdKS1hLmdldFByaW9yaXR5KGEualtjXSkpO2ZvcihsZXQgYyBvZiBiKWI9YS5qW2NdLGIuam9iSWQ9PT12b2lkIDB8fGIuTmp8fChhLnNjaGVkdWxlci5BYShiLmpvYklkKSxhLnNjaGVkdWxlci5HYShiLnhoLDEwKSl9OwpWbj1mdW5jdGlvbihhLGIsYyl7VW4mJmNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQmJmNvbnNvbGUuZ3JvdXBFbmQmJihjb25zb2xlLmdyb3VwQ29sbGFwc2VkKGBbJHthLmNvbnN0cnVjdG9yLm5hbWV9XSAnJHthLnN0YXRlfScgdG8gJyR7Yn0nYCksY29uc29sZS5sb2coIndpdGggbWVzc2FnZTogIixjKSxjb25zb2xlLmdyb3VwRW5kKCkpfTtabj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmlsdGVyKGU9PihhLnY/P2UucHJpb3JpdHk/PzApPT09MTApLGQ9Yi5maWx0ZXIoZT0+KGEudj8/ZS5wcmlvcml0eT8/MCkhPT0xMCk7cmV0dXJuIGEuQi5GZz9hc3luYyguLi5lKT0+e2F3YWl0IFduKGMsLi4uZSk7WG4oYSxkLC4uLmUpfTooLi4uZSk9PntZbihjLC4uLmUpO1huKGEsZCwuLi5lKX19OwpXbj1hc3luYyBmdW5jdGlvbihhLC4uLmIpe3ZhciBjPV8uQ2soKTtmb3IobGV0IGQgb2YgYSl7bGV0IGU7Yy5VKCgpPT57JG4oZC5uYW1lKTt2YXIgZj1hbygoKT0+ZC5jYWxsYmFjayguLi5iKSk7KDAsXy5ibykoZik/ZT1fLngoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpP2YudGhlbigoKT0+e2NvKGQubmFtZSl9KTpmLnRoZW4oKCk9PntjbyhkLm5hbWUpfSxoPT57d2luZG93Lm9uZXJyb3I/LihoLm1lc3NhZ2UsIiIsMCwwLGgpO2NvKGQubmFtZSl9KTpjbyhkLm5hbWUpfSk7ZSYmYXdhaXQgZX19O1huPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPWIubWFwKGQ9Pih7eGg6KCk9PnskbihkLm5hbWUpO2FvKCgpPT5kLmNhbGxiYWNrKC4uLmMpKTtjbyhkLm5hbWUpfSxwcmlvcml0eTphLnY/P2QucHJpb3JpdHk/PzB9KSk7Yi5sZW5ndGgmJihhLmo9bmV3IGVvKGIpKX07ClluPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9Xy5DaygpO2ZvcihsZXQgZCBvZiBhKWMuVSgoKT0+eyRuKGQubmFtZSk7YW8oKCk9PmQuY2FsbGJhY2soLi4uYikpO2NvKGQubmFtZSl9KX07JG49ZnVuY3Rpb24oYSl7Zm8mJmEmJlJuKGEpfTtjbz1mdW5jdGlvbihhKXtmbyYmYSYmU24oYSl9O2FvPWZ1bmN0aW9uKGEpe2lmKF8ueCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIikpcmV0dXJuIGEoKTt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXt3aW5kb3cub25lcnJvcj8uKGIubWVzc2FnZSwiIiwwLDAsYil9fTtfLmlvPWZ1bmN0aW9uKCl7Z298fChnbz1uZXcgaG8pO3JldHVybiBnb307Xy5rbz1mdW5jdGlvbihhKXtyZXR1cm4gXy5zYSgieXRjc2kuIisoYXx8IiIpKyJkYXRhXyIpfHxfLmpvKGEpfTtfLmxvPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLm1ldGFkYXRhfHwoYS5tZXRhZGF0YT17fSk7cmV0dXJuIGEubWV0YWRhdGF9OwpfLm1vPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLnRpY2t8fChhLnRpY2s9e30pO3JldHVybiBhLnRpY2t9O18ubm89ZnVuY3Rpb24oYSl7YT1fLmtvKGEpO2lmKGEuZ2VsKXtsZXQgYj1hLmdlbDtiLmdlbEluZm9zfHwoYi5nZWxJbmZvcz17fSk7Yi5nZWxUaWNrc3x8KGIuZ2VsVGlja3M9e30pfWVsc2UgYS5nZWw9e2dlbFRpY2tzOnt9LGdlbEluZm9zOnt9fTtyZXR1cm4gYS5nZWx9O18ub289ZnVuY3Rpb24oYSl7YT1fLm5vKGEpO2EuZ2VsSW5mb3N8fChhLmdlbEluZm9zPXt9KTtyZXR1cm4gYS5nZWxJbmZvc307Xy5wbz1mdW5jdGlvbihhKXt2YXIgYj1fLmtvKGEpLm5vbmNlO2J8fChiPUVuKCksXy5rbyhhKS5ub25jZT1iKTtyZXR1cm4gYn07Xy5qbz1mdW5jdGlvbihhKXt2YXIgYj17dGljazp7fSxpbmZvOnt9fTtfLnJhKCJ5dGNzaS4iKyhhfHwiIikrImRhdGFfIixiKTtyZXR1cm4gYn07CnFvPWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXRjc2kuZGVidWciKTthfHwoYT1bXSxfLnJhKCJ5dGNzaS5kZWJ1ZyIsYSksXy5yYSgieXRjc2kucmVmZXJlbmNlIix7fSkpO3JldHVybiBhfTtfLnNvPWZ1bmN0aW9uKGEpe3ZhciBiPXFvKCk7Yi5wdXNoKGEpO18ueCgibGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZSIpJiZiLmxlbmd0aD5ybyYmYi5zcGxpY2UoMCxiLmxlbmd0aC1ybyl9O18udW89ZnVuY3Rpb24oYSl7YT1hfHwiIjt2YXIgYj1fLnRvKCk7aWYoYlthXSlyZXR1cm4gYlthXTt2YXIgYz17dGltZXJOYW1lOmEsaW5mbzp7fSx0aWNrOnt9LHNwYW46e30sanNwYkluZm86W119O18uc28oYyk7cmV0dXJuIGJbYV09Y307Xy50bz1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Y3NpLnJlZmVyZW5jZSIpO2lmKGEpcmV0dXJuIGE7cW8oKTtyZXR1cm4gXy5zYSgieXRjc2kucmVmZXJlbmNlIil9Owp2bz1mdW5jdGlvbihhKXtpZihhLm5hbWU9PT0iSmF2YUV4Y2VwdGlvbiIpcmV0dXJuITA7YT1hLnN0YWNrO3JldHVybiBhLmluY2x1ZGVzKCJjaHJvbWU6Ly8iKXx8YS5pbmNsdWRlcygiLWV4dGVuc2lvbjovLyIpfHxhLmluY2x1ZGVzKCJ3ZWJraXQtbWFza2VkLXVybDovLyIpfTt3bz1mdW5jdGlvbihhKXtpZighYS5zdGFjaylyZXR1cm4hMDt2YXIgYj0hYS5zdGFjay5pbmNsdWRlcygiXG4iKTtyZXR1cm4gYiYmYS5zdGFjay5pbmNsdWRlcygiRXJyb3JUeXBlOiAiKXx8YiYmYS5zdGFjay5pbmNsdWRlcygiQW5vbnltb3VzIGZ1bmN0aW9uIChVbmtub3duIHNjcmlwdCIpfHxhLnN0YWNrLnRvTG93ZXJDYXNlKCk9PT0ibm90IGF2YWlsYWJsZSJ8fGEuZmlsZU5hbWU9PT0idXNlci1zY3JpcHQifHxhLmZpbGVOYW1lLnN0YXJ0c1dpdGgoInVzZXItc2NyaXB0OiIpPyEwOiExfTsKXy5Cbz1mdW5jdGlvbigpe2lmKCF4byl7dmFyIGE9eG89bmV3IHlvO2EubGUubGVuZ3RoPTA7YS5TZC5sZW5ndGg9MDtfLnpvKGEsQW8pfXJldHVybiB4b307Xy56bz1mdW5jdGlvbihhLGIpe2IubGUmJmEubGUudW5zaGlmdC5hcHBseShhLmxlLGIubGUpO2IuU2QmJmEuU2QudW5zaGlmdC5hcHBseShhLlNkLGIuU2QpfTtfLkNvPWZ1bmN0aW9uKGEpe3JldHVybiBhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpfTsKXy5Fbz1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MCxlPSgpPT5hLmNoYXJDb2RlQXQoZCsrKTtkb3t2YXIgZj1EbyhlKTtpZihmPT09SW5maW5pdHkpYnJlYWs7bGV0IGg9Zj4+Mztzd2l0Y2goZiY3KXtjYXNlIDA6Zj1EbyhlKTtpZihoPT09YilyZXR1cm4gZjticmVhaztjYXNlIDE6aWYoaD09PWIpcmV0dXJuO2QrPTg7YnJlYWs7Y2FzZSAyOmY9RG8oZSk7aWYoaD09PWIpcmV0dXJuIGEuc3Vic3RyKGQsZik7ZCs9ZjticmVhaztjYXNlIDU6aWYoaD09PWIpcmV0dXJuO2QrPTQ7YnJlYWs7ZGVmYXVsdDpyZXR1cm59fXdoaWxlKGQ8Yyl9O0RvPWZ1bmN0aW9uKGEpe3ZhciBiPWEoKSxjPWImMTI3O2lmKGI8MTI4KXJldHVybiBjO2I9YSgpO2N8PShiJjEyNyk8PDc7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7Y3w9KGImMTI3KTw8MTQ7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7cmV0dXJuIGI8MTI4P2N8KGImMTI3KTw8MjE6SW5maW5pdHl9OwpIbz1mdW5jdGlvbihhLGIsYyxkKXtpZihhKWlmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBlPWQ7Zm9yKGQ9MDtkPGEubGVuZ3RoJiYhKGFbZF0mJihlKz1GbyhkLGFbZF0sYixjKSxlPjUwMCkpO2QrKyk7ZD1lfWVsc2UgaWYodHlwZW9mIGE9PT0ib2JqZWN0Iilmb3IoZSBpbiBhKXtpZihhW2VdKXthOnt2YXIgZj1lO3ZhciBoPWFbZV0saz1iLGw9YztpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxmIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZmIT09InRyYWNraW5nUGFyYW1zIil7Zj0wO2JyZWFrIGF9Zj0oaD1fLkVvKF8uQ28oaCksMikpP0ZvKGAke2Z9LnZlYCxoLGssbCk6MH1kKz1mO2QrPUZvKGUsYVtlXSxiLGMpO2lmKGQ+NTAwKWJyZWFrfX1lbHNlIGNbYl09R28oYSksZCs9Y1tiXS5sZW5ndGg7ZWxzZSBjW2JdPUdvKGEpLGQrPWNbYl0ubGVuZ3RoO3JldHVybiBkfTsKRm89ZnVuY3Rpb24oYSxiLGMsZCl7Yys9YC4ke2F9YDthPUdvKGIpO2RbY109YTtyZXR1cm4gYy5sZW5ndGgrYS5sZW5ndGh9O0dvPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4odHlwZW9mIGE9PT0ic3RyaW5nIj9hOlN0cmluZyhKU09OLnN0cmluZ2lmeShhKSkpLnN1YnN0cigwLDUwMCl9Y2F0Y2goYil7cmV0dXJuYHVuYWJsZSB0byBzZXJpYWxpemUgJHt0eXBlb2YgYX0gKCR7Yi5tZXNzYWdlfSlgfX07CktvPWZ1bmN0aW9uKGEsYil7dmFyIGM9SW8oYik7aWYoYS5qW2NdKXJldHVybiBhLmpbY107dmFyIGQ9T2JqZWN0LmtleXMoYS5zdG9yZSl8fFtdO2lmKGQubGVuZ3RoPD0xJiZJbyhiKT09PWRbMF0pcmV0dXJuIGQ7dmFyIGU9W107Zm9yKGxldCBoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWRbaF0uc3BsaXQoIi8iKTtpZihKbyhiLmF1dGgsa1swXSkpe3ZhciBmPWIuaXNKc3BiO0pvKGY9PT12b2lkIDA/InVuZGVmaW5lZCI6Zj8idHJ1ZSI6ImZhbHNlIixrWzFdKSYmSm8oYi5jdHRBdXRoSW5mbyxrWzJdKSYmKGY9Yi50aWVyLGY9Zj09PXZvaWQgMD8idW5kZWZpbmVkIjpKU09OLnN0cmluZ2lmeShmKSxKbyhmLGtbM10pJiZlLnB1c2goZFtoXSkpfX1yZXR1cm4gYS5qW2NdPWV9O0pvPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT12b2lkIDB8fGE9PT0idW5kZWZpbmVkIj8hMDphPT09Yn07CklvPWZ1bmN0aW9uKGEpe3JldHVyblthLmF1dGg9PT12b2lkIDA/InVuZGVmaW5lZCI6YS5hdXRoLGEuaXNKc3BiPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEuaXNKc3BiLGEuY3R0QXV0aEluZm89PT12b2lkIDA/InVuZGVmaW5lZCI6YS5jdHRBdXRoSW5mbyxhLnRpZXI9PT12b2lkIDA/InVuZGVmaW5lZCI6YS50aWVyXS5qb2luKCIvIil9O18uQj1mdW5jdGlvbihhLGIpe2lmKGEpcmV0dXJuIGFbYi5uYW1lXX07TG89ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJodG1sNV9zZW5kX3FvZV9vbl9nZWwiKXx8Xy54KCJ3ZWJfc2VuZF92c3MzX2lzb2xhdGVkX3BheWxvYWQiKX07T289ZnVuY3Rpb24oYSl7TW89YTtMbygpJiYoXy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1hKTtObz1uZXcgYX07UW89ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dC5sb2dnaW5nLmltcyIpO2F8fChhPW5ldyBQbyxfLnJhKCJ5dC5sb2dnaW5nLmltcyIsYSkpO3JldHVybiBhfTsKJG89ZnVuY3Rpb24oYSxiKXtpZihhLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe1JvKGEpO3ZhciBjPVNvKGEpLGQ9VG8oYS5wYXlsb2FkKXx8IiI7YTp7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7dmFyIGU9VW9bZHx8IiJdO3ZhciBmPV8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5ldmVudExvZ2dpbmdDb25maWc/LnBheWxvYWRQb2xpY2llcztpZihmKWZvcihsZXQgaD0wO2g8Zi5sZW5ndGg7aCsrKWlmKGZbaF0ucGF5bG9hZE51bWJlcj09PWUpe2U9ZltoXTticmVhayBhfX1lPXZvaWQgMH1mPTIwMDtpZihlKXtpZihlLmVuYWJsZWQ9PT0hMSYmIV8ueCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47Zj1WbyhlLnRpZXIpO2lmKGY9PT00MDApe1dvKGEsYik7cmV0dXJufX1Yb1tjXT0hMDtjPXtjdHRBdXRoSW5mbzpjLGlzSnNwYjohMSx0aWVyOmZ9O1FvKCkuc3RvcmVQYXlsb2FkKGMsCmEucGF5bG9hZCk7WW8oYixjLFpvKGQpKX19O1lvPWZ1bmN0aW9uKGEsYixjPSExKXthJiZPbyhhKTthPV8uc2ooInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8Xy5zaigidHZodG1sNV9sb2dnaW5nX21heF9iYXRjaCIpfHxfLnNqKCJ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2giKXx8MTAwO3ZhciBkPSgwLF8uZWwpKCksZT1hcCghMSxiLnRpZXIpLGY9ZS5CO2MmJihlLmo9ITApO2M9MDtiJiYoYz1RbygpLmdldFNlcXVlbmNlQ291bnQoYikpO3ZhciBoPSgpPT57Xy5icCh7d3JpdGVUaGVuU2VuZDohMH0sdm9pZCAwLCExLGIudGllcil9O2M+PTFFMz9oKCk6Yz49YT9jcHx8KGNwPWRwKCgpPT57aCgpO2NwPXZvaWQgMH0sMCkpOmQtZj49MTAmJihlcCghMSxiLnRpZXIpLGUuQj1kKX07CldvPWZ1bmN0aW9uKGEsYil7aWYoYS5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtfLngoIm1vcmVfYWNjdXJhdGVfZ2VsX3BhcnNlciIpJiZRbygpLnN0b3JlUGF5bG9hZCh7aXNKc3BiOiExfSxhLnBheWxvYWQpO1JvKGEpO3ZhciBjPVNvKGEpLGQ9bmV3IE1hcDtkLnNldChjLFthLnBheWxvYWRdKTt2YXIgZT1UbyhhLnBheWxvYWQpfHwiIjsoYT1iP2I6TG8oKT9Nb3x8Xy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yX3x8bnVsbDpudWxsKSYmT28oYSk7cmV0dXJuIG5ldyBfLkJmKChmLGgpPT57Tm8mJk5vLmlzUmVhZHkoKT9mcChkLE5vLGYsaCx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFpvKGUpKTpmKCl9KX19OwpTbz1mdW5jdGlvbihhKXt2YXIgYj0iIjtpZihhLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24pYj0idmlzaXRvck9ubHlBcHByb3ZlZEtleSI7ZWxzZSBpZihhLmN0dEF1dGhJbmZvKXtiPWEuY3R0QXV0aEluZm87bGV0IGM9e307Yi52aWRlb0lkP2MudmlkZW9JZD1iLnZpZGVvSWQ6Yi5wbGF5bGlzdElkJiYoYy5wbGF5bGlzdElkPWIucGxheWxpc3RJZCk7Z3BbYS5jdHRBdXRoSW5mby50b2tlbl09YztiPWEuY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIGJ9OwpfLmJwPWZ1bmN0aW9uKGE9e30sYixjPSExLGQpe25ldyBfLkJmKChlLGYpPT57dmFyIGg9YXAoYyxkKSxrPWguajtoLmo9ITE7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSYmXy54KCJ3ZWJfdnNzX3JvdXRpbmdfY2hlY2tfYWxsX3RpZXJfcG9saWNpZXMiKSl7bGV0IGw9YXAoYywzMDApLG09YXAoYywyMDApO2s9a3x8bC5qfHxtLmo7bC5qPSExO20uaj0hMX1ocChoLnYpO2hwKGgubyk7aC5vPTA7Tm8mJk5vLmlzUmVhZHkoKT9kPT09dm9pZCAwJiZfLngoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2lwKGUsZixhLGIsYywzMDAsayk6aXAoZSxmLGEsYixjLGQsayk6KGVwKGMsZCksZSgpKX0pfTsKaXA9ZnVuY3Rpb24oYSxiLGM9e30sZCxlPSExLGY9MjAwLGg9ITEpe3ZhciBrPU5vLGw9bmV3IE1hcCxtPXtpc0pzcGI6ZSxjdHRBdXRoSW5mbzpkLHRpZXI6Zn07ZT17aXNKc3BiOmUsY3R0QXV0aEluZm86ZH07aWYoZCE9PXZvaWQgMClmPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W20sZV0sc2l6ZUxpbWl0OjFFM30pOlFvKCkuZXh0cmFjdE1hdGNoaW5nRW50cmllcyhlKSxsLnNldChkLGYpO2Vsc2UgZm9yKGxldCBuIG9mIE9iamVjdC5rZXlzKFhvKSlkPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W3tpc0pzcGI6ITEsY3R0QXV0aEluZm86bix0aWVyOmZ9LHtpc0pzcGI6ITEsY3R0QXV0aEluZm86bn1dLHNpemVMaW1pdDoxRTN9KTpRbygpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMSxjdHRBdXRoSW5mbzpufSksCmQubGVuZ3RoPjAmJmwuc2V0KG4sZCksKF8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJmMud3JpdGVUaGVuU2VuZHx8IV8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgWG9bbl07ZnAobCxrLGEsYixjLCExLGgpfTsKZXA9ZnVuY3Rpb24oYT0hMSxiPTIwMCl7dmFyIGM9KCk9PntfLmJwKHt3cml0ZVRoZW5TZW5kOiEwfSx2b2lkIDAsYSxiKX0sZD1hcChhLGIpLGU9ZD09PWpwfHxkPT09a3A/NUUzOmxwO18ueCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhZC5vJiYoZT1kcCgoKT0+e2MoKX0sZSksZC5vPWUpO2hwKGQudik7ZT1fLncoIkxPR0dJTkdfQkFUQ0hfVElNRU9VVCIsXy5zaigid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Xy54KCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmbXAmJihlPW5wKTtlPWRwKCgpPT57Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIik+MD9RbygpLmdldFNlcXVlbmNlQ291bnQoe2N0dEF1dGhJbmZvOnZvaWQgMCxpc0pzcGI6YSx0aWVyOmJ9KT49b3AmJmMoKTpjKCl9LGUpO2Qudj1lfTsKZnA9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9LGYsaCl7dmFyIGs9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKSxsPWEuc2l6ZSxtPXBwKGgpO2ZvcihsZXQgW24scF1vZiBhKXthPW47aD1wO2xldCByPV8ucWQoe2NvbnRleHQ6bW0oYi5jb25maWdffHxsbSgpKX0pO2lmKCFfLnlhKGgpJiYhXy54KCJ0aHJvd19lcnJfd2hlbl9sb2dldmVudF9tYWxmb3JtZWRfa2lsbHN3aXRjaCIpKXtkKCk7YnJlYWt9ci5ldmVudHM9aDsoaD1ncFthXSkmJnFwKHIsYSxoKTtkZWxldGUgZ3BbYV07bGV0IHQ9YT09PSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtycChyLGssdCk7Xy54KCJhbHdheXNfc2VuZF9hbmRfd3JpdGUiKSYmKGUud3JpdGVUaGVuU2VuZD0hMSk7bGV0IHY9QT0+e18ueCgic3RhcnRfY2xpZW50X2djZiIpJiZfLmpmLnBiKGFzeW5jKCk9Pnthd2FpdCBzcChBKX0pO2wtLTtsfHxjKCl9LHo9MCxFPSgpPT57eisrO2lmKGUuYnlwYXNzTmV0d29ya2xlc3MmJno9PT0xKXRyeXt2bihiLG0scix0cCh7d3JpdGVUaGVuU2VuZDohMH0sCnQsdixFLGYpKSxtcD0hMX1jYXRjaChBKXtfLlVpKEEpLGQoKX1sLS07bHx8YygpfTt0cnl7dm4oYixtLHIsdHAoZSx0LHYsRSxmKSksbXA9ITF9Y2F0Y2goQSl7Xy5VaShBKSxkKCl9fX07dHA9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPXtyZXRyeTohMCxvblN1Y2Nlc3M6YyxvbkVycm9yOmQsbmV0d29ya2xlc3NPcHRpb25zOmEsZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpiLGJJOiEhZSxoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOl8ueCgiY29tcHJlc3NfZ2VsIil8fF8ueCgiY29tcHJlc3NfZ2VsX2xyIil9O3VwKCkmJihhLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLF8uZWwpKCkpKSk7cmV0dXJuIGF9OwpycD1mdW5jdGlvbihhLGIsYyl7dXAoKXx8KGEucmVxdWVzdFRpbWVNcz1TdHJpbmcoYikpO18ueCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYoYS51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFjJiYoYj1fLncoIkVWRU5UX0lEIikpJiYoKGM9Xy53KCJCQVRDSF9DTElFTlRfQ09VTlRFUiIpfHwwKXx8KGM9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKSxjKyssYz42NTUzNSYmKGM9MSksXy5RaSgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLGMpLGEuc2VyaWFsaXplZENsaWVudEV2ZW50SWQ9e3NlcmlhbGl6ZWRFdmVudElkOmIsY2xpZW50Q291bnRlcjpTdHJpbmcoYyl9KX07CnFwPWZ1bmN0aW9uKGEsYixjKXtpZihjLnZpZGVvSWQpdmFyIGQ9IlZJREVPIjtlbHNlIGlmKGMucGxheWxpc3RJZClkPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47YS5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPWM7YS5jb250ZXh0PWEuY29udGV4dHx8e307YS5jb250ZXh0LnVzZXI9YS5jb250ZXh0LnVzZXJ8fHt9O2EuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOmIsc2NvcGU6ZH1dfTsKUm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy50aigiaWxfcGF5bG9hZF9zY3JhcGluZyIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighXy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZW5hYmxlU2NyYXBpbmdGb3JUZXN0IikpaWYoYil2cD1bXSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiLCEwKSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIix2cCksXy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiwidmlzdWFsRWxlbWVudFNob3duIHZpc3VhbEVsZW1lbnRIaWRkZW4gdmlzdWFsRWxlbWVudEF0dGFjaGVkIHNjcmVlbkNyZWF0ZWQgdmlzdWFsRWxlbWVudEdlc3R1cmVkIHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLnNwbGl0KCIgIikpLF8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRQYXlsb2FkRnJvbUNsaWVudEV2ZW50c0Z1bmN0aW9uIiksCl8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZUNsaWVudEV2ZW50IiwhMCk7ZWxzZSByZXR1cm47Yj1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIik7dmFyIGM9Xy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiksZD1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGMmJmMubGVuZ3RoPj0xKWZvcihsZXQgZT0wO2U8Yy5sZW5ndGg7ZSsrKWEmJmEucGF5bG9hZFtjW2VdXSYmKGQ/Yi5wdXNoKGEucGF5bG9hZCk6Yi5wdXNoKChhPy5wYXlsb2FkKVtjW2VdXSkpO18ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLGIpfTt1cD1mdW5jdGlvbigpe3JldHVybiBfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil8fF8ueCgibHJfdXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiKX07CmRwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT09PSExP18ubWooYSxiKTpfLngoImxvZ2dpbmdfYXZvaWRfYmxvY2tpbmdfZHVyaW5nX25hdmlnYXRpb24iKXx8Xy54KCJscl9sb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIik/Xy5ZaigoKT0+e18uaW8oKS5jdXJyZW50U3RhdGU9PT0ibm9uZSI/YSgpOl8uaW8oKS5pbnN0YWxsKHtub25lOntjYWxsYmFjazphfX0pfSxiKTpfLllqKGEsYil9O2hwPWZ1bmN0aW9uKGEpe18ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT9fLmpmLkFhKGEpOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9OwpzcD1hc3luYyBmdW5jdGlvbihhKXthPWE/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIGI9Xy5CKGEsd3ApLGM9YT8uaG90SGFzaERhdGEsZD1fLkIoYSx4cCksZT1hPy5jb2xkSGFzaERhdGEsZj1fLnkoKS5yZXNvbHZlKF8uSW4oaW0pKTtmJiYoYyYmKGI/YXdhaXQgZ20oZixjLGIpOmF3YWl0IGdtKGYsYykpLGUmJihkP2F3YWl0IGhtKGYsZSxkKTphd2FpdCBobShmLGUpKSk7Yj1hPy5yYXdGaW5jaFN0YXRpY0NvbmZpZ0dyb3VwOyhhPWE/LmZpbmNoU3RhdGljSGFzaERhdGEpPyhjPV8ueSgpLnJlc29sdmUoXy5Jbih5cCkpKT9hd2FpdCBjLndLKHtjb25maWc6Ynx8e30saUk6YXx8IiJ9KTooYnx8YSkmJl8uV2kobmV3IF8uWGooIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UgaXMgbm90IHByZXNlbnQsIGJ1dCBGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LiIpKTpiJiZfLldpKG5ldyBfLlhqKCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFwPWZ1bmN0aW9uKGEsYj0yMDApe3JldHVybiBhP2I9PT0zMDA/anA6enA6Yj09PTMwMD9rcDpBcH07VG89ZnVuY3Rpb24oYSl7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGIgb2YgYSlpZihVb1tiXSlyZXR1cm4gYn07Vm89ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07Wm89ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0iZ2VsRGVidWdnaW5nRXZlbnQifHxhPT09IndhdGNoVGltZVNlZ21lbnQifTsKcHA9ZnVuY3Rpb24oYT0hMSl7cmV0dXJuIGEmJl8ueCgidnNzX3Rocm91Z2hfZ2VsX3ZpZGVvX3N0YXRzIik/InZpZGVvX3N0YXRzIjoibG9nX2V2ZW50In07Cl8uQ3A9ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9e30sZj1NYXRoLnJvdW5kKGQudGltZXN0YW1wfHwoMCxfLmVsKSgpKTtlLmV2ZW50VGltZU1zPWY8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/ZjowO2VbYV09YjthPV8uQm4oKTtlLmNvbnRleHQ9e2xhc3RBY3Rpdml0eU1zOlN0cmluZyhkLnRpbWVzdGFtcHx8IWlzRmluaXRlKGEpPy0xOmEpfTtkLnNlcXVlbmNlR3JvdXAmJiFfLngoIndlYl9nZWxfc2VxdWVuY2VfaW5mb19raWxsc3dpdGNoIikmJihhPWUuY29udGV4dCxiPWQuc2VxdWVuY2VHcm91cCxCcFtiXT1iIGluIEJwP0JwW2JdKzE6MCxhLnNlcXVlbmNlPXtpbmRleDpCcFtiXSxncm91cEtleTpifSxkLmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBCcFtkLnNlcXVlbmNlR3JvdXBdKTtfLngoIndlYl90YWdfYXV0b21hdGVkX2xvZ19ldmVudHMiKSYmKGUuY29udGV4dC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZT1kLmF1dG9tYXRlZExvZ0V2ZW50U291cmNlKTsoZC5zZW5kSXNvbGF0ZWRQYXlsb2FkPwpXbzokbykoe2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6ZSxjdHRBdXRoSW5mbzpkLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246ZC5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxjKX07Xy5FcD1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9RHA7Xy53KCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmRHA9PT1EcCYmKGQ9bnVsbCk7Xy5DcChhLGIsZCxjKX07CkZwPWZ1bmN0aW9uKGEsYj17fSl7aWYoYT1hLk5kKXtsZXQgYz1hLmZoLGQ9YS5BbDthPVtbImNvbXBvbmVudFN0YWNrIixhLmNvbXBvbmVudFN0YWNrXSxbIndpelRhZ05hbWUiLGEudGFnTmFtZV0sWyJ3aXpPd25lclRyYWNlIixhLnByPy5qb2luKCIgPiAiKV0sWyJlcnJvclNldmVyaXR5IixjPy50b1N0cmluZygpXSxbIndpekZlYXR1cmVGbGFncyIsZD9PYmplY3QuZW50cmllcyhkKS5qb2luKCJcbiIpOnZvaWQgMF1dO2ZvcihsZXQgW2UsZl1vZiBhKWE9ZixhIT09dm9pZCAwJiYoYltlXT1hKX1yZXR1cm4gYn07Xy5IcD1mdW5jdGlvbihhKXtfLkdwKGEpfTtfLklwPWZ1bmN0aW9uKGEpe18uR3AoYSwiV0FSTklORyIpfTsKXy5HcD1mdW5jdGlvbihhLGI9IkVSUk9SIixjLGQsZSxmPXt9LGg9ITEsayl7Zi5uYW1lPWN8fF8udygiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpO2YudmVyc2lvbj1kfHxfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7SnAoYSxmLGIsaCxrKX07CkpwPWZ1bmN0aW9uKGEsYixjPSJFUlJPUiIsZD0hMSxlKXtpZihhKXthLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZhLmxldmVsJiYoYz1hLmxldmVsKTtpZihfLngoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBmPWI7aWYoIWY/LmNvbXBvbmVudFN0YWNrKXt2YXIgaD1hLk5kPy5jb21wb25lbnRTdGFjaztoJiYoZnx8KGY9e30pLGYuY29tcG9uZW50U3RhY2s9aCl9Yj1mfHxifWVsc2UgYj1GcChhLGIpLGY9YS5OZD8uZmgsZiE9PXZvaWQgMCYmYyE9PSJJR05PUkVEIiYmKGM9Zj49Mz8iRVJST1IiOiJXQVJOSU5HIik7aWYoXy54KCJjb25zb2xlX2xvZ19qc19leGNlcHRpb25zIil8fFsidGVzdCIsImRldiIsImF1dG9wdXNoIiwic3RhZ2luZyJdLmluY2x1ZGVzKF8udygiU0VSVkVSX1ZFUlNJT04iKSkpZj1bXSxmLnB1c2goYE5hbWU6ICR7YS5uYW1lfWApLGYucHVzaChgTWVzc2FnZTogJHthLm1lc3NhZ2V9YCksYS5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJgpmLnB1c2goYEVycm9yIFBhcmFtczogJHtKU09OLnN0cmluZ2lmeShhLnBhcmFtcyl9YCksYS5oYXNPd25Qcm9wZXJ0eSgiYXJncyIpJiZmLnB1c2goYEVycm9yIGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYS5hcmdzKX1gKSxmLnB1c2goYEZpbGUgbmFtZTogJHthLmZpbGVOYW1lfWApLGYucHVzaChgU3RhY2t0cmFjZTogJHthLnN0YWNrfWApLGY9Zi5qb2luKCJcbiIpLHdpbmRvdy5jb25zb2xlLmxvZyhmLGEpO2lmKCEoS3A+PTUpKXtmPVtdO2ZvcihrIG9mIExwKXRyeXtrKCkmJmYucHVzaChrKCkpfWNhdGNoKEUpe312YXIgaz1mO2s9Wy4uLk1wLC4uLmtdO3ZhciBsPUViKGEpO2Y9bC5tZXNzYWdlfHwiVW5rbm93biBFcnJvciI7aD1sLm5hbWV8fCJVbmtub3duRXJyb3IiO3ZhciBtPWwuc3RhY2t8fGEuWEt8fCJOb3QgYXZhaWxhYmxlIjtpZihtLnN0YXJ0c1dpdGgoYCR7aH06ICR7Zn1gKSl7dmFyIG49bS5zcGxpdCgiXG4iKTtuLnNoaWZ0KCk7bT1uLmpvaW4oIlxuIil9bj1sLmxpbmVOdW1iZXJ8fAoiTm90IGF2YWlsYWJsZSI7bD1sLmZpbGVOYW1lfHwiTm90IGF2YWlsYWJsZSI7bGV0IHo9MDtpZihhLmhhc093blByb3BlcnR5KCJhcmdzIikmJmEuYXJncyYmYS5hcmdzLmxlbmd0aClmb3IodmFyIHA9MDtwPGEuYXJncy5sZW5ndGgmJiEoej1IbyhhLmFyZ3NbcF0sYHBhcmFtcy4ke3B9YCxiLHopLHo+PTUwMCk7cCsrKTtlbHNlIGlmKGEuaGFzT3duUHJvcGVydHkoInBhcmFtcyIpJiZhLnBhcmFtcyl7bGV0IEU9YS5wYXJhbXM7aWYodHlwZW9mIGEucGFyYW1zPT09Im9iamVjdCIpZm9yKHAgaW4gRSl7aWYoIUVbcF0pY29udGludWU7bGV0IEE9YHBhcmFtcy4ke3B9YCxGPUdvKEVbcF0pO2JbQV09Rjt6Kz1BLmxlbmd0aCtGLmxlbmd0aDtpZih6PjUwMClicmVha31lbHNlIGIucGFyYW1zPUdvKEUpfWlmKGsubGVuZ3RoKWZvcihwPTA7cDxrLmxlbmd0aCYmISh6PUhvKGtbcF0sYHBhcmFtcy5jb250ZXh0LiR7cH1gLGIseiksej49NTAwKTtwKyspO25hdmlnYXRvci52ZW5kb3ImJiFiLmhhc093blByb3BlcnR5KCJ2ZW5kb3IiKSYmCihiWyJkZXZpY2UudmVuZG9yIl09bmF2aWdhdG9yLnZlbmRvcik7cD17bWVzc2FnZTpmLG5hbWU6aCxsaW5lTnVtYmVyOm4sZmlsZU5hbWU6bCxzdGFjazptLHBhcmFtczpiLHNhbXBsZVdlaWdodDoxfTtiPU51bWJlcihhLmNvbHVtbk51bWJlcik7aXNOYU4oYil8fChwLmxpbmVOdW1iZXI9YCR7cC5saW5lTnVtYmVyfToke2J9YCk7aWYoYS5sZXZlbD09PSJJR05PUkVEIil2YXIgcj0wO2Vsc2UgYTp7YT1fLkJvKCk7Zm9yKHIgb2YgYS5sZSlpZihwLm1lc3NhZ2UmJnAubWVzc2FnZS5tYXRjaChyLldKKSl7cj1yLndlaWdodDticmVhayBhfWZvcih2YXIgdCBvZiBhLlNkKWlmKHQuY2FsbGJhY2socCkpe3I9dC53ZWlnaHQ7YnJlYWsgYX1yPTF9cC5zYW1wbGVXZWlnaHQ9cjtyPXA7Zm9yKHZhciB2IG9mIE5wKXtpZighdi5KaltyLm5hbWVdKWNvbnRpbnVlO3Q9di5KaltyLm5hbWVdO2ZvcihsZXQgRSBvZiB0KXt0PXIubWVzc2FnZS5tYXRjaChFLnJlZ2V4cCk7aWYoIXQpY29udGludWU7CnIucGFyYW1zWyJwYXJhbXMuZXJyb3Iub3JpZ2luYWwiXT10WzBdO2E9RS5ncm91cHM7cD17fTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKXBbYVtiXV09dFtiKzFdLHIucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHthW2JdfWBdPXRbYisxXTtyLm1lc3NhZ2U9di5wbShwKTticmVha319ci5wYXJhbXN8fChyLnBhcmFtcz17fSk7dj1fLkJvKCk7ci5wYXJhbXNbInBhcmFtcy5lcnJvclNlcnZpY2VTaWduYXR1cmUiXT1gbXNnPSR7di5sZS5sZW5ndGh9JmNiPSR7di5TZC5sZW5ndGh9YDtyLnBhcmFtc1sicGFyYW1zLnNlcnZpY2VXb3JrZXIiXT0iZmFsc2UiO18udS5kb2N1bWVudCYmXy51LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihyLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3IE9wKFBwLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT1PcCYmKHIucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09CiJ0cnVlIik7d2luZG93Lnl0ZXJyJiZ0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKHIpO3Iuc2FtcGxlV2VpZ2h0PT09MHx8UXAuaGFzKHIubWVzc2FnZSl8fChkP1JwKHIsYyk6U3AocixjLGUpKX19fTtScD1mdW5jdGlvbihhLGI9IkVSUk9SIil7VHAoYixhKTtVcChhKX07ClNwPWZ1bmN0aW9uKGEsYj0iRVJST1IiLGMpe2lmKGI9PT0iRVJST1IiKXtfLlZwLnB1Ymxpc2goImhhbmRsZUVycm9yIixhKTtpZihfLngoInJlY29yZF9hcHBfY3Jhc2hlZF93ZWIiKSYmV3A9PT0wJiZhLnNhbXBsZVdlaWdodD09PTEpe1dwKys7bGV0IGQ9e2FwcENyYXNoVHlwZToiQVBQX0NSQVNIX1RZUEVfQlJFQUtQQUQifTtfLngoInJlcG9ydF9jbGllbnRfZXJyb3Jfd2l0aF9hcHBfY3Jhc2hfa3MiKXx8KGQuc3lzdGVtSGVhbHRoPXtjcmFzaERhdGE6e2NsaWVudEVycm9yOntsb2dNZXNzYWdlOnttZXNzYWdlOmEubWVzc2FnZX19fX0pO18uRXAoImFwcENyYXNoZWQiLGQpfVhwKyt9ZWxzZSBiPT09IldBUk5JTkciJiZfLlZwLnB1Ymxpc2goImhhbmRsZVdhcm5pbmciLGEpO18ueCgia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIikmJihjPVlwKGIsYSxjKSkmJihfLkVwKCJjbGllbnRFcnJvciIsYyksKGI9PT0iRVJST1IifHxfLngoImVycm9yc19mbHVzaF9nZWxfYWx3YXlzX2tpbGxzd2l0Y2giKSkmJgpfLmJwKHZvaWQgMCx2b2lkIDAsITEpKTtfLngoInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIil8fFRwKGIsYSk7VXAoYSl9O1VwPWZ1bmN0aW9uKGEpe3RyeXtRcC5hZGQoYS5tZXNzYWdlKX1jYXRjaChiKXt9S3ArK307CllwPWZ1bmN0aW9uKGEsYixjPXt9KXthOntmb3IoZCBvZiBacClpZihfLk1rKGQudG9Mb3dlckNhc2UoKSkpe3ZhciBkPSEwO2JyZWFrIGF9ZD0hMX1pZighZCl7dmFyIGU9e3N0YWNrVHJhY2U6Yi5zdGFja307Yi5maWxlTmFtZSYmKGUuZmlsZW5hbWU9Yi5maWxlTmFtZSk7ZD1iLmxpbmVOdW1iZXImJmIubGluZU51bWJlci5zcGxpdD9iLmxpbmVOdW1iZXIuc3BsaXQoIjoiKTpbXTtkLmxlbmd0aCE9PTAmJihkLmxlbmd0aCE9PTF8fGlzTmFOKE51bWJlcihkWzBdKSk/ZC5sZW5ndGghPT0yfHxpc05hTihOdW1iZXIoZFswXSkpfHxpc05hTihOdW1iZXIoZFsxXSkpfHwoZS5saW5lTnVtYmVyPU51bWJlcihkWzBdKSxlLmNvbHVtbk51bWJlcj1OdW1iZXIoZFsxXSkpOmUubGluZU51bWJlcj1OdW1iZXIoZFswXSkpO2Q9e2xldmVsOiJFUlJPUl9MRVZFTF9VTktOT1dOIixtZXNzYWdlOmIubWVzc2FnZSxlcnJvckNsYXNzTmFtZTpiLm5hbWUsc2FtcGxlV2VpZ2h0OmIuc2FtcGxlV2VpZ2h0fTsKYT09PSJFUlJPUiI/ZC5sZXZlbD0iRVJST1JfTEVWRUxfRVJST1IiOmE9PT0iV0FSTklORyImJihkLmxldmVsPSJFUlJPUl9MRVZFTF9XQVJOTklORyIpO2E9e2lzT2JmdXNjYXRlZDohMCxicm93c2VyU3RhY2tJbmZvOmV9O2MucGFnZVVybD13aW5kb3cubG9jYXRpb24uaHJlZjtjLmt2UGFpcnM9W107Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikmJihjLmV4cGVyaW1lbnRJZHM9Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikpO2U9Xy53KCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighXy5SaSgid2ViX2Rpc2FibGVfZ2VsX3N0cF9lY2F0Y2hlcl9raWxsc3dpdGNoIikmJmUpZm9yKHZhciBmIG9mIE9iamVjdC5rZXlzKGUpKWMua3ZQYWlycy5wdXNoKHtrZXk6Zix2YWx1ZTpTdHJpbmcoZVtmXSl9KTtpZihmPWIucGFyYW1zKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhmKSljLmt2UGFpcnMucHVzaCh7a2V5OmBjbGllbnQuJHtofWAsdmFsdWU6U3RyaW5nKGZbaF0pfSk7CmlmKGI9Yi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZCljLnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoYik7Yj1fLncoIlNFUlZFUl9OQU1FIik7aD1fLncoIlNFUlZFUl9WRVJTSU9OIik7YiYmaCYmKGMua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTpifSksYy5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJmMua3ZQYWlycy5wdXNoKHtrZXk6ImNsaWVudC5wbGF5ZXIudmVyc2lvbiIsdmFsdWU6Yn0pO3JldHVybntlcnJvck1ldGFkYXRhOmMsc3RhY2tUcmFjZTphLGxvZ01lc3NhZ2U6ZH19fTsKVHA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBhcmFtc3x8e307YT17dXJsUGFyYW1zOnthOiJsb2dlcnJvciIsdDoianNlcnJvciIsdHlwZTpiLm5hbWUsbXNnOmIubWVzc2FnZS5zdWJzdHIoMCwyNTApLGxpbmU6Yi5saW5lTnVtYmVyLGxldmVsOmEsImNsaWVudC5uYW1lIjpjLm5hbWV9LHBvc3RQYXJhbXM6e3VybDpfLncoIlBBR0VfTkFNRSIsd2luZG93LmxvY2F0aW9uLmhyZWYpLGZpbGU6Yi5maWxlTmFtZX0sbWV0aG9kOiJQT1NUIn07Yy52ZXJzaW9uJiYoYVsiY2xpZW50LnZlcnNpb24iXT1jLnZlcnNpb24pO2lmKGEucG9zdFBhcmFtcyl7Yi5zdGFjayYmKGEucG9zdFBhcmFtcy5zdGFjaz1iLnN0YWNrKTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYykpYS5wb3N0UGFyYW1zW2BjbGllbnQuJHtlfWBdPWNbZV07aWYoYj1fLncoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgZCBvZiBPYmplY3Qua2V5cyhiKSlhLnBvc3RQYXJhbXNbZF09CmJbZF07KGQ9Xy53KCJMQVZBX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImxhdmEudmVyc2lvbiJdPWQpO2Q9Xy53KCJTRVJWRVJfTkFNRSIpO2I9Xy53KCJTRVJWRVJfVkVSU0lPTiIpO2QmJmImJihhLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09ZCxhLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09Yik7KGQ9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImNsaWVudC5wbGF5ZXIudmVyc2lvbiJdPWQpfV8uemooYCR7Xy53KCJFQ0FUQ0hFUl9SRVBPUlRfSE9TVCIsIiIpfS9lcnJvcl8yMDRgLGEpfTthcT1mdW5jdGlvbigpeyRwLmluc3RhbmNlfHwoJHAuaW5zdGFuY2U9bmV3ICRwKTtyZXR1cm4gJHAuaW5zdGFuY2V9OwpjcT1mdW5jdGlvbihhLGIpe2JxW2JdPWJxW2JdfHx7Y291bnQ6MH07dmFyIGM9YnFbYl07Yy5jb3VudCsrO2MudGltZT0oMCxfLmVsKSgpO2Euanx8KGEuaj1fLllqKCgpPT57dmFyIGQ9KDAsXy5lbCkoKTtmb3IobGV0IGUgaW4gYnEpYnFbZV0mJmQtYnFbZV0udGltZT42RTQmJmRlbGV0ZSBicVtlXTthJiYoYS5qPTApfSw1RTMpKTtyZXR1cm4gYy5jb3VudD41PyhjLmNvdW50PT09NiYmTWF0aC5yYW5kb20oKSoxRTU8MSYmKGM9bmV3IF8uWGooIkNTSSBkYXRhIGV4Y2VlZGVkIGxvZ2dpbmcgbGltaXQgd2l0aCBrZXkiLGIuc3BsaXQoIl8iKSksYi5pbmRleE9mKCJwbGV2Iik+PTB8fF8uSXAoYykpLCEwKTohMX07ZHE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gXy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSlbYV19OwplcT1mdW5jdGlvbihhLGI9MCl7dmFyIGM9Xy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7Y3x8KGM9e30sXy5RaSgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsYykpO2NbYl09YX07ZnE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gYT09PTA/IlJPT1RfVkVfVFlQRSI6YFJPT1RfVkVfVFlQRS4ke2F9YH07Xy5ncT1mdW5jdGlvbihhPTApe3JldHVybiBfLncoZnEoYSkpfTtocT1mdW5jdGlvbigpe3ZhciBhPV8udygiY3NuLXRvLWN0dC1hdXRoLWluZm8iKTthfHwoYT17fSxfLlFpKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIsYSkpO3JldHVybiBhfTtfLmlxPWZ1bmN0aW9uKGE9MCl7YT1kcShhKTtpZighYSYmIV8udygiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO2F8fChhPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIGE/YTpudWxsfTtqcT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aHEoKTsoYz1fLmlxKGMpKSYmZGVsZXRlIGRbY107YiYmKGRbYV09Yil9OwpfLmtxPWZ1bmN0aW9uKGEpe3JldHVybiBocSgpW2FdfTtfLm1xPWZ1bmN0aW9uKGEsYixjPTAsZCl7aWYoYSE9PWRxKGMpfHxiIT09Xy53KGZxKGMpKSlpZihqcShhLGQsYyksZXEoYSxjKSxfLlFpKGZxKGMpLGIpLGI9KCk9PntzZXRUaW1lb3V0KCgpPT57YSYmXy5FcCgiZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQiLHtjbGllbnREb2N1bWVudE5vbmNlOmxxLGNsaWVudFNjcmVlbk5vbmNlOmF9KX0sMCl9LCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiaW4gd2luZG93KXRyeXt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGIpfWNhdGNoKGUpe2IoKX1lbHNlIGIoKX07Xy5vcT1mdW5jdGlvbihhLGIpe18ubnEoIl9zdGFydCIsYSxiKX07Cl8ucHE9ZnVuY3Rpb24oYSxiKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGIpLmFjdGlvbkRpc2FibGVkKXt2YXIgYz1fLnVvKGJ8fCIiKTtfLnluKGMuaW5mbyxhKTthLmxvYWRUeXBlJiYoYz1hLmxvYWRUeXBlLF8ubG8oYikubG9hZFR5cGU9Yyk7Xy55bihfLm9vKGIpLGEpO2M9Xy5wbyhiKTtiPV8ua28oYikuY3R0QXV0aEluZm87YXEoKS5pbmZvKGEsYyxiKX19O3FxPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnVGlja3M/P1tdKS5tYXAoYT0+T2JqZWN0LnZhbHVlcyhhKVswXSl9OwpfLm5xPWZ1bmN0aW9uKGEsYixjKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGMpLmFjdGlvbkRpc2FibGVkKXt2YXIgZD1fLnBvKGMpLGU7aWYoZT1fLngoIndlYl9jc2lfZGVidWdfc2FtcGxlX2VuYWJsZWQiKSYmZCl7Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCkmJiFycSYmKHJxPSEwLF8ubnEoImdjZmwiLCgwLF8uZWwpKCksYykpO2U9Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCk/LmxvZ2dpbmdIb3RDb25maWc/LmNzaUNvbmZpZz8uZGVidWdTYW1wbGVXZWlnaHR8fDA7dmFyIGY7aWYoZj1lIT09MCliOntmPXFxKCk7aWYoZi5sZW5ndGg+MClmb3IodmFyIGg9MDtoPGYubGVuZ3RoO2grKylpZihhPT09ZltoXSl7Zj0hMDticmVhayBifWY9ITF9Zj8oZT1fLkduKGQpJWUhPT0wLF8ua28oYykuZGVidWdUaWNrc0V4Y2x1ZGVkTG9nZ2VkfHwoZj17fSxmLmRlYnVnVGlja3NFeGNsdWRlZD1lLF8ucHEoZixjKSksXy5rbyhjKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTplPSExfWlmKCFlKXtpZihhWzBdIT09Il8iJiYoZT1hLF8uc3EubWFyaykpe2Uuc3RhcnRzV2l0aCgibWFya18iKXx8KGU9Im1hcmtfIitlKTtjJiYoZSs9YCAoJHtjfSlgKTtmPWU7aD17fTtpZihiIT09dm9pZCAwJiYhXy54KCJ3ZWJfY3NpX2Rpc2FibGVfYWx0X3RpbWVfcGVyZm9ybWFuY2VfbWFyayIpKXtsZXQgbD1iO2w9Xy54KCJjc2lfdXNlX3BlcmZvcm1hbmNlX25hdmlnYXRpb25fdGltaW5nIik/bC1fLnNxLnRpbWVPcmlnaW46bC0oXy5zcS50aW1lT3JpZ2lufHxfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQpO2guc3RhcnRUaW1lPWx9Xy54KCJjc2lfZW5hYmxlX2Nocm9tZV9kZXZ0b29sc19wZXJmb3JtYW5jZV90aW1lbGluZV9pbnRlZ3JhdGlvbiIpJiYoaC5kZXRhaWw9e3ZJOntkYXRhVHlwZToibWFya2VyIixjb2xvcjoicHJpbWFyeSIsdG9vbHRpcFRleHQ6Zn19KTtmPU9iamVjdC5rZXlzKGgpLmxlbmd0aD4wP2g6dm9pZCAwO3RyeXtfLnNxLm1hcmsoZSxmKX1jYXRjaChsKXtfLnNxLm1hcmsoZSl9fWU9Cl8udW8oY3x8IiIpO2UudGlja1thXT1ifHwoMCxfLmVsKSgpO2lmKGUuY2FsbGJhY2smJmUuY2FsbGJhY2tbYV0pZm9yKHZhciBrIG9mIGUuY2FsbGJhY2tbYV0paygpO2s9Xy5ubyhjKTtrLmdlbFRpY2tzJiYoay5nZWxUaWNrc1thXT0hMCk7ZT1fLm1vKGMpO2s9Ynx8KDAsXy5lbCkoKTtlW2FdPWs7ZT1fLmtvKGMpLmN0dEF1dGhJbmZvO2E9PT0iX3N0YXJ0Ij8oYT1hcSgpLGNxKGEsYGJhc2VsaW5lXyR7ZH1gKXx8Xy5FcCgibGF0ZW5jeUFjdGlvbkJhc2VsaW5lZCIse2NsaWVudEFjdGlvbk5vbmNlOmR9LHt0aW1lc3RhbXA6YixjdHRBdXRoSW5mbzplfSkpOmFxKCkudGljayhhLGQsYixlKTtfLnRxKGMpO3JldHVybiBrfX19OwpfLnZxPWZ1bmN0aW9uKGEpe3ZhciBiPV8udXEoImFmdCIsYSk7aWYoYilyZXR1cm4gYjtiPV8udygoYXx8IiIpKyJUSU1JTkdfQUZUX0tFWVMiLFsib2wiXSk7dmFyIGM9Yi5sZW5ndGg7Zm9yKGxldCBkPTA7ZDxjO2QrKyl7bGV0IGU9Xy51cShiW2RdLGEpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIE5hTn07Xy51cT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5tbyhiKVthXSlyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIj9hOmFbYS5sZW5ndGgtMV19O18udHE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51cSgiX3N0YXJ0IixhKSxjPV8udnEoYSksZD0hd3E7YiYmYyYmZCYmKF8uc20oeHEsbmV3IHlxKE1hdGgucm91bmQoYy1iKSxhKSksd3E9ITApfTtfLnpxPWZ1bmN0aW9uKGEsYixjPSExKXtfLlZpKF8ucHEpKGEsYixjKX07Xy5BcT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uVmkoXy5ucSkoYSxiLGMpfTsKXy5CcT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlZpKCgpPT57dmFyIGM9Xy5tbyhiKTtyZXR1cm4gYSBpbiBjfSkoKX07a2E9T2JqZWN0LmNyZWF0ZTtqYT1PYmplY3QuZGVmaW5lUHJvcGVydHk7aWE9Z2xvYmFsVGhpcztjYT0iSW50OCBVaW50OCBVaW50OENsYW1wZWQgSW50MTYgVWludDE2IEludDMyIFVpbnQzMiBGbG9hdDMyIEZsb2F0NjQiLnNwbGl0KCIgIik7aWEuQmlnSW50NjRBcnJheSYmKGNhLnB1c2goIkJpZ0ludDY0IiksY2EucHVzaCgiQmlnVWludDY0IikpO3ZhciBsYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZmEoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiYSIpfSk7CmZhKCJTdXBwcmVzc2VkRXJyb3IiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyxkLGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGIpKXJldHVybiBuZXcgYihjLGQsZSk7ZT1FcnJvcihlKTsic3RhY2siaW4gZSYmKHRoaXMuc3RhY2s9ZS5zdGFjayk7dGhpcy5tZXNzYWdlPWUubWVzc2FnZTt0aGlzLmVycm9yPWM7dGhpcy5zdXBwcmVzc2VkPWR9aWYoYSlyZXR1cm4gYTtuYShiLEVycm9yKTtiLnByb3RvdHlwZS5uYW1lPSJTdXBwcmVzc2VkRXJyb3IiO3JldHVybiBifSk7CmZhKCJTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtpZihiIGluc3RhbmNlb2YgUmVnRXhwJiYhYi5nbG9iYWwpdGhyb3cgbmV3IFR5cGVFcnJvcigiYiIpO3JldHVybiBiIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShiLGMpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhiKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxjKX19KTtmYSgiUHJvbWlzZS53aXRoUmVzb2x2ZXJzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7dmFyIGIsYztyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2I9ZDtjPWV9KSxyZXNvbHZlOmIscmVqZWN0OmN9fX0pOwpmYSgiT2JqZWN0Lmhhc093biIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixjKX19KTtmYSgiQXJyYXkucHJvdG90eXBlLmF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZWEoImF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZmEoIlN0cmluZy5wcm90b3R5cGUuYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6cWF9KTtfLl9EdW1wRXhjZXB0aW9uPXdpbmRvdy5fRHVtcEV4Y2VwdGlvbnx8ZnVuY3Rpb24oYSl7dGhyb3cgYTt9O3dpbmRvdy5fRHVtcEV4Y2VwdGlvbj1fLl9EdW1wRXhjZXB0aW9uO3dpbmRvdy55dGNzaSYmd2luZG93Lnl0Y3NpLnRpY2smJndpbmRvdy55dGNzaS50aWNrKCJyc2VzX2RwaiIpO18uQ3E9Xy5DcXx8e307Xy51PXRoaXN8fHNlbGY7Xy5EcT1fLnUuX0ZfdG9nZ2xlc19kZWZhdWx0X2Jhc2V8fFtdO3ZhLmdldD1mdW5jdGlvbigpe3JldHVybiBudWxsfTtfLmVoPW51bGw7Xy5FcT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTt2YXIgJG09Y2xhc3N7Y29uc3RydWN0b3Ioe3VybDphLGtMOmJ9KXt0aGlzLm89YTt0aGlzLkI9Yjt0aGlzLnY9KG5ldyBEYXRlKS5nZXRUaW1lKCktMTcwNDA2NzJFNTt0aGlzLmo9e307Zm9yKHZhciBjPS9bPyZdKFteJj1dKyk9KFteJl0qKS9nO2I9Yy5leGVjKGEpOyl0aGlzLmpbYlsxXV09YlsyXX19O18uSGEoXy5MYSxFcnJvcik7Xy5MYS5wcm90b3R5cGUubmFtZT0iQ3VzdG9tRXJyb3IiO3ZhciB3ZDt2YXIgTmE9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsUWE7Xy5TYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTtWYShhPT5hYGApfHxWYShhPT5hYFwwYCl8fFZhKGE9PmFgXG5gKXx8VmEoYT0+YWBcdTAwMDBgKTtfLldhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O18uRnE9bmV3IF8uV2EoImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7dmFyIFphLGNiO1phPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuZmI9YX19O18uR3E9bmV3IFphKGE9Pi9eW146XSooWy8/I118JCkvLnRlc3QoYSkpO18uSHE9JGEoInRlbCIpO18uSXE9JGEoImRhdGEiKTtfLkpxPSRhKCJodHRwIik7Xy5LcT0kYSgiaHR0cHMiKTtfLkxxPSRhKCJmdHAiKTtfLk1xPSRhKCJtYWlsdG8iKTtfLk5xPSRhKCJpbnRlbnQiKTtfLk9xPSRhKCJzbXMiKTtfLlBxPSRhKCJ2bmQueW91dHViZSIpO18uYWI9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxXTtjYj0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO18uZmI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qKyIifX07Xy5qYj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTt2YXIgcGI9ImFsdGVybmF0ZSBhdXRob3IgYm9va21hcmsgY2Fub25pY2FsIGNpdGUgaGVscCBpY29uIGxpY2Vuc2UgbW9kdWxlcHJlbG9hZCBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpO3ZhciBEYj17fTt2YXIgS2I7S2I9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtfLlliPS8jfCQvO3ZhciBRcT0hIShfLkRxWzBdPj4yNSYxKSxScT0hIShfLkRxWzBdPj4yMCYxKSxTcT0hIShfLkRxWzBdPj4yNyYxKSxUcT0hIShfLkRxWzBdJjgpLFVxPSEhKF8uRHFbMF0mODE5MiksVnE9ISEoXy5EcVswXT4+MTkmMSksV3E9ISEoXy5EcVswXT4+MTcmMSksWHE9ISEoXy5EcVswXT4+MTgmMSk7dmFyIGRjLFZjLGRlLEFlLFZnO2RjPVFxP1NxOnVhKDYxMDQwMTMwMSwhMSk7Xy5ZcT1RcT9UcTp1YSg1MTM2NTk1MjMsITEpO1ZjPVFxP1JxfHwhVXE6dWEoNzQ4NDAyMTQ3LCEwKTtkZT1RcT9WcTp1YSg5MTk0NDQ4MjQsITEpO0FlPVFxP1dxOnVhKDkyODg3NTM5OCwhMSk7Vmc9UXE/WHE6dWEoNjgzNzQ5MjAxLCExKTt2YXIgZWMsWnE9Xy51Lm5hdmlnYXRvcjtlYz1acT9acS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7Xy5wY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgJHEsYXIsYnI7JHE9amMoKTthcj1pYygpPyExOmhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIik7Xy5KbD1oYygiRWRnZSIpO2JyPWhjKCJHZWNrbyIpJiYhKF8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIikpJiYhKGhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIikpJiYhaGMoIkVkZ2UiKTtfLmNyPV8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIik7Xy5kcj1fLmNyJiZoYygiTW9iaWxlIik7bmMoKXx8aGMoIk1hY2ludG9zaCIpO25jKCl8fGhjKCJXaW5kb3dzIik7KG5jKCk/ZWMucGxhdGZvcm09PT0iTGludXgiOmhjKCJMaW51eCIpKXx8bmMoKXx8aGMoIkNyT1MiKTtfLmVyPW5jKCk/ZWMucGxhdGZvcm09PT0iQW5kcm9pZCI6aGMoIkFuZHJvaWQiKTtvYygpO2hjKCJpUGFkIik7aGMoImlQb2QiKTtfLmZyPW9jKCl8fGhjKCJpUGFkIil8fGhjKCJpUG9kIik7Cl8uZ3I9Xy5iYygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigia2Fpb3MiKSE9LTE7a2MoKTtfLmhyPW9jKCl8fGhjKCJpUG9kIik7Xy5pcj1oYygiaVBhZCIpOyFoYygiQW5kcm9pZCIpfHxtYygpfHxrYygpfHxqYygpfHxoYygiU2lsayIpO21jKCk7Xy5Paz1oYygiU2FmYXJpIikmJiEobWMoKXx8KGljKCk/MDpoYygiQ29hc3QiKSl8fGpjKCl8fChpYygpPzA6aGMoIkVkZ2UiKSl8fChpYygpP2ZjKCJNaWNyb3NvZnQgRWRnZSIpOmhjKCJFZGcvIikpfHwoaWMoKT9mYygiT3BlcmEiKTpoYygiT1BSIikpfHxrYygpfHxoYygiU2lsayIpfHxoYygiQW5kcm9pZCIpKSYmIShvYygpfHxoYygiaVBhZCIpfHxoYygiaVBvZCIpKTt2YXIgcmM9e30sdmM9bnVsbDt2YXIgd2M9dm9pZCAwO3ZhciBIYyxZYyxTYztfLkpjPV8ueWMoKTtfLmpyPV8ueWMoKTtIYz1fLnljKCk7Xy5rcj1fLnljKCk7WWM9Xy55YygpO18uT2M9Xy55YygibV9tIiwhMCk7U2M9Xy55YygpO18ubHI9Xy55YygpO3ZhciBucjtfLkFjPV8ueWMoImphcyIsITApO25yPVtdO25yW18uQWNdPTc7Xy5tcj1PYmplY3QuZnJlZXplKG5yKTtfLlBjPXt9O18uemM9e307Xy5vcj1PYmplY3QuZnJlZXplKHt9KTtfLnByPV8uQ2MoYT0+YSE9PW51bGwmJmEhPT12b2lkIDApO3ZhciBFYyxEYztFYz1fLkNjKGE9PnR5cGVvZiBhPT09Im51bWJlciIpO0RjPV8uQ2MoYT0+dHlwZW9mIGE9PT0ic3RyaW5nIik7Xy5ibz1fLkNjKGE9PmEhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCImJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iKTtfLnFyPV8uQ2MoYT0+ISFhJiYodHlwZW9mIGE9PT0ib2JqZWN0Inx8dHlwZW9mIGE9PT0iZnVuY3Rpb24iKSk7dmFyIHJyLHNyO18uTWM9Xy5DYyhhPT5hPj1yciYmYTw9c3IpO3JyPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUik7c3I9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtfLnRyPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwO18udXI9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzVWludE46dm9pZCAwO18udnI9TnVtYmVyLmlzU2FmZUludGVnZXI7Xy53cj1OdW1iZXIuaXNGaW5pdGU7Xy54cj1NYXRoLnRydW5jO3ZhciBUYz17fTt2YXIgS2M7Xy55cj1fLkZjKDApO18uenI9ZmQoKTtfLkFyPWZkKCk7Xy5Ccj1mZCgpO18uQ3I9ZmQoKTtfLkRyPWZkKCk7Xy5Fcj1mZCgpO18uRnI9ZmQoKTtfLkdyPWZkKCk7Xy5Icj1mZCgpO18uSXI9ZmQoKTtfLkpyPWZkKCk7Xy5Lcj1mZCgpO18uTHI9ZmQoKTtfLk1yPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLkRhPV8uWGMoYSxiLGMsMjA0OCl9dG9KU09OKCl7cmV0dXJuIFVjKHRoaXMpfXNlcmlhbGl6ZShhKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoVWModGhpcyxhKSl9Y2xvbmUoKXt2YXIgYT10aGlzLkRhLGI9YVtfLkFjXXwwO3JldHVybiBfLiRjKHRoaXMsYSxiKT9fLmJkKHRoaXMsYSwhMCk6bmV3IHRoaXMuY29uc3RydWN0b3IoXy5aYyhhLGIsITEpKX19O18uTXIucHJvdG90eXBlW18uT2NdPV8uUGM7dmFyIGpqPXdpbmRvdzsiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsCiJJTlBVVCJdKTt2YXIgaWQ9e1FCOiJhbGxvdy1mb3JtcyIsU0I6ImFsbG93LW1vZGFscyIsVEI6ImFsbG93LW9yaWVudGF0aW9uLWxvY2siLFVCOiJhbGxvdy1wb2ludGVyLWxvY2siLFZCOiJhbGxvdy1wb3B1cHMiLFdCOiJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giLFhCOiJhbGxvdy1wcmVzZW50YXRpb24iLFlCOiJhbGxvdy1zYW1lLW9yaWdpbiIsWkI6ImFsbG93LXNjcmlwdHMiLGFDOiJhbGxvdy10b3AtbmF2aWdhdGlvbiIsYkM6ImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJ9LGxkPWhkKCgpPT5rZCgpKTtfLmc9Xy5uZC5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLm5kKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTtfLmcuYXJlYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoKnRoaXMuaGVpZ2h0fTtfLmcuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5hcmVhKCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcuc2NhbGU9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoKj1hO3RoaXMuaGVpZ2h0Kj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTtyZXR1cm4gdGhpc307dmFyIHJkPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIik7dmFyIE9wPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE9PT1QcCYmYnx8IiJ9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qfX0sUHA9e307bmV3IE9wKFBwLCIiKTtfLmc9dWQucHJvdG90eXBlO18uZy5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihhLGIpe3JldHVybihifHx0aGlzLmopLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhhKSl9O18uZy5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiBCZCh0aGlzLmosYSl9O18uZy5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qLmNyZWF0ZVRleHROb2RlKFN0cmluZyhhKSl9O18uZy5hcHBlbmRDaGlsZD1mdW5jdGlvbihhLGIpe2EuYXBwZW5kQ2hpbGQoYil9O18uZy5hcHBlbmQ9ZnVuY3Rpb24oYSxiKXtBZChfLnZkKGEpLGEsYXJndW1lbnRzKX07Xy5nLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8uZy5yZW1vdmVOb2RlPV8uRGQ7Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEmJmI/YT09Ynx8YS5jb250YWlucyhiKTohMX07Xy5nLmlzRm9jdXNhYmxlPV8uRmQ7dmFyIGlqPShuZXcgRGF0ZSkuZ2V0VGltZSgpO18uZz1MZC5wcm90b3R5cGU7Xy5nLmlzRW5hYmxlZD1mdW5jdGlvbigpe2lmKCFfLnUubmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpcmV0dXJuITE7aWYoIXRoaXMuaXNFbXB0eSgpKXJldHVybiEwO3RoaXMuc2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiLCIxIix7dmo6NjB9KTtpZih0aGlzLmdldCgiVEVTVENPT0tJRVNFTkFCTEVEIikhPT0iMSIpcmV0dXJuITE7dGhpcy5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKXy5nLnNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7aWYodHlwZW9mIGM9PT0ib2JqZWN0Iil7dmFyIGU9Yy5zYW1lU2l0ZTtkPWMuc2VjdXJlfHwhMTt2YXIgZj1jLmRvbWFpbnx8dm9pZCAwO3ZhciBoPWMucGF0aHx8dm9pZCAwO3ZhciBrPWMudmp9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcigiRGAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJFYCIrYik7az09PXZvaWQgMCYmKGs9LTEpO2M9Zj8iO2RvbWFpbj0iK2Y6IiI7aD1oPyI7cGF0aD0iK2g6IiI7ZD1kPyI7c2VjdXJlIjoiIjtrPWs8MD8iIjprPT0wPyI7ZXhwaXJlcz0iKyhuZXcgRGF0ZSgxOTcwLDEsMSkpLnRvVVRDU3RyaW5nKCk6IjtleHBpcmVzPSIrKG5ldyBEYXRlKERhdGUubm93KCkrayoxRTMpKS50b1VUQ1N0cmluZygpO3RoaXMuai5jb29raWU9YSsiPSIrYitjK2graytkKyhlIT1udWxsPyI7c2FtZXNpdGU9IitlOiIiKX07Cl8uZy5nZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hKyI9IixkPSh0aGlzLmouY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IobGV0IGU9MCxmO2U8ZC5sZW5ndGg7ZSsrKXtmPWRbZV0udHJpbSgpO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5nLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7dmo6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5nLnJkPWZ1bmN0aW9uKCl7cmV0dXJuIE1kKHRoaXMpLmtleXN9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiBNZCh0aGlzKS52YWx1ZXN9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuai5jb29raWV9O18uZy5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPU1kKHRoaXMpLmtleXM7Zm9yKGxldCBiPWEubGVuZ3RoLTE7Yj49MDtiLS0pdGhpcy5yZW1vdmUoYVtiXSl9OwpfLkxqPW5ldyBMZCh0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBSZDtfLk5yPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dmFyIGM9Y3x8W107dGhpcy52PWE7dGhpcy5vPWJ8fG51bGw7dGhpcy5qPVtdO3RoaXMuaj10aGlzLmouY29uY2F0KGMpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudn19O18uT3I9bmV3IF8uTnIoIm43M3F3ZiIsIm43M3F3ZiIpO18uYWUucHJvdG90eXBlLlk9ITE7Xy5hZS5wcm90b3R5cGUuaWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ZfTtfLmFlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5ZfHwodGhpcy5ZPSEwLHRoaXMubGEoKSl9O18uYWUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLmFlLnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuWT9iIT09dm9pZCAwP2EuY2FsbChiKTphKCk6KHRoaXMuS3x8KHRoaXMuSz1bXSksYiYmKGE9YS5iaW5kKGIpKSx0aGlzLksucHVzaChhKSl9O18uYWUucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7aWYodGhpcy5LKWZvcig7dGhpcy5LLmxlbmd0aDspdGhpcy5LLnNoaWZ0KCkoKX07dmE9dmF8fHt9O18uSGEoYmUsXy5hZSk7YmUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt9O2NlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGEpe3RoaXMuaiYmKHRoaXMuai5jYWxsKHRoaXMub3x8bnVsbCxhKSx0aGlzLmo9dGhpcy5vPW51bGwpfTtjZS5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPW51bGx9O3ZhLndrPWNlO18uSGEoZWUsXy5hZSk7Xy5nPWVlLnByb3RvdHlwZTtfLmcuUGo9bnVsbDtfLmcuT3k9YmU7Xy5nLkFqPW51bGw7Xy5nLnN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5nLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRH07Xy5nLmlzTG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLkFqfTtfLmcueWU9ZnVuY3Rpb24oKXt0aGlzLkFqPW5ldyBiZX07Xy5nLm9uTG9hZD1mdW5jdGlvbihhKXt2YXIgYj1uZXcgdGhpcy5PeTtiLmluaXRpYWxpemUoYSgpKTt0aGlzLkFqPWI7aWYodGhpcy5vJiYoYj1pZSh0aGlzLm8sYSgpKSkpcmV0dXJuIGI7aWYodGhpcy5CJiYoYT1pZSh0aGlzLkIsYSgpKSkpcmV0dXJuIGE7dGhpcy52JiYodGhpcy52Lmxlbmd0aD0wKTtyZXR1cm4gbnVsbH07Cl8uZy5vbkVycm9yPWZ1bmN0aW9uKGEpe3RoaXMudiYmKGE9aWUodGhpcy52LGEpKSYmXy4kYihFcnJvcigiR2AiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuQiYmKHRoaXMuQi5sZW5ndGg9MCl9O18uZy5sYT1mdW5jdGlvbigpe2VlLnpiLmxhLmNhbGwodGhpcyk7Xy5aZCh0aGlzLkFqKTt0aGlzLlBqPW51bGx9O3ZhLk9nPWVlO3ZhciBRZz17RVJST1I6ImVycm9yIixJRExFOiJpZGxlIixNczoiYWN0aXZlIixpdToidXNlcklkbGUiLGh1OiJ1c2VyQWN0aXZlIn07Xy5nPWplLnByb3RvdHlwZTtfLmcuUnI9ZnVuY3Rpb24oKXt9O18uZy5UaD1mdW5jdGlvbigpe307Xy5nLm5pPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIkgiKTt9O18uZy5BZz1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJJIik7fTtfLmcuVnA9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiExfTtfLmcuZW49ZnVuY3Rpb24oKXt9O18uZy5abj1mdW5jdGlvbigpe307dmFyIFByPWNsYXNze2luaXQoKXtfLkZhKCJfRl9pbnN0YWxsQ3NzIixhPT57YSYma2UoYSl9KX19O3ZhciBtZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLm89IiI7dGhpcy52PXt9fXRvU3RyaW5nKCl7dmFyIGE9dGhpcy5vK3ZlKHRoaXMpLGI9Xy5VYih0aGlzLnYpLGM9IiI7YiE9IiImJihjPSI/IitiKTtyZXR1cm4gYStjfWNsb25lKCl7dmFyIGE9bmV3IG1lO2Euaj17Li4udGhpcy5qfTthLm89dGhpcy5vO2Eudj17Li4udGhpcy52fTtyZXR1cm4gYX19LG5lPXt2RzoiayIsRUM6ImNrIix6RjoibSIsWUM6ImV4bSIsV0M6ImV4Y20iLExCOiJhbSIsUkI6ImFtYyIsbUY6Im1tIix0RzoicnQiLGJGOiJkIixYQzoiZWQiLGlIOiJzdiIsSkM6ImRlb2IiLHNDOiJjYiIsd0M6ImNjYiIsdEM6ImNiaSIsWUc6InJzIixCRzoic2RjaCIsY0Y6ImltIixLQzoiZGciLFVDOiJiciIsVEM6ImJyLWQiLFZDOiJyYiIsSUg6InpzIixFSDoid3QiLFpDOiJlZSIsaEg6InNtIix4RjoibWQiLFhFOiJnc3Ntb2R1bGVzZXRwcm90byIsQ0g6InVqZyIsQkg6InNwIixhRjoiaWNoYyIsWEc6InNsayIsCk1DOiJkdGkiLExDOiJkYndoIixlRjoiaWMifSxRcj1SZWdFeHAoIl4oZ2FwaVxcLik/bG9hZGVkKF9nfF9oKT8oX1swLTlhLXpdKykrJCIpLFJyPVJlZ0V4cCgiXlthLXpBLVowLTktXypdKyQiKTt2YXIgR2U9ITE7Xy55Zz10eXBlb2YgQXN5bmNDb250ZXh0IT09InVuZGVmaW5lZCImJnR5cGVvZiBBc3luY0NvbnRleHQuU25hcHNob3Q9PT0iZnVuY3Rpb24iP2E9PmEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpOmE9PmE7Xy5KZS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcy5vPSEwfTtfLkplLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Xy5IYShLZSxfLkplKTsKS2UucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnR5cGU9YS50eXBlLGQ9YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTpudWxsO3RoaXMudGFyZ2V0PWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7dGhpcy5jdXJyZW50VGFyZ2V0PWI7Yj1hLnJlbGF0ZWRUYXJnZXQ7Ynx8KGM9PSJtb3VzZW92ZXIiP2I9YS5mcm9tRWxlbWVudDpjPT0ibW91c2VvdXQiJiYoYj1hLnRvRWxlbWVudCkpO3RoaXMucmVsYXRlZFRhcmdldD1iO2Q/KHRoaXMuY2xpZW50WD1kLmNsaWVudFghPT12b2lkIDA/ZC5jbGllbnRYOmQucGFnZVgsdGhpcy5jbGllbnRZPWQuY2xpZW50WSE9PXZvaWQgMD9kLmNsaWVudFk6ZC5wYWdlWSx0aGlzLnNjcmVlblg9ZC5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1kLnNjcmVlbll8fDApOih0aGlzLm9mZnNldFg9Xy5jcnx8YS5vZmZzZXRYIT09dm9pZCAwP2Eub2Zmc2V0WDphLmxheWVyWCx0aGlzLm9mZnNldFk9Cl8uY3J8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8IiI7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwoYz09ImtleXByZXNzIj9hLmtleUNvZGU6MCk7dGhpcy5jdHJsS2V5PWEuY3RybEtleTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLnNoaWZ0S2V5PWEuc2hpZnRLZXk7dGhpcy5tZXRhS2V5PWEubWV0YUtleTt0aGlzLnBvaW50ZXJJZD1hLnBvaW50ZXJJZHx8MDt0aGlzLnBvaW50ZXJUeXBlPWEucG9pbnRlclR5cGU7dGhpcy5zdGF0ZT1hLnN0YXRlO3RoaXMudGltZVN0YW1wPQphLnRpbWVTdGFtcDt0aGlzLmo9YTthLmRlZmF1bHRQcmV2ZW50ZWQmJktlLnpiLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9O0tlLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtLZS56Yi5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKTt0aGlzLmouc3RvcFByb3BhZ2F0aW9uP3RoaXMuai5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLmouY2FuY2VsQnViYmxlPSEwfTtLZS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtLZS56Yi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuajthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgVWU9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTt2YXIgTGU9MDtPZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5saXN0ZW5lcnNbZl07YXx8KGE9dGhpcy5saXN0ZW5lcnNbZl09W10sdGhpcy5qKyspO3ZhciBoPVFlKGEsYixkLGUpO2g+LTE/KGI9YVtoXSxjfHwoYi56aT0hMSkpOihiPW5ldyBNZShiLHRoaXMuc3JjLGYsISFkLGUpLGIuemk9YyxhLnB1c2goYikpO3JldHVybiBifTtPZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS50b1N0cmluZygpO2lmKCEoYSBpbiB0aGlzLmxpc3RlbmVycykpcmV0dXJuITE7dmFyIGU9dGhpcy5saXN0ZW5lcnNbYV07Yj1RZShlLGIsYyxkKTtyZXR1cm4gYj4tMT8oTmUoZVtiXSksQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGUsYiwxKSxlLmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1thXSx0aGlzLmotLSksITApOiExfTt2YXIgWGU9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksZWY9e30sJGU9MCxmZj0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO18uSGEoXy5nZixfLmFlKTtfLmdmLnByb3RvdHlwZVtVZV09ITA7Xy5nPV8uZ2YucHJvdG90eXBlO18uZy5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18uU2UodGhpcyxhLGIsYyxkKX07Xy5nLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5jZih0aGlzLGEsYixjLGQpfTsKXy5nLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLk07aWYoYylmb3IoYj1bXTtjO2M9Yy5NKWIucHVzaChjKTtjPXRoaXMuRmE7dmFyIGQ9YS50eXBlfHxhO2lmKHR5cGVvZiBhPT09InN0cmluZyIpYT1uZXcgXy5KZShhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uSmUpYS50YXJnZXQ9YS50YXJnZXR8fGM7ZWxzZXt2YXIgZT1hO2E9bmV3IF8uSmUoZCxjKTtzZChhLGUpfWU9ITA7dmFyIGY7aWYoYilmb3IoZj1iLmxlbmd0aC0xOyFhLm8mJmY+PTA7Zi0tKXt2YXIgaD1hLmN1cnJlbnRUYXJnZXQ9YltmXTtlPWhmKGgsZCwhMCxhKSYmZX1hLm98fChoPWEuY3VycmVudFRhcmdldD1jLGU9aGYoaCxkLCEwLGEpJiZlLGEub3x8KGU9aGYoaCxkLCExLGEpJiZlKSk7aWYoYilmb3IoZj0wOyFhLm8mJmY8Yi5sZW5ndGg7ZisrKWg9YS5jdXJyZW50VGFyZ2V0PWJbZl0sZT1oZihoLGQsITEsYSkmJmU7cmV0dXJuIGV9OwpfLmcubGE9ZnVuY3Rpb24oKXtfLmdmLnpiLmxhLmNhbGwodGhpcyk7dGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTt0aGlzLk09bnVsbH07Xy5nLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLmcucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGEpe2lmKHRoaXMubyl7dmFyIGI9dGhpcy5vO2E9YSYmYS50b1N0cmluZygpO2xldCBjPTA7Zm9yKGxldCBkIGluIGIubGlzdGVuZXJzKWlmKCFhfHxkPT1hKXtsZXQgZT1iLmxpc3RlbmVyc1tkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKykrK2MsTmUoZVtmXSk7ZGVsZXRlIGIubGlzdGVuZXJzW2RdO2Iuai0tfWI9Y31lbHNlIGI9MDtyZXR1cm4gYn07dmFyIGtmPWNsYXNzIGV4dGVuZHMgXy5nZntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuRD10aGlzLmo9MDt0aGlzLkRjPWE/P3twYjooYixjKT0+c2V0VGltZW91dChiLGMpLEFhOmI9PntjbGVhclRpbWVvdXQoYil9fTt0aGlzLmlzT25saW5lPXdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZT8/ITA7dGhpcy52PWFzeW5jKCk9Pnthd2FpdCBtZih0aGlzKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMudik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy52KTt0aGlzLkR8fG5mKHRoaXMpfWRpc3Bvc2UoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsdGhpcy52KTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIix0aGlzLnYpO3RoaXMuRGMuQWEodGhpcy5EKTtkZWxldGUga2YuaW5zdGFuY2V9U2IoKXtyZXR1cm4gdGhpcy5pc09ubGluZX19O3ZhciBxZj1udWxsLHBmPW5ldyBNYXA7dmFyIFNyPWE9PnthPWEuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwiZCIsIjAiKTt3ZShhLG51bGwpO3hlKGEsbnVsbCk7cmV0dXJuIGF9LFRyPSEwLFVyPShhLGIse2Nzc1Jvd0tleTpjLEtlOmQsWWQ6ZSxjYWxsYmFjazpmfT17fSk9PntpZihiKWZvcihsZXQgaCBvZiBiKWlmKCFSci50ZXN0KGgpKXRocm93IEVycm9yKCJKYCIraCk7b2UoYSwibSIsYi5qb2luKCIsIikpO2UmJnplKGEsZSk7YyYmKG9lKGEsImNrIixjKSxkP29lKGEsInJzIixkKTpUciYmKFRyPSExKSk7aWYoZil7aWYoZiE9bnVsbCYmIVFyLnRlc3QoZikpdGhyb3cgRXJyb3IoIktgIitmKTtvZShhLCJjYiIsZil9YT1hLnRvU3RyaW5nKCk7YS5sYXN0SW5kZXhPZigiLyIsMCk9PTAmJihiPV8uTWIoZG9jdW1lbnQubG9jYXRpb24uaHJlZiksYT1fLkliKGJbMV0sYlsyXSxiWzNdLGJbNF0pK2EpO3JldHVybiBfLlRhKGEpfSxuZz0oYSxiLHtsbjpjPVtdLGNzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofT0Ke30pPT57YT1TcihhKTt4ZShhLGMpO3JldHVybiBVcihhLGIse2Nzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofSl9LG1nPShhLGIse21uOmM9W10sbG46ZD1bXSxjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a309e30pPT57YT1TcihhKTtvZShhLCJkIiwiMSIpO3dlKGEsYyk7eGUoYSxkKTtyZXR1cm4gVXIoYSxiLHtjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a30pfTt2YXIgVnI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnY9YTt0aGlzLkI9Yjt0aGlzLm89MDt0aGlzLmo9bnVsbH1nZXQoKXtpZih0aGlzLm8+MCl7dGhpcy5vLS07dmFyIGE9dGhpcy5qO3RoaXMuaj1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMudigpO3JldHVybiBhfX07dmFyIFdyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPXRoaXMuaj1udWxsfWFkZChhLGIpe3ZhciBjPXZmLmdldCgpO2Muc2V0KGEsYik7dGhpcy5vP3RoaXMuby5uZXh0PWM6dGhpcy5qPWM7dGhpcy5vPWN9cmVtb3ZlKCl7dmFyIGE9bnVsbDt0aGlzLmomJihhPXRoaXMuaix0aGlzLmo9dGhpcy5qLm5leHQsdGhpcy5qfHwodGhpcy5vPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX19LHZmPW5ldyBWcigoKT0+bmV3IFhyLGE9PmEucmVzZXQoKSksWHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLmZuPW51bGx9c2V0KGEsYil7dGhpcy5mbj1hO3RoaXMuc2NvcGU9Yjt0aGlzLm5leHQ9bnVsbH1yZXNldCgpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZm49bnVsbH19O3ZhciBZcix3Zj0hMSx1Zj1uZXcgV3IsR2Y9KGEsYik9PntZcnx8WnIoKTt3Znx8KFlyKCksd2Y9ITApO3VmLmFkZChhLGIpfSxacj0oKT0+e3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO1lyPSgpPT57YS50aGVuKHhmKX19O0NmLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuY29udGV4dD10aGlzLmo9dGhpcy5vPXRoaXMuY2hpbGQ9bnVsbDt0aGlzLnY9ITF9O3ZhciBEZj1uZXcgVnIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IENmfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KTtfLkJmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gUWYodGhpcywoMCxfLnlnKSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSwoMCxfLnlnKSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy55ZihfLkJmKTtfLmc9Xy5CZi5wcm90b3R5cGU7Xy5nLmZpbmFsbHk9ZnVuY3Rpb24oYSl7YT0oMCxfLnlnKShhKTtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntLZih0aGlzLGQ9PnthKCk7YihkKX0sZD0+e2EoKTtjKGQpfSl9KX07Xy5nLktnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFFmKHRoaXMsbnVsbCwoMCxfLnlnKShhKSxiKX07Xy5nLmNhdGNoPV8uQmYucHJvdG90eXBlLktnOwpfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaj09MCl7bGV0IGI9bmV3IF8uUGYoYSk7R2YoZnVuY3Rpb24oKXtMZih0aGlzLGIpfSx0aGlzKX19O18uZy5uQj1mdW5jdGlvbihhKXt0aGlzLmo9MDtfLkFmKHRoaXMsMixhKX07Xy5nLm9CPWZ1bmN0aW9uKGEpe3RoaXMuaj0wO18uQWYodGhpcywzLGEpfTtfLmcudHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1NZih0aGlzKTspTmYodGhpcyxhLHRoaXMuaix0aGlzLkkpO3RoaXMuSz0hMX07Xy5VZj1fLiRiO18uSGEoXy5QZixfLkxhKTtfLlBmLnByb3RvdHlwZS5uYW1lPSJjYW5jZWwiO18uSGEoWGYsXy5MYSk7WGYucHJvdG90eXBlLm5hbWU9IlhockVycm9yIjtfLkhhKFlmLFhmKTtZZi5wcm90b3R5cGUubmFtZT0iWGhySHR0cEVycm9yIjtfLkhhKFpmLFhmKTtaZi5wcm90b3R5cGUubmFtZT0iWGhyVGltZW91dEVycm9yIjtfLmRoPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQ9ITEsZT0hMSl7dGhpcy5ZPXFlKF8uVWEoYSkudG9TdHJpbmcoKSwhMCk7dGhpcy5GYT1iO3RoaXMueWE9Yzt0aGlzLkQ9ZDt0aGlzLkI9e307dGhpcy5NPW5ldyBNYXA7dGhpcy5aPVtdO3RoaXMub2E9ITA7dGhpcy5oYT0oYT10ZSh0aGlzLlksImV4Y20iKSk/YS5zcGxpdCgiLCIpOltdO3RoaXMuVmQ9ZTt0aGlzLmZpPSExO3RoaXMuV2c9ImFub255bW91cyI7dGhpcy5kaT00MDQzO3RoaXMuZ2E9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMudj10aGlzLkk9bnVsbDt0aGlzLkViPSEwO0hlKCk7dGhpcy5YPW51bGw7Xy5hZyh0aGlzLHllKHRoaXMuWSkpO3RoaXMuZmV0Y2hQcmlvcml0eT12b2lkIDA7dGhpcy5NYT0hMTt0aGlzLlUoKX1hc3luYyBRYSgpe3Rocm93IEVycm9yKCJUIik7fVUoKXt9bG9hZChhLGIsYyxkLGU9Yil7Xy5VYShhKTt2YXIgZj10aGlzLmZpLGg9dGhpcy5XZyxrPXRoaXMuZmV0Y2hQcmlvcml0eSwKbD1fLkNkKCJTQ1JJUFQiKTtfLm9iKGwsYSk7ZiYmKGwuY3Jvc3NPcmlnaW49aCk7bC5hc3luYz0hMTtrJiZsLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsayk7Xy5hZyh0aGlzLGIpO18ucGcodGhpcyxhLGwsYixjLGQsZSl9fTt2YXIgcWc9bmV3IFVpbnQ4QXJyYXkoMTIzKSxLZz0hMTt2YXIgTGc9W107Xy5nPXRnLnByb3RvdHlwZTtfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuail0aGlzLnYgaW5zdGFuY2VvZiB0ZyYmdGhpcy52LmNhbmNlbCgpO2Vsc2V7aWYodGhpcy5vKXtsZXQgYj10aGlzLm87ZGVsZXRlIHRoaXMubzthP2IuY2FuY2VsKGEpOihiLlktLSxiLlk8PTAmJmIuY2FuY2VsKCkpfXRoaXMuWj90aGlzLlouY2FsbCh0aGlzLlUsdGhpcyk6dGhpcy5NPSEwO3RoaXMuanx8KGE9bmV3IEZnKHRoaXMpLHhnKHRoaXMpLHZnKHRoaXMsITEsYSkpfX07Xy5nLnNwPWZ1bmN0aW9uKGEsYil7dGhpcy5JPSExO3ZnKHRoaXMsYSxiKX07Xy5nLmNhbGxiYWNrPWZ1bmN0aW9uKGEpe3hnKHRoaXMpO3ZnKHRoaXMsITAsYSl9O18uZy5maW5hbGx5PWZ1bmN0aW9uKGEpe3JldHVybiBFZyhuZXcgUHJvbWlzZSgoYixjKT0+e3pnKHRoaXMsZD0+e2EoKTtiKGQpfSxkPT57YSgpO2MoZCl9KX0pKX07Cl8uZy50aGVuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9bmV3IF8uQmYoZnVuY3Rpb24oaCxrKXtlPWg7ZD1rfSk7emcodGhpcyxlLGZ1bmN0aW9uKGgpe2ggaW5zdGFuY2VvZiBGZz9mLmNhbmNlbCgpOmQoaCk7cmV0dXJuIENnfSx0aGlzKTtyZXR1cm4gZi50aGVuKGEsYixjKX07Xy55Zih0Zyk7dGcucHJvdG90eXBlLmlzRXJyb3I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcn07dmFyIENnPXt9O18uSGEod2csXy5MYSk7d2cucHJvdG90eXBlLm1lc3NhZ2U9IkRlZmVycmVkIGhhcyBhbHJlYWR5IGZpcmVkIjt3Zy5wcm90b3R5cGUubmFtZT0iQWxyZWFkeUNhbGxlZEVycm9yIjtfLkhhKEZnLF8uTGEpO0ZnLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCB3YXMgY2FuY2VsZWQiO0ZnLnByb3RvdHlwZS5uYW1lPSJDYW5jZWxlZEVycm9yIjsKRGcucHJvdG90eXBlLnRocm93RXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgQmdbdGhpcy5qXTt0aHJvdyB0aGlzLm87fTt2YXIgQmc9e307dmFyIEdnPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXtzdXBlcigpO3RoaXMubmFtZT0iTW9kdWxlTG9hZEZhaWx1cmUiO3RoaXMudHlwZT1hO3RoaXMuc3RhdHVzPWI7dGhpcy5tbj1jO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9dG9TdHJpbmcoKXtyZXR1cm5gJHtIZyh0aGlzKX0gKCR7dGhpcy5zdGF0dXMhPXZvaWQgMD90aGlzLnN0YXR1czoiPyJ9KWB9fTt2YS5vYj1HZzt2YS5vYi5UeXBlPXtwbzowLHBrOjEsVElNRU9VVDoyLGhvOjMsdWs6NH07Xy5IYShJZyxqZSk7Xy5IYShKZyxfLkxhKTtfLmc9SWcucHJvdG90eXBlO18uZy5Scj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9OwpfLmcuVGg9ZnVuY3Rpb24oYSxiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBJZykpdGhpcy5UaChhLGIpO2Vsc2UgaWYodHlwZW9mIGE9PT0ic3RyaW5nIil7aWYoYS5zdGFydHNXaXRoKCJkJCIpKXthPWEuc3Vic3RyaW5nKDIpO2Zvcih2YXIgYz1bXSxkPTAsZT1hLmluZGV4T2YoIi8iKSxmPTAsaD0hMSxrPTA7Oyl7dmFyIGw9aD9hLnN1YnN0cmluZyhmKTphLnN1YnN0cmluZyhmLGUpO2lmKGwubGVuZ3RoPT09MClkKyssZj0ic3kiK2QudG9TdHJpbmcoMzYpLGw9W107ZWxzZXt2YXIgbT1sLmluZGV4T2YoIjoiKTtpZihtPDApZj1sLGw9W107ZWxzZSBpZihtPT09bC5sZW5ndGgtMSlmPWwuc3Vic3RyaW5nKDAsbSksbD1BcnJheShjW2stMV0pO2Vsc2V7Zj1sLnN1YnN0cmluZygwLG0pO2w9bC5zdWJzdHJpbmcobSsxKS5zcGxpdCgiLCIpO209aztmb3IobGV0IG49MDtuPGwubGVuZ3RoO24rKyltLT1sW25dLmxlbmd0aD09PTA/MTpOdW1iZXIobFtuXSksbFtuXT1jW21dfW09MDtpZihmLmxlbmd0aD09PQowKW09MTtlbHNlIGlmKGYuY2hhckF0KDApPT09IisifHxmLmNoYXJBdCgwKT09PSItIiltPU51bWJlcihmKTttIT09MCYmKGQrPW0sZj0ic3kiK2QudG9TdHJpbmcoMzYpKX1jLnB1c2goZik7TmcodGhpcyxmLGwpO2lmKGgpYnJlYWs7Zj1lKzE7ZT1hLmluZGV4T2YoIi8iLGYpO2U9PT0tMSYmKGg9ITApO2srK310aGlzLmhhPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpT2codGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7az1hW2RdLnNwbGl0KCI6Iik7ZT1rWzBdO2g9W107aWYoa1sxXSlmb3IoaD1rWzFdLnNwbGl0KCIsIiksaz0wO2s8aC5sZW5ndGg7aysrKWhba109Y1twYXJzZUludChoW2tdLDM2KV07Yy5wdXNoKGUpO05nKHRoaXMsZSxoKX10aGlzLmhhPWN9aWYoYiYmYi5sZW5ndGgpe2ZvcihsZXQgbiBvZiBiKXRoaXMuQi5hZGQobik7dGhpcy55YT1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCk7Ck9iamVjdC5mcmVlemUodGhpcy5oYSk7dGhpcy5vPT10aGlzLlomJih0aGlzLm89bnVsbCwoYj10aGlzLloub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLFJnKHRoaXMpKX19O18uZy5MYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ELmdldChhKX07Xy5nLm5pPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5MYShhKTtjJiZjLmlzTG9hZGVkKCk/dGhpcy5sb2FkKGIpOnRoaXMuaiBpbnN0YW5jZW9mIE1hcD8oYz10aGlzLmouZ2V0KGEpLGN8fChjPW5ldyBTZXQsdGhpcy5qLnNldChhLGMpKSxjLmFkZChiKSk6KHRoaXMualthXXx8KHRoaXMualthXT17fSksdGhpcy5qW2FdW2JdPSEwKX07Cl8uZy5BZz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuaiBpbnN0YW5jZW9mIE1hcCl7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5kZWxldGUoYiksYy5zaXplPT09MCYmdGhpcy5qLmRlbGV0ZShhKSl9ZWxzZSBpZih0aGlzLmpbYV0pe2RlbGV0ZSB0aGlzLmpbYV1bYl07Zm9yKGMgaW4gdGhpcy5qW2FdKXJldHVybjtkZWxldGUgdGhpcy5qW2FdfX07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQi5zaXplPjB9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkkuc2l6ZT4wfTsKXy5nLnNqPWZ1bmN0aW9uKGEsYj0wLGMpe3ZhciBkPVlnKHRoaXMsYSk7dGhpcy5CPW5ldyBTZXQoZCk7dGhpcy5LPXRoaXMub2E/YTpfLnliKGQpO1JnKHRoaXMpO2lmKGQubGVuZ3RoIT09MCl7Zm9yKGxldCBlIG9mIGQpdGhpcy5VLmFkZChlKTthPXRoaXMuWTtpZighYSl0aHJvdyBFcnJvcigiViIpO2lmKCh0aGlzLmogaW5zdGFuY2VvZiBNYXA/dGhpcy5qLnNpemU+MDpPYmplY3Qua2V5cyh0aGlzLmopLmxlbmd0aD4wKSYmIWEuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLF8ueWIoZCksdGhpcy5ELHtZZDp0aGlzLmosb25FcnJvcjooZSxmLGgpPT5iaCh0aGlzLHRoaXMuSyxkLGUhPW51bGw/ZTp2b2lkIDAsZixiLCEhaCksb25UaW1lb3V0OigwLF8uQ2EpKHRoaXMud3csdGhpcyksZm9yY2VSZWxvYWQ6ISFjfSl9fTt2YXIgV2c9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5vPW5ldyBTZXQ7dGhpcy5yZXN1bHQ9W119fTtfLmc9SWcucHJvdG90eXBlOwpfLmcueWU9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPXRoaXMuby5nZXRJZCgpLGI9W107aWYodGhpcy5qIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmouZ2V0KGEpO2lmKGMpe2Zvcih2YXIgZCBvZiBBcnJheS5mcm9tKGMpKShjPXRoaXMuTGEoZCkpJiYhYy5pc0xvYWRlZCgpJiYodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpKGQ9dGhpcy5MYShjKSkmJiFkLmlzTG9hZGVkKCkmJih0aGlzLkFnKGEsYyksYi5wdXNoKGMpKTt0aGlzLmFmKGIpfXRoaXMuaWEoKXx8KChiPXRoaXMuRC5nZXQoYSkub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLHRoaXMuSS5kZWxldGUoYSksdGhpcy5CLmRlbGV0ZShhKSx0aGlzLkIuc2l6ZSE9PTB8fAphaCh0aGlzKSx0aGlzLnlhJiZhPT10aGlzLnlhJiYodGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCkpLFJnKHRoaXMpLHRoaXMubz1udWxsKX19O18uZy51aD1mdW5jdGlvbihhKXtpZih0aGlzLkIuaGFzKGEpKXJldHVybiEwO2ZvcihsZXQgYj0wO2I8dGhpcy52Lmxlbmd0aDtiKyspaWYoXy5zYih0aGlzLnZbYl0sYSk+PTApcmV0dXJuITA7cmV0dXJuITF9O18uZy5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRnKHRoaXMsW2FdLGIpW2FdfTtfLmcuYWY9ZnVuY3Rpb24oYSl7cmV0dXJuIFRnKHRoaXMsYSl9OwpfLmcuUm89ZnVuY3Rpb24oYSl7dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIj8odGhpcy55ZSgpLHRoaXMuRC5kZWxldGUoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiKSk6dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKTt2YXIgYj10aGlzLkQuZ2V0KGEpO2ImJmNoKHRoaXMsYi5qfHxbXSxjPT57Yy55ZSgpO3RoaXMuQi5kZWxldGUoYy5nZXRJZCgpKX0sYz0+IWMuaXNMb2FkZWQoKSxuZXcgU2V0KTtpZih0aGlzLm89dGhpcy5MYShhKSl0aGlzLm8uST0hMH07Xy5nLmVuPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLm8pe2xldCBiPW5ldyB2YS5PZyhbXSwic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIpO3RoaXMuRC5zZXQoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiLGIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX07Xy5nLnd3PWZ1bmN0aW9uKCl7Wy4uLnRoaXMuQl07JGcodGhpcyxuZXcgdmEub2IodmEub2IuVHlwZS5USU1FT1VUKSk7YWgodGhpcyl9OwpfLmcuWm49ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpfHwoYT1bYV0pO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgYz1hW2VdLGQ9YjtsZXQgZj10aGlzLk0uZ2V0KGMpO2Y/Zi5wdXNoKGQpOnRoaXMuTS5zZXQoYyxbZF0pfX07Xy5nLmRpc3Bvc2U9ZnVuY3Rpb24oKXtfLiRkKEFycmF5LmZyb20odGhpcy5ELnZhbHVlcygpKSx0aGlzLlopO3RoaXMuRC5jbGVhcigpO3RoaXMuQi5jbGVhcigpO3RoaXMuSz1bXTt0aGlzLkkuY2xlYXIoKTt0aGlzLnY9W107dGhpcy5NLmNsZWFyKCk7dGhpcy5GYT0hMH07Xy5nLmlhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRmF9O18uVGQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IElnfTt2YXIgbWg9WzVFMywyRTRdLCRyPWNsYXNzIGV4dGVuZHMgamV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj1uZXcgTWFwO3RoaXMuRD1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuQj0wO3RoaXMuSz1bXTt0aGlzLmo9QWU/bmV3IE1hcDpPYmplY3QuY3JlYXRlKG51bGwpO3RoaXMubz10aGlzLkxhKCJ7YmFzZX0iKX1UaCgpe3RoaXMubyYmdGhpcy5vLmdldElkKCk9PSJ7YmFzZX0iJiZ0aGlzLnllKCl9TGEoYSl7dmFyIGI9dGhpcy52LmdldChhKTtifHwoYj1uZXcgdmEuT2coW10sYSksdGhpcy52LnNldChhLGIpKTtyZXR1cm4gYn1uaShhLGIpe2lmKHRoaXMuTGEoYSkuaXNMb2FkZWQoKSl0aGlzLmxvYWQoYik7ZWxzZSBpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe2xldCBjPXRoaXMuai5nZXQoYSk7Y3x8KGM9bmV3IFNldCx0aGlzLmouc2V0KGEsYykpO2MuYWRkKGIpfWVsc2UgdGhpcy5qW2FdfHwodGhpcy5qW2FdPXt9KSx0aGlzLmpbYV1bYl09ITB9QWcoYSxiKXtpZih0aGlzLmogaW5zdGFuY2VvZgpNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMuZGVsZXRlKGIpLGMuc2l6ZT09PTAmJnRoaXMuai5kZWxldGUoYSkpfWVsc2UgaWYodGhpcy5qW2FdKXtkZWxldGUgdGhpcy5qW2FdW2JdO2ZvcihjIGluIHRoaXMualthXSlyZXR1cm47ZGVsZXRlIHRoaXMualthXX19dWgoYSl7cmV0dXJuISF0aGlzLkRbYV19bG9hZChhKXtpaCh0aGlzLFthXSk7cmV0dXJuIGpoKHRoaXMsYSl9YWYoYSl7dmFyIGI9T2JqZWN0LmNyZWF0ZShudWxsKSxjPVtdO2EuZm9yRWFjaChkPT57YltkXXx8KGJbZF09amgodGhpcyxkKSxjLnB1c2goZCkpfSk7aWgodGhpcyxjKTtyZXR1cm4gYn1SbyhhKXt0aGlzLm8/LmdldElkKCk9PT0ic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCImJnRoaXMueWUoKTt2YXIgYj10aGlzLnYuZ2V0KGEpO2toKHRoaXMsYj8uc3QoKT8/W10sYz0+Yy55ZSgpLGM9PiFjLmlzTG9hZGVkKCkpO3RoaXMubz10aGlzLkxhKGEpfXllKCl7aWYodGhpcy5vKXt2YXIgYT10aGlzLm8uZ2V0SWQoKSwKYj1bXTtpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7aWYoYyl7Zm9yKGxldCBkIG9mIEFycmF5LmZyb20oYykpdGhpcy5MYShkKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpdGhpcy5MYShjKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGMpLGIucHVzaChjKSk7dGhpcy5hZihiKX10aGlzLm8ub25Mb2FkKCgpPT5udWxsKTt0aGlzLm89bnVsbDsoIXRoaXMudWgoYSkmJi9ec3lbMC05YS16XXswLDR9JC8udGVzdChhKXx8YT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikmJnRoaXMudi5kZWxldGUoYSk7bGgodGhpcyxhKX19ZW4oYSl7aWYoIXRoaXMubyl7bGV0IGI9bmV3IHZhLk9nKFtdLCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIik7dGhpcy52LnNldCgic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIsCmIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX19O3ZhciBraj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLmo9LTF9c2V0KGEsYj0hMCl7MDw9YSYmYTw1MiYmTnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5kYXRhW2FdIT09YiYmKHRoaXMuZGF0YVthXT1iLHRoaXMuaj0tMSl9Z2V0KGEpe3JldHVybiEhdGhpcy5kYXRhW2FdfX07Xy5vaC5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBfLmFzfTtfLmFzPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07Xy5vaC5wcm90b3R5cGUuYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIHBoPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hfWJkKCl7cmV0dXJuIG5ldyBxaCh0aGlzLm8oKSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubygpKX1qKCl7cmV0dXJuIG5ldyByaCh0aGlzLm8oKSl9fSxxaD1jbGFzcyBleHRlbmRzIF8ub2h7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm89YX1uZXh0KCl7cmV0dXJuIHRoaXMuby5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubyl9aigpe3JldHVybiBuZXcgcmgodGhpcy5vKX19LHJoPWNsYXNzIGV4dGVuZHMgcGh7Y29uc3RydWN0b3IoYSl7c3VwZXIoKCk9PmEpO3RoaXMudj1hfW5leHQoKXtyZXR1cm4gdGhpcy52Lm5leHQoKX19O3ZhciBicz1fLnUuSlNPTi5zdHJpbmdpZnk7Xy5jcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoYSxiKT0+e3RoaXMucmVzb2x2ZT1hO3RoaXMucmVqZWN0PWJ9KX19O18uSGEoXy50aCxfLmFlKTtfLmc9Xy50aC5wcm90b3R5cGU7Xy5nLnN1YnNjcmliZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5vW2FdO2R8fChkPXRoaXMub1thXT1bXSk7dmFyIGU9dGhpcy5EO3RoaXMualtlXT1hO3RoaXMualtlKzFdPWI7dGhpcy5qW2UrMl09Yzt0aGlzLkQ9ZSszO2QucHVzaChlKTtyZXR1cm4gZX07Xy5nLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYixjKXtpZihhPXRoaXMub1thXSl7bGV0IGQ9dGhpcy5qO2lmKGE9YS5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBkW2UrMV09PWImJmRbZSsyXT09Y30pKXJldHVybiB0aGlzLmNpKGEpfXJldHVybiExfTtfLmcuY2k9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5qW2FdO2lmKGIpe2xldCBjPXRoaXMub1tiXTt0aGlzLkIhPTA/KHRoaXMudi5wdXNoKGEpLHRoaXMualthKzFdPSgpPT57fSk6KGMmJl8ueGIoYyxhKSxkZWxldGUgdGhpcy5qW2FdLGRlbGV0ZSB0aGlzLmpbYSsxXSxkZWxldGUgdGhpcy5qW2ErMl0pfXJldHVybiEhYn07Cl8uZy5wdWJsaXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5vW2FdO2lmKGMpe2xldCBlPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7dmFyIGQ9YXJndW1lbnRzLmxlbmd0aDtsZXQgZjtmb3IoZj0xO2Y8ZDtmKyspZVtmLTFdPWFyZ3VtZW50c1tmXTtpZih0aGlzLkkpZm9yKGY9MDtmPGMubGVuZ3RoO2YrKylkPWNbZl0sdWgodGhpcy5qW2QrMV0sdGhpcy5qW2QrMl0sZSk7ZWxzZXt0aGlzLkIrKzt0cnl7Zm9yKGY9MCxkPWMubGVuZ3RoO2Y8ZCYmIXRoaXMuaWEoKTtmKyspe2xldCBoPWNbZl07dGhpcy5qW2grMV0uYXBwbHkodGhpcy5qW2grMl0sZSl9fWZpbmFsbHl7aWYodGhpcy5CLS0sdGhpcy52Lmxlbmd0aD4wJiZ0aGlzLkI9PTApZm9yKDtjPXRoaXMudi5wb3AoKTspdGhpcy5jaShjKX19cmV0dXJuIGYhPTB9cmV0dXJuITF9OwpfLmcuY2xlYXI9ZnVuY3Rpb24oYSl7aWYoYSl7bGV0IGI9dGhpcy5vW2FdO2ImJihiLmZvckVhY2godGhpcy5jaSx0aGlzKSxkZWxldGUgdGhpcy5vW2FdKX1lbHNlIHRoaXMuai5sZW5ndGg9MCx0aGlzLm89e319O18uZy5sYT1mdW5jdGlvbigpe18udGguemIubGEuY2FsbCh0aGlzKTt0aGlzLmNsZWFyKCk7dGhpcy52Lmxlbmd0aD0wfTt2aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMD90aGlzLmoucmVtb3ZlKGEpOnRoaXMuai5zZXQoYSxicyhiKSl9O3ZoLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7dHJ5e3ZhciBiPXRoaXMuai5nZXQoYSl9Y2F0Y2goYyl7cmV0dXJufWlmKGIhPT1udWxsKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShiKX1jYXRjaChjKXt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fX07dmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLmoucmVtb3ZlKGEpfTtfLkhhKHdoLHZoKTt3aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7d2guemIuc2V0LmNhbGwodGhpcyxhLHloKGIpKX07d2gucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7YT13aC56Yi5nZXQuY2FsbCh0aGlzLGEpO2lmKGE9PT12b2lkIDB8fGEgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIGE7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO307d2gucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtpZihhPXRoaXMubyhhKSl7aWYoYT1hLmRhdGEsYT09PXZvaWQgMCl0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fWVsc2UgYT12b2lkIDA7cmV0dXJuIGF9O18uSGEoXy56aCx3aCk7Xy56aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjKXtpZihiPXloKGIpKXtpZihjKXtpZihjPF8uRWEoKSl7Xy56aC5wcm90b3R5cGUucmVtb3ZlLmNhbGwodGhpcyxhKTtyZXR1cm59Yi5leHBpcmF0aW9uPWN9Yi5jcmVhdGlvbj1fLkVhKCl9Xy56aC56Yi5zZXQuY2FsbCh0aGlzLGEsYil9O18uemgucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy56aC56Yi5vLmNhbGwodGhpcyxhKTtpZihiKXtsZXQgYz1iLmNyZWF0aW9uLGQ9Yi5leHBpcmF0aW9uO2lmKGQmJmQ8Xy5FYSgpfHxjJiZjPl8uRWEoKSlfLnpoLnByb3RvdHlwZS5yZW1vdmUuY2FsbCh0aGlzLGEpO2Vsc2UgcmV0dXJuIGJ9fTtfLkhhKEJoLEFoKTtCaC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITApKS5qKCl9O0JoLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBiIG9mIGEpdGhpcy5yZW1vdmUoYil9O18uSGEoQ2gsQmgpO18uZz1DaC5wcm90b3R5cGU7Xy5nLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5vPT09bnVsbCl7dmFyIGE9dGhpcy5qO2lmKGEpdHJ5e2Euc2V0SXRlbSgiX19zYWsiLCIxIik7YS5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBiPSEwfWNhdGNoKGMpe2I9YyBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKGMubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxjLmNvZGU9PT0yMnx8Yy5jb2RlPT09MTAxNHx8Yy5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJmEmJmEubGVuZ3RoIT09MH1lbHNlIGI9ITE7dGhpcy5vPWJ9cmV0dXJuIHRoaXMub307Cl8uZy5zZXQ9ZnVuY3Rpb24oYSxiKXtEaCh0aGlzKTt0cnl7dGhpcy5qLnNldEl0ZW0oYSxiKX1jYXRjaChjKXtpZih0aGlzLmoubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319O18uZy5nZXQ9ZnVuY3Rpb24oYSl7RGgodGhpcyk7YT10aGlzLmouZ2V0SXRlbShhKTtpZih0eXBlb2YgYSE9PSJzdHJpbmciJiZhIT09bnVsbCl0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybiBhfTtfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3RoaXMuai5yZW1vdmVJdGVtKGEpfTsKXy5nLmJkPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3ZhciBiPTAsYz10aGlzLmosZD1uZXcgXy5vaDtkLm5leHQ9ZnVuY3Rpb24oKXtpZihiPj1jLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZT1jLmtleShiKyspO2lmKGEpcmV0dXJue3ZhbHVlOmUsZG9uZTohMX07ZT1jLmdldEl0ZW0oZSk7aWYodHlwZW9mIGUhPT0ic3RyaW5nIil0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybnt2YWx1ZTplLGRvbmU6ITF9fTtyZXR1cm4gZH07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7RGgodGhpcyk7dGhpcy5qLmNsZWFyKCl9O18uZy5rZXk9ZnVuY3Rpb24oYSl7RGgodGhpcyk7cmV0dXJuIHRoaXMuai5rZXkoYSl9O18uSGEoRWgsQ2gpO18uSGEoRmgsQmgpO0ZoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm8uc2V0KHRoaXMuaithLGIpfTtGaC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm8uZ2V0KHRoaXMuaithKX07RmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLm8ucmVtb3ZlKHRoaXMuaithKX07RmgucHJvdG90eXBlLmJkPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub1tTeW1ib2wuaXRlcmF0b3JdKCksYz10aGlzLGQ9bmV3IF8ub2g7ZC5uZXh0PWZ1bmN0aW9uKCl7dmFyIGU9Yi5uZXh0KCk7aWYoZS5kb25lKXJldHVybiBlO2ZvcihlPWUudmFsdWU7ZS5zbGljZSgwLGMuai5sZW5ndGgpIT1jLmo7KXtlPWIubmV4dCgpO2lmKGUuZG9uZSlyZXR1cm4gZTtlPWUudmFsdWV9cmV0dXJue3ZhbHVlOmE/ZS5zbGljZShjLmoubGVuZ3RoKTpjLm8uZ2V0KGUpLGRvbmU6ITF9fTtyZXR1cm4gZH07dmFyIEhoPXt9LGRzPXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MTZBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgSW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO0hoLmFzc2lnbj1mdW5jdGlvbihhKXtmb3IodmFyIGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO2IubGVuZ3RoOyl7dmFyIGM9Yi5zaGlmdCgpO2lmKGMpe2lmKHR5cGVvZiBjIT09Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiYmFgIitjKTtmb3IodmFyIGQgaW4gYylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYyxkKSYmKGFbZF09Y1tkXSl9fXJldHVybiBhfTtIaC53bj1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09YilyZXR1cm4gYTtpZihhLnN1YmFycmF5KXJldHVybiBhLnN1YmFycmF5KDAsYik7YS5sZW5ndGg9YjtyZXR1cm4gYX07CnZhciBlcz17d2Y6ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihiLnN1YmFycmF5JiZhLnN1YmFycmF5KWEuc2V0KGIuc3ViYXJyYXkoYyxjK2QpLGUpO2Vsc2UgZm9yKHZhciBmPTA7ZjxkO2YrKylhW2UrZl09YltjK2ZdfSxNcDpmdW5jdGlvbihhKXt2YXIgYixjO3ZhciBkPWM9MDtmb3IoYj1hLmxlbmd0aDtkPGI7ZCsrKWMrPWFbZF0ubGVuZ3RoO3ZhciBlPW5ldyBVaW50OEFycmF5KGMpO2Q9Yz0wO2ZvcihiPWEubGVuZ3RoO2Q8YjtkKyspe3ZhciBmPWFbZF07ZS5zZXQoZixjKTtjKz1mLmxlbmd0aH1yZXR1cm4gZX19LGdzPXt3ZjpmdW5jdGlvbihhLGIsYyxkLGUpe2Zvcih2YXIgZj0wO2Y8ZDtmKyspYVtlK2ZdPWJbYytmXX0sTXA6ZnVuY3Rpb24oYSl7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLGEpfX07CkhoLmpBPWZ1bmN0aW9uKCl7ZHM/KEhoLnRmPVVpbnQ4QXJyYXksSGguWWM9VWludDE2QXJyYXksSGguUXM9SW50MzJBcnJheSxIaC5hc3NpZ24oSGgsZXMpKTooSGgudGY9QXJyYXksSGguWWM9QXJyYXksSGguUXM9QXJyYXksSGguYXNzaWduKEhoLGdzKSl9O0hoLmpBKCk7dmFyIGhzPSEwO3RyeXtuZXcgVWludDhBcnJheSgxKX1jYXRjaChhKXtocz0hMX07dmFyIHRpPXt9O3RpPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEmNjU1MzV8MDthPWE+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgZjtjIT09MDspe2Y9Yz4yRTM/MkUzOmM7Yy09ZjtkbyBlPWUrYltkKytdfDAsYT1hK2V8MDt3aGlsZSgtLWYpO2UlPTY1NTIxO2ElPTY1NTIxfXJldHVybiBlfGE8PDE2fDB9O2Zvcih2YXIgdWk9e30saXMsanM9W10sa3M9MDtrczwyNTY7a3MrKyl7aXM9a3M7Zm9yKHZhciBscz0wO2xzPDg7bHMrKylpcz1pcyYxPzM5ODgyOTIzODReaXM+Pj4xOmlzPj4+MTtqc1trc109aXN9dWk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kK2M7Zm9yKGFePS0xO2Q8YztkKyspYT1hPj4+OF5qc1soYV5iW2RdKSYyNTVdO3JldHVybiBhXi0xfTt2YXIgaWk9e307aWk9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgWGg9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sJGg9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLEtpPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMyw3XSxtaT1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0sbmk9QXJyYXkoNTc2KTtKaChuaSk7dmFyIG9pPUFycmF5KDYwKTtKaChvaSk7dmFyIFpoPUFycmF5KDUxMik7SmgoWmgpO3ZhciBXaD1BcnJheSgyNTYpO0poKFdoKTt2YXIgWWg9QXJyYXkoMjkpO0poKFloKTt2YXIgYmk9QXJyYXkoMzApO0poKGJpKTt2YXIgSGksSWksSmksR2k9ITE7dmFyIENpOwpDaT1bbmV3IEFpKDAsMCwwLDAsZnVuY3Rpb24oYSxiKXt2YXIgYz02NTUzNTtmb3IoYz5hLm5jLTUmJihjPWEubmMtNSk7Oyl7aWYoYS5kYTw9MSl7dmkoYSk7aWYoYS5kYT09PTAmJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWEuVis9YS5kYTthLmRhPTA7dmFyIGQ9YS5VYitjO2lmKGEuVj09PTB8fGEuVj49ZClpZihhLmRhPWEuVi1kLGEuVj1kLHBpKGEsITEpLGEud2EuemE9PT0wKXJldHVybiAxO2lmKGEuVi1hLlViPj1hLkJiLTI2MiYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1hLnJiPTA7aWYoYj09PTQpcmV0dXJuIHBpKGEsITApLGEud2EuemE9PT0wPzM6NDthLlY+YS5VYiYmcGkoYSwhMSk7cmV0dXJuIDF9KSxuZXcgQWkoNCw0LDgsNCx3aSksbmV3IEFpKDQsNSwxNiw4LHdpKSxuZXcgQWkoNCw2LDMyLDMyLHdpKSxuZXcgQWkoNCw0LDE2LDE2LHhpKSxuZXcgQWkoOCwxNiwzMiwzMix4aSksbmV3IEFpKDgsMTYsMTI4LDEyOCx4aSksbmV3IEFpKDgsCjMyLDEyOCwyNTYseGkpLG5ldyBBaSgzMiwxMjgsMjU4LDEwMjQseGkpLG5ldyBBaSgzMiwyNTgsMjU4LDQwOTYseGkpXTt2YXIgRmk9e307Rmk9ZnVuY3Rpb24oKXt0aGlzLmlucHV0PW51bGw7dGhpcy5xZj10aGlzLkRiPXRoaXMuZmY9MDt0aGlzLm91dHB1dD1udWxsO3RoaXMuRW49dGhpcy56YT10aGlzLnFnPTA7dGhpcy5tc2c9IiI7dGhpcy5zdGF0ZT1udWxsO3RoaXMuaWw9Mjt0aGlzLnNhPTB9O3ZhciBMaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwpFaS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMud2EsZD10aGlzLm9wdGlvbnMuY2h1bmtTaXplO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7dmFyIGU9Yj09PX5+Yj9iOmI9PT0hMD80OjA7dHlwZW9mIGE9PT0ic3RyaW5nIj9jLmlucHV0PUloKGEpOkxpLmNhbGwoYSk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2MuaW5wdXQ9bmV3IFVpbnQ4QXJyYXkoYSk6Yy5pbnB1dD1hO2MuZmY9MDtjLkRiPWMuaW5wdXQubGVuZ3RoO2Rve2MuemE9PT0wJiYoYy5vdXRwdXQ9bmV3IEhoLnRmKGQpLGMucWc9MCxjLnphPWQpO2E9RGkoYyxlKTtpZihhIT09MSYmYSE9PTApcmV0dXJuIE1pKHRoaXMsYSksdGhpcy5lbmRlZD0hMCwhMTtpZihjLnphPT09MHx8Yy5EYj09PTAmJihlPT09NHx8ZT09PTIpKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXt2YXIgZj1IaC53bihjLm91dHB1dCxjLnFnKTtiPWY7Zj1mLmxlbmd0aDtpZihmPDY1NTM3JiYoYi5zdWJhcnJheSYmCmhzfHwhYi5zdWJhcnJheSkpYj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsSGgud24oYixmKSk7ZWxzZXtmb3IodmFyIGg9IiIsaz0wO2s8ZjtrKyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShiW2tdKTtiPWh9dGhpcy5jaHVua3MucHVzaChiKX1lbHNlIGI9SGgud24oYy5vdXRwdXQsYy5xZyksdGhpcy5jaHVua3MucHVzaChiKX13aGlsZSgoYy5EYj4wfHxjLnphPT09MCkmJmEhPT0xKTtpZihlPT09NClyZXR1cm4oYz10aGlzLndhKSYmYy5zdGF0ZT8oZD1jLnN0YXRlLnN0YXR1cyxkIT09NDImJmQhPT02OSYmZCE9PTczJiZkIT09OTEmJmQhPT0xMDMmJmQhPT0xMTMmJmQhPT02NjY/YT1qaShjLC0yKTooYy5zdGF0ZT1udWxsLGE9ZD09PTExMz9qaShjLC0zKTowKSk6YT0tMixNaSh0aGlzLGEpLHRoaXMuZW5kZWQ9ITAsYT09PTA7ZT09PTImJihNaSh0aGlzLDApLGMuemE9MCk7cmV0dXJuITB9O18uST1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX19O3ZhciB4cD1uZXcgXy5JKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgd3A9bmV3IF8uSSgicmF3SG90Q29uZmlnR3JvdXAiKTt2YXIgbXM7bXM9Xy51LndpbmRvdztfLlBpPW1zPy55dD8uY29uZmlnX3x8bXM/Lnl0Y2ZnPy5kYXRhX3x8e307Xy5yYSgieXQuY29uZmlnXyIsXy5QaSk7dmFyIFNpPVtdO3ZhciBnaj0vXltcdy5dKiQvLCRpPXtxOiEwLHNlYXJjaF9xdWVyeTohMH0sWmk9U3RyaW5nKFlpKTt2YXIgaGo9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtfLnJhKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24oYSl7cmV0dXJuIGFqKF8ubGooYSkpfSk7Xy5FYSgpO25hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiIChDcktleSAiKTt2YXIgcXM7cXM9MDtfLnJzPV8uY3I/IndlYmtpdCI6YnI/Im1veiI6YXI/Im1zIjokcT8ibyI6IiI7Xy5yYSgieXREb21Eb21HZXROZXh0SWQiLF8uc2EoInl0RG9tRG9tR2V0TmV4dElkIil8fCgoKT0+KytxcykpO18uc3M9Xy51Lnl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzfHx7fTtfLnJhKCJ5dEV2ZW50c0V2ZW50c0xpc3RlbmVycyIsXy5zcyk7Xy50cz1fLnUueXRFdmVudHNFdmVudHNDb3VudGVyfHx7Y291bnQ6MH07Xy5yYSgieXRFdmVudHNFdmVudHNDb3VudGVyIixfLnRzKTtfLnVzPWhkKGZ1bmN0aW9uKCl7dmFyIGE9ITE7dHJ5e2xldCBiPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiY2FwdHVyZSIse2dldDpmdW5jdGlvbigpe2E9ITB9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsYil9Y2F0Y2goYil7fXJldHVybiBhfSk7dmFyIHZzO3ZzPXdpbmRvdztfLmVsPXZzLnl0Y3NpJiZ2cy55dGNzaS5ub3c/dnMueXRjc2kubm93OnZzLnBlcmZvcm1hbmNlJiZ2cy5wZXJmb3JtYW5jZS50aW1pbmcmJnZzLnBlcmZvcm1hbmNlLm5vdyYmdnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD8oKT0+dnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCt2cy5wZXJmb3JtYW5jZS5ub3coKTooKT0+KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIG5qPSJYTUxIdHRwUmVxdWVzdCJpbiBfLnU/KCk9Pm5ldyBYTUxIdHRwUmVxdWVzdDpudWxsO3ZhciB3cz0iYWJzb2x1dGVfZXhwZXJpbWVudHMgY2xpZW50X2Rldl9kb21haW4gY2xpZW50X2Rldl9leHBmbGFnIGNsaWVudF9kZXZfcmVnZXhfbWFwIGNsaWVudF9kZXZfcm9vdF91cmwgY2xpZW50X3JvbGxvdXRfb3ZlcnJpZGUgZXhwZmxhZyBmb3JjZWRDYXBhYmlsaXR5IGpzZmVhdCBqc21vZGUgbW9kcyB0aGVtZSIuc3BsaXQoIiAiKTtbLi4ud3NdO3ZhciB5aj17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxLaj1bImFwcCIsImRlYnVnY3NzIiwiZGVidWdqcyIsImV4cGZsYWciLCJmb3JjZV9hZF9wYXJhbXMiLCJmb3JjZV9hZF9lbmNyeXB0ZWQiLCJmb3JjZV92aXJhbF9hZF9yZXNwb25zZV9wYXJhbXMiLCJmb3JjZWRfZXhwZXJpbWVudHMiLCJpbm5lcnR1YmVfc25hcHNob3RzIiwiaW5uZXJ0dWJlX2dvbGRlbnMiLCJpbnRlcm5hbGNvdW50cnljb2RlIiwiaW50ZXJuYWxpcG92ZXJyaWRlIiwiYWJzb2x1dGVfZXhwZXJpbWVudHMiLCJjb25kaXRpb25hbF9leHBlcmltZW50cyIsInNiYiIsInNyX2Juc19hZGRyZXNzIiwuLi53c10sR2o9ITEsRGo9eGo7Xy5ubT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuem49ITB9fTtfLnhzPV8uc2EoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIil8fHt9O18ucmEoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIixfLnhzKTt2YXIgUmo9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LFRqPXsic2xvdy0yZyI6IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfU0xPV18yRyIsIjJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8yRyIsIjNnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRyIsIjRnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV80RyJ9O18uWGo9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEpO3RoaXMuYXJncz1bLi4uYl07T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfX07dmFyIHlzPWNsYXNze3BiKGEsYil7cmV0dXJuIHRoaXMuR2EoYSwxLGIpfVUoYSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEltbWVkaWF0ZUpvYiIpO2I/YihhKTphKCl9fTt2YXIgenM9MUUzLzYwLEFzPV8uc2ooIndlYl9lbXVsYXRlZF9pZGxlX2NhbGxiYWNrX2RlbGF5IiwzMDApLGdrPXpzLTMsZGs9WzgsNSw0LDMsMiwxLDBdLGprPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLnY9e307dGhpcy5vYT10aGlzLmo9MDt0aGlzLnBhdXNlZD10aGlzLkQ9ITE7dGhpcy5nYT1bXTt0aGlzLmhhPXRoaXMueWE9ITE7Zm9yKGxldCBiIG9mIGRrKXRoaXMub1tiXT1bXTt0aGlzLkI9MDt0aGlzLmV5PWEudGltZW91dHx8MTt0aGlzLk09Z2s7dGhpcy5JPTA7dGhpcy5NYT10aGlzLml5LmJpbmQodGhpcyk7dGhpcy5neD10aGlzLnp5LmJpbmQodGhpcyk7dGhpcy5mYz10aGlzLkViLmJpbmQodGhpcyk7dGhpcy5WZD10aGlzLmh5LmJpbmQodGhpcyk7dGhpcy5GbD10aGlzLlFhLmJpbmQodGhpcyk7dGhpcy51dz0oKT0+e3RoaXMuUWEocGVyZm9ybWFuY2Uubm93KCkpfTt0aGlzLkZhPSEhd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2smJgohIXdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2smJiFfLngoImRpc2FibGVfc2NoZWR1bGVyX3JlcXVlc3RJZGxlQ2FsbGJhY2siKTsoKHRoaXMuWj1hLnVzZVJhZiE9PSExJiYhIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKX1VKGEpe3ZhciBiPV8uRWEoKTtaaih0aGlzLGEpO2E9Xy5FYSgpLWI7dGhpcy5EfHwodGhpcy5NLT1hKX1HYShhLGIsYyl7Kyt0aGlzLm9hO2lmKGI9PT0xMClyZXR1cm4gdGhpcy5VKGEpLHRoaXMub2E7dmFyIGQ9dGhpcy5vYTt0aGlzLnZbZF09YTt0aGlzLkQmJiFjP3RoaXMuZ2EucHVzaCh7aWQ6ZCxwcmlvcml0eTpifSk6KHRoaXMub1tiXS5wdXNoKGQpLHRoaXMucGF1c2VkfHx0aGlzLkR8fCh0aGlzLmohPT0wJiZiayh0aGlzKSE9PXRoaXMuSSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSk7CnJldHVybiBkfUFhKGEpe2RlbGV0ZSB0aGlzLnZbYV19aXNIaWRkZW4oKXtyZXR1cm4hIWRvY3VtZW50LmhpZGRlbnx8ITF9SmIoYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhKX1oeShhKXt2YXIgYj12b2lkIDA7YSYmKGI9YS50aW1lUmVtYWluaW5nKCkpO3RoaXMueWE9ITA7aGsodGhpcyxiKTt0aGlzLnlhPSExfXp5KCl7aGsodGhpcyl9RWIoKXtpayh0aGlzKX1RYShhKXt0aGlzLmhhPSEwO3ZhciBiPWJrKHRoaXMpO2I9PT00JiZiIT09dGhpcy5JJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTtoayh0aGlzLHZvaWQgMCxhKTt0aGlzLmhhPSExfWl5KCl7dGhpcy5pc0hpZGRlbigpfHxpayh0aGlzKTt0aGlzLmomJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpfXJlcXVlc3RJZGxlQ2FsbGJhY2soYSl7cmV0dXJuIHRoaXMuRmE/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soYSx7dGltZW91dDozRTN9KTp3aW5kb3cuc2V0VGltZW91dChhLApBcyl9Y2FuY2VsSWRsZUNhbGxiYWNrKGEpe3RoaXMuRmE/d2luZG93LmNhbmNlbElkbGVDYWxsYmFjayhhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfXN0YXJ0KCl7dGhpcy5wYXVzZWQ9ITE7aWYodGhpcy5qPT09MClzd2l0Y2godGhpcy5JPWJrKHRoaXMpLHRoaXMuSSl7Y2FzZSAxOnRoaXMuaj10aGlzLnJlcXVlc3RJZGxlQ2FsbGJhY2sodGhpcy5WZCk7YnJlYWs7Y2FzZSAyOnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLmd4LHRoaXMuZXkpO2JyZWFrO2Nhc2UgMzp0aGlzLmo9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLkZsKTticmVhaztjYXNlIDQ6dGhpcy5qPXdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuZmMsMCk7YnJlYWs7Y2FzZSA1OnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLnV3LHpzKX19cGF1c2UoKXt0aGlzLnN0b3AoKTt0aGlzLnBhdXNlZD0hMH1zdG9wKCl7aWYodGhpcy5qKXtzd2l0Y2godGhpcy5JKXtjYXNlIDE6dGhpcy5jYW5jZWxJZGxlQ2FsbGJhY2sodGhpcy5qKTsKYnJlYWs7Y2FzZSA1OmNhc2UgMjpjYXNlIDQ6d2luZG93LmNsZWFyVGltZW91dCh0aGlzLmopO2JyZWFrO2Nhc2UgMzp3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5qKX10aGlzLmo9MH19bGEoKXtjayh0aGlzKTt0aGlzLnN0b3AoKTsodGhpcy5afHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKTtzdXBlci5sYSgpfX07dmFyIG5rPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS50aW1lcklkTWFwXyIpfHx7fSx1az1fLnNqKCJrZXZsYXJfdHVuZXJfc2NoZWR1bGVyX3NvZnRfc3RhdGVfdGltZXJfbXMiLDgwMCksdGs9MCx3az0wO3ZhciBCaztCaz1jbGFzcyBleHRlbmRzIHlze0dhKGEsYixjKXtjIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGMpKSYmKGM9dm9pZCAwKTt2YXIgZD1fLnNhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIik7cmV0dXJuIGQ/ZChhLGIsYyk6Yz09PXZvaWQgMD8oYSgpLE5hTik6Xy5taihhLGN8fDApfUFhKGEpe2lmKGE9PT12b2lkIDB8fCFOdW1iZXIuaXNOYU4oTnVtYmVyKGEpKSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEpvYiIpO2I/YihhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfX1zdGFydCgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zdGFydCIpO2EmJmEoKX1wYXVzZSgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5wYXVzZSIpO2EmJmEoKX19O18uamY9Xy5DaygpOwpfLnNhKCJ5dC5zY2hlZHVsZXIuaW5pdGlhbGl6ZWQiKXx8KF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5kaXNwb3NlIixtayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEpvYiIsb2spLF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5hZGRJbW1lZGlhdGVKb2IiLHBrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIixxayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEFsbEpvYnMiLGxrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc3RhcnQiLHJrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UucGF1c2UiLHZrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc2V0UHJpb3JpdHlUaHJlc2hvbGQiLHhrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuZW5hYmxlUHJpb3JpdHlUaHJlc2hvbGQiLHprKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2xlYXJQcmlvcml0eVRocmVzaG9sZCIsQWspLF8ucmEoInl0LnNjaGVkdWxlci5pbml0aWFsaXplZCIsCiEwKSk7Xy5lbj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9KGE9Xy5HaChhKSk/bmV3IF8uemgoYSk6bnVsbDt0aGlzLnY9ZG9jdW1lbnQuZG9tYWlufHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9bygpe3JldHVybiEhdGhpcy5qfXNldChhLGIsYyxkKXtjPWN8fDMxMTA0RTM7dGhpcy5yZW1vdmUoYSk7aWYodGhpcy5vKCkpdHJ5e3RoaXMuai5zZXQoYSxiLERhdGUubm93KCkrYyoxRTMpO3JldHVybn1jYXRjaChmKXt9dmFyIGU9IiI7aWYoZCl0cnl7ZT1lc2NhcGUoYnMoYikpfWNhdGNoKGYpe3JldHVybn1lbHNlIGU9ZXNjYXBlKGIpO18uTWooYSxlLGMsdGhpcy52KX1nZXQoYSxiKXt2YXIgYz12b2lkIDAsZD0hdGhpcy5vKCk7aWYoIWQpdHJ5e2M9dGhpcy5qLmdldChhKX1jYXRjaChlKXtkPSEwfWlmKGQmJihjPV8uTGouZ2V0KGEsdm9pZCAwKSkmJihjPXVuZXNjYXBlKGMpLGIpKXRyeXtjPUpTT04ucGFyc2UoYyl9Y2F0Y2goZSl7dGhpcy5yZW1vdmUoYSksYz12b2lkIDB9cmV0dXJuIGN9cmVtb3ZlKGEpe3RoaXMubygpJiYKdGhpcy5qLnJlbW92ZShhKTtfLk5qKGEsIi8iLHRoaXMudil9fTt2YXIgRGs9KCgpPT57dmFyIGE7cmV0dXJuKCk9PnthfHwoYT1uZXcgXy5lbigieXRpZGIiKSk7cmV0dXJuIGF9fSkoKTt2YXIgRms7Xy5Iaz1bXTtGaz0hMTtfLklsPV8uaHJ8fF8uaXI7dmFyIEJzPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LENzPXtBVVRIX0lOVkFMSUQ6IkVSUk9SIixFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQjoiV0FSTklORyIsRVhQTElDSVRfQUJPUlQ6IklHTk9SRUQiLElEQl9OT1RfU1VQUE9SVEVEOiJFUlJPUiIsTUlTU0lOR19JTkRFWDoiV0FSTklORyIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJFUlJPUiIsCkRCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IldBUk5JTkciLFFVT1RBX0VYQ0VFREVEOiJXQVJOSU5HIixRVU9UQV9NQVlCRV9FWENFRURFRDoiV0FSTklORyIsVU5LTk9XTl9BQk9SVDoiV0FSTklORyIsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046IldBUk5JTkcifSxEcz17QVVUSF9JTlZBTElEOiExLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiExLEVYUExJQ0lUX0FCT1JUOiExLElEQl9OT1RfU1VQUE9SVEVEOiExLE1JU1NJTkdfSU5ERVg6ITEsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX1JFT1BFTkVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzohMSxRVU9UQV9FWENFRURFRDohMSxRVU9UQV9NQVlCRV9FWENFRURFRDohMCxVTktOT1dOX0FCT1JUOiEwLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiExfSwKTms9Y2xhc3MgZXh0ZW5kcyBfLlhqe2NvbnN0cnVjdG9yKGEsYj17fSxjPUJzW2FdLGQ9Q3NbYV0sZT1Ec1thXSl7c3VwZXIoYyx7bmFtZToiWXRJZGJLbm93bkVycm9yIixpc1N3OnNlbGYuZG9jdW1lbnQ9PT12b2lkIDAsaXNJZnJhbWU6c2VsZiE9PXNlbGYudG9wLHR5cGU6YSwuLi5ifSk7dGhpcy50eXBlPWE7dGhpcy5tZXNzYWdlPWM7dGhpcy5sZXZlbD1kO3RoaXMuaj1lO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLE5rLnByb3RvdHlwZSl9fSxFcz1jbGFzcyBleHRlbmRzIE5re2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOmIsZm91bmRPYmplY3RTdG9yZXM6YX0sQnMuTUlTU0lOR19PQkpFQ1RfU1RPUkVTKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxFcy5wcm90b3R5cGUpfX0sUGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5pbmRleD1hO3RoaXMub2JqZWN0U3RvcmU9CmI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUGsucHJvdG90eXBlKX19LFFrPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBhbDthbD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwpfLlZrPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuaj1bXTt0aGlzLm89W107YT1hLmo7dmFyIGI9ZD0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6ZH07Zm9yKGxldCBlIG9mIHRoaXMuaillKCl9fSxjPWQ9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIscmVhc29uOmR9O2ZvcihsZXQgZSBvZiB0aGlzLm8pZSgpfX07dHJ5e2EoYixjKX1jYXRjaChkKXtjKGQpfX1zdGF0aWMgYWxsKGEpe3JldHVybiBuZXcgXy5WayhuZXcgYWwoKGIsYyk9Pnt2YXIgZD1bXSxlPWEubGVuZ3RoO2U9PT0wJiZiKGQpO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7KytmKV8uVmsucmVzb2x2ZShhW2ZdKS50aGVuKGg9PntkW2ZdPWg7ZS0tO2U9PT0wJiZiKGQpfSkuY2F0Y2goaD0+e2MoaCl9KX0pKX1zdGF0aWMgcmVzb2x2ZShhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLApjKT0+e2EgaW5zdGFuY2VvZiBfLlZrP2EudGhlbihiLGMpOmIoYSl9KSl9c3RhdGljIHJlamVjdChhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLGMpPT57YyhhKX0pKX10aGVuKGEsYil7dmFyIGM9YT8/VWssZD1iPz9UaztyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChlLGYpPT57dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUEVORElORyI/KHRoaXMuai5wdXNoKCgpPT57WGsodGhpcyx0aGlzLGMsZSxmKX0pLHRoaXMuby5wdXNoKCgpPT57WWsodGhpcyx0aGlzLGQsZSxmKX0pKTp0aGlzLnN0YXRlLnN0YXR1cz09PSJGVUxGSUxMRUQiP1hrKHRoaXMsdGhpcyxjLGUsZik6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUkVKRUNURUQiJiZZayh0aGlzLHRoaXMsZCxlLGYpfSkpfWNhdGNoKGEpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGEpfX07dmFyIHhsPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vcHRpb25zPWI7dGhpcy50cmFuc2FjdGlvbkNvdW50PTA7dGhpcy52PU1hdGgucm91bmQoKDAsXy5lbCkoKSk7dGhpcy5vPSExfWFkZChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9PmQub2JqZWN0U3RvcmUoYSkuYWRkKGIsYykpfWNsZWFyKGEpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxiPT5iLm9iamVjdFN0b3JlKGEpLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5qLmNsb3NlKCk7dGhpcy5vcHRpb25zPy5jbG9zZWQmJnRoaXMub3B0aW9ucy5jbG9zZWQoKX1jb3VudChhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkb25seSIsa2I6ITAsY29tbWl0OmRsKCl9LGM9PmMub2JqZWN0U3RvcmUoYSkuY291bnQoYikpfWRlbGV0ZShhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLAprYjohMCxjb21taXQ6ZGwoKSYmIShiIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxjPT5jLm9iamVjdFN0b3JlKGEpLmRlbGV0ZShiKSl9Z2V0KGEsYil7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMCxjb21taXQ6ZGwoKX0sYz0+Yy5vYmplY3RTdG9yZShhKS5nZXQoYikpfWdldEFsbChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMH0sZD0+ZC5vYmplY3RTdG9yZShhKS5nZXRBbGwoYixjKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuai5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuai5uYW1lfX0samw9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YWRkKGEsYil7cmV0dXJuIGJsKHRoaXMuai5hZGQoYSxiKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLmouYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBibCh0aGlzLmouY2xlYXIoKSkudGhlbigoKT0+Cnt9KX1jb3VudChhKXtyZXR1cm4gYmwodGhpcy5qLmNvdW50KGEpKX1kZWxldGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBJREJLZXlSYW5nZT9zbCh0aGlzLGEpOmJsKHRoaXMuai5kZWxldGUoYSkpfWdldChhKXtyZXR1cm4gYmwodGhpcy5qLmdldChhKSl9Z2V0QWxsKGEsYil7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/YmwodGhpcy5qLmdldEFsbChhLGIpKTp0bCh0aGlzLGEsYil9aW5kZXgoYSl7dHJ5e3JldHVybiBuZXcgRnModGhpcy5qLmluZGV4KGEpKX1jYXRjaChiKXtpZihiIGluc3RhbmNlb2YgRXJyb3ImJmIubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgUGsoYSx0aGlzLmoubmFtZSk7dGhyb3cgYjt9fWdldE5hbWUoKXtyZXR1cm4gdGhpcy5qLm5hbWV9a2V5UGF0aCgpe3JldHVybiB0aGlzLmoua2V5UGF0aH19LGZsPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubz1uZXcgTWFwO3RoaXMuYWJvcnRlZD0hMTsKdGhpcy5kb25lPW5ldyBQcm9taXNlKChiLGMpPT57dGhpcy5qLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e2IoKX0pO3RoaXMuai5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZD0+e2QuY3VycmVudFRhcmdldD09PWQudGFyZ2V0JiZjKHRoaXMuai5lcnJvcil9KTt0aGlzLmouYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGQ9dGhpcy5qLmVycm9yO2lmKGQpYyhkKTtlbHNlIGlmKCF0aGlzLmFib3J0ZWQpe2Q9Tms7dmFyIGU9dGhpcy5qLm9iamVjdFN0b3JlTmFtZXM7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDtoKyspe2xldCBrPWUuaXRlbShoKTtpZihrPT09bnVsbCl0aHJvdyBFcnJvcigibWEiKTtmLnB1c2goayl9ZD1uZXcgZCgiVU5LTk9XTl9BQk9SVCIse29iamVjdFN0b3JlTmFtZXM6Zi5qb2luKCksZGJOYW1lOnRoaXMuai5kYi5uYW1lLG1vZGU6dGhpcy5qLm1vZGV9KTtjKGQpfX0pfSl9YWJvcnQoKXt0aGlzLmouYWJvcnQoKTt0aGlzLmFib3J0ZWQ9CiEwO3Rocm93IG5ldyBOaygiRVhQTElDSVRfQUJPUlQiKTt9Y29tbWl0KCl7dGhpcy5hYm9ydGVkfHx0aGlzLmouY29tbWl0Py4oKX1vYmplY3RTdG9yZShhKXthPXRoaXMuai5vYmplY3RTdG9yZShhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2J8fChiPW5ldyBqbChhKSx0aGlzLm8uc2V0KGEsYikpO3JldHVybiBifX0sRnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Y291bnQoYSl7cmV0dXJuIGJsKHRoaXMuai5jb3VudChhKSl9ZGVsZXRlKGEpe3JldHVybiB1bCh0aGlzLHtxdWVyeTphfSxiPT5iLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGIpKSl9Z2V0KGEpe3JldHVybiBibCh0aGlzLmouZ2V0KGEpKX1nZXRBbGwoYSxiKXtyZXR1cm4iZ2V0QWxsImluIElEQkluZGV4LnByb3RvdHlwZT9ibCh0aGlzLmouZ2V0QWxsKGEsYikpOnZsKHRoaXMsYSxiKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuai5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLmoudW5pcXVlfX0sd2w9Y2xhc3N7Y29uc3RydWN0b3IoYSwKYil7dGhpcy5yZXF1ZXN0PWE7dGhpcy5jdXJzb3I9Yn1kZWxldGUoKXtyZXR1cm4gYmwodGhpcy5jdXJzb3IuZGVsZXRlKCkpLnRoZW4oKCk9Pnt9KX11cGRhdGUoYSl7cmV0dXJuIGJsKHRoaXMuY3Vyc29yLnVwZGF0ZShhKSl9fTt2YXIgR3M9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm5hbWU9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLnY9ITA7dGhpcy5EPXRoaXMuQj0wfW8oYSxiLGM9e30pe3JldHVybiB6bChhLGIsYyl9ZGVsZXRlKGE9e30pe3JldHVybiBfLkFsKHRoaXMubmFtZSxhKX1vcGVuKCl7aWYoIXRoaXMudil0aHJvdyBCbCh0aGlzKTtpZih0aGlzLmopcmV0dXJuIHRoaXMuajt2YXIgYSxiPSgpPT57dGhpcy5qPT09YSYmKHRoaXMuaj12b2lkIDApfSxjPXtibG9ja2luZzplPT57ZS5jbG9zZSgpfSxjbG9zZWQ6YixUQTpiLHVwZ3JhZGU6dGhpcy5vcHRpb25zLnVwZ3JhZGV9LGQ9YXN5bmMoKT0+e3ZhciBlPUVycm9yKCkuc3RhY2s/PyIiO3RyeXtsZXQgaz1hd2FpdCB0aGlzLm8odGhpcy5uYW1lLHRoaXMub3B0aW9ucy52ZXJzaW9uLGMpO3ZhciBmPWssaD10aGlzLm9wdGlvbnM7bGV0IGw9W107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGguc2UpKXtsZXQge1BkOm4seks6cD1OdW1iZXIuTUFYX1ZBTFVFfT0KaC5zZVttXTshKGYuai52ZXJzaW9uPj1uKXx8Zi5qLnZlcnNpb24+PXB8fGYuai5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKG0pfHxsLnB1c2gobSl9aWYobC5sZW5ndGghPT0wKXtsZXQgbT1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMuc2UpLG49ay5vYmplY3RTdG9yZU5hbWVzKCk7aWYodGhpcy5EPF8uc2ooInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIiwwKSlyZXR1cm4gdGhpcy5EKyssay5jbG9zZSgpLF8uSWsobmV3IE5rKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sZm91bmRPYmplY3RTdG9yZXM6bn0pKSxkKCk7aWYodGhpcy5CPF8uc2ooInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIiwxKSlyZXR1cm4gdGhpcy5CKyssYXdhaXQgdGhpcy5kZWxldGUoKSxfLklrKG5ldyBOaygiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sCmZvdW5kT2JqZWN0U3RvcmVzOm59KSksZCgpO3Rocm93IG5ldyBFcyhuLG0pO31yZXR1cm4ga31jYXRjaChrKXtpZihrIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP2submFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZrIGluc3RhbmNlb2YgRE9NRXJyb3I/ay5uYW1lPT09IlZlcnNpb25FcnJvciI6ayBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4gayYmay5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe2U9YXdhaXQgdGhpcy5vKHRoaXMubmFtZSx2b2lkIDAsey4uLmMsdXBncmFkZTp2b2lkIDB9KTtmPWUuai52ZXJzaW9uO2lmKHRoaXMub3B0aW9ucy52ZXJzaW9uIT09dm9pZCAwJiZmPnRoaXMub3B0aW9ucy52ZXJzaW9uKzEpdGhyb3cgZS5jbG9zZSgpLHRoaXMudj0hMSxCbCh0aGlzLGYpO3JldHVybiBlfWIoKTtrIGluc3RhbmNlb2YKRXJyb3ImJiFfLngoInl0aWRiX2FzeW5jX3N0YWNrX2tpbGxzd2l0Y2giKSYmKGsuc3RhY2s9YCR7ay5zdGFja31cbiR7ZS5zdWJzdHJpbmcoZS5pbmRleE9mKCJcbiIpKzEpfWApO3Rocm93IFJrKGssdGhpcy5uYW1lLCIiLHRoaXMub3B0aW9ucy52ZXJzaW9uPz8tMSk7fX07cmV0dXJuIHRoaXMuaj1hPWQoKX19O3ZhciBEbD1uZXcgR3MoIll0SWRiTWV0YSIse3NlOntkYXRhYmFzZXM6e1BkOjF9fSx1cGdyYWRlKGEsYil7YigxKSYmXy5rbChhLCJkYXRhYmFzZXMiLHtrZXlQYXRoOiJhY3R1YWxOYW1lIn0pfX0pO3ZhciBNbCxLbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fShuZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fSk7bmV3IF8uY3M7dmFyIFlsPWNsYXNzIGV4dGVuZHMgR3N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLGIpO3RoaXMub3B0aW9ucz1iO0trKGEpfW8oYSxiLGM9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP1RsOlNsKShhLGIsey4uLmN9KX1kZWxldGUoYT17fSl7cmV0dXJuKHRoaXMub3B0aW9ucy5zaGFyZWQ/WGw6VWwpKHRoaXMubmFtZSxhKX19O3ZhciBhbT1fLiRsKCJ5dEdjZkNvbmZpZyIse3NlOntjb2xkQ29uZmlnU3RvcmU6e1BkOjF9LGhvdENvbmZpZ1N0b3JlOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiYoXy5vbChfLmtsKGEsImhvdENvbmZpZ1N0b3JlIix7a2V5UGF0aDoia2V5IixhdXRvSW5jcmVtZW50OiEwfSksImhvdFRpbWVzdGFtcEluZGV4IiwidGltZXN0YW1wIiksXy5vbChfLmtsKGEsImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBIcz1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLmo9W107dmFyIGE9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RVcGRhdGVDYWxsYmFja3MiKTthPyh0aGlzLm89Wy4uLmFdLHRoaXMuaj1hKToodGhpcy5qPVtdLF8ucmEoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIix0aGlzLmopKX1sYSgpe2ZvcihsZXQgYiBvZiB0aGlzLm8pe3ZhciBhPXRoaXMuajtsZXQgYz1hLmluZGV4T2YoYik7Yz49MCYmYS5zcGxpY2UoYywxKX10aGlzLm8ubGVuZ3RoPTA7c3VwZXIubGEoKX19O3ZhciBpbT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj0wO3RoaXMubz1uZXcgSHN9d2ooKXtyZXR1cm4gXy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpPz9fLncoIlJBV19IT1RfQ09ORklHX0dST1VQIil9QihhKXt0aGlzLmhvdEhhc2hEYXRhPWE7Xy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIsdGhpcy5ob3RIYXNoRGF0YXx8bnVsbCl9fTt2YXIgSXM7SXM9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOm51bGw7Xy55bT1Jcz9hPT5Jcy5lbmNvZGUoYSk6YT0+e2E9Xy5hYyhhKTt2YXIgYj1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDtjKyspYltjXT1hW2NdO3JldHVybiBifTtfLnBtLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtfLnFtLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvcGljfTt2YXIgSnM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIil8fG5ldyBfLnRoO18udGgucHJvdG90eXBlLnN1YnNjcmliZT1fLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU7Xy50aC5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1fLnRoLnByb3RvdHlwZS5jaTtfLnRoLnByb3RvdHlwZS5wdWJsaXNoPV8udGgucHJvdG90eXBlLnB1Ymxpc2g7Xy50aC5wcm90b3R5cGUuY2xlYXI9Xy50aC5wcm90b3R5cGUuY2xlYXI7Xy5yYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixKcyk7Xy5Lcz1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Xy5yYSgieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixfLktzKTtfLkxzPV8uc2EoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLF8uTHMpO18uTXM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307Cl8ucmEoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixfLk1zKTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIsbnVsbCk7dmFyIHptO18ud209Xy5zaigibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KTtfLnhtPV8uc2ooIm1pbl9ib2R5X3NpemVfdG9fY29tcHJlc3MiLDUwMCk7em09MDt2YXIgTnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy54aT10aGlzLk9jPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuaj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9O3RoaXMuVGY9KCk9Pnt9O3RoaXMubm93PURhdGUubm93O3RoaXMuYWg9ITE7dGhpcy5ncz1hLmdzPz8xMDA7dGhpcy5Ncj1hLk1yPz8xO3RoaXMuS3I9YS5Lcj8/MjU5MkU2O3RoaXMuQ3I9YS5Dcj8/MTJFNDt0aGlzLkxyPWEuTHI/PzVFMzt0aGlzLkphPWEuSmE/P3ZvaWQgMDt0aGlzLk9pPSEhYS5PaTt0aGlzLkRpPWEuRGk/Py4xO3RoaXMuS2o9YS5Laj8/MTA7YS5oYW5kbGVFcnJvciYmKHRoaXMuaGFuZGxlRXJyb3I9YS5oYW5kbGVFcnJvcik7YS5UZiYmKHRoaXMuVGY9YS5UZik7YS5haCYmKHRoaXMuYWg9YS5haCk7YS54aSYmKHRoaXMueGk9YS54aSk7dGhpcy5LYT1hLkthO3RoaXMuRGM9YS5EYzt0aGlzLmNiPWEuY2I7dGhpcy5TYT1hLlNhO3RoaXMuR2Q9YS5HZDt0aGlzLkttPWEuS207CnRoaXMuRm09YS5GbTtCbSh0aGlzKSYmKCF0aGlzLkthfHx0aGlzLkthKCJuZXR3b3JrbGVzc19sb2dnaW5nIikpJiZEbSh0aGlzKX13cml0ZVRoZW5TZW5kKGEsYj17fSl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBjPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLmNiLnNldChjLHRoaXMuSmEpLnRoZW4oZD0+e2MuaWQ9ZDt0aGlzLlNhLlNiKCkmJkdtKHRoaXMsYyl9KS5jYXRjaChkPT57R20odGhpcyxjKTtIbSh0aGlzLGQpfSl9ZWxzZSB0aGlzLkdkKGEsYil9c2VuZFRoZW5Xcml0ZShhLGI9e30sYyl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBkPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiYoZC5za2lwUmV0cnk9Yyk7aWYodGhpcy5TYS5TYigpfHx0aGlzLkthJiYKdGhpcy5LYSgibndsX2FnZ3Jlc3NpdmVfc2VuZF90aGVuX3dyaXRlIikmJiFkLnNraXBSZXRyeSl7aWYoIWQuc2tpcFJldHJ5KXtsZXQgZT1iLm9uRXJyb3I/Yi5vbkVycm9yOigpPT57fTtiLm9uRXJyb3I9YXN5bmMoZixoKT0+e2F3YWl0IHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goaz0+e0htKHRoaXMsayl9KTtlKGYsaCl9fXRoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KX1lbHNlIHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goZT0+e3RoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KTtIbSh0aGlzLGUpfSl9ZWxzZSB0aGlzLkdkKGEsYix0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiZjKX1zZW5kQW5kV3JpdGUoYSxiPXt9KXtpZihCbSh0aGlzKSYmdGhpcy5PYyl7bGV0IGM9e3VybDphLG9wdGlvbnM6Yix0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9LGQ9ITEsZT1iLm9uU3VjY2Vzcz9iLm9uU3VjY2VzczooKT0+e307Yy5vcHRpb25zLm9uU3VjY2Vzcz0KKGYsaCk9PntjLmlkIT09dm9pZCAwP3RoaXMuY2IuRmYoYy5pZCx0aGlzLkphKTpkPSEwO3RoaXMuU2EuZWYmJnRoaXMuS2EmJnRoaXMuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmdGhpcy5TYS5lZighMCk7ZShmLGgpfTt0aGlzLkdkKGMudXJsLGMub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuY2Iuc2V0KGMsdGhpcy5KYSkudGhlbihmPT57Yy5pZD1mO2QmJnRoaXMuY2IuRmYoYy5pZCx0aGlzLkphKX0pLmNhdGNoKGY9PntIbSh0aGlzLGYpfSl9ZWxzZSB0aGlzLkdkKGEsYix2b2lkIDAsITApfW8oKXtpZighQm0odGhpcykpdGhyb3cgRXJyb3IoInJhIik7dGhpcy5qfHwodGhpcy5qPXRoaXMuRGMucGIoYXN5bmMoKT0+e3ZhciBhPWF3YWl0IHRoaXMuY2IuV3AoIk5FVyIsdGhpcy5KYSk7YT8oYXdhaXQgR20odGhpcyxhKSx0aGlzLmomJih0aGlzLmo9MCx0aGlzLm8oKSkpOnRoaXMudigpfSx0aGlzLmdzKSl9digpe3RoaXMuRGMuQWEodGhpcy5qKTt0aGlzLmo9MH19O3ZhciBLbTt2YXIgVW89e2FjY291bnRTdGF0ZUNoYW5nZVNpZ25lZEluOjIzLGFjY291bnRTdGF0ZUNoYW5nZVNpZ25lZE91dDoyNCxkZWxheWVkRXZlbnRNZXRyaWNDYXB0dXJlZDoxMSxsYXRlbmN5QWN0aW9uQmFzZWxpbmVkOjYsbGF0ZW5jeUFjdGlvbkluZm86NyxsYXRlbmN5QWN0aW9uVGlja2VkOjUsb2ZmbGluZVRyYW5zZmVyU3RhdHVzQ2hhbmdlZDoyLG9mZmxpbmVJbWFnZURvd25sb2FkOjMzNSxwbGF5YmFja1N0YXJ0U3RhdGVDaGFuZ2VkOjksc3lzdGVtSGVhbHRoQ2FwdHVyZWQ6MyxtYW5nb09uYm9hcmRpbmdDb21wbGV0ZWQ6MTAsbWFuZ29QdXNoTm90aWZpY2F0aW9uUmVjZWl2ZWQ6MjMwLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25FcnJvcjoxMjEsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN1bW1hcnk6MTIyLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QcmV1bmZvcmtEYlZlcnNpb25OdW1iZXI6MTMzLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QaG9uZU1ldGFkYXRhOjEzNCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVTdG9yYWdlOjEzNSwKbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN0ZXA6MTQyLG1hbmdvQXN5bmNBcGlNaWdyYXRpb25FdmVudDoyMjMsbWFuZ29Eb3dubG9hZFZpZGVvUmVzdWx0OjIyNCxtYW5nb0hvbWVwYWdlVmlkZW9Db3VudDoyNzksbWFuZ29Ib21lVjNTdGF0ZToyOTUsbWFuZ29JbWFnZUNsaWVudENhY2hlSGl0RXZlbnQ6MjczLHNkQ2FyZFN0YXR1c0NoYW5nZWQ6OTgsZnJhbWVzRHJvcHBlZDoxMix0aHVtYm5haWxIb3ZlcmVkOjEzLGRldmljZVJldGVudGlvbkluZm9DYXB0dXJlZDoxNCx0aHVtYm5haWxMb2FkZWQ6MTUsYmFja1RvQXBwRXZlbnQ6MzE4LHN0cmVhbWluZ1N0YXRzQ2FwdHVyZWQ6MTcsb2ZmbGluZVZpZGVvU2hhcmVkOjE5LGFwcENyYXNoZWQ6MjAseW91VGhlcmU6MjEsb2ZmbGluZVN0YXRlU25hcHNob3Q6MjIsbWR4U2Vzc2lvblN0YXJ0ZWQ6MjUsbWR4U2Vzc2lvbkNvbm5lY3RlZDoyNixtZHhTZXNzaW9uRGlzY29ubmVjdGVkOjI3LGJlZHJvY2tSZXNvdXJjZUNvbnN1bXB0aW9uU25hcHNob3Q6MjgsCm5leHRHZW5XYXRjaFdhdGNoU3dpcGVkOjI5LGtpZHNBY2NvdW50c1NuYXBzaG90OjMwLHplcm9TdGVwQ2hhbm5lbENyZWF0ZWQ6MzEsdHZodG1sNVNlYXJjaENvbXBsZXRlZDozMixvZmZsaW5lU2hhcmVQYWlyaW5nOjM0LG9mZmxpbmVTaGFyZVVubG9jazozNSxtZHhSb3V0ZURpc3RyaWJ1dGlvblNuYXBzaG90OjM2LGJlZHJvY2tSZXBldGl0aXZlQWN0aW9uVGltZWQ6MzcsdW5wbHVnZ2VkRGVncmFkYXRpb25JbmZvOjIyOSx1cGxvYWRNcDRIZWFkZXJNb3ZlZDozOCx1cGxvYWRWaWRlb1RyYW5zY29kZWQ6MzksdXBsb2FkUHJvY2Vzc29yU3RhcnRlZDo0Nix1cGxvYWRQcm9jZXNzb3JFbmRlZDo0Nyx1cGxvYWRQcm9jZXNzb3JSZWFkeTo5NCx1cGxvYWRQcm9jZXNzb3JSZXF1aXJlbWVudFBlbmRpbmc6OTUsdXBsb2FkUHJvY2Vzc29ySW50ZXJydXB0ZWQ6OTYsdXBsb2FkRnJvbnRlbmRFdmVudDoyNDEsYXNzZXRQYWNrRG93bmxvYWRTdGFydGVkOjQxLGFzc2V0UGFja0Rvd25sb2FkZWQ6NDIsCmFzc2V0UGFja0FwcGxpZWQ6NDMsYXNzZXRQYWNrRGVsZXRlZDo0NCxhcHBJbnN0YWxsQXR0cmlidXRpb25FdmVudDo0NTkscGxheWJhY2tTZXNzaW9uU3RvcHBlZDo0NSxhZEJsb2NrZXJNZXNzYWdpbmdTaG93bjo0OCxkaXN0cmlidXRpb25DaGFubmVsQ2FwdHVyZWQ6NDksZGF0YVBsYW5DcGlkUmVxdWVzdGVkOjUxLGRldGFpbGVkTmV0d29ya1R5cGVDYXB0dXJlZDo1MixzZW5kU3RhdGVVcGRhdGVkOjUzLHJlY2VpdmVTdGF0ZVVwZGF0ZWQ6NTQsc2VuZERlYnVnU3RhdGVVcGRhdGVkOjU1LHJlY2VpdmVEZWJ1Z1N0YXRlVXBkYXRlZDo1NixraWRzRXJyb3JlZDo1NyxtZHhNc25TZXNzaW9uU3RhdHNGaW5pc2hlZDo1OCxhcHBTZXR0aW5nc0NhcHR1cmVkOjU5LG1keFdlYlNvY2tldFNlcnZlckh0dHBFcnJvcjo2MCxtZHhXZWJTb2NrZXRTZXJ2ZXI6NjEsc3RhcnR1cENyYXNoZXNEZXRlY3RlZDo2Mixjb2xkU3RhcnRJbmZvOjQzNSxvZmZsaW5lUGxheWJhY2tTdGFydGVkOjYzLGxpdmVDaGF0TWVzc2FnZVNlbnQ6MjI1LApsaXZlQ2hhdFVzZXJQcmVzZW50OjQzNCxsaXZlQ2hhdEJlaW5nTW9kZXJhdGVkOjQ1NyxsaXZlQ2hhdEdpZnRCdXR0b25JbXByZXNzZWQ6NTU4LGxpdmVDcmVhdGlvbkNhbWVyYVVwZGF0ZWQ6NjQsbGl2ZUNyZWF0aW9uRW5jb2RpbmdDYXB0dXJlZDo2NSxsaXZlQ3JlYXRpb25FcnJvcjo2NixsaXZlQ3JlYXRpb25IZWFsdGhVcGRhdGVkOjY3LGxpdmVDcmVhdGlvblZpZGVvRWZmZWN0c0NhcHR1cmVkOjY4LGxpdmVDcmVhdGlvblN0YWdlT2NjdXJlZDo3NSxvZmZsaW5lU3lzdGVtRmFpbHVyZTo1NDYsbGl2ZUNyZWF0aW9uQnJvYWRjYXN0U2NoZWR1bGVkOjEyMyxsaXZlQ3JlYXRpb25BcmNoaXZlUmVwbGFjZW1lbnQ6MTQ5LGxpdmVDcmVhdGlvbkNvc3RyZWFtaW5nQ29ubmVjdGlvbjo0MjEsbGl2ZUNyZWF0aW9uUGxheWFibGVzTWV0cmljczo1MzMsbGl2ZUNyZWF0aW9uU3RyZWFtV2VicnRjU3RhdHM6Mjg4LGxpdmVDcmVhdGlvbldlYnJ0Y0Vycm9yOjUyNixtZHhTZXNzaW9uUmVjb3ZlcnlTdGFydGVkOjY5LAptZHhTZXNzaW9uUmVjb3ZlcnlDb21wbGV0ZWQ6NzAsbWR4U2Vzc2lvblJlY292ZXJ5U3RvcHBlZDo3MSx2aXN1YWxFbGVtZW50U2hvd246NzIsdmlzdWFsRWxlbWVudEhpZGRlbjo3Myx2aXN1YWxFbGVtZW50R2VzdHVyZWQ6NzgsdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZDoyMDgsc2NyZWVuQ3JlYXRlZDoxNTYscGxheWJhY2tBc3NvY2lhdGVkOjIwMix2aXN1YWxFbGVtZW50QXR0YWNoZWQ6MjE1LHBsYXliYWNrQ29udGV4dEV2ZW50OjIxNCxjbG91ZENhc3RpbmdQbGF5YmFja1N0YXJ0ZWQ6NzQsd2ViUGxheWVyQXBpQ2FsbGVkOjc2LHR2aHRtbDVBY2NvdW50RGlhbG9nT3BlbmVkOjc5LGZvcmVncm91bmRIZWFydGJlYXQ6ODAsZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQ6MTExLGtpZHNPZmZsaW5lU25hcHNob3Q6ODEsbWR4RW5jcnlwdGlvblNlc3Npb25TdGF0c0ZpbmlzaGVkOjgyLHBsYXllclJlcXVlc3RDb21wbGV0ZWQ6ODMsbGl0ZVNjaGVkdWxlclN0YXRpc3RpY3M6ODQsCm1keFNpZ25Jbjo4NSxzcGFjZWNhc3RNZXRhZGF0YUxvb2t1cFJlcXVlc3RlZDo4NixzcGFjZWNhc3RCYXRjaExvb2t1cFJlcXVlc3RlZDo4NyxzcGFjZWNhc3RTdW1tYXJ5UmVxdWVzdGVkOjg4LHNwYWNlY2FzdFBsYXliYWNrOjg5LHNwYWNlY2FzdERpc2NvdmVyeTo5MCx0dmh0bWw1TGF1bmNoVXJsQ29tcG9uZW50Q2hhbmdlZDo5MSxtZHhCYWNrZ3JvdW5kUGxheWJhY2tSZXF1ZXN0Q29tcGxldGVkOjkyLG1keEJyb2tlbkFkZGl0aW9uYWxEYXRhRGV2aWNlRGV0ZWN0ZWQ6OTMsdHZodG1sNUxvY2FsU3RvcmFnZTo5Nyx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXR1czoxNDcsYXV0b0NhcHRpb25zQXZhaWxhYmxlOjk5LHBsYXliYWNrU2NydWJiaW5nRXZlbnQ6MzM5LGZsZXh5U3RhdGU6MTAwLGludGVyZmFjZU9yaWVudGF0aW9uQ2FwdHVyZWQ6MTAxLG1haW5BcHBCcm93c2VGcmFnbWVudENhY2hlOjEwMixvZmZsaW5lQ2FjaGVWZXJpZmljYXRpb25GYWlsdXJlOjEwMyxvZmZsaW5lUGxheWJhY2tFeGNlcHRpb25EaWdlc3Q6MjE3LAp2ckNvcHJlc2VuY2VTdGF0czoxMDQsdnJDb3ByZXNlbmNlU3luY1N0YXRzOjEzMCx2ckNvcHJlc2VuY2VDb21tc1N0YXRzOjEzNyx2ckNvcHJlc2VuY2VQYXJ0eVN0YXRzOjE1Myx2ckNvcHJlc2VuY2VFbW9qaVN0YXRzOjIxMyx2ckNvcHJlc2VuY2VFdmVudDoxNDEsdnJDb3ByZXNlbmNlRmxvd1RyYW5zaXRFdmVudDoxNjAsdnJDb3dhdGNoUGFydHlFdmVudDo0OTIsdnJDb3dhdGNoVXNlclN0YXJ0T3JKb2luRXZlbnQ6NTA0LHZyUGxheWJhY2tFdmVudDozNDUsa2lkc0FnZUdhdGVUcmFja2luZzoxMDUsb2ZmbGluZURlbGF5QWxsb3dlZFRyYWNraW5nOjEwNixtYWluQXBwQXV0b09mZmxpbmVTdGF0ZToxMDcsdmlkZW9Bc1RodW1ibmFpbERvd25sb2FkOjEwOCx2aWRlb0FzVGh1bWJuYWlsUGxheWJhY2s6MTA5LGxpdGVTaG93TW9yZToxMTAscmVuZGVyaW5nRXJyb3I6MTE4LGtpZHNQcm9maWxlUGluR2F0ZVRyYWNraW5nOjExOSxhYnJUcmFqZWN0b3J5OjEyNCxzY3JvbGxFdmVudDoxMjUsCnN0cmVhbXpJbmNyZW1lbnRlZDoxMjYsa2lkc1Byb2ZpbGVTd2l0Y2hlclRyYWNraW5nOjEyNyxraWRzUHJvZmlsZUNyZWF0aW9uVHJhY2tpbmc6MTI5LGJ1eUZsb3dTdGFydGVkOjEzNixpbnRlZ3JhdGlvbkF0dHJpYnV0aW9uRXZlbnQ6NTU2LG1ic0Nvbm5lY3Rpb25Jbml0aWF0ZWQ6MTM4LG1ic1BsYXliYWNrSW5pdGlhdGVkOjEzOSxtYnNMb2FkQ2hpbGRyZW46MTQwLGxpdGVQcm9maWxlRmV0Y2hlcjoxNDQsbWR4UmVtb3RlVHJhbnNhY3Rpb246MTQ2LHJlZWxQbGF5YmFja0Vycm9yOjE0OCxyZWFjaGFiaWxpdHlEZXRlY3Rpb25FdmVudDoxNTAsbW9iaWxlUGxheWJhY2tFdmVudDoxNTEsY291cnRzaWRlUGxheWVyU3RhdGVDaGFuZ2VkOjE1MixtdXNpY1BlcnNpc3RlbnRDYWNoZUNoZWNrZWQ6MTU0LG11c2ljUGVyc2lzdGVudENhY2hlQ2xlYXJlZDoxNTUscGxheWJhY2tJbnRlcnJ1cHRlZDoxNTcscGxheWJhY2tJbnRlcnJ1cHRpb25SZXNvbHZlZDoxNTgsZml4Rm9wRmxvdzoxNTksCmFuckRldGVjdGlvbjoxNjEsYmFja3N0YWdlUG9zdENyZWF0aW9uRmxvd0VuZGVkOjE2MixjbGllbnRFcnJvcjoxNjMsZ2FtaW5nQWNjb3VudExpbmtTdGF0dXNDaGFuZ2VkOjE2NCxsaXRlSG91c2V3YXJtaW5nOjE2NSxidXlGbG93RXZlbnQ6MTY3LGtpZHNQYXJlbnRhbEdhdGVUcmFja2luZzoxNjgsa2lkc1NpZ25lZE91dFNldHRpbmdzU3RhdHVzOjQzNyxraWRzU2lnbmVkT3V0UGF1c2VIaXN0b3J5Rml4U3RhdHVzOjQzOCx0dmh0bWw1V2F0Y2hkb2dWaW9sYXRpb246NDQ0LHlwY1VwZ3JhZGVGbG93OjE2OSx5b25nbGVTdHVkeToxNzAseXBjVXBkYXRlRmxvd1N0YXJ0ZWQ6MTcxLHlwY1VwZGF0ZUZsb3dDYW5jZWxsZWQ6MTcyLHlwY1VwZGF0ZUZsb3dTdWNjZWVkZWQ6MTczLHlwY1VwZGF0ZUZsb3dGYWlsZWQ6MTc0LGxpdGVHcm93dGhraXRQcm9tbzoxNzUscGF5bWVudEZsb3dTdGFydGVkOjM0MSx0cmFuc2FjdGlvbkZsb3dTaG93UGF5bWVudERpYWxvZzo0MDUsdHJhbnNhY3Rpb25GbG93U3RhcnRlZDoxNzYsCnRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVN0YXJ0ZWQ6MjIyLHRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVNpZ25lZE91dFN0YXJ0ZWQ6MzgzLHRyYW5zYWN0aW9uRmxvd0NhbmNlbGxlZDoxNzcsdHJhbnNhY3Rpb25GbG93UGF5bWVudENhbGxCYWNrUmVjZWl2ZWQ6Mzg3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWJtaXR0ZWQ6NDYwLHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWNjZWVkZWQ6MzI5LHRyYW5zYWN0aW9uRmxvd1N1Y2NlZWRlZDoxNzgsdHJhbnNhY3Rpb25GbG93RmFpbGVkOjE3OSx0cmFuc2FjdGlvbkZsb3dQbGF5QmlsbGluZ0Nvbm5lY3Rpb25TdGFydEV2ZW50OjQyOCx0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdWNjZXNzOjQ1OCx0cmFuc2FjdGlvbkZsb3dFcnJvckV2ZW50OjQxMSxsaXRlVmlkZW9RdWFsaXR5Q2hhbmdlZDoxODAsd2F0Y2hCcmVha0VuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MTgxLHdhdGNoQnJlYWtGcmVxdWVuY3lTZXR0aW5nRXZlbnQ6MTgyLAp2aWRlb0VmZmVjdHNDYW1lcmFQZXJmb3JtYW5jZU1ldHJpY3M6MTgzLGFkTm90aWZ5OjE4NCxzdGFydHVwVGVsZW1ldHJ5OjE4NSxwbGF5YmFja09mZmxpbmVGYWxsYmFja1VzZWQ6MTg2LG91dE9mTWVtb3J5OjE4Nyx5cGNQYXVzZUZsb3dTdGFydGVkOjE4OCx5cGNQYXVzZUZsb3dDYW5jZWxsZWQ6MTg5LHlwY1BhdXNlRmxvd1N1Y2NlZWRlZDoxOTAseXBjUGF1c2VGbG93RmFpbGVkOjE5MSx1cGxvYWRGaWxlU2VsZWN0ZWQ6MTkyLHlwY1Jlc3VtZUZsb3dTdGFydGVkOjE5Myx5cGNSZXN1bWVGbG93Q2FuY2VsbGVkOjE5NCx5cGNSZXN1bWVGbG93U3VjY2VlZGVkOjE5NSx5cGNSZXN1bWVGbG93RmFpbGVkOjE5NixhZHNDbGllbnRTdGF0ZUNoYW5nZToxOTcseXBjQ2FuY2VsRmxvd1N0YXJ0ZWQ6MTk4LHlwY0NhbmNlbEZsb3dDYW5jZWxsZWQ6MTk5LHlwY0NhbmNlbEZsb3dTdWNjZWVkZWQ6MjAwLHlwY0NhbmNlbEZsb3dGYWlsZWQ6MjAxLHlwY0NhbmNlbEZsb3dHb1RvUGF5bWVudFByb2Nlc3Nvcjo0MDIsCnlwY0RlYWN0aXZhdGVGbG93U3RhcnRlZDozMjAseXBjUmVkZWVtRmxvd1N0YXJ0ZWQ6MjAzLHlwY1JlZGVlbUZsb3dDYW5jZWxsZWQ6MjA0LHlwY1JlZGVlbUZsb3dTdWNjZWVkZWQ6MjA1LHlwY1JlZGVlbUZsb3dGYWlsZWQ6MjA2LHlwY0ZhbWlseUNyZWF0ZUZsb3dTdGFydGVkOjI1OCx5cGNGYW1pbHlDcmVhdGVGbG93Q2FuY2VsbGVkOjI1OSx5cGNGYW1pbHlDcmVhdGVGbG93U3VjY2VlZGVkOjI2MCx5cGNGYW1pbHlDcmVhdGVGbG93RmFpbGVkOjI2MSx5cGNGYW1pbHlNYW5hZ2VGbG93U3RhcnRlZDoyNjIseXBjRmFtaWx5TWFuYWdlRmxvd0NhbmNlbGxlZDoyNjMseXBjRmFtaWx5TWFuYWdlRmxvd1N1Y2NlZWRlZDoyNjQseXBjRmFtaWx5TWFuYWdlRmxvd0ZhaWxlZDoyNjUscmVzdG9yZUNvbnRleHRFdmVudDoyMDcsZW1iZWRzQWRFdmVudDozMjcsYXV0b3BsYXlUcmlnZ2VyZWQ6MjA5LGNsaWVudERhdGFFcnJvckV2ZW50OjIxMCxleHBlcmltZW50YWxWc3NWYWxpZGF0aW9uOjIxMSwKdHZodG1sNVRyaWdnZXJlZEV2ZW50OjIxMix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxSZXN1bHQ6MjE2LHR2aHRtbDVGcmFtZXdvcmtzRmllbGRUcmlhbFN0YXJ0OjIyMCxtdXNpY09mZmxpbmVQcmVmZXJlbmNlczoyMTgsd2F0Y2hUaW1lU2VnbWVudDoyMTksYXBwV2lkdGhMYXlvdXRFcnJvcjoyMjEsYWNjb3VudFJlZ2lzdHJ5Q2hhbmdlOjIyNix1c2VyTWVudGlvbkF1dG9Db21wbGV0ZUJveEV2ZW50OjIyNyxkb3dubG9hZFJlY29tbWVuZGF0aW9uRW5hYmxlbWVudFNldHRpbmdFdmVudDoyMjgsbXVzaWNQbGF5YmFja0NvbnRlbnRNb2RlQ2hhbmdlRXZlbnQ6MjMxLG9mZmxpbmVEYk9wZW5Db21wbGV0ZWQ6MjMyLGtpZHNGbG93RXZlbnQ6MjMzLGtpZHNGbG93Q29ycHVzU2VsZWN0ZWRFdmVudDoyMzQsdmlkZW9FZmZlY3RzRXZlbnQ6MjM1LHVucGx1Z2dlZE9wc0VvZ0FuYWx5dGljc0V2ZW50OjIzNixwbGF5YmFja0F1ZGlvUm91dGVFdmVudDoyMzcsaW50ZXJhY3Rpb25Mb2dnaW5nRGVidWdNb2RlRXJyb3I6MjM4LApvZmZsaW5lWXRiUmVmcmVzaGVkOjIzOSxraWRzRmxvd0Vycm9yOjI0MCxtdXNpY0F1dG9wbGF5T25MYXVuY2hBdHRlbXB0ZWQ6MjQyLGRldmljZUNvbnRleHRBY3Rpdml0eUV2ZW50OjI0MyxkZXZpY2VDb250ZXh0RXZlbnQ6MjQ0LHRlbXBsYXRlUmVzb2x1dGlvbkV4Y2VwdGlvbjoyNDUsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RTZXJ2aWNlQ2FsbGVkOjI0NixlbWJlZHNTdG9yYWdlQWNjZXNzTm90Q2hlY2tlZDoyNDcsZW1iZWRzSGFzU3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNDgsZW1iZWRzSXRwUGxheWVkT25SZWxvYWQ6MjQ5LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzUmVzdWx0OjI1MCxlbWJlZHNTaG91bGRSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTEsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NTdGF0ZToyNTYsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NGYWlsZWRTdGF0ZToyNTcsZW1iZWRzSXRwV2F0Y2hMYXRlclJlc3VsdDoyNjYsc2VhcmNoU3VnZ2VzdERlY29kaW5nUGF5bG9hZEZhaWx1cmU6MjUyLApzaXJpU2hvcnRjdXRBY3RpdmF0ZWQ6MjUzLHR2aHRtbDVLZXlib2FyZFBlcmZvcm1hbmNlOjI1NCxsYXRlbmN5QWN0aW9uU3BhbjoyNTUsZWxlbWVudHNMb2c6MjY3LHl0YkZpbGVPcGVuZWQ6MjY4LHRmbGl0ZU1vZGVsRXJyb3I6MjY5LGFwaVRlc3Q6MjcwLHlvbmdsZVVzYlNldHVwOjI3MSx0b3VTdHJpa2VJbnRlcnN0aXRpYWxFdmVudDoyNzIsbGl0ZVN0cmVhbVRvU2F2ZToyNzQsYXBwQnVuZGxlQ2xpZW50RXZlbnQ6Mjc1LHl0YkZpbGVDcmVhdGlvbkZhaWxlZDoyNzYsYWROb3RpZnlGYWlsdXJlOjI3OCx5dGJUcmFuc2ZlckZhaWxlZDoyODAsYmxvY2tpbmdSZXF1ZXN0RmFpbGVkOjI4MSxsaXRlQWNjb3VudFNlbGVjdG9yOjI4MixsaXRlQWNjb3VudFVpQ2FsbGJhY2tzOjI4MyxkdW1teVBheWxvYWQ6Mjg0LGJyb3dzZVJlc3BvbnNlVmFsaWRhdGlvbkV2ZW50OjI4NSxlbnRpdGllc0Vycm9yOjI4NixtdXNpY0lvc0JhY2tncm91bmRGZXRjaDoyODcsbWR4Tm90aWZpY2F0aW9uRXZlbnQ6Mjg5LApsYXllcnNWYWxpZGF0aW9uRXJyb3I6MjkwLG11c2ljUHdhSW5zdGFsbGVkOjI5MSxsaXRlQWNjb3VudENsZWFudXA6MjkyLGh0bWw1UGxheWVySGVhbHRoRXZlbnQ6MjkzLHdhdGNoUmVzdG9yZUF0dGVtcHQ6Mjk0LGxpdGVBY2NvdW50U2lnbkluOjI5Nixub3RhaXJlRXZlbnQ6Mjk4LGtpZHNWb2ljZVNlYXJjaEV2ZW50OjI5OSxhZE5vdGlmeUZpbGxlZDozMDAsZGVsYXllZEV2ZW50RHJvcHBlZDozMDEsYW5hbHl0aWNzU2VhcmNoRXZlbnQ6MzAyLHN5c3RlbURhcmtUaGVtZU9wdE91dEV2ZW50OjMwMyxmbG93RXZlbnQ6MzA0LG5ldHdvcmtDb25uZWN0aXZpdHlCYXNlbGluZUV2ZW50OjMwNSx5dGJGaWxlSW1wb3J0ZWQ6MzA2LGRvd25sb2FkU3RyZWFtVXJsRXhwaXJlZDozMDcsZGlyZWN0U2lnbkluRXZlbnQ6MzA4LGx5cmljSW1wcmVzc2lvbkV2ZW50OjMwOSxhY2Nlc3NpYmlsaXR5U3RhdGVFdmVudDozMTAsdG9rZW5SZWZyZXNoRXZlbnQ6MzExLGdlbmVyaWNBdHRlc3RhdGlvbkV4ZWN1dGlvbjozMTIsCnR2aHRtbDVWaWRlb1NlZWs6MzEzLHVucGx1Z2dlZEF1dG9QYXVzZTozMTQsc2NydWJiaW5nRXZlbnQ6MzE1LGJlZHRpbWVSZW1pbmRlckV2ZW50OjMxNyx0dmh0bWw1VW5leHBlY3RlZFJlc3RhcnQ6MzE5LHR2aHRtbDVEZXZpY2VTdG9yYWdlU3RhdHM6NTM1LHR2aHRtbDVTdGFiaWxpdHlUcmFjZUV2ZW50OjQ3OCx0dmh0bWw1T3BlcmF0aW9uSGVhbHRoOjQ2Nyx0dmh0bWw1V2F0Y2hLZXlFdmVudDozMjEsdm9pY2VMYW5ndWFnZUNoYW5nZWQ6MzIyLHR2aHRtbDVMaXZlQ2hhdFN0YXR1czozMjMscGFyZW50VG9vbHNDb3JwdXNTZWxlY3RlZEV2ZW50OjMyNCxvZmZlckFkc0Vucm9sbG1lbnRJbml0aWF0ZWQ6MzI1LG5ldHdvcmtRdWFsaXR5SW50ZXJ2YWxFdmVudDozMjYsZGV2aWNlU3RhcnR1cE1ldHJpY3M6MzI4LGhlYXJ0YmVhdEFjdGlvblBsYXllclRyYW5zaXRpb25lZDozMzAsdHZodG1sNUxpZmVjeWNsZTozMzEsaGVhcnRiZWF0QWN0aW9uUGxheWVySGFsdGVkOjMzMixhZGFwdGl2ZUlubGluZU11dGVkU2V0dGluZ0V2ZW50OjMzMywKbWFpbkFwcExpYnJhcnlMb2FkaW5nU3RhdGU6MzM0LHRoaXJkUGFydHlMb2dNb25pdG9yaW5nRXZlbnQ6MzM2LGFwcFNoZWxsQXNzZXRMb2FkUmVwb3J0OjMzNyx0dmh0bWw1QW5kcm9pZEF0dGVzdGF0aW9uOjMzOCx0dmh0bWw1U3RhcnR1cFNvdW5kRXZlbnQ6MzQwLGlvc0JhY2tncm91bmRSZWZyZXNoVGFzazozNDIsaW9zQmFja2dyb3VuZFByb2Nlc3NpbmdUYXNrOjM0MyxzbGlFdmVudEJhdGNoOjM0NCxwb3N0SW1wcmVzc2lvbkV2ZW50OjM0NixtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdEV4cG9ydDozNDcsaWRiVW5leHBlY3RlZGx5Q2xvc2VkOjM0OCx2b2ljZVNlYXJjaEV2ZW50OjM0OSxtZHhTZXNzaW9uQ2FzdEV2ZW50OjM1MCxpZGJRdW90YUV4Y2VlZGVkOjM1MSxpZGJUcmFuc2FjdGlvbkVuZGVkOjM1MixpZGJUcmFuc2FjdGlvbkFib3J0ZWQ6MzUzLHR2aHRtbDVLZXlib2FyZExvZ2dpbmc6MzU0LGlkYklzU3VwcG9ydGVkQ29tcGxldGVkOjM1NSxjcmVhdG9yU3R1ZGlvTW9iaWxlRXZlbnQ6MzU2LAppZGJEYXRhQ29ycnVwdGVkOjM1NyxwYXJlbnRUb29sc0FwcENob3NlbkV2ZW50OjM1OCx3ZWJWaWV3Qm90dG9tU2hlZXRSZXNpemVkOjM1OSxhY3RpdmVTdGF0ZUNvbnRyb2xsZXJTY3JvbGxQZXJmb3JtYW5jZVN1bW1hcnk6MzYwLG5hdmlnYXRvclZhbGlkYXRpb246MzYxLG1keFNlc3Npb25IZWFydGJlYXQ6MzYyLGNsaWVudEhpbnRzUG9seWZpbGxEaWFnbm9zdGljczozNjMsY2xpZW50SGludHNQb2x5ZmlsbEV2ZW50OjM2NCxwcm9vZk9mT3JpZ2luVG9rZW5FcnJvcjozNjUsa2lkc0FkZGVkQWNjb3VudFN1bW1hcnk6MzY2LG11c2ljV2VhcmFibGVEZXZpY2U6MzY3LHlwY1JlZnVuZEZsb3dFdmVudDozNjgsdHZodG1sNVBsYXliYWNrTWVhc3VyZW1lbnRFdmVudDozNjksdHZodG1sNVdhdGVybWFya01lYXN1cmVtZW50RXZlbnQ6MzcwLGNsaWVudEV4cEdjZlByb3BhZ2F0aW9uRXZlbnQ6MzcxLG1haW5BcHBSZWZlcnJlckludGVudDozNzIsbGVhZGVyTG9ja0VuZGVkOjM3MyxsZWFkZXJMb2NrQWNxdWlyZWQ6Mzc0LApnb29nbGVIYXRzRXZlbnQ6Mzc1LHBlcnNpc3RlbnRMZW5zTGF1bmNoRXZlbnQ6Mzc2LHBhcmVudFRvb2xzQ2hpbGRXZWxjb21lQ2hvc2VuRXZlbnQ6Mzc4LGJyb3dzZVRodW1ibmFpbFByZWxvYWRFdmVudDozNzksZmluYWxQYXlsb2FkOjM4MCxtZHhEaWFsQWRkaXRpb25hbERhdGFVcGRhdGVFdmVudDozODEsd2ViT3JjaGVzdHJhdGlvblRhc2tMaWZlY3ljbGVSZWNvcmQ6MzgyLHN0YXJ0dXBTaWduYWxFdmVudDozODQsYWNjb3VudEVycm9yOjM4NSxnbXNEZXZpY2VDaGVja0V2ZW50OjM4NixhY2NvdW50U2VsZWN0b3JFdmVudDozODgsYWNjb3VudFVpQ2FsbGJhY2tzOjM4OSxtZHhEaWFsQWRkaXRpb25hbERhdGFQcm9iZUV2ZW50OjM5MCxkb3dubG9hZHNTZWFyY2hJY2luZ0FwaVN0YXRzOjM5MSxkb3dubG9hZHNTZWFyY2hJbmRleFVwZGF0ZWRFdmVudDozOTcsZG93bmxvYWRzU2VhcmNoSW5kZXhTbmFwc2hvdDozOTgsZGF0YVB1c2hDbGllbnRFdmVudDozOTIsa2lkc0NhdGVnb3J5U2VsZWN0ZWRFdmVudDozOTMsCm1keERldmljZU1hbmFnZW1lbnRTbmFwc2hvdEV2ZW50OjM5NCxwcmVmZXRjaFJlcXVlc3RlZDozOTUscHJlZmV0Y2hhYmxlQ29tbWFuZEV4ZWN1dGVkOjM5NixnZWxEZWJ1Z2dpbmdFdmVudDozOTksd2ViTGlua1R0c1BsYXlFbmQ6NDAwLGNsaXBWaWV3SW52YWxpZDo0MDEscGVyc2lzdGVudFN0b3JhZ2VTdGF0ZUNoZWNrZWQ6NDAzLGNhY2hlV2lwZW91dEV2ZW50OjQwNCxwbGF5ZXJFdmVudDo0MTAsc2Z2RWZmZWN0UGlwZWxpbmVTdGFydGVkRXZlbnQ6NDEyLHNmdkVmZmVjdFBpcGVsaW5lUGF1c2VkRXZlbnQ6NDI5LHNmdkVmZmVjdFBpcGVsaW5lRW5kZWRFdmVudDo0MTMsc2Z2RWZmZWN0Q2hvc2VuRXZlbnQ6NDE0LHNmdkVmZmVjdExvYWRlZEV2ZW50OjQxNSxzZnZFZmZlY3RVc2VySW50ZXJhY3Rpb25FdmVudDo0NjUsc2Z2RWZmZWN0Rmlyc3RGcmFtZVByb2Nlc3NlZExhdGVuY3lFdmVudDo0MTYsc2Z2RWZmZWN0QWdncmVnYXRlZEZyYW1lc1Byb2Nlc3NlZExhdGVuY3lFdmVudDo0MTcsCnNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNEcm9wcGVkRXZlbnQ6NDE4LHNmdkVmZmVjdFBpcGVsaW5lRXJyb3JFdmVudDo0MzAsc2Z2RWZmZWN0R3JhcGhGcm96ZW5FdmVudDo0MTksc2Z2RWZmZWN0R2xUaHJlYWRCbG9ja2VkRXZlbnQ6NDIwLG1kZVFvc0V2ZW50OjUxMCxtZGVWaWRlb0NoYW5nZWRFdmVudDo0NDIsbWRlUGxheWVyUGVyZm9ybWFuY2VNZXRyaWNzOjQ3MixtZGVFeHBvcnRlckV2ZW50OjQ5NyxnZW5lcmljQ2xpZW50RXhwZXJpbWVudEV2ZW50OjQyMyxob21lUHJlbG9hZFRhc2tTY2hlZHVsZWQ6NDI0LGhvbWVQcmVsb2FkVGFza0V4ZWN1dGVkOjQyNSxob21lUHJlbG9hZENhY2hlSGl0OjQyNixwb2x5bWVyUHJvcGVydHlDaGFuZ2VkSW5PYnNlcnZlcjo0MjcsYXBwbGljYXRpb25TdGFydGVkOjQzMSxuZXR3b3JrQ3JvbmV0UnR0QmF0Y2g6NDMyLG5ldHdvcmtDcm9uZXRSdHRTdW1tYXJ5OjQzMyxyZXBlYXRDaGFwdGVyTG9vcEV2ZW50OjQzNixzZWVrQ2FuY2VsbGF0aW9uRXZlbnQ6NDYyLApsb2NrTW9kZVRpbWVvdXRFdmVudDo0ODMsZXh0ZXJuYWxWaWRlb1NoYXJlVG9Zb3V0dWJlQXR0ZW1wdDo1MDEscGFyZW50Q29kZUV2ZW50OjUwMixvZmZsaW5lVHJhbnNmZXJTdGFydGVkOjQsbXVzaWNPZmZsaW5lTWl4dGFwZVByZWZlcmVuY2VzQ2hhbmdlZDoxNixtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uQXR0ZW1wdDo0MCxtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uRXJyb3I6NzcsZHR3c1BsYXliYWNrU3RhcnRlZDoxMTIsZHR3c1RpbGVGZXRjaFN0YXJ0ZWQ6MTEzLGR0d3NUaWxlRmV0Y2hDb21wbGV0ZWQ6MTE0LGR0d3NUaWxlRmV0Y2hTdGF0dXNDaGFuZ2VkOjE0NSxkdHdzS2V5ZnJhbWVEZWNvZGVyQnVmZmVyU2VudDoxMTUsZHR3c1RpbGVVbmRlcmZsb3dlZE9uTm9ua2V5ZnJhbWU6MTE2LGR0d3NCYWNrZmlsbEZldGNoU3RhdHVzQ2hhbmdlZDoxNDMsZHR3c0JhY2tmaWxsVW5kZXJmbG93ZWQ6MTE3LGR0d3NBZGFwdGl2ZUxldmVsQ2hhbmdlZDoxMjgsCmJsb2NraW5nVmlzaXRvcklkVGltZW91dDoyNzcsbGl0ZVNvY2lhbDoxOCxtb2JpbGVKc0ludm9jYXRpb246Mjk3LGJpc2NvdHRpQmFzZWREZXRlY3Rpb246NDM5LGNvV2F0Y2hTdGF0ZUNoYW5nZTo0NDAsZW1iZWRzVmlkZW9EYXRhRGlkQ2hhbmdlOjQ0MSxzaG9ydHNGaXJzdDo0NDMsY3J1aXNlQ29udHJvbEV2ZW50OjQ0NSxxb2VDbGllbnRMb2dnaW5nQ29udGV4dDo0NDYsYXR2UmVjb21tZW5kYXRpb25Kb2JFeGVjdXRlZDo0NDcsdHZodG1sNVVzZXJGZWVkYmFjazo0NDgscHJvZHVjZXJQcm9qZWN0Q3JlYXRlZDo0NDkscHJvZHVjZXJQcm9qZWN0T3BlbmVkOjQ1MCxwcm9kdWNlclByb2plY3REZWxldGVkOjQ1MSxwcm9kdWNlclByb2plY3RFbGVtZW50QWRkZWQ6NDUzLHByb2R1Y2VyUHJvamVjdEVsZW1lbnRSZW1vdmVkOjQ1NCxwcm9kdWNlckFwcFN0YXRlQ2hhbmdlOjUwOSxwcm9kdWNlclByb2plY3REaXNrSW5zdWZmaWNpZW50RXhwb3J0RmFpbHVyZTo1MTYscHJvZHVjZXJNZWRpYVNlcnZpY2VzUmVzZXREZXRhaWxzOjUyMiwKdHZodG1sNVNob3dDbG9ja0V2ZW50OjQ1NSxkZXZpY2VDYXBhYmlsaXR5Q2hlY2tNZXRyaWNzOjQ1Nix5b3V0dWJlQ2xlYXJjdXRFdmVudDo0NjEsb2ZmbGluZUJyb3dzZUZhbGxiYWNrRXZlbnQ6NDYzLGdldEN0dlRva2VuRXZlbnQ6NDY0LHN0YXJ0dXBEcm9wcGVkRnJhbWVzU3VtbWFyeTo0NjYsc2NyZWVuc2hvdEV2ZW50OjQ2OCxtaW5pQXBwUGxheUV2ZW50OjQ2OSxlbGVtZW50c0RlYnVnQ291bnRlcnM6NDcwLGZvbnRMb2FkRXZlbnQ6NDcxLHdlYktpbGxzd2l0Y2hSZWNlaXZlZDo0NzMsd2ViS2lsbHN3aXRjaEV4ZWN1dGVkOjQ3NCxjYW1lcmFPcGVuRXZlbnQ6NDc1LG1hbnVhbFNtb290aG5lc3NNZWFzdXJlbWVudDo0NzYsdHZodG1sNUFwcFF1YWxpdHlFdmVudDo0NzcscG9seW1lclByb3BlcnR5QWNjZXNzRXZlbnQ6NDc5LG1pbmlBcHBTZGtVc2FnZTo0ODAsY29iYWx0VGVsZW1ldHJ5RXZlbnQ6NDgxLGNyb3NzRGV2aWNlUGxheWJhY2s6NDgyLGNoYW5uZWxDcmVhdGVkV2l0aE9iYWtlSW1hZ2U6NDg0LApjaGFubmVsRWRpdGVkV2l0aE9iYWtlSW1hZ2U6NDg1LG9mZmxpbmVEZWxldGVFdmVudDo0ODYsY3Jvc3NEZXZpY2VOb3RpZmljYXRpb25UcmFuc2Zlcjo0ODcsYW5kcm9pZEludGVudEV2ZW50OjQ4OCx1bnBsdWdnZWRBbWJpZW50SW50ZXJsdWRlc0NvdW50ZXJmYWN0dWFsRXZlbnQ6NDg5LGtleVBsYXlzUGxheWJhY2s6NDkwLHNob3J0c0NyZWF0aW9uRmFsbGJhY2tFdmVudDo0OTMsdnNzRGF0YTo0OTEsY2FzdE1hdGNoOjQ5NCxtaW5pQXBwUGVyZm9ybWFuY2VNZXRyaWNzOjQ5NSx1c2VyRmVlZGJhY2tFdmVudDo0OTYsa2lkc0d1ZXN0U2Vzc2lvbk1pc21hdGNoOjQ5OCxtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdE1pZ3JhdGlvbkV2ZW50OjQ5OSxzbGVlcFRpbWVyU2Vzc2lvbkZpbmlzaEV2ZW50OjUwMCx3YXRjaEVwUHJvbW9Db25mbGljdDo1MDMsaW5uZXJ0dWJlUmVzcG9uc2VDYWNoZU1ldHJpY3M6NTA1LG1pbmlBcHBBZEV2ZW50OjUwNixkYXRhUGxhblVwc2VsbEV2ZW50OjUwNywKcHJvZHVjZXJQcm9qZWN0UmVuYW1lZDo1MDgscHJvZHVjZXJNZWRpYVNlbGVjdGlvbkV2ZW50OjUxMSxlbWJlZHNBdXRvcGxheVN0YXR1c0NoYW5nZWQ6NTEyLHJlbW90ZUNvbm5lY3RFdmVudDo1MTMsY29ubmVjdGVkU2Vzc2lvbk1pc2F0dHJpYnV0aW9uRXZlbnQ6NTE0LHByb2R1Y2VyUHJvamVjdEVsZW1lbnRNb2RpZmllZDo1MTUsYWRzU2VlbkNsaWVudExvZ2dpbmc6NTE3LHByb2R1Y2VyRXZlbnQ6NTE4LHR2aHRtbDVDbGVhblN0YXJ0OjUxOSxkZXZpY2VBY2NvdW50TWV0cmljc0V2ZW50OjUyMCxkZXJwTG9nRXZlbnQ6NTIxLHBsYXlhYmxlc1BvcnRhbEV2ZW50OjUyMyxpcFZhbGlkYXRpb25TdGFydGVkOjUyNCxpcFZhbGlkYXRpb25SZWNlaXZlZDo1MjUscmVlbHNTZXF1ZW5jZU11dGF0aW9uRXZlbnQ6NTI3LHdhdGNoWm9vbVN0YXRlQ2hhbmdlOjUyOCxtZXRhZGF0YUVkaXRvckV2ZW50OjUyOSxraWRzUHJpc21hRGVlcGxpbmtzRXZlbnQ6NTMwLGNyZWF0aW9uT3JjaGVzdHJhdGlvbkV2ZW50OjUzMSwKY29vcmRpbmF0ZWRTYW1wbGluZ1RyaWdnZXJlZDo1MzIscmVjYXBTY3JlZW5zaG90RXZlbnQ6NTM0LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXF1ZXN0RXZlbnQ6NTM2LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXNwb25zZUV2ZW50OjUzNyxzZXNzaW9uUmVwbGF5RXZlbnQ6NTM4LHNlc3Npb25SZXBsYXlTdGF0dXNFdmVudDo1MzksbG9nZ2luZ1JlbGlhYmlsaXR5UHJvYmU6NTQwLGtleVZhbHVlU3RvcmVTdGF0c0V2ZW50OjU0MSxkZXZpY2VMb2NhdGlvblBlcm1pc3Npb25FdmVudDo1NDIscmVtb3RlQ29udHJvbFN0YXJ0ZWQ6NTQzLHJlbW90ZUNvbnRyb2xDb21wbGV0ZWQ6NTQ0LHJlZWxzQWRzRXZlbnRzOjU0NSx5dGxyTG9hZGVyVGVzdEhhcm5lc3NFdmVudDo1NDcsYmlvbWV0cmljQXV0aGVudGljYXRpb25FdmVudDo1NDgsbWFpbkFwcExpZmVjeWNsZUV2ZW50OjU0OSxtdXNpY0Rvd25sb2FkQmFja2dyb3VuZENvbnRpbnVlZFByb2Nlc3NpbmdUYXNrOjU1MCxtdXNpY01ldGFkYXRhTWlzbWF0Y2hFdmVudDo1NTEsCnNjcm9sbFRvQ29tcG9uZW50Q29tcGxldGVkOjU1MixlbnRpdHlTdG9yZVRlbGVtZXRyeTo1NTMsc3RyZWFtaW5nRGFya0xhdW5jaEV2ZW50OjU1NCxjaGlsZEFjY291bnRzRGlzcGxheUV2ZW50OjU1NSx0dmZhc1BsYXliYWNrQ29udGV4dDo1NTcsbWRlQzJQYUV2ZW50OjU1OX07dmFyIFZtPV8uJGwoIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtzZTp7U1dIZWFsdGhMb2c6e1BkOjF9fSxzaGFyZWQ6ITAsdXBncmFkZTooYSxiKT0+e2IoMSkmJl8ub2woXy5rbChhLCJTV0hlYWx0aExvZyIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSksInN3SGVhbHRoTmV3UmVxdWVzdCIsWyJpbnRlcmZhY2UiLCJ0aW1lc3RhbXAiXSl9LHZlcnNpb246MX0pO3ZhciBjbj17fSxibj0wO3ZhciBkbjt2YXIgaG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9bmV3IE1hcDt0aGlzLm89ITF9cmVxdWVzdENvbXBsZXRlKGEsYil7YiYmKHRoaXMubz0hMCk7YT10aGlzLnJlbW92ZVBhcmFtcyhhKTt0aGlzLmouZ2V0KGEpfHx0aGlzLmouc2V0KGEsYil9aXNFbmRwb2ludENGUihhKXthPXRoaXMucmVtb3ZlUGFyYW1zKGEpO3JldHVybihhPXRoaXMuai5nZXQoYSkpPyExOmE9PT0hMSYmdGhpcy5vPyEwOm51bGx9cmVtb3ZlUGFyYW1zKGEpe3JldHVybiBhLnNwbGl0KCI/IilbMF19fTtobi5wcm90b3R5cGUucmVtb3ZlUGFyYW1zPWhuLnByb3RvdHlwZS5yZW1vdmVQYXJhbXM7aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI9aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI7aG4ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZT1obi5wcm90b3R5cGUucmVxdWVzdENvbXBsZXRlO2huLmdldEluc3RhbmNlPWpuO3ZhciBrbj1jbGFzcyBleHRlbmRzIF8uZ2Z7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj0hMTt0aGlzLmo9bGYoKTt0aGlzLmoubGlzdGVuKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PntpZih0aGlzLnYmJl8ueCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgYT1mbigpLmdldCgiZXJyb3JzIiwhMCk7aWYoYSl7Zm9yKGxldCBiIGluIGEpaWYoYVtiXSl7bGV0IGM9bmV3IF8uWGooYiwic2VudCB2aWEgb2ZmbGluZV9lcnJvcnMiKTtjLm5hbWU9YVtiXS5uYW1lO2Muc3RhY2s9YVtiXS5zdGFjaztjLmxldmVsPWFbYl0ubGV2ZWw7Xy5VaShjKX1mbigpLnNldCgiZXJyb3JzIix7fSwyNTkyRTMsITApfX19KX1TYigpe3JldHVybiB0aGlzLmouU2IoKX1lZihhKXt0aGlzLmouaXNPbmxpbmU9YX1xdygpe3ZhciBhPXdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO3JldHVybiBhPT09dm9pZCAwPyEwOmF9Q3YoKXt0aGlzLnY9ITB9bGlzdGVuKGEsYil7cmV0dXJuIHRoaXMuai5saXN0ZW4oYSwKYil9UWooYSl7cmV0dXJuIG1mKHRoaXMuaixhKX19O2tuLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1rbi5wcm90b3R5cGUuUWo7a24ucHJvdG90eXBlLmxpc3Rlbj1rbi5wcm90b3R5cGUubGlzdGVuO2tuLnByb3RvdHlwZS5lbmFibGVFcnJvckZsdXNoaW5nPWtuLnByb3RvdHlwZS5Ddjtrbi5wcm90b3R5cGUuZ2V0V2luZG93U3RhdHVzPWtuLnByb3RvdHlwZS5xdztrbi5wcm90b3R5cGUubmV0d29ya1N0YXR1c0hpbnQ9a24ucHJvdG90eXBlLmVmO2tuLnByb3RvdHlwZS5pc05ldHdvcmtBdmFpbGFibGU9a24ucHJvdG90eXBlLlNiO2tuLmdldEluc3RhbmNlPWxuO18uT3M9Y2xhc3MgZXh0ZW5kcyBfLmdme2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKCk7dGhpcy5qPXRoaXMuRD0wO3RoaXMudj1sbigpO3ZhciBiPV8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy52KTtiJiYoYS5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PWEucmF0ZUxpbWl0LGIoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e21uKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnttbih0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihiKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVNiKCl7dmFyIGE9Cl8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpO3JldHVybiBhP2EuYmluZCh0aGlzLnYpKCk6ITB9ZWYoYSl7dmFyIGI9Xy5zYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UubmV0d29ya1N0YXR1c0hpbnQiKS5iaW5kKHRoaXMudik7YiYmYihhKX1hc3luYyBRaihhKXt2YXIgYj1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdCIpLmJpbmQodGhpcy52KTtyZXR1cm4gXy54KCJza2lwX25ldHdvcmtfY2hlY2tfaWZfY2ZyIikmJmpuKCkuaXNFbmRwb2ludENGUigiZ2VuZXJhdGVfMjA0Iik/bmV3IFByb21pc2UoYz0+e3RoaXMuZWYod2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHwhMCk7Yyh0aGlzLlNiKCkpfSk6Yj9iKGEpOiEwfX07dmFyIFBzLG5uPWNsYXNzIGV4dGVuZHMgTnN7Y29uc3RydWN0b3IoKXtQc3x8KFBzPW5ldyBfLk9zKHtTSjohMCxKSTohMH0pKTtzdXBlcih7Y2I6e091OlRtLEZmOlNtLFdwOlBtLEF5OlFtLG5uOlJtLHNldDpPbX0sU2E6UHMsaGFuZGxlRXJyb3I6KGEsYixjKT0+e3ZhciBkPWM/LmVycm9yPy5jb2RlO2Q9PT00MDB8fGQ9PT00MTU/KGE9bmV3IF8uWGooYS5tZXNzYWdlLGIsYz8uZXJyb3I/LmNvZGUpLF8uV2koYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOl8uVWkoYSl9LFRmOl8uV2ksR2Q6cW4sbm93Ol8uZWwsTHM6Z24sRGM6Xy5DaygpLEttOiJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixGbToicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9mZmxpbmUiLE9pOiEwLERpOi4xLEtqOl8uc2ooInBvdGVudGlhbF9lc2ZfZXJyb3JfbGltaXQiLDEwKSxLYTpfLngsYWg6IShfLldqKCkmJl8uc24oKSl9KTt0aGlzLkI9bmV3IF8uY3M7Xy54KCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiYKVW0oKTtYbCgiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKGEsYil7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKGEsYil9c2VuZFRoZW5Xcml0ZShhLGIsYyl7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKGEsYixjKX1zZW5kQW5kV3JpdGUoYSxiKXtifHwoYj17fSk7Yj1ybihhLGIpO18uV2ooKXx8KHRoaXMuT2M9ITEpO3N1cGVyLnNlbmRBbmRXcml0ZShhLGIpfWF3YWl0SW5pdGlhbGl6YXRpb24oKXtyZXR1cm4gdGhpcy5CLnByb21pc2V9fTtfLnVuPSExO18udG49Xy51Lnl0TmV0d29ya2xlc3NMb2dnaW5nSW5pdGlhbGl6YXRpb25PcHRpb25zfHx7aXNOd2xJbml0aWFsaXplZDpfLnVufTtfLnJhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsXy50bik7dmFyIERwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY29uZmlnXz1udWxsO2E/dGhpcy5jb25maWdfPWE6a20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKX1pc1JlYWR5KCl7IXRoaXMuY29uZmlnXyYma20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciBRcztRcz1fLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZXx8bmV3IF8udGg7Xy5Scz1fLnUueXRQdWJzdWJQdWJzdWJTdWJzY3JpYmVkS2V5c3x8e307Xy5Tcz1fLnUueXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5c3x8e307Xy5Ucz1fLnUueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtfLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU9Xy50aC5wcm90b3R5cGUuc3Vic2NyaWJlO18udGgucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9Xy50aC5wcm90b3R5cGUuY2k7Xy50aC5wcm90b3R5cGUucHVibGlzaD1fLnRoLnByb3RvdHlwZS5wdWJsaXNoO18udGgucHJvdG90eXBlLmNsZWFyPV8udGgucHJvdG90eXBlLmNsZWFyO18ucmEoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLFFzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YlRvcGljVG9LZXlzIixfLlNzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YklzU3luY2hyb25vdXMiLF8uVHMpOwpfLnJhKCJ5dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzIixfLlJzKTt2YXIgQ249RGF0ZS5ub3coKS50b1N0cmluZygpO0RhdGUubm93KCk7Xy5Mbj1TeW1ib2woIkNhIik7dmFyIEhuPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMua2V5PWF9fTt2YXIgT249Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IE1hcDt0aGlzLm89bmV3IE1hcH1yZXNvbHZlKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLlVzJiZhIGluc3RhbmNlb2YgXy5Vcz9Lbih0aGlzLGEpOmEgaW5zdGFuY2VvZiBIbj9Kbih0aGlzLGEua2V5LFtdLCEwKTpKbih0aGlzLGEsW10pfX07Xy5Wcz1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX10b1N0cmluZygpe3JldHVybmBJbmplY3Rpb25Ub2tlbigke3RoaXMubmFtZX0pYH19O3ZhciBObjt2YXIgUG49d2luZG93O3ZhciBmbz1fLngoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKSYmUW4oKSE9PTAsVW49Xy54KCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIik7dmFyIGVvPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc2NoZWR1bGVyPV8uQ2soKTt0aGlzLm89bmV3IF8uY3M7dGhpcy5qPWE7Zm9yKGxldCBjPTA7Yzx0aGlzLmoubGVuZ3RoO2MrKyl7bGV0IGQ9dGhpcy5qW2NdO2E9KCk9PntkLnhoKCk7dGhpcy5qW2NdLk5qPSEwO3RoaXMuai5ldmVyeShlPT5lLk5qPT09ITApJiZ0aGlzLm8ucmVzb2x2ZSgpfTt2YXIgYj10aGlzLmdldFByaW9yaXR5KGQpO2I9dGhpcy5zY2hlZHVsZXIuR2EoYSxiKTt0aGlzLmpbY109ey4uLmQseGg6YSxqb2JJZDpifX19Y2FuY2VsKCl7Zm9yKGxldCBhIG9mIHRoaXMuailhLmpvYklkPT09dm9pZCAwfHxhLk5qfHx0aGlzLnNjaGVkdWxlci5BYShhLmpvYklkKSxhLk5qPSEwO3RoaXMuby5yZXNvbHZlKCl9Z2V0UHJpb3JpdHkoYSl7cmV0dXJuIGEucHJpb3JpdHk/PzB9fTtfLldzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9YTt0aGlzLnBsdWdpbnM9W107dGhpcy52PXZvaWQgMDt0aGlzLkI9e307Zm8mJlJuKHRoaXMuc3RhdGUpfWdldCBjdXJyZW50U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pbnN0YWxsKGEpe3RoaXMucGx1Z2lucy5wdXNoKGEpO3JldHVybiB0aGlzfXVuaW5zdGFsbCguLi5hKXthLmZvckVhY2goYj0+e2I9dGhpcy5wbHVnaW5zLmluZGV4T2YoYik7Yj4tMSYmdGhpcy5wbHVnaW5zLnNwbGljZShiLDEpfSl9dHJhbnNpdGlvbihhLGIpe2ZvJiZTbih0aGlzLnN0YXRlKTt2YXIgYz10aGlzLnRyYW5zaXRpb25zLmZpbmQoZD0+QXJyYXkuaXNBcnJheShkLmZyb20pP2QuZnJvbS5maW5kKGU9PmU9PT10aGlzLnN0YXRlJiZkLnRvPT09YSk6ZC5mcm9tPT09dGhpcy5zdGF0ZSYmZC50bz09PWEpO2lmKGMpe3RoaXMuaiYmKFRuKHRoaXMuaiksdGhpcy5qPXZvaWQgMCk7Vm4odGhpcyxhLGIpO3RoaXMuc3RhdGU9YTtmbyYmUm4odGhpcy5zdGF0ZSk7CmM9Yy5hY3Rpb24uYmluZCh0aGlzKTtsZXQgZD10aGlzLnBsdWdpbnMuZmlsdGVyKGU9PmVbYV0pLm1hcChlPT5lW2FdKTtjKFpuKHRoaXMsZCksYil9ZWxzZSB0aHJvdyBFcnJvcigiR2FgIit0aGlzLnN0YXRlKyJgIithKTt9fTt2YXIgaG89Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoIm5vbmUiKTt0aGlzLm89bnVsbDt0aGlzLnY9MTA7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206Im5vbmUiLHRvOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86Im5vbmUiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOigpPT57fX0se2Zyb206Im5vbmUiLHRvOiJub25lIixhY3Rpb246KCk9Pnt9fV19RChhLGIpe3RoaXMubz1fLllqKCgpPT57dGhpcy5jdXJyZW50U3RhdGU9PT0iYXBwbGljYXRpb25fbmF2aWdhdGluZyImJnRoaXMudHJhbnNpdGlvbigibm9uZSIpfSw1RTMpO2EoYj8uZXZlbnQpfUsoYSxiKXt0aGlzLm8mJihfLmpmLkFhKHRoaXMubyksdGhpcy5vPW51bGwpO2EoYj8uZXZlbnQpfX0sZ287dmFyIHJvPV8uc2ooInl0Y3NpX2RlYnVnX21heF9zaXplIiwxMDApO3ZhciBYcz0wO3ZhciB5cT1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhcmd1bWVudHMpO3RoaXMuaj1hO3RoaXMudGltZXI9Yn19LHhxPW5ldyBfLnFtKCJhZnQtcmVjb3JkZWQiLHlxKTt2YXIgTnA9W3twbTphPT5gQ2Fubm90IHJlYWQgcHJvcGVydHkgJyR7YS5rZXl9J2AsSmo6e0Vycm9yOlt7cmVnZXhwOi8oUGVybWlzc2lvbiBkZW5pZWQpIHRvIGFjY2VzcyBwcm9wZXJ0eSAiKFteJ10rKSIvLGdyb3VwczpbInJlYXNvbiIsImtleSJdfV0sVHlwZUVycm9yOlt7cmVnZXhwOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovXHU2NWUwXHU2Y2Q1XHU4M2I3XHU1M2Q2XHU2NzJhXHU1YjlhXHU0ZTQ5XHU2MjE2IChudWxsfHVuZGVmaW5lZCkgXHU1ZjE1XHU3NTI4XHU3Njg0XHU1YzVlXHU2MDI3XHUyMDFjKFteXHUyMDFkXSspXHUyMDFkLyxncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7cmVnZXhwOi9cdWM4MTVcdWM3NThcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzRjIFx1YjYxMFx1YjI5NCAobnVsbHx1bmRlZmluZWQpIFx1Y2MzOFx1Yzg3MFx1Yzc3OCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YzYyYyBcdWMyMTggXHVjNWM2XHVjMmI1XHViMmM4XHViMmU0Li8sCmdyb3VwczpbInZhbHVlIiwia2V5Il19LHtyZWdleHA6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHtyZWdleHA6L1VuYWJsZSB0byBnZXQgcHJvcGVydHkgJyhbXiddKyknIG9mICh1bmRlZmluZWQgb3IgbnVsbCkgcmVmZXJlbmNlLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7cmVnZXhwOi8obnVsbCkgaXMgbm90IGFuIG9iamVjdCBcKGV2YWx1YXRpbmcgJyg/OihbXi5dKylcLik/KFteJ10rKSdcKS8sZ3JvdXBzOlsidmFsdWUiLCJiYXNlIiwia2V5Il19XX19LHtwbTphPT5gQ2Fubm90IGNhbGwgJyR7YS5rZXl9J2AsSmo6e1R5cGVFcnJvcjpbe3JlZ2V4cDovKD86KFteIF0rKT9cLik/KFteIF0rKSBpcyBub3QgYSBmdW5jdGlvbi8sZ3JvdXBzOlsiYmFzZSIsImtleSJdfSx7cmVnZXhwOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLywKZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovT2JqZWN0ICguKikgaGFzIG5vIG1ldGhvZCAnKFteIF0rKScvLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3JlZ2V4cDovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovXHUzMGFhXHUzMGQ2XHUzMGI4XHUzMGE3XHUzMGFmXHUzMGM4XHUzMDZmICcoW14nXSspJyBcdTMwZDdcdTMwZWRcdTMwZDFcdTMwYzZcdTMwYTNcdTMwN2VcdTMwNWZcdTMwNmZcdTMwZTFcdTMwYmRcdTMwYzNcdTMwYzlcdTMwOTJcdTMwYjVcdTMwZGRcdTMwZmNcdTMwYzhcdTMwNTdcdTMwNjZcdTMwNDRcdTMwN2VcdTMwNWJcdTMwOTMvLGdyb3VwczpbImtleSJdfSx7cmVnZXhwOi9cdWFjMWNcdWNjYjRcdWFjMDAgJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc3NFx1YjA5OCBcdWJhNTRcdWMxMWNcdWI0ZGNcdWI5N2MgXHVjOWMwXHVjNmQwXHVkNTU4XHVjOWMwIFx1YzU0YVx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJrZXkiXX1dfX0se3BtOmE9PmAke2Eua2V5fSBpcyBub3QgZGVmaW5lZGAsSmo6e1JlZmVyZW5jZUVycm9yOlt7cmVnZXhwOi8oLiopIGlzIG5vdCBkZWZpbmVkLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgQW89e2xlOltdLFNkOlt7Y2FsbGJhY2s6dm8sd2VpZ2h0OjUwMH0se2NhbGxiYWNrOndvLHdlaWdodDo1MDB9XX07dmFyIHlvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5TZD1bXTt0aGlzLmxlPVtdfX0seG87Xy5WcD1uZXcgXy50aDt2YXIgdnA9W107Xy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZEdlbFBheWxvYWRzIixmdW5jdGlvbigpe3JldHVybiB2cH0pO3ZhciBQbz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RvcmU9e307dGhpcy5qPXt9fXN0b3JlUGF5bG9hZChhLGIpe2E9SW8oYSk7dGhpcy5zdG9yZVthXT90aGlzLnN0b3JlW2FdLnB1c2goYik6KHRoaXMuaj17fSx0aGlzLnN0b3JlW2FdPVtiXSk7Xy54KCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmKGI9bmV3IEN1c3RvbUV2ZW50KCJUUkFOU1BPUlRJTkdfTkVXX0VWRU5UIiksd2luZG93LmRpc3BhdGNoRXZlbnQoYikpO3JldHVybiBhfXNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXtpZighYS5rZXlzLmxlbmd0aClyZXR1cm5bXTt2YXIgYj1Lbyh0aGlzLGEua2V5cy5zcGxpY2UoMCwxKVswXSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl0aGlzLnN0b3JlW2JbZF1dJiZhLnNpemVMaW1pdCYmKHRoaXMuc3RvcmVbYltkXV0ubGVuZ3RoPD1hLnNpemVMaW1pdD8oYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0pLGRlbGV0ZSB0aGlzLnN0b3JlW2JbZF1dKToKYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0uc3BsaWNlKDAsYS5zaXplTGltaXQpKSk7YT8uc2l6ZUxpbWl0JiZjLmxlbmd0aDxhPy5zaXplTGltaXQmJihhLnNpemVMaW1pdC09Yy5sZW5ndGgsYy5wdXNoKC4uLnRoaXMuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKGEpKSk7cmV0dXJuIGN9ZXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXthPUtvKHRoaXMsYSk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspdGhpcy5zdG9yZVthW2NdXSYmKGIucHVzaCguLi50aGlzLnN0b3JlW2FbY11dKSxkZWxldGUgdGhpcy5zdG9yZVthW2NdXSk7cmV0dXJuIGJ9Z2V0U2VxdWVuY2VDb3VudChhKXthPUtvKHRoaXMsYSk7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliKz10aGlzLnN0b3JlW2FbY11dPy5sZW5ndGh8fDA7cmV0dXJuIGJ9fTtQby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudD1Qby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudDsKUG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM9UG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM7UG8ucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcz1Qby5wcm90b3R5cGUuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzO1BvLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ9UG8ucHJvdG90eXBlLnN0b3JlUGF5bG9hZDt2YXIgeXA9bmV3IF8uVnMoIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UiKTt2YXIgbnA9Xy5zaigiaW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCIsMkUzKSxscD1fLnNqKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCksb3A9Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIiw1KSxObz12b2lkIDAsTW89bnVsbCxZcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj10aGlzLm89dGhpcy52PTA7dGhpcy5qPSExfX0sQXA9bmV3IFlzLHpwPW5ldyBZcyxrcD1uZXcgWXMsanA9bmV3IFlzLGNwLG1wPSEwLGdwPV8udS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O18ucmEoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZ3ApO3ZhciBYbz17fTt2YXIgQnA9Xy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsQnApO3ZhciBRcD1uZXcgU2V0LEtwPTAsWHA9MCxXcD0wLE1wPVtdLExwPVtdLFpwPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO3ZhciBacz17YV9iaWRfZjo0ODIsYV9iaWRfczo0ODEsYWE6MixhYWNpOjQzMyxhYWNyOjQzNCxhYl9yOjExLGFiX3M6MTAsYWJjOjU3OSxhYzoxOTMsYWNjOjUxMSxhY2k6NTEyLGFkXzBfZToxMyxhZF8wX3M6MTIsYWRfYmw6MTQsYWRfaToxNSxhZF9tYnM6MTYsYWRfcHI6NTYyLGFkX3ZpOjE3LGFkX3ZpcjoxOCxhZGE6MTk0LGFkYmNfZjo1NzYsYWRjOjE5NSxhZGZsX2Y6MTksYWRmbF9zOjIwLGFkbDoxOTYsYWRuczoxOTcsYWRzX2U6MjIsYWRzX3M6MjEsYWZiOjUxMyxhZmM6MTk4LGFmbDoxOTksYWZ0OjEsYWhiOjUxNCxhaToyMDAsYWlzX2E6NTAzLGFpc19yOjUwMixhaXNmOjIzLGFpc2k6MjQsYWlzcjoyNSxhaXNzOjI2LGFtbDoyMDEsYXBhX2E6MjAzLGFwYV9iOjIwMixhcGJzOjIwNCxhcHBfbDozLGFwcF9zaTo2MTIsYXBwX3NpZTo2NjEsYXBwZGVsX2k6MjcsYXBwaV9lOjYxNixhcHBpX3M6NjE1LGFwcjoyMDUsYXByZXM6NDM2LGFwc3VzOjQzNSxhcjoyMDYsYXI0MGs6MjgsCmFyYl9mOjUwNCxhcmM6MjA3LGFyZXE6MjA4LGFyZmI6MjksYXJpOjQsYXJyOjIwOSxhcnJoOjMwLGFzY2U6Nzg4LGFzY2Y6Nzg5LGFzY3M6Nzg3LGFzaXNmYjozMSxhc2lzcjozMixhc2lzcmg6MzMsYXNpc3M6MzQsYXNyOjIxMCxhc3luY19vcmNoX3RfYWN0OjcxMixhc3luY19vcmNoX3Rfbm90aWZ5OjcxMSxhdHJyOjUxNSxhdHJzOjUxNixhdHRfZToyMTEsYXR0X2Y6MjEyLGF0dF9mYzo3OTcsYXR0X2Zycjo3OTYsYXR0X2ZzOjc5MyxhdHRfZnNyOjc5NSxhdHRfcG5hOjc5NCxhdHRfczoyMTMsYXR0X3diOjIxNCxhd2ZsX2Y6NTU3LGF3Zmxfczo1NTgsYmFzZV9qc19yOjQ0MSxiY3A6MjE1LGJmOjIxNixiZ19lOjIxNyxiZ19pOjIxOCxiZ19sOjIyMCxiZ19zOjIyMSxiZ192OjIxOSxicGRfYzo0ODQsYnBkX3M6NDgzLGJwdDoyMjMsYnJfZTozNyxicl9sZDozOCxicl9scnByOjM5LGJyX2xycjo0MCxicl9sd206NTc3LGJyX3I6NDEsYnJfczo0MixicmVyOjM1LGJyZXM6MzYsYnJucjo0MywKYnJuczo0NCxicnBlOjQ1LGJycHM6NDYsYnJyX2U6NDcsYnJyX2k6NDgsYnJyX2l1czo0OSxiczoyMjIsY19jOjUwLGNfY3M6NTEsY19jc2ZzOjUyLGNfZDo1MyxjX2xhZjo1OSxjX2xhczo1OCxjX3JuZjo0MzgsY19ybnM6NDM3LGNjOjQ2NyxjY19jOjU0LGNjX2NmOjU2LGNjX2NzYWxhOjU1LGNjX2xhOjU3LGNmZzoyMjQsY2hsczoyMjUsY2hwczoyMjYsY2w6NDgwLGNtYzoyMjcsY21kX2g6NjI5LGNtaGw6MjI5LGNtaToyMjgsY21sOjIzMCxjbXA6Nzc5LGNtdjoyMzEsY3B0OjIzMixjcjozNjQsY3JfZXJyOjY2OSxjcl9yOjY3MCxjcl9zOjY2OCxjc2w6MjMzLGNzcl90OjYzMSxjdDo1LGN0X2xpOjYwLGRfbDo2MSxkX2xhZjo2MixkX2xhcjo2MyxkX2xhczo2NCxkX2xmOjY1LGRfbHM6NjYsZF9sdzo2NyxkX2x3Zjo2OCxkX2x3czo2OSxkYXNfYzozNjYsZGFzX3M6MzY1LGRjcDoyMzQsZGdfcGJfYzoyMzYsZGdfcGJfcjoyMzcsZGdfcGJfczoyMzUsZGhpYzoyMzgsZGw6MjM5LGRuc186MjQwLApkcm1fZ2tfZjozODgsZHJtX2drX3M6Mzg3LGRybV9rcl9yOjM5Mixkcm1fa3JfczozOTEsZHJtX25ldF9yOjM5MCxkcm1fbmV0X3M6Mzg5LGRybV9wYl9mOjM4Nixkcm1fcGJfczozODUsZHNfYWM6NzM2LGRzX2FzOjczNSxkc19jbGM6NzQwLGRzX2NzOjczNyxkc19kYzo3MzksZHNfZHM6NzM4LGVtcGE6NDMyLGVtcHU6NDMxLGVucF9lcnI6Njg1LGVucF9maTo2ODQsZW5wX3N0OjY4Myxlb3ByX3I6NjczLGVwX2FfcHJfcjo1MzIsZXBfYV9wcl9zOjUzMSxlcF9oYXZfZW5kOjUyNixlcF9oYXZfc3RhcnQ6NTI1LGVwX2luaXRfYXI6Njk5LGVwX2luaXRfY3VlOjYzNSxlcF9pbml0X2N1czo2MzQsZXBfaW5pdF9lcGU6NjM3LGVwX2luaXRfZXBzOjYzNixlcF9pbml0X2lqZTo2MzksZXBfaW5pdF9panM6NjM4LGVwX2luaXRfcHI6NTI3LGVwX2luaXRfcmU6NjQxLGVwX2luaXRfcnM6NjQwLGVwX2luaXRfd2VlOjY0MyxlcF9pbml0X3dlczo2NDIsZXBfbWFfcmVwcjo1NDMsZXBfbWFfcnI6NTMzLAplcF9tYV9zZXByOjU0MixlcF9tYV9zcHI6NTM0LGVwX3BfbDo1MzAsZXBfcHJfcjo1MjksZXBfcHJfczo1MjgsZXBfcl9wcmVfcjo1NDEsZXBfcl9ycjo1MzUsZXBfcl9zbWFyOjUzNixlcF9yZWNfZW5kOjUzOCxlcF9yZWNfc3RhcnQ6NTM3LGVwX3JlcHNfZW5kOjU0MCxlcF9yZXBzX3N0YXJ0OjUzOSxlcGU6NjE4LGVwczo2MTcsZXJfY2w6NjUzLGVyX25zOjY1Mixlcl9wZTo2NTAsZXJfcHM6NjQ5LGVyX3M6NjQ4LGVyX3NfbnI6NzkwLGVyX3NfbnM6Nzg0LGVyX3Q6NjUxLGZhYl9yOjI0NixmY2Jfcjo1MDYsZmlyZTo3MCxmaXJzOjcxLGZtdGg6MjQxLGZvb3RfanM6MjQyLGZwdDoyNDMsZnJfczo1NjEsZnM6MjQ0LGZzYzoyNDUsZnNzYjBfYTo3NSxmc3NiMF9mcjo3NCxmc3NiMF9ucjo3Myxmc3NiMF9uczo3MixmdF86NDM5LGZ0bDo3LGZ0cjo0NzUsZnZiX3I6MjQ3LGZ2ZjoyNDgsZnlkX2dmOjc2NyxmeWRfZ3M6NzY2LGdjYzoyNDksZ2NmbDoyNTAsZ2Nzcjo3NixnZXBfZXJyOjgwMCwKZ2VwX3JlcTo3OTgsZ2VwX3Jlczo3OTksZ2dzcjo3NyxnaXdhX2E6NjI3LGdpd2FfZDo2MjgsZ2xjOjU5MyxnbGU6MjUxLGdsczoyNTIsZ3BlOjI1MyxncmM6MjU0LGdyaXdfbnI6Nzg2LGdyaXdfbnM6Nzg1LGdzX3I6NzM0LGdzX3M6NzMzLGdzbWQ6NTg2LGd1X3I6NjIwLGd2OjQ4NSxnd19haWVyOjc3MSxnd19hcmY6NzcyLGd3X2FybmFmOjc3NSxnd19hcm5uYWY6Nzc2LGd3X2FybnM6Nzc3LGd3X2FybnN1Ojc3OCxnd19hcnM6Nzc0LGd3X2Fyc3U6NzczLGd3X21hYWY6NjMzLGd3X21hYXM6NjMyLGhiZmc6Njc3LGhnY3I6MjU1LGhyOjI1NixocmU6MzYzLGhyczozNjIsaHM6MzczLGh0bWxfZmJfcjo3NTUsaHRtbF9mZTo3NDgsaHRtbF9mczo3NDcsaHRtbF9md2U6NzUyLGh0bWxfZndzOjc1MSxodG1sX2pjZTo3NTQsaHRtbF9qY3M6NzUzLGh0bWxfbGJfcjo3NTYsaHRtbF9zZTo3NTAsaHRtbF9zczo3NDksaV9ycDo0NzcsaV9ycTo0NzYsaXBfczo2NDYsaXBjOjI1NyxpcHM6MjU4LAppc21wX2E6ODM2LGlzbXBfYzo4MzgsaXNtcF9kOjgzOSxpc21wX2k6ODM1LGlzbXBfcDo4NDAsaXNtcF9yYzo4MzcsaXRfZ3A6NzgsaXZfczo1MDUsanNwOjI1OSxqc3I6MjYwLGtZVExhdGVuY3lNREVQcm9kdWN0U3RpY2tlckVkaXRvckNhbmNlbGxlZDo4MDEsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yRmluaXNoZWQ6ODAyLGwyczoyNjEsbGNfZnJyOjY2MCxsY19zX3M6NjU5LGxjX3NfdTo2NTgsbGNwOjI2MixsZF9zOjQ0MCxsaW06MjYzLGxwY2Y6MjY0LGxwY3M6MjY1LGxwczoyNjYsbHNfYzozNjgsbHNfczozNjcsbHNzOjI2NyxsdjoyNjgsbWFfY2w6NTUxLG1hX2Zmcjo1NTIsbWFfZnVhOjU1NCxtYV9ncjo1NTMsbWFfaWw6NTczLG1haW46NzksbWFpbl9qc19yOjQ0MixtYWluX2pzX3JxOjQ0MyxtYl9zOjUwNyxtYmFwX2M6Mzg0LG1iY19hbGM6NzMyLG1iY19hc2w6NzMxLG1iY19jOjM3NSxtYmNfczozNzQsbWJnY2hpZF9ycjo3NDQsbWJnY2hpZF9yczo3NDYsCm1iZ3JfcmY6NjU3LG1iZ3JfcnI6Mzc5LG1iZ3JfcnM6Mzc4LG1ibGNfYzozNzcsbWJsY19zOjM3NixtYmxjaGlkX2M6NzQ1LG1ibGNoaWRfczo3NDMsbWJsY3JpZF9jOjc0MixtYmxjcmlkX3M6NzQxLG1ic19jOjM4MSxtYnNfcnI6MzgzLG1ic19yczozODIsbWJzX3M6MzgwLG1keF9jY3A6ODAsbWR4X2Njczo4MSxtZHhfY2NzdDo4MixtZHhfY3I6ODMsbWR4X2NzOjg0LG1keF9sczo4NSxtZHhfb2ZmOjg2LG1keF9zYzo4NyxtZV9iOjU1NSxtZV9jOjY4NyxtZV9mOjU1NixtZV9mYTo2ODgsbWVzdl9zOjUwOSxtbV9pZTo3MjAsbW1faXM6NzE5LG1yYzoyNjksbXJzOjI3MCxtc2E6MjcxLG1zdGk6ODgsbXN0cjo4OSxuX2N0OjcwMixuX3NyOjY5NyxuX3N3OjY5OCwibmNbMC05XSI6MjcyLG5jbDoyNzMsbmN0OjI3NCxuZDoyNzUsbmRuc2U6Mjc2LG5kbnNzOjI3NywibnBbMC05XSI6Mjc4LG5yOjI3OSxucmU6MjgwLG5yZXFzOjI4MSxucmVzZToyODIsbnJlc3M6MjgzLG5ycnBzOjkwLApucnM6Mjg0LG5zdGNwczoyODUsbnRjcGU6Mjg2LG50Y3BzOjI4Nyxud3A6Mjg4LG9hZDJzOjQyNSxvYWZzX3I6NDA3LG9hZnNfcnA6NDA5LG9haXNyOjQwNSxvYXIyczo0MTIsb2FycDJzOjQyNyxvY3NpX3o6OTEsb2N0azo2MjEsb2N0cDo2MjIsb2ZhcnA6NDIzLG9mZG86NDAwLG9mZG9zOjM5OCxvZnI6NDE3LG9mdnJwOjQyNCxvZ3NmX2M6Mzk1LG9nc2ZfczozOTQsb2hyX3I6NzY1LG9ocl9zOjc2NCxvbDo2LG9sX2k6OCxvbG9jX2U6ODMwLG9sb2Nfc2E6ODI5LG9sb2Nfc3M6ODI4LG9tZF9jOjQyMixvbWRfczo0MjEsb21wX2M6NDE5LG9tcF9yOjQxOCxvcGZjOjY4MCxvcHJfcjo0MTQsb3ByZF9zOjQxNSxvcHJnejJfZTo4NDIsb3ByZ3oyX2Y6ODQzLG9wcmd6Ml9zOjg0MSxvcHJnel9zOjY4OSxvcHJyOjQxNixvcjEwMGs6NDExLG9yX2ZlOjQyOSxvcl9mczo0MzAsb3JfaTozOTMsb3JfcDozOTcsb3JjaF9yX2Q6Njk0LG9yY2hfcl9zOjY5NSxvcmNoX3RfcG1kOjc3MCxvcmNoX3RfcG1zOjc2OSwKb3JjaF90X3RjZWQ6NzA4LG9yY2hfdF90Y2VzOjcwNSxvcmNoX3RfdGQ6NjkyLG9yY2hfdF90bWQ6ODA0LG9yY2hfdF90bXM6ODAzLG9yY2hfdF91ZDo2OTMsb3JjaF90X3VzOjY5NixvcmZiOjQwNCxvcmhfcjo0MDMsb3Jtazo0MjAsb3JxcGJfYTo4MzEsb3JxcGJfZTo4MzQsb3JxcGJfczo4MzIsb3JxcGJfdzo4MzMsb3Nkbzo0MDEsb3Nkb2Y6NDAyLG9zZG9zOjM5OSxvc29yOjM5NixvdmQyczo0MjYsb3Zmc19yOjQwOCxvdmZzX3JwOjQxMCxvdmlzcjo0MDYsb3ZyMnM6NDEzLG92cnAyczo0MjgscGFjOjI4OSxwYXJpOjUxNyxwYXQ6MjkwLHBiMF9zOjYxMSxwYl9ycV9hdXRoejo0NDYscGJfcnFfY3R0X2NmbTo0NDcscGJjX2U6NjYzLHBiY19zOjY2MixwYmZfYzo5MixwYnA6NDg2LHBicmVzdW1lOjI5MixwYnM6NDg3LHBidToyOTMscGM6NDg4LHBjYzo1NDYscGNlOjU0NyxwY3E6NTQ0LHBjcjo1NDUscGN1X2FwOjgwOSxwY3VfY2U6NTgxLHBjdV9jczo1ODAscGN1X3JlOjgwOCxwY3VfcnM6ODA3LApwY3Vfczo4MDUscGN1X3NlOjgwNixwZGE6Mjk0LHBkYzoyOTUscGRyOjI5NixwZToyOTcscGVtX3I6NDQ0LHBlbV9ycTo0NDUscGZqZTozMDkscGZycjozMDUscGZyczozMDYscGZzOjMwNyxwZnQ6MzA4LHBmdF9pOjkzLHBsX2M6MjkxLHBsX2k6NDg5LHBsX2ludDo0OTAscGxfcjo0OTEscGxfcmM6NzAzLHBsX3M6NDkyLHBsX3NzOjQ5MyxwbGV2OjMxMCxwbGpzX3I6NDQ4LHBsanNfcnE6NDQ5LHBsdnM6NzIzLHBvdF9hZjo5Nyxwb3RfYXM6OTYscG90X2NtZTo1NjkscG90X2NtZjoyOTkscG90X2NtczoyOTgscG90X2NzbWU6NTcwLHBvdF9jc21mOjMwMSxwb3RfY3NtczozMDAscG90X2lmOjMwNCxwb3RfaW5pdGY6OTUscG90X2lzYzozMDIscG90X2lzdDozMDMscG90X3NlOjU2NSxwb3Rfc2Y6NTY0LHBvdF9zczo1NjMscG90X3hlOjU2OCxwb3RfeGY6NTY3LHBvdF94czo1NjYscG90cGU6OTQscHB1Ojk4LHByb2Nfazo2MTMscHJvY19rX2w6NjE0LHBzOjMxMSxwc19iczo2NDcscHNfYzo0OTQsCnBzX2VzOjk5LHBzX3BhOjY4MSxwc19waWhmOjU5Nyxwc19waWhzOjU5Nixwc19yOjM2MCxwc19zOjM2MSxwc19zZ2Y6NTk1LHBzX3Nnczo1OTQscHNucjo0OTUscHNuczo0OTYscHNwZToxMDAscHNwczoxMDEscHRfbWU6ODE1LHB0X21mOjgxNCxwdF9tczo4MTMscHRfcGllOjgxMixwdF9waWY6ODExLHB0X3Bpczo4MTAscHRfcGlzaDo2MDYscHZyaTo1MTgscHdjOjMxMixxb2VzOjMxMyxyX2Nfc2xkOjQ1MCxyX2Nfc3JxOjQ1MSxyX2Nvbm5lY3RfYmFja2VuZDo0NTIscl9jb25uZWN0X2JhY2tlbmRfc3VjY2Vzczo0NTMscl9jb25uZWN0ZWQ6NDU0LHJfY29uc3RydWN0aW9uOjQ1NSxyX2Rpc2Nvbm5lY3RlZDo0NTYscl9lYmk6NjY0LHJfZW9kOjU4NSxyX2Y6NDU3LHJfb3I6NzEzLHJfcGw6MTA1LHJfcHM6MTA2LHJfcnFfcGx5OjQ1OCxyX3NfcGx5bHN0OjQ1OSxyX3NfdmlkOjQ2MCxyX3N0YXR1c191cGRhdGU6NDYxLHJfdHI6MTA3LHJfdnRjOjEwNCxyX3dpcGJjOjU4NCxyX3ducjo3OTIsCnJfd25zOjc5MSxyX3dycjoxMDMscl93cnM6MTAyLHJfd3NycDo2MDkscl93c3JyOjYwOCxyX3dzcnM6NjA3LHJjdl86MzE0LHJlbW92ZV9zcGxhc2g6NDYyLHJlcV86MzE1LHJmZzozMTYscmdyX25yZjo2MDAscmdyX3M6NTk5LHJwZTo4MTYscnBseV9ycWQ6NDYzLHJwczo4MTcscnNfczo1MDgscnNhZV9wYzozMzIscnNhZV9wZWo6MzM0LHJzYWVfcGo6MzMzLHJzYmVfcGM6MzIzLHJzYmVfcGVqOjMyNSxyc2JlX3BqOjMyNCxyc2VfcGM6MzIwLHJzZV9wZWo6MzIyLHJzZV9wajozMjEscnNlZl9wYzozMjkscnNlZl9wZWo6MzMxLHJzZWZfcGo6MzMwLHJzZXNfcGM6MzI2LHJzZXNfcGVqOjMyOCxyc2VzX3BqOjMyNyxyc2ZfcGM6MzE3LHJzZl9wZWo6MzE5LHJzZl9wajozMTgscnRpbWVfOjMzNSxydXJsX2U6MTA4LHJ1cmxfcjoxMDkscnVybF9zOjExMCxydXJscGU6MTExLHJ1cmxwczoxMTIsczN0X3I6NDcyLHNhX2Y6NjI0LHNhX2ZvOjYyNSxzYV9zOjYyMyxzYWZfZnA6NjY1LHNhZl9yOjY2NiwKc2FmX3JlOjY2NyxzYXNfaTo2MjYsc2NnYXRfZmZzOjU2MCxzY2dhdF9mczo1NTksc2RhX2Y6NjA1LHNkYV9pOjYwNCxzZGFfcmVjcDo2MDEsc2RhX3JzcHA6NjAzLHNkYV9yc3ByOjYwMixzZGxfZTo2NTUsc2RsX3M6NjU0LHNkbF90OjY1NixzZl9pOjExMyxzZ3NjX3I6NzgxLHNnc2Nfczo3ODAsc2hvd19jYWxsX3RvX2Nhc3Q6NDY0LHNocmJfYzoxNjUsc2hyb19jOjE3MCxzaHJvX3I6MTY3LHNocnBfYzoxNjksc2hycF9sZDoxNjYsc2hycF9wOjE2OCxzb19yOjExOSxzb19yZToxMTgsc29fcnE6MTIwLHNwYToxMTQsc3BkOjExNSxzcGY6MTE2LHNwbnJfaDo2NzIsc3Bucl9zOjY3MSxzcHI6Njc4LHNyX2U6MTE3LHNyX3A6MTIxLHNyX3BhOjEyMixzcl9yOjEyMyxzcl9yZToxMjQsc3JfczoxMjUsc3JfdWk6MTI2LHNydDozMzYsc3Nfcjo0Njksc3Nfczo0Njgsc3Nfc2Zfczo3MjQsc3Nfc2Zfdzo3MjUsc3NucjoxMjcsc3NuczoxMjgsc3RjcF86MzM3LHN0ZV9hbGY6NTg5LHN0ZV9jOjU5MiwKc3RlX2VsZjo1OTAsc3RlX2Y6NTkxLHN0ZV9mdGw6NTg4LHN0ZV9sOjU4NyxzdHRzX2I6NTgyLHN0dHNfZjo1ODMsc3R2c19mOjY5MSxzdHZzX3M6NjkwLHN2ZTo0NjYsc3ZzOjQ2NSxzd19mYjo1MTAsc3dfaTo3ODMsc3dfcjo0OTcsc3dfczo0OTgsc3dzbnI6ODE5LHN3c25zOjgxOCxzd3NwZTo4MjEsc3dzcHM6ODIwLHRjcF86MzM4LHRlbnhfbDo0NzEsdGVueF9yOjQ3MCx0aDBfaDo2MTAsdGgwX25jOjY3NSx0aDBfbmU6Njc2LHRoMF9ucjoxMjksdGgwX25zOjY3NCx0aF9jXzE6NzA5LHRoX2RfMTo3MTAsdGhfbF8xOjEzMCx0aF9zXzE6NTc4LHRoc2IwX2ZyOjEzNCx0aHNiMF9uZToxMzEsdGhzYjBfbnI6MTMyLHRoc2IwX25zOjEzMyx0dGM6MzM5LHR0Y3I6MzQwLHVpX2w6MTM1LHVpYmZfYzoxNDEsdWliZl9yOjE0Myx1aWJmX3M6MTQyLHVpc2ZfcjoxNDQsdWl3d2FfYmM6NjE5LHVpd3dhX2M6MTM2LHVpd3dhX2U6MTQwLHVpd3dhX3ByOjEzOSx1aXd3YV9yOjEzOCx1aXd3YV9zOjEzNywKdWxyc19jOjM3MCx1bHJzX3M6MzY5LHVua25vd246MCx1cjozNDEsdmM6NjgyLHZjYzo1MTksdmNpOjUyMCx2ZGE6MzQyLHZkZXVjOjM0Myx2ZGV1cjozNDQsdmRldXM6MzQ1LHZkbnM6MzQ2LHZmYjo1MjEsdmZwOjM0Nyx2aGI6NTIyLHZpcjozNDgsdmlyYzozNDksdmlzX2E6NTAwLHZpc19yOjQ5OSx2aXNmOjE0NSx2aXNpOjE0Nix2aXNyOjE0Nyx2aXNzOjE0OCx2b3pfY3g6MTc5LHZvel9lb3U6MTg3LHZvel9lcnI6MTg0LHZvel9lcnJfbXM6MTgwLHZvel9lcnJfbm1wOjE4MSx2b3pfZXJyX29mZjoxODMsdm96X2Vycl91YXI6MTgyLHZvel9mdHI6MTg4LHZvel9mdmM6MTg5LHZvel9scl9sc286MTg1LHZvel9scl9tZDoxODYsdm96X21mOjE3Mix2b3pfbXM6MTcxLHZvel9ycWY6MTc0LHZvel9ycXM6MTczLHZvel9zZjoxNzgsdm96X3NzOjE3Nyx2b3pfdnA6MTc1LHZvel92dDoxNzYsdnBsOjM1MCx2cjozNTEsdnIxMDBrOjE0OSx2cmJfZjo1MDEsdnJjOjM1Mix2cmVxOjM1Myx2cmZiOjE1MCwKdnJpOjksdnJyOjM1NCx2cnJfcjo0NzQsdnJyX3M6NDczLHZycmg6MTUxLHZzaXNmYjoxNTIsdnNpc3I6MTUzLHZzaXNyaDoxNTQsdnNpc3M6MTU1LHZ0YTozNTUsdnRycjo1MjMsdnRyczo1MjQsd19zdDoxNTYsd2FzbV9mYTo4MjYsd2FzbV9mZXJyOjgyNyx3YXNtX2Z3OjgyNSx3YXNtX3M6ODI0LHdjOjM3Mix3Y3I6MzU2LHdlYmZlX2U6NzI4LHdlYmZlX2dibV9yOjc1OCx3ZWJmZV9nYm1fczo3NTcsd2ViZmVfZ2xfcjo3NjIsd2ViZmVfZ2xfczo3NjEsd2ViZmVfZ3Nfcjo3NjAsd2ViZmVfZ3Nfczo3NTksd2ViZmVfZ3VzX3I6NzMwLHdlYmZlX2d1c19zOjcyOSx3ZWJmZV9ndm1fczo3NjMsd2ViZmVfczo3Mjcsd2ZmZTozNTcsd2ZmczozNTgsd2ZnOjM1OSx3bl9lOjE2Mix3bl9sOjM3MSx3bl9yOjE1OSx3bl9ycDo0Nzgsd25fczoxNjAsd25fc2w6MTYxLHdubDoxNTgsd25sX2Q6ODIzLHdubF9tcDo1NzEsd25sX3BkOjgyMix3bmxyOjU3Mix3bmxzOjE1Nyx3bnBlOjE2Myx3bnBzOjE2NCwKd3A6NDc5LHdzX2NlOjE5MCx3c19zczoxOTEsd3Nfc3NyOjE5Mix5Y2VjOjU0OSx5Y2VmOjU0OCx5Y2Z0cjo2NDUseWNpZjo1NTAseWNtc2Y6NjQ0LHljcmM6NzE4LHljcmY6NzE3LHljcnM6NzE0LHljcnNjOjcxNSx5Y3J1ZWE6NzE2fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsXy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fSk7dmFyIGJxPV8udS55dExvZ2dpbmdMYXRlbmN5VXNhZ2VTdGF0c198fHt9O18ucmEoInl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzXyIsYnEpOwp2YXIgJHA9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9MH10aWNrKGEsYixjLGQpe2NxKHRoaXMsYHRpY2tfJHthfV8ke2J9YCl8fChjPXt0aW1lc3RhbXA6YyxjdHRBdXRoSW5mbzpkfSxiPXt0aWNrTmFtZTphLGNsaWVudEFjdGlvbk5vbmNlOmJ9LF8ueCgieW91dHViZV93ZWJfY3NpX3RpY2tzX21pZ3JhdGlvbiIpJiYoYT1ac1thXSxhIT09dm9pZCAwJiYoYi50aWNrPWEsZGVsZXRlIGIudGlja05hbWUpKSxfLkVwKCJsYXRlbmN5QWN0aW9uVGlja2VkIixiLGMpKX1pbmZvKGEsYixjKXt2YXIgZD1PYmplY3Qua2V5cyhhKS5qb2luKCIiKTtjcSh0aGlzLGBpbmZvXyR7ZH1fJHtifWApfHwoYT1PYmplY3QuYXNzaWduKHt9LGEpLGEuY2xpZW50QWN0aW9uTm9uY2U9YixfLkVwKCJsYXRlbmN5QWN0aW9uSW5mbyIsYSx7Y3R0QXV0aEluZm86Y30pKX1qc3BiSW5mbygpe31zcGFuKGEsYixjLGQpe3ZhciBlPU9iamVjdC5rZXlzKGEpLmpvaW4oIiIpO2lmKGR8fCFjcSh0aGlzLGBzcGFuXyR7ZX1fJHtifWApKWEuY2xpZW50QWN0aW9uTm9uY2U9CmIsXy5FcCgibGF0ZW5jeUFjdGlvblNwYW4iLGEse2N0dEF1dGhJbmZvOmN9KX19O3ZhciAkcyxhdDskcz13aW5kb3c7YXQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnRpbWluZz17fTt0aGlzLmNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1zQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9O3RoaXMub0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fX19O18uc3E9JHMucGVyZm9ybWFuY2V8fCRzLm1velBlcmZvcm1hbmNlfHwkcy5tc1BlcmZvcm1hbmNlfHwkcy53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IGF0O3ZhciBscT1fLkZuKCk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Um9vdFZlVHlwZSIsXy5ncSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3VycmVudENzbiIsXy5pcSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3R0QXV0aEluZm8iLF8ua3EpO18ucmEoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLF8ubXEpO3ZhciB3cSxycTt3cT0hMTtycT0hMTtfLmJ0PSgwLF8uQ2EpKF8uc3EuY2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3Eud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubW96Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubXNDbGVhclJlc291cmNlVGltaW5nc3x8Xy5zcS5vQ2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uZ2QsXy5zcSk7dmFyIGR0OwpfLmN0PV8uVmkoZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7aWYoIV8ueCgid2ViX2NzaV9hY3Rpb25fc2FtcGxpbmdfZW5hYmxlZCIpfHwhXy5rbyhmKS5hY3Rpb25EaXNhYmxlZCl7dmFyIGs9aD8uc3BhblN0YXR1cyxsPWg/LnJvb3RTcGFuTm9uY2U7bGV0IG09Xy5ubyhmKTttLmdlbFNwYW5zP20uZ2VsU3BhbnNbYV09ITA6bS5nZWxTcGFucz17W2FdOiEwfTtYcysrO2E9e3NwYW5OYW1lOmEsc3Bhbkxlbmd0aFVzZWM6U3RyaW5nKE1hdGgucm91bmQoYioxRTMpKSxzcGFuTm9uY2U6WHMscm9vdFNwYW5Ob25jZTpsfHxYc307ayYmKGEuc3BhblN0YXR1cz1rKTtkJiYoYS5zcGFuSW5mbz1kKTtlJiYoYS5wYXJlbnRTcGFuTm9uY2U9ZSk7YyYmKGEuc3BhblN0YXJ0VGltZVVzZWM9U3RyaW5nKE1hdGgucm91bmQoYyoxRTMpKSk7Yz1hO18udW8oZnx8IiIpLnNwYW5bU3RyaW5nKGMuc3Bhbk5hbWUpXT1jO2Q9Xy5ubyhmKTtkLmdlbFNwYW5zfHwoZC5nZWxTcGFucz17fSk7Xy55bihkLmdlbFNwYW5zLGMpOwpkPV8ucG8oZik7Zj1fLmtvKGYpLmN0dEF1dGhJbmZvO2FxKCkuc3BhbihjLGQsZixoPy5xdSk7cmV0dXJuIGMuc3Bhbk5vbmNlfX0pO2R0PXdpbmRvdztkdC55dGNzaSYmKGR0Lnl0Y3NpLmluZm9HZWw9Xy56cSxkdC55dGNzaS50aWNrPV8uQXEpO3ZhciBldDtldD1uZXcgXy5jcztfLmZ0PWV0LnByb21pc2U7KGZ1bmN0aW9uKGEpe18uQXEoIm1tX2lzIik7dmFyIGI9bmV3ICRyO18uVWQoYik7Xy54KCJ3ZWJfZW5hYmxlX2xhenlfY3NzIikmJihuZXcgUHIpLmluaXQoKTtiLmVuKCgpPT57ZmgoKTtfLkFxKCJtbV9pZSIpO2E/LigpfSk7Yi5abihRZy5FUlJPUiwoYyxkLGUpPT57Xy5VaShFcnJvcigiSGFgIitkKyJgIitlKSl9KX0pKCgpPT57ZXQucmVzb2x2ZSgpfSk7Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZT1mdW5jdGlvbihhLGIpe2lmKCFfLlFkKXtpZighXy5UZClyZXR1cm47Xy5VZChfLlRkKCkpfV8uUWQuVGgoYSxiKX07Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZSgncm9vdC9zeTAvbjczcXdmOjEvc3kxL3N5MjozL2l1VDVPYzo0L3N5My9VVUpxVmU6MSw2L3N5NS9zeTQ6OC9NcEp3WmM6MSw2LDkvc3k2L3N5Nzo4L3N5ODpjL3N5Yy9zeWc6YixlL3N5aDpmL3N5YS9zeTFmL3N5M2M6aS9zeTNxOmkvc3k1YS9zeTU2L3N5NTgvc3k1YjpqLGssbCxtLG4vc3k1OTpqLG0sbi9zeTNkL3N5OTozLGMsZyxoL3N5ay9zeTU3L3N5YjpzL3N5ZDo4LGUvc3k1YzpqLGwsbSxuL3N5NWU6ayxxLHcvc3llL3N5Zi9zeWkvc3lqL3N5bC9zeW0vc3kxaC9zeTFlL3N5MWw6MTUvc3kzODoxNCwxNi9zeXA6MSw5LGMvc3l1OmMvc3lzOmQsMTgsMTkvc3kxaS9zeTJkL3N5Mms6MWEvc3kyajoxZC9zeTJ3OjFhL3N5MTkvc3kxcC9zeTIxL3N5Mm0vc3kybjoxai9zeTFiL3N5MXovc3kydS9zeTFrOmMsdiwxaCwxaSwxaywxbCwxbSwxbi9zeTJsL3N5MXU6MWcsMW4vc3kzMS9zeXY6Yy9zeTEwOjE4L3N5ejoxdC9zeXk6MWEvc3kzNjpjL3N5M2Y6Yy9zeTFtOmIsMWYsMXEsMXIsMXMsMXUsMXYsMXcsMXgvc3kyci9zeTNlL3N5M2E6aC9zeTEyOjFhL3N5M2c6MXUvc3kzaDoxOS9zeTFxOmcsaixxLDFvLDFwLDF5LDF6LDIwLDIxLDIyLDIzLDI0L3N5M2k6MXovc3kzbToxZS9zeTQzOjFlL3N5NDQ6MWUvc3k0ZjoxZS9zeTQ3OjFlL3N5NGc6MWUvc3k0aC9zeTRpOjE5L3N5eDoxYS9zeXQ6MWEvc3lyOjJnL3N5MTg6MWQsMXMsMmYsMmgvc3kyby9zeTMyL3N5M2I6MTksMW8sMXUvc3l3OjE4L3N5MTc6MjEsMm0vc3kzay9zeTFuOjFvLDFzLDJoLDJuLDJvL3N5M2o6MXcsMmssMmwsMnAvc3kxdi9zeTF5L3N5MnM6MTYvc3kyei9zeTFkL3N5M3Q6MTkvc3k0ajpqLGsscSwxZiwxdSwxdywxeCwyaywydi9zeTRkOmMsMWIvc3k0azoxOCwxcy9zeTQxOmMvc3k0MjoxOSwzMC9zeTJjOjExLDI1LDI2LDI3LDI4LDI5LDJhLDJiLDJjLDJkLDJlLDJpLDJqLDJxLDJyLDJzLDJ0LDJ1LDJ3LDJ4LDJ5LDJ6LDMxL3N5MWo6MTYvc3kyNDozMy9zeTRsOjE5LDMwL3N5MjM6MW8vc3kyNS9zeTJpOjE5LDM3L3N5NDYvc3k0cTozMiwzNiwzOCwzOS9zeW46MTcsMWMsMzQsMzUsM2Evc3kzMy9zeTJ2OjE4L3N5MWE6ayxtLHQsdSwyNSwyZiwybCwzYywzZC9zeTRuL3N5NG86M2Yvc3kzeC9zeTN6L3N5NHA6aixrLDFhLDFzLDF1LDF3LDF4LDNnLDNoLDNpL3N5Mjkvc3kzbDoxZS9zeTFvOjFtL3N5Mmg6M20vc3kxNDoxdCwyMi9zeTJmOmosayxxLDFzLDF3LDF4LDIzLDNvL3N5Mmcvc3kzcy9zeTQwOjFvL3N5M3Ivc3kzdS9zeTN2L3N5MWcvc3kzcC9zeTN3OmIsaiwxYSwxcywxdywxeCwyMywzaCwzdi9zeTN5OjFlL3N5M286MjUsMmksMmwsMncsM2ksM3AsM3IsM3QsM3UsM3csM3gsM3ksM3ovc3kxcjoyaywycywydCwzMSwzbiwzcSwzcyw0MC9zeTRzL3N5MnEvc3kyeS9zeTJ0OjFuLDNkL3N5NHUvc3k0dDoxZS9zeTI3OjFiLDF2LDF3LDNxLDQ2LDQ3L3N5MnA6MWUvc3kzbjoxZS9zeTQ1OjFlL3N5MjYvc3k0ODoxZS9zeTQ5OjFlL3N5NGEvc3k0Yjo0Zi9zeTRjOjNvLDRnL3N5Mjg6MjUsMjYsMjcsMmIsMmksMnAsMncsMnksNGMsNGQsNGUsNGgvc3k0ZToxZS9zeTJhOmssMjgsMnYsMzgsMzksNGEsNGIsNGksNGovc3kxdC9zeTRtOjE2L3N5MmI6MzIsMzUsMzgsMzksM28sNGwsNG0vc3kyZTozayw0MS9zeTIyL3N5MzAvc3k1MjoxOSwxcywyMy9zeTU0OjFhL3N5Mzcvc3kyMDoxaS9zeTM1OjFzLDF1LDF3LDJnL3N5MzQ6aywxbiwxeiwydCwzYyw0dCw0dSw0di9zeTE1OjF1L3N5cTp3LDEwLDNiLDNlLDNqLDNsLDQyLDQzLDQ0LDQ1LDQ4LDQ5LDRrLDRuLDRvLDRwLDRxLDRyLDRzLDR3LDR4L3N5NHcvc3lvOm8scCxyLDR5LDR6L3N5MTE6ZCwxOC9zeTEzOjF1LDIyLDUxL3N5MTY6Mm0vc3kxdy9zeTUxOjFmLDNwLDQ2LDRyLDR2L3N5Mngvc3kxeDo0eSw1NCw1NSw1Ni9zeTR2OmosayxxLDFhLDF3LDIzLDNyLDQ1LDR6L3N5Mzkvc3kxczo0cS9zeTR6OjFlL3N5NWQ6MWUvc3k1MDpqLHEsMXksMjgsMmEsMmIsMmksMmwsM28sNWEsNWIsNWMvc3k0cjoxZS9zeTR4OmssMW4sMXosNHYvc3k0eTpzLDJ1LDNjL3N5NTMvc3k1NToxOCwxcy9zeTFjOjQseCx5LDUwLDUyLDUzLDU3LDU4LDU5LDVkLDVlLDVmLDVnLDVoLDVpL3N5NWYvc3k1Zy9zeTVpL3N5NWsvc3k1bC9zeTVtL3N5NW4vc3k1bzoxOC9zeTVqL3N5NWg6NCx6LDUwLDU4LDVhLDVoLDVtLDVuLDVvLDVwLDVxLDVyLDVzL3N5NXA6NWosNXQvYmFzZTpkLHIsdSx2LHkseiwxMCwxMSwxMiwxMy9zeTVxL3N5NXIvc3k1czpjLGgvc3k1dDoybSwzbiwzbyw0eC9zeTdkL3N5NXU6MWwsMm8sNXIsNjAvc3k3cS9zeTZ0L3N5ODU6MTYvc3k4NDpqLDFyLDF3LDIzLDI4LDJpLDM1LDN0LDUzLDVpLDYzLDY0L3N5NXY6MTMsNTEsNjIsNjUvc3k2Yy9zeTZzOjQxL3N5ODY6MzUsNjQsNjgvc3k3bDpqLGsscSwxZSwxZiwxdSwxdywzbywzdSwzdi9zeTY3L3N5NXc6MzIsMzgsNDUsNXosNjYsNjcsNjksNmEsNmIvc3k1eC9zeTdlOjNkLDNtLDYwL3N5OHM6NmUvc3k5czoxZS9zeTV5OmYsaiwxaywxdywyMiwyMyw1YSw1biw2Ziw2Zy9zeTdyOjE0LDR0L3N5NmI6MnQsMzMvc3k1ejozNSwzZiwzayw0MSw0cCw2aSw2ai9zeTd6OjFlL3N5NjI6aC9zeThuOjFvLDFzL3N5NjA6MWIsMmQsMm4sNDEsNDYsNDcsNmwsNm0sNm4vc3k4bTpqLHEsMWcsMXcsMXgsMjMsNm4vc3k4bzoxNi9zeTc3L3N5Nnc6aiwxciwxdywyOCwyYSwyYywyaSwzayw1Yiw2ci9zeTdpL3N5OGwvc3k2MTp6LDEyLDJwLDJyLDM1LDNkLDQxLDR1LDU5LDVpLDV5LDV6LDYxLDZtLDZwLDZxLDZzLDZ0LDZ1L3N5NjM6MjUsMmksNGUvc3k2NDprLDI1LDI3LDJkLDJpLDJxLDRnL3N5NmQvc3k2OToxbiw0Ziw2Mi9zeTY4OjFlLDZ6L3N5N3Avc3k4YS9zeThjOjFlL3N5NjU6MWIsMjksMnAsM2csNmssNnUsNnksNzAsNzEsNzIsNzMvc3k2ei9zeTY2OjFjLDJrLDJyLDM1LDNzLDQwLDR3LDVmLDVnLDVuLDVvLDV6LDZmLDZqLDc1L3N5N286aixrLDFhLDFxLDF3LDF4LDF6LDNnL3N5Nmsvc3k2YTo1Nyw2eiw3MSw3Nyw3OC9zeThrOjFlL3N5OGY6MWUvc3k2ZToxNSwxdywyaSwzMCwzbyw0OSw0YSw0aiw0eiw3YSw3Yi9zeTZmOjFvLDFzLDF3LDI4LDJhLDJ1LDM1LDNrLDNyLDV6LDZlLDZxLDZyL3N5N2o6YywxaCwxaiwzNy9zeTdrOjFvLDM4LDM5LDZhL3N5Nmc6MWMsM2EsNDQsNGwsNW8sNXAsNjEsNjcsNzgsN2UsN2Yvc3k2aDozZSw0Miw0cSw2Myw2OC9zeTZpOmoscSwxNiwxOCwxdywzNS9zeTZyL3N5Nmo6MjUsMjcsMmksM28sN2UsN2ovc3k2bDoxNywyMywyOCwyaywydCwzMSwzayw1cS9zeThiOjJkL3N5ODA6MmQsN2ovc3k2eToxYiwyNSwyNywyaSwycCw0Yyw2MSw3Myw3bSw3bi9zeTZ4OjJiLDJlLDJ3LDRoLDVoLDcyLDdvL3N5Nm06MmEsNDEsN3Avc3k3eDoxZS9zeTd5OjJpLDdyL3N5OHI6MWIsMWcsMXUsMXcsMnAsM3MsNGMsNmwsN24sN3Mvc3k2bjoyYyw0MSw0dSw1OSw3NSw3byw3dC9zeThoOjFlL3N5Nm86MmksN2UsN3Yvc3k2cDoxaywxeiwzNSwzbyw0bSw0diw1bS9zeTZxOmssMjUsMjgsMmkvc3k2dS9zeTZ2OmosMTgsMXcvc3k3My9zeTcwOjFxLDFzLDF3LDJzLDJ0LDMxLDQ2LDQ3LDVnLDgxL3N5NzEvc3k4OToxZS9zeTcyOmosaywxeSwyaSwzMSwzZywzbyw1Niw1aSw2aSw3ciw4NC9zeTc0OjF3LDI4LDJpLDNyL3N5NzU6aixrLHEsMWEsMXcsM2csM3Qvc3k3NjoyNSwyaSw3My9zeTc4OmoscSwxNiwxbywxdSwxdywyYSwyaSwzNSwzbyw2ci9zeTc5OjJpLDdlLDdmL3N5ODI6MWUvc3k4MzoxZS9zeTdhOjFwLDF4LDIwLDJiLDJqLDJ3LDN4LDRhLDRiLDRkLDVoLDV3LDV5LDY2LDZ0LDcwLDcyLDdhLDd2LDhiLDhjL3N5N2I6NmYsN28sN3osOGMvc3k3YzpxLDFrLDF3LDF4LDJmLDMxLDZkLDZnLDZqL3N5N2Y6NDEsN2wvc3k3Zzo0MS9zeTdoOmosMXksMXovc3k3bToyNSwyNiwyaS9zeTduOmoscSwxOCwxdywxei9zeTdzL3N5N3U6MjAvc3k3dDoyNSwzbyw1aCw4bCw4bS9zeTd2OjFiLDFlLDI1LDJwLDhsL3N5N3c6MW8sNmwsN24sN3Mvc3k4MToyNSwyaSw0aCw4Yiw4Yy9zeTg3OmosMXksMXosMjAsNWgvc3k4ODo3Nyw4NS9zeThkOjExLDJyLDM0LDM1LDQxL3N5OGU6MmksMzgsN2IsN2Uvc3k4ZzoxZSwyNSwydy9zeThpOjFjLDMyLDNvLDdlL3N5OGo6MzgsNDEsN2Uvc3k4cToyNSwyYiwyaSwycCw4Yy9zeThwOjQxLDZ1LDZ6LDdwLDd0LDh5L3N5OHQ6NG8sN2Uvc3k4dToxYiwyNSwyNiw0Mi9zeTh2OjF5L3N5OHg6MWUvc3k4dzpqLHEsMXcsMmksM2csOTMvc3k4eTprLDFiLDI1LDJwLDYxLDgzL3N5OHo6aiwxdywyYSwyaSwzdCw4My9zeTkwOjF3LDJpLDNnLDgxLDkzL3N5OTE6aixxLDFiLDF5LDJlL3N5OTI6aywxYiwxeSwyMywyNiwycCw3ciw3eiw4NCw4Ni9zeTkzOjExLDJvLDJ0LDQwLDhkL3N5OTQ6aixrLHEsMWYsMXYsMXcsMXgsMjMsMnosNjEvc3k5NToyNSw0Miw4bS9zeTk2OmosayxxLDFlLDFvLDF5LDMxLDR1LDU5LDYxL3N5OTc6aixrLDF6LDNvLDR2LDVnL3N5OTg6MXcsMmEsMzUsNG0sNTQsNnIvc3k5OToxdywyNCwyYSwydywzNSwzdywzeCw0bSw1NCw2ci9zeTlhOmosaywxdSwxdywzNi9zeTliOmosayxxLDF5LDIzLDJ6LDN0LDQzLDZ5LDdtL3N5OWM6MjUsMjYsMjcsMmIsN3Qvc3k5ZDo3by9zeTllOjFvLDFzLDF3LDIzLDRzLDZiL3N5OWY6aywyNSw3dC9zeTlnOmssMjUsMzEsM2wsM3IsNHUsNTksNWQvc3k5aDoyNSwyNywyaS9zeTlpOmssMTEsMjUsMjgsMmksM3IsNGYsNXkvc3k5ajpqLGsscSwxeSwybCwyciwzMSw0dSw1OS9zeTlrOjI3LDQxL3N5OWw6MXcsMjgsMmksMzEsM3IsNHUsNTkvc3k5bTprLDI1LDJsLDMxLDR1LDU5L3N5OW46MjUvc3k5bzprLDI1LDJ0LDMxLDM1LDNpLDNvLDN6LDR1LDU5L3N5OXA6MjUsMm8sMzEsNHUsNTkvc3k5cToyNSwyNyw3dCw4Yy9zeTlyOmssMjUsMmYsMmwsM2wsNXMsNmcvc3k5dDoyaSw1Yy9zeTl1OnMsMXMsMXcsMjMsMnUsM2MsNTIsNmQvc3k5djozNSwzayw0MSw2ai9zeTl3OjQwL3N5OXg6aixxLDE4LDF3LDM1LDRtLDU0L2Jhc2Vfc3luY19tb2RfY2h1bms6NXYvcjlLTWpiOjhqL1ZjR1M4OjhrL3pDa0tCYzoyeC9pNlhvbWU6OHYvbk81ZFRkOjd4L090S1NKZTozai9udlg0VmI6M3kvRGx2RjFkOjQxLGFiL2Y5MHRDYjo3bC9WYlhyVWU6OGcsYWMsYWQvcEVTbERiOjhpL0ttQmZjYzo5NS9TVTN1aTo5aS9SYXE0Y2I6OHAvakJpc2FmOjU1L1B6VWRaYjo0OC9xVExkUTo4bi9XcWxjVmI6OG8vUUhBdGVmOjh0LGFjL1VBOEdTZTo4eCxhYy9MVmlNTTo3NixhYi9wZXZ0dmM6OWYvaXpqbVA6OWcvamd4OG1lOmExLGFjL3VobExHYjo2cy9GcUhjR2U6OWIvY3lDVmxkOjRpL29QcDVMZTo4Mi9BNG9BVmU6OTcvT3NtNDljOjg2L1BEdjZNZTo5OSxheS9vc1R0eGU6OHEvcVZEZ0JkOjhyL0hEbVUxZTo3dC9MSFA3SmQ6N28vVHUzTUI6N3AsYjMvRnNvWHpjOjdxLGFjLGI0L2lhaTJpYzo5Mi90UGdZemQ6ODcvYTY2TGZlOjk0L0lXcFVyZjo4OC9kSGNvSWY6OTYvb1hCV0hmOjk4L0lUdUNVYjo2cC9OcjBrZmU6ODUvYWNGdVZjOjhzLGJkL21tMk4wYzo5aC9oYjBXbWY6N2QvaE5lbHZkOmEzL3I1Q09IZjo3aS9aUUt4MToycS9wZTJvamI6MzIsYTcsYmovaGFvdU9lOjg5L2pKZkNvZDphMixhYi93U240YWM6NnYsYWMsYXQsYmMvaGExSWk6OHkvT003eG9iOjh6LGFjLGIyLGI0LGJvL0ZpTkdPYzo2ayxhYy9Xc2lNaWM6Nm8sYWMvVUFNNW06NzQsYnEvRDlXTWQ6NncveTlub09iOjZ4LGJqL1cwZ1NLYjo2OSxhYy9Id2xPaGQ6NjUvaGpyTm46ODAvdkRjazFkOjRuLGJrL0h4amxiYjozYixiay9uMERIZzo3eS9uQnZCeWQ6OWosYjIvZURVRG9jOjlrLGIzL1ZPVVA5ZDo4ZCxidy9iemowamQ6OWEsYWIsYzMvdVJJYUM6OW0sYjIvY2dTRW9iOjljL1hlUlhCZDo5ZC9zNjQ5ajo5cS91U3hkbmI6OXMvV2ZmNkJkOjd1LGFjLGIyLGIzL1UzbXpzZDo5dC95UDBKQmQ6OXUvUnFhSnNkOjl2L0UzSGViYzo5dy9wMXZFU2Q6YTAvQVQ4TFRlOjl5L3NET1RHZTo5bi9lY3VQQWM6NmgvTlFjMUlkOjhmL0ZRZElKZTo5ei9ibFpaWGU6OGgsYWMvZ0FPWXg6NmEvSU5jMUVmOjdnLGJrLGNtL2xQV2prYjo0byxhYy9vakdUNmQ6OHUvZDJMVHhiOjRrLGF2L0haNDFPZDo4dyxiay9lM1V0Vzo4ZSxiMy9hVTFHVGI6OTAsY28vSWJ4eE9lOjkxL3ZpVVdWOjU4L0R2WkM5OjlsL2ZBemRUOjZjLGJrLGJ2LGJ3LGNtL2ZnbEpOYjo4YSxjbS9pbFFTQWY6OW8vVWtadVdiOjlyLGFjL2w4YUtEYjo3ay9jbnE1UWI6OXgsYjIvbjlESkJmOjd3L2ZLRThxZDo3Yy9uN2VvMjo5cC9SWmVrSjo5ZS9RbWtNRTo3aCxhYy9OdWlsdWU6NzksYWEsYWosYWssYnksYnosY28sY3EvbWVIOUViOjUsNXQsYWEsYWssYnksYnosY28sY3EsY3YveUVmTkZiOjVqLGFqLGQ5L3I3OERyYjo1dSxhaixkOScsWydzeTEnLCdzeTUnLCdzeTYnLCdzeTcnLCdzeTgnLCdzeWMnLCdzeWcnLCdzeWgnLCdzeWEnLCdzeTknLCdzeWsnLCdzeWInLCdzeWQnLCdzeWUnLCdzeWYnLCdzeWknLCdzeWonLCdzeWwnLCdzeW0nLCdiYXNlJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUHQsUXQsVnQ7Xy5NdD1mdW5jdGlvbihhKXt2YXIgYj1fLmpmO2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyliLkFhKGFbY10pfTtfLk50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uamYuR2EoYSw0LGIpfTtfLk90PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe2MoYSl9KX07UHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn07UXQ9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsYil9OwpfLlJ0PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/Yj1hLmNsYXNzTGlzdC5jb250YWlucyhiKTooYT1hLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpQdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiPV8uc2IoYSxiKT49MCk7cmV0dXJuIGJ9O18uU3Q9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighXy5SdChhLGIpKXtsZXQgYz1QdChhKTtRdChhLGMrKGMubGVuZ3RoPjA/IiAiK2I6YikpfX07Xy5UdD1mdW5jdGlvbihhLGIpe2EuY2xhc3NMaXN0P2EuY2xhc3NMaXN0LnJlbW92ZShiKTpfLlJ0KGEsYikmJlF0KGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0OlB0KGEpLm1hdGNoKC9cUysvZyl8fFtdLGZ1bmN0aW9uKGMpe3JldHVybiBjIT1ifSkuam9pbigiICIpKX07Cl8uVXQ9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLkNhKShhLmhhbmRsZUV2ZW50LGEpO2Vsc2UgdGhyb3cgRXJyb3IoIk9hIik7cmV0dXJuIE51bWJlcihiKT4yMTQ3NDgzNjQ3Py0xOl8udS5zZXRUaW1lb3V0KGEsYnx8MCl9O1Z0PWZ1bmN0aW9uKGEpe2Euaj1fLlV0KCgpPT57YS5qPW51bGw7YS5vJiYhYS5CJiYoYS5vPSExLFZ0KGEpKX0sYS5JKTt2YXIgYj1hLkQ7YS5EPW51bGw7YS5NLmFwcGx5KG51bGwsYil9O18uV3Q9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO3RoaXMuTT1jIT1udWxsP2EuYmluZChjKTphO3RoaXMuST1iO3RoaXMuRD1udWxsO3RoaXMubz0hMTt0aGlzLkI9MDt0aGlzLmo9bnVsbH12KGEpe3RoaXMuRD1hcmd1bWVudHM7dGhpcy5qfHx0aGlzLkI/dGhpcy5vPSEwOlZ0KHRoaXMpfXN0b3AoKXt0aGlzLmomJihfLnUuY2xlYXJUaW1lb3V0KHRoaXMuaiksdGhpcy5qPW51bGwsdGhpcy5vPSExLHRoaXMuRD1udWxsKX1wYXVzZSgpe3RoaXMuQisrfXJlc3VtZSgpe3RoaXMuQi0tO3RoaXMuQnx8IXRoaXMub3x8dGhpcy5qfHwodGhpcy5vPSExLFZ0KHRoaXMpKX1sYSgpe3N1cGVyLmxhKCk7dGhpcy5zdG9wKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZQoqLwp2YXIgc3UscXUsb3UsdXUsbnUsenUsQXUsRHUsR3UsSHUsSXUsTnUsVHUsVnUsJHUsaXYsbXYscXYscnY7Xy5YdD1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0ic3RyaW5nIj9hOnZvaWQgMH07Xy5ZdD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLGQ9Yy5yZXNvbHZlKF8uSW4oYSkpO2Q/KGIoZCksUHJvbWlzZS5yZXNvbHZlKGQpKTpjLnJlc29sdmUobmV3IF8uVXMoYSkpLnRoZW4oZT0+e2IoZSk7cmV0dXJuIGV9KX07Xy4kdD1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O18uWnQ9YTtyZXR1cm4gYn07Xy5idT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PV8uYXV8fGE/Lm5hbWU9PT0iXHUwMjc1Tm90Rm91bmQifTtfLmN1PWZ1bmN0aW9uKGEsYil7aWYoYT8uaWEpdGhyb3cgRXJyb3IoIlNhYCIrU3RyaW5nKGEuZGVidWdOYW1lKSk7Zm9yKDthIT09dm9pZCAwOyl7bGV0IGM9YTtpZihjLlJoKXJldHVybiBjLlJoKGIse29wdGlvbmFsOiEwfSk7YT1hLnBhcmVudH1yZXR1cm4gXy5hdX07Cl8uZHU9ZnVuY3Rpb24oYSl7cmV0dXJue2Rlc2NyaXB0aW9uOmEsQ2I6e016OiJyb290Iix0b2tlbjpTeW1ib2woYSksS3A6dm9pZCAwLHZhbHVlOnZvaWQgMH19fTtfLmV1PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYSYmYj9gJHthfV9fJHtifWA6YT8/Yj8/Y307Xy5ndT1mdW5jdGlvbihhLGIpe3JldHVybnsuLi5fLmR1KGI/PyIiKSxbXy5mdV06ITAsZGVidWdOYW1lOmI/PyJbY29udGV4dF0iLGRlZmF1bHRWYWx1ZTphPy5kZWZhdWx0VmFsdWUscmVxdWlyZWQ6IWF8fCFPYmplY3QuaGFzT3duKGEsImRlZmF1bHRWYWx1ZSIpLGlkOmIsT0s6dm9pZCAwfX07Xy5odT1mdW5jdGlvbihhLGIpe2I9Xy5jdShiLGEpO2lmKF8uYnUoYikpe2lmKGEucmVxdWlyZWQpdGhyb3cgRXJyb3IoImpiYCIrYS5kZWJ1Z05hbWUpO3JldHVybiBhLmRlZmF1bHRWYWx1ZX1yZXR1cm4gYn07Xy5pdT1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QuaXMoYSxiKX07Cl8ua3U9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5qdTtfLmp1PWE7cmV0dXJuIGJ9O18ucHU9ZnVuY3Rpb24oYSl7aWYobHUpdGhyb3cgRXJyb3IoImgiKTtpZihfLmp1IT09bnVsbCl7Xy5qdS5pcChhKTt2YXIgYj1fLmp1LmtmO2lmKGI9PT12b2lkIDB8fGIuTWghPT1hKXt2YXIgYz12b2lkIDAsZD1fLmp1LmNuO2lmKGQmJihjPWIhPT12b2lkIDA/Yi5yZTpfLmp1LnByb2R1Y2VycyxjIT09dm9pZCAwJiZjLk1oPT09YSkpe18uanUua2Y9YztjLkhxPWEudmVyc2lvbjtjLm9qPV8ubXU7cmV0dXJufXZhciBlPWEuVWc7aWYoZT09PXZvaWQgMHx8ZS5EZiE9PV8uanV8fGQmJmUub2ohPT1fLm11KWQ9bnUoXy5qdSksYz17TWg6YSxEZjpfLmp1LHJlOmMsTWo6dm9pZCAwLG9qOl8ubXUsSHE6YS52ZXJzaW9uLHFlOnZvaWQgMH0sXy5qdS5rZj1jLGIhPT12b2lkIDA/Yi5yZT1jOl8uanUucHJvZHVjZXJzPWMsZCYmb3UoYSxjKX19fTsKXy5ydT1mdW5jdGlvbihhKXtpZighbnUoYSl8fGEuUGIpaWYoYS5QYnx8YS5yaiE9PV8ubXUpKGEuWG0oYSl8fHF1KGEpKSYmYS5ZbShhKSxhLlBiPSExLGEucmo9Xy5tdX07c3U9ZnVuY3Rpb24oYSl7aWYoYS5jb25zdW1lcnMhPT12b2lkIDApe3ZhciBiPWx1O2x1PSEwO3RyeXtmb3IobGV0IGM9YS5jb25zdW1lcnM7YyE9PXZvaWQgMDtjPWMucWUpe2xldCBkPWMuRGY7ZC5QYnx8KGQuUGI9ITAsc3UoZCksZC5ocD8uKGQpKX19ZmluYWxseXtsdT1ifX19O18udHU9ZnVuY3Rpb24oYSl7aWYoYSl7aWYoYS5rZj8ub2o9PT1fLm11KXtsZXQgYj1hLnByb2R1Y2Vycztmb3IoO2IhPT12b2lkIDA7KWIub2o9bnVsbCxiPWIucmV9YS5rZj12b2lkIDA7YS5jbj0hMH1yZXR1cm4gXy5rdShhKX07Cl8udnU9ZnVuY3Rpb24oYSl7YS5jbj0hMTt2YXIgYj1hLmtmLGM9YiE9PXZvaWQgMD9iLnJlOmEucHJvZHVjZXJzO2lmKGMhPT12b2lkIDApe2lmKG51KGEpKXtkbyBjPXV1KGMpO3doaWxlKGMhPT12b2lkIDApfWIhPT12b2lkIDA/Yi5yZT12b2lkIDA6YS5wcm9kdWNlcnM9dm9pZCAwfX07cXU9ZnVuY3Rpb24oYSl7Zm9yKGE9YS5wcm9kdWNlcnM7YSE9PXZvaWQgMDthPWEucmUpe2xldCBiPWEuTWgsYz1hLkhxO2lmKGMhPT1iLnZlcnNpb24pcmV0dXJuITA7Xy5ydShiKTtpZihjIT09Yi52ZXJzaW9uKXJldHVybiEwfXJldHVybiExfTtvdT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWcsZD1udShhKTtjIT09dm9pZCAwPyhiLnFlPWMucWUsYy5xZT1iKTooYi5xZT12b2lkIDAsYS5jb25zdW1lcnM9Yik7Yi5Naj1jO2EuVWc9YjtpZighZClmb3IoYT1hLnByb2R1Y2VyczthIT09dm9pZCAwO2E9YS5yZSlvdShhLk1oLGEpfTsKdXU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NaCxjPWEucmUsZD1hLnFlLGU9YS5NajthLnFlPXZvaWQgMDthLk1qPXZvaWQgMDtkIT09dm9pZCAwP2QuTWo9ZTpiLlVnPWU7aWYoZSE9PXZvaWQgMCllLnFlPWQ7ZWxzZSBpZihiLmNvbnN1bWVycz1kLCFudShiKSlmb3IoYT1iLnByb2R1Y2VyczthIT09dm9pZCAwOylhPXV1KGEpO3JldHVybiBjfTtudT1mdW5jdGlvbihhKXtyZXR1cm4gYS5ncHx8YS5jb25zdW1lcnMhPT12b2lkIDB9O18ud3U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpO307Xy55dT1mdW5jdGlvbihhLGIpe18uanU/LkxlIT09ITF8fF8ud3UoYSk7YS5lcXVhbChhLnZhbHVlLGIpfHwoYS52YWx1ZT1iLGEudmVyc2lvbisrLF8ubXUrKyxzdShhKSx4dT8uKGEpKX07enU9ZnVuY3Rpb24oYSxiKXtiLnptPXZvaWQgMDthLlpqP2EuWmouem09YjphLlVrPWI7YS5aaj1ifTtBdT1mdW5jdGlvbihhLGIpe3p1KGEse1tTeW1ib2wuZGlzcG9zZV06Yn0pfTsKXy5CdT1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O2ImJiFiLmlhJiYoenUoYixhKSxhLnBhcmVudD1iKX07RHU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEuVWs7Yjspe2xldCBjPWIuem07Xy5DdShiKTtiPWN9YS5Vaz12b2lkIDA7YS5aaj12b2lkIDB9O18uQ3U9ZnVuY3Rpb24oYSl7YS5pYXx8KGEuaWE9ITAsYVtTeW1ib2wuZGlzcG9zZV0/LigpLGEucGFyZW50PXZvaWQgMCxEdShhKSl9O18uRnU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy5xcikoYSkmJl8uRXUgaW4gYX07R3U9ZnVuY3Rpb24oYT1fLlp0KXtmb3IoO2E7KXtpZihfLkZ1KGEpKXJldHVybiBhO2E9YS5wYXJlbnQ/P251bGx9cmV0dXJuIG51bGx9O0h1PWZ1bmN0aW9uKGE9Xy5adCl7Zm9yKHZhciBiPVtdO2E7KV8uRnUoYSkmJmIucHVzaChhLmRlYnVnTmFtZSksYT1hLnBhcmVudD8/bnVsbDtyZXR1cm4gYn07Ckl1PWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiZhLm5hbWUhPT12b2lkIDAmJmEubGohPT12b2lkIDAmJmEucGFyZW50IT09dm9pZCAwfTtfLkx1PWZ1bmN0aW9uKCl7dmFyIGE9ey4uLkp1fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhKdSkuZm9yRWFjaChiPT57Xy5LdVtiXSE9PXZvaWQgMCYmKGFbYl09Xy5LdVtiXSl9KTtyZXR1cm4gYX07Xy5SdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5NdTtiJiYoXy5NdT1iKTt0cnl7cmV0dXJuIGM9PW51bGw/YSgpOmEuY2FsbChjKX1jYXRjaChlKXtOdShlLF8uTXUpO2lmKGUhPT1PdSl7Xy5QdT1fLk11O2E9W107Zm9yKGI9Xy5adDtiOylhLnB1c2goYi5kZWJ1Z05hbWU/PyJbY29udGV4dF0iKSxiPWIucGFyZW50Pz9udWxsO18uUXU9YS5yZXZlcnNlKCl9T3U9ZTt0aHJvdyBlO31maW5hbGx5e18uTXU9ZH19OwpOdT1mdW5jdGlvbihhLGIpe3RyeXtsZXQgYz1fLlN1KGIpO2lmKGMmJiFhLk5kPy5jb21wb25lbnRTdGFjayYmKGEuTmQ/YS5OZC5jb21wb25lbnRTdGFja3x8KGEuTmQuY29tcG9uZW50U3RhY2s9Yyk6YS5OZD17Y29tcG9uZW50U3RhY2s6Y30sXy5LdS5Cdikpe2xldCBkPWAke2EubWVzc2FnZX1cblxuQ29tcG9uZW50IHN0YWNrOiAke2N9YDthLnN0YWNrJiYoYS5zdGFjaz1hLnN0YWNrLnJlcGxhY2UoYS5tZXNzYWdlLGQpKTthLm1lc3NhZ2U9ZH19Y2F0Y2h7fX07VHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgNDpjYXNlIDM6cmV0dXJuInNldmVyZSI7Y2FzZSAyOnJldHVybiJ3YXJuaW5nIjtjYXNlIDE6Y2FzZSAwOnJldHVybiJpbmZvIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpfLlV1PWZ1bmN0aW9uKGEsYixjKXtpZihhLk5kKXJldHVybiBhO3RyeXtsZXQgZD0oYT09PU91P18uUHU6bnVsbCk/P18uTXU7TnUoYSxkKTthLk5kPXtjb21wb25lbnRTdGFjazpfLlN1KGQpLGZoOmIsQWw6Xy5MdSgpLHRhZ05hbWU6YyxwcjpfLlF1Py5zbGljZSgpPz9bXX07YS5yZXBvcnRTZXZlcml0eT1UdShiKX1jYXRjaHt9cmV0dXJuIGF9O1Z1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9IiI7YjwyMCYmYTspYys9YCR7YCQkWElEOiR7YS5uYW1lfSQkYH0gPiBgLGE9YS5wYXJlbnQsYisrO3JldHVybiBjLnNsaWNlKDAsLTMpfTtfLlN1PWZ1bmN0aW9uKGEpe3JldHVybiBJdShhKXx8YT09PW51bGw/VnUoYSk6Xy5LdS5GcD8oYT1HdShhKSxIdShhKS5zbGljZSgwLDIwKS5tYXAoYj0+YCQkWElEOiR7Yn0kJGApLmpvaW4oIiA+ICIpKToiIn07Cl8uWXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5adDtpZihiKXt2YXIgYz1fLk11O0F1KGIsKCk9Pnt2YXIgZD1fLmt1KF8uV3U/PyhfLld1PU9iamVjdC5jcmVhdGUoey4uLl8uWHUsTGU6ITB9KSkpO3RyeXtfLlJ1KCgpPT52b2lkIGEoKSxjKX1jYXRjaChlKXt0aHJvdyBfLlV1KGUsNCksZTt9ZmluYWxseXtfLmt1KGQpfX0pfWVsc2UgXy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlhhIiksMik7fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIiRhIiksMik7fSl9OyR1PWZ1bmN0aW9uKGEpe3ZhciBiPSgpPT57Xy5wdShhKTtyZXR1cm4gYS52YWx1ZX07YltfLlp1XT1hO3JldHVybltiLGM9PntfLnl1KGEsYyl9LGM9PntfLmp1Py5MZSE9PSExfHxfLnd1KGEpO18ueXUoYSxjKGEudmFsdWUpKX1dfTsKXy5KPWZ1bmN0aW9uKGEsYixjPSIiKXt2YXIgZD1PYmplY3QuY3JlYXRlKGF2KTtkLnZhbHVlPWE7Yj8uZXF1YWxzIT09dm9pZCAwJiYoZC5lcXVhbD1iLmVxdWFscyk7ZC5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW3NpZ25hbF0iKTtyZXR1cm4gJHUoZCl9O18uZnY9ZnVuY3Rpb24oYSl7aWYoIWEuaWEpc3dpdGNoKGEuZWZmZWN0VHlwZSl7Y2FzZSBidjpfLmN2LnNjaGVkdWxlKGEpO2JyZWFrO2Nhc2UgXy5kdjpldi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5lZmZlY3RUeXBlLHZvaWQgMCl9fTtfLmp2PWZ1bmN0aW9uKCl7aWYoXy5ndj4wKV8uS3UuUmkmJl8uY3YuZmx1c2goKTtlbHNle2ZvcihsZXQgYSBvZiBodilhLmZsdXNoKCk7aXYoKX19O2l2PWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7Zm9yKGxldCBhIG9mIGt2KWEuZmx1c2goKX07Cm12PWZ1bmN0aW9uKGEpe3ZhciBiPWEuaXNGbHVzaGluZzthLmlzRmx1c2hpbmc9ITA7dHJ5e2xldCBjPTA7Zm9yKDtjPGEuWmI7KXtsZXQgZD1hLkRkW2NdO2EuRGRbY109dm9pZCAwO2MrKztpZighZHx8IWQuUGIpY29udGludWU7bGV0IGU9W2RdLGY9ZDtmb3IoO2YucGFyZW50IT09dm9pZCAwOylmPWYucGFyZW50LCgwLF8ubHYpKGYpJiZmLlBiJiZlLnB1c2goZik7Zm9yKDtlLmxlbmd0aD4wOyllLnBvcCgpLnJ1bigpfWEuWmI9MH1maW5hbGx5e2EuaXNGbHVzaGluZz1ifX07Xy5vdj1mdW5jdGlvbihhLGI9Xy5adCl7aWYoYiYmIWIuaWEmJihiPV8uaHUobnYsYiksYj8ucmVwb3J0RXJyb3IpKXtiLnJlcG9ydEVycm9yKGEpO3JldHVybn10aHJvdyBhO307Cl8ucHY9ZnVuY3Rpb24oYSxiLGMpe2E9T2JqZWN0LmNyZWF0ZShhKTtiJiYoYS5mbj1iKTtjJiYoYS5kZWJ1Z05hbWU9Yyk7Xy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlRhIiksMik7fSk6Xy5adD09PW51bGw/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoImNiIiksMik7fSk6Xy5CdShhKTthLmNvbXBvbmVudFN0YWNrPV8uTXU7cmV0dXJuIGF9O3F2PWZ1bmN0aW9uKGEpe2lmKCFhLmlhKXtpZihsdSl0aHJvdyBfLlV1KEVycm9yKCJ4YiIpLDQpO3ZhciBiPV8uJHQoYSk7dHJ5e18uUnUoKCk9PnthLlBiPSExO2lmKCEoYS52ZXJzaW9uPjApfHxxdShhKSl7YS52ZXJzaW9uKys7dmFyIGM9Xy50dShhKTt0cnl7YS5WaygpLGEuZm4oKX1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX19fSxhLmNvbXBvbmVudFN0YWNrLGEpfWNhdGNoKGMpe18uVXUoYyw0KSxfLm92KGMpfWZpbmFsbHl7Xy4kdChiKX19fTsKcnY9ZnVuY3Rpb24oYSl7dmFyIGI9RXJyb3IoIlphYCIrYS5kZWJ1Z05hbWUpO18uVXUoYiw0KTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgYjt9KX07Xy50dj1mdW5jdGlvbihhLGIpe2E9Xy5wdihzdixhLGIpO18uZnYoYSl9O18udXY9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz17cGFyZW50OnZvaWQgMCxpYTohMSxVazp2b2lkIDAsWmo6dm9pZCAwLHptOnZvaWQgMH07YiYmXy5CdShjKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18udnY9ZnVuY3Rpb24oKXt9O18ud3Y9ZnVuY3Rpb24oKXt9O18ueHY9ZnVuY3Rpb24oKXt9O18uQnY9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8ueXZ8fF8uanU9PT1fLnp2KXRocm93IF8uVXUoRXJyb3IoIllhIiksNCk7cmV0dXJuIHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9hKCk6YT8uW0F2XT9hLmdldCgpOmF9O18uQ3Y9ZnVuY3Rpb24oKXt9O18uRHY9e307Cl8uVXM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qdj1hfX07Xy5Fdj1fLnUuSlNPTi5wYXJzZTtuZXcgY2xhc3MgZXh0ZW5kcyBfLmFle2luaXQoKXt9fTtfLkVhKCk7Xy5adD12b2lkIDA7Xy5hdT1TeW1ib2woImRiIik7dmFyIEZ2LGJ2O0Z2PVN5bWJvbCgiZWIiKTtidj1TeW1ib2woImZiIik7Xy5kdj1TeW1ib2woImdiIik7Xy5sdj1fLkNjKGE9PigwLF8ucXIpKGEpJiZGdiBpbiBhKTtfLmZ1PVN5bWJvbCgiaGIiKTt2YXIgbHU7Xy5qdT1udWxsO2x1PSExO18ubXU9MTtfLlp1PVN5bWJvbCgia2IiKTtfLlh1PXt2ZXJzaW9uOjAscmo6MCxQYjohMSxwcm9kdWNlcnM6dm9pZCAwLGtmOnZvaWQgMCxjb25zdW1lcnM6dm9pZCAwLFVnOnZvaWQgMCxjbjohMSxMZTohMSxncDohMSxraW5kOiJ1bmtub3duIixYbTooKT0+ITEsWW06KCk9Pnt9LGhwOigpPT57fSxpcDooKT0+e319O18uR3Y9U3ltYm9sKCJsYiIpO18uSHY9U3ltYm9sKCJtYiIpO18uSXY9U3ltYm9sKCJuYiIpO3ZhciBKdj17Li4uXy5YdSxncDohMCxMZTohMCxQYjohMCxraW5kOiJlZmZlY3QifTt2YXIgeHU9bnVsbCxhdj17Li4uXy5YdSxlcXVhbDpfLml1LHZhbHVlOnZvaWQgMCxraW5kOiJzaWduYWwifTtfLkt2PVN5bWJvbCgib2IiKTtfLkx2PVN5bWJvbCgicGIiKTtfLk12PVN5bWJvbCgicWIiKTtfLkV1PVN5bWJvbCgicmIiKTt2YXIgSnU9e3l2OiEwLEJ2OiExLEZwOl8uWXEsR3A6Xy5ZcSxHdjohMSxyaTohMSxISTohMCxSaTohMSxKcTohMX07Xy5LdT17YXR0cmlidXRlczp7fSxoYW5kbGVFcnJvcihhKXt0aHJvdyBhO30sLi4uSnV9O3ZhciBPdTtfLk11PW51bGw7Xy5QdT1udWxsO18uTnY9bmV3IFNldDtfLk92PW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe319O3ZhciBQdixTdixUdixWdixXdixYdixldixodixrdixadjtfLmd2PTA7UHY9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmlzRmx1c2hpbmc9ITE7dGhpcy5EZD1bXTt0aGlzLlpiPTB9c2NoZWR1bGUoYSl7dGhpcy5EZFt0aGlzLlpiKytdPWF9Y2xlYXIoKXtmb3IobGV0IGE9MDthPHRoaXMuWmI7YSsrKXRoaXMuRGRbYV09dm9pZCAwO3RoaXMuWmI9MH19O18uUXY9U3ltYm9sKCJ3YiIpO1N2PWNsYXNzIGV4dGVuZHMgUHZ7Zmx1c2goKXtpZih0aGlzLlpiIT09MCl7Zm9yKHZhciBhPTA7YTx0aGlzLlpiOyl7bGV0IGI9dGhpcy5EZFthXTt0aGlzLkRkW2FdPXZvaWQgMDthKys7aWYoYil0cnl7Yi5ydW4oKX1jYXRjaChjKXtSdihjKX19dGhpcy5aYj0wfX19O1R2PWNsYXNzIGV4dGVuZHMgU3Z7fTtfLlV2PW5ldyBUdjtWdj1jbGFzcyBleHRlbmRzIFB2e2ZsdXNoKCl7dGhpcy5aYj09PTB8fHRoaXMuaXNGbHVzaGluZ3x8bXYodGhpcyl9fTsKV3Y9Y2xhc3MgZXh0ZW5kcyBWdntzY2hlZHVsZShhKXthLnZlcnNpb249PT0wP2EucnVuKCk6c3VwZXIuc2NoZWR1bGUoYSl9Zmx1c2goKXtpZih0aGlzLlpiIT09MClpZihfLkt1LlJpKXtsZXQgYT17RGQ6dGhpcy5EZCxaYjp0aGlzLlpiLGlzRmx1c2hpbmc6ITF9O3RoaXMuRGQ9W107dGhpcy5aYj0wO212KGEpfWVsc2UgdGhpcy5pc0ZsdXNoaW5nfHxtdih0aGlzKX19O18uY3Y9bmV3IFd2O1h2PWNsYXNzIGV4dGVuZHMgVnZ7fTtldj1uZXcgWHY7aHY9W18uY3ZdO2t2PVtfLlV2LGV2XTtfLll2PVsuLi5odiwuLi5rdl07WnY9W107eHU9KCk9PntfLmp2KCk7Zm9yKGxldCBhIG9mIFp2KWEoKX07dmFyIFJ2PV8uJGI7dmFyIG52PV8uZ3Uoe2RlZmF1bHRWYWx1ZTpudWxsfSwiaW0xTWtmIik7Xy4kdj17Li4uSnYsW0Z2XTohMCxlZmZlY3RUeXBlOmJ2LEVKOiEwLGhwOl8uZnYscnVuKCl7cXYodGhpcyl9LFZrKCl7RHUodGhpcyl9LGNvbXBvbmVudFN0YWNrOnZvaWQgMCxkZWJ1Z05hbWU6IltlZmZlY3RdIixkZXN0cm95KCl7aWYobnUodGhpcykpe2xldCBhPXRoaXMucHJvZHVjZXJzO2Zvcig7YSE9PXZvaWQgMDspYT11dShhKX10aGlzLlVnPXRoaXMuY29uc3VtZXJzPXRoaXMua2Y9dGhpcy5wcm9kdWNlcnM9dm9pZCAwO18uQ3UodGhpcyk7dGhpcy5QYj0hMX0sW1N5bWJvbC5kaXNwb3NlXSgpe3RoaXMuZGVzdHJveSgpfX07dmFyIGF3O2F3PXtpcDpydn07Xy55dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7Xy56dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7dmFyIHN2PXsuLi5fLiR2LGVmZmVjdFR5cGU6YnZ9O18uYnc9e1BIKCl7fSxlSygpe30sWUgoKXt9LFNvKCl7fSxRSCgpe30sSmkoKXt9LEdmKCl7fSxIZigpe30sS2koKXt9fTt2YXIgQXY9U3ltYm9sKCJLYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZXc7Xy5jdz1mdW5jdGlvbihhLC4uLmIpe2EuYXJnc3x8KGEuYXJncz1bXSk7QXJyYXkuaXNBcnJheShhLmFyZ3MpJiZhLmFyZ3MucHVzaCguLi5iKX07Xy5kdz1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSl7bGV0IGM9Xy5id1tiXSxkPWFbYl07Xy5id1tiXT0oLi4uZSk9PntjKC4uLmUpO2QoLi4uZSl9fX07Xy5mdz1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsXy5FcSkmJmFbXy5FcV18fChhW18uRXFdPSsrZXcpfTtfLmd3PWZ1bmN0aW9uKGEsYixjKXthJiYhYyYmKGE9YS5wYXJlbnROb2RlKTtmb3IoYz0wO2E7KXtpZihiKGEpKXJldHVybiBhO2E9YS5wYXJlbnROb2RlO2MrK31yZXR1cm4gbnVsbH07Xy5odz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSk/Xy5UYShhKTpudWxsOm51bGx9OwpfLml3PWZ1bmN0aW9uKGEpe2lmKF8uWnQpdGhyb3cgXy5VdShFcnJvcigiYWIiKSw0KTtyZXR1cm4gXy51dihiPT57Xy5ZdSgoKT0+e30pO2EoYil9LCExKX07ZXc9MDt2YXIganc7anc9e25hbWU6IjxSb290PiIscHJvcHM6e30sS3o6e30sZWZmZWN0czpbXSxkSTpbXSxnSTooKT0+e30sW1N5bWJvbCgiSmIiKV06ITB9OyhuZXcgV2Vha01hcCkuc2V0KGp3Lkt6LHtuYW1lOmp3Lm5hbWUscHJvcHM6ancucHJvcHN9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHN3LHl3LHR3LHJ3O18ua3c9ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBhO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPWFbXy5BY118MDtjPWR8YyYzMnxjJjI7YyE9PWQmJihhW18uQWNdPWMpO3JldHVybiBuZXcgYihhKX19O18ubHc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5EYSxjPWJbXy5BY118MDtyZXR1cm4gXy5CYyhhLGMpP18uJGMoYSxiLGMpP18uYmQoYSxiLCEwKTpuZXcgYS5jb25zdHJ1Y3RvcihfLlpjKGIsYywhMSkpOmF9O18ubXc9ZnVuY3Rpb24oYSl7aWYoYS5qIT09Xy56YylyZXR1cm4hMTt2YXIgYj1hLkRhO2I9Xy5aYyhiLGJbXy5BY118MCk7YltfLkFjXXw9MjA0ODthLkRhPWI7YS5qPXZvaWQgMDthLm89dm9pZCAwO3JldHVybiEwfTtfLm53PWZ1bmN0aW9uKGEpe2lmKCFfLm13KGEpJiZfLkJjKGEsYS5EYVtfLkFjXXwwKSl0aHJvdyBFcnJvcigpO307Cl8ub3c9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uQWNdfDApO2ImMzImJiEoYiY0MDk2KSYmKGFbXy5BY109Ynw0MDk2KX07Xy5wdz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWMrKGU/MDotMSksaD1hLmxlbmd0aC0xO2lmKGg+PTErKGU/MDotMSkmJmY+PWgpe2xldCBrPWFbaF07aWYoayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4ga1tjXT1kLGJ9aWYoZjw9aClyZXR1cm4gYVtmXT1kLGI7ZCE9PXZvaWQgMCYmKGg9KGI/PyhiPWFbXy5BY118MCkpPj4xNCYxMDIzfHw1MzY4NzA5MTIsYz49aD9kIT1udWxsJiYoYVtoKyhlPzA6LTEpXT17W2NdOmR9KTphW2ZdPWQpO3JldHVybiBifTtfLnF3PWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7dmFyIGU9YS5EYTtfLnB3KGUsZVtfLkFjXXwwLGIsYyxkKTtyZXR1cm4gYX07c3c9ZnVuY3Rpb24oYSl7cmV0dXJuIHJ3W2FdfHwiIn07Cl8udXc9ZnVuY3Rpb24oYSl7YT10dy50ZXN0KGEpP2EucmVwbGFjZSh0dyxzdyk6YTthPWF0b2IoYSk7dmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWJbY109YS5jaGFyQ29kZUF0KGMpO3JldHVybiBifTtfLnd3PWZ1bmN0aW9uKGEpe2lmKF8udnchPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dmFyIGI9YS5qO2I9PW51bGx8fGIhPW51bGwmJmIgaW5zdGFuY2VvZiBVaW50OEFycmF5fHwodHlwZW9mIGI9PT0ic3RyaW5nIj9iPV8udXcoYik6KF8ueGEoYiksYj1udWxsKSk7cmV0dXJuIGI9PW51bGw/YjphLmo9Yn07Xy54dz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJib29sZWFuIil0aHJvdyBFcnJvcigicmAiK18ueGEoYSkrImAiK2EpO3JldHVybiBhfTsKeXc9ZnVuY3Rpb24oKXt2YXIgYT1fLkRuKCk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIi5jaGFyQXQoYVtjXSY2MykpO3JldHVybiBiLmpvaW4oIiIpfTt0dz0vWy1fLl0vZztydz17Ii0iOiIrIixfOiIvIiwiLiI6Ij0ifTtfLnZ3PXt9O18uenc9bmV3IF8uSSgid2ViQ29tbWFuZE1ldGFkYXRhIik7Xy5Bdz1uZXcgXy5JKCJ3YXRjaEVuZHBvaW50Iik7Xy5Cdz1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1hfX07Xy5Ddz1uZXcgXy5xbSgic2NyZWVuLWNyZWF0ZWQiLF8uQncpO18uRHc9eXc7Xy5Fdz1uZXcgTWFwO18uRnc9bmV3IE1hcDtfLkd3PW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBRdyxSdyxhYWEsYmFhLFh3LFN3LGF4LEx3LGNhYSxZdyxadztfLkh3PWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhLGIsdm9pZCAwKX07Xy5Jdz1mdW5jdGlvbihhKXthPUVycm9yKGEpO18uQmIoYSwid2FybmluZyIpO3JldHVybiBhfTtfLkp3PWZ1bmN0aW9uKGEpe2E9PW51bGwmJihhPXZvaWQgMCk7cmV0dXJuIGF9O18uS3c9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1fLkp3KGMpO18ucXcoYSxiLGMsZCk7YyYmIV8uQmMoYykmJl8ub3coYS5EYSk7cmV0dXJuIGF9O18uTXc9ZnVuY3Rpb24oKXtyZXR1cm4gTHd8fChMdz1uZXcgXy5SYyhudWxsLF8udncpKX07Cl8uTnc9ZnVuY3Rpb24oYSxiKXtpZihhIT1udWxsKWlmKHR5cGVvZiBhPT09InN0cmluZyIpYT1hP25ldyBfLlJjKGEsXy52dyk6Xy5NdygpO2Vsc2UgaWYoYS5jb25zdHJ1Y3RvciE9PV8uUmMpaWYoYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpYT1hLmxlbmd0aD9uZXcgXy5SYyhuZXcgVWludDhBcnJheShhKSxfLnZ3KTpfLk13KCk7ZWxzZXtpZighYil0aHJvdyBFcnJvcigpO2E9dm9pZCAwfXJldHVybiBhfTtfLk93PWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciIpdGhyb3cgXy5JdygiaW50MzIiKTtpZighKDAsXy53cikoYSkpdGhyb3cgXy5JdygiaW50MzIiKTtyZXR1cm4gYXwwfTtfLlB3PWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6Xy5PdyhhKX07ClF3PWZ1bmN0aW9uKGEpe3ZhciBiPV8ucm0oKTtpZighYilyZXR1cm4gMDt2YXIgYz1iLnN1YnNjcmliZShfLkN3LnRvU3RyaW5nKCksKGQsZSk9Pnt2YXIgZj1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIpO2YmJmY9PWN8fChmPSgpPT57aWYoXy5Lc1tjXSl0cnl7aWYoZSYmXy5DdyBpbnN0YW5jZW9mIF8ucW0mJl8uQ3chPWQpdHJ5e3t2YXIgaD1fLkN3Lmosaz1lO2lmKCFrLmFyZ3N8fCFrLnZlcnNpb24pdGhyb3cgRXJyb3IoInBhIik7bGV0IGw7dHJ5e2lmKCFoLkFlKXtsZXQgbT1uZXcgaDtoLkFlPW0udmVyc2lvbn1sPWguQWV9Y2F0Y2gobSl7fWlmKCFsfHxrLnZlcnNpb24hPWwpdGhyb3cgRXJyb3IoInFhIik7dHJ5e2U9UmVmbGVjdC5jb25zdHJ1Y3QoaCxfLnliKGsuYXJncykpfWNhdGNoKG0pe3Rocm93IG0ubWVzc2FnZT0ieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6ICIrbS5tZXNzYWdlLG07fX19Y2F0Y2gobCl7dGhyb3cgbC5tZXNzYWdlPSJ5dC5wdWJzdWIyLnB1YnN1YjIgY3Jvc3MtYmluYXJ5IGNvbnZlcnNpb24gZXJyb3IgZm9yICIrCl8uQ3cudG9TdHJpbmcoKSsiOiAiK2wubWVzc2FnZSxsO31hLmNhbGwod2luZG93LGUpfWNhdGNoKGwpe18uVWkobCl9fSxfLk1zW18uQ3cudG9TdHJpbmcoKV0/Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/Xy5qZi5wYihmKTpfLm1qKGYsMCk6ZigpKX0pO18uS3NbY109ITA7Xy5Mc1tfLkN3LnRvU3RyaW5nKCldfHwoXy5Mc1tfLkN3LnRvU3RyaW5nKCldPVtdKTtfLkxzW18uQ3cudG9TdHJpbmcoKV0ucHVzaChjKTtyZXR1cm4gY307Unc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ybSgpO2ImJih0eXBlb2YgYT09PSJudW1iZXIiJiYoYT1bYV0pLF8udGIoYSxjPT57Yi51bnN1YnNjcmliZUJ5S2V5KGMpO2RlbGV0ZSBfLktzW2NdfSkpfTthYWE9ZnVuY3Rpb24oKXt2YXIgYT1TdyxiPVF3KGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7UncoYil9KTtyZXR1cm4gYn07Xy5Vdz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uVHcoe3RyYWNraW5nUGFyYW1zOmF9KX07Cl8uVnc9ZnVuY3Rpb24oYT0wKXtyZXR1cm4oYT1fLmdxKGEpKT9uZXcgXy5Udyh7dmVUeXBlOmEseW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTtiYWE9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhfLncoImNsaWVudC1zY3JlZW4tbm9uY2Utc3RvcmUiLHt9KSkuZmlsdGVyKGE9PmEhPT12b2lkIDApfTtfLld3PWZ1bmN0aW9uKGEsYil7Xy54KCJsb2dfc2VxdWVuY2VfaW5mb19vbl9nZWxfd2ViIikmJihhLnNlcXVlbmNlR3JvdXA9Yik7cmV0dXJuIGF9O1h3PWZ1bmN0aW9uKGEsYil7cmV0dXJuYCR7YS5nZXRBc0pzb24oKS52ZVR5cGV9JHthLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke2J9YH07U3c9ZnVuY3Rpb24oYSl7aWYoWXcpe2ZvcihsZXQgYiBvZiBZdyliLnBheWxvYWQmJihiLnBheWxvYWQuY3NuPWEuY3NuLF8uRXAoYi5wYXlsb2FkTmFtZSxiLnBheWxvYWQsYi5vcHRpb25zKSk7WXcubGVuZ3RoPTB9Wnc9MH07Cl8uJHc9ZnVuY3Rpb24oYSxiLGMpe1l3LnB1c2goe3BheWxvYWROYW1lOmEscGF5bG9hZDpjLEpKOnZvaWQgMCxvcHRpb25zOmJ9KTtad3x8KFp3PWFhYSgpKX07Xy5ieD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7YXgoYSxiLGMsW2RdLGUsZil9OwpheD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7T2JqZWN0LmFzc2lnbihmLF8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMH0sYikpO2ZvcihsZXQgayBvZiBkKXt2YXIgaD1rLmdldEFzSnNvbigpOyhfLnBkKGgpfHwhaC50cmFja2luZ1BhcmFtcyYmIWgudmVUeXBlKSYmXy5JcChFcnJvcigiTGIiKSk7aWYoXy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXtsZXQgbD1YdyhrLGIpO2lmKGgudmVUeXBlJiYhXy5Gdy5oYXMobCkmJiFfLkd3LmhhcyhsKSYmIWUpe2lmKCFfLngoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxfLkV3LnNpemU8MUUzKXtfLkV3LnNldChsLFthLGIsYyxrXSk7cmV0dXJufV8ueCgiaWxfYXR0YWNoX2NhY2hlX2xpbWl0IikmJl8uRXcuc2l6ZT4xRTMmJl8uSXAobmV3IF8uWGooIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPVh3KGMsYik7Xy5Fdy5oYXMoaCk/Xy5jeChjLGIpOl8uR3cuc2V0KGgsITApfX1kPQpkLmZpbHRlcihrPT57ay5jc24hPT1iPyhrLmNzbj1iLGs9ITApOms9ITE7cmV0dXJuIGt9KTtjPXtjc246YixwYXJlbnRWZTpjLmdldEFzSnNvbigpLGNoaWxkVmVzOl8uSHcoZCxrPT5rLmdldEFzSnNvbigpKX07Yj09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGYsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsYSxmKTpfLkVwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsZil9O18uY3g9ZnVuY3Rpb24oYSxiKXthPVh3KGEsYik7Xy5Fdy5oYXMoYSkmJihiPV8uRXcuZ2V0KGEpfHxbXSxfLmJ4KGJbMF0sYlsxXSxiWzJdLGJbM10sITApLF8uRXcuZGVsZXRlKGEpKX07Xy5keD1mdW5jdGlvbihhLGIpe2lmKF8ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7dmFyIGM9WHcoYSxiKTtfLkZ3LnNldChjLCEwKTtfLmN4KGEsYil9fTsKXy5leD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLmR4KGMsYik7ZD1kfHwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyI7Zj1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6aH0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxnZXN0dXJlVHlwZTpkfTtlJiYoYy5jbGllbnREYXRhPWUpO2I9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudEdlc3R1cmVkIixmLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGEsZik6Xy5FcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGYpfTtfLmZ4PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtfLmV4KGEsYixjLHZvaWQgMCxkLGUsZil9O18uaHg9ZnVuY3Rpb24oKXtneC5pbnN0YW5jZXx8KGd4Lmluc3RhbmNlPW5ldyBneCk7cmV0dXJuIGd4Lmluc3RhbmNlfTsKXy5qeD1mdW5jdGlvbihhLGIsYyxkPTAsZSl7YS5vLmhhcyhlKXx8YS5vLnNldChlLG5ldyBTZXQpO3ZhciBmPWN8fF8uVncoZCk7Zj1gJHtiLnRvU3RyaW5nKCl9fCR7Zj9mLnRvU3RyaW5nKCk6IiJ9YDthLm8uZ2V0KGUpLmhhcyhmKXx8KF8uaXgoYSxiLGMsZCksYS5vLmdldChlKS5hZGQoZikpfTtfLml4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9PntpZihhLmouaGFzKGQpKXJldHVybiBhLlkucHVzaChbYixjXSksITA7dmFyIGU9Xy5pcShkKSxmPWN8fF8uVncoZCk7aWYoZSYmZil7aWYoXy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpKXtsZXQgaD1hLnYuZ2V0KGYudG9TdHJpbmcoKSk7aD9oLnB1c2goYik6KGEuSS5zZXQoZi50b1N0cmluZygpLGYpLGEudi5zZXQoZi50b1N0cmluZygpLFtiXSkpO2EuWnx8KGEuWj1fLllqKCgpPT57Xy5reChhLGUpfSwxMjAwKSl9ZWxzZSBfLmJ4KGEuY2xpZW50LGUsZixiKTtyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpfLmx4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9Pnt2YXIgZT1fLlV3KGIpLGY9Xy5pcShkKTtmJiYhYS5qLmhhcyhkKT9fLmp4KGEsZSxjLGQsZik6Xy5peChhLGUsYyxkKTtyZXR1cm4gZX0pKCl9O18ua3g9ZnVuY3Rpb24oYSxiKXtpZihiPT09dm9pZCAwKXtsZXQgYz1iYWEoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdIT09dm9pZCAwJiZfLmt4KGEsY1tkXSl9ZWxzZSBhLnYuZm9yRWFjaCgoYyxkKT0+eyhkPWEuSS5nZXQoZCkpJiZheChhLmNsaWVudCxiLGQsYyl9KSxhLnYuY2xlYXIoKSxhLkkuY2xlYXIoKSxhLlo9dm9pZCAwfTsKXy5teD1mdW5jdGlvbihhLGIsYyxkPTApe3ZhciBlPV8uaXEoZCk7Yj1ifHxfLlZ3KGQpO2UmJmImJihhPWEuY2xpZW50LGQ9Xy5Xdyh7Y3R0QXV0aEluZm86Xy5rcShlKXx8dm9pZCAwfSxlKSxjPXtjc246ZSx2ZTpiLmdldEFzSnNvbigpLGNsaWVudERhdGE6Y30sZT09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixkLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIsYyxhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLGMsZCkpfTsKXy5SYz1jbGFzc3tvKCl7dmFyIGE9dGhpcy5qO2lmKGE9PW51bGwpYT0iIjtlbHNlIGlmKHR5cGVvZiBhIT09InN0cmluZyIpe2xldCBiPSIiLGM9MCxkPWEubGVuZ3RoLTEwMjQwO2Zvcig7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPXRoaXMuaj1idG9hKGIpfXJldHVybiBhfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5qPT1udWxsfXNpemVCeXRlcygpe3ZhciBhPV8ud3codGhpcyk7cmV0dXJuIGE/YS5sZW5ndGg6MH1jb25zdHJ1Y3RvcihhLGIpe2lmKGIhPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dGhpcy5qPWE7aWYoYSE9bnVsbCYmYS5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJuIik7fX07CmNhYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9c2V0VHJhY2tpbmdQYXJhbXMoYSl7cmV0dXJuIF8ucXcodGhpcywxLF8uTncoYSwhMSkpfX07Cl8uVHc9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Z2V0QXNKc29uKCl7dmFyIGE9e307dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09dm9pZCAwP2EudHJhY2tpbmdQYXJhbXM9dGhpcy5qLnRyYWNraW5nUGFyYW1zOihhLnZlVHlwZT10aGlzLmoudmVUeXBlLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJihhLnZlQ291bnRlcj10aGlzLmoudmVDb3VudGVyKSx0aGlzLmouZWxlbWVudEluZGV4IT09dm9pZCAwJiYoYS5lbGVtZW50SW5kZXg9dGhpcy5qLmVsZW1lbnRJbmRleCkpO3RoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCYmKGEuZGF0YUVsZW1lbnQ9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNvbigpKTt0aGlzLmoueW91dHViZURhdGEhPT12b2lkIDAmJihhLnlvdXR1YmVEYXRhPXRoaXMuai55b3V0dWJlRGF0YSk7dGhpcy5qLmlzQ291bnRlcmZhY3R1YWwmJihhLmlzQ291bnRlcmZhY3R1YWw9ITApO3JldHVybiBhfWdldEFzSnNwYigpe3ZhciBhPW5ldyBjYWE7dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09CnZvaWQgMD9hLnNldFRyYWNraW5nUGFyYW1zKHRoaXMuai50cmFja2luZ1BhcmFtcyk6KHRoaXMuai52ZVR5cGUhPT12b2lkIDAmJl8ucXcoYSwyLF8uUHcodGhpcy5qLnZlVHlwZSkpLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJl8ucXcoYSw2LF8uUHcodGhpcy5qLnZlQ291bnRlcikpLHRoaXMuai5lbGVtZW50SW5kZXghPT12b2lkIDAmJl8ucXcoYSwzLF8uUHcodGhpcy5qLmVsZW1lbnRJbmRleCkpLHRoaXMuai5pc0NvdW50ZXJmYWN0dWFsJiZfLnF3KGEsNSxfLnh3KCEwKSkpO2lmKHRoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIGI9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNwYigpO18uS3coYSw3LGIpfXRoaXMuai55b3V0dWJlRGF0YSE9PXZvaWQgMCYmXy5LdyhhLDgsdGhpcy5qLmpzcGJZb3V0dWJlRGF0YSk7cmV0dXJuIGF9dG9TdHJpbmcoKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRBc0pzb24oKSl9aXNDbGllbnRWZSgpe3JldHVybiF0aGlzLmoudHJhY2tpbmdQYXJhbXMmJgohIXRoaXMuai52ZVR5cGV9Z2V0TG9nZ2luZ0RpcmVjdGl2ZXMoKXtyZXR1cm4gdGhpcy5qLmxvZ2dpbmdEaXJlY3RpdmVzfX07WXc9W107Wnc9MDtfLm54PW5ldyBfLkkoImludGVyYWN0aW9uTG9nZ2luZ0NvbW1hbmRNZXRhZGF0YSIpO18uZGFhPW5ldyBfLkkoIndhdGNoUGxheWxpc3RFbmRwb2ludCIpO18uZWFhPW5ldyBfLkkoInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTtfLm94PVN5bWJvbCgiTWIiKTtfLnB4PW5ldyBXZWFrTWFwO3ZhciBneD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuWT1bXTt0aGlzLk09W107dGhpcy5LPW5ldyBNYXA7dGhpcy5nYT1uZXcgTWFwO3RoaXMuRD1bXTt0aGlzLlU9W107dGhpcy52PW5ldyBNYXA7dGhpcy5JPW5ldyBNYXA7dGhpcy5vPW5ldyBNYXA7dGhpcy5qPW5ldyBTZXQ7dGhpcy5oYT1uZXcgTWFwfUNmKGEsYixjPTApe2lmKCFhKXJldHVybiExO2M9Xy5pcShjKTtpZighYylyZXR1cm4hMTtfLmZ4KHRoaXMuY2xpZW50LGMsXy5VdyhhKSxiKTtyZXR1cm4hMH1jbGlja0NvbW1hbmQoYSxiLGM9MCl7cmV0dXJuIHRoaXMuQ2YoYS5jbGlja1RyYWNraW5nUGFyYW1zLGIsYyl9c3RhdGVDaGFuZ2VkKGEsYixjPTApe3RoaXMudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChfLlV3KGEpLGIsYyl9dmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChhLGIsYz0wKXtjPT09MCYmdGhpcy5qLmhhcyhjKT90aGlzLk0ucHVzaChbYSxiXSk6Xy5teCh0aGlzLGEsYixjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeXgsengsZ2FhLEh4LEl4LGZhYSxBeCxDeDtfLnF4PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5HYShiLDMsYyl9O18ucng9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDIsYil9O18uc3g9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hfDA6dm9pZCAwfTtfLnR4PWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLnN4KF8uZWQoYSxiKSk/P2N9O18udXg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBoPWZhYSsrO3JldHVybiBuZXcgXy5Udyh7dmVUeXBlOmEsdmVDb3VudGVyOmgsZWxlbWVudEluZGV4OmMsZGF0YUVsZW1lbnQ6Yix5b3V0dWJlRGF0YTpkLGpzcGJZb3V0dWJlRGF0YTplLGxvZ2dpbmdEaXJlY3RpdmVzOmZ9KX07Cl8udng9ZnVuY3Rpb24oYSxiLGMsZD0hMSxlLGYpe3ZhciBoPWQ/MTY6ODtkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmQsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6Zn0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6aH07ZSYmKGMuY2xpZW50RGF0YT1lKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGQsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixjLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYyxkKX07Cl8ud3g9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLmR4KGMsYik7ZT1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6ZX0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6MX07ZCYmKGMuY2xpZW50RGF0YT1kKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRTaG93biIsZSxjKTphP18uQ3AoInZpc3VhbEVsZW1lbnRTaG93biIsYyxhLGUpOl8uRXAoInZpc3VhbEVsZW1lbnRTaG93biIsYyxlKX07Xy54eD1mdW5jdGlvbihhKXtpZihhPT09d2luZG93KXJldHVybiBudWxsO3ZhciBiPWEucGFyZW50RWxlbWVudDtyZXR1cm4gYj9iOnR5cGVvZiBTaGFkb3dSb290IT09InVuZGVmaW5lZCImJmEuZ2V0Um9vdE5vZGUhPW51bGwmJihhPWEuZ2V0Um9vdE5vZGUoKSxhIGluc3RhbmNlb2YgU2hhZG93Um9vdCk/YS5ob3N0OndpbmRvd307Cnl4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLmlxKGMpO3JldHVybiBhLmNzbj09PW51bGx8fGQ9PT1hLmNzbnx8Yz9kOihhPW5ldyBfLlhqKCJWaXNpYmlsaXR5TG9nZ2VyIGNhbGxlZCBiZWZvcmUgbmV3U2NyZWVuIix7Y2FsbGVyOmIudGFnTmFtZSxwcmV2aW91c19jc246YS5jc24sY3VycmVudF9jc246ZH0pLF8uSXAoYSksbnVsbCl9O3p4PWZ1bmN0aW9uKGEsYil7YT1hLmdldERhdGEoYik7cmV0dXJuIE1hdGguZmxvb3IoTnVtYmVyKGEmJmEubG9nZ2luZ0RpcmVjdGl2ZXMmJmEubG9nZ2luZ0RpcmVjdGl2ZXMudmlzaWJpbGl0eSYmYS5sb2dnaW5nRGlyZWN0aXZlcy52aXNpYmlsaXR5LnR5cGVzfHwiIikpfHwxfTtfLkJ4PWZ1bmN0aW9uKCl7QXguaW5zdGFuY2V8fChBeC5pbnN0YW5jZT1uZXcgQXgpO3JldHVybiBBeC5pbnN0YW5jZX07Xy5EeD1mdW5jdGlvbigpe0N4Lmluc3RhbmNlfHwoQ3guaW5zdGFuY2U9bmV3IEN4KX07Cl8uRXg9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uVmkoKCk9PntpZighYi52ZVR5cGUpcmV0dXJuIF8uSHAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihiLnZpc2liaWxpdHlUeXBlcyl7dmFyIGU9Yi52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChmLGgpPT5mfGgpO2U9e3Zpc2liaWxpdHk6e3R5cGVzOlN0cmluZyhlKX19fWU9Xy51eChiLnZlVHlwZSxiLnZpc3VhbEVsZW1lbnQsYi5lbGVtZW50SW5kZXgsYi5jbGllbnRZb3VUdWJlRGF0YSx2b2lkIDAsZSk7cmV0dXJuIF8uaXgoYSxlLGMsZCk/ZTpudWxsfSkoKX07Xy5GeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9OwpfLkd4PWZ1bmN0aW9uKGEsYil7YT1hLmpmPz9hO2ZvcihsZXQgYyBvZiBhLnZpc2liaWxpdHlNb25pdG9yS2V5c3x8W10pYi5yZihjKTthLnZpc2liaWxpdHlNb25pdG9yS2V5cz12b2lkIDB9O18uSng9ZnVuY3Rpb24oYSxiKXtpZihfLmlxKCkpe2lmKF8ueCgia2V2bGFyX3ZpbWlvX3VzZV9zaGFyZWRfbW9uaXRvciIpKUh4KGEsYi5kYXRhKTtlbHNlIGlmKCFIeChhLGIuZGF0YSkpcmV0dXJuO3ZhciBjPWIuZGF0YSxkPUl4KGMpO2lmKF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSlfLkd4KGEsYi5vYnNlcnZlcik7ZWxzZXt2YXIgZT1hLmpmPz9hO2UudHJhY2tlZFBhcmFtcyYmZS50cmFja2VkUGFyYW1zIT09ZCYmXy5HeChhLGIub2JzZXJ2ZXIpfWU9YS5qZj8/YTshY3x8ZS5kYXRhJiZlLmRhdGE9PT1jfHwoZS5kYXRhPWMpO2dhYShhLGIpO2UudHJhY2tlZFBhcmFtcz1kfX07CmdhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIub2JzZXJ2ZXI7aWYoIWMmJl8ueCgid2ViX3NraXBfbWlzc2luZ192aW1pb19vYnNlcnZlciIpKV8uSXAobmV3IF8uWGooIlZpc2liaWxpdHlPYnNlcnZlciBpcyBub3QgZGVmaW5lZC4iLGEudGFnTmFtZSxhLnRyYWNrZWRQYXJhbXMsYi5kYXRhPy50cmFja2luZ1BhcmFtcyxiLmRhdGE/LmxvZ2dpbmdEaXJlY3RpdmVzKSk7ZWxzZXt2YXIgZD1iLmxheWVyLGU9Yi5OYnx8KCgpPT57fSksZj1iLkxqLGg9YS5qZj8/YSxrPVtdO2IuZWImJmsucHVzaChjLm9ic2VydmUoYSwoKT0+e2IueEEmJmIueEEoKXx8KF8uRHgoKSxfLlZpKF8uQngoKS5ZKS5iaW5kKF8uQngoKSkoaCx2b2lkIDAsZCw3KSk7ZSghMCl9LGIuZWIpKTtiLk5jJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9PntfLkR4KCk7Xy5WaShfLkJ4KCkuSSkuYmluZChfLkJ4KCkpKGgsdm9pZCAwLGQsNyk7ZSghMSl9LGIuTmMpKTtiLkxoJiZmJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9Pgp7ZigpfSxiLkxoKSk7aC52aXNpYmlsaXR5TW9uaXRvcktleXM9a319OwpIeD1mdW5jdGlvbihhLGIpe2E9YS5qZj8/YTtpZihhLnZpc3VhbEVsZW1lbnQmJiFiKXJldHVybiEwO2lmKCFiKXJldHVybiExO3ZhciBjPSExO18ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmKGM9ISFiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSk7dmFyIGQ9SXgoYik7aWYoIWQmJiFjKXJldHVybiExO18ueCgibXdlYl9jb21wb25lbnRfdmlzaWJpbGl0eV9sb2dnaW5nIikmJihhLnZlQ29udGFpbmVyfHwoYS52ZUNvbnRhaW5lcj17fSksYS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtcz1kKTtpZihhLnRyYWNrZWRQYXJhbXMmJmEudHJhY2tlZFBhcmFtcz09PWR8fF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmYS52aXN1YWxFbGVtZW50Py5pc0NsaWVudFZlKCkmJihjPWEudmlzdWFsRWxlbWVudD8uZ2V0QXNKc3BiKCksXy50eChjLDIpPT09Yi5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGUmJgpfLnR4KGMsMywtMSk9PT1iLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LmVsZW1lbnRJbmRleCkpcmV0dXJuITE7Xy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWNfbG9nZ2luZyIpJiYhYS52aXN1YWxFbGVtZW50JiZiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSYmKGM9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlLGQ9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuZWxlbWVudEluZGV4LGI9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuY2xpZW50WW91dHViZURhdGEsYS52aXN1YWxFbGVtZW50PV8uRXgoXy5oeCgpLHt2ZVR5cGU6YyxlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTpifSkpO3JldHVybiEwfTsKSXg9ZnVuY3Rpb24oYSl7aWYoYT8ucmVuZGVyZXJDb250ZXh0KXtsZXQgYj1fLkIoYS5yZW5kZXJlckNvbnRleHQsXy5LeCk7aWYoYj8ubG9nZ2luZ0RpcmVjdGl2ZXMpcmV0dXJuIGIubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXN9cmV0dXJuIGE/LmxvZ2dpbmdEaXJlY3RpdmVzP2EubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXM6YT8udHJhY2tpbmdQYXJhbXN9O2ZhYT0xOwpBeD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgU2V0O3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMuY2xpZW50PXZvaWQgMDt0aGlzLmNzbj1udWxsfUsoKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Xy5pcSgpfWNsZWFyKCl7dGhpcy5ELmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5jc249bnVsbH1ZKGEsYixjLGQpe3ZhciBlPXRoaXMuaihhKSxmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuRC5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkQuYWRkKGYpO3RoaXMuby5zZXQoZiwhMCk7YS5pbXByZXNzaW9uTG9nJiYhYiYmYS5pbXByZXNzaW9uTG9nKCk7aWYoZXx8YS52aXN1YWxFbGVtZW50KWlmKGM9eXgodGhpcyxhLGMpKXt2YXIgaz0hIXRoaXMuZ2V0RGF0YShhKT8ubG9nZ2luZ0RpcmVjdGl2ZXM7aWYoengodGhpcyxhKXx8aylmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Cl8uVXcoZSksYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhfHwoYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhPXt9KSxlPWEuaW50ZXJhY3Rpb25Mb2dnaW5nQ2xpZW50RGF0YSxrfHxiP3p4KHRoaXMsYSkmND9ofHwoYT10aGlzLmNsaWVudCxfLmR4KGYsYyksZD1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGMpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxjKSxiPXtjc246Yyx2ZTpmLmdldEFzSnNvbigpLGV2ZW50VHlwZTo0fSxlJiYoYi5jbGllbnREYXRhPWUpLGM9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudFNob3duIixkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFNob3duIixiLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudFNob3duIixiLGQpKTp6eCh0aGlzLGEpJjEmJiFiJiZfLnd4KHRoaXMuY2xpZW50LGMsZixlLGQpOl8ud3godGhpcy5jbGllbnQsYyxmLGUsZCl9fUkoYSxiLGMsZCl7dmFyIGU9dGhpcy5qKGEpLApmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuQi5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkIuYWRkKGYpO3RoaXMuby5zZXQoZiwhMSk7aWYoaD09PSExKXJldHVybiEwO2lmKCFlJiYhYS52aXN1YWxFbGVtZW50KXJldHVybiExO2M9eXgodGhpcyxhLGMpO2lmKCFjfHwhengodGhpcyxhKSYmdGhpcy5nZXREYXRhKGEpPy5sb2dnaW5nRGlyZWN0aXZlcylyZXR1cm4hMTtlPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Xy5VdyhlKTt6eCh0aGlzLGEpJjg/Xy52eCh0aGlzLmNsaWVudCxjLGUsdm9pZCAwLHZvaWQgMCxkKTp6eCh0aGlzLGEpJjImJiFiJiYoYT10aGlzLmNsaWVudCxkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpkfSxjKSxiPXtjc246Yyx2ZTplLmdldEFzSnNvbigpLGV2ZW50VHlwZToyfSxjPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLApkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYixhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGIsZCkpO3JldHVybiEwfWooYSl7dmFyIGI9dGhpcy5nZXREYXRhKGEpO3JldHVybiBfLngoImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCIpJiZiPy5jb250ZXh0Py5sb2dnaW5nQ29udGV4dD8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5jb250ZXh0LmxvZ2dpbmdDb250ZXh0LmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zfHwiIjpiPy5yZW5kZXJlckNvbnRleHQ/LmxvZ2dpbmdDb250ZXh0Py5sb2dnaW5nRGlyZWN0aXZlcz9iLnJlbmRlcmVyQ29udGV4dC5sb2dnaW5nQ29udGV4dC5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6YS52ZUNvbnRhaW5lcj8udHJhY2tpbmdQYXJhbXM/YS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtczoKYj8udHJhY2tpbmdQYXJhbXN8fCIifXYoYSl7aWYoXy54KCJ3aXpfbmV4dF9jbGllbnRfdmVfcGFyZW50X2ZpeCIpKXt2YXIgYj10aGlzLmooYSk7cmV0dXJuIGEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Yj9fLlV3KGIpOihhPV8ueHgoYSkpP3RoaXMudihhKTpudWxsfWI9dGhpcy5qKGEpO3JldHVybiBhLnZpc3VhbEVsZW1lbnQ/YS52aXN1YWxFbGVtZW50OmI/Xy5VdyhiKTphLnBhcmVudEVsZW1lbnQ/dGhpcy52KGEucGFyZW50RWxlbWVudCk6bnVsbH1nZXREYXRhKGEpe3ZhciBiPWEuZGF0YXx8YS5wcm9wcz8uZGF0YTtpZighYnx8YS5pc1dlYkNvbXBvbmVudFdyYXBwZXIpYj1fLnB4LmdldChhKT8uW18ub3hdO3JldHVybiBifX07Q3g9Y2xhc3N7Y2xlYXIoKXtfLlZpKF8uQngoKS5jbGVhcikuYmluZChfLkJ4KCkpKCl9fTtfLkt4PW5ldyBfLkkoImxvZ2dpbmdDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTHg9bmV3IF8uVnMoIlZJU0lCSUxJVFlfT0JTRVJWRVIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE94LFB4LFF4LFN4LFR4LFZ4LGhhYSxpYWEsamFhLCR4LGF5LGN5LGJ5LGthYSxkeSxsYWEsZXksZ3ksaHksaXksb3kscHkscXkscnksdHksdnksb2FhLHBhYSxreTtfLk14PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ITE7ZD1fLmRkKGEsZCxlLGg9Pnt2YXIgaz1fLmt3KGgsYyxiKTtmPWshPT1oJiZrIT1udWxsO3JldHVybiBrfSk7aWYoZCE9bnVsbClyZXR1cm4gZiYmIV8uQmMoZCkmJl8ub3coYSxiKSxkfTtfLk54PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuRGEsZj1lW18uQWNdfDA7Yj1fLk14KGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5BY118MDtpZighXy5CYyhhLGYpKXtsZXQgaD1fLmx3KGIpO2ghPT1iJiYoXy5tdyhhKSYmKGU9YS5EYSxmPWVbXy5BY118MCksYj1oLGY9Xy5wdyhlLGYsYyxiLGQpLF8ub3coZSxmKSl9cmV0dXJuIGJ9OwpPeD1mdW5jdGlvbihhKXthLlp8fChhLlo9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9O1B4PWZ1bmN0aW9uKGEsYil7aWYoYS5yYSl7YS5EJiYoY2xlYXJUaW1lb3V0KGEuRCksYS5EPW51bGwpO2xldCBjPWEucmE7YS5yYT1udWxsO2J8fGEuZGlzcGF0Y2hFdmVudCgicmVhZHkiKTt0cnl7Yy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbH1jYXRjaChkKXt9fX07UXg9ZnVuY3Rpb24oYSxiKXthLmo9ITE7YS5yYSYmKGEudj0hMCxhLnJhLmFib3J0KCksYS52PSExKTthLkI9YjtPeChhKTtQeChhKX07Xy5SeD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEucmE/YS5yYS5yZWFkeVN0YXRlOjApPjI/YS5yYS5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTsKU3g9ZnVuY3Rpb24oYSl7aWYoYS5qJiZ0eXBlb2YgXy5DcSE9InVuZGVmaW5lZCIpaWYoYS5JJiYoYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk9PTQpc2V0VGltZW91dChhLmdyLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSxhLmlzQ29tcGxldGUoKSl7YS5qPSExO3RyeXtpZihhLmlzU3VjY2VzcygpKWEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle3RyeXt2YXIgYj0oYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk+Mj9hLnJhLnN0YXR1c1RleHQ6IiJ9Y2F0Y2goYyl7Yj0iIn1hLkI9YisiIFsiK18uUngoYSkrIl0iO094KGEpfX1maW5hbGx5e1B4KGEpfX19OwpUeD1mdW5jdGlvbigpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLmo9ITE7dGhpcy5yYT1udWxsO3RoaXMuQj10aGlzLmhhPSIiO3RoaXMudj10aGlzLmdhPXRoaXMuST10aGlzLlo9ITE7dGhpcy5VPTA7dGhpcy5EPW51bGw7dGhpcy55YT0iIjt0aGlzLm9hPSExfTtfLlV4PWZ1bmN0aW9uKGEpe18uRHgoKTtyZXR1cm4gXy5WaShfLkJ4KCkudikuYmluZChfLkJ4KCkpKGEpfTtWeD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiKSYmYi5jbGllbnRWZVNwZWM/KGI9Xy51eChiLmNsaWVudFZlU3BlYy51aVR5cGUsdm9pZCAwLGIuY2xpZW50VmVTcGVjLmVsZW1lbnRJbmRleCxiLmNsaWVudFZlU3BlYy5jbGllbnRZb3V0dWJlRGF0YSx2b2lkIDAsYiksXy5peChhLGIsYyxkKT9iOm51bGwpOmIudHJhY2tpbmdQYXJhbXM/Xy5seChhLGIudHJhY2tpbmdQYXJhbXMsYyxkKTpudWxsfTsKXy5XeD1mdW5jdGlvbihhLGIsYyxkLGUpe18ubncoYSk7dmFyIGY9YS5EYTtfLnB3KGYsZltfLkFjXXwwLGIsKGQ9PT0iMCI/TnVtYmVyKGMpPT09MDpjPT09ZCk/dm9pZCAwOmMsZSk7cmV0dXJuIGF9O18uWHg9ZnVuY3Rpb24oYSxiKXtpZihiPT1udWxsfHxiPT0iIilyZXR1cm4gbmV3IGE7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJ6Iik7YltfLkFjXXw9MzI7cmV0dXJuIG5ldyBhKGIpfTtfLll4PWZ1bmN0aW9uKGEsLi4uYil7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLlRhKGFbMF0pO3ZhciBjPWFbMF07Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspYys9ZW5jb2RlVVJJQ29tcG9uZW50KGJbZF0pK2FbZCsxXTtyZXR1cm4gXy5UYShjKX07Xy5aeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9OwpoYWE9ZnVuY3Rpb24oYSl7aWYoYS5NYyYmdHlwZW9mIGEuTWM9PSJmdW5jdGlvbiIpcmV0dXJuIGEuTWMoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFNldClyZXR1cm4gQXJyYXkuZnJvbShhLnZhbHVlcygpKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhLnNwbGl0KCIiKTtpZihfLnlhKGEpKXtsZXQgYj1bXSxjPWEubGVuZ3RoO2ZvcihsZXQgZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBfLlp4KGEpfTsKaWFhPWZ1bmN0aW9uKGEpe2lmKGEucmQmJnR5cGVvZiBhLnJkPT0iZnVuY3Rpb24iKXJldHVybiBhLnJkKCk7aWYoIWEuTWN8fHR5cGVvZiBhLk1jIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy55YShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7bGV0IGI9W107YT1hLmxlbmd0aDtmb3IobGV0IGM9MDtjPGE7YysrKWIucHVzaChjKTtyZXR1cm4gYn1yZXR1cm4gXy5GeChhKX19fTsKamFhPWZ1bmN0aW9uKGEsYixjKXtpZihhLmZvckVhY2gmJnR5cGVvZiBhLmZvckVhY2g9PSJmdW5jdGlvbiIpYS5mb3JFYWNoKGIsYyk7ZWxzZSBpZihfLnlhKGEpfHx0eXBlb2YgYT09PSJzdHJpbmciKUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpO2Vsc2V7bGV0IGQ9aWFhKGEpLGU9aGFhKGEpLGY9ZS5sZW5ndGg7Zm9yKGxldCBoPTA7aDxmO2grKyliLmNhbGwoYyxlW2hdLGQmJmRbaF0sYSl9fTskeD1mdW5jdGlvbihhLGIpe3RoaXMubz10aGlzLmo9bnVsbDt0aGlzLnY9YXx8bnVsbDt0aGlzLkI9ISFifTtheT1mdW5jdGlvbihhKXthLmp8fChhLmo9bmV3IE1hcCxhLm89MCxhLnYmJl8uUmIoYS52LGZ1bmN0aW9uKGIsYyl7YS5hZGQoXy5IYihiKSxjKX0pKX07Y3k9ZnVuY3Rpb24oYSxiKXtheShhKTtiPWJ5KGEsYik7cmV0dXJuIGEuai5oYXMoYil9O2J5PWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcoYik7YS5CJiYoYj1iLnRvTG93ZXJDYXNlKCkpO3JldHVybiBifTsKa2FhPWZ1bmN0aW9uKGEsYil7YiYmIWEuQiYmKGF5KGEpLGEudj1udWxsLGEuai5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSx0aGlzLnJlbW92ZShlKSxjLmxlbmd0aD4wJiYodGhpcy52PW51bGwsdGhpcy5qLnNldChieSh0aGlzLGUpLF8ueWIoYykpLHRoaXMubys9Yy5sZW5ndGgpKX0sYSkpO2EuQj1ifTtkeT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn07bGFhPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9OwpleT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/KGE9ZW5jb2RlVVJJKGEpLnJlcGxhY2UoYixsYWEpLGMmJihhPWEucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYSk6bnVsbH07Cl8uZnk9ZnVuY3Rpb24oYSl7dGhpcy5vPXRoaXMuST10aGlzLkI9IiI7dGhpcy5ZPW51bGw7dGhpcy52PXRoaXMuaj0iIjt0aGlzLkQ9ITE7dmFyIGI7YSBpbnN0YW5jZW9mIF8uZnk/KHRoaXMuRD1hLkQsZ3kodGhpcyxhLkIpLHRoaXMuST1hLkksdGhpcy5vPWEubyxoeSh0aGlzLGEuWSksdGhpcy5qPWEuaixpeSh0aGlzLGEuSy5jbG9uZSgpKSx0aGlzLnY9YS52KTphJiYoYj1fLk1iKFN0cmluZyhhKSkpPyh0aGlzLkQ9ITEsZ3kodGhpcyxiWzFdfHwiIiwhMCksdGhpcy5JPWR5KGJbMl18fCIiKSx0aGlzLm89ZHkoYlszXXx8IiIsITApLGh5KHRoaXMsYls0XSksdGhpcy5qPWR5KGJbNV18fCIiLCEwKSxpeSh0aGlzLGJbNl18fCIiLCEwKSx0aGlzLnY9ZHkoYls3XXx8IiIpKToodGhpcy5EPSExLHRoaXMuSz1uZXcgJHgobnVsbCx0aGlzLkQpKX07Z3k9ZnVuY3Rpb24oYSxiLGMpe2EuQj1jP2R5KGIsITApOmI7YS5CJiYoYS5CPWEuQi5yZXBsYWNlKC86JC8sIiIpKX07Cmh5PWZ1bmN0aW9uKGEsYil7aWYoYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI8MCl0aHJvdyBFcnJvcigiS2FgIitiKTthLlk9Yn1lbHNlIGEuWT1udWxsfTtpeT1mdW5jdGlvbihhLGIsYyl7YiBpbnN0YW5jZW9mICR4PyhhLks9YixrYWEoYS5LLGEuRCkpOihjfHwoYj1leShiLG1hYSkpLGEuSz1uZXcgJHgoYixhLkQpKX07Xy5qeT1mdW5jdGlvbihhLGIpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLnY9YXx8MTt0aGlzLmo9Ynx8Xy51O3RoaXMuQj0oMCxfLkNhKSh0aGlzLmFCLHRoaXMpO3RoaXMuRD1fLkVhKCl9O18ubHk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9bmV3IFR4O2t5LnB1c2goayk7YiYmay5saXN0ZW4oImNvbXBsZXRlIixiKTtfLmJmKGssInJlYWR5IixrLlB1KTtmJiYoay5VPU1hdGgubWF4KDAsZikpO2gmJihrLm9hPWgpO2suc2VuZChhLGMsZCxlKX07Xy5teT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYS5yZWdpc3Rlci52YWx1ZXMoKSliLnpnKCJBQk9SVEVEIil9OwpfLm55PWZ1bmN0aW9uKGEsYixjKXtzd2l0Y2goYi50eXBlKXtjYXNlICJtYXBwaW5nIjpyZXR1cm4gYi52YWx1ZTtjYXNlICJmYWN0b3J5IjpyZXR1cm4gYj1iLnZhbHVlKCksYS5tYXBwaW5ncy5zZXQoYy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSksYjtkZWZhdWx0OnJldHVybiBfLmViKGIsdm9pZCAwKX19OwpveT1mdW5jdGlvbihhLGIsYyl7aWYoXy54KCJkZWJ1Z193ZWJfdmVfZGF0YSIpKXt2YXIgZD1fLkIoYz8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlczshZCYmYyYmKGQ9Yy5sb2dnaW5nRGlyZWN0aXZlcyk7YTp7aWYoZD1jPy50cmFja2luZ1BhcmFtcz8/ZD8udHJhY2tpbmdQYXJhbXMpdHJ5e3ZhciBlPV8uQ28oZCk7aWYoZSl7bGV0IGg9Xy5FbyhlLDEpLGs9Xy5FbyhlLDIpO2U9e307aCE9PXZvaWQgMCYmKGUuR3M9TnVtYmVyKGgpKTtrIT09dm9pZCAwJiYoZS52ZVR5cGU9TnVtYmVyKGspKTt2YXIgZj1lO2JyZWFrIGF9fWNhdGNoKGgpe31mPXZvaWQgMH1mPy52ZVR5cGUhPT12b2lkIDAmJihhLmRhdGFzZXQudmU9U3RyaW5nKGYudmVUeXBlKSk7Zj8uR3MhPT12b2lkIDAmJihhLmRhdGFzZXQudmVJbmRleD1TdHJpbmcoZi5HcykpOyhjPWM/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSl8fChjPWIudmVUeXBlfHxiLmxvZ2dpbmdDb25maWc/LnZlVHlwZSk7CmMmJihhLmRhdGFzZXQudmU9U3RyaW5nKGMpKX19O3B5PWZ1bmN0aW9uKGEpe3JldHVybiBhLmxheWVyIT09dm9pZCAwP2EubGF5ZXI6YS5wYXJlbnQ/cHkoYS5wYXJlbnQpOmEubGF5ZXI9MH07cXk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnB4LmdldChhKXx8e1plOmJ9O2MuWmU9YjtfLnB4LnNldChhLGMpO2EuZ2V0U2NyZWVuTGF5ZXI9KCk9PnB5KGMuWmUpfTtyeT1mdW5jdGlvbihhKXtmb3IoYT1hLnBhcmVudE5vZGU7YSYmIV8ucHguZ2V0KGEpPy5XeCYmIShhLmpmPz9hKS5ESjspYT1hLnBhcmVudE5vZGV8fGEuaG9zdDtpZihhKXJldHVybiBfLnB4LmdldChhKX07Xy5zeT1mdW5jdGlvbihhKXtpZihhKXtfLnB4LmRlbGV0ZShhKTtsZXQgYj1fLnkoKS5yZXNvbHZlKF8uTHgpO18uR3goYSxiKX19OwpfLnV5PWZ1bmN0aW9uKGEsYixjPSExKXtpZihjKXtpZihjPWEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpLGIuZGF0YSYmIWIuQkl8fGMpXy50digoKT0+e3ZhciBkPV8uQnYoYi5kYXRhKTt0eShhLGQpO295KGEsYixkKX0sImEiKSxfLll1KCgpPT52b2lkIF8uc3koYSkpfWVsc2UgdHlwZW9mIGIuZGF0YSE9PSJmdW5jdGlvbiImJihjPWIuZGF0YSx0eShhLGMpLG95KGEsYixjKSl9Owp0eT1mdW5jdGlvbihhLGIpe25hYSsrO3Z5KGEsYikmJl8uQ2soKS5HYSgoKT0+e18ucXgoXy5DaygpLCgpPT57aWYodnkoYSxiKSYmYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudD09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYSl7dmFyIGM7aWYoYS5nZXRBdHRyaWJ1dGUoImxheWVyIikpe3ZhciBkPWM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJsYXllciIpKSxlPV8ucHguZ2V0KGEpO2U/ZS5aZS5sYXllcj1kOnF5KGEsbmV3IHd5KGQpKTsoZD1yeShhKSkmJl8ucHguZ2V0KGEpPy5aZS5zZXRQYXJlbnQoZC5aZSl9ZWxzZShjPV8ucHguZ2V0KGEpKT9jPXB5KGMuWmUpOihjPXB5LGQ9bmV3IHd5LChlPXJ5KGEpKSYmZC5zZXRQYXJlbnQoZS5aZSkscXkoYSxkKSxjPWMoZCkpO2M/PyhjPTApO2Q9YS5nZXRBdHRyaWJ1dGUoImNsaWVudC12ZS10eXBlIik7ZT1OdW1iZXIoZCk7dmFyIGY9ITE7ZD0hMTt2YXIgaD1fLnB4LmdldChhKTtoJiYoaFtfLm94XSE9PWJ8fGUmJl8ucHguZ2V0KGEpPy5VZD09PQp2b2lkIDApJiYoaFtfLm94XT1iLGY9ZD1oLld4PSEwKTtfLnB4LmhhcyhhKSYmKF8ucHguZ2V0KGEpLlVkPWUpO2EudmlzdWFsRWxlbWVudCYmKGQ9ITApO3ZhciBrO18ueCgid2l6X25leHRfbGRfZml4X2NsaWVudF92ZV9zcGVjIik/az1fLkIoYj8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM6az1iPy5sb2dnaW5nRGlyZWN0aXZlcztfLngoIndpel9uZXh0X2NsaWVudF92ZV9wYXJlbnRfZml4Iik/ayYmKGsuY2xpZW50VmVTcGVjfHxrLnRyYWNraW5nUGFyYW1zKSYmKGg9KGg9Xy54eChhKSk/Xy5VeChoKTpudWxsLGs9VngoXy5oeCgpLGssaHx8dm9pZCAwLGMpKSYmKGEudmlzdWFsRWxlbWVudD1rKTprJiZrLmNsaWVudFZlU3BlYyYmKGg9Xy5VeChhKSxrPVZ4KF8uaHgoKSxrLGh8fHZvaWQgMCxjKSkmJihhLnZpc3VhbEVsZW1lbnQ9ayk7IWEudmlzdWFsRWxlbWVudCYmZSYmZiYmKGEudmVUeXBlPWUsaz12b2lkIDAsCl8ueCgid2l6X25leHRfY2xpZW50X3ZlX3BhcmVudF9maXgiKSYmKGU9Xy54eChhKSkmJihrPV8uVXgoZSkpLGs9Xy5FeChfLmh4KCksYSxrLGMpLGEudmlzdWFsRWxlbWVudD1rKTtkJiYoaz1fLnkoKS5yZXNvbHZlKF8uTHgpLF8uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmssbGF5ZXI6YyxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifSxOYzp7VmI6ITEsc3RhdGU6ImhpZGRlbiJ9fSkpfX0sMCl9LDgpfTt2eT1mdW5jdGlvbihhLGIpe3JldHVybiBiPy50cmFja2luZ1BhcmFtc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXN8fF8uQihiPy5yZW5kZXJlckNvbnRleHQsXy5LeCl8fGEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpPyEwOiExfTtvYWE9L15odHRwcz8kL2k7cGFhPVsiUE9TVCIsIlBVVCJdO2t5PVtdO18uSGEoVHgsXy5nZik7Xy5nPVR4LnByb3RvdHlwZTtfLmcuUHU9ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKTtfLnhiKGt5LHRoaXMpfTsKXy5nLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5yYSl0aHJvdyBFcnJvcigiUGFgIit0aGlzLmhhKyJgIithKTtiPWI/Yi50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuaGE9YTt0aGlzLkI9IiI7dGhpcy5aPSExO3RoaXMuaj0hMDt0aGlzLnJhPW5ldyBYTUxIdHRwUmVxdWVzdDt0aGlzLnJhLm9ucmVhZHlzdGF0ZWNoYW5nZT0oMCxfLnlnKSgoMCxfLkNhKSh0aGlzLmdyLHRoaXMpKTt0cnl7dGhpcy5nYT0hMCx0aGlzLnJhLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuZ2E9ITF9Y2F0Y2goZil7UXgodGhpcyxmKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKWZvcihsZXQgZiBvZiBkLmtleXMoKSljLnNldChmLApkLmdldChmKSk7ZWxzZSB0aHJvdyBFcnJvcigiUWFgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmPT4iY29udGVudC10eXBlIj09Zi50b0xvd2VyQ2FzZSgpKTtlPV8udS5Gb3JtRGF0YSYmYSBpbnN0YW5jZW9mIF8udS5Gb3JtRGF0YTshKF8uc2IocGFhLGIpPj0wKXx8ZHx8ZXx8Yy5zZXQoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Iik7Zm9yKGxldCBbZixoXW9mIGMpdGhpcy5yYS5zZXRSZXF1ZXN0SGVhZGVyKGYsaCk7dGhpcy55YSYmKHRoaXMucmEucmVzcG9uc2VUeXBlPXRoaXMueWEpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5yYSYmdGhpcy5yYS53aXRoQ3JlZGVudGlhbHMhPT10aGlzLm9hJiYodGhpcy5yYS53aXRoQ3JlZGVudGlhbHM9dGhpcy5vYSk7dHJ5e3RoaXMuRCYmKGNsZWFyVGltZW91dCh0aGlzLkQpLHRoaXMuRD1udWxsKSx0aGlzLlU+MCYmKHRoaXMuRD1zZXRUaW1lb3V0KHRoaXMuZEIuYmluZCh0aGlzKSwKdGhpcy5VKSksdGhpcy5JPSEwLHRoaXMucmEuc2VuZChhKSx0aGlzLkk9ITF9Y2F0Y2goZil7UXgodGhpcyxmKX19O18uZy5kQj1mdW5jdGlvbigpe3R5cGVvZiBfLkNxIT0idW5kZWZpbmVkIiYmdGhpcy5yYSYmKHRoaXMuQj0iVGltZWQgb3V0IGFmdGVyICIrdGhpcy5VKyJtcywgYWJvcnRpbmciLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTtfLmcuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJhJiZ0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxQeCh0aGlzKSl9O18uZy5sYT1mdW5jdGlvbigpe3RoaXMucmEmJih0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEpLFB4KHRoaXMsITApKTtUeC56Yi5sYS5jYWxsKHRoaXMpfTsKXy5nLmdyPWZ1bmN0aW9uKCl7dGhpcy5pYSgpfHwodGhpcy5nYXx8dGhpcy5JfHx0aGlzLnY/U3godGhpcyk6dGhpcy5seigpKX07Xy5nLmx6PWZ1bmN0aW9uKCl7U3godGhpcyl9O18uZy5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5yYX07Xy5nLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yYT90aGlzLnJhLnJlYWR5U3RhdGU6MCk9PTR9O18uZy5pc1N1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgYT1fLlJ4KHRoaXMpLGI7aWYoIShiPV8uc2YoYSkpKXtpZihhPWE9PT0wKWE9Xy5PYihTdHJpbmcodGhpcy5oYSkpLGE9IW9hYS50ZXN0KGEpO2I9YX1yZXR1cm4gYn07Xy5nLmdldExhc3RFcnJvcj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgdGhpcy5CPT09InN0cmluZyI/dGhpcy5COlN0cmluZyh0aGlzLkIpfTtfLmc9JHgucHJvdG90eXBlOwpfLmcuYWRkPWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO3ZhciBjPXRoaXMuai5nZXQoYSk7Y3x8dGhpcy5qLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7YXkodGhpcyk7YT1ieSh0aGlzLGEpO3JldHVybiB0aGlzLmouaGFzKGEpPyh0aGlzLnY9bnVsbCx0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoLHRoaXMuai5kZWxldGUoYSkpOiExfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy52PW51bGw7dGhpcy5vPTB9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7YXkodGhpcyk7cmV0dXJuIHRoaXMubz09MH07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtheSh0aGlzKTt0aGlzLmouZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Cl8uZy5yZD1mdW5jdGlvbigpe2F5KHRoaXMpO3ZhciBhPUFycmF5LmZyb20odGhpcy5qLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5qLmtleXMoKSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YVtkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyljLnB1c2goYltkXSl9cmV0dXJuIGN9O18uZy5NYz1mdW5jdGlvbihhKXtheSh0aGlzKTt2YXIgYj1bXTtpZih0eXBlb2YgYT09PSJzdHJpbmciKWN5KHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMuai5nZXQoYnkodGhpcyxhKSkpKTtlbHNle2E9QXJyYXkuZnJvbSh0aGlzLmoudmFsdWVzKCkpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9OwpfLmcuc2V0PWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO2N5KHRoaXMsYSkmJih0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoKTt0aGlzLmouc2V0KGEsW2JdKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gYjthPXRoaXMuTWMoYSk7cmV0dXJuIGEubGVuZ3RoPjA/U3RyaW5nKGFbMF0pOmJ9OwpfLmcudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLnYpcmV0dXJuIHRoaXMudjtpZighdGhpcy5qKXJldHVybiIiO3ZhciBhPVtdLGI9QXJyYXkuZnJvbSh0aGlzLmoua2V5cygpKTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGM9YltkXTtsZXQgZT1lbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKTtjPXRoaXMuTWMoYyk7Zm9yKGxldCBmPTA7ZjxjLmxlbmd0aDtmKyspe2xldCBoPWU7Y1tmXSE9PSIiJiYoaCs9Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoY1tmXSkpKTthLnB1c2goaCl9fXJldHVybiB0aGlzLnY9YS5qb2luKCImIil9O18uZy5jbG9uZT1mdW5jdGlvbigpe3ZhciBhPW5ldyAkeDthLnY9dGhpcy52O3RoaXMuaiYmKGEuaj1uZXcgTWFwKHRoaXMuaiksYS5vPXRoaXMubyk7cmV0dXJuIGF9OwpfLmcuZXh0ZW5kPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YXJndW1lbnRzLmxlbmd0aDtiKyspamFhKGFyZ3VtZW50c1tiXSxmdW5jdGlvbihjLGQpe3RoaXMuYWRkKGQsYyl9LHRoaXMpfTt2YXIgeHk9L1sjXC9cP0BdL2cscWFhPS9bI1w/XS9nLHJhYT0vWyNcPzpdL2csc2FhPS8jL2csbWFhPS9bI1w/QF0vZzsKXy5meS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMuQjtiJiZhLnB1c2goZXkoYix4eSwhMCksIjoiKTt2YXIgYz10aGlzLm87aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkkpJiZhLnB1c2goZXkoYix4eSwhMCksIkAiKSxhLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSkucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYz10aGlzLlksYyE9bnVsbCYmYS5wdXNoKCI6IixTdHJpbmcoYykpO2lmKGM9dGhpcy5qKXRoaXMubyYmYy5jaGFyQXQoMCkhPSIvIiYmYS5wdXNoKCIvIiksYS5wdXNoKGV5KGMsYy5jaGFyQXQoMCk9PSIvIj9xYWE6cmFhLCEwKSk7KGM9dGhpcy5LLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMudikmJmEucHVzaCgiIyIsZXkoYyxzYWEpKTtyZXR1cm4gYS5qb2luKCIiKX07Cl8uZnkucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jbG9uZSgpLGM9ISFhLkI7Yz9neShiLGEuQik6Yz0hIWEuSTtjP2IuST1hLkk6Yz0hIWEubztjP2Iubz1hLm86Yz1hLlkhPW51bGw7dmFyIGQ9YS5qO2lmKGMpaHkoYixhLlkpO2Vsc2UgaWYoYz0hIWEuail7aWYoZC5jaGFyQXQoMCkhPSIvIilpZih0aGlzLm8mJiF0aGlzLmopZD0iLyIrZDtlbHNle3ZhciBlPWIuai5sYXN0SW5kZXhPZigiLyIpO2UhPS0xJiYoZD1iLmouc2xpY2UoMCxlKzEpK2QpfWU9ZDtpZihlPT0iLi4ifHxlPT0iLiIpZD0iIjtlbHNlIGlmKGUuaW5kZXhPZigiLi8iKSE9LTF8fGUuaW5kZXhPZigiLy4iKSE9LTEpe2Q9ZS5sYXN0SW5kZXhPZigiLyIsMCk9PTA7ZT1lLnNwbGl0KCIvIik7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDspe2xldCBrPWVbaCsrXTtrPT0iLiI/ZCYmaD09ZS5sZW5ndGgmJmYucHVzaCgiIik6az09Ii4uIj8oKGYubGVuZ3RoPjF8fGYubGVuZ3RoPT0KMSYmZlswXSE9IiIpJiZmLnBvcCgpLGQmJmg9PWUubGVuZ3RoJiZmLnB1c2goIiIpKTooZi5wdXNoKGspLGQ9ITApfWQ9Zi5qb2luKCIvIil9ZWxzZSBkPWV9Yz9iLmo9ZDpjPWEuSy50b1N0cmluZygpIT09IiI7Yz9peShiLGEuSy5jbG9uZSgpKTpjPSEhYS52O2MmJihiLnY9YS52KTtyZXR1cm4gYn07Xy5meS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uZnkodGhpcyl9O18uZnkucHJvdG90eXBlLmFtPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uSGEoXy5qeSxfLmdmKTtfLmc9Xy5qeS5wcm90b3R5cGU7Xy5nLmVuYWJsZWQ9ITE7Xy5nLnNjPW51bGw7Xy5nLnNldEludGVydmFsPWZ1bmN0aW9uKGEpe3RoaXMudj1hO3RoaXMuc2MmJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnNjJiZ0aGlzLnN0b3AoKX07Cl8uZy5hQj1mdW5jdGlvbigpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9Xy5FYSgpLXRoaXMuRDthPjAmJmE8dGhpcy52Ki44P3RoaXMuc2M9dGhpcy5qLnNldFRpbWVvdXQodGhpcy5CLHRoaXMudi1hKToodGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKSx0aGlzLmRpc3BhdGNoRXZlbnQoInRpY2siKSx0aGlzLmVuYWJsZWQmJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpKX19O18uZy5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnNjfHwodGhpcy5zYz10aGlzLmouc2V0VGltZW91dCh0aGlzLkIsdGhpcy52KSx0aGlzLkQ9Xy5FYSgpKX07Xy5nLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKX07Xy5nLmxhPWZ1bmN0aW9uKCl7Xy5qeS56Yi5sYS5jYWxsKHRoaXMpO3RoaXMuc3RvcCgpO2RlbGV0ZSB0aGlzLmp9O18uQXk9bmV3IF8uSSgiY29udGludWF0aW9uQ29tbWFuZCIpO18uQnk9bmV3IF8uSSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO18uQ3k9bmV3IF8uSSgidW5kb0ZlZWRiYWNrRW5kcG9pbnQiKTtfLkR5PW5ldyBfLkkoInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgdGFhO3RhYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmVnaXN0ZXI9bmV3IE1hcH1jbGVhcigpe18ubXkodGhpcyk7dGhpcy5yZWdpc3Rlci5jbGVhcigpfX07Xy5FeT1uZXcgdGFhO3ZhciB1YWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e319Y29udGFpbnMoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmosYSl9Z2V0KGEpe2lmKHRoaXMuY29udGFpbnMoYSkpcmV0dXJuIHRoaXMualthXX1zZXQoYSxiKXt0aGlzLmpbYV09Yn1yZCgpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmopfXJlbW92ZShhKXtkZWxldGUgdGhpcy5qW2FdfX07Xy5HeT1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcHBpbmdzPW5ldyB1YWE7dGhpcy5qPW5ldyBTZXR9Z2V0KGEpe3ZhciBiPXRoaXMubWFwcGluZ3MuZ2V0KGEudG9TdHJpbmcoKSk7cmV0dXJuIF8ubnkodGhpcyxiLGEpfW9uTG9hZEVycm9yKGEpe3RoaXMuai5hZGQoYSk7cmV0dXJuKCk9Pnt0aGlzLmouZGVsZXRlKGEpfX19O18uSHk9bmV3IF8uVnMoIkFTWU5DX0lOTkVSVFVCRV9UUkFOU1BPUlRfVE9LRU4iKTtfLkl5PW5ldyBfLlZzKCJJTk5FUlRVQkVfVFJBTlNQT1JUX1RPS0VOIik7Xy5KeT1uZXcgXy5WcygiUkVTUE9OU0VfUFJPQ0VTU09SX01BUF9UT0tFTiIpO3ZhciB3eT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmxheWVyPWF9c2V0UGFyZW50KGEpe3RoaXMucGFyZW50PWF9fTt2YXIgbmFhPTA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udmFhPSJwbGF5ZXJfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB4YWEseWFhLHphYSxWeSwkeSxheixieixjeixBYWEsaHosQmFhLENhYSxpeixreixFYWEsdHosd2FhLFJ5LFN5LEhhYSxJYWEsRGFhLEZhYSxkeixqeixleixmejtfLkt5PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkJmKXJldHVybiBhO3ZhciBiPW5ldyBfLkJmKF8uZ2QpO18uQWYoYiwyLGEpO3JldHVybiBifTtfLkx5PWZ1bmN0aW9uKGEsYil7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18uTXk9ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYyliPTMxKmIrYS5jaGFyQ29kZUF0KGMpPj4+MDtyZXR1cm4gYn07Xy5OeT1mdW5jdGlvbihhKXthPV8uTWIoYSk7cmV0dXJuIF8uSWIobnVsbCxudWxsLG51bGwsbnVsbCxhWzVdLGFbNl0sYVs3XSl9O18uT3k9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCIjIik7cmV0dXJuIGI8MD9hOmEuc2xpY2UoMCxiKX07Cl8uUHk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5zZWFyY2goXy5ZYiksZD0wLGUsZj1bXTsoZT1fLlhiKGEsZCxiLGMpKT49MDspZi5wdXNoKGEuc3Vic3RyaW5nKGQsZSkpLGQ9TWF0aC5taW4oYS5pbmRleE9mKCImIixlKSsxfHxjLGMpO2YucHVzaChhLnNsaWNlKGQpKTtyZXR1cm4gZi5qb2luKCIiKS5yZXBsYWNlKHdhYSwiJDEiKX07eGFhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iJjEyOD8wOi0xLGU9YS5sZW5ndGgsZjtpZihmPSEhZSlmPWFbZS0xXSxmPWYhPW51bGwmJnR5cGVvZiBmPT09Im9iamVjdCImJmYuY29uc3RydWN0b3I9PT1PYmplY3Q7dmFyIGg9ZSsoZj8tMTowKTtmb3IoYj1iJjEyOD8xOjA7YjxoO2IrKyljKGItZCxhW2JdKTtpZihmKXthPWFbZS0xXTtmb3IobGV0IGsgaW4gYSkhaXNOYU4oaykmJmMoK2ssYVtrXSl9fTtfLlF5PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09ImJvb2xlYW4iKXJldHVybiBhO2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuISFhfTsKeWFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uR2EoXy5KYyk7cmV0dXJuIGI/YVtiXTp2b2lkIDB9O3phYT1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOnJldHVybiBSeXx8KFJ5PVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/U3l8fChTeT1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLGFdO2Nhc2UgIm9iamVjdCI6cmV0dXJuIGF9fTtfLlR5PWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDI1NiZhKX07Xy5VeT1mdW5jdGlvbihhLGIpe3JldHVybiBhPSgyJmI/YXwyOmEmLTMpJi0yNzN9O1Z5PWZ1bmN0aW9uKGEsYil7MiZiJiYoYXw9Mik7cmV0dXJuIGF8MX07Cl8uV3k9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCxrKXt2YXIgbD1fLkJjKGEsYyk7Zj1sPzE6ZjtoPSEhaHx8Zj09PTM7bD1rJiYhbDsoZj09PTJ8fGwpJiZfLm13KGEpJiYoYj1hLkRhLGM9YltfLkFjXXwwKTthPV8uZGQoYixlKTtrPUFycmF5LmlzQXJyYXkoYSk/YTpfLm1yO3ZhciBtPWs9PT1fLm1yPzc6a1tfLkFjXXwwLG49VnkobSxjKTtpZihhPSEoNCZuKSl7dmFyIHA9ayxyPWM7bGV0IHQ9ISEoMiZuKTt0JiYocnw9Mik7bGV0IHY9IXQsej0hMCxFPTAsQT0wO2Zvcig7RTxwLmxlbmd0aDtFKyspe2xldCBGPV8ua3cocFtFXSxkLHIpO2lmKEYgaW5zdGFuY2VvZiBkKXtpZighdCl7bGV0IEM9Xy5CYyhGKTt2JiYodj0hQyk7eiYmKHo9Qyl9cFtBKytdPUZ9fUE8RSYmKHAubGVuZ3RoPUEpO258PTQ7bj16P24mLTQwOTc6bnw0MDk2O249dj9ufDg6biYtOX1uIT09bSYmKGtbXy5BY109biwyJm4mJk9iamVjdC5mcmVlemUoaykpO2lmKGwmJiEoOCZufHwhay5sZW5ndGgmJihmPT09MXx8CihmIT09ND8wOjImbnx8ISgxNiZuKSYmMzImYykpKSl7Xy5UeShuKSYmKGs9Wy4uLmtdLG49Xy5VeShuLGMpLGM9Xy5wdyhiLGMsZSxrKSk7ZD1rO2w9bjtmb3IobT0wO208ZC5sZW5ndGg7bSsrKXA9ZFttXSxuPV8ubHcocCkscCE9PW4mJihkW21dPW4pO2x8PTg7bj1sPWQubGVuZ3RoP2x8NDA5NjpsJi00MDk3O2tbXy5BY109bn1kPWs7bD1rPW47Zj09PTF8fChmIT09ND8wOjIma3x8ISgxNiZrKSYmMzImYyk/Xy5UeShrKXx8KGt8PSFkLmxlbmd0aHx8YSYmISg0MDk2JmspfHwzMiZjJiYhKDQwOTYma3x8MTYmayk/MjoyNTYsayE9PWwmJihkW18uQWNdPWspLE9iamVjdC5mcmVlemUoZCkpOihmPT09MiYmXy5UeShrKSYmKGQ9Wy4uLmRdLGw9MCxrPV8uVXkoayxjKSxjPV8ucHcoYixjLGUsZCkpLF8uVHkoayl8fChofHwoa3w9MTYpLGshPT1sJiYoZFtfLkFjXT1rKSkpOzIma3x8ISg0MDk2Jmt8fDE2JmspfHxfLm93KGIsYyk7cmV0dXJuIGR9OwpfLlh5PWZ1bmN0aW9uKGEsYil7Zm9yKDtiPjEyNzspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj4+PTc7YS5qLnB1c2goYil9O18uWXk9ZnVuY3Rpb24oYSxiKXtiLmxlbmd0aCE9PTAmJihhLnYucHVzaChiKSxhLm8rPWIubGVuZ3RoKX07Xy5aeT1mdW5jdGlvbihhLGIsYyl7Xy5YeShhLmosYio4K2MpfTskeT1mdW5jdGlvbihhLGIpe18uWnkoYSxiLDIpO2I9YS5qLmVuZCgpO18uWXkoYSxiKTtiLnB1c2goYS5vKTtyZXR1cm4gYn07YXo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBvcCgpO2ZvcihjPWEubythLmoubGVuZ3RoKCktYztjPjEyNzspYi5wdXNoKGMmMTI3fDEyOCksYz4+Pj03LGEubysrO2IucHVzaChjKTthLm8rK307Yno9ZnVuY3Rpb24oYSxiKXtpZihhIGluc3RhbmNlb2YgXy5NcilyZXR1cm4gYS5EYTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBfLlhjKGEsYlswXSxiWzFdKX07CmN6PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtBYWE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSkmJiEhYS5sZW5ndGgmJnR5cGVvZiBhWzBdPT09Im51bWJlciImJmFbMF0+MH07Cmh6PWZ1bmN0aW9uKGEpe3ZhciBiPUJhYSxjPUNhYSxkPWFbZHpdO2lmKGQpcmV0dXJuIGQ7ZD17fTtkLlpIPWE7ZC5PcT16YWEoYVswXSk7dmFyIGU9YVsxXSxmPTE7ZSYmZS5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQuZXh0ZW5zaW9ucz1lLGU9YVsrK2ZdLHR5cGVvZiBlPT09ImZ1bmN0aW9uIiYmKGQuU3g9ITAsZXo/Pyhlej1lKSxmej8/KGZ6PWFbZisxXSksZT1hW2YrPTJdKSk7Zm9yKHZhciBoPXt9O2UmJkFhYShlKTspe2Zvcih2YXIgaz0wO2s8ZS5sZW5ndGg7aysrKWhbZVtrXV09ZTtlPWFbKytmXX1mb3Ioaz0xO2UhPT12b2lkIDA7KXt0eXBlb2YgZT09PSJudW1iZXIiJiYoays9ZSxlPWFbKytmXSk7bGV0IG47dmFyIGw9dm9pZCAwO2UgaW5zdGFuY2VvZiBfLmd6P249ZToobj1EYWEsZi0tKTtpZihuPy5vKXtlPWFbKytmXTtsPWE7dmFyIG09Zjt0eXBlb2YgZT09PSJmdW5jdGlvbiImJihlPWUoKSxsW21dPWUpO2w9ZX1lPWFbKytmXTttPWsrMTt0eXBlb2YgZT09PSJudW1iZXIiJiYKZTwwJiYobS09ZSxlPWFbKytmXSk7Zm9yKDtrPG07aysrKXtsZXQgcD1oW2tdO2w/YyhkLGssbixsLHApOmIoZCxrLG4scCl9fXJldHVybiBhW2R6XT1kfTtCYWE9ZnVuY3Rpb24oYSxiLGMpe2FbYl09Yy5qfTtDYWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixoPWMuajthW2JdPShrLGwsbSk9PmgoayxsLG0sZnx8KGY9aHooZCkuT3EpLGV8fChlPWl6KGQpKSl9O2l6PWZ1bmN0aW9uKGEpe3ZhciBiPWFbanpdO2lmKCFiKXtsZXQgYz1oeihhKTtiPShkLGUpPT5reihkLGUsYyk7YVtqel09Yn1yZXR1cm4gYn07a3o9ZnVuY3Rpb24oYSxiLGMpe3hhYShhLGFbXy5BY118MCwoZCxlKT0+e2lmKGUhPW51bGwpe3ZhciBmPUVhYShjLGQpO2Y/ZihiLGUsZCk6ZDw1MDB8fF8ueGMoXy5rciwzKX19KTsoYT15YWEoYSkpJiZhLmN3KChkLGUsZik9PntfLll5KGIsYi5qLmVuZCgpKTtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCsrKV8uWXkoYixfLnd3KGZbZF0pfHxuZXcgVWludDhBcnJheSgwKSl9KX07CkVhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWFbYl07aWYoYylyZXR1cm4gYztpZihjPWEuZXh0ZW5zaW9ucylpZihjPWNbYl0pe2M9QXJyYXkuaXNBcnJheShjKT9jWzBdaW5zdGFuY2VvZiBfLmd6P2M6W0ZhYSxjXTpbYyx2b2lkIDBdO3ZhciBkPWNbMF0uajtpZihjPWNbMV0pe2xldCBlPWl6KGMpLGY9aHooYykuT3E7Yz1hLlN4P2Z6KGYsZSk6KGgsayxsKT0+ZChoLGssbCxmLGUpfWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTtfLmx6PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9O18ubXo9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5ReShiKTtiIT1udWxsJiYoXy5aeShhLGMsMCksYS5qLmoucHVzaChiPzE6MCkpfTtfLm56PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtfLnB6PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBfLm96KHRoaXMsYSl9fTsKXy5xej1mdW5jdGlvbigpe2lmKCFfLkxqLmlzRW5hYmxlZCgpKXJldHVybiExO2lmKCFfLkxqLmlzRW1wdHkoKSlyZXR1cm4hMDtfLkxqLnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse3ZqOjYwfSk7aWYoXy5Mai5nZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIpIT09IjEiKXJldHVybiExO18uTGoucmVtb3ZlKCJURVNUQ09PS0lFU0VOQUJMRUQiKTtyZXR1cm4hMH07Xy5yej1mdW5jdGlvbigpe3JldHVybihfLmhyfHxfLmlyKSYmXy5NaygiYXBwbGV3ZWJraXQiKSYmIV8uTWsoInZlcnNpb24iKSYmKCFfLk1rKCJzYWZhcmkiKXx8Xy5NaygiZ3NhLyIpKX07Xy5zej1mdW5jdGlvbigpe3JldHVybiBfLk5kKCl8fF8ucnooKXx8Xy5lciYmXy5NaygidmVyc2lvbi8iKT8hMDpfLncoIkVPTV9WSVNJVE9SX0RBVEEiKT8hMTohMH07Cl8udXo9ZnVuY3Rpb24oYSxiLGMsZD0hMCl7dmFyIGU9Xy53KCJWQUxJRF9TRVNTSU9OX1RFTVBEQVRBX0RPTUFJTlMiLFtdKSxmPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2YmJmUucHVzaChmKTtmPV8uUGIoYSk7aWYoXy5zYihlLGYpPj0wfHwhZiYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTApaWYoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksXy5MeShlLGEpLGE9ZS5ocmVmKWlmKGE9Xy5OeShhKSxhPV8uT3koYSkpZCYmIWIuY3NuJiYoYi5pdGN0fHxiLnZlZCkmJihiPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl9LGIpKSxjPyhjPXBhcnNlSW50KGMsMTApLGlzRmluaXRlKGMpJiZjPjAmJnR6KGEsYixjKSk6dHooYSxiKX07dHo9ZnVuY3Rpb24oYSxiLGMpe2E9Xy52eihhKTtiPWI/Xy5VYihiKToiIjtjPWN8fDU7Xy5zeigpJiZfLk1qKGEsYixjKX07Xy52ej1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgR2FhKWE9Xy5QeShhLGIpO3JldHVybiJTVC0iK18uTXkoYSkudG9TdHJpbmcoMzYpfTsKXy53ej17fTt3YWE9L1s/Jl0oJHwjKS87SGFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLmoubGVuZ3RofWVuZCgpe3ZhciBhPXRoaXMuajt0aGlzLmo9W107cmV0dXJuIGF9d3JpdGVVaW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfXdyaXRlSW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfX07SWFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy52PVtdO3RoaXMubz0wO3RoaXMuaj1uZXcgSGFhfX07Xy5nej1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO2E9Xy5HYShfLnpyKTt0aGlzLm89ISFhJiZiPT09YXx8ITF9fTtEYWE9bmV3IF8uZ3ooY3osXy56cik7RmFhPW5ldyBfLmd6KGN6LF8uenIpO2R6PVN5bWJvbCgpO2p6PVN5bWJvbCgpOwpfLm96PShhLGIpPT57dmFyIGM9bmV3IElhYTtreihhLkRhLGMsaHooYikpO18uWXkoYyxjLmouZW5kKCkpO2E9bmV3IFVpbnQ4QXJyYXkoYy5vKTtiPWMudjt2YXIgZD1iLmxlbmd0aCxlPTA7Zm9yKGxldCBmPTA7ZjxkO2YrKyl7bGV0IGg9YltmXTthLnNldChoLGUpO2UrPWgubGVuZ3RofWMudj1bYV07cmV0dXJuIGF9O18ueHo9Xy5seihfLm16LF8uQXIpOwpfLnl6PWZ1bmN0aW9uKGEsYixjPV8uenIpe3JldHVybiBuZXcgXy5neihiLGMpfShmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaigpIT09MilyZXR1cm4hMTt2YXIgZj1hLm87ZD1fLlhjKHZvaWQgMCxkWzBdLGRbMV0pO3ZhciBoPWJbXy5BY118MDtpZihoJjIpdGhyb3cgRXJyb3IoKTt2YXIgaz1oJjEyOD9fLnd6OnZvaWQgMCxsPV8uZGQoYixjLGspO2w9QXJyYXkuaXNBcnJheShsKT9sOl8ubXI7dmFyIG09bD09PV8ubXI/NzpsW18uQWNdfDAsbj1WeShtLGgpO2lmKDImbnx8Xy5UeShuKXx8MTYmbiluPT09bXx8Xy5UeShuKXx8KGxbXy5BY109biksbD1bLi4ubF0sbT0wLG49Xy5VeShuLGgpLF8ucHcoYixoLGMsbCxrKTtuJj0tMTM7biE9PW0mJihsW18uQWNdPW4pO2wucHVzaChkKTtmLmNhbGwoYSxkLGUpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpe2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8ubnooYSxiW2ZdLGMsZCxlKTsKYT1iW18uQWNdfDA7YSYxfHwoYltfLkFjXT1hfDEpfX0pO18ueno9bmV3IF8uSSgic2lnbmFsU2VydmljZUVuZHBvaW50Iik7Xy5Bej1uZXcgXy5JKCJwbGF5bGlzdEVkaXRFbmRwb2ludCIpO3ZhciBHYWE9ImFic29sdXRlX2V4cGVyaW1lbnRzIGFwcCBjb25kaXRpb25hbF9leHBlcmltZW50cyBkZWJ1Z2NzcyBkZWJ1Z2pzIGV4cGZsYWcgZm9yY2VkX2V4cGVyaW1lbnRzIHBiaiBwYmpyZWxvYWQgc2JiIHNwZiBzcGZyZWxvYWQgc3JfYm5zX2FkZHJlc3Mgc3R0aWNrIi5zcGxpdCgiICIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRXosRnosQnosR3osSmFhO18uQ3o9ZnVuY3Rpb24oYSl7cmV0dXJuISEoKEJ6KGBmJHtNYXRoLmZsb29yKGEvMzEpKzF9YCl8fDApJjE8PGElMzEpfTtfLkR6PWZ1bmN0aW9uKGEsYil7dmFyIGM9YGYke01hdGguZmxvb3IoYS8zMSkrMX1gO2E9MTw8YSUzMTt2YXIgZD1CeihjKXx8MDtkPWI/ZHxhOmQmfmE7ZD09PTA/ZGVsZXRlIF8ueHNbY106Xy54c1tjXT1kLnRvU3RyaW5nKDE2KS50b1N0cmluZygpfTtFej1mdW5jdGlvbihhKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChhKSl0aHJvdyBFcnJvcigiZmFgIithKTt9O0Z6PWZ1bmN0aW9uKGEpe2lmKCEvXlx3KyQvLnRlc3QoYSkpdGhyb3cgRXJyb3IoImdhYCIrYSk7fTtCej1mdW5jdGlvbihhKXthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChhKT9wYXJzZUludChhLDE2KTpudWxsfTsKXy5Iej1mdW5jdGlvbigpe0d6fHwoR3o9bmV3IEphYSk7cmV0dXJuIEd6fTtfLkl6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT57aWYoXy5CcShhKSlyZXR1cm4hMTtfLkFxKGEsdm9pZCAwLHZvaWQgMCk7cmV0dXJuITB9KSgpfTsKSmFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPV8udygiQUxUX1BSRUZfQ09PS0lFX05BTUUiLCJQUkVGIik7dGhpcy5vPV8udygiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIGE9Xy5Mai5nZXQodGhpcy5qLHZvaWQgMCk7YSYmdGhpcy5wYXJzZShhKX1nZXQoYSxiKXtGeihhKTtFeihhKTthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGw/YTpiP2I6IiJ9c2V0KGEsYil7RnooYSk7RXooYSk7aWYoYj09bnVsbCl0aHJvdyBFcnJvcigiZWEiKTtfLnhzW2FdPWIudG9TdHJpbmcoKX1yZW1vdmUoYSl7RnooYSk7RXooYSk7ZGVsZXRlIF8ueHNbYV19c2F2ZSgpe18uTWoodGhpcy5qLHRoaXMuZHVtcCgpLDYzMDcyRTMsdGhpcy5vLCEwKX1jbGVhcigpe2ZvcihsZXQgYSBpbiBfLnhzKWRlbGV0ZSBfLnhzW2FdfWR1bXAoKXt2YXIgYT1bXTtmb3IobGV0IGIgaW4gXy54cylfLnhzLmhhc093blByb3BlcnR5KGIpJiYKYS5wdXNoKGAke2J9PWArZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhfLnhzW2JdKSkpO3JldHVybiBhLmpvaW4oIiYiKX1wYXJzZShhKXthPWRlY29kZVVSSUNvbXBvbmVudChhKS5zcGxpdCgiJiIpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgYj1hW2NdLnNwbGl0KCI9Iik7bGV0IGQ9YlswXTsoYj1iWzFdKSYmKF8ueHNbZF09Yi50b1N0cmluZygpKX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExhYSxLYWE7Xy5Kej1mdW5jdGlvbihhLGIpe2Eudi5zZXQoYi5qYSxiKTt2YXIgYz1hLmouZ2V0KGIuamEpO2lmKGMpdHJ5e2MuUWgoYS5yZXNvbHZlKGIuamEpKX1jYXRjaChkKXtjLlF6KGQpfX07Xy5Lej1mdW5jdGlvbihhLGI9Xy5hYil7cmV0dXJuIF8uYmIoYSxiKXx8Xy5GcX07Xy5Mej1mdW5jdGlvbigpe3JldHVybiBfLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07Xy5Nej1mdW5jdGlvbihhLGIpe3ZhciBjPV8uTHooKTtpZihjJiZiKXtsZXQgZD1jLnN1YnNjcmliZShhLGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLGY9KCk9PntfLlJzW2RdJiZiLmFwcGx5JiZ0eXBlb2YgYi5hcHBseT09ImZ1bmN0aW9uIiYmYi5hcHBseSh3aW5kb3csZSl9O3RyeXtfLlRzW2FdP2YoKTpfLm1qKGYsMCl9Y2F0Y2goaCl7Xy5VaShoKX19LHZvaWQgMCk7Xy5Sc1tkXT0hMDtfLlNzW2FdfHwoXy5Tc1thXT1bXSk7Xy5Tc1thXS5wdXNoKGQpO3JldHVybiBkfXJldHVybiAwfTsKXy5Oej1mdW5jdGlvbihhKXt2YXIgYj1fLkx6KCk7YiYmKHR5cGVvZiBhPT09Im51bWJlciI/YT1bYV06dHlwZW9mIGE9PT0ic3RyaW5nIiYmKGE9W3BhcnNlSW50KGEsMTApXSksXy50YihhLGM9PntiLnVuc3Vic2NyaWJlQnlLZXkoYyk7ZGVsZXRlIF8uUnNbY119KSl9O18uT3o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkx6KCk7cmV0dXJuIGM/Yy5wdWJsaXNoLmFwcGx5KGMsYXJndW1lbnRzKTohMX07Xy5Qej1mdW5jdGlvbihhKXtyZXR1cm4gS2FhW2FdfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9O0xhYT1mdW5jdGlvbigpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZT8uKCJtYXJrIik7YSYmYS5mb3JFYWNoKGI9PntiLm5hbWUuc3RhcnRzV2l0aCgibWFya18iKSYmXy5zcS5jbGVhck1hcmtzPy4oYi5uYW1lKX0pfTtfLlF6PWZ1bmN0aW9uKGEpe18ucmEoInl0Z2xvYmFsLnRpbWluZyIrKGF8fCIiKSsicmVhZHlfIiwhMCl9OwpfLlJ6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT5fLkJxKCJfc3RhcnQiLGEpKSgpfTtfLlN6PWZ1bmN0aW9uKGEpe18uVmkoKCk9PntfLlJ6KGEpJiZfLkFxKCJhYSIsdm9pZCAwLGEpO3ZhciBiPWF8fCIiLGM9Xy50bygpO2NbYl0mJmRlbGV0ZSBjW2JdO3ZhciBkPXt0aW1lck5hbWU6YixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07Xy5zbyhkKTtjW2JdPWQ7Xy5qbyhhKTsoMCxfLmJ0KSgpO0xhYSgpO2F8fChfLncoIlRJTUlOR19BQ1RJT04iKSYmXy5RaSgiUFJFVklPVVNfQUNUSU9OIixfLncoIlRJTUlOR19BQ1RJT04iKSksXy5RaSgiVElNSU5HX0FDVElPTiIsIiIpKX0pKCl9OwpfLlR6PWZ1bmN0aW9uKGEsYj17fSxjLGQpe18uVmkoKCk9Pnt2YXIgZT1jP2M6YTtfLlN6KGUpO3ZhciBmPWIuc2FtcGxlUmF0ZTtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fGY9PT12b2lkIDB8fGY8PTEpZj0hMTtlbHNle3ZhciBoPV8ucG8oZSk7Zj1fLkduKGgpJWYhPT0wfWYmJihfLmtvKGUpLmFjdGlvbkRpc2FibGVkPSEwKTtfLnVvKGV8fCIiKS5pbmZvLmFjdGlvblR5cGU9YTtiLmN0dEF1dGhJbmZvJiYoXy5rbyhlKS5jdHRBdXRoSW5mbz1iLmN0dEF1dGhJbmZvKTtfLlFpKGUrIlRJTUlOR19BQ1RJT04iLGEpO18uVmkoXy5vcSkoYi5zdGFydFRpbWUsZSk7Zj17YWN0aW9uVHlwZTpkfHxfLlB6KGEpfTtiLlRKJiYoZi5wcmV2aW91c0FjdGlvbj1fLlB6KF8udygiVElNSU5HX0FDVElPTiIpKSk7KGg9Xy5pcSgpKSYmaCE9PSJVTkRFRklORURfQ1NOIiYmKGYuY2xpZW50U2NyZWVuTm9uY2U9aCk7Xy56cShmLGUpO18uUXooZSl9KSgpfTsKS2FhPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9O18uVXo9bmV3IF8uSSgiZmVlZGJhY2tFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZ6PWZ1bmN0aW9uKGEsYil7aWYoYiE9PW51bGwmJmIhPT12b2lkIDApe2lmKHR5cGVvZiBiIT09Im9iamVjdCImJnR5cGVvZiBiIT09ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJkIik7aWYoYz09PXZvaWQgMCl7aWYoIVN5bWJvbC5kaXNwb3NlKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTt2YXIgYz1iW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgYyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZyIpO2Euc3RhY2sucHVzaCh7dmFsdWU6YixkaXNwb3NlOmMsYXN5bmM6ITF9KX1yZXR1cm4gYn07Cl8uV3o9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihmKXthLmVycm9yPWEuaGFzRXJyb3I/bmV3IFN1cHByZXNzZWRFcnJvcihmLGEuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTpmO2EuaGFzRXJyb3I9ITB9ZnVuY3Rpb24gYygpe2Zvcig7ZD1hLnN0YWNrLnBvcCgpOyl0cnl7aWYoIWQuYXN5bmMmJmU9PT0xKXJldHVybiBlPTAsYS5zdGFjay5wdXNoKGQpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYyk7aWYoZC5kaXNwb3NlKXt2YXIgZj1kLmRpc3Bvc2UuY2FsbChkLnZhbHVlKTtpZihkLmFzeW5jKXJldHVybiBlfD0yLFByb21pc2UucmVzb2x2ZShmKS50aGVuKGMsZnVuY3Rpb24oaCl7YihoKTtyZXR1cm4gYygpfSl9ZWxzZSBlfD0xfWNhdGNoKGgpe2IoaCl9aWYoZT09PTEpcmV0dXJuIGEuaGFzRXJyb3I/UHJvbWlzZS5yZWplY3QoYS5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKCk7aWYoYS5oYXNFcnJvcil0aHJvdyBhLmVycm9yO312YXIgZCwKZT0wO2MoKX07Xy5Yej1mdW5jdGlvbigpe3RyeXtyZXR1cm4hIXNlbGYubG9jYWxTdG9yYWdlfWNhdGNoe3JldHVybiExfX07Xy5Zej1uZXcgXy5JKCJzaGFyZUVuZHBvaW50Iik7Xy5aej1uZXcgXy5JKCJzaGFyZUVudGl0eUVuZHBvaW50Iik7Xy5NYWE9bmV3IF8uSSgic2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtfLk5hYT1uZXcgXy5JKCJ3ZWJQbGF5ZXJTaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFBPWZ1bmN0aW9uKGEsYj17fSxjKXthPShhPWEgaW4gXy4kej9fLiR6W2FdOmMpfHwiIjtmb3IobGV0IGQgaW4gYiljPSgpPT5TdHJpbmcoYltkXSksYT1hLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFwkXFx7IitkKyJcXH0iLCJnaSIpLGMpLGE9YS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrZCwiZ2kiKSxjKTtyZXR1cm4gYX07Xy4kej13aW5kb3cueXQmJndpbmRvdy55dC5tc2dzX3x8d2luZG93Lnl0Y2ZnJiZ3aW5kb3cueXRjZmcubXNnc3x8e307Xy5yYSgieXQubXNnc18iLF8uJHopOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY0E7Xy5iQT1mdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoIjoiKTtyZXR1cm4gYj09PS0xP3tNbTphfTp7TW06YS5zdWJzdHJpbmcoMCxiKSxkYXRhc3luY0lkOmEuc3Vic3RyaW5nKGIrMSl9fTtfLmVBPWFzeW5jIGZ1bmN0aW9uKCl7cmV0dXJuIGNBIT09dm9pZCAwP2NBOmNBPW5ldyBQcm9taXNlKGFzeW5jIGE9Pnt0cnl7YXdhaXQgXy5kQS5vcGVuKCJ0ZXN0LW9ubHkiKSxhd2FpdCBfLmRBLmRlbGV0ZSgidGVzdC1vbmx5Iil9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIEVycm9yJiZiLm5hbWU9PT0iU2VjdXJpdHlFcnJvciIpe2EoITEpO3JldHVybn19YSgiY2FjaGVzImluIHdpbmRvdyl9KX07Xy5kQT1fLnUuY2FjaGVzOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdBPW5ldyBXZWFrTWFwO18uaEE9bmV3IFNldDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiYmFzZSIpOwp2YXIgQVosQlosQ1osY3JhLERaLGVyYSxFWixGWixIWixLWixMWixNWixmcmEsUFosUVosU1osZ3JhLFZaLGNfLGRfLGVfLGZfLGdfLGhfLGlfLGpfLGtfLGlyYSxqcmEsa3JhLGxyYSxucmEsbV8sbl8sb18scF8scV8scl8sc18sdF8sdV8sdl8sd18seF8scHJhLHlfLHpfLHFyYSxBXyxycmEsc3JhLHRyYSxCXyxDXyxEXyxGXyxHXyxIXyxJXyxKXyxLXyxMXyxNXyxPXyxQXyxRXyxSXyxTXyxocmEsdXJhLHZyYSxUXyxVXyxWXyxXXyxYXyxZXyx3cmEsJF8sYTAsYjAseHJhLGQwLHlyYSxlMCx6cmEsQnJhLENyYSxEcmEsZzAsRXJhLEZyYSxHcmEsaDAsaTAsbDAsSHJhLGswLGowLG4wLElyYSxKcmEsbzAsS3JhLHAwLHEwLHIwLExyYSxNcmEsTnJhLE9yYSxQcmEsUXJhLHQwLHYwLHcwLHgwLFNyYSxUcmEseTAsQTAsQjAsQzAsRDAsRTAsRzAsVXJhLFZyYSxIMCxXcmEsWHJhLFlyYSxJMCxKMCxTMCxUMCxQMCxVMCxMMCxRMCxLMCxPMCxNMCxOMCxacmEsUjAsJHJhLFYwLGFzYSxjc2EsClgwLFkwLFowLCQwLGExLGRzYSxiMSxjMSxlc2EsZnNhLGdzYSxkMSxmMSxoc2EsZzEsanNhLGtzYSxqMSxsc2EsazEsbDEsbTEsbXNhLHIxLHNzYSx1c2EsdjEseTEsdzEsdnNhLHhzYSxCMSxDMSxEMSx5c2EsRTEsRjEsQXNhLEJzYSx6c2EsQ3NhLEVzYSxGc2EsR3NhLHFzYSxvMSxuc2EsSTEsSHNhLEcxLElzYSxKc2EsSzEsTTEsTjEsS3NhLE8xLFAxLExzYSxSMSxPc2EsUHNhLFJzYSxRMSxVMSxXMSxUc2EsJDEsWDEsVXNhLFZzYSxXc2EsWHNhLGF0YSxidGEsZjIsJHNhLFpzYSxhMixlMixiMixjdGEsZzIsaDIsaTIsazIsbDIsZXRhLGZ0YSxndGEsbjIscDIsbzIsdDIsanRhLHIyLGl0YSx3Mix2MixtdGEsbnRhLG90YSxwdGEseDIseTIsejIsQTIsQzIsdXRhLHZ0YSxFMixGMix3dGEsRzIseXRhLFpfLEkyLEoyLEwyLHp0YSxOMixPMixQMixCdGEsUTIsRHRhLFMyLFQyLFUyLEV0YSxWMixXMixGdGEsR3RhLGEzLGIzLEl0YSxlMyxKdGEsZDMsZjMsS3RhLEx0YSxNdGEsYzMsSHRhLApoMyxOdGEsazMsT3RhLFB0YSxRdGEsbTMsbjMsbDMsUnRhLG8zLHAzLFN0YSxxMyxUdGEscjMsczMsdzMsVXRhLHgzLHkzLFZ0YSxZdGEsWnRhLEMzLEQzLEUzLCR0YSxidWEsY3VhLEczLGR1YSxldWEsWHRhLEgzLEkzLGZ1YSxndWEsYzQsZDQsZTQsaHVhLGY0LGl1YSxqdWEsWXNhLGh0YSxrdWEsbnVhLGc0LGk0LHB1YSxoNCxrNCxzdWEsdHVhLGw0LG00LHZ1YSx3dWEsbzQseHVhLHl1YSxxNCx6dWEsQXVhLEJ1YSxEdWEsR3VhLHY0LEp1YSx3NCxJdWEsSHVhLEt1YSx4NCx5NCx6NCxBNCxENCxDNCxCNCxFNCxNdWEsRjQsT3VhLFB1YSxRdWEsUnVhLFN1YSxUdWEsVXVhLEk0LEs0LFp1YSwkdWEsUTQsTTQsVnVhLFI0LFM0LGF2YSxidmEsY3ZhLGR2YSxkcmEsQTMsR1osSVosSlosTl8sTlosT1osUlosVFosVVosJFosYV8sYl8sWlosWVosV1osWFosbF8sRV8sb3JhLFY0LGV2YSxXNCxYNCxmdmEsWTQsWjQsZ3ZhLGh2YSxpdmEsanZhLGt2YSwkNCxsdmEsbXZhLGE1LG52YSxiNSwKYzUsb3ZhLHB2YTtBWj1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O0JaPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5xdyhhLGIsQVooYykpfTtDWj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCl7aWYoISgwLF8ud3IpKGMpKXRocm93IF8uSXcoImVudW0iKTtjfD0wfXJldHVybiBfLnF3KGEsYixjKX07Y3JhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaChhLmNoYXJDb2RlQXQoYykpO3JldHVybiBifTtEWj1mdW5jdGlvbihhLGIpe3JldHVybiBhW2JdKyhhW2IrMV08PDgpKyhhW2IrMl08PDE2KSsoYVtiKzNdPDwyNCl9OwplcmE9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2MtPWQ7Yy09ZTtjXj1lPj4+MTM7ZC09ZTtkLT1jO2RePWM8PDg7ZS09YztlLT1kO2VePWQ+Pj4xMztjLT1kO2MtPWU7Y149ZT4+PjEyO2QtPWU7ZC09YztkXj1jPDwxNjtlLT1jO2UtPWQ7ZV49ZD4+PjU7Yy09ZDtjLT1lO2NePWU+Pj4zO2QtPWU7ZC09YztkXj1jPDwxMDtlLT1jO2UtPWQ7ZV49ZD4+PjE1fWE9Y3JhKGEpO2Zvcih2YXIgYz0yNjU0NDM1NzY5LGQ9MjY1NDQzNTc2OSxlPTMxNDE1OTI2NSxmPWEubGVuZ3RoLGg9ZixrPTA7aD49MTI7aC09MTIsays9MTIpYys9RFooYSxrKSxkKz1EWihhLGsrNCksZSs9RFooYSxrKzgpLGIoKTtlKz1mO3N3aXRjaChoKXtjYXNlIDExOmUrPWFbaysxMF08PDI0O2Nhc2UgMTA6ZSs9YVtrKzldPDwxNjtjYXNlIDk6ZSs9YVtrKzhdPDw4O2Nhc2UgODpkKz1hW2srN108PDI0O2Nhc2UgNzpkKz1hW2srNl08PDE2O2Nhc2UgNjpkKz1hW2srNV08PDg7Y2FzZSA1OmQrPWFbays0XTtjYXNlIDQ6Yys9CmFbayszXTw8MjQ7Y2FzZSAzOmMrPWFbaysyXTw8MTY7Y2FzZSAyOmMrPWFbaysxXTw8ODtjYXNlIDE6Yys9YVtrXX1iKCk7cmV0dXJuIGRyYS50b1N0cmluZyhlKX07RVo9ZnVuY3Rpb24oYSxiKXthLmFkZE9uRGlzcG9zZUNhbGxiYWNrKF8uRGEoXy5aZCxiKSl9O0ZaPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVWludDhBcnJheShfLnd3KGEpfHwwKX07SFo9ZnVuY3Rpb24oYSl7cmV0dXJuKEdafHwoR1o9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKGEpfTtLWj1mdW5jdGlvbihhKXt2YXIgYj1hPj4+MDtJWj1iO0paPShhLWIpLzQyOTQ5NjcyOTY+Pj4wfTtMWj1mdW5jdGlvbihhKXtpZihhPDApe0taKC1hKTthPUlaO3ZhciBiPUpaO2I9fmI7YT9hPX5hKzE6Yis9MTtsZXQgW2MsZF09W2EsYl07SVo9Yz4+PjA7Slo9ZD4+PjB9ZWxzZSBLWihhKX07Ck1aPWZ1bmN0aW9uKGEpe2EubGVuZ3RoPDE2P0xaKE51bWJlcihhKSk6KGE9QmlnSW50KGEpLElaPU51bWJlcihhJkJpZ0ludCg0Mjk0OTY3Mjk1KSk+Pj4wLEpaPU51bWJlcihhPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSkpfTsKZnJhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIG5ldyBOWihfLnV3KGEpLCEwKTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBuZXcgTloobmV3IFVpbnQ4QXJyYXkoYSksITApO2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybiBuZXcgTlooYSwhMSk7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKXJldHVybiBhPW5ldyBVaW50OEFycmF5KGEpLG5ldyBOWihhLCExKTtpZihhLmNvbnN0cnVjdG9yPT09Xy5SYyl7bGV0IGI9Xy53dyhhKXx8bmV3IFVpbnQ4QXJyYXkoMCk7cmV0dXJuIG5ldyBOWihiLCEwLGEpfWlmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBhPWEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5P2E6bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCksbmV3IE5aKGEsITEpO3Rocm93IEVycm9yKCk7fTsKUFo9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubz09PTA/bmV3IE9aKDAsMSt+YS5qKTpuZXcgT1oofmEubysxLH5hLmopfTtRWj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IE9aKGEmNDI5NDk2NzI5NSxNYXRoLmZsb29yKGEvNDI5NDk2NzI5NikpfTtTWj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gUlp8fChSWj1uZXcgT1ooMCwwKSk7aWYoIS9eXGQrJC8udGVzdChhKSlyZXR1cm4gbnVsbDtNWihhKTtyZXR1cm4gbmV3IE9aKElaLEpaKX07Z3JhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVFooYSY0Mjk0OTY3Mjk1LE1hdGguZmxvb3IoYS80Mjk0OTY3Mjk2KSl9O1ZaPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBVWnx8KFVaPW5ldyBUWigwLDApKTtpZighL14tP1xkKyQvLnRlc3QoYSkpcmV0dXJuIG51bGw7TVooYSk7cmV0dXJuIG5ldyBUWihJWixKWil9OwpjXz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIEJpZ0ludDY0QXJyYXkhPT0idW5kZWZpbmVkIilyZXR1cm4gV1p8fChXWj1uZXcgQmlnSW50NjRBcnJheSgxKSxYWj1uZXcgVWludDMyQXJyYXkoV1ouYnVmZmVyKSxXWlswXT1CaWdJbnQoMSksWVo9WFpbMF09PT0xKSxXWlswXT1hLGE9WVo/MDoxLG5ldyBiKFhaW2FdLFhaWzEtYV0pO1pafHwoJFo9QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSxhXz1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLGJfPUJpZ0ludCg0Mjk0OTY3Mjk1KSxaWj1CaWdJbnQoMzIpKTtpZihhPj0kWiYmYTw9YV8pcmV0dXJuIGMoTnVtYmVyKGEpKTthPUJpZ0ludC5hc1VpbnROKDY0LGEpO3JldHVybiBuZXcgYihOdW1iZXIoYSZiXyksTnVtYmVyKGE+PlpaKSl9O2RfPWZ1bmN0aW9uKGEsYixjKXtmb3IoO2M+MHx8Yj4xMjc7KWEuai5wdXNoKGImMTI3fDEyOCksYj0oYj4+Pjd8Yzw8MjUpPj4+MCxjPj4+PTc7YS5qLnB1c2goYil9OwplXz1mdW5jdGlvbihhLGIpe2Euai5wdXNoKGI+Pj4wJjI1NSk7YS5qLnB1c2goYj4+PjgmMjU1KTthLmoucHVzaChiPj4+MTYmMjU1KTthLmoucHVzaChiPj4+MjQmMjU1KX07Zl89ZnVuY3Rpb24oYSxiKXtpZihiPj0wKV8uWHkoYSxiKTtlbHNle2ZvcihsZXQgYz0wO2M8OTtjKyspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj49NzthLmoucHVzaCgxKX19O2dfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjpTWihhKX19O2hfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjphLmxlbmd0aCYmYVswXT09PSItIj9TWihhLnN1YnN0cmluZygxKSk6U1ooYSl9fTsKaV89ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpc3dpdGNoKGdfKGMpLF8uWnkoYSxiLDEpLHR5cGVvZiBjKXtjYXNlICJudW1iZXIiOmE9YS5qO0taKGMpO2VfKGEsSVopO2VfKGEsSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhjLE9aLFFaKTthPWEuajtiPWMuajtlXyhhLGMubyk7ZV8oYSxiKTticmVhaztkZWZhdWx0OmM9U1ooYyksYT1hLmosYj1jLmosZV8oYSxjLm8pLGVfKGEsYil9fTtqXz1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKGM9cGFyc2VJbnQoYywxMCksXy5aeShhLGIsMCksZl8oYS5qLGMpKX07a189ZnVuY3Rpb24oYSxiLGMpe18uWnkoYSxiLDIpO18uWHkoYS5qLGMubGVuZ3RoKTtfLll5KGEsYS5qLmVuZCgpKTtfLll5KGEsYyl9OwppcmE9ZnVuY3Rpb24oYSl7dmFyIGI9InRydWUiLnRvU3RyaW5nKCksYz1baHJhYGRhdGEtYF07aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJoIik7aWYoYy5tYXAoZD0+e2lmKGQgaW5zdGFuY2VvZiBsXylkPWQuajtlbHNlIHRocm93IEVycm9yKCJoIik7cmV0dXJuIGR9KS5ldmVyeShkPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoZCkhPT0wKSl0aHJvdyBFcnJvcigiaWBkYXRhLWxvYWRlZCIpO2Euc2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIsYil9O2pyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYSxiLHZvaWQgMCl9O2tyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYSxiLHtkdXJhdGlvbjowfSl9O2xyYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPmI/MTphPGI/LTE6MH07Cm5yYT1mdW5jdGlvbigpe3ZhciBhPW1yYTtyZXR1cm4gXy5DYyhiPT57Zm9yKGxldCBjIGluIGEpaWYoYj09PWFbY10mJiEvXlswLTldKyQvLnRlc3QoYykpcmV0dXJuITA7cmV0dXJuITF9KX07bV89ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO3ZhciBjO2I8PTIwOTcxNTE/Yz0iIisoNDI5NDk2NzI5NipiK2EpOmM9IiIrKEJpZ0ludChiKTw8QmlnSW50KDMyKXxCaWdJbnQoYSkpO3JldHVybiBjfTtuXz1mdW5jdGlvbihhLGIpe3ZhciBjPWIqNDI5NDk2NzI5NisoYT4+PjApO3JldHVybiBOdW1iZXIuaXNTYWZlSW50ZWdlcihjKT9jOm1fKGEsYil9O29fPWZ1bmN0aW9uKCl7dmFyIGE9SVosYj1KWixjO2ImMjE0NzQ4MzY0OD9jPSIiKyhCaWdJbnQoYnwwKTw8QmlnSW50KDMyKXxCaWdJbnQoYT4+PjApKTpjPW1fKGEsYik7cmV0dXJuIGN9OwpwXz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IEVycm9yKCJxYCIrdHlwZW9mIGErImAiK2EpO3JldHVybiBhfTtxXz1mdW5jdGlvbihhKXtpZihhPT1udWxsfHx0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiBhO2lmKGE9PT0iTmFOInx8YT09PSJJbmZpbml0eSJ8fGE9PT0iLUluZmluaXR5IilyZXR1cm4gTnVtYmVyKGEpfTtyXz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4oMCxfLndyKShhKTtjYXNlICJzdHJpbmciOnJldHVybiBvcmEudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07c189ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hPj4+MDp2b2lkIDB9Owp0Xz1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLnhyKShOdW1iZXIoYSkpO2lmKCgwLF8udnIpKGIpKXJldHVybiBfLkZjKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxCaWdJbnQoYSkpKX07dV89ZnVuY3Rpb24oYSl7dmFyIGI9KDAsXy54cikoTnVtYmVyKGEpKTtpZigoMCxfLnZyKShiKSlyZXR1cm4gU3RyaW5nKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtiPWEubGVuZ3RoOyhhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3Iil8fChNWihhKSxhPW9fKCkpO3JldHVybiBhfTsKdl89ZnVuY3Rpb24oYSl7YT0oMCxfLnhyKShhKTtpZighKDAsXy52cikoYSkpe0xaKGEpO3ZhciBiPUlaLGM9Slo7aWYoYT1jJjIxNDc0ODM2NDgpYj1+YisxPj4+MCxjPX5jPj4+MCxiPT0wJiYoYz1jKzE+Pj4wKTtiPW5fKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O3dfPWZ1bmN0aW9uKGEpe2E9KDAsXy54cikoYSk7KDAsXy52cikoYSk/YT1TdHJpbmcoYSk6KExaKGEpLGE9b18oKSk7cmV0dXJuIGF9O3hfPWZ1bmN0aW9uKGEpe3JldHVybigwLF8udnIpKGEpP18uRmModl8oYSkpOl8uRmMod18oYSkpfTsKcHJhPWZ1bmN0aW9uKGEpe3ZhciBiPXZvaWQgMDtiPTEwMjQ7aWYoIXJfKGEpKXRocm93IF8uSXcoImludDY0Iik7dmFyIGM9dHlwZW9mIGE7c3dpdGNoKGIpe2Nhc2UgNTEyOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIHdfKGEpfWNhc2UgMTAyNDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gdF8oYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4geF8oYSl9Y2FzZSAwOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBfLkZjKCgwLF8udHIpKDY0LGEpKTtkZWZhdWx0OnJldHVybiB2XyhhKX1kZWZhdWx0OnJldHVybiBfLmViKGIsIlVua25vd24gZm9ybWF0IHJlcXVlc3RlZCB0eXBlIGZvciBpbnQ2NCIpfX07CnlfPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6cHJhKGEpfTt6Xz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtpZihhPT1udWxsKXJldHVybiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7aWYocl8oYSkpcmV0dXJuIGI9PT0ic3RyaW5nIj90XyhhKTp4XyhhKX07cXJhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7dmFyIGI9dHlwZW9mIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2lmKHJfKGEpKXtpZihiPT09InN0cmluZyIpcmV0dXJuIHVfKGEpO2lmKGI9PT0ibnVtYmVyIilyZXR1cm4gdl8oYSl9fTsKQV89ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTt2YXIgYj10eXBlb2YgYTtpZihiPT09ImJpZ2ludCIpcmV0dXJuIFN0cmluZygoMCxfLnVyKSg2NCxhKSk7aWYocl8oYSkpe2lmKGI9PT0ic3RyaW5nIilyZXR1cm4gYj0oMCxfLnhyKShOdW1iZXIoYSkpLCgwLF8udnIpKGIpJiZiPj0wP2E9U3RyaW5nKGIpOihiPWEuaW5kZXhPZigiLiIpLGIhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSksYVswXT09PSItIj9iPSExOihiPWEubGVuZ3RoLGI9YjwyMD8hMDpiPT09MjAmJmE8PSIxODQ0Njc0NDA3MzcwOTU1MTYxNSIpLGJ8fChNWihhKSxhPW1fKElaLEpaKSkpLGE7aWYoYj09PSJudW1iZXIiKXJldHVybiBhPSgwLF8ueHIpKGEpLGE+PTAmJigwLF8udnIpKGEpfHwoTFooYSksYT1uXyhJWixKWikpLGF9fTtycmE9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJzdHJpbmcifHxhIGluc3RhbmNlb2YgXy5SYylyZXR1cm4gYX07CnNyYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O3RyYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5OdyhhLCEwKX07Ql89ZnVuY3Rpb24oYSl7YT1fLmVkKGEsMSx2b2lkIDAsdm9pZCAwLHRyYSk7cmV0dXJuIGE9PW51bGw/Xy5NdygpOmF9OwpDXz1mdW5jdGlvbihhLGIsYyl7Xy5udyhhKTt2YXIgZD1hLkRhLGU9ZFtfLkFjXXwwO2lmKGI9PW51bGwpcmV0dXJuIF8ucHcoZCxlLDMpLGE7dmFyIGY9Yj09PV8ubXI/NzpiW18uQWNdfDAsaD1mLGs9Xy5UeShmKSxsPWt8fE9iamVjdC5pc0Zyb3plbihiKTtrfHwoZj0wKTtsfHwoYj1bLi4uYl0saD0wLGY9Xy5VeShmLGUpLGw9ITEpO2Z8PTU7az0oNCZmPzUxMiZmPzUxMjoxMDI0JmY/MTAyNDowOnZvaWQgMCk/PzEwMjQ7Znw9aztmb3IobGV0IG09MDttPGIubGVuZ3RoO20rKyl7bGV0IG49YlttXSxwPWMobixrKTtPYmplY3QuaXMobixwKXx8KGwmJihiPVsuLi5iXSxoPTAsZj1fLlV5KGYsZSksbD0hMSksYlttXT1wKX1mIT09aCYmKGwmJihiPVsuLi5iXSxmPV8uVXkoZixlKSksYltfLkFjXT1mKTtfLnB3KGQsZSwzLGIpO3JldHVybiBhfTsKRF89ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5nZXQoZCk7aWYoZSE9bnVsbClyZXR1cm4gZTtlPTA7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspe2xldCBoPWRbZl07Xy5kZChiLGgpIT1udWxsJiYoZSE9PTAmJihjPV8ucHcoYixjLGUpKSxlPWgpfWEuc2V0KGQsZSk7cmV0dXJuIGV9O0ZfPWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7YT1hLkRhO3ZhciBlPWFbXy5BY118MDtpZihkPT1udWxsKXt2YXIgZj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2lmKERfKGYsYSxlLGMpPT09YilmLnNldChjLDApO2Vsc2UgcmV0dXJufWVsc2V7Zj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2xldCBoPURfKGYsYSxlLGMpO2ghPT1iJiYoaCYmKGU9Xy5wdyhhLGUsaCkpLGYuc2V0KGMsYikpfV8ucHcoYSxlLGIsZCl9O0dfPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkRhO3JldHVybiBfLld5KGEsZCxkW18uQWNdfDAsYixjLHZvaWQgMD09PV8ub3I/Mjo0LCExLCEwKX07CkhfPWZ1bmN0aW9uKGEsYixjKXtfLm53KGEpO3ZhciBkPWEuRGEsZT1kW18uQWNdfDA7aWYoYz09bnVsbClyZXR1cm4gXy5wdyhkLGUsYiksYTt2YXIgZj1jPT09Xy5tcj83OmNbXy5BY118MCxoPWYsaz1fLlR5KGYpLGw9a3x8T2JqZWN0LmlzRnJvemVuKGMpLG09ITAsbj0hMDtmb3IobGV0IHI9MDtyPGMubGVuZ3RoO3IrKyl7dmFyIHA9Y1tyXTtrfHwocD1fLkJjKHApLG0mJihtPSFwKSxuJiYobj1wKSl9a3x8KGY9bT8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7bCYmZj09PWh8fChjPVsuLi5jXSxoPTAsZj1fLlV5KGYsZSkpO2YhPT1oJiYoY1tfLkFjXT1mKTtlPV8ucHcoZCxlLGIsYyk7MiZmfHwhKDQwOTYmZnx8MTYmZil8fF8ub3coZCxlKTtyZXR1cm4gYX07SV89ZnVuY3Rpb24oYSxiLGM9Xy55cil7cmV0dXJuIF8uZWQoYSxiLHZvaWQgMCx2b2lkIDAsel8pPz9jfTtKXz1mdW5jdGlvbihhLGIsYz0iIixkKXtyZXR1cm4gXy5YdChfLmVkKGEsYixkKSk/P2N9OwpLXz1mdW5jdGlvbihhKXthPV8uZWQoYSwxKTtyZXR1cm4oYT09bnVsbD9hOigwLF8ud3IpKGEpP2F8MDp2b2lkIDApPz8wfTtMXz1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSl7dmFyIGQ9YltfLkFjXXwwO2lmKGQmNClyZXR1cm4gYjtmb3IodmFyIGU9MCxmPTA7ZTxiLmxlbmd0aDtlKyspe2xldCBoPWEoYltlXSk7aCE9bnVsbCYmKGJbZisrXT1oKX1mPGUmJihiLmxlbmd0aD1mKTthPWR8MTtjJiYoYT0oYXw0KSYtMTUzNyk7YSE9PWQmJihiW18uQWNdPWEpO2MmJmEmMiYmT2JqZWN0LmZyZWV6ZShiKTtyZXR1cm4gYn19O01fPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9OwpPXz1mdW5jdGlvbihhLGIsYyl7Yj1xXyhiKTtiIT1udWxsJiYoXy5aeShhLGMsMSksYT1hLmosYz1OX3x8KE5fPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxjLnNldEZsb2F0NjQoMCwrYiwhMCksSVo9Yy5nZXRVaW50MzIoMCwhMCksSlo9Yy5nZXRVaW50MzIoNCwhMCksZV8oYSxJWiksZV8oYSxKWikpfTtQXz1mdW5jdGlvbihhLGIsYyl7Yj1xcmEoYik7aWYoYiE9bnVsbCl7c3dpdGNoKHR5cGVvZiBiKXtjYXNlICJzdHJpbmciOlZaKGIpfWlmKGIhPW51bGwpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLFRaLGdyYSk7ZF8oYS5qLGMubyxjLmopO2JyZWFrO2RlZmF1bHQ6Yz1WWihiKSxkXyhhLmosYy5vLGMuail9fX07UV89ZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksZl8oYS5qLGIpKX07ClJfPWZ1bmN0aW9uKGEsYixjKXtiPV8uWHQoYik7YiE9bnVsbCYma18oYSxjLEhaKGIpKX07U189ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pl8uWHgoYSxiKX07aHJhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgbF8oYVswXS50b0xvd2VyQ2FzZSgpKX07Xy5lVj1mdW5jdGlvbihhLGIpe3RoaXMueD1hIT09dm9pZCAwP2E6MDt0aGlzLnk9YiE9PXZvaWQgMD9iOjB9O3VyYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gXy5zcylpZihhLmNhbGwodm9pZCAwLF8uc3NbYl0sYixfLnNzKSlyZXR1cm4gYn07dnJhPWZ1bmN0aW9uKGEsYil7aWYoYSE9PW51bGwmJmIgaW4gYSl0aHJvdyBFcnJvcigiQWAiK2IpO2FbYl09ITB9O1RfPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09bnVsbCYmInByaXZlbWJlZCJpbiBhP2EucHJpdmVtYmVkOiExfTtVXz1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9OwpWXz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudDtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj9iLmdldEVsZW1lbnRCeUlkKGEpOmF9O1dfPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChiKX07WF89ZnVuY3Rpb24oYSl7dHlwZW9mIGE9PSJudW1iZXIiJiYoYT1NYXRoLnJvdW5kKGEpKyJweCIpO3JldHVybiBhfTtZXz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVNhZmVTY3JpcHRXcmFwcGVkVmFsdWUpP18ua2IoYSk6bnVsbDpudWxsfTt3cmE9ZnVuY3Rpb24oKXt2YXIgYT1aXztfLnNhKCJ5dC5hZHMuYmlzY290dGkuZ2V0SWRfIil8fF8ucmEoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iLGEpfTskXz1mdW5jdGlvbihhKXtfLnJhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIsYSl9OwphMD1mdW5jdGlvbihhKXtyZXR1cm4gYS5pbmRleE9mKCI/IikhPT0tMT8oYT0oYXx8IiIpLnNwbGl0KCIjIilbMF0sYT1hLnNwbGl0KCI/IiwyKSxfLmJqKGEubGVuZ3RoPjE/YVsxXTphWzBdKSk6e319O2IwPWZ1bmN0aW9uKGEpe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IGI9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDthLmo9YS5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO2Eubz1hLmNsaWVudFkrYn19Owp4cmE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5hZGRFdmVudExpc3RlbmVyJiYoYiE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P2IhPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9iPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoYj0iTW96TW91c2VQaXhlbFNjcm9sbCIpOmI9Im1vdXNlb3V0IjpiPSJtb3VzZW92ZXIiKTtyZXR1cm4gdXJhKGU9Pnt2YXIgZj10eXBlb2YgZVs0XT09PSJib29sZWFuIiYmZVs0XT09ISFkLGg7aWYoaD1fLkFhKGVbNF0pJiZfLkFhKGQpKWE6e2g9ZVs0XTtmb3IobGV0IGsgaW4gaClpZighKGsgaW4gZCl8fGhba10hPT1kW2tdKXtoPSExO2JyZWFrIGF9Zm9yKGxldCBrIGluIGQpaWYoIShrIGluIGgpKXtoPSExO2JyZWFrIGF9aD0hMH1yZXR1cm4hIWUubGVuZ3RoJiZlWzBdPT1hJiZlWzFdPT1iJiZlWzJdPT1jJiYoZnx8aCl9KX07CmQwPWZ1bmN0aW9uKGEsYixjLGQ9e30pe2lmKCFhfHwhYS5hZGRFdmVudExpc3RlbmVyJiYhYS5hdHRhY2hFdmVudClyZXR1cm4iIjt2YXIgZT14cmEoYSxiLGMsZCk7aWYoZSlyZXR1cm4gZTtlPSsrXy50cy5jb3VudCsiIjt2YXIgZj0hKGIhPSJtb3VzZWVudGVyIiYmYiE9Im1vdXNlbGVhdmUifHwhYS5hZGRFdmVudExpc3RlbmVyfHwib25tb3VzZWVudGVyImluIGRvY3VtZW50KTt2YXIgaD1mP2s9PntrPW5ldyBjMChrKTtpZighXy5ndyhrLnJlbGF0ZWRUYXJnZXQsbD0+bD09YSwhMCkpcmV0dXJuIGsuY3VycmVudFRhcmdldD1hLGsudHlwZT1iLGMuY2FsbChhLGspfTprPT57az1uZXcgYzAoayk7ay5jdXJyZW50VGFyZ2V0PWE7cmV0dXJuIGMuY2FsbChhLGspfTtoPV8uVmkoaCk7YS5hZGRFdmVudExpc3RlbmVyPyhiPT0ibW91c2VlbnRlciImJmY/Yj0ibW91c2VvdmVyIjpiPT0ibW91c2VsZWF2ZSImJmY/Yj0ibW91c2VvdXQiOmI9PSJtb3VzZXdoZWVsIiYmIk1vekJveFNpemluZyJpbgpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJihiPSJNb3pNb3VzZVBpeGVsU2Nyb2xsIiksKDAsXy51cykoKXx8dHlwZW9mIGQ9PT0iYm9vbGVhbiI/YS5hZGRFdmVudExpc3RlbmVyKGIsaCxkKTphLmFkZEV2ZW50TGlzdGVuZXIoYixoLCEhZC5jYXB0dXJlKSk6YS5hdHRhY2hFdmVudChgb24ke2J9YCxoKTtfLnNzW2VdPVthLGIsYyxoLGRdO3JldHVybiBlfTt5cmE9ZnVuY3Rpb24oYSl7YSYmKHR5cGVvZiBhPT0ic3RyaW5nIiYmKGE9W2FdKSxfLnRiKGEsYj0+e2lmKGIgaW4gXy5zcyl7dmFyIGM9Xy5zc1tiXTtsZXQgZD1jWzBdLGU9Y1sxXSxmPWNbM107Yz1jWzRdO2QucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oMCxfLnVzKSgpfHx0eXBlb2YgYz09PSJib29sZWFuIj9kLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxmLGMpOmQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGYsISFjLmNhcHR1cmUpOmQuZGV0YWNoRXZlbnQmJmQuZGV0YWNoRXZlbnQoYG9uJHtlfWAsZik7ZGVsZXRlIF8uc3NbYl19fSkpfTsKZTA9ZnVuY3Rpb24oYSl7dGhpcy5NPWE7dGhpcy5qPW51bGw7dGhpcy5CPTA7dGhpcy5JPW51bGw7dGhpcy5EPTA7dGhpcy5vPVtdO2ZvcihhPTA7YTw0O2ErKyl0aGlzLm8ucHVzaCgwKTt0aGlzLnY9MDt0aGlzLlo9ZDAod2luZG93LCJtb3VzZW1vdmUiLCgwLF8uQ2EpKHRoaXMuZ2EsdGhpcykpO2E9KDAsXy5DYSkodGhpcy5VLHRoaXMpO3R5cGVvZiBhPT09ImZ1bmN0aW9uIiYmKGE9Xy5WaShhKSk7dGhpcy5oYT13aW5kb3cuc2V0SW50ZXJ2YWwoYSwyNSl9O3pyYT1mdW5jdGlvbigpe3ZhciBhPV8ucmooImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxiPT5OdW1iZXIoYnx8MCkpOltOdW1iZXIoYXx8MCldfTsKQnJhPWZ1bmN0aW9uKCl7KHtoYW5kbGVFcnJvcjphPV8uSHAsbG06Yj1fLkVwfT17fSk7dmFyIGE7Zm9yKF8uR2s9bmV3IEFyYShhLGIpO18uSGsubGVuZ3RoPjA7KXt2YXIgYj1fLkhrLnNoaWZ0KCk7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRVJST1IiOl8uR2suSmIoYi5wYXlsb2FkKTticmVhaztjYXNlICJFVkVOVCI6Xy5Hay5sbShiLmV2ZW50VHlwZSxiLnBheWxvYWQpfX19O0NyYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2woZD0+Yz9kLnVzZXJJZGVudGlmaWVyIT09dm9pZCAwJiYhYS5pbmNsdWRlcyhkLnVzZXJJZGVudGlmaWVyKSYmYy5pbmNsdWRlcyhkLnB1YmxpY05hbWUpOmQudXNlcklkZW50aWZpZXIhPT12b2lkIDAmJiFhLmluY2x1ZGVzKGQudXNlcklkZW50aWZpZXIpLGIpfTsKRHJhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVmooIll0SWRiTWV0YSBoYXNBbnlNZXRhIG90aGVyIik7cmV0dXJuKGF3YWl0IF8uR2woYz0+Yy51c2VySWRlbnRpZmllciE9PXZvaWQgMCYmYy51c2VySWRlbnRpZmllciE9PWIsYSkpLmxlbmd0aD4wfTtnMD1mdW5jdGlvbihhLGIpe2YwfHwoZjA9Xy5qZi5wYihhc3luYygpPT57dmFyIGM9YXdhaXQgXy5QbCgpO2lmKGMpe3ZhciBkPSEwO3RyeXtsZXQgZT1hd2FpdCBDcmEoYSxjLGIpO2lmKGUubGVuZ3RoKXtsZXQgZj1lWzBdO2F3YWl0IF8uQWwoZi5hY3R1YWxOYW1lKTthd2FpdCBfLkZsKGYuYWN0dWFsTmFtZSxjKX1lbHNlIGQ9ITF9Y2F0Y2goZSl7Xy5JayhlKSxkPSExfV8uamYuQWEoZjApO2YwPTA7ZCYmZzAoYSxiKX19KSl9O0VyYT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPWF3YWl0IF8uUGwoKTtyZXR1cm4gYT9EcmEoYSk6ITF9OwpGcmE9ZnVuY3Rpb24oYSl7KDAsXy5lbCkoKTtpZighYS5ib2R5KXJldHVybiBhO3RyeXtsZXQgYj10eXBlb2YgYS5ib2R5PT09InN0cmluZyI/YS5ib2R5OkpTT04uc3RyaW5naWZ5KGEuYm9keSksYz1iO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe2xldCBkPV8udW0oYik7aWYoZCE9bnVsbCYmKGQ+Xy53bXx8ZDxfLnhtKSlyZXR1cm4gYTtjPV8uTmkoKDAsXy55bSkoYikpOygwLF8uZWwpKCl9YS5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihhLmhlYWRlcnN8fHt9KX07YS5ib2R5PWM7cmV0dXJuIGF9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksYX19O0dyYT1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8uUGwoKSYmKF8uV2ooKXx8Xy54KCJud2xfaW5pdF9yZXF1aXJlX2RhdGFzeW5jX2lkX2tpbGxzd2l0Y2giKSkmJl8uc24oKSYmKF8udW49ITAsXy50bi5pc053bEluaXRpYWxpemVkPV8udW4sYXdhaXQgXy5wbigpLmF3YWl0SW5pdGlhbGl6YXRpb24oKSl9OwpoMD1mdW5jdGlvbihhKXtfLlNzW2FdJiYoYT1fLlNzW2FdLF8udGIoYSxiPT57Xy5Sc1tiXSYmZGVsZXRlIF8uUnNbYl19KSxhLmxlbmd0aD0wKX07aTA9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5MeigpO2lmKGIpaWYoYi5jbGVhcihhKSxhKWgwKGEpO2Vsc2UgZm9yKGxldCBjIGluIF8uU3MpaDAoYyl9O2wwPWZ1bmN0aW9uKHt1SzphPSExLE1JOmI9ITB9PXt9KXtpZihfLnNhKCJfbGFjdCIsd2luZG93KT09bnVsbCl7dmFyIGM9cGFyc2VJbnQoXy53KCJMQUNUIiksMTApO2M9aXNGaW5pdGUoYyk/RGF0ZS5ub3coKS1NYXRoLm1heChjLDApOi0xO18ucmEoIl9sYWN0IixjLHdpbmRvdyk7Xy5yYSgiX2ZhY3QiLGMsd2luZG93KTtjPT0tMSYmajAoKTtIcmEoYSxiKTtuZXcgZTAoKCk9PntrMCgibW91c2UiLDEwMCl9KX19OwpIcmE9ZnVuY3Rpb24oYT0hMSxiPSEwKXt2YXIgYz13aW5kb3c7ZDAoYy5kb2N1bWVudCwia2V5ZG93biIsajApO2QwKGMuZG9jdW1lbnQsImtleXVwIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2Vkb3duIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2V1cCIsajApO2E/ZDAoYywidG91Y2htb3ZlIiwoKT0+e2swKCJ0b3VjaG1vdmUiLDIwMCl9LHtwYXNzaXZlOiEwfSk6KGQwKGMsInJlc2l6ZSIsKCk9PntrMCgicmVzaXplIiwyMDApfSksYiYmZDAoYywic2Nyb2xsIiwoKT0+e2swKCJzY3JvbGwiLDIwMCl9KSk7ZDAoYy5kb2N1bWVudCwidG91Y2hzdGFydCIsajAse3Bhc3NpdmU6ITB9KTtkMChjLmRvY3VtZW50LCJ0b3VjaGVuZCIsajAse3Bhc3NpdmU6ITB9KX07azA9ZnVuY3Rpb24oYSxiKXttMFthXXx8KG0wW2FdPSEwLF8uamYucGIoKCk9PntqMCgpO20wW2FdPSExfSxiKSl9OwpqMD1mdW5jdGlvbigpe18uc2EoIl9sYWN0Iix3aW5kb3cpPT1udWxsJiZsMCgpO3ZhciBhPURhdGUubm93KCk7Xy5yYSgiX2xhY3QiLGEsd2luZG93KTtfLnNhKCJfZmFjdCIsd2luZG93KT09LTEmJl8ucmEoIl9mYWN0IixhLHdpbmRvdyk7KGE9Xy5zYSgieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJmEoKX07bjA9ZnVuY3Rpb24oKXt2YXIgYT1fLmtvKCk7YS5pbmZvfHwoYS5pbmZvPXt9KTtyZXR1cm4gYS5pbmZvfTtJcmE9ZnVuY3Rpb24oKXt2YXIgYT1fLm5vKCk7YS5wcmVMb2dnZWRHZWxJbmZvc3x8KGEucHJlTG9nZ2VkR2VsSW5mb3M9W10pO3JldHVybiBhLnByZUxvZ2dlZEdlbEluZm9zfTsKSnJhPWZ1bmN0aW9uKGEsYj0iVW5rbm93biBmaWxlIixjPTAsZCxlLGYpe3ZhciBoPSExLGs9Xy5SaSgibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIik7aWYoayYmTWF0aC5yYW5kb20oKTxrKWg9ITA7ZWxzZXtrPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtmb3IobGV0IGw9MCxtPWsubGVuZ3RoO2w8bTtsKyspaWYoa1tsXS5zcmMuaW5kZXhPZigiL2RlYnVnLSIpPjApe2g9ITA7YnJlYWt9fWgmJihoPSExLGU/aD0hMDoodHlwZW9mIGE9PT0ic3RyaW5nIj9rPWE6RXJyb3JFdmVudCYmYSBpbnN0YW5jZW9mIEVycm9yRXZlbnQ/KGg9ITAsaz1hLm1lc3NhZ2UsYj1hLmZpbGVuYW1lLGM9YS5saW5lbm8sZD1hLmNvbG5vKTooaz0iVW5rbm93biBlcnJvciIsYj0iVW5rbm93biBmaWxlIixjPTApLGU9bmV3IF8uWGooayksZS5uYW1lPSJVbmhhbmRsZWRXaW5kb3dFcnJvciIsZS5tZXNzYWdlPWssZS5maWxlTmFtZT1iLGUubGluZU51bWJlcj1jLGlzTmFOKGQpPwpkZWxldGUgZS5jb2x1bW5OdW1iZXI6ZS5jb2x1bW5OdW1iZXI9ZCksZiYmXy5jdyhlLGYpLGg/Xy5HcChlKTpfLklwKGUpKX07bzA9ZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIEVycm9yP18uR3AoYSk6KGE9Xy5BYShhKT9KU09OLnN0cmluZ2lmeShhKTpTdHJpbmcoYSksYT1uZXcgXy5YaihhKSxhLm5hbWU9IlJlamVjdGVkUHJvbWlzZUVycm9yIixfLklwKGEpKX07S3JhPWZ1bmN0aW9uKCl7Xy50YihfLncoIkVSUk9SUyIpfHxbXSxhPT57Xy5HcC5hcHBseShudWxsLGEpfSk7Xy5RaSgiRVJST1JTIixbXSl9O3AwPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueCgiY3NpX3VzZV90aW1lX29yaWdpbiIpfHxfLngoImNzaV91c2VfdGltZV9vcmlnaW5fdHZodG1sNSIpKSYmXy5zcS50aW1lT3JpZ2luP01hdGguZmxvb3IoXy5zcS50aW1lT3JpZ2luKTpfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9O3EwPWZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnJvdW5kKHAwKCkrYSl9OwpyMD1mdW5jdGlvbigpe3ZhciBhO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpPyhhPV8uc3E/LmdldEVudHJpZXNCeVR5cGU/LigibmF2aWdhdGlvbiIpPy5bMF0/LnRvSlNPTj8uKCkpPyhhLnJlcXVlc3RTdGFydD1xMChhLnJlcXVlc3RTdGFydCksYS5yZXNwb25zZUVuZD1xMChhLnJlc3BvbnNlRW5kKSxhLnJlZGlyZWN0U3RhcnQ9cTAoYS5yZWRpcmVjdFN0YXJ0KSxhLnJlZGlyZWN0RW5kPXEwKGEucmVkaXJlY3RFbmQpLGEuZG9tYWluTG9va3VwRW5kPXEwKGEuZG9tYWluTG9va3VwRW5kKSxhLmNvbm5lY3RTdGFydD1xMChhLmNvbm5lY3RTdGFydCksYS5jb25uZWN0RW5kPXEwKGEuY29ubmVjdEVuZCksYS5yZXNwb25zZVN0YXJ0PXEwKGEucmVzcG9uc2VTdGFydCksYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQ9cTAoYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQpLGEuZG9tYWluTG9va3VwU3RhcnQ9cTAoYS5kb21haW5Mb29rdXBTdGFydCksYS5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZz0KITApOmE9Xy5zcS50aW1pbmc6YT1fLngoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfLnNxLnRpbWluZykpOl8uc3EudGltaW5nO3JldHVybiBhfTtMcmE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtpZigidmlzaWJpbGl0eVN0YXRlImluIGEpYT1hLnZpc2liaWxpdHlTdGF0ZTtlbHNle3ZhciBiPV8ucnMrIlZpc2liaWxpdHlTdGF0ZSI7YT1iIGluIGE/YVtiXTp2b2lkIDB9c3dpdGNoKGEpe2Nhc2UgImhpZGRlbiI6cmV0dXJuIDA7Y2FzZSAidmlzaWJsZSI6cmV0dXJuIDE7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4gMjtjYXNlICJ1bmxvYWRlZCI6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4tMX19OwpNcmE9ZnVuY3Rpb24oKXtpZihfLnNxLmdldEVudHJpZXNCeVR5cGUpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKTtpZihhPV8udmIoYSxjPT5jLm5hbWU9PT0iZmlyc3QtcGFpbnQiKSlyZXR1cm4gcTAoYS5zdGFydFRpbWUpfXZhciBiO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP2I9Xy5zcS5nZXRFbnRyaWVzQnlUeXBlKCJmaXJzdC1wYWludCIpWzBdLnN0YXJ0VGltZTpiPV8uc3EudGltaW5nLmFLO3JldHVybiBiP01hdGgubWF4KDAsYik6MH07Ck5yYT1mdW5jdGlvbigpe3ZhciBhPV8udygiVElNSU5HX0lORk8iLHt9KSxiPXt9LGM9KGQsZSxmKT0+e2U9ZS5tYXRjaCgiX3JpZCIpP2Uuc3BsaXQoIl9yaWQiKVswXTplO3R5cGVvZiBmPT09Im51bWJlciImJihmPUpTT04uc3RyaW5naWZ5KGYpKTtkLnJlcXVlc3RJZHM/ZC5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OmUsaWQ6Zn0pOmQucmVxdWVzdElkcz1be2VuZHBvaW50OmUsaWQ6Zn1dfTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2E9ZDtsZXQgZj1lO3N3aXRjaChhKXtjYXNlICJHZXRCcm93c2VfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRHdWlkZV9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldEhvbWVfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRQbGF5ZXJfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZWFyY2hfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZXR0aW5nc19yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldFRyZW5kaW5nX3JpZCI6YyhiLAphLGYpO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgInl0X3JlZCI6Yi5pc1JlZFN1YnNjcmliZXI9ISFmO2JyZWFrO2Nhc2UgInl0X2FkIjpiLmlzTW9uZXRpemVkPSEhZn19cmV0dXJuIGJ9O09yYT1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxiPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTtiPWpyYShiLGM9PmMubmFtZS5pbmRleE9mKGAke2F9Ly9mb250cy5nc3RhdGljLmNvbS9zL2ApPT09MCk7KGI9a3JhKGIsKGMsZCk9PmQuZHVyYXRpb24+Yy5kdXJhdGlvbj9kOmMpKSYmYi5zdGFydFRpbWU+MCYmYi5yZXNwb25zZUVuZD4wJiYoXy5ucSgid2ZmcyIscTAoYi5zdGFydFRpbWUpKSxfLm5xKCJ3ZmZlIixxMChiLnJlc3BvbnNlRW5kKSkpfTsKUHJhPWZ1bmN0aW9uKGEsYil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCFhKXJldHVybiExO3ZhciBjPSIiLGQ9YS5ub2RlTmFtZTtkPT09IlNDUklQVCI/KGM9YS5zcmMsY3x8KGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGltaW5nLWhyZWYiKSkmJihjPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCtjKSk6ZD09PSJMSU5LIiYmKGM9YS5ocmVmKTtfLmliKGRvY3VtZW50KSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixfLmliKGRvY3VtZW50KSk7cmV0dXJuIGM/KGE9Xy5zcS5nZXRFbnRyaWVzQnlOYW1lKGMpKSYmYVswXSYmKGE9YVswXSxjPXAwKCksXy5ucSgicnNmXyIrYixjK01hdGgucm91bmQoYS5mZXRjaFN0YXJ0KSksXy5ucSgicnNlXyIrYixjK01hdGgucm91bmQoYS5yZXNwb25zZUVuZCkpLGEudHJhbnNmZXJTaXplIT09dm9pZCAwJiZhLnRyYW5zZmVyU2l6ZT09PTApPyEwOiExOiExfTsKUXJhPWZ1bmN0aW9uKCl7dmFyIGE9SXJhKCksYj1fLm9vKCksYz12b2lkIDA7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBrPWFbZF07aWYoay5sb2FkVHlwZSl7Yz1rLmxvYWRUeXBlO2JyZWFrfX1pZihfLmxvKCkubG9hZFR5cGU9PT0iY29sZCImJihiLmxvYWRUeXBlPT09ImNvbGQifHxjPT09ImNvbGQiKSl7Yz1fLm1vKCk7ZD1fLm5vKCk7ZD1kLmdlbFRpY2tzP2QuZ2VsVGlja3M6ZC5nZWxUaWNrcz17fTtmb3IodmFyIGUgaW4gYyllIGluIGR8fHR5cGVvZiBjW2VdPT09Im51bWJlciImJl8ubnEoZSxfLnVxKGUpKTt2YXIgZj17fSxoPSExO2U9az0+e18ueW4oYixrKTtfLnluKGYsayk7aD0hMH07Zm9yKGxldCBrIG9mIGEpZShrKTtoJiZfLnBxKGYpfX07CnQwPWZ1bmN0aW9uKGEsYil7Xy5WaSgoKT0+e18udW8oIiIpLmluZm8uYWN0aW9uVHlwZT1hO2ImJl8uUWkoIlRJTUlOR19BRlRfS0VZUyIsYik7Xy5RaSgiVElNSU5HX0FDVElPTiIsYSk7dmFyIGM9TnJhKCk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJl8ucHEoYyk7Yz17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6Xy5QeihfLncoIlRJTUlOR19BQ1RJT04iKSl9O3ZhciBkPV8udygiUFJFVklPVVNfQUNUSU9OIik7ZCYmKGMucHJldmlvdXNBY3Rpb249Xy5QeihkKSk7aWYoZD1fLncoIkNMSUVOVF9QUk9UT0NPTCIpKWMuaHR0cFByb3RvY29sPWQ7aWYoZD1fLncoIkNMSUVOVF9UUkFOU1BPUlQiKSljLnRyYW5zcG9ydFByb3RvY29sPWQ7KGQ9Xy5pcSgpKSYmZCE9PSJVTkRFRklORURfQ1NOIiYmKGMuY2xpZW50U2NyZWVuTm9uY2U9ZCk7ZD1McmEoKTtpZihkPT09MXx8ZD09PS0xKWMuaXNWaXNpYmxlPSEwO18ubG8oKTtuMCgpO2MubG9hZFR5cGU9ImNvbGQiO2Q9bjAoKTt2YXIgZT0KcjAoKSxmPXAwKCksaD1fLncoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtoPjAmJiFfLngoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJihmPWgpO2YmJihfLm5xKCJzcnQiLGUucmVzcG9uc2VTdGFydCksZC5wcmVyZW5kZXIhPT0xJiZfLm9xKGYpKTtkPU1yYSgpO2Q+MCYmXy5ucSgiZnB0IixkKTtkPXIwKCk7ZC5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmXy5wcSh7cGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOiEwfSx2b2lkIDApO18ubnEoIm5yZXFzIixkLnJlcXVlc3RTdGFydCx2b2lkIDApO18ubnEoIm5yZXNzIixkLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTtfLm5xKCJucmVzZSIsZC5yZXNwb25zZUVuZCx2b2lkIDApO2QucmVkaXJlY3RFbmQtZC5yZWRpcmVjdFN0YXJ0PjAmJihfLm5xKCJucnMiLGQucmVkaXJlY3RTdGFydCx2b2lkIDApLF8ubnEoIm5yZSIsZC5yZWRpcmVjdEVuZCx2b2lkIDApKTtkLmRvbWFpbkxvb2t1cEVuZC0KZC5kb21haW5Mb29rdXBTdGFydD4wJiYoXy5ucSgibmRuc3MiLGQuZG9tYWluTG9va3VwU3RhcnQsdm9pZCAwKSxfLm5xKCJuZG5zZSIsZC5kb21haW5Mb29rdXBFbmQsdm9pZCAwKSk7ZC5jb25uZWN0RW5kLWQuY29ubmVjdFN0YXJ0PjAmJihfLm5xKCJudGNwcyIsZC5jb25uZWN0U3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO2Quc2VjdXJlQ29ubmVjdGlvblN0YXJ0Pj1wMCgpJiZkLmNvbm5lY3RFbmQtZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQ+MCYmKF8ubnEoIm5zdGNwcyIsZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO18uc3EmJiJnZXRFbnRyaWVzQnlUeXBlImluIF8uc3EmJk9yYSgpO2Q9W107aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmXy5zcSYmXy5zcS5nZXRFbnRyaWVzQnlOYW1lKWZvcih2YXIgayBpbiBzMClzMC5oYXNPd25Qcm9wZXJ0eShrKSYmKGU9CnMwW2tdLFByYShrLGUpJiZkLnB1c2goZSkpO2lmKGQubGVuZ3RoPjApe2MucmVzb3VyY2VJbmZvPVtdO2ZvcihsZXQgbCBvZiBkKWMucmVzb3VyY2VJbmZvLnB1c2goe3Jlc291cmNlQ2FjaGU6bH0pfV8ucHEoYyk7UXJhKCk7Xy5ReigpO2s9Xy53KCJUSU1JTkdfQUNUSU9OIik7Xy5zYSgieXRnbG9iYWwudGltaW5ncmVhZHlfIikmJmsmJl8uUnooKSYmXy52cSgpJiZfLnRxKCl9KSgpfTt2MD1mdW5jdGlvbihhKXtpZighXy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4iIjthPV8uUWIoYSl8fCIiO3ZhciBiPU9iamVjdC5rZXlzKHUwKTtmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKyl7bGV0IGQ9YltjXTtpZihhLmluY2x1ZGVzKGQpKXJldHVybiBkfXJldHVybiIifTsKdzA9ZnVuY3Rpb24oYSl7aWYoIV8ueCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXUwW2FdO3JldHVybiBiPyhfLkl6KGIpLCgpPT57dmFyIGM9Xy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oYz1ScmFbYV0pP18uSXooYyk6ITE6ITE7cmV0dXJuIGN9KTooKT0+e319O3gwPWZ1bmN0aW9uKGEpe18uVmkoKCk9PntpZighXy5SeigiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIil8fF8uQnEoYSwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIikpcmV0dXJuITE7Xy5BcShhLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7cmV0dXJuITB9KSgpfTtTcmE9ZnVuY3Rpb24oKXtfLlZpKCgpPT57dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthPT09Xy5wbygpJiZfLkFxKCJvbCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9KSgpfTsKVHJhPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsNCx2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uVGEoYSl9O3kwPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRhKGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEpfTtBMD1mdW5jdGlvbigpe3JldHVybiB6MC5sb2FkZWR8fCh6MC5sb2FkZWQ9ImxvYWRlZCIucmVwbGFjZSgvXC0oW2Etel0pL2csKGEsYik9PmIudG9VcHBlckNhc2UoKSkpfTtCMD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldOmEuZ2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIpOm51bGx9O0MwPWZ1bmN0aW9uKGEpe2EmJihhLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldPSJ0cnVlIjppcmEoYSkpfTsKRDA9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO18uTHkoYixhKTtyZXR1cm5ganMtJHtfLk15KGIuaHJlZi5yZXBsYWNlKC9eW2EtekEtWl0rOlwvXC8vLCIvLyIpKX1gfTtFMD1mdW5jdGlvbihhKXthPUQwKGEpO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpO2ImJihpMChhKSxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYikpfTtHMD1mdW5jdGlvbihhLGIpe2EmJmImJihhPWAke18uZncoYil9YCwoYT1GMFthXSkmJl8uTnooYSkpfTsKVXJhPWZ1bmN0aW9uKGEsYixjLGQ9bnVsbCl7dmFyIGU9Xy5DZCgiU0NSSVBUIik7ZS5pZD1iO2Uub25sb2FkPSgpPT57YyYmc2V0VGltZW91dChjLDApfTtlLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e3N3aXRjaChlLnJlYWR5U3RhdGUpe2Nhc2UgImxvYWRlZCI6Y2FzZSAiY29tcGxldGUiOmUub25sb2FkKCl9fTtkJiZlLnNldEF0dHJpYnV0ZSgibm9uY2UiLGQpO18ub2IoZSx0eXBlb2YgYT09PSJzdHJpbmciP3kwKGEpOmEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShlLGEuZmlyc3RDaGlsZCk7cmV0dXJuIGV9OwpWcmE9ZnVuY3Rpb24oYSxiLGM9bnVsbCl7dmFyIGQ9RDAodHlwZW9mIGE9PT0ic3RyaW5nIj9hOmEudG9TdHJpbmcoKSksZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKSxmPWUmJkIwKGUpLGg9ZSYmIWY7Zj9iJiZiKCk6KGImJihmPV8uTXooZCxiKSxiPWAke18uZncoYil9YCxGMFtiXT1mKSxofHwoZT1VcmEoYSxkLCgpPT57QjAoZSl8fChDMChlKSxfLk96KGQpLF8ubWooKCk9PntpMChkKX0sMCkpfSxjKSkpfTtIMD1mdW5jdGlvbihhLGIsYz1udWxsKXtWcmEoYSxiLGMpfTtXcmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DZCgiQSIpO18uTHkoYixuZXcgXy5XYShhKSk7cmV0dXJuYGNzcy0ke18uTXkoYi5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIikpfWB9OwpYcmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtkLmlkPWI7ZC5vbmxvYWQ9KCk9PntjJiZzZXRUaW1lb3V0KGMsMCl9O2E9eTAoYSk7Xy5xYihkLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuIGR9O1lyYT1mdW5jdGlvbihhKXt2YXIgYj1XcmEoYSksYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxkPWMmJkIwKGMpO2R8fGMmJiFkfHwoYz1YcmEoYSxiLCgpPT57aWYoIUIwKGMpKXtDMChjKTtfLk96KGIpO2xldCBlPV8uRGEoaTAsYik7Xy5taihlLDApfX0pKX07CkkwPWZ1bmN0aW9uKGEpe2EuRmE9ITE7aWYoYS5oYSlmb3IodmFyIGIgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShiKSYmYS5oYShiLGEualtiXSk7Zm9yKGxldCBjIGluIGEuSSlhLkkuaGFzT3duUHJvcGVydHkoYykmJmNsZWFyVGltZW91dChOdW1iZXIoYykpO2EuST17fTthLkI9bnVsbDthLmhhPW51bGw7Yj1hLmFwaTtmb3IobGV0IGMgaW4gYiliLmhhc093blByb3BlcnR5KGMpJiYoYltjXT1udWxsKTtiLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PnthLmFkZEV2ZW50TGlzdGVuZXIoYyxkKX07Yi5yZW1vdmVFdmVudExpc3RlbmVyPShjLGQpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCl9O2IuZGVzdHJveT0oKT0+e2EuZGlzcG9zZSgpfTtiLmdldExhc3RFcnJvcj0oKT0+YS5nZXRMYXN0RXJyb3IoKTtiLmdldFBsYXllclR5cGU9KCk9PmEuZ2V0UGxheWVyVHlwZSgpO2IuZ2V0Q3VycmVudFZpZGVvQ29uZmlnPSgpPT5hLk1hO2IubG9hZE5ld1ZpZGVvQ29uZmlnPWM9Pgp7YS5sb2FkTmV3VmlkZW9Db25maWcoYyl9O2IuaXNSZWFkeT0oKT0+YS5pc1JlYWR5KCl9O0owPWZ1bmN0aW9uKGEpe3ZhciBiO2Eud2ViUGxheWVyQ29udGV4dENvbmZpZz9iPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkOmI9YS5jb25maWcuYXR0cnMuaWQ7YS5lbGVtZW50SWQ9Ynx8YS5lbGVtZW50SWQ7YS5lbGVtZW50SWQ9PT0idmlkZW8tcGxheWVyIiYmKGEuZWxlbWVudElkPWEucGxheWVySWQsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEucGxheWVySWQ6YS5jb25maWcuYXR0cnMuaWQ9YS5wbGF5ZXJJZCk7YS5vPy5pZD09PWEuZWxlbWVudElkJiYoYS5lbGVtZW50SWQ9YCR7YS5lbGVtZW50SWR9LXBsYXllcmAsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEuZWxlbWVudElkOmEuY29uZmlnLmF0dHJzLmlkPWEuZWxlbWVudElkKX07ClMwPWZ1bmN0aW9uKGEpe2lmKCFhLmlhKCkmJiFhLlUpe3ZhciBiPUswKGEpO2lmKGImJihMMChhKT8iaHRtbDUiOm51bGwpPT09Imh0bWw1IilhLlo9Imh0bWw1IixhLmlzUmVhZHkoKXx8TTAoYSk7ZWxzZSBpZihOMChhKSxhLlo9Imh0bWw1IixiJiZhLnYmJmEudGFyZ2V0RWxlbWVudClhLnRhcmdldEVsZW1lbnQuYXBwZW5kQ2hpbGQoYS52KSxNMChhKTtlbHNle2EuY29uZmlnJiYoYS5jb25maWcubG9hZGVkPSEwKTtsZXQgYz0hMTthLkQ9KCk9PntjPSEwO3ZhciBkPU8wKGEsInBsYXllcl9ib290c3RyYXBfbWV0aG9kIik/Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZUFsdGVybmF0ZSIpfHxfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIik6Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3ZhciBlPWEuY29uZmlnP1AwKGEuY29uZmlnKTp2b2lkIDA7ZCYmZChhLnRhcmdldEVsZW1lbnQsZSxhLndlYlBsYXllckNvbnRleHRDb25maWcsCmEuRWIpO00wKGEpfTthLlU9ITA7Yj9hLkQoKTooSDAoUTAoYSksYS5EKSwoYj1acmEoYSkpJiZZcmEoYnx8IiIpLFIwKGEpJiYhYyYmXy5yYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIsbnVsbCkpfX19O1QwPWZ1bmN0aW9uKGEpe2EuY29uZmlnJiZhLmNvbmZpZy5sb2FkZWQhPT0hMCYmKGEuY29uZmlnLmxvYWRlZD0hMCwhYS5jb25maWcuYXJnc3x8YS5jb25maWcuYXJncy5hdXRvcGxheSE9PSIwIiYmYS5jb25maWcuYXJncy5hdXRvcGxheSE9PTAmJmEuY29uZmlnLmFyZ3MuYXV0b3BsYXkhPT0hMT9hLmFwaS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncz8/bnVsbCk6YS5hcGkuY3VlVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncykpfTtQMD1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpe2xldCBkPWFbY107YltjXT10eXBlb2YgZD09PSJvYmplY3QiP1VfKGQpOmR9cmV0dXJuIGJ9OwpVMD1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYodHlwZW9mIGI9PT0ic3RyaW5nIil7aWYoYS55YVtiXSlyZXR1cm4gYS55YVtiXTtjPSguLi5kKT0+e3ZhciBlPV8uc2EoYik7aWYoZSl0cnl7ZS5hcHBseShfLnUsZCl9Y2F0Y2goZil7dGhyb3cgZD1uZXcgXy5YaigiUGxheWVyUHJveHkgZXJyb3Igd2hlbiBleGVjdXRpbmcgY2FsbGJhY2siLHtlcnJvcjpmfSksZC5sZXZlbD0iRVJST1IiLGQ7fX07YS55YVtiXT1jfXJldHVybiBjP2M6bnVsbH07TDA9ZnVuY3Rpb24oYSl7dmFyIGI9Vl8oYS5lbGVtZW50SWQpOyFiJiZhLm8mJmEuby5xdWVyeVNlbGVjdG9yJiYoYj1hLm8ucXVlcnlTZWxlY3RvcihgIyR7YS5lbGVtZW50SWR9YCkpO3JldHVybiBifTtRMD1mdW5jdGlvbihhKXtyZXR1cm4gYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5qc1VybDooYT1hLmNvbmZpZy5hc3NldHMpP2EuanM6IiJ9OwpLMD1mdW5jdGlvbihhKXt2YXIgYj0hMCxjPUwwKGEpO2MmJmEuY29uZmlnJiYoYj1jLmRhdGFzZXQudmVyc2lvbj09PVEwKGEpKTtyZXR1cm4gYiYmISFfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIil9O08wPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnKXZhciBjPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5zZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzO2Vsc2UgYS5jb25maWc/LmFyZ3MmJihjPWEuY29uZmlnLmFyZ3MuZmZsYWdzKTtyZXR1cm4oY3x8IiIpLnNwbGl0KCImIikuaW5jbHVkZXMoYCR7Yn09dHJ1ZWApfTsKTTA9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7bGV0IGI9TDAoYSksYz0hMTtiJiZiLmdldEFwaUludGVyZmFjZSYmYi5nZXRBcGlJbnRlcmZhY2UoKSYmKGM9ITApO2M/KGEuVT0hMSwhTzAoYSwiaHRtbDVfcmVtb3ZlX25vdF9zZXJ2YWJsZV9jaGVja19raWxsc3dpdGNoIikmJmI/LmlzTm90U2VydmFibGUmJmEuY29uZmlnJiZiPy5pc05vdFNlcnZhYmxlKGEuY29uZmlnLmFyZ3M/LnZpZGVvX2lkKXx8JHJhKGEpKTphLlFhPXNldFRpbWVvdXQoKCk9PntNMChhKX0sNTApfX07TjA9ZnVuY3Rpb24oYSl7YS5jYW5jZWwoKTtJMChhKTthLlo9bnVsbDthLmNvbmZpZyYmKGEuY29uZmlnLmxvYWRlZD0hMSk7dmFyIGI9TDAoYSk7YiYmKEswKGEpfHwhUjAoYSk/YS52PWI6KGImJmIuZGVzdHJveSYmYi5kZXN0cm95KCksYS52PW51bGwpKTthLnRhcmdldEVsZW1lbnQmJldfKGEudGFyZ2V0RWxlbWVudCl9OwpacmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEud2ViUGxheWVyQ29udGV4dENvbmZpZz9hLndlYlBsYXllckNvbnRleHRDb25maWcuY3NzVXJsOihhPWEuY29uZmlnLmFzc2V0cyk/YS5jc3M6IiJ9O1IwPWZ1bmN0aW9uKGEpe2E9YS5jb25maWc/LmFyZ3M/LmZmbGFncztyZXR1cm4hIWEmJmEuaW5kZXhPZigicGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb249dHJ1ZSIpIT09LTF9OwokcmE9ZnVuY3Rpb24oYSl7STAoYSk7YS5GYT0hMDt2YXIgYj1MMChhKTtpZihiKXthLkI9VjAoYSxiLCJhZGRFdmVudExpc3RlbmVyIik7YS5oYT1WMChhLGIsInJlbW92ZUV2ZW50TGlzdGVuZXIiKTtsZXQgYz1iLmdldEFwaUludGVyZmFjZSgpO2M9Yy5jb25jYXQoYi5nZXRJbnRlcm5hbEFwaUludGVyZmFjZSgpKTtsZXQgZD1hLmFwaTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXTtkW2ZdfHwoZFtmXT1WMChhLGIsZikpfX1mb3IobGV0IGMgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShjKSYmYS5CJiZhLkIoYyxhLmpbY10pO1QwKGEpO2Eub2EmJmEub2EoYS5hcGkpO2EuTS5wdWJsaXNoKCJvblJlYWR5IixhLmFwaSl9OwpWMD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YltjXTtyZXR1cm4oLi4uZSk9Pnt0cnl7cmV0dXJuIGEubGFzdEVycm9yPW51bGwsZC5hcHBseShiLGUpfWNhdGNoKGYpe2lmKGMhPT0ic2VuZEFiYW5kb25tZW50UGluZyIpdGhyb3cgZi5wYXJhbXM9YyxhLmxhc3RFcnJvcj1mLGU9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIGluIG1ldGhvZCBjYWxsIix7ZXJyb3I6ZixtZXRob2Q6YyxwbGF5ZXJJZDphLnBsYXllcklkfSksZS5sZXZlbD0iV0FSTklORyIsZTt9fX07CmFzYT1mdW5jdGlvbihhLGIpe3ZhciBjPWQ9Pnt2YXIgZT0oKT0+e2EuaWEoKTtpZighYS5pYSgpKXRyeXthLk0ucHVibGlzaChiLGQ/P3ZvaWQgMCl9Y2F0Y2goaCl7dmFyIGY9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIHdoZW4gY3JlYXRpbmcgZ2xvYmFsIGNhbGxiYWNrIix7ZXJyb3I6aC5tZXNzYWdlLGV2ZW50OmIscGxheWVySWQ6YS5wbGF5ZXJJZCxkYXRhOmQsb3JpZ2luYWxTdGFjazpoLnN0YWNrLGNvbXBvbmVudFN0YWNrOmguY29tcG9uZW50U3RhY2t9KTtmLmxldmVsPSJXQVJOSU5HIjt0aHJvdyBmO319O2lmKE8wKGEsIndlYl9wbGF5ZXJfcHVibGlzaF9ldmVudHNfaW1tZWRpYXRlbHkiKSllKCk7ZWxzZXtsZXQgZj1zZXRUaW1lb3V0KCgpPT57ZSgpO3ZhciBoPWEuSSxrPVN0cmluZyhmKTtrIGluIGgmJmRlbGV0ZSBoW2tdfSwwKTt2cmEoYS5JLFN0cmluZyhmKSl9fTtyZXR1cm4gYS5qW2JdPWN9Owpjc2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz0icGxheWVyIjtjPXR5cGVvZiBjPT09InN0cmluZyI/Vl8oYyk6Yzt2YXIgZD1gJHtfLnZhYX1fJHtfLmZ3KGMpfWAsZT1XMFtkXTtlPW5ldyBic2EoYyxkLGEsYik7VzBbZF09ZTtlLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57ZGVsZXRlIFcwW2UuZ2V0SWQoKV19KTtyZXR1cm4gZS5hcGl9O1gwPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O18ueCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKGIucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIGE9Xy5laihhLGIpfTtZMD1mdW5jdGlvbihhKXt2YXIgYj1fLncoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIik7YiYmKGE9U3RyaW5nKGIpK1N0cmluZyhfLk55KGEpKSk7cmV0dXJuIGF9OwpaMD1mdW5jdGlvbihhLGI9IlBPU1QiKXthPXttZXRob2Q6Yixtb2RlOl8uZmooYSk/InNhbWUtb3JpZ2luIjoiY29ycyIsY3JlZGVudGlhbHM6Xy5maihhKT8ic2FtZS1vcmlnaW4iOiJpbmNsdWRlIn07Yj17fTt2YXIgYz17fTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYikpYltkXSYmKGNbZF09YltkXSk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJihhLmhlYWRlcnM9Yyk7cmV0dXJuIGF9OyQwPWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19O2ExPWZ1bmN0aW9uKGEpe2lmKF8uWHooKSl7dmFyIGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpYj0kMChjKSxiPT09dm9pZCAwfHxhLmluY2x1ZGVzKGIpfHxzZWxmLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07CmRzYT1mdW5jdGlvbigpe2lmKCFfLlh6KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpaWYoYj0kMChjKSxiIT09dm9pZCAwJiZiIT09YSlyZXR1cm4hMDtyZXR1cm4hMX07YjE9ZnVuY3Rpb24oYSl7Xy5PaShfLiR6LGFyZ3VtZW50cyl9O2MxPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGF3YWl0IF8uZUEoKSl7dmFyIGI9W10sYz1hd2FpdCBfLmRBLmtleXMoKTtmb3IobGV0IGQgb2YgYykoe2RhdGFzeW5jSWQ6Y309Xy5iQShkKSksIWN8fGEuaW5jbHVkZXMoYyl8fGIucHVzaChfLmRBLmRlbGV0ZShkKSk7UHJvbWlzZS5hbGwoYikudGhlbihkPT5kLnNvbWUoZT0+ZSkpfX07CmVzYT1hc3luYyBmdW5jdGlvbigpe2lmKCFhd2FpdCBfLmVBKCkpcmV0dXJuITE7dmFyIGE9Xy5WaigiY2FjaGUgY29udGFpbnMgb3RoZXIiKSxiPWF3YWl0IF8uZEEua2V5cygpO2ZvcihsZXQgYyBvZiBiKWlmKHtkYXRhc3luY0lkOmJ9PV8uYkEoYyksYiYmYiE9PWEpcmV0dXJuITA7cmV0dXJuITF9O2ZzYT1mdW5jdGlvbihhKXtpZihfLmhBLmhhcyhhKSYmXy5mQSYmKF8uZkE/LnRhZ05hbWUudG9Mb3dlckNhc2UoKT8/IiIpPT09YSl7bGV0IGI7KGI9Xy5mQSkubWk/PyhiLm1pPTApO18uZkEubWkrKztpZihfLmZBLm1pPjEpdGhyb3cgRXJyb3IoIlBiIik7cmV0dXJuIF8uZkF9fTtnc2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpPz8iIjtfLmZBIT09YSYmYi5pbmNsdWRlcygiLSIpJiZfLmdBLnNldChhLCEwKX07ZDE9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2goYSl7cmV0dXJuITB9fTsKZjE9ZnVuY3Rpb24oYT0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3ZhciBjPXdpbmRvdz09PXdpbmRvdy50b3A/d2luZG93OmQxKCk/d2luZG93OndpbmRvdy50b3AsZD1jW2FdO2Q/LmJldmFzcnM/YihuZXcgZTEoZC5iZXZhc3JzKSk6KGR8fChkPXtucWZiZWw6W119LGNbYV09ZCksZC5ucWZiZWwucHVzaChlPT57YihuZXcgZTEoZSkpfSkpfSl9O2hzYT1mdW5jdGlvbihhKXthLmohPT12b2lkIDAmJihhLm8uZm9yRWFjaChiPT57YS5qPy5yZW1vdmVFdmVudExpc3RlbmVyKGIsYS52KX0pLGEuaj12b2lkIDApfTtnMT1mdW5jdGlvbihhKXt2YXIgYj17S2M6YS5jLHNsOmEuZSxMeTphLm1jPz8hMSxNeTphLm1lPz8hMX07YS5jbyYmKGIueWk9e1hvOmEuY28uYyxBdTphLmNvLmEsSkE6YS5jby5zfSk7cmV0dXJuIGJ9Owpqc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGFzeW5jKCk9Pnt2YXIgYj1hd2FpdCBhKCk7cmV0dXJue2Y6KCk9PmIueWcucHJvbWlzZSxjOmM9PntpZihjPjE1MCl2YXIgZD0hMTtlbHNlIHRyeXtiLmNhY2hlPW5ldyBpc2EoYyxiLlgpLGQ9ITB9Y2F0Y2goZSl7Yi5yZXBvcnRFcnJvcihuZXcgaDEoMjIsIkdCSjppbml0IixlKSksZD0hMX1yZXR1cm4gZH0sbTpjPT5iLm9lKGcxKGMpKSxtd3M6Yz0+Yi56aihnMShjKSl9fX07CmtzYT1mdW5jdGlvbihhLGIsYz0iYmV2YXNyc2ciKXtiPXtzOmY9PmEuc25hcHNob3Qoey4uLihmLmMmJntLYzpmLmN9KSwuLi4oZi5zJiZ7WWo6Zi5zfSksVUs6Zi5wPz8hMH0pLGU6Zj0+dm9pZCBhLkloPy4oZiksYzooZixoKT0+YS5CaShmLGgpLHA6YS5DZyxsOigpPT5hLlZoKCksd3BjOmI/anNhKGIpOnZvaWQgMH07dmFyIGQ9d2luZG93PT09d2luZG93LnRvcD93aW5kb3c6ZDEoKT93aW5kb3c6d2luZG93LnRvcCxlPWRbY107aWYoZSl7ZS5iZXZhc3JzPWI7aWYoZS5ucWZiZWwhPT12b2lkIDApZm9yKGxldCBmIG9mIGUubnFmYmVsKWYoYik7ZS5ucWZiZWw9dm9pZCAwfWVsc2UgZT17YmV2YXNyczpiLG5xZmJlbDp2b2lkIDB9LGRbY109ZX07ajE9ZnVuY3Rpb24oYSl7dmFyIGI9W107R18oYSxpMSw2KS5mb3JFYWNoKGM9PntfLnR4KGMsMik8PTUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTsKbHNhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO0dfKGEsaTEsNikuZm9yRWFjaChjPT57Xy50eChjLDIpPjUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTtrMT1mdW5jdGlvbihhKXthLnRoZW4oKCk9Pnt9LCgpPT57fSl9O2wxPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6YX19O20xPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MyxmaWVsZE5hbWU6YX19O21zYT1mdW5jdGlvbihhLGIpe3JldHVybiBDXyhhLGIsXy5Pdyl9OwpyMT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgbjE7Yj1CWihiLDEsYS5vKTt2YXIgYz1uc2EoYSk7Yj1DXyhiLGMsc3JhKTtjPVtdO3ZhciBkPVtdO2Zvcih2YXIgZSBvZiBhLmoua2V5cygpKWQucHVzaChlLnNwbGl0KCIsIikpO2ZvcihlPTA7ZTxkLmxlbmd0aDtlKyspe2xldCBwPWRbZV07dmFyIGY9YS52LGg9bzEoYSwuLi5wKXx8W107bGV0IHI9W107Zm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sJiZsLmo7bD1uZXcgb3NhO3N3aXRjaChmKXtjYXNlIDM6bT1OdW1iZXIobSk7TnVtYmVyLmlzRmluaXRlKG0pJiZGXyhsLDEscDEseV8obSkpO2JyZWFrO2Nhc2UgMjpGXyhsLDIscDEscF8oTnVtYmVyKG0pKSl9ci5wdXNoKGwpfWZvcihmPTA7ZjxyLmxlbmd0aDtmKyspe2s9cltmXTtoPW5ldyBwc2E7aD1fLkt3KGgsMixrKTtrPVtdO2w9cXNhKGEpO2ZvcihtPTA7bTxsLmxlbmd0aDttKyspe3ZhciBuPWxbbV07bGV0IHQ9cFttXSx2PW5ldyByc2E7c3dpdGNoKG4pe2Nhc2UgMzpGXyh2LAoxLHExLEFaKFN0cmluZyh0KSkpO2JyZWFrO2Nhc2UgMjpuPU51bWJlcih0KTtOdW1iZXIuaXNGaW5pdGUobikmJkZfKHYsMixxMSxfLlB3KG4pKTticmVhaztjYXNlIDE6Rl8odiwzLHExLF8ueHcodD09PSJ0cnVlIikpfWsucHVzaCh2KX1IXyhoLDEsayk7Yy5wdXNoKGgpfX1IXyhiLDQsYyk7cmV0dXJuIGJ9O3NzYT1mdW5jdGlvbihhKXtIXyhzMSwxLGEpfTsKdXNhPWZ1bmN0aW9uKGEsYj10MSl7aWYoIXUxKXthPWEubmF2aWdhdG9yPy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoImtlIikpO3NzYSgoYS5icmFuZHN8fFtdKS5tYXAoZD0+e3ZhciBlPW5ldyB0c2E7ZT1CWihlLDEsZC5icmFuZCk7cmV0dXJuIEJaKGUsMixkLnZlcnNpb24pfSkpO3R5cGVvZiBhLm1vYmlsZT09PSJib29sZWFuIiYmXy5xdyhzMSwyLF8ueHcoYS5tb2JpbGUpKTt1MT1hLmdldEhpZ2hFbnRyb3B5VmFsdWVzKGIpfXZhciBjPW5ldyBTZXQoYik7cmV0dXJuIHUxLnRoZW4oZD0+e3ZhciBlPXMxLmNsb25lKCk7Yy5oYXMoInBsYXRmb3JtIikmJkJaKGUsMyxkLnBsYXRmb3JtKTtjLmhhcygicGxhdGZvcm1WZXJzaW9uIikmJkJaKGUsNCxkLnBsYXRmb3JtVmVyc2lvbik7CmMuaGFzKCJhcmNoaXRlY3R1cmUiKSYmQlooZSw1LGQuYXJjaGl0ZWN0dXJlKTtjLmhhcygibW9kZWwiKSYmQlooZSw2LGQubW9kZWwpO2MuaGFzKCJ1YUZ1bGxWZXJzaW9uIikmJkJaKGUsNyxkLnVhRnVsbFZlcnNpb24pO3JldHVybiBlLnNlcmlhbGl6ZSgpfSkuY2F0Y2goKCk9PnMxLnNlcmlhbGl6ZSgpKX07djE9ZnVuY3Rpb24oYSl7cmV0dXJuIENaKGEsMSwxKX07eTE9ZnVuY3Rpb24oYSxiKXtfLkt3KGEuaiwxLGIpO0tfKGIpfHx2MShiKTthLnlkfHwoYj13MShhKSxKXyhiLDUpfHxCWihiLDUsYS5sb2NhbGUpKTthLnYmJihiPXcxKGEpLF8uTngoYix4MSw5KXx8Xy5LdyhiLDksYS52KSl9O3cxPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTngoYS5qLHoxLDEpO2J8fChiPW5ldyB6MSx5MShhLGIpKTthPWI7Yj1fLk54KGEsQTEsMTEpO2J8fChiPW5ldyBBMSxfLkt3KGEsMTEsYikpO3JldHVybiBifTt2c2E9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnhzYT1mdW5jdGlvbihhKXt2YXIgYj1hLnlkP3ZvaWQgMDpfLnpkKCk7Yj91c2EoYix0MSkudGhlbihjPT57YS52PXdzYShjPz8iW10iKTtjPXcxKGEpO18uS3coYyw5LGEudik7cmV0dXJuITB9KS5jYXRjaCgoKT0+ITEpOlByb21pc2UucmVzb2x2ZSghMSl9O0IxPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuQj1hO3RoaXMuRD1iO3RoaXMubz10aGlzLmo9YTt0aGlzLks9Y3x8MDt0aGlzLkk9ZHx8Mn07QzE9ZnVuY3Rpb24oYSl7YS5vPU1hdGgubWluKGEuRCxhLm8qYS5JKTthLmo9TWF0aC5taW4oYS5ELGEubysoYS5LP01hdGgucm91bmQoYS5LKihNYXRoLnJhbmRvbSgpLS41KSoyKmEubyk6MCkpO2EudisrfTtEMT1mdW5jdGlvbigpe3JldHVybiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIn07CnlzYT1mdW5jdGlvbihhLGIpe2lmKCFhLk1hKXJldHVybigpPT57fTt2YXIgYz0oKT0+e2EuZmx1c2goKX07cmV0dXJuIGI/KCk9PntiKCkudGhlbihjKX06Y307RTE9ZnVuY3Rpb24oYSl7YS52LmlzRmluYWw9ITA7YS5mbHVzaCgpO2Eudi5pc0ZpbmFsPSExfTtGMT1mdW5jdGlvbihhKXthLlV8fChhLlU9RDEoKSk7dHJ5e3JldHVybihuZXcgVVJMKGEuVSkpLnRvU3RyaW5nKCl9Y2F0Y2goYil7cmV0dXJuKG5ldyBVUkwoYS5VLF8uemQoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07QXNhPWZ1bmN0aW9uKGEpe3pzYShhLChiLGMpPT57Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwianNvbiIpO3ZhciBkPSExO3RyeXtkPV8uemQoKS5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihiLnRvU3RyaW5nKCksYy5zZXJpYWxpemUoKSl9Y2F0Y2h7fWR8fChhLlo9ITEpO3JldHVybiBkfSl9OwpCc2E9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPWEud2l0aENyZWRlbnRpYWxzKXt2YXIgZT17fSxmPW5ldyBVUkwoRjEoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5zZXNzaW9uSW5kZXgmJihlWyJYLUdvb2ctQXV0aFVzZXIiXT1hLnNlc3Npb25JbmRleCxmLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixhLnNlc3Npb25JbmRleCkpO2EucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTphLnBhZ2VJZH0pLGYuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixhLnBhZ2VJZCkpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixHdToxLE9qOmUscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHRpbWVvdXRNaWxsaXM6YS50aW1lb3V0TWlsbGlzfX07CnpzYT1mdW5jdGlvbihhLGIpe2lmKGEuai5sZW5ndGghPT0wKXt2YXIgYz1uZXcgVVJMKEYxKGEpKTtjLnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBkPWEuU2YoKTtkJiZjLnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGQpO2Muc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEuc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihkPTA7ZDwxMCYmYS5qLmxlbmd0aDsrK2Qpe2xldCBlPWEuai5zbGljZSgwLDMyKSxmPWEudi5idWlsZChlLGEuQixhLkksYS5sZixhLmhhLGEuZ2EpO2lmKCFiKGMudG9TdHJpbmcoKSxmKSl7KythLkk7YnJlYWt9YS5CPTA7YS5JPTA7YS5oYT0wO2EuZ2E9MDthLmo9YS5qLnNsaWNlKGUubGVuZ3RoKX1hLm8uZW5hYmxlZCYmYS5vLnN0b3AoKX19O0NzYT1mdW5jdGlvbihhLGIpe2EuYnVpbGRMYWJlbD1iO3JldHVybiBhfTtFc2E9ZnVuY3Rpb24oYSl7YS5uZXR3b3JrPW5ldyBEc2E7cmV0dXJuIGF9O0ZzYT1mdW5jdGlvbihhLGIpe2Euaj1ifTsKR3NhPWZ1bmN0aW9uKGEpe2Eubz0hMDtyZXR1cm4gYX07cXNhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZpZWxkcy5tYXAoYj0+Yi5maWVsZFR5cGUpfTtvMT1mdW5jdGlvbihhLC4uLmIpe2I9RzEoLi4uYik7cmV0dXJuIGEuai5oYXMoYik/YS5qLmdldChiKTp2b2lkIDB9O25zYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5maWVsZHMubWFwKGI9PmIuZmllbGROYW1lKX07STE9ZnVuY3Rpb24oYSxiLC4uLmMpe2M9RzEoLi4uYyk7YS5qLnNldChjLFtuZXcgSDEoYildKX07SHNhPWZ1bmN0aW9uKGEsYiwuLi5jKXt2YXIgZD1vMShhLC4uLmMpO2Q/ZC5wdXNoKG5ldyBIMShiKSk6STEoYSxiLC4uLmMpfTtHMT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYT9hLmpvaW4oIiwiKToia2V5In07SXNhPWZ1bmN0aW9uKGEsLi4uYil7cmV0dXJuKGE9bzEoYSwuLi5iKSkmJmEubGVuZ3RoP2FbMF06dm9pZCAwfTsKSnNhPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9MCxkPUlzYShhLC4uLmIpO2QmJihjPWQuaik7STEoYSxjKzEsLi4uYil9O0sxPWZ1bmN0aW9uKGEsYiwuLi5jKXthLnYuaGFzKGIpfHxhLnYuc2V0KGIsbmV3IEoxKGIsYykpfTtNMT1mdW5jdGlvbihhLGIsLi4uYyl7YS52LmhhcyhiKXx8YS52LnNldChiLG5ldyBMMShiLGMpKX07TjE9ZnVuY3Rpb24oYSl7YS5vLmVuYWJsZWR8fGEuby5zdGFydCgpO2EuSSsrO2EuST49YS5CJiZhLkQoKX07S3NhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl0uY2xlYXIoKX07TzE9ZnVuY3Rpb24oYSxiLC4uLmMpeyhiPWEuaihiKSkmJmIgaW5zdGFuY2VvZiBMMSYmKEpzYShiLC4uLmMpLE4xKGEpKX07ClAxPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19OwpMc2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTtSMT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9UTEoKTtiPWIoKTthLnYoYyxRMSgpLWQpO3JldHVybiBifTtPc2E9ZnVuY3Rpb24oYSxiLGMsZCl7YT1Hc2EoRXNhKENzYShuZXcgUzEsYSkpKS5ubCgpO2IubGVuZ3RoJiZGc2EoYSxtc2EobmV3IE1zYSxiKSk7ZCE9PXZvaWQgMCYmKGEuTmU9ZCk7dmFyIGU9bmV3IE5zYShhLmJ1aWxkKCkpO0VaKGUsYSk7dmFyIGY9bmV3IFQxKHtmbHVzaChoKXt0cnl7ZS5mbHVzaChoKX1jYXRjaChrKXtjKGspfX19KTtmLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtmLkQoKX1maW5hbGx5e2UuZGlzcG9zZSgpfX0pfSk7Zi5CPTFFNTtmLmZsdXNoSW50ZXJ2YWw9M0U0O2Yuby5zZXRJbnRlcnZhbCgzRTQpO3JldHVybiBmfTsKUHNhPWZ1bmN0aW9uKGEpe2lmKGEudGltZXI9PT12b2lkIDApe2xldCBiPU1hdGgubWF4KDAsYS5qK2Euby1RMSgpKTthLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0cnl7YS5jYWxsYmFjaygpfWZpbmFsbHl7YS5qPVExKCksYS50aW1lcj12b2lkIDB9fSxiKX19O1JzYT1mdW5jdGlvbihhLGI9W10pe3JldHVybiBuZXcgUXNhKGEsYil9O1ExPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9O1UxPWZ1bmN0aW9uKGEsYil7aWYoYS5kaXNhYmxlKXJldHVybiBuZXcgU3NhO2I9Yj9qMShiKTpbXTtyZXR1cm4gUnNhKHttYjphLm1iLHpsOmEuU3Ysbm06YS5LeSxOZTphLk5lLEZqOmEuRmosSWc6YS5JZ30sYil9O1cxPWZ1bmN0aW9uKCl7VjEuaW5zdGFuY2V8fChWMS5pbnN0YW5jZT1uZXcgVjEpO3JldHVybiBWMS5pbnN0YW5jZX07ClRzYT1mdW5jdGlvbihhLGIsYyxkKXtpZighYiYmIWMpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFkKXJldHVybiBYMShiLGMpO3ZhciBlOyhlPWEucHJvbWlzZXMpW2RdfHwoZVtkXT1uZXcgUHJvbWlzZSgoZixoKT0+e1gxKGIsYykudGhlbigoKT0+e2Euaj1kO2YoKX0saz0+e2RlbGV0ZSBhLnByb21pc2VzW2RdO2goayl9KX0pKTtyZXR1cm4gYS5wcm9taXNlc1tkXX07JDE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVHNhKGEsXy5OeChiLFkxLDEsXy53eiksXy5OeChiLFoxLDIsXy53eiksSl8oYiwzLHZvaWQgMCxfLnd6KSl9O1gxPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/VXNhKGIpOmE/VnNhKGEpOlByb21pc2UucmVzb2x2ZSgpfTsKVXNhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e3ZhciBkPV8uQ2QoIlNDUklQVCIpLGU9VHJhKGEpO18ub2IoZCxlKTtkLm9ubG9hZD0oKT0+e18uRGQoZCk7YigpfTtkLm9uZXJyb3I9KCk9PntfLkRkKGQpO2MoRXJyb3IoInFlIikpfTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChkKX0pfTtWc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBQcm9taXNlKGI9Pnt2YXIgYz1fLkNkKCJTQ1JJUFQiKTtpZihhKXt2YXIgZD1fLlh0KF8uZWQoYSw2LHZvaWQgMCxfLkR2KSk7ZD1kPT09bnVsbHx8ZD09PXZvaWQgMD9udWxsOl8ua2IoZCl9ZWxzZSBkPW51bGw7Xy5uYihjLGQpOyhkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKGMpO18uRGQoYyk7YigpfSl9OwpXc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDEsQVooYiksIiIpfTtYc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDIsQVooYiksIiIpfTsKYXRhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQ9VzEoKSxlPVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGYpe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCBrPW51bGw7aWYoaCl7YTIoYSw3KTt0cnl7az1hd2FpdCBiMihoLnNuYXBzaG90KHt9KSxmLmF2LCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKG4pe2s9IkU6VUNFIn19bGV0IGwsbT1uZXcgQjEoaD9mLkp2OmYuS3YsZi5MdixmLk12LGYuSXYpO2ZvcihsZXQgbj0xO248PWYubWF4QXR0ZW1wdHM7bisrKXtpZihuIT09MSl7YTIoYSwwKTthLmo9bmV3IGMyKG0uaixmLmVrLGYubHMpO2xldCBwPWF3YWl0IGEuai5wcm9taXNlO2Euaj12b2lkIDA7cD09PTE/KG49MSxtLnJlc2V0KCkpOkMxKG0pfXRyeXtsZXQgcDtjP3A9YzooYTIoYSw1KSxwPWF3YWl0IGIyKFlzYShiLGQuaixrKSxmLlZ2LCgpPT5Qcm9taXNlLnJlamVjdChFcnJvcigic2UiKSkpKTthMihhLDMpO2F3YWl0IGIyKCQxKGQscCksZi5xeSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInRlIikpKTsKYTIoYSw4KTthd2FpdCBlO2xldCByPW5ldyBkMih7Y2hhbGxlbmdlOnAsbmc6YS5vcHRpb25zLm5nLEZzOmEub3B0aW9ucy5Gc30pO2F3YWl0IGIyKHIuQ2csZi5tQSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInVlIikpKTtsPXI7YnJlYWt9Y2F0Y2gocCl7YS5oYW5kbGVFcnJvcihwKSxlMihhKX19aWYoYS5pYSgpKWJyZWFrO2wmJihjPXZvaWQgMCxac2EoYSxoKSxoPWwsJHNhKGEsbCksZTIoYSkpO2EyKGEsMik7YS5qPW5ldyBjMihmLkZyLGYuZWssZi5scyk7YS5pc1BhdXNlZCYmYS5qLnBhdXNlKCk7YXdhaXQgYS5qLnByb21pc2U7YS5qPXZvaWQgMDtpZihhLmlhKCkpYnJlYWt9aD8uZGlzcG9zZSgpfTsKYnRhPWZ1bmN0aW9uKGEpe2EuTT1FcnJvcigicmUiKTthLkQucmVzb2x2ZSgpO2sxKGEuSS5wcm9taXNlKTthLkkucmVqZWN0KEVycm9yKCJyZSIpKTthLlguZGlzcG9zZSgpO1Byb21pc2UuYWxsKGEuQikudGhlbihhc3luYygpPT57YS5vPy5kaXNwb3NlKCk7YS5vPXZvaWQgMH0pO2EuQj1bXTthLmo/Lm8oKTtrMShhLnYucHJvbWlzZSk7YS52LnJlamVjdChFcnJvcigicmUiKSl9O2YyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5HajthLkdqPSgpPT57YygpO2IoKX19OyRzYT1mdW5jdGlvbihhLGIpe2EuaWEoKXx8KGEubz1iLGEuWC51cGRhdGUoYi5WaCgpKSxhLkQucmVzb2x2ZSgpLGEuSS5yZXNvbHZlKHZvaWQgMCksYS5HaigpKX07WnNhPWZ1bmN0aW9uKGEsYil7YiYmKFByb21pc2UuYWxsKGEuQikudGhlbigoKT0+dm9pZCBiLmRpc3Bvc2UoKSksYS5CPVtdKX07YTI9ZnVuY3Rpb24oYSxiKXthLlo9YjthLm9wdGlvbnMuaks/LihiKX07CmUyPWZ1bmN0aW9uKGEpe2EuaWEoKXx8KGEudi5yZXNvbHZlKCksYS52PW5ldyBfLmNzKX07YjI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2M9KG5ldyBQcm9taXNlKGU9PntkPXNldFRpbWVvdXQoZSxiKX0pKS50aGVuKGMpO2sxKGMpO3JldHVybiBQcm9taXNlLnJhY2UoW2EuZmluYWxseSgoKT0+dm9pZCBjbGVhclRpbWVvdXQoZCkpLGNdKX07Y3RhPWZ1bmN0aW9uKGEsYil7YS5lbmRUaW1lTXM9RGF0ZS5ub3coKStiO2EudGljaygpfTtnMj1mdW5jdGlvbihhKXthLmomJihjbGVhclRpbWVvdXQoYS5qKSxhLmo9bnVsbCl9O2gyPWZ1bmN0aW9uKGEsYil7dHJ5e3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oYSxiKSwhMH1jYXRjaChjKXtyZXR1cm4hMX19OwppMj1mdW5jdGlvbihhLGI9MCxjPWEubGVuZ3RoLGQpe3ZhciBlPTA7Zm9yKGQmJihlPWkyKGQpKTtiPGM7YisrKWU9ZHRhKDMxLGUpKyh0eXBlb2YgYT09PSJzdHJpbmciP2EuY2hhckNvZGVBdChiKTphW2JdKXwwO3JldHVybiBlfTtrMj1mdW5jdGlvbihhKXt2YXIgW2IsY109W2kyKGEsMCxhLmxlbmd0aD4+MSxqMiksaTIoYSxhLmxlbmd0aD4+MSldO3JldHVybiBiLnRvU3RyaW5nKDE2KStjLnRvU3RyaW5nKDE2KX07CmwyPWZ1bmN0aW9uKGEsYil7dmFyIGM9W2kyKGIsMCxiLmxlbmd0aD4+MSx2b2lkIDApLGkyKGIsYi5sZW5ndGg+PjEpXTthPW5ldyBVaW50MzJBcnJheShhLmJ1ZmZlcik7Yj1hWzBdO3ZhciBbZCxlXT1jO2ZvcihjPTE7YzxhLmxlbmd0aDtjKz0yKXt2YXIgZj1iLGg9YyxrPWQsbD1lO2ZvcihsZXQgbT0wO208MjI7bSsrKWg9aD4+Pjh8aDw8MjQsaCs9ZnwwLGhePWsrMzgyOTMsZj1mPDwzfGY+Pj4yOSxmXj1oLGw9bD4+Pjh8bDw8MjQsbCs9a3wwLGxePW0rMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1sO2Y9W2YsaF07YVtjXV49ZlswXTtjKzE8YS5sZW5ndGgmJihhW2MrMV1ePWZbMV0pfX07CmV0YT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSg0LShqMi5sZW5ndGgrYy5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2YrajIubGVuZ3RoKzQrYy5sZW5ndGgpLGs9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxsPTA7ay5zZXRVaW50MzIobCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO2w9bCs0K2Y7aC5zZXQoajIsbCk7bCs9ajIubGVuZ3RoO2suc2V0VWludDMyKGwsZSk7aC5zZXQoYyxsKzQpO2wyKGgsZCk7cmV0dXJuIGEucmIoYixtPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShtKSk/aDIoYixfLnNjKGgpKT8icyI6InQiOiJpIn07CmZ0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShhKTtpZighYylyZXR1cm5bIm0iXTt0cnl7dmFyIGQ9Xy51YyhjKTtsMihkLGIpfWNhdGNoKGUpe3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJjIl19Zm9yKGI9NDtiPDcmJmRbYl09PT0wOyliKys7Zm9yKGM9MDtjPGoyLmxlbmd0aDtjKyspaWYoZFtiKytdIT09ajJbY10pcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShhKSxbImQiXTtjPShuZXcgRGF0YVZpZXcoZC5idWZmZXIpKS5nZXRVaW50MzIoYik7cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpPj1jPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJlIl0pOlsiYSIsbmV3IFVpbnQ4QXJyYXkoZC5idWZmZXIsYis0KV19OwpndGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJpVTVxLSFPOUAkIik7aWYoIWIpcmV0dXJuIG5ldyBtMihhKTt2YXIgYz1iLnNwbGl0KCIsIik7aWYoYy5sZW5ndGg8MilyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IG0yKGEpO2I9Yy5zbGljZSgxKTtiLmxlbmd0aD09PTEmJmJbMF09PT0iIiYmKGI9W10pO2M9TnVtYmVyKGNbMF0pO3JldHVybiBpc05hTihjKXx8YzwwfHxjPmIubGVuZ3RoPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oImlVNXEtIU85QCQiKSxuZXcgbTIoYSkpOm5ldyBtMihhLGMsYil9O24yPWZ1bmN0aW9uKGEsYil7dmFyIGM9c2V0VGltZW91dCgoKT0+e2Eudi5yZXNvbHZlKCl9LGIpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGMpKX07CnAyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YCR7YihhLmVycm9yLm1lc3NhZ2UpfToke2IoYS5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtiPWMubGVuZ3RoKzE7Yz1vMihjKTt2YXIgZD1uZXcgVWludDhBcnJheSg0K2MubGVuZ3RoKTtkLnNldChbNDIsYiYxMjd8MTI4LGI+PjcsYS5lcnJvci5jb2RlXSk7ZC5zZXQoYyw0KTtyZXR1cm4gZH07bzI9ZnVuY3Rpb24oYSl7cmV0dXJuIGdsb2JhbFRoaXMuVGV4dEVuY29kZXI/KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpOl8uYWMoYSl9Owp0Mj1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YS52Kys7dmFyIGM9bmV3IF8uY3M7YS52bSBpbnN0YW5jZW9mIHEyJiZhLnZtLkIucHVzaChjLnByb21pc2UpO2lmKGEuUW4pe2xldCBmPW5ldyBfLmNzO3NldFRpbWVvdXQoKCk9PnZvaWQgZi5yZXNvbHZlKCkpO2F3YWl0IGYucHJvbWlzZX12YXIgZD1hLlguc2hhcmUoKTt0cnl7YS5zdGF0ZT01O2xldCBmPVtdLGg9YXdhaXQgYjIoYS52bS5zbmFwc2hvdCh7S2M6e30sSXM6Zn0pLGEuTGcuQkEsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxNSwiTURBOlRpbWVvdXQiKSkpO3IyKGEsIk1EQTpEaXNwb3NlZCIpO2xldCBrPWZbMF07YS5zdGF0ZT02O2xldCBsPWF3YWl0IGIyKGh0YShhLm9kLGgpLGEuTGcuV3YsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxMCwiQldCOlRpbWVvdXQiKSkpO3IyKGEsIkJXQjpEaXNwb3NlZCIpO2Euc3RhdGU9NztiPVIxKGQsKCk9Pnt2YXIgbT1pdGEoYSxsLGMsayk7bS52LnByb21pc2UudGhlbigoKT0+CnZvaWQgYS5CKCkpO3JldHVybiBtfSwiaSIpfWNhdGNoKGYpe2I/LmRpc3Bvc2UoKTtpZighYS5vKXtsZXQgaD1qdGEoYSxmKTtjLnJlc29sdmUoKTt2YXIgZTtpZihlPWEudm0gaW5zdGFuY2VvZiBxMiYmYS52PDIpYTppZihmIGluc3RhbmNlb2YgaDEpZT1mLmNvZGUhPT0zMiYmZi5jb2RlIT09MjAmJmYuY29kZSE9PTEwO2Vsc2V7aWYoZiBpbnN0YW5jZW9mIHMyKXN3aXRjaChmLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6ZT0hMTticmVhayBhfWU9ITB9aWYoZSl7bGV0IGs9c2V0VGltZW91dCgoKT0+dm9pZCBhLkIoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKGEuaj82RTQ6MUUzKSk7YS5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQoaykpO3JldHVybn1hLm89aH1kLkpiKGEuaj8xMzoxNCk7YS55Zy5yZWplY3QoYS5vKTtyZXR1cm59ZmluYWxseXtkLmRpc3Bvc2UoKX1hLnN0YXRlPTg7YS52PTA7YS5qPy5kaXNwb3NlKCk7CmEuaj1iO2EueWcucmVzb2x2ZSgpfTtqdGE9ZnVuY3Rpb24oYSxiKXtpZighKGIgaW5zdGFuY2VvZiBoMSkpaWYoYiBpbnN0YW5jZW9mIHMyKXtsZXQgYz1FcnJvcihiLnRvU3RyaW5nKCkpO2Muc3RhY2s9Yi5zdGFjaztiPW5ldyBoMSgxMSwiRUJIOkVycm9yIixjKX1lbHNlIGI9bmV3IGgxKDEyLCJCU086VW5rbm93biIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O3IyPWZ1bmN0aW9uKGEsYil7aWYoYS5pYSgpKXRocm93IG5ldyBoMShhLmo/MjA6MzIsYik7fTsKaXRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPShzXyhfLmVkKGIsMikpPz8wKSoxRTM7aWYoZTw9MCl0aHJvdyBuZXcgaDEoMzEsIlRUTTpJbnZhbGlkIik7aWYoSl8oYiw0KSlyZXR1cm4gbmV3IGt0YShhLlgsSl8oYiw0KSxlKTtpZighKHNfKF8uZWQoYiwzKSk/PzApKXJldHVybiBuZXcgbHRhKGEuWCxGWihCXyhiKSksZSk7aWYoIWQpdGhyb3cgbmV3IGgxKDQsIlBNRDpVbmRlZmluZWQiKTtkPWQoRlooQl8oYikpKTtpZih0eXBlb2YgZCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IGgxKDE2LCJBUEY6RmFpbGVkIik7YS5EPU1hdGguZmxvb3IoKERhdGUubm93KCkrZSkvMUUzKTthPW5ldyB1MihhLlgsZCxzXyhfLmVkKGIsMykpPz8wLGUpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgYy5yZXNvbHZlKCkpO3JldHVybiBhfTsKdzI9ZnVuY3Rpb24oYSxiLGMpe3RyeXtpZihhLmlhKCkpdGhyb3cgbmV3IGgxKDIxLCJCTlQ6ZGlzcG9zZWQiKTtpZighYS5qJiZhLm8pdGhyb3cgYS5vO3JldHVybiBtdGEoYSxiLGMpPz9udGEoYSxiLGMpPz9vdGEoYSxiLGMpfWNhdGNoKGQpe2lmKCFiLk15KXRocm93IHYyKGEsZCk7cmV0dXJuIHB0YShhLGMsZCl9fTt2Mj1mdW5jdGlvbihhLGIpe2I9YiBpbnN0YW5jZW9mIGgxP2I6bmV3IGgxKDUsIlRWRDplcnJvciIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O210YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuaj8uc20oKCk9PngyKGEsYiksYyxkPT57aWYoYS5qIGluc3RhbmNlb2YgdTImJmIueWk/LkpBKXRyeXthLmNhY2hlPy5qKHgyKGEsYiksZCxiLnlpLlhvLGEuRC0xMjApfWNhdGNoKGUpe2EucmVwb3J0RXJyb3IobmV3IGgxKDI0LCJFTFg6d3JpdGUiLGUpKX19KX07Cm50YT1mdW5jdGlvbihhLGIsYyl7aWYoYi55aT8uQXUpdHJ5e2xldCBkPWEuY2FjaGU/Lm8oeDIoYSxiKSxiLnlpLlhvKTtyZXR1cm4gZD9jP1IxKGEuWCwoKT0+Xy5zYyhkLDIpLCJhIik6ZDp2b2lkIDB9Y2F0Y2goZCl7YS5yZXBvcnRFcnJvcihuZXcgaDEoMjMsIlJYTzpyZWFkIixkKSl9fTtvdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZighYi5MeSl0aHJvdyBuZXcgaDEoMjksIlNERjpub3RyZWFkeSIpO3JldHVybiBfLlZ6KGQsbmV3IHF0YShhLlgsYS5zdGF0ZSkpLnNtKCgpPT54MihhLGIpLGMpfWNhdGNoKGUpe2QuZXJyb3I9ZSxkLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihkKX19OwpwdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZT12MihhLGMpO3JldHVybiBfLlZ6KGQsbmV3IHJ0YShhLlgsZSkpLnNtKCgpPT5bXSxiKX1jYXRjaChlKXtkLmVycm9yPWUsZC5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooZCl9fTt4Mj1mdW5jdGlvbihhLGIpe3JldHVybiBiLnNsP2Iuc2w6Yi5LYz9SMShhLlgsKCk9PmIuc2w9bzIoYi5LYyksImMiKTpbXX07eTI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PSJcciJ8fGE9PSJcbiJ8fGE9PSIgInx8YT09Ilx0In07ejI9ZnVuY3Rpb24oKXt0aGlzLk09bnVsbDt0aGlzLlk9W107dGhpcy5JPSIiO3RoaXMuVT1bXTt0aGlzLnY9dGhpcy5vPTA7dGhpcy5EPSExO3RoaXMuSz0wO3RoaXMuWj0vW1xcIl0vZzt0aGlzLmo9dGhpcy5CPTB9OwpBMj1mdW5jdGlvbihhLGIsYyl7YS5CPTM7YS5NPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIithLnYrIi8iK2MrIi4gV2l0aCBpbnB1dDpcbiIrYjt0aHJvdyBFcnJvcihhLk0pO307QzI9ZnVuY3Rpb24oKXt2YXIgYT1VXyhzdGEpLGI7cmV0dXJuKG5ldyBfLkJmKChjLGQpPT57YS5vblN1Y2Nlc3M9ZT0+e18ucWooZSk/YyhuZXcgdHRhKGUpKTpkKG5ldyBCMihgUmVxdWVzdCBmYWlsZWQsIHN0YXR1cz0ke18ucGooZSl9YCwibmV0LmJhZHN0YXR1cyIpKX07YS5vbkVycm9yPSgpPT57ZChuZXcgQjIoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIikpfTthLm9uVGltZW91dD0oKT0+e2QobmV3IEIyKCJSZXF1ZXN0IHRpbWVkIG91dCIsIm5ldC50aW1lb3V0IikpfTtiPV8uemooIi8vZ29vZ2xlYWRzLmcuZG91YmxlY2xpY2submV0L3BhZ2VhZC9pZCIsYSl9KSkuS2coYz0+e2MgaW5zdGFuY2VvZiBfLlBmJiZiPy5hYm9ydCgpO3JldHVybiBfLk90KGMpfSl9Owp1dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0yO2Eubz1ifTt2dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0xO2Eubz1ifTtFMj1mdW5jdGlvbihhPW51bGwpe3ZhciBiPW5ldyBEMjt1dGEoYixhKTtyZXR1cm4gYn07RjI9ZnVuY3Rpb24oYT1udWxsKXt2YXIgYj1uZXcgRDI7dnRhKGIsYSk7cmV0dXJuIGJ9O3d0YT1mdW5jdGlvbihhKXt2YXIgYj1hLmRvY2lkfHxhLnZpZGVvX2lkfHxhLnZpZGVvSWR8fGEuaWQ7aWYoYilyZXR1cm4gYjtiPWEucmF3X3BsYXllcl9yZXNwb25zZTtifHwoYT1hLnBsYXllcl9yZXNwb25zZSkmJihiPUpTT04ucGFyc2UoYSkpO3JldHVybiBiJiZiLnZpZGVvRGV0YWlscyYmYi52aWRlb0RldGFpbHMudmlkZW9JZHx8bnVsbH07CkcyPWZ1bmN0aW9uKGEpe3ZhciBiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIjt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuaW5jbHVkZXMoInlvdXR1YmVlZHVjYXRpb24uY29tIikmJihiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKTt2YXIgYz1hLnJhd19lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7aWYoIWMmJihhPWEuZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlKSl0cnl7Yz1KU09OLnBhcnNlKGEpfWNhdGNoKGQpe3JldHVybiBifWlmKGMpYTp7YT14dGE7Zm9yKGxldCBkIGluIGEpaWYoYVtkXT09Yy5lbWJlZGRlZFBsYXllck1vZGUpe2I9YVtkXTticmVhayBhfX1yZXR1cm4gYn07Cnl0YT1mdW5jdGlvbigpe2lmKF8ueCgiZGlzYWJsZV9iaXNjb3R0aV9mZXRjaF9lbnRpcmVseV9mb3JfYWxsX3dlYl9jbGllbnRzIikpcmV0dXJuIEVycm9yKCJ2ZSIpO2lmKCFfLnN6KCkpcmV0dXJuIEVycm9yKCJ3ZSIpO3ZhciBhPV8udygiUExBWUVSX1ZBUlMiLHt9KTtpZihUXyhhKT09IjEiKXJldHVybiBFcnJvcigieGUiKTtpZihHMihhKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKXJldHVybiBFcnJvcigieWUiKX07Wl89ZnVuY3Rpb24oKXt2YXIgYT15dGEoKTtpZihhIT09dm9pZCAwKXJldHVybiBfLk90KGEpO0gyfHwoSDI9QzIoKS50aGVuKEkyKS5LZyhiPT5KMigyLGIpKSk7cmV0dXJuIEgyfTsKSTI9ZnVuY3Rpb24oYSl7YT1hLmoucmVzcG9uc2VUZXh0O2lmKGEubGFzdEluZGV4T2YoIildfSciLDApIT0wKXRocm93IG5ldyBLMjthPUpTT04ucGFyc2UoYS5zdWJzdHIoNCkpO2lmKChhLnR5cGV8fDEpPjEpdGhyb3cgbmV3IEsyO2E9YS5pZDskXyhhKTtIMj1GMihhKTtMMigxOEU1LDIpO3JldHVybiBhfTtKMj1mdW5jdGlvbihhLGIpe2I9bmV3IE0yKGIpOyRfKCIiKTtIMj1FMihiKTthPjAmJkwyKDEyRTQsYS0xKTt0aHJvdyBiO307TDI9ZnVuY3Rpb24oYSxiKXtfLm1qKGZ1bmN0aW9uKCl7QzIoKS50aGVuKEkyLGM9PkoyKGIsYykpLktnKF8uZ2QpfSxhKX07enRhPWZ1bmN0aW9uKCl7dHJ5e2xldCBhPV8uc2EoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iKTtyZXR1cm4gYT9hKCk6Wl8oKX1jYXRjaChhKXtyZXR1cm4gXy5PdChhKX19OwpOMj1mdW5jdGlvbigpe3ZhciBhPSExO3RyeXthPSEhd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInNlc3Npb25fbG9naW5pbmZvIil9Y2F0Y2h7YT0hMH1yZXR1cm4oXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIikmJmF9OwpPMj1mdW5jdGlvbigpe3RyeXt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic3RpY2tpbmVzc19yZWxvYWQiKTt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKTtfLlFpKCJMT0dJTl9JTkZPIiwiIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oImZyb21fc3dpdGNoX2FjY291bnQiLCIxIik7dmFyIGE7bGV0IGM9QXRhO2N8fChjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwZXJzaXN0X2lkZW50aXR5IikpO2lmKGE9Yyl7dmFyIGI9YS5zcmM/KG5ldyBVUkwoYS5zcmMpKS5vcmlnaW46IioiO2EuY29udGVudFdpbmRvdz8ucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiY2xlYXIifSxiKX19Y2F0Y2h7fX07ClAyPWZ1bmN0aW9uKGEpe2lmKGEpaWYoYS5zdGFydHNXaXRoKCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vQWRkU2Vzc2lvbiIpKU8yKCk7ZWxzZSBpZihhLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKSlPMigpO2Vsc2V7dmFyIGI7aWYoYj1hLnN0YXJ0c1dpdGgoImh0dHBzOi8vbXlhY2NvdW50Lmdvb2dsZS5jb20iKSliPShhIGluc3RhbmNlb2YgXy5meT9hLmNsb25lKCk6bmV3IF8uZnkoYSkpLmouZW5kc1dpdGgoIi95b3V0dWJlb3B0aW9ucyIpO2ImJk8yKCl9aWYoXy53KCJMT0dHRURfSU4iLCEwKSYmTjIoKSl7Yj1fLncoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBjPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2MmJmIucHVzaChjKTtjPV8uUGIoYSk7Xy5zYihiLGMpPj0wfHwhYyYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTA/KGI9Xy5OeShhKSwoYj1fLk95KGIpKT8oYj1fLnZ6KGIpLApiPShiPV8uTGouZ2V0KGIsdm9pZCAwKXx8bnVsbCk/Xy5iaihiKTp7fSk6Yj1udWxsKTpiPW51bGw7Yj09bnVsbCYmKGI9e30pO2M9Yjt2YXIgZD12b2lkIDA7TjIoKT8oZHx8KGQ9Xy53KCJMT0dJTl9JTkZPIikpLGQ/KGMuc2Vzc2lvbl9sb2dpbmluZm89ZCxjPSEwKTpjPSExKTpjPSExO2MmJl8udXooYSxiKX19O0J0YT1mdW5jdGlvbihhLGI9e30sYz0hMSl7dmFyIGQ9Xy53KCJFVkVOVF9JRCIpO2QmJihiLmVpfHwoYi5laT1kKSk7YiYmXy51eihhLGIpO2lmKGMpcmV0dXJuITE7UDIoYSk7Yj13aW5kb3c7YT1fLldiKGEse30pO1AyKGEpO2E9Xy5LeihhKTtiPWIubG9jYXRpb247YT1fLmRiKGEpO2EhPT12b2lkIDAmJihiLmhyZWY9YSk7cmV0dXJuITB9O1EyPWZ1bmN0aW9uKGEpe2lmKFRfKF8udygiUExBWUVSX1ZBUlMiLHt9KSkhPSIxIil7YSYmd3JhKCk7dHJ5e3p0YSgpLnRoZW4oKCk9Pnt9LCgpPT57fSksXy5taihRMiwxOEU1KX1jYXRjaChiKXtfLlVpKGIpfX19OwpEdGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cubG9jYXRpb24uaHJlZjtpZihfLngoImtldmxhcl9kaXNhYmxlX3RoZW1lX3BhcmFtIikpcmV0dXJuIG51bGw7Xy5RYihhKTt0cnl7bGV0IGI9YTAoYSkudGhlbWU7cmV0dXJuIEN0YS5nZXQoYil8fG51bGx9Y2F0Y2goYil7fXJldHVybiBudWxsfTsKUzI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFIyO2lmKGEuaW50ZXJwcmV0ZXJKYXZhc2NyaXB0KXt2YXIgYz1ZXyhhLmludGVycHJldGVySmF2YXNjcmlwdCk7Yz1fLmxiKGMpLnRvU3RyaW5nKCk7dmFyIGQ9bmV3IFkxO0JaKGQsNixjKTtfLkt3KGIsMSxkLF8ud3opfWVsc2UgYS5pbnRlcnByZXRlclVybCYmKGM9Xy5odyhhLmludGVycHJldGVyVXJsKSxjPV8uVWEoYykudG9TdHJpbmcoKSxkPW5ldyBaMSxCWihkLDQsYyksXy5LdyhiLDIsZCxfLnd6KSk7YS5pbnRlcnByZXRlckhhc2gmJl8uV3goYiwzLEFaKGEuaW50ZXJwcmV0ZXJIYXNoKSwiIixfLnd6KTthLnByb2dyYW0mJl8uV3goYiw0LEFaKGEucHJvZ3JhbSksIiIsXy53eik7YS5nbG9iYWxOYW1lJiZfLld4KGIsNSxBWihhLmdsb2JhbE5hbWUpLCIiLF8ud3opO2EuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2ImJl8uV3goYiw3LEFaKGEuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2IpLCIiLF8ud3opO3JldHVybiBifTsKVDI9ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjIG9mIGEpYT1jLnNwbGl0KCI9IiksYS5sZW5ndGg9PT0yJiYoYlthWzBdXT1hWzFdKTtyZXR1cm4gYn07VTI9ZnVuY3Rpb24oYSl7cmV0dXJuIE51bWJlcihhLnQpfHw3MjAwfTtFdGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT13aW5kb3c7YXdhaXQgZjEoVjIoKSk7dmFyIGI9YS5iZ2V2bWM7aWYoIWIpdGhyb3cgRXJyb3IoInplIik7cmV0dXJue3BhdXNlOigpPT57Yi5wKCl9LHJlc3VtZTooKT0+e2IucigpfSxjaGVja0ZvclJlZnJlc2g6KCk9PmIuY3IoKX19O1YyPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiYmdfc3RfaHIiKT8iaGF2dW9rbWhocy0wIjpgaGF2dW9rbWhocy0ke01hdGguZmxvb3IoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZT8udGltZU9yaWdpbnx8MCl9YH07VzI9ZnVuY3Rpb24oYSl7d2luZG93LmJnZW5zPWF9OwpGdGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPXdpbmRvdztiLm50cGV2YXNycyE9PXZvaWQgMD9hKG5ldyBYMihiLm50cGV2YXNycykpOihiLm50cHFmYmVsPT09dm9pZCAwJiYoYi5udHBxZmJlbD1bXSksYi5udHBxZmJlbC5wdXNoKGM9PnthKG5ldyBYMihjKSl9KSl9KX07Ckd0YT1mdW5jdGlvbigpe2lmKF8uc3ooKSl7dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIse30pO2lmKFRfKGEpIT0iMSImJkcyKGEpIT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCIpe3ZhciBiPSgpPT57WTI9ITA7Imdvb2dsZV9hZF9zdGF0dXMiaW4gd2luZG93P18uUWkoIkRDTEtTVEFUIiwxKTpfLlFpKCJEQ0xLU1RBVCIsMil9O3RyeXtsZXQgYz1fLmliKGRvY3VtZW50KTtIMChaMixiLGMpfWNhdGNoKGMpe30kMi5wdXNoKF8uamYucGIoKCk9PntpZighKFkyfHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7RzAoWjIudG9TdHJpbmcoKSxiKX1jYXRjaChjKXt9WTI9ITA7Xy5RaSgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07YTM9ZnVuY3Rpb24oKXt2YXIgYT1OdW1iZXIoXy53KCJEQ0xLU1RBVCIsMCkpO3JldHVybiBpc05hTihhKT8wOmF9O2IzPWZ1bmN0aW9uKGEsYil7YS5qPWJ9OwpJdGE9YXN5bmMgZnVuY3Rpb24oYSl7aWYoXy51Lnl0QXRQJiYhXy54KCJ5dGF0cF9rcyIpKXt2YXIgYj1hd2FpdCBfLnUueXRBdFA7ZGVsZXRlIF8udS55dEF0UDt2YXIgYz1iPy5SO3ZhciBkPWI/LlQ7Yj1IdGEoYyk7bGV0IGY9ISFkO2Euby5vKGM/Yj9mPzc6MTA6Zj8xOjg6Zj8yOjksYS52KyspO2lmKCFjfHxiKWM9YXdhaXQgYS5SZihjMyhkLG51bGwpKSxjPUpTT04uc3RyaW5naWZ5KGMpO18udS55dEF0UkM/Xy51Lnl0QXRSQyhjKTpfLklwKEVycm9yKCJBZSIpKX1lbHNlIF8udS55dEF0UkM/Xy5yeChhc3luYygpPT57ZD1fLnUueXRBdFQ7ZGVsZXRlIF8udS55dEF0VDtpZihfLnUueXRBdFJDKXthLm8ubygyLGEudisrKTt2YXIgZj1hd2FpdCBhLlJmKGMzKGQsbnVsbCkpO18udS55dEF0UkMmJl8udS55dEF0UkMoSlNPTi5zdHJpbmdpZnkoZikpfWVsc2UgYS5vLm8oNixhLnYrKyl9LF8uc2ooImF0dF9pbml0X2RlbGF5IiwwKSk6KGQ9Xy51Lnl0QXRULGRlbGV0ZSBfLnUueXRBdFQsCmEuby5vKDEsYS52KyspKTtjPWF3YWl0IEZ0YSgpO2MuYmluZElubmVydHViZUNoYWxsZW5nZUZldGNoZXIoZj0+e2Euby5vKDMsYS52KyspO3JldHVybiBhLlJmKGMzKGQsZikpfSk7Yy5yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhmPT57Zj1mLmNoYWxsZW5nZTtpZighZil0aHJvdyBFcnJvcigiQmUiKTtmPXtjaGFsbGVuZ2U6ZixCZjpUMihmKSx2bTplLGJnQ2hhbGxlbmdlOm5ldyBSMn07Zj1Qcm9taXNlLnJlc29sdmUoZik7YS5qPWZ9KTt2YXIgZT1hd2FpdCBmMShWMigpKTtjPWMuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKS5jaGFsbGVuZ2U7aWYoIWMpdGhyb3cgRXJyb3IoIkNlIik7cmV0dXJue2NoYWxsZW5nZTpjLEJmOlQyKGMpLHZtOmUsYmdDaGFsbGVuZ2U6bmV3IFIyfX07CmUzPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPWMzKHZvaWQgMCxXMSgpLmopO3RyeXt2YXIgYz1hd2FpdCBKdGEoYSxiKX1jYXRjaChmKXtyZXR1cm4gXy5JcChFcnJvcigiRGUiKSksZDMoYSw4NjRFNSkse2NoYWxsZW5nZToiIixCZjp7fSx2bTp2b2lkIDAsYmdDaGFsbGVuZ2U6dm9pZCAwfX1iPWMueXo7dmFyIGQ9Yy56ejtkMyhhLFUyKGQpKjFFMyk7YT12b2lkIDA7aWYoImMxYSJpbiBkJiZjLmJnQ2hhbGxlbmdlKXt2YXIgZT1TMihjLmJnQ2hhbGxlbmdlKTt0cnl7YXdhaXQgJDEoVzEoKSxlKX1jYXRjaChmKXtyZXR1cm4gXy5JcChmKSx7Y2hhbGxlbmdlOmIsQmY6ZCx2bTphLGJnQ2hhbGxlbmdlOmV9fXRyeXthPW5ldyBkMih7Y2hhbGxlbmdlOmUsbmc6e21iOiJhR0lmIn19KSxhd2FpdCBhLkNnfWNhdGNoKGYpe18uSXAoZiksYT12b2lkIDB9fXJldHVybntjaGFsbGVuZ2U6YixCZjpkLHZtOmEsYmdDaGFsbGVuZ2U6ZX19OwpKdGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dm9pZCAwLGQ9MDtkPDU7KXtpZihkPjApe2xldCBlPTFFMypNYXRoLnBvdygyLGQtMSkrTWF0aC5yYW5kb20oKSoxRTM7YXdhaXQgbmV3IFByb21pc2UoZj0+e18uWWooKCk9PntmKHZvaWQgMCl9LGUpfSl9dHJ5e2Euby5vKDQsYS52KyspO2xldCBlPWF3YWl0IGEuUmYoYik7cmV0dXJuIEt0YShlKX1jYXRjaChlKXtjPWUsZSBpbnN0YW5jZW9mIEVycm9yJiZfLklwKGUpfWQrK310aHJvdyBjO307ZDM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1EYXRlLm5vdygpK2IsZD1hc3luYygpPT57dmFyIGU9Yy1EYXRlLm5vdygpO2U8MUUzP2F3YWl0IEx0YShhKTpfLllqKGQsTWF0aC5taW4oZSw2RTQpKX07ZCgpfTtmMz1hc3luYyBmdW5jdGlvbihhLGIpe1cyKDIpO3RyeXtsZXQgYz1hd2FpdCBhLm5ldHdvcmsuUmYoYik7Yz9jLmNoYWxsZW5nZSYmIWMuYmdDaGFsbGVuZ2U/VzIoMSk6VzIoNCk6VzIoMyk7cmV0dXJuIGN9Y2F0Y2goYyl7VzIoMyl9fTsKS3RhPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCJFZSIpO2lmKCFhLmNoYWxsZW5nZSl0aHJvdyBFcnJvcigiRmUiKTt2YXIgYj1hLmNoYWxsZW5nZSxjPVQyKGIpO2lmKCJjMWEiaW4gYyYmKCFhLmJnQ2hhbGxlbmdlfHwhYS5iZ0NoYWxsZW5nZS5wcm9ncmFtKSl0aHJvdyBFcnJvcigiR2UiKTtyZXR1cm57Li4uYSx5ejpiLHp6OmN9fTtMdGE9YXN5bmMgZnVuY3Rpb24oYSl7dmFyIGI9YXdhaXQgUHJvbWlzZS5yYWNlKFthLmosbnVsbF0pLGM9ZTMoYSk7YS5qPWM7Yj8udm0/LmRpc3Bvc2UoKX07TXRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLllqKCgpPT57YyhiKCkpfSxhKX0pfTtjMz1mdW5jdGlvbihhLGIpe3ZhciBjPXtlbmdhZ2VtZW50VHlwZToiRU5HQUdFTUVOVF9UWVBFX1VOQk9VTkQifTthJiYoYy5lYWNyVG9rZW49YSk7YiYmKGMuaW50ZXJwcmV0ZXJIYXNoPWIpO3JldHVybiBjfTsKSHRhPWZ1bmN0aW9uKGEpe2lmKCFhfHwhXy54KCJyb3NjYXMiKSlyZXR1cm4hMTt0cnl7dmFyIGI9SlNPTi5wYXJzZShhKX1jYXRjaChjKXtyZXR1cm4hMX1hPWIuY2hhbGxlbmdlO2lmKCFhKXJldHVybiExO2I9VDIoYSk7YT1OdW1iZXIoYi5jKXx8dm9pZCAwO2I9VTIoYik7cmV0dXJuISFhJiZEYXRlLm5vdygpPihhK2IpKjFFM307aDM9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPWczLlVOS05PV05fSU5URVJGQUNFO2lmKGIpe2I9bmV3IFJlZ0V4cChiKTtmb3IodmFyIGMgb2YgYSlpZihiLmV4ZWMoYykpcmV0dXJuIGN9dmFyIGQ9W107T2JqZWN0LmVudHJpZXMoZzMpLmZvckVhY2goKFtlLGZdKT0+eyJVTktOT1dOX0lOVEVSRkFDRSIhPT1lJiZkLnB1c2goZil9KTtjPW5ldyBSZWdFeHAoZC5qb2luKCJ8IikpO2Euc29ydCgoZSxmKT0+ZS5sZW5ndGgtZi5sZW5ndGgpO2ZvcihsZXQgZSBvZiBhKWlmKCFjLmV4ZWMoZSkpcmV0dXJuIGU7cmV0dXJuIGFbMF19OwpOdGE9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntFbDpuZXcgaTMoKGMsZCk9PnthPWM7Yj1kfSkscmVzb2x2ZTphLHJlamVjdDpifX07azM9ZnVuY3Rpb24oYSl7cmV0dXJuIGozKGEpP2E6KDAsXy5ibykoYSk/bmV3IGkzKChiLGMpPT57YS50aGVuKGIsYyl9KTpuZXcgaTMoYj0+e2IoYSl9KX07T3RhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgaTMoKGIsYyk9PntjKGEpfSl9O1B0YT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGszKGEoKSl9Y2F0Y2goYil7cmV0dXJuIE90YShiKX19O1F0YT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntsMyhhLGIsYyl9KX07bTM9ZnVuY3Rpb24oYSl7cmV0dXJuIFF0YShhKX07bjM9ZnVuY3Rpb24oYSl7aWYoYS5qPT09ImZ1bGZpbGxlZCIpe3ZhciBiPWEubzthLm89W107YS52PVtdO2Zvcih2YXIgYyBvZiBiKWMoYS5yZXN1bHQpfWVsc2UgaWYoYS5qPT09InJlamVjdGVkIil7Yz1hLnY7YS5vPVtdO2Eudj1bXTtmb3IoYiBvZiBjKWIoYS5lcnJvcil9fTsKbDM9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7RWw6ZCxyZXNvbHZlOmUscmVqZWN0OmZ9PU50YSgpO2Euby5wdXNoKGg9PntpZihiKXRyeXtsZXQgaz1iKGgpO2Uoayl9Y2F0Y2goayl7ZihrKX1lbHNlIGUoaCl9KTthLnYucHVzaChoPT57aWYoYyl0cnl7bGV0IGs9YyhoKTtlKGspfWNhdGNoKGspe2Yoayl9ZWxzZSBmKGgpfSk7bjMoYSk7cmV0dXJuIGR9O1J0YT1mdW5jdGlvbihhLGIpe3JldHVybiBsMyhhLHZvaWQgMCxiKX07bzM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gU3RhKGIuY2FsbChhKSl9O3AzPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbiooKXtyZXR1cm4geWllbGR7RWw6azMoYSl9fSgpfTtTdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIFB0YSgoKT0+cTMoYSxhLm5leHQoKSkpfTtxMz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmRvbmU/azMoYi52YWx1ZSk6UnRhKGwzKGIudmFsdWUuRWwsYz0+cTMoYSxhLm5leHQoYykpKSxjPT5xMyhhLGEudGhyb3coYykpKX07ClR0YT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPV8ueSgpLnJlc29sdmUoXy5JeSk7aWYoYSl7aWYoYT1hd2FpdCBhLlFpKHtzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiR0VUX0RBVEFTWU5DX0lEUyJ9fSkpe2lmKGEuZXJyb3JNZXRhZGF0YSl7Xy5JcChFcnJvcigiSGVgIithLmVycm9yTWV0YWRhdGEuc3RhdHVzKyJgIithLmVycm9yKSk7cmV0dXJufXJldHVybiBhLnRJfV8uSXAoRXJyb3IoIkllIikpfWVsc2UgXy5JcChFcnJvcigiSmUiKSl9OwpyMz1mdW5jdGlvbihhLGIpe2lmKGIuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPWIsdHlwZW9mIGIuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBjPU51bWJlcihiLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxjKjFFMyk7YS5vJiZfLk1qKCJDT05TSVNURU5DWSIsYi5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzLGMsdm9pZCAwLCEwKX19O3MzPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgXy5lbigieXQtY2xpZW50LWxvY2F0aW9uIik6YS5sb2NhbFN0b3JhZ2V9Owp3Mz1mdW5jdGlvbihhLGI9ITEsYz0hMSl7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO2lmKCFkKXJldHVybiBfLkdwKEVycm9yKCJNZSIpKSx7fTtkPV8ucWQoZCk7Xy54KCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGQuY2xpY2tUcmFja2luZztkLmNsaWVudHx8KGQuY2xpZW50PXt9KTt2YXIgZT1kLmNsaWVudDtlLmNsaWVudE5hbWU9PT0iTVdFQiImJmUuY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGUuY2xpZW50Rm9ybUZhY3Rvcj1fLncoIklTX1RBQkxFVCIpPyJMQVJHRV9GT1JNX0ZBQ1RPUiI6IlNNQUxMX0ZPUk1fRkFDVE9SIik7ZS5zY3JlZW5XaWR0aFBvaW50cz13aW5kb3cuaW5uZXJXaWR0aDtlLnNjcmVlbkhlaWdodFBvaW50cz13aW5kb3cuaW5uZXJIZWlnaHQ7ZS5zY3JlZW5QaXhlbERlbnNpdHk9TWF0aC5yb3VuZCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk7ZS5zY3JlZW5EZW5zaXR5RmxvYXQ9CndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO2UudXRjT2Zmc2V0TWludXRlcz0tTWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO18uSHooKTt2YXIgZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO18uQ3ooMTY1KT9mPSJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjpfLkN6KDE3NCk/Zj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiOiFfLngoImtldmxhcl9sZWdhY3lfYnJvd3NlcnMiKSYmd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWUpIikubWF0Y2hlcyYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzJiYoZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyIpO2Y9RHRhKCl8fGY7ZS51c2VySW50ZXJmYWNlVGhlbWU9ZjtfLngoIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSIpJiZfLnUuZG9jdW1lbnQmJgooZS5hcHBsaWNhdGlvblN0YXRlPV8udS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFiKXtpZihmPV8uU2ooKSllLmNvbm5lY3Rpb25UeXBlPWY7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGY9Xy5VaigpKSYmKGQuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPWYpfV8ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGQuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke18udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSoxRTZ9YCk7aWYoXy54KCJ3ZWJfZ2NmX2hhc2hlc19pbm5lcnR1YmUiKSl7dmFyIGg9Xy5qbSgpO2lmKGgpe2Y9aC5jb2xkQ29uZmlnRGF0YTtsZXQgbj1oLmNvbGRIYXNoRGF0YTtoPWguaG90SGFzaERhdGE7ZC5jbGllbnQuY29uZmlnSW5mbz1kLmNsaWVudC5jb25maWdJbmZvfHx7fTtmJiYKKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9Zik7biYmKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPW4pO2gmJihkLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWgpfX1mPWEwKF8udS5sb2NhdGlvbi5ocmVmKTshXy54KCJ3ZWJfcG9wdWxhdGVfaW50ZXJuYWxfZ2VvX2tpbGxzd2l0Y2giKSYmZi5pbnRlcm5hbGNvdW50cnljb2RlJiYoZS5pbnRlcm5hbEdlbz1mLmludGVybmFsY291bnRyeWNvZGUpO2UuY2xpZW50TmFtZT09PSJNV0VCInx8ZS5jbGllbnROYW1lPT09IldFQiI/KGUubWFpbkFwcFdlYkluZm98fChlLm1haW5BcHBXZWJJbmZvPXt9KSxlLm1haW5BcHBXZWJJbmZvLmdyYWZ0VXJsPV8udS5sb2NhdGlvbi5ocmVmLF8ueCgia2V2bGFyX3dvZmZsZSIpJiZ0My5pbnN0YW5jZSYmKGY9dDMuaW5zdGFuY2UsZS5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hZi5qJiZmLm8/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6CiJQV0FfSU5TVEFMTEFCSUxJVFlfU1RBVFVTX1VOS05PV04iKSxlLm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSxlLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmUuY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFfLngoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJihmPV8udygiTElWSU5HX1JPT01fQVBQX1FVQUxJVFkiKSkmJihlLnR2QXBwSW5mbz1PYmplY3QuYXNzaWduKGUudHZBcHBJbmZvfHx7fSx7YXBwUXVhbGl0eTpmfSkpLGY9Xy53KCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoZS50dkFwcEluZm89T2JqZWN0LmFzc2lnbihlLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpmfSkpO2lmKCFfLngoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIGs9CihuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7YnJlYWsgYX1jYXRjaHt9az12b2lkIDB9ayYmKGUudGltZVpvbmU9ayl9KGs9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpKT9lLmV4cGVyaW1lbnRzVG9rZW49azpkZWxldGUgZS5leHBlcmltZW50c1Rva2VuO2U9Xy51aigpO3UzLmluc3RhbmNlfHwodTMuaW5zdGFuY2U9bmV3IHUzKTtrPV8uWngodTMuaW5zdGFuY2Uuaik7ZC5yZXF1ZXN0PXsuLi5kLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6ZSxjb25zaXN0ZW5jeVRva2VuSmFyczprfTshXy54KCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihlPV8udygiSU5ORVJUVUJFX0NPTlRFWFRfUFJFUVVFU1RfQ09OVEVYVCIpKSYmKGQucmVxdWVzdC5leHRlcm5hbFByZXF1ZXN0Q29udGV4dD1lKTtrPV8uSHooKTtlPV8uQ3ooNTgpO2s9ay5nZXQoImdzbWwiLCIiKTtkLnVzZXI9ey4uLmQudXNlcn07ZSYmKGQudXNlci5lbmFibGVTYWZldHlNb2RlPQplKTtrJiYoZC51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO18ueCgid2FybV9vcF9jc25fY2xlYW51cCIpP2MmJihiPV8uaXEoKSkmJihkLmNsaWVudFNjcmVlbk5vbmNlPWIpOiFiJiYoYj1fLmlxKCkpJiYoZC5jbGllbnRTY3JlZW5Ob25jZT1iKTthJiYoZC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmF9KTtpZihhPV8uc2EoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWQucmVtb3RlQ2xpZW50PWE7djMuamMoKS5zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChkKTt0cnl7dmFyIGw9Xy5saigpLG09bC5iaWQ7ZGVsZXRlIGwuYmlkO2QuYWRTaWduYWxzSW5mbz17cGFyYW1zOltdLGJpZDptfTtmb3IobGV0IFtuLHBdb2YgT2JqZWN0LmVudHJpZXMobCkpbD1uLG09cCxkLmFkU2lnbmFsc0luZm8ucGFyYW1zPy5wdXNoKHtrZXk6bCx2YWx1ZTpgJHttfWB9KTtpZihkLmNsaWVudD8uY2xpZW50TmFtZT09PSJUVkhUTUw1Inx8ZC5jbGllbnQ/LmNsaWVudE5hbWU9PT0KIlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IG49Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO24uYWRTaWduYWxzSW5mbyYmKGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkPW4uYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkLGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkU2lnbmFsVHlwZT0iREVWSUNFX0lEX1RZUEVfQ09OTkVDVEVEX1RWX0lGQSIsZC5hZFNpZ25hbHNJbmZvLmxpbWl0QWRUcmFja2luZz1uLmFkU2lnbmFsc0luZm8ubGltaXRBZFRyYWNraW5nLG4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMhPT12b2lkIDAmJihkLmFkU2lnbmFsc0luZm8uYXRUcmFja2luZ01hbmFnZXJBdXRob3JpemF0aW9uU3RhdHVzPW4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMpKX19Y2F0Y2gobil7Xy5HcChuKX1yZXR1cm4gZH07ClV0YT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO3ZhciBjPV8uQihhLF8uenopPy5zaWduYWw7aWYoYyYmYi5IZClyZXR1cm4hIWIuSGRbY107aWYoKGM9Xy5CKGEsXy5BeSk/LnJlcXVlc3QpJiZiLlZnKXJldHVybiEhYi5WZ1tjXTtmb3IobGV0IGQgaW4gYSlpZihiLkZpW2RdKXJldHVybiEwO3JldHVybiExfTsKeDM9ZnVuY3Rpb24oYSl7dmFyIGI9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Xy53KCJFT01fVklTSVRPUl9EQVRBIik/YlsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09Xy53KCJFT01fVklTSVRPUl9EQVRBIik6Xy53KCJWSVNJVE9SX0RBVEEiKSYmKGJbIlgtR29vZy1WaXNpdG9yLUlkIl09Xy53KCJWSVNJVE9SX0RBVEEiKSk7YlsiWC1Zb3V0dWJlLUJvb3RzdHJhcC1Mb2dnZWQtSW4iXT1fLncoIkxPR0dFRF9JTiIsITEpO18udygiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKGJbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1fLncoIkRFQlVHX1NFVFRJTkdTX01FVEFEQVRBIikpO2EhPT0iY29ycyImJigoYT1fLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpJiYoYlsiWC1Zb3V0dWJlLUNsaWVudC1OYW1lIl09YSksKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKGJbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQphKSwoYT1fLncoIkNIUk9NRV9DT05ORUNURURfSEVBREVSIikpJiYoYlsiWC1Zb3V0dWJlLUNocm9tZS1Db25uZWN0ZWQiXT1hKSwoYT1fLncoIkRPTUFJTl9BRE1JTl9TVEFURSIpKSYmKGJbIlgtWW91dHViZS1Eb21haW4tQWRtaW4tU3RhdGUiXT1hKSwoYT12My5qYygpLmdldFhHZW9IZWFkZXI/LigpKSYmKGJbIlgtR2VvIl09YSkpOyhhPV8udygiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoYlsiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1hKTtyZXR1cm4gYn07eTM9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pm5ldyBhfTsKVnRhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKHozLmluc3RhbmNlIT09dm9pZCAwKXtpZihkPXozLmluc3RhbmNlLGE9W2EhPT1kLnYsYiE9PWQuU2EsYyE9PWQubywhMSwhMSwhMSwhMV0sYS5zb21lKGU9PmUpKXRocm93IG5ldyBfLlhqKCJJbm5lclR1YmVUcmFuc3BvcnRTZXJ2aWNlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQiLGEpO31lbHNlIHozLmluc3RhbmNlPW5ldyB6MyhhLGIsYyxkKX07Cll0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWAveW91dHViZWkvdjEvJHtoMyhXdGEpfWAsZD17UmQ6e2lkZW50aXR5OkEzfX07aWYoXy54KCJtYXdfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0Iil8fF8ueCgiYWxsX3dlYl9uZXR3b3JrX21hY2hpbmVfcmF3X3JlcXVlc3QiKSl7bGV0IGY9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGYpcmV0dXJuIG0zKFh0YShmLHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6dm9pZCAwLGNvbmZpZzpkLGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbihoPT5oLCgpPT57fSl9dmFyIGU9KCk9Pnt9O2U9dzAodjAoYykpO2IuY29udGV4dHx8KGIuY29udGV4dD13Myh2b2lkIDAsITApKTtyZXR1cm4gbmV3IF8uQmYoYXN5bmMgZj0+e3ZhciBoPVkwKGMpO2g9Xy5maihoKT8ic2FtZS1vcmlnaW4iOiJjb3JzIjtoPWEuby56bj9DMyhkLGgpOmF3YWl0IEQzKGQsaCk7dmFyIGs9WDAoWTAoYykpOwprPXtpbnB1dDprLHdiOlowKGspLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6ZH07ZihFMyhhLGssaCxlKSl9KX07WnRhPWZ1bmN0aW9uKGEsYil7YTp7YT1hLnY7dmFyIGM9Xy5CKGIsXy56eik/LnNpZ25hbDtpZihjJiZhLkhkJiYoYz1hLkhkW2NdKSl7dmFyIGQ9YygpO2JyZWFrIGF9aWYoKGM9Xy5CKGIsXy5BeSk/LnJlcXVlc3QpJiZhLlZnJiYoYz1hLlZnW2NdKSl7ZD1jKCk7YnJlYWsgYX1mb3IoZCBpbiBiKWlmKGEuRmlbZF0mJihiPWEuRmlbZF0pKXtkPWIoKTticmVhayBhfWQ9dm9pZCAwfWlmKGQhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShkKX07QzM9ZnVuY3Rpb24oYSxiKXthPV8uUGooe3Nlc3Npb25JbmRleDphPy5SZD8uc2Vzc2lvbkluZGV4fSk7cmV0dXJuey4uLngzKGIpLC4uLmF9fTsKRDM9YXN5bmMgZnVuY3Rpb24oYSxiKXthPWF3YWl0IF8uS3koXy5Qaih7c2Vzc2lvbkluZGV4OmE/LlJkPy5zZXNzaW9uSW5kZXh9KSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Li4ueDMoYiksLi4uYX0pfTsKRTM9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD0oKT0+e30pe2F3YWl0ICR0YShiKTt2YXIgZT1iLmNvbmZpZz8ucmVxdWVzdEtleTtpZihlJiZhLmouaGFzKGUpKXZhciBmPWEuai5nZXQoZSk7ZWxzZSBmPUpTT04uc3RyaW5naWZ5KGIuaW5uZXJUdWJlUmVxdWVzdCksYi53Yj17Li4uYi53YixoZWFkZXJzOnsuLi4oYi53Yj8uaGVhZGVycz8/e30pLC4uLmN9fSxjPXsuLi5iLndifSxiLndiLm1ldGhvZD09PSJQT1NUIiYmKGM9ey4uLmMsYm9keTpmfSksYi5jb25maWc/LmtuJiZfLkFxKGIuY29uZmlnLmtuKSxmPWEuU2EuZmV0Y2goYi5pbnB1dCxjLGIuY29uZmlnKSxlJiZhLmouc2V0KGUsZik7aWYoKGY9YXdhaXQgZikmJiJlcnJvciJpbiBmJiZmPy5lcnJvcj8uZGV0YWlscyl7Yz1mLmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGMpKGM9aFsiQHR5cGUiXSkmJmF1YS5pbmRleE9mKGMpPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sZj1oKX1lJiZhLmouaGFzKGUpJiZhLmouZGVsZXRlKGUpOwpiLmNvbmZpZz8ucG4mJl8uQXEoYi5jb25maWcucG4pO2J1YShhLGYsYik7Yi5jb25maWc/Lkl6JiZfLkFxKGIuY29uZmlnLkl6KTtkKCk7cmV0dXJuIGZ8fHZvaWQgMH07JHRhPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGE/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe2E9YS5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBiIG9mW10pYXdhaXQgYi5CcihhKX19O2J1YT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmIWI/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZhLkIpZm9yKGxldCBkIG9mIEYzKWEuQltkXSYmYS5CW2RdLmhhbmRsZVJlc3BvbnNlKGIsYyl9O2N1YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG8zKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Xy5LeShfLlBqKHtzZXNzaW9uSW5kZXg6Yj8uUmQ/LnNlc3Npb25JbmRleH0pKTtkPXlpZWxkKnAzKGszKGQpKTtyZXR1cm57Li4ueDMoYyksLi4uZH19KCl9KX07CkczPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09MXx8YT09PTJ9O2R1YT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQsZT1fLkIoYixfLkF5KT8ucmVxdWVzdDtlJiZhLmouVmcmJihkPWEuai5WZ1tlXSk7ZHx8Y3x8KGU9Xy5CKGIsXy56eik/LnNpZ25hbCkmJmEuai5IZCYmKGQ9YS5qLkhkW2VdKTtpZighZCYmKGE9Yz9hLmouYUw6YS5qLkZpKSlmb3IobGV0IGYgaW4gYilpZihhW2ZdKXtkPWFbZl07YnJlYWt9aWYoIWQpe2lmKGMpdGhyb3cgRXJyb3IoIlFlIik7dGhyb3cgRXJyb3IoIlJlIik7fWI9ZCgpO3JldHVybiBrMyhiKX07ZXVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJDT01NQU5EX0lOSVQiLGIpfTtYdGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ydW4oIlJFUVVFU1RfSU5JVCIsYil9O0gzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJQUk9DRVNTX1JFU1BPTlNFIixiLCJSZXNwb25zZU1hY2hpbmUgKENhY2hlKSIpfTsKSTM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnJ1bigiSU5JVCIsYixjIT09dm9pZCAwP2BSZXNwb25zZU1hY2hpbmUgKENodW5rICR7Y30pYDoiUmVzcG9uc2VNYWNoaW5lIil9OwpmdWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKTtfLkp6KGEse2phOkozLFdjOigpPT5uZXcgTWFwfSk7Xy5KeihhLHtqYTpLMyxQYTpLMyxnYjohMH0pO18uSnooYSx7amE6TDMsUGE6TDMsZ2I6ITB9KTtfLkp6KGEse2phOk0zLFBhOk0zLGdiOiEwfSk7Xy5KeihhLHtqYTpOMyxQYTpOMyxnYjohMH0pO18uSnooYSx7amE6TzMsUGE6TzMsZ2I6ITB9KTtfLkp6KGEse2phOlAzLFBhOlAzLGdiOiEwfSk7Xy5KeihhLHtqYTpRMyxQYTpRMyxnYjohMH0pO18uSnooYSx7amE6UjMsUGE6UjMsZ2I6ITB9KTtfLkp6KGEse2phOlMzLFBhOlMzLGdiOiEwfSk7Xy5KeihhLHtqYTpUMyxQYTpUMyxnYjohMH0pO18uSnooYSx7amE6VTMsV2M6KGIsYyxkLGUsZixoLGssbCxtLG4pPT4oe0NPTU1BTkRfSU5JVDpsLFJFUVVFU1RfSU5JVDptLENBQ0hFOmMsTE9DQUxfUk9VVEVSOmssQ09OVEVYVDpkLEFVVEg6YixERURVUEU6ZSxGRVRDSDpoLFJFVFJZOm4sRkFMTEJBQ0s6Zn0pLFtfLkxuXTpbSzMsTDMsCk0zLE4zLE8zLFAzLFEzLFIzLFMzLFQzXSxnYjohMH0pO18uSnooYSx7amE6QjMsV2M6Yj0+KCk9Pm5ldyBWMyhiKSxbXy5Mbl06W1UzXSxnYjohMH0pO18uSnooYSx7amE6VzMsUGE6VzMsZ2I6ITB9KTtfLkp6KGEse2phOlgzLFBhOlgzLGdiOiEwfSk7Xy5KeihhLHtqYTpZMyxQYTpZMyxnYjohMH0pO18uSnooYSx7amE6WjMsUGE6WjMsZ2I6ITB9KTtfLkp6KGEse2phOiQzLFdjOihiLGMsZCxlKT0+KHtJTklUOmUsRVJST1JfVU5QQUNLRVI6YyxQUk9DRVNTX1JFU1BPTlNFOmQsQ0FMTEJBQ0tfRElTUEFUQ0hFUjpifSksW18uTG5dOltXMyxYMyxZMyxaM10sZ2I6ITB9KTtfLkp6KGEse2phOmE0LFdjOmI9PigpPT5uZXcgYjQoYiksW18uTG5dOlskM10sZ2I6ITB9KX07Cmd1YT1mdW5jdGlvbigpe18ucmEoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIsXy5HcCk7S3JhKCk7Xy56byhfLkJvKCkse30pO3dpbmRvdy5vbmVycm9yPUpyYTtfLlVmPW8wO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGE9PntpZihhLnJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKXtsZXQgYj1hLnJlYXNvbjtfLmN3KGIse3NvdXJjZToidW5oYW5kbGVkcmVqZWN0aW9uIn0pO2IubmFtZT09PSJBYm9ydEVycm9yIiYmKGIubGV2ZWw9IldBUk5JTkciKX1vMChhLnJlYXNvbik7YS5wcmV2ZW50RGVmYXVsdCgpfSl9O2M0PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiEhc2VsZi5zZXNzaW9uU3RvcmFnZX1jYXRjaHtyZXR1cm4hMX19O2Q0PWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19OwplND1mdW5jdGlvbihhKXtpZihjNCgpKXt2YXIgYj1PYmplY3Qua2V5cyh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpO2ZvcihsZXQgYyBvZiBiKWI9ZDQoYyksYj09PXZvaWQgMHx8YS5pbmNsdWRlcyhiKXx8c2VsZi5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07aHVhPWZ1bmN0aW9uKCl7aWYoIWM0KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LnNlc3Npb25TdG9yYWdlKTtmb3IobGV0IGMgb2YgYilpZihiPWQ0KGMpLGIhPT12b2lkIDAmJmIhPT1hKXJldHVybiEwO3JldHVybiExfTtmND1mdW5jdGlvbigpe1R0YSgpLnRoZW4oYT0+e2EmJihnMChhKSxjMShhKSxhMShhKSxlNChhKSl9KX07Cml1YT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLk9zO18uamYucGIoYXN5bmMoKT0+e2lmKCFfLngoInl0aWRiX2NsZWFyX29wdGltaXphdGlvbnNfa2lsbHN3aXRjaCIpKXt2YXIgYj1fLlZqKCJjbGVhciIpO2lmKGIuc3RhcnRzV2l0aCgiViIpJiZiLmVuZHNXaXRoKCJ8fCIpKXtiPVtiXTtnMChiKTtjMShiKTthMShiKTtlNChiKTtyZXR1cm59Yj1kc2EoKTtsZXQgYz1odWEoKSxkPWF3YWl0IGVzYSgpLGU9YXdhaXQgRXJhKCk7aWYoIShifHxjfHxkfHxlKSlyZXR1cm59YS5TYigpP2Y0KCk6Xy5iZihhLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixmNCl9KX07anVhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57d2luZG93LnNldFRpbWVvdXQoYixhKX0pfTsKWXNhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXtfLlR6KCJhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2giKTtfLkFxKCJhdHRfZnMiLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7aWYoIWEuail0aHJvdyBuZXcgczIoOSwiTWlzc2luZyBmZXRjaGVyIik7dmFyIGQ9YXdhaXQgYS5qKGIsYyk7Yj1kPy5iZ0NoYWxsZW5nZTtpZighYil0aHJvdyBuZXcgczIoMTUsIk1pc3NpbmcgZmllbGQiKTthLm89ZDthLnYuZm9yRWFjaChlPT57ZShkKX0pO2E9UzIoYik7Xy5BcSgiYXR0X2ZjIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO18uU3ooImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBhfTsKaHRhPWFzeW5jIGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW5ldyBCMSgxMDAsM0U1LC4yNSwyKSxkPXZvaWQgMDtjLnY8MTA7KXRyeXtyZXR1cm4gYy52PjAmJmF3YWl0IGp1YShjLmopLGF3YWl0IGt1YShhLGIpfWNhdGNoKGUpe2Q9ZSBpbnN0YW5jZW9mIHMyP2U6bmV3IHMyKDksZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToiVW5rbm93biIpLEMxKGMpfWlmKGQpdGhyb3cgZDt0aHJvdyBuZXcgczIoOSwiVW5rbm93biBlcnJvciIpO307Cmt1YT1mdW5jdGlvbihhLGIpe2I9V3NhKFhzYShuZXcgbHVhLGIpLGEucmVxdWVzdEtleSk7dmFyIGM9bmV3IF8uY3MsZD1hLkQoKTtkLm9wZW4oIlBPU1QiLGEuQik7ZC5zZXRSZXF1ZXN0SGVhZGVyKCJYLUdvb2ctQXBpLUtleSIsIkFJemFTeUR5VDVXMEpoNDlGMzBQcXF0eWZkZjdwRExGS0xKb0FudyIpO2Quc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiIpO2Qub25sb2FkPSgpPT57aWYoXy5xaihkKSl7bGV0IGU9bXVhKGQucmVzcG9uc2VUZXh0KTtjLnJlc29sdmUoZSl9ZWxzZSBjLnJlamVjdChuZXcgczIoUDEoXy5waihkKSksZC5zdGF0dXNUZXh0KSl9O2Qub25lcnJvcj0oKT0+e2MucmVqZWN0KG5ldyBzMihQMShfLnBqKGQpKSxkLnN0YXR1c1RleHQpKX07ZC5zZW5kKGIuc2VyaWFsaXplKCkpO3JldHVybiBjLnByb21pc2V9OwpudWE9ZnVuY3Rpb24oYSl7dmFyIGI9e2JpY2Y6ZD0+e2Euaj1kfSxibGM6KCk9PmEuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKSxiY3I6ZD0+e2Eudi5wdXNoKGQpfX0sYz13aW5kb3c7Yy5udHBldmFzcnM9YjtpZihjLm50cHFmYmVsIT09dm9pZCAwKWZvcihsZXQgZCBvZiBjLm50cHFmYmVsKWQoYik7Yy5udHBxZmJlbD12b2lkIDB9O2c0PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBFcnJvcil7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhLCJXQVJOSU5HIil9fTtpND1mdW5jdGlvbihhLGIpe2E9bmV3IG91YShhLGIpO3B1YShhKTtiPy5DSXx8aDQoYSl9OwpwdWE9ZnVuY3Rpb24oYSl7aWYoIWEudm0pe3ZhciBiPXttYXhBdHRlbXB0czo1LEZyOmEudHRsU2Vjb25kcyoxRTN9O2EuWGcueXRjc2k/LnRpY2s/LigicG90X2lzdCIpO2Eudm09YS5Icyh7b2Q6YS5vZCxuZzp7ZGlzYWJsZTpfLngoImh0bWw1X3dlYl9wb19kaXNhYmxlX3JlbW90ZV9sb2dnaW5nIiksbWI6ImFHSWYiLFN2OnpyYSgpLEt5Ol8ueCgid3BvX2Rpc19sZmRtcyIpPzA6MUUzLElnOmQ9Pnt2YXIgZT1qNC5nZXQoZCk7ZXx8KGU9bmV3IHF1YShkKSxlPW5ldyBUMShlKSxqNC5zZXQoZCxlKSk7cmV0dXJuIGV9fSxMZzpiLHN4OmEuYmdDaGFsbGVuZ2UsRWo6ZzR9KTthLmo9RGF0ZS5ub3coKTtmMihhLnZtLCgpPT57YS5qPURhdGUubm93KCl9KTthLlhnLmJnZXZtYz17cDooKT0+e2Eudm0/LnBhdXNlKCl9LHI6KCk9PnthLnZtPy5yZXN1bWUoKX0sY3I6KCk9PmEudm0/LmNoZWNrRm9yUmVmcmVzaCgpPz9Qcm9taXNlLnJlc29sdmUoKX07a3NhKGEudm0sYXN5bmMoKT0+aDQoYSksClYyKCkpO3ZhciBjPWEudi5iaW5kKGEpO2EueW0mJmEudHRsU2Vjb25kcz4wJiZhLnltLnRoZW4oZD0+e2QubGlzdGVuKCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixjKX0pO2EuR3IoYyl9fTtoND1mdW5jdGlvbihhKXtpZihhLm8pcmV0dXJuIGEubztpZighYS52bSl0aHJvdyBFcnJvcigiVGUiKTthLm89bmV3IHJ1YSh7dm06YS52bSxvZDphLm9kLFFuOiEwLG9uRXJyb3I6ZzQsTGc6YS5Kc30pO3JldHVybiBhLm99O2s0PWZ1bmN0aW9uKGEpe3RyeXtsZXQgYj1KU09OLnBhcnNlKGEpO2lmKGIuYmdDaGFsbGVuZ2UpcmV0dXJuIGJ9Y2F0Y2goYil7fX07CnN1YT1mdW5jdGlvbihhPXdpbmRvdyl7dmFyIGI9e30sYz1hLnl0QXRSO2I/LmtxPy5EcigpO2lmKGMpe2lmKGM9azQoYykpYj8ua3E/LnpnKCJTVUNDRVNTIiksaTQoYyxiKTthLnl0QXRSPXZvaWQgMH1lbHNlIGEueXRBdFJDPWQ9PntpZihkPWs0KGQpKWI/LmtxPy56ZygiU1VDQ0VTUyIpLGk0KGQsYiksYS55dEF0UkM9dm9pZCAwfX07CnR1YT1mdW5jdGlvbihhLGIsYyxkLGUsZil7Yz8oYS5TKDIpLEgwKHkwKGMpLCgpPT57d2luZG93LnRyYXlyaWRlP2w0KGEsZCxlKTooYS5TKDMpLEUwKGMpLF8uSXAobmV3IF8uWGooIkJMOlVMQiIsYCR7Y31gKSkpfSxmKSk6Yj8oZj1fLkNkKCJTQ1JJUFQiKSxiIGluc3RhbmNlb2YgXy5qYj9fLm5iKGYsYik6Zi50ZXh0Q29udGVudD1iLGYubm9uY2U9Xy5pYihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChmKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGYpLHdpbmRvdy50cmF5cmlkZT9sNChhLGQsZSk6KGEuUyg0KSxfLklwKG5ldyBfLlhqKCJCTDpVTEJKIikpKSk6Xy5JcChuZXcgXy5YaigiQkw6VUxWIikpfTsKbDQ9ZnVuY3Rpb24oYSxiLGMpe2EuUyg1KTt2YXIgZD0hIWEuaiYmdXVhLmluY2x1ZGVzKF8uUGIoYS5qKXx8IiIpO3RyeXtsZXQgZT1uZXcgZDIoe3Byb2dyYW06YixnbG9iYWxOYW1lOiJ0cmF5cmlkZSIsbmc6e2Rpc2FibGU6IV8ueCgiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyIpfHwhXy54KCJhdHRfc2tpcF9tZXRyaWNzX2Zvcl9jb29raWVsZXNzX2RvbWFpbnNfa3MiKSYmZCxtYjoiYUdJZiJ9fSk7ZS5DZy50aGVuKCgpPT57YS5TKDYpO2MmJmMoYil9KTthLm8oZSl9Y2F0Y2goZSl7YS5TKDcpLGUgaW5zdGFuY2VvZiBFcnJvciYmXy5JcChlKX19O200PWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXQuYWJ1c2UucGxheWVyQXR0TG9hZGVyIik7cmV0dXJuIGEmJlsiYmd2bWEiLCJiZ3ZtYiIsImJndm1jIl0uZXZlcnkoYj0+YiBpbiBhKT9hOm51bGx9Owp2dWE9ZnVuY3Rpb24oKXt2YXIgYT1fLncoIkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UUyIpO2lmKGEpe3ZhciBiPW5yYSgpO2ZvcihsZXQgYyBvZiBhKWIoYykmJl8uRXAoImdlbmVyaWNDbGllbnRFeHBlcmltZW50RXZlbnQiLHtldmVudFR5cGU6Y30pO2RlbGV0ZSBfLlBpLkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UU319O3d1YT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qKXtsZXQgZD1fLlFiKF8uUHkoYiwia2V5IikpfHwiL1VOS05PV05fUEFUSCI7YS5qLnN0YXJ0KGQpfWE9YztfLngoInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCIpJiYoYT1GcmEoYykpO3JldHVybiBuZXcgd2luZG93LlJlcXVlc3QoYixhKX07Cm80PWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihmPy5hYm9ydGVkKXJldHVybiBiLmNhbmNlbCgpLGQ7dmFyIHt2YWx1ZTpoLGRvbmU6a309YXdhaXQgYi5yZWFkKCk7aWYoaylyZXR1cm4gYS5qPy5zdWNjZXNzKCksZDt0cnl7dmFyIGw9Yy5wYXJzZShoKX1jYXRjaChtKXt0aHJvdyBuZXcgbjQoIkZhaWxlZCB0byBwYXJzZSBzdHJlYW1pbmcgcmVzcG9uc2UiLGgpO31pZihsIT1udWxsKWZvcihsZXQgbSBvZiBsKWQucHVzaChtKSxlPy4obSk7cmV0dXJuIG80KGEsYixjLGQsZSxmKX07eHVhPWZ1bmN0aW9uKCl7dmFyIGE9bmF2aWdhdG9yO3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZT8ucXVlcnlVc2FnZUFuZFF1b3RhP2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZS5xdWVyeVVzYWdlQW5kUXVvdGEoKGQsZSk9PntiKHt1c2FnZTpkLHF1b3RhOmV9KX0sZD0+e2MoZCl9KTpjKEVycm9yKCJWZSIpKX0pfTsKeXVhPWZ1bmN0aW9uKGEsYil7cDQuamMoKS5lc3RpbWF0ZSgpLnRoZW4oYz0+e2EuaigiaWRiUXVvdGFFeGNlZWRlZCIsey4uLmIsaXNTdzpzZWxmLmRvY3VtZW50PT09dm9pZCAwLGlzSWZyYW1lOnNlbGYhPT1zZWxmLnRvcCxkZXZpY2VTdG9yYWdlVXNhZ2VNYnl0ZXM6cTQoYz8udXNhZ2UpLGRldmljZVN0b3JhZ2VRdW90YU1ieXRlczpxNChjPy5xdW90YSl9KX0pfTtxND1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0idW5kZWZpbmVkIj8iLTEiOlN0cmluZyhNYXRoLmNlaWwoYS8xMDQ4NTc2KSl9Owp6dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17ZXJyb3JTZXZlcml0eTpiLmZoLnRvU3RyaW5nKCksd2l6RmVhdHVyZUZsYWdzOk9iamVjdC5lbnRyaWVzKGIuQWwpLmpvaW4oIlxuIil9O2I9Yi5maDtiPT09Mz9fLkdwKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTpiPT09MiYmXy5HcChhLCJXQVJOSU5HIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTtfLngoImNvd19pZl9lcnJvcnNfaW5fcG9wdXAiKSYmYj09PTMmJmEubWVzc2FnZS5pbmRleE9mKCI8SWY+IikhPT0tMSYmd2luZG93LmFsZXJ0KGEubWVzc2FnZSl9OwpBdWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW51bGw7YyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P2Q9YzohXy54KCJsb2dnaW5nX25lc3RlZF9jb21wb25lbnRfa3MiKSYmQXJyYXkuaXNBcnJheShjKSYmYy5sZW5ndGg9PT0xJiZBcnJheS5pc0FycmF5KGNbMF0pJiZjWzBdLmxlbmd0aD09PTEmJmNbMF1bMF1pbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoZD1jWzBdWzBdKTthLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZkJiZiJiYhXy54KCJjb3dfbG9nZ2luZ19pbl9jb21wb25lbnRfd3JhcHBlciIpJiZfLnV5KGQsYiwhMCl9O0J1YT1mdW5jdGlvbigpe18ueCgiY293X2xvZ2dpbmdfaW5fY29tcG9uZW50X3dyYXBwZXIiKT8oXy5Ddj0oYSxiKT0+e2IgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmXy51eShiLGEsITApfSxfLnZ2PSgpPT57fSk6KF8uQ3Y9KCk9Pnt9LF8udnY9QXVhKX07CkR1YT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpO18uSnooYSx7amE6cjQsUGE6czR9KTtfLkp6KGEse2phOnQ0LFBhOl8ubm19KTt2YXIgYj12My5qYygpLGM9YS5yZXNvbHZlKHQ0KSxkPWEucmVzb2x2ZShyNCksZT17fTtiJiYoZS5jbGllbnRfbG9jYXRpb249Yik7Xy5KeihhLHtqYTp1NCxNYjpDdWF9KTtfLkp6KGEse2phOl8uSnksTWI6ZX0pO18ueCgibWF3X2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmZnVhKCk7VnRhKGEucmVzb2x2ZSh1NCksZCxjLGEucmVzb2x2ZShfLkp5KSk7Xy5KeihhLHtqYTpfLkl5LE1iOnozLmluc3RhbmNlfSl9O0d1YT1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPW51bGwpe2I9bmV3IEV1YShhLGIsYyxkLGUpO0Z1YS5zZXQoYSxiKX07CnY0PWZ1bmN0aW9uKGEpe2lmKCFhLm9uUmVhZHlQYXRjaEFwcGxpZWQpe3ZhciBiPWEuYWRkRXZlbnRMaXN0ZW5lcjthLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PntjPT09Im9uUmVhZHkiP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntkKGEpfSk6Yi5jYWxsKGEsYyxkKX07YS5vblJlYWR5UGF0Y2hBcHBsaWVkPSEwfX07SnVhPWZ1bmN0aW9uKGEpe2lmKF8uc2EoInl0LnBsYXllci5BcHBsaWNhdGlvbi5jcmVhdGUiKSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dzQoYSl9KTtlbHNle0h1YShfLmh3KGEud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmwpLCgpPT57dzQoYSl9LCgpPT57YS5pYSgpfHxhLkVqKCl9KTtsZXQgYj1hLndlYlBsYXllckNvbnRleHRDb25maWcudHJ1c3RlZENzc1VybDtiJiZJdWEoXy5odyhiKSl9fTsKdzQ9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7dmFyIGI9Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3RyeXthLmFwaT1iKGEuY29udGFpbmVyLHthcmdzOmEucGxheWVyVmFyc30sYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnLHZvaWQgMCkuZ2V0SW50ZXJuYWxBcGkoKSx2NChhLmFwaSksYS5hcGkuaXNSZWFkeT0oKT0+ITAsYS5qKGEuYXBpKX1jYXRjaChjKXt0aHJvdyBhLkVqKCksYzt9fX07SXVhPWZ1bmN0aW9uKGEpe3ZhciBiPWB5dHAtJHthLnRvU3RyaW5nKCl9YDtpZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYikpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmlkPWI7Xy5xYihjLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYyl9fTsKSHVhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1geXRwLSR7YS50b1N0cmluZygpfWAsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKTtpZihlKWUuZGF0YXNldC5mYWlsZWQ/YygpOmUuZGF0YXNldC5sb2FkZWQ/YigpOihlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2MoKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9PntiKCl9KSk7ZWxzZXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtmLmlkPWQ7Zi5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntmLmRhdGFzZXQuZmFpbGVkPSJ0cnVlIjtjKCl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Zi5kYXRhc2V0LmxvYWRlZD0idHJ1ZSI7YigpfSk7Xy5vYihmLGEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShmLGEuZmlyc3RDaGlsZCl9fTsKS3VhPWZ1bmN0aW9uKGEpe18udygiRU5BQkxFX1dFQlZJRVdfQVBJIikmJndpbmRvdy55dHdlYnZpZXdwbGF5ZXImJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+e3RyeXtsZXQgZD1KU09OLnBhcnNlKGIuZGF0YSksZT1kLm1ldGhvZE5hbWUsZj1kLmFyZ3N8fFtdO2E6e2ZvcihsZXQgaCBvZiBmKWlmKFN0cmluZyhoKS5pbmNsdWRlcygiamF2YXNjcmlwdDoiKSl7dmFyIGM9ITA7YnJlYWsgYX1jPSExfWlmKGMpdGhyb3cgRXJyb3IoIldlYCIrZSsiYCIrZik7aWYoZSYmdHlwZW9mIGFbZV09PT0iZnVuY3Rpb24iKWFbZV0oLi4uZik7ZWxzZSB0aHJvdyBFcnJvcigiWGVgIitlKTt9Y2F0Y2goZCl7Xy5HcChkKX19KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25QbGF5ZXJSZWFkeSJ9KSl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApiPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25TdGF0ZUNoYW5nZSIsc3RhdGU6Yn0pKX0pLGEuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYj0+e3dpbmRvdy55dHdlYnZpZXdwbGF5ZXIucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6Im9uRXJyb3IiLGVycm9yQ29kZTpifSkpfSkpfTt4ND1mdW5jdGlvbihhKXtyZXR1cm4oYS5zZWFyY2goImN1ZSIpPT09MHx8YS5zZWFyY2goImxvYWQiKT09PTApJiZhIT09ImxvYWRNb2R1bGUifTsKeTQ9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJue3ZpZGVvSWQ6YSxzdGFydFNlY29uZHM6YixzdWdnZXN0ZWRRdWFsaXR5OmN9O2I9e307Zm9yKGxldCBlIG9mIEx1YSlhW2VdJiYoYltlXT1hW2VdKTtpZihhPWEuZW1iZWRDb25maWd8fGEuZW1iZWRfY29uZmlnKXthOmlmKHR5cGVvZiBhPT09InN0cmluZyIpdmFyIGQ9YTtlbHNle2lmKF8uQWEoYSkpdHJ5e2Q9SlNPTi5zdHJpbmdpZnkoYSk7YnJlYWsgYX1jYXRjaChlKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLGUpfWQ9dm9pZCAwfWIuZW1iZWRfY29uZmlnPWR9cmV0dXJuIGJ9Owp6ND1mdW5jdGlvbihhLGIsYyxkKXtpZihfLkFhKGEpJiYhQXJyYXkuaXNBcnJheShhKSl7Yj0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtjPXt9O2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspe2xldCBlPWJbZF07YVtlXSYmKGNbZV09YVtlXSl9cmV0dXJuIGN9Yj17aW5kZXg6YixzdGFydFNlY29uZHM6YyxzdWdnZXN0ZWRRdWFsaXR5OmR9O3R5cGVvZiBhPT09InN0cmluZyImJmEubGVuZ3RoPT09MTY/Yi5saXN0PSJQTCIrYTpiLnBsYXlsaXN0PWE7cmV0dXJuIGJ9O0E0PWZ1bmN0aW9uKGEsYixjKXthLkIucHVzaCh7ZXZlbnRUeXBlOmIsbGlzdGVuZXI6Y30pO2EuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixjKX07CkQ0PWZ1bmN0aW9uKGEpe2lmKGEuailpZihhLnYpYS5zZW5kTWVzc2FnZSgiYWxyZWFkeUluaXRpYWxpemVkIik7ZWxzZSBpZihhLk0pe2Eudj0hMDthLk09ITE7YS5zZW5kTWVzc2FnZSgiaW5pdGlhbERlbGl2ZXJ5IixCNChhKSk7YS5zZW5kTWVzc2FnZSgib25SZWFkeSIpO18uQXEoImVwX2luaXRfYXIiKTtmb3IobGV0IGIgb2YgYS5VKUM0KGEsYik7YS5VPVtdfX07QzQ9ZnVuY3Rpb24oYSxiLGM9YS5qKXtpZihjKXtiLmNoYW5uZWw9IndpZGdldCI7YS5zZXNzaW9uSWQmJihiLmlkPWEuc2Vzc2lvbklkKTt0cnl7bGV0IGQ9SlNPTi5zdHJpbmdpZnkoYik7Yy5wb3N0TWVzc2FnZShkLGEudGFyZ2V0T3JpZ2luKX1jYXRjaChkKXtfLklwKGQpfX19OwpCND1mdW5jdGlvbihhKXtpZighYS5hcGkpcmV0dXJuIG51bGw7dmFyIGI9YS5hcGkuZ2V0QXBpSW50ZXJmYWNlKCk7Xy54YihiLCJnZXRWaWRlb0RhdGEiKTt2YXIgYz17YXBpSW50ZXJmYWNlOmJ9O2ZvcihsZXQgZT0wLGY9Yi5sZW5ndGg7ZTxmO2UrKyl7bGV0IGg9YltlXTtpZihoLnNlYXJjaCgiZ2V0Iik9PT0wfHxoLnNlYXJjaCgiaXMiKT09PTApe3ZhciBkPTA7aC5zZWFyY2goImdldCIpPT09MD9kPTM6aC5zZWFyY2goImlzIik9PT0wJiYoZD0yKTtkPWguY2hhckF0KGQpLnRvTG93ZXJDYXNlKCkraC5zdWJzdHJpbmcoZCsxKTt0cnl7bGV0IGs9YS5hcGlbaF0oKTtjW2RdPWt9Y2F0Y2goayl7fX19Yy52aWRlb0RhdGE9YS5hcGkuZ2V0VmlkZW9EYXRhKCk7Yy5jdXJyZW50VGltZUxhc3RVcGRhdGVkXz1EYXRlLm5vdygpLzFFMztyZXR1cm4gY307RTQ9ZnVuY3Rpb24oYSxiKXthLnNlbmRNZXNzYWdlKCJpbmZvRGVsaXZlcnkiLGIpfTsKTXVhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2I9PT0ib25FcnJvciI/YS5hcGkubG9nQXBpQ2FsbChgJHtifSBpbnZvY2F0aW9uYCxjLGQpOmEuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk7YS5zZW5kTWVzc2FnZShiLGQpfX07RjQ9ZnVuY3Rpb24oYSxiLGMpe2EuaWEoKXx8KGI9e2lkOmEuaWQsY29tbWFuZDpifSxjJiYoYi5kYXRhPWMpLE51YS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShiKSxhLm9yaWdpbikpfTtPdWE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZSAib25SZWFkeSI6cmV0dXJuO2Nhc2UgIm9uU3RhdGVDaGFuZ2UiOnJldHVybntwbGF5ZXJTdGF0ZTpifTtjYXNlICJvblBsYXliYWNrUXVhbGl0eUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUXVhbGl0eTpifTtjYXNlICJvblBsYXliYWNrUmF0ZUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJvbkVycm9yIjpyZXR1cm57ZXJyb3JDb2RlOmJ9fWlmKGIhPW51bGwpcmV0dXJue3ZhbHVlOmJ9fTsKUHVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgImxvYWRWaWRlb0J5SWQiOnJldHVyblt5NChiKV07Y2FzZSAiY3VlVmlkZW9CeUlkIjpyZXR1cm5beTQoYildO2Nhc2UgImxvYWRWaWRlb0J5UGxheWVyVmFycyI6cmV0dXJuW2JdO2Nhc2UgImN1ZVZpZGVvQnlQbGF5ZXJWYXJzIjpyZXR1cm5bYl07Y2FzZSAibG9hZFBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgImN1ZVBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgInNlZWtUbyI6cmV0dXJuW2Iuc2Vjb25kcyxiLmFsbG93U2Vla0FoZWFkXTtjYXNlICJwbGF5VmlkZW9BdCI6cmV0dXJuW2IuaW5kZXhdO2Nhc2UgInNldFZvbHVtZSI6cmV0dXJuW2Iudm9sdW1lXTtjYXNlICJzZXRQbGF5YmFja1F1YWxpdHkiOnJldHVybltiLnN1Z2dlc3RlZFF1YWxpdHldO2Nhc2UgInNldFBsYXliYWNrUmF0ZSI6cmV0dXJuW2Iuc3VnZ2VzdGVkUmF0ZV07Y2FzZSAic2V0TG9vcCI6cmV0dXJuW2IubG9vcFBsYXlsaXN0c107Y2FzZSAic2V0U2h1ZmZsZSI6cmV0dXJuW2Iuc2h1ZmZsZVBsYXlsaXN0XTsKY2FzZSAiZ2V0T3B0aW9ucyI6cmV0dXJuW2IubW9kdWxlXTtjYXNlICJnZXRPcHRpb24iOnJldHVybltiLm1vZHVsZSxiLm9wdGlvbl07Y2FzZSAic2V0T3B0aW9uIjpyZXR1cm5bYi5tb2R1bGUsYi5vcHRpb24sYi52YWx1ZV07Y2FzZSAiaGFuZGxlR2xvYmFsS2V5RG93biI6cmV0dXJuW2Iua2V5Q29kZSxiLnNoaWZ0S2V5LGIuY3RybEtleSxiLmFsdEtleSxiLm1ldGFLZXksYi5rZXksYi5jb2RlXX1yZXR1cm5bXX07ClF1YT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJpc011dGVkIjpyZXR1cm57bXV0ZWQ6Yn07Y2FzZSAiZ2V0Vm9sdW1lIjpyZXR1cm57dm9sdW1lOmJ9O2Nhc2UgImdldFBsYXliYWNrUmF0ZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJnZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzIjpyZXR1cm57YXZhaWxhYmxlUGxheWJhY2tSYXRlczpifTtjYXNlICJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIjpyZXR1cm57dmlkZW9Mb2FkZWRGcmFjdGlvbjpifTtjYXNlICJnZXRQbGF5ZXJTdGF0ZSI6cmV0dXJue3BsYXllclN0YXRlOmJ9O2Nhc2UgImdldEN1cnJlbnRUaW1lIjpyZXR1cm57Y3VycmVudFRpbWU6Yn07Y2FzZSAiZ2V0UGxheWJhY2tRdWFsaXR5IjpyZXR1cm57cGxheWJhY2tRdWFsaXR5OmJ9O2Nhc2UgImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiOnJldHVybnthdmFpbGFibGVRdWFsaXR5TGV2ZWxzOmJ9O2Nhc2UgImdldER1cmF0aW9uIjpyZXR1cm57ZHVyYXRpb246Yn07CmNhc2UgImdldFZpZGVvVXJsIjpyZXR1cm57dmlkZW9Vcmw6Yn07Y2FzZSAiZ2V0VmlkZW9FbWJlZENvZGUiOnJldHVybnt2aWRlb0VtYmVkQ29kZTpifTtjYXNlICJnZXRQbGF5bGlzdCI6cmV0dXJue3BsYXlsaXN0OmJ9O2Nhc2UgImdldFBsYXlsaXN0SW5kZXgiOnJldHVybntwbGF5bGlzdEluZGV4OmJ9O2Nhc2UgImdldE9wdGlvbnMiOnJldHVybntvcHRpb25zOmJ9O2Nhc2UgImdldE9wdGlvbiI6cmV0dXJue29wdGlvbjpifX19O1J1YT1mdW5jdGlvbigpe3JldHVybiBHNC5pc0luaXRpYWxpemVkKCl9O1N1YT1mdW5jdGlvbihhPXt9KXtyZXR1cm4gRzQuaW52b2tlKGEpfTtUdWE9ZnVuY3Rpb24oKXtpZihfLncoIkVOQUJMRV9KU19BUEkiKSl7dmFyIGE9Yj0+e0g0PWI7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGEpfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYSl9fTsKVXVhPWZ1bmN0aW9uKCl7Xy5BcSgiZXBfaW5pdF93ZXMiKTt2YXIgYT1fLncoIlBMQVlFUl9DT05GSUciKTtpZighYSl7dmFyIGI9Xy53KCJQTEFZRVJfVkFSUyIpO2ImJihhPXthcmdzOmJ9KX1RMighMCk7YS5hcmdzLnBzPT09Imd2biImJihkb2N1bWVudC5ib2R5LnN0eWxlLmJhY2tncm91bmRDb2xvcj0idHJhbnNwYXJlbnQiKTthLmF0dHJzfHwoYS5hdHRycz17d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsaWQ6InZpZGVvLXBsYXllciJ9KTtiPWRvY3VtZW50LnJlZmVycmVyO3dpbmRvdyE9PXdpbmRvdy50b3AmJmImJmIhPT1kb2N1bWVudC5VUkwmJihhLmFyZ3MubG9hZGVyVXJsPWIpO2I9Xy53KCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyIpPy5XRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUjtpZighYi5zZXJpYWxpemVkRm9yY2VkRXhwZXJpbWVudElkcyl7bGV0IGM9YTAod2luZG93LmxvY2F0aW9uLmhyZWYpO2MuZm9yY2VkX2V4cGVyaW1lbnRzJiYKKGIuc2VyaWFsaXplZEZvcmNlZEV4cGVyaW1lbnRJZHM9Yy5mb3JjZWRfZXhwZXJpbWVudHMpfWEuYXJncz8uYXV0b3BsYXk/dDAoIndhdGNoIixbInBicyIsInBidSIsInBicCJdKTphLmFyZ3MmJnd0YShhLmFyZ3MpP3QwKCJ2aWRlb19wcmV2aWV3IixbIm9sIl0pOnQwKCJlbWJlZF9ub192aWRlbyIsWyJlcF9pbml0X2FyIl0pO18ueCgiZW1iZWRzX3VzZV9wbGF5ZXJfaW5zdGFuY2VzX2xpYnJhcnkiKXx8Xy53KCJFTkFCTEVfV0VCVklFV19BUEkiKT8oR3VhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKSxiLGM9PntfLncoIkVOQUJMRV9XRUJWSUVXX0FQSSIpPyhjPWMuZ2V0VHJ1c3RlZEFwaSgpLHY0KGMpLEt1YShjKSk6KEk0KGMpLEo0KGMpKX0sKCk9Pnt0aHJvdyBFcnJvcigiWWUiKTt9LGEuYXJncyksXy53KCJFTkFCTEVfV0VCVklFV19BUEkiKXx8SzQoKSxfLkFxKCJlcF9pbml0X3dlZSIpKTooYT1jc2EoYSxiKSxJNChhKSxLNCgpLF8uQXEoImVwX2luaXRfd2VlIiksCko0KGEpKX07STQ9ZnVuY3Rpb24oYSl7TDQ9YTtMNC5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpO0w0LmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLFZ1YSk7YT1fLncoIlBPU1RfTUVTU0FHRV9JRCIsInBsYXllciIpO3ZhciBiPV8udygiUE9TVF9NRVNTQUdFX09SSUdJTiIpO18udygiRU5BQkxFX0pTX0FQSSIpP040PW5ldyBXdWE6Xy53KCJFTkFCTEVfUE9TVF9BUEkiKSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmdHlwZW9mIGI9PT0ic3RyaW5nIiYmKE40PW5ldyBYdWEoYSxiKSk7SDQ9dm9pZCAwfTsKSzQ9ZnVuY3Rpb24oKXtHdGEoKTtfLngoInl0aWRiX2NyZWF0ZV9sb2dnZXJfZW1iZWRfa2lsbHN3aXRjaCIpfHxCcmEoKTtPNC5qfHwoTzQuaj1uZXcgTzQpO080LmouaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6KCk9PntfLmJwKCl9fX0pO18uSWx8fEdyYSgpO0R1YSgpO18uamYucGIoKCk9PntfLnkoKS5yZXNvbHZlKF8uSXkpO2l1YSgpfSk7c2V0VGltZW91dCgoKT0+e18ueCgiYXR0bXVzaSIpJiZzdWEod2luZG93KTt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5JeSkpO2lmKGEpe2E9bmV3IFl1YShhKTt2YXIgYj17cHJlbG9hZDohXy54KCJlbmFibGVfcnRhX25waSIpLHpzOl8ueCgiYXR0bXVzaSIpfTtiPU9iamVjdC5hc3NpZ24oe3ByZWxvYWQ6ITB9LGIpO2xldCBkPWIuQUk/dm9pZCAwOm5ldyBfLk9zO1A0Lmluc3RhbmNlPW5ldyBQNChhLGIsZCk7YT1QNC5pbnN0YW5jZTtpZigoXy54KCJhdHRtdXNpIil8fF8ueCgiYXR0bXVzaXciKSkmJl8ueCgiYXR0bXVzaV91ZSIpKXthPQp7czphLkIuYmluZChhKSxpcjphLkQuYmluZChhKX07Yj13aW5kb3c7Yi5hdHRtcD1hO2lmKGIuYXR0bXEhPT12b2lkIDApZm9yKHZhciBjIG9mIGIuYXR0bXEpYyhhKTtiLmF0dG1xPXZvaWQgMH1lbHNlIGM9YS5CLmJpbmQoYSksXy5yYSgieXQuYWJhLmF0dCIsYyksYz1hLkQuYmluZChhKSxfLnJhKCJ5dC5hYmEuYXR0MiIsYyl9fSxfLnNqKCJhdHRfaW5pdF9kZWxheSIsMjAwKSk7Xy5ZaigoKT0+e2lmKF8ueCgiZW5hYmxlX3p3X3BpbmciKSl7dmFyIGE9Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiLCJVTktOT1dOX0lOVEVSRkFDRSIpLGI9Ii9lc3RhYmxpc2hfenciO2lmKGE9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiIpYj0iL2VtYmVkL2VzdGFibGlzaF96dyI7ZWxzZSBpZihhPT09IlRWSFRNTDUifHxhPT09IlRWSFRNTDVfU0lNUExZIiliPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS90di9lc3RhYmxpc2hfenciO18udygiQ09PS0lFTEVTUyIsITEpJiZhPT09IldFQl9FTUJFRERFRF9QTEFZRVIiPwooYT1uZXcgSGVhZGVycyxhLnNldCgiWC1Hb29nLVZpc2l0b3ItSWQiLF8udygiVklTSVRPUl9EQVRBIikpLGZldGNoKGIse21ldGhvZDoiR0VUIixtb2RlOiJuby1jb3JzIixoZWFkZXJzOmF9KSk6ZmV0Y2goYix7bWV0aG9kOiJHRVQiLG1vZGU6Im5vLWNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfX0pfTtadWE9ZnVuY3Rpb24oKXtRNCgpfTskdWE9ZnVuY3Rpb24oYSl7YS5wZXJzaXN0ZWR8fFE0KCl9OwpRND1mdW5jdGlvbigpe1NyYSgpO3ZhciBhPV8uSHooKSxiPV8uQ3ooMTE5KSxjPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPjE7ZG9jdW1lbnQuYm9keSYmXy5SdChkb2N1bWVudC5ib2R5LCJleHAtaW52ZXJ0LWxvZ28iKSYmKGMmJiFfLlJ0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKT9fLlN0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKTohYyYmXy5SdChkb2N1bWVudC5ib2R5LCJpbnZlcnRlZC1oZHBpIikmJl8uVHQoZG9jdW1lbnQuYm9keSwiaW52ZXJ0ZWQtaGRwaSIpKTtiIT1jJiYoXy5EeigxMTksYyksYS5zYXZlKCkpfTtNND1mdW5jdGlvbigpe1I0KCl9O1Z1YT1mdW5jdGlvbigpe18uQXEoImVwX2luaXRfcHIiKTtSNCgpfTtSND1mdW5jdGlvbigpe3ZhciBhPUw0LmdldFZpZGVvRGF0YSgxKTthPWEudGl0bGU/YS50aXRsZSsiIC0gWW91VHViZSI6IllvdVR1YmUiO2RvY3VtZW50LnRpdGxlIT09YSYmKGRvY3VtZW50LnRpdGxlPWEpfTsKUzQ9ZnVuY3Rpb24oKXtMNCYmTDQuc2VuZEFiYW5kb25tZW50UGluZyYmTDQuc2VuZEFiYW5kb25tZW50UGluZygpO18udygiUExfQVRUIikmJkc0LmRpc3Bvc2UoKTtfLk10KCQyKTskMi5sZW5ndGg9MDtFMChaMi50b1N0cmluZygpKTtZMj0hMTtfLlFpKCJEQ0xLU1RBVCIsMCk7Xy4kZChONCk7TDQmJihMNC5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpLEw0LmRlc3Ryb3koKSxMND1udWxsKX07YXZhPWZ1bmN0aW9uKGEpe18ueCgiZW1iZWRzX3dlYl9lbmFibGVfZGlzcG9zZV9wbGF5ZXJfaWZfcGFnZV9ub3RfY2FjaGVkX2tpbGxzd2l0Y2giKT9TNCgpOmEucGVyc2lzdGVkfHxTNCgpfTsKYnZhPWZ1bmN0aW9uKCl7VDR8fChfLmR3KHtKaShhKXthLnByb3BzLmRhdGEmJihhLmVsLmRhdGE9YS5wcm9wcy5kYXRhKX0sS2koYSxiLGMpe2EuZWw/Yi5kYXRhIT09Yy5kYXRhJiYoYS5lbC5kYXRhPWMuZGF0YSk6Xy5JcChuZXcgXy5YaigiSURPTSBjb21wb25lbnQgZWwgaXMgbnVsbCIsYS5qPy5aYykpfX0pLFQ0PSEwKX07Y3ZhPXtFSzohMH07ZHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPVU0O3RoaXMuaj0xNzUyMzczNzU7dGhpcy5jdG9yPWE7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5vPV8uTng7dGhpcy5kZWZhdWx0VmFsdWU9dm9pZCAwO3RoaXMudj1iLm1lc3NhZ2VJZCE9bnVsbD9fLnd6OnZvaWQgMH1yZWdpc3Rlcigpe18ucGModGhpcyl9fTsKZHJhPXt0b1N0cmluZzpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7YS09LTIxNDc0ODM2NDg7YltjKytdPSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIi5jaGFyQXQoYSU1Mik7Zm9yKGE9TWF0aC5mbG9vcihhLzUyKTthPjA7KWJbYysrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkiLmNoYXJBdChhJTYyKSxhPU1hdGguZmxvb3IoYS82Mik7cmV0dXJuIGIuam9pbigiIil9fTtBMz17aWRlbnRpdHlUeXBlOiJVTkFVVEhFTlRJQ0FURURfSURFTlRJVFlfVFlQRV9VTktOT1dOIn07SVo9MDtKWj0wO05aPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmJ1ZmZlcj1hO2lmKGMmJiFiKXRocm93IEVycm9yKCk7fX07T1o9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YT4+PjA7dGhpcy5qPWI+Pj4wfX07ClRaPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPWE+Pj4wO3RoaXMuaj1iPj4+MH19O2xfPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O0VfPV8ueWMoKTtvcmE9L14tPyhbMS05XVswLTldKnwwKShcLlswLTldKyk/JC87VjQ9Xy5seihPXyxfLkpyKTtldmE9Xy5seihPXyxfLkpyKTtXND1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPXFfKGIpO2IhPW51bGwmJihfLlp5KGEsYyw1KSxhPWEuaixjPU5ffHwoTl89bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLGMuc2V0RmxvYXQzMigwLCtiLCEwKSxKWj0wLElaPWMuZ2V0VWludDMyKDAsITApLGVfKGEsSVopKX0sXy5Jcik7WDQ9Xy5seihQXyxfLkZyKTtmdmE9Xy5seihQXyxfLkZyKTsKWTQ9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1BXyhiKTtpZihiIT1udWxsJiYoZ18oYiksYiE9bnVsbCkpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLE9aLFFaKTtkXyhhLmosYy5vLGMuaik7YnJlYWs7ZGVmYXVsdDpjPVNaKGIpLGRfKGEuaixjLm8sYy5qKX19LF8uR3IpO1o0PV8ubHooUV8sXy5Dcik7Z3ZhPV8ubHooUV8sXy5Dcik7Cmh2YT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPUFfKGIpO2lmKGIhPW51bGwpc3dpdGNoKGhfKGIpLF8uWnkoYSxjLDEpLGE9YS5qLGhfKGIpLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmI8MD8oYj1QWihRWigtYikpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpKTooS1ooYiksZV8oYSxJWiksZV8oYSxKWikpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yj1iPEJpZ0ludCgwKT9QWihjXygtYixPWixRWikpOmNfKGIsT1osUVopO2M9Yi5qO2VfKGEsYi5vKTtlXyhhLGMpO2JyZWFrO2RlZmF1bHQ6Yj1iLmxlbmd0aCYmYlswXT09PSItIj9QWihTWihiLnN1YnN0cmluZygxKSkpOlNaKGIpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpfX0sXy5Icik7aXZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2lfKGEsYyxBXyhiKSl9LF8uSHIpO2p2YT1NXyhmdW5jdGlvbihhLGIsYyl7Yj1MXyhBXyxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWlfKGEsYyxiW2RdKX0sXy5Icik7Cmt2YT1fLmx6KF8ubXosXy5Bcik7JDQ9Xy5seihSXyxfLkJyKTtsdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5YdCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLEhaKGYpKX19LF8uQnIpO212YT1fLmx6KFJfLF8uQnIpO2E1PW5ldyBfLmd6KF8ubnosXy56cik7bnZhPU1fKGZ1bmN0aW9uKGEsYixjKXtiPUxfKHJyYSxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLGZyYShmKS5idWZmZXIpfX0sXy5Lcik7YjU9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1zXyhiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksXy5YeShhLmosYikpfSxfLkRyKTtjNT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtqXyhhLGMsXy5zeChiKSl9LF8uTHIpOwpvdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5zeCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWpfKGEsYyxiW2RdKX0sXy5Mcik7cHZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiYoXy5aeShhLGMsNSksYT1hLmosYS5qLnB1c2goYj4+PjAmMjU1KSxhLmoucHVzaChiPj4+OCYyNTUpLGEuai5wdXNoKGI+Pj4xNiYyNTUpLGEuai5wdXNoKGI+Pj4yNCYyNTUpKX0sXy5Fcik7Xy5nPV8uZVYucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5lVih0aGlzLngsdGhpcy55KX07Xy5nLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uZVYmJih0aGlzPT1hPyEwOnRoaXMmJmE/dGhpcy54PT1hLngmJnRoaXMueT09YS55OiExKX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9O18uZy50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgXy5lVj8odGhpcy54Kz1hLngsdGhpcy55Kz1hLnkpOih0aGlzLngrPU51bWJlcihhKSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy55Kz1iKSk7cmV0dXJuIHRoaXN9O18uZy5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMueCo9YTt0aGlzLnkqPXR5cGVvZiBiPT09Im51bWJlciI/YjphO3JldHVybiB0aGlzfTsKdmFyIHF2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxydmE9e3N0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjoxLHN0b3BQcm9wYWdhdGlvbjoxLHByZXZlbnRNb3VzZUV2ZW50OjEscHJldmVudE1hbmlwdWxhdGlvbjoxLHByZXZlbnREZWZhdWx0OjEsbGF5ZXJYOjEsbGF5ZXJZOjEsc2NyZWVuWDoxLHNjcmVlblk6MSxzY2FsZToxLHJvdGF0aW9uOjEsd2Via2l0TW92ZW1lbnRYOjEsd2Via2l0TW92ZW1lbnRZOjF9LGMwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudHlwZT0iIjt0aGlzLnN0YXRlPXRoaXMuc291cmNlPXRoaXMuZGF0YT10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmN0cmxLZXk9dGhpcy5hbHRLZXk9ITE7dGhpcy5yb3RhdGlvbj10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPQowO3RoaXMuc2NhbGU9MTt0aGlzLmNoYW5nZWRUb3VjaGVzPXRoaXMudG91Y2hlcz1udWxsO3RyeXtpZihhPWF8fHdpbmRvdy5ldmVudCl7dGhpcy5ldmVudD1hO2ZvcihsZXQgZCBpbiBhKWQgaW4gcnZhfHwodGhpc1tkXT1hW2RdKTt0aGlzLnNjYWxlPWEuc2NhbGU7dGhpcy5yb3RhdGlvbj1hLnJvdGF0aW9uO3ZhciBiPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7YiYmYi5ub2RlVHlwZT09MyYmKGI9Yi5wYXJlbnROb2RlKTt0aGlzLnRhcmdldD1iO3ZhciBjPWEucmVsYXRlZFRhcmdldDtpZihjKXRyeXtjPWMubm9kZU5hbWU/YzpudWxsfWNhdGNoKGQpe2M9bnVsbH1lbHNlIHRoaXMudHlwZT09Im1vdXNlb3ZlciI/Yz1hLmZyb21FbGVtZW50OnRoaXMudHlwZT09Im1vdXNlb3V0IiYmKGM9YS50b0VsZW1lbnQpO3RoaXMucmVsYXRlZFRhcmdldD1jO3RoaXMuY2xpZW50WD1hLmNsaWVudFghPXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWDt0aGlzLmNsaWVudFk9YS5jbGllbnRZIT12b2lkIDA/CmEuY2xpZW50WTphLnBhZ2VZO3RoaXMua2V5Q29kZT1hLmtleUNvZGU/YS5rZXlDb2RlOmEud2hpY2g7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwodGhpcy50eXBlPT0ia2V5cHJlc3MiP3RoaXMua2V5Q29kZTowKTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMuaj1hLnBhZ2VYO3RoaXMubz1hLnBhZ2VZfX1jYXRjaChkKXt9fXByZXZlbnREZWZhdWx0KCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQucmV0dXJuVmFsdWU9ITEsdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCYmdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCgpKX1zdG9wUHJvcGFnYXRpb24oKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkpfXN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJgoodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX07Xy5IYShlMCxfLmFlKTtlMC5wcm90b3R5cGUuZ2E9ZnVuY3Rpb24oYSl7YS5qPT09dm9pZCAwJiZiMChhKTt2YXIgYj1hLmo7YS5vPT09dm9pZCAwJiZiMChhKTt0aGlzLmo9bmV3IF8uZVYoYixhLm8pfTsKZTAucHJvdG90eXBlLlU9ZnVuY3Rpb24oKXtpZih0aGlzLmope3ZhciBhPSgwLF8uZWwpKCk7aWYodGhpcy5CIT0wKXt2YXIgYj10aGlzLkksYz10aGlzLmosZD1iLngtYy54O2I9Yi55LWMueTtkPU1hdGguc3FydChkKmQrYipiKS8oYS10aGlzLkIpO3RoaXMub1t0aGlzLnZdPU1hdGguYWJzKChkLXRoaXMuRCkvdGhpcy5EKT4uNT8xOjA7Yj0wO2ZvcihjPTA7Yzw0O2MrKyliKz10aGlzLm9bY118fDA7Yj49MyYmdGhpcy5NKCk7dGhpcy5EPWR9dGhpcy5CPWE7dGhpcy5JPXRoaXMuajt0aGlzLnY9KHRoaXMudisxKSU0fX07ZTAucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7d2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5oYSk7eXJhKHRoaXMuWil9Owp2YXIgdDM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPXZvaWQgMDt0aGlzLmo9ITE7YS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixiPT57Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1ifSk7YS5hZGRFdmVudExpc3RlbmVyKCJhcHBpbnN0YWxsZWQiLCgpPT57dGhpcy5qPSEwfSx7b25jZTohMH0pfX0sZjA9MCx1MD17bmV4dDoid25fcyIsYnJvd3NlOiJicl9zIixzZWFyY2g6InNyX3MiLHJlZWw6InJfd3JzIixwbGF5ZXI6InBzX3MifSxScmE9e25leHQ6InduX3IiLGJyb3dzZToiYnJfciIsc2VhcmNoOiJzcl9yIixyZWVsOiJyX3dyciIscGxheWVyOiJwc19yIn0sbTA9e30sczA9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLAonbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJwbGF5ZXIvd3d3LXBsYXllciJdJzoicGMiLCdzY3JpcHRbbmFtZT0iZGVza3RvcF9wb2x5bWVyL2Rlc2t0b3BfcG9seW1lciJdJzoiZHBqIiwnbGlua1tyZWw9ImltcG9ydCJdW25hbWU9ImRlc2t0b3BfcG9seW1lciJdJzoiZHBoIiwnc2NyaXB0W25hbWU9Im1vYmlsZS1jMyJdJzoibWNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGUtYzMiXSc6Im1jYyIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy1waG9uZS9iYXNlIl0nOiJtY3BwaiIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy10YWJsZXQvYmFzZSJdJzoibWNwdGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwKJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0ibW9iaWxlX2JsYXplcl9jc3MiXSc6Im1iYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9pbl91c2Vyc19tb2QiXSc6Im1ibGl1aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9vdXRfdXNlcnNfbW9kIl0nOiJtYmxvdWoiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl9ub25jb3JlX21vZCJdJzoibWJuaiIsIiNwbGF5ZXJfY3NzIjoibWJwYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2Rlc2t0b3BwbGF5ZXJfbW9kIl0nOiJtYnBqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX3RhYmxldF9jc3MiXSc6Im1idGMiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSwKWTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sWjE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sejA9e30sZDU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YT1hfHx7fTt2YXIgYj17fSxjPXt9O3RoaXMudXJsPWEudXJsfHwiIjt0aGlzLmFyZ3M9YS5hcmdzfHxVXyhiKTt0aGlzLmFzc2V0cz1hLmFzc2V0c3x8e307dGhpcy5hdHRycz1hLmF0dHJzfHxVXyhjKTt0aGlzLmZhbGxiYWNrPWEuZmFsbGJhY2t8fG51bGw7dGhpcy5mYWxsYmFja01lc3NhZ2U9YS5mYWxsYmFja01lc3NhZ2V8fG51bGw7dGhpcy5odG1sNT0hIWEuaHRtbDU7dGhpcy5kaXNhYmxlPWEuZGlzYWJsZXx8e307dGhpcy5sb2FkZWQ9ISFhLmxvYWRlZDt0aGlzLm1lc3NhZ2VzPWEubWVzc2FnZXN8fHt9fWNsb25lKCl7dmFyIGE9bmV3IGQ1O2ZvcihsZXQgYiBpbiB0aGlzKWlmKHRoaXMuaGFzT3duUHJvcGVydHkoYikpe2xldCBjPXRoaXNbYl07Xy54YShjKT09CiJvYmplY3QiP2FbYl09VV8oYyk6YVtiXT1jfXJldHVybiBhfX0sRjA9e30sYnNhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMucGxheWVySWQ9Yjt0aGlzLndlYlBsYXllckNvbnRleHRDb25maWc9ZDt0aGlzLkViPXZvaWQgMDt0aGlzLkZhPSExO3RoaXMuYXBpPXt9O3RoaXMuaGE9dGhpcy5CPW51bGw7dGhpcy5NPW5ldyBfLnRoO3RoaXMuaj17fTt0aGlzLlo9dGhpcy5vYT10aGlzLmVsZW1lbnRJZD10aGlzLk1hPXRoaXMuY29uZmlnPW51bGw7dGhpcy5VPSExO3RoaXMudj10aGlzLkQ9bnVsbDt0aGlzLnlhPXt9O3RoaXMuZmM9WyJvblJlYWR5Il07dGhpcy5sYXN0RXJyb3I9bnVsbDt0aGlzLlFhPU5hTjt0aGlzLkk9e307dGhpcy5nYT0wO3RoaXMubz10aGlzLnRhcmdldEVsZW1lbnQ9YTtFWih0aGlzLHRoaXMuTSk7STAodGhpcyk7Yz90aGlzLmdhPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmxvYWROZXdWaWRlb0NvbmZpZyhjKX0sMCk6CmQmJihKMCh0aGlzKSxTMCh0aGlzKSl9Z2V0SWQoKXtyZXR1cm4gdGhpcy5wbGF5ZXJJZH1sb2FkTmV3VmlkZW9Db25maWcoYSl7aWYoIXRoaXMuaWEoKSl7dGhpcy5nYSYmKGNsZWFyVGltZW91dCh0aGlzLmdhKSx0aGlzLmdhPTApO3ZhciBiPWF8fHt9O2IgaW5zdGFuY2VvZiBkNXx8KGI9bmV3IGQ1KGIpKTt0aGlzLmNvbmZpZz1iO3RoaXMuc2V0Q29uZmlnKGEpO1MwKHRoaXMpO3RoaXMuaXNSZWFkeSgpJiZUMCh0aGlzKX19c2V0Q29uZmlnKGEpe3RoaXMuTWE9YTt0aGlzLmNvbmZpZz1QMChhKTtKMCh0aGlzKTt0aGlzLm9hfHwodGhpcy5vYT1VMCh0aGlzLHRoaXMuY29uZmlnLmFyZ3M/LmpzYXBpY2FsbGJhY2t8fCJvbllvdVR1YmVQbGF5ZXJSZWFkeSIpKTt0aGlzLmNvbmZpZy5hcmdzP3RoaXMuY29uZmlnLmFyZ3MuanNhcGljYWxsYmFjaz1udWxsOnRoaXMuY29uZmlnLmFyZ3M9e2pzYXBpY2FsbGJhY2s6bnVsbH07aWYodGhpcy5jb25maWc/LmF0dHJzKXthPXRoaXMuY29uZmlnLmF0dHJzOwpsZXQgYj1hLndpZHRoO2ImJnRoaXMubyYmKHRoaXMuby5zdHlsZS53aWR0aD1YXyhOdW1iZXIoYil8fGIpKTsoYT1hLmhlaWdodCkmJnRoaXMubyYmKHRoaXMuby5zdHlsZS5oZWlnaHQ9WF8oTnVtYmVyKGEpfHxhKSl9fWlzUmVhZHkoKXtyZXR1cm4gdGhpcy5GYX1hZGRFdmVudExpc3RlbmVyKGEsYil7dGhpcy5pYSgpO3ZhciBjPVUwKHRoaXMsYik7YyYmKF8uc2IodGhpcy5mYyxhKT49MHx8dGhpcy5qW2FdfHwoYj1hc2EodGhpcyxhKSx0aGlzLkImJnRoaXMuQihhLGIpKSx0aGlzLk0uc3Vic2NyaWJlKGEsYyksYT09PSJvblJlYWR5IiYmdGhpcy5pc1JlYWR5KCkmJnNldFRpbWVvdXQoKCk9PntjKHRoaXMuYXBpKX0sMCkpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKXt0aGlzLmlhKCl8fChiPVUwKHRoaXMsYikpJiZ0aGlzLk0udW5zdWJzY3JpYmUoYSxiKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIHRoaXMuWnx8KEwwKHRoaXMpPyJodG1sNSI6bnVsbCl9Z2V0TGFzdEVycm9yKCl7cmV0dXJuIHRoaXMubGFzdEVycm9yfWNhbmNlbCgpe3RoaXMuRCYmCkcwKFEwKHRoaXMpLHRoaXMuRCk7Y2xlYXJUaW1lb3V0KHRoaXMuUWEpO3RoaXMuVT0hMX1sYSgpe04wKHRoaXMpO2lmKHRoaXMudiYmdGhpcy5jb25maWcmJnRoaXMudi5kZXN0cm95KXRyeXt0aGlzLnYuZGVzdHJveSgpfWNhdGNoKGIpe3ZhciBhPW5ldyBfLlhqKCJQbGF5ZXJQcm94eSBlcnJvciBkdXJpbmcgZGlzcG9zYWwiLHtlcnJvcjpifSk7YS5sZXZlbD0iRVJST1IiO3Rocm93IGE7fXRoaXMueWE9bnVsbDtmb3IoYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgdGhpcy5qW2FdO3RoaXMuTWE9dGhpcy5jb25maWc9dGhpcy5hcGk9bnVsbDtkZWxldGUgdGhpcy50YXJnZXRFbGVtZW50O2RlbGV0ZSB0aGlzLm87c3VwZXIubGEoKX19LFcwPXt9LHh0YT17U0M6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1VOS05PV04iLFBDOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIixSQzoiRU1CRURERURfUExBWUVSX01PREVfUEZQIixRQzoiRU1CRURERURfUExBWUVSX01PREVfUEZMIn07dmFyIGgxPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGM9RXJyb3IoKSl7c3VwZXIoKTt0aGlzLmNvZGU9YTtiKz0iOiI7YyBpbnN0YW5jZW9mIEVycm9yPyh0aGlzLm1lc3NhZ2U9YitjLm1lc3NhZ2UsdGhpcy5zdGFjaz1jLnN0YWNrfHwiIik6KHRoaXMubWVzc2FnZT1iK1N0cmluZyhjKSx0aGlzLnN0YWNrPSIiKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgZTE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy52bT1hO3RoaXMubz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTt0aGlzLmo9dm9pZCAwO3RoaXMuQ2c9dGhpcy52bS5wO3RoaXMudj10aGlzLkloLmJpbmQodGhpcyk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBoc2EodGhpcykpfXNuYXBzaG90KGEpe3JldHVybiB0aGlzLnZtLnMoey4uLihhLktjJiZ7YzphLktjfSksCi4uLihhLllqJiZ7czphLllqfSksLi4uKGEueG4hPT12b2lkIDAmJntwOmEueG59KX0pfUloKGEpe3RoaXMudm0uZShhKX1CaShhLGIpe3JldHVybiB0aGlzLnZtLmMoYSxiLCExKX1WaCgpe3JldHVybiB0aGlzLnZtLmwoKX19O3ZhciBzdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLmhhPTF9c2hhcmUoKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoImplIik7dGhpcy5oYSsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuaGF8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciB0dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWE7SzEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsbTEoIm1rIikpfXJlY29yZChhLGIpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIpfX0sdXZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLG0xKCJtbiIpLGwxKCJhYyIpLGwxKCJzYyIpLG0xKCJyayIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMsZCxlLGYpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLGEsYixjLGQsZSxmKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIil9fSx2dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52PWE7TTEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2VjIixtMSgiZW4iKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwKIi9jbGllbnRfc3RyZWFtei9iZy9lYyIsYSxiKX1qKCl7cmV0dXJuIHRoaXMudi5qKCIvY2xpZW50X3N0cmVhbXovYmcvZWMiKX19LHd2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvZWwiLG0xKCJlbiIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYSxiLGMpfWooKXtyZXR1cm4gdGhpcy5vLmooIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0seHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLGwxKCJlYyIpLG0xKCJtayIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LHl2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIiwKbDEoImNzIiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0senZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixtMSgiYXYiKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LEF2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsbTEoInN1IiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxCdmE9CmNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixtMSgibWsiKSl9cmVjb3JkKGEsYil7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiKX19LEN2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbTEoImV0IiksbTEoIm1rIikpfXJlY29yZChhLGIsYyl7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGEsYixjKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIpfX07dmFyIE1zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgcnNhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHExPVsxLDIsM107dmFyIG9zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxwMT1bMSwyLDNdO3ZhciBwc2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIER2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgRXZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGU1PVsxLDIsM107dmFyIG4xPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O24xLnByb3RvdHlwZS52PV8ucHooWzAsJDQsWzAsZTUsYTUsWzAsJDQsLTEsXy54el0sYTUsWzAsJDQsLTEsWjQsXy54el0sYTUsWzAsJDRdXSxsdmEsXy55eixbMCxfLnl6LFswLHExLG12YSxndmEsa3ZhXSxbMCxwMSxmdmEsZXZhLGE1LFswLF8ueXosWzAsVjQsWDRdXV1dLGl2YSxqdmFdKTt2YXIgRnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBHdmE9Y2xhc3N7YXN5bmMgY29tcHJlc3MoYSl7dmFyIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO2I9Yi53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBiLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKSk7YXdhaXQgYi5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBjKX1pc1N1cHBvcnRlZChhKXtyZXR1cm4gYTwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIGY1PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy5jYWxsYmFjaz1iO3RoaXMuZW5hYmxlZD0hMTt0aGlzLmo9KCk9Pl8uRWEoKTt0aGlzLm89dGhpcy5qKCl9c2V0SW50ZXJ2YWwoYSl7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy50aW1lciYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMudGltZXImJnRoaXMuc3RvcCgpfXN0YXJ0KCl7dGhpcy5lbmFibGVkPSEwO3RoaXMudGltZXJ8fCh0aGlzLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zKSx0aGlzLm89dGhpcy5qKCkpfXN0b3AoKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9dGljaygpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9TWF0aC5tYXgodGhpcy5qKCktdGhpcy5vLDApO2E8dGhpcy5pbnRlcnZhbE1zKi44P3RoaXMudGltZXI9CnNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zLWEpOih0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKSx0aGlzLmNhbGxiYWNrKCksdGhpcy5lbmFibGVkJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH19O3ZhciBIdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIEl2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgSnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1XaSgpe3JldHVybiBLXyh0aGlzKX19O3ZhciB0c2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHgxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHdzYT1TXyh4MSk7dmFyIEExPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciB0MT1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sczE9bmV3IHgxLHUxPW51bGw7dmFyIHoxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBLdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsNCl9fTt2YXIgZzU9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMzcpfX07dmFyIEx2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxOSl9VWgoYSl7cmV0dXJuIENaKHRoaXMsMixhKX19O3ZhciBNdmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPSExKXt0aGlzLnlkPWI7dGhpcy52PXRoaXMubG9jYWxlPW51bGw7dGhpcy5vPTA7dGhpcy5pc0ZpbmFsPSExO3RoaXMuaj1uZXcgTHZhO051bWJlci5pc0ludGVnZXIoYSkmJnRoaXMuai5VaChhKTtifHwodGhpcy5sb2NhbGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgibGFuZyIpKTt5MSh0aGlzLG5ldyB6MSl9VWgoYSl7dGhpcy5qLlVoKGEpO3JldHVybiB0aGlzfWJ1aWxkKGEsYj0wLGM9MCxkPW51bGwsZT0wLGY9MCl7aWYoIXRoaXMueWQpe3ZhciBoPXcxKHRoaXMpO3ZhciBrPW5ldyBKdmE7az1DWihrLDEsdGhpcy5vKTtrPV8ucXcoaywyLF8ueHcodGhpcy5pc0ZpbmFsKSk7Yz1fLnF3KGssMyxfLlB3KGM+MD9jOnZvaWQgMCkpO2U9Xy5xdyhjLDQsXy5QdyhlPjA/ZTp2b2lkIDApKTtmPV8ucXcoZSw1LF8uUHcoZj4wP2Y6dm9pZCAwKSk7ZT1mLkRhO2M9ZVtfLkFjXXwwO2Y9Xy5CYyhmLGMpP2Y6Xy4kYyhmLAplLGMpP18uYmQoZixlKTpuZXcgZi5jb25zdHJ1Y3RvcihfLlpjKGUsYywhMCkpO18uS3coaCwxMCxmKX1oPXRoaXMuai5jbG9uZSgpO2Y9RGF0ZS5ub3coKS50b1N0cmluZygpO2g9Xy5xdyhoLDQseV8oZikpO2E9YS5zbGljZSgpO2E9SF8oaCwzLGEpO2QmJihoPW5ldyBIdmEsZD1fLnF3KGgsMTMsXy5QdyhkKSksaD1uZXcgSXZhLGQ9Xy5LdyhoLDIsZCksaD1uZXcgS3ZhLGQ9Xy5LdyhoLDEsZCksZD1DWihkLDIsOSksXy5LdyhhLDE4LGQpKTtiJiZfLnF3KGEsMTQseV8oYikpO3JldHVybiBhfX07QjEucHJvdG90eXBlLnY9MDtCMS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPXRoaXMuQjt0aGlzLnY9MH07dmFyIFU0PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDgpfX0sTnZhPVNfKFU0KTt2YXIgaDU7aDU9bmV3IGR2YShjbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIE92YT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmNvbXBvbmVudElkPSIiO3RoaXMuaj1bXTt0aGlzLlFhPSIiO3RoaXMucGFnZUlkPW51bGw7dGhpcy5FYj10aGlzLm9hPS0xO3RoaXMuTT10aGlzLmV4cGVyaW1lbnRJZHM9bnVsbDt0aGlzLmdhPXRoaXMuaGE9dGhpcy5JPXRoaXMuQj0wO3RoaXMuZmM9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLnlhPSExO3RoaXMubG9nU291cmNlPWEubG9nU291cmNlO3RoaXMuU2Y9YS5TZnx8KCgpPT57fSk7dGhpcy52PW5ldyBNdmEoYS5sb2dTb3VyY2UsYS55ZCk7dGhpcy5uZXR3b3JrPWEubmV0d29ya3x8bnVsbDt0aGlzLmxmPWEubGZ8fG51bGw7dGhpcy5idWZmZXJTaXplPTFFMzt0aGlzLlU9YS50Qnx8bnVsbDt0aGlzLnNlc3Npb25JbmRleD1hLnNlc3Npb25JbmRleHx8bnVsbDt0aGlzLlpnPWEuWmd8fCExO3RoaXMuWD1udWxsO3RoaXMud2l0aENyZWRlbnRpYWxzPSFhLm5sO3RoaXMueWQ9CmEueWR8fCExO3RoaXMuWj0hdGhpcy55ZCYmISFfLnpkKCkmJiEhXy56ZCgpLm5hdmlnYXRvciYmXy56ZCgpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuTWE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKEQxKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoRDEoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGI9djEobmV3IHoxKTt5MSh0aGlzLnYsYik7dGhpcy5EPW5ldyBCMSgxRTQsM0U1LC4xKTthPXlzYSh0aGlzLGEuTm8pO3RoaXMubz1uZXcgZjUodGhpcy5ELmosYSk7dGhpcy5GYT1uZXcgZjUoNkU1LGEpO3RoaXMuWmd8fHRoaXMuRmEuc3RhcnQoKTt0aGlzLnlkfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pntkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIiYmRTEodGhpcyl9KSxfLnpkKCk/LmFkZEV2ZW50TGlzdGVuZXI/LigicGFnZWhpZGUiLCgpPT4Ke0UxKHRoaXMpfSkpfWxhKCl7RTEodGhpcyk7dGhpcy5vLnN0b3AoKTt0aGlzLkZhLnN0b3AoKTtzdXBlci5sYSgpfWRpc3BhdGNoKGEpe2lmKGEgaW5zdGFuY2VvZiBnNSl0aGlzLmxvZyhhKTtlbHNlIHRyeXt2YXIgYj1uZXcgZzUsYz1hLnNlcmlhbGl6ZSgpO3ZhciBkPUJaKGIsOCxjKTt0aGlzLmxvZyhkKX1jYXRjaHt9fWxvZyhhKXtpZih0aGlzLk1hKXthPWEuY2xvbmUoKTt2YXIgYj10aGlzLmZjKys7YT1fLnF3KGEsMjEseV8oYikpO3RoaXMuY29tcG9uZW50SWQmJkJaKGEsMjYsdGhpcy5jb21wb25lbnRJZCk7Yj1hO3t2YXIgYz1fLmVkKGIsMSk7bGV0IGQ9dHlwZW9mIGM7Yz1jPT1udWxsP2M6ZD09PSJiaWdpbnQiP1N0cmluZygoMCxfLnRyKSg2NCxjKSk6cl8oYyk/ZD09PSJzdHJpbmciP3VfKGMpOnZfKGMpOnZvaWQgMH1jPT1udWxsJiYoYz1EYXRlLm5vdygpLGM9TnVtYmVyLmlzRmluaXRlKGMpP2MudG9TdHJpbmcoKToiMCIsXy5xdyhiLDEseV8oYykpKTtjPV8uZWQoYiwKMTUsdm9pZCAwLHZvaWQgMCx6Xyk7YyE9bnVsbCYmKHR5cGVvZiBjPT09ImJpZ2ludCI/KDAsXy5NYykoYyk/Yz1OdW1iZXIoYyk6KGM9KDAsXy50cikoNjQsYyksYz0oMCxfLk1jKShjKT9OdW1iZXIoYyk6U3RyaW5nKGMpKTpjPXJfKGMpP3R5cGVvZiBjPT09Im51bWJlciI/dl8oYyk6dV8oYyk6dm9pZCAwKTtjPT1udWxsJiZfLnF3KGIsMTUseV8oKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKjYwKSk7dGhpcy5leHBlcmltZW50SWRzJiYoYz10aGlzLmV4cGVyaW1lbnRJZHMuY2xvbmUoKSxfLkt3KGIsMTYsYykpO2I9dGhpcy5qLmxlbmd0aC10aGlzLmJ1ZmZlclNpemUrMTtiPjAmJih0aGlzLmouc3BsaWNlKDAsYiksdGhpcy5CKz1iKTt0aGlzLmoucHVzaChhKTt0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCl9fWZsdXNoKGEsYil7aWYodGhpcy5qLmxlbmd0aD09PTApYSYmYSgpO2Vsc2UgaWYodGhpcy55YSYmdGhpcy5aKXRoaXMudi5vPTMsQXNhKHRoaXMpOwplbHNle3ZhciBjPURhdGUubm93KCk7aWYodGhpcy5FYj5jJiZ0aGlzLm9hPGMpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLm5ldHdvcmsmJih0eXBlb2YgdGhpcy5uZXR3b3JrLldpPT09ImZ1bmN0aW9uIj92c2EodGhpcy52LHRoaXMubmV0d29yay5XaSgpKTp0aGlzLnYubz0wKTt2YXIgZD10aGlzLnYuYnVpbGQodGhpcy5qLHRoaXMuQix0aGlzLkksdGhpcy5sZix0aGlzLmhhLHRoaXMuZ2EpLGU9dGhpcy5TZigpO2lmKGUmJnRoaXMuUWE9PT1lKWImJmIoInN0YWxlLWF1dGgtdG9rZW4iKTtlbHNle3RoaXMuaj1bXTt0aGlzLm8uZW5hYmxlZCYmdGhpcy5vLnN0b3AoKTt0aGlzLkI9MDtjPWQuc2VyaWFsaXplKCk7bGV0IGY7dGhpcy5NJiZ0aGlzLk0uaXNTdXBwb3J0ZWQoYy5sZW5ndGgpJiYoZj10aGlzLk0uY29tcHJlc3MoYykpO2xldCBoPUJzYSh0aGlzLGMsZSksaz1uPT57dGhpcy5ELnJlc2V0KCk7dGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKTtpZihuKXt2YXIgcD0KbnVsbDt0cnl7dmFyIHI9SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShuLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cD1OdmEocil9Y2F0Y2godil7fWlmKHApe249TnVtYmVyKElfKHAsMSxfLkZjKCItMSIpKSk7bj4wJiYodGhpcy5vYT1EYXRlLm5vdygpLHRoaXMuRWI9dGhpcy5vYStuKTtuPWg1Lmo7KHI9Xy5HYShfLkpjKSkmJnAuRGFbcl0/LltuXSE9bnVsbCYmXy54YyhfLmpyLDMpO249aDUuajtpZihfLkdhKF8ubHIpJiZfLkdhKF8uSmMpJiZ2b2lkIDA9PT1fLmxyKXtyPXAuRGE7dmFyIHQ9cltfLkpjXTtpZih0JiYodD10LkZLKSl0cnl7dChyLG4sY3ZhKX1jYXRjaCh2KXtfLiRiKHYpfX1wPWg1LmN0b3I/aDUubyhwLGg1LmN0b3IsaDUuaixoNS52KTpoNS5vKHAsaDUuaixudWxsLGg1LnYpO2lmKHA9cD09PW51bGw/dm9pZCAwOnApcD1fLnR4KHAsMSwtMSkscCE9PS0xJiYodGhpcy5EPW5ldyBCMShwPDE/MTpwLDNFNSwuMSksdGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKSl9fWEmJgphKCk7dGhpcy5JPTB9LGw9KG4scCk9Pnt2YXIgcj1HXyhkLGc1LDMpO3ZhciB0PU51bWJlcihJXyhkLDE0KSk7QzEodGhpcy5EKTt0aGlzLm8uc2V0SW50ZXJ2YWwodGhpcy5ELmopO249PT00MDEmJmUmJih0aGlzLlFhPWUpO3QmJih0aGlzLkIrPXQpO3A9PT12b2lkIDAmJihwPXRoaXMuaXNSZXRyeWFibGUobikpO3AmJih0aGlzLmo9ci5jb25jYXQodGhpcy5qKSx0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCkpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIsbik7Kyt0aGlzLkl9LG09KCk9Pnt0aGlzLm5ldHdvcmsmJnRoaXMubmV0d29yay5zZW5kKGgsayxsKX07Zj9mLnRoZW4obj0+e2guT2pbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5PalsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PW47aC5HdT0yO20oKX0sKCk9PnttKCl9KTptKCl9fX19aXNSZXRyeWFibGUoYSl7cmV0dXJuIDUwMDw9YSYmYTw2MDB8fGE9PT00MDF8fAphPT09MH19O3ZhciBQdmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnB1PXR5cGVvZiBBYm9ydENvbnRyb2xsZXIhPT0idW5kZWZpbmVkIn1hc3luYyBzZW5kKGEsYixjKXt2YXIgZD10aGlzLnB1P25ldyBBYm9ydENvbnRyb2xsZXI6dm9pZCAwLGU9ZCYmYS50aW1lb3V0TWlsbGlzPjA/c2V0VGltZW91dCgoKT0+e2QuYWJvcnQoKX0sYS50aW1lb3V0TWlsbGlzKTp2b2lkIDA7dHJ5e2xldCBmPWF3YWl0IGZldGNoKGEudXJsLHttZXRob2Q6YS5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5hLk9qfSwuLi4oYS5ib2R5JiZ7Ym9keTphLmJvZHl9KSwuLi4oYS53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6YS50aW1lb3V0TWlsbGlzJiZkP2Quc2lnbmFsOm51bGx9KTtmLnN0YXR1cz09PTIwMD9iPy4oYXdhaXQgZi50ZXh0KCkpOmM/LihmLnN0YXR1cyl9Y2F0Y2goZil7c3dpdGNoKGY/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOmM/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6Yz8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGUpfX1XaSgpe3JldHVybiA0fX07dmFyIFMxPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5OZT0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5qPXRoaXMubGY9bnVsbDt0aGlzLm89ITE7dGhpcy5wYWdlSWQ9bnVsbDt0aGlzLmJ1ZmZlclNpemU9dm9pZCAwO3RoaXMuWD1udWxsfW5sKCl7dGhpcy52PSEwO3JldHVybiB0aGlzfWJ1aWxkKCl7dGhpcy5uZXR3b3JrfHwodGhpcy5uZXR3b3JrPW5ldyBQdmEpO3ZhciBhPW5ldyBPdmEoe2xvZ1NvdXJjZTp0aGlzLmxvZ1NvdXJjZSxTZjp0aGlzLlNmP3RoaXMuU2Y6Xy5QZCxzZXNzaW9uSW5kZXg6dGhpcy5zZXNzaW9uSW5kZXgsdEI6dGhpcy5OZSx5ZDohMSxaZzohMSxubDp0aGlzLnYsTm86dGhpcy5ObyxuZXR3b3JrOnRoaXMubmV0d29ya30pOwpFWih0aGlzLGEpO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIGI9dGhpcy5idWlsZExhYmVsLGM9dzEoYS52KTtCWihjLDcsYil9YS5NPW5ldyBHdmE7dGhpcy5jb21wb25lbnRJZCYmKGEuY29tcG9uZW50SWQ9dGhpcy5jb21wb25lbnRJZCk7dGhpcy5sZiYmKGEubGY9dGhpcy5sZik7dGhpcy5wYWdlSWQmJihhLnBhZ2VJZD10aGlzLnBhZ2VJZCk7dGhpcy5qJiYoKGM9dGhpcy5qKT8oYS5leHBlcmltZW50SWRzfHwoYS5leHBlcmltZW50SWRzPW5ldyBxdmEpLGI9YS5leHBlcmltZW50SWRzLGM9Yy5zZXJpYWxpemUoKSxCWihiLDQsYykpOmEuZXhwZXJpbWVudElkcyYmXy5xdyhhLmV4cGVyaW1lbnRJZHMsNCkpO3RoaXMubyYmKGEueWE9YS5aKTt4c2EoYS52KTt0aGlzLmJ1ZmZlclNpemUmJihhLmJ1ZmZlclNpemU9dGhpcy5idWZmZXJTaXplKTt0aGlzLm5ldHdvcmsuVWgmJnRoaXMubmV0d29yay5VaCh0aGlzLmxvZ1NvdXJjZSk7dGhpcy5uZXR3b3JrLmlBJiZ0aGlzLm5ldHdvcmsuaUEoYSk7CnJldHVybiBhfX07dmFyIE5zYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7YXx8KGE9bmV3IFMxLGEuY29tcG9uZW50SWQ9IiIsRVoodGhpcyxhKSxhPWEuYnVpbGQoKSk7dGhpcy5qPWF9Zmx1c2goYSl7YT1hfHxbXTtpZihhLmxlbmd0aCl7bGV0IGI9bmV3IEZ2YSxjPVtdO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hW2RdLGY9cjEoZSk7Yy5wdXNoKGYpO2UuY2xlYXIoKX1IXyhiLDEsYyk7dGhpcy5qLmRpc3BhdGNoKGIpO3RoaXMuai5mbHVzaCgpfX19O3ZhciBIMT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBpNT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5vPWE7dGhpcy52PWI7dGhpcy5maWVsZHM9Y3x8W107dGhpcy5qPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmouY2xlYXIoKX19O3ZhciBMMT1jbGFzcyBleHRlbmRzIGk1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSwzLGIpfX07dmFyIEoxPWNsYXNzIGV4dGVuZHMgaTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLDIsYil9cmVjb3JkKGEsLi4uYil7SHNhKHRoaXMsYSwuLi5iKX19O3ZhciBUMT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlo9YTt0aGlzLkk9MDt0aGlzLkI9MTAwO3RoaXMuTT0hMTt0aGlzLnY9bmV3IE1hcDt0aGlzLlU9bmV3IFNldDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMubz1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuby5saXN0ZW4oInRpY2siLHRoaXMuRCwhMSx0aGlzKTtFWih0aGlzLHRoaXMubyl9c2VuZElzb2xhdGVkUGF5bG9hZChhKXt0aGlzLk09YTt0aGlzLkI9MX1EKCl7dmFyIGE9Wy4uLnRoaXMudi52YWx1ZXMoKV0uZmlsdGVyKGI9PmIuai5zaXplKTthLmxlbmd0aCYmdGhpcy5aLmZsdXNoKGEsdGhpcy5NKTtLc2EoYSk7dGhpcy5JPTA7dGhpcy5vLmVuYWJsZWQmJnRoaXMuby5zdG9wKCl9aihhKXtyZXR1cm4gdGhpcy5VLmhhcyhhKT92b2lkIDA6dGhpcy52LmdldChhKX1yZWNvcmQoYSxiLC4uLmMpeyhhPXRoaXMuaihhKSkmJmEgaW5zdGFuY2VvZiBKMSYmKGEucmVjb3JkKGIsCi4uLmMpLE4xKHRoaXMpKX19O3ZhciBzMj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYik7dGhpcy5jb2RlPWE7dGhpcy5tZXRhZGF0YT17fTt0aGlzLm5hbWU9IlJwY0Vycm9yIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9dG9TdHJpbmcoKXt2YXIgYT1gUnBjRXJyb3IoJHtMc2EodGhpcy5jb2RlKXx8U3RyaW5nKHRoaXMuY29kZSl9KWA7dGhpcy5tZXNzYWdlJiYoYSs9IjogIit0aGlzLm1lc3NhZ2UpO3JldHVybiBhfX07dmFyIERzYT1jbGFzc3tzZW5kKGEsYj0oKT0+e30sYz0oKT0+e30pe18ubHkoYS51cmwsZD0+e2Q9ZC50YXJnZXQ7aWYoZC5pc1N1Y2Nlc3MoKSl7dHJ5e3ZhciBlPWQucmE/ZC5yYS5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goZil7ZT0iIn1iKGUpfWVsc2UgYyhfLlJ4KGQpKX0sYS5yZXF1ZXN0VHlwZSxhLmJvZHksYS5PaixhLnRpbWVvdXRNaWxsaXMsYS53aXRoQ3JlZGVudGlhbHMpfVdpKCl7cmV0dXJuIDF9fTt2YXIgajU9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9YTt0aGlzLmV2ZW50PWI7dGhpcy5zdGFydFRpbWU9UTEoKX1kb25lKCl7dGhpcy5YLnYodGhpcy5ldmVudCxRMSgpLXRoaXMuc3RhcnRUaW1lKX19LGs1PWNsYXNzIGV4dGVuZHMgc3Zhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKX19LFNzYT1jbGFzcyBleHRlbmRzIGs1e0IoKXt9aigpe312KCl7fUpiKCl7fU0oKXt9SSgpe31vKCl7fVooKXt9RCgpe31VKCl7fX0sUXZhPWNsYXNzIGV4dGVuZHMgazV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHRoaXMuWC5kaXNwb3NlKCkpfXVwZGF0ZShhKXt0aGlzLlguZGlzcG9zZSgpO3RoaXMuWD1hfWooYSl7dGhpcy5YLmooYSl9dihhLGIpe3RoaXMuWC52KGEsYil9SmIoYSl7dGhpcy5YLkpiKGEpfU0oYSl7dGhpcy5YLk0oYSl9SShhLGIpe3RoaXMuWC5JKGEsYil9bygpe3RoaXMuWC5vKCl9WihhKXt0aGlzLlguWihhKX1EKGEpe3RoaXMuWC5EKGEpfVUoYSl7dGhpcy5YLlUoYSl9QihhKXt0aGlzLlguQihhKX19LApSdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLmNhbGxiYWNrPWE7dGhpcy5vPWI7dGhpcy5qPS1iO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpKX19LFN2YT1jbGFzcyBleHRlbmRzIGs1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLm1ldHJpY3M9YTt0aGlzLm1iPWJ9QihhKXt0aGlzLm1ldHJpY3MuQUEucmVjb3JkKGEsdGhpcy5tYil9aihhKXt0aGlzLm1ldHJpY3MuZXZlbnRDb3VudC5vKGEsdGhpcy5tYil9dihhLGIpe3RoaXMubWV0cmljcy5Odi5yZWNvcmQoYixhLHRoaXMubWIpfUpiKGEpe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lm8oYSx0aGlzLm1iKX1aKGEpe3RoaXMubWV0cmljcy5KQi5vKGEsdGhpcy5tYil9RChhKXt0aGlzLm1ldHJpY3MuSnUubyhhLHRoaXMubWIpfVUoYSl7dGhpcy5tZXRyaWNzLklCLm8oYSx0aGlzLm1iKX1NKGEpe3RoaXMubWV0cmljcy5wYXlsb2FkU2l6ZS5yZWNvcmQoYSwKdGhpcy5tYil9SShhLGIpe3RoaXMubWV0cmljcy5YeS5yZWNvcmQoYixhLHRoaXMubWIpfX0sUXNhPWNsYXNzIGV4dGVuZHMgU3Zhe2NvbnN0cnVjdG9yKGEsYj1bXSl7dmFyIGM9e21iOmEubWJ8fCJfIix6bDphLnpsfHxbXSxubTphLm5tfDAsTmU6YS5OZSxGajphLkZqfHwoKCk9Pnt9KSxJZzphLklnfHwoKGUsZik9Pk9zYShlLGYsYy5GaixjLk5lKSl9LGQ9Yy5JZygiNTMiLGMuemwuY29uY2F0KGIpKTtzdXBlcih7QUE6bmV3IHR2YShkKSxlcnJvckNvdW50Om5ldyB4dmEoZCksZXZlbnRDb3VudDpuZXcgdnZhKGQpLE52Om5ldyB3dmEoZCkseUw6bmV3IHV2YShkKSxKQjpuZXcgeXZhKGQpLEp1Om5ldyB6dmEoZCksSUI6bmV3IEF2YShkKSxwYXlsb2FkU2l6ZTpuZXcgQnZhKGQpLFh5Om5ldyBDdmEoZCl9LGMubWIpO3RoaXMub3B0aW9ucz1jO3RoaXMuc2VydmljZT1kO3RoaXMub2E9IWEuSWc7dGhpcy5nYT1uZXcgUnZhKCgpPT52b2lkIHRoaXMuc2VydmljZS5EKCksYy5ubSk7CnRoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9Pnt0aGlzLmdhLmRpc3Bvc2UoKTt0aGlzLm9hJiZ0aGlzLnNlcnZpY2UuZGlzcG9zZSgpfSk7Yi5zbGljZSgpLnNvcnQobHJhKX1vKCl7UHNhKHRoaXMuZ2EpfX07dmFyIFIyPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDAsUjIubWVzc2FnZUlkKX19LFR2YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSYmIV8uQmMoYikpfShSMik7UjIubWVzc2FnZUlkPSJiZmtqIjt2YXIgaTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGw1PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFV2YT1TXyhsNSk7dmFyIGQyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMudj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKTt0aGlzLmo9bmV3IGw1O2lmKCJjaGFsbGVuZ2UiaW4gYSYmVHZhKGEuY2hhbGxlbmdlKSl7dmFyIGI9Sl8oYS5jaGFsbGVuZ2UsNCx2b2lkIDAsXy53eik7dmFyIGM9Sl8oYS5jaGFsbGVuZ2UsNSx2b2lkIDAsXy53eik7Sl8oYS5jaGFsbGVuZ2UsNyx2b2lkIDAsXy53eikmJih0aGlzLmo9VXZhKEpfKGEuY2hhbGxlbmdlLDcsdm9pZCAwLF8ud3opKSl9ZWxzZSh7cHJvZ3JhbTpiLGdsb2JhbE5hbWU6Y309YSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjayhhc3luYygpPT57dmFyIHt1QTpufT1hd2FpdCB0aGlzLm87bj8uKCl9KTt0aGlzLlg9VTEoYS5uZ3x8e30sdGhpcy5qKTtFWih0aGlzLHRoaXMuWCk7dmFyIGQ9bmV3IF8uY3M7dGhpcy5vPWQucHJvbWlzZTt0aGlzLlguaigidCIpO3ZhciBlPXRoaXMuWC5zaGFyZSgpLGY9bmV3IGo1KGUsCiJ0IiksaD0obixwLHIsdCk9PntpZighdGhpcy5YLmlhKCkpe3ZhciB2PSJrIjtwP3Y9ImgiOnImJih2PSJ1Iik7diE9PSJrIj90IT09MCYmKHRoaXMuWC5qKHYpLHRoaXMuWC52KHYsbikpOnRoaXMudjw9MD8odGhpcy5YLmoodiksdGhpcy5YLnYodixuKSx0aGlzLnY9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjIwMCkpOnRoaXMudi0tfX0saz0obixwLHIsdCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57Zi5kb25lKCk7ZS5vKCk7ZS5kaXNwb3NlKCk7ZC5yZXNvbHZlKHt5dTpuLHVBOnAsQXo6cixOdTp0fSl9KX0sbD1bKG4scCk9Pnt0aGlzLlgudihuLHApfSxuPT57dGhpcy5YLkpiKG4pfSxuPT57dGhpcy5YLk0obil9LChuLHApPT57dGhpcy5YLkkobixwKX1dO2lmKCFfLnVbY10pdGhyb3cgdGhpcy5YLkpiKDI1KSxFcnJvcigibmUiKTtpZighXy51W2NdLmEpdGhyb3cgdGhpcy5YLkpiKDI2KSxFcnJvcigib2UiKTt0cnl7bGV0IG49Xy51W2NdLmE7Yz1bXTtsZXQgcD0KW107dmFyIG09ajEodGhpcy5qKTtmb3IobGV0IHY9MDt2PG0ubGVuZ3RoO3YrKyljLnB1c2gobVt2XSkscC5wdXNoKDEpO2xldCByPWxzYSh0aGlzLmopO2ZvcihtPTA7bTxyLmxlbmd0aDttKyspYy5wdXNoKHJbbV0pLHAucHVzaCgyKTtsZXQgW3RdPW4oYixrLCEwLGEuRnMsaCxbYyxwXSxKXyh0aGlzLmosNSksITEsbCk7dGhpcy5CPXQ7dGhpcy5DZz1kLnByb21pc2UudGhlbigoKT0+e30pfWNhdGNoKG4pe3Rocm93IHRoaXMuWC5KYigyOCksbjt9fXNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLlguaigibiIpO3ZhciBiPXRoaXMuWC5zaGFyZSgpO3JldHVybiB0aGlzLm8udGhlbigoe3l1OmN9KT0+bmV3IFByb21pc2UoZD0+e3ZhciBlPW5ldyBqNShiLCJuIik7YyhmPT57ZS5kb25lKCk7Yi5CKGYubGVuZ3RoKTtiLm8oKTtiLmRpc3Bvc2UoKTtkKGYpfSxbYS5LYyxhLllqLGEuSXMsYS54bl0pfSkpfVhyKGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTsKdGhpcy5YLmooIm4iKTt2YXIgYj1SMSh0aGlzLlgsKCk9PnRoaXMuQihbYS5LYyxhLllqLGEuSXMsYS54bl0pLCJuIik7dGhpcy5YLkIoYi5sZW5ndGgpO3RoaXMuWC5vKCk7cmV0dXJuIGJ9SWgoYSl7dGhpcy5vLnRoZW4oKHtBejpifSk9PntiPy4oYSl9KX1CaShhLGIpe3JldHVybiB0aGlzLm8udGhlbigoe051OmN9KT0+Yz8uKGEsYiwhMSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX07dmFyIFYxPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5wcm9taXNlcz17fTt0aGlzLmo9bnVsbH19O3ZhciBsdWE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHEyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMub3B0aW9ucz1hO3RoaXMuST1uZXcgXy5jczt0aGlzLkNnPXRoaXMuSS5wcm9taXNlO3RoaXMuRD1uZXcgXy5jczt0aGlzLlo9MTt0aGlzLnY9bmV3IF8uY3M7dGhpcy5CPVtdO3RoaXMuaXNQYXVzZWQ9ITE7dGhpcy5Haj1hLkdqfHwoKCk9Pnt9KTt0aGlzLlg9bmV3IFF2YShVMShhLm5nfHx7fSkpO2F0YSh0aGlzLGEub2QsYS5zeCxhLkhLLGEuTkssey4uLlZ2YSwuLi4oYS5MZ3x8e30pfSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBidGEodGhpcykpfWFzeW5jIHNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLm98fHRoaXMuTXx8YXdhaXQgdGhpcy5ELnByb21pc2U7aWYodGhpcy5vKXJldHVybiBhd2FpdCB0aGlzLm8uc25hcHNob3QoYSk7dGhyb3cgdGhpcy5NO31wYXVzZSgpe3RoaXMuaWEoKXx8dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9CiEwLHRoaXMuaiYmdGhpcy5qLnBhdXNlKCkpfXJlc3VtZSgpeyF0aGlzLmlhKCkmJnRoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMuaiYmdGhpcy5qLnJlc3VtZSgpKX1hc3luYyBjaGVja0ZvclJlZnJlc2goKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoInBlIik7aWYodGhpcy5qKXt2YXIgYT10aGlzLmo7YS5pc0V4cGlyZWQoKT8oZzIoYSksYS5RaCgwKSxhPSEwKTphPSExO2EmJmF3YWl0IHRoaXMudi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy52LnByb21pc2V9YXN5bmMgVSgpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLmo/Lm8oKTthd2FpdCB0aGlzLnYucHJvbWlzZX1JaChhKXt0aGlzLm8/LkloPy4oYSl9QmkoYSxiKXtyZXR1cm4gdGhpcy5vPy5CaT8uKGEsYik/P1Byb21pc2UucmVzb2x2ZSgpfWhhbmRsZUVycm9yKGEpe3RoaXMuaWEoKXx8KHRoaXMuTT1hLHRoaXMuRC5yZXNvbHZlKCksdGhpcy5vcHRpb25zLkVqPy4oYSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX0sClZ2YT17RnI6NDMyRTUsZWs6M0U1LGxzOjEwLGF2OjFFNCxWdjozRTQscXk6M0U0LG1BOjZFNCxLdjoxRTMsSnY6NkU0LEx2OjZFNSxNdjouMjUsSXY6MixtYXhBdHRlbXB0czoxMH0sYzI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuZW5kVGltZU1zPTA7dGhpcy5qPW51bGw7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnRpY2s9KCk9PntpZighdGhpcy5pc1BhdXNlZCl7dmFyIGQ9dGhpcy5lbmRUaW1lTXMtRGF0ZS5ub3coKTtkPD10aGlzLnY/KHRoaXMuaj1udWxsLHRoaXMuUWgoMCkpOnRoaXMuaj1zZXRUaW1lb3V0KHRoaXMudGljayxNYXRoLm1pbihkLHRoaXMuZWspKX19O3RoaXMuZWs9Yjt0aGlzLnY9Yzt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZD0+e3RoaXMuUWg9ZH0pO2N0YSh0aGlzLGEpfXBhdXNlKCl7dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9ITAsZzIodGhpcykpfXJlc3VtZSgpe3RoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMudGljaygpKX1vKCl7ZzIodGhpcyk7CnRoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlFoKDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIGR0YT1NYXRoLmltdWw/PygoYSxiKT0+YSpifDApLGoyPVsxOTYsMjAwLDIyNCwxOF0sbTI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPTAsYz1bXSl7dGhpcy5tYXhJdGVtcz1hO3RoaXMuaj1iO3RoaXMubz1jfXNlcmlhbGl6ZSgpe3JldHVybiBTdHJpbmcodGhpcy5qKSsiLCIrdGhpcy5vLmpvaW4oKX1yYihhLGIpe3ZhciBjPXZvaWQgMDtpZih0aGlzLm9bdGhpcy5qXSE9PWEpe2xldCBkPXRoaXMuby5pbmRleE9mKGEpO2QhPT0tMT8odGhpcy5vLnNwbGljZShkLDEpLGQ8dGhpcy5qJiZ0aGlzLmotLSx0aGlzLm8uc3BsaWNlKHRoaXMuaiwwLGEpKTooYz10aGlzLm9bdGhpcy5qXSx0aGlzLm9bdGhpcy5qXT1hKX10aGlzLmo9KHRoaXMuaisxKSV0aGlzLm1heEl0ZW1zO2E9aDIoImlVNXEtIU85QCQiLHRoaXMuc2VyaWFsaXplKCkpO2MmJmEmJmIoYyk7cmV0dXJuIGF9fSxpc2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9Yjt0cnl7dmFyIGM9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmISFnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW19Y2F0Y2goZCl7Yz0hMX1jJiYodGhpcy5pbmRleD1ndGEoYSkpfWooYSxiLGMsZCl7dmFyIGU9dGhpcy5pbmRleD9SMSh0aGlzLlgsKCk9PmV0YSh0aGlzLmluZGV4LGsyKGEpLGIsYyxkKSwiVyIpOiJ1Ijt0aGlzLlguVShlKX1vKGEsYil7dmFyIFtjLGRdPXRoaXMuaW5kZXg/UjEodGhpcy5YLCgpPT5mdGEoazIoYSksYiksIlIiKTpbInUiXTt0aGlzLlguRChjKTtyZXR1cm4gZH19O3ZhciBtNT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLnY9bmV3IF8uY3N9emooYSxiKXt2YXIgYz10aGlzLm9lKGEpO2I/LihjKTtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnNjKGMsMiksdGhpcy5vKX1zbShhLGIsYyl7cmV0dXJuIFIxKHRoaXMuWCwoKT0+Yj90aGlzLnpqKGEsYyk6dGhpcy5vZShhLGMpLHRoaXMuail9fSx1Mj1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjLGQpe3N1cGVyKGEpO3RoaXMuQj1iO3RoaXMuST1jO3RoaXMuaj0ibSI7dGhpcy5vPSJ4Ijt0aGlzLkQ9MDtuMih0aGlzLGQpfW9lKGEsYil7dGhpcy5YLmoodGhpcy5qKTsrK3RoaXMuRD49dGhpcy5JJiZ0aGlzLnYucmVzb2x2ZSgpO3ZhciBjPWEoKTthPVIxKHRoaXMuWCwoKT0+dGhpcy5CKGMpLCJDIik7aWYoYT09PXZvaWQgMCl0aHJvdyBuZXcgaDEoMTcsIllOSjpVbmRlZmluZWQiKTtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaDEoMTgsCiJPRE06SW52YWxpZCIpO2I/LihhKTtyZXR1cm4gYX19LGx0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhKTt0aGlzLkI9Yjt0aGlzLmo9ImYiO3RoaXMubz0ieiI7bjIodGhpcyxjKX1vZSgpe3JldHVybiB0aGlzLkJ9fSxrdGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYSk7dGhpcy5CPWI7dGhpcy5qPSJ3Ijt0aGlzLm89InoiO24yKHRoaXMsYyl9b2UoKXtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnVjKHRoaXMuQiksImQiKX16aigpe3JldHVybiB0aGlzLkJ9fSxydGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGEpO3RoaXMuZXJyb3I9Yjt0aGlzLmo9ImUiO3RoaXMubz0ieSJ9b2UoKXtpZih0aGlzLkIpcmV0dXJuIHRoaXMuQjt0aGlzLkI9cDIodGhpcyxhPT4iXyIrZXJhKGEpKTtyZXR1cm4gcDIodGhpcyxhPT5hKX19LHF0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7CnRoaXMuY2xpZW50U3RhdGU9Yjt0aGlzLmo9IlMiO3RoaXMubz0icSJ9b2UoKXt2YXIgYT1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxiPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sYz1iLmNvbmNhdChbMCx0aGlzLmNsaWVudFN0YXRlXSxbYT4+MjQmMjU1LGE+PjE2JjI1NSxhPj44JjI1NSxhJjI1NV0pO2E9bmV3IFVpbnQ4QXJyYXkoMitjLmxlbmd0aCk7YVswXT0zNDthWzFdPWMubGVuZ3RoO2Euc2V0KGMsMik7Yz1hLnN1YmFycmF5KDIpO2I9Yi5sZW5ndGg7Zm9yKGxldCBkPWI7ZDxjLmxlbmd0aDsrK2QpY1tkXV49Y1tkJWJdO3RoaXMuWC5aKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBhfX07dmFyIFd2YT17V3Y6M0U0LEJBOjJFNH0scnVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMueWc9bmV3IF8uY3M7dGhpcy52PTA7dGhpcy5vPXZvaWQgMDt0aGlzLnN0YXRlPTI7dGhpcy52bT1hLnZtO3RoaXMub2Q9YS5vZDt0aGlzLkxnPXsuLi5XdmEsLi4uKGEuTGd8fHt9KX07dGhpcy5YPWEudm0uVmgoKTt0aGlzLm9uRXJyb3I9YS5vbkVycm9yPz8oKCk9Pnt9KTt0aGlzLlFuPWEuUW58fCExO2lmKFh2YShhKSl7bGV0IGQ9dGhpcy52bTt0aGlzLkI9KCk9PmQuVSgpLmNhdGNoKGU9Pnt0aGlzLm89ZT10aGlzLnJlcG9ydEVycm9yKG5ldyBoMSh0aGlzLmo/MjA6MzIsIlRSRzpEaXNwb3NlZCIsZSkpO3RoaXMuaj8uZGlzcG9zZSgpO3RoaXMuaj12b2lkIDA7dGhpcy55Zy5yZWplY3QoZSl9KTtmMihkLCgpPT52b2lkIHQyKHRoaXMpKTtkLlo9PT0yJiZ0Mih0aGlzKX1lbHNlIHRoaXMuQj1hLmlLLHQyKHRoaXMpO3ZhciBiPXRoaXMuWC5zaGFyZSgpOwpiLmooIm8iKTt2YXIgYz1uZXcgajUoYiwibyIpO3RoaXMueWcucHJvbWlzZS50aGVuKCgpPT57Yy5kb25lKCk7Yi5vKCk7Yi5kaXNwb3NlKCl9LCgpPT52b2lkIGIuZGlzcG9zZSgpKTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5qPyh0aGlzLmouZGlzcG9zZSgpLHRoaXMuaj12b2lkIDApOnRoaXMubz90aGlzLlgubygpOih0aGlzLm89dGhpcy5yZXBvcnRFcnJvcihuZXcgaDEoMzIsIlROUDpEaXNwb3NlZCIpKSx0aGlzLlgubygpLHRoaXMueWcucmVqZWN0KHRoaXMubykpfSk7RVoodGhpcyx0aGlzLlgpfW9lKGEpe3JldHVybiB3Mih0aGlzLHsuLi5hfSwhMSl9emooYSl7cmV0dXJuIHcyKHRoaXMsey4uLmF9LCEwKX1yZXBvcnRFcnJvcihhKXt0aGlzLlguSmIoYS5jb2RlKTt0aGlzLm9uRXJyb3IoYSk7cmV0dXJuIGF9fSxYdmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+e2lmKCEoMCxfLnFyKShiKSlyZXR1cm4hMTtmb3IobGV0IFtjLGRdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2xldCBlPQpjLGY9ZDtpZighKGUgaW4gYikpe2lmKGYuQko9PT0hMCljb250aW51ZTtyZXR1cm4hMX1pZighZihiW2VdKSlyZXR1cm4hMX1yZXR1cm4hMH0pfSh7dm06ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfShxMil9LCIiKTt2YXIgWnZhPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoIW41KXtuNT1uZXcgVDEobmV3IFl2YSk7dmFyIGE9Xy5zaigiY2xpZW50X3N0cmVhbXpfd2ViX2ZsdXNoX2NvdW50IiwtMSk7YSE9PS0xJiYobjUuQj1hKX10aGlzLnY9YT1uNTtNMShhLCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixsMSgidHlwZSIpLGwxKCJzZXF1ZW5jZSIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiKX19O3ZhciBtdWE9U18oY2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0pO3ZhciAkdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIG81PVswLHB2YSwtMV07dmFyIHA1PVswLGh2YSwtMV07dmFyIGF3YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgYndhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1oYXNBdHRyaWJ1dGVzKCl7dmFyIGE9dGhpcy5EYTtyZXR1cm4gXy5NeChhLGFbXy5BY118MCxhd2EsMTkpIT09dm9pZCAwfX07dmFyIGN3YT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+Xy5veihiLGEpfShbMCxjNSwtMSxYNCwkNCxvNSwtMSxXNCxaNCxjNSxwNSwkNCxjNSwtMSxbMCxvNSwtMV0sWjQsWTQscDUsVzQsWzAsMSxaNCwtNCxWNCxbMCxXNCwtMSxaNF0sJDQsVzQsXy55eixbMCxjNSxaNF0sWjQsLTEsYzUsLTIsVzQsLTEsYzUsVzQsYzUsWjQsWzAsMyxaNCwtMSw0LG52YV0sVjQsYjUsWzAsYzUsLTEsJDRdLF8ueHpdLCQ0LG92YSxfLnl6LFswLHA1LF8ueXosWzAsJDQsYzVdLFc0LGM1LC0xXSwxLF8ueXosWzAsWTQsLTEsYjVdLGM1LHA1XSk7ejIucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIhPTN9O3oyLnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj09PTJ9Owp6Mi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2Zvcig7cDxhLmxlbmd0aDspaWYoeTIoYVtwXSkpcCsrLGYudisrO2Vsc2UgYnJlYWs7cmV0dXJuIHA8bH1mdW5jdGlvbiBjKCl7Zm9yKHZhciB0Ozspe3Q9YVtwKytdO2lmKCF0KWJyZWFrO2YudisrO3N3aXRjaChmLmope2Nhc2UgMDp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6eTIodCl8fEEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDc6Y2FzZSAyOmlmKHkyKHQpKWNvbnRpbnVlO2lmKGYuaj09PTcpaC5wdXNoKDgpO2Vsc2UgaWYodD09PSJ9Iil7ZSgie30iKTtmLmo9ZCgpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDMpO3Q9PT0nIic/Zi5qPTY6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgODpjYXNlIDM6aWYoeTIodCkpY29udGludWU7dD09PSI6Ij8oZi5qPT09MyYmKGgucHVzaCgzKSxmLm8rKyksZi5qPTEpOnQ9PT0ifSI/KGYuby0tLGUoKSxmLmo9ZCgpKTp0PT09IiwiPyhmLmo9PT0zJiZoLnB1c2goMyksCmYuaj03KTpBMihmLGEscCk7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZih5Mih0KSljb250aW51ZTtpZihmLmo9PT00KWlmKGYubysrLGYuaj0xLHQ9PT0iXSIpe2Yuby0tO2lmKGYubz09PTApe2Yuaj01O3JldHVybn1lKCJbXSIpO2Yuaj1kKCk7Y29udGludWV9ZWxzZSBoLnB1c2goNSk7dD09PSciJz9mLmo9Njp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6dD09PSJ0Ij9mLmo9OTp0PT09ImYiP2Yuaj0xMjp0PT09Im4iP2Yuaj0xNjp0IT09Ii0iJiYoIjAxMjM0NTY3ODkiLmluZGV4T2YodCkhPT0tMT9mLmo9MjA6QTIoZixhLHApKTtjb250aW51ZTtjYXNlIDU6aWYodD09PSIsIiloLnB1c2goNSksZi5qPTEsZi5vPT09MSYmKG49cCk7ZWxzZSBpZih0PT09Il0iKXtmLm8tLTtpZihmLm89PT0wKXJldHVybjtlKCk7Zi5qPWQoKX1lbHNlIGlmKHkyKHQpKWNvbnRpbnVlO2Vsc2UgQTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgNjpsZXQgdj1wO2E6Zm9yKDs7KXtmb3IoO2YuSz4wOylpZih0PQphW3ArK10sZi5LPT09ND9mLks9MDpmLksrKywhdClicmVhayBhO2lmKHQ9PT0nIicmJiFmLkQpe2Yuaj1kKCk7YnJlYWt9aWYodD09PSJcXCImJiFmLkQmJihmLkQ9ITAsdD1hW3ArK10sIXQpKWJyZWFrO2lmKGYuRClpZihmLkQ9ITEsdD09PSJ1IiYmKGYuSz0xKSx0PWFbcCsrXSljb250aW51ZTtlbHNlIGJyZWFrO2subGFzdEluZGV4PXA7dD1rLmV4ZWMoYSk7aWYoIXQpe3A9YS5sZW5ndGgrMTticmVha31wPXQuaW5kZXgrMTt0PWFbdC5pbmRleF07aWYoIXQpYnJlYWt9Zi52Kz1wLXY7Y29udGludWU7Y2FzZSA5OmlmKCF0KWNvbnRpbnVlO3Q9PT0iciI/Zi5qPTEwOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDEwOmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTExOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDExOmlmKCF0KWNvbnRpbnVlO3Q9PT0iZSI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxMjppZighdCljb250aW51ZTt0PT09ImEiP2Yuaj0xMzpBMihmLGEsCnApO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIXQpY29udGludWU7dD09PSJsIj9mLmo9MTQ6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIXQpY29udGludWU7dD09PSJzIj9mLmo9MTU6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTU6aWYoIXQpY29udGludWU7dD09PSJlIj9mLmo9ZCgpOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE2OmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTE3OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE3OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPTE4OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE4OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxOTp0PT09Ii4iP2Yuaj0yMDpBMihmLGEscCk7Y29udGludWU7Y2FzZSAyMDppZigiMDEyMzQ1Njc4OS5lRSstIi5pbmRleE9mKHQpIT09LTEpY29udGludWU7ZWxzZSBwLS0sZi52LS0sZi5qPWQoKTtjb250aW51ZTtkZWZhdWx0OkEyKGYsYSxwKX19fQpmdW5jdGlvbiBkKCl7dmFyIHQ9aC5wb3AoKTtyZXR1cm4gdCE9bnVsbD90OjF9ZnVuY3Rpb24gZSh0KXtmLm8+MXx8KHR8fCh0PW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSxwKTphLnN1YnN0cmluZyhuLHApKSxmLlkucHVzaChKU09OLnBhcnNlKHQpKSxuPXApfWZvcih2YXIgZj10aGlzLGg9Zi5VLGs9Zi5aLGw9YS5sZW5ndGgsbT0wLG49LTEscD0wO3A8bDspc3dpdGNoKGYuQil7Y2FzZSAzOnJldHVybiBBMihmLGEscCksbnVsbDtjYXNlIDI6cmV0dXJuIGIoKSYmQTIoZixhLHApLG51bGw7Y2FzZSAwOmlmKGIoKSl7dmFyIHI9YVtwKytdO2YudisrO2lmKHI9PT0iWyIpe2YuQj0xO209cDtmLmo9NDtjb250aW51ZX1lbHNlIEEyKGYsYSxwKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIGMoKSxmLm89PT0wJiZmLmo9PTU/KGYuQj0yLGYuST1hLnN1YnN0cmluZyhwKSk6Zi5JPW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSk6YS5zdWJzdHJpbmcobiksZi5ZLmxlbmd0aD4wPyhyPWYuWSwKZi5ZPVtdLHIpOm51bGx9cmV0dXJuIG51bGx9O3ZhciBtcmE9e0dFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfVU5LTk9XTiIsQUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9GT1JfVEVTVElORyIsa0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fSE9NRV9UVEwiLHdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU1RBUlRfVE9fU0hPUlRTX0FOQUxZU0lTX1NMSUNFIixvRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RFVklDRV9MQVlFUl9TTElDRSIsRkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VTklGSUVEX0xBWUVSX1NMSUNFIixKRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1ZJU0lUT1JfTEFZRVJfU0xJQ0UiLHVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0hPV19TSEVFVF9DT01NQU5EX0hBTkRMRVJfQkxPQ0siLApNRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dJWl9ORVhUX01JR1JBVEVEX0NPTVBPTkVOVCIsTEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XSVpfTkVYVF9DSEFOTkVMX05BTUVfVE9PTFRJUCIscEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVElPTl9MT0NLX1NVUFBPUlRFRCIsekU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9USEVBVEVSX01PREVfRU5BQkxFRCIsU0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9TSE9XX1BJTl9TVUdHRVNUSU9OIixSRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfTE9OR19QUkVTU19FRFVfVE9BU1QiLFFFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfU0hPV19BTUJJRU5UIixBRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RJTUVfV0FUQ0hFRF9QQU5FTCIsCnJFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0VBUkNIX0ZST01fU0VBUkNIX0JBUl9PVkVSTEFZIixURToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfVk9JQ0VfU0VBUkNIX0VEVV9UT0FTVCIseUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVUdHRVNURURfTEFOR1VBR0VfU0VMRUNURUQiLFVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfVFJJR0dFUl9TSE9SVFNfUElQIixKRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lOX1pQX1ZPSUNFX0NSQVNIWV9TRVQiLGdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX1NVUFBSRVNTRUQiLGZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX0FMTE9XRUQiLGlFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9QVUxMX1RPX1JFRlJFU0hfQVRURU1QVCIsCk5FOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfQkxPQ0tfS0FCVUtJIixqRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1JFRUxfVEFMTF9TQ1JFRU4iLGhFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9OT1JNQUxfU0NSRUVOIixoRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9FTkFCTEVEIixnRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9ESVNBQkxFRCIsaUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9BVVRPUExBWV9FTkFCTEVEIixqRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0NBU1RfTUFUQ0hfT0NDVVJSRUQiLHREOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRU1DM0RTX0VMSUdJQkxFIix3RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VORFNDUkVFTl9UUklHR0VSRUQiLApkRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BPU1RQTEFZX1RSSUdHRVJFRCIsY0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9QT1NUUExBWV9MQUNUX1RIUkVTSE9MRF9FWENFRURFRCIsQ0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1NUQVRFX01BVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT04iLEVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hBQkxFX09OX1JFTU9URV9DT05ORUNUSU9OIixERDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfTUlTQVRUUklCVVRFRF9PTl9SRU1PVEVfQ09OTkVDVElPTiIsSEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1RWX0lTX1NJR05FRF9JTl9PTl9SRU1PVEVfQ09OTkVDVElPTiIsREU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9UVl9TVEFSVF9UWVBFX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLApFRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWX1NUQVJUX1RZUEVfTk9OX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLFlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfT05fUkVNT1RFX0NPTk5FQ1RJT04iLG5EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9WQUxJRCIsbEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9DT0JBTFRfUEVSU0lTVEVOVF9TRVRUSU5HU19URVNUX0lOVkFMSUQiLG1EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9VTkRFRklORUQiLGtEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9ERUZJTkVEIixNRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xBQ1RfVEhSRVNIT0xEX0VYQ0VFREVEIiwKcUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1VORF9UUklQX0hBTkRMSU5HX09OX1JFTU9URV9DT05ORUNUSU9OIixHRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfU1dJVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT05fQkVGT1JFX0FQUF9SRUxPQUQiLEZEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hFRF9PTl9SRU1PVEVfQ09OTkVDVElPTl9BRlRFUl9BUFBfUkVMT0FEIix1RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19JTkVMSUdJQkxFIixCRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfTUlEX1JPTExfVEhSRVNIT0xEX1JFQUNIRUQiLHlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfUEVORElORyIsCnhEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfQUNUSVZBVEVEIix2RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19NMl9FTElHSUJMRSIsbkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX0xBTkRTQ0FQRSIsb0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX1BPUlRSQUlUIixzRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQkVEU19GQUNFT0ZGX1VJX0VWRU5UIix6RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VYUF9DT0JBTFRfSFRUUDNfQ09ORklHX1JFQ0VJVkVEIixyRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VMSUdJQkxFX1RPX1NVUFBSRVNTX1RSQU5TUE9SVF9DT05UUk9MU19CVVRUT05TIiwKSEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VU0VSX0hBU19USEVBVEVSX01PREVfQ09PS0lFX0VOQUJMRUQiLHFEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRE9DVU1FTlRfUElDVFVSRV9JTl9QSUNUVVJFX1NVUFBPUlRFRCIsdEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSE9SVFNfTk9OX0RFRkFVTFRfQVNQRUNUX1JBVElPIixiRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BMQVlFUl9JTl9TUVVFRVpFQkFDSyIsTkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9MSVZFX0NSRUFUT1JfQVJfR0lGVF9SRUNFSVZFRCIsbUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVRVUk5FRF9UT19WSURFT19BRlRFUl9GQUlMRURfQVRURU1QVF9UT19CQUNLR1JPVU5EIixPRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX0VOVEVSX0FVVE9fWk9PTSIsClpEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUEFTU0lWRV9JTl9DT05UUk9MIixhRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BBU1NJVkVfSU5fVFJFQVRNRU5UIixwRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RJU0FCTEVfUExBWUVSX09QRU5fT05fRlVMTFNDUkVFTiIsVEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfUkVDT05ORUNUX1dJVEhfUkVUUlkiLHZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0lOR0xFX0NPTFVNTl9HUklEX1RSSUdHRVJFRCIsUEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfQ09OTkVDVElPTl9USU1FT1VUIixPRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xJVkVfR0hPU1RfTE9BRElOR19FTElHSUJMRSIseEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVFJFQU1FRF9HRVRfV0FUQ0hfU1VQUE9SVEVEIiwKS0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XRUJWSUVXX0NPTlRBSU5FUiIsUEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9FTlRFUl9QSVAiLGVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTF9FTElHSUJMRSIsVkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX0JST0FEIixYRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX09GRkxJTkVfUkVDT1ZFUllfVU5QTEFZQUJMRSIsV0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX1NUUklDVCIsS0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JT1NfU0hPUlRfT1JJRU5UQVRJT05fQ0hBTkdFIixDRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfUExBWUVSX0VSUk9SX09WRVJMQVlfVFJJR0dFUkVEIiwKc0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSEFERVJfTElHSFRfRU5BQkxFRCIsSUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUWV9NSVNNQVRDSF9ERVRFQ1RFRCIsbEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fU0hPUlRTX1RSSUdHRVJFRCIsQkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9HUldTX0NVU1RPTV9SRVRSWV9DQUxMRUQiLFNEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfVE9LRU5fTUlTTUFUQ0giLFJEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfUEFZTE9BRF9UT0tFTl9NSVNTSU5HIixRRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX01EWF9NT0JJTEVfVU5MT0NLX0dBVEVfVE9LRU5fTUlTU0lORyIsClVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTVVTSUNfT0ZGTElORV9IT01FX1NNQVJUX0RPV05MT0FEU19QUk9NT19DSEVDSyIsTEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JUEFEX0RFU0tUT1BfTUFUQ0gifTt2YXIgZHdhPW5ldyBfLkkoInN1YnNjcmliZUVuZHBvaW50Iik7dmFyIEIyPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGAke2F9LCBlcnJvckNvZGU9JHtifWApO3RoaXMuZXJyb3JDb2RlPWI7dGhpcy5uYW1lPSJQcm9taXNlQWpheEVycm9yIn19LHR0YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBEMj1jbGFzc3tjb25zdHJ1Y3RvcihhPW51bGwpe3RoaXMudj1hO3RoaXMuaj0wO3RoaXMubz1udWxsfXRoZW4oYSxiLGMpe3JldHVybiB0aGlzLnY/dGhpcy52LnRoZW4oYSxiLGMpOnRoaXMuaj09PTEmJmE/KGE9YS5jYWxsKGMsdGhpcy5vKSkmJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iP2E6RjIoYSk6dGhpcy5qPT09MiYmYj8oYT1iLmNhbGwoYyx0aGlzLm8pKSYmdHlwZW9mIGEudGhlbj09PSJmdW5jdGlvbiI/YTpFMihhKTp0aGlzfWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT0yfX07Xy55ZihEMik7dmFyIE0yPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLm1lc3NhZ2V8fGEuZGVzY3JpcHRpb258fGEubmFtZSk7dGhpcy5pc01pc3Npbmc9YSBpbnN0YW5jZW9mIEsyO3RoaXMuaXNUaW1lb3V0PWEgaW5zdGFuY2VvZiBCMiYmYS5lcnJvckNvZGU9PSJuZXQudGltZW91dCI7dGhpcy5pc0NhbmNlbGVkPWEgaW5zdGFuY2VvZiBfLlBmfX07TTIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpRXJyb3IiO3ZhciBLMj1jbGFzcyBleHRlbmRzIF8uTGF7Y29uc3RydWN0b3IoKXtzdXBlcigiQmlzY290dGkgSUQgaXMgbWlzc2luZyBmcm9tIHNlcnZlciIpfX07SzIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpTWlzc2luZ0Vycm9yIjt2YXIgc3RhPXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHRpbWVvdXQ6NUUzLHdpdGhDcmVkZW50aWFsczohMH0sSDI9bnVsbDt2YXIgV3RhPVsiYXR0L2dldCJdLGV3YT1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLGZ3YT1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0scTU9WyJmZWVkYmFjayJdLGd3YT1bIm5vdGlmaWNhdGlvbi9tb2RpZnlfY2hhbm5lbF9wcmVmZXJlbmNlIl0saHdhPVsiYnJvd3NlL2VkaXRfcGxheWxpc3QiXSxpd2E9WyJzdWJzY3JpcHRpb24vc3Vic2NyaWJlIl0sandhPVsic3Vic2NyaXB0aW9uL3Vuc3Vic2NyaWJlIl07dmFyIHI1PWNsYXNze2ZsdXNoKGE9W10sYj0hMSl7aWYoXy54KCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBjIG9mIGEpYT1yMShjKSx0aGlzLmomJl8uS3coYSwyLHRoaXMuaiksYT17c2VyaWFsaXplZEluY3JlbWVudEJhdGNoOl8uc2MoYS52KCkpfSxfLkVwKCJzdHJlYW16SW5jcmVtZW50ZWQiLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6Yn0pfX0sWXZhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0scXVhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt2YXIgYj1uZXcgRXZhO3ZhciBjPW5ldyBEdmE7Yz1CWihjLDEsImJvdGd1YXJkIik7YT1CWihjLDIsYSk7YT1fLkp3KGEpO0ZfKGIsMSxlNSxhKTthJiYhXy5CYyhhKSYmXy5vdyhiLkRhKTt0aGlzLmo9Yn19O3ZhciBuNSxqND1uZXcgTWFwO3ZhciBBdGE9bnVsbDt2YXIgQ3RhPW5ldyBNYXAoW1siZGFyayIsIlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiXSxbImxpZ2h0IiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiXV0pO3ZhciBYMj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihhKXt0aGlzLmouYmljZihhKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhhKXt0aGlzLmouYmNyKGEpfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuai5ibGMoKX19O3ZhciAkMj1bXSxaMj0oMCxfLll4KWBodHRwczovL3N0YXRpYy5kb3VibGVjbGljay5uZXQvaW5zdHJlYW0vYWRfc3RhdHVzLmpzYCxZMj0hMTt2YXIgczU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9fTtbbmV3IHM1KCJiLmZfIiksbmV3IHM1KCJqLnNfIiksbmV3IHM1KCJyLnNfIiksbmV3IHM1KCJlLmhfIiksbmV3IHM1KCJpLnNfIiksbmV3IHM1KCJzLnRfIiksbmV3IHM1KCJwLmhfIiksbmV3IHM1KCJzLmlfIiksbmV3IHM1KCJmLmlfIiksbmV3IHM1KCJhLmJfIiksbmV3IHM1KCJhLm9fIiksbmV3IHM1KCJnLm9fIiksbmV3IHM1KCJwLmlfIiksbmV3IHM1KCJwLm1fIiksbmV3IHM1KCJuLmtfIiksbmV3IHM1KCJpLmZfIiksbmV3IHM1KCJhLnNfIiksbmV3IHM1KCJtLmNfIiksbmV3IHM1KCJuLmhfIiksbmV3IHM1KCJvLnBfIiksbmV3IHM1KCJtLnBfIiksbmV3IHM1KCJvLmFfIiksbmV3IHM1KCJkLnBfIiksbmV3IHM1KCJlLmlfIildLnJlZHVjZSgoYSxiKT0+e2FbYi5qXT1iO3JldHVybiBhfSx7fSk7dmFyIFA0PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm5ldHdvcms9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLks9Yzt0aGlzLnY9MDt0aGlzLmo9bnVsbDt0aGlzLm89bmV3IFp2YTtiLnpzP2IzKHRoaXMsSXRhKHRoaXMpKTpiLnByZWxvYWQmJmIzKHRoaXMsbmV3IFByb21pc2UoZD0+e18uWWooKCk9PntkKGUzKHRoaXMpKX0sMCl9KSl9YXN5bmMgRCgpe3JldHVybiEhYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmosbnVsbF0pfWFzeW5jIEIoYSxiLGMpe3RoaXMuaj09PW51bGwmJmIzKHRoaXMsZTModGhpcykpO3ZhciBkPSExLGU9e307cmV0dXJuIFByb21pc2UucmFjZShbKGFzeW5jKCk9Pnt0aGlzLm9wdGlvbnMuUUkmJnRoaXMub3B0aW9ucy56cyYmYXdhaXQgKGF3YWl0IEV0YSgpKT8uY2hlY2tGb3JSZWZyZXNoKCk7dmFyIGY9YXdhaXQgdGhpcy5qO2UuY2hhbGxlbmdlPWYuY2hhbGxlbmdlO2lmKGYudm0pe3ZhciBoPXtjOmYuY2hhbGxlbmdlLGU6YSwuLi5ifTt0cnl7ZD0KITA7bGV0IGs7KGs9YXdhaXQgZi52bS5zbmFwc2hvdCh7S2M6aH0pKT9lLndlYlJlc3BvbnNlPWs6ZS5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe2UuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gZi5CZiYmKGUuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO2E9PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmKGY9Zi5CZixoPXt9LGYuYzZhJiYoaC5yZXBvcnRpbmdTdGF0dXM9U3RyaW5nKE51bWJlcihmLmMpXmEzKCkpKSxmLmM2YiYmKGguYnJvYWRTcGVjdHJ1bURldGVjdGlvblJlc3VsdD1TdHJpbmcoTnVtYmVyKGYuYyleTnVtYmVyKF8udygiQ0FUU1RBVCIsMCkpKSksZS5hZGJsb2NrUmVwb3J0aW5nPWgpO3JldHVybiBlfSkoKSxNdGEoYywoKT0+e3ZhciBmPU9iamVjdC5hc3NpZ24oe30sZSk7ZCYmKGYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTsKcmV0dXJuIGZ9KV0pfWFzeW5jIFJmKGEpe3ZhciBiPXRoaXMuSztpZighYnx8Yi5TYigpKXJldHVybiBmMyh0aGlzLGEpO3gwKCJhdHRfcG5hIik7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLmJmKGIsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57ZjModGhpcyxhKS50aGVuKGMpfSl9KX19O3ZhciBnMz17V0VCX1VOUExVR0dFRDoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT05CT0FSRElORzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT1BTOiJedW5wbHVnZ2VkLyIsV0VCX1VOUExVR0dFRF9QVUJMSUM6Il51bnBsdWdnZWQvIixXRUJfQ1JFQVRPUjoiXmNyZWF0b3IvIixXRUJfS0lEUzoiXmtpZHMvIixXRUJfRVhQRVJJTUVOVFM6Il5leHBlcmltZW50cy8iLFdFQl9NVVNJQzoiXm11c2ljLyIsV0VCX1JFTUlYOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebWFpbl9hcHAvfF5zZnYvIn07dmFyIFl1YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1hc3luYyBSZihhKXt4MCgiYXR0X2ZzciIpO2E9YXdhaXQgWXRhKHRoaXMuaixhKTt4MCgiYXR0X2ZyciIpO3JldHVybiBhfX07dmFyIGkzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj0icGVuZGluZyI7dGhpcy5vPVtdO3RoaXMudj1bXTt0cnl7YSh0aGlzLkIuYmluZCh0aGlzKSx0aGlzLnJlamVjdC5iaW5kKHRoaXMpKX1jYXRjaChiKXt0aGlzLnJlamVjdChiKX19c3RhdGUoKXtyZXR1cm4gdGhpcy5pc0Z1bGZpbGxlZCgpP3tzdGF0ZToiZnVsZmlsbGVkIix2YWx1ZTp0aGlzLnJlc3VsdH06dGhpcy5pc1JlamVjdGVkKCk/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fWlzRnVsZmlsbGVkKCl7cmV0dXJuIHRoaXMuaj09PSJmdWxmaWxsZWQifWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT09InJlamVjdGVkIn1pc1BlbmRpbmcoKXtyZXR1cm4gdGhpcy5qPT09InBlbmRpbmcifUIoYSl7KDAsXy5ibykoYSl8fGozKGEpP2wzKGszKGEpLHRoaXMuQi5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLmo9ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9CmEsbjModGhpcykpfXJlamVjdChhKXt0aGlzLmo9InJlamVjdGVkIjt0aGlzLmVycm9yPWE7bjModGhpcyl9fSxqMz1fLkNjKGE9PigwLF8ucXIpKGEpP2EgaW5zdGFuY2VvZiBpMzohMSk7dmFyIHQ1PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXJ1bihhLGIpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7dmFyIGM9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBkPWEsZT1iLGY9W107Oyl7Zi5wdXNoKFN0cmluZyhkKSk7ZT15aWVsZCpwMyhjLmpbZF0uZXhlY3V0ZShlKSk7aWYoZS5uZXh0U3RhdGU9PT0iRE9ORSIpcmV0dXJuIGYucHVzaCgiRE9ORSIpLGUudmFsdWU7aWYoZS5uZXh0U3RhdGU9PT0iRkFJTEVEIil0aHJvdyBmLnB1c2goYEZBSUxFRCgke2UuZXJyb3IubWVzc2FnZXx8ImVycm9yIn0pYCksZS5lcnJvcjtkPWUubmV4dFN0YXRlO2U9ZS5wYXJhbXN9fSgpfSl9fTt2YXIgdTU9Y2xhc3N7fTt2YXIgdTM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e307aWYodGhpcy5vPV8ucXooKSl7bGV0IGE9Xy5Mai5nZXQoIkNPTlNJU1RFTkNZIix2b2lkIDApO2EmJnIzKHRoaXMse2VuY3J5cHRlZFRva2VuSmFyQ29udGVudHM6YX0pfX1oYW5kbGVSZXNwb25zZShhLGIpe2lmKCFiKXRocm93IEVycm9yKCJLZSIpO2I9Yi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ/LnJlcXVlc3Q/LmNvbnNpc3RlbmN5VG9rZW5KYXJzfHxbXTsoYT1hLnJlc3BvbnNlQ29udGV4dD8uY29uc2lzdGVuY3lUb2tlbkphcikmJnRoaXMucmVwbGFjZShiLGEpfXJlcGxhY2UoYSxiKXtmb3IobGV0IGMgb2YgYSlkZWxldGUgdGhpcy5qW2MuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50c107cjModGhpcyxiKX19O3ZhciBrd2E9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLmpvaW4oIi4iKSx2Mz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMudj0tMTt2YXIgYT1fLncoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1IiYmKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmKGE9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIpKTthJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49YSx0aGlzLm89dGhpcy5qPXZvaWQgMCl9c3RhdGljIGpjKCl7djU9Xy5zYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIik7djV8fCh2NT1uZXcgdjMsXy5yYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIix2NSkpO3JldHVybiB2NX1zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChhKXthLmNsaWVudHx8KGEuY2xpZW50PQp7fSk7aWYodGhpcy5qKWEuY2xpZW50LmxvY2F0aW9uSW5mb3x8KGEuY2xpZW50LmxvY2F0aW9uSW5mbz17fSksYS5jbGllbnQubG9jYXRpb25JbmZvLmxhdGl0dWRlRTc9TWF0aC5mbG9vcih0aGlzLmouY29vcmRzLmxhdGl0dWRlKjFFNyksYS5jbGllbnQubG9jYXRpb25JbmZvLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5qLmNvb3Jkcy5sb25naXR1ZGUqMUU3KSxhLmNsaWVudC5sb2NhdGlvbkluZm8uaG9yaXpvbnRhbEFjY3VyYWN5TWV0ZXJzPU1hdGgucm91bmQodGhpcy5qLmNvb3Jkcy5hY2N1cmFjeSksYS5jbGllbnQubG9jYXRpb25JbmZvLmZvcmNlTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuUmVmcmVzaD0hMDtlbHNlIGlmKHRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4pYS5jbGllbnQubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPXRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW59Z2V0WEdlb0hlYWRlcigpe2lmKHRoaXMubyl7dmFyIGE9CnRoaXMubzt2YXIgYj1NYXRoLmZsb29yKGEuY29vcmRzLmxvbmdpdHVkZSoxRTcpO3ZhciBjPU1hdGguZmxvb3IoYS5jb29yZHMubGF0aXR1ZGUqMUU3KTt2YXIgZD1uZXcgJHZhO2M9Xy5xdyhkLDEsXy5QdyhjKSk7Yj1fLnF3KGMsMixfLlB3KGIpKTtjPW5ldyBid2E7Yz1DWihjLDEsMSk7Yz1DWihjLDIsMTIpO2M9Q1ooYyw5LDgpO2M9Xy5xdyhjLDMseV8oYS50aW1lc3RhbXAqMUUzKSk7YT1fLnF3KGMsNyxwXyhhLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTthPUNaKGEsMjUsMik7YT1fLkt3KGEsNSxiKTthPWB3ICR7Xy5zYyhjd2EoYSksNCl9YH1lbHNlIGE9bnVsbDtyZXR1cm4gYX1oYW5kbGVSZXNwb25zZShhKXthPWEucmVzcG9uc2VDb250ZXh0Py5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW47YSE9PXZvaWQgMCYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPWEsdGhpcy5vPXRoaXMuaj12b2lkIDAsXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8KKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsYSwxNTU1MkUzKTpfLk1qKCJZVF9DTCIsSlNPTi5zdHJpbmdpZnkoe2xvY3RvazphfSksMTU1NTJFMyxrd2EsITApKX1jbGVhckxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbihhKXthPT09IlRWSFRNTDUiPyh0aGlzLmxvY2FsU3RvcmFnZT1zMyh0aGlzKSkmJnRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZSgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKTpfLk5qKCJZVF9DTCIpO3RoaXMuQj12b2lkIDA7dGhpcy52IT09LTEmJihjbGVhclRpbWVvdXQodGhpcy52KSx0aGlzLnY9LTEpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7dGhpcy5vPXRoaXMuaj12b2lkIDB9Z2V0Q3VycmVudFBvc2l0aW9uRnJvbUdlb2xvY2F0aW9uKGEpe2lmKCEobmF2aWdhdG9yJiZuYXZpZ2F0b3IuZ2VvbG9jYXRpb24mJm5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24pKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiTGUiKSk7CnZhciBiPSExLGM9MUU0O18udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihiPSEwLGM9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChkLGUpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmPT57dGhpcy5vPWE/LmFkZFRvSGVhZGVycz9mOnZvaWQgMDt0aGlzLmo9ZjtkKGYpfSxmPT57ZShmKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpiLG1heGltdW1BZ2U6MCx0aW1lb3V0OmN9KX0pfWNyZWF0ZVVucGx1Z2dlZExvY2F0aW9uSW5mbyhhKXt2YXIgYj17fTthPWEuY29vcmRzO2E/LmxhdGl0dWRlJiYoYi5sYXRpdHVkZUU3PU1hdGguZmxvb3IoYS5sYXRpdHVkZSoxRTcpKTthPy5sb25naXR1ZGUmJihiLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IoYS5sb25naXR1ZGUqMUU3KSk7YT8uYWNjdXJhY3kmJihiLmxvY2F0aW9uUmFkaXVzTWV0ZXJzPU1hdGgucm91bmQoYS5hY2N1cmFjeSkpO3JldHVybiBifWNyZWF0ZUxvY2F0aW9uSW5mbyhhKXt2YXIgYj0Ke307YT1hLmNvb3JkczthPy5sYXRpdHVkZSYmKGIubGF0aXR1ZGVFNz1NYXRoLmZsb29yKGEubGF0aXR1ZGUqMUU3KSk7YT8ubG9uZ2l0dWRlJiYoYi5sb25naXR1ZGVFNz1NYXRoLmZsb29yKGEubG9uZ2l0dWRlKjFFNykpO3JldHVybiBifX0sdjU7dmFyIEYzPSJ0b2tlbnMgY29uc2lzdGVuY3kgc2VydmljZV9wYXJhbXMgbXNzIGNsaWVudF9sb2NhdGlvbiBlbnRpdGllcyBhZGJsb2NrX2RldGVjdGlvbiByZXNwb25zZV9yZWNlaXZlZF9jb21tYW5kcyBzdG9yZSBtYW5pZmVzdCBwbGF5ZXJfcHJlbG9hZCBzaG9ydHNfcHJlZmV0Y2ggcmVzb2x2ZV91cmxfcHJlZmV0Y2giLnNwbGl0KCIgIik7dmFyIGx3YT1jbGFzc3tEKGEsYj17fSxjPUEzKXt2YXIgZD17Y29udGV4dDp3MyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMsITEsdGhpcy5CKX07dmFyIGU9dGhpcy5vKGEpO2lmKGUpe3RoaXMuaihkLGUsYik7ZT1gL3lvdXR1YmVpL3YxLyR7aDModGhpcy52KCkpfWA7dmFyIGY9Xy5CKGEuY29tbWFuZE1ldGFkYXRhLF8uencpPy5hcGlVcmw7ZiYmKGU9Zik7ZT1YMChZMChlKSk7Zj17Y29tbWFuZDphLC4uLih2b2lkIDApfTtkPXtpbnB1dDplLHdiOlowKGUpLGlubmVyVHViZVJlcXVlc3Q6ZCxjb25maWc6Zn07ZC5jb25maWcuUmQ/ZC5jb25maWcuUmQuaWRlbnRpdHk9YzpkLmNvbmZpZy5SZD17aWRlbnRpdHk6Y307KGE9dGhpcy5LKGEpKSYmIWQuY29uZmlnLnJlcXVlc3RLZXkmJihkLmNvbmZpZy5yZXF1ZXN0S2V5PWEpO2IuYWJvcnRTaWduYWwmJihkLndiLnNpZ25hbD1iLmFib3J0U2lnbmFsKTtyZXR1cm4gZH1iPW5ldyBfLlhqKCJFcnJvcjogRmFpbGVkIHRvIGNyZWF0ZSBSZXF1ZXN0IGZyb20gQ29tbWFuZC4iLAphKTtfLkdwKGIpfWdldCBCKCl7cmV0dXJuITF9Sygpe319LHc1PWNsYXNzIGV4dGVuZHMgbHdhe0soYSl7cmV0dXJuIF8uQihhLmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucmVxdWVzdEtleT8/dm9pZCAwfX07dmFyIG13YT17R0VUX0RBVEFTWU5DX0lEUzp5MyhjbGFzcyBleHRlbmRzIHc1e0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50Iix3YjpaMCgiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX12KCl7cmV0dXJuW119bygpe31qKCl7fX0pfTt2YXIgVTM9bmV3IF8uVnMoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLEIzPW5ldyBfLlZzKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLEozPW5ldyBfLlZzKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBhdWE9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLHozPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMudj1hO3RoaXMuU2E9Yjt0aGlzLm89Yzt0aGlzLkI9ZDt0aGlzLmo9bmV3IE1hcDthLkhkfHwoYS5IZD17fSk7YS5IZD17Li4ubXdhLC4uLmEuSGR9fVFpKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGMpcmV0dXJuIG0zKGV1YShjLHtjb21tYW5kOmEsZm9ybTpiLGlkZW50aXR5OkEzfSkpLnRoZW4oZT0+ZSwoKT0+e30pO3ZhciBkPVp0YSh0aGlzLAphKTtyZXR1cm4gZD9uZXcgXy5CZihhc3luYyhlLGYpPT57dmFyIGg9KGF3YWl0IGQpLkQoYSxiLEEzKTtoPyhQMihoLmlucHV0KSxmPWgud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMCxmPXRoaXMuby56bj9DMyhoLmNvbmZpZyxmKTphd2FpdCBEMyhoLmNvbmZpZyxmKSxlKEUzKHRoaXMsaCxmKSkpOmYobmV3IF8uWGooIkVycm9yOiBGYWlsZWQgdG8gYnVpbGQgcmVxdWVzdCBmb3IgY29tbWFuZCIsYSkpfSk6Xy5PdChuZXcgXy5YaigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZCIsYSkpfUp3KGEpe3JldHVybiBVdGEoYSx0aGlzLnYpfX07dmFyIHg1PW5ldyBfLlZzKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIHU0PW5ldyBfLlZzKCJFTkRQT0lOVF9NQVAiKTt2YXIgdDQ9bmV3IF8uVnMoIkFVVEhfU0VSVklDRV9UT0tFTiIpO3ZhciBLMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWEueXRSZXF1ZXN0O1AyKGMuaW5wdXQpO3ZhciBkPWMud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMDtpZihiLmouem4pe2xldCBlPV8uUGooe3Nlc3Npb25JbmRleDpjLmNvbmZpZz8uUmQ/LnNlc3Npb25JbmRleH0pO2Q9ey4uLngzKGQpLC4uLmV9fWVsc2UgZD15aWVsZCpwMyhjdWEoYixjLmNvbmZpZyxkKSk7Yy53Yj17Li4uYy53YixoZWFkZXJzOnsuLi4oYy53Yj8uaGVhZGVycz8/e30pLC4uLmR9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczphfX0oKX0pfX07SzNbXy5Mbl09W3Q0XTt2YXIgJDM9bmV3IF8uVnMoIlJFU1BPTlNFX01BQ0hJTkVfUkVHSVNUUllfVE9LRU4iKSxhND1uZXcgXy5WcygiUkVTUE9OU0VfTUFDSElORV9GQUNUT1JZX1RPS0VOIik7dmFyIEwzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuaj1hO3RoaXMubz1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWEueXRSZXF1ZXN0LGU9ZC5jb25maWc/LktBPy5aSztpZihlJiZiJiZiLmhhcyhlKSYmIWQuY29uZmlnPy5LQT8uZGlzYWJsZUNhY2hlKXt2YXIgZj15aWVsZCpwMyhrMyhiLmdldChlKSkpO2lmKGYmJiFmLmlzRXhwaXJlZCgpKXJldHVybiBkPWYuaigpLF8ueCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFmLmlzUHJvY2Vzc2VkKCk/KGY9YygpLGQ9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOmQseXRSZXF1ZXN0OmEueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6YS5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmR9KSksCnlpZWxkKnAzKGszKGIuaihlKSkpLHtuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmR9KTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpkfX1yZXR1cm57bmV4dFN0YXRlOiJMT0NBTF9ST1VURVIiLHBhcmFtczphfX0oKX0pfX07TDNbXy5Mbl09W2E0LF8uSW4obmV3IF8uVnMoIkVQSEVNRVJBTF9TVE9SRV9UT0tFTiIpKV07dmFyIE0zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qLGQ9YS55dFJlcXVlc3QsZT1kPy5pbm5lclR1YmVSZXF1ZXN0Py5jb250ZXh0O2lmKCFlKXJldHVybiBrMyh7bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6YX0pO3ZhciBmPVtdO2lmKGMmJmMubGVuZ3RoPjApZm9yKGxldCBoIG9mIGMpYz1oLkJyKGQpLGMudiYmZi5wdXNoKGMudik7Zm9yKGxldCBoIG9mIGJ8fFtdKWguQnIoZSk7cmV0dXJuIGYubGVuZ3RoPjA/bzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt5aWVsZCpwMyhrMyhQcm9taXNlLmFsbChmKSkpO3JldHVybntuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfX0oKX0pOmszKHtuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfSl9fTtNM1tfLkxuXT1bXy5JbihuZXcgXy5WcygiQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpLF8uSW4obmV3IF8uVnMoIkFTWU5DX0NPTlRFWFRfUFJPQ0VTU09SX01BUCIpKV07dmFyIE4zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLnl0UmVxdWVzdC5jb25maWc/LnJlcXVlc3RLZXk7cmV0dXJuIGMmJmIuaGFzKGMpJiYoYz1iLmdldChjKSxjPXlpZWxkKnAzKGszKGMpKSk/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Y306e25leHRTdGF0ZToiRkVUQ0giLHBhcmFtczphfX0oKX0pfX07TjNbXy5Mbl09W0ozXTt2YXIgTzM9Y2xhc3MgZXh0ZW5kcyB1NXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5vPWE7dGhpcy5qPWJ9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLmosYz10aGlzLm87cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9YS55dFJlcXVlc3QsZT1hLmNodW5rQ2FsbGJhY2ssZj17dHlwZToiUEFHRV9DT05UUkFDVCJ9O2lmKGI/LmNJKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KSl7bGV0IGs9eWllbGQqcDMoazMoYi5PSihkLmlucHV0LGQuaW5uZXJUdWJlUmVxdWVzdCkpKTtpZihrKXtsZXQgbD0hMTt2YXIgaD1mdW5jdGlvbihtLG4pe3JldHVybiBmdW5jdGlvbiooKXt2YXIgcD1jKCk7eWllbGQqcDMoSDMocCx7d2lyZVJlc3BvbnNlOm4seXRSZXF1ZXN0OmQsY2h1bmtDYWxsYmFjazplLHJlc3BvbnNlUGF5bG9hZDpmfSkpO2w9ITB9KCl9O2sucGxheWVyUmVzcG9uc2UmJih5aWVsZCpoKGsucGxheWVyUmVzcG9uc2Use3BsYXllclJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2V9KSk7Cmsud2F0Y2hOZXh0UmVzcG9uc2UmJih5aWVsZCpoKGsud2F0Y2hOZXh0UmVzcG9uc2Use3dhdGNoTmV4dFJlc3BvbnNlOmsud2F0Y2hOZXh0UmVzcG9uc2V9KSk7bHx8KGg9YygpLHlpZWxkKnAzKEgzKGgse3dpcmVSZXNwb25zZTprLHl0UmVxdWVzdDpkLGNodW5rQ2FsbGJhY2s6ZSxyZXNwb25zZVBheWxvYWQ6Zn0pKSk7aWYoZSlyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTpmfTtoPWYuY29udGVudHx8Zi5wbGF5ZXJ8fGYuZG47cmV0dXJuIGYudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmaD97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpofTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTprfX19cmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiTmUiKX19KCl9KX19O08zW18uTG5dPVthNCxfLkluKHg1KV07dmFyIHk1PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYix7c3RhdHVzOmMsLi4uW119KTt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1jO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciByND1uZXcgXy5WcygiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFAzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLlNhPWE7dGhpcy5qPWI7dGhpcy52PWM7dGhpcy5vPWR9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLlNhLGM9dGhpcy5qLGQ9dGhpcy52LGU9dGhpcy5vO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBmPWEueXRSZXF1ZXN0LGg9YS5jaHVua0NhbGxiYWNrLGs9Zi5jb25maWc/LnJlcXVlc3RLZXksbD1KU09OLnN0cmluZ2lmeShmLmlubmVyVHViZVJlcXVlc3QpLG09ey4uLmYud2IsYm9keTpmLndiLm1ldGhvZD09PSJQT1NUIj9sOnZvaWQgMH07Zi5jb25maWc/LmtuJiZfLkFxKGYuY29uZmlnLmtuKTt2YXIgbj17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHA9MCxyPXo9PntJMyhkKCkse3dpcmVSZXNwb25zZTp6LHl0UmVxdWVzdDpmLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6bn0scCsrKX07bD0oKT0+aD9iLmZldGNoKGYuaW5wdXQsCm0sZi5jb25maWcscik6Yi5mZXRjaChmLmlucHV0LG0sZi5jb25maWcpO3RyeXt2YXIgdD1lP2UuSksoZixsKTpsKCl9Y2F0Y2goeil7dD1Qcm9taXNlLnJlamVjdCh6KX1rJiZjJiZjLnNldChrLHQpO3RyeXt2YXIgdj15aWVsZCpwMyhrMyh0KSl9Y2F0Y2goeil7cmV0dXJuIF8ueCgid2ViX2VuYWJsZV9yZXRyaWVzIikmJih2PXogaW5zdGFuY2VvZiBUeXBlRXJyb3ImJnoubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giPzE6MCxHMyh2KSk/e25leHRTdGF0ZToiUkVUUlkiLHBhcmFtczp7Li4uYSxlcnJvcjpuZXcgeTUodix6Lm1lc3NhZ2UpLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fX1rJiZjJiZjLmRlbGV0ZShrKTt3MCh2MChmLmlucHV0KSkoKTtmLmNvbmZpZz8ucG4mJl8uQXEoZi5jb25maWcucG4pO2lmKCF2KXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fTtpZih2JiZ0eXBlb2Ygdj09PQoib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodikmJihrPXYsay5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJihrPWsuZXJyb3JNZXRhZGF0YS5zdGF0dXMsdD1rPT09NTAzfHxrPT09NTA0fHxrPT09NDI5PzI6az49NDAwJiZrPDUwMHx8az49NTAwPzM6MCxHMyh0KSYmXy54KCJ3ZWJfZW5hYmxlX3JldHJpZXMiKSkpKXJldHVybntuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLmEsZXJyb3I6bmV3IHk1KHQsYEhUVFAgU3RhdHVzICR7a31gLGspLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OyFoJiZ2JiYoaz1kKCksaz15aWVsZCpwMyhJMyhrLHt3aXJlUmVzcG9uc2U6dix5dFJlcXVlc3Q6ZixyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifX0pKSx0PWsuY29udGVudHx8ay5wbGF5ZXJ8fGsuZG4say50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZ0JiYodj10KSk7az12O2lmKEFycmF5LmlzQXJyYXkodikpaWYodj12LmZpbHRlcih6PT4hKHoucGxheWVyUmVzcG9uc2V8fAp6LndhdGNoTmV4dFJlc3BvbnNlfHx6KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLHYubGVuZ3RoPT09MSlrPXZbMF07ZWxzZSBpZih2Lmxlbmd0aD4xKWs9di5maW5kKHo9Pnoud2F0Y2hOZXh0UmVzcG9uc2UpfHx2WzBdO2Vsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiT2UiKX07cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aCYmIV8ueCgid2ViX25tX2ZldGNoX2NodW5rX2NhbGxiYWNrX2tzIik/bjprfX0oKX0pfX07UDNbXy5Mbl09W3I0LEozLGE0LF8uSW4obmV3IF8uVnMoIlJFUVVFU1RfU0VRVUVOQ0lORyIpKV07dmFyIFEzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5qLGM9dGhpcy5vLGQ9YS55dFJlcXVlc3Q7cmV0dXJuIGI/LlBLKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KT9vMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBlPXlpZWxkKnAzKGszKGIuUEooZC5pbnB1dCxkLmlubmVyVHViZVJlcXVlc3QpKSksZj1jKCk7aWYoZS5wbGF5ZXJSZXNwb25zZSYmZS53YXRjaE5leHRSZXNwb25zZSl7dmFyIGg9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTplLnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZS5wbGF5ZXJSZXNwb25zZX0pKTtoPXlpZWxkKnAzKEgzKGYsCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOmUud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDphLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTplLndhdGNoTmV4dFJlc3BvbnNlfSkpfWVsc2UgaD15aWVsZCpwMyhIMyhmLHt3aXJlUmVzcG9uc2U6ZSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZX0pKTtmPWguY29udGVudHx8aC5wbGF5ZXJ8fGguZG47aC50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZmJiYoZT1mKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTplfX0oKX0pOmszKHtuZXh0U3RhdGU6IkNPTlRFWFQiLHBhcmFtczphfSl9fTtRM1tfLkxuXT1bYTQsXy5Jbih4NSldO3ZhciBSMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3RyeXt2YXIgYz15aWVsZCpwMyhkdWEoYixhLmNvbW1hbmQsISFhLmNodW5rQ2FsbGJhY2spKX1jYXRjaChkKXtyZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOmR9fXJldHVybihjPWMuRChhLmNvbW1hbmQsYS5mb3JtLGEuaWRlbnRpdHkpKT97bmV4dFN0YXRlOiJDQUNIRSIscGFyYW1zOnt5dFJlcXVlc3Q6YyxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFja319OntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIlBlIil9fSgpfSl9fTtSM1tfLkxuXT1bdTRdO3ZhciBTMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6ZCxjb25maWc6ZT17UmQ6e2lkZW50aXR5OkEzfX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTpmPSEwLGNodW5rQ2FsbGJhY2s6aH09YTtiLmNvbnRleHR8fChiLmNvbnRleHQ9dzMoZCxmKSk7dmFyIGs9WDAoWTAoYykpO3JldHVybntuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDp7aW5wdXQ6ayx3YjpaMChrKSxpbm5lclR1YmVSZXF1ZXN0OmIsY29uZmlnOmV9LGNodW5rQ2FsbGJhY2s6aH19fSgpfSl9fTt2YXIgVjM9Y2xhc3MgZXh0ZW5kcyB0NXt9O1YzW18uTG5dPVtVM107dmFyIFQzPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLnl0UmVxdWVzdCxjPWEuZXJyb3IsZD1hLmF0dGVtcHQsZT1hLmNodW5rQ2FsbGJhY2ssZj1iLmNvbmZpZz8uREs7aWYoIShmJiZjIGluc3RhbmNlb2YgeTUmJkczKGMudHlwZSkpfHxkPihmLm1heFJldHJpZXM/PzApKXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZX19O3ZhciBoPShjPWYuWEgpP2MuY0ooZCk6LTE7aD09PS0xJiYoaD0xRTMpO2YuQ3khPT12b2lkIDAmJihoPU1hdGgubWluKGgsZi5DeSkpO3lpZWxkKnAzKGszKG5ldyBQcm9taXNlKGs9PntfLk50KGssaCl9KSkpO3JldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZSxhdHRlbXB0OmR9fX0oKX0pfX07dmFyIFczPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLmNodW5rQ2FsbGJhY2ssYz1hLnJlc3BvbnNlUGF5bG9hZCxkPWEud2lyZVJlc3BvbnNlO2ImJihiKGMpLCJwbGF5ZXJSZXNwb25zZSJpbiBkJiZkLnBsYXllclJlc3BvbnNlJiYoXy5DaygpLChiPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpKSYmYig0KSkpO3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmN9fSgpfSl9fTt2YXIgbndhPVsidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5Ccm93c2VSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGxheWVyUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBhbmVsUmVzcG9uc2UiXSxYMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGI9YS5vbmVQbGF0Zm9ybUVycm9yO2lmKGImJiJkZXRhaWxzImluIGImJmIuZGV0YWlscyl7Yj1iLmRldGFpbHM7Zm9yKGxldCBjIG9mIGIpaWYoKGI9Y1siQHR5cGUiXSkmJm53YS5pbmRleE9mKGIpPi0xKXJldHVybiBkZWxldGUgY1siQHR5cGUiXSx7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIiwKcGFyYW1zOnsuLi5hLGV4dHJhY3RlZFJlc3BvbnNlOmN9fX1yZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOkVycm9yKCJTZSIpfX0oKX0pfX07dmFyIFkzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLmV4dHJhY3RlZFJlc3BvbnNlLGQ9YS55dFJlcXVlc3QsZT1hLnJlc3BvbnNlUGF5bG9hZCxmPWEud2lyZVJlc3BvbnNlO2lmKGMmJiEoImNvZGUiaW4gY3x8ImVycm9yImluIGMpJiYhYy5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2YgRjMpYltoXSYmYltoXS5oYW5kbGVSZXNwb25zZShjLGQpO2Yud2F0Y2hOZXh0UmVzcG9uc2V8fGYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2Yud2F0Y2hOZXh0UmVzcG9uc2U/ZS5jb250ZW50PWYud2F0Y2hOZXh0UmVzcG9uc2U6ZS5jb250ZW50PWYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmYucGxheWVyUmVzcG9uc2U/ZS5wbGF5ZXI9Zi5wbGF5ZXJSZXNwb25zZTpmLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CmUuZG49Zi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmUuY29udGVudD1mO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczphfX0oKX0pfX07WTNbXy5Mbl09W18uSnldO3ZhciBiND1jbGFzcyBleHRlbmRzIHQ1e307YjRbXy5Mbl09WyQzXTt2YXIgWjM9Y2xhc3MgZXh0ZW5kcyB1NXtleGVjdXRlKGEpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPWEud2lyZVJlc3BvbnNlLGM7QXJyYXkuaXNBcnJheShiKT9jPWJbMF06dHlwZW9mIGI9PT0ib2JqZWN0IiYmYiE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gYnx8IndhdGNoTmV4dFJlc3BvbnNlImluIGJ8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gYnx8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gYik/Yz1iLnBsYXllclJlc3BvbnNlfHxiLndhdGNoTmV4dFJlc3BvbnNlfHxiLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Yi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmM9YjtyZXR1cm4gYyYmImVycm9yImluIGM/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4uYSxvbmVQbGF0Zm9ybUVycm9yOmMuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLmEsZXh0cmFjdGVkUmVzcG9uc2U6Y319fSgpfSl9fTt2YXIgb3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBpd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxkd2EpfHx2b2lkIDB9aihhLGIsYz17fSl7Yi5jaGFubmVsSWRzJiYoYS5jaGFubmVsSWRzPWIuY2hhbm5lbElkcyk7Yi5zaWxvTmFtZSYmKGEuc2lsb05hbWU9Yi5zaWxvTmFtZSk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yy5ib3RndWFyZFJlc3BvbnNlJiYoYS5ib3RndWFyZFJlc3BvbnNlPWMuYm90Z3VhcmRSZXNwb25zZSk7Yy5mZWF0dXJlJiYoYS5jbGllbnRGZWF0dXJlPWMuZmVhdHVyZSl9fTt2YXIgcHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBqd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLkR5KXx8dm9pZCAwfWooYSxiKXtiLmNoYW5uZWxJZHMmJihhLmNoYW5uZWxJZHM9Yi5jaGFubmVsSWRzKTtiLnNpbG9OYW1lJiYoYS5zaWxvTmFtZT1iLnNpbG9OYW1lKTtiLnBhcmFtcyYmKGEucGFyYW1zPWIucGFyYW1zKX19O3ZhciB6NT1jbGFzcyBleHRlbmRzIHc1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5JPWF9digpe3JldHVybiBld2F9byhhKXtyZXR1cm4gXy5CKGEsXy5aeil8fF8uQihhLF8uTWFhKXx8Xy5CKGEsXy5Zeil9aihhLGIpe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtiLmNsaWVudFBhcmFtSWRlbnRpZmllciYmdGhpcy5JPy5qKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKGEuY2xpZW50UGFyYW1zPXRoaXMuSS5vKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSl9fTt6NVtfLkxuXT1bbmV3IF8uVnMoIlNIQVJFX0NMSUVOVF9QQVJBTVNfUFJPVklERVJfVE9LRU4iKV07dmFyIHF3YT1jbGFzcyBleHRlbmRzIHc1e3YoKXtyZXR1cm4gcTV9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLlV6KXx8dm9pZCAwfWooYSxiLGMpe2EuZmVlZGJhY2tUb2tlbnM9W107Yi5mZWVkYmFja1Rva2VuJiZhLmZlZWRiYWNrVG9rZW5zLnB1c2goYi5mZWVkYmFja1Rva2VuKTtpZihiPWIuY3BufHxjLmNwbilhLmZlZWRiYWNrQ29udGV4dD17Y3BuOmJ9O2EuaXNGZWVkYmFja1Rva2VuVW5lbmNyeXB0ZWQ9ISFjLmlzX2ZlZWRiYWNrX3Rva2VuX3VuZW5jcnlwdGVkO2Euc2hvdWxkTWVyZ2U9ITE7Yy5leHRyYV9mZWVkYmFja190b2tlbnMmJihhLnNob3VsZE1lcmdlPSEwLGEuZmVlZGJhY2tUb2tlbnM9YS5mZWVkYmFja1Rva2Vucy5jb25jYXQoYy5leHRyYV9mZWVkYmFja190b2tlbnMpKX19O3ZhciByd2E9Y2xhc3MgZXh0ZW5kcyB3NXt2KCl7cmV0dXJuIHE1fW8oYSl7cmV0dXJuIF8uQihhLF8uQ3kpfWdldCBCKCl7cmV0dXJuITB9aihhLGIpe2IudW5kb1Rva2VuJiYoYS5mZWVkYmFja1Rva2Vucz1bYi51bmRvVG9rZW5dKTtiLmlzVW5kb1Rva2VuVW5lbmNyeXB0ZWQmJihhLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPWIuaXNVbmRvVG9rZW5VbmVuY3J5cHRlZCl9fTt2YXIgc3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBnd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5CeSl8fHZvaWQgMH1qKGEsYil7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5zZWNvbmRhcnlQYXJhbXMmJihhLnNlY29uZGFyeVBhcmFtcz1iLnNlY29uZGFyeVBhcmFtcyl9fTt2YXIgdHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBod2F9byhhKXtyZXR1cm4gXy5CKGEsXy5Beil8fHZvaWQgMH1qKGEsYil7Yi5hY3Rpb25zJiYoYS5hY3Rpb25zPWIuYWN0aW9ucyk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5wbGF5bGlzdElkJiYoYS5wbGF5bGlzdElkPWIucGxheWxpc3RJZCl9fTt2YXIgdXdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBmd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5OYWEpfWooYSxiLGM9e30pe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtjLmluY2x1ZGVMaXN0SWQmJihhLmluY2x1ZGVMaXN0SWQ9ITApfX07dmFyIHZ3YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5yZXF1ZXN0S2V5PWE7dGhpcy5CPWI7dGhpcy5vPWM7dGhpcy5EPSgpPT5uZXcgWE1MSHR0cFJlcXVlc3Q7dGhpcy5qPXZvaWQgMDt0aGlzLnY9W119Z2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKXtyZXR1cm4gdGhpcy5vfX07dmFyIG91YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj0wO3RoaXMuWGc9Yj8uWGc/P3dpbmRvdzt0aGlzLnltPWI/LnltO3RoaXMucmVxdWVzdEtleT1iPy5yZXF1ZXN0S2V5Pz8oXy50aigicGFyX2Jpcl9rZXkiKXx8Ik80M3owZHBqaGdYMjBTQ3g0S0FvIik7dGhpcy5Icz1iPy5Icz8/KGQ9Pm5ldyBxMihkKSk7dmFyIGM9Yj8uVkk/PygoZCxlLGYpPT5uZXcgdndhKGQsZSxmKSk7dGhpcy5iZ0NoYWxsZW5nZT1TMihhLmJnQ2hhbGxlbmdlKTt0aGlzLnR0bFNlY29uZHM9VTIoVDIoYS5jaGFsbGVuZ2V8fCIiKSk7dGhpcy5vZD1jKHRoaXMucmVxdWVzdEtleSxfLngoInBhcl9hdF9lcCIpP1sid3d3LnlvdXR1YmUuY29tIiwibS55b3V0dWJlLmNvbSJdLmluY2x1ZGVzKF8udS5sb2NhdGlvbi5ob3N0bmFtZSk/Ii9hcGkvam5uL3YxL0dlbmVyYXRlSVQiOiJodHRwczovL2pubi1wYS5nb29nbGVhcGlzLmNvbS8kcnBjL2dvb2dsZS5pbnRlcm5hbC53YWEudjEuV2FhL0dlbmVyYXRlSVQiOgoiaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20vJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixhKTt0aGlzLkpzPWI/LkpzO251YSh0aGlzLm9kKTt0aGlzLkdyPWI/LkdyPz8oZD0+e18uU2UodGhpcy5YZy5kb2N1bWVudCwidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pnt0aGlzLlhnLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIiYmZCgpfSl9KX12KCl7RGF0ZS5ub3coKT50aGlzLmordGhpcy50dGxTZWNvbmRzKjFFMyYmdGhpcy52bT8uVSgpfX07dmFyIHV1YT1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSx3d2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy52bT1udWxsO3RoaXMuaj12b2lkIDB9aW5pdGlhbGl6ZShhLGIsYyxkKXt0aGlzLmo9ZDtpZihhLnByb2dyYW0pe3ZhciBlO2Q9YS5pbnRlcnByZXRlclVybD8/bnVsbDthLmludGVycHJldGVyU2FmZVNjcmlwdD9lPVlfKGEuaW50ZXJwcmV0ZXJTYWZlU2NyaXB0KTplPWEuaW50ZXJwcmV0ZXJTY3JpcHQ/P251bGw7YS5pbnRlcnByZXRlclNhZmVVcmwmJihkPV8uaHcoYS5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO3R1YSh0aGlzLGUsZCxhLnByb2dyYW0sYixjKX1lbHNlIF8uSXAoRXJyb3IoIlVlIikpfWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy52KCl9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PQoyfWludm9rZShhPXt9KXtyZXR1cm4gdGhpcy52KCk/dGhpcy5CKHtLYzphfSk6bnVsbH1kaXNwb3NlKCl7dGhpcy5vKG51bGwpO3RoaXMuUyg4KX12KCl7cmV0dXJuISF0aGlzLnZtfUIoYSl7cmV0dXJuIHRoaXMudm0uWHIoYSl9byhhKXtfLlpkKHRoaXMudm0pO3RoaXMudm09YX1TKGEpe3RoaXMuc3RhdGU9YX19O3ZhciB4d2E9Y2xhc3MgZXh0ZW5kcyB3d2F7byhhKXttNCgpPy5iZ3ZtYSgpO2lmKGEpe2xldCBiPXtiZ3ZtYTphLmRpc3Bvc2UuYmluZChhKSxiZ3ZtYjphLnNuYXBzaG90LmJpbmQoYSksYmd2bWM6YS5Yci5iaW5kKGEpfTtfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLGIpO18uRmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsYz0+YS5zbmFwc2hvdChjKSl9ZWxzZSBfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLF8ucmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9digpe3JldHVybiEhbTQoKX1CKGEpe3JldHVybiBtNCgpLmJndm1jKGEpfX07dmFyIHl3YT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoKXtzdXBlcigiZG9jdW1lbnRfYWN0aXZlIik7dGhpcy52PTEwO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF9hY3RpdmUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIsYWN0aW9uOnRoaXMuWX0se2Zyb206ImRvY3VtZW50X2FjdGl2ZSIsdG86ImRvY3VtZW50X2Rpc3Bvc2VkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZmx1c2hfbG9ncyIsYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJmbHVzaF9sb2dzIiwKYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOigpPT57fX0se2Zyb206ImZsdXNoX2xvZ3MiLHRvOiJkb2N1bWVudF9hY3RpdmUiLGFjdGlvbjp0aGlzLkR9XTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLGE9Pnt0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIix7ZXZlbnQ6YX0pO2EucGVyc2lzdGVkPT09ITEmJih0aGlzLm89bmV3IE1hcCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIse2V2ZW50OmF9KX0pfVkoYSxiKXtpZighdGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiKSYmKGEoYj8uZXZlbnQpLGI/LmV2ZW50Py5kZWZhdWx0UHJldmVudGVkfHwKYj8uZXZlbnQ/LnJldHVyblZhbHVlKSl7Yi5ldmVudC5yZXR1cm5WYWx1ZXx8KGIuZXZlbnQucmV0dXJuVmFsdWU9ITApO2IuZXZlbnQuZGVmYXVsdFByZXZlbnRlZHx8Yi5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIik7cmV0dXJufXRoaXMuby5zZXQoImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIiwhMCk7dGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWQiKT90aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKTp0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIil9SyhhLGIpe3RoaXMuby5nZXQoImRvY3VtZW50X2Rpc3Bvc2VkIik/dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9hY3RpdmUiKTooYShiPy5ldmVudCksdGhpcy5vLnNldCgiZG9jdW1lbnRfZGlzcG9zZWQiLCEwKSx0aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKSl9SShhLGIpe2EoYj8uZXZlbnQpO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIil9RCgpe3RoaXMubz0KbmV3IE1hcH19O3ZhciB6d2E9Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoImRvY3VtZW50X3Zpc2liaWxpdHlfdW5rbm93biIpO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF92aXNpYmlsaXR5X3Vua25vd24iLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfYmFja2dyb3VuZGVkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X3Zpc2libGUiLHRvOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLAphY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X3Zpc2libGUiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfaGlkZGVuIix0bzoiZG9jdW1lbnRfdmlzaWJsZSIsYWN0aW9uOnRoaXMuRH0se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2JhY2tncm91bmRlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X2JhY2tncm91bmRlZCIsdG86ImRvY3VtZW50X2hpZGRlbiIsCmFjdGlvbjp0aGlzLm99LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfV07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsYT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIj90aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X3Zpc2libGUiLHtldmVudDphfSk6dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9oaWRkZW4iLHtldmVudDphfSl9KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHtldmVudDphfSl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLAphPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHtldmVudDphfSl9KSl9RChhLGIpe2EoYj8uZXZlbnQpO18ueCgidmlzaWJpbGl0eV9saWZlY3ljbGVzX2R5bmFtaWNfYmFja2dyb3VuZGluZyIpJiZ0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2ZvcmVncm91bmRlZCIpfW8oYSxiKXthKGI/LmV2ZW50KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmdGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiKX1LKGEsYil7YShiPy5ldmVudCl9SShhLGIpe2EoYj8uZXZlbnQpfX07dmFyIEF3YT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj1uZXcgeXdhO3RoaXMuRD1uZXcgendhfWluc3RhbGwoLi4uYSl7YS5mb3JFYWNoKGI9Pnt0aGlzLkIuaW5zdGFsbChiKX0pO2EuZm9yRWFjaChiPT57dGhpcy5ELmluc3RhbGwoYil9KX19O3ZhciBPND1jbGFzcyBleHRlbmRzIEF3YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5qfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmdGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5vfX0pO3RoaXMuaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6dGhpcy52fX0pO18ueCgid2ViX2xvZ19jZmdfY2VlX2tzIil8fF8uWWoodnVhKX12KCl7Xy5FcCgiZmluYWxQYXlsb2FkIix7Y3NuOl8uaXEoKX0pfWooKXtfLm15KF8uRXkpO18uRnkhPW51bGwmJl8uRnkuZmx1c2goKX1vKCl7Xy5reChfLmh4KCkpfX07dmFyIG40PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEsYik7dGhpcy5lcnJvclR5cGU9MTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgczQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YXN5bmMgZmV0Y2goYSxiLGMsZCl7YT13dWEodGhpcyxhLGIpO3RyeXtsZXQgZT1hd2FpdCBmZXRjaChhKTtpZihkJiZlLm9rJiZlLmJvZHkmJnR5cGVvZiBlLmJvZHkuZ2V0UmVhZGVyPT09ImZ1bmN0aW9uIil7bGV0IGY9ZS5jbG9uZSgpLmJvZHkuZ2V0UmVhZGVyKCkse3ZhbHVlOmh9PWF3YWl0IGYucmVhZCgpO2YuY2FuY2VsKCkuY2F0Y2goKCk9Pnt9KTtpZihoJiZoWzBdPT09OTEpe2xldCBrPWUuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBvNCh0aGlzLGssbmV3IHoyLFtdLGQpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZShlLGMpfWNhdGNoKGUpe2lmKF8uSXAoZSksYz8uUHYmJmUgaW5zdGFuY2VvZiBuNCYmZS5lcnJvclR5cGU9PT0xKXRocm93IGU7fX1oYW5kbGVSZXNwb25zZShhLGIpe3ZhciBjPWEudGV4dCgpLnRoZW4oZD0+e2lmKGI/Lmd5JiYKYS5vaylyZXR1cm4gXy5YeChiLmd5LGQpO2Q9ZC5yZXBsYWNlKCIpXX0nIiwiIik7aWYoYj8uUHYmJmQpdHJ5e3ZhciBlPUpTT04ucGFyc2UoZCl9Y2F0Y2goZil7dGhyb3cgbmV3IG40KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiBlPz9KU09OLnBhcnNlKGQpfSk7YS5yZWRpcmVjdGVkfHxhLm9rP3RoaXMuaiYmdGhpcy5qLnN1Y2Nlc3MoKToodGhpcy5qJiZ0aGlzLmouU0koKSxjPWMudGhlbihkPT57Xy5JcChuZXcgXy5YaigiRXJyb3I6IEFQSSBmZXRjaCBmYWlsZWQiLGEuc3RhdHVzLGEudXJsLGQpKTtyZXR1cm57Li4uZCxlcnJvck1ldGFkYXRhOntzdGF0dXM6YS5zdGF0dXN9fX0pKTtyZXR1cm4gY319O3M0W18uTG5dPVtfLkluKG5ldyBfLlZzKCJORVRXT1JLX1NMSV9UT0tFTiIpKV07dmFyIHA0PWNsYXNze3N0YXRpYyBqYygpe3ZhciBhPV8uc2EoInl0Z2xvYmFsLnN0b3JhZ2VfIik7YXx8KGE9bmV3IHA0LF8ucmEoInl0Z2xvYmFsLnN0b3JhZ2VfIixhKSk7cmV0dXJuIGF9YXN5bmMgZXN0aW1hdGUoKXt2YXIgYT1uYXZpZ2F0b3I7aWYoYS5zdG9yYWdlPy5lc3RpbWF0ZSlyZXR1cm4gYS5zdG9yYWdlLmVzdGltYXRlKCk7aWYoYS53ZWJraXRUZW1wb3JhcnlTdG9yYWdlPy5xdWVyeVVzYWdlQW5kUXVvdGEpcmV0dXJuIHh1YSgpfWFzeW5jIHBlcnNpc3QoKXt2YXIgYT1uYXZpZ2F0b3I7cmV0dXJuIGEuc3RvcmFnZT8ucGVyc2lzdD9hd2FpdCBhLnN0b3JhZ2U/LnBlcnNpc3QoKT8iUEVSU0lTVEVEX1NUQVRFX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX1NVUFBPUlRFRCJ9fTtfLnJhKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixwNCk7dmFyIEFyYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaGFuZGxlRXJyb3I9YTt0aGlzLmo9Yjt0aGlzLm89ITE7c2VsZi5kb2N1bWVudD09PXZvaWQgMHx8c2VsZi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgpPT57dGhpcy5vPSEwfSk7dGhpcy52PU1hdGgucmFuZG9tKCk8PS4yfUpiKGEpe3RoaXMuaGFuZGxlRXJyb3IoYSl9bG0oYSxiKXtzd2l0Y2goYSl7Y2FzZSAiSURCX0RBVEFfQ09SUlVQVEVEIjpfLngoImlkYl9kYXRhX2NvcnJ1cHRlZF9raWxsc3dpdGNoIil8fHRoaXMuaigiaWRiRGF0YUNvcnJ1cHRlZCIsYik7YnJlYWs7Y2FzZSAiSURCX1VORVhQRUNURURMWV9DTE9TRUQiOnRoaXMuaigiaWRiVW5leHBlY3RlZGx5Q2xvc2VkIixiKTticmVhaztjYXNlICJJU19TVVBQT1JURURfQ09NUExFVEVEIjpfLngoImlkYl9pc19zdXBwb3J0ZWRfY29tcGxldGVkX2tpbGxzd2l0Y2giKXx8dGhpcy5qKCJpZGJJc1N1cHBvcnRlZENvbXBsZXRlZCIsYik7YnJlYWs7CmNhc2UgIlFVT1RBX0VYQ0VFREVEIjp5dWEodGhpcyxiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9FTkRFRCI6dGhpcy52JiZNYXRoLnJhbmRvbSgpPD0uMSYmdGhpcy5qKCJpZGJUcmFuc2FjdGlvbkVuZGVkIixiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCI6dGhpcy5qKCJpZGJUcmFuc2FjdGlvbkFib3J0ZWQiLHsuLi5iLGhhc1dpbmRvd1VubG9hZGVkOnRoaXMub30pfX19O3ZhciBBNT0hMTt2YXIgQ3VhPXtGaTp7ZmVlZGJhY2tFbmRwb2ludDp5Myhxd2EpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6eTMoc3dhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDp5Myh0d2EpLHNoYXJlRW50aXR5RW5kcG9pbnQ6eTMoejUpLHN1YnNjcmliZUVuZHBvaW50OnkzKG93YSksdW5kb0ZlZWRiYWNrRW5kcG9pbnQ6eTMocndhKSx1bnN1YnNjcmliZUVuZHBvaW50OnkzKHB3YSksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6eTModXdhKX19O3ZhciBGdWE9bmV3IE1hcCxFdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjLGQsZSl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMud2ViUGxheWVyQ29udGV4dENvbmZpZz1iO3RoaXMuaj1jO3RoaXMuRWo9ZDt0aGlzLnBsYXllclZhcnM9ZTtKdWEodGhpcyl9bGEoKXt0aGlzLmFwaSYmdGhpcy5hcGkuZGVzdHJveSgpO1dfKHRoaXMuY29udGFpbmVyKTtzdXBlci5sYSgpfX07dmFyIEJ3YT17WyJhcGkuaW52YWxpZHBhcmFtIl06MixhdXRoOjE1MCxbImRybS5hdXRoIl06MTUwLFsiaGVhcnRiZWF0Lm5ldCJdOjE1MCxbImhlYXJ0YmVhdC5zZXJ2ZXJlcnJvciJdOjE1MCxbImhlYXJ0YmVhdC5zdG9wIl06MTUwLFsiaHRtbDUudW5zdXBwb3J0ZWRhZHMiXTo1LFsiZm10Lm5vbmVhdmFpbGFibGUiXTo1LFsiZm10LmRlY29kZSJdOjUsWyJmbXQudW5wbGF5YWJsZSJdOjUsWyJodG1sNS5taXNzaW5nYXBpIl06NSxbImh0bWw1LnVuc3VwcG9ydGVkbGl2ZSJdOjUsWyJkcm0udW5hdmFpbGFibGUiXTo1LFsibXJtLmJsb2NrZWQiXToxNTEsWyJlbWJlZGRlci5pZGVudGl0eS5kZW5pZWQiXToxNTIsWyJlbWJlZGRlci5pZGVudGl0eS5taXNzaW5nLnJlZmVycmVyIl06MTUzfTt2YXIgTHVhPW5ldyBTZXQoImVuZFNlY29uZHMgc3RhcnRTZWNvbmRzIG1lZGlhQ29udGVudFVybCBzdWdnZXN0ZWRRdWFsaXR5IHZpZGVvSWQgcmN0IHJjdG4gcGxheW11dGVkIG11dGVkX2F1dG9wbGF5X2R1cmF0aW9uX21vZGUiLnNwbGl0KCIgIikpO3ZhciBXdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7dmFyIGE9TDQsYj1INDtzdXBlcigpO3RoaXMuYXBpPWE7dGhpcy52PXRoaXMuTT0hMTt0aGlzLlU9W107dGhpcy5aPXt9O3RoaXMuQj1bXTt0aGlzLm89W107dGhpcy5oYT0hMTt0aGlzLnNlc3Npb25JZD10aGlzLmo9bnVsbDt0aGlzLnRhcmdldE9yaWdpbj0iKiI7dGhpcy5nYT1fLngoIndlYl9wbGF5ZXJfc3BsaXRfZXZlbnRfYnVzX2lmcmFtZSIpO3RoaXMuST1fLncoIlBPU1RfTUVTU0FHRV9PUklHSU4iKXx8YCR7ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2x9Ly8ke2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfWA7dGhpcy5EPWM9Pnt0aGlzLm9uTWVzc2FnZShjKX07QjUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5EKTtpZihhPV8udygiV0lER0VUX0lEIikpdGhpcy5zZXNzaW9uSWQ9YTtiJiZ0aGlzLkQoYik7QTQodGhpcywib25SZWFkeSIsKCk9Pnt0aGlzLk09ITA7dmFyIGM9dGhpcy5hcGkuZ2V0VmlkZW9EYXRhKCk7CmMuaXNQbGF5YWJsZXx8KHRoaXMuaGE9ITAsdGhpcy5lcnJvckNvZGU9KGM9Yy5lcnJvckNvZGUpP0J3YVtjXXx8NTo1LHRoaXMuc2VuZE1lc3NhZ2UoIm9uRXJyb3IiLE51bWJlcih0aGlzLmVycm9yQ29kZSkpKTtENCh0aGlzKTt0aGlzLmp8fHRoaXMudnx8d2luZG93LnBhcmVudD09PXdpbmRvd3x8IXRoaXMuc2Vzc2lvbklkfHxDNCh0aGlzLHtldmVudDoicmVhZHlUb0xpc3RlbiJ9LHdpbmRvdy5wYXJlbnQpfSk7QTQodGhpcywib25WaWRlb1Byb2dyZXNzIix0aGlzLmZjLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uVm9sdW1lQ2hhbmdlIix0aGlzLlZkLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uQXBpQ2hhbmdlIix0aGlzLm9hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tRdWFsaXR5Q2hhbmdlIix0aGlzLk1hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tSYXRlQ2hhbmdlIix0aGlzLlFhLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uU3RhdGVDaGFuZ2UiLHRoaXMuRWIuYmluZCh0aGlzKSk7CkE0KHRoaXMsIm9uV2ViZ2xTZXR0aW5nc0NoYW5nZWQiLHRoaXMuRmwuYmluZCh0aGlzKSk7QTQodGhpcywib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLHRoaXMueWEuYmluZCh0aGlzKSk7QTQodGhpcywiY2FwdGlvbnNzZXR0aW5nc2NoYW5nZWQiLHRoaXMuRmEuYmluZCh0aGlzKSl9c2VuZE1lc3NhZ2UoYSxiKXthPXtldmVudDphLGluZm86Yj09PXZvaWQgMD9udWxsOmJ9O3RoaXMudj9DNCh0aGlzLGEpOnRoaXMuVS5wdXNoKGEpfUViKGEpe2E9e3BsYXllclN0YXRlOmEsY3VycmVudFRpbWU6dGhpcy5hcGkuZ2V0Q3VycmVudFRpbWUoKSxkdXJhdGlvbjp0aGlzLmFwaS5nZXREdXJhdGlvbigpLHZpZGVvRGF0YTp0aGlzLmFwaS5nZXRWaWRlb0RhdGEoKSx2aWRlb1N0YXJ0Qnl0ZXM6MCx2aWRlb0J5dGVzVG90YWw6dGhpcy5hcGkuZ2V0VmlkZW9CeXRlc1RvdGFsKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCkscGxheWJhY2tRdWFsaXR5OnRoaXMuYXBpLmdldFBsYXliYWNrUXVhbGl0eSgpLAphdmFpbGFibGVRdWFsaXR5TGV2ZWxzOnRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSxjdXJyZW50VGltZUxhc3RVcGRhdGVkXzpEYXRlLm5vdygpLzFFMyxwbGF5YmFja1JhdGU6dGhpcy5hcGkuZ2V0UGxheWJhY2tSYXRlKCksbWVkaWFSZWZlcmVuY2VUaW1lOnRoaXMuYXBpLmdldE1lZGlhUmVmZXJlbmNlVGltZSgpfTt0aGlzLmFwaS5nZXRWaWRlb1VybCYmKGEudmlkZW9Vcmw9dGhpcy5hcGkuZ2V0VmlkZW9VcmwoKSk7dGhpcy5hcGkuZ2V0VmlkZW9Db250ZW50UmVjdCYmKGEudmlkZW9Db250ZW50UmVjdD10aGlzLmFwaS5nZXRWaWRlb0NvbnRlbnRSZWN0KCkpO3RoaXMuYXBpLmdldFByb2dyZXNzU3RhdGUmJihhLnByb2dyZXNzU3RhdGU9dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSgpKTt0aGlzLmFwaS5nZXRQbGF5bGlzdCYmKGEucGxheWxpc3Q9dGhpcy5hcGkuZ2V0UGxheWxpc3QoKSk7dGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCYmKGEucGxheWxpc3RJbmRleD0KdGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCgpKTtFNCh0aGlzLGEpfU1hKGEpe2E9e3BsYXliYWNrUXVhbGl0eTphfTt0aGlzLmFwaS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzJiYoYS5hdmFpbGFibGVRdWFsaXR5TGV2ZWxzPXRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSk7dGhpcy5hcGkuZ2V0UHJlZmVycmVkUXVhbGl0eSYmKGEucHJlZmVycmVkUXVhbGl0eT10aGlzLmFwaS5nZXRQcmVmZXJyZWRRdWFsaXR5KCkpO0U0KHRoaXMsYSl9UWEoYSl7RTQodGhpcyx7cGxheWJhY2tSYXRlOmF9KX1vYSgpe3ZhciBhPXRoaXMuYXBpLmdldE9wdGlvbnMoKSxiPXtuYW1lc3BhY2VzOmF9O2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyl7bGV0IGU9YVtjXSxmPXRoaXMuYXBpLmdldE9wdGlvbnMoZSk7YltlXT17b3B0aW9uczpmfTtmb3IobGV0IGg9MCxrPWYubGVuZ3RoO2g8aztoKyspe2xldCBsPWZbaF0sbT10aGlzLmFwaS5nZXRPcHRpb24oZSxsKTtiW2VdW2xdPQptfX10aGlzLnNlbmRNZXNzYWdlKCJhcGlJbmZvRGVsaXZlcnkiLGIpfVZkKCl7RTQodGhpcyx7bXV0ZWQ6dGhpcy5hcGkuaXNNdXRlZCgpLHZvbHVtZTp0aGlzLmFwaS5nZXRWb2x1bWUoKX0pfWZjKGEpe2E9e2N1cnJlbnRUaW1lOmEsdmlkZW9CeXRlc0xvYWRlZDp0aGlzLmFwaS5nZXRWaWRlb0J5dGVzTG9hZGVkKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCksY3VycmVudFRpbWVMYXN0VXBkYXRlZF86RGF0ZS5ub3coKS8xRTMscGxheWJhY2tSYXRlOnRoaXMuYXBpLmdldFBsYXliYWNrUmF0ZSgpLG1lZGlhUmVmZXJlbmNlVGltZTp0aGlzLmFwaS5nZXRNZWRpYVJlZmVyZW5jZVRpbWUoKX07dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSYmKGEucHJvZ3Jlc3NTdGF0ZT10aGlzLmFwaS5nZXRQcm9ncmVzc1N0YXRlKCkpO0U0KHRoaXMsYSl9RmwoKXtFNCh0aGlzLHtzcGhlcmljYWxQcm9wZXJ0aWVzOnRoaXMuYXBpLmdldFNwaGVyaWNhbFByb3BlcnRpZXMoKX0pfXlhKCl7aWYodGhpcy5hcGkuZ2V0Q2FwdGlvblRyYWNrcyl7bGV0IGE9CntjYXB0aW9uVHJhY2tzOnRoaXMuYXBpLmdldENhcHRpb25UcmFja3MoKX07RTQodGhpcyxhKX19RmEoKXtpZih0aGlzLmFwaS5nZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3Mpe2xldCBhPXtzdWJ0aXRsZXNVc2VyU2V0dGluZ3M6dGhpcy5hcGkuZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKCl9O0U0KHRoaXMsYSl9fW9uTWVzc2FnZShhKXtpZighKHRoaXMuSSE9PSIqIiYmYS5vcmlnaW4hPT10aGlzLkl8fHRoaXMuaiYmYS5zb3VyY2UhPT10aGlzLmp8fHR5cGVvZiBhLmRhdGEhPT0ic3RyaW5nIikpe3RyeXt2YXIgYj1KU09OLnBhcnNlKGEuZGF0YSl9Y2F0Y2goZil7cmV0dXJufWlmKGIpc3dpdGNoKGIuZXZlbnQpe2Nhc2UgImxpc3RlbmluZyI6dmFyIGM9YS5zb3VyY2U7YT1hLm9yaWdpbjtiPWIuaWQ7YSE9PSJudWxsIiYmKHRoaXMuST10aGlzLnRhcmdldE9yaWdpbj1hKTt0aGlzLmo9Yzt0aGlzLnNlc3Npb25JZD1iO0Q0KHRoaXMpO2JyZWFrO2Nhc2UgImNvbW1hbmQiOmM9Yi5mdW5jOwp2YXIgZD1iLmFyZ3M7aWYoYz09PSJhZGRFdmVudExpc3RlbmVyIiYmZCliPWRbMF0sYz1hLm9yaWdpbixiPT09Im9uUmVhZHkiP3RoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk6Yj09PSJvbkVycm9yIiYmdGhpcy5oYSYmKHRoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyx0aGlzLmVycm9yQ29kZSksdGhpcy5lcnJvckNvZGU9dm9pZCAwKSx0aGlzLmFwaS5sb2dBcGlDYWxsKGAke2J9IHJlZ2lzdHJhdGlvbmAsYyksdGhpcy5aW2JdfHxiPT09Im9uUmVhZHkifHwoYT1NdWEodGhpcyxiLGMpLHRoaXMuby5wdXNoKHtldmVudFR5cGU6YixsaXN0ZW5lcjphLG9yaWdpbjpjfSksdGhpcy5nYT90aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoImFkZEV2ZW50TGlzdGVuZXIiLFtiLGFdLGMpOnRoaXMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixhKSx0aGlzLlpbYl09ITApO2Vsc2UgaWYoYj1jLGM9ZCxhPWEub3JpZ2luLHRoaXMuYXBpLmlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUoYiwKYSkpe2M9Y3x8W107aWYoYy5sZW5ndGg+MCYmeDQoYikpe3ZhciBlPWM7aWYoXy5BYShlWzBdKSYmIUFycmF5LmlzQXJyYXkoZVswXSkpZD1lWzBdO2Vsc2Ugc3dpdGNoKGQ9e30sYil7Y2FzZSAibG9hZFZpZGVvQnlJZCI6Y2FzZSAiY3VlVmlkZW9CeUlkIjpkPXk0KGVbMF0sZVsxXSE9PXZvaWQgMD9OdW1iZXIoZVsxXSk6dm9pZCAwLGVbMl0pO2JyZWFrO2Nhc2UgImxvYWRWaWRlb0J5VXJsIjpjYXNlICJjdWVWaWRlb0J5VXJsIjpkPWVbMF07dHlwZW9mIGQ9PT0ic3RyaW5nIiYmKGQ9e21lZGlhQ29udGVudFVybDpkLHN0YXJ0U2Vjb25kczplWzFdIT09dm9pZCAwP051bWJlcihlWzFdKTp2b2lkIDAsc3VnZ2VzdGVkUXVhbGl0eTplWzJdfSk7Yjp7aWYoKGU9ZC5tZWRpYUNvbnRlbnRVcmwpJiYoZT0vXC8oW3ZlXXxlbWJlZClcLyhbXiM/XSspLy5leGVjKGUpKSYmZVsyXSl7ZT1lWzJdO2JyZWFrIGJ9ZT1udWxsfWQudmlkZW9JZD1lO2Q9eTQoZCk7YnJlYWs7Y2FzZSAibG9hZFBsYXlsaXN0IjpjYXNlICJjdWVQbGF5bGlzdCI6ZD0KejQoZVswXSxlWzFdLGVbMl0sZVszXSl9Yy5sZW5ndGg9MTtjWzBdPWR9dGhpcy5hcGkuaGFuZGxlRXh0ZXJuYWxDYWxsKGIsYyxhKTt4NChiKSYmRTQodGhpcyxCNCh0aGlzKSl9fX19bGEoKXtzdXBlci5sYSgpO0I1LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuRCk7Zm9yKHZhciBhPTA7YTx0aGlzLkIubGVuZ3RoO2ErKyl7dmFyIGI9dGhpcy5CW2FdO3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYi5ldmVudFR5cGUsYi5saXN0ZW5lcil9dGhpcy5CPVtdO2ZvcihhPTA7YTx0aGlzLm8ubGVuZ3RoO2ErKyliPXRoaXMub1thXSx0aGlzLmdhP3RoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgicmVtb3ZlRXZlbnRMaXN0ZW5lciIsW2IuZXZlbnRUeXBlLGIubGlzdGVuZXJdLGIub3JpZ2luKTp0aGlzLmFwaS5yZW1vdmVFdmVudExpc3RlbmVyKGIuZXZlbnRUeXBlLGIubGlzdGVuZXIpO3RoaXMubz1bXX19LEI1PXdpbmRvdzt2YXIgWHVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3ZhciBjPUw0O3N1cGVyKCk7dGhpcy5hcGk9Yzt0aGlzLmlkPWE7dGhpcy5vcmlnaW49Yjt0aGlzLmo9e307dGhpcy52PV8ueCgid2ViX3BsYXllcl9zcGxpdF9ldmVudF9idXNfaWZyYW1lIik7dGhpcy5vPWQ9Pnt0aGlzLm9uTWVzc2FnZShkKX07QzUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5vKTtGNCh0aGlzLCJSRUNFSVZJTkciKX1hZGRMaXN0ZW5lcihhLGIpe2lmKCEoYSBpbiB0aGlzLmopKXt2YXIgYz10aGlzLkIuYmluZCh0aGlzLGEpO3RoaXMualthXT1jO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihhLGMsYil9fUIoYSxiKXt0aGlzLmlhKCl8fEY0KHRoaXMsYSxPdWEoYSxiKSl9cmVtb3ZlTGlzdGVuZXIoYSxiKXthIGluIHRoaXMuaiYmKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLHRoaXMualthXSxiKSxkZWxldGUgdGhpcy5qW2FdKX1hZGRFdmVudExpc3RlbmVyKGEsYixjKXt0aGlzLnY/CmE9PT0ib25SZWFkeSI/dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpOnRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgiYWRkRXZlbnRMaXN0ZW5lciIsW2EsYl0sY3x8bnVsbCk6dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpe3RoaXMudj9hPT09Im9uUmVhZHkiP3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKTp0aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoInJlbW92ZUV2ZW50TGlzdGVuZXIiLFthLGJdLGN8fG51bGwpOnRoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKX1vbk1lc3NhZ2UoYSl7aWYoYS5vcmlnaW49PT10aGlzLm9yaWdpbil7dmFyIGI9YS5kYXRhO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe3RyeXtiPUpTT04ucGFyc2UoYil9Y2F0Y2goZSl7cmV0dXJufWlmKGIuY29tbWFuZCl7dmFyIGM9Yi5jb21tYW5kO2I9Yi5kYXRhO2E9YS5vcmlnaW47aWYoIXRoaXMuaWEoKSl7dmFyIGQ9CmJ8fHt9O3N3aXRjaChjKXtjYXNlICJhZGRFdmVudExpc3RlbmVyIjp0eXBlb2YgZC5ldmVudD09PSJzdHJpbmciJiZ0aGlzLmFkZExpc3RlbmVyKGQuZXZlbnQsYSk7YnJlYWs7Y2FzZSAicmVtb3ZlRXZlbnRMaXN0ZW5lciI6dHlwZW9mIGQuZXZlbnQ9PT0ic3RyaW5nIiYmdGhpcy5yZW1vdmVMaXN0ZW5lcihkLmV2ZW50LGEpO2JyZWFrO2RlZmF1bHQ6dGhpcy5hcGkuaXNSZWFkeSgpJiZ0aGlzLmFwaS5pc0V4dGVybmFsTWV0aG9kQXZhaWxhYmxlKGMsYXx8bnVsbCkmJihiPVB1YShjLGJ8fHt9KSxiPXRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbChjLGIsYXx8bnVsbCksKGI9UXVhKGMsYikpJiZGNCh0aGlzLGMsYikpfX19fX19bGEoKXtDNS5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLm8pO2ZvcihsZXQgYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGEpO3N1cGVyLmxhKCl9fSxDNT13aW5kb3csTnVhPQp3aW5kb3cucGFyZW50O3ZhciBHND1uZXcgeHdhO3ZhciBMND1udWxsLE40PW51bGwsSjQ9KCk9Pnt9LEg0O3ZhciBUND0hMTtfLmZ0LnRoZW4oKCk9PntfLkFxKCJlcF9pbml0X2N1cyIpO2lmKCFBNSl7QTU9ITA7dmFyIGE9Xy54KCJlbmFibGVfd2l6X2NvbnRleHRfcGVyX2NvbXBvbmVudCIpfHwhMTtPYmplY3QuYXNzaWduKF8uS3Use1JpOiEwLEdwOmEsRnA6YSxHdjpfLngoIndlYl9pbmNsdWRlX2Nvd190cmFjaW5nIiksaGFuZGxlRXJyb3I6enVhfSk7QnVhKCk7Xy53dj1mc2E7Xy54dj1nc2F9YnZhKCk7Xy5BcSgiZXBfaW5pdF9lcHMiKTtfLnJhKCJ5dC5zZXRDb25maWciLF8uUWkpO18ucmEoInl0LmNvbmZpZy5zZXQiLF8uUWkpO18ucmEoInl0LnNldE1zZyIsYjEpO18ucmEoInl0Lm1zZ3Muc2V0IixiMSk7Xy5yYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIixfLkdwKTtfLnJhKCJ3cml0ZUVtYmVkIixVdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5ib3RndWFyZEluaXRpYWxpemVkIixfLnNhKCJ5dC5hYnVzZS5wbGF5ZXIuYm90Z3VhcmRJbml0aWFsaXplZCIpfHxSdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIsCl8uc2EoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIpfHxTdWEpO18ucmEoInl0LmFidXNlLmRjbGtzdGF0dXMuY2hlY2tEY2xrU3RhdHVzIixfLnNhKCJ5dC5hYnVzZS5kY2xrc3RhdHVzLmNoZWNrRGNsa1N0YXR1cyIpfHxhMyk7Xy5yYSgieXQucGxheWVyLmV4cG9ydHMubmF2aWdhdGUiLF8uc2EoInl0LnBsYXllci5leHBvcnRzLm5hdmlnYXRlIil8fEJ0YSk7Xy5yYSgieXQudXRpbC5hY3Rpdml0eS5pbml0IixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmluaXQiKXx8bDApO18ucmEoInl0LnV0aWwuYWN0aXZpdHkuZ2V0VGltZVNpbmNlQWN0aXZlIixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmdldFRpbWVTaW5jZUFjdGl2ZSIpfHxfLkJuKTtfLnJhKCJ5dC51dGlsLmFjdGl2aXR5LnNldFRpbWVzdGFtcCIsXy5zYSgieXQudXRpbC5hY3Rpdml0eS5zZXRUaW1lc3RhbXAiKXx8ajApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixfLlZpKFp1YSkpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsCl8uVmkoJHVhKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixfLlZpKGF2YSkpO2d1YSgpO1R1YSgpO18uQXEoImVwX2luaXRfZXBlIik7SjQ9Xy5ENTtfLkFxKCJlcF9pbml0X2N1ZSIpfSk7Xy5ENT0oKT0+e307Cl8uRDU9ZnVuY3Rpb24oYSl7KDAsXy5laCkoInI3OERyYiIpLnRoZW4oKCk9PnsoMCxfLnp5KShhKX0pfTsKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":13,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:49.917Z","timestamp":1785129949917,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/player/7a7969c2/player_embed_es6.vflset/en_US/base.js HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/EjB5qFW0bJ8\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 475313\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 07:32:16 GMT\r\nexpires: Thu, 22 Jul 2027 07:32:16 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 22 Jul 2026 04:34:15 GMT\r\ncontent-type: text/javascript\r\nvary: Accept-Encoding, Origin\r\nage: 424413\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1597230,"size_decoded":476001,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (787)","md5":"ef473a4d0528fc7651d726fa43900068","sha1":"3b0d807a63c3244fc3fedeac020c2e81106185e1","sha256":"360a9b05bfc89caf69f220ef2473c20d1657318e21c4e0ffdab81e238b42dc61","sha512":"590afd923ebf8ce8da8def22bdf6149595740d96360cbf541954f52366a31fd5e3d3e6d8dd973044383f2cbad84c18f9f67ff69bf04c3dc6891b35b3eb29bb90","ssdeep":"24576:JddEUuuYnFCL4xFUnYNmJYqJNI5Dt/yV2hD4kf:fdhuuYnFCL4MVJBJO5DtKV2hdf","tlshash":"7e255b9977f2b46343a3f0e0286f018ab17f591454ccd46cb9a9e5f42da090e917bfac","first_seen":"2026-07-22T15:37:53.752532Z","last_seen":"2026-07-27T16:06:30.195204Z","times_seen":1773,"resource_available":false,"data":"dmFyIF95dF9wbGF5ZXI9e307KGZ1bmN0aW9uKGcpe3ZhciB3aW5kb3c9dGhpczsvKgoKIENvcHlyaWdodCBUaGUgQ2xvc3VyZSBMaWJyYXJ5IEF1dGhvcnMuCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIENvcHlyaWdodCBHb29nbGUgTExDCiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwovKgoKIENvcHlyaWdodCAyMDE1LXByZXNlbnQgRGFuIEFicmFtb3YKIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQKKi8KJ3VzZSBzdHJpY3QnO3ZhciBJPSd0b1N0cmluZztOO2Ntbz10ZDtzcGxpY2U7MTk3MC0wMS0wMVQxMTo0NTo0MS4wMDArMTE6NDU7bGVuZ3RoO21hdGNoOy87Y2xvbmU7WDtjYWxsO3Rocm93O2Ntbztqb2luO2Fzc2lnbjsvdmlkZW9wbGF5YmFjaztodHRwOi8vbG9jYWw7SjtpbmRleE9mO3d3dy55b3V0dWJlLmNvbTtzcDs7cHVzaDtzbGljZTtHRztyZXZlcnNlO3NjaGVtZTtcXC5nb29nbGV2aWRlb1xcLmNvbSQ7cGF0aDt1cmw7L2luaXRwbGF5YmFjaztuO3BsYXllcmZhbGxiYWNrO2dldDtzZXQ7c3RhcnRzV2l0aDtzcGxpdDs9O2ZhbGxiYWNrX2NvdW50O1c7MTtWO3k3O3Vuc2hpZnQ7cnI7dW5kZWZpbmVkO3BvcDssO2luZGV4Lm0zdTg7Jjtmcm9tQ2hhckNvZGU7V3NsWmtDWm96bFlyNkVCME43LV93OF87cnI/WzEtOV0uKlxcLmNcXC55b3V0dWJlXFwuY29tJDsxOTcwLTAxLTAxVDAyOjMwOjMxLjAwMCswMjozMDslM0Q7RWw7XFwuYTFcXC5nb29nbGV2aWRlb1xcLmNvbSQ7bGV0O0VJO3M7Zm9yRWFjaDt5SXkxUGEyOzE5NjktMTItMzFUMTc6MDA6MzcuMDAwLTA3OjAwO2xvY2FsO2Zvcjt5b3V0dWJlLnBsYXllci53ZWJfMjAyNjA3MjFfMDhfUkMwMDsvZmlsZS9pbmRleC5tM3U4OywiIns7Oi8vO1VudHJ1c3RlZCBVUkw7ZnZpcDthMS5nb29nbGV2aWRlby5jb207V0Q7aHR0cHM6Ly9sb2NhbDttbjsvLztmaWxlO3NpZ25hdHVyZUNpcGhlcjsvYXBpL21hbmlmZXN0O2Ntbz1wZjtyO3JlcGxhY2U7cmVkaXJlY3Rvci5nb29nbGV2aWRlby5jb207LCx9L1wnO3hpJy5zcGxpdCgiOyIpLApXWixuMncsaGksazIsdjJDLGVVLE5pLHB0LEFpLGhNaSxFdyx1eCxkcix4aU0semIsbHgsTFMxLFZqLGVNcixENCxrMyx4MyxneixxVSxKRixTaixtYyxLYixPTSxxd3QsR2JpLFYyLERlLGFNLHRVaCx2NCxucCwkaXgsaEEscmliLHhsLGUxLFhNLHFoLEc1LHNULHBwLEkxaSxTd2gsSkEsUzEsQUEsbVcsS3AsUDQsWmUseUcsVDUsS1MxLFJQLE90aSxadFosbjAsVWl3LFcyLERYLGJwLGtLLGg0LHlpdCx4SyxMMCwkSyxzQSxOeCxwMCxZSyxTdSx1aGgsemgsbHAsbzIsVUEsek0yLEMwLE14LFFsLFZsLFIyLGMyLG41LFc5LHY5LGtVLGhfLEw1LFhELHEzLE4zLHA1LEg5LGY1LFlVLEkwLFNYLG0wLEs1LE9fLFpCLFVfLEVfLHU0LEM1LEI5LG8wLHo5LEZELGpDaCxDeE0sYTAsbkcsRlMyLFdILGJXLGh2LHh2LGVXLGdnLHdaQyxHeix0dixWVVMscmcsTkUsWXYscEcsbjMyLFNXLEp2LFdjcixiYlosT0ssbV8sUEgsWlIsVUsseWcsS0csaVcsRUssb3osdVcsQ0csZGcsbFcsRkYsTUUsUnosClFnLGNILEQyLGJhLHZXLGF6LFdXLG5uLGhTLHg5LGVFLGdlLHFILFhfLFZHLHRTLCQ5LHJlLHNWLGpXLE5ILGFQLHBuLFk5LEhXLEpTLElZLEFTLEtuLFBXLHkxLHVhLG9ZLGs0MixaMixpYSx6JCxsYSxDbixqRSxGXyx3ZSxNSCxRMSxhWSxEOSxiRyxrbSx4bSxMaCx4VWosWHQsWW0sSHksSjMsSXgsU0MsQTMsbTQsS2gsT3MseW0sRXMsaUcsUHksdUcsb3gsZEcsVFMsQ2gsd0csTWYsUngsakMsVm0sYXgsbjgsWE1pLGczVSxiNixrbixoOSxMOCxxTU0sZTYsWGYsc2YsTlkscDgsSjksSV8sSzgsdGpVLHU2LG9fLHNNMixkUSxOenIsenYsbDYsVHYsajYsQzgsQk8sd1EsUl8sY08sV3gsdngsa3ksaEsscWMsWFp4LEFLLG9oLHVrLE1jLHdtLGZULHBNeCxZTXgsbkssdkwsREQsSGJTLEpGWixMSyxJNFMsZWcsZ0QsQUZaLG1VdyxTTVMsS2NoLFBfaSxaYmgsVVViLHJGdCxQTywkVU0sRzcseUZaLGVYLFhULEUzdCxpYlUsJEUsckQsTjUsbzNiLEhMLGZLLEpILElXLEFILEtLLGRVcixTZywKeTcsRTIsWkQsekJ0LE8yLG1oLGRELGw0aixUenIsak1oLHE4LCRHLHBxLFlHLFNPLGdwLEJ6aSxKJCxISixmcSxLcSxDXzEsRXUsdWUsbzUsRmNiLGRwLHozLHdNUyxsZSxUMyxqTyxSQmIsQkosRjEsd3AsUU1VLFY4LFI1LG5WLFE4LGE1LFczLERvLFZqdCx2MyxubDEsV1dyLGJwTSxibixMVix2bHIsZyQsazVaLHRxLFg2LGhIUyx4aGIsTFcyLGVIaCxnbGgsc2wsSDMsRzVoLHJBYixzUDIsTlR0LHA0aSwkaGgsdDFVLEpxLG1JLElpLFlUVSxPbCxQMyxabyx5aSxFbCxmZWIsSkF3LElldyxtaHcsU1RyLG9pLGQkLGxuLHpILEtXVSxCMyxQZjIsam0sT3BpLE12LHckLHlBMSxFbGksaXByLHVNWixSaSxuVyx6SGksVFRyLHZZLGtxLHhxLFhtLHF0LHQxLE50LHNqLENmMSxGV1osdzRyLFlxLEoxLElzLEhZLGZXLFYxVSxBMSxTUyxtRyxLVyxPaixaYSxQWSxjQVUsYWVoLG5LaSx5TixFaixpcix1cixscixvcyx6TixiMHgsZGgsVE4sQ1csalMsV3hoLHZLYixCWSxGbSx3aCxNdCxScyxRTiwKVk4sY1ksYXMsbl8sV0ssaEN4LERpLGJILHZLLGt0LHh4aixMeGksZUNVLGdLdCxYZCxZWSxoYSx4dCxMXyxxdyxzMncsclgsTldoLFl0LEhLLElGLFNBLEFhLG1hLHlLLHAyaix1SCxZQTEsbEgsVEssSDBpLGpBLENfLEJLLEo0cix3WCxNdyxSRixRSyxWSyxJWDEsY0ssYUYsbmUsV1MsRFEsYkMsa2oseGosTGUsZXYsdGsscjcscyQsTjYscGUsWWosSFMsZmUsSmssSVMsU3YsVSQsRSQsaUMsdUMsQTR4LG9TLGQ3LGxDLFRCLGp2LHc3LE02LFJTLFF0LGFTLG53LFdWLG14aixLeFUsREUsTzBpLFBwMSx2VixYJCxxTixVeGoseTQyLCRmLE5OLHB3LGZ3LFlmLEpyLG15LGkwYixQVixPdCxaRSx5Rix1dyxkMixDdyxVdCxUVzIsYUUsY1YsVzAsRHIsdjAsa1QsYmIsaHkseFQsQ3BNLGc4LEJXaixYbixxWCx3MjIsdHksTXVDLFJDVSxRMmksajJaLGFYQyxuVXcsSUssQXksSyQsZ1osWnIsVXoseUgsRXosaWIsb0sselEsbGIsVFEsQyQsQjAsRm4sUkssVkgsYzAsbnksV0IsREksYk8sdkIsCmtSLEx5LGhPLGI1dCxnSixlXyxHMSx0TywkUixOMCx2VTEsc1AscHksazlpLEFPLG1ZLEt5LFVQLHl4LGlPLGhxaCxkSix6MSxUMSxqXyxCQix3SixSOSxNMCxhOSxiUSxrdSxMRixlRixnMCxYcSwkdSxlcTEsZ1VyLHBGLFl1LE5MLEhOLFg5VSxKYyxJZyxTRixBYyxPUixaeSxVUixLRix5YyxFUix1USx0WFUsJDN4LHMwcixkMCxyX2osRzl3LHpuLE5aaSxpUSxvZyxINXgsbFEsVG4sakYsQ0YsRnEsdzAsZkJVLEpfMixJQmksY04sYWcsV3osRG0sU19aLEFfcixtM3csSzByLGI5LHZ6LFA0TSxrTyxoNyx4TyxMUCxlOSxnMyxVM3QscUIsaTVoLHVEeCwkTyxyMyx0Nyx5X3Isc0osTkIscFAsWU8sR28sRVVTLEh6LGZQLEo3LEk3LEE3LG1ULEtQLE9KLFB6LFRaaixabSxvNyxkMyxsOSxqMHgsRjBNLEJaaCx6byxGMyxWZCxNWFMsdzMsY3osbm0sYTcsRDUsYk0sV1UsUnEyLFEwUyxWWDIsY19aLGtRLGFCUyxudjIsV19DLERFeCxiR0MsdnZpLGt6aSxoSSx4USx4RXcsTF9pLGd2dyxldywKTG0sJFEscUt3LHNjLHBtLFlRLHRXdywkRXQsZm0sT2MsUFUsWjUseUosRWMsU3csVWMsaU0scnZoLHN6Uyx1TSx6VCxqdyxUVCxCVSxsTSxDbSxNYixhSSxuWCxOZ3csY1UsVkosZ0UsZVosdHAsJG8sckUsWUtqLGZSMixTS0MsSnZaLHM5LElSMSxOaixISSxwWCxJYixBcCxLWCxaQSxQSSxPOSxVOSxpeSx1eSxkRSxLXzIsT0d4LFBXMSxRUixNaixjSSxDWCxuVSxxMSxiUix2cyxrQSxUcCxzeSxwVSxpR2osS1UsRXZDLGpaLG1yLER2LGc0LE4xLGFiLEY0LEJJLHdFLFZSLHI0LHVSLG92LEV5LFRVLGp5LENVLENXaSxCcyxGUix3NCxNMSxCZ3Isd0hDLE1XdyxRNCxjcyxuNCxhdixXYSxRejEsVld4LGhQLGtCLG45dyx4QixnSyxMNCxlaSxXTlUsREh0LGhUUyxLNCxPYSxnOWksdWcsaWcsWFdqLFRxLHFWWixqaSxHJGosenEsQzR3LG9VLGxnLGRLLFBhLEZqLHRFeCwkSHQsd0ssTWcsUTUsTmUyLGFVLG5CLGtWLGhtLHBXTSxMQixnYixYQSxxUSxHdyx0bSwkVixZVlMscmIsZUwsc0gsCnBCLEhiLGZCLFlWLElMLEhucixmMmosT0gsWk0sRUgseXYsaSQsSlNyLHp3LGRiLEkyWix1JCxTVjEsakwsQ0IsQVN4LG1IMSxLTnQsQmIsRkEsb0wsVHcsUGF4LGNiLFdQLFZ2LGtELHhELGVrLHlTaCxFOWIsaW53LGRIaix1X3QsR1cscGwsSFAsZmwsSmUselRqLElqLEFlLG1FLFNrLEtsLFRlYixPbyxQUCxqWTEsWlksRk54LEJlUyxDYVUsTUV3LFVvLFZFMixsMmoseXEsRW8sY1MyLHFyLHRlLER3LHZHLGtNLGhSLHhNLExSLGU1LGdkLFhhLHFELEc2LHRSLCRNLHJkLHN4LGEyMixwUixKUixJdyxtayxLUixPeCxQRyxadyxVeCx5QSxFeCxpaCx1aCxvdyxkZCxUNixqNSxDUixCRyx3ZCxNRCxRQSxjRyxuZixXZSxERyxiQixubWgsVzRVLERmUyxrJCxYOCx0RSxiaDEsJCQsc2UsTmEscGYsa1NqLHhmUyxIZSxMNFosZWFVLGdtMixKRSxJOCxxc1UsQUUsR1N3LCRmaSxLZixyM1osT2UsbUwsc3hyLHRDaCxTWSxQZSxaRyxweXQsWXNNLEhodyxVZSxJOTIseVcsRWUsdUIsU3NaLGROLApuYyxXUSx5M3IsYjAsRW14LHg1LExjLGV0LG9tTSx0aixYeSxkZjIsRzAsJDUsemFpLGw5aSxUR2gscWUsdXQyLHJhLHNoLEhRLEJHTSxGNGIsZmMsSmosUmFTLGE5cixxNCxubjEsdFgsck0scGksWXosZmksSWYsbVUsUzIsaGp0LEFYLHhZYixLaSxPMyxlancsWnEsZ25aLFAkLExEWixpWixYT2IscWZTLHQ2QyxyOVMsR3ZVLHNfMixOUWksajIsQiQsSDhyLFFyLEo5YixmOEMsTTQsVnIsUmYsYyQsSThqLEE5UyxTZmosRkcsbVl3LFA2Uyx3TSx1Zk0sb25yLGRZTSxpOFUsRW4yLHk5dCx6ajEsYWYscE9pLGw4dCxZZmksVFFNLGpfVSxuNyxGRGIsQzZVLFduLEJRdyx3T1osUmpVLFFfMSxNNlUsbnl3LFdCaixhODIsa0Z3LGhzdyxWNnIsYzlNLExCVSx4Y2Isa2QsZXNqLGhzLGd5MSxHRkMsWHh0LHRwYixxMGIsJGN4LHhkLEw3LGVJLHJLcixzaFosZ1AsTm10LFhOLHB4aSxZMFUscUcsR0UsSFRaLGZsaixKS2osSWxqLHRzLFMwdyxBS3IsbWNyLEtCTSxPVGIsUGtDLFpUVSxVY2kseUtDLApFeTIsaVR4LHVMMixveWgsZGN0LHpzMSxsbHIsVG1yLGpoTSxDa3gsQm1qLHd4WixNcEMsclAsc24scDcsWWQsUnN4LEhuLGY3LFFodyxKcyxWcEMsSU8sQXMsbTUsSzcsWlUsVW4seXcsaUosYWx4LG9PLHpFLFRFLGdYLEM3LGhBaSxCbixlQSxGTixlQVosTUcsUk8sVncsZ0V3LERjLHZBLGtKLFhMUyx4SixlSixnRixYcCxxZCxOZCxJRGgsUzJiLFlKLEhLaSwkNXIsSlQsc1diLElyLHJGLCRKLHRnaCxHN1UscTJDLHRULGZnLHNELEhBLFBBLFpjLFVELHlMLEVELGkzLHUzLG9yLGRGLHpfLFRfLGpKLENnLEJBLEZwLHdGLFFMLFd3LFZMLGNBLHZ3LGt4LGFyLEtoMixMcyxnQSxHaixQSUMsWktaLFl4LHBzLFU1WiwkeCxyQSxzWSxOayxIdyxmcyxKWSxJQixTUCxtdCxBWSx5SHIsS3MsUHcsRUVaLE9ZLFpfLGlLVSxVWSx5ZixvRWksemosbEwsalAsVGosQncsRjUsd0EsTWssUWYsY3csbnosV18sREosZDV3LGJULHZfLGtOLHpBMixoSix4TixMeixleCxnayxYeCxsRHgsVEQxLEdQLHRKLAokTixPdixQXyxaSixVdix5cyxkayx6UCx3TFUsbFQsVFAsangsQ3osTWdNLFJBUyxRV00sVmdpLGNIaixhRFUsRngsTUksbkdTLERPLHZSLGhNLHhYLExNLGVHLFhaLHEkLEdpLHRNLCRYLHJ5LHNOLE4kLFlYLGZNLEpNLElkLFNHLFFQLE9OLG1GLEtnLE0zLFpPLFVOLHZHVSx5VCxrM3IsaTgsdTgsZHksaGdTLHppLGw4LFRpLGpHLHJrLENNLEJSLHg4aixGWixNJCxSZCxRVCxWVCxjUixhZCxuNixXRix2RixMS1UsTDYsZWcxLGU0LFhKaSxxeixxdWosRzNDLHRPWix0WixzNVUsTnBqLHBKYixJbyxZdWgsSHFoLGZ0WixHXyxmRHcsJGcsUzQsSzYsT2ssUEYsSiRVLEl0aSxaSCx5QyxBWixFayxBJGksaUEsdUEsb28sbTh0LHp4LFR4LGo0LEM2LEJGLEtLdCxGdixwNixWQyxPcXgsVThaLERLLHJIaSxKSHIsdlgsaHoseGgsTE4sZVQsZzEsRUdDLCRoLG9HdyxkOGksaXF0LHR6LHUxcixsdGIsTlYsemcyLHBOLFRwYixIWCxORFMsWTJTLE9ELFNKLENlVSxmTixKeix3SngsajVpLFNULG1WLApLTixBeixPZCxQWCxSZ1UsRWQsVk9yLGF0dCxpbyxuWUMsb24sekwsWHYsVEwsalQsQlgsRlYsUU0sY1gsbG8sYzksV0UsYmksdkUsaHUsTEUsdHUsWnFTLHZZaixmRSxKdSxTTSxBdSxWUCxLRSxMSUMsZUVpLE9tLFBFLGdZWix0bU0sWmYsWDNTLEdIdCxxbGgscnFaLHNpcixpaSx1aSxvQSxUbCxDRSx3YyxGQyxNRixSQSxZbHcsUW4sSFZ4LGZvaSxKcVosQXExLG12aixhQSxuTCxQbjEsWlZpLHlxMSxFWTEsaVYyLHU2UyxvWU0sekViLGxvaixrTCx4TCxMTCxlJCxnNix0eCxCJHgsdzNpLEdmLFJFaSwkTCxyNixRaTIsVm10LHNVLFZuLFdqLEhqLGZMLG1mLEVVLGlqLHVqLGQ2LHpmLG9RLGdxWixsaixYWWgscWpoLEdOaCxDTCxCaixGZSxKeCx3NixQMCxNcyxBSixSUSxReixOSSxWeixVdE0sY2oseTFoLEk0LGFRLG5BLGJGLFRmLGokLFN4LGhELEVxaCx4cCxLeixpV1MsdW10LG9xMSx6a1UsTEEsZTcsZ2wsWDIsZHQxLEdlLHRELCRwLHJsLEF4LE51LFlwLElULEFELGlULHB6LEtBLApPUyxQVCxUaGksY3F4LHBMLFpQLFVTLHlVLEVTLGlGLHVGLGxGLHplLGo3LGRsLE1TTSxDQSxCVCxGMix3bCxNdSxhVCxjVCxRc1MsbjIsVzcsVlNoLGtGLGhmLGMxQyx4RixMMixlQixiX0MsZ3YsWHoscXAsdGYsdnRDLGh4dyxmMixKZixJeSx4dzIsU0IsQWYsbVAsWiQsVUYseUUsRUYsaTUsenUsVHUsakIsQzIsQjcsTGF4LEZ6LHd2LE1wLFJ5LFFFLFZFLGM3LGF5LG52LGJZLFd1LERiLEdLdCxxSXcsdEFDLCR3aixyYVUsc0ZNLHZ1LGtzLE5YaCxlbixnVixZSTEsSF9VLHFXLFhyLHRCLGZpeCxyVixzYixOVyxwdixmdixZcyxKQixJNixKYWksSHUsWmIsVWIsRWIsbzYsU0laLHVZLEFhMixURCxsWSxtd3Isam4sQ3YsRnIsd1YsTVcsUWssVmssY3UsQ25pLEZJMSxhNixXcCxEeCxidSx2cCxrWixoVSx4WixMMyxlVixnQyxVd2IseWFqLGlfYixYdSx6eFMsakZNLFNWLENIaCxGYU0sd0tqLE1BTSxSeGosUUZ3LFZBUyxjYXQsYWlNLG5qMSxtZSxXJGosRDZ4LEszLE9HLGJlcixQcCwKdmp3LGg3Mix4NncsVUcsWngsTCQyLHlCLGl1LGU3YixnajEsWFNoLG9xLEdCYixya2osekkscSQyLCQ2aCxsdSxqVixzU3csTjdTLHBTUyxGdSxIZVUsd0MsUnEsSVExLFMkaCxtNncsSyRqLFZCLGNwLFBDMixhcSxaZXcsTXEsVTZDLGZRaCxPZWksQWtNLFc2LHlrcixFalosaWVpLHU5VSxvancsRGQsVDdiLGQ2cix6N1UsalNaLGJTLENDTSxsUWgsdjYseEMsTHIsZXEsa0MsQjdiLHdTVSxndSxGJHgsTXZTLFI3VSxWdnQsY2tqLFgwLGFRUyxuZngsRE4xLGJ3QyxxMixHWix0MCwkQyxRRXcsVkh4LGNyaCxEWDIsdmZ0LGtkVSxuVHcsV2paLGFFdyx2VFosSDYsSjQsZnIseWssbWksS3YsUHUsaVksS3IsSSQsaFpyLE80LHhYQyxMalUsUDYsQTAsbWQsWmQsZ1RDLFU0LEowLGc3LHlvLEU0LGlTLFNxLGtRdyxlWnQsdVMsWDB0LHF6aCxHUWIsdGRqLCRYMSxyeUMsTjhaLGR1LEprQyx6WixsUyxSNixLYTIscDBiLGpxLFZvLElyYixZemksZnJDLENyLEYwLG1YYixLamksTyRpLFokaSxQYlUsClVYWixhJCx5eXgsbkQsV2wsaSRTLEVUaixvVGosRGssdW5VLHZsLHpaaixscjIsVDhoLENidCxCOGksdzBiLGhnLGt3LEZqaixSWmgsTEQsVmR0LGVSLFFLeCx4dyxnaixYQixXWWgsblJ0LCR3LHFQLFl3LHZSdyxlU2osaFMxLExZMix4MEMsZkQsWEJ3LHFQaSxHMVMsdF9oLCQwYixyT2gsczlDLE5KaSxJayxwQngsWVBNLEh5VSxKT3csZkl0LElJYixKZyxBT00sU1IsY3laLFBsLFp5UyxpeWksdWtoLG9SdCxQT3QsRXEsdTEseXUsZDBiLFVxLGxJYixvayxaayxVMFosaTEseU9aLG0wTSxtdixqOUMsT3laLENPaixCSnQsVEpiLEZZQyx3QngsemMsTV93LFE5YixWXzIsUlNDLGNPdyxhSVosV1hoLERMYixrbnIsYkZqLHZ1TSxUYyxoUXgseEx0LExYcixndUMsalIsQ0QsWE5pLEJsLHFScixHbncsdEZ4LCRMQyxyYzIsc2d3LE4wUyxwTnQsWVJ3LEhGWixmeVUsSmNiLEl5dyxTUnQsQWNaLG1MMixLWFosT0ZDLFBRcixaRnQsVUwyLHljMixFdXQsaUZVLHVxdCxvdTIsZExpLHpRUyxseTIsClQwVSxqZ2gsQ1FDLEIwaixGWDIsTUZ4LFJRVSxWRlMsTVAsUXUsVnUsY2wsbk9NLG5DLFdUaCxEQmksYlBTLGFrLHZPMixheVosYm0saEQxLHhCaCxMVGIsdnIsa29yLE9iLGRWLFlDLFN6TSxjNixIJGgsUW8sQjYsd3UsUiQsZGoselMyLEVSUyxYemgscUoyLHQ5aCxrYywkQmkscjdoLGgyLGVEYixYYixIUGIsZm14LEo3aSxJbWkscW0sZ09DLEE3eCxzN3IsTjNDLHhjLExDLHB6aCxaUGosS1RpLE9QMixyUyxOMiwkYyxTSloseTdpLEVPaCxpUFMsbUJiLHUzeCxvT3gsZEJoLFQzaCxqN2osQzl4LHBDLEIzeCx3enIsRlR0LFJEaixRNzIsYzdyLFdnMixoOE0seGJqLEhyLG5RdyxKMixmQyxMZ3csZTh3LGJtaCxWOWksTTliLGdRdyxYVVMscWNVLEdUUyx0d00sckkxLFMwLCRiWixOb0Msc0lNLFljMSxwVWosbW4sQTIsSG1TLGY1eCxKSWIsSTUyLEtDLEFJTSxtYk0sS2d4LE9YLE9tMixQTWosUHIsWm1oLHlJcixpbXIsWlYsVVgseTMsaW0sdW0sRVgsRVFNLHVpaixvUTIsZGJTLHo4MiwKbDVVLGJBLG91LFRvaSxqSWosQ014LEJvdCxkUyxGZ2IselgsTXdoLGwxLFRYLGowLENDLEJyLEZiLHdTLFFJUyxWd00sY0lqLGE1cixSdSxXM1osRGoyLGJYdCxrcGksaHlpLGJKLHZ5TSx4amosTDN4LGV5aixYSVosYXUsV2QscTkxLG51LEQ3LGJWLHRaTSwkalosdmQscnB0LGNjWixNbSxWMyxoQyxIWDIsZkF0LEpwVSxJQWgsUzliLEFwaixtanQsSzNVLE9YMixlaCxncyxYSixQeUMscTksUjhDLFVqdyx0QyxHWSwkMCxFb2ksaVhTLHJzLHNCLHlwYixwdSx1NGIsWTAsb294LGZ1LFRFMixqYjIsSkMsRjNiLFNoLG1vLGRqcixNWjEsSGQsUnlpLFFidyxsQXQsVlppLHp5MSxhQXcsbkF4LGNwdCxQZCxaNyxMcjEsdkFqLHlhLGVwWixrVWksRDF0LGdBaSxXcmgsR1UxLFhzaSxVQix0eTIsYlVVLHI2dyx4MVUscHNyLEVCLEhVaSxmdmksWXlpLEl2aCxTeXIsU1BNLEdYLG9jLFA5VSxtMVUsSWMsbFYselksamgsQmQsRkosS3JiLHdzLFUxaSx5NlosRUFDLE05LFBSYixSYyxpVXQsQ3UsCmNkLG9BdCxRYSxWYSx1VixUWSx3c2ksTXl4LE9VaCxkcyxScFUsYnYsQTZqLGQxMixhdlosbkJDLFcxaSxiNHQsRGdDLHZCMixCNFUsUXZpLGhMWixMMWIseGdaLGVMaCxnQnIsWGFTLGtQLGg1LHFhVSxHcU0senBpLHRpUywkZ0MsTGEsclBoLHNVUyxlbCx4UCxwYU0sZzksWFksSDR0LGZwaSxKUE0sSXBDLFNhTSxZYVUsQVAyLG1naCxPNEMscVQsSzFVLEdHLFBneCxaNHgseVBqLEVCQyxVZzIsb0JyLGRndyxpNFUsdWp4LHpMWixscDIsalVVLFRLdyxSTHQsUVVaLENndCxCS0MsRjF3LHdhUyxNaWksVmliLHI5LHNyLCRQLE5ULGFweCxuVnIsV3F4LEpKLHBhLGJCeCx2VjIsa3d3LFlQLGZhLEg4LHhRdyxoYmosZ1ZoLEo1LFIwLFhiaCxJRyxxSDEsR3dVLHRMeCwkUXgscm1NLHNMYixOYmIsSEJ3LFlIaSxBNSxtQSxKbXgsS2EsU2wsZk0xLE9yLEtxcixQJEMsWkJqLFVRaSx5bWksRVZiLGlCUyxaVCxpdix1QXQsdXYsemJyLG9WMixEJCxURyxqbCxDYSxHdSxCOCxGWSxqTGosQyR3LAp3OSxSRyxRWSxGcU0sTVQsQmJoLFJieCxjbWIsVlksYU1VLG5EaixhRyxEclosVkxNLFdjLGJsWixuTyx2RDEsa1cxLGJzLHZjLHhydCxrSSxlMEMsZ0R4LExFcixYUGkscW8yLGhoLEdXYix0azEsTE8sZXMsZ2YsJHJNLHJlUyxzalMsTl9oLFlvQyx0aCxIbEMsJEksQWV0LHJmLG1yaixLRWgsUGRaLE9sTSxOSyxwTyxabGksRURqLEhjLFlJLHU3dCxkck0samp4LENkaixKaCxJZSxCX0Msc0YsZk8sRkVaLFNzLHdQMSxNa00sbVIsY2ViLHlSMSxHRCwkcyxlMCx6RCx5UyxCdSxFZyxpcyxUWixVZyxpUlosdXMsdWFVLG9NaCxkRGIselVoLHR2aSxNMixqd2osRncsQ2gxLE1LLGlwLGpzLEZraixjYyxDTyxuSixjUmIsVjVoLGx3WixXZixkZixUZGosbHMsbiRNLFdMcixEYXIsTTVpLHYkaCxodnIsZXZ0LGckUyxrcix2ZixYZWosYmwsREwseHIsTEwyLHFlaSwkYXIsdVJyLHJFUyxzOHIsWWVpLFhTLHBlVSx0YixOTncscTcsZkdTLEpFYixJR3csU2UxLEFFaSxyNSxaZncsc1osT2Z0LHlFMiwKRSRNLGlmQyxLTFosdThiLFlyLG8kVSx2NyxmSixKYixBYixQZixWUyx6djIsVVosbEd3LGo4MixDQlMseVosaWwsVWFoLHdlVSxNWU0sUnZaLFE4eCxWWXgsYUcxLFcydyxEZWIsb1gsY0VyLFZaLGswaix6QSxFWixoZDEsbngsTDJNLHhlcixXcSxERixiVSx2cSxlZFMsYVgsT1osQ0osbGwsVEEsQmYsbjVqLEZTLEtKLHVsLGRhdCxYUXgsRzBqLFNhLFFaLHR0dywkZVUseGkscmpqLHNhaSxoVixOYWIsa2ksZW8sWWhpLEhjdCxmNmg7V1o9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG50W25dLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19OwpnLkQxPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG50W25dPVd9OwpuMnc9ZnVuY3Rpb24obixXKXtpZihXKWZvcih2YXIgRD0wO0Q8dloubGVuZ3RoO0QrKylrMih2WltEXSsiQXJyYXkucHJvdG90eXBlLiIrbixXKX07CmhpPWZ1bmN0aW9uKG4sVyl7VyYmazIobixXKX07CmsyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9eDI7bj1uLnNwbGl0KCIuIik7Zm9yKHZhciBiPTA7YjxuLmxlbmd0aC0xO2IrKyl7dmFyIHY9bltiXTtpZighKHYgaW4gRCkpcmV0dXJuO0Q9RFt2XX1uPW5bbi5sZW5ndGgtMV07Yj1EW25dO1c9VyhiKTtXIT1iJiZXIT1udWxsJiZXU0MoRCxuLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6V30pfTsKdjJDPWZ1bmN0aW9uKG4sVyl7bi5wcm90b3R5cGU9RGl4KFcucHJvdG90eXBlKTtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO2J0UyhuLFcpO24uVEI9Vy5wcm90b3R5cGV9OwplVT1mdW5jdGlvbihuKXtuPU1hdGgudHJ1bmMobil8fDA7bjwwJiYobis9dGhpcy5sZW5ndGgpO2lmKCEobjwwfHxuPj10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXNbbl19OwpnLkdiPWZ1bmN0aW9uKG4sVyxEKXtuPW4uc3BsaXQoIi4iKTtEPUR8fGcucWk7Zm9yKHZhciBiO24ubGVuZ3RoJiYoYj1uLnNoaWZ0KCkpOyluLmxlbmd0aHx8Vz09PXZvaWQgMD9EW2JdJiZEW2JdIT09T2JqZWN0LnByb3RvdHlwZVtiXT9EPURbYl06RD1EW2JdPXt9OkRbYl09V307Ck5pPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigiQ0xPU1VSRV9GTEFHUyIpO249RCYmRFtuXTtyZXR1cm4gbiE9bnVsbD9uOld9OwpnLnJyPWZ1bmN0aW9uKG4sVyl7bj1uLnNwbGl0KCIuIik7Vz1XfHxnLnFpO2Zvcih2YXIgRD0wO0Q8bi5sZW5ndGg7RCsrKWlmKFc9V1tuW0RdXSxXPT1udWxsKXJldHVybiBudWxsO3JldHVybiBXfTsKcHQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFchPSJvYmplY3QiP1c6bj9BcnJheS5pc0FycmF5KG4pPyJhcnJheSI6VzoibnVsbCJ9OwpnLlkyPWZ1bmN0aW9uKG4pe3ZhciBXPXB0KG4pO3JldHVybiBXPT0iYXJyYXkifHxXPT0ib2JqZWN0IiYmdHlwZW9mIG4ubGVuZ3RoPT0ibnVtYmVyIn07CmcuZnQ9ZnVuY3Rpb24obil7dmFyIFc9dHlwZW9mIG47cmV0dXJuIFc9PSJvYmplY3QiJiZuIT1udWxsfHxXPT0iZnVuY3Rpb24ifTsKQWk9ZnVuY3Rpb24obil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLFNVKSYmbltTVV18fChuW1NVXT0rK2tidCl9OwpoTWk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLmNhbGwuYXBwbHkobi5iaW5kLGFyZ3VtZW50cyl9OwpnLkt0PWZ1bmN0aW9uKG4sVyxEKXtnLkt0PWhNaTtyZXR1cm4gZy5LdC5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpnLlBaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBiPUQuc2xpY2UoKTtiLnB1c2guYXBwbHkoYixhcmd1bWVudHMpO3JldHVybiBuLmFwcGx5KHRoaXMsYil9fTsKZy5Vdz1mdW5jdGlvbigpe3JldHVybiBEYXRlLm5vdygpfTsKZy55aj1mdW5jdGlvbihuKXtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXJSdW4iLG4pfTsKRXc9ZnVuY3Rpb24obil7cmV0dXJuIG59OwpnLml4PWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRCgpe30KRC5wcm90b3R5cGU9Vy5wcm90b3R5cGU7bi5UQj1XLnByb3RvdHlwZTtuLnByb3RvdHlwZT1uZXcgRDtuLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1uO24uQU89ZnVuY3Rpb24oYix2LGspe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLHg9Mjt4PGFyZ3VtZW50cy5sZW5ndGg7eCsrKWhbeC0yXT1hcmd1bWVudHNbeF07cmV0dXJuIFcucHJvdG90eXBlW3ZdLmFwcGx5KGIsaCl9fTsKdXg9ZnVuY3Rpb24obiwuLi5XKXtXPVcuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighVylyZXR1cm4gbjt2YXIgRD1uLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIEQ/bi5zbGljZSgwLEQuaW5kZXgrMSkrVysiJiIrbi5zbGljZShELmluZGV4KzEpOm4rKG4uaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrV307CmRyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/IiYiK24rIj0iK2VuY29kZVVSSUNvbXBvbmVudChXKToiIn07CnhpTT1mdW5jdGlvbihuKXtuPW4uWDtpZighbilyZXR1cm4iIjt2YXIgVz1kcigidWFwIixuLnBsYXRmb3JtKStkcigidWFwdiIsbi5wbGF0Zm9ybVZlcnNpb24pK2RyKCJ1YWZ2IixuLnVhRnVsbFZlcnNpb24pK2RyKCJ1YWEiLG4uYXJjaGl0ZWN0dXJlKStkcigidWFtIixuLm1vZGVsKStkcigidWFiIixuLmJpdG5lc3MpO24uZnVsbFZlcnNpb25MaXN0JiYoVys9IiZ1YWZ2bD0iK2VuY29kZVVSSUNvbXBvbmVudChuLmZ1bGxWZXJzaW9uTGlzdC5tYXAoRD0+ZW5jb2RlVVJJQ29tcG9uZW50KEQuYnJhbmQpKyI7IitlbmNvZGVVUklDb21wb25lbnQoRC52ZXJzaW9uKSkuam9pbigifCIpKSk7Cm4ud293NjQhPW51bGwmJihXKz0iJnVhdz0iK051bWJlcihuLndvdzY0KSk7cmV0dXJuIFcuc2xpY2UoMSl9Owp6Yj1mdW5jdGlvbihuLFcpe2lmKFchPT1udWxsJiZXIT09dm9pZCAwKXtpZih0eXBlb2YgVyE9PSJvYmplY3QiJiZ0eXBlb2YgVyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkLiIpO2lmKEQ9PT12b2lkIDApe2lmKCFTeW1ib2wuZGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC4iKTt2YXIgRD1XW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgRCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IG5vdCBkaXNwb3NhYmxlLiIpO24uc3RhY2sucHVzaCh7dmFsdWU6VyxkaXNwb3NlOkQsYXN5bmM6ITF9KX1yZXR1cm4gV307Cmx4PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoayl7bi5lcnJvcj1uLmhhc0Vycm9yP25ldyBTdXBwcmVzc2VkRXJyb3IoayxuLmVycm9yLCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIik6aztuLmhhc0Vycm9yPSEwfQpmdW5jdGlvbiBEKCl7Zm9yKDtiPW4uc3RhY2sucG9wKCk7KXRyeXtpZighYi5hc3luYyYmdj09PTEpcmV0dXJuIHY9MCxuLnN0YWNrLnB1c2goYiksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihEKTtpZihiLmRpc3Bvc2Upe3ZhciBrPWIuZGlzcG9zZS5jYWxsKGIudmFsdWUpO2lmKGIuYXN5bmMpcmV0dXJuIHZ8PTIsUHJvbWlzZS5yZXNvbHZlKGspLnRoZW4oRCxmdW5jdGlvbihoKXtXKGgpO3JldHVybiBEKCl9KX1lbHNlIHZ8PTF9Y2F0Y2goaCl7VyhoKX1pZih2PT09MSlyZXR1cm4gbi5oYXNFcnJvcj9Qcm9taXNlLnJlamVjdChuLmVycm9yKTpQcm9taXNlLnJlc29sdmUoKTsKaWYobi5oYXNFcnJvcil0aHJvdyBuLmVycm9yO30KdmFyIGIsdj0wO0QoKX07CmcuVGI9ZnVuY3Rpb24obixXKXtpZihFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSlFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLGcuVGIpO2Vsc2V7bGV0IEQ9RXJyb3IoKS5zdGFjaztEJiYodGhpcy5zdGFjaz1EKX1uJiYodGhpcy5tZXNzYWdlPVN0cmluZyhuKSk7VyE9PXZvaWQgMCYmKHRoaXMuY2F1c2U9Vyl9OwpMUzE9ZnVuY3Rpb24oKXt9OwpnLmpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ubGFzdEluZGV4T2YoVywwKT09MH07CmcuQlo9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmxlbmd0aC1XLmxlbmd0aDtyZXR1cm4gRD49MCYmbi5pbmRleE9mKFcsRCk9PUR9OwpnLkZoPWZ1bmN0aW9uKG4pe3JldHVybi9eW1xzXHhhMF0qJC8udGVzdChuKX07Cmcud3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoVy50b0xvd2VyQ2FzZSgpKSE9LTF9OwpnLmNaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtuPVN0cmluZyhuKS50cmltKCkuc3BsaXQoIi4iKTtXPVN0cmluZyhXKS50cmltKCkuc3BsaXQoIi4iKTt2YXIgYj1NYXRoLm1heChuLmxlbmd0aCxXLmxlbmd0aCk7Zm9yKGxldCBoPTA7RD09MCYmaDxiO2grKyl7dmFyIHY9bltoXXx8IiIsaz1XW2hdfHwiIjtkb3t2PS8oXGQqKShcRCopKC4qKS8uZXhlYyh2KXx8WyIiLCIiLCIiLCIiXTtrPS8oXGQqKShcRCopKC4qKS8uZXhlYyhrKXx8WyIiLCIiLCIiLCIiXTtpZih2WzBdLmxlbmd0aD09MCYma1swXS5sZW5ndGg9PTApYnJlYWs7RD1Waih2WzFdLmxlbmd0aD09MD8wOnBhcnNlSW50KHZbMV0sMTApLGtbMV0ubGVuZ3RoPT0wPzA6cGFyc2VJbnQoa1sxXSwxMCkpfHxWaih2WzJdLmxlbmd0aD09MCxrWzJdLmxlbmd0aD09MCl8fFZqKHZbMl0sa1syXSk7dj12WzNdO2s9a1szXX13aGlsZShEPT0wKX1yZXR1cm4gRH07ClZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG48Vz8tMTpuPlc/MTowfTsKZU1yPWZ1bmN0aW9uKCl7dmFyIG49bnVsbDtpZighbmIpcmV0dXJuIG47dHJ5e2xldCBXPUQ9PkQ7Cm49bmIuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOlcsY3JlYXRlU2NyaXB0OlcsY3JlYXRlU2NyaXB0VVJMOld9KX1jYXRjaChXKXt9cmV0dXJuIG59OwpEND1mdW5jdGlvbigpe1dNPT09dm9pZCAwJiYoV009ZU1yKCkpO3JldHVybiBXTX07CmszPWZ1bmN0aW9uKG4pe3ZhciBXPUQ0KCk7bj1XP1cuY3JlYXRlU2NyaXB0VVJMKG4pOm47cmV0dXJuIG5ldyBiXyhuKX07CngzPWZ1bmN0aW9uKG4pe2lmKG4gaW5zdGFuY2VvZiBiXylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9Owpnej1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5lailyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpxVT1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFhJKFc9Plcuc3Vic3RyKDAsbi5sZW5ndGgrMSkudG9Mb3dlckNhc2UoKT09PW4rIjoiKX07CmcudEY9ZnVuY3Rpb24obixXPWcuRzQpe2lmKG4gaW5zdGFuY2VvZiBnLmVqKXJldHVybiBuO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7KytEKXtsZXQgYj1XW0RdO2lmKGIgaW5zdGFuY2VvZiBYSSYmYi5PVihuKSlyZXR1cm4gbmV3IGcuZWoobil9fTsKZy5yej1mdW5jdGlvbihuKXtpZihnMmoudGVzdChuKSlyZXR1cm4gbn07Cmcuc009ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLmVqP2d6KG4pOmcucnoobil9OwpnLk5VPWZ1bmN0aW9uKG4sVyl7Vz1nLnNNKFcpO1chPT12b2lkIDAmJihuLmhyZWY9Vyl9OwpnLnBiPWZ1bmN0aW9uKG4sVz1gdW5leHBlY3RlZCB2YWx1ZSAke259IWApe3Rocm93IEVycm9yKFcpO307CmcuSE09ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVIVE1MKG4pOm47cmV0dXJuIG5ldyBnLlkzKG4pfTsKZy5mYj1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2YgZy5ZMylyZXR1cm4gbi5OO3Rocm93IEVycm9yKCIiKTt9OwpKRj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9d2luZG93O249Zy5zTShuKTtyZXR1cm4gbiE9PXZvaWQgMD9iLm9wZW4obixXLEQpOm51bGx9OwpTaj1mdW5jdGlvbihuPWRvY3VtZW50KXtuPW4ucXVlcnlTZWxlY3Rvcj8uKCJzY3JpcHRbbm9uY2VdIik7cmV0dXJuIG49PW51bGw/IiI6bi5ub25jZXx8bi5nZXRBdHRyaWJ1dGUoIm5vbmNlIil8fCIifTsKbWM9ZnVuY3Rpb24obil7dmFyIFc9RDQoKTtuPVc/Vy5jcmVhdGVTY3JpcHQobik6bjtyZXR1cm4gbmV3IEFGKG4pfTsKS2I9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIEFGKXJldHVybiBuLk47dGhyb3cgRXJyb3IoIiIpO307Ck9NPWZ1bmN0aW9uKG4pe3ZhciBXPVNqKG4ub3duZXJEb2N1bWVudCk7VyYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixXKX07CmcuUE09ZnVuY3Rpb24obixXKXtuLnNyYz14MyhXKTtPTShuKX07CnF3dD1mdW5jdGlvbihuKXt2YXIgVz0idHJ1ZSIudG9TdHJpbmcoKSxEPVtYWnhgZGF0YS1gXTtpZihELmxlbmd0aD09PTApdGhyb3cgRXJyb3IoIiIpO2lmKEQubWFwKGI9PntpZihiIGluc3RhbmNlb2YgWjQpYj1iLk47ZWxzZSB0aHJvdyBFcnJvcigiIik7cmV0dXJuIGJ9KS5ldmVyeShiPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoYikhPT0wKSl0aHJvdyBFcnJvcignQXR0cmlidXRlICJkYXRhLWxvYWRlZCIgZG9lcyBub3QgbWF0Y2ggYW55IG9mIHRoZSBhbGxvd2VkIHByZWZpeGVzLicpOwpuLnNldEF0dHJpYnV0ZSgiZGF0YS1sb2FkZWQiLFcpfTsKZy5VTT1mdW5jdGlvbihuKXtyZXR1cm4gbltuLmxlbmd0aC0xXX07CmcueTI9ZnVuY3Rpb24obixXKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG4sVyx2b2lkIDApfTsKZy5FTT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChuLFcsRCl9OwpnLmlfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChuLFcsdm9pZCAwKX07CmcudV89ZnVuY3Rpb24obixXLEQpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwobixXLEQpfTsKZy5vTT1mdW5jdGlvbihuLFcpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG4sVyx2b2lkIDApfTsKZy5kej1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG4sVyxEKX07CmcubF89ZnVuY3Rpb24obixXKXtXPWcuejQobixXKTtyZXR1cm4gVzwwP251bGw6dHlwZW9mIG49PT0ic3RyaW5nIj9uLmNoYXJBdChXKTpuW1ddfTsKZy56ND1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5sZW5ndGgsdj10eXBlb2Ygbj09PSJzdHJpbmciP24uc3BsaXQoIiIpOm47Zm9yKGxldCBrPTA7azxiO2srKylpZihrIGluIHYmJlcuY2FsbChELHZba10sayxuKSlyZXR1cm4gaztyZXR1cm4tMX07CmcuVDQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubGVuZ3RoLHY9dHlwZW9mIG49PT0ic3RyaW5nIj9uLnNwbGl0KCIiKTpuO2ZvcigtLWI7Yj49MDtiLS0paWYoYiBpbiB2JiZXLmNhbGwoRCx2W2JdLGIsbikpcmV0dXJuIGI7cmV0dXJuLTF9OwpnLmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwobixXLHZvaWQgMCk+PTB9OwpnLkNiPWZ1bmN0aW9uKG4pe2lmKCFBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKWRlbGV0ZSBuW1ddO24ubGVuZ3RoPTB9OwpnLkZJPWZ1bmN0aW9uKG4sVyl7Vz1BcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG4sVyx2b2lkIDApO3ZhciBEOyhEPVc+PTApJiZnLkJNKG4sVyk7cmV0dXJuIER9OwpnLkJNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zcGxpY2UuY2FsbChuLFcsMSkubGVuZ3RoPT0xfTsKR2JpPWZ1bmN0aW9uKG4sVyl7Vz1nLno0KG4sVyk7Vz49MCYmZy5CTShuLFcpfTsKZy53ej1mdW5jdGlvbihuKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxhcmd1bWVudHMpfTsKZy5STT1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aDtpZihXPjApe2xldCBEPUFycmF5KFcpO2ZvcihsZXQgYj0wO2I8VztiKyspRFtiXT1uW2JdO3JldHVybiBEfXJldHVybltdfTsKZy5RMj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0xO0Q8YXJndW1lbnRzLmxlbmd0aDtEKyspe2xldCBiPWFyZ3VtZW50c1tEXTtpZihnLlkyKGIpKXtsZXQgdj1uLmxlbmd0aHx8MCxrPWIubGVuZ3RofHwwO24ubGVuZ3RoPXYraztmb3IobGV0IGg9MDtoPGs7aCsrKW5bditoXT1iW2hdfWVsc2Ugbi5wdXNoKGIpfX07CmcuY009ZnVuY3Rpb24obixXLEQsYil7QXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShuLFYyKGFyZ3VtZW50cywxKSl9OwpWMj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8PTI/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobixXKTpBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuLFcsRCl9OwpnLlc0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gYU0obixEfHxucCwhMSxXKX07CkRlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGFNKG4sVywhMCl9OwphTT1mdW5jdGlvbihuLFcsRCxiKXtmb3IodmFyIHY9MCxrPW4ubGVuZ3RoLGg7djxrOyl7bGV0IHg9disoay12Pj4+MSksTDtEP0w9Vy5jYWxsKHZvaWQgMCxuW3hdLHgsbik6TD1XKGIsblt4XSk7TD4wP3Y9eCsxOihrPXgsaD0hTCl9cmV0dXJuIGg/djotdi0xfTsKZy5iZj1mdW5jdGlvbihuLFcpe24uc29ydChXfHxucCl9Owp0VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1ucDtnLmJmKG4sZnVuY3Rpb24oYix2KXtyZXR1cm4gRChXKGIpLFcodikpfSl9Owp2ND1mdW5jdGlvbihuLFcsRCl7aWYoIWcuWTIobil8fCFnLlkyKFcpfHxuLmxlbmd0aCE9Vy5sZW5ndGgpcmV0dXJuITE7dmFyIGI9bi5sZW5ndGg7RD1EfHwkaXg7Zm9yKGxldCB2PTA7djxiO3YrKylpZighRChuW3ZdLFdbdl0pKXJldHVybiExO3JldHVybiEwfTsKbnA9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj5XPzE6bjxXPy0xOjB9OwokaXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PVd9OwpnLmtsPWZ1bmN0aW9uKG4sVyxEKXtEPWcuVzQobixXLEQpO0Q8MCYmZy5jTShuLC0oRCsxKSwwLFcpfTsKaEE9ZnVuY3Rpb24obixXKXtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mnx8KG4uX19jbG9zdXJlX19lcnJvcl9fY29udGV4dF9fOTg0MzgyPXt9KTtuLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mi5zZXZlcml0eT1XfTsKcmliPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7bj09bnVsbCYmKG49J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTpuLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOlcsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgRD0hMTt0cnl7dmFyIGI9bi5saW5lTnVtYmVyfHxuLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChrKXtiPSJOb3QgYXZhaWxhYmxlIixEPSEwfXRyeXt2YXIgdj1uLmZpbGVOYW1lfHxuLmZpbGVuYW1lfHxuLnNvdXJjZVVSTHx8Zy5xaS4kZ29vZ0RlYnVnRm5hbWV8fFd9Y2F0Y2goayl7dj0iTm90IGF2YWlsYWJsZSIsRD0hMH1XPXhsKG4pO2lmKCEoIUQmJm4ubGluZU51bWJlciYmbi5maWxlTmFtZSYmbi5zdGFjayYmbi5tZXNzYWdlJiZuLm5hbWUpKXtEPW4ubWVzc2FnZTsKaWYoRD09bnVsbCl7aWYobi5jb25zdHJ1Y3RvciYmbi5jb25zdHJ1Y3RvciBpbnN0YW5jZW9mIEZ1bmN0aW9uKXtpZihuLmNvbnN0cnVjdG9yLm5hbWUpRD1uLmNvbnN0cnVjdG9yLm5hbWU7ZWxzZSBpZihEPW4uY29uc3RydWN0b3IsTHBbRF0pRD1McFtEXTtlbHNle0Q9U3RyaW5nKEQpO2lmKCFMcFtEXSl7bGV0IGs9L2Z1bmN0aW9uXHMrKFteXChdKykvbS5leGVjKEQpO0xwW0RdPWs/a1sxXToiW0Fub255bW91c10ifUQ9THBbRF19RD0nVW5rbm93biBFcnJvciBvZiB0eXBlICInK0QrJyInfWVsc2UgRD0iVW5rbm93biBFcnJvciBvZiB1bmtub3duIHR5cGUiO3R5cGVvZiBuLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyE9PW4udG9TdHJpbmcmJihEKz0iOiAiK24udG9TdHJpbmcoKSl9cmV0dXJue21lc3NhZ2U6RCxuYW1lOm4ubmFtZXx8IlVua25vd25FcnJvciIsbGluZU51bWJlcjpiLGZpbGVOYW1lOnYsc3RhY2s6V3x8Ik5vdCBhdmFpbGFibGUifX1yZXR1cm57bWVzc2FnZTpuLm1lc3NhZ2UsCm5hbWU6bi5uYW1lLGxpbmVOdW1iZXI6bi5saW5lTnVtYmVyLGZpbGVOYW1lOm4uZmlsZU5hbWUsc3RhY2s6V319Owp4bD1mdW5jdGlvbihuLFcpe1d8fChXPXt9KTtXW2UxKG4pXT0hMDt2YXIgRD1uLnN0YWNrfHwiIixiPW4uY2F1c2U7YiYmIVdbZTEoYildJiYoRCs9IlxuQ2F1c2VkIGJ5OiAiLGIuc3RhY2smJmIuc3RhY2suaW5kZXhPZihiLnRvU3RyaW5nKCkpPT0wfHwoRCs9dHlwZW9mIGI9PT0ic3RyaW5nIj9iOmIubWVzc2FnZSsiXG4iKSxEKz14bChiLFcpKTtuPW4uZXJyb3JzO2lmKEFycmF5LmlzQXJyYXkobikpe2I9MTtsZXQgdjtmb3Iodj0wO3Y8bi5sZW5ndGgmJiEoYj40KTt2KyspV1tlMShuW3ZdKV18fChEKz0iXG5Jbm5lciBlcnJvciAiK2IrKyArIjogIixuW3ZdLnN0YWNrJiZuW3ZdLnN0YWNrLmluZGV4T2Yoblt2XS50b1N0cmluZygpKT09MHx8KEQrPXR5cGVvZiBuW3ZdPT09InN0cmluZyI/blt2XTpuW3ZdLm1lc3NhZ2UrIlxuIiksRCs9eGwoblt2XSxXKSk7djxuLmxlbmd0aCYmKEQrPSJcbi4uLiAiKyhuLmxlbmd0aC12KSsiIG1vcmUgaW5uZXIgZXJyb3JzIil9cmV0dXJuIER9OwplMT1mdW5jdGlvbihuKXt2YXIgVz0iIjt0eXBlb2Ygbi50b1N0cmluZz09PSJmdW5jdGlvbiImJihXPSIiK24pO3JldHVybiBXK24uc3RhY2t9OwpnLmdUPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wYXJzZUZyb21TdHJpbmcoZy5mYihXKSxEKX07ClhNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBXb3JrZXIoeDMobiksVyl9OwpxaD1mdW5jdGlvbihuKXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhuKSl9OwpHNT1mdW5jdGlvbihuKXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KG4ucmVwbGFjZSgvXCsvZywiICIpKX07CmcudEE9ZnVuY3Rpb24obil7c0NoLnRlc3QobikmJihuLmluZGV4T2YoIiYiKSE9LTEmJihuPW4ucmVwbGFjZShOcmgsIiZhbXA7IikpLG4uaW5kZXhPZigiPCIpIT0tMSYmKG49bi5yZXBsYWNlKHBadywiJmx0OyIpKSxuLmluZGV4T2YoIj4iKSE9LTEmJihuPW4ucmVwbGFjZShZd2ksIiZndDsiKSksbi5pbmRleE9mKCciJykhPS0xJiYobj1uLnJlcGxhY2UoSHRVLCImcXVvdDsiKSksbi5pbmRleE9mKCInIikhPS0xJiYobj1uLnJlcGxhY2UoZjFTLCImIzM5OyIpKSxuLmluZGV4T2YoIlx4MDAiKSE9LTEmJihuPW4ucmVwbGFjZShKaVosIiYjMDsiKSkpO3JldHVybiBufTsKZy5yVD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD8iIjpTdHJpbmcobil9OwpzVD1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKVc9MzEqVytuLmNoYXJDb2RlQXQoRCk+Pj4wO3JldHVybiBXfTsKZy5OaD1mdW5jdGlvbihuKXt2YXIgVz1OdW1iZXIobik7cmV0dXJuIFc9PTAmJmcuRmgobik/TmFOOld9OwpwcD1mdW5jdGlvbihuKXtyZXR1cm4gU3RyaW5nKG4pLnJlcGxhY2UoL1wtKFthLXpdKS9nLGZ1bmN0aW9uKFcsRCl7cmV0dXJuIEQudG9VcHBlckNhc2UoKX0pfTsKSTFpPWZ1bmN0aW9uKG4pe3JldHVybiBuLnJlcGxhY2UoUmVnRXhwKCIoXnxbXFxzXSspKFthLXpdKSIsImciKSxmdW5jdGlvbihXLEQsYil7cmV0dXJuIEQrYi50b1VwcGVyQ2FzZSgpfSl9OwpTd2g9ZnVuY3Rpb24obil7dmFyIFc9MTtuPW4uc3BsaXQoIjoiKTtmb3IodmFyIEQ9W107Vz4wJiZuLmxlbmd0aDspRC5wdXNoKG4uc2hpZnQoKSksVy0tO24ubGVuZ3RoJiZELnB1c2gobi5qb2luKCI6IikpO3JldHVybiBEfTsKZy5IND1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD0iIjtuJiYoeCs9bisiOiIpO0QmJih4Kz0iLy8iLFcmJih4Kz1XKyJAIikseCs9RCxiJiYoeCs9IjoiK2IpKTt2JiYoeCs9dik7ayYmKHgrPSI/IitrKTtoJiYoeCs9IiMiK2gpO3JldHVybiB4fTsKZy5mcD1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXRjaChBaXIpfTsKSkE9ZnVuY3Rpb24obil7cmV0dXJuIG4/ZGVjb2RlVVJJKG4pOm59OwpnLklQPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzNdfHxudWxsKX07ClMxPWZ1bmN0aW9uKG4pe3JldHVybiBKQShnLmZwKG4pWzVdfHxudWxsKX07CkFBPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChuWzFdLG5bMl0sblszXSxuWzRdKX07Cm1XPWZ1bmN0aW9uKG4pe249Zy5mcChuKTtyZXR1cm4gZy5INChudWxsLG51bGwsbnVsbCxudWxsLG5bNV0sbls2XSxuWzddKX07CktwPWZ1bmN0aW9uKG4pe3ZhciBXPW4uaW5kZXhPZigiIyIpO3JldHVybiBXPDA/bjpuLnNsaWNlKDAsVyl9OwpnLk9UPWZ1bmN0aW9uKG4sVyl7aWYobil7bj1uLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe2xldCBiPW5bRF0uaW5kZXhPZigiPSIpLHYsaz1udWxsO2I+PTA/KHY9bltEXS5zdWJzdHJpbmcoMCxiKSxrPW5bRF0uc3Vic3RyaW5nKGIrMSkpOnY9bltEXTtXKHYsaz9HNShrKToiIil9fX07ClA0PWZ1bmN0aW9uKG4sVyl7aWYoIVcpcmV0dXJuIG47dmFyIEQ9bi5pbmRleE9mKCIjIik7RDwwJiYoRD1uLmxlbmd0aCk7dmFyIGI9bi5pbmRleE9mKCI/Iik7aWYoYjwwfHxiPkQpe2I9RDt2YXIgdj0iIn1lbHNlIHY9bi5zdWJzdHJpbmcoYisxLEQpO249W24uc2xpY2UoMCxiKSx2LG4uc2xpY2UoRCldO0Q9blsxXTtuWzFdPVc/RD9EKyImIitXOlc6RDtyZXR1cm4gblswXSsoblsxXT8iPyIrblsxXToiIikrblsyXX07ClplPWZ1bmN0aW9uKG4sVyxEKXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKVplKG4sU3RyaW5nKFdbYl0pLEQpO2Vsc2UgVyE9bnVsbCYmRC5wdXNoKG4rKFc9PT0iIj8iIjoiPSIrcWgoVykpKX07CnlHPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKVplKEQsbltEXSxXKTtyZXR1cm4gVy5qb2luKCImIil9OwpnLkVUPWZ1bmN0aW9uKG4sVyl7Vz15RyhXKTtyZXR1cm4gUDQobixXKX07CmcudWY9ZnVuY3Rpb24obixXLEQpe0Q9RCE9bnVsbD8iPSIrcWgoRCk6IiI7cmV0dXJuIFA0KG4sVytEKX07CmcuZFQ9ZnVuY3Rpb24obixXLEQsYil7Zm9yKHZhciB2PUQubGVuZ3RoOyhXPW4uaW5kZXhPZihELFcpKT49MCYmVzxiOyl7dmFyIGs9bi5jaGFyQ29kZUF0KFctMSk7aWYoaz09Mzh8fGs9PTYzKWlmKGs9bi5jaGFyQ29kZUF0KFcrdiksIWt8fGs9PTYxfHxrPT0zOHx8az09MzUpcmV0dXJuIFc7Vys9disxfXJldHVybi0xfTsKZy5sZj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VhcmNoKGcuejUpLGI9Zy5kVChuLDAsVyxEKTtpZihiPDApcmV0dXJuIG51bGw7dmFyIHY9bi5pbmRleE9mKCImIixiKTtpZih2PDB8fHY+RCl2PUQ7Yis9Vy5sZW5ndGgrMTtyZXR1cm4gRzUobi5zbGljZShiLHYhPT0tMT92OjApKX07ClQ1PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPW4uc2VhcmNoKGcuejUpLGI9MCx2LGs9W107KHY9Zy5kVChuLGIsVyxEKSk+PTA7KWsucHVzaChuLnN1YnN0cmluZyhiLHYpKSxiPU1hdGgubWluKG4uaW5kZXhPZigiJiIsdikrMXx8RCxEKTtrLnB1c2gobi5zbGljZShiKSk7cmV0dXJuIGsuam9pbigiIikucmVwbGFjZShtaTEsIiQxIil9OwpLUzE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLnVmKFQ1KG4sVyksVyxEKX07CmcuQ3A9ZnVuY3Rpb24obil7biYmdHlwZW9mIG4uZGlzcG9zZT09ImZ1bmN0aW9uIiYmbi5kaXNwb3NlKCl9OwpnLkI0PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wLEQ9YXJndW1lbnRzLmxlbmd0aDtXPEQ7KytXKXtsZXQgYj1hcmd1bWVudHNbV107Zy5ZMihiKT9nLkI0LmFwcGx5KG51bGwsYik6Zy5DcChiKX19OwpnLkZNPWZ1bmN0aW9uKCl7dGhpcy5IRD10aGlzLkhEO3RoaXMuQlY9dGhpcy5CVn07CmcudT1mdW5jdGlvbihuLFcpe24uYWRkT25EaXNwb3NlQ2FsbGJhY2soZy5QWihnLkNwLFcpKX07CmcuTWg9ZnVuY3Rpb24obj0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoVz0+e2lmKHdpbmRvdz09PXdpbmRvdy50b3ApdmFyIEQ9d2luZG93O2Vsc2V7dHJ5e0Q9ISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2godil7RD0hMH1EPUQ/d2luZG93OndpbmRvdy50b3B9dmFyIGI9RFtuXTtiPy5iZXZhc3JzP1cobmV3IHdUKGIuYmV2YXNycykpOihifHwoYj17bnFmYmVsOltdfSxEW25dPWIpLGIubnFmYmVsLnB1c2godj0+e1cobmV3IHdUKHYpKX0pKX0pfTsKUlA9ZnVuY3Rpb24obil7dmFyIFc9e2M6bi53XyxlOm4ueEMsbWM6bi5HcixtZTpuLkVSfTtuLmhHJiYoVy5jbz17YzpuLmhHLmFtLGE6bi5oRy5BQixzOm4uaEcucjN9KTtyZXR1cm4gV307Ck90aT1mdW5jdGlvbihuKXtuLkohPT12b2lkIDAmJihuLlcuZm9yRWFjaChXPT57bi5KPy5yZW1vdmVFdmVudExpc3RlbmVyKFcsbi5YKX0pLG4uSj12b2lkIDApfTsKWnRaPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLk8xLndwYyl0aHJvdyBuZXcgUUcoMzAsIk5XQSIpO2lmKG4uTilyZXR1cm4gbi5OO3ZhciBXPWF3YWl0IG4uTzEud3BjKCk7bi5OPW5ldyBQeFMoVyk7cmV0dXJuIG4uTn07Cm4wPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO1ZHKG4sYzQsNikuZm9yRWFjaChEPT57YVAoRCwyKTw9NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClVpdz1mdW5jdGlvbihuKXt2YXIgVz1bXTtWRyhuLGM0LDYpLmZvckVhY2goRD0+e2FQKEQsMik+NTMmJlcucHVzaChhUChELDEpKX0pOwpyZXR1cm4gV307ClcyPWZ1bmN0aW9uKG4pe24udGhlbigoKT0+e30sKCk9Pnt9KX07CkRYPWZ1bmN0aW9uKG4pe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6bn19OwpicD1mdW5jdGlvbihuKXtyZXR1cm57ZmllbGRUeXBlOjMsZmllbGROYW1lOm59fTsKa0s9ZnVuY3Rpb24obil7cmV0dXJuKHYyfHwodjI9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKG4pfTsKaDQ9ZnVuY3Rpb24obil7Zy5xaS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgbjt9LDApfTsKeWl0PWZ1bmN0aW9uKG4pe3JldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwobixmdW5jdGlvbihXKXtXPVcudG9TdHJpbmcoMTYpO3JldHVybiBXLmxlbmd0aD4xP1c6IjAiK1d9KS5qb2luKCIiKX07CnhLPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCs9MilXLnB1c2gocGFyc2VJbnQobi5zdWJzdHJpbmcoRCxEKzIpLDE2KSk7cmV0dXJuIFd9OwpMMD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT01NTI5NiYmYisxPG4ubGVuZ3RoJiYobi5jaGFyQ29kZUF0KGIrMSkmNjQ1MTIpPT01NjMyMD8odj02NTUzNisoKHYmMTAyMyk8PDEwKSsobi5jaGFyQ29kZUF0KCsrYikmMTAyMyksV1tEKytdPXY+PjE4fDI0MCxXW0QrK109dj4+MTImNjN8MTI4KTpXW0QrK109dj4+MTJ8MjI0LFdbRCsrXT12Pj42JjYzfDEyOCksV1tEKytdPXYmNjN8MTI4KX1yZXR1cm4gV307CmcuWFE9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbiYmKG49bi51c2VyQWdlbnQpP246IiJ9OwokSz1mdW5jdGlvbihuKXtpZighZy5xeCYmIWcuR2h8fCFnLnQ0KXJldHVybiExO2ZvcihsZXQgVz0wO1c8Zy50NC5icmFuZHMubGVuZ3RoO1crKyl7bGV0IHticmFuZDpEfT1nLnQ0LmJyYW5kc1tXXTtpZihEJiZELmluZGV4T2YobikhPS0xKXJldHVybiEwfXJldHVybiExfTsKZy5yVz1mdW5jdGlvbihuKXtyZXR1cm4gZy5YUSgpLmluZGV4T2YobikhPS0xfTsKc0E9ZnVuY3Rpb24oKXtyZXR1cm4gZy5xeHx8Zy5HaD8hIWcudDQmJmcudDQuYnJhbmRzLmxlbmd0aD4wOiExfTsKTng9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8hMTpnLnJXKCJPcGVyYSIpfTsKcDA9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiRmlyZWZveCIpfHxnLnJXKCJGeGlPUyIpfTsKZy5IMj1mdW5jdGlvbigpe3JldHVybiBnLnJXKCJTYWZhcmkiKSYmIShZSygpfHwoc0EoKT8wOmcuclcoIkNvYXN0IikpfHxOeCgpfHwoc0EoKT8wOmcuclcoIkVkZ2UiKSl8fChzQSgpPyRLKCJNaWNyb3NvZnQgRWRnZSIpOmcuclcoIkVkZy8iKSl8fChzQSgpPyRLKCJPcGVyYSIpOmcuclcoIk9QUiIpKXx8cDAoKXx8Zy5yVygiU2lsayIpfHxnLnJXKCJBbmRyb2lkIikpfTsKWUs9ZnVuY3Rpb24oKXtyZXR1cm4gc0EoKT8kSygiQ2hyb21pdW0iKTooZy5yVygiQ2hyb21lIil8fGcuclcoIkNyaU9TIikpJiYhKHNBKCk/MDpnLnJXKCJFZGdlIikpfHxnLnJXKCJTaWxrIil9OwpnLmYwPWZ1bmN0aW9uKCl7cmV0dXJuIGcucXh8fGcuR2g/ISFnLnQ0JiYhIWcudDQucGxhdGZvcm06ITF9Owp2YXIgRTJVPWZ1bmN0aW9uKG4sVyxELGIsdil7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDI1LDE4NjYsbixXLEQsYix2KX07CmcuSTI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5mMCgpP2cudDQucGxhdGZvcm09PT0iQW5kcm9pZCI6Zy5yVygiQW5kcm9pZCIpfTsKU3U9ZnVuY3Rpb24oKXtyZXR1cm4gZy5yVygiaVBob25lIikmJiFnLnJXKCJpUG9kIikmJiFnLnJXKCJpUGFkIil9OwpnLkE0PWZ1bmN0aW9uKCl7cmV0dXJuIFN1KCl8fGcuclcoImlQYWQiKXx8Zy5yVygiaVBvZCIpfTsKZy5teD1mdW5jdGlvbigpe3JldHVybiBnLmYwKCk/Zy50NC5wbGF0Zm9ybT09PSJtYWNPUyI6Zy5yVygiTWFjaW50b3NoIil9OwpnLkswPWZ1bmN0aW9uKCl7cmV0dXJuIGcuZjAoKT9nLnQ0LnBsYXRmb3JtPT09IldpbmRvd3MiOmcuclcoIldpbmRvd3MiKX07CmcuT0E9ZnVuY3Rpb24obil7Zy5PQVsiICJdKG4pO3JldHVybiBufTsKdWhoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9aXR4O3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxuKT9EW25dOkRbbl09VyhuKX07CmcuWlg9ZnVuY3Rpb24obil7cmV0dXJuIHVoaChuLGZ1bmN0aW9uKCl7cmV0dXJuIGcuY1ooUDIsbik+PTB9KX07CmcuRUE9ZnVuY3Rpb24obixXKXtXPT09dm9pZCAwJiYoVz0wKTtVQSgpO1c9eWxbV107Zm9yKHZhciBEPUFycmF5KE1hdGguZmxvb3Iobi5sZW5ndGgvMykpLGI9V1s2NF18fCIiLHY9MCxrPTA7djxuLmxlbmd0aC0yO3YrPTMpe3ZhciBoPW5bdl0seD1uW3YrMV0sTD1uW3YrMl0sZT1XW2g+PjJdO2g9V1soaCYzKTw8NHx4Pj40XTt4PVdbKHgmMTUpPDwyfEw+PjZdO0w9V1tMJjYzXTtEW2srK109IiIrZStoK3grTH1lPTA7TD1iO3N3aXRjaChuLmxlbmd0aC12KXtjYXNlIDI6ZT1uW3YrMV0sTD1XWyhlJjE1KTw8Ml18fGI7Y2FzZSAxOm49blt2XSxEW2tdPSIiK1dbbj4+Ml0rV1sobiYzKTw8NHxlPj40XStMK2J9cmV0dXJuIEQuam9pbigiIil9Owp2YXIgbzJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlwW0lbMTBdXSh0aGlzLDEsMTcwOCxuLFcpfTsKZy51cD1mdW5jdGlvbihuLFcsRCl7aWYoVyl7bGV0IGI9W10sdj0wO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKXtsZXQgaD1uLmNoYXJDb2RlQXQoayk7aWYoaD4yNTUpe2xldCB4PUVycm9yKCJnby91bmljb2RlLXRvLWJ5dGUtZXJyb3IiKTtpZihEKXRocm93IHg7Ylt2KytdPWgmMjU1O2g+Pj04fWJbdisrXT1ofW49Zy5FQShiLFcpfWVsc2Ugbj1nLnFpLmJ0b2Eobik7cmV0dXJuIG59Owp6aD1mdW5jdGlvbihuKXt2YXIgVz1bXTtvMihuLGZ1bmN0aW9uKEQpe1cucHVzaChEKX0pOwpyZXR1cm4gV307CmxwPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubGVuZ3RoLEQ9VyozLzQ7RCUzP0Q9TWF0aC5mbG9vcihEKToiPS4iLmluZGV4T2YobltXLTFdKSE9LTEmJihEPSI9LiIuaW5kZXhPZihuW1ctMl0pIT0tMT9ELTI6RC0xKTt2YXIgYj1uZXcgVWludDhBcnJheShEKSx2PTA7bzIobixmdW5jdGlvbihrKXtiW3YrK109a30pOwpyZXR1cm4gdiE9PUQ/Yi5zdWJhcnJheSgwLHYpOmJ9OwpvMj1mdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQodil7Zm9yKDtiPG4ubGVuZ3RoOyl7bGV0IGs9bi5jaGFyQXQoYisrKSxoPVRoW2tdO2lmKGghPW51bGwpcmV0dXJuIGg7aWYoIWcuRmgoaykpdGhyb3cgRXJyb3IoIlVua25vd24gYmFzZTY0IGVuY29kaW5nIGF0IGNoYXI6ICIrayk7fXJldHVybiB2fQpVQSgpO2Zvcih2YXIgYj0wOzspe2xldCB2PUQoLTEpLGs9RCgwKSxoPUQoNjQpLHg9RCg2NCk7aWYoeD09PTY0JiZ2PT09LTEpYnJlYWs7Vyh2PDwyfGs+PjQpO2ghPTY0JiYoVyhrPDw0JjI0MHxoPj4yKSx4IT02NCYmVyhoPDw2JjE5Mnx4KSl9fTsKVUE9ZnVuY3Rpb24oKXtpZighVGgpe1RoPXt9O3ZhciBuPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIuc3BsaXQoIiIpLFc9WyIrLz0iLCIrLyIsIi1fPSIsIi1fLiIsIi1fIl07Zm9yKGxldCBEPTA7RDw1O0QrKyl7bGV0IGI9bi5jb25jYXQoV1tEXS5zcGxpdCgiIikpO3lsW0RdPWI7Zm9yKGxldCB2PTA7djxiLmxlbmd0aDt2Kyspe2xldCBrPWJbdl07VGhba109PT12b2lkIDAmJihUaFtrXT12KX19fX07CnpNMj1mdW5jdGlvbihuKXtyZXR1cm4gZGlVW25dfHwiIn07CkMwPWZ1bmN0aW9uKG4pe249anUudGVzdChuKT9uLnJlcGxhY2UoanUsek0yKTpuO249YXRvYihuKTt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpNeD1mdW5jdGlvbigpe3JldHVybiBCMnx8KEIyPW5ldyBGUShudWxsLHdXKSl9OwpRbD1mdW5jdGlvbihuKXtSMih3Vyk7dmFyIFc9bi5OO1c9Vz09bnVsbHx8VyE9bnVsbCYmVyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Vzp0eXBlb2YgVz09PSJzdHJpbmciP0MwKFcpOm51bGw7cmV0dXJuIFc9PW51bGw/VzpuLk49V307ClZsPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVWludDhBcnJheShRbChuKXx8MCl9OwpSMj1mdW5jdGlvbihuKXtpZihuIT09d1cpdGhyb3cgRXJyb3IoImlsbGVnYWwgZXh0ZXJuYWwgY2FsbGVyIik7fTsKYzI9ZnVuY3Rpb24obil7bj1FcnJvcihuKTtoQShuLCJ3YXJuaW5nIik7cmV0dXJuIG59OwpuNT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpe3ZhciBEPWEyPz8oYTI9e30pO3ZhciBiPURbbl18fDA7Yj49V3x8KERbbl09YisxLG49RXJyb3IoKSxoQShuLCJpbmNpZGVudCIpLGg0KG4pKX19OwpXOT1mdW5jdGlvbihuLFc9ITEpe3JldHVybiBXJiZTeW1ib2wuZm9yJiZuP1N5bWJvbC5mb3Iobik6biE9bnVsbD9TeW1ib2wobik6U3ltYm9sKCl9Owp2OT1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwP24uTiE9PURCJiYhISgyJihuLmw5W2I0XXwwKSk6ISEoMiZXKSYmbi5OIT09REJ9OwprVT1mdW5jdGlvbihuLFcpe2lmKG4hPW51bGwpaWYodHlwZW9mIG49PT0ic3RyaW5nIiluPW4/bmV3IEZRKG4sd1cpOk14KCk7ZWxzZSBpZihuLmNvbnN0cnVjdG9yIT09RlEpaWYobiE9bnVsbCYmbiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpbj1uLmxlbmd0aD9uZXcgRlEobmV3IFVpbnQ4QXJyYXkobiksd1cpOk14KCk7ZWxzZXtpZighVyl0aHJvdyBFcnJvcigpO249dm9pZCAwfXJldHVybiBufTsKaF89ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcmMTI4PzA6LTEsdj1uLmxlbmd0aCxrO2lmKGs9ISF2KWs9blt2LTFdLGs9ayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdDt2YXIgaD12KyhrPy0xOjApO2ZvcihXPVcmMTI4PzE6MDtXPGg7VysrKUQoVy1iLG5bV10pO2lmKGspe249blt2LTFdO2ZvcihsZXQgeCBpbiBuKSFpc05hTih4KSYmRCgreCxuW3hdKX19OwpMNT1mdW5jdGlvbihuKXtyZXR1cm4gbiYxMjg/eFU6dm9pZCAwfTsKWEQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVdebjtpZihuLTY+PjM9PTIpeyhEW2JeNTE4XT49LShiXjU1MSl8fCgoMCxEW2JeNTE1XSkoRFtiXjUyMV0sRFtiXjYwOV0pLDApKSYmKDAsRFtiXjU2M10pKERbYl42MDldKTsoMCxEWzZdKSgpOygoMCxEW2JeNTMzXSkoRFtiXjU3NF0sRFtiXjU3Ml0pLERbYl41MzNdKShEW2JeNTM4XSxEW2JeNTcyXSk7dmFyIHY9W119aWYoKG4mMTIwKT09bil0aHJvdyBEO2lmKG4tNzw8MjxuJiYobi00fDMxKT49bil7Zm9yKHZhciBrPWJeMzE1NCxoPVtdOysray1oW0lbNV1dLShiXjMxMjIpOylzd2l0Y2goayl7Y2FzZSBiXjMxMzI6az1iXjMxNDk7ZGVmYXVsdDpoW0lbYl4zMDc2XV0oU3RyaW5nW0lbYl4zMTA0XV0oaykpO2Nhc2UgYl4zMTQ4OmNhc2UgYl4zMTQ5OmNhc2UgYl4zMTg2OmJyZWFrO2Nhc2UgYl4zMTc3OmstPWJeMzE2NjtjYXNlIGJeMzE1MDpjYXNlIGJeMzE1MTpjb250aW51ZTtjYXNlIGJeMzExMjprPWJeMzEzNDtjYXNlIGJeMzE0NTp9dj0KaH0obnw1Nik9PW4mJihlWChiXjQ1MDksYl4zNTE4LEQpLChrPURbSVsxXV1bSVtiXjQ0OTRdXXx8bnVsbCkmJihrPWdaKDIsYl4yMjE3LGssRCkpLHY9W10pO3JldHVybiB2fTsKcTM9ZnVuY3Rpb24obil7bi5URj0hMDtyZXR1cm4gbn07CmcuJFU9ZnVuY3Rpb24obil7aWYoKDAsZy5HOSkobikpe2lmKCEvXlxzKig/Oi0/WzEtOV1cZCp8MCk/XHMqJC8udGVzdChuKSl0aHJvdyBFcnJvcihTdHJpbmcobikpO31lbHNlIGlmKCgwLGcudF8pKG4pJiYhTnVtYmVyLmlzU2FmZUludGVnZXIobikpdGhyb3cgRXJyb3IoU3RyaW5nKG4pKTtyZXR1cm4gQmlnSW50KG4pfTsKTjM9ZnVuY3Rpb24obil7dmFyIFc9bj4+PjA7clo9VztzXz0obi1XKS80Mjk0OTY3Mjk2Pj4+MH07CnA1PWZ1bmN0aW9uKG4pe2lmKG48MCl7TjMoMC1uKTtuPXJaO3ZhciBXPXNfO1c9flc7bj9uPX5uKzE6Vys9MTtsZXQgW0QsYl09W24sV107clo9RD4+PjA7c189Yj4+PjB9ZWxzZSBOMyhuKX07Ckg5PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vyo0Mjk0OTY3Mjk2KyhuPj4+MCk7cmV0dXJuIE51bWJlci5pc1NhZmVJbnRlZ2VyKEQpP0Q6WVUobixXKX07CmY1PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuJFUoQmlnSW50LmFzVWludE4oNjQsKEJpZ0ludChXPj4+MCk8PEJpZ0ludCgzMikpK0JpZ0ludChuPj4+MCkpKX07CmcuSl89ZnVuY3Rpb24obixXKXtyZXR1cm4gZy4kVShCaWdJbnQuYXNJbnROKDY0LChCaWdJbnQuYXNVaW50TigzMixCaWdJbnQoVykpPDxCaWdJbnQoMzIpKStCaWdJbnQuYXNVaW50TigzMixCaWdJbnQobikpKSl9OwpZVT1mdW5jdGlvbihuLFcpe1c+Pj49MDtuPj4+PTA7dmFyIEQ7Vzw9MjA5NzE1MT9EPSIiKyg0Mjk0OTY3Mjk2Klcrbik6RD0iIisoQmlnSW50KFcpPDxCaWdJbnQoMzIpfEJpZ0ludChuKSk7cmV0dXJuIER9OwpJMD1mdW5jdGlvbigpe3ZhciBuPXJaLFc9c18sRDtXJjIxNDc0ODM2NDg/RD0iIisoQmlnSW50KFd8MCk8PEJpZ0ludCgzMil8QmlnSW50KG4+Pj4wKSk6RD1ZVShuLFcpO3JldHVybiBEfTsKU1g9ZnVuY3Rpb24obil7bi5sZW5ndGg8MTY/cDUoTnVtYmVyKG4pKToobj1CaWdJbnQobiksclo9TnVtYmVyKG4mQmlnSW50KDQyOTQ5NjcyOTUpKT4+PjAsc189TnVtYmVyKG4+PkJpZ0ludCgzMikmQmlnSW50KDQyOTQ5NjcyOTUpKSl9OwpnLkFfPWZ1bmN0aW9uKG4pe2lmKG4hPW51bGwmJnR5cGVvZiBuIT09Im51bWJlciIpdGhyb3cgRXJyb3IoYFZhbHVlIG9mIGZsb2F0L2RvdWJsZSBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyLCBmb3VuZCAke3R5cGVvZiBufTogJHtufWApO3JldHVybiBufTsKbTA9ZnVuY3Rpb24obil7aWYobj09bnVsbHx8dHlwZW9mIG49PT0ibnVtYmVyIilyZXR1cm4gbjtpZihuPT09Ik5hTiJ8fG49PT0iSW5maW5pdHkifHxuPT09Ii1JbmZpbml0eSIpcmV0dXJuIE51bWJlcihuKX07Cks1PWZ1bmN0aW9uKG4pe3JldHVybiBuLmRpc3BsYXlOYW1lfHxuLm5hbWV8fCJ1bmtub3duIHR5cGUgbmFtZSJ9OwpPXz1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJib29sZWFuIil0aHJvdyBFcnJvcihgRXhwZWN0ZWQgYm9vbGVhbiBidXQgZ290ICR7cHQobil9OiAke259YCk7cmV0dXJuIG59OwpaQj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4gUDkobik7Y2FzZSAic3RyaW5nIjpyZXR1cm4gbDEyLnRlc3Qobik7ZGVmYXVsdDpyZXR1cm4hMX19OwpVXz1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJudW1iZXIiKXRocm93IGMyKCJpbnQzMiIpO2lmKCFQOShuKSl0aHJvdyBjMigiaW50MzIiKTtyZXR1cm4gbnwwfTsKZy55UD1mdW5jdGlvbihuKXtyZXR1cm4gbj09bnVsbD9uOlVfKG4pfTsKRV89ZnVuY3Rpb24obil7aWYobj09bnVsbClyZXR1cm4gbjtpZih0eXBlb2Ygbj09PSJzdHJpbmciJiZuKW49K247ZWxzZSBpZih0eXBlb2YgbiE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4gUDkobik/bnwwOnZvaWQgMH07CnU0PWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47aWYodHlwZW9mIG49PT0ic3RyaW5nIiYmbiluPStuO2Vsc2UgaWYodHlwZW9mIG4hPT0ibnVtYmVyIilyZXR1cm47cmV0dXJuIFA5KG4pP24+Pj4wOnZvaWQgMH07CmcubDQ9ZnVuY3Rpb24obil7aWYobiE9bnVsbClhOntpZighWkIobikpdGhyb3cgYzIoImludDY0Iik7c3dpdGNoKHR5cGVvZiBuKXtjYXNlICJzdHJpbmciOm49bzAobik7YnJlYWsgYTtjYXNlICJiaWdpbnQiOm49Zy4kVShkWig2NCxuKSk7YnJlYWsgYTtkZWZhdWx0Om49ejkobil9fXJldHVybiBufTsKQzU9ZnVuY3Rpb24obil7WkIobik7bj1UOShuKTtpZighalgobikpe3A1KG4pO3ZhciBXPXJaLEQ9c187aWYobj1EJjIxNDc0ODM2NDgpVz1+VysxPj4+MCxEPX5EPj4+MCxXPT0wJiYoRD1EKzE+Pj4wKTtXPUg5KFcsRCk7bj10eXBlb2YgVz09PSJudW1iZXIiP24/LVc6VzpuPyItIitXOld9cmV0dXJuIG59OwpCOT1mdW5jdGlvbihuKXtaQihuKTt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBTdHJpbmcoVyk7Vz1uLmluZGV4T2YoIi4iKTtXIT09LTEmJihuPW4uc3Vic3RyaW5nKDAsVykpO1c9bi5sZW5ndGg7KG5bMF09PT0iLSI/VzwyMHx8Vz09PTIwJiZuPD0iLTkyMjMzNzIwMzY4NTQ3NzU4MDgiOlc8MTl8fFc9PT0xOSYmbjw9IjkyMjMzNzIwMzY4NTQ3NzU4MDciKXx8KFNYKG4pLG49STAoKSk7cmV0dXJuIG59OwpvMD1mdW5jdGlvbihuKXt2YXIgVz1UOShOdW1iZXIobikpO2lmKGpYKFcpKXJldHVybiBnLiRVKFcpO1c9bi5pbmRleE9mKCIuIik7VyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKTtyZXR1cm4gZy4kVShkWig2NCxCaWdJbnQobikpKX07Cno5PWZ1bmN0aW9uKG4pe2pYKG4pP249Zy4kVShDNShuKSk6KFpCKG4pLG49VDkobiksalgobik/bj1TdHJpbmcobik6KHA1KG4pLG49STAoKSksbj1nLiRVKG4pKTtyZXR1cm4gbn07CkZEPWZ1bmN0aW9uKG4pe3ZhciBXPXR5cGVvZiBuO2lmKG49PW51bGwpcmV0dXJuIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBnLiRVKGRaKDY0LG4pKTtpZihaQihuKSlyZXR1cm4gVz09PSJzdHJpbmciP28wKG4pOno5KG4pfTsKakNoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgeCBvZiBEKXtpZigheC51cmwpY29udGludWU7RD1uZXcgZy53Wih4LnVybCwhMCk7aWYoeC5zKXt2YXIgaz1ELGg9eC5zcDtsZXQgTD1lWCg4Myw2NTU4LE0zKDE3LDQyNjMseC5zKSk7a1tJWzM0XV0oaCxSMCgyOSw4NzMyLEwpKX1mb3IobGV0IEwgb2YgT2JqZWN0LmtleXMoYikpRC5zZXQoTCxiW0xdKTtrPVFQKHgudHlwZSx4LnF1YWxpdHkseC5pdGFnLHgud2lkdGgseC5oZWlnaHQpO3YucHVzaChuZXcgVHJ3KGssRCkpfXJldHVybiBWUChuLlcsdixjOShuLFcpLCExKX07CkN4TT1mdW5jdGlvbihuKXtpZihuPT1udWxsKXJldHVybiBuO3ZhciBXPXR5cGVvZiBuO2lmKFc9PT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKGRaKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBCOShuKTtpZihXPT09Im51bWJlciIpcmV0dXJuIEM1KG4pfX07CmEwPWZ1bmN0aW9uKG4pe2lmKG49PW51bGwpcmV0dXJuIG47dmFyIFc9dHlwZW9mIG47aWYoVz09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoQnJoKDY0LG4pKTtpZihaQihuKSl7aWYoVz09PSJzdHJpbmciKXJldHVybiBaQihuKSxXPVQ5KE51bWJlcihuKSksalgoVykmJlc+PTA/bj1TdHJpbmcoVyk6KFc9bi5pbmRleE9mKCIuIiksVyE9PS0xJiYobj1uLnN1YnN0cmluZygwLFcpKSxuWzBdPT09Ii0iP1c9ITE6KFc9bi5sZW5ndGgsVz1XPDIwPyEwOlc9PT0yMCYmbjw9IjE4NDQ2NzQ0MDczNzA5NTUxNjE1IiksV3x8KFNYKG4pLG49WVUoclosc18pKSksbjtpZihXPT09Im51bWJlciIpcmV0dXJuIFpCKG4pLG49VDkobiksbj49MCYmalgobil8fChwNShuKSxuPUg5KHJaLHNfKSksbn19OwpuRz1mdW5jdGlvbihuKXtpZihuPT1udWxsfHx0eXBlb2Ygbj09InN0cmluZyJ8fG4gaW5zdGFuY2VvZiBGUSlyZXR1cm4gbn07CkZTMj1mdW5jdGlvbihuKXtpZih0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpXSD1mdW5jdGlvbihuKXtpZihuIT1udWxsJiZ0eXBlb2YgbiE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIG59OwpnLkRSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT1udWxsfHx0eXBlb2Ygbj09PSJzdHJpbmciP246dm9pZCAwfTsKYlc9ZnVuY3Rpb24obixXKXtpZighKG4gaW5zdGFuY2VvZiBXKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWQgaW5zdGFuY2VvZiAke0s1KFcpfSBidXQgZ290ICR7biYmSzUobi5jb25zdHJ1Y3Rvcil9YCk7cmV0dXJuIG59Owpodj1mdW5jdGlvbihuLFcsRCl7aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gbjtpZihBcnJheS5pc0FycmF5KG4pKXt2YXIgYj1uW2I0XXwwO0Q9YnxEJjMyfEQmMjtEIT09YiYmKG5bYjRdPUQpO3JldHVybiBuZXcgVyhuKX19Owp4dj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CmVXPWZ1bmN0aW9uKG4pe3ZhciBXPUV3KExHKTtyZXR1cm4gVz9uW1ddOnZvaWQgMH07CmdnPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4pIWlzTmFOKEQpJiZXKG4sK0QsbltEXSl9Owp3WkM9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFhGO2dnKG4sKEQsYix2KT0+e1dbYl09Wy4uLnZdfSk7Clcuajc9bi5qNztyZXR1cm4gV307Ckd6PWZ1bmN0aW9uKG4sVyl7aWYoRXcocUUpJiZFdyhMRykmJnZvaWQgMD09PXFFKXtuPW4ubDk7dmFyIEQ9bltMR107aWYoRCYmKEQ9RC5qNykpdHJ5e0QobixXLE1VaSl9Y2F0Y2goYil7aDQoYil9fX07CnR2PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RXcoTEcpO0QmJm5bRF0/LltXXSE9bnVsbCYmbjUoUk1iLDMpfTsKVlVTPWZ1bmN0aW9uKG4sVyl7VzwxMDB8fG41KFFDaSwxKX07CnJnPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWIhPT12b2lkIDA7Yj0hIWI7dmFyIGs9RXcoTEcpLGg7IXYmJmsmJihoPW5ba10pJiZnZyhoLFZVUyk7az1bXTt2YXIgeD1uLmxlbmd0aDtoPTQyOTQ5NjcyOTU7dmFyIEw9ITEsZT0hIShXJjY0KSxHPWU/VyYxMjg/MDotMTp2b2lkIDA7aWYoIShXJjEpKXt2YXIgcj14JiZuW3gtMV07ciE9bnVsbCYmdHlwZW9mIHI9PT0ib2JqZWN0IiYmci5jb25zdHJ1Y3Rvcj09PU9iamVjdD8oeC0tLGg9eCk6cj12b2lkIDA7IWV8fFcmMTI4fHx2fHwoTD0hMCxoPSgkdj8/eHYpKGgtRyxHLG4scix2b2lkIDApK0cpfVc9dm9pZCAwO2Zvcih2YXIgTj0wO048eDtOKyspe2xldCBIPW5bTl07aWYoSCE9bnVsbCYmKEg9RChILGIpKSE9bnVsbClpZihlJiZOPj1oKXtsZXQgQT1OLUc7KFc/PyhXPXt9KSlbQV09SH1lbHNlIGtbTl09SH1pZihyKWZvcihsZXQgSCBpbiByKXt4PXJbSF07aWYoeD09bnVsbHx8KHg9RCh4LGIpKT09bnVsbCljb250aW51ZTtOPQorSDtsZXQgQTtlJiYhTnVtYmVyLmlzTmFOKE4pJiYoQT1OK0cpPGg/a1tBXT14OihXPz8oVz17fSkpW0hdPXh9VyYmKEw/ay5wdXNoKFcpOmtbaF09Vyk7diYmRXcoTEcpJiYobj1lVyhuKSkmJm4gaW5zdGFuY2VvZiBYRiYmKGtbTEddPXdaQyhuKSk7cmV0dXJuIGt9OwpORT1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShuKT9uOiIiK247Y2FzZSAiYmlnaW50IjpyZXR1cm4gc0sobik/TnVtYmVyKG4pOiIiK247Y2FzZSAiYm9vbGVhbiI6cmV0dXJuIG4/MTowO2Nhc2UgIm9iamVjdCI6aWYoQXJyYXkuaXNBcnJheShuKSl7dmFyIFc9bltiNF18MDtyZXR1cm4gbi5sZW5ndGg9PT0wJiZXJjE/dm9pZCAwOnJnKG4sVyxORSl9aWYobiE9bnVsbCYmblt2SF09PT1rdilyZXR1cm4gcEcobik7aWYobiBpbnN0YW5jZW9mIEZRKXtXPW4uTjtpZihXPT1udWxsKW49IiI7ZWxzZSBpZih0eXBlb2YgVz09PSJzdHJpbmciKW49VztlbHNle2xldCBEPSIiLGI9MCx2PVcubGVuZ3RoLTEwMjQwO2Zvcig7Yjx2OylEKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsVy5zdWJhcnJheShiLGIrPTEwMjQwKSk7RCs9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGI/Vy5zdWJhcnJheShiKToKVyk7Vz1idG9hKEQpO249bi5OPVd9cmV0dXJuIG59cmV0dXJufXJldHVybiBufTsKWXY9ZnVuY3Rpb24obixXKXtpZihXKXskdj1XPT1udWxsfHxXPT09eHZ8fFdbY2lVXSE9PWExVT94djpXO3RyeXtyZXR1cm4gcEcobil9ZmluYWxseXskdj12b2lkIDB9fXJldHVybiBwRyhuKX07CnBHPWZ1bmN0aW9uKG4pe249bi5sOTtyZXR1cm4gcmcobixuW2I0XXwwLE5FKX07Cm4zMj1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgImJvb2xlYW4iOnJldHVybiBISHx8KEhIPVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIG4+MD92b2lkIDA6bj09PTA/Zkd8fChmRz1bMCx2b2lkIDBdKTpbLW4sdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLG5dO2Nhc2UgIm9iamVjdCI6cmV0dXJuIG59fTsKU1c9ZnVuY3Rpb24obixXKXtyZXR1cm4gSnYobixXWzBdLFdbMV0pfTsKSnY9ZnVuY3Rpb24obixXLEQsYj0wKXtpZihuPT1udWxsKXt2YXIgdj0zMjtEPyhuPVtEXSx2fD0xMjgpOm49W107VyYmKHY9diYtMTY3NjA4MzN8KFcmMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KG4pKXRocm93IEVycm9yKCJuYXJyIik7dj1uW2I0XXwwO2lmKEF2JiYxJnYpdGhyb3cgRXJyb3IoInJmYXJyIik7MjA0OCZ2JiYhKDImdikmJldjcigpO2lmKHYmMjU2KXRocm93IEVycm9yKCJmYXJyIik7aWYodiY2NClyZXR1cm4odnxiKSE9PXYmJihuW2I0XT12fGIpLG47aWYoRCYmKHZ8PTEyOCxEIT09blswXSkpdGhyb3cgRXJyb3IoIm1pZCIpO2E6e0Q9bjt2fD02NDt2YXIgaz1ELmxlbmd0aDtpZihrKXt2YXIgaD1rLTE7bGV0IEw9RFtoXTtpZihMIT1udWxsJiZ0eXBlb2YgTD09PSJvYmplY3QiJiZMLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtXPXYmMTI4PzA6LTE7aC09VztpZihoPj0xMDI0KXRocm93IEVycm9yKCJwdnRsbXQiKTtmb3IodmFyIHggaW4gTClpZihrPQoreCxrPGgpRFtrK1ddPUxbeF0sZGVsZXRlIExbeF07ZWxzZSBicmVhazt2PXYmLTE2NzYwODMzfChoJjEwMjMpPDwxNDticmVhayBhfX1pZihXKXt4PU1hdGgubWF4KFcsay0odiYxMjg/MDotMSkpO2lmKHg+MTAyNCl0aHJvdyBFcnJvcigic3B2dCIpO3Y9diYtMTY3NjA4MzN8KHgmMTAyMyk8PDE0fX19bltiNF09dnw2NHxiO3JldHVybiBufTsKV2NyPWZ1bmN0aW9uKCl7aWYoQXYpdGhyb3cgRXJyb3IoImNhcnIiKTtuNShEVWksNSl9OwpiYlo9ZnVuY3Rpb24obixXKXtpZih0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKEFycmF5LmlzQXJyYXkobikpe3ZhciBEPW5bYjRdfDA7bi5sZW5ndGg9PT0wJiZEJjE/bj12b2lkIDA6RCYyfHwoIVd8fDQwOTYmRHx8MTYmRD9uPW1fKG4sRCwhMSxXJiYhKEQmMTYpKToobltiNF18PTM0LEQmNCYmT2JqZWN0LmZyZWV6ZShuKSkpO3JldHVybiBufWlmKG4hPW51bGwmJm5bdkhdPT09a3YpcmV0dXJuIFc9bi5sOSxEPVdbYjRdfDAsdjkobixEKT9uOktHKG4sVyxEKT9PSyhuLFcpOm1fKFcsRCk7aWYobiBpbnN0YW5jZW9mIEZRKXJldHVybiBufTsKT0s9ZnVuY3Rpb24obixXLEQpe249bmV3IG4uY29uc3RydWN0b3IoVyk7RCYmKG4uTj1EQik7bi5YPURCO3JldHVybiBufTsKbV89ZnVuY3Rpb24obixXLEQsYil7Yj8/KGI9ISEoMzQmVykpO249cmcobixXLGJiWixiKTtiPTMyO0QmJihifD0yKTtXPVcmMTY3NjkyMTd8YjtuW2I0XT1XO3JldHVybiBufTsKUEg9ZnVuY3Rpb24obil7dmFyIFc9bi5sOSxEPVdbYjRdfDA7cmV0dXJuIHY5KG4sRCk/S0cobixXLEQpP09LKG4sVywhMCk6bmV3IG4uY29uc3RydWN0b3IobV8oVyxELCExKSk6bn07ClpSPWZ1bmN0aW9uKG4pe2lmKG4uTiE9PURCKXJldHVybiExO3ZhciBXPW4ubDk7Vz1tXyhXLFdbYjRdfDApO1dbYjRdfD0yMDQ4O24ubDk9VztuLk49dm9pZCAwO24uWD12b2lkIDA7cmV0dXJuITB9OwpVSz1mdW5jdGlvbihuKXtpZighWlIobikmJnY5KG4sbi5sOVtiNF18MCkpdGhyb3cgRXJyb3IoKTt9Owp5Zz1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDAmJihXPW5bYjRdfDApO1cmMzImJiEoVyY0MDk2KSYmKG5bYjRdPVd8NDA5Nil9OwpLRz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQmMj8hMDpEJjMyJiYhKEQmNDA5Nik/KFdbYjRdPUR8MixuLk49REIsITApOiExfTsKaVc9ZnVuY3Rpb24obixXLEQsYix2KXtPYmplY3QuaXNFeHRlbnNpYmxlKG4pO1c9RUsobi5sOSxXLEQsdik7aWYoVyE9PW51bGx8fGImJm4uWCE9PURCKXJldHVybiBXfTsKRUs9ZnVuY3Rpb24obixXLEQsYil7aWYoVz09PS0xKXJldHVybiBudWxsO3ZhciB2PVcrKEQ/MDotMSksaz1uLmxlbmd0aC0xO2lmKCEoazwxKyhEPzA6LTEpKSl7aWYodj49ayl7dmFyIGg9bltrXTtpZihoIT1udWxsJiZ0eXBlb2YgaD09PSJvYmplY3QiJiZoLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtEPWhbV107dmFyIHg9ITB9ZWxzZSBpZih2PT09aylEPWg7ZWxzZSByZXR1cm59ZWxzZSBEPW5bdl07aWYoYiYmRCE9bnVsbCl7Yj1iKEQpO2lmKGI9PW51bGwpcmV0dXJuIGI7aWYoIU9iamVjdC5pcyhiLEQpKXJldHVybiB4P2hbV109YjpuW3ZdPWIsYn1yZXR1cm4gRH19Owpvej1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5O3VXKHYsdltiNF18MCxXLEQsYik7cmV0dXJuIG59Owp1Vz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPUQrKHY/MDotMSksaD1uLmxlbmd0aC0xO2lmKGg+PTErKHY/MDotMSkmJms+PWgpe2xldCB4PW5baF07aWYoeCE9bnVsbCYmdHlwZW9mIHg9PT0ib2JqZWN0IiYmeC5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4geFtEXT1iLFd9aWYoazw9aClyZXR1cm4gbltrXT1iLFc7YiE9PXZvaWQgMCYmKGg9KFc/PyhXPW5bYjRdfDApKT4+MTQmMTAyM3x8NTM2ODcwOTEyLEQ+PWg/YiE9bnVsbCYmKG5baCsodj8wOi0xKV09e1tEXTpifSk6bltrXT1iKTtyZXR1cm4gV307CmcuQkg9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLmw5LGg9a1tiNF18MDtiPXY5KG4saCk/MTpiO3Y9ISF2fHxiPT09MztiPT09MiYmWlIobikmJihrPW4ubDksaD1rW2I0XXwwKTtuPWRnKGssVyk7dmFyIHg9bj09PXp6Pzc6bltiNF18MCxMPWxXKHgsaCk7dmFyIGU9NCZMPyExOiEwO2lmKGUpezQmTCYmKG49Wy4uLm5dLHg9MCxMPWpXKEwsaCksaD11VyhrLGgsVyxuKSk7bGV0IEc9MCxyPTA7Zm9yKDtHPG4ubGVuZ3RoO0crKyl7bGV0IE49RChuW0ddKTtOIT1udWxsJiYobltyKytdPU4pfXI8RyYmKG4ubGVuZ3RoPXIpO0Q9KEx8NCkmLTUxMztMPUQmPS0xMDI1O0wmPS00MDk3fUwhPT14JiYobltiNF09TCwyJkwmJk9iamVjdC5mcmVlemUobikpO3JldHVybiBuPUNHKG4sTCxrLGgsVyx2b2lkIDAsYixlLHYpfTsKQ0c9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPVc7aD09PTF8fChoIT09ND8wOjImV3x8ISgxNiZXKSYmMzImYik/RkYoVyl8fChXfD0hbi5sZW5ndGh8fHgmJiEoNDA5NiZXKXx8MzImYiYmISg0MDk2Jld8fDE2JlcpPzI6MjU2LFchPT1lJiYobltiNF09VyksT2JqZWN0LmZyZWV6ZShuKSk6KGg9PT0yJiZGRihXKSYmKG49Wy4uLm5dLGU9MCxXPWpXKFcsYiksYj11VyhELGIsdixuLGspKSxGRihXKXx8KEx8fChXfD0xNiksVyE9PWUmJihuW2I0XT1XKSkpOzImV3x8ISg0MDk2Jld8fDE2JlcpfHx5ZyhELGIpO3JldHVybiBufTsKZGc9ZnVuY3Rpb24obixXLEQpe249RUsobixXLEQpO3JldHVybiBBcnJheS5pc0FycmF5KG4pP246enp9OwpsVz1mdW5jdGlvbihuLFcpezImVyYmKG58PTIpO3JldHVybiBufDF9OwpGRj1mdW5jdGlvbihuKXtyZXR1cm4hISgyJm4pJiYhISg0Jm4pfHwhISgyNTYmbil9OwpNRT1mdW5jdGlvbihuKXtyZXR1cm4ga1UobiwhMCl9OwpSej1mdW5jdGlvbihuLFcpe249aVcobixXLHZvaWQgMCx2b2lkIDAsTUUpO3JldHVybiBuPT1udWxsP014KCk6bn07ClFnPWZ1bmN0aW9uKG4sVyxEKXtVSyhuKTt2YXIgYj1uLmw5LHY9YltiNF18MDtpZihXPT1udWxsKXJldHVybiB1VyhiLHYsMyksbjtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBjMigpO3ZhciBrPVc9PT16ej83OldbYjRdfDAsaD1rLHg9RkYoayksTD14fHxPYmplY3QuaXNGcm96ZW4oVyk7eHx8KGs9MCk7THx8KFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSk7a3w9NTt4PSg0Jms/NTEyJms/NTEyOjEwMjQmaz8xMDI0OjA6dm9pZCAwKT8/MTAyNDtrfD14O2ZvcihsZXQgZT0wO2U8Vy5sZW5ndGg7ZSsrKXtsZXQgRz1XW2VdLHI9RChHLHgpO09iamVjdC5pcyhHLHIpfHwoTCYmKFc9Wy4uLlddLGg9MCxrPWpXKGssdiksTD0hMSksV1tlXT1yKX1rIT09aCYmKEwmJihXPVsuLi5XXSxrPWpXKGssdikpLFdbYjRdPWspO3VXKGIsdiwzLFcpO3JldHVybiBufTsKZy5WZz1mdW5jdGlvbihuLFcsRCxiLHYpe1VLKG4pO3ZhciBrPW4ubDk7dVcoayxrW2I0XXwwLFcsKGI9PT0iMCI/TnVtYmVyKEQpPT09MDpEPT09Yik/dm9pZCAwOkQsdik7cmV0dXJuIG59OwpjSD1mdW5jdGlvbihuLFcsRCl7aWYoVyYyKXRocm93IEVycm9yKCk7dmFyIGI9TDUoVyksdj1kZyhuLEQsYiksaz12PT09eno/Nzp2W2I0XXwwLGg9bFcoayxXKTtpZigyJmh8fEZGKGgpfHwxNiZoKWg9PT1rfHxGRihoKXx8KHZbYjRdPWgpLHY9Wy4uLnZdLGs9MCxoPWpXKGgsVyksdVcobixXLEQsdixiKTtoJj0tMTM7aCE9PWsmJih2W2I0XT1oKTtyZXR1cm4gdn07CkQyPWZ1bmN0aW9uKG4sVyxELGIpe1VLKG4pO3ZhciB2PW4ubDksaz12W2I0XXwwO2lmKGI9PW51bGwpe2xldCBoPWF6KHYpO2lmKG5uKGgsdixrLEQpPT09VyloLnNldChELDApO2Vsc2UgcmV0dXJuIG59ZWxzZSBrPVdXKHYsayxELFcpO3VXKHYsayxXLGIpO3JldHVybiBufTsKYmE9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bltiNF18MCxrPUw1KHYpO3Y9V1cobix2LEQsVyxrKTt1VyhuLHYsVyxiLGspfTsKdlc9ZnVuY3Rpb24obixXLEQpe249bi5sOTtyZXR1cm4gbm4oYXoobiksbix2b2lkIDAsVyk9PT1EP0Q6LTF9Owphej1mdW5jdGlvbihuKXtyZXR1cm4gbltrOV0/PyhuW2s5XT1uZXcgTWFwKX07CldXPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj09PTB8fEQuaW5jbHVkZXMoYik7dmFyIGs9YXoobiksaD1ubihrLG4sVyxELHYpO2ghPT1iJiYoaCYmKFc9dVcobixXLGgsdm9pZCAwLHYpKSxrLnNldChELGIpKTtyZXR1cm4gV307Cm5uPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5nZXQoYik7aWYoayE9bnVsbClyZXR1cm4gaztrPTA7Zm9yKGxldCBoPTA7aDxiLmxlbmd0aDtoKyspe2xldCB4PWJbaF07RUsoVyx4LHYpIT1udWxsJiYoayE9PTAmJihEPXVXKFcsRCxrLHZvaWQgMCx2KSksaz14KX1uLnNldChiLGspO3JldHVybiBrfTsKaFM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5bYjRdfDAsdj1MNShiKSxrPUVLKG4sRCx2KTtpZihrIT1udWxsJiZrW3ZIXT09PWt2KXtpZighdjkoaykpcmV0dXJuIFpSKGspLGsubDk7dmFyIGg9ay5sOX1lbHNlIEFycmF5LmlzQXJyYXkoaykmJihoPWspO2lmKGgpe2xldCB4PWhbYjRdfDA7eCYyJiYoaD1tXyhoLHgpKX1oPVNXKGgsVyk7aCE9PWsmJnVXKG4sYixELGgsdik7cmV0dXJuIGh9Owp4OT1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSExO2I9RUsobixiLHYsaD0+e3ZhciB4PWh2KGgsRCxXKTtrPXghPT1oJiZ4IT1udWxsO3JldHVybiB4fSk7CmlmKGIhPW51bGwpcmV0dXJuIGsmJiF2OShiKSYmeWcobixXKSxifTsKZUU9ZnVuY3Rpb24obixXLEQsYil7bj1uLmw5OyhEPXg5KG4sbltiNF18MCxXLEQsYikpfHwoRD1XW0xuXSl8fChiPW5ldyBXLEQ9Yi5sOSxEW2I0XXw9MzQsRD1XW0xuXT1iKTtyZXR1cm4gRH07CmdlPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4ubDksaz12W2I0XXwwO1c9eDkodixrLFcsRCxiKTtpZihXPT1udWxsKXJldHVybiBXO2s9dltiNF18MDtpZighdjkobixrKSl7bGV0IGg9UEgoVyk7aCE9PVcmJihaUihuKSYmKHY9bi5sOSxrPXZbYjRdfDApLFc9aCxrPXVXKHYsayxELFcsYikseWcodixrKSl9cmV0dXJuIFd9OwpxSD1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLmw5O3JldHVybiBYXyhuLHYsdltiNF18MCxXLEQsMSxiKX07ClhfPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCxMKXt2YXIgZT12OShuLEQpO2s9ZT8xOms7eD0hIXh8fGs9PT0zO2U9TCYmIWU7KGs9PT0yfHxlKSYmWlIobikmJihXPW4ubDksRD1XW2I0XXwwKTtuPWRnKFcsdixoKTt2YXIgRz1uPT09eno/NzpuW2I0XXwwLHI9bFcoRyxEKTtpZihMPSEoNCZyKSl7dmFyIE49bixIPUQ7bGV0IEE9ISEoMiZyKTtBJiYoSHw9Mik7bGV0IHk9IUEsVD0hMCx6PTAsQz0wO2Zvcig7ejxOLmxlbmd0aDt6Kyspe2xldCBRPWh2KE5bel0sYixIKTtpZihRIGluc3RhbmNlb2YgYil7aWYoIUEpe2xldCBWPXY5KFEpO3kmJih5PSFWKTtUJiYoVD1WKX1OW0MrK109UX19Qzx6JiYoTi5sZW5ndGg9Qyk7cnw9NDtyPVQ/ciYtNDA5NzpyfDQwOTY7cj15P3J8ODpyJi05fXIhPT1HJiYobltiNF09ciwyJnImJk9iamVjdC5mcmVlemUobikpO2lmKGUmJiEoOCZyfHwhbi5sZW5ndGgmJihrPT09MXx8KGshPT00PzA6MiZyfHwhKDE2JnIpJiYzMiZEKSkpKXtGRihyKSYmKG49ClsuLi5uXSxyPWpXKHIsRCksRD11VyhXLEQsdixuLGgpKTtiPW47ZT1yO2ZvcihHPTA7RzxiLmxlbmd0aDtHKyspTj1iW0ddLHI9UEgoTiksTiE9PXImJihiW0ddPXIpO2V8PTg7cj1lPWIubGVuZ3RoP2V8NDA5NjplJi00MDk3O25bYjRdPXJ9cmV0dXJuIG49Q0cobixyLFcsRCx2LGgsayxMLHgpfTsKVkc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ubDk7cmV0dXJuIFhfKG4sYixiW2I0XXwwLFcsRCx2b2lkIDA9PT1HJD8yOjQsdm9pZCAwLCExLCEwKX07CnRTPWZ1bmN0aW9uKG4sVyl7biE9bnVsbD9iVyhuLFcpOm49dm9pZCAwO3JldHVybiBufTsKJDk9ZnVuY3Rpb24obixXLEQsYix2KXtiPXRTKGIsVyk7b3oobixELGIsdik7YiYmIXY5KGIpJiZ5ZyhuLmw5KTtyZXR1cm4gbn07CnJlPWZ1bmN0aW9uKG4sVyxELGIsdil7dj10Uyh2LFcpO0QyKG4sRCxiLHYpO3YmJiF2OSh2KSYmeWcobi5sOSk7cmV0dXJuIG59OwpzVj1mdW5jdGlvbihuLFcsRCxiKXtVSyhuKTt2YXIgdj1uLmw5LGs9dltiNF18MDtpZihiPT1udWxsKXJldHVybiB1Vyh2LGssRCksbjtpZighQXJyYXkuaXNBcnJheShiKSl0aHJvdyBjMigpO3ZhciBoPWI9PT16ej83OmJbYjRdfDAseD1oLEw9RkYoaCksZT1MfHxPYmplY3QuaXNGcm96ZW4oYiksRz0hMCxyPSEwO2ZvcihsZXQgSD0wO0g8Yi5sZW5ndGg7SCsrKXt2YXIgTj1iW0hdO2JXKE4sVyk7THx8KE49djkoTiksRyYmKEc9IU4pLHImJihyPU4pKX1MfHwoaD1HPzEzOjUsaD1yP2gmLTQwOTc6aHw0MDk2KTtlJiZoPT09eHx8KGI9Wy4uLmJdLHg9MCxoPWpXKGgsaykpO2ghPT14JiYoYltiNF09aCk7az11Vyh2LGssRCxiKTsyJmh8fCEoNDA5NiZofHwxNiZoKXx8eWcodixrKTtyZXR1cm4gbn07CmpXPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49KDImVz9ufDI6biYtMykmLTI3M307Ck5IPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWI7VUsobik7Yj1uLmw5O249WF8obixiLGJbYjRdfDAsRCxXLDIsdm9pZCAwLCEwKTt2PXYhPW51bGw/YlcodixEKTpuZXcgRDtuLnB1c2godik7Vz1EPW49PT16ej83Om5bYjRdfDA7KHY9djkodikpPyhEJj0tOSxuLmxlbmd0aD09PTEmJihEJj0tNDA5NykpOkR8PTQwOTY7RCE9PVcmJihuW2I0XT1EKTt2fHx5ZyhiKX07CmFQPWZ1bmN0aW9uKG4sVyxEPTApe3JldHVybiBFXyhpVyhuLFcpKT8/RH07CnBuPWZ1bmN0aW9uKG4sVyxEPXYzaSl7cmV0dXJuIGlXKG4sVyx2b2lkIDAsdm9pZCAwLEZEKT8/RH07Clk5PWZ1bmN0aW9uKG4sVyxEPSIiLGIpe3JldHVybiBnLkRSKGlXKG4sVyxiKSk/P0R9OwpIVz1mdW5jdGlvbihuLFcpe249aVcobixXKTtyZXR1cm4obj09bnVsbD9uOlA5KG4pP258MDp2b2lkIDApPz8wfTsKSlM9ZnVuY3Rpb24obixXKXtyZXR1cm4gZy5EUihpVyhuLFcsdm9pZCAwLGZuKSl9OwpJWT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG96KG4sVyxnLmw0KEQpKX07CmcuU0U9ZnVuY3Rpb24obixXLEQpe3JldHVybiBveihuLFcsV0goRCkpfTsKQVM9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIGcuVmcobixXLFdIKEQpLCIiLGIpfTsKS249ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpe2lmKCFQOShEKSl0aHJvdyBjMigiZW51bSIpO0R8PTB9cmV0dXJuIG96KG4sVyxEKX07ClBXPWZ1bmN0aW9uKG4sVyl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbmV3IE9WKEMwKG4pLFcpO2lmKEFycmF5LmlzQXJyYXkobikpcmV0dXJuIG5ldyBPVihuZXcgVWludDhBcnJheShuKSxXKTtpZihuLmNvbnN0cnVjdG9yPT09VWludDhBcnJheSlyZXR1cm4gbmV3IE9WKG4sITEpO2lmKG4uY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcilyZXR1cm4gbj1uZXcgVWludDhBcnJheShuKSxuZXcgT1YobiwhMSk7aWYobi5jb25zdHJ1Y3Rvcj09PUZRKXJldHVybiBXPVFsKG4pfHxuZXcgVWludDhBcnJheSgwKSxuZXcgT1YoVywhMCxuKTtpZihuIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gbj1uLmNvbnN0cnVjdG9yPT09VWludDhBcnJheT9uOm5ldyBVaW50OEFycmF5KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpLG5ldyBPVihuLCExKTt0aHJvdyBFcnJvcigpO307CmcuVVY9ZnVuY3Rpb24obixXKXt2YXIgRD0wLGI9MCx2PTAsaz1uLkosaD1uLk47ZG97dmFyIHg9a1toKytdO0R8PSh4JjEyNyk8PHY7dis9N313aGlsZSh2PDMyJiZ4JjEyOCk7aWYodj4zMilmb3IoYnw9KHgmMTI3KT4+NCx2PTM7djwzMiYmeCYxMjg7dis9Nyl4PWtbaCsrXSxifD0oeCYxMjcpPDx2O1oyKG4saCk7aWYoISh4JjEyOCkpcmV0dXJuIFcoRD4+PjAsYj4+PjApO3Rocm93IEVycm9yKCk7fTsKeTE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTAsRD1uLk4sYj1EKzEwLHY9bi5KO0Q8Yjspe2xldCBrPXZbRCsrXTtXfD1rO2lmKChrJjEyOCk9PT0wKXJldHVybiBaMihuLEQpLCEhKFcmMTI3KX10aHJvdyBFcnJvcigpO307CmcuRVY9ZnVuY3Rpb24obil7dmFyIFc9bi5KLEQ9bi5OLGI9V1tEKytdLHY9YiYxMjc7aWYoYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDw3LGImMTI4JiYoYj1XW0QrK10sdnw9KGImMTI3KTw8MTQsYiYxMjgmJihiPVdbRCsrXSx2fD0oYiYxMjcpPDwyMSxiJjEyOCYmKGI9V1tEKytdLHZ8PWI8PDI4LGImMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4JiZXW0QrK10mMTI4KSkpKSl0aHJvdyBFcnJvcigpO1oyKG4sRCk7cmV0dXJuIHZ9Owp1YT1mdW5jdGlvbihuKXt2YXIgVz1uLkosRD1uLk4sYj1XW0QrMF0sdj1XW0QrMV0saz1XW0QrMl07Vz1XW0QrM107aWEobiw0KTtyZXR1cm4oYjw8MHx2PDw4fGs8PDE2fFc8PDI0KT4+PjB9OwpvWT1mdW5jdGlvbihuKXt2YXIgVz11YShuKTtuPXVhKG4pO3JldHVybiBmNShXLG4pfTsKZy5kZT1mdW5jdGlvbihuKXt2YXIgVz1uLmo7V3x8KFc9bi5KLFc9bi5qPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSk7Vz1XLmdldEZsb2F0NjQobi5OLCEwKTtpYShuLDgpO3JldHVybiBXfTsKazQyPWZ1bmN0aW9uKG4pe3JldHVybiBnLkVWKG4pfTsKWjI9ZnVuY3Rpb24obixXKXtuLk49VztpZihXPm4uVyl0aHJvdyBFcnJvcigpO307CmlhPWZ1bmN0aW9uKG4sVyl7WjIobixuLk4rVyl9Owp6JD1mdW5jdGlvbihuLFcpe2lmKFc8MCl0aHJvdyBFcnJvcigpO3ZhciBEPW4uTjtXPUQrVztpZihXPm4uVyl0aHJvdyBFcnJvcigpO24uTj1XO3JldHVybiBEfTsKbGE9ZnVuY3Rpb24obixXKXtpZihXPT0wKXJldHVybiBNeCgpO3ZhciBEPXokKG4sVyk7bi5uXyYmbi5WP0Q9bi5KLnN1YmFycmF5KEQsRCtXKToobj1uLkosVz1EK1csRD1EPT09Vz9uZXcgVWludDhBcnJheSgwKTpuLnNsaWNlKEQsVykpO3JldHVybiBELmxlbmd0aD09MD9NeCgpOm5ldyBGUShELHdXKX07CkNuPWZ1bmN0aW9uKG4sVyxELGIpe2lmKFQkLmxlbmd0aCl7bGV0IHY9VCQucG9wKCk7akUodixiKTt2Lk4uaW5pdChuLFcsRCxiKTtyZXR1cm4gdn1yZXR1cm4gbmV3IGhCUyhuLFcsRCxiKX07CmpFPWZ1bmN0aW9uKG4se0diOlc9ITF9PXt9KXtuLkdiPVd9OwpGXz1mdW5jdGlvbihuKXt2YXIgVz1uLk47aWYoVy5OPT1XLlcpcmV0dXJuITE7bi5YPW4uTi5OO3ZhciBEPWcuRVYobi5OKT4+PjA7Vz1EPj4+MztEJj03O2lmKCEoRD49MCYmRDw9NSkpdGhyb3cgRXJyb3IoKTtpZihXPDEpdGhyb3cgRXJyb3IoKTtuLlc9VztuLko9RDtyZXR1cm4hMH07CndlPWZ1bmN0aW9uKG4pe3RyeXtzd2l0Y2gobi5KKXtjYXNlIDA6bi5KIT0wP3dlKG4pOnkxKG4uTik7YnJlYWs7Y2FzZSAxOmlhKG4uTiw4KTticmVhaztjYXNlIDI6aWYobi5KIT0yKXdlKG4pO2Vsc2V7dmFyIFc9Zy5FVihuLk4pPj4+MDtpYShuLk4sVyl9YnJlYWs7Y2FzZSA1OmlhKG4uTiw0KTticmVhaztjYXNlIDM6TUgoKTtsZXQgRD1uLlc7dHJ5e2Rve2lmKCFGXyhuKSl0aHJvdyBFcnJvcigpO2lmKG4uSj09NCl7aWYobi5XIT1EKXRocm93IEVycm9yKCk7YnJlYWt9d2Uobil9d2hpbGUoMSl9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhyb3cgbmV3IFN5bnRheEVycm9yO3Rocm93IGI7fWZpbmFsbHl7Ulk+MCYmUlktLX1icmVhaztkZWZhdWx0OnRocm93IEVycm9yKCk7fX1jYXRjaChEKXtpZihEIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgRDt9fTsKTUg9ZnVuY3Rpb24oKXtpZihSWT49MTAwKXRocm93IG5ldyBTeW50YXhFcnJvcjtSWSsrfTsKUTE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5XLHY9Zy5FVihuLk4pPj4+MDt2PW4uTi5OK3Y7dmFyIGs9di1iO2s8PTAmJihuLk4uVz12LEQoVyxuLHZvaWQgMCx2b2lkIDAsdm9pZCAwKSxrPXYtbi5OLk4pO2lmKGspdGhyb3cgRXJyb3IoKTtuLk4uTj12O24uTi5XPWJ9OwphWT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wLEQ9bi5OO249eiQoRCxXKTt2YXIgYj1ELko7KEQ9VjEpfHwoRD1WMT1uZXcgVGV4dERlY29kZXIoInV0Zi04Iix7ZmF0YWw6ITB9KSk7Vz1uK1c7Yj1uPT09MCYmVz09PWIubGVuZ3RoP2I6Yi5zdWJhcnJheShuLFcpO3RyeXt2YXIgdj1ELmRlY29kZShiKX1jYXRjaChrKXtpZihjVz09PXZvaWQgMCl7dHJ5e0QuZGVjb2RlKG5ldyBVaW50OEFycmF5KFsxMjhdKSl9Y2F0Y2goaCl7fXRyeXtELmRlY29kZShuZXcgVWludDhBcnJheShbOTddKSksY1c9ITB9Y2F0Y2goaCl7Y1c9ITF9fSFjVyYmKFYxPXZvaWQgMCk7dGhyb3cgazt9cmV0dXJuIHZ9OwpEOT1mdW5jdGlvbihuKXt2YXIgVz1nLkVWKG4uTik+Pj4wO3JldHVybiBsYShuLk4sVyl9OwpiRz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5FVihuLk4pPj4+MDtmb3IoYj1uLk4uTitiO24uTi5OPGI7KUQucHVzaChXKG4uTikpfTsKa209ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB2eShuJjQyOTQ5NjcyOTUsTWF0aC5mbG9vcihuLzQyOTQ5NjcyOTYpKX07CnhtPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBoM3x8KGgzPW5ldyB2eSgwLDApKTtpZighL15cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgdnkoclosc18pfTsKTGg9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj09PTA/bmV3IHZ5KDAsMSt+bi5OKTpuZXcgdnkofm4uSisxLH5uLk4pfTsKeFVqPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgZUMobiY0Mjk0OTY3Mjk1LE1hdGguZmxvb3Iobi80Mjk0OTY3Mjk2KSl9OwpYdD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gZ0d8fChnRz1uZXcgZUMoMCwwKSk7aWYoIS9eLT9cZCskLy50ZXN0KG4pKXJldHVybiBudWxsO1NYKG4pO3JldHVybiBuZXcgZUMoclosc18pfTsKWW09ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBCaWdJbnQ2NEFycmF5IT09InVuZGVmaW5lZCIpcmV0dXJuIHFmfHwocWY9bmV3IEJpZ0ludDY0QXJyYXkoMSksR1M9bmV3IFVpbnQzMkFycmF5KHFmLmJ1ZmZlcikscWZbMF09QmlnSW50KDEpLHQzPUdTWzBdPT09MSkscWZbMF09bixuPXQzPzA6MSxuZXcgVyhHU1tuXSxHU1sxLW5dKTskbXx8KHJHPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUiksTmY9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSxwaD1CaWdJbnQoNDI5NDk2NzI5NSksJG09QmlnSW50KDMyKSk7aWYobj49ckcmJm48PU5mKXJldHVybiBEKE51bWJlcihuKSk7bj1CaWdJbnQuYXNVaW50Tig2NCxuKTtyZXR1cm4gbmV3IFcoTnVtYmVyKG4mcGgpLE51bWJlcihuPj4kbSkpfTsKSHk9ZnVuY3Rpb24obixXLEQpe2Zvcig7RD4wfHxXPjEyNzspbi5OLnB1c2goVyYxMjd8MTI4KSxXPShXPj4+N3xEPDwyNSk+Pj4wLEQ+Pj49NztuLk4ucHVzaChXKX07CkozPWZ1bmN0aW9uKG4sVyl7bi5OLnB1c2goVz4+PjAmMjU1KTtuLk4ucHVzaChXPj4+OCYyNTUpO24uTi5wdXNoKFc+Pj4xNiYyNTUpO24uTi5wdXNoKFc+Pj4yNCYyNTUpfTsKSXg9ZnVuY3Rpb24obixXKXtmb3IoO1c+MTI3OyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj49NztuLk4ucHVzaChXKX07ClNDPWZ1bmN0aW9uKG4sVyl7aWYoVz49MClJeChuLFcpO2Vsc2V7Zm9yKGxldCBEPTA7RDw5O0QrKyluLk4ucHVzaChXJjEyN3wxMjgpLFc+Pj03O24uTi5wdXNoKDEpfX07CkEzPWZ1bmN0aW9uKG4sVyl7Vy5sZW5ndGghPT0wJiYobi5XLnB1c2goVyksbi5KKz1XLmxlbmd0aCl9OwptND1mdW5jdGlvbihuLFcsRCl7SXgobi5OLFcqOCtEKX07CktoPWZ1bmN0aW9uKG4sVyl7bTQobixXLDIpO1c9bi5OLmVuZCgpO0EzKG4sVyk7Vy5wdXNoKG4uSik7cmV0dXJuIFd9OwpPcz1mdW5jdGlvbihuLFcpe3ZhciBEPVcucG9wKCk7Zm9yKEQ9bi5KK24uTi5sZW5ndGgoKS1EO0Q+MTI3OylXLnB1c2goRCYxMjd8MTI4KSxEPj4+PTcsbi5KKys7Vy5wdXNoKEQpO24uSisrfTsKeW09ZnVuY3Rpb24obixXLEQpe2lmKEQhPW51bGwpc3dpdGNoKFB5KEQpLG00KG4sVywxKSx0eXBlb2YgRCl7Y2FzZSAibnVtYmVyIjpuPW4uTjtOMyhEKTtKMyhuLHJaKTtKMyhuLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oRCx2eSxrbSk7bj1uLk47Vz1ELk47SjMobixELkopO0ozKG4sVyk7YnJlYWs7ZGVmYXVsdDpEPXhtKEQpLG49bi5OLFc9RC5OLEozKG4sRC5KKSxKMyhuLFcpfX07CkVzPWZ1bmN0aW9uKG4sVyxEKXtEIT1udWxsJiYoRD1wYXJzZUludChELDEwKSxtNChuLFcsMCksU0Mobi5OLEQpKX07CmlHPWZ1bmN0aW9uKG4sVyxEKXttNChuLFcsMik7SXgobi5OLEQubGVuZ3RoKTtBMyhuLG4uTi5lbmQoKSk7QTMobixEKX07ClB5PWZ1bmN0aW9uKG4pe3N3aXRjaCh0eXBlb2Ygbil7Y2FzZSAic3RyaW5nIjp4bShuKX19Owp1Rz1mdW5jdGlvbihuKXtzd2l0Y2godHlwZW9mIG4pe2Nhc2UgInN0cmluZyI6bi5sZW5ndGgmJm5bMF09PT0iLSI/eG0obi5zdWJzdHJpbmcoMSkpOnhtKG4pfX07Cm94PWZ1bmN0aW9uKCl7dmFyIG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aHJvdyBFcnJvcigpO319O09iamVjdC5zZXRQcm90b3R5cGVPZihuLG4ucHJvdG90eXBlKTtyZXR1cm4gbn07CmRHPWZ1bmN0aW9uKG4sVyl7aWYoVz09bnVsbHx8Vz09IiIpcmV0dXJuIG5ldyBuO1c9SlNPTi5wYXJzZShXKTtpZighQXJyYXkuaXNBcnJheShXKSl0aHJvdyBFcnJvcigiZG5hcnIiKTtXW2I0XXw9MzI7cmV0dXJuIG5ldyBuKFcpfTsKVFM9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHpTKG4sVyxsRyl9OwpDaD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9akMoVyxiKTtXIT1udWxsJiYoRD1LaChuLEQpLHYoVyxuKSxPcyhuLEQpKX07CndHPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PWJbbl07aWYodilyZXR1cm4gdjt2PXt9O3Yud2s9Yjt2LlJyPW4zMihiWzBdKTt2YXIgaz1iWzFdLGg9MTtrJiZrLmNvbnN0cnVjdG9yPT09T2JqZWN0JiYodi5leHRlbnNpb25zPWssaz1iWysraF0sdHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYodi5kJD0hMCxCeT8/KEJ5PWspLEZ0Pz8oRnQ9YltoKzFdKSxrPWJbaCs9Ml0pKTtmb3IodmFyIHg9e307ayYmQXJyYXkuaXNBcnJheShrKSYmay5sZW5ndGgmJnR5cGVvZiBrWzBdPT09Im51bWJlciImJmtbMF0+MDspe2Zvcih2YXIgTD0wO0w8ay5sZW5ndGg7TCsrKXhba1tMXV09aztrPWJbKytoXX1mb3IoTD0xO2shPT12b2lkIDA7KXt0eXBlb2Ygaz09PSJudW1iZXIiJiYoTCs9ayxrPWJbKytoXSk7bGV0IHI7dmFyIGU9dm9pZCAwO2sgaW5zdGFuY2VvZiB6Uz9yPWs6KHI9TGN0LGgtLSk7aWYocj8uTil7az1iWysraF07ZT1iO3ZhciBHPWg7dHlwZW9mIGs9PT0iZnVuY3Rpb24iJiYoaz1rKCksCmVbR109ayk7ZT1rfWs9YlsrK2hdO0c9TCsxO3R5cGVvZiBrPT09Im51bWJlciImJms8MCYmKEctPWssaz1iWysraF0pO2Zvcig7TDxHO0wrKyl7bGV0IE49eFtMXTtlP0QodixMLHIsZSxOKTpXKHYsTCxyLE4pfX1yZXR1cm4gYltuXT12fTsKTWY9ZnVuY3Rpb24obil7cmV0dXJuIEFycmF5LmlzQXJyYXkobik/blswXWluc3RhbmNlb2YgelM/bjpbZUJ0LG5dOltuLHZvaWQgMF19OwpSeD1mdW5jdGlvbihuLFc9IiIsRD0iIil7bj1uZXcgZy53WihuLCEwKTtuLnNldCgiYWxyIiwieWVzIik7RCYmKEQ9ZVgoODQsNjU1MyxNMygxOCw0MjYwLEQpKSxuW0lbMzRdXShXLFIwKDEzLDg3MTYsRCkpKTtyZXR1cm4gbn07CmpDPWZ1bmN0aW9uKG4sVyl7aWYobiBpbnN0YW5jZW9mIGcuUW0pcmV0dXJuIG4ubDk7aWYoQXJyYXkuaXNBcnJheShuKSlyZXR1cm4gU1cobixXKX07ClZtPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuY2o7bltXXT1iPyhrLGgseCk9PnYoayxoLHgsYik6dn07CmF4PWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9RC5jaixoLHg7bltXXT0oTCxlLEcpPT5rKEwsZSxHLHh8fCh4PXdHKGN5LFZtLGF4LGIpLlJyKSxofHwoaD1uOChiKSksdil9OwpuOD1mdW5jdGlvbihuKXt2YXIgVz1uW1dPXTtpZihXIT1udWxsKXJldHVybiBXO3ZhciBEPXdHKGN5LFZtLGF4LG4pO1c9RC5kJD8oYix2KT0+QnkoYix2LEQpOihiLHYpPT57YTp7TUgoKTsKdHJ5e2Zvcig7Rl8odikmJnYuSiE9NDspe2xldCBOPXYuVyxIPURbTl07aWYoSD09bnVsbCl7bGV0IEE9RC5leHRlbnNpb25zO2lmKEEpe2xldCB5PUFbTl07aWYoeSl7bGV0IFQ9ZzNVKHkpO1QhPW51bGwmJihIPURbTl09VCl9fX1pZihIPT1udWxsfHwhSCh2LGIsTikpe3ZhciBrPXY7bGV0IEE9ay5YO3dlKGspO2lmKGsuR2IpdmFyIGg9dm9pZCAwO2Vsc2V7bGV0IHk9ay5OLk4tQTtrLk4uTj1BO2g9bGEoay5OLHkpfWs9dm9pZCAwO3ZhciB4PWIsTD1OLGU9aDtlJiYoKGs9eFtMR10/Pyh4W0xHXT1uZXcgWEYpKVtMXT8/KGtbTF09W10pKS5wdXNoKGUpfX1sZXQgcj1lVyhiKTtyJiYoci5qNz1ELndrW0Q4XSk7dmFyIEc9ITA7YnJlYWsgYX1jYXRjaChyKXtpZihyIGluc3RhbmNlb2YgUmFuZ2VFcnJvcil0aHJvdyBuZXcgU3ludGF4RXJyb3I7dGhyb3cgcjt9ZmluYWxseXtSWT4wJiZSWS0tfUc9dm9pZCAwfXJldHVybiBHfTsKbltXT109VztuW0Q4XT1YTWkuYmluZChuKTtyZXR1cm4gV307ClhNaT1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj10aGlzW2N5XSxrPXRoaXNbV09dLGg9U1codm9pZCAwLHYuUnIpLHg9ZVcobik7aWYoeCl7dmFyIEw9ITEsZT12LmV4dGVuc2lvbnM7aWYoZSl7dj0oRyxyLE4pPT57aWYoTi5sZW5ndGghPT0wKWlmKGVbcl0pZm9yKGxldCBIIG9mIE4pe0c9Q24oSCk7dHJ5e0w9ITAsayhoLEcpfWZpbmFsbHl7Ry5mcmVlKCl9fWVsc2UgYj8uKG4scixOKX07CmlmKFc9PW51bGwpZ2coeCx2KTtlbHNlIGlmKHghPW51bGwpe2xldCBHPXhbV107RyYmdih4LFcsRyl9aWYoTCl7bGV0IEc9bltiNF18MDtpZihHJjImJkcmMjA0OCYmIUQ/LkpTKXRocm93IEVycm9yKCk7bGV0IHI9TDUoRyksTj0oSCxBKT0+e2lmKEVLKG4sSCxyKSE9bnVsbClzd2l0Y2goRD8uaDQpe2Nhc2UgMTpyZXR1cm47ZGVmYXVsdDp0aHJvdyBFcnJvcigpO31BIT1udWxsJiYoRz11VyhuLEcsSCxBLHIpKTtkZWxldGUgeFtIXX07Clc9PW51bGw/aF8oaCxoW2I0XXwwLChILEEpPT57TihILEEpfSk6TihXLEVLKGgsVyxyKSl9fX19OwpnM1U9ZnVuY3Rpb24obil7bj1NZihuKTt2YXIgVz1uWzBdLmNqO2lmKG49blsxXSl7bGV0IEQ9bjgobiksYj13RyhjeSxWbSxheCxuKS5ScjtyZXR1cm4odixrLGgpPT5XKHYsayxoLGIsRCl9cmV0dXJuIFd9OwpiNj1mdW5jdGlvbihuLFcsRCl7bltXXT1ELlBqfTsKa249ZnVuY3Rpb24obixXLEQsYil7dmFyIHYsayxoPUQuUGo7bltXXT0oeCxMLGUpPT5oKHgsTCxlLGt8fChrPXdHKHZPLGI2LGtuLGIpLlJyKSx2fHwodj1oOShiKSkpfTsKaDk9ZnVuY3Rpb24obil7dmFyIFc9blt4bl07aWYoIVcpe2xldCBEPXdHKHZPLGI2LGtuLG4pO1c9KGIsdik9Pkw4KGIsdixEKTsKblt4bl09V31yZXR1cm4gV307Ckw4PWZ1bmN0aW9uKG4sVyxEKXtoXyhuLG5bYjRdfDAsKGIsdik9PntpZih2IT1udWxsKXt2YXIgaz1xTU0oRCxiKTtrP2soVyx2LGIpOmI8NTAwfHxuNShHNFMsMyl9fSk7CihuPWVXKG4pKSYmZ2cobiwoYix2LGspPT57QTMoVyxXLk4uZW5kKCkpO2ZvcihiPTA7YjxrLmxlbmd0aDtiKyspQTMoVyxRbChrW2JdKXx8bmV3IFVpbnQ4QXJyYXkoMCkpfSl9OwpxTU09ZnVuY3Rpb24obixXKXt2YXIgRD1uW1ddO2lmKEQpcmV0dXJuIEQ7aWYoRD1uLmV4dGVuc2lvbnMpaWYoRD1EW1ddKXtEPU1mKEQpO3ZhciBiPURbMF0uUGo7aWYoRD1EWzFdKXtsZXQgdj1oOShEKSxrPXdHKHZPLGI2LGtuLEQpLlJyO0Q9bi5kJD9GdChrLHYpOihoLHgsTCk9PmIoaCx4LEwsayx2KX1lbHNlIEQ9YjsKcmV0dXJuIG5bV109RH19OwplNj1mdW5jdGlvbihuLFcsRCl7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9V1tiNF18MDtpZihiJjQpcmV0dXJuIFc7Zm9yKHZhciB2PTAsaz0wO3Y8Vy5sZW5ndGg7disrKXtsZXQgaD1uKFdbdl0pO2ghPW51bGwmJihXW2srK109aCl9azx2JiYoVy5sZW5ndGg9ayk7bj1ifDE7RCYmKG49KG58NCkmLTE1MzcpO24hPT1iJiYoV1tiNF09bik7RCYmbiYyJiZPYmplY3QuZnJlZXplKFcpO3JldHVybiBXfX07CmcuZ1E9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKWGY9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgelMobixXLEQpfTsKZy5xWT1mdW5jdGlvbihuLFcsRCl7dVcobixuW2I0XXwwLFcsRCxMNShuW2I0XXwwKSl9OwpnLnQ5PWZ1bmN0aW9uKG4sVyxEKXtXPW0wKFcpO1chPW51bGwmJihtNChuLEQsMSksbj1uLk4sRD1Hdnx8KEd2PW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxELnNldEZsb2F0NjQoMCwrVywhMCksclo9RC5nZXRVaW50MzIoMCwhMCksc189RC5nZXRVaW50MzIoNCwhMCksSjMobixyWiksSjMobixzXykpfTsKZy4kbj1mdW5jdGlvbihuLFcsRCl7Vz1DeE0oVyk7aWYoVyE9bnVsbCl7c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOlh0KFcpfWlmKFchPW51bGwpc3dpdGNoKG00KG4sRCwwKSx0eXBlb2YgVyl7Y2FzZSAibnVtYmVyIjpuPW4uTjtwNShXKTtIeShuLHJaLHNfKTticmVhaztjYXNlICJiaWdpbnQiOkQ9WW0oVyxlQyx4VWopO0h5KG4uTixELkosRC5OKTticmVhaztkZWZhdWx0OkQ9WHQoVyksSHkobi5OLEQuSixELk4pfX19OwpnLnJRPWZ1bmN0aW9uKG4sVyxEKXtXPUVfKFcpO1chPW51bGwmJlchPW51bGwmJihtNChuLEQsMCksU0Mobi5OLFcpKX07CnNmPWZ1bmN0aW9uKG4sVyxEKXtXPVc9PW51bGx8fHR5cGVvZiBXPT09ImJvb2xlYW4iP1c6dHlwZW9mIFc9PT0ibnVtYmVyIj8hIVc6dm9pZCAwO1chPW51bGwmJihtNChuLEQsMCksbi5OLk4ucHVzaChXPzE6MCkpfTsKTlk9ZnVuY3Rpb24obixXLEQpe1c9Zy5EUihXKTtXIT1udWxsJiZpRyhuLEQsa0soVykpfTsKcDg9ZnVuY3Rpb24obixXLEQsYix2KXtXPWpDKFcsYik7VyE9bnVsbCYmKEQ9S2gobixEKSx2KFcsbiksT3MobixEKSl9OwpKOT1mdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxvWShuLk4pKTtyZXR1cm4hMH07CklfPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKEQsYik9PnthOntsZXQgaz17aEI6ITB9O2ImJk9iamVjdC5hc3NpZ24oayxiKTtEPUNuKEQsdm9pZCAwLHZvaWQgMCxrKTt0cnl7bGV0IGg9bmV3IG4seD1oLmw5O244KFcpKHgsRCk7dmFyIHY9aDticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBSYW5nZUVycm9yKXRocm93IG5ldyBTeW50YXhFcnJvcjt0aHJvdyBoO31maW5hbGx5e0QuZnJlZSgpfXY9dm9pZCAwfXJldHVybiB2fX07CmcuQTk9ZnVuY3Rpb24obil7cmV0dXJuIFc9PlM2KFcsbil9OwpnLm1EPWZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBTNih0aGlzLG4pfX07Cks4PWZ1bmN0aW9uKG4pe3JldHVybiBXPT5kRyhuLFcpfTsKdGpVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFFnKG4sVyxVXyl9Owp1Nj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZy5PZjtXPWcuU0UoVywxLG4uSik7dmFyIEQ9JFVNKG4pO1c9UWcoVyxELEZTMik7RD1bXTt2YXIgYj1bXTtmb3IodmFyIHYgb2Ygbi5OLmtleXMoKSliLnB1c2godi5zcGxpdCgiLCIpKTtmb3Iodj0wO3Y8Yi5sZW5ndGg7disrKXtsZXQgcj1iW3ZdO3ZhciBrPW4uVyxoPVBPKG4sLi4ucil8fFtdO2xldCBOPVtdO2Zvcih2YXIgeD0wO3g8aC5sZW5ndGg7eCsrKXt2YXIgTD1oW3hdLGU9TCYmTC5OO0w9bmV3IFo4O3N3aXRjaChrKXtjYXNlIDM6ZT1OdW1iZXIoZSk7TnVtYmVyLmlzRmluaXRlKGUpJiZEMihMLDEsVWYsZy5sNChlKSk7YnJlYWs7Y2FzZSAyOkQyKEwsMixVZixnLkFfKE51bWJlcihlKSkpfU4ucHVzaChMKX1mb3Ioaz0wO2s8Ti5sZW5ndGg7aysrKXt4PU5ba107aD1uZXcgeWU7aD0kOShoLFo4LDIseCk7eD1bXTtMPXJGdChuKTtmb3IoZT0wO2U8TC5sZW5ndGg7ZSsrKXt2YXIgRz1MW2VdO2xldCBIPXJbZV0sQT1uZXcgRWY7CnN3aXRjaChHKXtjYXNlIDM6RDIoQSwxLGk2LFdIKFN0cmluZyhIKSkpO2JyZWFrO2Nhc2UgMjpHPU51bWJlcihIKTtOdW1iZXIuaXNGaW5pdGUoRykmJkQyKEEsMixpNixnLnlQKEcpKTticmVhaztjYXNlIDE6RDIoQSwzLGk2LE9fKEg9PT0idHJ1ZSIpKX14LnB1c2goQSl9c1YoaCxFZiwxLHgpO0QucHVzaChoKX19c1YoVyx5ZSw0LEQpO3JldHVybiBXfTsKb189ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChuKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7bi5pbmRleE9mKCJibG9iOiIpPT09MCYmKG49bi5zdWJzdHJpbmcoNSkpO249bi5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07bj1uLnRvTG93ZXJDYXNlKCk7bi5pbmRleE9mKCIvLyIpPT0wJiYobj13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrbik7L15bXHdcLV0qOlwvXC8vLnRlc3Qobil8fChuPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgVz1uLnN1YnN0cmluZyhuLmluZGV4T2YoIjovLyIpKzMpLEQ9Vy5pbmRleE9mKCIvIik7RCE9LTEmJihXPVcuc3Vic3RyaW5nKDAsRCkpO0Q9bi5zdWJzdHJpbmcoMCxuLmluZGV4T2YoIjovLyIpKTtpZighRCl0aHJvdyBFcnJvcigiVVJJIGlzIG1pc3NpbmcgcHJvdG9jb2w6ICIrbik7aWYoRCE9PSJodHRwIiYmRCE9PSJodHRwcyImJkQhPT0iY2hyb21lLWV4dGVuc2lvbiImJgpEIT09Im1vei1leHRlbnNpb24iJiZEIT09ImZpbGUiJiZEIT09ImFuZHJvaWQtYXBwIiYmRCE9PSJjaHJvbWUtc2VhcmNoIiYmRCE9PSJjaHJvbWUtdW50cnVzdGVkIiYmRCE9PSJjaHJvbWUiJiZEIT09ImFwcCImJkQhPT0iZGV2dG9vbHMiKXRocm93IEVycm9yKCJJbnZhbGlkIFVSSSBzY2hlbWUgaW4gb3JpZ2luOiAiK0QpO249IiI7dmFyIGI9Vy5pbmRleE9mKCI6Iik7aWYoYiE9LTEpe3ZhciB2PVcuc3Vic3RyaW5nKGIrMSk7Vz1XLnN1YnN0cmluZygwLGIpO2lmKEQ9PT0iaHR0cCImJnYhPT0iODAifHxEPT09Imh0dHBzIiYmdiE9PSI0NDMiKW49IjoiK3Z9cmV0dXJuIEQrIjovLyIrVytufTsKc00yPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZbMF09MTczMjU4NDE5Mzt2WzFdPTQwMjMyMzM0MTc7dlsyXT0yNTYyMzgzMTAyO3ZbM109MjcxNzMzODc4O3ZbNF09MzI4NTM3NzUyMDtHPWU9MH0KZnVuY3Rpb24gVyhyKXtmb3IodmFyIE49aCxIPTA7SDw2NDtIKz00KU5bSC80XT1yW0hdPDwyNHxyW0grMV08PDE2fHJbSCsyXTw8OHxyW0grM107Zm9yKEg9MTY7SDw4MDtIKyspcj1OW0gtM11eTltILThdXk5bSC0xNF1eTltILTE2XSxOW0hdPShyPDwxfHI+Pj4zMSkmNDI5NDk2NzI5NTtyPXZbMF07dmFyIEE9dlsxXSx5PXZbMl0sVD12WzNdLHo9dls0XTtmb3IoSD0wO0g8ODA7SCsrKXtpZihIPDQwKWlmKEg8MjApe3ZhciBDPVReQSYoeV5UKTt2YXIgUT0xNTE4NTAwMjQ5fWVsc2UgQz1BXnleVCxRPTE4NTk3NzUzOTM7ZWxzZSBIPDYwPyhDPUEmeXxUJihBfHkpLFE9MjQwMDk1OTcwOCk6KEM9QV55XlQsUT0zMzk1NDY5NzgyKTtDPSgocjw8NXxyPj4+MjcpJjQyOTQ5NjcyOTUpK0MreitRK05bSF0mNDI5NDk2NzI5NTt6PVQ7VD15O3k9KEE8PDMwfEE+Pj4yKSY0Mjk0OTY3Mjk1O0E9cjtyPUN9dlswXT12WzBdK3ImNDI5NDk2NzI5NTt2WzFdPXZbMV0rQSY0Mjk0OTY3Mjk1O3ZbMl09CnZbMl0reSY0Mjk0OTY3Mjk1O3ZbM109dlszXStUJjQyOTQ5NjcyOTU7dls0XT12WzRdK3omNDI5NDk2NzI5NX0KZnVuY3Rpb24gRChyLE4pe2lmKHR5cGVvZiByPT09InN0cmluZyIpe3I9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHIpKTtmb3IodmFyIEg9W10sQT0wLHk9ci5sZW5ndGg7QTx5OysrQSlILnB1c2goci5jaGFyQ29kZUF0KEEpKTtyPUh9Tnx8KE49ci5sZW5ndGgpO0g9MDtpZihlPT0wKWZvcig7SCs2NDxOOylXKHIuc2xpY2UoSCxIKzY0KSksSCs9NjQsRys9NjQ7Zm9yKDtIPE47KWlmKGtbZSsrXT1yW0grK10sRysrLGU9PTY0KWZvcihlPTAsVyhrKTtIKzY0PE47KVcoci5zbGljZShILEgrNjQpKSxIKz02NCxHKz02NH0KZnVuY3Rpb24gYigpe3ZhciByPVtdLE49Ryo4O2U8NTY/RCh4LDU2LWUpOkQoeCw2NC0oZS01NikpO2Zvcih2YXIgSD02MztIPj01NjtILS0pa1tIXT1OJjI1NSxOPj4+PTg7VyhrKTtmb3IoSD1OPTA7SDw1O0grKylmb3IodmFyIEE9MjQ7QT49MDtBLT04KXJbTisrXT12W0hdPj5BJjI1NTtyZXR1cm4gcn0KZm9yKHZhciB2PVtdLGs9W10saD1bXSx4PVsxMjhdLEw9MTtMPDY0OysrTCl4W0xdPTA7dmFyIGUsRztuKCk7cmV0dXJue3Jlc2V0Om4sdXBkYXRlOkQsZGlnZXN0OmIsSFU6ZnVuY3Rpb24oKXtmb3IodmFyIHI9YigpLE49IiIsSD0wO0g8ci5sZW5ndGg7SCsrKU4rPSIwMTIzNDU2Nzg5QUJDREVGIi5jaGFyQXQoTWF0aC5mbG9vcihyW0hdLzE2KSkrIjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChyW0hdJTE2KTtyZXR1cm4gTn19fTsKZFE9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVN0cmluZyhnLnFpLmxvY2F0aW9uLmhyZWYpO3JldHVybiBiJiZuJiZXP1tXLE56cihvXyhiKSxuLER8fG51bGwpXS5qb2luKCIgIik6bnVsbH07Ck56cj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1bXTtpZigoQXJyYXkuaXNBcnJheShEKT8yOjEpPT0xKXJldHVybiB2PVtXLG5dLGcueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KSx6dih2LmpvaW4oIiAiKSk7CnZhciBrPVtdLGg9W107Zy55MihELGZ1bmN0aW9uKHgpe2gucHVzaCh4LmtleSk7ay5wdXNoKHgudmFsdWUpfSk7CkQ9TWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWUoKS8xRTMpO3Y9ay5sZW5ndGg9PTA/W0QsVyxuXTpbay5qb2luKCI6IiksRCxXLG5dO2cueTIoYixmdW5jdGlvbih4KXt2LnB1c2goeCl9KTsKbj16dih2LmpvaW4oIiAiKSk7bj1bRCxuXTtoLmxlbmd0aD09MHx8bi5wdXNoKGguam9pbigiIikpO3JldHVybiBuLmpvaW4oIl8iKX07Cnp2PWZ1bmN0aW9uKG4pe3ZhciBXPXNNMigpO1cudXBkYXRlKG4pO3JldHVybiBXLkhVKCkudG9Mb3dlckNhc2UoKX07Cmw2PWZ1bmN0aW9uKG4pe3RoaXMuTj1ufHx7Y29va2llOiIifX07ClR2PWZ1bmN0aW9uKG4pe249KG4uTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO3ZhciBXPVtdLEQ9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspe3ZhciBiPW5ba10udHJpbSgpO3ZhciB2PWIuaW5kZXhPZigiPSIpO3Y9PS0xPyhXLnB1c2goIiIpLEQucHVzaChiKSk6KFcucHVzaChiLnN1YnN0cmluZygwLHYpKSxELnB1c2goYi5zdWJzdHJpbmcodisxKSkpfXJldHVybntrZXlzOlcsdmFsdWVzOkR9fTsKajY9ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLl9fU0FQSVNJRHx8Zy5xaS5fX0FQSVNJRHx8Zy5xaS5fXzNQU0FQSVNJRHx8Zy5xaS5fXzFQU0FQSVNJRHx8Zy5xaS5fX09WRVJSSURFX1NJRDtpZihuKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYobj1uZXcgbDYoZG9jdW1lbnQpLG49bi5nZXQoIlNBUElTSUQiKXx8bi5nZXQoIkFQSVNJRCIpfHxuLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8bi5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhbn07CkM4PWZ1bmN0aW9uKG4sVyxELGIpeyhuPWcucWlbbl0pfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KG49KG5ldyBsNihkb2N1bWVudCkpLmdldChXKSk7cmV0dXJuIG4/ZFEobixELGIpOm51bGx9OwpCTz1mdW5jdGlvbihuKXt2YXIgVz1vXyhnLnFpPy5sb2NhdGlvbi5ocmVmKSxEPVtdO2lmKGo2KCkpe1c9Vy5pbmRleE9mKCJodHRwczoiKT09MHx8Vy5pbmRleE9mKCJjaHJvbWUtZXh0ZW5zaW9uOiIpPT0wfHxXLmluZGV4T2YoImNocm9tZS11bnRydXN0ZWQ6Ly9uZXctdGFiLXBhZ2UiKT09MHx8Vy5pbmRleE9mKCJtb3otZXh0ZW5zaW9uOiIpPT0wO3ZhciBiLHY9KGI9Vyk/Zy5xaS5fX1NBUElTSUQ6Zy5xaS5fX0FQSVNJRDt2fHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KHY9bmV3IGw2KGRvY3VtZW50KSx2PXYuZ2V0KGI/IlNBUElTSUQiOiJBUElTSUQiKXx8di5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhiPXY/ZFEodixiPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLG4pOm51bGwpJiZELnB1c2goYik7VyYmKChXPUM4KCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsbikpJiZELnB1c2goVyksKG49QzgoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsbikpJiZELnB1c2gobikpfXJldHVybiBELmxlbmd0aD09MD9udWxsOkQuam9pbigiICIpfTsKZy5GZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KG4sVyksRCl9Owp3UT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4rRCooVy1uKX07CmcuTVk9ZnVuY3Rpb24obixXKXt0aGlzLng9biE9PXZvaWQgMD9uOjA7dGhpcy55PVchPT12b2lkIDA/VzowfTsKUl89ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ueD09Vy54JiZuLnk9PVcueTohMX07CmcuUWU9ZnVuY3Rpb24obixXKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9V307CmcuVmU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09Vz8hMDpuJiZXP24ud2lkdGg9PVcud2lkdGgmJm4uaGVpZ2h0PT1XLmhlaWdodDohMX07CmNPPWZ1bmN0aW9uKG4pe3JldHVybiBuLndpZHRoKm4uaGVpZ2h0fTsKZy5hXz1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4pVy5jYWxsKEQsbltiXSxiLG4pfTsKZy5uVD1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBpbiBuKVcuY2FsbCh2b2lkIDAsbltiXSxiLG4pJiYoRFtiXT1uW2JdKTtyZXR1cm4gRH07Cld4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCBiIGluIG4pRFtiXT1XLmNhbGwodm9pZCAwLG5bYl0sYixuKTtyZXR1cm4gRH07CmcuRGw9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBuKWlmKFcuY2FsbChELG5bYl0sYixuKSlyZXR1cm4hMDtyZXR1cm4hMX07CmcuYms9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZighVy5jYWxsKHZvaWQgMCxuW0RdLEQsbikpcmV0dXJuITE7cmV0dXJuITB9Owp2eD1mdW5jdGlvbihuKXtmb3IobGV0IFcgaW4gbilyZXR1cm4gV307Cmt5PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKXJldHVybiBuW1ddfTsKaEs9ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO2ZvcihsZXQgYiBpbiBuKVdbRCsrXT1uW2JdO3JldHVybiBXfTsKZy5MVD1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPTA7Zm9yKGxldCBiIGluIG4pV1tEKytdPWI7cmV0dXJuIFd9OwpnLmVwPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG59OwpnLmdtPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4paWYobltEXT09VylyZXR1cm4hMDtyZXR1cm4hMX07CmcuWEw9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbilpZihXLmNhbGwodm9pZCAwLG5bRF0sRCxuKSlyZXR1cm4gRH07CnFjPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFc9Zy5YTChuLFcpKSYmbltXXX07CmcuR0Y9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4pcmV0dXJuITE7cmV0dXJuITB9OwpnLnRLPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBpbiBuKWRlbGV0ZSBuW1ddfTsKZy4keT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4hPT1udWxsJiZXIGluIG4/bltXXTpEfTsKZy5ybT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBuKWlmKCEoRCBpbiBXKXx8bltEXSE9PVdbRF0pcmV0dXJuITE7Zm9yKGxldCBEIGluIFcpaWYoIShEIGluIG4pKXJldHVybiExO3JldHVybiEwfTsKZy5zMD1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQgaW4gbilXW0RdPW5bRF07cmV0dXJuIFd9OwpnLk5jPWZ1bmN0aW9uKG4pe2lmKCFufHx0eXBlb2YgbiE9PSJvYmplY3QiKXJldHVybiBuO2lmKHR5cGVvZiBuLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gbi5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChuKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQobik7aWYobiBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKG4uZ2V0VGltZSgpKTt2YXIgVz1BcnJheS5pc0FycmF5KG4pP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KG4pfHxuIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IG4uY29uc3RydWN0b3Iobi5sZW5ndGgpO2ZvcihsZXQgRCBpbiBuKVdbRF09Zy5OYyhuW0RdKTtyZXR1cm4gV307CmcuWXk9ZnVuY3Rpb24obixXKXtmb3IobGV0IHY9MTt2PGFyZ3VtZW50cy5sZW5ndGg7disrKXt2YXIgRD1hcmd1bWVudHNbdl07Zm9yKGIgaW4gRCluW2JdPURbYl07Zm9yKGxldCBrPTA7azxwVC5sZW5ndGg7aysrKXt2YXIgYj1wVFtrXTtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRCxiKSYmKG5bYl09RFtiXSl9fX07ClhaeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFo0KG5bMF0udG9Mb3dlckNhc2UoKSl9OwpnLkh4PWZ1bmN0aW9uKG4sLi4uVyl7aWYoVy5sZW5ndGg9PT0wKXJldHVybiBrMyhuWzBdKTt2YXIgRD1uWzBdO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKUQrPWVuY29kZVVSSUNvbXBvbmVudChXW2JdKStuW2IrMV07cmV0dXJuIGszKEQpfTsKZy5TcD1mdW5jdGlvbihuKXtyZXR1cm4gbj9uZXcgZlQoZy5KSyhuKSk6SWh8fChJaD1uZXcgZlQpfTsKQUs9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIFc9PT0ic3RyaW5nIj9uLmdldEVsZW1lbnRCeUlkKFcpOld9OwpnLktUPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8ZG9jdW1lbnQ7RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lP249RC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pWzBdOihEPWRvY3VtZW50LG49bj8oV3x8RCkucXVlcnlTZWxlY3RvcihuPyIuIituOiIiKTpnLm1CKEQsIioiLG4sVylbMF18fG51bGwpO3JldHVybiBufHxudWxsfTsKZy5tQj1mdW5jdGlvbihuLFcsRCxiKXtuPWJ8fG47cmV0dXJuKFc9VyYmVyE9IioiP1N0cmluZyhXKS50b1VwcGVyQ2FzZSgpOiIiKXx8RD9uLnF1ZXJ5U2VsZWN0b3JBbGwoVysoRD8iLiIrRDoiIikpOm4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKX07CmcuUHg9ZnVuY3Rpb24obixXKXtnLmFfKFcsZnVuY3Rpb24oRCxiKXtiPT0ic3R5bGUiP24uc3R5bGUuY3NzVGV4dD1EOmI9PSJjbGFzcyI/bi5jbGFzc05hbWU9RDpiPT0iZm9yIj9uLmh0bWxGb3I9RDpPMC5oYXNPd25Qcm9wZXJ0eShiKT9uLnNldEF0dHJpYnV0ZShPMFtiXSxEKTpnLmpVKGIsImFyaWEtIil8fGcualUoYiwiZGF0YS0iKT9uLnNldEF0dHJpYnV0ZShiLEQpOm5bYl09RH0pfTsKZy5FMD1mdW5jdGlvbihuKXt2YXIgVz1uLnNjcm9sbGluZ0VsZW1lbnQ/bi5zY3JvbGxpbmdFbGVtZW50OmcuWmx8fG4uY29tcGF0TW9kZSE9IkNTUzFDb21wYXQiP24uYm9keXx8bi5kb2N1bWVudEVsZW1lbnQ6bi5kb2N1bWVudEVsZW1lbnQ7bj1uLmRlZmF1bHRWaWV3O3JldHVybiBuZXcgZy5NWShuPy5wYWdlWE9mZnNldHx8Vy5zY3JvbGxMZWZ0LG4/LnBhZ2VZT2Zmc2V0fHxXLnNjcm9sbFRvcCl9OwpnLmlrPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGVmYXVsdFZpZXc6d2luZG93fTsKZy5kbT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9YXJndW1lbnRzLHY9ZG9jdW1lbnQsaz1iWzFdLGg9dWsodixTdHJpbmcoYlswXSkpO2smJih0eXBlb2Ygaz09PSJzdHJpbmciP2guY2xhc3NOYW1lPWs6QXJyYXkuaXNBcnJheShrKT9oLmNsYXNzTmFtZT1rLmpvaW4oIiAiKTpnLlB4KGgsaykpO2IubGVuZ3RoPjImJm9oKHYsaCxiLDIpO3JldHVybiBofTsKb2g9ZnVuY3Rpb24obixXLEQsYil7ZnVuY3Rpb24gdihrKXtrJiZXLmFwcGVuZENoaWxkKHR5cGVvZiBrPT09InN0cmluZyI/bi5jcmVhdGVUZXh0Tm9kZShrKTprKX0KZm9yKDtiPEQubGVuZ3RoO2IrKyl7bGV0IGs9RFtiXTshZy5ZMihrKXx8Zy5mdChrKSYmay5ub2RlVHlwZT4wP3Yoayk6Zy55MihrJiZ0eXBlb2Ygay5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2Ygay5pdGVtPT0iZnVuY3Rpb24iP2cuUk0oayk6ayx2KX19OwpnLnpGPWZ1bmN0aW9uKG4pe3JldHVybiB1ayhkb2N1bWVudCxuKX07CnVrPWZ1bmN0aW9uKG4sVyl7Vz1TdHJpbmcoVyk7bi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoVz1XLnRvTG93ZXJDYXNlKCkpO3JldHVybiBuLmNyZWF0ZUVsZW1lbnQoVyl9OwpnLmxrPWZ1bmN0aW9uKG4pe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcobikpfTsKZy5URj1mdW5jdGlvbihuKXtmb3IodmFyIFc7Vz1uLmZpcnN0Q2hpbGQ7KW4ucmVtb3ZlQ2hpbGQoVyl9OwpnLmpwPWZ1bmN0aW9uKG4sVyxEKXtuLmluc2VydEJlZm9yZShXLG4uY2hpbGROb2Rlc1tEXXx8bnVsbCl9OwpnLkNUPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLnBhcmVudE5vZGU/bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pOm51bGx9OwpnLkJ4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4mJlc/bj09V3x8bi5jb250YWlucyhXKTohMX07CmcuSks9ZnVuY3Rpb24obil7cmV0dXJuIG4ubm9kZVR5cGU9PTk/bjpuLm93bmVyRG9jdW1lbnR8fG4uZG9jdW1lbnR9OwpnLkZMPWZ1bmN0aW9uKG4sVyl7aWYoInRleHRDb250ZW50ImluIG4pbi50ZXh0Q29udGVudD1XO2Vsc2UgaWYobi5ub2RlVHlwZT09MyluLmRhdGE9U3RyaW5nKFcpO2Vsc2UgaWYobi5maXJzdENoaWxkJiZuLmZpcnN0Q2hpbGQubm9kZVR5cGU9PTMpe2Zvcig7bi5sYXN0Q2hpbGQhPW4uZmlyc3RDaGlsZDspbi5yZW1vdmVDaGlsZChuLmxhc3RDaGlsZCk7bi5maXJzdENoaWxkLmRhdGE9U3RyaW5nKFcpfWVsc2UgZy5URihuKSxuLmFwcGVuZENoaWxkKGcuSksobikuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKFcpKSl9OwpNYz1mdW5jdGlvbihuKXtyZXR1cm4gbi50YWdOYW1lPT0iQSImJm4uaGFzQXR0cmlidXRlKCJocmVmIil8fG4udGFnTmFtZT09IklOUFVUInx8bi50YWdOYW1lPT0iVEVYVEFSRUEifHxuLnRhZ05hbWU9PSJTRUxFQ1QifHxuLnRhZ05hbWU9PSJCVVRUT04iPyFuLmRpc2FibGVkJiYoIW4uaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHx3bShuKSk6bi5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJndtKG4pfTsKd209ZnVuY3Rpb24obil7bj1uLnRhYkluZGV4O3JldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiJiZuPj0wJiZuPDMyNzY4fTsKZy5SaD1mdW5jdGlvbihuLFcsRCl7biYmIUQmJihuPW4ucGFyZW50Tm9kZSk7Zm9yKEQ9MDtuOyl7aWYoVyhuKSlyZXR1cm4gbjtuPW4ucGFyZW50Tm9kZTtEKyt9cmV0dXJuIG51bGx9OwpmVD1mdW5jdGlvbihuKXt0aGlzLk49bnx8Zy5xaS5kb2N1bWVudHx8ZG9jdW1lbnR9OwpwTXg9ZnVuY3Rpb24obil7c1YoUVEsVlEsMSxuKX07CllNeD1mdW5jdGlvbihuLFc9Y3gpe2lmKCFhaCl7bj1uLm5hdmlnYXRvcj8udXNlckFnZW50RGF0YTtpZighbnx8dHlwZW9mIG4uZ2V0SGlnaEVudHJvcHlWYWx1ZXMhPT0iZnVuY3Rpb24ifHxuLmJyYW5kcyYmdHlwZW9mIG4uYnJhbmRzLm1hcCE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJVQUNIIHVuYXZhaWxhYmxlIikpO3BNeCgobi5icmFuZHN8fFtdKS5tYXAoYj0+e3ZhciB2PW5ldyBWUTt2PWcuU0UodiwxLGIuYnJhbmQpO3JldHVybiBnLlNFKHYsMixiLnZlcnNpb24pfSkpOwp0eXBlb2Ygbi5tb2JpbGU9PT0iYm9vbGVhbiImJm96KFFRLDIsT18obi5tb2JpbGUpKTthaD1uLmdldEhpZ2hFbnRyb3B5VmFsdWVzKFcpfXZhciBEPW5ldyBTZXQoVyk7cmV0dXJuIGFoLnRoZW4oYj0+e3ZhciB2PVFRLmNsb25lKCk7RC5oYXMoInBsYXRmb3JtIikmJmcuU0UodiwzLGIucGxhdGZvcm0pO0QuaGFzKCJwbGF0Zm9ybVZlcnNpb24iKSYmZy5TRSh2LDQsYi5wbGF0Zm9ybVZlcnNpb24pO0QuaGFzKCJhcmNoaXRlY3R1cmUiKSYmZy5TRSh2LDUsYi5hcmNoaXRlY3R1cmUpO0QuaGFzKCJtb2RlbCIpJiZnLlNFKHYsNixiLm1vZGVsKTtELmhhcygidWFGdWxsVmVyc2lvbiIpJiZnLlNFKHYsNyxiLnVhRnVsbFZlcnNpb24pO3JldHVybiB2LmJZKCl9KS5jYXRjaCgoKT0+UVEuYlkoKSl9OwpuSz1mdW5jdGlvbihuKXtyZXR1cm4gS24obiwxLDEpfTsKdkw9ZnVuY3Rpb24obixXKXskOShuLk4sV0wsMSxXKTtIVyhXLDEpfHxuSyhXKTtuLmdSfHwoVz1ERChuKSxZOShXLDUpfHxnLlNFKFcsNSxuLmxvY2FsZSkpO24udWFjaCYmKFc9REQobiksZ2UoVyxiSSw5KXx8JDkoVyxiSSw5LG4udWFjaCkpfTsKREQ9ZnVuY3Rpb24obil7dmFyIFc9Z2Uobi5OLFdMLDEpO1d8fChXPW5ldyBXTCx2TChuLFcpKTtuPVc7Vz1nZShuLGtFLDExKTtXfHwoVz1uZXcga0UsJDkobixrRSwxMSxXKSk7cmV0dXJuIFd9OwpIYlM9ZnVuY3Rpb24obixXKXtuLko9V307CkpGWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdSP3ZvaWQgMDpnLmlrKCk7Vz9ZTXgoVyxjeCkudGhlbihEPT57bi51YWNoPWY0MihEPz8iW10iKTtEPUREKG4pOyQ5KEQsYkksOSxuLnVhY2gpO3JldHVybiEwfSkuY2F0Y2goKCk9PiExKTpQcm9taXNlLnJlc29sdmUoITEpfTsKZy5oSD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLlg9bjt0aGlzLmo9Vzt0aGlzLk49dGhpcy5XPW47dGhpcy5WPUR8fDA7dGhpcy5LPWJ8fDJ9OwpnLnhFPWZ1bmN0aW9uKG4pe24uTj1NYXRoLm1pbihuLmosbi5OKm4uSyk7bi5XPU1hdGgubWluKG4uaixuLk4rKG4uVj9NYXRoLnJvdW5kKG4uViooTWF0aC5yYW5kb20oKS0uNSkqMipuLk4pOjApKTtuLkorK307CkxLPWZ1bmN0aW9uKCl7cmV0dXJuImh0dHBzOi8vcGxheS5nb29nbGUuY29tL2xvZz9mb3JtYXQ9anNvbiZoYXNmYXN0PXRydWUifTsKSTRTPWZ1bmN0aW9uKG4sVyl7aWYoIW4uUyQpcmV0dXJuKCk9Pnt9Owp2YXIgRD0oKT0+e24uZmx1c2goKX07CnJldHVybiBXPygpPT57VygpLnRoZW4oRCl9OkR9OwplZz1mdW5jdGlvbihuKXtuLlcuaXNGaW5hbD0hMDtuLmZsdXNoKCk7bi5XLmlzRmluYWw9ITF9OwpnRD1mdW5jdGlvbihuKXtuLll8fChuLlk9TEsoKSk7dHJ5e3JldHVybihuZXcgVVJMKG4uWSkpLnRvU3RyaW5nKCl9Y2F0Y2goVyl7cmV0dXJuKG5ldyBVUkwobi5ZLGcuaWsoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07CkFGWj1mdW5jdGlvbihuKXtTTVMobiwoVyxEKT0+e1c9bmV3IFVSTChXKTtXLnNlYXJjaFBhcmFtcy5zZXQoImZvcm1hdCIsImpzb24iKTt2YXIgYj0hMTt0cnl7Yj1nLmlrKCkubmF2aWdhdG9yLnNlbmRCZWFjb24oVy50b1N0cmluZygpLEQuYlkoKSl9Y2F0Y2h7fWJ8fChuLkQ9ITEpO3JldHVybiBifSl9OwptVXc9ZnVuY3Rpb24obixXLEQ9bnVsbCxiPW4ud2l0aENyZWRlbnRpYWxzKXt2YXIgdj17fSxrPW5ldyBVUkwoZ0QobikpO0QmJih2LkF1dGhvcml6YXRpb249RCk7bi5zZXNzaW9uSW5kZXgmJih2WyJYLUdvb2ctQXV0aFVzZXIiXT1uLnNlc3Npb25JbmRleCxrLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixuLnNlc3Npb25JbmRleCkpO24ucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHYsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTpuLnBhZ2VJZH0pLGsuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixuLnBhZ2VJZCkpO3JldHVybnt1cmw6ay50b1N0cmluZygpLGJvZHk6VyxvJDoxLFpKOnYscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpiLHRpbWVvdXRNaWxsaXM6bi50aW1lb3V0TWlsbGlzfX07ClNNUz1mdW5jdGlvbihuLFcpe2lmKG4uTi5sZW5ndGghPT0wKXt2YXIgRD1uZXcgVVJMKGdEKG4pKTtELnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBiPW4ubjEoKTtiJiZELnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGIpO0Quc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLG4uc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihiPTA7YjwxMCYmbi5OLmxlbmd0aDsrK2Ipe2xldCB2PW4uTi5zbGljZSgwLDMyKSxrPW4uVy5idWlsZCh2LG4uWCxuLlYsbi5QZyxuLmNKLG4uTyk7aWYoIVcoRC50b1N0cmluZygpLGspKXsrK24uVjticmVha31uLlg9MDtuLlY9MDtuLmNKPTA7bi5PPTA7bi5OPW4uTi5zbGljZSh2Lmxlbmd0aCl9bi5KLmVuYWJsZWQmJm4uSi5zdG9wKCl9fTsKS2NoPWZ1bmN0aW9uKG4sVyl7bi5idWlsZExhYmVsPVc7cmV0dXJuIG59OwpQX2k9ZnVuY3Rpb24obil7bi5uZXR3b3JrPW5ldyBPYjE7cmV0dXJuIG59OwpaYmg9ZnVuY3Rpb24obixXKXtuLk49V307ClVVYj1mdW5jdGlvbihuKXtuLko9ITA7cmV0dXJuIG59OwpyRnQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkVHlwZSl9OwpQTz1mdW5jdGlvbihuLC4uLlcpe1c9WFQoLi4uVyk7cmV0dXJuIG4uTi5oYXMoVyk/bi5OLmdldChXKTp2b2lkIDB9OwokVU09ZnVuY3Rpb24obil7cmV0dXJuIG4uZmllbGRzLm1hcChXPT5XLmZpZWxkTmFtZSl9OwpHNz1mdW5jdGlvbihuLFcsLi4uRCl7RD1YVCguLi5EKTtuLk4uc2V0KEQsW25ldyBxNShXKV0pfTsKeUZaPWZ1bmN0aW9uKG4sVywuLi5EKXt2YXIgYj1QTyhuLC4uLkQpO2I/Yi5wdXNoKG5ldyBxNShXKSk6RzcobixXLC4uLkQpfTsKZVg9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9V15uO2lmKChuPj4xJjE2KTw1JiYobi0zJjExKT49OSYmRFtJWzE3XV0pdmFyIGs9UjAoOCw3NTQxLEQpO2lmKG4tMj4+ND09NCl7az12XjQ4NTA7Zm9yKHZhciBoPVtdOysray1oW0lbNV1dLSh2XjQ3NTQpOylzd2l0Y2goayl7Y2FzZSB2XjQ3NDQ6az12XjQ4MTg7Y29udGludWU7Y2FzZSB2XjQ4NDE6az12XjQ3NjY7YnJlYWs7Y2FzZSB2XjQ4NTE6az12XjQ3NjU7Y29udGludWU7Y2FzZSB2XjQ3NjQ6az12XjQ2NTE7Y2FzZSB2XjQ4MDk6ay09dl40NzQ0O2RlZmF1bHQ6aFtJW3ZeNDc3Ml1dKFN0cmluZ1tJW3ZeNDczNl1dKGspKX12YXIgeD1ofShuXjcwKT4+Mz09MiYmKGs9RFtJW3ZeNjYzM11dKElbdl42NjE2XSksdEhbSVt2XjY2NDddXShrLHZeNjYyMSksdEhbSVt2XjY2NDddXShrLDIpLHRIW0lbdl42NjEzXV0oayx2XjY2MzEpLHg9a1tJW3ZeNjU5Ml1dKElbdl42NjE2XSkpO248PDImMjd8fChlWCh2XjEzMzYsdl42NDI3LEQpLAprPU0zKHZeMTM4Nix2XjU1OTYsRFtJW3ZeMTM0OF1dKElbdl4xMzI3XSl8fElbdl4xMzkyXSlbSVt2XjEzNDVdXShJW3ZeMTM1NF0pLHg9RFtJW3ZeMTQwMV1dPT09SVt2XjEzODZdJiZrW0lbNV1dPjEmJiEha1sxXSk7KG48PDEmMTUpPT00JiZiW0lbNV1dIT0wJiYoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgwLDEsYltJWzNdXShELDEsYlswXSlbMF0pKTtuLTM+PjM9PTImJih4PUQhPT1udWxsKTtyZXR1cm4geH07ClhUPWZ1bmN0aW9uKC4uLm4pe3JldHVybiBuP24uam9pbigiLCIpOiJrZXkifTsKRTN0PWZ1bmN0aW9uKG4sLi4uVyl7cmV0dXJuKG49UE8obiwuLi5XKSkmJm4ubGVuZ3RoP25bMF06dm9pZCAwfTsKaWJVPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9MCxiPUUzdChuLC4uLlcpO2ImJihEPWIuTik7RzcobixEKzEsLi4uVyl9OwokRT1mdW5jdGlvbihuLFcpe3RoaXMudHlwZT1uO3RoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1XO3RoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLko9ITF9OwpyRD1mdW5jdGlvbihuLFcpeyRFLmNhbGwodGhpcyxuP24udHlwZToiIik7dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1udWxsO3RoaXMuYnV0dG9uPXRoaXMuc2NyZWVuWT10aGlzLnNjcmVlblg9dGhpcy5jbGllbnRZPXRoaXMuY2xpZW50WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy5OPW51bGw7biYmdGhpcy5pbml0KG4sVyl9OwpONT1mdW5jdGlvbihuKXtyZXR1cm4hKCFufHwhbltzMl0pfTsKbzNiPWZ1bmN0aW9uKG4sVyxELGIsdil7dGhpcy5saXN0ZW5lcj1uO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1XO3RoaXMudHlwZT1EO3RoaXMuY2FwdHVyZT0hIWI7dGhpcy5oYW5kbGVyPXY7dGhpcy5rZXk9Kyt1SWg7dGhpcy51Nz10aGlzLnFfPSExfTsKSEw9ZnVuY3Rpb24obil7bi51Nz0hMDtuLmxpc3RlbmVyPW51bGw7bi5wcm94eT1udWxsO24uc3JjPW51bGw7bi5oYW5kbGVyPW51bGx9OwpmSz1mdW5jdGlvbihuKXt0aGlzLnNyYz1uO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuTj0wfTsKSkg9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnR5cGU7RCBpbiBuLmxpc3RlbmVycyYmZy5GSShuLmxpc3RlbmVyc1tEXSxXKSYmKEhMKFcpLG4ubGlzdGVuZXJzW0RdLmxlbmd0aD09MCYmKGRlbGV0ZSBuLmxpc3RlbmVyc1tEXSxuLk4tLSkpfTsKSVc9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoIWsudTcmJmsubGlzdGVuZXI9PVcmJmsuY2FwdHVyZT09ISFEJiZrLmhhbmRsZXI9PWIpcmV0dXJuIHZ9cmV0dXJuLTF9OwpBSD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGImJmIub25jZSlyZXR1cm4gU2cobixXLEQsYix2KTtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylBSChuLFdba10sRCxiLHYpO3JldHVybiBudWxsfUQ9bWgoRCk7cmV0dXJuIE41KG4pP24uU18oVyxELGcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLHYpOktLKG4sVyxELCExLGIsdil9OwpLSz1mdW5jdGlvbihuLFcsRCxiLHYsayl7aWYoIVcpdGhyb3cgRXJyb3IoIkludmFsaWQgZXZlbnQgdHlwZSIpO3ZhciBoPWcuZnQodik/ISF2LmNhcHR1cmU6ISF2LHg9TzIobik7eHx8KG5bUExdPXg9bmV3IGZLKG4pKTtEPXguYWRkKFcsRCxiLGgsayk7aWYoRC5wcm94eSlyZXR1cm4gRDtiPWRVcigpO0QucHJveHk9YjtiLnNyYz1uO2IubGlzdGVuZXI9RDtpZihuLmFkZEV2ZW50TGlzdGVuZXIpdj09PXZvaWQgMCYmKHY9ITEpLG4uYWRkRXZlbnRMaXN0ZW5lcihXLnRvU3RyaW5nKCksYix2KTtlbHNlIGlmKG4uYXR0YWNoRXZlbnQpbi5hdHRhY2hFdmVudChaRChXLnRvU3RyaW5nKCkpLGIpO2Vsc2UgaWYobi5hZGRMaXN0ZW5lciYmbi5yZW1vdmVMaXN0ZW5lciluLmFkZExpc3RlbmVyKGIpO2Vsc2UgdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtVMisrO3JldHVybiBEfTsKZFVyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbihEKXtyZXR1cm4gVy5jYWxsKG4uc3JjLG4ubGlzdGVuZXIsRCl9CnZhciBXPXpCdDtyZXR1cm4gbn07ClNnPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSl7Zm9yKGxldCBrPTA7azxXLmxlbmd0aDtrKyspU2cobixXW2tdLEQsYix2KTtyZXR1cm4gbnVsbH1EPW1oKEQpO3JldHVybiBONShuKT9uLmVGKFcsRCxnLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2KTpLSyhuLFcsRCwhMCxiLHYpfTsKeTc9ZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKWZvcihsZXQgaz0wO2s8Vy5sZW5ndGg7aysrKXk3KG4sV1trXSxELGIsdik7ZWxzZSBiPWcuZnQoYik/ISFiLmNhcHR1cmU6ISFiLEQ9bWgoRCksTjUobik/bi53SChXLEQsYix2KTpuJiYobj1PMihuKSkmJihXPW4uc2MoVyxELGIsdikpJiZFMihXKX07CkUyPWZ1bmN0aW9uKG4pe2lmKHR5cGVvZiBuIT09Im51bWJlciImJm4mJiFuLnU3KXt2YXIgVz1uLnNyYztpZihONShXKSlKSChXLmRfLG4pO2Vsc2V7dmFyIEQ9bi50eXBlLGI9bi5wcm94eTtXLnJlbW92ZUV2ZW50TGlzdGVuZXI/Vy5yZW1vdmVFdmVudExpc3RlbmVyKEQsYixuLmNhcHR1cmUpOlcuZGV0YWNoRXZlbnQ/Vy5kZXRhY2hFdmVudChaRChEKSxiKTpXLmFkZExpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyJiZXLnJlbW92ZUxpc3RlbmVyKGIpO1UyLS07KEQ9TzIoVykpPyhKSChELG4pLEQuTj09MCYmKEQuc3JjPW51bGwsV1tQTF09bnVsbCkpOkhMKG4pfX19OwpaRD1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbiBpST9pSVtuXTppSVtuXT0ib24iK259Owp6QnQ9ZnVuY3Rpb24obixXKXtpZihuLnU3KW49ITA7ZWxzZXtXPW5ldyByRChXLHRoaXMpO2xldCBEPW4ubGlzdGVuZXIsYj1uLmhhbmRsZXJ8fG4uc3JjO24ucV8mJkUyKG4pO249RC5jYWxsKGIsVyl9cmV0dXJuIG59OwpPMj1mdW5jdGlvbihuKXtuPW5bUExdO3JldHVybiBuIGluc3RhbmNlb2YgZks/bjpudWxsfTsKbWg9ZnVuY3Rpb24obil7aWYodHlwZW9mIG49PT0iZnVuY3Rpb24iKXJldHVybiBuO25bdUldfHwoblt1SV09ZnVuY3Rpb24oVyl7cmV0dXJuIG4uaGFuZGxlRXZlbnQoVyl9KTsKcmV0dXJuIG5bdUldfTsKZy5vVz1mdW5jdGlvbigpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLmRfPW5ldyBmSyh0aGlzKTt0aGlzLkhkPXRoaXM7dGhpcy5sWj1udWxsfTsKZEQ9ZnVuY3Rpb24obixXLEQsYil7Vz1uLmRfLmxpc3RlbmVyc1tTdHJpbmcoVyldO2lmKCFXKXJldHVybiEwO1c9Vy5jb25jYXQoKTt2YXIgdj0hMDtmb3IobGV0IGs9MDtrPFcubGVuZ3RoOysrayl7bGV0IGg9V1trXTtpZihoJiYhaC51NyYmaC5jYXB0dXJlPT1EKXtsZXQgeD1oLmxpc3RlbmVyLEw9aC5oYW5kbGVyfHxoLnNyYztoLnFfJiZKSChuLmRfLGgpO3Y9eC5jYWxsKEwsYikhPT0hMSYmdn19cmV0dXJuIHYmJiFiLmRlZmF1bHRQcmV2ZW50ZWR9OwpnLlQ3PWZ1bmN0aW9uKG4pe249KDAsZy56Nykobik7bEl8fChsST1sNGooKSk7bEkobil9OwpsNGo9ZnVuY3Rpb24oKXtpZih0eXBlb2YgTWVzc2FnZUNoYW5uZWwhPT0idW5kZWZpbmVkIil7bGV0IG49bmV3IE1lc3NhZ2VDaGFubmVsLFc9e30sRD1XO24ucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKCl7aWYoVy5uZXh0IT09dm9pZCAwKXtXPVcubmV4dDtsZXQgYj1XLmtBO1cua0E9bnVsbDtiKCl9fTsKcmV0dXJuIGZ1bmN0aW9uKGIpe0QubmV4dD17a0E6Yn07RD1ELm5leHQ7bi5wb3J0Mi5wb3N0TWVzc2FnZSgwKX19cmV0dXJuIGZ1bmN0aW9uKG4pe2cucWkuc2V0VGltZW91dChuLDApfX07ClR6cj1mdW5jdGlvbigpe2Zvcih2YXIgbjtuPWpnLnJlbW92ZSgpOyl7dHJ5e24uTi5jYWxsKG4uc2NvcGUpfWNhdGNoKFcpe2g0KFcpfUNLLnB1dChuKX1CTD0hMX07CmcuRlQ9ZnVuY3Rpb24oKXt9OwpqTWg9ZnVuY3Rpb24obil7dmFyIFc9V3x8MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywwLFcpKX19OwpnLndEPWZ1bmN0aW9uKG4pe3ZhciBXPSExLEQ7cmV0dXJuIGZ1bmN0aW9uKCl7V3x8KEQ9bigpLFc9ITApO3JldHVybiBEfX07CmcuWDE9ZnVuY3Rpb24obixXKXt0aGlzLk49MDt0aGlzLks9dm9pZCAwO3RoaXMuWD10aGlzLko9dGhpcy5XPW51bGw7dGhpcy5qPXRoaXMuVj0hMTtpZihuIT1nLkZUKXRyeXtsZXQgRD10aGlzO24uY2FsbChXLGZ1bmN0aW9uKGIpe2dwKEQsMixiKX0sZnVuY3Rpb24oYil7Z3AoRCwzLGIpfSl9Y2F0Y2goRCl7Z3AodGhpcywzLEQpfX07CnE4PWZ1bmN0aW9uKCl7dGhpcy5uZXh0PXRoaXMuY29udGV4dD10aGlzLko9dGhpcy5XPXRoaXMuTj1udWxsO3RoaXMuWD0hMX07CmcudCQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUczLmdldCgpO2IuVz1uO2IuSj1XO2IuY29udGV4dD1EO3JldHVybiBifTsKJEc9ZnVuY3Rpb24obil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIG47dmFyIFc9bmV3IGcuWDEoZy5GVCk7Z3AoVywyLG4pO3JldHVybiBXfTsKZy5ycD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IGcuWDEoZnVuY3Rpb24oVyxEKXtEKG4pfSl9OwpwcT1mdW5jdGlvbihuLFcsRCxiKXtnLk44KG4sZy50JChXfHxnLkZULER8fG51bGwsYikpfTsKWUc9ZnVuY3Rpb24obixXKXtpZihuLk49PTApaWYobi5XKXt2YXIgRD1uLlc7aWYoRC5KKXt2YXIgYj0wLHY9bnVsbCxrPW51bGw7Zm9yKGxldCBoPUQuSjtoJiYoaC5YfHwoYisrLGguTj09biYmKHY9aCksISh2JiZiPjEpKSk7aD1oLm5leHQpdnx8KGs9aCk7diYmKEQuTj09MCYmYj09MT9ZRyhELFcpOihrPyhiPWssYi5uZXh0PT1ELlgmJihELlg9YiksYi5uZXh0PWIubmV4dC5uZXh0KTpISihEKSxmcShELHYsMyxXKSkpfW4uVz1udWxsfWVsc2UgZ3AobiwzLFcpfTsKZy5OOD1mdW5jdGlvbihuLFcpe24uSnx8bi5OIT0yJiZuLk4hPTN8fEokKG4pO24uWD9uLlgubmV4dD1XOm4uSj1XO24uWD1XfTsKU089ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9Zy50JChudWxsLG51bGwsbnVsbCk7di5OPW5ldyBnLlgxKGZ1bmN0aW9uKGssaCl7di5XPVc/ZnVuY3Rpb24oeCl7dHJ5e2xldCBMPVcuY2FsbChiLHgpO2soTCl9Y2F0Y2goTCl7aChMKX19Oms7CnYuSj1EP2Z1bmN0aW9uKHgpe3RyeXtsZXQgTD1ELmNhbGwoYix4KTtMPT09dm9pZCAwJiZ4IGluc3RhbmNlb2YgZy5JNT9oKHgpOmsoTCl9Y2F0Y2goTCl7aChMKX19Omh9KTsKdi5OLlc9bjtnLk44KG4sdik7cmV0dXJuIHYuTn07CmdwPWZ1bmN0aW9uKG4sVyxEKXtuLk49PTAmJihuPT09RCYmKFc9MyxEPW5ldyBUeXBlRXJyb3IoIlByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpLG4uTj0xLGcuQSQoRCxuLklRLG4uQVMsbil8fChuLks9RCxuLk49VyxuLlc9bnVsbCxKJChuKSxXIT0zfHxEIGluc3RhbmNlb2YgZy5JNXx8Q18xKG4sRCkpKX07CmcuQSQ9ZnVuY3Rpb24obixXLEQsYil7aWYobiBpbnN0YW5jZW9mIGcuWDEpcmV0dXJuIHBxKG4sVyxELGIpLCEwO2lmKG4pdHJ5e3ZhciB2PSEhbi4kZ29vZ19UaGVuYWJsZX1jYXRjaChrKXt2PSExfWVsc2Ugdj0hMTtpZih2KXJldHVybiBuLnRoZW4oVyxELGIpLCEwO2lmKGcuZnQobikpdHJ5e2xldCBrPW4udGhlbjtpZih0eXBlb2Ygaz09PSJmdW5jdGlvbiIpcmV0dXJuIEJ6aShuLGssVyxELGIpLCEwfWNhdGNoKGspe3JldHVybiBELmNhbGwoYixrKSwhMH1yZXR1cm4hMX07CkJ6aT1mdW5jdGlvbihuLFcsRCxiLHYpe2Z1bmN0aW9uIGsoTCl7eHx8KHg9ITAsYi5jYWxsKHYsTCkpfQpmdW5jdGlvbiBoKEwpe3h8fCh4PSEwLEQuY2FsbCh2LEwpKX0KdmFyIHg9ITE7dHJ5e1cuY2FsbChuLGgsayl9Y2F0Y2goTCl7ayhMKX19OwpKJD1mdW5jdGlvbihuKXtuLlZ8fChuLlY9ITAsZy5tSyhuLnlzLG4pKX07CkhKPWZ1bmN0aW9uKG4pe3ZhciBXPW51bGw7bi5KJiYoVz1uLkosbi5KPVcubmV4dCxXLm5leHQ9bnVsbCk7bi5KfHwobi5YPW51bGwpO3JldHVybiBXfTsKZnE9ZnVuY3Rpb24obixXLEQsYil7aWYoRD09MyYmVy5KJiYhVy5YKWZvcig7biYmbi5qO249bi5XKW4uaj0hMTtpZihXLk4pVy5OLlc9bnVsbCxLcShXLEQsYik7ZWxzZSB0cnl7Vy5YP1cuVy5jYWxsKFcuY29udGV4dCk6S3EoVyxELGIpfWNhdGNoKHYpe091LmNhbGwobnVsbCx2KX1HMy5wdXQoVyl9OwpLcT1mdW5jdGlvbihuLFcsRCl7Vz09Mj9uLlcuY2FsbChuLmNvbnRleHQsRCk6bi5KJiZuLkouY2FsbChuLmNvbnRleHQsRCl9OwpDXzE9ZnVuY3Rpb24obixXKXtuLmo9ITA7Zy5tSyhmdW5jdGlvbigpe24uaiYmT3UuY2FsbChudWxsLFcpfSl9OwpnLkk1PWZ1bmN0aW9uKG4pe2cuVGIuY2FsbCh0aGlzLG4pfTsKZy5QSj1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLmd0PW58fDE7dGhpcy5WNz1XfHxnLnFpO3RoaXMuaEU9KDAsZy5LdCkodGhpcy5SUSx0aGlzKTt0aGlzLmpiPWcuVXcoKX07CmcuWnQ9ZnVuY3Rpb24obixXLEQpe2lmKHR5cGVvZiBuPT09ImZ1bmN0aW9uIilEJiYobj0oMCxnLkt0KShuLEQpKTtlbHNlIGlmKG4mJnR5cGVvZiBuLmhhbmRsZUV2ZW50PT0iZnVuY3Rpb24iKW49KDAsZy5LdCkobi5oYW5kbGVFdmVudCxuKTtlbHNlIHRocm93IEVycm9yKCJJbnZhbGlkIGxpc3RlbmVyIGFyZ3VtZW50Iik7cmV0dXJuIE51bWJlcihXKT4yMTQ3NDgzNjQ3Py0xOmcucWkuc2V0VGltZW91dChuLFd8fDApfTsKZy5VdT1mdW5jdGlvbihuLFcpe3ZhciBEPW51bGw7cmV0dXJuKG5ldyBnLlgxKGZ1bmN0aW9uKGIsdil7RD1nLlp0KGZ1bmN0aW9uKCl7YihXKX0sbik7CkQ9PS0xJiZ2KEVycm9yKCJGYWlsZWQgdG8gc2NoZWR1bGUgdGltZXIuIikpfSkpLnNQKGZ1bmN0aW9uKGIpe2cucWkuY2xlYXJUaW1lb3V0KEQpOwp0aHJvdyBiO30pfTsKRXU9ZnVuY3Rpb24obixXLC4uLkQpe24uVy5oYXMoVyl8fG4uVy5zZXQoVyxuZXcgeTgoVyxEKSl9Owp1ZT1mdW5jdGlvbihuLFcsLi4uRCl7bi5XLmhhcyhXKXx8bi5XLnNldChXLG5ldyBpZShXLEQpKX07Cm81PWZ1bmN0aW9uKG4pe24uSi5lbmFibGVkfHxuLkouc3RhcnQoKTtuLlYrKztuLlY+PW4uWCYmbi5qKCl9OwpGY2I9ZnVuY3Rpb24obil7Zm9yKGxldCBXPTA7VzxuLmxlbmd0aDtXKyspbltXXS5jbGVhcigpfTsKZHA9ZnVuY3Rpb24obixXLC4uLkQpeyhXPW4uTihXKSkmJlcgaW5zdGFuY2VvZiBpZSYmKGliVShXLC4uLkQpLG81KG4pKX07CnozPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19Owp3TVM9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTsKbGU9ZnVuY3Rpb24oKXt9OwpUMz1mdW5jdGlvbihuLFcsRCl7aWYoVz09bnVsbClELnB1c2goIm51bGwiKTtlbHNle2lmKHR5cGVvZiBXPT0ib2JqZWN0Iil7aWYoQXJyYXkuaXNBcnJheShXKSl7dmFyIGI9VztXPWIubGVuZ3RoO0QucHVzaCgiWyIpO3ZhciB2PSIiO2Zvcih2YXIgaz0wO2s8VztrKyspRC5wdXNoKHYpLFQzKG4sYltrXSxEKSx2PSIsIjtELnB1c2goIl0iKTtyZXR1cm59aWYoVyBpbnN0YW5jZW9mIFN0cmluZ3x8VyBpbnN0YW5jZW9mIE51bWJlcnx8VyBpbnN0YW5jZW9mIEJvb2xlYW4pVz1XLnZhbHVlT2YoKTtlbHNle0QucHVzaCgieyIpO3Y9IiI7Zm9yKGIgaW4gVylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoVyxiKSYmKGs9V1tiXSx0eXBlb2YgayE9ImZ1bmN0aW9uIiYmKEQucHVzaCh2KSxqTyhiLEQpLEQucHVzaCgiOiIpLFQzKG4sayxEKSx2PSIsIikpO0QucHVzaCgifSIpO3JldHVybn19c3dpdGNoKHR5cGVvZiBXKXtjYXNlICJzdHJpbmciOmpPKFcsRCk7YnJlYWs7CmNhc2UgIm51bWJlciI6RC5wdXNoKGlzRmluaXRlKFcpJiYhaXNOYU4oVyk/U3RyaW5nKFcpOiJudWxsIik7YnJlYWs7Y2FzZSAiYm9vbGVhbiI6RC5wdXNoKFN0cmluZyhXKSk7YnJlYWs7Y2FzZSAiZnVuY3Rpb24iOkQucHVzaCgibnVsbCIpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gdHlwZTogIit0eXBlb2YgVyk7fX19OwpqTz1mdW5jdGlvbihuLFcpe1cucHVzaCgnIicsbi5yZXBsYWNlKE1qWixmdW5jdGlvbihEKXt2YXIgYj1DcVtEXTtifHwoYj0iXFx1IisoRC5jaGFyQ29kZUF0KDApfDY1NTM2KS50b1N0cmluZygxNikuc2xpY2UoMSksQ3FbRF09Yik7cmV0dXJuIGJ9KSwnIicpfTsKUkJiPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDA6cmV0dXJuIk5vIEVycm9yIjtjYXNlIDE6cmV0dXJuIkFjY2VzcyBkZW5pZWQgdG8gY29udGVudCBkb2N1bWVudCI7Y2FzZSAyOnJldHVybiJGaWxlIG5vdCBmb3VuZCI7Y2FzZSAzOnJldHVybiJGaXJlZm94IHNpbGVudGx5IGVycm9yZWQiO2Nhc2UgNDpyZXR1cm4iQXBwbGljYXRpb24gY3VzdG9tIGVycm9yIjtjYXNlIDU6cmV0dXJuIkFuIGV4Y2VwdGlvbiBvY2N1cnJlZCI7Y2FzZSA2OnJldHVybiJIdHRwIHJlc3BvbnNlIGF0IDQwMCBvciA1MDAgbGV2ZWwiO2Nhc2UgNzpyZXR1cm4iUmVxdWVzdCB3YXMgYWJvcnRlZCI7Y2FzZSA4OnJldHVybiJSZXF1ZXN0IHRpbWVkIG91dCI7Y2FzZSA5OnJldHVybiJUaGUgcmVzb3VyY2UgaXMgbm90IGF2YWlsYWJsZSBvZmZsaW5lIjtkZWZhdWx0OnJldHVybiJVbnJlY29nbml6ZWQgZXJyb3IgY29kZSJ9fTsKQko9ZnVuY3Rpb24oKXt9OwpGMT1mdW5jdGlvbigpe307CndwPWZ1bmN0aW9uKG4pe2cub1cuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLlRDPW58fG51bGw7dGhpcy5KPSExO3RoaXMuTj1udWxsO3RoaXMuSz0iIjt0aGlzLlc9MDt0aGlzLmo9IiI7dGhpcy5YPXRoaXMudHc9dGhpcy5ZPXRoaXMuY0o9ITE7dGhpcy5EPTA7dGhpcy5WPW51bGw7dGhpcy5iZD0iIjt0aGlzLk89ITF9OwpRTVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9bmV3IHdwO004LnB1c2goeCk7VyYmeC5TXygiY29tcGxldGUiLFcpO3guZUYoInJlYWR5Iix4LldVKTtrJiYoeC5EPU1hdGgubWF4KDAsaykpO2gmJih4Lk89aCk7eC5zZW5kKG4sRCxiLHYpfTsKVjg9ZnVuY3Rpb24obixXKXtuLko9ITE7bi5OJiYobi5YPSEwLG4uTi5hYm9ydCgpLG4uWD0hMSk7bi5qPVc7bi5XPTU7UjUobik7UTgobil9OwpSNT1mdW5jdGlvbihuKXtuLmNKfHwobi5jSj0hMCxuLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksbi5kaXNwYXRjaEV2ZW50KCJlcnJvciIpKX07Cm5WPWZ1bmN0aW9uKG4pe2lmKG4uSiYmdHlwZW9mIGNKIT0idW5kZWZpbmVkIilpZihuLlkmJmE1KG4pPT00KXNldFRpbWVvdXQobi5OOC5iaW5kKG4pLDApO2Vsc2UgaWYobi5kaXNwYXRjaEV2ZW50KCJyZWFkeXN0YXRlY2hhbmdlIiksbi5pc0NvbXBsZXRlKCkpe24uZ2V0U3RhdHVzKCk7bi5KPSExO3RyeXtpZihuLmlzU3VjY2VzcygpKW4uZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxuLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle24uVz02O3RyeXt2YXIgVz1hNShuKT4yP24uTi5zdGF0dXNUZXh0OiIifWNhdGNoKEQpe1c9IiJ9bi5qPVcrIiBbIituLmdldFN0YXR1cygpKyJdIjtSNShuKX19ZmluYWxseXtROChuKX19fTsKUTg9ZnVuY3Rpb24obixXKXtpZihuLk4pe24uViYmKGNsZWFyVGltZW91dChuLlYpLG4uVj1udWxsKTtsZXQgRD1uLk47bi5OPW51bGw7V3x8bi5kaXNwYXRjaEV2ZW50KCJyZWFkeSIpO3RyeXtELm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsfWNhdGNoKGIpe319fTsKYTU9ZnVuY3Rpb24obil7cmV0dXJuIG4uTj9uLk4ucmVhZHlTdGF0ZTowfTsKVzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBuLk4/bi5OLnJlc3BvbnNlVGV4dDoiIn1jYXRjaChXKXtyZXR1cm4iIn19OwpEbz1mdW5jdGlvbihuKXt0cnl7aWYoIW4uTilyZXR1cm4gbnVsbDtpZigicmVzcG9uc2UiaW4gbi5OKXJldHVybiBuLk4ucmVzcG9uc2U7c3dpdGNoKG4uYmQpe2Nhc2UgIiI6Y2FzZSAidGV4dCI6cmV0dXJuIG4uTi5yZXNwb25zZVRleHQ7Y2FzZSAiYXJyYXlidWZmZXIiOmlmKCJtb3pSZXNwb25zZUFycmF5QnVmZmVyImluIG4uTilyZXR1cm4gbi5OLm1velJlc3BvbnNlQXJyYXlCdWZmZXJ9cmV0dXJuIG51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKVmp0PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249KG4uTiYmYTUobik+PTI/bi5OLmdldEFsbFJlc3BvbnNlSGVhZGVycygpfHwiIjoiIikuc3BsaXQoIlxyXG4iKTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7aWYoZy5GaChuW2JdKSljb250aW51ZTt2YXIgRD1Td2gobltiXSk7bGV0IHY9RFswXTtEPURbMV07aWYodHlwZW9mIEQhPT0ic3RyaW5nIiljb250aW51ZTtEPUQudHJpbSgpO2xldCBrPVdbdl18fFtdO1dbdl09aztrLnB1c2goRCl9cmV0dXJuIFd4KFcsZnVuY3Rpb24oYil7cmV0dXJuIGIuam9pbigiLCAiKX0pfTsKdjM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPWJuKCk7Vz1XKCk7bi5YKEQsYm4oKS1iKTtyZXR1cm4gV307Cm5sMT1mdW5jdGlvbihuLFcsRCxiKXtuPVVVYihQX2koS2NoKG5ldyBrWSxuKSkpLmtDKCk7Vy5sZW5ndGgmJlpiaChuLHRqVShuZXcgY0ZaLFcpKTtiIT09dm9pZCAwJiYobi5Saj1iKTt2YXIgdj1uZXcgYTRqKG4uYnVpbGQoKSk7Zy51KHYsbik7dmFyIGs9bmV3IGhxKHtmbHVzaChoKXt0cnl7di5mbHVzaChoKX1jYXRjaCh4KXtEKHgpfX19KTtrLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtrLmooKX1maW5hbGx5e3YuZGlzcG9zZSgpfX0pfSk7CmsuWD0xRTU7ay5mbHVzaEludGVydmFsPTNFNDtrLkouc2V0SW50ZXJ2YWwoM0U0KTtyZXR1cm4ga307CldXcj1mdW5jdGlvbihuKXtpZihuLnRpbWVyPT09dm9pZCAwKXtsZXQgVz1NYXRoLm1heCgwLG4uTituLkotYm4oKSk7bi50aW1lcj1zZXRUaW1lb3V0KCgpPT57dHJ5e24uY2FsbGJhY2soKX1maW5hbGx5e24uTj1ibigpLG4udGltZXI9dm9pZCAwfX0sVyl9fTsKYnBNPWZ1bmN0aW9uKG4sVz1bXSl7cmV0dXJuIG5ldyBEaHgobixXKX07CmJuPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9OwpMVj1mdW5jdGlvbihuLFcpe2lmKG4uZGlzYWJsZSlyZXR1cm4gbmV3IHhZO1c9Vz9uMChXKTpbXTtyZXR1cm4gYnBNKHtWajpuLlZqLFJoOm4uSnAsTFQ6bi5SaSxSajpuLlJqLHREOm4udEQscm86bi5yb30sVyl9Owp2bHI9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIG51bGw7bj1KUyhuLDQpO3JldHVybiBuPT09bnVsbHx8bj09PXZvaWQgMD9udWxsOmszKG4pfTsKZyQ9ZnVuY3Rpb24oKXtlbS5pbnN0YW5jZXx8KGVtLmluc3RhbmNlPW5ldyBlbSk7cmV0dXJuIGVtLmluc3RhbmNlfTsKazVaPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFXJiYhRClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7aWYoIWIpcmV0dXJuIFg2KFcsRCk7dmFyIHY7KHY9bi5KKVtiXXx8KHZbYl09bmV3IFByb21pc2UoKGssaCk9PntYNihXLEQpLnRoZW4oKCk9PntuLk49YjtrKCl9LHg9PntkZWxldGUgbi5KW2JdOwpoKHgpfSl9KSk7CnJldHVybiBuLkpbYl19Owp0cT1mdW5jdGlvbihuLFcpe3JldHVybiBrNVoobixnZShXLHF2LDEseFUpLGdlKFcsR0gsMix4VSksWTkoVywzLHZvaWQgMCx4VSkpfTsKWDY9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz9oSFMoVyk6bj94aGIobik6UHJvbWlzZS5yZXNvbHZlKCl9OwpoSFM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKChXLEQpPT57dmFyIGI9Zy56RigiU0NSSVBUIiksdj12bHIobik7Zy5QTShiLHYpO2Iub25sb2FkPSgpPT57Zy5DVChiKTtXKCl9OwpiLm9uZXJyb3I9KCk9PntnLkNUKGIpO0QoRXJyb3IoIkVXTFMiKSl9OwooZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChiKX0pfTsKeGhiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57dmFyIEQ9Zy56RigiU0NSSVBUIik7aWYobil7dmFyIGI9SlMobiw2KTtiPWI9PT1udWxsfHxiPT09dm9pZCAwP251bGw6bWMoYil9ZWxzZSBiPW51bGw7RC50ZXh0Q29udGVudD1LYihiKTtPTShEKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChEKTtnLkNUKEQpO1coKX0pfTsKTFcyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEFTKG4sMSxXKX07CmVIaD1mdW5jdGlvbihuLFcpe3JldHVybiBBUyhuLDIsVyl9OwpnbGg9ZnVuY3Rpb24obixXKXtyZXR1cm4gQVMobiwzLFcpfTsKc2w9YXN5bmMgZnVuY3Rpb24obixXLEQsYix2KXtXPWdsaChlSGgoTFcyKG5ldyAkWSxuLnJlcXVlc3RLZXkpLFcpLEQpO0Q9bi5OKCk7bj1hd2FpdCBiLlYoImMiLG4ucmVxdWVzdEtleSx2LG4uY2xpZW50LmNyZWF0ZShXLEQpKTt2YXIgaz1WbChSeihuLDIpKTtpZihrLmxlbmd0aClyZXR1cm4gdjMoYiwoKT0+e3ZhciBoPW5ldyBVaW50OEFycmF5KGsubGVuZ3RoKTtmb3IodmFyIHg9MDt4PGsubGVuZ3RoO3grKyloW3hdPWtbeF0rOTc7aWYoZy5xaS5UZXh0RGVjb2RlciloPShuZXcgVGV4dERlY29kZXIpLmRlY29kZShoKTtlbHNlIGlmKGgubGVuZ3RoPD04MTkyKWg9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGgpO2Vsc2V7eD0iIjtmb3IobGV0IEw9MDtMPGgubGVuZ3RoO0wrPTgxOTIpe2xldCBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGgsTCxMKzgxOTIpO3grPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxlKX1oPXh9cmV0dXJuIFg0WihoKX0sCiJVIik7CmI9Z2UobixyJCwxKTtpZighYil0aHJvdyBFcnJvcigiTWlzc2luZyBmaWVsZCIpO3JldHVybiBifTsKSDM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7dmFyIHY9bi5OKCk7dmFyIGs9bmV3IE52O2s9QVMoaywxLG4ucmVxdWVzdEtleSk7dmFyIGg9QVMoaywyLFcpO1c9RC5WO2s9bi5yZXF1ZXN0S2V5O249bi5jbGllbnQ7dj1ZWShuLk4sbi5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixoLHZ8fHt9LHFUUyk7cmV0dXJuIFcuY2FsbChELCJnIixrLGIsdil9OwpHNWg9ZnVuY3Rpb24obixXLEQsYix2KXtyZXR1cm4gbiBpbnN0YW5jZW9mIGZWP3NsKG4sYix2LFcsRCk6c2wobixiLHYsbmV3IHhZLDApfTsKckFiPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGI9ZyQoKSx2PVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGspe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCB4PW51bGw7aWYoaCl7SnEobiw3KTt0cnl7eD1hd2FpdCBJaShoLnNuYXBzaG90KHt9KSxrLmpkLCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKEcpe3g9IkU6VUNFIn19bGV0IEwsZT1uZXcgZy5oSChoP2sudzg6ay5DcSxrLm96LGsuZDgsay5BaSk7CmZvcihsZXQgRz0xO0c8PWsubWF4QXR0ZW1wdHM7RysrKXtpZihHIT09MSl7SnEobiwwKTtuLk49bmV3IFNtKGUuZ2V0VmFsdWUoKSxrLnVtLGsubmIpO2xldCByPWF3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7cj09PTE/KEc9MSxlLnJlc2V0KCkpOmcueEUoZSl9dHJ5e2xldCByO0Q/cj1EOihKcShuLDUpLHI9YXdhaXQgSWkoRzVoKFcsbi5sb2dnZXIsRyxiLk4seCksay5ocCwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoIlJHRjpGZXRjaCB0aW1lZCBvdXQiKSkpKTsKSnEobiwzKTthd2FpdCBJaSh0cShiLHIpLGsuUVgsKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJEVFo6U2NyaXB0IHRpbWVkIG91dCIpKSk7CkpxKG4sOCk7YXdhaXQgdjtsZXQgTj1uZXcgQXEoe2NoYWxsZW5nZTpyLHgzOm4ub3B0aW9ucy54Myx3MzpuLm9wdGlvbnMudzN9KTthd2FpdCBJaShOLk92LGsucUssKCk9PlByb21pc2UucmVqZWN0KEVycm9yKCJRRUc6U2V0dXAgdGltZWQgb3V0IikpKTsKTD1OO2JyZWFrfWNhdGNoKHIpe24uaGFuZGxlRXJyb3IociksbUkobil9fWlmKG4ucU4oKSlicmVhaztMJiYoRD12b2lkIDAsdDFVKG4saCksaD1MLCRoaChuLEwpLG1JKG4pKTtKcShuLDIpO24uTj1uZXcgU20oay5GWixrLnVtLGsubmIpO24uaXNQYXVzZWQmJm4uTi5wYXVzZSgpO2F3YWl0IG4uTi5wcm9taXNlO24uTj12b2lkIDA7aWYobi5xTigpKWJyZWFrfWg/LmRpc3Bvc2UoKX07CnNQMj1mdW5jdGlvbihuKXtuLks9RXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIik7bi5qLnJlc29sdmUoKTtXMihuLlYucHJvbWlzZSk7bi5WLnJlamVjdChFcnJvcigiQ2FuY2VsbGVkIGJ5IGRpc3Bvc2UiKSk7bi5sb2dnZXIuZGlzcG9zZSgpO1Byb21pc2UuYWxsKG4uWCkudGhlbihhc3luYygpPT57bi5XPy5kaXNwb3NlKCk7bi5XPXZvaWQgMH0pOwpuLlg9W107bi5OPy5KKCk7VzIobi5KLnByb21pc2UpO24uSi5yZWplY3QoRXJyb3IoIkNhbmNlbGxlZCBieSBkaXNwb3NlIikpfTsKTlR0PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4ucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO24uTj8uSigpO2F3YWl0IG4uSi5wcm9taXNlfTsKcDRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5xSjtuLnFKPSgpPT57RCgpO1coKX19OwokaGg9ZnVuY3Rpb24obixXKXtuLnFOKCl8fChuLlc9VyxuLmxvZ2dlci51cGRhdGUoVy5RRCgpKSxuLmoucmVzb2x2ZSgpLG4uVi5yZXNvbHZlKHZvaWQgMCksbi5xSigpKX07CnQxVT1mdW5jdGlvbihuLFcpe1cmJihQcm9taXNlLmFsbChuLlgpLnRoZW4oKCk9PnZvaWQgVy5kaXNwb3NlKCkpLG4uWD1bXSl9OwpKcT1mdW5jdGlvbihuLFcpe24uWT1XO24ub3B0aW9ucy5mUD8uKFcpfTsKbUk9ZnVuY3Rpb24obil7bi5xTigpfHwobi5KLnJlc29sdmUoKSxuLko9bmV3IGcuS1YpfTsKSWk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO0Q9KG5ldyBQcm9taXNlKHY9PntiPXNldFRpbWVvdXQodixXKX0pKS50aGVuKEQpOwpXMihEKTtyZXR1cm4gUHJvbWlzZS5yYWNlKFtuLmZpbmFsbHkoKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGIpKSwKRF0pfTsKWVRVPWZ1bmN0aW9uKG4sVyl7bi5lbmRUaW1lTXM9RGF0ZS5ub3coKStXO24udGljaygpfTsKT2w9ZnVuY3Rpb24obil7bi5OJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUDM9ZnVuY3Rpb24obixXKXt0cnl7cmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShuLFcpLCEwfWNhdGNoKEQpe3JldHVybiExfX07ClpvPWZ1bmN0aW9uKG4sVz0wLEQ9bi5sZW5ndGgsYil7dmFyIHY9MDtmb3IoYiYmKHY9Wm8oYikpO1c8RDtXKyspdj1IcGkoMzEsdikrKHR5cGVvZiBuPT09InN0cmluZyI/bi5jaGFyQ29kZUF0KFcpOm5bV10pfDA7cmV0dXJuIHZ9Owp5aT1mdW5jdGlvbihuKXt2YXIgW1csRF09W1pvKG4sMCxuLmxlbmd0aD4+MSxVbCksWm8obixuLmxlbmd0aD4+MSldO3JldHVybiBXLnRvU3RyaW5nKDE2KStELnRvU3RyaW5nKDE2KX07CkVsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W1pvKFcsMCxXLmxlbmd0aD4+MSx2b2lkIDApLFpvKFcsVy5sZW5ndGg+PjEpXTtuPW5ldyBVaW50MzJBcnJheShuLmJ1ZmZlcik7Vz1uWzBdO3ZhciBbYix2XT1EO2ZvcihEPTE7RDxuLmxlbmd0aDtEKz0yKXt2YXIgaz1XLGg9RCx4PWIsTD12O2ZvcihsZXQgZT0wO2U8MjI7ZSsrKWg9aD4+Pjh8aDw8MjQsaCs9a3wwLGhePXgrMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1oLEw9TD4+Pjh8TDw8MjQsTCs9eHwwLExePWUrMzgyOTMseD14PDwzfHg+Pj4yOSx4Xj1MO2s9W2ssaF07bltEXV49a1swXTtEKzE8bi5sZW5ndGgmJihuW0QrMV1ePWtbMV0pfX07CmZlYj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSg0LShVbC5sZW5ndGgrRC5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2srVWwubGVuZ3RoKzQrRC5sZW5ndGgpLHg9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxMPTA7eC5zZXRVaW50MzIoTCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO0w9TCs0K2s7aC5zZXQoVWwsTCk7TCs9VWwubGVuZ3RoO3guc2V0VWludDMyKEwsdik7aC5zZXQoRCxMKzQpO0VsKGgsYik7cmV0dXJuIG4ucXAoVyxlPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShlKSk/UDMoVyxnLkVBKGgpKT8icyI6InQiOiJpIn07CkpBdz1mdW5jdGlvbihuLFcpe3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShuKTtpZighRClyZXR1cm5bIm0iXTt0cnl7dmFyIGI9bHAoRCk7RWwoYixXKX1jYXRjaCh2KXtyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiYyJdfWZvcihXPTQ7Vzw3JiZiW1ddPT09MDspVysrO2ZvcihEPTA7RDxVbC5sZW5ndGg7RCsrKWlmKGJbVysrXSE9PVVsW0RdKXJldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0obiksWyJkIl07RD0obmV3IERhdGFWaWV3KGIuYnVmZmVyKSkuZ2V0VWludDMyKFcpO3JldHVybiBNYXRoLmZsb29yKERhdGUubm93KCkvMUUzKT49RD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKG4pLFsiZSJdKTpbImEiLG5ldyBVaW50OEFycmF5KGIuYnVmZmVyLFcrNCldfTsKSWV3PWZ1bmN0aW9uKG4pe3ZhciBXPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgiaVU1cS0hTzlAJCIpO2lmKCFXKXJldHVybiBuZXcgdW4obik7dmFyIEQ9Vy5zcGxpdCgiLCIpO2lmKEQubGVuZ3RoPDIpcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgiaVU1cS0hTzlAJCIpLG5ldyB1bihuKTtXPUQuc2xpY2UoMSk7Vy5sZW5ndGg9PT0xJiZXWzBdPT09IiImJihXPVtdKTtEPU51bWJlcihEWzBdKTtyZXR1cm4gaXNOYU4oRCl8fEQ8MHx8RD5XLmxlbmd0aD8oZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IHVuKG4pKTpuZXcgdW4obixELFcpfTsKbWh3PWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoKXtELT1iO0QtPXY7RF49dj4+PjEzO2ItPXY7Yi09RDtiXj1EPDw4O3YtPUQ7di09Yjt2Xj1iPj4+MTM7RC09YjtELT12O0RePXY+Pj4xMjtiLT12O2ItPUQ7Yl49RDw8MTY7di09RDt2LT1iO3ZePWI+Pj41O0QtPWI7RC09djtEXj12Pj4+MztiLT12O2ItPUQ7Yl49RDw8MTA7di09RDt2LT1iO3ZePWI+Pj4xNX0Kbj1TVHIobik7Zm9yKHZhciBEPTI2NTQ0MzU3NjksYj0yNjU0NDM1NzY5LHY9MzE0MTU5MjY1LGs9bi5sZW5ndGgsaD1rLHg9MDtoPj0xMjtoLT0xMix4Kz0xMilEKz1vaShuLHgpLGIrPW9pKG4seCs0KSx2Kz1vaShuLHgrOCksVygpO3YrPWs7c3dpdGNoKGgpe2Nhc2UgMTE6dis9blt4KzEwXTw8MjQ7Y2FzZSAxMDp2Kz1uW3grOV08PDE2O2Nhc2UgOTp2Kz1uW3grOF08PDg7Y2FzZSA4OmIrPW5beCs3XTw8MjQ7Y2FzZSA3OmIrPW5beCs2XTw8MTY7Y2FzZSA2OmIrPW5beCs1XTw8ODtjYXNlIDU6Yis9blt4KzRdO2Nhc2UgNDpEKz1uW3grM108PDI0O2Nhc2UgMzpEKz1uW3grMl08PDE2O2Nhc2UgMjpEKz1uW3grMV08PDg7Y2FzZSAxOkQrPW5beCswXX1XKCk7cmV0dXJuIEFBUy50b1N0cmluZyh2KX07ClNUcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2gobi5jaGFyQ29kZUF0KEQpKTtyZXR1cm4gV307Cm9pPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5bVyswXSsobltXKzFdPDw4KSsobltXKzJdPDwxNikrKG5bVyszXTw8MjQpfTsKZCQ9ZnVuY3Rpb24obixXKXt2YXIgRD1zZXRUaW1lb3V0KCgpPT57bi5YLnJlc29sdmUoKX0sVyk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KEQpKX07CmxuPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9YCR7VyhuLmVycm9yLm1lc3NhZ2UpfToke1cobi5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtXPUQubGVuZ3RoKzE7RD16SChEKTt2YXIgYj1uZXcgVWludDhBcnJheSg0K0QubGVuZ3RoKTtiLnNldChbNDIsVyYxMjd8MTI4LFc+Pjcsbi5lcnJvci5jb2RlXSk7Yi5zZXQoRCw0KTtyZXR1cm4gYn07CnpIPWZ1bmN0aW9uKG4pe3JldHVybiBnbG9iYWxUaGlzLlRleHRFbmNvZGVyPyhuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKTpMMChuKX07CktXVT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4gaW5zdGFuY2VvZiBmVj9IMyhuLEQsVywxKTpuLlpqKEQpfTsKQjM9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9dm9pZCAwO24uaisrO3ZhciBEPW5ldyBnLktWO24uTzEgaW5zdGFuY2VvZiBUSCYmbi5PMS5YLnB1c2goRC5wcm9taXNlKTtpZihuLlhsKXtsZXQgaz1uZXcgZy5LVjtzZXRUaW1lb3V0KCgpPT52b2lkIGsucmVzb2x2ZSgpKTsKYXdhaXQgay5wcm9taXNlfXZhciBiPW4ubG9nZ2VyLnNoYXJlKCk7dHJ5e24uc3RhdGU9NTtsZXQgaz1bXSxoPWF3YWl0IElpKG4uTzEuc25hcHNob3Qoe3dfOnt9LHRMOmt9KSxuLmtkLnJTLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTUsIk1EQTpUaW1lb3V0IikpKTsKam0obiwiTURBOkRpc3Bvc2VkIik7bGV0IHg9a1swXTtuLnN0YXRlPTY7bGV0IEw9YXdhaXQgSWkoS1dVKG4uVWcsYixoKSxuLmtkLlhVLCgpPT5Qcm9taXNlLnJlamVjdChuZXcgUUcoMTAsIkJXQjpUaW1lb3V0IikpKTsKam0obiwiQldCOkRpc3Bvc2VkIik7bi5zdGF0ZT03O1c9djMoYiwoKT0+e3ZhciBlPU9waShuLEwsRCx4KTtlLlgucHJvbWlzZS50aGVuKCgpPT52b2lkIG4uVigpKTsKcmV0dXJuIGV9LCJpIil9Y2F0Y2goayl7Vz8uZGlzcG9zZSgpOwppZighbi5KKXtsZXQgaD1QZjIobixrKTtELnJlc29sdmUoKTt2YXIgdjtpZih2PW4uTzEgaW5zdGFuY2VvZiBUSCYmbi5qPDIpYTppZihrIGluc3RhbmNlb2YgUUcpdj1rLmNvZGUhPT0zMiYmay5jb2RlIT09MjAmJmsuY29kZSE9PTEwO2Vsc2V7aWYoayBpbnN0YW5jZW9mIENWKXN3aXRjaChrLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6dj0hMTticmVhayBhfXY9ITB9aWYodil7bGV0IHg9c2V0VGltZW91dCgoKT0+dm9pZCBuLlYoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKG4uTj82RTQ6MUUzKSk7Cm4uYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHgpKTsKcmV0dXJufW4uSj1ofWIuSihuLk4/MTM6MTQpO24uWC5yZWplY3Qobi5KKTtyZXR1cm59ZmluYWxseXtiLmRpc3Bvc2UoKX1uLnN0YXRlPTg7bi5qPTA7bi5OPy5kaXNwb3NlKCk7bi5OPVc7bi5YLnJlc29sdmUoKX07ClBmMj1mdW5jdGlvbihuLFcpe2lmKCEoVyBpbnN0YW5jZW9mIFFHKSlpZihXIGluc3RhbmNlb2YgQ1Ype2xldCBEPUVycm9yKFcudG9TdHJpbmcoKSk7RC5zdGFjaz1XLnN0YWNrO1c9bmV3IFFHKDExLCJFQkg6RXJyb3IiLEQpfWVsc2UgVz1uZXcgUUcoMTIsIkJTTzpVbmtub3duIixXKTtyZXR1cm4gbi5yZXBvcnRFcnJvcihXKX07CmptPWZ1bmN0aW9uKG4sVyl7aWYobi5xTigpKXRocm93IG5ldyBRRyhuLk4/MjA6MzIsVyk7fTsKT3BpPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSh1NChpVyhXLDIpKT8/MCkqMUUzO2lmKHY8PTApdGhyb3cgbmV3IFFHKDMxLCJUVE06SW52YWxpZCIpO2lmKFk5KFcsNCkpcmV0dXJuIG5ldyBacHQobi5sb2dnZXIsWTkoVyw0KSx2KTtpZighKHU0KGlXKFcsMykpPz8wKSlyZXR1cm4gbmV3IFVoaihuLmxvZ2dlcixWbChSeihXLDEpKSx2KTtpZighYil0aHJvdyBuZXcgUUcoNCwiUE1EOlVuZGVmaW5lZCIpO2I9YihWbChSeihXLDEpKSk7aWYodHlwZW9mIGIhPT0iZnVuY3Rpb24iKXRocm93IG5ldyBRRygxNiwiQVBGOkZhaWxlZCIpO24uSz1NYXRoLmZsb29yKChEYXRlLm5vdygpK3YpLzFFMyk7bj1uZXcgRjYobi5sb2dnZXIsYix1NChpVyhXLDMpKT8/MCx2KTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIEQucmVzb2x2ZSgpKTsKcmV0dXJuIG59OwpNdj1mdW5jdGlvbihuLFcsRCl7dHJ5e2lmKG4ucU4oKSl0aHJvdyBuZXcgUUcoMjEsIkJOVDpkaXNwb3NlZCIpO2lmKCFuLk4mJm4uSil0aHJvdyBuLko7cmV0dXJuIHlBMShuLFcsRCk/P0VsaShuLFcsRCk/P2lwcihuLFcsRCl9Y2F0Y2goYil7aWYoIVcuRVIpdGhyb3cgdyQobixiKTtyZXR1cm4gdU1aKG4sRCxiKX19Owp3JD1mdW5jdGlvbihuLFcpe1c9VyBpbnN0YW5jZW9mIFFHP1c6bmV3IFFHKDUsIlRWRDplcnJvciIsVyk7cmV0dXJuIG4ucmVwb3J0RXJyb3IoVyl9Owp5QTE9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLk4/LkZwKCgpPT5SaShuLFcpLEQsYj0+e2lmKG4uTiBpbnN0YW5jZW9mIEY2JiZXLmhHPy5yMyl0cnl7bi5jYWNoZT8uTihSaShuLFcpLGIsVy5oRy5hbSxuLkstMTIwKX1jYXRjaCh2KXtuLnJlcG9ydEVycm9yKG5ldyBRRygyNCwiRUxYOndyaXRlIix2KSl9fSl9OwpFbGk9ZnVuY3Rpb24obixXLEQpe2lmKFcuaEc/LkFCKXRyeXtsZXQgYj1uLmNhY2hlPy5KKFJpKG4sVyksVy5oRy5hbSk7cmV0dXJuIGI/RD92MyhuLmxvZ2dlciwoKT0+Zy5FQShiLDIpLCJhIik6Yjp2b2lkIDB9Y2F0Y2goYil7bi5yZXBvcnRFcnJvcihuZXcgUUcoMjMsIlJYTzpyZWFkIixiKSl9fTsKaXByPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj17c3RhY2s6W10sZXJyb3I6dm9pZCAwLGhhc0Vycm9yOiExfTt0cnl7aWYoIVcuR3IpdGhyb3cgbmV3IFFHKDI5LCJTREY6bm90cmVhZHkiKTtyZXR1cm4gemIoYixuZXcgUWkobi5sb2dnZXIsMCxuLnN0YXRlKSkuRnAoKCk9PlJpKG4sVyksRCl9Y2F0Y2godil7Yi5lcnJvcj12LGIuaGFzRXJyb3I9ITB9ZmluYWxseXtseChiKX19Owp1TVo9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgdj13JChuLEQpO3JldHVybiB6YihiLG5ldyBvbHcobi5sb2dnZXIsdikpLkZwKCgpPT5bXSxXKX1jYXRjaCh2KXtiLmVycm9yPXYsYi5oYXNFcnJvcj0hMH1maW5hbGx5e2x4KGIpfX07ClJpPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcueEM/Vy54QzpXLndfP3YzKG4ubG9nZ2VyLCgpPT5XLnhDPXpIKFcud18pLCJjIik6W119OwpuVz1mdW5jdGlvbigpe3ZhciBuPTAsVztyZXR1cm4gRD0+e1d8fChXPW5ldyB4WSk7dmFyIGI9bmV3IFFpKFcsbiwxKSx2PWIuRnAoKCk9PnpIKEQpLCEwKTsKYi5kaXNwb3NlKCk7bisrO3JldHVybiB2fX07CmcuV1k9ZnVuY3Rpb24obixXKXtpZihuKWZvcihsZXQgRCBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLEQpJiZXKG5bRF0sRCxuKX07CnpIaT1mdW5jdGlvbigpe3ZhciBuPVtdO2cuV1koZGhaLFc9PntuLnB1c2goVyl9KTsKcmV0dXJuIG59OwpUVHI9ZnVuY3Rpb24oKXt2YXIgbj1nLkRhKCJJRlJBTUUiKSxXPXt9O2cueTIobGVTKCksRD0+e24uc2FuZGJveCYmbi5zYW5kYm94LnN1cHBvcnRzJiZuLnNhbmRib3guc3VwcG9ydHMoRCkmJihXW0RdPSEwKX0pOwpyZXR1cm4gV307CmcuRGE9ZnVuY3Rpb24obixXPWRvY3VtZW50KXtyZXR1cm4gVy5jcmVhdGVFbGVtZW50KFN0cmluZyhuKS50b0xvd2VyQ2FzZSgpKX07CmcuYnI9ZnVuY3Rpb24obixXLEQsYil7dGhpcy5sZWZ0PW47dGhpcy50b3A9Vzt0aGlzLndpZHRoPUQ7dGhpcy5oZWlnaHQ9Yn07CnZZPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG49PVc/ITA6biYmVz9uLmxlZnQ9PVcubGVmdCYmbi53aWR0aD09Vy53aWR0aCYmbi50b3A9PVcudG9wJiZuLmhlaWdodD09Vy5oZWlnaHQ6ITF9OwpnLmgxPWZ1bmN0aW9uKG4sVyxEKXtpZih0eXBlb2YgVz09PSJzdHJpbmciKWtxKG4sRCxXKTtlbHNlIGZvcihsZXQgYiBpbiBXKWtxKG4sV1tiXSxiKX07CmtxPWZ1bmN0aW9uKG4sVyxEKXsoRD14cShuLEQpKSYmKGpQQy50ZXN0KEQpP24uc3R5bGUuc2V0UHJvcGVydHkoRCxXKTpuLnN0eWxlW0RdPVcpfTsKeHE9ZnVuY3Rpb24obixXKXt2YXIgRD1MV1tXXTtpZighRCl7dmFyIGI9cHAoVyk7RD1iO24uc3R5bGVbYl09PT12b2lkIDAmJihiPShnLlpsPyJXZWJraXQiOmcuZVM/Ik1veiI6bnVsbCkrSTFpKGIpLG4uc3R5bGVbYl0hPT12b2lkIDAmJihEPWIpKTtMV1tXXT1EfXJldHVybiBEfTsKZy5naD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc3R5bGVbcHAoVyldO3JldHVybiB0eXBlb2YgRCE9PSJ1bmRlZmluZWQiP0Q6bi5zdHlsZVt4cShuLFcpXXx8IiJ9OwpYbT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuSksobik7cmV0dXJuIEQuZGVmYXVsdFZpZXcmJkQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZSYmKG49RC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKG4sbnVsbCkpP25bV118fG4uZ2V0UHJvcGVydHlWYWx1ZShXKXx8IiI6IiJ9OwpxdD1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9Y2F0Y2goVyl7cmV0dXJue2xlZnQ6MCx0b3A6MCxyaWdodDowLGJvdHRvbTowfX19OwpnLkdOPWZ1bmN0aW9uKG4pe3ZhciBXPWcuSksobiksRD1uZXcgZy5NWSgwLDApO2lmKG49PShXP2cuSksoVyk6ZG9jdW1lbnQpLmRvY3VtZW50RWxlbWVudClyZXR1cm4gRDtuPXF0KG4pO1c9Zy5TcChXKTtXPWcuRTAoVy5OKTtELng9bi5sZWZ0K1cueDtELnk9bi50b3ArVy55O3JldHVybiBEfTsKZy4kcT1mdW5jdGlvbihuLFcpe249dDEobik7Vz10MShXKTtyZXR1cm4gbmV3IGcuTVkobi54LVcueCxuLnktVy55KX07Cmcucmg9ZnVuY3Rpb24obil7bj1xdChuKTtyZXR1cm4gbmV3IGcuTVkobi5sZWZ0LG4udG9wKX07CnQxPWZ1bmN0aW9uKG4pe2lmKG4ubm9kZVR5cGU9PTEpcmV0dXJuIGcucmgobik7bj1uLmNoYW5nZWRUb3VjaGVzP24uY2hhbmdlZFRvdWNoZXNbMF06bjtyZXR1cm4gbmV3IGcuTVkobi5jbGllbnRYLG4uY2xpZW50WSl9OwpOdD1mdW5jdGlvbihuLFcpe2lmKFcgaW5zdGFuY2VvZiBnLlFlKXt2YXIgRD1XLmhlaWdodDtXPVcud2lkdGh9ZWxzZSB0aHJvdyBFcnJvcigibWlzc2luZyBoZWlnaHQgYXJndW1lbnQiKTtuLnN0eWxlLndpZHRoPXNqKFcsITApO24uc3R5bGUuaGVpZ2h0PXNqKEQsITApfTsKc2o9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09Im51bWJlciImJihuPShXP01hdGgucm91bmQobik6bikrInB4Iik7cmV0dXJuIG59OwpnLnBXPWZ1bmN0aW9uKG4pe3ZhciBXPUNmMSxEOyhEPVhtKG4sImRpc3BsYXkiKSl8fChEPW4uY3VycmVudFN0eWxlP24uY3VycmVudFN0eWxlLmRpc3BsYXk6bnVsbCk7aWYoKER8fG4uc3R5bGUmJm4uc3R5bGUuZGlzcGxheSkhPSJub25lIilyZXR1cm4gVyhuKTtEPW4uc3R5bGU7dmFyIGI9RC5kaXNwbGF5LHY9RC52aXNpYmlsaXR5LGs9RC5wb3NpdGlvbjtELnZpc2liaWxpdHk9ImhpZGRlbiI7RC5wb3NpdGlvbj0iYWJzb2x1dGUiO0QuZGlzcGxheT0iaW5saW5lIjtuPVcobik7RC5kaXNwbGF5PWI7RC5wb3NpdGlvbj1rO0QudmlzaWJpbGl0eT12O3JldHVybiBufTsKQ2YxPWZ1bmN0aW9uKG4pe3ZhciBXPW4ub2Zmc2V0V2lkdGgsRD1uLm9mZnNldEhlaWdodCxiPWcuWmwmJiFXJiYhRDtyZXR1cm4oVz09PXZvaWQgMHx8YikmJm4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0PyhuPXF0KG4pLG5ldyBnLlFlKG4ucmlnaHQtbi5sZWZ0LG4uYm90dG9tLW4udG9wKSk6bmV3IGcuUWUoVyxEKX07CkZXWj1mdW5jdGlvbihuLFc9e30pe3JldHVybiBuZXcgQlR0KG4sVyl9Owp3NHI9ZnVuY3Rpb24obil7bi5WLnhWKCJkYXRhIixXPT57aWYoIjEiaW4gVyl7dmFyIEQ9V1siMSJdO2xldCBiO3RyeXtiPW4uSyhEKX1jYXRjaCh2KXtZcShuLG5ldyBDVigxMyxgRXJyb3Igd2hlbiBkZXNlcmlhbGl6aW5nIHJlc3BvbnNlIGRhdGE7IGVycm9yOiAke3Z9LCByZXNwb25zZTogJHtEfWApKX1iJiZIWShuLGIpfWlmKCIyImluIFcpZm9yKFc9ZlcobixXWyIyIl0pLEQ9MDtEPG4uai5sZW5ndGg7RCsrKW4ualtEXShXKX0pOwpuLlYueFYoImVuZCIsKCk9PntKMShuLElzKG4pKTtmb3IobGV0IFc9MDtXPG4uVy5sZW5ndGg7VysrKW4uV1tXXSgpfSk7Cm4uVi54VigiZXJyb3IiLCgpPT57aWYobi5OLmxlbmd0aCE9PTApe3ZhciBXPW4ueGhyLlc7VyE9PTB8fG4ueGhyLmlzU3VjY2VzcygpfHwoVz02KTt2YXIgRD0tMTtzd2l0Y2goVyl7Y2FzZSAwOnZhciBiPTI7YnJlYWs7Y2FzZSA3OmI9MTA7YnJlYWs7Y2FzZSA4OmI9NDticmVhaztjYXNlIDY6RD1uLnhoci5nZXRTdGF0dXMoKTtiPXozKEQpO2JyZWFrO2RlZmF1bHQ6Yj0xNH1KMShuLElzKG4pKTtXPVJCYihXKSsiLCBlcnJvcjogIituLnhoci5nZXRMYXN0RXJyb3IoKTtEIT09LTEmJihXKz1gLCBodHRwIHN0YXR1cyBjb2RlOiAke0R9YCk7WXEobixuZXcgQ1YoYixXKSl9fSl9OwpZcT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5OLmxlbmd0aDtEKyspbi5OW0RdKFcpfTsKSjE9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQ9MDtEPG4uWC5sZW5ndGg7RCsrKW4uWFtEXShXKX07CklzPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9Vmp0KG4ueGhyKTtPYmplY3Qua2V5cyhEKS5mb3JFYWNoKGI9PntXW2JdPURbYl19KTsKcmV0dXJuIFd9OwpIWT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5KLmxlbmd0aDtEKyspbi5KW0RdKFcpfTsKZlc9ZnVuY3Rpb24obixXKXt2YXIgRD0yLGI9e307dHJ5e2xldCBrO2s9TTFiKFcpO0Q9YVAoaywxKTt2YXIgdj1rLmdldE1lc3NhZ2UoKTtWRyhrLFJIaSwzKS5sZW5ndGgmJihiWyJncnBjLXdlYi1zdGF0dXMtZGV0YWlscy1iaW4iXT1XKX1jYXRjaChrKXtuLnhociYmbi54aHIuZ2V0U3RhdHVzKCk9PT00MDQ/KEQ9NSx2PSJOb3QgRm91bmQ6ICIrU3RyaW5nKG4ueGhyLkspKTooRD0xNCx2PWBVbmFibGUgdG8gcGFyc2UgUnBjU3RhdHVzOiAke2t9YCl9cmV0dXJue2NvZGU6RCxkZXRhaWxzOnYsbWV0YWRhdGE6Yn19OwpWMVU9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgUVBTO0FIKG4ueGhyLCJjb21wbGV0ZSIsKCk9PntpZihuLnhoci5pc1N1Y2Nlc3MoKSl7dmFyIGI9VzMobi54aHIpO2lmKFcmJm4ueGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKT09PSJ0ZXh0L3BsYWluIil7aWYoIWF0b2IpdGhyb3cgRXJyb3IoIkNhbm5vdCBkZWNvZGUgQmFzZTY0IHJlc3BvbnNlIik7Yj1hdG9iKGIpfXRyeXt2YXIgdj1uLksoYil9Y2F0Y2goaCl7WXEobixTUyhuZXcgQ1YoMTMsYEVycm9yIHdoZW4gZGVzZXJpYWxpemluZyByZXNwb25zZSBkYXRhOyBlcnJvcjogJHtofSwgcmVzcG9uc2U6ICR7Yn1gKSxEKSk7cmV0dXJufWI9ejMobi54aHIuZ2V0U3RhdHVzKCkpO0oxKG4sSXMobikpO2I9PT0wP0hZKG4sdik6WXEobixTUyhuZXcgQ1YoYiwiWGhyIHN1Y2NlZWRlZCBidXQgdGhlIHN0YXR1cyBjb2RlIGlzIG5vdCAyMDAiKSxEKSl9ZWxzZXtiPVczKG4ueGhyKTtsZXQgaDt2PUlzKG4pO2lmKGIpe3ZhciBrPQpmVyhuLGIpO2I9ay5jb2RlO2g9ay5kZXRhaWxzO2s9ay5tZXRhZGF0YX1lbHNlIGI9MixoPWBScGMgZmFpbGVkIGR1ZSB0byB4aHIgZXJyb3IuIHVyaTogJHtTdHJpbmcobi54aHIuSyl9LCBlcnJvciBjb2RlOiAke24ueGhyLld9LCBlcnJvcjogJHtuLnhoci5nZXRMYXN0RXJyb3IoKX1gLGs9djtKMShuLHYpO1lxKG4sU1MobmV3IENWKGIsaCxrKSxEKSl9fSl9OwpBMT1mdW5jdGlvbihuLFcpe1c9bi5pbmRleE9mKFcpO1c+LTEmJm4uc3BsaWNlKFcsMSl9OwpTUz1mdW5jdGlvbihuLFcpe1cuc3RhY2smJihuLnN0YWNrKz0iXG4iK1cuc3RhY2spO3JldHVybiBufTsKbUc9ZnVuY3Rpb24obil7dGhpcy5YPW4uWTZ8fG51bGw7dGhpcy5XPW4uWUJ8fCExO3RoaXMuSj12b2lkIDB9OwpLVz1mdW5jdGlvbihuLFcpe2cub1cuY2FsbCh0aGlzKTt0aGlzLnR3PW47dGhpcy5WPVc7dGhpcy5qPXZvaWQgMDt0aGlzLnN0YXR1cz10aGlzLnJlYWR5U3RhdGU9MDt0aGlzLnJlc3BvbnNlVHlwZT10aGlzLnJlc3BvbnNlVGV4dD10aGlzLnJlc3BvbnNlPXRoaXMuc3RhdHVzVGV4dD0iIjt0aGlzLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLko9bnVsbDt0aGlzLmNKPSJHRVQiO3RoaXMuTz0iIjt0aGlzLk49ITE7dGhpcy5LPXRoaXMuVz10aGlzLlg9bnVsbDt0aGlzLlk9bmV3IEFib3J0Q29udHJvbGxlcn07Ck9qPWZ1bmN0aW9uKG4pe24uVy5yZWFkKCkudGhlbihuLmxFLmJpbmQobikpLmNhdGNoKG4uRFAuYmluZChuKSl9OwpaYT1mdW5jdGlvbihuKXtuLnJlYWR5U3RhdGU9NDtuLlg9bnVsbDtuLlc9bnVsbDtuLks9bnVsbDtQWShuKX07ClBZPWZ1bmN0aW9uKG4pe24ub25yZWFkeXN0YXRlY2hhbmdlJiZuLm9ucmVhZHlzdGF0ZWNoYW5nZS5jYWxsKG4pfTsKY0FVPWZ1bmN0aW9uKG4pe2lmKG4uejcmJnR5cGVvZiBuLno3PT0iZnVuY3Rpb24iKXJldHVybiBuLno3KCk7aWYodHlwZW9mIE1hcCE9PSJ1bmRlZmluZWQiJiZuIGluc3RhbmNlb2YgTWFwfHx0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpcmV0dXJuIEFycmF5LmZyb20obi52YWx1ZXMoKSk7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm4gbi5zcGxpdCgiIik7aWYoZy5ZMihuKSl7bGV0IFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdKTtyZXR1cm4gV31yZXR1cm4gaEsobil9OwphZWg9ZnVuY3Rpb24obil7aWYobi51QiYmdHlwZW9mIG4udUI9PSJmdW5jdGlvbiIpcmV0dXJuIG4udUIoKTtpZighbi56N3x8dHlwZW9mIG4uejchPSJmdW5jdGlvbiIpe2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmbiBpbnN0YW5jZW9mIE1hcClyZXR1cm4gQXJyYXkuZnJvbShuLmtleXMoKSk7aWYoISh0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJm4gaW5zdGFuY2VvZiBTZXQpKXtpZihnLlkyKG4pfHx0eXBlb2Ygbj09PSJzdHJpbmciKXtsZXQgVz1bXTtuPW4ubGVuZ3RoO2ZvcihsZXQgRD0wO0Q8bjtEKyspVy5wdXNoKEQpO3JldHVybiBXfXJldHVybiBnLkxUKG4pfX19OwpuS2k9ZnVuY3Rpb24obixXLEQpe2lmKG4uZm9yRWFjaCYmdHlwZW9mIG4uZm9yRWFjaD09ImZ1bmN0aW9uIiluLmZvckVhY2goVyxEKTtlbHNlIGlmKGcuWTIobil8fHR5cGVvZiBuPT09InN0cmluZyIpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChuLFcsRCk7ZWxzZXtsZXQgYj1hZWgobiksdj1jQVUobiksaz12Lmxlbmd0aDtmb3IobGV0IGg9MDtoPGs7aCsrKVcuY2FsbChELHZbaF0sYiYmYltoXSxuKX19OwpnLlVqPWZ1bmN0aW9uKG4pe3RoaXMuTj10aGlzLlk9dGhpcy5YPSIiO3RoaXMuVj1udWxsO3RoaXMuaj10aGlzLko9IiI7dGhpcy5LPSExO3ZhciBXO24gaW5zdGFuY2VvZiBnLlVqPyh0aGlzLks9bi5LLHlOKHRoaXMsbi5YKSx0aGlzLlk9bi5ZLEVqKHRoaXMsbi5OKSxpcih0aGlzLG4uViksdGhpcy5KPW4uSix1cih0aGlzLG4uVy5jbG9uZSgpKSx0aGlzLmo9bi5qKTpuJiYoVz1nLmZwKFN0cmluZyhuKSkpPyh0aGlzLks9ITEseU4odGhpcyxXWzFdfHwiIiwhMCksdGhpcy5ZPW9zKFdbMl18fCIiKSxFaih0aGlzLFdbM118fCIiLCEwKSxpcih0aGlzLFdbNF0pLHRoaXMuSj1vcyhXWzVdfHwiIiwhMCksdXIodGhpcyxXWzZdfHwiIiwhMCksdGhpcy5qPW9zKFdbN118fCIiKSk6KHRoaXMuSz0hMSx0aGlzLlc9bmV3IGRoKG51bGwsdGhpcy5LKSl9Owp5Tj1mdW5jdGlvbihuLFcsRCl7bi5YPUQ/b3MoVywhMCk6VztuLlgmJihuLlg9bi5YLnJlcGxhY2UoLzokLywiIikpfTsKRWo9ZnVuY3Rpb24obixXLEQpe24uTj1EP29zKFcsITApOld9Owppcj1mdW5jdGlvbihuLFcpe2lmKFcpe1c9TnVtYmVyKFcpO2lmKGlzTmFOKFcpfHxXPDApdGhyb3cgRXJyb3IoIkJhZCBwb3J0IG51bWJlciAiK1cpO24uVj1XfWVsc2Ugbi5WPW51bGx9Owp1cj1mdW5jdGlvbihuLFcsRCl7VyBpbnN0YW5jZW9mIGRoPyhuLlc9VyxXeGgobi5XLG4uSykpOihEfHwoVz16TihXLER4UykpLG4uVz1uZXcgZGgoVyxuLkspKX07CmxyPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5Vaj9uLmNsb25lKCk6bmV3IGcuVWoobil9Owpvcz1mdW5jdGlvbihuLFcpe3JldHVybiBuP1c/ZGVjb2RlVVJJKG4ucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChuKToiIn07CnpOPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIj8obj1lbmNvZGVVUkkobikucmVwbGFjZShXLGIweCksRCYmKG49bi5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxuKTpudWxsfTsKYjB4PWZ1bmN0aW9uKG4pe249bi5jaGFyQ29kZUF0KDApO3JldHVybiIlIisobj4+NCYxNSkudG9TdHJpbmcoMTYpKyhuJjE1KS50b1N0cmluZygxNil9OwpkaD1mdW5jdGlvbihuLFcpe3RoaXMuSj10aGlzLk49bnVsbDt0aGlzLlc9bnx8bnVsbDt0aGlzLlg9ISFXfTsKVE49ZnVuY3Rpb24obil7bi5OfHwobi5OPW5ldyBNYXAsbi5KPTAsbi5XJiZnLk9UKG4uVyxmdW5jdGlvbihXLEQpe24uYWRkKEc1KFcpLEQpfSkpfTsKQ1c9ZnVuY3Rpb24obixXKXtUTihuKTtXPWpTKG4sVyk7cmV0dXJuIG4uTi5oYXMoVyl9OwpqUz1mdW5jdGlvbihuLFcpe1c9U3RyaW5nKFcpO24uWCYmKFc9Vy50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gV307Cld4aD1mdW5jdGlvbihuLFcpe1cmJiFuLlgmJihUTihuKSxuLlc9bnVsbCxuLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe3ZhciB2PWIudG9Mb3dlckNhc2UoKTtiIT12JiYodGhpcy5yZW1vdmUoYiksdGhpcy5yZW1vdmUodiksRC5sZW5ndGg+MCYmKHRoaXMuVz1udWxsLHRoaXMuTi5zZXQoalModGhpcyx2KSxnLlJNKEQpKSx0aGlzLko9dGhpcy5KK0QubGVuZ3RoKSl9LG4pKTsKbi5YPVd9Owp2S2I9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zy5hXyhuLGZ1bmN0aW9uKEQsYil7Vys9YjtXKz0iOiI7Vys9RDtXKz0iXHJcbiJ9KTsKcmV0dXJuIFd9OwpCWT1mdW5jdGlvbihuKXtnLkZNLmNhbGwodGhpcyk7dGhpcy5KPW47dGhpcy5OPXt9fTsKRm09ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKEFycmF5LmlzQXJyYXkoRCkpZm9yKGxldCBoPTA7aDxELmxlbmd0aDtoKyspRm0obixXLERbaF0sYix2LGspO2Vsc2V7Vz1TZyhXLEQsYnx8bi5oYW5kbGVFdmVudCx2LGt8fG4uSnx8bik7aWYoIVcpcmV0dXJuIG47bi5OW1cua2V5XT1XfXJldHVybiBufTsKd2g9ZnVuY3Rpb24obixXLEQpe24uVz0hMTt0aHJvdyBFcnJvcigiVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVyk7fTsKTXQ9ZnVuY3Rpb24oKXt0aGlzLlY9bnVsbDt0aGlzLks9W107dGhpcy5YPXRoaXMuSj10aGlzLlc9dGhpcy5OPXRoaXMuRD0wO3RoaXMuaj1udWxsO3RoaXMuWT0wfTsKUnM9ZnVuY3Rpb24obixXLEQsYil7bi5OPTM7bi5WPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIituLkQrIi8iK0QrIi4gRXJyb3I6ICIrYisiLiBXaXRoIGlucHV0OlxuIitXO3Rocm93IEVycm9yKG4uVik7fTsKUU49ZnVuY3Rpb24oKXt0aGlzLk49bnVsbDt0aGlzLko9MDt0aGlzLlc9bmV3IGtoUzt0aGlzLlg9bmV3IE10fTsKVk49ZnVuY3Rpb24obixXLEQpe24uTj0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5KKyIuIEVycm9yOiAiK0QrIi4gV2l0aCBpbnB1dDpcbiIrVzt0aHJvdyBFcnJvcihuLk4pO307CmNZPWZ1bmN0aW9uKG4pe3JldHVybiBuPT0iXHIifHxuPT0iXG4ifHxuPT0iICJ8fG49PSJcdCJ9Owphcz1mdW5jdGlvbihuKXt0aGlzLkQ9bnVsbDt0aGlzLlY9W107dGhpcy5YPSIiO3RoaXMuY0o9W107dGhpcy5XPXRoaXMuSj0wO3RoaXMuSz0hMTt0aGlzLlk9MDt0aGlzLnR3PS9bXFwiXS9nO3RoaXMuTj10aGlzLmo9MDt0aGlzLk89ISghbnx8IW4uWkgpfTsKbl89ZnVuY3Rpb24obixXLEQpe24uaj0zO24uRD0iVGhlIHN0cmVhbSBpcyBicm9rZW4gQCIrbi5XKyIvIitEKyIuIFdpdGggaW5wdXQ6XG4iK1c7dGhyb3cgRXJyb3Iobi5EKTt9OwpXSz1mdW5jdGlvbigpe3RoaXMuaj10aGlzLlc9bnVsbDt0aGlzLko9dGhpcy5OPTA7dGhpcy5YPVtdO3RoaXMuVj0hMX07CmhDeD1mdW5jdGlvbihuKXt2YXIgVz1uLk4/bi5OLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKTpudWxsO2lmKCFXKXJldHVybiBudWxsO1c9Vy50b0xvd2VyQ2FzZSgpO3JldHVybiBXLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24iKT9XLnN0YXJ0c1dpdGgoImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiKT9uZXcgV0s6bmV3IGFzOlcuc3RhcnRzV2l0aCgiYXBwbGljYXRpb24veC1wcm90b2J1ZiIpPyhuPW4uTj9uLk4uZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHJhbnNmZXItRW5jb2RpbmciKTpudWxsKT9uLnRvTG93ZXJDYXNlKCk9PSJiYXNlNjQiP25ldyBRTjpudWxsOm5ldyBNdDpudWxsfTsKRGk9ZnVuY3Rpb24obixXKXtuLmohPVcmJihuLmo9VyxuLksmJm4uSygpKX07CmJIPWZ1bmN0aW9uKG4pe24uWS5UaSgpO2lmKG4uTil7bGV0IFc9bi5OO24uTj1udWxsO1cuYWJvcnQoKTtXLmRpc3Bvc2UoKX19Owp2Sz1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXtsZXQgYj1uW0RdO1cuZm9yRWFjaChmdW5jdGlvbih2KXt0cnl7dihiKX1jYXRjaChrKXt9fSl9fTsKa3Q9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkpbV107RCYmRC5mb3JFYWNoKGZ1bmN0aW9uKGIpe3RyeXtiKCl9Y2F0Y2godil7fX0pOwooRD1uLk5bV10pJiZELmZvckVhY2goZnVuY3Rpb24oYil7YigpfSk7Cm4uTltXXT1bXX07Cnh4aj1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07Ckx4aT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnJlZHVjZSgoRCxiKT0+dj0+Yi5pbnRlcmNlcHQodixEKSxuKX07CmVDVT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5sMCx2PVcuZ2V0TWV0YWRhdGEoKSxrPWhhKG4sITApO249eHQobix2LGssRCtiLmdldE5hbWUoKSk7RD1MXyhrLGIuVywhMSk7VjFVKEQsdlsiWC1Hb29nLUVuY29kZS1SZXNwb25zZS1JZi1FeGVjdXRhYmxlIl09PT0iYmFzZTY0Iik7Vz1iLk4oVy5mdik7ay5zZW5kKG4sIlBPU1QiLFcpO3JldHVybiBEfTsKZ0t0PWZ1bmN0aW9uKG4sVyxELGIsdixrPXt9KXt2YXIgaD1XLnN1YnN0cmluZygwLFcubGVuZ3RoLXYubmFtZS5sZW5ndGgpLHg9az8uc2lnbmFsO3JldHVybiBMeGkoTD0+bmV3IFByb21pc2UoKGUsRyk9PntpZih4Py5hYm9ydGVkKXtsZXQgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX1lbHNle3ZhciByPXt9LE49ZUNVKG4sTCxoKTtOLnhWKCJlcnJvciIsSD0+dm9pZCBHKEgpKTsKTi54VigibWV0YWRhdGEiLEg9PntyPUh9KTsKTi54VigiZGF0YSIsSD0+e2UoRldaKEgscikpfSk7CngmJnguYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57Ti5jYW5jZWwoKTt2YXIgSD1uZXcgQ1YoMSwiQWJvcnRlZCIpO0guY2F1c2U9eC5yZWFzb247RyhIKX0pfX0pLG4uRk4pLmNhbGwobix2LkooRCxiKSkudGhlbihMPT5MLlB6KX07ClhkPWZ1bmN0aW9uKG4sVz0hMSl7ZVgoMjgsNzIzMSxuKTtpZihuW0lbMjhdXSE9PUlbMTVdKXt2YXIgRD1uW0lbOF1dKCk7RFtJWzM0XV0oSVszMl0sSVs0MF0pO3JldHVybiBEfXZhciBiPW5bSVs3Ml1dKCk7RD1uZXcgZy5VaihiKTt2YXIgdj1uW0lbMzNdXShJWzcwXSksaz1NMygxNiw0MjYyLG5bSVszM11dKElbNzRdKXx8SVsyMV0pW0lbMzZdXShJWzQ3XSk7aWYodiYmayYma1tJWzVdXT4xJiZrWzFdKXJldHVybiBiPUQuTixuPWJbSVs4MV1dKC9eW14uXSovLElbMjFdKSxFaihELGAke2JbSVsxOF1dKElbNDRdKT09PTA/SVs0NF06SVs4MF19JHt2fS0tLSR7a1sxXX0ke259YCksRD1uZXcgZy53WihEW0lbMF1dKCkpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO2lmKFcpcmV0dXJuIEQ9bltJWzhdXSgpLERbSVszNF1dKElbMzhdLElbNDBdKSxEO3Y9RC5OW0lbNl1dKElbNTZdKTtELk5bSVs2XV0oSVsyN10pPyhFaihELElbODJdKSxiPURbSVswXV0oKSk6RC5OW0lbNl1dKElbNTJdKT8KKEVqKEQsSVsxOV0pLGI9RFtJWzBdXSgpKTooRD1lQShiKSxnWChEKSYmKGI9RCkpO0Q9bmV3IGcud1ooYik7RFtJWzM0XV0oSVs3OV0sSVs0MF0pO3YmJkRbSVszNF1dKElbMl0sSVs3MV0pO3JldHVybiBEfTsKWVk9ZnVuY3Rpb24obixXLEQsYix2LGs9e30pe3JldHVybiBnS3QobixXLEQsYix2LGspfTsKaGE9ZnVuY3Rpb24obixXKXtXPW4uTiYmIVc7cmV0dXJuIG4uU258fFc/bmV3IHdwKG5ldyBtRyh7WTY6bi5TbixZQjpXfSkpOm5ldyB3cH07Cnh0PWZ1bmN0aW9uKG4sVyxELGIpe1dbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi9qc29uK3Byb3RvYnVmIjtXWyJYLVVzZXItQWdlbnQiXT0iZ3JwYy13ZWItamF2YXNjcmlwdC8wLjEiO3ZhciB2PVcuQXV0aG9yaXphdGlvbjtpZih2JiZYMnIuaGFzKHYuc3BsaXQoIiAiKVswXSl8fG4ud2l0aENyZWRlbnRpYWxzKUQuTz0hMDtpZihuLllPKW49YixnLkdGKFcpP2I9bjooVz12S2IoVyksdHlwZW9mIG49PT0ic3RyaW5nIj9iPWcudWYobixxaCgiJGh0dHBIZWFkZXJzIiksVyk6KG4uVy5zZXQoIiRodHRwSGVhZGVycyIsVyksYj1uKSk7ZWxzZSBmb3IobGV0IGsgb2YgT2JqZWN0LmtleXMoVykpRC5oZWFkZXJzLnNldChrLFdba10pO3JldHVybiBifTsKTF89ZnVuY3Rpb24obixXLEQpe2lmKEQpe24uaXNBY3RpdmUoKTtEPW5ldyBxQXQobik7dmFyIGI9bmV3IEdoaShEKX1yZXR1cm4gbmV3IHR1MSh7eGhyOm4sTUU6Yn0sVyl9Owpxdz1mdW5jdGlvbigpe3RoaXMuTj1uZXcgJHhoO3RoaXMuSj0iaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20iLnJlcGxhY2UoL1wvKyQvLCIiKX07CmcuR0s9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5yZXBsYWNlKHI0MixmdW5jdGlvbihELGIpe3RyeXtsZXQgdj1nLiR5KFcsYik7aWYodj09bnVsbHx8di50b1N0cmluZygpPT1udWxsKXJldHVybiBEO3Y9di50b1N0cmluZygpO2lmKHY9PSIifHwhZy5GaChnLnJUKHYpKSlyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHYpLnJlcGxhY2UoLyUyQy9nLCIsIil9Y2F0Y2godil7fXJldHVybiBEfSl9OwpzMnc9ZnVuY3Rpb24oKXt2YXIgbj10YTskdC5pbnN0YW5jZXx8KCR0Lmluc3RhbmNlPW5ldyAkdChuKSk7cmV0dXJuICR0Lmluc3RhbmNlfTsKclg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5XP24uVzpuLlc9bmV3IFByb21pc2UoYXN5bmMgRD0+e3ZhciBiPXdpbmRvdy5BYm9ydENvbnRyb2xsZXI/bmV3IHdpbmRvdy5BYm9ydENvbnRyb2xsZXI6dm9pZCAwLHY9Yj8uc2lnbmFsLGs9ITE7dHJ5e2ImJihuLk49bi5BJC5MUygoKT0+e2IuYWJvcnQoKX0sV3x8MkU0KSksYXdhaXQgZmV0Y2goIi9nZW5lcmF0ZV8yMDQiLHttZXRob2Q6IkhFQUQiLApzaWduYWw6dn0pLGs9ITB9Y2F0Y2h7az0hMX1maW5hbGx5e24uVz12b2lkIDAsbi5OJiYobi5BJC5zTyhuLk4pLG4uTj0wKSxrIT09bi5pc09ubGluZSYmKG4uaXNPbmxpbmU9ayxuLmlzT25saW5lP24uZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTpuLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxEKGspfX0pfTsKTldoPWZ1bmN0aW9uKG4pe24uTj09PS0xJiYobi5OPW4uZGF0YS5yZWR1Y2UoKFcsRCxiKT0+VysoRD8yKipiOjApLDApKTsKcmV0dXJuIG4uTn07Cmcuc0k9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4mJlchPT1udWxsJiZXIT1XLnRvcCl7aWYoIVcudG9wKXJldHVybiBuZXcgZy5RZSgtMTIyNDU5MzMsLTEyMjQ1OTMzKTtXPVcudG9wfXRyeXtpZihEKXZhciBiPShuZXcgZy5RZShXLmlubmVyV2lkdGgsVy5pbm5lckhlaWdodCkpLnJvdW5kKCk7ZWxzZXtsZXQgdj0oV3x8d2luZG93KS5kb2N1bWVudCxrPXYuY29tcGF0TW9kZT09IkNTUzFDb21wYXQiP3YuZG9jdW1lbnRFbGVtZW50OnYuYm9keTtiPShuZXcgZy5RZShrLmNsaWVudFdpZHRoLGsuY2xpZW50SGVpZ2h0KSkucm91bmQoKX1yZXR1cm4gYn1jYXRjaCh2KXtyZXR1cm4gbmV3IGcuUWUoLTEyMjQ1OTMzLC0xMjI0NTkzMyl9fTsKZy5Odz1mdW5jdGlvbihuKXtyZXR1cm4gbi5wcmVyZW5kZXJpbmc/Mzp7dmlzaWJsZToxLGhpZGRlbjoyLHByZXJlbmRlcjozLHByZXZpZXc6NCx1bmxvYWRlZDo1LCIiOjB9W24udmlzaWJpbGl0eVN0YXRlfHxuLndlYmtpdFZpc2liaWxpdHlTdGF0ZXx8bi5tb3pWaXNpYmlsaXR5U3RhdGV8fCIiXT8/MH07CmcucF89ZnVuY3Rpb24obixXLEQpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLk49bnVsbDt0aGlzLlg9ITE7dGhpcy5WPW47dGhpcy5qPUQ7dGhpcy5KPVd8fHdpbmRvdzt0aGlzLlc9KDAsZy5LdCkodGhpcy5PdCx0aGlzKX07Cll0PWZ1bmN0aW9uKG4pe249bi5KO3JldHVybiBuLnJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG51bGx9OwpISz1mdW5jdGlvbihuKXtuPW4uSjtyZXR1cm4gbi5jYW5jZWxBbmltYXRpb25GcmFtZXx8bi5jYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fG4ud2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1vekNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZXx8bi5vQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxuLm1zQ2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxudWxsfTsKZy5mXz1mdW5jdGlvbihuLFcsRCl7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuTj1uO3RoaXMuZ3Q9V3x8MDt0aGlzLko9RDt0aGlzLlc9KDAsZy5LdCkodGhpcy5pJCx0aGlzKX07CmcuSmE9ZnVuY3Rpb24obixXKXtuLmlzQWN0aXZlKCl8fG4uc3RhcnQoVyl9OwpJRj1mdW5jdGlvbihuKXtuLlo2PWcuWnQoKCk9PntuLlo2PW51bGw7bi5OJiYhbi5KJiYobi5OPSExLElGKG4pKX0sbi5ndCk7CnZhciBXPW4uVztuLlc9bnVsbDtuLlguYXBwbHkobnVsbCxXKX07ClNBPWZ1bmN0aW9uKG4pe3JldHVybiB0eXBlb2Ygbi5jbGFzc05hbWU9PSJzdHJpbmciP24uY2xhc3NOYW1lOm4uZ2V0QXR0cmlidXRlJiZuLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9OwpBYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3Q6U0EobikubWF0Y2goL1xTKy9nKXx8W119OwptYT1mdW5jdGlvbihuLFcpe3R5cGVvZiBuLmNsYXNzTmFtZT09InN0cmluZyI/bi5jbGFzc05hbWU9VzpuLnNldEF0dHJpYnV0ZSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixXKX07CmcuS189ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QuY29udGFpbnMoVyk6Zy5qaihBYShuKSxXKX07CmcuVUk9ZnVuY3Rpb24obixXKXtpZihuLmNsYXNzTGlzdCluLmNsYXNzTGlzdC5hZGQoVyk7ZWxzZSBpZighZy5LXyhuLFcpKXtsZXQgRD1TQShuKTttYShuLEQrKEQubGVuZ3RoPjA/IiAiK1c6VykpfX07CnlLPWZ1bmN0aW9uKG4sVyl7aWYobi5jbGFzc0xpc3QpQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChXLGZ1bmN0aW9uKGIpe2cuVUkobixiKX0pOwplbHNle3ZhciBEPXt9O0FycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoQWEobiksZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oYil7RFtiXT0hMH0pOwpXPSIiO2ZvcihsZXQgYiBpbiBEKVcrPVcubGVuZ3RoPjA/IiAiK2I6YjttYShuLFcpfX07CmcuRUk9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5yZW1vdmUoVyk6Zy5LXyhuLFcpJiZtYShuLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChBYShuKSxmdW5jdGlvbihEKXtyZXR1cm4gRCE9V30pLmpvaW4oIiAiKSl9OwpwMmo9ZnVuY3Rpb24obixXKXtuLmNsYXNzTGlzdD9BcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKFcsZnVuY3Rpb24oRCl7Zy5FSShuLEQpfSk6bWEobixBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoQWEobiksZnVuY3Rpb24oRCl7cmV0dXJuIWcuamooVyxEKX0pLmpvaW4oIiAiKSl9OwpnLmlIPWZ1bmN0aW9uKG4sVyxEKXtEP2cuVUkobixXKTpnLkVJKG4sVyl9Owp1SD1mdW5jdGlvbigpe307CllBMT1mdW5jdGlvbihuKXtpZihuIGluc3RhbmNlb2Ygb0Z8fG4gaW5zdGFuY2VvZiBkWHx8biBpbnN0YW5jZW9mIHpLKXJldHVybiBuO2lmKHR5cGVvZiBuLm5leHQ9PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bik7CmlmKHR5cGVvZiBuW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiIpcmV0dXJuIG5ldyBvRigoKT0+bltTeW1ib2wuaXRlcmF0b3JdKCkpOwppZih0eXBlb2Ygbi5ncT09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IG9GKCgpPT5uLmdxKCkpOwp0aHJvdyBFcnJvcigiTm90IGFuIGl0ZXJhdG9yIG9yIGl0ZXJhYmxlLiIpO307CmxIPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dGhpcy5OPW47dGhpcy5LPVc7dGhpcy5XPUQ7dGhpcy5qPWI7dGhpcy5YPXY7dGhpcy5WPWs7dGhpcy5KPWg7dGhpcy5ZPXh9OwpUSz1mdW5jdGlvbihuLFcpe2lmKFc9PTApcmV0dXJuIG4uTjtpZihXPT0xKXJldHVybiBuLko7dmFyIEQ9d1Eobi5OLG4uVyxXKSxiPXdRKG4uVyxuLlgsVyk7bj13UShuLlgsbi5KLFcpO0Q9d1EoRCxiLFcpO2I9d1EoYixuLFcpO3JldHVybiB3UShELGIsVyl9OwpIMGk9ZnVuY3Rpb24obixXKXt2YXIgRD0oVy1uLk4pLyhuLkotbi5OKTtpZihEPD0wKXJldHVybiAwO2lmKEQ+PTEpcmV0dXJuIDE7dmFyIGI9MCx2PTEsaz0wO2Zvcih2YXIgaD0wO2g8ODtoKyspe2s9VEsobixEKTtsZXQgeD0oVEsobixEKzFFLTYpLWspLzFFLTY7aWYoTWF0aC5hYnMoay1XKTwxRS02KXJldHVybiBEO2lmKE1hdGguYWJzKHgpPDFFLTYpYnJlYWs7ZWxzZSBrPFc/Yj1EOnY9RCxELT0oay1XKS94fWZvcihoPTA7TWF0aC5hYnMoay1XKT4xRS02JiZoPDg7aCsrKWs8Vz8oYj1ELEQ9KEQrdikvMik6KHY9RCxEPShEK2IpLzIpLGs9VEsobixEKTtyZXR1cm4gRH07CmpBPWZ1bmN0aW9uKG4pe3JldHVybihuPW4uZXhlYyhnLlhRKCkpKT9uWzFdOiIifTsKQ189ZnVuY3Rpb24obil7cmV0dXJuIGcuY1ooZlgyLG4pPj0wfTsKQks9ZnVuY3Rpb24obil7Zy5GTS5jYWxsKHRoaXMpO3RoaXMuVj0xO3RoaXMuVz1bXTt0aGlzLlg9MDt0aGlzLk49W107dGhpcy5KPXt9O3RoaXMuSz0hIW59OwpKNHI9ZnVuY3Rpb24obixXLEQpe2cubUsoZnVuY3Rpb24oKXtuLmFwcGx5KFcsRCl9KX07CmcuRmQ9ZnVuY3Rpb24obil7dGhpcy5OPW59Owp3WD1mdW5jdGlvbihuKXt0aGlzLk49bn07Ck13PWZ1bmN0aW9uKG4pe3RoaXMuZGF0YT1ufTsKUkY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT12b2lkIDB8fG4gaW5zdGFuY2VvZiBNdz9uOm5ldyBNdyhuKX07ClFLPWZ1bmN0aW9uKG4pe3RoaXMuTj1ufTsKVks9ZnVuY3Rpb24obil7dGhpcy5OPW59OwpJWDE9ZnVuY3Rpb24oKXt9OwpjSz1mdW5jdGlvbigpe307CmFGPWZ1bmN0aW9uKG4pe3RoaXMuTj1uO3RoaXMuSj1udWxsfTsKbmU9ZnVuY3Rpb24obil7aWYobi5OPT1udWxsKXRocm93IEVycm9yKCJTdG9yYWdlIG1lY2hhbmlzbTogU3RvcmFnZSB1bmF2YWlsYWJsZSIpO24uaXNBdmFpbGFibGUoKXx8aDQoRXJyb3IoIlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIHVuYXZhaWxhYmxlIikpfTsKV1M9ZnVuY3Rpb24oKXt2YXIgbj1udWxsO3RyeXtuPWcucWkubG9jYWxTdG9yYWdlfHxudWxsfWNhdGNoKFcpe31hRi5jYWxsKHRoaXMsbil9OwpEUT1mdW5jdGlvbigpe3ZhciBuPW51bGw7dHJ5e249Zy5xaS5zZXNzaW9uU3RvcmFnZXx8bnVsbH1jYXRjaChXKXt9YUYuY2FsbCh0aGlzLG4pfTsKYkM9ZnVuY3Rpb24obixXKXt0aGlzLko9bjt0aGlzLk49VysiOjoifTsKZy52Uz1mdW5jdGlvbihuKXt2YXIgVz1uZXcgV1M7cmV0dXJuIFcuaXNBdmFpbGFibGUoKT9uP25ldyBiQyhXLG4pOlc6bnVsbH07CmtqPWZ1bmN0aW9uKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9Owp4aj1mdW5jdGlvbihuKXt2YXIgVyxELGI9bi5sZW5ndGgsdj0wO2ZvcihXPTA7VzxiO1crKyl7dmFyIGs9bi5jaGFyQ29kZUF0KFcpO2lmKChrJjY0NTEyKT09PTU1Mjk2JiZXKzE8Yil7dmFyIGg9bi5jaGFyQ29kZUF0KFcrMSk7KGgmNjQ1MTIpPT09NTYzMjAmJihrPTY1NTM2KyhrLTU1Mjk2PDwxMCkrKGgtNTYzMjApLFcrKyl9dis9azwxMjg/MTprPDIwNDg/MjprPDY1NTM2PzM6NH12YXIgeD1uZXcgaGsuT20odik7Zm9yKFc9RD0wO0Q8djtXKyspaz1uLmNoYXJDb2RlQXQoVyksKGsmNjQ1MTIpPT09NTUyOTYmJlcrMTxiJiYoaD1uLmNoYXJDb2RlQXQoVysxKSwoaCY2NDUxMik9PT01NjMyMCYmKGs9NjU1MzYrKGstNTUyOTY8PDEwKSsoaC01NjMyMCksVysrKSksazwxMjg/eFtEKytdPWs6KGs8MjA0OD94W0QrK109MTkyfGs+Pj42OihrPDY1NTM2P3hbRCsrXT0yMjR8az4+PjEyOih4W0QrK109MjQwfGs+Pj4xOCx4W0QrK109MTI4fGs+Pj4xMiY2MykseFtEKytdPTEyOHxrPj4+CjYmNjMpLHhbRCsrXT0xMjh8ayY2Myk7cmV0dXJuIHh9OwpMZT1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5sZW5ndGg7LS1XPj0wOyluW1ddPTB9Owpldj1mdW5jdGlvbihuLFcsRCxiLHYpe3RoaXMua089bjt0aGlzLmJFPVc7dGhpcy50cD1EO3RoaXMuYXo9Yjt0aGlzLnVIPXY7dGhpcy5aZD1uJiZuLmxlbmd0aH07CnZhciBTQTE9ZnVuY3Rpb24obil7cmV0dXJuIGc3W0lbMTBdXSh0aGlzLDI1LDYzMjIsbil9Owp0az1mdW5jdGlvbihuLFcpe3RoaXMuTTA9bjt0aGlzLnJPPTA7dGhpcy5BWj1XfTsKcjc9ZnVuY3Rpb24obixXKXtuLkZCW24ucGVuZGluZysrXT1XJjI1NTtuLkZCW24ucGVuZGluZysrXT1XPj4+OCYyNTV9OwpzJD1mdW5jdGlvbihuLFcsRCl7bi5ZSD4xNi1EPyhuLlJKfD1XPDxuLllIJjY1NTM1LHI3KG4sbi5SSiksbi5SSj1XPj4xNi1uLllILG4uWUgrPUQtMTYpOihuLlJKfD1XPDxuLllIJjY1NTM1LG4uWUgrPUQpfTsKTjY9ZnVuY3Rpb24obixXLEQpe3MkKG4sRFtXKjJdLERbVyoyKzFdKX07CnBlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtkbyBEfD1uJjEsbj4+Pj0xLEQ8PD0xO3doaWxlKC0tVz4wKTtyZXR1cm4gRD4+PjF9OwpZaj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9QXJyYXkoMTYpLHY9MCxrO2ZvcihrPTE7azw9MTU7aysrKWJba109dj12K0Rbay0xXTw8MTtmb3IoRD0wO0Q8PVc7RCsrKXY9bltEKjIrMV0sdiE9PTAmJihuW0QqMl09cGUoYlt2XSsrLHYpKX07CkhTPWZ1bmN0aW9uKG4pe3ZhciBXO2ZvcihXPTA7VzwyODY7VysrKW4ua0dbVyoyXT0wO2ZvcihXPTA7VzwzMDtXKyspbi5sZltXKjJdPTA7Zm9yKFc9MDtXPDE5O1crKyluLndoW1cqMl09MDtuLmtHWzUxMl09MTtuLlhSPW4uVHY9MDtuLndYPW4ubWF0Y2hlcz0wfTsKZmU9ZnVuY3Rpb24obil7bi5ZSD44P3I3KG4sbi5SSik6bi5ZSD4wJiYobi5GQltuLnBlbmRpbmcrK109bi5SSik7bi5SSj0wO24uWUg9MH07CkprPWZ1bmN0aW9uKG4sVyxEKXtmZShuKTtyNyhuLEQpO3I3KG4sfkQpO2hrLlA3KG4uRkIsbi53aW5kb3csVyxELG4ucGVuZGluZyk7bi5wZW5kaW5nKz1EfTsKSVM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9VyoyLGs9RCoyO3JldHVybiBuW3ZdPG5ba118fG5bdl09PT1uW2tdJiZiW1ddPD1iW0RdfTsKU3Y9ZnVuY3Rpb24obixXLEQpe2Zvcih2YXIgYj1uLmhlYXBbRF0sdj1EPDwxO3Y8PW4uVW47KXt2PG4uVW4mJklTKFcsbi5oZWFwW3YrMV0sbi5oZWFwW3ZdLG4uZGVwdGgpJiZ2Kys7aWYoSVMoVyxiLG4uaGVhcFt2XSxuLmRlcHRoKSlicmVhaztuLmhlYXBbRF09bi5oZWFwW3ZdO0Q9djt2PDw9MX1uLmhlYXBbRF09Yn07ClUkPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0wO2lmKG4ud1ghPT0wKXtkb3t2YXIgdj1uLkZCW24uQTgrYioyXTw8OHxuLkZCW24uQTgrYioyKzFdO3ZhciBrPW4uRkJbbi50YStiXTtiKys7aWYodj09PTApTjYobixrLFcpO2Vsc2V7dmFyIGg9QWtba107TjYobixoKzI1NisxLFcpO3ZhciB4PW0kW2hdO3ghPT0wJiYoay09S2VbaF0scyQobixrLHgpKTt2LS07aD12PDI1Nj9PJFt2XTpPJFsyNTYrKHY+Pj43KV07TjYobixoLEQpO3g9UFNbaF07eCE9PTAmJih2LT1aUVtoXSxzJChuLHYseCkpfX13aGlsZShiPG4ud1gpfU42KG4sMjU2LFcpfTsKRSQ9ZnVuY3Rpb24obixXKXt2YXIgRD1XLk0wLGI9Vy5BWi5rTyx2PVcuQVouWmQsaz1XLkFaLmF6LGgseD0tMTtuLlVuPTA7bi5PND01NzM7Zm9yKGg9MDtoPGs7aCsrKURbaCoyXSE9PTA/KG4uaGVhcFsrK24uVW5dPXg9aCxuLmRlcHRoW2hdPTApOkRbaCoyKzFdPTA7Zm9yKDtuLlVuPDI7KXt2YXIgTD1uLmhlYXBbKytuLlVuXT14PDI/Kyt4OjA7RFtMKjJdPTE7bi5kZXB0aFtMXT0wO24uWFItLTt2JiYobi5Udi09YltMKjIrMV0pfVcuck89eDtmb3IoaD1uLlVuPj4xO2g+PTE7aC0tKVN2KG4sRCxoKTtMPWs7ZG8gaD1uLmhlYXBbMV0sbi5oZWFwWzFdPW4uaGVhcFtuLlVuLS1dLFN2KG4sRCwxKSxiPW4uaGVhcFsxXSxuLmhlYXBbLS1uLk80XT1oLG4uaGVhcFstLW4uTzRdPWIsRFtMKjJdPURbaCoyXStEW2IqMl0sbi5kZXB0aFtMXT0obi5kZXB0aFtoXT49bi5kZXB0aFtiXT9uLmRlcHRoW2hdOm4uZGVwdGhbYl0pKzEsRFtoKjIrMV09RFtiKjIrMV09TCxuLmhlYXBbMV09TCsrLApTdihuLEQsMSk7d2hpbGUobi5Vbj49Mik7bi5oZWFwWy0tbi5PNF09bi5oZWFwWzFdO2g9Vy5NMDtMPVcuck87Yj1XLkFaLmtPO3Y9Vy5BWi5aZDtrPVcuQVouYkU7dmFyIGU9Vy5BWi50cCxHPVcuQVoudUgscixOPTA7Zm9yKHI9MDtyPD0xNTtyKyspbi5WbltyXT0wO2hbbi5oZWFwW24uTzRdKjIrMV09MDtmb3IoVz1uLk80KzE7Vzw1NzM7VysrKXt2YXIgSD1uLmhlYXBbV107cj1oW2hbSCoyKzFdKjIrMV0rMTtyPkcmJihyPUcsTisrKTtoW0gqMisxXT1yO2lmKCEoSD5MKSl7bi5WbltyXSsrO3ZhciBBPTA7SD49ZSYmKEE9a1tILWVdKTt2YXIgeT1oW0gqMl07bi5YUis9eSoocitBKTt2JiYobi5Udis9eSooYltIKjIrMV0rQSkpfX1pZihOIT09MCl7ZG97Zm9yKHI9Ry0xO24uVm5bcl09PT0wOylyLS07bi5WbltyXS0tO24uVm5bcisxXSs9MjtuLlZuW0ddLS07Ti09Mn13aGlsZShOPjApO2ZvcihyPUc7ciE9PTA7ci0tKWZvcihIPW4uVm5bcl07SCE9PTA7KWI9bi5oZWFwWy0tV10sCmI+THx8KGhbYioyKzFdIT09ciYmKG4uWFIrPShyLWhbYioyKzFdKSpoW2IqMl0saFtiKjIrMV09ciksSC0tKX1ZaihELHgsbi5Wbil9OwppQz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO1dbKEQrMSkqMisxXT02NTUzNTtmb3IoYj0wO2I8PUQ7YisrKXt2YXIgZT1rO2s9V1soYisxKSoyKzFdOysraDx4JiZlPT09a3x8KGg8TD9uLndoW2UqMl0rPWg6ZSE9PTA/KGUhPT12JiZuLndoW2UqMl0rKyxuLndoWzMyXSsrKTpoPD0xMD9uLndoWzM0XSsrOm4ud2hbMzZdKyssaD0wLHY9ZSxrPT09MD8oeD0xMzgsTD0zKTplPT09az8oeD02LEw9Myk6KHg9NyxMPTQpKX19Owp1Qz1mdW5jdGlvbihuLFcsRCl7dmFyIGIsdj0tMSxrPVdbMV0saD0wLHg9NyxMPTQ7az09PTAmJih4PTEzOCxMPTMpO2ZvcihiPTA7Yjw9RDtiKyspe3ZhciBlPWs7az1XWyhiKzEpKjIrMV07aWYoISgrK2g8eCYmZT09PWspKXtpZihoPEwpe2RvIE42KG4sZSxuLndoKTt3aGlsZSgtLWghPT0wKX1lbHNlIGUhPT0wPyhlIT09diYmKE42KG4sZSxuLndoKSxoLS0pLE42KG4sMTYsbi53aCkscyQobixoLTMsMikpOmg8PTEwPyhONihuLDE3LG4ud2gpLHMkKG4saC0zLDMpKTooTjYobiwxOCxuLndoKSxzJChuLGgtMTEsNykpO2g9MDt2PWU7az09PTA/KHg9MTM4LEw9Myk6ZT09PWs/KHg9NixMPTMpOih4PTcsTD00KX19fTsKQTR4PWZ1bmN0aW9uKG4pe3ZhciBXPTQwOTM2MjQ0NDcsRDtmb3IoRD0wO0Q8PTMxO0QrKyxXPj4+PTEpaWYoVyYxJiZuLmtHW0QqMl0hPT0wKXJldHVybiAwO2lmKG4ua0dbMThdIT09MHx8bi5rR1syMF0hPT0wfHxuLmtHWzI2XSE9PTApcmV0dXJuIDE7Zm9yKEQ9MzI7RDwyNTY7RCsrKWlmKG4ua0dbRCoyXSE9PTApcmV0dXJuIDE7cmV0dXJuIDB9OwpvUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47aWYoIShuKzQmNykpe0Q9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO3ZhciBrPWJbMF07YlswXT1iW0RdO2JbRF09azt2YXIgaD1bRF19KG4rOSY1KT09MSYmYltJWzNdXShiW0lbNV1dLDAsRCk7cmV0dXJuIGh9OwpkNz1mdW5jdGlvbihuLFcsRCl7bi5GQltuLkE4K24ud1gqMl09Vz4+PjgmMjU1O24uRkJbbi5BOCtuLndYKjIrMV09VyYyNTU7bi5GQltuLnRhK24ud1hdPUQmMjU1O24ud1grKztXPT09MD9uLmtHW0QqMl0rKzoobi5tYXRjaGVzKyssVy0tLG4ua0dbKEFrW0RdKzI1NisxKSoyXSsrLG4ubGZbKFc8MjU2P08kW1ddOk8kWzI1NisoVz4+PjcpXSkqMl0rKyk7cmV0dXJuIG4ud1g9PT1uLktYLTF9OwpsQz1mdW5jdGlvbihuLFcpe24ubXNnPXpCW1ddO3JldHVybiBXfTsKVEI9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW4ubGVuZ3RoOy0tVz49MDspbltXXT0wfTsKanY9ZnVuY3Rpb24obil7dmFyIFc9bi5zdGF0ZSxEPVcucGVuZGluZztEPm4udVImJihEPW4udVIpO0QhPT0wJiYoaGsuUDcobi5vdXRwdXQsVy5GQixXLmhSLEQsbi51Zyksbi51Zys9RCxXLmhSKz1ELG4udEIrPUQsbi51Ui09RCxXLnBlbmRpbmctPUQsVy5wZW5kaW5nPT09MCYmKFcuaFI9MCkpfTsKdzc9ZnVuY3Rpb24obixXKXt2YXIgRD1uLk9LPj0wP24uT0s6LTEsYj1uLnFzLW4uT0ssdj0wO2lmKG4ubGV2ZWw+MCl7bi5UUi5xUz09PTImJihuLlRSLnFTPUE0eChuKSk7RSQobixuLlFmKTtFJChuLG4uYVMpO2lDKG4sbi5rRyxuLlFmLnJPKTtpQyhuLG4ubGYsbi5hUy5yTyk7RSQobixuLm1NKTtmb3Iodj0xODt2Pj0zJiZuLndoW0NlW3ZdKjIrMV09PT0wO3YtLSk7bi5YUis9MyoodisxKSs1KzUrNDt2YXIgaz1uLlhSKzMrNz4+PjM7dmFyIGg9bi5UdiszKzc+Pj4zO2g8PWsmJihrPWgpfWVsc2Ugaz1oPWIrNTtpZihiKzQ8PWsmJkQhPT0tMSlzJChuLFc/MTowLDMpLEprKG4sRCxiKTtlbHNlIGlmKG4uc3RyYXRlZ3k9PT00fHxoPT09aylzJChuLDIrKFc/MTowKSwzKSxVJChuLEJTLEY5KTtlbHNle3MkKG4sNCsoVz8xOjApLDMpO0Q9bi5RZi5yTysxO2I9bi5hUy5yTysxO3YrPTE7cyQobixELTI1Nyw1KTtzJChuLGItMSw1KTtzJChuLHYtNCw0KTtmb3Ioaz0wO2s8djtrKyspcyQobiwKbi53aFtDZVtrXSoyKzFdLDMpO3VDKG4sbi5rRyxELTEpO3VDKG4sbi5sZixiLTEpO1UkKG4sbi5rRyxuLmxmKX1IUyhuKTtXJiZmZShuKTtuLk9LPW4ucXM7anYobi5UUil9OwpNNj1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVd9OwpSUz1mdW5jdGlvbihuLFcpe24uRkJbbi5wZW5kaW5nKytdPVc+Pj44JjI1NTtuLkZCW24ucGVuZGluZysrXT1XJjI1NX07ClF0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5lYixiPW4ucXMsdj1uLlRhLGs9bi5PUixoPW4ucXM+bi54ci0yNjI/bi5xcy0obi54ci0yNjIpOjAseD1uLndpbmRvdyxMPW4ueWUsZT1uLlJULEc9bi5xcysyNTgscj14W2Irdi0xXSxOPXhbYit2XTtuLlRhPj1uLnIkJiYoRD4+PTIpO2s+bi5HVyYmKGs9bi5HVyk7ZG97dmFyIEg9VztpZih4W0grdl09PT1OJiZ4W0grdi0xXT09PXImJnhbSF09PT14W2JdJiZ4WysrSF09PT14W2IrMV0pe2IrPTI7Zm9yKEgrKzt4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmeFsrK2JdPT09eFsrK0hdJiZ4WysrYl09PT14WysrSF0mJnhbKytiXT09PXhbKytIXSYmYjxHOyk7SD0yNTgtKEctYik7Yj1HLTI1ODtpZihIPnYpe24uUVo9Vzt2PUg7aWYoSD49aylicmVhaztyPXhbYit2LTFdO049eFtiK3ZdfX19d2hpbGUoKFc9ZVtXJkxdKT5oJiYtLUQhPT0KMCk7cmV0dXJuIHY8PW4uR1c/djpuLkdXfTsKYVM9ZnVuY3Rpb24obil7dmFyIFc9bi54cixEO2Rve3ZhciBiPW4uYlgtbi5HVy1uLnFzO2lmKG4ucXM+PVcrKFctMjYyKSl7aGsuUDcobi53aW5kb3csbi53aW5kb3csVyxXLDApO24uUVotPVc7bi5xcy09VztuLk9LLT1XO3ZhciB2PUQ9bi5BeTtkb3t2YXIgaz1uLmhlYWRbLS12XTtuLmhlYWRbdl09az49Vz9rLVc6MH13aGlsZSgtLUQpO3Y9RD1XO2RvIGs9bi5SVFstLXZdLG4uUlRbdl09az49Vz9rLVc6MDt3aGlsZSgtLUQpO2IrPVd9aWYobi5UUi5CQT09PTApYnJlYWs7dj1uLlRSO0Q9bi53aW5kb3c7az1uLnFzK24uR1c7dmFyIGg9di5CQTtoPmImJihoPWIpO2g9PT0wP0Q9MDoodi5CQS09aCxoay5QNyhELHYuaW5wdXQsdi5VWixoLGspLHYuc3RhdGUud3JhcD09PTE/di5nST1WdCh2LmdJLEQsaCxrKTp2LnN0YXRlLndyYXA9PT0yJiYodi5nST1jUyh2LmdJLEQsaCxrKSksdi5VWis9aCx2LkVtKz1oLEQ9aCk7bi5HVys9RDtpZihuLkdXK24ucXA+PTMpZm9yKGI9bi5xcy1uLnFwLApuLnBBPW4ud2luZG93W2JdLG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYisxXSkmbi5sQjtuLnFwJiYhKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbYiszLTFdKSZuLmxCLG4uUlRbYiZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPWIsYisrLG4ucXAtLSxuLkdXK24ucXA8Myk7KTt9d2hpbGUobi5HVzwyNjImJm4uVFIuQkEhPT0wKX07Cm53PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO0QhPT0wJiZuLnFzLUQ8PW4ueHItMjYyJiYobi5mQT1RdChuLEQpKTtpZihuLmZBPj0zKWlmKEQ9ZDcobixuLnFzLW4uUVosbi5mQS0zKSxuLkdXLT1uLmZBLG4uZkE8PW4uUmImJm4uR1c+PTMpe24uZkEtLTtkbyBuLnFzKyssbi5wQT0obi5wQTw8bi5IY15uLndpbmRvd1tuLnFzKzMtMV0pJm4ubEIsbi5SVFtuLnFzJm4ueWVdPW4uaGVhZFtuLnBBXSxuLmhlYWRbbi5wQV09bi5xczt3aGlsZSgtLW4uZkEhPT0wKTtuLnFzKyt9ZWxzZSBuLnFzKz1uLmZBLG4uZkE9MCxuLnBBPW4ud2luZG93W24ucXNdLG4ucEE9KG4ucEE8PG4uSGNeCm4ud2luZG93W24ucXMrMV0pJm4ubEI7ZWxzZSBEPWQ3KG4sMCxuLndpbmRvd1tuLnFzXSksbi5HVy0tLG4ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9bi5xczwyP24ucXM6MjtyZXR1cm4gVz09PTQ/KHc3KG4sITApLG4uVFIudVI9PT0wPzM6NCk6bi53WCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKT8xOjJ9OwpXVj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRCxiOzspe2lmKG4uR1c8MjYyKXthUyhuKTtpZihuLkdXPDI2MiYmVz09PTApcmV0dXJuIDE7aWYobi5HVz09PTApYnJlYWt9RD0wO24uR1c+PTMmJihuLnBBPShuLnBBPDxuLkhjXm4ud2luZG93W24ucXMrMy0xXSkmbi5sQixEPW4uUlRbbi5xcyZuLnllXT1uLmhlYWRbbi5wQV0sbi5oZWFkW24ucEFdPW4ucXMpO24uVGE9bi5mQTtuLkx2PW4uUVo7bi5mQT0yO0QhPT0wJiZuLlRhPG4uUmImJm4ucXMtRDw9bi54ci0yNjImJihuLmZBPVF0KG4sRCksbi5mQTw9NSYmKG4uc3RyYXRlZ3k9PT0xfHxuLmZBPT09MyYmbi5xcy1uLlFaPjQwOTYpJiYobi5mQT0yKSk7aWYobi5UYT49MyYmbi5mQTw9bi5UYSl7Yj1uLnFzK24uR1ctMztEPWQ3KG4sbi5xcy0xLW4uTHYsbi5UYS0zKTtuLkdXLT1uLlRhLTE7bi5UYS09Mjtkbysrbi5xczw9YiYmKG4ucEE9KG4ucEE8PG4uSGNebi53aW5kb3dbbi5xcyszLTFdKSZuLmxCLG4uUlRbbi5xcyZuLnllXT0Kbi5oZWFkW24ucEFdLG4uaGVhZFtuLnBBXT1uLnFzKTt3aGlsZSgtLW4uVGEhPT0wKTtuLlJGPTA7bi5mQT0yO24ucXMrKztpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfWVsc2UgaWYobi5SRil7aWYoKEQ9ZDcobiwwLG4ud2luZG93W24ucXMtMV0pKSYmdzcobiwhMSksbi5xcysrLG4uR1ctLSxuLlRSLnVSPT09MClyZXR1cm4gMX1lbHNlIG4uUkY9MSxuLnFzKyssbi5HVy0tfW4uUkYmJihkNyhuLDAsbi53aW5kb3dbbi5xcy0xXSksbi5SRj0wKTtuLnFwPW4ucXM8Mj9uLnFzOjI7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKbXhqPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBELGIsdixrPW4ud2luZG93Ozspe2lmKG4uR1c8PTI1OCl7YVMobik7aWYobi5HVzw9MjU4JiZXPT09MClyZXR1cm4gMTtpZihuLkdXPT09MClicmVha31uLmZBPTA7aWYobi5HVz49MyYmbi5xcz4wJiYoYj1uLnFzLTEsRD1rW2JdLEQ9PT1rWysrYl0mJkQ9PT1rWysrYl0mJkQ9PT1rWysrYl0pKXtmb3Iodj1uLnFzKzI1ODtEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZEPT09a1srK2JdJiZiPHY7KTtuLmZBPTI1OC0odi1iKTtuLmZBPm4uR1cmJihuLmZBPW4uR1cpfW4uZkE+PTM/KEQ9ZDcobiwxLG4uZkEtMyksbi5HVy09bi5mQSxuLnFzKz1uLmZBLG4uZkE9MCk6KEQ9ZDcobiwwLG4ud2luZG93W24ucXNdKSxuLkdXLS0sbi5xcysrKTtpZihEJiYodzcobiwhMSksbi5UUi51Uj09PTApKXJldHVybiAxfW4ucXA9MDtyZXR1cm4gVz09PQo0Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKS3hVPWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEOzspe2lmKG4uR1c9PT0wJiYoYVMobiksbi5HVz09PTApKXtpZihXPT09MClyZXR1cm4gMTticmVha31uLmZBPTA7RD1kNyhuLDAsbi53aW5kb3dbbi5xc10pO24uR1ctLTtuLnFzKys7aWYoRCYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7cmV0dXJuIFc9PT00Pyh3NyhuLCEwKSxuLlRSLnVSPT09MD8zOjQpOm4ud1gmJih3NyhuLCExKSxuLlRSLnVSPT09MCk/MToyfTsKREU9ZnVuY3Rpb24obixXLEQsYix2KXt0aGlzLm5rPW47dGhpcy5ZOD1XO3RoaXMuRWs9RDt0aGlzLlNSPWI7dGhpcy5mdW5jPXZ9OwpPMGk9ZnVuY3Rpb24oKXt0aGlzLlRSPW51bGw7dGhpcy5zdGF0dXM9MDt0aGlzLkZCPW51bGw7dGhpcy53cmFwPXRoaXMucGVuZGluZz10aGlzLmhSPXRoaXMueXY9MDt0aGlzLkZRPW51bGw7dGhpcy5HST0wO3RoaXMubWV0aG9kPTg7dGhpcy5obz0tMTt0aGlzLnllPXRoaXMuclo9dGhpcy54cj0wO3RoaXMud2luZG93PW51bGw7dGhpcy5iWD0wO3RoaXMuaGVhZD10aGlzLlJUPW51bGw7dGhpcy5PUj10aGlzLnIkPXRoaXMuc3RyYXRlZ3k9dGhpcy5sZXZlbD10aGlzLlJiPXRoaXMuZWI9dGhpcy5UYT10aGlzLkdXPXRoaXMuUVo9dGhpcy5xcz10aGlzLlJGPXRoaXMuTHY9dGhpcy5mQT10aGlzLk9LPXRoaXMuSGM9dGhpcy5sQj10aGlzLll2PXRoaXMuQXk9dGhpcy5wQT0wO3RoaXMua0c9bmV3IGhrLm1LKDExNDYpO3RoaXMubGY9bmV3IGhrLm1LKDEyMik7dGhpcy53aD1uZXcgaGsubUsoNzgpO1RCKHRoaXMua0cpO1RCKHRoaXMubGYpO1RCKHRoaXMud2gpO3RoaXMubU09dGhpcy5hUz0KdGhpcy5RZj1udWxsO3RoaXMuVm49bmV3IGhrLm1LKDE2KTt0aGlzLmhlYXA9bmV3IGhrLm1LKDU3Myk7VEIodGhpcy5oZWFwKTt0aGlzLk80PXRoaXMuVW49MDt0aGlzLmRlcHRoPW5ldyBoay5tSyg1NzMpO1RCKHRoaXMuZGVwdGgpO3RoaXMuWUg9dGhpcy5SSj10aGlzLnFwPXRoaXMubWF0Y2hlcz10aGlzLlR2PXRoaXMuWFI9dGhpcy5BOD10aGlzLndYPXRoaXMuS1g9dGhpcy50YT0wfTsKUHAxPWZ1bmN0aW9uKG4sVyl7aWYoIW58fCFuLnN0YXRlfHxXPjV8fFc8MClyZXR1cm4gbj9sQyhuLC0yKTotMjt2YXIgRD1uLnN0YXRlO2lmKCFuLm91dHB1dHx8IW4uaW5wdXQmJm4uQkEhPT0wfHxELnN0YXR1cz09PTY2NiYmVyE9PTQpcmV0dXJuIGxDKG4sbi51Uj09PTA/LTU6LTIpO0QuVFI9bjt2YXIgYj1ELmhvO0QuaG89VztpZihELnN0YXR1cz09PTQyKWlmKEQud3JhcD09PTIpbi5nST0wLE02KEQsMzEpLE02KEQsMTM5KSxNNihELDgpLEQuRlE/KE02KEQsKEQuRlEudGV4dD8xOjApKyhELkZRLnZMPzI6MCkrKEQuRlEuZXh0cmE/NDowKSsoRC5GUS5uYW1lPzg6MCkrKEQuRlEuY29tbWVudD8xNjowKSksTTYoRCxELkZRLnRpbWUmMjU1KSxNNihELEQuRlEudGltZT4+OCYyNTUpLE02KEQsRC5GUS50aW1lPj4xNiYyNTUpLE02KEQsRC5GUS50aW1lPj4yNCYyNTUpLE02KEQsRC5sZXZlbD09PTk/MjpELnN0cmF0ZWd5Pj0yfHxELmxldmVsPDI/NDowKSxNNihELEQuRlEub3MmCjI1NSksRC5GUS5leHRyYSYmRC5GUS5leHRyYS5sZW5ndGgmJihNNihELEQuRlEuZXh0cmEubGVuZ3RoJjI1NSksTTYoRCxELkZRLmV4dHJhLmxlbmd0aD4+OCYyNTUpKSxELkZRLnZMJiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLDApKSxELkdJPTAsRC5zdGF0dXM9NjkpOihNNihELDApLE02KEQsMCksTTYoRCwwKSxNNihELDApLE02KEQsMCksTTYoRCxELmxldmVsPT09OT8yOkQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj80OjApLE02KEQsMyksRC5zdGF0dXM9MTEzKTtlbHNle3ZhciB2PTgrKEQuclotODw8NCk8PDg7dnw9KEQuc3RyYXRlZ3k+PTJ8fEQubGV2ZWw8Mj8wOkQubGV2ZWw8Nj8xOkQubGV2ZWw9PT02PzI6Myk8PDY7RC5xcyE9PTAmJih2fD0zMik7RC5zdGF0dXM9MTEzO1JTKEQsdisoMzEtdiUzMSkpO0QucXMhPT0wJiYoUlMoRCxuLmdJPj4+MTYpLFJTKEQsbi5nSSY2NTUzNSkpO24uZ0k9MX1pZihELnN0YXR1cz09PTY5KWlmKEQuRlEuZXh0cmEpe2Zvcih2PQpELnBlbmRpbmc7RC5HSTwoRC5GUS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoRC5wZW5kaW5nIT09RC55dnx8KEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZyE9PUQueXYpKTspTTYoRCxELkZRLmV4dHJhW0QuR0ldJjI1NSksRC5HSSsrO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO0QuR0k9PT1ELkZRLmV4dHJhLmxlbmd0aCYmKEQuR0k9MCxELnN0YXR1cz03Myl9ZWxzZSBELnN0YXR1cz03MztpZihELnN0YXR1cz09PTczKWlmKEQuRlEubmFtZSl7dj1ELnBlbmRpbmc7ZG97aWYoRC5wZW5kaW5nPT09RC55diYmKEQuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpLGp2KG4pLHY9RC5wZW5kaW5nLEQucGVuZGluZz09PUQueXYpKXt2YXIgaz0xO2JyZWFrfWs9RC5HSTxELkZRLm5hbWUubGVuZ3RoPwpELkZRLm5hbWUuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5HST0wLEQuc3RhdHVzPTkxKX1lbHNlIEQuc3RhdHVzPTkxO2lmKEQuc3RhdHVzPT09OTEpaWYoRC5GUS5jb21tZW50KXt2PUQucGVuZGluZztkb3tpZihELnBlbmRpbmc9PT1ELnl2JiYoRC5GUS52TCYmRC5wZW5kaW5nPnYmJihuLmdJPWNTKG4uZ0ksRC5GQixELnBlbmRpbmctdix2KSksanYobiksdj1ELnBlbmRpbmcsRC5wZW5kaW5nPT09RC55dikpe2s9MTticmVha31rPUQuR0k8RC5GUS5jb21tZW50Lmxlbmd0aD9ELkZRLmNvbW1lbnQuY2hhckNvZGVBdChELkdJKyspJjI1NTowO002KEQsayl9d2hpbGUoayE9PTApO0QuRlEudkwmJkQucGVuZGluZz52JiYobi5nST1jUyhuLmdJLEQuRkIsRC5wZW5kaW5nLXYsdikpO2s9PT0wJiYoRC5zdGF0dXM9MTAzKX1lbHNlIEQuc3RhdHVzPQoxMDM7RC5zdGF0dXM9PT0xMDMmJihELkZRLnZMPyhELnBlbmRpbmcrMj5ELnl2JiZqdihuKSxELnBlbmRpbmcrMjw9RC55diYmKE02KEQsbi5nSSYyNTUpLE02KEQsbi5nST4+OCYyNTUpLG4uZ0k9MCxELnN0YXR1cz0xMTMpKTpELnN0YXR1cz0xMTMpO2lmKEQucGVuZGluZyE9PTApe2lmKGp2KG4pLG4udVI9PT0wKXJldHVybiBELmhvPS0xLDB9ZWxzZSBpZihuLkJBPT09MCYmKFc8PDEpLShXPjQ/OTowKTw9KGI8PDEpLShiPjQ/OTowKSYmVyE9PTQpcmV0dXJuIGxDKG4sLTUpO2lmKEQuc3RhdHVzPT09NjY2JiZuLkJBIT09MClyZXR1cm4gbEMobiwtNSk7aWYobi5CQSE9PTB8fEQuR1chPT0wfHxXIT09MCYmRC5zdGF0dXMhPT02NjYpe2I9RC5zdHJhdGVneT09PTI/S3hVKEQsVyk6RC5zdHJhdGVneT09PTM/bXhqKEQsVyk6YndbRC5sZXZlbF0uZnVuYyhELFcpO2lmKGI9PT0zfHxiPT09NClELnN0YXR1cz02NjY7aWYoYj09PTF8fGI9PT0zKXJldHVybiBuLnVSPT09MCYmKEQuaG89Ci0xKSwwO2lmKGI9PT0yJiYoVz09PTE/KHMkKEQsMiwzKSxONihELDI1NixCUyksRC5ZSD09PTE2PyhyNyhELEQuUkopLEQuUko9MCxELllIPTApOkQuWUg+PTgmJihELkZCW0QucGVuZGluZysrXT1ELlJKJjI1NSxELlJKPj49OCxELllILT04KSk6VyE9PTUmJihzJChELDAsMyksSmsoRCwwLDApLFc9PT0zJiYoVEIoRC5oZWFkKSxELkdXPT09MCYmKEQucXM9MCxELk9LPTAsRC5xcD0wKSkpLGp2KG4pLG4udVI9PT0wKSlyZXR1cm4gRC5obz0tMSwwfWlmKFchPT00KXJldHVybiAwO2lmKEQud3JhcDw9MClyZXR1cm4gMTtELndyYXA9PT0yPyhNNihELG4uZ0kmMjU1KSxNNihELG4uZ0k+PjgmMjU1KSxNNihELG4uZ0k+PjE2JjI1NSksTTYoRCxuLmdJPj4yNCYyNTUpLE02KEQsbi5FbSYyNTUpLE02KEQsbi5FbT4+OCYyNTUpLE02KEQsbi5FbT4+MTYmMjU1KSxNNihELG4uRW0+PjI0JjI1NSkpOihSUyhELG4uZ0k+Pj4xNiksUlMoRCxuLmdJJjY1NTM1KSk7anYobik7RC53cmFwPjAmJgooRC53cmFwPS1ELndyYXApO3JldHVybiBELnBlbmRpbmchPT0wPzA6MX07CnZWPWZ1bmN0aW9uKG4pe2lmKCEodGhpcyBpbnN0YW5jZW9mIHZWKSlyZXR1cm4gbmV3IHZWKG4pO249dGhpcy5vcHRpb25zPWhrLmFzc2lnbih7bGV2ZWw6LTEsbWV0aG9kOjgsY2h1bmtTaXplOjE2Mzg0LHRnOjE1LEJrOjgsc3RyYXRlZ3k6MCx0bzoiIn0sbnx8e30pO24ucmF3JiZuLnRnPjA/bi50Zz0tbi50ZzpuLkJUJiZuLnRnPjAmJm4udGc8MTYmJihuLnRnKz0xNik7dGhpcy5lcnI9MDt0aGlzLm1zZz0iIjt0aGlzLmVuZGVkPSExO3RoaXMuY2h1bmtzPVtdO3RoaXMuVFI9bmV3IGtmO3RoaXMuVFIudVI9MDt2YXIgVz10aGlzLlRSO3ZhciBEPW4ubGV2ZWwsYj1uLm1ldGhvZCx2PW4udGcsaz1uLkJrLGg9bi5zdHJhdGVneTtpZihXKXt2YXIgeD0xO0Q9PT0tMSYmKEQ9Nik7djwwPyh4PTAsdj0tdik6dj4xNSYmKHg9Mix2LT0xNik7aWYoazwxfHxrPjl8fGIhPT04fHx2PDh8fHY+MTV8fEQ8MHx8RD45fHxoPDB8fGg+NClXPWxDKFcsLTIpO2Vsc2V7dj09PTgmJih2PTkpO3ZhciBMPQpuZXcgTzBpO1cuc3RhdGU9TDtMLlRSPVc7TC53cmFwPXg7TC5GUT1udWxsO0wuclo9djtMLnhyPTE8PEwuclo7TC55ZT1MLnhyLTE7TC5Zdj1rKzc7TC5BeT0xPDxMLll2O0wubEI9TC5BeS0xO0wuSGM9fn4oKEwuWXYrMy0xKS8zKTtMLndpbmRvdz1uZXcgaGsuT20oTC54cioyKTtMLmhlYWQ9bmV3IGhrLm1LKEwuQXkpO0wuUlQ9bmV3IGhrLm1LKEwueHIpO0wuS1g9MTw8ays2O0wueXY9TC5LWCo0O0wuRkI9bmV3IGhrLk9tKEwueXYpO0wuQTg9MSpMLktYO0wudGE9MypMLktYO0wubGV2ZWw9RDtMLnN0cmF0ZWd5PWg7TC5tZXRob2Q9YjtpZihXJiZXLnN0YXRlKXtXLkVtPVcudEI9MDtXLnFTPTI7RD1XLnN0YXRlO0QucGVuZGluZz0wO0QuaFI9MDtELndyYXA8MCYmKEQud3JhcD0tRC53cmFwKTtELnN0YXR1cz1ELndyYXA/NDI6MTEzO1cuZ0k9RC53cmFwPT09Mj8wOjE7RC5obz0wO2lmKCFocil7Yj1BcnJheSgxNik7Zm9yKGs9aD0wO2s8Mjg7aysrKWZvcihLZVtrXT1oLHY9MDt2PAoxPDxtJFtrXTt2KyspQWtbaCsrXT1rO0FrW2gtMV09aztmb3Ioaz1oPTA7azwxNjtrKyspZm9yKFpRW2tdPWgsdj0wO3Y8MTw8UFNba107disrKU8kW2grK109aztmb3IoaD4+PTc7azwzMDtrKyspZm9yKFpRW2tdPWg8PDcsdj0wO3Y8MTw8UFNba10tNzt2KyspTyRbMjU2K2grK109aztmb3Iodj0wO3Y8PTE1O3YrKyliW3ZdPTA7Zm9yKHY9MDt2PD0xNDM7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7Zm9yKDt2PD0yNTU7KUJTW3YqMisxXT05LHYrKyxiWzldKys7Zm9yKDt2PD0yNzk7KUJTW3YqMisxXT03LHYrKyxiWzddKys7Zm9yKDt2PD0yODc7KUJTW3YqMisxXT04LHYrKyxiWzhdKys7WWooQlMsMjg3LGIpO2Zvcih2PTA7djwzMDt2KyspRjlbdioyKzFdPTUsRjlbdioyXT1wZSh2LDUpO3hmPW5ldyBldihCUyxtJCwyNTcsMjg2LDE1KTtMdz1uZXcgZXYoRjksUFMsMCwzMCwxNSk7ZUg9bmV3IGV2KFtdLFowdywwLDE5LDcpO2hyPSEwfUQuUWY9bmV3IHRrKEQua0cseGYpO0QuYVM9Cm5ldyB0ayhELmxmLEx3KTtELm1NPW5ldyB0ayhELndoLGVIKTtELlJKPTA7RC5ZSD0wO0hTKEQpO0Q9MH1lbHNlIEQ9bEMoVywtMik7RD09PTAmJihXPVcuc3RhdGUsVy5iWD0yKlcueHIsVEIoVy5oZWFkKSxXLlJiPWJ3W1cubGV2ZWxdLlk4LFcuciQ9YndbVy5sZXZlbF0ubmssVy5PUj1id1tXLmxldmVsXS5FayxXLmViPWJ3W1cubGV2ZWxdLlNSLFcucXM9MCxXLk9LPTAsVy5HVz0wLFcucXA9MCxXLmZBPVcuVGE9MixXLlJGPTAsVy5wQT0wKTtXPUR9fWVsc2UgVz0tMjtpZihXIT09MCl0aHJvdyBFcnJvcih6QltXXSk7bi5oZWFkZXImJihXPXRoaXMuVFIpJiZXLnN0YXRlJiZXLnN0YXRlLndyYXA9PT0yJiYoVy5zdGF0ZS5GUT1uLmhlYWRlcik7aWYobi5Dbyl7dmFyIGU7dHlwZW9mIG4uQ289PT0ic3RyaW5nIj9lPXhqKG4uQ28pOmcyLmNhbGwobi5Dbyk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2U9bmV3IFVpbnQ4QXJyYXkobi5Dbyk6ZT1uLkNvO249dGhpcy5UUjtrPWU7aD0Kay5sZW5ndGg7aWYobiYmbi5zdGF0ZSlpZihlPW4uc3RhdGUsVz1lLndyYXAsVz09PTJ8fFc9PT0xJiZlLnN0YXR1cyE9PTQyfHxlLkdXKVc9LTI7ZWxzZXtXPT09MSYmKG4uZ0k9VnQobi5nSSxrLGgsMCkpO2Uud3JhcD0wO2g+PWUueHImJihXPT09MCYmKFRCKGUuaGVhZCksZS5xcz0wLGUuT0s9MCxlLnFwPTApLEQ9bmV3IGhrLk9tKGUueHIpLGhrLlA3KEQsayxoLWUueHIsZS54ciwwKSxrPUQsaD1lLnhyKTtEPW4uQkE7Yj1uLlVaO3Y9bi5pbnB1dDtuLkJBPWg7bi5VWj0wO24uaW5wdXQ9aztmb3IoYVMoZSk7ZS5HVz49Mzspe2s9ZS5xcztoPWUuR1ctMjtkbyBlLnBBPShlLnBBPDxlLkhjXmUud2luZG93W2srMy0xXSkmZS5sQixlLlJUW2smZS55ZV09ZS5oZWFkW2UucEFdLGUuaGVhZFtlLnBBXT1rLGsrKzt3aGlsZSgtLWgpO2UucXM9aztlLkdXPTI7YVMoZSl9ZS5xcys9ZS5HVztlLk9LPWUucXM7ZS5xcD1lLkdXO2UuR1c9MDtlLmZBPWUuVGE9MjtlLlJGPTA7bi5VWj1iO24uaW5wdXQ9CnY7bi5CQT1EO2Uud3JhcD1XO1c9MH1lbHNlIFc9LTI7aWYoVyE9PTApdGhyb3cgRXJyb3IoekJbV10pO3RoaXMuWGg9ITB9fTsKWCQ9ZnVuY3Rpb24obil7dmFyIFc9V3x8e307Vy5CVD0hMDtXPW5ldyB2VihXKTtXLnB1c2gobiwhMCk7aWYoVy5lcnIpdGhyb3cgVy5tc2d8fHpCW1cuZXJyXTtyZXR1cm4gVy5yZXN1bHR9OwpxTj1mdW5jdGlvbiguLi5uKXtyZXR1cm4gbi5sZW5ndGg9PT0wP1c9Plc6bi5sZW5ndGg9PT0xP25bMF06bi5yZWR1Y2UoKFcsRCk9PiguLi5iKT0+VyhEKC4uLmIpKSl9OwpVeGo9ZnVuY3Rpb24oKXt2YXIgbj1bXTtyZXR1cm4gVz0+KEQsYik9PntEPVcoRCxiKTt2YXIgdj0oKT0+e3Rocm93IEVycm9yKCJEaXNwYXRjaGluZyB3aGlsZSBjb25zdHJ1Y3RpbmcgeW91ciBtaWRkbGV3YXJlIGlzIG5vdCBhbGxvd2VkLiBPdGhlciBtaWRkbGV3YXJlIHdvdWxkIG5vdCBiZSBhcHBsaWVkIHRvIHRoaXMgZGlzcGF0Y2guIik7fSxrPXtnZXRTdGF0ZTpELmdldFN0YXRlLApkaXNwYXRjaDooaCwuLi54KT0+dihoLC4uLngpfTsKYj1uLm1hcChoPT5oKGspKTsKdj1xTiguLi5iKShELmRpc3BhdGNoKTtyZXR1cm57Li4uRCxkaXNwYXRjaDp2fX19Owp5NDI9ZnVuY3Rpb24obil7T2JqZWN0LmtleXMobikuZm9yRWFjaChXPT57dmFyIEQ9bltXXTtpZih0eXBlb2YgRCh2b2lkIDAse3R5cGU6R2R9KT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKGBUaGUgc2xpY2UgcmVkdWNlciBmb3Iga2V5ICIke1d9IiByZXR1cm5lZCB1bmRlZmluZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLiBJZiB0aGUgc3RhdGUgcGFzc2VkIHRvIHRoZSByZWR1Y2VyIGlzIHVuZGVmaW5lZCwgeW91IG11c3QgZXhwbGljaXRseSByZXR1cm4gdGhlIGluaXRpYWwgc3RhdGUuIFRoZSBpbml0aWFsIHN0YXRlIG1heSBub3QgYmUgdW5kZWZpbmVkLiBJZiB5b3UgZG9uJ3Qgd2FudCB0byBzZXQgYSB2YWx1ZSBmb3IgdGhpcyByZWR1Y2VyLCB5b3UgY2FuIHVzZSBudWxsIGluc3RlYWQgb2YgdW5kZWZpbmVkLmApO2lmKHR5cGVvZiBEKHZvaWQgMCx7dHlwZTpgQEByZWR1eC9QUk9CRV9VTktOT1dOX0FDVElPTiR7dHIoKX1gfSk9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcihgVGhlIHNsaWNlIHJlZHVjZXIgZm9yIGtleSAiJHtXfSIgcmV0dXJuZWQgdW5kZWZpbmVkIHdoZW4gcHJvYmVkIHdpdGggYSByYW5kb20gdHlwZS4gRG9uJ3QgdHJ5IHRvIGhhbmRsZSAnJHtHZH0nIG9yIG90aGVyIGFjdGlvbnMgaW4gInJlZHV4LyoiIG5hbWVzcGFjZS4gVGhleSBhcmUgY29uc2lkZXJlZCBwcml2YXRlLiBJbnN0ZWFkLCB5b3UgbXVzdCByZXR1cm4gdGhlIGN1cnJlbnQgc3RhdGUgZm9yIGFueSB1bmtub3duIGFjdGlvbnMsIHVubGVzcyBpdCBpcyB1bmRlZmluZWQsIGluIHdoaWNoIGNhc2UgeW91IG11c3QgcmV0dXJuIHRoZSBpbml0aWFsIHN0YXRlLCByZWdhcmRsZXNzIG9mIHRoZSBhY3Rpb24gdHlwZS4gVGhlIGluaXRpYWwgc3RhdGUgbWF5IG5vdCBiZSB1bmRlZmluZWQsIGJ1dCBjYW4gYmUgbnVsbC5gKTsKfSl9OwokZj1mdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuZ2V0U3RhdGUoKSB3aGlsZSB0aGUgcmVkdWNlciBpcyBleGVjdXRpbmcuIFRoZSByZWR1Y2VyIGhhcyBhbHJlYWR5IHJlY2VpdmVkIHRoZSBzdGF0ZSBhcyBhbiBhcmd1bWVudC4gUGFzcyBpdCBkb3duIGZyb20gdGhlIHRvcCByZWR1Y2VyIGluc3RlYWQgb2YgcmVhZGluZyBpdCBmcm9tIHRoZSBzdG9yZS4iKTtyZXR1cm4geH0KZnVuY3Rpb24gdihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59J2ApO2lmKEcpdGhyb3cgRXJyb3IoIllvdSBtYXkgbm90IGNhbGwgc3RvcmUuc3Vic2NyaWJlKCkgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBJZiB5b3Ugd291bGQgbGlrZSB0byBiZSBub3RpZmllZCBhZnRlciB0aGUgc3RvcmUgaGFzIGJlZW4gdXBkYXRlZCwgc3Vic2NyaWJlIGZyb20gYSBjb21wb25lbnQgYW5kIGludm9rZSBzdG9yZS5nZXRTdGF0ZSgpIGluIHRoZSBjYWxsYmFjayB0byBhY2Nlc3MgdGhlIGxhdGVzdCBzdGF0ZS4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL2FwaS9zdG9yZSNzdWJzY3JpYmVsaXN0ZW5lciBmb3IgbW9yZSBkZXRhaWxzLiIpO3ZhciBIPSEwO2U9PT1MJiYoZT1MLnNsaWNlKCkpO2UucHVzaChOKTtyZXR1cm4gZnVuY3Rpb24oKXtpZihIKXtpZihHKXRocm93IEVycm9yKCJZb3UgbWF5IG5vdCB1bnN1YnNjcmliZSBmcm9tIGEgc3RvcmUgbGlzdGVuZXIgd2hpbGUgdGhlIHJlZHVjZXIgaXMgZXhlY3V0aW5nLiBTZWUgaHR0cHM6Ly9yZWR1eC5qcy5vcmcvYXBpL3N0b3JlI3N1YnNjcmliZWxpc3RlbmVyIGZvciBtb3JlIGRldGFpbHMuIik7Ckg9ITE7ZT09PUwmJihlPUwuc2xpY2UoKSk7ZS5zcGxpY2UoZS5pbmRleE9mKE4pLDEpO0w9bnVsbH19fQpmdW5jdGlvbiBrKE4pe2lmKHR5cGVvZiBOIT09Im9iamVjdCJ8fE49PT1udWxsKXZhciBIPSExO2Vsc2V7Zm9yKEg9TjtPYmplY3QuZ2V0UHJvdG90eXBlT2YoSCkhPT1udWxsOylIPU9iamVjdC5nZXRQcm90b3R5cGVPZihIKTtIPU9iamVjdC5nZXRQcm90b3R5cGVPZihOKT09PUh9aWYoIUgpdGhyb3cgRXJyb3IoYEFjdGlvbnMgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBJbnN0ZWFkLCB0aGUgYWN0dWFsIHR5cGUgd2FzOiAnJHt0eXBlb2YgTn0nLiBZb3UgbWF5IG5lZWQgdG8gYWRkIG1pZGRsZXdhcmUgdG8geW91ciBzdG9yZSBzZXR1cCB0byBoYW5kbGUgZGlzcGF0Y2hpbmcgb3RoZXIgdmFsdWVzLCBzdWNoIGFzICdyZWR1eC10aHVuaycgdG8gaGFuZGxlIGRpc3BhdGNoaW5nIGZ1bmN0aW9ucy4gU2VlIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC00LXN0b3JlI21pZGRsZXdhcmUgYW5kIGh0dHBzOi8vcmVkdXguanMub3JnL3R1dG9yaWFscy9mdW5kYW1lbnRhbHMvcGFydC02LWFzeW5jLWxvZ2ljI3VzaW5nLXRoZS1yZWR1eC10aHVuay1taWRkbGV3YXJlIGZvciBleGFtcGxlcy5gKTsKaWYodHlwZW9mIE4udHlwZT09PSJ1bmRlZmluZWQiKXRocm93IEVycm9yKCdBY3Rpb25zIG1heSBub3QgaGF2ZSBhbiB1bmRlZmluZWQgInR5cGUiIHByb3BlcnR5LiBZb3UgbWF5IGhhdmUgbWlzc3BlbGxlZCBhbiBhY3Rpb24gdHlwZSBzdHJpbmcgY29uc3RhbnQuJyk7aWYoRyl0aHJvdyBFcnJvcigiUmVkdWNlcnMgbWF5IG5vdCBkaXNwYXRjaCBhY3Rpb25zLiIpO3RyeXtHPSEwLHg9aCh4LE4pfWZpbmFsbHl7Rz0hMX1IPUw9ZTtmb3IobGV0IEE9MDtBPEgubGVuZ3RoO0ErKykoMCxIW0FdKSgpO3JldHVybiBOfQppZih0eXBlb2YgVz09PSJmdW5jdGlvbiImJnR5cGVvZiBEPT09ImZ1bmN0aW9uInx8dHlwZW9mIEQ9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgYXJndW1lbnRzWzNdPT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSXQgbG9va3MgbGlrZSB5b3UgYXJlIHBhc3Npbmcgc2V2ZXJhbCBzdG9yZSBlbmhhbmNlcnMgdG8gY3JlYXRlU3RvcmUoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBJbnN0ZWFkLCBjb21wb3NlIHRoZW0gdG9nZXRoZXIgdG8gYSBzaW5nbGUgZnVuY3Rpb24uIFNlZSBodHRwczovL3JlZHV4LmpzLm9yZy90dXRvcmlhbHMvZnVuZGFtZW50YWxzL3BhcnQtNC1zdG9yZSNjcmVhdGluZy1hLXN0b3JlLXdpdGgtZW5oYW5jZXJzIGZvciBhbiBleGFtcGxlLiIpO3R5cGVvZiBXPT09ImZ1bmN0aW9uIiYmdHlwZW9mIEQ9PT0idW5kZWZpbmVkIiYmKEQ9VyxXPXZvaWQgMCk7aWYodHlwZW9mIEQhPT0idW5kZWZpbmVkIil7aWYodHlwZW9mIEQhPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgZW5oYW5jZXIgdG8gYmUgYSBmdW5jdGlvbi4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBEfSdgKTsKcmV0dXJuIEQoJGYpKG4sVyl9aWYodHlwZW9mIG4hPT0iZnVuY3Rpb24iKXRocm93IEVycm9yKGBFeHBlY3RlZCB0aGUgcm9vdCByZWR1Y2VyIHRvIGJlIGEgZnVuY3Rpb24uIEluc3RlYWQsIHJlY2VpdmVkOiAnJHt0eXBlb2Ygbn0nYCk7dmFyIGg9bix4PVcsTD1bXSxlPUwsRz0hMTtrKHt0eXBlOkdkfSk7dmFyIHI9e2Rpc3BhdGNoOmssc3Vic2NyaWJlOnYsZ2V0U3RhdGU6YixyZXBsYWNlUmVkdWNlcjpmdW5jdGlvbihOKXtpZih0eXBlb2YgTiE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoYEV4cGVjdGVkIHRoZSBuZXh0UmVkdWNlciB0byBiZSBhIGZ1bmN0aW9uLiBJbnN0ZWFkLCByZWNlaXZlZDogJyR7dHlwZW9mIE59YCk7aD1OO2soe3R5cGU6RUtDfSk7cmV0dXJuIHJ9LApbcjJdOmZ1bmN0aW9uKCl7cmV0dXJue3N1YnNjcmliZShOKXtmdW5jdGlvbiBIKCl7Ti5uZXh0JiZOLm5leHQoYigpKX0KaWYodHlwZW9mIE4hPT0ib2JqZWN0Inx8Tj09PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdGhlIG9ic2VydmVyIHRvIGJlIGFuIG9iamVjdC4gSW5zdGVhZCwgcmVjZWl2ZWQ6ICcke3R5cGVvZiBOfSdgKTtIKCk7cmV0dXJue3Vuc3Vic2NyaWJlOnYoSCl9fSxbcjJdKCl7cmV0dXJuIHRoaXN9fX19OwpyZXR1cm4gcn07Ck5OPWZ1bmN0aW9uKG4pe3JldHVybiBuPyhuPW4ucHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlU2FmZVNjcmlwdFdyYXBwZWRWYWx1ZSk/bWMobik6bnVsbDpudWxsfTsKcHc9ZnVuY3Rpb24obil7cmV0dXJuIG4/KG49bi5wcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUpP2szKG4pOm51bGw6bnVsbH07CmcuSFY9ZnVuY3Rpb24obil7bj1ZZihuKTtyZXR1cm4gZy5ITShuKX07CmZ3PWZ1bmN0aW9uKG4pe249WWYobik7cmV0dXJuIGszKG4pfTsKWWY9ZnVuY3Rpb24obil7cmV0dXJuIG49PT1udWxsPyJudWxsIjpuPT09dm9pZCAwPyJ1bmRlZmluZWQiOm59OwpKcj1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIn07CmcuU0g9ZnVuY3Rpb24oLi4ubil7bj1hcmd1bWVudHM7dmFyIFc9SUU7bi5sZW5ndGg+MT9XW25bMF1dPW5bMV06bi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKFcsblswXSl9OwpnLkFyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4gaW4gSUU/SUVbbl06V307Cm15PWZ1bmN0aW9uKG4pe3ZhciBXPUlFLkVYUEVSSU1FTlRfRkxBR1M7cmV0dXJuIFc/V1tuXTp2b2lkIDB9OwppMGI9ZnVuY3Rpb24obil7S3cuZm9yRWFjaChXPT5XKG4pKX07ClBWPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZ3aW5kb3cueXRlcnI/ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG4uYXBwbHkodGhpcyxhcmd1bWVudHMpfWNhdGNoKFcpe090KFcpfX06bn07Ck90PWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO1c/VyhuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk6KFc9Zy5BcigiRVJST1JTIixbXSksVy5wdXNoKFtuLCJFUlJPUiIsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMF0pLGcuU0goIkVSUk9SUyIsVykpO2kwYihuKX07ClpFPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9Zy5ycigieXQubG9nZ2luZy5lcnJvcnMubG9nIik7az9rKG4sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2KTooaz1nLkFyKCJFUlJPUlMiLFtdKSxrLnB1c2goW24sIldBUk5JTkciLFcsRCxiLHZvaWQgMCx2XSksZy5TSCgiRVJST1JTIixrKSl9Owp5Rj1mdW5jdGlvbihuLFcpe1c9bi5zcGxpdChXKTt2YXIgRD17fTtmb3IobGV0IGs9MCxoPVcubGVuZ3RoO2s8aDtrKyspe2xldCB4PVdba10uc3BsaXQoIj0iKTtpZih4Lmxlbmd0aD09PTEmJnhbMF18fHgubGVuZ3RoPT09Mil0cnl7bGV0IEw9VXQoeFswXXx8IiIpLGU9VXQoeFsxXXx8IiIpO2lmKEwgaW4gRCl7bGV0IEc9RFtMXTtBcnJheS5pc0FycmF5KEcpP2cuUTIoRyxlKTpEW0xdPVtHLGVdfWVsc2UgRFtMXT1lfWNhdGNoKEwpe3ZhciBiPUwsdj14WzBdO2xldCBlPVN0cmluZyh5Rik7Yi5hcmdzPVt7a2V5OnYsdmFsdWU6eFsxXSxxdWVyeTpuLG1ldGhvZDp1UWg9PT1lPyJ1bmNoYW5nZWQiOmV9XTtvS2kuaGFzT3duUHJvcGVydHkodil8fFpFKGIpfX1yZXR1cm4gRH07CmcuRXQ9ZnVuY3Rpb24obil7dmFyIFc9W107Zy5hXyhuLChELGIpPT57dmFyIHY9cWgoYik7Zy55MihBcnJheS5pc0FycmF5KEQpP0Q6W0RdLGs9PntrPT0iIj9XLnB1c2godik6Vy5wdXNoKGAke3Z9PSR7cWgoayl9YCl9KX0pOwpyZXR1cm4gVy5qb2luKCImIil9OwpnLml3PWZ1bmN0aW9uKG4pe24uY2hhckF0KDApPT09Ij8iJiYobj1uLnN1YnN0cmluZygxKSk7cmV0dXJuIHlGKG4sIiYiKX07CnV3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNwbGl0KCIsIikubWFwKFc9PmcuaXcoVykpfTsKZy5vRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCI/IikhPT0tMT8obj0obnx8IiIpLnNwbGl0KCIjIilbMF0sbj1uLnNwbGl0KCI/IiwyKSxnLml3KG4ubGVuZ3RoPjE/blsxXTpuWzBdKSk6e319OwpnLnpkPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGQyKG4sV3x8e30sITApfTsKZy5sdz1mdW5jdGlvbihuLFcpe3JldHVybiBkMihuLFd8fHt9LCExKX07CmQyPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLnNwbGl0KCIjIiwyKTtuPWJbMF07Yj1iLmxlbmd0aD4xPyIjIitiWzFdOiIiO3ZhciB2PW4uc3BsaXQoIj8iLDIpO249dlswXTt2PWcuaXcodlsxXXx8IiIpO2ZvcihsZXQgayBpbiBXKWlmKER8fCFnLmVwKHYsaykpdltrXT1XW2tdO3JldHVybiBnLkVUKG4sdikrYn07CmcuVGQ9ZnVuY3Rpb24obil7aWYoIVcpdmFyIFc9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIEQ9Zy5mcChuKVsxXXx8bnVsbCxiPWcuSVAobik7RCYmYj8obj1nLmZwKG4pLFc9Zy5mcChXKSxuPW5bM109PVdbM10mJm5bMV09PVdbMV0mJm5bNF09PVdbNF0pOm49Yj9nLklQKFcpPT09YiYmKE51bWJlcihnLmZwKFcpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKGcuZnAobilbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gbn07Cmcuakg9ZnVuY3Rpb24obil7bnx8KG49ZG9jdW1lbnQubG9jYXRpb24uaHJlZik7bj1nLmZwKG4pWzFdfHxudWxsO3JldHVybiBuIT09bnVsbCYmbj09PSJodHRwcyJ9OwpnLkJWPWZ1bmN0aW9uKG4pe249Q3cobik7cmV0dXJuIG49PT1udWxsPyExOm5bMF09PT0iY29tIiYmblsxXS5tYXRjaCgvXnlvdXR1YmUoPzpraWRzfC1ub2Nvb2tpZSk/JC8pPyEwOiExfTsKZy5GJD1mdW5jdGlvbihuKXtuPUN3KG4pO3JldHVybiBuPT09bnVsbD8hMTpuWzFdPT09Imdvb2dsZSI/ITA6blsyXT09PSJnb29nbGUiP25bMF09PT0iYXUiJiZuWzFdPT09ImNvbSI/ITA6blswXT09PSJ1ayImJm5bMV09PT0iY28iPyEwOiExOiExfTsKQ3c9ZnVuY3Rpb24obil7bj1nLklQKG4pO3JldHVybiBuIT09bnVsbD9uLnNwbGl0KCIuIikucmV2ZXJzZSgpOm51bGx9OwpVdD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmbi5tYXRjaChkeGkpP246RzUobil9OwpnLk1OPWZ1bmN0aW9uKG4pe2E6e2xldCBEO3RyeXtEPW4uTi50b3AubG9jYXRpb24uaHJlZn1jYXRjaChiKXtuPTI7YnJlYWsgYX1uPUQ/RD09PW4uSi5sb2NhdGlvbi5ocmVmPzA6MToyfW49e2R0OnpDdyxmbGFzaDoiMCIsZnJtOm59O3RyeXtuLnVfdHo9LShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKTt0cnl7dmFyIFc9Zy53Mi5oaXN0b3J5Lmxlbmd0aH1jYXRjaChEKXtXPTB9bi51X2hpcz1XO24udV9oPWcudzIuc2NyZWVuPy5oZWlnaHQ7bi51X3c9Zy53Mi5zY3JlZW4/LndpZHRoO24udV9haD1nLncyLnNjcmVlbj8uYXZhaWxIZWlnaHQ7bi51X2F3PWcudzIuc2NyZWVuPy5hdmFpbFdpZHRoO24udV9jZD1nLncyLnNjcmVlbj8uY29sb3JEZXB0aH1jYXRjaChEKXt9cmV0dXJuIG59OwpnLlFGPWZ1bmN0aW9uKG49SnIoKSl7dmFyIFc9Zy5SRSxEPU9iamVjdCxiPUQuYXNzaWduLHY9Zy5NTihXKTt2YXIgaz1XLk47dHJ5e3ZhciBoPWsuc2NyZWVuWDt2YXIgeD1rLnNjcmVlbll9Y2F0Y2goVCl7fXRyeXt2YXIgTD1rLm91dGVyV2lkdGg7dmFyIGU9ay5vdXRlckhlaWdodH1jYXRjaChUKXt9dHJ5e3ZhciBHPWsuaW5uZXJXaWR0aDt2YXIgcj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIE49ay5zY3JlZW5MZWZ0O3ZhciBIPWsuc2NyZWVuVG9wfWNhdGNoKFQpe310cnl7Rz1rLmlubmVyV2lkdGgscj1rLmlubmVySGVpZ2h0fWNhdGNoKFQpe310cnl7dmFyIEE9ay5zY3JlZW4uYXZhaWxXaWR0aDt2YXIgeT1rLnNjcmVlbi5hdmFpbFRvcH1jYXRjaChUKXt9az1bTixILGgseCxBLHksTCxlLEcscl07aD1nLnNJKCExLFcuTi50b3ApO3g9bmV3IGxYcjsiU1ZHRWxlbWVudCJpbiBnLnFpJiYiY3JlYXRlRWxlbWVudE5TImluIGcucWkuZG9jdW1lbnQmJnguc2V0KDApOwpMPVRUcigpO0xbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZ4LnNldCgxKTtMWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmeC5zZXQoMik7Zy5xaS5jcnlwdG8mJmcucWkuY3J5cHRvLnN1YnRsZSYmeC5zZXQoMyk7IlRleHREZWNvZGVyImluIGcucWkmJiJUZXh0RW5jb2RlciJpbiBnLnFpJiZ4LnNldCg0KTtXPXtiYzpOV2goeCksYmloOmguaGVpZ2h0LGJpdzpoLndpZHRoLGJyZGltOmsuam9pbigpLHZpczpnLk53KFcuSiksd2dsOiEhZy53Mi5XZWJHTFJlbmRlcmluZ0NvbnRleHR9O0Q9Yi5jYWxsKEQsdixXKTtELmNhX3R5cGU9ImltYWdlIjtuJiYoRC5iaWQ9bik7cmV0dXJuIER9OwpUVzI9ZnVuY3Rpb24oKXtpZighVkYpcmV0dXJuIG51bGw7dmFyIG49VkYoKTtyZXR1cm4ib3BlbiJpbiBuP246bnVsbH07CmFFPWZ1bmN0aW9uKG4pe3N3aXRjaChjVihuKSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDM6Y2FzZSAyMDQ6Y2FzZSAyMDU6Y2FzZSAyMDY6Y2FzZSAzMDQ6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19OwpjVj1mdW5jdGlvbihuKXtyZXR1cm4gbiYmInN0YXR1cyJpbiBuP24uc3RhdHVzOi0xfTsKZy5uJD1mdW5jdGlvbihuLFcpe3R5cGVvZiBuPT09ImZ1bmN0aW9uIiYmKG49UFYobikpO3JldHVybiB3aW5kb3cuc2V0VGltZW91dChuLFcpfTsKVzA9ZnVuY3Rpb24obixXKXt0eXBlb2Ygbj09PSJmdW5jdGlvbiImJihuPVBWKG4pKTtyZXR1cm4gd2luZG93LnNldEludGVydmFsKG4sVyl9OwpEcj1mdW5jdGlvbihuKXt3aW5kb3cuY2xlYXJJbnRlcnZhbChuKX07CmcubD1mdW5jdGlvbihuLFcpe249YmIobixXKTtyZXR1cm4gdHlwZW9mIG49PT0ic3RyaW5nIiYmbj09PSJmYWxzZSI/ITE6ISFufTsKdjA9ZnVuY3Rpb24obixXKXtyZXR1cm4gTnVtYmVyKGJiKG4sVyl8fDApfTsKa1Q9ZnVuY3Rpb24oKXtyZXR1cm4gZy5BcigiRVhQRVJJTUVOVFNfVE9LRU4iLCIiKX07CmJiPWZ1bmN0aW9uKG4sVyl7bj1nLkFyKCJFWFBFUklNRU5UX0ZMQUdTIix7fSlbbl07cmV0dXJuIG4hPT12b2lkIDA/bjpXfTsKaHk9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPWcuQXIoIkVYUEVSSU1FTlRTX0ZPUkNFRF9GTEFHUyIse30pO2Zvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhXKSluLnB1c2goe2tleTpELHZhbHVlOlN0cmluZyhXW0RdKX0pO0Q9Zy5BcigiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgYiBvZiBPYmplY3Qua2V5cyhEKSliLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZXW2JdPT09dm9pZCAwJiZuLnB1c2goe2tleTpiLHZhbHVlOlN0cmluZyhEW2JdKX0pO3JldHVybiBufTsKeFQ9ZnVuY3Rpb24obixXLEQ9IkdFVCIsYj0iIix2LGssaCx4PSExLEwpe3ZhciBlPVRXMigpO2lmKCFlKXJldHVybiBudWxsO3ZhciBHPSgpPT57KGUmJiJyZWFkeVN0YXRlImluIGU/ZS5yZWFkeVN0YXRlOjApPT09NCYmVyYmUFYoVykoZSl9Owoib25sb2FkZW5kImluIGU/ZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixHLCExKTplLm9ucmVhZHlzdGF0ZWNoYW5nZT1HO2cubCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYobj1qMloobikpO2Uub3BlbihELG4sITApO2smJihlLnJlc3BvbnNlVHlwZT1rKTtoJiYoZS53aXRoQ3JlZGVudGlhbHM9ITApO0Q9RD09PSJQT1NUIiYmKHdpbmRvdy5Gb3JtRGF0YT09PXZvaWQgMHx8IShiIGluc3RhbmNlb2YgRm9ybURhdGEpKTtpZih2PUNwTShuLHYpKWZvcihsZXQgciBpbiB2KWUuc2V0UmVxdWVzdEhlYWRlcihyLHZbcl0pLCJjb250ZW50LXR5cGUiPT09ci50b0xvd2VyQ2FzZSgpJiYoRD0hMSk7RCYmZS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTtMJiYib25wcm9ncmVzcyJpbiBlJiYoZS5vbnByb2dyZXNzPSgpPT57TChlLnJlc3BvbnNlVGV4dCl9KTsKaWYoeCYmInNldEF0dHJpYnV0aW9uUmVwb3J0aW5nImluIFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZSl7bj17ZXZlbnRTb3VyY2VFbGlnaWJsZTohMCx0cmlnZ2VyRWxpZ2libGU6ITF9O3RyeXtlLnNldEF0dHJpYnV0aW9uUmVwb3J0aW5nKG4pfWNhdGNoKHIpe1pFKHIpfX1lLnNlbmQoYik7cmV0dXJuIGV9OwpDcE09ZnVuY3Rpb24obixXPXt9KXt2YXIgRD1nLlRkKG4pLGI9Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIiksdj1nLmwoIndlYl9hamF4X2lnbm9yZV9nbG9iYWxfaGVhZGVyc19pZl9zZXQiKTtmb3IobGV0IHggaW4gTCQpe2xldCBMPWcuQXIoTCRbeF0pLGU9eD09PSJYLUdvb2ctQXV0aFVzZXIifHx4PT09IlgtR29vZy1QYWdlSWQiO3ghPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxMfHwoTD1nLkFyKCJWSVNJVE9SX0RBVEEiKSk7dmFyIGs7aWYoIShrPSFMKSl7aWYoIShrPUR8fChnLklQKG4pPyExOiEwKSkpe2s9bjt2YXIgaDtpZihoPWcubCgiYWRkX2F1dGhfaGVhZGVyc190b19yZW1hcmtldGluZ19nb29nbGVfZG90X2NvbV9waW5nIikmJng9PT0iQXV0aG9yaXphdGlvbiImJihiPT09IlRWSFRNTDUifHxiPT09IlRWSFRNTDVfVU5QTFVHR0VEInx8Yj09PSJUVkhUTUw1X1NJTVBMWSIpJiZnLkYkKGspKWs9UzEoayl8fCIiLGs9ay5zcGxpdCgiLyIpLGs9Ii8iKyhrLmxlbmd0aD4KMT9rWzFdOiIiKSxoPWs9PT0iL3BhZ2VhZCI7az1oPyEwOiExfWs9IWt9a3x8diYmV1t4XSE9PXZvaWQgMHx8Yj09PSJUVkhUTUw1X1VOUExVR0dFRCImJmV8fChXW3hdPUwpfSJYLUdvb2ctRU9NLVZpc2l0b3ItSWQiaW4gVyYmIlgtR29vZy1WaXNpdG9yLUlkImluIFcmJmRlbGV0ZSBXWyJYLUdvb2ctVmlzaXRvci1JZCJdO2lmKER8fCFnLklQKG4pKVdbIlgtWW91VHViZS1VdGMtT2Zmc2V0Il09U3RyaW5nKC0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO2lmKER8fCFnLklQKG4pKXtsZXQgeDt0cnl7eD0obmV3IEludGwuRGF0ZVRpbWVGb3JtYXQpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lfWNhdGNoe314JiYoV1siWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPXgpfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhRCYmZy5JUChuKXx8KFdbIlgtWW91VHViZS1BZC1TaWduYWxzIl09Zy5FdChnLlFGKCkpKTtyZXR1cm4gV307Cmc4PWZ1bmN0aW9uKG4sVyl7Vy5tZXRob2Q9IlBPU1QiO1cucG9zdFBhcmFtc3x8KFcucG9zdFBhcmFtcz17fSk7cmV0dXJuIGcuZWQobixXKX07CkJXaj1mdW5jdGlvbihuLFcpe2lmKHdpbmRvdy5mZXRjaCYmVy5mb3JtYXQhPT0iWE1MIil7dmFyIEQ9e21ldGhvZDpXLm1ldGhvZHx8IkdFVCIsY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn07Vy5oZWFkZXJzJiYoRC5oZWFkZXJzPVcuaGVhZGVycyk7Vy5wcmlvcml0eSYmKEQucHJpb3JpdHk9Vy5wcmlvcml0eSk7bj1YbihuLFcpO3ZhciBiPXFYKG4sVyk7YiYmKEQuYm9keT1iKTtXLndpdGhDcmVkZW50aWFscyYmKEQuY3JlZGVudGlhbHM9ImluY2x1ZGUiKTt2YXIgdj1XLmNvbnRleHR8fGcucWksaz0hMSxoO2ZldGNoKG4sRCkudGhlbih4PT57aWYoIWspe2s9ITA7aCYmd2luZG93LmNsZWFyVGltZW91dChoKTt2YXIgTD14Lm9rLGU9Rz0+e0c9R3x8e307TD9XLm9uU3VjY2VzcyYmVy5vblN1Y2Nlc3MuY2FsbCh2LEcseCk6Vy5vbkVycm9yJiZXLm9uRXJyb3IuY2FsbCh2LEcseCk7Vy5vbkZpbmlzaCYmVy5vbkZpbmlzaC5jYWxsKHYsRyx4KX07CihXLmZvcm1hdHx8IkpTT04iKT09PSJKU09OIiYmKEx8fHguc3RhdHVzPj00MDAmJnguc3RhdHVzPDUwMCk/eC5qc29uKCkudGhlbihlLCgpPT57ZShudWxsKX0pOmUobnVsbCl9fSkuY2F0Y2goKCk9PntXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKHYse30se30pfSk7Cm49Vy50aW1lb3V0fHwwO1cub25GZXRjaFRpbWVvdXQmJm4+MCYmKGg9Zy5uJCgoKT0+e2t8fChrPSEwLHdpbmRvdy5jbGVhclRpbWVvdXQoaCksVy5vbkZldGNoVGltZW91dC5jYWxsKFcuY29udGV4dHx8Zy5xaSkpfSxuKSl9ZWxzZSBnLmVkKG4sVyl9OwpnLmVkPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5mb3JtYXR8fCJKU09OIjtuPVhuKG4sVyk7dmFyIGI9cVgobixXKSx2PSExLGs9RngxKG4seD0+e2lmKCF2KXt2PSEwO2gmJndpbmRvdy5jbGVhclRpbWVvdXQoaCk7dmFyIEw9YUUoeCksZT1udWxsLEc9NDAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NTAwLHI9NTAwPD14LnN0YXR1cyYmeC5zdGF0dXM8NjAwO2lmKEx8fEd8fHIpZT13MjIobixELHgsVy5jb252ZXJ0VG9TYWZlSHRtbCk7TCYmKEw9TXVDKEQseCxlKSk7ZT1lfHx7fTtHPVcuY29udGV4dHx8Zy5xaTtMP1cub25TdWNjZXNzJiZXLm9uU3VjY2Vzcy5jYWxsKEcseCxlKTpXLm9uRXJyb3ImJlcub25FcnJvci5jYWxsKEcseCxlKTtXLm9uRmluaXNoJiZXLm9uRmluaXNoLmNhbGwoRyx4LGUpfX0sVy5tZXRob2QsYixXLmhlYWRlcnMsVy5yZXNwb25zZVR5cGUsVy53aXRoQ3JlZGVudGlhbHMsITEsVy5vblByb2dyZXNzKTsKYj1XLnRpbWVvdXR8fDA7aWYoVy5vblRpbWVvdXQmJmI+MCl7bGV0IHg9Vy5vblRpbWVvdXQ7dmFyIGg9Zy5uJCgoKT0+e3Z8fCh2PSEwLGsuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLHguY2FsbChXLmNvbnRleHR8fGcucWksaykpfSxiKX1yZXR1cm4ga307ClhuPWZ1bmN0aW9uKG4sVyl7Vy5pbmNsdWRlRG9tYWluJiYobj1kb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCsiLy8iK2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKyhkb2N1bWVudC5sb2NhdGlvbi5wb3J0PyI6Iitkb2N1bWVudC5sb2NhdGlvbi5wb3J0OiIiKStuKTt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKTtpZihXPVcudXJsUGFyYW1zKVdbRF0mJmRlbGV0ZSBXW0RdLG49Zy56ZChuLFcpO3JldHVybiBufTsKcVg9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkFyKCJYU1JGX0ZJRUxEX05BTUUiKSxiPWcuQXIoIlhTUkZfVE9LRU4iKSx2PVcucG9zdEJvZHl8fCIiLGs9Vy5wb3N0UGFyYW1zLGg9Zy5BcigiWFNSRl9GSUVMRF9OQU1FIikseDtXLmhlYWRlcnMmJih4PVcuaGVhZGVyc1siQ29udGVudC1UeXBlIl0pO1cuZXhjbHVkZVhzcmZ8fGcuSVAobikmJiFXLndpdGhDcmVkZW50aWFscyYmZy5JUChuKSE9PWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfHxXLm1ldGhvZCE9PSJQT1NUInx8eCYmeCE9PSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifHxXLnBvc3RQYXJhbXMmJlcucG9zdFBhcmFtc1toXXx8KGt8fChrPXt9KSxrW0RdPWIpO2smJnR5cGVvZiB2PT09InN0cmluZyImJih2PWcuaXcodiksZy5ZeSh2LGspLHY9Vy5wb3N0Qm9keUZvcm1hdCYmVy5wb3N0Qm9keUZvcm1hdD09PSJKU09OIj9KU09OLnN0cmluZ2lmeSh2KTp5Ryh2KSk7az12fHxrJiYhZy5HRihrKTshR1EmJgprJiZXLm1ldGhvZCE9PSJQT1NUIiYmKEdRPSEwLE90KEVycm9yKCJBSkFYIHJlcXVlc3Qgd2l0aCBwb3N0RGF0YSBzaG91bGQgdXNlIFBPU1QiKSkpO3JldHVybiB2fTsKdzIyPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW51bGw7c3dpdGNoKFcpe2Nhc2UgIkpTT04iOmxldCBrO3RyeXtrPUQucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGI9RXJyb3IoIkVycm9yIHJlYWRpbmcgcmVzcG9uc2VUZXh0IiksYi5wYXJhbXM9bixaRShiKSxoO31uPUQuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpfHwiIjtpZihrJiZuLmluZGV4T2YoImpzb24iKT49MCl7ay5zdWJzdHJpbmcoMCw1KT09PSIpXX0nXG4iJiYoaz1rLnN1YnN0cmluZyg1KSk7dHJ5e3Y9SlNPTi5wYXJzZShrKX1jYXRjaChoKXt9fWJyZWFrO2Nhc2UgIlhNTCI6aWYobj0obj1ELnJlc3BvbnNlWE1MKT9SQ1Uobik6bnVsbCl2PXt9LGcueTIobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLGg9Pnt2W2gudGFnTmFtZV09UTJpKGgpfSl9YiYmdHkodik7CnJldHVybiB2fTsKdHk9ZnVuY3Rpb24obil7aWYoZy5mdChuKSlmb3IobGV0IFcgaW4gbilXPT09Imh0bWxfY29udGVudCJ8fGcuQlooVywiX2h0bWwiKT9uW1ddPWcuSE0obltXXSk6dHkobltXXSl9OwpNdUM9ZnVuY3Rpb24obixXLEQpe2lmKFcmJlcuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChuKXtjYXNlICJKU09OIjpyZXR1cm4hIUQ7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKEQmJkQucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFEfX07ClJDVT1mdW5jdGlvbihuKXtyZXR1cm4gbj8obj0oInJlc3BvbnNlWE1MImluIG4/bi5yZXNwb25zZVhNTDpuKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicm9vdCIpKSYmbi5sZW5ndGg+MD9uWzBdOm51bGw6bnVsbH07ClEyaT1mdW5jdGlvbihuKXt2YXIgVz0iIjtnLnkyKG4uY2hpbGROb2RlcyxEPT57Vys9RC5ub2RlVmFsdWV9KTsKcmV0dXJuIFd9OwpqMlo9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxEPWcuSVAobik7Zy5sKCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IUQmJmcuVGQobikmJihEPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgYj1TMShuKTtiPShEPUQmJihELmVuZHNXaXRoKCJ5b3V0dWJlLmNvbSIpfHxELmVuZHNXaXRoKCJ5b3V0dWJlLW5vY29va2llLmNvbSIpKSkmJmImJmIuc3RhcnRzV2l0aCgiL2FwaS8iKTtpZighRHx8YilyZXR1cm4gbjt2YXIgdj1nLml3KFcpLGs9e307Zy55MihWdWIsaD0+e3ZbaF0mJihrW2hdPXZbaF0pfSk7CnJldHVybiBnLmx3KG4sayl9OwpnLnI4PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5zMChXKSxiO3JldHVybihuZXcgZy5YMSgodixrKT0+e0Qub25TdWNjZXNzPWg9PnthRShoKT92KG5ldyBjNFUoaCkpOmsobmV3IGcuJFQoYFJlcXVlc3QgZmFpbGVkLCBzdGF0dXM9JHtjVihoKX1gLCJuZXQuYmFkc3RhdHVzIixoKSl9OwpELm9uRXJyb3I9aD0+e2sobmV3IGcuJFQoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIixoKSl9OwpELm9uVGltZW91dD1oPT57ayhuZXcgZy4kVCgiUmVxdWVzdCB0aW1lZCBvdXQiLCJuZXQudGltZW91dCIsaCkpfTsKYj1nLmVkKG4sRCl9KSkuc1Aodj0+e3YgaW5zdGFuY2VvZiBnLkk1JiZiPy5hYm9ydCgpOwpyZXR1cm4gZy5ycCh2KX0pfTsKZy5zej1mdW5jdGlvbihuLFcsRCxiLHY9LTEsayl7dmFyIGg9TD0+bmV3IGcuWDEoZT0+e3NldFRpbWVvdXQoZSxMKX0pLHg9KEwsZSxHKT0+TC5zUChyPT57aWYoZTw9MHx8Y1Yoci54aHIpPT09NDAzKXJldHVybiBnLnJwKG5ldyBnLiRUKCJSZXF1ZXN0IHJldHJpZWQgdG9vIG1hbnkgdGltZXMiLCJuZXQucmV0cnlleGhhdXN0ZWQiLHIueGhyKSk7CnZhciBOPU1hdGgucG93KDIsRC1lKzEpKkcsSD12PjA/TWF0aC5taW4odixOKTpOO3JldHVybiBoKEcpLnRoZW4oKCk9PntrJiZrKHIsZS0xKTtyZXR1cm4geChnLnI4KG4sVyksZS0xLEgpfSl9KTsKcmV0dXJuIHgoZy5yOChuLFcpLEQtMSxiKX07CmFYQz1mdW5jdGlvbihuLFc9bnVsbCl7bi5XPTI7bi5KPVd9OwpuVXc9ZnVuY3Rpb24obixXPW51bGwpe24uVz0xO24uSj1XfTsKZy5wJD1mdW5jdGlvbihuPW51bGwpe3ZhciBXPW5ldyBOWDthWEMoVyxuKTtyZXR1cm4gV307CmcuSDA9ZnVuY3Rpb24obj1udWxsKXt2YXIgVz1uZXcgTlg7blV3KFcsbik7cmV0dXJuIFd9OwpJSz1mdW5jdGlvbihuLFcsRCxiPSJ5b3V0dWJlLmNvbSIsdj0hMSl7ZiR8fEp5LnNldCgiIituLFcse256OkQscGF0aDoiLyIsZG9tYWluOmIsc2VjdXJlOnZ9KX07CmcuU2Q9ZnVuY3Rpb24obil7aWYoIWYkKXJldHVybiBKeS5nZXQoIiIrbix2b2lkIDApfTsKQXk9ZnVuY3Rpb24obixXPSIvIixEPSJ5b3V0dWJlLmNvbSIpe2YkfHxKeS5yZW1vdmUoIiIrbixXLEQpfTsKZy5taj1mdW5jdGlvbigpe2lmKCFKeS5pc0VuYWJsZWQoKSlyZXR1cm4hMTtpZighSnkuaXNFbXB0eSgpKXJldHVybiEwO0p5LnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse256OjYwfSk7aWYoSnkuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTtKeS5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKZy53PWZ1bmN0aW9uKG4sVyl7aWYobilyZXR1cm4gbltXLm5hbWVdfTsKSyQ9ZnVuY3Rpb24obil7dmFyIFc9Zy5BcigiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiKTtXJiYobj1TdHJpbmcoVykrU3RyaW5nKG1XKG4pKSk7cmV0dXJuIG59OwpnWj1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1XXm47dmFyIGs7KG4tNSYxMyk9PTEmJihrPURbSVsxN11dP0RbSVsxN11dW0lbMzVdXShJWzYzXSk6RFtJWzI2XV09PT1JWzYzXSk7aWYoKG4+PjEmNyk9PTEpe3ZhciBoPVAwKHZeNjQ0MCx2XjEzODcsRCk7YltJW3ZeNjQyNF1dKElbdl42NDM3XSxoKTtrPVtdfShuJjEzKT09biYmYltJWzVdXSE9MCYmKGg9b1MoNCw3NjI0LEQsYiksRD1oWzBdKTtyZXR1cm4ga307ClpyPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2cubCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKFcucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIG49Zy5sdyhuLFcpfTsKVXo9ZnVuY3Rpb24obixXPSJQT1NUIil7bj17bWV0aG9kOlcsbW9kZTpnLlRkKG4pPyJzYW1lLW9yaWdpbiI6ImNvcnMiLGNyZWRlbnRpYWxzOmcuVGQobik/InNhbWUtb3JpZ2luIjoiaW5jbHVkZSJ9O1c9e307dmFyIEQ9e307Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKFcpKVdbYl0mJihEW2JdPVdbYl0pO09iamVjdC5rZXlzKEQpLmxlbmd0aD4wJiYobi5oZWFkZXJzPUQpO3JldHVybiBufTsKeUg9ZnVuY3Rpb24obixXPXt9KXtyZXR1cm5gc2VydmljZToke259LyR7T2JqZWN0LmtleXMoVykuc29ydCgpLm1hcChEPT5EKyI6IitXW0RdKS5qb2luKCIvIil9YH07CkV6PWZ1bmN0aW9uKCl7dmFyIG49L0Nocm9tZVwvKFxkKykvLmV4ZWMoZy5YUSgpKTtyZXR1cm4gbj9wYXJzZUZsb2F0KG5bMV0pOk5hTn07CmliPWZ1bmN0aW9uKCl7dmFyIG49L1xzQ29iYWx0XC8oXFMrKVxzLy5leGVjKGcuWFEoKSk7aWYoIW4pcmV0dXJuIE5hTjt2YXIgVz1bXTtmb3IobGV0IEQgb2YgblsxXS5zcGxpdCgiLiIpKW49cGFyc2VJbnQoRCwxMCksbj49MCYmVy5wdXNoKG4pO3JldHVybiBwYXJzZUZsb2F0KFcuam9pbigiLiIpKX07Cm9LPWZ1bmN0aW9uKCl7cmV0dXJuIGcudWIoImFuZHJvaWQiKSYmZy51YigiY2hyb21lIikmJiEoZy51YigidHJpZGVudC8iKXx8Zy51YigiZWRnZS8iKSkmJiFnLnViKCJjb2JhbHQiKX07CmcuZDg9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiY29iYWx0Iil9Owp6UT1mdW5jdGlvbigpe3JldHVybiBnLnViKCJjb2JhbHQiKSYmZy51YigiYXBwbGV0diIpfTsKbGI9ZnVuY3Rpb24oKXtyZXR1cm4gZy51YigiKHBzMzsgbGVhbmJhY2sgc2hlbGwpIil8fGcudWIoInBzMyIpJiZnLmQ4KCl9OwpUUT1mdW5jdGlvbigpe3JldHVybiBnLnViKCIocHM0OyBsZWFuYmFjayBzaGVsbCkiKXx8Zy51YigicHM0IikmJmcuZDgoKX07CmcuamQ9ZnVuY3Rpb24oKXtyZXR1cm4gZy5kOCgpJiYoZy51YigicHM0IHZyIil8fGcudWIoInBzNCBwcm8gdnIiKSl9OwpDJD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMCl9OwpCMD1mdW5jdGlvbigpe3ZhciBuPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKGcuWFEoKSk7cmV0dXJuISEobiYmcGFyc2VJbnQoblsxXSwxMCk+PTYwMil9OwpGbj1mdW5jdGlvbigpe3JldHVybiBnLnViKCJpZW1vYmlsZSIpfHxnLnViKCJ3aW5kb3dzIHBob25lIikmJmcudWIoImVkZ2UiKX07ClJLPWZ1bmN0aW9uKCl7cmV0dXJuKHc4fHxNWCkmJmcudWIoImFwcGxld2Via2l0IikmJiFnLnViKCJ2ZXJzaW9uIikmJighZy51Yigic2FmYXJpIil8fGcudWIoImdzYS8iKSl9OwpWSD1mdW5jdGlvbigpe3JldHVybiBnLlFIJiZnLnViKCJ2ZXJzaW9uLyIpfTsKYzA9ZnVuY3Rpb24oKXtyZXR1cm4gZy51Yigic21hcnQtdHYiKSYmZy51Yigic2Ftc3VuZyIpfTsKZy51Yj1mdW5jdGlvbihuKXt2YXIgVz1nLlhRKCk7cmV0dXJuIFc/Vy50b0xvd2VyQ2FzZSgpLmluZGV4T2Yobik+PTA6ITF9OwpnLmFLPWZ1bmN0aW9uKCl7cmV0dXJuIGo2KCl8fFJLKCl8fFZIKCk/ITA6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpPyExOiEwfTsKbnk9ZnVuY3Rpb24obixXKXtyZXR1cm4gVz09PXZvaWQgMHx8Vz09PW51bGw/bjpXPT09IjEifHxXPT09ITB8fFc9PT0xfHxXPT09IlRydWUiPyEwOiExfTsKV0I9ZnVuY3Rpb24obixXLEQpe2ZvcihsZXQgYiBpbiBEKWlmKERbYl09PVcpcmV0dXJuIERbYl07cmV0dXJuIG59OwpEST1mdW5jdGlvbihuLFcpe3JldHVybiBXPT09dm9pZCAwfHxXPT09bnVsbD9uOk51bWJlcihXKX07CmJPPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc9PT12b2lkIDB8fFc9PT1udWxsP246Vy50b1N0cmluZygpfTsKdkI9ZnVuY3Rpb24obixXKXtpZihXKXtpZihuPT09ImZ1bGx3aWR0aCIpcmV0dXJuIEluZmluaXR5O2lmKG49PT0iZnVsbGhlaWdodCIpcmV0dXJuIDB9cmV0dXJuIG4mJihXPW4ubWF0Y2goVzAxKSkmJihuPU51bWJlcihXWzJdKSxXPU51bWJlcihXWzFdKSwhaXNOYU4obikmJiFpc05hTihXKSYmbj4wKT9XL246TmFOfTsKa1I9ZnVuY3Rpb24obil7dmFyIFc9bi5kb2NpZHx8bi52aWRlb19pZHx8bi52aWRlb0lkfHxuLmlkO2lmKFcpcmV0dXJuIFc7Vz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7V3x8KG49bi5wbGF5ZXJfcmVzcG9uc2UpJiYoVz1KU09OLnBhcnNlKG4pKTtyZXR1cm4gVyYmVy52aWRlb0RldGFpbHMmJlcudmlkZW9EZXRhaWxzLnZpZGVvSWR8fG51bGx9OwpnLnhSPWZ1bmN0aW9uKG4pe3JldHVybiBoTyhuLCExKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwifTsKTHk9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9GSVhFRF9QTEFZQkFDS19MSU1JVCJ8fG49PT0iRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIj8hMDohMX07CmhPPWZ1bmN0aW9uKG4sVz0hMSl7Vz1XPyJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIjoiRU1CRURERURfUExBWUVSX01PREVfVU5LTk9XTiI7d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLmluY2x1ZGVzKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpJiYoVz0iRU1CRURERURfUExBWUVSX01PREVfUEZMIik7dmFyIEQ9bi5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFEJiYobj1uLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZSkpdHJ5e0Q9SlNPTi5wYXJzZShuKX1jYXRjaChiKXtyZXR1cm4gV31yZXR1cm4gRD9XQihXLEQuZW1iZWRkZWRQbGF5ZXJNb2RlLEQzMSk6V307CmI1dD1mdW5jdGlvbihuKXtuJiYobi5kYXRhc2V0P24uZGF0YXNldFtlXygpXT0idHJ1ZSI6cXd0KG4pKX07CmdKPWZ1bmN0aW9uKG4pe3JldHVybiBuP24uZGF0YXNldD9uLmRhdGFzZXRbZV8oKV06bi5nZXRBdHRyaWJ1dGUoImRhdGEtbG9hZGVkIik6bnVsbH07CmVfPWZ1bmN0aW9uKCl7cmV0dXJuIFhrLmxvYWRlZHx8KFhrLmxvYWRlZD0ibG9hZGVkIi5yZXBsYWNlKC9cLShbYS16XSkvZywobixXKT0+Vy50b1VwcGVyQ2FzZSgpKSl9OwpHMT1mdW5jdGlvbigpe3ZhciBuPWRvY3VtZW50O2lmKCJ2aXNpYmlsaXR5U3RhdGUiaW4gbilyZXR1cm4gbi52aXNpYmlsaXR5U3RhdGU7dmFyIFc9cTArIlZpc2liaWxpdHlTdGF0ZSI7aWYoVyBpbiBuKXJldHVybiBuW1ddfTsKdE89ZnVuY3Rpb24obixXKXt2YXIgRDtnLm9NKG4sYj0+e0Q9V1tiXTtyZXR1cm4hIUR9KTsKcmV0dXJuIER9OwokUj1mdW5jdGlvbihuKXtpZihuLnJlcXVlc3RGdWxsc2NyZWVuKW49bi5yZXF1ZXN0RnVsbHNjcmVlbih2b2lkIDApO2Vsc2UgaWYobi53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiluPW4ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ubW96UmVxdWVzdEZ1bGxTY3JlZW4pbj1uLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7ZWxzZSBpZihuLm1zUmVxdWVzdEZ1bGxzY3JlZW4pbj1uLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtlbHNlIGlmKG4ud2Via2l0RW50ZXJGdWxsc2NyZWVuKW49bi53ZWJraXRFbnRlckZ1bGxzY3JlZW4oKTtlbHNlIHJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiRnVsbHNjcmVlbiBBUEkgdW5hdmFpbGFibGUiKSk7cmV0dXJuIG4gaW5zdGFuY2VvZiBQcm9taXNlP246UHJvbWlzZS5yZXNvbHZlKCl9OwpOMD1mdW5jdGlvbihuKXt2YXIgVztnLnJKKCk/c1AoKT09biYmKFc9ZG9jdW1lbnQpOlc9bjtyZXR1cm4gVyYmKG49dE8oWyJleGl0RnVsbHNjcmVlbiIsIndlYmtpdEV4aXRGdWxsc2NyZWVuIiwibW96Q2FuY2VsRnVsbFNjcmVlbiIsIm1zRXhpdEZ1bGxzY3JlZW4iXSxXKSk/KFc9bi5jYWxsKFcpLFcgaW5zdGFuY2VvZiBQcm9taXNlP1c6UHJvbWlzZS5yZXNvbHZlKCkpOlByb21pc2UucmVzb2x2ZSgpfTsKdlUxPWZ1bmN0aW9uKG4pe3JldHVybiBnLmxfKFsiZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtb3pmdWxsc2NyZWVuY2hhbmdlIiwiTVNGdWxsc2NyZWVuQ2hhbmdlIl0sVz0+YG9uJHtXLnRvTG93ZXJDYXNlKCl9YGluIG4pfTsKZy5ySj1mdW5jdGlvbigpe3JldHVybiEhdE8oWyJmdWxsc2NyZWVuRW5hYmxlZCIsIndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkIiwibW96RnVsbFNjcmVlbkVuYWJsZWQiLCJtc0Z1bGxzY3JlZW5FbmFibGVkIl0sZG9jdW1lbnQpfTsKc1A9ZnVuY3Rpb24obj0hMSl7dmFyIFc9dE8oWyJmdWxsc2NyZWVuRWxlbWVudCIsIndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50IiwibW96RnVsbFNjcmVlbkVsZW1lbnQiLCJtc0Z1bGxzY3JlZW5FbGVtZW50Il0sZG9jdW1lbnQpO2lmKG4pZm9yKDtXJiZXLnNoYWRvd1Jvb3Q7KVc9Vy5zaGFkb3dSb290LmZ1bGxzY3JlZW5FbGVtZW50O3JldHVybiBXP1c6bnVsbH07CnB5PWZ1bmN0aW9uKG4pe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IFc9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDtuLk49bi5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO24uSj1uLmNsaWVudFkrV319OwprOWk9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5hZGRFdmVudExpc3RlbmVyJiYoVyE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P1chPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9XPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoVz0iTW96TW91c2VQaXhlbFNjcm9sbCIpOlc9Im1vdXNlb3V0IjpXPSJtb3VzZW92ZXIiKTtyZXR1cm4gZy5YTChnLllSLHY9Pnt2YXIgaz10eXBlb2Ygdls0XT09PSJib29sZWFuIiYmdls0XT09ISFiLGg9Zy5mdCh2WzRdKSYmZy5mdChiKSYmZy5ybSh2WzRdLGIpO3JldHVybiEhdi5sZW5ndGgmJnZbMF09PW4mJnZbMV09PVcmJnZbMl09PUQmJihrfHxoKX0pfTsKZy5JOT1mdW5jdGlvbihuLFcsRCxiPXt9KXtpZighbnx8IW4uYWRkRXZlbnRMaXN0ZW5lciYmIW4uYXR0YWNoRXZlbnQpcmV0dXJuIiI7dmFyIHY9azlpKG4sVyxELGIpO2lmKHYpcmV0dXJuIHY7dj0rK0hCLmNvdW50KyIiO3ZhciBrPSEoVyE9Im1vdXNlZW50ZXIiJiZXIT0ibW91c2VsZWF2ZSJ8fCFuLmFkZEV2ZW50TGlzdGVuZXJ8fCJvbm1vdXNlZW50ZXIiaW4gZG9jdW1lbnQpO3ZhciBoPWs/eD0+e3g9bmV3IGZ5KHgpO2lmKCFnLlJoKHgucmVsYXRlZFRhcmdldCxMPT5MPT1uLCEwKSlyZXR1cm4geC5jdXJyZW50VGFyZ2V0PW4seC50eXBlPVcsRC5jYWxsKG4seCl9Ong9Pnt4PW5ldyBmeSh4KTsKeC5jdXJyZW50VGFyZ2V0PW47cmV0dXJuIEQuY2FsbChuLHgpfTsKaD1QVihoKTtuLmFkZEV2ZW50TGlzdGVuZXI/KFc9PSJtb3VzZWVudGVyIiYmaz9XPSJtb3VzZW92ZXIiOlc9PSJtb3VzZWxlYXZlIiYmaz9XPSJtb3VzZW91dCI6Vz09Im1vdXNld2hlZWwiJiYiTW96Qm94U2l6aW5nImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmKFc9Ik1vek1vdXNlUGl4ZWxTY3JvbGwiKSxKTygpfHx0eXBlb2YgYj09PSJib29sZWFuIj9uLmFkZEV2ZW50TGlzdGVuZXIoVyxoLGIpOm4uYWRkRXZlbnRMaXN0ZW5lcihXLGgsISFiLmNhcHR1cmUpKTpuLmF0dGFjaEV2ZW50KGBvbiR7V31gLGgpO2cuWVJbdl09W24sVyxELGgsYl07cmV0dXJuIHZ9OwpnLlNfPWZ1bmN0aW9uKG4pe24mJih0eXBlb2Ygbj09InN0cmluZyImJihuPVtuXSksZy55MihuLFc9PntpZihXIGluIGcuWVIpe3ZhciBEPWcuWVJbV107bGV0IGI9RFswXSx2PURbMV0saz1EWzNdO0Q9RFs0XTtiLnJlbW92ZUV2ZW50TGlzdGVuZXI/Sk8oKXx8dHlwZW9mIEQ9PT0iYm9vbGVhbiI/Yi5yZW1vdmVFdmVudExpc3RlbmVyKHYsayxEKTpiLnJlbW92ZUV2ZW50TGlzdGVuZXIodixrLCEhRC5jYXB0dXJlKTpiLmRldGFjaEV2ZW50JiZiLmRldGFjaEV2ZW50KGBvbiR7dn1gLGspO2RlbGV0ZSBnLllSW1ddfX0pKX07CkFPPWZ1bmN0aW9uKG4pe249bnx8d2luZG93LmV2ZW50O3ZhciBXO24uY29tcG9zZWRQYXRoJiZ0eXBlb2Ygbi5jb21wb3NlZFBhdGg9PT0iZnVuY3Rpb24iP1c9bi5jb21wb3NlZFBhdGgoKTpXPW4ucGF0aDtXJiZXLmxlbmd0aD9uPVdbMF06KG49bnx8d2luZG93LmV2ZW50LG49bi50YXJnZXR8fG4uc3JjRWxlbWVudCxuLm5vZGVUeXBlPT0zJiYobj1uLnBhcmVudE5vZGUpKTtyZXR1cm4gbn07Cm1ZPWZ1bmN0aW9uKG4pe3RoaXMuSz1uO3RoaXMuTj1udWxsO3RoaXMuWD0wO3RoaXMuVj1udWxsO3RoaXMuaj0wO3RoaXMuSj1bXTtmb3Iobj0wO248NDtuKyspdGhpcy5KLnB1c2goMCk7dGhpcy5XPTA7dGhpcy5jSj1nLkk5KHdpbmRvdywibW91c2Vtb3ZlIiwoMCxnLkt0KSh0aGlzLkQsdGhpcykpO3RoaXMuWT1XMCgoMCxnLkt0KSh0aGlzLk8sdGhpcyksMjUpfTsKS3k9ZnVuY3Rpb24obixXLEQsYil7Zm9yKGxldCB2PTA7djxELmxlbmd0aDt2Kyspbi5OTihXLERbdl0sYil9OwpnLlBCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1EJiZEPjA/RDowO0Q9Yj9EYXRlLm5vdygpK2IqMUUzOjA7aWYoKGI9Yj9PUC5CcCgpOk9QLnFiKCkpJiZ3aW5kb3cuSlNPTil7dHlwZW9mIFchPT0ic3RyaW5nIiYmKFc9SlNPTi5zdHJpbmdpZnkoVyx2b2lkIDApKTt0cnl7Yi5zZXQobixXLEQpfWNhdGNoKHYpe2IucmVtb3ZlKG4pfX19OwpnLlpJPWZ1bmN0aW9uKG4pe3ZhciBXPU9QLnFiKCksRD1PUC5CcCgpO2lmKCFXJiYhRHx8IXdpbmRvdy5KU09OKXJldHVybiBudWxsO3RyeXt2YXIgYj1XLmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIil0cnl7Yj1ELmdldChuKX1jYXRjaCh2KXt9aWYodHlwZW9mIGIhPT0ic3RyaW5nIilyZXR1cm4gbnVsbDt0cnl7Yj1KU09OLnBhcnNlKGIsdm9pZCAwKX1jYXRjaCh2KXt9cmV0dXJuIGJ9OwpVUD1mdW5jdGlvbigpe3ZhciBuPU9QLkJwKCk7aWYobiYmKG49bi5NRCgieXQtcGxheWVyLXF1YWxpdHkiKSkpcmV0dXJuIG4uY3JlYXRpb259Owp5eD1mdW5jdGlvbigpe2lmKCFnLnFpLm1hdGNoTWVkaWEpcmV0dXJuIldFQl9ESVNQTEFZX01PREVfVU5LTk9XTiI7dHJ5e3JldHVybiBnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IG1pbmltYWwtdWkpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGZ1bGxzY3JlZW4pIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIjpnLnFpLm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChuKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwppTz1mdW5jdGlvbigpe0VQLmluc3RhbmNlfHwoRVAuaW5zdGFuY2U9bmV3IEVQKTtyZXR1cm4gRVAuaW5zdGFuY2V9OwpocWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFU0tUT1AiOnJldHVybiAxO2Nhc2UgIlVOS05PV05fUExBVEZPUk0iOnJldHVybiAwO2Nhc2UgIlRWIjpyZXR1cm4gMjtjYXNlICJHQU1FX0NPTlNPTEUiOnJldHVybiAzO2Nhc2UgIk1PQklMRSI6cmV0dXJuIDQ7Y2FzZSAiVEFCTEVUIjpyZXR1cm4gNX19OwpnLm85PWZ1bmN0aW9uKCl7dU98fCh1Tz1uZXcgeDNiKTtyZXR1cm4gdU99OwpkSj1mdW5jdGlvbihuKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1hdGNoOiAke259YCk7fTsKejE9ZnVuY3Rpb24obil7aWYoIS9eXHcrJC8udGVzdChuKSl0aHJvdyBFcnJvcihgRXhwZWN0ZWRSZWdleE1pc21hdGNoOiAke259YCk7fTsKVDE9ZnVuY3Rpb24obil7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChuKT9wYXJzZUludChuLDE2KTpudWxsfTsKal89ZnVuY3Rpb24oKXt2YXIgbj1nLnFpLm5hdmlnYXRvcjtyZXR1cm4gbj9uLmNvbm5lY3Rpb246dm9pZCAwfTsKQkI9ZnVuY3Rpb24oKXt2YXIgbj1qXygpO2lmKG4pe3ZhciBXPUN5W24udHlwZXx8InVua25vd24iXXx8IkNPTk5fVU5LTk9XTiI7bj1DeVtuLmVmZmVjdGl2ZVR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO1c9PT0iQ09OTl9DRUxMVUxBUl9VTktOT1dOIiYmbiE9PSJDT05OX1VOS05PV04iJiYoVz1uKTtpZihXIT09IkNPTk5fVU5LTk9XTiIpcmV0dXJuIFc7aWYobiE9PSJDT05OX1VOS05PV04iKXJldHVybiBufX07CndKPWZ1bmN0aW9uKCl7dmFyIG49al8oKTtpZihuPy5lZmZlY3RpdmVUeXBlKXJldHVybiBGay5oYXNPd25Qcm9wZXJ0eShuLmVmZmVjdGl2ZVR5cGUpP0ZrW24uZWZmZWN0aXZlVHlwZV06IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfVU5LTk9XTiJ9OwpSOT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gTTAoKSwhMH1jYXRjaChuKXtyZXR1cm4hMX19OwpNMD1mdW5jdGlvbigpe2lmKGcuQXIoIkRBVEFTWU5DX0lEIikhPT12b2lkIDApcmV0dXJuIGcuQXIoIkRBVEFTWU5DX0lEIik7dGhyb3cgbmV3IGcuUXgoIkRhdGFzeW5jIElEIG5vdCBzZXQiLCJ1bmtub3duIik7fTsKZy5jQj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIGcuVngoMCxXLDAsRCl9OwphOT1mdW5jdGlvbihuKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSW1tZWRpYXRlSm9iIik7Vz9XKG4pOm4oKX07CmcuRHk9ZnVuY3Rpb24oKXtXTi5pbnN0YW5jZXx8KFdOLmluc3RhbmNlPW5ldyBXTik7cmV0dXJuIFdOLmluc3RhbmNlfTsKZy5WeD1mdW5jdGlvbihuLFcsRCxiKXtiIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGIpKSYmKGI9dm9pZCAwKTtyZXR1cm4obj1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIikpP24oVyxELGIpOmI9PT12b2lkIDA/KFcoKSxOYU4pOmcubiQoVyxifHwwKX07CmJRPWZ1bmN0aW9uKG4pe3ZhciBXPWcucnIoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpO1cmJlcobil9OwprdT1mdW5jdGlvbigpe3JldHVybiB2TigpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTsKTEY9ZnVuY3Rpb24obil7aGN8fCh4dS5wdXNoKHt0eXBlOiJFUlJPUiIscGF5bG9hZDpufSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmVGPWZ1bmN0aW9uKG4sVyl7aGN8fCh4dS5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOm4scGF5bG9hZDpXfSkseHUubGVuZ3RoPjEwJiZ4dS5zaGlmdCgpKX07CmcwPWZ1bmN0aW9uKG4pe2lmKG4uaW5kZXhPZigiOiIpPj0wKXRocm93IEVycm9yKCJEYXRhYmFzZSBuYW1lIGNhbm5vdCBjb250YWluICc6JyIpO307ClhxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnN1YnN0cigwLG4uaW5kZXhPZigiOiIpKXx8bn07CiR1PWZ1bmN0aW9uKG4sVyxELGIpe1c9WHEoVyk7dmFyIHY9biBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYFVuZXhwZWN0ZWQgZXJyb3I6ICR7bn1gKTtpZih2IGluc3RhbmNlb2YgcUwpcmV0dXJuIHY7bj17b2JqZWN0U3RvcmVOYW1lczpELGRiTmFtZTpXLGRiVmVyc2lvbjpifTtpZih2Lm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yIilyZXR1cm4gbmV3IHFMKCJRVU9UQV9FWENFRURFRCIsbik7aWYoZy5HbiYmdi5uYW1lPT09IlVua25vd25FcnJvciIpcmV0dXJuIG5ldyBxTCgiUVVPVEFfTUFZQkVfRVhDRUVERUQiLG4pO2lmKHYgaW5zdGFuY2VvZiB0YylyZXR1cm4gbmV3IHFMKCJNSVNTSU5HX0lOREVYIix7Li4ubixvYmplY3RTdG9yZTp2Lm9iamVjdFN0b3JlLGluZGV4OnYuaW5kZXh9KTtpZih2Lm5hbWU9PT0iSW52YWxpZFN0YXRlRXJyb3IiJiZMMGkuc29tZShrPT52Lm1lc3NhZ2UuaW5jbHVkZXMoaykpKXJldHVybiBuZXcgcUwoIkVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCIiwKbik7CmlmKHYubmFtZT09PSJBYm9ydEVycm9yIilyZXR1cm4gbmV3IHFMKCJVTktOT1dOX0FCT1JUIixuLHYubWVzc2FnZSk7di5hcmdzPVt7Li4ubixuYW1lOiJJZGJFcnJvciIsYTc6di5uYW1lfV07di5sZXZlbD0iV0FSTklORyI7cmV0dXJuIHZ9OwpnLnIwPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1rdSgpO3JldHVybiBuZXcgcUwoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOm4scHVibGljTmFtZTpXLHZlcnNpb246RCxoYXNTdWNjZWVkZWRPbmNlOmI/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9OwplcTE9ZnVuY3Rpb24obil7aWYoIW4pdGhyb3cgRXJyb3IoKTt0aHJvdyBuO307CmdVcj1mdW5jdGlvbihuKXtyZXR1cm4gbn07CnBGPWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IkZVTEZJTExFRCIpdGhyb3cgRXJyb3IoImNhbGxpbmcgaGFuZGxlUmVzb2x2ZSBiZWZvcmUgdGhlIHByb21pc2UgaXMgZnVsZmlsbGVkLiIpO2xldCBrPUQobi5zdGF0ZS52YWx1ZSk7ayBpbnN0YW5jZW9mIHNSP05MKG4sVyxrLGIsdik6YihrKX1jYXRjaChrKXt2KGspfX07Cll1PWZ1bmN0aW9uKG4sVyxELGIsdil7dHJ5e2lmKG4uc3RhdGUuc3RhdHVzIT09IlJFSkVDVEVEIil0aHJvdyBFcnJvcigiY2FsbGluZyBoYW5kbGVSZWplY3QgYmVmb3JlIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLiIpO2xldCBrPUQobi5zdGF0ZS5yZWFzb24pO2sgaW5zdGFuY2VvZiBzUj9OTChuLFcsayxiLHYpOmIoayl9Y2F0Y2goayl7dihrKX19OwpOTD1mdW5jdGlvbihuLFcsRCxiLHYpe1c9PT1EP3YobmV3IFR5cGVFcnJvcigiQ2lyY3VsYXIgcHJvbWlzZSBjaGFpbiBkZXRlY3RlZC4iKSk6RC50aGVuKGs9PntrIGluc3RhbmNlb2Ygc1I/TkwobixXLGssYix2KTpiKGspfSxrPT57dihrKX0pfTsKSE49ZnVuY3Rpb24obixXLEQpe3ZhciBiPSgpPT57dHJ5e24ucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsdiksbi5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsayl9Y2F0Y2h7fX0sdj0oKT0+e1cobi5yZXN1bHQpOwpiKCl9LGs9KCk9PntEKG4uZXJyb3IpOwpiKCl9OwpuLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLHYpO24uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGspfTsKWDlVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZSgoVyxEKT0+e0hOKG4sVyxEKX0pfTsKSmM9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntITihuLFcsRCl9KSl9OwpJZz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgc1IobmV3IGZGKChELGIpPT57dmFyIHY9KCk9Pnt2YXIgaz1uP1cobik6bnVsbDtrP2sudGhlbihoPT57bj1oO3YoKX0sYik6RCgpfTsKdigpfSkpfTsKU0Y9ZnVuY3Rpb24obil7cmV0dXJuIEpjKG4pLnRoZW4oVz0+Vz9uZXcgcV8yKG4sVyk6bnVsbCl9OwpBYz1mdW5jdGlvbigpe3JldHVybiBnLmwoImlkYl9pbW1lZGlhdGVfY29tbWl0Iil9OwpPUj1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj17bW9kZToicmVhZG9ubHkiLEdROiExLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIn07dHlwZW9mIEQ9PT0ic3RyaW5nIj92Lm1vZGU9RDpPYmplY3QuYXNzaWduKHYsRCk7bi50cmFuc2FjdGlvbkNvdW50Kys7RD12LkdRPzM6MTtmb3IodmFyIGs9MCxoOyFoOyl7aysrO2xldCBHPU1hdGgucm91bmQoKDAsZy5SKSgpKTt0cnl7dmFyIHg9bi5OLnRyYW5zYWN0aW9uKFcsdi5tb2RlKSxMPWIsZT0hIXYuY29tbWl0O2xldCByPW5ldyBtWCh4KSxOPWF3YWl0IEc5dyhyLEwsZSksSD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7S0YobixHLEgsayx2b2lkIDAsVy5qb2luKCksdik7cmV0dXJuIE59Y2F0Y2gocil7TD1NYXRoLnJvdW5kKCgwLGcuUikoKSk7bGV0IE49JHUocixuLk4ubmFtZSxXLmpvaW4oKSxuLk4udmVyc2lvbik7aWYoTiBpbnN0YW5jZW9mIHFMJiYhTi5OfHxrPj1EKUtGKG4sRyxMLGssTixXLmpvaW4oKSwKdiksaD1OfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9OwpaeT1mdW5jdGlvbihuLFcsRCl7bj1uLk4uY3JlYXRlT2JqZWN0U3RvcmUoVyxEKTtyZXR1cm4gbmV3IFBOKG4pfTsKVVI9ZnVuY3Rpb24obixXKXtuLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhXKSYmbi5OLmRlbGV0ZU9iamVjdFN0b3JlKFcpfTsKS0Y9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7Vz1ELVc7dj8odiBpbnN0YW5jZW9mIHFMJiYodi50eXBlPT09IlFVT1RBX0VYQ0VFREVEInx8di50eXBlPT09IlFVT1RBX01BWUJFX0VYQ0VFREVEIikmJmVGKCJRVU9UQV9FWENFRURFRCIse2RiTmFtZTpYcShuLk4ubmFtZSksb2JqZWN0U3RvcmVOYW1lczprLHRyYW5zYWN0aW9uQ291bnQ6bi50cmFuc2FjdGlvbkNvdW50LHRyYW5zYWN0aW9uTW9kZTpoLm1vZGV9KSx2IGluc3RhbmNlb2YgcUwmJnYudHlwZT09PSJVTktOT1dOX0FCT1JUIiYmKEQtPW4uVyxEPDAmJkQ+PTIxNDc0ODM2NDgmJihEPTApLGVGKCJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCIse29iamVjdFN0b3JlTmFtZXM6ayx0cmFuc2FjdGlvbkR1cmF0aW9uOlcsdHJhbnNhY3Rpb25Db3VudDpuLnRyYW5zYWN0aW9uQ291bnQsZGJEdXJhdGlvbjpEfSksbi5KPSEwKSx5YyhuLCExLGIsayxXLGgudGFnKSxMRih2KSk6eWMobiwhMCxiLGssVyxoLnRhZyl9Owp5Yz1mdW5jdGlvbihuLFcsRCxiLHYsaz0iSURCX1RSQU5TQUNUSU9OX1RBR19VTktOT1dOIil7ZUYoIlRSQU5TQUNUSU9OX0VOREVEIix7b2JqZWN0U3RvcmVOYW1lczpiLGNvbm5lY3Rpb25IYXNVbmtub3duQWJvcnRlZFRyYW5zYWN0aW9uOm4uSixkdXJhdGlvbjp2LGlzU3VjY2Vzc2Z1bDpXLHRyeUNvdW50OkQsdGFnOmt9KX07CkVSPWZ1bmN0aW9uKG4sVyxEKXtuLk4uY3JlYXRlSW5kZXgoVyxELHt1bmlxdWU6ITF9KX07CnVRPWZ1bmN0aW9uKG4sVyxEKXtuPW4uTi5vcGVuQ3Vyc29yKFcucXVlcnksVy5kaXJlY3Rpb24pO3JldHVybiBpUShuKS50aGVuKGI9PklnKGIsRCkpfTsKdFhVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIHVRKG4se3F1ZXJ5Old9LEQ9PkQuZGVsZXRlKCkudGhlbigoKT0+b2coRCkpKS50aGVuKCgpPT57fSl9OwokM3g9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB1UShuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwpzMHI9ZnVuY3Rpb24obil7dmFyIFc9W107cmV0dXJuIHJfaihuLEQ9PntXLnB1c2goRC5jdXJzb3IucHJpbWFyeUtleSk7RC5jdXJzb3IuY29udGludWUodm9pZCAwKTtyZXR1cm4gU0YoRC5yZXF1ZXN0KX0pLnRoZW4oKCk9PlcpfTsKZDA9ZnVuY3Rpb24obil7cmV0dXJuImdldEFsbEtleXMiaW4gSURCT2JqZWN0U3RvcmUucHJvdG90eXBlP0pjKG4uTi5nZXRBbGxLZXlzKHZvaWQgMCx2b2lkIDApKTpzMHIobil9OwpyX2o9ZnVuY3Rpb24obixXKXt2YXIgRD17cXVlcnk6dm9pZCAwfSxiPUQucXVlcnk7RD1ELmRpcmVjdGlvbjtuPSJvcGVuS2V5Q3Vyc29yImluIElEQk9iamVjdFN0b3JlLnByb3RvdHlwZT9uLk4ub3BlbktleUN1cnNvcihiLEQpOm4uTi5vcGVuQ3Vyc29yKGIsRCk7cmV0dXJuIFNGKG4pLnRoZW4odj0+SWcodixXKSl9OwpHOXc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyBQcm9taXNlKCh2LGspPT57dHJ5e2xldCBoPVcobik7RCYmbi5jb21taXQoKTtoLnRoZW4oeD0+e3YoeCl9KS5jYXRjaChrKX1jYXRjaChoKXtrKGgpLG4uYWJvcnQoKX19KTsKcmV0dXJuIFByb21pc2UuYWxsKFtiLG4uZG9uZV0pLnRoZW4oKFt2XSk9PnYpfTsKem49ZnVuY3Rpb24obixXLEQpe3ZhciB7cXVlcnk6Yj1udWxsLGRpcmVjdGlvbjp2PSJuZXh0In09VztuPW4uTi5vcGVuQ3Vyc29yKGIsdik7cmV0dXJuIGlRKG4pLnRoZW4oaz0+SWcoayxEKSl9OwpOWmk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO3JldHVybiB6bihuLHtxdWVyeTpXfSx2PT57aWYoIShEIT09dm9pZCAwJiZiLmxlbmd0aD49RCkpcmV0dXJuIGIucHVzaCh2LmdldFZhbHVlKCkpLG9nKHYpfSkudGhlbigoKT0+Yil9OwppUT1mdW5jdGlvbihuKXtyZXR1cm4gSmMobikudGhlbihXPT5XP25ldyBwOXgobixXKTpudWxsKX07Cm9nPWZ1bmN0aW9uKG4pe24uY3Vyc29yLmNvbnRpbnVlKHZvaWQgMCk7cmV0dXJuIGlRKG4ucmVxdWVzdCl9OwpINXg9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuZXcgUHJvbWlzZSgoYix2KT0+e3ZhciBrPVchPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihuLFcpOnNlbGYuaW5kZXhlZERCLm9wZW4obik7dmFyIGg9RC5ibG9ja2VkLHg9RC5ibG9ja2luZyxMPUQuQnosZT1ELnVwZ3JhZGUsRz1ELmNsb3NlZCxyLE49KCk9PntyfHwocj1uZXcgWV9yKGsucmVzdWx0LHtjbG9zZWQ6R30pKTtyZXR1cm4gcn07CmsuYWRkRXZlbnRMaXN0ZW5lcigidXBncmFkZW5lZWRlZCIsSD0+e3RyeXtpZihILm5ld1ZlcnNpb249PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IG5ld1ZlcnNpb24gb24gSURiVmVyc2lvbkNoYW5nZUV2ZW50IGlzIG51bGwiKTtpZihrLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigiSW52YXJpYW50OiB0cmFuc2FjdGlvbiBvbiBJRGJPcGVuRGJSZXF1ZXN0IGlzIG51bGwiKTtILmRhdGFMb3NzJiZILmRhdGFMb3NzIT09Im5vbmUiJiZlRigiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOkguZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpYcShuKX0pO2xldCBBPU4oKSx5PW5ldyBtWChrLnRyYW5zYWN0aW9uKTtlJiZlKEEsVD0+SC5vbGRWZXJzaW9uPFQmJkgubmV3VmVyc2lvbj49VCx5KTsKeS5kb25lLmNhdGNoKFQ9Pnt2KFQpfSl9Y2F0Y2goQSl7dihBKX19KTsKay5hZGRFdmVudExpc3RlbmVyKCJzdWNjZXNzIiwoKT0+e3ZhciBIPWsucmVzdWx0O3gmJkguYWRkRXZlbnRMaXN0ZW5lcigidmVyc2lvbmNoYW5nZSIsKCk9Pnt4KE4oKSl9KTsKSC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9PntlRigiSURCX1VORVhQRUNURURMWV9DTE9TRUQiLHtkYk5hbWU6WHEobiksZGJWZXJzaW9uOkgudmVyc2lvbn0pO0wmJkwoKX0pOwpiKE4oKSl9KTsKay5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pnt2KGsuZXJyb3IpfSk7CmgmJmsuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntoKCl9KX0pfTsKbFE9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBINXgobixXLEQpfTsKVG49YXN5bmMgZnVuY3Rpb24obixXPXt9KXt0cnl7bGV0IEQ9c2VsZi5pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UobiksYj1XLmJsb2NrZWQ7YiYmRC5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIiwoKT0+e2IoKX0pOwphd2FpdCBYOVUoRCl9Y2F0Y2goRCl7dGhyb3cgJHUoRCxuLCIiLC0xKTt9fTsKakY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IHFMKCJJTkNPTVBBVElCTEVfREJfVkVSU0lPTiIse2RiTmFtZTpuLm5hbWUsb2xkVmVyc2lvbjpuLm9wdGlvbnMudmVyc2lvbixuZXdWZXJzaW9uOld9KX07CkNGPWZ1bmN0aW9uKG4sVyl7aWYoIVcpdGhyb3cgZy5yMCgib3BlbldpdGhUb2tlbiIsWHEobi5uYW1lKSk7cmV0dXJuIG4ub3BlbigpfTsKRnE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gT1IoYXdhaXQgQ0YoQk4sVyksWyJkYXRhYmFzZXMiXSx7R1E6ITAsbW9kZToicmVhZHdyaXRlIn0sRD0+e3ZhciBiPUQub2JqZWN0U3RvcmUoImRhdGFiYXNlcyIpO3JldHVybiBiLmdldChuLmFjdHVhbE5hbWUpLnRoZW4odj0+e2lmKHY/bi5hY3R1YWxOYW1lIT09di5hY3R1YWxOYW1lfHxuLnB1YmxpY05hbWUhPT12LnB1YmxpY05hbWV8fG4udXNlcklkZW50aWZpZXIhPT12LnVzZXJJZGVudGlmaWVyOjEpcmV0dXJuIGIucHV0KG4pLnRoZW4oKCk9Pnt9KX0pfSl9Owp3MD1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBuPyhhd2FpdCBDRihCTixXKSkuZGVsZXRlKCJkYXRhYmFzZXMiLG4pOnZvaWQgMH07CmZCVT1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPVtdO1c9YXdhaXQgQ0YoQk4sVyk7YXdhaXQgT1IoVyxbImRhdGFiYXNlcyJdLHtHUTohMCxtb2RlOiJyZWFkb25seSJ9LGI9PntELmxlbmd0aD0wO3JldHVybiB1UShiLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKSx7fSx2PT57bih2LmdldFZhbHVlKCkpJiZELnB1c2godi5nZXRWYWx1ZSgpKTtyZXR1cm4gb2codil9KX0pOwpyZXR1cm4gRH07CkpfMj1mdW5jdGlvbihuLFcpe3JldHVybiBmQlUoRD0+RC5wdWJsaWNOYW1lPT09biYmRC51c2VySWRlbnRpZmllciE9PXZvaWQgMCxXKX07CklCaT1hc3luYyBmdW5jdGlvbigpe2lmKGt1KCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIG47aWYoIShuPWcuTUwmJkMkKCkmJiFCMCgpfHxnLlJnKSl7dHJ5e249c2VsZjt2YXIgVz0hIShuLmluZGV4ZWREQiYmbi5JREJJbmRleCYmbi5JREJLZXlSYW5nZSYmbi5JREJPYmplY3RTdG9yZSl9Y2F0Y2goRCl7Vz0hMX1uPSFXfWlmKG58fCEoIklEQlRyYW5zYWN0aW9uImluIHNlbGYmJiJvYmplY3RTdG9yZU5hbWVzImluIElEQlRyYW5zYWN0aW9uLnByb3RvdHlwZSkpcmV0dXJuITE7dHJ5e3JldHVybiBhd2FpdCBGcSh7YWN0dWFsTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIscHVibGljTmFtZToieXQtaWRiLXRlc3QtZG8tbm90LXVzZSIsdXNlcklkZW50aWZpZXI6dm9pZCAwfSxRYyksYXdhaXQgdzAoInl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLFFjKSwhMH1jYXRjaChEKXtyZXR1cm4hMX19OwpjTj1mdW5jdGlvbigpe2lmKFZjIT09dm9pZCAwKXJldHVybiBWYztoYz0hMDtyZXR1cm4gVmM9SUJpKCkudGhlbihuPT57aGM9ITE7aWYodk4oKT8uSigpKXt2YXIgVz17aGFzU3VjY2VlZGVkT25jZTprdSgpPy5oYXNTdWNjZWVkZWRPbmNlfHxufTt2TigpPy5zZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsVywyNTkyRTMsITApfXJldHVybiBufSl9OwphZz1mdW5jdGlvbigpe3JldHVybiBnLnJyKCJ5dGdsb2JhbC5pZGJUb2tlbl8iKXx8dm9pZCAwfTsKZy5uUD1mdW5jdGlvbigpe3ZhciBuPWFnKCk7cmV0dXJuIG4/UHJvbWlzZS5yZXNvbHZlKG4pOmNOKCkudGhlbihXPT57Vz8oZy5HYigieXRnbG9iYWwuaWRiVG9rZW5fIixRYyksVz1RYyk6Vz12b2lkIDA7cmV0dXJuIFd9KX07Cld6PWZ1bmN0aW9uKG4pe2lmKCFSOSgpKXRocm93IG49bmV3IHFMKCJBVVRIX0lOVkFMSUQiLHtkYk5hbWU6bn0pLExGKG4pLG47dmFyIFc9TTAoKTtyZXR1cm57YWN0dWFsTmFtZTpgJHtufToke1d9YCxwdWJsaWNOYW1lOm4sdXNlcklkZW50aWZpZXI6V319OwpEbT1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1FcnJvcigpLnN0YWNrPz8iIixrPWF3YWl0IGcublAoKTtpZighayl0aHJvdyBXPWcucjAoIm9wZW5EYkltcGwiLG4sVyksZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIil8fChXLnN0YWNrPWAke1cuc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKSxMRihXKSxXO2cwKG4pO3Y9RD97YWN0dWFsTmFtZTpuLHB1YmxpY05hbWU6bix1c2VySWRlbnRpZmllcjp2b2lkIDB9Old6KG4pO3RyeXtyZXR1cm4gYXdhaXQgRnEodixrKSxhd2FpdCBsUSh2LmFjdHVhbE5hbWUsVyxiKX1jYXRjaChoKXt0cnl7YXdhaXQgdzAodi5hY3R1YWxOYW1lLGspfWNhdGNoe310aHJvdyBoO319OwpTX1o9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITEsRCl9OwpBX3I9ZnVuY3Rpb24obixXLEQ9e30pe3JldHVybiBEbShuLFcsITAsRCl9OwptM3c9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLG49V3oobiksYXdhaXQgVG4obi5hY3R1YWxOYW1lLFcpLGF3YWl0IHcwKG4uYWN0dWFsTmFtZSxEKSl9OwpLMHI9ZnVuY3Rpb24obixXLEQpe249bi5tYXAoYXN5bmMgYj0+e2F3YWl0IFRuKGIuYWN0dWFsTmFtZSxXKTthd2FpdCB3MChiLmFjdHVhbE5hbWUsRCl9KTsKcmV0dXJuIFByb21pc2UuYWxsKG4pLnRoZW4oKCk9Pnt9KX07CmI5PWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9YXdhaXQgZy5uUCgpO0QmJihnMChuKSxuPWF3YWl0IEpfMihuLEQpLGF3YWl0IEswcihuLFcsRCkpfTsKdno9YXN5bmMgZnVuY3Rpb24obixXPXt9KXt2YXIgRD1hd2FpdCBnLm5QKCk7RCYmKGcwKG4pLGF3YWl0IFRuKG4sVyksYXdhaXQgdzAobixEKSl9OwpQNE09ZnVuY3Rpb24obixXKXt2YXIgRDtyZXR1cm4oKT0+e0R8fChEPW5ldyBPNXQobixXKSk7cmV0dXJuIER9fTsKa089ZnVuY3Rpb24obixXKXtyZXR1cm4gUDRNKG4sVyl9OwpoNz1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoWjVDKCksbil9Owp4Tz1hc3luYyBmdW5jdGlvbihuLFcsRCxiKXtuPXtjb25maWc6bixoYXNoRGF0YTpXLHRpbWVzdGFtcDpiIT09dm9pZCAwP2I6KDAsZy5SKSgpfTtEPWF3YWl0IGg3KEQpO2F3YWl0IEQuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IEQucHV0KCJob3RDb25maWdTdG9yZSIsbil9OwpMUD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYpe249e2NvbmZpZzpuLGhhc2hEYXRhOlcsY29uZmlnRGF0YTpELHRpbWVzdGFtcDp2IT09dm9pZCAwP3Y6KDAsZy5SKSgpfTtiPWF3YWl0IGg3KGIpO2F3YWl0IGIuY2xlYXIoImNvbGRDb25maWdTdG9yZSIpO3JldHVybiBhd2FpdCBiLnB1dCgiY29sZENvbmZpZ1N0b3JlIixuKX07CmU5PWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQgaDcobik7dmFyIFc9dm9pZCAwO2F3YWl0IE9SKG4sWyJjb2xkQ29uZmlnU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+em4oRC5vYmplY3RTdG9yZSgiY29sZENvbmZpZ1N0b3JlIikuaW5kZXgoImNvbGRUaW1lc3RhbXBJbmRleCIpLHtkaXJlY3Rpb246InByZXYifSxiPT57Vz1iLmdldFZhbHVlKCl9KSk7CnJldHVybiBXfTsKZzM9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCBoNyhuKTt2YXIgVz12b2lkIDA7YXdhaXQgT1IobixbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnpuKEQub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGI9PntXPWIuZ2V0VmFsdWUoKX0pKTsKcmV0dXJuIFd9OwpVM3Q9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgieXRHY2ZDb25maWciKX07CnFCPWZ1bmN0aW9uKCl7aWYoIWcuWDMuaW5zdGFuY2Upe2xldCBuPW5ldyBnLlgzO2cuWDMuaW5zdGFuY2U9bn1yZXR1cm4gZy5YMy5pbnN0YW5jZX07Cmk1aD1mdW5jdGlvbihuKXtpZighbi5KfHwhbi5OKXtpZighYWcoKSl7bGV0IFc9Zy5yMCgic2NoZWR1bGVHZXRDb25maWdzIik7WkUoVyl9bi5YfHwobi5YPXRhLkxTKGFzeW5jKCk9Pnt0cnl7YXdhaXQgeV9yKG4pfWNhdGNoe310cnl7YXdhaXQgRVVTKG4pfWNhdGNoe31uLlgmJihuLlg9MCl9LDEwMCkpfX07CnVEeD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmwoInN0YXJ0X2NsaWVudF9nY2YiKXx8Zy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpKWcubCgic3RhcnRfY2xpZW50X2djZiIpJiYoYXdhaXQgZy5uUCgpJiZSOSgpJiYhZy5sKCJkZWxldGVfZ2NmX2NvbmZpZ19kYiIpPyhuLlY9ITAsaTVoKG4pKTooR28obiksdDcobikpKSxnLmwoImRlbGV0ZV9nY2ZfY29uZmlnX2RiIikmJmF3YWl0IFUzdCgpfTsKJE89ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpfTsKdmFyIG9Vaj1mdW5jdGlvbihuLFcpe3JldHVybiBlWFtJWzEwXV0odGhpcywxMCw3MTI2LG4sVyl9OwpyMz1mdW5jdGlvbihuLFcpe24uSj1XO2cuR2IoInl0LmdjZi5jb25maWcuaG90Q29uZmlnR3JvdXAiLG4uSnx8bnVsbCl9Owp0Nz1mdW5jdGlvbihuKXtyMyhuLGcuQXIoIlJBV19IT1RfQ09ORklHX0dST1VQIikpO24uVyhnLkFyKCJTRVJJQUxJWkVEX0hPVF9IQVNIX0RBVEEiKSl9Owp5X3I9YXN5bmMgZnVuY3Rpb24obil7aWYobi5KKXJldHVybiAkTygpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0SG90Q29uZmlnIElEQiBub3QgaW5pdGlhbGl6ZWQiKSxaRShuKSxQcm9taXNlLnJlamVjdChuKTt2YXIgVz1hZygpLEQ9Zy5BcigiVElNRV9DUkVBVEVEX01TIik7aWYoVyl7dmFyIGI9YXdhaXQgZzMoVyk7aWYoYiYmYi50aW1lc3RhbXA+RClyZXR1cm4gcjMobixiLmNvbmZpZyksbi5XKGIuaGFzaERhdGEpLCRPKCl9ZWxzZSBiPWcucjAoImdldEhvdENvbmZpZyB0b2tlbiBlcnJvciIpLFpFKGIpO3Q3KG4pO1cmJm4uSiYmbi5ob3RIYXNoRGF0YSYmYXdhaXQgeE8obi5KLG4uaG90SGFzaERhdGEsVyxEKTtyZXR1cm4gbi5KPyRPKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKc0o9ZnVuY3Rpb24oKXtyZXR1cm4gZy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiKX07Ck5CPWZ1bmN0aW9uKG4sVyl7bi5OPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnR3JvdXAiLG4uTnx8bnVsbCl9OwpwUD1mdW5jdGlvbihuLFcpe24uY29uZmlnRGF0YT1XO2cuR2IoInl0LmdjZi5jb25maWcuY29sZENvbmZpZ0RhdGEiLG4uY29uZmlnRGF0YXx8bnVsbCl9OwpZTz1mdW5jdGlvbihuLFcpe24uY29sZEhhc2hEYXRhPVc7Zy5HYigieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiLG4uY29sZEhhc2hEYXRhfHxudWxsKX07CkdvPWZ1bmN0aW9uKG4pe05CKG4sZy5BcigiUkFXX0NPTERfQ09ORklHX0dST1VQIikpO1lPKG4sZy5BcigiU0VSSUFMSVpFRF9DT0xEX0hBU0hfREFUQSIpKTtwUChuLG4uTj8uY29uZmlnRGF0YSl9OwpFVVM9YXN5bmMgZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBzSigpO2lmKCFuLlYpcmV0dXJuIG49Zy5yMCgiZ2V0Q29sZENvbmZpZyBJREIgbm90IGluaXRpYWxpemVkIiksWkUobiksUHJvbWlzZS5yZWplY3Qobik7dmFyIFc9YWcoKSxEPWcuQXIoIlRJTUVfQ1JFQVRFRF9NUyIpO2lmKFcpe3ZhciBiPWF3YWl0IGU5KFcpO2lmKGImJmIudGltZXN0YW1wPkQpcmV0dXJuIE5CKG4sYi5jb25maWcpLHBQKG4sYi5jb25maWdEYXRhKSxZTyhuLGIuaGFzaERhdGEpLHNKKCl9ZWxzZSBiPWcucjAoImdldENvbGRDb25maWciKSxaRShiKTtHbyhuKTtXJiZuLk4mJm4uY29sZEhhc2hEYXRhJiZuLmNvbmZpZ0RhdGEmJmF3YWl0IExQKG4uTixuLmNvbGRIYXNoRGF0YSxuLmNvbmZpZ0RhdGEsVyxEKTtyZXR1cm4gbi5OP3NKKCk6KG49bmV3IGcuUXgoIkNvbmZpZyBub3QgYXZhaWxhYmxlIGluIHl0Q29uZmlnIiksWkUobiksUHJvbWlzZS5yZWplY3QobikpfTsKSHo9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKGcubCgic3RhcnRfY2xpZW50X2djZiIpKXtEJiZyMyhuLEQpO24uVyhXKTtsZXQgYj1hZygpO2ImJihEfHwoRD0oYXdhaXQgZzMoYikpPy5jb25maWcpLGF3YWl0IHhPKEQsVyxiKSk7aWYoRCl7bj1uLks7Zm9yKGxldCB2IG9mIG4uTil2KEQpfX19OwpmUD1hc3luYyBmdW5jdGlvbihuLFcsRCl7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJihZTyhuLFcpLG49YWcoKSkmJihEfHwoRD0oYXdhaXQgZTkobikpPy5jb25maWcpLEQmJmF3YWl0IExQKEQsVyxELmNvbmZpZ0RhdGEsbikpfTsKSjc9ZnVuY3Rpb24oKXt2YXIgbj1xQigpLFc9KDAsZy5SKSgpLW4uajtpZighKG4uaiE9PTAmJlc8djAoInNlbmRfY29uZmlnX2hhc2hfdGltZXIiKSkpe1c9Zy5ycigieXQuZ2NmLmNvbmZpZy5jb2xkQ29uZmlnRGF0YSIpO3ZhciBEPWcucnIoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiKSxiPWcucnIoInl0LmdjZi5jb25maWcuY29sZEhhc2hEYXRhIik7VyYmRCYmYiYmKG4uaj0oMCxnLlIpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpXLGhvdEhhc2hEYXRhOkQsY29sZEhhc2hEYXRhOmJ9fX07Ckk3PWZ1bmN0aW9uKCl7cmV0dXJuIklOTkVSVFVCRV9BUElfS0VZImluIElFJiYiSU5ORVJUVUJFX0FQSV9WRVJTSU9OImluIElFfTsKZy5TOT1mdW5jdGlvbigpe3JldHVybntpbm5lcnR1YmVBcGlLZXk6Zy5BcigiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9BUElfVkVSU0lPTiIpLGNSOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9DT05GSUdfSU5GTyIpLEcwOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIiksRmQ6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpLGlubmVydHViZUNvbnRleHRDbGllbnRWZXJzaW9uOmcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiksTWI6Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSxFRTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9HTCIpLHY2OmcuQXIoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIil8fCIiLE9zOiEhZy5BcigiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSksT0Q6ISFnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIsCiExKSxhcHBJbnN0YWxsRGF0YTpnLkFyKCJTRVJJQUxJWkVEX0NMSUVOVF9DT05GSUdfREFUQSIpfX07CmcuVUo9ZnVuY3Rpb24obil7dmFyIFc9e2NsaWVudDp7aGw6bi5NYixnbDpuLkVFLGNsaWVudE5hbWU6bi5HMCxjbGllbnRWZXJzaW9uOm4uaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24sY29uZmlnSW5mbzpuLmNSfX07bmF2aWdhdG9yLnVzZXJBZ2VudCYmKFcuY2xpZW50LnVzZXJBZ2VudD1TdHJpbmcobmF2aWdhdG9yLnVzZXJBZ2VudCkpO3ZhciBEPWcucWkuZGV2aWNlUGl4ZWxSYXRpbztEJiZEIT0xJiYoVy5jbGllbnQuc2NyZWVuRGVuc2l0eUZsb2F0PVN0cmluZyhEKSk7RD1rVCgpO0QhPT0iIiYmKFcuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49RCk7RD1oeSgpO0QubGVuZ3RoPjAmJihXLnJlcXVlc3Q9e2ludGVybmFsRXhwZXJpbWVudEZsYWdzOkR9KTtBNyhuLHZvaWQgMCxXKTttVCh2b2lkIDAsVyk7S1Aodm9pZCAwLFcpO09KKG4sdm9pZCAwLFcpO1B6KHZvaWQgMCxXKTtnLmwoInN0YXJ0X2NsaWVudF9nY2YiKSYmWm0odm9pZCAwLFcpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJgohZy5sKCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoVy51c2VyPXtvbkJlaGFsZk9mVXNlcjpnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpfSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoVy51c2VyPXsuLi5XLnVzZXIsc2VyaWFsaXplZERlbGVnYXRpb25Db250ZXh0Om59KTtuPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7Zy5sKCJlbmFibGVfcGVyc2lzdGVudF9kZXZpY2VfdG9rZW4iKSYmbj8uY2xpZW50Py5yb2xsb3V0VG9rZW4mJihXLmNsaWVudC5yb2xsb3V0VG9rZW49bj8uY2xpZW50Py5yb2xsb3V0VG9rZW4pO249T2JqZWN0O0Q9bi5hc3NpZ247dmFyIGI9Vy5jbGllbnQsdj1nLkFyKCJERVZJQ0UiLCIiKSxrPXt9O2ZvcihsZXQgW2gseF1vZiBPYmplY3QuZW50cmllcyhnLml3KHYpKSl2PWgsdj09PSJjYnJhbmQiPwprLmRldmljZU1ha2U9eDp2PT09ImNtb2RlbCI/ay5kZXZpY2VNb2RlbD14OnY9PT0iY2JyIj9rLmJyb3dzZXJOYW1lPXg6dj09PSJjYnJ2ZXIiP2suYnJvd3NlclZlcnNpb249eDp2PT09ImNvcyI/ay5vc05hbWU9eDp2PT09ImNvc3ZlciI/ay5vc1ZlcnNpb249eDp2PT09ImNwbGF0Zm9ybSImJihrLnBsYXRmb3JtPXgpO1cuY2xpZW50PUQuY2FsbChuLGIsayk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoVy5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsVy5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIFd9OwpBNz1mdW5jdGlvbihuLFcsRCl7bj1uLkcwO2lmKG49PT0iV0VCInx8bj09PSJNV0VCInx8bj09PTF8fG49PT0yKVc/KEQ9Z2UoVyx5ZCw5Nil8fG5ldyB5ZCxuPXl4KCksbj1PYmplY3Qua2V5cyhkM2opLmluZGV4T2Yobiksbj1uPT09LTE/bnVsbDpuLG4hPT1udWxsJiZLbihELDMsbiksJDkoVyx5ZCw5NixEKSk6RCYmKEQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPUQuY2xpZW50Lm1haW5BcHBXZWJJbmZvPz97fSxELmNsaWVudC5tYWluQXBwV2ViSW5mby53ZWJEaXNwbGF5TW9kZT15eCgpKX07Cm1UPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpO0QmJihuPyhXPWdlKG4sRUosNyl8fG5ldyBFSixnLlNFKFcsNCxEKSwkOShuLEVKLDcsVykpOlcmJihXLnRoaXJkUGFydHk9e2VtYmVkVXJsOkR9KSl9OwpLUD1mdW5jdGlvbihuLFcpe2lmKGcubCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJmcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkpe2xldCBEPWcucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnk7bj9veihuLDk1LGcubDQoRCoxRTYpKTpXJiYoVy5jbGllbnQubWVtb3J5VG90YWxLYnl0ZXM9YCR7RCoxRTZ9YCl9fTsKT0o9ZnVuY3Rpb24obixXLEQpe24uYXBwSW5zdGFsbERhdGEmJihXPyhEPWdlKFcsaTksNjIpPz9uZXcgaTksZy5TRShELDYsbi5hcHBJbnN0YWxsRGF0YSksJDkoVyxpOSw2MixEKSk6RCYmKEQuY2xpZW50LmNvbmZpZ0luZm89RC5jbGllbnQuY29uZmlnSW5mb3x8e30sRC5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1uLmFwcEluc3RhbGxEYXRhKSl9OwpQej1mdW5jdGlvbihuLFcpe3ZhciBEPUJCKCk7RCYmKG4/S24obiw2MSx6cXdbRF0pOlcmJihXLmNsaWVudC5jb25uZWN0aW9uVHlwZT1EKSk7Zy5sKCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKEQ9d0ooKSkmJihuP0tuKG4sOTQsbEJyW0RdKTpXJiYoVy5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9RCkpfTsKVFpqPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj17fTtnLkFyKCJFT01fVklTSVRPUl9EQVRBIik/Yj17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpfTpiPXsiWC1Hb29nLVZpc2l0b3ItSWQiOkQudmlzaXRvckRhdGF8fGcuQXIoIlZJU0lUT1JfREFUQSIsIiIpfTtpZihXJiZXLmluY2x1ZGVzKCJ3d3cueW91dHViZS1ub2Nvb2tpZS5jb20iKSlyZXR1cm4gYjtXPUQuUDF8fGcuQXIoIkFVVEhPUklaQVRJT04iKTtXfHwobj9XPWBCZWFyZXIgJHtnLnJyKCJnYXBpLmF1dGguZ2V0VG9rZW4iKSgpLmFjY2Vzc190b2tlbn1gOihuPWlPKCkuYWoodTkpLGcubCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIG5bIlgtR29vZy1QYWdlSWQiXSxiPXsuLi5iLC4uLm59KSk7VyYmKGIuQXV0aG9yaXphdGlvbj1XKTtyZXR1cm4gYn07ClptPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9SjcoKTtpZihEKXt2YXIgYj1ELmNvbGRDb25maWdEYXRhLHY9RC5jb2xkSGFzaERhdGE7RD1ELmhvdEhhc2hEYXRhO24/KFc9Z2UobixpOSw2Mik/P25ldyBpOSxiPWcuU0UoVywxLGIpLGcuU0UoYiwzLHYpLlcoRCksJDkobixpOSw2MixXKSk6VyYmKFcuY2xpZW50LmNvbmZpZ0luZm89Vy5jbGllbnQuY29uZmlnSW5mb3x8e30sYiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YiksdiYmKFcuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPXYpLEQmJihXLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPUQpKX19OwpvNz1mdW5jdGlvbihuKXt0aGlzLnZlcnNpb249MTt0aGlzLmFyZ3M9bn07CmQzPWZ1bmN0aW9uKG4sVyl7dGhpcy50b3BpYz1uO3RoaXMuTj1XfTsKbDk9ZnVuY3Rpb24obixXKXt2YXIgRD16bygpO0QmJkQucHVibGlzaC5jYWxsKEQsbi50b1N0cmluZygpLG4sVyl9OwpqMHg9ZnVuY3Rpb24obil7dmFyIFc9VG8sRD16bygpO2lmKCFEKXJldHVybiAwO3ZhciBiPUQuc3Vic2NyaWJlKFcudG9TdHJpbmcoKSwodixrKT0+e3ZhciBoPWcucnIoInl0UHVic3ViMlB1YnN1YjJTa2lwU3ViS2V5Iik7aCYmaD09Ynx8KGg9KCk9PntpZihqOVtiXSl0cnl7aWYoayYmVyBpbnN0YW5jZW9mIGQzJiZXIT12KXRyeXt7dmFyIHg9Vy5OLEw9aztpZighTC5hcmdzfHwhTC52ZXJzaW9uKXRocm93IEVycm9yKCJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogc2VyaWFsaXplZERhdGEgaXMgaW5jb21wbGV0ZS4iKTtsZXQgZTt0cnl7aWYoIXguQ2Ipe2xldCBHPW5ldyB4O3guQ2I9Ry52ZXJzaW9ufWU9eC5DYn1jYXRjaChHKXt9aWYoIWV8fEwudmVyc2lvbiE9ZSl0aHJvdyBFcnJvcigieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6IHNlcmlhbGl6ZWREYXRhIHZlcnNpb24gaXMgaW5jb21wYXRpYmxlLiIpO3RyeXtrPVJlZmxlY3QuY29uc3RydWN0KHgsZy5STShMLmFyZ3MpKX1jYXRjaChHKXt0aHJvdyBHLm1lc3NhZ2U9CiJ5dC5wdWJzdWIyLkRhdGEuZGVzZXJpYWxpemUoKTogIitHLm1lc3NhZ2UsRzt9fX1jYXRjaChlKXt0aHJvdyBlLm1lc3NhZ2U9Inl0LnB1YnN1YjIucHVic3ViMiBjcm9zcy1iaW5hcnkgY29udmVyc2lvbiBlcnJvciBmb3IgIitXLnRvU3RyaW5nKCkrIjogIitlLm1lc3NhZ2UsZTt9bi5jYWxsKHdpbmRvdyxrKX1jYXRjaChlKXtPdChlKX19LENQW1cudG9TdHJpbmcoKV0/Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/dGEuTFMoaCk6Zy5uJChoLDApOmgoKSl9KTsKajlbYl09ITA7QnpbVy50b1N0cmluZygpXXx8KEJ6W1cudG9TdHJpbmcoKV09W10pO0J6W1cudG9TdHJpbmcoKV0ucHVzaChiKTtyZXR1cm4gYn07CkYwTT1mdW5jdGlvbigpe3ZhciBuPUM0dyxXPWoweChmdW5jdGlvbihEKXtuLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpO0JaaChXKX0pOwpyZXR1cm4gV307CkJaaD1mdW5jdGlvbihuKXt2YXIgVz16bygpO1cmJih0eXBlb2Ygbj09PSJudW1iZXIiJiYobj1bbl0pLGcueTIobixEPT57Vy51bnN1YnNjcmliZUJ5S2V5KEQpO2RlbGV0ZSBqOVtEXX0pKX07CnpvPWZ1bmN0aW9uKCl7cmV0dXJuIGcucnIoInl0UHVic3ViMlB1YnN1YjJJbnN0YW5jZSIpfTsKRjM9ZnVuY3Rpb24obixXLEQ9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixELnNhbXBsZVJhdGUvMTAwKSYmbDkoIm1ldGFfbG9nZ2luZ19jc2lfZXZlbnQiLHt0aW1lck5hbWU6bix0aW1lbGluZURhdGE6V30pfTsKVmQ9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9e3N0YXJ0VGltZTooMCxnLlIpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD13MyhXKTtpZihoPT1udWxsfHwhKGg+TUJ8fGg8UjcpKXt2YXIgaz1YJChRZChXKSk7bGV0IHg9KDAsZy5SKSgpO3YudGlja3MuZ2VsYz14O3c5aisrO2cubCgiZ2VsX2NvbXByZXNzaW9uX2NzaV9raWxsc3dpdGNoIil8fCFnLmwoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeSIpJiYhZy5sKCJsb2dfZ2VsX2NvbXByZXNzaW9uX2xhdGVuY3lfbHIiKXx8RjMoImdlbF9jb21wcmVzc2lvbiIsdix7c2FtcGxlUmF0ZTouMX0pO0QuaGVhZGVyc3x8KEQuaGVhZGVycz17fSk7RC5oZWFkZXJzWyJDb250ZW50LUVuY29kaW5nIl09Imd6aXAiO0QucG9zdEJvZHk9aztELnBvc3RQYXJhbXM9dm9pZCAwfWIobixEKX1jYXRjaChoKXtaRShoKSxiKG4sRCl9fTsKTVhTPWZ1bmN0aW9uKG4peygwLGcuUikoKTtpZighbi5ib2R5KXJldHVybiBuO3RyeXtsZXQgVz10eXBlb2Ygbi5ib2R5PT09InN0cmluZyI/bi5ib2R5OkpTT04uc3RyaW5naWZ5KG4uYm9keSksRD1XO2lmKHR5cGVvZiBXPT09InN0cmluZyIpe2xldCBiPXczKFcpO2lmKGIhPW51bGwmJihiPk1CfHxiPFI3KSlyZXR1cm4gbjtEPVgkKFFkKFcpKTsoMCxnLlIpKCl9bi5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihuLmhlYWRlcnN8fHt9KX07bi5ib2R5PUQ7cmV0dXJuIG59Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG59fTsKdzM9ZnVuY3Rpb24obil7dHJ5e3JldHVybihuZXcgQmxvYihuLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goVyl7cmV0dXJuIFpFKFcpLG51bGx9fTsKY3o9ZnVuY3Rpb24obil7cmV0dXJuISFuLllXfHxuLld2fTsKbm09ZnVuY3Rpb24obil7Y3oobikmJiFuLk5oJiYobi5OPSEwLG4uQ3ImJk1hdGgucmFuZG9tKCk8PW4uS3ImJm4uZ0UudGkobi5ZVyksYTcobiksbi55Ry5XRygpJiZuLlcoKSxuLnlHLlNfKG4udVosbi5XLmJpbmQobikpLG4ueUcuU18obi5OQSxuLlguYmluZChuKSkpfTsKYTc9ZnVuY3Rpb24obil7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogcmV0cnlRdWV1ZWRSZXF1ZXN0cyIpO24uZ0UuaTQoIlFVRVVFRCIsbi5ZVykudGhlbihXPT57VyYmIVdVKG4sVyxuLlo0KT9uLkEkLkxTKGFzeW5jKCk9PntXLmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVyk7YTcobil9KTpuLnlHLldHKCkmJm4uVygpfSl9OwpENT1hc3luYyBmdW5jdGlvbihuLFcpe2lmKCFjeihuKSl0aHJvdyBFcnJvcigiSW5kZXhlZERCIGlzIG5vdCBzdXBwb3J0ZWQ6IGltbWVkaWF0ZVNlbmQiKTtXLmlkIT09dm9pZCAwJiYoYXdhaXQgbi5nRS5LNihXLmlkLG4uWVcpfHxuLkYyKEVycm9yKCJUaGUgcmVxdWVzdCBjYW5ub3QgYmUgZm91bmQgaW4gdGhlIGRhdGFiYXNlLiIpKSk7V1UobixXLG4uR3kpPyhXLnNraXBSZXRyeXx8KFc9UnEyKG4sVykpLFcmJihXLnNraXBSZXRyeSYmVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpLG4uTG0oVy51cmwsVy5vcHRpb25zLCEhVy5za2lwUmV0cnkpKSk6KG4uRjIoRXJyb3IoIk5ldHdvcmtsZXNzIExvZ2dpbmc6IFN0b3JlZCBsb2dzIHJlcXVlc3QgZXhwaXJlZCBhZ2UgbGltaXQiKSksVy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpKX07CmJNPWZ1bmN0aW9uKG4sVyl7bi5oTCYmIW4ueUcuV0coKT9uLmhMKFcpOm4uaGFuZGxlRXJyb3IoVyl9OwpXVT1mdW5jdGlvbihuLFcsRCl7Vz1XLnRpbWVzdGFtcDtyZXR1cm4gbi5ub3coKS1XPj1EPyExOiEwfTsKUnEyPWZ1bmN0aW9uKG4sVyl7aWYoIWN6KG4pKXRocm93IEVycm9yKCJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZDogdXBkYXRlUmVxdWVzdEhhbmRsZXJzIik7dmFyIEQ9Vy5vcHRpb25zLm9uRXJyb3I/Vy5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9OwpXLm9wdGlvbnMub25FcnJvcj1hc3luYyh2LGspPT57dmFyIGg9UTBTKGspLHg9VlgyKGspO3gmJm4uRXEmJm4uRXEoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJm4uaGFuZGxlRXJyb3IoRXJyb3IoIlJlcXVlc3QgZmFpbGVkIGR1ZSB0byBjb21wcmVzc2lvbiIpLFcudXJsLGspO2lmKG4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmh8fG4uRXEmJiFuLkVxKCJud2xfY29uc2lkZXJfZXJyb3JfY29kZSIpJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcjw9bi5IRilpZihuLnlHLmhKJiZhd2FpdCBuLnlHLmhKKCksIW4ueUcuV0coKSl7RCh2LGspO24uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJlc/LmlkIT09dm9pZCAwJiZhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMSk7cmV0dXJufW4uRXEmJm4uRXEoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJiFoJiZuLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5uLkhGfHwobi5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKywKVz8uaWQhPT12b2lkIDAmJihXLnNlbmRDb3VudDxuLkExPyhhd2FpdCBuLmdFLmhZKFcuaWQsbi5ZVywhMCx4PyExOnZvaWQgMCksbi5BJC5MUygoKT0+e24ueUcuV0coKSYmbi5XKCl9LG4uSVApKTphd2FpdCBuLmdFLlRNKFcuaWQsbi5ZVykpLEQodixrKSl9Owp2YXIgYj1XLm9wdGlvbnMub25TdWNjZXNzP1cub3B0aW9ucy5vblN1Y2Nlc3M6KCk9Pnt9OwpXLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKHYsayk9PntXPy5pZCE9PXZvaWQgMCYmYXdhaXQgbi5nRS5UTShXLmlkLG4uWVcpO24ueUcubGMmJm4uRXEmJm4uRXEoInZzc19uZXR3b3JrX2hpbnQiKSYmbi55Ry5sYyghMCk7Yih2LGspfTsKcmV0dXJuIFd9OwpRMFM9ZnVuY3Rpb24obil7cmV0dXJuKG49bj8uZXJyb3I/LmNvZGUpJiZuPj00MDAmJm48PTU5OT8hMTohMH07ClZYMj1mdW5jdGlvbihuKXtuPW4/LmVycm9yPy5jb2RlO3JldHVybiEobiE9PTQwMCYmbiE9PTQxNSl9OwpjX1o9ZnVuY3Rpb24oKXtpZih2VSlyZXR1cm4gdlUoKTt2VT1rTygiTG9nc0RhdGFiYXNlVjIiLHtLYzp7TG9nc1JlcXVlc3RzU3RvcmU6e3Z4OjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcsRCl7VygyKSYmWnkobiwiTG9nc1JlcXVlc3RzU3RvcmUiLHtrZXlQYXRoOiJpZCIsYXV0b0luY3JlbWVudDohMH0pO1coMyk7Vyg1KSYmKEQ9RC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSxELk4uaW5kZXhOYW1lcy5jb250YWlucygibmV3UmVxdWVzdCIpJiZELk4uZGVsZXRlSW5kZXgoIm5ld1JlcXVlc3QiKSxFUihELCJuZXdSZXF1ZXN0VjIiLFsic3RhdHVzIiwiaW50ZXJmYWNlIiwidGltZXN0YW1wIl0pKTtXKDcpJiZVUihuLCJzYXBpc2lkIik7Vyg5KSYmVVIobiwiU1dIZWFsdGhMb2ciKX0sdmVyc2lvbjo5fSk7cmV0dXJuIHZVKCl9OwprUT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoY19aKCksbil9OwphQlM9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD17c3RhcnRUaW1lOigwLGcuUikoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtXPWF3YWl0IGtRKFcpO249ey4uLm4sb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG4ub3B0aW9ucykpLGludGVyZmFjZTpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCl9O249YXdhaXQgVy5wdXQoIkxvZ3NSZXF1ZXN0c1N0b3JlIixuKTtELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4gbn07Cm52Mj1hc3luYyBmdW5jdGlvbihuLFcpe3ZhciBEPXtzdGFydFRpbWU6KDAsZy5SKSgpLGluZm9zOnt0cmFuc2FjdGlvblR5cGU6IllUX0lEQl9UUkFOU0FDVElPTl9UWVBFX1JFQUQifSx0aWNrczp7fX07Vz1hd2FpdCBrUShXKTt2YXIgYj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksdj1bbixiLDBdO2I9W24sYiwoMCxnLlIpKCldO3ZhciBrPUlEQktleVJhbmdlLmJvdW5kKHYsYiksaD0icHJldiI7Zy5sKCJ1c2VfZmlmb19mb3JfbmV0d29ya2xlc3MiKSYmKGg9Im5leHQiKTt2YXIgeD12b2lkIDA7dj1uPT09Ik5FVyI/InJlYWR3cml0ZSI6InJlYWRvbmx5IjtnLmwoInVzZV9yZWFkb25seV9mb3JfZ2V0X21vc3RfcmVjZW50X2J5X3N0YXR1c19raWxsc3dpdGNoIikmJih2PSJyZWFkd3JpdGUiKTthd2FpdCBPUihXLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTp2LEdROiEwfSxMPT56bihMLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmssZGlyZWN0aW9uOmh9LGU9PntlLmdldFZhbHVlKCkmJih4PWUuZ2V0VmFsdWUoKSxuPT09Ik5FVyImJih4LnN0YXR1cz0iUVVFVUVEIixlLnVwZGF0ZSh4KSkpfSkpOwpELnRpY2tzLnRjPSgwLGcuUikoKTtoSShEKTtyZXR1cm4geH07CldfQz1hc3luYyBmdW5jdGlvbihuLFcpe3JldHVybiBPUihhd2FpdCBrUShXKSxbIkxvZ3NSZXF1ZXN0c1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pnt2YXIgYj1ELm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpO3JldHVybiBiLmdldChuKS50aGVuKHY9PntpZih2KXJldHVybiB2LnN0YXR1cz0iUVVFVUVEIixiLnB1dCh2KS50aGVuKCgpPT52KX0pfSl9OwpERXg9YXN5bmMgZnVuY3Rpb24obixXLEQ9ITAsYil7cmV0dXJuIE9SKGF3YWl0IGtRKFcpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sdj0+e3ZhciBrPXYub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGsuZ2V0KG4pLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsRCYmKGguc2VuZENvdW50Kz0xKSxiIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWIpLGsucHV0KGgpLnRoZW4oKCk9PmgpKTpzUi5yZXNvbHZlKHZvaWQgMCkpfSl9OwpiR0M9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4oYXdhaXQga1EoVykpLmRlbGV0ZSgiTG9nc1JlcXVlc3RzU3RvcmUiLG4pfTsKdnZpPWFzeW5jIGZ1bmN0aW9uKG4pe249YXdhaXQga1Eobik7dmFyIFc9KDAsZy5SKSgpLTI1OTJFNjthd2FpdCBPUihuLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+dVEoRC5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxiPT57aWYoYi5nZXRWYWx1ZSgpLnRpbWVzdGFtcDw9VylyZXR1cm4gYi5kZWxldGUoKS50aGVuKCgpPT5vZyhiKSl9KSl9Owpremk9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBiOSgiTG9nc0RhdGFiYXNlVjIiKX07CmhJPWZ1bmN0aW9uKG4pe2cubCgibndsX2NzaV9raWxsc3dpdGNoIil8fEYzKCJuZXR3b3JrbGVzc19wZXJmb3JtYW5jZSIsbix7c2FtcGxlUmF0ZToxfSl9Owp4UT1mdW5jdGlvbihuKXtyZXR1cm4gQ0YoaF94KCksbil9Owp4RXc9YXN5bmMgZnVuY3Rpb24obil7bj1hd2FpdCB4UShuKTt2YXIgVz0oMCxnLlIpKCktMjU5MkU2O2F3YWl0IE9SKG4sWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwfSxEPT51UShELm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGI9PntpZihiLmdldFZhbHVlKCkudGltZXN0YW1wPD1XKXJldHVybiBiLmRlbGV0ZSgpLnRoZW4oKCk9Pm9nKGIpKX0pKX07CkxfaT1hc3luYyBmdW5jdGlvbihuKXthd2FpdCAoYXdhaXQgeFEobikpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKZy5nbz1mdW5jdGlvbihuLFcsRCxiLHY9IiIsaz0hMSxoPSExKXtpZihuKWlmKEQmJiFnLmQ4KCkpWkUobmV3IGcuUXgoIkxlZ2FjeSByZWZlcnJlci1zY3J1YmJlZCBwaW5nIGRldGVjdGVkIikpLG4mJkxtKG4sdm9pZCAwLHtzY3J1YlJlZmVycmVyOiEwfSk7ZWxzZSBpZih2KXhUKG4sVywiUE9TVCIsdixiKTtlbHNlIGlmKGcuQXIoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8Ynx8aCl4VChuLFcsIkdFVCIsIiIsYix2b2lkIDAsayxoKTtlbHNle2I6e3RyeXtjOnt2YXIgeD1uZXcgZV93KHt1cmw6bn0pO2lmKHguTi5kc2g9PT0iMSIpdmFyIEw9bnVsbDtlbHNle3ZhciBlPXguTi5hZTtpZihlPT09IjEiKXtsZXQgcj14Lk4uYWR1cmw7aWYocil0cnl7TD17dmVyc2lvbjozLFViOmRlY29kZVVSSUNvbXBvbmVudChyKSxERzp1eCh4LkosImFjdD0xIiwicmk9MSIseGlNKHgpKX07YnJlYWsgY31jYXRjaChOKXt9fUw9ZT09PSIyIj97dmVyc2lvbjo0LFViOnV4KHguSiwKImRjdD0xIiwic3VpZD0iK3guVywicmk9MSIpLERHOnV4KHguSiwiYWN0PTEiLCJyaT0xIiwic3VpZD0iK3guVyl9Om51bGx9fWlmKEwpe2xldCByPVMxKG4pO3ZhciBHPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxnLmxmKG4sInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31HPSExfUc/ZXcobik/KFcmJlcoKSxEPSEwKTpEPSExOkQ9ITE7RHx8TG0obixXKX19Owpndnc9ZnVuY3Rpb24obixXPSIiKXtldyhuLFcpfHxnLmdvKG4sdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyl9Owpldz1mdW5jdGlvbihuLFc9IiIpe3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihuLFcpKXJldHVybiEwfWNhdGNoKEQpe31yZXR1cm4hMX07CkxtPWZ1bmN0aW9uKG4sVyxEPXt9KXt2YXIgYj1uZXcgSW1hZ2Usdj0iIitYSHcrKztYaVt2XT1iO2Iub25sb2FkPWIub25lcnJvcj0oKT0+e1cmJlhpW3ZdJiZXKCk7ZGVsZXRlIFhpW3ZdfTsKRC5zY3J1YlJlZmVycmVyJiYoYi5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtiLnNyYz1ufTsKZy5xYj1mdW5jdGlvbihuKXtyZXR1cm4gZG9jdW1lbnQuZmVhdHVyZVBvbGljeT8uYWxsb3dlZEZlYXR1cmVzKCkuaW5jbHVkZXMoImF0dHJpYnV0aW9uLXJlcG9ydGluZyIpP24rIiZuaXM9NiI6bisiJm5pcz01In07CiRRPWZ1bmN0aW9uKCl7R1R8fChHVD1uZXcgdEkoInl0Lm9mZmxpbmUiKSk7cmV0dXJuIEdUfTsKcUt3PWZ1bmN0aW9uKG4pe2lmKGcubCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgVz0kUSgpLmdldCgiZXJyb3JzIiwhMCl8fHt9O1dbbi5tZXNzYWdlXT17bmFtZTpuLm5hbWUsc3RhY2s6bi5zdGFja307bi5sZXZlbCYmKFdbbi5tZXNzYWdlXS5sZXZlbD1uLmxldmVsKTskUSgpLnNldCgiZXJyb3JzIixXLDI1OTJFMywhMCl9fTsKc2M9ZnVuY3Rpb24oKXtpZighcm8uaW5zdGFuY2Upe2xldCBuPWcucnIoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIpfHxuZXcgcm87Zy5HYigieXQubmV0d29ya1JlcXVlc3RNb25pdG9yLmluc3RhbmNlIixuKTtyby5pbnN0YW5jZT1ufXJldHVybiByby5pbnN0YW5jZX07CnBtPWZ1bmN0aW9uKCl7aWYoIU5iLmluc3RhbmNlKXtsZXQgbj1nLnJyKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcgTmI7Zy5HYigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLG4pO05iLmluc3RhbmNlPW59cmV0dXJuIE5iLmluc3RhbmNlfTsKWVE9ZnVuY3Rpb24obixXKXtuLnJhdGVMaW1pdD9uLk4/KHRhLnNPKG4uWCksbi5YPXRhLkxTKCgpPT57bi5XIT09VyYmKG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKX0sbi5yYXRlTGltaXQtKCgwLGcuUikoKS1uLk4pKSk6KG4uZGlzcGF0Y2hFdmVudChXKSxuLlc9VyxuLk49KDAsZy5SKSgpKTpuLmRpc3BhdGNoRXZlbnQoVyl9OwpnLkhVPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIpO258fChuPW5ldyBHemgsZy5HYigieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsbiksZy5sKCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJmcublAoKS50aGVuKFc9PntuLllXPVc7bm0obik7bi5qLnJlc29sdmUoKTtuLkNyJiZNYXRoLnJhbmRvbSgpPD1uLktyJiZuLllXJiZ4RXcobi5ZVyk7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX3N3X2hlYWx0aF9zdG9yZSIpJiZ0V3cobil9KSk7CnJldHVybiBufTsKdFd3PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLllXKXRocm93IGcucjAoImNsZWFyU1dIZWFsdGhMb2dzRGIiKTtMX2kobi5ZVykuY2F0Y2goVz0+e24uaGFuZGxlRXJyb3IoVyl9KX07CiRFdD1mdW5jdGlvbihuLFcsRCl7Vz1nLmwoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sVyk6VztnLmwoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Vy5oZWFkZXJzJiZnLlRkKG4pJiYoVy5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxnLlIpKCkpKSk6Vy5wb3N0UGFyYW1zPy5yZXF1ZXN0VGltZU1zJiYoVy5wb3N0UGFyYW1zLnJlcXVlc3RUaW1lTXM9TWF0aC5yb3VuZCgoMCxnLlIpKCkpKTtEJiZPYmplY3Qua2V5cyhXKS5sZW5ndGg9PT0wP2cuZ28obik6Vy5jb21wcmVzcz9XLnBvc3RCb2R5Pyh0eXBlb2YgVy5wb3N0Qm9keSE9PSJzdHJpbmciJiYoVy5wb3N0Qm9keT1KU09OLnN0cmluZ2lmeShXLnBvc3RCb2R5KSksVmQobixXLnBvc3RCb2R5LFcsZy5lZCkpOlZkKG4sSlNPTi5zdHJpbmdpZnkoVy5wb3N0UGFyYW1zKSxXLGc4KTpnLmVkKG4sVyl9OwpmbT1mdW5jdGlvbihuLFcpe2cubCgidXNlX2V2ZW50X3RpbWVfbXNfaGVhZGVyIikmJmcuVGQobikmJihXLmhlYWRlcnN8fChXLmhlYWRlcnM9e30pLFcuaGVhZGVyc1siWC1Hb29nLUV2ZW50LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gV307CmcuSUk9ZnVuY3Rpb24obixXLEQsYil7IWcuQXIoIlZJU0lUT1JfREFUQSIpJiZXIT09InZpc2l0b3JfaWQiJiZNYXRoLnJhbmRvbSgpPC4wMSYmWkUobmV3IGcuUXgoIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLFcsRCxiKSk7aWYoIW4uaXNSZWFkeSgpKXRocm93IG49bmV3IGcuUXgoImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixXLEQsYiksT3Qobiksbjt2YXIgdj17aGVhZGVyczpiLmhlYWRlcnN8fHt9LG1ldGhvZDoiUE9TVCIscG9zdFBhcmFtczpELHBvc3RCb2R5OmIucG9zdEJvZHkscG9zdEJvZHlGb3JtYXQ6Yi5wb3N0Qm9keUZvcm1hdHx8IkpTT04iLG9uVGltZW91dDooKT0+e2Iub25UaW1lb3V0KCl9LApvbkZldGNoVGltZW91dDpiLm9uVGltZW91dCxvblN1Y2Nlc3M6KGUsRyk9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhHKX0sCm9uRmV0Y2hTdWNjZXNzOmU9PntpZihiLm9uU3VjY2VzcyliLm9uU3VjY2VzcyhlKX0sCm9uUHJvZ3Jlc3M6ZT0+e2lmKGIub25Qcm9ncmVzcyliLm9uUHJvZ3Jlc3MoZSl9LApvbkVycm9yOihlLEcpPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihHKX0sCm9uRmV0Y2hFcnJvcjplPT57aWYoYi5vbkVycm9yKWIub25FcnJvcihlKX0sCnRpbWVvdXQ6Yi50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpiLmNvbXByZXNzfTt2LmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwodi5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO0Q9IiI7dmFyIGs9bi5jb25maWdfLnY2O2smJihEPWspO2s9bi5jb25maWdfLk9zfHwhMTt2YXIgaD1UWmooayxELGIpO09iamVjdC5hc3NpZ24odi5oZWFkZXJzLGgpO3YuaGVhZGVycy5BdXRob3JpemF0aW9uJiYhRCYmayYmKHYuaGVhZGVyc1sieC1vcmlnaW4iXT13aW5kb3cubG9jYXRpb24ub3JpZ2luKTt2YXIgeD1nLnpkKGAke0R9JHtgL3lvdXR1YmVpLyR7bi5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7V31gfWAse2FsdDoianNvbiJ9KSxMPShlPSExKT0+e3RyeXtpZihlJiZiLnJldHJ5JiYhYi5uZXR3b3JrbGVzc09wdGlvbnMuYnlwYXNzTmV0d29ya2xlc3Mpdi5tZXRob2Q9IlBPU1QiLGIubmV0d29ya2xlc3NPcHRpb25zLndyaXRlVGhlblNlbmQ/CmcuSFUoKS53cml0ZVRoZW5TZW5kKHgsdik6Zy5IVSgpLnNlbmRBbmRXcml0ZSh4LHYpO2Vsc2UgaWYoYi5jb21wcmVzcylpZih2LnBvc3RCb2R5KXtsZXQgRz12LnBvc3RCb2R5O3R5cGVvZiBHIT09InN0cmluZyImJihHPUpTT04uc3RyaW5naWZ5KHYucG9zdEJvZHkpKTtWZCh4LEcsdixnLmVkKX1lbHNlIFZkKHgsSlNPTi5zdHJpbmdpZnkodi5wb3N0UGFyYW1zKSx2LGc4KTtlbHNlIGc4KHgsdil9Y2F0Y2goRyl7aWYoRy5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpWkUoRXJyb3IoIkFuIGV4dGVuc2lvbiBpcyBibG9ja2luZyBuZXR3b3JrIHJlcXVlc3QuIikpO2Vsc2UgdGhyb3cgRzt9fTsKZy5ycigieXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnMiKSYmSkkuaXNOd2xJbml0aWFsaXplZD9jTigpLnRoZW4oZT0+e0woZSl9KTpMKCExKX07Ck9jPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1TdygpO2lmKGImJlcpe2xldCB2PWIuc3Vic2NyaWJlKG4sZnVuY3Rpb24oKXt2YXIgaz1hcmd1bWVudHMsaD0oKT0+e0FJW3ZdJiZXLmFwcGx5JiZ0eXBlb2YgVy5hcHBseT09ImZ1bmN0aW9uIiYmVy5hcHBseShEfHx3aW5kb3csayl9Owp0cnl7bWdbbl0/aCgpOmcubiQoaCwwKX1jYXRjaCh4KXtPdCh4KX19LEQpOwpBSVt2XT0hMDtLbVtuXXx8KEttW25dPVtdKTtLbVtuXS5wdXNoKHYpO3JldHVybiB2fXJldHVybiAwfTsKUFU9ZnVuY3Rpb24obil7dmFyIFc9U3coKTtXJiYodHlwZW9mIG49PT0ibnVtYmVyIj9uPVtuXTp0eXBlb2Ygbj09PSJzdHJpbmciJiYobj1bcGFyc2VJbnQobiwxMCldKSxnLnkyKG4sRD0+e1cudW5zdWJzY3JpYmVCeUtleShEKTtkZWxldGUgQUlbRF19KSl9OwpaNT1mdW5jdGlvbihuLFcpe3ZhciBEPVN3KCk7cmV0dXJuIEQ/RC5wdWJsaXNoLmFwcGx5KEQsYXJndW1lbnRzKTohMX07CnlKPWZ1bmN0aW9uKG4pe3ZhciBXPVN3KCk7aWYoVylpZihXLmNsZWFyKG4pLG4pVWMobik7ZWxzZSBmb3IobGV0IEQgaW4gS20pVWMoRCl9OwpFYz1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPVdebjtpZighKG4tNj4+Mykpe2VYKGteMjk5MCxrXjYwMjksRCk7dmFyIGg9RFtJW2teMjk4Nl1dKyhEW0lba14yOTg2XV0/SVtrXjMwNjBdOklba14zMDY3XSkrRFtJW2teMjk2N11dK0RbSVtrXjI5ODhdXTtpZihQMChrXjMwNDUsa140NjE4LEQpKXtsZXQgTD1bXTtnLmFfKERbSVsxXV0sKEcscik9PntHIT09bnVsbCYmTFtJW2teMjk4Ml1dKGAke3J9PSR7R31gKX0pOwpsZXQgZT1MW0lba14zMDA1XV0oSVtrXjI5NDVdKTtoKz1gPyR7ZX1gfXZhciB4PWh9KG4rMl43KTxuJiYobi01fDIzKT49biYmKGI9PT1JW2teNjU4OV0mJigoaD12W0lba142NTYzXV0oSVtrXjY1NDhdKSk+PTA/KGI9YGNtbz0ke3ZbSVtrXjY1NjZdXSgwLGgpfWAsdj12W0lba142NTY2XV0oaCsxKSk6KGg9dltJW2teNjU2M11dKElba142NTM1XSkpPj0wJiYoYj1gY21vPSR7dltJW2teNjU2Nl1dKDAsaCl9YCx2PXZbSVtrXjY1NjZdXShoKzMpKSksRFtiXT12KTtyZXR1cm4geH07ClN3PWZ1bmN0aW9uKCl7cmV0dXJuIGcucWkueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07ClVjPWZ1bmN0aW9uKG4pe0ttW25dJiYobj1LbVtuXSxnLnkyKG4sVz0+e0FJW1ddJiZkZWxldGUgQUlbV119KSxuLmxlbmd0aD0wKX07CmlNPWZ1bmN0aW9uKG4sVyxEPW51bGwpe3J2aChuLFcsRCl9Owpydmg9ZnVuY3Rpb24obixXLEQ9bnVsbCl7dmFyIGI9dU0odHlwZW9mIG49PT0ic3RyaW5nIj9uOm4udG9TdHJpbmcoKSksdj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxrPXYmJmdKKHYpLGg9diYmIWs7az9XJiZXKCk6KFcmJihrPU9jKGIsVyksVz1gJHtBaShXKX1gLG9JW1ddPWspLGh8fCh2PXN6UyhuLGIsKCk9PntnSih2KXx8KGI1dCh2KSxaNShiKSxnLm4kKCgpPT57eUooYil9LDApKX0sRCkpKX07CnN6Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwpe3ZhciB2PWcuekYoIlNDUklQVCIpO3YuaWQ9Vzt2Lm9ubG9hZD0oKT0+e0QmJnNldFRpbWVvdXQoRCwwKX07CnYub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57c3dpdGNoKHYucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6di5vbmxvYWQoKX19OwpiJiZ2LnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpO2cuUE0odix0eXBlb2Ygbj09PSJzdHJpbmciP2Z3KG4pOm4pO249ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTtuLmluc2VydEJlZm9yZSh2LG4uZmlyc3RDaGlsZCk7cmV0dXJuIHZ9Owp1TT1mdW5jdGlvbihuKXt2YXIgVz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Zy5OVShXLG4pO249Vy5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIik7cmV0dXJuYGpzLSR7c1Qobil9YH07CnpUPWZ1bmN0aW9uKG4sVyl7aWYobj09PVcpbj0hMDtlbHNlIGlmKEFycmF5LmlzQXJyYXkobikmJkFycmF5LmlzQXJyYXkoVykpbj12NChuLFcselQpO2Vsc2UgaWYoZy5mdChuKSYmZy5mdChXKSlhOmlmKGcuTFQobikubGVuZ3RoIT1nLkxUKFcpLmxlbmd0aCluPSExO2Vsc2V7Zm9yKGxldCBEIGluIG4paWYoIXpUKG5bRF0sV1tEXSkpe249ITE7YnJlYWsgYX1uPSEwfWVsc2Ugbj0hMTtyZXR1cm4gbn07Cmp3PWZ1bmN0aW9uKG4sLi4uVyl7aWYoIWxNKG4pfHxXLnNvbWUoRD0+IWxNKEQpKSl0aHJvdyBFcnJvcigiT25seSBvYmplY3RzIG1heSBiZSBtZXJnZWQuIik7CmZvcihsZXQgRCBvZiBXKVRUKG4sRCl9OwpUVD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBpbiBXKWlmKGxNKFdbRF0pKXtpZihEIGluIG4mJiFsTShuW0RdKSl0aHJvdyBFcnJvcigiQ2Fubm90IG1lcmdlIGFuIG9iamVjdCBpbnRvIGEgbm9uLW9iamVjdC4iKTtEIGluIG58fChuW0RdPXt9KTtUVChuW0RdLFdbRF0pfWVsc2UgaWYoQ20oV1tEXSkpe2lmKEQgaW4gbiYmIUNtKG5bRF0pKXRocm93IEVycm9yKCJDYW5ub3QgbWVyZ2UgYW4gYXJyYXkgaW50byBhIG5vbi1hcnJheS4iKTtEIGluIG58fChuW0RdPVtdKTtCVShuW0RdLFdbRF0pfWVsc2UgbltEXT1XW0RdO3JldHVybiBufTsKQlU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgVylsTShEKT9uLnB1c2goVFQoe30sRCkpOkNtKEQpP24ucHVzaChCVShbXSxEKSk6bi5wdXNoKEQpO3JldHVybiBufTsKbE09ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJiFBcnJheS5pc0FycmF5KG4pfTsKQ209ZnVuY3Rpb24obil7cmV0dXJuIHR5cGVvZiBuPT09Im9iamVjdCImJkFycmF5LmlzQXJyYXkobil9OwpnLkZpPWZ1bmN0aW9uKG49ITEpe2cuRk0uY2FsbCh0aGlzKTt0aGlzLlkkPW5ldyBCSyhuKTtnLnUodGhpcyx0aGlzLlkkKX07Ck1iPWZ1bmN0aW9uKG4pe2lmKHdpbmRvdy5jcnlwdG8mJndpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXRyeXt2YXIgVz1BcnJheShuKSxEPW5ldyBVaW50OEFycmF5KG4pO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKEQpO2Zvcih2YXIgYj0wO2I8Vy5sZW5ndGg7YisrKVdbYl09RFtiXTtyZXR1cm4gV31jYXRjaCh2KXt9Vz1BcnJheShuKTtmb3IoRD0wO0Q8bjtEKyspe2I9RGF0ZS5ub3coKTtmb3IobGV0IHY9MDt2PGIlMjM7disrKVdbRF09TWF0aC5yYW5kb20oKTtXW0RdPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTYpfWlmKHdvKWZvcihEPTEsYj0wO2I8d28ubGVuZ3RoO2IrKylXW0Qlbl1ePVdbKEQtMSklbl0vNF53by5jaGFyQ29kZUF0KGIpLEQrKztyZXR1cm4gV307CmcuUkk9ZnVuY3Rpb24obil7bj1NYihuKTt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5LV8iLmNoYXJBdChuW0RdJjYzKSk7cmV0dXJuIFcuam9pbigiIil9OwpnLlFKPWZ1bmN0aW9uKCl7cmV0dXJuIGcuaV8oTWIoMTYpLG49PihuJjE1KS50b1N0cmluZygxNikpLmpvaW4oIiIpfTsKYUk9ZnVuY3Rpb24oKXsoe0NQOlc9ITEsTTY6bj0hMH09e30pO3ZhciBuLFc7aWYoZy5ycigiX2xhY3QiLHdpbmRvdyk9PW51bGwpe3ZhciBEPXBhcnNlSW50KGcuQXIoIkxBQ1QiKSwxMCk7RD1pc0Zpbml0ZShEKT9EYXRlLm5vdygpLU1hdGgubWF4KEQsMCk6LTE7Zy5HYigiX2xhY3QiLEQsd2luZG93KTtnLkdiKCJfZmFjdCIsRCx3aW5kb3cpO0Q9PS0xJiZWSigpO05ndyhXLG4pO25ldyBtWSgoKT0+e2NVKCJtb3VzZSIsMTAwKX0pfX07Cm5YPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IGcud1ooVyk7KFc9RC5nZXQoInJlcV9pZCIpKSYmbi5zZXQoInJlcV9pZCIsVyk7Zy5hXyhuLk4sKGIsdik9PntEWyJzZXQiXSh2LG51bGwpfSk7CnJldHVybiBEfTsKTmd3PWZ1bmN0aW9uKG49ITEsVz0hMCl7dmFyIEQ9d2luZG93O2cuSTkoRC5kb2N1bWVudCwia2V5ZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwia2V5dXAiLFZKKTtnLkk5KEQuZG9jdW1lbnQsIm1vdXNlZG93biIsVkopO2cuSTkoRC5kb2N1bWVudCwibW91c2V1cCIsVkopO24/Zy5JOShELCJ0b3VjaG1vdmUiLCgpPT57Y1UoInRvdWNobW92ZSIsMjAwKX0se3Bhc3NpdmU6ITB9KTooZy5JOShELCJyZXNpemUiLCgpPT57Y1UoInJlc2l6ZSIsMjAwKX0pLFcmJmcuSTkoRCwic2Nyb2xsIiwoKT0+e2NVKCJzY3JvbGwiLDIwMCl9KSk7CmcuSTkoRC5kb2N1bWVudCwidG91Y2hzdGFydCIsVkose3Bhc3NpdmU6ITB9KTtnLkk5KEQuZG9jdW1lbnQsInRvdWNoZW5kIixWSix7cGFzc2l2ZTohMH0pfTsKY1U9ZnVuY3Rpb24obixXKXtieVtuXXx8KGJ5W25dPSEwLHRhLkxTKCgpPT57VkooKTtieVtuXT0hMX0sVykpfTsKVko9ZnVuY3Rpb24oKXtnLnJyKCJfbGFjdCIsd2luZG93KT09bnVsbCYmKGFJKCksZy5ycigiX2xhY3QiLHdpbmRvdykpO3ZhciBuPURhdGUubm93KCk7Zy5HYigiX2xhY3QiLG4sd2luZG93KTtnLnJyKCJfZmFjdCIsd2luZG93KT09LTEmJmcuR2IoIl9mYWN0IixuLHdpbmRvdyk7KG49Zy5ycigieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJm4oKX07Cmcudkk9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJfbGFjdCIsd2luZG93KTtyZXR1cm4gbj09bnVsbD8tMTpNYXRoLm1heChEYXRlLm5vdygpLW4sMCl9OwpnLmhwPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcga28obil9OwpnLnhvPWZ1bmN0aW9uKG4sVyl7bi5KLnNldChXLk5ILFcpO3ZhciBEPW4uVy5nZXQoVy5OSCk7aWYoRCl0cnl7RC5RNChuLnJlc29sdmUoVy5OSCkpfWNhdGNoKGIpe0QuSlkoYil9fTsKZ0U9ZnVuY3Rpb24obixXLEQsYj0hMSl7aWYoRC5pbmRleE9mKFcpPi0xKXRocm93IEVycm9yKGBEZXBzIGN5Y2xlIGZvcjogJHtXfWApO2lmKG4uTi5oYXMoVykpcmV0dXJuIG4uTi5nZXQoVyk7aWYoIW4uSi5oYXMoVykpe2lmKGIpcmV0dXJuO3Rocm93IEVycm9yKGBObyBwcm92aWRlciBmb3I6ICR7V31gKTt9Yj1uLkouZ2V0KFcpO0QucHVzaChXKTtpZihiLlBmIT09dm9pZCAwKXZhciB2PWIuUGY7ZWxzZSBpZihiLlJjKXY9YltnLkxYXT9lWihuLGJbZy5MWF0sRCk6W10sdj1iLlJjKC4uLnYpO2Vsc2UgaWYoYi5ZTCl7dj1iLllMO2xldCBrPXZbZy5MWF0/ZVoobix2W2cuTFhdLEQpOltdO3Y9bmV3IHYoLi4uayl9ZWxzZSB0aHJvdyBFcnJvcihgQ291bGQgbm90IHJlc29sdmUgcHJvdmlkZXJzIGZvcjogJHtXfWApO0QucG9wKCk7Yi5wbnx8bi5OLnNldChXLHYpO3JldHVybiB2fTsKZVo9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXP1cubWFwKGI9PmIgaW5zdGFuY2VvZiBrbz9nRShuLGIua2V5LEQsITApOmdFKG4sYixEKSk6W119OwpnLnFqPWZ1bmN0aW9uKCl7WDR8fChYND1uZXcgcEhyKTtyZXR1cm4gWDR9Owp0cD1mdW5jdGlvbigpe3JldHVybiJoNXZjYyJpbiBHcCYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VCZWdpbiYmR3AuaDV2Y2MudHJhY2VFdmVudD8udHJhY2VFbmQ/MToicGVyZm9ybWFuY2UiaW4gR3AmJkdwLnBlcmZvcm1hbmNlLm1hcmsmJkdwLnBlcmZvcm1hbmNlLm1lYXN1cmU/MjowfTsKJG89ZnVuY3Rpb24obil7dmFyIFc9dHAoKTtzd2l0Y2goVyl7Y2FzZSAxOkdwLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsbik7YnJlYWs7Y2FzZSAyOkdwLnBlcmZvcm1hbmNlLm1hcmsoYCR7bn0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpnLnBiKFcsInVua25vd24gdHJhY2UgdHlwZSIpfX07CnJFPWZ1bmN0aW9uKG4pe3ZhciBXPXRwKCk7c3dpdGNoKFcpe2Nhc2UgMTpHcC5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixuKTticmVhaztjYXNlIDI6Vz1gJHtufS1zdGFydGA7bGV0IEQ9YCR7bn0tZW5kYDtHcC5wZXJmb3JtYW5jZS5tYXJrKEQpO0dwLnBlcmZvcm1hbmNlLm1lYXN1cmUobixXLEQpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0OmcucGIoVywidW5rbm93biB0cmFjZSB0eXBlIil9fTsKWUtqPWZ1bmN0aW9uKG4pe3ZhciBXPUFycmF5LmZyb20obi5OLmtleXMoKSkuc29ydCgoRCxiKT0+KG4uTltiXS5wcmlvcml0eT8/MCktKG4uTltEXS5wcmlvcml0eT8/MCkpOwpmb3IobGV0IEQgb2YgVylXPW4uTltEXSxXLmpvYklkPT09dm9pZCAwfHxXLk1KfHwobi5zY2hlZHVsZXIuc08oVy5qb2JJZCksZy5WeCgwLFcuSmEsMTApKX07CmZSMj1mdW5jdGlvbihuLFcsRCl7SEd0JiZjb25zb2xlLmdyb3VwQ29sbGFwc2VkJiZjb25zb2xlLmdyb3VwRW5kJiYoY29uc29sZS5ncm91cENvbGxhcHNlZChgWyR7bi5jb25zdHJ1Y3Rvci5uYW1lfV0gJyR7bi5zdGF0ZX0nIHRvICcke1d9J2ApLGNvbnNvbGUubG9nKCJ3aXRoIG1lc3NhZ2U6ICIsRCksY29uc29sZS5ncm91cEVuZCgpKX07ClNLQz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuZmlsdGVyKHY9PihuLko/P3YucHJpb3JpdHk/PzApPT09MTApLGI9Vy5maWx0ZXIodj0+KG4uSj8/di5wcmlvcml0eT8/MCkhPT0xMCk7CnJldHVybiBuLlguS0c/YXN5bmMoLi4udik9Pnthd2FpdCBKdlooRCwuLi52KTtzOShuLGIsLi4udil9OiguLi52KT0+e0lSMShELC4uLnYpOwpzOShuLGIsLi4udil9fTsKSnZaPWFzeW5jIGZ1bmN0aW9uKG4sLi4uVyl7Zy5EeSgpO2ZvcihsZXQgRCBvZiBuKXtsZXQgYjthOSgoKT0+e05qKEQubmFtZSk7dmFyIHY9cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpZbyh2KT9iPWcubCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIik/di50aGVuKCgpPT57SEkoRC5uYW1lKX0pOnYudGhlbigoKT0+e0hJKEQubmFtZSl9LGs9Pnt3aW5kb3cub25lcnJvcj8uKGsubWVzc2FnZSwiIiwwLDAsayk7CkhJKEQubmFtZSl9KTpISShELm5hbWUpfSk7CmImJmF3YWl0IGJ9fTsKczk9ZnVuY3Rpb24obixXLC4uLkQpe1c9Vy5tYXAoYj0+KHtKYTooKT0+e05qKGIubmFtZSk7cFgoKCk9PmIuY2FsbGJhY2soLi4uRCkpOwpISShiLm5hbWUpfSwKcHJpb3JpdHk6bi5KPz9iLnByaW9yaXR5Pz8wfSkpOwpXLmxlbmd0aCYmKG4uVz1uZXcgQXZqKFcpKX07CklSMT1mdW5jdGlvbihuLC4uLlcpe2cuRHkoKTtmb3IobGV0IEQgb2YgbilhOSgoKT0+e05qKEQubmFtZSk7cFgoKCk9PkQuY2FsbGJhY2soLi4uVykpOwpISShELm5hbWUpfSl9OwpOaj1mdW5jdGlvbihuKXtmWCYmbiYmJG8obil9OwpIST1mdW5jdGlvbihuKXtmWCYmbiYmckUobil9OwpwWD1mdW5jdGlvbihuKXtpZihnLmwoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpKXJldHVybiBuKCk7dHJ5e3JldHVybiBuKCl9Y2F0Y2goVyl7d2luZG93Lm9uZXJyb3I/LihXLm1lc3NhZ2UsIiIsMCwwLFcpfX07CkliPWZ1bmN0aW9uKCl7SnB8fChKcD1uZXcgbUV3KTtyZXR1cm4gSnB9OwpBcD1mdW5jdGlvbigpe1NafHwoU1o9cHcoZy5BcigiV09SS0VSX1NFUklBTElaQVRJT05fVVJMIikpKTtyZXR1cm4gU1p8fHZvaWQgMH07CktYPWZ1bmN0aW9uKCl7dmFyIG49QXAoKTttM3x8bj09PXZvaWQgMHx8KG0zPVhNKG4pKTtyZXR1cm4gbTN9OwpaQT1mdW5jdGlvbihuLFcpe3ZhciBEPU85KFcpO2lmKG4uTltEXSlyZXR1cm4gbi5OW0RdO3ZhciBiPU9iamVjdC5rZXlzKG4uc3RvcmUpfHxbXTtpZihiLmxlbmd0aDw9MSYmTzkoVyk9PT1iWzBdKXJldHVybiBiO3ZhciB2PVtdO2ZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXtsZXQgeD1iW2hdLnNwbGl0KCIvIik7aWYoUEkoVy5hdXRoLHhbMF0pKXt2YXIgaz1XLmlzSnNwYjtQSShrPT09dm9pZCAwPyJ1bmRlZmluZWQiOms/InRydWUiOiJmYWxzZSIseFsxXSkmJlBJKFcuY3R0QXV0aEluZm8seFsyXSkmJihrPVcudGllcixrPWs9PT12b2lkIDA/InVuZGVmaW5lZCI6SlNPTi5zdHJpbmdpZnkoayksUEkoayx4WzNdKSYmdi5wdXNoKGJbaF0pKX19cmV0dXJuIG4uTltEXT12fTsKUEk9ZnVuY3Rpb24obixXKXtyZXR1cm4gbj09PXZvaWQgMHx8bj09PSJ1bmRlZmluZWQiPyEwOm49PT1XfTsKTzk9ZnVuY3Rpb24obil7cmV0dXJuW24uYXV0aD09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmF1dGgsbi5pc0pzcGI9PT12b2lkIDA/InVuZGVmaW5lZCI6bi5pc0pzcGIsbi5jdHRBdXRoSW5mbz09PXZvaWQgMD8idW5kZWZpbmVkIjpuLmN0dEF1dGhJbmZvLG4udGllcj09PXZvaWQgMD8idW5kZWZpbmVkIjpuLnRpZXJdLmpvaW4oIi8iKX07ClU5PWZ1bmN0aW9uKCl7cmV0dXJuIGcubCgiaHRtbDVfc2VuZF9xb2Vfb25fZ2VsIil8fGcubCgid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIil9OwppeT1mdW5jdGlvbihuKXt5Uj1uO1U5KCkmJihnLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1uKTtFOT1uZXcgbn07CnV5PWZ1bmN0aW9uKG4pe3JldHVybiBuP246VTkoKT95Unx8Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRSZWdpc3RlcmVkQ2xpZW50Q3Rvcl98fG51bGw6bnVsbH07CmRFPWZ1bmN0aW9uKCl7dmFyIG49Zy5ycigieXQubG9nZ2luZy5pbXMiKTtufHwobj1uZXcgb2IsZy5HYigieXQubG9nZ2luZy5pbXMiLG4pKTtyZXR1cm4gbn07CktfMj1mdW5jdGlvbigpe2lmKHR5cGVvZiBXb3JrZXI9PT0iZnVuY3Rpb24iJiZBcCgpJiYhenApe3ZhciBuPUQ9PntEPUQuZGF0YTtpZihELm9wPT09InNlcmlhbGl6ZWRHZWxCYXRjaCIpe3ZhciBiPWx5LmdldChELmtleSk7YiYmKFRwKEQuc2VyaWFsaXplZEJhdGNoLGIuY2xpZW50LGIucmVzb2x2ZSxiLm5ldHdvcmtsZXNzT3B0aW9ucyxiLmlzSXNvbGF0ZWQsYi51c2VWU1NFbmRwb2ludCxiLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24sYi5yZXF1ZXN0c091dHN0YW5kaW5nKSxseS5kZWxldGUoRC5rZXkpKX19LFc9S1goKTsKVyYmKFcuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbiksVy5vbmVycm9yPSgpPT57bHkuY2xlYXIoKX0pOwp6cD0hMH19OwpPR3g9ZnVuY3Rpb24obixXKXtpZihuLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKG4pO3ZhciBEPUNYKG4pLGI9Qkkobi5wYXlsb2FkKXx8IiIsdj1GNChiKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe01qKG4sVyk7cmV0dXJufX1SYltEXT0hMDtEPXtjdHRBdXRoSW5mbzpELGlzSnNwYjohMSx0aWVyOmt9O2RFKCkuc3RvcmVQYXlsb2FkKEQsbi5wYXlsb2FkKTtRUihXLCExLEQsVlIoYikpfX07ClBXMT1mdW5jdGlvbihuLFcsRCl7aWYoVy5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtqWih2b2lkIDAsVyk7dmFyIGI9Q1goVywhMCksdj1GNChuKSxrPTIwMDtpZih2KXtpZih2LmVuYWJsZWQ9PT0hMSYmIWcubCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47az13RSh2LnRpZXIpO2lmKGs9PT00MDApe2NJKG4sVyxEKTtyZXR1cm59fVJiW2JdPSEwO2I9e2N0dEF1dGhJbmZvOmIsaXNKc3BiOiEwLHRpZXI6a307ZEUoKS5zdG9yZVBheWxvYWQoYixZdihXLnBheWxvYWQpKTtRUihELCEwLGIsVlIobikpfX07ClFSPWZ1bmN0aW9uKG4sVz0hMSxELGI9ITEpe24mJml5KG4pO249djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8djAoInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2giKXx8djAoIndlYl9sb2dnaW5nX21heF9iYXRjaCIpfHwxMDA7dmFyIHY9KDAsZy5SKSgpLGs9YWIoVyxELnRpZXIpLGg9ay5YO2ImJihrLk49ITApO2I9MDtEJiYoYj1kRSgpLmdldFNlcXVlbmNlQ291bnQoRCkpO2I+PTFFMz9uVSh7d3JpdGVUaGVuU2VuZDohMH0sVyxELnRpZXIpOmI+PW4/V3N8fChXcz1EdigoKT0+e25VKHt3cml0ZVRoZW5TZW5kOiEwfSxXLEQudGllcik7V3M9dm9pZCAwfSwwKSk6di1oPj0xMCYmKGJSKFcsRC50aWVyKSxrLlg9dil9OwpNaj1mdW5jdGlvbihuLFcpe2lmKG4uZW5kcG9pbnQ9PT0ibG9nX2V2ZW50Iil7Zy5sKCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmZEUoKS5zdG9yZVBheWxvYWQoe2lzSnNwYjohMX0sbi5wYXlsb2FkKTtqWihuKTt2YXIgRD1DWChuKSxiPW5ldyBNYXA7Yi5zZXQoRCxbbi5wYXlsb2FkXSk7dmFyIHY9Qkkobi5wYXlsb2FkKXx8IiI7KG49dXkoVykpJiZpeShuKTtyZXR1cm4gbmV3IGcuWDEoKGssaCk9PntFOSYmRTkuaXNSZWFkeSgpP3ZzKGIsRTksayxoLHtieXBhc3NOZXR3b3JrbGVzczohMH0sITAsVlIodikpOmsoKX0pfX07CmNJPWZ1bmN0aW9uKG4sVyxEKXtpZihXLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe2paKHZvaWQgMCxXKTt2YXIgYj1DWChXLCEwKSx2PW5ldyBNYXA7di5zZXQoYixbWXYoVy5wYXlsb2FkKV0pOyhXPXV5KEQpKSYmaXkoVyk7cmV0dXJuIG5ldyBnLlgxKGs9PntFOSYmRTkuaXNSZWFkeSgpP2tBKHYsRTksayx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFZSKG4pKTprKCl9KX19OwpDWD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPSIiO2lmKG4uZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbilEPSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtlbHNlIGlmKG4uY3R0QXV0aEluZm8pe2lmKFcpe1c9bi5jdHRBdXRoSW5mby50b2tlbjtEPW4uY3R0QXV0aEluZm87bGV0IGI9bmV3IGg2O0QudmlkZW9JZD9iLnNldFZpZGVvSWQoRC52aWRlb0lkKTpELnBsYXlsaXN0SWQmJkQyKGIsMix4QSxXSChELnBsYXlsaXN0SWQpKTtMVVtXXT1ifWVsc2UgVz1uLmN0dEF1dGhJbmZvLEQ9e30sVy52aWRlb0lkP0QudmlkZW9JZD1XLnZpZGVvSWQ6Vy5wbGF5bGlzdElkJiYoRC5wbGF5bGlzdElkPVcucGxheWxpc3RJZCksZXlbbi5jdHRBdXRoSW5mby50b2tlbl09RDtEPW4uY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIER9OwpuVT1mdW5jdGlvbihuPXt9LFc9ITEsRCl7bmV3IGcuWDEoKGIsdik9Pnt2YXIgaz1hYihXLEQpLGg9ay5OO2suTj0hMTtpZihnLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpJiZnLmwoIndlYl92c3Nfcm91dGluZ19jaGVja19hbGxfdGllcl9wb2xpY2llcyIpKXtsZXQgeD1hYihXLDMwMCksTD1hYihXLDIwMCk7aD1ofHx4Lk58fEwuTjt4Lk49ITE7TC5OPSExfWc0KGsuVyk7ZzQoay5KKTtrLko9MDtFOSYmRTkuaXNSZWFkeSgpP0Q9PT12b2lkIDAmJmcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/cTEoYix2LG4sVywzMDAsaCk6cTEoYix2LG4sVyxELGgpOihiUihXLEQpLGIoKSl9KX07CnExPWZ1bmN0aW9uKG4sVyxEPXt9LGI9ITEsdj0yMDAsaz0hMSl7dmFyIGg9RTkseD1uZXcgTWFwLEw9bmV3IE1hcCxlPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDAsdGllcjp2fSxHPXtpc0pzcGI6YixjdHRBdXRoSW5mbzp2b2lkIDB9O2lmKGIpe2ZvcihsZXQgciBvZiBPYmplY3Qua2V5cyhSYikpVz1nLmwoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2RFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOltlLEddLHNpemVMaW1pdDoxRTN9KTpkRSgpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMCxjdHRBdXRoSW5mbzpyfSksVy5sZW5ndGg+MCYmeC5zZXQocixXKSwoZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSYmRC53cml0ZVRoZW5TZW5kfHwhZy5sKCJ3ZWJfZnBfdmlhX2pzcGJfYW5kX2pzb24iKSkmJmRlbGV0ZSBSYltyXTtrQSh4LGgsbixELCExLGspfWVsc2V7Zm9yKGxldCByIG9mIE9iamVjdC5rZXlzKFJiKSl4PWcubCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/CmRFKCkuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtrZXlzOlt7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnIsdGllcjp2fSx7aXNKc3BiOiExLGN0dEF1dGhJbmZvOnJ9XSxzaXplTGltaXQ6MUUzfSk6ZEUoKS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzKHtpc0pzcGI6ITEsY3R0QXV0aEluZm86cn0pLHgubGVuZ3RoPjAmJkwuc2V0KHIseCksKGcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJkQud3JpdGVUaGVuU2VuZHx8IWcubCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgUmJbcl07dnMoTCxoLG4sVyxELCExLGspfX07CmJSPWZ1bmN0aW9uKG49ITEsVz0yMDApe3ZhciBEPSgpPT57blUoe3dyaXRlVGhlblNlbmQ6ITB9LG4sVyl9LGI9YWIobixXKSx2PWI9PT1HVXx8Yj09PXQ2PzVFMzpaR1o7CmcubCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhYi5KJiYodj1EdigoKT0+e0QoKX0sdiksYi5KPXYpOwpnNChiLlcpO3Y9Zy5BcigiTE9HR0lOR19CQVRDSF9USU1FT1VUIix2MCgid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Zy5sKCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmJEEmJih2PVVFdyk7dj1EdigoKT0+e3YwKCJnZWxfbWluX2JhdGNoX3NpemUiKT4wP2RFKCkuZ2V0U2VxdWVuY2VDb3VudCh7Y3R0QXV0aEluZm86dm9pZCAwLGlzSnNwYjpuLHRpZXI6V30pPj15dlMmJkQoKTpEKCl9LHYpOwpiLlc9dn07CnZzPWZ1bmN0aW9uKG4sVyxELGIsdj17fSxrLGgpe3ZhciB4PU1hdGgucm91bmQoKDAsZy5SKSgpKSxMPW4uc2l6ZSxlPXI0KGgpO2ZvcihsZXQgW0cscl1vZiBuKXtuPUc7aD1yO2xldCBOPWcuTmMoe2NvbnRleHQ6Zy5VSihXLmNvbmZpZ198fGcuUzkoKSl9KTtpZighZy5ZMihoKSYmIWcubCgidGhyb3dfZXJyX3doZW5fbG9nZXZlbnRfbWFsZm9ybWVkX2tpbGxzd2l0Y2giKSl7YigpO2JyZWFrfU4uZXZlbnRzPWg7KGg9ZXlbbl0pJiZFdkMoTixuLGgpO2RlbGV0ZSBleVtuXTtsZXQgSD1uPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO2lHaihOLHgsSCk7c3kodik7bGV0IEE9ej0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoeil9KTsKTC0tO0x8fEQoKX0seT0wLFQ9KCk9Pnt5Kys7CmlmKHYuYnlwYXNzTmV0d29ya2xlc3MmJnk9PT0xKXRyeXtnLklJKFcsZSxOLHBVKHt3cml0ZVRoZW5TZW5kOiEwfSxILEEsVCxrKSksJEE9ITF9Y2F0Y2goeil7T3QoeiksYigpfUwtLTtMfHxEKCl9Owp0cnl7Zy5JSShXLGUsTixwVSh2LEgsQSxULGspKSwkQT0hMX1jYXRjaCh6KXtPdCh6KSxiKCl9fX07CmtBPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrKXt2YXIgaD1NYXRoLnJvdW5kKCgwLGcuUikoKSkseD17dmFsdWU6bi5zaXplfSxMPW5ldyBNYXAoWy4uLm5dKTtmb3IobGV0IFtUXW9mIEwpe3ZhciBlPVQsRz1uLmdldChlKTtMPW5ldyB1RjI7dmFyIHI9Vy5jb25maWdffHxnLlM5KCksTj1uZXcgWUEsSD1uZXcgSHM7Zy5TRShILDEsci5NYik7Zy5TRShILDIsci5FRSk7S24oSCwxNixyLkZkKTtnLlNFKEgsMTcsci5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbik7aWYoci5jUil7dmFyIEE9ci5jUix5PW5ldyBpOTtBLmNvbGRDb25maWdEYXRhJiZnLlNFKHksMSxBLmNvbGRDb25maWdEYXRhKTtBLmFwcEluc3RhbGxEYXRhJiZnLlNFKHksNixBLmFwcEluc3RhbGxEYXRhKTtBLmNvbGRIYXNoRGF0YSYmZy5TRSh5LDMsQS5jb2xkSGFzaERhdGEpO0EuaG90SGFzaERhdGEmJnkuVyhBLmhvdEhhc2hEYXRhKTskOShILGk5LDYyLHkpfShBPWcucWkuZGV2aWNlUGl4ZWxSYXRpbykmJgpBIT0xJiZveihILDY1LGcuQV8oQSkpO0E9a1QoKTtBIT09IiImJmcuU0UoSCw1NCxBKTtBPWh5KCk7aWYoQS5sZW5ndGg+MCl7eT1uZXcgZlU7Zm9yKGxldCB6PTA7ejxBLmxlbmd0aDt6Kyspe2xldCBDPW5ldyBKNjtnLlNFKEMsMSxBW3pdLmtleSk7RDIoQywyLEl2LFdIKEFbel0udmFsdWUpKTtOSCh5LDE1LEo2LEMpfSQ5KE4sZlUsNSx5KX1BNyhyLEgpO21UKE4pO0tQKEgpO09KKHIsSCk7UHooSCk7Zy5sKCJzdGFydF9jbGllbnRfZ2NmIikmJlptKEgpO2cuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikmJiFnLmwoInBhZ2VpZF9hc19oZWFkZXJfd2ViIikmJihyPW5ldyBTeSxnLlNFKHIsMyxnLkFyKCJERUxFR0FURURfU0VTU0lPTl9JRCIpKSk7IWcubCgiZmlsbF9kZWxlZ2F0ZV9jb250ZXh0X2luX2dlbF9raWxsc3dpdGNoIikmJihBPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIikpJiYoeT1nZShOLFN5LDMpfHxuZXcgU3ksCnI9TixBPWcuU0UoeSwxOCxBKSwkOShyLFN5LDMsQSkpO3I9SDtBPWcuQXIoIkRFVklDRSIsIiIpO2ZvcihsZXQgW3osQ11vZiBPYmplY3QuZW50cmllcyhnLml3KEEpKSlBPXosQT09PSJjYnJhbmQiP2cuU0UociwxMixDKTpBPT09ImNtb2RlbCI/Zy5TRShyLDEzLEMpOkE9PT0iY2JyIj9nLlNFKHIsODcsQyk6QT09PSJjYnJ2ZXIiP2cuU0Uociw4OCxDKTpBPT09ImNvcyI/Zy5TRShyLDE4LEMpOkE9PT0iY29zdmVyIj9nLlNFKHIsMTksQyk6QT09PSJjcGxhdGZvcm0iJiZLbihyLDQyLGhxaChDKSk7Zy5sKCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYob3ooSCw1NSxnLnlQKHdpbmRvdy5pbm5lcldpZHRoKSksb3ooSCw1NixnLnlQKHdpbmRvdy5pbm5lckhlaWdodCkpKTtOLlcoSCk7JDkoTCxZQSwxLE4pO2lmKEg9TFVbZV0pYTp7aWYoSC5FMSgpKU49MTtlbHNlIGlmKEguZ2V0UGxheWxpc3RJZCgpKU49MjtlbHNlIGJyZWFrIGE7JDkoTCxoNiw0LEgpO0g9Z2UoTCwKWUEsMSl8fG5ldyBZQTtyPWdlKEgsU3ksMyl8fG5ldyBTeTtBPW5ldyBBNjtBLnNldFRva2VuKGUpO0tuKEEsMSxOKTtOSChyLDEyLEE2LEEpOyQ5KEgsU3ksMyxyKX1kZWxldGUgTFVbZV07ZT1lPT09InZpc2l0b3JPbmx5QXBwcm92ZWRLZXkiO21yKCl8fElZKEwsMixoKTshZSYmKE49Zy5BcigiRVZFTlRfSUQiKSkmJihIPUtVKCkscj1uZXcgT3ksZy5TRShyLDEsTiksSVkociwyLEgpLCQ5KEwsT3ksNSxyKSk7c3koYik7aWYoZy5sKCJqc3BiX3NlcmlhbGl6ZV93aXRoX3dvcmtlciIpJiYoTj1LWCgpKSYmYi53cml0ZVRoZW5TZW5kKXtseS5zZXQoUHMse2NsaWVudDpXLHJlc29sdmU6RCxuZXR3b3JrbGVzc09wdGlvbnM6Yixpc0lzb2xhdGVkOnYsdXNlVlNTRW5kcG9pbnQ6ayxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOmUscmVxdWVzdHNPdXRzdGFuZGluZzp4fSk7Ti5wb3N0TWVzc2FnZSh7b3A6ImdlbEJhdGNoVG9TZXJpYWxpemUiLGJhdGNoUmVxdWVzdDpZdihMKSxjbGllbnRFdmVudHM6RywKa2V5OlBzfSk7UHMrKzticmVha31pZihHKXtOPVtdO2ZvcihIPTA7SDxHLmxlbmd0aDtIKyspdHJ5e04ucHVzaChuZXcgWnYoR1tIXSkpfWNhdGNoe090KG5ldyBnLlF4KCJUcmFuc3BvcnQgZmFpbGVkIHRvIGRlc2VyaWFsaXplICIrU3RyaW5nKEdbSF0pKSl9Rz1OfWVsc2UgRz1bXTtmb3IobGV0IHogb2YgRylOSChMLDMsWnYseik7Rz17c3RhcnRUaW1lOigwLGcuUikoKSx0aWNrczp7fSxpbmZvczp7fX07TD1MLmJZKCk7Ry50aWNrcy5nZWxqc3BjPSgwLGcuUikoKTtnLmwoImxvZ19qc3BiX3NlcmlhbGl6ZV9sYXRlbmN5IikmJkYzKCJnZWxfanNwYl9zZXJpYWxpemUiLEcse3NhbXBsZVJhdGU6LjF9KTtUcChMLFcsRCxiLHYsayxlLHgpfX07ClRwPWZ1bmN0aW9uKG4sVyxELGI9e30sdixrLGgseD17dmFsdWU6MH0pe2s9cjQoayk7Yj1wVShiLGgsTD0+e2cubCgic3RhcnRfY2xpZW50X2djZiIpJiZ0YS5MUyhhc3luYygpPT57YXdhaXQgTjEoTCl9KTsKeC52YWx1ZS0tO3gudmFsdWV8fEQoKX0sKCk9Pnt4LnZhbHVlLS07CngudmFsdWV8fEQoKX0sdik7CmIuaGVhZGVyc1siQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2pzb24rcHJvdG9idWYiO2IucG9zdEJvZHlGb3JtYXQ9IkpTUEIiO2IucG9zdEJvZHk9bjtnLklJKFcsaywiIixiKTskQT0hMX07CnN5PWZ1bmN0aW9uKG4pe2cubCgiYWx3YXlzX3NlbmRfYW5kX3dyaXRlIikmJihuLndyaXRlVGhlblNlbmQ9ITEpfTsKcFU9ZnVuY3Rpb24obixXLEQsYix2KXtuPXtyZXRyeTohMCxvblN1Y2Nlc3M6RCxvbkVycm9yOmIsbmV0d29ya2xlc3NPcHRpb25zOm4sZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpXLFRVOiEhdixoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOmcubCgiY29tcHJlc3NfZ2VsIil8fGcubCgiY29tcHJlc3NfZ2VsX2xyIil9O21yKCkmJihuLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLGcuUikoKSkpKTtyZXR1cm4gbn07CmlHaj1mdW5jdGlvbihuLFcsRCl7bXIoKXx8KG4ucmVxdWVzdFRpbWVNcz1TdHJpbmcoVykpO2cubCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYobi51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFEJiYoVz1nLkFyKCJFVkVOVF9JRCIpKSYmKEQ9S1UoKSxuLnNlcmlhbGl6ZWRDbGllbnRFdmVudElkPXtzZXJpYWxpemVkRXZlbnRJZDpXLGNsaWVudENvdW50ZXI6U3RyaW5nKEQpfSl9OwpLVT1mdW5jdGlvbigpe3ZhciBuPWcuQXIoIkJBVENIX0NMSUVOVF9DT1VOVEVSIil8fDA7bnx8KG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKTtuKys7bj42NTUzNSYmKG49MSk7Zy5TSCgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLG4pO3JldHVybiBufTsKRXZDPWZ1bmN0aW9uKG4sVyxEKXtpZihELnZpZGVvSWQpdmFyIGI9IlZJREVPIjtlbHNlIGlmKEQucGxheWxpc3RJZCliPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47bi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPUQ7bi5jb250ZXh0PW4uY29udGV4dHx8e307bi5jb250ZXh0LnVzZXI9bi5jb250ZXh0LnVzZXJ8fHt9O24uY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOlcsc2NvcGU6Yn1dfTsKalo9ZnVuY3Rpb24obixXKXt2YXIgRD1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiKSxiPWJiKCJpbF9wYXlsb2FkX3NjcmFwaW5nIik7Yj0oYiE9PXZvaWQgMD9TdHJpbmcoYik6IiIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighRClpZihiKVV5PVtdLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmVuYWJsZVNjcmFwaW5nRm9yVGVzdCIsITApLGcuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLFV5KSxnLkdiKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5wYXlsb2FkVG9TY3JhcGUiLCJ2aXN1YWxFbGVtZW50U2hvd24gdmlzdWFsRWxlbWVudEhpZGRlbiB2aXN1YWxFbGVtZW50QXR0YWNoZWQgc2NyZWVuQ3JlYXRlZCB2aXN1YWxFbGVtZW50R2VzdHVyZWQgdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIuc3BsaXQoIiAiKSksZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZFBheWxvYWRGcm9tQ2xpZW50RXZlbnRzRnVuY3Rpb24iKSwKZy5HYigieXQubG9nZ2luZy50cmFuc3BvcnQuc2NyYXBlQ2xpZW50RXZlbnQiLCEwKTtlbHNlIHJldHVybjtEPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciKTtiPWcucnIoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnBheWxvYWRUb1NjcmFwZSIpO1cmJihXPVcucGF5bG9hZCwoVz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5nZXRTY3JhcGVkUGF5bG9hZEZyb21DbGllbnRFdmVudHNGdW5jdGlvbiIpLmJpbmQoVykoKSkmJkQucHVzaChXKSk7Vz1nLnJyKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGImJmIubGVuZ3RoPj0xKWZvcihsZXQgdj0wO3Y8Yi5sZW5ndGg7disrKW4mJm4ucGF5bG9hZFtiW3ZdXSYmKFc/RC5wdXNoKG4ucGF5bG9hZCk6RC5wdXNoKChuPy5wYXlsb2FkKVtiW3ZdXSkpO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLEQpfTsKbXI9ZnVuY3Rpb24oKXtyZXR1cm4gZy5sKCJ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlciIpfHxnLmwoImxyX3VzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil9OwpEdj1mdW5jdGlvbihuLFcpe3JldHVybiBnLmwoInRyYW5zcG9ydF91c2Vfc2NoZWR1bGVyIik9PT0hMT9nLm4kKG4sVyk6Zy5sKCJsb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIil8fGcubCgibHJfbG9nZ2luZ19hdm9pZF9ibG9ja2luZ19kdXJpbmdfbmF2aWdhdGlvbiIpP2cuY0IoMCwoKT0+e0liKCkuY3VycmVudFN0YXRlPT09Im5vbmUiP24oKTpJYigpLmluc3RhbGwoe25vbmU6e2NhbGxiYWNrOm59fSl9LFcpOmcuY0IoMCxuLFcpfTsKZzQ9ZnVuY3Rpb24obil7Zy5sKCJ0cmFuc3BvcnRfdXNlX3NjaGVkdWxlciIpP3RhLnNPKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9OwpOMT1hc3luYyBmdW5jdGlvbihuKXtuPW4/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIFc9Zy53KG4sb3Z0KSxEPW4/LmhvdEhhc2hEYXRhLGI9Zy53KG4sZEUyKSx2PW4/LmNvbGRIYXNoRGF0YSxrPWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpO2smJihEJiYoVz9hd2FpdCBIeihrLEQsVyk6YXdhaXQgSHooayxEKSksdiYmKGI/YXdhaXQgZlAoayx2LGIpOmF3YWl0IGZQKGssdikpKTtXPW4/LnJhd0ZpbmNoU3RhdGljQ29uZmlnR3JvdXA7KG49bj8uZmluY2hTdGF0aWNIYXNoRGF0YSk/KEQ9Zy5xaigpLnJlc29sdmUoZy5ocCh6X3QpKSk/YXdhaXQgRC5OVSh7Y29uZmlnOld8fHt9LFlVOm58fCIifSk6KFd8fG4pJiZaRShuZXcgZy5ReCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSBpcyBub3QgcHJlc2VudCwgYnV0IEZpbmNoIGNvbmZpZyBkYXRhIGlzIHByZXNlbnQuIikpOlcmJlpFKG5ldyBnLlF4KCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFiPWZ1bmN0aW9uKG4sVz0yMDApe3JldHVybiBuP1c9PT0zMDA/R1U6bFJDOlc9PT0zMDA/dDY6VGdpfTsKRjQ9ZnVuY3Rpb24obil7aWYoZy5sKCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7bj15NFtufHwiIl07dmFyIFc9Zy5xaigpLnJlc29sdmUoZy5ocChnLlgzKSk/LkxYKCk/LmxvZ2dpbmdIb3RDb25maWc/LmV2ZW50TG9nZ2luZ0NvbmZpZz8ucGF5bG9hZFBvbGljaWVzO2lmKFcpZm9yKGxldCBEPTA7RDxXLmxlbmd0aDtEKyspaWYoV1tEXS5wYXlsb2FkTnVtYmVyPT09bilyZXR1cm4gV1tEXX19OwpCST1mdW5jdGlvbihuKXtuPU9iamVjdC5rZXlzKG4pO2ZvcihsZXQgVyBvZiBuKWlmKHk0W1ddKXJldHVybiBXfTsKd0U9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07ClZSPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09ImdlbERlYnVnZ2luZ0V2ZW50Inx8bj09PSJ3YXRjaFRpbWVTZWdtZW50In07CnI0PWZ1bmN0aW9uKG49ITEpe3JldHVybiBuJiZnLmwoInZzc190aHJvdWdoX2dlbF92aWRlb19zdGF0cyIpPyJ2aWRlb19zdGF0cyI6ImxvZ19ldmVudCJ9Owp1Uj1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj17fSxrPU1hdGgucm91bmQoYi50aW1lc3RhbXB8fCgwLGcuUikoKSk7di5ldmVudFRpbWVNcz1rPE51bWJlci5NQVhfU0FGRV9JTlRFR0VSP2s6MDt2W25dPVc7bj1nLnZJKCk7di5jb250ZXh0PXtsYXN0QWN0aXZpdHlNczpTdHJpbmcoYi50aW1lc3RhbXB8fCFpc0Zpbml0ZShuKT8tMTpuKX07Yi5zZXF1ZW5jZUdyb3VwJiYhZy5sKCJ3ZWJfZ2VsX3NlcXVlbmNlX2luZm9fa2lsbHN3aXRjaCIpJiYobj12LmNvbnRleHQsVz1iLnNlcXVlbmNlR3JvdXAsVz17aW5kZXg6RXkoVyksZ3JvdXBLZXk6V30sbi5zZXF1ZW5jZT1XLGIuZW5kT2ZTZXF1ZW5jZSYmZGVsZXRlIGlSW2Iuc2VxdWVuY2VHcm91cF0pO2cubCgid2ViX3RhZ19hdXRvbWF0ZWRfbG9nX2V2ZW50cyIpJiYodi5jb250ZXh0LmF1dG9tYXRlZExvZ0V2ZW50U291cmNlPWIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpOyhiLnNlbmRJc29sYXRlZFBheWxvYWQ/TWo6T0d4KSh7ZW5kcG9pbnQ6ImxvZ19ldmVudCIsCnBheWxvYWQ6dixjdHRBdXRoSW5mbzpiLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246Yi5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxEKX07Cm92PWZ1bmN0aW9uKG49ITEpe25VKHZvaWQgMCxuKX07CkV5PWZ1bmN0aW9uKG4pe2lSW25dPW4gaW4gaVI/aVJbbl0rMTowO3JldHVybiBpUltuXX07CmcuelU9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPWcuZDQ7Zy5BcigieXRMb2dnaW5nRXZlbnRzRGVmYXVsdERpc2FibGVkIiwhMSkmJmcuZDQ9PT1nLmQ0JiYoYj1udWxsKTt1UihuLFcsYixEKX07ClRVPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgbFIoe3RyYWNraW5nUGFyYW1zOm59KX07Cmp5PWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD1qelorKztyZXR1cm4gbmV3IGxSKHt2ZVR5cGU6bix2ZUNvdW50ZXI6aCxlbGVtZW50SW5kZXg6RCxkYXRhRWxlbWVudDpXLHlvdXR1YmVEYXRhOmIsanNwYllvdXR1YmVEYXRhOnYsbG9nZ2luZ0RpcmVjdGl2ZXM6a30pfTsKQ1U9ZnVuY3Rpb24obj0wKXtyZXR1cm4gZy5BcigiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIse30pW25dfTsKQ1dpPWZ1bmN0aW9uKG4sVz0wKXt2YXIgRD1nLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7RHx8KEQ9e30sZy5TSCgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsRCkpO0RbV109bn07CkJzPWZ1bmN0aW9uKG49MCl7cmV0dXJuIG49PT0wPyJST09UX1ZFX1RZUEUiOmBST09UX1ZFX1RZUEUuJHtufWB9OwpGUj1mdW5jdGlvbihuPTApe3JldHVybiBnLkFyKEJzKG4pKX07Cnc0PWZ1bmN0aW9uKG49MCl7cmV0dXJuKG49RlIobikpP25ldyBsUih7dmVUeXBlOm4seW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTsKTTE9ZnVuY3Rpb24oKXt2YXIgbj1nLkFyKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIpO258fChuPXt9LGcuU0goImNzbi10by1jdHQtYXV0aC1pbmZvIixuKSk7cmV0dXJuIG59OwpCZ3I9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhnLkFyKCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSkpLmZpbHRlcihuPT5uIT09dm9pZCAwKX07CmcuUnY9ZnVuY3Rpb24obj0wKXtuPUNVKG4pO2lmKCFuJiYhZy5BcigiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO258fChuPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIG4/bjpudWxsfTsKd0hDPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBPYmplY3QudmFsdWVzKEZfVSkpaWYoZy5SdihXKT09PW4pcmV0dXJuITA7cmV0dXJuITF9OwpNV3c9ZnVuY3Rpb24obixXLEQpe3ZhciBiPU0xKCk7KEQ9Zy5SdihEKSkmJmRlbGV0ZSBiW0RdO1cmJihiW25dPVcpfTsKUTQ9ZnVuY3Rpb24obil7cmV0dXJuIE0xKClbbl19Owpjcz1mdW5jdGlvbihuLFcsRD0wLGIpe2lmKG4hPT1DVShEKXx8VyE9PWcuQXIoQnMoRCkpKWlmKE1XdyhuLGIsRCksQ1dpKG4sRCksZy5TSChCcyhEKSxXKSxXPSgpPT57c2V0VGltZW91dCgoKT0+e24mJmcuelUoImZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkIix7Y2xpZW50RG9jdW1lbnROb25jZTpWNCxjbGllbnRTY3JlZW5Ob25jZTpufSl9LDApfSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdyl0cnl7d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShXKX1jYXRjaCh2KXtXKCl9ZWxzZSBXKCl9OwpuND1mdW5jdGlvbihuLFcpe3ZhciBEPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pLGI9Zy5JUCh3aW5kb3cubG9jYXRpb24uaHJlZik7YiYmRC5wdXNoKGIpO2I9Zy5JUChuKTtpZihnLmpqKEQsYil8fCFiJiZnLmpVKG4sIi8iKSlpZihEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKSxnLk5VKEQsbiksbj1ELmhyZWYpaWYobj1tVyhuKSxuPUtwKG4pKWlmKCFXLmNzbiYmKFcuaXRjdHx8Vy52ZWQpJiYoVz1PYmplY3QuYXNzaWduKHtjc246Zy5SdigpfSxXKSksdil7dmFyIHY9cGFyc2VJbnQodiwxMCk7aXNGaW5pdGUodikmJnY+MCYmYXYobixXLHYpfWVsc2UgYXYobixXKX07CmF2PWZ1bmN0aW9uKG4sVyxEKXtuPVdhKG4pO1c9Vz95RyhXKToiIjtEPUR8fDU7Zy5hSygpJiZJSyhuLFcsRCl9OwpXYT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgUl9NKW49VDUobixXKTtyZXR1cm4iU1QtIitzVChuKS50b1N0cmluZygzNil9OwpnLkRwPWZ1bmN0aW9uKG4pe2lmKG4uc2ltcGxlVGV4dClyZXR1cm4gbi5zaW1wbGVUZXh0O2lmKG4ucnVucyl7bGV0IFc9W107Zm9yKGxldCBEIG9mIG4ucnVucylELnRleHQmJlcucHVzaChELnRleHQpO3JldHVybiBXLmpvaW4oIiIpfXJldHVybiIifTsKZy5iZz1mdW5jdGlvbihuKXtpZihuLnNpbXBsZVRleHQpcmV0dXJuIG49ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobi5zaW1wbGVUZXh0KSxuO3ZhciBXPVtdO2lmKG4ucnVucylmb3IobGV0IHg9MDt4PG4ucnVucy5sZW5ndGg7eCsrKXt2YXIgRD1uLnJ1bnNbeF07aWYoRC50ZXh0KXt2YXIgYj1XLHY9Yi5wdXNoLGs9bnVsbDt2YXIgaD1ELnRleHQ7RC5ib2xkJiYoaz1nLmRtKCJCIixudWxsLGt8fGgpKTtELml0YWxpY3MmJihrPWcuZG0oIkkiLG51bGwsa3x8aCkpO0Quc3RyaWtldGhyb3VnaCYmKGs9Zy5kbSgiU1RSSUtFIixudWxsLGt8fGgpKTtELm5hdmlnYXRpb25FbmRwb2ludCYmRC5uYXZpZ2F0aW9uRW5kcG9pbnQudXJsRW5kcG9pbnQmJihEPUQubmF2aWdhdGlvbkVuZHBvaW50LnVybEVuZHBvaW50LGs9Zy5kbSgiQSIsbnVsbCxrfHxoKSxnLk5VKGssRC51cmwpLEQudGFyZ2V0PT0iVEFSR0VUX05FV19XSU5ET1ciJiYoay50YXJnZXQ9Il9ibGFuayIpKTtoPWt8fGcuZG0oIlNQQU4iLApudWxsLGgpO3YuY2FsbChiLGgpfX1yZXR1cm4gVy5sZW5ndGg9PTE/V1swXTpnLmRtKCJTUEFOIixudWxsLFcpfTsKUXoxPWZ1bmN0aW9uKG4pe2lmKG4ubmFtZT09PSJKYXZhRXhjZXB0aW9uIilyZXR1cm4hMDtuPW4uc3RhY2s7cmV0dXJuIG4uaW5jbHVkZXMoImNocm9tZTovLyIpfHxuLmluY2x1ZGVzKCItZXh0ZW5zaW9uOi8vIil8fG4uaW5jbHVkZXMoIndlYmtpdC1tYXNrZWQtdXJsOi8vIil9OwpWV3g9ZnVuY3Rpb24obil7aWYoIW4uc3RhY2spcmV0dXJuITA7dmFyIFc9IW4uc3RhY2suaW5jbHVkZXMoIlxuIik7cmV0dXJuIFcmJm4uc3RhY2suaW5jbHVkZXMoIkVycm9yVHlwZTogIil8fFcmJm4uc3RhY2suaW5jbHVkZXMoIkFub255bW91cyBmdW5jdGlvbiAoVW5rbm93biBzY3JpcHQiKXx8bi5zdGFjay50b0xvd2VyQ2FzZSgpPT09Im5vdCBhdmFpbGFibGUifHxuLmZpbGVOYW1lPT09InVzZXItc2NyaXB0Inx8bi5maWxlTmFtZS5zdGFydHNXaXRoKCJ1c2VyLXNjcmlwdDoiKT8hMDohMX07CmhQPWZ1bmN0aW9uKCl7aWYoIXZhKXt2YXIgbj12YT1uZXcgY3ZoO24uTjkubGVuZ3RoPTA7bi5rby5sZW5ndGg9MDtrQihuLGFSUyl9cmV0dXJuIHZhfTsKa0I9ZnVuY3Rpb24obixXKXtXLk45JiZuLk45LnVuc2hpZnQuYXBwbHkobi5OOSxXLk45KTtXLmtvJiZuLmtvLnVuc2hpZnQuYXBwbHkobi5rbyxXLmtvKX07Cm45dz1mdW5jdGlvbihuKXt2YXIgVz1uLmxlbmd0aCxEPTAsYj0oKT0+bi5jaGFyQ29kZUF0KEQrKyk7CmRve3ZhciB2PXhCKGIpO2lmKHY9PT1JbmZpbml0eSlicmVhaztsZXQgaz12Pj4zO3N3aXRjaCh2Jjcpe2Nhc2UgMDp2PXhCKGIpO2lmKGs9PT0yKXJldHVybiB2O2JyZWFrO2Nhc2UgMTppZihrPT09MilyZXR1cm47RCs9ODticmVhaztjYXNlIDI6dj14QihiKTtpZihrPT09MilyZXR1cm4gbi5zdWJzdHIoRCx2KTtEKz12O2JyZWFrO2Nhc2UgNTppZihrPT09MilyZXR1cm47RCs9NDticmVhaztkZWZhdWx0OnJldHVybn19d2hpbGUoRDxXKX07CnhCPWZ1bmN0aW9uKG4pe3ZhciBXPW4oKSxEPVcmMTI3O2lmKFc8MTI4KXJldHVybiBEO1c9bigpO0R8PShXJjEyNyk8PDc7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7RHw9KFcmMTI3KTw8MTQ7aWYoVzwxMjgpcmV0dXJuIEQ7Vz1uKCk7cmV0dXJuIFc8MTI4P0R8KFcmMTI3KTw8MjE6SW5maW5pdHl9OwpnSz1mdW5jdGlvbihuLFcsRCxiKXtpZihuKWlmKEFycmF5LmlzQXJyYXkobikpe3ZhciB2PWI7Zm9yKGI9MDtiPG4ubGVuZ3RoJiYhKG5bYl0mJih2Kz1MNChiLG5bYl0sVyxEKSx2PjUwMCkpO2IrKyk7Yj12fWVsc2UgaWYodHlwZW9mIG49PT0ib2JqZWN0Iilmb3IodiBpbiBuKXtpZihuW3ZdKXthOnt2YXIgaz12O3ZhciBoPW5bdl0seD1XLEw9RDtpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxrIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZrIT09InRyYWNraW5nUGFyYW1zIil7az0wO2JyZWFrIGF9az0oaD1uOXcoYXRvYihoLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpKSkpP0w0KGAke2t9LnZlYCxoLHgsTCk6MH1iKz1rO2IrPUw0KHYsblt2XSxXLEQpO2lmKGI+NTAwKWJyZWFrfX1lbHNlIERbV109ZWkobiksYis9RFtXXS5sZW5ndGg7ZWxzZSBEW1ddPWVpKG4pLGIrPURbV10ubGVuZ3RoO3JldHVybiBifTsKTDQ9ZnVuY3Rpb24obixXLEQsYil7RCs9YC4ke259YDtuPWVpKFcpO2JbRF09bjtyZXR1cm4gRC5sZW5ndGgrbi5sZW5ndGh9OwplaT1mdW5jdGlvbihuKXt0cnl7cmV0dXJuKHR5cGVvZiBuPT09InN0cmluZyI/bjpTdHJpbmcoSlNPTi5zdHJpbmdpZnkobikpKS5zdWJzdHIoMCw1MDApfWNhdGNoKFcpe3JldHVybmB1bmFibGUgdG8gc2VyaWFsaXplICR7dHlwZW9mIG59ICgke1cubWVzc2FnZX0pYH19OwpXTlU9ZnVuY3Rpb24obixXPXt9KXtpZihuPW4uelope2xldCBEPW4uSngsYj1uLmQ2O249W1siY29tcG9uZW50U3RhY2siLG4ubUldLFsid2l6VGFnTmFtZSIsbi50YWdOYW1lXSxbIndpek93bmVyVHJhY2UiLG4uRHU/LmpvaW4oIiA+ICIpXSxbImVycm9yU2V2ZXJpdHkiLEQ/LnRvU3RyaW5nKCldLFsid2l6RmVhdHVyZUZsYWdzIixiP09iamVjdC5lbnRyaWVzKGIpLmpvaW4oIlxuIik6dm9pZCAwXV07Zm9yKGxldCBbdixrXW9mIG4pbj1rLG4hPT12b2lkIDAmJihXW3ZdPW4pfXJldHVybiBXfTsKZy5xZz1mdW5jdGlvbihuKXtnLlhqKG4pfTsKZy5HcT1mdW5jdGlvbihuKXtnLlhqKG4sIldBUk5JTkciKX07CmcuWGo9ZnVuY3Rpb24obixXPSJFUlJPUiIpe3ZhciBEPXt9O0QubmFtZT1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSk7RC52ZXJzaW9uPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7REh0KG4sRCxXKX07CkRIdD1mdW5jdGlvbihuLFcsRD0iRVJST1IiKXtpZihuKXtuLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZuLmxldmVsJiYoRD1uLmxldmVsKTtpZihnLmwoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBiPVc7aWYoIWI/LmNvbXBvbmVudFN0YWNrKXt2YXIgdj1uLnpaPy5tSTt2JiYoYnx8KGI9e30pLGIuY29tcG9uZW50U3RhY2s9dil9Vz1ifHxXfWVsc2UgVz1XTlUobixXKSxiPW4uelo/Lkp4LGIhPT12b2lkIDAmJkQhPT0iSUdOT1JFRCImJihEPWI+PTM/IkVSUk9SIjoiV0FSTklORyIpO2lmKGcubCgiY29uc29sZV9sb2dfanNfZXhjZXB0aW9ucyIpfHxbInRlc3QiLCJkZXYiLCJhdXRvcHVzaCIsInN0YWdpbmciXS5pbmNsdWRlcyhnLkFyKCJTRVJWRVJfVkVSU0lPTiIpKSliPVtdLGIucHVzaChgTmFtZTogJHtuLm5hbWV9YCksYi5wdXNoKGBNZXNzYWdlOiAke24ubWVzc2FnZX1gKSxuLmhhc093blByb3BlcnR5KCJwYXJhbXMiKSYmYi5wdXNoKGBFcnJvciBQYXJhbXM6ICR7SlNPTi5zdHJpbmdpZnkobi5wYXJhbXMpfWApLApuLmhhc093blByb3BlcnR5KCJhcmdzIikmJmIucHVzaChgRXJyb3IgYXJnczogJHtKU09OLnN0cmluZ2lmeShuLmFyZ3MpfWApLGIucHVzaChgRmlsZSBuYW1lOiAke24uZmlsZU5hbWV9YCksYi5wdXNoKGBTdGFja3RyYWNlOiAke24uc3RhY2t9YCksYj1iLmpvaW4oIlxuIiksd2luZG93LmNvbnNvbGUubG9nKGIsbik7aWYoISh0UD49NSkpe2I9W107Zm9yKGsgb2YgYm4yKXRyeXtrKCkmJmIucHVzaChrKCkpfWNhdGNoKEEpe312YXIgaz1iO2s9Wy4uLnY5MiwuLi5rXTt2YXIgaD1yaWIobik7Yj1oLm1lc3NhZ2V8fCJVbmtub3duIEVycm9yIjt2PWgubmFtZXx8IlVua25vd25FcnJvciI7dmFyIHg9aC5zdGFja3x8bi5TdHx8Ik5vdCBhdmFpbGFibGUiO2lmKHguc3RhcnRzV2l0aChgJHt2fTogJHtifWApKXt2YXIgTD14LnNwbGl0KCJcbiIpO0wuc2hpZnQoKTt4PUwuam9pbigiXG4iKX1MPWgubGluZU51bWJlcnx8Ik5vdCBhdmFpbGFibGUiO2g9aC5maWxlTmFtZXx8Ik5vdCBhdmFpbGFibGUiOwpsZXQgSD0wO2lmKG4uaGFzT3duUHJvcGVydHkoImFyZ3MiKSYmbi5hcmdzJiZuLmFyZ3MubGVuZ3RoKWZvcih2YXIgZT0wO2U8bi5hcmdzLmxlbmd0aCYmIShIPWdLKG4uYXJnc1tlXSxgcGFyYW1zLiR7ZX1gLFcsSCksSD49NTAwKTtlKyspO2Vsc2UgaWYobi5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJm4ucGFyYW1zKXtsZXQgQT1uLnBhcmFtcztpZih0eXBlb2Ygbi5wYXJhbXM9PT0ib2JqZWN0Iilmb3IoZSBpbiBBKXtpZighQVtlXSljb250aW51ZTtsZXQgeT1gcGFyYW1zLiR7ZX1gLFQ9ZWkoQVtlXSk7V1t5XT1UO0grPXkubGVuZ3RoK1QubGVuZ3RoO2lmKEg+NTAwKWJyZWFrfWVsc2UgVy5wYXJhbXM9ZWkoQSl9aWYoay5sZW5ndGgpZm9yKGU9MDtlPGsubGVuZ3RoJiYhKEg9Z0soa1tlXSxgcGFyYW1zLmNvbnRleHQuJHtlfWAsVyxIKSxIPj01MDApO2UrKyk7bmF2aWdhdG9yLnZlbmRvciYmIVcuaGFzT3duUHJvcGVydHkoInZlbmRvciIpJiYoV1siZGV2aWNlLnZlbmRvciJdPQpuYXZpZ2F0b3IudmVuZG9yKTtlPXttZXNzYWdlOmIsbmFtZTp2LGxpbmVOdW1iZXI6TCxmaWxlTmFtZTpoLHN0YWNrOngscGFyYW1zOlcsc2FtcGxlV2VpZ2h0OjF9O1c9TnVtYmVyKG4uY29sdW1uTnVtYmVyKTtpc05hTihXKXx8KGUubGluZU51bWJlcj1gJHtlLmxpbmVOdW1iZXJ9OiR7V31gKTtpZihuLmxldmVsPT09IklHTk9SRUQiKXZhciBHPTA7ZWxzZSBhOntuPWhQKCk7Zm9yKEcgb2Ygbi5OOSlpZihlLm1lc3NhZ2UmJmUubWVzc2FnZS5tYXRjaChHLktSKSl7Rz1HLndlaWdodDticmVhayBhfWZvcih2YXIgciBvZiBuLmtvKWlmKHIuY2FsbGJhY2soZSkpe0c9ci53ZWlnaHQ7YnJlYWsgYX1HPTF9ZS5zYW1wbGVXZWlnaHQ9RztHPWU7Zm9yKHZhciBOIG9mIGskYil7aWYoIU4uWXpbRy5uYW1lXSljb250aW51ZTtyPU4uWXpbRy5uYW1lXTtmb3IobGV0IEEgb2Ygcil7cj1HLm1lc3NhZ2UubWF0Y2goQS53Yik7aWYoIXIpY29udGludWU7Ry5wYXJhbXNbInBhcmFtcy5lcnJvci5vcmlnaW5hbCJdPQpyWzBdO249QS5ncm91cHM7ZT17fTtmb3IoVz0wO1c8bi5sZW5ndGg7VysrKWVbbltXXV09cltXKzFdLEcucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHtuW1ddfWBdPXJbVysxXTtHLm1lc3NhZ2U9Ti5HMShlKTticmVha319Ry5wYXJhbXN8fChHLnBhcmFtcz17fSk7Tj1oUCgpO0cucGFyYW1zWyJwYXJhbXMuZXJyb3JTZXJ2aWNlU2lnbmF0dXJlIl09YG1zZz0ke04uTjkubGVuZ3RofSZjYj0ke04ua28ubGVuZ3RofWA7Ry5wYXJhbXNbInBhcmFtcy5zZXJ2aWNlV29ya2VyIl09ImZhbHNlIjtnLnFpLmRvY3VtZW50JiZnLnFpLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihHLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3ICRCKHJLLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT0kQiYmKEcucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09InRydWUiKTt3aW5kb3cueXRlcnImJgp0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKEcpO0cuc2FtcGxlV2VpZ2h0PT09MHx8SVUuaGFzKEcubWVzc2FnZSl8fGhUUyhHLEQpfX19OwpoVFM9ZnVuY3Rpb24obixXPSJFUlJPUiIpe2lmKFc9PT0iRVJST1IiKXtTaS5XSigiaGFuZGxlRXJyb3IiLG4pO2lmKGcubCgicmVjb3JkX2FwcF9jcmFzaGVkX3dlYiIpJiZBUD09PTAmJm4uc2FtcGxlV2VpZ2h0PT09MSl7QVArKzt2YXIgRD17YXBwQ3Jhc2hUeXBlOiJBUFBfQ1JBU0hfVFlQRV9CUkVBS1BBRCJ9O2cubCgicmVwb3J0X2NsaWVudF9lcnJvcl93aXRoX2FwcF9jcmFzaF9rcyIpfHwoRC5zeXN0ZW1IZWFsdGg9e2NyYXNoRGF0YTp7Y2xpZW50RXJyb3I6e2xvZ01lc3NhZ2U6e21lc3NhZ2U6bi5tZXNzYWdlfX19fSk7Zy56VSgiYXBwQ3Jhc2hlZCIsRCl9eEhNKyt9ZWxzZSBXPT09IldBUk5JTkciJiZTaS5XSigiaGFuZGxlV2FybmluZyIsbik7aWYoZy5sKCJrZXZsYXJfZ2VsX2Vycm9yX3JvdXRpbmciKSl7RD17fTtiOntmb3IoYiBvZiBMTkMpaWYoZy51YihiLnRvTG93ZXJDYXNlKCkpKXt2YXIgYj0hMDticmVhayBifWI9ITF9aWYoYilEPXZvaWQgMDtlbHNle3ZhciB2PQp7c3RhY2tUcmFjZTpuLnN0YWNrfTtuLmZpbGVOYW1lJiYodi5maWxlbmFtZT1uLmZpbGVOYW1lKTtiPW4ubGluZU51bWJlciYmbi5saW5lTnVtYmVyLnNwbGl0P24ubGluZU51bWJlci5zcGxpdCgiOiIpOltdO2IubGVuZ3RoIT09MCYmKGIubGVuZ3RoIT09MXx8aXNOYU4oTnVtYmVyKGJbMF0pKT9iLmxlbmd0aCE9PTJ8fGlzTmFOKE51bWJlcihiWzBdKSl8fGlzTmFOKE51bWJlcihiWzFdKSl8fCh2LmxpbmVOdW1iZXI9TnVtYmVyKGJbMF0pLHYuY29sdW1uTnVtYmVyPU51bWJlcihiWzFdKSk6di5saW5lTnVtYmVyPU51bWJlcihiWzBdKSk7Yj17bGV2ZWw6IkVSUk9SX0xFVkVMX1VOS05PV04iLG1lc3NhZ2U6bi5tZXNzYWdlLGVycm9yQ2xhc3NOYW1lOm4ubmFtZSxzYW1wbGVXZWlnaHQ6bi5zYW1wbGVXZWlnaHR9O1c9PT0iRVJST1IiP2IubGV2ZWw9IkVSUk9SX0xFVkVMX0VSUk9SIjpXPT09IldBUk5JTkciJiYoYi5sZXZlbD0iRVJST1JfTEVWRUxfV0FSTk5JTkciKTt2PXtpc09iZnVzY2F0ZWQ6ITAsCmJyb3dzZXJTdGFja0luZm86dn07RC5wYWdlVXJsPXdpbmRvdy5sb2NhdGlvbi5ocmVmO0Qua3ZQYWlycz1bXTtnLkFyKCJGRVhQX0VYUEVSSU1FTlRTIikmJihELmV4cGVyaW1lbnRJZHM9Zy5BcigiRkVYUF9FWFBFUklNRU5UUyIpKTt2YXIgaz1nLkFyKCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighbXkoIndlYl9kaXNhYmxlX2dlbF9zdHBfZWNhdGNoZXJfa2lsbHN3aXRjaCIpJiZrKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhrKSlELmt2UGFpcnMucHVzaCh7a2V5OmgsdmFsdWU6U3RyaW5nKGtbaF0pfSk7aWYoaD1uLnBhcmFtcylmb3IodmFyIHggb2YgT2JqZWN0LmtleXMoaCkpRC5rdlBhaXJzLnB1c2goe2tleTpgY2xpZW50LiR7eH1gLHZhbHVlOlN0cmluZyhoW3hdKX0pO2lmKHg9bi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZClELnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoeCk7eD1nLkFyKCJTRVJWRVJfTkFNRSIpO2g9Zy5BcigiU0VSVkVSX1ZFUlNJT04iKTsKeCYmaCYmKEQua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTp4fSksRC5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KHg9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiZELmt2UGFpcnMucHVzaCh7a2V5OiJjbGllbnQucGxheWVyLnZlcnNpb24iLHZhbHVlOnh9KTtEPXtlcnJvck1ldGFkYXRhOkQsc3RhY2tUcmFjZTp2LGxvZ01lc3NhZ2U6Yn19aWYoRCYmKGcuelUoImNsaWVudEVycm9yIixEKSxXPT09IkVSUk9SInx8Zy5sKCJlcnJvcnNfZmx1c2hfZ2VsX2Fsd2F5c19raWxsc3dpdGNoIikpKWE6e2lmKGcubCgid2ViX2ZwX3ZpYV9qc3BiIikpe0Q9bTE7bTE9W107aWYoRClmb3IodmFyIEwgb2YgRCl1UihMLnBheWxvYWROYW1lLEwucGF5bG9hZCxnLmQ0LEwub3B0aW9ucyk7b3YoITApO2lmKCFnLmwoIndlYl9mcF92aWFfanNwYl9hbmRfanNvbiIpKWJyZWFrIGF9b3YoKX19aWYoIWcubCgic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciKSl7TD0Kbi5wYXJhbXN8fHt9O1c9e3VybFBhcmFtczp7YToibG9nZXJyb3IiLHQ6ImpzZXJyb3IiLHR5cGU6bi5uYW1lLG1zZzpuLm1lc3NhZ2Uuc3Vic3RyKDAsMjUwKSxsaW5lOm4ubGluZU51bWJlcixsZXZlbDpXLCJjbGllbnQubmFtZSI6TC5uYW1lfSxwb3N0UGFyYW1zOnt1cmw6Zy5BcigiUEFHRV9OQU1FIix3aW5kb3cubG9jYXRpb24uaHJlZiksZmlsZTpuLmZpbGVOYW1lfSxtZXRob2Q6IlBPU1QifTtMLnZlcnNpb24mJihXWyJjbGllbnQudmVyc2lvbiJdPUwudmVyc2lvbik7aWYoVy5wb3N0UGFyYW1zKXtuLnN0YWNrJiYoVy5wb3N0UGFyYW1zLnN0YWNrPW4uc3RhY2spO2Zvcih2YXIgZSBvZiBPYmplY3Qua2V5cyhMKSlXLnBvc3RQYXJhbXNbYGNsaWVudC4ke2V9YF09TFtlXTtpZihlPWcuQXIoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgRyBvZiBPYmplY3Qua2V5cyhlKSlXLnBvc3RQYXJhbXNbR109ZVtHXTsoRz1nLkFyKCJMQVZBX1ZFUlNJT04iKSkmJgooVy5wb3N0UGFyYW1zWyJsYXZhLnZlcnNpb24iXT1HKTtHPWcuQXIoIlNFUlZFUl9OQU1FIik7ZT1nLkFyKCJTRVJWRVJfVkVSU0lPTiIpO0cmJmUmJihXLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09RyxXLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09ZSk7KEc9Zy5BcigiUExBWUVSX0NMSUVOVF9WRVJTSU9OIikpJiYoVy5wb3N0UGFyYW1zWyJjbGllbnQucGxheWVyLnZlcnNpb24iXT1HKX1nLmVkKGAke2cuQXIoIkVDQVRDSEVSX1JFUE9SVF9IT1NUIiwiIil9L2Vycm9yXzIwNGAsVyl9dHJ5e0lVLmFkZChuLm1lc3NhZ2UpfWNhdGNoKHIpe310UCsrfTsKSzQ9ZnVuY3Rpb24obiwuLi5XKXtuLmFyZ3N8fChuLmFyZ3M9W10pO0FycmF5LmlzQXJyYXkobi5hcmdzKSYmbi5hcmdzLnB1c2goLi4uVyl9OwpPYT1mdW5jdGlvbihuKXt2YXIgVz0wO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVc9VyozMStuLmNoYXJDb2RlQXQoRCksRDxuLmxlbmd0aC0xJiYoVyU9MHg4MDAwMDAwMDAwMDApO3JldHVybiBXJTFFNX07Cmc5aT1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCl7dmFyIGU9ZVRoKCk7az1uZXcgbFIoe3ZlVHlwZTpXLHlvdXR1YmVEYXRhOmssanNwYllvdXR1YmVEYXRhOnZvaWQgMH0pO0w9UGEoe2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOkx9LGUpO3YmJihMLmN0dEF1dGhJbmZvPXYpO3Y9e2NzbjplLHBhZ2VWZTprLmdldEFzSnNvbigpfTtnLmwoImV4cGVjdGF0aW9uX2xvZ2dpbmciKSYmeCYmeC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyYmKHYuc2NyZWVuQ3JlYXRlZExvZ2dpbmdFeHBlY3RhdGlvbnM9eC5zY3JlZW5DcmVhdGVkTG9nZ2luZ0V4cGVjdGF0aW9ucyk7RCYmRC52aXN1YWxFbGVtZW50Pyh2LmltcGxpY2l0R2VzdHVyZT17cGFyZW50Q3NuOkQuY2xpZW50U2NyZWVuTm9uY2UsZ2VzdHVyZWRWZTpELnZpc3VhbEVsZW1lbnQuZ2V0QXNKc29uKCl9LGgmJih2LmltcGxpY2l0R2VzdHVyZS5nZXN0dXJlVHlwZT1oKSk6RCYmZy5HcShuZXcgZy5ReCgibmV3U2NyZWVuKCkgcGFyZW50IGVsZW1lbnQgZG9lcyBub3QgaGF2ZSBhIFZFIC0gcm9vdFZlIiwKVykpO2ImJih2LmNsb25lQ3NuPWIpO24/dVIoInNjcmVlbkNyZWF0ZWQiLHYsbixMKTpnLnpVKCJzY3JlZW5DcmVhdGVkIix2LEwpO2w5KFRvLG5ldyBacChlKSk7VWEuY2xlYXIoKTt5NS5jbGVhcigpO0VhLmNsZWFyKCk7cmV0dXJuIGV9Owp1Zz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7aWcobixXLEQsW2JdLHYsayl9OwppZz1mdW5jdGlvbihuLFcsRCxiLHY9ITEsaz17fSl7T2JqZWN0LmFzc2lnbihrLFBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwfSxXKSk7Zm9yKGxldCB4IG9mIGIpe3ZhciBoPXguZ2V0QXNKc29uKCk7KGcuR0YoaCl8fCFoLnRyYWNraW5nUGFyYW1zJiYhaC52ZVR5cGUpJiZnLkdxKEVycm9yKCJDaGlsZCBWRSBsb2dnZWQgd2l0aCBubyBkYXRhIikpO2lmKGcubCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7bGV0IEw9b1UoeCxXKTtpZihoLnZlVHlwZSYmIXk1LmhhcyhMKSYmIUVhLmhhcyhMKSYmIXYpe2lmKCFnLmwoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxVYS5zaXplPDFFMyl7VWEuc2V0KEwsW24sVyxELHhdKTtyZXR1cm59Zy5sKCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiKSYmVWEuc2l6ZT4xRTMmJmcuR3EobmV3IGcuUXgoIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPW9VKEQsVyk7VWEuaGFzKGgpP2RLKEQsVyk6RWEuc2V0KGgsCiEwKX19Yj1iLmZpbHRlcih4PT57eC5jc24hPT1XPyh4LmNzbj1XLHg9ITApOng9ITE7cmV0dXJuIHh9KTsKRD17Y3NuOlcscGFyZW50VmU6RC5nZXRBc0pzb24oKSxjaGlsZFZlczpnLmlfKGIseD0+eC5nZXRBc0pzb24oKSl9OwpXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGssRCk6bj91UigidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELG4sayk6Zy56VSgidmlzdWFsRWxlbWVudEF0dGFjaGVkIixELGspfTsKWFdqPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe2xnKEQsVyk7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpofSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZToxfTt2JiYoRC5jbGllbnREYXRhPXYpO1c9PT0iVU5ERUZJTkVEX0NTTiI/enEoInZpc3VhbEVsZW1lbnRTaG93biIsYixEKTpuP3VSKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U2hvd24iLEQsYil9OwpUcT1mdW5jdGlvbihuLFcsRCxiPSExKXt2YXIgdj1iPzE2Ojg7Yj1QYSh7Y3R0QXV0aEluZm86UTQoVyl8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmIsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxXKTtEPXtjc246Vyx2ZTpELmdldEFzSnNvbigpLGV2ZW50VHlwZTp2fTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRIaWRkZW4iLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixELGIpfTsKcVZaPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtqaShuLFcsRCxiLGspfTsKamk9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12b2lkIDA7bGcoRCxXKTtrPWt8fCJJTlRFUkFDVElPTl9MT0dHSU5HX0dFU1RVUkVfVFlQRV9HRU5FUklDX0NMSUNLIjt2PVBhKHtjdHRBdXRoSW5mbzpRNChXKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZ9LFcpO0Q9e2NzbjpXLHZlOkQuZ2V0QXNKc29uKCksZ2VzdHVyZVR5cGU6a307YiYmKEQuY2xpZW50RGF0YT1iKTtXPT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50R2VzdHVyZWQiLHYsRCk6bj91UigidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELG4sdik6Zy56VSgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixELHYpfTsKRyRqPWZ1bmN0aW9uKCl7dmFyIG49TWIoMTYpO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKVcucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KG5bRF0mNjMpKTtyZXR1cm4gVy5qb2luKCIiKX07CnpxPWZ1bmN0aW9uKG4sVyxEKXtDNC5wdXNoKHtwYXlsb2FkTmFtZTpuLHBheWxvYWQ6RCxwUDp2b2lkIDAsb3B0aW9uczpXfSk7QmF8fChCYT1GME0oKSl9OwpDNHc9ZnVuY3Rpb24obil7aWYoQzQpe2ZvcihsZXQgVyBvZiBDNClXLnBheWxvYWQmJihXLnBheWxvYWQuY3NuPW4uY3NuLGcuelUoVy5wYXlsb2FkTmFtZSxXLnBheWxvYWQsVy5vcHRpb25zKSk7QzQubGVuZ3RoPTB9QmE9MH07Cm9VPWZ1bmN0aW9uKG4sVyl7cmV0dXJuYCR7bi5nZXRBc0pzb24oKS52ZVR5cGV9JHtuLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke1d9YH07CmxnPWZ1bmN0aW9uKG4sVyl7aWYoZy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXt2YXIgRD1vVShuLFcpO3k1LnNldChELCEwKTtkSyhuLFcpfX07CmRLPWZ1bmN0aW9uKG4sVyl7bj1vVShuLFcpO1VhLmhhcyhuKSYmKFc9VWEuZ2V0KG4pfHxbXSx1ZyhXWzBdLFdbMV0sV1syXSxXWzNdLCEwKSxVYS5kZWxldGUobikpfTsKUGE9ZnVuY3Rpb24obixXKXtnLmwoImxvZ19zZXF1ZW5jZV9pbmZvX29uX2dlbF93ZWIiKSYmKG4uc2VxdWVuY2VHcm91cD1XKTtyZXR1cm4gbn07CkZqPWZ1bmN0aW9uKG4sVyxELGIpe1BWKFhXaikodm9pZCAwLG4sVyxELGIsdm9pZCAwKX07CnRFeD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntsZyhELG4pO3ZhciBiPVBhKHtjdHRBdXRoSW5mbzpRNChuKXx8dm9pZCAwLGF1dG9tYXRlZExvZ0V2ZW50U291cmNlOnZvaWQgMH0sbik7RD17Y3NuOm4sdmU6RC5nZXRBc0pzb24oKSxldmVudFR5cGU6NH07bj09PSJVTkRFRklORURfQ1NOIj96cSgidmlzdWFsRWxlbWVudFNob3duIixiLEQpOmcuelUoInZpc3VhbEVsZW1lbnRTaG93biIsRCxiKX0pfSkoKX07CiRIdD1mdW5jdGlvbihuLFcpe1BWKCgpPT57Zy55MihXLEQ9PntUcSh2b2lkIDAsbixEKX0pfSkoKX07CndLPWZ1bmN0aW9uKCl7dmFyIG49ITE7dHJ5e249ISF3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKX1jYXRjaHtuPSEwfXJldHVybihnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUJfQ1JFQVRPUiIpJiZufTsKTWc9ZnVuY3Rpb24oKXt0cnl7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInN0aWNraW5lc3NfcmVsb2FkIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oInNlc3Npb25fbG9naW5pbmZvIik7Zy5TSCgiTE9HSU5fSU5GTyIsIiIpO3dpbmRvdy5zZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCJmcm9tX3N3aXRjaF9hY2NvdW50IiwiMSIpO3ZhciBuO2xldCBEPXJTaDtEfHwoRD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjcGVyc2lzdF9pZGVudGl0eSIpKTtpZihuPUQpe3ZhciBXPW4uc3JjPyhuZXcgVVJMKG4uc3JjKSkub3JpZ2luOiIqIjtuLmNvbnRlbnRXaW5kb3c/LnBvc3RNZXNzYWdlKHthY3Rpb246ImNsZWFyIn0sVyl9fWNhdGNoe319OwpnLlJVPWZ1bmN0aW9uKG4pe24mJihuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9BZGRTZXNzaW9uIik/TWcoKTpuLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKT9NZygpOm4uc3RhcnRzV2l0aCgiaHR0cHM6Ly9teWFjY291bnQuZ29vZ2xlLmNvbSIpJiZscihuKS5KLmVuZHNXaXRoKCIveW91dHViZW9wdGlvbnMiKSYmTWcoKSk7aWYoZy5BcigiTE9HR0VEX0lOIiwhMCkmJndLKCkpe3ZhciBXPWcuQXIoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBEPWcuSVAod2luZG93LmxvY2F0aW9uLmhyZWYpO0QmJlcucHVzaChEKTtEPWcuSVAobik7Zy5qaihXLEQpfHwhRCYmZy5qVShuLCIvIik/KFc9bVcobiksKFc9S3AoVykpPyhXPVdhKFcpLFc9KFc9Zy5TZChXKXx8bnVsbCk/Zy5pdyhXKTp7fSk6Vz1udWxsKTpXPW51bGw7Vz09bnVsbCYmKFc9e30pO0Q9Vzt2YXIgYj12b2lkIDA7CndLKCk/KGJ8fChiPWcuQXIoIkxPR0lOX0lORk8iKSksYj8oRC5zZXNzaW9uX2xvZ2luaW5mbz1iLEQ9ITApOkQ9ITEpOkQ9ITE7RCYmbjQobixXKX19OwpRNT1mdW5jdGlvbihuLFc9e30pe3ZhciBEPWcuQXIoIkVWRU5UX0lEIik7RCYmKFcuZWl8fChXLmVpPUQpKTtXJiZuNChuLFcpfTsKZy5jYT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe0QmJm40KG4sRCk7RD1nLnRGKG4sZy5HNCl8fGcuVjU7dmFyIGs9Z3ooRCk7biE9ayYmWkUoRXJyb3IoYFVuc2FmZSB3aW5kb3cub3BlbiBVUkw6ICR7bn1gKSk7bj1rO1c9V3x8c1QobikudG9TdHJpbmcoMzYpO3RyeXtpZih2KXJldHVybiB2PW4sdj1nLnFiKHYpLGcuUlUodiksSkYodixXLCJhdHRyaWJ1dGlvbnNyYyIpfWNhdGNoKGgpe090KGgpfWcuUlUobik7cmV0dXJuIEpGKEQsVyxiKX07Ck5lMj1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5ocmVmO2lmKGcubCgia2V2bGFyX2Rpc2FibGVfdGhlbWVfcGFyYW0iKSlyZXR1cm4gbnVsbDtTMShuKTt0cnl7bGV0IFc9Zy5vRShuKS50aGVtZTtyZXR1cm4gc1lVLmdldChXKXx8bnVsbH1jYXRjaChXKXt9cmV0dXJuIG51bGx9OwphVT1mdW5jdGlvbihuLFcpe2lmKFcuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPVcsdHlwZW9mIFcuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBEPU51bWJlcihXLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIG4uTltXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxEKjFFMyk7Cm4uSiYmSUsoIkNPTlNJU1RFTkNZIixXLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHMsRCx2b2lkIDAsITApfX07Cm5CPWZ1bmN0aW9uKG4pe3JldHVybiBuLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgdEkoInl0LWNsaWVudC1sb2NhdGlvbiIpOm4ubG9jYWxTdG9yYWdlfTsKZy52Yj1mdW5jdGlvbihuLFc9ITEsRD0hMSxiLHYpe3ZhciBrPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik7aWYoIWspcmV0dXJuIGcuWGooRXJyb3IoIkVycm9yOiBObyBJbm5lclR1YmVDb250ZXh0IHNoZWxsIHByb3ZpZGVkIGluIHl0Y29uZmlnLiIpKSx7fTtrPWcuTmMoayk7Zy5sKCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGsuY2xpY2tUcmFja2luZztrLmNsaWVudHx8KGsuY2xpZW50PXt9KTt2YXIgaD1rLmNsaWVudDtoLmNsaWVudE5hbWU9PT0iTVdFQiImJmguY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGguY2xpZW50Rm9ybUZhY3Rvcj1nLkFyKCJJU19UQUJMRVQiKT8iTEFSR0VfRk9STV9GQUNUT1IiOiJTTUFMTF9GT1JNX0ZBQ1RPUiIpO2guc2NyZWVuV2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGg7aC5zY3JlZW5IZWlnaHRQb2ludHM9d2luZG93LmlubmVySGVpZ2h0O2guc2NyZWVuUGl4ZWxEZW5zaXR5PQpNYXRoLnJvdW5kKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKTtoLnNjcmVlbkRlbnNpdHlGbG9hdD13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtoLnV0Y09mZnNldE1pbnV0ZXM9LU1hdGguZmxvb3IoKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKTt2YXIgeD1nLm85KCk7dmFyIEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjt4LlFRKDE2NSk/TD0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyI6eC5RUSgxNzQpP0w9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0xJR0hUIjohZy5sKCJrZXZsYXJfbGVnYWN5X2Jyb3dzZXJzIikmJndpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lKSIpLm1hdGNoZXMmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyYmKEw9IlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiKTt4PU5lMigpfHxMO2gudXNlckludGVyZmFjZVRoZW1lPQp4O2cubCgid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIikmJmcucWkuZG9jdW1lbnQmJihoLmFwcGxpY2F0aW9uU3RhdGU9Zy5xaS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFXKXtpZih4PUJCKCkpaC5jb25uZWN0aW9uVHlwZT14O2cubCgid2ViX2xvZ19lZmZlY3RpdmVfY29ubmVjdGlvbl90eXBlIikmJih4PXdKKCkpJiYoay5jbGllbnQuZWZmZWN0aXZlQ29ubmVjdGlvblR5cGU9eCl9Zy5sKCJ3ZWJfbG9nX21lbW9yeV90b3RhbF9rYnl0ZXMiKSYmZy5xaS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGsuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke2cucWkubmF2aWdhdG9yPy5kZXZpY2VNZW1vcnkqMUU2fWApO1cmJmImJiFnLmwoIndlYl9pdF9jb250ZXh0X3NldF9vcmlnaW5hbF91cmxfa3MiKSYmKHg9YixMPWcucWkubG9jYXRpb24uaHJlZixMIGluc3RhbmNlb2YKZy5Vanx8KEw9bHIoTCkpLHggaW5zdGFuY2VvZiBnLlVqfHwoeD1scih4KSkseD1MLnJlc29sdmUoeCksaC5vcmlnaW5hbFVybD14LnRvU3RyaW5nKCkpO2lmKGcubCgid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIikpe3ZhciBlPUo3KCk7ZSYmKHg9ZS5jb2xkQ29uZmlnRGF0YSxMPWUuY29sZEhhc2hEYXRhLGU9ZS5ob3RIYXNoRGF0YSxrLmNsaWVudC5jb25maWdJbmZvPWsuY2xpZW50LmNvbmZpZ0luZm98fHt9LHgmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRDb25maWdEYXRhPXgpLEwmJihrLmNsaWVudC5jb25maWdJbmZvLmNvbGRIYXNoRGF0YT1MKSxlJiYoay5jbGllbnQuY29uZmlnSW5mby5ob3RIYXNoRGF0YT1lKSl9eD1nLm9FKGcucWkubG9jYXRpb24uaHJlZik7IWcubCgid2ViX3BvcHVsYXRlX2ludGVybmFsX2dlb19raWxsc3dpdGNoIikmJnguaW50ZXJuYWxjb3VudHJ5Y29kZSYmKGguaW50ZXJuYWxHZW89eC5pbnRlcm5hbGNvdW50cnljb2RlKTshZy5sKCJ3ZWJfcG9wdWxhdGVfY2xpZW50X3NjcmVlbl9raWxsc3dpdGNoIikmJgp2JiYoaC5jbGllbnRTY3JlZW49dik7aC5jbGllbnROYW1lPT09Ik1XRUIifHxoLmNsaWVudE5hbWU9PT0iV0VCIj8oaC5tYWluQXBwV2ViSW5mb3x8KGgubWFpbkFwcFdlYkluZm89e30pLGgubWFpbkFwcFdlYkluZm8uZ3JhZnRVcmw9Ynx8Zy5xaS5sb2NhdGlvbi5ocmVmLGcubCgia2V2bGFyX3dvZmZsZSIpJiZXYi5pbnN0YW5jZSYmKGI9V2IuaW5zdGFuY2UsaC5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hYi5OJiZiLko/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfVU5LTk9XTiIpLGgubWFpbkFwcFdlYkluZm8ud2ViRGlzcGxheU1vZGU9eXgoKSxoLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmguY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFnLmwoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJgooYj1nLkFyKCJMSVZJTkdfUk9PTV9BUFBfUVVBTElUWSIpKSYmKGgudHZBcHBJbmZvPU9iamVjdC5hc3NpZ24oaC50dkFwcEluZm98fHt9LHthcHBRdWFsaXR5OmJ9KSksYj1nLkFyKCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoaC50dkFwcEluZm89T2JqZWN0LmFzc2lnbihoLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpifSkpO2lmKCFnLmwoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIEc9KG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTticmVhayBhfWNhdGNoe31HPXZvaWQgMH1HJiYoaC50aW1lWm9uZT1HKX0oRz1rVCgpKT9oLmV4cGVyaW1lbnRzVG9rZW49RzpkZWxldGUgaC5leHBlcmltZW50c1Rva2VuO2g9aHkoKTtETS5pbnN0YW5jZXx8KERNLmluc3RhbmNlPW5ldyBETSk7Rz1oSyhETS5pbnN0YW5jZS5OKTsKay5yZXF1ZXN0PXsuLi5rLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6aCxjb25zaXN0ZW5jeVRva2VuSmFyczpHfTshZy5sKCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihoPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX1BSRVFVRVNUX0NPTlRFWFQiKSkmJihrLnJlcXVlc3QuZXh0ZXJuYWxQcmVxdWVzdENvbnRleHQ9aCk7Rz1nLm85KCk7aD1HLlFRKDU4KTtHPUcuZ2V0KCJnc21sIiwiIik7ay51c2VyPXsuLi5rLnVzZXJ9O2gmJihrLnVzZXIuZW5hYmxlU2FmZXR5TW9kZT1oKTtHJiYoay51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO2cubCgid2FybV9vcF9jc25fY2xlYW51cCIpP0QmJihXPWcuUnYoKSkmJihrLmNsaWVudFNjcmVlbk5vbmNlPVcpOiFXJiYoVz1nLlJ2KCkpJiYoay5jbGllbnRTY3JlZW5Ob25jZT1XKTtuJiYoay5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOm59KTtpZihuPWcucnIoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWsucmVtb3RlQ2xpZW50PQpuO2IkLmdldEluc3RhbmNlKCkuc2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQoayk7dHJ5e3ZhciByPWcuUUYoKSxOPXIuYmlkO2RlbGV0ZSByLmJpZDtrLmFkU2lnbmFsc0luZm89e3BhcmFtczpbXSxiaWQ6Tn07Zm9yKGxldCBbSCxBXW9mIE9iamVjdC5lbnRyaWVzKHIpKXI9SCxOPUEsay5hZFNpZ25hbHNJbmZvLnBhcmFtcz8ucHVzaCh7a2V5OnIsdmFsdWU6YCR7Tn1gfSk7aWYoay5jbGllbnQ/LmNsaWVudE5hbWU9PT0iVFZIVE1MNSJ8fGsuY2xpZW50Py5jbGllbnROYW1lPT09IlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IEg9Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFQiKTtILmFkU2lnbmFsc0luZm8mJihrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZD1ILmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZCxrLmFkU2lnbmFsc0luZm8uYWR2ZXJ0aXNpbmdJZFNpZ25hbFR5cGU9IkRFVklDRV9JRF9UWVBFX0NPTk5FQ1RFRF9UVl9JRkEiLGsuYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmc9CkguYWRTaWduYWxzSW5mby5saW1pdEFkVHJhY2tpbmcsSC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cyE9PXZvaWQgMCYmKGsuYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXM9SC5hZFNpZ25hbHNJbmZvLmF0VHJhY2tpbmdNYW5hZ2VyQXV0aG9yaXphdGlvblN0YXR1cykpfX1jYXRjaChIKXtnLlhqKEgpfXJldHVybiBrfTsKa1Y9ZnVuY3Rpb24obil7dmFyIFc9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP1dbIlgtR29vZy1FT00tVmlzaXRvci1JZCJdPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKTpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKFdbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO1dbIlgtWW91dHViZS1Cb290c3RyYXAtTG9nZ2VkLUluIl09Zy5BcigiTE9HR0VEX0lOIiwhMSk7Zy5BcigiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKFdbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1nLkFyKCJERUJVR19TRVRUSU5HU19NRVRBREFUQSIpKTtuIT09ImNvcnMiJiYoKG49Zy5BcigiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSkmJihXWyJYLVlvdXR1YmUtQ2xpZW50LU5hbWUiXT1uKSwobj1nLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKFdbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQpuKSwobj1nLkFyKCJDSFJPTUVfQ09OTkVDVEVEX0hFQURFUiIpKSYmKFdbIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIl09biksKG49Zy5BcigiRE9NQUlOX0FETUlOX1NUQVRFIikpJiYoV1siWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSJdPW4pLChuPWIkLmdldEluc3RhbmNlKCkuZ2V0WEdlb0hlYWRlcj8uKCkpJiYoV1siWC1HZW8iXT1uKSk7KG49Zy5BcigiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoV1siWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1uKTtyZXR1cm4gV307CmhtPWZ1bmN0aW9uKG4pe3JldHVybigpPT5uZXcgbn07CnBXTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTEpcmV0dXJuIG5bMF07dmFyIFc9eFYuVU5LTk9XTl9JTlRFUkZBQ0U7aWYoVyl7Vz1uZXcgUmVnRXhwKFcpO2Zvcih2YXIgRCBvZiBuKWlmKFcuZXhlYyhEKSlyZXR1cm4gRH12YXIgYj1bXTtPYmplY3QuZW50cmllcyh4VikuZm9yRWFjaCgoW3Ysa10pPT57IlVOS05PV05fSU5URVJGQUNFIiE9PXYmJmIucHVzaChrKX0pOwpEPW5ldyBSZWdFeHAoYi5qb2luKCJ8IikpO24uc29ydCgodixrKT0+di5sZW5ndGgtay5sZW5ndGgpOwpmb3IobGV0IHYgb2YgbilpZighRC5leGVjKHYpKXJldHVybiB2O3JldHVybiBuWzBdfTsKTEI9ZnVuY3Rpb24obil7cmV0dXJuYC95b3V0dWJlaS92MS8ke3BXTShuKX1gfTsKZ2I9ZnVuY3Rpb24obil7cmV0dXJuIGcucnIoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iKXx8ZUwobil9OwpYQT1mdW5jdGlvbigpe3ZhciBuPWdiKCk7bi5pbmZvfHwobi5pbmZvPXt9KTtyZXR1cm4gbi5pbmZvfTsKcVE9ZnVuY3Rpb24obil7bj1nYihuKTtuLm1ldGFkYXRhfHwobi5tZXRhZGF0YT17fSk7cmV0dXJuIG4ubWV0YWRhdGF9OwpHdz1mdW5jdGlvbihuKXtuPWdiKG4pO24udGlja3x8KG4udGljaz17fSk7cmV0dXJuIG4udGlja307CnRtPWZ1bmN0aW9uKG4pe249Z2Iobik7aWYobi5nZWwpe2xldCBXPW4uZ2VsO1cuZ2VsSW5mb3N8fChXLmdlbEluZm9zPXt9KTtXLmdlbFRpY2tzfHwoVy5nZWxUaWNrcz17fSl9ZWxzZSBuLmdlbD17Z2VsVGlja3M6e30sZ2VsSW5mb3M6e319O3JldHVybiBuLmdlbH07CiRWPWZ1bmN0aW9uKG4pe249dG0obik7bi5nZWxJbmZvc3x8KG4uZ2VsSW5mb3M9e30pO3JldHVybiBuLmdlbEluZm9zfTsKWVZTPWZ1bmN0aW9uKCl7dmFyIG49dG0oKTtuLnByZUxvZ2dlZEdlbEluZm9zfHwobi5wcmVMb2dnZWRHZWxJbmZvcz1bXSk7cmV0dXJuIG4ucHJlTG9nZ2VkR2VsSW5mb3N9OwpyYj1mdW5jdGlvbihuKXt2YXIgVz1nYihuKS5ub25jZTtXfHwoVz1nLlJJKDE2KSxnYihuKS5ub25jZT1XKTtyZXR1cm4gV307CmVMPWZ1bmN0aW9uKG4pe3ZhciBXPXt0aWNrOnt9LGluZm86e319O2cuR2IoInl0Y3NpLiIrKG58fCIiKSsiZGF0YV8iLFcpO3JldHVybiBXfTsKc0g9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5kZWJ1ZyIpO258fChuPVtdLGcuR2IoInl0Y3NpLmRlYnVnIixuKSxnLkdiKCJ5dGNzaS5yZWZlcmVuY2UiLHt9KSk7cmV0dXJuIG59OwpwQj1mdW5jdGlvbihuKXt2YXIgVz1zSCgpO1cucHVzaChuKTtnLmwoImxpbWl0X3l0Y3NpX2RlYnVnX2FycmF5X3NpemUiKSYmVy5sZW5ndGg+TlEmJlcuc3BsaWNlKDAsVy5sZW5ndGgtTlEpfTsKSGI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO2lmKFdbbl0pcmV0dXJuIFdbbl07dmFyIEQ9e3RpbWVyTmFtZTpuLGluZm86e30sdGljazp7fSxzcGFuOnt9LGpzcGJJbmZvOltdfTtwQihEKTtyZXR1cm4gV1tuXT1EfTsKZkI9ZnVuY3Rpb24obil7bj1ufHwiIjt2YXIgVz1ZVigpO1dbbl0mJmRlbGV0ZSBXW25dO3ZhciBEPXt0aW1lck5hbWU6bixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07cEIoRCk7V1tuXT1EfTsKWVY9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dGNzaS5yZWZlcmVuY2UiKTtpZihuKXJldHVybiBuO3NIKCk7cmV0dXJuIGcucnIoInl0Y3NpLnJlZmVyZW5jZSIpfTsKSUw9ZnVuY3Rpb24obil7cmV0dXJuIEptW25dfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9OwpIbnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPU1hdGgucm91bmQoRC50aW1lc3RhbXB8fCgwLGcuUikoKSk7SVkobiwxLGI8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/YjowKTtiPW5ldyBTTDtpZihELmxhY3QpSVkoYiwxLGlzRmluaXRlKEQubGFjdCk/RC5sYWN0Oi0xKTtlbHNlIGlmKEQudGltZXN0YW1wKUlZKGIsMSwtMSk7ZWxzZXt2YXIgdj1nLnZJKCk7SVkoYiwxLGlzRmluaXRlKHYpP3Y6LTEpfWlmKEQuc2VxdWVuY2VHcm91cCYmIWcubCgid2ViX2dlbF9zZXF1ZW5jZV9pbmZvX2tpbGxzd2l0Y2giKSl7dj1ELnNlcXVlbmNlR3JvdXA7bGV0IGs9RXkodiksaD1uZXcgQW07SVkoaCwyLGspO2cuU0UoaCwxLHYpOyQ5KGIsQW0sMyxoKTtELmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBtcVtELnNlcXVlbmNlR3JvdXBdfSQ5KG4sU0wsMzMsYik7KEQuc2VuZElzb2xhdGVkUGF5bG9hZD9jSTpQVzEpKCJsYXRlbmN5QWN0aW9uSW5mbyIse2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6biwKY3R0QXV0aEluZm86RC5jdHRBdXRoSW5mbyxkYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9uOkQuZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbn0sVyl9OwpmMmo9ZnVuY3Rpb24obixXPXt9KXt2YXIgRD0hMTtnLkFyKCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmKEQ9ITApO0hucihuLEQ/bnVsbDpnLmQ0LFcpfTsKT0g9ZnVuY3Rpb24oKXtLQi5pbnN0YW5jZXx8KEtCLmluc3RhbmNlPW5ldyBLQik7cmV0dXJuIEtCLmluc3RhbmNlfTsKWk09ZnVuY3Rpb24obixXKXtQYltXXT1QYltXXXx8e2NvdW50OjB9O3ZhciBEPVBiW1ddO0QuY291bnQrKztELnRpbWU9KDAsZy5SKSgpO24uTnx8KG4uTj1nLmNCKDAsKCk9Pnt2YXIgYj0oMCxnLlIpKCk7Zm9yKGxldCB2IGluIFBiKVBiW3ZdJiZiLVBiW3ZdLnRpbWU+NkU0JiZkZWxldGUgUGJbdl07biYmKG4uTj0wKX0sNUUzKSk7CnJldHVybiBELmNvdW50PjU/KEQuY291bnQ9PT02JiZNYXRoLnJhbmRvbSgpKjFFNTwxJiYoRD1uZXcgZy5ReCgiQ1NJIGRhdGEgZXhjZWVkZWQgbG9nZ2luZyBsaW1pdCB3aXRoIGtleSIsVy5zcGxpdCgiXyIpKSxXLmluZGV4T2YoInBsZXYiKT49MHx8Zy5HcShEKSksITApOiExfTsKRUg9ZnVuY3Rpb24oKXt2YXIgbjtnLmwoImNzaV91c2VfcGVyZm9ybWFuY2VfbmF2aWdhdGlvbl90aW1pbmciKT8obj1VSD8uZ2V0RW50cmllc0J5VHlwZT8uKCJuYXZpZ2F0aW9uIik/LlswXT8udG9KU09OPy4oKSk/KG4ucmVxdWVzdFN0YXJ0PXl2KG4ucmVxdWVzdFN0YXJ0KSxuLnJlc3BvbnNlRW5kPXl2KG4ucmVzcG9uc2VFbmQpLG4ucmVkaXJlY3RTdGFydD15dihuLnJlZGlyZWN0U3RhcnQpLG4ucmVkaXJlY3RFbmQ9eXYobi5yZWRpcmVjdEVuZCksbi5kb21haW5Mb29rdXBFbmQ9eXYobi5kb21haW5Mb29rdXBFbmQpLG4uY29ubmVjdFN0YXJ0PXl2KG4uY29ubmVjdFN0YXJ0KSxuLmNvbm5lY3RFbmQ9eXYobi5jb25uZWN0RW5kKSxuLnJlc3BvbnNlU3RhcnQ9eXYobi5yZXNwb25zZVN0YXJ0KSxuLnNlY3VyZUNvbm5lY3Rpb25TdGFydD15dihuLnNlY3VyZUNvbm5lY3Rpb25TdGFydCksbi5kb21haW5Mb29rdXBTdGFydD15dihuLmRvbWFpbkxvb2t1cFN0YXJ0KSxuLmlzUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nPQohMCk6bj1VSC50aW1pbmc6bj1nLmwoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShVSC50aW1pbmcpKTpVSC50aW1pbmc7cmV0dXJuIG59Owp5dj1mdW5jdGlvbihuKXtyZXR1cm4gTWF0aC5yb3VuZChpJCgpK24pfTsKaSQ9ZnVuY3Rpb24oKXtyZXR1cm4oZy5sKCJjc2lfdXNlX3RpbWVfb3JpZ2luIil8fGcubCgiY3NpX3VzZV90aW1lX29yaWdpbl90dmh0bWw1IikpJiZVSC50aW1lT3JpZ2luP01hdGguZmxvb3IoVUgudGltZU9yaWdpbik6VUgudGltaW5nLm5hdmlnYXRpb25TdGFydH07CkpTcj1mdW5jdGlvbigpe3ZhciBuPVlWUygpLFc9JFYoKSxEPXZvaWQgMDtmb3IodmFyIGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHg9bltiXTtpZih4LmxvYWRUeXBlKXtEPXgubG9hZFR5cGU7YnJlYWt9fWlmKHFRKCkubG9hZFR5cGU9PT0iY29sZCImJihXLmxvYWRUeXBlPT09ImNvbGQifHxEPT09ImNvbGQiKSl7RD1HdygpO2I9dG0oKTtiPWIuZ2VsVGlja3M/Yi5nZWxUaWNrczpiLmdlbFRpY2tzPXt9O2Zvcih2YXIgdiBpbiBEKXYgaW4gYnx8dHlwZW9mIERbdl09PT0ibnVtYmVyIiYmdSQodixvTCh2KSk7dmFyIGs9e30saD0hMTt2PXg9PntqdyhXLHgpO2p3KGsseCk7aD0hMH07CmZvcihsZXQgeCBvZiBuKXYoeCk7aCYmZGIoayl9fTsKenc9ZnVuY3Rpb24obixXKXt1JCgiX3N0YXJ0IixuLFcpfTsKZGI9ZnVuY3Rpb24obixXKXtpZighZy5sKCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFnYihXKS5hY3Rpb25EaXNhYmxlZCl7dmFyIEQ9SGIoV3x8IiIpO2p3KEQuaW5mbyxuKTtuLmxvYWRUeXBlJiYoRD1uLmxvYWRUeXBlLHFRKFcpLmxvYWRUeXBlPUQpO2p3KCRWKFcpLG4pO0Q9cmIoVyk7Vz1nYihXKS5jdHRBdXRoSW5mbztPSCgpLmluZm8obixELFcpfX07CkkyWj1mdW5jdGlvbigpe3JldHVybihnLnFqKCkucmVzb2x2ZShnLmhwKGcuWDMpKT8uTFgoKT8ubG9nZ2luZ0hvdENvbmZpZz8uY3NpQ29uZmlnPy5kZWJ1Z1RpY2tzPz9bXSkubWFwKG49Pk9iamVjdC52YWx1ZXMobilbMF0pfTsKdSQ9ZnVuY3Rpb24obixXLEQpe2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8IWdiKEQpLmFjdGlvbkRpc2FibGVkKXt2YXIgYj1yYihEKSx2O2lmKHY9Zy5sKCJ3ZWJfY3NpX2RlYnVnX3NhbXBsZV9lbmFibGVkIikmJmIpe2cucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpJiYhbCQmJihsJD0hMCx1JCgiZ2NmbCIsKDAsZy5SKSgpLEQpKTt2PWcucWooKS5yZXNvbHZlKGcuaHAoZy5YMykpPy5MWCgpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnU2FtcGxlV2VpZ2h0fHwwO3ZhciBrO2lmKGs9diE9PTApYjp7az1JMlooKTtpZihrLmxlbmd0aD4wKWZvcih2YXIgaD0wO2g8ay5sZW5ndGg7aCsrKWlmKG49PT1rW2hdKXtrPSEwO2JyZWFrIGJ9az0hMX1rPyh2PU9hKGIpJXYhPT0wLGdiKEQpLmRlYnVnVGlja3NFeGNsdWRlZExvZ2dlZHx8KGs9e30say5kZWJ1Z1RpY2tzRXhjbHVkZWQ9dixkYihrLEQpKSxnYihEKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTp2PSExfWlmKCF2KXtpZihuWzBdIT09Il8iJiYodj1uLFVILm1hcmspKXt2LnN0YXJ0c1dpdGgoIm1hcmtfIil8fCh2PSJtYXJrXyIrdik7RCYmKHYrPWAgKCR7RH0pYCk7az12O2g9e307aWYoVyE9PXZvaWQgMCYmIWcubCgid2ViX2NzaV9kaXNhYmxlX2FsdF90aW1lX3BlcmZvcm1hbmNlX21hcmsiKSl7bGV0IEw9VztMPWcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP0wtVUgudGltZU9yaWdpbjpMLShVSC50aW1lT3JpZ2lufHxVSC50aW1pbmcubmF2aWdhdGlvblN0YXJ0KTtoLnN0YXJ0VGltZT1MfWcubCgiY3NpX2VuYWJsZV9jaHJvbWVfZGV2dG9vbHNfcGVyZm9ybWFuY2VfdGltZWxpbmVfaW50ZWdyYXRpb24iKSYmKGguZGV0YWlsPXtHVTp7ZGF0YVR5cGU6Im1hcmtlciIsY29sb3I6InByaW1hcnkiLHRvb2x0aXBUZXh0Omt9fSk7az1PYmplY3Qua2V5cyhoKS5sZW5ndGg+MD9oOnZvaWQgMDt0cnl7VUgubWFyayh2LGspfWNhdGNoKEwpe1VILm1hcmsodil9fXY9CkhiKER8fCIiKTt2LnRpY2tbbl09V3x8KDAsZy5SKSgpO2lmKHYuY2FsbGJhY2smJnYuY2FsbGJhY2tbbl0pZm9yKHZhciB4IG9mIHYuY2FsbGJhY2tbbl0peCgpO3g9dG0oRCk7eC5nZWxUaWNrcyYmKHguZ2VsVGlja3Nbbl09ITApO3Y9R3coRCk7eD1XfHwoMCxnLlIpKCk7dltuXT14O3Y9Z2IoRCkuY3R0QXV0aEluZm87bj09PSJfc3RhcnQiPyhuPU9IKCksWk0obixgYmFzZWxpbmVfJHtifWApfHxnLnpVKCJsYXRlbmN5QWN0aW9uQmFzZWxpbmVkIix7Y2xpZW50QWN0aW9uTm9uY2U6Yn0se3RpbWVzdGFtcDpXLGN0dEF1dGhJbmZvOnZ9KSk6T0goKS50aWNrKG4sYixXLHYpO1R3KEQpO3JldHVybiB4fX19OwpTVjE9ZnVuY3Rpb24oKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlPy4oIm1hcmsiKTtuJiZuLmZvckVhY2goVz0+e1cubmFtZS5zdGFydHNXaXRoKCJtYXJrXyIpJiZVSC5jbGVhck1hcmtzPy4oVy5uYW1lKX0pfTsKakw9ZnVuY3Rpb24oKXtzd2l0Y2goRzEoKSl7Y2FzZSAiaGlkZGVuIjpyZXR1cm4gMDtjYXNlICJ2aXNpYmxlIjpyZXR1cm4gMTtjYXNlICJwcmVyZW5kZXIiOnJldHVybiAyO2Nhc2UgInVubG9hZGVkIjpyZXR1cm4gMztkZWZhdWx0OnJldHVybi0xfX07CkNCPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9KGIsdixrKT0+e3Y9di5tYXRjaCgiX3JpZCIpP3Yuc3BsaXQoIl9yaWQiKVswXTp2O3R5cGVvZiBrPT09Im51bWJlciImJihrPUpTT04uc3RyaW5naWZ5KGspKTtiLnJlcXVlc3RJZHM/Yi5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OnYsaWQ6a30pOmIucmVxdWVzdElkcz1be2VuZHBvaW50OnYsaWQ6a31dfTsKZm9yKGxldCBbYix2XW9mIE9iamVjdC5lbnRyaWVzKG4pKXtuPWI7bGV0IGs9djtzd2l0Y2gobil7Y2FzZSAiR2V0QnJvd3NlX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0R3VpZGVfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRIb21lX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0UGxheWVyX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2VhcmNoX3JpZCI6RChXLG4sayk7YnJlYWs7Y2FzZSAiR2V0U2V0dGluZ3NfcmlkIjpEKFcsbixrKTticmVhaztjYXNlICJHZXRUcmVuZGluZ19yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOkQoVyxuLGspO2JyZWFrO2Nhc2UgInl0X3JlZCI6Vy5pc1JlZFN1YnNjcmliZXI9ISFrO2JyZWFrO2Nhc2UgInl0X2FkIjpXLmlzTW9uZXRpemVkPSEha319cmV0dXJuIFd9OwpBU3g9ZnVuY3Rpb24obixXKXtuPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Iobik7aWYoIW4pcmV0dXJuITE7dmFyIEQ9IiIsYj1uLm5vZGVOYW1lO2I9PT0iU0NSSVBUIj8oRD1uLnNyYyxEfHwoRD1uLmdldEF0dHJpYnV0ZSgiZGF0YS10aW1pbmctaHJlZiIpKSYmKEQ9d2luZG93LmxvY2F0aW9uLnByb3RvY29sK0QpKTpiPT09IkxJTksiJiYoRD1uLmhyZWYpO1NqKGRvY3VtZW50KSYmbi5zZXRBdHRyaWJ1dGUoIm5vbmNlIixTaihkb2N1bWVudCkpO3JldHVybiBEPyhuPVVILmdldEVudHJpZXNCeU5hbWUoRCkpJiZuWzBdJiYobj1uWzBdLEQ9aSQoKSx1JCgicnNmXyIrVyxEK01hdGgucm91bmQobi5mZXRjaFN0YXJ0KSksdSQoInJzZV8iK1csRCtNYXRoLnJvdW5kKG4ucmVzcG9uc2VFbmQpKSxuLnRyYW5zZmVyU2l6ZSE9PXZvaWQgMCYmbi50cmFuc2ZlclNpemU9PT0wKT8hMDohMTohMX07Cm1IMT1mdW5jdGlvbigpe3ZhciBuPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxXPVVILmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Vz1nLkVNKFcsRD0+RC5uYW1lLmluZGV4T2YoYCR7bn0vL2ZvbnRzLmdzdGF0aWMuY29tL3MvYCk9PT0wKTsKKFc9Zy51XyhXLChELGIpPT5iLmR1cmF0aW9uPkQuZHVyYXRpb24/YjpELHtkdXJhdGlvbjowfSkpJiZXLnN0YXJ0VGltZT4wJiZXLnJlc3BvbnNlRW5kPjAmJih1JCgid2ZmcyIseXYoVy5zdGFydFRpbWUpKSx1JCgid2ZmZSIseXYoVy5yZXNwb25zZUVuZCkpKX07CktOdD1mdW5jdGlvbihuLFcsRCl7VUgmJlVILm1lYXN1cmUmJihuLnN0YXJ0c1dpdGgoIm1lYXN1cmVfIil8fChuPSJtZWFzdXJlXyIrbiksRD9VSC5tZWFzdXJlKG4sVyxEKTpXP1VILm1lYXN1cmUobixXKTpVSC5tZWFzdXJlKG4pKX07CkJiPWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJhZnQiLG4pO2lmKFcpcmV0dXJuIFc7Vz1nLkFyKChufHwiIikrIlRJTUlOR19BRlRfS0VZUyIsWyJvbCJdKTt2YXIgRD1XLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKXtsZXQgdj1vTChXW2JdLG4pO2lmKHYpcmV0dXJuIHZ9cmV0dXJuIE5hTn07CkZBPWZ1bmN0aW9uKG4sVyl7Zy5HYigieXRnbG9iYWwudGltaW5nIisoV3x8IiIpKyJyZWFkeV8iLG4pfTsKb0w9ZnVuY3Rpb24obixXKXtpZihuPUd3KFcpW25dKXJldHVybiB0eXBlb2Ygbj09PSJudW1iZXIiP246bltuLmxlbmd0aC0xXX07ClR3PWZ1bmN0aW9uKG4pe3ZhciBXPW9MKCJfc3RhcnQiLG4pLEQ9QmIobiksYj0hd2I7VyYmRCYmYiYmKGw5KE9udCxuZXcgTVEoTWF0aC5yb3VuZChELVcpLG4pKSx3Yj0hMCl9OwpQYXg9ZnVuY3Rpb24oKXtpZihVSC5nZXRFbnRyaWVzQnlUeXBlKXt2YXIgbj1VSC5nZXRFbnRyaWVzQnlUeXBlKCJwYWludCIpO2lmKG49Zy5sXyhuLEQ9PkQubmFtZT09PSJmaXJzdC1wYWludCIpKXJldHVybiB5dihuLnN0YXJ0VGltZSl9dmFyIFc7CmcubCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP1c9VUguZ2V0RW50cmllc0J5VHlwZSgiZmlyc3QtcGFpbnQiKVswXS5zdGFydFRpbWU6Vz1VSC50aW1pbmcubDI7cmV0dXJuIFc/TWF0aC5tYXgoMCxXKTowfTsKZy5STD1mdW5jdGlvbihuKXtlTChuKTtabmkoKTtTVjEoKTtufHwoZy5BcigiVElNSU5HX0FDVElPTiIpJiZnLlNIKCJQUkVWSU9VU19BQ1RJT04iLGcuQXIoIlRJTUlOR19BQ1RJT04iKSksZy5TSCgiVElNSU5HX0FDVElPTiIsIiIpKX07CmNiPWZ1bmN0aW9uKG4sVyl7UFYoKCk9PntIYigiIikuaW5mby5hY3Rpb25UeXBlPW47VyYmZy5TSCgiVElNSU5HX0FGVF9LRVlTIixXKTtnLlNIKCJUSU1JTkdfQUNUSU9OIixuKTt2YXIgRD1DQihnLkFyKCJUSU1JTkdfSU5GTyIse30pKTtPYmplY3Qua2V5cyhEKS5sZW5ndGg+MCYmZGIoRCk7RD17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKX07dmFyIGI9Zy5BcigiUFJFVklPVVNfQUNUSU9OIik7YiYmKEQucHJldmlvdXNBY3Rpb249SUwoYikpO2lmKGI9Zy5BcigiQ0xJRU5UX1BST1RPQ09MIikpRC5odHRwUHJvdG9jb2w9YjtpZihiPWcuQXIoIkNMSUVOVF9UUkFOU1BPUlQiKSlELnRyYW5zcG9ydFByb3RvY29sPWI7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Yj1qTCgpO2lmKGI9PT0xfHxiPT09LTEpRC5pc1Zpc2libGU9ITA7Yj1xUSgpLmxvYWRUeXBlPT09ImNvbGQiOwp2YXIgdj1YQSgpO2J8fChiPXYueXRfbHQ9PT0iY29sZCIpO2lmKGIpe0QubG9hZFR5cGU9ImNvbGQiO2I9WEEoKTt2PUVIKCk7bGV0IHg9aSQoKSxMPWcuQXIoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtMPjAmJiFnLmwoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJih4PUwpO3gmJih1JCgic3J0Iix2LnJlc3BvbnNlU3RhcnQpLGIucHJlcmVuZGVyIT09MSYmencoeCkpO2I9UGF4KCk7Yj4wJiZ1JCgiZnB0IixiKTtiPUVIKCk7Yi5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmZGIoe3BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzohMH0sdm9pZCAwKTt1JCgibnJlcXMiLGIucmVxdWVzdFN0YXJ0LHZvaWQgMCk7dSQoIm5yZXNzIixiLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTt1JCgibnJlc2UiLGIucmVzcG9uc2VFbmQsdm9pZCAwKTtiLnJlZGlyZWN0RW5kLWIucmVkaXJlY3RTdGFydD4wJiYodSQoIm5ycyIsYi5yZWRpcmVjdFN0YXJ0LAp2b2lkIDApLHUkKCJucmUiLGIucmVkaXJlY3RFbmQsdm9pZCAwKSk7Yi5kb21haW5Mb29rdXBFbmQtYi5kb21haW5Mb29rdXBTdGFydD4wJiYodSQoIm5kbnNzIixiLmRvbWFpbkxvb2t1cFN0YXJ0LHZvaWQgMCksdSQoIm5kbnNlIixiLmRvbWFpbkxvb2t1cEVuZCx2b2lkIDApKTtiLmNvbm5lY3RFbmQtYi5jb25uZWN0U3RhcnQ+MCYmKHUkKCJudGNwcyIsYi5jb25uZWN0U3RhcnQsdm9pZCAwKSx1JCgibnRjcGUiLGIuY29ubmVjdEVuZCx2b2lkIDApKTtiLnNlY3VyZUNvbm5lY3Rpb25TdGFydD49aSQoKSYmYi5jb25uZWN0RW5kLWIuc2VjdXJlQ29ubmVjdGlvblN0YXJ0PjAmJih1JCgibnN0Y3BzIixiLnNlY3VyZUNvbm5lY3Rpb25TdGFydCx2b2lkIDApLHUkKCJudGNwZSIsYi5jb25uZWN0RW5kLHZvaWQgMCkpO1VIJiYiZ2V0RW50cmllc0J5VHlwZSJpbiBVSCYmbUgxKCk7Yj1bXTtpZihkb2N1bWVudC5xdWVyeVNlbGVjdG9yJiZVSCYmVUguZ2V0RW50cmllc0J5TmFtZSlmb3IoayBpbiBRdilRdi5oYXNPd25Qcm9wZXJ0eShrKSYmCih2PVF2W2tdLEFTeChrLHYpJiZiLnB1c2godikpO3ZhciBrPWI7aWYoay5sZW5ndGg+MCl7RC5yZXNvdXJjZUluZm89W107Zm9yKHZhciBoIG9mIGspRC5yZXNvdXJjZUluZm8ucHVzaCh7cmVzb3VyY2VDYWNoZTpofSl9fWRiKEQpO0pTcigpO0ZBKCEwKTtoPWcuQXIoIlRJTUlOR19BQ1RJT04iKTtnLnJyKCJ5dGdsb2JhbC50aW1pbmdyZWFkeV8iKSYmaCYmVnYoKSYmQmIoKSYmVHcoKX0pKCl9OwpXUD1mdW5jdGlvbigpe3ZhciBuPXt9O1BWKCgpPT57VnYoKSYmZy5hTCgiYWEiLHZvaWQgMCx2b2lkIDApO2ZCKCk7Zy5STCgpO0ZBKCExKTtuLmN0dEF1dGhJbmZvJiYoZ2IoKS5jdHRBdXRoSW5mbz1uLmN0dEF1dGhJbmZvKTtnLlNIKCJUSU1JTkdfQUZUX0tFWVMiLFtdKTtuLnJQP2cubmwoe2xvYWRUeXBlOiJob3QifSk6Zy5ubCh7bG9hZFR5cGU6Indhcm0ifSk7Zy5TSCgiVElNSU5HX0FDVElPTiIsIiIpO2RlbGV0ZSBnLkFyKCJUSU1JTkdfSU5GTyIse30pLnl0X2x0O1BWKHp3KShuLnN0YXJ0VGltZSx2b2lkIDApfSkoKX07CmcuYmQ9ZnVuY3Rpb24obixXPXt9KXtQVigoKT0+e2cuRFkobik7dmFyIEQ9Vy5zYW1wbGVSYXRlO2lmKCFnLmwoIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiKXx8RD09PXZvaWQgMHx8RDw9MSlEPSExO2Vsc2V7dmFyIGI9cmIobik7RD1PYShiKSVEIT09MH1EJiYoZ2IobikuYWN0aW9uRGlzYWJsZWQ9ITApO0hiKG58fCIiKS5pbmZvLmFjdGlvblR5cGU9bjtXLmN0dEF1dGhJbmZvJiYoZ2IobikuY3R0QXV0aEluZm89Vy5jdHRBdXRoSW5mbyk7Zy5TSChuKyJUSU1JTkdfQUNUSU9OIixuKTtQVih6dykoVy5zdGFydFRpbWUsbik7RD17YWN0aW9uVHlwZTpJTChuKX07Vy5leiYmKEQucHJldmlvdXNBY3Rpb249SUwoZy5BcigiVElNSU5HX0FDVElPTiIpKSk7KGI9Zy5SdigpKSYmYiE9PSJVTkRFRklORURfQ1NOIiYmKEQuY2xpZW50U2NyZWVuTm9uY2U9Yik7Zy5ubChELG4pO0ZBKCEwLG4pfSkoKX07CmcuRFk9ZnVuY3Rpb24obil7UFYoKCk9PntWdihuKSYmZy5hTCgiYWEiLHZvaWQgMCxuKTtmQihuKTtnLlJMKG4pfSkoKX07ClZ2PWZ1bmN0aW9uKG4pe3JldHVybiBQVigoKT0+Zy52UCgiX3N0YXJ0IixuKSkoKX07Cmcubmw9ZnVuY3Rpb24obixXLEQ9ITEpe1BWKGRiKShuLFcsRCl9OwpnLmFMPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYodSQpKG4sVyxEKX07CmtEPWZ1bmN0aW9uKG4pe1BWKEtOdCkoImFjdGlvbl9maW5pc2hlZCIsbix2b2lkIDApfTsKZy52UD1mdW5jdGlvbihuLFcpe3JldHVybiBQVigoKT0+e3ZhciBEPUd3KFcpO3JldHVybiBuIGluIER9KSgpfTsKeEQ9ZnVuY3Rpb24obil7aWYoIWcubCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuIiI7bj1TMShuKXx8IiI7dmFyIFc9T2JqZWN0LmtleXMoaGUpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtsZXQgYj1XW0RdO2lmKG4uaW5jbHVkZXMoYikpcmV0dXJuIGJ9cmV0dXJuIiJ9Owplaz1mdW5jdGlvbihuKXtpZighZy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4oKT0+e307CnZhciBXPWhlW25dO3JldHVybiBXPyhnLkxsKFcpLCgpPT57dmFyIEQ9Zy5sKCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oRD1VSE1bbl0pP2cuTGwoRCk6ITE6ITE7cmV0dXJuIER9KTooKT0+e319OwpnLkxsPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUFYoKCk9PntpZihnLnZQKG4sRCkpcmV0dXJuITE7Zy5hTChuLFcsRCk7cmV0dXJuITB9KSgpfTsKZy5nXz1mdW5jdGlvbihuLFcsRCl7UFYoKCk9PntpZighVnYoRCl8fGcudlAobixEKSlyZXR1cm4hMTtnLmFMKG4sVyxEKTtyZXR1cm4hMH0pKCl9Owp5U2g9ZnVuY3Rpb24oKXtQVigoKT0+e3ZhciBuPXJiKCk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57c2V0VGltZW91dCgoKT0+e249PT1yYigpJiZnLmFMKCJmdGwiLHZvaWQgMCx2b2lkIDApfSwwKX0pfSkoKX07CkU5Yj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFg3Lmluc3RhbmNlIT09dm9pZCAwKXtpZihiPVg3Lmluc3RhbmNlLG49W24hPT1iLmosVyE9PWIueUcsRCE9PWIuVyx2IT09Yi5KLCExLCExLCExXSxuLnNvbWUoaz0+aykpdGhyb3cgbmV3IGcuUXgoIklubmVyVHViZVRyYW5zcG9ydFNlcnZpY2UgaXMgYWxyZWFkeSBpbml0aWFsaXplZCIsbik7Cn1lbHNlIFg3Lmluc3RhbmNlPW5ldyBYNyhuLFcsRCxiLHYpfTsKaW53PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtuPWF3YWl0ICRHKG4uVy5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsuLi5rVihEKSwuLi5ufSl9OwpkSGo9YXN5bmMgZnVuY3Rpb24obixXLEQsYj0oKT0+e30pe3ZhciB2PVcuY29uZmlnPy5Ibj8uUkw7CmlmKHYmJm4uSiYmbi5KLmhhcyh2KSYmIVcuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz1hd2FpdCBuLkouZ2V0KHYpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGsuaXNQcm9jZXNzZWQoKXx8KEdXKG4sYixXKSxhd2FpdCB0ZShuLkosdikpLFByb21pc2UucmVzb2x2ZShiKX1hd2FpdCB1X3QoVyk7KHY9Vy5jb25maWc/LnJlcXVlc3RLZXkpJiZuLk4uaGFzKHYpP0Q9bi5OLmdldCh2KTooaz1KU09OLnN0cmluZ2lmeShXLmlubmVyVHViZVJlcXVlc3QpLFcuUGk9ey4uLlcuUGksaGVhZGVyczp7Li4uKFcuUGk/LmhlYWRlcnM/P3t9KSwuLi5EfX0sRD17Li4uVy5QaX0sVy5QaS5tZXRob2Q9PT0iUE9TVCImJihEPXsuLi5ELGJvZHk6a30pLFcuY29uZmlnPy5MYSYmZy5hTChXLmNvbmZpZy5MYSksRD1uLnlHLmZldGNoKFcuaW5wdXQsRCxXLmNvbmZpZyksdiYmbi5OLnNldCh2LEQpKTtpZigoRD1hd2FpdCBEKSYmImVycm9yImluIEQmJkQ/LmVycm9yPy5kZXRhaWxzKXtrPQpELmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGspKGs9aFsiQHR5cGUiXSkmJm85ai5pbmRleE9mKGspPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sRD1oKX12JiZuLk4uaGFzKHYpJiZuLk4uZGVsZXRlKHYpO1cuY29uZmlnPy5SViYmZy5hTChXLmNvbmZpZy5SVik7R1cobixELFcpO1cuY29uZmlnPy5HdCYmZy5hTChXLmNvbmZpZy5HdCk7YigpO3JldHVybiBEfHx2b2lkIDB9OwpnLnJfPWZ1bmN0aW9uKG4sVyxELGIsdj17Qkc6e2lkZW50aXR5OnU5fX0pe3ZhciBrPWcucWooKS5yZXNvbHZlKGcuaHAoJEQpKT8uKCk7aWYoKGcubCgibWF3X25ldHdvcmtfbWFjaGluZV9yYXdfcmVxdWVzdCIpfHxnLmwoImFsbF93ZWJfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0IikpJiZrKXJldHVybiB6VGoobDJqKGsse2lubmVyVHViZVJlcXVlc3Q6VyxhcGlQYXRoOkQsY2xpY2tUcmFja2luZ1BhcmFtczpiLGNvbmZpZzp2LGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbih4PT54LCgpPT57fSk7CnZhciBoPSgpPT57fTsKaD1layh4RChEKSk7Vy5jb250ZXh0fHwoVy5jb250ZXh0PWcudmIoYiwhMCkpO3JldHVybiBuZXcgZy5YMShhc3luYyB4PT57dmFyIEw9SyQoRCk7TD1nLlRkKEwpPyJzYW1lLW9yaWdpbiI6ImNvcnMiO2lmKG4uVy5zQil7dmFyIGU9bi5XLmFqKHY/LkJHPy5pZGVudGl0eXx8dTkse3Nlc3Npb25JbmRleDp2Py5CRz8uc2Vzc2lvbkluZGV4fSk7TD17Li4ua1YoTCksLi4uZX19ZWxzZSBMPWF3YWl0IGludyhuLHYsTCk7ZT1acihLJChEKSk7ZT17aW5wdXQ6ZSxQaTpVeihlKSxpbm5lclR1YmVSZXF1ZXN0OlcsY29uZmlnOnZ9O3goZEhqKG4sZSxMLGgpKX0pfTsKdV90PWFzeW5jIGZ1bmN0aW9uKG4pe2lmKG4/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe249bi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBXIG9mW10pYXdhaXQgVy5CcyhuKX19OwpHVz1mdW5jdGlvbihuLFcsRCl7aWYoVyYmIVc/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZuLlgpZm9yKGxldCBiIG9mIHNvKW4uWFtiXSYmbi5YW2JdLmhhbmRsZVJlc3BvbnNlKFcsRCl9OwpwbD1mdW5jdGlvbigpe3ZhciBuLFc7cmV0dXJue3JGOm5ldyBOcigoRCxiKT0+e249RDtXPWJ9KSwKcmVzb2x2ZTpuLHJlamVjdDpXfX07CkhQPWZ1bmN0aW9uKG4pe3JldHVybiBZRChuKT9uOllvKG4pP25ldyBOcigoVyxEKT0+e24udGhlbihXLEQpfSk6bmV3IE5yKFc9PntXKG4pfSl9OwpmbD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IE5yKChXLEQpPT57RChuKX0pfTsKSmU9ZnVuY3Rpb24obil7dHJ5e3JldHVybiBIUChuKCkpfWNhdGNoKFcpe3JldHVybiBmbChXKX19Owp6VGo9ZnVuY3Rpb24obil7cmV0dXJuIElqKG4sZy5YMSl9OwpJaj1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgVygoRCxiKT0+e1NrKG4sRCxiKX0pfTsKQWU9YXN5bmMgZnVuY3Rpb24obil7cmV0dXJuIElqKG4sUHJvbWlzZSl9OwptRT1mdW5jdGlvbihuKXtpZihuLk49PT0iZnVsZmlsbGVkIil7dmFyIFc9bi5KO24uSj1bXTtuLlc9W107Zm9yKHZhciBEIG9mIFcpRChuLnJlc3VsdCl9ZWxzZSBpZihuLk49PT0icmVqZWN0ZWQiKXtEPW4uVztuLko9W107bi5XPVtdO2ZvcihXIG9mIEQpVyhuLmVycm9yKX19OwpTaz1mdW5jdGlvbihuLFcsRCl7dmFyIHtyRjpiLHJlc29sdmU6dixyZWplY3Q6a309cGwoKTtuLkoucHVzaChoPT57aWYoVyl0cnl7bGV0IHg9VyhoKTt2KHgpfWNhdGNoKHgpe2soeCl9ZWxzZSB2KGgpfSk7Cm4uVy5wdXNoKGg9PntpZihEKXRyeXtsZXQgeD1EKGgpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIGsoaCl9KTsKbUUobik7cmV0dXJuIGJ9OwpLbD1mdW5jdGlvbihuLFcpe3JldHVybiBTayhuLHZvaWQgMCxXKX07ClRlYj1mdW5jdGlvbihuLFcpe1NrKG4sRD0+U2soSFAoVygpKSwoKT0+RCksRD0+U2soSFAoVygpKSwoKT0+ZmwoRCkpKX07Ck9vPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGpZMShXLmNhbGwobikpfTsKUFA9ZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKigpe3JldHVybiB5aWVsZHtyRjpIUChuKX19KCl9OwpqWTE9ZnVuY3Rpb24obil7cmV0dXJuIEplKCgpPT5aWShuLG4ubmV4dCgpKSl9OwpaWT1mdW5jdGlvbihuLFcpe3JldHVybiBXLmRvbmU/SFAoVy52YWx1ZSk6S2woU2soVy52YWx1ZS5yRixEPT5aWShuLG4ubmV4dChEKSkpLEQ9PlpZKG4sbi50aHJvdyhEKSkpfTsKRk54PWZ1bmN0aW9uKG4pe3ZhciBXPUNhVShuKTtyZXR1cm4gU2soQmVTKFcpLCgpPT5XLm1hcChEPT5ELnN0YXRlKCkpKX07CkJlUz1mdW5jdGlvbihuKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIEhQKE5hTik7dmFyIHtyRjpXLHJlc29sdmU6RH09cGwoKSxiPW4ubGVuZ3RoO2ZvcihsZXQgdj0wO3Y8bi5sZW5ndGg7disrKVRlYihuW3ZdLCgpPT57Vy5OPT09InBlbmRpbmciJiYod1dqKHZvaWQgMCkmJih2b2lkIDApKHYpJiZXLk49PT0icGVuZGluZyI/RCh2KTooLS1iLGI9PT0wJiZEKE5hTikpKX0pOwpyZXR1cm4gV307CkNhVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+SFAoVykpfTsKTUV3PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciB2PSRHKGIuTi5haihXPy5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6Vz8uQkc/LnNlc3Npb25JbmRleH0pKTt2PXlpZWxkKlBQKEhQKHYpKTtyZXR1cm57Li4ua1YoRCksLi4udn19KCl9KX07ClVvPWZ1bmN0aW9uKG4pe3JldHVybiBuPT09MXx8bj09PTJ9OwpWRTI9ZnVuY3Rpb24obixXLEQ9ITEpe3ZhciBiLHY9Zy53KFcsUlRoKT8ucmVxdWVzdDt2JiZuLk4uaVQmJihiPW4uTi5pVFt2XSk7Ynx8RHx8KHY9Zy53KFcsUVlNKT8uc2lnbmFsKSYmbi5OLndkJiYoYj1uLk4ud2Rbdl0pO2lmKCFiJiYobj1EP24uTi51STpuLk4uemcpKWZvcihsZXQgayBpbiBXKWlmKG5ba10pe2I9bltrXTticmVha31pZighYil7aWYoRCl0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHN0cmVhbWluZyByZXF1ZXN0IGJ1aWxkZXIgZm91bmQgZm9yIGNvbW1hbmQiKTt0aHJvdyBFcnJvcigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZC4iKTt9Vz1iKCk7cmV0dXJuIEhQKFcpfTsKbDJqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ucnVuKCJSRVFVRVNUX0lOSVQiLFcpfTsKeXE9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5ydW4oIlBST0NFU1NfUkVTUE9OU0UiLFcsIlJlc3BvbnNlTWFjaGluZSAoQ2FjaGUpIil9OwpFbz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIG4ucnVuKCJJTklUIixXLEQhPT12b2lkIDA/YFJlc3BvbnNlTWFjaGluZSAoQ2h1bmsgJHtEfSlgOiJSZXNwb25zZU1hY2hpbmUiKX07CmNTMj1mdW5jdGlvbigpe3ZhciBuPWcucWooKTtnLnhvKG4se05IOmlkLFJjOigpPT5uZXcgTWFwfSk7CmcueG8obix7Tkg6dWQsWUw6dWQscG46ITB9KTtnLnhvKG4se05IOm9qLFlMOm9qLHBuOiEwfSk7Zy54byhuLHtOSDpkXyxZTDpkXyxwbjohMH0pO2cueG8obix7Tkg6elcsWUw6elcscG46ITB9KTtnLnhvKG4se05IOmxkLFlMOmxkLHBuOiEwfSk7Zy54byhuLHtOSDpUVyxZTDpUVyxwbjohMH0pO2cueG8obix7Tkg6amssWUw6amsscG46ITB9KTtnLnhvKG4se05IOkNsLFlMOkNsLHBuOiEwfSk7Zy54byhuLHtOSDpCUCxZTDpCUCxwbjohMH0pO2cueG8obix7Tkg6RjcsWUw6RjcscG46ITB9KTtnLnhvKG4se05IOndfLFJjOihXLEQsYix2LGssaCx4LEwsZSxHKT0+KHtDT01NQU5EX0lOSVQ6TCxSRVFVRVNUX0lOSVQ6ZSxDQUNIRTpELExPQ0FMX1JPVVRFUjp4LENPTlRFWFQ6YixBVVRIOlcsREVEVVBFOnYsRkVUQ0g6aCxSRVRSWTpHLEZBTExCQUNLOmt9KSwKW2cuTFhdOlt1ZCxvaixkXyx6VyxsZCxUVyxqayxDbCxCUCxGN10scG46ITB9KTtnLnhvKG4se05IOiRELFJjOlc9PigpPT5uZXcgZy5NcihXKSwKW2cuTFhdOlt3X10scG46ITB9KTtnLnhvKG4se05IOlJqLFlMOlJqLHBuOiEwfSk7Zy54byhuLHtOSDpRcSxZTDpRcSxwbjohMH0pO2cueG8obix7Tkg6VnEsWUw6VnEscG46ITB9KTtnLnhvKG4se05IOmNQLFlMOmNQLHBuOiEwfSk7Zy54byhuLHtOSDphaixSYzooVyxELGIsdik9Pih7SU5JVDp2LEVSUk9SX1VOUEFDS0VSOkQsUFJPQ0VTU19SRVNQT05TRTpiLENBTExCQUNLX0RJU1BBVENIRVI6V30pLApbZy5MWF06W1JqLFFxLFZxLGNQXSxwbjohMH0pO2cueG8obix7Tkg6blIsUmM6Vz0+KCk9Pm5ldyBXRyhXKSwKW2cuTFhdOlthal0scG46ITB9KX07CnFyPWZ1bmN0aW9uKG4pe3JldHVybnsuLi5uLmRhdGEuaW5uZXJ0dWJlUmVzcG9uc2UsY2FjaGVNZXRhZGF0YTp7aXNDYWNoZUhpdDohMH19fTsKdGU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihELmVudHJ5RGF0YS5pc1Byb2Nlc3NlZD0hMCxhd2FpdCBEdyhuLFcsRC5lbnRyeURhdGEpKX07CkR3PWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLko7aWYoRC5leHBpcmVUaW1lc3RhbXBNcyl7Yj1OdW1iZXIoRC5leHBpcmVUaW1lc3RhbXBNcyktTWF0aC5yb3VuZCgoMCxnLlIpKCkpO2xldCB2PXYwKCJtd2ViX292ZXJyaWRlX3Jlc3BvbnNlX3N0b3JlX2V4cGlyYXRpb25fbXMiKTt2PjAmJnY8YiYmKGI9dil9Yj1zZXRUaW1lb3V0KCgpPT57bi5yZW1vdmUoVyl9LGIpOwpuLk4uc2V0KFcse2VudHJ5RGF0YTpELHRpbWVyOmJ9KX07CnZHPWZ1bmN0aW9uKG4sVyl7aWYobj1uLk4uZ2V0KFcpKXJldHVybiBuZXcgYmgobi5lbnRyeURhdGEpfTsKa009ZnVuY3Rpb24obixXKXt2YXIgRD1uLk4uZ2V0KFcpO0QmJihjbGVhclRpbWVvdXQoRC50aW1lciksbi5OLmRlbGV0ZShXKSl9OwpoUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9ey4uLm59O2ZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhXKSl7bGV0IGs9blt2XSxoPVdbdl07aWYoaD09PXZvaWQgMClkZWxldGUgYlt2XTtlbHNlIGlmKGs9PT12b2lkIDApYlt2XT1oO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShoKSYmQXJyYXkuaXNBcnJheShrKSliW3ZdPUQ/Wy4uLmssLi4uaF06aDtlbHNlIGlmKCFBcnJheS5pc0FycmF5KGgpJiZnLmZ0KGgpJiYhQXJyYXkuaXNBcnJheShrKSYmZy5mdChrKSliW3ZdPWhSKGssaCxEKTtlbHNlIGlmKHR5cGVvZiBoPT09dHlwZW9mIGspYlt2XT1oO2Vsc2UgcmV0dXJuIFc9bmV3IGcuUXgoIkF0dGVtcHRlZCB0byBtZXJnZSBmaWVsZHMgb2YgZGlmZmVyaW5nIHR5cGVzLiIse25hbWU6IkRlZXBNZXJnZUVycm9yIixrZXk6dixGVzprLHVwZGF0ZVZhbHVlOmh9KSxnLlhqKFcpLG59cmV0dXJuIGJ9Owp4TT1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ubGVuZ3RoPT09MD8hMToobj1uLk5bbi5OLmxlbmd0aC0xXSkmJm4uYnVmZmVyPT09Vy5idWZmZXImJm4uYnl0ZU9mZnNldCtuLmxlbmd0aD09PVcuYnl0ZU9mZnNldH07CkxSPWZ1bmN0aW9uKG4pe24uWD12b2lkIDA7bi5KPTA7bi5XPTB9OwplNT1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXLk4pbi5hcHBlbmQoRCl9OwpnZD1mdW5jdGlvbihuLFcsRCl7dmFyIHtDczpiLFk5OnZ9PW4uc3BsaXQoVyk7KHtDczpifT12LnNwbGl0KEQpKTtyZXR1cm4gYn07ClhhPWZ1bmN0aW9uKG4sVyxEKXtuLmlzRm9jdXNlZChXKTtyZXR1cm4gVy1uLlcrRDw9bi5OW24uSl0ubGVuZ3RofTsKcUQ9ZnVuY3Rpb24obil7aWYoIW4uWCl7bGV0IFc9bi5OW24uSl07bi5YPW5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5sZW5ndGgpfXJldHVybiBuLlh9OwpHNj1mdW5jdGlvbihuLFc9MCxEPS0xKXtpZighbi50b3RhbExlbmd0aHx8IUQpcmV0dXJuIG5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoMCkpO0Q8MCYmKEQ9bi50b3RhbExlbmd0aC1XKTtuLmZvY3VzKFcpO2lmKCFYYShuLFcsRCkpe3ZhciBiPW4uSix2PW4uVztuLmZvY3VzKFcrRC0xKTt2PW5ldyBVaW50OEFycmF5KG4uVytuLk5bbi5KXS5sZW5ndGgtdik7bGV0IGs9MDtmb3IobGV0IGg9YjtoPD1uLko7aCsrKXYuc2V0KG4uTltoXSxrKSxrKz1uLk5baF0ubGVuZ3RoO24uTi5zcGxpY2UoYixuLkotYisxLHYpO0xSKG4pO24uZm9jdXMoVyl9Yj1uLk5bbi5KXTtyZXR1cm4gbmV3IERhdGFWaWV3KGIuYnVmZmVyLGIuYnl0ZU9mZnNldCtXLW4uVyxEKX07CnRSPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249RzYobixXLEQpO3JldHVybiBuZXcgVWludDhBcnJheShuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQsbi5ieXRlTGVuZ3RoKX07CiRNPWZ1bmN0aW9uKG4sVz0wLEQ9LTEpe249dFIobixXLEQpO1c9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO3RyeXtXLnNldChuKX1jYXRjaChiKXtmb3IoRD0wO0Q8bi5sZW5ndGg7RCsrKVdbRF09bltEXX1yZXR1cm4gV307CnJkPWZ1bmN0aW9uKG4sVyl7bi5mb2N1cyhXKTtyZXR1cm4gbi5OW24uSl1bVy1uLlddfTsKc3g9ZnVuY3Rpb24obixXKXtuLmZvY3VzKFcpO3JldHVybiBYYShuLFcsNCk/cUQobikuZ2V0VWludDMyKFctbi5XKToyNTYqKDI1NiooMjU2KnJkKG4sVykrcmQobixXKzEpKStyZChuLFcrMikpK3JkKG4sVyszKX07CmEyMj1mdW5jdGlvbihuKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspV1tEXT1uLmNoYXJDb2RlQXQoRCk7cmV0dXJuIFd9OwpwUj1mdW5jdGlvbihuKXtyZXR1cm4gbi5sZW5ndGg/TkQ/TkQuZGVjb2RlKG4pOlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxuKToiIn07CmcuSEc9ZnVuY3Rpb24obil7aWYoIW4ubGVuZ3RoKXJldHVybiIiO3RyeXtpZihORClyZXR1cm4gTkQuZGVjb2RlKG4pO2lmKHR5cGVvZiBGZXRjaEludGVybmFsIT09InVuZGVmaW5lZCIpcmV0dXJuIEZldGNoSW50ZXJuYWwuZGVjb2RlRnJvbVVURjgobil9Y2F0Y2h7fWZvcih2YXIgVz0wLEQ9W10sYj1uLmxlbmd0aDtXPGI7KXtsZXQgaz0wO2Zvcig7azwxMDI0JiZXPGI7KXt2YXIgdj1uW1crK107aWYodjwxMjgpe1lNW2srK109djtjb250aW51ZX1pZih2PDIyNCl2PSh2JjMxKTw8NnxuW1crK10mNjM7ZWxzZSBpZih2PDI0MCl2PSh2JjE1KTw8MTJ8KG5bVysrXSY2Myk8PDZ8bltXKytdJjYzO2Vsc2V7aWYoaysxPT09MTAyNCl7LS1XO2JyZWFrfXY9KHYmNyk8PDE4fChuW1crK10mNjMpPDwxMnwobltXKytdJjYzKTw8NnxuW1crK10mNjM7di09NjU1MzY7WU1baysrXT01NTI5Nnx2Pj4xMDt2PTU2MzIwfHYmMTAyM31ZTVtrKytdPXZ9dj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZywKWU0pO2s8MTAyNCYmKHY9di5zdWJzdHJpbmcoMCxrKSk7RC5wdXNoKHYpfXJldHVybiBELmpvaW4oIiIpfTsKSlI9ZnVuY3Rpb24obixXKXtpZihmUj8uZW5jb2RlSW50byl7bGV0IHtyZWFkOmIsd3JpdHRlbjp2fT1mUi5lbmNvZGVJbnRvKG4sVyk7cmV0dXJuIGI8bi5sZW5ndGg/bi5sZW5ndGgqNDp2fXZhciBEPTA7Zm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCB2PW4uY2hhckNvZGVBdChiKTt2PDEyOD9XW0QrK109djoodjwyMDQ4P1dbRCsrXT12Pj42fDE5MjooKHYmNjQ1MTIpPT09NTUyOTYmJmIrMTxuLmxlbmd0aCYmKG4uY2hhckNvZGVBdChiKzEpJjY0NTEyKT09PTU2MzIwPyh2PTY1NTM2KygodiYxMDIzKTw8MTApKyhuLmNoYXJDb2RlQXQoKytiKSYxMDIzKSxXW0QrK109dj4+MTh8MjQwLFdbRCsrXT12Pj4xMiY2M3wxMjgpOldbRCsrXT12Pj4xMnwyMjQsV1tEKytdPXY+PjYmNjN8MTI4KSxXW0QrK109diY2M3wxMjgpfXJldHVybiBEfTsKSXc9ZnVuY3Rpb24obil7aWYoZlIpcmV0dXJuIGZSLmVuY29kZShuKTt2YXIgVz1uZXcgVWludDhBcnJheShNYXRoLmNlaWwobi5sZW5ndGgqMS4yKSksRD1KUihuLFcpO1cubGVuZ3RoPEQmJihXPW5ldyBVaW50OEFycmF5KEQpLEQ9SlIobixXKSk7Vy5sZW5ndGg+RCYmKFc9Vy5zdWJhcnJheSgwLEQpKTtyZXR1cm4gV307Cm1rPWZ1bmN0aW9uKG4sVyl7bj1uIGluc3RhbmNlb2YgVWludDhBcnJheT9uZXcgUzUoW25dKTpuO3JldHVybiBXKG5ldyBBUihuKSl9OwpLUj1mdW5jdGlvbihuKXt2YXIgVz1yZChuLk4sbi5wb3MpOysrbi5wb3M7aWYoVzwxMjgpcmV0dXJuIFc7Zm9yKHZhciBEPVcmMTI3LGI9MTtXPj0xMjg7KVc9cmQobi5OLG4ucG9zKSwrK24ucG9zLGIqPTEyOCxEKz0oVyYxMjcpKmI7cmV0dXJuIER9OwpPeD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uSjtmb3Iobi5KPS0xO24ucG9zKzE8PW4uTi50b3RhbExlbmd0aDspe0Q8MCYmKEQ9S1IobikpO3ZhciBiPUQ+PjM7bGV0IHY9RCY3O2lmKGI9PT1XKXJldHVybiEwO2lmKGI+Vyl7bi5KPUQ7YnJlYWt9RD0tMTtzd2l0Y2godil7Y2FzZSAwOktSKG4pO2JyZWFrO2Nhc2UgMTpuLnBvcys9ODticmVhaztjYXNlIDI6Yj1LUihuKTtuLnBvcys9YjticmVhaztjYXNlIDU6bi5wb3MrPTR9fXJldHVybiExfTsKUEc9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXJldHVybiBLUihuKX07Clp3PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4gVz10UihuLk4sbi5wb3MsOCksbi5wb3MrPTgsKG5ldyBEYXRhVmlldyhXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoKSkuZ2V0RmxvYXQ2NCgwLCEwKX07ClV4PWZ1bmN0aW9uKG4sVyl7aWYoT3gobixXKSlyZXR1cm4hIUtSKG4pfTsKeUE9ZnVuY3Rpb24obixXKXtpZihPeChuLFcpKXtXPUtSKG4pO3ZhciBEPXRSKG4uTixuLnBvcyxXKTtuLnBvcys9VztyZXR1cm4gRH19OwpFeD1mdW5jdGlvbihuLFcpe2lmKG49eUEobixXKSlyZXR1cm4gZy5IRyhuKX07CmloPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXlBKG4sVykpcmV0dXJuIEQobmV3IEFSKG5ldyBTNShbbl0pKSl9Owp1aD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1bXTtPeChuLFcpOylELnB1c2goS1IobikpO3JldHVybiBELmxlbmd0aD9EOnZvaWQgMH07Cm93PWZ1bmN0aW9uKG4sVyxEKXtmb3IodmFyIGI9W10sdjt2PXlBKG4sVyk7KWIucHVzaChEKG5ldyBBUihuZXcgUzUoW3ZdKSkpKTtyZXR1cm4gYi5sZW5ndGg/Yjp2b2lkIDB9OwpkZD1mdW5jdGlvbihuLFcsRCl7aWYoVyYmRCYmRC5idWZmZXI9PT1XLmV4cG9ydHMubWVtb3J5LmJ1ZmZlcil7bGV0IGI9Vy5tZW1vcnkucmVhbGxvYyhELmJ5dGVPZmZzZXQsbik7aWYoYilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsYixuKX1uPVc/bmV3IFVpbnQ4QXJyYXkoVy5leHBvcnRzLm1lbW9yeS5idWZmZXIsVy5tZW1vcnkubWFsbG9jKG4pLG4pOm5ldyBVaW50OEFycmF5KG4pO0QmJm4uc2V0KEQpO3JldHVybiBufTsKZy5saD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyB6Nig0MDk2KTtXKEQsbik7cmV0dXJuIG5ldyBVaW50OEFycmF5KEQuTi5idWZmZXIsRC5OLmJ5dGVPZmZzZXQsRC5wb3MpfTsKVDY9ZnVuY3Rpb24obixXKXtXPW4ucG9zK1c7aWYoIShuLk4ubGVuZ3RoPj1XKSl7Zm9yKHZhciBEPW4uTi5sZW5ndGgqMjtEPFc7KUQqPTI7bi5OPWRkKEQsbi5XVixuLk4uc3ViYXJyYXkoMCxuLnBvcykpO24udmlldz1uZXcgRGF0YVZpZXcobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCxuLk4uYnl0ZUxlbmd0aCl9fTsKajU9ZnVuY3Rpb24obixXKXtpZihXPjI2ODQzNTQ1NSl7VDYobiw0KTtsZXQgRD1XJjEwNzM3NDE4MjM7Zm9yKGxldCBiPTA7Yjw0O2IrKyluLnZpZXcuc2V0VWludDgobi5wb3MsRCYxMjd8MTI4KSxEPj4+PTcsbi5wb3MrPTE7Vz1NYXRoLmZsb29yKFcvMjY4NDM1NDU2KX1mb3IoVDYobiw0KTtXPjEyNzspbi52aWV3LnNldFVpbnQ4KG4ucG9zLFcmMTI3fDEyOCksVz4+Pj03LG4ucG9zKz0xO24udmlldy5zZXRVaW50OChuLnBvcyxXKTtuLnBvcys9MX07CkNSPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgpLGo1KG4sRCkpfTsKQkc9ZnVuY3Rpb24obixXLEQpe0QhPT12b2lkIDAmJkNSKG4sVyxEPzE6MCl9OwpnLkZhPWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYoajUobixXKjgrMiksVz1ELmxlbmd0aCxqNShuLFcpLFQ2KG4sVyksbi5OLnNldChELG4ucG9zKSxuLnBvcys9Vyl9Owp3ZD1mdW5jdGlvbihuLFcsRD0yKXtqNShuLFcqOCsyKTtuLkoucHVzaChuLnBvcyk7bi5KLnB1c2goRCk7bi5wb3MrPUR9OwpNRD1mdW5jdGlvbihuKXtmb3IodmFyIFc9bi5KLnBvcCgpLEQ9bi5KLnBvcCgpLGI9bi5wb3MtRC1XO1ctLTspe2xldCB2PVc/MTI4OjA7bi52aWV3LnNldFVpbnQ4KEQrKyxiJjEyN3x2KTtiPj49N319OwpnLlJ3PWZ1bmN0aW9uKG4sVyxEKXtEIT09dm9pZCAwJiYod2QobixXLE1hdGguY2VpbChNYXRoLmxvZzIoRC5sZW5ndGgqNCsyKS83KSksVDYobixELmxlbmd0aCoxLjIpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSxuLnBvcytXPm4uTi5sZW5ndGgmJihUNihuLFcpLFc9SlIoRCxuLk4uc3ViYXJyYXkobi5wb3MpKSksbi5wb3MrPVcsTUQobikpfTsKUUE9ZnVuY3Rpb24obixXLEQsYix2PTMpe0QmJih3ZChuLFcsdiksYihuLEQpLE1EKG4pKX07CmNHPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBBUihuZXcgUzUoW2xwKGRlY29kZVVSSUNvbXBvbmVudChuKSldKSk7bj1FeChXLDIpO1c9UEcoVyw0KTt2YXIgRD1WQVtXXTtpZih0eXBlb2YgRD09PSJ1bmRlZmluZWQiKXRocm93IG49bmV3IGcuUXgoIkZhaWxlZCB0byByZWNvZ25pemUgZmllbGQgbnVtYmVyIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGZpZWxkTnVtYmVyOld9KSxnLlhqKG4pLG47cmV0dXJue0RYOlcsZW50aXR5VHlwZTpELGVudGl0eUlkOm59fTsKbmY9ZnVuY3Rpb24obixXKXt2YXIgRD1uZXcgejY7Zy5GYShELDIsSXcobikpO249YXdbV107aWYodHlwZW9mIG49PT0idW5kZWZpbmVkIil0aHJvdyBXPW5ldyBnLlF4KCJGYWlsZWQgdG8gcmVjb2duaXplIGVudGl0eSB0eXBlIix7bmFtZToiRW50aXR5S2V5SGVscGVyRXJyb3IiLGVudGl0eVR5cGU6V30pLGcuWGooVyksVztDUihELDQsbik7Q1IoRCw1LDEpO1c9bmV3IFVpbnQ4QXJyYXkoRC5OLmJ1ZmZlcixELk4uYnl0ZU9mZnNldCxELnBvcyk7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChnLkVBKFcsMCkpfTsKV2U9ZnVuY3Rpb24obil7bj1uLmtleXx8bi5pZDtpZighbil0aHJvdyBFcnJvcigiRW50aXR5IGtleSBpcyBtaXNzaW5nIik7cmV0dXJuIG59OwpERz1mdW5jdGlvbihuLFcsRCxiKXtpZihiPT09dm9pZCAwKXtsZXQge1tEXTp2LC4uLmt9PW5bV118fHt9O3JldHVybnsuLi5uLFtXXTprfX1yZXR1cm57Li4ubixbV106ey4uLm5bV10sW0RdOmJ9fX07CmJCPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bltXXXx8e30saD1rW0RdO2lmKCFoJiYhZy5sKCJ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlIikpcmV0dXJuIG47Yj1oUihofHx7fSxiLHY9PT0iUkVQRUFURURfRklFTERTX01FUkdFX09QVElPTl9BUFBFTkQiKTtyZXR1cm57Li4ubixbV106ey4uLmssW0RdOmJ9fX07Cm5taD1mdW5jdGlvbihuPXt9LFcpe3N3aXRjaChXLnR5cGUpe2Nhc2UgIkVOVElUWV9MT0FERUQiOnJldHVybiBXLnBheWxvYWQucmVkdWNlKChELGIpPT57dmFyIHY9Yi5vcHRpb25zPy5wZXJzaXN0ZW5jZU9wdGlvbjtpZih2JiZ2IT09IkVOVElUWV9QRVJTSVNURU5DRV9PUFRJT05fVU5LTk9XTiImJnYhPT0iRU5USVRZX1BFUlNJU1RFTkNFX09QVElPTl9JTk1FTU9SWV9BTkRfUEVSU0lTVCIpcmV0dXJuIEQ7aWYoIWIuZW50aXR5S2V5KXJldHVybiBnLlhqKEVycm9yKCJNaXNzaW5nIGVudGl0eSBrZXkiKSksRDtpZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfUkVQTEFDRSIpe2lmKCFiLnBheWxvYWQpcmV0dXJuIGI9bmV3IGcuUXgoIlJFUExBQ0UgZW50aXR5IG11dGF0aW9uIGlzIG1pc3NpbmcgYSBwYXlsb2FkIix7ZW50aXR5S2V5OmIuZW50aXR5S2V5fSksZy5YaihiKSxEO3ZhciBrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIERHKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10pfWlmKGIudHlwZT09PQoiRU5USVRZX01VVEFUSU9OX1RZUEVfREVMRVRFIil7YTp7Yj1iLmVudGl0eUtleTt0cnl7bGV0IGg9Y0coYikuZW50aXR5VHlwZTtrPURHKEQsaCxiKTticmVhayBhfWNhdGNoKGgpe2lmKGggaW5zdGFuY2VvZiBFcnJvcil7Yj1uZXcgZy5ReCgiRmFpbGVkIHRvIGRlc2VyaWFsaXplIGVudGl0eSBrZXkiLHtlbnRpdHlLZXk6YixvcmlnaW5hbE1lc3NhZ2U6aC5tZXNzYWdlfSk7Zy5YaihiKTtrPUQ7YnJlYWsgYX10aHJvdyBoO31rPXZvaWQgMH1yZXR1cm4ga31pZihiLnR5cGU9PT0iRU5USVRZX01VVEFUSU9OX1RZUEVfVVBEQVRFIil7aWYoIWIucGF5bG9hZClyZXR1cm4gYj1uZXcgZy5ReCgiVVBEQVRFIGVudGl0eSBtdXRhdGlvbiBpcyBtaXNzaW5nIGEgcGF5bG9hZCIse2VudGl0eUtleTpiLmVudGl0eUtleX0pLGcuWGooYiksRDtrPXZ4KGIucGF5bG9hZCk7cmV0dXJuIGJCKEQsayxiLmVudGl0eUtleSxiLnBheWxvYWRba10sYi5maWVsZE1hc2s/Lm1lcmdlT3B0aW9ucz8ucmVwZWF0ZWRGaWVsZHNNZXJnZU9wdGlvbil9cmV0dXJuIER9LApuKTsKY2FzZSAiUkVQTEFDRV9FTlRJVFkiOnJldHVybiBERyhuLFcucGF5bG9hZC5lbnRpdHlUeXBlLFcucGF5bG9hZC5rZXksVy5wYXlsb2FkLmc4KTtjYXNlICJSRVBMQUNFX0VOVElUSUVTIjpyZXR1cm4gT2JqZWN0LmtleXMoVy5wYXlsb2FkKS5yZWR1Y2UoKEQsYik9Pnt2YXIgdj1XLnBheWxvYWRbYl07cmV0dXJuIE9iamVjdC5rZXlzKHYpLnJlZHVjZSgoayxoKT0+REcoayxiLGgsdltoXSksRCl9LG4pOwpjYXNlICJVUERBVEVfRU5USVRZIjpyZXR1cm4gYkIobixXLnBheWxvYWQuZW50aXR5VHlwZSxXLnBheWxvYWQua2V5LFcucGF5bG9hZC5nOCxXLnBheWxvYWQublApO2RlZmF1bHQ6cmV0dXJuIG59fTsKVzRVPWZ1bmN0aW9uKCl7aWYodmUpcmV0dXJuIHZlKCk7dmU9a08oIlBlcnNpc3RlbnRFbnRpdHlTdG9yZURiIix7S2M6e0VudGl0eVN0b3JlOnt2eDoxfSxFbnRpdHlBc3NvY2lhdGlvblN0b3JlOnt2eDoyfX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDEpJiZFUihaeShuLCJFbnRpdHlTdG9yZSIse2tleVBhdGg6ImtleSJ9KSwiZW50aXR5VHlwZSIsImVudGl0eVR5cGUiKTtXKDIpJiYobj1aeShuLCJFbnRpdHlBc3NvY2lhdGlvblN0b3JlIix7a2V5UGF0aDpbInBhcmVudEVudGl0eUtleSIsImNoaWxkRW50aXR5S2V5Il19KSxFUihuLCJieVBhcmVudEVudGl0eUtleSIsInBhcmVudEVudGl0eUtleSIpLEVSKG4sImJ5Q2hpbGRFbnRpdHlLZXkiLCJjaGlsZEVudGl0eUtleSIpKX0sdmVyc2lvbjozfSk7cmV0dXJuIHZlKCl9OwpEZlM9ZnVuY3Rpb24obil7cmV0dXJuIENGKFc0VSgpLG4pfTsKayQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5JbnQzMkFycmF5P25ldyBJbnQzMkFycmF5KG4pOkFycmF5KG4pfTsKWDg9ZnVuY3Rpb24obil7dmFyIFc9bi5rZXksRD1uLmNvdW50ZXJbMF1eV1swXSxiPW4uY291bnRlclsxXV5XWzFdLHY9bi5jb3VudGVyWzJdXldbMl0saz1uLmNvdW50ZXJbM11eV1szXTtmb3IodmFyIGg9MztoPj0wJiYhKG4uY291bnRlcltoXT0tfm4uY291bnRlcltoXSk7aC0tKTtmb3IodmFyIHgsTCxlPTQ7ZTw0MDspaD1oRVtEPj4+MjRdXngkW2I+PjE2JjI1NV1eTGZbdj4+OCYyNTVdXmVZW2smMjU1XV5XW2UrK10seD1oRVtiPj4+MjRdXngkW3Y+PjE2JjI1NV1eTGZbaz4+OCYyNTVdXmVZW0QmMjU1XV5XW2UrK10sTD1oRVt2Pj4+MjRdXngkW2s+PjE2JjI1NV1eTGZbRD4+OCYyNTVdXmVZW2ImMjU1XV5XW2UrK10saz1oRVtrPj4+MjRdXngkW0Q+PjE2JjI1NV1eTGZbYj4+OCYyNTVdXmVZW3YmMjU1XV5XW2UrK10sRD1oLGI9eCx2PUw7bj1uLko7aD1XWzQwXTtuWzBdPWdOW0Q+Pj4yNF1eaD4+PjI0O25bMV09Z05bYj4+MTYmMjU1XV5oPj4xNiYyNTU7blsyXT1nTlt2Pj44JgoyNTVdXmg+PjgmMjU1O25bM109Z05bayYyNTVdXmgmMjU1O2g9V1s0MV07bls0XT1nTltiPj4+MjRdXmg+Pj4yNDtuWzVdPWdOW3Y+PjE2JjI1NV1eaD4+MTYmMjU1O25bNl09Z05baz4+OCYyNTVdXmg+PjgmMjU1O25bN109Z05bRCYyNTVdXmgmMjU1O2g9V1s0Ml07bls4XT1nTlt2Pj4+MjRdXmg+Pj4yNDtuWzldPWdOW2s+PjE2JjI1NV1eaD4+MTYmMjU1O25bMTBdPWdOW0Q+PjgmMjU1XV5oPj44JjI1NTtuWzExXT1nTltiJjI1NV1eaCYyNTU7aD1XWzQzXTtuWzEyXT1nTltrPj4+MjRdXmg+Pj4yNDtuWzEzXT1nTltEPj4xNiYyNTVdXmg+PjE2JjI1NTtuWzE0XT1nTltiPj44JjI1NV1eaD4+OCYyNTU7blsxNV09Z05bdiYyNTVdXmgmMjU1fTsKdEU9ZnVuY3Rpb24oKXtpZighcWEmJiFnLlJnKXtpZihHcilyZXR1cm4gR3I7R3I9d2luZG93LmNyeXB0bz8uc3VidGxlO2lmKEdyPy5pbXBvcnRLZXkmJkdyPy5zaWduJiZHcj8uZW5jcnlwdClyZXR1cm4gR3I7R3I9dm9pZCAwfX07CmJoMT1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJBRVMtQ1RSIn0sITEsWyJlbmNyeXB0Il0pKTtuPWF3YWl0IG4uSi5lbmNyeXB0KHtuYW1lOiJBRVMtQ1RSIixjb3VudGVyOkQsbGVuZ3RoOjEyOH0sbi5OLFcpO3JldHVybiBuZXcgVWludDhBcnJheShuKX07CiQkPWZ1bmN0aW9uKG4pe24uTj1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdO24uSz1bXTtuLksubGVuZ3RoPTY0O24uWD0wO24uSj0wfTsKc2U9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSyx2PW4uTlswXSxrPW4uTlsxXSxoPW4uTlsyXSx4PW4uTlszXSxMPW4uTls0XSxlPW4uTls1XSxHPW4uTls2XSxyPW4uTls3XSxOO2ZvcihsZXQgeT0wO3k8NjQ7KXtpZih5PDE2KWJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NDtlbHNle3ZhciBIPWJbeS0yXTt2YXIgQT1iW3ktMTVdO049Ylt5LTddK2JbeS0xNl0rKChIPj4+MTd8SDw8MTUpXihIPj4+MTl8SDw8MTMpXkg+Pj4xMCkrKChBPj4+N3xBPDwyNSleKEE+Pj4xOHxBPDwxNCleQT4+PjMpO2JbeV09Tn1IPXIrck5beV0rTisoKEw+Pj42fEw8PDI2KV4oTD4+PjExfEw8PDIxKV4oTD4+PjI1fEw8PDcpKSsoTCZlXn5MJkcpO0E9KCh2Pj4+Mnx2PDwzMCleKHY+Pj4xM3x2PDwxOSleKHY+Pj4yMnx2PDwxMCkpKyh2JmtediZoXmsmaCk7cj1IK0E7eCs9SDt5Kys7eTwxNj8oYlt5XT1OPVdbRF08PDI0fFdbRCsxXTw8MTZ8V1tEKzJdPDw4fFdbRCsKM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9RytyTlt5XStOKygoeD4+PjZ8eDw8MjYpXih4Pj4+MTF8eDw8MjEpXih4Pj4+MjV8eDw8NykpKyh4JkxefngmZSk7QT0oKHI+Pj4yfHI8PDMwKV4ocj4+PjEzfHI8PDE5KV4ocj4+PjIyfHI8PDEwKSkrKHImdl5yJmtediZrKTtHPUgrQTtoKz1IO3krKzt5PDE2PyhiW3ldPU49V1tEXTw8MjR8V1tEKzFdPDwxNnxXW0QrMl08PDh8V1tEKzNdLEQrPTQpOihIPWJbeS0yXSxBPWJbeS0xNV0sTj1iW3ktN10rYlt5LTE2XSsoKEg+Pj4xN3xIPDwxNSleKEg+Pj4xOXxIPDwxMyleSD4+PjEwKSsoKEE+Pj43fEE8PDI1KV4oQT4+PjE4fEE8PDE0KV5BPj4+MyksYlt5XT1OKTtIPWUrck5beV0rTisoKGg+Pj42fGg8PDI2KV4oaD4+PjExfGg8PDIxKV4oaD4+PjI1fApoPDw3KSkrKGgmeF5+aCZMKTtBPSgoRz4+PjJ8Rzw8MzApXihHPj4+MTN8Rzw8MTkpXihHPj4+MjJ8Rzw8MTApKSsoRyZyXkcmdl5yJnYpO2U9SCtBO2srPUg7eSsrO3k8MTY/KGJbeV09Tj1XW0RdPDwyNHxXW0QrMV08PDE2fFdbRCsyXTw8OHxXW0QrM10sRCs9NCk6KEg9Ylt5LTJdLEE9Ylt5LTE1XSxOPWJbeS03XStiW3ktMTZdKygoSD4+PjE3fEg8PDE1KV4oSD4+PjE5fEg8PDEzKV5IPj4+MTApKygoQT4+Pjd8QTw8MjUpXihBPj4+MTh8QTw8MTQpXkE+Pj4zKSxiW3ldPU4pO0g9TCtyTlt5XStOKygoaz4+PjZ8azw8MjYpXihrPj4+MTF8azw8MjEpXihrPj4+MjV8azw8NykpKyhrJmhefmsmeCk7QT0oKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKSkrKGUmR15lJnJeRyZyKTtOPXI7cj14O3g9TjtOPUc7Rz1oO2g9TjtOPWU7ZT1rO2s9TjtMPXYrSDt2PUgrQTt5Kyt9bi5OWzBdPXYrbi5OWzBdfDA7bi5OWzFdPWsrbi5OWzFdfDA7bi5OWzJdPWgrbi5OWzJdfAowO24uTlszXT14K24uTlszXXwwO24uTls0XT1MK24uTls0XXwwO24uTls1XT1lK24uTls1XXwwO24uTls2XT1HK24uTls2XXwwO24uTls3XT1yK24uTls3XXwwfTsKTmE9ZnVuY3Rpb24obil7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMzIpLEQ9NjQtbi5KO24uSj41NSYmKEQrPTY0KTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiWzBdPTEyODt2YXIgdj1uLlgqODtmb3IobGV0IGs9MTtrPDk7aysrKXtsZXQgaD12JTI1NjtiW0Qta109aDt2PSh2LWgpLzI1Nn1uLnVwZGF0ZShiKTtmb3IoRD0wO0Q8ODtEKyspV1tEKjRdPW4uTltEXT4+PjI0LFdbRCo0KzFdPW4uTltEXT4+PjE2JjI1NSxXW0QqNCsyXT1uLk5bRF0+Pj44JjI1NSxXW0QqNCszXT1uLk5bRF0mMjU1OyQkKG4pO3JldHVybiBXfTsKcGY9ZnVuY3Rpb24obixXLEQpe249bmV3IHZtaShuLk4pO24udXBkYXRlKFcpO24udXBkYXRlKEQpO1c9TmEobik7bi51cGRhdGUobi5qKTtuLnVwZGF0ZShXKTtXPU5hKG4pO24ucmVzZXQoKTtyZXR1cm4gV307CmtTaj1hc3luYyBmdW5jdGlvbihuLFcsRCl7bi5OfHwobi5OPWF3YWl0IG4uSi5pbXBvcnRLZXkoInJhdyIsbi5XLHtuYW1lOiJITUFDIixoYXNoOiJTSEEtMjU2In0sITEsWyJzaWduIl0pKTt2YXIgYj1uZXcgVWludDhBcnJheShXLmxlbmd0aCtELmxlbmd0aCk7Yi5zZXQoVyk7Yi5zZXQoRCxXLmxlbmd0aCk7bj1hd2FpdCBuLkouc2lnbih7bmFtZToiSE1BQyIsaGFzaDoiU0hBLTI1NiJ9LG4uTixiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobil9Owp4ZlM9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7bi5KfHwobi5KPW5ldyBoYXcobi5OLGIpKTtyZXR1cm4ga1NqKG4uSixXLEQpfTsKSGU9ZnVuY3Rpb24obixXLEQpe24uV3x8KG4uVz1uZXcgWSQobi5OKSk7cmV0dXJuIHBmKG4uVyxXLEQpfTsKTDRaPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10RSgpO2lmKGIpdHJ5e3JldHVybiBhd2FpdCB4ZlMobixXLEQsYil9Y2F0Y2godil7cmV0dXJuIGcuR3EodikscWE9ITAsSGUobixXLEQpfWVsc2UgcmV0dXJuIEhlKG4sVyxEKX07CmVhVT1mdW5jdGlvbihuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIEVycm9yP25ldyBmZigiVU5LTk9XTl9FTkNPREVfRVJST1IiLHtvcmlnaW5hbE1lc3NhZ2U6bi5tZXNzYWdlfSk6bmV3IGZmKCJVTktOT1dOX0VOQ09ERV9FUlJPUiIpfTsKZ20yPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgRXJyb3I/bmV3IGZmKCJVTktOT1dOX0RFQ09ERV9FUlJPUiIse29yaWdpbmFsTWVzc2FnZTpuLm1lc3NhZ2V9KTpuZXcgZmYoIlVOS05PV05fREVDT0RFX0VSUk9SIil9OwpKRT1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIGZmP246VyhuKTtnLlhqKG4pO3Rocm93IG47fTsKSTg9ZnVuY3Rpb24obil7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUobikuc3ViYXJyYXkoMCwxNik7dmFyIFc9bmV3IFVpbnQ4QXJyYXkoMTYpO1cuc2V0KG4pO3JldHVybiBXfTsKcXNVPWZ1bmN0aW9uKCl7dmFyIG49WHlVLnZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTtpZihuKXJldHVybiBuO2cuR3EobmV3IGcuUXgoIkVudGl0eSBtb2RlbCBub3QgZm91bmQuIix7ZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5In0pKX07CkFFPWZ1bmN0aW9uKG4sVyl7YTp7bj1TWShuLlcsVy52ZXJzaW9uKTt0cnl7dmFyIEQ9bi5KKFcuZGF0YSxXLmtleSk7YnJlYWsgYX1jYXRjaChiKXtKRShiLGdtMil9RD12b2lkIDB9cmV0dXJuIER9OwpHU3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLm9iamVjdFN0b3JlKCJFbnRpdHlTdG9yZSIpLmluZGV4KCJlbnRpdHlUeXBlIikuZ2V0QWxsKElEQktleVJhbmdlLm9ubHkoVykpLnRoZW4oRD0+RC5tYXAoYj0+QUUobixiKSkpfTsKJGZpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V2UoVyk7cmV0dXJuIG1MKG4sRCkudGhlbigoKT0+dENoKG4sVykpfTsKS2Y9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uSltEXTtifHwoYj1uZXcgU2V0LG4uSltEXT1iKTtiLmFkZChXKX07CnIzWj1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9U1kobi5XLDEpLHY9ey4uLld9O3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZ2V0KEQpLnRoZW4oaz0+e2lmKGspe2lmKGsuZW50aXR5VHlwZSE9PSJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKXRocm93IEVycm9yKCJJbmNvcnJlY3QgZW50aXR5IHR5cGUiKTt2LmVudGl0eU1ldGFkYXRhfHwoaz1BRShuLGspLHYuZW50aXR5TWV0YWRhdGE9ay5lbnRpdHlNZXRhZGF0YSl9fSkudGhlbigoKT0+e2E6e3RyeXt2YXIgaz1iLlcodixEKTsKYnJlYWsgYX1jYXRjaChoKXtKRShoLGVhVSl9az12b2lkIDB9az17a2V5OkQsZW50aXR5VHlwZToidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IixkYXRhOmssdmVyc2lvbjoxfTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikucHV0KGspLCRmaShuLHYpXSl9KS50aGVuKCgpPT57S2YobixELCJ2aWRlb1BsYXliYWNrUG9zaXRpb25FbnRpdHkiKTsKcmV0dXJuIER9KX07Ck9lPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Y0coVykuZW50aXR5VHlwZTtyZXR1cm4gc1IuYWxsKFtuLk4ub2JqZWN0U3RvcmUoIkVudGl0eVN0b3JlIikuZGVsZXRlKFcpLG1MKG4sVyldKS50aGVuKCgpPT57S2YobixXLEQpfSl9OwptTD1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKS5pbmRleCgiYnlQYXJlbnRFbnRpdHlLZXkiKS5kZWxldGUoSURCS2V5UmFuZ2Uub25seShXKSl9OwpzeHI9ZnVuY3Rpb24obixXKXtXPVcubWFwKEQ9Pk9lKG4sRCkpOwpyZXR1cm4gc1IuYWxsKFcpLnRoZW4oKCk9Pnt9KX07CnRDaD1mdW5jdGlvbihuLFcpe3ZhciBEPVdlKFcpLGI9cXNVKCk7aWYoIWIpcmV0dXJuIHNSLnJlc29sdmUoW10pO1c9bmV3IGIoVyk7bj1uLk4ub2JqZWN0U3RvcmUoIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiKTtiPVtdO2ZvcihsZXQgdiBvZiBXLkooKSliLnB1c2gobi5wdXQoe3BhcmVudEVudGl0eUtleTpELGNoaWxkRW50aXR5S2V5OnZ9KSk7cmV0dXJuIHNSLmFsbChiKS50aGVuKHY9PnYubWFwKGs9PmtbMV0pKX07ClNZPWZ1bmN0aW9uKG4sVz0wKXtuPW4uTltXXTtpZighbil0aHJvdyBXPW5ldyBmZigiSU5WQUxJRF9FTkNPREVSX1ZFUlNJT04iLHtPQTpXfSksZy5YaihXKSxXO3JldHVybiBufTsKUGU9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5vYnNlcnZlcnMpRChXKX07ClpHPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1hd2FpdCBEZlMobi50b2tlbiksdjtXPWF3YWl0IE9SKGIsWyJFbnRpdHlTdG9yZSIsIkVudGl0eUFzc29jaWF0aW9uU3RvcmUiXSxXLGs9Pnt2PW5ldyBOR3coayxuLk4pO3JldHVybiBEKHYpfSk7CnYmJihiPXYuSixPYmplY3Qua2V5cyhiKS5sZW5ndGg+MCYmKG4uY2hhbm5lbC5wb3N0TWVzc2FnZShiKSxQZShuLGIpKSk7cmV0dXJuIFd9OwpweXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gWkcobix7bW9kZToicmVhZHdyaXRlIixHUTohMH0sRD0+cjNaKEQsVykpfTsKWXNNPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9Pk9lKEQsVykpfTsKSGh3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWR3cml0ZSIsR1E6ITB9LEQ9PnN4cihELFcpKX07ClVlPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFpHKG4se21vZGU6InJlYWRvbmx5IixHUTohMH0sRD0+R1N3KEQsVykpfTsKSTkyPWFzeW5jIGZ1bmN0aW9uKCl7dHJ5e2xldCBXPWF3YWl0IGcublAoKTtpZihXJiZSOSgpJiZ0eXBlb2YgZy5xaS5Ccm9hZGNhc3RDaGFubmVsIT09InVuZGVmaW5lZCIpe3ZhciBuPW5ldyBmOWk7cmV0dXJuIG5ldyBKM2koVyxuKX19Y2F0Y2goVyl7VyBpbnN0YW5jZW9mIEVycm9yJiZnLlhqKFcpfX07CnlXPWZ1bmN0aW9uKCl7dmFyIG49WE1MSHR0cFJlcXVlc3QucHJvdG90eXBlLmZldGNoO3JldHVybiEhbiYmbi5sZW5ndGg9PT0zfTsKRWU9ZnVuY3Rpb24obixXKXtXPU51bWJlcihXKSoxRTM7dmFyIEQ9TWF0aC5yb3VuZCgoMCxnLlIpKCkpLGI9RC50b1N0cmluZygpO249e2lubmVydHViZVJlc3BvbnNlOm4sc2VydmVyRGF0ZVRpbWVzdGFtcE1zOmIsbGFzdE1vZGlmaWVkVGltZXN0YW1wTXM6YixleHBpcmVUaW1lc3RhbXBNczooRCtXKS50b1N0cmluZygpLGlzUHJvY2Vzc2VkOiEwfTtpZihXPWcuQXIoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpbi5jbGllbnROYW1lPVc7cmV0dXJuIG59Owp1Qj1mdW5jdGlvbihuLFcsRCl7aWYoIWcubCgic3RhdGVfdGFnc19raWxsc3dpdGNoIikpe3ZhciBiPW5ldyBpQihXKTtpZigoYi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W10pLmxlbmd0aD4wKXt2YXIgdj1uLk4udUIoKTtmb3IobGV0IGggb2Ygdil7dmFyIGs9dkcobi5OLGgpO2lmKGspe2E6e3Y9Yi5OPy5zdGF0ZVRhZ3NNb2RpZmllZHx8W107az0obmV3IGlCKHFyKGspKSkuTj8ucmVsZXZhbnRTdGF0ZVRhZ3N8fFtdO2ZvcihsZXQgeCBvZiBrKWlmKHguc3RhdGVUYWchPW51bGwmJnYuaW5jbHVkZXMoeC5zdGF0ZVRhZykmJngub25TdGF0ZVRhZ01vZGlmaWVkPT09IlNUQVRFX1RBR19DQUNIRV9JTlNUUlVDVElPTl9FVklDVF9SRVNQT05TRSIpe3Y9ITA7YnJlYWsgYX12PSExfXYmJmtNKG4uTixoKX19fX1iPVcucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzO0QmJmImJk51bWJlcihiKT4wJiYoVz1FZShXLGIpLG4uTi5wdXQoRCxuZXcgYmgoVykpKX07ClNzWj1mdW5jdGlvbihuLFcsRCl7aWYobi5OKXtsZXQgYj1TMShUNShXLCJrZXkiKSl8fCIvVU5LTk9XTl9QQVRIIjtuLk4uc3RhcnQoYil9bj1EO2cubCgid3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0IikmJihuPU1YUyhEKSk7cmV0dXJuIG5ldyB3aW5kb3cuUmVxdWVzdChXLG4pfTsKZE49YXN5bmMgZnVuY3Rpb24obixXLEQsYix2LGspe2lmKGs/LmFib3J0ZWQpcmV0dXJuIFcuY2FuY2VsKCksYjt2YXIge3ZhbHVlOmgsZG9uZTp4fT1hd2FpdCBXLnJlYWQoKTtpZih4KXJldHVybiBuLk4/LnN1Y2Nlc3MoKSxiO3RyeXt2YXIgTD1ELnBhcnNlKGgpfWNhdGNoKGUpe3Rocm93IG5ldyBvOCgiRmFpbGVkIHRvIHBhcnNlIHN0cmVhbWluZyByZXNwb25zZSIsaCk7fWlmKEwhPW51bGwpZm9yKGxldCBlIG9mIEwpYi5wdXNoKGUpLHY/LihlKTtyZXR1cm4gZE4obixXLEQsYix2LGspfTsKbmM9ZnVuY3Rpb24obixXLEQpe2lmKCF6cil7bGV0IGs9Zy5xaigpO2cueG8oayx7Tkg6bEIsWUw6VHJ9KTtpZihEPy5vUyl7Zy54byhrLHtOSDpqWSxQZjpnLkFyKCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsRC5jbGllbnRJbnRlcmZhY2UpfSk7Zy54byhrLHtOSDpDZixQZjo1MTg0RTZ9KTtnLnhvKGsse05IOkJlLFlMOkEzaixbZy5MWF06W2pZLENmXX0pO2cueG8oayx7Tkg6RjgsWUw6d059KTt2YXIgYj1rLnJlc29sdmUoRjgpO2xldCBoPXdpbmRvdztpZihoLnl0SW5pdGlhbFZpZGVvSWQpe3ZhciB2PWgueXRJbml0aWFsVmlkZW9JZDtoLnl0SW5pdGlhbFBsYXllclJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsUGxheWVyUmVzcG9uc2UseUgoInBsYXllciIse3ZpZGVvSWQ6dn0pKTtoLnl0SW5pdGlhbFdhdGNoTmV4dFJlc3BvbnNlJiZ1QihiLGgueXRJbml0aWFsV2F0Y2hOZXh0UmVzcG9uc2UseUgoIm5leHQiLHt2aWRlb0lkOnZ9KSk7aC55dEluaXRpYWxSZWVsSXRlbVdhdGNoUmVzcG9uc2UmJgp1QihiLGgueXRJbml0aWFsUmVlbEl0ZW1XYXRjaFJlc3BvbnNlLHlIKCJyZWVsX2l0ZW1fd2F0Y2giLHt2aWRlb0lkOnZ9KSl9fWcueG8oayx7Tkg6TWEsUGY6e3pnOntmZWVkYmFja0VuZHBvaW50OmhtKG1mUyksbW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludDpobShLNGkpLHBsYXlsaXN0RWRpdEVuZHBvaW50OmhtKE9ociksc2hhcmVFbnRpdHlFbmRwb2ludDpobShSOCksc3Vic2NyaWJlRW5kcG9pbnQ6aG0oUEd4KSx1bnN1YnNjcmliZUVuZHBvaW50OmhtKFpodCksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6aG0oVWZaKX19fSk7dj1iJC5nZXRJbnN0YW5jZSgpO2I9e307diYmKGIuY2xpZW50X2xvY2F0aW9uPXYpO0Q/Lm9TJiYodj1rLnJlc29sdmUoRjgpLGIuc3RvcmU9dixiLnJlc29sdmVfdXJsX3ByZWZldGNoPWsucmVzb2x2ZShRVykpO2cueG8oayx7Tkg6VlcsUGY6Yn0pO2cueG8oayx7Tkg6Y2UsUGY6biE9PXZvaWQgMD8KbjppTygpfSk7Vz09PXZvaWQgMCYmKFc9ay5yZXNvbHZlKGxCKSk7Zy5sKCJhbGxfd2ViX2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmY1MyKCk7RTliKGsucmVzb2x2ZShNYSksVyxrLnJlc29sdmUoY2UpLGsucmVzb2x2ZShWVyksRD8ub1M/ay5yZXNvbHZlKEJlKTp2b2lkIDApO2cueG8oayx7Tkg6YTgsUGY6WDcuaW5zdGFuY2V9KTt6cj1rLnJlc29sdmUoYTgpfXJldHVybiB6cn07CldRPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O249bi5zcGxpdCgiJiIpO2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09MiYmKFdbblswXV09blsxXSk7cmV0dXJuIFd9Owp5M3I9YXN5bmMgZnVuY3Rpb24oKXt2YXIgbj13aW5kb3c7YXdhaXQgZy5NaChnLkQ2KCkpO3ZhciBXPW4uYmdldm1jO2lmKCFXKXRocm93IEVycm9yKCJCR0UgQ29udHJvbHMgbm90IGV4cG9zZWQiKTtyZXR1cm57cGF1c2U6KCk9PntXLnAoKX0sCnJlc3VtZTooKT0+e1cucigpfSwKY2hlY2tGb3JSZWZyZXNoOigpPT5XLmNyKCl9fTsKZy5ENj1mdW5jdGlvbigpe3JldHVybiBnLmwoImJnX3N0X2hyIik/ImhhdnVva21oaHMtMCI6YGhhdnVva21oaHMtJHtNYXRoLmZsb29yKGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/LnRpbWVPcmlnaW58fDApfWB9OwpiMD1mdW5jdGlvbihuKXt3aW5kb3cuYmdlbnM9bn07CkVteD1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShuPT57dmFyIFc9d2luZG93O1cubnRwZXZhc3JzIT09dm9pZCAwP24obmV3IHZRKFcubnRwZXZhc3JzKSk6KFcubnRwcWZiZWw9PT12b2lkIDAmJihXLm50cHFmYmVsPVtdKSxXLm50cHFmYmVsLnB1c2goRD0+e24obmV3IHZRKEQpKX0pKX0pfTsKeDU9ZnVuY3Rpb24oKXtpZihnLmFLKCkpe3ZhciBuPWcuQXIoIlBMQVlFUl9WQVJTIix7fSk7aWYoZy4keShuLCJwcml2ZW1iZWQiLCExKSE9IjEiJiYhZy54UihuKSl7dmFyIFc9KCk9PntrNT0hMDsiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3c/Zy5TSCgiRENMS1NUQVQiLDEpOmcuU0goIkRDTEtTVEFUIiwyKX07CnRyeXtsZXQgRD1Taihkb2N1bWVudCk7aU0oaGosVyxEKX1jYXRjaChEKXt9aWhDLnB1c2godGEuTFMoKCk9PntpZighKGs1fHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7aWYoaGoudG9TdHJpbmcoKSYmVyl7dmFyIEQ9YCR7QWkoVyl9YCxiPW9JW0RdO2ImJlBVKGIpfX1jYXRjaCh2KXt9azU9ITA7Zy5TSCgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07CkxjPWZ1bmN0aW9uKCl7dmFyIG49TnVtYmVyKGcuQXIoIkRDTEtTVEFUIiwwKSk7cmV0dXJuIGlzTmFOKG4pPzA6bn07CmV0PWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpvbU09YXN5bmMgZnVuY3Rpb24obil7aWYoZy5xaS55dEF0UCYmIWcubCgieXRhdHBfa3MiKSl7dmFyIFc9YXdhaXQgZy5xaS55dEF0UDtkZWxldGUgZy5xaS55dEF0UDt2YXIgRD1XPy5SO3ZhciBiPVc/LlQ7Vz11dDIoRCk7bGV0IGs9ISFiO24uSi5KKEQ/Vz9rPzc6MTA6az8xOjg6az8yOjksbi5XKyspO2lmKCFEfHxXKUQ9YXdhaXQgWHkobixxZShiLG51bGwpKSxEPUpTT04uc3RyaW5naWZ5KEQpO2cucWkueXRBdFJDP2cucWkueXRBdFJDKEQpOmcuR3EoRXJyb3IoInl0QXRSQyBub3QgZGVmaW5lZCBmb3IgeXRBdFAuIikpfWVsc2UgZy5xaS55dEF0UkM/Zy5WeCgwLGFzeW5jKCk9PntiPWcucWkueXRBdFQ7ZGVsZXRlIGcucWkueXRBdFQ7aWYoZy5xaS55dEF0UkMpe24uSi5KKDIsbi5XKyspO3ZhciBrPWF3YWl0IFh5KG4scWUoYixudWxsKSk7Zy5xaS55dEF0UkMmJmcucWkueXRBdFJDKEpTT04uc3RyaW5naWZ5KGspKX1lbHNlIG4uSi5KKDYsbi5XKyspfSwyLHYwKCJhdHRfaW5pdF9kZWxheSIsCjApKTooYj1nLnFpLnl0QXRULGRlbGV0ZSBnLnFpLnl0QXRULG4uSi5KKDEsbi5XKyspKTsKRD1hd2FpdCBFbXgoKTtELmJpbmRJbm5lcnR1YmVDaGFsbGVuZ2VGZXRjaGVyKGs9PntuLkouSigzLG4uVysrKTtyZXR1cm4gWHkobixxZShiLGspKX0pOwpELnJlZ2lzdGVyQ2hhbGxlbmdlRmV0Y2hlZENhbGxiYWNrKGs9PntrPWsuY2hhbGxlbmdlO2lmKCFrKXRocm93IEVycm9yKCJCR0VfTUFDUiIpO2s9e2NoYWxsZW5nZTprLFJSOldRKGspLE8xOnYsYmdDaGFsbGVuZ2U6bmV3IHIkfTtrPVByb21pc2UucmVzb2x2ZShrKTtuLk49a30pOwp2YXIgdj1hd2FpdCBnLk1oKGcuRDYoKSk7RD1ELmdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCkuY2hhbGxlbmdlO2lmKCFEKXRocm93IEVycm9yKCJCR0VfTUFDSUwiKTtyZXR1cm57Y2hhbGxlbmdlOkQsUlI6V1EoRCksTzE6dixiZ0NoYWxsZW5nZTpuZXcgciR9fTsKdGo9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9cWUodm9pZCAwLGckKCkuTik7dHJ5e3ZhciBEPWF3YWl0IGRmMihuLFcpfWNhdGNoKHgpe3JldHVybiBnLkdxKEVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggYXR0ZXN0YXRpb24gY2hhbGxlbmdlIGFmdGVyIDUgYXR0ZW1wdHM7IG5vdCByZXRyeWluZyBmb3IgMjRoLiIpKSxHMChuLDg2NEU1KSx7Y2hhbGxlbmdlOiIiLFJSOnt9LE8xOnZvaWQgMCxiZ0NoYWxsZW5nZTp2b2lkIDB9fVc9RC5RRjt2YXIgYj1ELlR0O0cwKG4sKE51bWJlcihiLnQpfHw3MjAwKSoxRTMpO249dm9pZCAwO2lmKCJjMWEiaW4gYiYmRC5iZ0NoYWxsZW5nZSl7RD1ELmJnQ2hhbGxlbmdlO3ZhciB2PW5ldyByJDtpZihELmludGVycHJldGVySmF2YXNjcmlwdCl7dmFyIGs9Tk4oRC5pbnRlcnByZXRlckphdmFzY3JpcHQpO2s9S2IoaykudG9TdHJpbmcoKTt2YXIgaD1uZXcgcXY7Zy5TRShoLDYsayk7JDkodixxdiwxLGgseFUpfWVsc2UgRC5pbnRlcnByZXRlclVybCYmCihrPXB3KEQuaW50ZXJwcmV0ZXJVcmwpLGs9eDMoaykudG9TdHJpbmcoKSxoPW5ldyBHSCxnLlNFKGgsNCxrKSwkOSh2LEdILDIsaCx4VSkpO0QuaW50ZXJwcmV0ZXJIYXNoJiZBUyh2LDMsRC5pbnRlcnByZXRlckhhc2gseFUpO0QucHJvZ3JhbSYmQVModiw0LEQucHJvZ3JhbSx4VSk7RC5nbG9iYWxOYW1lJiZBUyh2LDUsRC5nbG9iYWxOYW1lLHhVKTtELmNsaWVudEV4cGVyaW1lbnRzU3RhdGVCbG9iJiZBUyh2LDcsRC5jbGllbnRFeHBlcmltZW50c1N0YXRlQmxvYix4VSk7dHJ5e2F3YWl0IHRxKGckKCksdil9Y2F0Y2goeCl7cmV0dXJuIGcuR3EoeCkse2NoYWxsZW5nZTpXLFJSOmIsTzE6bixiZ0NoYWxsZW5nZTp2fX10cnl7bj1uZXcgQXEoe2NoYWxsZW5nZTp2LHgzOntWajoiYUdJZiJ9fSksYXdhaXQgbi5Pdn1jYXRjaCh4KXtnLkdxKHgpLG49dm9pZCAwfX1yZXR1cm57Y2hhbGxlbmdlOlcsUlI6YixPMTpuLGJnQ2hhbGxlbmdlOnZ9fTsKWHk9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uLlg7aWYoIUR8fEQuV0coKSlyZXR1cm4gJDUobixXKTtnLmdfKCJhdHRfcG5hIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBuZXcgUHJvbWlzZShiPT57RC5lRigicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PnskNShuLFcpLnRoZW4oYil9KX0pfTsKZGYyPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEPXZvaWQgMCxiPTA7Yjw1Oyl7aWYoYj4wKXtsZXQgdj0xRTMqTWF0aC5wb3coMixiLTEpK01hdGgucmFuZG9tKCkqMUUzO2F3YWl0IG5ldyBQcm9taXNlKGs9PntnLmNCKDAsKCk9PntrKHZvaWQgMCl9LHYpfSl9dHJ5e24uSi5KKDQsbi5XKyspOwpsZXQgdj1hd2FpdCBYeShuLFcpO3JldHVybiB6YWkodil9Y2F0Y2godil7RD12LHYgaW5zdGFuY2VvZiBFcnJvciYmZy5HcSh2KX1iKyt9dGhyb3cgRDt9OwpHMD1mdW5jdGlvbihuLFcpe3ZhciBEPURhdGUubm93KCkrVyxiPWFzeW5jKCk9Pnt2YXIgdj1ELURhdGUubm93KCk7djwxRTM/YXdhaXQgbDlpKG4pOmcuY0IoMCxiLE1hdGgubWluKHYsNkU0KSl9OwpiKCl9OwokNT1hc3luYyBmdW5jdGlvbihuLFcpe2IwKDIpO3RyeXtsZXQgRD1hd2FpdCBYeShuLm5ldHdvcmssVyk7RD9ELmNoYWxsZW5nZSYmIUQuYmdDaGFsbGVuZ2U/YjAoMSk6YjAoNCk6YjAoMyk7cmV0dXJuIER9Y2F0Y2goRCl7YjAoMyl9fTsKemFpPWZ1bmN0aW9uKG4pe2lmKCFuKXRocm93IEVycm9yKCJGZXRjaGluZyBBdHRlc3RhdGlvbiBjaGFsbGVuZ2UgcmV0dXJuZWQgZmFsc3kiKTtpZighbi5jaGFsbGVuZ2UpdGhyb3cgRXJyb3IoIk1pc3NpbmcgQXR0ZXN0YXRpb24gY2hhbGxlbmdlIik7dmFyIFc9bi5jaGFsbGVuZ2UsRD1XUShXKTtpZigiYzFhImluIEQmJighbi5iZ0NoYWxsZW5nZXx8IW4uYmdDaGFsbGVuZ2UucHJvZ3JhbSkpdGhyb3cgRXJyb3IoIkV4cGVjdGVkIGJnIGNoYWxsZW5nZSBidXQgbWlzc2luZy4iKTtyZXR1cm57Li4ubixRRjpXLFR0OkR9fTsKbDlpPWFzeW5jIGZ1bmN0aW9uKG4pe3ZhciBXPWF3YWl0IFByb21pc2UucmFjZShbbi5OLG51bGxdKSxEPXRqKG4pO24uTj1EO1c/Lk8xPy5kaXNwb3NlKCl9OwpUR2g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbmV3IFByb21pc2UoRD0+e2cuY0IoMCwoKT0+e0QoVygpKX0sbil9KX07CnFlPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e2VuZ2FnZW1lbnRUeXBlOiJFTkdBR0VNRU5UX1RZUEVfVU5CT1VORCJ9O24mJihELmVhY3JUb2tlbj1uKTtXJiYoRC5pbnRlcnByZXRlckhhc2g9Vyk7cmV0dXJuIER9Owp1dDI9ZnVuY3Rpb24obil7aWYoIW58fCFnLmwoInJvc2NhcyIpKXJldHVybiExO3RyeXt2YXIgVz1KU09OLnBhcnNlKG4pfWNhdGNoKEQpe3JldHVybiExfW49Vy5jaGFsbGVuZ2U7aWYoIW4pcmV0dXJuITE7Vz1XUShuKTtuPU51bWJlcihXLmMpfHx2b2lkIDA7Vz1OdW1iZXIoVy50KXx8NzIwMDtyZXR1cm4hIW4mJkRhdGUubm93KCk+KG4rVykqMUUzfTsKcmE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2Uobj0+e3ZhciBXPXdpbmRvdztXLmF0dG1wIT09dm9pZCAwP24oVy5hdHRtcCk6KFcuYXR0bXE9PT12b2lkIDAmJihXLmF0dG1xPVtdKSxXLmF0dG1xLnB1c2goRD0+e24oRCl9KSl9KX07CmcucGM9YXN5bmMgZnVuY3Rpb24obixXLEQpe2lmKHNoKCkpe3ZhciBiPXdpbmRvdztyZXR1cm4gYi5hdHRtcCE9PXZvaWQgMD9iLmF0dG1wLnMobixXLEQpOihhd2FpdCByYSgpKS5zKG4sVyxEKX1yZXR1cm4oYj0oYj1nLnJyKCJ5dC5hYmEuYXR0IikpP2I6TmUuaW5zdGFuY2UhPT12b2lkIDA/TmUuaW5zdGFuY2UuZFEuYmluZChOZS5pbnN0YW5jZSk6bnVsbCk/YihuLFcsRCk6UHJvbWlzZS5yZXNvbHZlKHtlcnJvcjoiQVRURVNUQVRJT05fRVJST1JfQVBJX05PVF9SRUFEWSJ9KX07CmcuWTU9YXN5bmMgZnVuY3Rpb24oKXtpZihzaCgpKXJldHVybiB3aW5kb3cuYXR0bXA9PT12b2lkIDA/ITE6KGF3YWl0IHJhKCkpLmlyKCk7dmFyIG47cmV0dXJuKG49KG49Zy5ycigieXQuYWJhLmF0dDIiKSk/bjpOZS5pbnN0YW5jZSE9PXZvaWQgMD9OZS5pbnN0YW5jZS55Zi5iaW5kKE5lLmluc3RhbmNlKTpudWxsKT9uKCk6UHJvbWlzZS5yZXNvbHZlKCExKX07CnNoPWZ1bmN0aW9uKCl7cmV0dXJuKGcubCgiYXR0bXVzaSIpfHxnLmwoImF0dG11c2l3IikpJiZnLmwoImF0dG11c2lfdWUiKX07CkhRPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ycigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIik7RHx8KEQ9e30sZy5HYigieXREZWJ1Z0RhdGEuY2FsbGJhY2tzIixEKSk7aWYoZy5sKCJ3ZWJfZGRfaXUiKXx8anhTLmluY2x1ZGVzKG4pKURbbl09V307CkJHTT1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17Y29udGV4dDpnLnZiKCksc2V0dGluZ0l0ZW1JZDpXLG5ld1ZhbHVlOkR9O0Q9TEIoQ0diKTtuPWF3YWl0IGcucl8obixXLEQpO2lmKCFufHxuLmVycm9yTWV0YWRhdGEpbj9uLmVycm9yTWV0YWRhdGEmJmcuR3EobmV3IGcuUXgoYFNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAke24uZXJyb3JNZXRhZGF0YS5zdGF0dXN9YCkpOmcuR3EobmV3IGcuUXgoIlNldFNldHRpbmdSZXF1ZXN0IGZhaWxlZCB3aXRoIGVtcHR5IHJlc3BvbnNlIikpfTsKRjRiPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtEPyhuLnZWKDIpLGlNKGZ3KEQpLCgpPT57aWYod2luZG93LnRyYXlyaWRlKWZjKG4sYix2KTtlbHNle24udlYoMyk7bGV0IGg9dU0oRCkseD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChoKTt4JiYoeUooaCkseC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHgpKTtnLkdxKG5ldyBnLlF4KCJCTDpVTEIiLGAke0R9YCkpfX0saykpOlc/KGs9Zy56RigiU0NSSVBUIiksVyBpbnN0YW5jZW9mIEFGPyhrLnRleHRDb250ZW50PUtiKFcpLE9NKGspKTprLnRleHRDb250ZW50PVcsay5ub25jZT1Taihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChrKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGspLHdpbmRvdy50cmF5cmlkZT9mYyhuLGIsdik6KG4udlYoNCksZy5HcShuZXcgZy5ReCgiQkw6VUxCSiIpKSkpOmcuR3EobmV3IGcuUXgoIkJMOlVMViIpKX07CmZjPWZ1bmN0aW9uKG4sVyxEKXtuLnZWKDUpO3ZhciBiPSEhbi5EYSYmd3loLmluY2x1ZGVzKGcuSVAobi5EYSl8fCIiKTt0cnl7bGV0IHY9bmV3IEFxKHtwcm9ncmFtOlcsZ2xvYmFsTmFtZToidHJheXJpZGUiLHgzOntkaXNhYmxlOiFnLmwoImF0dF93ZWJfcmVjb3JkX21ldHJpY3MiKXx8IWcubCgiYXR0X3NraXBfbWV0cmljc19mb3JfY29va2llbGVzc19kb21haW5zX2tzIikmJmIsVmo6ImFHSWYifX0pO3YuT3YudGhlbigoKT0+e24udlYoNik7RCYmRChXKX0pOwpuLk4odil9Y2F0Y2godil7bi52Vig3KSx2IGluc3RhbmNlb2YgRXJyb3ImJmcuR3Eodil9fTsKdmFyIE1DYj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDEsODEzOCxuLFcsRCl9OwpKaj1mdW5jdGlvbigpe3ZhciBuPWcucnIoInl0LmFidXNlLnBsYXllckF0dExvYWRlciIpO3JldHVybiBuJiZbImJndm1hIiwiYmd2bWIiLCJiZ3ZtYyJdLmV2ZXJ5KFc9PlcgaW4gbik/bjpudWxsfTsKUmFTPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDI6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiAyO2Nhc2UgMDpyZXR1cm4gMztjYXNlIDQ6Y2FzZSAzOnJldHVybiAxO2RlZmF1bHQ6Zy5wYihuLCJ1bmtub3duIHJlc3VsdCB0eXBlIil9fTsKZy5JYT1mdW5jdGlvbihuKXtyZXR1cm4gbj8ubGF5b3V0SWQhPW51bGwmJm4/LmxheW91dFR5cGUhPW51bGx9OwpnLlo2PWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuU3QpfHxnLncobixnLkFqKXx8Zy53KG4sZy5tMil8fGcudyhuLGcuS2MpfHxnLncobixnLk9oKXx8Zy53KG4sZy5QUSk/ITA6ITF9OwpnLnUwPWZ1bmN0aW9uKG4pe2lmKCFnLklhKG4uYWRMYXlvdXRNZXRhZGF0YSkpcmV0dXJuITE7bj1uLnJlbmRlcmluZ0NvbnRlbnQ7cmV0dXJuIGcudyhuLGcuVWgpfHxnLncobixnLnlWKXx8Zy53KG4sUXhNKXx8Zy53KG4sZy5FaCl8fGcudyhuLGcuaTApPyEwOiExfTsKZy56MD1mdW5jdGlvbihuKXtyZXR1cm4gZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpP2cudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5vYSl8fGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5kYSk/ITA6ITE6ITF9OwpnLmwwPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclZhcnMhPT12b2lkIDAmJm4ucGluZ3MhPT12b2lkIDAmJm4uZXh0ZXJuYWxWaWRlb0lkIT09dm9pZCAwfTsKZy5NZT1mdW5jdGlvbihuKXtpZighZy5JYShuLmFkTGF5b3V0TWV0YWRhdGEpKXJldHVybiExO249bi5yZW5kZXJpbmdDb250ZW50O3ZhciBXPWcudyhuLGcuVDApO3JldHVybiBXP2cuanQoVyk6KFc9Zy53KG4sZy5DYykpP2cubDAoVyk6KFc9Zy53KG4sZy5CUSkpP1cucGxheWVyVmFycyE9PXZvaWQgMDooVz1nLncobixnLlVoKSk/Vy5kdXJhdGlvbk1pbGxpc2Vjb25kcyE9PXZvaWQgMDpnLncobixnLkZ5KXx8Zy53KG4sZy53YSk/ITA6ITF9OwpnLmp0PWZ1bmN0aW9uKG4pe249KG4uc2VxdWVudGlhbExheW91dHN8fFtdKS5tYXAoVz0+Zy53KFcsZy5SYSkpOwpyZXR1cm4gbi5sZW5ndGg+MCYmbi5ldmVyeShnLk1lKX07CmcuVlY9ZnVuY3Rpb24obil7cmV0dXJuIGcuSWEobi5hZExheW91dE1ldGFkYXRhKT8obj1nLncobi5yZW5kZXJpbmdDb250ZW50LGcuUVYpKSYmbi5waW5ncz8hMDohMTohMX07CmcuRHE9ZnVuY3Rpb24obil7aWYoIWcuSWEobi5hZExheW91dE1ldGFkYXRhKSlyZXR1cm4hMTtpZihnLncobi5yZW5kZXJpbmdDb250ZW50LGcuY1EpfHxnLncobi5yZW5kZXJpbmdDb250ZW50LGcub2EpKXJldHVybiEwO3ZhciBXPWcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5hYSk7cmV0dXJuIGcudyhuLnJlbmRlcmluZ0NvbnRlbnQsZy5uaSl8fGcudyhXPy5zaWRlUGFuZWwsVkMyKXx8Zy53KFc/LnNpZGVQYW5lbCxnLlckKXx8Zy53KFc/LnNpZGVQYW5lbCxjM2gpPyEwOiExfTsKZy5nTT1mdW5jdGlvbihuKXt2YXIgVzsoVz0hbil8fChXPW4uYWRTbG90TWV0YWRhdGEsVz0hKFc/LnNsb3RJZCE9PXZvaWQgMCYmVz8uc2xvdFR5cGUhPT12b2lkIDApKTtpZihXfHwhKGcuYloobil8fG4uc2xvdEVudHJ5VHJpZ2dlciYmbi5zbG90RnVsZmlsbG1lbnRUcmlnZ2VycyYmbi5zbG90RXhwaXJhdGlvblRyaWdnZXJzKSlyZXR1cm4hMTtuPW4uZnVsZmlsbG1lbnRDb250ZW50Py5mdWxmaWxsZWRMYXlvdXQ7cmV0dXJuKFc9Zy53KG4sZy5SYSkpP2cuTWUoVyk6KFc9Zy53KG4sZy52JCkpP2cuRHEoVyk6KFc9Zy53KG4sZy5reikpP2cudTAoVyk6KFc9Zy53KG4sZy5oWCkpP2cuWjYoVyk6KFc9Zy53KG4sZy54eikpP2cuSWEoVy5hZExheW91dE1ldGFkYXRhKT9nLncoVy5yZW5kZXJpbmdDb250ZW50LGcuU3QpPyEwOiExOiExOihXPWcudyhuLGcuTGkpKT9nLlZWKFcpOihuPWcudyhuLGcuZTIpKT9nLnowKG4pOiExfTsKZy5iWj1mdW5jdGlvbihuKXtyZXR1cm4obj1nLncobi5mdWxmaWxsbWVudENvbnRlbnQ/LmZ1bGZpbGxlZExheW91dCxnLnYkKSkmJm4uYWRMYXlvdXRNZXRhZGF0YT8ubGF5b3V0VHlwZT09PSJMQVlPVVRfVFlQRV9QQU5FTF9RUl9DT0RFIiYmbi5sYXlvdXRFeGl0Tm9ybWFsVHJpZ2dlcnM9PT12b2lkIDB9OwphOXI9ZnVuY3Rpb24obil7Zm9yKGxldCBXIG9mIG58fFtdKXtuPWcudyhXLGcuWEcpO2lmKG49PT12b2lkIDB8fCFnLmdNKG4pKWJyZWFrO2lmKChuPWcudyhuLmZ1bGZpbGxtZW50Q29udGVudD8uZnVsZmlsbGVkTGF5b3V0LGcuTGkpKSYmZy5WVihuKSlyZXR1cm4hMH1yZXR1cm4hMX07CnE0PWZ1bmN0aW9uKG4pe2lmKCFufHwhbi5hZFBsYWNlbWVudHMmJiFuLmFkU2xvdHMpcmV0dXJuITE7Zm9yKGxldCBXIG9mIG4uYWRQbGFjZW1lbnRzfHxbXSl7aWYoIVcpY29udGludWU7bGV0IEQ9Vy5hZFBsYWNlbWVudFJlbmRlcmVyO2lmKEQhPW51bGwmJihELmNvbmZpZyYmRC5jb25maWcuYWRQbGFjZW1lbnRDb25maWcmJkQuY29uZmlnLmFkUGxhY2VtZW50Q29uZmlnLmtpbmQpPT09IkFEX1BMQUNFTUVOVF9LSU5EX1NUQVJUIilyZXR1cm4hMH1mb3IobGV0IFcgb2Ygbi5hZFNsb3RzfHxbXSlpZihnLncoVyxnLlhHKT8uYWRTbG90TWV0YWRhdGE/LnRyaWdnZXJFdmVudD09PSJTTE9UX1RSSUdHRVJfRVZFTlRfQkVGT1JFX0NPTlRFTlQiKXJldHVybiEwO3JldHVybiExfTsKbm4xPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Vz9XLmlzVHJ1c3RlZD09PSEwP0QucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRCIpOlcuaXNUcnVzdGVkPT09ITE/RC5wdXNoKCJCSVNDT1RUSV9CQVNFRF9ERVRFQ1RJT05fU1RBVEVfQVNfU0VFS19FVkVOVF9OT1RfVFJVU1RFRCIpOkQucHVzaCgiQklTQ09UVElfQkFTRURfREVURUNUSU9OX1NUQVRFX0FTX1NFRUtfRVZFTlRfVFJVU1RFRF9QUk9QRVJUWV9VTkRFRklORUQiKTpELnB1c2goIkJJU0NPVFRJX0JBU0VEX0RFVEVDVElPTl9TVEFURV9BU19TRUVLX0VWRU5UX1VOREVGSU5FRCIpO2cuR0MoMCwiYS5zXyIse21ldGFkYXRhOm4sc3RhdGVzOkR9KTtnLlNIKCJBU0RTVEFUIiwwKX07CmcuR0M9ZnVuY3Rpb24obixXLEQpe1c9V0RDW1ddO3ZhciBiPXtkZXRlY3RlZDpuPT09MCxzb3VyY2U6YCR7Vy5KfSR7RC50cmlnZ2VyQ29udGV4dD8/IiJ9JHtELk0zPz8iIn1gLGRldGVjdGlvblN0YXRlczpELnN0YXRlcyxkdXJhdGlvbk1zOkQuRXd9O0QubWV0YWRhdGEmJihiLmNvbnRlbnRDcG49RC5tZXRhZGF0YS5jb250ZW50Q3BuLGIuYWRDcG49RC5tZXRhZGF0YS5hZENwbik7Zy56VSgiYmlzY290dGlCYXNlZERldGVjdGlvbiIsYik7Vy5OIT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpLFcuTiE9PXZvaWQgMD8oVz1XLk4sbj1SYVMobiksbj1EJn4oMzw8Vyl8bjw8Vyk6bj1ELGcuU0goIkNBVFNUQVQiLG4pKX07CnRYPWZ1bmN0aW9uKG4sVyl7bj1uLndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRBdXRob3JpemF0aW9uVG9rZW5Db25maWc/LnZpZGVvQXV0aG9yaXphdGlvblRva2VuPy5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnN8fFtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7KytEKWlmKG5bRF0uc2NvcGU9PT1XKXJldHVybiBuW0RdLnRva2VufHx2b2lkIDB9OwpnLk40PWZ1bmN0aW9uKG4pe3ZhciBXPWcudyhuLCR6KTtpZihXKXJldHVybiBXO2lmKChXPWcudyhuLERZcikpJiZXLmNvbW1hbmRzKXJldHVybiByTShXLmNvbW1hbmRzKTtpZigoVz1nLncobixiOGIpKSYmVy5jb21tYW5kcylyZXR1cm4gck0oVy5jb21tYW5kcyk7aWYoKG49Zy53KG4sdm5NKSkmJm4uaWRlbnRpZmllciYmbi5jb21tYW5kJiYoczN8fChzMz1bXSksIXMzLmluY2x1ZGVzKG4uaWRlbnRpZmllcikpKXJldHVybiBzMy5wdXNoKG4uaWRlbnRpZmllciksZy53KG4uY29tbWFuZCwkeil9OwpyTT1mdW5jdGlvbihuKXtpZihuLmxlbmd0aCE9PTApe3ZhciBXPVtdO2ZvcihsZXQgRCBvZiBuKShuPWcuTjQoRCkpJiZXLnB1c2gobik7cmV0dXJue2NvbW1hbmRFeGVjdXRvckNvbW1hbmQ6e2NvbW1hbmRzOld9fX19OwpwaT1mdW5jdGlvbihuKXtpZihuJiZuLnNpbXBsZVRleHQpcmV0dXJuIG4uc2ltcGxlVGV4dDt2YXIgVz0iIjtpZihuJiZuLnJ1bnMpZm9yKGxldCBEPTA7RDxuLnJ1bnMubGVuZ3RoO0QrKyluLnJ1bnNbRF0udGV4dCYmKFcrPW4ucnVuc1tEXS50ZXh0KTtyZXR1cm4gV307Cll6PWZ1bmN0aW9uKG4pe3JldHVybiBuP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChXKXtnLlhqKFcpfX06bn07CmZpPWZ1bmN0aW9uKCl7SCQuaW5zdGFuY2V8fChIJC5pbnN0YW5jZT1uZXcgSCQpO3JldHVybiBIJC5pbnN0YW5jZX07CklmPWZ1bmN0aW9uKCl7SlguaW5zdGFuY2V8fChKWC5pbnN0YW5jZT1uZXcgSlgpO3JldHVybiBKWC5pbnN0YW5jZX07Cm1VPWZ1bmN0aW9uKG4sVyxELGI9e30pe1BWKCgpPT57a3ZNLmluY2x1ZGVzKFcpfHwoZy5HcShuZXcgZy5ReCgiY3JlYXRlQ2xpZW50U2NyZWVuKCkgY2FsbGVkIHdpdGggYSBub24tcGFnZSBWRSIsVykpLFc9ODM3NjkpO2lmKCFiLmlzSGlzdG9yeU5hdmlnYXRpb24pe2xldCB2PWIubGF5ZXJ8fDA7bi5UQy5zZXQodixbXSk7UzIobix2KS5wdXNoKHtyb290VmU6VyxrZXk6Yi5rZXl8fCIifSl9bi5EPVtdO24uTz1bXTtiLlVBP2hqdChuLFcsRCxiKTpBWChuLFcsRCxiKX0pKCl9OwpTMj1mdW5jdGlvbihuLFcpe24uSy5oYXMoVyl8fG4uSy5zZXQoVyxbXSk7cmV0dXJuIG4uSy5nZXQoVyl9OwpoanQ9ZnVuY3Rpb24obixXLEQsYj17fSl7bi5OLmFkZChiLmxheWVyfHwwKTtuLmo9KCk9PntBWChuLFcsRCxiKTt2YXIgdj13NChiLmxheWVyKTtpZih2KXtsZXQgaz1nLlJ2KGIubGF5ZXIpO2ZvcihsZXQgaCBvZiBuLkQpe2xldCB4PWhbMF0sTD1oWzFdfHx2O2s/S2kobix4LEwsYi5sYXllcixrKTpPMyhuLHgsTCxiLmxheWVyKX1mb3IobGV0IGggb2Ygbi5PKVAkKG4saFswXSxoWzFdKX19OwpEfHxnLlJ2KGIubGF5ZXIpfHxuLmooKTtpZihiLlVBKWZvcihsZXQgdiBvZiBiLlVBKXhZYihuLHYsYi5sYXllcik7ZWxzZSBnLlhqKEVycm9yKCJEZWxheWVkIHNjcmVlbiBuZWVkcyBhIGRhdGEgcHJvbWlzZS4iKSl9OwpBWD1mdW5jdGlvbihuLFcsRCxiPXt9KXt2YXIgdj12b2lkIDA7Yi5sYXllcnx8KGIubGF5ZXI9MCk7dj1iLnBhcmVudExheWVyIT09dm9pZCAwP2IucGFyZW50TGF5ZXI6Yi5sYXllcjt2YXIgaz1nLlJ2KHYpO3Y9dzQodik7dmFyIGg9RHx8dix4O2gmJihiLnBhcmVudENzbiE9PXZvaWQgMD94PXtjbGllbnRTY3JlZW5Ob25jZTpiLnBhcmVudENzbix2aXN1YWxFbGVtZW50Omh9OmsmJmshPT0iVU5ERUZJTkVEX0NTTiImJih4PXtjbGllbnRTY3JlZW5Ob25jZTprLHZpc3VhbEVsZW1lbnQ6aH0pKTt2YXIgTCxlPWcuQXIoIkVWRU5UX0lEIik7az09PSJVTkRFRklORURfQ1NOIiYmZSYmKEw9e3NlcnZsZXREYXRhOntzZXJpYWxpemVkU2VydmxldEV2ZW50SWQ6ZX19KTtnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikmJmsmJlpxKG4sayk7Zy5sKCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpJiZoJiZrJiZkSyhoLGspO3RyeXt2YXIgRz1nOWkobi5jbGllbnQsVyx4LGIuTDgsCmIuY3R0QXV0aEluZm8sTCxiLmltcGxpY2l0R2VzdHVyZVR5cGUsYi5sb2dnaW5nRXhwZWN0YXRpb25zLGIuYXV0b21hdGVkTG9nRXZlbnRTb3VyY2UpfWNhdGNoKE4pe0s0KE4se2w3Olcscm9vdFZlOnYsSTc6RCxsQTprLGdQOngsTDg6Yi5MOH0pO2cuWGooTik7cmV0dXJufWNzKEcsVyxiLmxheWVyLGIuY3R0QXV0aEluZm8pO2smJmshPT0iVU5ERUZJTkVEX0NTTiImJnYmJiF3SEMoaykmJihUcShuLmNsaWVudCxrLHYsITApLG4uSi5kZWxldGUoaykpO1c9UzIobixiLmxheWVyfHwwKTtXLmxlbmd0aD4wJiYhV1tXLmxlbmd0aC0xXS5jc24mJihXW1cubGVuZ3RoLTFdLmNzbj1HfHwiIik7Zy5ubCh7Y2xpZW50U2NyZWVuTm9uY2U6R30pO1UzLmluc3RhbmNlfHwoVTMuaW5zdGFuY2U9bmV3IFUzKTtQVihmaSgpLk4pLmJpbmQoZmkoKSkoKTt2YXIgcj13NChiLmxheWVyKTtrJiZrIT09IlVOREVGSU5FRF9DU04iJiZyJiZnLmwoIm11c2ljX3dlYl9tYXJrX3Jvb3RfdmlzaWJsZSIpJiYKRmooRyxyKTtuLk4uZGVsZXRlKGIubGF5ZXJ8fDApO24uaj12b2lkIDA7bi5TJC5nZXQoYi5sYXllcik/LmZvckVhY2goKE4sSCk9PntOP08zKG4sSCxOLGIubGF5ZXIpOnImJk8zKG4sSCxyLGIubGF5ZXIpfSk7CkxEWihuKX07CnhZYj1mdW5jdGlvbihuLFcsRD0wKXtQVigoKT0+e1cudGhlbihiPT57bi5OLmhhcyhEKSYmbi5qJiZuLmooKTt2YXIgdj1nLlJ2KEQpLGs9dzQoRCk7aWYodiYmayl7dmFyIGg9e2F1dG9tYXRlZExvZ0V2ZW50U291cmNlOjN9O2I/LnJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpO2I/LnBsYXllclJlc3BvbnNlPy50cmFja2luZ1BhcmFtcyYmdWcobi5jbGllbnQsdixrLFRVKGIucGxheWVyUmVzcG9uc2UudHJhY2tpbmdQYXJhbXMpLCExLGgpfX0pfSkoKX07CktpPWZ1bmN0aW9uKG4sVyxELGI9MCx2KXtuLkouaGFzKHYpfHxuLkouc2V0KHYsbmV3IFNldCk7dmFyIGs9RHx8dzQoYik7az1gJHtXLnRvU3RyaW5nKCl9fCR7az9rLnRvU3RyaW5nKCk6IiJ9YDtuLkouZ2V0KHYpLmhhcyhrKXx8KE8zKG4sVyxELGIpLG4uSi5nZXQodikuYWRkKGspKX07Ck8zPWZ1bmN0aW9uKG4sVyxELGI9MCl7cmV0dXJuIFBWKCgpPT57aWYobi5OLmhhcyhiKSlyZXR1cm4gbi5ELnB1c2goW1csRF0pLCEwO3ZhciB2PWcuUnYoYiksaz1EfHx3NChiKTtpZih2JiZrKXtpZihnLmwoImNvbWJpbmVfdmVfZ3JhZnRzIikpe2xldCBoPW4uWC5nZXQoay50b1N0cmluZygpKTtoP2gucHVzaChXKToobi5ZLnNldChrLnRvU3RyaW5nKCksayksbi5YLnNldChrLnRvU3RyaW5nKCksW1ddKSk7bi50d3x8KG4udHc9Zy5jQigwLCgpPT57WnEobix2KX0sMTIwMCkpfWVsc2UgdWcobi5jbGllbnQsdixrLFcpOwpyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpnLnlyPWZ1bmN0aW9uKG4pe3ZhciBXPUlmKCk7UFYoKCk9Pnt2YXIgRD1UVShuKSxiPWcuUnYoMCk7YiYmIVcuTi5oYXMoMCk/S2koVyxELHZvaWQgMCwwLGIpOk8zKFcsRCx2b2lkIDAsMCk7cmV0dXJuIER9KSgpfTsKZWp3PWZ1bmN0aW9uKG4pe3ZhciBXPXt2ZVR5cGU6MjUzMjQ2fTtyZXR1cm4gUFYoKCk9PntpZighVy52ZVR5cGUpcmV0dXJuIGcucWcobmV3IGcuUXgoIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihXLnZpc2liaWxpdHlUeXBlcyl7dmFyIEQ9Vy52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChiLHYpPT5ifHYpOwpEPXt2aXNpYmlsaXR5Ont0eXBlczpTdHJpbmcoRCl9fX1EPWp5KFcudmVUeXBlLFcudmlzdWFsRWxlbWVudCxXLmVsZW1lbnRJbmRleCxXLmNsaWVudFlvdVR1YmVEYXRhLHZvaWQgMCxEKTtyZXR1cm4gTzMobixEKT9EOm51bGx9KSgpfTsKWnE9ZnVuY3Rpb24obixXKXtpZihXPT09dm9pZCAwKXtsZXQgRD1CZ3IoKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKylEW2JdIT09dm9pZCAwJiZacShuLERbYl0pfWVsc2Ugbi5YLmZvckVhY2goKEQsYik9PnsoYj1uLlkuZ2V0KGIpKSYmaWcobi5jbGllbnQsVyxiLEQpfSksbi5YLmNsZWFyKCksbi5ZLmNsZWFyKCksbi50dz12b2lkIDB9Owpnblo9ZnVuY3Rpb24obixXLEQsYj0wKXtpZighVylyZXR1cm4hMTtiPWcuUnYoYik7aWYoIWIpcmV0dXJuITE7amkobi5jbGllbnQsYixUVShXKSxEKTtyZXR1cm4hMH07ClAkPWZ1bmN0aW9uKG4sVyxELGI9MCl7dmFyIHY9Zy5SdihiKTtXPVd8fHc0KGIpO3YmJlcmJihuPW4uY2xpZW50LGI9UGEoe2N0dEF1dGhJbmZvOlE0KHYpfHx2b2lkIDB9LHYpLEQ9e2Nzbjp2LHZlOlcuZ2V0QXNKc29uKCksY2xpZW50RGF0YTpEfSx2PT09IlVOREVGSU5FRF9DU04iP3pxKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixiLEQpOm4/dVIoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLEQsbixiKTpnLnpVKCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixELGIpKX07CkxEWj1mdW5jdGlvbihuKXtmb3IodmFyIFc9MDtXPG4uVi5sZW5ndGg7VysrKXt2YXIgRD1uLlZbV107dHJ5e0QoKX1jYXRjaChiKXtnLlhqKGIpfX1uLlYubGVuZ3RoPTA7Zm9yKFc9MDtXPG4uY0oubGVuZ3RoO1crKyl7RD1uLmNKW1ddO3RyeXtEKCl9Y2F0Y2goYil7Zy5YaihiKX19fTsKaVo9ZnVuY3Rpb24oKXtFMy5pbnN0YW5jZXx8KEUzLmluc3RhbmNlPW5ldyBFMyk7cmV0dXJuIEUzLmluc3RhbmNlfTsKWE9iPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgWE1MSHR0cFJlcXVlc3Q7RD8ubGcmJihiLm9ucmVhZHlzdGF0ZWNoYW5nZT12PT57RC5sZyhiLHYpfSk7CmIub3BlbihXLm1ldGhvZD8/IkdFVCIsbiwhMCk7Yi5yZXNwb25zZVR5cGU9InRleHQiO2Iud2l0aENyZWRlbnRpYWxzPSEwO2lmKFcuaGVhZGVycylmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMoVy5oZWFkZXJzKSliLnNldFJlcXVlc3RIZWFkZXIodixrKTtyZXR1cm4gYn07CnFmUz1mdW5jdGlvbigpe3ZhciBuPW5hdmlnYXRvcjtyZXR1cm4gbmV3IFByb21pc2UoKFcsRCk9PntuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YT9uLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2UucXVlcnlVc2FnZUFuZFF1b3RhKChiLHYpPT57Vyh7dXNhZ2U6YixxdW90YTp2fSl9LGI9PntEKGIpfSk6RChFcnJvcigid2Via2l0VGVtcG9yYXJ5U3RvcmFnZSBpcyBub3Qgc3VwcG9ydGVkLiIpKX0pfTsKdDZDPWZ1bmN0aW9uKG4sVyl7R3ZVKG4ucHJvZ3JhbSxXLkQzKSYmKGcuZ18oImJnX2kiLHZvaWQgMCwicGxheWVyX2F0dCIpLGcudVouaW5pdGlhbGl6ZShuLCgpPT57Zy5nXygiYmdfbCIsdm9pZCAwLCJwbGF5ZXJfYXR0Iik7b2Y9KDAsZy5SKSgpfSxXLmNzcE5vbmNlLFcuRGEpKX07CnZhciAkWWo9ZnVuY3Rpb24oKXtyZXR1cm4gSjRbSVsxMF1dKHRoaXMsMTYsNDYyNil9OwpyOVM9ZnVuY3Rpb24obj17fSl7cmV0dXJuIGcudVouaW52b2tlKG4pfTsKR3ZVPWZ1bmN0aW9uKG4sVyl7aWYobil7dmFyIEQ7Zy51Wi5pc0xvYWRpbmcoKT9EPSExOkQ9IW9mfHwoMCxnLlIpKCktb2Y+VztuPUR9ZWxzZSBuPSExO3JldHVybiBufTsKc18yPWZ1bmN0aW9uKG4sVyl7aWYoVy5wYXJ0bmVySWQ9PT0zOCYmbi5wbGF5ZXJTdHlsZT09PSJib29rcyIpe3ZhciBEPVcudmlkZW9JZC5pbmRleE9mKCI6Iik7bj1XLnZpZGVvSWQuc2xpY2UoMCxEKTtEPVcudmlkZW9JZC5zbGljZShEKzEpO3JldHVybiBnLkVUKGAvL3BsYXkuZ29vZ2xlLmNvbS9ib29rcy92b2x1bWVzLyR7bn0vY29udGVudC9tZWRpYWAse2FpZDpELHNpZzpXLnlkfSl9aWYoVy5wYXJ0bmVySWQ9PT0zMCYmbi5wbGF5ZXJTdHlsZT09PSJkb2NzIilyZXR1cm4gZy5FVCgiaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZ2V0X3ZpZGVvX2luZm8iLHtkb2NpZDpXLnZpZGVvSWQsYXV0aHVzZXI6Vy5rcCxhdXRoa2V5OlcudkYsZXVybDpuLlFyfSk7aWYoVy5wYXJ0bmVySWQ9PT0zMyYmbi5wbGF5ZXJTdHlsZT09PSJnb29nbGUtbGl2ZSIpcmV0dXJuIGcuRVQoIi8vZ29vZ2xlLWxpdmVwbGF5ZXIuYXBwc3BvdC5jb20vZ2V0X3ZpZGVvX2luZm8iLHtrZXk6Vy52aWRlb0lkfSk7CnRocm93IEVycm9yKCJnZXRWaWRlb0luZm9VcmwgZm9yIGludmFsaWQgbmFtZXNwYWNlOiAiK24uVik7fTsKTlFpPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O24uY0wmJihXLnl0cmV4dD1uLmNMKTtyZXR1cm4gZy5HRihXKT92b2lkIDA6V307CmcuekM9ZnVuY3Rpb24obixXKXt0NkMobix7RDM6Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIiksY3NwTm9uY2U6Vy5jc3BOb25jZSxEYTpXLkRhfHwiIn0pfTsKZy5sWj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YSYmbi52aWRlb0RhdGEucEspe2xldCBXPVtuLnZpZGVvRGF0YS5wS107Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uTikpaWYobi5SUltEXSYmbi5OW0RdKXtsZXQgYj1uLk5bRF0obi5SUik7YiYmVy5wdXNoKGIpfXJldHVybiBXLmpvaW4oIiYiKX1yZXR1cm4gbnVsbH07CmcuVEM9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobilmb3IobGV0IFtiLHZdb2YgT2JqZWN0LmVudHJpZXMobikpe249Yjt2YXIgRD12O2lmKEQ9PT12b2lkIDApY29udGludWU7RD10eXBlb2YgRD09PSJib29sZWFuIj9gJHsrRH1gOmAke0R9YC5yZXBsYWNlKC9bOiw9XS9nLCJfIik7Vy5wdXNoKGAke259LiR7RH1gKX1yZXR1cm4gVy5qb2luKCI7Iil9OwpqMj1mdW5jdGlvbihuKXtyZXR1cm4gbj09PTF8fG49PT0yfTsKQiQ9ZnVuY3Rpb24obixXPTApe2lmKG4gaW5zdGFuY2VvZiBnLkNpKXJldHVybiBuO249biYmbiBpbnN0YW5jZW9mIEVycm9yP246RXJyb3IoYCR7bn1gKTtqMihXKT9nLlhqKG4pOmcuR3Eobik7cmV0dXJuIG5ldyBnLkNpKFc9PT0xPyJwbGF5ZXIuZmF0YWxleGNlcHRpb24iOiJwbGF5ZXIuZXhjZXB0aW9uIix7bmFtZTpgJHtuLm5hbWV9YCxtZXNzYWdlOmAke24ubWVzc2FnZX1gfSxXKX07Ckg4cj1mdW5jdGlvbihuLFcpe1FBKG4sMixXLkNuLEZHLDMpO1FBKG4sMyxXLmlubmVydHViZVJlcXVlc3QscE9pLDMpO2cuRmEobiw0LFcub25lc2llVXN0cmVhbWVyQ29uZmlnKTtnLkZhKG4sOSxXLkJ4KTtRQShuLDEwLFcubUgsd00sMyk7UUEobiwxNSxXLnJlbG9hZFBsYXliYWNrUGFyYW1zLFlmaSwzKTtnLlJ3KG4sMTgsVy5Vayl9OwpRcj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLmZvcm1hdElkLE00LDMpO0NSKG4sMixXLnN0YXJ0VGltZU1zKTtDUihuLDMsVy5kdXJhdGlvbk1zKTtDUihuLDQsVy5BQyk7Q1Iobiw1LFcuaTkpO1FBKG4sOSxXLmo2LGY4QywzKTtRQShuLDExLFcuQUYsUmYsMSk7UUEobiwxMixXLkVqLFJmLDEpfTsKSjliPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy52aWRlb0lkKTtDUihuLDIsVy5sbXQpfTsKZjhDPWZ1bmN0aW9uKG4sVyl7aWYoVy5Geilmb3IobGV0IEQ9MDtEPFcuRnoubGVuZ3RoO0QrKylRQShuLDEsVy5GeltEXSxKOWIsMyl9OwpNND1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLml0YWcpO0NSKG4sMixXLmxtdCk7Zy5SdyhuLDMsVy54dGFncyl9OwpWcj1mdW5jdGlvbihuKXtyZXR1cm57aXRhZzpQRyhuLDEpLGxtdDpQRyhuLDIpLHh0YWdzOkV4KG4sMyl9fTsKUmY9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5zdGFydFRpY2tzKTtDUihuLDIsVy5sOCk7Q1IobiwzLFcudGltZXNjYWxlKX07CmMkPWZ1bmN0aW9uKG4pe3JldHVybntzdGFydFRpY2tzOlBHKG4sMSksbDg6UEcobiwyKSx0aW1lc2NhbGU6UEcobiwzKX19OwpJOGo9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5kZWZhdWx0UG9saWN5KTtDUihuLDIsVy5zbW9vdGgpO0NSKG4sMyxXLnZpc2liaWxpdHkpO0NSKG4sNCxXLk9iKTtDUihuLDUsVy5wZXJmb3JtYW5jZSk7Q1Iobiw2LFcuc3BlZWQpfTsKQTlTPWZ1bmN0aW9uKG4sVyl7aWYoVy5hdXRob3JpemVkRm9ybWF0cylmb3IobGV0IEQ9MDtEPFcuYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoO0QrKylRQShuLDEsVy5hdXRob3JpemVkRm9ybWF0c1tEXSxTZmosMSk7Zy5GYShuLDIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpfTsKU2ZqPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudHJhY2tUeXBlKTtCRyhuLDIsVy5pc0hkcil9OwpGRz1mdW5jdGlvbihuLFcpe0NSKG4sMTMsVy50aW1lU2luY2VMYXN0TWFudWFsRm9ybWF0U2VsZWN0aW9uTXMpO3ZhciBEPVcubGFzdE1hbnVhbERpcmVjdGlvbjtEIT09dm9pZCAwJiYoajUobiwxMTIpLGo1KG4sRDw8MV5EPj4zMSkpO0NSKG4sMTYsVy5pSCk7Q1IobiwxNyxXLmRldGFpbGVkTmV0d29ya1R5cGUpO0NSKG4sMTgsVy5zQSk7Q1IobiwxOSxXLllBKTtDUihuLDIxLFcuVE4pO0NSKG4sMjMsVy5JJCk7Q1IobiwyOCxXLm5SKTtDUihuLDI5LFcubHEpO0NSKG4sMzQsVy52aXNpYmlsaXR5KTtEPVcucGxheWJhY2tSYXRlO2lmKEQhPT12b2lkIDApe3ZhciBiPW5ldyBBcnJheUJ1ZmZlcig0KTsobmV3IEZsb2F0MzJBcnJheShiKSlbMF09RDtEPShuZXcgVWludDMyQXJyYXkoYikpWzBdO2lmKEQhPT12b2lkIDApZm9yKGo1KG4sMjg1KSxUNihuLDQpLGI9MDtiPDQ7KW4udmlldy5zZXRVaW50OChuLnBvcyxEJjI1NSksRD4+PTgsbi5wb3MrPTEsYis9MX1DUihuLDM2LFcuZnEpOwpRQShuLDM4LFcubWVkaWFDYXBhYmlsaXRpZXMsbVl3LDMpO0NSKG4sMzksVy5aSSk7Q1Iobiw0MCxXLllmKTtDUihuLDQ0LFcucGxheWVyU3RhdGUpO0JHKG4sNDYsVy5FYik7Q1Iobiw0OCxXLmo0KTtDUihuLDUwLFcua0UpO0NSKG4sNTEsVy5VbSk7Q1Iobiw1NCxXLkc3KTtpZihXLnlLKWZvcihEPTA7RDxXLnlLLmxlbmd0aDtEKyspQ1Iobiw1NSxXLnlLW0RdKTtCRyhuLDU2LFcuWkMpO0NSKG4sNTcsVy5YRCk7Qkcobiw1OCxXLmJ2KTtDUihuLDU5LFcublMpO0NSKG4sNjAsVy5HRik7Qkcobiw2MSxXLmlzUHJlZmV0Y2gpO0NSKG4sNjIsVy5TZik7Zy5GYShuLDYzLFcuc2FickxpY2Vuc2VDb25zdHJhaW50KTtDUihuLDY0LFcuazgpO0NSKG4sNjYsVy5WWCk7Q1Iobiw2NyxXLkJaKTtDUihuLDY4LFcucDYpO2cuUncobiw2OSxXLmF1ZGlvVHJhY2tJZCk7Qkcobiw3MSxXLnIwKTtRQShuLDcyLFcuTk8sSThqLDEpO0NSKG4sNzMsVy5pQik7Q1Iobiw3NCxXLllzKTtDUihuLDc1LFcuZXEpOwpDUihuLDc2LFcucU0pO1FBKG4sNzksVy5rYyxBOVMsMyk7Q1Iobiw4MCxXLkokKTtCRyhuLDg1LFcudXEpfTsKbVl3PWZ1bmN0aW9uKG4sVyl7aWYoVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllcylmb3IodmFyIEQ9MDtEPFcudmlkZW9Gb3JtYXRDYXBhYmlsaXRpZXMubGVuZ3RoO0QrKylRQShuLDEsVy52aWRlb0Zvcm1hdENhcGFiaWxpdGllc1tEXSxLRDEsMSk7aWYoVy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcylmb3IoRD0wO0Q8Vy5hdWRpb0Zvcm1hdENhcGFiaWxpdGllcy5sZW5ndGg7RCsrKVFBKG4sMixXLmF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzW0RdLE84TSwxKTtRQShuLDQsVy5wZXJQbGF5YmFja0F0dHJpYnV0ZXMsUDZTLDMpO0NSKG4sNSxXLmhkck1vZGVCaXRtYXNrKX07CnZhciBaODE9ZnVuY3Rpb24oKXtyZXR1cm4gZzdbSVsxMF1dKHRoaXMsNDEsODk3NSl9Owp2YXIgS0QxPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcudmlkZW9Db2RlYyk7QkcobiwyLFcuZWZmaWNpZW50KTtDUihuLDMsVy5tYXhIZWlnaHQpO0NSKG4sNCxXLm1heFdpZHRoKTtDUihuLDExLFcubWF4RnJhbWVyYXRlKTtDUihuLDEyLFcubWF4Qml0cmF0ZUJwcyk7QkcobiwxNSxXLmlzMTBCaXRTdXBwb3J0ZWQpfSxPOE09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5hdWRpb0NvZGVjKTsKQ1IobiwyLFcubnVtQ2hhbm5lbHMpO0NSKG4sMyxXLm1heEJpdHJhdGVCcHMpO0NSKG4sNixXLnNwYXRpYWxDYXBhYmlsaXR5Qml0bWFzayl9Owp2YXIgVVloPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFAwW0lbMTBdXSh0aGlzLDUxLDIyNDksbixXKX07ClA2Uz1mdW5jdGlvbihuLFcpe2lmKFcuaXRhZ0RlbnlsaXN0KWZvcihsZXQgRD0wO0Q8Vy5pdGFnRGVueWxpc3QubGVuZ3RoO0QrKylDUihuLDEsVy5pdGFnRGVueWxpc3RbRF0pfTsKd009ZnVuY3Rpb24obixXKXtRQShuLDEsVy5jbGllbnRJbmZvLHk5dCwzKTtnLkZhKG4sMixXLmROKTtnLkZhKG4sMyxXLnBsYXliYWNrQ29va2llKTtnLkZhKG4sNCxXLkJ4KTtpZihXLnJxKWZvcih2YXIgRD0wO0Q8Vy5ycS5sZW5ndGg7RCsrKVFBKG4sNSxXLnJxW0RdLEVuMiwzKTtpZihXLnV0KWZvcihEPTA7RDxXLnV0Lmxlbmd0aDtEKyspQ1Iobiw2LFcudXRbRF0pO2cuUncobiw3LFcucEcpO1FBKG4sOCxXLnEkLGk4VSwzKX07CnVmTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLlN6KTtDUihuLDIsVy5SNyl9OwpvbnI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmNvZGU7RCE9PXZvaWQgMCYmKGo1KG4sOCksajUobixEPDwxXkQ+PjMxKSk7Zy5SdyhuLDIsVy5tZXNzYWdlKX07CmRZTT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmNsaWVudFN0YXRlKTtRQShuLDIsVy5adSx1Zk0sMSl9OwppOFU9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLll0KTtRQShuLDIsVy5TaixvbnIsMyk7UUEobiwzLFcuY29sZFN0YXJ0SW5mbyxkWU0sMyl9OwpFbjI9ZnVuY3Rpb24obixXKXtDUihuLDEsVy50eXBlKTtnLkZhKG4sMixXLnZhbHVlKX07Cnk5dD1mdW5jdGlvbihuLFcpe2cuUncobiwxLFcuaGwpO2cuUncobiwxMixXLmRldmljZU1ha2UpO2cuUncobiwxMyxXLmRldmljZU1vZGVsKTtDUihuLDE2LFcuY2xpZW50TmFtZSk7Zy5SdyhuLDE3LFcuY2xpZW50VmVyc2lvbik7Zy5SdyhuLDE4LFcub3NOYW1lKTtnLlJ3KG4sMTksVy5vc1ZlcnNpb24pfTsKemoxPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5uYW1lKTtnLlJ3KG4sMixXLnZhbHVlKX07CmFmPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy51cmwpO2lmKFcuZTMpZm9yKGxldCBEPTA7RDxXLmUzLmxlbmd0aDtEKyspUUEobiwyLFcuZTNbRF0semoxLDMpO2cuRmEobiwzLFcucG9zdEJvZHkpO0JHKG4sNCxXLkVhKTtCRyhuLDYsVy5lOCl9OwpwT2k9ZnVuY3Rpb24obixXKXtnLkZhKG4sMixXLnZVKTtnLkZhKG4sNSxXLmVuY3J5cHRlZENsaWVudEtleSk7Zy5GYShuLDYsVy5pdik7Zy5GYShuLDcsVy5kZik7QkcobiwxMCxXLm13KTtCRyhuLDEzLFcuRkQpO0JHKG4sMTQsVy5EWSk7Zy5GYShuLDE2LFcud1MpO0JHKG4sMTcsVy55Sil9OwpsOHQ9ZnVuY3Rpb24obil7cmV0dXJue1dzOlBHKG4sMSksaHR0cFN0YXR1czpQRyhuLDIpLGJvZHk6eUEobiw0KX19OwpZZmk9ZnVuY3Rpb24obixXKXtnLlJ3KG4sMSxXLnRva2VuKX07ClRRTT1mdW5jdGlvbihuKXtyZXR1cm57dG9rZW46RXgobiwxKX19OwpqX1U9ZnVuY3Rpb24obil7Zm9yKHZhciBXPVtdLEQ7RD1FeChuLDEpOylXLnB1c2goRCk7cmV0dXJue3VybDpXLmxlbmd0aD9XOnZvaWQgMH19OwpuNz1mdW5jdGlvbihuKXtyZXR1cm57QWg6UEcobiwxKSx2eTpQRyhuLDIpfX07CkZEYj1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2lmKFcuY0UpZm9yKHZhciBEPTA7RDxXLmNFLmxlbmd0aDtEKyspUUEobiwyLFcuY0VbRF0sTTQsMyk7aWYoVy5lVylmb3IoRD0wO0Q8Vy5lVy5sZW5ndGg7RCsrKVFBKG4sMyxXLmVXW0RdLFFyLDMpO2cuRmEobiw1LFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7aWYoVy5CaSlmb3IoRD0wO0Q8Vy5CaS5sZW5ndGg7RCsrKVFBKG4sNixXLkJpW0RdLEM2VSwzKTtpZihXLkdoKWZvcihEPTA7RDxXLkdoLmxlbmd0aDtEKyspUUEobiwxNixXLkdoW0RdLE00LDMpO2lmKFcuTSQpZm9yKEQ9MDtEPFcuTSQubGVuZ3RoO0QrKylRQShuLDE3LFcuTSRbRF0sTTQsMyk7aWYoVy5Fdilmb3IoRD0wO0Q8Vy5Fdi5sZW5ndGg7RCsrKVFBKG4sMTgsVy5FdltEXSxNNCwzKTtRQShuLDE5LFcubUgsd00sMyk7UUEobiwyMSxXLk15LFduLDMpO0NSKG4sMjIsVy51TSk7Q1IobiwyMyxXLnJHKTtpZihXLmJLKWZvcihEPTA7RDxXLmJLLmxlbmd0aDtEKyspUUEobiwKMjQsVy5iS1tEXSxXbiwzKTtnLkZhKG4sMjUsVy5kUyk7aWYoVy5qcilmb3IoRD0wO0Q8Vy5qci5sZW5ndGg7RCsrKVFBKG4sMUUzLFcuanJbRF0sQlF3LDMpfTsKQzZVPWZ1bmN0aW9uKG4sVyl7UUEobiwxLFcuZm9ybWF0SWQsTTQsMyk7Q1IobiwyLFcudkQpO0NSKG4sMyxXLnNlcXVlbmNlTnVtYmVyKTtRQShuLDQsVy5oeCxSZiwxKTtDUihuLDUsVy5TMCk7Q1Iobiw2LFcudTMpfTsKV249ZnVuY3Rpb24obixXKXtpZihXLmFEKWZvcihsZXQgRD0wO0Q8Vy5hRC5sZW5ndGg7RCsrKWcuUncobiwxLFcuYURbRF0pO2cuRmEobiwyLFcuYWRzQ29uZmlnKTtnLlJ3KG4sMyxXLkJmKTtDUihuLDQsVy5ESik7Q1Iobiw1LFcub3YpO2cuUncobiw2LFcuZDMpO2cuUncobiw3LFcuY3VlcG9pbnRJZCk7Q1Iobiw4LFcuczEpO2cuUncobiw5LFcudGlsZUNvbnRleHQpO0NSKG4sMTAsVy5zdGFydFRpbWVNcyk7Q1IobiwxMSxXLmR1cmF0aW9uTXMpfTsKQlF3PWZ1bmN0aW9uKG4sVyl7aWYoVy5jRSlmb3IodmFyIEQ9MDtEPFcuY0UubGVuZ3RoO0QrKylRQShuLDEsVy5jRVtEXSxNNCwzKTtpZihXLmVXKWZvcihEPTA7RDxXLmVXLmxlbmd0aDtEKyspUUEobiwyLFcuZVdbRF0sUXIsMyk7Zy5SdyhuLDMsVy5jbGlwSWQpfTsKZy5EVT1mdW5jdGlvbihuLFcpe1FBKG4sMSxXLkNuLEZHLDMpO2cuRmEobiwzLFcudmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZyk7UUEobiw1LFcubUgsd00sMyk7UUEobiw2LFcuTXksV24sMyl9Owp3T1o9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKX19OwpSalU9ZnVuY3Rpb24obixXKXtpZihXLk8zKWZvcihsZXQgRD0wO0Q8Vy5PMy5sZW5ndGg7RCsrKVFBKG4sMSxXLk8zW0RdLE02VSwzKX07ClFfMT1mdW5jdGlvbihuLFcpe1FBKG4sMTA0NyxXLmJMLFJqVSwzKX07Ck02VT1mdW5jdGlvbihuLFcpe2lmKFcualYpZm9yKHZhciBEPTA7RDxXLmpWLmxlbmd0aDtEKyspZy5GYShuLDEsVy5qVltEXSk7aWYoVy5yWClmb3IoRD0wO0Q8Vy5yWC5sZW5ndGg7RCsrKWcuRmEobiwyLFcuclhbRF0pfTsKbnl3PWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5jcG4pO0NSKG4sMixXLnNlcXVlbmNlTnVtYmVyKTtnLlJ3KG4sMyxXLnNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQpO2lmKFcuZGVjb2RlckluZm8pZm9yKHZhciBEPTA7RDxXLmRlY29kZXJJbmZvLmxlbmd0aDtEKyspUUEobiw2LFcuZGVjb2RlckluZm9bRF0sVjZyLDMpO2cuUncobiw5LFcucGxheWVyUmVzcG9uc2VDcG4pO0NSKG4sMTAsVy50cmFuc2l0aW9uU3RpdGNoVHlwZSk7Zy5SdyhuLDExLFcucW9lUGluZ1VybCk7Q1IobiwxMixXLnRpbWVzdGFtcE9mZnNldE1zZWNzKTtDUihuLDE1LFcucmVtb3RlQ29udHJvbE1vZGUpO2lmKFcucmVtb3RlQ29ubmVjdGVkRGV2aWNlcylmb3IoRD0wO0Q8Vy5yZW1vdGVDb25uZWN0ZWREZXZpY2VzLmxlbmd0aDtEKyspUUEobiwxNixXLnJlbW90ZUNvbm5lY3RlZERldmljZXNbRF0sYzlNLDMpO2cuRmEobiwxNyxXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0KTsKaWYoVy5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLmxlbmd0aDtEKyspZy5GYShuLDE5LFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhW0RdKTtpZihXLmRhaUN1ZVBvaW50RXZlbnRzKWZvcihEPTA7RDxXLmRhaUN1ZVBvaW50RXZlbnRzLmxlbmd0aDtEKyspUUEobiwyMCxXLmRhaUN1ZVBvaW50RXZlbnRzW0RdLGE4MiwzKTtpZihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpZm9yKEQ9MDtEPFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YS5sZW5ndGg7RCsrKWcuRmEobiwyMSxXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGFbRF0pfTsKV0JqPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5pZGVudGlmaWVyKTtnLlJ3KG4sMixXLnRpbGVDb250ZXh0KX07Cmcudm49ZnVuY3Rpb24obil7dmFyIFc9e25zOm4uUmEsZWw6bi5ldmVudExhYmVsLGNwbjpuLmNsaWVudFBsYXliYWNrTm9uY2UsdmVyOjIsY210Om4uSihuLk4pLGZtdDpuLnZpZGVvRm9ybWF0LGZzOm4ualc/IjEiOiIwIixydDpuLkoobi53YSksYWRmb3JtYXQ6bi5hZEZvcm1hdCxjb250ZW50X3Y6bi5jb250ZW50VmlkZW9JZCxldXJpOm4uTWQsbGFjdDpuLk5kLGxpdmU6bi5UUSxjbDooOTUxNzc5MTA0KS50b1N0cmluZygpLG1vczpuLlJ0LHN0YXRlOm4ucGxheWVyU3RhdGUsdm9sdW1lOm4uZ1R9O24uc3Vic2NyaWJlZCYmKFcuc3Vic2NyaWJlZD0iMSIpO09iamVjdC5hc3NpZ24oVyxuLlkkKTtuLkQ9PT0iYWxsIj9PYmplY3QuYXNzaWduKFcsbi55RSk6bi5EPT09Im9uY2UiJiZuLlcmJk9iamVjdC5hc3NpZ24oVyxuLnlFKTtuLmF1dG9wbGF5JiYoVy5hdXRvcGxheT0iMSIpO24uTEImJihXLnNhdXRvcGxheT0iMSIpO24uQ3UmJihXLmRuaT0iMSIpOyFuLlgmJm4uSEomJihXLmVwbT0KRGMxW24uSEpdKTtuLmlzRmluYWwmJihXWyJmaW5hbCJdPSIxIik7bi5udSYmKFcuc3BsYXk9IjEiKTtuLm9EJiYoVy5kZWxheT1uLm9EKTtuLkR0JiYoVy5obD1uLkR0KTtuLnJlZ2lvbiYmKFcuY3I9bi5yZWdpb24pO24udXNlckdlbmRlckFnZSYmKFcudWdhPW4udXNlckdlbmRlckFnZSk7bi51c2VyQWdlIT09dm9pZCAwJiZuLkdDJiYoVy51Z2E9bi5HQytuLnVzZXJBZ2UpO24uZSQhPT12b2lkIDAmJihXLmxlbj1uLkoobi5lJCkpOyghbi5YfHxuLkJWKSYmbi5leHBlcmltZW50SWRzLmxlbmd0aD4wJiYoVy5mZXhwPW4uZXhwZXJpbWVudElkcy50b1N0cmluZygpKTtuLkshPT1udWxsJiYoVy5ydG49bi5KKG4uSykpO24uUzkmJihXLmZlYXR1cmU9bi5TOSk7bi5pNSYmKFcuY3RybD1uLmk1KTtuLlVLJiYoVy55dHI9bi5VSyk7bi52SiYmKFcuYWZtdD1uLnZKKTtuLm9mZmxpbmVEb3dubG9hZFVzZXJDaG9pY2UmJihXLk9EVUM9bi5vZmZsaW5lRG93bmxvYWRVc2VyQ2hvaWNlKTtuLlkmJgooVy5saW89bi5KKG4uWSkpO24uWD8oVy5pZHBqPW4uRTUsVy5sZHBqPW4uUXIsbi5kZWxheVRocmVzaG9sZE1ldCYmKFcuZHRtPSIxIiksbi5PIT1udWxsJiYoVy5ydGk9bi5KKG4uTykpLG4uRkwmJihXLmFsZD1uLkZMKSxuLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbiYmKFcuY2xpbz1uLmNvbXBvc2l0ZUxpdmVJbmdlc3Rpb25PZmZzZXRUb2tlbikpOm4uYWRUeXBlIT09dm9pZCAwJiYoVy5hdD1uLmFkVHlwZSk7bi5mQiYmKG4uV3x8bi5YKSYmKFcuc2l6ZT1uLmZCKTtuLlcmJm4uVi5sZW5ndGgmJihXLnBic3R5bGU9bi5WLmpvaW4oIiwiKSk7bi5IRCE9bnVsbCYmKG4uV3x8bi5YKSYmKFcuaW52aWV3PW4uSihuLkhEKSk7bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4mJihXLmhiX2RhdGE9bi5oZWFydGJlYXRMb2dnaW5nVG9rZW4pO24uWCYmKFcudm9sdW1lPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQudm9sdW1lKSksVy5zdD1iSihuLGcuaV8obi5zZWdtZW50cywKRD0+RC5zdGFydFRpbWUpKSxXLmV0PWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQuZW5kVGltZSkpLGcub00obi5zZWdtZW50cyxEPT5ELnBsYXliYWNrUmF0ZSE9PTEpJiYoVy5yYXRlPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQucGxheWJhY2tSYXRlKSkpLGcub00obi5zZWdtZW50cyxEPT5ELk4hPT0iLSIpJiYoVy5hbHM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuTikuam9pbigiLCIpKSxnLm9NKG4uc2VnbWVudHMsRD0+RC5wcmV2aW91c2x5RW5kZWQpJiYoVy5wZT1nLmlfKG4uc2VnbWVudHMsRD0+YCR7K0QucHJldmlvdXNseUVuZGVkfWApLmpvaW4oIiwiKSkpOwpXLm11dGVkPWJKKG4sZy5pXyhuLnNlZ21lbnRzLEQ9PkQubXV0ZWQ/MTowKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELnZpc2liaWxpdHlTdGF0ZSE9PTApJiYoVy52aXM9YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC52aXNpYmlsaXR5U3RhdGUpKSk7Cmcub00obi5zZWdtZW50cyxEPT5ELmNvbm5lY3Rpb25UeXBlIT09MCkmJihXLmNvbm49YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5jb25uZWN0aW9uVHlwZSkpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuVyE9PTApJiYoVy5ibG89YkoobixnLmlfKG4uc2VnbWVudHMsRD0+RC5XKSkpOwpnLm9NKG4uc2VnbWVudHMsRD0+ISFELmopJiYoVy5ibG89Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuaikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW4pJiYoVy5jYnM9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuY29tcG9zaXRlTGl2ZVN0YXR1c1Rva2VuKS5qb2luKCIsIikpOwpnLm9NKG4uc2VnbWVudHMsRD0+RC5KIT09Ii0iKSYmKFcuY2M9Zy5pXyhuLnNlZ21lbnRzLEQ9PkQuSikuam9pbigiLCIpKTsKZy5vTShuLnNlZ21lbnRzLEQ9PkQuY2xpcElkIT09Ii0iKSYmKFcuY2xpcGlkPWcuaV8obi5zZWdtZW50cyxEPT5ELmNsaXBJZCkuam9pbigiLCIpKTsKaWYoZy5vTShuLnNlZ21lbnRzLEQ9PiEhRC5hdWRpb0lkKSl7bGV0IEQ9ImF1IjsKbi5XJiYoRD0iYXVfZCIpO1dbRF09Zy5pXyhuLnNlZ21lbnRzLGI9PmIuYXVkaW9JZCkuam9pbigiLCIpfWcuakgoKSYmbi50dyYmKFcuY3R0PW4udHcsVy5jdHR5cGU9bi5QWCxXLm1keF9lbnZpcm9ubWVudD1uLm1keEVudmlyb25tZW50KTsKbi55dyYmKFcuZXR5cGU9bi5iZCE9PXZvaWQgMD9uLmJkOjApO24uRkYmJihXLnVvbz1uLkZGKTtuLmxpdmluZ1Jvb21BcHBNb2RlJiZuLmxpdmluZ1Jvb21BcHBNb2RlIT09IkxJVklOR19ST09NX0FQUF9NT0RFX1VOU1BFQ0lGSUVEIiYmKFcuY2xyYW09YlR3W24ubGl2aW5nUm9vbUFwcE1vZGVdfHxuLmxpdmluZ1Jvb21BcHBNb2RlKTtuLmo/dnlNKG4sVyk6KFcuZG9jaWQ9bi52aWRlb0lkLFcucmVmZXJyZXI9bi5yZWZlcnJlcixXLmVpPW4uZXZlbnRJZCxXLm9mPW4uUkgsVy5vc2lkPW4ub3NpZCxXLnZtPW4udmlkZW9NZXRhZGF0YSxuLmFkUXVlcnlJZCYmKFcuYXFpPW4uYWRRdWVyeUlkKSxuLmF1dG9uYXYmJihXLmF1dG9uYXY9IjEiKSxuLnBsYXlsaXN0SWQmJihXLmxpc3Q9bi5wbGF5bGlzdElkKSxuLkFSJiYoVy5zc3J0PSIxIiksbi5IcSYmKFcudXB0PW4uSHEpKTtuLlcmJihuLmVtYmVkc1JjdCYmKFcucmN0PW4uZW1iZWRzUmN0KSxuLmVtYmVkc1JjdG4mJihXLnJjdG49Cm4uZW1iZWRzUmN0biksbi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4mJihXLmNsaW89bi5jb21wb3NpdGVMaXZlSW5nZXN0aW9uT2Zmc2V0VG9rZW4pKTtuLmhvc3RDcG4mJihXLmhvc3RfY3BuPW4uaG9zdENwbik7cmV0dXJuIFd9OwphODI9ZnVuY3Rpb24obixXKXtRQShuLDEsVy5pZGVudGlmaWVyLFdCaiwzKTtpZihXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMpZm9yKHZhciBEPTA7RDxXLnJlY2VpdmVkQ3VlUG9pbnRFdmVudHMubGVuZ3RoO0QrKylRQShuLDIsVy5yZWNlaXZlZEN1ZVBvaW50RXZlbnRzW0RdLGtGdywxKTtpZihXLnJlY2VpdmVkQWRFdmVudHMpZm9yKEQ9MDtEPFcucmVjZWl2ZWRBZEV2ZW50cy5sZW5ndGg7RCsrKVFBKG4sMyxXLnJlY2VpdmVkQWRFdmVudHNbRF0saHN3LDMpfTsKa0Z3PWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Q1IobiwyLFcuc2VnbWVudFN0YXJ0VGltZU1zKTtDUihuLDMsVy5jdWVwb2ludEV2ZW50KTtDUihuLDQsVy5hZEJyZWFrRnVsZmlsbG1lbnRTdGF0ZSk7Q1Iobiw1LFcudHJhY2tUeXBlKTtDUihuLDYsVy5zZWdtZW50TnVtYmVyKTtDUihuLDcsVy5ub0Fkc1N0aXRjaGVkUmVhc29uKX07Cmhzdz1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmVsYXBzZWRUaW1lTXMpO2cuUncobiwyLFcuYWRDcG4pO0NSKG4sMyxXLmFkQWRkZWRMYXRlbmN5VGltZU1zKTtnLlJ3KG4sNCxXLmFkVmlkZW9JZCk7Q1Iobiw1LFcuYWRTdGFydFRpbWVNcyk7Q1Iobiw2LFcuYWREdXJhdGlvbk1zKTtDUihuLDcsVy5hZFJlamVjdGlvblJlYXNvbik7Q1Iobiw4LFcudGltZUVsYXBzZWRTaW5jZUN1ZXBvaW50TXMpfTsKVjZyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuZWxhcHNlZFRpbWVNcyk7Zy5SdyhuLDMsVy52aWRlb0RlY29kZXJOYW1lKX07CmM5TT1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmRldmljZUludGVyZmFjZSk7Zy5SdyhuLDIsVy5kZXZpY2VWZXJzaW9uKTtCRyhuLDMsVy5pc1NsZWVwaW5nKX07CkxCVT1mdW5jdGlvbihuKXtyZXR1cm57ZmY6aWgobiwxLHhjYiksdHJhY2tUeXBlOlBHKG4sMiksUFA6UEcobiwzKSx0aW1lUmFuZ2U6aWgobiw0LGMkKSx0aWxlQ29udGV4dDpFeChuLDUpLGJ4OlBHKG4sNiksRzM6UEcobiw3KSxvcHBvcnR1bml0eUlkOkV4KG4sOCksc2VyaWFsaXplZFByZWZldGNoQ29udGV4dDp5QShuLDkpfX07CnhjYj1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLGV2ZW50OlBHKG4sMiksTUs6WncobiwzKSxUeTpadyhuLDQpLHVUOkV4KG4sNSksaWRlbnRpZmllcjpFeChuLDYpLEFDOlBHKG4sOSl9fTsKa2Q9ZnVuY3Rpb24obil7cmV0dXJue2ZpcnN0OlBHKG4sMSksSjc6UEcobiwyKX19Owplc2o9ZnVuY3Rpb24obil7cmV0dXJue2JpdHJhdGU6UEcobiw2KSx3aWR0aDpQRyhuLDcpLGhlaWdodDpQRyhuLDgpLGZwczpQRyhuLDI1KSxhdmVyYWdlQml0cmF0ZTpQRyhuLDMxKSxhdWRpb1NhbXBsZVJhdGU6UEcobiw0NSksYXVkaW9DaGFubmVsczpQRyhuLDQ2KSxxdWFsaXR5T3JkaW5hbDpQRyhuLDU2KX19Owpocz1mdW5jdGlvbihuKXtyZXR1cm57aXRhZ0RlbnlsaXN0OnVoKG4sMSl9fTsKZ3kxPWZ1bmN0aW9uKG4pe3JldHVybntZazpVeChuLDEpLFhXOlBHKG4sMiksc1E6VXgobiwzKSxOVDpadyhuLDQpLGNyeXB0b1BlcmlvZEluZGV4OlBHKG4sNSksWlg6UEcobiw2KSxMRzpQRyhuLDcpfX07CkdGQz1mdW5jdGlvbihuKXtyZXR1cm57SzU6UEcobiwxKSxpdGFnOkV4KG4sMyksUXQ6aWgobiw0LFh4dCksbG10OlBHKG4sNSksQ2U6UEcobiw3KSx4dGFnczpFeChuLDE1KSxuNjppaChuLDIzLHEwYiksWHQ6aWgobiwzNCxocyl9fTsKWHh0PWZ1bmN0aW9uKG4pe3JldHVybntpdjp5QShuLDUpLE5FOlV4KG4sNyl9fTsKdHBiPWZ1bmN0aW9uKG4pe3JldHVybntnazp1aChuLDIpLHZpZGVvSWQ6RXgobiwzKSxRbzpQRyhuLDQpfX07CnEwYj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDIpfX07CiRjeD1mdW5jdGlvbihuKXtyZXR1cm57d2Y6UEcobiwzKSx2NzpQRyhuLDQpLEtOOlBHKG4sNSksWjM6VXgobiw4KSxXWjpQRyhuLDEwKSxITzpQRyhuLDEyKSxVUjpQRyhuLDEzKSxzUjpQRyhuLDE0KSx1MDpQRyhuLDE1KSxMejpQRyhuLDE2KX19Owp4ZD1mdW5jdGlvbihuKXtyZXR1cm57dGFyZ2V0QXVkaW9SZWFkYWhlYWRNczpQRyhuLDEpLHRhcmdldFZpZGVvUmVhZGFoZWFkTXM6UEcobiwyKSxiYWNrb2ZmVGltZU1zOlBHKG4sNCkscGxheWJhY2tDb29raWU6eUEobiw3KSx2aWRlb0lkOkV4KG4sOCl9fTsKTDc9ZnVuY3Rpb24obil7cmV0dXJue21pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjOlBHKG4sMSksbWluUmVhZGFoZWFkTXM6UEcobiwyKX19OwplST1mdW5jdGlvbihuKXtyZXR1cm57c3RhcnRNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwxLEw3KSxyZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3k6b3cobiwyLEw3KX19OwpyS3I9ZnVuY3Rpb24obil7cmV0dXJue2xhYmVsOkV4KG4sMSksdGV4dDpFeChuLDIpfX07CnNoWj1mdW5jdGlvbihuKXtyZXR1cm57dmlkZW9JZDpFeChuLDEpLGZvcm1hdElkOmloKG4sMixWciksZGVidWdJbmZvOm93KG4sMyxyS3IpfX07CmdQPWZ1bmN0aW9uKG4pe3JldHVybntKMDpvdyhuLDEsc2haKX19OwpObXQ9ZnVuY3Rpb24obil7cmV0dXJue0ZrOlBHKG4sMSksZno6UEcobiwyKSxtaW5SZWFkYWhlYWRNczpQRyhuLDMpfX07ClhOPWZ1bmN0aW9uKG4pe3JldHVybntwdjpQRyhuLDEpLGl0ZW1zOm93KG4sMixObXQpLFBuOlBHKG4sMyl9fTsKcHhpPWZ1bmN0aW9uKG4pe3JldHVybnt0b2tlbjpFeChuLDEpLHZpZGVvSWQ6RXgobiwyKX19OwpZMFU9ZnVuY3Rpb24obil7cmV0dXJue2V3OlBHKG4sMSl9fTsKcUc9ZnVuY3Rpb24obil7cmV0dXJue1FxOkV4KG4sMSksYWN0aW9uOlBHKG4sMiksQ3Y6aWgobiwzLFkwVSl9fTsKR0U9ZnVuY3Rpb24obil7cmV0dXJue0pKOlBHKG4sMSksUUI6UEcobiwyKSxzZWVrU291cmNlOlBHKG4sMyl9fTsKSFRaPWZ1bmN0aW9uKG4pe3JldHVybnt6SDpQRyhuLDEpLHg6UEcobiwyKSx5OlBHKG4sMyksd2lkdGg6UEcobiw0KSxoZWlnaHQ6UEcobiw1KX19OwpmbGo9ZnVuY3Rpb24obil7cmV0dXJue3JlZ2lvbjppaChuLDEsSFRaKSx1MTppaChuLDIsYyQpLGNwbjpFeChuLDUpLGxvZ2dpbmdNZXRhZGF0YTp5QShuLDYpLGJUOmloKG4sNyxjJCksTlI6UEcobiw4KSxxUjpVeChuLDkpfX07CkpLaj1mdW5jdGlvbihuKXtyZXR1cm57UjE6b3cobiwxLGZsail9fTsKSWxqPWZ1bmN0aW9uKG4pe3JldHVybnttZXRhZGF0YTpvdyhuLDEsSktqKSx0cmFja1R5cGU6UEcobiwyKX19Owp0cz1mdW5jdGlvbihuKXtyZXR1cm57dHlwZTpQRyhuLDEpLHNjb3BlOlBHKG4sMiksdmFsdWU6eUEobiwzKSxzZW5kQnlEZWZhdWx0OlV4KG4sNCksd3JpdGVQb2xpY3k6UEcobiw1KX19OwpTMHc9ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Zy5SdyhuLDIsVy51cmwpfTsKQUtyPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuaWQpO2cuUncobiwyLFcubmFtZSk7Q1IobiwzLFcucmVzb3VyY2VJZCk7Q1Iobiw0LFcubGluZSk7Q1Iobiw1LFcuY29sdW1uKX07Cm1jcj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLmlkKTtDUihuLDIsVy50aW1lc3RhbXBNcyk7Q1IobiwzLFcuc3RhY2tJZCl9OwpLQk09ZnVuY3Rpb24obixXKXtDUihuLDEsVy5pZCk7Q1IobiwyLFcuZnJhbWVJZCk7Q1IobiwzLFcucGFyZW50SWQpfTsKT1RiPWZ1bmN0aW9uKG4sVyl7aWYoVy5yZXNvdXJjZXMpZm9yKHZhciBEPTA7RDxXLnJlc291cmNlcy5sZW5ndGg7RCsrKVFBKG4sMSxXLnJlc291cmNlc1tEXSxTMHcsMyk7aWYoVy5mcmFtZXMpZm9yKEQ9MDtEPFcuZnJhbWVzLmxlbmd0aDtEKyspUUEobiwyLFcuZnJhbWVzW0RdLEFLciwzKTtpZihXLnNhbXBsZXMpZm9yKEQ9MDtEPFcuc2FtcGxlcy5sZW5ndGg7RCsrKVFBKG4sMyxXLnNhbXBsZXNbRF0sbWNyLDEpO2lmKFcuc3RhY2tzKWZvcihEPTA7RDxXLnN0YWNrcy5sZW5ndGg7RCsrKVFBKG4sNCxXLnN0YWNrc1tEXSxLQk0sMSl9OwpQa0M9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpfTsKWlRVPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKVWNpPWZ1bmN0aW9uKG4sVyl7Q1IobiwxLFcuTXcpfTsKeUtDPWZ1bmN0aW9uKG4sVyl7QkcobiwxLFcucGxhY2Vob2xkZXIpfTsKRXkyPWZ1bmN0aW9uKG4sVyl7Zy5SdyhuLDEsVy5CQil9OwppVHg9ZnVuY3Rpb24obixXKXtnLkZhKG4sMSxXLmRhdGEpO0NSKG4sMixXLlM3KX07CnVMMj1mdW5jdGlvbihuLFcpe0NSKG4sMSxXLnR5cGUpO3ZhciBEPVcucUw7aWYoRCE9PXZvaWQgMCl7dmFyIGI9bmV3IEFycmF5QnVmZmVyKDgpOyhuZXcgRmxvYXQ2NEFycmF5KGIpKVswXT1EO0Q9bmV3IFVpbnQzMkFycmF5KGIpO2I9RFswXTtEPURbMV07aWYoYiE9PXZvaWQgMCYmRCE9PXZvaWQgMCl7ajUobiwxNyk7VDYobiw4KTtmb3IobGV0IHY9MDt2PDQ7disrKW4udmlldy5zZXRVaW50OChuLnBvcyxiJjI1NSksYj4+Pj04LG4ucG9zKz0xO2I9RDtmb3IoRD0wO0Q8NDtEKyspbi52aWV3LnNldFVpbnQ4KG4ucG9zLGImMjU1KSxiPj4+PTgsbi5wb3MrPTF9fVFBKG4sMyxXLmE5LFBrQywzKTtRQShuLDQsVy5seCxaVFUsMSk7UUEobiw1LFcucTAsVWNpLDEpO1FBKG4sNixXLmlzVHlwZVN1cHBvcnRlZCx5S0MsMSk7UUEobiw3LFcueTgsRXkyLDMpO1FBKG4sOCxXLkpMLGlUeCwzKX07Cm95aD1mdW5jdGlvbihuKXtyZXR1cm57ZGF0YTp5QShuLDEpfX07CmRjdD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19Owp6czE9ZnVuY3Rpb24obil7cmV0dXJue0hTOlp3KG4sMSl9fTsKbGxyPWZ1bmN0aW9uKG4pe3JldHVybntwbGFjZWhvbGRlcjpVeChuLDEpfX07ClRtcj1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpqaE09ZnVuY3Rpb24obil7cmV0dXJue2RhdGE6eUEobiwxKSxrazpQRyhuLDIpfX07CkNreD1mdW5jdGlvbihuKXtyZXR1cm57cGxhY2Vob2xkZXI6VXgobiwxKX19OwpCbWo9ZnVuY3Rpb24obil7cmV0dXJue3R5cGU6UEcobiwxKSxxTDpadyhuLDIpLFFKOlp3KG4sMyksVG86Wncobiw0KSxpbml0OmloKG4sNSxDa3gpLGE5OmloKG4sNixveWgpLGx4OmloKG4sNyxkY3QpLHEwOmloKG4sOCx6czEpLGlzVHlwZVN1cHBvcnRlZDppaChuLDksbGxyKSx5ODppaChuLDEwLFRtciksSkw6aWgobiwxMSxqaE0pfX07Cnd4Wj1mdW5jdGlvbihuKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhGQlUpLmluY2x1ZGVzKG4pfTsKTXBDPWZ1bmN0aW9uKG4peyRkPTI1OTJFMyoobnx8MSl9OwpyUD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci12b2x1bWUiKXx8e30sVz1uLnZvbHVtZTtyZXR1cm57dm9sdW1lOmlzTmFOKFcpPzEwMDpnLkZmKE1hdGguZmxvb3IoVyksMCwxMDApLG11dGVkOiEhbi5tdXRlZH19Owpzbj1mdW5jdGlvbihuKXtnLlBCKCJ5dC1wbGF5ZXItYmFuZHdpZHRoIixuLDI1OTJFMyl9OwpwNz1mdW5jdGlvbihuPSRkKXtpZihuPjAmJiEoVVAoKT4oMCxnLlIpKCktbioxRTMpKXJldHVybiAwO249Zy5aSSgieXQtcGxheWVyLXF1YWxpdHkiKTtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXtpZihuPU5HW25dLG4+MClyZXR1cm4gbn1lbHNlIGlmKG4gaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIG4ucXVhbGl0eTtyZXR1cm4gMH07CllkPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLXByb3hpbWEtcHJlZiIpO3JldHVybiBuPT1udWxsP251bGw6bn07ClJzeD1mdW5jdGlvbigpe3ZhciBuPWcuWkkoInl0LXBsYXllci1xdWFsaXR5Iik7aWYobiBpbnN0YW5jZW9mIE9iamVjdCYmbi5xdWFsaXR5JiZuLnByZXZpb3VzUXVhbGl0eSl7aWYobi5xdWFsaXR5Pm4ucHJldmlvdXNRdWFsaXR5KXJldHVybiAxO2lmKG4ucXVhbGl0eTxuLnByZXZpb3VzUXVhbGl0eSlyZXR1cm4tMX1yZXR1cm4gMH07CkhuPWZ1bmN0aW9uKCl7dmFyIG49e3ZhbHVlczp7fSxGWTp7fX07dHJ5e2xldCBXPUpTT04ucGFyc2UoSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlWyJ5dC1wbGF5ZXItbWVtb3J5Il0pLmRhdGEpO24udmFsdWVzPVcudmFsdWVzO24uaGFsZkxpdmVzPVcuaGFsZkxpdmVzfWNhdGNoe31yZXR1cm4gbn07CmY3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiKXx8e319OwpRaHc9ZnVuY3Rpb24obj0hMSl7aWYobil7bj1mNygpO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSlXLmluZGV4T2YoIjEiKSE9PTAmJmRlbGV0ZSBuW1ddO2cuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLG4sMjU5MkUzKX1lbHNlIHRyeXtsZXQgVz1PUC5xYigpLEQ9T1AuQnAoKTtXJiZXLnJlbW92ZSgieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcCIpO0QmJkQucmVtb3ZlKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwIil9Y2F0Y2goVyl7fX07CkpzPWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAtYWN0aXZlLXNldCIpPz9bXX07ClZwQz1mdW5jdGlvbihuPSExKXtuPyhuPUpzKCkuZmlsdGVyKFc9Plcuc3RhcnRzV2l0aCgiMSIpKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLG4sMjU5MkUzKSk6Zy5QQigieXQtcGxheWVyLXBlcmZvcm1hbmNlLWNhcC1hY3RpdmUtc2V0IixbXSwyNTkyRTMpfTsKSU89ZnVuY3Rpb24oKXtyZXR1cm4hIWcuWkkoInl0LXBsYXllci1oZWFkZXJzLXJlYWRhYmxlIil9OwpnLlNJPWZ1bmN0aW9uKCl7dmFyIG49Zy5aSSgieXQtcGxheWVyLWNhcHRpb24tbGFuZ3VhZ2UtcHJlZmVyZW5jZXMiKTtyZXR1cm4gbj9uOltdfTsKQXM9ZnVuY3Rpb24oKXt2YXIgbj1nLlpJKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIpLFc9bmV3IE1hcDtpZihuKWZvcihsZXQgW0QsYl1vZiBPYmplY3QuZW50cmllcyhuKSlXLnNldChELGIpO3JldHVybiBXfTsKbTU9ZnVuY3Rpb24oKXtyZXR1cm4gZy5aSSgieXQtcGxheWVyLXZvaWNlLWJvb3N0Iik/P3ZvaWQgMH07Cks3PWZ1bmN0aW9uKCl7cmV0dXJuIGcuWkkoInl0LXBsYXllci1hdWRpby1xdWFsaXR5LXNldHRpbmciKT8/Mn07ClpVPWZ1bmN0aW9uKCl7dHJ5e2xldCBuPXdpbmRvdy5uYXZpZ2F0b3I7aWYobi5nZXRBdXRvcGxheVBvbGljeSYmdHlwZW9mIG4uZ2V0QXV0b3BsYXlQb2xpY3k9PT0iZnVuY3Rpb24iKXtsZXQgVz1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGcuT24uV0MpLEQ7RD1XLmxlbmd0aD4wJiZXWzBdP24uZ2V0QXV0b3BsYXlQb2xpY3koV1swXSk6bi5nZXRBdXRvcGxheVBvbGljeSgibWVkaWFlbGVtZW50Iik7aWYoUG5bRF0pcmV0dXJuIFBuW0RdfX1jYXRjaChuKXt9cmV0dXJuIkFVVE9QTEFZX0JST1dTRVJfUE9MSUNZX1VOU1BFQ0lGSUVEIn07ClVuPWZ1bmN0aW9uKG4pe3JldHVybiBuLlBYfHxuLkd1fHxuLm11dGVkQXV0b3BsYXl9Owp5dz1mdW5jdGlvbihuLFcpe3JldHVybiBVbihuKT9XIT09MSYmVyE9PTImJlchPT0wPyJBVVRPUExBWV9TVEFUVVNfVU5BVkFJTEFCTEUiOm4uc1o/IkFVVE9QTEFZX1NUQVRVU19CTE9DS0VEIjoiQVVUT1BMQVlfU1RBVFVTX09DQ1VSUkVEIjoiQVVUT1BMQVlfU1RBVFVTX05PVF9BVFRFTVBURUQifTsKZy5Fbj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5HKCk7bi50aGlyZFBhcnR5fHwobi50aGlyZFBhcnR5PXt9KTtuLnRoaXJkUGFydHk9ey4uLm4udGhpcmRQYXJ0eSxlbWJlZFVybDpiLmxvYWRlclVybH07Yi5hbmNlc3Rvck9yaWdpbnMmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGFuY2VzdG9yT3JpZ2luczpiLmFuY2VzdG9yT3JpZ2luc30pO2IuZUshPW51bGwmJihuLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0PXsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LHZpc2liaWxpdHlGcmFjdGlvbjpOdW1iZXIoYi5lSyl9KTtiLkxLJiYobi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dD17Li4ubi50aGlyZFBhcnR5LmVtYmVkZGVkUGxheWVyQ29udGV4dCx2aXNpYmlsaXR5RnJhY3Rpb25Tb3VyY2U6Yi5MS30pO24udGhpcmRQYXJ0eS5lbWJlZGRlZFBsYXllckNvbnRleHQ9CnsuLi5uLnRoaXJkUGFydHkuZW1iZWRkZWRQbGF5ZXJDb250ZXh0LGF1dG9wbGF5QnJvd3NlclBvbGljeTpaVSgpLGF1dG9wbGF5SW50ZW5kZWQ6VW4oVyksYXV0b3BsYXlTdGF0dXM6eXcoVyxEKX19OwppSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5zcGxpdCgiLCIpKXtpZighRCljb250aW51ZTsobj1ELnN0YXJ0c1dpdGgoIiEiKSkmJihEPUQuc3Vic3RyaW5nKDEpKTtsZXQgYj1ELnNwbGl0KCItIik7Yi5sZW5ndGg8M3x8Vy5wdXNoKHtoajpiWzBdLHBsYXRmb3JtOmJbMV0sZGV2aWNlVmVyc2lvbjpiWzJdLEVzOm59KX1yZXR1cm4gV307CmFseD1mdW5jdGlvbihuKXtyZXR1cm4gaUoobikubWFwKCh7aGo6VyxkZXZpY2VWZXJzaW9uOkQsRXM6Yn0pPT4oe2RldmljZUludGVyZmFjZTpjS01bdUpbV11dfHwwLGRldmljZVZlcnNpb246RHx8IiIsaXNTbGVlcGluZzpifSkpfTsKb089ZnVuY3Rpb24obixXLEQ9ITEsYj0iIil7IW4mJkQmJmcuR3EoRXJyb3IoYFBsYXllciBVUkwgdmFsaWRhdG9yIGRldGVjdHMgaW52YWxpZCB1cmwuICR7Yn06ICR7V31gKSk7cmV0dXJuIG59Owp6RT1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcmJlcudGVzdChuKXx8ZFAmJkQmJkQudGVzdChuKT8hMDohMX07ClRFPWZ1bmN0aW9uKG4pe3JldHVybihuPWxKJiZsSi5leGVjKG4pKT9uWzBdOiIifTsKZ1g9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sbkV3LFdoWiksbiwhMSwiVHJ1c3RlZCBTdHJlYW0gVVJMIil9OwpnLmpJPWZ1bmN0aW9uKG4pe3JldHVybiBvTyh6RShuLEQ1VSxiS1opLG4sITEsIlRydXN0ZWQgSW1hZ2UgVVJMIil9OwpDNz1mdW5jdGlvbihuKXtyZXR1cm4gb08oekUobix2RWgsbnVsbCksbiwhMSwiVHJ1c3RlZCBQcm9tb3RlZCBWaWRlbyBEb21haW4gVVJMIil9OwpoQWk9ZnVuY3Rpb24obil7cmV0dXJuIG9PKHpFKG4sazdyLG51bGwpLG4sITEsIkRybSBMaWNlbnNvciBVUkwiKX07CkJuPWZ1bmN0aW9uKG4sVz0hMSl7cmV0dXJuIG9PKHpFKG4seDVyLExodCksbixXLCJDYXB0aW9ucyBVUkwiKX07CmVBPWZ1bmN0aW9uKG4pe249bmV3IGcuVWoobik7eU4obixkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCk7RWoobixkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSk7ZG9jdW1lbnQubG9jYXRpb24ucG9ydCYmaXIobixkb2N1bWVudC5sb2NhdGlvbi5wb3J0KTtyZXR1cm4gbi50b1N0cmluZygpfTsKRk49ZnVuY3Rpb24obil7bj1uZXcgZy5VaihuKTt5TihuLGRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sKTtyZXR1cm4gbi50b1N0cmluZygpfTsKZUFaPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5uYW1lLFsyXTpuLmlkLFszXTpuLmlzRGVmYXVsdCxbNF06bi5pc0F1dG9EdWJiZWR9fTsKTUc9ZnVuY3Rpb24obil7cmV0dXJuIG5ldyB3UChuWzFdLG5bMl0sblszXSxuWzRdKX07ClJPPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5sYW5ndWFnZUNvZGUsWzJdOm4ubGFuZ3VhZ2VOYW1lLFszXTpuLmtpbmQsWzRdOm4ubmFtZSxbNV06bi5kaXNwbGF5TmFtZSxbNl06bi5pZCxbN106bi54dGFncyxbOF06bi5OLFs5XTpuLmlzVHJhbnNsYXRlYWJsZSxbMTBdOm4udXJsLFsxMV06bi52c3NJZCxbMTJdOm4uaXNEZWZhdWx0LFsxM106bi50cmFuc2xhdGlvbkxhbmd1YWdlLFsxNF06bi5jYXB0aW9uSWR9fTsKVnc9ZnVuY3Rpb24obil7dmFyIFc9bmV3IGcuUXcoe2xhbmd1YWdlQ29kZTpuWzFdLGxhbmd1YWdlTmFtZTpuWzJdLGtpbmQ6blszXSxuYW1lOm5bNF0saWQ6bls2XSxpc19zZXJ2YWJsZTpuWzhdLGlzX3RyYW5zbGF0ZWFibGU6bls5XSx1cmw6blsxMF0sdnNzX2lkOm5bMTFdLGlzX2RlZmF1bHQ6blsxMl0seHRhZ3M6bls3XSxjYXB0aW9uSWQ6blsxNF19KTtXLmRpc3BsYXlOYW1lPW5bNV07Vy50cmFuc2xhdGlvbkxhbmd1YWdlPW5bMTNdO3JldHVybiBXfTsKZy5jbj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRpc3BsYXlOYW1lKVcucHVzaChuLmRpc3BsYXlOYW1lKTtlbHNle2xldCBEPW4ubGFuZ3VhZ2VOYW1lfHwiIjtXLnB1c2goRCk7bi5raW5kPT09ImFzciImJkQuaW5kZXhPZigiKCIpPT09LTEmJlcucHVzaCgiIChBdXRvbWF0aWMgQ2FwdGlvbnMpIik7bi5uYW1lJiZXLnB1c2goYCAtICR7bi5uYW1lfWApfW4udHJhbnNsYXRpb25MYW5ndWFnZSYmVy5wdXNoKGAgPj4gJHtuLnRyYW5zbGF0aW9uTGFuZ3VhZ2UubGFuZ3VhZ2VOYW1lfWApO3JldHVybiBXLmpvaW4oIiIpfTsKZy5hTz1mdW5jdGlvbihuKXtyZXR1cm4gbi50cmFuc2xhdGlvbkxhbmd1YWdlP24udHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGU6bi5sYW5ndWFnZUNvZGV9OwpnLm5nPWZ1bmN0aW9uKG4pe3ZhciBXPW4udnNzSWQ7bi50cmFuc2xhdGlvbkxhbmd1YWdlJiZXJiYoVz1gdCR7V30uJHtnLmFPKG4pfWApO3JldHVybiBXfTsKZ0V3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uVyxEPW4uTixiPW4uWDtyZXR1cm57WzFdOm4uY2FwdGlvbnNJbml0aWFsU3RhdGUsWzJdOm4uSixbM106bi5jYXB0aW9uVHJhY2tzLm1hcCh2PT5STyh2KSksCls0XTpXP1JPKFcpOm51bGwsWzVdOkQ/Uk8oRCk6bnVsbCxbNl06bi5pZCxbN106bi5qLFs4XTpuLlYsWzldOmVBWihuLmtaKSxbMTBdOmI/Uk8oYik6bnVsbCxbMTFdOm4ueHRhZ3N9fTsKRGM9ZnVuY3Rpb24obil7dmFyIFc9bls0XSxEPW5bNV0sYj1uWzEwXSx2PW5ldyBXQShuWzZdLE1HKG5bOV0pKTt2LmNhcHRpb25zSW5pdGlhbFN0YXRlPW5bMV07di5jYXB0aW9uVHJhY2tzPW5bM10ubWFwKGs9PlZ3KGspKTsKdi5KPW5bMl07di5XPVc/VncoVyk6bnVsbDt2Lk49RD9WdyhEKTpudWxsO3Yuaj1uWzddO3YuVj1uWzhdO3YuWD1iP1Z3KGIpOm51bGw7di54dGFncz1uWzExXTtyZXR1cm4gdn07CnZBPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBuZXcgYjMoTkdbbl18fDAsTkdbV118fDAsRCxiKX07CmtKPWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5KLFsyXTpuLk4sWzNdOm4uVyxbNF06bi5yZWFzb24sWzVdOm4uTnN9fTsKWExTPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgYjMoblsxXSxuWzJdLG5bM10sbls0XSxuWzVdKX07CnhKPWZ1bmN0aW9uKG4pe2lmKGhUJiZuLk5zKXJldHVybiExO3ZhciBXPU5HLmF1dG87cmV0dXJuIG4uSj09PVcmJm4uTj09PVd9OwplSj1mdW5jdGlvbihuKXtyZXR1cm4gTGdbbi5OfHxuLkpdfHwiYXV0byJ9OwpnRj1mdW5jdGlvbihuLFcpe1c9TkdbV107cmV0dXJuIG4uSjw9VyYmKCFuLk58fG4uTj49Vyl9OwpYcD1mdW5jdGlvbihuKXtyZXR1cm4hIW5bIjEiXT8ubGVuZ3RofHwhIW5bIjFoIl0/Lmxlbmd0aHx8ISFuWyIxZSJdPy5sZW5ndGh9OwpxZD1mdW5jdGlvbihuKXtyZXR1cm4gbj09PSIxInx8bj09PSIxaCJ8fG49PT0iMWUifTsKTmQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9ITE7aWYobi5KKXJldHVybiBuLko7dmFyIEw9e30sZT1uZXcgU2V0LEc9e307aWYoR18oYikpe2Zvcih2YXIgciBpbiBiLk4pe2lmKCFiLk4uaGFzT3duUHJvcGVydHkocikpY29udGludWU7bj1iLk5bcl07R1tuLmluZm8uSUJdPVtuLmluZm9dfXJldHVybiBHfXI9dFQoVyxiLEwpO2lmKFcuSil7KHg9WHAocikpfHwoVy5OLm5vQXYxUmVhc29uPSJub0Zvcm1hdCIpO3ZhciBOPUQuWT8iZGlzYWJsZUF2MUZvclNlc3Npb24iOiIiO04mJihXLk4ubm9BdjFSZWFzb249Tik7dih7bm9BdjFSZWFzb246Vy5OLm5vQXYxUmVhc29ufSl9ayYmdih7YWZ0c3J0OiRKKHIpfSk7Tj17fTt2YXIgSD0iIjtmb3IobGV0IEEgb2YgT2JqZWN0LmtleXMocikpe2xldCB5PUE7Zm9yKGxldCBUIG9mIHJbeV0pe2xldCB6PVQuaXRhZyxDPXJGKHksVCxXKTtpZihOLmhhc093blByb3BlcnR5KEMpKXtOW0NdPT09ITA/R1t5XS5wdXNoKFQpOkxbel09Ck5bQ107Y29udGludWV9bGV0IFE9c0QoVyxULEQsYi5pc0xpdmUsZSk7USE9PSEwPyhoLmFkZCh5KSxMW3pdPVEsVy5KJiZULk1XKCkmJihIKz1gOyR7en07JHtRfWApLFE9PT0iZGlzYWJsZXZwOWhmciImJihOW0NdPSJkaXNhYmxldnA5aGZyIikpOihHW3ldPUdbeV18fFtdLEdbeV0ucHVzaChUKSxOW0NdPSEwKX19Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj1ILHYoe25vQXYxUmVhc29uOlcuTi5ub0F2MVJlYXNvbn0pKTtrJiZ2KHtiZmZsdDokSihHKX0pO2ZvcihsZXQgQSBpbiBHKXtpZighRy5oYXNPd25Qcm9wZXJ0eShBKSljb250aW51ZTtiPUE7R1tiXSYmR1tiXVswXS5mWSgpJiYoaD1HW2JdLmxlbmd0aCxHW2JdPUdbYl0sVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9MCYmKGg9R1tiXS5sZW5ndGgsdih7bm9BdjFGbXQ6ImZpbHRlclZwOVVsdGxvdyIsY29kZWM6Yn0pKSxHW2JdPXEyQyhXLEdbYl0sTCksVy5KJiZxZChiKSYmaD4wJiZHW2JdLmxlbmd0aDw9CjAmJihoPUdbYl0ubGVuZ3RoLHYoe25vQXYxRm10OiJmaWx0ZXJRdWFsaXRpZXMiLGNvZGVjOmJ9KSksR1tiXT1HN1UoR1tiXSxMKSxXLkomJnFkKGIpJiZoPjAmJkdbYl0ubGVuZ3RoPD0wJiZ2KHtub0F2MUZtdDoiZmlsdGVySGZyIixjb2RlYzpifSkpfWsmJk9iamVjdC5rZXlzKEwpLmxlbmd0aD4wJiZ2KHtyanI6Zy5UQyhMKX0pO2ZvcihsZXQgQSBvZiBlLnZhbHVlcygpKShMPUQuVy5nZXQoQSkpJiYtLUwuZzE7ayYmdih7YWZ0Zmx0OiRKKEcpfSk7Vy5KJiZ4JiYhWHAoRykmJih4PSExLFcuTi5ub0F2MVJlYXNvbj0iZmlsdGVyIix2KHtub0F2MVJlYXNvbjpXLk4ubm9BdjFSZWFzb259KSk7bi5KPWcublQoRyxBPT4hIUEubGVuZ3RoKTsKcmV0dXJuIG4uSn07CklEaD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1XLld8fCEhdixMPXgmJlcuTEI/azp2b2lkIDAsZT1uZXcgU2V0LEc9TmQobixXLEQsYixrLHgsZSk7Yi5YKCkmJihHPXRnaChELEcsdix4LGssVykseCYmayh7ZW5mbHQ6JEooRyl9KSk7Vy55RT0kNXIoRyxXKTt2PUx0PT4hIUdbTHRdOwp2YXIgcj1ySGkoVyk7RD1bXTtmb3IodmFyIE4gb2YgT2JqZWN0LnZhbHVlcyhHKSlOPy5sZW5ndGgmJk5bMF0uZVMoKSYmRC5wdXNoKC4uLk4pO2lmKEdfKGIpKXJldHVybiBrPWcubF8oT2JqZWN0LnZhbHVlcyhHKSxMdD0+ISFMdC5sZW5ndGgmJiEhTHRbMF0uYXVkaW8pLHg9Zy5sXyhPYmplY3QudmFsdWVzKEcpLEx0PT4hIUx0Lmxlbmd0aCYmISFMdFswXS52aWRlbyksayYmeHx8Zy5wJCgpLGcuSDAobmV3IHBnKHgsayxMLEQpKTsKTj1HLmE7dmFyIEg9ITE7Vy5IaSYmclswXSE9PSJhIiYmc1diKE4pJiYoci51bnNoaWZ0KCJhIiksSD0hMCk7eCYmKGsoe2F1ZGlvUHJlZk9yZGVyOnIuam9pbigiXyIpfSksayh7cHJlZmVySGlnaFF1YWxpdHlBdWRpbzpXLkhpfSksayh7Zm9yY2VkQWFjRm9ySHFhOkh9KSk7Tj1bXTtpZihXLnZYKXtyPWcuRU0ocix2KTtIPW5ldyBTZXQ7Zm9yKHZhciBBIG9mIHIpe3ZhciB5PUdbQV07bGV0IEx0PW5ldyBTZXQ7Zm9yKHZhciBUIG9mIHkpaWYoeT1ULmtaPy5pZClILmhhcyh5KT9MdC5oYXMoeSkmJk4ucHVzaChUKTooTHQuYWRkKHkpLEguYWRkKHkpLE4ucHVzaChUKSl9aWYoTi5sZW5ndGg9PT0wKXtpZihyLmxlbmd0aD09PTApcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbclswXV19fWVsc2V7Tj1nLmxfKHIsdik7aWYoIU4pcmV0dXJuIHgmJmsoe25vYXVkaW86MX0pLGcucCQoKTtOPUdbTl19R1siOSJdJiZHLmgmJmIuelcmJiFXLkZGJiYoeCYmayh7ZGx0dnA5OjF9KSwKZGVsZXRlIEdbIjkiXSk7aWYoaCl7eCYmayh7YmZzZmx0OiRKKEcpLGJmc2ZsdGE6WUoobil9KTtXLkR0P24uTj1ORFMoZSxuLk4pOm4uTi5jbGVhcigpO3gmJmsoe2Jmc2ZsdGI6WUoobil9KTtmb3IodmFyIHogaW4gRyl7aWYoIUcuaGFzT3duUHJvcGVydHkoeikpY29udGludWU7aD16O2lmKCEoaD09PSJmInx8Vy54ZD09PTAmJnBMai5oYXMoaCkpKWZvcih2YXIgQyBvZiBHW2hdKVcuRHQ/WTJTKGgsQyxuLk4pOkhLaShuLGgsQyl9eCYmayh7YWZ0c2ZsdDpZSihuKX0pfXo9R1siMWgiXT8iMWgiOiIxIjtuPUdbIjloIl0/IjloIjoiOSI7aD1HW3pdO2U9R1siMiJdO0E9R1tuXTtoJiZoLmxlbmd0aCYmKFcuTi5oaWdoZXN0QXYxUmVzb2x1dGlvbj1oW2gubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtBJiZBLmxlbmd0aCYmKFcuTi5oaWdoZXN0VnA5UmVzb2x1dGlvbj1BW0EubGVuZ3RoLTFdLnZpZGVvLnF1YWxpdHlPcmRpbmFsKTtDPVtdO1Q9W107aWYoVy55dyYmZSlDPQplLFQ9WyIyIl07ZWxzZSBpZihXLk1kJiZoKUM9aCxUPVt6XSxrKHtmb3JjZUF2MTp6fSk7ZWxzZSBpZihXLkQmJiFXLmJ2KXtUPWZEdyhiKT9HWyIxaCJdfHxHWyI5aCJdP1siMWgiLCI5aCJdOlsiOSIsImgiXTpbIjEiLCI5IiwiaCJdO3gmJmsoe25ld2h5YnByZWY6VC5qb2luKCIuIil9KTtmb3IodmFyIFEgb2YgVClDPUMuY29uY2F0KEdbUV0pLmZpbHRlcihMdD0+THQpfWVsc2UgVy5uUz4wJiZBJiZoJiYoVD1beiwKbl0sQz1oLmNvbmNhdChBKS5maWx0ZXIoTHQ9Pkx0KSk7CmlmKEMubGVuZ3RoJiYhVy5idil7SEEoQyxUKTtpZih4KXt4PVtdO2Zvcih2YXIgViBvZiBDKXgucHVzaChWLml0YWcpO2soe2hiZGZtdDp4LmpvaW4oIi4iKX0pfXJldHVybiBnLkgwKG5ldyBwZyhDLE4sTCxEKSl9Vj1KSHIoVyk7Vj1nLmxfKFYsdik7aWYoIVYpe2lmKEdbel0pcmV0dXJuIGs9R1t6XSxIQShrKSxnLkgwKG5ldyBwZyhrLE4sTCxEKSk7eCYmayh7bm92aWRlbzoxfSk7cmV0dXJuIGcucCQoKX1WIT09IjEiJiZWIT09IjFoInx8IUdbbl18fChRPWZnKEdbVl0pLHY9ZmcoR1tuXSksdj5RP1Y9bjooUT12PT09USx2PUpUKEdbbl0pLHo9SlQoR1tWXSksIVF8fCF2fHxXLllaJiZ6fHwoVj1uKSkpO1Y9PT0iOSImJkcuaCYmZmcoRy5oKT5mZyhHWyI5Il0pJiYoVj0iaCIpO1cuQlYmJmIuaXNMaXZlJiZWPT09IigiJiZHLkgmJmZnKEdbIigiXSk8MTQ0MCYmKFY9IkgiKTt4JiZrKHt2Zm1seTpJcihWKX0pO1c9R1tWXTtpZighVy5sZW5ndGgpcmV0dXJuIHgmJmsoe25vdmZtbHk6SXIoVil9KSwKZy5wJCgpO0hBKFcpO3JldHVybiBnLkgwKG5ldyBwZyhXLE4sTCxEKSl9OwpTMmI9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4PSExKXtpZihXLkU1JiZoJiZoLmxlbmd0aD4xJiYhKFcublM+MHx8Vy5EKSl7bGV0IHI9Vy5XfHwhIXYsTj1yJiZXLkxCP2s6dm9pZCAwLEg9dFQoVyxiKSxBPVtdLHk9W10sVD17fTtmb3IobGV0IHo9MDt6PGgubGVuZ3RoO3orKyl7dmFyIEw9aFt6XSxlPWIuSi5nZXQoTCk7aWYoZSYmZS5pbmZvKXt2YXIgRz1lLmluZm87ZT1HLklCO2lmKHNEKFcsRyxELGIuaXNMaXZlKSl7TD1HLmZZKCk/QTp5O0c9SFtlXTtmb3IobGV0IEMgb2YgRylHPXJGKGUsQyxXKSxULmhhc093blByb3BlcnR5KEcpP1RbR109PT0hMCYmTC5wdXNoKEMpOnNEKFcsQyxELGIuaXNMaXZlKSYmKEwucHVzaChDKSxUW0ddPSEwKX1lbHNlIHImJmsoe29wZnU6TH0pfX1pZihBLmxlbmd0aCYmeS5sZW5ndGgpcmV0dXJuIHImJmsoe29wZm06QVswXS5pdGFnKyIsIit5WzBdLml0YWd9KSxnLkgwKG5ldyBwZyhBLHksTikpfXJldHVybiBJRGgobixXLEQsYix2LGsseCl9OwpZSj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQgb2Ygbi5OLmtleXMoKSl7bGV0IGI9bi5OLmdldChEKTtXLnB1c2goYCR7RH1fJHtiLm1heFdpZHRofV8ke2IubWF4SGVpZ2h0fWApfXJldHVybiBXLmpvaW4oIi4iKX07CkhLaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9RC52aWRlbz8uZnBzfHwwLHY9YCR7V31fJHtifWAsaz0hIUQuYXVkaW8saD1uLk4uZ2V0KHYpLHg9bi5OLmdldCh2KSxMPSEhRC5hdWRpbzt4JiYoTHx8IUwmJkQudmlkZW8/LmhlaWdodCYmeC5tYXhIZWlnaHQmJngubWF4SGVpZ2h0Pj1ELnZpZGVvPy5oZWlnaHQpfHwoeD1ELml0YWcsVz1oP2g6e2l0YWc6eCxJQjpXLGVTOmt9LGs/Vy5udW1DaGFubmVscz1ELmF1ZGlvLm51bUNoYW5uZWxzOihrPUQudmlkZW8sVy5tYXhXaWR0aD1rPy53aWR0aCxXLm1heEhlaWdodD1rPy5oZWlnaHQsVy5tYXhGcmFtZXJhdGU9YixXLm1heEJpdHJhdGVCcHM9RC5Ocyo4LFcuejk9az8uaXNIZHIoKSksbi5OLnNldCh2LFcpKX07CiQ1cj1mdW5jdGlvbihuLFcpe3ZhciBEPSEoIW4ubSYmIW4uTSksYj0hKCFuLm1hYzMmJiFuLk1BQzMpLHY9ISghbi5tZWFjMyYmIW4uTUVBQzMpO249ISghbi5pJiYhbi5JKTtXLlFyPW47cmV0dXJuIER8fGJ8fHZ8fG59OwpKVD1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLml0YWcmJkFIUy5oYXMoVy5pdGFnKSlyZXR1cm4hMDtyZXR1cm4hMX07CnNXYj1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2YgbilpZihXLmF1ZGlvLmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giKXJldHVybiEwO3JldHVybiExfTsKSXI9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgIioiOnJldHVybiJ2OGUiO2Nhc2UgIigiOnJldHVybiJ2OWUiO2Nhc2UgIihoIjpyZXR1cm4idjloZSI7ZGVmYXVsdDpyZXR1cm4gbn19OwpyRj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIEQuVEM/YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59XyR7ISFXLnZpZGVvPy5YfWA6YCR7bn1fJHtOdW1iZXIoVy52aWRlbz8uZnBzfHwwKX1fJHshIVcuYXVkaW8/Lk59YH07CiRKPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2ZvcihsZXQgRCBpbiBuKXtpZighbi5oYXNPd25Qcm9wZXJ0eShEKSljb250aW51ZTtsZXQgYj1EO1cucHVzaChJcihiKSk7Zm9yKGxldCB2IG9mIG5bYl0pVy5wdXNoKHYuaXRhZyl9cmV0dXJuIFcuam9pbigiLiIpfTsKdGdoPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17fSx4PXt9O2cuYV8oVywoTCxlKT0+e0w9TC5maWx0ZXIoRz0+e3ZhciByPUcuaXRhZztpZighRy5jb250ZW50UHJvdGVjdGlvbilyZXR1cm4geFtyXT0ibm9lbmMiLCExO2lmKGsuSEQmJkcuSUI9PT0iKGgiJiZrLmJkKXJldHVybiB4W3JdPSJsaWNoZHIiLCExO2lmKCFuLlgmJkcuSUI9PT0iMWUiKXJldHVybiB4W3JdPSJub2F2MWVuYyIsITE7aWYoRy5JQj09PSIoInx8Ry5JQj09PSIoaCIpe2lmKG4uSiYmRCYmRC5mbGF2b3I9PT0id2lkZXZpbmUiKXt2YXIgTj1HLm1pbWVUeXBlKyI7IGV4cGVyaW1lbnRhbD1hbGxvd2VkIjsoTj0hIUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiYhIUQuSltOXSl8fCh4W3JdPUcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdPyJ1bnNwdCI6Im5vZmx2Iik7cmV0dXJuIE59aWYoIVNKKG4sQVQuQ1JZUFRPQkxPQ0tGT1JNQVQpJiYhbi5UQ3x8bi50dylyZXR1cm4geFtyXT1uLnR3PwoiZGlzdnAiOiJ2cHN1YiIsITF9cmV0dXJuIEQmJkcuY29udGVudFByb3RlY3Rpb25bRC5mbGF2b3JdJiZELkpbRy5taW1lVHlwZV0/ITA6KHhbcl09RD9HLmNvbnRlbnRQcm90ZWN0aW9uW0QuZmxhdm9yXT8idW5zcHQiOiJub2ZsdiI6Im5vc3lzIiwhMSl9KTsKTC5sZW5ndGgmJihoW2VdPUwpfSk7CmImJk9iamVjdC5lbnRyaWVzKHgpLmxlbmd0aCYmdih7cmpyOmcuVEMoeCl9KTtpZihrLkopZm9yKGxldCBMIG9mIE9iamVjdC52YWx1ZXMoVykpaWYoTClmb3IobGV0IGUgb2YgTClXPXhbZS5pdGFnXSxlLk1XKCkmJlchPT12b2lkIDAmJihrLk5bZS5pdGFnXT1XKTtyZXR1cm4gaH07Ckc3VT1mdW5jdGlvbihuLFcpe3ZhciBEPWcudV8obiwoYix2KT0+di52aWRlby5KKCk/TWF0aC5taW4oYix2LnZpZGVvLndpZHRoKTpiLEluZmluaXR5KTsKRDxJbmZpbml0eSYmKG49bi5maWx0ZXIoYj0+e2lmKGIudmlkZW8uSigpfHxiLnZpZGVvLndpZHRoPEQpcmV0dXJuITA7V1tiLml0YWddPSJoZnJmaXJzdCI7cmV0dXJuITF9KSk7CmxiKCkmJihuPW4uZmlsdGVyKGI9PntpZihiLml0YWchPT0iMjk5IilyZXR1cm4hMDtXW2IuaXRhZ109InBzM2hmcjEwODAiO3JldHVybiExfSkpOwpyZXR1cm4gbn07CnEyQz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFc9Vy5maWx0ZXIoYj0+e2lmKGIudmlkZW8ucXVhbGl0eU9yZGluYWw8PW4ud2EpcmV0dXJuITA7RFtiLml0YWddPSJtYXhxdWFsaXR5IjtyZXR1cm4hMX0pfTsKdFQ9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2ZvcihsZXQgdiBpbiBXLk4pe2lmKCFXLk4uaGFzT3duUHJvcGVydHkodikpY29udGludWU7bGV0IGs9Vy5OW3ZdLmluZm87aWYobi5ZJiZrLnZpZGVvJiZrLnZpZGVvLnF1YWxpdHlPcmRpbmFsPG4uWSl7RCYmKERbay5pdGFnXT1gbWluJHtuLll9YCk7Y29udGludWV9bGV0IGg9ay5JQjtiW2hdPWJbaF18fFtdO2JbaF0ucHVzaChrKX1mb3IobGV0IHYgb2YgT2JqZWN0LmtleXMoYikpSEEoYlt2XSk7cmV0dXJuIGJ9OwpmZz1mdW5jdGlvbihuKXtyZXR1cm4gZy51XyhuLChXLEQpPT5NYXRoLm1heChXLEQudmlkZW8ucXVhbGl0eU9yZGluYWwpLDApfTsKc0Q9ZnVuY3Rpb24obixXLEQsYj0hMSx2PW5ldyBTZXQpe2lmKFcuSUI9PT0iIilyZXR1cm4idW5rbiI7aWYoKFcuaXRhZz09PSIzMDQifHxXLml0YWc9PT0iMjY2IikmJm4udHcpcmV0dXJuImJsazJraGZyIjtpZihuLksmJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5LKXJldHVybmBtYXgke24uS31gO2lmKG4uQ3UmJlcuSUI9PT0iaCImJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MClyZXR1cm4iYmxraGlnaDI2NCI7aWYoVy5JQj09PSIoaCImJiFELkspcmV0dXJuImVuY2hkciI7aWYoYiYmbUYoVykmJiFuLm51KXJldHVybiJibGs1MWxpdmUiO2lmKChXLklCPT09Ik1BQzMifHxXLklCPT09Im1hYzMiKSYmIW4uailyZXR1cm4iYmxrYWMzIjtpZigoVy5JQj09PSJNRUFDMyJ8fFcuSUI9PT0ibWVhYzMiKSYmIW4uVilyZXR1cm4iYmxrZWFjMyI7aWYoVy5JQj09PSJNInx8Vy5JQj09PSJtIilyZXR1cm4iYmxrYWFjNTEiO2lmKChXLklCPT09InNvInx8ClcuSUI9PT0ic2EiKSYmIW4uY0opcmV0dXJuImJsa2FtYiI7aWYoIW4uSEQmJktnKFcpJiYoIUQuWHx8Vy5JQiE9PSIxZSIpKXJldHVybiJjYmMiO2lmKCFELlgmJktnKFcpJiZXLklCPT09IjFlIilyZXR1cm4iY2JjYXYxIjtpZigoVy5JQj09PSJpInx8Vy5JQj09PSJJIikmJiFuLlZRKXJldHVybiJibGtpYW1mIjtpZihuLlJhJiZXLmF1ZGlvPy5OPT09ITApcmV0dXJuImJsa3ZiY2FiciI7aWYobi5UQyYmVy52aWRlbz8uWD09PSExKXJldHVybiJibGttdHZjYWJyIjtpZihuLnZKJiYoVy5JQj09PSIxInx8Vy5JQj09PSIxaCJ8fEQuWCYmVy5JQj09PSIxZSIpJiZXLnZpZGVvPy5xdWFsaXR5T3JkaW5hbCYmVy52aWRlbz8ucXVhbGl0eU9yZGluYWw+bi52SilyZXR1cm4iYXYxY2FwIjtiPUQuVy5nZXQoVy5JQik7aWYoIW4ualcmJmImJmIuZzE+MClyZXR1cm4gdi5hZGQoVy5JQiksImJ5ZXJyIjtpZihXLnZpZGVvPy5KKCkpe2lmKCFELmJkJiYhU0ooRCxBVC5GUkFNRVJBVEUpKXJldHVybiJjYXBIZnIiOwppZihuLlBYJiZXLnZpZGVvLnF1YWxpdHlPcmRpbmFsPj00MzIwKXJldHVybiJibGs4a2hmciI7aWYoVy5YKCkmJm4uVTUmJlcuY29udGVudFByb3RlY3Rpb24mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+PTE0NDApcmV0dXJuImRpc2FibGV2cDloZnIifWlmKG4uTnMmJlcuTnM+bi5OcylyZXR1cm4icmF0ZWNhcCI7aWYobi5TJD4wJiZXLmZZKCkmJlcudmlkZW8uaGVpZ2h0Pm4uUyQpcmV0dXJuIm12aGNhcCI7bj1PRChELFcpO3JldHVybiBuIT09ITA/bjohMH07CkhBPWZ1bmN0aW9uKG4sVz1bXSl7Zy5iZihuLChELGIpPT57dmFyIHY9Yi5Ocy1ELk5zO2lmKCFELmZZKCl8fCFiLmZZKCkpcmV0dXJuIHY7dmFyIGs9Yi52aWRlby5oZWlnaHQqYi52aWRlby53aWR0aC1ELnZpZGVvLmhlaWdodCpELnZpZGVvLndpZHRoOyFrJiZXJiZXLmxlbmd0aD4wJiYoRD1XLmluZGV4T2YoRC5JQikrMSxiPVcuaW5kZXhPZihiLklCKSsxLGs9RD09PTB8fGI9PT0wP2J8fC0xOkQtYik7a3x8KGs9dik7cmV0dXJuIGt9KX07ClBBPWZ1bmN0aW9uKG4sVyl7aWYoVz5uLngkKCkpbi5zZWdtZW50cz1bXTtlbHNle3ZhciBEPWcuejQobi5zZWdtZW50cyxiPT5iLmokPj1XLG4pOwpEPjAmJm4uc2VnbWVudHMuc3BsaWNlKDAsRCl9fTsKWmM9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K24uTik7bi5OKz0xO3JldHVybiBXfTsKVUQ9ZnVuY3Rpb24obil7dmFyIFc9bi5kYXRhLmdldFVpbnQxNihuLm9mZnNldCtuLk4pO24uTis9MjtyZXR1cm4gV307CnlMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRJbnQzMihuLm9mZnNldCtuLk4pO24uTis9NDtyZXR1cm4gV307CkVEPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50MzIobi5vZmZzZXQrbi5OKTtuLk4rPTQ7cmV0dXJuIFd9OwppMz1mdW5jdGlvbihuKXt2YXIgVz1uLmRhdGE7dmFyIEQ9bi5vZmZzZXQrbi5OO1c9Vy5nZXRVaW50MzIoRCkqNDI5NDk2NzI5NitXLmdldFVpbnQzMihEKzQpO24uTis9ODtyZXR1cm4gV307CnUzPWZ1bmN0aW9uKG4sVz1OYU4pe2lmKGlzTmFOKFcpKXZhciBEPW4uc2l6ZTtlbHNlIGZvcihEPW4uTjtEPG4uc2l6ZSYmbi5kYXRhLmdldFVpbnQ4KG4ub2Zmc2V0K0QpIT09VzspKytEO1c9bmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLk4rbi5kYXRhLmJ5dGVPZmZzZXQsRC1uLk4pO24uTj1NYXRoLm1pbihEKzEsbi5zaXplKTtyZXR1cm4gcFIoVyl9Owpvcj1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkobi5kYXRhLmJ1ZmZlcixuLm9mZnNldCtuLmRhdGEuYnl0ZU9mZnNldCxuLnNpemUpfTsKZEY9ZnVuY3Rpb24obixXLEQsYil7KG5ldyBVaW50OEFycmF5KG4uZGF0YS5idWZmZXIsbi5vZmZzZXQsYikpLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixEK1cuYnl0ZU9mZnNldCxiKSk7bi5vZmZzZXQrPWJ9Owp6Xz1mdW5jdGlvbihuLFcpe3JldHVybiBOdW1iZXIobi5kYXRhW1ddKXx8MH07ClRfPWZ1bmN0aW9uKG4pe3JldHVybiBuLmRhdGFbIkN1ZXBvaW50LVR5cGUiXT9uZXcgZy5sMygtKE51bWJlcihuLmRhdGFbIkN1ZXBvaW50LVBsYXloZWFkLVRpbWUtU2VjIl0pfHwwKSxOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1Ub3RhbC1EdXJhdGlvbi1TZWMiXSl8fDAsbi5kYXRhWyJDdWVwb2ludC1Db250ZXh0Il0sbi5kYXRhWyJDdWVwb2ludC1JZGVudGlmaWVyIl18fCIiLG01altuLmRhdGFbIkN1ZXBvaW50LUV2ZW50Il18fCIiXXx8InVua25vd24iLChOdW1iZXIobi5kYXRhWyJDdWVwb2ludC1QbGF5aGVhZC1UaW1lLVNlYyJdKXx8MCkqMUUzKTpudWxsfTsKako9ZnVuY3Rpb24obil7cmV0dXJuIE51bWJlcihuLmRhdGFbIlN0YXJ0LU1lZGlhLVRpbWUtVXMiXSkvMUU2fHwwfTsKQ2c9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tSWQiXT9uLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKTpbXX07CkJBPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXSlmb3IobGV0IEQgb2Ygbi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1EdXJhdGlvbi1VcyJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSkpVy5wdXNoKChOdW1iZXIoRCl8fDApLzFFNik7cmV0dXJuIFd9OwpGcD1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LUZyYW1lLUluZGV4Il0pZm9yKGxldCBEIG9mIG4uZGF0YVsiU3RpdGNoZWQtVmlkZW8tU3RhcnQtRnJhbWUtSW5kZXgiXS5zcGxpdCgiLCIpLnNsaWNlKDAsLTEpKVcucHVzaChOdW1iZXIoRCl8fDApO3JldHVybiBXfTsKd0Y9ZnVuY3Rpb24obil7dmFyIFc9W107aWYobi5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1UaW1lLVdpdGhpbi1BZC1VcyJdKWZvcihsZXQgRCBvZiBuLmRhdGFbIlN0aXRjaGVkLVZpZGVvLVN0YXJ0LVRpbWUtV2l0aGluLUFkLVVzIl0uc3BsaXQoIiwiKS5zbGljZSgwLC0xKSlXLnB1c2goKE51bWJlcihEKXx8MCkvMUU2KTtyZXR1cm4gV307CmcuTWQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdP24uZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdOiIifTsKZy5Scj1mdW5jdGlvbihuKXtzd2l0Y2gobi5kYXRhWyJJcy1BZC1CcmVhay1GaW5pc2hlZCJdKXtjYXNlICJ0cnVlIjpyZXR1cm4gMTtjYXNlICJmYWxzZSI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gMH19OwpRTD1mdW5jdGlvbihuKXt2YXIgVz17fTtuPW4uc3BsaXQoIlxyXG4iKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKyl7aWYobltEXS5sZW5ndGg9PT0wKXJldHVybiBXO2xldCBiPW5bRF0ubWF0Y2goLyhbXjpdKyk6XHMrKFtcU1xzXSspLyk7YiE9bnVsbCYmKFdbYlsxXV09YlsyXSl9cmV0dXJuIG51bGx9OwpnLm5zPWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vz1hcihiLnR5cGUpP1crODpXK2Iuc2l6ZX1yZXR1cm4gbnVsbH07Cld3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTk1Mjg2ODQ1Mik7bj1nLm5zKG4sMCwxOTUzNjU4MjIyKTtpZihEJiZuKXtELnNraXAoMSk7dmFyIGI9WmMoRCk8PDE2fFVEKEQpO0Quc2tpcCg0KTtiJjEmJkQuc2tpcCg4KTtiJjImJkQuc2tpcCg0KTtpZihiJjgpe2I9RC5OO3ZhciB2PUVEKEQpO0QuZGF0YS5zZXRVaW50MzIoRC5vZmZzZXQrYixXPjE/TWF0aC5jZWlsKHYqVyk6TWF0aC5mbG9vcih2KlcpKX1uLnNraXAoMSk7RD1aYyhuKTw8MTZ8VUQobik7aWYoRCYyNTYpe2I9RCYxO3Y9RCY0O3ZhciBrPUQmNTEyLGg9RCYxMDI0LHg9RCYyMDQ4O0Q9RUQobik7YiYmbi5za2lwKDQpO3YmJm4uc2tpcCg0KTtiPShrPzQ6MCkrKGg/NDowKSsoeD80OjApO2Zvcih2PTA7djxEO3YrKylrPW4uTixoPUVEKG4pLG4uZGF0YS5zZXRVaW50MzIobi5vZmZzZXQrayxXPjE/TWF0aC5jZWlsKGgqVyk6TWF0aC5mbG9vcihoKlcpKSxuLnNraXAoYil9fX07ClZMPWZ1bmN0aW9uKG4sVyl7aWYobi5ieXRlTGVuZ3RoLVc8OClyZXR1cm4hMTt2YXIgRD1uLmdldFVpbnQzMihXKTtpZihEPDh8fG4uYnl0ZUxlbmd0aC1XPEQpcmV0dXJuITE7Zm9yKEQ9NDtEPDg7RCsrKXtsZXQgYj1uLmdldEludDgoVytEKTtpZihiPDQ4fHxiPjEyMilyZXR1cm4hMX1yZXR1cm4hMH07CmNBPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRVaW50MzIoVyksYj1uLmdldFVpbnQzMihXKzQpO3JldHVybiBuZXcgRF8obixXLEQsYil9OwpnLmJMPWZ1bmN0aW9uKG4pe3ZhciBXPW4uZGF0YS5nZXRVaW50OChuLmRhdGFPZmZzZXQpPzIwOjEyO3JldHVybiBuLmRhdGEuZ2V0VWludDMyKG4uZGF0YU9mZnNldCtXKX07CnZ3PWZ1bmN0aW9uKG4pe249bmV3IERhdGFWaWV3KG4uYnVmZmVyLG4uYnl0ZU9mZnNldCxuLmJ5dGVMZW5ndGgpO3JldHVybihuPWcubnMobiwwLDE4MzY0NzY1MTYpKT9nLmJMKG4pOk5hTn07Cmt4PWZ1bmN0aW9uKG4sVyxEKXtmb3IoO1ZMKG4sVyk7KXtsZXQgYj1jQShuLFcpO2lmKGIudHlwZT09PUQpcmV0dXJuIGI7Vys9Yi5zaXplfXJldHVybiBudWxsfTsKYXI9ZnVuY3Rpb24obil7cmV0dXJuIG49PT0xNzAxMDgyMjI3fHxuPT09MTgzNjAxOTU1OHx8bj09PTE4MzYwMTk1NzR8fG49PT0xODM1Mjk3MTIxfHxuPT09MTgzNTYyNjA4Nnx8bj09PTE5MzcwMDcyMTJ8fG49PT0xOTUzNjUzMDk0fHxuPT09MTk1MzY1MzA5OXx8bj09PTE4MzY0NzU3Njh9OwpLaDI9ZnVuY3Rpb24obil7dmFyIFc9Zy5ucyhuLDAsMTkzNzAxMTU1Nik7aWYoIVcpcmV0dXJuIG51bGw7Vz1reChuLFcuZGF0YU9mZnNldCs4LDE2MzUxNDg1OTMpfHxreChuLFcuZGF0YU9mZnNldCs4LDE2MzUxMzU1MzcpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPWt4KG4sVy5kYXRhT2Zmc2V0Kzc4LDE5MzY5OTUxNzIpLGI9a3gobixXLmRhdGFPZmZzZXQrNzgsMTkzNzEyNjI0NCk7aWYoIWIpcmV0dXJuIG51bGw7Vz1udWxsO2lmKEQpc3dpdGNoKEQuc2tpcCg0KSxaYyhEKSl7ZGVmYXVsdDpXPTA7YnJlYWs7Y2FzZSAxOlc9MjticmVhaztjYXNlIDI6Vz0xO2JyZWFrO2Nhc2UgMzpXPTI1NX12YXIgdj1EPW51bGwsaz1udWxsO2lmKGI9a3gobixiLmRhdGFPZmZzZXQsMTg4NjU0NzgxOCkpe2xldCBoPWt4KG4sYi5kYXRhT2Zmc2V0LDE4ODY1NDYwMjApLHg9a3gobixiLmRhdGFPZmZzZXQsMjAzNzY3MzMyOCk7aWYoIXgmJih4PWt4KG4sYi5kYXRhT2Zmc2V0LDE4MzYyNzk5MjApLAoheCkpcmV0dXJuIG51bGw7aCYmKGguc2tpcCg0KSxEPXlMKGgpLzY1NTM2LGs9eUwoaCkvNjU1MzYsdj15TChoKS82NTUzNik7bj1vcih4KTtuPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcixuLmJ5dGVPZmZzZXQrOCxuLmJ5dGVMZW5ndGgtOCk7cmV0dXJuIG5ldyBoWShXLEQsayx2LG4pfXJldHVybiBudWxsfTsKZy54eD1mdW5jdGlvbihuKXtpZihuLmRhdGEuZ2V0VWludDgobi5kYXRhT2Zmc2V0KSl7dmFyIFc9bi5kYXRhO249bi5kYXRhT2Zmc2V0KzQ7Vz1XLmdldFVpbnQzMihuKSo0Mjk0OTY3Mjk2K1cuZ2V0VWludDMyKG4rNCl9ZWxzZSBXPW4uZGF0YS5nZXRVaW50MzIobi5kYXRhT2Zmc2V0KzQpO3JldHVybiBXfTsKTHM9ZnVuY3Rpb24obil7bj1uZXcgRF8obi5kYXRhLG4ub2Zmc2V0LG4uc2l6ZSxuLnR5cGUsbi5KKTt2YXIgVz1aYyhuKTtuLnNraXAoNyk7dmFyIEQ9RUQobik7aWYoVz09PTApe1c9RUQobik7dmFyIGI9RUQobil9ZWxzZSBXPWkzKG4pLGI9aTMobik7bi5za2lwKDIpO3ZhciB2PVVEKG4pLGs9W10saD1bXTtmb3IobGV0IHg9MDt4PHY7eCsrKXtsZXQgTD1FRChuKTtrLnB1c2goTCk7aC5wdXNoKEVEKG4pKTtuLnNraXAoNCl9cmV0dXJue3RpbWVzY2FsZTpELGY4OlcsTm86YixIczprLHFnOmh9fTsKZy5lUD1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wLGI9W107VkwobixEKTspe2xldCB2PWNBKG4sRCk7di50eXBlPT09VyYmYi5wdXNoKHYpO0Q9YXIodi50eXBlKT9EKzg6RCt2LnNpemV9cmV0dXJuIGJ9OwpnQT1mdW5jdGlvbihuKXtuLnNraXAoNCk7cmV0dXJue1d6OnUzKG4sMCksdmFsdWU6dTMobiwwKSx0aW1lc2NhbGU6RUQobiksbzc6RUQobiksZXZlbnREdXJhdGlvbjpFRChuKSxpZDpFRChuKSxadzp1MyhuKSxvZmZzZXQ6bi5vZmZzZXR9fTsKZy5xaz1mdW5jdGlvbihuKXt2YXIgVz1reChuLDAsMTcwMTY3MTc4Myk7aWYoIVcpcmV0dXJuIG51bGw7dmFyIEQ9Z0EoVyksYj1ELld6O0Q9UUwoRC5adyk7aWYobj1reChuLFcub2Zmc2V0K1cuc2l6ZSwxNzAxNjcxNzgzKSlpZihuPWdBKG4pLG49UUwobi5adyksRCYmbilmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobikpRFt2XT1uW3ZdO3JldHVybiBEP25ldyBYNShELGIpOm51bGx9OwpHaj1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD1reChuLDAsVyk7RDspe3ZhciBiPUQ7Yi50eXBlPTE5MzY0MTkxODQ7Yi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpO0Q9a3gobixELm9mZnNldCtELnNpemUsVyl9fTsKUElDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5ucyhuLDAsMTkzNzAxMTU1NiksYj1nLm5zKG4sMCwxOTUzNjU0MTM2KTtpZighRHx8IWJ8fG4uZ2V0VWludDMyKEQub2Zmc2V0KzEyKT49MilyZXR1cm4gbnVsbDt2YXIgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoKSxrPWcubnModiwwLDE5MzcwMTE1NTYpO2lmKCFrKXJldHVybiBudWxsO1c9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzgpO2I9di5nZXRVaW50MzIoay5kYXRhT2Zmc2V0KzEyKTtpZihiIT09MTcwMTczMzIxNyYmYiE9PTE3MDE3MzMyMzgpcmV0dXJuIG51bGw7Yj1uZXcgT0t0KG4uYnl0ZUxlbmd0aCtXKTtkRihiLG4sMCxELm9mZnNldCsxMik7Yi5kYXRhLnNldEludDMyKGIub2Zmc2V0LDIpO2Iub2Zmc2V0Kz00O2RGKGIsbixELm9mZnNldCsxNixELnNpemUtMTYpO2RGKGIsdix2LmJ5dGVPZmZzZXQray5kYXRhT2Zmc2V0KzgsVyk7ZEYoYixuLEQub2Zmc2V0K0Quc2l6ZSxuLmJ5dGVMZW5ndGgtCihELm9mZnNldCtELnNpemUpKTtEPVsxODM2MDE5NTc0LDE5NTM2NTMwOTksMTgzNTI5NzEyMSwxODM1NjI2MDg2LDE5MzcwMDcyMTIsMTkzNzAxMTU1Nl07Zm9yKGxldCBoIG9mIEQpRD1nLm5zKG4sMCxoKSxiLmRhdGEuc2V0VWludDMyKEQub2Zmc2V0LEQuc2l6ZStXKTtuPWcubnMoYi5kYXRhLDAsMTk1MzY1NDEzNik7Yi5kYXRhLnNldFVpbnQzMihuLm9mZnNldCsxNiwyKTtyZXR1cm4gYi5kYXRhfTsKWktaPWZ1bmN0aW9uKG4pe3ZhciBXPWcubnMobiwwLDE5MzcwMTE1NTYpO2lmKCFXKXJldHVybiBudWxsO3ZhciBEPW4uZ2V0VWludDMyKFcuZGF0YU9mZnNldCsxMik7aWYoRCE9PTE3MDE3MzMyMTcmJkQhPT0xNzAxNzMzMjM4KXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCsyNCsoRD09PTE3MDE3MzMyMTc/Mjg6NzgpLDE5MzYyODkzODIpO2lmKCFXKXJldHVybiBudWxsO0Q9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzcpO2lmKCFEfHxuLmdldFVpbnQzMihELm9mZnNldCsxMikhPT0xNjY3MzkyMzcxKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5MzU4OTQ2MzMpO2lmKCFXKXJldHVybiBudWxsO1c9a3gobixXLm9mZnNldCs4LDE5NTI4MDQ0NTEpO2lmKCFXKXJldHVybiBudWxsO0Q9bmV3IFVpbnQ4QXJyYXkoMTYpO2ZvcihsZXQgYj0wO2I8MTY7YisrKURbYl09bi5nZXRJbnQ4KFcub2Zmc2V0KzE2K2IpO3JldHVybiBEfTsKWXg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW5ldyB0WShEKTtpZighJHgoYixuKSlyZXR1cm4hMTtiPXJBKGIpO2lmKCFzWShiLFcpKXJldHVybiExO2ZvcihuPTA7VzspVz4+Pj04LG4rKztXPWIuc3RhcnQrYi5wb3M7dmFyIHY9TmsoYiwhMCk7Yj1uKyhiLnN0YXJ0K2IucG9zLVcpK3Y7Yj1iPjk/cHMoYi05LDgpOnBzKGItMiwxKTtuPVctbjtELnNldFVpbnQ4KG4rKywyMzYpO2ZvcihXPTA7VzxiLmxlbmd0aDtXKyspRC5zZXRVaW50OChuKyssYltXXSk7cmV0dXJuITB9Owpwcz1mdW5jdGlvbihuLFcpe1d8fChXPU1hdGguY2VpbChNYXRoLmxvZyhuKzIpL01hdGgubG9nKDIpLzcpKTtmb3IodmFyIEQ9MTw8OC1XLGI9W107Yi5sZW5ndGg8Vy0xOyliLnVuc2hpZnQobiUyNTYpLG49TWF0aC5mbG9vcihuLzI1Nik7Yi51bnNoaWZ0KG58RCk7cmV0dXJuIGJ9OwpVNVo9ZnVuY3Rpb24obil7dmFyIFc9bmV3IHRZKG4pO1cuT0ooKTtpZigkeChXLFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdKSlXPXJBKFcpO2Vsc2UgcmV0dXJuIG51bGw7Zm9yKHZhciBEPW49bnVsbDshSHcoVyk7KXt2YXIgYj1OayhXLCExKTtpZihiPT09MjE0MzIpc3dpdGNoKGZzKFcpKXtkZWZhdWx0Om49MDticmVhaztjYXNlIDE6bj0xO2JyZWFrO2Nhc2UgMzpuPTI7YnJlYWs7Y2FzZSAxNTpuPTI1NX1lbHNlIGI9PT0zMDMyMD9EPXJBKFcpOkpZKFcpfWlmKCFEKXJldHVybiBudWxsO2Zvcih2YXIgdixrPWI9Vz1udWxsOyFIdyhEKTspc3dpdGNoKE5rKEQsITEpKXtjYXNlIDMwMzIxOmlmKGZzKEQpIT09MylyZXR1cm4gbnVsbDticmVhaztjYXNlIDMwMzI0Olc9SUIoRCk7YnJlYWs7Y2FzZSAzMDMyMzprPUlCKEQpO2JyZWFrO2Nhc2UgMzAzMjU6Yj1JQihEKTticmVhaztjYXNlIDMwMzIyOnY9TmsoRCwhMCk7dj1TUChELHYpO3Y9bmV3IERhdGFWaWV3KHYuYnVmZmVyLAp2LmJ5dGVPZmZzZXQsdi5ieXRlTGVuZ3RoKTticmVhaztkZWZhdWx0OkpZKEQpfXJldHVybiB2P25ldyBoWShuLFcsayxiLHYpOm51bGx9OwokeD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKXtpZighc1kobixXW0RdKSlyZXR1cm4hMTtEIT09Vy5sZW5ndGgtMSYmTmsobiwhMCl9cmV0dXJuITB9OwpyQT1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPW4uTi5ieXRlT2Zmc2V0K24ucG9zO0Q9bmV3IERhdGFWaWV3KG4uTi5idWZmZXIsRCxNYXRoLm1pbihXLG4uTi5idWZmZXIuYnl0ZUxlbmd0aC1EKSk7RD1uZXcgdFkoRCxuLnN0YXJ0K24ucG9zKTtuLnBvcys9VztyZXR1cm4gRH07CnNZPWZ1bmN0aW9uKG4sVyxEPSExKXtpZihIdyhuKSlyZXR1cm4hMTtmb3IodmFyIGI9bi5wb3M7TmsobiwhMSkhPT1XOylpZihKWShuKSxiPW4ucG9zLEh3KG4pKXJldHVybiExO0QmJihuLnBvcz1iKTtyZXR1cm4hMH07Ck5rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9QVkobik7aWYoRD09PTEpe0Q9MDtmb3IoVz0wO1c8NztXKyspRD1EKjI1NitBWShuKTtyZXR1cm4gRH12YXIgYj0xMjg7Zm9yKGxldCB2PTA7djw2JiZiPkQ7disrKUQ9RCoyNTYrQVkobiksYio9MTI4O3JldHVybiBXP0QtYjpEfTsKSHc9ZnVuY3Rpb24obil7cmV0dXJuIG4ucG9zPj1uLk4uYnl0ZUxlbmd0aH07CmZzPWZ1bmN0aW9uKG4pe3ZhciBXPU5rKG4sITApLEQ9QVkobik7Zm9yKGxldCBiPTE7YjxXO2IrKylEPUQqMjU2K0FZKG4pO3JldHVybiBEfTsKSlk9ZnVuY3Rpb24obil7dmFyIFc9TmsobiwhMCk7bi5wb3MrPVd9OwpJQj1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKSxEPTA7Vz09PTQ/RD1uLk4uZ2V0RmxvYXQzMihuLnBvcyk6Vz09PTgmJihEPW4uTi5nZXRGbG9hdDY0KG4ucG9zKSk7bi5wb3MrPVc7cmV0dXJuIER9OwpTUD1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrbi5wb3MsVyk7bi5wb3MrPVc7cmV0dXJuIER9OwptdD1mdW5jdGlvbihuKXt2YXIgVz1OayhuLCEwKTtyZXR1cm4gcFIoU1AobixXKSl9OwpBWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmdldFVpbnQ4KG4ucG9zKyspfTsKeUhyPWZ1bmN0aW9uKG4pe2lmKCFzWShuLDQ0MDc4Njg1MSwhMCkpcmV0dXJuIG51bGw7dmFyIFc9bi5wb3M7TmsobiwhMSk7dmFyIEQ9TmsobiwhMCkrbi5wb3MtVztuLnBvcz1XK0Q7aWYoIXNZKG4sNDA4MTI1NTQzLCExKSlyZXR1cm4gbnVsbDtOayhuLCEwKTtpZighc1kobiwzNTcxNDkwMzAsITApKXJldHVybiBudWxsO3ZhciBiPW4ucG9zO05rKG4sITEpO3ZhciB2PU5rKG4sITApK24ucG9zLWI7bi5wb3M9Yit2O2lmKCFzWShuLDM3NDY0ODQyNywhMCkpcmV0dXJuIG51bGw7dmFyIGs9bi5wb3M7TmsobiwhMSk7dmFyIGg9TmsobiwhMCkrbi5wb3Mtayx4PW5ldyBVaW50OEFycmF5KEQrMTIrditoKSxMPW5ldyBEYXRhVmlldyh4LmJ1ZmZlcik7eC5zZXQobmV3IFVpbnQ4QXJyYXkobi5OLmJ1ZmZlcixuLk4uYnl0ZU9mZnNldCtXLEQpKTtMLnNldFVpbnQzMihELDQwODEyNTU0Myk7TC5zZXRVaW50MzIoRCs0LDMzNTU0NDMxKTtMLnNldFVpbnQzMihEKzgsNDI5NDk2NzI5NSk7Cnguc2V0KG5ldyBVaW50OEFycmF5KG4uTi5idWZmZXIsbi5OLmJ5dGVPZmZzZXQrYix2KSxEKzEyKTt4LnNldChuZXcgVWludDhBcnJheShuLk4uYnVmZmVyLG4uTi5ieXRlT2Zmc2V0K2ssaCksRCsxMit2KTtyZXR1cm4geH07CktzPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9zO24ucG9zPTA7dmFyIEQ9MUU2OyR4KG4sWzQwODEyNTU0MywzNTcxNDkwMzAsMjgwNzcyOV0pJiYoRD1mcyhuKSk7bi5wb3M9VztyZXR1cm4gRH07ClB3PWZ1bmN0aW9uKG4pe2lmKCFPWShuKXx8IXNZKG4sNTI0NTMxMzE3KSlyZXR1cm4hMTtOayhuLCEwKTtyZXR1cm4hMH07CkVFWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucG9zO24ucG9zPTA7aWYobi5OLmdldFVpbnQ4KG4ucG9zKSE9PTE2MCYmIVB3KG4pfHwhc1kobiwxNjApKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTt2YXIgYj1uLnBvcztpZighc1kobiwxNjEpKXJldHVybiBuLnBvcz1ELE5hTjtOayhuLCEwKTtBWShuKTt2YXIgdj1BWShuKTw8OHxBWShuKTtuLnBvcz1iO2lmKCFzWShuLDE1NSkpcmV0dXJuIG4ucG9zPUQsTmFOO2I9ZnMobik7bi5wb3M9RDtyZXR1cm4oditiKSpXLzFFOX07Ck9ZPWZ1bmN0aW9uKG4pe2lmKG4uT0ooKSl7aWYoIXNZKG4sNDA4MTI1NTQzKSlyZXR1cm4hMTtOayhuLCEwKX1yZXR1cm4hMH07ClpfPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5pbmRleE9mKCI/Iik7aWYoRD4wKXtsZXQgYj1nNygxLDUwLFcuc3Vic3RyaW5nKEQrMSkpO2cuYV8oYixmdW5jdGlvbih2LGspe3RoaXMuc2V0KGssdil9LG4pOwpXPVcuc3Vic3RyaW5nKDAsRCl9Vz1pcCgxNSw4MjUsVyk7Zy5hXyhXLGZ1bmN0aW9uKGIsdil7dGhpcy5zZXQodixiKX0sbil9OwppS1U9ZnVuY3Rpb24obil7dmFyIFc9bi5BTy5XRCgpLEQ9W107Zy5hXyhuLk4sKHYsayk9PntELnB1c2goYCR7a309JHt2fWApfSk7CmlmKCFELmxlbmd0aClyZXR1cm4gVzt2YXIgYj1ELmpvaW4oIiYiKTtuPVAwKDgzLDY1ODgsbi5BTyk/IiYiOiI/IjtyZXR1cm4gVytuK2J9OwpVWT1mdW5jdGlvbihuLFcpe25bV118fChuW1ddPW5ldyB1VGkpO3JldHVybiBuW1ddfTsKeWY9ZnVuY3Rpb24obixXPSExKXtXJiYobi5KKz0xKTtuLk4rPTF9OwpvRWk9ZnVuY3Rpb24obixXPSExKXtuLnRpbWVkT3V0Kz0xO1cmJnlmKG4sITApfTsKemo9ZnVuY3Rpb24obixXPSExKXtXJiYobi5YPSgwLGcuUikoKSxuLko9MCk7bi5WPSgwLGcuUikoKTtuLnN0YXJ0ZWQ9MDtuLnRpbWVkT3V0PTA7bi5OPTB9OwpsTD1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRClyZXR1cm4gMTw8TWF0aC5taW4obi5KLDUpO0Q9bi5zdGFydGVkK24uTio0O1cmJihEKz1uLlcpO0Q9TWF0aC5tYXgoMCxELTMpO3JldHVybiAxLjYqKkR9OwpqUD1mdW5jdGlvbihuLFcsRCl7aWYoZ1ooMzgsMTIwMixuLk4pKXJldHVybiExO3ZhciBiPVVZKEQsUjAoMzUsMzUwNyxuLk4pKTtpZihiLnRpbWVkT3V0PDEmJmIuTjwxKXJldHVybiExO2I9Yi50aW1lZE91dCtiLk47bj1UaihuLFcpO0Q9VVkoRCxSMCgzMiwzNTA0LG4pKTtyZXR1cm4gRC50aW1lZE91dCtELk4rMDxifTsKVGo9ZnVuY3Rpb24obixXKXtXPVc/Vy5vTTohMTtuLlh8fChuLlg9WGQobi5XLFcpKTtyZXR1cm4gbi5YfTsKQnc9ZnVuY3Rpb24obixXLEQpe249Vz9UaihuLEQpOm4uTjtyZXR1cm4gbmV3IENzKG4pfTsKRjU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBSMCgzNSwzNTA3LFc/VGoobixEKTpuLk4pfTsKd0E9ZnVuY3Rpb24obixXLEQsYix2KXsrK24uSjtXJiYrK24uVjtSMCgzMiwzNTA0LEQuQU8pLnN0YXJ0c1dpdGgoInJlZGlyZWN0b3IuIikmJihuLk49bi5XLmNsb25lKCksZGVsZXRlIG4uWCxiLnBFJiZkZWxldGUgdltSMCg2NywzNTM5LG4uTildKX07Ck1rPWZ1bmN0aW9uKG4pe3JldHVybiBuP2Ake24uaXRhZ3x8IiJ9OyR7bi5sbXR8fDB9OyR7bi54dGFnc3x8IiJ9YDoiIn07ClFmPWZ1bmN0aW9uKG4sVyl7bi5pbmZvJiZuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIiYmIW4uTyYmKGcuUkIobi5pbmZvKT9uLk89S2gyKFcpOm4uaW5mby5xSCgpJiYobi5PPVU1WihXKSkpfTsKY3c9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWsoZy5WZihuLmluZm8sVykpfTsKbno9ZnVuY3Rpb24obil7bj1uLnNwbGl0KCItIik7dmFyIFc9TnVtYmVyKG5bMF0pLEQ9TnVtYmVyKG5bMV0pO2lmKCFpc05hTihXKSYmIWlzTmFOKEQpJiZuLmxlbmd0aD09PTImJihuPW5ldyBhQihXLEQpLCFpc05hTihuLnN0YXJ0KSYmIWlzTmFOKG4uZW5kKSYmIWlzTmFOKG4ubGVuZ3RoKSYmbi5sZW5ndGg+MCkpcmV0dXJuIG59OwpXXz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgYUIobixuK1ctMSl9OwpESj1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gbmV3IGFCKDAsMCk7dmFyIFc9TnVtYmVyKG4uc3RhcnQpO249TnVtYmVyKG4uZW5kKTtpZighaXNOYU4oVykmJiFpc05hTihuKSYmKFc9bmV3IGFCKFcsbiksVy5sZW5ndGg+MCkpcmV0dXJuIFd9OwpkNXc9ZnVuY3Rpb24obil7bi5sZW5ndGg9PT0xfHxnLmR6KG4sRD0+ISFELnJhbmdlKTsKZm9yKHZhciBXPTE7VzxuLmxlbmd0aDtXKyspO1c9bltuLmxlbmd0aC0xXTtyZXR1cm4gbmV3IGFCKG5bMF0ucmFuZ2Uuc3RhcnQrblswXS5OLFcucmFuZ2Uuc3RhcnQrVy5OK1cuSi0xKX07CmJUPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUEo9PT1XLlBKP24ucmFuZ2UmJlcucmFuZ2U/bi5yYW5nZS5zdGFydCtuLk4rbi5KPT09Vy5yYW5nZS5zdGFydCtXLk46bi5qJD09PVcuaiQ/bi5OK24uSj09PVcuTjpuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaOiExfTsKdl89ZnVuY3Rpb24obil7bi5YPW4uc2VnbWVudFN0YXJ0VGltZTtuLks9bi5XO24uaj1uLlgrbi5LfTsKa049ZnVuY3Rpb24obil7cmV0dXJuIG4ucmFuZ2U/bi5qOk1hdGgubWluKG4uc2VnbWVudFN0YXJ0VGltZStNYXRoLm1pbihuLk4vbi5QSi5pbmZvLk5zLG4uVykrKG4ucmFuZ2U/bi5LOk1hdGgubWluKG4uVyxuLkovbi5QSi5pbmZvLk5zKSksbi5zZWdtZW50U3RhcnRUaW1lK24uVyl9Owp6QTI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPSEoIVd8fFcuUEohPT1uLlBKfHxXLnR5cGUhPT1uLnR5cGV8fFcuaiQhPT1uLmokKTtyZXR1cm4gRD9iJiYhIVcmJihuLnJhbmdlJiZXLnJhbmdlP1cucmFuZ2UuZW5kPT09bi5yYW5nZS5lbmQ6Vy5yYW5nZT09PW4ucmFuZ2UpJiZXLk4rVy5KPT09bi5OK24uSjpifTsKaEo9ZnVuY3Rpb24obil7cmV0dXJuIG4udHlwZT09PTF8fG4udHlwZT09PTJ9Owp4Tj1mdW5jdGlvbihuKXtyZXR1cm4gbi50eXBlPT09M3x8bi50eXBlPT09Nn07Ckx6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGJUKG4sVyl8fE1hdGguYWJzKG4uai1XLlgpPD0xRS02fHxuLmokKzE9PT1XLmokJiZXLk49PT0wJiZuLmFaPyEwOiExfTsKZXg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5qJCE9PVcuaiQmJlcuaiQhPT1uLmokKzF8fG4udHlwZSE9PVcudHlwZT8hMTpiVChuLFcpPyEwOk1hdGguYWJzKG4uWC1XLlgpPD0xRS02JiZuLmokPT09Vy5qJD8hMTpMeihuLFcpfTsKZ2s9ZnVuY3Rpb24obil7cmV0dXJuIG4uaiQrKG4uYVo/MTowKX07Clh4PWZ1bmN0aW9uKG4pe3ZhciBXPXt9O1cuaXRhZz1uLlBKLmluZm8uaXRhZztXLnR5cGU9YCR7bi50eXBlfWA7Vy5zcmM9YCR7bi5zb3VyY2V9YDtXLnNlZ3NyYz1uLlk7Vy5zZWc9U3RyaW5nKG4uaiQpO24ucmFuZ2UmJihXLnJhbmdlPWAke24ucmFuZ2Uuc3RhcnQrbi5OfS0ke24ucmFuZ2Uuc3RhcnQrbi5OK24uSi0xfWApO1cudGltZT1gJHtuLlgudG9GaXhlZCgxKX0tJHsobi5YK24uSykudG9GaXhlZCgxKX1gO1cub2ZmPVN0cmluZyhuLk4pO1cubGVuPVN0cmluZyhuLkopO24uYVomJihXLmVuZD0iMSIpO24uVigpJiYoVy5lb3M9IjEiKTtuLmNsaXBJZCYmKFcuY2lkPW4uY2xpcElkKTtyZXR1cm4gV307CmxEeD1mdW5jdGlvbihuKXtyZXR1cm4gbmV3IHFJKG4udHlwZSxuLlBKLG4ucmFuZ2UsImdldEVtcHR5U3R1YkJlZm9yZSIrbi5ZLG4uaiQsbi5zZWdtZW50U3RhcnRUaW1lLDAsbi5OLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKVEQxPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgcUkobi50eXBlLG4uUEosbi5yYW5nZSwiZ2V0RW1wdHlTdHViQWZ0ZXIiK24uWSxuLmokLG4uc2VnbWVudFN0YXJ0VGltZStuLlcsMCxuLk4rbi5KLDAsdm9pZCAwLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKR1A9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIG5ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJyZXNsaWNlIituLlksbi5qJCxuLnNlZ21lbnRTdGFydFRpbWUsbi5XLFcsRCxiLG4udkQsbi5jbGlwSWQsbi5ELG4uYmQsbi5yZXF1ZXN0VG9rZW4pfTsKdEo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5yYW5nZSYmVy5yYW5nZT9uLnJhbmdlLnN0YXJ0K24uTj49Vy5yYW5nZS5zdGFydCtXLk4mJm4ucmFuZ2Uuc3RhcnQrbi5OK24uSjw9Vy5yYW5nZS5zdGFydCtXLk4rVy5KOm4uaiQ9PT1XLmokJiZuLk4+PVcuTiYmKG4uTituLko8PVcuTitXLkp8fFcuYVopfTsKJE49ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5QSiE9PVcuUEo/ITE6bi5jSigpJiZXLnR5cGU9PT0zJiZuLlBKLk4oKT8obj1uLlBKLlZRKG4pLGcub00obixEPT4kTihELFcpKSk6bi5qJD09PVcuaiQmJiEhVy5KJiZXLk4rVy5KPm4uTiYmVy5OK1cuSjw9bi5OK24uSn07Ck92PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCksRD1uLmg1KCksYj1ELmVfKCksdj1uLkcoKSxrPW4uZDAoKSxoPWsuVDEqOC8xMDI0LHg9ay54WS8xMDI0LEw9ay5LVCxlPWsuU1UsRz1rLk1BLHI9RC5nZXRDdXJyZW50VGltZSgpLnRvRml4ZWQoMiksTj1yayhELkooKSwiLCIsMyk7dmFyIEg9IiI7aWYoVy5pc0RhaUVuYWJsZWQoKSl7SD1OSShXKT9IKyJNViI6Vy5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaT9IKyJTUyI6SCsiQ1MiO0g9Vy5ERigpP0grIkxJRkEsICI6SCsiREFJLCAiO1cuYlYmJihIKz0iREFJRkIsICIpO3ZhciBBPWsuZEM7QSYmKEgrPUEpfWVsc2UgVy5LZj9IKz0iQ1NEQUksICI6Vy5KbD9IKz0iRFNEQUksICI6Vy5qRiYmKEgrPSJVU0RBSSwgIik7cHooVykmJiFXLkRGKCkmJihIKz0iTElGQUUsICIpO2cuWU4oVykmJihIKz0iU0FCUiwgIik7aWYoVy5mZXRjaFR5cGUpe3N3aXRjaChXLmZldGNoVHlwZSl7Y2FzZSAib25lc2llIjpBPSJvIjticmVhazsKY2FzZSAiZ3AiOkE9ImdwIjticmVhaztkZWZhdWx0OkE9Imd2aSJ9SCs9YHZkOiR7QX0sIGB9KEE9di5qXygpKSYmKEg9QS5pc0FzbWpzP0grIndhLCAiOkgrIncsICIpO0grPWBzOiR7R30gdDoke3J9IGI6JHtOfSBgO0QuaXNTZWVraW5nKCkmJihIKz0iUyIpO0QuaXNQYXVzZWQoKSYmKEgrPSJQIik7RC5pc0VuZGVkKCkmJihIKz0iRSIpO24uaXNPcmNoZXN0cmF0aW9uTGVhZGVyKCkmJihIKz0iIEwiKTsoRD1rLmVJKSYmKEgrPWAgbDoke0QudG9GaXhlZCgpfWApO0Q9ay5jdXJyZW50VGltZTtHPVcueW47RCYmRD5HLnN0YXJ0JiZEPEcuZW5kJiYoSCs9IiBhcyIpO0Q9UFYob0wpKCJfc3RhcnQiLHZvaWQgMCk7Rz1bXTtmb3IoeSBvZlsicGxfaSIsInZpciIsIm9yX3AiLCJvcmZiIiwicGJzIl0pKHI9UFYob0wpKHksdm9pZCAwKSkmJkQmJihyLT1ELEcucHVzaChgJHt5fToke01hdGgucm91bmQocil9YCkpO3ZhciB5PUcuam9pbigiICIpO0Q9Zy5IXygpO0c9Zy5meihuKS52VDtyPQpXLlcmJiFXLlcuTigpPyJkaXNwbGF5Om5vbmUiOiIiO2lmKChOPVcuY2xpZW50UGxheWJhY2tOb25jZSkmJk4ubGVuZ3RoPT0xNil7Tis9IkFBQUEiO0E9MDt2YXIgVD0iIjtmb3IobGV0IEM9MDtDPDIwO0MrKylpZihBPShBPDw2KSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuaW5kZXhPZihOLmNoYXJBdChDKSksQyU1PT00KXtsZXQgUT0iIjtmb3IobGV0IFY9MDtWPDY7VisrKVE9IjAxMjM0NTY3ODlBQkNERUZHSEpLTU5QUVJTVFZXWFlaIi5jaGFyQXQoQSYzMSkrUSxBPj49NTtUKz1RfU49YCR7VC5zdWJzdHIoMCw0KX0gJHtULnN1YnN0cig0LDQpfSAke1Quc3Vic3RyKDgsNCl9ICR7VC5zdWJzdHIoMTIsNCl9ICR7VC5zdWJzdHIoMTYsNCl9YH1lbHNlIE49IiI7aD17dmlkZW9faWRfYW5kX2NwbjpTdHJpbmcoVy52aWRlb0lkKSsiIC8gIitOLGNvZGVjczoiIixkaW1zX2FuZF9mcmFtZXM6IiIsYmFuZHdpZHRoX2ticHM6YCR7aC50b0ZpeGVkKDApfSBLYnBzYCwKYnVmZmVyX2hlYWx0aF9zZWNvbmRzOmAke0wudG9GaXhlZCgyKX0gc2AsZGF0ZTpgJHsobmV3IERhdGUpLnRvU3RyaW5nKCl9YCxkcm1fc3R5bGU6ZT8iIjoiZGlzcGxheTpub25lIixkcm06ZSxkZWJ1Z19pbmZvOkgsZXh0cmFfZGVidWdfaW5mbzoiIixiYW5kd2lkdGhfc3R5bGU6cixuZXR3b3JrX2FjdGl2aXR5X3N0eWxlOnIsbmV0d29ya19hY3Rpdml0eV9ieXRlczpgJHt4LnRvRml4ZWQoMCl9IEtCYCxzaGFkZXJfaW5mbzpHLHNoYWRlcl9pbmZvX3N0eWxlOkc/IiI6ImRpc3BsYXk6bm9uZSIscGxheWJhY2tfY2F0ZWdvcmllczoiIn07eD1gJHtiLmNsaWVudFdpZHRofXgke2IuY2xpZW50SGVpZ2h0fWArKEQ+MT9gKiR7RC50b0ZpeGVkKDIpfWA6IiIpO0w9Ii0iO2sudG90YWxWaWRlb0ZyYW1lcyYmKEw9YCR7ay5kcm9wcGVkVmlkZW9GcmFtZXN8fDB9IGRyb3BwZWQgb2YgJHtrLnRvdGFsVmlkZW9GcmFtZXN9YCk7aC5kaW1zX2FuZF9mcmFtZXM9YCR7eH0gLyAke0x9YDtlPW4uZ2V0Vm9sdW1lKCk7Cm49Vy5oZzt4PW4uTjtMPU1hdGgucm91bmQoZSk7ZT1NYXRoLnJvdW5kKGUqKHg/LlpyPz8xKSk7SD0iIjtXLlg/LmF1ZGlvLk4/SD0iIFZCIjpXLlg/LmF1ZGlvLlcmJihIPSIgRFJDIik7RD0iIjt4Py5mZCE9bnVsbD9EKz1gY29udC4ke3guZmQudG9GaXhlZCgxKX1kQmA6bi5RTyE9bnVsbCYmKEQrPWBsaXZlLiR7bi5RTy50b0ZpeGVkKDEpfWRCYCk7eD8ucHkhPW51bGwmJihEKz1gIHRndC4ke3gucHkudG9GaXhlZCgxKX1kQmApO0QmJihEPWAgKCR7RH0pYCk7aC52b2x1bWU9YCR7TH0lLyR7ZX0lJHtIfSR7RH1gO2gucmVzb2x1dGlvbj1gJHtiLnZpZGVvV2lkdGh9eCR7Yi52aWRlb0hlaWdodH1gO2lmKGI9Vy5KKXtpZihuPWIudmlkZW8peD1uLmZwcyx4PjEmJihoLnJlc29sdXRpb24rPWBAJHt4fWApLCh4PWsuTHQpJiZ4LnZpZGVvJiYoaC5yZXNvbHV0aW9uKz1gIC8gJHt4LnZpZGVvLndpZHRofXgke3gudmlkZW8uaGVpZ2h0fWAseC52aWRlby5mcHM+MSYmKGgucmVzb2x1dGlvbis9CmBAJHt4LnZpZGVvLmZwc31gKSksaC5jb2RlY3M9SkooYiksIVcuWHx8Yi5hdWRpbyYmYi52aWRlbz9iLkFhJiYoaC5jb2RlY3MrPWAgLyAke2IuQWF9QWApOmguY29kZWNzKz1gIC8gJHtKSihXLlgpfWAsbi5OfHxuLnByaW1hcmllcz8oeD1uLk58fCJ1bmtub3duIix4PT09InNtcHRlMjA4NCI/eD1gJHt4fSAoUFEpYDp4PT09ImFyaWItc3RkLWI2NyImJih4PWAke3h9IChITEcpYCksaC5jb2xvcj1gJHt4fSAvICR7bi5wcmltYXJpZXN8fCJ1bmtub3duIn1gLGguY29sb3Jfc3R5bGU9IiIpOmguY29sb3Jfc3R5bGU9ImRpc3BsYXk6bm9uZSI7aWYoYi5kZWJ1Z0luZm8pe2guZm10X2RlYnVnX2luZm89IiI7Zm9yKHZhciB6IG9mIGIuZGVidWdJbmZvKWguZm10X2RlYnVnX2luZm8rPWAke3oubGFiZWx9OiR7ei50ZXh0fSBgfWguZm10X2RlYnVnX2luZm9fc3R5bGU9aC5mbXRfZGVidWdfaW5mbyYmaC5mbXRfZGVidWdfaW5mby5sZW5ndGg+MD8iIjoiZGlzcGxheTpub25lIn16PVcuaXNMaXZlUGxheWJhY2s7CmI9Vy5YZztoLmxpdmVfbW9kZV9zdHlsZT16fHxiPyIiOiJkaXNwbGF5Om5vbmUiO2gubGl2ZV9sYXRlbmN5X3N0eWxlPXo/IiI6ImRpc3BsYXk6bm9uZSI7aWYoYiloLmxpdmVfbW9kZT0iUG9zdC1MaXZlIisoSTQoVyk/IiBNYW5pZmVzdGxlc3MiOiIiKTtlbHNlIGlmKHope2I9ay5wVDtoLmxpdmVfbGF0ZW5jeV9zZWNzPWAke2IudG9GaXhlZCgyKX1zYDt6PUk0KFcpPyJNYW5pZmVzdGxlc3MsICI6IiI7Vy5SSSYmKHorPSJXaW5kb3dlZCwgIik7bj0iVW5jZXJ0YWluIjtpZihiPj0wJiZiPDEyMClpZihXLmxhdGVuY3lDbGFzcyYmVy5sYXRlbmN5Q2xhc3MhPT0iVU5LTk9XTiIpc3dpdGNoKFcubGF0ZW5jeUNsYXNzKXtjYXNlICJOT1JNQUwiOm49Ik9wdGltaXplZCBmb3IgTm9ybWFsIExhdGVuY3kiO2JyZWFrO2Nhc2UgIkxPVyI6bj0iT3B0aW1pemVkIGZvciBMb3cgTGF0ZW5jeSI7YnJlYWs7Y2FzZSAiVUxUUkFMT1ciOm49Ik9wdGltaXplZCBmb3IgVWx0cmEgTG93IExhdGVuY3kiOwpicmVhaztkZWZhdWx0Om49IlVua25vd24gTGF0ZW5jeSBTZXR0aW5nIn1lbHNlIG49U3goVyk/Ik9wdGltaXplZCBmb3IgTG93IExhdGVuY3kiOiJPcHRpbWl6ZWQgZm9yIFNtb290aCBTdHJlYW1pbmciO3orPW47KGI9ay5GSSkmJih6Kz1gLCBzZXEgJHtiLnNlcXVlbmNlfWApO2gubGl2ZV9tb2RlPXp9di5leHBlcmltZW50cy5adCgpLk4uUVEoaldTKT9rLmlzR2FwbGVzcyYmIWsuZFQmJihoLnBsYXliYWNrX2NhdGVnb3JpZXM9ay5Ibz9oLnBsYXliYWNrX2NhdGVnb3JpZXMrIkdhcGxlc3MgIjpoLnBsYXliYWNrX2NhdGVnb3JpZXMrIlF1ZXVlZCAiKTohay5pc0dhcGxlc3N8fEFKKFcpJiZrLmRUfHwoaC5wbGF5YmFja19jYXRlZ29yaWVzKz0iR2FwbGVzcyAiKTtoLnBsYXliYWNrX2NhdGVnb3JpZXNfc3R5bGU9aC5wbGF5YmFja19jYXRlZ29yaWVzPyIiOiJkaXNwbGF5Om5vbmUiO2guYmFuZHdpZHRoX3NhbXBsZXM9ay5VJDtoLm5ldHdvcmtfYWN0aXZpdHlfc2FtcGxlcz1rLmRjOwpoLmxpdmVfbGF0ZW5jeV9zYW1wbGVzPWsuc0k7aC5idWZmZXJfaGVhbHRoX3NhbXBsZXM9ay5qeDt2PWcubU0oVyk7aWYoVy5jb3RufHx2KWguY290bl9hbmRfbG9jYWxfbWVkaWE9YCR7Vy5jb3RuP1cuY290bjoibnVsbCJ9IC8gJHt2fWA7aC5jb3RuX2FuZF9sb2NhbF9tZWRpYV9zdHlsZT1oLmNvdG5fYW5kX2xvY2FsX21lZGlhPyIiOiJkaXNwbGF5Om5vbmUiO0t6KFcsIndlYl9wbGF5ZXJfcmVsZWFzZV9kZWJ1ZyIpPyhoLnJlbGVhc2VfbmFtZT1JWzY1XSxoLnJlbGVhc2Vfc3R5bGU9IiIpOmgucmVsZWFzZV9zdHlsZT0iZGlzcGxheTpub25lIjtoLmRlYnVnX2luZm8mJnkubGVuZ3RoPjAmJmguZGVidWdfaW5mby5sZW5ndGgreS5sZW5ndGg8PTYwP2guZGVidWdfaW5mbys9IiAiK3k6aC5leHRyYV9kZWJ1Z19pbmZvPXk7aC5leHRyYV9kZWJ1Z19pbmZvX3N0eWxlPWguZXh0cmFfZGVidWdfaW5mbyYmaC5leHRyYV9kZWJ1Z19pbmZvLmxlbmd0aD4wPyIiOiJkaXNwbGF5Om5vbmUiOwpyZXR1cm4gaH07ClBfPWZ1bmN0aW9uKG4sVyxEKXtuLkorPVcuSjtuLnJhbmdlJiYobi5LKz1XLkspO24uaj1XLmo7bi5hWj1XLmFaO0QmJlcuYVomJihuLlc9Vy5XLG4uc2VnbWVudFN0YXJ0VGltZT1XLnNlZ21lbnRTdGFydFRpbWUsbi5YPW4uc2VnbWVudFN0YXJ0VGltZSxuLnJhbmdlfHwobi5LPW4uVykpfTsKWko9ZnVuY3Rpb24obixXKXt2YXIgRD1XLmokO24uWT0idXBkYXRlV2l0aFNlZ21lbnRJbmZvIjtuLmokPUQ7aWYobi5zZWdtZW50U3RhcnRUaW1lIT09Vy5zdGFydFRpbWV8fG4uVyE9PVcuZHVyYXRpb24pbi5zZWdtZW50U3RhcnRUaW1lPVcuc3RhcnRUaW1lLG4uVz1XLmR1cmF0aW9uLHZfKG4pfTsKVXY9ZnVuY3Rpb24obil7cmV0dXJuIWhKKG4uQXdbbi5Bdy5sZW5ndGgtMV0pfTsKeXM9ZnVuY3Rpb24obil7cmV0dXJuIG4uQXdbbi5Bdy5sZW5ndGgtMV0uY0ooKX07CmcuRXY9ZnVuY3Rpb24obixXLEQpe0Q9bi5wUz09PW51bGw/bi5YYi5wUyhXLEQsbi5Bd1swXS50eXBlKTpuLnBTO2lmKG4uTil7Vz1EP1hkKG4uTixXLm9NKTpuLk47dmFyIGI9bmV3IENzKFcpO2IuZ2V0KCJhbHIiKXx8Yi5zZXQoImFsciIsInllcyIpO24uSiYmWl8oYixuLkopfWVsc2UvaHR0cFtzXT86XC9cLy8udGVzdChuLkopP2I9bmV3IENzKG5ldyBnLndaKG4uSikpOihiPUJ3KG4uWGIsRCxXKSxuLkomJlpfKGIsbi5KKSk7KFc9bi5yYW5nZSk/Yi5zZXQoInJhbmdlIixXLnRvU3RyaW5nKCkpOm4uQXdbMF0uUEouRCgpJiZuLkF3Lmxlbmd0aD09PTEmJm4uQXdbMF0uTiYmYi5zZXQoInJhbmdlIixgJHtuLkF3WzBdLk59LWApO24ucmVxdWVzdElkJiZiLnNldCgicmVxX2lkIixuLnJlcXVlc3RJZCk7aXNOYU4obi5aQSl8fGIuc2V0KCJoZWFkbSIsbi5aQS50b1N0cmluZygpKTtpc05hTihuLmopfHxiLnNldCgibWZmYSIsYCR7bi5qfW1zYCk7bi51cmxQYXJhbXMmJmcuYV8obi51cmxQYXJhbXMsCih2LGspPT57Yi5zZXQoayx2KX0pOwpyZXR1cm4gYn07CmRrPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkcoKSx2PXtodG1sNVByZWZlcmVuY2U6IkhUTUw1X1BSRUZfV0FOVFMiLGxhY3RNaWxsaXNlY29uZHM6U3RyaW5nKGcudkkoKSkscmVmZXJlcjpkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpLHNpZ25hdHVyZVRpbWVzdGFtcDoyMDY1NX0saz1nLm85KCk7bi5pc0F1dG9uYXYmJih2LmF1dG9uYXY9ITApO2suUVEoMTQxKSYmKHYuYXV0b25hdlN0YXRlPWsuUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTt2LmF1dG9DYXB0aW9uc0RlZmF1bHRPbj1rLlFRKDY2KTtpVChuKSYmKHYuYXV0b3BsYXk9ITApO2IuSyYmbi5jeWNUb2tlbiYmKHYuY3ljVG9rZW49bi5jeWNUb2tlbik7Yi5lbmFibGVQcml2YWN5RmlsdGVyJiYodi5lbmFibGVQcml2YWN5RmlsdGVyPSEwKTtuLmlzRmxpbmcmJih2LmZsaW5nPSEwKTt2YXIgaD1uLmZvcmNlQWRzVXJsO2lmKGgpe2s9e307dmFyIHg9W107aD1oLnNwbGl0KCIsIik7Zm9yKHZhciBMIG9mIGgpe3ZhciBlPQpMLnNwbGl0KCJ8Iik7ZS5sZW5ndGghPT0zfHxMLmluY2x1ZGVzKCI9Iil8fChlWzBdPWBicmVha3R5cGU9JHtlWzBdfWAsZVsxXT1gb2Zmc2V0PSR7ZVsxXX1gLGVbMl09YHVybD0ke2VbMl19YCk7aD17YWR0eXBlOiJ2aWRlb19hZCJ9O2Zvcih2YXIgRyBvZiBlKXtsZXQgW3osLi4uQ109Ry5zcGxpdCgiPSIpO2hbel09Qy5qb2luKCI9Iil9ZT1oLnVybDtsZXQgSD1oLnByZXNldGFkLEE9aC52aXJhbHJlc3BvbnNldXJsLHk9TnVtYmVyKGguY2FtcGFpZ25pZCksVD1oLmJpYmxpb3RlY2FhZGlkO2lmKGguYWR0eXBlPT09ImluX2Rpc3BsYXlfYWQiKWUmJihrLnVybD1lKSxIJiYoay5wcmVzZXRBZD1IKSxBJiYoay52aXJhbEFkUmVzcG9uc2VVcmw9QSkseSYmKGsudmlyYWxDYW1wYWlnbklkPVN0cmluZyh5KSksVCYmKGsuYmlibGlvdGVjYUFkSWQ9VCk7ZWxzZSBpZihoLmFkdHlwZT09PSJ2aWRlb19hZCIpe2xldCB6PXtvZmZzZXQ6e2tpbmQ6Ik9GRlNFVF9NSUxMSVNFQ09ORFMiLHZhbHVlOlN0cmluZyhOdW1iZXIoaC5vZmZzZXQpfHwKMCl9fTtpZihoPUNJWltoLmJyZWFrdHlwZV0pei5icmVha1R5cGU9aDtlJiYoei51cmw9ZSk7SCYmKHoucHJlc2V0QWQ9SCk7QSYmKHoudmlyYWxBZFJlc3BvbnNlVXJsPUEpO3kmJih6LnZpcmFsQ2FtcGFpZ25JZD1TdHJpbmcoeSkpO1QmJih6LmJpYmxpb3RlY2FBZElkPVQpO3gucHVzaCh6KX19T2JqZWN0LmtleXMoaykubGVuZ3RoPjA/di5mb3JjZUFkUGFyYW1ldGVycz17dmlkZW9BZHM6eCxpbkRpc3BsYXlBZDprfTp2LmZvcmNlQWRQYXJhbWV0ZXJzPXt2aWRlb0Fkczp4fX1uLmlzSW5saW5lUGxheWJhY2tOb0FkJiYodi5pc0lubGluZVBsYXliYWNrTm9BZD0hMCk7bi5pc0xpdmluZ1Jvb21EZWVwbGluayYmKHYuaXNMaXZpbmdSb29tRGVlcGxpbms9ITApO0w9bi5zUztpZihMIT1udWxsKXtMPXtzdGFydFdhbGx0aW1lOlN0cmluZyhMKX07aWYoRz1uLnptKUwubWFuaWZlc3REdXJhdGlvbj1TdHJpbmcoR3x8MTQ0MDApO3YubGl2ZUNvbnRleHQ9TH1uLm11dGVkQXV0b3BsYXkmJgoodi5tdXRlZEF1dG9wbGF5PSEwLEw9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCksTD8uZW1iZWRzSG9zdEZsYWdzPy5hbGxvd011dGVkQXV0b3BsYXlEdXJhdGlvbk1vZGUmJkw/LmVtYmVkc0hvc3RGbGFncz8uYWxsb3dNdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlLmluY2x1ZGVzKHVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pJiYodi5tdXRlZEF1dG9wbGF5RHVyYXRpb25Nb2RlPXVUW24ubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZV0pKTtpZihuLmZCPzA6bi5QWCl2LnNwbGF5PSEwO0w9bi52bmQ7TD09PTUmJih2LnZuZD1MKTtMPXt9O2lmKEc9bi5pc01keFBsYXliYWNrKUwudHJpZ2dlcmVkQnlNZHg9RztpZihHPW4uRmYpTC5za2lwcGFibGVBZHNTdXBwb3J0ZWQ9Ry5zcGxpdCgiLCIpLmluY2x1ZGVzKCJza2EiKTtpZih4PW4uVUspe0c9bi5jTDtrPVtdO2Zvcih2YXIgciBvZiBpSih4KSl7eD1yLnBsYXRmb3JtO3g9e2FwcGxpY2F0aW9uU3RhdGU6ci5Fcz8KIklOQUNUSVZFIjoiQUNUSVZFIixjbGllbnRGb3JtRmFjdG9yOkJEalt4XXx8IlVOS05PV05fRk9STV9GQUNUT1IiLGNsaWVudE5hbWU6dUpbci5oal18fCJVTktOT1dOX0lOVEVSRkFDRSIsY2xpZW50VmVyc2lvbjpyLmRldmljZVZlcnNpb258fCIiLHBsYXRmb3JtOkZoaVt4XXx8IlVOS05PV05fUExBVEZPUk0ifTtoPXt9O2lmKEcpe3ZhciBOPXZvaWQgMDt0cnl7Tj1KU09OLnBhcnNlKEcpfWNhdGNoKEgpe2cuR3EoSCl9TiYmKGg9e3BhcmFtczpbe2tleToibXMiLHZhbHVlOk4ubXN9XX0sTi5hZHZlcnRpc2luZ19pZCYmKGguYWR2ZXJ0aXNpbmdJZD1OLmFkdmVydGlzaW5nX2lkKSxOLmxpbWl0X2FkX3RyYWNraW5nIT09dm9pZCAwJiZOLmxpbWl0X2FkX3RyYWNraW5nIT09bnVsbCYmKGgubGltaXRBZFRyYWNraW5nPU4ubGltaXRfYWRfdHJhY2tpbmcpLHgub3NOYW1lPU4ub3NfbmFtZSx4LnVzZXJBZ2VudD1OLnVzZXJfYWdlbnQseC53aW5kb3dIZWlnaHRQb2ludHM9Ti53aW5kb3dfaGVpZ2h0X3BvaW50cywKeC53aW5kb3dXaWR0aFBvaW50cz1OLndpbmRvd193aWR0aF9wb2ludHMpfWsucHVzaCh7YWRTaWduYWxzSW5mbzpoLHJlbW90ZUNsaWVudDp4fSl9TC5yZW1vdGVDb250ZXh0cz1rfXI9bi5zb3VyY2VDb250YWluZXJQbGF5bGlzdElkO049bi5zZXJpYWxpemVkTWR4TWV0YWRhdGE7aWYocnx8TilHPXt9LHImJihHLm1keFBsYXliYWNrQ29udGFpbmVySW5mbz17c291cmNlQ29udGFpbmVyUGxheWxpc3RJZDpyfSksTiYmKEcuc2VyaWFsaXplZE1keE1ldGFkYXRhPU4pLEwubWR4UGxheWJhY2tTb3VyY2VDb250ZXh0PUc7di5tZHhDb250ZXh0PUw7cj1XLndpZHRoO3I+MCYmKHYucGxheWVyV2lkdGhQaXhlbHM9TWF0aC5yb3VuZChyKSk7aWYoVz1XLmhlaWdodCl2LnBsYXllckhlaWdodFBpeGVscz1NYXRoLnJvdW5kKFcpO0QhPT0wJiYodi52aXM9RCk7aWYoRD1iLndpZGdldFJlZmVycmVyKXYud2lkZ2V0UmVmZXJyZXI9RC5zdWJzdHJpbmcoMCwxMjgpO2cubzQoYikmJnYmJih2LmFuY2VzdG9yT3JpZ2lucz0KYi5hbmNlc3Rvck9yaWdpbnMpO24uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQmJih2LmNvbXBvc2l0ZVZpZGVvQ29udGV4dD17ZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ6bi5kZWZhdWx0QWN0aXZlU291cmNlVmlkZW9JZH0pO2lmKG49Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCkpdi5lbmNyeXB0ZWRIb3N0RmxhZ3M9bi5lbmNyeXB0ZWRIb3N0RmxhZ3M7cmV0dXJuIHZ9Owp6UD1mdW5jdGlvbihuKXtpZihuLnJhbmdlKXJldHVybiBuLlc7bj1uLkF3WzBdO3JldHVybiBNYXRoLnJvdW5kKG4uSypuLlBKLmluZm8uTnMpfTsKd0xVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE1hdGgubWF4KDAsbi5Bd1swXS5YLVcpfTsKbFQ9ZnVuY3Rpb24obixXLEQpe2Zvcig7bjtuPW4ucGFyZW50Tm9kZSl7aWYoIW4uYXR0cmlidXRlc3x8RCYmbi5ub2RlTmFtZSE9PUQpY29udGludWU7bGV0IGI9bi5nZXRBdHRyaWJ1dGUoVyk7aWYoYilyZXR1cm4gYn1yZXR1cm4iIn07ClRQPWZ1bmN0aW9uKG4sVyl7Zm9yKDtuO249bi5wYXJlbnROb2RlKXtsZXQgRD1uLmdldEVsZW1lbnRzQnlUYWdOYW1lKFcpO2lmKEQubGVuZ3RoPjApcmV0dXJuIERbMF19cmV0dXJuIG51bGx9OwpqeD1mdW5jdGlvbihuKXtpZighbilyZXR1cm4gMDt2YXIgVz1uLm1hdGNoKC9QVCgoWzAtOV0qKUgpPygoWzAtOV0qKU0pPygoWzAtOS5dKilTKT8vKTtyZXR1cm4gVz8oTnVtYmVyKFdbMl0pfDApKjM2MDArKE51bWJlcihXWzRdKXwwKSo2MCsoTnVtYmVyKFdbNl0pfDApOk51bWJlcihuKXwwfTsKQ3o9ZnVuY3Rpb24obil7cmV0dXJuIG4ubWF0Y2goL14oXGR7NH0pLShcZHsyfSktKFxkezJ9KVQoXGR7Mn0pOihcZHsyfSk6KFxkezJ9KVwuKFxkezN9KSQvKT9gJHtufVpgOm59OwpNZ009ZnVuY3Rpb24obil7dmFyIFc9bi5XO24uVz1bXTtyZXR1cm4gV307ClJBUz1mdW5jdGlvbihuKXtuLk58fChuLk49bmV3IEJfKTtyZXR1cm4gbi5OfTsKUVdNPWZ1bmN0aW9uKG4sVyl7bi5KW1ddfHwobi5KW1ddPW5ldyBCXyk7cmV0dXJuIG4uSltXXX07ClZnaT1mdW5jdGlvbihuLFcpe24uV1tXXXx8KG4uV1tXXT1uZXcgQl8pO3JldHVybiBuLldbV119OwpjSGo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtXPUFycmF5LmZyb20oVy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikpO2ZvcihsZXQgYiBvZiBXKXtXPWIucGFyZW50Tm9kZS5wYXJlbnROb2RlO2xldCB2PW51bGw7Vy5ub2RlTmFtZT09PSJQZXJpb2QiP3Y9UkFTKG4pOlcubm9kZU5hbWU9PT0iQWRhcHRhdGlvblNldCI/KFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fFcuZ2V0QXR0cmlidXRlKCJtaW1ldHlwZSIpfHwiIix2PVFXTShuLFcpKTpXLm5vZGVOYW1lPT09IlJlcHJlc2VudGF0aW9uIiYmKFc9Vy5nZXRBdHRyaWJ1dGUoImlkIil8fCIiLHY9VmdpKG4sVykpO2lmKHY9PW51bGwpcmV0dXJuO3YudXBkYXRlKGIpO2cuUTIoRCxNZ00odikpfWcuUTIobi5YLEQpO3RVaChuLlgsYj0+Yi5zdGFydFNlY3MqMUUzK2IuTil9OwphRFU9ZnVuY3Rpb24obil7bi5OJiYobi5OLk49W10pO2cuYV8obi5KLFc9PntXLk49W119KTsKZy5hXyhuLlcsVz0+e1cuTj1bXX0pfTsKRng9ZnVuY3Rpb24obixXKXtyZXR1cm4gRGUobi5zZWdtZW50cyxEPT5XLUQuaiQpfTsKTUk9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uaW5kZXguVihXKSx2PW4uaW5kZXguZ2V0U3RhcnRUaW1lKFcpLGs9bi5pbmRleC5nZXREdXJhdGlvbihXKTtEP2s9RD0wOkQ9bi5pbmZvLk5zKms7cmV0dXJuIG5ldyB3ayhbbmV3IHFJKDMsbix2b2lkIDAsIm90ZkNyZWF0ZVJlcXVlc3RJbmZvRm9yU2VnbWVudCIsVyx2LGssMCxEKV0sYil9OwpuR1M9ZnVuY3Rpb24obixXKXtpZighbi5pbmRleC5pc0xvYWRlZCgpKXt2YXIgRD1bXSxiPVcuajtXPVcuSy5zcGxpdCgiLCIpLmZpbHRlcihlPT5lLmxlbmd0aD4wKTsKdmFyIHY9MCxrPTAsaD0wLHg9L14oXGQrKS8sTD0vcj0oXGQrKS87Zm9yKGxldCBlPTA7ZTxiO2UrKyl7aWYoaDw9MClpZihoPVcuc2hpZnQoKSxrPShrPXguZXhlYyhoKSk/K2tbMV0vMUUzOjApaD0oaD1MLmV4ZWMoaCkpPytoWzFdOjAsaCs9MTtlbHNlIHJldHVybjtELnB1c2gobmV3IFI0KGUsdixrLE5hTiwic3EvIisoZSsxKSkpO3YrPWs7aC0tfW4uaW5kZXguYXBwZW5kKEQpfX07CmcuY189ZnVuY3Rpb24obixXLC4uLkQpe2cuUXMoNSxuIGluc3RhbmNlb2YgZy5Wcz9uLnRhZzpuLFcsLi4uRCl9OwpnLlFzPWZ1bmN0aW9uKG4sVyxELC4uLmIpe3ZhciB2PW49PT02PyJFUlJPUiI6IldBUk5JTkciO0Q9YGIke0R9YDtnLlhqKG5ldyBnLlF4KEQsLi4uYiksdik7Yi51bnNoaWZ0KEQpO2I9Yi5qb2luKCIsICIpO3Y9YTQuZ2V0KFcpO2lmKCF2KXt2PWB5dHBsb2cuJHtXfWA7RD01O3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5sb2NhbFN0b3JhZ2Vbdl0pJiYoRD0rd2luZG93LmxvY2FsU3RvcmFnZVt2XSksd2luZG93LnNlc3Npb25TdG9yYWdlJiYhaXNOYU4oK3dpbmRvdy5zZXNzaW9uU3RvcmFnZVt2XSkmJihEPSt3aW5kb3cuc2Vzc2lvblN0b3JhZ2Vbdl0pfWNhdGNoe31hNC5zZXQoVyxEKTt2PUR9bjx2fHwobj1XS3csdj1uLk4uZ2V0KFcpLHZ8fCh2PW5ldyBEODIsbi5OLnNldChXLHYpKSxuPXYsdj1EYXRlLm5vdygpLEQ9TWF0aC5mbG9vcigodi1uLkopKi4wMSksRD4wJiYobi5OPU1hdGgubWluKG4uTitELDEwKSxuLko9diksbi5OPjA/KG4uTi0tLG49CiEwKTpuPSExLG4/KHR5cGVvZiBiPT09ImZ1bmN0aW9uIiYmKGI9YigpKSxjb25zb2xlLmxvZyhgcGx5ci4ke1d9YCxiKSk6KGI9KG5NLmdldChXKT8/MCkrMSxuTS5zZXQoVyxiKSxiJTEwMD09PTEmJmNvbnNvbGUud2FybigicGx5ciIsYHBseXIuJHtXfSBpcyBjaGF0dHksIGRyb3BwaW5nIGxvZ3MuYCkpKX07CkRPPWZ1bmN0aW9uKG4pe2lmKCFuLkspe2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPWt4KFcsMCwxODM2MDE5NTc0KTtpZihEKXtEPUQub2Zmc2V0K0Quc2l6ZTt2YXIgYj1uZXcgVWludDhBcnJheShEKTtiLnNldChuZXcgVWludDhBcnJheShXLmJ1ZmZlcixXLmJ5dGVPZmZzZXQsRCkpO1c9Yn1lbHNlIFc9bnVsbH1lbHNlIFc9eUhyKG5ldyB0WShnLldSKG4pKSk7VyYmKG4uaW5mby5QSi5KPVcsbi5LPSEwKX19OwpnLldSPWZ1bmN0aW9uKG4pe3JldHVybiBHNihuLkopfTsKdlI9ZnVuY3Rpb24obixXKXtXPU1hdGgubWluKFcsbi5pbmZvLkopO3ZhciB7Q3M6RCxZOTpifT1uLkouc3BsaXQoVyksdj1uZXcgYjgobmV3IHFJKG4uaW5mby50eXBlLG4uaW5mby5QSixuLmluZm8ucmFuZ2Usbi5pbmZvLlksbi5pbmZvLmokLG4uaW5mby5zZWdtZW50U3RhcnRUaW1lLG4uaW5mby5XLG4uaW5mby5OLFcsITEsbi5pbmZvLnZELG4uaW5mby5jbGlwSWQsbi5pbmZvLkQpLEQpO3YuWD1uLlg7di5XPW4uVztXPW5ldyBiOChuZXcgcUkobi5pbmZvLnR5cGUsbi5pbmZvLlBKLG4uaW5mby5yYW5nZSxuLmluZm8uWSxuLmluZm8uaiQsbi5pbmZvLnNlZ21lbnRTdGFydFRpbWUsbi5pbmZvLlcsbi5pbmZvLk4rVyxuLmluZm8uSi1XLG4uaW5mby5hWixuLmluZm8udkQsbi5pbmZvLmNsaXBJZCxuLmluZm8uRCksYik7Vy5YPW4uWDtXLlc9bi5XO3JldHVyblt2LFddfTsKZy5rWD1mdW5jdGlvbihuKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtpZihuLlchPT0tMSlyZXR1cm4gbi5XO2lmKG4uTiYmakoobi5OKSlyZXR1cm4gbi5XPWpKKG4uTiksbi5XO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXt2YXIgVz1nLldSKG4pO3ZhciBEPW4uaW5mby5QSi5KLGI9TmFOO2xldCB2PU5hTixrPTA7Zm9yKDtWTChXLGspOyl7bGV0IGg9Y0EoVyxrKTtoLnR5cGU9PT0xOTM2Mjg2ODQwP3Y9aC5kYXRhLmdldFVpbnQzMihoLmRhdGFPZmZzZXQrOCk6aC50eXBlPT09MTgzNjQ3NjUxNj92PWcuYkwoaCk6aC50eXBlPT09MTk1Mjg2NzQ0NCYmaXNOYU4oYikmJihiPWcueHgoaCkpO2s9YXIoaC50eXBlKT9rKzg6aytoLnNpemV9IXYmJkQmJih2PXZ3KEQpKTtXPWIvdn1lbHNlIFc9bmV3IHRZKGcuV1IobikpLEQ9bi5WP1c6bmV3IHRZKG5ldyBEYXRhVmlldyhuLmluZm8uUEouSi5idWZmZXIpKSxiPUtzKEQpLEQ9Vy5wb3MsVy5wb3M9MCxQdyhXKT8Kc1koVywyMzEpPyhiPWZzKFcpKmIvMUU5LFcucG9zPUQsVz1iKTooVy5wb3M9RCxXPU5hTik6KFcucG9zPUQsVz1OYU4pO24uVz1XfHxuLmluZm8uWDtyZXR1cm4gbi5XfTsKaE09ZnVuY3Rpb24obixXKXtnLlJCKG4uaW5mby5QSi5pbmZvKXx8bi5pbmZvLlBKLmluZm8ucUgoKTtuLlc9VztpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIEQ9Zy5XUihuKTtuPW4uaW5mby5QSi5KO3ZhciBiPU5hTix2PU5hTjtsZXQgTD0wO2Zvcig7VkwoRCxMKTspe2xldCBlPWNBKEQsTCk7aXNOYU4oYikmJihlLnR5cGU9PT0xOTM2Mjg2ODQwP2I9ZS5kYXRhLmdldFVpbnQzMihlLmRhdGFPZmZzZXQrOCk6ZS50eXBlPT09MTgzNjQ3NjUxNiYmKGI9Zy5iTChlKSkpO2lmKGUudHlwZT09PTE5NTI4Njc0NDQpeyFiJiZuJiYoYj12dyhuKSk7dmFyIGs9Zy54eChlKTtpc05hTih2KSYmKHY9TWF0aC5yb3VuZChXKmIpLWspO3ZhciBoPWU7ays9djtpZihoLmRhdGEuZ2V0VWludDgoaC5kYXRhT2Zmc2V0KSl7dmFyIHg9aC5kYXRhO2g9aC5kYXRhT2Zmc2V0KzQ7eC5zZXRVaW50MzIoaCxNYXRoLmZsb29yKGsvNDI5NDk2NzI5NikpO3guc2V0VWludDMyKGgrNCxrJjQyOTQ5NjcyOTUpfWVsc2UgaC5kYXRhLnNldFVpbnQzMihoLmRhdGFPZmZzZXQrCjQsayl9TD1hcihlLnR5cGUpP0wrODpMK2Uuc2l6ZX1yZXR1cm4hMH1EPW5ldyB0WShnLldSKG4pKTtuPW4uVj9EOm5ldyB0WShuZXcgRGF0YVZpZXcobi5pbmZvLlBKLkouYnVmZmVyKSk7Yj1LcyhuKTtuPUQucG9zO0QucG9zPTA7aWYoUHcoRCkmJnNZKEQsMjMxKSlpZih2PU5rKEQsITApLFc9TWF0aC5mbG9vcihXKjFFOS9iKSxNYXRoLmNlaWwoTWF0aC5sb2coVykvTWF0aC5sb2coMikvOCk+dilXPSExO2Vsc2V7Zm9yKGI9di0xO2I+PTA7Yi0tKUQuTi5zZXRVaW50OChELnBvcytiLFcmMjU1KSxXPj4+PTg7RC5wb3M9bjtXPSEwfWVsc2UgVz0hMTtyZXR1cm4gV307CnhYPWZ1bmN0aW9uKG4sVyl7bi50aW1lc3RhbXBPZmZzZXQ+MCYmKFctPW4udGltZXN0YW1wT2Zmc2V0KTt2YXIgRD1nLmtYKG4pK1c7aE0obixEKTtuLnRpbWVzdGFtcE9mZnNldD1XfTsKTE09ZnVuY3Rpb24obil7Zy5SQihuLmluZm8uUEouaW5mbyl8fG4uaW5mby5QSi5pbmZvLnFIKCk7aWYobi5OJiZuLmluZm8udHlwZT09PTYpcmV0dXJuIG4uTi5yYjtpZihnLlJCKG4uaW5mby5QSi5pbmZvKSl7dmFyIFc9Zy5XUihuKTt2YXIgRD0wO1c9Zy5lUChXLDE5MzYyODY4NDApO2Zvcih2YXIgYiBvZiBXKVc9THMoYiksRCs9Vy5xZ1swXS9XLnRpbWVzY2FsZTtEPUR8fE5hTjtpZighKEQ+PTApKWE6e0Q9Zy5XUihuKTtiPW4uaW5mby5QSi5KO2xldCByPVc9MDtmb3IodmFyIHY9MDtWTChELFcpOyl7bGV0IE49Y0EoRCxXKTtpZihOLnR5cGU9PT0xODM2NDc2NTE2KXI9Zy5iTChOKTtlbHNlIGlmKE4udHlwZT09PTE4MzYwMTk1NTgpeyFyJiZiJiYocj12dyhiKSk7aWYoIXIpe0Q9TmFOO2JyZWFrIGF9dmFyIGs9a3goTi5kYXRhLE4uZGF0YU9mZnNldCwxOTUzNjUzMDk0KSxoPWs7az1yO3ZhciB4PWt4KGguZGF0YSxoLmRhdGFPZmZzZXQsMTk1Mjg2ODQ1Mik7aD1reChoLmRhdGEsCmguZGF0YU9mZnNldCwxOTUzNjU4MjIyKTt2YXIgTD15TCh4KTt5TCh4KTtMJjImJnlMKHgpO3g9TCY4P3lMKHgpOjA7dmFyIGU9eUwoaCksRz1lJjE7TD1lJjQ7bGV0IEg9ZSYyNTYsQT1lJjUxMix5PWUmMTAyNDtlJj0yMDQ4O2xldCBUPUVEKGgpO0cmJnlMKGgpO0wmJnlMKGgpO0c9MDtmb3IobGV0IHo9MDt6PFQ7eisrKXtsZXQgQz1IP3lMKGgpOng7QSYmeUwoaCk7TCYmej09PTB8fCF5fHx5TChoKTtlJiZ5TChoKTtHKz1DfXYrPUcva31XPWFyKE4udHlwZSk/Vys4OlcrTi5zaXplfUQ9dnx8TmFOfUR8fGcuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcGFyc2luZyBibWZmIixuLmluZm8uZ2EoKSkpfWVsc2UgRD1uZXcgdFkoZy5XUihuKSksbj1uLlY/RDpuZXcgdFkobmV3IERhdGFWaWV3KG4uaW5mby5QSi5KLmJ1ZmZlcikpLEQ9RUVaKEQsS3MobikpO3JldHVybiBEfTsKZUc9ZnVuY3Rpb24obixXPSExKXt2YXIgRD1MTShuKTtuPVc/MDpuLmluZm8uSztyZXR1cm4gRHx8bn07CmcuZ3k9ZnVuY3Rpb24obil7aWYobi5pbmZvLlBKLlcoKSlyZXR1cm4gbi5pbmZvLlc7bi5YPT09LTEmJihuLlg9TE0obikpO3JldHVybiBuLlh8fG4uaW5mby5XfTsKWFo9ZnVuY3Rpb24obil7dmFyIFc9Zy5XUihuKSxEPWcubnMoVywwLDE5MzYyODY4NDApO0Q9RD9ELmRhdGEuZ2V0VWludDMyKEQuZGF0YU9mZnNldCs4KTpOYU47aXNOYU4oRCkmJihuPW4uaW5mby5QSi5KLEQ9KFc9Zy5ucyhXLDAsMTgzNjQ3NjUxNikpP2cuYkwoVyk6bj92dyhuKTpOYU4pO3JldHVybiBEfTsKcSQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uaW5mby5QSi5pbmZvLnFIKCkmJnJkKG4uSiwwKT09PTE2MH07CkdpPWZ1bmN0aW9uKG4pe2lmKCFuLk4pe2cuUkIobi5pbmZvLlBKLmluZm8pfHxuLmluZm8uUEouaW5mby5xSCgpO2lmKGcuUkIobi5pbmZvLlBKLmluZm8pKXZhciBXPWcucWsoZy5XUihuKSk7ZWxzZXtXPW5ldyB0WShnLldSKG4pKTtsZXQgYj1XLnBvcztXLnBvcz0wO2xldCB2PW51bGwsaz1udWxsO2lmKCR4KFcsWzQwODEyNTU0MywzMDc1NDQ5MzVdKSl7bGV0IGg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxoOyl7aWYoTmsoVywhMSkhPT0yOTU1NSl7SlkoVyk7Y29udGludWV9bGV0IHg9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczx4Oyl7aWYoTmsoVywhMSkhPT0yNjU2OCl7SlkoVyk7Y29udGludWV9bGV0IEw9Vy5wb3MrTmsoVywhMCk7Zm9yKDtXLnBvczxMOyl7dmFyIEQ9TmsoVywhMSk7aWYoRD09PTE3NTQzKXtpZihEPW10KFcpLEQ9UUwoRCkpaWYoaylmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoRCkpa1tlXT1EW2VdO2Vsc2Ugaz1EfWVsc2UgRD09PTE3ODI3PyhEPQptdChXKSx2fHwodj1EKSk6SlkoVyl9fX19Vy5wb3M9YjtXPWs/bmV3IFg1KGssdik6bnVsbH1uLk49V319Owp0TT1mdW5jdGlvbihuLFcpe3JldHVybiBXKzE8bi5jb3VudHx8bi5XP24ub2Zmc2V0c1tXKzFdLW4ub2Zmc2V0c1tXXTotMX07CiRYPWZ1bmN0aW9uKG4pe24ub2Zmc2V0cy5sZW5ndGg8bi5jb3VudCsxJiZuLnJlc2l6ZShuLm9mZnNldHMubGVuZ3RoKjIpfTsKcnk9ZnVuY3Rpb24obixXLEQpe24uY291bnQrKzskWChuKTtuLm9mZnNldHNbbi5jb3VudF09bi5vZmZzZXRzW24uY291bnQtMV0rVztuLnN0YXJ0VGlja3Nbbi5jb3VudF09bi5zdGFydFRpY2tzW24uY291bnQtMV0rRH07CnNOPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PVtdO2ZvcihsZXQgaz1XO2s8PW4uaW5kZXgueCQoKTtrKyspe2xldCBoPVdfKG4uaW5kZXguTihrKSx0TShuLmluZGV4LGspKSx4PW4uaW5kZXguZ2V0U3RhcnRUaW1lKGspLEw9bi5pbmRleC5nZXREdXJhdGlvbihrKSxlPU1hdGgubWF4KDAsRC1oLnN0YXJ0KSxHPU1hdGgubWluKGguZW5kKzEsRCtiKS0oaC5zdGFydCtlKTt2LnB1c2gobmV3IHFJKDMsbixoLCJnZXRSZXF1ZXN0SW5mb0ZvclJhbmdlIixrLHgsTCxlLEcpKTtpZihoLnN0YXJ0K2UrRz49RCtiKWJyZWFrfXYubGVuZ3RofHwobj1uZXcgZy5ReCgiYjE4OTYxOTU5MyIsYCR7V31gLGAke0R9YCxgJHtifWApLGcuWGoobikpO3JldHVybiBuZXcgd2sodil9OwpOJD1mdW5jdGlvbihuKXtpZihuPW4uY29sb3JJbmZvKWlmKG49bi50cmFuc2ZlckNoYXJhY3RlcmlzdGljcylyZXR1cm4gYnFVW25dO3JldHVybiBudWxsfTsKWVg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1heChuLFcpO249TWF0aC5taW4obixXKTtXPXBNWzBdO2ZvcihsZXQgYj0wO2I8cE0ubGVuZ3RoO2IrKyl7bGV0IHY9cE1bYl0saz1OR1t2XTtpZihEPj1NYXRoLmZsb29yKGsqMTYvOSkqMS4zfHxuPj1rKjEuMylyZXR1cm4gVztXPXZ9cmV0dXJuInRpbnkifTsKZk09ZnVuY3Rpb24obil7cmV0dXJuIG5ldyBIUihuWzFdLG5bMl0sblszXSxuWzRdLG5bNV0sbls2XSxuWzddLG5bOF0sbls5XSxuWzEwXSl9OwpKTT1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmRleE9mKCIvbXA0Iik+PTA/MTpuLmluZGV4T2YoIi93ZWJtIik+PTA/MjpuLmluZGV4T2YoIi94LWZsdiIpPj0wPzM6bi5pbmRleE9mKCIvdnR0Iik+PTA/NDowfTsKSWQ9ZnVuY3Rpb24obil7cmV0dXJuLyhvcHVzfG1wNGF8ZHRzZXxhYy0zfGVjLTN8aWFtZikvLnRlc3Qobil9OwpTRz1mdW5jdGlvbihuKXtyZXR1cm4vKHZwOXx2cDA5fHZwOHxhdmMxfGF2MDF8YXYwMikvLnRlc3Qobil9OwpRUD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD1uZXcgQU07VyBpbiBOR3x8KFc9InNtYWxsIik7Vz09PSJsaWdodCImJihXPSJ0aW55Iik7YiYmdj8odj1OdW1iZXIodiksYj1OdW1iZXIoYikpOih2PU5HW1ddLGI9TWF0aC5yb3VuZCh2KjE2LzkpKTtrPW5ldyBIUihiLHYsMCxudWxsLHZvaWQgMCxXLGssaCk7bj11bmVzY2FwZShuLnJlcGxhY2UoLyZxdW90Oy9nLCciJykpO3JldHVybiBuZXcgbXUoRCxuLHthdWRpbzp4LHZpZGVvOmt9KX07Ck9OPWZ1bmN0aW9uKG4pe3ZhciBXPW5bN10sRD1uWzExXSxiPW5bOV0sdj1uWzhdO3JldHVybiBuZXcgbXUoblsxXSxuWzJdLHtYbjpuWzNdLE5zOm5bNF0sbGFzdE1vZGlmaWVkOm5bNV0sY29udGVudExlbmd0aDpuWzZdLGF1ZGlvOlc/bmV3IEFNKFdbMV0sV1syXSxXWzNdLFdbNF0sV1s1XSxXWzZdLFdbN10sV1s4XSk6dm9pZCAwLHZpZGVvOnY/Zk0odik6dm9pZCAwLGtaOmI/TUcoYik6dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOm5bMTBdLGNhcHRpb25UcmFjazpEP25ldyBLTShEWzFdLERbMl0sRFszXSxEWzRdLERbNV0sRFs2XSk6dm9pZCAwLHN0cmVhbVR5cGU6blsxMl0sQWE6blsxM10sYXBwcm94RHVyYXRpb25NczpuWzE0XX0pfTsKbUY9ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iTUFDMyJ8fG4uSUI9PT0iTUVBQzMifHxuLklCPT09Ik0ifHxuLklCPT09IkkifTsKS2c9ZnVuY3Rpb24obil7cmV0dXJuISFuLmNvbnRlbnRQcm90ZWN0aW9uJiYhIW4uY29udGVudFByb3RlY3Rpb24uZmFpcnBsYXkmJihuLklCPT09IigifHxuLklCPT09IihoInx8bi5JQj09PSJBInx8bi5JQj09PSJNRUFDMyIpfHxQUiYmISFuLmNvbnRlbnRQcm90ZWN0aW9uJiZuLklCPT09IjFlIn07CmcuUkI9ZnVuY3Rpb24obil7cmV0dXJuIG4uY29udGFpbmVyVHlwZT09PTF9OwpNMz1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlLEcscil7dmFyIE49V15uO3ZhciBIOyhuJjc2KT09biYmKEg9YihoLHgsTCxlLEcscikpOyhuPj4xJjE1KT09MSYmKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dLGJbSVszXV0oRCwxKSk7bis5Pj4zPT0zJiYoSD1kZWNvZGVVUklDb21wb25lbnQoRCkpO24tOTwyMyYmKG4+PjEmMTUpPj0xMyYmKERbTl41MjY0XTwoTl41MzQzKSYmKERbTl41MjcwXTw9LTEmJigoKDAsRFtOXjUzMjhdKShEW25ldyBEYXRlKElbTl41MzQ2XSkvKE5eNTk1MSldLERbTl41MjY4XSksRFtOXjUzNDVdKShEW05eNTM2MV0sRFtOXjUyNjhdKSwxKXx8KDAsRFtOXjUzNTFdKSgoMCxEW05eNTM0NF0pKERbTl41MzY2XSxEW05eNTMxOV0pLERbMV0sRFtOXjUzMjBdLERbTl41MzQ4XSkpLERbTl41MjY4XT49LTImJigoMCxEW05eNTM1MV0pKCgwLERbM10pKERbTl41MzcyXSwoMCxEW25ldyBEYXRlKElbNF0pLyhOXjU5NTEpXSkoKSxEW05eNTMxNV0pLApEW05eNTM1Nl0sRFtOXjUyNzFdLERbTl41MzY1XSksRFtOXjUzMjZdKShEW05eNTMyMV0sRFtOXjUzNTZdKSxEWzVdPD0tMiYmKERbTl41Mjc2XTwoTl41MzQxKXx8KCgoKDAsRFtOXjUzMjZdKShEW05eNTMxOV0sRFtOXjUzNzNdKSxEW05eNTI2OV0pKCgwLERbTl41MjY4XSkoRFtOXjUzNTNdLERbTl41MzQ3XSksRFtOXjUzMzZdLCgwLERbNF0pKCgwLERbTl41MzYyXSkoRFtOXjUzNDldLCgwLERbTl41Mjc2XSkoKSxEW05eNTM3NV0pLERbTl41MjY2XSxEW05eNTM1NV0sRFtOXjUzMjhdKSxEW05eNTM2MV0sRFswXSksRFtOXjUzMThdKShEW05eNTM3M10sRFtOXjUzNDBdKSxJW05eNTMxNF0pKSYmKCgwLERbTl41MzI2XSkoKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbbmV3IERhdGUoSVtOXjUzNTNdKS8oTl41OTUxKV0pKCksRFtOXjUzNzBdKSxEW05eNTMyN10pKERbTl41MzQyXSksRFtOXjUzMTNdLCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzI4XSkoKSwKRFtOXjUyNzBdKSxEW05eNTI3NF0sRFtOXjUzNDJdKSxEW05eNTMzNl0pKCgwLERbTl41MzUxXSkoRFtOXjUzNDJdLCgwLERbTl41MzYyXSkoKSxEW05eNTM0OF0pLERbTl41MzI1XSxEW05eNTI2Nl0sRFtOXjUzNTldKSxIPVtdKTtyZXR1cm4gSH07CmcuVmY9ZnVuY3Rpb24obixXKXtyZXR1cm57aXRhZzorbi5pdGFnLGxtdDpXPzA6bi5sYXN0TW9kaWZpZWQseHRhZ3M6bi5KfHwiIn19OwpaTz1mdW5jdGlvbihuKXtyZXR1cm4gbi5JQj09PSI5aCJ8fG4uSUI9PT0iKGgifTsKVU49ZnVuY3Rpb24obil7cmV0dXJuIG4uSUI9PT0iKCJ8fG4uSUI9PT0iKGgifHxuLklCPT09IkgifHxQUiYmbi5JQj09PSIxZSJ9Owp2R1U9ZnVuY3Rpb24obixXPTEpe3ZhciBEPXt9O24udmlkZW8mJihuLnZpZGVvLndpZHRoJiYoRFtBVC5XSURUSC5uYW1lXT1uLnZpZGVvLndpZHRoKSxuLnZpZGVvLmhlaWdodCYmKERbQVQuSEVJR0hULm5hbWVdPW4udmlkZW8uaGVpZ2h0KSxuLnZpZGVvLmZwcyYmKERbQVQuRlJBTUVSQVRFLm5hbWVdPW4udmlkZW8uZnBzKlcpLG4udmlkZW8uTiYmKERbQVQuRU9URi5uYW1lXT1uLnZpZGVvLk4pLG4uTnMmJihEW0FULkJJVFJBVEUubmFtZV09bi5Ocyo4KlcpLG4uSUI9PT0iKCImJihEW0FULkNSWVBUT0JMT0NLRk9STUFULm5hbWVdPSJzdWJzYW1wbGUiKSxuLnZpZGVvLnByb2plY3Rpb25UeXBlPT09IkVRVUlSRUNUQU5HVUxBUiJ8fG4udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSX1RIUkVFRF9UT1BfQk9UVE9NInx8bi52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJNRVNIIikmJihEW0FULkRFQ09ERVRPVEVYVFVSRS5uYW1lXT0idHJ1ZSIpO24uYXVkaW8/Lm51bUNoYW5uZWxzJiYKbi5JQiE9PSJpIiYmbi5JQiE9PSJJIiYmKERbQVQuQ0hBTk5FTFMubmFtZV09bi5hdWRpby5udW1DaGFubmVscyk7cmV0dXJuIER9Owp5VD1mdW5jdGlvbihuLFcpe249biBpbnN0YW5jZW9mIEVycm9yP24ubWVzc2FnZTpTdHJpbmcobik7dmFyIEQ9IiI7dHJ5e0Q9SlNPTi5zdHJpbmdpZnkoVyl9Y2F0Y2goYil7RD0iZmFpbGVkIHRvIHN0cmluZ2lmeSBjb25maWcifWcuY18oImRhc2giLDUxOTE5NjY0OSxuLEQpfTsKazNyPWZ1bmN0aW9uKG4pe3ZhciBXPW5hdmlnYXRvci5tZWRpYUNhcGFiaWxpdGllcztpZighVz8uZGVjb2RpbmdJbmZvfHxuLklCPT09ImYiKXJldHVybiBQcm9taXNlLnJlc29sdmUoKTt2YXIgRD17dHlwZTpuLmF1ZGlvJiZuLnZpZGVvPyJmaWxlIjoibWVkaWEtc291cmNlIn07bi52aWRlbyYmKEQudmlkZW89e2NvbnRlbnRUeXBlOm4ubWltZVR5cGUsd2lkdGg6bi52aWRlby53aWR0aHx8NjQwLGhlaWdodDpuLnZpZGVvLmhlaWdodHx8MzYwLGJpdHJhdGU6bi5Ocyo4fHwxRTYsZnJhbWVyYXRlOm4udmlkZW8uZnBzfHwzMH0pO24uYXVkaW8mJihELmF1ZGlvPXtjb250ZW50VHlwZTpuLm1pbWVUeXBlLGNoYW5uZWxzOmAke24uYXVkaW8ubnVtQ2hhbm5lbHN8fDJ9YCxiaXRyYXRlOm4uTnMqOHx8MTI4RTMsc2FtcGxlcmF0ZTpuLmF1ZGlvLnNhbXBsZVJhdGV8fDQ0MTAwfSk7aWYoRU4pdHJ5e3JldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pLmNhdGNoKGI9Pgp7eVQoYixEKX0pfWNhdGNoKGIpe3JldHVybiB5VChiLEQpLFByb21pc2UucmVzb2x2ZSgpfXJldHVybiBXLmRlY29kaW5nSW5mbyhEKS50aGVuKGI9PntuLmo9Yn0pfTsKaTg9ZnVuY3Rpb24oKXt2YXIgbj1nLnJyKCJ5dC5wbGF5ZXIudXRpbHMudmlkZW9FbGVtZW50XyIpO258fChuPWcuekYoIlZJREVPIiksZy5HYigieXQucGxheWVyLnV0aWxzLnZpZGVvRWxlbWVudF8iLG4pKTtyZXR1cm4gbn07CnU4PWZ1bmN0aW9uKG4pe3ZhciBXPWk4KCk7cmV0dXJuISEoVyYmVy5jYW5QbGF5VHlwZSYmVy5jYW5QbGF5VHlwZShuKSl9OwpkeT1mdW5jdGlvbihuKXtpZigvb3B1cy8udGVzdChuKSYmZy5vZCYmIUNfKCIzOCIpJiYhZy5kOCgpKXJldHVybiExO2lmKHNlbGYuTWVkaWFTb3VyY2UmJnNlbGYuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZChuKTtpZihzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZSYmc2VsZi5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKXJldHVybiBzZWxmLk1hbmFnZWRNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobik7aWYoL3dlYm0vLnRlc3QobikmJiFUUSgpKXJldHVybiExO249PT0nYXVkaW8vbXA0OyBjb2RlY3M9Im1wNGEuNDAuMiInJiYobj0ndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNGQ0MDFmIicpO3JldHVybiEhdTgobil9OwpoZ1M9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWR5KCd2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40MjAwMUUiJyl8fGR5KCd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInKTtyZXR1cm4oZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fGR5KCdhdWRpby93ZWJtOyBjb2RlY3M9Im9wdXMiJykpJiYoV3x8IW4pfHx1OCgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFLCBtcDRhLjQwLjIiJyk/bnVsbDoiZm10Lm5vbmVhdmFpbGFibGUifWNhdGNoe3JldHVybiJodG1sNS5taXNzaW5nYXBpIn19Owp6aT1mdW5jdGlvbigpe3ZhciBuPWk4KCk7cmV0dXJuISghbi53ZWJraXRTdXBwb3J0c1ByZXNlbnRhdGlvbk1vZGV8fHR5cGVvZiBuLndlYmtpdFNldFByZXNlbnRhdGlvbk1vZGUhPT0iZnVuY3Rpb24iKX07Cmw4PWZ1bmN0aW9uKCl7dmFyIG49aTgoKTt0cnl7bGV0IFc9bi5tdXRlZDtuLm11dGVkPSFXO3JldHVybiBuLm11dGVkIT09V31jYXRjaHt9cmV0dXJuITF9OwpUaT1mdW5jdGlvbihuLFcpe3JldHVybntzdGFydChEKXtyZXR1cm4gbltEXX0sZW5kKEQpe3JldHVybiBXW0RdfSxsZW5ndGg6bi5sZW5ndGh9fTsKakc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdLHY9W107Zm9yKGxldCBrPTA7azxuLmxlbmd0aDtrKyspYi5wdXNoKG4uc3RhcnQoaykpLHYucHVzaChuLmVuZChrKSk7Yi5wdXNoKFcpO3YucHVzaChEKTtiLnNvcnQoKGssaCk9PmstaCk7CnYuc29ydCgoayxoKT0+ay1oKTsKcmV0dXJuIFRpKGIsdil9Owpyaz1mdW5jdGlvbihuLFc9IiwiLEQ9bj9uLmxlbmd0aDowKXt2YXIgYj1bXTtpZihuKWZvcihEPU1hdGgubWF4KG4ubGVuZ3RoLUQsMCk7RDxuLmxlbmd0aDtEKyspYi5wdXNoKGAke24uc3RhcnQoRCkudG9GaXhlZCgzKX0tJHtuLmVuZChEKS50b0ZpeGVkKDMpfWApO3JldHVybiBiLmpvaW4oVyl9OwpDTT1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybi0xO3RyeXtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylpZihuLnN0YXJ0KEQpPD1XJiZuLmVuZChEKT49VylyZXR1cm4gRH1jYXRjaChEKXt9cmV0dXJuLTF9OwpCUj1mdW5jdGlvbihuLFcpe3JldHVybiBDTShuLFcpPj0wfTsKeDhqPWZ1bmN0aW9uKG4sVyl7aWYoIW4pcmV0dXJuIE5hTjtXPUNNKG4sVyk7cmV0dXJuIFc+PTA/bi5zdGFydChXKTpOYU59OwpGWj1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBOYU47Vz1DTShuLFcpO3JldHVybiBXPj0wP24uZW5kKFcpOk5hTn07Cmcud3k9ZnVuY3Rpb24obil7cmV0dXJuIG4mJm4ubGVuZ3RoP24uZW5kKG4ubGVuZ3RoLTEpOk5hTn07Ck0kPWZ1bmN0aW9uKG4pe3JldHVybiBnLnd5KG4pPjB9OwpSZD1mdW5jdGlvbihuLFcpe249RloobixXKTtyZXR1cm4gbj49MD9uLVc6MH07ClFUPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVtdO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7aysrKW4uZW5kKGspPFd8fG4uc3RhcnQoayk+RHx8KGIucHVzaChNYXRoLm1heChXLG4uc3RhcnQoaykpLVcpLHYucHVzaChNYXRoLm1pbihELG4uZW5kKGspKS1XKSk7cmV0dXJuIFRpKGIsdil9OwpWVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuU291cmNlQnVmZmVyPyEhU291cmNlQnVmZmVyLnByb3RvdHlwZS5jaGFuZ2VUeXBlOiExfTsKY1I9ZnVuY3Rpb24oKXtyZXR1cm4hISh3aW5kb3cuTWVkaWFTb3VyY2V8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V8fHdpbmRvdy5XZWJLaXRNZWRpYVNvdXJjZXx8d2luZG93LkhUTUxNZWRpYUVsZW1lbnQmJkhUTUxNZWRpYUVsZW1lbnQucHJvdG90eXBlLndlYmtpdFNvdXJjZUFkZElkKX07CmFkPWZ1bmN0aW9uKCl7cmV0dXJuISghd2luZG93Lk1lZGlhU291cmNlfHwhd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCl8fHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2V9OwpuNj1mdW5jdGlvbihuKXt0cnl7cmV0dXJuIG4uVygpPT09Im9wZW4ifWNhdGNoKFcpe3JldHVybiExfX07CldGPWZ1bmN0aW9uKG4sVyl7bjYobik/Zy5tSygoKT0+e1cobil9KTpuLmNhbGxiYWNrPVd9Owp2Rj1mdW5jdGlvbihuLFcsRCl7REgmJihiQShuLm1lZGlhRWxlbWVudCx7bDoibXN3c3NiIixzcjpuLm1lZGlhRWxlbWVudC5ZYT8ucGcoKX0sITEpLFcuaCQobi5MTCxuKSxELmgkKG4uTEwsbikpO24uTj1XO24uSj1EO2cudShuLFcpO2cudShuLEQpfTsKTEtVPWZ1bmN0aW9uKG4sVyxELGI9IiIpe2I9Vy5taW1lVHlwZStiO3ZhciB2PUQubWltZVR5cGU7Vz1XLklCO0Q9RC5JQjtuLlZRPW4ubWVkaWFTb3VyY2U/LmFkZFNvdXJjZUJ1ZmZlcih2KTtuLmUkPWIuc3BsaXQoIjsiKVswXT09PSJmYWtlc2IiP3ZvaWQgMDpuLm1lZGlhU291cmNlPy5hZGRTb3VyY2VCdWZmZXIoYik7bi5FViYmKG4uRVYud2Via2l0U291cmNlQWRkSWQoIjAiLHYpLG4uRVYud2Via2l0U291cmNlQWRkSWQoIjEiLGIpKTtEPW5ldyBrZyhuLlZRLG4uRVYsIjAiLEpNKHYpLEQsITEpO2I9bmV3IGtnKG4uZSQsbi5FViwiMSIsSk0oYiksVywhMCk7dkYobixELGIpfTsKTDY9ZnVuY3Rpb24obixXLEQsYil7aWYoIW4uTnx8IW4uSilyZXR1cm4gbnVsbDt2YXIgdj1uLk4uaXNWaWV3KCk/bi5OLmskOm4uTixrPW4uSi5pc1ZpZXcoKT9uLkouayQ6bi5KLGg9bmV3IGhaKG4ubWVkaWFFbGVtZW50LG4ubWVkaWFTb3VyY2UsITApO2guaj1uLmo7dkYoaCxuZXcgeGcodixXLEQsYiksbmV3IHhnKGssVyxELGIpKTtuNihuKXx8bi5OLnlPKG4uTi5TVygpKTtyZXR1cm4gaH07CmVnMT1mdW5jdGlvbihuKXtyZXR1cm4gZTQoKFcsRCk9Pmcuc3ooVyxELDQsMUUzKSxuLHtmb3JtYXQ6IlJBVyIsCm1ldGhvZDoiR0VUIix3aXRoQ3JlZGVudGlhbHM6ITB9KX07CmcuZ3Q9ZnVuY3Rpb24obil7dmFyIFc7bi5yZXNwb25zZVR5cGUmJm4ucmVzcG9uc2VUeXBlIT09InRleHQiP24ucmVzcG9uc2VUeXBlPT09ImFycmF5YnVmZmVyIiYmKFc9cFIobmV3IFVpbnQ4QXJyYXkobi5yZXNwb25zZSkpKTpXPW4ucmVzcG9uc2VUZXh0O3JldHVybiFXfHxXLmxlbmd0aD4yMDQ4PyIiOlcuaW5kZXhPZigiaHR0cHM6Ly8iKT09PTA/VzoiIn07CmU0PWZ1bmN0aW9uKG4sVyxEKXtXLm1hdGNoKGdHcik7cmV0dXJuIG4oVyxEKS50aGVuKGI9Pnt2YXIgdj1nLmd0KGIueGhyKTtyZXR1cm4gdj9lNChuLHYsRCk6Yi54aHJ9KX07ClhKaT1mdW5jdGlvbihuLFcsRCl7aWYoIW4/LldjKCkpcmV0dXJuITE7dmFyIGI9Vy5zb21lKGg9PmgucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSInx8aC5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iKSx2PVcuc29tZShoPT5oLnByb2plY3Rpb25UeXBlPT09Ik1FU0giKSxrPVcuc29tZShoPT5oLnN0ZXJlb0xheW91dD09PTEpOwpXPVcuc29tZShoPT5oLmlzSGRyKCkpOwpuPSFEJiYhVyYmbi5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBifHx2fHxrfHxufTsKcXo9ZnVuY3Rpb24obixXLEQsYil7aWYoWEppKG4sVyxEKSlyZXR1cm4hMDtpZighbj8udE0oKXx8IVh2KG4sYikpcmV0dXJuITE7bj1XLnNvbWUodj0+di5pc0hkcigpKTsKcmV0dXJuIER8fG4/ITE6ITB9OwpxdWo9ZnVuY3Rpb24obil7cmV0dXJuIGcub00obixXPT4iRk9STUFUX1NUUkVBTV9UWVBFX09URiI9PT1XLnR5cGUpPyJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIjoiRk9STUFUX1NUUkVBTV9UWVBFX1VOS05PV04ifTsKRzNDPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uZXcgZy5HeCgiIixiLmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4pe249dFooaCxXLGsuZHVyYXRpb24sYix2KTtsZXQge0VsOngsczpMLHk3OmV9PVAwKDE1LDcwMCxoKTsoRD1SeCh4fHxoLnVybHx8IiIsZSxMKSkmJihuLnN0cmVhbVR5cGU9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/JGcoayxuZXcgcnQoRCxuKSk6JGcoayxuZXcgc2soRCxuLERKKGguaW5pdFJhbmdlKSxESihoLmluZGV4UmFuZ2UpKSkpfWsuaXNPdGY9ITA7cmV0dXJuIGt9Owp0T1o9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGIuZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj10WihoLFcsay5kdXJhdGlvbixiLHYpO0Q9REooaC5pbml0UmFuZ2UpO2xldCB4PURKKGguaW5kZXhSYW5nZSkse0VsOkwsczplLHk3Okd9PVAwKDEzLDcwMixoKSxyPVJ4KEx8fGgudXJsfHwiIixHLGUpO3ImJiRnKGssbmV3IHNrKHIsbixELHgpKX1yZXR1cm4ga307CnRaPWZ1bmN0aW9uKG4sVyxEPTAsYix2KXt2YXIgaz1uLm1pbWVUeXBlfHwiIixoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO2g9aD9oLnRvU3RyaW5nKCk6IiI7eCYmKGgrPWA7JHt4fWApO3g9aDtpZihTRyhrKSl7dmFyIEw9bi53aWR0aHx8NjQwO2g9bi5oZWlnaHR8fDM2MDtsZXQgeT1uLmZwcyxUPW4ucXVhbGl0eUxhYmVsLHo9bi5xdWFsaXR5T3JkaW5hbCxDPW4uY29sb3JJbmZvLFE9bi5wcm9qZWN0aW9uVHlwZTt2YXIgZTtuLnN0ZXJlb0xheW91dCYmKGU9JDh4W24uc3RlcmVvTGF5b3V0XSk7bGV0IFY9TiQobil8fHZvaWQgMDt2YXIgRztDPy5wcmltYXJpZXMmJihHPXIkeFtDLnByaW1hcmllc118fHZvaWQgMCk7TD1uZXcgSFIoTCxoLHksUSxlLHZvaWQgMCxULHomJk56W3pdLFYsRywobi52aWRlb1RyYWNrPy5hc3NvY2lhdGVkQXVkaW9UcmFja0lkPy5sZW5ndGg/PzApPT09MCk7az1wNihrLEwsWWdbbi5pdGFnfHwiIl0pO0hGJiYoays9IjsgZW5hYmxlZmx1c2hkdXJpbmdzZWVrPXRydWUiKTsKZjYmJihrKz0iOyBlbmFibGVyZXNldGF1ZGlvZGVjb2Rlcj10cnVlIik7cXooYixbTF0sVyx2KSYmKGsrPSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUiKX12YXIgcjtpZihJZChrKSl7dmFyIE49bi5hdWRpb1NhbXBsZVJhdGU7Yj1uLmF1ZGlvVHJhY2s7Tj1uZXcgQU0oTj8rTjp2b2lkIDAsbi5hdWRpb0NoYW5uZWxzLG4uc3BhdGlhbEF1ZGlvVHlwZSxuLmlzRHJjLG4ubG91ZG5lc3NEYixuLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMsbi5hdWRpb1F1YWxpdHl8fCJBVURJT19RVUFMSVRZX1VOS05PV04iLG4uaXNWYik7YiYmKHY9Yi5kaXNwbGF5TmFtZSxlPWIuaWQsRz1iLmF1ZGlvSXNEZWZhdWx0LGI9Yi5pc0F1dG9EdWJiZWQsdiYmKHI9bmV3IHdQKHYsZXx8IiIsISFHLCEhYikpKX12YXIgSDtuLmNhcHRpb25UcmFjayYmKGI9bi5jYXB0aW9uVHJhY2suZGlzcGxheU5hbWUsdj1uLmNhcHRpb25UcmFjay52c3NJZCxlPW4uY2FwdGlvblRyYWNrLmxhbmd1YWdlQ29kZSxHPW4uY2FwdGlvblRyYWNrLmtpbmQsCmg9bi5jYXB0aW9uVHJhY2suaWQsYiYmdiYmZSYmKEg9bmV3IEtNKGIsdixlLEcsbi54dGFncyxoKSkpO2I9TnVtYmVyKG4uYml0cmF0ZSkvODt2PU51bWJlcihuLmNvbnRlbnRMZW5ndGgpO2U9TnVtYmVyKG4ubGFzdE1vZGlmaWVkKTtoPW4uZHJtRmFtaWxpZXM7Rz1uLnR5cGU7bj1OdW1iZXIobi5hcHByb3hEdXJhdGlvbk1zKTtpZihXJiZoKXt2YXIgQT17fTtmb3IobGV0IHkgb2YgaCkoaD1KWlt5XSkmJihBW2hdPVdbaF0pfXJldHVybiBuZXcgbXUoeCxrLHthdWRpbzpOLHZpZGVvOkwsa1o6cixjb250ZW50UHJvdGVjdGlvbjpBLE5zOmIsWG46RCYmdj92L0Q6MCxjb250ZW50TGVuZ3RoOnYsbGFzdE1vZGlmaWVkOmUsY2FwdGlvblRyYWNrOkgsc3RyZWFtVHlwZTpHLGFwcHJveER1cmF0aW9uTXM6bn0pfTsKczVVPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4sVz0+IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiPT09Vy5zdHJlYW1fdHlwZSk/IkZPUk1BVF9TVFJFQU1fVFlQRV9PVEYiOiJGT1JNQVRfU1RSRUFNX1RZUEVfVU5LTk9XTiJ9OwpOcGo9ZnVuY3Rpb24obixXLEQ9MCxiLHYpe3ZhciBrPW5ldyBnLkd4KCIiLGI/LmV4cGVyaW1lbnRzLCExKTtrLmR1cmF0aW9uPUR8fDA7Zm9yKGxldCBoIG9mIG4paWYobj1JbyhoLFcsay5kdXJhdGlvbixiLHYpLEQ9UngoaC51cmwsaC5zcCxoLnMpKWlmKG4uc3RyZWFtVHlwZT09PSJGT1JNQVRfU1RSRUFNX1RZUEVfT1RGIikkZyhrLG5ldyBydChELG4pKTtlbHNle2xldCB4PW56KGguaW5pdCksTD1ueihoLmluZGV4KTskZyhrLG5ldyBzayhELG4seCxMKSl9ay5pc090Zj0hMDtyZXR1cm4ga307CnBKYj1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bmV3IGcuR3goIiIsYj8uZXhwZXJpbWVudHMsITEpO2suZHVyYXRpb249RHx8MDtmb3IobGV0IGggb2Ygbil7bj1JbyhoLFcsay5kdXJhdGlvbixiLHYpO0Q9bnooaC5pbml0KTtsZXQgeD1ueihoLmluZGV4KSxMPVJ4KGgudXJsLGguc3AsaC5zKTtMJiYkZyhrLG5ldyBzayhMLG4sRCx4KSl9cmV0dXJuIGt9OwpJbz1mdW5jdGlvbihuLFcsRD0wLGIsdil7dmFyIGs9bi50eXBlO3ZhciBoPW4uaXRhZzt2YXIgeD1uLnh0YWdzO3gmJihoPW4uaXRhZysiOyIreCk7aWYoU0coaykpe3ZhciBMPShuLnNpemV8fCI2NDB4MzYwIikuc3BsaXQoIngiKTtMPW5ldyBIUigrTFswXSwrTFsxXSwrbi5mcHMsbi5wcm9qZWN0aW9uX3R5cGUsK24uc3RlcmVvX2xheW91dCx2b2lkIDAsbi5xdWFsaXR5X2xhYmVsLCtuLnF1YWxpdHlfb3JkaW5hbCxuLmVvdGYsbi5wcmltYXJpZXMsIW4udmlkZW9fdHJhY2tfYXNzb2NpYXRlZF9hdWRpb190cmFja19pZCk7az1wNihrLEwsWWdbbi5pdGFnXSk7SEYmJihrKz0iOyBlbmFibGVmbHVzaGR1cmluZ3NlZWs9dHJ1ZSIpO2Y2JiYoays9IjsgZW5hYmxlcmVzZXRhdWRpb2RlY29kZXI9dHJ1ZSIpO3F6KGIsW0xdLFcsdikmJihrKz0iOyBkZWNvZGUtdG8tdGV4dHVyZT10cnVlIil9dmFyIGU7aWYoSWQoaykpe3ZhciBHPW5ldyBBTSgrbi5hdWRpb19zYW1wbGVfcmF0ZXx8dm9pZCAwLAorbi5hdWRpb19jaGFubmVsc3x8MCxuLnNwYXRpYWxfYXVkaW9fdHlwZSwhIW4uZHJjKTtuLm5hbWUmJihlPW5ldyB3UChuLm5hbWUsbi5hdWRpb190cmFja19pZCxuLmlzRGVmYXVsdD09PSIxIixuLmlzQXV0b0R1YmJlZD09PSIxIikpfXZhciByO24uY2FwdGlvbl9kaXNwbGF5X25hbWUmJm4uY2FwdGlvbl92c3NfaWQmJm4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlJiYocj1uZXcgS00obi5jYXB0aW9uX2Rpc3BsYXlfbmFtZSxuLmNhcHRpb25fdnNzX2lkLG4uY2FwdGlvbl9sYW5ndWFnZV9jb2RlLG4uY2FwdGlvbl9raW5kLG4ueHRhZ3Msbi5jYXB0aW9uX2lkKSk7Yj1OdW1iZXIobi5iaXRyYXRlKS84O3Y9TnVtYmVyKG4uY2xlbik7eD1OdW1iZXIobi5sbXQpO0Q9RCYmdj92L0Q6MDtpZihXJiZuLmRybV9mYW1pbGllcyl7dmFyIE49e307Zm9yKGxldCBIIG9mIG4uZHJtX2ZhbWlsaWVzLnNwbGl0KCIsIikpTltIXT1XW0hdfXJldHVybiBuZXcgbXUoaCxrLHthdWRpbzpHLHZpZGVvOkwsCmtaOmUsY29udGVudFByb3RlY3Rpb246TixOczpiLFhuOkQsY29udGVudExlbmd0aDp2LGxhc3RNb2RpZmllZDp4LGNhcHRpb25UcmFjazpyLHN0cmVhbVR5cGU6bi5zdHJlYW1fdHlwZSxhcHByb3hEdXJhdGlvbk1zOk51bWJlcihuLmFwcHJveF9kdXJhdGlvbl9tcyl9KX07Cll1aD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAiZXF1aXJlY3Rhbmd1bGFyIjpyZXR1cm4iRVFVSVJFQ1RBTkdVTEFSIjtjYXNlICJlcXVpcmVjdGFuZ3VsYXJfdGhyZWVkX3RvcF9ib3R0b20iOnJldHVybiJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iO2Nhc2UgIm1lc2giOnJldHVybiJNRVNIIjtjYXNlICJyZWN0YW5ndWxhciI6cmV0dXJuIlJFQ1RBTkdVTEFSIjtkZWZhdWx0OnJldHVybiJVTktOT1dOIn19OwpIcWg9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9hbWJpc29uaWNzXzVfMSI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTXzVfMSI7Y2FzZSAic3BhdGlhbF9hdWRpb190eXBlX2FtYmlzb25pY3NfcXVhZCI6cmV0dXJuIlNQQVRJQUxfQVVESU9fVFlQRV9BTUJJU09OSUNTX1FVQUQiO2Nhc2UgInNwYXRpYWxfYXVkaW9fdHlwZV9mb2Ffd2l0aF9ub25fZGllZ2V0aWMiOnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfRk9BX1dJVEhfTk9OX0RJRUdFVElDIjtkZWZhdWx0OnJldHVybiJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSJ9fTsKZnRaPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gUzQobmV3IGcuR3gobixXLEQpLG4pfTsKR189ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PmdaKDI0LDExNjQsVy5YYi5OKSl9OwpmRHc9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PiEhVy5pbmZvLnZpZGVvJiZXLmluZm8udmlkZW8uaXNIZHIoKSl9OwokZz1mdW5jdGlvbihuLFcpe24uTltXLmluZm8uaWRdPVc7bi5KLnNldChjdyhXLG4uelcpLFcpfTsKUzQ9ZnVuY3Rpb24obixXPSIiKXtuLnN0YXRlPTE7bi5TJD0oMCxnLlIpKCk7cmV0dXJuIGVnMShXfHxuLnNvdXJjZVVybCkudGhlbihEPT57aWYoIW4ucU4oKSl7bi5sTj1ELnN0YXR1cztEPUQucmVzcG9uc2VUZXh0O2xldCB2PW5ldyBET01QYXJzZXI7RD1nLmdUKHYsZy5IVihEKSwidGV4dC94bWwiKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiTVBEIilbMF07bi5jSj1qeChsVChELCJtaW5pbXVtVXBkYXRlUGVyaW9kIikpKjFFM3x8SW5maW5pdHk7Yjp7aWYoRC5hdHRyaWJ1dGVzKWZvcihiIG9mIEQuYXR0cmlidXRlcylpZihiLnZhbHVlPT09Imh0dHA6Ly95b3V0dWJlLmNvbS95dC8yMDEyLzEwLzEwIil7dmFyIGI9Yi5uYW1lLnNwbGl0KCI6IilbMV07YnJlYWsgYn1iPSIifW4uaj1iO24uaXNMaXZlPW4uY0o8SW5maW5pdHkmJm4uaXNMaXZlUGxheWJhY2s7bi5ISj1OdW1iZXIobFQoRCxuLmorIjplYXJsaWVzdE1lZGlhU2VxdWVuY2UiKSl8fDA7aWYoYj1EYXRlLnBhcnNlKEN6KGxUKEQsCm4uaisiOm1wZFJlc3BvbnNlVGltZSIpKSkpbi5lJD0oKDAsZy5SKSgpLWIpLzFFMztuLmlzTGl2ZSYmRC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRpbWVsaW5lIikubGVuZ3RoPD0wfHxnLmR6KEQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlBlcmlvZCIpLG4ueUUsbik7bi5zdGF0ZT0yO24uV0ooImxvYWRlZCIpO0FaKG4pfXJldHVybiBufSkuc1AoRD0+e2lmKEQgaW5zdGFuY2VvZiBnLiRUKXt2YXIgYj1ELnhocjsKbi5sTj1iLnN0YXR1c31uLnN0YXRlPTM7bi5XSigibG9hZGVycm9yIik7cmV0dXJuIGcucnAoYil9KX07CmcubUg9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby5OKCkpfTsKSzY9ZnVuY3Rpb24obil7cmV0dXJuIGcuRGwobi5OLFc9PlcuaW5mby52aWRlbz9XLmluZm8udmlkZW8ucHJvamVjdGlvblR5cGU9PT0iRVFVSVJFQ1RBTkdVTEFSIjohMSl9OwpPaz1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5wcm9qZWN0aW9uVHlwZT09PSJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOiExKX07ClBGPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRsKG4uTixXPT5XLmluZm8udmlkZW8/Vy5pbmZvLnZpZGVvLnByb2plY3Rpb25UeXBlPT09Ik1FU0giOiExKX07CkokVT1mdW5jdGlvbihuKXtyZXR1cm4gZy5EbChuLk4sVz0+Vy5pbmZvLnZpZGVvP1cuaW5mby52aWRlby5zdGVyZW9MYXlvdXQ9PT0xOiExKX07Ckl0aT1mdW5jdGlvbihuKXtyZXR1cm4gZy5iayhuLk4sVz0+Vy5pbmZvLnZpZGVvP1cubnUoKTohMCl9OwpaSD1mdW5jdGlvbihuLFcsRCl7Vz1nLlZmKFcuaW5mbyxuLnpXKTtpZihEKXtsZXQgYj1Nayh7aXRhZzpXLml0YWcsbG10Om4uelc/MDpXLmxtdHx8MCx4dGFnczpXLnh0YWdzfSk7aWYobi52SltiXSlyZXR1cm47bi52SltiXT1EfW4uR0MucHVzaChXKX07CnlDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bFQoVywiaWQiKTtEPUQucmVwbGFjZSgiOiIsIjsiKTt2YXIgYj1sVChXLCJtaW1lVHlwZSIpLHY9bFQoVywiY29kZWNzIik7Yj12P2Ake2J9OyBjb2RlY3M9IiR7dn0iYDpiO3Y9TnVtYmVyKGxUKFcsImJhbmR3aWR0aCIpKS84O3ZhciBrPU51bWJlcihUUChXLCJCYXNlVVJMIikuZ2V0QXR0cmlidXRlKG4uaisiOmNvbnRlbnRMZW5ndGgiKSksaD1uLmR1cmF0aW9uJiZrP2svbi5kdXJhdGlvbjowO2lmKFNHKGIpKXt2YXIgeD1OdW1iZXIobFQoVywid2lkdGgiKSksTD1OdW1iZXIobFQoVywiaGVpZ2h0IikpLGU9TnVtYmVyKGxUKFcsImZyYW1lUmF0ZSIpKTtsZXQgQT1ZdWgobFQoVyxuLmorIjpwcm9qZWN0aW9uVHlwZSIpKTthOnN3aXRjaChsVChXLG4uaisiOnN0ZXJlb0xheW91dCIpKXtjYXNlICJsYXlvdXRfbGVmdF9yaWdodCI6dmFyIEc9MTticmVhayBhO2Nhc2UgImxheW91dF90b3BfYm90dG9tIjpHPTI7YnJlYWsgYTtkZWZhdWx0Okc9CjB9Rz1uZXcgSFIoeCxMLGUsQSxHKX1pZihJZChiKSl7dmFyIHI9TnVtYmVyKGxUKFcsImF1ZGlvU2FtcGxpbmdSYXRlIikpO3ZhciBOPU51bWJlcihsVChXLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJBdWRpb0NoYW5uZWxDb25maWd1cmF0aW9uIilbMF0sInZhbHVlIikpO3g9SHFoKGxUKFcsbi5qKyI6c3BhdGlhbEF1ZGlvVHlwZSIpKTtyPW5ldyBBTShyLE4seCk7YTp7TD1sVChXLCJsYW5nIil8fCJ1bmQiO2lmKE49VFAoVywiUm9sZSIpKWlmKGU9bFQoTiwidmFsdWUiKXx8IiIsZy5lcChVayxlKSl7Tj1gJHtMfS4ke1VrW2VdfWA7eD1lPT09Im1haW4iO249bFQoVyxuLmorIjpsYW5nTmFtZSIpfHxgJHtMfSAtICR7ZX1gO049bmV3IHdQKG4sTix4KTticmVhayBhfU49dm9pZCAwfX1pZihXPVRQKFcsIkNvbnRlbnRQcm90ZWN0aW9uIikpaWYoVy5nZXRBdHRyaWJ1dGUoInNjaGVtZUlkVXJpIik9PT0iaHR0cDovL3lvdXR1YmUuY29tL2RybS8yMDEyLzEwLzEwIil7dmFyIEg9e307Zm9yKFc9ClcuZmlyc3RDaGlsZDtXIT1udWxsO1c9Vy5uZXh0U2libGluZyl7aWYoIShXIGluc3RhbmNlb2YgRWxlbWVudCkpY29udGludWU7aWYoIS9TeXN0ZW1VUkwvLnRlc3QoVy5ub2RlTmFtZSkpY29udGludWU7bj1XLmdldEF0dHJpYnV0ZSgidHlwZSIpO3g9Vy50ZXh0Q29udGVudDtuJiZ4JiYoSFtuXT14LnRyaW0oKSl9fWVsc2UgSD12b2lkIDA7cmV0dXJuIG5ldyBtdShELGIse2F1ZGlvOnIsdmlkZW86RyxrWjpOLGNvbnRlbnRQcm90ZWN0aW9uOkgsTnM6dixYbjpoLGNvbnRlbnRMZW5ndGg6a30pfTsKQVo9ZnVuY3Rpb24obil7dmFyIFc9bi5jSjtpc0Zpbml0ZShXKSYmKEVrKG4pP24ucmVmcmVzaCgpOihXPU1hdGgubWF4KDAsbi5TJCtXLSgwLGcuUikoKSksbi5LfHwobi5LPW5ldyBnLmZfKG4ucmVmcmVzaCxXLG4pLGcudShuLG4uSykpLG4uSy5zdGFydChXKSkpfTsKdmFyIFN1eD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgsTCxlKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsNCwxNjk5LG4sVyxELGIsdixrLGgseCxMLGUpfTsKRWs9ZnVuY3Rpb24obil7cmV0dXJuIG4uaXNMaXZlJiYoMCxnLlIpKCktbi5TJD49bi5jSn07CkEkaT1mdW5jdGlvbihuKXtuPW4uTjtmb3IobGV0IFcgaW4gbil7bGV0IEQ9bltXXS5pbmRleDtpZihELmlzTG9hZGVkKCkpcmV0dXJuIEQueCQoKSsxfXJldHVybiAwfTsKaUE9ZnVuY3Rpb24obil7cmV0dXJuIG4ub1I/bi5vUi0obi5EfHxuLnRpbWVzdGFtcE9mZnNldCk6MH07CnVBPWZ1bmN0aW9uKG4pe3JldHVybiBuLkpVP24uSlUtKG4uRHx8bi50aW1lc3RhbXBPZmZzZXQpOjB9Owpvbz1mdW5jdGlvbihuKXtpZighaXNOYU4obi5UQykpcmV0dXJuIG4uVEM7dmFyIFc9bi5OO2Zvcih2YXIgRCBpbiBXKXt2YXIgYj1XW0RdLmluZGV4O2lmKGIuaXNMb2FkZWQoKSYmIVdbRF0uaW5mby5OKCkpe1c9MDtmb3IoRD1iLlpPKCk7RDw9Yi54JCgpO0QrKylXKz1iLmdldER1cmF0aW9uKEQpO1cvPWIuSDcoKTtXPU1hdGgucm91bmQoVy8uNSkqLjU7Yi5INygpPjEwJiYobi5UQz1XKTtyZXR1cm4gV31pZihuLmlzTGl2ZSYmKGI9V1tEXSxiLnJiKSlyZXR1cm4gYi5yYn1yZXR1cm4gTmFOfTsKbTh0PWZ1bmN0aW9uKG4sVyl7bj1xYyhuLk4sYj0+Yi5pbmRleC5pc0xvYWRlZCgpKTsKaWYoIW4pcmV0dXJuIE5hTjtuPW4uaW5kZXg7dmFyIEQ9bi5SMyhXKTtyZXR1cm4gbi5nZXRTdGFydFRpbWUoRCk9PT1XP1c6RDxuLngkKCk/bi5nZXRTdGFydFRpbWUoRCsxKTpOYU59Owp6eD1mdW5jdGlvbihuLFcpe2lmKCFuLk5bIjAiXSl7dmFyIEQ9bmV3IG11KCIwIiwiZmFrZXNiIix7dmlkZW86bmV3IEhSKDAsMCwwLHZvaWQgMCx2b2lkIDAsImF1dG8iKX0pO24uTlsiMCJdPVc/bmV3IGR0KG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELCJmYWtlIik6bmV3IHNrKG5ldyBnLndaKCJodHRwOi8vd3d3LnlvdXR1YmUuY29tL3ZpZGVvcGxheWJhY2siKSxELG5ldyBhQigwLDApLG5ldyBhQigwLDApKX19OwpnLmxBPWZ1bmN0aW9uKG4pe2lmKG4uaXNNYW5pZmVzdGxlc3MpZm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5kZXguc2VnbWVudHM9W119OwpUeD1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBiIGluIG4uTil7bGV0IHY9bi5OW2JdLmluZm8uTigpfHxuLk5bYl0uaW5mby5mWSgpO0Q9PT12JiZuLk5bYl0uaW5kZXg/Lk8oVyl9fTsKajQ9ZnVuY3Rpb24obil7Zm9yKGxldCBXIGluIG4uTiluLk5bV10uaW5mby5OKCl8fFBBKG4uTltXXS5pbmRleCxJbmZpbml0eSl9OwpDNj1mdW5jdGlvbihuLFcsRCl7Zm9yKGxldCBoIGluIG4uTil7dmFyIGI9bi5OW2hdLmluZGV4LHY9VyxrPUQ7Yi5PVCYmKHYmJihiLnFxPU1hdGgubWF4KGIucXEsdikpLGsmJihiLkRuPU1hdGgubWF4KGIuRG58fDAsaykpKX1EJiYobi50dz1ELzFFMyl9OwpCRj1mdW5jdGlvbihuLFcsRCxiPSExKXtiJiZEPT09bi5QWHx8KG4uYmQucHVzaChXKSxuLlBYPUQsbi5XSigiY3VlcG9pbnRzYWRkZWQiLEQpKX07CktLdD1mdW5jdGlvbihuKXtuLkpVPTA7bi5vUj0wO24uSVQ9MH07CkZ2PWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRJiZuLmlzTWFuaWZlc3RsZXNzP24uaXNMaXZlSGVhZFBsYXlhYmxlOm4uaXNMaXZlfTsKcDY9ZnVuY3Rpb24obixXLEQpe3d0PT09bnVsbCYmKHd0PXdpbmRvdy5NZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMi41MS4xMC4wMS4wOS4xNi4wOS4wMCInKSYmIU1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAyLjUxLjEwLjAxLjA5Ljk5Ljk5LjAwIicpKTtpZihNeiYmd2luZG93Lk1lZGlhU291cmNlJiZNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQhPT12b2lkIDApcmV0dXJuIHd0fHxEIT09IjkiJiZEIT09IigiP3d0fHxEIT09IjloIiYmRCE9PSIoaCJ8fChuPSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicpOm49J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicsbjtpZighd3QmJiFSb3x8biE9PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOSInJiZuIT09J3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5LjIiJylyZXR1cm4gbjsKRD0iMDAiO3ZhciBiPSIwOCIsdj0iMDEiLGs9IjAxIixoPSIwMSI7bj09PSd2aWRlby93ZWJtOyBjb2RlY3M9InZwOS4yIicmJihEPSIwMiIsYj0iMTAiLFcucHJpbWFyaWVzPT09ImJ0MjAyMCImJihoPXY9IjA5IiksVy5OPT09InNtcHRlMjA4NCImJihrPSIxNiIpLFcuTj09PSJhcmliLXN0ZC1iNjciJiYoaz0iMTgiKSk7cmV0dXJuYHZpZGVvL3dlYm07IGNvZGVjcz0iJHtbInZwMDkiLEQsIjUxIixiLCIwMSIsdixrLGgsIjAwIl0uam9pbigiLiIpfSJgfTsKVkM9ZnVuY3Rpb24obixXLEQpe249YCR7bn0ke1c+NDk/InA2MCI6Vz4zMj8icDQ4IjoiIn1gO1c9ZjcoKVtuXTtpZihXIT1udWxsJiZXPjApcmV0dXJuIFc7Vz1RQy5nZXQobik7aWYoVyE9bnVsbCYmVz4wKXJldHVybiBXO0Q9RD8uZ2V0KG4pO3JldHVybiBEIT1udWxsJiZEPjA/RDo4MTkyfTsKT3F4PWZ1bmN0aW9uKG4sVz0hMSl7UWh3KFcpO1ZwQyhXKTtpZihXKXtmb3IobGV0IEQgb2YgUUMua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxRQy5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIGNGLnZhbHVlcygpKUQuc3RhcnRzV2l0aCgiMSIpfHxjRi5kZWxldGUoRCk7Zm9yKGxldCBEIG9mIG4ua2V5cygpKUQuc3RhcnRzV2l0aCgiMSIpfHxuLmRlbGV0ZShEKX1lbHNlIFFDLmNsZWFyKCksY0YuY2xlYXIoKSxuLmNsZWFyKCl9OwpVOFo9ZnVuY3Rpb24obix7aXNPdGY6VyxtVjpELHlYOmIsSVI6dixPdzprLEhpOmgsbFU6eCxvTDpMLHhkOmUsZGlzYWJsZUF2MTpHLGRCOnJ9KXt2YXIgTj1uZXcgUGVNKG4pO2lmKG4uV1goKXx8bi5TKCJodG1sNV9sb2dnaW5nX2Zvcm1hdF9zZWxlY3Rpb24iKSlOLlc9ITA7Ti5HQz1rO04uSGk9aCYmbi5LO04ueGQ9ZTtnLnViKCJ3aW5kb3dzIG50IDUuMSIpJiYhZy5hbyYmKE4uYnY9ITApO2lmKGs9RClrPWcubk4obik/WnFTKG4pOiExO2smJihOLmNKPSEwKTt4JiYoTi5idj0hMCxOLk5kPSEwKTtXJiYhbi5TKCJodG1sNV9vdGZfcHJlZmVyX3ZwOSIpJiYoTi5idj0hMCk7bi5wbGF5ZXJTdHlsZT09PSJwaWNhc2F3ZWIiJiYoVyYmKE4uYnY9ITEpLE4udHc9ITEpO3YmJihOLmJ2PSEwKTtTSihuLlcsQVQuQ0hBTk5FTFMpJiYobi5TKCJodG1sNV9lbmFibGVfYWMzIikmJihOLmo9ITApLG4uUygiaHRtbDVfZW5hYmxlX2VhYzMiKSYmKE4uVj0hMCksbi5TKCJodG1sNV9lbmFibGVfYWMzX2dhcGxlc3MiKSYmCihOLkhKPSEwKSk7bi5TKCJodG1sNV9ibG9ja184a19oZnIiKSYmKE4uUFg9ITApO04uSz1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO04uWT1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X21pbl9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbCIpO2cuV1gmJihOLndhPTQ4MCk7aWYoYnx8RClOLnR3PSExO04uQ3U9ITE7Ti5kaXNhYmxlQXYxPUc7Ti5KPW4uUygiaHRtbDVfbG9nX25vX2F2MV9yZWFzb24iKTtXPURLKG4sTi5OLHZvaWQgMCxOLmRpc2FibGVBdjEpO1c+MCYmVzwyMTYwJiYoVlQoKXx8bi5TKCJodG1sNV9mb3JtYXRfaHlicmlkaXphdGlvbiIpKSYmKE4uTi5zdXBwb3J0c0NoYW5nZVR5cGU9K1ZUKCksTi5uUz1XKTtXPj0yMTYwJiYoTi5lJD0hMCk7Ti5vTD1MO04uRkY9Zy5SZ3x8YzAoKSYmIUw/ITE6ITA7Ti5EPW4uUygiaHRtbDVfZm9ybWF0X2h5YnJpZGl6YXRpb24iKTtOLkJWPW4uUygiaHRtbDVfZGlzYWJsZV9lbmNyeXB0ZWRfdnA5X2xpdmVfbm9uXzJrXzRrIik7Ck4ualc9cjtyZXR1cm4gTn07CkRLPWZ1bmN0aW9uKG4sVz17fSxELGI9ITEpe2lmKGIpcmV0dXJuIFcuZGlzYWJsZWQ9MSwwO2lmKFNKKG4uVyxBVC5BVjFfQ09ERUNTKSYmU0oobi5XLEFULkhFSUdIVCkmJlNKKG4uVyxBVC5CSVRSQVRFKSlyZXR1cm4gVy5pc0NhcGFiaWxpdHlVc2FibGU9MSw4MTkyO2I9MTA4MDt2YXIgdj1uYXZpZ2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeTt2PD0yJiYoYj00ODApO1cuY29yZUNvdW50PXY7aWYodj1nLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYXYxX3RocmVzaG9sZCIpKWI9V1siZGVmYXVsdCJdPXY7aWYodj1uLlcuY0opVy5tY2FwPXYsYj1NYXRoLm1heChiLHYpO2lmKEQpe2lmKHY9RC52aWRlb0luZm9zLmZpbmQoaD0+aC5NVygpKT8uaj8ucG93ZXJFZmZpY2llbnQpYj04MTkyLFcuaXNFZmZpY2llbnQ9MTsKRD1ELnZpZGVvSW5mb3NbMF0udmlkZW87bGV0IGs9TWF0aC5taW4oVkMoIjEiLEQuZnBzKSxWQygiMSIsMzApKTtXLnBlcmZDYXA9aztiPU1hdGgubWluKGIsayk7IUQuaXNIZHIoKXx8dnx8bi5adCgpLk4uUVEoeSRqKXx8KFcuaGRyPTEsYio9Ljc1KX1lbHNlIG49VkMoIjEiLDMwKSxXLnBlcmZDYXAzMD1uLGI9TWF0aC5taW4oYixuKSxuPVZDKCIxIiw2MCksVy5wZXJmQ2FwNjA9bixiPU1hdGgubWluKGIsbik7cmV0dXJuIFcuYXYxVGhyZXNob2xkPWJ9OwpySGk9ZnVuY3Rpb24obil7dmFyIFc9WyJvIiwiYSIsIkEiXTtpZihuLnhkPT09MSYmKG4uaiYmKFc9WyJtYWMzIiwiTUFDMyJdLmNvbmNhdChXKSksbi5WJiYoVz1bIm1lYWMzIiwiTUVBQzMiXS5jb25jYXQoVykpLG4uVlF8fG4uZkIpKXtsZXQgRD1bXTtuLlZRJiZELnB1c2goImkiKTtuLmZCJiZELnB1c2goIkkiKTtXPUQuY29uY2F0KFcpfW4uY0omJihXPVsic28iLCJzYSJdLmNvbmNhdChXKSk7IW4uTmR8fG4uSEp8fG4uWHx8bi5zNXx8Vy51bnNoaWZ0KCJhIik7bi5YJiYoVz0oYm9bbi5YXXx8W24uWF0pLmNvbmNhdChXKSk7cmV0dXJuIFd9OwpKSHI9ZnVuY3Rpb24obil7aWYobi5HQylyZXR1cm5bImYiXTtpZihnLnViKCJhcHBsZXR2NSIpKXJldHVybiJoIDloIDkgOCBIIChoICggKiIuc3BsaXQoIiAiKTt2YXIgVz1bIjloIiwiOSIsImgiLCI4Il07bi5ZJCYmVy5wdXNoKCIxZSIpO1c9Vy5jb25jYXQoWyIoaCIsIigiLCJIIiwiKiJdKTtuLmUkJiYoVy51bnNoaWZ0KCIxIiksVy51bnNoaWZ0KCIxaCIpKTtuLmJ2JiZXLnVuc2hpZnQoImgiKTtuLk8mJihXPShib1tuLk9dfHxbbi5PXSkuY29uY2F0KFcpKTtyZXR1cm4gV307CnZYPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93LFc9bi5NU01lZGlhS2V5cztDJCgpJiYhVyYmKFc9bi5XZWJLaXRNZWRpYUtleXMpO3JldHVybiBXJiZXLmlzVHlwZVN1cHBvcnRlZD9XOm51bGx9Owpoej1mdW5jdGlvbihuKXtyZXR1cm4gbmF2aWdhdG9yLnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzcz9nLm9kJiYhZy5kOCgpP0NfKCI0NSIpOmcuUmd8fGcua2g/bi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTpnLmFvP0NfKCI0NyIpOmcuR24mJm4uRXEoImh0bWw1X2VuYWJsZV9zYWZhcmlfZmFpcnBsYXkiKT8hMTohMDohMX07CnhoPWZ1bmN0aW9uKG4pe3JldHVybiBuLlg/ITE6IW4ua2V5U3lzdGVtQWNjZXNzJiYhIXZYKCkmJm4ua2V5U3lzdGVtPT09ImNvbS5taWNyb3NvZnQucGxheXJlYWR5In07CkxOPWZ1bmN0aW9uKG4pe3JldHVybiBuLmtleVN5c3RlbT09PSJjb20ubWljcm9zb2Z0LnBsYXlyZWFkeSJ9OwplVD1mdW5jdGlvbihuKXtyZXR1cm4hbi5rZXlTeXN0ZW1BY2Nlc3MmJiEhdlgoKSYmbi5rZXlTeXN0ZW09PT0iY29tLmFwcGxlLmZwcy4xXzAifTsKZzE9ZnVuY3Rpb24obil7cmV0dXJuIG4ua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5In07CmcuWFY9ZnVuY3Rpb24obil7cmV0dXJuIG4uZmxhdm9yPT09ImZhaXJwbGF5In07CkVHQz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj16USgpLGs9KEQ9dnx8RCYmQyQoKSk/WyJjb20ueW91dHViZS5mYWlycGxheSJdOlsiY29tLndpZGV2aW5lLmFscGhhIl07VyYmay51bnNoaWZ0KCJjb20ueW91dHViZS53aWRldmluZS5sMyIpO3YmJmImJmsudW5zaGlmdCgiY29tLnlvdXR1YmUuZmFpcnBsYXkuc2JkbCIpO3JldHVybiBEP2s6bj9bLi4uaywuLi5xVi5wbGF5cmVhZHldOlsuLi5xVi5wbGF5cmVhZHksLi4ua119OwokaD1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uSi5sZW5ndGg9PT0wKW4uY2FsbGJhY2sobi5YKTtlbHNle3ZhciBXPW4uSlswXSxEPW4uV1tXXSxiPWlxdChuLEQpO0dMJiZHTC5rZXlTeXN0ZW09PT1XJiZHTC5JMT09PUpTT04uc3RyaW5naWZ5KGIpPyhuLlUoInJlbWtzYSIse3JlOiEwfSksdHoobixELEdMLmtleVN5c3RlbUFjY2VzcykpOihuLlUoInJlbWtzYSIse3JlOiExLG9rOkdMPy5rZXlTeXN0ZW0/PyIifSksR0w9dm9pZCAwLG5hdmlnYXRvci5yZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoVyxiKS50aGVuKFl6KHY9Pnt0eihuLEQsdixiKX0pLFl6KCgpPT57bi5qPSFuLmomJm4uV1tuLkpbMF1dLmZsYXZvcj09PSJ3aWRldmluZSI7Cm4uanx8bi5KLnNoaWZ0KCk7JGgobil9KSkpfX07Cm9Hdz1mdW5jdGlvbihuKXtpZih2WCgpJiYoZy5Hbnx8dzgpKW4uWC5wdXNoKG5ldyByMSgiZmFpcnBsYXkiLCJjb20uYXBwbGUuZnBzLjFfMCIsIiIsbi55US5leHBlcmltZW50cykpO2Vsc2V7dmFyIFc9dTFyKCksRD1nLmxfKG4uSixiPT57dmFyIHY9bi5XW2JdLGs9ITEsaD0hMTtmb3IobGV0IHggaW4gbi5OW3YuZmxhdm9yXSlXKHgsYikmJih2LkpbeF09ITAsaz1rfHx4LmluZGV4T2YoImF1ZGlvLyIpPT09MCxoPWh8fHguaW5kZXhPZigidmlkZW8vIik9PT0wKTtyZXR1cm4gayYmaH0pOwpEJiZuLlgucHVzaChuLldbRF0pO24uSj1bXX1uLmNhbGxiYWNrKG4uWCl9OwpkOGk9ZnVuY3Rpb24obixXKXtuLmNhbGxiYWNrPVc7bi5YPVtdO2h6KG4ueVEuZXhwZXJpbWVudHMpPyRoKG4pOm9HdyhuKX07CmlxdD1mdW5jdGlvbihuLFcpe3ZhciBEPXtpbml0RGF0YVR5cGVzOlsiY2VuYyIsIndlYm0iXSxhdWRpb0NhcGFiaWxpdGllczpbXSx2aWRlb0NhcGFiaWxpdGllczpbXX07aWYobi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikmJmcxKFcpKXJldHVybiBELmF1ZGlvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOidhdWRpby9tcDQ7IGNvZGVjcz0ibXA0YS40MC41Iid9KSxELnZpZGVvQ2FwYWJpbGl0aWVzLnB1c2goe2NvbnRlbnRUeXBlOid2aWRlby9tcDQ7IGNvZGVjcz0iYXZjMS40ZDQwMGIiJ30pLFtEXTtMTihXKSYmKEQuaW5pdERhdGFUeXBlcz1bImtleWlkcyIsImNlbmMiXSk7Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKXt2YXIgYj12LmluZGV4T2YoImF1ZGlvLyIpPT09MDtsZXQgaz1iP0QuYXVkaW9DYXBhYmlsaXRpZXM6RC52aWRlb0NhcGFiaWxpdGllcztXLmZsYXZvciE9PSJ3aWRldmluZSJ8fG4uaj9rLnB1c2goe2NvbnRlbnRUeXBlOnZ9KToKYj9rLnB1c2goe2NvbnRlbnRUeXBlOnYscm9idXN0bmVzczoiU1dfU0VDVVJFX0NSWVBUTyJ9KTooZy5vZCYmZy51Yigid2luZG93cyBudCIpJiYhbi5TKCJodG1sNV9kcm1fZW5hYmxlX21vaG8iKXx8ay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IkhXX1NFQ1VSRV9BTEwifSksYj12LG4ueVEuVy5KJiZ2LmluY2x1ZGVzKCJ2cDA5IikmJihiPXYrIjsgZXhwZXJpbWVudGFsPWFsbG93ZWQiKSxrLnB1c2goe2NvbnRlbnRUeXBlOmIscm9idXN0bmVzczoiU1dfU0VDVVJFX0RFQ09ERSJ9KSxnLnNkKG4ueVEpJiYoVkgoKXx8b0soKSkmJihuLlUoInN3Y3J5cHRvIix7fSksay5wdXNoKHtjb250ZW50VHlwZTp2LHJvYnVzdG5lc3M6IlNXX1NFQ1VSRV9DUllQVE8ifSkpKX1yZXR1cm5bRF19Owp0ej1mdW5jdGlvbihuLFcsRCxiKXtpZighbi5xTigpKXtiJiYoR0w9e2tleVN5c3RlbTpXLmtleVN5c3RlbSxrZXlTeXN0ZW1BY2Nlc3M6RCxJMTpKU09OLnN0cmluZ2lmeShiKX0pO1cua2V5U3lzdGVtQWNjZXNzPUQ7aWYoTE4oVykpe3ZhciB2PWk4KCk7Zm9yKHZhciBrIG9mIE9iamVjdC5rZXlzKG4uTltXLmZsYXZvcl0pKVcuSltrXT0hIXYuY2FuUGxheVR5cGUoayl9ZWxzZXtrPVcua2V5U3lzdGVtQWNjZXNzLmdldENvbmZpZ3VyYXRpb24oKTtpZihrLmF1ZGlvQ2FwYWJpbGl0aWVzKWZvcih2IG9mIGsuYXVkaW9DYXBhYmlsaXRpZXMpVy5KW3YuY29udGVudFR5cGVdPSEwO2lmKGsudmlkZW9DYXBhYmlsaXRpZXMpZm9yKGxldCBoIG9mIGsudmlkZW9DYXBhYmlsaXRpZXMpVy5KW2guY29udGVudFR5cGVdPSEwfW4uWC5wdXNoKFcpO24udXNlQ29iYWx0V2lkZXZpbmV8fG4uUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZXLk4oKT8obi5KLnNoaWZ0KCksJGgobikpOm4uY2FsbGJhY2sobi5YKX19Owp1MXI9ZnVuY3Rpb24oKXt2YXIgbj12WCgpO2lmKG4pe2xldCBEPW4uaXNUeXBlU3VwcG9ydGVkO3JldHVybihiLHYpPT5EKHYsYil9dmFyIFc9aTgoKTsKcmV0dXJuIFcmJihXLmFkZEtleXx8Vy53ZWJraXRBZGRLZXkpPyhELGIpPT4hIVcuY2FuUGxheVR5cGUoRCxiKTooKT0+ITF9OwpsdGI9ZnVuY3Rpb24obixXKXtzd2l0Y2goVy5VMCl7Y2FzZSAiYm9vbCI6cmV0dXJuIG4uRXEoVy5ueCk7Y2FzZSAiaW50IjpyZXR1cm4gbj1OVihuLFcubngpLGcuJFUobik7Y2FzZSAiZG91YmxlIjpyZXR1cm4gTlYobixXLm54KTtjYXNlICJzdHJpbmciOnJldHVybiB6ZzIobixXLm54KTtjYXNlICJpbnQzMl9saXN0IjpyZXR1cm4gcE4obixXLm54KTtjYXNlICJpbnQ2NF9saXN0IjpyZXR1cm4gcE4obixXLm54KS5tYXAoRD0+Zy4kVShEKSk7CmNhc2UgInN0cmluZ19saXN0Ijp0aHJvdyBFcnJvcigiU3RyaW5nIGxpc3QgZmxhZ3MgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gV1BDQyIpO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVua25vd24gZmxhZyB0eXBlIik7fX07Ck5WPWZ1bmN0aW9uKG4sVyl7bj1uLmZsYWdzLmdldChgJHtXfWApO3JldHVybiBOdW1iZXIobil8fDB9Owp6ZzI9ZnVuY3Rpb24obixXKXtyZXR1cm4obj1uLmZsYWdzLmdldChgJHtXfWApKT9uLnRvU3RyaW5nKCk6IiJ9OwpwTj1mdW5jdGlvbihuLFcpe2lmKG49bi5mbGFncy5nZXQoYCR7V31gKSlpZihuPW4ucmVwbGFjZSgvXFsgKiguKj8pICpcXS8sIiQxIikpcmV0dXJuIG4uc3BsaXQoIiwiKS5tYXAoTnVtYmVyKTtyZXR1cm5bXX07CmcuZE09ZnVuY3Rpb24obixXLEQ9MCl7bj1uLlFRKFcpO0pTT04uc3RyaW5naWZ5KG4pO3JldHVybiBuPT09dm9pZCAwP0Q6TnVtYmVyKG4pfTsKZy5ZaD1mdW5jdGlvbihuLFcpe3JldHVybihuPW4uUVEoVykpP24udG9TdHJpbmcoKToiIn07ClRwYj1mdW5jdGlvbihuKXtpZihuPW4uUVEoImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpKWlmKG49bi5yZXBsYWNlKC9cWyAqKC4qPykgKlxdLywiJDEiKSlyZXR1cm4gbi5zcGxpdCgiLCIpLm1hcChOdW1iZXIpO3JldHVybltdfTsKSFg9ZnVuY3Rpb24obil7aWYobi5OKXJldHVybiBuLk47aWYobi5leHBlcmltZW50SWRzLmxlbmd0aDw9MSlyZXR1cm4gbi5OPW4uZXhwZXJpbWVudElkcyxuLk47dmFyIFc9Wy4uLm4uZXhwZXJpbWVudElkc10ubWFwKEQ9Pk51bWJlcihEKSk7Clcuc29ydCgpO2ZvcihsZXQgRD1XLmxlbmd0aC0xO0Q+MDstLUQpV1tEXS09V1tELTFdO24uTj1XLm1hcChEPT5ELnRvU3RyaW5nKCkpOwpuLk4udW5zaGlmdCgidjEiKTtyZXR1cm4gbi5OfTsKTkRTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE1hcDtmb3IobGV0IGIgb2YgVy5rZXlzKCkpe2xldCB2PWIuc3BsaXQoIl8iKVswXTtuLmhhcyh2KXx8RC5zZXQoYixXLmdldChiKSl9cmV0dXJuIER9OwpZMlM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW8/LmZwc3x8MCx2PWAke259XyR7Yn1gLGs9ISFXLmF1ZGlvLGg9e2l0YWc6Vy5pdGFnLElCOm4sZVM6a307aWYoayloLm51bUNoYW5uZWxzPVcuYXVkaW8ubnVtQ2hhbm5lbHM7ZWxzZXt2YXIgeD1XLnZpZGVvO2gubWF4V2lkdGg9eD8ud2lkdGg7aC5tYXhIZWlnaHQ9eD8uaGVpZ2h0O2gubWF4RnJhbWVyYXRlPWI7aC5tYXhCaXRyYXRlQnBzPVcuTnMqODtoLno5PXg/LmlzSGRyKCl9eD1ELmdldCh2KTt4P2t8fChXPU1hdGgubWF4KHgubWF4V2lkdGh8fDAseC5tYXhIZWlnaHR8fDApPk1hdGgubWF4KGgubWF4V2lkdGh8fDAsaC5tYXhIZWlnaHR8fDApP3g6aCxuPXtpdGFnOlcuaXRhZyxJQjpuLGVTOmssbWF4V2lkdGg6TWF0aC5tYXgoeC5tYXhXaWR0aHx8MCxoLm1heFdpZHRofHwwKSxtYXhIZWlnaHQ6TWF0aC5tYXgoeC5tYXhIZWlnaHR8fDAsaC5tYXhIZWlnaHR8fDApLG1heEZyYW1lcmF0ZTpiLHo5Olcuejl9LG4ubWF4Qml0cmF0ZUJwcz0KVy5tYXhCaXRyYXRlQnBzLEQuc2V0KHYsbikpOkQuc2V0KHYsaCl9OwpPRD1mdW5jdGlvbihuLFcsRD0xKXt2YXIgYj1XLml0YWc7aWYoYj09PSIwIilyZXR1cm4hMDt2YXIgdj1XLm1pbWVUeXBlO2lmKFcuSUI9PT0iMWUiJiYhbi5YKXJldHVybiJkYXYxZW5jIjtpZihXLk1XKCkmJm4uWSlyZXR1cm4iZGF2MSI7aWYoVy52aWRlbyYmKFcudmlkZW8uaXNIZHIoKXx8Vy52aWRlby5wcmltYXJpZXM9PT0iYnQyMDIwIikmJiEoU0oobixBVC5FT1RGKXx8d2luZG93Lm1hdGNoTWVkaWEmJih3aW5kb3cubWF0Y2hNZWRpYSgiKGR5bmFtaWMtcmFuZ2U6IGhpZ2gpLCAodmlkZW8tZHluYW1pYy1yYW5nZTogaGlnaCkiKS5tYXRjaGVzfHx3aW5kb3cuc2NyZWVuLnBpeGVsRGVwdGg+MjQmJndpbmRvdy5tYXRjaE1lZGlhKCIoY29sb3ItZ2FtdXQ6IHAzKSIpLm1hdGNoZXMpKSlyZXR1cm4iZGhkciI7aWYoYj09PSIzMzgiJiYhKGcub2Q/Q18oNTMpOmcuYW8mJkNfKDY0KSkpcmV0dXJuImRvcHVzIjtEPXZHVShXLEQpO24uSiYmVy5YKCkmJihEW0FULkVYUEVSSU1FTlRBTC5uYW1lXT0KImFsbG93ZWQiKTtmb3IobGV0IHggb2YgT2JqZWN0LmtleXMoQVQpKXtsZXQgTD1BVFt4XTt2YXIgaztpZihrPURbTC5uYW1lXSlpZihrPSEoTD09PUFULkVPVEYmJlcubWltZVR5cGUuaW5kZXhPZigidnAwOS4wMiIpPjApKXtrPUw7dmFyIGg9VztrPSEobi5leHBlcmltZW50cy5FcSgiaHRtbDVfaWdub3JlX2gyNjRfZnJhbWVyYXRlX2NhcCIpJiZrPT09QVQuRlJBTUVSQVRFJiYoaC5JQj09PSJIInx8aC5JQj09PSJoIikpfWlmKGspaWYoU0oobixMKSlpZihuLmope2lmKG4ualtMLm5hbWVdPERbTC5uYW1lXSlyZXR1cm4gTC5uYW1lfWVsc2Ugdj1gJHt2fTsgJHtMLm5hbWV9PSR7RFtMLm5hbWVdfWA7ZWxzZSBpZihaTyhXKSYmTD09PUFULkVPVEYpcmV0dXJuImR2cDkyIn1uLk8mJlcudmlkZW8mJlcudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmVy5jb250ZW50UHJvdGVjdGlvbiYmKHYrPSI7IGhkY3A9Mi4yIik7cmV0dXJuIGI9PT0iMjI3Ij8iaHFjZW5jIjpiPT09IjU4NSJ8fApiPT09IjU4OCJ8fGI9PT0iNTgzInx8Yj09PSI1ODYifHxiPT09IjU4NCJ8fGI9PT0iNTg3Inx8Yj09PSI1OTEifHxiPT09IjU5MiI/Im5ld2h2YyI6elEoKSYmaWIoKT49MjEmJmcudWIoImFwcGxldHY1IikmJihiPT09IjQxMCJ8fGI9PT0iODQ1Iik/ITA6bi5pc1R5cGVTdXBwb3J0ZWQodik/ITA6InRwdXMifTsKU0o9ZnVuY3Rpb24obixXKXtXLm5hbWUgaW4gbi5EfHwobi5EW1cubmFtZV09ajVpKG4sVykpO3JldHVybiBuLkRbVy5uYW1lXX07CkNlVT1mdW5jdGlvbihuKXtuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyYmbmF2aWdhdG9yLm1lZGlhQ2FwYWJpbGl0aWVzLmRlY29kaW5nSW5mbyh7dHlwZToibWVkaWEtc291cmNlIix2aWRlbzp7Y29udGVudFR5cGU6J3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTJNLjA4Iicsd2lkdGg6Mzg0MCxoZWlnaHQ6MjE2MCxiaXRyYXRlOjMyRTYsZnJhbWVyYXRlOjYwfX0pLnRoZW4oVz0+e1cuc21vb3RoJiZXLnBvd2VyRWZmaWNpZW50JiYobi5jSj0yMTYwKX0pfTsKZk49ZnVuY3Rpb24oKXt2YXIgbj1vSygpJiYhQ18oMjkpLFc9Zy51YigiZ29vZ2xlIHR2IikmJmcudWIoImNocm9tZSIpJiYhQ18oMzApO3JldHVybiBufHxXPyExOmNSKCl9OwpKej1mdW5jdGlvbihuLFcsRCl7dmFyIGI9NDgwLHY9MTA4MCxrO2lmKGs9bi5leHBlcmltZW50cy5adCgpLk4uUVEoQnB0KSluLlY9PT1udWxsJiYobi5WPSExLFNKKG4sQVQuV0lEVEgpJiZTSihuLEFULkhFSUdIVCkmJihuLlY9ZHkoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdjAxLjAuMTdNLjA4Ijsgd2lkdGg9NzY4MDsgaGVpZ2h0PTQzMjAnKSkpLGs9bi5WO2smJih2PTIxNjApO2ZvcihsZXQgaCBvZiBXKVc9aC52aWRlby5xdWFsaXR5T3JkaW5hbCxXPD12JiZXPmImJk9EKG4saCxEKT09PSEwJiYoYj1XKTtyZXR1cm4gYn07CmcuSW49ZnVuY3Rpb24obixXPSExKXtyZXR1cm4gZk4oKSYmbi5pc1R5cGVTdXBwb3J0ZWQoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyl8fCFXJiZuLmNhblBsYXlUeXBlKGk4KCksImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIpPyEwOiExfTsKd0p4PWZ1bmN0aW9uKG4pe0ZLQygoKT0+e2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhBVCkpU0oobixBVFtXXSl9KX07Cmo1aT1mdW5jdGlvbihuLFcpe2lmKG4uailyZXR1cm4hIW4ualtXLm5hbWVdO2lmKFc9PT1BVC5CSVRSQVRFJiZuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwJykmJiFuLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiOyB3aWR0aD0zODQwOyBoZWlnaHQ9MjE2MDsgYml0cmF0ZT0yMDAwMDAwMCcpKXJldHVybiExO2lmKFc9PT1BVC5BVjFfQ09ERUNTKXJldHVybiBuLmlzVHlwZVN1cHBvcnRlZChgdmlkZW8vbXA0OyBjb2RlY3M9JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYHZpZGVvL21wNDsgY29kZWNzPSR7Vy52R31gKTtpZihXLnZpZGVvKXt2YXIgRD0ndmlkZW8vd2VibTsgY29kZWNzPSJ2cDkiJztuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjRkNDAxZSInKX1lbHNlIEQ9J2F1ZGlvL3dlYm07IGNvZGVjcz0ib3B1cyInLApuLmlzVHlwZVN1cHBvcnRlZChEKXx8KEQ9J2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyk7cmV0dXJuIG4uaXNUeXBlU3VwcG9ydGVkKGAke0R9OyAke1cubmFtZX09JHtXLnZhbGlkfWApJiYhbi5pc1R5cGVTdXBwb3J0ZWQoYCR7RH07ICR7Vy5uYW1lfT0ke1cudkd9YCl9OwpTVD1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bi5XLmhhcyhXKSYmKEQ9bi5XLmdldChXKS56RSk7bi5XLnNldChXLHt6RTpEKzEsZzE6MioqKEQrMSl9KTtuLk49ITB9OwptVj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKFcmJnR5cGVvZiBXPT09Im9iamVjdCIpe2xldCBrPWg9PkF6KG4saCxELGIsdik7CmlmKFlvKFcpKXJldHVybiBXLnRoZW4oayk7aWYoWUQoVykpcmV0dXJuIFNrKFcsayl9cmV0dXJuIEF6KG4sVyxELGIsdil9OwpLTj1mdW5jdGlvbihuLFcsRCxiPTEpe0Q+PTAmJihXIGluIG4uTnx8KG4uTltXXT1uZXcgTU9pKSxuLk5bV10uZEUoRCxiKSl9OwpBej1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPSgwLGcuUikoKTt2PXY/dihXKTp2b2lkIDA7dmFyIGg9dj8uVF8/PzE7aCE9PTAmJktOKG4sdj8ucHJvZmlsZT8/RCxrLWIsaCk7cmV0dXJuIFd9OwpPZD1mdW5jdGlvbihuKXt2YXIgVz13aW5kb3c7Vy55d2N8fChXLnl3Yz17fSk7dmFyIEQ9Vy55d2Nbbl07aWYoRClyZXR1cm4gRDtEPXt9O3JldHVybiBXLnl3Y1tuXT1EfTsKUFg9ZnVuY3Rpb24obil7dmFyIFc9d2luZG93O1cueXdjJiZkZWxldGUgVy55d2Nbbl19OwpSZ1U9ZnVuY3Rpb24obil7dmFyIFc9T2Qobik7aWYoVy5iaW5QKXJldHVybiBXLmJpblA7Vy5iaW5QPVByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmZldGNoKG4pKS50aGVuKEQ9PntpZighRC5vayl0aHJvdyBFcnJvcihgSFRUUCR7RC5zdGF0dXNUZXh0fWApOwpyZXR1cm4gRC5hcnJheUJ1ZmZlcigpfSk7ClcuYmluUC50aGVuKEQ9PntXLmJpbj1EfSwoKT0+e1BYKG4pfSk7CnJldHVybiBXLmJpblB9OwpFZD1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1aSy50WCgpLHY9biYmVWQ7aWYoIXYmJiFXKXJldHVybiBEPy4oIndhc21ucyIse3A6bj8iMSI6IjAiLGE6Vz8iMSI6IjAiLHM6VWQ/IjEiOiIwIn0pLGZsKEVycm9yKCJ3YXNtLndtLm5zIikpO3ZhciBrPW5ldyBRNXI7aWYodil0cnl7bGV0IGg9eWllbGQqUFAoVk9yKGssbikpLHg9bmV3IHlNKGgsaywhMSk7WksuZVUoIndpbml0IixiKTtEPy4oIndhc21zdyIse30pO3JldHVybiB4fWNhdGNoKGgpe2lmKEQ/Ligid2FzbWVycnciLHtlOmAke2h9YH0pLCFXKXRocm93IEVycm9yKCJ3YXNtLndtLml3Iix7Y2F1c2U6aH0pO31pZighVyl0aHJvdyBFcnJvcigid2FzbS53bS54eCIpO3RyeXtsZXQgaD15aWVsZCpQUChXKGspKSx4PW5ldyB5TSh7ZXhwb3J0czpofSxrLCEwKTtaSy5lVSgid2luaXRqcyIsYik7RD8uKCJ3YXNtc2EiLHt9KTtyZXR1cm4geH1jYXRjaChoKXt0aHJvdyBEPy4oIndhc21lcnJhIiwKe2U6YCR7aH1gfSksRXJyb3IoYHdhc20ud20uaWE6ICR7aH1gKTt9fSgpfSl9OwpWT3I9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28oYyR0LGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7aWYoIUQuTil0aHJvdyJ3YXNtLnBzLm5zIjt2YXIgYj15aWVsZCpQUChhdHQoRCxXKSk7aWYoIWIpdGhyb3cid2FzbS5wcy51bSI7cmV0dXJuIHlpZWxkKlBQKFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKGIsbikpfSgpfSl9OwphdHQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gT28obixmdW5jdGlvbigpe3ZhciBEPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPVtdLHY9KCk9PiJ3YXNtLnBzLmM6IFsiK2IubWFwKHg9PmAiJHt4fSJgKS5qb2luKCIsICIpKyJdIixrPU9kKFcpOwppZihrLm1vZClyZXR1cm4gay5tb2Q7aWYoay5tb2RQKXRyeXtyZXR1cm4geWllbGQqUFAoay5tb2RQKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBjbSIpfXZhciBoPWsuYmluO2lmKCFoJiZrLmJpblApdHJ5e2g9eWllbGQqUFAoay5iaW5QKX1jYXRjaCh4KXtiLnVuc2hpZnQoInBmYiIpfWlmKCFoKXRyeXtoPXlpZWxkKlBQKFJnVShXKSl9Y2F0Y2goeCl7dGhyb3cgRC5OPSExLGIudW5zaGlmdChgZmI6ICR7eH1gKSx2KCk7fXRyeXtyZXR1cm4geWllbGQqUFAoV2ViQXNzZW1ibHkuY29tcGlsZShoKSl9Y2F0Y2goeCl7UFgoVyksYi51bnNoaWZ0KGBjYTogJHt4fWApfXRocm93IHYoKTt9KCl9KX07CmlvPWZ1bmN0aW9uKG4sVyxELGIpe0Q9bi5XVi5tZW1vcnkuY29weUluKEQpO3ZhciB2PW4uTjt2LldWLmV4cG9ydHMuQUVTMTI4Q1RSQ2lwaGVyX3NldENvdW50ZXIodi5jaXBoZXIsRC5ieXRlT2Zmc2V0KTtXPW4uV1YubWVtb3J5LmNvcHlJbihXKTtuLk4uZW5jcnlwdChXKTt2PXZvaWQgMDtpZihiKXtiPW4uV1Y7dj1uLko7bGV0IGs9Yi5tZW1vcnkuYnVmZmVyKGIubWVtb3J5Lm1hbGxvYygzMiksMzIpO2IuZXhwb3J0cy5TaGEyNTZIbWFjKHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgsRC5ieXRlT2Zmc2V0LEQuYnl0ZUxlbmd0aCxXLmJ5dGVPZmZzZXQsVy5ieXRlTGVuZ3RoLGsuYnl0ZU9mZnNldCk7dj1uLldWLm1lbW9yeS5tb3ZlT3V0KGspfW4uV1YubWVtb3J5LmZyZWUoRC5ieXRlT2Zmc2V0KTtyZXR1cm57RzQ6bi5XVi5tZW1vcnkubW92ZU91dChXKSxzaWduYXR1cmU6dn19OwpuWUM9ZnVuY3Rpb24obil7bi5FaC5leHBvcnRzLlRyYWNrZWRQb2ludGVyX3JlbGVhc2Uobi5pZCl9Owpvbj1mdW5jdGlvbihuKXtuLlh8fChuLlg9bmV3IHVvKG4uSikpO3JldHVybiBuLlh9OwpnLmQxPWZ1bmN0aW9uKG4pe3RyeXtyZXR1cm4gbHAobil9Y2F0Y2goVyl7cmV0dXJuIG51bGx9fTsKekw9ZnVuY3Rpb24obil7dmFyIFc9SG4oKTtpZihXLnZhbHVlcyl7Vz1XLnZhbHVlcztsZXQgaD17fTtmb3IodmFyIEQgb2YgT2JqZWN0LmtleXMobi52YWx1ZXMpKXtXW0RdJiZuLkpbRF0mJihuLnZhbHVlc1tEXSs9V1tEXS1uLkpbRF0pO3ZhciBiPW4sdj1iO2lmKCF2LnZhbHVlc1tEXSl7dmFyIGs9SG4oKTt2LnZhbHVlcz1rLnZhbHVlc3x8e307di5GWT1rLmhhbGZMaXZlc3x8e307di5KPWsudmFsdWVzP09iamVjdC5hc3NpZ24oe30say52YWx1ZXMpOnt9fWhbRF09Yi52YWx1ZXNbRF0mJmIuRllbRF0/Yi52YWx1ZXNbRF0vMioqKGIuTi9iLkZZW0RdKTowfW4uSj1ofUQ9bi5GWTtXPXt9O1cudmFsdWVzPW4uSjtXLmhhbGZMaXZlcz1EO2cuUEIoInl0LXBsYXllci1tZW1vcnkiLFcsMjU5MkUzKX07Clh2PWZ1bmN0aW9uKG4sVyl7cmV0dXJuISFXJiYhIW4uWnQoKS5OLlFRKFdJTSkmJihXLnN0YXJ0c1dpdGgoImciKXx8Vy5zdGFydHNXaXRoKCJsIikpfTsKZy5zZD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iTVdFQiJ9OwpUTD1mdW5jdGlvbihuKXtuLmdUPT09bnVsbCYmKG4uZ1Q9d2luZG93Lk1lZGlhU291cmNlJiZ3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkP3dpbmRvdy5NZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSI7IGRlY29kZS10by10ZXh0dXJlPXRydWUnKTohMSk7cmV0dXJuIG4uZ1R9OwpqVD1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9TSU1QTFlfRU1CRURERURfUExBWUVSIn07CmcubzQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uSiYmZy5DTihuKSYmIUJYKG4pJiYhbi5YfTsKQlg9ZnVuY3Rpb24obil7cmV0dXJuIG4uWT09PSJhZHVuaXQifHxuLnBsYXllclN0eWxlPT09Imd2biJ9OwpGVj1mdW5jdGlvbihuKXtyZXR1cm4gbi5ZPT09ImRldGFpbHBhZ2UifTsKZy53MT1mdW5jdGlvbihuKXtyZXR1cm4gdzgmJiFuLnhofHxnLnViKCJuaW50ZW5kbyB3aWl1Iik/ITA6ITF9OwpnLkNOPWZ1bmN0aW9uKG4pe3JldHVybiBuLlk9PT0iZW1iZWRkZWQifTsKZy5NVj1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX1JFTUlYIn07ClFNPWZ1bmN0aW9uKG4pe2lmKCFuLndlYlBsYXllckNvbnRleHRDb25maWc/LmVtYmVkc0hvc3RGbGFncz8uZW5hYmxlTGl0ZVV4fHxuLnZKfHxuLlh8fG4uRHx8bi5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRlAiKXJldHVybiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX05PTkUiO249Zy5kTShuLmV4cGVyaW1lbnRzLCJlbWJlZHNfd2ViX2xpdGVfbW9kZSIpO3JldHVybiBuPT09dm9pZCAwPyJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04iOm4+PTAmJm48Um4ubGVuZ3RoP1JuW25dOiJFTUJFRERFRF9QTEFZRVJfTElURV9NT0RFX1VOS05PV04ifTsKY1g9ZnVuY3Rpb24obixXLEQ9ITEpe24uUyQ9Yk8obi5TJCxXLnZpZGVvX2lkKTtuLmZCPWJPKG4uZkIsVy5ldmVudGlkKTtuLmZCJiYod289bi5mQik7dmFyIGI9W107Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKFZNKSl7bGV0IGs9Vk1bdl0saD1XW2tdO2ghPW51bGwmJihoIT09bi5OW2tdJiZiLnB1c2goayksbi5OW2tdPWgpfSFEJiZiLmxlbmd0aD4wJiZuLm9NJiYoYi5zb3J0KCksZy5HcShuZXcgZy5ReCgiUGxheWVyIGNsaWVudCBwYXJhbWV0ZXJzIGNoYW5nZWQgYWZ0ZXIgc3RhcnR1cCIsYikpKTtuLnVzZXJBZ2U9REkobi51c2VyQWdlLFcudXNlcl9hZ2UpO24udXNlckRpc3BsYXlJbWFnZT1iTyhuLnVzZXJEaXNwbGF5SW1hZ2UsVy51c2VyX2Rpc3BsYXlfaW1hZ2UpO2cuakkobi51c2VyRGlzcGxheUltYWdlKXx8KG4udXNlckRpc3BsYXlJbWFnZT0iIik7bi51c2VyRGlzcGxheU5hbWU9Yk8obi51c2VyRGlzcGxheU5hbWUsVy51c2VyX2Rpc3BsYXlfbmFtZSk7bi55dz1iTyhuLnl3LApXLnVzZXJfZ2VuZGVyKTtuLmNzaVBhZ2VUeXBlPWJPKG4uY3NpUGFnZVR5cGUsVy5jc2lfcGFnZV90eXBlKTtuLmNzaVNlcnZpY2VOYW1lPWJPKG4uY3NpU2VydmljZU5hbWUsVy5jc2lfc2VydmljZV9uYW1lKTtuLmVWPW55KG4uZVYsVy5lbmFibGVjc2kpO24ucGFnZUlkPWJPKG4ucGFnZUlkLFcucGFnZWlkKTtpZihEPVcuZW5hYmxlZF9lbmdhZ2VfdHlwZXMpbi5lbmFibGVkRW5nYWdlVHlwZXM9bmV3IFNldChELnNwbGl0KCIsIikpO1cubGl2aW5nX3Jvb21fc2Vzc2lvbl9wb190b2tlbiYmKG4ualc9Vy5saXZpbmdfcm9vbV9zZXNzaW9uX3BvX3Rva2VuLnRvU3RyaW5nKCkpfTsKZy5hbj1mdW5jdGlvbihuKXtyZXR1cm4vd2ViL2kudGVzdChsbyhuKSl9Owpsbz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmN9OwpjOT1mdW5jdGlvbihuLFcpe3JldHVybiFuLlgmJm9LKCkmJkNfKDU1KSYmbi5jb250cm9sc1R5cGU9PT0iMyImJiFXfTsKV0U9ZnVuY3Rpb24obil7bj1nLm5FKG4uRGEpO3JldHVybiBuPT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSI/Ind3dy55b3V0dWJlLmNvbSI6bn07CmcuRGY9ZnVuY3Rpb24obil7cmV0dXJuIGxvKG4pPT09IldFQl9VTlBMVUdHRUQifTsKYmk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBuLnByb3RvY29sKyI6Ly9pMS55dGltZy5jb20vdmkvIitXKyIvIisoRHx8ImhxZGVmYXVsdC5qcGciKX07CnZFPWZ1bmN0aW9uKG4pe3JldHVybiBGVihuKSYmIWcuRGYobil9OwpnLms2PWZ1bmN0aW9uKG4pe3JldHVybi9eVFZIVE1MNS8udGVzdChsbyhuKSl9OwpodT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iVFZIVE1MNV9DQVNUInx8bG8obik9PT0iVFZIVE1MNSImJihuLk4uY3Zlci5zdGFydHNXaXRoKCI2LjIwMTMwNzI1Iil8fG4uTi5jdmVyLnN0YXJ0c1dpdGgoIjYuMjAxMzA3MjYiKSl9OwpnLng2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1In07CkxFPWZ1bmN0aW9uKG4pe3JldHVybiBuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QgVUxUUkEvU1RFQUsifHxuLk4uY21vZGVsPT09IkNIUk9NRUNBU1QvU1RFQUsifTsKZy5IXz1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbz4xP3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvOjF9OwpnLmVNPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKS50b1VwcGVyQ2FzZSgpPT09IldFQiJ9OwpnLlhDPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfS0lEUyJ9OwpnLnFGPWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJUVkhUTUw1X1VOUExVR0dFRCJ9OwpnLkdsPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRmKG4pfHxsbyhuKT09PSJUVl9VTlBMVUdHRURfQ0FTVCJ8fGcucUYobil9Owp0dT1mdW5jdGlvbihuKXtyZXR1cm4gbG8obik9PT0iV0VCX01VU0lDX0lOVEVHUkFUSU9OUyJ9OwpnLiQ2PWZ1bmN0aW9uKG4pe3JldHVybiBsbyhuKT09PSJXRUJfRU1CRURERURfUExBWUVSIn07Cmcubk49ZnVuY3Rpb24obil7cmV0dXJuKG4uZGV2aWNlSXNBdWRpb09ubHl8fCFnLm9kfHxnLk1MfHxuLmNvbnRyb2xzVHlwZT09PSIzIj8hMTpnLlFIP24uSiYmZy5aWCg1MSk6ITApfHwobi5kZXZpY2VJc0F1ZGlvT25seXx8IWcuYW98fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDQ4KTpnLlpYKDM4KSl8fChuLmRldmljZUlzQXVkaW9Pbmx5fHwhcmN8fGcuTUx8fG4uY29udHJvbHNUeXBlPT09IjMiPyExOmcuUUg/bi5KJiZnLlpYKDM3KTpnLlpYKDI3KSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLnNtJiYhRm4oKSYmZy5aWCgxMSl8fCFuLmRldmljZUlzQXVkaW9Pbmx5JiZnLkduJiZnLlpYKCI2MDQuNCIpfHxuLldjKCl9OwpacVM9ZnVuY3Rpb24obil7aWYoZy5DTihuKSYmTkYpcmV0dXJuITE7aWYoZy5hbyl7aWYoIWcuWlgoNDcpfHwhZy5aWCg1MikmJmcuWlgoNTEpKXJldHVybiExfWVsc2UgaWYoZy5HbilyZXR1cm4hMTtyZXR1cm4gd2luZG93LkF1ZGlvQ29udGV4dHx8d2luZG93LndlYmtpdEF1ZGlvQ29udGV4dD8hMDohMX07CmcucEU9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5lbmFibGVkRW5nYWdlVHlwZXMuaGFzKFcudG9TdHJpbmcoKSl8fER2aS5pbmNsdWRlcyhXKX07CnZZaj1mdW5jdGlvbihuKXt2YXIgVz1XRShuKTtiVmkuaW5jbHVkZXMoVykmJihXPSJ3d3cueW91dHViZS5jb20iKTtyZXR1cm4gbi5wcm90b2NvbCsiOi8vIitXfTsKZy5IRT1mdW5jdGlvbihuLFc9IiIpe2lmKG4uSFkpe2xldCBEPW5ldyBZNixiLHY9bi5IWSgpO3Yuc2lnbmVkT3V0P2I9IiI6di50b2tlbj9iPXYudG9rZW46di5wZW5kaW5nUmVzdWx0LnRoZW4oaz0+e3Yuc2lnbmVkT3V0P0QucmVzb2x2ZSgiIik6RC5yZXNvbHZlKGsudG9rZW4pfSxrPT57Zy5HcShuZXcgZy5ReCgiYjE4OTM0ODMyOF9vYXV0aF9jYWxsYmFja19mYWlsZWQiLHtlcnJvcjprfSkpOwpELnJlc29sdmUoVyl9KTsKcmV0dXJuIGIhPT12b2lkIDA/Zy5IMChiKTpuZXcgTlgoRCl9cmV0dXJuIGcuSDAoVyl9OwpmRT1mdW5jdGlvbihuLFc9IiIpe3JldHVybiBuLllyP0hQKCEwKTpLbChTayhIUChnLkhFKG4sVykpLEQ9PkhQKCEhRCkpLCgpPT5IUCghMSkpfTsKSnU9ZnVuY3Rpb24obixXKXtpZihuLldWPVcpbi5QWD8uTj8uVihXKSxXLmlzQXNtanM/bi5reS5wdXNoKCJhc21qcyIpOm4ua3kucHVzaCgid2FzbSIpfTsKZy5uRT1mdW5jdGlvbihuKXt2YXIgVz1nLklQKG4pO3JldHVybihuPU51bWJlcihnLmZwKG4pWzRdfHxudWxsKXx8bnVsbCk/YCR7V306JHtufWA6V307ClNNPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9WWdbbl0sYj1JQVtEXSx2PWtIcltuXTtpZighdnx8IWIpcmV0dXJuIG51bGw7Vz1uZXcgSFIoVz92LmhlaWdodDp2LndpZHRoLFc/di53aWR0aDp2LmhlaWdodCx2LmZwcyk7Yj1wNihiLFcsRCk7cmV0dXJuIG5ldyBtdShuLGIse3ZpZGVvOlcsTnM6di5iaXRyYXRlLzh9KX07CkF1PWZ1bmN0aW9uKG4pe3ZhciBXPUlBW1lnW25dXSxEPWhFU1tuXTtyZXR1cm4gRCYmVz9uZXcgbXUobixXLHthdWRpbzpuZXcgQU0oRC5hdWRpb1NhbXBsZVJhdGUsRC5udW1DaGFubmVscyl9KTpudWxsfTsKVlA9ZnVuY3Rpb24obixXLEQsYil7aWYoRClyZXR1cm4gZy5wJCgpO0Q9e307dmFyIHY9aTgoKTtmb3IobGV0IGsgb2YgVylpZihuLmNhblBsYXlUeXBlKHYsay5rTCgpLm1pbWVUeXBlKXx8YilpZihXPWsuTi52aWRlby5xdWFsaXR5LCFEW1ddfHxEW1ddLmtMKCkucUgoKSlEW1ddPWs7bj1bXTtELmF1dG8mJm4ucHVzaChELmF1dG8pO2ZvcihsZXQgayBvZiBwTSkoYj1EW2tdKSYmbi5wdXNoKGIpO3JldHVybiBuLmxlbmd0aD9nLkgwKG4pOmcucCQoKX07CktFPWZ1bmN0aW9uKG4sVz0hMSxEPSEwLGI9e30pe3ZhciB2PXt9O2ZvcihsZXQgaCBvZiBuKXtpZihXJiZNZWRpYVNvdXJjZSYmTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkJiYobj1oLnR5cGUsaC5hdWRpb19jaGFubmVscyYmKG49bisiOyBjaGFubmVscz0iK2guYXVkaW9fY2hhbm5lbHMpLCFNZWRpYVNvdXJjZS5pc1R5cGVTdXBwb3J0ZWQobikpKXtiW2guaXRhZ109InRwdXMiO2NvbnRpbnVlfWlmKCFEJiZoLmRybV9mYW1pbGllcyYmKGguZW90Zj09PSJzbXB0ZTIwODQifHxoLmVvdGY9PT0iYXJpYi1zdGQtYjY3Iikpe2JbaC5pdGFnXT0iZW5jaGRyIjtjb250aW51ZX1uPXZvaWQgMDtsZXQgeD17YnQ3MDk6IlNEUiIsYnQyMDIwOiJTRFIiLHNtcHRlMjA4NDoiUFEiLCJhcmliLXN0ZC1iNjciOiJITEcifTt2YXIgaz1oLnR5cGUubWF0Y2goL2NvZGVjcz0iKFteIl0qKSIvKTtrPWs/a1sxXToiIjtoLmF1ZGlvX3RyYWNrX2lkJiYobj1uZXcgd1AoaC5uYW1lLGguYXVkaW9fdHJhY2tfaWQsCiEhaC5pc19kZWZhdWx0KSk7bGV0IEw9aC5lb3RmO249bmV3IG04KHtpdGFnOmguaXRhZyx1cmw6aC51cmwsY29kZWNzOmssd2lkdGg6TnVtYmVyKGgud2lkdGgpLGhlaWdodDpOdW1iZXIoaC5oZWlnaHQpLGZwczpOdW1iZXIoaC5mcHMpLGJpdHJhdGU6TnVtYmVyKGguYml0cmF0ZSksYXVkaW9JdGFnOmguYXVkaW9faXRhZyxVaDpMP3hbTF06dm9pZCAwLGNvbnRlbnRQcm90ZWN0aW9uOmguZHJtX2ZhbWlsaWVzLGtaOm4sYXVkaW9DaGFubmVsczpOdW1iZXIoaC5hdWRpb19jaGFubmVscyl9KTt2W24uaXRhZ109dltuLml0YWddfHxbXTt2W24uaXRhZ10ucHVzaChuKX1yZXR1cm4gdn07CnZhciB4dlU9ZnVuY3Rpb24obixXKXtyZXR1cm4gZ1pbSVsxMF1dKHRoaXMsMSw3ODUyLG4sVyl9OwpMSUM9ZnVuY3Rpb24obixXKXtuLlcuc29tZShEPT5ELmtaPy5nZXRJZCgpPT09Vyk7Cm4uTj1XfTsKZUVpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9W107Zm9yKGxldCBiIG9mIG4uSiliLmJpdHJhdGU8PW4uWD9XLnB1c2goYik6RC5wdXNoKGIpO1cuc29ydCgoYix2KT0+di5iaXRyYXRlLWIuYml0cmF0ZSk7CkQuc29ydCgoYix2KT0+Yi5iaXRyYXRlLXYuYml0cmF0ZSk7Cm4uSj1XLmNvbmNhdChEKX07Ck9tPWZ1bmN0aW9uKG4sVyxEKXtuLmNwbiYmKFc9Zy5FVChXLHtjcG46bi5jcG59KSk7RCYmKFc9Zy5FVChXLHt2WjpEfSkpO3JldHVybiBXfTsKUEU9ZnVuY3Rpb24obixXKXtuPW4uaXRhZy50b1N0cmluZygpO1chPT1udWxsJiYobis9Vy5pdGFnLnRvU3RyaW5nKCkpO3JldHVybiBufTsKZ1laPWZ1bmN0aW9uKG4sVyl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gbnVsbDtuPUtFKFcsbi5TKCJodG1sNV9maWx0ZXJfZm1wNF9pbl9obHMiKSk7aWYoIW4pcmV0dXJuIG51bGw7Vz1bXTt2YXIgRD17fTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobikpZm9yKGxldCB2IG9mIG5bYl0paWYodi5rWil7bGV0IGs9di5rWi5nZXRJZCgpO2lmKCFEW2tdKXtsZXQgaD1uZXcgV0Eoayx2LmtaKTtEW2tdPWg7Vy5wdXNoKGgpfX1yZXR1cm4gVy5sZW5ndGg+MD9XOm51bGx9Owp0bU09ZnVuY3Rpb24obixXLEQsYix2LGssaCl7aWYoIShnLk1MfHxDJCgpfHx6USgpKSlyZXR1cm4gZy5wJCgpO3ZhciB4PXt9LEw9WDNTKEQpLGU9S0UoRCxuLlMoImh0bWw1X2ZpbHRlcl9mbXA0X2luX2hscyIpLG4uVy5LLHgpO2lmKCFlKXJldHVybiBoKHtub3Bsc3Q6MX0pLGcucCQoKTtxbGgoZSk7dmFyIEc9e2ZhaXJwbGF5OiJodHRwczovL3lvdXR1YmUuY29tL2FwaS9kcm0vZnBzP2VrPXVuaW5pdGlhbGl6ZWQifSxyO0Q9W107dmFyIE49W10sSD1bXSxBPW51bGwseT0iIjtiPWImJmIubWF0Y2goL2hsc190aW1lZHRleHRfcGxheWxpc3QvKT9uZXcgbTgoe2l0YWc6IjAiLHVybDpiLGNvZGVjczoidnR0Iix3aWR0aDowLGhlaWdodDowLGZwczowLGJpdHJhdGU6MCxrWjpuZXcgd1AoIkVuZ2xpc2giLCJlbiIsITEpfSk6bnVsbDtmb3IobGV0IFEgb2YgT2JqZWN0LmtleXMoZSkpaWYoIW4uUygiaHRtbDVfZGlzYWJsZV9kcm1faGZyXzEwODAiKXx8USE9PSIzODMiJiZRIT09IjM3MyIpZm9yKGxldCBWIG9mIGVbUV0paWYoVi53aWR0aCl7Zm9yKGxldCBIWiBvZiBWLkopaWYoZVtIWl0pe1YuTj0KSFo7YnJlYWt9Vi5OfHwoVi5OPUdIdChlLFYpKTtsZXQgTHQ9ZVtWLk5dO2lmKCFMdCljb250aW51ZTtELnB1c2goVik7Vi5jb250ZW50UHJvdGVjdGlvbj09PSJmYWlycGxheSImJihyPUcpO2xldCB0aT0iIjtWLlVoPT09IlBRIj90aT0ic21wdGUyMDg0IjpWLlVoPT09IkhMRyImJih0aT0iYXJpYi1zdGQtYjY3Iik7dGkmJih5PXRpKTtILnB1c2goWmYoTHQsW1ZdLGIsayxWLml0YWcsVi53aWR0aCxWLmhlaWdodCxWLmZwcyxMLHZvaWQgMCx2b2lkIDAscix0aSkpO2lmKCFBfHxWLndpZHRoKlYuaGVpZ2h0KlYuZnBzPkEud2lkdGgqQS5oZWlnaHQqQS5mcHMpQT1WfWVsc2UgTi5wdXNoKFYpO2Vsc2UgeFtRXT0iZGlzZHJtaGZyIjtILnJlZHVjZSgoUSxWKT0+Vi5rTCgpLmlzRW5jcnlwdGVkKCkmJlEsITApJiYocj1HKTsKdj1NYXRoLm1heCh2LDApO3ZhciB7ZnBzOlQ9MCx3aWR0aDp6PTAsaGVpZ2h0OkM9MH09QXx8e307QT1uLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKTtILnB1c2goWmYoTixELGIsaywiOTMiLHosQyxULEwsImF1dG8iLHYscix5LEEpKTtPYmplY3QuZW50cmllcyh4KS5sZW5ndGgmJmgoeCk7cmV0dXJuIFZQKG4uVyxILGM5KG4sVyksITEpfTsKWmY9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSxHLHIsTixIKXt2YXIgQT0wLHk9IiI7Zm9yKGxldCBUIG9mIG4peXx8KHk9VC5pdGFnKSxULmF1ZGlvQ2hhbm5lbHMmJlQuYXVkaW9DaGFubmVscz5BJiYoQT1ULmF1ZGlvQ2hhbm5lbHMseT1ULml0YWcpO3Y9bmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2F1ZGlvOm5ldyBBTSgwLEEpLHZpZGVvOm5ldyBIUihrLGgseCxudWxsLHZvaWQgMCxlLHZvaWQgMCx2b2lkIDAsTiksY29udGVudFByb3RlY3Rpb246cixBYTp5fSk7bj1uZXcgJHYxKG4sVyxEP1tEXTpbXSxiLCEhSCk7bi5YPUc/RzoxMzY5ODQzO3JldHVybiBuZXcgVW0odixuLEwpfTsKWDNTPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuKWlmKFcudXJsJiYobj1XLnVybC5zcGxpdCgiZXhwaXJlLyIpLCEobi5sZW5ndGg8PTEpKSlyZXR1cm4rblsxXS5zcGxpdCgiLyIpWzBdO3JldHVybiBOYU59OwpHSHQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2YgT2JqZWN0LmtleXMobikpe2xldCBiPW5bRF1bMF07aWYoIWIud2lkdGgmJmIuY29udGVudFByb3RlY3Rpb249PT1XLmNvbnRlbnRQcm90ZWN0aW9uJiYhYi5hdWRpb0NoYW5uZWxzKXJldHVybiBEfXJldHVybiIifTsKcWxoPWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBTZXQ7Zm9yKHZhciBEIG9mIE9iamVjdC52YWx1ZXMobikpaWYoRC5sZW5ndGgpe3ZhciBiPURbMF07Yi5oZWlnaHQmJmIuY29kZWNzLnN0YXJ0c1dpdGgoInZwMDkiKSYmVy5hZGQoYi5oZWlnaHQpfUQ9W107aWYoVy5zaXplKWZvcihsZXQgdiBvZiBPYmplY3Qua2V5cyhuKSluW3ZdLmxlbmd0aCYmKGI9blt2XVswXSxiLmhlaWdodCYmVy5oYXMoYi5oZWlnaHQpJiYhYi5jb2RlY3Muc3RhcnRzV2l0aCgidnAwOSIpJiZELnB1c2godikpO2ZvcihsZXQgdiBvZiBEKWRlbGV0ZSBuW3ZdfTsKcnFaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHYgb2YgRCl7aWYoIXZ8fCF2LnVybCljb250aW51ZTtEPVFQKHYudHlwZSwibWVkaXVtIiwiMCIpO2IucHVzaChuZXcgeW4oRCx2LnVybCkpfXJldHVybiBWUChuLlcsYixjOShuLFcpLCExKX07CnNpcj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdLGI9UVAoVy50eXBlLCJhdXRvIixXLml0YWcpO0QucHVzaChuZXcgeW4oYixXLnVybCkpO3JldHVybiBWUChuLlcsRCwhMSwhMCl9OwppaT1mdW5jdGlvbihuKXtyZXR1cm4gbiYmRW1bbl0/RW1bbl06bnVsbH07CnVpPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJtdWx0aXZpZXcudXN0cmVhbWVyX2Rpc2FibGVkIjpjYXNlICJzYWJyLmludmFsaWRfaW5wdXRfc3RyZWFtIjpjYXNlICJzYWJyLmxpdmVfbm9fbWF4X3NxIjpjYXNlICJzYWJyLmxpdmVfdW5hdXRob3JpemVkX3JlcXVlc3QiOmNhc2UgInNhYnIubWFsZm9ybWVkX2NvbmZpZyI6Y2FzZSAic2Fici5tZWRpYV9zZXJ2aW5nX2VuZm9yY2VtZW50X2lkX2Vycm9yIjpjYXNlICJzYWJyLm1ldGFkYXRhX2ZldGNoZXJfZXJyb3IiOmNhc2UgInNhYnIubm9fYXVkaW9fc2VsZWN0ZWQiOmNhc2UgInNhYnIubm9fYXZhaWxhYmxlX2Zvcm1hdHMiOmNhc2UgInNhYnIubm9fcmVkaXJlY3RfdXJsIjpjYXNlICJzYWJyLm5vX3ZpZGVvX3NlbGVjdGVkIjpjYXNlICJzYWJyLm90Zl9ub3Rfc3VwcG9ydGVkIjpjYXNlICJzYWJyLnRvb19tYW55X2NodW5rX3JlYWRlcl9lcnJvcl9yZXRyaWVzIjpyZXR1cm4gbjtkZWZhdWx0OnJldHVybiJzYWJyLmNvbmZpZyJ9fTsKb0E9ZnVuY3Rpb24obixXKXtpZihXPVc/LndhdGNoRW5kcG9pbnRTdXBwb3J0ZWRPbmVzaWVDb25maWc/Lmh0bWw1UGxheWJhY2tPbmVzaWVDb25maWcpbi5RYT1uZXcgTiR3KFcpfTsKVGw9ZnVuY3Rpb24obixXLEQsYil7bnx8KG49VyYmZGMuaGFzT3duUHJvcGVydHkoVykmJnpsLmhhc093blByb3BlcnR5KFcpP3psW1ddKyJfIitkY1tXXTp2b2lkIDApO1c9bjtpZighVylyZXR1cm4gbnVsbDtuPVcubWF0Y2gobGkpO2lmKCFufHxuLmxlbmd0aCE9PTUpcmV0dXJuIG51bGw7e2xldCBrPVcubWF0Y2gobGkpO2lmKGspe249TnVtYmVyKGtbM10pO3ZhciB2PVs3LDgsMTAsNSw2XTtuPSEoTnVtYmVyKGtbMV0pPT09MSYmbj09PTgpJiZ2LmluZGV4T2Yobik+PTB9ZWxzZSBuPSExfXJldHVybiBEfHxifHxuP1c6bnVsbH07CkNFPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9e307Zm9yKGxldCB2IG9mIE9iamVjdC5rZXlzKGpNKSl7dmFyIGI9Vz9XK3Y6djtiPW5bYisiX3dlYnAiXXx8bltiXTtnLmpJKGIpJiYoRFtqTVt2XV09Yil9cmV0dXJuIER9Owp3Yz1mdW5jdGlvbihuKXt2YXIgVz17fTtpZighbnx8IW4udGh1bWJuYWlscylyZXR1cm4gVztuPW4udGh1bWJuYWlscy5maWx0ZXIodj0+ISF2LnVybCk7Cm4uc29ydCgodixrKT0+di53aWR0aC1rLndpZHRofHx2LmhlaWdodC1rLmhlaWdodCk7CmZvcih2YXIgRCBvZiBPYmplY3Qua2V5cyhCRSkpe3ZhciBiPU51bWJlcihEKTtsZXQgdj1CRVtiXTtmb3IobGV0IGsgb2YgbilpZihrLndpZHRoPj1iKXtiPUZDKGsudXJsKTtnLmpJKGIpJiYoV1t2XT1iKTticmVha319KEQ9bi5wb3AoKSkmJkQud2lkdGg+PTEyODAmJihEPUZDKEQudXJsKSxnLmpJKEQpJiYoV1sibWF4cmVzZGVmYXVsdC5qcGciXT1EKSk7cmV0dXJuIFd9OwpGQz1mdW5jdGlvbihuKXtyZXR1cm4gbi5zdGFydHNXaXRoKCIvLyIpPyJodHRwczoiK246bn07Ck1GPWZ1bmN0aW9uKG4pe3JldHVybiBuJiZuLmJhc2VVcmx8fCIifTsKUkE9ZnVuY3Rpb24obil7bj1nLm9FKG4pO2ZvcihsZXQgVyBvZiBPYmplY3Qua2V5cyhuKSl7bGV0IEQ9bltXXTtuW1ddPUFycmF5LmlzQXJyYXkoRCk/RFswXTpEfXJldHVybiBufTsKWWx3PWZ1bmN0aW9uKG4sVyl7Zm9yKHZhciBEIG9mIFcpaWYoVz1ELnBsYXllckFubm90YXRpb25zVXJsc1JlbmRlcmVyKXtXLmFkc09ubHkmJihuLlJtPSEwKTtpZihEPVcubG9hZFBvbGljeSluLmFubm90YXRpb25zTG9hZFBvbGljeT1wM01bRF07aWYoRD1XLmludmlkZW9Vcmwpbi5lYT1GTihEKTtuLnk1PSEwO2JyZWFrfX07ClFuPWZ1bmN0aW9uKG4sVyl7bi5ib3RndWFyZERhdGE9Vy5wbGF5ZXJBdHRlc3RhdGlvblJlbmRlcmVyLmJvdGd1YXJkRGF0YTtXPVcucGxheWVyQXR0ZXN0YXRpb25SZW5kZXJlci5jaGFsbGVuZ2U7VyE9bnVsbCYmKG4ucEs9Vyl9OwpIVng9ZnVuY3Rpb24obixXKXtuLmNhcHRpb25UcmFja3M9W107aWYoVy5jYXB0aW9uVHJhY2tzKWZvcih2YXIgRCBvZiBXLmNhcHRpb25UcmFja3Mpe3ZhciBiPVZuKEQuYmFzZVVybCk7aWYoIWIpcmV0dXJuO2I9e2lzX3RyYW5zbGF0ZWFibGU6ISFELmlzVHJhbnNsYXRhYmxlLGxhbmd1YWdlQ29kZTpELmxhbmd1YWdlQ29kZSxsYW5ndWFnZU5hbWU6RC5uYW1lJiZnLkRwKEQubmFtZSksdXJsOmIsdnNzX2lkOkQudnNzSWQsa2luZDpELmtpbmR9O2IubmFtZT1ELnRyYWNrTmFtZTtiLmRpc3BsYXlOYW1lPUQubmFtZSYmZy5EcChELm5hbWUpO24uY2FwdGlvblRyYWNrcy5wdXNoKG5ldyBnLlF3KGIpKX1uLlR3PVcuYXVkaW9UcmFja3N8fFtdO24uTyQ9Vy5kZWZhdWx0QXVkaW9UcmFja0luZGV4fHwwO24ucnA9W107aWYoVy50cmFuc2xhdGlvbkxhbmd1YWdlcylmb3IobGV0IHYgb2YgVy50cmFuc2xhdGlvbkxhbmd1YWdlcyl7RD17fTtELmxhbmd1YWdlQ29kZT12Lmxhbmd1YWdlQ29kZTsKRC5sYW5ndWFnZU5hbWU9Zy5EcCh2Lmxhbmd1YWdlTmFtZSk7aWYodi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyl7RC50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcz1bXTtmb3IobGV0IGsgb2Ygdi50cmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcylELnRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzLnB1c2goayl9aWYodi5leGNsdWRlQXVkaW9UcmFja0luZGljZXMpe0QuZXhjbHVkZUF1ZGlvVHJhY2tJbmRpY2VzPVtdO2ZvcihsZXQgayBvZiB2LmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcylELmV4Y2x1ZGVBdWRpb1RyYWNrSW5kaWNlcy5wdXNoKGspfW4ucnAucHVzaChEKX1uLmc1PVtdO2lmKFcuZGVmYXVsdFRyYW5zbGF0aW9uU291cmNlVHJhY2tJbmRpY2VzKWZvcihsZXQgdiBvZiBXLmRlZmF1bHRUcmFuc2xhdGlvblNvdXJjZVRyYWNrSW5kaWNlcyluLmc1LnB1c2godil9Owpmb2k9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcuZXJyb3JTY3JlZW47aWYoIShiJiYoYi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcnx8Yi5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjVHJhaWxlclJlbmRlcmVyfHxiLnlwY1RyYWlsZXJSZW5kZXJlcil8fEQmJkQuaXNVcGNvbWluZ3x8WyJPSyIsIkxJVkVfU1RSRUFNX09GRkxJTkUiLCJGVUxMU0NSRUVOX09OTFkiXS5pbmNsdWRlcyhXLnN0YXR1cykpKXtuLmVycm9yQ29kZT1paShXLmVycm9yQ29kZSl8fCJhdXRoIjtpZihEPWImJmIucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIpe24ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI9RDtsZXQgdj1ELnJlYXNvbjt2JiYobi5lcnJvclJlYXNvbj1nLkRwKHYpKTtpZihEPUQuc3VicmVhc29uKW4ud2k9Zy5EcChEKSxuLlRZPUR9ZWxzZSBuLmVycm9yUmVhc29uPVcucmVhc29ufHxudWxsO0Q9Vy5zdGF0dXM7RD09PSJMT0dJTl9SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0KIjEiOkQ9PT0iQ09OVEVOVF9DSEVDS19SRVFVSVJFRCI/bi5lcnJvckRldGFpbD0iMiI6RD09PSJBR0VfQ0hFQ0tfUkVRVUlSRUQiPyhXPShXPVcuZXJyb3JTY3JlZW4pJiZXLnBsYXllckthdlJlbmRlcmVyLG4uZXJyb3JEZXRhaWw9VyYmVy5rYXZVcmw/IjQiOiIzIik6KGI9Yj8ucGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXI/LnByb2NlZWRCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5jb21tYW5kLG4uZXJyb3JEZXRhaWw9Vy5pc0Jsb2NrZWRJblJlc3RyaWN0ZWRNb2RlPyI1IjpnLncoYixnLmNFKT8uc2lnbmFsPT09IlJFTE9BRF9QQUdFIj8iNyI6IjAiKX19OwpKcVo9ZnVuY3Rpb24obixXKXtuLllpPSEwO3ZhciBEPVcuaGVhcnRiZWF0VG9rZW47bi5kcm1TZXNzaW9uSWQ9Vy5kcm1TZXNzaW9uSWR8fCIiO24uaGVhcnRiZWF0VG9rZW49RHx8IiI7bi5zRT1OdW1iZXIoVy5pbnRlcnZhbE1pbGxpc2Vjb25kcyk7bi5sND1OdW1iZXIoVy5tYXhSZXRyaWVzKTtuLkg2PSEhVy5zb2Z0RmFpbE9uRXJyb3I7bi5EZD0hIVcudXNlSW5uZXJ0dWJlSGVhcnRiZWF0c0ZvckRybTtuLmhlYXJ0YmVhdFNlcnZlckRhdGE9Vy5oZWFydGJlYXRTZXJ2ZXJEYXRhO24uUE09ISFXLmhlYXJ0YmVhdEF0dGVzdGF0aW9uQ29uZmlnPy5yZXF1aXJlc0F0dGVzdGF0aW9ufTsKQXExPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9RC5pbnRlcnN0aXRpYWxzLm1hcChiPT57dmFyIHY9Zy53KGIsSW9iKTtpZih2KXJldHVybntpc195dG9faW50ZXJzdGl0aWFsOiEwLHJhd19wbGF5ZXJfcmVzcG9uc2U6dn07aWYoYj1nLncoYixTbE0pKXJldHVybiBPYmplY3QuYXNzaWduKHtpc195dG9faW50ZXJzdGl0aWFsOiEwfSxnLml3KGIpKX0pOwpmb3IobGV0IGIgb2YgVylzd2l0Y2goRC5wb2RDb25maWcucGxheWJhY2tQbGFjZW1lbnQpe2Nhc2UgIklOVEVSU1RJVElBTF9QTEFZQkFDS19QTEFDRU1FTlRfUFJFIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZTowLHBsYXllclZhcnM6YixrcTo1fSk7YnJlYWs7Y2FzZSAiSU5URVJTVElUSUFMX1BMQVlCQUNLX1BMQUNFTUVOVF9QT1NUIjpuLmludGVyc3RpdGlhbHM9bi5pbnRlcnN0aXRpYWxzLmNvbmNhdCh7dGltZToweDdmZmZmZmZmZmZmZmYscGxheWVyVmFyczpiLGtxOjZ9KTticmVhaztjYXNlICJJTlRFUlNUSVRJQUxfUExBWUJBQ0tfUExBQ0VNRU5UX0lOU0VSVF9BVF9WSURFT19USU1FIjpXPU51bWJlcihELnBvZENvbmZpZy50aW1lVG9JbnNlcnRBdE1pbGxpcyksbi5pbnRlcnN0aXRpYWxzPW4uaW50ZXJzdGl0aWFscy5jb25jYXQoe3RpbWU6VyxwbGF5ZXJWYXJzOmIsa3E6Vz09PTA/NTo3fSl9fX07Cm12aj1mdW5jdGlvbihuLFcpe2lmKFc9Vy5maW5kKEQ9PiEoIUR8fCFELnRvb2x0aXBSZW5kZXJlcikpKW4udG9vbHRpcFJlbmRlcmVyPVcudG9vbHRpcFJlbmRlcmVyfTsKYUE9ZnVuY3Rpb24obixXKXtXLnN1YnNjcmliZUNvbW1hbmQmJihuLnN1YnNjcmliZUNvbW1hbmQ9Vy5zdWJzY3JpYmVDb21tYW5kKTtXLnVuc3Vic2NyaWJlQ29tbWFuZCYmKG4udW5zdWJzY3JpYmVDb21tYW5kPVcudW5zdWJzY3JpYmVDb21tYW5kKTtXLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQmJihuLmFkZFRvV2F0Y2hMYXRlckNvbW1hbmQ9Vy5hZGRUb1dhdGNoTGF0ZXJDb21tYW5kKTtXLnJlbW92ZUZyb21XYXRjaExhdGVyQ29tbWFuZCYmKG4ucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kPVcucmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kKTtXLmdldFNoYXJlUGFuZWxDb21tYW5kJiYobi5nZXRTaGFyZVBhbmVsQ29tbWFuZD1XLmdldFNoYXJlUGFuZWxDb21tYW5kKX07Cm5MPWZ1bmN0aW9uKG4sVyl7VyE9bnVsbD8obi5yUj1XLG4uaU49ITApOihuLnJSPSIiLG4uaU49ITEpfTsKUG4xPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKW5MKG4sVy5jb250cm9sQmdIdG1sKSxXLm11dGVkQXV0b3BsYXk/KFc9Zy53KFcubXV0ZWRBdXRvcGxheSxLSTEpKSYmVy5lbmRTY3JlZW4mJihXPWcudyhXLmVuZFNjcmVlbixPVngpKSYmVy50ZXh0JiYobi5NVj1nLkRwKFcudGV4dCkpOm4ubXV0ZWRBdXRvcGxheT0hMX07ClpWaT1mdW5jdGlvbihuLFcpe3ZhciBEPVcuYmFja2dyb3VuZGFiaWxpdHk7RCYmRC5iYWNrZ3JvdW5kYWJpbGl0eVJlbmRlcmVyLmJhY2tncm91bmRhYmxlJiYobi5iYWNrZ3JvdW5kYWJsZT0hMCk7Vy5vZmZsaW5lYWJpbGl0eT8ub2ZmbGluZWFiaWxpdHlSZW5kZXJlcj8ub2ZmbGluZWFibGUmJihuLm9mZmxpbmVhYmxlPSEwKTtpZihEPVcuY29udGV4dFBhcmFtcyluLmNvbnRleHRQYXJhbXM9RDsoRD1XLnBpY3R1cmVJblBpY3R1cmUpJiZELnBpY3R1cmVJblBpY3R1cmVSZW5kZXJlci5wbGF5YWJsZUluUGlwJiYobi5waXBhYmxlPSEwKTtXLnBsYXlhYmxlSW5FbWJlZCYmKG4uYWxsb3dFbWJlZD0hMCk7aWYoRD1XLnlwY0NsaWNrd3JhcClXPUQucGxheWVyTGVnYWN5RGVza3RvcFlwY0NsaWNrd3JhcFJlbmRlcmVyLEQ9RC55cGNSZW50YWxBY3RpdmF0aW9uUmVuZGVyZXIsVz8obi5Jaz1XLmR1cmF0aW9uTWVzc2FnZXx8IiIsbi5EbD0hMCk6RCYmKFc9RC5kdXJhdGlvbk1lc3NhZ2UsCm4uSWs9Vz9nLkRwKFcpOiIiLG4uRGw9ITApfTsKeXExPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1NRihXLmdvb2dsZVJlbWFya2V0aW5nVXJsKTtiJiYobi5nb29nbGVSZW1hcmtldGluZ1VybD1iKTtpZihiPU1GKFcueW91dHViZVJlbWFya2V0aW5nVXJsKSluLnlvdXR1YmVSZW1hcmtldGluZ1VybD1iO2lmKGI9Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW4pbi5oZWFydGJlYXRMb2dnaW5nVG9rZW49YjtiPXt9O3ZhciB2PU1GKFcucHRyYWNraW5nVXJsKTtpZih2KXt2PVJBKHYpO3ZhciBrPXYub2lkO2smJihuLlhvPWspO2lmKGs9di5wbHR5cGUpbi5xOD1rO2lmKGs9di5wdGNobiluLmgxPWs7aWYoaz12LnB0ayluLnh6PWVuY29kZVVSSUNvbXBvbmVudChrKTtpZih2PXYubSluLnk5PXZ9aWYodj1NRihXLnFvZVVybCkpe3Y9Zy5vRSh2KTtmb3IoaCBvZiBPYmplY3Qua2V5cyh2KSlrPXZbaF0sdltoXT1BcnJheS5pc0FycmF5KGspP2suam9pbigiLCIpOms7dmFyIGg9djtuLnpiPWg7aWYodj1oLmNhdCluLlMoImh0bWw1X2VuYWJsZV9xb2VfY2F0X2xpc3QiKT8Kbi5rSz1uLmtLLmNvbmNhdCh2LnNwbGl0KCIsIikpOm4ua3k9djtpZih2PWgubGl2ZSluLnVoPXY7aWYoaD1oLmRybV9wcm9kdWN0KW4uZHJtUHJvZHVjdD1ofWlmKGg9TUYoVy52aWRlb3N0YXRzUGxheWJhY2tVcmwpKXtoPVJBKGgpO2lmKHY9aC5hZGZvcm1hdClpZihELmFkZm9ybWF0PXYsaz1uLkcoKSxrPVRsKHYsbi5GdyxrLkosay5LKSluLmFkRm9ybWF0PWs7aWYoaz1oLmFxaSlELmFkX3F1ZXJ5X2lkPWs7aWYoRD1oLmF1dG9wbGF5KW4uR3U9RD09IjEiLG4uVlQ9RD09IjEiO2lmKEQ9aC5hdXRvbmF2KW4uaXNBdXRvbmF2PUQ9PSIxIjtpZihEPWguZGVsYXkpbi5vRD1nLk5oKEQpO2lmKEQ9aC5laSluLmV2ZW50SWQ9RDtpZihEPWcuZDEoaC5hZGNvbnRleHQpKXRyeXt2YXIgeD1VdjIoRCk7eCYmKG4uZk49eCl9Y2F0Y2goTCl7Zy5HcShFcnJvcigiTWFsZm9ybWVkIGFkQ29udGV4dCIpKX1pZihEfHx2KW4uR3U9ITA7aWYoeD1oLmZlYXR1cmUpbi5TOT14O2lmKHg9aC5saXN0KW4ucGxheWxpc3RJZD0KeDtpZih4PWgub2Ypbi5SSD14O2lmKHg9aC5vc2lkKW4ub3NpZD14O2lmKHg9aC5yZWZlcnJlciluLnJlZmVycmVyPXg7aWYoeD1oLnNkZXRhaWwpbi53dT14O2lmKHg9aC5zb3VyY2VpZCluLmJJPXg7aWYoeD1oLnNzcnQpbi5BUj14PT0iMSI7aWYoeD1oLnN1YnNjcmliZWQpbi5zdWJzY3JpYmVkPXg9PSIxIjtpZih4PWgudWdhKW4udXNlckdlbmRlckFnZT14O2lmKHg9aC51cHQpbi5IcT14O2lmKHg9aC52bSluLnZpZGVvTWV0YWRhdGE9eDtiLnBsYXliYWNrPWh9aWYoeD1NRihXLnZpZGVvc3RhdHNXYXRjaHRpbWVVcmwpKXt4PVJBKHgpO2lmKEQ9eC5hbGQpbi5GTD1EO2Iud2F0Y2h0aW1lPXh9aWYoeD1NRihXLmF0clVybCkpeD1SQSh4KSxiLmF0cj14O2lmKHg9TUYoVy5lbmdhZ2VVcmwpKXg9UkEoeCksYi5lbmdhZ2U9eDtuLlhUPWI7Vy5wcm9tb3RlZFBsYXliYWNrVHJhY2tpbmcmJihiPVcucHJvbW90ZWRQbGF5YmFja1RyYWNraW5nLGIuc3RhcnRVcmxzJiYobi5Gcj1iLnN0YXJ0VXJscyksCmIuZmlyc3RRdWFydGlsZVVybHMmJihuLndOPWIuZmlyc3RRdWFydGlsZVVybHMpLGIuc2Vjb25kUXVhcnRpbGVVcmxzJiYobi5DdD1iLnNlY29uZFF1YXJ0aWxlVXJscyksYi50aGlyZFF1YXJ0aWxlVXJscyYmKG4ub0g9Yi50aGlyZFF1YXJ0aWxlVXJscyksYi5jb21wbGV0ZVVybHMmJihuLkF0PWIuY29tcGxldGVVcmxzKSxiLmVuZ2FnZWRWaWV3VXJscyYmKGIuZW5nYWdlZFZpZXdVcmxzLmxlbmd0aD4xJiZnLkdxKG5ldyBnLlF4KCJUaGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBlbmdhZ2VkX3ZpZXdfdXJscy4iKSksbi5EeD1iLmVuZ2FnZWRWaWV3VXJsc1swXSkpO1cuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKG4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1XLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEpO1cudnNzM0NvbmZpZz8uc2VyaWFsaXplZFdhdGNoVGltZUNvbnRleHREYXRhJiYobi5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGE9ClcudnNzM0NvbmZpZy5zZXJpYWxpemVkV2F0Y2hUaW1lQ29udGV4dERhdGEpfTsKRVkxPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVylpZihiJiYoVz1iLnBsYXllckxlZ2FjeURlc2t0b3BXYXRjaEFkc1JlbmRlcmVyKSYmKFc9Vy5wbGF5ZXJBZFBhcmFtcykpe1cuYXV0b3BsYXk9PSIxIiYmKG4uR3U9ITAsbi5WVD0hMCk7bi5Jbz1XLmVuY29kZWRBZFNhZmV0eVJlYXNvbnx8bnVsbDtXLnNob3dDb250ZW50VGh1bWJuYWlsIT09dm9pZCAwJiYobi5xMj0hIVcuc2hvd0NvbnRlbnRUaHVtYm5haWwpO0QuZW5hYmxlZF9lbmdhZ2VfdHlwZXM9Vy5lbmFibGVkRW5nYWdlVHlwZXM7YnJlYWt9fTsKaVYyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5tYW5pZmVzdGxlc3NXaW5kb3dlZExpdmVDb25maWc7aWYoRCl7dmFyIGI9TnVtYmVyKEQubWluRHZyU2VxdWVuY2UpLHY9TnVtYmVyKEQubWF4RHZyU2VxdWVuY2UpLGs9TnVtYmVyKEQubWluRHZyTWVkaWFUaW1lTXMpLGg9TnVtYmVyKEQubWF4RHZyTWVkaWFUaW1lTXMpO0Q9TnVtYmVyKEQuc3RhcnRXYWxsdGltZU1zKTtiJiYobi5JdD1iKTtrJiYobi5KVT1rLzFFMyxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJmcuWU4obikmJihuLkgyPWsvMUUzKSk7diYmKG4uSFA9dik7aCYmKG4ub1I9aC8xRTMsbi5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpJiZnLllOKG4pJiYobi5XTT1oLzFFMykpO0QmJihuLklUPUQvMUUzKTsoYnx8aykmJih2fHxoKSYmKG4uUkk9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCxuLmFsbG93TGl2ZUR2cj0KITAsbi5YZz0hMSl9aWYoYj1XLmRhaUNvbmZpZyl7aWYoYi5lbmFibGVEYWkpe24uTFk9ITA7aWYodj1iLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpKW4uZW5hYmxlU2VydmVyU3RpdGNoZWREYWk9djtpZih2PWIuZW5hYmxlUHJlcm9sbCluLktkPXZ9aWYoYi5kYWlUeXBlPT09IkRBSV9UWVBFX1NTX0RJU0FCTEVEInx8Yi5kZWJ1Z0luZm8/LmlzRGlzYWJsZWRVbnBsdWdnZWRDaGFubmVsKW4uSmw9ITA7IW4uUygiaHRtbDVfdW1wX3N0aXRjaGVkX21ldGFkYXRhX3Vuc3BlY2lmaWVkX2hhbmRsaW5nIil8fGIuZGFpVHlwZSE9PSJEQUlfVFlQRV9VTlNQRUNJRklFRCImJmIuZGFpVHlwZSE9PXZvaWQgMHx8KG4uakY9ITApO2IuZGFpVHlwZT09PSJEQUlfVFlQRV9DTElFTlRfU1RJVENIRUQiJiYobi5DVT0hMCk7Yi5hbGxvd1VzdHJlYW1lclJlcXVlc3RBZGNvbmZpZyYmKG4uUTY9ITApO2Iuc2VuZFNzZGFpTWlzc2luZ0FkQnJlYWtSZWFzb25zJiYobi5LVj0hMCl9aWYoYj1XLmF1ZGlvQ29uZmlnKXt2PQpuLmhnO2IudHJhY2tBYnNvbHV0ZUxvdWRuZXNzTGtmcyE9bnVsbCYmKHYuSj1iLnRyYWNrQWJzb2x1dGVMb3VkbmVzc0xrZnMpO2IubG91ZG5lc3NUYXJnZXRMa2ZzIT1udWxsJiYodi5sb3VkbmVzc1RhcmdldExrZnM9Yi5sb3VkbmVzc1RhcmdldExrZnMpO2IubG91ZG5lc3NEYiE9bnVsbCYmKHYuVz1iLmxvdWRuZXNzRGIpO2lmKGs9Yi5sb3VkbmVzc05vcm1hbGl6YXRpb25Db25maWcpay5hcHBseVN0YXRlZnVsTm9ybWFsaXphdGlvbiYmKHYuYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb249ITApLGsucHJlc2VydmVTdGF0ZWZ1bExvdWRuZXNzVGFyZ2V0JiYodi5wcmVzZXJ2ZVN0YXRlZnVsTG91ZG5lc3NUYXJnZXQ9ITApLGsubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyE9bnVsbCYmKHYubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcz1rLm1pbmltdW1Mb3VkbmVzc1RhcmdldExrZnMpO3Y9Yi5sb3VkbmVzc0RiO3YhPW51bGwmJihuLllLPXYpO2IuYXVkaW9NdXRlZCYmKG4ueWw9CiEwKTtiLm11dGVPblN0YXJ0JiYobi5OMD0hMCk7Yi5wbGF5QXVkaW9Pbmx5JiYobi5KZz0hMCl9aWYodj1XLnBsYXliYWNrRW5kQ29uZmlnKWI9di5lbmRTZWNvbmRzLHY9di5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcyxuLm11dGVkQXV0b3BsYXkmJihiJiYobi5lbmRTZWNvbmRzPWIpLHYmJihuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPXYpKTtpZihiPVcuZmFpclBsYXlDb25maWcpe2lmKHY9Yi5jZXJ0aWZpY2F0ZSluLkNpPWcuZDEodik7dj1OdW1iZXIoYi5rZXlSb3RhdGlvblBlcmlvZE1zKTt2PjAmJihuLlY5PXYpO2I9TnVtYmVyKGIua2V5UHJlZmV0Y2hNYXJnaW5Ncyk7Yj4wJiYobi5qaT1iKX1pZigoYj1XLnBsYXliYWNrU3RhcnRDb25maWcpJiYhbi5OVil7bi52RT1OdW1iZXIoYi5zdGFydFNlY29uZHMpO2s9Yi5saXZlVXRjU3RhcnRTZWNvbmRzO3Y9ISFuLmxpdmVVdGNTdGFydFNlY29uZHMmJm4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz4wOwprJiYhdiYmKG4ubGl2ZVV0Y1N0YXJ0U2Vjb25kcz1OdW1iZXIoaykpO2lmKGs9Yi5zdGFydFBvc2l0aW9uKWlmKChoPWsudXRjVGltZU1pbGxpcykmJiF2JiYobi5saXZlVXRjU3RhcnRTZWNvbmRzPU51bWJlcihoKSouMDAxKSx2PWsuc3RyZWFtVGltZU1pbGxpcyluLlVyPU51bWJlcih2KSouMDAxO24ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPWIucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uO24ucHJvZ3Jlc3NCYXJFbmRQb3NpdGlvbj1iLnByb2dyZXNzQmFyRW5kUG9zaXRpb259ZWxzZSBpZihiPVcuc2tpcHBhYmxlU2VnbWVudHNDb25maWcpe2lmKHY9Yi5pbnRyb1NraXBEdXJhdGlvbk1zKW4uUEU9TnVtYmVyKHYpLzFFMztpZihiPWIub3V0cm9Ta2lwRHVyYXRpb25NcyluLm50PU51bWJlcihiKS8xRTN9aWYodj1XLnNraXBwYWJsZUludHJvQ29uZmlnKWI9TnVtYmVyKHYuc3RhcnRNcyksdj1OdW1iZXIodi5lbmRNcyksaXNOYU4oYil8fGlzTmFOKHYpfHwobi53Qj1iLG4uQXA9CnYpO2lmKGI9Vy5zdHJlYW1TZWxlY3Rpb25Db25maWcpbi5HZj1OdW1iZXIoYi5tYXhCaXRyYXRlKTtpZihiPVcudnJDb25maWcpbi5Kbz1iLnBhcnRpYWxTcGhlcmljYWw9PSIxIjtpZihiPVcud2ViRHJtQ29uZmlnKXtiLnNraXBXaWRldmluZSYmKG4uSmo9ITApO2lmKHY9Yi53aWRldmluZVNlcnZpY2VDZXJ0KW4uRmM9Zy5kMSh2KTtiLnVzZUNvYmFsdFdpZGV2aW5lJiYobi51c2VDb2JhbHRXaWRldmluZT0hMCk7Yi5zdGFydFdpdGhOb1F1YWxpdHlDb25zdHJhaW50JiYobi5aOT0hMCl9aWYoYj1XLm1lZGlhQ29tbW9uQ29uZmlnKXtpZih2PWIuZHluYW1pY1JlYWRhaGVhZENvbmZpZyl7bi5tYXhSZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1heFJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcz12Lm1pblJlYWRBaGVhZE1lZGlhVGltZU1zfHxOYU47bi5yZWFkQWhlYWRHcm93dGhSYXRlTXM9di5yZWFkQWhlYWRHcm93dGhSYXRlTXN8fE5hTjsKaWYodj1iPy5tZWRpYVVzdHJlYW1lclJlcXVlc3RDb25maWc/LnZpZGVvUGxheWJhY2tVc3RyZWFtZXJDb25maWcpbi5hST1nLmQxKHYpO2lmKCh2PWI/LnNhYnJDb250ZXh0VXBkYXRlcykmJnYubGVuZ3RoPjApZm9yKHZhciB4IG9mIHYpeC50eXBlJiZ4LnZhbHVlJiYodj17dHlwZTp4LnR5cGUsc2NvcGU6eC5zY29wZSx2YWx1ZTpnLmQxKHgudmFsdWUpfHx2b2lkIDAsc2VuZEJ5RGVmYXVsdDp4LnNlbmRCeURlZmF1bHR9LG4uc2FickNvbnRleHRVcGRhdGVzLnNldCh4LnR5cGUsdikpfWlmKHg9Yi5zZXJ2ZXJQbGF5YmFja1N0YXJ0Q29uZmlnKW4uc2VydmVyUGxheWJhY2tTdGFydENvbmZpZz14O2IudXNlU2VydmVyRHJpdmVuQWJyJiYobi5ERT0hMCk7aWYoeD1iLnJlcXVlc3RQaXBlbGluaW5nQ29uZmlnKW4ucmVxdWVzdFBpcGVsaW5pbmdDb25maWc9eH1pZih4PVcuaW5saW5lUGxheWJhY2tDb25maWcpbi52MT0hIXguc2hvd0F1ZGlvQ29udHJvbHM7aWYoeD1XLmVtYmVkZGVkUGxheWVyQ29uZmlnKXtuLmVtYmVkZGVkUGxheWVyQ29uZmlnPQp4O2lmKHY9eC5lbWJlZGRlZFBsYXllck1vZGUpYj1uLkcoKSxiLmNKPXYsYi5EPXY9PT0iRU1CRURERURfUExBWUVSX01PREVfUEZMIjtpZih4PXgucGVybWlzc2lvbnMpbi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hIXguYWxsb3dJbWFNb25ldGl6YXRpb259aWYoeD1XLndlYlBsYXllckNvbmZpZylpZih4LmdhdGV3YXlFeHBlcmltZW50R3JvdXAmJihuLmdhdGV3YXlFeHBlcmltZW50R3JvdXA9eC5nYXRld2F5RXhwZXJpbWVudEdyb3VwKSx4LmlzUHJveGltYUVsaWdpYmxlJiYobi5pc1Byb3hpbWFMYXRlbmN5RWxpZ2libGU9ITApLHg9eC5tdWx0aUFzcGVjdFN0cmVhbWluZ0NvbmZpZyluLldrPSEwLG4ucGxheWVyT3JpZW50YXRpb249eC5wbGF5ZXJPcmllbnRhdGlvbix4LnBsYXllck9yaWVudGF0aW9uPT09IlBMQVlFUl9PUklFTlRBVElPTl9IT1JJWk9OVEFMIj9uLkJqPXgudmVydGljYWxDb21tYW5kfHxudWxsOngucGxheWVyT3JpZW50YXRpb249PT0iUExBWUVSX09SSUVOVEFUSU9OX1ZFUlRJQ0FMIiYmCihuLkJqPXguaG9yaXpvbnRhbENvbW1hbmR8fG51bGwpO1c9Vy5wbGF5ZXJDb250cm9sc0NvbmZpZztXPy5pc1NlZWthYmxlIT09dm9pZCAwJiYobi5pc1NlZWthYmxlPSEhVy5pc1NlZWthYmxlKX07CnU2Uz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5mb3JtYXRzO2lmKGIpe3ZhciB2PVtdO2Zvcih2YXIgayBvZiBiKXYucHVzaChgJHtrLml0YWd9LyR7ay53aWR0aH14JHtrLmhlaWdodH1gKTtuLkdqPXYuam9pbigiLCIpO3Y9W107Zm9yKHZhciBoIG9mIGIpe2I9e2l0YWc6aC5pdGFnLHR5cGU6aC5taW1lVHlwZSxxdWFsaXR5OmgucXVhbGl0eX07KGs9aC51cmwpJiYoYi51cmw9ayk7bGV0IHt4aTpOLEVsOkgseTc6QSxzOnl9PVAwKDcsNjkyLGgpO04mJihiLnVybD1ILGIuc3A9QSxiLnM9eSk7di5wdXNoKHlHKGIpKX1uLmNmPXYuam9pbigiLCIpfWlmKGg9Vy5obHNGb3JtYXRzKXt2PXt9O2lmKEQmJihEPUQuYXVkaW9QYWlyaW5nQ29uZmlnKSYmRC5wYWlycylmb3IodmFyIHggb2YgRC5wYWlycylEPXgudmlkZW9JdGFnLHZbRF18fCh2W0RdPVtdKSx2W0RdLnB1c2goeC5hdWRpb0l0YWcpO3g9e307Zm9yKHZhciBMIG9mIGgpeFtMLml0YWddPUwuYml0cmF0ZTtMPVtdO2ZvcihHIG9mIGgpe0Q9CntpdGFnOkcuaXRhZyx0eXBlOkcubWltZVR5cGUsdXJsOkcudXJsLGJpdHJhdGU6Ry5iaXRyYXRlLHdpZHRoOkcud2lkdGgsaGVpZ2h0OkcuaGVpZ2h0LGZwczpHLmZwc307aWYoaD1HLmF1ZGlvVHJhY2spaWYoYj1oLmRpc3BsYXlOYW1lKUQubmFtZT1iLEQuYXVkaW9fdHJhY2tfaWQ9aC5pZCxoLmF1ZGlvSXNEZWZhdWx0JiYoRC5pc19kZWZhdWx0PSIxIik7aWYoRy5kcm1GYW1pbGllcyl7aD1bXTtmb3IodmFyIGUgb2YgRy5kcm1GYW1pbGllcyloLnB1c2goSlpbZV0pO0QuZHJtX2ZhbWlsaWVzPWguam9pbigiLCIpfShoPXZbRy5pdGFnXSkmJmgubGVuZ3RoJiYoRC5hdWRpb19pdGFnPWguam9pbigiLCIpLChoPXhbaFswXV0pJiYoRC5iaXRyYXRlKz1oKSk7KGg9TiQoRykpJiYoRC5lb3RmPWgpO0cuYXVkaW9DaGFubmVscyYmKEQuYXVkaW9fY2hhbm5lbHM9Ry5hdWRpb0NoYW5uZWxzKTtMLnB1c2goeUcoRCkpfXZhciBHPUwuam9pbigiLCIpO24uaGxzRm9ybWF0cz1HfWlmKChlPQpXLmxpY2Vuc2VJbmZvcykmJmUubGVuZ3RoPjApe0c9e307Zm9yKHZhciByIG9mIGUpZT1yLmRybUZhbWlseSx2PXIudXJsLGUmJnYmJihHW0paW2VdXT12KTtuLmNvbnRlbnRQcm90ZWN0aW9uPUd9aWYocj1XLmRybVBhcmFtcyluLmRybVBhcmFtcz1yO2lmKHI9Vy5kYXNoTWFuaWZlc3RVcmwpbi5UZj1nLkVUKHIse2NwbjpuLmNsaWVudFBsYXliYWNrTm9uY2V9KTtpZihyPVcuaGxzTWFuaWZlc3RVcmwpbi5obHN2cD1yO2lmKHI9Vy5wcm9iZVVybCluLnByb2JlVXJsPUZOKGcuRVQocix7Y3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pKTtpZihXPVcuc2VydmVyQWJyU3RyZWFtaW5nVXJsKW4ubEM9bmV3IGcud1ooVywhMCl9OwpvWU09ZnVuY3Rpb24obixXLEQpe3ZhciBiPVcudmlkZW9JZDtiJiYobi52aWRlb0lkPWIsRC52aWRlb19pZHx8KEQudmlkZW9faWQ9YikpO2lmKGI9Vy50aXRsZSluLnRpdGxlPWIsRC50aXRsZXx8KEQudGl0bGU9Yik7aWYoYj1XLmxlbmd0aFNlY29uZHMpbi5sZW5ndGhTZWNvbmRzPU51bWJlcihiKSxELmxlbmd0aF9zZWNvbmRzfHwoRC5sZW5ndGhfc2Vjb25kcz1iKTtpZihiPVcua2V5d29yZHMpbi5rZXl3b3Jkcz1XaihiKTtpZihiPVcuY2hhbm5lbElkKW4uRjk9YixELnVjaWR8fChELnVjaWQ9Yik7aWYoYj1XLnZpZXdDb3VudCluLnJhd1ZpZXdDb3VudD1OdW1iZXIoYik7aWYoYj1XLmF1dGhvciluLmF1dGhvcj1iLEQuYXV0aG9yfHwoRC5hdXRob3I9Yik7aWYoRD1XLnNob3J0RGVzY3JpcHRpb24pbi5zaG9ydERlc2NyaXB0aW9uPUQ7aWYoRD1XLmlzQ3Jhd2xhYmxlKW4uaXNMaXN0ZWQ9RDtpZihEPVcubXVzaWNWaWRlb1R5cGUpbi5tdXNpY1ZpZGVvVHlwZT1EO0Q9Vy5pc0xpdmU7CkQhPW51bGwmJihuLmlzTGl2ZVBsYXliYWNrPUQpO2lmKER8fFcuaXNVcGNvbWluZyluLmlzUHJlbWllcmU9IVcuaXNMaXZlQ29udGVudDtpZihEPVcudGh1bWJuYWlsKW4udE89d2MoRCk7aWYoRD1XLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3Qpbi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0PUQ7KEQ9Vy5zdGF0aW9uVHlwZSkmJkQhPT0iU1RBVElPTl9UWVBFX1VOS05PV04iJiYobi56Mz0hMCk7RD1XLnZpZXdlckxpdmVzdHJlYW1Kb2luUG9zaXRpb247RD8udXRjVGltZU1pbGxpcyYmKG4uRHo9Zy5OaChELnV0Y1RpbWVNaWxsaXMpKTtuLkcoKS5leHBlcmltZW50cy5FcSgiZW5hYmxlX2NlbnRlcmVkX2NhcHRpb25fZm9yX3R2ZmlsbV92aWRlbyIpJiZXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmlzVHZmaWxtVmlkZW89Vy5pc1R2ZmlsbVZpZGVvKTtXLmlzVHZmaWxtVmlkZW8hPW51bGwmJihuLmNPPVcuaXNUdmZpbG1WaWRlbyYmbi5pc0xpdmVQbGF5YmFjayl9Owp6RWI9ZnVuY3Rpb24obixXKXtpZihXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNUcmFpbGVyUmVuZGVyZXIpe3ZhciBEPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlcjtuLk1nPUQudHJhaWxlclZpZGVvSWR8fCIiO3ZhciBiPShiPVcucGxheWVyTGVnYWN5RGVza3RvcFlwY1RyYWlsZXJSZW5kZXJlci55cGNUcmFpbGVyKSYmYi55cGNUcmFpbGVyUmVuZGVyZXJ9ZWxzZSBXLnBsYXllckxlZ2FjeURlc2t0b3BZcGNPZmZlclJlbmRlcmVyP0Q9Vy5wbGF5ZXJMZWdhY3lEZXNrdG9wWXBjT2ZmZXJSZW5kZXJlcjpXLnlwY1RyYWlsZXJSZW5kZXJlciYmKGI9Vy55cGNUcmFpbGVyUmVuZGVyZXIsVz1iLmZ1bGxWaWRlb01lc3NhZ2Usbi5IQj1XP2cuRHAoVyk6IiIsbi5NZz1nLncoYixEeik/LnZpZGVvRGV0YWlscz8udmlkZW9JZHx8IiIpO0QmJihuLlU5PUQuaXRlbVRpdGxlfHwiIixELml0ZW1VcmwmJihuLndWPUQuaXRlbVVybCksRC5pdGVtQnV5VXJsJiYobi5nVj0KRC5pdGVtQnV5VXJsKSxuLkFKPUQuaXRlbVRodW1ibmFpbHx8IiIsbi5kVj1ELm9mZmVySGVhZGxpbmV8fCIiLG4uR249RC5vZmZlckRlc2NyaXB0aW9ufHwiIixuLk9oPUQub2ZmZXJJZHx8IiIsbi5Daj1ELm9mZmVyQnV0dG9uVGV4dHx8IiIsbi51Vz1ELm9mZmVyQnV0dG9uRm9ybWF0dGVkVGV4dHx8bnVsbCxuLkU5PUQub3ZlcmxheUR1cmF0aW9uTXNlY3x8TmFOLG4uSEI9RC5mdWxsVmlkZW9NZXNzYWdlfHwiIixuLnZNPSEwKTtiJiYoKEQ9Zy53KGIsRHopKT9uLkljPXtyYXdfcGxheWVyX3Jlc3BvbnNlOkR9OihEPWcudyhiLGR2aSksbi5JYz1EP2cuaXcoRCk6bnVsbCksbi52TT0hMCl9Owpsb2o9ZnVuY3Rpb24obixXLEQsYil7Vy5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0JiYobi5pc0xpdmVEZWZhdWx0QnJvYWRjYXN0PSEwKTtXLmlzVXBjb21pbmcmJihuLmlzVXBjb21pbmc9ITApO2lmKFcuaXNQb3N0TGl2ZUR2cil7bi5YZz0hMDtpZihiPVcubGF0ZW5jeUNsYXNzKW4ubGF0ZW5jeUNsYXNzPWJqW2JdfHwiVU5LTk9XTiI7Vy5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtJiYobi5pc0xvd0xhdGVuY3lMaXZlU3RyZWFtPSEwKX1lbHNle2xldCB2PSExO24uSVI/KG4uYWxsb3dMaXZlRHZyPWZOKCk/ITA6TVgmJnZqPDU/ITE6ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk6Vy5pc0xpdmU/KGIubGl2ZXN0cmVhbT0iMSIsbi5hbGxvd0xpdmVEdnI9Vy5pc0xpdmVEdnJFbmFibGVkP2ZOKCk/ITA6TVgmJnZqPDU/ITE6ITA6ITEsbi5wYXJ0bmVySWQ9Mjcsdj0hMCk6Vy5pc1VwY29taW5nJiYodj0hMCk7aWYoVy5pc0xpdmV8fG4uSVIpe1cuaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbSYmKG4uaXNMb3dMYXRlbmN5TGl2ZVN0cmVhbT0KITApO2xldCBrPVcubGF0ZW5jeUNsYXNzO2smJihuLmxhdGVuY3lDbGFzcz1ialtrXXx8IlVOS05PV04iKTtpZihXPVcubGl2ZUNodW5rUmVhZGFoZWFkKW4ubGl2ZUNodW5rUmVhZGFoZWFkPVc7aWYoVz1EJiZELmxpdmVQbGF5ZXJDb25maWcpe1cuaGFzU3ViZnJhZ21lbnRlZEZtcDQmJihuLmhhc1N1YmZyYWdtZW50ZWRGbXA0PSEwKTtXLmhhc1N1YmZyYWdtZW50ZWRXZWJtJiYobi5JMj0hMCk7Vy5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzJiYobi5kZWZyYWdnZWRGcm9tU3ViZnJhZ21lbnRzPSEwKTtpZihEPVcubGl2ZUV4cGVyaW1lbnRhbENvbnRlbnRJZCluLmxpdmVFeHBlcmltZW50YWxDb250ZW50SWQ9TnVtYmVyKEQpO1c9Vy5pc0xpdmVIZWFkUGxheWFibGU7bi5TKCJodG1sNV9saXZlX2hlYWRfcGxheWFibGUiKSYmVyE9bnVsbCYmKG4uaXNMaXZlSGVhZFBsYXlhYmxlPVcpfX12JiYobi5pc0xpdmVQbGF5YmFjaz0hMCxiLmFkZm9ybWF0JiZiLmFkZm9ybWF0LnNwbGl0KCJfIilbMV0hPT0KIjgifHxuLklKLnB1c2goImhlYXJ0YmVhdCIpKX19OwprTD1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk/LmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzOyhuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8uZW5kU2NyZWVuPy53YXRjaE5leHRFbmRTY3JlZW5SZW5kZXJlcj8ucmVzdWx0cyl8fChuPVc/LmVuZFNjcmVlbj8uZW5kU2NyZWVuPy5yZXN1bHRzKTtyZXR1cm4gbn07CnhMPWZ1bmN0aW9uKCl7aWYoaHg9PT12b2lkIDApe3RyeXt3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oInl0LXBsYXllci1sdiIpfWNhdGNoKFcpe31hOnt0cnl7dmFyIG49ISFzZWxmLmxvY2FsU3RvcmFnZX1jYXRjaHtuPSExfWlmKG4mJihuPWcudlMoYCR7TTAoKX06Onl0LXBsYXllcmApKSl7aHg9bmV3IFQkYihuKTticmVhayBhfWh4PXZvaWQgMH19cmV0dXJuIGh4fTsKTEw9ZnVuY3Rpb24oKXt2YXIgbj14TCgpO2lmKCFuKXJldHVybnt9O3RyeXtsZXQgVz1uLmdldCgieXQtcGxheWVyLWx2Iik7cmV0dXJuIEpTT04ucGFyc2UoV3x8Int9Iil9Y2F0Y2goVyl7cmV0dXJue319fTsKZSQ9ZnVuY3Rpb24obil7cmV0dXJuIExMKClbbl18fDB9OwpnNj1mdW5jdGlvbihuLFcpe3ZhciBEPUxMKCk7VyE9PURbbl0mJihXIT09MD9EW25dPVc6ZGVsZXRlIERbbl0sbj14TCgpKSYmKEQ9SlNPTi5zdHJpbmdpZnkoRCksbi5zZXQoInl0LXBsYXllci1sdiIsRCkpfTsKZy5YZT1hc3luYyBmdW5jdGlvbihuKXtyZXR1cm4gQ0YoamlVKCksbil9Owp0eD1hc3luYyBmdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2lmKGUkKG4pPT09NClyZXR1cm4gNDt2YXIgTD1hd2FpdCBnLm5QKCk7aWYoIUwpdGhyb3cgZy5yMCgid2lhYyIpO3gmJmghPT12b2lkIDAmJihoPWF3YWl0IENuaSh4LGgpKTt2YXIgZT1ELmxhc3RNb2RpZmllZHx8IjAiO3g9YXdhaXQgZy5YZShMKTt0cnl7cmV0dXJuIHFzKyssYXdhaXQgT1IoeCxbImluZGV4IiwibWVkaWEiXSx7bW9kZToicmVhZHdyaXRlIix0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfV0lBQyIsR1E6ITB9LEc9PntpZihrIT09dm9pZCAwJiZoIT09dm9pZCAwKXt2YXIgcj1gJHtufXwke1cuaWR9fCR7ZX18JHtTdHJpbmcoaykucGFkU3RhcnQoMTAsIjAiKX1gO3I9Ry5vYmplY3RTdG9yZSgibWVkaWEiKS5wdXQoaCxyKX1lbHNlIHI9c1IucmVzb2x2ZSh2b2lkIDApO3ZhciBOPUdmKG4sVy5mWSgpKSxIPUdmKG4sIVcuZlkoKSksQT17Zm10czpnLkV0KHtkbHQ6Yi5kb3dubG9hZGVkRW5kVGltZS50b1N0cmluZygpLApta2V0OmIubWF4S25vd25FbmRUaW1lLnRvU3RyaW5nKCksYXZicjpiLmF2ZXJhZ2VCeXRlUmF0ZS50b1N0cmluZygpfSksZm9ybWF0OkR8fHt9fTtOPUcub2JqZWN0U3RvcmUoImluZGV4IikucHV0KEEsTik7dmFyIHk9Yi5kb3dubG9hZGVkRW5kVGltZT09PS0xO0E9eT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLmdldChIKTpzUi5yZXNvbHZlKHZvaWQgMCk7dmFyIFQ9e2ZtdHM6Im11c2ljIixmb3JtYXQ6e319O0c9eSYmdiYmIVcuZlkoKT9HLm9iamVjdFN0b3JlKCJpbmRleCIpLnB1dChULEgpOnNSLnJlc29sdmUodm9pZCAwKTtyZXR1cm4gc1IuYWxsKFtHLEEscixOXSkudGhlbigoWyx6XSk9Pntxcy0tO3ZhciBDPWUkKG4pLFE7IShRPUMhPT00JiZ5JiZ2KSYmKFE9eiE9PXZvaWQgMCkmJihRPSh6PXouZm10cyk/ej09PSJtdXNpYyI/ITA6ei5pbmNsdWRlcygiZGx0PS0xIil8fCF6LmluY2x1ZGVzKCJkbHQ9Iik6ITEpO1EmJihDPTEsZzYobixDKSk7cmV0dXJuIEN9KX0pfWNhdGNoKEcpe3FzLS07Cng9ZSQobik7aWYoeD09PTQpcmV0dXJuIHg7ZzYobiw0KTt0aHJvdyBHO319OwpCJHg9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9YXdhaXQgZy5uUCgpO2lmKCFXKXRocm93IGcucjAoInJpIik7cmV0dXJuIE9SKGF3YWl0IGcuWGUoVyksWyJpbmRleCJdLHttb2RlOiJyZWFkb25seSIsdGFnOiJJREJfVFJBTlNBQ1RJT05fVEFHX0xNUkkifSxEPT57dmFyIGI9SURCS2V5UmFuZ2UuYm91bmQobisifCIsbisifiIpO3JldHVybiBELm9iamVjdFN0b3JlKCJpbmRleCIpLmdldEFsbChiKS50aGVuKHY9PnYubWFwKGs9Pms/ay5mb3JtYXQ6e30pKX0pfTsKdzNpPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9YXdhaXQgZy5uUCgpO2lmKCFrKXRocm93IGcucjAoInJjIik7az1PUihhd2FpdCBnLlhlKGspLFsibWVkaWEiXSx7bW9kZToicmVhZG9ubHkiLHRhZzoiSURCX1RSQU5TQUNUSU9OX1RBR19MTVJNIn0saD0+e3ZhciB4PWAke259fCR7V318JHtEfXwke1N0cmluZyhiKS5wYWRTdGFydCgxMCwiMCIpfWA7cmV0dXJuIGgub2JqZWN0U3RvcmUoIm1lZGlhIikuZ2V0KHgpfSk7CnJldHVybiB2P2sudGhlbihoPT57aWYoaD09PXZvaWQgMCl0aHJvdyBFcnJvcigiTm8gZGF0YSBmcm9tIGluZGV4RGIiKTtyZXR1cm4gRkkxKHYsaCl9KS5jYXRjaChoPT57dGhyb3cgbmV3IGcuUXgoYEVycm9yIHdoaWxlIHJlYWRpbmcgY2h1bms6ICR7aC5uYW1lfSwgJHtoLm1lc3NhZ2V9YCk7Cn0pOmt9OwpHZj1mdW5jdGlvbihuLFcpe3JldHVybmAke259fCR7Vz8idiI6ImEifWB9OwpSRWk9ZnVuY3Rpb24obil7dmFyIFc9e30sRD17fTtmb3IobGV0IGsgb2Ygbil7dmFyIGI9ay5zcGxpdCgifCIpO2lmKCFrLm1hdGNoKE1tQykpe0Rba109Ij8iO2NvbnRpbnVlfW49TnVtYmVyKGIucG9wKCkpO2lmKGlzTmFOKG4pKXtEW2tdPSI/Ijtjb250aW51ZX12YXIgdj1iLmpvaW4oInwiKTsoYj1XW3ZdKT8odj1iW2IubGVuZ3RoLTFdLG49PT12LmVuZCsxP3YuZW5kPW46Yi5wdXNoKHtzdGFydDpuLGVuZDpufSkpOldbdl09W3tzdGFydDpuLGVuZDpufV19Zm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKFcpKURba109V1trXS5tYXAoaD0+YCR7aC5zdGFydH0tJHtoLmVuZH1gKS5qb2luKCIsIik7CnJldHVybiBEfTsKJEw9ZnVuY3Rpb24obixXKXt2YXIgRD1uLlYoKSxiPW4uWCgpLHY9MSxrPTAsaD1nLmRNKG4ueVEuZXhwZXJpbWVudHMsImh0bWw1X2RlZmF1bHRfYWRfZ2FpbiIpO2ghPW51bGwmJkQmJih2PWgpO2lmKGI/LkQoKSl7az1iLmF1ZGlvPy5KPz9uLko7aWYoaz09bnVsbHx8aXNOYU4oaykpaz12b2lkIDA7cmV0dXJue0R5OjAsWnI6MSx3RzoxLGZkOmsscHk6ayxSUzprLGZvcm1hdElkOmIuaWQsYUc6VyxJejpuLnlRLlZRLFFPOm4uUU99fUQ9Yj8uYXVkaW8/Lko/P24uSjtiIT1udWxsJiZiLmF1ZGlvPy5KPT1udWxsJiZuLlUoImFnYyIse25vX2FiOjF9KTtpZihEPT1udWxsfHxpc05hTihEKSlyZXR1cm4gVz1iPy5hdWRpbz8uWCE9bnVsbD9iLmF1ZGlvLlg6bi5XLGlzTmFOKFcpfHwoaz00KSxXPS1XLHtEeTpXLFpyOk1hdGgubWluKDEsMTAqKihXLzIwKSl8fHYsd0c6ayxmb3JtYXRJZDpiPy5pZCxRTzpuLlFPfTtrPTE7aD1uLmxvdWRuZXNzVGFyZ2V0TGtmczt2YXIgeD1uLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9zdGF0ZWZ1bF9hdWRpb19ub3JtYWxpemF0aW9uIik7CmlmKG4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24mJngpe2lmKFchPW51bGwpdmFyIEw9VztlbHNlIGlzRmluaXRlKG4ueVEuVlEpJiYoTD1uLnlRLlZRKTtMIT1udWxsJiYoaz0yLGg9Zy5GZihMLG4ubWluaW11bUxvdWRuZXNzVGFyZ2V0TGtmcyxuLmxvdWRuZXNzVGFyZ2V0TGtmcykpfXZhciBlPU1hdGgubWluKGgtRCwwKTt2YXIgRz1EK2U7dj1NYXRoLm1pbigxLDEwKiooZS8yMCkpfHx2O3gmJm4uVSgiYWdjIix7c3Rub3JtOm4uYXBwbHlTdGF0ZWZ1bE5vcm1hbGl6YXRpb24saHN0OlcsZW52Om4ueVEuVlEsZm1sOkQsc3RndDpMLHRtaW46bi5taW5pbXVtTG91ZG5lc3NUYXJnZXRMa2ZzLHRtYXg6bi5sb3VkbmVzc1RhcmdldExrZnMsbmc6ZX0pO3JldHVybntEeTplLFpyOnYsd0c6ayxmZDpELHB5OmgsUlM6Ryxmb3JtYXRJZDpiPy5pZCxhRzpXLEl6Om4ueVEuVlEsUU86bi5RT319OwpyNj1mdW5jdGlvbihuLFcpe1c9JEwobixXKTtuLk49VztuLnByZXNlcnZlU3RhdGVmdWxMb3VkbmVzc1RhcmdldCYmVy5SUyE9bnVsbCYmKG4ueVEuVlE9Vy5SUyk7cmV0dXJuIFcuWnJ9OwpRaTI9ZnVuY3Rpb24obixXLEQpe1c9e2NwbjpXfTtuLmluZGV4T2YoIi9pYncvIik9PT0tMSYmKFcuaWJ3PUQ/U3RyaW5nKEQpOiIxMzY5ODQzIik7cmV0dXJue3VybDpnLkVUKG4sVyksdHlwZToiYXBwbGljYXRpb24veC1tcGVnVVJMIixxdWFsaXR5OiJhdXRvIixpdGFnOiI5MyJ9fTsKVm10PWZ1bmN0aW9uKG4pe3RyeXtsZXQgVz0obmV3IGcud1oobiwhMCkpLmdldCgibiIpO2lmKFcpe2xldCBEPW4ubWF0Y2goL1wvblwvKFteL10rKS8pO2lmKEQmJkRbMV0mJkRbMV0hPT1XKXJldHVybiBuLnJlcGxhY2UoYC9uLyR7RFsxXX1gLGAvbi8ke1d9YCl9fWNhdGNoKFcpe2cuR3EoVyl9cmV0dXJuIG59OwpzVT1mdW5jdGlvbihuKXtpZihuLmlzQWQoKSYmKG4uVlE/bi52aWRlb0lkIT09bi55US5TJDpuLnZpZGVvSWQhPW4ueVEuUyQpKXJldHVybiBuLnlRLlMkfTsKVm49ZnVuY3Rpb24obil7aWYobil7aWYoQm4obikpcmV0dXJuIG47bj1lQShuKTtpZihCbihuLCEwKSlyZXR1cm4gbn1yZXR1cm4iIn07CmcuWU49ZnVuY3Rpb24obil7aWYoZy4kNihuLnlRKSYmbi55US5WPT09Inl0IiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25feXRfZW1iZWRzIikpcmV0dXJuITE7aWYobi5abylyZXR1cm4gbi5ERSYmbi5VKCJmZHMiLHtmZHM6ITB9LCEwKSwhMTtpZihuLnlRLlYhPT0ieXQiJiYhY3F4KG4pKXJldHVybiBuLkRFJiZuLlUoImRzdm4iLHtuczpuLnlRLlZ9LCEwKSwhMTtpZihuLmNvdG58fCFuLk58fG4uTi5pc090ZiYmIW4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpfHxuLlcmJiFuLlcuTigpfHxuLkNVJiYhbi5TKCJodG1sNV9lbmFibGVfc2Ficl9jc2RhaSIpKXJldHVybiExO2lmKG4uUygiaHRtbDVfdXNlX3NhYnJfcmVxdWVzdHNfZm9yX2RlYnVnZ2luZyIpKXJldHVybiEwO24uREUmJm4uVSgiZXNmdyIse3VzYmM6bi5ERSxoc3U6ISFuLmxDfSwhMCk7aWYobi5ERSYmbi5sQylyZXR1cm4hMDtpZihuLlMoImh0bWw1X3JlbW92ZV9jbGllbnRfc2Ficl9kZXRlcm1pbmF0aW9uIikpcmV0dXJuITE7CnZhciBXPSFuLk4uelcmJiFuLk1pKCksRD1XJiZOcyYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl92b2Rfc3RyZWFtaW5nX3hociIpO1c9VyYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3ZvZF9ub25fc3RyZWFtaW5nX3hociIpO3ZhciBiPXBMKG4pLHY9bi5TKCJodG1sNV9lbmFibGVfc2Ficl9kcm1fdm9kX3N0cmVhbWluZ194aHIiKSYmTnMmJm4uTWkoKSYmIW4uTi56VyYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCk7KEQ9RHx8V3x8Ynx8dikmJiFuLmxDJiZuLlUoInNhYnIiLHtsb2M6Im0ifSwhMCk7cmV0dXJuIEQmJiEhbi5sQ307CldqPWZ1bmN0aW9uKG4pe3ZhciBXPXt9O2ZvcihsZXQgRCBvZiBuKW49RC5zcGxpdCgiPSIpLG4ubGVuZ3RoPT09Mj9XW25bMF1dPW5bMV06V1tEXT0hMDtyZXR1cm4gV307CkhqPWZ1bmN0aW9uKG4pe2lmKG4uUygiaHRtbDVfb25lc2llIikmJm4uZXJyb3JDb2RlKXJldHVybiExO3ZhciBXPWcuamoobi5JSiwieXBjIik7bi55cGNQcmV2aWV3JiYoVz0hMSk7cmV0dXJuIG4uT1YoKSYmIW4ubG9hZGluZyYmKGcuWUwobil8fGcuamoobi5JSiwiaGVhcnRiZWF0Iil8fFcpfTsKZkw9ZnVuY3Rpb24obil7bi5xTigpfHwobi5sb2FkaW5nPSExLG4uV0ooImRhdGFsb2FkZWQiKSl9OwptZj1mdW5jdGlvbihuLFcpe3ZhciBEPVcucmF3X2VtYmVkZGVkX3BsYXllcl9yZXNwb25zZTtpZighRCl7dmFyIGI9Vy5lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9RCYmKG4uTz1EKTtpZihuLk8pe24uZW1iZWRkZWRQbGF5ZXJDb25maWc9bi5PLmVtYmVkZGVkUGxheWVyQ29uZmlnfHxudWxsO2lmKEQ9bi5PLnZpZGVvRmxhZ3MpRC5wbGF5YWJsZUluRW1iZWQmJihuLmFsbG93RW1iZWQ9ITApLEQuaXNQcml2YXRlJiYobi5pc1ByaXZhdGU9ITApLEQudXNlckRpc3BsYXlOYW1lJiYoVy51c2VyX2Rpc3BsYXlfbmFtZT1ELnVzZXJEaXNwbGF5TmFtZSksRC51c2VyRGlzcGxheUltYWdlJiYoVy51c2VyX2Rpc3BsYXlfaW1hZ2U9RC51c2VyRGlzcGxheUltYWdlKTtpZigoRD1uLk8uZW1iZWRQcmV2aWV3KSYmRC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXIpe0Q9RC50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI7bkwobixELmNvbnRyb2xCZ0h0bWwpO2lmKGI9CkQuZGVmYXVsdFRodW1ibmFpbCluLnRPPXdjKGIpOyhiPWcudyhEPy52aWRlb0RldGFpbHMsYW9VKSkmJkp4KG4sVyxiKTtiPWcudyhEPy52aWRlb0RldGFpbHMsbnFNKTtuLkU1PSEhRC5hZGRUb1dhdGNoTGF0ZXJCdXR0b247bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO2I/Lm11c2ljVmlkZW9UeXBlJiYobi5tdXNpY1ZpZGVvVHlwZT1iLm11c2ljVmlkZW9UeXBlKTtpZihiPWcudyhuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UoKT8uZW1iZWRQcmV2aWV3Py50aHVtYm5haWxQcmV2aWV3UmVuZGVyZXI/LnBsYXlCdXR0b24/LmJ1dHRvblJlbmRlcmVyPy5uYXZpZ2F0aW9uRW5kcG9pbnQsZy5JUSkpb0EobixiKSxuLnZpZGVvSWQ9Yi52aWRlb0lkfHxuLnZpZGVvSWQ7RC52aWRlb0R1cmF0aW9uU2Vjb25kcyYmKG4ubGVuZ3RoU2Vjb25kcz1nLk5oKEQudmlkZW9EdXJhdGlvblNlY29uZHMpKTtELndlYlBsYXllckFjdGlvbnNQb3J0aW5nJiZhQShuLEQud2ViUGxheWVyQWN0aW9uc1BvcnRpbmcpOwppZihEPWcudyhEPy5wbGF5bGlzdCxXR2kpKXtuLk1kPSEwO2I9W107dmFyIHY9TnVtYmVyKEQuY3VycmVudEluZGV4KTtpZihELmNvbnRlbnRzKWZvcihsZXQgaz0wLGg9RC5jb250ZW50cy5sZW5ndGg7azxoO2srKyl7bGV0IHg9RC5jb250ZW50c1trXS5wbGF5bGlzdFBhbmVsVmlkZW9SZW5kZXJlcjtpZigheCljb250aW51ZTtsZXQgTD14LnNob3J0QnlsaW5lVGV4dD9nLkRwKHguc2hvcnRCeWxpbmVUZXh0KToiIixlPXgudGl0bGU/Zy5EcCh4LnRpdGxlKToiIjtiLnB1c2goe2F1dGhvcjpMLGVuY3J5cHRlZF9pZDp4LnZpZGVvSWQsdGl0bGU6ZSxjaGFubmVsX3BhdGg6az09PXY/Vy5jaGFubmVsX3BhdGg6IiIscHJvZmlsZV9waWN0dXJlOms9PT12P1cucHJvZmlsZV9waWN0dXJlOiIiLGlzX3ByaXZhdGU6az09PXY/bi5pc1ByaXZhdGU6ITAsaXNfZG5pOms9PT12P24uaU46ITEsZG5pX2NvbG9yOms9PT12P24uclI6IiJ9KX1XPXtpbmRleDpELmN1cnJlbnRJbmRleCxsaXN0OkQucGxheWxpc3RJZCwKcGxheWxpc3RfbGVuZ3RoOkQudG90YWxWaWRlb3MsdmlkZW86Yn07RC50aXRsZVRleHQmJihXLnRpdGxlPWcuRHAoRC50aXRsZVRleHQpKTtELnNob3J0QnlsaW5lVGV4dCYmKFcuYXV0aG9yPWcuRHAoRC5zaG9ydEJ5bGluZVRleHQpKTtuLlE3PVd9aWYoVz1nLncobi5nZXRFbWJlZGRlZFBsYXllclJlc3BvbnNlKCk/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKFc/LmR1cmF0aW9uTXMpfHxOYU4sVz8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPVc/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxXPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYobi5Saz1XPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsKX1pZihuLk8ucHJldmlld1BsYXlhYmlsaXR5U3RhdHVzKXtpZihuLmVCPW4uTy5wcmV2aWV3UGxheWFiaWxpdHlTdGF0dXMsVz1uLmVCLCFbIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKFcuc3RhdHVzKSl7bi5lcnJvckNvZGU9CmlpKFcuZXJyb3JDb2RlKTtEPVcuZXJyb3JTY3JlZW47aWYoYj1EPy5wbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcil7bi5mbT1iO2lmKHY9Yi5yZWFzb24pbi5lcnJvclJlYXNvbj1nLkRwKHYpO2lmKGI9Yi5zdWJyZWFzb24pbi53aT1nLkRwKGIpfWVsc2Ugbi5lcnJvclJlYXNvbj1XLnJlYXNvbnx8bnVsbDtzd2l0Y2goVy5zdGF0dXMpe2Nhc2UgIkxPR0lOX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIxIjticmVhaztjYXNlICJDT05URU5UX0NIRUNLX1JFUVVJUkVEIjpuLmVycm9yRGV0YWlsPSIyIjticmVhaztjYXNlICJBR0VfQ0hFQ0tfUkVRVUlSRUQiOm4uZXJyb3JEZXRhaWw9RD8ucGxheWVyS2F2UmVuZGVyZXI/LmthdlVybD8iNCI6IjMiO2JyZWFrO2RlZmF1bHQ6bi5lcnJvckRldGFpbD1XLmlzQmxvY2tlZEluUmVzdHJpY3RlZE1vZGU/IjUiOiIwIn19fWVsc2Ugbi5PLnBsYXlhYmlsaXR5U3RhdHVzJiYobi5SdD1uLk8ucGxheWFiaWxpdHlTdGF0dXMsQXgobikmJihuLmVycm9yRGV0YWlsPQoiMCIsbi5SdCYmKChXPW4uUnQuZW1iZWRkZWRQbGF5ZXJFcnJvck1lc3NhZ2VSZW5kZXJlcik/bi5mbT1nLncoVyxEdEMpOm4uZXJyb3JSZWFzb249bi5SdC5yZWFzb258fG51bGwpKSk7KFc9bi5PLmF0dGVzdGF0aW9uKSYmUW4obixXKTsoVz1uLk8ucGVybWlzc2lvbnMpJiZXLmFsbG93SW1hTW9uZXRpemF0aW9uJiYobi5hbGxvd0ltYU1vbmV0aXphdGlvbj0hMCl9fTsKRVU9ZnVuY3Rpb24obixXKXt2YXIgRD1XLnJhd193YXRjaF9uZXh0X3Jlc3BvbnNlO2lmKCFEKXt2YXIgYj1XLndhdGNoX25leHRfcmVzcG9uc2U7YiYmKEQ9SlNPTi5wYXJzZShiKSl9aWYoRCl7bi53YXRjaE5leHRSZXNwb25zZT1EOyhEPW4ud2F0Y2hOZXh0UmVzcG9uc2UucGxheWVyQ3VlUmFuZ2VTZXQpJiZnLktMKG4sRCk7RD1uLndhdGNoTmV4dFJlc3BvbnNlLnBsYXllck92ZXJsYXlzO2lmKEQmJihEPUQucGxheWVyT3ZlcmxheVJlbmRlcmVyKSl7aWYoYj1ELmF1dG9uYXZUb2dnbGUpbi5hdXRvcGxheVN3aXRjaEJ1dHRvblJlbmRlcmVyPWcudyhiLGJXWiksbi5TKCJ3ZWJfcGxheWVyX2F1dG9uYXZfdXNlX3NlcnZlcl9wcm92aWRlZF9zdGF0ZSIpJiZuLkFWKCkmJihuLmF1dG9uYXZTdGF0ZT1uLmF1dG9wbGF5U3dpdGNoQnV0dG9uUmVuZGVyZXIuZW5hYmxlZD8yOjEpO2lmKGI9RC52aWRlb0RldGFpbHMpe3ZhciB2PWIuZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXI7CmlmKGI9Yi5wbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIpYi50aXRsZSYmKFcudGl0bGU9Zy5EcChiLnRpdGxlKSksYi5zdWJ0aXRsZSYmKFcuc3VidGl0bGU9Zy5EcChiLnN1YnRpdGxlKSl9Zy5DTihuLnlRKSYmKG4uRTU9ISFELmFkZFRvTWVudSk7bi5zaG93U2hhcmVCdXR0b249ISFELnNoYXJlQnV0dG9uO0Quc3RhcnRQb3NpdGlvbiYmRC5lbmRQb3NpdGlvbiYmKG4ucHJvZ3Jlc3NCYXJTdGFydFBvc2l0aW9uPUQuc3RhcnRQb3NpdGlvbixuLnByb2dyZXNzQmFyRW5kUG9zaXRpb249RC5lbmRQb3NpdGlvbik7aWYoYj1nLncobi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5pbmZvUGFuZWwsUyQpKW4ud289TnVtYmVyKGI/LmR1cmF0aW9uTXMpfHxOYU4sYj8uaW5mb1BhbmVsT3ZlcnZpZXdWaWV3TW9kZWwmJihuLnhqPWI/LmluZm9QYW5lbE92ZXJ2aWV3Vmlld01vZGVsKSxiPy5pbmZvUGFuZWxEZXRhaWxzVmlld01vZGVsJiYKKG4uUms9Yj8uaW5mb1BhbmVsRGV0YWlsc1ZpZXdNb2RlbCk7bi5zaG93U2Vla2luZ0NvbnRyb2xzPSEhRC5zaG93U2Vla2luZ0NvbnRyb2xzfWlmKEQ9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5jb250ZW50cz8udHdvQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cylpZihEPUQuZGVza3RvcE92ZXJsYXkmJmcudyhELmRlc2t0b3BPdmVybGF5LHZxdCkpRC5zdXBwcmVzc1NoYXJlQnV0dG9uJiYobi5zaG93U2hhcmVCdXR0b249ITEpLEQuc3VwcHJlc3NXYXRjaExhdGVyQnV0dG9uJiYobi5FNT0hMSk7diYmSngobixXLHYpO0Q9REkoMCxXLmF1dG9wbGF5X2NvdW50KTt2YXIgaz1uLmdldFdhdGNoTmV4dFJlc3BvbnNlKCk7Yj1rLmNvbnRlbnRzPy50d29Db2x1bW5XYXRjaE5leHRSZXN1bHRzO3Y9ay5wbGF5ZXJPdmVybGF5cz8ucGxheWVyT3ZlcmxheVJlbmRlcmVyPy5hdXRvcGxheT8ucGxheWVyT3ZlcmxheUF1dG9wbGF5UmVuZGVyZXI7dmFyIGg9a0wobik7aWYoKGs9ay5jb250ZW50cz8uc2luZ2xlQ29sdW1uV2F0Y2hOZXh0UmVzdWx0cykmJgprLmF1dG9wbGF5Py5hdXRvcGxheSYmIWsucGxheWxpc3Qpe2xldCB5PWsuYXV0b3BsYXkuYXV0b3BsYXkuc2V0cztrPXt9O3ZhciB4PW5ldyBPVShuLkcoKSksTD1udWxsLGU7aWYoeSl7Zm9yKHZhciBHIG9mIHkpaWYoKGU9Ry5hdXRvcGxheVZpZGVvUmVuZGVyZXIpJiZlLmNvbXBhY3RWaWRlb1JlbmRlcmVyKXtMPWUuY29tcGFjdFZpZGVvUmVuZGVyZXI7YnJlYWt9aWYoZT15WzBdLmF1dG9wbGF5VmlkZW8pKEc9ZS5jbGlja1RyYWNraW5nUGFyYW1zKSYmKGsuaXRjdD1HKSxrLmF1dG9uYXY9IjEiLGsucGxheW5leHQ9U3RyaW5nKEQpfWVsc2Ugay5mZWF0dXJlPSJyZWxhdGVkLWF1dG8iO2U9Zy53KGUsZy5JUSk7aWYoTCl7eC52aWRlb0lkPUwudmlkZW9JZDtpZihlPUwuc2hvcnRCeWxpbmVUZXh0KXguYXV0aG9yPWcuRHAoZSk7aWYoZT1MLnRpdGxlKXgudGl0bGU9Zy5EcChlKX1lbHNlIGUhPW51bGwmJmUudmlkZW9JZCYmKHgudmlkZW9JZD1lLnZpZGVvSWQpO3gueXo9aztuLnN1Z2dlc3Rpb25zPQpbXTtuLlU1PXh9aWYoaCl7ZT1bXTtmb3IodmFyIHIgb2YgaCl7aD12b2lkIDA7Rz1udWxsO2lmKHIuZW5kU2NyZWVuVmlkZW9SZW5kZXJlcil7az1yLmVuZFNjcmVlblZpZGVvUmVuZGVyZXI7eD1rLnRpdGxlO0c9bmV3IE9VKG4uRygpKTtHLnZpZGVvSWQ9ay52aWRlb0lkO0cubGVuZ3RoU2Vjb25kcz1rLmxlbmd0aEluU2Vjb25kc3x8MDtpZihMPWsucHVibGlzaGVkVGltZVRleHQpRy5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKEwpO2lmKEw9ay5zaG9ydEJ5bGluZVRleHQpRy5hdXRob3I9Zy5EcChMKTtpZihMPWsuc2hvcnRWaWV3Q291bnRUZXh0KUcuc2hvcnRWaWV3Q291bnQ9Zy5EcChMKTt4JiYoRy50aXRsZT1nLkRwKHgpLCh4PXguYWNjZXNzaWJpbGl0eSkmJih4PXguYWNjZXNzaWJpbGl0eURhdGEpJiZ4LmxhYmVsJiYoRy5hcmlhTGFiZWw9eC5sYWJlbCkpO2lmKEw9ay5uYXZpZ2F0aW9uRW5kcG9pbnQpaD1MLmNsaWNrVHJhY2tpbmdQYXJhbXMseD1nLncoTCxnLklRKSxMPWcudyhMLApnLlBqKSx4P0cuczA9eDpMIT1udWxsJiYoRy53YXRjaFVybD1MLnVybCk7aWYoeD1rLnRodW1ibmFpbE92ZXJsYXlzKWZvcih2YXIgTiBvZiB4KWlmKHg9Ti50aHVtYm5haWxPdmVybGF5VGltZVN0YXR1c1JlbmRlcmVyKWlmKHguc3R5bGU9PT0iTElWRSIpe0cuaXNMaXZlUGxheWJhY2s9ITA7YnJlYWt9ZWxzZSBpZih4LnN0eWxlPT09IlVQQ09NSU5HIil7Ry5pc1VwY29taW5nPSEwO2JyZWFrfUcudE89d2Moay50aHVtYm5haWwpfWVsc2UgaWYoci5lbmRTY3JlZW5QbGF5bGlzdFJlbmRlcmVyKXtrPXIuZW5kU2NyZWVuUGxheWxpc3RSZW5kZXJlcjtoPWsubmF2aWdhdGlvbkVuZHBvaW50O2lmKCFoKWNvbnRpbnVlO0c9Zy53KGgsZy5JUSk7aWYoIUcpY29udGludWU7eD1HLnZpZGVvSWQ7Rz1uZXcgWnoobi5HKCkpO0cucGxheWxpc3RJZD1rLnBsYXlsaXN0SWQ7Ry5wbGF5bGlzdExlbmd0aD1OdW1iZXIoay52aWRlb0NvdW50KXx8MDtHLk49eHx8bnVsbDtHLnZpZGVvSWQ9eDtpZih4PQprLnRpdGxlKUcudGl0bGU9Zy5EcCh4KTtpZih4PWsuc2hvcnRCeWxpbmVUZXh0KUcuYXV0aG9yPWcuRHAoeCk7aD1oLmNsaWNrVHJhY2tpbmdQYXJhbXM7Ry50Tz13YyhrLnRodW1ibmFpbCl9RyYmKGgmJihHLnNlc3Npb25EYXRhPXtpdGN0Omh9KSxlLnB1c2goRykpfW4uc3VnZ2VzdGlvbnM9ZX1pZih2KXtuLkozPSEhdi5wcmVmZXJJbW1lZGlhdGVSZWRpcmVjdDtuLkcoKS5adCgpLk4uUVEoa05qKSYmKG4uaDM9ISF2LnNob3dQYXVzZWRXaGVuRGlzYWJsZWQpO24uclc9bi5yV3x8ISF2LndlYlNob3dOZXdBdXRvbmF2Q291bnRkb3duO2lmKG4uclcpe049djtiPWJ8fG51bGw7cj1uZXcgT1Uobi5HKCkpO3IudmlkZW9JZD1OLnZpZGVvSWQ7aWYoZT1OLnZpZGVvVGl0bGUpci50aXRsZT1nLkRwKGUpLChlPWUuYWNjZXNzaWJpbGl0eSkmJihlPWUuYWNjZXNzaWJpbGl0eURhdGEpJiZlLmxhYmVsJiYoci5hcmlhTGFiZWw9ZS5sYWJlbCk7aWYoZT1OLmJ5bGluZSlyLmF1dGhvcj1nLkRwKGUpOwppZihlPU4ucHVibGlzaGVkVGltZVRleHQpci5wdWJsaXNoZWRUaW1lVGV4dD1nLkRwKGUpO2lmKGU9Ti5zaG9ydFZpZXdDb3VudFRleHQpci5zaG9ydFZpZXdDb3VudD1nLkRwKGUpO2lmKGU9Ti50aHVtYm5haWxPdmVybGF5cylmb3IodmFyIEggb2YgZSlpZihlPUgudGh1bWJuYWlsT3ZlcmxheVRpbWVTdGF0dXNSZW5kZXJlcilpZihlLnN0eWxlPT09IkxJVkUiKXtyLmlzTGl2ZVBsYXliYWNrPSEwO2JyZWFrfWVsc2UgaWYoZS5zdHlsZT09PSJVUENPTUlORyIpe3IuaXNVcGNvbWluZz0hMDticmVha31lbHNlIGlmKGUuc3R5bGU9PT0iREVGQVVMVCImJmUudGV4dCl7ci5sZW5ndGhUZXh0PWcuRHAoZS50ZXh0KTsoSD1lLnRleHQuYWNjZXNzaWJpbGl0eSkmJihIPUguYWNjZXNzaWJpbGl0eURhdGEpJiZILmxhYmVsJiYoci5pZz1ILmxhYmVsfHwiIik7YnJlYWt9ci50Tz13YyhOLmJhY2tncm91bmQpO2lmKEg9Ti5uZXh0QnV0dG9uKWlmKEg9SC5idXR0b25SZW5kZXJlcilpZihIPUgubmF2aWdhdGlvbkVuZHBvaW50KWlmKEg9CmcudyhILGcuSVEpKXIuczA9SDtOLnRvcEJhZGdlcyYmKEg9Ti50b3BCYWRnZXNbMF0pJiYoSD1nLncoSCxoazIpKSYmSC5zdHlsZT09PSJCQURHRV9TVFlMRV9UWVBFX1BSRU1JVU0iJiYoci5OPSEwKTtpZihIPU4uYWx0ZXJuYXRpdmVUaXRsZSlyLko5PWcuRHAoSCk7SD1yO0Q9e2F1dG9uYXY6IjEiLHBsYXluZXh0OlN0cmluZyhEKX07SC5wbGF5bGlzdElkJiYoRC5hdXRvcGxheT0iMSIpO2lmKGIpe2lmKE49Yi5hdXRvcGxheT8uYXV0b3BsYXk/LnNldHM/LlswXT8uYXV0b3BsYXlWaWRlbylpZigoYj1OLmNsaWNrVHJhY2tpbmdQYXJhbXMpJiYoRC5pdGN0PWIpLE49Zy53KE4sZy5JUSkpSC50RT1OfWVsc2UgTiYmKE49Ti5uZXh0QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50Py5jbGlja1RyYWNraW5nUGFyYW1zKSYmKEQuaXRjdD1OKTtELml0Y3R8fChELmZlYXR1cmU9InJlbGF0ZWQtYXV0byIpO0gueXo9RDtuLnN1Z2dlc3Rpb25zfHwobi5zdWdnZXN0aW9ucz0KW10pO24uVTU9cn12LmNvdW50RG93blNlY3MhPW51bGwmJihuLk9OPXYuY291bnREb3duU2VjcyoxRTMpO3YuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4hPW51bGwmJihuLnMzPXYuY291bnREb3duU2Vjc0ZvckZ1bGxzY3JlZW4+PTA/di5jb3VudERvd25TZWNzRm9yRnVsbHNjcmVlbioxRTM6LTEpfWlmKHY9a0wobikpdj12Py5bMF0/LmVuZFNjcmVlblZpZGVvUmVuZGVyZXI/Lm5hdmlnYXRpb25FbmRwb2ludD8uY2xpY2tUcmFja2luZ1BhcmFtcyxIPW4uVTV8fG4uc3VnZ2VzdGlvbnM/LlswXXx8bnVsbCx2JiZIJiYoSC5zZXNzaW9uRGF0YT17aXRjdDp2fSk7bi53YXRjaE5leHRSZXNwb25zZS5jdXJyZW50VmlkZW9UaHVtYm5haWwmJihuLnRPPXdjKG4ud2F0Y2hOZXh0UmVzcG9uc2UuY3VycmVudFZpZGVvVGh1bWJuYWlsKSk7KHY9bi53YXRjaE5leHRSZXNwb25zZT8uY29udGVudHM/LnR3b0NvbHVtbldhdGNoTmV4dFJlc3VsdHM/LnJlc3VsdHM/LnJlc3VsdHM/LmNvbnRlbnRzKSYmCnZbMF0mJihIPXZbMF0udmlkZW9QcmltYXJ5SW5mb1JlbmRlcmVyKSYmSCYmSC5zdWJ0aXRsZSYmKG4uWDQ9Zy5EcChILnN1YnRpdGxlKSk7diYmdlsxXSYmKHY9dlsxXS52aWRlb1NlY29uZGFyeUluZm9SZW5kZXJlcj8ub3duZXI/LnZpZGVvT3duZXJSZW5kZXJlcj8udGh1bWJuYWlsPy50aHVtYm5haWxzKSYmdi5sZW5ndGgmJihuLnByb2ZpbGVQaWN0dXJlPXZbdi5sZW5ndGgtMV0udXJsKTtXPWtSKFcpO2lmKHY9bi5nZXRXYXRjaE5leHRSZXNwb25zZSgpPy5vblJlc3BvbnNlUmVjZWl2ZWRFbmRwb2ludHMpZm9yKHZhciBBIG9mIHYpZy53KEEsVVUpJiYobi5ScT1nLncoQSxVVSkpLHY9Zy53KEEseHRNKSx2Py5lbnRpdHlLZXlzJiYobi5MTj12LmVudGl0eUtleXN8fFtdLHYudmlzaWJsZU9uTG9hZEtleXMmJihuLnZpc2libGVPbkxvYWRLZXlzPXYudmlzaWJsZU9uTG9hZEtleXMpKTtuLlMoIndlYl9rZXlfbW9tZW50c19tYXJrZXJzIikmJihBPXl6LmdldFN0YXRlKCkuZW50aXRpZXMsCnY9bmYoInZpc2liaWxpdHlfb3ZlcnJpZGUiLCJtYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5IiksQT1BLm1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk/QS5tYXJrZXJzVmlzaWJpbGl0eU92ZXJyaWRlRW50aXR5W3ZdfHxudWxsOm51bGwsbi5IeD1BPy52aWRlb0lkPT09KG4udmlkZW9JZHx8VykmJkE/LnZpc2liaWxpdHlPdmVycmlkZU1hcmtlcnNLZXk/QS52aXNpYmlsaXR5T3ZlcnJpZGVNYXJrZXJzS2V5Om4udmlzaWJsZU9uTG9hZEtleXMsbi52aXNpYmxlT25Mb2FkS2V5cz1bLi4ubi5IeF0pfX07CmlqPWZ1bmN0aW9uKG4sVyl7aWYoVz1XLnJhd19yZWVsX2l0ZW1fd2F0Y2hfcmVzcG9uc2Upbi5yZWVsSXRlbVdhdGNoUmVzcG9uc2U9V307CnVqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5yYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U7RHx8KFc9Vy5yZXNvbHZlX3VybF9yZXNwb25zZSkmJihEPUpTT04ucGFyc2UoVykpO0QmJihuLnBvPUQpfTsKZDY9ZnVuY3Rpb24obixXKXtuLmZmbGFncz1iTyhuLmZmbGFncyxXLmZmbGFncyk7dmFyIEQ9Vy5pdl9pbnZpZGVvX3VybDtEJiYobi5lYT1GTihEKSk7bi5SbT1ueShuLlJtLFcuaXZfYWRzX29ubHkpO2lmKEQ9Vy5jdGFfY29udmVyc2lvbl91cmxzKW4ubE09RDtuLmlzUGhhcm1hPW55KG4uaXNQaGFybWEsVy5pc19waGFybWEpO24uYXV0aG9yPWJPKG4uYXV0aG9yLFcuYXV0aG9yKTtuLndhPVZuKFcudHRzdXJsKXx8bi53YTtuLldjPW55KG4uV2MsVy5jY19hc3IpO2lmKEQ9Vy5wcm9maWxlX3BpY3R1cmUpbi5wcm9maWxlUGljdHVyZT1iTyhuLnByb2ZpbGVQaWN0dXJlLEQpO24udmlkZW9Db3VudFRleHQ9Yk8obi52aWRlb0NvdW50VGV4dCxXLnZpZGVvX2NvdW50X3RleHQpO24uYXV0b25hdlN0YXRlPVdCKG4uYXV0b25hdlN0YXRlLFcuYXV0b25hdl9zdGF0ZSxMRzEpO24uY2xpZW50UGxheWJhY2tOb25jZT1iTyhuLmNsaWVudFBsYXliYWNrTm9uY2UsVy5jcG4pO24uc3Vic2NyaWJlZD0Kbnkobi5zdWJzY3JpYmVkLFcuc3Vic2NyaWJlZCk7bi5yYXdWaWV3Q291bnQ9REkobi5yYXdWaWV3Q291bnQsVy52aWV3X2NvdW50KTtuLnNob3J0Vmlld0NvdW50PWJPKG4uc2hvcnRWaWV3Q291bnQsVy5zaG9ydF92aWV3X2NvdW50X3RleHQpO24ucHVibGlzaGVkVGltZVRleHQ9Yk8obi5wdWJsaXNoZWRUaW1lVGV4dHx8IiIsVy5wdWJsaXNoZWRUaW1lVGV4dCk7bi5sZW5ndGhUZXh0PWJPKG4ubGVuZ3RoVGV4dHx8IiIsVy5sZW5ndGhUZXh0KTtuLmlnPWJPKG4uaWd8fCIiLFcuaWcpO24uSjk9Yk8obi5KOXx8IiIsVy5KOSk7bi50aXRsZT1iTyhuLnRpdGxlLFcudGl0bGUpO24uc3VidGl0bGU9Yk8obi5zdWJ0aXRsZSxXLnN1YnRpdGxlKTtuLmV4cGFuZGVkVGl0bGU9Yk8obi5leHBhbmRlZFRpdGxlLFcuZXhwYW5kZWRfdGl0bGUpO24uZXhwYW5kZWRTdWJ0aXRsZT1iTyhuLmV4cGFuZGVkU3VidGl0bGUsVy5leHBhbmRlZF9zdWJ0aXRsZSk7bi55cGNQcmV2aWV3PWJPKG4ueXBjUHJldmlldywKVy55cGNfcHJldmlldyk7bi5EVD1iTyhuLkRULFcueXBjX29yaWdpbik7bi5MQj1ueShuLkxCLFcueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXIpO24uSWs9Yk8obi5JayxXLnlwY19jbGlja3dyYXBfbWVzc2FnZSk7bi5wYXlnYXRlZD1ueShuLnBheWdhdGVkLFcucGF5Z2F0ZWQpO24uS289bnkobi5LbyxXLnJlcXVpcmVzX3B1cmNoYXNlKTtuLnNob3dTaGFyZUJ1dHRvbj0hbnkoIW4uc2hvd1NoYXJlQnV0dG9uLFcuc3MpO24uRTU9bnkobi5FNSxXLnNob3d3YXRjaGxhdGVyKTtpZihEPVcuZWwpbi5ldmVudExhYmVsPUQ7aWYoRD1XLmtleXdvcmRzKW4ua2V5d29yZHM9V2ooRC5zcGxpdCgiLCIpKTtpZihEPVcucnZzKW4uc3VnZ2VzdGlvbnM9dXcoRCkubWFwKGI9PmIucGxheWxpc3R8fGIubGlzdHx8Yi5hcGk/bmV3IFp6KG4ueVEsYik6bmV3IE9VKG4ueVEsYikpOwpuLmNvbnRlbnRDaGVja09rPW55KG4uY29udGVudENoZWNrT2ssVy5jY28pO24ucmFjeUNoZWNrT2s9bnkobi5yYWN5Q2hlY2tPayxXLnJjbyk7bi5pc0xpdmluZ1Jvb21EZWVwbGluaz1ueShuLmlzTGl2aW5nUm9vbURlZXBsaW5rLFcuaXNfbGl2aW5nX3Jvb21fZGVlcGxpbmspO24ub2F1dGhUb2tlbj1iTyhuLm9hdXRoVG9rZW4sVy5vYXV0aF90b2tlbik7bi5ISj1iTyhuLkhKLFcua3B0KTtuLnZpc2l0b3JEYXRhPWJPKG4udmlzaXRvckRhdGEsVy52aXNpdG9yX2RhdGEpO2lmKEQ9Vy5zZXNzaW9uX2RhdGEpbi5zZXNzaW9uRGF0YT15RihELCImIik7bi5XSz1iTyhuLldLLFcudHJhY2tpbmdfbGlzdCk7bi5EdD1ueShuLkR0LFcucGF1c2VfYXRfc3RhcnQpO29RKG4sVyl9Owp6Zj1mdW5jdGlvbihuLFcsRCxiKXtXJiZXLmNwbiYmZy5HcShuZXcgZy5ReCgiQ1BOIHByb3ZpZGVkIGluIFZpZGVvRGF0YSB1cGRhdGUiLHtIWjpXLmNwbixLWTpuLmNsaWVudFBsYXliYWNrTm9uY2UsdEY6RH0pKTtiJiYobi5lcnJvckNvZGU9bnVsbCxuLmVycm9yRGV0YWlsPSIiLG4uZXJyb3JSZWFzb249bnVsbCxuLndpPW51bGwpO0Q/KGtSKFcpLG4uc2V0RGF0YShXKSxIaihuKSYmZkwobikpOihXPVd8fHt9LG1mKG4sVyksRVUobixXKSxpaihuLFcpLHVqKG4sVyksZDYobixXKSxuLldKKCJkYXRhdXBkYXRlZCIpKX07Cm9RPWZ1bmN0aW9uKG4sVyl7Vy5pbmxpbmVNZXRyaWNFbmFibGVkJiYobi5pbmxpbmVNZXRyaWNFbmFibGVkPSEwKTtXLnBsYXliYWNrX3Byb2dyZXNzXzBzX3VybCYmKG4uVEk9bmV3IGVrdChXKSk7aWYoVz1XLnZpZGVvX21hc3RoZWFkX2FkX3F1YXJ0aWxlX3VybHMpbi5OZj1XLnF1YXJ0aWxlXzBfdXJsLG4uYmU9Vy5xdWFydGlsZV8yNV91cmwsbi56ND1XLnF1YXJ0aWxlXzUwX3VybCxuLm1EPVcucXVhcnRpbGVfNzVfdXJsLG4uV0g9Vy5xdWFydGlsZV8xMDBfdXJsLG4uRnI9Vy5xdWFydGlsZV8wX3VybHMsbi53Tj1XLnF1YXJ0aWxlXzI1X3VybHMsbi5DdD1XLnF1YXJ0aWxlXzUwX3VybHMsbi5vSD1XLnF1YXJ0aWxlXzc1X3VybHMsbi5BdD1XLnF1YXJ0aWxlXzEwMF91cmxzfTsKZy5LTD1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBXKUQuY3VlUmFuZ2VTZXRJZGVudGlmaWVyJiZuLmJOLnNldChELmN1ZVJhbmdlU2V0SWRlbnRpZmllcixELnBsYXllckN1ZVJhbmdlcz8/W10pfTsKZ3FaPWZ1bmN0aW9uKG4pe2lmKCFuKXJldHVybiBudWxsO2ZvcihsZXQgVyBvZiBuKWlmKG49Vy5hZFBsYWNlbWVudFJlbmRlcmVyPy5yZW5kZXJlcj8udmlkZW9BZFRyYWNraW5nUmVuZGVyZXIpcmV0dXJuIG47cmV0dXJuIG51bGx9Owpsaj1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5zb3VyY2VDb25maWdzO249bi5wbGF5ZXJSZXNwb25zZT8ucGxheWVyQ29uZmlnPy5jb21wb3NpdGVWaWRlb0NvbmZpZz8uZGVmYXVsdEFjdGl2ZVNvdXJjZVZpZGVvSWQ7aWYoIVd8fCFXLmxlbmd0aClyZXR1cm4iIjtufHwobj1XWzBdLnZpZGVvSWR8fCIiKTtmb3IobGV0IEQgb2YgVylpZihELnZpZGVvSWQ9PT1uJiZELmF1ZGlvVHJhY2tzKWZvcihsZXQgYiBvZiBELmF1ZGlvVHJhY2tzKWlmKGIuaXNEZWZhdWx0Rm9yU291cmNlKXJldHVybiBiLmlkfHwiIjtyZXR1cm4iIn07ClhZaD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgIkVNQkVEREVEX1BMQVlFUl9MSVRFX01PREVfRklYRURfUExBWUJBQ0tfTElNSVQiOkQ+MzA/bi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0zMDpEPDMwJiZEPjEwJiYobi5saW1pdGVkUGxheWJhY2tEdXJhdGlvbkluU2Vjb25kcz0xMCk7YnJlYWs7Y2FzZSAiRU1CRURERURfUExBWUVSX0xJVEVfTU9ERV9EWU5BTUlDX1BMQVlCQUNLX0xJTUlUIjpuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPUQqLjJ9fTsKcWpoPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFchPW51bGw/bnkobi5LLFcpOm4uSz9uLks6bi55US5wcmVmZXJHYXBsZXNzJiZuLnlRLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKR05oPWZ1bmN0aW9uKG4pe3JldHVybiEhbiYmaXNGaW5pdGUobikmJm4+MUU5fTsKQ0w9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCkmJlRmKG4pPyExOmokKG4pJiYoZy5HbChuLnlRKT8hbi5pc0xpdmVQbGF5YmFjazpuLmhsc3ZwKXx8IWZOKCl8fG4uVVQ/ITA6ITF9OwpCaj1mdW5jdGlvbihuKXtuPWcub0Uobik7cmV0dXJuIE51bWJlcihuLmV4cGlyZSl8fDB9OwpGZT1mdW5jdGlvbihuKXt2YXIgVz1uLkcoKTtyZXR1cm4gbi55US5WPT09ImhtInx8bi55US5WPT09ImdkInx8Vy5leHBlcmltZW50cy5adCgpLk4uUVEodFMyKSYmbi55US5YJiZuLnlRLlYhPT0iZ2wiPyEwOiExfTsKSng9ZnVuY3Rpb24obixXLEQpe3ZhciBiPUQuY2hhbm5lbFRodW1ibmFpbDtiJiYoYj1iLnRodW1ibmFpbHMpJiYoYj1iWzBdKSYmKFcucHJvZmlsZV9waWN0dXJlPWIudXJsKTtpZihiPWcudyhnLncoRD8uY2hhbm5lbFRodW1ibmFpbEVuZHBvaW50LCR0TSk/LnVybEVuZHBvaW50LGcuUGopKVcuY2hhbm5lbF9wYXRoPWIudXJsO2lmKGI9RC5jb2xsYXBzZWRSZW5kZXJlcilpZihiPWcudyhiLHIxcikpe2xldCB2PWIudGl0bGU7diYmKFcudGl0bGU9Zy5EcCh2KSk7aWYoYj1iLnN1YnRpdGxlKVcuc3VidGl0bGU9Zy5EcChiKX1pZihEPUQuZXhwYW5kZWRSZW5kZXJlcilpZihEPWcudyhELHNzQykpe2lmKGI9RC50aXRsZSlXLmV4cGFuZGVkX3RpdGxlPWcuRHAoYik7aWYoYj1ELnN1YnRpdGxlKVcuZXhwYW5kZWRfc3VidGl0bGU9Zy5EcChiKTtpZihEPUQuc3Vic2NyaWJlQnV0dG9uKW4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXI9Zy53KEQsTmgxKSxuLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyJiYKKFcudWNpZD1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLmNoYW5uZWxJZCxXLnN1YnNjcmliZWQ9bi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5zdWJzY3JpYmVkLG4uc3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIubm90aWZpY2F0aW9uUHJlZmVyZW5jZVRvZ2dsZUJ1dHRvbiYmbi5zdWJzY3JpYmVCdXR0b25SZW5kZXJlci5ub3RpZmljYXRpb25QcmVmZXJlbmNlVG9nZ2xlQnV0dG9uLnRvZ2dsZUJ1dHRvblJlbmRlcmVyJiYoVz1uLnN1YnNjcmliZUJ1dHRvblJlbmRlcmVyLm5vdGlmaWNhdGlvblByZWZlcmVuY2VUb2dnbGVCdXR0b24udG9nZ2xlQnV0dG9uUmVuZGVyZXIsVy5pc1RvZ2dsZWQ/KG4ubGU9Vy50b2dnbGVkU2VydmljZUVuZHBvaW50fHxudWxsLG4uWTA9Vy5kZWZhdWx0U2VydmljZUVuZHBvaW50fHxudWxsKToobi5sZT1XLmRlZmF1bHRTZXJ2aWNlRW5kcG9pbnR8fG51bGwsbi5ZMD1XLnRvZ2dsZWRTZXJ2aWNlRW5kcG9pbnR8fG51bGwpKSl9fTsKdzY9ZnVuY3Rpb24obil7cmV0dXJuISFuLkR4fHwhIW4uTmZ8fCEhbi5Gcnx8ISFuLlRJfHxuLmZafTsKUDA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47aWYoKG4mMTA3KT09bil7dmFyIGg9YltJWzVdXTtEW0lba144MTgzXV0oZnVuY3Rpb24ocixOLEgpe3RoaXNbSVtrXjgxNTddXShIW05dPWJbKGJbSVtrXjgxNTNdXShyKS1iW0lba144MTUzXV0odGhpc1tOXSkrTitoLS0pJWJbSVs1XV1dKX0sdltJW2teODE3NV1dKElba144MTU4XSkpfWlmKChuXjcxKT49NiYmKG4tMiYxNik8MylhOnt2YXIgeD1nLncoRCxwWVopfHxEW0lba143NjZdXSxMPXt4aTohMSwKRWw6SVtrXjY3OF0seTc6SVtrXjY3OF0sczpJW2teNjc4XX07aWYoIXgpe3ZhciBlPUw7YnJlYWsgYX14PWcuaXcoeCk7TFtJW2teNzQzXV09ITA7TFtJW2teNjQ0XV09eFtJW2teNjg2XV07TFtJW2teNjY1XV09eFtJW2teNjc5XV07TFtJW2teNjQ4XV09eFtJW2teNjQ4XV07ZT1MfWlmKChuJjEyNik9PW4pYTp7TD1EW0lba143MjcxXV0oSVtrXjcyNTRdKTt4PVsvWy8sLTQsL11bfSxdXFsnLyxJW2teNzE4NF0sLShrXjE4MTg5Njc3MzgpLC0oa14zMzc1NjY4NzMpLGteOTg5NTU4NzU4LG51bGwsVVloLC0oa144MjEyMzQxMTApLGteODc1MzU2NTIyLC0oa145NDM2MTYyODUpLC0oa144MzYxOTg2MDIpLGteMTU5ODMxMjY5MixaODEsa143MDczMDE3OTAsa14xMTcyOTI1ODk4LG51bGwsa140MTk5NDUxMywtKGteMjc3NDM3NjUyKSxrXjE0MzEzMjI2NzcsRTJVLC0oa14xNDYyMzMwNzMxKSx4dlUsbnVsbCxrXjE2MDQ0MTY1LGteNDg4OTU0MTc0LGteODIyNTEwODUxLFlqWixMLEhXdCwKZmFpLG8yaiwtKGteMjAyOTQ4MDMyNyksa14xMjgxODQ0NjYsa142NjMwMjAxNDQsU0ExLC0oa14xMjYwMTUwODE1KSwtKGteMTM4NTgyODA1NiksLShrXjE2NjI1MTc4MzcpLGteMTQ3ODUyMTA0NCwkWWosa14xODcwOTA2Mjg1LGteODIyNTEwODUxLFN1eCwtKGteMTExOTIxMzExNCksLShrXjg3NDEwNjcxMCksa14yMDc2NDU3OTE4LGteMTc0Njc4MTY5NCxJW2teNzI0MF0sb1VqLGteMTM4NDIyNjkxNSxNQ2IsLShrXjE2MjA0NjE3NTYpLGteMTI3MjM0ODc2MCxJW2teNzI5NF0sLShrXjkxMjQ2MDk4MSksa14xODg3MTM4NTY5LEoxWixJW2teNzE3MV0sTCwtKGteMTg5NjQ1NTA0KSwtKGteMTM1NTU3MzkzMSksLShrXjE0MTE5OTc0MjkpLGteMTk0Mzk0NjQxMyxMLElhMixTalUsa14xODcwOTA2Mjg1LElba143MjkwXSxBMTEsa14xMDM5NzI3ODI1LGteOTQxOTgzMTg4LC0oa14xODUwNDM2ODczKSxJW2teNzE2OF0sa14yMTYzOTkwMjEsbXR4LC0oa140NjQ5MjEzOSldO3hbNV09Cng7eFtrXjcyNDRdPXg7eFtrXjcyNTNdPXg7aWYodHlwZW9mIEtHdD09PUlba143Mjc4XSl7ZT1EO2JyZWFrIGF9dHJ5e3RyeXt4W2teNzI1NV09PT0tMyYmKCgoMCx4W2teNzI1NF0pKHhba143MTczXSx4W2teNzI0NF0pLCgoMCx4W2teNzI4MV0pKHhba143MjU2XSwoMCx4W2teNzI5MV0pKCkseFtrXjcyOTBdKSx4W2teNzI4MV0pKHhba143Mjg5XSwoMCx4W2teNzI0N10pKCkseFtrXjcyOTBdKSx4W2teNzI2M10pKHhba143MjUzXSksMSl8fCgoMCx4W2teNzI1NF0pKHhba143MjUxXSx4W2teNzI1Nl0pLHhba143MjYxXSkoeFtrXjcyNzJdLHhba143MjkyXSk+PigoMCx4W2teNzI2M10pKHhba143MjU2XSl8KDAseFtrXjcxNzVdKSh4W2teNzI1Ml0seFs1XSkpfWNhdGNoKHIpeygwLHhba143MjU1XSkoeFtrXjcyODJdKX1maW5hbGx5e3ZhciBHPU0zKGteNzI1NyxrXjIxOTAseCl9dHJ5e0c9WEQoa143MjUzLGteNzgwMCx4KX1jYXRjaChyKXt4W2teNzE3OV0hPS0zJiYoKCgoMCx4W2teCjcyOTJdKSgoMCx4W2teNzI0N10pKHhba143MTc3XSx4W2teNzE3NF0pLHhba143MjgzXSx4W2teNzE2OF0pLCgwLHhba143MTY5XSkoeFs1XSx4W2teNzI0OV0pLHhba143MTgxXSkoeFtrXjcyNDBdLHhba143MjgyXSkseFszXSkoeFtrXjcyNzBdLHhba143MjY5XSkseFtrXjcyNzhdKSgoMCx4W2teNzI3N10pKHhba143MjYxXSx4W2teNzI1MF0pLHhba143MjQ4XSwoMCx4W2teNzI2NF0pKHhba143Mjg3XSx4W2teNzI0NF0pLHhba143MjgzXSx4W2teNzI3MV0pLHhba143MjYwXSE9PTAmJih4W2teNzE2OF08PS0zPygwLHhba143MjY0XSkoeFtrXjcyNjldLHhba143MTc3XSk6KDAseFtrXjcxNjldKSh4W2teNzI2OF0sKDAseFtrXjcyNThdKSgpLHhbNF0pKX1maW5hbGx5e3hba143MTczXSE9PTQmJih4W2teNzI0N108PS00PygwLHhba143Mjg5XSkoKCgwLHhba143Mjc5XSkoeFtrXjcxODNdLHhba143MjQ0XSkseFtrXjcyNjhdKSh4W2teNzE4M10seFtrXjcyNDVdKSx4W2teNzI0OV0sCigwLHhba143MjQzXSkoKDAseFtrXjcyNDhdKSh4W2teNzI1N10seFtrXjcyODJdKSx4W2teNzI2OF0seFtrXjcyNDJdLHhba143MTcyXSksKCgoKCgoMCx4W2teNzI5NF0pKHhba143MjgxXSx4W2teNzI0MF0pLHhba143Mjc1XSkoeFtrXjcxODddLHhba143MjYzXSkseFtrXjcyNTVdKSh4W2teNzE3N10sKDAseFtrXjcyNDJdKSgpLHhba143MjU2XSkseFtrXjcyNDldKSh4W2teNzI2Nl0seFtrXjcyOTNdKSx4W2teNzE3NV0pKCgwLHhba143MTgwXSkoeFtrXjcyNDhdLHhba143MjkzXSkseFtrXjcxNzNdLHhbMV0seFtrXjcyOTNdKSx4W2teNzI0OV0pKHhba143MTY4XSx4W2teNzI2M10pLCgwLHhba143Mjc1XSkoeFtrXjcyODhdLHhba143MjkzXSk8PSgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143Mjc5XSkoKSx4W2teNzI1MF0pLHhba143MTc2XSwoMCx4W2teNzE3Nl0pKHhba143MjUxXSx4W2teNzI2M10pLHhbMF0seFtrXjcxNzddKTooKCgwLHhba143MTgxXSkoKCgwLHhba14KNzE3Nl0pKHhba143MTY5XSx4W2teNzI2M10pLHhba143Mjc1XSkoeFtrXjcyOTFdLHhba143MjYzXSklKDAseFtrXjcxODJdKSh4W2teNzE3Ml0pLHhba143MjU1XSwoMCx4W2teNzE3Nl0pKHhbNF0seFtrXjcxNzJdKSx4W2teNzI5M10sKDAseFtrXjcyNzBdKSgpLHhba143MjU2XSksKDAseFtrXjcxODJdKSh4W2teNzI4MV0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pPT09KCgoMCx4W2teNzI1NV0pKHhba143MTc3XSwoMCx4W2teNzI1N10pKCkseFtrXjcyNTBdKSx4W2teNzI3NV0pKHhba143MjU5XSx4W2teNzE3MV0pLCgwLHhba143MjU1XSkoeFtrXjcxNzddLCgwLHhba143MjU3XSkoKSx4W2teNzI2OF0pLHhba143MjU1XSkoeFtrXjcyOTNdLCgwLHhba143Mjc5XSkoKSx4W2teNzI1Nl0pXigwLHhba143Mjc1XSkoeFtrXjcyNzZdLHhba143MTcyXSksKDAseFtrXjcxNzVdKSgoMCx4W2teNzE3M10pKHhba143Mjc0XSx4W2teNzE3Ml0pLAp4W2teNzI1NV0seFtrXjcyOTNdLCgwLHhba143MjcwXSkoKSx4W2teNzI1MF0pLHhba143MTc2XSkoeFtrXjcyOTRdLHhba143MjYzXSkpfX1jYXRjaChyKXtlPUlba143MjgwXStEO2JyZWFrIGF9ZT1MW0lba143MjQ2XV0oSVtrXjcyNTRdKX0obl45MSk8MTYmJm4rMT4+Mz49MiYmKGVYKGteNjY0MixrXjE0ODksRCksZT1nLkRsKERbSVsxXV0sT1d0KSk7bis5Pj40Pj0zJiYobj4+MiYyNCk8MTImJmJbSVsyMl1dKEQpO3JldHVybiBlfTsKTXM9ZnVuY3Rpb24obil7cmV0dXJuISEobi5XJiZuLlcudmlkZW9JbmZvcyYmbi5XLnZpZGVvSW5mb3MubGVuZ3RoKX07CkFKPWZ1bmN0aW9uKG4pe3JldHVybiBuLk5QKCkmJm4uRygpLnN1cHBvcnRzR2FwbGVzc1Nob3J0cygpfTsKUlE9ZnVuY3Rpb24obil7dmFyIFc9WyJNVVNJQ19WSURFT19UWVBFX0FUViIsIk1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIl0sRD1sbyhuLnlRKT09PSJUVkhUTUw1X1NJTVBMWSImJm4ueVEuTi5jdGhlbWU9PT0iTVVTSUMiOyFuLkpnJiYoZy5NVihuLnlRKXx8dHUobi55USl8fEQpJiYoVy5pbmNsdWRlcyhuLm11c2ljVmlkZW9UeXBlKXx8bi5pc0V4dGVybmFsbHlIb3N0ZWRQb2RjYXN0KSYmKG4uSmc9ITApO2lmKFc9Zy5kOCgpKVc9L1N0YXJib2FyZFwvKFswLTldKykvLmV4ZWMoZy5YUSgpKSxXPShXP3BhcnNlSW50KFdbMV0sMTApOk5hTik8MTA7RD1odShuLnlRKSYmbi55US5OLmN0aGVtZT09PSJNVVNJQyI7dmFyIGI7aWYoYj0hbi5KZylEfHwoRD1uLnlRLEQ9bG8oRCk9PT0iVFZIVE1MNSImJkQuTi5jdmVyLnN0YXJ0c1dpdGgoIjciKSksYj1EO2ImJiFXJiYoVz1uLm11c2ljVmlkZW9UeXBlPT09Ik1VU0lDX1ZJREVPX1RZUEVfUFJJVkFURUxZX09XTkVEX1RSQUNLIiwKRD0obi5TKCJjYXN0X3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKXx8bi5TKCJrYWJ1a2lfcGFuZ2VhX3ByZWZlcl9hdWRpb19vbmx5X2Zvcl9hdHZfYW5kX3VwbG9hZHMiKSkmJm4ubXVzaWNWaWRlb1R5cGU9PT0iTVVTSUNfVklERU9fVFlQRV9BVFYiLFd8fER8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCkmJihuLkpnPSEwKTtyZXR1cm4gbi55US5kZXZpY2VJc0F1ZGlvT25seXx8bi5KZyYmbi55US5LfTsKUXo9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuUygiaHRtbDVfZGlzYWJsZV9hdjEiKT8hMDohMX07Ck5JPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/LmNvbXBvc2l0ZVZpZGVvQ29uZmlnPy5jb21wb3NpdGVCcm9hZGNhc3RUeXBlPT09IkNPTVBPU0lURV9CUk9BRENBU1RfVFlQRV9DT01QUkVTU0VEX0RPTUFJTl9DT01QT1NJVEUifTsKVno9ZnVuY3Rpb24obil7dmFyIFc9bi5LO24uUygiaHRtbDVfZ2FwbGVzc191bmxpbWl0X2Zvcm1hdF9zZWxlY3Rpb24iKSYmQUoobikmJihXPSExKTt2YXIgRD0hIW4uTiYmbi5OLnpXO1c9VThaKG4ueVEse21WOm4ubVYoKSx5WDpELE93OlJRKG4pLEhpOm4uSGksbFU6Vyxpc090ZjpuLmlzT3RmKCksb0w6bi5vTCgpLElSOm4uSVIseGQ6bi5nZXRVc2VyQXVkaW81MVByZWZlcmVuY2UoKSxkaXNhYmxlQXYxOlF6KG4pLGRCOk5JKG4pfSk7Zy5ZTihuKSYmKFcudlg9ITApO3pRKCkmJm4ucGxheWVyUmVzcG9uc2UmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnJiZuLnBsYXllclJlc3BvbnNlLnBsYXllckNvbmZpZy53ZWJQbGF5ZXJDb25maWcmJm4ucGxheWVyUmVzcG9uc2UucGxheWVyQ29uZmlnLndlYlBsYXllckNvbmZpZy51c2VDb2JhbHRUdm9zRG9nZm9vZEZlYXR1cmVzJiYoVy5qPSEwLFcuVj0hMCk7bi5LJiZuLmlzQWQoKSYmKG4uWXImJihXLk89bi5Zciksbi5TViYmCihXLlg9bi5TVikpO24uTlAoKSYmKFcuUyQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzIikpO1cubnU9bi5pc0xpdmVQbGF5YmFjayYmbi5NaSgpJiZuLnlRLlMoImh0bWw1X2RybV9saXZlX2F1ZGlvXzUxIik7Vy5iZD1uLkVUO24uUygiaHRtbDVfZGlzYWJsZV92cDlfaGRyX2ZhaXJwbGF5IikmJnpRKCkmJihXLmJkPSEwKTtXLlJhPSFnLllOKG4pO1cuVEM9IWcuWU4obikmJm4ueVEuZXhwZXJpbWVudHMuWnQoKS5OLlFRKFByaSk7cmV0dXJuIG4uZSQ9V307ClV0TT1mdW5jdGlvbihuKXtnLmFMKCJkcm1fcGJfcyIsdm9pZCAwLG4uelIpO24uQ2l8fG4uTiYmbi5OLlgoKTt2YXIgVz17fTtuLk4mJihXPU5kKG4ueXcsVnoobiksbi55US5XLG4uTixEPT5uLldKKCJjdG1wIiwiZm10Zmx0IixEKSwhMCxuZXcgU2V0KSk7Clc9bmV3IFpXUyhXLG4ueVEsbi5KaixuLnVzZUNvYmFsdFdpZGV2aW5lP3pRKCk/VGYobik6ITE6ITEsKEQsYik9PntuLlUoRCxiKX0pOwpnLnUobixXKTtuLlEkPSExO24ubG9hZGluZz0hMDtkOGkoVyxEPT57Zy5hTCgiZHJtX3BiX2YiLHZvaWQgMCxuLnpSKTtmb3IodmFyIGIgb2YgRClzd2l0Y2goYi5mbGF2b3Ipe2Nhc2UgImZhaXJwbGF5IjpiLkNpPW4uQ2k7Yi5WOT1uLlY5O2Iuamk9bi5qaTticmVhaztjYXNlICJ3aWRldmluZSI6Yi5GYz1uLkZjfW4uVFE9RDtpZihuLlRRLmxlbmd0aD4wJiYobi5qPW4uVFFbMF0sbi55US5XWCgpKSl7RD17fTtmb3IobGV0IFt2LGtdb2YgT2JqZWN0LmVudHJpZXMobi5qLkopKXtiPWs7bGV0IGg9InVuayIseD12Lm1hdGNoKC8oLiopY29kZWNzPSIoLiopIi8pO3gmJihoPXhbMl0pO0RbaF09Yn1uLlUoImRybVByb2JlIixEKX1mTChuKX0pfTsKY2o9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz0hIW4uY290bilXPW4udmlkZW9JZCxXPSEhVyYmZSQoVyk9PT0xO3JldHVybiBXJiYhbi5XaX07CnkxaD1mdW5jdGlvbihuKXt2YXIgVz1uLnBsYXllclJlc3BvbnNlPy5zdHJlYW1pbmdEYXRhPy5hZGFwdGl2ZUZvcm1hdHN8fFtdLEQ9bnVsbDtpZihXLmxlbmd0aD4wKUQ9YVEobixXKTtlbHNlIGlmKCFuLlMoImh0bWw1X2RlcHJlY2F0ZV9hZGFwdGl2ZV9mb3JtYXRzX3N0cmluZyIpKXtuLlUoInBhZm10c3RyIix7czpuLmFkYXB0aXZlRm9ybWF0cy5zdWJzdHJpbmcoMCw1MCl9KTtpZigoVz1uLmFkYXB0aXZlRm9ybWF0cykmJiFqJChuKSl7bi55US5XLkomJihSbz0hMCk7Vz1uQShXKTtEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9czVVKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaD8uZXhwZXJpbWVudHMsITApO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLlc9IWs7Yi5pc0xpdmU9IWs7Yi5YZz1rO2ZvcihHIG9mIFcpe3Y9SW8oRywKRCwwLGgseCk7TD1SeChHLnVybCxHLnNwLEcucyk7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aD8uZXhwZXJpbWVudHM/LkVxKCJodG1sNV9tYXhfa25vd25fZW5kX3RpbWVfcmViYXNlIik7bGV0IHI9TnVtYmVyKEcudGFyZ2V0X2R1cmF0aW9uX3NlYyl8fDUsTj1OdW1iZXIoRy5tYXhfZHZyX2R1cmF0aW9uX3NlYyl8fDE0NDAwLEg9TnVtYmVyKEwuZ2V0KCJtaW5kc3EiKXx8TC5nZXQoIm1pbl9zcSIpfHwiMCIpLEE9TnVtYmVyKEwuZ2V0KCJtYXhkc3EiKXx8TC5nZXQoIm1heF9zcSIpfHwiMCIpfHxJbmZpbml0eTtiLkl0PWIuSXR8fEg7Yi5IUD1iLkhQfHxBO2xldCB5PSF2Lk4oKTtMJiYkZyhiLG5ldyBXVChMLHYse3JiOnIsT1Q6eSx1YjpOLEl0OkgsSFA6QSx1azozMDAsWGc6ayxFMzplfSkpfXZhciBHPWJ9ZWxzZSBHPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/TnBqKFcsRCxiLGgseCk6cEpiKFcsRCxiLGgseCk7Vy5sZW5ndGg+CjAmJihXPVdbMF0sRmUobikmJlcudXJsJiYobi5SYT1uLlJhfHxCaihXLnVybCkpKTtXPW4uaXNMaXZlUGxheWJhY2smJiFuLlhnJiYhbi5SSSYmIW4uaXNQcmVtaWVyZTtuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiYoIWcuRFAobikmJlcmJm4uVSgibWlzc2luZ0xpdmVIZWFkUGxheWFibGUiLHt9KSxuLnlRLlY9PT0ieXQiJiYoRy5WUT0hMCkpO0Q9R31lbHNlIEQ9bnVsbDtuLlUoInBhZm10cyIse2lzTWFuaWZlc3RGaWxsZWQ6ISFEfSl9aWYoIUQpcmV0dXJuITE7YkYobixEKTtyZXR1cm4hMH07Ckk0PWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uTnx8IW4uTi5pc01hbmlmZXN0bGVzcyl9OwpnLkRQPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2xpdmVfaGVhZF9wbGF5YWJsZSIpJiZJNChuKSYmbi55US5WPT09Inl0Ij9uLmlzTGl2ZUhlYWRQbGF5YWJsZTpuLmlzTGl2ZVBsYXliYWNrfTsKYVE9ZnVuY3Rpb24obixXKXtpZihXLmxlbmd0aD09PTB8fGokKG4pKXJldHVybiBudWxsO24ueVEuVy5KJiYoUm89ITApO3ZhciBEPW4uY29udGVudFByb3RlY3Rpb247dmFyIGI9bi5sZW5ndGhTZWNvbmRzLHY9bi5pc0xpdmVQbGF5YmFjayxrPW4uWGcsaD1uLnlRLHg9bi5jbGllbnRQbGF5YmFja05vbmNlLEw9cXVqKFcpO2lmKHZ8fGspe2I9bmV3IGcuR3goIiIsaC5leHBlcmltZW50cywhMCk7Yi5XPSFrO2Iuelc9ITA7Yi5pc01hbmlmZXN0bGVzcz0hMDtiLmlzTGl2ZT0haztiLlhnPWs7Zm9yKGxldCBHIG9mIFcpe3Y9dFooRyxELDAsaCx4KTtsZXQge0VsOnIsczpOLHk3Okh9PVAwKDUsNjk0LEcpO0w9Ungocnx8Ry51cmx8fCIiLEgsTik7dmFyIGU9TC5nZXQoImlkIik7ZSYmZS5pbmNsdWRlcygiJTdFIikmJihiLk89ITApO2U9aC5leHBlcmltZW50cz8uRXEoImh0bWw1X21heF9rbm93bl9lbmRfdGltZV9yZWJhc2UiKTtsZXQgQT1OdW1iZXIoRy50YXJnZXREdXJhdGlvblNlY3x8CjUpLHk9TnVtYmVyKEcubWF4RHZyRHVyYXRpb25TZWN8fDE0NDAwKSxUPU51bWJlcihMLmdldCgibWluZHNxIil8fEwuZ2V0KCJtaW5fc3EiKXx8IjAiKSx6PU51bWJlcihMLmdldCgibWF4ZHNxIil8fEwuZ2V0KCJtYXhfc3EiKXx8IjAiKXx8SW5maW5pdHk7Yi5JdD1iLkl0fHxUO2IuSFA9Yi5IUHx8ejtsZXQgQz0hdi5OKCk7TCYmJGcoYixuZXcgV1QoTCx2LHtyYjpBLE9UOkMsdWI6eSxJdDpULEhQOnosdWs6MzAwLFhnOmssRTM6ZX0pKX1EPWJ9ZWxzZSBEPUw9PT0iRk9STUFUX1NUUkVBTV9UWVBFX09URiI/RzNDKFcsRCxiLGgseCk6dE9aKFcsRCxiLGgseCk7Vy5sZW5ndGg+MCYmKFc9V1swXSxGZShuKSYmVy51cmwmJihuLlJhPW4uUmF8fEJqKFcudXJsKSkpO1c9bi5pc0xpdmVQbGF5YmFjayYmIW4uWGcmJiFuLlJJJiYhbi5pc1ByZW1pZXJlO24uUygiaHRtbDVfbGl2ZV9oZWFkX3BsYXlhYmxlIikmJighZy5EUChuKSYmVyYmbi5VKCJtaXNzaW5nTGl2ZUhlYWRQbGF5YWJsZSIsCnt9KSxuLnlRLlY9PT0ieXQiJiYoRC5WUT0hMCkpO3JldHVybiBEfTsKbkE9ZnVuY3Rpb24obixXKXtuPXV3KG4pO3ZhciBEPXt9O2lmKFcpZm9yKHZhciBiIG9mIFcuc3BsaXQoIiwiKSkoVz1iLm1hdGNoKC9eKFswLTldKylcLyhbMC05XSspeChbMC05XSspKFwvfCQpLykpJiYoRFtXWzFdXT17d2lkdGg6V1syXSxoZWlnaHQ6V1szXX0pO2ZvcihsZXQgdiBvZiBuKWlmKGI9RFt2Lml0YWddKXYud2lkdGg9Yi53aWR0aCx2LmhlaWdodD1iLmhlaWdodDtyZXR1cm4gbn07CmJGPWZ1bmN0aW9uKG4sVyxEPSExKXtuLmVWPXZvaWQgMDtuLk49VztnLnUobixXKTtXLkl0PW4uSXQ7Vy5IUD1uLkhQO1cuSlU9bi5KVTtXLm9SPW4ub1I7Vy5JVD1uLklUO24ubEMmJihXLlk9bmV3IHZUKG4ubEMpKTsobi5tVigpfHxnLmtwKG4pKSYmbi5JSi5wdXNoKCJ3ZWJnbCIpO24uTi5pc0xpdmV8fChuLmlzTGl2ZVBsYXliYWNrPSExKTt2YXIgYj1XLnNvdXJjZVVybC5zcGxpdCgiLyIpO2lmKG4uVlE/Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT09LTE6Yi5pbmRleE9mKCJtYW5pZmVzdF9kdXJhdGlvbiIpIT0tMSluLnptPU51bWJlcihiW2IuaW5kZXhPZigibWFuaWZlc3RfZHVyYXRpb24iKSsxXSk7aWYoVy5XfHxXLmlzTWFuaWZlc3RsZXNzKVcuc3Vic2NyaWJlKCJjbGllbnR0ZW1wIixuLlUsbiksRD9XLnN1YnNjcmliZSgicmVmcmVzaCIsbi5QSCxuKTpXLnN1YnNjcmliZSgiY3VlcG9pbnRzYWRkZWQiLG4uRVosbik7Vy5YKCk/bi5RJD0hMDpHTD12b2lkIDA7Cm4uUkkmJihXLmlzV2luZG93ZWRMaXZlPW4uUkksVy5pc0xpdmU9ITAsbi5pc0xpdmVQbGF5YmFjaz0hMCk7Vy5pc1ByZW1pZXJlPW4uaXNQcmVtaWVyZTtXLmlzTGl2ZUhlYWRQbGF5YWJsZT1uLmlzTGl2ZUhlYWRQbGF5YWJsZX07ClRmPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X3R2b3Nfc2tpcF9kYXNoX2F1ZGlvX2NoZWNrIil8fE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgnYXVkaW8vd2VibTsgY29kZWNzPSJvcHVzIicpfTsKaiQ9ZnVuY3Rpb24obil7cmV0dXJuIHpRKCk/IVRmKG4pOkMkKCk/bi5DaSYmbi5jTz8hMDohKCFuLkNpfHwhbi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJmZOKCkpOiExfTsKU3g9ZnVuY3Rpb24obil7cmV0dXJuIG4ubGF0ZW5jeUNsYXNzPT09IkxPVyJ8fG4ubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIn07CmhEPWZ1bmN0aW9uKG4pe3JldHVybiBuLlZRP1N4KG4pJiZuLk4hPW51bGwmJm9vKG4uTik+PTU6U3gobikmJm4uTiE9dm9pZCAwJiZvbyhuLk4pPj01fTsKRXFoPWZ1bmN0aW9uKG4pe24ubG9hZGluZz0hMDtuLkN1PSExO2lmKGNqKG4pKUIkeChuLnZpZGVvSWQpLnRoZW4oYj0+e2lmKG4ucGxheWVyUmVzcG9uc2U/LnN0cmVhbWluZ0RhdGEpe3ZhciB2PVtdO2ZvcihsZXQgayBvZiBiKWI9T2JqZWN0LmFzc2lnbih7fSxrKSxiLnNpZ25hdHVyZUNpcGhlcj0iIix2LnB1c2goYik7di5sZW5ndGg8MiYmbi5VKCJvZmZtbGYiLHtsZW46di5sZW5ndGh9KTt2PWFRKG4sdik7UlEobikmJnp4KHYsITEpO2JGKG4sdik7bi5VKCJkbHIiLHt9KX1lbHNlIG4uVSgib2Zmc2RtIix7Y290bjpuLkNtP24uQ20uY290bjoiMCIsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX0pfSkudGhlbigoKT0+e2ZMKG4pfSk7CmVsc2V7Z1gobi5UZil8fGcuR3EobmV3IGcuUXgoIkRBU0ggTVBEIE9yaWdpbiBpbnZhbGlkOiAiLG4uVGYpKTt2YXIgVz1uLlRmLEQ9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJkYXNoX21hbmlmZXN0X3ZlcnNpb24iKXx8NDtXPWcuRVQoVyx7bXBkX3ZlcnNpb246RH0pO1N4KG4pJiZuLmxhdGVuY3lDbGFzcyE9PSJOT1JNQUwifHwoVz1nLkVUKFcse3BhY2luZzowfSkpO2Z0WihXLG4ueVEuZXhwZXJpbWVudHMsbi5pc0xpdmVQbGF5YmFjaykudGhlbihiPT57bi5xTigpfHwoYkYobixiLCEwKSxnLmFMKCJtcmMiLHZvaWQgMCxuLnpSKSxmTChuKSl9LGI9PntuLnFOKCl8fChuLmxvYWRpbmc9ITEsbi5XSigiZGF0YWxvYWRlcnJvciIsbmV3IGcuQ2koIm1hbmlmZXN0Lm5ldC5yZXRyeWV4aGF1c3RlZCIse2JhY2tlbmQ6Im1hbmlmZXN0IiwKcmM6Yi5zdGF0dXN9LDEpKSl9KTsKZy5hTCgibXJzIix2b2lkIDAsbi56Uil9fTsKeHA9ZnVuY3Rpb24obil7aWYoIW4uaXNQcm94aW1hTGF0ZW5jeUVsaWdpYmxlKXJldHVybiAwO3ZhciBXPVlkKCk7cmV0dXJuIG4ueVEuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmFibGVQcm94aW1hTG93TGF0ZW5jeT8yOlc9PT0xPzE6bi5TKCJodG1sNV9lbmFibGVfcHJveGltYSIpPzI6MH07Ckt6PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uUyhXKT8hMDoobi5mZmxhZ3N8fCIiKS5pbmNsdWRlcyhXKyI9dHJ1ZSIpfTsKaVdTPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9V3x8Q0wobil8fG4uaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdDtpZighbi5OfHxEKXJldHVybiBuLlUoInNraXBEYXNoIix7ZG06ISFuLk4sYWlyOlcsZGQ6bi5VVCxtc3M6Zk4oKSwiM3BwIjpuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3R9KSxnLnAkKCk7UlEobikmJnp4KG4uTixuLmlzTGl2ZVBsYXliYWNrKTtyZXR1cm4gZy5IMCgpLnRoZW4oKCk9PlMyYihuLnl3LFZ6KG4pLG4ueVEuVyxuLk4sbi5qLGI9Pm4uV0ooImN0bXAiLCJmbXRmbHQiLGIpLG4ub00sTEEobikpLnRoZW4oYj0+e2U3KG4sYik7Cm4ueXcuSj1udWxsOy9eYXYvLnRlc3Qobi5jbGllbnRQbGF5YmFja05vbmNlKSYmbi5lJCYmbi5VKCJhdjEiLG4uZSQuTil9KSl9Owp1bXQ9ZnVuY3Rpb24obixXKXtpZihXJiZuLmhsc3ZwKXJldHVybiBnLnAkKCk7aWYobi5obHNGb3JtYXRzKXtpZihXPW5BKG4uaGxzRm9ybWF0cykpe2xldCBiPVtdO2Zvcih2YXIgRCBvZiBXKUQudXJsJiYoRC51cmw9Vm10KEQudXJsKSksbi5lJD8uVyYmYi5wdXNoKEQuaXRhZyk7bi5lJD8uVyYmYi5sZW5ndGg+MCYmbi5VKCJobHNmbXQiLHtpdGFnczpiLmpvaW4oIi4iKX0pfW4ueUU9Z1laKG4ueVEsVyk7bi55RSYmZ2wobixuLnlFKTtEPW4uY2xpZW50UGxheWJhY2tOb25jZTtyZXR1cm4gdG1NKG4ueVEsbi5pc0FkKCksVyxuLnBsYXllclJlc3BvbnNlPy5jYXB0aW9ucz8ucGxheWVyQ2FwdGlvbnNSZW5kZXJlcj8uYmFzZVVybD8/bnVsbCxuLkdmLEQsYj0+bi5XSigiY3RtcCIsImhsc2ZsdCIsYikpLnRoZW4oYj0+e3ZhciB2PTAsaz1bXTsKZm9yKGxldCBoIG9mIGIpay5wdXNoKGgua0woKT8uaXRhZyksaC5rTCgpPy5ZKCk/Lm51bUNoYW5uZWxzPnYmJih2PWgua0woKS5hdWRpby5udW1DaGFubmVscyk7dj4yJiZuLlUoImhsc2NobCIse21uOnZ9KTtuLmUkPy5XJiZuLlUoImhsc2ZtdGFmIix7aXRhZ3M6ay5qb2luKCIuIil9KTtpZihuLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5qPy5OKCkpe24uVSgiZHJtIix7c2JkbGZiazoxfSk7Zm9yKGxldCBoIG9mIG4uVFEpaWYoZzEoaCkpe24uaj1oO2JyZWFrfX1YMihuLGIpfSl9cmV0dXJuIGcucCQoKX07Cm9xMT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QmJm4uY2Ype2xldCBXPW5BKG4uY2YpO2lmKCFXWzBdKXJldHVybiBnLnAkKCk7bi5xdz1XWzBdO3JldHVybiBzaXIobi55USxXWzBdKS50aGVuKEQ9PntYMihuLEQpfSl9cmV0dXJuIG4uUXImJm4ub2M/cnFaKG4ueVEsbi5pc0FkKCksbi5RcikudGhlbihXPT57WDIobixXKX0pOmcucCQoKX07CnprVT1mdW5jdGlvbihuKXtpZihuLmlzRXh0ZXJuYWxseUhvc3RlZFBvZGNhc3QpcmV0dXJuIGcucCQoKTt2YXIgVz1uQShuLmNmLG4uR2opO2lmKG4uaGxzdnApe2xldCBEPVFpMihuLmhsc3ZwLG4uY2xpZW50UGxheWJhY2tOb25jZSxuLkdmKTtXLnB1c2goRCl9cmV0dXJuIGpDaChuLnlRLG4uaXNBZCgpLFcsZHQxKG4pKS50aGVuKEQ9PntYMihuLEQpfSl9OwpMQT1mdW5jdGlvbihuKXt2YXIgVz1uLlMoImh0bWw1X2VuYWJsZV9zZXJ2ZXJfZm9ybWF0X2ZpbHRlciIpJiYhbi5NaSgpLEQ9bi5TKCJodG1sNV9lbmFibGVfc2VydmVyX2Zvcm1hdF9maWx0ZXJfZm9yX2RybSIpJiZuLk1pKCk7cmV0dXJuIGcuWU4obikmJihXfHxEKX07CmU3PWZ1bmN0aW9uKG4sVyl7bi5XPVc7Z2wobixuLlcuZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MoKSk7aWYobi5XKWZvcih2YXIgRCBvZiBuLlcudmlkZW9JbmZvcylXPUQuY29udGFpbmVyVHlwZSxXIT09MCYmKG4uYkJbV109RC5pZCk7RD1uLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7RD1ELmNvbmNhdChuLnZYKTtmb3IoVz0wO1c8bi5Udy5sZW5ndGg7VysrKXtsZXQgdj1uLlR3W1ddO2ZvcihsZXQgaz0wO2s8RC5sZW5ndGg7aysrKXtsZXQgaD1EW2tdO3ZhciBiPWgua1ouaWQ9PT12LmF1ZGlvVHJhY2tJZDtpZihoLmtaLmlzRGVmYXVsdCYmVz09PW4uTyR8fGIpe2lmKHYuY2FwdGlvblRyYWNrSW5kaWNlcylmb3IoYj0wO2I8di5jYXB0aW9uVHJhY2tJbmRpY2VzLmxlbmd0aDtiKyspaC5jYXB0aW9uVHJhY2tzW2JdPW4uY2FwdGlvblRyYWNrc1t2LmNhcHRpb25UcmFja0luZGljZXNbYl1dO3YuZGVmYXVsdENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5XPW4uY2FwdGlvblRyYWNrc1t2LmRlZmF1bHRDYXB0aW9uVHJhY2tJbmRleF0pOwp2LmZvcmNlZENhcHRpb25UcmFja0luZGV4IT09dm9pZCAwJiYoaC5OPW4uY2FwdGlvblRyYWNrc1t2LmZvcmNlZENhcHRpb25UcmFja0luZGV4XSk7aC5KPXYudmlzaWJpbGl0eXx8IlVOS05PV04iO2guY2FwdGlvbnNJbml0aWFsU3RhdGU9di5jYXB0aW9uc0luaXRpYWxTdGF0ZXx8IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiJ9fX1pZihuLmomJm4uVyYmbi5XLnZpZGVvSW5mb3MmJiEobi5XLnZpZGVvSW5mb3MubGVuZ3RoPD0wKSYmKEQ9bi5XLnZpZGVvSW5mb3NbMF0uVygpLG4uai5mbGF2b3I9PT0iZmFpcnBsYXkiIT09RCkpZm9yKGxldCB2IG9mIG4uVFEpaWYoRD09PSh2LmZsYXZvcj09PSJmYWlycGxheSIpKXtuLmo9djticmVha319OwpnbD1mdW5jdGlvbihuLFcpe1cuc29ydCgoRCxiKT0+RC50b1N0cmluZygpLmxvY2FsZUNvbXBhcmUoYi50b1N0cmluZygpLG4ueVEuaG9zdExhbmd1YWdlKSl9OwpYMj1mdW5jdGlvbihuLFcpe24ubnU9VztlNyhuLG5ldyBwZyhnLmlfKG4ubnUsRD0+RC5rTCgpKSkpfTsKZHQxPWZ1bmN0aW9uKG4pe3ZhciBXPXtjcG46bi5jbGllbnRQbGF5YmFja05vbmNlLGM6bi55US5OLmMsY3ZlcjpuLnlRLk4uY3Zlcn07bi54eiYmKFcucHRrPW4ueHosVy5vaWQ9bi5YbyxXLnB0Y2huPW4uaDEsVy5wbHR5cGU9bi5xOCxuLnk5JiYoVy5tPW4ueTkpKTtyZXR1cm4gV307CmcucXU9ZnVuY3Rpb24obil7cmV0dXJuIGokKG4pJiZuLkNpP3tmYWlycGxheToiaHR0cHM6Ly95b3V0dWJlLmNvbS9hcGkvZHJtL2Zwcz9laz11bmluaXRpYWxpemVkIn06bi5KJiZuLkouY29udGVudFByb3RlY3Rpb258fG51bGx9OwpHZT1mdW5jdGlvbihuKXtyZXR1cm4gbi5wbGF5ZXJSZXNwb25zZSYmbi5wbGF5ZXJSZXNwb25zZS5wYWlkQ29udGVudE92ZXJsYXkmJm4ucGxheWVyUmVzcG9uc2UucGFpZENvbnRlbnRPdmVybGF5LnBhaWRDb250ZW50T3ZlcmxheVJlbmRlcmVyfHxnLncobi53YXRjaE5leHRSZXNwb25zZT8ucGxheWVyT3ZlcmxheXM/LnBsYXllck92ZXJsYXlSZW5kZXJlcj8ucGxheWVyRGlzY2xvc3VyZSxsYVMpfHxudWxsfTsKdEQ9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcudGV4dD9nLkRwKFcudGV4dCk6bi5wYWlkQ29udGVudE92ZXJsYXlUZXh0fTsKJHA9ZnVuY3Rpb24obil7dmFyIFc9R2Uobik7cmV0dXJuIFcmJlcuZHVyYXRpb25Ncz9nLk5oKFcuZHVyYXRpb25Ncyk6bi5wYWlkQ29udGVudE92ZXJsYXlEdXJhdGlvbk1zfTsKcmw9ZnVuY3Rpb24obil7dmFyIFc9IiI7aWYobi51aClyZXR1cm4gbi51aDtuLmlzTGl2ZVBsYXliYWNrJiYoVz1uLmFsbG93TGl2ZUR2cj8iZHZyIjpuLmlzUHJlbWllcmU/ImxwIjpuLlJJPyJ3aW5kb3ciOiJsaXZlIik7bi5YZyYmKFc9InBvc3QiKTtyZXR1cm4gV307Cmcuc1M9ZnVuY3Rpb24obixXKXtyZXR1cm4gdHlwZW9mIG4ua2V5d29yZHNbV10hPT0ic3RyaW5nIj9udWxsOm4ua2V5d29yZHNbV119OwpnLllMPWZ1bmN0aW9uKG4pe3JldHVybiEhKG4uVGZ8fG4uY2Z8fG4uUXJ8fG4uaGxzdnB8fG4uSXAoKSl9OwpBeD1mdW5jdGlvbihuKXtyZXR1cm4obj1uLlJ0KSYmbi5zaG93RXJyb3I/bi5zaG93RXJyb3I6ITF9OwpOdT1mdW5jdGlvbihuKXtuLm11dGVkQXV0b3BsYXk9ITE7bi5lbmRTZWNvbmRzPU5hTjtuLmxpbWl0ZWRQbGF5YmFja0R1cmF0aW9uSW5TZWNvbmRzPU5hTjt6ZihuKX07CmcucEE9ZnVuY3Rpb24obil7cmV0dXJuIGcuRFAobikmJiFuLmFsbG93TGl2ZUR2cn07CllwPWZ1bmN0aW9uKG4pe3JldHVybiBnLkRQKG4pJiZuLmFsbG93TGl2ZUR2cn07CmcuSFQ9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJks2KG4uTil9OwpnLmZBPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZPayhuLk4pfTsKZy5rcD1mdW5jdGlvbihuKXtyZXR1cm4hIW4uTiYmSiRVKG4uTil9OwpnLkpEPWZ1bmN0aW9uKG4pe3JldHVybiEhbi5OJiZQRihuLk4pfTsKSVQ9ZnVuY3Rpb24obil7cmV0dXJuIG4uYWRGb3JtYXQmJihuLlZRP24uYWRGb3JtYXQhPT0iMV81IjpuLmFkRm9ybWF0IT0iMV81Iik/ImFkdW5pdCI6bi5ldmVudExhYmVsfHxuLnlRLll9OwpnLlM3PWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJzaG9ydHNwYWdlIn07CkFEPWZ1bmN0aW9uKG4pe3JldHVybiBuLkd1fHxJVChuKT09PSJkZXRhaWxwYWdlInx8SVQobik9PT0ic2hvcnRzcGFnZSJ8fG4ubXV0ZWRBdXRvcGxheX07CmlUPWZ1bmN0aW9uKG4pe3JldHVybiBJVChuKT09PSJhZHVuaXQiP24uVlQ6QUQobik/SVQobik9PT0iZGV0YWlscGFnZSJ8fElUKG4pPT09InNob3J0c3BhZ2UiP24uaXNBdXRvbmF2fHxuLlMkPjA6bi5mQj8hMTpuLnlRLlU1fHxuLnlRLk1kfHwhZy5vNChuLnlRKT8hMDohMToobi5mQj8wOm4uUFgpJiZnLm80KG4ueVEpPyEwOiExfTsKZy5tTz1mdW5jdGlvbihuKXtyZXR1cm4gbi56VygpJiZnLllOKG4pfTsKcHo9ZnVuY3Rpb24obil7cmV0dXJuISFuLnBsYXllclJlc3BvbnNlPy5wbGF5ZXJDb25maWc/Lm1lZGlhQ29tbW9uQ29uZmlnPy5zcGxpdFNjcmVlbkVsaWdpYmxlfTsKS0E9ZnVuY3Rpb24obil7cmV0dXJuIGlzTmFOKG4pPzA6TWF0aC5tYXgoKERhdGUubm93KCktbikvMUUzLTMwLDApfTsKT1M9ZnVuY3Rpb24obil7cmV0dXJuISghbi5XaXx8IW4ueVEuSykmJm4uSXAoKX07ClBUPWZ1bmN0aW9uKG4pe3JldHVybiBuLktkJiZuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpfTsKVGhpPWZ1bmN0aW9uKG4pe3JldHVybiBuLkRFJiYhbi5sQ307CmNxeD1mdW5jdGlvbihuKXtzd2l0Y2gobi55US5WKXtjYXNlICJnZCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fZHJpdmUiKTtjYXNlICJncCI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb25fcGxheV9zdG9yZSIpO2Nhc2UgImRkIjpyZXR1cm4hMDtjYXNlICJwdyI6cmV0dXJuIG4uUygiaHRtbDVfZW5hYmxlX3NhYnJfb3RmX2luX2NsaWVudCIpO2RlZmF1bHQ6cmV0dXJuITF9fTsKcEw9ZnVuY3Rpb24obil7dmFyIFc7aWYoIShXPU5zJiZuLnpXKCkmJm4uTWkoKSYmKG4uZHJtUHJvZHVjdD09PSIxIj8hMTohMCkmJm4uUygiaHRtbDVfc2Ficl9saXZlX2RybV9zdHJlYW1pbmdfeGhyIikpKXtXPW4uelcoKSYmIW4uTWkoKSYmTnM7dmFyIEQ9bi56VygpJiZuLmxhdGVuY3lDbGFzcyE9PSJVTFRSQUxPVyImJiFTeChuKSYmbi5TKCJodG1sNV9zYWJyX2xpdmVfbm9ybWFsX2xhdGVuY3lfc3RyZWFtaW5nX3hociIpLGI9U3gobikmJm4uUygiaHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtsZXQgdj1uLmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyImJm4uUygiaHRtbDVfc2Ficl9saXZlX3VsdHJhX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHIiKTtXPVcmJihEfHxifHx2KX1EPVc7Vz1uLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZEJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX3NzZGFpX3N0cmVhbWluZ194aHIiKTtEPSFuLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYKRDtiPW4uelcoKSYmIU5zJiZuLlMoImh0bWw1X2VuYWJsZV9zYWJyX2xpdmVfbm9uX3N0cmVhbWluZ194aHIiKTtuPU5zJiYobi5ERigpfHxweihuKSYmbi5TKCJodG1sNV9lbmFibGVfc2Ficl9mb3JfbGlmYV9lbGlnaWJsZV9zdHJlYW1zIikpO3JldHVybiBXfHxEfHxifHxufTsKZy5tTT1mdW5jdGlvbihuKXtpZighbi5OfHwhbi5KfHwhbi5YKXJldHVybiExO3ZhciBXPW4uTi5OLEQ9ISFXW24uSi5pZF0mJmdaKDU2LDExOTYsV1tuLkouaWRdLlhiLk4pO1c9ISFXW24uWC5pZF0mJmdaKDIyLDExNTQsV1tuLlguaWRdLlhiLk4pO3JldHVybihuLkouaXRhZz09PSIwInx8RCkmJld9OwpaUD1mdW5jdGlvbihuKXtyZXR1cm4gbi5lQj9bIk9LIiwiTElWRV9TVFJFQU1fT0ZGTElORSJdLmluY2x1ZGVzKG4uZUIuc3RhdHVzKTohMH07ClVTPWZ1bmN0aW9uKG4pe3JldHVybiEoIW4uaXNMaXZlUGxheWJhY2t8fCFuLmhhc1Byb2dyZXNzQmFyQm91bmRhcmllcygpKX07CnlVPWZ1bmN0aW9uKG4pe3JldHVybiBuLnlRLmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqc1opJiZuLk5QKCl8fG4uUygiZW5hYmxlX3BsYXllcl9yZXNwb25zZV9jYWNoZV9mb3JfbGl2ZSIpfTsKRVM9ZnVuY3Rpb24obil7cmV0dXJuISFuLmVtYmVkZGVkUGxheWVyQ29uZmlnPy5lbWJlZGRlZFBsYXllckZsYWdzPy5lbmFibGVNdXNpY1V4fTsKaUY9ZnVuY3Rpb24obil7cmV0dXJuIG4ueVEuSiYmbi5pc1ByaXZhdGV9OwpnLm9UPWZ1bmN0aW9uKG4pe3ZhciBXPW4uRygpLEQ9dUYoVyksYj1XLlFyO2cuQ04oVykmJihiJiYoRC50aGlyZFBhcnR5PXsuLi5ELnRoaXJkUGFydHksZW1iZWRVcmw6Yn0pLGcuRW4oRCxuKSk7KGI9bi50dyk/RC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmJ9OmcuQ04obi5HKCkpJiZnLkFyKCJFVkVOVF9JRCIpJiYoRC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmcuQXIoIkVWRU5UX0lEIil9KTtiPUQuY2xpZW50fHx7fTt2YXIgdj0iRU1CRUQiLGs9SVQobik7az09PSJsZWFuYmFjayI/dj0iV0FUQ0giOlcuUygiZ3ZpX2NoYW5uZWxfY2xpZW50X3NjcmVlbiIpJiZrPT09InByb2ZpbGVwYWdlIj92PSJDSEFOTkVMIjpuLklSP3Y9IkxJVkVfTU9OSVRPUiI6az09PSJkZXRhaWxwYWdlIj92PSJXQVRDSF9GVUxMX1NDUkVFTiI6az09PSJhZHVuaXQiP3Y9IkFEVU5JVCI6az09PSJzcG9uc29yc2hpcHNvZmZlciImJih2PSJVTktOT1dOIik7Yi5jbGllbnRTY3JlZW49CnY7aWYodj1uLmtpZHNBcHBJbmZvKWIua2lkc0FwcEluZm89SlNPTi5wYXJzZSh2KTsoaz1uLkFtKSYmIXYmJihiLmtpZHNBcHBJbmZvPXtjb250ZW50U2V0dGluZ3M6e2FnZVVwTW9kZTpDcmJba119fSk7aWYodj1uLnRHKWIudW5wbHVnZ2VkQXBwSW5mbz17ZW5hYmxlRmlsdGVyTW9kZTohMH07KGs9bi51bnBsdWdnZWRGaWx0ZXJNb2RlVHlwZSkmJiF2JiYoYi51bnBsdWdnZWRBcHBJbmZvPXtmaWx0ZXJNb2RlVHlwZTpCaGhba119KTtpZih2PW4uWFkpYi51bnBsdWdnZWRMb2NhdGlvbkluZm89djtELmNsaWVudD1iO2I9RC5yZXF1ZXN0fHx7fTtuLllaJiYoYi5pc1ByZWZldGNoPSEwKTtpZih2PW4ubWR4RW52aXJvbm1lbnQpYi5tZHhFbnZpcm9ubWVudD12O2lmKHY9bi5tZHhDb250cm9sTW9kZSliLm1keENvbnRyb2xNb2RlPUZHeFt2XTtELnJlcXVlc3Q9YjtiPUQudXNlcnx8e307aWYodj1uLkQpYi5jcmVkZW50aWFsVHJhbnNmZXJUb2tlbnM9W3t0b2tlbjp2LHNjb3BlOiJWSURFTyJ9XTsKaWYodj1uLkhKKWIuZGVsZWdhdGVQdXJjaGFzZXM9e29hdXRoVG9rZW46dn0sYi5raWRzUGFyZW50PXtvYXV0aFRva2VuOnZ9O3Y9Vy5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk/LnVzZXJDb250ZW50UmF0aW5nOyF2JiZXLlMoImVuYWJsZV9icmF6aWxfYWdlX2dhdGluZ193ZWIiKSYmKHY9Zy5vOSgpLmdldCgiYnJfYWdlX3JhdGluZyIpKTt2JiYoYi5zZXJpYWxpemVkVXNlckNvbnRlbnRSYXRpbmc9dik7RC51c2VyPWI7aWYoVz1uLmNvbnRleHRQYXJhbXMpRC5hY3RpdmVQbGF5ZXJzPVt7cGxheWVyQ29udGV4dFBhcmFtczpXfV07aWYobj1uLmNsaWVudFNjcmVlbk5vbmNlKUQuY2xpZW50U2NyZWVuTm9uY2U9bjtyZXR1cm4gRH07CnVGPWZ1bmN0aW9uKG4pe3ZhciBXPWcudmIoKSxEPVcuY2xpZW50fHx7fTtpZihuLmZvcmNlZEV4cGVyaW1lbnRzKXt2YXIgYj1uLmZvcmNlZEV4cGVyaW1lbnRzLnNwbGl0KCIsIik7bGV0IHY9W107Zm9yKGxldCBrIG9mIGIpdi5wdXNoKE51bWJlcihrKSk7RC5leHBlcmltZW50SWRzPXZ9aWYoYj1uLmhvbWVHcm91cEluZm8pRC5ob21lR3JvdXBJbmZvPUpTT04ucGFyc2UoYik7aWYoYj1uLmdldFBsYXllclR5cGUoKSlELnBsYXllclR5cGU9YjtpZihiPW4uTi5jdGhlbWUpRC50aGVtZT1iO2lmKGI9bi5saXZpbmdSb29tQXBwTW9kZSlELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sbGl2aW5nUm9vbUFwcE1vZGU6Yn07Yj1uLmRldmljZVllYXI7bi5TKCJodG1sNV9wcm9wYWdhdGVfZGV2aWNlX3llYXIiKSYmYiYmKEQudHZBcHBJbmZvPXsuLi5ELnR2QXBwSW5mbyxkZXZpY2VZZWFyOmJ9KTtpZihiPW4ubGl2aW5nUm9vbVBvVG9rZW5JZClELnR2QXBwSW5mbz17Li4uRC50dkFwcEluZm8sCmxpdmluZ1Jvb21Qb1Rva2VuSWQ6Yn07Vy5jbGllbnQ9RDtiPVcudXNlcnx8e307bi5lbmFibGVTYWZldHlNb2RlJiYoYj17Li4uYixlbmFibGVTYWZldHlNb2RlOiEwfSk7IUQudHZBcHBJbmZvPy51c2VQYWdlaWRBc0hlYWRlciYmbi5wYWdlSWQmJihiPXsuLi5iLG9uQmVoYWxmT2ZVc2VyOm4ucGFnZUlkfSk7Vy51c2VyPWI7cmV0dXJuIFd9OwpsRj1mdW5jdGlvbihuLFcsRCl7Vz17dmlkZW9JZDpuLnZpZGVvSWQsY29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhuLFcsRCl9fTtuLmdUJiYoVy5wbGF5YmFja0NvbnRleHQucmVsb2FkUGxheWJhY2tDb250ZXh0PXtyZWxvYWRQbGF5YmFja1BhcmFtczpuLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtc30pO24uY29udGVudENoZWNrT2smJihXLmNvbnRlbnRDaGVja09rPSEwKTtpZihEPW4uY2xpZW50UGxheWJhY2tOb25jZSlXLmNwbj1EO2lmKEQ9bi5wbGF5ZXJQYXJhbXMpVy5wYXJhbXM9RDtlbHNlIGlmKEQ9bi5nZXRSZXNvbHZlVXJsUmVzcG9uc2UoKSlpZihEPWRsKEQpKVcucGFyYW1zPUQ7aWYoRD1uLnBsYXlsaXN0SWQpVy5wbGF5bGlzdElkPUQ7bi5yYWN5Q2hlY2tPayYmKFcucmFjeUNoZWNrT2s9ITApO0Q9bi5HKCk7dmFyIGI9RC5lbWJlZENvbmZpZztuLk5kP1cuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz0Kbi5OZDpiJiYoVy5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWIpO1cuY2FwdGlvblBhcmFtcz17fTtiPWcubzkoKS5RUSg2NSk7bi5kZXZpY2VDYXB0aW9uc09uIT1udWxsP1cuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc09uPW4uZGV2aWNlQ2FwdGlvbnNPbjpnLmVNKEQpJiYoVy5jYXB0aW9uUGFyYW1zLmRldmljZUNhcHRpb25zT249YiE9bnVsbD8hYjohMSk7bi5LTCYmKFcuY2FwdGlvblBhcmFtcy5kZXZpY2VDYXB0aW9uc0xhbmdQcmVmPW4uS0wpO2I9bi5TKCJ3ZWJfZW5hYmxlX3BsYXllcl9yZXF1ZXN0X2NhcHRpb25zX2xhc3RfbGFuZ3VhZ2Vfb25seSIpO2lmKG4uRmUubGVuZ3RoKVcuY2FwdGlvblBhcmFtcy52aWV3ZXJTZWxlY3RlZENhcHRpb25MYW5ncz1iP1tuLkZlLmF0KC0xKV06bi5GZTtlbHNlIGlmKGcuZU0oRCkpe3ZhciB2PWcuU0koKTt2Py5sZW5ndGgmJihXLmNhcHRpb25QYXJhbXMudmlld2VyU2VsZWN0ZWRDYXB0aW9uTGFuZ3M9Yj9bdi5hdCgtMSldOgp2KX1iPW4uZmV0Y2hUeXBlPT09Im9uZXNpZSImJm4uUygiaHRtbDVfb25lc2llX2F0dGFjaF9wb190b2tlbiIpO3Y9bi5mZXRjaFR5cGUhPT0ib25lc2llIiYmbi5TKCJodG1sNV9ub25fb25lc2llX2F0dGFjaF9wb190b2tlbiIpO2lmKGJ8fHYpYj1uLkcoKSxiLmpXJiYoVy5zZXJ2aWNlSW50ZWdyaXR5RGltZW5zaW9ucz17fSxXLnNlcnZpY2VJbnRlZ3JpdHlEaW1lbnNpb25zLnBvVG9rZW49Yi5qVyk7RC5TKCJmZXRjaF9hdHRfaW5kZXBlbmRlbnRseSIpJiYoVy5hdHRlc3RhdGlvblJlcXVlc3Q9e29taXRCb3RndWFyZERhdGE6ITB9KTtXLnBsYXliYWNrQ29udGV4dHx8KFcucGxheWJhY2tDb250ZXh0PXt9KTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcz16ZShuKTtXLnBsYXliYWNrQ29udGV4dC5kZXZpY2VQbGF5YmFja0NhcGFiaWxpdGllcy5zdXBwb3J0c1ZwOUVuY29kaW5nPT09ITEmJm4uVSgibm9WcDkiLHt9KTtyZXR1cm4gV307CnplPWZ1bmN0aW9uKG4pe3ZhciBXPSFuPy5vTCgpJiZuPy56VygpJiZjMCgpO3JldHVybntzdXBwb3J0c1ZwOUVuY29kaW5nOiEoIW4/LllqKCl8fFcpLHN1cHBvcnRYaHI6TnN9fTsKajc9ZnVuY3Rpb24obil7aWYobj1uPy5lbmRwb2ludClyZXR1cm4gZy53KG4sZy5JUSl8fGcudyhuLFRlKX07CmRsPWZ1bmN0aW9uKG4pe3JldHVybiBqNyhuKT8ucGxheWVyUGFyYW1zfTsKTVNNPWFzeW5jIGZ1bmN0aW9uKG4sVyl7bj17Y29udGV4dDp1RihuLkcoKSksZW5nYWdlbWVudFR5cGU6IkVOR0FHRU1FTlRfVFlQRV9QTEFZQkFDSyIsaWRzOlt7cGxheWJhY2tJZDp7dmlkZW9JZDpuLnZpZGVvSWQsY3BuOm4uY2xpZW50UGxheWJhY2tOb25jZX19XX07dmFyIEQ9TEIod1laKTtyZXR1cm4gYXdhaXQgZy5yXyhXLG4sRCl9OwpDQT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5kTShXLmV4cGVyaW1lbnRzLCJiZ192bV9yZWluaXRfdGhyZXNob2xkIik7KCFvZnx8KDAsZy5SKSgpLW9mPmIpJiZNU00obixEKS50aGVuKHY9Pnt2JiYodj12LmJvdGd1YXJkRGF0YSkmJmcuekModixXKX0sdj0+e24ucU4oKXx8KHY9QiQodiksbi5VKCJhdHRmIix2LmRldGFpbHMpKX0pfTsKQlQ9ZnVuY3Rpb24obixXLEQpe24uc3RhdGUuTltXXT0oLi4uYik9PkQuYXBwbHkobixiKX07CkYyPWZ1bmN0aW9uKG4sVyxEKXtuLnN0YXRlLk4uaGFzT3duUHJvcGVydHkoVyl8fEJUKG4sVyxEKTtuLnN0YXRlLmpbV109KC4uLmIpPT5ELmFwcGx5KG4sYik7Cm4uc3RhdGUuSy5hZGQoVyl9Owp3bD1mdW5jdGlvbihuLFcsRCl7bi5zdGF0ZS5OLmhhc093blByb3BlcnR5KFcpfHxCVChuLFcsRCk7bi5hcHAuRygpLksmJihuLnN0YXRlLlZbV109KC4uLmIpPT5ELmFwcGx5KG4sYiksbi5zdGF0ZS5LLmFkZChXKSl9OwpNdT1mdW5jdGlvbihuLFcpe24uc3RhdGUuTi5hZGRFbWJlZHNDb252ZXJzaW9uVHJhY2tpbmdQYXJhbXMoLi4uVyl9OwpnLlJUPWZ1bmN0aW9uKG4sVywuLi5EKXtuLnN0YXRlLlcuV0ooVywuLi5EKTtuLnN0YXRlLkouV0ooVywuLi5EKX07CmcuUVU9ZnVuY3Rpb24obixXLC4uLkQpe24uc3RhdGUuVy5XSihXLC4uLkQpO24uc3RhdGUuSi5XSihXLC4uLkQpO24uc3RhdGUuWC5XSihXLC4uLkQpfTsKZy5WVT1mdW5jdGlvbihuLFcsLi4uRCl7bi5zdGF0ZS5XLldKKFcsLi4uRCk7bi5zdGF0ZS5KLldKKFcsLi4uRCk7bi5zdGF0ZS5YLldKKFcsLi4uRCk7bi5zdGF0ZS5ZLldKKFcsLi4uRCl9OwphVD1mdW5jdGlvbihuLFcsRCl7dHlwZW9mIG49PT0ic3RyaW5nIiYmKG49e21lZGlhQ29udGVudFVybDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH0pO2E6e2lmKChXPW4ubWVkaWFDb250ZW50VXJsKSYmKFc9L1wvKFt2ZV18ZW1iZWQpXC8oW14jP10rKS8uZXhlYyhXKSkmJldbMl0pe1c9V1syXTticmVhayBhfVc9bnVsbH1uLnZpZGVvSWQ9VztyZXR1cm4gY1Qobil9OwpjVD1mdW5jdGlvbihuLFcsRCl7aWYodHlwZW9mIG49PT0ic3RyaW5nIilyZXR1cm57dmlkZW9JZDpuLHN0YXJ0U2Vjb25kczpXLHN1Z2dlc3RlZFF1YWxpdHk6RH07Vz17fTtmb3IobGV0IGIgb2YgUmtaKW5bYl0mJihXW2JdPW5bYl0pOyhuPW4uZW1iZWRDb25maWd8fG4uZW1iZWRfY29uZmlnKSYmKFcuZW1iZWRfY29uZmlnPW4yKG4pKTtyZXR1cm4gV307ClFzUz1mdW5jdGlvbihuLFcsRCxiKXtpZihnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKSl7Vz0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtEPXt9O2ZvcihiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07blt2XSYmKERbdl09blt2XSl9cmV0dXJuIER9Vz17aW5kZXg6VyxzdGFydFNlY29uZHM6RCxzdWdnZXN0ZWRRdWFsaXR5OmJ9O3R5cGVvZiBuPT09InN0cmluZyImJm4ubGVuZ3RoPT09MTY/Vy5saXN0PSJQTCIrbjpXLnBsYXlsaXN0PW47cmV0dXJuIFd9OwpuMj1mdW5jdGlvbihuKXtpZih0eXBlb2Ygbj09PSJzdHJpbmciKXJldHVybiBuO2lmKGcuZnQobikpdHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShuKX1jYXRjaChXKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLFcpfX07Clc3PWZ1bmN0aW9uKG4sVz0xKXt2YXIgRD17fTtXPW4uYXBwLlZFKHtwbGF5ZXJUeXBlOld9KS5nZXRWaWRlb0RhdGEoKTtpZihpRihXKSlyZXR1cm57fTtELnZpZGVvX2lkPVcudmlkZW9JZDtELmF1dGhvcj1XLmF1dGhvcjtELnRpdGxlPVcudGl0bGU7RC5pc1BsYXlhYmxlPVpQKFcpO0QuZXJyb3JDb2RlPVcuZXJyb3JDb2RlO2lmKFcuSiYmVy5KLnZpZGVvKXtELnZpZGVvX3F1YWxpdHk9Vy5KLnZpZGVvLnF1YWxpdHk7Vz1XLkoudmlkZW87bGV0IGI9W107Vy5KKCkmJmIucHVzaCgiaGZyIik7Vy5pc0hkcigpJiZiLnB1c2goImhkciIpO1cucHJpbWFyaWVzPT09ImJ0MjAyMCImJmIucHVzaCgid2NnIik7RC52aWRlb19xdWFsaXR5X2ZlYXR1cmVzPWJ9aWYobj1uLmdldFBsYXlsaXN0SWQoKSlELmxpc3Q9bjtyZXR1cm4gRH07ClZTaD1mdW5jdGlvbihuKXtGMihuLCJjdWVWaWRlb0J5SWQiLG4uY0opO0YyKG4sImxvYWRWaWRlb0J5SWQiLG4uWSQpO0YyKG4sImN1ZVZpZGVvQnlVcmwiLG4uYmQpO0YyKG4sImxvYWRWaWRlb0J5VXJsIixuLlFyKTtGMihuLCJwbGF5VmlkZW8iLG4ueXcpO0YyKG4sInBhdXNlVmlkZW8iLG4ucGF1c2VWaWRlbyk7RjIobiwic3RvcFZpZGVvIixuLnptKTtGMihuLCJjbGVhclZpZGVvIixuLmNsZWFyVmlkZW8pO0YyKG4sImdldFZpZGVvQnl0ZXNMb2FkZWQiLG4uWVopO0YyKG4sImdldFZpZGVvQnl0ZXNUb3RhbCIsbi5SYSk7RjIobiwiZ2V0VmlkZW9Mb2FkZWRGcmFjdGlvbiIsbi5YKTtGMihuLCJnZXRWaWRlb1N0YXJ0Qnl0ZXMiLG4uTEIpO0YyKG4sImN1ZVBsYXlsaXN0IixuLmN1ZVBsYXlsaXN0KTtGMihuLCJsb2FkUGxheWxpc3QiLG4uTmQpO0YyKG4sIm5leHRWaWRlbyIsbi5VNSk7RjIobiwicHJldmlvdXNWaWRlbyIsbi5RJCk7RjIobiwicGxheVZpZGVvQXQiLG4uTWQpOwpGMihuLCJzZXRTaHVmZmxlIixuLnNldFNodWZmbGUpO0YyKG4sInNldExvb3AiLG4uc2V0TG9vcCk7RjIobiwiZ2V0UGxheWxpc3QiLG4ualcpO0YyKG4sImdldFBsYXlsaXN0SW5kZXgiLG4uZ2V0UGxheWxpc3RJbmRleCk7RjIobiwiZ2V0UGxheWxpc3RJZCIsbi5nZXRQbGF5bGlzdElkKTtGMihuLCJsb2FkTW9kdWxlIixuLmopO0YyKG4sInVubG9hZE1vZHVsZSIsbi5WKTtGMihuLCJzZXRPcHRpb24iLG4uSik7RjIobiwiZ2V0T3B0aW9uIixuLnZKKTtGMihuLCJnZXRPcHRpb25zIixuLk4pO0YyKG4sIm11dGUiLG4uczUpO0YyKG4sInVuTXV0ZSIsbi5taCk7RjIobiwiaXNNdXRlZCIsbi5pc011dGVkKTtGMihuLCJzZXRWb2x1bWUiLG4uYlYpO0YyKG4sImdldFZvbHVtZSIsbi5nZXRWb2x1bWUpO0YyKG4sInNlZWtUbyIsbi5TVik7RjIobiwiZ2V0UGxheWVyTW9kZSIsbi5nZXRQbGF5ZXJNb2RlKTtGMihuLCJnZXRQbGF5ZXJTdGF0ZSIsbi55RSk7RjIobiwiZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyIsCm4uZ2V0QXZhaWxhYmxlUGxheWJhY2tSYXRlcyk7RjIobiwiZ2V0UGxheWJhY2tRdWFsaXR5IiwoKT0+bi5nZXRQbGF5YmFja1F1YWxpdHkoMSkpOwpGMihuLCJzZXRQbGF5YmFja1F1YWxpdHkiLG4uZVYpO0YyKG4sImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiLG4uVlEpO0YyKG4sImdldEN1cnJlbnRUaW1lIixuLkhKKTtGMihuLCJnZXREdXJhdGlvbiIsbi5udSk7RjIobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5PKTtGMihuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLmdUKTtGMihuLCJnZXREZWJ1Z1RleHQiLG4uRHQpO0YyKG4sImdldFZpZGVvRGF0YSIsKCk9Plc3KG4pKTsKRjIobiwiYWRkQ3VlUmFuZ2UiLG4uWSk7RjIobiwicmVtb3ZlQ3VlUmFuZ2UiLG4ucmVtb3ZlQ3VlUmFuZ2UpO0YyKG4sInNldFNpemUiLG4uc2V0U2l6ZSk7RjIobiwiZ2V0QXBpSW50ZXJmYWNlIixuLmdldEFwaUludGVyZmFjZSk7RjIobiwiZGVzdHJveSIsbi5kZXN0cm95KTtGMihuLCJtdXRlZEF1dG9wbGF5IixuLm11dGVkQXV0b3BsYXkpO3ZhciBXPW4uYXBwLkcoKTtGMihuLCJnZXRWaWRlb0VtYmVkQ29kZSIsbi5nZXRWaWRlb0VtYmVkQ29kZSk7RjIobiwiZ2V0VmlkZW9VcmwiLG4ud2EpO0YyKG4sImdldE1lZGlhUmVmZXJlbmNlVGltZSIsbi5HQyk7RjIobiwiZ2V0U2l6ZSIsbi5nZXRTaXplKTtGMihuLCJzZXRGYXV4RnVsbHNjcmVlbiIsbi51NSk7Vy5TKCJlbWJlZHNfZW5hYmxlX21vdmVfc2V0X2NlbnRlcl9jcm9wX3RvX3B1YmxpYyIpJiZGMihuLCJzZXRDZW50ZXJDcm9wIixuLnNldENlbnRlckNyb3ApO1cuWHx8RjIobiwibG9nSW1hQWRFdmVudCIsbi5sb2dJbWFBZEV2ZW50KTsKRjIobiwicHJlbG9hZFZpZGVvQnlJZCIsbi5SdCk7RjIobiwid2FrZVVwQ29udHJvbHMiLG4ud2FrZVVwQ29udHJvbHMpfTsKZy5iNT1mdW5jdGlvbihuKXtyZXR1cm4obj1EJChuLmFwcC5KNSgpKSk/bi5CNygpOm51bGx9OwprRj1mdW5jdGlvbihuKXt2YXIgVz1RTShuLmFwcC5HKCkpLEQ9bi5hcHAuZ2V0VmlkZW9EYXRhKCk/Lk1kO249djcobi5hcHApO3JldHVybiBMeShXKSYmIUR8fG4/ITE6ITB9OwpoZj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIHR5cGVvZiBuPT09Im51bWJlciI/e3BsYXllclR5cGU6bix2bzpXLGNwbjpEfTpufHx7fX07CmMxQz1mdW5jdGlvbihuKXt2YXIgVz1uLnJhd19wbGF5ZXJfcmVzcG9uc2U7aWYoIVcpe3ZhciBEPW4ucGxheWVyX3Jlc3BvbnNlO0QmJihXPUpTT04ucGFyc2UoRCkpfWRlbGV0ZSBuLnBsYXllcl9yZXNwb25zZTtkZWxldGUgbi5yYXdfcGxheWVyX3Jlc3BvbnNlO1cmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9e3N0cmVhbWluZ0RhdGE6Vy5zdHJlYW1pbmdEYXRhLHBsYXllckNvbmZpZzpXLnBsYXllckNvbmZpZ30sVy5wbGF5YmFja1RyYWNraW5nPy5xb2VVcmwmJihuLnJhd19wbGF5ZXJfcmVzcG9uc2U9ey4uLm4ucmF3X3BsYXllcl9yZXNwb25zZSxwbGF5YmFja1RyYWNraW5nOntxb2VVcmw6Vy5wbGF5YmFja1RyYWNraW5nLnFvZVVybH19KSxXLmNhcHRpb25zJiYobi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsY2FwdGlvbnM6Vy5jYXB0aW9uc30pLFcudmlkZW9EZXRhaWxzJiYoVy52aWRlb0RldGFpbHMudmlkZW9JZHx8Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcykmJgooRD17fSxXLnZpZGVvRGV0YWlscy52aWRlb0lkJiYoRC52aWRlb0lkPVcudmlkZW9EZXRhaWxzLnZpZGVvSWQpLFcudmlkZW9EZXRhaWxzLmxlbmd0aFNlY29uZHMmJihELmxlbmd0aFNlY29uZHM9Vy52aWRlb0RldGFpbHMubGVuZ3RoU2Vjb25kcyksbi5yYXdfcGxheWVyX3Jlc3BvbnNlPXsuLi5uLnJhd19wbGF5ZXJfcmVzcG9uc2UsdmlkZW9EZXRhaWxzOkR9KSl9Owp4Rj1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2lmKG4uYXBwLkcoKS5PKXtmb3IobGV0IGIgb2YgYWF4KVcuaGFzT3duUHJvcGVydHkoYikmJihEW2JdPVdbYl0pO2lmKG49RC5xb2VfY2F0KVc9IiIsdHlwZW9mIG49PT0ic3RyaW5nIiYmbi5sZW5ndGg+MCYmKFc9bi5zcGxpdCgiLCIpLmZpbHRlcihiPT5udDIuaW5jbHVkZXMoYikpLmpvaW4oIiwiKSksRC5xb2VfY2F0PVc7CmMxQyhEKX1lbHNlIGZvcihsZXQgYiBvZiBXYXcpVy5oYXNPd25Qcm9wZXJ0eShiKSYmKERbYl09V1tiXSk7cmV0dXJuIER9OwpMMj1mdW5jdGlvbihuKXtyZXR1cm4gbj9Ed1Vbbl18fDU6NX07CmVCPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKFcpKXtsZXQgYj1XW0RdO249bi5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrRCwiZ2kiKSwoKT0+Yil9cmV0dXJuIG59OwpiX0M9ZnVuY3Rpb24obil7QlQobiwiZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UiLG4uZ2V0SW50ZXJuYWxBcGlJbnRlcmZhY2UpO0JUKG4sImdldFRydXN0ZWRBcGkiLG4uZ2V0VHJ1c3RlZEFwaSk7QlQobiwiYWRkRXZlbnRMaXN0ZW5lciIsbi5EKTtCVChuLCJyZW1vdmVFdmVudExpc3RlbmVyIixuLlRRKTtCVChuLCJjdWVWaWRlb0J5UGxheWVyVmFycyIsbi50dyk7QlQobiwibG9hZFZpZGVvQnlQbGF5ZXJWYXJzIixuLkU1KTtCVChuLCJwcmVsb2FkVmlkZW9CeVBsYXllclZhcnMiLG4uWmgpO0JUKG4sImdldEFkU3RhdGUiLG4uZ2V0QWRTdGF0ZSk7QlQobiwic2VuZEFiYW5kb25tZW50UGluZyIsbi5zZW5kQWJhbmRvbm1lbnRQaW5nKTtCVChuLCJzZXRMb29wUmFuZ2UiLG4uc2V0TG9vcFJhbmdlKTtCVChuLCJnZXRMb29wUmFuZ2UiLG4uZ2V0TG9vcFJhbmdlKTtCVChuLCJzZXRBdXRvbmF2U3RhdGUiLG4uc2V0QXV0b25hdlN0YXRlKTtCVChuLCJzZWVrVG8iLG4uYk4pO0JUKG4sCiJzZWVrQnkiLG4uc1YpO0JUKG4sInNlZWtUb0xpdmVIZWFkIixuLnNlZWtUb0xpdmVIZWFkKTtCVChuLCJyZXF1ZXN0U2Vla1RvV2FsbFRpbWVTZWNvbmRzIixuLnJlcXVlc3RTZWVrVG9XYWxsVGltZVNlY29uZHMpO0JUKG4sInNlZWtUb1N0cmVhbVRpbWUiLG4uc2Vla1RvU3RyZWFtVGltZSk7QlQobiwic3RhcnRTZWVrQ3NpQWN0aW9uIixuLnN0YXJ0U2Vla0NzaUFjdGlvbik7QlQobiwiZ2V0U3RyZWFtVGltZU9mZnNldCIsbi5nZXRTdHJlYW1UaW1lT2Zmc2V0KTtCVChuLCJnZXRWaWRlb0RhdGEiLG4uZkIpO0JUKG4sImdldEFwcFN0YXRlIixuLmdldEFwcFN0YXRlKTtCVChuLCJ1cGRhdGVMYXN0QWN0aXZlVGltZSIsbi51cGRhdGVMYXN0QWN0aXZlVGltZSk7QlQobiwic2V0VXNlckVuZ2FnZW1lbnQiLG4uc2V0VXNlckVuZ2FnZW1lbnQpO0JUKG4sInVwZGF0ZVN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi51cGRhdGVTdWJ0aXRsZXNVc2VyU2V0dGluZ3MpO0JUKG4sImdldFByZXNlbnRpbmdQbGF5ZXJUeXBlIiwKbi5XKTtCVChuLCJjYW5QbGF5VHlwZSIsbi5jYW5QbGF5VHlwZSk7QlQobiwidXBkYXRlUGxheWxpc3QiLG4udXBkYXRlUGxheWxpc3QpO0JUKG4sInVwZGF0ZVZpZGVvRGF0YSIsbi51cGRhdGVWaWRlb0RhdGEpO0JUKG4sInVwZGF0ZUVudmlyb25tZW50RGF0YSIsbi51cGRhdGVFbnZpcm9ubWVudERhdGEpO0JUKG4sInNlbmRWaWRlb1N0YXRzRW5nYWdlRXZlbnQiLG4uWXIpO0JUKG4sInNldFNhZmV0eU1vZGUiLG4uc2V0U2FmZXR5TW9kZSk7QlQobiwiaXNBdExpdmVIZWFkIixXPT5uLmlzQXRMaXZlSGVhZCh2b2lkIDAsVykpOwpCVChuLCJnZXRWaWRlb0FzcGVjdFJhdGlvIixuLmdldFZpZGVvQXNwZWN0UmF0aW8pO0JUKG4sImdldFByZWZlcnJlZFF1YWxpdHkiLG4uZ2V0UHJlZmVycmVkUXVhbGl0eSk7QlQobiwiZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwiLG4uZ2V0UGxheWJhY2tRdWFsaXR5TGFiZWwpO0JUKG4sInNldFBsYXliYWNrUXVhbGl0eVJhbmdlIixuLldpKTtCVChuLCJvbkFkVXhDbGlja2VkIixuLm9uQWRVeENsaWNrZWQpO0JUKG4sImdldEZlZWRiYWNrUHJvZHVjdERhdGEiLG4uZ2V0RmVlZGJhY2tQcm9kdWN0RGF0YSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lIixuLmdldFN0b3J5Ym9hcmRGcmFtZSk7QlQobiwiZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgiLG4uZ2V0U3Rvcnlib2FyZEZyYW1lSW5kZXgpO0JUKG4sImdldFN0b3J5Ym9hcmRMZXZlbCIsbi5nZXRTdG9yeWJvYXJkTGV2ZWwpO0JUKG4sImdldE51bWJlck9mU3Rvcnlib2FyZExldmVscyIsbi5nZXROdW1iZXJPZlN0b3J5Ym9hcmRMZXZlbHMpOwpCVChuLCJnZXRDYXB0aW9uV2luZG93Q29udGFpbmVySWQiLG4uZ2V0Q2FwdGlvbldpbmRvd0NvbnRhaW5lcklkKTtCVChuLCJnZXRBdmFpbGFibGVRdWFsaXR5TGFiZWxzIixuLmdldEF2YWlsYWJsZVF1YWxpdHlMYWJlbHMpO0JUKG4sImFkZEN1ZVJhbmdlIixuLmFkZEN1ZVJhbmdlKTtCVChuLCJhZGRVdGNDdWVSYW5nZSIsbi5hZGRVdGNDdWVSYW5nZSk7QlQobiwic2hvd0FpcnBsYXlQaWNrZXIiLG4uc2hvd0FpcnBsYXlQaWNrZXIpO0JUKG4sImRpc3BhdGNoUmVkdXhBY3Rpb24iLG4uZGlzcGF0Y2hSZWR1eEFjdGlvbik7QlQobiwiZ2V0UGxheWVyUmVzcG9uc2UiLG4uUFgpO0JUKG4sImdldFdhdGNoTmV4dFJlc3BvbnNlIixuLnZYKTtCVChuLCJnZXRIZWFydGJlYXRSZXNwb25zZSIsbi5GRik7QlQobiwiZ2V0Q3VycmVudFRpbWUiLG4uZSQpO0JUKG4sImdldER1cmF0aW9uIixuLm1aKTtCVChuLCJnZXRQbGF5ZXJTdGF0ZSIsbi5nZXRQbGF5ZXJTdGF0ZSk7QlQobiwiZ2V0UGxheWVyU3RhdGVPYmplY3QiLApuLkN1KTtCVChuLCJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIixuLmdldFZpZGVvTG9hZGVkRnJhY3Rpb24pO0JUKG4sImdldFByb2dyZXNzU3RhdGUiLG4uZ2V0UHJvZ3Jlc3NTdGF0ZSk7QlQobiwiZ2V0Vm9sdW1lIixuLmdldFZvbHVtZSk7QlQobiwic2V0Vm9sdW1lIixuLmtGKTtCVChuLCJpc011dGVkIixuLmlzTXV0ZWQpO0JUKG4sIm11dGUiLG4uZ0cpO0JUKG4sInVuTXV0ZSIsbi5sbSk7QlQobiwibG9hZE1vZHVsZSIsbi5sb2FkTW9kdWxlKTtCVChuLCJ1bmxvYWRNb2R1bGUiLG4udW5sb2FkTW9kdWxlKTtCVChuLCJnZXRPcHRpb24iLG4uanUpO0JUKG4sImdldE9wdGlvbnMiLG4uZ2V0T3B0aW9ucyk7QlQobiwic2V0T3B0aW9uIixuLnNldE9wdGlvbik7QlQobiwibG9hZFZpZGVvQnlJZCIsbi5ydyk7QlQobiwibG9hZFZpZGVvQnlVcmwiLG4uSzApO0JUKG4sInBsYXlWaWRlbyIsbi5VRyk7QlQobiwic3RvcFZpZGVvIixuLkspO0JUKG4sImxvYWRQbGF5bGlzdCIsbi5sb2FkUGxheWxpc3QpOwpCVChuLCJuZXh0VmlkZW8iLG4ubmV4dFZpZGVvKTtCVChuLCJwcmV2aW91c1ZpZGVvIixuLnByZXZpb3VzVmlkZW8pO0JUKG4sInBsYXlWaWRlb0F0IixuLnBsYXlWaWRlb0F0KTtCVChuLCJnZXREZWJ1Z1RleHQiLG4uZ2V0RGVidWdUZXh0KTtCVChuLCJnZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnIixuLmdldFdlYlBsYXllckNvbnRleHRDb25maWcpO0JUKG4sImdldFZpZGVvQ29udGVudFJlY3QiLG4uZ2V0VmlkZW9Db250ZW50UmVjdCk7QlQobiwidG9nZ2xlU3VidGl0bGVzT24iLG4udG9nZ2xlU3VidGl0bGVzT24pO0JUKG4sImlzU3VidGl0bGVzT24iLG4uaXNTdWJ0aXRsZXNPbik7QlQobiwiZ2V0QXVkaW9UcmFjayIsbi5UQyk7QlQobiwic2V0QXVkaW9UcmFjayIsbi5zeik7QlQobiwiZ2V0QXZhaWxhYmxlQXVkaW9UcmFja3MiLG4uUyQpO0JUKG4sImlzT3JjaGVzdHJhdGlvbkxlYWRlciIsbi5pc09yY2hlc3RyYXRpb25MZWFkZXIpO0JUKG4sIm5vdGlmeVNob3J0c0FkU3dpcGVFdmVudCIsCm4ubm90aWZ5U2hvcnRzQWRTd2lwZUV2ZW50KTtCVChuLCJwcmVmZXRjaEtleVBsYXkiLG4ucHJlZmV0Y2hLZXlQbGF5KTtCVChuLCJwcmVmZXRjaEp1bXBBaGVhZCIsbi5wcmVmZXRjaEp1bXBBaGVhZCk7QlQobiwicHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQiLG4ucHJvZHVjdHNJblZpZGVvVmlzaWJpbGl0eVVwZGF0ZWQpO0JUKG4sInNldEJsYWNrb3V0IixuLnNldEJsYWNrb3V0KTtCVChuLCJzZXRJbmxpbmVQcmV2aWV3IixuLnNldElubGluZVByZXZpZXcpO0JUKG4sInNldFNxdWVlemViYWNrIixuLnNldFNxdWVlemViYWNrKTtCVChuLCJyZXBvcnRQbGF5YmFja0lzc3VlIixuLnJlcG9ydFBsYXliYWNrSXNzdWUpO0JUKG4sInNldEF1dG9uYXYiLG4uc2V0QXV0b25hdik7QlQobiwiaXNOb3RTZXJ2YWJsZSIsbi5pc05vdFNlcnZhYmxlKTtCVChuLCJjaGFubmVsU3Vic2NyaWJlZCIsbi5jaGFubmVsU3Vic2NyaWJlZCk7QlQobiwiY2hhbm5lbFVuc3Vic2NyaWJlZCIsCm4uY2hhbm5lbFVuc3Vic2NyaWJlZCk7QlQobiwidG9nZ2xlUGljdHVyZUluUGljdHVyZSIsbi50b2dnbGVQaWN0dXJlSW5QaWN0dXJlKTtCVChuLCJzdXBwb3J0c0dhcGxlc3NBdWRpbyIsbi5zdXBwb3J0c0dhcGxlc3NBdWRpbyk7QlQobiwic3VwcG9ydHNHYXBsZXNzU2hvcnRzIixuLnN1cHBvcnRzR2FwbGVzc1Nob3J0cyk7QlQobiwiaXNHYXBsZXNzVHJhbnNpdGlvblJlYWR5IixuLmlzR2FwbGVzc1RyYW5zaXRpb25SZWFkeSk7QlQobiwic2V0U2hvcnRzQXV0b0FkdmFuY2VkRW5hYmxlZCIsbi5zZXRTaG9ydHNBdXRvQWR2YW5jZWRFbmFibGVkKTtCVChuLCJlbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMiLFc9PnZvaWQgbi5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnMoVykpOwpCVChuLCJjbGVhclF1ZXVlIixuLmNsZWFyUXVldWUpO0JUKG4sImdldE1heFBsYXliYWNrUXVhbGl0eSIsbi5nZXRNYXhQbGF5YmFja1F1YWxpdHkpO0JUKG4sImdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlIixuLmdldFVzZXJQbGF5YmFja1F1YWxpdHlQcmVmZXJlbmNlKTtCVChuLCJnZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3MiLG4uZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKTtCVChuLCJyZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyIsbi5yZXNldFN1YnRpdGxlc1VzZXJTZXR0aW5ncyk7QlQobiwic2V0TWluaW1pemVkIixuLnNldE1pbmltaXplZCk7QlQobiwic2V0T3ZlcmxheVZpc2liaWxpdHkiLG4uc2V0T3ZlcmxheVZpc2liaWxpdHkpO0JUKG4sImNvbmZpcm1ZcGNSZW50YWwiLG4uY29uZmlybVlwY1JlbnRhbCk7QlQobiwicXVldWVOZXh0VmlkZW8iLG4ucXVldWVOZXh0VmlkZW8pO0JUKG4sImhhbmRsZUV4dGVybmFsQ2FsbCIsbi5oYW5kbGVFeHRlcm5hbENhbGwpOwpCVChuLCJsb2dBcGlDYWxsIixuLmxvZ0FwaUNhbGwpO0JUKG4sImlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUiLG4uaXNFeHRlcm5hbE1ldGhvZEF2YWlsYWJsZSk7QlQobiwic2V0U2NyZWVuTGF5ZXIiLG4uc2V0U2NyZWVuTGF5ZXIpO0JUKG4sImdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlIixuLmdldEN1cnJlbnRQbGF5bGlzdFNlcXVlbmNlKTtCVChuLCJnZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSIsbi5nZXRQbGF5bGlzdFNlcXVlbmNlRm9yVGltZSk7QlQobiwic2hvdWxkU2VuZFZpc2liaWxpdHlTdGF0ZSIsbi5zaG91bGRTZW5kVmlzaWJpbGl0eVN0YXRlKTtCVChuLCJzeW5jVm9sdW1lIixuLnN5bmNWb2x1bWUpO0JUKG4sImhpZ2hsaWdodFNldHRpbmdzTWVudUl0ZW0iLG4uaGlnaGxpZ2h0U2V0dGluZ3NNZW51SXRlbSk7QlQobiwib3BlblNldHRpbmdzTWVudUl0ZW0iLG4ub3BlblNldHRpbmdzTWVudUl0ZW0pO0JUKG4sImdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UiLApuLmdldEVtYmVkZGVkUGxheWVyUmVzcG9uc2UpO0JUKG4sImdldFZpc2liaWxpdHlTdGF0ZSIsbi5nZXRWaXNpYmlsaXR5U3RhdGUpO0JUKG4sImlzTXV0ZWRCeU11dGVkQXV0b3BsYXkiLG4uaXNNdXRlZEJ5TXV0ZWRBdXRvcGxheSk7QlQobiwiaXNNdXRlZEJ5RW1iZWRzTXV0ZWRBdXRvcGxheSIsbi5pc011dGVkQnlFbWJlZHNNdXRlZEF1dG9wbGF5KTtCVChuLCJzZXRHbG9iYWxDcm9wIixuLnNldEdsb2JhbENyb3ApO0JUKG4sInNldEludGVybmFsU2l6ZSIsbi5zZXRJbnRlcm5hbFNpemUpO0JUKG4sInNldEZhdXhGdWxsc2NyZWVuIixuLnNldEZhdXhGdWxsc2NyZWVuKTtCVChuLCJzZXRBcHBGdWxsc2NyZWVuIixuLnNldEFwcEZ1bGxzY3JlZW4pO0JUKG4sImlzS2V5Ym9hcmREaXNhYmxlZCIsbi5pc0tleWJvYXJkRGlzYWJsZWQpO0JUKG4sImdldEN1cnJlbnRUaW1lRm9yVXgiLG4uZ2V0Q3VycmVudFRpbWVGb3JVeCk7QlQobiwiZ2V0RHVyYXRpb25Gb3JVeCIsbi5nZXREdXJhdGlvbkZvclV4KX07Cmd2PWZ1bmN0aW9uKG4pe24uZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKT09PTM/bi5XSigibWR4YXV0b3BsYXljYW5jZWwiKTpnLlJUKG4sIm9uQXV0b25hdkNhbmNlbGxlZCIsITApfTsKWHo9ZnVuY3Rpb24obil7bj1uLko1KCkuTmkuZ2V0KCJlbmRzY3JlZW4iKTtyZXR1cm4hIW4mJlh6KG4pfTsKcXA9ZnVuY3Rpb24obil7bj1uLko1KCk7dmFyIFc9bi5OaS5nZXQoImVuZHNjcmVlbiIpO3JldHVybiBXJiZXLlhjKCk/ITA6bi5JVigpfTsKdGY9ZnVuY3Rpb24obil7dmFyIFc9R3Uobi5KNSgpKTtyZXR1cm4gbi5hcHAuWlYmJiFuLmlzRnVsbHNjcmVlbigpfHxuLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0zJiZXJiZXLmhhc05leHQoKSYmVy5oYXNQcmV2aW91cygpfHwhIW4uZ2V0UGxheWxpc3QoKX07CmcuZno9ZnVuY3Rpb24obil7cmV0dXJuKG49Zy4kRihuLko1KCkpKT9uLkhwKCk6e319OwpnLnJ2PWZ1bmN0aW9uKG4sVyxEKXtuPW4ubGooKS5lbGVtZW50O3ZhciBiPURlKG4uY2hpbGRyZW4sdj0+e3Y9TnVtYmVyKHYuZ2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIikpO3JldHVybiBELXZ8fDF9KTsKYjwwJiYoYj0tKGIrMSkpO2cuanAobixXLGIpO1cuc2V0QXR0cmlidXRlKCJkYXRhLWxheWVyIixTdHJpbmcoRCkpfTsKdnRDPWZ1bmN0aW9uKG4sVyl7bj1zRihuLmFwcC5Wci5YKTtmb3IobGV0IEQgb2Ygbil7bj1ELmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7bGV0IGI9bnVsbDtmb3IobGV0IHYgb2YgbilpZih2LmdldExhbmd1YWdlSW5mbygpLmdldElkKCk9PT1XKXtiPXY7YnJlYWt9YiYmRC5MeShiLCEwKX19OwpnLnAyPWZ1bmN0aW9uKCl7TnB8fChOcD1uZXcga0t4KTtyZXR1cm4gTnB9OwpnLllGPWZ1bmN0aW9uKG4sVyl7Vz9uLlpKLkF1dGhvcml6YXRpb249YEJlYXJlciAke1d9YDpkZWxldGUgbi5aSi5BdXRob3JpemF0aW9ufTsKaHh3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9KC4uLmIpPT57bi5yZW1vdmVFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKTtXKC4uLmIpfTsKbi5hZGRFdmVudExpc3RlbmVyKCJwbGF5aW5nIixEKX07CmcuSDc9ZnVuY3Rpb24obil7dmFyIFc9TWF0aC5hYnMoTWF0aC5mbG9vcihuKSksRD1NYXRoLmZsb29yKFcvODY0MDApLGI9TWF0aC5mbG9vcihXJTg2NDAwLzM2MDApLHY9TWF0aC5mbG9vcihXJTM2MDAvNjApO1c9TWF0aC5mbG9vcihXJTYwKTt2YXIgaz0iIjtEPjAmJihrKz1gJHtEfTpgLGI8MTAmJihrKz0iMCIpKTtpZihEPjB8fGI+MClrKz1gJHtifTpgLHY8MTAmJihrKz0iMCIpO2srPWAke3Z9OmA7VzwxMCYmKGsrPSIwIik7RD1rK1c7cmV0dXJuIG4+PTA/RDpgLSR7RH1gfTsKZjI9ZnVuY3Rpb24obil7cmV0dXJuKCEoImJ1dHRvbiJpbiBuKXx8dHlwZW9mIG4uYnV0dG9uIT09Im51bWJlciJ8fG4uYnV0dG9uPT09MCkmJiEoInNoaWZ0S2V5ImluIG4mJm4uc2hpZnRLZXkpJiYhKCJhbHRLZXkiaW4gbiYmbi5hbHRLZXkpJiYhKCJtZXRhS2V5ImluIG4mJm4ubWV0YUtleSkmJiEoImN0cmxLZXkiaW4gbiYmbi5jdHJsS2V5KX07CkpmPWZ1bmN0aW9uKG4sVyxELGIpe2lmKGIuc3Vic3RyaW5nKDAsMik9PT0ie3siKW4uWVpbYl09W1csRF07ZWxzZSByZXR1cm4gYn07Ckl5PWZ1bmN0aW9uKG4sVyxELGIpe2lmKEQ9PT0iY2hpbGQiKXtnLlRGKFcpO2xldCBrO2I9PT12b2lkIDA/az12b2lkIDA6az0hQXJyYXkuaXNBcnJheShiKXx8YiYmdHlwZW9mIGIuWj09PSJzdHJpbmciP1tiXTpiO0Q9eHcyKG4sayk7Zm9yKHZhciB2IG9mIEQpVy5hcHBlbmRDaGlsZCh2KX1lbHNlIEQ9PT0ic3R5bGUiP2cuaDEoVywiY3NzVGV4dCIsYj9iOiIiKTpiPT09bnVsbHx8Yj09PXZvaWQgMD9XLnJlbW92ZUF0dHJpYnV0ZShEKToodj1iLnRvU3RyaW5nKCksRD09PSJocmVmIiYmKHY9Z3ooZy50Rih2LGcuRzQpfHxnLlY1KSksVy5zZXRBdHRyaWJ1dGUoRCx2KSl9Owp4dzI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVylyZXR1cm4gRDtmb3IobGV0IGIgb2YgVyl7aWYoYj09bnVsbCljb250aW51ZTtXPWIubm9kZVR5cGU7Vz09PTF8fFc9PT0zP0QucHVzaChiKTpiJiZ0eXBlb2YgYi5aPT09InN0cmluZyI/RC5wdXNoKG4uY3JlYXRlRWxlbWVudChiKSk6Yi5lbGVtZW50P0QucHVzaChiLmVsZW1lbnQpOnR5cGVvZiBiPT09InN0cmluZyImJmIuaW5kZXhPZigiXG4iKSE9PS0xP2Iuc3BsaXQoIlxuIikuZm9yRWFjaCgodixrKT0+e2s+MCYmRC5wdXNoKGcuekYoIkJSIikpO0QucHVzaChnLmxrKHYpKX0pOkQucHVzaChnLmxrKGIpKX1yZXR1cm4gRH07ClNCPWZ1bmN0aW9uKG4sVyl7bj1uLmVsZW1lbnQuZWxlbWVudDtXP24uc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKTpuLnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iKX07CkFmPWZ1bmN0aW9uKG4pe3JldHVybiBuLkomJm4uZmFkZS5zdGF0ZSE9PTR9OwptUD1mdW5jdGlvbihuKXtuLnNvdXJjZUVsZW1lbnQmJihkb2N1bWVudC5hY3RpdmVFbGVtZW50JiZnLkJ4KG4uZWxlbWVudCxkb2N1bWVudC5hY3RpdmVFbGVtZW50KSYmbi5zb3VyY2VFbGVtZW50LmZvY3VzKCksbi5zb3VyY2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksbi5zb3VyY2VFbGVtZW50PXZvaWQgMCk7bi5OLkooKTtuLlc9dm9pZCAwfTsKZy5LMj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZlcnNpb246IjEuMSIsdmlld0JveDoiMCAwIDMyIDMyIix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik0gMTkuNDEsMjAuMDkgMTQuODMsMTUuNSAxOS40MSwxMC45MSAxOCw5LjUgbCAtNiw2IDYsNiB6IixmaWxsOiIjZmZmIn19XX19OwpnLk9GPWZ1bmN0aW9uKCl7cmV0dXJue1o6InN2ZyIseGE6e2hlaWdodDoiMTAwJSIsdmVyc2lvbjoiMS4xIix2aWV3Qm94OiIwIDAgMzIgMzIiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoibSAxMi41OSwyMC4zNCA0LjU4LC00LjU5IC00LjU4LC00LjU5IDEuNDEsLTEuNDEgNiw2IC02LDYgeiIsZmlsbDoiI2ZmZiJ9fV19fTsKZy5QNz1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAyNCAyNCIsd2lkdGg6IjEwMCUifSxYRjpbe1o6InBhdGgiLHhhOntkOiJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIsZmlsbDoiI2ZmZiJ9fV19fTsKWiQ9ZnVuY3Rpb24oKXtyZXR1cm57Wjoic3ZnIix4YTp7aGVpZ2h0OiIxMDAlIix2ZXJzaW9uOiIxLjEiLHZpZXdCb3g6IjAgMCAxMTAgMjYiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIixLeTohMCxKdzoieXRwLXN2Zy1maWxsIix4YTp7ZDoiTSAxNi42OCwuOTkgQyAxMy41NSwxLjAzIDcuMDIsMS4xNiA0Ljk5LDEuNjggYyAtMS40OSwuNCAtMi41OSwxLjYgLTIuOTksMyAtMC42OSwyLjcgLTAuNjgsOC4zMSAtMC42OCw4LjMxIDAsMCAtMC4wMSw1LjYxIC42OCw4LjMxIC4zOSwxLjUgMS41OSwyLjYgMi45OSwzIDIuNjksLjcgMTMuNDAsLjY4IDEzLjQwLC42OCAwLDAgMTAuNzAsLjAxIDEzLjQwLC0wLjY4IDEuNSwtMC40IDIuNTksLTEuNiAyLjk5LC0zIC42OSwtMi43IC42OCwtOC4zMSAuNjgsLTguMzEgMCwwIC4xMSwtNS42MSAtMC42OCwtOC4zMSAtMC40LC0xLjUgLTEuNTksLTIuNiAtMi45OSwtMyBDIDI5LjExLC45OCAxOC40MCwuOTkgMTguNDAsLjk5IGMgMCwwIC0wLjY3LC0wLjAxIC0xLjcxLDAgeiBtIDcyLjIxLC45MCAwLDIxLjI4IDIuNzgsMCAuMzEsLTEuMzcgLjA5LDAgYyAuMywuNSAuNzEsLjg4IDEuMjEsMS4xOCAuNSwuMyAxLjA4LC40MCAxLjY4LC40MCAxLjEsMCAxLjk5LC0wLjQ5IDIuNDksLTEuNTkgLjUsLTEuMSAuODEsLTIuNzAgLjgxLC00LjkwIGwgMCwtMi40MCBjIDAsLTEuNiAtMC4xMSwtMi45MCAtMC4zMSwtMy45MCAtMC4yLC0wLjg5IC0wLjUsLTEuNTkgLTEsLTIuMDkgLTAuNSwtMC40IC0xLjEwLC0wLjU5IC0xLjkwLC0wLjU5IC0wLjU5LDAgLTEuMTgsLjE5IC0xLjY4LC40OSAtMC40OSwuMyAtMS4wMSwuODAgLTEuMjEsMS40MCBsIDAsLTcuOTAgLTMuMjgsMCB6IG0gLTQ5Ljk5LC43OCAzLjkwLDEzLjkwIC4xOCw2LjcxIDMuMzEsMCAwLC02LjcxIDMuODcsLTEzLjkwIC0zLjM3LDAgLTEuNDAsNi4zMSBjIC0wLjQsMS44OSAtMC43MSwzLjE5IC0wLjgxLDMuOTkgbCAtMC4wOSwwIGMgLTAuMiwtMS4xIC0wLjUxLC0yLjQgLTAuODEsLTMuOTkgbCAtMS4zNywtNi4zMSAtMy40MCwwIHogbSAyOS41OSwwIDAsMi43MSAzLjQwLDAgMCwxNy45MCAzLjI4LDAgMCwtMTcuOTAgMy40MCwwIGMgMCwwIC4wMCwtMi43MSAtMC4wOSwtMi43MSBsIC05Ljk5LDAgeiBtIC01My40OSw1LjEyIDguOTAsNS4xOCAtOC45MCw1LjA5IDAsLTEwLjI4IHogbSA4OS40MCwuMDkgYyAtMS43LDAgLTIuODksLjU5IC0zLjU5LDEuNTkgLTAuNjksLjk5IC0wLjk5LDIuNjAgLTAuOTksNC45MCBsIDAsMi41OSBjIDAsMi4yIC4zMCwzLjkwIC45OSw0LjkwIC43LDEuMSAxLjgsMS41OSAzLjUsMS41OSAxLjQsMCAyLjM4LC0wLjMgMy4xOCwtMSAuNywtMC43IDEuMDksLTEuNjkgMS4wOSwtMy4wOSBsIDAsLTAuNSAtMi45MCwtMC4yMSBjIDAsMSAtMC4wOCwxLjYgLTAuMjgsMiAtMC4xLC40IC0wLjUsLjYyIC0xLC42MiAtMC4zLDAgLTAuNjEsLTAuMTEgLTAuODEsLTAuMzEgLTAuMiwtMC4zIC0wLjMwLC0wLjU5IC0wLjQwLC0xLjA5IC0wLjEsLTAuNSAtMC4wOSwtMS4yMSAtMC4wOSwtMi4yMSBsIDAsLTAuNzggNS43MSwtMC4wOSAwLC0yLjYyIGMgMCwtMS42IC0wLjEwLC0yLjc4IC0wLjQwLC0zLjY4IC0wLjIsLTAuODkgLTAuNzEsLTEuNTkgLTEuMzEsLTEuOTkgLTAuNywtMC40IC0xLjQ4LC0wLjU5IC0yLjY4LC0wLjU5IHogbSAtNTAuNDksLjA5IGMgLTEuMDksMCAtMi4wMSwuMTggLTIuNzEsLjY4IC0wLjcsLjQgLTEuMiwxLjEyIC0xLjQ5LDIuMTIgLTAuMywxIC0wLjUsMi4yNyAtMC41LDMuODcgbCAwLDIuMjEgYyAwLDEuNSAuMTAsMi43OCAuNDAsMy43OCAuMiwuOSAuNzAsMS42MiAxLjQwLDIuMTIgLjY5LC41IDEuNzEsLjY4IDIuODEsLjc4IDEuMTksMCAyLjA4LC0wLjI4IDIuNzgsLTAuNjggLjY5LC0wLjQgMS4wOSwtMS4wOSAxLjQ5LC0yLjA5IC4zOSwtMSAuNDksLTIuMzAgLjQ5LC0zLjkwIGwgMCwtMi4yMSBjIDAsLTEuNiAtMC4yLC0yLjg3IC0wLjQ5LC0zLjg3IC0wLjMsLTAuODkgLTAuOCwtMS42MiAtMS40OSwtMi4xMiAtMC43LC0wLjUgLTEuNTgsLTAuNjggLTIuNjgsLTAuNjggeiBtIDEyLjE4LC4wOSAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjE4LC0wLjcwIC0wLjE4LC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjE4LDIuMzkgLjY4LDMuMDkgLjQ5LC43IDEuMjEsMSAyLjIxLDEgMS40LDAgMi40OCwtMC42OSAzLjE4LC0yLjA5IGwgLjA5LDAgLjMxLDEuNzggMi41OSwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMTcuMzEsMCAwLDExLjkwIGMgLTAuMSwuMyAtMC4yOSwuNDggLTAuNTksLjY4IC0wLjIsLjIgLTAuNTEsLjMxIC0wLjgxLC4zMSAtMC4zLDAgLTAuNTgsLTAuMTAgLTAuNjgsLTAuNDAgLTAuMSwtMC4zIC0wLjIxLC0wLjcwIC0wLjIxLC0xLjQwIGwgMCwtMTAuOTkgLTMuNDAsMCAwLDExLjIxIGMgMCwxLjQgLjIxLDIuMzkgLjcxLDMuMDkgLjUsLjcgMS4xOCwxIDIuMTgsMSAxLjM5LDAgMi41MSwtMC42OSAzLjIxLC0yLjA5IGwgLjA5LDAgLjI4LDEuNzggMi42MiwwIDAsLTE0Ljk5IGMgMCwwIC0zLjQwLC4wMCAtMy40MCwtMC4wOSB6IG0gMjAuOTAsMi4wOSBjIC40LDAgLjU4LC4xMSAuNzgsLjMxIC4yLC4zIC4zMCwuNTkgLjQwLDEuMDkgLjEsLjUgLjA5LDEuMjEgLjA5LDIuMjEgbCAwLDEuMDkgLTIuNSwwIDAsLTEuMDkgYyAwLC0xIC0wLjAwLC0xLjcxIC4wOSwtMi4yMSAwLC0wLjQgLjExLC0wLjggLjMxLC0xIC4yLC0wLjMgLjUxLC0wLjQwIC44MSwtMC40MCB6IG0gLTUwLjQ5LC4xMiBjIC41LDAgLjgsLjE4IDEsLjY4IC4xOSwuNSAuMjgsMS4zMCAuMjgsMi40MCBsIDAsNC42OCBjIDAsMS4xIC0wLjA4LDEuOTAgLTAuMjgsMi40MCAtMC4yLC41IC0wLjUsLjY4IC0xLC42OCAtMC41LDAgLTAuNzksLTAuMTggLTAuOTksLTAuNjggLTAuMiwtMC41IC0wLjMxLC0xLjMwIC0wLjMxLC0yLjQwIGwgMCwtNC42OCBjIDAsLTEuMSAuMTEsLTEuOTAgLjMxLC0yLjQwIC4yLC0wLjUgLjQ5LC0wLjY4IC45OSwtMC42OCB6IG0gMzkuNjgsLjA5IGMgLjMsMCAuNjEsLjEwIC44MSwuNDAgLjIsLjMgLjI3LC42NyAuMzcsMS4zNyAuMSwuNiAuMTIsMS41MSAuMTIsMi43MSBsIC4wOSwxLjkwIGMgMCwxLjEgLjAwLDEuOTkgLTAuMDksMi41OSAtMC4xLC42IC0wLjE5LDEuMDggLTAuNDksMS4yOCAtMC4yLC4zIC0wLjUwLC40MCAtMC45MCwuNDAgLTAuMywwIC0wLjUxLC0wLjA4IC0wLjgxLC0wLjE4IC0wLjIsLTAuMSAtMC4zOSwtMC4yOSAtMC41OSwtMC41OSBsIDAsLTguNSBjIC4xLC0wLjQgLjI5LC0wLjcgLjU5LC0xIC4zLC0wLjMgLjYwLC0wLjQwIC45MCwtMC40MCB6In19XX19OwpVRj1mdW5jdGlvbigpe3JldHVybntaOiJzdmciLHhhOntmaWxsOiJub25lIixoZWlnaHQ6IjEwMCUiLHZpZXdCb3g6IjAgMCAxNDMgNTEiLHdpZHRoOiIxMDAlIn0sWEY6W3taOiJwYXRoIix4YTp7ZDoiTTU4LjM3IDQxLjM5SDYyLjc5VjI3LjIzQzYyLjc5IDIzLjAzIDYyLjY5IDE4LjY5IDYyLjQzIDEzLjU5SDYyLjkzTDYzLjY5IDE2Ljg5TDY4LjY3IDQxLjM5SDczLjE3TDc4LjA3IDE2Ljg5TDc4Ljg5IDEzLjU5SDc5LjM3Qzc5LjE1IDE4LjQ1IDc5LjAzIDIyLjg5IDc5LjAzIDI3LjIzVjQxLjM5SDgzLjQ1VjguNzlINzUuOTVMNzMuNDEgMjAuODFDNzIuMzUgMjUuODUgNzEuNTEgMzIuMDEgNzEuMDEgMzUuMTlINzAuNzNDNzAuMzMgMzEuOTUgNjkuNDkgMjUuODEgNjguNDEgMjAuODVMNjUuODEgOC43OUg1OC4zN1Y0MS4zOVoiLGZpbGw6IndoaXRlIn19LHtaOiJwYXRoIix4YTp7ZDoiTTkxLjQ1IDQxLjczQzkzLjkxIDQxLjczIDk1LjgzIDQwLjU5IDk3LjE3IDM4LjEzSDk3LjM1TDk3LjY5IDQxLjM5SDEwMS40M1YxNy43M0g5Ni40N1YzNi42MUM5NS45MSAzNy42NyA5NC44MSAzOC4yOSA5My43MyAzOC4yOUM5Mi4zMyAzOC4yOSA5MS44OSAzNy4xNyA5MS44OSAzNS4xM1YxNy43M0g4Ni45M1YzNS40M0M4Ni45MyAzOS40OSA4OC4xOSA0MS43MyA5MS40NSA0MS43M1oiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMTAuNzkgNDEuODlDMTE1LjE1IDQxLjg5IDExNy43NSAzOS44MyAxMTcuNzUgMzUuNjVDMTE3Ljc1IDMxLjc5IDExNS45MyAzMC4zOSAxMTEuODUgMjcuNDdDMTA5LjY3IDI1LjkxIDEwOC4zOSAyNS4wOSAxMDguMzkgMjIuOTVDMTA4LjM5IDIxLjQ3IDEwOS4yNyAyMC42MSAxMTAuODkgMjAuNjFDMTEyLjY5IDIwLjYxIDExMy4zMyAyMS44MSAxMTMuMzMgMjUuMjlMMTE3LjQ1IDI1LjA3QzExNy43NyAxOS41NyAxMTUuNzEgMTcuMjMgMTEwLjk3IDE3LjIzQzEwNi41NyAxNy4yMyAxMDQuMTcgMTkuMjcgMTA0LjE3IDIzLjQ1QzEwNC4xNyAyNy4yNSAxMDUuOTcgMjguODMgMTA4LjkzIDMxLjAzQzExMS44OSAzMy4yMyAxMTMuNTUgMzQuNTMgMTEzLjU1IDM2LjIzQzExMy41NSAzNy43NSAxMTIuNTEgMzguNjEgMTExLjAxIDM4LjYxQzEwOS4xMyAzOC42MSAxMDguMTEgMzYuOTcgMTA4LjI5IDM0LjQxTDEwNC4yMSAzNC40OUMxMDMuNTEgMzkuMjUgMTA1Ljg5IDQxLjg5IDExMC43OSA0MS44OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMjIuNSAxNC41OUMxMjQuMjIgMTQuNTkgMTI1LjA0IDEzLjk5IDEyNS4wNCAxMS41OUMxMjUuMDQgOS4zMyAxMjQuMTYgOC42NSAxMjIuNSA4LjY1QzEyMC44NCA4LjY1IDExOS45NCA5LjI3IDExOS45NCAxMS41OUMxMTkuOTQgMTMuOTkgMTIwLjgyIDE0LjU5IDEyMi41IDE0LjU5Wk0xMjAuMiA0MS4zOUgxMjVWMTcuNzNIMTIwLjJWNDEuMzlaIixmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6e2Q6Ik0xMzQuOTUgNDEuNzlDMTM3LjMxIDQxLjc5IDEzOC42MyA0MS40OSAxMzkuNzEgNDAuNDdDMTQxLjMxIDM5LjAxIDE0MS45NyAzNi42MyAxNDEuODUgMzMuMTFMMTM3LjQxIDMyLjg3QzEzNy40MSAzNi44NyAxMzYuODEgMzguNDUgMTM1LjAzIDM4LjQ1QzEzMy4xMyAzOC40NSAxMzIuNzcgMzYuNDUgMTMyLjc3IDMxLjk3VjI3LjIxQzEzMi43NyAyMi40MSAxMzMuMjMgMjAuNTEgMTM1LjA3IDIwLjUxQzEzNi42NyAyMC41MSAxMzcuMjkgMjIuMDEgMTM3LjI5IDI2LjQ3TDE0MS42NSAyNi4xNUMxNDEuOTcgMjIuOTMgMTQxLjU5IDIwLjI5IDE0MC4wOSAxOC44M0MxMzkuMDEgMTcuNzcgMTM3LjM3IDE3LjI5IDEzNS4xNSAxNy4yOUMxMjkuNjUgMTcuMjkgMTI3Ljc1IDIwLjczIDEyNy43NSAyOC4wM1YzMS4xN0MxMjcuNzUgMzguNDcgMTI5LjIzIDQxLjc5IDEzNC45NSA0MS43OVoiLApmaWxsOiJ3aGl0ZSJ9fSx7WjoicGF0aCIseGE6eyJjbGlwLXJ1bGUiOiJldmVub2RkIixkOiJNMjQuOTkgNDlDMjkuNzQgNDkuMDAgMzQuMzggNDcuNTkgMzguMzIgNDQuOTVDNDIuMjcgNDIuMzIgNDUuMzUgMzguNTcgNDcuMTcgMzQuMThDNDguOTggMjkuODAgNDkuNDYgMjQuOTcgNDguNTMgMjAuMzJDNDcuNjEgMTUuNjYgNDUuMzIgMTEuMzggNDEuOTcgOC4wM0MzOC42MSA0LjY3IDM0LjMzIDIuMzggMjkuNjggMS40NkMyNS4wMiAuNTMgMjAuMjAgMS4wMSAxNS44MSAyLjgyQzExLjQzIDQuNjQgNy42OCA3LjcxIDUuMDQgMTEuNjZDMi40MCAxNS42MSAxIDIwLjI1IDEgMjVDMC45OSAyOC4xNSAxLjYxIDMxLjI3IDIuODIgMzQuMThDNC4wMyAzNy4wOSA1Ljc5IDM5Ljc0IDguMDIgNDEuOTdDMTAuMjUgNDQuMTkgMTIuODkgNDUuOTYgMTUuODEgNDcuMTdDMTguNzIgNDguMzcgMjEuODQgNDkgMjQuOTkgNDlaTTI0Ljk5IDEyLjM2QzI3LjQ5IDEyLjM2IDI5Ljk0IDEzLjEwIDMyLjAyIDE0LjQ4QzM0LjEwIDE1Ljg3IDM1LjcyIDE3Ljg0IDM2LjY4IDIwLjE1QzM3LjY0IDIyLjQ2IDM3Ljg5IDI1LjAxIDM3LjQxIDI3LjQ2QzM2LjkyIDI5LjkxIDM1LjcyIDMyLjE3IDMzLjk1IDMzLjk0QzMyLjE4IDM1LjcwIDI5LjkzIDM2LjkxIDI3LjQ4IDM3LjQwQzI1LjAyIDM3Ljg5IDIyLjQ4IDM3LjY0IDIwLjE3IDM2LjY4QzE3Ljg2IDM1LjcyIDE1Ljg4IDM0LjEwIDE0LjUwIDMyLjAyQzEzLjExIDI5Ljk0IDEyLjM3IDI3LjUwIDEyLjM3IDI1QzEyLjM3IDIxLjY1IDEzLjcwIDE4LjQ0IDE2LjA3IDE2LjA3QzE4LjQzIDEzLjcwIDIxLjY0IDEyLjM3IDI0Ljk5IDEyLjM2Wk0yNC45OSAxMC40M0MyMi4xMSAxMC40MyAxOS4yOSAxMS4yOCAxNi44OSAxMi44OEMxNC41MCAxNC40OCAxMi42MyAxNi43NiAxMS41MyAxOS40MkMxMC40MiAyMi4wOSAxMC4xMyAyNS4wMiAxMC43MCAyNy44NUMxMS4yNiAzMC42NyAxMi42NSAzMy4yNyAxNC42OSAzNS4zMUMxNi43MyAzNy4zNSAxOS4zMiAzOC43MyAyMi4xNSAzOS4zMEMyNC45OCAzOS44NiAyNy45MSAzOS41NyAzMC41NyAzOC40NkMzMy4yMyAzNy4zNiAzNS41MSAzNS40OSAzNy4xMSAzMy4wOUMzOC43MSAzMC43MCAzOS41NyAyNy44OCAzOS41NiAyNUMzOS41NiAyMy4wOCAzOS4xOSAyMS4xOSAzOC40NiAxOS40MkMzNy43MiAxNy42NSAzNi42NSAxNi4wNCAzNS4zMCAxNC42OUMzMy45NCAxMy4zNCAzMi4zNCAxMi4yNyAzMC41NyAxMS41M0MyOC44MCAxMC44MCAyNi45MCAxMC40MyAyNC45OSAxMC40M1pNMzIuNjMgMjQuOTlMMjAuMzYgMzIuMDlWMTcuOTFMMzIuNjMgMjQuOTlaIiwKZmlsbDoid2hpdGUiLCJmaWxsLXJ1bGUiOiJldmVub2RkIn19XX19Owp5RT1mdW5jdGlvbihuPXt9LFc9W10pe1cucHVzaCgieXRwLW1lbnVpdGVtIik7InJvbGUiaW4gbnx8KG4ucm9sZT0ibWVudWl0ZW0iKTsidGFiaW5kZXgiaW4gbnx8KG4udGFiaW5kZXg9IjAiKTtyZXR1cm57WjoiZGl2IixLQjpXLHhhOm4sWEY6W3taOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0taWNvbiIsT3E6Int7aWNvbn19In0se1o6ImRpdiIsSnc6Inl0cC1tZW51aXRlbS1sYWJlbCIsT3E6Int7bGFiZWx9fSJ9LHtaOiJkaXYiLEp3OiJ5dHAtbWVudWl0ZW0tY29udGVudCIsT3E6Int7Y29udGVudH19In1dfX07CkVGPWZ1bmN0aW9uKG4pe3JldHVybiBuP2cuRHAobik6IiJ9OwppNT1mdW5jdGlvbihuKXtyZXR1cm4gbj09PS0weDgwMDAwMDAwMDAwMDA/IkJFRk9SRV9NRURJQV9TVEFSVCI6bj09PTA/Ik1FRElBX1NUQVJUIjpuPT09MHg3ZmZmZmZmZmZmZmZmPyJNRURJQV9FTkQiOm49PT0weDgwMDAwMDAwMDAwMDA/IkFGVEVSX01FRElBX0VORCI6bi50b1N0cmluZygpfTsKZy51NT1mdW5jdGlvbihuLFcpe3JldHVybiBuLnN0YXJ0LVcuc3RhcnR8fG4ucHJpb3JpdHktVy5wcmlvcml0eXx8bi5KLVcuSn07Cmcub3k9ZnVuY3Rpb24obil7cmV0dXJuYGNybl8ke259YH07CmcuZHY9ZnVuY3Rpb24obil7cmV0dXJuYGNyeF8ke259YH07Cnp1PWZ1bmN0aW9uKG4pe3JldHVybntbMV06bi5zdGFydCxbMl06bi5lbmQsWzNdOm4uaWQsWzRdOm4ucHJpb3JpdHksWzVdOm4ubmFtZXNwYWNlLFs2XTpuLnZpc2libGUsWzddOm4uc3R5bGUsWzhdOm4udG9vbHRpcCxbOV06bi5jb2xvcixbMTBdOm4uaWNvbnMsWzExXTpuLmFzc29jaWF0ZWRDbGlwSWQsWzEyXTpuLm1hcmtlclBvc2l0aW9uTXN9fTsKVHU9ZnVuY3Rpb24obixXLEQsYil7VyBpbiBuLk58fChEPW5ldyBnLmw1KEQsYix7aWQ6Vyxwcmlvcml0eToyLG5hbWVzcGFjZToiYXBwYWQifSksbi5hcGkuZ2goW0RdLDEpLG4uTltXXT1EKX07CmpCPWZ1bmN0aW9uKG4sVyl7TGF4KG4sVykudGhlbihEPT57Zy5nbyhXLHZvaWQgMCx2b2lkIDAsRCl9KX07CkMyPWZ1bmN0aW9uKG4sVyl7Vy5mb3JFYWNoKEQ9PntqQihuLEQpfSl9OwpCNz1mdW5jdGlvbihuLFcsRCl7aWYoIShEIGluIFcpKXJldHVybiExO1c9V1tEXTtBcnJheS5pc0FycmF5KFcpfHwoVz1bV10pO2ZvcihsZXQgYiBvZiBXKVc9e0NQTjpuLmFwaS5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlfSxXPWcuR0soYixXKSxnLmdvKFcsdm9pZCAwLG9PKHpFKFcsZXh4LG51bGwpLFcsITEsIkFjdGl2ZSBWaWV3IDNyZCBQYXJ0eSBJbnRlZ3JhdGlvbiBVUkwiKXx8b08oekUoVyxndGosbnVsbCksVywhMSwiR29vZ2xlL1lvdVR1YmUgQnJhbmQgTGlmdCBVUkwiKXx8b08oekUoVyxYSzIsbnVsbCksVywhMSwiTmllbHNlbiBPQ1IgVVJMIikpO3JldHVybiEwfTsKTGF4PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5hcGkuRygpKSYmZy5CVihXKSYmZy5qSChXKT9nLkhFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKS5WKCkpLnRoZW4oRD0+e3ZhciBiO0QmJihiPXtBdXRob3JpemF0aW9uOmBCZWFyZXIgJHtEfWB9KTtyZXR1cm4gYn0sdm9pZCAwKTpnLkgwKCl9OwpGej1mdW5jdGlvbihuLFcpe24uY2hlY2tlZD1XO24uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsU3RyaW5nKG4uY2hlY2tlZCkpfTsKd3Y9ZnVuY3Rpb24obixXKXtuLmVuYWJsZWQ9VztuLmVuYWJsZWQ/bi5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIpOm4uZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIil9OwpNcD1mdW5jdGlvbihuLFcsRD0hMSxiKXt2YXIgdj1uLmN1cnJlbnRUYXJnZXQ7aWYoIUQmJmYyKG4pKXJldHVybiBuLnByZXZlbnREZWZhdWx0KCksITA7Vy5wYXVzZVZpZGVvKCk7bj12LmdldEF0dHJpYnV0ZSgiaHJlZiIpO1E1KG4sYik7cmV0dXJuITF9OwpSeT1mdW5jdGlvbihuLFcsRCl7aWYodkUoVy5HKCkpJiZXLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCkhPT0yKWYyKEQpJiYoVy5pc0Z1bGxzY3JlZW4oKSYmIVcuRygpLmV4dGVybmFsRnVsbHNjcmVlbiYmVy50b2dnbGVGdWxsc2NyZWVuKCksRC5wcmV2ZW50RGVmYXVsdCgpKTtlbHNle2xldCBiPWYyKEQpO2ImJlcucGF1c2VWaWRlbygpO1E1KG4pO2ImJihnLmNhKG4pLEQucHJldmVudERlZmF1bHQoKSl9fTsKUUU9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/LmF1ZGlvUXVhbGl0eT09PSJBVURJT19RVUFMSVRZX0hJR0giJiYhbi5WKCl9OwpWRT1mdW5jdGlvbihuKXtyZXR1cm4gbi5hdWRpbz8uVz09PSEwfTsKYzc9ZnVuY3Rpb24obil7cmV0dXJuIG4uVigpfTsKYXk9ZnVuY3Rpb24obil7cmV0dXJuIG4uYXVkaW8/Lk49PT0hMH07Cm52PWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg8MilyZXR1cm4hMTt2YXIgRD1XKG5bMF0pO3JldHVybiBuLnNvbWUoYj0+VyhiKSE9PUQpfTsKYlk9ZnVuY3Rpb24obixXKXtuPXFJdyhuLFcubGFuZ3VhZ2VJZCk7bj1XdShuLCEhVy5nTyk7cmV0dXJuIG49RGIobiwhIVcuajkpfTsKV3U9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+YXkoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1nLkVNKG4sYj0+VkUoYik9PT1XKTsKcmV0dXJuIEQubGVuZ3RoPjA/RDpufTsKR0t0PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcuaWQhPT0idW5kIj9nLkVNKG4sRD0+e3ZhciBiPVcuZ2V0TGFuZ3VhZ2VJbmZvKCk/Lm5hbWU7cmV0dXJuIEQua1o/Lm5hbWU9PT1ifSk6bn07CnFJdz1mdW5jdGlvbihuLFcpe2lmKFcmJlchPT0idW5kIilpZih0eXBlb2YgVz09PSJzdHJpbmciKXt2YXIgRD1nLmxfKG4sdj0+di5pZD09PVcpOwppZihEPy5rWil2YXIgYj1ELmtaLmlkfWVsc2UgYj1XLmtaPy5pZDtpZihiJiYoRD1nLkVNKG4sdj0+di5rWj8uaWQ9PT1iKSxELmxlbmd0aD4wKSlyZXR1cm4gRDsKRD1nLkVNKG4sdj0+ISF2LmtaPy5pc0RlZmF1bHQpOwpyZXR1cm4gRC5sZW5ndGg+MD9EOm59Owp0QUM9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PmM3KEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59Owokd2o9ZnVuY3Rpb24obil7dmFyIFc9Zy5FTShuLEQ9PlFFKEQpPT09ITApOwpyZXR1cm4gVy5sZW5ndGg+MD9XOm59OwpyYVU9ZnVuY3Rpb24obixXKXtuPW5ldyBTZXQobi5tYXAoVykpO24uZGVsZXRlKHZvaWQgMCk7cmV0dXJuIG4uc2l6ZT49Mn07CnNGTT1mdW5jdGlvbihuLFcpe3JldHVybiBXLnByaW9yaXR5LW4ucHJpb3JpdHl9Owp2dT1mdW5jdGlvbihuLFcsRD0hMSl7aWYoRCluLml0ZW1zLnB1c2goVyksbi5tZW51SXRlbXMuZWxlbWVudC5hcHBlbmRDaGlsZChXLmVsZW1lbnQpO2Vsc2V7RD1nLlc0KG4uaXRlbXMsVyxzRk0pO2lmKEQ+PTApcmV0dXJuO0Q9fkQ7Zy5jTShuLml0ZW1zLEQsMCxXKTtnLmpwKG4ubWVudUl0ZW1zLmVsZW1lbnQsVy5lbGVtZW50LEQpfVcuc3Vic2NyaWJlKCJzaXplLWNoYW5nZSIsbi5xQSxuKTtuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKX07CmtzPWZ1bmN0aW9uKG4sVyl7Vy51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLG4ucUEsbik7bi5xTigpfHwoZy5GSShuLml0ZW1zLFcpLG4ubWVudUl0ZW1zLmVsZW1lbnQucmVtb3ZlQ2hpbGQoVy5lbGVtZW50KSxuLm1lbnVJdGVtcy5XSigic2l6ZS1jaGFuZ2UiKSl9OwpnLmhCPWZ1bmN0aW9uKG4sVyl7aWYobi5XKXt2YXIgRD1uLm9wdGlvbnNbbi5XXTtELmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiKTtELmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCJmYWxzZSIpO24uVz1udWxsfWlmKEQ9bi5vcHRpb25zW1ddKUQuZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsInRydWUiKSxuLlgobi5qKFcpKSxuLlc9V307Ck5YaD1mdW5jdGlvbihuLFcsRCxiKXtEPW5ldyB4cyh7WjoiZGl2IixLQjpbInl0cC1tZW51aXRlbSIsIiJdLHhhOnt0YWJpbmRleDoiMCIscm9sZToibWVudWl0ZW1yYWRpbyIsImFyaWEtY2hlY2tlZCI6Yj8idHJ1ZSI6ImZhbHNlIn0sWEY6W3taOiJkaXYiLEtCOlsieXRwLW1lbnVpdGVtLWxhYmVsIl0sT3E6Int7bGFiZWx9fSJ9XX0sRCxuLmooVykpO0QuU18oImNsaWNrIiwoKT0+e24uRChXKX0pOwpyZXR1cm4gRH07CmcuTHY9ZnVuY3Rpb24obixXKXt2YXIgRD1uLks7Zm9yKHZhciBiIG9mIEQuaXRlbXMpYi51bnN1YnNjcmliZSgic2l6ZS1jaGFuZ2UiLEQucUEsRCk7RC5pdGVtcz1bXTt0cnl7Zy5URihELm1lbnVJdGVtcy5lbGVtZW50KX1jYXRjaCh2KXtnLkdxKG5ldyBnLlF4KCJGYWlsZWQgdG8gcmVtb3ZlIG1lbnUgaXRlbXMgZnJvbSBwYW5lbCBtZW51LiIse2Vycm9yOnYubWVzc2FnZSxvcmlnaW5hbFN0YWNrOnYuc3RhY2ssY2hpbGRUb0JlUmVtb3ZlZDpELm1lbnVJdGVtcy5lbGVtZW50LmZpcnN0Q2hpbGQ/LnRleHRDb250ZW50Pz8iY2hpbGQgZWxlbWVudCBub3QgZm91bmQifSkpfUQubWVudUl0ZW1zLldKKCJzaXplLWNoYW5nZSIpO0Q9e307Yj0hMTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XSxoPW4ub3B0aW9uc1trXSx4PWs9PT1uLlc7eCYmKGI9ITApO2gmJmgucHJpb3JpdHk9PT0tdj8obi5vcHRpb25zW2tdLnVwZGF0ZVZhbHVlKCJsYWJlbCIsbi5qKGspKSwKZGVsZXRlIG4ub3B0aW9uc1trXSk6aD1OWGgobixrLC12LHgpO0Rba109aDt2dShuLkssaCwhMCl9Ynx8KG4uVz1udWxsKTtmb3IobGV0IHYgb2YgT2JqZWN0LmtleXMobi5vcHRpb25zKSluLm9wdGlvbnNbdl0uZGlzcG9zZSgpO24ub3B0aW9ucz1EfTsKZW49ZnVuY3Rpb24obil7aWYobi5tZW51SXRlbSl7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk7bi5tZW51SXRlbS5lbmFibGUoISFXJiYhIVcuV2spfX07CmdWPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tQb3NpdGlvbj8udXRjVGltZU1pbGxpcykvMUUzO2xldCBiPWBlbWJhcmdvXyR7V31gO24uYXBpLmFkZFV0Y0N1ZVJhbmdlKGIsVyxXK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSwiZW1iYXJnbyIsITEpO0Qub25FbnRlciYmKG4uTltiXT1ELm9uRW50ZXIuZmlsdGVyKG4uSikpfX07CllJMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRSb290Tm9kZSgpO1c9bi5hcGkuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpLmVtYmVkc0VuYWJsZUVtYzNkcz9XLnBhcmVudEVsZW1lbnQ/LnBhcmVudEVsZW1lbnR8fFc6VztuLk49bmV3IHBLcihXLEQ9PntEIT1udWxsJiYobi5hcGkuRygpLmVLPUQsbi5hcGkuRygpLkxLPSJFTUJFRERFRF9QTEFZRVJfVklTSUJJTElUWV9GUkFDVElPTl9TT1VSQ0VfSU5URVJTRUNUSU9OX09CU0VSVkVSIil9KTsKZy51KG4sbi5OKTtuLmV2ZW50cy5OTihuLmFwaSwidmlkZW9TdGF0c1BpbmdDcmVhdGVkIixEPT57dmFyIGI9bi5OO2I9Yi5OPT1udWxsP251bGw6TWF0aC5yb3VuZChiLk4qMTAwKS8xMDA7RC5pbnZpZXc9YiE9bnVsbD9iOnZvaWQgMDtiPW4uYXBpLmdldFBsYXllclNpemUoKTtpZihiLmhlaWdodD4wJiZiLndpZHRoPjApe2I9W01hdGgucm91bmQoYi53aWR0aCksTWF0aC5yb3VuZChiLmhlaWdodCldO2xldCB2PWcuSF8oKTt2PjEmJmIucHVzaCh2KTtiPWIuam9pbigiOiIpfWVsc2UgYj12b2lkIDA7RC5zaXplPWJ9KX07CkhfVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5tYXAoVz0+bmV3IG11KFcuaWQsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse2taOlcua1p9KSl9OwpxVz1mdW5jdGlvbihuLFcsRCxiKXtmdW5jdGlvbiB2KGgpe3ZhciB4PSEoaC5zdGF0dXMhPT0yMDQmJmguc3RhdHVzIT09MjAwJiYhaC5yZXNwb25zZSk7aD17c3VjYzpgJHsreH1gLHJjOmguc3RhdHVzLGxiOmgucmVzcG9uc2U/LmJ5dGVMZW5ndGh8fDAscnQ6KCgwLGcuUikoKS1rKS50b0ZpeGVkKCksc2hvc3Q6Zy5JUChuKSx0cmlnZ2VyOld9O1hyKGgsbik7RCYmRChoKTtiJiYheCYmYihuZXcgZy5DaSgicGF0aHByb2JlLm5ldCIsaCkpfQp2YXIgaz0oMCxnLlIpKCk7Zy5lZChuLHtmb3JtYXQ6IlJBVyIscmVzcG9uc2VUeXBlOiJhcnJheWJ1ZmZlciIsdGltZW91dDoxRTQsb25GaW5pc2g6dixvblRpbWVvdXQ6dn0pfTsKWHI9ZnVuY3Rpb24obixXKXt3aW5kb3cucGVyZm9ybWFuY2U/LmdldEVudHJpZXNCeU5hbWUmJihXPXBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoVykpJiZXLmxlbmd0aCYmKFc9V1swXSxuLnBlZG5zPShXLmRvbWFpbkxvb2t1cEVuZC1XLnN0YXJ0VGltZSkudG9GaXhlZCgpLG4ucGVjb249KFcuY29ubmVjdEVuZC1XLmRvbWFpbkxvb2t1cEVuZCkudG9GaXhlZCgpLG4ucGVycXM9KFcucmVxdWVzdFN0YXJ0LVcuY29ubmVjdEVuZCkudG9GaXhlZCgpKX07CnRCPWZ1bmN0aW9uKG4pe3JldHVybiBHRChuLmlqLCFuLnBvbGljeS5mUixuLnBvbGljeS5RSCl9OwpmaXg9ZnVuY3Rpb24obixXKXt2YXIgRD1NYXRoLm1pbihuLnBvbGljeS5UNiwkcyhuLmlqKSk7bj10QihuKTtyZXR1cm4gVy1EKm59OwpyVj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIE1hdGguY2VpbChNYXRoLm1heChNYXRoLm1heChuLnBvbGljeS5abSxuLnBvbGljeS5UNCpEKSxNYXRoLm1pbihNYXRoLm1pbihuLnBvbGljeS5ISiwzMSpEKSxNYXRoLmNlaWwoVypEKSkpKXx8bi5wb2xpY3kuWm19OwpzYj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe2lmKG4ucG9saWN5LlE3KXJldHVybiBNYXRoLmNlaWwobi5wb2xpY3kuUTcqVyk7bi5wb2xpY3kudm4mJihiPU1hdGguYWJzKGIpKTtiLz1uLnBsYXliYWNrUmF0ZTt2YXIgaz0xL0dEKG4uaWopO0Q9TWF0aC5tYXgoLjkqKGItMyksJHMobi5paikrbi5pai5KLk4qaykvayouOC8oVytEKTtEPU1hdGgubWluKEQsYik7bi5wb2xpY3kuSFk+MCYmdiYmKEQ9TWF0aC5tYXgoRCxuLnBvbGljeS5IWSkpO3JldHVybiByVihuLEQsVyl9OwpOVz1mdW5jdGlvbihuKXtyZXR1cm4gdEIobikvbi5wbGF5YmFja1JhdGV9Owpwdj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5yZXN1bWVNaW5SZWFkYWhlYWRQb2xpY3l8fFtdLHY9bi5wb2xpY3kucGxheWJhY2tTdGFydFBvbGljeS5zdGFydE1pblJlYWRhaGVhZFBvbGljeXx8W107bj1JbmZpbml0eTtXPVcmJmIubGVuZ3RoPjA/Yjp2O2ZvcihsZXQgayBvZiBXKVc9ay5taW5SZWFkYWhlYWRNc3x8MCxEPChrLm1pbkJhbmR3aWR0aEJ5dGVzUGVyU2VjfHwwKXx8bj5XJiYobj1XKTtyZXR1cm4gbjxJbmZpbml0eT9uLzFFMzpufTsKZnY9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5pbmZvLmFaKXJldHVybiBELmxlbmd0aD09PTA/RC5wdXNoKGIpOihuPUQucG9wKCk/LmooYikpP0QucHVzaChuKTpELnB1c2goYiksdjsoRD1ELnBvcCgpPy5qKGIpKXx8KEQ9Yik7aWYoRC5pbmZvLk4pcmV0dXJuIG4ubG9nZ2VyJiZuLmxvZ2dlcih7aW5jb21wbGV0ZVNlZ21lbnQ6RC5pbmZvLmdhKCl9KSx2O3ZhciB7Zm9ybWF0SWQ6ayxqJDpoLHN0YXJ0VGltZU1zOngsY2xpcElkOkwscjk6ZX09bi5LKEQpO2I9e2NsaXBJZDpMLGZvcm1hdElkOmssc3RhcnRUaW1lTXM6eCxkdXJhdGlvbk1zOmUsQUM6aCxpOTpofTt2PVlzKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRztpZihHPUQpe0c9Yjt2YXIgcj12LE49RC5zdGFydFRpbWVNcytELmR1cmF0aW9uTXMsSD1HLnN0YXJ0VGltZU1zK0cuZHVyYXRpb25NcztpZihHLnN0YXJ0VGltZU1zLU4+bi5OKUc9ITE7ZWxzZSBpZihIdShuLEQuZm9ybWF0SWQsRy5mb3JtYXRJZCkpRC5kdXJhdGlvbk1zPQpNYXRoLm1heChOLEgpLUQuc3RhcnRUaW1lTXMsRC5pOT1NYXRoLm1heChELmk5LEcuaTkpLEc9ITA7ZWxzZSBpZihNYXRoLmFicyhELnN0YXJ0VGltZU1zLUcuc3RhcnRUaW1lTXMpPD1uLk4paWYoRC5kdXJhdGlvbk1zPkcuZHVyYXRpb25NcytuLk4pe3I9RC5mb3JtYXRJZDt2YXIgQT1ELkFDLHk9RC5pOTtELmZvcm1hdElkPUcuZm9ybWF0SWQ7RC5kdXJhdGlvbk1zPUcuZHVyYXRpb25NcztELkFDPUcuQUM7RC5pOT1HLmk5O0cuZm9ybWF0SWQ9cjtHLnN0YXJ0VGltZU1zPUg7Ry5kdXJhdGlvbk1zPU4tSDtHLkFDPUE7Ry5pOT15O0c9ITF9ZWxzZSBELmZvcm1hdElkPUcuZm9ybWF0SWQsRz0hMDtlbHNlIE4+Ry5zdGFydFRpbWVNcyYmKE4+SCYmKFcuc3BsaWNlKHIrMSwwLHtmb3JtYXRJZDpELmZvcm1hdElkLHN0YXJ0VGltZU1zOkgsZHVyYXRpb25NczpOLUgsQUM6Ry5pOSsxLGk5OkQuaTl9KSxuLmxvZ2dlciYmbi5sb2dnZXIoe3NwbGl0T2xkU3RhcnQ6RC5zdGFydFRpbWVNcz8udG9GaXhlZCgzKSwKc3BsaXRPbGRFbmQ6Tj8udG9GaXhlZCgzKSxzcGxpdE5ld1N0YXJ0Okcuc3RhcnRUaW1lTXM/LnRvRml4ZWQoMyksc3BsaXROZXdFbmQ6SD8udG9GaXhlZCgzKX0pKSxELmR1cmF0aW9uTXM9Ry5zdGFydFRpbWVNcy1ELnN0YXJ0VGltZU1zLEQuaTk9Ry5BQy0xKSxHPSExfUc/Yj1EOih2Kz0xLFcuc3BsaWNlKHYsMCxiKSk7RD0wO2ZvcihHPXYrMTtHPFcubGVuZ3RoO0crKyl7Tj1uO0g9V1tHXTtyPWI7QT1ILnN0YXJ0VGltZU1zK0guZHVyYXRpb25Nczt5PXIuc3RhcnRUaW1lTXMrci5kdXJhdGlvbk1zO3k+PUErTi5OP049ITA6eStOLk48SC5zdGFydFRpbWVNcz9OPSExOkh1KE4sSC5mb3JtYXRJZCxyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKWXM9ZnVuY3Rpb24obixXKXtuPWcuVzQobix7c3RhcnRUaW1lTXM6V30sKEQsYik9PkQuc3RhcnRUaW1lTXMtYi5zdGFydFRpbWVNcyk7CnJldHVybiBuPj0wP246LW4tMn07CkpCPWZ1bmN0aW9uKG4sVyxEKXtpZihuLmxvZ2dlcil7dmFyIGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl07ay5Faj8uc3RhcnRUaWNrcyYmYi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9wc3N0LiR7ay5Faj8uc3RhcnRUaWNrc31fcHNkLiR7ay5Faj8ubDh9YCk7Yi5wdXNoKGBpLiR7ay5mb3JtYXRJZD8uaXRhZ31fc3QuJHtrLnN0YXJ0VGltZU1zfV9lLiR7ay5zdGFydFRpbWVNcytrLmR1cmF0aW9uTXN9X2QuJHtrLmR1cmF0aW9uTXN9X3NuLiR7ay5BQ31fZW4uJHtrLmk5fWApfW4ubG9nZ2VyKHtwOmAke0R9YCxicjpiLmpvaW4oIjsiKX0pfX07Ckk2PWZ1bmN0aW9uKG4sVyxEPSExKXtpZihuLlFFKXt2YXIgYj1uLlFFLlpGKCk7aWYoYi5sZW5ndGghPT0wKXtpZihuLlcmJlcpe3ZhciB2PW4uVyxrPXYuaW5mby5YOyFCUihiLGspJiZ2LmluZm8uSz4wJiYoMCxnLlIpKCktbi5EPDVFMyYmKG4ubG9nZ2VyJiZuLmxvZ2dlcih7ZGVuZDp2LmluZm8uZ2EoKX0pLGI9akcoYixrLGsrLjAxKSl9dj1bXTtmb3IodmFyIGg9az0wO2s8Yi5sZW5ndGgmJmg8bi5lVy5sZW5ndGg7KXt2YXIgeD1iLnN0YXJ0KGspO2xldCBOPWIuZW5kKGspO3ZhciBMPW4uZVdbaF0uc3RhcnRUaW1lTXMvMUUzO2xldCBIPShuLmVXW2hdLnN0YXJ0VGltZU1zK24uZVdbaF0uZHVyYXRpb25NcykvMUUzO2lmKEw8PU4mJkg+PXgpe2xldCBBPXsuLi5uLmVXW2hdfTt2YXIgZT1uLkt1LkouZ2V0KE1rKG4uZVdbaF0uZm9ybWF0SWQpKSxHPU1hdGgubWF4KEwseCk7eD1lLmluZGV4LlIzKEcrbi5OLzFFMyk7TD1lLmluZGV4LmdldFN0YXJ0VGltZSh4KTt2YXIgcj14KworKE1hdGguYWJzKEwtRyk+bi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uaW5mby5XfHwxMTshRCYmaD09PW4uSiYmTjxIJiZILU48PXgqMS4wMSYmIShuLnBvbGljeS5TdyYmbi5RRSYmbi5RRS55dSgpKSYmKE49SCk7eD1NYXRoLm1pbihILE4pO0w9ZS5pbmRleC5SMyh4LW4uTi8xRTMpO0c9ZS5pbmRleC5qRShMKTtMLT0rKE1hdGguYWJzKEcteCk+bi5OLzFFMyk7eD1MK24uWDtlPWUuaW5kZXguakUoTCkqMUUzO0EuaTk9eDtBLmR1cmF0aW9uTXM9ZS1BLnN0YXJ0VGltZU1zO0EuQUM8PUEuaTkmJnYucHVzaChBKX1IPE4/aCs9MTprKz0xfW4uZVc9dn19fTsKSmFpPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9Wy4uLm4uUDNdO24uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5UQy5aUCgpLHY9bi5KO2ZvcihsZXQgayBvZiBiKXY9ZnYobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLFAzOkR9fTsKSHU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBXLml0YWchPT1ELml0YWd8fFcueHRhZ3MhPT1ELnh0YWdzPyExOm4uS3Uueld8fFcubG10PT09RC5sbXR9OwpaYj1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCFXLlBKLk4oKSl7aWYoISh2PUQ9PT0wfHwhIVcuSi5sZW5ndGgmJlcuSlswXWluc3RhbmNlb2YgU24pKWE6e2lmKFcuSi5sZW5ndGgmJih2PVcuSlswXSx2IGluc3RhbmNlb2YgQUImJnYuSk8mJnYuYUkpKXt2PSEwO2JyZWFrIGF9dj0hMX12fHxuLnBvbGljeS5OfHxtaShXKTtyZXR1cm4gRH12YXIgaz1LdihXLEQpO2lmKCFpc05hTihrKSlyZXR1cm4gaztpZihuLmxvYWRlci5DNyhEKjFFMykpcmV0dXJuIEQ7di5BTT9uLnBvbGljeS5WSCYmKG49T2Iobi5sb2FkZXIsVyksVy5zTShEK24sITApKTooVy56aSgpLG4ubG9hZGVyLlgkKCExLGBzdGFfJHsrVy5QSi5pbmZvLmVTKCl9YCkpO3JldHVybiBiJiYobj1GWihiLlpGKCksRCksIWlzTmFOKG4pKT8oUHUoVyxuK0lpYix2KSxEKTpQdShXLEQsdil9OwpVYj1mdW5jdGlvbihuLFcsRCl7aWYoIW4ucG9saWN5Lmope249Vy5QSi5pbmRleDt2YXIgYj1XLk4uaiQ7bi5NSShiKXx8RCYmRC5qJD09PWI/KFcuUEQ9IW4uTUkoYiksVy5EPSFuLk1JKGIpKTooVy5QRD0hMCxXLkQ9ITApfX07CkViPWZ1bmN0aW9uKG4pe3ZhciBXPU1hdGgubWF4KG4udmlkZW9UcmFjay5TRSgpLG4uYXVkaW9UcmFjay5TRSgpKTt5ayhuLnZpZGVvVHJhY2spO3lrKG4uYXVkaW9UcmFjayk7bi5wb2xpY3kuanx8ajQobi5LdSk7bi5LdS5pc01hbmlmZXN0bGVzcyYmIW4ucG9saWN5LmomJihuLk49ITAsbi5KPTApO3ZhciBEPW4ubG9hZGVyO2lmKCFELnBvbGljeS5sbnx8RC5wb2xpY3kuR0MpRC5jdXJyZW50VGltZT1XO24uc2Vla2luZz0hMDtuLlc9bmV3IFk2O3JldHVybiBuLld9OwpvNj1mdW5jdGlvbihuKXt2YXIgVz1uLnZpZGVvVHJhY2suWCE9PS0xLEQ9bi5hdWRpb1RyYWNrLlghPT0tMTtpZighV3x8IUQpaWYoVz0hVyYmaVkobi52aWRlb1RyYWNrKSxEPSFEJiZpWShuLmF1ZGlvVHJhY2spLFd8fEQpaWYoRD1XP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2ssVz1XP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2ssRC5YPWlZKEQpLmluZm8uaiQsbi5wb2xpY3kuaiYmKFcuWD1pWShXKT8uaW5mby5UQygpfHxXLlgpLFcuWCE9PS0xKXtsZXQgYj1NYXRoLm1heChXLlBKLmluZGV4LmdldFN0YXJ0VGltZShXLlgpLEQuUEouaW5kZXguZ2V0U3RhcnRUaW1lKEQuWCkpO3VBKG4uS3UpJiZNYXRoLmFicyhiLXVBKG4uS3UpKT40MzJFMyYmS0t0KG4uS3UpO24uSiYmKGI9bi5KLG4uSj0wKTtnLm1LKCgpPT57bi5wb2xpY3kuanx8dVkobixiLDEwMil9KTsKbi5sb2FkZXIuVSgiaW5pdE1hbmlmZXN0bGVzc1N5bmMiLHtzdDpiLG9zdDpiK24ubG9hZGVyLlNXKCksYTpuLmF1ZGlvVHJhY2suWCx2Om4udmlkZW9UcmFjay5YfSk7bi5XJiYobi5XLnJlc29sdmUoYisuMSksbi5XPW51bGwpO24ucG9saWN5LmomJnVZKG4sYiwxMDIpfX07ClNJWj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uaXNTZWVraW5nKCkpcmV0dXJuLTE7RD0oRD9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5QSi5pbmRleDt2YXIgYj1ELlIzKG4udGFyZ2V0VGltZSk7cmV0dXJuKEQuTUkobi5LdS5JdCl8fFcuaiQ9PT1uLkt1Lkl0KSYmYjxuLkt1Lkl0P24uS3UuTGYoKTotMX07CnVZPWZ1bmN0aW9uKG4sVyxEKXtuLk4mJm4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEmJihuLk49ITEsbi50YXJnZXRUaW1lPVcsZFYobi5sb2FkZXIsVysuMSx7QTk6ITAscWQ6ImNodW5rU2VsZWN0b3JTeW5jaHJvbml6ZSIscWE6ITAsc2Vla1NvdXJjZTpEfSkpfTsKQWEyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4ucG9saWN5LmopIWJ8fCFuLk4mJm4ucG9saWN5LkJWfHxnLm1LKCgpPT57bzYobil9KTsKZWxzZXtpZihuLmlzU2Vla2luZygpJiZuLnRhcmdldFRpbWUpe2xldCBrPVNJWihuLFcsRCk7aWYoayE9PS0xKXtuLnZpZGVvVHJhY2suUEQ9ITE7bi5hdWRpb1RyYWNrLlBEPSExO24uTj0hMDtuLko9MDtnLm1LKCgpPT57bi5sb2FkZXIuVSgic2Vla3JlYXNvbiIse3JlYXNvbjoiYmVoaW5kTWluU3EiLHRndDprfSk7dVkobixrKX0pOwpyZXR1cm59fUQ/bi52aWRlb1RyYWNrLkQ9ITE6bi5hdWRpb1RyYWNrLkQ9ITE7dmFyIHY9IW4uTjtLdihuLnZpZGVvVHJhY2ssbi50YXJnZXRUaW1lKT49MCYmS3Yobi5hdWRpb1RyYWNrLG4udGFyZ2V0VGltZSk+PTAmJnY/KG4uUEQoKSYmbi5sb2FkZXIuVSgiaXRlcmF0aXZlU2Vla2luZyIse3N0YXR1czoiZG9uZSIsY291bnQ6bi5zZWVrQ291bnR9KSxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExKTpiJiZnLm1LKCgpPT57aWYobi5OfHwhbi5wb2xpY3kuQlYpbzYobik7ZWxzZXt2YXIgaz1XLnN0YXJ0VGltZSxoPVcuZHVyYXRpb247aWYoIW4ucG9saWN5Lmope3ZhciB4PW4udmlkZW9UcmFjay5YIT09LTEmJm4uYXVkaW9UcmFjay5YIT09LTEsTD0hbi52aWRlb1RyYWNrLkQmJiFuLmF1ZGlvVHJhY2suRDsoRD9uLnZpZGVvVHJhY2suUEQ6bi5hdWRpb1RyYWNrLlBEKSYmeCYmTCYmKG4udGFyZ2V0VGltZT49ayYmbi50YXJnZXRUaW1lPGsraCsuMT8oKEQ/bi52aWRlb1RyYWNrOgpuLmF1ZGlvVHJhY2spLlBEPSExLG4uUEQoKXx8KG4ubG9hZGVyLlUoIml0ZXJhdGl2ZVNlZWtpbmciLHtzdGF0dXM6ImRvbmUiLHRhcmdldDprLG9yaWdpbmFsVGltZTprK24ubG9hZGVyLlNXKCksY291bnQ6bi5zZWVrQ291bnR9KSxuLnNlZWtDb3VudD0wKSk6bi5zZWVrQ291bnQ8OD8obi5zZWVrQ291bnQrKyxuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbnByb2dyZXNzIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprLGR1cmF0aW9uOmgsaXNWaWRlbzpEfSksbi5zZWVrKG4udGFyZ2V0VGltZSx7fSkpOihuLmxvYWRlci5VKCJpdGVyYXRpdmVTZWVraW5nIix7c3RhdHVzOiJpbmNvbXBsZXRlIixjb3VudDpuLnNlZWtDb3VudCx0YXJnZXQ6bi50YXJnZXRUaW1lLGFjdHVhbDprfSksbi5zZWVrQ291bnQ9MCxuLnZpZGVvVHJhY2suUEQ9ITEsbi5hdWRpb1RyYWNrLlBEPSExLGRWKG4ubG9hZGVyLGsrLjEse0E5OiEwLHFkOiJjaHVua1NlbGVjdG9yU3luY2hyb25pemVNZWRpYSIsCnFhOiEwfSkpKX19fSl9fTsKVEQ9ZnVuY3Rpb24obixXLEQpe3pEKG4uaWosVyk7bi5EdCYmKG4uRHQuYWRkKE1hdGguY2VpbChXKS1NYXRoLmNlaWwobi5LKSksbi5EdC5hZGQoTWF0aC5tYXgoMCxNYXRoLmNlaWwoRC8xMDI0KS1NYXRoLmNlaWwobi5YLzEwMjQpKSkpO3ZhciBiPVctbi5LLHY9RC1uLlg7bi5VNT12O24ualc9TWF0aC5tYXgobi5qVyx2LyhiKy4wMSkqMUUzKTtuLks9VztuLlg9RDtuLkhKJiZEPm4uSEomJmxZKG4pfTsKbFk9ZnVuY3Rpb24obil7bi5udT1NYXRoLm1heChuLm51LG4uWC1uLlJ0KTtuLlZRPU1hdGgubWF4KG4uVlEsbi5LLW4uWmgpO24uSEo9MH07Cm13cj1mdW5jdGlvbihuLFcpe24udXJsPVc7d2luZG93LnBlcmZvcm1hbmNlJiYhcGVyZm9ybWFuY2Uub25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwmJihwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbD0oKT0+e3BlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCl9KX07CmpuPWZ1bmN0aW9uKG4pe24uaXNBY3RpdmUmJihuLmlzQWN0aXZlPSExKX07CkN2PWZ1bmN0aW9uKG4pe24uZSQ9bi5OK24uc25hcHNob3QuZGVsYXkqMUUzO24udlg9ITF9OwpGcj1mdW5jdGlvbihuLFcsRCl7aWYoIW4uZGlzYWJsZVJlY29yZGluZyl7Vz1NYXRoLm1heChXLC4wMSk7dmFyIGI9bi5xWT9NYXRoLm1heChXLEQvbi5xWSk6Vyx2PW4uaWouSi5XO3YmJihiPVcsbi5xWSYmKGI9TWF0aC5tYXgoVyxEL24ucVkqdikpKTtCdShuLmlqLFcsRCxiKX19Owp3Vj1mdW5jdGlvbihuKXt2YXIgVz1uLkZGfHxuLkdDO3JldHVybiBXP24uc25hcHNob3QuZGVsYXkrTWF0aC5taW4obi5POCwobi5jSi1uLnR3KS8xRTMpK1c6bi5zNX07Ck1XPWZ1bmN0aW9uKG4pe3JldHVybihuLlktbi5OKS8xRTN9OwpRaz1mdW5jdGlvbihuLFcpe2lmKG4uaG4mJm4uaiQhPT12b2lkIDAmJm4uWkEhPT12b2lkIDApe3ZhciBEPU1hdGgsYj1ELm1pbix2PW4uVjt2YXIgaz1uLmhuO3ZhciBoPW4uTjtpZihSNihrLG4uaiQpKWs9VztlbHNle3ZhciB4PTA7ay50SSYmKHg9LjIpO2s9aCsoay5POCt4KSoxRTN9bi5WPWIuY2FsbChELHYsayk7RD1NYXRoO2I9RC5taW47dj1uLk87az1uLmhuO2g9bi5OO3g9S2EyKGssbi5qJCxuLlpBKTt4IT09MiYmKFc9eD9XOmgray5POCoxRTMsay50SSYmKFcrPWsuTzgqMUUzKSk7bi5PPWIuY2FsbChELHYsVyk7bi5WPD1uLk4/Q3Yobik6KG4uZSQ9bi5WLG4udlg9ITApfX07ClZrPWZ1bmN0aW9uKG4sVyl7aWYoVysxPD1uLnRvdGFsTGVuZ3RoKXt2YXIgRD1yZChuLFcpO0Q9RDwxMjg/MTpEPDE5Mj8yOkQ8MjI0PzM6RDwyNDA/NDo1fWVsc2UgRD0wO2lmKEQ8MXx8IShXK0Q8PW4udG90YWxMZW5ndGgpKXJldHVyblstMSxXXTtpZihEPT09MSluPXJkKG4sVysrKTtlbHNlIGlmKEQ9PT0yKUQ9cmQobixXKyspLG49cmQobixXKyspLG49KEQmNjMpKzY0Km47ZWxzZSBpZihEPT09Myl7RD1yZChuLFcrKyk7dmFyIGI9cmQobixXKyspO249cmQobixXKyspO249KEQmMzEpKzMyKihiKzI1NipuKX1lbHNlIGlmKEQ9PT00KXtEPXJkKG4sVysrKTtiPXJkKG4sVysrKTtsZXQgdj1yZChuLFcrKyk7bj1yZChuLFcrKyk7bj0oRCYxNSkrMTYqKGIrMjU2Kih2KzI1NipuKSl9ZWxzZSBEPVcrMSxuLmZvY3VzKEQpLFhhKG4sRCw0KT9uPXFEKG4pLmdldFVpbnQzMihELW4uVywhMCk6KGI9cmQobixEKzIpKzI1NipyZChuLEQrMyksbj1yZChuLEQpKzI1NioocmQobixEKzEpKwoyNTYqYikpLFcrPTU7cmV0dXJuW24sV119OwpjdT1mdW5jdGlvbihuKXtyZXR1cm4gZy5keihuLmluZm8uQXcsVz0+Vy50eXBlPT09Myl9OwpDbmk9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz8obmV3IHVvKG4uSikpLmVuY3J5cHQoVyxuLk4pOld9OwpGSTE9YXN5bmMgZnVuY3Rpb24obixXKXtyZXR1cm4gVz9hd2FpdCAobmV3IHVvKG4uSikpLmRlY3J5cHQoVyxuLk4pOld9OwphNj1mdW5jdGlvbihuKXtuLlcucmVhZCgpLnRoZW4obi5ZLG4ub25FcnJvcikudGhlbih2b2lkIDAsZy5xZyl9OwpXcD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKGdaKDYsMTE3MCxuLkFPKSlyZXR1cm4gbmV3IE9fcihuLEQpO249bi5XRCgpO3JldHVybiBiP3lXKCk/bmV3IG4zKG4sVyxELHYpOm5ldyBQSGoobixXLEQsdik6bmV3IFpfQyhuLEQsdil9OwpEeD1mdW5jdGlvbihuLFcsRCl7bi5OJiYoZTUobi5OLFcpLFc9bi5OLG4uTj1udWxsKTt2YXIgYj0wLHY9MDtmb3IobGV0IEwgb2Ygbi5Bdyl7aWYoTC5yYW5nZSYmYitMLko8PW4uSil7Yis9TC5KO2NvbnRpbnVlfWlmKGhKKEwpJiYhRCYmbi5KK1cudG90YWxMZW5ndGgtdjxiK0wuSil7KHtZOTpuLk59PVcuc3BsaXQodikpO2JyZWFrfWE6e3ZhciBrPW47dmFyIGg9TCx4PW4uSi1iO2xldCBlPVcudG90YWxMZW5ndGgtdjtoLnJhbmdlJiYoZT1NYXRoLm1pbihoLkoteCxlKSk7aD1HUChoLGguTit4LGUsaC5yYW5nZT9oLk4reCtlPT09aC5yYW5nZS5sZW5ndGg6ISFEKTt4PWdkKFcsdixlKTtoPW5ldyBiOChoLHgpO2lmKGsualMubGVuZ3RoJiYoeD1rLmpTW2sualMubGVuZ3RoLTFdLmooaCkpKXtrLmpTW2sualMubGVuZ3RoLTFdPXg7az1lO2JyZWFrIGF9ay5qUy5wdXNoKGgpO2s9ZX1uLkorPWs7dis9aztiKz1MLko7aWYodj09PVcudG90YWxMZW5ndGgpYnJlYWt9fTsKYnU9ZnVuY3Rpb24obil7cmV0dXJuIFVZKG4ubm4sUjAoNjQsMzUzNixuLlNPLkFPKSl9Owp2cD1mdW5jdGlvbihuKXtuLlhiLk89KDAsZy5SKSgpO249YnUobik7bi5qPSgwLGcuUikoKTtuLnN0YXJ0ZWQrPTF9OwprWj1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe24udGltaW5nLkhEKCgwLGcuUikoKSxXLEQpO1c9bi5YYjtXLko9MDtXLlY9MDtXLkQ9MDt6aihidShuKSx2KTtiJiYoYj1idShuKSxiLlcrPTEpO24uVWo/Lk8obi5TTy5BTyl9OwpoVT1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubGFzdEVycm9yPT09InVtcC5zcHNyZWplY3RmYWlsdXJlIiluLnRpbWluZy5iZHx8d0Eobi5YYiwhMSxuLlNPLG4ucG9saWN5LG4ubm4pO2Vsc2V7aWYobi5sYXN0RXJyb3I9PT0ibmV0LnRpbWVvdXQiKW4udGltaW5nLnlFKCgwLGcuUikoKSk7ZWxzZXt2YXIgRD1uLnRpbWluZztURChELCgwLGcuUikoKSxELlgpfW4ubGFzdEVycm9yPT09Im5ldC5ub2NvbnRlbnQiPysrbi5YYi5EOigoRD1uLmxhc3RFcnJvcj09PSJuZXQudGltZW91dCJ8fG4ubGFzdEVycm9yPT09Im5ldC5jb25uZWN0Inx8bi5sYXN0RXJyb3I9PT0ibmV0LmNsb3NlZCIpJiYhZ1ooNiwxMTcwLG4uU08uQU8pP29FaShidShuKSxXKTp5ZihidShuKSxXKSxuLnRpbWluZy5iZHx8d0Eobi5YYixELG4uU08sbi5wb2xpY3ksbi5ubikpfW4uWWEudlYoNSl9Owp4Wj1mdW5jdGlvbihuLFcsRCxiPSExLHY9ITEsaz0hMSl7cmV0dXJuIFc+PTQwMHx8az8obi5sYXN0RXJyb3I9az8icHJvYmUubmV0LmJhZHN0YXR1cyI6Im5ldC5iYWRzdGF0dXMiLCEwKTp2PyhuLmxhc3RFcnJvcj0idW1wLnNwc3JlamVjdGZhaWx1cmUiLCEwKTpEfHxiPyExOihuLmxhc3RFcnJvcj1XPT09MjA0PyJuZXQubm9jb250ZW50IjoibmV0LmNvbm5lY3QiLCEwKX07CkwzPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuYiQpcmV0dXJuITE7dmFyIEQ9Vy5nZXRSZXNwb25zZUhlYWRlcigiY29udGVudC10eXBlIiksYj1XLmlpKCk7bj0hYnx8Yjw9bi5wb2xpY3kub2M7cmV0dXJuKCFXLkdwKCl8fCFEfHxELmluZGV4T2YoInRleHQvcGxhaW4iKSE9PS0xKSYmbn07CmVWPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9IiI7Vz1XLnNOKCk7Vy50b3RhbExlbmd0aDw9bi5wb2xpY3kub2MmJihuPXRSKFcpLG49cFIobiksRD1nWChuKT9uOiIiKTtyZXR1cm4gRH07CmdDPWZ1bmN0aW9uKG4pe3ZhciBXPW4udGltaW5nLkQoKTtXLnNob3N0PVIwKDk2LDM1Njgsbi5TTy5BTyk7bi5wb2xpY3kuQ3UmJm4ucG9saWN5LnZYJiYoVy5jc3JjPTEpO3JldHVybiBXfTsKVXdiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4/Lm1heFdpZHRoPlc/Lm1heFdpZHRofHxuPy5tYXhIZWlnaHQ+Vz8ubWF4SGVpZ2h0fTsKeWFqPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcua2V5cygpKXtsZXQgYj1XLmdldChEKTtpZihiLmxlbmd0aD09PTApY29udGludWU7Zy5iZihiLChoLHgpPT54Lm1heEZyYW1lcmF0ZS1oLm1heEZyYW1lcmF0ZSk7CmxldCB2PVtiWzBdXSxrPTA7Zm9yKGxldCBoPTE7aDxiLmxlbmd0aDtoKyspVXdiKGJbaF0sdltrXSkmJih2LnB1c2goYltoXSksaysrKTtuPW4uY29uY2F0KHYpfXJldHVybiBufTsKaV9iPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpVz1FdGpbYl18fDAsbi5OJiZXPm4uTnx8RC5wdXNoKGIpO3JldHVybiBEfTsKWHU9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXVkWltuXXx8W107RC5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4IikmJihiPW90dFtuXXx8W10pO1cucHVzaCguLi5iKTtELlMoImh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9kcm0iKSYmVy5wdXNoKC4uLihkd3Rbbl18fFtdKSl9Owp6eFM9ZnVuY3Rpb24obixXKXt2YXIgRD1WeihuKSxiPW4uRygpLHY9Yi5XO2I9Yi5TKCJodG1sNV9zaG9ydHNfb25lc2llX21pc21hdGNoZWRfZml4Iik7dmFyIGs9bi5OUCgpO2lmKGIpe2lmKCF2Lk4pe2lmKGsmJnFxKXJldHVybiBxcTtpZihHSSlyZXR1cm4gR0l9fWVsc2UgaWYoR0kmJiF2Lk4pcmV0dXJuIEdJO3ZhciBoPVtdLHg9W10sTD17fSxlPXRVLmNvbmNhdCgkWik7YiYmKGU9dFUuY29uY2F0KHJDKSk7bi5TKCJodG1sNV9lYXJseV9tZWRpYV9mb3JfZHJtIikmJihlPWUuY29uY2F0KHNHKSxuLlMoImFsbG93X3ZwOV8xMDgwcF9tcV9lbmMiKSYmZS5wdXNoKE5xKSk7dmFyIEc9Wy4uLnAzXTtuLlMoImh0bWw1X2lhbWZfYXVkaW9fb25lc2llX2ZtdCIpJiZHLnB1c2goWyI3NzMiXSk7Zm9yKHZhciByIG9mIGUpe2U9ITE7Zm9yKGxldCBIIG9mIHIpe3ZhciBOPVNNKEgsayYmYik7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2lmKE4uTVcoKSYmIUQuZSQmJk4udmlkZW8ucXVhbGl0eU9yZGluYWw+CkQublMpY29udGludWU7bGV0IEE9Zy5kTShuLkcoKS5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7aWYoQT4wJiZVTihOKSYmTi5Ocz5BKWNvbnRpbnVlO2lmKGUpe2gucHVzaChIKTtYdShILGgsbik7Y29udGludWV9Tj1zRChELE4sdik7Tj09PSEwPyhlPSEwLGgucHVzaChIKSxYdShILGgsbikpOkxbSF09Tn19Zm9yKGxldCBIIG9mIEcpZm9yKGxldCBBIG9mIEgpe3I9QXUoQSk7aWYoIXJ8fCFyLmF1ZGlvfHwhbi5TKCJodG1sNV9vbmVzaWVfNTFfYXVkaW8iKSYmci5WKCkpY29udGludWU7cj1zRChELHIsdik7aWYocj09PSEwKXt4LnB1c2goQSk7WHUoQSx4LG4pO2JyZWFrfWVsc2UgTFtBXT1yfWlmKCFuLlMoImh0bWw1X2VuYWJsZV9hdWRpb19xdWFsaXR5X3NldHRpbmciKSl7bj1bIjE0MSIsIjc3NCJdO2ZvcihsZXQgSCBvZiBuKXguaW5jbHVkZXMoSCkmJihnLkZJKHgsSCksTFtIXT0iYmxraHFhIil9RC5XJiZXKCJvcmZtdHMiLEwpO2lmKGIpcmV0dXJuIHYuTiYmCih2Lk49ITEscXE9R0k9dm9pZCAwKSxrP3FxPXt2aWRlbzpoLGF1ZGlvOnh9OkdJPXt2aWRlbzpoLGF1ZGlvOnh9O0dJPXt2aWRlbzpoLGF1ZGlvOnh9O3YuTj0hMTtyZXR1cm4gR0l9OwpqRk09ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLkwsYj1uLnlRLHY9bi5paixrPUQuZ2V0VmlkZW9EYXRhKCksaD1wNygwKTt2YXIgeD1ELmdldFZpc2liaWxpdHlTdGF0ZSgpO2IuUygiaHRtbDVfZW5hYmxlX2F1ZGlvX3F1YWxpdHlfc2V0dGluZyIpJiYoVy5pQj1iLmlCKTtoJiYoVy5pSD1oLFcubGFzdE1hbnVhbERpcmVjdGlvbj1Sc3goKSxoPVVQKCl8fDAsaD4wJiYoaD0oYi5TKCJodG1sNV91c2VfZGF0ZV9ub3dfZm9yX2xvY2FsX3N0b3JhZ2UiKT9EYXRlLm5vdygpOigwLGcuUikoKSktaCxiLlMoImh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZSIpP2g+MCYmKFcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpOlcudGltZVNpbmNlTGFzdE1hbnVhbEZvcm1hdFNlbGVjdGlvbk1zPWgpKTtpZih2Lk98fGIuUygiaHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lIikmJnc4KWg9CmIuUygiaHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmUiKT8hIW4ub1o/LmZSOiExLFcuSSQ9R0QodiwhaCk7dmFyIEw9TkcubWVkaXVtLGU9TWF0aC5mbG9vcihMKjE2LzkpLEc9ay5OUCgpfHwoay5OJiZrLlcmJmsuVy52aWRlb0luZm9zLmxlbmd0aCE9PTA/ay5XLnZpZGVvSW5mb3NbMF0uaXNWZXJ0aWNhbCgpOiExKTtoPUc/TDplO2U9Rz9lOkw7Rz1ELlNpKCk7TD1HLndpZHRoO0c9Ry5oZWlnaHQ7Vy5zQT1NYXRoLm1heChMLGgpO1cuWUE9TWF0aC5tYXgoRyxlKTtiLlMoImh0bWw1X2VuYWJsZV9jbGllbnRfdmlld3BvcnRfc2l6ZV9sb2dnaW5nIikmJmIuV1goKSYmKGg9RC5NaCgpLEQuVSgiY3Z3Iix7dzpMLGg6Ryxjdnc6Vy5zQSxjdmg6Vy5ZQSxjdnU6aC5OfSkpO1cudmlzaWJpbGl0eT14O1cuWkk9Zy52SSgpO1cuZnE9RC5sNSgpKjFFMzt4PW4uTC52JCgpO1cuTk89e2RlZmF1bHRQb2xpY3k6eD8uRHI/Lk58fDAsc21vb3RoOng/LnpOPy5OfHwKMCx2aXNpYmlsaXR5Ong/LmN3Py5OfHwwLE9iOng/LkFFPy5OfHwwLHBlcmZvcm1hbmNlOng/LmlQPy5OfHwwLHNwZWVkOng/LlhOPy5OfHwwfTtXLlROPXg/LlFZPy5OfHwwO2lmKG4uaHF8fG4uQ3gmJiFuLmdEKWg9Yi5adCgpLk4uUVEobGlaKT8/MCxoPjAmJiFXLlROJiYoTD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLGgsITEsInAiKSksVy5OTy5kZWZhdWx0UG9saWN5PUwuTixELlUoImxzbCIse3FjOmh9KSksay5saXZlUHJlbG9hZCYmay5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIikmJiFrLkcoKS5adCgpLk4uUVEoSHApJiYoeD0oeD8uRHJ8fFlaKS5jb21wb3NlKG5ldyBiMygwLDI0MCwhMSwicCIpKSxXLk5PLmRlZmF1bHRQb2xpY3k9eC5OKTt4PW4uaHF8fGsuWjk/W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9LHt0cmFja1R5cGU6Myxpc0hkcjohMX0se3RyYWNrVHlwZTozLAppc0hkcjohMH0se3RyYWNrVHlwZTo0LGlzSGRyOiExfSx7dHJhY2tUeXBlOjQsaXNIZHI6ITB9LHt0cmFja1R5cGU6NSxpc0hkcjohMX0se3RyYWNrVHlwZTo1LGlzSGRyOiEwfV06W3t0cmFja1R5cGU6MSxpc0hkcjohMX0se3RyYWNrVHlwZToyLGlzSGRyOiExfSx7dHJhY2tUeXBlOjIsaXNIZHI6ITB9XTtXLmtjPW4uYXV0aG9yaXplZEZvcm1hdHMmJm4uYXV0aG9yaXplZEZvcm1hdHMubGVuZ3RoPjA/e2F1dGhvcml6ZWRGb3JtYXRzOm4uYXV0aG9yaXplZEZvcm1hdHN9OnthdXRob3JpemVkRm9ybWF0czp4fTtuLnNhYnJMaWNlbnNlQ29uc3RyYWludCYmKFcua2Muc2FickxpY2Vuc2VDb25zdHJhaW50PW4uc2FickxpY2Vuc2VDb25zdHJhaW50KTtpZihiLlMoImh0bWw1X29uZXNpZV9tZWRpYV9jYXBhYmlsaXRpZXMiKXx8TEEoaykpVy5ZZj0zO2lmKGIuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEoayl8fG4ub1o/Lk4mJmxvKGIpPT09IlRWSFRNTDVfQVVESU8iKVcuWWY9CjE7bi5vWj8ueUUmJm4ub0cmJihXLllmPVcuWWY9PT12b2lkIDA/NzpXLllmfDQpO3g9ay5lJD9rLmUkOlZ6KGspO2lmKGIuUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtoPWIuVztMPVtdO2U9W107Rz1iLlMoImh0bWw1X3Nob3J0c19vbmVzaWVfbWlzbWF0Y2hlZF9maXgiKTt2YXIgcj1rLk5QKCksTj10VS5jb25jYXQoJFopO0cmJihOPXRVLmNvbmNhdChyQykpO2IuUygiaHRtbDVfZWFybHlfbWVkaWFfZm9yX2RybSIpJiYoTj1OLmNvbmNhdChzRyksYi5TKCJhbGxvd192cDlfMTA4MHBfbXFfZW5jIikmJk4ucHVzaChOcSkpO3ZhciBIPVsuLi5wM107Yi5TKCJodG1sNV9pYW1mX2F1ZGlvX29uZXNpZV9mbXQiKSYmSC5wdXNoKFsiNzczIl0pO2Zvcih2YXIgQSBvZiBOKWZvcih2YXIgeSBvZiBBKXtOPVNNKHksciYmRyk7aWYoIU58fCFOLnZpZGVvKWNvbnRpbnVlO2xldCBRPWcuZE0oYi5leHBlcmltZW50cywiaHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwIik7CmlmKCEoUT4wJiZVTihOKSYmTi5Ocz5RKSYmc0QoeCxOLGgpPT09ITApe0wucHVzaCh7dmlkZW9Db2RlYzpmM1tZZ1t5XV0sbWF4V2lkdGg6Ti52aWRlby53aWR0aCxtYXhIZWlnaHQ6Ti52aWRlby5oZWlnaHQsbWF4RnJhbWVyYXRlOk4udmlkZW8uZnBzfSk7YnJlYWt9fWZvcih2YXIgVCBvZiBIKWZvcih2YXIgeiBvZiBUKWlmKChBPUF1KHopKSYmQS5hdWRpbyYmKGIuUygiaHRtbDVfb25lc2llXzUxX2F1ZGlvIil8fCFBLlYoKSkmJnNEKHgsQSxoKT09PSEwKXtlLnB1c2goe2F1ZGlvQ29kZWM6SlVbWWdbel1dLG51bUNoYW5uZWxzOkEuYXVkaW8ubnVtQ2hhbm5lbHN9KTticmVha31XLm1lZGlhQ2FwYWJpbGl0aWVzPXt2aWRlb0Zvcm1hdENhcGFiaWxpdGllczpMLGF1ZGlvRm9ybWF0Q2FwYWJpbGl0aWVzOmV9fWlmKG4ub1o/LkR0KCkpe0E9bi5JODt5PW4ubGw7aD1uLm9aPy5OcztUPVtdO3o9W107TD1uZXcgTWFwO2U9KGU9ay5KKT9lLml0YWc6dm9pZCAwO0c9ay5XPy52aWRlb0luZm9zOwpHPUc/Lmxlbmd0aD9HW0cubGVuZ3RoLTFdLml0YWc6dm9pZCAwO2U9IVZUKCkmJmUhPT12b2lkIDAmJkE/LmluY2x1ZGVzKE51bWJlcihHKSk7Rz1rLnl3Lk47Zm9yKHZhciBDIG9mIEcudmFsdWVzKCkpQy5lUz96LnB1c2goe2F1ZGlvQ29kZWM6SlVbQy5JQl0sbnVtQ2hhbm5lbHM6Qy5udW1DaGFubmVscyxzcGF0aWFsQ2FwYWJpbGl0eUJpdG1hc2s6VFhNW0MuSUJdfSk6KEc9ZjNbQy5JQl0scj1DLm1heEJpdHJhdGVCcHN8fDAsSD1oP2gqODowLHI9e3ZpZGVvQ29kZWM6RyxtYXhXaWR0aDp5JiYhZT84NTQ6Qy5tYXhXaWR0aHx8MCxtYXhIZWlnaHQ6eSYmIWU/NDgwOkMubWF4SGVpZ2h0fHwwLG1heEZyYW1lcmF0ZTpDLm1heEZyYW1lcmF0ZXx8MCxpczEwQml0U3VwcG9ydGVkOkMuejl8fCExLG1heEJpdHJhdGVCcHM6SCYmcj9NYXRoLm1pbihILHIpOkh8fHIsZWZmaWNpZW50OiEwfSxHPWAke0d9XyR7Qy56OX1gLEg9TC5nZXQoRyl8fFtdLEgucHVzaChyKSxMLnNldChHLEgpKTsKVD15YWooVCxMKTtDPUEmJiFlP1suLi5BXTpbXTtrLlMoImh0bWw1X3NzZmZfZGVueWxpc3Rfb3B1c19sb3ciKSYmQy5wdXNoKDI0OSwzNTApO1Z6KGspO1cubWVkaWFDYXBhYmlsaXRpZXM9e3ZpZGVvRm9ybWF0Q2FwYWJpbGl0aWVzOlQsYXVkaW9Gb3JtYXRDYXBhYmlsaXRpZXM6eixoZHJNb2RlQml0bWFzazozLHBlclBsYXliYWNrQXR0cmlidXRlczpDLmxlbmd0aD97aXRhZ0RlbnlsaXN0OkN9Ont9fX1XLnVxPVZUKCk7bi5vWj8uTiYmKFcuYnY9eC5idixXLm5TPW4ub1o/Lm5TKTtiLnlFJiYoVy5FYj1iLnlFKTtXLm5SPW4ublI7Vy5Zcz1uLllzO1cuZXE9bi5lcTtXLmo0PW4uajQ7bi5weiYmKFcubHE9KDAsZy5SKSgpLW4ucHopO24uSiQmJihXLkokPW4uSiQpO05zfHwoVy5aQz0hMCk7Qz0kcyh2KSoxRTM7Qz4wJiYoVy5YRD1DKTtEPUQuZ2V0UGxheWJhY2tSYXRlKCk7RCE9PTEmJihXLnBsYXliYWNrUmF0ZT1EKTtuLm9aPy5MQiYmbi5HNyYmKFcua0U9bi5rRSxXLlVtPW4uVW0sClcuRzc9bi5HNyk7WWQoKT09PTEmJihXLms4PTEpO2IuUygiaHRtbDVfc2Ficl9mb3JjZV9wcm94aW1hIikmJihXLlZYPTEpO0Q9Zy5kTShiLmV4cGVyaW1lbnRzLCJodG1sNV9zYWJyX2ZvcmNlX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tcyIpO1cucDY9RD4wP0Q6di5pbnRlcnJ1cHRpb25zWzBdfHwwO24ub1o/LllaJiYoVy5yMD1uLnIwKTtiLkhKJiYoVy5hdWRpb1RyYWNrSWQ9Yi5ISik7ay5aaCgpJiYhVy5hdWRpb1RyYWNrSWQmJihiLlMoImh0bWw1X2ZpbGxfZGVmYXVsdF9tb3NhaWNfYXVkaW9fdHJhY2tfaWQiKXx8KG49bGooayksVy5hdWRpb1RyYWNrSWQ9biksaz8uVSgibWlzc3Rya2NoZyIseyJkZWZhdWx0IjpXLmF1ZGlvVHJhY2tJZH0pKTtpZihuPW5hdmlnYXRvci5jb25uZWN0aW9uPy50eXBlfHwiIilXLmRldGFpbGVkTmV0d29ya1R5cGU9SXFbbl18fElxLm90aGVyOyFiLlMoImh0bWw1X2VuYWJsZV92b2ljZV9ib29zdCIpfHxrLk5QKCl8fGsuaXNBZCgpfHwKKFcucU09Yi5taCk7cmV0dXJuIFd9OwpTVj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXt2YXIgeD17fTtXJiYoeC5xJD1XKTtpZighbilyZXR1cm4geDt4LnBsYXliYWNrQ29va2llPUQ/LnBsYXliYWNrQ29va2llO3YmJih4LmROPXYpO3gudXQ9W107eC5ycT1bXTtpZihoPy5zaXplKWZvcihsZXQgTCBvZiBoLnZhbHVlcygpKXgucnEucHVzaChMKTtpZihuLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKGxldCBMIG9mIG4uc2FickNvbnRleHRVcGRhdGVzLnZhbHVlcygpKUNIaCh4LEwsYik7Zy5ZTihuKSYmayYmQ0hoKHgsayxiKTtXPW4uRygpLk47eC5jbGllbnRJbmZvPXtjbGllbnROYW1lOkJYdFtXLmMudG9VcHBlckNhc2UoKV18fDB9O1cuY2JyYW5kJiYoeC5jbGllbnRJbmZvLmRldmljZU1ha2U9Vy5jYnJhbmQpO1cuY21vZGVsJiYoeC5jbGllbnRJbmZvLmRldmljZU1vZGVsPVcuY21vZGVsKTtXLmN2ZXImJih4LmNsaWVudEluZm8uY2xpZW50VmVyc2lvbj1XLmN2ZXIpO1cuY29zJiYoeC5jbGllbnRJbmZvLm9zTmFtZT0KVy5jb3MpO1cuY29zdmVyJiYoeC5jbGllbnRJbmZvLm9zVmVyc2lvbj1XLmNvc3Zlcik7Vz1uLkcoKTtXLlMoImh0bWw1X3NhYnJfZW5hYmxlX3NlcnZlcl94dGFnX3NlbGVjdGlvbiIpJiZXLlJhJiYoeC5jbGllbnRJbmZvLmhsPVcuUmEpO24uQngmJih4LkJ4PW4uQngpO3JldHVybiB4fTsKQ0hoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XLnR5cGV8fDA7RD8uaGFzKGIpP24ucnEucHVzaChXKTpuLnV0LnB1c2goYil9OwpGYU09ZnVuY3Rpb24obil7aWYoISh5cyhuLmluZm8pJiZuLmluZm8uUW4oKSYmbi5wb2xpY3kuc1YmJm4uZTEpfHxuLmluZm8uWGIuSj49Mnx8cDcoKT4wfHwhSU8oKSlyZXR1cm4hMTt2YXIgVz1uLlNPLmdldCgiYWl0YWdzIik7aWYoIVcpcmV0dXJuITE7Vz1HNShXKS5zcGxpdCgiLCIpO3ZhciBEPVtdO2ZvcihsZXQgYiBvZiBuLmUxKWcuamooVyxiKSYmRC5wdXNoKGIpO2lmKCFELmxlbmd0aClyZXR1cm4hMTtuLlNPLnNldCgiYWx0aXRhZ3MiLHFoKEQuam9pbigiLCIpKSk7cmV0dXJuITB9Owp3S2o9ZnVuY3Rpb24obixXLEQ9ITEpe2cuWGooVyk7bi50NS5sYXN0RXJyb3I9InBsYXllci5leGNlcHRpb24iO24uZXJyb3JNZXNzYWdlPWAke1cubmFtZX1fJHtXLm1lc3NhZ2V9YDtEP2cubUsoKCk9PntoVShuLnQ1KX0pOmhVKG4udDUpfTsKTUFNPWZ1bmN0aW9uKG4pe24uZXcmJihuLnhoci5zdGF0dXM9bi5ldyxuLmxOPW4uZXcpfTsKUnhqPWZ1bmN0aW9uKG4sVyl7bi50aW1pbmcuYmQ9ITA7bi54aHIuR3AoKSYmbi50aW1pbmcuVEMoKTtuLnBvbGljeS5OZCYmbi5UMj8uc3RvcCgpO0R4KG4uV28sVywhMSl9OwpRRnc9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4ucVk/TWF0aC5tYXgoVyxEL24ucVkpOlcsdj1uLmlqLkouVzt2JiYoYj1XLG4ucVkmJihiPU1hdGgubWF4KFcsRC9uLnFZKnYpKSk7QnUobi5paixXLEQsYil9OwpWQVM9ZnVuY3Rpb24obixXLEQsYix2LGspe24uTyYmKG4uTy5hZGQoTWF0aC5yb3VuZChXKSksbi5PLmFkZChNYXRoLnJvdW5kKEQpKSxuLk8uYWRkKE1hdGgucm91bmQoYikpLG4uTy5hZGQoTWF0aC5yb3VuZCh2KSksbi5PLmFkZChNYXRoLnJvdW5kKGspKSxuLk8uYWRkKE1hdGgucm91bmQobi52WCkpKX07CmNhdD1mdW5jdGlvbihuLFcsRCl7c3dpdGNoKFcpe2Nhc2UgNjg6bi5aYihEKTticmVhaztjYXNlIDM1Om4uc3koRCk7YnJlYWs7Y2FzZSA0NDpuLklyKEQpO2JyZWFrO2Nhc2UgNDM6bi5yTihEKTticmVhaztjYXNlIDUzOm4ua0ooRCk7YnJlYWs7Y2FzZSA1NjpuLk9lKCk7YnJlYWs7Y2FzZSA1NzpuLnlUKEQpO2JyZWFrO2Nhc2UgNDI6bi5XbChEKTticmVhaztjYXNlIDQ1Om4udVEoRCk7YnJlYWs7Y2FzZSA1OTpuLmdZKEQpO2JyZWFrO2Nhc2UgNTE6bi5DWChEKTticmVhaztjYXNlIDQ5Om4uTiQoRCk7YnJlYWs7Y2FzZSA1MDpuLkZYKEQpO2JyZWFrO2Nhc2UgNDc6bi5BcShEKTticmVhaztjYXNlIDU4Om4uc1coRCk7YnJlYWs7Y2FzZSA2MTpuLkhFKEQpO2JyZWFrO2Nhc2UgNzI6bi5ZYS5UcSgpO2JyZWFrO2Nhc2UgNjY6bi56cChEKTticmVhaztjYXNlIDQ2Om4udnQoRCk7YnJlYWs7Y2FzZSA2NzpuLm9uU25hY2tiYXJNZXNzYWdlKEQpO2JyZWFrO2Nhc2UgNzE6Vz1tayhELApJbGopLG4uWWEuSUYoVyl9fTsKYWlNPWZ1bmN0aW9uKG4pe0FVPW59OwpuajE9ZnVuY3Rpb24obixXLEQpe24udTkuZ2V0KFcpLm9uUHJvZ3Jlc3M9RH07Cm1lPWZ1bmN0aW9uKG4sVyl7bi5nRihXKSYmKEFVP24udTkuZ2V0KFcpLkZtLmNsZWFyKCk6bi51OS5nZXQoVykualM9bmV3IFM1LG4uSihXKSxuLlg9ITApfTsKVyRqPWZ1bmN0aW9uKG4pe2ZvcihsZXQgW1csRF1vZiBuLnU5KXtsZXQgYj1XO0QuRG98fG1lKG4sYil9fTsKRDZ4PWZ1bmN0aW9uKG4sVyl7bj1uLnU5LmdldChXKTtpZighbilyZXR1cm4gMDtXPTA7aWYobi5Bdy5sZW5ndGg+MCl7Zm9yKGxldCBEIG9mIG4uQXcpVys9RC5yYW5nZT8ubGVuZ3RofHwwO3JldHVybiBXfWlmKG4uQnQubGVuZ3RoPjApZm9yKGxldCBEIG9mIG4uQnQpVys9RC5lSHx8MDtyZXR1cm4gVytuLk1vfTsKSzM9ZnVuY3Rpb24obixXKXtpZihBVSl7bGV0IEQ9MDtuPW4udTkuZ2V0KFcpO2lmKCFuPy5GbSlyZXR1cm4gMDtmb3IobGV0IGIgb2Ygbi5GbS52YWx1ZXMoKSlEKz1iLmRhdGEudG90YWxMZW5ndGg7cmV0dXJuIER9cmV0dXJuIG4udTkuZ2V0KFcpPy5qUy5qKCl8fDB9OwpPRz1mdW5jdGlvbihuLFcpe249bi51OS5nZXQoVyk7aWYoQVUpe2lmKCFuPy5EbylyZXR1cm4hMTtXPW4uRm0uc2l6ZT4wO3JldHVybiBuLnBKLmxlbmd0aD4wfHxXfXJldHVybiEhbj8uRG8mJiEhbj8ualMuaigpfTsKYmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi51OS5nZXQoVyksYj1ENngobixXKSx2PSFiJiYhIUQuYnl0ZXNSZWNlaXZlZDtpZihBVSl7aWYobi5LdT8uelcpe2Zvcih2YXIgayBvZiBELkZtLnZhbHVlcygpKWlmKCFrLmtuKXJldHVybiExO3JldHVybiB2fX1lbHNlIGlmKGs9bi5tNihXKSx2JiZuLlcmJmshPT12b2lkIDApcmV0dXJuIGs7cmV0dXJuKHZ8fEQuYnl0ZXNSZWNlaXZlZD09PWIpJiZELmJ5K0szKG4sVyk9PT1ELmJ5dGVzUmVjZWl2ZWR9OwpQcD1mdW5jdGlvbihuLFcsRCxiKXtXPXZqdyhuLFcsRCk7RD1ELmF1O2IuQXcucHVzaCguLi5XKTtpZihBVSliLmNCLmhhcyhEKXx8Yi5jQi5zZXQoRCxbXSksYi5jQi5nZXQoRCkucHVzaCguLi5XKTtlbHNlIGlmKGIuV28pZm9yKGxldCB2IG9mIFcpYi5Xby5Bdy5wdXNoKHYpO2Vsc2UgYi5Xbz1uZXcga0JoKFsuLi5iLkF3XSksbi5vWj8uSHgmJmcudShuLGIuV28pO3JldHVybiBXfTsKdmp3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkt1Py5KLmdldChXKTtpZighYilyZXR1cm5bXTtpZihELk9KKXJldHVybiBiLlkoMCxELmNsaXBJZCk/LkF3fHxbXTtpZihiLlcoKSl7dmFyIHY9RC5zdGFydE1zLGs9RC5kdXJhdGlvbk1zLGg9MUUzO24ub1o/Lk4mJkQudGltZVJhbmdlJiYodj1ELnRpbWVSYW5nZS5zdGFydFRpY2tzPz8tMSxrPUQudGltZVJhbmdlLmw4Pz8tMSxoPUQudGltZVJhbmdlLnRpbWVzY2FsZT8/LTEpO2lmKEQuenY8MHx8RC5QUDwwfHxrPDB8fHY8MHx8RC5lSDwwfHxoPDApcmV0dXJuIG1lKG4sVyksW107bj1XXyhELnp2LEQuZUgpO1c9RC5kR3x8MDtyZXR1cm5bbmV3IHFJKDMsYixuLCJtYWtlU2xpY2VJbmZvc01lZGlhQnl0ZXMiLEQuUFAtMSx2L2gsay9oLFcsbi5sZW5ndGgtVyx2b2lkIDAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV19aWYoRC5QUDwwKXJldHVybiBtZShuLFcpLFtdO2lmKG4uS3U/LnpXKXJldHVybiBrPWIucmIsaD1rKmIuaW5mby5OcywKVz1ELmRHLG4ub1o/Lk4mJm4uVi50ZCgpIT09Ik9ORVNJRSImJkQudGltZVJhbmdlJiYhVyYmKHY9RC50aW1lUmFuZ2Uuc3RhcnRUaWNrcy9ELnRpbWVSYW5nZS50aW1lc2NhbGUpLFtuZXcgcUkoMyxiLHZvaWQgMCwibWFrZVNsaWNlSW5mb3NNZWRpYUJ5dGVzIixELlBQLHYsayxXLGgsITAsRC52RCxELmNsaXBJZCxELkhmIT09dm9pZCAwKV07aWYobi5vWj8uUXImJmIgaW5zdGFuY2VvZiBydCl7aWYoIWIuTigpKXJldHVybiBuLnU5LmdldChXKS5XcS5zZXQoRC5hdSxEKSxbXTtuPUQuUFAtMTt2PWIuaW5kZXguZ2V0U3RhcnRUaW1lKG4pO2s9Yi5pbmRleC5nZXREdXJhdGlvbihuKTtyZXR1cm5bbmV3IHFJKDMsYix2b2lkIDAsIm1ha2VTbGljZUluZm9zTWVkaWFCeXRlcyIsbix2LGssMCxrKmIuaW5mby5Ocyx2b2lkIDAsdm9pZCAwLHZvaWQgMCxELkhmIT09dm9pZCAwKV19cmV0dXJuW119OwpoNzI9ZnVuY3Rpb24obixXLEQpe24uS3U9VztuLm9aPUQ7Zm9yKGxldCBbYix2XW9mIG4udTkpe1c9YjtEPXY7Zm9yKGxldCBrIG9mIEQucDkpUHAobixXLGssRCl9fTsKeDZ3PWZ1bmN0aW9uKG4pe3JldHVybiBuLndEKCkmJiFuLkFkfTsKVUc9ZnVuY3Rpb24obil7aWYobi5VOCE9PXZvaWQgMCl7dmFyIFc9bi5wb2xpY3kual8oKTtpZihXKXt2YXIgRD1XLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRFdmVudHNDb3VudChuLlU4KTtpZihEPjApe3ZhciBiPVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2dldEJhdGNoZWRFdmVudHMobi5VOCk7aWYoYil7Yj1XLm1lbW9yeS5idWZmZXIoYixEKjE2KTtiPW5ldyBVaW50MzJBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQsRCo0KTtsZXQgaz0wO2ZvcihsZXQgaD0wO2g8RDtoKyspe3ZhciB2PWJba107bGV0IHg9YltrKzFdLEw9YltrKzJdLGU9YltrKzNdO3Y9PT0wP2UhPT0wJiYodj14JiZMPjA/bmV3IFM1KFtXLm1lbW9yeS5idWZmZXIoeCxMKS5zbGljZSgpXSk6bmV3IFM1KFtuZXcgVWludDhBcnJheSgwKV0pLG4ueUQud20oZSx2KSk6dj09PTEmJm4ueGhyLkdwKCkmJlp4KG4pO2srPTR9fVcuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NsZWFyRXZlbnRzKG4uVTgpfX19fTsKWng9ZnVuY3Rpb24obil7bi5wb2xpY3kuWTAmJm4uUHEmJiFuLmdVP24uZ1U9ITA6bi5uZi5UQygpfTsKTCQyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9LTEsYj0tMSx2PS0xO2lmKG4udFk/Lml0ZW1zKWZvcihsZXQgayBvZiBuLnRZLml0ZW1zKVc8ay5Ga3x8ay5GazxEfHwoRD1rLkZrLGI9ay5meix2PWsubWluUmVhZGFoZWFkTXMpO3JldHVybntxRTpELGZ6OmIsRFE6dn19Owp5Qj1mdW5jdGlvbihuKXtpZihuLlU4IT09dm9pZCAwKXJldHVybiBuLnBvbGljeS5qXygpLmV4cG9ydHMuU2FiclJlcXVlc3RDb29yZGluYXRvcl9nZXRNZWRpYUJ5dGVzKG4uVTgpfTsKZy5FRz1mdW5jdGlvbihuLFcsRCl7Zy52UChuLEQpfHxnLmdfKG4sVyxEKTtnLnZQKG4sInZpZGVvX3RvX2FkIil8fGcuZ18obixXLCJ2aWRlb190b19hZCIpO2cudlAobiwiYWRfdG9fdmlkZW8iKXx8Zy5nXyhuLFcsImFkX3RvX3ZpZGVvIik7Zy52UChuLCJhZF90b19hZCIpfHxnLmdfKG4sVywiYWRfdG9fYWQiKX07Cml1PWZ1bmN0aW9uKG4pe24uT3x8KG4uTz0oMCxnLlIpKCksZy5FRygibWJfcyIsbi5PLG4uelIpKX07CmU3Yj1mdW5jdGlvbihuKXtuLnR3fHwobi50dz0oMCxnLlIpKCksZy5FRygib3Zmc19ycCIsbi50dyxuLnpSKSl9OwpnajE9ZnVuY3Rpb24obil7bi5jSnx8KG4uY0o9KDAsZy5SKSgpLGcuRUcoIm9hZnNfcnAiLG4uY0osbi56UikpfTsKWFNoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XIGluc3RhbmNlb2YgdXUmJiFuLlgmJiFuLk4sdj0hbi5YJiZEPy5pbmZvLnZpZGVvO0Q9IW4uTiYmRD8uaW5mby5hdWRpbztXLnN0YXRlPT09Mz8oKHZ8fGIpJiZuLnRpY2soInZyciIpLChEfHxiKSYmbi50aWNrKCJhcnIiKSk6Vy5zdGF0ZT09PTQ/dj8obi5YPVcuV0QoKSxnLkR5KCksYlEoNCkpOkQmJihuLk49Vy5XRCgpKTpXIGluc3RhbmNlb2YgQUImJlcuUXkoKSYmdiYmKGcuRHkoKSxiUSg0KSl9OwpvcT1mdW5jdGlvbihuLFcsRCl7bi5KIT09VyYmKG4uVSgic2RhaSIse3NldHNzdDpXLG9sZDpuLkoscjpEfSksbi5KPVcpfTsKR0JiPWZ1bmN0aW9uKG4sVyxELGI9ITApe2lmKEQmJiFuLlRDLmhhcyhXLmokKSl7dmFyIHY9Vy5zdGFydFRpbWUsaz1bXTtmb3IodmFyIGg9MDtoPEQuTi5sZW5ndGg7aCsrKXt2YXIgeD1ELk5baF0sTD12O3Y9TCtELkpbaF07ay5wdXNoKHtzdGFydFRpbWU6TCxlbmRUaW1lOnYsYWRDcG46eH0pfW4uVEMuc2V0KFcuaiQsayl9bi5wb2xpY3kuZVYmJih2PW4uRCYmVy5qJD09PW4uRC5qJCsxLG4uRD1XLGs9bi5OJiZXLmokPT09bi5OLmokKzEsaz1uLk4mJnYmJmsmJm4uTi5mZi5ldmVudCE9PSJzdG9wIiYmbi5OLmZmLmV2ZW50IT09InByZWRpY3RTdGFydCIsaD1XLmZmfHxudWxsLHg9bi52aWRlb1RyYWNrLlBKLmluZGV4LngkKCkseD1XLmokPj14LEw9bi5LdS5pc01hbmlmZXN0bGVzcyxoPyhuLk4/LmZmLmV2ZW50PT09InByZWRpY3RTdGFydCImJm4uTi5qJDxXLmokJiZoLmV2ZW50PT09InN0b3AiJiZuLmxvYWRlci5oYW5kbGVFcnJvcigic3NkYWkubWlzc2luZ3N0YXJ0Y3VlZXZlbnQiLAp7bGFzdHByZWRpY3Q6bi5OPy5qJHx8MCxjc3E6Vy5qJH0sMCksbi5OPXtmZjpoLGokOlcuaiQsZks6ISFELGZZOmJ9LHg/bi5WaShoLFcuaiQpOkwmJih2P2s/bi5WaShoLFcuaiQpOmguZXZlbnQ9PT0iY29udGludWUifHxoLmV2ZW50PT09InN0b3AiP3EkMihuLFcpOm4uVmkoaCxXLmokKTpuLlZpKGgsVy5qJCkpKTooayYmcSQyKG4sVyksbi5KPT09NCYmb3Eobiw1LCJxZW5kIikpKX07CnJraj1mdW5jdGlvbihuLFcsRCxiLHYpe1chPT1uLk4/LmokfHxuLko9PT0xfHxifHxuLk4uZmYuZXZlbnQ9PT0icHJlZGljdFN0YXJ0Inx8bi5VKCJzZGFpIix7dW5kZWNldnQ6MSxzcTpXLG10OkQsZXZ0Om4uTi5mZi5ldmVudH0sITApO1c+bi5qJiYobi5qPU5hTixuLlY9TmFOKTtpZihuLk4mJm4uTi5qJD09PVcpe2lmKGI9bi5OLCFuLnBvbGljeS5YfHwhbi5wb2xpY3kuVTEpaWYodiYmYil7dmFyIGs9Yi5mZixoPXYuU0Qoayk7ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5jSj1XKTtuLlUoInNkYWkiLHtvbnFldnQ6ay5ldmVudCxzcTpXLG10OkQsZ2FiOmgsY3N0Omsuc3RhcnRTZWNzLGN1ZWlkOm4ucG9saWN5LnlkJiYoaHx8ay5ldmVudD09PSJzdGFydCIpP2suaWRlbnRpZmllcjp2b2lkIDB9LCEwKTtoP2suZXZlbnQhPT0icHJlZGljdFN0YXJ0Ij8oay5ldmVudD09PSJzdGFydCImJm4uY0o9PT1XLTEmJm4uVSgic2RhaSIse2dhYm9uc3RhcnQ6V30pLGIuZks/b3EobiwKNCwiY3VlIik6KG4uaj1XLG4uVj1ELG4uVSgic2RhaSIse2pvaW5hZDpuLkosc2c6bi5qLHN0Om4uVi50b0ZpeGVkKDMpfSksbi5ZPURhdGUubm93KCksb3EobiwyLG4uSj09PTM/InN0YWZ0cHJlZCI6ImpvaW4iKSx0dmkodixiLmZmKSkpOihoPSQ2aChuKSxXKz1NYXRoLm1heChNYXRoLmNlaWwoLWsuTi9oKSwxKSxrPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLnBvbGljeS5VMT9uLlc9azpuLlg9VyxuLlUoInNkYWkiLHtvbnByZWQ6RCxlc3RzcTpXLGVzdG10OmsudG9GaXhlZCgzKX0pLGcuZEMobi5sb2FkZXIsayxrLFcsaCksbi5ZPURhdGUubm93KCksb3EobiwzLCJwcmVkaWN0IiksdHZpKHYsYi5mZikpOm4uSj09PTE/bi5zVT8uR2coRCk/KGcuZEMobi5sb2FkZXIsRCxELFcpLG9xKG4sNCwic2syaGVhZCIpKTpvcShuLDUsIm5vZ2FiIik6ay5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYobi5wb2xpY3kuVTEmJm4uVz4wPyhEPU1hdGguZmxvb3IoRC1rLk4vMUUzKSxuLlchPT1EJiYKbi5VKCJzZGFpIix7dXBkYXRlU3Q6RCxvbGQ6bi5XfSksbi5XPUQpOm4uWD4wJiYoRD1XK01hdGgubWF4KE1hdGguY2VpbCgtay5OLyQ2aChuKSksMSksbi5YIT09RCYmKG4uVSgic2RhaSIse3VwZGF0ZVN0OkQsb2xkOm4uWH0pLG4uWD1EKSkpfWVsc2Ugbi5VKCJzZGFpIix7bnVsbGRlYzoxLHNxOlcsbXQ6RC50b0ZpeGVkKDMpLGV2dDpiPy5mZj8uZXZlbnR8fCJub25lIn0pfWVsc2Ugbi5KPT09MSYmb3Eobiw1LCJub2FkIil9Owp6ST1mdW5jdGlvbihuLFcsRCl7cmV0dXJuKEQ8MHx8RD09PW4uaikmJiFpc05hTihuLlYpP24uVjpXfTsKcSQyPWZ1bmN0aW9uKG4sVyl7aWYobi5OKXt2YXIgRD1uLk4uZmYuQ2YtKFcuc3RhcnRUaW1lK24uSy1uLk4uZmYuc3RhcnRTZWNzKTtEPD0wfHwoRD1uZXcgZy5sMyhuLk4uZmYuc3RhcnRTZWNzLShpc05hTihuLkspPzA6bi5LKSxELG4uTi5mZi5jb250ZXh0LG4uTi5mZi5pZGVudGlmaWVyLCJzdG9wIixuLk4uZmYuTitXLmR1cmF0aW9uKjFFMyksbi5VKCJjdWVwb2ludGRpc2NvbnRpbnVpdHkiLHtzZWdOdW06Vy5qJH0pLG4uVmkoRCxXLmokKSl9fTsKJDZoPWZ1bmN0aW9uKG4pe3N3aXRjaChuLnBvbGljeS5sYXRlbmN5Q2xhc3Mpe2Nhc2UgIkxPVyI6cmV0dXJuIDJFMztjYXNlICJVTFRSQUxPVyI6cmV0dXJuIDFFMztkZWZhdWx0OnJldHVybiA1RTN9fTsKbHU9ZnVuY3Rpb24obixXLEQsYj0hMSl7Yj9vcShuLDEsInNlZWsiKTpXPjAmJk1hdGguYWJzKFctRCk+PTUmJm4uSj09PTQmJm9xKG4sNSwic2sydCIpfTsKZy5UST1mdW5jdGlvbihuKXtyZXR1cm4gbi50aWxlQ29udGV4dD9gJHtuLlNTfTske24udGlsZUNvbnRleHR9YDpuLlNTfTsKalY9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuInVua25vd24iO3N3aXRjaChuKXtjYXNlIDU6cmV0dXJuInByZWRpY3RTdGFydCI7Y2FzZSAxOnJldHVybiJzdGFydCI7Y2FzZSAyOnJldHVybiJjb250aW51ZSI7Y2FzZSAzOnJldHVybiJzdG9wIjtjYXNlIDY6cmV0dXJuInByZWZldGNoIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpzU3c9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgInByZWRpY3RTdGFydCI6cmV0dXJuIDU7Y2FzZSAic3RhcnQiOnJldHVybiAxO2Nhc2UgImNvbnRpbnVlIjpyZXR1cm4gMjtjYXNlICJzdG9wIjpyZXR1cm4gMztjYXNlICJwcmVmZXRjaCI6cmV0dXJuIDY7ZGVmYXVsdDpyZXR1cm4gMH19OwpON1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDE6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gMH19OwpwU1M9ZnVuY3Rpb24obil7aWYoIW4pcmV0dXJuIDA7c3dpdGNoKG4pe2Nhc2UgNjpyZXR1cm4gNztjYXNlIDU6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgMTE6cmV0dXJuIDM7Y2FzZSAzOnJldHVybiA0O2Nhc2UgMTpyZXR1cm4gNTtjYXNlIDEyOnJldHVybiA2O2RlZmF1bHQ6cmV0dXJuIDB9fTsKZy5DMz1mdW5jdGlvbihuKXtyZXR1cm4gbj9uLnRpbGVDb250ZXh0P2Ake24uaWRlbnRpZmllcn07JHtuLnRpbGVDb250ZXh0fWA6bi5pZGVudGlmaWVyOiIifTsKZy5CcD1mdW5jdGlvbihuKXtzd2l0Y2gobil7Y2FzZSAwOnJldHVybiJ1bmtub3duIjtjYXNlIDE6cmV0dXJuInRpbWVvdXQiO2Nhc2UgMjpyZXR1cm4icmF0ZWNvbnRyb2wiO2Nhc2UgMTE6cmV0dXJuInJhdGVjb250cm9sX2NsaWVudCI7Y2FzZSAzOnJldHVybiJzdmVyciI7Y2FzZSA0OnJldHVybiJkZWxldGVkIjtjYXNlIDU6cmV0dXJuIndhaXRpbmciO2Nhc2UgNjpyZXR1cm4icmVhZHkiO2Nhc2UgNzpyZXR1cm4ic3NkaXNhYmxlZCI7Y2FzZSA5OnJldHVybiJzc2Rpc2FibGVkX3VzdHJlYW1lciI7Y2FzZSAxMDpyZXR1cm4ic3NkaXNhYmxlZF9ub19jb25maWciO2Nhc2UgMTI6cmV0dXJuIm5vZ2FiY29uZmlnIjtjYXNlIDg6cmV0dXJuImluYWN0aXZlIjtjYXNlIDEzOnJldHVybiJjYWNoZW1pc3MiO2RlZmF1bHQ6cmV0dXJuInVua25vd24ifX07CkZ1PWZ1bmN0aW9uKG4pe3ZhciBXPS0obi5mZj8uVHl8fDApO24udGltZVJhbmdlJiYoVys9KG4udGltZVJhbmdlLnN0YXJ0VGlja3N8fDApLyhuLnRpbWVSYW5nZS50aW1lc2NhbGV8fDEpKTtyZXR1cm4gbmV3IGcubDMoVyxuLmZmPy5NS3x8MCxuLmZmPy51VHx8IiIsbi5mZj8uaWRlbnRpZmllcnx8IiIsalYobi5mZj8uZXZlbnQpLChuLmZmPy5UeXx8MCkqMUUzLG4udGlsZUNvbnRleHQpfTsKZy5ZJEM9ZnVuY3Rpb24obixXKXt2YXIgRD0iIixiPVtdO2ZvcihsZXQgW3Ysa11vZiBuLk4uZW50cmllcygpKXtsZXQgaD12LHg9azt4Py5zdGFydFRpbWVTZWNzPD1XJiZXPD14Py5zdGFydFRpbWVTZWNzK3g/LkNmJiZiLnB1c2goaCk7RCs9YCR7aH06JHt4Py5zdGFydFRpbWVTZWNzLnRvRml4ZWQoMyl9OiR7eD8uQ2YudG9GaXhlZCgzKX07YH1iLmxlbmd0aD09PTAmJihXPXtub19jaWQ6MSxtdDpXLnRvRml4ZWQoMyksYWRDb25maWdNYXA6RC5zdWJzdHJpbmcoMCwxMDI0KX0sbi5wb2xpY3kuRlImJm4uVSgiY2xzZGFpIixXKSk7cmV0dXJuIGJ9OwpIZVU9ZnVuY3Rpb24obixXLEQ9ITEpe0QmJihuLlY9ITApOysrbi5qO0Q9NkU0KjIqKm4uajtEPSgwLGcuUikoKStEO24uVy5zZXQoVy5pbmZvLmlkLEQpfTsKd0M9ZnVuY3Rpb24obil7Zm9yKGxldCBbVyxEXW9mIG4uVy5lbnRyaWVzKCkpe2xldCBiPVc7RDwoMCxnLlIpKCkmJm4uVy5kZWxldGUoYil9cmV0dXJuIG4uV307ClJxPWZ1bmN0aW9uKG4sVyl7bi5OPVc7dmFyIEQ9bi5LLnZpZGVvSW5mb3M7aWYoIW4uTi5pc0xvY2tlZCgpKXtsZXQgaz0oMCxnLlIpKCk7RD1nLkVNKEQsZnVuY3Rpb24oaCl7aWYoaC5Ocz50aGlzLnBvbGljeS5OcylyZXR1cm4hMTt2YXIgeD10aGlzLkt1Lk5baC5pZF07cmV0dXJuIHdDKHRoaXMuaikuZ2V0KGguaWQpPmt8fHguWGIuSj40fHx4LkZGPjQ/ITE6dGhpcy50dy5oYXMoK2guaXRhZyk/ITE6ITB9LG4pOwpuLmoubGwoKSYmKEQ9Zy5FTShELGg9PmgudmlkZW8ud2lkdGg8PTg1NCYmaC52aWRlby5oZWlnaHQ8PTQ4MCkpfUQubGVuZ3RofHwoRD1uLksudmlkZW9JbmZvcyk7CnZhciBiPUQ7bi5wb2xpY3kuUm8mJihiPWZRaChuLGIsVykpO2I9Zy5FTShiLFcuWCxXKTtpZihuLk4uaXNMb2NrZWQoKSYmbi5qLk4pe3ZhciB2PWcubF8oRCxrPT5rLmlkPT09bi5qLk4pOwp2P2I9W3ZdOm4uRGUoIiIpfW4ucG9saWN5LlJvfHwoYj1mUWgobixiLFcpKTtiLmxlbmd0aHx8KGI9W0RbMF1dKTtiLnNvcnQoKGssaCk9Pk1xKG4sayktTXEobixoKSk7CmZvcihXPTE7VzxiLmxlbmd0aDtXKyspRD1iW1ctMV0sdj1iW1ddLEQudmlkZW8ud2lkdGg+di52aWRlby53aWR0aD8oZy5CTShiLFcpLFctLSk6TXEobixEKSpuLnBvbGljeS5LPk1xKG4sdikmJihnLkJNKGIsVy0xKSxXLS0pO1c9YltiLmxlbmd0aC0xXTtuLkR0PSEhbi5XJiYhIW4uVy5pbmZvJiZuLlcuaW5mby5JQiE9PVcuSUI7bi5YPWI7bi5lJC5jbGVhcigpO0Q9ITE7Zm9yKHY9MDt2PGIubGVuZ3RoO3YrKylEP24uZSQuYWRkKGJbdl0uaXRhZyk6Ylt2XS52aWRlby5xdWFsaXR5T3JkaW5hbD49MTA4MCYmKEQ9ITApO0prQyhuLnBvbGljeSxXLG4uS3UuelcpfTsKSVExPWZ1bmN0aW9uKG4pe3ZhciBXPW4ucG9saWN5LmNKLEQ9Tlcobi5JZykvVy1NcShuLG4uSi5pbmZvKTtXPWcuVDQobi5YLGZ1bmN0aW9uKGIpe3JldHVybiBNcSh0aGlzLGIpPER9LG4pOwpXPDAmJihXPTApO24udmlkZW9JbmRleD1XO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdfTsKUyRoPWZ1bmN0aW9uKG4pe24uUyQ/bi5TJD0hMTpuLlk9KDAsZy5SKSgpO24uRD0hMTtuLlZRPSExO3JldHVybiBuZXcgUUIobi5WLG4uVyxuLk4ucmVhc29uKX07Cm02dz1mdW5jdGlvbihuLFcsRCl7UnEobixXKTt2YXIgYj1uLmo7Vz1iLlguSjtEPWJZKFcse2dPOmIucG9saWN5LmdPLGo5OmIucG9saWN5Lmo5LGxhbmd1YWdlSWQ6RH0pO24uSj1uLkt1Lk5bKEQubGVuZ3RoPjA/RFswXTpXWzBdKS5pZF07VkIobik7bi5WPW4uSjtJUTEobik7bi5UQy5sZW5ndGgmJihuLm5leHRWaWRlbz1Ba00obixuLm5leHRWaWRlbyxuLksudmlkZW9JbmZvcyksbi5KPUFrTShuLG4uSixuLksuSikpO24uVz1uLm5leHRWaWRlbztuLlY9bi5KO3JldHVybiBTJGgobil9OwpLJGo9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmVxdWFscyhXKSYmKCFuLmouTnx8IW4uTi5pc0xvY2tlZCgpfHxuLm5leHRWaWRlbz8uaW5mby5pZD09PW4uai5OKX07ClZCPWZ1bmN0aW9uKG4pe2lmKCFuLkp8fCFuLnBvbGljeS5KJiYhbi5KLmluZm8ua1ope3ZhciBXPW4uSy5KO24uSiYmKFc9YlkoVyx7bGFuZ3VhZ2VJZDpuLkouaW5mby5rWj8uaWQsZ086bi5wb2xpY3kuZ08sajk6bi5wb2xpY3kuajl9KSxXLmxlbmd0aHx8KFc9bi5LLkopKTtuLko9bi5LdS5OW1dbMF0uaWRdO2lmKFcubGVuZ3RoPjEmJiFuLnBvbGljeS5IaSl7aWYoIW4ucG9saWN5LnRHKXt2YXIgRD1nLmxfKFcsYj0+Yi5hdWRpby5hdWRpb1F1YWxpdHkhPT0iQVVESU9fUVVBTElUWV9ISUdIIik7CkQmJihuLko9bi5LdS5OW0QuaWRdKX1EPSExO2lmKEQ9bi5wb2xpY3kuWSQ/ITA6bi5OLmlzTG9ja2VkKCk/bi5OLk48MjQwOk9laShuLG4uSikpbi5KPW4uS3UuTltnLlVNKFcpLmlkXX19fTsKY3A9ZnVuY3Rpb24obil7aWYoIW4ubmV4dFZpZGVvfHwhbi5wb2xpY3kuSilpZihuLk4uaXNMb2NrZWQoKSluLm5leHRWaWRlbz1uLk4uTjw9MzYwP24uS3UuTltuLlhbMF0uaWRdOm4uS3UuTltnLlVNKG4uWCkuaWRdO2Vsc2V7Zm9yKHZhciBXPU1hdGgubWluKG4udmlkZW9JbmRleCxuLlgubGVuZ3RoLTEpLEQ9Tlcobi5JZyksYj1NcShuLG4uSi5pbmZvKSx2PUQvbi5wb2xpY3kuY0otYjtXPjAmJiEoTXEobixuLlhbV10pPD12KTtXLS0pO2ZvcihEPUQvbi5wb2xpY3kuSy1iO1c8bi5YLmxlbmd0aC0xJiYhKE1xKG4sbi5YW1crMV0pPj1EKTtXKyspO24ubmV4dFZpZGVvPW4uS3UuTltuLlhbV10uaWRdO24udmlkZW9JbmRleD1XfX07ClBDMj1mdW5jdGlvbihuLFcpe2lmKFcuUEouaW5mby52aWRlbyYmVy5hWil7bGV0IEQ9KFcuTitXLkopL1cuVyxiPVcuUEouaW5mby5OcztEJiZiJiYobi5udS5JSSgxLEQvYiksbi5wb2xpY3kuVyYmRC9iPjEuNSYmbi5sb2FkZXIuVSgib3ZlcnNob290Iix7c3E6Vy5qJCxicjpELG1heDpifSkpfX07CmFxPWZ1bmN0aW9uKG4sVyxEPSExKXtIZVUobi5qLFcsRCk7bi5ZPS0xO1JxKG4sbi5OKX07Clpldz1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgUUIobi5WLG4uVyxXfHxuLk4ucmVhc29uKX07Ck1xPWZ1bmN0aW9uKG4sVyl7aWYoIW4uYmRbVy5pZF0pe3ZhciBEPW4uS3UuTltXLmlkXS5pbmRleC5YZChuLmNKLDE1KTtEPVcuWG4mJm4uVyYmbi5XLmluZGV4LmlzTG9hZGVkKCk/RHx8Vy5YbjpEfHxXLk5zO24uYmRbVy5pZF09RH1EPW4uYmRbVy5pZF07bi5lJC5oYXMoVy5pdGFnKSYmKEQqPTEuNSk7cmV0dXJuIEQqPU1hdGgubWF4KDEsbi5udS5MZygpfHwwKX07ClU2Qz1mdW5jdGlvbihuLFcpe3ZhciBEPXt9O2ZvcihsZXQgYiBvZiBXKXtpZighYnx8IWIudmlkZW8pY29udGludWU7Vz1iLnZpZGVvLnF1YWxpdHlPcmRpbmFsO2xldCB2PURbV10saz12JiZ2Lk1XKCkmJnYudmlkZW8ucXVhbGl0eU9yZGluYWw+bi5wb2xpY3kublMsaD1XPD1uLnBvbGljeS5uUz9iLk1XKCk6Yi5YKCk7aWYoIXZ8fGt8fGgpRFtXXT1ifXJldHVybiBEfTsKZlFoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1ELnJlYXNvbj09PSJtInx8RC5yZWFzb249PT0icyI7bi5wb2xpY3kuUnEmJm5yJiZnLkduJiYoIWJ8fEQuTjwxMDgwKSYmKFc9Vy5maWx0ZXIodj0+di52aWRlbyYmKCF2Lmp8fHYuai5wb3dlckVmZmljaWVudCkpKTsKaWYoVy5sZW5ndGg+MClpZihWVCgpKXtsZXQgdj1VNkMobixXKTtXPVcuZmlsdGVyKGs9PiEhayYmISFrLnZpZGVvJiZrLklCPT09dltrLnZpZGVvLnF1YWxpdHlPcmRpbmFsXS5JQil9ZWxzZXtsZXQgdj1XWzBdPy52aWRlbz8ucXVhbGl0eU9yZGluYWw7CmlmKHYpe0Q9Vy5maWx0ZXIoaD0+ISFoJiYhIWgudmlkZW8mJmgudmlkZW8ucXVhbGl0eU9yZGluYWw9PT12KTsKbGV0IGs9VTZDKG4sRClbdl0uSUI7Vz1XLmZpbHRlcihoPT4hIWgmJiEhaC52aWRlbyYmaC5JQj09PWspfX1yZXR1cm4gV307Ck9laT1mdW5jdGlvbihuLFcpe2Zvcih2YXIgRD0wO0QrMTxuLlgubGVuZ3RoJiZuLlhbRF0udmlkZW8ucXVhbGl0eT09PSJ0aW55IjspRCsrO3ZhciBiPU5XKG4uSWcpL24ucG9saWN5Lks7cmV0dXJuIE1xKG4sVy5pbmZvKStNcShuLG4uWFtEXSk+Yn07CkFrTT1mdW5jdGlvbihuLFcsRCl7aWYoVy5pbmZvLklCPT09ImYifHxuLlRDLmluY2x1ZGVzKGN3KFcsbi5LdS56VykpKXJldHVybiBXO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKXtsZXQgdj1uLkt1Lk5bRFtiXS5pZF07aWYoIW4uVEMuaW5jbHVkZXMoY3codixuLkt1LnpXKSkpY29udGludWU7bGV0IGs9Vy5pbmZvLklCLGg9di5pbmZvLklCO2lmKGs9PT1ofHxWVCgpKXtpZihXLmluZm8udmlkZW8/Vy5pbmZvLkohPT12LmluZm8uSjpXLmluZm8ua1o/LmlkIT09di5pbmZvLmtaPy5pZHx8YXkoVy5pbmZvKSE9PWF5KHYuaW5mbyl8fFZFKFcuaW5mbykhPT1WRSh2LmluZm8pKXJldHVybiBXNihuLHttaXNtYXRjaDoieHRhZyIsZjpXLmluZm8uaWQsdDp2LmluZm8uaWR9KSxXO1c2KG4se2Y6Vy5pbmZvLml0YWcsdDp2LmluZm8uaXRhZ30pO24uUyQ9ITA7cmV0dXJuIHZ9VzYobix7bWlzbWF0Y2g6ImVmZmljaWVudCIsZmM6ayx0YzpofSl9VzYobix7bWlzbWF0Y2g6InVuc2VsZWN0YWJsZSIsCmZtdHM6bi5UQy5qb2luKCIuIil9KTtyZXR1cm4gV307Clc2PWZ1bmN0aW9uKG4sVyl7bi5wb2xpY3kuRUQ/bi5sb2FkZXIuaGFuZGxlRXJyb3IoIm9uZXNpZS5mbXQubWlzbWF0Y2giLFcsMCk6bi5sb2FkZXIuVSgib21iaWZhIixXKX07Cnlrcj1mdW5jdGlvbihuLFcpe249cWMobi5LdS5OLEQ9PkQuaW5mby5pdGFnPT09Vyk7CmlmKCFuKXRocm93IEVycm9yKCJJdGFnICIrVysiIGZyb20gc2VydmVyIG5vdCBrbm93bi4iKTtyZXR1cm4gbn07CkVqWj1mdW5jdGlvbihuKXt2YXIgVz1bXTtpZihuLk4ucmVhc29uPT09Im0ifHxuLk4ucmVhc29uPT09InMiKXJldHVybiBXO2lmKEl0aShuLkt1KSl7Zm9yKGxldCBEPU1hdGgubWF4KDAsbi52aWRlb0luZGV4LTIpO0Q8bi52aWRlb0luZGV4JiZEPG4uWC5sZW5ndGg7RCsrKVcucHVzaChuLlhbRF0uaXRhZyk7Vy5yZXZlcnNlKCl9cmV0dXJuIFd9OwppZWk9ZnVuY3Rpb24obixXKXtuLkRrKCJpc21wX3AiKTtuLko9V307CnU5VT1mdW5jdGlvbihuKXtuLk4mJihuLk4uZGlzcG9zZSgpLG4uRGsoImlzbXBfZCIpKX07Cm9qdz1mdW5jdGlvbih7dEk6bj0hMSxzSjpXPSExLGU0OkQ9ITF9PXt9KXtyZXR1cm4gbj9EPzM6MjpXPy0xOjF9OwpEZD1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W10sdj1uLnRyYWNrLlFFO2lmKHYpe3Y9di5aRigpO2Zvcih2YXIgaz0wO2s8di5sZW5ndGg7aysrKWIucHVzaChNYXRoLnJvdW5kKHYuc3RhcnQoaykqMUUzKSksYi5wdXNoKE1hdGgucm91bmQodi5lbmQoaykqMUUzKSl9dj0xO2s9Yi5sZW5ndGg7aWYoaz09PW4uYnVmZmVyZWQubGVuZ3RoKXtmb3IodmFyIGg9MDtoPD1rJiZiW2hdPT09bi5idWZmZXJlZFtoXTtoKyspO2g+az92PTA6YltoXT5uLmJ1ZmZlcmVkW2hdJiYoaD09PWstMT92PTI6aD09PWstMiYmYltoKzFdPm4uYnVmZmVyZWRbaCsxXSYmKHY9MykpfW4uTi5hZGQoVzw8M3woRCYmNCl8dik7Vz1NYXRoLmNlaWwobi50cmFjay5sNSgpKjFFMyk7bi5OLmFkZChXLW4uaik7bi5qPVc7aWYodj09PTEpZm9yKG4uTi5hZGQoayksVz0wLGg9MDtoPGs7aCsrKW4uTi5hZGQoYltoXS1XKSxXPWJbaF07dj09PTMmJm4uTi5hZGQoYltrLTJdLW4uYnVmZmVyZWRbay0yXSk7dj49MiYmbi5OLmFkZChiW2stCjFdLW4uYnVmZmVyZWRbay0xXSk7RCYmbi5OLmFkZChEKTtuLmJ1ZmZlcmVkPWJ9OwpUN2I9ZnVuY3Rpb24obixXLEQsYix2KXtpZighYi5hWilyZXR1cm4gRC5sZW5ndGg9PT0wP0QucHVzaChiLmNsb25lKCkpOihuPShXPUQucG9wKCkpP2Q2cihuLFcsYik6bnVsbCk/RC5wdXNoKG4pOkQucHVzaChiLmNsb25lKCkpLHY7KEQ9KEQ9RC5wb3AoKSk/ZDZyKG4sRCxiKTpudWxsKXx8KEQ9Yik7aWYoRC5OKXJldHVybiBuLmxvZ2dlciYmbi5sb2dnZXIoe2luY29tcGxldGVTZWdtZW50OkQuZ2EoKX0pLHY7dmFyIHtmb3JtYXRJZDprLGokOmgsc3RhcnRUaW1lTXM6eCxjbGlwSWQ6TCxyOTplfT17Zm9ybWF0SWQ6Zy5WZihELlBKLmluZm8sbi5LdS56VyksaiQ6RC5qJCtuLlgsc3RhcnRUaW1lTXM6RC5zZWdtZW50U3RhcnRUaW1lKjFFMyxjbGlwSWQ6RC5jbGlwSWQscjk6RC5XKjFFM307Yj17Y2xpcElkOkwsZm9ybWF0SWQ6ayxzdGFydFRpbWVNczp4LGR1cmF0aW9uTXM6ZSxBQzpoLGk5Omh9O3Y9ejdVKFcsYi5zdGFydFRpbWVNcyk7RD12Pj0wP1dbdl06bnVsbDt2YXIgRzsKaWYoRz1EKXtHPWI7dmFyIHI9dixOPUQuc3RhcnRUaW1lTXMrRC5kdXJhdGlvbk1zLEg9Ry5zdGFydFRpbWVNcytHLmR1cmF0aW9uTXM7aWYoRy5zdGFydFRpbWVNcy1OPm4uTilHPSExO2Vsc2UgaWYobFFoKG4sRC5mb3JtYXRJZCxHLmZvcm1hdElkKSlELmR1cmF0aW9uTXM9TWF0aC5tYXgoTixIKS1ELnN0YXJ0VGltZU1zLEQuaTk9TWF0aC5tYXgoRC5pOSxHLmk5KSxHPSEwO2Vsc2UgaWYoTWF0aC5hYnMoRC5zdGFydFRpbWVNcy1HLnN0YXJ0VGltZU1zKTw9bi5OKWlmKEQuZHVyYXRpb25Ncz5HLmR1cmF0aW9uTXMrbi5OKXtyPUQuZm9ybWF0SWQ7dmFyIEE9RC5BQyx5PUQuaTk7RC5mb3JtYXRJZD1HLmZvcm1hdElkO0QuZHVyYXRpb25Ncz1HLmR1cmF0aW9uTXM7RC5BQz1HLkFDO0QuaTk9Ry5pOTtHLmZvcm1hdElkPXI7Ry5zdGFydFRpbWVNcz1IO0cuZHVyYXRpb25Ncz1OLUg7Ry5BQz1BO0cuaTk9eTtHPSExfWVsc2UgRC5mb3JtYXRJZD1HLmZvcm1hdElkLEc9ITA7ZWxzZSBOPgpHLnN0YXJ0VGltZU1zJiYoTj5IJiYoVy5zcGxpY2UocisxLDAse2Zvcm1hdElkOkQuZm9ybWF0SWQsc3RhcnRUaW1lTXM6SCxkdXJhdGlvbk1zOk4tSCxBQzpHLmk5KzEsaTk6RC5pOX0pLG4ubG9nZ2VyJiZuLmxvZ2dlcih7c3BsaXRPbGRTdGFydDpELnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0T2xkRW5kOk4/LnRvRml4ZWQoMyksc3BsaXROZXdTdGFydDpHLnN0YXJ0VGltZU1zPy50b0ZpeGVkKDMpLHNwbGl0TmV3RW5kOkg/LnRvRml4ZWQoMyl9KSksRC5kdXJhdGlvbk1zPUcuc3RhcnRUaW1lTXMtRC5zdGFydFRpbWVNcyxELmk5PUcuQUMtMSksRz0hMX1HP2I9RDoodis9MSxXLnNwbGljZSh2LDAsYikpO0Q9MDtmb3IoRz12KzE7RzxXLmxlbmd0aDtHKyspe049bjtIPVdbR107cj1iO0E9SC5zdGFydFRpbWVNcytILmR1cmF0aW9uTXM7eT1yLnN0YXJ0VGltZU1zK3IuZHVyYXRpb25Nczt5Pj1BK04uTj9OPSEwOnkrTi5OPEguc3RhcnRUaW1lTXM/Tj0hMTpsUWgoTixILmZvcm1hdElkLApyLmZvcm1hdElkKT8oci5kdXJhdGlvbk1zPUEtci5zdGFydFRpbWVNcyxyLmk5PUguaTksTj0hMCk6KEguc3RhcnRUaW1lTXM9eSxILkFDPXIuaTkrMSxOPSExKTtpZighTilicmVhaztEKyt9RCYmVy5zcGxpY2UodisxLEQpO3JldHVybiB2fTsKZDZyPWZ1bmN0aW9uKG4sVyxEKXtpZighYlQoVyxEKXx8Vy5hWilyZXR1cm4gbnVsbDtQXyhXLEQsbi5wb2xpY3kuZUspO3JldHVybiBXfTsKejdVPWZ1bmN0aW9uKG4sVyl7bj1nLlc0KG4se3N0YXJ0VGltZU1zOld9LChELGIpPT5ELnN0YXJ0VGltZU1zLWIuc3RhcnRUaW1lTXMpOwpyZXR1cm4gbj49MD9uOi1uLTJ9OwpqU1o9ZnVuY3Rpb24obixXLEQpe2lmKG4ubG9nZ2VyKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PFcubGVuZ3RoO3YrKyl7bGV0IGs9V1t2XTtrLkVqPy5zdGFydFRpY2tzJiZiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X3Bzc3QuJHtrLkVqPy5zdGFydFRpY2tzfV9wc2QuJHtrLkVqPy5sOH1gKTtiLnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9bi5sb2dnZXIoe3A6YCR7RH1gLGJyOmIuam9pbigiOyIpfSl9fTsKYlM9ZnVuY3Rpb24obixXLEQ9ITEpe2lmKG4uUUUpe3ZhciBiPW4uUUUuWkYoKTtpZihiLmxlbmd0aCE9PTApe2lmKG4uVyYmVyl7dmFyIHY9bi5XLGs9di5YOyFCUihiLGspJiZ2Lks+MCYmKDAsZy5SKSgpLW4uSzw1RTMmJihuLmxvZ2dlciYmbi5sb2dnZXIoe2RlbmQ6di5nYSgpfSksYj1qRyhiLGssaysuMDEpKX12PVtdO2Zvcih2YXIgaD1rPTA7azxiLmxlbmd0aCYmaDxuLmVXLmxlbmd0aDspe3ZhciB4PWIuc3RhcnQoayk7bGV0IE49Yi5lbmQoayk7dmFyIEw9bi5lV1toXS5zdGFydFRpbWVNcy8xRTM7bGV0IEg9KG4uZVdbaF0uc3RhcnRUaW1lTXMrbi5lV1toXS5kdXJhdGlvbk1zKS8xRTM7aWYoTDw9TiYmSD49eCl7bGV0IEE9ey4uLm4uZVdbaF19O3ZhciBlPW4uS3UuSi5nZXQoTWsobi5lV1toXS5mb3JtYXRJZCkpLEc9TWF0aC5tYXgoTCx4KTt4PWUuaW5kZXguUjMoRytuLk4vMUUzKTtMPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHgpO3ZhciByPXgrICsoTWF0aC5hYnMoTC1HKT4Kbi5OLzFFMyk7Rz1yK24uWDtyPWUuaW5kZXguZ2V0U3RhcnRUaW1lKHIpKjFFMztoIT09bi5KfHxXPyhBLkFDPUcsQS5zdGFydFRpbWVNcz1yKToobi5sb2dnZXImJm4ubG9nZ2VyKHtwRXZpY3Q6IjEiLG9nOkEuc3RhcnRUaW1lTXMsYWRqOkwqMUUzfSksQS5BQz14K24uWCxBLnN0YXJ0VGltZU1zPUwqMUUzKTt4PW4uVz8uV3x8MTE7IUQmJmg9PT1uLkomJk48SCYmSC1OPD14KjEuMDEmJiEobi5wb2xpY3kuU3cmJm4uUUUmJm4uUUUueXUoKSkmJihOPUgpO3g9TWF0aC5taW4oSCxOKTtMPWUuaW5kZXguUjMoeC1uLk4vMUUzKTtHPWUuaW5kZXguakUoTCk7TC09KyhNYXRoLmFicyhHLXgpPm4uTi8xRTMpO3g9TCtuLlg7ZT1lLmluZGV4LmpFKEwpKjFFMztBLmk5PXg7QS5kdXJhdGlvbk1zPWUtQS5zdGFydFRpbWVNcztBLkFDPD1BLmk5JiZ2LnB1c2goQSl9SDxOP2grPTE6ays9MX1uLmVXPXZ9fX07CkNDTT1mdW5jdGlvbihuKXt2YXIgVz1bXSxEPW4uTTcubWFwKGs9PmsuY2xvbmUoKSk7Cm4uZVcuZm9yRWFjaChrPT57Vy5wdXNoKHsuLi5rfSl9KTsKdmFyIGI9bi5ELmYzKCksdj1uLko7Zm9yKGxldCBrIG9mIGIpdj1UN2IobixXLEQsayx2KTtXLmZvckVhY2goaz0+e2suc3RhcnRUaW1lTXMmJihrLnN0YXJ0VGltZU1zKz1uLnRpbWVzdGFtcE9mZnNldCoxRTMpfSk7CnJldHVybntlVzpXLE03OkR9fTsKbFFoPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gVy5pdGFnIT09RC5pdGFnfHxXLnh0YWdzIT09RC54dGFncz8hMTpuLkt1LnpXfHxXLmxtdD09PUQubG10fTsKdjY9ZnVuY3Rpb24obil7cmV0dXJue2Rvd25sb2FkZWRFbmRUaW1lOk1hdGgucm91bmQobi5kSD9uLmRILmo6MCksbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19Owp4Qz1mdW5jdGlvbihuLFc9ITEpeyFXfHxuLmluZGV4UmFuZ2UmJm4uaW5pdFJhbmdlJiZuLmRIfHxrQyhuLG5ldyBoMCgiV29mZmxlOiBFeHBlY3QgaXNGaW5hbCB0byBhbHdheXMgaGF2ZSBpbmRleFJhbmdlIGFuZCBpbml0UmFuZ2UgYW5kIGxhc3RTbGljZSIpKTtXPXtsbXQ6bi5OLmluZm8ubGFzdE1vZGlmaWVkLGRvY2lkOm4ucG9saWN5LkosZm10aWQ6bi5OLmluZm8uaWQsdHlwZTpuLk4uaW5mby5taW1lVHlwZS5zcGxpdCgiOyIpWzBdLGNzejpuLmNodW5rU2l6ZSxjbGVuOm4uVypuLmNodW5rU2l6ZStuLkp9O24uY3J5cHRvJiYoVy5jaz1uLlksVy5jaXY9bi5LKTtXPSJsb2NhbDovL2xvY2FsaG9zdC92aWRlb3BsYXliYWNrPyIrZy5FdChXKTtXPXtpdGFnOituLk4uaW5mby5pdGFnLG1pbWVUeXBlOm4uTi5pbmZvLm1pbWVUeXBlLGJpdHJhdGU6bi5OLmluZm8uTnMqOCxsYXN0TW9kaWZpZWQ6U3RyaW5nKG4uTi5pbmZvLmxhc3RNb2RpZmllZCksaW5pdFJhbmdlOm4uaW5pdFJhbmdlPy5OKCksCmluZGV4UmFuZ2U6bi5pbmRleFJhbmdlPy5OKCksdXJsOld9O3ZhciBEPW4uTi5pbmZvLko7RCYmKFcueHRhZ3M9RCk7aWYoRD1uLk4uaW5mby52aWRlbylpZihXLnF1YWxpdHk9RC5xdWFsaXR5LFcucXVhbGl0eUxhYmVsPUQucXVhbGl0eUxhYmVsLFcud2lkdGg9RC53aWR0aCxXLmhlaWdodD1ELmhlaWdodCxEPUQuZnBzKVcuZnBzPUQ7aWYobj1uLk4uaW5mby5hdWRpbyl7aWYoRD1uLnNhbXBsZVJhdGUpVy5hdWRpb1NhbXBsZVJhdGU9U3RyaW5nKEQpO2lmKG49bi5udW1DaGFubmVscylXLmF1ZGlvQ2hhbm5lbHM9bn1yZXR1cm4gV307CkxyPWZ1bmN0aW9uKG4sVyxEPSExKXtXLnRoZW4oYj0+e24uTy5kZWxldGUoVyk7KER8fGI9PT00KSYmbi5WLnJlc29sdmUoYil9LGI9PntuLlYucmVqZWN0KGIpfSl9OwplcT1mdW5jdGlvbihuKXtyZXR1cm4hIW4uZEgmJm4uZEguVigpfTsKa0M9ZnVuY3Rpb24obixXKXtlJChuLnBvbGljeS5KKSE9PTQmJihnNihuLnBvbGljeS5KLDQpLGcuR3EoVyksbi5WLnJlamVjdChuZXcgaDAoVy5tZXNzYWdlKSkpfTsKQjdiPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPXRSKFcuSik7aWYobi5XPG4uWCl7RD1uLlgqbi5jaHVua1NpemUtKChXLmluZm8ucmFuZ2U/LnN0YXJ0fHwwKStXLmluZm8uTik7aWYoRD49Yi5sZW5ndGgpcmV0dXJuO2lmKEQ8MCl0aHJvdyBFcnJvcigiTWlzc2luZyBkYXRhIik7bi5XPW4uWDtuLko9MH1mb3IoO0Q8Yi5sZW5ndGg7KXt2YXIgdj1NYXRoLm1pbihiLmxlbmd0aC1ELG4uai5ieXRlTGVuZ3RoLW4uSik7bGV0IGs9bmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0K0Qsdik7bi5qLnNldChrLG4uSik7bi5KKz12O0QrPXY7aWYobi5KPT09bi5qLmxlbmd0aCl7aWYoVy5pbmZvPT09bi5kSCYmZXEobikmJkQ9PT1iLmxlbmd0aClicmVhazt2PXY2KG4pO3Y9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSx2LG4ucG9saWN5LmJkLG4uVyxuLmosbi5jcnlwdG8pO24uTy5hZGQodik7THIobix2KTtuLnFOKCl8fCh2PXY2KG4pLG4uYmQoeEMobiksdiE9PXZvaWQgMD8KKHYuZG93bmxvYWRlZEVuZFRpbWV8fDApKnYuYXZlcmFnZUJ5dGVSYXRlOnYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlLHYubWF4S25vd25FbmRUaW1lKnYuYXZlcmFnZUJ5dGVSYXRlKSk7bi5qPW5ldyBVaW50OEFycmF5KG4uY2h1bmtTaXplKTtuLko9MDtuLlcrPTF9fX07CndTVT1mdW5jdGlvbihuKXtpZihlcShuKSlpZihuLmRIJiZuLmluZGV4UmFuZ2UpaWYobi5KKXt2YXIgVz1uZXcgVWludDhBcnJheShuLmouYnVmZmVyLDAsbi5KKSxEPUYkeChuKSxiPW4ucG9saWN5Lko7UHJvbWlzZS5hbGwobi5PKS50aGVuKCgpPT57dmFyIHY9dHgoYixuLmRILlBKLmluZm8seEMobiwhMCksRCxuLnBvbGljeS5iZCxuLlcsVyxuLmNyeXB0byk7THIobix2LCEwKX0pfWVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGFsd2F5cyByZS1tYXJrIGN1cnJlbnRDaHVua09mZnNldCBhdCBFT1MiKSk7CmVsc2Uga0MobixuZXcgaDAoIldvZmZsZTogRXhwZWN0IGF0IEVPUyB0byBhbHdheXMgaGF2ZSBsYXN0U2xpY2Ugb3IgaW5kZXhSYW5nZSIpKX07Cmd1PWZ1bmN0aW9uKG4sVyl7aWYoIWVxKG4pJiYhbi5xTigpKXtpZighKG4udHd8fChuLnR3PSEwLG4uWD4wKSkpe3ZhciBEPXY2KG4pO0Q9dHgobi5wb2xpY3kuSixuLk4uaW5mbyx4QyhuKSxELG4ucG9saWN5LmJkKTtMcihuLEQpfWlmKFcuaW5mby50eXBlPT09MSl7aWYobi5kSCl7a0MobixFcnJvcigiV29mZmxlOiBFeHBlY3QgSU5JVCBzbGljZXMgdG8gYWx3YXlzIHN0YXJ0IHVzIG9mZiIpKTtyZXR1cm59bi5pbml0UmFuZ2U9V18oMCxXLkoudG90YWxMZW5ndGgpfWVsc2UgaWYoVy5pbmZvLnR5cGU9PT0yKW4uZEgmJm4uZEgudHlwZT09PTF8fGtDKG4sRXJyb3IoIldvZmZsZTogSW5kZXggYmVmb3JlIGluaXQiKSksbi5pbmRleFJhbmdlPVdfKG4uaW5pdFJhbmdlLmVuZCsxLFcuSi50b3RhbExlbmd0aCk7ZWxzZSBpZihXLmluZm8udHlwZT09PTMpe2lmKCFuLmRIKXtrQyhuLEVycm9yKCJXb2ZmbGU6IEV4cGVjdCBNRURJQSBzbGljZXMgdG8gYWx3YXlzIGhhdmUgbGFzdFNsaWNlIikpOwpyZXR1cm59aWYobi5kSC50eXBlPT09MyYmIWJUKG4uZEgsVy5pbmZvKSYmKG4uRD1bXSxXLmluZm8uaiQhPT1nayhuLmRIKXx8Vy5pbmZvLk4hPT0wKSlyZXR1cm47aWYoVy5pbmZvLmFaKXtmb3IobGV0IGIgb2Ygbi5EKUI3YihuLGIpO24uRD1bXX1lbHNle24uRC5wdXNoKFcpO24uZEg9Vy5pbmZvO3JldHVybn19ZWxzZXtrQyhuLEVycm9yKCJXb2ZmbGU6IFVuZXhwZWN0ZWQgc2xpY2UgdHlwZSIpKTtyZXR1cm59bi5kSD1XLmluZm87QjdiKG4sVyk7d1NVKG4pfX07CkYkeD1mdW5jdGlvbihuKXtyZXR1cm57ZG93bmxvYWRlZEVuZFRpbWU6LTEsbWF4S25vd25FbmRUaW1lOk1hdGgucm91bmQobi5OLmluZGV4LmJRKCkpLGF2ZXJhZ2VCeXRlUmF0ZTpNYXRoLnJvdW5kKG4uTi5pbmZvLlhuKX19OwpNdlM9ZnVuY3Rpb24obil7bj1nLmVQKG4sMTg4NjYxNDM3Nik7Zm9yKGxldCBXIG9mIG4pO3JldHVybiBnLmlfKG4sVz0+b3IoVykpfTsKUjdVPWZ1bmN0aW9uKG4pe3ZhciBXPWcudV8obiwoYix2KT0+Yit2Lmxlbmd0aCwwKTsKVz1uZXcgVWludDhBcnJheShXKTt2YXIgRD0wO2ZvcihsZXQgYiBvZiBuKVcuc2V0KGIsRCksRCs9Yi5sZW5ndGg7cmV0dXJuIFd9OwpWdnQ9ZnVuY3Rpb24obil7YTp7dmFyIFc9bi5pbml0RGF0YTt0cnl7dmFyIEQ9MDtsZXQgdj1uZXcgRGF0YVZpZXcoVy5idWZmZXIpO2Zvcig7RDx2LmJ5dGVMZW5ndGgtODspe2xldCBrPXYuZ2V0VWludDMyKEQpO2lmKGs8PTEpYnJlYWs7aWYodi5nZXRVaW50MzIoRCs0KSE9PTE4ODY2MTQzNzYpe0QrPWs7Y29udGludWV9bGV0IGg9MzI7aWYodi5nZXRVaW50OChEKzgpPjApe2xldCBMPXYuZ2V0VWludDMyKEQrMjgpO2grPUwqMTYrNH1sZXQgeD12LmdldFVpbnQzMihEK2gtNCk7dHJ5e2xldCBMPVFTeChXLnN1YmFycmF5KEQraCxEK2greCkpO2lmKEwhPT1udWxsKXt2YXIgYj1MO2JyZWFrIGF9fWNhdGNoKEwpe31EKz1rfWI9bnVsbDticmVhayBhfWNhdGNoKHYpe2I9bnVsbDticmVhayBhfWI9dm9pZCAwfWlmKGIhPW51bGwpe1c9dTQoaVcoYiw3LHZvaWQgMCxmbikpO1c9PW51bGx8fG4ucUh8fChuLmNyeXB0b1BlcmlvZEluZGV4PVcpO1c9dTQoaVcoYiwxMCx2b2lkIDAsZm4pKTsKVyE9bnVsbCYmVz4wJiYhbi5xSCYmKG4uTj1XKTtmb3IobGV0IHYgb2YgZy5CSChiLDIsTUUsdm9pZCAwPT09RyQ/Mjo0KSliPW4uSixXPWIucHVzaCxEPVZsKHYpLEQ9Zy5FQShELDQpLFcuY2FsbChiLEQpfX07CmNraj1mdW5jdGlvbihuKXtyZXR1cm4gaXNOYU4obi5jcnlwdG9QZXJpb2RJbmRleCk/Zy5FQShuLmluaXREYXRhKTpgJHtuLmNyeXB0b1BlcmlvZEluZGV4fWB9OwpYMD1mdW5jdGlvbihuKXtpZihuLm9mZnNldD49bi5KLnRvdGFsTGVuZ3RoKXRocm93IEVycm9yKCk7cmV0dXJuIHJkKG4uSixuLm9mZnNldCsrKX07CmFRUz1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPVgwKG4pO2lmKEQ9PT0xKXtXPS0xO2ZvcihEPTA7RDw3O0QrKyl7dmFyIGI9WDAobik7Vz09PS0xJiZiIT09MjU1JiYoVz0wKTtXPi0xJiYoVz1XKjI1NitiKX1yZXR1cm4gV31iPTEyODtmb3IobGV0IHY9MDt2PDYmJmI+RDt2KyspRD1EKjI1NitYMChuKSxiKj0xMjg7cmV0dXJuIFc/RDpELWJ9OwpuZng9ZnVuY3Rpb24obil7dHJ5e2xldCBXPWFRUyhuLCEwKSxEPWFRUyhuLCExKTtyZXR1cm57aWQ6VyxzaXplOkR9fWNhdGNoKFcpe3JldHVybntpZDotMSxzaXplOi0xfX19OwpETjE9ZnVuY3Rpb24obil7Zm9yKHZhciBXPW5ldyBXeWoobiksRD0tMSxiPTAsdj0wOyFifHwhdjspe2xldCB7aWQ6ayxzaXplOmh9PW5meChXKTtpZihrPDApcmV0dXJuO2lmKGs9PT0xNzYpe2lmKGghPT0yKXJldHVybjtiPVcuTigpfWVsc2UgaWYoaz09PTE4Nil7aWYoaCE9PTIpcmV0dXJuO3Y9Vy5OKCl9az09PTM3NDY0ODQyNz9EPVcuTigpK2g6ayE9PTQwODEyNTU0MyYmayE9PTE3NCYmayE9PTIyNCYmVy5za2lwKGgpfVc9JE0obiwwLEQpO0Q9bmV3IERhdGFWaWV3KFcuYnVmZmVyKTtELnNldFVpbnQxNihiLDM4NDApO0Quc2V0VWludDE2KHYsMjE2MCk7Yj1uZXcgUzUoW1ddKTtlNShiLG4pO3JldHVybiBifTsKYndDPWZ1bmN0aW9uKCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoMTY0RTQpO2ZvcihsZXQgVz0wO1c8bi5sZW5ndGg7Vys9NjU1MzYpY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuLnN1YmFycmF5KFcsTWF0aC5taW4oVys2NTUzNixuLmxlbmd0aCkpKTtuZXcgUzUoW25dKX07CnEyPWZ1bmN0aW9uKG4pe24uYm4/LmRpc3Bvc2UoKTtuLmJuPW51bGx9OwpHWj1mdW5jdGlvbihuLFcpe1c9e3JzdDRkaXNjOlcsY2Q6bi5UOC50b0ZpeGVkKDMpLHNxOm4ubTE/bi5tMS5qJDotMX07bi5acT1OYU47bi5UOD0wO24uc0w9LTE7bi5tMT1udWxsO24uaWg9TmFOO24uWXA9TmFOO24uU0Y9bnVsbDtuLmxvYWRlci5VKCJtZHN0bSIsVyl9Owp0MD1mdW5jdGlvbihuKXtuLmJSPW51bGw7bi5FZz0tMTtuLlZwPTA7bi5qaz1udWxsO24uTDE9TmFOO24uWUU9MDtuLkwyPW51bGx9OwokQz1mdW5jdGlvbihuLFcpe2lmKFcuaW5mby5hWil7bi5JOT1XLmluZm87aWYobi5qayl7dmFyIEQ9bi5qayxiPXZmdChuLCExKTtEPWtkVShEKTtuLmxvYWRlci5SMChuLlBKLGIsRCk7bi5wb2xpY3kuZUsmJlpKKFcuaW5mbyxiKTtuLkwyfHxuLnBvbGljeS5lVnx8bi5WaSgpO24uTDI9bnVsbH10MChuKX1uLmJuJiZndShuLmJuLFcpO2lmKGI9bi5XeCgpKWlmKGI9Yi5qKFcsbi5wb2xpY3kuQW0sbi5wb2xpY3kuZkIpKXtuLlZ3LnBvcCgpO24uVncucHVzaChiKTtyZXR1cm59bi5Wdy5wdXNoKFcpfTsKUUV3PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Zy5XUihXKTtpZihaTyhXLmluZm8uUEouaW5mbykmJlcuaW5mby5QSi5pbmZvLnZpZGVvLnByaW1hcmllcz09PSJidDIwMjAiKXt2YXIgYj1uZXcgdFkoRCk7JHgoYixbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0LDIxOTM2LDIxOTM3XSkmJihiPWIuc3RhcnQrYi5wb3MsRC5nZXRVaW50OChiKT09PTEyOSYmRC5nZXRVaW50OChiKzEpPT09MSYmRC5zZXRVaW50OChiKzEsOSkpfWI9Vy5pbmZvLlBKLmluZm87Yi5YKCkmJiFaTyhiKSYmKGI9Zy5XUihXKSwobmV3IHRZKGIpKS5PSigpLFl4KFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyMjRdLDIxOTM2LGIpKTtXLmluZm8uUEouaW5mby5mWSgpJiZRZihXLmluZm8uUEosRCk7Vy5pbmZvLlBKLmluZm8ucUgoKSYmVy5pbmZvLmZZKCkmJihEPWcuV1IoVyksKG5ldyB0WShEKSkuT0ooKSxZeChbNDA4MTI1NTQzLDM3NDY0ODQyNywxNzQsMjI0XSwzMDMyMCxEKSYmWXgoWzQwODEyNTU0MywzNzQ2NDg0MjcsCjE3NCwyMjRdLDIxNDMyLEQpKTtpZihuLnBvbGljeS54MCYmVy5pbmZvLlBKLmluZm8ucUgoKSl7Yj1nLldSKFcpO3ZhciB2PW5ldyB0WShiKTtpZigkeCh2LFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyOTYzN10pKXtEPU5rKHYsITApO3Y9di5zdGFydCt2LnBvcztmb3IodmFyIGs9MDtrPEQtMTtrKyspYi5zZXRVaW50OCh2K2ssMCk7Yi5zZXRVaW50OCh2K0QtMSwxKX19aWYobi5lUygpJiZnLlJCKFcuaW5mby5QSi5pbmZvKSl7RD1nLldSKFcpO2I9Zy5ucyhELDAsMTcwMTYwNjI2MCk7RD1nLm5zKEQsMCwxODM2NDc2NTE2KTtpZihiJiZEKXtiLnNraXAoMik7dmFyIGg9VUQoYik7az1FRChiKTtsZXQgeD1bXTt2PVtdO2xldCBMPVtdLGU9W107aWYoaClmb3IoaD0wO2g8azsrK2gpeC5wdXNoKGkzKGIpKSx2LnB1c2goaTMoYikpLEwucHVzaChVRChiKSksZS5wdXNoKFVEKGIpKTtlbHNlIGZvcihoPTA7aDxrOysraCl4LnB1c2goeUwoYikpLHYucHVzaCh5TChiKSksTC5wdXNoKFVEKGIpKSwKZS5wdXNoKFVEKGIpKTtiPXg7RD1nLmJMKEQpO0Q9bmV3IFJlaCh2WzBdL0QsYlswXS9EKX1lbHNlIEQ9bnVsbDtpZih2PUQpe2lmKGcuUkIoVy5pbmZvLlBKLmluZm8pKWZvcihEPWcuV1IoVyksaz1nLm5zKEQsMCwxNzAxMDgyMjI3KTtrOyliPWssYi50eXBlPTE5MzY0MTkxODQsYi5kYXRhLnNldFVpbnQzMihiLm9mZnNldCs0LDE5MzY0MTkxODQpLGs9Zy5ucyhELGsub2Zmc2V0K2suc2l6ZSwxNzAxMDgyMjI3KTtuLmYwPSEwO1cuaW5mby5QSi5WPXZ9fVcuaW5mby5QSi5XKCl8fFcuaW5mby5QSi5KfHxXLmluZm8uUEouaW5kZXhSYW5nZXx8RE8oVyl9OwpWSHg9ZnVuY3Rpb24obixXKXtpZihuLmlzRHJtKCkpe2lmKFcuaW5mby5QSi5pbmZvLnFIKCkpe3ZhciBEPW5ldyB0WShnLldSKFcpKTtpZigkeChELFs0MDgxMjU1NDMsMzc0NjQ4NDI3LDE3NCwyODAzMiwyNTE1MiwyMDUzMywxODQwMl0pKXt2YXIgYj1OayhELCEwKTtEPWIhPT0xNj9udWxsOlNQKEQsYil9ZWxzZSBEPW51bGw7Yj0id2VibSJ9ZWxzZSBXLmluZm8uTz1NdlMoZy5XUihXKSksRD1SN1UoVy5pbmZvLk8pLGI9ImNlbmMiO0QmJkQubGVuZ3RoJiYoRD1uZXcgcnUoRCxiKSxuLnBvbGljeS5QSCYmZy5SQihXLmluZm8uUEouaW5mbykmJihiPVpLWihnLldSKFcpKSkmJihELlVXPWIpLEQucUg9Vy5pbmZvLlBKLmluZm8ucUgoKSxXLk4mJlcuTi5jcnlwdG9QZXJpb2RJbmRleCYmKEQuY3J5cHRvUGVyaW9kSW5kZXg9Vy5OLmNyeXB0b1BlcmlvZEluZGV4KSxXLk4mJlcuTi5YJiYoRC5OPVcuTi5YKSxuLmxvYWRlci5XbihEKSl9fTsKY3JoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5iUjtXPU1hdGgubWluKFcsRC5KLnRvdGFsTGVuZ3RoKTtpZihXPT09RC5KLnRvdGFsTGVuZ3RoKXJldHVybiBuLmJSPW51bGwsRDtEPXZSKEQsVyk7bi5iUj1EWzFdO3JldHVybiBEWzBdfTsKRFgyPWZ1bmN0aW9uKG4sVyxEKXtpZihELmluZm8uUEouVygpKXtpZihuLmYwJiZhRXcoRCkpe1c9Zy5XUihEKTt2YXIgYj1nLm5zKFcsMCwxOTUzNjU4MjIyKTtpZihiKXtiLnNraXAoMSk7dmFyIHY9WmMoYik8PDE2fFVEKGIpLGs9diYxLGg9diY0O2lmKHYmMjU2KXtXPXYmNTEyO3ZhciB4PXYmMTAyNDt2Jj0yMDQ4O3ZhciBMPUVEKGIpO0w8Mnx8KGsmJmIuc2tpcCg0KSxoJiZiLnNraXAoNCksaz1FRChiKSxiLnNraXAoKEwtMSkqKDQrKFc/NDowKSsoeD80OjApKyh2PzQ6MCkpLTQpLGIuZGF0YS5zZXRVaW50MzIoYi5vZmZzZXQrYi5OLGspKX19fWlmKFc9bi5xOSYmbi5xOS5PNygpKWlmKFc9RC5pbmZvLmZZKCkpVz1YWihEKSx4PW4ucTksczQ/KGI9MS9XLFc9bi5WeihXKT49eC5WeigpK2IpOlc9bi5nZXREdXJhdGlvbigpPj14LmdldER1cmF0aW9uKCksVz0hVztXJiZhRXcoRCkmJihXPW4ucTksczQ/KGI9WFooRCkseD0xL2IsYj1uLlZ6KGIpLFc9Vy5WeigpK3gtYik6Vz1XLmdldER1cmF0aW9uKCktCm4uZ2V0RHVyYXRpb24oKSxXPTErVy9ELmluZm8uVyxXdyhnLldSKEQpLFcpKX1lbHNle2I9ITE7bi5qa3x8KEdpKEQpLEQuTiYmKG4uams9RC5OLGI9ITAsaz1ELmluZm8saD1ELk4uc2VnbWVudE51bWJlcixrLlk9InVwZGF0ZVdpdGhFbXNnIixrLmokPWgsaz1ELk4say5WJiZuLlBKLnR3KCFrLlYsImVtc2ciKSxrPUQuaW5mby5QSi5pbmZvLGg9Zy5XUihEKSxnLlJCKGspP0dqKGgsMTcwMTY3MTc4Myk6ay5xSCgpJiZZeChbNDA4MTI1NTQzXSwzMDc1NDQ5MzUsaCkpKTthOmlmKChrPWVHKEQsbi5wb2xpY3kuUFgpKSYmcSQoRCkpaD1uVHcobixEKSxuLlQ4Kz1oLGstPWgsbi5ZRSs9ayxuLlpxPW4ucG9saWN5LlNWP24uWnErazpOYU47ZWxzZXtpZihuLnBvbGljeS5Zcil7aWYoaD1MPW4ubG9hZGVyLnFhKGcua1goRCksMSksbi5acT49MCYmRC5pbmZvLnR5cGUhPT02KXtpZihuLnBvbGljeS5TViYmaXNOYU4obi5ZcCkpe2cuR3EobmV3IGcuUXgoIk1pc3NpbmcgZHVyYXRpb24gd2hpbGUgcHJvY2Vzc2luZyBwcmV2aW91cyBjaHVuayIsCkQuaW5mby5nYSgpKSk7bi5sb2FkZXIuaXNPZmZsaW5lKCkmJiFuLnBvbGljeS5UUXx8V2paKG4sRCxoKTtHWihuLCJtIik7YnJlYWsgYX12PUwtbi5acTt2YXIgZT12LW4uVDg7bGV0IEc9RC5pbmZvLmokLHI9bi5tMT9uLm0xLmokOi0xLE49bi5paCxIPW4uWXAsQT1uLnBvbGljeS5RJCYmdj5uLnBvbGljeS5RJCx5PU1hdGguYWJzKGUpPjEwLFQ9TWF0aC5hYnMobi5acS1oKTwxRS03O2lmKE1hdGguYWJzKGUpPjFFLTQpe24uSVMrPTE7bGV0IHo9bi5qaz8uSigpO2U9e2F1ZGlvOmAkeytuLmVTKCl9YCxzcTpHLnRvRml4ZWQoKSxzbGljZVN0YXJ0OkwsbGFzdFNxOnIudG9GaXhlZCgpLGxhc3RTbGljZVN0YXJ0Ok4sbGFzdFNsaWNlRHVyYXRpb246SCx0b3RhbERyaWZ0Oih2KjFFMykudG9GaXhlZCgpLHNlZ0RyaWZ0OihlKjFFMykudG9GaXhlZCgpLHNraXBSZXdyaXRlOmAkeysoQXx8eSl9YH07ej8ubGVuZ3RoJiYoZS5hZENwbj16WzBdKTtuLmxvYWRlci5oYW5kbGVFcnJvcigicW9lLmF2c3luYyIsCmUpO24uc0w9R31BfHx5fHxUfHwoaD1uLlpxKTtMPW5UdyhuLEQsTCk7ay09TDtuLlQ4PXYrTH19ZWxzZSBoPWlzTmFOKG4uWnEpP0QuaW5mby5zZWdtZW50U3RhcnRUaW1lOm4uWnE7V2paKG4sRCxoKSYmKG4uWUUrPWssbi5acT1oK2ssbi5wb2xpY3kuWmgmJm4uSVM+PW4ucG9saWN5LlpoJiYobi5JUz0wLG4ubG9hZGVyLkdtKHtyZXNldEZvclJld3JpdGVzOiJjb3VudCJ9KSkpfW4ubTE9RC5pbmZvO24uWXA9TE0oRCk7RC5XPj0wJiYobi5paD1ELlcpO2lmKGImJm4uamspe2I9dmZ0KG4sITApO1pKKEQuaW5mbyxiKTtuLmJSJiZaSihuLmJSLmluZm8sYik7Zm9yKHggb2YgVyluLnBvbGljeS5qJiZ4LmokIT09bi5qaz8uc2VnbWVudE51bWJlcnx8WkooeCxiKTsoRC5pbmZvLmFafHxuLmJSJiZuLmJSLmluZm8uYVopJiZELmluZm8udHlwZSE9PTZ8fChuLkwyPWIsbi5wb2xpY3kuVTE/KFc9a2RVKG4uamspLG4ubG9hZGVyLlIwKG4uUEosYixXKSk6KFc9bi5sb2FkZXIsVy5LdS5pc01hbmlmZXN0bGVzcyYmCk4yKFcsYixudWxsLCEhbi5QSi5pbmZvLnZpZGVvKSksbi5wb2xpY3kuZVZ8fG4uVmkoKSl9fVZIeChuLEQpO24udGltZXN0YW1wT2Zmc2V0JiZ4WChELG4udGltZXN0YW1wT2Zmc2V0KX07CnZmdD1mdW5jdGlvbihuLFcpe3ZhciBELGI9bi5qaztpZihEPVRfKGIpKUQuc3RhcnRTZWNzKz1uLkwxO3ZhciB2PW4uTDEsaz0wO24uUEogaW5zdGFuY2VvZiBkdCYmKGs9bi5QSi5yYik7cmV0dXJuIG5ldyBSNChiLnNlZ21lbnROdW1iZXIsdixXP2s6bi5ZRSxiLmluZ2VzdGlvblRpbWUsYHNxLyR7Yi5zZWdtZW50TnVtYmVyfWAsdm9pZCAwLHZvaWQgMCxXLEQsbi5wb2xpY3kueUg/Yi5OOm51bGwpfTsKa2RVPWZ1bmN0aW9uKG4pe3JldHVybiBuLmZLKCk/bmV3IHByKENnKG4pLG4uSigpLEJBKG4pLEZwKG4pLHdGKG4pLGcuTWQobiksZy5ScihuKSk6bnVsbH07Cm5Udz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtpZihXLmluZm8uUEouaW5mby5xSCgpJiYhcSQoVykpcmV0dXJuIDA7aWYobi5xOSYmIW4uZVMoKSl7bGV0IGU9MDtEJiZnLlJCKFcuaW5mby5QSi5pbmZvKT9lPUQtbi5acTpXLmluZm8uUEouaW5mby5xSCgpJiYoZT1uLlQ4KTt2YXIgdj1XLmluZm8uaiQ7RD1lRyhXLG4ucG9saWN5LlBYKTtsZXQge1Y1OkcsVGo6cn09bi5xOS5iNCgpO3Y9dj09PUd8fHY+RyYmdj5uLnNMO3ZhciBrPU1hdGguYWJzKHItZSk+LjAyO2lmKG4ucG9saWN5LlJ0KXt2YXIgaD1NYXRoLmFicyhyLWUpO2lmKHYmJmg+bi5wb2xpY3kuUnQmJmg8MTApcmV0dXJuIG4ubG9hZGVyLkdtKHthdkRlc3luYzoiY291bnQifSksMH1pZihXLmluZm8uUEouaW5mby5xSCgpJiZuLnBvbGljeS5WZilyZXR1cm4gMDtpZih2JiZrKXtiPU1hdGgubWF4KC45NSxNYXRoLm1pbigxLjA1LChELShyLWUpKS9EKSk7aWYoZy5SQihXLmluZm8uUEouaW5mbykpV3coZy5XUihXKSxiKTsKZWxzZSBpZihXLmluZm8uUEouaW5mby5xSCgpJiYoaz1lLXIsIWcuUkIoVy5pbmZvLlBKLmluZm8pJiYoVy5pbmZvLlBKLmluZm8ucUgoKSxiPW5ldyB0WShnLldSKFcpKSx2PVcuVj9iOm5ldyB0WShuZXcgRGF0YVZpZXcoVy5pbmZvLlBKLkouYnVmZmVyKSksZUcoVywhMCkpKSl7dmFyIHg9ayoxRTMsTD1Lcyh2KTt2PWIucG9zO2IucG9zPTA7aWYoYi5OLmdldFVpbnQ4KGIucG9zKT09PTE2MHx8UHcoYikpaWYoc1koYiwxNjApKWlmKE5rKGIsITApLHNZKGIsMTU1KSl7aWYoaz1iLnBvcyxoPU5rKGIsITApLGIucG9zPWsseD14KjFFOS9MLEw9ZnMoYikseD1MK01hdGgubWF4KC1MKi43LE1hdGgubWluKEwseCkpLHg9TWF0aC5zaWduKHgpKk1hdGguZmxvb3IoTWF0aC5hYnMoeCkpLCEoTWF0aC5jZWlsKE1hdGgubG9nKHgpL01hdGgubG9nKDIpLzgpPmgpKXtiLnBvcz1rKzE7Zm9yKGs9aC0xO2s+PTA7ay0tKWIuTi5zZXRVaW50OChiLnBvcytrLHgmMjU1KSx4Pj4+PTg7Yi5wb3M9CnZ9fWVsc2UgYi5wb3M9djtlbHNlIGIucG9zPXY7ZWxzZSBiLnBvcz12fWI9ZUcoVyxuLnBvbGljeS5QWCk7Yj1ELWJ9YiYmVy5pbmZvLlBKLmluZm8ucUgoKSYmbi5sb2FkZXIuVSgid2VibUR1cmF0aW9uQWRqdXN0bWVudCIse2R1cmF0aW9uQWRqdXN0bWVudDpiLHZpZGVvRHJpZnQ6ZStiLGF1ZGlvRHJpZnQ6cn0pfXJldHVybiBifTsKV2paPWZ1bmN0aW9uKG4sVyxEKXtpZighaE0oVyxEKSlyZXR1cm4gVz1YeChXLmluZm8pLFcuc21zdD0iMSIsWUMobi5sb2FkZXIsV3x8e30pLCExO2lzTmFOKG4uTDEpJiYobi5MMT1EKTtyZXR1cm4hMH07CmFFdz1mdW5jdGlvbihuKXtyZXR1cm4gbi5pbmZvLlBKLlcoKSYmbi5pbmZvLmokPT09bi5pbmZvLlBKLmluZGV4LngkKCl9Owp2VFo9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwsZSl7dmFyIEc9Vy5leHBvcnRzLk1lZGlhU3RyZWFtX2dldEJhdGNoZWRTdHJlYW1FdmVudHMoRCk7aWYoRyl0cnl7dmFyIHI9Vy5tZW1vcnkuYnVmZmVyKEcsYio4OCk7bGV0IHk9bmV3IERhdGFWaWV3KHIuYnVmZmVyLHIuYnl0ZU9mZnNldCxiKjg4KSxUPVcubWVtb3J5LmhlYXAoKTtHPVtdO2ZvcihyPTA7cjxiO3IrKyl7bGV0IHo9bmV3IGIkQyh5LHIqODgsVyxUKTtHLnB1c2goe09mOnouT2YsYjM6ei5iMyxLOTp6Lks5LGx3OnoubHcsU2g6ei5TaCxnQzp6LmdDLHZXOnoudlcsR0s6ei5HSyxVVzp6LlVXLFckOnouVyQsZm9ybWF0SWQ6ei5mb3JtYXRJZCxyQzp6LnJDfSl9Yj12O2ZvcihsZXQgeiBvZiBHKXt6LmZvcm1hdElkJiZlJiYoYj1lKHouZm9ybWF0SWQpKTtsZXQgQz16Lk9mLFE9ei5iMyxWPXouSzksTHQ9ei5sdyx0aT16LlNoLEhaPXouZ0MsWjE9ei52VyxRaj16LkdLLE1pPXouVVcsTVU9ei5XJCxJQz16LmZvcm1hdElkLApJTT16LnJDO3N3aXRjaChIWil7Y2FzZSAxOmxldCBZbDt0cnl7bGV0IFVUPUpTT04ucGFyc2UoWjEpO1VUJiZ0eXBlb2YgVVQ9PT0ib2JqZWN0Ij9ZbD1VVDpZbD17cmVhc29uOlN0cmluZyhaMSl9fWNhdGNoKFVUKXtZbD17cmVhc29uOloxfX1ZQyhuLmxvYWRlcixZbCk7cmV0dXJuO2Nhc2UgMjpsZXQgajE7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCI/ajE9VVQ6ajE9e3JlYXNvbjpTdHJpbmcoWjEpfX1jYXRjaChVVCl7ajE9e3JlYXNvbjpaMX19ajEuYXZEZXN5bmMhPT12b2lkIDA/bi5sb2FkZXIuR20oajEpOm4ubG9hZGVyLmhhbmRsZUVycm9yKCJxb2UuYXZzeW5jIixqMSk7YnJlYWs7Y2FzZSAzOmxldCBUej1uZXcgcnUoUWosWjEpO01pLmxlbmd0aD4wJiYoVHouVVc9TWkpO01VIT09NDI5NDk2NzI5NSYmKFR6LmNyeXB0b1BlcmlvZEluZGV4PU1VKTtRPj0wJiYoVHouTj1RKTtUei5xSD1iLmluZm8/LnFIKCk/PyExO24ubG9hZGVyLlduKFR6KTsKYnJlYWs7Y2FzZSA0OmxldCBmaD1wUihRaiksT0k9UUwoZmgpO2lmKE9JKXtsZXQgVVQ9bmV3IFg1KE9JLFoxKTtuLk49VVQ7VVQuViYmYi50dz8uKCFVVC5WLCJlbXNnIik7bGV0IFBLPVRfKFVUKTtQSyYmKFBLLnN0YXJ0U2Vjcys9QyxuLmxvYWRlci5NZShiLFBLLFVULnNlZ21lbnROdW1iZXIsVVQuZksoKSkpfWJyZWFrO2Nhc2UgNzpsZXQgcEs7dHJ5e2xldCBVVD1KU09OLnBhcnNlKFoxKTtVVCYmdHlwZW9mIFVUPT09Im9iamVjdCImJihwSz1VVCl9Y2F0Y2goVVQpe31pZihwSyYmcEsucmVzZXRGb3JSZXdyaXRlcyE9PXZvaWQgMCl7bi5sb2FkZXIuR20ocEspO2JyZWFrfWlmKFoxLnN0YXJ0c1dpdGgoImRpc2NvbnRpbnVpdHlfIikpe24ubG9hZGVyLlUoIm1kc3RtIix7cnN0NGRpc2M6WjEuc3Vic3RyaW5nKDE0KSxjZDpDLnRvRml4ZWQoMyksc3E6U3RyaW5nKElNKX0pO2JyZWFrfWxldCBPej1aMS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIik7bi5sb2FkZXIuVSgic2xpY2Vfbm90X2Z1bGx5X3Byb2Nlc3NlZCIsCnttc2c6T3p9KTticmVhaztjYXNlIDg6bGV0IEJXO3RyeXtCVz1KU09OLnBhcnNlKFoxKX1jYXRjaChVVCl7bi5sb2FkZXIuVSgid2FzbV9qc29uX3BhcnNlX2Vycm9yIix7ZXY6SFoudG9TdHJpbmcoKX0pO2NvbnRpbnVlfXgoQlcpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLG4uVyk7YnJlYWs7Y2FzZSA5OmxldCBZRTt0cnl7WUU9SlNPTi5wYXJzZShaMSl9Y2F0Y2goVVQpe24ubG9hZGVyLlUoIndhc21fanNvbl9wYXJzZV9lcnJvciIse2V2OkhaLnRvU3RyaW5nKCl9KTtjb250aW51ZX1MKFlFKTtiLk4oKSYmayYmWkgobi5sb2FkZXIuS3UsYixuLlcpO2JyZWFrO2Nhc2UgMTA6dj1aMTtuLlc9djtJQyYmZSYmKGI9ZShJQykpO2IuSj1RajtoPy5KKFFqLHYpO2IuTigpJiZrJiZaSChuLmxvYWRlci5LdSxiLHYpO2JyZWFrO2Nhc2UgMTE6Yi5WPW5ldyBSZWgodGksVik7YnJlYWs7Y2FzZSAxNDpsZXQgWmk9bmV3IFI0KElNLEMsVixMdCxgc3EvJHtJTX1gLHZvaWQgMCx2b2lkIDAsCiExLG4uSixuLk4/Lk4pO3Y9bnVsbDtuLk4mJm4uTi5mSygpJiYodj1uZXcgcHIoQ2cobi5OKSxuLk4uSigpLEJBKG4uTiksRnAobi5OKSx3RihuLk4pLGcuTWQobi5OKSxnLlJyKG4uTikpKTtuLmxvYWRlci5SMChiLFppLHYpO2JyZWFrO2Nhc2UgMTU6bGV0IFdJPU51bWJlcihaMSk7aXNOYU4oV0kpfHxuLmxvYWRlci5wWj8uKFdJKTticmVhaztjYXNlIDY6bGV0IERBPW5ldyBSNChJTSxDLFYsTHQsYHNxLyR7SU19YCx2b2lkIDAsdm9pZCAwLCEwLG4uSixuLk4/Lk4pO2lmKG4ucG9saWN5Py5VMT8/ITApdj1udWxsLG4uTiYmbi5OLmZLKCkmJih2PW5ldyBwcihDZyhuLk4pLG4uTi5KKCksQkEobi5OKSxGcChuLk4pLHdGKG4uTiksZy5NZChuLk4pLGcuUnIobi5OKSkpLG4ubG9hZGVyLlIwKGIsREEsdik7ZWxzZXt2YXIgTj1uLmxvYWRlcjtOLkt1LmlzTWFuaWZlc3RsZXNzJiZOMihOLERBLG51bGwsISFiLmluZm8udmlkZW8pfWJyZWFrO2Nhc2UgMTI6dmFyIEg9bi5sb2FkZXI7dj0KYjt2YXIgQT1uZXcgUjQoSU0sQyxWLEx0LGBzcS8ke0lNfWAsdm9pZCAwLHZvaWQgMCwhMCxuLkosbi5OPy5OKTtILkt1LmlzTWFuaWZlc3RsZXNzJiZUeChILkt1LEEuaiQsISF2LmluZm8udmlkZW8pO2JyZWFrO2Nhc2UgNTpsZXQgcFY7dHJ5e3BWPUpTT04ucGFyc2UoWjEpfWNhdGNoKFVUKXtuLmxvYWRlci5VKCJ3YXNtX2pzb25fcGFyc2VfZXJyb3IiLHtldjpIWi50b1N0cmluZygpfSk7Y29udGludWV9cFYuc3RhcnRTZWNzKz1DO24uSj1wVjtuLmxvYWRlci5NZShiLHBWLElNLG4uTj8uZksoKT8/ITEpO2JyZWFrO2Nhc2UgMTM6UWYoYixuZXcgRGF0YVZpZXcoUWouYnVmZmVyLFFqLmJ5dGVPZmZzZXQsUWouYnl0ZUxlbmd0aCkpO2JyZWFrO2RlZmF1bHQ6bi5sb2FkZXIuVSgid2FzbV91bmtub3duX2V2Iix7ZXY6SFoudG9TdHJpbmcoKX0pfX19ZmluYWxseXtXLmV4cG9ydHMuTWVkaWFTdHJlYW1fY2xlYXJQZW5kaW5nRXZlbnRzKEQpfWVsc2UgVy5leHBvcnRzLk1lZGlhU3RyZWFtX2NsZWFyUGVuZGluZ0V2ZW50cyhEKX07Ckg2PWZ1bmN0aW9uKG4pe24uVWwmJihuLlVsLmRpc3Bvc2UoKSxuLlVsPW51bGwpO24uU0s9dm9pZCAwO24uWFY9dm9pZCAwfTsKSjQ9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9V15uO3ZhciBMOyhufDIpPj0yNyYmbisyPDMzJiYoTD1iKHYsayxoKSk7aWYoISgobnw0KT4+NCkpZm9yKEQ9KEQlYltJWzVdXStiW0lbNV1dKSViW0lbNV1dO0QtLTspYltJW3heNDM4NF1dKGJbSVt4XjQzODldXSgpKTtpZigobi0yfDU4KT49biYmKG4tOHwxNSk8bil7Zm9yKHZhciBlPXheNDY3NCxHPVtdOysrZS1HW0lbNV1dLSh4XjQ2NDIpOyl7c3dpdGNoKGUpe2Nhc2UgeF40Njk3OmU9eF40NjU0O2NvbnRpbnVlO2Nhc2UgeF40NzI5OmU9eF40Njc1O2JyZWFrO2Nhc2UgeF40Njc1OmUtPXheNDYyNDtjb250aW51ZTtjYXNlIHheNDY2NDplPXheNDcwNjtjb250aW51ZTtjYXNlIHheNDY1MjplPXheNDcwMX1HW0lbeF40NjI4XV0oU3RyaW5nW0lbeF40NjU2XV0oZSkpfUw9R31yZXR1cm4gTH07CmZyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qXygpLGI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0VHlwZShXKSx2PUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFNlZ051bShXKSxrPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldFN0YXJ0VGltZShXKSxoPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldER1cmF0aW9uKFcpLHg9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNFbmRPZlNlZ21lbnQoVykhPT0wLEw9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0U2xpY2VPZmZzZXQoVyksZT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TG10KFcpLEc9RC5leHBvcnRzLk1lZGlhU2xpY2VfaXNGYXN0U2Vla2FibGUoVykhPT0wLHI9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkKFcpLE49RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Q2xpcElkTGVuZ3RoKFcpLEg9RC5leHBvcnRzLk1lZGlhU2xpY2VfZ2V0Rm9ybWF0SWQoVyksQT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRGb3JtYXRJZExlbmd0aChXKSwKeT1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TWVkaWFTb3VyY2UoVyksVD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW4oVyksej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRSZXF1ZXN0VG9rZW5MZW5ndGgoVyksQz1ELm1lbW9yeS5oZWFwKCksUT0iIjtyJiZOPjAmJihRPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxyLE4pKS5yZXBsYWNlKC9cMC9nLCIiKSk7cj0iIjtIJiZBPjAmJihyPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxILEEpKS5yZXBsYWNlKC9cMC9nLCIiKSk7SD0iIjtUJiZ6PjAmJihIPWcuSEcobmV3IFVpbnQ4QXJyYXkoQyxULHopKS5yZXBsYWNlKC9cMC9nLCIiKSk7VD1yJiZuLkVlP24uRWUocik6bi5QSjtDPUQubWVtb3J5LmhlYXAoKTtBPUQuZXhwb3J0cy5NZWRpYVNsaWNlX2dldERhdGEoVyk7ej1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRMZW5ndGgoVyk7Qz1uZXcgUzUoWyhuZXcgVWludDhBcnJheShDLEEseikpLnNsaWNlKCldKTtBPQpELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50Qnl0ZVJhbmdlU3RhcnQoVyk7RD1ELmV4cG9ydHMuTWVkaWFTbGljZV9nZXRTZWdtZW50TGVuZ3RoQnl0ZXMoVyk7Vz12b2lkIDA7RD4wJiZULlcoKSYmKFc9V18oQSxEKSk7aHx8dHlwZW9mIFQucmIhPT0ibnVtYmVyInx8KGg9VC5yYik7Yj1uZXcgcUkoYixULFcsIndhc20iLHYsayxoLEwseix4LGUsUSxHLHksSCk7eD1uZXcgYjgoYixDKTtpZihuLnBvbGljeS5Zcnx8bi5wb2xpY3kuUyQpYj0hIWIuTiYmdj09PW4ueHAseC5XPWI/bi5tOTprLHguWD1iP24uenI6aCxifHwobi54cD12LG4ubTk9eC5XLG4uenI9eC5YKTtyZXR1cm4geH07CnlrPWZ1bmN0aW9uKG4pe24uaj0hMDtuLlBEPSEwO24uWD0tMTtQdShuLEluZmluaXR5KX07Cm1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLkopSjAobixXKTtuLko9W107bi5OPW51bGx9OwpLdj1mdW5jdGlvbihuLFcsRD0hMSl7aWYobi5RRSl7bGV0IGI9bi5RRS5aRigpLHY9RlooYixXKSxrPU5hTixoPUkkKG4pO2gmJihrPUZaKGIsaC5QSi5pbmRleC5nZXRTdGFydFRpbWUoaC5qJCkpKTtpZih2PT09ayYmbi5OJiZuLk4uSiYma1F3KFNxKG4pLDApKXJldHVybiBXfW49QTAobixXLEQpO3JldHVybiBuPj0wP246TmFOfTsKUHU9ZnVuY3Rpb24obixXLEQpe24uUEouTigpO3ZhciBiPUEwKG4sVyk7aWYoYj49MClyZXR1cm4gYjtuLlY/LmNKKFcsRCk7Vz1NYXRoLm1pbihXLG4uVy5McygpKTtuLk49bi5wb2xpY3kudHc/bnVsbDpuLlBKLksoVykuQXdbMF07bWQobikmJihuLnBvbGljeS5YWSYmRD8uc2Vla1NvdXJjZT09PTYwfHxuLlFFJiZuLlFFLmFib3J0KCksbi5wb2xpY3kucG8mJm4uVj8uWSgpKTtuLlMkPTA7cmV0dXJuIG4uTj9uLk4uc2VnbWVudFN0YXJ0VGltZTpXfTsKaVk9ZnVuY3Rpb24obil7cmV0dXJuIG4uVy5XMigpfTsKS3I9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSl7VyYmczQmJm4uVy5CVyhXLml3KCkpO0R8fG4uVj8uVigpO24uUUU9VztuLlY/LnR3KG4uUUUsYil9OwpJJD1mdW5jdGlvbihuKXtyZXR1cm4gbi5wb2xpY3kuZkM/bi5WPy5iZCgpfHxudWxsOm4uUUUmJm4uUUUuWmcoKX07Cmhacj1mdW5jdGlvbihuKXt2YXIgVz17fTtmb3IobGV0IEQ9MDtEPG4uTy5sZW5ndGg7RCsrKVdbYHIke0R9YF09bi5PW0RdO3JldHVybiBXfTsKTzQ9ZnVuY3Rpb24obixXKXtpc05hTihuLlkpfHxuLlUoImFzd3IiLHtzcTpXLmluZm8uQXdbMF0uaiQsaWQ6Vy5pbmZvLkF3WzBdLlBKLmluZm8uaXRhZyx4dGFnOlcuaW5mby5Bd1swXS5QSi5pbmZvLkosZXA6RGF0ZS5ub3coKS1uLll9KTtuLkoucHVzaChXKTtuLk49Zy5VTShXLmluZm8uQXcpO24uTy5wdXNoKFcuZ2EoKSk7bi5PLmxlbmd0aD40JiZuLk8uc2hpZnQoKX07CnhYQz1mdW5jdGlvbihuLFcpe2lmKFcuUUEoKSl7bGV0IEQ9Vy54OSgpO2ZvcihsZXQgYiBvZiBEKW4ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBTbiYmbi5VKCJvbWJsc3MiLHtzOmIuaW5mby5nYSgpfSksbi5XZyhXLmluZm8uQXcsYixXLlh2KCkpfX07CkxqVT1mdW5jdGlvbihuKXtuLkoubGVuZ3RoP24uTj1nLlVNKGcuVU0obi5KKS5pbmZvLkF3KTpuLlcuUkMoKT9uLk49bi5XLld4KCkuaW5mbzpuLk49SSQobil9OwpQNj1mdW5jdGlvbihuLFcpe3ZhciBEPXtlVzpbXSxCaTpbXX07cmV0dXJuIG4uVj8uTyhXKT8/RH07CkEwPWZ1bmN0aW9uKG4sVyxEPSExKXtpZighbi5OfHwhbi5OLkopcmV0dXJuIE5hTjtuPVNxKG4pO1c9ZVp0KG4sVysuMDIsRCk7cmV0dXJuIFc8MD9OYU46a1F3KG4sRD9XOjApP25bV10uc2VnbWVudFN0YXJ0VGltZTpOYU59OwptZD1mdW5jdGlvbihuKXtpZihuLlBKLmluZm8uSUI9PT0iZiJ8fG4ucG9saWN5LkomJm4uVy5vQygpKXJldHVybiEwO3ZhciBXPUkkKG4pO2lmKCFXKXJldHVybiExO3ZhciBEPVpkKFcpJiZXLmFaO3JldHVybiBuLmlzTWFuaWZlc3RsZXNzJiZuLnR3PjA/RHx8Vy5qJD49bi50dzpEfTsKWmQ9ZnVuY3Rpb24obil7cmV0dXJuIG4/bi5WKCk6ITF9OwpnVEM9ZnVuY3Rpb24obil7dmFyIFc9SSQobik7cmV0dXJuIFc/Vy5qLW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk6MH07ClU0PWZ1bmN0aW9uKG4sVyxELGIpe2lmKCFuLlBKLmluZGV4Lk1JKFcsITApKXJldHVybiExO3RyeXttaShuKTtuLlcuSzgoVyk7aWYobi5wb2xpY3kuTilyZXR1cm4gbi5OPW51bGwsITA7Yj5EP1B1KG4sYik6bi5OPW4uUEouaihXLTEsITEpLkF3WzBdfWNhdGNoKHYpe3JldHVybiBXPUIkKHYpLFcuZGV0YWlscy5yZWFzb249InJvbGxia2VyciIsbi5sb2FkZXIuaGFuZGxlRXJyb3IoVy5lcnJvckNvZGUsVy5kZXRhaWxzLFcuc2V2ZXJpdHkpLCExfXJldHVybiEwfTsKSjA9ZnVuY3Rpb24obixXLEQ9ITEpe24uY3EoVyxEKTtXLmRpc3Bvc2UoKX07Cmc3PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1XXm47aWYoISgobnw3KT4+NCkpe3ZhciB2PURbSVtiXjIzXV0oSVtiXjJdKSxrPXt9O2ZvcihsZXQgTD0wO0w8dltJWzVdXTtMKyspdmFyIGg9UjAoNixiXjczMjUsdixMLGspO3ZhciB4PWt9aWYoKG4tOV4yMSk8biYmbi03PDwxPj1uKWZvcih2PURbSVs1XV07djspRFtJW2JeNjMzM11dKERbSVszXV0oLS12LDEpWzBdKTtpZigobnw0MCk9PW4pe3Y9Yl45MDYyO2ZvcihrPVtdOysrdi1rW0lbNV1dLShiXjg5NjYpOyl7c3dpdGNoKHYpe2Nhc2UgYl44OTg4OnYtPWJeOUUzO2Nhc2UgYl45MDg1OmNhc2UgYl45MDgyOmNhc2UgYl45MDgzOmNvbnRpbnVlO2Nhc2UgYl45MDUzOnY9Yl44OTY5O2Nhc2UgYl45MDgwOmNhc2UgYl45MDgxOmNhc2UgYl45MDMwOmNvbnRpbnVlO2Nhc2UgYl44OTY4OnY9Yl45MDgxfWtbSVtiXjkwMDhdXShTdHJpbmdbSVtiXjg5ODBdXSh2KSl9eD1rfXJldHVybiB4fTsKeW89ZnVuY3Rpb24obil7dmFyIFc9bi5XLld4KCk7cmV0dXJuIFc/Vy5pbmZvOkkkKG4pfTsKRTQ9ZnVuY3Rpb24obixXKXt2YXIgRDtmb3IoRD0wO0Q8bi5KLmxlbmd0aCYmVyE9PW4uSltEXTtEKyspO2lmKEQ9PT1uLkoubGVuZ3RoKUowKG4sVyk7ZWxzZXtmb3IoO0Q8bi5KLmxlbmd0aDspSjAobixuLkoucG9wKCkpO3ZhciBiPXlvKG4pO2ImJmIuUEouRCgpJiZnLm9NKFcuaW5mby5Bdyx2PT4kTih2LGIpKT8obi5OPWIsbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6ImxzcCIsCmxzcDpiLmdhKCl9KSk6KHhOKFcuaW5mby5Bd1swXSk/KG4uTj1XLldvJiZXLldvLlc/VEQxKFcuV28uVyk6bER4KFcuaW5mby5Bd1swXSksbi5wb2xpY3kuVyYmbi5VKCJjZXIiLHtsc3I6bi5OLmdhKCksbHNwOmI/LmdhKCl9KSk6KG4uTj1udWxsLG4ucG9saWN5LlcmJm4uVSgiY2VyIix7bHNyOiJudWxsIixsc3A6Yj8uZ2EoKX0pKSxuLmxvYWRlci5pc09mZmxpbmUoKSYmIW4ucG9saWN5LlRRfHxKMChuLFcsITApKX19OwppUz1mdW5jdGlvbihuKXtyZXR1cm4gbWQobil8fFpkKG4uVy5XeCgpPy5pbmZvKX07ClNxPWZ1bmN0aW9uKG4pe3ZhciBXPVtdLEQ9SSQobik7RCYmVy5wdXNoKEQpO1c9Zy53eihXLG4uVy5mMygpKTtmb3IobGV0IGIgb2Ygbi5KKWZvcihsZXQgdiBvZiBiLmluZm8uQXcpYi5TMyYmKFc9Zy5FTShXLGs9PiF0SihrLHYpKSksKHhOKHYpfHx2LmNKKCkpJiZXLnB1c2godik7Cm4uTiYmIXpBMihuLk4sZy5VTShXKSxuLk4uUEouVygpKSYmVy5wdXNoKG4uTik7cmV0dXJuIFd9OwprUXc9ZnVuY3Rpb24obixXKXtpZighbi5sZW5ndGgpcmV0dXJuITE7Zm9yKFcrPTE7VzxuLmxlbmd0aDtXKyspaWYoIUx6KG5bVy0xXSxuW1ddKSlyZXR1cm4hMTtyZXR1cm4hMH07CmVadD1mdW5jdGlvbihuLFcsRD0hMSl7dmFyIGI9LTE7Zm9yKGxldCB2PTA7djxuLmxlbmd0aDsrK3Ype2xldCBrPW5bdl07aWYoay5YPD1XKWlmKEQpYj12O2Vsc2UgaWYoay5zZWdtZW50U3RhcnRUaW1lK2suVz49VylyZXR1cm4gdn1yZXR1cm4gYn07CnZhciBZalo9ZnVuY3Rpb24obixXKXtyZXR1cm4gTTNbSVsxMF1dKHRoaXMsMiw0OTA2LG4sVyl9Owp1Uz1mdW5jdGlvbihuKXtyZXR1cm4hKCFuLk58fG4uTi5QSj09PW4uUEopfTsKWDB0PWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbi5wb2xpY3kuTj9uLnpzKCEwKTxEOihuPXlvKG4pKSYmIVpkKG4pP24uaj5XJiZuLmo8VytEOiExfTsKZy5vJD1mdW5jdGlvbihuKXtuLlY/LlYoKTtuLmtJKCl9Owpxemg9ZnVuY3Rpb24obil7cmV0dXJuISFuLk4mJm4uTi5qJCE9PS0xJiZuLk4uaiQ8bi5QSi5pbmRleC5aTygpfTsKR1FiPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTjtXJiZXLmokPT09LTEmJihuPW4uVy5XeCgpKSYmeE4obi5pbmZvKSYmKG49bi5pbmZvLmokLFcuWT0idXBkYXRlTGFzdFNsaWNlUmVxdWVzdGVkIixXLmokPW4pfTsKdGRqPWZ1bmN0aW9uKG4pe3JldHVybiBnLm9NKG4uSixXPT5XLmZKKX07CiRYMT1mdW5jdGlvbihuLFcpe3ZhciBEPWlZKG4pO3JldHVybiBEJiZELmluZm8udHlwZSE9PTY/IVcuTyhuLEQuaW5mby5qJCk6ITF9OwpyeUM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgb2Ygbi5jSilpZihELnNlZ21lbnROdW1iZXI9PT1XKXJldHVybiBELnBWPzI6MTtyZXR1cm4gMH07Ck44Wj1mdW5jdGlvbih7aGFzU3ViZnJhZ21lbnRlZEZtcDQ6bj0hMSxJMjpXPSExfT17fSl7dmFyIEQ9bmV3IHNLaTtELnRJPW58fFc7cmV0dXJuIER9OwpkdT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OJiZuLkZlJiZuLnBsYXliYWNrU3RhcnRQb2xpY3l9OwpKa0M9ZnVuY3Rpb24obixXLEQ9ITEpe1cudmlkZW8ucXVhbGl0eU9yZGluYWw+MTA4MCYmIW4uV0gmJihuLmUkPTM2NzAwMTYwLG4udko9NTI0Mjg4MCxuLkhKPU1hdGgubWF4KDQxOTQzMDQsbi5ISiksbi5XSD0hMCk7Vy52aWRlby5xdWFsaXR5T3JkaW5hbD4yMTYwJiYhbi5iZSYmKG4uZSQ9MTA0ODU3NjAwLG4uTnM9MTMxMDcyMDAsbi5iZT0hMCk7Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSE9PTA/Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoInNhbXN1bmciKSYmKGcudWIoImthbnQiKXx8Zy51YigibXVzZSIpKSYmKG4uTnM9Zy5kTShuLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9zYW1zdW5nX2thbnRfbGltaXRfbWF4X2JpdHJhdGUiKSk6Vy5pc0VuY3J5cHRlZCgpJiZnLmQ4KCkmJmcudWIoImthbnQiKSYmKG4uTnM9MTMxMDcyMCk7bi55UCE9PTAmJlcuaXNFbmNyeXB0ZWQoKSYmKG4uTnM9bi55UCk7bi5KRyE9PQowJiZXLmlzRW5jcnlwdGVkKCkmJkQmJihuLk5zPW4uSkcpO1cuTnMmJihuLlFIPU1hdGgubWF4KG4uWm0sTWF0aC5taW4obi5ISiw1KlcuTnMpKSl9Owp6Wj1mdW5jdGlvbihuLFcsRD0wKXtyZXR1cm4gZy5kTShuLnlRLmV4cGVyaW1lbnRzLFcpfHxEfTsKbFM9ZnVuY3Rpb24obixXLEQsYil7bi5GZSYmKG4ucGxheWJhY2tTdGFydFBvbGljeT1XLG4uTTU9RCxuLkRDPWIpfTsKUjY9ZnVuY3Rpb24obixXKXtpZihXPDApcmV0dXJuITA7dmFyIEQ9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYhbi5zSnx8Vz09PUQmJihuPW4uT2coKSkmJlc9PT1uLmokPyEwOiExfTsKS2EyPWZ1bmN0aW9uKG4sVyxEKXtpZighUjYobixXKSlyZXR1cm4gMDtpZighbi50SXx8IWlzTmFOKEQpJiZEPjApcmV0dXJuIDI7aWYoVzwwKXJldHVybiAxO0Q9bi54JCgpO3JldHVybiBXPER8fFc9PT1EJiYobj1uLk9nKCkpJiZXPT09bi5qJCYmIW4ucGVuZGluZz8yOjF9OwpwMGI9ZnVuY3Rpb24obixXLEQpe2lmKCEoVy5YZiYmbi5pc0NvbXBsZXRlKCkmJm4uY2FuUmV0cnkoKSYmbi5pbmZvLlhiLnBTKFcsRCkpKXJldHVybiAwO3ZhciBiPW4uaW5mby5YYi5qO2lmKGImJiFXLmVuYWJsZVNhYnJQcm9iZU9uU2VydmVySW5pdGlhdGVkSG9zdEZhbGxiYWNrKXJldHVybiAwO249VVkoRCxGNShuLmluZm8uWGIsITEsVykpO3JldHVybiBiJiYoRD0oMCxnLlIpKCktbi5YLG4uWD4wJiZEPFcuc2FiclN1Y2Nlc3NmdWxQcm9iZVRpbWVvdXRNcyk/MDpuLmorVy5YZipsTChuLCEwLGIpPigwLGcuUikoKT8wOjF9OwpqcT1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kuem0pcmV0dXJuITE7dmFyIGI9bi5KQzt2YXIgdj1XLk4/LlRDKCl8fC0xO2IuSj09PTMmJnYrMT49Yi5YPyhiLlUoInNkYWkiLHtoYWx0cnE6disxLGVzdDpiLlh9KSxiPSExKTpiPWIuSiE9PTI7aWYoIWJ8fCEoVy5OP1cuTi5QSi5YYjpXLlBKLlhiKS5ZKG4ucG9saWN5LG4ubm4sbi5sb2FkZXIuSXcpfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmKCFUWihuLnNjaGVkdWxlKXx8bi5sb2FkZXIuT00pKXJldHVybiExO2lmKG4ucG9saWN5LkomJnFzPj01KXJldHVybiBnLkphKG4ubG9hZGVyLmoyKSwhMTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzKXtpZihXLkoubGVuZ3RoPjAmJlcuTiYmVy5OLmokPT09LTF8fFcuSi5sZW5ndGg+PW4ucG9saWN5LndvfHwhbi5wb2xpY3kuWE0mJlcuSi5sZW5ndGg+MCYmIW4ucG9saWN5LlYudEkpcmV0dXJuITE7aWYoVy5qKXJldHVybiFuLkt1LmlzTGl2ZXx8IWlzTmFOKG4uWkEpfWlmKHRkaihXKSlyZXR1cm4hMTsKaWYoIVcuTil7aWYoIVcuUEouTigpKXJldHVybiExO1B1KFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSl9aWYoaVkoVykmJihXLld4KCkhPT1pWShXKXx8bi5sb2FkZXIuaXNTdXNwZW5kZWQpKXJldHVybiExO3Y9KGI9bi5wb2xpY3kuc1MpJiYhVy5KLmxlbmd0aCYmVy56cyghMCk8TWF0aC5taW4oYixELnpzKCkpO2I9Vy5KLmxlbmd0aCtELkoubGVuZ3RoO3ZhciBrPShXLkoubGVuZ3RoP1cuSlswXS5ReSgpOiExKXx8KEQuSi5sZW5ndGg/RC5KWzBdLlF5KCk6ITEpfHxuLkt1LmlzTGl2ZTsodnx8aykmJi0tYjtpZihiKzE+PW4ucG9saWN5LkN5KXJldHVybiExO2I9Vy5OO2lmKCFiKXJldHVybiEwO2IuY0ooKSYmYi5QSi5OKCkmJihXLk49Zy5VTShiLlBKLlZRKGIpKSxiPVcuTik7aWYoIWIuVigpJiYhYi5QSi5YKGIpKXJldHVybiExO2s9bi5LdS5YZ3x8bi5LdS5pc1dpbmRvd2VkTGl2ZTtpZihuLkt1LmlzTWFuaWZlc3RsZXNzJiZrKXtrPVcuUEouaW5kZXgueCQoKTt2YXIgaD0KRC5QSi5pbmRleC54JCgpO2s9TWF0aC5taW4oayxoKTtpZihXLlBKLmluZGV4LlRYKCk+MCYmaz4wJiZiLmokPj1rKXJldHVybiBXLnR3PWssRC50dz1rLCExfWlmKGIuUEouaW5mby5hdWRpbyYmYi5jSigpfHxiLlYoKSlyZXR1cm4hMTtrPSFXLlBEJiYhRC5QRDtpZih2PSF2KXY9Yi5qLHY9ISEoRC5OJiYhWmQoRC5OKSYmRC5OLmo8dik7aD1XPT09bi52aWRlb1RyYWNrJiZuLnBvbGljeS5UQztyZXR1cm4gdiYmKCFuLkt1LmlzTWFuaWZlc3RsZXNzfHxELk4mJkQuTi5qJiZiLmopJiZrJiYhaHx8bi5wb2xpY3kuQlYmJiFXLlBEJiZELlBEPyExOnhOKGIpJiZiLmo+WXppKG4sVyk/KFl6aShuLFcpLCExKToobj1XLlFFKSYmbi5pc0xvY2tlZCgpPyExOiEwfTsKVm89ZnVuY3Rpb24obixXKXtIJGgobi5sb2FkZXIsVyk7dmFyIEQ9elAoVyksYj1uLmxvYWRlci5sdSgpO0Q9e2lqOm4uc2NoZWR1bGUsczQ6RCxCbDpmaXgobi5JZyxEKSxRbjpoSihXLkF3WzBdKSxkaXNhYmxlUmVjb3JkaW5nOmdaKDQwLDEyMTIsVy5YYi5OKSxORDpuLnBvbGljeS5XLEJlOih2LGspPT57bi5sb2FkZXIuS2EodixrKX19OwpuLnNjaGVkdWxlLkouViYmKEQucVk9KG4udmlkZW9UcmFjay5QSj8uaW5mby5Oc3x8MCkrKG4uYXVkaW9UcmFjay5QSj8uaW5mby5Oc3x8MCkpO24uaG4mJihELmokPVcuQXdbMF0uaiQsRC5aQT1XLlpBLEQuaG49bi5obik7Yj17Vzc6d0xVKFcsbi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKSksZTE6bi5wb2xpY3kuc1YmJnlzKFcpJiZXLkF3WzBdLlBKLmluZm8udmlkZW8/RWpaKG4uY1YpOnZvaWQgMCxTTjpuLnBvbGljeS5UQyxwb1Rva2VuOm4ubG9hZGVyLk1ZKCksVWo6bi5sb2FkZXIuVTQoKSxKTzppc05hTihuLkpPKT9udWxsOm4uSk8sYUk6bi5hSSxQbjpuLlBuLHEkOmJ9O3JldHVybiBuZXcgQUIobi5wb2xpY3ksVyxELG4ubm4sKHYsayk9Pnt0cnl7YTp7bGV0IE1pPXYuaW5mby5Bd1swXS5QSixNVT1NaS5pbmZvLnZpZGVvP24udmlkZW9UcmFjazpuLmF1ZGlvVHJhY2s7aWYoISh2LnN0YXRlPj0yKXx8di5pc0NvbXBsZXRlKCl8fHYuQWcoKXx8ISghbi5sb2FkZXIubWVkaWFTb3VyY2V8fApuLmxvYWRlci5pc1N1c3BlbmRlZHx8TVUuenMoKT4zKSl7e3ZhciBoPW4ucG9saWN5LHg9bi5ubjtsZXQgSUM9di5BZygpO2lmKHYuaXNDb21wbGV0ZSgpfHwhSUN8fHYuaW5mby5YYi5wUyhoLHgpKXZhciBMPTA7ZWxzZXt2YXIgZT1oLnpmO2lmKCFlfHxJQzxlKUw9MDtlbHNle3ZhciBHPVVZKHgsRjUodi5pbmZvLlhiLCEwLGgpKTtMPUcuTnx8Ry50aW1lZE91dHx8Ry5zdGFydGVkPzA6Mn19fUw9PT0xJiYobi5WPSEwKTtmckMobix2LEwpO2lmKHYuaXNDb21wbGV0ZSgpfHx2LnFOKCkmJms8Myl7aWYobi5wb2xpY3kuVyl7bGV0IElDPXYudGltaW5nLkQoKTtJQy5yc3Q9di5zdGF0ZTtJQy5zdHJtPXYueGhyLkdwKCk7SUMuY25jbD12LnhociYmdi50NS5YPzE6MDtuLmxvYWRlci5VKCJycXMiLElDKX12Lm9QJiZuLmxvYWRlci5VKCJzYndlMyIse30sITApfWlmKCFuLnFOKCkmJnYuc3RhdGU+PTIpe1hTaChuLnRpbWluZyx2LE1pKTt2YXIgcj1uLmxvYWRlcjtuLkpPJiZ2Lnp3JiYKciYmKG4uSk89TmFOLG4ubG9hZGVyLm45KHYuencpLG4ubG9hZGVyLk1qKCksbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWsiLHttZWRpYVRpbWVTZWNvbmRzOnYuend9KSk7di50ViYmbi5KTyYmdi50ViYmIXYudFYuYWN0aW9uJiYobi5sb2FkZXIud1Iobi5KTyksbi5KTz1OYU4sbi5sb2FkZXIuVSgiY2FiclV0Y1NlZWtGYWxsYmFjayIse3RhcmdldFV0Y1RpbWVTZWNvbmRzOm4uSk99KSk7di5BaCYmbi5sb2FkZXIuc1codi5BaCk7bi5wb2xpY3kuTmQmJihuLlBuPXYuUG4pO2lmKHYuc3RhdGU9PT0zKXtFNChNVSx2KTt5cyh2LmluZm8pJiZDcihuLE1VLE1pLCEwKTtpZihuLnNVKXtsZXQgSUM9di5pbmZvLllsKCk7SUMmJm4uc1UuWjUodi5pbmZvLkF3WzBdLmokLE1pLmluZm8uaWQsSUMpfW4ubG9hZGVyLkJZKCl9ZWxzZSBpZih2LmlzQ29tcGxldGUoKSYmdi5pbmZvLkF3WzBdLnR5cGU9PT01KXtpZih2LnN0YXRlIT09NCl2LnRuKCkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKHYuVkcoKSwKdi55MCgpKTtlbHNle3ZhciBOPSh2LmluZm8uQXdbMF0uUEouaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrKS5KWzBdfHxudWxsO04mJk4gaW5zdGFuY2VvZiBBQiYmTi5BZygpJiZOLk1CKCl9di5kaXNwb3NlKCl9ZWxzZXtpZighdi50bigpJiZ2LmZKJiZ2LnN0YXRlPj0yJiZ2LnN0YXRlIT09Myl7dmFyIEg9di54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIlgtUmVzcG9uc2UtSXRhZyIpO2lmKEgpe3ZhciBBPXlrcihuLmNWLEgpLHk9di5pbmZvLlc7aWYoeSl7dmFyIFQ9eS1BLkhKKCk7QS5jSj0hMDt2LmluZm8uQXdbMF0uUEouY0o9ITE7dmFyIHo9QS5ZKFQpO3YuaW5mbz16O2lmKHYuV28pe3ZhciBDPXYuV28sUT16LkF3OyhRLmxlbmd0aCE9PUMuQXcubGVuZ3RofHxRLmxlbmd0aDxDLmpTLmxlbmd0aCkmJmcuY18oImRhc2gvcmVxdWVzdCIsMjYwNTExMTE5LGAke1EubGVuZ3RofWAsYCR7Qy5Bdy5sZW5ndGh9YCxgJHtDLmpTLmxlbmd0aH1gKTtDLkF3PVE7bGV0IElDPQpRWzBdLnJhbmdlLElNPW5ldyBTNTtmb3Ioaz0wO2s8Qy5qUy5sZW5ndGg7aysrKWU1KElNLEMualNba10uSik7Zm9yKGs9MDtrPEMualMubGVuZ3RoO2srKyl7Qy5qU1trXS5pbmZvPVFba107bGV0IFlsPVFba10ucmFuZ2U7Qy5qU1trXS5KPWdkKElNLFlsLnN0YXJ0LUlDLnN0YXJ0LFlsLmxlbmd0aCl9fXYuZko9ITE7QjYobi5sb2FkZXIsbi52aWRlb1RyYWNrLEEpO3ZhciBWPW4udmlkZW9UcmFjaztWLk4mJihWLk4uUEo9QSk7bi5sb2FkZXIuWUooQS5pbmZvLnZpZGVvLnF1YWxpdHkpO3ZhciBMdD12Llh2KCk7THQmJkEuaW5mby5sYXN0TW9kaWZpZWQmJkEuaW5mby5sYXN0TW9kaWZpZWQhPT0rTHQmJkU0KG4udmlkZW9UcmFjayx2KX19ZWxzZSB2LmZKPSExfXYuWHQ/Lml0YWdEZW55bGlzdCYmbi5sb2FkZXIuV0Yodi5YdC5pdGFnRGVueWxpc3QpO2lmKHYuc3RhdGU9PT00KUYwKG4sdiksbi5KQyYmbi5KQy5TJCh2LmluZm8sbi5zVSk7ZWxzZSBpZihuLnBvbGljeS5lNCYmdi5RQSgpJiYKIXYuaXNDb21wbGV0ZSgpJiYhRjAobix2KSYmIXYudG4oKSlicmVhayBhO2lmKHYudG4oKSl7bGV0IElDPXYuaW5mby5Bd1swXS5QSixJTT12LlZHKCk7aWYoZ1ooMjQsMTE2NCxJQy5YYi5OKSl7bGV0IFR6PWcudXAodi5zOCgpLDMpO24ubG9hZGVyLlUoImRsZGJyZXJyIix7ZW06VHp8fCJub25lIn0pfWxldCBZbD12LmluZm8uQXdbMF0uaiQsajE9ekkobi5KQyx2LmluZm8uQXdbMF0uWCxZbCk7SU09PT0ibmV0LmJhZHN0YXR1cyImJihuLk4rPTEpO2lmKHYuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpKXtpZighKHYuaW5mby5YYi5KPj1uLnBvbGljeS5sTSYmbi5zVSYmdi5pbmZvLmlzRGVjb3JhdGVkKCkmJklNPT09Im5ldC5iYWRzdGF0dXMiJiZNMihuLnNVLGoxLFlsKSkpe3ZhciB0aT0oSUMuaW5mby52aWRlbyYmSUMuWGIuSj4xfHx2LmxOPT09NDEwfHx2LmxOPT09NTAwfHx2LmxOPT09NTAzKSYmISh3QyhuLmNWLmopLnNpemU+MCkmJiFnWig1NCwxMTg2LElDLlhiLk4pLEhaPQp2LnkwKCksWjE9SUMuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3RpJiYoSFouc3R1bj0iMSIpO24ubG9hZGVyLmhhbmRsZUVycm9yKElNLEhaKTtuLnFOKCl8fCh0aSYmYXEobi5jVixJQyksRTQoWjEsdiksbi5sb2FkZXIuQlkoKSl9fWVsc2UgQT0xLG4uc1UmJnYuaW5mby5pc0RlY29yYXRlZCgpJiZJTT09PSJuZXQuYmFkc3RhdHVzIiYmTTIobi5zVSxqMSxZbCkmJihBPTApLG4uS3UuaXNMaXZlJiZ2LlZHKCk9PT0ibmV0LmJhZHN0YXR1cyImJm4uTjw9bi5wb2xpY3kueGgqMj8oajQobi5LdSksbi5LdS5YZ3x8bi5LdS5pc1ByZW1pZXJlP2RWKG4ubG9hZGVyLDAse3FkOiJiYWRTdGF0dXNXb3JrYXJvdW5kIn0pOm4uS3UuaXNXaW5kb3dlZExpdmU/ZFYobi5sb2FkZXIsbi5LdS5KVSx7cWQ6ImJhZFN0YXR1c1dvcmthcm91bmQiLHFhOiEwfSk6UiQobi5sb2FkZXIpKTpuLmxvYWRlci5oYW5kbGVFcnJvcihJTSx2LnkwKCksQSk7aXNOYU4obi5KTyl8fChuLmxvYWRlci53UihuLkpPKSwKbi5KTz1OYU4pfW4ucG9saWN5LkhEJiYhdi5pc0NvbXBsZXRlKCk/UW8obi5sb2FkZXIpOm4ubG9hZGVyLkJZKCk7dmFyIFFqPXAwYih2LG4ucG9saWN5LG4ubm4pO2ZyQyhuLHYsUWopfX19fX1jYXRjaChNaSl7UWo9bi5qPzE6MCxuLmo9ITAsdj1qMihRaiksUWo9QiQoTWksUWopLG4ubG9hZGVyLmhhbmRsZUVycm9yKFFqLmVycm9yQ29kZSxRai5kZXRhaWxzLFFqLnNldmVyaXR5KSx2fHxuLmxvYWRlci56aSgpfX0sYil9OwpJcmI9ZnVuY3Rpb24obixXLEQpe2lmKGpxKG4sVyxEKSl7RD1uLkooVyxEKTtpZihuLnNVKXt2YXIgYj1ELkF3WzBdLlBKLmluZm8uaWQ7dmFyIHY9bi5KQzt2YXIgaz1ELkF3WzBdLmokO3Y9azwwJiYhaXNOYU4odi5qKT92Lmo6aztrPXpJKG4uSkMsRC5Bd1swXS5YLHYpO2xldCBMPVc9PT1uLmF1ZGlvVHJhY2s/MToyLGU9RC5Bd1swXS5QSi5pbmZvLklCLEc9Yi5zcGxpdCgiOyIpWzBdO2E6e3ZhciBoPW4uSkM7aWYoaC5OKXt2YXIgeD1oLk4uZmYuZXZlbnQ7aWYoaC5OLmokPT09dil7aD14PT09InByZWRpY3RTdGFydCI/dm9pZCAwOmguTi5mZi5ldmVudDticmVhayBhfWlmKGguTi5qJD09PXYtMSl7aD14PT09InN0YXJ0Inx8eD09PSJjb250aW51ZSI/eDp2b2lkIDA7YnJlYWsgYX19aD12b2lkIDB9aWYobi5wb2xpY3kuVlEmJm4uSkMuSiE9PTApYj1nLkp5aShuLnNVLGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYiYmKG4ubG9hZGVyLlUoInNkYWkiLAp7c3NkYWlpbmZvOiIxIixkczpiLk15Py5CZnx8IiIsc2tpcHNxOmIuTXk/LkRKfHwtMSxpdGFnOkcsZjplLHNnOnYsc3Q6ay50b0ZpeGVkKDMpfSksRC5YPWIpO2Vsc2UgaWYoYj1uLnNVLllsKGssdixiLEwsZSxoKSx2PDAmJkw9PT0yJiZsdShuLkpDLDAsMCwhMCksYil7az17ZGVjX3NxOnYsaXRhZzpHLHN0OmsudG9GaXhlZCgzKX07aWYobi5wb2xpY3kubiQmJlcuaXNSZXF1ZXN0UGVuZGluZyh2LTEpKXtuLmxvYWRlci5VKCJzZGFpIix7d3RfZGFpc3RhdGVfb25fc2c6di0xfSk7cmV0dXJufW4ubG9hZGVyLlUoInNkYWkiLGspO2ImJihELk49bmV3IGcud1ooYikpO24ucG9saWN5LlcmJih2PUQuWGIuVy5nZXQoImlkIil8fCIiLGI9RC5OPy5nZXQoImlkIil8fCIiLHYhPT1iJiZuLmxvYWRlci5VKCJzdG1pZG1pc21hdGNoIix7Y2lkOnYsYWlkOmJ9KSl9ZWxzZSBuLkpDLkohPT01JiZuLmxvYWRlci5VKCJzZGFpIix7bm9kZWNfc3E6dixpdGFnOkcsc3Q6ay50b0ZpeGVkKDMpfSl9bi5wb2xpY3kuQ20mJgpELkF3WzBdLmokIT09LTEmJkQuQXdbMF0uaiQ8bi5LdS5JdCYmKEQ9Vy5QSi5qKG4uS3UuSXQsITEpKTtPNChXLFZvKG4sRCkpO2l1KG4udGltaW5nKTtuLlc/Lk4oRC5YYil9fTsKWXppPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5KQztEPUQuTj9ELk4uZmY6bnVsbDtpZihuLnBvbGljeS5UQyYmRClyZXR1cm4gRC5zdGFydFNlY3MrRC5DZisxNTtXPU9iKG4ubG9hZGVyLFcpO24ucG9saWN5LmpXPjAmJihEPSgoMCxnLlIpKCktbi5sb2FkZXIucUcpLzFFMyxXPU1hdGgubWluKFcsbi5wb2xpY3kualcrbi5wb2xpY3kuTEsqRCkpO1c9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKStXO3JldHVybiBuLnBvbGljeS56NCYmKEQ9U3pNKG4ubG9hZGVyKStuLnBvbGljeS56NCxEPFcpPyhuLmxvYWRlci5VKCJtcmwiLHtvcmk6Vyxtb2Q6RH0sITApLG4ucG9saWN5LmxXJiZjNihuLmxvYWRlciksRCk6V307CmZyQz1mdW5jdGlvbihuLFcsRCl7aWYoRCE9PTApe2E6aWYoVz1XLmluZm8sRD1EPT09MixXLk4pVz1udWxsO2Vsc2V7dmFyIGI9Vy5Bd1swXTtpZihXLnJhbmdlKXZhciB2PVdfKFcucmFuZ2Uuc3RhcnQsTWF0aC5taW4oNDA5NixXLlcpKTtlbHNle2lmKFcuSiYmVy5KLmluZGV4T2YoIi9yYW5nZS8iKT49MHx8Vy5YYi5XLmdldCgiZGVmcmFnIik9PT0iMSJ8fFcuWGIuVy5nZXQoIm90ZiIpPT09IjEiKXtXPW51bGw7YnJlYWsgYX12PVdfKDAsNDA5Nil9dj1uZXcgd2soW25ldyBxSSg1LGIuUEosdiwiY3JlYXRlUHJvYmVSZXF1ZXN0SW5mbyIrYi5ZLGIuaiQpXSxXLkopO3YucFM9RDt2Lk49Vy5OO1c9dn1XJiZWbyhuLFcpfX07CkNyPWZ1bmN0aW9uKG4sVyxELGIpe2lmKCEoRC5OKCl8fEQuUyQoKXx8RC5jSnx8IUQuWGIuWShuLnBvbGljeSxuLm5uLG4ubG9hZGVyLkl3KXx8RC5pbmZvLklCPT09ImYifHxuLnBvbGljeS5OKSl7aWYoYil7Yj1uLklnO3ZhciB2PUQuaW5mbztiPXJWKGIsdi52aWRlbz9iLnBvbGljeS5SazpiLnBvbGljeS5JTSx2Lk5zKX1lbHNlIGI9MDtiPUQuWShiKTtuPVZvKG4sYik7VXYoYikmJk80KFcsbik7RC5jSj0hMH19OwpGMD1mdW5jdGlvbihuLFcpe2lmKFcucU4oKSlyZXR1cm4hMTt0cnl7dmFyIEQ9Vy5pbmZvLkF3WzBdLlBKO2xldCBoPUQuaW5mby52aWRlbz9uLnZpZGVvVHJhY2s6bi5hdWRpb1RyYWNrO3ZhciBiPWg7aWYobi5LdS5pc01hbmlmZXN0bGVzcyYmYil7bi5OPTA7Yi5qJiYoVy5xTigpLFcuaXNDb21wbGV0ZSgpfHxXLlFBKCksYi5qPSExKTtXLkloKCkmJm4ubG9hZGVyLkxyLklJKDEsVy5JaCgpKTt2YXIgdj1XLlRYKCksaz1XLmgwKCk7QzYobi5LdSx2LGspfWlmKFcuaW5mby5RbigpJiYhVXYoVy5pbmZvKSlmb3IobGV0IEwgb2YgVy54OSgpKWgudksoTCk7Yj1oO2ZvcihuLmxvYWRlci5nZXRDdXJyZW50VGltZSgpO2IuSi5sZW5ndGgmJmIuSlswXS5zdGF0ZT09PTQ7KXtsZXQgTD1iLkouc2hpZnQoKTt4WEMoYixMKTtiLlZRPUwuekQoKX1iLkoubGVuZ3RoJiZ4WEMoYixiLkpbMF0pO2xldCB4PSEhaVkoaCk7eCYmVyBpbnN0YW5jZW9mIFNuJiYoRC5pbmZvLmVTKCk/Z2oxKG4udGltaW5nKToKZTdiKG4udGltaW5nKSk7cmV0dXJuIHh9Y2F0Y2goaCl7Vz1XLnkwKCk7Vy5vcmlnaW49ImhyaHMiO2E6e249bi5sb2FkZXI7RD1oO2lmKEQgaW5zdGFuY2VvZiBFcnJvcil7Vy5tc2d8fChXLm1zZz1gJHtELm1lc3NhZ2V9YCk7Vy5uYW1lfHwoVy5uYW1lPWAke0QubmFtZX1gKTtpZihEIGluc3RhbmNlb2YgZy5ReCYmRC5hcmdzKWZvcihsZXQgW3gsTF1vZiBPYmplY3QuZW50cmllcyhELmFyZ3MpKVdbYGFyZyR7eH1gXT1gJHtMfWA7Zy5HcShEKTtpZihELmxldmVsPT09IldBUk5JTkciKXtuLkwuR20oVyk7YnJlYWsgYX19bi5oYW5kbGVFcnJvcigiZm10LnVucGxheWFibGUiLFcsMSl9cmV0dXJuITF9fTsKbVhiPWZ1bmN0aW9uKG4pe3ZhciBXPW4udmlkZW9UcmFjay5QSi5pbmRleDtuLmhuPW5ldyBBeVooe3NKOm4ucG9saWN5LnNKLHRJOm4ucG9saWN5LlYudEksTzg6Vy5VYygpLHgkOigpPT5XLngkKCksCk9nOigpPT5XLk9nKCl9KX07CktqaT1mdW5jdGlvbihuKXtpZihuLko/LmlzTG9ja2VkKCkpcmV0dXJuIG4udmlkZW9JbmZvczt2YXIgVz13QyhuLk4pLEQ9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi5Ocz5uLm9aLk5zPyExOiFXLmhhcyhiLmlkKSk7Cm4uTi5sbCgpJiYoRD1nLkVNKEQsYj0+Yi52aWRlby53aWR0aDw9ODU0JiZiLnZpZGVvLmhlaWdodDw9NDgwKSk7CnJldHVybiBEfTsKTyRpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIFcpRC5wdXNoKGcuVmYoYixuLkt1LnpXKSk7cmV0dXJuIER9OwpaJGk9ZnVuY3Rpb24obil7cmV0dXJuIG4uSj8ucmVhc29uPT09Im0iPyJtIjpuLko/LnJlYXNvbj09PSJzIj8icyI6bi5KJiZQYlUobixuLkopP24uSi5yZWFzb246ImEifTsKUGJVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4ub1ouSHcmJlcucmVhc29uPT09ImwifHxuLm9aLnFqPyExOm4ub1ouWWo/ITA6Vy5yZWFzb249PT0ibCJ8fFcucmVhc29uPT09ImIifHxXLnJlYXNvbj09PSJvIn07ClVYWj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTi5OO2lmKEQpe24udmlkZW9JbmZvcz1uLlY7dmFyIGI9Zy5sXyhuLnZpZGVvSW5mb3Msdj0+di5pZD09PUQpOwpiJiZiLnZpZGVvLnF1YWxpdHlPcmRpbmFsPT09Vz9uLnZpZGVvSW5mb3M9W2JdOihiPW4udmlkZW9JbmZvcy5tYXAodj0+di5pZCksbi5sb2FkZXIuVSgic2FicnBmIix7cGZpZDpgJHtEfWAsCnZmaWRzOmAke2Iuam9pbigiLiIpfWB9KSxhJChuLFcsVyksbi5OLkRlKCIiKSl9ZWxzZSBhJChuLFcsVyl9OwphJD1mdW5jdGlvbihuLFcsRCl7bi52aWRlb0luZm9zPW4uVjtuLnZpZGVvSW5mb3M9Zy5FTShuLnZpZGVvSW5mb3MsYj0+Yi52aWRlby5xdWFsaXR5T3JkaW5hbD49VyYmYi52aWRlby5xdWFsaXR5T3JkaW5hbDw9RCl9Owp5eXg9ZnVuY3Rpb24obixXKXtpZihuLlkpe3ZhciBEPWcuRU0obi5XLGI9PmIuaWQ9PT1uLlkpOwpyZXR1cm4gbkQobixEKS5pbmNsdWRlcyhXKX1EPWcuRU0obi5XLGI9PiEhYi5rWj8uaXNEZWZhdWx0KTsKcmV0dXJuIEQubGVuZ3RoPjA/bkQobixEKS5pbmNsdWRlcyhXKTpuRChuLG4uVykuaW5jbHVkZXMoVyl9OwpuRD1mdW5jdGlvbihuLFcpe3ZhciBEPW4uS3Uuelc7cmV0dXJuIFcubWFwKGI9Pk1rKGcuVmYoYixEKSkpfTsKV2w9ZnVuY3Rpb24obixXLEQ9ITEpe0hlVShuLk4sVyxEKX07CmkkUz1mdW5jdGlvbihuLFcsRCxiKXt2YXIgdj1uLkt1LGs9bi5MLmdldFZpZGVvRGF0YSgpLGg9bi5Fdix4PWpGTSh7aWo6bi5paix5UTprLkcoKSxMOm4uTCxuUjpuLm5SLG9aOm4ub1oscHo6bi5weixrRTpuLmtFLFVtOm4uVW0sRzc6bi5HNyxKJDpuLkokLFNmOm4uU2Ysc2FickxpY2Vuc2VDb25zdHJhaW50Omsuc2FickxpY2Vuc2VDb25zdHJhaW50LGo0Om4uajQscjA6bi5yMCxZczpuLllzLGVxOm4uZXEsb0c6ISFoLGF1dGhvcml6ZWRGb3JtYXRzOmsuYXV0aG9yaXplZEZvcm1hdHMsSTg6bi5JOCxsbDpuLmxsLEN4Om4uQ3gsZ0Q6bi5nRH0pLEw9U1YoayxuLnEkLG4ubmV4dFJlcXVlc3RQb2xpY3ksbi5SQSxuLmROLG4uYkosbi5yOCk7RCYmVyYmKEQ9TC5ycT9MLnJxLm1hcChyPT5yLnR5cGUpOltdLFcoInNhYnIiLHtzdG1jdHh0OkQuam9pbigiXyIpLAp1bnNudGN0eHQ6TC51dD9MLnV0LmpvaW4oIl8iKToiIn0pKTtXPW4uR2g7RD1uLk0kO0Q9PT12b2lkIDAmJlc9PT12b2lkIDAmJihEPUVUaih2LnpXLG4uZGs/LnZpZGVvKSxXPUVUaih2LnpXLG4uZGs/LmF1ZGlvKSk7aWYoay5hSSl2YXIgZT1rLmFJO3ZhciBHOyhrPW4ub1o/LlNhKSYmaz4wJiYobi5DeHx8bi5IZSkmJihHPW5ldyBVaW50OEFycmF5KGspKTtoPXtDbjp4LEJpOm4uQmksR2g6VyxNJDpELEV2OmgsdmlkZW9QbGF5YmFja1VzdHJlYW1lckNvbmZpZzplLG1IOkwsZFM6R307YiYmbi5iSz9uLmJLLmxlbmd0aD4wJiYoaC5iSz1uLmJLKTpuLk15JiYoaC5NeT1uLk15KTtuLm9aPy5EdCgpJiYhVlQoKSYmKG4udU0mJihoLnVNPW4udU0pLG4uckcmJihoLnJHPW4uckcpKTtoLmVXPW4uZVc7aC5jRT12LkdDO3JldHVybiBofTsKRVRqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc/W2cuVmYoVy5pbmZvLG4pXTpbXX07Cm9Uaj1mdW5jdGlvbihuLFcsRCl7Vz1CdyhuLlhiLHVuVShuLFcsRCksVyk7bi5ENSgpJiZXLnNldCgicHJvYmUiLCIxIik7bi5raCgpJiZXLnNldCgic2Jwcm9iZSIsIjEiKTtyZXR1cm4gV307CkRrPWZ1bmN0aW9uKG4pe3ZhciBXPXt9LEQ9W10sYj1bXTtpZighbi5kYXRhKXJldHVybiBXO2Zvcih2YXIgdj0wO3Y8bi5kYXRhLmVXLmxlbmd0aDt2Kyspe3ZhciBrPW4uZGF0YS5lV1t2XTtELnB1c2goYGkuJHtrLmZvcm1hdElkPy5pdGFnfV9zdC4ke2suc3RhcnRUaW1lTXN9X2UuJHtrLnN0YXJ0VGltZU1zK2suZHVyYXRpb25Nc31fZC4ke2suZHVyYXRpb25Nc31fc24uJHtrLkFDfV9lbi4ke2suaTl9YCl9Zm9yKHY9MDt2PG4uZGF0YS5CaS5sZW5ndGg7disrKWs9bi5kYXRhLkJpW3ZdLGIucHVzaChgaS4ke2suZm9ybWF0SWQ/Lml0YWd9X3NuLiR7ay5zZXF1ZW5jZU51bWJlcn1fc2wuJHtrLnZEfHxOYU59X2xiLiR7ay5TMH1fdHIuc18ke2suaHg/LnN0YXJ0VGlja3N9X2RfJHtrLmh4Py5sOH1fdF8ke2suaHg/LnRpbWVzY2FsZX1fZWRfJHtrLnUzfWApO1cucHRpbWU9bi5OPy5Dbj8ublJ8fDA7Vy5ydHlwZT1uLnJlcXVlc3RUeXBlO1cuYnJsPUQuam9pbigiOyIpO1cucHM9Yi5qb2luKCI7Iik7CnJldHVybiBXfTsKdW5VPWZ1bmN0aW9uKG4sVyxEKXtuLnBTPT09dm9pZCAwJiYobi5wUz1uLlhiLnBTKFcsRCkpO3JldHVybiBuLnBTfTsKdmw9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5OPy5lbmNyeXB0KFcsRCk7cmV0dXJuIGI/YjoobmV3IGIxKG4uTi5KKSkuZW5jcnlwdChXLEQpfTsKelpqPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt7dmFyIGI9bi5OO2xldCB2PXRFKCk7Yj12P25ldyBkWE0oYi5KLHYpOnZvaWQgMH1pZihiKXRyeXtyZXR1cm4gYXdhaXQgYi5lbmNyeXB0KFcsRCl9Y2F0Y2godil7fXJldHVybiB2bChuLFcsRCl9OwpscjI9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OP3paaihuLFcsbi5pdik6b24obi5OKS5lbmNyeXB0KFcsbi5pdil9OwpUOGg9ZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7cmV0dXJuIG4uTi5OPy5KKFcsbi5pdil9OwpDYnQ9YXN5bmMgZnVuY3Rpb24obixXKXsoMCxnLlIpKCk7dmFyIEQ9bi5OO0Quanx8KEQuaj1uZXcgaksxKEQuVykpO3JldHVybiBMNFooRC5qLFcsbi5pdil9OwpCOGk9YXN5bmMgZnVuY3Rpb24obixXLEQpeygwLGcuUikoKTtyZXR1cm4gbi5OLk4/elpqKG4sVyxEKTpvbihuLk4pLmRlY3J5cHQoVyxEKX07CncwYj1mdW5jdGlvbihuLFcpe3ZhciBEPVc/LnByaW1hcnk7a3cobiwwLEQpO0Q9RD9GamooRCk6dm9pZCAwO2t3KG4sMixEKTtrdyhuLDEsVz8uc2Vjb25kYXJ5KX07CmhnPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gbmV3IGcud1ooYCR7RD8iaHR0cCI6Imh0dHBzIn06Ly8ke1d9JHtuLkIuUFguYmFzZVVybH1gKX07Cmt3PWZ1bmN0aW9uKG4sVyxEKXtEPyhEPUQgaW5zdGFuY2VvZiBnLndaP0Q6aGcobixEKSxuLk4uZ2V0KFcpPy5OKCkhPT1SMCg5OCwzNTcwLEQpJiZuLk4uc2V0KFcsbmV3IE1kaihELFcpKSk6bi5OLmRlbGV0ZShXKX07CkZqaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5yZXBsYWNlKC8oXGQrKS0tLS9nLChXLEQpPT57Vz1OdW1iZXIoRCk7cmV0dXJuYCR7Vz09PTE/MjpXLTF9LS0tYH0pfTsKUlpoPWZ1bmN0aW9uKG4sVz0hMSxEKXt2YXIgYj1nLlloKG4uQi5leHBlcmltZW50cywiZGVidWdfYmFuZGFpZF9ob3N0bmFtZSIpO3JldHVybiBiPyhXPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJkZWJ1Z19iYW5kYWlkX3BvcnQiKSxiPVc+MD9gJHtifToke1d9YDpiLFc9bi5CLmV4cGVyaW1lbnRzLkVxKCJkZWJ1Z19iYW5kYWlkX2luc2VjdXJlX3NjaGVtZSIpLGhnKG4sYixXKSk6VyYmRD8udXJsJiYhbi5KPyhiPVIwKDY3LDM1MzksbmV3IGcud1ooRC51cmwpKSxoZyhuLGIpKTpuLk4uZ2V0KDApPy5sb2NhdGlvbi5jbG9uZSgpfTsKTEQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1oZyhuLCJyZWRpcmVjdG9yLmdvb2dsZXZpZGVvLmNvbSIpO0Quc2V0KCJhbHIiLCJ5ZXMiKTtELnNldCgiaWQiLGAke01hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxRTUpfWApO2lmKFc9PT0xfHxXPT09MilELnNldCgiY21vPXNlbnNpdGl2ZV9jb250ZW50IiwieWVzIiksRC5zZXQoInNjIiwieWVzIik7Vz09PTImJkQuc2V0KCJjbW89dGQiLCJjLnlvdXR1YmUuY29tIik7dmFyIGI9YXdhaXQgZy5yOChELldEKCkse2Zvcm1hdDoiUkFXIix0aW1lb3V0OjVFM30pO2lmKGIueGhyLnN0YXR1cyE9PTIwMHx8IWIueGhyLnJlc3BvbnNlVGV4dClyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfbm9faG9zdCIsRC5XRCgpLGIueGhyLnN0YXR1cykpO3ZhciB2PW5ldyBnLndaKGIueGhyLnJlc3BvbnNlVGV4dCk7RD1SMCgzNCwzNTA2LHYpO2I9di5nZXQoIm1zIik7bj1oZyhuLEQpO3Y9di5nZXQoIm1tIik7bi5zZXQoIm1zIiwKYik7bi5zZXQoIm1tIix2KTtyZXR1cm4gRCYmUUt4KEQpP1chPT0yfHx4dyhEKT9uOlByb21pc2UucmVqZWN0KG5ldyBnLlF4KCJiMjA0MjU4MzcxX3VudHJ1c3RlZCIsRCxiKSk6UHJvbWlzZS5yZWplY3QobmV3IGcuUXgoImIyMDQyNTgzNzFfaW52YWxpZCIsRCxiKSl9Owp2YXIgSFd0PWZ1bmN0aW9uKG4pe3JldHVybiBSMFtJWzEwXV0odGhpcyw0MSw1ODQ5LG4pfTsKVmR0PWZ1bmN0aW9uKG4sVyl7bj1gaHR0cHM6Ly8ke1cuTigpfS9pbml0cGxheWJhY2s/Yz0ke2xvKG4uQil9Jm93Yz0xYDtxVyhuLCJwdyIsRD0+e0QuaHQ9Vy5KfSl9OwplUj1mdW5jdGlvbihuLFcsRCxiKXtxVyhgaHR0cHM6Ly8ke1d9L3ZpZGVvcGxheWJhY2s/cHJvYmU9MWAsRCx2PT57IWIuUygiaHRtbDVfb25lc2llX2hvc3RfcmFjaW5nIil8fGIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHxiLlMoImh0bWw1X29uZXNpZV9wcm9iZV9lY19ob3N0cyIpfHxiLldSfHxjeVooYik7bi5XLnB1c2godil9LHY9PntuLlcucHVzaCh2LmRldGFpbHMpfSl9OwpRS3g9ZnVuY3Rpb24obil7cmV0dXJuLy4qKFwuY1wueW91dHViZVwuY29tfC4qXC5nb29nbGV2aWRlb1wuY29tKS8udGVzdChuKX07Cnh3PWZ1bmN0aW9uKG4pe3ZhciBXPS9zbi1bXi5dKi0vO3JldHVybi8uKlwuY1wueW91dHViZVwuY29tLy50ZXN0KG4pJiYhVy50ZXN0KG4pfTsKZ2o9ZnVuY3Rpb24obil7Zm9yKDtuLk4ubGVuZ3RoJiYhbi5OWzBdLmlzRW5jcnlwdGVkOyl7bGV0IHt2aWRlb0lkOkQsYXU6Yixmb3JtYXRJZDp2LGJ1ZmZlcjprLGlFOmh9PW4uTi5zaGlmdCgpO2lmKGspbi5OSS5ZYS5uQT8uZ2V0KEQpPy5OKGIsdixrKTtlbHNlIGlmKGgpbi5OSS5ZYS5ZaChELGIsdik7ZWxzZXt2YXIgVz1uLk5JO1cuTlt2XS5TdT0hMDtXPVcuWWEubkE/LmdldChEKTtXPy5nRih2KSYmVz8uSih2KX19fTsKZy5EMHI9ZnVuY3Rpb24obil7Zm9yKDshbi5YJiYhbi5lcnJvcjspe3ZhciBXPW47Vy5YPSEhWEIoVywxKTtzd2l0Y2goWEIoVywyKSl7Y2FzZSAyOnZhciBEPXZvaWQgMCxiPVtdLHY9W107di5sZW5ndGg9MTk7di5maWxsKDApO3ZhciBrPVhCKFcsNSkrMjU3O0Q9WEIoVyw1KSsxO3ZhciBoPVhCKFcsNCkrNDtmb3IodmFyIHg9MDt4PGg7eCsrKXZbYXJ4W3hdXT1YQihXLDMpO3Y9cVAodik7Zm9yKGg9aytEO2IubGVuZ3RoPGg7KXt4PW5SdChXLHYpO2xldCBMO3N3aXRjaCh4KXtjYXNlIDE2Ong9YltiLmxlbmd0aC0xXTtMPVhCKFcsMikrMzticmVhaztjYXNlIDE3Ong9MDtMPVhCKFcsMykrMzticmVhaztjYXNlIDE4Ong9MDtMPVhCKFcsNykrMTE7YnJlYWs7ZGVmYXVsdDpMPTF9Zm9yKDtMPjA7TC0tKWIucHVzaCh4KX1iLmxlbmd0aCE9PWg/Vy5lcnJvcj0hMDooRD1iLnNsaWNlKC1EKSxiLmxlbmd0aD1rLFdZaChXLGIsRCkpO2JyZWFrO2Nhc2UgMTpXWWgoVyxHYyx0Zyk7YnJlYWs7CmNhc2UgMDokdyhXLFcuTiY3KTtiPVhCKFcsMTYpO2s9WEIoVywxNik7KGJeaykhPT02NTUzNSYmKFcuZXJyb3I9ITApO2s9Vy5kYXRhLnN1YmFycmF5KFcuSixXLkorYik7Vy5vdXRwdXQuc2V0KGssVy5XKTtXLkorPWI7Vy5XKz1iO2JyZWFrO2RlZmF1bHQ6Vy5lcnJvcj0hMH1uLlc+bi5vdXRwdXQubGVuZ3RoJiYobi5vdXRwdXQ9bmV3IFVpbnQ4QXJyYXkobi5XKjIpLG4uVz0wLG4uSj0wLG4uWD0hMSxuLk49MCxuLnJlZ2lzdGVyPTApfW4ub3V0cHV0Lmxlbmd0aCE9PW4uVyYmKG4ub3V0cHV0PW4ub3V0cHV0LnN1YmFycmF5KDAsbi5XKSk7cmV0dXJuIG4uZXJyb3I/bmV3IFVpbnQ4QXJyYXkoMCk6bi5vdXRwdXR9OwpYQj1mdW5jdGlvbihuLFcpe2Zvcig7bi5OPFc7KXtpZihuLko+PW4uZGF0YS5sZW5ndGgpcmV0dXJuIG4uZXJyb3I9ITAsMDtuLnJlZ2lzdGVyfD1uLmRhdGFbbi5KKytdPDxuLk47bi5OKz04fXZhciBEPW4ucmVnaXN0ZXImKDE8PFcpLTE7bi5yZWdpc3Rlcj4+PVc7bi5OLT1XO3JldHVybiBEfTsKV1loPWZ1bmN0aW9uKG4sVyxEKXtXPXFQKFcpO0Q9cVAoRCk7Zm9yKHZhciBiPW4uZGF0YSx2PW4ub3V0cHV0LGs9bi5XLGg9bi5yZWdpc3Rlcix4PW4uTixMPW4uSjs7KXtpZih4PDE1KXtpZihMPmIubGVuZ3RoKzEpe24uZXJyb3I9ITA7YnJlYWt9aHw9KGJbTCsxXTw8OCkrYltMXTw8eDtMKz0yO3grPTE2fXZhciBlPVdbaCYxMjddO2lmKGU8MClmb3IoaD4+PTc7ZTwwOyllPVdbKGgmMSktZV0saD4+PTE7ZWxzZSBoPj49ZSYxNTt4LT1lJjE1O2U+Pj00O2lmKGU8MjU2KXZbaysrXT1lO2Vsc2UgaWYobi5yZWdpc3Rlcj1oLG4uTj14LG4uSj1MLGU+MjU2KXtoPXJqW2VdO2grPVhCKG4sc3FbZV0pO0w9blJ0KG4sRCk7eD1OUFtMXTt4Kz1YQihuLHBEW0xdKTtpZihieVomJmg8eCl4PWsteCx2LmNvcHlXaXRoaW4oayx4LHgraCk7ZWxzZSBmb3IoTD1rK2gsZT1rO2U8TDtlKz00KXZbZV09dltlLXhdLHZbZSsxXT12W2UteCsxXSx2W2UrMl09dltlLXgrMl0sdltlKzNdPXZbZS14KzNdOwprKz1oO2g9bi5yZWdpc3Rlcjt4PW4uTjtMPW4uSn1lbHNlIGJyZWFrfW4uVz1rfTsKblJ0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPDcpe3ZhciBEPW4uZGF0YTtsZXQgYj1uLko7Yj5ELmxlbmd0aCYmKG4uZXJyb3I9ITApO24ucmVnaXN0ZXJ8PShEW2IrMV08PDgpK0RbYl08PG4uTjtuLkorPTI7bi5OKz0xNn1EPVdbbi5yZWdpc3RlciYxMjddO2lmKEQ+PTApcmV0dXJuICR3KG4sRCYxNSksRD4+NDtmb3IoJHcobiw3KTtEPDA7KUQ9V1tYQihuLDEpLURdO3JldHVybiBEPj40fTsKJHc9ZnVuY3Rpb24obixXKXtuLk4tPVc7bi5yZWdpc3Rlcj4+PVd9OwpxUD1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IodmFyIEQgb2YgbilXW0RdfHwoV1tEXT0wKSxXW0RdKys7dmFyIGI9V1swXT0wO0Q9W107dmFyIHY9MCxrPTA7Zm9yKHZhciBoPTE7aDxXLmxlbmd0aDtoKyspV1toXT9rPWg6V1toXT0wLGI9YitXW2gtMV08PDEsRFtoXT1iLGg+NyYmKHYrPVdbaF0pO2ZvcihiPTE7Yjx2OyliPDw9MTtXPTEyODtrPW5ldyBJbnQxNkFycmF5KDEyOCsoYitrKSoyKTtmb3Iodj0wO3Y8bi5sZW5ndGg7disrKXtoPW5bdl07aWYoIWgpY29udGludWU7dmFyIHg9RFtoXSsrO2I9MDtmb3IodmFyIEw9MDtMPGg7TCsrKWI9Yjw8MXx4Pj5MJjE7eD12PDw0fGg7aWYoaDw9Nylmb3IoTD0xPDw3LWg7TC0tOylrW0w8PGh8Yl09eDtlbHNle0w9YiYxMjc7aC09Nztmb3IoYj4+PTc7aC0tOyl7a1tMXXx8KGtbTF09LVcsVys9Mik7bGV0IGU9YiYxO2I+Pj0xO0w9ZS1rW0xdfWtbTF09eH19cmV0dXJuIGt9OwpZdz1mdW5jdGlvbihuLFcpe24uVyhgZGNtcHJzXyR7bi5jb250ZXh0fV8ke24uTn1fZ3pfJHtXfWApfTsKdlJ3PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIE9vKG4sZnVuY3Rpb24oKXt2YXIgRD10aGlzO3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1EYXRlLm5vdygpO3RyeXtZdyhELCJzIik7dmFyIHY9eWllbGQqUFAoVygpKTtpZighdil0aHJvdyBFcnJvcigibm8gcmVzdWx0Iik7WXcoRCwiZSIpO3JldHVybiB2fWNhdGNoKGgpe1l3KEQsImYiKTt2YXIgaz1oO0QuSihrLCJneiIpO3Rocm93IGg7fWZpbmFsbHl7dj1EYXRlLm5vdygpLEQuYmooImd6Iix2LWIsayl9fSgpfSl9OwplU2o9ZnVuY3Rpb24obixXLEQsYil7cmV0dXJuIE9vKHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgdj0oayxoKT0+dlJ3KG5ldyBrMWkoayxELGIpLCgpPT5IUChoKG4pKSk7CmlmKEhsKXRyeXtyZXR1cm4geWllbGQqUFAodigibiIsaFMxKSl9Y2F0Y2goayl7fWlmKFcpdHJ5e3JldHVybiB5aWVsZCpQUCh2KFcuaXNBc21qcz8iYSI6InciLGs9PngwQyhrLFcpKSl9Y2F0Y2goayl7fXJldHVybiB5aWVsZCpQUCh2KCJwIixMWTIpKX0oKX0pfTsKaFMxPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFIbCl0aHJvdyBFcnJvcigiRGVjb21wcmVzc2lvblN0cmVhbSBpcyBub3Qgc3VwcG9ydGVkIik7dmFyIFc9WksudFgoKSxEPW5ldyBEZWNvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYj1ELndyaXRhYmxlLmdldFdyaXRlcigpO2Iud3JpdGUobik7Yi5jbG9zZSgpO249RC5yZWFkYWJsZS5nZXRSZWFkZXIoKTtmb3IoRD1uZXcgUzUoW10pOzspe2xldCB7dmFsdWU6dixkb25lOmt9PWF3YWl0IG4ucmVhZCgpO2lmKGspYnJlYWs7RC5hcHBlbmQodil9bj10UihEKTtaSy5lVSgiZ3puYiIsVyxNYXRoLmNlaWwobi5ieXRlTGVuZ3RoLzE2KSk7cmV0dXJuIG59OwpMWTI9ZnVuY3Rpb24obil7dmFyIFc9WksudFgoKTtuPWcuRDByKG5ldyBnLmdSYihuKSk7WksuZVUoImd6amIiLFcsTWF0aC5jZWlsKG4uYnl0ZUxlbmd0aC8xNikpO3JldHVybiBufTsKeDBDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9WksudFgoKTtuPVcubWVtb3J5LmNvcHlJbihuKTt0cnl7bGV0IHY9bi5ieXRlT2Zmc2V0LGs9bi5ieXRlTGVuZ3RoLGg9Vy5leHBvcnRzLmdldEluZmxhdGVkU2l6ZSh2LGspO2lmKGg9PT0wKXRocm93IEVycm9yKCJ3YXNtX2d6OiBiYWQgaW5wdXQiKTtsZXQgeD1XLm1lbW9yeS5tYWxsb2MoaCksTD1XLmV4cG9ydHMuaW5mbGF0ZUd6aXAodixrLHgpO2lmKEwpdGhyb3cgVy5tZW1vcnkuZnJlZSh4KSxFcnJvcihgd2FzbV9nejogZmFpbCR7TH1gKTt2YXIgYj1XLm1lbW9yeS5idWZmZXIoeCxoKX1maW5hbGx5e1cubWVtb3J5LmZyZWUobi5ieXRlT2Zmc2V0KX1XPVcubWVtb3J5Lm1vdmVPdXQoYik7WksuZVUoImd6d2IiLEQsTWF0aC5jZWlsKFcuYnl0ZUxlbmd0aC8xNikpO3JldHVybiBXfTsKZkQ9ZnVuY3Rpb24obil7dmFyIFc9bi5xdWV1ZTtXLk4ubGVuZ3RoJiZXLk5bMF0uaXNFbmNyeXB0ZWQmJiFXLkomJihXLk4ubGVuZ3RoPTApO2ZvcihsZXQgRCBvZiBPYmplY3Qua2V5cyhuLk4pKXtsZXQgYj1uLk5bRF07Yi5TdXx8KFc9bi5xdWV1ZSxXLk4ucHVzaCh7dmlkZW9JZDpiLnZpZGVvSWQsZm9ybWF0SWQ6RCxpc0VuY3J5cHRlZDohMX0pLFcuSnx8Z2ooVykpfX07ClhCdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcudG90YWxMZW5ndGgsYj0hMTtzd2l0Y2gobi5XKXtjYXNlIDA6bi5qcChXLG4uWCkudGhlbih2PT57dmFyIGs9bi5ZYTtrLkRrKCJvcHJyIik7ay5wbGF5ZXJSZXNwb25zZT12O2suVUl8fChrLkIyPSExKTtKZyhrKX0sdj0+e24uWWEuZmFpbCh2KX0pOwpicmVhaztjYXNlIDI6bi5Eaygib3JtayIpO1c9dFIoVyk7bi5xdWV1ZS5kZWNyeXB0KFcpO2JyZWFrO2RlZmF1bHQ6Yj0hMH1uLllhLnhHJiZuLllhLlUoIm9tYnVwIixgaWQuMTE7cHQuJHtuLld9O2xlbi4ke0R9JHtiPyI7aWdub3JlZC4xIjoiIn1gKTtuLlc9bnVsbH07CnFQaT1mdW5jdGlvbihuLFcpe24uWWEuRGsoIm9wcmd6Ml9zIik7Vz1lU2ooVyxuLllhLkcoKS5qXygpLG4uWWEueEc/bi5ZYS5VLmJpbmQobi5ZYSk6KCk9Pnt9LEQ9PntuLllhLkRrKEQpfSk7ClNrKFcsKCk9PntuLllhLkRrKCJvcHJnejJfZSIpfSwoKT0+e24uWWEuRGsoIm9wcmd6Ml9mIil9KTsKcmV0dXJuIFd9OwpHMVM9YXN5bmMgZnVuY3Rpb24obixXKXtuLllhLkRrKCJvcHJnel9zIik7aWYoSGwpdHJ5e3ZhciBEPWF3YWl0IGhTMShXKTtuLllhLkRrKCJvcHJnel9uIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJuIn0pO3JldHVybiBEfWNhdGNoKGIpe24uWWEuVSgiZ3plcnIiLHtpbXBsOiJuYXRpdmUiLGVycjpgJHtifWB9KX1pZihEPW4uWWEuRygpLmpfKCkpdHJ5e2xldCBiPXgwQyhXLEQpO24uWWEuRGsoIm9wcmd6X3ciKTtuLllhLlUoIm9wcnNneiIse2k6IncifSk7cmV0dXJuIGJ9Y2F0Y2goYil7bi5ZYS5VKCJnemVyciIse2ltcGw6Indhc20iLGVycjpgJHtifWB9KX1XPUxZMihXKTtuLllhLkRrKCJvcHJnel9wIik7bi5ZYS5VKCJvcHJzZ3oiLHtpOiJqIn0pO3JldHVybiBXfTsKdF9oPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgUHJvbWlzZShXPT57c2V0VGltZW91dChXLG4pfSl9OwokMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkcoKTtEPW4uWVomJkQuUygiaHRtbDVfb25lc2llX3ByZWxvYWRfdXNlX2NvbnRlbnRfb3duZXIiKTtpZigoVz1SWmgoVyxELG4uUWEpKSYmbi52aWRlb0lkKXtuPWcuZDEobi52aWRlb0lkKTtEPVtdO2lmKG4pZm9yKGIgb2YgbilELnB1c2goYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwiMCIpKTt2YXIgYj1ELmpvaW4oIiIpO1cuc2V0KCJpZCIsYik7cmV0dXJuIFd9fTsKck9oPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPTApe3ZhciBiPVtdO2IucHVzaChXLmxvYWQoKSk7RD4wJiZiLnB1c2godF9oKEQpKTthd2FpdCBQcm9taXNlLnJhY2UoYik7cmV0dXJuICQwYihuLFcpfTsKczlDPWZ1bmN0aW9uKG4sVyxELGI9ITEpe24uc2V0KCJjcG4iLFcuY2xpZW50UGxheWJhY2tOb25jZSk7bi5zZXQoIm9wciIsIjEiKTt2YXIgdj1XLkcoKTtuLnNldCgicG9yIiwiMSIpO3RFKCl8fG4uc2V0KCJvbmVtIiwiMSIpO1cuc3RhcnRTZWNvbmRzPjAmJm4uc2V0KCJvc3RzIixgJHtXLnN0YXJ0U2Vjb25kc31gKTtifHwodi5TKCJodG1sNV9vbmVzaWVfZGlzYWJsZV9wYXJ0aWFsX3NlZ21lbnRzIikmJm4uc2V0KCJvc2VzIiwiMSIpLFc9di5TKCJodG1sNV9nYXBsZXNzX29uZXNpZV9ub19tZWRpYV9ieXRlcyIpJiZBSihXKSYmVy5ZWixEJiYhVz8oVz1ELmF1ZGlvLG4uc2V0KCJwdmkiLEQudmlkZW8uam9pbigiLCIpKSxuLnNldCgicGFpIixXLmpvaW4oIiwiKSksTnN8fG4uc2V0KCJvc2giLCIxIikpOihuLnNldCgib2FkIiwiMCIpLG4uc2V0KCJvdmQiLCIwIiksbi5zZXQoIm9hYWQiLCIwIiksbi5zZXQoIm9hdmQiLCIwIikpKX07Ck5KaT1mdW5jdGlvbihuLFcsRCxiLHY9ITEpe3ZhciBrPWBodHRwczovL3lvdXR1YmVpLmdvb2dsZWFwaXMuY29tL3lvdXR1YmVpLyR7Vy5TVi5pbm5lcnR1YmVBcGlWZXJzaW9ufS9wbGF5ZXJgLGg9W3tuYW1lOiJDb250ZW50LVR5cGUiLHZhbHVlOiJhcHBsaWNhdGlvbi9qc29uIn1dO2ImJmgucHVzaCh7bmFtZToiQXV0aG9yaXphdGlvbiIsdmFsdWU6YEJlYXJlciAke2J9YH0pO2gucHVzaCh7bmFtZToiVXNlci1BZ2VudCIsdmFsdWU6Zy5YUSgpfSk7Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpP2gucHVzaCh7bmFtZToiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIix2YWx1ZTpnLkFyKCJFT01fVklTSVRPUl9EQVRBIil9KTooRD1ELnZpc2l0b3JEYXRhfHxnLkFyKCJWSVNJVE9SX0RBVEEiKSkmJmgucHVzaCh7bmFtZToiWC1Hb29nLVZpc2l0b3ItSWQiLHZhbHVlOkR9KTsoRD1nLkFyKCJTRVJJQUxJWkVEX0xBVkFfREVWSUNFX0NPTlRFWFQiKSkmJmgucHVzaCh7bmFtZToiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiLAp2YWx1ZTpEfSk7KFc9Zy5ZaChXLmV4cGVyaW1lbnRzLCJkZWJ1Z19zaGVybG9nX3VzZXJuYW1lIikpJiZoLnB1c2goe25hbWU6IlgtWW91dHViZS1TaGVybG9nLVVzZXJuYW1lIix2YWx1ZTpXfSk7bj1JdyhKU09OLnN0cmluZ2lmeShuKSk7cmV0dXJue3VybDprLGUzOmgscG9zdEJvZHk6bixFYTp2LGU4OnZ9fTsKSWs9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4LEwpe3ZhciBlPW4uWUMsRz1uLmRmO249bi5DVjt2YXIgcj1lIT09dm9pZCAwJiZHIT09dm9pZCAwLE49Yi5nZXRWaWRlb0RhdGEoKSxIPVcuTi5lbmNyeXB0ZWRDbGllbnRLZXk7Vz1yP1cuaXY6dm9pZCAwO3I9R0QoaywhMCk7dj12fHwhIXRFKCkmJnI+MTU3Mjg2NDtyZXR1cm57aW5uZXJ0dWJlUmVxdWVzdDp7d1M6bix2VTplLGRmOkcsZW5jcnlwdGVkQ2xpZW50S2V5OkgsaXY6VyxtdzohMCxGRDohMCxEWToiRGVjb21wcmVzc2lvblN0cmVhbSJpbiB3aW5kb3d8fCF2LHlKOiEwfSxDbjpqRk0oe2lqOmsseVE6RCxMOmIsblI6Ti5zdGFydFNlY29uZHMqMUUzLGhxOiEwfSksb25lc2llVXN0cmVhbWVyQ29uZmlnOmgsQng6eCxtSDpTVihOKSxyZWxvYWRQbGF5YmFja1BhcmFtczpOLmdUPy5yZWxvYWRQbGF5YmFja1BhcmFtcyxVazpMfX07CnBCeD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPWcubGgobixhZiksZTtpZighbi5lOClpZihlPVQ4aChXLEwpKXt2YXIgRz1lLkc0O2U9ZS5zaWduYXR1cmV9ZWxzZSBlPUc9Vy5lbmNyeXB0KEwpLCgwLGcuUikoKSxlPXBmKG5ldyBZJChXLk4uVyksZSxXLml2KTtyZXR1cm4gSWsoRyYmZT97WUM6RyxkZjplfTp7Q1Y6TH0sVyxELGIsISFuLmU4LHYsayxoLHgpfTsKWVBNPWFzeW5jIGZ1bmN0aW9uKG4sVyxELGIsdixrLGgseCl7dmFyIEw9Zy5saChuLGFmKTtMPWF3YWl0IGxyMihXLEwpO3ZhciBlPWF3YWl0IENidChXLEwpO3JldHVybiBJayh7WUM6TCxkZjplfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpIeVU9ZnVuY3Rpb24obixXLEQsYix2LGssaCx4KXt2YXIgTD1nLmxoKG4sYWYpO2lmKEw9VDhoKFcsTCkpcmV0dXJuIElrKHtZQzpMLkc0LGRmOkwuc2lnbmF0dXJlfSxXLEQsYiwhIW4uZTgsdixrLGgseCl9OwpKT3c9YXN5bmMgZnVuY3Rpb24obixXLEQpe24uRGsoIm9wcmRfcyIpO1c9Zkl0KG4pP2F3YWl0IEI4aShuLnlxLFcsRCk6bi55cS5kZWNyeXB0KFcsRCk7bi5Eaygib3ByZF9jIik7cmV0dXJuIFd9OwpmSXQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5TKCJodG1sNV9vbmVzaWVfc3luY19yZXF1ZXN0X2VuY3J5cHRpb24iKXx8Vz8uZTg/ITE6ISF0RSgpfTsKSUliPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X29uZXNpZV9ob3N0X3Byb2JpbmciKXx8bi54Rz9OczohMX07CkpnPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclJlc3BvbnNlKXJldHVybiExO2lmKG4uYmspcmV0dXJuITA7dmFyIFc9bi52aWRlb0RhdGEuUygiaHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2siKSYmUlEobi52aWRlb0RhdGEpO2lmKG4ubkEmJm4uQjIpe2lmKCFuLm5BLmhhcyhuLkxjKSlyZXR1cm4hMTtsZXQgYj1uLm5BLmdldChuLkxjKTt2YXIgRDtpZihEPWIpe0Q9ITE7Zm9yKGxldCB2IG9mIGIudTkua2V5cygpKXtsZXQgaz1iLnU5LmdldCh2KTtpZihrKWZvcihsZXQgaCBvZiBrLkJ0KWguZUg+MCYmKGsuZVM/RD0hMDpXPSEwKX1EPSEoVyYmRCl9aWYoRClyZXR1cm4hMX1uLkRrKCJvZnIiKTtuLkNSLnJlc29sdmUobi5wbGF5ZXJSZXNwb25zZSk7cmV0dXJuIG4uYms9ITB9OwpBT009ZnVuY3Rpb24obil7aWYobi5uQSYmIW4uUygiaHRtbDVfb25lc2llX21lZGlhX2NhcGFiaWxpdGllcyIpKXtuLkRrKCJvZ3NmX3MiKTt2YXIgVz16eFMobi5MLmdldFZpZGVvRGF0YSgpLChiLHYpPT57bi5VKGIsdil9KSxEPVNQTShuLkwpOwpXLnZpZGVvPWlfYihELFcudmlkZW8pO24uRGsoIm9nc2ZfYyIpO2lmKFcudmlkZW8ubGVuZ3RoKXJldHVybiBXO24uVSgib21ic3BmIixgbC4ke0QuSn07dS4ke0QuTn07by4ke0QuV307ci4ke0QucmVhc29ufWApfX07ClNSPWZ1bmN0aW9uKG4pe2lmKCFuLm5mKXJldHVybnt9O3ZhciBXPW4ubmYuRCgpO1cuZD1uLm5mLkR0Py5iWSgpO1cuc2hvc3Q9bi56YztXLnR5PSJvIjtyZXR1cm4gV307CmN5Wj1mdW5jdGlvbihuKXtuLkIyPSExO2lmKCFKZyhuKSl7dmFyIFc9U1Iobik7Vy50aW1lb3V0PSIxIjtuLmZhaWwobmV3IGcuQ2koIm9uZXNpZS5yZXF1ZXN0IixXKSl9fTsKUGw9ZnVuY3Rpb24obixXKXtpZihXLnFOKCl8fG4ucU4oKSluLnBvbGljeS5QTHx8KG4ucG9saWN5Lmo/Zy5BZyhuLmxvYWRlcik6bi5sb2FkZXIuQlkoKSk7ZWxzZXtpZihuLnBvbGljeS5XJiZXLmlzQ29tcGxldGUoKSYmVyBpbnN0YW5jZW9mIHV1KXt2YXIgRD1uLmxvYWRlcixiPUQuVTt2YXIgdj1PYmplY3QuYXNzaWduKFcubmYuRCgpLHtyc3Q6Vy5zdGF0ZSxzdHJtOlcueGhyLkdwKCksZDpXLm5mLkR0Py5iWSgpLGNuY2w6Vy54aHImJlcudDUuWD8xOjAscnFiOlcuRUYsY3d0OlcudDUuVyxzd3Q6Vy5QcT8uS059KTt2PU9iamVjdC5hc3NpZ24oRGsoVy5pbmZvKSx2KTtiLmNhbGwoRCwicnFzIix2KX1pZihXLmlzQ29tcGxldGUoKSYmVy5ENSgpJiZXIGluc3RhbmNlb2YgdXUpVy5kaXNwb3NlKCksbi5sb2FkZXIuQlkoKTtlbHNle2lmKFcucVEoKSluLkhlPSEwLFcgaW5zdGFuY2VvZiB1dSYmWFNoKG4udGltaW5nLFcpLG0wTShuKSxtdihuKTtlbHNlIGlmKFcudG4oKSlEPW4uTC5lSigpLApXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJkQmJihuLkIuWnQoKS5OLlFRKEtZeCl8fG4ubG9hZGVyLndSKEQpKSxXIGluc3RhbmNlb2YgdXUmJlcua2goKT8oVy5WRygpJiZuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLDApLFcuZGlzcG9zZSgpKTpXIGluc3RhbmNlb2YgdXUmJng2dyhXKT9uLmxvYWRlci5ETz8uVygpOlcgaW5zdGFuY2VvZiBLRD9uLk4ucG9wKCk6KEQ9MSxXLmNhblJldHJ5KCkmJnd1KG4ubG9hZGVyKSYmKE95WihuLFcpLEQ9MCksYj1uLkwuZUooKSxXIGluc3RhbmNlb2YgdXUmJlcuaW5mby5OPy5Dbj8uajQmJmImJm4uQi5adCgpLk4uUVEoS1l4KSYmKFcuY2FuUmV0cnkoKSYmd3Uobi5sb2FkZXIpP24ubG9hZGVyLlUoInV0Y1NlZWtpbmdSZXRyeSIse3RhcmdldFV0Y1RpbWVTZWM6Yn0pOm4ubG9hZGVyLndSKGIpKSxuLmxvYWRlci5oYW5kbGVFcnJvcihXLlZHKCksVy55MCgpLEQpKTtlbHNle2lmKG4ubG9hZGVyLmlzU3VzcGVuZGVkJiYKIVcuaXNDb21wbGV0ZSgpKXJldHVybjttdihuKX1XLnFOKCl8fFcgaW5zdGFuY2VvZiBLRHx8KEQ9MCxXLmlzQ29tcGxldGUoKSYmKEQ9cDBiKFcsbi5wb2xpY3ksbi5ubikpLEQhPT0wJiYoVy5pbmZvLlhiLmo/KEQ9Vy5pbmZvLEQ9bmV3IE9xKDIsRC5YYixELllhKSxELnBTPSExKTooYj1uZXcgT3EoMSxXLmluZm8uWGIpLGIucFM9RD09PTIsRD1iKSxQT3QobixEKSkpO2lmKFcuaXNDb21wbGV0ZSgpKXtpZihuLnBvbGljeS5RciYmbi52aWRlb0RhdGEuaXNPdGYoKSYmbi5CLlY9PT0icHciJiYhbi5PJiYhVy5xUSgpJiYhVy50bigpJiYhUlEobi52aWRlb0RhdGEpJiYhbi52aWRlb1RyYWNrLlRDKXtuLkN4PSExO24uTz0hMDtuLmxvYWRlci5ncCh7cmVhc29uOiJzYWJyLm5vX3ZpZGVvX3JlY2VpdmVkX29uX3N0YXJ0IixhY3Rpb246MH0pO3JldHVybn1uLkN4PSExO1cucVEoKXx8KG4uTz0hMCxuLkhlPSExKTtuLkIuUygiaHRtbDVfdXNlX21lZGlhX2ZldGNoX2NvbnRyb2xsZXIiKSYmCm4ubG9hZGVyLkwuV0ooInJlcXVlc3Rjb21wbGV0ZWQiKX1uLnBvbGljeS5IRCYmIVcuaXNDb21wbGV0ZSgpP1FvKG4ubG9hZGVyKTpuLmxvYWRlci5CWSgpfX19OwpaeVM9ZnVuY3Rpb24obil7bi5wb2xpY3kuTEImJihuLlZRPXZvaWQgMCxuLkc3PTApfTsKaXlpPWZ1bmN0aW9uKG4pe2lmKG4ubG9hZGVyLkFiKXJldHVybiBaayhuLCJwcmVwYXJpbmduZXh0bG9vcCIpLCExO2lmKCFVMFoobixuLlMkKSlyZXR1cm4gWmsobiwicmF0ZWxpbWl0ZWQiKSwhMTtpZihpUyhuLmF1ZGlvVHJhY2spJiZpUyhuLnZpZGVvVHJhY2spKXJldHVybiBaayhuLCJlbmRvZnN0cmVhbSIpLCExO2lmKG4ucG9saWN5LlUxKWlmKG4ucG9saWN5Llgpe2lmKG4uVk8/LmNKKCkpcmV0dXJuIFprKG4sInNzZGFpYmxvY2tlZCIpLCExfWVsc2V7dmFyIFc9ITE7aWYobi5KQy5KPT09MilXPSEwO2Vsc2UgaWYobi5KQy5KPT09Myl7VXEobik7bi5sb2FkZXIuU1coKTt2YXIgRD1QNihuLmF1ZGlvVHJhY2ssbi5sb2FkZXIuaXNTZWVraW5nKCkpLmVXO3ZhciBiPVA2KG4udmlkZW9UcmFjayxuLmxvYWRlci5pc1NlZWtpbmcoKSkuZVc7dmFyIHY9bi5sb2FkZXIuZ2V0Q3VycmVudFRpbWUoKXx8MDtEPXl1KG4sRCx2KTtiPXl1KG4sYix2KTtiPU1hdGgubWluKEQsYik7dj1uLkpDOwpiPj12Llc/KHYuVSgic2RhaSIse2hhbHRycTpiLGVzdDp2Lld9KSxiPSEwKTpiPSExO2ImJihXPSEwKX1pZihXKXJldHVybiBaayhuLCJ3YWl0aW5nZm9yYWRzIiksITF9bi5wb2xpY3kudTUmJihuLnR3PUVxKG4sbi5hdWRpb1RyYWNrKSxuLmJkPUVxKG4sbi52aWRlb1RyYWNrKSk7aWYoIW4uSilyZXR1cm4gaTEobix7bm9wb2xpY3k6MX0pLCEwO2lmKG4uTC5lSigpKXJldHVybiBpMShuLHt1dGM6MX0pLCEwO2lmKG4uazYuSylyZXR1cm4gaTEobix7YXVkaW86MX0pLCEwO2lmKG4ucG9saWN5LnNaJiZuLms2LkQpcmV0dXJuIGkxKG4se2NvbnN0cmFpbnQ6MX0pLCEwO2lmKCFuLkoudGFyZ2V0QXVkaW9SZWFkYWhlYWRNc3x8IW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zKXJldHVybiBpMShuLHtub3JlYWRhaGVhZDoxfSksITA7aWYobi5wb2xpY3kuaiYmbi5sb2FkZXIuWFgoKSlyZXR1cm4gaTEobix7c2Vla1RvSGVhZDoxfSksITA7Vz1NYXRoLm1pbihPYihuLmxvYWRlcixuLmF1ZGlvVHJhY2spKgoxRTMsbi5KLnRhcmdldEF1ZGlvUmVhZGFoZWFkTXMpO2I9TWF0aC5taW4oT2Iobi5sb2FkZXIsbi52aWRlb1RyYWNrKSoxRTMsbi5KLnRhcmdldFZpZGVvUmVhZGFoZWFkTXMpO3Y9TWF0aC5taW4oVyxiKTt2YXIgaz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTMse0IxOmgsbDE6eCxjdjpMLGFrOmV9PXlPWihuLGspO0Q9aDx2O3ZhciBHPXg8djtpZih1MShuKSl7az1vayhuLlcsayk7dmFyIHI9azx2O24uTC5XWCgpJiZyJiYhRCYmIUcmJm4ubG9hZGVyLlUoInNhYnJjcm5tIix7Y3JhOmssbXByYTp2LGNicmw6bi5XLmxlbmd0aH0pfWlmKCEoRHx8R3x8dTEobikmJnIpKXJldHVybiBuLnBvbGljeS51NSYmbi5MLldYKCkmJihMPHZ8fGU8dikmJm4ubG9hZGVyLlUoInNhYnJuY3JxIix7Y2FyOmgsdmFjOngsYWJoOkwsdmJoOmUsbWFyOlcsbXZyOmJ9KSxaayhuLCJyZWFkYWhlYWRtZXQiKSwhMTtpZihuLnBvbGljeS5SVyYmRVJTKG4ubG9hZGVyKSYmbi52aWRlb0RhdGEuTlAoKSlyZXR1cm4gWmsobiwKInNob3J0c2J1ZmZlcmVkdG9lbmQiKSwhMTtpZihuLnBvbGljeS5XZCYmRVJTKG4ubG9hZGVyKSlyZXR1cm4gWmsobiwidm9kYnVmZmVyZWR0b2VuZCIpLCExO3I9bi5sb2FkZXIueXIoKTtyLmNhcj1oO3IudmFjPXg7ci5tYXI9VztyLm12cj1iO3IudGFyPW4uSi50YXJnZXRBdWRpb1JlYWRhaGVhZE1zO3IudHZyPW4uSi50YXJnZXRWaWRlb1JlYWRhaGVhZE1zO3IucGNsPW4uSi5wbGF5YmFja0Nvb2tpZT8ubGVuZ3RofHwwO3IudmJ1PXJrKG4uTC5oNSgpPy5KKCl8fG51bGwpO3IuYWJoPUw7ci52Ymg9ZTtpMShuLHIpO3JldHVybiEwfTsKdWtoPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bmV3IE9xKDAsbi5LdS5ZLG4pO24uazYuRD0hMTtuLnBvbGljeS52WCYmbi5sb2FkZXIuVSgic2FicmNzYyIse3RvOm4ucG9saWN5LlRJLHJsOm4ucG9saWN5LnN6LHNidDpuLnBvbGljeS5DdT8xOjB9LCEwKTtuPVBPdChuLEQsVyk7bi5wb2xpY3kuRkYmJihuLlU4PW4ucG9saWN5LmpfKCkuZXhwb3J0cy5TYWJyUmVxdWVzdENvb3JkaW5hdG9yX2NyZWF0ZSgpKTtyZXR1cm4gbn07Cm9SdD1mdW5jdGlvbihuLFcpe2l5aShuKSYmKFc9dWtoKG4sVyksbi5OLnB1c2goVyksbi5ZPy5OKG4uS3UuWSksbi5WPjAmJm4uUyQuRXkrKyl9OwpQT3Q9ZnVuY3Rpb24obixXLEQpe3ZhciBiPXtpajpuLmlqLEJlOihrLGgpPT57bi5MLkthKGssaCl9LApORDpuLnBvbGljeS5XLEtwOm4ucG9saWN5LktwfTtuLmlqLkouViYmKGIucVk9KG4udmlkZW9UcmFjay5QSi5pbmZvLk5zfHwwKSsobi5hdWRpb1RyYWNrLlBKLmluZm8uTnN8fDApKTtuLnBvbGljeS5VVCYmKGIuTzg9bi5hdWRpb1RyYWNrLlBKLmluZGV4LlVjKCksYi5Rbj0hMSk7dmFyIHY9dW5VKFcsbi5wb2xpY3ksbi5ubik/MjoxO3YhPT1uLm51JiYobi5udT12LG0wTShuKSk7RD1kMGIobixEKTtpZihuLnBvbGljeS5ZJiZuLnBvbGljeS5XJiZELlJBKXtsZXQgaz12PSIiO2ZvcihsZXQgaCBvZiBELlJBKW4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5oYXMoaCl8fG4ucG9saWN5LlkmJkQuYkomJkQuYkoudHlwZT09PWg/dis9YF8ke2h9YDprKz1gXyR7aH1gO24ubG9hZGVyLlUoInNhYnJibGRycXMiLHtjdHh0czp2LG1pc2N0eHRzOmt9KX0hVy5zZXREYXRhKEQsbi5wb2xpY3ksbi5ubikmJm4ucG9saWN5LlkmJm4ubG9hZGVyLmhhbmRsZUVycm9yKCJwbGF5ZXIuZXhjZXB0aW9uIiwKe3JlYXNvbjoiYnVpbGRzYWJycmVxdWVzdGRhdGFmYWlsZWQifSwxKTtiPW5ldyB1dShuLnBvbGljeSxXLG4uS3Usbi5ubixuLGIsbi5sb2FkZXIuVTQoKSk7aXUobi50aW1pbmcpO24ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyY3JxaW5mbyIse3JuOmIuY0EoKSxwcm9iZTpXLkQ1KCl9KTtyZXR1cm4gbi5GRj1ifTsKRXE9ZnVuY3Rpb24obixXKXtVcShuKTtuLmxvYWRlci5TVygpO3JldHVybiBQNihXLG4ubG9hZGVyLmlzU2Vla2luZygpKX07CnUxPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBvbGljeS55RSYmISFuLlh9Owp5dT1mdW5jdGlvbihuLFcsRCl7bj1uLmxvYWRlci5TVygpfHwwO3JldHVybiBvayhXLChEK24pKjFFMykvMUUzK0R9OwpkMGI9ZnVuY3Rpb24obixXKXt2YXIgRD1kaihuLmxvYWRlcikmJlcmJlcuU3MhPT12b2lkIDAmJiFXLmJNP01hdGguY2VpbCgoVy5Tcysobi5sb2FkZXIuU1coKXx8MCkpKjFFMyk6VXEobik7aWYobi5wb2xpY3kudTUpe3ZhciBiPW4udHc7dmFyIHY9bi5iZH1lbHNlIGI9RXEobixuLmF1ZGlvVHJhY2spLHY9RXEobixuLnZpZGVvVHJhY2spO3ZhciBrPVsuLi5iLmVXLC4uLnYuZVddO3UxKG4pJiZrLnB1c2goLi4ubi5XKTt2YXIgaD1bLi4uYi5CaSwuLi52LkJpXSx4PVtdO2Zvcih2YXIgTCBvZiBoKUwudkQhPT12b2lkIDAmJkwudkQ+TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/bi5sb2FkZXIuVSgic2FicnBzZWdsbXQiLHtsbXQ6TC52RCxpdGFnOkwuZm9ybWF0SWQ/Lml0YWcsc3E6TC5zZXF1ZW5jZU51bWJlcn0pOngucHVzaChMKTtoPW4ubG9hZGVyLmx1KCk7bi5wb2xpY3kuWW4mJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEw9bi52aWRlb0RhdGEubGVuZ3RoU2Vjb25kcyoKMUUzLEQ+PUwmJm4ubG9hZGVyLlUoImludmFsaWRTYWJyQ210Iix7Y210OkQsdmQ6TH0pKTtMPW4uaWo7dmFyIGU9bi5MLEc9bi5LdSxyPW4uSixOPW4udmlkZW9EYXRhLmJkLEg9bi5wb2xpY3ksQT1uLmxvYWRlci5xRyx5PW4uVlE/LmtFLFQ9bi5WUT8uVW0sej1uLkc3LEM9TnVtYmVyKG4uazYuWD8uaW5mby5pdGFnKXx8MCxRPU51bWJlcihuLms2Lmo/LmluZm8uaXRhZyl8fDAsVj1uLkwudzkoKTt2YXIgTHQ9Vz8uSiQ/Vy5KJDpuLmxvYWRlci5pc1N1c3BlbmRlZD80OnZvaWQgMDtEPXtpajpMLEw6ZSxLdTpHLGVXOmssQmk6eCxuUjpELG5leHRSZXF1ZXN0UG9saWN5OnIsUkE6TixvWjpILHB6OkEsa0U6eSxVbTpULEc3OnosdU06QyxyRzpRLHEkOmgscjg6VixKJDpMdCxDeDpuLkN4LGdEOm4uUFgsSGU6bi5IZX07az1uLmxvYWRlci5NWSgpO3g9Zy5kMShrKTtrJiYoRC5kTj14KTtpZihXPWRqKG4ubG9hZGVyKSYmVz8uYk0/Vy5TczpuLkwuZUooKSlELmo0PVcqMUUzO1c9bi5rNjsKaz1XLnR3O2lmKFcub1o/LkR0KCkmJiFrKWZvcih0aSBvZiBXLlcpaWYodGkua1ope2s9ITA7YnJlYWt9dmFyIHRpPVcub1ouRHQoKSYmIWs/W106TyRpKFcsVy5XKTtELkdoPXRpO3RpPW4uazY7dGkub1ouRHQoKSYmIXRpLmJkP3RpPVtdOihXPUtqaSh0aSksVy5sZW5ndGg9PT0wJiYoVz10aS5WKSx0aT1PJGkodGksVykpO0QuTSQ9dGk7RC5Fdj11MShuKT9bbi5YXTp2b2lkIDA7RC5JOD1BcnJheS5mcm9tKHdDKG4uazYuTikua2V5cygpLE51bWJlcik7RC5sbD1uLms2LmxsKCk7bi5wb2xpY3kuS0UmJihELllzPXpTMihuLmxvYWRlcixuLmF1ZGlvVHJhY2spLEQuZXE9elMyKG4ubG9hZGVyLG4udmlkZW9UcmFjaykpO3RpPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCk7Yj15dShuLGIuZVcsdGkpO3Y9eXUobix2LmVXLHRpKTt2PU1hdGgubWluKGIsdik7bi5UQz12O24ucG9saWN5LlUxJiYodTEobikmJihiPXl1KG4sbi5XLHRpKSxuLkwuV1goKSYmYjx2JiZuLmxvYWRlci5VKCJzYWJyY2ZiIiwKe21ldDp2LGNldDpiLGNicmw6bi5XLmxlbmd0aH0pLHY9TWF0aC5taW4odixiKSksIW4ucG9saWN5LlgmJihiPW4uc1U/LlNQKHYpKSkmJihELk15PWIsbi5sb2FkZXIuVSgic2RhaSIse3NzaW5mbzpiLmN1ZXBvaW50SWR9KSk7bi5wb2xpY3kuWCYmKGI9bi52aWRlb0RhdGEuYkJbbi52aWRlb0RhdGEuSj8uY29udGFpbmVyVHlwZXx8MF0sdis9bi5sb2FkZXIuU1coKSxELmJLPW4uVk8/LlkodixiKSxELmJLJiZuLmxvYWRlci5VKCJjbHNkYWkiLHtzc2luZm9zOkQuYksubGVuZ3RofSksbi5WTz8uTygpKTtuLnBvbGljeS5ZJiZuLk4ubGVuZ3RoPjAmJm4uTlswXS5ETCgpJiYoRC5iSj1uLk5bMF0ubWYoKSk7cmV0dXJuIER9OwpVcT1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5qJiZuLmxvYWRlcj8uWFgoKSxEPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCl8fDA7RD1sSWIobixEKTthOmlmKG4ucG9saWN5LmZtJiZuLmxvYWRlci5pc1NlZWtpbmcoKSl7dmFyIGI9QTAobi52aWRlb1RyYWNrLEQpO24ubG9hZGVyLlUoImFzbXRmbmN0diIse2I6RCxhOmJ9KTtpZighaXNOYU4oYikpe0Q9YjticmVhayBhfX1iPW4ubG9hZGVyLlNXKCl8fDA7RCs9YjtiPVlwKG4udmlkZW9EYXRhKXx8Zy5wQShuLnZpZGVvRGF0YSk7dmFyIHY9MDtXPyhiJiYodj1OdW1iZXIuTUFYX1NBRkVfSU5URUdFUiksbi52aWRlb0RhdGEuUkkmJih2PU1hdGguY2VpbChuLnZpZGVvRGF0YS5KVSoxRTMpKSk6dj1NYXRoLmNlaWwoRCoxRTMpO3JldHVybiBNYXRoLm1pbihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUix2KX07CmxJYj1mdW5jdGlvbihuLFcpe2lmKG4ubG9hZGVyLmlzU2Vla2luZygpKXJldHVybiBXO3ZhciBEPW4uTC5oNSgpO2lmKCFEKXJldHVybiBXO0Q9RC5KKCk7aWYoRC5sZW5ndGg9PT0wfHxCUihELFcpKXJldHVybiBXO2lmKCFuLnZpZGVvVHJhY2suZnAoVykmJiFuLmF1ZGlvVHJhY2suZnAoVykpcmV0dXJuIG4ubG9hZGVyLlUoInN1bmRybiIse2I6MCxsdDpXfSksVzt2YXIgYj1XLHY9SW5maW5pdHk7Zm9yKGxldCBrPTA7azxELmxlbmd0aDtrKyspe2lmKEQuc3RhcnQoayk+Vyljb250aW51ZTtsZXQgaD1XLUQuZW5kKGspO2g8diYmKHY9aCxiPUQuZW5kKGspKX1yZXR1cm4gYiE9PVcmJihuLmxvYWRlci5VKCJzdW5kcm4iLHticmU6YixsdDpXfSksdj49MjApPyhuLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIse3JlYXNvbjoiYnVmZmVydW5kZXJydW5leGNlZWRzbGltaXQifSksVyk6Yn07Cm9rPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MCxiPS0xO2ZvcihsZXQgdiBvZiBuKWlmKCEodi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXM8Vykpe2lmKGI8MCYmdi5zdGFydFRpbWVNcz5XfHxiPj0wJiZ2LkFDPmIrMSlicmVhaztEPU1hdGgubWF4KEQsdi5zdGFydFRpbWVNcyt2LmR1cmF0aW9uTXMpO2I9TWF0aC5tYXgoYix2Lmk5KX1yZXR1cm4gTWF0aC5tYXgoMCxELVcpfTsKWms9ZnVuY3Rpb24obixXKXtuLkdDPVc7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcmIiLHtyZWFzb246V30pfTsKVTBaPWZ1bmN0aW9uKG4sVyl7YTp7aWYobi5WPjApe3ZhciBEPU1hdGguZmxvb3IoKDAsZy5SKSgpLzFFNCk7aWYoRD09PVcuWGope2lmKFcuRXk+PW4uVil7aWYoVy5FeT09PW4uVil7RD17cmVhc29uOiJ0b29tYW55cmVxdWVzdHMifTtELmxpbWl0PVcuRXk7aWYobi5GRil7bGV0IGI9RGsobi5GRi5pbmZvKTtELmxyX3B0aW1lPWIucHRpbWU7RC5scl9ydHlwZT1iLnJ0eXBlO0QubHJfYnJsPWIuYnJsO0QubHJfcHM9Yi5wc31uLmxvYWRlci5oYW5kbGVFcnJvcigicGxheWVyLmV4Y2VwdGlvbiIsRCk7Vy5FeSs9MX1XPSExO2JyZWFrIGF9fWVsc2UgVy5Yaj1ELFcuRXk9MH1XPSEwfXJldHVybiFXfHxuLmxvYWRlci5pc1N1c3BlbmRlZCYmbi5sb2FkZXIuT00/ITE6bi5qJiYoMCxnLlIpKCk8bi5qPyhnLkphKG4ubG9hZGVyLmoyKSwhMSk6bi5OLmxlbmd0aD4wJiYoIW4ucG9saWN5Lll8fG4uTi5sZW5ndGghPT0xfHwhbi5OWzBdLkRMKCkpfHwhbi5LdS5ZPy5ZKG4ucG9saWN5LG4ubm4sCm4ubG9hZGVyLkl3KXx8bi5EdD8hMTohMH07CmkxPWZ1bmN0aW9uKG4sVyl7bi5HQz12b2lkIDA7bi5ZWj0oMCxnLlIpKCk7bi5wb2xpY3kuTWQmJm4ubG9hZGVyLlUoInNhYnJjcnEiLFcpfTsKeU9aPWZ1bmN0aW9uKG4sVyl7dmFyIHtjdjpELGFrOmJ9PVRKYihuKTtpZihuLnBvbGljeS51NSl7dmFyIHY9b2sobi50dy5lVyxXKTtuPW9rKG4uYmQuZVcsVyl9ZWxzZSB2PUQsbj1iO3JldHVybntCMTp2LGwxOm4sY3Y6RCxhazpifX07Cm0wTT1mdW5jdGlvbihuKXtuLnZpZGVvRGF0YS5iZC5jbGVhcigpO2lmKG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5zaXplPjApZm9yKHZhciBXIG9mIG4udmlkZW9EYXRhLnNhYnJDb250ZXh0VXBkYXRlcy5rZXlzKCkpbi52aWRlb0RhdGEuc2FickNvbnRleHRVcGRhdGVzLmdldChXKT8uc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcpO2lmKG4ucG9saWN5LlkmJm4uTi5sZW5ndGgpZm9yKGxldCBEIG9mIG4uTikoVz1ELm1mKCkpJiZXLnR5cGUmJlcuc2VuZEJ5RGVmYXVsdCYmbi52aWRlb0RhdGEuYmQuYWRkKFcudHlwZSl9Owptdj1mdW5jdGlvbihuKXtmb3IoO24uTi5sZW5ndGgmJm4uTlswXS5CNihuLkUxKCkpOyl7bGV0IFc9bi5OLnNoaWZ0KCk7ajlDKG4sVyl9bi5OLmxlbmd0aCYmajlDKG4sbi5OWzBdKX07Cmo5Qz1mdW5jdGlvbihuLFcpe1cgaW5zdGFuY2VvZiB1dSYmKG4uZSQ9Vyk7dmFyIEQ9bmV3IFNldChXLlNKKG4uRTEoKSkpO2ZvcihsZXQgaCBvZiBEKXtpZihEPVcgaW5zdGFuY2VvZiBLRCl7RD1uLms2O3ZhciBiPXl5eChELGgpLHY9bkQoRCxELnZpZGVvSW5mb3MpLmluY2x1ZGVzKGgpOyFELm9aLlRQfHxifHx2fHxELmxvYWRlci5VKCJzYWJyY3BmIix7ZmlkOmAke2h9YCx2ZmlkczpgJHtuRChELEQudmlkZW9JbmZvcykuam9pbigiLiIpfWAsc2FpZDpELll8fCIifSk7RD0hKGJ8fHYpfWlmKEQpY29udGludWU7RD1XIGluc3RhbmNlb2YgdXU/eUIoVyk6dm9pZCAwO2lmKEQhPT12b2lkIDApe2lmKCFXLlFBKGgsbi5FMSgpKSljb250aW51ZTtiPW4uS3UuSi5nZXQoaCk7aWYoIWIpY29udGludWU7bi5wb2xpY3kueUUmJmIuaW5mby5OKCl8fChiLmluZm8uZVMoKT9uLmF1ZGlvVHJhY2s6bi52aWRlb1RyYWNrKS5aYyhELGgpO2NvbnRpbnVlfUQ9Vy5mMyhoLG4uRTEoKSk7Yj1uLnBvbGljeS55RSYmCkQubGVuZ3RoPjAmJkRbMF0uUEouaW5mby5OKCk7aWYoIVcuUUEoaCxuLkUxKCkpKWNvbnRpbnVlO3Y9Vy54OShoLG4uRTEoKSk7Zm9yKGxldCB4IG9mIHYpe24ucG9saWN5LlcmJlcgaW5zdGFuY2VvZiBLRCYmbi5sb2FkZXIuVSgib21ibHNzIix7czp4LmluZm8uZ2EoKX0pO2lmKGIpe3Y9bi50aW1pbmc7di5EfHwodi5EPSgwLGcuUikoKSxnLkVHKCJmY2JfciIsdi5ELHYuelIpKTtpZihuLnBvbGljeS5rdSl7dj1nLlZmKHguaW5mby5QSi5pbmZvLG4uS3UuelcpO3ZhciBrPXguaW5mby5qJDtpZihuLksmJk1rKG4uSyk9PT1Nayh2KSYmazw9bi5jSiljb250aW51ZTt4LmluZm8uYVomJihuLks9dixuLmNKPWspfXY9bjt2LnZpZGVvRGF0YS56VygpJiZ2LlgmJk1rKHYuWCk9PT1NayhnLlZmKHguaW5mby5QSi5pbmZvLHYuS3UuelcpKSYmdi5MLldKKCJzYWJyQ2FwdGlvbnNEYXRhTG9hZGVkIix4LHYueUUuYmluZCh2KSk7Y29udGludWV9dj14LmluZm8uUEouaW5mby5lUygpO2s9eC5pbmZvLlBKOwpsZXQgTD1XIGluc3RhbmNlb2YgS0Q/MToyO2lmKHYpe2lmKG4uazYuWHIoayxMLFcuSmQobi5FMSgpKT8udG9rZW4pKWNvbnRpbnVlfWVsc2Ugbi5rNi5EUihrLEwsVy5KZChuLkUxKCkpPy50b2tlbik7az12P24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7VyBpbnN0YW5jZW9mIEtEJiYoay5qPSExLFcgaW5zdGFuY2VvZiBLRCYmKHY/Z2oxKG4udGltaW5nKTplN2Iobi50aW1pbmcpKSk7dHJ5e2suV2coRCx4KX1jYXRjaChlKXt2PUIkKGUpLG4ubG9hZGVyLmhhbmRsZUVycm9yKHYuZXJyb3JDb2RlLHYuZGV0YWlscyx2LnNldmVyaXR5KSxrLnppKCksbi5YJCghMSwicHVzaFNsaWNlIiksZy5BZyhuLmxvYWRlcil9fX19OwpPeVo9ZnVuY3Rpb24obixXKXtuLnBvbGljeS5ZP24uTi5zcGxpY2Uobi5OLmluZGV4T2YoVykpLmZvckVhY2goRD0+e0QuZGlzcG9zZSgpfSk6KG4uTi5wb3AoKSxXPy5kaXNwb3NlKCkpfTsKQ09qPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXTtmb3IobGV0IHY9MDt2PG4uTi5sZW5ndGg7disrKVcmJm4uTlt2XWluc3RhbmNlb2YgS0Q/Yi5wdXNoKG4uTlt2XSk6KG4ucG9saWN5Lk1kJiZuLmxvYWRlci5VKCJzYWJyZGlzIix7ZDpuLk5bdl0uY0EoKSxzcmM6RH0pLG4uTlt2XS5kaXNwb3NlKCkpO24uTj1ifTsKQkp0PWZ1bmN0aW9uKG4sVyl7aWYoVy50bigpfHxXLnFOKCkpe3ZhciBEPW4ubG9hZGVyLGI9RC5VLHY9Vy5zdGF0ZTtuPW4uRTEoKTtXPVcubkE/LmdldChuKT8uWSgpPz8tMTtiLmNhbGwoRCwic2Ficm9tYiIse3M6dix0Ynl0ZXM6V30pfWVsc2V7RD1XLlNKKG4uRTEoKSk7Yj0hMTtmb3IobGV0IGsgb2YgRClpZih2PW4uazYsbkQodix2LnZpZGVvSW5mb3MpLmluY2x1ZGVzKGspKXtiPSEwO2JyZWFrfWlmKEQubGVuZ3RoPT09MHx8YiluLlBYPSEwO24uTi5wdXNoKFcpO1cuWEwucHVzaChuKTtpdShuLnRpbWluZyk7bi5wb2xpY3kuclcmJlcuYlAmJm4udVEoVy5iUCxXLmNBKCkpfX07ClRKYj1mdW5jdGlvbihuKXt2YXIgVz1uLmF1ZGlvVHJhY2suenMoITApKjFFMztuPW4udmlkZW9UcmFjay56cyghMCkqMUUzO3JldHVybntjdjpXLGFrOm59fTsKRllDPWZ1bmN0aW9uKG4se1NzOlcsYk06RH0pe2lmKFc9PT12b2lkIDApcmV0dXJuITE7Vz1EP24uTC5sSyhXKTpXO2lmKFc9IW4ubG9hZGVyLmZwKFcpJiZVMFoobixuLkN1KSl7Vz1uLkwuZ2V0Q3VycmVudFRpbWUoKSoxRTM7bGV0IHtCMTpiLGwxOnZ9PXlPWihuLFcpO1c9Yj49N0UzJiZ2Pj03RTN9cmV0dXJuIFd9Owp3Qng9ZnVuY3Rpb24obixXKXtuLmRlbGF5Py5kaXNwb3NlKCk7bi5kZWxheT1udWxsO3ZhciBEPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KChiLHYpPT5iLm1lZGlhVGltZS12Lm1lZGlhVGltZSk7CkQubGVuZ3RoIT09MCYmKFc9KERbMF0ubWVkaWFUaW1lLVcpKjFFMy9uLkwuZ2V0UGxheWJhY2tSYXRlKCksbi5kZWxheT1uZXcgZy5mXygoKT0+e3pjKG4pfSxXPjUwMD9XLTUwMDpXKSxuLmRlbGF5LnN0YXJ0KCkpfTsKemM9ZnVuY3Rpb24obixXKXtpZihsMShuLkwuZ2V0UGxheWVyU3RhdGUoKSkmJm4uTi5zaXplIT09MCl7Vz1XPz9BcnJheS5mcm9tKG4uTi52YWx1ZXMoKSkuc29ydCgodixrKT0+di5tZWRpYVRpbWUtay5tZWRpYVRpbWUpOwp2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj0oV1swXS5tZWRpYVRpbWUtRCkqMUUzL24uTC5nZXRQbGF5YmFja1JhdGUoKTtpZihiPDUwMCl7RD1iPjA/bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpOkQ7Zm9yKGxldCB2IG9mIFcpaWYoRD49di5tZWRpYVRpbWUpdi5yZXNvbHZlKFt2Lm1lZGlhVGltZSx2LmlkXSksbi5OLmRlbGV0ZSh2LmlkKTtlbHNlIGJyZWFrfXdCeChuLEQpfX07Ck1fdz1mdW5jdGlvbihuLFcsRCl7bi5OLmRlbGV0ZShEKTtyZXR1cm4gbmV3IFByb21pc2UoYj0+e24uTi5zZXQoRCx7aWQ6RCxtZWRpYVRpbWU6VyxyZXNvbHZlOmJ9KTtiPUFycmF5LmZyb20obi5OLnZhbHVlcygpKS5zb3J0KCh2LGspPT52Lm1lZGlhVGltZS1rLm1lZGlhVGltZSk7CkQ9PT1iWzBdLmlkJiZ6YyhuLGIpfSl9OwpROWI9ZnVuY3Rpb24obil7dmFyIFc9bi5MLmg1KCk/LmdldEN1cnJlbnRUaW1lKCk/P24uTC5nZXRDdXJyZW50VGltZSgpLEQ9bi5YLlIzKFcpO1JTQyhuLEQsVyk7bi5pc1NlZWtpbmc9ITE7dmFyIGI9QXJyYXkuZnJvbShuLk4ua2V5cygpKS5maWx0ZXIodj0+dj49RCkuc29ydCgodixrKT0+di1rKTsKZm9yKGxldCB2IG9mIGIpYj12PT09RD9XLW4uWC5nZXRTdGFydFRpbWUoRCk6MCxuLksodixuLk4uZ2V0KHYpLGIpfTsKVl8yPWZ1bmN0aW9uKG4sVyxELGI9ITEpe1chPT1uLktZJiYobi5LWT1XLG4uTC5XSigicGxheWJhY2tzdGFydGVkIixXLEQrbi5MLlNXKCksYikpfTsKUlNDPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLk4uZ2V0KFcpLHY9bi5YLmdldFN0YXJ0VGltZShXKSxrPW4uWC5nZXREdXJhdGlvbihXKSxoPXY7KGI/Lk4/P1tuLmNwbl0pLmZvckVhY2goKHgsTCk9Pnt2YXIgZT1iPy5KW0xdPz9rO0Q+PWgmJkQ8aCtlJiYoTD14IT09bi5jcG4/aC0oYj8uWFtMXT8/MCk6aCxuLko9eCxWXzIobix4LEwsITApKTtoKz1lfSl9OwpjT3c9ZnVuY3Rpb24obixXKXsobi5XLmdldChXKT8/W10pLmZvckVhY2goRD0+e24uai5OLmRlbGV0ZShEKX0pOwpuLlcuZGVsZXRlKFcpfTsKYUlaPWZ1bmN0aW9uKG4sVyxELGIpe24uSj1EO0Q9YCR7V30uJHtEfWA7bi5XLmhhcyhXKT9uLlcuZ2V0KFcpLnB1c2goRCk6bi5XLnNldChXLFtEXSk7TV93KG4uaixiLEQpLnRoZW4oKFt2LGtdKT0+e3ZhciBbaCx4XT1rLnNwbGl0KCIuIik7WyxrXT1bTnVtYmVyKGgpLHhdO1ZfMihuLGssdil9KX07CldYaD1mdW5jdGlvbihuLFcsRCxiLHYsayl7cmV0dXJuIFcuVDcmJlcuRTUmJkQ9PT0zP25ldyBudTEobixXLGIsdixrKTpudWxsfTsKRExiPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kuRDIpe3ZhciBEPVcuaW5mby5OcyxiPUdEKG4uc2NoZWR1bGUpO1c9Vy5pbmRleC5VYygpO0Q9TWF0aC5tYXgoMSxiL0QpO24uWT1NYXRoLnJvdW5kKE1hdGgubWF4KCgoRC0xKSpXK24ucG9saWN5LndhKS9ELFctbi5wb2xpY3kuTWwpKjFFMyl9fTsKa25yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9RGF0ZS5ub3coKS8xRTMsYj1ELW4uc3RhcnRUaW1lU2Vjcyx2PUQtbi5WLGs9dj49bi5wb2xpY3kuT04saD0hMTtpZihrKXtsZXQgeD0wOyFpc05hTihXKSYmVz5uLmomJih4PVctbi5qLG4uaj1XKTt4L3Y8bi5wb2xpY3kuSVcmJihoPSEwKTtuLlY9RH1EPWI+PW4ucG9saWN5Lk1sJiYhbi5XO2lmKCFrJiYhRCYmYkZqKG4sVykpcmV0dXJuIE5hTjtEJiYobi5XPSEwKTthOntiPWg7RD0oMCxnLlIpKCkvMUUzLShuLnF6LkxnKCl8fDApLW4uSy5XLW4ucG9saWN5LndhO2s9bi5KLnNlZ21lbnRTdGFydFRpbWU7RD1rK0Q7aWYoYil7aWYoaXNOYU4oVykpe1RjKG4sTmFOLCJuIixXKTtrPU5hTjticmVhayBhfWI9Vy1uLnBvbGljeS5FVDtiPEQmJihEPWIpfWVsc2Ugbi5XJiYoYj1EK24ucG9saWN5LndhLW4uTytuLnBvbGljeS5BTCxpc05hTihXKXx8KGI9TWF0aC5tYXgoYixNYXRoLm1pbihELFctbi5wb2xpY3kuRVQpKSksRD1iKTtrPUQ9TWF0aC5tYXgoRCwKayl9bi5OPWs7aWYoaXNOYU4obi5OKSlyZXR1cm4gbi5jbGVhcigpLE5hTjtpZighaCYmYkZqKG4sVykpcmV0dXJuIHZ1TShuLFcpLE5hTjtpZihuLk48PW4uSi5zZWdtZW50U3RhcnRUaW1lKXJldHVybiBUYyhuLE5hTiwieSIsVyksbi5jbGVhcigpLE5hTjtpZighbi5EKG4uTiwhMSkpcmV0dXJuIXZ1TShuLFcpJiZoJiYoVGMobixOYU4sInQiLFcpLG4uY2xlYXIoKSksTmFOO2g9bi5OO1RjKG4saCwicyIsVyk7bi5jbGVhcigpO3JldHVybiBofTsKYkZqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGlzTmFOKFcpPyEwOmlzTmFOKG4uTik/ITE6VzxuLk4rKG4uVz9uLnBvbGljeS5FVDpuLnBvbGljeS5neCl9Owp2dU09ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5EKG4uTiwhMCk/ITE6KFRjKG4sTmFOLCJucyIsVyksbi5jbGVhcigpLCEwKX07ClRjPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4uWC55MCgpO3Yuc3NyX3NrPShXKjFFMykudG9GaXhlZCgwKTt2LnNzcl90PShuLk4qMUUzKS50b0ZpeGVkKDApO3Yuc3NyX3I9RDt2LnNzcl9zdD0obi5zdGFydFRpbWVTZWNzKjFFMykudG9GaXhlZCgwKTt2LnNzcl9uPSgwLGcuUikoKS50b0ZpeGVkKDApO3Yuc3NyX2Y9KG4uSy5XKjFFMykudG9GaXhlZCgwKTt2LnNzcl9mYT1uLlc/IjEiOiIwIjt2LnNzcl9vPShuLnF6LkxnKCkqMUUzfHwwKS50b0ZpeGVkKDApO3Yuc3NyX3Y9KGIqMUUzKS50b0ZpeGVkKDApO1c9bi5KLlBKLmluZGV4O1cuTUkobi5KLmokLCEwKSYmKHYuc3NyX2lzdD0oVy5nZXRTdGFydFRpbWUobi5KLmokKSoxRTMpLnRvRml4ZWQoMCksdi5zc3JfaWQ9KFcuZ2V0RHVyYXRpb24obi5KLmokKSoxRTMpLnRvRml4ZWQoMCkpO24ubG9hZGVyLlUoInNzciIsdil9OwpoUXg9ZnVuY3Rpb24oKXt2YXIgbj17fSxXPXdpbmRvdy5wZXJmb3JtYW5jZTtpZihXKXtsZXQgRD1XLm1lbW9yeTtEJiYobi5qc1RvdGFsPUQudG90YWxKU0hlYXBTaXplLG4uanNVc2VkPUQudXNlZEpTSGVhcFNpemUsbi5qc0xpbWl0PUQuanNIZWFwU2l6ZUxpbWl0LG4ubXNUb3RhbD1ELmdldE1lZGlhU291cmNlVG90YWxBbGxvY2F0ZWRNZW1vcnk/LigpPz9ELnRvdGFsTWVkaWFTb3VyY2VTaXplLG4ubXNMaW1pdD1ELmdldE1lZGlhU291cmNlTWF4aW11bU1lbW9yeUNhcGFjaXR5Py4oKT8/RC5tZWRpYVNvdXJjZVNpemVMaW1pdCxuLm1zVXNlZD1ELmdldE1lZGlhU291cmNlQ3VycmVudE1lbW9yeUNhcGFjaXR5Py4oKT8/RC51c2VkTWVkaWFTb3VyY2VNZW1vcnlTaXplKTtXLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkmJihuLmNiRnJlZT1XLm1lYXN1cmVBdmFpbGFibGVDcHVNZW1vcnkoKSk7Vy5tZWFzdXJlVXNlZENwdU1lbW9yeSYmKG4uY2JVc2VkPVcubWVhc3VyZVVzZWRDcHVNZW1vcnkoKSl9d2luZG93Lmg1dmNjPy5jVmFsJiYKKG4uY2JGcmVlPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuQ1BVLkZyZWUiKSxuLmNiVXNlZD13aW5kb3cuaDV2Y2MuY1ZhbC5nZXRWYWx1ZSgiTWVtb3J5LkNQVS5Vc2VkIiksbi5jYkpzPXdpbmRvdy5oNXZjYy5jVmFsLmdldFZhbHVlKCJNZW1vcnkuSlMiKSk7cmV0dXJuIG59Owp4THQ9ZnVuY3Rpb24obil7cmV0dXJuIHdpbmRvdy5QcmVzc3VyZU9ic2VydmVyJiZuZXcgd2luZG93LlByZXNzdXJlT2JzZXJ2ZXIobil9OwpMWHI9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2F3YWl0IG4uan1jYXRjaHt9bi5XPy5kaXNjb25uZWN0KCl9OwpndUM9ZnVuY3Rpb24obixXKXtXP2VRai50ZXN0KG4pOihuPWcub0UobiksT2JqZWN0LmtleXMobikuaW5jbHVkZXMoImNwbiIpKX07CmpSPWZ1bmN0aW9uKG4sVyxELGIsdixrKXt2YXIgaD17Zm9ybWF0OiJSQVcifSx4PXt9O2lmKGcuVGQobikmJmcuakgoKSl7bGV0IEw9Zy5BcigiRU9NX1ZJU0lUT1JfREFUQSIpO0w/eFsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09TDpiP3hbIlgtR29vZy1WaXNpdG9yLUlkIl09YjpnLkFyKCJWSVNJVE9SX0RBVEEiKSYmKHhbIlgtR29vZy1WaXNpdG9yLUlkIl09Zy5BcigiVklTSVRPUl9EQVRBIikpO0QmJih4WyJYLUdvb2ctUGFnZUlkIl09RCk7KGI9Vy5UQykmJiFnLnFGKFcpJiYoeFsiWC1Hb29nLUF1dGhVc2VyIl09Yik7diYmKHguQXV0aG9yaXphdGlvbj1gQmVhcmVyICR7dn1gKTtXLlMoImVuYWJsZV9kYXRhc3luY19pZF9oZWFkZXJfaW5fd2ViX3Zzc19waW5ncyIpJiZXLllyJiZXLmRhdGFzeW5jSWQmJih4WyJYLVlvdVR1YmUtRGF0YVN5bmMtSWQiXT1XLmRhdGFzeW5jSWQpO2lmKFcuUygiZW5hYmxlX3JvbGxvdXRfdG9rZW5faGVhZGVyIikpe2xldCBlPWcuQXIoIklOTkVSVFVCRV9DT05URVhUIik/LmNsaWVudD8ucm9sbG91dFRva2VuOwplJiYoeFsiWC1Zb3VUdWJlLVJvbGxvdXQtVG9rZW4iXT1lKX1MfHx4WyJYLUdvb2ctVmlzaXRvci1JZCJdfHx2fHxEfHxiP2gud2l0aENyZWRlbnRpYWxzPSEwOlcuUygiaHRtbDVfc2VuZF9jcG5fd2l0aF9vcHRpb25zIikmJmVRai50ZXN0KG4pJiYoaC53aXRoQ3JlZGVudGlhbHM9ITApfU9iamVjdC5rZXlzKHgpLmxlbmd0aD4wJiYoaC5oZWFkZXJzPXgpO2smJihoLm9uRmluaXNoPWspO3JldHVybiBPYmplY3Qua2V5cyhoKS5sZW5ndGg+MT9oOm51bGx9OwpDRD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe2cuakgoKSYmRC50b2tlbiYmKG49Zy56ZChuLHtjdHQ6RC50b2tlbixjdHR5cGU6RC55byxtZHhfZW52aXJvbm1lbnQ6RC5tZHhFbnZpcm9ubWVudH0pKTtiLlMoIm5ldF9waW5nc19sb3dfcHJpb3JpdHkiKSYmKFd8fChXPXt9KSxXLnByaW9yaXR5PSJsb3ciKTtrfHx4JiZiLlMoIm53bF9za2lwX3JldHJ5Iik/KFc9PW51bGw/Vz17fTpndUMobixiLlMoImh0bWw1X2Fzc2VydF9jcG5fd2l0aF9yZWdleCIpKSxoP2cuSFUoKS5zZW5kQW5kV3JpdGUobixXKTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShuLFcseCkpOlc/KGd1QyhuLGIuUygiaHRtbDVfYXNzZXJ0X2Nwbl93aXRoX3JlZ2V4IikpLEJXaihuLFcpKTpnLmdvKG4sdil9OwpYTmk9ZnVuY3Rpb24obil7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuO0QrKyl7bGV0IGI9e30sdj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqOSoxRTgpKzFFOCxrPSIiO2ZvcihsZXQgaD0wO2g8OTtoKyspays9ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MildO2IudmlkZW9EZWNvZGVyTmFtZT1rO2IuZWxhcHNlZFRpbWVNcz12O1cucHVzaChiKX1yZXR1cm4gV307CkJsPWZ1bmN0aW9uKG4sVyl7bj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5zZXQobixXKTtyZXR1cm4gWW8obik/U2soSFAobiksKCk9PiEwLCgpPT4hMSk6SFAoISFuKX07CnFScj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VCdWZmZXJlZFJhbmdlIixuPzE6MCl9OwpHbnc9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJIVFRQMyIsbj8xOjApfTsKdEZ4PWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUF0dGFjaG1lbnRNZXRob2RzIixuPzE6MCl9OwokTEM9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJRVUlDIixuPzE6MCl9OwpyYzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BdWRpb1dyaXRlRHVyYXRpb25Mb2NhbCIsbil9OwpzZ3c9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsbj8xOjApfTsKTjBTPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsbil9OwpwTnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb1JlbmRlcmVyTWluSW5wdXRCdWZmZXJzIixuKX07CllSdz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvUmVuZGVyZXJNaW5EZWNvZGVkRnJhbWVzIixuKX07CkhGWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLG4/MTowKX07CmZ5VT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVJlc2V0QXVkaW9EZWNvZGVyIixuPzE6MCl9OwpKY2I9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVGbHVzaER1cmluZ1NlZWsiLG4/MTowKX07Ckl5dz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsbil9OwpTUnQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLG4/MTowKX07CkFjWj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLG4/MTowKX07Cm1MMj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbj8xOjApfTsKS1haPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuRXhwZXJpbWVudGFsTWF4UGVuZGluZ0J5dGVzUGVyUGFyc2UiLG4pfTsKdmFyIE9XdD1mdW5jdGlvbihuKXtyZXR1cm4gZVhbSVsxMF1dKHRoaXMsMTksNzA4NyxuKX07Ck9GQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsbil9OwpQUXI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5NZWRpYUNvZGVjUmVzZXREZWxheU1zIixuKX07ClpGdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkRpc2FibGVMb3dQZXJmb3JtYW5jZVNvZnR3YXJlRGVjb2RlIixuPzE6MCl9OwpVTDI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5FbmFibGVBdjFTdGFydHVwT3B0aW1pemF0aW9uIixuPzE6MCl9Owp5YzI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Vc2VEdWFsVGhyZWFkc0ZvclZpZGVvIixuPzE6MCl9OwpFdXQ9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5WaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CmlGVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixuKX07CnVxdD1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIixuPzE6MCl9OwpvdTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG4/MTowKX07CmRMaT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLG4/MTowKX07CnpRUz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIixuPzE6MCl9OwpseTI9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLG4/MTowKX07ClQwVT1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixuPzE6MCl9OwpqZ2g9ZnVuY3Rpb24obil7cmV0dXJuIEJsKCJNZWRpYS5Ta2lwVmlkZW9GcmFtZXNPdmVyNjBGcHMiLG4/MTowKX07CkNRQz1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkZsdXNoQXVkaW9UcmFja0R1cmluZ1NlZWsiLG4/MTowKX07CkIwaj1mdW5jdGlvbihuKXtyZXR1cm4gQmwoIk1lZGlhLkJ5cGFzc01vam9Gb3JNZWRpYSIsbj8xOjApfTsKRlgyPWZ1bmN0aW9uKG4pe3JldHVybiBCbCgiTWVkaWEuSWdub3JlTWVkaWFDb2RlY0NhbGxiYWNrc0R1cmluZ0ZsdXNoaW5nIixuPzE6MCl9OwpNRng9ZnVuY3Rpb24oKXt2YXIgbj13aW5kb3cuaDV2Y2M/LnNldHRpbmdzPy5nZXRQZXJzaXN0ZW50U2V0dGluZ0FzU3RyaW5nPy4oImNwdV91c2FnZV90cmFja2VyX2ludGVydmFscyIpO2lmKG4hPW51bGwpe249SlNPTi5wYXJzZShuKT8/W107dmFyIFc9bi5maWx0ZXIoRD0+RC50eXBlPT09InRvdGFsIikubWFwKEQ9PkQuc2Vjb25kcyk7CmZvcihsZXQgRCBvZiB3TjIpVy5pbmRleE9mKEQpPT09LTEmJm4ucHVzaCh7dHlwZToidG90YWwiLHNlY29uZHM6RH0pO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzX2VuYWJsZWQiLDEpO3dpbmRvdy5oNXZjYz8uc2V0dGluZ3M/LnNldCgiY3B1X3VzYWdlX3RyYWNrZXJfaW50ZXJ2YWxzIixKU09OLnN0cmluZ2lmeShuKSl9fTsKUlFVPWZ1bmN0aW9uKCl7dmFyIG49d2luZG93Lkg1dmNjUGxhdGZvcm1TZXJ2aWNlLFc9IiI7aWYobiYmbi5oYXMoImRldi5jb2JhbHQuY29hdC5jbGllbnRsb2dpbmZvIikmJihuPW4ub3BlbigiZGV2LmNvYmFsdC5jb2F0LmNsaWVudGxvZ2luZm8iLCgpPT57fSkpKXtsZXQgRD1uLnNlbmQobmV3IEFycmF5QnVmZmVyKDApKTsKRCYmKFc9U3RyaW5nLmZyb21DaGFyQ29kZSguLi4obmV3IFVpbnQ4QXJyYXkoRCkpKSk7bi5jbG9zZSgpfXJldHVybiBXfTsKVkZTPWZ1bmN0aW9uKG4pe3ZhciBXPXdpbmRvdy5INXZjY1BsYXRmb3JtU2VydmljZTtpZihXKXt2YXIgRD1RZ2kuZmluZChiPT5XLmhhcyhiKSk7CkQmJihEPVcub3BlbihELCgpPT57fSkpJiYoRC5zZW5kKEl3KGBjcG46ICR7bn1gKS5idWZmZXIpLEQuY2xvc2UoKSl9fTsKZy53aj1mdW5jdGlvbihuLFcsRCxiKXtnLkZCKG4sRCxgJHtXLnRvRml4ZWQoMyl9OiR7Yi5qb2luKCI6Iil9YCl9OwpNUD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtnLndqKG4sVywiY210IixbRC50b0ZpeGVkKDMpXSk7dmFyIGI9RD1uLnByb3ZpZGVyLm90KCk7aWYoKCFuLmp8fEFKKG4ucHJvdmlkZXIudmlkZW9EYXRhKT8wOmIqMUUzPm4uai52TysxMDApJiZuLmope2I9bi5qLmlzQWQ7RD1EKjFFMy1uLmoudk87bi5lST1XKjFFMy1uLmoudFMtRC1uLmouT2E7dmFyIHY9KDAsZy5SKSgpLUQ7Vz1uLmVJO0Q9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIGs9RC5pc0FkKCk7aWYoYnx8ayl7az1gJHtiPyJhZCI6InZpZGVvIn1fdG9fJHtrPyJhZCI6InZpZGVvIn1gO3ZhciBoPXt9O0Qua1cmJihoLmN0dEF1dGhJbmZvPXt0b2tlbjpELmtXLHZpZGVvSWQ6RC52aWRlb0lkfSk7aC5zdGFydFRpbWU9di1XO2cuYmQoayxoKTtnLm5sKHt0YXJnZXRWaWRlb0lkOkQudmlkZW9JZCx0YXJnZXRDcG46RC5jbGllbnRQbGF5YmFja05vbmNlfSxrKTtnLmFMKCJwYnMiLHYsCmspfWVsc2Ugdj1uLnByb3ZpZGVyLkwuZUcoKSx2LlYhPT1ELmNsaWVudFBsYXliYWNrTm9uY2U/KHYuaj1ELmNsaWVudFBsYXliYWNrTm9uY2Usdi5KPVcpOkQuTlAoKXx8Zy5HcShuZXcgZy5ReCgiQ1NJIHRpbWluZyBsb2dnZWQgYmVmb3JlIGdsbGF0Iix7Y3BuOkQuY2xpZW50UGxheWJhY2tOb25jZX0pKTtuLlUoImdsbGF0Iix7bDpuLmVJLnRvRml4ZWQoKSxwcmV2X2FkOitifSk7ZGVsZXRlIG4uan19OwpnLkZCPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLkouZ2V0KFcpO2I/Yi5wdXNoKEQpOm4uSi5zZXQoVyxbRF0pfTsKUXU9ZnVuY3Rpb24obixXKXtuLmlzT2ZmbGluZT1XO2cud2oobixnLlJrKG4ucHJvdmlkZXIpLCJpc19vZmZsaW5lIixbbi5pc09mZmxpbmU/IjEiOiIwIl0pfTsKVnU9ZnVuY3Rpb24obixXLEQpe2lmKCFpc05hTihELlc3KSl7bGV0IGI9RC5XNztELko8YiYmKGI9RC5KKTtnLndqKG4sVywiYmgiLFtiLnRvRml4ZWQoMyldKX19OwpjbD1mdW5jdGlvbihuLFc9TmFOKXtXPVc+PTA/VzpnLlJrKG4ucHJvdmlkZXIpO3ZhciBEPW4ucHJvdmlkZXIuTC5ISygpLGI9RC5Fci0obi52Snx8MCk7Yj4wJiZnLndqKG4sVywiYndtIixbYiwoRC5vdy0obi5FNXx8MCkpLnRvRml4ZWQoMyldKTtpc05hTihuLnZKKSYmRC5FciYmbi5pc09mZmxpbmUmJlF1KG4sITEpO24udko9RC5FcjtuLkU1PUQub3c7aXNOYU4oRC5iYW5kd2lkdGhFc3RpbWF0ZSl8fGcud2oobixXLCJid2UiLFtELmJhbmR3aWR0aEVzdGltYXRlLnRvRml4ZWQoMCldKTtuLnByb3ZpZGVyLkIuV1goKSYmT2JqZWN0LmtleXMoRC5OKS5sZW5ndGghPT0wJiZuLlUoImJ3aW5mbyIsRC5OKTtpZihuLnByb3ZpZGVyLkIuV1goKXx8bi5wcm92aWRlci5CLlMoImh0bWw1X2xvZ19tZW1pbmZvIikpYj1oUXgoKSxPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9PXZvaWQgMCkmJm4uVSgibWVtaW5mbyIsYik7Cm4ucHJvdmlkZXIuQi5XWCgpJiYoYj1uLnlFPy5YKCkpJiZPYmplY3QudmFsdWVzKGIpLnNvbWUodj0+diE9bnVsbCkmJm4uVSgiY3B1aW5mbyIsYik7Cm4uVEMmJmcud2oobixXLCJiYXQiLFtuLlRDLmxldmVsLG4uVEMuY2hhcmdpbmc/IjEiOiIwIl0pO2I9bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO24uVTUhPT1iJiYoZy53aihuLFcsInZpcyIsW2JdKSxuLlU1PWIpO01QKG4sVyk7KGI9Y2NaKG4ucHJvdmlkZXIpKSYmYiE9PW4uWSQmJihnLndqKG4sVywiY29ubiIsW2JdKSxuLlkkPWIpO1Z1KG4sVyxEKX07Cm5PTT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Zy5SayhuLnByb3ZpZGVyKTtheVoobixiLFcsMCxEKTtjbChuLGIpO2FrKG4pfTsKbkM9ZnVuY3Rpb24obixXKXtnLkZCKG4sImNhdCIsVyl9OwpXVGg9ZnVuY3Rpb24obixXKXtXPXtjcG46bi5wcm92aWRlci52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxzZXF1ZW5jZU51bWJlcjpXLHNlcmlhbGl6ZWRXYXRjaEVuZHBvaW50TG9nZ2luZ0NvbnRleHQ6bi5wcm92aWRlci52aWRlb0RhdGEubTB9O24uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQmJihXLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0PWxwKG4uc2VyaWFsaXplZEhvdXNlQnJhbmRQbGF5ZXJTZXJ2aWNlTG9nZ2luZ0NvbnRleHQpfHx2b2lkIDApO24ucHJvdmlkZXIudmlkZW9EYXRhLnBsYXllclJlc3BvbnNlQ3BuJiYoVy5wbGF5ZXJSZXNwb25zZUNwbj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5wbGF5ZXJSZXNwb25zZUNwbik7V3IubGVuZ3RoJiYoVy5kZWNvZGVySW5mbz1Xcik7bi5yZW1vdGVDb250cm9sTW9kZSYmKFcucmVtb3RlQ29udHJvbE1vZGU9bi5yZW1vdGVDb250cm9sTW9kZSk7Cm4ucmVtb3RlQ29ubmVjdGVkRGV2aWNlcy5sZW5ndGgmJihXLnJlbW90ZUNvbm5lY3RlZERldmljZXM9bi5yZW1vdGVDb25uZWN0ZWREZXZpY2VzKTtpZihuLlBYPy5sZW5ndGgpe1cuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhPVtdO2Zvcih2YXIgRCBvZiBuLlBYKXtsZXQgYj1nLmQxKEQpO2ImJlcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhLnB1c2goYil9fSFuLmpXJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhJiYoVy5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhPVtdLEQ9Zy5kMShuLnByb3ZpZGVyLnZpZGVvRGF0YS5zZXJpYWxpemVkT25lVGltZVFvZUNvbnRleHREYXRhKSkmJihXLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEucHVzaChEKSxuLmpXPSEwKTtuLlkuc2l6ZSYmKFcuZGFpQ3VlUG9pbnRFdmVudHM9QXJyYXkuZnJvbShuLlkudmFsdWVzKCkpKTtuLlkuY2xlYXIoKTtyZXR1cm4gV307CkRCaT1mdW5jdGlvbihuKXt2YXIgVz17Li4ubn07bi5zZXJpYWxpemVkUW9lQ29udGV4dERhdGEmJihXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YS5tYXAoRD0+RCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXk/Zy5FQShEKTpEKSk7Cm4uc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YSYmKFcuc2VyaWFsaXplZE9uZVRpbWVRb2VDb250ZXh0RGF0YT1uLnNlcmlhbGl6ZWRPbmVUaW1lUW9lQ29udGV4dERhdGEubWFwKEQ9PkQgaW5zdGFuY2VvZiBVaW50OEFycmF5P2cuRUEoRCk6RCkpOwpuLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0JiYobj1uLnNlcmlhbGl6ZWRIb3VzZUJyYW5kUGxheWVyU2VydmljZUxvZ2dpbmdDb250ZXh0LG4gaW5zdGFuY2VvZiBVaW50OEFycmF5JiYoVy5zZXJpYWxpemVkSG91c2VCcmFuZFBsYXllclNlcnZpY2VMb2dnaW5nQ29udGV4dD1nLkVBKG4pKSk7cmV0dXJuIFd9OwpiUFM9ZnVuY3Rpb24obixXLEQpe2cuSEUobi5wcm92aWRlci5CLG4ucHJvdmlkZXIudmlkZW9EYXRhLlYoKSkudGhlbihiPT57dmFyIHY9ITE7Vy5pbmNsdWRlcygiJmR0PSIpfHxXLmluY2x1ZGVzKCImY290bj0iKT92PSEwOm4ucHJvdmlkZXIuQi5TKCJxb2Vfd2l0aF9uZXR3b3JrbGVzcyIpJiYodj0hMCk7dmFyIGs9bi5wcm92aWRlci5CLlMoInFvZV9zZW5kX2FuZF93cml0ZSIpLGg9bi5wcm92aWRlci5CO2I9alIoVyxoLG4ucHJvdmlkZXIuQi5wYWdlSWQsbi5wcm92aWRlci5CLnNlbmRWaXNpdG9ySWRIZWFkZXI/bi5wcm92aWRlci52aWRlb0RhdGEudmlzaXRvckRhdGE6dm9pZCAwLGIpO2guUygiaHRtbDVfc2ltcGxpZnlfcGluZ3MiKSYmKGI9Ynx8e30pO2I/KGIubWV0aG9kPSJQT1NUIixiLnBvc3RCb2R5PUQsQ0QoVyxiLHt0b2tlbjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5rVyx5bzpuLnByb3ZpZGVyLnZpZGVvRGF0YS5RdixtZHhFbnZpcm9ubWVudDpuLnByb3ZpZGVyLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudH0sCmgsdm9pZCAwLHYsayYmbi5TJCkpOnY/KHY9bi5wcm92aWRlci5CLlMoIm5ldHdvcmtsZXNzX2FqYXgiKSxoPXttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9LGsmJm4uUyQ/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLGgpOnY/Zy5lZChXLHttZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkR9KTpnLkhVKCkuc2VuZFRoZW5Xcml0ZShXLGgpKTpndncoVyxEKX0pfTsKYWs9ZnVuY3Rpb24obil7aWYoIW4ucHJvdmlkZXIuQi5TKCJodG1sNV9xb2Vfbm9fbGVuX2NoZWNrIikpe3ZhciBXPTA7Zm9yKGxldCBbRCxiXW9mIG4uSi5lbnRyaWVzKCkpVys9RC5sZW5ndGgrTnVtYmVyKGcudV8oYiwodixrKT0+ditrLmxlbmd0aCwwKSk7Clc+OTZFMyYmKG5ldyBnLmZfKG4ucmVwb3J0U3RhdHMsMCxuKSkuc3RhcnQoKX19Owp2TzI9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuWVomJm5DKG4sInByZWZldGNoIik7bi5wcm92aWRlci52aWRlb0RhdGEuUyQmJm4uVSgicmVsb2FkIix7cjpuLnByb3ZpZGVyLnZpZGVvRGF0YS5yZWxvYWRSZWFzb24sY3Q6bi5wcm92aWRlci52aWRlb0RhdGEuUyR9KTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5JUiYmbkMobiwibW9uaXRvciIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuQyhuLCJsaXZlIik7TnMmJm5DKG4sInN0cmVhbWluZyIpO24ucHJvdmlkZXIudmlkZW9EYXRhLmk1JiZuLlUoImN0cmwiLHttb2RlOm4ucHJvdmlkZXIudmlkZW9EYXRhLmk1fSwhMCk7aWYobi5wcm92aWRlci52aWRlb0RhdGEuVUspe3ZhciBXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlVLLnJlcGxhY2UoLywvZywiXyIpO24uVSgieXRwIix7dHlwZTpXfSwhMCl9bi5wcm92aWRlci52aWRlb0RhdGEuVDQmJihXPW4ucHJvdmlkZXIudmlkZW9EYXRhLlQ0LnJlcGxhY2UoLywvZywKIi4iKSxuLlUoInl0cmV4cCIse2lkczpXfSwhMCkpO24ucHJvdmlkZXIuQi5XWCgpJiZuLlUoIm5vdyIse3d0OigwLGcuUikoKX0pO1c9bi5wcm92aWRlci52aWRlb0RhdGE7dmFyIEQ9bi5wcm92aWRlci5CLlMoImVuYWJsZV93aGl0ZV9ub2lzZSIpfHxuLnByb3ZpZGVyLkIuUygiZW5hYmxlX3dlYmdsX25vb3AiKSxiPWcua3AoVyl8fGcuSFQoVyl8fGcuZkEoVyl8fGcuSkQoVyk7KER8fGIpJiYoRD0oMCxnLkRWKSgpKSYmbi5KLnNldCgiZ3B1IixbRF0pO09TKG4ucHJvdmlkZXIudmlkZW9EYXRhKSYmZy53aihuLGcuUmsobi5wcm92aWRlciksImR0IixbIjEiXSk7Vy5jb3RuJiYhT1MoVykmJlF1KG4sITApO24ucHJvdmlkZXIuQi5XWCgpJiYoVz0oMCxnLlIpKCktbi5wcm92aWRlci5CLkN1LG4uVSgicGxheWVyYWdlIix7c2VjczooMS42KipNYXRoLnJvdW5kKE1hdGgubG9nKFcvMUUzKS9NYXRoLmxvZygxLjYpKSkudG9GaXhlZCgpfSkpO24uVj0hMDtuLks9VzAoKCk9PntuLnJlcG9ydFN0YXRzKCl9LAoxRTQpfTsKYXlaPWZ1bmN0aW9uKG4sVyxELGIsdil7dmFyIGs9bi5wcm92aWRlci5CLk4uY2JydmVyO24ucHJvdmlkZXIuQi5OLmNicj09PSJDaHJvbWUiJiYvXjk2Wy5dLy50ZXN0KGspJiZEPT09Im5ldC5iYWRzdGF0dXMiJiYvcmNcLjUwMC8udGVzdCh2KSYmYm0obiwzKTsvYjI0ODE4MDI3OC8udGVzdCh2KSYmYm0obiw0KTtrPW4ucHJvdmlkZXIuZ2V0Q3VycmVudFRpbWUoKTtiPWI9PT0xPyJmYXRhbCI6IiI7RD1bRCxiLGsudG9GaXhlZCgzKV07YiYmKHYrPWA7YTZzLiR7TGMoKX1gKTt2JiZELnB1c2goa29yKHYpKTtnLndqKG4sVywiZXJyb3IiLEQpO24uVj0hMH07CmJtPWZ1bmN0aW9uKG4sVyl7bi5ZWnx8KGcuRkIobiwiZmNueiIsYCR7V31gKSxuLllaPSEwKX07CmhEMT1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKEQhPT1uLk4pe24uZSR8fFc8bi5XfHwobi5OPT09IlBMIj9uLnBsYXlUaW1lU2Vjcys9Vy1uLlc6bi5OPT09IkIiJiZuLmlzQnVmZmVyaW5nJiYobi5pc0J1ZmZlcmluZz0hMSxuLnJlYnVmZmVyVGltZVNlY3MrPVctbi5WUSwhbi5SYSYmbi5yZWJ1ZmZlclRpbWVTZWNzPj0xMCYmbi5wbGF5VGltZVNlY3M8PTE4MCYmKG4uSi5zZXQoInFvZWFsZXJ0IixbIjEiXSksbi5SYT0hMCkpLEQhPT0iQiJ8fG4uTiE9PSJQTCImJm4uTiE9PSJQQiJ8fChuLmlzQnVmZmVyaW5nPSEwKSxuLlc9Vyk7bi5OPT09IlBMIiYmKEQ9PT0iQiJ8fEQ9PT0iUyIpfHxuLnByb3ZpZGVyLkIuV1goKT9jbChuLFcpOihuLmZCfHxEIT09IlBMInx8KG4uZkI9ITAsVnUobixXLG4ucHJvdmlkZXIuTC5ISygpKSksTVAobixXKSk7RD09PSJQTCImJmcuSmEobi5NZCk7dmFyIGs9W0RdO0Q9PT0iUyImJmImJmsucHVzaChgc3MuJHtifWApO0Q9PT0iUEEiJiZ2JiZrLnB1c2goYHNyLiR7dn1gKTsKZy53aihuLFcsInZwcyIsayk7bi5OPUQ7bi5WUT1XO24uVz1XO24uVj0hMH19Owp4Qmg9ZnVuY3Rpb24obil7aWYoIShuLlg+PTApKWlmKG4ucHJvdmlkZXIuQi5OZHx8bi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpIT09Myl7dmFyIFc9bi5wcm92aWRlci5MLnpzKCExKSxEPW4ucHJvdmlkZXIuTC56cyghMCk7bi5VKCJ1c2VyX2ludGVudF9iaCIse2JoOlcudG9GaXhlZCgzKSx0aDpELnRvRml4ZWQoMyl9KTtuLlg9Zy5SayhuLnByb3ZpZGVyKX1lbHNlIG4uQ3U9ITB9OwpMVGI9ZnVuY3Rpb24obixXKXtpZihnLm1NKG4ucHJvdmlkZXIudmlkZW9EYXRhKSl7bj00O3ZhciBEPTF9ZWxzZSBuPVcuc291cmNlPz8wO249YHNtcy4ke259YDtEIT09dm9pZCAwJiYobis9YF8ke0R9YCk7cmV0dXJuIG59Owp2YXIgQTExPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIEo0W0lbMTBdXSh0aGlzLDEsNDM2MixuLFcpfTsKdnI9ZnVuY3Rpb24obixXLEQsYix2LGssaCl7dmFyIHg9Zy5SayhuLnByb3ZpZGVyKTtEIT09MSYmRCE9PTMmJkQhPT01fHxnLndqKG4seCwidnBzIixbbi5OXSk7Zy5GQihuLCJ4dnQiLGB0LiR7eC50b0ZpeGVkKDMpfTttLiR7aC50b0ZpeGVkKDMpfTtnLiR7V307dHQuJHtEfTtucC4ke2J9O2MuJHt2fTtkLiR7a31gKX07Cmtvcj1mdW5jdGlvbihuKXsvW15hLXpBLVowLTk7LiFfLV0vLnRlc3QobikmJihuPW4ucmVwbGFjZSgvWytdL2csIi0iKS5yZXBsYWNlKC9bXmEtekEtWjAtOTsuIV8tXS9nLCJfIikpO3JldHVybiBufTsKT2I9ZnVuY3Rpb24obixXKXtpZihuLlpEJiYhbi5PbilyZXR1cm4gMztpZihuLmlzU3VzcGVuZGVkKXJldHVybiAxO2lmKG4ubWVkaWFTb3VyY2U/LmJkKCkpcmV0dXJuIDQ7dmFyIEQ9KFcuUEouaW5mby5hdWRpbz9uLnBvbGljeS52SjpuLnBvbGljeS5lJCkvKFcuTnMqbi5wb2xpY3kud3kpO2lmKG4ucG9saWN5LmNIPjAmJm4ubWVkaWFTb3VyY2UmJm42KG4ubWVkaWFTb3VyY2UpJiYoVz1XLlBKLmluZm8udmlkZW8/bi5tZWRpYVNvdXJjZS5KOm4ubWVkaWFTb3VyY2UuTikmJiFXLnl1KCkpe1c9Vy5aRigpO2xldCBiPUNNKFcsbi5nZXRDdXJyZW50VGltZSgpKTtiPj0wJiYoVz1uLmdldEN1cnJlbnRUaW1lKCktVy5zdGFydChiKSxEKz1NYXRoLm1heCgwLE1hdGgubWluKFctbi5wb2xpY3kuY0gsbi5wb2xpY3kuQmQpKSl9bi5wb2xpY3kuTz4wJiYoRD1NYXRoLm1pbihELG4ucG9saWN5Lk8pKTtyZXR1cm4gRH07CmRWPWZ1bmN0aW9uKG4sVyxEKXtlRGIobixELnFkfHwidW5rbm93biIpO24uTC5zZWVrVG8oVyxEKX07CmcuZEM9ZnVuY3Rpb24obixXLEQsYix2KXtuLkwuZ2V0VmlkZW9EYXRhKCkuREYoKT92JiZuLnhXLlRDK3YvMUUzPkQmJihuLlUoInNkYWkiLHtzZWc6YixyYnQ6RC50b0ZpeGVkKDMpLGVuZDpuLnhXLlRDLnRvRml4ZWQoMyksc2Q6di50b0ZpeGVkKDMpfSksbi5YJCghMSwicm9sbGJhY2siKSk6bi5wb2xpY3kuVTEmJm4uWCQoITEsInJvbGxiYWNrIik7aWYobi5LdS5pc01hbmlmZXN0bGVzcyl7dj1VNChuLmF1ZGlvVHJhY2ssYixELFcpO3ZhciBrPVU0KG4udmlkZW9UcmFjayxiLEQsVyk7bi5wb2xpY3kuczV8fChrJiZUeChuLkt1LGIsITApLHYmJlR4KG4uS3UsYiwhMSkpO2smJm4udmlkZW9UcmFjay5rSSgpO3YmJm4uYXVkaW9UcmFjay5rSSgpO24uVSgic2RhaSIse3JvbGxiazJfc2VnOmIscmJ0OkQudG9GaXhlZCgzKSxsdDpXLnRvRml4ZWQoMyksYTp2LHY6a30pOyh2fHxrKSYmbi5wb2xpY3kuVTEmJmcuQWcobil9fTsKWUM9ZnVuY3Rpb24obixXKXtuLmhhbmRsZUVycm9yKCJmbXQudW5wYXJzZWFibGUiLFcsMSl9OwpnLkFnPWZ1bmN0aW9uKG4pe2cuSmEobi5uTil9OwpTek09ZnVuY3Rpb24obil7dmFyIFc9bi5qbCgpLmZpbHRlcihEPT5ELm5hbWVzcGFjZT09PSJhZCIpOwpmb3IobGV0IEQgb2YgVylpZihELnN0YXJ0LzFFMz5uLmdldEN1cnJlbnRUaW1lKCkpcmV0dXJuIEQuc3RhcnQvMUUzO3JldHVybiBJbmZpbml0eX07CmM2PWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLnFHPVd9OwpIJGg9ZnVuY3Rpb24obixXKXtpZih4TihXLkF3W1cuQXcubGVuZ3RoLTFdKSl7YTp7dmFyIEQ9bi5jVjtXPVcuQXdbMF0uUEo7aWYoVy5pbmZvLnZpZGVvKXtpZihELlchPT1XKXtELlc9VztEPVMkaChEKTticmVhayBhfX1lbHNlIEQuSEo9RC5WIT09VyxELlY9VztEPW51bGx9Z09DKG4sRCl9fTsKUW89ZnVuY3Rpb24obil7bi5wb2xpY3kuSEQmJm4ucG9saWN5LmU0JiZNYXRoLm1pbihnVEMobi52aWRlb1RyYWNrKSxnVEMobi5hdWRpb1RyYWNrKSkqMUUzPm4ucG9saWN5Lm0kP2cuSmEobi5aSyk6bi5oVCgpfTsKQjY9ZnVuY3Rpb24obixXLEQsYj0hMSl7YiYmIVcuVEMmJihWVCgpfHwoYj1XLlFFKSYmIWIudFooRC5pbmZvKSYmbi5MLkJvKCksVy5UQz0hMCk7Vy5QSiE9PUQmJihXLlBKPUQpfTsKd3U9ZnVuY3Rpb24obil7cmV0dXJuIG4uSXc8bi5peH07ClIkPWZ1bmN0aW9uKG4pe24uemkoKTtuLlhhLmlzU2Vla2luZygpO24uUXUmJkRMYihuLlF1LG4udmlkZW9UcmFjay5QSik7Zy5BZyhuKTtyZXR1cm4gRWIobi5YYSl9Owpkaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFZpZGVvRGF0YSgpLnpXKCl8fG4ucG9saWN5Lm1EfTsKelMyPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKE9iKG4sVykrbi5wb2xpY3kualIpKlcuTnN9OwpFUlM9ZnVuY3Rpb24obil7aWYobi5MLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXJldHVybiExO3ZhciBXPW4uTC5oNSgpO2lmKCFXKXJldHVybiExO1c9Vy5nZXREdXJhdGlvbigpO2lmKG4ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KKXt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCksYj1uLm1lZGlhU291cmNlLk4uWkYoKTtuPW4ubWVkaWFTb3VyY2UuSi5aRigpO2I9Yj9GWihiLEQpOkQ7RD1uP0ZaKG4sRCk6RDtEPU1hdGgubWluKGIsRCk7Vz1pc05hTihEKT8hMTpEPj1XLS4wMX1lbHNlIFc9ITE7cmV0dXJuIFd9OwpYemg9ZnVuY3Rpb24obixXLEQpe2lmKCEobi52aWRlb1RyYWNrLlBKLk4oKSYmbi5hdWRpb1RyYWNrLlBKLk4oKSYmbi5tZWRpYVNvdXJjZSYmbi5tZWRpYVNvdXJjZS5KJiZuLm1lZGlhU291cmNlLk4pKXJldHVybiExO2lmKEQmJm4uS3UuaXNNYW5pZmVzdGxlc3MmJihuLnZpZGVvVHJhY2suWD09PS0xfHxuLmF1ZGlvVHJhY2suWD09PS0xKSlyZXR1cm4hMDt2YXIgYj1LdihuLnZpZGVvVHJhY2ssVyxEKTtpZihpc05hTihiKSlyZXR1cm4hMTtuPUt2KG4uYXVkaW9UcmFjayxuLnBvbGljeS5FNT9XOmIsRCk7cmV0dXJuIGlzTmFOKG4pPyExOiEwfTsKcUoyPWZ1bmN0aW9uKG4pe24uUWo/Llh0Py5pdGFnRGVueWxpc3QmJm4uV0Yobi5Raj8uWHQuaXRhZ0RlbnlsaXN0KTtuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5JiZsUyhuLnBvbGljeSxuLlFqPy5wbGF5YmFja1N0YXJ0UG9saWN5LDMsbi5Raj8uY0EoKSk7aWYobi5wb2xpY3kuY0wpe3ZhciBXPW4uRTEoKTsoVz1XP24uUWo/LkR3LmdldChXKTp2b2lkIDApJiZuLnhXLnN5KFcsLTEpfW4uS3UuT3x8bi5wb2xpY3kuV2l8fChXPW4uUWo/LlFXLFc/LndmJiZXPy52NyYmbi5LdS56VyYmQzYobi5LdSxXLndmLFcudjcpKTtpZihuLlFqPy5NUyl7Vz1uLlFqLk1TLmdldChuLkUxKCl8fCIiKTtpZighVylyZXR1cm47aWYobi5LdSYmVy5mb3JtYXRJZCl7bGV0IEQ9bi5LdS5KLmdldChNayhXLmZvcm1hdElkKSk7RCYmKEQuaW5mby5kZWJ1Z0luZm89Vy5kZWJ1Z0luZm8pfX1uLnBvbGljeS5EJiYobi5Raj8uckIoKS5mb3JFYWNoKEQ9PntuLmk4KEQpfSksbi5Raj8uRm8oKSl9Owp0OWg9ZnVuY3Rpb24obil7aWYoIW4uS3UuelcpcmV0dXJuITA7dmFyIFc9bi5MLmdldFZpZGVvRGF0YSgpO2lmKG4uTC5PUCgpKXJldHVybiBuLlUoIm9tYnBhIix7fSksITE7aWYoISFuLlFqPy5RVz8uWjMhPT1uLkt1LlhnKXJldHVybiBuLlUoIm9tYnBsbW0iLHt9KSwhMTt2YXIgRD1XLlRDfHxXLmxpdmVVdGNTdGFydFNlY29uZHN8fFcuVXI7aWYobi5LdS5YZyYmRClyZXR1cm4gbi5VKCJvbWJwbHN0Iix7fSksITE7aWYobi5LdS5PfHxuLnBvbGljeS5XaSlyZXR1cm4gbi5VKCJvbWJhYiIse30pLCExO0Q9RGF0ZS5ub3coKTtpZighVy5saXZlUHJlbG9hZCYmRnYobi5LdSkmJiFpc05hTihuLkNIKSYmRC1uLkNIPm4ucG9saWN5LkZVKjFFMylyZXR1cm4gbi5VKCJvbWJ0dGwiLHt9KSwhMTtpZih4cChXKSE9PTAmJiFuLnBvbGljeS5OfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9tb3NhaWMiKSYmVy5aaCgpfHxXLlMoImh0bWw1X2Rpc2FibGVfb25lc2llX21lZGlhX2Zvcl9saWZhX2VsaWdpYmxlIikmJgpweihXKSlyZXR1cm4hMTtpZihuLkwuRygpLlp0KCkuTi5RUShHb00pJiYoVz1uLlFqPy5waygpPz8wLFc+PTAmJm4uS3UuaXNXaW5kb3dlZExpdmUmJihXPG4uS3UuSlUqMUUzfHxXPm4uS3Uub1IqMUUzKSkpcmV0dXJuIG4uVSgib21id25kIix7c3Q6VyxtaW46bi5LdS5KVSoxRTMsbWF4Om4uS3Uub1IqMUUzfSksITE7aWYobi5LdS5JdCYmbi5LdS5pc1dpbmRvd2VkTGl2ZSlpZihuLkwuRygpLlMoImh0bWw1X3VzZV9vbmVzaWVfd2luZG93ZWRfbGl2ZV9tZWRpYSIpKW4uVSgib21hbWluc3EiLHt9KTtlbHNlIHJldHVybiBuLlUoIm9tYm1pbnNxIix7fSksITE7cmV0dXJuITB9OwprYz1mdW5jdGlvbihuLFcpe3ZhciBEPWN3KFcuUEosbi5LdS56VyksYj1uLmhtPy5mMyhEKXx8W107aWYoYi5sZW5ndGg9PT0wKXJldHVybiBuLlUoIm9tYm1zaSIse30pLCExO2I9bmV3IHdrKGIpO2lmKCghbi5wb2xpY3kudHd8fGlzRmluaXRlKG4uZ2V0Q3VycmVudFRpbWUoKSl8fG4uTC5lSigpKSYmIWIua2Yobi5nZXRDdXJyZW50VGltZSgpKSYmIW4uTC5nZXRWaWRlb0RhdGEoKS5saXZlUHJlbG9hZClyZXR1cm4gbi5VKCJvc3RtZiIse2N0Om4uZ2V0Q3VycmVudFRpbWUoKSxhOlcuUEouaW5mby5lUygpfSksITE7bi5obT8uRVMoRCk7cmV0dXJuITB9OwokQmk9ZnVuY3Rpb24obixXKXt2YXIgRD1XLlBKLGI9bi5LdS56VztpZih0OWgobikpaWYobi5obSYmbi5obS5nRihjdyhELGIpKSl7aWYoYj1jdyhELGIpLGtjKG4sVykpe3ZhciB2PW5ldyB3ayhuLmhtLmYzKGIpKSxrPWg9Pnt0cnl7aC50bigpPyhuLmhhbmRsZUVycm9yKGguVkcoKSxoLnkwKCkpLEU0KFcsaCkseXMoaC5pbmZvKSYmQ3Iobi5OeSxXLEQsITApLG4uaFQoKSk6RjAobi5OeSxoKSYmKG4uSkM/LlMkKGguaW5mbyxuLnNVKSxuLmhUKCkpfWNhdGNoKHgpe2g9QiQoeCksbi5oYW5kbGVFcnJvcihoLmVycm9yQ29kZSxoLmRldGFpbHMsaC5zZXZlcml0eSksbi56aSgpfX07CkQuY0o9ITA7VXYodikmJihPNChXLG5ldyBTbihuLnBvbGljeSxiLHYsbi5obSxrKSksaXUobi50aW1pbmcpKX19ZWxzZSBuLlUoIm9tYmZtdCIse30pfTsKcjdoPWZ1bmN0aW9uKG4pe24ucG9saWN5LlgmJm4uUWomJihuLlFqLkd3LmZvckVhY2goVz0+e24uSm0oVywtMSl9KSxuLlFqLkd3PVtdKX07CmgyPWZ1bmN0aW9uKG4sVyl7Vz1XfHxuLnZpZGVvVHJhY2smJm4udmlkZW9UcmFjay5OJiZuLnZpZGVvVHJhY2suTi5zZWdtZW50U3RhcnRUaW1lfHxuLmdldEN1cnJlbnRUaW1lKCk7dmFyIEQ9QjYsYj1uLnZpZGVvVHJhY2ssdj1uLmNWO1c9di5uZXh0VmlkZW8mJnYubmV4dFZpZGVvLmluZGV4LlIzKFcpfHwwO3YuY0ohPT1XJiYodi5iZD17fSx2LmNKPVcsUnEodix2Lk4pKTtXPSF2Lk4uaXNMb2NrZWQoKSYmdi5ZPi0xJiYoMCxnLlIpKCktdi5ZPHYucG9saWN5LkFrKjFFMzt2YXIgaz12Lm5leHRWaWRlbyYmTXEodix2Lm5leHRWaWRlby5pbmZvKSozPE5XKHYuSWcpO2lmKCFXfHxrKVZCKHYpLGNwKHYpLHYuTz12Lk98fHYubmV4dFZpZGVvIT09di5XO3YubmV4dFZpZGVvJiYhdi5uZXh0VmlkZW8uaW5kZXguaXNMb2FkZWQoKSYmKHYuY0o9LTEpO0QobixiLHYubmV4dFZpZGVvKTtCNihuLG4uYXVkaW9UcmFjayxuLmNWLkopfTsKZURiPWZ1bmN0aW9uKG4sVyl7aWYoIWlzTmFOKG4uajApKXtsZXQgRD1EYXRlLm5vdygpLW4uajA7RDwxRTQmJm4uVSgiYmZhc3d0Y2giLHtlcDpELHNrOlchPT12b2lkIDA/IjEiOiIwIixzcjpXfHwiIn0pfX07ClhiPWZ1bmN0aW9uKG4pe2E6e2lmKG4uSGcoKSYmbWQobi52aWRlb1RyYWNrKSYmbWQobi5hdWRpb1RyYWNrKSYmbi5MLkhvKCkmJiFuLkwuVjAoKSYmIW4ubWVkaWFTb3VyY2U/Lk4/LmlRKCkmJiFuLm1lZGlhU291cmNlPy5KPy5pUSgpJiYhbi5BYil7dmFyIFc9bi5MLlhTPy5YKCk7aWYoIVcpYnJlYWsgYTtuLmF1ZGlvVHJhY2suSlgoKTtuLnZpZGVvVHJhY2suSlgoKTtuLkFiPVd9aWYoVz1uLkhnKCkmJm4uTC5IbygpJiYhbi5MLlYwKCkpaWYobi5BYiYmbi5BYi5KJiZuLkFiLk4mJm4udmlkZW9UcmFjay5EZygpJiZuLmF1ZGlvVHJhY2suRGcoKSl7dmFyIEQ9bi52aWRlb1RyYWNrLlcuYjcoKTtXPW4uYXVkaW9UcmFjay5XLmI3KCk7dmFyIGI9bi5BYj8uSi5aRigpLHY9bi5BYj8uTi5aRigpO0QmJlc/KEQ9QlIoYixrTihELmluZm8pLS4xKSxXPUJSKHYsa04oVy5pbmZvKS0uMSksVz1EJiZXKTpXPSExfWVsc2UgVz0hMTtXJiZuLkwuWFM/LlcoKX1pZihuLm1lZGlhU291cmNlKWlmKFc9Cm4uQWJ8fG4ubWVkaWFTb3VyY2Usdj1XLk4sRD1XLkosczdyKG4sbi5hdWRpb1RyYWNrKSxzN3IobixuLnZpZGVvVHJhY2spLGI9TjNDKG4pKXtpZihuLnBvbGljeS5lNCl7aWYoIXYuRDkoKSYmKFc9aVkobi5hdWRpb1RyYWNrKSkpe2lmKCF4YyhuLG4uYXVkaW9UcmFjayx2LFcuaW5mbykpcmV0dXJuO0xDKG4sbi5hdWRpb1RyYWNrLHYsVyl9aWYoIUQuRDkoKSYmKFc9aVkobi52aWRlb1RyYWNrKSkpe2lmKCF4YyhuLG4udmlkZW9UcmFjayxELFcuaW5mbykpcmV0dXJuO0xDKG4sbi52aWRlb1RyYWNrLEQsVyl9fW4ubXh8fChuLm14PSgwLGcuUikoKSxuLnBvbGljeS5XJiZuLlUoImFwZHBzIix7cjpifSkpfWVsc2V7aWYobi5teCl7Yj1uLm14O3ZhciBrPSgwLGcuUikoKS1iO2xldCBoPW4uYXVkaW9UcmFjay56cyghMCkqMUUzLHg9bi52aWRlb1RyYWNrLnpzKCEwKSoxRTM7bi5wb2xpY3kuVyYmKG4uVSgiYXBkcGUiLHtkdXI6ay50b0ZpeGVkKCksYWJ1ZjpoLnRvRml4ZWQoKSx2YnVmOngudG9GaXhlZCgpfSksCmR1KG4ucG9saWN5KSYmKGs9Tlcobi5JZyksbi5VKCJzZHBzIix7Y3Q6YixhaDpoLnRvRml4ZWQoKSx2aDp4LnRvRml4ZWQoKSxtcjpwdihuLklnLG4uT24sayksYnc6ay50b0ZpeGVkKCksanM6bi5pc1NlZWtpbmcoKSxyZTorbi5Pbixwczoobi5wb2xpY3kuTTV8fCIiKS50b1N0cmluZygpLHJuOihuLnBvbGljeS5EQ3x8IiIpLnRvU3RyaW5nKCl9KSkpO24ubXg9MH1uLlF1JiYoYj1uLlF1LmhUKG4uYXVkaW9UcmFjayxnLnd5KG4ubWVkaWFTb3VyY2UuSi5aRigpKSkpJiZuLkwuc2Vla1RvKGIse0E5OiEwLHFkOiJwb2xsU3Vic2VnbWVudFJlYWRhaGVhZCIscWE6ITB9KTtiPSExO3B6aChuLG4udmlkZW9UcmFjayxEKSYmKGI9ITAsRD1uLnRpbWluZyxELld8fChELlc9KDAsZy5SKSgpLGcuRUcoInZkYSIsRC5XLEQuelIpLEQuSiYmKGcuRHkoKSxiUSg0KSkpLEQ9bi50aW1pbmcsRC5WUXx8KEQuVlE9KDAsZy5SKSgpLGcuRUcoInZyYl9mIixELlZRLEQuelIpKSk7VyYmIVcuUEEoKSYmCihwemgobixuLmF1ZGlvVHJhY2ssdikmJihiPSEwLHY9bi50aW1pbmcsdi5KfHwodi5KPSgwLGcuUikoKSxnLkVHKCJhZGEiLHYuSix2LnpSKSx2LlcmJihnLkR5KCksYlEoNCkpKSx2PW4udGltaW5nLHYuWXx8KHYuWT0oMCxnLlIpKCksZy5FRygiYXJiX2YiLHYuWSx2LnpSKSkpLCFuLnFOKCkmJm4ubWVkaWFTb3VyY2UmJighbi5wb2xpY3kuVjYmJm1kKG4udmlkZW9UcmFjaykmJm1kKG4uYXVkaW9UcmFjaykmJm42KFcpJiYhVy55dSgpJiYodj1JJChuLmF1ZGlvVHJhY2spLlBKLHY9PT1uLkt1Lk5bdi5pbmZvLmlkXSYmKG4uTC5HKCkuV1goKSYmbi5MLlUoInNlcyIse2VvczoxfSksbjYoVykmJihXLm1lZGlhU291cmNlP1cubWVkaWFTb3VyY2UuZW5kT2ZTdHJlYW0oKTpXLkVWLndlYmtpdFNvdXJjZUVuZE9mU3RyZWFtKFcuRVYuRU9TX05PX0VSUk9SKSksdj1uLnNjaGVkdWxlLHNuKGUwKHYpKSx2LmNKPSgwLGcuUikoKSx2Lk89ITAsdj0odj1uLnZpZGVvVHJhY2suUEopJiZ2LmluZGV4IGluc3RhbmNlb2YKZ1M/di5pbmRleC5LOnZvaWQgMCxuLkwuRygpLlp0KCkuTi5RUShZSmIpP3Y9PT0iZW1zZyImJm4ucG0oImUiKTpuLnBtKCJlIikpKSxiJiYoVy5OPyFXLk4uc3VwcG9ydHMoMCk6IWFkKCkpJiZnLkFnKG4pKSl9fTsKSFBiPWZ1bmN0aW9uKG4pe24ucG9saWN5LlY2PSExO3RyeXtYYihuKX1jYXRjaChXKXtnLlhqKFcpfX07CmZteD1mdW5jdGlvbihuLFc9ITEpe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuTiYmbi5tZWRpYVNvdXJjZS5KJiYobi5tZWRpYVNvdXJjZS5OLk05KG4uTEwsbiksbi5tZWRpYVNvdXJjZS5KLk05KG4uTEwsbikpO0tyKG4uYXVkaW9UcmFjayxudWxsLFcpO0tyKG4udmlkZW9UcmFjayxudWxsLFcpO24ubWVkaWFTb3VyY2UmJihuLm1lZGlhU291cmNlLlY9ITEpO24ubWVkaWFTb3VyY2U9bnVsbDtuLkFiPW51bGw7bi5MLlhTPy5yZXNldCgpfTsKSjdpPWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdj0hMSl7S3Iobi52aWRlb1RyYWNrLFcuSnx8bnVsbCxiLHYpO0tyKG4uYXVkaW9UcmFjayxXLk58fG51bGwsYix2KTtuLm1lZGlhU291cmNlPVc7bi5tZWRpYVNvdXJjZS5WPSEwO0R8fG4ucmVzdW1lKCk7Vy5OLmgkKG4uTEwsbik7Vy5KLmgkKG4uTEwsbil9OwpJbWk9ZnVuY3Rpb24obixXLEQ9ITEsYj0hMSx2PSExKXtuLnBvbGljeS5UQyYmKG4ucG9saWN5LlZRJiZuLlUoImxvYWRlciIse3NldHNtYjowfSksbi56aSgpLG4ucG9saWN5LlRDPSExKTtmbXgobixiKTtpZighVy5YKCkpe3ZhciBrPWlZKG4udmlkZW9UcmFjayk7az1rP2suaW5mby5QSjpuLnZpZGVvVHJhY2suUEo7bGV0IGg9aVkobi5hdWRpb1RyYWNrKTtMS1UoVyxrLmluZm8sKGg/aC5pbmZvLlBKOm4uYXVkaW9UcmFjay5QSikuaW5mbyxuLnBvbGljeS5wUil9SjdpKG4sVyxELGIsdik7dHJ5e24uaFQoKX1jYXRjaChoKXtnLlhqKGgpfX07CnFtPWZ1bmN0aW9uKG4pe24ubWVkaWFTb3VyY2UmJm4ubWVkaWFTb3VyY2UuUEEoKSYmbi5LMSgpfTsKZ09DPWZ1bmN0aW9uKG4sVyl7VyYmR1gobi5MLG5ldyB0MihXLnZpZGVvLFcucmVhc29uKSk7bi5jVi5ISiYmKFc9WmV3KG4uY1YsImEiKSxuLkwuZ20obmV3IHQyKFcuYXVkaW8sVy5yZWFzb24pKSl9OwpBN3g9ZnVuY3Rpb24obil7bi5CdiYmIW4uaXNTdXNwZW5kZWQmJlRaKG4uc2NoZWR1bGUpJiYoU0paKG4sbi5Cdiksbi5Cdj0iIil9OwpzN3I9ZnVuY3Rpb24obixXKXtpWShXKT8uaXNMb2NrZWQmJm1CYihXKSYmKG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bXVubG9jazppWShXKT8uaW5mby5nYSgpfSksJGMobixXPT09bi5hdWRpb1RyYWNrKSl9OwpOM0M9ZnVuY3Rpb24obil7aWYodGRqKG4udmlkZW9UcmFjaykpcmV0dXJuInNzZiI7aWYobi5wb2xpY3kubnUmJmlZKG4udmlkZW9UcmFjayk/LmlzTG9ja2VkJiZpWShuLmF1ZGlvVHJhY2spPy5pc0xvY2tlZClyZXR1cm4idXBkYXRlRW5kIjtpZihpUyhuLmF1ZGlvVHJhY2spfHxpUyhuLnZpZGVvVHJhY2spJiZuLnZpZGVvVHJhY2suUEouaW5mby5JQiE9PSJmIilyZXR1cm4iIjtpZihuLlhhLmlzU2Vla2luZygpKXt2YXIgVz1uLklnO3ZhciBEPW4udmlkZW9UcmFjazt2YXIgYj1uLmF1ZGlvVHJhY2s7aWYoVy5wb2xpY3kuTil7dmFyIHY9Vy5wb2xpY3kuV2M7ZHUoVy5wb2xpY3kpJiYodj1wdihXLCExLE5XKFcpKSk7Vz12O0Q9Yi56cyghMCk+PVcmJkQuenMoITApPj1XfWVsc2UgRC5KLmxlbmd0aHx8Yi5KLmxlbmd0aD8odj1ELlBKLmluZm8uTnMrYi5QSi5pbmZvLk5zLHY9MTAqKDEtTlcoVykvdiksVz1NYXRoLm1heCh2LFcucG9saWN5LldjKSxEPWIuenMoITApPj1XJiZELnpzKCEwKT49ClcpOkQ9ITA7aWYoIUQpcmV0dXJuImFiciI7RD1uLnZpZGVvVHJhY2s7aWYoRC5KLmxlbmd0aD4wJiZELlcua2koKT09PTEmJkQuVy5XMigpLmluZm8uSzxELlZRKXJldHVybiJzZWVrIn1pZihuLnBvbGljeS5VMSYmJFgxKG4udmlkZW9UcmFjayxuLkpDKSYmJFgxKG4uYXVkaW9UcmFjayxuLkpDKSlyZXR1cm4ic3NkYWkiO0Q9IW4ucG9saWN5LnRNfHxuLmdldEN1cnJlbnRUaW1lKCk8MTA7bi5wb2xpY3kuTnx8KEQ9RHx8bi52aWRlb1RyYWNrLlBKLmluZm8udmlkZW8ucXVhbGl0eU9yZGluYWw+MzYwKTtpZighbi5Pbnx8RClyZXR1cm4iIjtEPW4ucG9saWN5LnRNO2R1KG4ucG9saWN5KSYmKEQ9cHYobi5JZyxuLk9uLE5XKG4uSWcpKSk7RD1YMHQobi52aWRlb1RyYWNrLG4uZ2V0Q3VycmVudFRpbWUoKSxEKXx8WDB0KG4uYXVkaW9UcmFjayxuLmdldEN1cnJlbnRUaW1lKCksRCk7cmV0dXJuIGR1KG4ucG9saWN5KT9EPyJtYm5tIjoiIjoobi52aWRlb1RyYWNrLkoubGVuZ3RoPjB8fApuLmF1ZGlvVHJhY2suSi5sZW5ndGg+MHx8anEobi5OeSxuLnZpZGVvVHJhY2ssbi5hdWRpb1RyYWNrKXx8anEobi5OeSxuLmF1ZGlvVHJhY2ssbi52aWRlb1RyYWNrKSkmJkQ/Im5vcmQiOiIifTsKeGM9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9SSQoVyk7IXZ8fHYuYVp8fGJUKHYsYil8fChELmFib3J0KCksbi5wb2xpY3kuZkMmJlcuVj8uWSgpLFcuSz8uVigpKTtpZighRC5LcygpfHxWVCgpKXRyeXtuLnBvbGljeS5Kaz9ELm5hKGIuUEouaW5mby5jb250YWluZXJUeXBlLGIuUEouaW5mby5JQikmJkQuVm8oYi5QSi5pbmZvLmNvbnRhaW5lclR5cGUsYi5QSi5pbmZvLklCLGIuUEouaW5mby5taW1lVHlwZSk6RC5qbihiLlBKLmluZm8uY29udGFpbmVyVHlwZSxiLlBKLmluZm8ubWltZVR5cGUpfWNhdGNoKGspe3JldHVybiBnLkdxKGspLG4uVSgiY3RleHAiLHtuYW1lOmsubmFtZSxtc2c6ay5tZXNzYWdlfSksITF9ZWxzZSBiLlBKLmluZm8uY29udGFpbmVyVHlwZSE9PUQuS3MoKSYmbi5VKCJjdHUiLHtjdDpWVCgpLHByZXZfYzpELktzKCksY3Vycl9jOmIuUEouaW5mby5jb250YWluZXJUeXBlfSk7Yj1iLlBKLlY7bi5wb2xpY3kuRFQmJmImJihXPTArYi5kdXJhdGlvbixiPS1iLk4sCjA9PT1ELk1yKCkmJlc9PT1ELktGKCl8fEQuZTcoMCxXKSxiIT09RC5TVygpJiYoRC55TyhiKSxzNCYmbi5hdWRpb1RyYWNrLlcuQlcoRC5pdygpKSkpO3JldHVybiEwfTsKTEM9ZnVuY3Rpb24obixXLEQsYil7Yi5pbmZvLlBKLk4oKTt2YXIgdj1iLmluZm8uUEouSjtpZighdnx8IUQuam8oKXx8RC5EOSgpPT09dilyZXR1cm4hMTt2YXIgaz12LGg9RC5MRigpO2lmKG4ucG9saWN5LktvJiZoJiZELmlzVmlldygpJiZnLlJCKGIuaW5mby5QSi5pbmZvKSl7bGV0IEw9bmV3IERhdGFWaWV3KHYuYnVmZmVyLHYuYnl0ZU9mZnNldCx2LmJ5dGVMZW5ndGgpOyhoPVBJQyhMLGgpKT9rPW5ldyBVaW50OEFycmF5KGguYnVmZmVyLGguYnl0ZU9mZnNldCxoLmJ5dGVMZW5ndGgpOm4uVSgiZmVuYyIse30pfW4ucG9saWN5LmtwJiYoaD1LVGkobixiLG5ldyBTNShba10pKSkmJihrPXRSKGgpKTt2YXIgeDsoaD1iLmluZm8uUEouWSgwLGIuaW5mby5jbGlwSWQpKSYmKHg9aC5Bd1swXSk7aWYoYj09PW4uaDcpe2lmKG4uQzErPTEsbi5MLmdldFZpZGVvRGF0YSgpLlMoImh0bWw1X3Nob3J0c19nYXBsZXNzX3Jlc3RhcnRfb25faW5pdF9zZWdfcmV0cmllcyIpJiZuLkMxPjUpcmV0dXJuIG4uQzE9CjAsbi5MLkdtKHtpbml0U2VnU3R1Y2s6MSxhczpiLmluZm8uZ2EoKX0pLCEwfWVsc2Ugbi5DMT0wLG4uaDc9YjtuLnBvbGljeS54aiYmKEQuYWJvcnQoKSxXLks/LlYoKSk7bi5BYiYmRC5pUSgpJiYoRC5hYm9ydCgpLFcuSz8uVigpKTt2PU9QMihuLEQsayx4LHYpO1cuSz8uRCh2LHgpO2lmKHYhPT0wKXJldHVybiBuLnBvbGljeS5aTiYmQUoobi5MLmdldFZpZGVvRGF0YSgpKT8obi5MLm9BKCl8fHJTKG4sInNlcEluaXQiLHYsYi5pbmZvKSxQOVUobi5MLCJzaWUiKSk6clMobiwic2VwSW5pdCIsdixiLmluZm8pLCEwO2IuaW5mby5mWSgpPyhXPW4udGltaW5nLFcuVEN8fChXLlRDPSgwLGcuUikoKSxnLkVHKCJ2aXNfYSIsVy5UQyxXLnpSKSkpOihXPW4udGltaW5nLFcuVnx8KFcuVj0oMCxnLlIpKCksZy5FRygiYWlzX2EiLFcuVixXLnpSKSkpOyhiPWIuaW5mby5QSi5TVSkmJm4uTC5XbihuZXcgcnUoYi5rZXksYi50eXBlKSk7cmV0dXJuIEQueXUoKX07CnB6aD1mdW5jdGlvbihuLFcsRCl7aWYobi5wb2xpY3kubnUmJmlZKFcpPy5pc0xvY2tlZClyZXR1cm4hMTtpZihELkRjKCkpcmV0dXJuITA7aWYoIUQuam8oKSlyZXR1cm4hMTt2YXIgYj1pWShXKTtpZighYnx8Yi5pbmZvLnR5cGU9PT02KXJldHVybiExO2lmKG4ucG9saWN5LmllfHxuLkpDPy5PKFcsYi5pbmZvLmokKSluLkxvPTA7ZWxzZSByZXR1cm4gbi5YYS5pc1NlZWtpbmcoKSYmZy5BZyhuKSxuLkxvPW4uTG98fCgwLGcuUikoKSwhMTtpZigheGMobixXLEQsYi5pbmZvKSlyZXR1cm4hMTtpZihuLkt1LlcmJmIuaW5mby5OPT09MCl7dmFyIHY7aWYoRC5EOSgpPT1udWxsKXt2YXIgaz1JJChXKTtpZighKHY9IWt8fGsuUEohPT1iLmluZm8uUEopKXtiOmlmKHY9ay5PLGs9Yi5pbmZvLk8sdi5sZW5ndGghPT1rLmxlbmd0aCl2PSExO2Vsc2V7Zm9yKGxldCBoPTA7aDx2Lmxlbmd0aDtoKyspaWYoIXY0KHZbaF0sa1toXSkpe3Y9ITE7YnJlYWsgYn12PSEwfXY9IXZ9fWVsc2Ugdj1ELkQ5KCksCmIuaW5mby5QSi5TJCgpJiZETyhiKSxrPWIuaW5mby5QSi5KLHY9diE9PWsmJiF2NCh2LGspO3YmJihrPUkkKFcpLG4uVSgiaW5pdGNoZyIse2l0OmIuaW5mby5QSi5pbmZvLmlkLHNyOiEhayYmay5QSj09PWIuaW5mby5QSix0eTpiLmluZm8udHlwZSxzZWc6Yi5pbmZvLmokfSkpO2s9Zy5SQihiLmluZm8uUEouaW5mbyk7bi5wb2xpY3kubWgmJmsmJiF2JiYoZy5SQihiLmluZm8uUEouaW5mbyk/KEdqKGcuV1IoYiksMTgzNjAxOTU3NCksR2ooZy5XUihiKSwxNzE4OTA5Mjk2KSk6KHY9bmV3IHRZKGcuV1IoYikpLE9ZKHYpLHNZKHYsNTI0NTMxMzE3LCEwKSxiLko9Yi5KLnNwbGl0KHYuc3RhcnQrdi5wb3MpLlk5KSxiLlY9ITEpfWs9bi5RdSYmISFuLlF1LlgmJlcuUEouaW5mby5hdWRpbzt2PW4uS3UuaXNNYW5pZmVzdGxlc3N8fGIuVjtpZighKG4uS3UuVyYmYi5pbmZvLk4hPT0wfHx2JiYhaykmJkxDKG4sVyxELGIpKXJldHVybiEwO2lmKGspcmV0dXJuITE7az1PYihuLFcpO2s9bi5nZXRDdXJyZW50VGltZSgpKwprO2lmKGIuaW5mby5YPmspcmV0dXJuIG4ucG9saWN5Lk4mJihXPT09bi52aWRlb1RyYWNrP24uYzc9bi5jN3x8KDAsZy5SKSgpOm4uTno9bi5Oenx8KDAsZy5SKSgpKSwhMTtXPT09bi52aWRlb1RyYWNrP24uYzc9MDpuLk56PTA7bi5wb2xpY3kuVTUmJkQ9PT1uLm1lZGlhU291cmNlPy5OJiZuLk9MJiYoRC5mRigpPT09MD8obi5PTD0hMSxuLnBvbGljeS5VNT0hMSk6bi5HSj1ELmZGKCkpO2lmKCFaUGoobixELGIsVykpcmV0dXJuITE7bi5wb2xpY3kubnUmJmIuaW5mby5WKCk/KG4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7bHM6Yi5pbmZvLmdhKCl9KSxiLmlzTG9ja2VkPSEwKTooVy5aJChiKSxQQzIobi5jVixiLmluZm8pKTt2JiYoVz1iLmluZm8uUEouU1UpJiZuLkwuV24obmV3IHJ1KFcua2V5LFcudHlwZSkpO3JldHVybiEwfTsKWlBqPWZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uTC5HKCkuWnQoKS5OLlFRKFVCYikmJkQuaW5mby5OJiYhVy5pUSgpKXJldHVybiBuLlUoImRyb3BfY2h1bmsiLHtzcTpELmluZm8uaiQsc3Q6RC5pbmZvLlh9KSwhMDt2YXIgdj1uLnBvbGljeS5SYT8oMCxnLlIpKCk6MCxrPUQuViYmRC5pbmZvLlBKLkp8fHZvaWQgMCxoPUQuSjtELlYmJihoPUtUaShuLEQsaCl8fGgpO3ZhciB4PXRSKGgpO2g9bi5wb2xpY3kuUmE/KDAsZy5SKSgpOjA7Vz1PUDIobixXLHgsRC5pbmZvLGspO2IuSz8uWShELmluZm8sVyxoLXYsKDAsZy5SKSgpLWgpO24uQzE9MDtpZihXPT09MClyZXR1cm4gbi5aRCYmKG4uWkQ9ITEsbi5xTz0hMSksbi5hQT0wLCEwO2lmKFc9PT0yfHxXPT09NSlyZXR1cm4gclMobiwiY2hlY2tlZCIsVyxELmluZm8pLCExO2lmKFc9PT0xKXtpZighbi5aRClyZXR1cm4gbi5aRD0hMCwhMTtpZighbi5xTylyZXR1cm4gbi5xTz0hMCxuLkwuc2Vla1RvKG4uZ2V0Q3VycmVudFRpbWUoKSx7cWQ6InF1b3RhRXhjZWVkZWQiLApxYTohMH0pLCExO0QuaW5mby5mWSgpPyhiPW4ucG9saWN5LGIuZSQ9TWF0aC5mbG9vcihiLmUkKi44KSxiLk89TWF0aC5mbG9vcihiLk8qLjgpKTooYj1uLnBvbGljeSxiLnZKPU1hdGguZmxvb3IoYi52SiouOCksYi5PPU1hdGguZmxvb3IoYi5PKi44KSk7bi5wb2xpY3kuTj9XbChuLms2LEQuaW5mby5QSik6YXEobi5jVixELmluZm8uUEopfW4uTC5HbSh7cmVhdHRhY2hPbkFwcGVuZDpXfSk7cmV0dXJuITF9OwpLVGk9ZnVuY3Rpb24obixXLEQpe3ZhciBiO2lmKGI9bi5wb2xpY3kua3AmJm4ubWVkaWFTb3VyY2UmJiFuLm1lZGlhU291cmNlLk8mJiFuLkwuUHAoKSlXPVcuaW5mby5QSi5pbmZvLGI9Vy5xSCgpJiZXLlgoKSYmVy52aWRlbyYmVy52aWRlby53aWR0aDwzODQwJiZXLnZpZGVvLndpZHRoPlcudmlkZW8uaGVpZ2h0O2lmKGImJihuLm1lZGlhU291cmNlLk89ITAsZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MC4wOC4wMS4wMS4wMS4wMS4wMCI7IHdpZHRoPTM4NDA7IGhlaWdodD0yMTYwJykpKXJldHVybiBEPUROMShEKSxuLnBvbGljeS5XJiZuLlUoInNwNGsiLHtzOiEhRH0pLER9OwpPUDI9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkFifHxuLm1lZGlhU291cmNlO3RyeXtsZXQgaD1XPT09ay5OP24uYXVkaW9UcmFjazpuLnZpZGVvVHJhY2s7aWYobi5wb2xpY3kubnUmJmI/LlYoKSl7aWYoYj8udHc+MSlyZXR1cm4gNjtoLmJkPW5ldyBnLmZfKCgpPT57dmFyIHg9aVkoaCk7bi5xTigpfHwheD8uaXNMb2NrZWQ/bi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHtkZWxheUE6eD8uaW5mby5nYSgpfSk6bUJiKGgpPyhuLkwuRygpLldYKCkmJm4uVSgiZW9zbCIse2R1bmxvY2s6eD8uaW5mby5nYSgpfSksJGMobixoPT09bi5hdWRpb1RyYWNrKSk6KG4uVSgibnVlIix7bHM6eC5pbmZvLmdhKCl9KSx4LmluZm8udHcrPTEsbi5tZWRpYVNvdXJjZSYmWGIobikpfSwxRTQsbik7Cm4uTC5HKCkuV1goKSYmbi5VKCJlb3NsIix7ZGVsYXlTOmIuZ2EoKX0pO2guYmQuc3RhcnQoKX1uLnBvbGljeS5zMyYmYj8uUEogaW5zdGFuY2VvZiBkdCYmYi5WKCkmJm4uVSgicG9zZW9zIix7aXRhZzpiLlBKLmluZm8uaXRhZyxzZWc6Yi5qJCxsc2VnOmIuUEouaW5kZXgueCQoKSxlczpiLlBKLmluZGV4Lkt9KTtXLmFwcGVuZEJ1ZmZlcihELGIsdil9Y2F0Y2goaCl7aWYoaCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbil7aWYoaC5uYW1lPT09IkludmFsaWRTdGF0ZUVycm9yInx8aC5jb2RlPT09MTEpcmV0dXJuIG4uTC5HKCkuV1goKSYmbi5VKCJhZWlzIix7bXNnOmcudXAoaC5tZXNzYWdlLDMpfSksMjtpZihoLm5hbWU9PT0iU3ludGF4RXJyb3IifHxoLmNvZGU9PT0xMilyZXR1cm4gNTtpZihoLm5hbWU9PT0iUXVvdGFFeGNlZWRlZEVycm9yInx8aC5jb2RlPT09MjJ8fGgubWVzc2FnZS5pbmRleE9mKCJOb3QgZW5vdWdoIHN0b3JhZ2UiKT09PTApcmV0dXJuIFc9T2JqZWN0LmFzc2lnbih7bmFtZToiUXVvdGFFeGNlZWRlZEVycm9yIiwKYnVmZmVyZWQ6cmsoVy5aRigpKS5yZXBsYWNlKC8sL2csIl8iKSx2aGVhcDpuLnZpZGVvVHJhY2suUnUoKSxhaGVhcDpuLmF1ZGlvVHJhY2suUnUoKSxtZXNzYWdlOmcudXAoaC5tZXNzYWdlLDMpLHRyYWNrOms/Vz09PWsuSj8idiI6ImEiOiJ1In0saFF4KCkpLG4uaGFuZGxlRXJyb3IoInBsYXllci5leGNlcHRpb24iLFcpLDE7Zy5YaihoKX1yZXR1cm4gNH1yZXR1cm4gay5QQSgpPzM6MH07CnJTPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PSJmbXQudW5wbGF5YWJsZSIsaz0xO0Q9PT01fHxEPT09Mz8odj0iZm10LnVucGFyc2VhYmxlIixuLnBvbGljeS5OPyFiLlBKLmluZm8udmlkZW98fHdDKG4uazYuTikuc2l6ZT4wfHxXbChuLms2LGIuUEopOiFiLlBKLmluZm8udmlkZW98fHdDKG4uY1Yuaikuc2l6ZT4wfHxhcShuLmNWLGIuUEopKTpEPT09MiYmKG4uYUE8MTU/KG4uYUErKyx2PSJodG1sNS5pbnZhbGlkc3RhdGUiLGs9MCk6dj0iZm10LnVucGxheWFibGUiKTtiPVh4KGIpO2IubXJzPW4ubWVkaWFTb3VyY2U/LlcoKTtiLm9yaWdpbj1XO2IucmVhc29uPUQ7Yi50cmc9ImFwcGVuZGVyciI7bi5oYW5kbGVFcnJvcih2LGIsayl9OwpOMj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uS3U7dmFyIGg9bi5wb2xpY3kuTix4PSExLEw9LTE7Zm9yKGxldCByIGluIGsuTil7dmFyIGU9ay5OW3JdLmluZm8uTigpfHxrLk5bcl0uaW5mby5mWSgpO2lmKGI9PT1lKWlmKGU9ay5OW3JdLmluZGV4LGUuTUkoVy5qJCkpe3t4PWU7dmFyIEc9VztsZXQgTj14LlcoRy5qJCk7TiYmTi5zdGFydFRpbWUhPT1HLnN0YXJ0VGltZT8oeC5zZWdtZW50cz1bXSx4LmooRykseD0hMCk6eD0hMX14P0w9Vy5qJDohVy5wZW5kaW5nJiZoJiYoRz1lLmdldER1cmF0aW9uKFcuaiQpLEchPT1XLmR1cmF0aW9uJiYoay5XSigiY2xpZW50dGVtcCIsIm1mbGR1clVwZGF0ZSIse2l0YWc6ay5OW3JdLmluZm8uaXRhZyxzZWc6Vy5qJCxvZDpHLG5kOlcuZHVyYXRpb259LCExKSxlLmooVykseD0hMCkpfWVsc2UgZS5qKFcpLHg9ITB9TD49MCYmay5XSigiY2xpZW50dGVtcCIsInJlc2V0TWZsSW5kZXgiLHtbYj8idiI6ImEiXTpMfSwhMSk7az14O0FhMihuLlhhLApXLGIsayk7bi5wb2xpY3kuRHx8bi5KQy5SMChXLEQsYix2KTtXLmokPT09bi5LdS5JdCYmayYmdUEobi5LdSkmJlcuc3RhcnRUaW1lPnVBKG4uS3UpJiYobi5LdS5KVT1XLnN0YXJ0VGltZSsoaXNOYU4obi50aW1lc3RhbXBPZmZzZXQpPzA6bi50aW1lc3RhbXBPZmZzZXQpLG4uWGEuaXNTZWVraW5nKCkmJm4uWGEudGFyZ2V0VGltZTxuLkt1LkxmKCkmJm4uWGEuc2VlayhuLkt1LkxmKCkse30pKX07CiRjPWZ1bmN0aW9uKG4sVyl7aWYobi5wb2xpY3kubnUmJm4ubWVkaWFTb3VyY2Upe3ZhciBEPVc/bi5tZWRpYVNvdXJjZT8uTjpuLm1lZGlhU291cmNlPy5KO2xldCBiPVc/bi5hdWRpb1RyYWNrOm4udmlkZW9UcmFjaztXPWlZKGIpO1c/LmlzTG9ja2VkJiYobi5MLkcoKS5XWCgpJiZuLlUoImVvc2wiLHt1bmxvY2s6Vy5pbmZvLmdhKCl9KSxiLmJkPy5zdG9wKCksVy5pc0xvY2tlZD0hMSxiLlokKFcpLFBDMihuLmNWLFcuaW5mbyksRD1EPy5aZygpLEQ/LmdhKCkhPT1XLmluZm8uZ2EoKSYmbi5VKCJvdWUiLHtibHM6RD8uZ2EoKSx0bHM6Vy5pbmZvLmdhKCl9KSl9fTsKU0paPWZ1bmN0aW9uKG4sVyl7cVcoVywiY21zIixEPT57bi5wb2xpY3kuVyYmbi5VKCJwYXRocHJvYmUiLEQpfSxEPT57bi5MLmhhbmRsZUVycm9yKEQpfSl9Owp5N2k9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiZuLm1lZGlhU291cmNlLkomJihXLT1pc05hTihuLnRpbWVzdGFtcE9mZnNldCk/MDpuLnRpbWVzdGFtcE9mZnNldCxpc05hTihuLlE1KXx8bi5RNT09PVd8fG4ucmVzdW1lKCksbi5RNT1XKX07CkVPaD1mdW5jdGlvbihuLFcsRCxiKXtkaihuKSYmbi5ETyYmYiYmYj09PTk2JiYoYj1EP24uTC5sSyhXKTpXLG4uZnAoYil8fG4uRE8uTnx8bi5VKCJwcmVidWZmZXIiLHttaXNzOjEsdDpXLnRvRml4ZWQoMyksaXNVdGM6RH0pKX07CmlQUz1mdW5jdGlvbihuLFcpe3ZhciBEPVNxKG4udmlkZW9UcmFjaykuZmluZChiPT5iLnNlZ21lbnRTdGFydFRpbWU+PVcmJlh6aChuLGIuc2VnbWVudFN0YXJ0VGltZSwhMSkpOwpyZXR1cm4gRCYmRC5zZWdtZW50U3RhcnRUaW1lPFcrRC5XKjEuNT9ELnNlZ21lbnRTdGFydFRpbWUrLjE6MH07Cm1CYj1mdW5jdGlvbihuKXt2YXIgVz1pWShuKT8uaW5mbztyZXR1cm4hV3x8bi5mcChNYXRoLm1pbihXLlgrc1gsVy5qKSl9Owp1M3g9ZnVuY3Rpb24obil7aWYoIShuLmxlbmd0aDw9MjgpKWZvcih2YXIgVz0oMCxnLk5tKShbNjAsMCw3NSwwLDczLDAsNjgsMCw2MiwwXSksRD0yODtEPG4ubGVuZ3RoOyl7YTppZihuLmxlbmd0aC1EPFcubGVuZ3RoKXZhciBiPSExO2Vsc2V7Zm9yKGI9MDtiPFcubGVuZ3RoOysrYilpZihuW0QrYl0hPT1XW2JdKXtiPSExO2JyZWFrIGF9Yj0hMH1pZihiKXtEKz1XLmxlbmd0aDtpZihuLmxlbmd0aDw9RCs0OClicmVhaztXPW5ldyBVaW50OEFycmF5KDI0KTtmb3IoYj0wO2I8MjQ7KytiKVdbYl09bltEK2IqMl07bj1wUihXKTtuPWxwKG4pO2lmKCFuKWJyZWFrO0Q9blswXTtuWzBdPW5bM107blszXT1EO0Q9blsxXTtuWzFdPW5bMl07blsyXT1EO0Q9bls0XTtuWzRdPW5bNV07bls1XT1EO0Q9bls2XTtuWzZdPW5bN107bls3XT1EO3JldHVybiBufUQrK319OwpvT3g9ZnVuY3Rpb24obixXKXthOnt2YXIgRD1XLmNyeXB0b1BlcmlvZEluZGV4O2lmKGlzTmFOKEQpJiZuLlcuc2l6ZT4wKUQ9ITA7ZWxzZXtmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKWlmKGIuY3J5cHRvUGVyaW9kSW5kZXg9PT1EKXtEPSEwO2JyZWFrIGF9RD0hMX19bi5XSigibG9nX3FvZSIse3d2YWd0OiJyZXFuZXdzIixjYW5za2lwOkR9KTtEfHxuLldKKCJyb3RhdGVkX25lZWRfa2V5X2luZm9fcmVhZHkiLFcpfTsKZEJoPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJEUk1fVFJBQ0tfVFlQRV9BVURJTyI6cmV0dXJuIDE7Y2FzZSAiRFJNX1RSQUNLX1RZUEVfU0QiOnJldHVybiAyO2Nhc2UgIkRSTV9UUkFDS19UWVBFX0hEIjpyZXR1cm4gMztjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQxIjpyZXR1cm4gNDtjYXNlICJEUk1fVFJBQ0tfVFlQRV9VSEQyIjpyZXR1cm4gNTtkZWZhdWx0OnJldHVybiAwfX07ClQzaD1mdW5jdGlvbihuLFc9ITEpe3ZhciBEPW4uc3RhdHVzPT09IkxJQ0VOU0VfU1RBVFVTX09LIj8wOjk5OTksYj1udWxsO2lmKG4ubGljZW5zZSl0cnl7Yj1scChuLmxpY2Vuc2UpfWNhdGNoKHYpe2cuWGoodil9aWYoRD09PTAmJiFiKXJldHVybiBudWxsO2I9bmV3IHpEWihELGIpO0QhPT0wJiZuLnJlYXNvbiYmKGIuZXJyb3JNZXNzYWdlPW4ucmVhc29uKTtpZihuLmF1dGhvcml6ZWRGb3JtYXRzKXtEPXt9O2xldCB2PVtdLGs9e307Zm9yKGxldCBoIG9mIG4uYXV0aG9yaXplZEZvcm1hdHMpe2lmKCFoLnRyYWNrVHlwZXx8IWgua2V5SWQpY29udGludWU7VyYmYi5KLnB1c2goe3RyYWNrVHlwZTpkQmgoaC50cmFja1R5cGUpLGlzSGRyOiEhaC5pc0hkcn0pO2xldCB4PWxtVVtoLnRyYWNrVHlwZV07aWYoeCl7eD09PSJIRCImJm4uaXNIZDcyMCYmKHg9IkhENzIwIik7aC5pc0hkciYmKHgrPSJIRFIiKTtEW3hdfHwodi5wdXNoKHgpLERbeF09ITApO2xldCBMPW51bGw7dHJ5e0w9bHAoaC5rZXlJZCl9Y2F0Y2goZSl7Zy5YaihlKX1MJiYKKGtbZy5FQShMLDQpXT14KX19Yi5XPXY7Yi5OPWt9bi5uZXh0RmFpcnBsYXlLZXlJZCYmKGIubmV4dEZhaXJwbGF5S2V5SWQ9bi5uZXh0RmFpcnBsYXlLZXlJZCk7bi5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJihiLnNhYnJMaWNlbnNlQ29uc3RyYWludD1scChuLnNhYnJMaWNlbnNlQ29uc3RyYWludCkpO3JldHVybiBifTsKajdqPWZ1bmN0aW9uKG4sVyxEKXtuLm9uU3VjY2Vzcz1XO24ub25FcnJvcj1EfTsKQzl4PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXt0aW1lb3V0OjNFNCxvblN1Y2Nlc3M6az0+e2lmKCFuLnFOKCkpaWYoZy5hTCgiZHJtX25ldF9yIix2b2lkIDAsbi50aW1lciksaz1UM2goayxuLkopKW4ub25TdWNjZXNzKGssbi5yZXF1ZXN0TnVtYmVyKTtlbHNlIG4ub25FcnJvcihuLCJkcm0ubmV0IiwidC5wO3AuaSIpfSwKb25FcnJvcjprPT57aWYoIW4ucU4oKSlpZihrJiZrLmVycm9yKWs9ay5lcnJvcixuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLGB0LnI7cC5pO2MuJHtrLmNvZGV9O3MuJHtrLnN0YXR1c31gLGsuY29kZSk7ZWxzZSBuLm9uRXJyb3IobiwiZHJtLm5ldC5iYWRzdGF0dXMiLCJ0LnI7cC5pO2MubiIpfSwKb25UaW1lb3V0OigpPT57bi5vbkVycm9yKG4sImRybS5uZXQiLGBydC5yZXEuJHtuLnJlcXVlc3ROdW1iZXJ9YCl9fTsKYiYmKHYuUDE9YEJlYXJlciAke2J9YCk7Zy5JSShELCJwbGF5ZXIvZ2V0X2RybV9saWNlbnNlIixXLHYpfTsKcEM9ZnVuY3Rpb24obixXLEQ9ITEpe2cuVEMoVyk7KER8fG4uQi5XWCgpKSYmbi5XSigiY3RtcCIsImRybWxvZyIsVyl9OwpCM3g9ZnVuY3Rpb24obil7dmFyIFc9bi5iYXNlVXJsO2hBaShXKXx8bi5lcnJvcigiZHJtLm5ldCIsMiwidC54Iik7aWYoIWcubGYoVywiZmV4cCIpKXtsZXQgRD1bIjIzODk4MzA3IiwiMjM5MTQwNjIiLCIyMzkxNjEwNiIsIjIzODgzMDk4Il0uZmlsdGVyKGI9Pm4uQi5leHBlcmltZW50cy5leHBlcmltZW50c1tiXSk7CkQubGVuZ3RoPjAmJihuLmouZmV4cD1ELmpvaW4oKSl9Zm9yKGxldCBEIG9mIE9iamVjdC5rZXlzKG4uaikpVz1LUzEoVyxELG4ualtEXSk7cmV0dXJuIFd9Owp3enI9ZnVuY3Rpb24obixXKXt2YXIgRD1udWxsO3RyeXtEPVcuY3JlYXRlU2Vzc2lvbihuLlksYj0+e3BDKG4se206Yn0pfSksRlR0KG4sRCl9Y2F0Y2goYil7Vz0idC5nIixiIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtjLiR7Yi5jb2RlfWApLG4uV0ooImxpY2Vuc2VlcnJvciIsImRybS51bmF2YWlsYWJsZSIsMSxXLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIpfXJldHVybiBEfTsKRlR0PWZ1bmN0aW9uKG4sVyl7TTliKFcsKEQsYik9PntSRGoobixELGIpfSwoRCxiLHYpPT57bi5xTigpfHwoYj12b2lkIDAsZy5YVihuLkopJiZnLkRmKG4uQikmJm4uQi5TKCJodG1sNV9lbmFibGVfc2FmYXJpX2ZhaXJwbGF5IikmJnY9PT0xMjEyNDMzMjMyJiYoYj0iRVJST1JfSERDUCIpLG4uZXJyb3IoImRybS5rZXllcnJvciIsMSxELGIpKX0sKCk9PntuLnFOKCl8fChwQyhuLHtvbmt5YWRkOjF9KSxuLmNKfHwobi5XSigic2Vzc2lvbnJlYWR5Iiksbi5jSj0hMCkpfSxEPT57bi5ZVihEKX0pfTsKUkRqPWZ1bmN0aW9uKG4sVyxEKXtpZighbi5xTigpKWlmKFcpe3BDKG4se29ua210eXA6RH0pO24uc3RhdHVzPSJrbSI7c3dpdGNoKEQpe2Nhc2UgImxpY2Vuc2UtcmVuZXdhbCI6Y2FzZSAibGljZW5zZS1yZXF1ZXN0IjpjYXNlICJsaWNlbnNlLXJlbGVhc2UiOmJyZWFrO2Nhc2UgImluZGl2aWR1YWxpemF0aW9uLXJlcXVlc3QiOlE3MihuLFcpO3JldHVybjtkZWZhdWx0Om4uV0ooImN0bXAiLCJtZXNzYWdlX3R5cGUiLHt0OkQsbDpXLmJ5dGVMZW5ndGh9KX1uLnR3fHwoZy5hTCgiZHJtX2drX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uiksbi50dz0hMCxuLldKKCJuZXdzZXNzaW9uIixuKSk7aWYoTE4obi5KKSYmKFc9VjlpKFcpLCFXKSlyZXR1cm47dmFyIGI9ITE7aWYobi5CLlp0KCkuTi5RUShZYykpdHJ5e2I9bWsoVyx3T1opLnR5cGU9PT00fWNhdGNoKHYpe3BDKG4se2NlcnRfY2hlY2tfZmFpbGVkOjF9LCEwKX1pZihiJiZuLmRoPy5jZXJ0aWZpY2F0ZSl7cEMobix7Y2VydF9jYWNoZV9oaXQ6MX0sCiEwKTsrK24ucmVxdWVzdE51bWJlcjtsZXQgdj1uLmRoLmNlcnRpZmljYXRlO1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntjN3IobixuZXcgekRaKDAsdiksYil9KX1lbHNlIFc9bmV3IGFtcihXLCsrbi5yZXF1ZXN0TnVtYmVyLG4udmlkZW9EYXRhLnpSLG4uQi5TKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5IikpLGo3aihXLHY9PntjN3Iobix2LGIpfSwodixrLGgpPT57aWYoIW4ucU4oKSl7dmFyIHg9MDsKdi5OLko+PTMmJih4PTEsaz0iZHJtLm5ldC5yZXRyeWV4aGF1c3RlZCIpO3BDKG4se29ubGNzcnFlcnI6ayxpbmZvOmh9KTtuLmVycm9yKGsseCxoKTtuLnNob3VsZFJldHJ5KGoyKHgpLHYpJiZuUXcobix2KX19KSxnLnUobixXKSxXZzIobixXKX1lbHNlIG4uZXJyb3IoImRybS51bmF2YWlsYWJsZSIsMSwia20uZW1wdHkiKX07ClE3Mj1mdW5jdGlvbihuLFcpe3BDKG4se3NkcHZycToxfSk7bi5WPXBlcmZvcm1hbmNlLm5vdygpO2lmKG4uSi5mbGF2b3IhPT0id2lkZXZpbmUiKW4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuZmxhdm9yO2YuJHtuLkouZmxhdm9yfTtsLiR7Vy5ieXRlTGVuZ3RofWApO2Vsc2V7dmFyIEQ9e2NwbjpuLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlfTtPYmplY3QuYXNzaWduKEQsbi5CLk4pO0Q9Zy5FVCgiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vY2VydGlmaWNhdGVwcm92aXNpb25pbmcvdjEvZGV2aWNlY2VydGlmaWNhdGVzL2NyZWF0ZT9rZXk9QUl6YVN5Qi01T0xLVHgyaVU1bWtvMThEZmR3SzU2MTFKSWpiVWhFIixEKTtXPXtmb3JtYXQ6IlJBVyIsaGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSxtZXRob2Q6IlBPU1QiLHBvc3RCb2R5OkpTT04uc3RyaW5naWZ5KHtzaWduZWRSZXF1ZXN0OlN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCwKVyl9KSxyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIn07Zy5zeihELFcsMyw1MDApLnRoZW4oWXooYj0+e2I9Yi54aHI7aWYoIW4ucU4oKSl7Yj1uZXcgVWludDhBcnJheShiLnJlc3BvbnNlKTt2YXIgdj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYik7dHJ5e3ZhciBrPUpTT04ucGFyc2Uodil9Y2F0Y2goaCl7fWsmJmsuc2lnbmVkUmVzcG9uc2U/KG4uV0ooImN0bXAiLCJkcm1pbmZvIix7cHJvdmlzaW9uaW5nOjF9KSxrPShwZXJmb3JtYW5jZS5ub3coKS1uLlYpLzFFMyxuLlY9TmFOLG4uV0ooImN0bXAiLCJwcm92cyIse2V0OmsudG9GaXhlZCgzKX0pLG4uWCYmbi5YLnVwZGF0ZShiKSk6KGs9ayYmay5lcnJvciYmay5lcnJvci5tZXNzYWdlLGI9ImUucGFyc2UiLGsmJihiKz1gO20uJHtrfWApLG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYikpfX0pLFl6KGI9PntuLnFOKCl8fG4uZXJyb3IoImRybS5wcm92aXNpb24iLDEsYGUuJHtiLmVycm9yQ29kZX07Yy4ke2IueGhyJiYKYi54aHIuc3RhdHVzfWApfSkpfX07CmM3cj1mdW5jdGlvbihuLFcsRCl7bi5xTigpfHwoKHBDKG4se29ubGNzcnNwOjF9KSxuLnN0YXR1cz0icnIiLFcuc3RhdHVzQ29kZSE9PTApP24uZXJyb3IoImRybS5hdXRoIiwxLGB0LmY7Yy4ke1cuc3RhdHVzQ29kZX1gLFcuZXJyb3JNZXNzYWdlfHx2b2lkIDApOihEJiZuLmRoJiZuLkIuWnQoKS5OLlFRKFljKSYmKG4uZGguY2VydGlmaWNhdGU9Vy5tZXNzYWdlKSxnLmFMKCJkcm1fa3JfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKSxXLmhlYXJ0YmVhdFBhcmFtcyYmVy5oZWFydGJlYXRQYXJhbXMudXJsJiZuLnZpZGVvRGF0YS5TKCJvdXRlcnR1YmVfc3RyZWFtaW5nX2RhdGFfYWx3YXlzX3VzZV9zdGFnaW5nX2xpY2Vuc2Vfc2VydmljZSIpJiYoRD1uLkouVy5tYXRjaCgvKC4qKXlvdXR1YmUuY29tL2cpKSYmKFcuaGVhcnRiZWF0UGFyYW1zLnVybD1EWzBdK1cuaGVhcnRiZWF0UGFyYW1zLnVybCksVy5oZWFydGJlYXRQYXJhbXMmJm4uV0ooIm5ld2xpY2Vuc2UiLFcuaGVhcnRiZWF0UGFyYW1zKSwKVy5XJiYobi5XPVcuVyxuLnZpZGVvRGF0YS5hTXx8bi5XSigibmV3bGljZW5zZSIsbmV3IERiaiksbi52aWRlb0RhdGEuYU09ITAsbi5LPWcub00obi5XLGI9PmIuaW5jbHVkZXMoIkhEUiIpKSksVy5KJiYobi5EPVcuSiksVy5OJiYobi5CLlMoImh0bWw1X2VuYWJsZV92cDlfZmFpcnBsYXkiKSYmbi5KLk4oKT8oRD1nLkVBKHhLKG4uZmFpcnBsYXlLZXlJZCksNCksbi5OW0RdPXt0eXBlOlcuTltEXSwKc3RhdHVzOiJ1bmtub3duIn0pOm4uTj1XeChXLk4sYj0+KHt0eXBlOmIsc3RhdHVzOiJ1bmtub3duIn0pKSksZzEobi5KKSYmKFcubWVzc2FnZT1hMjIoZy5FQShXLm1lc3NhZ2UpKSksbi5YJiYocEMobix7dXBkdGtzOjF9KSxuLnN0YXR1cz0ia3UiLG4uWC51cGRhdGUoVy5tZXNzYWdlKS50aGVuKCgpPT57Zy5hTCgiZHJtX2tyX2YiLHZvaWQgMCxuLnZpZGVvRGF0YS56Uik7CkhyKG4pfHwocEMobix7a3NBcGlVbnN1cDoxfSksbi5XSigia2V5c3RhdHVzZXNjaGFuZ2UiLG4pKX0sYj0+e2I9YG1zdWYucmVxLiR7bi5yZXF1ZXN0TnVtYmVyfTttc2cuJHtnLnVwKGIubWVzc2FnZSwzKX1gOwpuLmVycm9yKCJkcm0ua2V5ZXJyb3IiLDEsYil9KSksZy5YVihuLkopJiZuLldKKCJmYWlycGxheV9uZXh0X25lZWRfa2V5X2luZm8iLG4uYmFzZVVybCxXLm5leHRGYWlycGxheUtleUlkKSxuLkIuUygiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpJiZuLkouTigpJiZuLldKKCJxdWFsaXR5Y2hhbmdlIixibWgobi5XKSksVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQmJm4uV0ooInNhYnJsaWNlbnNlY29uc3RyYWludCIsVy5zYWJyTGljZW5zZUNvbnN0cmFpbnQpKSl9OwpXZzI9ZnVuY3Rpb24obixXKXtuLnN0YXR1cz0ia20iO2cuYUwoImRybV9uZXRfcyIsdm9pZCAwLG4udmlkZW9EYXRhLnpSKTt2YXIgRD1uZXcgZy5kNChuLkIuU1YpLGI9e2NvbnRleHQ6Zy5VSihELmNvbmZpZ198fGcuUzkoKSl9O2IuZHJtU3lzdGVtPXZRQ1tuLkouZmxhdm9yXTtiLnZpZGVvSWQ9bi52aWRlb0RhdGEudmlkZW9JZDtiLmNwbj1uLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlO2Iuc2Vzc2lvbklkPW4uc2Vzc2lvbklkO2IubGljZW5zZVJlcXVlc3Q9Zy5FQShXLm1lc3NhZ2UpO2IuZHJtUGFyYW1zPW4udmlkZW9EYXRhLmRybVBhcmFtcztpc05hTihuLmNyeXB0b1BlcmlvZEluZGV4KXx8KGIuaXNLZXlSb3RhdGVkPSEwLGIuY3J5cHRvUGVyaW9kSW5kZXg9bi5jcnlwdG9QZXJpb2RJbmRleCk7dmFyIHY9ISFuLnZpZGVvRGF0YS5KPy5LKCk/LmlzSGRyKCk7Yi5kcm1WaWRlb0ZlYXR1cmU9dj8iRFJNX1ZJREVPX0ZFQVRVUkVfUFJFRkVSX0hEUiI6IkRSTV9WSURFT19GRUFUVVJFX1NEUiI7Cm4uQi5leHBlcmltZW50cy5adCgpLk4uUVEoa1RiKSYmKGIuY29udGV4dD1nLm9UKG4udmlkZW9EYXRhKSk7aWYoYi5jb250ZXh0JiZiLmNvbnRleHQuY2xpZW50KXtpZih2PW4uQi5OKWIuY29udGV4dC5jbGllbnQuZGV2aWNlTWFrZT12LmNicmFuZCxiLmNvbnRleHQuY2xpZW50LmRldmljZU1vZGVsPXYuY21vZGVsLGIuY29udGV4dC5jbGllbnQuYnJvd3Nlck5hbWU9di5jYnIsYi5jb250ZXh0LmNsaWVudC5icm93c2VyVmVyc2lvbj12LmNicnZlcixiLmNvbnRleHQuY2xpZW50Lm9zTmFtZT12LmNvcyxiLmNvbnRleHQuY2xpZW50Lm9zVmVyc2lvbj12LmNvc3ZlcjtuLkIuZXhwZXJpbWVudHMuWnQoKS5OLlFRKGtUYil8fChiLmNvbnRleHQudXNlcj1iLmNvbnRleHQudXNlcnx8e30sbi52aWRlb0RhdGEuRCYmKGIuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOm4udmlkZW9EYXRhLkQsc2NvcGU6IlZJREVPIn1dKSxuLnZpZGVvRGF0YS5ISiYmKGIuY29udGV4dC51c2VyLmtpZHNQYXJlbnQ9CntvYXV0aFRva2VuOm4udmlkZW9EYXRhLkhKfSkpO2IuY29udGV4dC5yZXF1ZXN0PWIuY29udGV4dC5yZXF1ZXN0fHx7fTtiLmNvbnRleHQucmVxdWVzdC5tZHhFbnZpcm9ubWVudD1uLnZpZGVvRGF0YS5tZHhFbnZpcm9ubWVudHx8Yi5jb250ZXh0LnJlcXVlc3QubWR4RW52aXJvbm1lbnQ7Zy5YVihuLkopJiYoYi5mYWlycGxheUtleUlkPWcuRUEoeEsobi5mYWlycGxheUtleUlkKSkpO2cuSEUobi5CLG4udmlkZW9EYXRhLlYoKSkudGhlbihrPT57Qzl4KFcsYixELGspO24uc3RhdHVzPSJycyJ9KX1lbHNlIG4uZXJyb3IoImRybS5uZXQiLDIsInQucjtpYy4wIil9OwpoOE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPXt9O2IuaXNIZHI9Vy5pbmNsdWRlcygiSERSIik7c3dpdGNoKFcucmVwbGFjZSgiSERSIiwiIikucmVwbGFjZSgiNzIwIiwiIikpe2Nhc2UgIkFVRElPIjpiLnRyYWNrVHlwZT0xO2JyZWFrO2Nhc2UgIlNEIjpiLnRyYWNrVHlwZT0yO2JyZWFrO2Nhc2UgIkhEIjpiLnRyYWNrVHlwZT0zO2JyZWFrO2Nhc2UgIlVIRDEiOmIudHJhY2tUeXBlPTQ7YnJlYWs7Y2FzZSAiVUhEMiI6Yi50cmFja1R5cGU9NTticmVhaztkZWZhdWx0OmIudHJhY2tUeXBlPTB9IWIudHJhY2tUeXBlfHxEW1ddfHxIcihuKSYmIWZDKG4sVyl8fChuLmF1dGhvcml6ZWRGb3JtYXRzLnB1c2goYiksRFtXXT0hMCl9Owp4Ymo9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2YgT2JqZWN0LmtleXMobi5OKSlELnB1c2goYCR7Yn1fJHtuLk5bYl0udHlwZX1fJHtuLk5bYl0uc3RhdHVzfWApO3JldHVybiBELmpvaW4oVyl9OwpIcj1mdW5jdGlvbihuKXt2YXIgVztpZihXPW4uTyYmbi5YIT1udWxsKW49bi5YLFc9ISghbi5OfHwhbi5OLmtleVN0YXR1c2VzKTtyZXR1cm4gV307Cm5Rdz1mdW5jdGlvbihuLFcpe3ZhciBEPVcuTi5nZXRWYWx1ZSgpO0Q9bmV3IGcuZl8oKCk9PntXZzIobixXKX0sRCk7CmcudShuLEQpO0Quc3RhcnQoKTtnLnhFKFcuTik7cEMobix7cnR5cnE6MX0pfTsKSjI9ZnVuY3Rpb24obil7dmFyIFc9e307V1tuLnN0YXR1c109SHIobik/eGJqKG4sIi4iKTpuLlcuam9pbigiLiIpO3JldHVybiBXfTsKZkM9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbi5OKWlmKG4uTltEXS5zdGF0dXM9PT0idXNhYmxlIiYmbi5OW0RdLnR5cGU9PT1XKXJldHVybiEwO3JldHVybiExfTsKTGd3PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIGluIG4uTilpZihuLk5bRF0udHlwZT09PVcpcmV0dXJuIG4uTltEXS5zdGF0dXN9OwplOHc9ZnVuY3Rpb24obil7dmFyIFc9blswXTtuWzBdPW5bM107blszXT1XO1c9blsxXTtuWzFdPW5bMl07blsyXT1XO1c9bls0XTtuWzRdPW5bNV07bls1XT1XO1c9bls2XTtuWzZdPW5bN107bls3XT1XfTsKYm1oPWZ1bmN0aW9uKG4pe3JldHVybiBnLmpqKG4sIlVIRDIiKXx8Zy5qaihuLCJVSEQySERSIik/ImhpZ2hyZXMiOmcuamoobiwiVUhEMSIpfHxnLmpqKG4sIlVIRDFIRFIiKT8iaGQyMTYwIjpnLmpqKG4sIkhEIil8fGcuamoobiwiSERIRFIiKT8iaGQxMDgwIjpnLmpqKG4sIkhENzIwIil8fGcuamoobiwiSEQ3MjBIRFIiKT8iaGQ3MjAiOiJsYXJnZSJ9OwpWOWk9ZnVuY3Rpb24obil7dmFyIFc9IiI7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0yKVcrPVN0cmluZy5mcm9tQ2hhckNvZGUobltEXSk7bj1nLmdUKG5ldyBET01QYXJzZXIsZy5ITShXKSwidGV4dC94bWwiKTtpZighbilyZXR1cm4gbnVsbDsoVz1uLnF1ZXJ5U2VsZWN0b3IoIkNoYWxsZW5nZSIpKSYmVy5jaGlsZE5vZGVzJiZXLmNoaWxkTm9kZXMubGVuZ3RoIT09MD8obj1VaW50OEFycmF5LFc9emgoVy5jaGlsZE5vZGVzWzBdLm5vZGVWYWx1ZSksVz0oMCxnLk5tKShXKS5idWZmZXIsbj1uZXcgbihXKSk6bj1udWxsO3JldHVybiBufTsKTTliPWZ1bmN0aW9uKG4sVyxELGIsdil7bi5qPVc7bi5XPUQ7bi5WPWI7bi5LPXZ9OwpnUXc9ZnVuY3Rpb24obil7bi5OPyhuLlguTk4obi5OLCJtZXNzYWdlIixuLmJkKSxuLlguTk4obi5OLCJrZXlzdGF0dXNlc2NoYW5nZSIsbi5ZViksbi5OLmNsb3NlZCYmbi5OLmNsb3NlZC50aGVuKFl6KCgpPT57bi5xTigpfHxnLnViKCJ4Ym94b25lIikmJm4uVyYmbi5XKCJjbG9zZWRTaG91bGROb3RSZXRyeSIpfSksbnVsbCkpOm4uSiYmKEt5KG4uWCxuLkosWyJtc2tleW1lc3NhZ2UiLAoid2Via2l0a2V5bWVzc2FnZSJdLG4uY0opLEt5KG4uWCxuLkosWyJtc2tleWVycm9yIiwid2Via2l0a2V5ZXJyb3IiXSxuLk8pLEt5KG4uWCxuLkosWyJtc2tleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLkQpKX07ClhVUz1mdW5jdGlvbihuLFcsRCl7Zy5YaihEKTtuLlcmJihEIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uJiYoVys9YDtuLiR7RC5uYW1lfTttLiR7RC5tZXNzYWdlfWApLG4uVyhXKSl9OwpxY1U9ZnVuY3Rpb24obil7S3kobi5YLG4uZWxlbWVudCxbImtleW1lc3NhZ2UiLCJ3ZWJraXRrZXltZXNzYWdlIl0sbi5PKTtLeShuLlgsbi5lbGVtZW50LFsia2V5ZXJyb3IiLCJ3ZWJraXRrZXllcnJvciJdLG4uRCk7S3kobi5YLG4uZWxlbWVudCxbImtleWFkZGVkIiwid2Via2l0a2V5YWRkZWQiXSxuLlkpfTsKR1RTPWZ1bmN0aW9uKG4sVz1udWxsKXtpZihuLk4ua2V5U3lzdGVtQWNjZXNzKXJldHVybiBuLks9bi5LLnRoZW4oKCk9Pm4ubWVkaWFLZXlzP1Byb21pc2UucmVzb2x2ZSgpOlc/Lm1lZGlhS2V5cyYmVy5ZYT8ucGcoKT8obi5tZWRpYUtleXM9Vz8ubWVkaWFLZXlzLFByb21pc2UucmVzb2x2ZSgpKTpuLk4ua2V5U3lzdGVtQWNjZXNzLmNyZWF0ZU1lZGlhS2V5cygpLnRoZW4oRD0+e24ucU4oKXx8KG4ubWVkaWFLZXlzPUQsVz8uWWE/LnBnKCkmJihXLm1lZGlhS2V5cz1EKSl9KSkudGhlbigoKT0+e3ZhciBEPVc/LmVfKCk7CnJldHVybiBuLmVsZW1lbnQmJm4uZWxlbWVudCE9PUQmJm4uZWxlbWVudC5tZWRpYUtleXM/bi5lbGVtZW50LnNldE1lZGlhS2V5cyhudWxsKTpQcm9taXNlLnJlc29sdmUoKX0pLnRoZW4oKCk9PntuLmVsZW1lbnQ9Vz8uZV8oKTsKcmV0dXJuIG4uZWxlbWVudCYmbi5lbGVtZW50Lm1lZGlhS2V5cyE9PW4ubWVkaWFLZXlzP24uZWxlbWVudC5zZXRNZWRpYUtleXMobi5tZWRpYUtleXMpOlByb21pc2UucmVzb2x2ZSgpfSksbi5LOwp4aChuLk4pP24uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pOmVUKG4uTik/KG4uSj1uZXcgKHZYKCkpKG4uTi5rZXlTeXN0ZW0pLG4uZWxlbWVudD8ud2Via2l0U2V0TWVkaWFLZXlzKG4uSikpOnFjVShuKTtyZXR1cm4gbnVsbH07CnR3TT1mdW5jdGlvbihuLFcpe3ZhciBEPW5ldyBVaW50OEFycmF5KDI3MCk7Zm9yKGxldCBiPTA7YjwxMzU7YisrKURbYioyXT0nPFBsYXlSZWFkeUNETURhdGEgdHlwZT0iTGljZW5zZUFjcXVpc2l0aW9uIj48TGljZW5zZUFjcXVpc2l0aW9uIHZlcnNpb249IjEuMCIgUHJvYWN0aXZlPSJ0cnVlIj48L0xpY2Vuc2VBY3F1aXNpdGlvbj48L1BsYXlSZWFkeUNETURhdGE+Jy5jaGFyQ29kZUF0KGIpO249bi5KLmNyZWF0ZVNlc3Npb24oInZpZGVvL21wNCIsVyxEKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsbil9OwpySTE9ZnVuY3Rpb24obixXKXtXPSRiWihXLG4uTi5DaSk7Vz1uLkouY3JlYXRlU2Vzc2lvbigidmlkZW8vbXA0IixXKTtyZXR1cm4gbmV3IEl1KG51bGwsbnVsbCxudWxsLG51bGwsVyxuLlYpfTsKUzA9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmpbVy5zZXNzaW9uSWRdOyFEJiZuLlcmJihEPW4uVyxuLlc9bnVsbCxELnNlc3Npb25JZD1XLnNlc3Npb25JZCxuLmpbVy5zZXNzaW9uSWRdPUQpO3JldHVybiBEfTsKJGJaPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5zdWJhcnJheSg0KTtEPW5ldyBVaW50MTZBcnJheShELmJ1ZmZlcixELmJ5dGVPZmZzZXQsRC5ieXRlTGVuZ3RoLzIpO0Q9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLEQpLm1hdGNoKC9laz0oWzAtOWEtZl0rKS8pWzFdO3ZhciBiPSIiO2Zvcih2YXIgdj0wO3Y8RC5sZW5ndGg7dis9MiliKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KEQuc3Vic3RyaW5nKHYsdisyKSwxNikpO0Q9YjtiPW5ldyBBcnJheUJ1ZmZlcihELmxlbmd0aCoyKTt2PW5ldyBVaW50MTZBcnJheShiKTtmb3IodmFyIGs9MDtrPEQubGVuZ3RoO2srKyl2W2tdPUQuY2hhckNvZGVBdChrKTtEPW5ldyBVaW50OEFycmF5KGIpO2I9MDtrPW5ldyBBcnJheUJ1ZmZlcihuLmJ5dGVMZW5ndGgrNCtELmJ5dGVMZW5ndGgrNCtXLmJ5dGVMZW5ndGgpO3Y9bmV3IFVpbnQ4QXJyYXkoayk7az1uZXcgRGF0YVZpZXcoayk7di5zZXQobik7Yis9bi5ieXRlTGVuZ3RoOwprLnNldFVpbnQzMihiLEQubGVuZ3RoLCEwKTtiKz00O3Yuc2V0KEQsYik7Yis9RC5sZW5ndGg7ay5zZXRVaW50MzIoYixXLmJ5dGVMZW5ndGgsITApO3Yuc2V0KFcsYis0KTtyZXR1cm4gdn07Ck5vQz1mdW5jdGlvbihuKXt2YXIgVz1HVFMobi5tZWRpYUtleXMsbi5tZWRpYUVsZW1lbnQpO1c/Vy50aGVuKFl6KCgpPT57c0lNKG4pfSksWXooRD0+e2lmKCFuLnFOKCkpe2cuWGooRCk7CnZhciBiPSJ0LmEiO0QgaW5zdGFuY2VvZiBET01FeGNlcHRpb24mJihiKz0iO24uIitELm5hbWUrIjttLiIrRC5tZXNzYWdlKTtuLldKKCJsaWNlbnNlZXJyb3IiLCJkcm0udW5hdmFpbGFibGUiLDEsYiwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siKX19KSk6KG4uSih7bWRrcmR5OjF9KSxuLkQ9ITApOwpuLk8mJihXPUdUUyhuLk8sbi5tZWRpYUVsZW1lbnQpKX07CnNJTT1mdW5jdGlvbihuKXtpZighbi5xTigpKWlmKG4uQi5TKCJodG1sNV9kcm1fc2V0X3NlcnZlcl9jZXJ0Iil8fG4uTi5OKCkpe2xldCBXPW4ubWVkaWFLZXlzLnNldFNlcnZlckNlcnRpZmljYXRlKCk7Vz9XLnRoZW4oWXooRD0+e24uQi5XWCgpJiZuLldKKCJjdG1wIiwic3NjIix7c3VjY2VzczpEfSl9KSxZeihEPT57bi5XSigiY3RtcCIsInNzY2UiLHtuOkQubmFtZSwKbTpELm1lc3NhZ2V9KX0pKS50aGVuKFl6KCgpPT57QTIobil9KSk6QTIobil9ZWxzZSBBMihuKX07ClljMT1mdW5jdGlvbihuLFcsRCl7bi5QWD0hMDtEPW5ldyBydShXLEQpO24uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmKG4uVi5nZXQoVyl8fG4uVi5zZXQoVyxEKSk7cFVqKG4sRCl9OwpwVWo9ZnVuY3Rpb24obixXKXtpZighbi5xTigpKXtuLkooe29uSW5pdERhdGE6MX0pO2lmKG4uQi5TKCJodG1sNV9lbWVfbG9hZGVyX3N5bmMiKSYmbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBEPW4uSy5nZXQoVy5pbml0RGF0YSk7Vz1uLlYuZ2V0KFcuaW5pdERhdGEpO2lmKCFEfHwhVylyZXR1cm47Vz1EO0Q9Vy5pbml0RGF0YTtuLlYucmVtb3ZlKEQpO24uSy5yZW1vdmUoRCl9bi5KKHtpbml0ZDpXLmluaXREYXRhLmxlbmd0aCxjdDpXLmNvbnRlbnRUeXBlfSk7aWYobi5OLmZsYXZvcj09PSJ3aWRldmluZSIpaWYobi5WUSYmIW4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrKW1uKG4pO2Vsc2V7aWYoIShuLkIuUygidnA5X2RybV9saXZlIikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZXLnFIKSl7bi5WUT0hMDtEPVcuY3J5cHRvUGVyaW9kSW5kZXg7dmFyIGI9Vy5OO1Z2dChXKTtXLnFIfHwoYiYmVy5OIT09Yj9uLldKKCJjdG1wIiwiY3BzbW0iLHtlbXNnOmIsCnBzc2g6Vy5OfSk6RCYmVy5jcnlwdG9QZXJpb2RJbmRleCE9PUQmJm4uV0ooImN0bXAiLCJjcGltbSIse2Vtc2c6RCxwc3NoOlcuY3J5cHRvUGVyaW9kSW5kZXh9KSk7bi5XSigid2lkZXZpbmVfc2V0X25lZWRfa2V5X2luZm8iLFcpfX1lbHNlIG4uUyQoVyl9fTsKbW49ZnVuY3Rpb24obil7aWYobi5QWCYmbi5EJiYhbi5iZCl7Zm9yKDtuLlgubGVuZ3RoOyl7bGV0IFc9bi5YWzBdLEQ9SG1TKG4pP2NraihXKTpnLkVBKFcuaW5pdERhdGEpO2lmKG4uTi5OKCkmJiFXLlVXKW4uWC5zaGlmdCgpO2Vsc2V7aWYobi5XLmdldChEKSlpZihuLk4uZmxhdm9yIT09ImZhaXJwbGF5Inx8bi5OLk4oKSl7bi5YLnNoaWZ0KCk7Y29udGludWV9ZWxzZSBuLlcuZGVsZXRlKEQpO1Z2dChXKTticmVha319bi5YLmxlbmd0aCYmbi5jcmVhdGVTZXNzaW9uKG4uWFswXSl9fTsKQTI9ZnVuY3Rpb24obil7bi5xTigpfHwobi5EPSEwLG4uSih7b25tZGtyZHk6MX0pLG1uKG4pKX07CkhtUz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OLmZsYXZvcj09PSJ3aWRldmluZSImJm4udmlkZW9EYXRhLlMoImh0bWw1X2RybV9jcGlfbGljZW5zZV9rZXkiKX07CmY1eD1hc3luYyBmdW5jdGlvbihuKXtpZihnLmQ4KCkmJm4ubWVkaWFLZXlzLm1lZGlhS2V5cz8uZ2V0TWV0cmljcyl7dmFyIFc9YXdhaXQgbi5tZWRpYUtleXMuZ2V0TWV0cmljcygpO1cmJigoMCxnLkc5KShXKXx8KFc9Zy5IRyhXKSksL15bQS1aYS16MC05Xy1dKz17MCwzfSQvLnRlc3QoVyl8fChXPWcudXAoVyx2b2lkIDAsITApKSxuLldKKCJjdG1wIiwiZHJtIix7bWV0cmljczpXfSkpfX07CkpJYj1mdW5jdGlvbihuLFcpe2lmKG4udmlkZW9EYXRhLlkpcmV0dXJuITE7bi55US5udSs9MTtpZihuLnlRLm51PD0xMClyZXR1cm4hMTtXLmV4aWxlZD1gJHtuLnlRLm51fWA7bi5HcygicW9lLnN0YXJ0MTVzIixXKTtuLkwuV0ooInBsYXliYWNrc3RhbGxlZGF0c3RhcnQiKTtyZXR1cm4hMH07Ckk1Mj1mdW5jdGlvbihuKXtpZighbi5KKXtuLko9ITA7dmFyIFc9bi5MLmdldFBsYXllclN0YXRlKCk7Vz1XLmlzUGF1c2VkKCl8fFcuaXNTdXNwZW5kZWQoKTtuLkwub0ooKTtXJiYhT1Mobi52aWRlb0RhdGEpfHxuLkwuV0ooInNpZ25hdHVyZWV4cGlyZWQiKX19OwpLQz1mdW5jdGlvbihuLFcsRCl7dmFyIGI9bi52aWRlb0RhdGEuSix2PW4udmlkZW9EYXRhLlgsaz1uLnlRLlMoImh0bWw1X2Rpc2FibGVfY29kZWNfZmFsbGJhY2tfZm9yX2RybSIpJiZuLnZpZGVvRGF0YS5NaSgpO0FKKG4uTC5nZXRWaWRlb0RhdGEoKSkmJlA5VShuLkwsInBlIik7bi55US5adCgpLk4uUVEoU2N0KSYmKEQuYmtnPW4uTC5YTygpLmlzQmFja2dyb3VuZCgpPyIxIjoiMCIpO2lmKChXPT09InByb2dyZXNzaXZlLm5ldC5yZXRyeWV4aGF1c3RlZCJ8fFc9PT0iZm10LnVucGxheWFibGUifHxXPT09ImZtdC5kZWNvZGUiKSYmIW4uTC5oVS5qJiZiJiZiLml0YWc9PT0iMjIiKXJldHVybiBuLkwuaFUuaj0hMCxuLkdzKCJxb2UucmVzdGFydCIse3JlYXNvbjoiZm10LnVucGxheWFibGUuMjIifSksbi5MLlZ2KCksITA7dmFyIGg9ITE7aWYobi52aWRlb0RhdGEuaXNFeHRlcm5hbGx5SG9zdGVkUG9kY2FzdCl7aWYoaD1uLnZpZGVvRGF0YS5xdylELm1pbWVUeXBlPWgudHlwZSwKbi5VKCIzcHAiLHt1cmw6aC51cmx9KTtELm5zPSIzcHAiO24uTC5QVihXLDEsIlZJREVPX1VOQVZBSUxBQkxFIixnLlRDKChuZXcgZy5DaShXLEQsMSkpLmRldGFpbHMpKTtyZXR1cm4hMH12YXIgeD1uLmtzKzNFNDwoMCxnLlIpKCl8fG4uTi5pc0FjdGl2ZSgpO2lmKG4ueVEuUygiaHRtbDVfZW1wdHlfc3JjIikmJm4udmlkZW9EYXRhLmlzQWQoKSYmVz09PSJmbXQudW5wbGF5YWJsZSImJi9FbXB0eSBzcmMvLnRlc3QoYCR7RC5tc2d9YCkpcmV0dXJuIEQub3JpZ2luPSJlbXB0eXNyYyIsbi5HcygiYXV0aCIsRCksITA7dmFyIEw7aWYoTD0heClMPW4uTC5YTygpLEw9ISEoTC5CUCgpfHxMLmlzSW5saW5lKCl8fEwuaXNCYWNrZ3JvdW5kKCl8fEwuQW4oKXx8TC5qSSgpfHxMLlNJKCl8fEwuUTAoKSk7TCYmKEQubm9uZmc9InBhdXNlZCIseD0hMCxuLkwucGF1c2VWaWRlbygpKTtXIT09ImZtdC5kZWNvZGUiJiZXIT09ImZtdC51bnBsYXlhYmxlInx8IXY/LlYoKXx8KFNUKG4ueVEuVyx2LklCKSwKRC5hY2ZhbGxleHA9di5JQixoPXg9ITApOyF4JiZuLlc+MCYmKG4uTi5zdGFydCgpLHg9ITAsRC5kZWxheWVkPSIxIiwtLW4uVyk7dj1uLkwubG9hZGVyO3h8fCFiPy5NVygpJiYhYj8uWCgpfHxrfHwoU1Qobi55US5XLGIuSUIpLGg9eD0hMCxELmNmYWxsZXhwPWIuSUIpO2lmKCF4KXJldHVybiBKSWIobixEKTtrPSExO24uaj9uLmtzPSgwLGcuUikoKTprPW4uaj0hMDt4PW4udmlkZW9EYXRhO3guY0o/KHg9eC5jSi5qKCksTD1EYXRlLm5vdygpLzFFMysxODAwLHg9eDxMKTp4PSExO0QuZT1XO3gmJihELnN0YWxlcHJvZz0iMSIpO24uR3MoInFvZS5yZXN0YXJ0IixEKTtpZih4JiZuLlExKCkpcmV0dXJuIEk1MihuKSwhMDtpZighKCFnLnViKCJwaGlsaXBzIil8fFc9PT0iZm10LnVucGxheWFibGUiJiZ2JiZ2LkNIfHxuLnlRLk4uY3BsYXRmb3JtPT09IkdBTUVfQ09OU09MRSIpKXRyeXt3aW5kb3cuY2xvc2UoKX1jYXRjaHt9YiYmYi5NVygpJiYhbi55US5TKCJodG1sNV9hbGxvd19hdjFfcmV0cnlfaW5fc2Vzc2lvbiIpPwooaD1uLnlRLlcsaC5ZPSEwLGg9aC5OPSEwKTp2PyhXPW4ueVEuUygiaHRtbDVfZGlzYWJsZV9zdHVubmluZ19mb3Jfc2QiKSxEPW4udmlkZW9EYXRhLlcsRD1EPy52aWRlb0luZm9zPy5sZW5ndGg/RC52aWRlb0luZm9zW0QudmlkZW9JbmZvcy5sZW5ndGgtMV06bnVsbCxiPWImJkQmJmIudmlkZW8mJkQudmlkZW8mJmIudmlkZW8ucXVhbGl0eU9yZGluYWw9PT1ELnZpZGVvLnF1YWxpdHlPcmRpbmFsLGt8fFcmJmJ8fChiPShiPUkkKHYudmlkZW9UcmFjayl8fHYudmlkZW9UcmFjay5OKT9iLlBKOnYudmlkZW9UcmFjay5QSixiLkZGKz0xLHYucG9saWN5Lk4/V2wodi5rNixiLCEwKTphcSh2LmNWLGIsITApKSk6bi52aWRlb0RhdGEuY0omJm4udmlkZW9EYXRhLmNKLlgoKTtuLk4uaXNBY3RpdmUoKXx8bi5MLkJvKGgpO3JldHVybiEwfTsKQUlNPWZ1bmN0aW9uKG4sVyl7aWYoKG49bi5MLmg1KCkpJiYoVy5lcnJvckNvZGU9PT0iZm10LnVucGxheWFibGUifHxXLmVycm9yQ29kZT09PSJodG1sNS5pbnZhbGlkc3RhdGUiKSl7bGV0IEQ9bi5WRygpO1cuZGV0YWlscy5tZXJyPUQ/RC50b1N0cmluZygpOiIwIjtXLmRldGFpbHMubW1zZz1uLnM4KCl9fTsKbWJNPWZ1bmN0aW9uKG4pe3JldHVybiBuLmVycm9yQ29kZT09PSJuZXQuYmFkc3RhdHVzIiYmKG4uc2V2ZXJpdHk9PT0xfHwhIW4uZGV0YWlscy5mbXRfdW5hdil9OwpLZ3g9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi55US5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIikmJlcuZGV0YWlscy5yYz09PTQwM3x8Vy5kZXRhaWxzLnJjPT09IjQwMyI/KG49Vy5lcnJvckNvZGUsbj09PSJuZXQuYmFkc3RhdHVzInx8bj09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiKTohMX07Ck9YPWZ1bmN0aW9uKG4sVyxEKXt0cnl7Vz17ZGV0YWlsOmBwci4ke1d9YH0sZy54NihuLnlRKXx8bG8obi55USk9PT0iVFZIVE1MNV9GT1JfS0lEUyI/bi5MLlBWKCJxb2UucmVzdGFydCIsRD8xOjIsdm9pZCAwLGcuVEMoVyksIjciKToobi5HcygicW9lLnJlc3RhcnQiLFcpLHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKSl9Y2F0Y2h7fX07Ck9tMj1mdW5jdGlvbihuLFcpe2lmKCFLZ3gobixXKSYmIW4uSilyZXR1cm4hMTtXLmRldGFpbHMuc3RzPSIyMDY1NSI7aWYobi5RMSgpKXJldHVybiBqMihXLnNldmVyaXR5KSYmKFc9T2JqZWN0LmFzc2lnbih7ZTpXLmVycm9yQ29kZX0sVy5kZXRhaWxzKSxXPW5ldyBnLkNpKCJxb2UucmVzdGFydCIsVykpLG4uR3MoVy5lcnJvckNvZGUsVy5kZXRhaWxzKSxJNTIobiksITA7KDAsZy5SKSgpLW4ueVEuQ3U+NjA0OEU1JiZPWChuLCJzaWduYXR1cmUiLCEwKTtyZXR1cm4hMX07ClBNaj1mdW5jdGlvbihuKXtpZihuLnZpZGVvRGF0YS5lcnJvckRldGFpbD09PSI3IiYmZy5rNihuLnlRKSl7bGV0IFc9IW4udmlkZW9EYXRhLmlzSW5saW5lUGxheWJhY2tOb0FkO1cmJm4ueVEuVFErKztPWChuLCJpbm5lcnR1YmVfcGxheWVyX3JlbG9hZF9yZXF1aXJlZCIsVyYmbi55US5UUT4xKTtyZXR1cm4hMH1yZXR1cm4hMX07ClByPWZ1bmN0aW9uKG4sVz0iZm10Lm5vbmVhdmFpbGFibGUiKXt2YXIgRD1uLnlRLlc7RC5LPSExO0QuTj0hMDtuLkdzKCJxb2UucmVzdGFydCIse2U6VyxkZXRhaWw6ImhkciJ9KTtuLkwuQm8oITApfTsKWm1oPWZ1bmN0aW9uKG4pe2lmKG4uTC5YTygpLmlzSW5saW5lKCkpcmV0dXJuIFlaO249TGdbcDcoKV07cmV0dXJuIHZBKCJhdXRvIixuLCExLCJzIil9Owp5SXI9ZnVuY3Rpb24obixXKXt2YXIgRDthOmlmKChEPVcuTikmJkQudmlkZW9JbmZvcy5sZW5ndGgpe2Zvcih2YXIgYiBvZiBELnZpZGVvSW5mb3MpaWYoYi5qPy5zbW9vdGgpe0Q9Yi52aWRlby5xdWFsaXR5T3JkaW5hbDticmVhayBhfUQ9RC52aWRlb0luZm9zWzBdLnZpZGVvLnF1YWxpdHlPcmRpbmFsfWVsc2UgRD0wO2I9ITA7bi5CLlMoIndlYl9yZWxheF9hcm1fY2FwIikmJm5hdmlnYXRvci5KRiYmKGI9ITEpO2ImJihnLnViKCJhcm12NyIpfHxnLnViKCJhYXJjaDY0Iil8fGcudWIoImFuZHJvaWQiKSkmJiFnLms2KG4uQikmJlcuTi52aWRlb0luZm9zWzBdLlgoKSYmKEQ9TWF0aC5taW4oRCxORy5sYXJnZSkpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2NoaXBzZXRfc29mdF9jYXAiKTtiPjAmJihEPU1hdGgubWluKEQsYikpO2I9bi5CLncwKCkuTi5RUShVYlMpO2I+MCYmKEQ9TWF0aC5taW4oRCxiKSk7aWYoYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWF4X3ZlcnRpY2FsX3Jlc29sdXRpb24iKSl7bGV0IGg9CjQzMjA7Zm9yKHZhciB2PTA7djxXLk4udmlkZW9JbmZvcy5sZW5ndGg7disrKXt2YXIgaz1XLk4udmlkZW9JbmZvc1t2XTtrLnZpZGVvLmhlaWdodD5iJiYoaD1NYXRoLm1pbihoLGsudmlkZW8ucXVhbGl0eU9yZGluYWwpKX1pZihoPDQzMjApe3Y9MDtmb3Ioaz0wO2s8Vy5OLnZpZGVvSW5mb3MubGVuZ3RoO2srKyl7bGV0IHg9Vy5OLnZpZGVvSW5mb3Nba10udmlkZW8ucXVhbGl0eU9yZGluYWw7eDxoJiYodj1NYXRoLm1heCh2LHgpKX12JiYoRD1NYXRoLm1pbih2LEQpKX1uLkwuVSgibXZyIix7aDpiLGNwOkR9KX1yZXR1cm4gbmV3IGIzKDAsRCwhMSwibyIpfTsKaW1yPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9NDMyMDshbi5CLmp8fGcuQ04obi5CKXx8bi5CLlMoImhsc19mb3Jfdm9kIil8fG4uQi5TKCJtd2ViX3JlbW92ZV8zNjBwX2NhcCIpfHwoRD1ORy5tZWRpdW0pO3ZhciBiPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwIik7YiYmVy5OLk4oKSYmKG4uQi5TKCJodG1sNV9hbHdheXNfYXBwbHlfZGVmYXVsdF9xdWFsaXR5X2NhcCIpfHwhVy52aWRlb0RhdGEuaTUmJiFXLnZpZGVvRGF0YS5jb250ZW50UHJvdGVjdGlvbikmJihEPU1hdGgubWluKEQsYikpO2I9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X3JhbmRvbV9wbGF5YmFja19jYXAiKTt2YXIgdj0vW2EtaF0kLztiJiZ2LnRlc3QoVy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSkmJihEPU1hdGgubWluKEQsYikpO2lmKHY9Yj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfaGZyX3F1YWxpdHlfY2FwIikpYTp7dj1XLk47aWYodi5OKCkpZm9yKHZhciBrIG9mIHYudmlkZW9JbmZvcylpZihrLnZpZGVvLkooKSl7dj0KITA7YnJlYWsgYX12PSExfXYmJihEPU1hdGgubWluKEQsYikpOyhrPWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9saXZlX3F1YWxpdHlfY2FwIikpJiZXLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKEQ9TWF0aC5taW4oRCxrKSk7RD1FUU0obixXLEQpO249Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIik7cmV0dXJuIG5ldyBiMygwLEQ9PT00MzIwPzA6RCwhMSwiZCIsbil9OwpaVj1mdW5jdGlvbihuLFcpe3ZhciBEPW4uTC5YTygpO3JldHVybiBELmlzSW5saW5lKCkmJiFXLnVuY2FwSW5saW5lUXVhbGl0eT9uZXcgYjMoMCw0ODAsITEsInYiKTpnLllOKFcpP1laOkQuaXNCYWNrZ3JvdW5kKCkmJmcudkkoKS8xRTM+NjAmJiFnLms2KG4uQik/bmV3IGIzKDAsMzYwLCExLCJ2Iik6WVp9OwpVWD1mdW5jdGlvbihuLFcsRCl7aWYobi5CLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIikmJlcuaHEoKXx8Zy5rNihuLkIpJiYocDcoLTEpPj0xMDgwfHxXLm9zaWQpKXJldHVybiBZWjt2YXIgYj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfYXV0b25hdl9xdWFsaXR5X2NhcCIpLHY9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X2F1dG9uYXZfY2FwX2lkbGVfc2VjcyIpO3JldHVybiBiJiZXLmlzQXV0b25hdiYmZy52SSgpLzFFMz52PyhEJiYoYj1FUU0obixELGIpKSxuZXcgYjMoMCxiLCExLCJlIikpOllafTsKeTM9ZnVuY3Rpb24obixXKXtpZighVy5OLk4oKSlyZXR1cm4gbi5qP25ldyBiMygwLDM2MCwhMSwiYiIpOllaO3ZhciBEPSExLGI9ITE7Zm9yKHZhciB2IG9mIFcuTi52aWRlb0luZm9zKXYuTVcoKT9EPSEwOmI9ITA7RD1EJiZiO2I9MDt2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3IiKTt2PW4uQi5qPzI0MDp2O2ZvcihsZXQgayBvZiBXLk4udmlkZW9JbmZvcyl7aWYoRCYmay5NVygpKWNvbnRpbnVlO1c9VkMoay5JQixrLnZpZGVvLmZwcyxuLlcpO2xldCBoPWsudmlkZW8ucXVhbGl0eU9yZGluYWw7aWYoTWF0aC5tYXgoVyx2KT49aCl7Yj1oO2JyZWFrfX1yZXR1cm4gbmV3IGIzKDAsYiwhMSwiYiIpfTsKaW09ZnVuY3Rpb24obixXKXt2YXIgRD1FWChuLFcuTj8udmlkZW9JbmZvcyksYj1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7cmV0dXJuIGI+MSYmRD8obj1KeihuLkIuVyxXLk4udmlkZW9JbmZvcyxiKSxuZXcgYjMoMCxuLCEwLCJvIikpOm5ldyBiMygwLDAsITEsIm8iKX07CnVtPWZ1bmN0aW9uKG4sVyxEKXtnLms2KG4uQikmJihEPUQuY29tcG9zZShuLk1oKFcpKSk7cmV0dXJuIER9OwpFWD1mdW5jdGlvbihuLFcpe3JldHVybiBXJiZnLms2KG4uQik/Vy5zb21lKEQ9PkQudmlkZW8uSigpKTohMX07CkVRTT1mdW5jdGlvbihuLFcsRCl7aWYobi5TKCJodG1sNV9vcHRpbWFsaXR5X2RlZmF1bHRzX2Nob29zZXNfbmV4dF9oaWdoZXIiKSYmRClmb3Iobj1XLk4udmlkZW9JbmZvcyxXPTE7VzxuLmxlbmd0aDtXKyspaWYobltXXS52aWRlby5xdWFsaXR5T3JkaW5hbDxEKXJldHVybiBuW1ctMV0udmlkZW8ucXVhbGl0eU9yZGluYWw7cmV0dXJuIER9Owp1aWo9YXN5bmMgZnVuY3Rpb24obil7aWYoIW4uTi5OKCl8fHR5cGVvZiBuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyE9PSJmdW5jdGlvbiIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2F3YWl0IFByb21pc2UucmVzb2x2ZSgpO2ZvcihsZXQgVyBvZiBuLk4udmlkZW9JbmZvcylhd2FpdCBrM3IoVyl9OwpvUTI9ZnVuY3Rpb24obixXKXt2YXIgRD1XLklCLGI9Vy52aWRlby5mcHMsdj1XLnZpZGVvLnF1YWxpdHlPcmRpbmFsLTEsaz1uLlc7Vz1gJHtEfSR7Yj40OT8icDYwIjpiPjMyPyJwNDgiOiIifWA7RD1WQyhELGIsayk7dj4wJiYoRD1NYXRoLm1pbihELHYpKTshY0YuaGFzKFcpJiZKcygpLmluY2x1ZGVzKFcpPyhiPWY3KCksK2JbV10+MCYmKEQ9TWF0aC5taW4oK2JbV10sRCkpLGJbV10hPT1EJiYoYltXXT1ELGcuUEIoInl0LXBsYXllci1wZXJmb3JtYW5jZS1jYXAiLGIsMjU5MkUzKSkpOmNGLmhhcyhXKXx8az09bnVsbD8oYj1KcygpLnNsaWNlKCksYi5pbmNsdWRlcyhXKXx8KGIucHVzaChXKSxnLlBCKCJ5dC1wbGF5ZXItcGVyZm9ybWFuY2UtY2FwLWFjdGl2ZS1zZXQiLGIsMjU5MkUzKSksUUMuc2V0KFcsRCkpOihjRi5hZGQoVyksaz8uc2V0KFcsRCkpO24uTC5zVCgpfTsKZGJTPWZ1bmN0aW9uKCl7cmV0dXJuIFd4KGY3KCksbj0+YCR7bn1gKX07Cno4Mj1mdW5jdGlvbihuLFcsRCxiKXtpZighV3x8IUR8fCFXLnZpZGVvRGF0YS5KKXJldHVybiExO3ZhciB2PWcuZE0obi5CLmV4cGVyaW1lbnRzLCJodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoIiksaz1uLlMoImh0bWw1X2xvZ19tZWRpYV9wZXJmX2luZm8iKTtpZighKCgwLGcuUikoKS1uLlg8NUUzPzA6a3x8dj4wKSlyZXR1cm4hMTt2YXIgaD0oKDAsZy5SKSgpLW4uWCkvMUUzO24uWD0oMCxnLlIpKCk7RD1ELmdldFZpZGVvUGxheWJhY2tRdWFsaXR5KCk7aWYoIUQpcmV0dXJuITE7dmFyIHg9RC5kcm9wcGVkVmlkZW9GcmFtZXMtbi5WLEw9RC50b3RhbFZpZGVvRnJhbWVzLW4udG90YWxGcmFtZXM7bi5WPUQuZHJvcHBlZFZpZGVvRnJhbWVzO24udG90YWxGcmFtZXM9RC50b3RhbFZpZGVvRnJhbWVzO3ZhciBlPUQuZGlzcGxheUNvbXBvc2l0ZWRWaWRlb0ZyYW1lcz09PTA/MDpELmRpc3BsYXlDb21wb3NpdGVkVmlkZW9GcmFtZXN8fC0xO2smJm4uQi5XWCgpJiZuLkwuVSgiZGRmIiwKe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lcyxjb21wOmV9KTtpZihiKXJldHVybiBuLk49MCwhMTtpZigoTC14KS9oPm4uWXx8IXZ8fGcuazYobi5CKSlyZXR1cm4hMTtuLk49KEw+NjA/eC9MOjApPnY/bi5OKzE6MDtpZihuLk4hPT0zKXJldHVybiExO29RMihuLFcudmlkZW9EYXRhLkopO24uTC5VKCJkZmQiLE9iamVjdC5hc3NpZ24oe2RyOkQuZHJvcHBlZFZpZGVvRnJhbWVzLGRlOkQudG90YWxWaWRlb0ZyYW1lc30sZGJTKCkpKTtyZXR1cm4hMH07Cmw1VT1mdW5jdGlvbihuLFcpe24uUygiaHRtbDVfbG9nX21lZGlhX3BlcmZfaW5mbyIpJiYobi5MLlUoInBlcmZkYiIsZGJTKCkpLG4uTC5VKCJzZXNzaW9ucGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMoUUMuZW50cmllcygpKSksbi5MLlUoInBsYXliYWNrcGVyZmRiIixPYmplY3QuZnJvbUVudHJpZXMobi5XLmVudHJpZXMoKSkpLG4uTC5VKCJod2MiLHtuY2g6bmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3l9LCEwKSxXJiZuLkwuVSgibWNkYiIse2l0YWdzOlcuTi52aWRlb0luZm9zLmZpbHRlcihEPT5ELmo/LnNtb290aD09PSExKS5tYXAoRD0+RC5pdGFnKS5qb2luKCItIil9KSl9OwpiQT1mdW5jdGlvbihuLFcsRD0hMSl7bi5ZYT8uV1goKSYmbi5ZYS5VKCJybXMiLFcsRCl9OwpvdT1mdW5jdGlvbihuKXtuPW4uTygpO3JldHVybiBuLmxlbmd0aDwxP05hTjpuLmVuZChuLmxlbmd0aC0xKX07ClRvaT1mdW5jdGlvbihuLFcpe24uWGImJm4uWGIuZXF1YWxzKFcpfHwobi5YYiYmbi5YYi5kaXNwb3NlKCksbi5YYj1XKX07CmpJaj1mdW5jdGlvbihuKXshbi5XJiZjUigpJiYobi5qP24uai50aGVuKCgpPT5qSWoobikpOm4uWF8oKXx8KG4uVz1uLlV6KCkpKX07CkNNeD1mdW5jdGlvbihuLFcsRCl7bi5pc1BhdXNlZCgpfHxuLmdldEN1cnJlbnRUaW1lKCk+V3x8RD4xMHx8KG4ucGxheSgpLGcubiQoKCk9PntDTXgobixuLmdldEN1cnJlbnRUaW1lKCksRCsxKX0sNTAwKSl9OwpCb3Q9ZnVuY3Rpb24obixXKXtpZihuLlgoKT09PTB8fG4uaGFzRXJyb3IoKSlyZXR1cm4hMTt2YXIgRD1uLmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gVz49MCYmKG49bi5PKCksbi5sZW5ndGh8fCFEKT9CUihuLFcpOkR9OwpkUz1mdW5jdGlvbihuKXtpZihuLlhfKCl8fG4uVEMoKSluLllhJiZuLllhLkNjKCJyc19zIiksZy5NTCYmbi5nZXRDdXJyZW50VGltZSgpPjAmJm4uc2Vla1RvKDApLG4uVlEoKSxuLmUkKCksbi5sb2FkKCksVG9pKG4sbnVsbCk7ZGVsZXRlIG4uan07CkZnYj1mdW5jdGlvbihuKXt2YXIgVz1uLkooKTtyZXR1cm4gTSQoVykmJm4uZ2V0RHVyYXRpb24oKT9XLmVuZChXLmxlbmd0aC0xKTowfTsKelg9ZnVuY3Rpb24obil7c3dpdGNoKG4uVkcoKSl7Y2FzZSAyOnJldHVybiJwcm9ncmVzc2l2ZS5uZXQucmV0cnlleGhhdXN0ZWQiO2Nhc2UgMzpyZXR1cm4gbj1uLnM4KCksbj8uaW5jbHVkZXMoIk1FRElBX0VSUl9DQVBBQklMSVRZX0NIQU5HRUQiKXx8d1VNJiZuPy5pbmNsdWRlcygiYXVkaW9fb3V0cHV0X2NoYW5nZSIpPyJjYXBhYmlsaXR5LmNoYW5nZWQiOiJmbXQuZGVjb2RlIjtjYXNlIDQ6cmV0dXJuImZtdC51bnBsYXlhYmxlIjtjYXNlIDU6cmV0dXJuImRybS51bmF2YWlsYWJsZSI7Y2FzZSAxRTM6cmV0dXJuImNhcGFiaWxpdHkuY2hhbmdlZCI7ZGVmYXVsdDpyZXR1cm4gbnVsbH19OwpNd2g9ZnVuY3Rpb24obil7dmFyIFc9bnVsbDtuWzRdJiYoVz1uWzRdLFc9e2Vycm9yQ29kZTpXWzVdLGVycm9yRGV0YWlsOldbNl0sZXJyb3JNZXNzYWdlOldbN10saHk6V1s4XSxUaDpXWzldLHdpOldbMTBdLEp4OldbMTFdLGNwbjpXWzEyXX0pO3JldHVybiBuZXcgZy5sbShuWzFdLFcsblsyXSxuWzNdKX07CmwxPWZ1bmN0aW9uKG4pe3JldHVybiBuLmlzUGxheWluZygpJiYhbi5OKDE2KSYmIW4uTigzMil9OwpUWD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OKDEyOCk/LTE6bi5OKDIpPzA6bi5OKDIwNDgpPzM6bi5OKDY0KT8tMTpuLk4oMSkmJiFuLk4oMzIpPzM6bi5OKDgpPzE6bi5OKDQpPzI6LTF9OwpqMD1mdW5jdGlvbihuLFcsRCxiLHYpe2lmKCEoVz09PW4uc3RhdGUmJkQ9PT1uLmhPJiZiPT09bi5zZWVrU291cmNlJiZ2PT09bi5zdG9wcGFnZVJlYXNvbnx8VyE9PXZvaWQgMCYmKFcmMTI4JiYhRHx8VyYyJiZXJjE2KSkpe3ZhciBrO2lmKGs9VylrPVd8fG4uc3RhdGUsaz0hIShrJjE2fHxrJjMyKTtuPW5ldyBnLmxtKFcsRCxrP2I/YjpuLnNlZWtTb3VyY2U6bnVsbCx2KX1yZXR1cm4gbn07CkNDPWZ1bmN0aW9uKG4sVyxEPSExKXtyZXR1cm4gUjhDKG4sVy5nZXRDdXJyZW50VGltZSgpLCgwLGcuUikoKSxXLnpzKCksRCl9OwpCcj1mdW5jdGlvbihuLFcsRD1udWxsLGI9bnVsbCl7cmV0dXJuIGowKG4sbi5zdGF0ZXxXLG51bGwsRCxiKX07CkZiPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGowKG4sbi5zdGF0ZSZ+VyxudWxsLG51bGwsbnVsbCl9Owp3Uz1mdW5jdGlvbihuLFcsRCxiPW51bGwsdj1udWxsKXtyZXR1cm4gajAobiwobi5zdGF0ZXxXKSZ+RCxudWxsLGIsdil9OwpRSVM9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zdGF0ZT09PW4uc3RhdGUmJlcuaE89PT1uLmhPfTsKVndNPWZ1bmN0aW9uKG4pe3N3aXRjaChuLkIucGxheWVyQ2FuYXJ5U3RhZ2U/LnRvTG93ZXJDYXNlKCkpe2Nhc2UgInhzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWFNNQUxMIjtjYXNlICJzbWFsbCI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfU01BTEwiO2Nhc2UgIm1lZGl1bSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTUVESVVNIjtjYXNlICJsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfTEFSR0UiO2Nhc2UgInhsYXJnZSI6cmV0dXJuIkhUTUw1X1BMQVlFUl9DQU5BUllfU1RBR0VfWExBUkdFIjtkZWZhdWx0OnJldHVybiJIVE1MNV9QTEFZRVJfQ0FOQVJZX1NUQUdFX1VOU1BFQ0lGSUVEIn19OwpjSWo9ZnVuY3Rpb24obil7bi5OPj0wfHwobi5wcm92aWRlci5MLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09Mz9uLlY9ITA6KG4uTj1nLlJrKG4ucHJvdmlkZXIpLG4uZGVsYXkuc3RhcnQoKSkpfTsKYTVyPWZ1bmN0aW9uKG4pe2lmKCEobi5KPDApKXt2YXIgVz1nLlJrKG4ucHJvdmlkZXIpLEQ9Vy1uLmo7bi5qPVc7bi5wbGF5ZXJTdGF0ZS5KKCk/bi5wbGF5VGltZVNlY3MrPUQ6bi5wbGF5ZXJTdGF0ZS5pc0J1ZmZlcmluZygpJiYhbi5wbGF5ZXJTdGF0ZS5OKDE2KSYmKG4ucmVidWZmZXJUaW1lU2Vjcys9RCl9fTsKUnU9ZnVuY3Rpb24obixXPSExKXtuLk4uWD1XO24uTi5zdGFydFRpbWU9bi5XO24uTi5lbmRUaW1lPW4uSjtuLmpWPy5sZW5ndGgmJihuLk4ualY9bi5qVik7bi5yWD8ubGVuZ3RoJiYobi5OLnJYPW4uclgpO1c9ITE7dmFyIEQ9Zy5VTShuLnNlZ21lbnRzKTtuLnNlZ21lbnRzLmxlbmd0aCYmIUQ/LlgmJkQ/LmlzRW1wdHkoKT8obi5zZWdtZW50c1tuLnNlZ21lbnRzLmxlbmd0aC0xXS5wcmV2aW91c2x5RW5kZWQmJihuLk4ucHJldmlvdXNseUVuZGVkPSEwKSxuLnNlZ21lbnRzW24uc2VnbWVudHMubGVuZ3RoLTFdPW4uTixXPSEwKTpuLnNlZ21lbnRzLmxlbmd0aCYmbi5OLmlzRW1wdHkoKSYmIW4uTi5YfHwobi5zZWdtZW50cy5wdXNoKG4uTiksVz0hMCk7Vz8obi5OLmVuZFRpbWU9PT0wJiYobi5wcmV2aW91c2x5RW5kZWQ9ITEpLG4uTi5yWD8ubGVuZ3RoJiZuLnByb3ZpZGVyLkwuVSgic2RhaSIse2F0dGFjaF9tZXRhOjEsc3Q6bi5OLnN0YXJ0VGltZSxldDpuLk4uZW5kVGltZSxzZWdfaWR4Om4uc2VnbWVudHMubGVuZ3RoLQoxfSkpOm4uTi5wcmV2aW91c2x5RW5kZWQmJihuLnByZXZpb3VzbHlFbmRlZD0hMCk7bi5WKz1uLkotbi5XO24uTj1NbShuLnByb3ZpZGVyKTtuLk4ucHJldmlvdXNseUVuZGVkPW4ucHJldmlvdXNseUVuZGVkO24ucHJvdmlkZXIuQi5adCgpLk4uUVEobm9yKSYmKG4uais9SlNPTi5zdHJpbmdpZnkobi5OKS5sZW5ndGgpO24ucHJldmlvdXNseUVuZGVkPSExO24uVz1uLko7cmV0dXJuIFc/Zy5VTShuLnNlZ21lbnRzKTp2b2lkIDB9OwpXM1o9ZnVuY3Rpb24obil7RHIobi5LKTtuLks9TmFOfTsKRGoyPWZ1bmN0aW9uKG4pe1czWihuKTtuLks9VzAoKCk9PntuLnVwZGF0ZSgpfSwxMDApOwpuLnJ6PWcuUmsobi5wcm92aWRlcik7bi5OPU1tKG4ucHJvdmlkZXIpfTsKYlh0PWZ1bmN0aW9uKG4sVyxEKXtELT1uLnJ6O3JldHVybiBXPT09bi5KJiZEPi41fTsKZy5RMz1mdW5jdGlvbihuLFcpe3ZhciBEPW4uc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnZpc2l0b3JEYXRhOnZvaWQgMDtyZXR1cm4gZy5IRShuLkIsbi5hY2Nlc3NUb2tlbikudGhlbihiPT5qUihuLnVyaSxuLkIsbi5wYWdlSWQsRCxiLFcpKX07Cmcudm9qPWZ1bmN0aW9uKG4pe24uaW5kZXhPZigid2F0Y2h0aW1lIikhPT0tMSYmZy56VSgiZ2VsRGVidWdnaW5nRXZlbnQiLHt2c3MzZGVidWdnaW5nRXZlbnQ6e3ZzczJQaW5nOm59fSl9OwprcGk9ZnVuY3Rpb24obixXKXtuLmF0dGVzdGF0aW9uUmVzcG9uc2UmJmcuUTMobikudGhlbihEPT57RD1EfHx7fTtELm1ldGhvZD0iUE9TVCI7RC5wb3N0UGFyYW1zPXthdHI6bi5hdHRlc3RhdGlvblJlc3BvbnNlfTtuLlMkP24uVlE/Zy5IVSgpLnNlbmRBbmRXcml0ZShXLEQpOmcuSFUoKS5zZW5kVGhlbldyaXRlKFcsRCk6Zy5lZChXLEQpfSl9OwpoeWk9ZnVuY3Rpb24obil7dmFyIFc9e08zOltdfTtpZihnLm9NKG4uc2VnbWVudHMsRD0+ISFELmpWfHwhIUQuclgpKXtmb3IobGV0IEQgb2Ygbi5zZWdtZW50cylXLk8zLnB1c2goe2pWOkQualZ8fFtdLApyWDpELnJYfHxbXX0pO249Zy5saCh7Ykw6V30sUV8xKTtyZXR1cm4gZy5FQShuLDQpfX07CmJKPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuaV8oVyxuLkopLmpvaW4oIiwiKX07CnZ5TT1mdW5jdGlvbihuLFcpe2lmKFcmJm4uail7dmFyIEQ9bmV3IFNldChbInEiLCJmZWF0dXJlIiwibW9zIl0pLGI9bmV3IFNldCgiYXV0b3BsYXkgY2wgbGVuIGZleHAgZGVsYXkgZWwgbnMgYWRmb3JtYXQiLnNwbGl0KCIgIikpLHY9bmV3IFNldChbImFxaSIsImF1dG9uYXYiLCJsaXN0Iiwic3NydCIsInVwdCJdKTtuLmoubnM9PT0iM3BwIiYmKFcubnM9IjNwcCIpO2ZvcihsZXQgayBvZiBPYmplY3Qua2V5cyhuLmopKWIuaGFzKGspfHxELmhhcyhrKXx8di5oYXMoaykmJiFuLmpba118fChXW2tdPW4ualtrXSl9fTsKeGpqPWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlICJwbGF5aW5nIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX1BMQVlJTkciO2Nhc2UgInBhdXNlZCI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9QQVVTRUQiO2Nhc2UgImJ1ZmZlcmluZyI6cmV0dXJuIlBMQVlFUl9QTEFZQkFDS19TVEFURV9CVUZGRVJJTkciO2Nhc2UgInNlZWtpbmciOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU0VFS0lORyI7Y2FzZSAiZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfRU5ERUQiO2Nhc2UgImVycm9yIjpyZXR1cm4iUExBWUVSX1BMQVlCQUNLX1NUQVRFX0VSUk9SIjtjYXNlICJzdXNwZW5kZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfU1VTUEVOREVEIjtjYXNlICJ1bnN0YXJ0ZWQiOnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5TVEFSVEVEIjtkZWZhdWx0OnJldHVybiJQTEFZRVJfUExBWUJBQ0tfU1RBVEVfVU5LTk9XTiJ9fTsKTDN4PWZ1bmN0aW9uKG4pe3N3aXRjaChuKXtjYXNlIDE6cmV0dXJuIlZJU19NSU5JTUlaRUQiO2Nhc2UgMjpyZXR1cm4iVklTX0ZVTExTQ1JFRU4iO2Nhc2UgMzpyZXR1cm4iVklTX0JBQ0tHUk9VTkQiO2Nhc2UgNDpyZXR1cm4iVklTX0FJUlBMQVkiO2Nhc2UgNTpyZXR1cm4iVklTX0lOTElORSI7Y2FzZSA2OnJldHVybiJWSVNfVlIiO2Nhc2UgNzpyZXR1cm4iVklTX1BJQ1RVUkVfSU5fUElDVFVSRSI7Y2FzZSA4OnJldHVybiJWSVNfSU1NRVJTSVZFX1BSRVZJRVciO2Nhc2UgOTpyZXR1cm4iVklTX1NRVUVFWkVCQUNLIjtjYXNlIDEwOnJldHVybiJWSVNfVEhFQVRFUiI7Y2FzZSAzMTpyZXR1cm4iVklTX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIlZJU19ERUZBVUxUIn19OwpleWo9ZnVuY3Rpb24obil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4iQ09OTl9VTktOT1dOIjtjYXNlIDI6cmV0dXJuIkNPTk5fTk9ORSI7Y2FzZSAzOnJldHVybiJDT05OX1dJRkkiO2Nhc2UgNDpyZXR1cm4iQ09OTl9DRUxMVUxBUl8yRyI7Y2FzZSA1OnJldHVybiJDT05OX0NFTExVTEFSXzNHIjtjYXNlIDY6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNEciO2Nhc2UgNzpyZXR1cm4iQ09OTl9DRUxMVUxBUl9VTktOT1dOIjtjYXNlIDg6cmV0dXJuIkNPTk5fRElTQ08iO2Nhc2UgOTpyZXR1cm4iQ09OTl9DRUxMVUxBUl81RyI7Y2FzZSAxMDpyZXR1cm4iQ09OTl9XSUZJX01FVEVSRUQiO2Nhc2UgMTE6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfU0EiO2Nhc2UgMTI6cmV0dXJuIkNPTk5fQ0VMTFVMQVJfNUdfTlNBIjtjYXNlIDMwOnJldHVybiJDT05OX1dJUkVEIjtjYXNlIDMxOnJldHVybiJDT05OX0lOVkFMSUQiO2RlZmF1bHQ6cmV0dXJuIkNPTk5fREVGQVVMVCJ9fTsKZy5jcj1mdW5jdGlvbihuLFcpe3ZhciBEPVYzKG4ucHJvdmlkZXIpO09iamVjdC5hc3NpZ24oRCx7c3RhdGU6bi5YfSk7Vz1uZXcgZ29oKG4ucHJvdmlkZXIudmlkZW9EYXRhLG4ucHJvdmlkZXIuQixXLEQpO1cuTj1uLnByb3ZpZGVyLkwub3QoKTtEPW4ucHJvdmlkZXIudmlkZW9EYXRhLmNsaWVudFBsYXliYWNrTm9uY2U7Vy5OPW4ucHJvdmlkZXIuTC5vaChEKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFcuZSQ9bi5wcm92aWRlci5MLmdldER1cmF0aW9uKEQpKTtuLnByb3ZpZGVyLnZpZGVvRGF0YS5OJiYoRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKFcuTikpJiYoVy5ZPUQtVy5OKTtEPW4ucHJvdmlkZXIuTC5TVygpO1cuTis9RDtXLlkhPW51bGwmJihXLlktPUQpO1cud2E9Zy5SayhuLnByb3ZpZGVyKTtXLnNlZ21lbnRzPVtNbShuLnByb3ZpZGVyKV07cmV0dXJuIFd9OwpYSVo9ZnVuY3Rpb24obil7dmFyIFc9bi5wcm92aWRlci52aWRlb0RhdGEubFEsRD1uLnByb3ZpZGVyLnZpZGVvRGF0YS5IWSxiPVsxMCtXLDEwLDEwLDQwK0QtVyw0MF0sdj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nLGs9dj8udmlkZW9zdGF0c1NjaGVkdWxlZEZsdXNoV2FsbHRpbWVTZWNvbmRzO3Y9dj8udmlkZW9zdGF0c0RlZmF1bHRGbHVzaEludGVydmFsU2Vjb25kcztpZighKGsmJmsubGVuZ3RoPjAmJnYpKXJldHVybiBiO1c9W2tbMF0rVywuLi5rLnNsaWNlKDEpLm1hcCgoaCx4KT0+aC1rW3hdKSwKditELVcsdl07cmV0dXJuIFcuc29tZShoPT5oPDApPyhnLmNfKG4ubG9nZ2VyLDM0NzExMTg1NSxgTmVnIHZzcyBzY2hlZHVsZWQgcGluZ3MgJHtrfSAke3Z9YCksYik6V307CmF1PWZ1bmN0aW9uKG4sVz1OYU4pe3ZhciBEPWcuUmsobi5wcm92aWRlcik7Vz1pc05hTihXKT9EOlc7Vz1NYXRoLmNlaWwoVyk7dmFyIGI9bi5lJFtuLnR3XTtuLnR3KzE8bi5lJC5sZW5ndGgmJm4udHcrKzt2YXIgdj1XK2I7bi5ZPWcubiQoKCk9PntpZighbi5xTigpKXtuLlk9TmFOO3ZhciBrPW4uUyQoKSxoPXE5MShuLGspO2guTz12O3ZhciB4PW4ubnU+MUUzOyEoay5sZW5ndGg+MSkmJmtbMF0uaXNFbXB0eSgpfHx4fHwoaC5LPWF1KG4sdikpO2lmKG4uY0ope2s9a1trLmxlbmd0aC0xXTtpZih4PW4uVEMpe3g9azt2YXIgTD1uLlRDO3g9eC5zdGFydFRpbWU9PT1MLnN0YXJ0VGltZSYmeC5lbmRUaW1lPT09TC5lbmRUaW1lfXh8fG51KG4sW2tdKX1oLnNlbmQoKTtuLm51Kyt9fSwodi1EKSoxRTMpOwpyZXR1cm4gbi5KPXZ9OwpXZD1mdW5jdGlvbihuLFcpe3ZhciBEPW4ucHJvdmlkZXIuQjtnLkhFKG4ucHJvdmlkZXIuQixuLnByb3ZpZGVyLnZpZGVvRGF0YS5WKCkpLnRoZW4oYj0+e3ZhciB2PW4ucHJvdmlkZXIuQi5wYWdlSWQsaz1uLnByb3ZpZGVyLkIuc2VuZFZpc2l0b3JJZEhlYWRlcj9uLnByb3ZpZGVyLnZpZGVvRGF0YS52aXNpdG9yRGF0YTp2b2lkIDAsaD1uLnByb3ZpZGVyLkIuUygidnNzX3BpbmdzX3VzaW5nX25ldHdvcmtsZXNzIil8fG4ucHJvdmlkZXIuQi5TKCJrZXZsYXJfd29mZmxlIikseD1uLnByb3ZpZGVyLkIuUygiYWxsb3dfc2tpcF9uZXR3b3JrbGVzcyIpO2I9alIoVyxELHYsayxiKTtDRChXLGIse3Rva2VuOm4ucHJvdmlkZXIudmlkZW9EYXRhLmtXLHlvOm4ucHJvdmlkZXIudmlkZW9EYXRhLlF2LG1keEVudmlyb25tZW50Om4ucHJvdmlkZXIudmlkZW9EYXRhLm1keEVudmlyb25tZW50fSxELHZvaWQgMCxoJiYheCwhMSwhMCl9KX07CnE5MT1mdW5jdGlvbihuLFcpe3ZhciBEPWcuY3Iobiwid2F0Y2h0aW1lIik7RDcobikmJihELmRlbGF5VGhyZXNob2xkTWV0PSEwLG4uRHQ9ITApO2lmKG4uaj4wKXtsZXQgYj1uLnByb3ZpZGVyLkwuU1coKTtmb3IobGV0IHYgb2YgVyl2LnN0YXJ0VGltZS09bi5qK2Isdi5lbmRUaW1lLT1uLmorYjtELk4tPW4uaitifWVsc2UgRC5OPW4uTi5KO0Quc2VnbWVudHM9VztyZXR1cm4gRH07Cm51PWZ1bmN0aW9uKG4sVyxEPSExKXtmb3IobGV0IFt4LExdb2YgVy5lbnRyaWVzKCkpe2xldCBlPXgsRz1MO3ZhciBiPW4sdj1WMyhiLnByb3ZpZGVyKTtPYmplY3QuYXNzaWduKHYse3N0YXRlOmIuWH0pO09iamVjdC5hc3NpZ24odix7c2VxdWVuY2VJZDpiLnNlcXVlbmNlSWR9KTtiLnByb3ZpZGVyLkIuUygid2ViX3NlbmRfdnNzM19pc29sYXRlZF9wYXlsb2FkIikmJk9iamVjdC5hc3NpZ24odix7c2VuZElzb2xhdGVkUGF5bG9hZDohMH0pO3ZhciBrPWIsaD1rLnByb3ZpZGVyLnZpZGVvRGF0YS5nZXRQbGF5ZXJSZXNwb25zZSgpPy5wbGF5YmFja1RyYWNraW5nPy52c3MzQ29uZmlnPy52c3MzU2NoZWR1bGluZ0NvbmZpZztoJiYoaD1oLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3MmJihEYXRlLm5vdygpLWsuR0MpLzFFMzxoLmVhcmx5U2VnbWVudFRocmVzaG9sZFNlY3M/aC5lYXJseVNlZ21lbnRNYXhpbXVtTGVuZ3RoU2VjczpoLmRlZmF1bHRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3MsCkcuc2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWsuVEM/Lm5leHRTY2hlZHVsZWRTZWdtZW50TWF4aW11bUxlbmd0aFNlY3M/P2gsRy5uZXh0U2NoZWR1bGVkU2VnbWVudE1heGltdW1MZW5ndGhTZWNzPWgpO2s9bmV3IEdwYihHLGIucHJvdmlkZXIudmlkZW9EYXRhLHYpO2IuSEomJihrLmlzRG91YmxlTG9nZ2VkPSExKTt2PWs7Yi5wcm92aWRlci52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2t8fCh2Lm1lZGlhTGVuZ3RoU2VjPWIucHJvdmlkZXIuTC5nZXREdXJhdGlvbihiLnByb3ZpZGVyLnZpZGVvRGF0YS5jbGllbnRQbGF5YmFja05vbmNlKSk7aWYoYi5wcm92aWRlci52aWRlb0RhdGEuTil7aD1iLnByb3ZpZGVyLkwub3QoKTtsZXQgcj1iLnByb3ZpZGVyLnZpZGVvRGF0YS5OLmhDKGgpO3ImJih2LmxpdmVJbmdlc3Rpb25PZmZzZXRVc2VjPShyLWgpKjFFNil9RDcoYikmJih2LmRlbGF5VGhyZXNob2xkTWV0PSEwLGIuRHQ9ITApO0QmJmU9PT1XLmxlbmd0aC0xJiYoay5pc0ZpbmFsPQohMCxuLkZGPSEwKTtrLnNlbmQoKTtuLnNlcXVlbmNlSWQrKztuLlRDPUd9fTsKRDc9ZnVuY3Rpb24obil7dmFyIFc7aWYoVz1uLnByb3ZpZGVyLnZpZGVvRGF0YS5pc0xvYWRlZCgpJiZuLnByb3ZpZGVyLnZpZGVvRGF0YS5vRCYmbi5XJiYhbi5EdClXPW4uTixXPVcuVitXLm90KCktVy5XPj1uLnByb3ZpZGVyLnZpZGVvRGF0YS5vRDtyZXR1cm4hIVd9OwpiVj1mdW5jdGlvbihuLFcsRD0hMSl7RD1uLksoIWlzTmFOKG4uSiksITEsRCk7VyYmKG4uSj1OYU4pO3JldHVybiBEfTsKdFpNPWZ1bmN0aW9uKG4pe24ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCYmIW4uQ3UmJihXZChuLG4ucHJvdmlkZXIudmlkZW9EYXRhLnlvdXR1YmVSZW1hcmtldGluZ1VybCksbi5DdT0hMCl9Owokalo9ZnVuY3Rpb24obil7bi5wcm92aWRlci52aWRlb0RhdGEuZ29vZ2xlUmVtYXJrZXRpbmdVcmwmJiFuLlBYJiYoV2QobixuLnByb3ZpZGVyLnZpZGVvRGF0YS5nb29nbGVSZW1hcmtldGluZ1VybCksbi5QWD0hMCl9Owp2ZD1mdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlcpe24uWD0icGF1c2VkIjt2YXIgVz1iVihuLCExLCEwKTtXLmlzRmluYWw9ITA7Vy5zZW5kKCk7bi5kaXNwb3NlKCl9fTsKcnB0PWZ1bmN0aW9uKG4sVyxEKXtpZighbi52Sil7RHx8KEQ9Zy5jcihuLCJhdHIiKSk7RC5hdHRlc3RhdGlvblJlc3BvbnNlPVc7dHJ5e0Quc2VuZCgpfWNhdGNoKGIpe2lmKGIubWVzc2FnZSE9PSJVbmtub3duIEVycm9yIil0aHJvdyBiO31uLnZKPSEwfX07CmcuUms9ZnVuY3Rpb24obil7cmV0dXJuIGcuc2JyKG4pKCl9OwpjY1o9ZnVuY3Rpb24obil7dmFyIFc9bmF2aWdhdG9yLmNvbm5lY3Rpb24/LnR5cGV8fCIiO2lmKFcpcmV0dXJuIE5FcltXXXx8TkVyLm90aGVyO2lmKGcuazYobi5CKSl7bj1uYXZpZ2F0b3IudXNlckFnZW50O2lmKC9bV3ddaXJlbGVzc1spXS8udGVzdChuKSlyZXR1cm4gMztpZigvW1d3XWlyZWRbKV0vLnRlc3QobikpcmV0dXJuIDMwfXJldHVybiAwfTsKTW09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHBJMjtXLko9VjMobikuY2M/LnRvU3RyaW5nKCl8fCItIjtXLnBsYXliYWNrUmF0ZT1uLkwuZ2V0UGxheWJhY2tSYXRlKCk7dmFyIEQ9bi5MLmdldFZpc2liaWxpdHlTdGF0ZSgpO0QhPT0wJiYoVy52aXNpYmlsaXR5U3RhdGU9RCk7bi5CLkR0JiYoVy5XPTEpO1cuaj1uLnZpZGVvRGF0YS5wUjtXLmNvbXBvc2l0ZUxpdmVTdGF0dXNUb2tlbj1uLnZpZGVvRGF0YS5jb21wb3NpdGVMaXZlU3RhdHVzVG9rZW47Vy5oZWFydGJlYXRMb2dnaW5nVG9rZW49bi52aWRlb0RhdGEuaGVhcnRiZWF0TG9nZ2luZ1Rva2VuO0Q9bi5MLmdldEF1ZGlvVHJhY2soKTtELmtaJiZELmtaLmlkJiZELmtaLmlkIT09InVuZCImJihXLmF1ZGlvSWQ9RC5rWi5pZCk7Vy5jb25uZWN0aW9uVHlwZT1jY1oobik7Vy52b2x1bWU9bi5MLmdldFZvbHVtZSgpO1cubXV0ZWQ9bi5MLmlzTXV0ZWQoKTtXLmNsaXBJZD1uLkwuRm4oKXx8Ii0iO1cuTj1uLnZpZGVvRGF0YS5WZnx8CiItIjtyZXR1cm4gV307ClYzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTC5oaCgpfHx7fTtXLmZzPW4uTC52MygpO1cudm9sdW1lPW4uTC5nZXRWb2x1bWUoKTtXLm11dGVkPW4uTC5pc011dGVkKCk/MTowO1cubW9zPVcubXV0ZWQ7Vy5jbGlwaWQ9bi5MLkZuKCk7Vy5wbGF5ZXJoZWlnaHQ9bi5MLmdldFBsYXllclNpemUoKT8uaGVpZ2h0fHwwO1cucGxheWVyd2lkdGg9bi5MLmdldFBsYXllclNpemUoKT8ud2lkdGh8fDA7bj1uLnZpZGVvRGF0YTt2YXIgRD17fTtuLkomJihELmZtdD1uLkouaXRhZyxuLlgmJihuLlZRP24uWC5pdGFnIT09bi5KLml0YWc6bi5YLml0YWchPW4uSi5pdGFnKSYmKEQuYWZtdD1uLlguaXRhZykpO0QuZWk9bi5ldmVudElkO0QubGlzdD1uLnBsYXlsaXN0SWQ7RC5jcG49bi5jbGllbnRQbGF5YmFja05vbmNlO24udmlkZW9JZCYmKEQudj1uLnZpZGVvSWQpO24ueWwmJihELmluZnJpbmdlPTEpOyhuLmZCPzA6bi5QWCkmJihELnNwbGF5PTEpO3ZhciBiPXJsKG4pO2ImJihELmxpdmU9Yik7bi5WVCYmCihELnNhdXRvcGxheT0xKTtuLkd1JiYoRC5hdXRvcGxheT0xKTtuLnd1JiYoRC5zZGV0YWlsPW4ud3UpO24ucGFydG5lcklkJiYoRC5wYXJ0bmVyaWQ9bi5wYXJ0bmVySWQpO24ub3NpZCYmKEQub3NpZD1uLm9zaWQpO24uWm0mJihELmNjPWcubmcobi5abSkpO3JldHVybiBPYmplY3QuYXNzaWduKFcsRCl9OwpnLnNicj1mdW5jdGlvbihuKXtpZighbi5OKXtsZXQgVz0oMCxnLlIpKCk7bi5OPSgpPT5NYXRoLnJvdW5kKCgwLGcuUikoKS1XKS8xRTM7Cm4uTC5RYigpfXJldHVybiBuLk59OwpnLmswPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uc3RhdGUuTihXKSYmIW4ub2xkU3RhdGUuTihXKT8xOiFuLnN0YXRlLk4oVykmJm4ub2xkU3RhdGUuTihXKT8tMTowfTsKaEM9ZnVuY3Rpb24obil7bi5KJiZjSWoobi5KKTtuLnFvZSYmeEJoKG4ucW9lKX07CkhYMj1mdW5jdGlvbihuLFcsRCxiKXtELmFkRm9ybWF0PUQuRkY7dmFyIHY9Vy5MO1c9bmV3IGcueDAobmV3IFk5UyhELFcuQix7Z2V0RHVyYXRpb246KCk9PkQubGVuZ3RoU2Vjb25kcywKZ2V0Q3VycmVudFRpbWU6KCk9PnYuZ2V0Q3VycmVudFRpbWUoKSwKb3Q6KCk9PnYub3QoKSwKb2g6KCk9PnYub2goKSwKSEs6KCk9PnYuSEsoKSwKZ2V0UGxheWVyU2l6ZTooKT0+di5nZXRQbGF5ZXJTaXplKCksCmdldEF1ZGlvVHJhY2s6KCk9PkQuZ2V0QXVkaW9UcmFjaygpLApnZXRQbGF5YmFja1JhdGU6KCk9PnYuZ2V0UGxheWJhY2tSYXRlKCksCkVjOigpPT52LkVjKCksCmdldFZpc2liaWxpdHlTdGF0ZTooKT0+di5nZXRWaXNpYmlsaXR5U3RhdGUoKSwKZUc6KCk9PnYuZUcoKSwKaGg6KCk9PnYuaGgoKSwKZ2V0Vm9sdW1lOigpPT52LmdldFZvbHVtZSgpLAppc011dGVkOigpPT52LmlzTXV0ZWQoKSwKdjM6KCk9PnYudjMoKSwKRm46KCk9PnYuRm4oKSwKZ2V0UHJveGltYUxhdGVuY3lQcmVmZXJlbmNlOigpPT52LmdldFByb3hpbWFMYXRlbmN5UHJlZmVyZW5jZSgpLApRYigpe3YuUWIoKX0sVShrLGgpe3YuVShrLGgpfSxPMDooKT0+di5PMCgpLApTVzooKT0+di5TVygpLAp6czprPT52LnpzKGspfSkpOwpXLmo9YjtnLnUobixXKTtyZXR1cm4gV307CmZBdD1mdW5jdGlvbihuKXtuLkomJm4uSi5zZW5kKCk7aWYobi5xb2Upe3ZhciBXPW4ucW9lO2lmKFcuVil7Vy5OPT09IlBMIiYmKFcuTj0iTiIpO3ZhciBEPWcuUmsoVy5wcm92aWRlcik7Zy53aihXLEQsInZwcyIsW1cuTl0pO1cuRHx8KFcuWD49MCYmVy5KLnNldCgidXNlcl9pbnRlbnQiLFtXLlgudG9TdHJpbmcoKV0pLFcuRD0hMCk7Vy5wcm92aWRlci5CLldYKCkmJlcuVSgiZmluYWxpemVkIix7fSk7Vy5TJD0hMDtXLnJlcG9ydFN0YXRzKEQpfX1pZihuLnByb3ZpZGVyLnZpZGVvRGF0YS5lbmFibGVTZXJ2ZXJTdGl0Y2hlZERhaSlmb3IobGV0IGIgb2Ygbi5XLnZhbHVlcygpKXZkKGIpO2Vsc2Ugbi5OJiZ2ZChuLk4pO24uZGlzcG9zZSgpfTsKSnBVPWZ1bmN0aW9uKG4pe2lmKCFuLk4pcmV0dXJuIG51bGw7dmFyIFc9Zy5jcihuLk4sImF0ciIpO3JldHVybiBEPT57bi5OJiZycHQobi5OLEQsVyl9fTsKSUFoPWZ1bmN0aW9uKG4sVyl7bj1EZShuLmFycmF5LEQ9PlctRC5zdGFydHx8MSk7CnJldHVybiBuPDA/LShuKzEpOm59OwpTOWI9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtdO2ZvcihXPUlBaChuLFcpO1c8bi5hcnJheS5sZW5ndGg7KytXKXtsZXQgdj1uLmFycmF5W1ddOyh2LmVuZDw9RHx8di5jb250YWlucyhEKSkmJmIucHVzaCh2KTtpZih2LnN0YXJ0PkQpYnJlYWt9cmV0dXJuIGJ9OwpnLkx1PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107Zm9yKGxldCBiIG9mIG4uYXJyYXkpaWYoYi5jb250YWlucyhXKSYmRC5wdXNoKGIpLGIuc3RhcnQ+VylicmVhaztyZXR1cm4gRH07CkFwaj1mdW5jdGlvbihuKXtyZXR1cm4gbi5hcnJheS5zbGljZShJQWgobiwweDdmZmZmZmZmZmZmZmYpLG4uYXJyYXkubGVuZ3RoKX07Cm1qdD1mdW5jdGlvbihuLFcpe3ZhciBEPU5hTjtmb3IobGV0IGIgb2Ygbi5hcnJheSlpZihiLmNvbnRhaW5zKFcpJiYoaXNOYU4oRCl8fGIuZW5kPEQpJiYoRD1iLmVuZCksYi5zdGFydD5XJiYoaXNOYU4oRCl8fGIuc3RhcnQ8RCkpe0Q9Yi5zdGFydDticmVha31yZXR1cm4gRH07CkszVT1mdW5jdGlvbihuLFcpe24uYXJyYXk9bi5hcnJheS5maWx0ZXIoRD0+IVcuaGFzKEQpKX07Ck9YMj1mdW5jdGlvbihuKXtyZXR1cm4gbi5MLmdldFBsYXllclN0YXRlKCkuTigyKT8weDgwMDAwMDAwMDAwMDA6bi5MLmdldEN1cnJlbnRUaW1lKCkqMUUzfTsKZWg9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtpZighVy5sZW5ndGgpcmV0dXJuIEQ7Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspe2xldCB2PVdbYl07di5hY3RpdmUmJm4uVy5pbmRleE9mKHYpPT09LTEmJihuLlcucHVzaCh2KSxELnB1c2goWzEsdl0pKX1yZXR1cm4gRH07CmdzPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpVz1EWzFdLERbMF09PT0xP24uTC5DSihnLm95KFcubmFtZXNwYWNlKSxXKTpuLkwuQ0ooZy5kdihXLm5hbWVzcGFjZSksVyl9OwpYSj1mdW5jdGlvbihuLFcpe3ZhciBEPVtdO2lmKCFXLmxlbmd0aClyZXR1cm4gRDtXLnNvcnQoZy51NSk7Zm9yKGxldCBiIG9mIFcpbi5XLnNwbGljZShuLlcuaW5kZXhPZihiKSwxKSxELnB1c2goWzIsYl0pO3JldHVybiBEfTsKUHlDPWZ1bmN0aW9uKG4pe2lmKG4uc3RhcnRlZCYmIW4ucU4oKSl7bi5qLnN0b3AoKTt2YXIgVz1uLkwuZ2V0UGxheWVyU3RhdGUoKTtXLk4oMzIpJiZuLlkuc3RhcnQoKTt2YXIgRD1PWDIobiksYj1uLmlzRW5kZWQoVyxEKSx2PVtdLGs9W107Zm9yKHZhciBoIG9mIG4uVyloLmFjdGl2ZSYmKGI/aC5lbmQ8MHg4MDAwMDAwMDAwMDAwOiFoLmNvbnRhaW5zKEQpKSYmay5wdXNoKGgpO3Y9di5jb25jYXQoWEoobixrKSk7aD1rPW51bGw7Yj8oVz1nLkx1KG4uTiwweDdmZmZmZmZmZmZmZmYpLGs9Vy5maWx0ZXIoeD0+eC5lbmQ8MHg4MDAwMDAwMDAwMDAwKSxoPUFwaihuLk4pKTpXPW4uWDw9RCYmbDEoVyk/UzliKG4uTixuLlgsRCk6Zy5MdShuLk4sRCk7CnY9di5jb25jYXQoZWgobixXKSk7ayYmKHY9di5jb25jYXQoWEoobixrKSkpO2gmJih2PXYuY29uY2F0KGVoKG4saCkpKTtuLlg9RDtncyhuLHYpfX07CnE5PWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+bi5tZWRpYVRpbWUrbi5YJiZXPG4ubWVkaWFUaW1lKzV9OwpSOEM9ZnVuY3Rpb24obixXLEQsYix2PSExKXtpZihuLmxuJiYhaXNGaW5pdGUoVykpcmV0dXJuITE7aWYoYj1iPjEpbi5XPSEwO2lmKHZ8fGlzTmFOKG4uTikpbi5OPVc7aWYobi5zZWVraW5nKVchPT1uLm1lZGlhVGltZSYmKG4uc2Vla2luZz0hMSk7ZWxzZSBpZihXPjAmJm4ubWVkaWFUaW1lPT09Vyl7dj0xNTAwO2lmKG4uQi5TKCJodG1sNV9idWZmZXJfdW5kZXJydW5fdHJhbnNpdGlvbl9maXgiKSl7dj1nLmRNKG4uQi5leHBlcmltZW50cywiaHRtbDVfbWluX3BsYXliYWNrX2FkdmFuY2VfZm9yX3N0ZWFkeV9zdGF0ZV9zZWNzIik7bGV0IGs9Zy5kTShuLkIuZXhwZXJpbWVudHMsImh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zIik7dj12PjAmJms+MCYmTWF0aC5hYnMoVy1uLk4pPHY/azoxNTAwfXJldHVybiBELW4uSj4oYnx8IW4uVz92OjQwMCl9bi5tZWRpYVRpbWU9VztuLko9RDtyZXR1cm4hMX07ClVqdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFcudEEoRCkudGhlbigoKT0+Zy5IMChuZXcgWlhoKFcsVy5XKSksYj0+e2IgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShiKTsKdmFyIHY9dTgoJ3ZpZGVvL21wNDsgY29kZWNzPSJhdmMxLjQyMDAxRSwgbXA0YS40MC4yIicpLGs9ZHkoJ2F1ZGlvL21wNDsgY29kZWNzPSJtcDRhLjQwLjIiJyksaD12fHxrLHg9Vy5pc0xpdmVQbGF5YmFjayYmIWcuSW4obi5XLCEwKTtiPSJmbXQubm9uZWF2YWlsYWJsZSI7eD9iPSJodG1sNS51bnN1cHBvcnRlZGxpdmUiOmh8fChiPSJodG1sNS5taXNzaW5nYXBpIik7aD14fHwhaD8yOjE7dj17YnVpbGRSZWo6IjEiLGE6Vy5JcCgpLGQ6ISFXLlRmLGRybTpXLk1pKCksZjE4OlcuY2YuaW5kZXhPZigiaXRhZz0xOCIpPj0wLGMxODp2fTtXLk4mJihXLk1pKCk/KHYuZjE0Mj0hIVcuTi5OWyIxNDIiXSx2LmYxNDk9ISFXLk4uTlsiMTQ5Il0sdi5mMjc5PSEhVy5OLk5bIjI3OSJdKToodi5mMTMzPSEhVy5OLk5bIjEzMyJdLHYuZjE0MD0hIVcuTi5OWyIxNDAiXSx2LmYyNDI9ISFXLk4uTlsiMjQyIl0pLHYuY0FBQz1rLHYuY0FWQz1keSgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDIwMDFFIicpLAp2LmNWUDk9ZHkoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnA5IicpKTtXLmomJih2LmRybXN5cz1XLmoua2V5U3lzdGVtLGs9MCxXLmouSiYmKGs9T2JqZWN0LmtleXMoVy5qLkopLmxlbmd0aCksdi5kcm1zdD1rKTtyZXR1cm4gbmV3IGcuQ2koYix2LGgpfSl9Owp0Qz1mdW5jdGlvbihuLFcpe1c9TWF0aC5tYXgoTWF0aC5tYXgoMSxNYXRoLmNlaWwobi5wb2xpY3kuWC9HWShuKSkpLFcpO3JldHVybiBNYXRoLm1pbihNYXRoLm1pbig4LE1hdGguZmxvb3Iobi5wb2xpY3kuRC9HWShuKSkpLFcpfTsKR1k9ZnVuY3Rpb24obil7cmV0dXJuIG4udmlkZW9EYXRhLk4/b28obi52aWRlb0RhdGEuTil8fDU6NX07CiQwPWZ1bmN0aW9uKG4pe3JldHVybiBHWShuKSpuLk59OwpFb2k9ZnVuY3Rpb24obixXKXtpZihXKXJldHVybiBXPW4udmlkZW9EYXRhLFc9eXBiKG4saXNOYU4oVy5saXZlQ2h1bmtSZWFkYWhlYWQpPzM6Vy5saXZlQ2h1bmtSZWFkYWhlYWQsVyksdEMobixXKTtpZihuLkoubGVuZ3RoKXtpZihNYXRoLm1pbi5hcHBseShudWxsLG4uSik+MSlyZXR1cm4gdEMobixuLk4tMSk7aWYobi5wb2xpY3kuWSlyZXR1cm4gdEMobixuLk4rMSl9cmV0dXJuIG4uTn07CmlYUz1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLkoubGVuZ3RoKXJldHVybiExO3ZhciBEPW4uTjtuLk49RW9pKG4sVyk7aWYoVz1EIT09bi5OKW4uSj1bXSxuLmp4PTA7cmV0dXJuIFd9Owpycz1mdW5jdGlvbihuKXt2YXIgVz1uLnBvbGljeS5OO24uWHx8KFc9TWF0aC5tYXgoVy0xLDApKTtyZXR1cm4gVypHWShuKX07CnNCPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFc+PW4uTlcoKS1ycyhuKX07CnlwYj1mdW5jdGlvbihuLFcsRCl7RC5JUiYmVy0tO2hEKEQpJiYoVz0xKTt4cChEKSE9PTAmJihuPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfbGl2ZV9jaHVua19yZWFkYWhlYWRfcHJveGltYV9vdmVycmlkZSIpKSYmKFc9bixELk4/Lm51KCkmJlcrKyk7cmV0dXJuIFd9OwpwdT1mdW5jdGlvbihuLFcsRD1udWxsKXtyZXR1cm4gbmV3IE45KGcuZE0obi5CLmV4cGVyaW1lbnRzLFcpfHwwLEQ/bi5CLlMoRCk6ITEpfTsKdTRiPWZ1bmN0aW9uKG4sVyl7bi5OPVd9OwpZMD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe1c/Vy50ZXN0KEQpPyhuLkdzKHYsVyxoKSxXLlZ8fGsoKSk6KCFXLkp8fFcuWD9EPSExOihEPSgwLGcuUikoKSxiP1cuTnx8KFcuTj1EKTpXLk49MCxrPSFiJiZELVcuSj4zRTQsRD1XLk4mJkQtVy5OPjFFM3x8az9XLlg9ITA6ITEpLEQmJih4PXsuLi5uLnlyKFcpLC4uLnh9LHgud249aCx4LndlPXYseC53c3VjPWIsbi5MLlUoIndvcmthcm91bmRSZXBvcnQiLHgpLGImJihXLnJlc2V0KCksbi5YW3ZdPSExKSkpOm4uTC5QVigiYXV0aCIsMiwiQlJPV1NFUl9PUl9FWFRFTlNJT05fRVJST1IiLGcuVEMoe3NvdXJjZToid2F0Y2hkb2ciLG5hbWU6aH0pKX07Cm9veD1mdW5jdGlvbihuLFcpe2lmKG4uTil7dmFyIEQ9bi5OO3ZhciBiPW4uZ2V0Q3VycmVudFRpbWUoKSx2PUQuTlcoKTt2YXIgaz1ELnBvbGljeS5KO0QuWHx8KGs9TWF0aC5tYXgoay0xLDApKTtrKj1HWShEKTtiPj12LWt8fCFELmpYKCk/RD1iPEQudmlkZW9EYXRhLkxmKCk/TWF0aC5taW4oRC52aWRlb0RhdGEuTGYoKSsxMCxELk5XKCkpOk5hTjooRC5wb2xpY3kuaiYmKEQucG9saWN5Lk8/KEQucG9saWN5Lko9TWF0aC5taW4oRC5wb2xpY3kuSitELnBvbGljeS5LLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5taW4oRC5wb2xpY3kuTisxLDEwKSk6KEQucG9saWN5Lko9TWF0aC5tYXgoRC5wb2xpY3kuSisxLEQucG9saWN5LlYpLEQucG9saWN5Lk49TWF0aC5tYXgoRC5wb2xpY3kuTisxLDEwKSkpLEQ9SW5maW5pdHkpO2lmKCFpc05hTihEKSl7aWYobi5sb2FkZXImJlcmJihXPW4uUyQuaXNBY3RpdmUoKSxiPW4uTi5OVygpLChiPWlQUyhuLmxvYWRlcixiLW4uU1coKSkpJiYKIVcpKXtuLlMkLnN0YXJ0KCk7bi5MLlUoImluQnVmZmVyUHRsIix7Y210Om4uZ2V0Q3VycmVudFRpbWUoKSxzZWVrVG86YituLlNXKCl9KTtuLnNlZWtUbyhiK24uU1coKSx7cWQ6InNlZWt0aW1lbGluZV9pbkJ1ZmZlclNlZWsiLHNlZWtTb3VyY2U6MzR9KTtyZXR1cm59bi5zZWVrVG8oRCx7cWQ6InNlZWt0aW1lbGluZV9wZWdUb0xpdmUiLHNlZWtTb3VyY2U6MzR9KX19fTsKZnU9ZnVuY3Rpb24obixXKXtpZihuLlgpe24udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiZuLnZpZGVvRGF0YS5XJiYhbi52aWRlb0RhdGEuVy5OKCkmJm4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5YKCk+MCYmb3Uobi5tZWRpYUVsZW1lbnQpPjAmJihuLko9SGQobixuLkosITEpKTt2YXIgRD1uLlMoImh0bWw1X3BzZXVkb2dhcGxlc3Nfc2hvcnRzX3NlZWtfdG9fbmV4dF9zdGFydCIpJiZXPy5zZWVrU291cmNlPT09NjA7aWYoIW4ubWVkaWFFbGVtZW50fHwhZGpyKG4sRCkpbi5SYS5zdGFydCg3NTApO2Vsc2UgaWYoIWlzTmFOKG4uSikmJmlzRmluaXRlKG4uSikmJihEPW4uSEotKG4uSi1uLnRpbWVzdGFtcE9mZnNldCksIShEPT09MHx8TWF0aC5hYnMoRCk8LjAwNSkpKWlmKEQ9bi5tZWRpYUVsZW1lbnQuZ2V0Q3VycmVudFRpbWUoKS1uLkosTWF0aC5hYnMoRCk8PW4uRHR8fE1hdGguYWJzKEQpPC4wMDUpenkxKG4pO2Vsc2V7aWYobi52aWRlb0RhdGEuTWwpbi52aWRlb0RhdGEuTWw9CiExO2Vsc2UgaWYoIWcuRFAobi52aWRlb0RhdGEpJiZuLko+PW4uckkoKS0uMSYmKG4uckkoKSE9PTB8fFc/LnFkIT09InNlZWt0aW1lbGluZV9zZXR1cE1lZGlhRWxlbWVudCIpKXtuLko9bi5ySSgpO24uWC5yZXNvbHZlKG4uckkoKSk7bi5CLldYKCkmJm4uTC5VKCJzZXRFbmRlZEluU2VlayIse3RndDpgJHtuLkp9YCxtYXhzdDpgJHtuLnJJKCl9YH0pO24uTC5rTigpO3JldHVybn10cnl7bGV0IGI9bi5KLW4udGltZXN0YW1wT2Zmc2V0O24ubWVkaWFFbGVtZW50LnNlZWtUbyhiKTtuLk8uTj1iO24uSEo9YjtuLlc9bi5KO24uY0o9ITF9Y2F0Y2goYil7fX19fTsKVEUyPWZ1bmN0aW9uKG4sVyl7bi5UQz0hMDtuLmxuKCkmJihuLko9bi5WLG4uVz1uLkosbi5WPU5hTik7bEF0KG4sVyl9OwpqYjI9ZnVuY3Rpb24obil7dmFyIFc9MCxEPU5hTixiPSIiO2lmKCFuLkQpcmV0dXJue3N0YXJ0U2Vjb25kczpXLE12OkQsc291cmNlOmJ9O24udmlkZW9EYXRhLlJJP1c9bi52aWRlb0RhdGEuSlU6Zy5EUChuLnZpZGVvRGF0YSkmJihXPUluZmluaXR5KTtpZihnLnBBKG4udmlkZW9EYXRhKSlyZXR1cm57c3RhcnRTZWNvbmRzOlcsTXY6RCxzb3VyY2U6Yn07bi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzPyhiPSJzcyIsVz1uLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpOm4udmlkZW9EYXRhLlVyJiYoYj0ic3RzcyIsVz1uLnZpZGVvRGF0YS5Vcik7bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyYmKEQ9bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcyk7aWYoaXNGaW5pdGUoVykmJihXPm4uckkoKXx8VzxuLkxmKCkpKXtsZXQgdj17fTt2Lm1pblNlZWthYmxlVGltZT1uLkxmKCk7di5tYXhTZWVrYWJsZVRpbWU9bi5ySSgpO3YuY210PW4uZ2V0Q3VycmVudFRpbWUoKTt2LnNzPQpXO3YudXRjPUQ7di5zcmM9YjtuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLHYpO24udmlkZW9EYXRhLnpXKCkmJihXPUhkKG4sVywhMSkpfXJldHVybntzdGFydFNlY29uZHM6VyxNdjpELHNvdXJjZTpifX07CkpDPWZ1bmN0aW9uKG4pe3JldHVybiEhbi52aWRlb0RhdGEuc3RhcnRTZWNvbmRzJiZpc0Zpbml0ZShuLnZpZGVvRGF0YS5zdGFydFNlY29uZHMpJiZuLnZpZGVvRGF0YS5zdGFydFNlY29uZHM+MUU5fTsKRjNiPWZ1bmN0aW9uKG4sVyl7bi5wbGF5YmFja0RhdGE9VztuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmKG4uWT1uZXcgQ3laKCgpPT57YTp7aWYobi5wbGF5YmFja0RhdGEmJm4ucGxheWJhY2tEYXRhLk4uTigpKXtpZihJNChuLnZpZGVvRGF0YSkmJm4ubG9hZGVyKXt2YXIgRD1uLmxvYWRlci5xaCgpO2JyZWFrIGF9aWYobi52aWRlb0RhdGEuTil7RD1uLnZpZGVvRGF0YS5OLnFoKCk7YnJlYWsgYX19RD0wfXJldHVybiBEfSksbi5OPW5ldyBCRWIobi52aWRlb0RhdGEsbi5CLmV4cGVyaW1lbnRzLCgpPT5uLnJJKCEwKSkpOwpJYyhuLkwpPyhuLnZpZGVvRGF0YS5nVD8uQWp8fChXPWpiMihuKSxXLk12PyhnLllOKG4udmlkZW9EYXRhKSYmbi5odShXLk12LFcuc3RhcnRTZWNvbmRzKSxuLlc9Vy5zdGFydFNlY29uZHMpOlcuc3RhcnRTZWNvbmRzPjAmJm4uc2Vla1RvKFcuc3RhcnRTZWNvbmRzLHtxZDoic2Vla3RpbWVsaW5lX3N0YXJ0UGxheWJhY2siLHNlZWtTb3VyY2U6MTUsQU06ITB9KSksbi5EPSExKTpKQyhuKXx8KG4uVz1uLld8fG4udmlkZW9EYXRhLnN0YXJ0U2Vjb25kc3x8MCxuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8KFc9bi5MLnZpZGVvRGF0YS5ySSgpLG4uVz5XJiYobi5TKCJodG1sNV9zYWJyX2xvZ19pbnZhbGlkX3NhYnJfY3VycmVudF90aW1lIikmJm4uTC5VKCJpbnZhbGlkU2FickNtdFN0YXJ0Iix7cnQ6bi5XLG1zdDpXfSksbi5TKCJodG1sNV9zYWJyX3ZvZF9pbnZhbGlkX3N0YXJ0X3RpbWVfZmFsbGJhY2siKSYmKG4uVz0wKSkpKX07ClNoPWZ1bmN0aW9uKG4sVyl7aWYobi5OJiZuLmxvYWRlcil7dmFyIEQ9ITE7Vz9EPSEwOlN4KG4udmlkZW9EYXRhKT9EPWlYUyhuLk4pOm4uQ3UmJihuLkN1PSExLEQ9aVhTKG4uTiwhMCkpO0QmJihEPW4uTC5CWCxXPSQwKG4uTiksRC5xb2UmJihEPUQucW9lLGcud2ooRCxnLlJrKEQucHJvdmlkZXIpLCJscmEiLFtXXSksRC5VKCJsaXZlLXJlYWRhaGVhZC1zZWNvbmRzIix7djpXfSkpKTtXPW4ubG9hZGVyO0Q9bi5OLk47bj1uLk47bj0obi5OLTErbi5wb2xpY3kuTikqR1kobik7dmFyIGI9TmFOO3ZhciB2PVcuVHI7dj09PTJ8fHY9PT0tMT8odj1ELGhEKFcuTC5nZXRWaWRlb0RhdGEoKSkmJihiPVcucG9saWN5LnpQKSk6dj1ELTE7dj1NYXRoLm1heCh2LDApO0Q9Vy5OeTtELlpBPXY7RC5YPWI7Vy5RdSYmKFcuUXUuTz1uKX19Owptbz1mdW5jdGlvbihuLFcpeyhuLmxvYWRlcj1XKT9TaChuLCEwKTpnLkFDKG4pfTsKZGpyPWZ1bmN0aW9uKG4sVz0hMSl7aWYoIW4ubWVkaWFFbGVtZW50fHxuLm1lZGlhRWxlbWVudC5YKCk9PT0wfHxuLm1lZGlhRWxlbWVudC5oYXNFcnJvcigpKXJldHVybiExO3ZhciBEPW4ubWVkaWFFbGVtZW50LmdldEN1cnJlbnRUaW1lKCk+MDtyZXR1cm4gbi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCl8fG4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrfHwhbi52aWRlb0RhdGEuTWkoKT9uLko+PTAmJiFXJiYoVz1uLm1lZGlhRWxlbWVudC5PKCksVy5sZW5ndGh8fCFEKT9CUihXLG4uSi1uLnRpbWVzdGFtcE9mZnNldCk6RDpEfTsKTVoxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5nZXRDdXJyZW50VGltZSgpLGI9bi5pc0F0TGl2ZUhlYWQoRCk7aWYobi5ZJiZiKXt2YXIgdj1uLlk7aWYodi5OJiYhKEQ+PXYuSiYmRDx2LlgpKXt2YXIgaz12Lk4uUjMoRCk7ayE9PS0xJiYodi5KPXYuTi5nZXRTdGFydFRpbWUoayksdi5YPXYuSit2Lk4uZ2V0RHVyYXRpb24oayksaz0oMCxnLlIpKCkvMUUzLXYuTi5oQyhrKSxrLT12LmooKSx2LlcuYWRkKGspKX19bi5OJiYoYiYmKHY9bi5OLGs9bi56cygpLHYuangrKyx2Lmp4PDN8fERhdGUubm93KCktdi5WPDNFM3x8KHYuVj1EYXRlLm5vdygpLHYuSi5wdXNoKGspLHYuSi5sZW5ndGg+NTAmJnYuSi5zaGlmdCgpKSksbi5OLlUzKEQsVyksVyYmb294KG4sITApKTtiIT09bi5QWCYmKG4uQi5adCgpLk4uUVEod0kxKSYmbi52aWRlb0RhdGEuUkk/bi5QWD1iOihXPShuLkIuWnQoKS5OLlFRKHdJMSk/KG4uZ2V0Q3VycmVudFRpbWUoKS1uLkdDKSoxRTM6bi5nZXRDdXJyZW50VGltZSgpLQpuLkdDKTw9NTAwLEQ9bi5ZWj49MUUzLFd8fER8fChXPW4uTC5CWCxXLnFvZSYmKFc9Vy5xb2UsRD1nLlJrKFcucHJvdmlkZXIpLGcud2ooVyxELCJsaCIsW2I/IjEiOiIwIl0pKSxuLlBYPWIsbi5ZWisrLG4uR0M9bi5nZXRDdXJyZW50VGltZSgpKSkpfTsKZy5LdT1mdW5jdGlvbihuLFcpe3ZhciBEPW4uWDtEfHwobi5YPW5ldyBZNixEPW4uWCxmdShuLFcpKTtyZXR1cm4gRH07CkhkPWZ1bmN0aW9uKG4sVyxEKXtpZihpc05hTihXKSlyZXR1cm4gTmFOO3ZhciBiPW4uTGYoKTtEPW4uckkoRCk7cmV0dXJuIG4uUygiaHRtbDVfY2xhbXBfaW52YWxpZF9zZWVrX3RvX21pbl9zZWVrYWJsZV90aW1lIikmJiFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmVz5EKzEmJlc8SW5maW5pdHk/KG4uQi5XWCgpJiZuLkwuVSgiY2xhbXBJbnZhbGlkU2VlayIse3RndDpgJHtXfWAsbWF4c3Q6YCR7RH1gfSksYik6Zy5GZihXLGIsRCl9OwpSeWk9ZnVuY3Rpb24obixXKXtuLlc9V307ClFidz1mdW5jdGlvbihuLFc9ITEpe24uanx8IShuLlc+MCl8fG4ubWVkaWFFbGVtZW50JiZuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpPjB8fChXPXtxZDoic2Vla3RpbWVsaW5lX3Jlc3VtZVRpbWUiLEFNOld9LG4udmlkZW9EYXRhLll8fChXLnNlZWtTb3VyY2U9MTUpLG4uc2Vla1RvKG4uVyxXKSl9OwpsQXQ9ZnVuY3Rpb24obixXKXtWWmkobixXKS50aGVuKHZvaWQgMCwoKT0+e2cuQUMobil9KTsKZy5LdShuLFcpLnRoZW4oRD0+e2cuT0IobixEKX0sKCk9PntnLkFDKG4pfSk7Cm4uTC53WShXKTtuLkIuV1goKSYmKFc9bi55cigpLFdbIm5hdGl2ZSJdPWAkeytuLmNKfWAsVy50Z3Q9YCR7bi5KfWAsVy5vdGd0PWAke24uSituLnRpbWVzdGFtcE9mZnNldH1gLFcubWF4c3Q9YCR7bi5ySSgpfWAsbi5OJiZuLlMoImh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZyIpJiYoVy50aHQ9YCR7bi5OLmooKX1gLFcuaHQ9YCR7bi5OLk5XKCl9YCxXLmFkZnQ9YCR7cnMobi5OKX1gKSxuLlMoImh0bWw1X3NhYnJfcGFyc2VfbGl2ZV9tZXRhZGF0YV9wbGF5YmFja19ib3VuZGFyaWVzIikmJm4udmlkZW9EYXRhLk4mJmcuWU4obi52aWRlb0RhdGEpJiYoVy5taW5zdD1gJHtuLnZpZGVvRGF0YS5OLkgyfWAsVy5jbWluc3Q9YCR7bi52aWRlb0RhdGEuTi5MZigpK24udGltZXN0YW1wT2Zmc2V0fWAsVy5tYXhzdD1gJHtuLnZpZGVvRGF0YS5OLldNfWAsVy5odHM9YCR7bi52aWRlb0RhdGEuTi50d31gLFcuY21heHN0PWAke24udmlkZW9EYXRhLk4uckkoKStuLnRpbWVzdGFtcE9mZnNldH1gKSwKbi5MLlUoInN0YXJ0U2VlayIsVykpfTsKVlppPWZ1bmN0aW9uKG4sVyl7bi50d3x8KG4ubG9hZGVyP2lzRmluaXRlKG4uSik/bi50dz1uLmxvYWRlci5zZWVrKG4uSi1uLnRpbWVzdGFtcE9mZnNldCxXKTooZy5EUChuLnZpZGVvRGF0YSksbi5MLmhhPTAsbi50dz1SJChuLmxvYWRlcikscEwobi52aWRlb0RhdGEpfHwobi5KPW4ubG9hZGVyLmdldEN1cnJlbnRUaW1lKCkrbi50aW1lc3RhbXBPZmZzZXQpKTpuLnR3PSRHKG4uSi1uLnRpbWVzdGFtcE9mZnNldCkpO3JldHVybiBuLnR3fTsKZy5PQj1mdW5jdGlvbihuLFcpe24uaiYmKG4uai5yZXNvbHZlKFcpLG4uTC5LdCgpLG4uQi5XWCgpJiYoVz1uLnlyKCksV1sibmF0aXZlIl09YCR7K24uY0p9YCxXLm90Z3Q9YCR7bi5KK24udGltZXN0YW1wT2Zmc2V0fWAsbi5MLlUoInNlZWtFbmQiLFcpKSk7Zy5BQyhuKX07Cnp5MT1mdW5jdGlvbihuKXtuLlgmJihuLlgucmVzb2x2ZShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpKSxuLk8uSj1udWxsKX07CmcuQUM9ZnVuY3Rpb24obil7bi5KPU5hTjtuLlY9TmFOO24uSEo9TmFOO24uWD1udWxsO24udHc9bnVsbDtuLmo9bnVsbDtuLlRDPSExO24uY0o9ITE7bi5EdD0wO24uUyQuc3RvcCgpO24ubnUuc3RvcCgpfTsKYUF3PWZ1bmN0aW9uKG4pe2lmKG4uRClpZihuLnZpZGVvRGF0YS5nVD8uQWopbi5EPSExO2Vsc2UgaWYoZy5wQShuLnZpZGVvRGF0YSkpbi5EPSExO2Vsc2V7dmFyIFc9InNzIixEPTA7bi52aWRlb0RhdGEuTj8uaXNNYW5pZmVzdGxlc3MmJm4udmlkZW9EYXRhLlRDJiYhSkMobikmJihXPSJtc3MiLEQ9bi52aWRlb0RhdGEuVEMpOyhuLnZpZGVvRGF0YS5SST9uLlMoImh0bWw1X3ByaW9yaXRpemVfd2luZG93ZWRfc3Rfc3RhcnRfc2Vjb25kcyIpOm4uUygiaHRtbDVfcHJpb3JpdGl6ZV9zdF9zdGFydF9zZWNvbmRzIikpJiYhRCYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTshRCYmY3B0KG4pJiYoRD1uLnZpZGVvRGF0YS5saXZlVXRjU3RhcnRTZWNvbmRzfHxuLnZpZGVvRGF0YS5UQyxXPSJ1dGMiLEQ9bi5ySSgpLW4uaEMobi5ySSgpKStEKTshRCYmbi52aWRlb0RhdGEuelcoKSYmbi52aWRlb0RhdGEuVXImJihXPSJzdHNzIixEPW4udmlkZW9EYXRhLlVyKTsKdmFyIGI9e307aWYoRCl7aWYoRD5uLnJJKCl8fEQ8bi5MZigpKWIubWluU2Vla2FibGVUaW1lPW4uTGYoKSxiLm1heFNlZWthYmxlVGltZT1uLnJJKCksYi5jbXQ9bi5nZXRDdXJyZW50VGltZSgpLGIuaXQ9bi5oQyhuLmdldEN1cnJlbnRUaW1lKCkpLGIuc3M9RCxiLnV0Yz1jcHQobik/bi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kc3x8bi52aWRlb0RhdGEuVEM6MCxuLkwuVSgic3RhcnRTZWNvbmRzT3V0T2ZCb3VuZHMiLGIpLG4udmlkZW9EYXRhLnpXKCkmJihEPUhkKG4sRCwhMSkpO24uc2Vla1RvKEQse3FkOiJzZWVrdGltZWxpbmVfc3RhcnRTZWNvbmRzIn0pO2JbV109RDtuLkwuVSgic3RhcnRTZWNvbmRzIixiKTtuLkQ9ITF9ZWxzZSBuLnZpZGVvRGF0YS5UQyYmKGJbV109bi52aWRlb0RhdGEuVEMrbi5TVygpLG4uTC5VKCJzdGFydFNlY29uZHMiLGIpKX19OwpuQXg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLm1lZGlhRWxlbWVudCxiPVcudHlwZTtzd2l0Y2goYil7Y2FzZSAic2Vla2luZyI6bGV0IHY9RC5nZXRDdXJyZW50VGltZSgpK24udGltZXN0YW1wT2Zmc2V0O2lmKCFuLlh8fG4uY0omJnYhPT1uLkopbi5YPW5ldyBZNixuLlgudGhlbihrPT57Zy5PQihuLGspfSwoKT0+e2cuQUMobil9KSxuLnZpZGVvRGF0YS5pc0FkKCkmJm5uMSh7YWRDcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSwKY29udGVudENwbjpuLnZpZGVvRGF0YS5ob3N0Q3BuPz8iIn0sVy5OKSxuLkhKPXYsdTRiKG4uTyxELmdldEN1cnJlbnRUaW1lKCkpLG4uc2Vla1RvKHYse3NlZWtTb3VyY2U6MTA0LHFkOiJzZWVrdGltZWxpbmVfbWVkaWFFbGVtZW50RXZlbnQifSksbi5jSj0hMDticmVhaztjYXNlICJzZWVrZWQiOnp5MShuKTticmVhaztjYXNlICJsb2FkZWRtZXRhZGF0YSI6SWMobi5MKXx8YUF3KG4pO2Z1KG4pO2JyZWFrO2Nhc2UgInByb2dyZXNzIjpmdShuKTticmVhaztjYXNlICJwYXVzZSI6bi5LPW4uZ2V0Q3VycmVudFRpbWUoKX1uLksmJigoYj09PSJwbGF5Inx8Yj09PSJwbGF5aW5nInx8Yj09PSJ0aW1ldXBkYXRlInx8Yj09PSJwcm9ncmVzcyIpJiZuLmdldEN1cnJlbnRUaW1lKCktbi5LPjEwJiYobi5TKCJodG1sNV9za3lfc2tpcF9wYXVzZV9qdW1wIik/bi5MLlUoInNraXBQYXVzZUp1bXAiLHtldnQ6YixjbXQ6bi5nZXRDdXJyZW50VGltZSgpLGxwdDpuLkt9KTpuLnNlZWtUbyhuLkssCntxZDoicGF1c2VKdW1wIn0pKSxiIT09InBhdXNlIiYmYiE9PSJwbGF5IiYmYiE9PSJwbGF5aW5nIiYmYiE9PSJwcm9ncmVzcyImJihuLks9MCkpfTsKY3B0PWZ1bmN0aW9uKG4pe3JldHVybihZcChuLnZpZGVvRGF0YSl8fCEhbi52aWRlb0RhdGEubGl2ZVV0Y1N0YXJ0U2Vjb25kcykmJighIW4udmlkZW9EYXRhLmxpdmVVdGNTdGFydFNlY29uZHN8fEpDKG4pKSYmISFuLnZpZGVvRGF0YS5OfTsKUGQ9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5OLmdldChXKT8uYnVmZmVyLlcoKXx8W119OwpaNz1mdW5jdGlvbihuLFcpe3JldHVybiBuLk4uZ2V0KFcpPy5idWZmZXIuWCgpfHwwfTsKTHIxPWZ1bmN0aW9uKG4sVyl7ZnVuY3Rpb24gRChrKXtyZXR1cm4gYi5WIT09Inl0IiYmKHYucGFydG5lcklkPT09MzgmJmIucGxheWVyU3R5bGU9PT0iYm9va3MifHx2LnBhcnRuZXJJZD09PTMwJiZiLnBsYXllclN0eWxlPT09ImRvY3MifHx2LnBhcnRuZXJJZD09PTMzJiZiLnBsYXllclN0eWxlPT09Imdvb2dsZS1saXZlIik/V3JoKG4sdixrKTpEMXQobix2KS50aGVuKCgpPT57Yi5TKCJlbWJlZHNfZW5hYmxlX3Nob3J0cyIpJiZuLkcoKS5UNyYmdi5pc0VtYmVkc1Nob3J0c01vZGUobmV3IGcuUWUoMCwwKSwhIXYucGxheWxpc3RJZCk/YlVVKG4sdik6VUIobix2KX0saD0+e1VCKG4sdiwhMCk7CnRocm93IGg7fSl9CnZhciBiPW4uRygpLHY9bi5nZXRWaWRlb0RhdGEoKTt2LnFOKCk7di5sb2FkaW5nPSEwO3JldHVybiB2QWoobik/a1VpKG4sdixXKS50aGVuKCgpPT57VUIobix2KX0saz0+e2s9QiQoayk7CmlmKGoyKGsuc2V2ZXJpdHkpKXJldHVybiBVQihuLHYsITApLFByb21pc2UucmVqZWN0KGspO2suZXJyb3JDb2RlPT09Im9uZXNpZS5yZXNwb25zZS5iYWRwcm94eXN0YXR1cyImJmAke2suZGV0YWlscy5zdH1gPT09IjMiJiYoaHBTPSEwKTtuLmhhbmRsZUVycm9yKGspO3JldHVybiBEKCJvbmVzaWUiKX0pOmIuUygiZW1iZWRzX2VuYWJsZV9zaG9ydHMiKSYmYi5UNz94MVUobix2KS50aGVuKCgpPT5EKCJndmkiKSk6RCgiZ3ZpIil9Owp2QWo9ZnVuY3Rpb24obil7dmFyIFc9bi5HKCk7aWYoVy5TKCJodG1sNV9kaXNhYmxlX29uZXNpZSIpfHwhVy5TKCJodG1sNV9vbmVzaWUiKXx8IVcuUygiaHRtbDVfb25lc2llX2lubGluZSIpJiZuLmdldFZpc2liaWxpdHlTdGF0ZSgpPT09NXx8Vy5WIT09Inl0IilyZXR1cm4hMTt2YXIgRD1XLlBYO2lmKCFEfHwhRC5OKXJldHVybiBuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJvbmVzaWUudW5hdmFpbGFibGUuaG90Y29uZmlnIix7a2V5OiIwIn0pKSwhMTtpZihELk4uSzwoMCxnLlIpKCkmJihuLlUoIm9rZXhwIiwiMSIpLChEPW4uVTQoKSkmJlcuUygiaHRtbDVfcHJlZmVyX3RydXN0ZWRfaG9zdF9vbl9rZXlfZXhwaXJhdGlvbiIpKSl7RC5KPSEwO2xldCBiPUQuTi5nZXQoMCk/Lk4oKTtiJiYheHcoYikmJkQuTi5kZWxldGUoMCl9aWYoaHBTKXJldHVybiBuLlUoIm9zdDMiLCIxIiksITE7RD17fTtyZXR1cm4gT2JqZWN0LmtleXMoRCkubGVuZ3RoPjA/KEQub25lc2llPSIwIixuLmhhbmRsZUVycm9yKG5ldyBnLkNpKCJodG1sNS5taXNzaW5nYXBpIiwKRCkpLCExKTpuLmdldFZpZGVvRGF0YSgpLmxpdmVQcmVsb2FkJiZXLlp0KCkuTi5RUShIcCk/ITE6ITB9Owp5YT1mdW5jdGlvbihuLFcpe3ZhciBEPWcucDIoKTtnLllGKEQsVyk7cmV0dXJuIG5jKEQsaVooKSx7b1M6bi5KLGNsaWVudEludGVyZmFjZTpsbyhuKX0pfTsKZXBaPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIGcuazYobi5HKCkpJiZXLnZKKCk/YCR7bi5nZXRQbGF5ZXJUeXBlKCl9XyR7Vy52aWRlb0lkfV8ke1cuS2Z9YDpgJHtuLmdldFBsYXllclR5cGUoKX1fJHtXLnZpZGVvSWR9XyR7Vy5LZn1fJHsrVy5pc0F1dG9uYXZ9JHsrVy5WVH1gfTsKa1VpPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXtXLmZldGNoVHlwZT0ib25lc2llIjt2YXIgYj12b2lkIDA7aWYoeVUoVykpaWYoYj1uLmk3KXt2YXIgdj1lcFoobixXKTtiPWIuZ2V0KHYpfWVsc2UgYj12b2lkIDA7dj1uLnRiLlFwO2lmKGIpe2lmKFcubG9hZGluZz0hMSxXLk5WPSEwLHpmKFcse3BsYXllcl9yZXNwb25zZTpifSwhMCksVy5sb2FkaW5nfHxIaihXKSlyZXR1cm4gbi5VKCJwcnIiLCIxIiksUHJvbWlzZS5yZXNvbHZlKCl9ZWxzZXtiPWxGKFcsbi5nZXRQbGF5ZXJTaXplKCksbi5nZXRWaXNpYmlsaXR5U3RhdGUoKSk7RD1uZXcgS0QobixiLEQpO2I9YXdhaXQgRC5mZXRjaCgpO2xldCBoPXtwbGF5ZXJfcmVzcG9uc2U6Yn07Vy5sb2FkaW5nPSExO2lmKEQubkEpe2ZvcihsZXQgW3gsTF1vZiBELm5BLmVudHJpZXMoKSl7dmFyIGs9eDtsZXQgZT1MO3YuTi5zZXQoayxlLDE4MCk7az09PVcudmlkZW9JZCYmKGs9ZS5TSigpLFcub009ayl9di5VZz1EfWZvcihsZXQgW3gsTF1vZiBELnQwLmVudHJpZXMoKSl2Lkouc2V0KHgsCkwsMTgwKTt6ZihXLGgsITApO2lmKFcubG9hZGluZ3x8SGooVykpcmV0dXJuIHlVKFcpJiYodj1lcFoobixXKSxXPVcuZ2V0UGxheWVyUmVzcG9uc2UoKSkmJihXPVcucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9XLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLG4uaTc/LnB1dCh2LGIsVykpLFByb21pc2UucmVzb2x2ZSgpfXYuTi5UaSgpO3YuSi5UaSgpO1cub009W107bj17fTt2PSJvbmVzaWUucmVzcG9uc2UiO0Q9MDtXLmVycm9yQ29kZT8odj0iYXV0aCIsbi5lYz1XLmVycm9yQ29kZSxuLmVkPVcuZXJyb3JEZXRhaWwsbi5lcz1XLndpfHwiIixEPTIpOihuLnN1Y2Nlc3NCdXRVbnBsYXlhYmxlPSIxIixuLmRpc3Bvc2VkPWAkeytXLnFOKCl9YCxuLmFmbXRzPWAkeysvYWRhcHRpdmVGb3JtYXRzLy50ZXN0KGIpfWAsbi5jcG49Vy5jbGllbnRQbGF5YmFja05vbmNlKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kodiwKbixEKSl9OwpEMXQ9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1XLmlzQWQoKSxiPSFELHY9RD8xOjM7Zm9yKGxldCBoPTA7aDx2O2grKyl7aWYoaD4wKXthd2FpdCBnLlV1KDVFMyk7dmFyIGs9bmV3IGcuUXgoIlJldHJ5aW5nIE9uZVBsYXRmb3JtIHJlcXVlc3QiLHthdHRlbXB0Omh9KTtnLkdxKGspfXRyeXthd2FpdCBnQWkobixXKTtyZXR1cm59Y2F0Y2goeCl7bGV0IEw9QiQoeCk7az1MLmVycm9yQ29kZTtsZXQgZT1uLkcoKS5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/NDAxOiI0MDEiO2ImJms9PT0ibWFuaWZlc3QubmV0LmJhZHN0YXR1cyImJkwuZGV0YWlscy5yYz09PWUmJihiPSExLGg9PT12LTEmJih2Kz0xKSk7aWYoaD09PXYtMSlyZXR1cm4gbj1Yc2koRCxMLmRldGFpbHMpLG4uZGV0YWlscy5iYWNrZW5kPSJvcCIsbi5kZXRhaWxzLm9yaWdpbmVjPWssUHJvbWlzZS5yZWplY3Qobik7aWYoaz09PSJhdXRoInx8az09PSJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQifHwKZy5DTihuLkcoKSkpcmV0dXJuIFByb21pc2UucmVqZWN0KEwpO24uaGFuZGxlRXJyb3IoTCk7aWYoajIoTC5zZXZlcml0eSkpYnJlYWt9fXJldHVybiBQcm9taXNlLnJlamVjdChYc2koRCx7YmFja2VuZDoib3AifSkpfTsKZ0FpPWFzeW5jIGZ1bmN0aW9uKG4sVyl7Vy5mZXRjaFR5cGU9ImdwIjt2YXIgRD1uLkcoKSxiPWcuSEUoRCxXLlYoKSk7Yj1iLk4/YXdhaXQgYi5OOmIuZ2V0VmFsdWUoKTt2YXIgdj15YShELGIpLGs9bEYoVyxuLmdldFBsYXllclNpemUoKSxuLmdldFZpc2liaWxpdHlTdGF0ZSgpKSxoPUxCKHF5aikseD1XLlYoKSxMPSgwLGcuUikoKSxlPSExLEc9ImVtcHR5IjtiPTA7bi5EaygicHNucyIpO3ZhciByPXtsZzpmdW5jdGlvbihOKXtOLnJlYWR5U3RhdGU9PT0yJiZuLkRrKCJwc19jIil9fTsKaWYoRC5KKXtsZXQgTj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX0sSD1kbChXLmdldFJlc29sdmVVcmxSZXNwb25zZSgpKTtIJiYoTi5wYXJhbXM9SCk7Vy5wbGF5bGlzdElkJiYoTi5wbGF5bGlzdElkPVN0cmluZyhXLnBsYXlsaXN0SWQpKTtyLkhuPXtSTDp5SCgicGxheWVyIixOKX19dj1hd2FpdCBnLnJfKHYsayxoLHZvaWQgMCxyKTtuLkRrKCJwc25yIik7aWYoIVcucU4oKSl7dj8iZXJyb3IiaW4gdiYmdi5lcnJvcj8oZT0hMCxHPWBlc2Y6JHt2LmVycm9yLm1lc3NhZ2V9YCxiPXYuZXJyb3IuY29kZSk6di5lcnJvck1ldGFkYXRhJiYoZT0hMCxHPSJpdHMiLGI9di5lcnJvck1ldGFkYXRhLnN0YXR1cyk6ZT0hMDtpZihlKXJldHVybiBlPTAsdj0oKDAsZy5SKSgpLUwpLnRvRml4ZWQoKSxMPXt9LEw9RC5TKCJodG1sNV91c2VfbmV0d29ya19lcnJvcl9jb2RlX2VudW1zIik/e2JhY2tlbmQ6Im9wIixyYzpiLHJ0OnYscmVhc29uOkcsaGFzX2twdDpXLkhKPyIxIjoiMCIsaGFzX21keF9lbnY6Vy5tZHhFbnZpcm9ubWVudD8KIjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8iMSI6IjAiLG1keF9jdHJsOlcuaTV8fCIiLHRva2VuX2VxOng9PT1XLlYoKT8iMSI6IjAifTp7YmFja2VuZDoib3AiLHJjOmAke2J9YCxydDp2LHJlYXNvbjpHLGhhc19rcHQ6Vy5ISj8iMSI6IjAiLGhhc19tZHhfZW52OlcubWR4RW52aXJvbm1lbnQ/IjEiOiIwIixoYXNfb21pdF9rZXlfZmxhZzpnLkFyKCJJTk5FUlRVQkVfT01JVF9BUElfS0VZX1dIRU5fQVVUSF9IRUFERVJfSVNfUFJFU0VOVCIpPyIxIjoiMCIsaGFzX3BhZ2VfaWQ6RC5wYWdlSWQ/IjEiOiIwIixoYXNfdG9rZW46eD8iMSI6IjAiLGhhc192dnQ6Vy5EPyIxIjoiMCIsaXNfbWR4OlcuaXNNZHhQbGF5YmFjaz8KIjEiOiIwIixtZHhfY3RybDpXLmk1fHwiIix0b2tlbl9lcTp4PT09Vy5WKCk/IjEiOiIwIn0sVz0ibWFuaWZlc3QubmV0LmNvbm5lY3QiLGI9PT00Mjk/KFc9ImF1dGgiLGU9Mik6Yj4yMDAmJihXPSJtYW5pZmVzdC5uZXQuYmFkc3RhdHVzIixiPT09NDAwJiYoZT0yKSksUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koVyxMLGUpKTtXLmxvYWRpbmc9ITE7emYoVyx7cmF3X3BsYXllcl9yZXNwb25zZTp2fSwhMCk7Zy5DTihXLkcoKSkmJnYmJnYudHJhY2tpbmdQYXJhbXMmJmcueXIodi50cmFja2luZ1BhcmFtcyk7aWYoVy5lcnJvckNvZGUpcmV0dXJuIEQ9e2VjOlcuZXJyb3JDb2RlLGVkOlcuZXJyb3JEZXRhaWwsZXM6Vy53aXx8IiJ9LGI9ImF1dGgiLGcuQ04oVy5HKCkpJiZXLmVycm9yQ29kZSYmKGI9Vy5lcnJvckNvZGUpLFByb21pc2UucmVqZWN0KG5ldyBnLkNpKGIsRCwyKSk7aWYoIVcubG9hZGluZyYmIUhqKFcpKXJldHVybiBEPVcuaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIiwKUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koRCx7c3VjY2Vzc0J1dFVucGxheWFibGU6IjEiLGhhc01lZGlhOmcuWUwoVyk/IjEiOiIwIn0sMikpfX07CldyaD1hc3luYyBmdW5jdGlvbihuLFcsRCl7ZnVuY3Rpb24gYigpe3JldHVybiEwfQpmdW5jdGlvbiB2KGUpe2U9QiQoZSk7aWYoajIoZS5zZXZlcml0eSkpcmV0dXJuIFByb21pc2UucmVqZWN0KGUpO24uaGFuZGxlRXJyb3IoZSk7cmV0dXJuITF9CnZhciBrPXNfMihuLkcoKSxXLG4uZ2V0UGxheWVyU2l6ZSgpLG4uZ2V0VmlzaWJpbGl0eVN0YXRlKCksbi5pc0Z1bGxzY3JlZW4oKSksaD1XLmlzQWQoKSx4PWg/MTozO2ZvcihsZXQgZT0wO2U8eDtlKyspe3ZhciBMPWs7ZT4wJiYoYXdhaXQgZy5VdSg1RTMpLEw9e3BsYXllcnJldHJ5OmUscGxheWVycmV0cnlzcmM6RH0saHx8KEwucmVjb3Zlcj0iZW1iZWRkZWQiKSxMPWcubHcoayxMKSk7aWYoYXdhaXQgR1UxKFcsTCkudGhlbihiLHYpKXJldHVybn1XPWg/ImF1dGgiOiJtYW5pZmVzdC5uZXQucmV0cnlleGhhdXN0ZWQiO0Q9aD8yOjE7aWYoIWgmJk1hdGgucmFuZG9tKCk8MUUtNCl0cnl7Zy5HcShuZXcgZy5ReCgiYi8xNTIxMzE1NzEiLGJ0b2EoaykpKX1jYXRjaHt9cmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBnLkNpKFcse2JhY2tlbmQ6Imd2aSJ9LEQpKX07CkdVMT1hc3luYyBmdW5jdGlvbihuLFcpe2Z1bmN0aW9uIEQoTCl7aWYoIW4ucU4oKSl7TD1MP0wuc3RhdHVzOi0xO3ZhciBlPTAsRz0oKDAsZy5SKSgpLXgpLnRvRml4ZWQoKTtHPWIuUygiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpP3tiYWNrZW5kOiJndmkiLHJjOkwscnQ6R306e2JhY2tlbmQ6Imd2aSIscmM6YCR7TH1gLHJ0Okd9O3ZhciByPSJtYW5pZmVzdC5uZXQuY29ubmVjdCI7TD09PTQyOT8ocj0iYXV0aCIsZT0yKTpMPjIwMCYmKHI9Im1hbmlmZXN0Lm5ldC5iYWRzdGF0dXMiLEw9PT00MDAmJihlPTIpKTtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2kocixHLGUpKX19Cm4uZmV0Y2hUeXBlPSJndmkiO3ZhciBiPW4uRygpLHY7KHY9TlFpKG4pKT8odj17Zm9ybWF0OiJSQVciLG1ldGhvZDoiUE9TVCIsd2l0aENyZWRlbnRpYWxzOiEwLHRpbWVvdXQ6M0U0LHBvc3RQYXJhbXM6dn0sVz1nLmx3KFcse2FjdGlvbl9kaXNwbGF5X3Bvc3Q6MX0pKTp2PXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHdpdGhDcmVkZW50aWFsczohMCx0aW1lb3V0OjNFNH07dmFyIGs9e307Yi5zZW5kVmlzaXRvcklkSGVhZGVyJiZuLnZpc2l0b3JEYXRhJiYoa1siWC1Hb29nLVZpc2l0b3ItSWQiXT1uLnZpc2l0b3JEYXRhKTt2YXIgaD1nLlloKGIuZXhwZXJpbWVudHMsImRlYnVnX3NoZXJsb2dfdXNlcm5hbWUiKTtoJiYoa1siWC1Zb3V0dWJlLVNoZXJsb2ctVXNlcm5hbWUiXT1oKTtPYmplY3Qua2V5cyhrKS5sZW5ndGg+MCYmKHYuaGVhZGVycz1rKTt2YXIgeD0oMCxnLlIpKCk7dj1hd2FpdCBlNChnLnI4LFcsdikudGhlbih2b2lkIDAsZnVuY3Rpb24oTCl7cmV0dXJuIEQoTC54aHIpfSk7CmlmKCF2fHwhdi5yZXNwb25zZVRleHQpcmV0dXJuIEQodik7bi5sb2FkaW5nPSExO3Y9Zy5pdyh2LnJlc3BvbnNlVGV4dCk7emYobix2LCEwKTtpZihuLmVycm9yQ29kZSlyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IGcuQ2koImF1dGgiLHtlYzpuLmVycm9yQ29kZSxlZDpuLmVycm9yRGV0YWlsLGVzOm4ud2l8fCIifSwyKSk7aWYoIW4ubG9hZGluZyYmIUhqKG4pKXJldHVybiB2PW4uaXNBZCgpPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixQcm9taXNlLnJlamVjdChuZXcgZy5DaSh2LHtzdWNjZXNzQnV0VW5wbGF5YWJsZToiMSJ9LDIpKX07ClhzaT1mdW5jdGlvbihuLFcpe3JldHVybiBuZXcgZy5DaShuPyJhdXRoIjoibWFuaWZlc3QubmV0LnJldHJ5ZXhoYXVzdGVkIixXLG4/MjoxKX07ClVCPWFzeW5jIGZ1bmN0aW9uKG4sVyxEPSExKXt2YXIgYj1uLkcoKTtEJiYoIWcuJDYoYil8fElUKFcpIT09ImVtYmVkZGVkIil8fFcuZkN8fElUKFcpIT09ImFkdW5pdCImJihnLms2KGIpfHxnLlhDKGIpfHxnLk1WKGIpfHx0dShiKXx8Zy5EZihiKXx8bG8oYik9PT0iV0VCX0NSRUFUT1IiKXx8KEQ9Zy5IRShiLFcuVigpKSxEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpLHR5MihuLFcsRCkpfTsKdHkyPWFzeW5jIGZ1bmN0aW9uKG4sVyxEKXt0cnl7bGV0IGs9bi5HKCksaD15YShrLEQpO3ZhciBiPVcuRygpO2xldCB4PWcubzkoKSxMPXtjb250ZXh0Omcub1QoVyksdmlkZW9JZDpXLnZpZGVvSWQscmFjeUNoZWNrT2s6Vy5yYWN5Q2hlY2tPayxjb250ZW50Q2hlY2tPazpXLmNvbnRlbnRDaGVja09rLGF1dG9uYXZTdGF0ZToiU1RBVEVfTk9ORSJ9O0lUKFcpPT09ImFkdW5pdCImJihMLmlzQWRQbGF5YmFjaz0hMCk7Yi5lbWJlZENvbmZpZyYmKEwuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iLmVtYmVkQ29uZmlnKTtiLlluJiYoTC5zaG93Q29udGVudE93bmVyT25seT0hMCk7Vy5TYSYmKEwuc2hvd1Nob3J0c09ubHk9ITApO3guUVEoMTQxKSYmKEwuYXV0b25hdlN0YXRlPXguUVEoMTQwKT8iU1RBVEVfT0ZGIjoiU1RBVEVfT04iKTtpZihnLmVNKGIpKXtsZXQgTj14LlFRKDY1KTtEPU4hPW51bGw/IU46ITE7bGV0IEg9ISFnLlpJKCJ5dC1wbGF5ZXItc3RpY2t5LWNhcHRpb24iKTsKTC5jYXB0aW9uc1JlcXVlc3RlZD1EJiZIfWxldCBlPWIuZ2V0V2ViUGxheWVyQ29udGV4dENvbmZpZygpPy5lbmNyeXB0ZWRIb3N0RmxhZ3M7ZSYmKEwucGxheWJhY2tDb250ZXh0PXtlbmNyeXB0ZWRIb3N0RmxhZ3M6ZX0pO3ZhciB2PUw7bGV0IEc9TEIoJDFDKTtuLkRrKCJ3bl9zIik7Yj17fTtrLkomJihiLkhuPXtSTDp5SCgibmV4dCIse3ZpZGVvSWQ6U3RyaW5nKFcudmlkZW9JZCl9KX0pO2xldCByPWF3YWl0IGcucl8oaCx2LEcsdm9pZCAwLGIpO24uRGsoInduX3IiKTshcnx8ImVycm9yImluIHImJnIuZXJyb3J8fChnLkNOKFcuRygpKSYmci50cmFja2luZ1BhcmFtcyYmZy55cihyLnRyYWNraW5nUGFyYW1zKSx6ZihXLHtyYXdfd2F0Y2hfbmV4dF9yZXNwb25zZTpyfSwhMSkpfWNhdGNoKGspe319OwpiVVU9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1nLkhFKG4uRygpLFcuVigpKTtEPUQuTj9hd2FpdCBELk46RC5nZXRWYWx1ZSgpO3I2dyhuLFcsRCl9OwpyNnc9YXN5bmMgZnVuY3Rpb24obixXLEQpe249bi5HKCk7dHJ5e2xldCBoPXlhKG4sRCk7bGV0IHg9e2NvbnRleHQ6Zy5vVChXKSxwbGF5ZXJSZXF1ZXN0Ont2aWRlb0lkOlcudmlkZW9JZH0sZGlzYWJsZVBsYXllclJlc3BvbnNlOiEwfSxMPVcuZ2V0UmVzb2x2ZVVybFJlc3BvbnNlKCk7aWYoTCl7bGV0IHI9ZGwoTCk7ciYmKHgucGxheWVyUmVxdWVzdC5wYXJhbXM9cik7bGV0IE49ajcoTCk/LnBhcmFtcztOJiYoeC5wYXJhbXM9Til9dmFyIGI9eDtsZXQgZT1MQihzdjIpO0Q9e307aWYobi5KKXtsZXQgcj17dmlkZW9JZDpTdHJpbmcoVy52aWRlb0lkKX07dmFyIHYsaz1XLmdldFJlc29sdmVVcmxSZXNwb25zZSgpOyh2PWo3KGspPy5wYXJhbXMpJiYoci5wYXJhbXM9dik7RC5Ibj17Ukw6eUgoInJlZWxfaXRlbV93YXRjaCIscil9fWxldCBHPWF3YWl0IGcucl8oaCxiLGUsdm9pZCAwLEQpOyFHfHwiZXJyb3IiaW4gRyYmRy5lcnJvcnx8emYoVyx7cmF3X3JlZWxfaXRlbV93YXRjaF9yZXNwb25zZTpHfSl9Y2F0Y2goaCl7fX07CngxVT1hc3luYyBmdW5jdGlvbihuLFcpe3RyeXtsZXQgaz1uLkcoKSxoPWcuSEUoayxXLlYoKSkseD1oLk4/YXdhaXQgaC5OOmguZ2V0VmFsdWUoKSxMPXlhKGsseCk7dmFyIEQ9bi5nZXRQbGF5ZXJTaXplKCksYj1uLmdldFZpc2liaWxpdHlTdGF0ZSgpO3ZhciB2PXtjb250ZXh0Omcub1QoVyksdXJsOmBodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke1cudmlkZW9JZH1gLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDpkayhXLEQsYil9fTtsZXQgZT1MQihONGgpLEc9YXdhaXQgZy5yXyhMLHYsZSk7Vy5xTigpfHxHJiZ6ZihXLHtyYXdfcmVzb2x2ZV91cmxfcmVzcG9uc2U6R30sITApfWNhdGNoKGspe319Owpwc3I9ZnVuY3Rpb24obixXKXtuLkRrKCJ2aXIiKTtuLkRrKCJwc19zIik7Zy5nXygidmlyIix2b2lkIDAsInZpZGVvX3RvX2FkIik7Vz1McjEobixXKTtXLnRoZW4oZnVuY3Rpb24oKXtuLkRrKCJ2aXJjIik7Zy5nXygidmlyYyIsdm9pZCAwLCJ2aWRlb190b19hZCIpO24uRGsoInBzX3IiKTtnLmdfKCJwc19yIix2b2lkIDAsInZpZGVvX3RvX2FkIil9LGZ1bmN0aW9uKCl7bi5EaygidmlyYyIpOwpnLmdfKCJ2aXJjIix2b2lkIDAsInZpZGVvX3RvX2FkIil9KTsKcmV0dXJuIFd9OwpFQj1mdW5jdGlvbigpe3ZhciBuPUcxKCk7cmV0dXJuISghbnx8bj09PSJ2aXNpYmxlIil9OwpIVWk9ZnVuY3Rpb24obil7dmFyIFc9WXlpKCk7VyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihXLG4sITEpfTsKZnZpPWZ1bmN0aW9uKG4pe3ZhciBXPVl5aSgpO1cmJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoVyxuLCExKX07Cll5aT1mdW5jdGlvbigpe2lmKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSl2YXIgbj0idmlzaWJpbGl0eWNoYW5nZSI7ZWxzZXtpZighZG9jdW1lbnRbcTArIlZpc2liaWxpdHlTdGF0ZSJdKXJldHVybiIiO249cTArInZpc2liaWxpdHljaGFuZ2UifXJldHVybiBufTsKSXZoPWZ1bmN0aW9uKG4pe0o2cj1ufTsKU3lyPWZ1bmN0aW9uKG4pe2lWPW59OwpTUE09ZnVuY3Rpb24obil7dmFyIFc9bi5oVTtuPW4udmlkZW9EYXRhO3ZhciBEPVpWKFcsbik7Vy5TKCJodG1sNV9kaXNhYmxlX2NsaWVudF9hdXRvbmF2X2NhcF9mb3Jfb25lc2llIil8fEQuY29tcG9zZShVWChXLG4pKTtyZXR1cm4gRH07CkdYPWZ1bmN0aW9uKG4sVyl7dVYobixXLnJlYXNvbixXLk4uaW5mbyxXLnNvdXJjZSxXLnRva2VuKX07Cm9jPWZ1bmN0aW9uKG4sVyl7bi5XSigibG9jYWxtZWRpYWNoYW5nZSIsVyl9OwpQOVU9ZnVuY3Rpb24obixXKXtuLnRiLmRUKCl8fChuLlUoInNnYXAiLHtmOld9KSxuLnRiLmNsZWFyUXVldWUoITEsVz09PSJwZSIpKX07Cm0xVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmKG4ubWVkaWFTb3VyY2U/KGRzKG4pLG4ubXkoKSxBNmoobiwhMSkpOihuLnZpZGVvRGF0YS5jSiYmbi52aWRlb0RhdGEuY0ouWCgpLG4ubWVkaWFFbGVtZW50LnN0b3BWaWRlbygpKSxuLnBsYXlWaWRlbygpKX07CkljPWZ1bmN0aW9uKG4pe3JldHVybiBuLlMoImh0bWw1X2Rpc2FibGVfdmlkZW9fcGxheWVyX2luaXRpYXRlZF9zZWVrcyIpJiZnLllOKG4udmlkZW9EYXRhKX07CmxWPWZ1bmN0aW9uKG4sVyl7bi54byYmelkobik7bi54bz1uZXcgZy5sNShXKjFFMywweDdmZmZmZmZmZmZmZmYpO24ueG8ubmFtZXNwYWNlPSJlbmRjciI7bi5hZGRDdWVSYW5nZShuLnhvKX07CnpZPWZ1bmN0aW9uKG4pe24ucmVtb3ZlQ3VlUmFuZ2Uobi54byk7bi54bz1udWxsfTsKamg9ZnVuY3Rpb24obil7aWYobi52aWRlb0RhdGEuVyYmbi52aWRlb0RhdGEuVy5OKCkpe3ZhciBXPVRZKG4pO24ubG9hZGVyJiZuLmxvYWRlci5tbyhXKX19OwpCZD1mdW5jdGlvbihuLFc9ITApe24uQi5BbSYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlJiZuLm1lZGlhRWxlbWVudCYmIW4uRTgoKSYmKG4uaXNCYWNrZ3JvdW5kKCkmJm4ubWVkaWFFbGVtZW50LkdDKCk/KG4uVSgiYmdtb2JpbGUiLHtzdXNwZW5kOjF9KSxuLm9KKCEwLCEwKSk6IW4uaXNCYWNrZ3JvdW5kKCkmJlcmJkN1KG4pJiZuLlUoImJnbW9iaWxlIix7cmVzdW1lOjF9KSl9OwpGSj1mdW5jdGlvbihuKXtpZighZy5EUChuLnZpZGVvRGF0YSkpcmV0dXJuIE5hTjt2YXIgVz0wO24ubG9hZGVyJiZuLnZpZGVvRGF0YS5OJiYoVz1JNChuLnZpZGVvRGF0YSk/bi5sb2FkZXIucWgoKTpuLnZpZGVvRGF0YS5OLnFoKCkpO3JldHVybigwLGcuUikoKS8xRTMtbi5oQygpLVd9OwpLcmI9ZnVuY3Rpb24obixXKXtpZihuLnBsYXllclR5cGU9PT0yfHxuLkIuQ20pVy5vYz0hMDt2YXIgRD1UbChXLkZGLFcuRncsbi5CLkosbi5CLkspO0QmJihXLmFkRm9ybWF0PUQpO24ucGxheWVyVHlwZT09PTImJihXLkd1PSEwKTtpZihuLmlzRnVsbHNjcmVlbigpfHxuLkIuSilEPWcuWkkoInl0LXBsYXllci1hdXRvbmF2c3RhdGUiKSxXLmF1dG9uYXZTdGF0ZT1EfHwobi5CLko/MjpuLnZpZGVvRGF0YS5hdXRvbmF2U3RhdGUpO1cuZW5kU2Vjb25kcyYmVy5lbmRTZWNvbmRzPlcuc3RhcnRTZWNvbmRzJiZsVihuLFcuZW5kU2Vjb25kcyl9Owp3cz1mdW5jdGlvbihuKXtuLmxvYWRlciYmKG4ubG9hZGVyLmRpc3Bvc2UoKSxuLmxvYWRlcj1udWxsLG1vKG4uZGEsbnVsbCkpO24ucGcoKT9PVWgobik6bi5teSgpfTsKVTFpPWZ1bmN0aW9uKG4pe2lmKCFuLnBsYXllclN0YXRlLk4oMTI4KSlpZihuLnZpZGVvRGF0YS5pc0xvYWRlZCgpLG4uaWw9Zy5STShuLnZpZGVvRGF0YS5JSiksZy5ZTChuLnZpZGVvRGF0YSkpe24ubVEudGljaygiYnBkX3MiKTtNOShuKS50aGVuKCgpPT57bi5tUS50aWNrKCJicGRfYyIpO2lmKCFuLnFOKCkpe24uTkwmJihuLkJOKEJyKEJyKG4ucGxheWVyU3RhdGUsNTEyKSwxKSksQ3UobikpO3ZhciBEPW4udmlkZW9EYXRhO0QuZW5kU2Vjb25kcyYmRC5lbmRTZWNvbmRzPkQuc3RhcnRTZWNvbmRzJiZsVihuLEQuZW5kU2Vjb25kcyk7bi5MUi5maW5pc2hlZD0hMDtSYyhuLCJkYXRhbG9hZGVkIik7bi5qSC5zdGFydGVkJiZRYShuKTtsNVUobi5oVSxuLkRoKX19KTsKbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgibG91ZG5lc3MiLHt2Om4udmlkZW9EYXRhLllLLnRvRml4ZWQoMyl9LCEwKTt2YXIgVz1uLm1lZGlhRWxlbWVudD8uZV8oKTtpZihXJiYiZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUiaW4gVyYmbi5CLkh4KXRyeXtXLmRpc2FibGVQaWN0dXJlSW5QaWN0dXJlPW4uQi5MQiYmIW4udmlkZW9EYXRhLmJhY2tncm91bmRhYmxlfWNhdGNoKEQpe2cuR3EoRCl9UFJiKG4pO24uQkg9bmV3IFpVcihuLnZpZGVvRGF0YSl9ZWxzZSBSYyhuLCJkYXRhbG9hZGVkIil9Owp5Nlo9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGE7cHNyKG4sbi5paikudGhlbih2b2lkIDAsRD0+e24udmlkZW9EYXRhIT09V3x8Vy5xTigpfHwoRD1CJChEKSxELmVycm9yQ29kZT09PSJhdXRoIiYmbi52aWRlb0RhdGEuZXJyb3JEZXRhaWwmJm4udmlkZW9EYXRhLmVycm9yRGV0YWlsIT09IjciP24uUFYoRC5lcnJvckNvZGUsMix1bmVzY2FwZShuLnZpZGVvRGF0YS5lcnJvclJlYXNvbiksZy5UQyhELmRldGFpbHMpLG4udmlkZW9EYXRhLmVycm9yRGV0YWlsLG4udmlkZW9EYXRhLndpfHx2b2lkIDApOm4uaGFuZGxlRXJyb3IoRCkpfSl9OwpFQUM9ZnVuY3Rpb24obil7cmV0dXJuIGcuazYobi5CKSYmbi52aWRlb0RhdGEuaXNMaXZlUGxheWJhY2smJighbi5CLlMoImh0bWw1X2FsbG93X211bHRpdmlld190aWxlX3ByZWxvYWQiKXx8IW4udmlkZW9EYXRhLmxpdmVQcmVsb2FkKX07Ck05PWZ1bmN0aW9uKG4pe3dzKG4pO24uRGg9bnVsbDt2YXIgVz1Vancobi5CLG4udmlkZW9EYXRhLG4uRTgoKSk7bi50Uj1XO24udFIudGhlbihEPT57aVV0KG4sRCl9LEQ9PntuLnFOKCl8fChEPUIkKEQpLG4udmlzaWJpbGl0eS5pc0JhY2tncm91bmQoKT8oVmEobiwidnBfbm9uZV9hdmFpbCIpLG4udFI9bnVsbCxuLkxSLnJlc2V0KCkpOihuLkxSLmZpbmlzaGVkPSEwLG4uUFYoRC5lcnJvckNvZGUsRC5zZXZlcml0eSwiSFRNTDVfTk9fQVZBSUxBQkxFX0ZPUk1BVFNfRkFMTEJBQ0siLGcuVEMoRC5kZXRhaWxzKSkpKX0pOwpyZXR1cm4gV307ClBSYj1mdW5jdGlvbihuKXtpZihLeihuLnZpZGVvRGF0YSwiaHRtbDVfc2V0X2RlYnVnZ2luZ19vcHRfaW4iKSl7bGV0IFc9Zy5vOSgpO2lmKCFXLlFRKDE4Mykpe249YGYke01hdGguZmxvb3IoMTgzLzMxKSsxfWA7bGV0IEQ9VDEobil8fDA7RHw9MjY4NDM1NDU2O0Q9PT0wP2RlbGV0ZSBsT1tuXTpsT1tuXT1ELnRvU3RyaW5nKDE2KS50b1N0cmluZygpO1cuc2F2ZSgpfX19OwpSYz1mdW5jdGlvbihuLFc9ImRhdGF1cGRhdGVkIil7bi5XSigiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiLFcsbi52aWRlb0RhdGEpfTsKaVV0PWZ1bmN0aW9uKG4sVyl7aWYoIW4ucU4oKSYmIVcudmlkZW9EYXRhLnFOKCkpe24uRGg9VztGM2Iobi5kYSxuLkRoKTtpZihuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayl7dmFyIEQ9dVJyKG4udGIuUXAsbi52aWRlb0RhdGEudmlkZW9JZCl8fG4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpO0Q9bi5TKCJodG1sNV9vbmVzaWVfbGl2ZSIpJiZEO0ljKG4pfHxuLnZpZGVvRGF0YS5UQz4wJiYhSTQobi52aWRlb0RhdGEpfHxEfHxuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9wbGF5YmFja0RhdGEiLHNlZWtTb3VyY2U6MTh9KX1pZihuLnZpZGVvRGF0YS5XLk4oKSl7aWYoVGhpKG4udmlkZW9EYXRhKSl7bi5QVigiZm10Lm1pc3NpbmciLDIsIkJST1dTRVJfT1JfRVhURU5TSU9OX0VSUk9SIixnLlRDKHttaXNzYWJydXJsOjF9KSk7cmV0dXJufWlmKG4ubG9hZGVyKWcuR3EoRXJyb3IoIkR1cGxpY2F0ZWQgTG9hZGVyIikpO2Vsc2V7RD1nLmRNKG4uQi5leHBlcmltZW50cywKImh0bWw1X29uZXNpZV9kZWZlcl9jb250ZW50X2xvYWRlcl9tcyIpO2xldCBiPSgpPT57Y2QobiwoKT0+e24ucU4oKXx8bi5sb2FkZXJ8fG9BdChuKX0pfTsKRCYmbi5PUCgpJiZ1UnIobi50Yi5RcCxuLnZpZGVvRGF0YS5Xaik/Zy5uJChiLEQpOmIoKX19ZWxzZSFuLnZpZGVvRGF0YS5XLk4oKSYmT1Mobi52aWRlb0RhdGEpJiZvYyhuLG5ldyBhYyhuLnZpZGVvRGF0YS52aWRlb0lkfHwiIiw0KSk7bi51digpO3VpaihXKS50aGVuKCgpPT57dmFyIGI9e307bi5zVChiKTtuLkIuV1goKSYmbi5TKCJodG1sNV9sb2dfbWVkaWFfcGVyZl9pbmZvIikmJm4uVSgiYXYxSW5mbyIsYik7amgobil9KX19OwpDdT1mdW5jdGlvbihuLFc9ITEpe2lmKCFuLm1lZGlhRWxlbWVudHx8IW4udmlkZW9EYXRhLlcpcmV0dXJuITE7dmFyIEQ9ZDEyKG4sVyksYj1uLm1lZGlhRWxlbWVudC5HQygpLHY9ITE7YiYmYi5lcXVhbHMoRCl8fCh6cGkobixEKSx2PSEwKTtuLnBsYXllclN0YXRlLk4oMil8fFFidyhuLmRhLFcpO2E6e1c9djtpZihnLllOKG4udmlkZW9EYXRhKSl7aWYoIW4udmlkZW9EYXRhLk1pKCkpYnJlYWsgYX1lbHNlIGlmKCFnLnF1KG4udmlkZW9EYXRhKSlicmVhayBhO2lmKG4ubWVkaWFFbGVtZW50KWlmKChEPW4udmlkZW9EYXRhLmopJiZuLm1lZGlhRWxlbWVudC5LKCkpe2I9bi5tZWRpYUVsZW1lbnQuZV8oKTtpZihuLkxBKWlmKGIhPT1uLkxBLmVsZW1lbnQpZHMobik7ZWxzZSBpZihXJiZELmZsYXZvcj09PSJmYWlycGxheSImJiF6USgpKWRzKG4pO2Vsc2UgYnJlYWsgYTtpZihuLlMoImh0bWw1X3JlcG9ydF9lcnJvcl9mb3JfdW5zdXBwb3J0ZWRfdHZvc193aWRldmluZSIpJiZ6USgpJiYKRC5mbGF2b3I9PT0id2lkZXZpbmUiKW4uUFYoImZtdC51bnBsYXlhYmxlIiwxLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInRyZy51bnNwdHR2b3N3aWRldmluZSIpO2Vsc2V7bi5MQT1uZXcgbHZ3KGIsbi52aWRlb0RhdGEsbi5CLG4ubWVkaWFFbGVtZW50LG4uZGgpO24uTEEuc3Vic2NyaWJlKCJsaWNlbnNlZXJyb3IiLG4uYm8sbik7bi5MQS5zdWJzY3JpYmUoInF1YWxpdHljaGFuZ2UiLG4uVzQsbik7bi5MQS5zdWJzY3JpYmUoImhlYXJ0YmVhdHBhcmFtcyIsbi5iWixuKTtuLkxBLnN1YnNjcmliZSgia2V5c3RhdHVzZXNjaGFuZ2UiLG4uWVYsbik7bi5MQS5zdWJzY3JpYmUoImN0bXAiLG4uVSxuKTtmb3IobGV0IGsgb2Ygbi5EYi5rZXlzKVc9bi5EYi5nZXQoayksbi5MQS5XbihXKTtuLlMoImh0bWw1X2VtZV9sb2FkZXJfc3luYyIpfHxuLkRiLlRpKCl9fWVsc2Ugbi5QVigiZm10LnVucGxheWFibGUiLDEsIkhUTUw1X05PX0FWQUlMQUJMRV9GT1JNQVRTX0ZBTExCQUNLIiwKInRyZy51cGRhdGVkcm0iKX1yZXR1cm4gdn07CmNkPWZ1bmN0aW9uKG4sVyl7bi5CLmVCJiZuLkIuWnQoKS5OLlFRKG5hKT9TayhuLkIuZUIsVywoKT0+e0p1KG4uQik7bi5CLmVCPXZvaWQgMDtXKCl9KTpXKCl9OwpvQXQ9ZnVuY3Rpb24obil7dmFyIFc9bi52aWRlb0RhdGEuTixEPXtjcG46bi52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZSxjOm4uQi5OLmMsY3ZlcjpuLkIuTi5jdmVyfTtmb3IobGV0IFtoLHhdb2YgT2JqZWN0LmVudHJpZXMoRCkpe0Q9aDt2YXIgYj14O2Zvcih2YXIgdiBvZiBPYmplY3QudmFsdWVzKFcuTikpdi5YYi5jSihELGIpO1cuWT8uY0ooRCxiKX12PW4uQjtEPW4udmlkZW9EYXRhO2I9bi5pajtXPW5ldyBnLlQ0Mih2KTt2YXIgaz1OOFooe2hhc1N1YmZyYWdtZW50ZWRGbXA0OkQuaGFzU3ViZnJhZ21lbnRlZEZtcDQsSTI6RC5JMn0pO1cuVj1rO1cuTz1ELm1heFJlYWRBaGVhZE1lZGlhVGltZU1zLzFFM3x8Vy5PO2IuWC5MZygpPT09Yi5wb2xpY3kuTj9XLmpXPTEwOlcualc9RC5taW5SZWFkQWhlYWRNZWRpYVRpbWVNcy8xRTN8fFcualc7Vy5MSz1ELnJlYWRBaGVhZEdyb3d0aFJhdGVNcy8xRTN8fFcuTEs7RC5RNiYmKFcuWD0hMCk7Vy5OZj0hYWQoKTtnLms2KHYpfHwKIWFkKCk/KFcuZSQ9ODM4ODYwOCxXLnZKPTUyNDI4OCxXLklNPTUsVy5ISj0xMDQ4NTc2LFcuVDQ9MS41LFcuTnM9NDU4NzUyMCxsYigpJiYoVy5Ocz03ODY0MzIpLFcuSyo9MS4xLFcuY0oqPTEuMSxXLm1oPSEwKTp2LmomJihXLksqPTEuMyxXLmNKKj0xLjMpO2cub2QmJmcudWIoImNya2V5IikmJihrPXYuTi5jbW9kZWw9PT0iQ0hST01FQ0FTVC9BTkNIT1ZZIixXLmUkPTIwOTcxNTIwLFcudko9MTU3Mjg2NCxrJiYoVy5Ocz04MTI1MDAsVy5iTj0xRTMsVy5Saz01LFcuSEo9MjA5NzE1MikpO2cuYW8mJihXLm1oPSEwKTt2LnN1cHBvcnRzR2FwbGVzc0F1ZGlvKCl8fChXLkRUPSExKTtnLldYJiYoVy5ZJD0hMCk7Vy5zVj12LlMoImh0bWw1X3BlYWtfc2hhdmUiKTtELmhxKCkmJnYuUygiaHRtbDVfZGlzYWJsZV9wZWFrX3NoYXZlX2Zvcl9vbmVzaWUiKSYmKFcuc1Y9ITEpO2s9RC5OPy5YKCk7aWYoSTQoRCkpe1cuZVY9ITA7Vy5VVHx8KFcuZlI9ITApO1cuUFg9ITA7Vy5TVj0hMDtXLllyPQohMDtpZihELmxhdGVuY3lDbGFzcz09PSJVTFRSQUxPVyJ8fEQubGF0ZW5jeUNsYXNzPT09IkxPVyImJiF2LlMoImh0bWw1X2Rpc2FibGVfbG93X3BpcGVsaW5lIikpVy53bz0yLFcuQ3k9NDtXLnNKPUQuZGVmcmFnZ2VkRnJvbVN1YmZyYWdtZW50cztnLnBBKEQpJiYoVy5CVj0hMSk7Vy5DbT1nLkdsKHYpfUQuaXNBZCgpJiYoVy50TT0wLFcuSFk9MCk7Vy5UNz12LlMoImh0bWw1X3VsdHJhX2xvd19sYXRlbmN5X3N1YnNlZ21lbnRfcmVhZGFoZWFkIikmJkQubGF0ZW5jeUNsYXNzPT09IlVMVFJBTE9XIjtXLlc9di5XWCgpO2IuSi5YPUk0KEQpPy41OjA7RC5pc0xpdmVQbGF5YmFjayYmKFcuV2M9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9mb3JfbGl2ZV9zZWNzIil8fC4yNSxXLm51PSExKTtELk1pKCkmJihXLm51PSExKTtXLnFqPSF2LlMoImh0bWw1X3NhYnJfa2VlcF9hbGxfcXVhbGl0eV9jb25zdHJhaW50cyIpO1cuQjM9CkxBKEQpO2hEKEQpJiYoVy5UNz0hMCxELmxhdGVuY3lDbGFzcz09PSJMT1ciP1cud2E9Zy5kTSh2LmV4cGVyaW1lbnRzLCJodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0Iik6RC5sYXRlbmN5Q2xhc3M9PT0iVUxUUkFMT1ciJiYoVy53YT1nLmRNKHYuZXhwZXJpbWVudHMsImh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXQiKSksVy5iQj0hMCk7RC56VygpJiYoVy53eT0xLjMpO1cuWSQ9Vy5ZJHx8RC5mUjtXLkhpPShXLkhpfHxELkhpKSYmdi5LO1cuVjY9RC5LO3YuV1goKSYmKFcuUmE9ITApO0QuSyYmIWsmJihXLktvPSEwKTtELksmJkQuaXNBZCgpJiYoVy5LKj0xLjYsVy5jSio9MS42KTtPUyhEKSYmKFcuSj1ELnZpZGVvSWQsVy52bj0hMCxXLnN6PTEwMCxELnhoJiZELnhoLmxlbmd0aD4wJiYoVy5iVj1ELnhoKSk7Vy5lQj1ELlo5O1cublM9REsodix7fSxELld8fHZvaWQgMCxReihEKSk7Vy5iZD1SUShEKSYmKGcuTVYodil8fAp0dSh2KSk7Zy5ZTihEKSYmKFcuaj0hMCxXLkU1PWcuazYodikmJiFnLmQ4KCk/ITE6ITAsIVcuZTQmJnYuUygiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9jbGllbnRfcmVxdWVzdF9jYW5jZWxsYXRpb24iKSYmKFcudlg9ITAsVy5DdT0hMCxXLlRJPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl9yZXF1ZXN0X2NhbmNlbGxhdGlvbl90aW1lb3V0X21zIil8fDhFMyxXLnN6PWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfc2Ficl9ub25fc3RyZWFtaW5nX3hocl90aW1lb3V0X3JldHJ5X2xpbWl0Iil8fDMpLHYuUygiaHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvbiIpJiYoVy5SRD0hMCksVy5OPSEwLFcudkY9di5TKCJodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29yayIpLFcuSjg9di5TKCJodG1sNV9zYWJyX3BhcnNlX2xpdmVfbWV0YWRhdGFfcGxheWJhY2tfYm91bmRhcmllcyIpLApXLmNMPXYuUygiaHRtbDVfY29uc3VtZV9vbmVzaWVfbmV4dF9yZXF1ZXN0X3BvbGljeV9mb3Jfc2FiciIpLFcuQVY9di5TKCJodG1sNV9sb2dfaGlnaF9yZXNfYnVmZmVyX3RpbWVsaW5lIikmJnYuV1goKSxXLmZDPXYuUygiaHRtbDVfZ2FwbGVzc19zYWJyX2J0bF9sYXN0X3NsaWNlIikmJkFKKEQpLFcucG89di5TKCJodG1sNV9yZXNldF9sYXN0X2FwcGVuZGVkX3NsaWNlX29uX3NlZWsiKSYmQUooRCksSTQoRCkmJihXLlZIPSEwLFcuUyQ9ITAsdi5TKCJodG1sNV9zaW1wbGlmaWVkX2JhY2t1cF90aW1lb3V0X3NhYnJfbGl2ZSIpJiYoVy5DdT0hMCxXLmJOPVcuZlopKSxXLmg4PXYuUygiaHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2FiciIpLFcuczU9di5TKCJodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXQiKSxXLlk9Zy5ZTihEKSxXLm9UPXYuUygiaHRtbDVfaWdub3JlX3BhcnRpYWxfc2VnbWVudF9mcm9tX2xpdmVfcmVhZGFoZWFkIiksCnYuUygiaHRtbDVfaW5jbHVkZV9wYXJ0aWFsX3NlZ21lbnRfZm9yX2p1bWJvX2xsIikmJmhEKEQpJiYoVy5vVD0hMSksVy5zMz12LlMoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIiksVy5sbj12LlMoImh0bWw1X2NlbnRyYWxpemVkX3BsYXllcl90aW1lX2xpdmUiKSYmZy5ZTihEKSYmRC5pc0xpdmVQbGF5YmFja3x8di5TKCJodG1sNV91c2VfY2VudHJhbGl6ZWRfcGxheWVyX3RpbWUiKSYmZy5ZTihEKSxXLkdDPXYuUygiaHRtbDVfbG9nX2NlbnRyYWxpemVkX3BsYXllcl90aW1lIiksVy5BeD12LlMoImh0bWw1X3VzZV9jZW50cmFsaXplZF9wbGF5ZXJfdGltZV9maXhlcyIpJiZnLllOKEQpLFcuclc9di5TKCJodG1sNV9jb25zdW1lX29uZXNpZV9zYWJyX3NlZWsiKSxXLnR3PXYuUygiaHRtbDVfZW5hYmxlX3NhYnJfc2Vla19sb2FkZXJfcmVmYWN0b3IiKSxELmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiYoVy5VMT0hMCxXLldLPXYuUygiaHRtbDVfcmVzZXRfc2VydmVyX3N0aXRjaF9zdGF0ZV9mb3Jfbm9uX3NhYnJfc2VlayIpLApXLmllPXYuUygiaHRtbDVfcmVtb3ZlX3NzZGFpX2FwcGVuZF9wYXVzZSIpJiYhRC5ERigpLFcueXc9di5TKCJodG1sNV9zc2RhaV9sb2dfc3NldnRfaW5fbG9hZGVyX3RpbWVycyIpKSxXLkVaPXYuV1goKSxXLmxhdGVuY3lDbGFzcz1ELmxhdGVuY3lDbGFzcyxXLm1EPSFELnpXKCkmJnYuUygiaHRtbDVfcHJlYnVmZmVyX2luc3RyZWFtX21lZGlhX3ZvZCIpKTtXLnlFPWcubU8oRCk7Vy5Rcj12LlMoImh0bWw1X2VuYWJsZV9zYWJyX290Zl9pbl9jbGllbnQiKTtpZihELk5QKCl8fEQuaXNBZCgpKVcuZ089ITE7RC56VygpJiZ2LmV4cGVyaW1lbnRzLlp0KCkuTi5RUShqdk0pJiYoYj1ELmxDPy5nZXQoImlkIikpJiZiLmluY2x1ZGVzKCIlN0UiKSYmKFcuV2k9ITApO1NKKHYuVyxBVC5CSVRSQVRFKSYmKFcuTnM9TmFOKTtpZihiPWcuZE0odi5leHBlcmltZW50cywiaHRtbDVfcmVxdWVzdF9zaXplX21heF9rYiIpKVcuSEo9YioxMDI0O2lmKHYuVy5KKVcucFI9IjsgIitBVC5FWFBFUklNRU5UQUwubmFtZSsKIj1hbGxvd2VkIjtlbHNlIGlmKHYuZXhwZXJpbWVudHMudzAoKS5OLlFRKENSaSkmJmcuZDgoKSl7bGV0IHtuYW1lOmgsdmFsaWQ6eH09QVQuVFVOTkVMTU9ERTtXLnBSPWA7ICR7aH09JHt4fWB9dj1ELnNlcnZlclBsYXliYWNrU3RhcnRDb25maWc7dj8uZW5hYmxlJiZ2Py5wbGF5YmFja1N0YXJ0UG9saWN5JiYoVy5GZT0hMCxsUyhXLHYucGxheWJhY2tTdGFydFBvbGljeSwyKSk7dj1CNFUobik7bi5EYi5UaSgpO2E6e0Q9bi50Yi5RcDtpZihiPW4udmlkZW9EYXRhLnZpZGVvSWQpaWYoaz1ELk4uZ2V0KGIpKXtELk4ucmVtb3ZlKGIpO0Q9azticmVhayBhfUQ9dm9pZCAwfW4ubG9hZGVyPW5ldyBnLlc4KG4sbi5paixXLG4udmlkZW9EYXRhLk4sbi52aWRlb0RhdGEuVyxUWShuKSx2LG4udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpLEQsbi52aWRlb0RhdGEuelIpO2lmKG4udmlkZW9EYXRhLlMoImh0bWw1X2Rpc2FibGVfcHJlbG9hZF9mb3Jfc3NkYWlfd2l0aF9wcmVyb2xsIikmJgpuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFjayYmbi5PUCgpKVc9ITA7ZWxzZSBpZihXPW4uTkwpVz1nLms2KG4uQikmJm4udmlkZW9EYXRhLmlzTGl2ZVBsYXliYWNrJiYoIW4uQi5TKCJodG1sNV9hbGxvd19tdWx0aXZpZXdfdGlsZV9wcmVsb2FkIil8fCFuLnZpZGVvRGF0YS5saXZlUHJlbG9hZHx8bi5CLlp0KCkuTi5RUShIcCkpO24ubG9hZGVyLmluaXRpYWxpemUobi5nZXRDdXJyZW50VGltZSgpLFRZKG4pLFcpO24udmlkZW9EYXRhLnByb2JlVXJsJiYobi5sb2FkZXIuQnY9bi52aWRlb0RhdGEucHJvYmVVcmwpO2lmKG4uaWwubGVuZ3RofHxuLk5MKW4udmlkZW9EYXRhLmNvdG58fG4ucEMoITEpO21vKG4uZGEsbi5sb2FkZXIpO24uc1UmJihuLmxvYWRlci5FVyhuLnNVKSxuLlUoInNkYWkiLHtzZGw6MX0pKTtnLm1NKG4udmlkZW9EYXRhKSYmKG49bi5sb2FkZXIsbi5wb2xpY3kueGg9bi5wb2xpY3kuVnMpfTsKUWE9ZnVuY3Rpb24obil7bi5xTigpO2lmKCFuLmpILmZpbmlzaGVkJiZuLkxSLmZpbmlzaGVkJiYhbi5wbGF5ZXJTdGF0ZS5OKDEyOCkmJiFuLmlsLmxlbmd0aCl7aWYoIW4ud0kuc3RhcnRlZCl7dmFyIFc9bi53STtXLnN0YXJ0ZWQ9ITA7Vy5KKCl9aWYoIW4uSm4oKSl7bi5sb2FkZXImJihuLm5VPW4ubG9hZGVyLnpzKCEwKT4wKTtuLmpILmZpbmlzaGVkfHwobi5qSC5maW5pc2hlZD0hMCk7Vz1uLlMoImh0bWw1X29uZXNpZV9saXZlIikmJm4ubG9hZGVyJiYhaXNOYU4obi5sb2FkZXIuQ0gpOyFuLnZpZGVvRGF0YS5pc0xpdmVQbGF5YmFja3x8bi52aWRlb0RhdGEuVEM+MCYmIUk0KG4udmlkZW9EYXRhKXx8V3x8SWMobil8fChuLnNlZWtUbyhuLnJJKCkse3FkOiJ2aWRlb3BsYXllcl9yZWFkeWluZyIsc2Vla1NvdXJjZToxOH0pLG4uaXNCYWNrZ3JvdW5kKCkmJihuLlRsPSEwKSk7Vz1uLkJYO2lmKFcucW9lKXtXPVcucW9lO2xldCBiPVcucHJvdmlkZXIudmlkZW9EYXRhLHY9Vy5wcm92aWRlci5COwpmb3IodmFyIEQgb2Ygdi5reSluQyhXLEQpO2lmKFcucHJvdmlkZXIuUygiaHRtbDVfZW5hYmxlX3FvZV9jYXRfbGlzdCIpKWZvcihsZXQgayBvZiBiLmtLKW5DKFcsayk7ZWxzZSBiLmt5JiZuQyhXLFcucHJvdmlkZXIudmlkZW9EYXRhLmt5KTtiLnpXKCkmJihEPWIuTixJNChiKSYmbkMoVywibWFuaWZlc3RsZXNzIiksRCYmb28oRCkmJm5DKFcsYGxpdmUtc2VnbWVudC0ke29vKEQpLnRvRml4ZWQoMSl9YCkpO2cuWU4oYik/bkMoVywic2FiciIpOlcueiQoeHAoYikpO2lmKHB6KGIpfHxiLkRGKCkpYi5ERigpJiZuQyhXLCJzc2EiKSxuQyhXLCJsaWZhIik7TkkoYikmJm5DKFcsImNkbSIpO2IuZ2F0ZXdheUV4cGVyaW1lbnRHcm91cCYmKEQ9Yi5nYXRld2F5RXhwZXJpbWVudEdyb3VwLEQ9PT0iRVhQRVJJTUVOVF9HUk9VUF9TUElLWV9BRF9CUkVBS19FWFBFUklNRU5UIj9EPSJzcGthZHRydCI6RD09PSJFWFBFUklNRU5UX0dST1VQX1NQSUtZX0FEX0JSRUFLX0NPTlRST0wiJiYoRD0KInNwa2FkY3RybCIpLG5DKFcsRCkpO3YuViE9PSJ5dCImJlcuSi5zZXQoImxlbiIsW2IubGVuZ3RoU2Vjb25kcy50b0ZpeGVkKDIpXSk7Yi5jb3RuJiYhT1MoYikmJlF1KFcsITApO3YuV1goKSYmKEQ9UlFVKCkpJiZXLlUoImNibHQiLHttOkR9KTt2LlMoImh0bWw1X2xvZ19zY3JlZW5fZGlhZ29uYWwiKSYmVy5VKCJjYmx0ZGlhZyIse3Y6d2luZG93Lkg1dmNjU2NyZWVuPy5HZXREaWFnb25hbD93aW5kb3cuSDV2Y2NTY3JlZW4uR2V0RGlhZ29uYWwoKTowfSl9bi5XSigicGxheWJhY2tyZWFkeSIpO2cudlAoInBsX2MiLG4ubVEudGltZXJOYW1lKXx8KG4ubVEudGljaygicGxfYyIpLGcuZ18oInBsX2MiLHZvaWQgMCwidmlkZW9fdG9fYWQiKSk7Zy52UCgicGJyIixuLm1RLnRpbWVyTmFtZSl8fChuLm1RLnRpY2soInBiciIpLGcuZ18oInBiciIsdm9pZCAwLCJ2aWRlb190b19hZCIpKX19fTsKVmE9ZnVuY3Rpb24obixXKXtuLnBsYXllclN0YXRlLk4oMTI4KXx8KG4uQk4od1Mobi5wbGF5ZXJTdGF0ZSwxMDI4LDkpKSxuLlUoImRvbXBhdXNlZCIse3I6V30pLG4uV0ooIm9uQXV0b3BsYXlCbG9ja2VkIikpfTsKZy5EVD1mdW5jdGlvbihuKXt2YXIgVz1UWShuKTtyZXR1cm4geEooVyl8fCFuLkRoP251bGw6Zy5sXyhuLkRoLk4udmlkZW9JbmZvcyxEPT5XLlgoRCkpfTsKdVY9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aC5KPUQ7dmFyIHg9Zy5EVChuKTtEPW5ldyBGck0oRCxXLHg/eC5pdGFnOiIiLGIsdik7aWYoay5xb2Upe2s9ay5xb2U7Yj12PWcuUmsoay5wcm92aWRlcik7eD1bRC5OLmlkLEQuSixrLnM1LEQucmVhc29uXTtrLkR0fHx4LnB1c2goTFRiKGssRCkpO0QudG9rZW4mJngucHVzaChELnRva2VuKTtnLndqKGssYiwidmZzIix4KTtrLnM1PUQuTi5pZDt4PWsucHJvdmlkZXIuTC5nZXRQbGF5ZXJTaXplKCk7aWYoeC53aWR0aD4wJiZ4LmhlaWdodD4wKXt4PVtNYXRoLnJvdW5kKHgud2lkdGgpLE1hdGgucm91bmQoeC5oZWlnaHQpXTtsZXQgTD1nLkhfKCk7TD4xJiZ4LnB1c2goTCk7Zy53aihrLGIsInZpZXciLHgpfWsuRHR8fChrLnByb3ZpZGVyLkIuV1goKSYmKG5DKGssInJxcyIpLG5DKGssInJxczIiKSksay5wcm92aWRlci52aWRlb0RhdGEuTiYmR18oay5wcm92aWRlci52aWRlb0RhdGEuTikmJmsuSi5zZXQoInByZWxvYWQiLApbIjEiXSkpO2suRHQ9ITA7ay5WPSEwO0QucmVhc29uPT09Im0iJiYrK2suc1Y9PT0xMDAmJmJtKGssMik7Zy53aihrLHYsInZwcyIsW2suTl0pO2suZSR8fGsucmVwb3J0U3RhdHModil9RD1uLmhVO0QuSj0wO0QuTj0wO24uV0ooImludGVybmFsdmlkZW9mb3JtYXRjaGFuZ2UiLGgsVz09PSJtIil9OwpUWT1mdW5jdGlvbihuKXtpZihuLkRoKXt2YXIgVz1uLmhVO3ZhciBEPW4uRGg7bj1uLmcwKCk7dmFyIGI9Wm1oKFcpO2lmKHhKKGIpKXtpZihiPVcuTWgoRCkuY29tcG9zZSh5SXIoVyxEKSkuY29tcG9zZShpbXIoVyxEKSkuY29tcG9zZShaVihXLEQudmlkZW9EYXRhKSkuY29tcG9zZShVWChXLEQudmlkZW9EYXRhLEQpKS5jb21wb3NlKHkzKFcsRCkpLmNvbXBvc2UoaW0oVyxEKSkseEoobil8fFcuUygiaHRtbDVfYXBwbHlfcGJyX2NhcF9mb3JfZHJtIikpe3ZhciB2PWIuY29tcG9zZTtpZihXLlMoImh0bWw1X2Rpc2FibGVfdXN0cmVhbWVyX2NvbnN0cmFpbnRfZm9yX3NhYnIiKSYmZy5ZTihELnZpZGVvRGF0YSkpdmFyIGs9WVo7ZWxzZSBrPVcuTC51dSgpLFcuUygiaHRtbDVfdXNlX3ZpZGVvX3F1YWxpdHlfY2FwX2Zvcl91c3RyZWFtZXJfY29uc3RyYWludCIpJiZrJiZrLlFvPjAmJnhKKEQudmlkZW9EYXRhLkIzKSYmKGs9ay5RbyxELnZpZGVvRGF0YS5CMz1uZXcgYjMoMCxrLCExLAoidSIpKSxrPUQudmlkZW9EYXRhLkIzO2I9di5jYWxsKGIsayl9fWVsc2UgVy5TKCJodG1sNV9wZXJmX2NhcF9vdmVycmlkZV9zdGlja3kiKSYmKGI9Yi5jb21wb3NlKHkzKFcsRCkpKTtiPWIuY29tcG9zZShpbShXLEQpKTtXPUQudmlkZW9EYXRhLkxLLmNvbXBvc2UoYikuY29tcG9zZShELnZpZGVvRGF0YS5MSCkuY29tcG9zZShuKX1lbHNlIFc9WVo7cmV0dXJuIFd9Owp3c2k9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLkJYLGg9bi52aWRlb0RhdGE7aWYoRCE9PWguWCl7dmFyIHg9IWguWDtoLlg9RDt2YXIgTD1XPT09Im0ifHxXPT09InQiO0x8fChXPXg/ImkiOiJhIik7Vz1uZXcgRnJNKEQsVywiIixiLHYpO2lmKGsucW9lKXtrPWsucW9lO0Q9Zy5SayhrLnByb3ZpZGVyKTtsZXQgRz1bXTtpZihXLk4uaWQhPT1rLkZGKXtiPVtXLk4uaWQsay5GRixXLnJlYXNvbl07dj1HO3ZhciBlPXYucHVzaDtsZXQgcj1bXSxOPWsucHJvdmlkZXIudmlkZW9EYXRhLmhnLk4sSD1XLk4uYXVkaW8/Lko/P04/LlFPO0g9PW51bGx8fGlzTmFOKEgpfHxyLnB1c2goYGZsLiR7SH1gKTtOJiYoTi5mb3JtYXRJZCYmTi5mb3JtYXRJZCE9PVcuTi5pZCYmay5VKCJhZ2MiLHtxb2VtaXNtYXRjaDoiMSIsYWdjX2ZtdDpOLmZvcm1hdElkLGFmbXQ6Vy5OLmlkfSksTi5weT09bnVsbHx8aXNOYU4oTi5weSl8fHIucHVzaChgdGwuJHtOLnB5fWApLE4uRHk9PW51bGx8fGlzTmFOKE4uRHkpfHwKci5wdXNoKGB2Zy4ke04uRHl9YCksTi53RyE9PTAmJnIucHVzaChgbm0uJHtOLndHfWApKTtlLmNhbGwodiwuLi5yKTtXLnJlYXNvbj09PSJpIiYmRy5wdXNoKExUYihrLFcpKTtHLmxlbmd0aD4wJiZiLnB1c2goRy5qb2luKCI7IikpO1cudG9rZW4mJmIucHVzaChXLnRva2VuKTtnLndqKGssRCwiYWZzIixiKTtrLkZGPVcuTi5pZH19bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsaCwheCYmTCl9fTsKTXl4PWZ1bmN0aW9uKG4pe3ZhciBXPSJsb2Fkc3RhcnQgbG9hZGVkbWV0YWRhdGEgcGxheSBwbGF5aW5nIHByb2dyZXNzIHBhdXNlIGVuZGVkIHN1c3BlbmQgc2Vla2luZyBzZWVrZWQgdGltZXVwZGF0ZSBkdXJhdGlvbmNoYW5nZSByYXRlY2hhbmdlIGVycm9yIHdhaXRpbmcgcmVzaXplIi5zcGxpdCgiICIpO2ZvcihsZXQgRCBvZiBXKW4uczkuTk4obi5tZWRpYUVsZW1lbnQsRCxuLmlVLG4pO24uQi5EVCYmbi5tZWRpYUVsZW1lbnQuSygpJiYobi5zOS5OTihuLm1lZGlhRWxlbWVudCwid2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkIixuLnZrLG4pLG4uczkuTk4obi5tZWRpYUVsZW1lbnQsIndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkIixuLk9rLG4pKX07Ck9VaD1mdW5jdGlvbihuKXtpZihuLm1lZGlhU291cmNlKWlmKG4uSzEoKSxuLm1lZGlhU291cmNlLkspdHJ5e24uQi5XWCgpJiZuLlUoInJtcyIse2w6InZwcm1zIixzcjpuLnBnKCkscnM6bi5tZWRpYVNvdXJjZS5XKCl9KSxuLm1lZGlhU291cmNlLmNsZWFyKCksbi5tZWRpYUVsZW1lbnQ/LkhKKG4ubWVkaWFTb3VyY2UpLG4ubWVkaWFTb3VyY2U9bnVsbH1jYXRjaChEKXt2YXIgVz1uZXcgZy5ReChgRXJyb3Igd2hpbGUgY2xlYXJpbmcgTWVkaWEgU291cmNlIGluIFZpZGVvUGxheWVyOiAke0QubmFtZX0sICR7RC5tZXNzYWdlfWApO1c9QiQoVyk7bi5oYW5kbGVFcnJvcihXKTtuLm15KCl9ZWxzZSBuLm15KCl9Owpkcz1mdW5jdGlvbihuKXtuLkxBJiYobi5MQS5kaXNwb3NlKCksbi5MQT1udWxsKX07ClJwVT1mdW5jdGlvbihuKXtuLm1lZGlhRWxlbWVudCYmbi5tZWRpYUVsZW1lbnQuRTgoKSYmKG4uVFY9KDAsZy5SKSgpKTtuLkIudEc/Zy5uJCgoKT0+e2J2KG4pfSwwKTpidihuKX07CmJ2PWZ1bmN0aW9uKG4pe2lmKCFuLm1lZGlhU291cmNlPy5nWCgpKXtpZihuLm1lZGlhRWxlbWVudCl0cnl7bi5Mdz1uLm1lZGlhRWxlbWVudC5wbGF5VmlkZW8oKX1jYXRjaChXKXtWYShuLGBlcnIuJHtXfWApfWlmKG4uTHcpe2xldCBXPW4uTHc7Vy50aGVuKHZvaWQgMCxEPT57aWYoIShuLnBsYXllclN0YXRlLk4oNCl8fG4ucGxheWVyU3RhdGUuTigyNTYpfHxuLkx3IT09V3x8RCYmRC5uYW1lPT09IkFib3J0RXJyb3IiJiZELm1lc3NhZ2UmJkQubWVzc2FnZS5pbmNsdWRlcygibG9hZCIpKSl7bGV0IGI9InByb21pc2UiO0QmJkQubmFtZSYmKGIrPWA7bS4ke0QubmFtZX1gKTtWYShuLGIpO24uVzE9ITA7bi52aWRlb0RhdGEuZkI9ITB9fSl9fX07CkE2aj1mdW5jdGlvbihuLFc9ITEpe2lmKG4ubWVkaWFTb3VyY2UpcmV0dXJuIG4ubWVkaWFTb3VyY2UuajtRdmkobixXKTtyZXR1cm4gbi5VeigpPy50dygpfHxudWxsfTsKZDEyPWZ1bmN0aW9uKG4sVz0hMSl7dmFyIEQ9bnVsbDtuLnZpZGVvRGF0YS5XPy5OKCk/KEQ9QTZqKG4sVyksbi5sb2FkZXI/LnJlc3VtZSgpKTood3Mobiksbi52aWRlb0RhdGEuY0omJihEPW4udmlkZW9EYXRhLmNKLkooKSkpO3JldHVybiBEfTsKYXZaPWZ1bmN0aW9uKG4sVyl7aWYoVy5OLnZpZGVvLnF1YWxpdHk9PT0iYXV0byImJlcua0woKS5XKCkpaWYobi5TKCJodG1sNV9obHNfcmVwb3J0X3BzZXVkb19pdGFnIikmJm4udmlkZW9EYXRhLmhsc3ZwKXt2YXIgRD1uLlVKKCk7aWYoRCYmRC52aWRlb0hlaWdodD4wJiZELnZpZGVvV2lkdGg+MCl7dmFyIGI9RC52aWRlb0hlaWdodDtEPUQudmlkZW9XaWR0aDthOntuPW4uTEE/Lk4uZmxhdm9yPT09ImZhaXJwbGF5Ij9WeVU6YzZaO2Zvcih2IG9mIG4paWYoYj49di5taW5IZWlnaHQpe3ZhciB2PXYuaXRhZzticmVhayBhfXY9IiJ9aWYodilyZXR1cm4gbmV3IG11KHYsImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCIse3ZpZGVvOm5ldyBIUihELGIpfSl9fWVsc2UgaWYobi52aWRlb0RhdGEubnUpZm9yKGIgb2Ygbi52aWRlb0RhdGEubnUpaWYoYi5nZXRIZWlnaHQoKT09PW4uejEmJmIuTi52aWRlby5xdWFsaXR5IT09ImF1dG8iKXJldHVybiBiLmtMKCk7cmV0dXJuIFcua0woKX07Cm5CQz1mdW5jdGlvbihuKXtyZXR1cm4hIShuLlMoImh0bWw1X25hdGl2ZV9hdWRpb190cmFja19zd2l0Y2hpbmciKSYmZy5HbiYmbi52aWRlb0RhdGEuSj8uVygpKX07ClcxaT1mdW5jdGlvbihuKXtpZighbkJDKG4pKXJldHVybiExO249bi5tZWRpYUVsZW1lbnQ/LmF1ZGlvVHJhY2tzKCk7cmV0dXJuISEobiYmbi5sZW5ndGg+MSl9OwpiNHQ9ZnVuY3Rpb24obil7dmFyIFc9RGdDKG4pO2lmKFcpe3ZhciBEPXY4W1ddfHxXO3JldHVybiBuLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLmZpbmQoYj0+Yi5rWi5nZXROYW1lKCk9PT1EKX19OwpEZ0M9ZnVuY3Rpb24obil7aWYobj1uLm1lZGlhRWxlbWVudD8uYXVkaW9UcmFja3MoKSlmb3IobGV0IFc9MDtXPG4ubGVuZ3RoOysrVyl7bGV0IEQ9bltXXTtpZihELmVuYWJsZWQpcmV0dXJuIEQubGFiZWx9fTsKdkIyPWZ1bmN0aW9uKG4pe3ZhciBXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpO2lmKFcpe3ZhciBEPVtdO2ZvcihsZXQgdj0wO3Y8Vy5sZW5ndGg7Kyt2KXt2YXIgYj1XW3ZdO2I9bmV3IFdBKGIubGFiZWwsbmV3IHdQKHY4W2IubGFiZWxdfHxiLmxhYmVsLGIubGFiZWwsITEpKTtELnB1c2goYil9bi52aWRlb0RhdGEudm49RH19OwpCNFU9ZnVuY3Rpb24obil7dmFyIFcsRD1uLnZpZGVvRGF0YS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpLGI9bi5CLkhKO2ImJihXPUQuZmluZCh2PT52LmdldExhbmd1YWdlSW5mbygpLmlkPT09YikpOwppZihuLkIuZXhwZXJpbWVudHMuRXEoImVuYWJsZV9hdWRpb19kZXNjcmlwdGlvbl9zZXR0aW5nIikmJmcubzkoKS5RUSgxOTgpKWZvcihsZXQgdiBvZiBEKWlmKHYuail7Vz12O2JyZWFrfW4uWnQoKS5OLlFRKGtxTSkmJm4udmlkZW9EYXRhLmNvdG4mJihXPUQuZmluZCh2PT4hIXYuVikpOwpXfHwobj1uLmdldEF1ZGlvVHJhY2soKSxXPW4ua1ouaXNEZWZhdWx0P3ZvaWQgMDpuKTtyZXR1cm4gV307ClF2aT1mdW5jdGlvbihuLFc9ITEpe3RyeXtnLmQ4KCkmJm4udmlkZW9EYXRhLm1WKCkmJm4ubWVkaWFFbGVtZW50LlBYKCk7bGV0IGI9bi5veSgpLHY9bi5DZCgpO2lmKG4ubWVkaWFFbGVtZW50LmlzVmlldygpJiZuLm1lZGlhRWxlbWVudC5NZCYmKCFuLkZTKCl8fCFuLm1lZGlhRWxlbWVudC5ZJChiLHYpKSl7bi5CLldYKCkmJm4uVSgidXNtIix7ZmFsbGJhY2s6ITAscmVhc29uOm4uRlMoKT8iY29kZWMiOiJwb2xpY3kifSk7bGV0IGs9bi5tZWRpYUVsZW1lbnQubWVkaWFFbGVtZW50O2s/LlBYKCk7az8uc3RvcFZpZGVvKCk7bi5kYS5zZXRNZWRpYUVsZW1lbnQobnVsbCk7bi5zZXRNZWRpYUVsZW1lbnQoaywhMCl9dmFyIEQ9bi5tZWRpYUVsZW1lbnQuVXooYix2KX1jYXRjaChiKXtpZihLQyhuLkFJLCJodG1sNS5taXNzaW5nYXBpIix7dXBkYXRlTXM6IjEifSkpcmV0dXJuO2NvbnNvbGUuZXJyb3IoIndpbmRvdy5VUkwgb2JqZWN0IG92ZXJ3cml0dGVuIGJ5IGV4dGVybmFsIGNvZGUiLApiKTtuLlBWKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsInVwZGF0ZU1zLjEiKTtyZXR1cm59bi5ubShELCExLCExLFcpfTsKaExaPWZ1bmN0aW9uKG4sVz0hMSl7aWYobi5sb2FkZXIpe24udmlkZW9EYXRhLmVuYWJsZVNlcnZlclN0aXRjaGVkRGFpJiZuLmxvYWRlci5rSSgpO2xldCBEPW4uZ2V0Q3VycmVudFRpbWUoKS1uLlNXKCk7bi5sb2FkZXIuc2VlayhELHtBTTpXfSkuc1AoKCk9Pnt9KX1lbHNlIGNkKG4sKCk9PntuLnFOKCl8fG4ubG9hZGVyfHxvQXQobil9KX07CkwxYj1mdW5jdGlvbihuLFcsRD0hMSxiPSExLHY9ITEpeyFuLm1lZGlhU291cmNlfHxXJiZuLm1lZGlhU291cmNlIT09V3x8KFc9bi5nZXREdXJhdGlvbigpLCFXJiZJNChuLnZpZGVvRGF0YSkmJihXPTI1MjAwLG4ubG4oKSYmKFc9NDY4MDApKSxuLm1lZGlhU291cmNlLmlzVmlldz9XPm4ubWVkaWFTb3VyY2UuZ2V0RHVyYXRpb24oKSYmeGdaKG4sVyk6eGdaKG4sVyksVz0oKT0+e24ucU4oKXx8KEltaShuLmxvYWRlcixuLm1lZGlhU291cmNlLEQsYix2KSxuLldKKCJtZWRpYXNvdXJjZWF0dGFjaGVkIikpfSxuLmxvYWRlcj9XKCk6Y2QobixXKSl9Owp4Z1o9ZnVuY3Rpb24obixXKXtuLm1lZGlhU291cmNlJiYobi5tZWRpYVNvdXJjZS5hVChXKSxuLmxvYWRlcj8uaFcoVykpfTsKZUxoPWZ1bmN0aW9uKG4sVyl7aWYobi5CLldYKCkmJm4ubWVkaWFFbGVtZW50KXtsZXQgRD1uLm1lZGlhRWxlbWVudC55cigpO0Qub210PShuLm1lZGlhRWxlbWVudC5nZXRDdXJyZW50VGltZSgpK24uU1coKSkudG9GaXhlZCgzKTtELnBzPW4ucGxheWVyU3RhdGUuc3RhdGUudG9TdHJpbmcoMTYpO0QucnQ9KGcuUmsobi5CWC5wcm92aWRlcikqMUUzKS50b0ZpeGVkKCk7RC5lPVc7bi5CRltuLmtRKyslNV09RH19OwpnQnI9ZnVuY3Rpb24obil7aWYoZy51YigiY29iYWx0IikmJmcudWIoIm5pbnRlbmRvIHN3aXRjaCIpKXt2YXIgVz0hd2luZG93Lm1hdGNoTWVkaWEoInNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcyMHB4KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyMDBkcGkpIikubWF0Y2hlcztuLlUoIm54ZG9jayIse2Q6V30pfX07ClhhUz1mdW5jdGlvbihuKXtEcihuLm53KTtrUChuKXx8KG4ubnc9VzAoKCk9PmtQKG4pLDEwMCkpfTsKa1A9ZnVuY3Rpb24obil7dmFyIFc9bi5tZWRpYUVsZW1lbnQ7VyYmbi5BbCYmIW4udmlkZW9EYXRhLlkmJiFnLnZQKCJ2ZnAiLG4ubVEudGltZXJOYW1lKSYmVy5YKCk+PTImJiFXLmlzRW5kZWQoKSYmTSQoVy5KKCkpJiZuLm1RLnRpY2soInZmcCIpO3JldHVybihXPW4ubWVkaWFFbGVtZW50KSYmIW4udmlkZW9EYXRhLlkmJlcuZ2V0RHVyYXRpb24oKT4wJiYoVy5pc1BhdXNlZCgpJiZXLlgoKT49MiYmTSQoVy5KKCkpJiYoZy52UCgicGJwIixuLm1RLnRpbWVyTmFtZSl8fG4ubVEudGljaygicGJwIiksIW4udmlkZW9EYXRhLkR0fHxuLlZ0fHxXLmlzU2Vla2luZygpfHwobi5WdD0hMCxuLldKKCJvblBsYXliYWNrUGF1c2VBdFN0YXJ0IikpKSxXPVcuZ2V0Q3VycmVudFRpbWUoKSxxOShuLlZlLFcpJiYoIW4udmlkZW9EYXRhLlJvfHwhbi5wbGF5ZXJTdGF0ZS5OKDE2KSkpPyhuLmUyKCksITApOiExfTsKaDU9ZnVuY3Rpb24obixXKXtuLkIuUygiaHRtbDVfbG9nX3JlYnVmZmVyX3JlYXNvbiIpJiYoVz17cjpXLGxhY3Q6Zy52SSgpfSxuLm1lZGlhRWxlbWVudCYmKFcuYmg9bi5tZWRpYUVsZW1lbnQuenMoKSksbi5VKCJidWZyZWFzb24iLFcpKX07CnFhVT1mdW5jdGlvbihuKXtuLkJYLm9uUHJvZ3Jlc3MoKTtpZihnLkRQKG4udmlkZW9EYXRhKSYmRGF0ZS5ub3coKT5uLmhhKzYyODMpe2lmKG4udmlkZW9EYXRhLk4mJiFFayhuLnZpZGVvRGF0YS5OKSl7dmFyIFc9bi5CWDtpZihXLnFvZSl7Vz1XLnFvZTt2YXIgRD1XLnByb3ZpZGVyLkwuSEsoKSxiPWcuUmsoVy5wcm92aWRlcik7VnUoVyxiLEQpO2xldCB2PUQuVztEPUQuWDtpc05hTih2KXx8KCFpc05hTihEKSYmRD9nLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKSxELnRvRml4ZWQoMyldKTpnLndqKFcsYiwiZTJlbCIsW3YudG9GaXhlZCgzKV0pKX19Vz1nLkdsKG4uQik7Yj1uLlMoImh0bWw1X2Fsd2F5c19sb2dfcmF3bGF0Iik7KFd8fGIpJiZuLlUoInJhd2xhdCIse2w6Wjcobi5GNSwicmF3bGl2ZWxhdGVuY3kiKS50b0ZpeGVkKDMpfSk7bi5oYT1EYXRlLm5vdygpfW4udmlkZW9EYXRhLkomJm4udmlkZW9EYXRhLkouVygpJiYoVz1uLlVKKCkpJiZXLnZpZGVvSGVpZ2h0IT09Cm4uejEmJihuLnoxPVcudmlkZW9IZWlnaHQsdVYobiwiYSIsYXZaKG4sbi52aWRlb0RhdGEuY0opKSl9OwpHcU09ZnVuY3Rpb24obil7aWYobi5CLldYKCkpe24uQkYuc29ydCgoVyxEKT0+K1cucnQtK0QucnQpOwpmb3IobGV0IFcgb2Ygbi5CRiluLlUoInZwZSIsT2JqZWN0LmFzc2lnbih7dDpXLnJ0fSxXKSk7bi5CRj1bXTtuLmtRPTB9fTsKenBpPWZ1bmN0aW9uKG4sVyl7bi5tUS50aWNrKCJ2dGEiKTtnLmdfKCJ2dGEiLHZvaWQgMCwidmlkZW9fdG9fYWQiKTtuLmdldEN1cnJlbnRUaW1lKCk+MCYmUnlpKG4uZGEsbi5nZXRDdXJyZW50VGltZSgpKTtuLm1lZGlhRWxlbWVudC5EKFcpO24ubWVkaWFTb3VyY2UmJmJRKDQpOyFuLnZpZGVvRGF0YS5ZJiZuLnBsYXllclN0YXRlLmlzT3JXaWxsQmVQbGF5aW5nKCkmJm4uQl8uc3RhcnQoKTtuQkMobikmJihXPW4ubWVkaWFFbGVtZW50Py5hdWRpb1RyYWNrcygpKSYmKFcub25hZGR0cmFjaz0oKT0+e3ZCMihuKX0sVy5vbnJlbW92ZXRyYWNrPSgpPT57dkIyKG4pfSxXLm9uY2hhbmdlPSgpPT57bi5XSigiaW50ZXJuYWxhdWRpb2Zvcm1hdGNoYW5nZSIsbi52aWRlb0RhdGEsITApfSl9Owp0aVM9ZnVuY3Rpb24obil7bj1uLmFwaS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpO249bi5pc0N1ZWQoKXx8bi5pc0Vycm9yKCk/Im5vbmUiOm4uaXNPcldpbGxCZVBsYXlpbmcoKT8icGxheWluZyI6InBhdXNlZCI7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5wbGF5YmFja1N0YXRlPW59OwokZ0M9ZnVuY3Rpb24obil7aWYobi5OKWlmKG4uYXBpLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrKXRyeXt4UCh7ZHVyYXRpb246SW5maW5pdHl9KX1jYXRjaChXKXt4UCgpfWVsc2V7aWYobi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnpLKCkpe2xldCBXPW4uYXBpLmdldFByb2dyZXNzU3RhdGUoKS5zZWVrYWJsZUVuZCxEPU1hdGgubWluKG4uYXBpLmdldEN1cnJlbnRUaW1lKCksVyk7aWYoVyYmTnVtYmVyLmlzRmluaXRlKEQpKXt4UCh7ZHVyYXRpb246VyxwbGF5YmFja1JhdGU6bi5hcGkuZ2V0UGxheWJhY2tSYXRlKCkscG9zaXRpb246RH0pO3JldHVybn19eFAoKX19OwpMYT1mdW5jdGlvbihuLFcpe3RyeXtuYXZpZ2F0b3IubWVkaWFTZXNzaW9uLnNldEFjdGlvbkhhbmRsZXIobixXKX1jYXRjaChEKXt9fTsKclBoPWZ1bmN0aW9uKG4pe3ZhciBXPVtdO2lmKCFufHwhbi50aHVtYm5haWxzKXJldHVybiBXO2ZvcihsZXQgRCBvZiBuLnRodW1ibmFpbHMpRC51cmwmJighRC53aWR0aHx8RC53aWR0aDw9MHx8IUQuaGVpZ2h0fHxELmhlaWdodDw9MHx8Zy5qSShELnVybCkmJlcucHVzaCh7c3JjOkQudXJsfHwiIixzaXplczpgJHtELndpZHRofXgke0QuaGVpZ2h0fWAsdHlwZToiaW1hZ2UvanBlZyJ9KSk7cmV0dXJuIFd9OwpzVVM9ZnVuY3Rpb24obil7TGEoInBsYXkiLCgpPT57bi5hcGkucGxheVZpZGVvKCk7ZWwobil9KTsKTGEoInBhdXNlIiwoKT0+e24uYXBpLnBhdXNlVmlkZW8oKTtlbChuKX0pOwpMYSgic2Vla2JhY2t3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSgtNSpuLmFwaS5nZXRQbGF5YmFja1JhdGUoKSk7ZWwobil9KTsKTGEoInNlZWtmb3J3YXJkIiwoKT0+e24uYXBpLnNlZWtCeSg1Km4uYXBpLmdldFBsYXliYWNrUmF0ZSgpKTtlbChuKX0pOwpMYSgic2Vla3RvIixXPT57Vz1XLnNlZWtUaW1lO1chPW51bGwmJm4uYXBpLnNlZWtUbyhXKTtlbChuKX0pfTsKZWw9ZnVuY3Rpb24obil7bi5hcGkuUygid2ViX3Jlc2V0X2xhY3Rfb25fbWVkaWFfYWN0aW9ucyIpJiZuLmFwaS51cGRhdGVMYXN0QWN0aXZlVGltZSgpfTsKeFA9ZnVuY3Rpb24obil7bmF2aWdhdG9yLm1lZGlhU2Vzc2lvbi5zZXRQb3NpdGlvblN0YXRlKG4pfTsKcGFNPWZ1bmN0aW9uKG4pe2lmKG49bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LmdldFBsYXllclJlc3BvbnNlKCk/Lm92ZXJsYXk/LnBsYXllckNvbnRyb2xzT3ZlcmxheVJlbmRlcmVyKWlmKG49Zy53KG4uY29tcG9zaXRlVmlkZW9PdmVybGF5LE5LeCksbj8uc291cmNlcz8ubGVuZ3RoKWZvcihsZXQgVyBvZiBuPy5zb3VyY2VzKWlmKFcuaXNBY3RpdmUpcmV0dXJuIFd9OwpnOT1mdW5jdGlvbihuKXtuLk49dm9pZCAwO24uVy5jbGVhcigpO24uYXBpLk5wKCJjb21wb3NpdGVlbWJhcmdvIiwxKX07ClhZPWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEIG9mIFcpe1c9TnVtYmVyKEQucGxheWJhY2tSZWxhdGl2ZVBvc2l0aW9uPy51dGNUaW1lTXMpLzFFMztsZXQgYj1XK051bWJlcihELmR1cmF0aW9uPy5zZWNvbmRzKSx2PWBjb21wb3NpdGVfZW1iYXJnb18ke1d9YDtpZihELm9uRW50ZXIpe2xldCBrPUQub25FbnRlci5maWx0ZXIobi5WKTtrLmxlbmd0aCYmKG4uVy5zZXQodixrKSxuLmFwaS5hZGRVdGNDdWVSYW5nZSh2LFcsYiwiY29tcG9zaXRlZW1iYXJnbyIsITEpKX19fTsKSDR0PWZ1bmN0aW9uKG4sVyl7aWYobi5OPy5pZCE9PVcuaWQmJihuLmFwaS5xVyghMCksbi5XLmhhcyhXLmlkKSkpe3ZhciBEPW4uVy5nZXQoVy5pZCksYj1uLmFwaS5nZXRWaWRlb0RhdGEoKTtmb3IobGV0IHYgb2YgRClEPXYuY29tcG9zaXRlRW1iYXJnbz8uZW1iYXJnb1N0YXR1c1Rva2VuLGIucFIhPT1EJiYoYi5wUj1ELG4uYXBpLm5DKCkpLFlhVShuLFcpfX07CmZwaT1mdW5jdGlvbihuLFcpe2lmKG4uTj8uaWQ9PT1XLmlkJiYobi5hcGkucVcoITEpLG4uVy5oYXMoVy5pZCkpKXtpZihXPW4uYXBpLmdldFZpZGVvRGF0YSgpKVcucFI9dm9pZCAwO24uYXBpLm5DKCk7WWFVKG4pfX07CkpQTT1mdW5jdGlvbihuLFcpe24uY29tcG9zaXRlVmlkZW9TdGF0ZSE9PW51bGwmJihXLnBsYXliYWNrU3RhdGV8fChXLnBsYXliYWNrU3RhdGU9e30pLFcucGxheWJhY2tTdGF0ZS5jb21wb3NpdGVWaWRlb1N0YXRlPW4uY29tcG9zaXRlVmlkZW9TdGF0ZSl9OwpJcEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uYXBpLmdldFZpZGVvRGF0YSh7dm86ITF9KTtiPy5VKCJhdHJrY2hnIix7aWQ6VyxtOkR9KTtpZihiJiYhYi5JTSgpKXtEPW4uYXBpLmdldEF2YWlsYWJsZUF1ZGlvVHJhY2tzKCk7Zm9yKGxldCB2IG9mIEQpaWYodi5nZXRMYW5ndWFnZUluZm8oKS5nZXRJZCgpPT09Vyl7bi5hcGkuRygpLkhKPVc7YnJlYWt9fX07ClNhTT1mdW5jdGlvbihuLFcpe1chPT1uLksmJihuLks9VyxuLkouSigpLFcmJihuLkouTk4obi5hcGksIm1vZHVsZWNyZWF0ZWQiLEQ9Pnt2YXIgYj1wYU0obik7RD09PSJjYXB0aW9ucyImJmI/LnRvcExlZnRDb3JuZXJYIT09dm9pZCAwJiZiPy50b3BMZWZ0Q29ybmVyWSE9PXZvaWQgMCYmYj8ud2lkdGghPT12b2lkIDAmJmI/LmhlaWdodCE9PXZvaWQgMCYmbi5hcGkuVG4oe3RvcDpiLnRvcExlZnRDb3JuZXJZLHJpZ2h0OjEtYi50b3BMZWZ0Q29ybmVyWC1iLndpZHRoLGJvdHRvbToxLWIudG9wTGVmdENvcm5lclktYi5oZWlnaHQsbGVmdDpiLnRvcExlZnRDb3JuZXJYfSl9KSxuLkouTk4obi5hcGksZy5veSgiY29tcG9zaXRlZW1iYXJnbyIpLEQ9PntINHQobixEKX0pLG4uSi5OTihuLmFwaSxnLmR2KCJjb21wb3NpdGVlbWJhcmdvIiksRD0+e2ZwaShuLEQpfSksbi5KLk5OKG4uYXBpLCJoZWFydGJlYXRSZXF1ZXN0IixEPT57SlBNKG4sRCl9KSxuLkouTk4obi5hcGksImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiLAooRCxiKT0+e0lwQyhuLEQsYil9KSxuLkouTk4obi5hcGksIm9uUGxheWJhY2tBdWRpb0NoYW5nZSIsKCk9PntuLmFwaS5uQygpfSkpKX07CllhVT1mdW5jdGlvbihuLFcpe24uTj8uaWQhPT1XPy5pZCYmKG4uTiYmKG4uVy5kZWxldGUobi5OLmlkKSxuLmFwaS5VTyhbbi5OXSwxKSksbi5OPVcpfTsKQVAyPWZ1bmN0aW9uKG4pe249bj8ucXVhbGl0eURldGFpbHN8fFtdO3JldHVybiBnLmZ0KG4pJiYhQXJyYXkuaXNBcnJheShuKT9uOm4ucmVkdWNlKChXLHtrZXk6RCx2YWx1ZTpifSk9PntEJiZiJiYoV1tEXT1iKTtyZXR1cm4gV30se30pfTsKbWdoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1bXSx2PVc/MTU2NTk1OjE1MTg3NDtmb3IobGV0IGggb2Ygbil7dmFyIGs9aC52aWRlbztuPXtmb3JtYXRJZDpoLmlkLHF1YWxpdHlMYWJlbDprLnF1YWxpdHlMYWJlbCxxdWFsaXR5OmsucXVhbGl0eSxpc1BsYXlhYmxlOld9O2lmKGs9RFtrLnF1YWxpdHlMYWJlbF0pbi5wYXlnYXRlZFF1YWxpdHlEZXRhaWxzPXtwYXlnYXRlZEluZGljYXRvclRleHQ6ay5wYXlnYXRlZEluZGljYXRvclRleHQsZW5kcG9pbnQ6ay5lbmRwb2ludCx2ZVR5cGU6dix0cmFja2luZ1BhcmFtczprLnRyYWNraW5nUGFyYW1zfTtiLnB1c2gobil9cmV0dXJuIGJ9OwpPNEM9ZnVuY3Rpb24obil7cVQoKSYmKG4ubVE9bi5hcGkuZUcoKSxuLk49bmV3IFk2LG4uVz0yLG4ubVEuU2woInB0X3Bpc2giKSx3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaz93aW5kb3cucmVxdWVzdElkbGVDYWxsYmFjaygoKT0+e0sxVShuKX0pOksxVShuKSl9OwpxVD1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cuYW5kcm9pZCYmd2luZG93LmFuZHJvaWQud2VidmlldyYmd2luZG93LmFuZHJvaWQud2Vidmlldy5nZXRFeHBlcmltZW50YWxNZWRpYUludGVncml0eVRva2VuUHJvdmlkZXJ9OwpLMVU9ZnVuY3Rpb24obil7aWYocVQoKSl7bi5tUT1uLmFwaS5lRygpO24ubVEuU2woInB0X3BpcyIpO3RyeXt3aW5kb3cuYW5kcm9pZC53ZWJ2aWV3LmdldEV4cGVyaW1lbnRhbE1lZGlhSW50ZWdyaXR5VG9rZW5Qcm92aWRlcih7Y2xvdWRQcm9qZWN0TnVtYmVyOjg2ODYxODY3Njk1Mn0pLnRoZW4oVz0+e24uSj1XO24uTj8ucmVzb2x2ZSgpO24ubVEuU2woInB0X3BpZiIpfSkuY2F0Y2goVz0+e0dHKFcsInBsYXllcl9zdGFydCIpOwpuLm1RLlNsKCJwdF9waWUiKTtuLk4/LnJlamVjdChXKX0pfWNhdGNoKFcpe0dHKFcsInBsYXllcl9zdGFydF9jYXRjaCIpLG4uYXBpLlUoInBmZXMiLHt9KSxuLk4/LnJlamVjdChXKX19fTsKR0c9ZnVuY3Rpb24obixXKXtuLm1lc3NhZ2UmJmcuR3EoRXJyb3IoYCR7V31fJHtuLm1lc3NhZ2V9YCkpfTsKUGd4PWZ1bmN0aW9uKG4sVyl7aWYobi5KKXt2YXIgRD1XLnZpZGVvSWQ7bi5XPTM7bi5tUS5TbCgicHRfbXMiKTt0cnl7bi5KLnJlcXVlc3RUb2tlbihEKS50aGVuKGI9PntuLm1RLlNsKCJwdF9tZiIpO2lmKGI9Zy5kMShiKSlXLnpmPXtZdDpifX0pLmNhdGNoKGI9PntuLm1RLlNsKCJwdF9tZSIpOwpHRyhiLCJwbGF5ZXJfZ2VuZXJhdGUiKTtuLmhhbmRsZUVycm9yKGIsVyl9KX1jYXRjaChiKXtHRyhiLCJwbGF5ZXJfZ2VuZXJhdGVfY2F0Y2giKSxuLmhhbmRsZUVycm9yKGIsVyl9fX07Clo0eD1mdW5jdGlvbihuLFcpe2cueDYobi5hcGkuRygpKSYmKFc/bi5qLnNob3coKTpuLmouaGlkZSgpKX07CnlQaj1mdW5jdGlvbihuKXtuLlg8bi5KLmxlbmd0aD9VZzIobik6KG4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KDEpLk4oMikmJihuLlY9ITApLG4uTj0hMCxuLlg9MCxuLkoubGVuZ3RoPTAsbi5hcGkuWDkoKSxuLk49ITEpfTsKRUJDPWZ1bmN0aW9uKG4pe3ZhciB7aW50ZXJzdGl0aWFsczpXfT1uLmFwaS5nZXRWaWRlb0RhdGEoKSxEPVtdO2ZvcihsZXQgTCBvZiBXKXtXPUQ7dmFyIGI9Vy5wdXNoLHY9bixrPUwucGxheWVyVmFycyxoPUwua3EseD1MLnRpbWU7bGV0IGU9YHl0by0ke3YuWSsrfWA7eD1uZXcgZy5sNSh4LHgse2lkOmUscHJpb3JpdHk6NyxuYW1lc3BhY2U6Inl0byJ9KTt2LktbZV09e3BsYXllclZhcnM6ayxwbGF5ZXJUeXBlOmh9O2IuY2FsbChXLHgpO1c9bi5hcGkuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KTtXPU9iamVjdC5hc3NpZ24oe29hdXRoX3Rva2VuOlcub2F1dGhUb2tlbn0sTC5wbGF5ZXJWYXJzKTtuLmFwaS5wcmVsb2FkVmlkZW9CeVBsYXllclZhcnMoVyxMLmtxKX1uLmFwaS5naChELDEpfTsKVWcyPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSltuLlhdO2lmKFcpe3ZhciB7cGxheWVyVmFyczpELHBsYXllclR5cGU6Yn09bi5LW1ddO24uTj0hMDtuLlgrKztXPW4uYXBpLmdldFZpZGVvRGF0YSh7cGxheWVyVHlwZToxfSk7Vz1PYmplY3QuYXNzaWduKHtvYXV0aF90b2tlbjpXLm9hdXRoVG9rZW59LEQpO24uYXBpLmxvYWRWaWRlb0J5UGxheWVyVmFycyhXLCEwLGIsITApO24uTj0hMX19OwpvQnI9YXN5bmMgZnVuY3Rpb24obixXLEQsYil7aWYoYXdhaXQgaTRVKG4pKXRyeXtsZXQgdj17a2V5Om5mKFcsInZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eSIpLHZpZGVvSWQ6VyxsYXN0UGxheWJhY2tQb3NpdGlvblNlY29uZHM6RC50b1N0cmluZygpLGxhc3RVcGRhdGVkQ2xpZW50VGltZXN0YW1wTXM6Yi50b1N0cmluZygpfTthd2FpdCBweXQobi5OLHYpO24uSiE9PVcmJihhd2FpdCB1angobiksbi5KPVcpfWNhdGNoKHYpe24uaGFuZGxlRXJyb3IoIkZhaWxlZCB0byBhZGQgb3IgdXBkYXRlIHBsYXliYWNrIHBvc2l0aW9uIix2KX1lbHNlIG4uYXBpLlUoInZwcGUiLHtwdToiYXUifSl9OwpkZ3c9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCk/LnZpZGVvSWQ7aWYoVyl7dmFyIEQ9bi5hcGkuZ2V0Q3VycmVudFRpbWUoKSxiPURhdGUubm93KCk7b0JyKG4sVyxELGIpfX07Cmk0VT1hc3luYyBmdW5jdGlvbihuKXtpZighbi5OKXt0NXx8KHQ1PUk5MigpKTtsZXQgVz1hd2FpdCB0NTtpZighVylyZXR1cm4hMTtuLk49V31yZXR1cm4hMH07CnVqeD1hc3luYyBmdW5jdGlvbihuKXtpZihuLk4pdHJ5e3ZhciBXPWF3YWl0IFVlKG4uTiwidmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5IiksRD1hd2FpdCBVZShuLk4sIm1haW5WaWRlb0VudGl0eSIpO2xldCBiPW5ldyBTZXQoRC5tYXAoaD0+aC52aWRlb0lkKSksdj1XLmZpbHRlcihoPT4hYi5oYXMoaC52aWRlb0lkKSk7CnYuc29ydCgoaCx4KT0+TnVtYmVyKHgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcyktTnVtYmVyKGgubGFzdFVwZGF0ZWRDbGllbnRUaW1lc3RhbXBNcykpOwpsZXQgaz1EYXRlLm5vdygpLTg2NEU1O1c9W107Zm9yKEQ9MDtEPHYubGVuZ3RoO0QrKyl7bGV0IGg9dltEXTsoRD49bi5XfHxOdW1iZXIoaC5sYXN0VXBkYXRlZENsaWVudFRpbWVzdGFtcE1zKTxrKSYmaC5rZXkmJlcucHVzaChoLmtleSl9Vy5sZW5ndGg+MCYmKG4uYXBpLlUoInZwcGUiLHtleHA6Vy5sZW5ndGh9KSxhd2FpdCBIaHcobi5OLFcpKX1jYXRjaChiKXtuLmhhbmRsZUVycm9yKCJGYWlsZWQgdG8gZXhwaXJlIHBsYXliYWNrIHBvc2l0aW9uIixiKX19Owp6TFo9ZnVuY3Rpb24obil7L1teYS16QS1aMC05Oy4hXy1dLy50ZXN0KG4pJiYobj1uLnJlcGxhY2UoL1srXS9nLCItIikucmVwbGFjZSgvW15hLXpBLVowLTk7LiFfLV0vZywiXyIpKTtyZXR1cm4gbn07CmxwMj1mdW5jdGlvbihuKXtyZXR1cm4gd2luZG93LlByb2ZpbGVyJiZuZXcgd2luZG93LlByb2ZpbGVyKG4pfTsKalVVPWZ1bmN0aW9uKG4pe3ZhciBXPW4uc2FtcGxlSW50ZXJ2YWwsRD1uLm1heEJ1ZmZlclNpemU7aWYoIW4ucU4oKSYmVz4wJiZEPjAmJiFuLk4mJm4uVzwxRTcpdHJ5e24uWD1scDIoe3NhbXBsZUludGVydmFsOlcsbWF4QnVmZmVyU2l6ZTpEfSksbi5YPy5hZGRFdmVudExpc3RlbmVyKCJzYW1wbGVidWZmZXJmdWxsIixhc3luYygpPT57YXdhaXQgVEt3KG4pO2pVVShuKX0pfWNhdGNoKGIpe24uTj16TFooYi5tZXNzYWdlKSxuLkooKX19OwpUS3c9YXN5bmMgZnVuY3Rpb24obil7dHJ5e2xldCBXPWF3YWl0IG4uWD8uc3RvcCgpO1cmJm4ubG9nVHJhY2UoVyl9Y2F0Y2goVyl7bi5OPXpMWihXLm1lc3NhZ2UpLG4uSigpfX07ClJMdD1mdW5jdGlvbihuLFcsRCl7aWYoRCl7dmFyIGI9IiI7Q2d0KG4sVykmJihiPVcsbi5hcGkuRygpLkhKPVcpO2ImJkJLQyhuLGIpJiYodnRDKG4uYXBpLGIpLFNrKGZFKG4uYXBpLkcoKSxuLmFwaS5nZXRWaWRlb0RhdGEoKT8uVigpKSx2PT57dmFyIGs9YjtGMXcodikhPT1rJiZ3YVMobixNaWkodikse3N0cmluZ1ZhbHVlOmt9KX0pKX19OwpRVVo9ZnVuY3Rpb24obil7QXMoKT8uc2l6ZSYmU2soZkUobi5hcGkuRygpLG4uYXBpLmdldFZpZGVvRGF0YSgpPy5WKCkpLFc9PnsoVz1GMXcoVykpJiZCS0MobixXKSYmKG4uYXBpLkcoKS5ISj1XKX0pfTsKQ2d0PWZ1bmN0aW9uKG4sVyl7bj1uLmFwaS5nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpO2ZvcihsZXQgRCBvZiBuKWlmKEQuZ2V0TGFuZ3VhZ2VJbmZvKCkuZ2V0SWQoKT09PVcpcmV0dXJuIEQ7cmV0dXJuIG51bGx9OwpCS0M9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5zcGxpdCgiLiIpWzBdIT09IiImJm4uYXBpLmdldFZpZGVvRGF0YSgpPy5JTSgpfTsKRjF3PWZ1bmN0aW9uKG4pe3tuPU1paShuKTtsZXQgVz1BcygpO249Vz9XLmdldChuKTp2b2lkIDB9cmV0dXJuIG4mJm4uc3RyaW5nVmFsdWU/bi5zdHJpbmdWYWx1ZToiIn07CndhUz1mdW5jdGlvbihuLFcsRCl7VmliKFt7c2V0dGluZ0l0ZW1JZDpXLHNldHRpbmdPcHRpb25WYWx1ZTpEfV0pO1NrKG4uWW8oKSxiPT57QkdNKGIsVyxEKX0pfTsKTWlpPWZ1bmN0aW9uKG4pe3ZhciBXPSg0ODQpLnRvU3RyaW5nKCk7biYmKFc9KDQ4MykudG9TdHJpbmcoKSk7cmV0dXJuIFd9OwpWaWI9ZnVuY3Rpb24obil7dmFyIFc9QXMoKTtXfHwoVz1uZXcgTWFwKTtmb3IobGV0IEQgb2YgbilXLnNldChELnNldHRpbmdJdGVtSWQsRC5zZXR0aW5nT3B0aW9uVmFsdWUpO249SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKFcpKTtnLlBCKCJ5dC1wbGF5ZXItdXNlci1zZXR0aW5ncyIsbiwyNTkyRTMpfTsKcjk9ZnVuY3Rpb24obil7bi5qPW51bGw7bi5LPW51bGw7bi5OTigkUCgib3ZlciIpLG4uWjEpO24uTk4oInRvdWNoc3RhcnQiLG4uWSk7bi5OJiZuLk5OKCRQKCJkb3duIiksbi5WUSl9Owpzcj1mdW5jdGlvbihuKXtuLlguSighbi5OKX07CiRQPWZ1bmN0aW9uKG4pe3JldHVybiB3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQ/YE1TUG9pbnRlciR7bi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke24uc3Vic3RyaW5nKDEpfWA6YG1vdXNlJHtufWB9OwpOVD1mdW5jdGlvbihuKXtyZXR1cm4gbiYmY1BiP2cuSksobil8fGRvY3VtZW50OmRvY3VtZW50fTsKYXB4PWZ1bmN0aW9uKG4sVyl7Zm9yKGxldCBEPTA7RDxXLmNoYW5nZWRUb3VjaGVzLmxlbmd0aDtEKyspe2xldCBiPVcuY2hhbmdlZFRvdWNoZXNbRF07aWYoYi5pZGVudGlmaWVyPT09bi5LKXJldHVybiBifXJldHVybiBudWxsfTsKblZyPWZ1bmN0aW9uKG4pe2NQYj1ufTsKV3F4PWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgVyl7Vz1OdW1iZXIoYi5wbGF5YmFja1JlbGF0aXZlUG9zaXRpb24/LnV0Y1RpbWVNcykvMUUzO2xldCB2PVcrTnVtYmVyKGIuZHVyYXRpb24/LnNlY29uZHMpLGs9YHN0YXRpb25zOiR7RH06JHtXfWA7bi5KLmhhcyhrKXx8KG4uSi5hZGQoayksYi5vbkVudGVyJiYobi5OW2tdPWIub25FbnRlciksbi5hcGkuYWRkVXRjQ3VlUmFuZ2UoayxXLHYsRCwhMSkpfX07CkpKPWZ1bmN0aW9uKG4pe3ZhciBXPS9jb2RlY3M9IihbXiJdKikiLy5leGVjKG4ubWltZVR5cGUpO3JldHVybiBXJiZXWzFdP1dbMV0rIiAoIituLml0YWcrIikiOm4uaXRhZ307CnBhPWZ1bmN0aW9uKG4sVyl7aWYobi5oZWlnaHRQeD09PS0xKXt2YXIgRD1udWxsO3RyeXtEPWcuekYoIkNBTlZBUyIpLG4uVz1ELmdldENvbnRleHQoIjJkIil9Y2F0Y2goaCl7fWlmKG4uVyl7dmFyIGI9bi5OKm4uc2FtcGxlQ291bnQ7bi5qPUQ7bi5qLndpZHRoPWI7bi5qLnN0eWxlLndpZHRoPWAke2J9cHhgO24uZWxlbWVudC5hcHBlbmRDaGlsZChuLmopfWVsc2UgZm9yKG4uc2FtcGxlQ291bnQ9TWF0aC5mbG9vcihuLnNhbXBsZUNvdW50LzQpLG4uTio9NCxEPTA7RDxuLnNhbXBsZUNvdW50O0QrKyliPWcuekYoIlNQQU4iKSxiLnN0eWxlLndpZHRoPWAke24uTn1weGAsYi5zdHlsZS5sZWZ0PWAke24uTipEfXB4YCxuLmVsZW1lbnQuYXBwZW5kQ2hpbGQoYil9RD1uLmVsZW1lbnQuY2xpZW50SGVpZ2h0fHwyNDtEIT09bi5oZWlnaHRQeCYmKG4uaGVpZ2h0UHg9RCxuLlcmJihEPSh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk+MT8yOjEsbi5qLmhlaWdodD1uLmhlaWdodFB4KgpELG4uai5zdHlsZS5oZWlnaHQ9YCR7bi5oZWlnaHRQeH1weGAsbi5XLnNjYWxlKDEsRCkpKTtmb3IodmFyIHYgb2YgVyl7Vz1uO3ZhciBrPW4uaW5kZXg7Zm9yKEQ9MDtEKzI8Vy5WLmxlbmd0aCYmVy5WW0QrMV08djspRCsrO2I9TWF0aC5taW4oMSwodi1XLlZbRF0pLyhXLlZbRCsxXS1XLlZbRF0pKTtpZihXLlcpVy5XLmZpbGxTdHlsZT1XLktbRF0sVy5XLmZpbGxSZWN0KGsqVy5OLDAsVy5OLFcuaGVpZ2h0UHgpLFcuVy5maWxsU3R5bGU9Vy5LW0QrMV0sVy5XLmZpbGxSZWN0KGsqVy5OLFcuaGVpZ2h0UHgqKDEtYiksVy5OLFcuaGVpZ2h0UHgpO2Vsc2V7az1XLmVsZW1lbnQuY2hpbGRyZW5ba107bGV0IGg9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDE7Yj1NYXRoLm1pbihXLmhlaWdodFB4LE1hdGgucm91bmQoVy5oZWlnaHRQeCpiKmgpL2gpfHwwO2suc3R5bGUuaGVpZ2h0PWAke2J9cHhgO2suc3R5bGUuYmFja2dyb3VuZENvbG9yPVcuS1tEKzFdO2suc3R5bGUuYm9yZGVyVG9wPQpgc29saWQgJHtXLmhlaWdodFB4LWJ9cHggJHtXLktbRF19YH1uLmluZGV4PShuLmluZGV4KzEpJW4uc2FtcGxlQ291bnR9dj1uLmluZGV4O24uVz9uLlcuY2xlYXJSZWN0KHYqbi5OLDAsbi5OLG4uaGVpZ2h0UHgpOihuPW4uZWxlbWVudC5jaGlsZHJlblt2XSxuLnN0eWxlLmhlaWdodD0iMHB4IixuLnN0eWxlLmJvcmRlclRvcD0iIil9OwpiQng9ZnVuY3Rpb24obixXKXt2YXIgRD0hIW4uTj8uRTUoKTtuLk58fChuLk49bmV3IERRTShuLmFwaSksZy51KG4sbi5OKSxnLnJ2KG4uYXBpLG4uTi5lbGVtZW50LDQpKTtuLk4uTUwoVyk7dmFyIGI9R3Uobi5hcGkuSjUoKSk7YiYmYi5sb2FkZWQmJkQhPT1XJiZiLm5HKCk7VyYmbi5hcGkuVSgic2ZuIix7fSwhMCl9Owp2VjI9ZnVuY3Rpb24obixXKXtpZihuLlc9PT12b2lkIDApcmV0dXJuITE7aWYoVy5zZWVrRGlyZWN0aW9uPT09IlRJTUVMWV9BQ1RJT05fVFJJR0dFUl9ESVJFQ1RJT05fRk9SV0FSRCImJk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzKXtpZihXPW4uVz09PTcyKW4uWD0iVElNRUxZX0FDVElPTl9UUklHR0VSX1NPVVJDRV9LRVlCT0FSRF9GT1JXQVJEX1NFRUtfRklWRV9TRUNPTkRTIjtyZXR1cm4gV31pZihXLnNlZWtEaXJlY3Rpb249PT0iVElNRUxZX0FDVElPTl9UUklHR0VSX0RJUkVDVElPTl9GT1JXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQpe2lmKFc9bi5XPT09NzQpbi5YPSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfU09VUkNFX0tFWUJPQVJEX0ZPUldBUkRfU0VFS19URU5fU0VDT05EUyI7cmV0dXJuIFd9cmV0dXJuIFcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmCk51bWJlcihXLnNlZWtMZW5ndGhNaWxsaXNlY29uZHMpPT09NUUzP24uVz09PTcxOlcuc2Vla0RpcmVjdGlvbj09PSJUSU1FTFlfQUNUSU9OX1RSSUdHRVJfRElSRUNUSU9OX0JBQ0tXQVJEIiYmTnVtYmVyKFcuc2Vla0xlbmd0aE1pbGxpc2Vjb25kcyk9PT0xRTQ/bi5XPT09NzM6ITF9Owprd3c9ZnVuY3Rpb24obil7bi50aW1lbHlBY3Rpb25zJiYobi5qPW4udGltZWx5QWN0aW9ucy5yZWR1Y2UoKFcsRCk9PntpZihELmN1ZVJhbmdlSWQ9PT12b2lkIDApcmV0dXJuIFc7V1tELmN1ZVJhbmdlSWRdPTA7cmV0dXJuIFd9LHt9KSl9OwpZUD1mdW5jdGlvbihuKXtuLmNKJiZjbGVhclRpbWVvdXQobi5jSik7bi5jSj12b2lkIDA7bi5PPSExfTsKZmE9ZnVuY3Rpb24obil7aWYobi5OIT09dm9pZCAwKXt2YXIgVz0oVz1IOChuLG4uTikpJiZXLm9uQ3VlUmFuZ2VFbnRlcj9nLk40KFcub25DdWVSYW5nZUVudGVyKTp2b2lkIDA7dmFyIEQ9SDgobixuLk4pO2E6aWYoRCYmRC5hZGRpdGlvbmFsVHJpZ2dlcil7Zm9yKGIgb2YgRC5hZGRpdGlvbmFsVHJpZ2dlcilpZihiLnR5cGUmJigwLG4uYmRbYi50eXBlXSk/LihiLmFyZ3M/P3t9KSl7dmFyIGI9ITA7YnJlYWsgYX1iPSExfWVsc2UgYj0hMDtXJiZiJiYoZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsVyksaGJqKG4sRCksbi5qW24uTl0hPT12b2lkIDAmJm4ualtuLk5dKyssbi5PPSEwKX19OwpIOD1mdW5jdGlvbihuLFcpe2lmKG4udGltZWx5QWN0aW9ucylmb3IobGV0IEQgb2Ygbi50aW1lbHlBY3Rpb25zKWlmKEQuY3VlUmFuZ2VJZD09PVcpcmV0dXJuIER9Owp4UXc9ZnVuY3Rpb24obixXKXtpZigobj1IOChuLFcpKSYmbi5vbkN1ZVJhbmdlRXhpdClyZXR1cm4gZy5ONChuLm9uQ3VlUmFuZ2VFeGl0KX07Cmhiaj1mdW5jdGlvbihuLFcpe3ZhciBEPU51bWJlcihXPy5tYXhWaXNpYmxlRHVyYXRpb25NaWxsaXNlY29uZHMpO0QmJihZUChuKSxuLmNKPXNldFRpbWVvdXQoKCk9PntpZihuLk4hPT12b2lkIDAmJlc/LmN1ZVJhbmdlSWQ9PT1uLk4pe24uTz0hMTtuLlg9dm9pZCAwO3ZhciBiPXhRdyhuLG4uTik7YiYmZy5SVChuLmFwaSwiaW5uZXJ0dWJlQ29tbWFuZCIsYil9fSxEKSl9Owp2YXIgZmFpPWZ1bmN0aW9uKG4sVyxELGIsdixrKXtyZXR1cm4gaXBbSVsxMF1dKHRoaXMsNCw1ODg5LG4sVyxELGIsdixrKX07CmdWaD1mdW5jdGlvbihuKXtpZihuPW4uZ2V0V2F0Y2hOZXh0UmVzcG9uc2UoKSlpZihuPWcudyhuLnBsYXllck92ZXJsYXlzPy5wbGF5ZXJPdmVybGF5UmVuZGVyZXI/LnRpbWVseUFjdGlvbnNPdmVybGF5Vmlld01vZGVsLExxQyksbj8udGltZWx5QWN0aW9ucylyZXR1cm4gbj8udGltZWx5QWN0aW9ucy5tYXAoVz0+Zy53KFcsZWJyKSkuZmlsdGVyKFc9PiEhVyl9OwpKNT1mdW5jdGlvbihuKXtuLk4hPT1udWxsJiYoY2xlYXJUaW1lb3V0KG4uTiksbi5OPW51bGwpfTsKUjA9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1XXm47KG48PDEmMTUpPT0yJiZEW0lbMjVdXSgpO2lmKChuLTh8MTcpPG4mJihuLTZeMjIpPj1uKXt2YXIgaD1EW2JdLHg9aFtJW2teNzM1NF1dKElba143MzA5XSk7eD4wP0VjKGteNzM1NSxrXjEyOTAsdixoW0lba143MzU5XV0oMCx4KSxoW0lba143MzU5XV0oeCsxKSk6aCYmKHZbaF09SVtrXjczNTddKTt2YXIgTD1bXX1pZigobiYyNyk9PW4pe2lmKCEoZ1goRFtJW2teNzUzMl1dKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0OTBdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc0NzZdKXx8RFtJW2teNzUzMl1dW0lba143NTE4XV0oSVtrXjc1MzNdKSkpdGhyb3cgbmV3IGcuUXgoSVtrXjc0ODBdLERbSVtrXjc1MzJdXSk7aD1scihEW0lba143NTMyXV0pO0RbSVtrXjc1MjddXT1oW0lba143NTQwXV07RFtJW2teNzUxNF1dPWhbSVsxXV0rKGhbSVtrXjc1MDhdXSE9bnVsbD9gOiR7aFtJW2teNzUwOF1dfWA6Cklba143NTI4XSk7eD1oW0lba143NTMyXV07eFtJW2teNzUxOF1dKElba143NTM4XSk/KERbSVtrXjc1MjFdXT1JW2teNzUzOF0seD14W0lba143NTMwXV0oa143NTM5KSk6eFtJW2teNzUxOF1dKElba143NTIzXSk/KERbSVtrXjc1MjFdXT1JW2teNzUyM10seD14W0lba143NTMwXV0oa143NTM2KSk6eFtJW2teNzUxOF1dKElba143NDc1XSk/KHg9aXAoa143NTI5LGteODgwLHgsRCkseD14WzBdKTooRFtJW2teNzUyMV1dPXgseD1JW2teNzUyOF0pO3ZhciBlPURbSVsxXV07RFtJWzFdXT1pcChrXjc1MzMsa143NzcxLHgpO09iamVjdFtJW2teNzUzOV1dKERbSVsxXV0sZzcoMixrXjc1MDAsaFtJW2teNzUxNF1dW0lbMF1dKCkpKTtPYmplY3RbSVtrXjc1MzldXShEW0lbMV1dLGUpO0RbSVsxXV1bSVtrXjc0NzNdXT09PUlba143NTAxXSYmKGRlbGV0ZSBEW0lbMV1dW0lba143NDczXV0sRFtJW2teNzUyMV1dKz1JW2teNzQ4N10pO0RbSVtrXjc1MzJdXT1JW2teNzUyOF07RFtJW2teNzUyMF1dPQpJW2teNzUyOF07RFtJW2teNzU0MF1dJiYoaD1YRChrXjc0OTIsa14zMjg1LEQpKTtMPVtdfShuJjk5KT09biYmKGVYKGteMzQ4NSxrXjQ1NDIsRCksTD1EW0lba14zNTExXV0pO24rMyYxNXx8KEw9ZW5jb2RlVVJJQ29tcG9uZW50KEQpKTtyZXR1cm4gTH07ClhiaD1mdW5jdGlvbihuKXtKNShuKTtuLk49c2V0VGltZW91dCgoKT0+e24uaGlkZSgpfSwzRTMpfTsKSUc9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuVUooKTtpZihXKXtsZXQgRD1uLmFwaS5nZXRQbGF5ZXJTaXplKCk7Vy5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZSgke24uTipELndpZHRoKigxLW4uc2NhbGUpfXB4LCAke24uSipELmhlaWdodCooMS1uLnNjYWxlKX1weCkgc2NhbGUoJHtuLnNjYWxlfSlgO1cuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSIwIDAiO1c9bi5pbmRpY2F0b3I7Vy5XLnRleHRDb250ZW50PWAke051bWJlcihuLnNjYWxlLnRvRml4ZWQoMSkpfXhgO1cuTj09PW51bGwmJlhiaChXKTtuLnNjYWxlPjE/bi5pbmRpY2F0b3Iuc2hvdygpOm4uaW5kaWNhdG9yLmhpZGUoKTtXPW4uc2NhbGU+MT8iWk9PTV9TVEFURV9GUkVFIjoiWk9PTV9TVEFURV9PUklHSU5BTCI7VyE9PW4uem9vbVN0YXRlJiYobi56b29tU3RhdGU9VyxnLnpVKCJ3YXRjaFpvb21TdGF0ZUNoYW5nZSIse3pvb21TdGF0ZTpuLnpvb21TdGF0ZX0pKX19OwpxSDE9ZnVuY3Rpb24obil7bj1uLldEKCk7aWYoIW4pcmV0dXJuITE7bj1nLm9FKG4pLmV4cHx8IiI7cmV0dXJuIG4uaW5jbHVkZXMoInhwdiIpfHxuLmluY2x1ZGVzKCJ4cGUiKX07Ckd3VT1mdW5jdGlvbihuKXtmb3IobGV0IFcgb2Ygbi5OKCEwKSlpZihxSDEoVykpcmV0dXJuITA7cmV0dXJuITF9Owp0THg9ZnVuY3Rpb24obixXKXtmb3IobGV0IGIgb2Ygbi5OKCEwKSlpZihxSDEoYikpe249Yjt2YXIgRD17cG90YzoiMSIscG90Old9O24udXJsJiYobi51cmw9Zy56ZChuLnVybCxEKSl9fTsKJFF4PWFzeW5jIGZ1bmN0aW9uKG4pe3RyeXthd2FpdCBufWNhdGNoKFcpe319OwpybU09ZnVuY3Rpb24obil7dmFyIFc9bmV3IHF3LEQ9e1siWC1Hb29nLUFwaS1LZXkiXToiQUl6YVN5RHlUNVcwSmg0OUYzMFBxcXR5ZmRmN3BETEZLTEpvQW53In07cmV0dXJuIG5ldyBmVihXLG4sKCk9PkQpfTsKc0xiPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgVEgobil9OwpOYmI9ZnVuY3Rpb24obil7bi5KJiYobi5YPW5ldyBZNixuLmoucHJvbWlzZS50aGVuKCgpPT57bi5tUS5TbCgicG90X2lmIik7U2wobil9KSl9OwpIQnc9ZnVuY3Rpb24obil7dmFyIFc9KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpfHxuLlMoImh0bWw1X2dlbmVyYXRlX2NvbnRlbnRfcG9fdG9rZW4iKSkmJiFuLnVzZUxpdmluZ1Jvb21Qb1Rva2VuO3RyeXtpZihuLlMoImh0bWw1X3VzZV9zaGFyZWRfb3dsX2luc3RhbmNlIil8fG4uYXBpLkcoKS5adCgpLk4uUVEocGJNKSlZSGkobik7ZWxzZSBpZihXKXtuLm1RLlNsKCJwb3RfaXNjIik7bGV0IEQ9Zy5kTShuLmFwaS5HKCkuZXhwZXJpbWVudHMsImh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXMiKTtEPyhBNShuKSxnLm4kKCgpPT57bUEobil9LEQpKTpuLlMoImh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iIik/KEE1KG4pLGcuY0IoZy5EeSgpLCgpPT57bUEobil9KSk6bUEobil9fWNhdGNoKEQpe0QgaW5zdGFuY2VvZiBFcnJvciYmZy5HcShEKX19OwpZSGk9YXN5bmMgZnVuY3Rpb24obil7S2Eobiwic3dwb19pIik7QTUobik7U2wobik7dmFyIFc9YXdhaXQgZy5NaChnLkQ2KCkpO0thKG4sInN3cG9fY28iKTtXPWF3YWl0IFp0WihXKTtuLlMoImh0bWw1X3dlYl9wb190b2tlbl9kaXNhYmxlX2NhY2hpbmciKXx8Vy55aCgxNTApO24uSj1XO0thKG4sInN3cG9fY2MiKTskUXgoVy5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCk7S2Eobiwic3dwb19yZSIpfSk7CmcubiQoKCk9PnttQShuKTtLYShuLCJzd3BvX3NpIil9LDApfTsKQTU9ZnVuY3Rpb24obil7bi5XfHwobi5XPW5XKCkpfTsKbUE9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuRygpO24ubVEuU2woInBvdF9pc3QiKTtuLkp8fGZNMShuKTtuLlMoImh0bWw1X2JhbmRhaWRfYXR0YWNoX2NvbnRlbnRfcG9fdG9rZW4iKXx8KG4uUygiaHRtbDVfZ2VuZXJhdGVfc2Vzc2lvbl9wb190b2tlbiIpJiYoU2wobiksTmJiKG4pKSxXPWcuZE0oVy5leHBlcmltZW50cywiaHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zIil8fDAsVz4wJiYobi5ZPVcwKCgpPT57U2wobil9LFcpKSxuLks9ITApfTsKSm14PWZ1bmN0aW9uKG4pe3ZhciBXPWcuWWgobi5leHBlcmltZW50cywiaHRtbDVfd2ViX3BvX3JlcXVlc3Rfa2V5Iik7cmV0dXJuIFc/VzpnLms2KG4pPyJaMWVsTmtBS0xwU1Izb1BPVU1TTiI6Ik80M3owZHBqaGdYMjBTQ3g0S0FvIn07CkthPWZ1bmN0aW9uKG4sVyl7bi5TKCJodG1sNV93ZWJwb19iZ2VfY3RtcCIpJiZuLmFwaS5VKFcse2h3cG86ISFuLkosaHdwb3I6bi5OfSl9OwpTbD1hc3luYyBmdW5jdGlvbihuKXtpZihuLlMoImh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW4iKSYmIW4udXNlTGl2aW5nUm9vbVBvVG9rZW4pe3ZhciBXPW4uYXBpLkcoKSxEPWcuQXIoIkVPTV9WSVNJVE9SX0RBVEEiKXx8Zy5BcigiVklTSVRPUl9EQVRBIik7RD1XLllyP1cuZGF0YXN5bmNJZDpEO0Q9Zy5ZaChXLmV4cGVyaW1lbnRzLCJodG1sNV9tb2NrX2NvbnRlbnRfYmluZGluZ19mb3Jfc2Vzc2lvbl90b2tlbiIpfHxXLmxpdmluZ1Jvb21Qb1Rva2VuSWR8fEQ7Vy5qVz1PcihuLEQpfX07CmZNMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5HKCksRD1KbXgoVyk7RD1ybU0oRCk7dmFyIGI9RC5aai5iaW5kKEQpO0QuWmo9YXN5bmMgaz0+e2s9YXdhaXQgYihrKTtuLmFwaS5VKCJpdHIiLHt9KTtyZXR1cm4ga307CnRyeXt2YXIgdj1zTGIoe1VnOkQsa2Q6e21heEF0dGVtcHRzOjV9LHgzOntWajoiQ0xFbiIsZGlzYWJsZTpXLmV4cGVyaW1lbnRzLkVxKCJodG1sNV93ZWJfcG9fZGlzYWJsZV9yZW1vdGVfbG9nZ2luZyIpLEpwOlRwYihXLmV4cGVyaW1lbnRzKSxybzpoPT57dmFyIHg9SU0yLmdldChoKTt4fHwoeD1uZXcgU0hpKGgpLHg9bmV3IGhxKHgpLElNMi5zZXQoaCx4KSk7cmV0dXJuIHh9LApSaTpuLlMoIndwb19kaXNfbGZkbXMiKT8wOjFFM30sdDY6Zy5HcX0pO2xldCBrPW5ldyBBbXQoe08xOnYsVWc6RCxvbkVycm9yOmcuR3F9KTskUXgoay5IJCgpKS50aGVuKCgpPT57bi5OPSEwO24uai5yZXNvbHZlKCl9KTsKbi5TKCJodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nIil8fGsueWgoMTUwKTtnLnUobix2KTtnLnUobixrKTtuLko9a31jYXRjaChrKXtnLkdxKGspLHY/LmRpc3Bvc2UoKX19OwpPcj1mdW5jdGlvbihuLFcpe2lmKCFuLkope2lmKG4uVyl0cnl7cmV0dXJuIG4uVyhXKX1jYXRjaChEKXtnLkdxKEQpfXJldHVybiIifXRyeXtuLm1RLlNsKG4uTj8icG90X2NtcyI6InBvdF9jc21zIik7bGV0IEQ9e0dyOiEwLEVSOiEwLHdfOld9O24uUygiaHRtbDVfd2ViX3BvX3Rva2VuX2Rpc2FibGVfY2FjaGluZyIpfHwoRC5oRz17YW06VyxBQjohMCxyMzohMH0pO2xldCBiPW4uSi5aUihEKTtuLm1RLlNsKG4uTj8icG90X2NtZiI6InBvdF9jc21mIik7bi5OJiYobi5YPy5yZXNvbHZlKCksbi5YPW51bGwsbi5WJiYobi5WPSExLG4uYXBpLmFwcC5NTigpLmpEKCExKSkpO3JldHVybiBifWNhdGNoKEQpe3JldHVybiBnLkdxKEQpLCIifX07Cktxcj1mdW5jdGlvbihuKXt2YXIgVz1nLnFqKCk7bi5KJiZnLnhvKFcse05IOlFXLFlMOm1RU30pfTsKZy5QOD1mdW5jdGlvbihuLFcsRCl7Zy5hTCgicGJzIixXPz8oMCxnLlIpKCksRD8/bi50aW1lck5hbWUpfTsKZy5PQk09ZnVuY3Rpb24obixXLEQpe3ZhciBiPWcuQ04oVy55USkmJiFXLnlRLlg7aWYoVy55US5lViYmKEZWKFcueVEpfHxXLnlRLlk9PT0ic2hvcnRzcGFnZSJ8fFcueVEuWT09PSJsZWFuYmFjayJ8fGIpJiYhbi5XKXtuLlc9ITA7bi5WPVcuY2xpZW50UGxheWJhY2tOb25jZTtnLkFyKCJUSU1JTkdfQUNUSU9OIil8fGcuU0goIlRJTUlOR19BQ1RJT04iLG4uQi5jc2lQYWdlVHlwZSk7bi5CLmNzaVNlcnZpY2VOYW1lJiZnLlNIKCJDU0lfU0VSVklDRV9OQU1FIixuLkIuY3NpU2VydmljZU5hbWUpO2lmKG4uTil7Yj1uLk4uZUcoKTtmb3IodmFyIHYgb2YgT2JqZWN0LmtleXMoYikpZy5hTCh2LGJbdl0sbi50aW1lck5hbWUpO3Y9UFYoQ0IpKG4uTi5Idik7Zy5ubCh2LG4udGltZXJOYW1lKTt2PW4uTjt2Lko9e307di5Idj17fX1nLm5sKHtwbGF5ZXJJbmZvOnt2aXNpYmlsaXR5U3RhdGU6UFYoakwpKCl9LHBsYXllclR5cGU6IkxBVEVOQ1lfUExBWUVSX0hUTUw1In0sbi50aW1lck5hbWUpOwpuLmohPT1XLmNsaWVudFBsYXliYWNrTm9uY2V8fE51bWJlci5pc05hTihuLkopfHwoZy52UCgiX3N0YXJ0IixuLnRpbWVyTmFtZSk/RD1QVihvTCkoIl9zdGFydCIsbi50aW1lck5hbWUpK24uSjpnLkdxKG5ldyBnLlF4KCJhdHRlbXB0ZWQgdG8gbG9nIGdhcGxlc3MgcGJzIGJlZm9yZSBDU0kgdGltZWxpbmUgc3RhcnRlZCIse2NwbjpXLmNsaWVudFBsYXliYWNrTm9uY2V9KSkpOyFEfHxnLnZQKCJwYnMiLG4udGltZXJOYW1lKXx8Vy5HU3x8Zy5QOChuLEQpfX07ClAkQz1mdW5jdGlvbihuKXtXUCgpO2NiKCJ3YXRjaCIsWyJwYnMiLCJwYnUiXSk7bi50aW1lck5hbWU9IiJ9OwpaQmo9ZnVuY3Rpb24obil7aWYobi5OKXt2YXIgVz1uLk47Vy5KPXt9O1cuSHY9e319bi5XPSExO24uaj12b2lkIDA7bi5KPU5hTn07ClVRaT1mdW5jdGlvbihuLFcpe3ZhciBEPSExLGI9bi5xdWV1ZS5maW5kSW5kZXgodj0+di5ncz09PVcpOwpiPj0wJiYobi5xdWV1ZS5zcGxpY2UoYiwxKSxEPSEwLFcucU4oKXx8Vy51bnN1YnNjcmliZSgicmVxdWVzdGNvbXBsZXRlZCIsbi5XLG4pLG4uVShXLCJkZXFfcXVldWUiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO2I9bi5KLmZpbmRJbmRleCh2PT52LmdzPT09Vyk7CmI+PTAmJihuLkouc3BsaWNlKGIsMSksRD0hMCxXLnFOKCl8fFcudW5zdWJzY3JpYmUoInJlcXVlc3Rjb21wbGV0ZWQiLG4uVyxuKSxuLlUoVywiZGVxX3dhaXQiLHt0Y3BuOlcuV04oKXx8Im5vbmUifSkpO3JldHVybiBEfTsKeW1pPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLnF1ZXVlKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtmb3IobGV0IFcgb2Ygbi5KKVcuZ3MucU4oKXx8bi51bnN1YnNjcmliZShXLmdzKTtuLnF1ZXVlPVtdO24uSj1bXX07CkVWYj1mdW5jdGlvbihuLFcpe24uVShXLCJyZXFfbG9hZCIse3RjcG46Vy5XTigpfHwibm9uZSIsdHlwZToicHJlIn0pO2lmKCFuLnF1ZXVlLnNvbWUoYj0+Yi5ncz09PVcpJiYhbi5KLnNvbWUoYj0+Yi5ncz09PVcpKXt2YXIgRD17Z3M6VywKc3RhcnRlZDohMX07bi5xdWV1ZS5sZW5ndGg8bi5wb2xpY3kuTj9uLnF1ZXVlLnB1c2goRCk6KG4uSi5wdXNoKEQpLG4uVShXLCJ3YWl0Iix7dGNwbjpXLldOKCl8fCJub25lIn0pKTtuLlcoKX19OwppQlM9ZnVuY3Rpb24obil7dmFyIFc9bi5OP24uTi5XTigpfHwibm9uZSI6Im5vbmUiLEQ9bi5xdWV1ZS5tYXAoYj0+Yi5ncy5XTigpfHwibm9uZSIpLmpvaW4oIiwiKTsKcmV0dXJue3BjcG46Vyx3czpuLkoubGVuZ3RoLGNwbnM6RH19OwpaVD1mdW5jdGlvbihuKXtyZXR1cm4hIShuLnBsYXlsaXN0fHxuLmxpc3R8fG4uYXBpKX07Cml2PWZ1bmN0aW9uKG4sVyxELGIpe1c9VyE9PXZvaWQgMD9XOm4uaW5kZXg7Vz1uLml0ZW1zJiZXIGluIG4uaXRlbXM/bi5pdGVtc1tuLm9yZGVyW1ddXTpudWxsO3ZhciB2PW51bGw7VyYmKEQmJihXLmF1dG9wbGF5PSIxIiksYiYmKFcuYXV0b25hdj0iMSIpLHY9bmV3IGcuVXIobi55USxXKSxnLnUobix2KSx2Lk1kPSEwLHYuc3RhcnRTZWNvbmRzPW4uc3RhcnRTZWNvbmRzfHx2LmNsaXBTdGFydHx8MCxuLmxpc3RJZCYmKHYucGxheWxpc3RJZD1uLmxpc3RJZC50b1N0cmluZygpKSk7cmV0dXJuIHZ9Owp1QXQ9ZnVuY3Rpb24obixXKXtpZihXLnZpZGVvJiZXLnZpZGVvLmxlbmd0aCl7bi50aXRsZT1XLnRpdGxlfHwiIjtuLmRlc2NyaXB0aW9uPVcuZGVzY3JpcHRpb247bi52aWV3cz1XLnZpZXdzO24ubGlrZXM9Vy5saWtlcztuLmRpc2xpa2VzPVcuZGlzbGlrZXM7bi5hdXRob3I9Vy5hdXRob3J8fCIiO3ZhciBEPVcubG9vcDtEJiYobi5sb29wPUQpO0Q9aXYobik7bi5pdGVtcz1bXTtmb3IobGV0IGIgb2YgVy52aWRlbyliJiYoYi52aWRlb19pZD1iLmVuY3J5cHRlZF9pZCxuLml0ZW1zLnB1c2goYikpO24ubGVuZ3RoPW4uaXRlbXMubGVuZ3RoOyhXPVcuaW5kZXgpP24uaW5kZXg9VzpuLmZpbmRJbmRleChEKTtuLnNldFNodWZmbGUoITEpO24ubG9hZGVkPSEwO24uTiYmbi5OKCl9fTsKdXY9ZnVuY3Rpb24obixXKXtuLmluZGV4PWcuRmYoVywwLG4ubGVuZ3RoLTEpO24uc3RhcnRTZWNvbmRzPTB9Owp6YnI9YXN5bmMgZnVuY3Rpb24obixXKXt2YXIgRD1uYygpLGI9bi5HKCksdj17Y29udGV4dDpnLm9UKG4pLHBsYXliYWNrQ29udGV4dDp7Y29udGVudFBsYXliYWNrQ29udGV4dDp7YW5jZXN0b3JPcmlnaW5zOmIuYW5jZXN0b3JPcmlnaW5zfX19LGs9Yi5nZXRXZWJQbGF5ZXJDb250ZXh0Q29uZmlnKCk7az8uZW5jcnlwdGVkSG9zdEZsYWdzJiYodi5wbGF5YmFja0NvbnRleHQuY29udGVudFBsYXliYWNrQ29udGV4dC5lbmNyeXB0ZWRIb3N0RmxhZ3M9ay5lbmNyeXB0ZWRIb3N0RmxhZ3MpO2s/LmhpZGVJbmZvJiYodi5wbGF5ZXJQYXJhbXM9e3Nob3dpbmZvOiExfSk7Yj1iLmVtYmVkQ29uZmlnO2s9bi5OZDt2YXIgaD1XLmRvY2lkfHxXLnZpZGVvX2lkfHxXLnZpZGVvSWR8fFcuaWQ7aWYoIWgpe2g9Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlO2lmKCFoKXt2YXIgeD1XLmVtYmVkZGVkX3BsYXllcl9yZXNwb25zZTt4JiYoaD1KU09OLnBhcnNlKHgpKX1oPWg/Zy53KGg/LmVtYmVkUHJldmlldz8udGh1bWJuYWlsUHJldmlld1JlbmRlcmVyPy5wbGF5QnV0dG9uPy5idXR0b25SZW5kZXJlcj8ubmF2aWdhdGlvbkVuZHBvaW50LApnLklRKT8udmlkZW9JZHx8bnVsbDpudWxsfWg9aD9oOnZvaWQgMDt4PW4ucGxheWxpc3RJZD9uLnBsYXlsaXN0SWQ6Vy5saXN0O3ZhciBMPVcubGlzdFR5cGU7aWYoeCl7dmFyIGU7TD09PSJ1c2VyX3VwbG9hZHMiP2U9e3VzZXJuYW1lOnh9OmU9e3BsYXlsaXN0SWQ6eH07b1YyKGIsayxoLFcsZSk7di5wbGF5bGlzdFJlcXVlc3Q9ZX1lbHNlIFcucGxheWxpc3Q/KGU9e3RlbXBsaXN0VmlkZW9JZHM6Vy5wbGF5bGlzdC50b1N0cmluZygpLnNwbGl0KCIsIil9LG9WMihiLGssaCxXLGUpLHYucGxheWxpc3RSZXF1ZXN0PWUpOmgmJihlPXt2aWRlb0lkOmh9LGs/ZS5zZXJpYWxpemVkVGhpcmRQYXJ0eUVtYmVkQ29uZmlnPWs6YiYmKGUuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1iKSx2LnNpbmdsZVZpZGVvUmVxdWVzdD1lKTtiPUxCKGRRWik7dHJ5e2xldCBHPWF3YWl0IGcucl8oRCx2LGIpLHI9bi5HKCk7Vy5yYXdfZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlPUc7ci5jSj0KaE8oVyxnLm80KHIpKTtyLkQ9ci5jSj09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiO0cmJkcudHJhY2tpbmdQYXJhbXMmJmcueXIoRy50cmFja2luZ1BhcmFtcyk7cmV0dXJuIG5ldyBnLlVyKHIsVyl9Y2F0Y2goRyl7cmV0dXJuIEcgaW5zdGFuY2VvZiBFcnJvcnx8KEc9RXJyb3IoImIyNTk4MDI3NDgiKSksZy5YaihHKSxufX07Cm9WMj1mdW5jdGlvbihuLFcsRCxiLHYpe2IuaW5kZXgmJih2LnBsYXlsaXN0SW5kZXg9U3RyaW5nKE51bWJlcihiLmluZGV4KSsxKSk7di52aWRlb0lkPUQ/RDoiIjtXP3Yuc2VyaWFsaXplZFRoaXJkUGFydHlFbWJlZENvbmZpZz1XOm4mJih2LnNlcmlhbGl6ZWRUaGlyZFBhcnR5RW1iZWRDb25maWc9bil9OwpnLmQ5PWZ1bmN0aW9uKG4sVyl7b0cuZ2V0KG4pO29HLnNldChuLFcpfTsKZy5sTVU9ZnVuY3Rpb24obixXKXtyZXR1cm4gVy5HKCkuUygiaHRtbDVfdXNlX2hsc19uYXRpdmVfY2FwdGlvbnMiKSYmZy5HbiYmbi56VygpJiYhIW4uSj8uVygpfTsKZy56Rz1mdW5jdGlvbihuLFcpe3JldHVybiBuLkcoKS5TKCJzYWZhcmlfbGl2ZV9kcm1fY2FwdGlvbnNfZml4IikmJm4uZ2V0VmlkZW9EYXRhKCk/Lk1pKCk/ITE6Zy5HbChuLkcoKSkmJiFXLmlzTWFuaWZlc3RsZXNzfTsKZy5sdj1mdW5jdGlvbihuLFcpe3JldHVybiBuLmluZm8uTigpP1c/bi5pbmZvLml0YWc9PT1XOiEwOiExfTsKZy5UYmk9ZnVuY3Rpb24obixXKXtpZihuLk4hPW51bGwmJmcuekcoVyxuLk4pJiZuLk4uTi5yYXdjYyE9bnVsbClyZXR1cm4hMDtpZighbi56VygpKXJldHVybiExO1c9ISFuLk4mJm4uTi5pc01hbmlmZXN0bGVzcyYmT2JqZWN0LnZhbHVlcyhuLk4uTikuc29tZShEPT5nLmx2KEQsIjM4NiIpKTsKbj0hIW4uTiYmIW4uTi5pc01hbmlmZXN0bGVzcyYmZy5tSChuLk4pO3JldHVybiBXfHxufTsKRCQ9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5lJClyZXR1cm4gbi5OaS5nZXQoInV4Iil9OwpURz1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFkIil9OwpqbD1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImNhcHRpb25zIil9OwpDYT1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoImFubm90YXRpb25zX21vZHVsZSIpfTsKR3U9ZnVuY3Rpb24obil7aWYobi5BLkcoKS5GZSlyZXR1cm4gbi5OaS5nZXQoInJlbW90ZSIpfTsKQjg9ZnVuY3Rpb24obil7cmV0dXJuIG4uTmkuZ2V0KCJjcmVhdG9yZW5kc2NyZWVuIil9OwpGWT1mdW5jdGlvbihuKXtpZihnLlhDKG4uQS5HKCkpKXJldHVybiBuLk5pLmdldCgia2lkcyIpfTsKZy4kRj1mdW5jdGlvbihuKXtyZXR1cm4gbi5OaS5nZXQoIndlYmdsIil9OwpqTGo9ZnVuY3Rpb24obixXKXtuLlc9V307CkMkdz1mdW5jdGlvbihuKXt2YXIgVz1uLkEuZ2V0VmlkZW9EYXRhKCk7cmV0dXJuIGcubE1VKFcsbi5BKXx8ISFXLndhfHwhIVcuY2FwdGlvblRyYWNrcy5sZW5ndGh8fGcuVGJpKFcsbi5BKX07Cnc5PWZ1bmN0aW9uKG4sVyxEPSExLGI9ITEsdil7dmFyIGssaD1uLk5pLmdldChXKTtpZighaHx8YilpZih2fHwodj0oKT0+e3c5KG4sVyxELGIpfSksa3x8KGs9KCk9PntNVChuLFcpfSksaD1ofHxCYmgobixXLEZxTShuLFcpLHYsaykpbi5OaS5zZXQoVyxoKSxoLmNyZWF0ZSgpLG4uQS5XSigibW9kdWxlY3JlYXRlZCIsVyksRCYmZy5WVShuLkEsIm9uQXBpQ2hhbmdlIil9OwpSRz1mdW5jdGlvbihuKXtpZihuLkEuRygpLkQpcmV0dXJuITE7aWYobj1uLkEuZ2V0VmlkZW9EYXRhKHtwbGF5ZXJUeXBlOjF9KS5nZXRQbGF5ZXJSZXNwb25zZSgpKXtsZXQgVz1uLmFkUGxhY2VtZW50cztpZihXKWZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKWlmKFdbRF0uYWRQbGFjZW1lbnRSZW5kZXJlcilyZXR1cm4hMDtpZihuLmFkU2xvdHMpcmV0dXJuITB9cmV0dXJuITF9OwpRWT1mdW5jdGlvbihuKXtyZXR1cm4gbi5BLkcoKS5TKCJodG1sNV9hbGxvd19hc21qcyIpfHxuLkEuRygpLlp0KCkuTi5RUSh3YlMpfTsKRnFNPWZ1bmN0aW9uKG4sVyl7c3dpdGNoKFcpe2Nhc2UgImFkIjpyZXR1cm4gUkcobik7Y2FzZSAiYW5ub3RhdGlvbnNfbW9kdWxlIjpyZXR1cm4hMTtjYXNlICJhc21qcyI6cmV0dXJuIFFZKG4pO2Nhc2UgImNyZWF0b3JlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImVtYmVkIjpyZXR1cm4gZy5vNChuLkEuRygpKTtjYXNlICJlbmRzY3JlZW4iOnJldHVybiExO2Nhc2UgImhlYXJ0YmVhdCI6cmV0dXJuIG4ueVAoKTtjYXNlICJraWRzIjpyZXR1cm4gZy5YQyhuLkEuRygpKTtjYXNlICJyZW1vdGUiOnJldHVybiBuLkEuRygpLkZlO2Nhc2UgIm1pbmlwbGF5ZXIiOnJldHVybiBuLkEuRygpLnNob3dNaW5pcGxheWVyVWlXaGVuTWluaW1pemVkO2Nhc2UgIm9mZmxpbmUiOnJldHVybiBuLkEuRygpLlpoO2Nhc2UgImNhcHRpb25zIjpyZXR1cm4gQyR3KG4pO2Nhc2UgInVucGx1Z2dlZCI6cmV0dXJuIGcuRGYobi5BLkcoKSk7Y2FzZSAidXgiOnJldHVybiBuLkEuRygpLmUkO2Nhc2UgIndlYmdsIjpXPQpuLkEuZ2V0VmlkZW9EYXRhKCk7dmFyIEQ9bi5BLkcoKTtuPWcuamQoKTtsZXQgYj1nLm5OKEQpLHY9Vy5KPy52aWRlbz8uaXNIZHIoKTtEPSFnLnF1KFcpJiYhdiYmRC5TKCJlbmFibGVfd2ViZ2xfbm9vcCIpO3JldHVybiBnLkpEKFcpfHxnLkhUKFcpfHxnLmZBKFcpP258fGI6Zy5rcChXKT9iOkQ/YjohMTtjYXNlICJ5cGMiOnJldHVybiBuLklWKCk7ZGVmYXVsdDpyZXR1cm4gZy5YaihFcnJvcihgTW9kdWxlIGRlc2NyaXB0b3IgJHtXfSBkb2VzIG5vdCBtYXRjaGApKSwhMX19OwpNVD1mdW5jdGlvbihuLFcpe1c9TUxiW1ddO2ZvcihsZXQgRCBvZiBXKW4uQS5HaShEKX07CkJiaD1mdW5jdGlvbihuLFcsRCxiLHYpe3RyeXtpZihEKXtsZXQgaz1vRy5nZXQoVyk7aWYoaylyZXR1cm4gbmV3IGsobi5BKTtSYngobixXLGIsdil9ZWxzZSBNVChuLFcpfWNhdGNoKGspe01UKG4sVyksZy5YaihrKX1yZXR1cm4gbnVsbH07ClJieD1mdW5jdGlvbihuLFcsRCxiKXtpZihuLkQpe3ZhciB2PVFMaVtXXTtXPW4uRCt2O24uSyYmKFcrPWA/Y2I9JHtuLkt9YCk7VkxNKG4sVywoKT0+e24uai5hZGQodik7RC5jYWxsKG4pfSxiKX19OwpjbWI9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi5OaS5nZXQoImFzbWpzIik7aWYoVylyZXR1cm4gVztXPW9HLmdldCgiYXNtanMiKT8/YXdhaXQgbmV3IFByb21pc2UoKEQsYik9PntSYngobiwiYXNtanMiLCgpPT57dmFyIHY9b0cuZ2V0KCJhc21qcyIpO3Y/RCh2KTpiKCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKX0sYil9KTsKaWYoIVcpcmV0dXJuIFByb21pc2UucmVqZWN0KCJjYW5ub3QgbG9hZCBtb2R1bGUgYXNtanMiKTtXPW5ldyBXKG4uQSk7bi5OaS5zZXQoImFzbWpzIixXKTtXLmNyZWF0ZSgpO3JldHVybiBXfTsKVlk9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpO2lmKG49Vy5TKCJ3ZWJfcGxheWVyX2RlZmVyX2FkIikpe2lmKGcuamooVy5JSiwiYWQiKXx8dzYoVyl8fFcuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkpdmFyIEQ9ITE7ZWxzZXtuPVcuc3RhcnRTZWNvbmRzO3ZhciBiPVcucGxheWVyUmVzcG9uc2U/LmFkUGxhY2VtZW50cztpZihXPWIpe1c9TnVtYmVyLk1BWF9WQUxVRTtmb3IoRCBvZiBiKWlmKGI9RC5hZFBsYWNlbWVudFJlbmRlcmVyKXtsZXQgdj1iLmNvbmZpZz8uYWRQbGFjZW1lbnRDb25maWc7dj8ua2luZD09PSJBRF9QTEFDRU1FTlRfS0lORF9NSUxMSVNFQ09ORFMiJiYoYj0oTnVtYmVyKHY/LmFkVGltZU9mZnNldD8ub2Zmc2V0U3RhcnRNaWxsaXNlY29uZHMpfHwwKS1OdW1iZXIoYi5yZW5kZXJlcj8uYWRCcmVha1NlcnZpY2VSZW5kZXJlcj8ucHJlZmV0Y2hNaWxsaXNlY29uZHN8fDApLGI8VyYmKFc9YikpfVc9Vy01RTM8PW4qMUUzfUQ9Vz8hMTohMH1uPQpEfXJldHVybiBufTsKYU1VPWFzeW5jIGZ1bmN0aW9uKG4pe3JldHVybiBhd2FpdCBjbWIobil9OwpuRGo9ZnVuY3Rpb24obil7dmFyIFc9bi5BLmdldFZpZGVvRGF0YSgpLEQ9bi5PJiYhVy5pc0lubGluZVBsYXliYWNrTm9BZDtuLkEuUygiaHRtbDVfZGVmZXJfbW9kdWxlc19vbl9hZHNfb25seSIpJiYhVy5pc0FkKCkmJihEPSExKTtyZXR1cm4gRH07CmcuYzg9ZnVuY3Rpb24obil7VlkobikmJm4uWCgpO25EaihuKSYmKHc5KG4sImNhcHRpb25zIiwhMCksdzkobiwiZW5kc2NyZWVuIiksbi5OKCksdzkobiwiY3JlYXRvcmVuZHNjcmVlbiIsITApKX07CmFHPWZ1bmN0aW9uKG4sVyxEKXtmb3IobGV0IGIgb2YgV0VpKXtsZXQgdj1uLk5pLmdldChiKTt2JiYoRHx8di5oVihXKSkmJihnLkNwKHYpLG4uTmkuZGVsZXRlKGIpKX1uLkEuV0ooIm1vZHVsZXNEZXN0cm95ZWQiLFcpfTsKRHJaPWZ1bmN0aW9uKG4pe3JldHVybiBKZSgoKT0+bi5OaS5nZXQoImFzbWpzIik/P2FNVShuKSl9OwpWTE09ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNDUklQVCIpLGs9ITE7Zm9yKGxldCBIPTA7SDx2Lmxlbmd0aDtIKyspe2xldCBBPXZbSF07aWYoQS5zcmM9PT1XfHxBLmdldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiKT09PVcpdmFyIGg9QX1ofHwoaD1nLnpGKCJTQ1JJUFQiKSxoLnNldEF0dHJpYnV0ZSgiZGF0YS1vcmlnaW5hbC1zcmMiLFcpLGs9ITApO3ZhciB4PSgpPT57bi5xTigpfHxELmNhbGwobil9LEw9KCk9PntuLnFOKCl8fGIuY2FsbChuKX0sZT1oLm9ubG9hZDsKaC5vbmxvYWQ9SD0+e2cuVDcoeCk7ZSYmZS5hcHBseSh3aW5kb3csW0hdKX07CnZhciBHPWgub25lcnJvcjtoLm9uZXJyb3I9SD0+e2lmKE1hdGgucmFuZG9tKCk8LjAxKXtsZXQgQT1uZXcgZy5ReCgiVW5hYmxlIHRvIGxvYWQgcGxheWVyIG1vZHVsZSIsVyxkb2N1bWVudC5sb2NhdGlvbiYmZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luKTtnLlhqKEEpfWcuVDcoTCk7RyYmRyhIKX07CnZhciByPWgsTj1yLm9ucmVhZHlzdGF0ZWNoYW5nZTtyLm9ucmVhZHlzdGF0ZWNoYW5nZT1IPT57c3dpdGNoKHIucmVhZHlTdGF0ZSl7Y2FzZSAibG9hZGVkIjpjYXNlICJjb21wbGV0ZSI6Zy5UNyh4KX1OJiZOKEgpfTsKayYmKCh2PW4uQS5HKCkuY3NwTm9uY2UpJiZoLnNldEF0dHJpYnV0ZSgibm9uY2UiLHYpLGcuUE0oaCxmdyhXKSksdj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5ib2R5LHYuaW5zZXJ0QmVmb3JlKGgsdi5maXJzdENoaWxkKSxuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57aC5wYXJlbnROb2RlJiZoLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaCl9KSl9OwpXYz1mdW5jdGlvbihuLFcsRCl7bi5xTigpO3ZhciBiPW5PKG4pO0Q/KG4uSnw9VyxXJjEmJm4uRC5zdGFydCgpLFcmMiYmbi5PLnN0YXJ0KCksVyYyMDQ4JiZuLmNKLnN0YXJ0KCkpOihuLkomPX5XLFcmMSYmbi5ELnN0b3AoKSxXJjImJm4uTy5zdG9wKCksVyYyMDQ4JiZuLmNKLnN0b3AoKSxXJjUxMiYmbi50dy5zdG9wKCkpO24uSiY1MTImJiEobi5KJjEyOCkmJmcuSmEobi50dyxuLlZRKTtXPW5PKG4pO2IhPT1XJiZuLldKKCJhdXRvaGlkZXVwZGF0ZSIsVyl9OwpibFo9ZnVuY3Rpb24obil7V2Mobiw0LCExKTtuLksmJihuLk4ud0gobi5LKSxuLks9bnVsbCxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKTtuLlcmJihuLk4ud0gobi5XKSxuLlc9bi5OLk5OKG4udGFyZ2V0LCJtb3VzZW92ZXIiLG4uWjEpKX07Cm5PPWZ1bmN0aW9uKG4pe3ZhciBXPW4uSjtuLmFwaS5HKCkuZlImJihXJj0tMTI5KTtuLmFwaS5TKCJ3ZWJfcGxheWVyX2RlZmF1bHRfYXV0b2hpZGUiKSYmKFcmPS01MTMpO3JldHVybiFXfTsKdkQxPWZ1bmN0aW9uKG4sLi4uVyl7dmFyIEQ9bi5hcGkuRygpO2ZvcihsZXQgayBvZiBXKXtpZigha3x8ayBpbnN0YW5jZW9mIGcuVXImJiFrLnZpZGVvSWQpY29udGludWU7dmFyIGI9bi5hcGkubGooKS5nZXRQbGF5ZXJTaXplKCk7dmFyIHY9Zy5IXygpO1c9Yi53aWR0aCp2O3YqPWIuaGVpZ2h0O2lmKFc+MTI4MHx8dj43MjApaWYoYj1rLkdCKCJtYXhyZXNkZWZhdWx0LmpwZyIpKWJyZWFrO2lmKFc+NjQwfHx2PjQ4MClpZihiPWsuR0IoIm1heHJlc2RlZmF1bHQuanBnIikpYnJlYWs7aWYoVz4zMjB8fHY+MTgwKWlmKGI9ay5HQigic2RkZWZhdWx0LmpwZyIpfHxrLkdCKCJocWRlZmF1bHQuanBnIil8fGsuR0IoIm1xZGVmYXVsdC5qcGciKSlicmVhaztpZihiPWsuR0IoImRlZmF1bHQuanBnIikpYnJlYWt9Zy4kNihEKSYmKEQ9bmV3IEltYWdlLEQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9Pnt5U2goKX0pLEQuc3JjPWI/YjoiIixuLmFwaS5lRygpLnRpY2soImZ0ciIpKTsKbi5ZLnN0eWxlLmJhY2tncm91bmRJbWFnZT1iP2B1cmwoJHtifSlgOiIifTsKa1cxPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8bi5rZXlzLmxlbmd0aDtXKyspbi53SChuLmtleXNbV10pO24ua2V5cz1bXX07CmJzPWZ1bmN0aW9uKG4sVyxELGI9ITEsdj0hMSxrLGg9ITApe3Z8fCh2PW4uYXBpLkcoKS5KKTt2YXIgeD1uLmFwaS5nZXRWaWRlb0RhdGEoKTtXPWVCKGcuRHVbV118fCIiLGI/e0NQTjp4LmNsaWVudFBsYXliYWNrTm9uY2V9Ont9KS5zcGxpdCgvXCQoQkVHSU58RU5EKV9MSU5LLyk7Yj1bXTtrJiZiLnB1c2goe1o6ImgyIixPcTprfSk7Yi5wdXNoKFdbMF0pO2gmJmIucHVzaCh7WjoiYnIifSk7Yi5wdXNoKHtaOiJhIix4YTp7aHJlZjpELHRhcmdldDp2PyJfYmxhbmsiOm51bGx9LEp3OiJ5dHAtZXJyb3ItbGluayIsT3E6V1syXX0pO24uaj0hMDtiLnB1c2goV1s0XSk7cmV0dXJue1o6InNwYW4iLFhGOmJ9fTsKdmM9ZnVuY3Rpb24obil7bj1uLnNwbGl0KGgwWik7dmFyIFc9W107Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKz0zKXtsZXQgYj1uW0QrK10uc3BsaXQoIlxuIik7Vy5wdXNoKGJbMF0pO2ZvcihsZXQgdj0xO3Y8Yi5sZW5ndGg7disrKVcucHVzaCh7WjoiYnIifSksVy5wdXNoKGJbdl0pO0Q8bi5sZW5ndGgmJlcucHVzaCh7WjoiYSIseGE6e2hyZWY6bltEXSx0YXJnZXQ6bltEKzFdfSxPcTpuW0QrMl19KX1yZXR1cm57Wjoic3BhbiIsWEY6V319Owp4cnQ9ZnVuY3Rpb24obixXKXt2YXIgRD1uLmVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKTtmb3IobGV0IGI9MDtiPEQubGVuZ3RoO2IrKyl7bGV0IHY9bi5OTihEW2JdLCJjbGljayIsVyk7bi5rZXlzLnB1c2godil9fTsKa0k9ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9TnVtYmVyKFcuZ2V0QXR0cmlidXRlKCJkYXRhLW92ZXJsYXktb3JkZXIiKSl8fDAsaz0wLGg9bnVsbDtmb3IobGV0IHggb2YgRC5jaGlsZHJlbil7aWYoYiYmeC5jbGFzc0xpc3QuY29udGFpbnMoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSl7aD14O2JyZWFrfWlmKHY8KE51bWJlcih4LmdldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIikpfHwwKSlicmVhaztrKyt9aD9rSShuLFcsaCwhMSk6Yj8obj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuLmNsYXNzTGlzdC5hZGQoInl0cC1vdmVybGF5LWlubGluZS1jb250YWluZXIiKSxuLnNldEF0dHJpYnV0ZSgiZGF0YS1vdmVybGF5LW9yZGVyIixgJHt2fWApLGg9bixoLmFwcGVuZENoaWxkKFcpLGcuanAoRCxoLGspKTpnLmpwKEQsVyxrKX07CmUwQz1mdW5jdGlvbihuLFcpe3ZhciBEPXREKFcpLGI9JHAoVyk7Vy5EbCYmbi5BLkpuKCl8fChuLk58fG4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iik/Vy52aWRlb0lkJiZXLnZpZGVvSWQhPT1uLnZpZGVvSWQmJihuLk4/LmplKCksIW4uQS5TKCJlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4Iil8fEQmJmI/KG4udmlkZW9JZD1XLnZpZGVvSWQsbi5LPSEhYixuLksmJkQmJkxFcihuLGIsRCxXKSk6bi5LPSExKTpEJiZiJiYhbi5BLlMoImVuYWJsZV9wYWlkX2NvbnRlbnRfb3ZlcmxheV9idWdmaXgiKSYmTEVyKG4sYixELFcpKX07CmdEeD1mdW5jdGlvbihuLFcpe24uTiYmKFcuTig4KSYmbi5LPyhuLks9ITEsbi5XP24uVy5zdGFydCgpOm4uaigpKTooVy5OKDIpfHxXLk4oNjQpKSYmbi52aWRlb0lkJiYobi52aWRlb0lkPW51bGwsbi5XJiZuLlcuc3RvcCgpKSl9OwpMRXI9ZnVuY3Rpb24obixXLEQsYil7bi5OJiZuLk4uZGlzcG9zZSgpO24uTj1uZXcgZy5mXyhuLnV5LFcsbik7Zy51KG4sbi5OKTtiPUdlKGIpO1c9Yj8ubmF2aWdhdGlvbkVuZHBvaW50O2I9Yj8uaWNvbj8uaWNvblR5cGU7dmFyIHY9Zy53KFcsZy5Qaik/LnVybDtuLkEuc2V0VHJhY2tpbmdQYXJhbXMobi5lbGVtZW50LFc/LmNsaWNrVHJhY2tpbmdQYXJhbXN8fG51bGwpO1cmJiF2PyhuLmlubmVydHViZUNvbW1hbmQ9Vyx2PSIjISIpOm4uaW5uZXJ0dWJlQ29tbWFuZD1udWxsO24uVi51cGRhdGUoe2hyZWY6dj8/IiMiLHRleHQ6RCxpY29uOmI9PT0iTU9ORVlfSEFORCI/e1o6InN2ZyIseGE6e2ZpbGw6Im5vbmUiLGhlaWdodDoiMTAwJSIsdmlld0JveDoiMCAwIDI0IDI0Iix3aWR0aDoiMTAwJSJ9LFhGOlt7WjoicGF0aCIseGE6e2Q6Ik02IDlINVY1VjRINkgxOVY1SDZWOVpNMjEuNzIgMTYuMDRDMjEuNTYgMTYuOCAyMS4xNSAxNy41IDIwLjU1IDE4LjA1QzIwLjQ3IDE4LjEzIDE4LjQyIDIwLjAxIDE0LjAzIDIwLjAxQzEzLjg1IDIwLjAxIDEzLjY3IDIwLjAxIDEzLjQ4IDIwQzExLjMgMTkuOTIgOC41MSAxOS4yMyA1LjQgMThIMlYxMEg1SDZIN1Y2SDIxVjEzSDE2LjcyQzE2LjM3IDEzLjU5IDE1Ljc0IDE0IDE1IDE0SDEyLjdDMTMuMDEgMTQuNDYgMTMuNTYgMTUgMTQuNSAxNUgxNS4wMkMxNi4wNyAxNSAxNy4xIDE0LjY0IDE3LjkyIDEzLjk4QzE4LjgyIDEzLjI2IDIwLjAzIDEzLjIyIDIwLjkxIDEzLjg0QzIxLjU4IDE0LjMyIDIxLjkgMTUuMTkgMjEuNzIgMTYuMDRaTTE1IDEwQzE1IDkuNDUgMTQuNTUgOSAxNCA5QzEzLjQ1IDkgMTMgOS40NSAxMyAxMEgxNVpNMjAgMTFDMTkuNDUgMTEgMTkgMTEuNDUgMTkgMTJIMjBWMTFaTTE5IDdDMTkgNy41NSAxOS40NSA4IDIwIDhWN0gxOVpNOCA4QzguNTUgOCA5IDcuNTUgOSA3SDhWOFpNOCAxMEgxMkMxMiA4LjkgMTIuOSA4IDE0IDhDMTUuMSA4IDE2IDguOSAxNiAxMFYxMC4yOEMxNi41OSAxMC42MyAxNyAxMS4yNiAxNyAxMkgxOEMxOCAxMC45IDE4LjkgMTAgMjAgMTBWOUMxOC45IDkgMTggOC4xIDE4IDdIMTBDMTAgOC4xIDkuMSA5IDggOVYxMFpNNSAxMy41VjExSDNWMTdINVYxMy41Wk0yMC4zMyAxNC42NkMxOS44MSAxNC4yOSAxOS4xIDE0LjMxIDE4LjYgMTQuNzFDMTcuNTUgMTUuNTYgMTYuMjkgMTYgMTUuMDIgMTZIMTQuNUMxMi42MiAxNiAxMS42NyAxNC40NiAxMS40MyAxMy42NEwxMS4yNCAxM0gxNUMxNS41NSAxMyAxNiAxMi41NSAxNiAxMkMxNiAxMS40NSAxNS41NSAxMSAxNSAxMUg2VjEzLjVWMTcuMTZDOC45IDE4LjI5IDExLjUgMTguOTMgMTMuNTIgMTlDMTcuODUgMTkuMTUgMTkuODUgMTcuMzQgMTkuODcgMTcuMzJDMjAuMzMgMTYuOSAyMC42MiAxNi40IDIwLjc0IDE1Ljg0QzIwLjg0IDE1LjM3IDIwLjY4IDE0LjkxIDIwLjMzIDE0LjY2WiIsCmZpbGw6IndoaXRlIn19XX06bnVsbCxjaGV2cm9uOnZ8fG4uaW5uZXJ0dWJlQ29tbWFuZD9nLk9GKCk6bnVsbH0pfTsKWFBpPWZ1bmN0aW9uKG4pe24uVnx8KG4uVj0hMCxuLmFwaS5sb2dWaXNpYmlsaXR5KG4uZWxlbWVudCwhMCkpfTsKcW8yPWZ1bmN0aW9uKG4pe3ZhciBXPW9LKCkmJkV6KCk+PTY3JiYhbi5hcGkuRygpLnR3O249bi5hcGkuRygpLmRpc2FibGVPcmdhbmljVWk7cmV0dXJuIWcudWIoInRpemVuIikmJiFnLldYJiYhVyYmIW59OwpoaD1mdW5jdGlvbihuKXt2YXIgVz0hIW4uVjImJiFYeihuLmFwaSkmJiFuLmt0O3ZhciBEPW4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yLGI9bi5hcGkuRygpO0Q/KGI9VEcobi5hcGkuSjUoKSksVz1XJiZiLmpRKCkpOihEPWIuUygid2ViX3BsYXllcl9pbWF4X3RoZWF0ZXJfbW9kZSIpJiZuLmFwaS5RMCgpJiYhbi5hcGkuaXNJbmxpbmUoKSxXPVcmJihiLnNafHxEfHxuLmFwaS5pc0Z1bGxzY3JlZW4oKXx8Yi5neSkpO24uQTAhPT1XJiYobi5BMD1XLGcuaUgobi5hcGkuZ2V0Um9vdE5vZGUoKSwieXRwLWhpZGUtaW5mby1iYXIiLCFXKSl9OwpHV2I9ZnVuY3Rpb24obixXKXtpZighVylyZXR1cm4hMTt2YXIgRD1uLmFwaS5oNSgpO2lmKEQuSygpJiYoRD1ELmVfKCkpJiZnLkJ4KEQsVykpcmV0dXJuIEQuY29udHJvbHM7Zm9yKEQ9MDtEPG4uSW4ubGVuZ3RoO0QrKylpZihnLkJ4KG4uSW5bRF0sVykpcmV0dXJuITE7Zm9yKGxldCBiIG9mIG4ua1gpaWYoZy5LXyhXLGIpKXJldHVybiExO3JldHVybiBXPT09bi5hcGkuZ2V0Um9vdE5vZGUoKT8hMTohMH07CnRrMT1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpPT09MiYmKG4uYXBpLmxqKCkud0Z8fG4uYXBpLkcoKS5kaXNhYmxlT3JnYW5pY1VpKSYmbi5hcGkuRygpLmomJnhJJiZ2aj49MTE7bj1uLmFwaS5HKCkudHcmJnhJO3JldHVybiEoIVcmJiFuKX07CkxPPWZ1bmN0aW9uKG4sVyl7bi5qSi5MaigpO2lmKG4uYlcmJm4uUCQpbi5QJD0hMTtlbHNlIGlmKCFuLmFwaS5HKCkuc1YmJiFuLmVoKCkpe2xldCBEPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCk7RC5OKDIpJiZxcChuLmFwaSl8fG4uc2hvd1BsYXliYWNrSWNvbihEKTtXJiYkck0obixXKT9yZVMobik6IW4uYXBpLkcoKS5SdHx8RC5pc0N1ZWQoKXx8RC5OKDEwMjQpP24uUGIoKTpuLmVOLmlzQWN0aXZlKCk/bi5lTi5zdG9wKCk6bi5lTi5zdGFydCgpfX07CmVzPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIW4uYXBpLmlzSW5saW5lKCkmJiFHV2IobixBTyhXKSkmJmYyKFcpfTsKZ2Y9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5hcGkuZ2V0VmlkZW9EYXRhKCk/Lm11dGVkQXV0b3BsYXkmJlcudGFyZ2V0Py5jbGFzc05hbWU/LmluY2x1ZGVzKCJ5dHAtaW5mby1wYW5lbCIpPyExOmYyKFcpJiZuLmFwaS5pc011dGVkQnlNdXRlZEF1dG9wbGF5KCk/KG4uYXBpLnVuTXV0ZSgpLG4uYXBpLmdldFByZXNlbnRpbmdQbGF5ZXJUeXBlKCk9PT0yJiZuLmFwaS5wbGF5VmlkZW8oKSxXPW4uYXBpLmdldFBsYXllclN0YXRlT2JqZWN0KCksIVcuTig0KXx8Vy5OKDgpfHxXLk4oMil8fG4uUGIoKSwhMCk6ITF9Owokck09ZnVuY3Rpb24obixXKXtpZighbi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfaW52aXNpYmxlX2Z1bGxzY3JlZW5fYnV0dG9uIikpcmV0dXJuITE7dmFyIEQ9bi5hcGkuZ2V0Um9vdE5vZGUoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihXLnRhcmdldFRvdWNoZXMmJlcudGFyZ2V0VG91Y2hlcy5sZW5ndGgpe3ZhciBiPVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRYO3ZhciB2PVcudGFyZ2V0VG91Y2hlc1swXS5jbGllbnRZfWVsc2UgVy5jbGllbnRYIT09dm9pZCAwJiYoYj1XLmNsaWVudFgsdj1XLmNsaWVudFkpO3JldHVybiBiIT09dm9pZCAwJiZ2IT09dm9pZCAwJiYoVz1iLUQubGVmdCxEPXYtRC50b3Asbj1uLmFwaS5nZXRQbGF5ZXJTaXplKCksRD49bi5oZWlnaHQtNDAmJlc+PW4ud2lkdGgtNDApPyEwOiExfTsKcmVTPWZ1bmN0aW9uKG4pe2lmKG4uYXBpLkcoKS5SdCYmbi5hcGkuZ2V0UHJlc2VudGluZ1BsYXllclR5cGUoKSE9PTMpdHJ5e24uYXBpLnRvZ2dsZUZ1bGxzY3JlZW4oKS5jYXRjaChXPT57c2pTKFcpfSksbi5hcGkuUygid2ViX3BsYXllcl9mdWxsc2NyZWVuX2RvdWJsZV9jbGlja192ZSIpJiZuLmFwaS5sb2dDbGljayhuLmFwaS5saigpLmVsZW1lbnQpfWNhdGNoKFcpe3NqUyhXKX19OwpzalM9ZnVuY3Rpb24obil7U3RyaW5nKG4pLmluY2x1ZGVzKCJmdWxsc2NyZWVuIGVycm9yIik/Zy5HcShuKTpnLlhqKG4pfTsKTl9oPWZ1bmN0aW9uKG4sVyxEKXtuLmFwaS5pc0Z1bGxzY3JlZW4oKT9EPDEtVyYmbi5hcGkudG9nZ2xlRnVsbHNjcmVlbigpOkQ+MStXJiZuLmFwaS50b2dnbGVGdWxsc2NyZWVuKCl9OwpZb0M9ZnVuY3Rpb24oKXtwUGp8fCh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihYdz8idG91Y2hzdGFydCI6ImNsaWNrIiwoKT0+e2ZvcihsZXQgbj1xSy5sZW5ndGg7bjw0O24rKyl7bGV0IFc9Zy56RigiVklERU8iKTtXLmxvYWQoKTtxSy5wdXNoKG5ldyBnLkdWKFcpKX19LHtjYXB0dXJlOiEwLApwYXNzaXZlOiEwfSkscFBqPSEwKX07CnRoPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQuZ2V0VmlkZW9EYXRhKCksaz1XLmdldFZpZGVvRGF0YSgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5pc0Vycm9yKCkpcmV0dXJue21zZzoicGxheWVyLWVycm9yIn07dmFyIGg9ay5XO2lmKFcub3QoKT5iLzFFMysxKXJldHVybnttc2c6ImluLXRoZS1wYXN0In07aWYoay5pc0xpdmVQbGF5YmFjayYmIWlzRmluaXRlKGIpKXJldHVybnttc2c6ImxpdmUtaW5maW5pdGUifTtiPVcuaDUoKTt2YXIgeD1udWxsO2ImJih4PWIuaXNWaWV3KCk/Yi5tZWRpYUVsZW1lbnQuVigpOmIuVigpKTtpZih4JiZ4Lmxlbmd0aD4xMiYmZy5xdSh2KSlyZXR1cm57bXNnOiJwbGF5ZWQtcmFuZ2VzIn07aWYoIXYuVylyZXR1cm4gbnVsbDtpZighaClyZXR1cm57bXNnOiJuby1wdmQtZm9ybWF0cyJ9O2lmKCF2LlcuTigpfHwhaC5OKCkpcmV0dXJue21zZzoibm9uLWRhc2gifTtiPWgudmlkZW9JbmZvc1swXTt4PXYuVy52aWRlb0luZm9zWzBdO24uVEMmJkFKKGspJiYKKGI9Vy5veSgpLHg9RC5veSgpKTtpZighYnx8IXgpcmV0dXJue21zZzoibm8tdmlkZW8taW5mbyJ9O2lmKG4uTyYmKGIuTVcoKXx8eC5NVygpKSlyZXR1cm57bXNnOiJhdjEifTtXPW4uWSYmay5OUCgpJiZWVCgpO2lmKHguY29udGFpbmVyVHlwZSE9PWIuY29udGFpbmVyVHlwZSlpZihXKWsuVSgic2dhcCIse2llcnI6ImNvbnRhaW5lciJ9KTtlbHNlIHJldHVybnttc2c6ImNvbnRhaW5lciJ9O2lmKG4uRCYmIVcmJih4LklCIT09Yi5JQnx8eC5JQj09PSIifHxiLklCPT09IiIpKXJldHVybnttc2c6ImNvZGVjIn07aWYobi5jSiYmeC52aWRlbyYmYi52aWRlbyYmTWF0aC5hYnMoeC52aWRlby53aWR0aC94LnZpZGVvLmhlaWdodC1iLnZpZGVvLndpZHRoL2IudmlkZW8uaGVpZ2h0KT4uMDEpcmV0dXJue21zZzoicmF0aW8ifTtpZihnLnF1KGspJiZnLnF1KHYpKXJldHVybnttc2c6ImNvbnRlbnQtcHJvdGVjdGlvbiJ9O2g9aC5KWzBdO3Y9di5XLkpbMF07RD1oLmF1ZGlvO3ZhciBMPXYuYXVkaW87CmlmKEQuc2FtcGxlUmF0ZSE9PUwuc2FtcGxlUmF0ZSYmIWcub2QpaWYoVylrLlUoInNnYXAiLHtpZXJyOiJzcmF0ZSJ9KTtlbHNlIHJldHVybnttc2c6InNhbXBsZS1yYXRlIixjaTpoLml0YWcsY3I6RC5zYW1wbGVSYXRlLG5pOnYuaXRhZyxucjpMLnNhbXBsZVJhdGV9O3JldHVybihELm51bUNoYW5uZWxzfHwyKSE9PShMLm51bUNoYW5uZWxzfHwyKT97bXNnOiJjaGFubmVsLWNvdW50In06bi50dyYmay5OUCgpJiZiLnZpZGVvLmZwcyE9PXgudmlkZW8uZnBzP3ttc2c6ImZwcyJ9Om51bGx9OwpIbEM9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uZ2V0VmlkZW9EYXRhKCksdj1XLmdldFZpZGVvRGF0YSgpO2lmKCFiLkcoKS5zdXBwb3J0c0dhcGxlc3NTaG9ydHMoKSlyZXR1cm57bnE6ImVudiJ9O2lmKCEoRC5iZCYmIShiLkd1JiYhYi5pc0FkKCl8fHYuR3UmJiF2LmlzQWQoKSl8fEQuViYmKCFiLkd1fHxiLmlzQWQoKSkmJiF2Lkd1fHxELksmJighdi5HdXx8di5pc0FkKCkpJiYhYi5HdXx8Yi52SigpJiZ2LnZKKCkmJiFiLmlzQWQoKXx8IWIuR3UmJiF2Lkd1KSlyZXR1cm57bnE6ImF1dG9wbGF5In07aWYoYi5lbmRTZWNvbmRzPjApcmV0dXJue25xOiJlbmRjciJ9O2lmKCFiLkspcmV0dXJue25xOiJjbGllbnQifTtpZighbi5kVCgpKXJldHVybntucToibm8tZW1wdHkifTtuPXRoKEQsbixXLEluZmluaXR5KTtyZXR1cm4gbiE9bnVsbD97bnE6bi5tc2d9Om51bGx9OwokST1mdW5jdGlvbihuKXtuLkomJm4uTiYmKG4uSi51bnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsbi5YLG4pLG4uTi51bnN1YnNjcmliZSgiZGF0YWxvYWRlZCIsbi5YLG4pKX07CkFldD1mdW5jdGlvbihuKXt2YXIgVz1uZXcgZlloO1cuWT1uLlMoImg1X2dhcGxlc3Nfc3VwcG9ydF90eXBlc19kaWZmIik7Vy50dz0hMTtXLlRDPW4uUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4Iik7Vy5PPW4uUygiaHRtbDVfZ2FwbGVzc19kaXNhYmxlX29uX2F2MSIpJiYhbi5TKCJodG1sNV9nYXBsZXNzX2VuYWJsZV9vbl9hdjEiKTtXLkQ9bi5TKCJodG1sNV9nYXBsZXNzX2NoZWNrX2NvZGVjX2RpZmZfc3RyaWN0bHkiKTtXLmJkPW4uUygiaHRtbDVfZ2FwbGVzc19vbl9hZF9hdXRvcGxheSIpO1cuY0o9bi5TKCJodG1sNV9nYXBsZXNzX2Rpc2FibGVfZGlmZl9hc3BlY3RfcmFkaW8iKTtXLlY9bi5TKCJodG1sNV9nYXBsZXNzX2FkX2F1dG9wbGF5X29uX2FkX3RvX3ZpZGVvX29ubHkiKSYmIW4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIik7Vy5XPW4uUygiaHRtbDVfcHNldWRvZ2FwbGVzc19zaG9ydHNfc2Vla190b19uZXh0X3N0YXJ0Iik7Clcuaj1uLlp0KCkuTi5RUShKZTEpO1cuSz1uLlMoImh0bWw1X2dhcGxlc3NfYWRfYXV0b3BsYXlfb25fdmlkZW9fdG9fYWRfb25seSIpO1cuTj1OdW1iZXIobi5adCgpLk4uUVEoSVlpKSk7Vy5KPWcuZE0obi5leHBlcmltZW50cywiaHRtbDVfc2hvcnRzX2dhcGxlc3NfbmV4dF9idWZmZXJfaW5fc2Vjb25kcyIpPz9XLko7Vy5YPU51bWJlcihuLlp0KCkuTi5RUShTb1MpPz9XLlgpO3JldHVybiBXfTsKcmY9ZnVuY3Rpb24obixXKXtXPD1uLnN0YXR1cy5zdGF0dXN8fChuLnN0YXR1cz17c3RhdHVzOlcsZXJyb3I6bnVsbH0sVz09PTUmJm4uQ1IucmVzb2x2ZSgpKX07Cm1yaj1mdW5jdGlvbihuLFcsRCxiKXtuPW4uaXNWaWV3KCk/bi5tZWRpYUVsZW1lbnQ6bjtyZXR1cm4gbmV3IGcuc2cobixXLEQsYil9OwpLRWg9YXN5bmMgZnVuY3Rpb24obil7aWYobi5xTigpKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8ImRpc3Bvc2VkIikpO24udGltZW91dC5zdGFydCgpO2F3YWl0IG4uQ1I7dmFyIFc9bi5OLmg1KCk7aWYoVy5pc0VuZGVkKCkpcmV0dXJuIG4uS2coImVuZGVkX2luX2ZpbmlzaFRyYW5zaXRpb24iKSxQcm9taXNlLnJlamVjdChFcnJvcihuLnN0YXR1cy5lcnJvcnx8IiIpKTtpZighbi5BYnx8IW42KG4uQWIpKXJldHVybiBuLlYmJm4uTi5VKCJubWMiLHtubXM6ISFuLkFiLG5tcnM6bi5BYj8uVygpfSksbi5LZygibmV4dF9tc2VfY2xvc2VkIiksUHJvbWlzZS5yZWplY3QoRXJyb3Iobi5zdGF0dXMuZXJyb3J8fCIiKSk7aWYobi5KLlV6KCkhPT1uLkFiKXJldHVybiBuLktnKCJuZXh0X21zZV9taXNtYXRjaCIpLFByb21pc2UucmVqZWN0KEVycm9yKG4uc3RhdHVzLmVycm9yfHwiIikpO3ZhciB7SF86RCxSOTpiLEYzOnZ9PW4uSygpO24uTi5jUCghMSwKITApO2lmKG4uVil7dmFyIGs9bi5BYi5OLGg9bi5BYi5KO2suVnUoITApO2guVnUoITApO2lmKGsuaVEoKSl7dmFyIHg9ay5aZygpO2xldCBMPWsuayQuTXIoKTt4JiZ4LnNlZ21lbnRTdGFydFRpbWUrTDxEJiZrLmFib3J0KCl9aC5pUSgpJiYoaz1oLlpnKCkseD1oLmskLk1yKCksayYmay5zZWdtZW50U3RhcnRUaW1lK3g8RCYmaC5hYm9ydCgpKX1uLnBvbGljeS5OPjAmJihuLlZ1KG4uQWIsITApLG4uSi51bCgpKTtoPW1yaihXLEQsdiwhbi5KLmdldFZpZGVvRGF0YSgpLmlzQWQoKSk7bi5KLnNldE1lZGlhRWxlbWVudChoKTsoaz1uLk4uTHAoKSkmJm4uSi5CbihrLkFvLGsud08pO24udHcmJihuLnBvbGljeS5XfHxuLkouc2Vla1RvKG4uSi5nZXRDdXJyZW50VGltZSgpKy4wMDEse0E5OiEwLFpVOjMscWQ6ImdhcGxlc3NfcHNldWRvIn0pLGgucGxheSgpKTtXPVcueXIoKTtXLmNwbj1uLk4uZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZTtXLnN0PWAke0R9YDtXLmV0PQpgJHt2fWA7bi5KLlUoImdhcGxlc3MiLFcpO24uTi5VKCJnYXBsZXNzVG8iLHtjcG46bi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2V9KTtXPW4uTi5nZXRQbGF5ZXJUeXBlKCk9PT1uLkouZ2V0UGxheWVyVHlwZSgpO24uTi5OMihiLCEwLCExLFcsbi5KLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2Usbi5KLmdldFZpZGVvRGF0YSgpLnZpZGVvSWQpO24uSi5OMihuLkouZ2V0Q3VycmVudFRpbWUoKSwhMCwhMCxXLG4uTi5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlLG4uTi5nZXRWaWRlb0RhdGEoKS52aWRlb0lkKTtuLkouUDIoKTtnLm1LKCgpPT57IW4uSi5nZXRWaWRlb0RhdGEoKS5ZJiZuLkouZ2V0UGxheWVyU3RhdGUoKS5pc09yV2lsbEJlUGxheWluZygpJiZuLkouZTIoKX0pOwpyZihuLDYpO24uZGlzcG9zZSgpO3JldHVybiBQcm9taXNlLnJlc29sdmUoKX07ClBkWj1mdW5jdGlvbihuKXtpZihuLkouZ2V0VmlkZW9EYXRhKCkuVyl7dmFyIFc9bi50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc19zdXNwZW5kX25leHRfbG9hZGVyIikmJm4uaj09PTE7bi5KLm5tKG4uQWIsVyxuLmo9PT0xJiZnLllOKG4uTi5nZXRWaWRlb0RhdGEoKSkpO3JmKG4sMyk7T2xNKG4pO3ZhciB7Z2Q6RCxUYzpifT1OSyhuKTtELnN1YnNjcmliZSgidXBkYXRlZW5kIixuLmVYLG4pO2Iuc3Vic2NyaWJlKCJ1cGRhdGVlbmQiLG4uZVgsbik7bi5lWChEKTtuLmVYKGIpfX07Ck9sTT1mdW5jdGlvbihuKXtuLk4udW5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixuLlgsbik7bi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsbi5YLG4pO24udGIuRygpLlMoImh0bWw1X2dhcGxlc3NfdXNlX2Zvcm1hdF9pbmZvX2ZpeCIpJiYobi5OLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbiksbi5KLnVuc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixuLlgsbikpO24uTi51bnN1YnNjcmliZSgibWVkaWFzb3VyY2VhdHRhY2hlZCIsbi5YLG4pO24uSi51bnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLG4uVEMsbil9OwpOSz1mdW5jdGlvbihuKXtyZXR1cm57Z2Q6bi5XLk4uayQsVGM6bi5XLkouayR9fTsKcE89ZnVuY3Rpb24obixXKXtpZighbilyZXR1cm4hMTt2YXIgRD1uLko7cmV0dXJuIEJSKG4uTj8uWkYoKSxXKSYmQlIoRD8uWkYoKSxXKX07ClpsaT1mdW5jdGlvbihuKXtpZighbilyZXR1cm4hMTt2YXIgVz1uLko7cmV0dXJuIG4uTj8uaVEoKXx8Vz8uaVEoKX07CkVEaj1hc3luYyBmdW5jdGlvbihuKXtpZighbi5xTigpJiZuLlgmJm4uTil7bi5PJiZuLmFwcC5NTigpLmtOKCEwLCExKTt2YXIgVz1udWxsO2lmKG4uVyl0cnl7YXdhaXQgS0VoKG4uVyl9Y2F0Y2goYil7Vz1ifWlmKG4uTiYmKFVydy5jVygidnFzcCIsKCk9PntuLmFwcC5RVChuLk4pfSksbi5OKSl7dmFyIEQ9bi5OLmg1KCk7Cm4uYXBwLkcoKS5TKCJodG1sNV9nYXBsZXNzX3NlZWtfb25fbmVnYXRpdmVfdGltZSIpJiZEJiZELmdldEN1cnJlbnRUaW1lKCk8LS4wMSYmbi5OLnNlZWtUbygwKTtVcncuY1coInZxcHYiLCgpPT57bi5hcHAucGxheVZpZGVvKCl9KTsKVyYmKG4uTj8oVz1XP1cubWVzc2FnZToiZm9yY2VkIixuLko/LlUoImdhcGZ1bGZiayIse3I6V30pLG4uYXBwLkcoKS5adCgpLk4uUVEoeWVpKSYmKG4uTi5nZXRWaWRlb0RhdGEoKS5HUz0hMSksbi5OLk9jKFcpKTpuLko/LlUoImdhcHNwIix7fSkpO1c9bi5YO1lJKG4pO1cmJlcucmVzb2x2ZSgpO1Byb21pc2UucmVzb2x2ZSgpfX19OwpIYz1mdW5jdGlvbihuKXtuLkQmJm4uaiYmbi5ELnJlbW92ZUV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLG4uaik7bi5qPW51bGw7bi5EPW51bGx9OwpZST1mdW5jdGlvbihuLFc9ITEpe2lmKG4uSil7aWYobi5WKXt2YXIgRD1uLko7bi5hcHAuUkIucmVtb3ZlRXZlbnRMaXN0ZW5lcihnLm95KCJ2cXVldWVkIiksbi5ZKTtELnJlbW92ZUN1ZVJhbmdlKG4uVil9bi5KPW51bGw7bi5WPW51bGx9bi5XJiYobi5XLnN0YXR1cy5zdGF0dXMhPT02JiYoRD1uLlcsRC5zdGF0dXMuc3RhdHVzIT09SW5maW5pdHkmJkQuaiE9PTEmJkQuS2coIkNhbmNlbGVkIikpLG4uVz1udWxsKTtuLlg9bnVsbDtuLk4mJiFXJiZuLk4hPT1uLmFwcC5jWCgpJiZuLk4hPT1uLmFwcC5NTigpJiZuLk4uZGlzcG9zZSgpO24uTiYmVyYmbi5OLm15KCk7bi5OPW51bGw7bi5PPSExfTsKdTd0PWZ1bmN0aW9uKG4sVyxEPSEwKXt2YXIgYj1uLmFwcC5NTigpLHY9Yi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjaz9JbmZpbml0eTpiLlBHKCEwKSoxRTM7Vz52JiYoVz12LTIwMCwhbi5hcHAuRygpLlp0KCkuTi5RUShpbGkpfHxEKSYmKG4uTz0hMCk7RCYmYi5nZXRDdXJyZW50VGltZSgpPj1XLzFFMz9uLlkoKToobi5KPWIsRCYmKEQ9VyxXPW4uSixuLmFwcC5SQi5hZGRFdmVudExpc3RlbmVyKGcub3koInZxdWV1ZWQiKSxuLlkpLEQ9aXNGaW5pdGUoRCl8fEQvMUUzPlcuZ2V0RHVyYXRpb24oKT9EOjB4ODAwMDAwMDAwMDAwMCxuLlY9bmV3IGcubDUoRCwweDgwMDAwMDAwMDAwMDAse25hbWVzcGFjZToidnF1ZXVlZCJ9KSxXLmFkZEN1ZVJhbmdlKG4uVikpKX07CmRyTT1mdW5jdGlvbihuLFcsRCxiPTAsdj0wKXtuLmRUKCl8fChIYyhuKSxZSShuKSk7bi5YPW5ldyBZNjtuLk49Vzt1N3QobixELHY9PT0wKTt2YXIgaz1iLz0xRTMsaD1XLmdldFZpZGVvRGF0YSgpLk47aWYoYiYmaCYmbi5KKXtsZXQgeD1iLEw9MDtXLmdldFZpZGVvRGF0YSgpLmlzTGl2ZVBsYXliYWNrJiYoaz1NYXRoLm1pbihELzFFMyxuLkouUEcoITApKSxMPU1hdGgubWF4KDAsay1uLkouZ2V0Q3VycmVudFRpbWUoKSkseD1NYXRoLm1pbihiLFcuUEcoKStMKSk7az1tOHQoaCx4KXx8YjtrIT09YiYmbi5OLlUoInF2YWxuIix7c3Q6YixhdDprLHJtOkwsY3Q6eH0pfVc9aztiPW4uTjtiLmdldFZpZGVvRGF0YSgpLllaPSEwO2IuZ2V0VmlkZW9EYXRhKCkuSz0hMDtiLmd6KCEwKTtoPXt9O24uSiYmKGg9bi5KLmw1KCksaz1uLkouZ2V0VmlkZW9EYXRhKCkuY2xpZW50UGxheWJhY2tOb25jZSxoPXtjcnQ6KGgqMUUzKS50b0ZpeGVkKCksY3BuOmt9KTtiLlUoInF1ZXVlZCIsaCk7VyE9PQowJiZiLnNlZWtUbyhXKy4wMSx7QTk6ITAsWlU6MyxxZDoidmlkZW9xdWV1ZXJfcXVldWVkIn0pO24uVz1uZXcgb0RiKG4uSyxuLmFwcC5NTigpLG4uTixELG4uYXBwLHYpO0Q9bi5XO0Quc3RhdHVzLnN0YXR1cyE9PUluZmluaXR5JiYocmYoRCwxKSxELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZGF0YWNoYW5nZSIsRC5YLEQpLEQuSi5zdWJzY3JpYmUoImludGVybmFsdmlkZW9kYXRhY2hhbmdlIixELlgsRCksRC50Yi5HKCkuUygiaHRtbDVfZ2FwbGVzc191c2VfZm9ybWF0X2luZm9fZml4IikmJihELk4uc3Vic2NyaWJlKCJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIixELlgsRCksRC5KLnN1YnNjcmliZSgiaW50ZXJuYWx2aWRlb2Zvcm1hdGNoYW5nZSIsRC5YLEQpKSxELk4uc3Vic2NyaWJlKCJtZWRpYXNvdXJjZWF0dGFjaGVkIixELlgsRCksRC5KLnN1YnNjcmliZSgic3RhdGVjaGFuZ2UiLEQuVEMsRCksRC5OLnN1YnNjcmliZSgibmV3ZWxlbWVudHJlcXVpcmVkIixELlZRLApEKSxELlgoKSk7cmV0dXJuIG4uWH07CmpqeD1mdW5jdGlvbihuLFcpe2lmKG4uYXBwLkcoKS5adCgpLk4uUVEoejBpKSl7dmFyIEQ9bi5hcHAuRygpLlp0KCkuTi5RUShsWWgpO2lmKCEoRDw9MCkpe0hjKG4pO3ZhciBiPW4uYXBwLk1OKCk/Lmg1KCk7YiYmbi5OJiYobi5hcHAuRygpLlp0KCkuTi5RUShUX0MpP24uTi5nZXRWaWRlb0RhdGEoKS5Sbz0hMDpuLk4uZ2V0VmlkZW9EYXRhKCkuR1M9ITAsbi5qPSgpPT57dmFyIHY9Yi5nZXRDdXJyZW50VGltZSgpO3Y+PVcrRC8xRTMmJih2PURhdGUubm93KCktKHYtVykqMUUzLG4uYXBwLmVHKCkudGljaygicGJzIix2KSxIYyhuKSl9LG4uRD1iLGIuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsbi5qKSl9fX07CkNkaj1mdW5jdGlvbihuLFcsRCl7aWYobi5kVCgpKXJldHVybiJxaWUiO2lmKG4uTj09bnVsbHx8bi5OLnFOKCl8fG4uTi5nZXRWaWRlb0RhdGEoKT09bnVsbClyZXR1cm4icXBkIjtpZihXLnZpZGVvSWQhPT1uLk4uRTEoKSlyZXR1cm4idmlubSI7aWYoKG4uVz8uYmQoKXx8LTEpPD0wKXJldHVybiJpdmQiO2lmKEQhPT0xKXJldHVybiJ1cHQiO249bi5XPy5lJCgpO3JldHVybiBuIT1udWxsP246bnVsbH07CkpoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKTtuLmRhdGEuZm9yRWFjaChEPT57RC5leHBpcmU8VyYmZk8obixELCEwKX0pOwpuLmRhdGE9Zy5FTShuLmRhdGEsRD0+IShELmV4cGlyZTxXKSl9OwpJZT1mdW5jdGlvbihuKXtuLk4uc3RvcCgpO3ZhciBXPUluZmluaXR5O2ZvcihsZXQgRCBvZiBuLmRhdGEpRC5leHBpcmU8VyYmKFc9RC5leHBpcmUpO1cmJmlzRmluaXRlKFcpJiYoVz1NYXRoLm1heChXLURhdGUubm93KCksMTAwKSxuLk4uc3RhcnQoVykpfTsKQl9DPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uLmRhdGEuZmluZCh2PT52LmtleT09PVcpOwpiJiYoRCo9MUUzLGIuZXhwaXJlPSgwLGcuUikoKStELEllKG4pKX07CnNGPWZ1bmN0aW9uKG4pe0poKG4pO3JldHVybiBuLmRhdGEubWFwKFc9PlcudmFsdWUpfTsKZk89ZnVuY3Rpb24obixXLEQpe0QmJm4uSiYmbi5KKFcudmFsdWUpfTsKRkVaPWZ1bmN0aW9uKG4pe3ZhciBXPW4uTj9bbi5OXTpbXTtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLmopKUQuZGlzcG9zZSgpLG4uS3x8ZGVsZXRlIG4uVltELldOKCldO24uaj17fTtuLk49bnVsbDtuLlk9bnVsbDtuLkQuY2xlYXIoKTtTcyhuLFtdLFcpfTsKU3M9ZnVuY3Rpb24obixXLEQpe3ZhciBiPVtuLkpdO24uTiYmYi5wdXNoKG4uTik7bi5hcGkuV0ooInBsYXliYWNrQ2hhbmdlIix7YWN0aXZlOmIuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKSwKc3RhcnRlZDpXLmZpbHRlcih2PT52LmdldFBsYXllclR5cGUoKSE9PTApLm1hcCh2PT4oe2Nwbjp2LldOKCl9KSksCmVuZGVkOkQuZmlsdGVyKHY9PnYuZ2V0UGxheWVyVHlwZSgpIT09MCkubWFwKHY9Pih7Y3BuOnYuV04oKX0pKX0pfTsKd1AxPWZ1bmN0aW9uKG4sVyl7aWYobi5LKXtmb3IobGV0IEQgb2YgT2JqZWN0LnZhbHVlcyhuLlcpKWlmKEQuV04oKT09PVcpcmV0dXJuIEQ7aWYobi5PPy5XTigpPT09VylyZXR1cm4gbi5PO2lmKHZvaWQgMD09PVcpcmV0dXJuIG51bGw7aWYobi5qW1ddKXJldHVybiBuLmpbV107Zm9yKGxldCBEIG9mIHNGKG4uWCkpaWYoRC5XTigpPT09VylyZXR1cm4gRDtyZXR1cm4gbnVsbH1pZihuLmFwaS5HKCkuWnQoKS5OLlFRKGcuQWgpKXJldHVybiBuLlZbV118fG51bGw7Zm9yKGxldCBEIG9mIE9iamVjdC52YWx1ZXMobi5XKSlpZihELldOKCk9PT1XKXJldHVybiBEO3JldHVybiBuLmpbV118fG51bGx9OwpNa009ZnVuY3Rpb24obixXLEQsYil7dmFyIHY9RC5nZXRWaWRlb0RhdGEoKTtpZighdi5saXZlUHJlbG9hZCl7dmFyIGs9KCk9PntpZihuLlguZ2V0KFcpPT09RCl7dmFyIGg9di5nZXRQbGF5ZXJSZXNwb25zZSgpO2gmJihoPWgucmVzcG9uc2VDb250ZXh0Py5jYWNoZUluc3RydWN0aW9uPy5tYXhBZ2VTZWNvbmRzPz9oLnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcz8/dm9pZCAwLGghPT12b2lkIDAmJihoPGImJkQuVSgidHRsZCIse3ByZXY6Yi50b1N0cmluZygpLCJuZXciOmgudG9TdHJpbmcoKX0pLGg9PT0wP24uWC5yZW1vdmUoVywhMCk6Ql9DKG4uWCxXLGgpKSl9fTsKaWYodi5pc0xvYWRlZCgpKWsoKTtlbHNle2xldCBoPSgpPT57aygpO3YudW5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfTsKdi5zdWJzY3JpYmUoImRhdGFsb2FkZWQiLGgpfX19OwptUj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9W1ddLHY9bi5OP1tuLk5dOltdO24ualtXLldOKCldPVc7bi5LfHwobi5WW1cuV04oKV09Vyk7bi5OPVc7RCYmKG4uWT1XKTtuLkQuc2V0KCIiLFcpO1NzKG4sYix2KX07CmNlYj1mdW5jdGlvbihuKXt2YXIgVz1uLmV4cGVyaW1lbnRzLEQ9Vy5FcS5iaW5kKFcpO0tPPUQoImh0bWw1X3VzZV9hc3luY19zdG9wVmlkZW8iKTtSMGk9RCgiaHRtbDVfcGF1c2VfZm9yX2FzeW5jX3N0b3BWaWRlbyIpO09nPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO0QoImh0bWw1X2xpc3Rlbl9mb3JfYXVkaW9fb3V0cHV0X2NoYW5nZWQiKSYmKHdVTT0hMCk7REg9RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZSIpfHxEKCJodG1sNV9ub3RfcmVzZXRfbWVkaWFfc291cmNlX25vbl9kcm1fdm9kIik7UWpaPUQoImh0bWw1X25vdF9yZXNldF9tZWRpYV9zb3VyY2UiKXx8RCgiaHRtbDVfbm90X3Jlc2V0X21lZGlhX3NvdXJjZV9ub25fZHJtX3ZvZCIpO1BjPUQoImh0bWw1X3JldGFpbl9zb3VyY2VfYnVmZmVyX2FwcGVuZHNfZm9yX2RlYnVnZ2luZyIpO25WcihEKCJ3ZWJfd2F0Y2hfcGlwIil8fApEKCJ3ZWJfc2hvcnRzX3BpcCIpKTtJdmgoRCgibG9nX2ZvcmVncm91bmRfbm90X2ZvY3VzZWRfYXNfYmFja2dyb3VuZCIpKTtTeXIoRCgid2ViX3BsYXllcl9waXBfbG9nZ2luZ19maXgiKSk7RCgiaHRtbDVfbWVkaWFzdHJlYW1fYXBwbGllc190aW1lc3RhbXBfb2Zmc2V0IikmJihzND0hMCk7bi5XWCgpJiZNRngoKTtFcnJvci5zdGFja1RyYWNlTGltaXQ9NTA7dmFyIGI9Zy5kTShXLCJodG1sNV9pZGxlX3JhdGVfbGltaXRfbXMiKTtiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCJyZXF1ZXN0SWRsZUNhbGxiYWNrIix7dmFsdWU6dj0+d2luZG93LnNldFRpbWVvdXQodixiKX0pOwp3Sngobi5XKTthaU0oRCgiaHRtbDVfdXNlX3VtcF9yZXF1ZXN0X3NsaWNlciIpKTtEKCJodG1sNV9kaXNhYmxlX3N0cmVhbWluZ194aHIiKSYmKE5zPSExKTtEKCJodG1sNV9ieXRlcmF0ZV9jb25zdHJhaW50cyIpJiYoaFQ9ITApO0QoImh0bWw1X3VzZV9ub25fYWN0aXZlX2Jyb2FkY2FzdF9mb3JfcG9zdF9saXZlIikmJihadT0hMCk7RCgiaHRtbDVfZW5hYmxlX2VuY3J5cHRlZF9hdjEiKSYmKFBSPSEwKTtXLlp0KCkuTi5RUShWa3cpJiYoRU49ITApO01wQyhnLmRNKG4uZXhwZXJpbWVudHMsImh0bWw1X3N0aWNreV9kdXJhdGlvbl9tb3MiKSl9Owp5UjE9ZnVuY3Rpb24obil7dmFyIFc9e30sRD1uLmV4cGVyaW1lbnRzLncwKCksYj1bXTtuPShrLGgseCk9PntiLnB1c2goU2soaCh4KSxMPT57V1trXT1MfSkpfTsKdmFyIHY9RC5OLlFRKGFZeCk7diYmbigiTWVkaWFTb3VyY2UuRW5hYmxlVXNpbmdNZWRpYVNvdXJjZUJ1ZmZlcmVkUmFuZ2UiLHFScix2PT09MSk7KHY9RC5OLlFRKG5NdykpJiZuKCJIVFRQMyIsR253LHY9PT0xKTsodj1ELk4uUVEoV2t0KSkmJm4oIk1lZGlhU291cmNlLkVuYWJsZVVzaW5nTWVkaWFTb3VyY2VBdHRhY2htZW50TWV0aG9kcyIsdEZ4LHY9PT0xKTsodj1ELk4uUVEoRERaKSkmJm4oIlFVSUMiLCRMQyx2PT09MSk7KHY9RC5OLlFRKGJSdykpJiZuKCJNZWRpYS5QbGF5ZXJDb25maWd1cmF0aW9uLkRlY29kZVRvVGV4dHVyZVByZWZlcnJlZCIsc2d3LHY9PT0xKTsodj1ELk4uUVEodk1TKSkmJm4oIk1lZGlhLkF1ZGlvV3JpdGVEdXJhdGlvbkxvY2FsIixyYzIsTnVtYmVyKHYpKTsodj1ELk4uUVEoazZ3KSkmJm4oIk1lZGlhLkV4cGVyaW1lbnRhbE1heFBlbmRpbmdCeXRlc1BlclBhcnNlIixLWFosTnVtYmVyKHYpKTsodj1ELk4uUVEoaFVpKSkmJm4oIk1lZGlhLkVuYWJsZUZsdXNoRHVyaW5nU2VlayIsCkpjYixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoeERaKSkmJm4oIkRlY29kZXJCdWZmZXIuRW5hYmxlQ29uZmlndXJhYmxlRGVjb21taXRTdHJhdGVneSIsSXl3LE51bWJlcih2KSk7KHY9RC5OLlFRKExrQykpJiZuKCJEZWNvZGVyQnVmZmVyLlJlbGVhc2VNZW1vcnlPbkJhY2tncm91bmQiLFNSdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZVVVKSkmJm4oIk1lZGlhLkRlY29kZWRBdWRpb0J1ZmZlclBvb2wiLEFjWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZ014KSkmJm4oIk1lZGlhLlZpZGVvRnJhbWVJbXBsUG9vbCIsbUwyLE51bWJlcih2KT09PTEpOyh2PUQuTi5RUShYR1UpKSYmbigiTWVkaWEuRW5hYmxlUmVzZXRBdWRpb0RlY29kZXIiLGZ5VSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocXhoKSkmJm4oIk1lZGlhLkluY3JlbWVudGFsUGFyc2VMb29rQWhlYWQiLEhGWixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoRzYyKSkmJm4oIk1lZGlhLk1heFNhbXBsZXNQZXJXcml0ZSIsCk9GQyxOdW1iZXIodikpOyh2PUQuTi5RUSh0NWkpKSYmbigiTWVkaWEuVmlkZW9EZWNvZGVySW5pdGlhbFByZXJvbGxDb3VudCIsTjBTLHYpOyh2PUQuTi5RUSgkRDEpKSYmbigiTWVkaWEuTWVkaWFDb2RlY1Jlc2V0RGVsYXlNcyIsUFFyLHYpOyh2PUQuTi5RUShyUmkpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbklucHV0QnVmZmVycyIscE50LHYpOyh2PUQuTi5RUShzd2kpKSYmbigiTWVkaWEuVmlkZW9SZW5kZXJlck1pbkRlY29kZWRGcmFtZXMiLFlSdyx2KTsodj1ELk4uUVEoTmRTKSkmJm4oIk1lZGlhLlVzZUR1YWxUaHJlYWRzRm9yVmlkZW8iLHljMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEocEcxKSkmJm4oIk1lZGlhLlZpZGVvQnVmZmVyU2l6ZUNsYW1wTWIiLEV1dCx2KTsodj1ELk4uUVEoWXhyKSkmJm4oIk1lZGlhLjcyMHBWaWRlb0J1ZmZlclNpemVDbGFtcE1iIixpRlUsdik7KHY9RC5OLlFRKEhScikpJiZuKCJNZWRpYS5EaXNhYmxlTG93UGVyZm9ybWFuY2VTb2Z0d2FyZURlY29kZSIsClpGdCxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoZndqKSkmJm4oIk1lZGlhLkVuYWJsZUF2MVN0YXJ0dXBPcHRpbWl6YXRpb24iLFVMMixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSlIxKSkmJm4oIk1lZGlhLkVuYWJsZUxvd0xhdGVuY3kiLGRMaSxOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoSXd4KSkmJm4oIk1lZGlhLkZvcmNlRGVjb2RlVG9UZXh0dXJlIix1cXQsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFN4aSkpJiZuKCJNZWRpYS5Gb3JjZUNsZWFyU3VyZmFjZVZpZXciLG91MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoQVJNKSkmJm4oIk1lZGlhLlNraXBGbHVzaE9uRGVjb2RlclRlYXJkb3duIix6UVMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKG1EaCkpJiZuKCJNZWRpYS5BbGxvd0F1ZGlvV3JpdGluZ09uUGF1c2UiLGx5MixOdW1iZXIodik9PT0xKTsodj1ELk4uUVEoS2tpKSkmJm4oIk1lZGlhLkVuYWJsZVZpZGVvUmVuZGVyZXJWc3BBZGp1c3RtZW50IixUMFUsTnVtYmVyKHYpPT09CjEpOyh2PUQuTi5RUShPUlUpKSYmbigiTWVkaWEuU2tpcFZpZGVvRnJhbWVzT3ZlcjYwRnBzIixqZ2gsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFBoaikpJiZuKCJNZWRpYS5GbHVzaEF1ZGlvVHJhY2tEdXJpbmdTZWVrIixDUUMsTnVtYmVyKHYpPT09MSk7KHY9RC5OLlFRKFpSeCkpJiZuKCJNZWRpYS5CeXBhc3NNb2pvRm9yTWVkaWEiLEIwaixOdW1iZXIodik9PT0xKTsoRD1ELk4uUVEoVUQyKSkmJm4oIk1lZGlhLklnbm9yZU1lZGlhQ29kZWNDYWxsYmFja3NEdXJpbmdGbHVzaGluZyIsRlgyLE51bWJlcihEKT09PTEpO3JldHVybiBTayhGTngoYiksKCk9PlcpfTsKR0Q9ZnVuY3Rpb24obixXPSExLEQ9MTA0ODU3Nil7dmFyIGI9VWcobik7Yj0xLygobi5LLkxnKCl8fDApKm4ucG9saWN5LkQrMS9iKTt2YXIgdj1uLlMkLkxnKCk7dj12PjA/djoxO3ZhciBrPU1hdGgubWF4KGIsdik7bi5wb2xpY3kuWD4wJiZ2PGImJihrPU1hdGgubWluKG4ucG9saWN5LlgsMSksaz0oMS1rKSpiK2sqdik7aWYoIVcpcmV0dXJuIGs7Vz0xRS05KyRzKG4pO0Q9aypNYXRoLm1pbigxLEQvKGsqVykpO24ucG9saWN5Lkp8fChuPSgobi5ELnBlcmNlbnRpbGUoLjk4KXx8MCktMSkvMixuPU1hdGgubWF4KDAsTWF0aC5taW4oMSxuKSksRCo9MS0uNSpuKTtyZXR1cm4gRH07CiRzPWZ1bmN0aW9uKG4pe3ZhciBXPW4uWS5MZygpK24uVEMuTGcoKXx8MDtXPWlzTmFOKFcpPy41Olc7bi5wb2xpY3kuVDY+PTAmJihXPU1hdGgubWluKFcsbi5wb2xpY3kuVDYpKTtyZXR1cm4gV307CmUwPWZ1bmN0aW9uKG4pe3ZhciBXPXtkZWxheTokcyhuKSxzdGFsbDpuLksuTGcoKXx8MCxieXRlcmF0ZTpVZyhuKSxpbml0Om4uVlF9LEQ9bi5XWzBdO0Quc3RhbXA9TWF0aC5yb3VuZChuLlYvMzZFNSkqMzZFNTtELm5ldD1NYXRoLmNlaWwobi5iZCk7RC5tYXg9bi5pbnRlcnJ1cHRpb25zWzBdfHwwO1cuaW50ZXJydXB0aW9ucz1uLlc7cmV0dXJuIFd9Owp6RD1mdW5jdGlvbihuLFcpe2lmKG4uail7bGV0IEQ9Vy1uLmo7aWYoRDw2RTQpe2lmKEQ+MUUzKXtsZXQgYj1uLmludGVycnVwdGlvbnM7Yi5wdXNoKE1hdGguY2VpbChEKSk7Yi5zb3J0KCh2LGspPT5rLXYpOwpiLmxlbmd0aD4xNiYmYi5wb3AoKX1uLmJkKz1EfX1uLmo9V307CnlTPWZ1bmN0aW9uKG4sVyxEKXtpc05hTihEKXx8KG4udHcrPUQpO2lzTmFOKFcpfHwobi5EdCs9Vyl9OwpCdT1mdW5jdGlvbihuLFcsRCxiPVcpe24uWC5JSShiLEQvVyk7bi5WPSgwLGcuUikoKX07CkVnPWZ1bmN0aW9uKG4sVyxEKXtXPU1hdGgubWF4KFcsbi5KLk4pO24uSy5JSSgxLEQvVyl9Owppcz1mdW5jdGlvbihuLFcsRCxiLHYsaz0hMSl7bi5TJC5JSShXLEQvVyk7bi5WPSgwLGcuUikoKTt2fHxuLkQuSUkoMSxXLWIpO2t8fChuLmo9MCk7bi5jSj4tMSYmKDAsZy5SKSgpLW4uY0o+M0U0JiYoc24oZTAobikpLG4uY0o9KDAsZy5SKSgpLG4uTz0hMCl9OwpUWj1mdW5jdGlvbihuKXtyZXR1cm4oMCxnLlIpKCktbi5WPj00RTN9OwpVZz1mdW5jdGlvbihuKXtuPW4uWC5MZygpO3JldHVybiBuPjA/bjoxfTsKaVJaPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj1uZXcgRU1NKEQpO24mJihiLlc9ITAsYi5qPS4xKTtELkVxKCJodG1sNV9tZWRpYV90aW1lX3dlaWdodCIpJiYoYi5XPSExKTtXJiYoYi5OPVcvOCk7Yi5KPXA3KCk+PTQ4MDtyZXR1cm4gYn07CnVzPWZ1bmN0aW9uKG4pe24uTi5jbGVhcigpO24uVy5jbGVhcigpO24uSi5jbGVhcigpfTsKdWFVPWZ1bmN0aW9uKG4sVyxEKXtuPW4uSjt2YXIgYj1nLlc0KG4se29hOld9LCh2LGspPT52Lm9hLWsub2EpOwpiPWI8MD8oYisyKSotMTpiO2lmKGI+PTApZm9yKGxldCB2PWI7djw9YisxJiZ2PG4ubGVuZ3RoO3YrKyl7bGV0IGs9blt2XTtpZihXPj1rLm9hLUQmJlc8PWsuZEkrRClyZXR1cm4ga319OwpvTWg9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uTi5nZXQoVyk7Yj8oYi5wdXNoKEQpLGcuYmYoYiwodixrKT0+di5vYS1rLm9hKSk6bi5OLnNldChXLFtEXSl9OwpkRGI9ZnVuY3Rpb24obixXKXt2YXIgRD1bXTtmb3IobGV0IGIgb2Ygbi5KKVcoYil8fEQucHVzaChiKTtpZihuLkIuUygiaHRtbDVfc3N0bV9maXhlcyIpKWZvcihsZXQgYiBvZiBuLkopVyhiKSYmbi5XLmRlbGV0ZShiLmNwbik7bi5KPUR9Owp6VWg9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkouaW5kZXhPZihXKTtEPj0wJiZuLkouc3BsaWNlKEQsMSk7bi5XLmRlbGV0ZShXLmNwbil9Owp0dmk9ZnVuY3Rpb24obixXKXtpZihuLnVLfHxXLmlkZW50aWZpZXImJm4ueXcuaGFzKFcuaWRlbnRpZmllcikpbi5iaih7c3RhcnRub2FkOlcuaWRlbnRpZmllcn0pLGcub2Uobik7ZWxzZSBpZihnLm9NKG4uY0osRD0+RC5pZGVudGlmaWVyPT09Vy5pZGVudGlmaWVyKSluLmJqKHt0aW1lZG91dGNwOjF9KSxuLlkuc3RhcnQoMCk7CmVsc2UgaWYoZy5vTShuLkR0LEQ9PkQuaWRlbnRpZmllcj09PVcuaWRlbnRpZmllcikpbi5iaih7ZmV0Y2hlZGNwOjF9KSxnLm9lKG4pOwplbHNlIGlmKG4uWS5pc0FjdGl2ZSgpKW4uYmooe3JhY2luZ2NwOmAke24uVj8uaWRlbnRpZmllcn1fJHtXLmlkZW50aWZpZXJ9YH0pO2Vsc2V7bi5DdT0obmV3IERhdGUpLmdldFRpbWUoKS8xRTM7bi5iaih7YWRmOjF9KTtsZXQgRD01RTM7RCYmVy5ldmVudD09PSJwcmVkaWN0U3RhcnQiJiYoRC09Vy5OKTtuLnZKPU1hdGgubWF4KEQsMTVFMyk7bi5EPSExO24uWS5zdGFydChuLnZKKTtuLlY9Vzt1cyhuLlRDKTtuLkZGPVtdfX07CmcuSnlpPWZ1bmN0aW9uKG4sVyxELGIsdixrLGgpe3ZhciB4PXY9PT0zLEw9bHdaKG4sVyxELHYsYixoKTtpZighTClyZXR1cm4gZGYobixELHgpLEw9Zy56VihuLEQpPyJ1bmRlYyI6Im5jcCIsbi5iaih7Z3ZwcnA6TCxtdDpXLHNlZzpELHR0OnYsaXRhZzpiLGNlOmh9KSxudWxsO3h8fG4uWXEuc2V0KEQsTCk7aD1MLnZQO3Y9bi5HTShELTEsdixrKT8uQmZ8fCIiO3Y9PT0iIiYmbi5iaih7ZWRzOjF9KTtrPVRkaihuLEwuc3NkYWlBZHNDb25maWcpO3g9bi5ncy5nZXRWaWRlb0RhdGEoKTt4PXguYkJbeC5KPy5jb250YWluZXJUeXBlfHwwXTtMPUwubUYmJkQ+PUwubUY/TC5tRjp2b2lkIDA7dj17YUQ6aD9scyhuLGgpOltdLGFkc0NvbmZpZzprLEJmOnYsREo6TCxvdjpnLk5oKHguc3BsaXQoIjsiKVswXSksZDM6eC5zcGxpdCgiOyIpWzFdfHwiIn07TD17TXk6dn07bi5HQyYmKFc9e2d2cHJwcm86InYiLHNxOkQsbXQ6Vy50b0ZpeGVkKDMpLGl0YWc6YixhY3Buczp2LmFEPy5qb2luKCJfIil8fAoibm9uZSIsYWJpZDpofSxuLmJqKFcpKTtyZXR1cm4gTH07Ck0yPWZ1bmN0aW9uKG4sVyxELGIsdil7Yj1ifHx7cmVhc29uOiJkaXNhYmxlc3NkYWkifTtpZihXJiZEKXtpZighZy5UVihuLFcsRCkpcmV0dXJuITE7Yi5zcT1EfWlmKG4udUspcmV0dXJuITE7bi51Sz0hMDtuLnVmPjAmJihuLnVmPTAsbi51Tj0iIixqcyhuLG4uZ3MuV04oKSwwKSxuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpKTtuLmdzLmRuKGIsdik7cmV0dXJuITB9Owpqd2o9ZnVuY3Rpb24obixXLEQpe3ZhciBiPW4uald8fG4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKTtDTyhuLCEwKTtuLmdzLnNlZWtUbyhXLEQpO249bi5hcHAuTU4oKTtXPW4uZ2V0UGxheWVyU3RhdGUoKTtiLmlzT3JXaWxsQmVQbGF5aW5nKCkmJiFXLmlzT3JXaWxsQmVQbGF5aW5nKCk/bi5wbGF5VmlkZW8oKTpiLmlzUGF1c2VkKCkmJiFXLmlzUGF1c2VkKCkmJm4ucGF1c2VWaWRlbygpfTsKZy5CYz1mdW5jdGlvbihuKXtuLkdDJiZuLmJqKHthZGY6YDBfJHsobmV3IERhdGUpLmdldFRpbWUoKS8xRTMtbi5DdX1faXNUaW1lb3V0XyR7bi5EfWB9KX07Cmcub2U9ZnVuY3Rpb24obil7bi5EPSExO24uWS5pc0FjdGl2ZSgpJiZnLkJjKG4pO24uWS5zdG9wKCk7bi5SZighMSl9OwpGdz1mdW5jdGlvbihuLFcsRCl7cmV0dXJue3NzdmM6VyxjcG46RD8uY3BufHwiIix2aWQ6RD8udmlkZW9EYXRhLnZpZGVvSWR8fCIiLGN0OihuLmdzLmdldEN1cnJlbnRUaW1lKCl8fDApLnRvRml4ZWQoMyksY210OihuLmdzLm90KCl8fDApLnRvRml4ZWQoMyl9fTsKQ2gxPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gbmV3IGcubDUobixXLHtpZDpELG5hbWVzcGFjZToic2VydmVyc3RpdGNoZWRjdWVyYW5nZSIscHJpb3JpdHk6OX0pfTsKZy53Zj1mdW5jdGlvbihuKXtyZXR1cm57Y3BuOm4uZ3MuV04oKSxkdXJhdGlvbk1zOjAsb2E6MCxwbGF5ZXJUeXBlOjEsZEk6MCx2aWRlb0RhdGE6bi5ncy5nZXRWaWRlb0RhdGEoKSxlcnJvckNvdW50OjAsdlA6IiJ9fTsKTUs9ZnVuY3Rpb24obixXLEQsYil7bi5CLlMoImh0bWw1X3NzZGFpX2xvZ19zc2V2dF9pbl9sb2FkZXJfdGltZXJzIikmJihiPW4uYmQ/MDpNYXRoLnJvdW5kKChiLUQpKjFFMyksbi5ncy5VKCJzc2V2dCIse3RhZzoic3N0bWUiLGFkOlchPT1uLmdzLldOKCksY3BuOlcsc3Q6RC1uLmdzLkgzKCksbGF0ZTpifSkpfTsKZy5RUz1mdW5jdGlvbihuLFcpe24uanx8bi5iZHx8Zy5SZShuLG4udU4pO3ZhciBEPVcucUQsYj1XLnpZO2lmKGIuY3BuPT09bi51TiluLmJqKHtpZ3RyYW5zc2FtZToxLGVudGVyOmIuY3BuLGV4aXQ6RC5jcG59KTtlbHNle3ZhciB2PW4uYmQsaz0hIW4uajtuLmo9IiI7dmFyIGg9Vy5tNyx4PUQucGxheWVyVHlwZT09PTI/RC5vYS8xRTMrRC52aWRlb0RhdGEuR0M6Zy53ZihuKS52aWRlb0RhdGEuR0M7bi5hcGkuUygiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiKSYmKGt8fHZ8fEQucGxheWVyVHlwZSE9PTI/KHZ8fGspJiZuLmJqKHttZWNyOjAsc2Vlazp2LHNraXA6a30pOm4uYXBpLk5hKEQuY3BuKSk7aWYoRC5wbGF5ZXJUeXBlPT09MiYmYi5wbGF5ZXJUeXBlPT09MilrP24uYmooe2lndHJhbnNza2lwOjEsZW50ZXI6Yi5jcG4sZXhpdDpELmNwbixzZWVrOnYsc2tpcDpuLmp9KTpnLkJkdChuLEQsYix4LGgsdixrKTtlbHNle24udU49Yi5jcG47anMobixiLmNwbiwKYi5zdGFydFRpbWVTZWNzfHxoKTtXPVcuUXg7aWYoRC5wbGF5ZXJUeXBlPT09MSYmYi5wbGF5ZXJUeXBlPT09Mil7bi5TJD0wO0ZraihuLGIpO3ZhciBMPUZ3KG4sImMyYSIsYik7bi5iaihMKTtuLnVmKyt9ZWxzZSBpZihELnBsYXllclR5cGU9PT0yJiZiLnBsYXllclR5cGU9PT0xKXtuLmFwaS5XSigic2VydmVyc3RpdGNoZWR2aWRlb2NoYW5nZSIpO0w9RncobiwiYTJjIik7bi5iaihMKTtuLnVmPTA7bi5TJD14O0w9RC5jcG47dmFyIGU9bi5TJDtpZihMIT09bi5ncy5XTigpKXtsZXQgRz1uLnR3LmdldChMKTtHP0cuTj1lOm4uYmooe25vcF9lOkx9KX1nLndHMShuLEQudlApfUw9TTVpKG4pO24uZ3MuY00oRCxiLHgsaCx2LGssVyxMKX1nLlJVaShuKX19OwppcD1mdW5jdGlvbihuLFcsRCxiLHYsayxoLHgpe3ZhciBMPVdebjtpZigobi0xXjI3KT49biYmKG4rMV4yNCk8bil7dmFyIGU9RFtJW0xeNzg2XV0oSVtMXjgxN10pLEc9MDtlWzBdfHxHKys7bGV0IE49e307Zm9yKDtHPGVbSVs1XV07Rys9MillW0ddJiZFYyg1LExeNjc4NixOLGVbR10sZVtHKzFdKTt2YXIgcj1OfShuXjEzKTwyNiYmbi0yPj0xOCYmKGU9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxMXjc3MDEpLEc9RFtJW0xeNzY5MV1dKElbTF43NzEwXSxlKzEpLGU+MCYmRz4wPyhiW0lbTF43Njg1XV09RFtJW0xeNzY5NF1dKDAsRyksRD1EW0lbTF43Njk0XV0oRysxKSk6KGJbSVtMXjc2ODVdXT1ELEQ9SVtMXjc2OTJdKSxyPVtEXSk7bi0zPj4zfHwocj1iKGssaCx4KSk7bj4+MiY3fHwoRD0oRCViW0lbNV1dK2JbSVs1XV0pJWJbSVs1XV0sYltJWzNdXSgtRClbSVtMXjE3MTZdXSgpW0lbTF4xNjgxXV0oZnVuY3Rpb24oTil7YltJW0xeMTY3MF1dKE4pfSkpOwpyZXR1cm4gcn07CmpzPWZ1bmN0aW9uKG4sVyxEKXtpZihXPT09bi5ncy5XTigpKW1SKG4uYXBwLlZyLG4uZ3MsITEpO2Vsc2V7bGV0IGI9bi50dy5nZXQoVyk7Yj8oVz1iLFcuTj0wLFcuc3RhcnRUaW1lU2Vjcz1ELG1SKG4uYXBwLlZyLGIsITApKTpuLmJqKHtub3BfczpXfSl9fTsKRmtqPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcHA7UFQoVlMoRCkpJiZELlZyLldbMl0mJmcuY18obi5sb2dnZXIsMzYwNzE3ODA2LCJTU1RNIGxpbmdlcmluZyBwbGF5YmFjayIpO24uYXBpLlNvKCk7bi5hcGkuV0ooInNlcnZlcnN0aXRjaGVkdmlkZW9jaGFuZ2UiLFcuY3BuLFcuTDMpfTsKY2M9ZnVuY3Rpb24obixXLEQ9MCl7cmV0dXJue0lEOnVhVShuLk4sVyoxRTMsRCoxRTMpLEJFOld9fTsKZy5SZT1mdW5jdGlvbihuLFcpe3ZhciBEPVd8fG4udU4sYj1uLk4uVkUoRCk7Yj8oVz1iLnZpZGVvRGF0YSxEPWIuTDN8fChuLlcuZ2V0KEQpPy5zdGFydD8/MCkvMUUzLG49bi5ncy5nZXRDdXJyZW50VGltZSgpLUQsVy5HQz1uPjA/bjowKTpnLndmKG4pLnZpZGVvRGF0YS5HQz1uLmdzLmdldEN1cnJlbnRUaW1lKCl9OwpnLlF3aT1mdW5jdGlvbihuLFcsRCl7bi5ncy5CbygpO24uZ3Muc2Vla1RvKFcsRCk7bi5ncy5wbGF5VmlkZW8oKX07CkNPPWZ1bmN0aW9uKG4sVyl7bi5MQj1OYU47bi5mQj1udWxsO24uUmEuc3RvcCgpO24uZSQmJlcmJm4uZSQuR18oKTtuLmpXPW51bGw7bi5lJD1udWxsfTsKbko9ZnVuY3Rpb24obil7VjVoKG4pO2Zvcih2YXIgVyBvZiBuLlcudmFsdWVzKCkpVy5zdGFydD49LTEmJlcuZW5kPD1JbmZpbml0eSYmKG4uZ3MucmVtb3ZlQ3VlUmFuZ2UoVyksbi5XLmRlbGV0ZShXLmdldElkKCkpLG4uYmooe3JtQWRDUjoxfSkpO3ZhciB7SUQ6RCxCRTpifT1jYyhuLC0uMDAxKTtEJiYoVz1iKjFFMy1ELm9hLGcuYWUobixELFcsRC5vYStXKSxXPW4uVy5nZXQoRC5jcG4pKSYmKFcuc3RhcnQ9RC5vYSxXLmVuZD1ELm9hK0QuZHVyYXRpb25Ncyk7KHtJRDpXfT1jYyhuLEluZmluaXR5KSk7VyYmbi5KKGBJbnZhbGlkX2NsZWFyRW5kVGltZU1zXyR7SW5maW5pdHl9X3RoYXRfZmFsbHNfZHVyaW5nXyR7YHBsYXliYWNrX2Nwbl8ke1cuY3BufV92aWRlb19pZF8ke1cudmlkZW9EYXRhPy52aWRlb0lkfV9kdXJhdGlvbk1zXyR7Vy5kdXJhdGlvbk1zfV9lbnRlclRpbWVNc18ke1cub2F9X3BhcmVudFJldHVyblRpbWVNc18ke1cuZEl9YH0uX0NoaWxkX3BsYXliYWNrc19jYW5fb25seV9oYXZlX2R1cmF0aW9uX3VwZGF0ZWRfbm90X3RoZWlyX3N0YXJ0LmApfTsKY1JiPWZ1bmN0aW9uKG4pe3VzKG4uVEMpO24uVy5jbGVhcigpO24uTi5jbGVhcigpO24uWXEuY2xlYXIoKTtuLkZGPVtdO24uVj1udWxsO24ueXcuY2xlYXIoKTtuLm51LmNsZWFyKCk7bi5jSj1bXTtuLkR0PVtdO24uczU9W107bi5FNT1bXTtuLlFyLmNsZWFyKCk7bi5NZC5jbGVhcigpO24uVTUuY2xlYXIoKTtuLnlFLmNsZWFyKCk7bi5EPSExO24uUyQ9MDtuLmJkPSExO24uWVo9ITE7bi51Zj0wO24uQ3U9MDtuLlkkPSExO24udUs9ITE7bi5qPSIiO0ZFWihuLmFwcC5Wcik7bVIobi5hcHAuVnIsbi5ncywhMSk7aWYobi5CLlp0KCk/LkooKSlmb3IobGV0IFcgb2Ygbi50dy52YWx1ZXMoKSlXLmRpc3Bvc2UoKTtuLnR3LmNsZWFyKCk7bi5ZLmlzQWN0aXZlKCkmJmcub2Uobil9OwpWNWg9ZnVuY3Rpb24obil7ZERiKG4uTixXPT5XLm9hPj0tMSYmVy5kSTw9SW5maW5pdHkpfTsKZy5hZT1mdW5jdGlvbihuLFcsRCxiKXtXLmR1cmF0aW9uTXM9RDtXLmRJPWI7KGI9bi50dy5nZXQoVy5jcG4pKT9iLmFUKEQvMUUzKTpuLmJqKHtub3BfZDpXLmNwbn0pfTsKZy56Vj1mdW5jdGlvbihuLFcpe2ZvcihsZXQgRCBvZiBuLkZGKWlmKFc+PUQuc3RhcnQmJlc8PUQuZW5kKXJldHVybiEwO3JldHVybiExfTsKZy5UVj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uWXEuZ2V0KEQpO2lmKCFrKXtpZihrPVdmKG4sVykpcmV0dXJuIGs7Vz1uLkdNKEQtMSxiPz8yKTtpZih2KXJldHVybiBuLmJqKHttaXNzY3VlOnYsc3E6RCx0eXBlOmIscHJldnNzdGF0ZTpXPy5zbCxwcmV2cmVjb3JkOm4uWXEuaGFzKEQtMSl9KSxuLllxLmdldChELTEpO2lmKFc/LnNsPT09MilyZXR1cm4gbi5iaih7YWRuZjoxLHNxOkQsdHlwZTpiLHByZXZyZWNvcmQ6bi5ZcS5oYXMoRC0xKX0pLG4uWXEuZ2V0KEQtMSl9cmV0dXJuIGt9Owpsd1o9ZnVuY3Rpb24obixXLEQsYix2LGspe2lmKCFuLnVLKWlmKGcuelYobixEKSluLmJqKHtnZHU6InVuZGVjIixzZWc6RCxpdGFnOnZ9KTtlbHNlIGlmKFc9Zy5UVihuLFcsRCxiLGspLCFuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCl8fCFXPy5QTylyZXR1cm4gV307CldmPWZ1bmN0aW9uKG4sVyl7Vys9bi5IMygpO2lmKG4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSl7YTp7dmFyIEQ9bi5OO249VyoxRTM7Zm9yKGIgb2YgRC5KKWlmKEQ9Yi5MMz9iLkwzKjFFMzpiLm9hLG4+PWIub2EtMUUzJiZuPD1EK2IuZHVyYXRpb25NcysxRTMpYnJlYWsgYTt2YXIgYj12b2lkIDB9Yj17SUQ6YixCRTpXfX1lbHNlIGI9Y2MobixXKSxiPy5JRHx8KGI9Y2MobixXLDEpKTtyZXR1cm4gYj8uSUR9OwpkZj1mdW5jdGlvbihuLFcsRD0hMSl7aWYoIUQpe2ZvcihsZXQgYiBvZiBuLkZGKXtpZihXPj1iLnN0YXJ0JiZXPD1iLmVuZClyZXR1cm47aWYoVz09PWIuZW5kKzEpe2IuZW5kKz0xO3JldHVybn19bi5GRi5wdXNoKG5ldyBhd1MoVykpfX07ClRkaj1mdW5jdGlvbihuLFc9IiIpe3ZhciBEPWcuZDEoVyl8fHZvaWQgMDtXJiZEfHxuLmJqKHthZGNmZzpXPy5sZW5ndGgsZGNmZzpEPy5sZW5ndGh9KTtyZXR1cm4gRH07CmxzPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9W107bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuW107Zm9yKGxldCBiIG9mIG4pYi5jcG4mJkQucHVzaChiLmNwbik7cmV0dXJuIER9OwpuJE09ZnVuY3Rpb24obixXLEQpe3ZhciBiPSExO2lmKEQ9bi5OLk4uZ2V0KEQpKWZvcihsZXQgdiBvZiBEKXYuZHVyYXRpb25NcyE9PTAmJnYuZEkhPT12Lm9hJiYoRD12LmNwbixXPT09RCYmKGI9ITApLGImJiFuLk1kLmhhcyhEKSYmKG4uYmooe2RlY29yYXRlZEFkOkR9KSxuLk1kLmFkZChEKSkpfTsKdmFyIElhMj1mdW5jdGlvbihuLFcpe3JldHVybiBvU1tJWzEwXV0odGhpcywyLDQ0MzksbixXKX07CldMcj1mdW5jdGlvbihuLFcsRCl7dmFyIGI9MDtuPW4uTi5OLmdldChEKTtpZighbilyZXR1cm4tMTtmb3IobGV0IHYgb2Ygbil7aWYodi5jcG49PT1XKXJldHVybiBiO2IrK31yZXR1cm4tMX07CkRhcj1mdW5jdGlvbihuLFcpe3ZhciBEPTA7bj1uLk4uTi5nZXQoVyk7aWYoIW4pcmV0dXJuIDA7Zm9yKGxldCBiIG9mIG4pYi5kdXJhdGlvbk1zIT09MCYmYi5kSSE9PWIub2EmJkQrKztyZXR1cm4gRH07CmcuYmZ4PWZ1bmN0aW9uKG4pe2ZvcihsZXQgVyBvZiBuLlcudmFsdWVzKCkpbi5ncy5yZW1vdmVDdWVSYW5nZShXKTtuLlcuY2xlYXIoKTt1cyhuLlRDKX07Ck01aT1mdW5jdGlvbihuKXt2YXIgVz1BcnJheS5mcm9tKG4uYXBwLlZyLkQudmFsdWVzKCkpLEQ9W10sYj1bXSx2PVtdLGs9W10saD1bXSx4PVtdO2Zvcih2YXIgTCBvZiBXKWlmKFc9bi5OLlZFKEwuV04oKSkpbi5iaih7YXR0YWNoX3RyYW5zX21ldGE6Vy5jcG4saGFzX3ZfbWV0YTpXLnNmPzE6MCxoYXNfYV9tZXRhOlcuWU0/MTowLGhhc19jdHhfbWV0YTpXLmpWPzE6MH0pLFcualYmJkQucHVzaChXLmpWKSxXLnNmJiZiLnB1c2goVy5zZiksVy5ZTSYmYi5wdXNoKFcuWU0pLGsucHVzaChXLmNwbiksaC5wdXNoKFcudmlkZW9EYXRhLnZpZGVvSWR8fCIiKSx4LnB1c2goVy52aWRlb0RhdGEuYWRGb3JtYXR8fFcudmlkZW9EYXRhLkZGKSxXLnNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YSE9bnVsbCYmdi5wdXNoKFcuc2VyaWFsaXplZFFvZUNvbnRleHREYXRhKTtMPXZvaWQgMDtuLnZYJiYobi5iaih7aGFzX2N0eF9saXN0OkQubGVuZ3RoPzE6MCxoYXNfY2xpcF9saXN0OmIubGVuZ3RoPwoxOjB9KSxMPXtqVjpELHJYOmJ9KTtyZXR1cm57UHc6TCxSUDp7YUQ6ayxhcTpoLGFkRm9ybWF0czp4LHNlcmlhbGl6ZWRRb2VDb250ZXh0RGF0YTp2fX19OwpnLkJkdD1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtpZihXJiZEKXtuLnVOPUQuY3BuO2pzKG4sRC5jcG4sRC5zdGFydFRpbWVTZWNzfHx2KTtGa2oobixEKTt2YXIgeD1GdyhuLCJhMmEiLEQpO24uYmooeCk7bi51ZisrO3g9TTVpKG4pO24uZ3MuY00oVyxELGJ8fDAsdnx8MCwhIWssISFoLHZvaWQgMCx4KX1lbHNlIG4uYmooe21pc3NwYmtvbmFkdHJhbnM6MSxlbnRlcjpEPy5jcG58fCIiLGV4aXQ6Vz8uY3BufHwiIixzZWVrOmssc2tpcDpofSl9OwpnLlJVaT1mdW5jdGlvbihuKXtuLnlFLmFkZChuLmopO24uaj0iIjtuLmJkPSExfTsKdiRoPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYjtpZihiPW4uZ3MuZ2V0VmlkZW9EYXRhKCkuREYoKSliPShiPW4uTi5WRShXKSkmJmIudlA/KG49bi5OLk4uZ2V0KGI/LnZQKSkmJm4uc2xpY2UoLTEpWzBdLmNwbj09PVc6ITE7cmV0dXJuIGImJkQ9PT0yPzFFMzowfTsKZy53RzE9ZnVuY3Rpb24obixXKXtpZihuLmdzLmdldFZpZGVvRGF0YSgpLkRGKCkpe3ZhciBEPW4uTi5OLmdldChXKTtpZihEKXtmb3IodmFyIGIgb2YgRCl7bi5iaih7cmVtX21ldGE6Yi5jcG59KTtEPW47bGV0IHY9RC5XLmdldChiLmNwbik7RC5XLmRlbGV0ZShiLmNwbik7diYmRC5ncy5yZW1vdmVDdWVSYW5nZSh2KTt6VWgoRC5OLGIpfW4uWXEuY2xlYXIoKTtiPW4uTjtEPWIuTi5nZXQoVyk/P1tdO2ZvcihsZXQgdiBvZiBEKXpVaChiLHYpO2IuTi5kZWxldGUoVyk7KFc9bi5aaC5nZXQoVykpJiZuLlJ0JiZuLmdzLll5KFcpfX19OwpodnI9ZnVuY3Rpb24obixXLEQ9e30pe3ZhciBiPW4uVnx8bi5hcHAuTU4oKS5nZXRQbGF5ZXJTdGF0ZSgpO0RMKG4sITApO1c9aXNGaW5pdGUoVyk/VzpuLk4uTlcoKTt2YXIge0lEOnYsQkU6a309YmwobixXKTtXPXYmJiF2ZihuLHYpfHwhdiYmbi5OIT09bi5hcHAuTU4oKTt2YXIgaD1rKjFFMztoPW4uVyYmbi5XLnN0YXJ0PD1oJiZoPD1uLlcuZW5kOyFXJiZofHxrcihuKTt2P2cua3JaKG4sdixrLEQsYik6eHIobixrLEQsYiwiX2V4ZWN1dGUiKX07CmcuTEo9ZnVuY3Rpb24obixXLEQsYil7bi5OLlUoInRpbWVsaW5lZXJyb3IiLHtlOlcsY3BuOkQ/RDp2b2lkIDAsdmlkZW9JZDpiP2I6dm9pZCAwfSl9OwpnLmVhPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG5ldyBnLmw1KE1hdGgubWF4KDAsbi01RTMpLFc/MHg4MDAwMDAwMDAwMDAwOm4tMSx7bmFtZXNwYWNlOiJjaGlsZHBsYXliYWNrIixwcmlvcml0eTo5fSl9OwpnLnhhaT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9Vy5MeDtXLkx4PUQ7dmYobixXKSYmKEQ9bi5hcHAuTU4oKSxiLm9JPT09bi5XJiZrcihuKSxELnJlbW92ZUN1ZVJhbmdlKGIub0kpLEQuYWRkQ3VlUmFuZ2UoVy5MeC5vSSkpfTsKZy5rclo9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz12ZihuLFcpO2lmKCFrKXtXLnBsYXllclZhcnMucHJlZmVyX2dhcGxlc3M9ITA7dmFyIGg9bmV3IGcuVXIobi5CLFcucGxheWVyVmFycyk7aC5LZj1XLktmO24uYXBpLnoyKGgsVy5wbGF5ZXJUeXBlKX1oPW4uYXBwLk1OKCk7a3x8aC5hZGRDdWVSYW5nZShXLkx4Lm9JKTtoLnNlZWtUbyhELHtxZDoiYXBwbGljYXRpb25fdGltZWxpbmVtYW5hZ2VyIiwuLi5ifSk7TEwyKG4sdil9OwpldnQ9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7Yj1XLktmO3ZhciB2PVcucGxheWVyVmFycyxrPVcucGxheWVyVHlwZTtuLks9Vzt2JiZuLmFwaS5lbnF1ZXVlVmlkZW9CeVBsYXllclZhcnModixrLEQsYil9OwpnJFM9ZnVuY3Rpb24obixXLEQsYil7bi5XPWI7bi5hcGkuV3Aobi5OLEQsVyl9Owprcj1mdW5jdGlvbihuKXtuLks9bnVsbDtuLlc9bnVsbDtuLmFwaS5kVCgpfHxuLmFwaS5jbGVhclF1ZXVlKCl9Owp2Zj1mdW5jdGlvbihuLFcpe249bi5hcHAuTU4oKTtyZXR1cm4hIW4mJm4uZ2V0VmlkZW9EYXRhKCkuS2Y9PT1XLktmfTsKWGVqPWZ1bmN0aW9uKG4sVyl7dmYobixXKXx8Zy5MSihuLCJjaGlsZFBsYXliYWNrSXNOb3RQcmVzZW50aW5nIik7cmV0dXJuIFcuZEk9PT1XLm9hK1cuZHVyYXRpb25Ncz9XLm9hK24uYXBwLk1OKCkuZ2V0Q3VycmVudFRpbWUoKSoxRTM6Vy5kSX07CmJsPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtmb3IobGV0IGIgb2Ygbi5KKXtuPWIub2EvMUUzK0Q7bGV0IHY9bitiLmR1cmF0aW9uTXMvMUUzO2lmKG4+VylicmVhaztpZih2PlcpcmV0dXJue0lEOmIsQkU6Vy1ufTtEPXYtYi5kSS8xRTN9cmV0dXJue0lEOm51bGwsQkU6Vy1EfX07CkRMPWZ1bmN0aW9uKG4sVyl7bi5PPU5hTjtuLkQ9bnVsbDtuLlkuc3RvcCgpO24uWCYmVyYmbi5YLkdfKCk7bi5WPW51bGw7bi5YPW51bGx9Owp4cj1mdW5jdGlvbihuLFcsRCxiLHYpe3ZhciBrPW4uTjtrIT09bi5hcHAuTU4oKSYmbi5hcHAuWDkoKTtuLkIuUygiaHRtbDVfc2Ficl9jc2RhaV9zZWVrX2xvZyIpfHwodj0iIik7ay5zZWVrVG8oVyx7cWQ6ImFwcGxpY2F0aW9uX3RpbWVsaW5lbWFuYWdlciIrKHY/PyIiKSwuLi5EfSk7TEwyKG4sYil9OwpMTDI9ZnVuY3Rpb24obixXKXtuPW4uYXBwLk1OKCk7dmFyIEQ9bi5nZXRQbGF5ZXJTdGF0ZSgpO1cuaXNPcldpbGxCZVBsYXlpbmcoKSYmIUQuaXNPcldpbGxCZVBsYXlpbmcoKT9uLnBsYXlWaWRlbygpOlcuaXNQYXVzZWQoKSYmIUQuaXNQYXVzZWQoKSYmbi5wYXVzZVZpZGVvKCl9OwpxZWk9ZnVuY3Rpb24obil7dmFyIFc9bi5KLmZpbmQoRD0+dmYobixEKSk7CmlmKFcpe2xldCBEPW4uYXBwLk1OKCk7a3Iobik7bGV0IGI9bmV3IGcubG0oOCk7Vz1YZWoobixXKS8xRTM7eHIobixXLHt9LGIsIl9mb3JjZSIpO0QuVSgiZm9yY2VQYXJlbnRUcmFuc2l0aW9uIix7Y2hpbGRQbGF5YmFjazoxfSk7bi5OLlUoImZvcmNlUGFyZW50VHJhbnNpdGlvbiIse3BhcmVudFBsYXliYWNrOjF9KX19OwpnLmc1PWZ1bmN0aW9uKG4sVz0tMSxEPUluZmluaXR5KXtmb3IobGV0IFt4LExdb2Ygbi5qKXt2YXIgYj14LHY9TDt2LnFJPj1XJiZ2LnRhcmdldCYmdi50YXJnZXQuZEk8PUQmJihuLk4ucmVtb3ZlQ3VlUmFuZ2UoYiksbi5qLmRlbGV0ZShiKSl9Yj1bXTtmb3IobGV0IHggb2Ygbi5KKXgub2E+PVcmJnguZEk8PUQ/KHY9bix2Lks9PT14JiZrcih2KSx2Zih2LHgpJiZ2LmFwcC5YOSgpKTpiLnB1c2goeCk7bi5KPWI7dmFyIHtJRDprLEJFOmh9PWJsKG4sVy8xRTMpO2smJihXPWgqMUUzLGcuR3IxKG4sayxXLGsuZEk9PT1rLm9hK2suZHVyYXRpb25Ncz9rLm9hK1c6ay5kSSkpOyh7SUQ6V309YmwobixELzFFMykpO1cmJmcuTEoobixgSW52YWxpZCBjbGVhckVuZFRpbWVNcz0ke0R9IHRoYXQgZmFsbHMgZHVyaW5nICR7YHBsYXliYWNrPXt0aW1lbGluZVBsYXliYWNrSWQ9JHtXLktmfSB2aWRlb19pZD0ke1cucGxheWVyVmFycy52aWRlb19pZH0gZHVyYXRpb25Ncz0ke1cuZHVyYXRpb25Nc30gZW50ZXJUaW1lTXM9JHtXLm9hfSBwYXJlbnRSZXR1cm5UaW1lTXM9JHtXLmRJfX1gfS5DaGlsZCBwbGF5YmFja3MgY2FuIG9ubHkgaGF2ZSBkdXJhdGlvbiB1cGRhdGVkIG5vdCB0aGVpciBzdGFydC5gKX07CmcuR3IxPWZ1bmN0aW9uKG4sVyxELGIpe1cuZHVyYXRpb25Ncz1EO1cuZEk9YjtiPXtvSTpnLmVhKEQsITApLHFJOkQsdGFyZ2V0Om51bGx9O2cueGFpKG4sVyxiKTt2ZihuLFcpJiZuLmFwcC5NTigpLmdldEN1cnJlbnRUaW1lKCkqMUUzPkQmJihXPVhlaihuLFcpLzFFMyxEPW4uYXBwLk1OKCkuZ2V0UGxheWVyU3RhdGUoKSx4cihuLFcse30sRCwiX3VwZGF0ZSIpKX07CiRhcj1mdW5jdGlvbihuKXtuJiZuIT09IndlYiImJnRZaS5pbmNsdWRlcyhuKX07CnVScj1mdW5jdGlvbihuLFcpe3JldHVybiBXPyEhbi5OLmdldChXKTohMX07CnJFUz1mdW5jdGlvbihuLFcpe24uZGF0YXNldC52ZXJzaW9uPVd9OwpzOHI9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuUkIsRD0oKT0+e24uRU49bmV3IGcuYnIoMCwwLDAsMCk7bi5JMD1uZXcgZy5icigwLDAsMCwwKX0sYj1oPT57aC5nZXRWaWRlb0RhdGEoKSYmbi51cGRhdGVWaWRlb0RhdGEoaC5nZXRWaWRlb0RhdGEoKSl9LHY9KGgseCk9PntuLmYxKGgseCl9LGs9aD0+e24ubkImJlhTKG4pOwpxNyhuKSE9PW4uUDAmJm4ucmVzaXplKCk7bi5hcHAuRygpLlMoIndlYl9lbmFibGVfc21hcnRfem9vbSIpJiZuLm04JiYoaC5zdGF0ZS5pc1BhdXNlZCgpP24ubTgucGF1c2UoKTpoLlhRKDgpJiZuLm04LnBsYXlTdGF0ZT09PSJwYXVzZWQiJiZuLm04LnBsYXkoKSl9OwpXLmFkZEV2ZW50TGlzdGVuZXIoImluaXRpYWxpemluZ21vZGUiLEQpO1cuYWRkRXZlbnRMaXN0ZW5lcigidmlkZW9wbGF5ZXJyZXNldCIsYik7Vy5hZGRFdmVudExpc3RlbmVyKCJ2aWRlb2RhdGFjaGFuZ2UiLHYpO1cuYWRkRXZlbnRMaXN0ZW5lcigicHJlc2VudGluZ3BsYXllcnN0YXRlY2hhbmdlIixrKTtuLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57Vy5yZW1vdmVFdmVudExpc3RlbmVyKCJpbml0aWFsaXppbmdtb2RlIixEKTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInZpZGVvcGxheWVycmVzZXQiLGIpO1cucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlkZW9kYXRhY2hhbmdlIix2KTtXLnJlbW92ZUV2ZW50TGlzdGVuZXIoInByZXNlbnRpbmdwbGF5ZXJzdGF0ZWNoYW5nZSIsayl9KX07ClllaT1mdW5jdGlvbihuKXt2YXIgVz1uLkV6KCksRD0xLGI9ITEsdj1OTncobixXLG4uZ2V0VmlkZW9Bc3BlY3RSYXRpbygpKSxrPW4uYXBwLkcoKSxoPWsuUygiZW5hYmxlX2Rlc2t0b3BfcGxheWVyX3VuZGVybGF5IikseD1GbigpLEw9Zy5kTShrLmV4cGVyaW1lbnRzLCJwbGF5ZXJfdW5kZXJsYXlfbWluX3BsYXllcl93aWR0aCIpO0w9aCYmbi5hSCYmbi5nZXRQbGF5ZXJTaXplKCkud2lkdGg+TDtpZihxNyhuKSl7dmFyIGU9cGVVKG4pO3ZhciBHPWlzTmFOKGUpfHxnLlJnfHxuciYmZy5Hbnx8TDtnLk1MJiYhZy5aWCg2MDEpP2U9di5hc3BlY3RSYXRpbzpHPUd8fGsuY29udHJvbHNUeXBlPT09IjMiO0c/TD8oRz1rLlMoInBsYWNlX3NocnVua2VuX3ZpZGVvX29uX2xlZnRfb2ZfcGxheWVyIik/MTY6bi5nZXRQbGF5ZXJTaXplKCkud2lkdGgtVy53aWR0aC0xNixlPU1hdGgubWF4KChuLmdldFBsYXllclNpemUoKS5oZWlnaHQtVy5oZWlnaHQpLzIsMCksRz1uZXcgZy5icihHLGUsVy53aWR0aCwKVy5oZWlnaHQpLG4ubkIuc3R5bGUuc2V0UHJvcGVydHkoImJvcmRlci1yYWRpdXMiLCIxMnB4IikpOkc9bmV3IGcuYnIoMCwwLFcud2lkdGgsVy5oZWlnaHQpOihEPXYuYXNwZWN0UmF0aW8vZSxHPW5ldyBnLmJyKChXLndpZHRoLXYud2lkdGgvRCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aC9ELHYuaGVpZ2h0KSxEPT09MSYmZy5HbiYmKGU9Ry53aWR0aC1XLmhlaWdodCplLGU+MCYmKEcud2lkdGgrPWUsRy5oZWlnaHQrPWUpKSk7Zy5pSChuLmVsZW1lbnQsInl0cC1maXQtY292ZXItdmlkZW8iLE1hdGgubWF4KEcud2lkdGgtdi53aWR0aCxHLmhlaWdodC12LmhlaWdodCk8MSk7aWYoeHx8bi5jSSluLm5CLnN0eWxlLmRpc3BsYXk9IiI7bi5QMD0hMH1lbHNle0c9LVcuaGVpZ2h0O2cuTUw/Ryo9d2luZG93LmRldmljZVBpeGVsUmF0aW86Zy5zbSYmKEctPXdpbmRvdy5zY3JlZW4uaGVpZ2h0KTtHPW5ldyBnLmJyKDAsRyxXLndpZHRoLFcuaGVpZ2h0KTtpZih4fHxuLmNJKW4ubkIuc3R5bGUuZGlzcGxheT0KIm5vbmUiO24uUDA9ITF9dlkobi5FTixHKXx8KG4uRU49RyxnLkRmKGspPyhuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJ3aWR0aCIsRy53aWR0aCsicHgiLCJpbXBvcnRhbnQiKSxuLm5CLnN0eWxlLnNldFByb3BlcnR5KCJoZWlnaHQiLEcuaGVpZ2h0KyJweCIsImltcG9ydGFudCIpKTpOdChuLm5CLEcuZ2V0U2l6ZSgpKSxHPW5ldyBnLk1ZKEcubGVmdCxHLnRvcCksYj1uLm5CLHg9TWF0aC5yb3VuZChHLngpLHggaW5zdGFuY2VvZiBnLk1ZPyhrPXgueCx4PXgueSk6KGs9eCx4PU1hdGgucm91bmQoRy55KSksYi5zdHlsZS5sZWZ0PXNqKGssITEpLGIuc3R5bGUudG9wPXNqKHgsITEpLGI9ITApO1c9bmV3IGcuYnIoKFcud2lkdGgtdi53aWR0aCkvMiwoVy5oZWlnaHQtdi5oZWlnaHQpLzIsdi53aWR0aCx2LmhlaWdodCk7dlkobi5JMCxXKXx8KG4uSTA9VyxiPSEwKTtnLmgxKG4ubkIsInRyYW5zZm9ybSIsRD09PTE/IiI6YHNjYWxlWCgke0R9KWApO2gmJkwhPT1uLlp4JiYoTCYmKG4ubkIuYWRkRXZlbnRMaXN0ZW5lcihHQSwKbi5reiksbi5uQi5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uY2FuY2VsIixuLmt6KSxuLm5CLmNsYXNzTGlzdC5hZGQoZy5Pbi5WSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORykpLG4uWng9TCxuLmFwcC5SQi5XSigicGxheWVyVW5kZXJsYXlWaXNpYmlsaXR5Q2hhbmdlIixuLlp4PyJ0cmFuc2l0aW9uaW5nIjoiaGlkZGVuIikpO3JldHVybiBifTsKWFM9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuRygpLmNvbnRyb2xzVHlwZT09PSIzIiYmIW4ud0YmJnE3KG4pJiYhbi5hcHAuc2p8fCExO24ubkIuY29udHJvbHM9VztuLm5CLnRhYkluZGV4PVc/MDotMTtuLmFwcC5HKCkuSiYmKG4ubkIuYXJpYUhpZGRlbj0idHJ1ZSIpO1c/bi5uQi5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCk6bi5uQi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsbi5KdCl9OwpwZVU9ZnVuY3Rpb24obil7dmFyIFc9bi5hcHAuTU4oKTtpZihXPVc/Vy5nZXRWaWRlb0RhdGEoKTpudWxsKXtpZihnLkhUKFcpfHxnLmZBKFcpfHxnLkpEKFcpKXJldHVybiAxNi85O2lmKE1zKFcpJiZXLlcuTigpKXJldHVybiBuPVcuVy52aWRlb0luZm9zWzBdLnZpZGVvLHRiKG4ud2lkdGgsbi5oZWlnaHQpfXJldHVybihuPW4ubkIpP3RiKG4udmlkZW9XaWR0aCxuLnZpZGVvSGVpZ2h0KToxNi85fTsKdGI9ZnVuY3Rpb24obixXKXtyZXR1cm4gTWF0aC5hYnMoJHIqVy1uKTwxfHxNYXRoLmFicygkci9uLVcpPDE/JHI6bi9XfTsKTk53PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PUQsaz10YihXLndpZHRoLFcuaGVpZ2h0KTtuLnJVP3Y9RDxrP0luZmluaXR5OjA6aXNOYU4obi5WUik/aXNOYU4obi5mVCl8fCh2PW4uZlQpOnY9bi5WUjtpc0Zpbml0ZSh2KT92PT09MCYmbi5hcHAuRygpLlp0KCkuTi5RUShIZngpJiYodj1NYXRoLm1pbihELGspKTp2PU1hdGgubWF4KEQsayk7bj12Pms/e3dpZHRoOlcud2lkdGgsaGVpZ2h0Olcud2lkdGgvdixhc3BlY3RSYXRpbzp2fTp2PGs/e3dpZHRoOlcuaGVpZ2h0KnYsaGVpZ2h0OlcuaGVpZ2h0LGFzcGVjdFJhdGlvOnZ9Ont3aWR0aDpXLndpZHRoLGhlaWdodDpXLmhlaWdodCxhc3BlY3RSYXRpbzprfTtifHxpc05hTihEKXx8KEQ+dj9uLndpZHRoPW4uaGVpZ2h0KkQ6RDx2JiYobi5oZWlnaHQ9bi53aWR0aC9EKSxuLmFzcGVjdFJhdGlvPUQpO3JldHVybiBufTsKcTc9ZnVuY3Rpb24obil7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTEpcmV0dXJuITE7aWYobi5hcHAuZ2V0QXBwU3RhdGUoKT09PTYpcmV0dXJuITA7dmFyIFc9bi5hcHAuTU4oKTtpZighV3x8Vy5KbigpKXJldHVybiExO249bi5hcHAuUkIuZ2V0UGxheWVyU3RhdGVPYmplY3QoKTtXPSFuLk4oMil8fFcmJlcuZ2V0VmlkZW9EYXRhKCkuSzt2YXIgRD1uLk4oMTAyNCk7cmV0dXJuIG4mJlcmJiFEJiYhbi5pc0N1ZWQoKX07CmZHUz1mdW5jdGlvbihuKXtpZihuLmNzbiE9PWcuUnYoKSlpZihuLmNzbj09PSJVTkRFRklORURfQ1NOIiluLmNzbj1nLlJ2KCk7ZWxzZXt2YXIgVz1nLlJ2KCksRD13NCgpO2lmKFcmJkQpe24uY3NuPVc7Zm9yKGxldCBiIG9mIG4uZWxlbWVudHMpe2xldCB2PWIudmlzdWFsRWxlbWVudDt2JiZ2LmlzQ2xpZW50VmUoKSYmVyYmRCYmKGcubCgiY29tYmluZV92ZV9ncmFmdHMiKT9PMyhJZigpLHYsRCk6UFYodWcpKHZvaWQgMCxXLEQsdikpfX1pZihXKWZvcihsZXQgYiBvZiBuLk4pKG49Yi52aXN1YWxFbGVtZW50KSYmbi5pc0NsaWVudFZlKCkmJkZqKFcsbil9fTsKSkViPWFzeW5jIGZ1bmN0aW9uKG4pe2lmKCFuLlk2KXtuLlk2PW4uRChuLlkpO3RyeXtsZXQgRD1Qcm9taXNlLndpdGhSZXNvbHZlcnMoKTt2YXIgVz1zZXRUaW1lb3V0KCgpPT57RC5yZWplY3QoInRpbWVvdXQiKX0sMUU0KTsKbi5ZNi5vbmVycm9yPSgpPT57RC5yZWplY3QoImVycm9yIil9OwpuLlk2Lm9ubWVzc2FnZT0oKT0+e0QucmVzb2x2ZSgpO2NsZWFyVGltZW91dChXKX07CmF3YWl0IEQucHJvbWlzZTtuLlk2Lm9ubWVzc2FnZT1udWxsO24uWTYub25lcnJvcj1udWxsO24uWTYuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+dm9pZCBuLnJlY2VpdmUoYikpOwpuLlUoIndvcmtlckN0b3IiLHt9KX1jYXRjaChEKXtjbGVhclRpbWVvdXQoVyksbi5ZNj8udGVybWluYXRlKCksbi5ZNi5vbm1lc3NhZ2U9bnVsbCxuLlk2Lm9uZXJyb3I9bnVsbCxuLlk2PXZvaWQgMCxuLlUoIndvcmtlckVyciIse2U6YCR7RH1gfSl9fX07CklHdz1mdW5jdGlvbihuLFcpe2lmKG4uTiYmbi5OLmJ5dGVMZW5ndGg9PT1XKXJldHVybiBuLk47Zm9yKHZhciBEPW5ldyBVaW50OEFycmF5KFcpLGI9MDtXPjA7KXtsZXQgdj1uZXcgVWludDhBcnJheShNYXRoLm1pbihXLDY1NTM2KSk7Y3J5cHRvLmdldFJhbmRvbVZhbHVlcyh2KTtELnNldCh2LGIpO1ctPXYubGVuZ3RoO2IrPXYubGVuZ3RofXJldHVybiBuLk49RH07ClNlMT1mdW5jdGlvbihuLFcpe24uWTYmJihXPUlHdyhuLFcpLFcubGVuZ3RoPjAmJldbMF0rKyxXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjEsYTk6e2RhdGE6V319LG4ucmVxdWVzdChXKSl9OwpBRWk9YXN5bmMgZnVuY3Rpb24obil7bi5KIT09dm9pZCAwfHxuLld8fChuLlc9ITAsYXdhaXQgSkViKG4pLG4uVz0hMSxuLlk2JiYoU2UxKG4sbi5LKSxuLko9c2V0SW50ZXJ2YWwoKCk9Pnt2YXIgVz1bMSwyLDMsNF07bi5CQiYmKFcucHVzaCg1KSxuLlgmJlcucHVzaCg2KSk7c3dpdGNoKFdbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKlcubGVuZ3RoKV0pe2Nhc2UgMTpTZTEobixuLmopO2JyZWFrO2Nhc2UgMjpuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZToyLGx4OntwbGFjZWhvbGRlcjohMH19LG4ucmVxdWVzdChXKSk7YnJlYWs7Y2FzZSAzOlc9bi5NdztuLlk2JiYoVz17cUw6cGVyZm9ybWFuY2Uubm93KCksdHlwZTozLHEwOntNdzpXfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDQ6bi5ZNiYmKFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NCxpc1R5cGVTdXBwb3J0ZWQ6e3BsYWNlaG9sZGVyOiEwfX0sbi5yZXF1ZXN0KFcpKTticmVhaztjYXNlIDU6bi5CQiYmCihXPXtxTDpwZXJmb3JtYW5jZS5ub3coKSx0eXBlOjUseTg6e0JCOm4uQkJ9fSxuLnJlcXVlc3QoVykpO2JyZWFrO2Nhc2UgNjp2YXIgRD1uLmo7Vz1uLlM3O24uWTYmJihEPUlHdyhuLEQpLFc9e3FMOnBlcmZvcm1hbmNlLm5vdygpLHR5cGU6NixKTDp7ZGF0YTpELFM3Old9fSxuLnJlcXVlc3QoVykpfX0sbi5pbnRlcnZhbE1zKSkpfTsKcjU9ZnVuY3Rpb24obixXLEQpe24uc2VuZE1lc3NhZ2Uoe1sxNjFdOjIsWzExNl06VyxbMTM5XTpEfSl9OwpaZnc9YXN5bmMgZnVuY3Rpb24obil7dmFyIFc9bi50Yi5HKCksRD1XLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKS50cnVzdGVkUGxheWJhY2tXb3JrZXJVcmw7aWYoRD1wdyhEfHxudWxsKSluLlk2PVhNKEQpLG4uTj1uZXcgbWFVKG4uWTYpLG4uWTYuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntnLlhqKGIuZXJyb3IpfSksbi5ZNi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixiPT57dmFyIHY9Yi5kYXRhOwpiPXZbMTE4XTt2YXIgaz12WzE4MF07aWYoaylmb3IodmFyIGggb2Yga1sxMjJdKShrPW4uVy5nZXQoaFsxMTldKSkmJktMWihrLGhbMTUxXSk7c3dpdGNoKGJbMTYxXSl7Y2FzZSAxOmxldCB7WzEwM106ZSxbM106R309YlsxN107c3dpdGNoKGUpe2Nhc2UgMTpsZXQgW3IsTl09RztuLnRiLmNsZWFyUXVldWUocixOKTticmVhaztjYXNlIDI6W2JdPUc7bi50Yi5vblBsYXllclJlcXVlc3RTZW50KGIpO2JyZWFrO2Nhc2UgMzpsZXQgW0gsQSx5XT1HO2lmKGI9eT9uLkouZ2V0KHkpOm51bGwpYj1iLmdldFZpZGVvRGF0YSgpLG4udGIuVmEoSCxBLGIpO2JyZWFrO2Nhc2UgNDpsZXQgW1QseixDXT1HO2I9bi5YLmdldCh6KTtpZighYil0aHJvdyBFcnJvcihgVW5rbm93biBtaXJyb3JlZCBDdWVSYW5nZTogJHt6fWApO24udGIuQ0ooVCxiLEMpO2JyZWFrO2Nhc2UgNTpbYl09RzsoYj1uLkouZ2V0KGIpKSYmbi50Yi5ueShiLmdldFZpZGVvRGF0YSgpKTticmVhaztjYXNlIDY6W2JdPUc7KGI9Cm4uSi5nZXQoYikpJiZuLnRiLmZMKGIuZ2V0VmlkZW9EYXRhKCkpO2JyZWFrO2Nhc2UgNzpuLnRiLkdjKCk7YnJlYWs7ZGVmYXVsdDpnLnBiKGUsdm9pZCAwKX1icmVhaztjYXNlIDI6dj1uLk47aD1iWzExNl07Yj1iWzEzOV07az12Lk4uZ2V0KGgpO3RyeXtrJiZrLnJlamVjdChiKX1maW5hbGx5e3YuTi5kZWxldGUoaCl9YnJlYWs7Y2FzZSAzOnY9bi5OO2g9YlsxMTZdO2I9YlsxMzldO2s9di5OLmdldChoKTt0cnl7ayYmay5yZXNvbHZlKGIpfWZpbmFsbHl7di5OLmRlbGV0ZShoKX1icmVhaztjYXNlIDQ6T2Z0KG4sdik7YnJlYWs7Y2FzZSA1OmJyZWFrO2Nhc2UgNjpiPXZbMTE4XTtoPW4uSy5nZXQoYls5OF0pO3Y9dlsxMzhdO2lmKGgpe2xldCB7WzEwM106cixbM106Tn09YlsxN107c3dpdGNoKHIpe2Nhc2UgImxvYWQiOmgubG9hZCguLi5OKTt2JiZyNShuLk4sdik7YnJlYWs7Y2FzZSAicGxheSI6Yj1oLnBsYXkoLi4uTik7diYmc1oobix2LGJ8fHZvaWQgMCk7YnJlYWs7Y2FzZSAicGF1c2UiOmgucGF1c2UoLi4uTiksCnYmJnI1KG4uTix2KX19YnJlYWs7Y2FzZSA3OmlmKHY9bi5LLmdldChiWzk4XSkpe3ZhciB7WzEzNV06eCxbMTY1XTpMfT1iWzE0NF07Yj12LmVfKCk7c3dpdGNoKHgpe2Nhc2UgImN1cnJlbnRUaW1lIjpiLmN1cnJlbnRUaW1lPUw7YnJlYWs7Y2FzZSAiZGVmYXVsdFBsYXliYWNrUmF0ZSI6Yi5kZWZhdWx0UGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAibG9vcCI6Yi5sb29wPUw7YnJlYWs7Y2FzZSAibXV0ZWQiOmIubXV0ZWQ9TDticmVhaztjYXNlICJwbGF5YmFja1JhdGUiOmIucGxheWJhY2tSYXRlPUw7YnJlYWs7Y2FzZSAic3JjIjpMPyhiPW4uRC5nZXQoTCkpJiZ2LnM1KGIpOih2LlZRKCksdi5lJCgpKTticmVhaztkZWZhdWx0OmcucGIoeCx2b2lkIDApfX1icmVhaztjYXNlIDg6aWYodj1uLlcuZ2V0KGJbMTE5XSkpe2xldCB7dHlwZTpyLGFyZ3M6TixsVDpIfT17dHlwZTpiWzQ3XVsxNjFdLGFyZ3M6Yls0N11bM10sbFQ6Wy4uLmJbNDddWzNdXX07c3dpdGNoKHIpe2Nhc2UgImludGVybmFsYXVkaW9mb3JtYXRjaGFuZ2UiOmI9Ck5bMF1bNV07di52aWRlb0RhdGEuWD1iP09OKGIpOm51bGw7SFswXT12LnZpZGVvRGF0YTticmVhaztjYXNlICJpbnRlcm5hbHZpZGVvZm9ybWF0Y2hhbmdlIjpiPU5bMF1bNDhdO3YudmlkZW9EYXRhLko9Yj9PTihiKTpudWxsO0hbMF09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaW50ZXJuYWx2aWRlb2RhdGFjaGFuZ2UiOmI9TlsxXTtoPSEhdi52aWRlb0RhdGEuZ2V0UGxheWVyUmVzcG9uc2UoKTt6Zih2LnZpZGVvRGF0YSx7cmF3X3BsYXllcl9yZXNwb25zZTpiWzEyNV18fHZvaWQgMH0sIWgsITEpO0hbMV09di52aWRlb0RhdGE7YnJlYWs7Y2FzZSAiaGVhcnRiZWF0cGFyYW1zIjpiPU5bMF07SFswXT17dXJsOmJbMTYyXSxpbnRlcnZhbDpiWzU2XSxyZXRyaWVzOmJbMTQwXX07YnJlYWs7Y2FzZSAibm9uZmF0YWxlcnJvciI6Yj1OWzBdO0hbMF09bmV3IGcuQ2koYls0NV0sYlszOF0sYlsxNDVdKTticmVhaztjYXNlICJzdGF0ZWNoYW5nZSI6Yj1OWzBdO2g9TXdoKGJbMTUxXSk7SFswXT0KbmV3IGcuTjcoaCxNd2goYlsxMTNdKSk7di5wbGF5ZXJTdGF0ZT1oO2JyZWFrO2Nhc2UgInZpZGVvZWxlbWVudGV2ZW50IjpIWzBdPW5ldyBQQlModi5tZWRpYUVsZW1lbnQsTlswXVsxNjFdKX12LmV2ZW50cy5XSihyLC4uLkgpfWJyZWFrO2Nhc2UgOTpuLkQuc2V0KGJbMTAxXSxiWzEwMF0pO2JyZWFrO2RlZmF1bHQ6Zy5wYihiLHZvaWQgMCl9fSksbi5ZNi5wb3N0TWVzc2FnZSh7dHlwZToiQk9PVFNUUkFQIiwKZGF0YTp7aG9zdG5hbWU6d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLGhyZWY6d2luZG93LmxvY2F0aW9uLmhyZWYscHJvdG9jb2w6d2luZG93LmxvY2F0aW9uLnByb3RvY29sLHNlYXJjaDp3aW5kb3cubG9jYXRpb24uc2VhcmNoLHl0Q29uZmlnOntJTk5FUlRVQkVfSE9TVF9PVkVSUklERTp3aW5kb3cubG9jYXRpb24ub3JpZ2luLC4uLmcucWkueXQuY29uZmlnX319fSksbi5zZW5kTWVzc2FnZSh7WzE2MV06MyxbMTc1XTpXLmdldFdlYlBsYXllckNvbnRleHRDb25maWcoKX0pfTsKc1o9ZnVuY3Rpb24obixXLEQpe0Q/RC50aGVuKGI9PntyNShuLk4sVyxiKX0sYj0+e24uTi5zZW5kTWVzc2FnZSh7WzE2MV06MSwKWzExNl06VyxbMTM5XTpifSl9KTpyNShuLk4sVyxudWxsKX07Ck9mdD1mdW5jdGlvbihuLFcpe3ZhciBEPVdbMTE4XTtzd2l0Y2goRFsxMDNdKXtjYXNlIDE6bGV0IFtiLHYsa109RFszXTtEPW4udGIuZFEoYix2LGspOyhXPVdbMTM4XSkmJnNaKG4sVyxEKTticmVhaztjYXNlIDI6bGV0IFtoLHhdPURbM107RD1VYWgoeCxoKTsoVz1XWzEzOF0pJiZzWihuLFcsQWUoU2soRCxMPT4oe1sxNl06Zy5sWihMKSxbMTQ2XToiYzFhImluIEwuUlI/IWcudVouaXNJbml0aWFsaXplZCgpOiExfSkpKSk7CmJyZWFrO2Nhc2UgMzpEPW4udGIueWYoKTsoVz1XWzEzOF0pJiZzWihuLFcsRCk7YnJlYWs7ZGVmYXVsdDpnLnBiKERbMTAzXSx2b2lkIDApfX07CnlFMj1mdW5jdGlvbihuKXt2YXIgVz1uLnRiLkcoKSxEPW4udGIubGooKSxiPW4udGIuaGgoKSx2PUQuZ2V0UGxheWVyU2l6ZSgpO0Q9RC5FeigpO1c9e1syM106bi50Yi5GbigpLFs0NF06e1sxXTpXLlMkLFsxMjRdOlcuQ3UsWzEzMV06Vy55RSxbMTQzXTpXLmpXLFsxNTVdOlcuRVp9LFs1OV06bi50Yi5FOCgpLFs2MV06bi50Yi52MygpLFs2Nl06bi50Yi5pc0Z1bGxzY3JlZW4oKSxbNjddOiExLFs3MF06bi50Yi5qSSgpLFs3MV06bi50Yi5pc0lubGluZSgpLFs3Ml06bi50Yi5CUCgpLFs3M106bi50Yi5pc011dGVkKCksWzc1XTpuLnRiLmlzT3JjaGVzdHJhdGlvbkxlYWRlcigpLFs3N106bi50Yi5BbigpLFs4MF06ITEsWzgyXTohMSxbODNdOm4udGIuU0koKSxbODRdOm4udGIuUTAoKSxbMTA2XTpuLnRiLmlzTXV0ZWQoKSxbMTI2XTp7WzE3OV06di53aWR0aCxbNTNdOnYuaGVpZ2h0fSxbMTMzXTpuLnRiLk1OKCkuSEwoKSxbMTM0XTpuLnRiLk1OKCkuVXUoKSxbMTY2XTp7WzE3OV06RC53aWR0aCwKWzUzXTpELmhlaWdodH0sWzE3MV06YixbMTc0XTpuLnRiLmdldFZvbHVtZSgpfTtiPVtdO2ZvcihsZXQgW2ssaF1vZiBuLlcuZW50cmllcygpKXY9ayxEPWguZ2V0VmlkZW9EYXRhKCksYi5wdXNoKHtbMTE5XTp2LFsxNTFdOntbMTY3XTp7WzI1XTpELlJEfX19KTtuLlkmJk9iamVjdC5hc3NpZ24oVyx7WzY3XTpuLnRiLkhvKCksWzgwXTpuLnRiLmdXKCksWzgyXTpuLnRiLmRUKCl9KTtyZXR1cm57WzJdOlcsWzEyMl06Yn19OwpFJE09ZnVuY3Rpb24obixXKXt2YXIgRD1gbWFpbi5jdWVSYW5nZToke24uTysrfWA7aWYobi5YLmdldChEKSlyZXR1cm4gRDtuLlguc2V0KEQsVyk7bi5qLnNldChXLEQpO3JldHVybiBEfTsKaWZDPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5qLmdldChXKTtpZihEKXJldHVybiBuLmouZGVsZXRlKFcpLG4uWC5kZWxldGUoRCksRH07CktMWj1mdW5jdGlvbihuLFcpe1cmJihPYmplY3QuYXNzaWduKG4uTixXKSxuLmF1ZGlvVHJhY2s9RGMoV1s3XSksbi5YPVhMUyhXWzE0N10pLFc9V1sxNjddKSYmKG4udmlkZW9EYXRhLlR3PVdbMThdLG4udmlkZW9EYXRhLmNhcHRpb25UcmFja3M9V1syMF0ubWFwKEQ9PlZ3KEQpKSxuLnZpZGVvRGF0YS53YT1XWzIxXSxuLnZpZGVvRGF0YS5PJD1XWzE5XSxuLnZpZGVvRGF0YS5HQz1XWzMwXSxuLnZpZGVvRGF0YS52WD1EYyhXWzM1XSksbi52aWRlb0RhdGEuU3c9V1sxNzZdKX07CnU4Yj1hc3luYyBmdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtyZXR1cm4gbi5mYSh7WzE2MV06OSxbMTddOlcsWzExOV06RH0pfTsKZy5wSj1mdW5jdGlvbihuLFcsRCl7Vz17WzEwM106VyxbM106RH07RD1uLmZnLk5lLmdldChuKTtuLnNlbmRNZXNzYWdlKHtbMTYxXTo5LFsxN106VyxbMTE5XTpEfSl9OwpZcj1mdW5jdGlvbihuKXt2YXIgVz1bXTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXLnB1c2goe1sxNTBdOm4uc3RhcnQoRCksWzQyXTpuLmVuZChEKX0pO3JldHVybiBXfTsKbyRVPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJlc9PT0yPyhuLkIuWnQoKS5OLlFRKEhmKT9uLlZyLk4/LmlzQWQoKT8/ITE6bi5Rdz8uTmQobi5nZXRDdXJyZW50VGltZSgpKSk/bi5pdTotMTpXIT09Mnx8bi5MWSgpP24uaXU6bi5CJH07CnY3PWZ1bmN0aW9uKG4pe3JldHVybiBuLnNqJiZuLmdldFZpZGVvRGF0YSgpLm11dGVkQXV0b3BsYXl9Owp2YXIgbXR4PWZ1bmN0aW9uKG4pe3JldHVybiBYRFtJWzEwXV0odGhpcywxNiw0MDI5LG4pfTsKZko9ZnVuY3Rpb24obixXLEQpe1cmJihXPW4uVkUoe3BsYXllclR5cGU6RH0pLFc9PT1uLmNYKCkmJihXLmdldFZpZGVvRGF0YSgpLlBYPSEwKSl9OwpKYj1mdW5jdGlvbihuLFcsRD0hMCxiLHYsayl7dmFyIGg9bi5WRSh7cGxheWVyVHlwZTp2fSkseD1oLmdldFZpZGVvRGF0YSgpO2guZ2V0UGxheWVyVHlwZSgpPT09MiYmIW4uTFkoaCkmJiF4LmlzU2Vla2FibGV8fGcucEEoeCl8fChoJiZoPT09bi5jWCgpJiZuLkhOJiYhZGF0KG4sVykmJm4uc2V0TG9vcFJhbmdlKG51bGwpLG4uc2Vla1RvKFcsRCxiLHYsaywiX3JlcXVlc3QiKSl9OwpBYj1mdW5jdGlvbihuLFcpe1c9bi5WRSh7cGxheWVyVHlwZTpXfSk7Vz1nLklYKG4sVyk7cmV0dXJuIFNhKG4sVy5QRygpLFcpfTsKUGY9ZnVuY3Rpb24obixXLEQpe24uQi5iTiYmKG4uRl89VyxXLm11dGVkfHxLSihuLCExKSxEJiZuLkIuc3RvcmVVc2VyVm9sdW1lJiYhbi5CLnM1JiYoRD17dm9sdW1lOk1hdGguZmxvb3IoVy52b2x1bWUpLG11dGVkOlcubXV0ZWR9LEQudW5zdG9yYWJsZXx8KGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQpLGcuUEIoInl0LXBsYXllci12b2x1bWUiLEQsMjU5MkUzKSkpLE9aKG4pLEQ9Zy5vZCYmbi5tZWRpYUVsZW1lbnQmJiFuLm1lZGlhRWxlbWVudC5YXygpJiYhbi5tZWRpYUVsZW1lbnQuVEMoKSxuLkIuczUmJiFEfHxnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIix7bXV0ZWQ6Vy5tdXRlZCx2b2x1bWU6Vy52b2x1bWUsdW5zdG9yYWJsZTohbi5CLnN0b3JlVXNlclZvbHVtZX0pKX07ClZTPWZ1bmN0aW9uKG4pe3JldHVybiBuLmNYKCkuZ2V0VmlkZW9EYXRhKCl9Owp6djI9ZnVuY3Rpb24obixXPSExKXt2YXIgRD0hMTtuLkIuR0MmJihuLlJCLldKKCJwYWdlVHJhbnNpdGlvbiIpLEQ9ITApO24uc3RvcFZpZGVvKEQsVyl9OwpVWj1mdW5jdGlvbihuLFcsRCxiLHYsayxoKXtXPXtpZDpXLG5hbWVzcGFjZTpoPz8iYXBwYXBpIn07az09PSJjaGFwdGVyIj8oVy5zdHlsZT1aTC5DSEFQVEVSX01BUktFUixXLnZpc2libGU9ITApOmlzTmFOKHYpfHwoaz09PSJhZCI/Vy5zdHlsZT1aTC5BRF9NQVJLRVI6KFcuc3R5bGU9WkwuVElNRV9NQVJLRVIsVy5jb2xvcj12KSxXLnZpc2libGU9ITApO24uWEgoW25ldyBnLmw1KEQqMUUzLGIqMUUzLFcpXSwxKTtyZXR1cm4hMH07CmxHdz1mdW5jdGlvbihuLFcsRD0hMCxiLHYpe3ZhciBrPW4uVkUoe3BsYXllclR5cGU6MX0pLGg9MDtrLmdldFN0cmVhbVRpbWVPZmZzZXQoKSYmIWsuU1coKSYmKGg9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO0piKG4sVy1oLEQsYiwxLHYpfTsKajgyPWZ1bmN0aW9uKG4pe2lmKG4uQi5zdG9yZVVzZXJWb2x1bWUpcmV0dXJuIHJQKCk7dmFyIFc9bi5pc0lubGluZSgpfHxuLndlYlBsYXllckNvbnRleHRDb25maWcuY29udGV4dElkPT09IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfS0VWTEFSX0lOTElORV9QUkVWSUVXIjtyZXR1cm4gbi5adCgpLk4uUVEoVE5DKSYmVz97dm9sdW1lOnJQKCkudm9sdW1lLG11dGVkOm4uQi5tdXRlfTp7dm9sdW1lOjEwMCxtdXRlZDpuLkIubXV0ZX19OwpDQlM9ZnVuY3Rpb24obixXLEQsYix2LGs9ITApe3ZhciBoPW4uaEMoKTtpZighaClyZXR1cm4gayYmbi5nZXRWaWRlb0RhdGEoKS5pc0xpdmVQbGF5YmFjayYmbi5KVi5wdXNoKHtpZDpXLFd1OkQsdHY6Yn0pLCExO2s9aC1uLmdldEN1cnJlbnRUaW1lKCk7cmV0dXJuIFVaKG4sVyxELWssYi1rLHZvaWQgMCx2b2lkIDAsdil9Owp5Wj1mdW5jdGlvbihuLFcpe24ucGxheWxpc3QmJihnLkNwKG4ucGxheWxpc3QpLG4ucGxheWxpc3Q9bnVsbCk7VyYmKG4uWlYmJihXLmZldGNoPTApLG4ucGxheWxpc3Q9bmV3IEJOYihuLkIsVykpfTsKaWw9ZnVuY3Rpb24obixXLEQpe1c9bi5WRSh7cGxheWVyVHlwZTpEfSkuTnAoVyk7RCYmbi5nZXRQcmVzZW50aW5nUGxheWVyVHlwZSgpIT09RHx8RVoobiwiY3VlcmFuZ2VzcmVtb3ZlZCIsVyl9OwpVYWg9ZnVuY3Rpb24obixXKXtyZXR1cm4gSFAobmV3IGcuRkxVKHtwSzpXLGNsaWVudFBsYXliYWNrTm9uY2U6bn0pKX07CndlVT1mdW5jdGlvbihuLFcsRCxiPUluZmluaXR5LHY9MCl7dmFyIGs9bi5NTigpO0Q9RHx8ay5nZXRQbGF5ZXJUeXBlKCk7KGs9dWwobixELFcsITApKXx8KGs9b1gobixELFcsITApKTtXPW4uY1goKTtEPT09MiYmVyYmKEQ9ay5nZXRWaWRlb0RhdGEoKSxXLlV5KEQuY2xpZW50UGxheWJhY2tOb25jZSxELkZGfHwiIixELmJyZWFrVHlwZXx8MCxELllLLEQudmlkZW9JZHx8IiIpKTtuLldwKGssYiwwLHYpfTsKTVlNPWZ1bmN0aW9uKG4pe3ZhciBXPW4ud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmw7cmV0dXJuIFc/cHcoVykudG9TdHJpbmcoKTpuLndlYlBsYXllckNvbnRleHRDb25maWcuanNVcmx9OwpSdlo9ZnVuY3Rpb24obil7dmFyIFc9IiIsRD0iIixiPU1ZTShuKSx2PWcubGYoYiwiY2IiKTt2JiYvXltcdy1dKyQvLnRlc3QodikmJihEPXYpO2IuaW5kZXhPZigiLy8iKT09PTAmJihiPW4uQi5wcm90b2NvbCsiOiIrYik7dj1iLmxhc3RJbmRleE9mKCIvYmFzZS5qcyIpO3YhPT0tMSYmKFc9Yi5zdWJzdHJpbmcoMCx2KzEpKTtpZihiPUVycm9yKCkuc3RhY2spaWYoYj1iLm1hdGNoKC9cKCguKj9cLyhkZWJ1Zy0pP3BsYXllci0uKj8pOlxkKzpcZCtcKS8pKWI9YlsxXSxiLmluY2x1ZGVzKFcpfHxnLkdxKEVycm9yKGBQbGF5ZXIgbW9kdWxlIFVSTCBtaXNtYXRjaDogJHtifSB2cyAke1d9LmApKTtXPW5ldyBnLmQ1KG4uUkIsVyxEKTtqTGooVyx7ZGVzdHJveWVkOigpPT57bi5vbkFwaUNoYW5nZSgpfX0pOwpyZXR1cm4gV307ClE4eD1mdW5jdGlvbihuKXtpZihuLkIuWnQoKS5OLlFRKG5hKSl7bi5tUS50aWNrKCJ3YXNtX3MiKTtsZXQgVz1FZChuLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCx2b2lkIDAsbi5JbC5iaW5kKG4pKTtuLkIuZUI9U2soVyxEPT57bi5tUS50aWNrKEQuaXNBc21qcz8id2FzbV9mYSI6Indhc21fZnciKTtKdShuLkIsRCk7cmV0dXJuIER9LEQ9PntuLm1RLnRpY2soIndhc21fZmVyciIpOwp0aHJvdyBEO30pfWVsc2UgT28obixmdW5jdGlvbigpe3ZhciBXPXRoaXM7CnJldHVybiBmdW5jdGlvbiooKXtXLm1RLnRpY2soIndhc21fcyIpO3ZhciBEPVFZKFcueDYpP2I9PlNrKERyWihXLng2KSx2PT52LmdCKGIpKTp2b2lkIDA7CnRyeXtsZXQgYj1FZChXLndlYlBsYXllckNvbnRleHRDb25maWcud2FzbU1vZHVsZVVybCxELFcuSWwuYmluZChXKSksdj15aWVsZCpQUChiKTtXLm1RLnRpY2sodi5pc0FzbWpzPyJ3YXNtX2ZhIjoid2FzbV9mdyIpO0p1KFcuQix2KX1jYXRjaChiKXtXLm1RLnRpY2soIndhc21fZmVyciIpfX0oKX0pfTsKVll4PWZ1bmN0aW9uKG4pe3ZhciBXPW5ldyBnLlVyKG4uQixuLk5RKTtuLlJCLldKKCJpbml0aWFsdmlkZW9kYXRhY3JlYXRlZCIsVyk7cmV0dXJuIG9YKG4sMSxXLCExKX07CmFHMT1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7Vy5zZXRQbGF5YmFja1JhdGUobi5CLko/MTpjRXIobixOdW1iZXIoZy5aSSgieXQtcGxheWVyLXBsYXliYWNrLXJhdGUiKSl8fDEpKTtXLmgkKG4uWkwsbik7Vy5zbSgpfTsKVzJ3PWZ1bmN0aW9uKG4pe24uamgoKTt2YXIgVz1uLk5RO3pBKG4pO24uZXZlbnRzLk5OKHdpbmRvdywicmVzaXplIixuLkE2KTt2YXIgRD1WUyhuKTtnLlZVKG4uUkIsIm9uVm9sdW1lQ2hhbmdlIixuLkZfKTtpZihXJiZaVChXKSl7bGV0IGI9dkUobi5CKTtiJiYhbi5aViYmKFcuZmV0Y2g9MCk7bGV0IHY9Zy5vNChuLkIpO3YmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9wcl9zIik7aWYoIWJ8fG4uWlYpaWYodiYmIW4uWlYpbGwobik7ZWxzZSBpZighRC5PVigpKW4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSl9bi5RVChuLmNYKCksITEsITApOwpuLmNYKCkuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCl8fChXPWhnUyghbi5CLmRldmljZUlzQXVkaW9Pbmx5KSxXPT09ImZtdC5ub25lYXZhaWxhYmxlIj9uLktnKCJodG1sNS5taXNzaW5nYXBpIiwyLCJIVE1MNV9OT19BVkFJTEFCTEVfRk9STUFUU19GQUxMQkFDSyIsIm5vY29kZWNzLjEiKTpXPT09Imh0bWw1Lm1pc3NpbmdhcGkiP24uS2coVywyLCJVTlNVUFBPUlRFRF9ERVZJQ0UiLCJub2NhbnBsYXltZWRpYS4xIik6RCYmRC5PVigpJiZDSihuKSYmKG4uQi5VNXx8bi5CLk1kKT9CZihuKTpELkpHP24uUkIubXV0ZWRBdXRvcGxheSh7ZHVyYXRpb25Nb2RlOkQubXV0ZWRBdXRvcGxheUR1cmF0aW9uTW9kZX0pOmcuWkkoInl0LXBsYXllci1wbGF5YmFjay1vbi1yZWxvYWQiKT8oZy56VSgiZW1iZWRzSXRwUGxheWVkT25SZWxvYWQiLHtwbGF5ZWRPblJlbG9hZDohMCxpc0xvZ2dlZEluOiEhbi5CLlRDfSksZy5QQigieXQtcGxheWVyLXBsYXliYWNrLW9uLXJlbG9hZCIsITEpLEJmKG4pKToKbi5CLlk9PT0ibGVhbmJhY2sifHxuNWoobiksZy5lTShuLkIpfHxnLnNkKG4uQik/KGcuY0IoZy5EeSgpLCgpPT57RlMobil9KSxnLmNCKGcuRHkoKSwoKT0+e3g1KCl9KSk6KEZTKG4pLHg1KCkpKX07CkRlYj1mdW5jdGlvbihuKXt2YXIgVz1EPT57RC5zdGFjayYmRC5zdGFjay5pbmRleE9mKCJwbGF5ZXIiKSE9PS0xJiZuLk1OKCkuVWUoRCl9OwpTaS5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTtLdy5wdXNoKFcpO3JldHVybigpPT57U2kudW5zdWJzY3JpYmUoImhhbmRsZUVycm9yIixXKTt2YXIgRD1Ldy5pbmRleE9mKFcpO0QhPT0tMSYmS3cuc3BsaWNlKEQsMSl9fTsKb1g9ZnVuY3Rpb24obixXLEQsYix2KXtpZihuLmZnJiZELk9WKCkpbj1uZXcgZy53NShuLkIsbi5mZyxXLEQpO2Vsc2V7bGV0IGs9bi5tUTtXPT09MiYmKGs9bmV3IGJjUyhuLkIpKTtXPW5ldyBnLk03KG4sbi5CLFcsayxuLnRlbXBsYXRlLG4udmlzaWJpbGl0eSxuLmlqLEQsdixuLmRoLG4uaTcpO24uQi5adCgpLk4uUVEodjVpKSYmbi5uVChELmNsaWVudFBsYXliYWNrTm9uY2UpO249bmV3IGcuUlgoVyl9YiYmbi5zbSgpO3JldHVybiBufTsKY0VyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5SQi5nZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzKCk7Vz1OdW1iZXIoVy50b0ZpeGVkKDIpKTtuPURbMF07RD1EW0QubGVuZ3RoLTFdO1c8PW4/Vz1uOlc+PUQ/Vz1EOihuPU1hdGguZmxvb3IoVyoxMDArLjAwMSklNSxuIT09MCYmKFctPW4qLjAxLFc9TWF0aC5mbG9vcihXKjEwMCsuMDAxKS8xMDApKTtyZXR1cm4gV307ClZaPWZ1bmN0aW9uKG4pe1FaKG4pO24uc2V0TG9vcFZpZGVvKCExKTtuLnNldExvb3BSYW5nZShudWxsKTtuLlJCLldKKCJsZWdhY3lhZHRyYWNraW5ncGluZ3Jlc2V0Iik7bi5hbD17fTtuLkpWPVtdO1pCaihuLm1RKTtpZihuLlF3KXt2YXIgVz1uLlF3LEQ9bi5jWCgpO0QuZ2V0UGxheWVyVHlwZSgpO0NPKFcsITEpO25KKFcpO2NSYihXKTtXLmdzPUR9Vz1uLnNVO249bi5jWCgpO24uZ2V0UGxheWVyVHlwZSgpIT09MSYmZy5MSihXLCJpbnZhbGlkUGFyZW50VmlkZW9QbGF5ZXJUeXBlIik7REwoVywhMSk7Zy5nNShXKTtXLk49bn07Cmswaj1mdW5jdGlvbihuKXt2YXIgVz1uLm1lZGlhRWxlbWVudDt6aSgpP24ua1YuTk4oVywid2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQiLG4udFcpOndpbmRvdy5kb2N1bWVudC5waWN0dXJlSW5QaWN0dXJlRW5hYmxlZCYmKG4ua1YuTk4oVywiZW50ZXJwaWN0dXJlaW5waWN0dXJlIiwoKT0+e24ucEwoITApfSksbi5rVi5OTihXLCJsZWF2ZXBpY3R1cmVpbnBpY3R1cmUiLCgpPT57bi5wTCghMSl9KSk7Cnc4JiYobi5rVi5OTihXLCJ3ZWJraXRiZWdpbmZ1bGxzY3JlZW4iLCgpPT57bi5GTygzKX0pLG4ua1YuTk4oVywid2Via2l0ZW5kZnVsbHNjcmVlbiIsKCk9PntuLkZPKDApfSkpfTsKekE9ZnVuY3Rpb24obil7bi5tZWRpYUVsZW1lbnQ9bi5CLmRldmljZUlzQXVkaW9Pbmx5P25ldyBnLkdWKGcuekYoIkFVRElPIikpOnFLLnBvcCgpfHxuZXcgZy5HVihnLnpGKCJWSURFTyIpKTtuLkIuWnQoKS5OLlFRKGNmKXx8Zy51KG4sbi5tZWRpYUVsZW1lbnQpO24uTU4oKS5zZXRNZWRpYUVsZW1lbnQobi5tZWRpYUVsZW1lbnQpO3RyeXtuLkIuczU/KG4uR3YmJm4uZXZlbnRzLndIKG4uR3YpLG4uR3Y9bi5ldmVudHMuTk4obi5tZWRpYUVsZW1lbnQsInZvbHVtZWNoYW5nZSIsbi56ZCkpOihuLm1lZGlhRWxlbWVudC5jSihuLkZfLm11dGVkKSxuLm1lZGlhRWxlbWVudC5zZXRWb2x1bWUobi5GXy52b2x1bWUvMTAwKSl9Y2F0Y2godil7bi5LZygiaHRtbDUubWlzc2luZ2FwaSIsMiwiVU5TVVBQT1JURURfREVWSUNFIixgc2V0dm9sdW1lLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09Im9iamVjdCImJiJtZXNzYWdlImluIHYmJnR5cGVvZiB2Lm1lc3NhZ2U9PT0ic3RyaW5nIiYmdi5tZXNzYWdlLnJlcGxhY2UoL1s7OixdL2csCiJfIil9YCk7cmV0dXJufW4ua1YuSigpO2swaihuKTt2YXIgVz1uLnRlbXBsYXRlLEQ9bi5tZWRpYUVsZW1lbnQuZV8oKTtXLm5CPUQ7Vy53Rj0hMTtXLm5CLnBhcmVudE5vZGV8fGcuanAoVy5WUCxXLm5CLDApO1cuRU49bmV3IGcuYnIoMCwwLDAsMCk7WWVpKFcpO1hTKFcpO0Q9Vy5uQjtnLlVJKEQsInZpZGVvLXN0cmVhbSIpO2cuVUkoRCxnLk9uLk1BSU5fVklERU8pO3ZhciBiPVcuYXBwLkcoKTtiLmxRJiZELnNldEF0dHJpYnV0ZSgiZGF0YS1uby1mdWxsc2NyZWVuIiwidHJ1ZSIpO2IueGgmJihELnNldEF0dHJpYnV0ZSgid2Via2l0LXBsYXlzaW5saW5lIiwiIiksRC5zZXRBdHRyaWJ1dGUoInBsYXlzaW5saW5lIiwiIikpO2IuSkcmJlcubkImJlcuTk4oRCwiY2xpY2siLEQucGxheSxEKTt0cnl7bi5tZWRpYUVsZW1lbnQuRCgpfWNhdGNoKHYpe24uS2coImh0bWw1Lm1pc3NpbmdhcGkiLDIsIlVOU1VQUE9SVEVEX0RFVklDRSIsYGFjdGl2YXRlLjE7ZW1zZy4ke3YmJnR5cGVvZiB2PT09CiJvYmplY3QiJiYibWVzc2FnZSJpbiB2JiZ0eXBlb2Ygdi5tZXNzYWdlPT09InN0cmluZyImJnYubWVzc2FnZS5yZXBsYWNlKC9bOzosXS9nLCJfIil9YCl9fTsKRVo9ZnVuY3Rpb24obixXLEQpe24uUkIuV0ooVyxEKTt2YXIgYj1nLms2KG4uQil8fGcuRGYobi5CKXx8Zy5NVihuLkIpO2lmKEQmJmIpe2xldCB2O3N3aXRjaChXKXtjYXNlICJjdWVyYW5nZW1hcmtlcnN1cGRhdGVkIjp2PSJvbkN1ZVJhbmdlTWFya2Vyc1VwZGF0ZWQiO2JyZWFrO2Nhc2UgImN1ZXJhbmdlc2FkZGVkIjp2PSJvbkN1ZVJhbmdlc0FkZGVkIjticmVhaztjYXNlICJjdWVyYW5nZXNyZW1vdmVkIjp2PSJvbkN1ZVJhbmdlc1JlbW92ZWQifXYmJmcuUlQobi5SQix2LEQubWFwKGs9Pih7Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH0sZW5kOmsuZW5kLGlkOmsuZ2V0SWQoKSxuYW1lc3BhY2U6ay5uYW1lc3BhY2U9PT0iYWQiPyJhZCI6IiIsc3RhcnQ6ay5zdGFydCxzdHlsZTprLnN0eWxlLHZpc2libGU6ay52aXNpYmxlLG1hcmtlclBvc2l0aW9uTXM6ay5tYXJrZXJQb3NpdGlvbk1zfSkpKX19OwpoZDE9ZnVuY3Rpb24obixXPSEwKXt2YXIgRDtpZihEPW4uckgpe0Q9bi5ySDt2YXIgYj1uLm1lZGlhRWxlbWVudDtEPSEhYiYmYj09PUQubWVkaWFFbGVtZW50fUQmJihuLmNQKCksekEobikpO0Q9bi5NTigpO0QuY1AoIVcpO0QuTTkobi5zRixuKTtELmdldFBsYXllclR5cGUoKSE9PTEmJkQuZGlzcG9zZSgpO249bi5WcjtXPVtuLkpdO24uSj1uLmNKO1NzKG4sW10sVyl9OwpueD1mdW5jdGlvbihuLFcsRCxiKXtEJiYobi5jUCgpLHpBKG4pKTtEPW4uTU4oKTtELnhLKFcpO3ZhciB2PW4uZ2V0VmlkZW9EYXRhKCksaz17fTtrLnZpZGVvX2lkPXYudmlkZW9JZDtrLmFkZm9ybWF0PXYuYWRGb3JtYXQ7di5pc0xpdmVQbGF5YmFja3x8KGsuc3RhcnQ9RC5nZXRDdXJyZW50VGltZSgpLGsucmVzdW1lPSIxIik7di5pc0xpdmVQbGF5YmFjayYmSTQodikmJmcuR2wobi5CKSYmKGsubGl2ZV91dGNfc3RhcnQ9RC5oQygpLGsucmVzdW1lPSIxIik7di5EJiYoay52dnQ9di5EKTt2LmtXJiYoay52c3NfY3JlZGVudGlhbHNfdG9rZW49di5rVyxrLnZzc19jcmVkZW50aWFsc190b2tlbl90eXBlPXYuUXYpO3Yub2F1dGhUb2tlbiYmKGsub2F1dGhfdG9rZW49di5vYXV0aFRva2VuKTtrLmF1dG9wbGF5PTE7ay5yZWxvYWRfY291bnQ9di5TJCsxO2sucmVsb2FkX3JlYXNvbj1XO3Yub1QmJihrLnVucGx1Z2dlZF9wYXJ0bmVyX29wdF9vdXQ9di5vVCk7di5MQiYmKGsueXBjX2lzX3ByZW1pZXJlX3RyYWlsZXI9CnYuTEIpO3YucGxheWVyUGFyYW1zJiYoay5wbGF5ZXJfcGFyYW1zPXYucGxheWVyUGFyYW1zKTt2LnR3JiYoay5pdGN0PXYudHcpO24ubG9hZFZpZGVvQnlQbGF5ZXJWYXJzKGssdm9pZCAwLCEwLHZvaWQgMCx2b2lkIDAsYik7Vz09PSJzaWduYXR1cmUiJiZuLlF3JiZhWChuKX07CkwyTT1mdW5jdGlvbihuKXtpZigheGVyKG4pKXt2YXIgVz1uLmNYKCkuaDUoKTtXJiYoVz1XLmJkKCksVyBpbnN0YW5jZW9mIFByb21pc2UmJlcuY2F0Y2goKCk9Pnt9KSk7CldxKG4sVFgobi5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSl9fTsKeGVyPWZ1bmN0aW9uKG4pe3JldHVybiBuLnBsYXlsaXN0JiYoZy5DTihuLkIpfHxuLkIuWT09PSJiYWNrZ3JvdW5kX2F1ZGlvX3BsYXliYWNrIikmJm4ueGwoKT8obi5uZXh0VmlkZW8oITEsITApLCEwKTohMX07CldxPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpLGI9RC5nZXRQbGF5ZXJUeXBlKCk7aWYoYiE9PTJ8fG4uTFkoKSl7aWYoYj09PTImJm4uTFkoKXx8Yj09PTV8fGI9PT02fHxiPT09NylpZihXPT09LTF8fFc9PT0wfHxXPT09NSlyZXR1cm47aWYoVz09PTApe2lmKG4uSE4pcmV0dXJuO2lmKEQuY0coKSYmZy5rNihuLkIpKXtuLnBsYXlWaWRlbygpO3JldHVybn19bi5pdSE9PVcmJihuLml1PVcsZy5WVShuLlJCLCJvblN0YXRlQ2hhbmdlIixXKSl9ZWxzZSBuLkIkIT09VyYmKG4uQiQ9VyxnLlZVKG4uUkIsIm9uQWRTdGF0ZUNoYW5nZSIsVykpfTsKREY9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5Wci5WRShXKX07CmcuSVg9ZnVuY3Rpb24obixXKXtyZXR1cm4gbi5MWShXKT9uLmNYKCk6V307CmJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5NTigpO3JldHVybiBXPT09bi5jWCgpJiZuLkxZKFcpJiZuLkxZKEQpP0Q6V307CnZxPWZ1bmN0aW9uKG4pe249R3Uobi54Nik7cmV0dXJuISFuJiZuLmxvYWRlZH07CmVkUz1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpLEQ9bi54NjtWWShEKXx8RC5YKCk7IVVkJiZRWShEKSYmYU1VKEQpO3c5KEQsImVtYmVkIik7dzkoRCwia2lkcyIpO3c5KEQsInJlbW90ZSIpO3c5KEQsIm1pbmlwbGF5ZXIiKTt3OShELCJvZmZsaW5lIik7dzkoRCwidW5wbHVnZ2VkIik7dzkoRCwieXBjIiwhMSwhMCk7dzkoRCwid2ViZ2wiLCExLCEwKTtuRGooRCl8fCh3OShELCJjYXB0aW9ucyIsITApLHc5KEQsImVuZHNjcmVlbiIpLEQuTigpLHc5KEQsImNyZWF0b3JlbmRzY3JlZW4iLCEwKSk7RC5ZKCk7RC5BLldKKCJtb2R1bGVzQ3JlYXRlZCIpO24uUkIuV0ooInZpZGVvcmVhZHkiLFcpfTsKYVg9ZnVuY3Rpb24obil7aWYoIXZxKG4pKXtsZXQgVz1URyhuLng2KTtXJiYhVy5jcmVhdGVkJiZSRyhuLng2KSYmVy5jcmVhdGUoKX19OwpPWj1mdW5jdGlvbihuKXt2YXIgVz1uLmdldFZpZGVvRGF0YSgpO2lmKCFXLnlsKXt2YXIgRDtuLkIuZXhwZXJpbWVudHMuRXEoImh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb24iKSYmVy5ob3N0Q3BuJiYoRD1raShuLFcuaG9zdENwbik/LmdldFZpZGVvRGF0YSgpLmhnLmooKSk7Vz1uLkIuczU/MTpyNihXLmhnLEQpO0Q9bi5tZWRpYUVsZW1lbnQ7RC5jSihuLkZfLm11dGVkKTt0cnl7RC5zZXRWb2x1bWUobi5GXy52b2x1bWUqVy8xMDApfWNhdGNoe2cuR3EobmV3IGcuUXgoImIxODM3NDIzMDciLGBtdWx0aXBsaWVyOiAke1d9LCB2b2x1bWU6ICR7bi5GXy52b2x1bWV9YCkpfX19Owp2YXIgSjFaPWZ1bmN0aW9uKCl7cmV0dXJuIGVYW0lbMTBdXSh0aGlzLDY3LDQ4NDkpfTsKQ0o9ZnVuY3Rpb24obil7bj1WUyhuKTtuLk9WKCk7cmV0dXJuIEFEKG4pfTsKbGw9ZnVuY3Rpb24obixXKXt2YXIgRD0oVz9XOlZTKG4pKS5RNztuLm1RLnRpY2soImVwX3ByX3IiKTtpZihEIT1udWxsJiYodUF0KG4ucGxheWxpc3QsRCksbi5sSikpbi5wbGF5bGlzdC5vblJlYWR5KCgpPT57VEEobixXKX0pfTsKVEE9ZnVuY3Rpb24obixXKXt2YXIgRD1nLm80KG4uQikmJiFuLkIuTyxiPUQmJlc/VzppdihuLnBsYXlsaXN0KTtXPUQmJlc/VzpuLmdldFZpZGVvRGF0YSgpO2ImJihXLkd1JiYobi5CLlU1fHxuLkIuTWQpfHwhbi5LSD8oVz1XLlBYLGI9bi56MihiLDEpLFcmJmZKKG4sYikpOmhWKG4sYiwxKSk7Zy5vNChuLkIpJiZuLm1RLnRpY2soImVwX3BfbCIpO24ubEo9ITE7Zy5RVShuLlJCLCJvblBsYXlsaXN0VXBkYXRlIil9OwpCZj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoVy5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4hMTtXPVcuZ2V0VmlkZW9EYXRhKCk7Q0oobikmJm4uQi5NZCYmKHFLLmxlbmd0aCYmbi5zaj8oUGYobix7bXV0ZWQ6ITEsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMSkpOnFLLmxlbmd0aHx8bi5GXy5tdXRlZHx8KFBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpLEtKKG4sITApKSk7Q0oobikmJmcubzQobi5CKSYmVy5tdXRlZEF1dG9wbGF5JiYoUGYobix7bXV0ZWQ6ITAsdm9sdW1lOm4uRl8udm9sdW1lfSwhMSksS0oobiwhMCkpO1cuTjAmJlBmKG4se211dGVkOiEwLHZvbHVtZTpuLkZfLnZvbHVtZX0sITEpO3VsKG4sMSxXLCExKTt2YXIgRD1uLmNYKCk7bi5SQi5XSigiaW5pdGlhbGl6aW5nbW9kZSIpO24uUVQoRCk7bi5HMigzKTt2YXIgYjtpZighKGI9IW4uQi5HUykpe2lmKGI9bi5ySCl7Yj1uLnJIO3ZhciB2PW4ubWVkaWFFbGVtZW50OwpiPSEhdiYmdj09PWIubWVkaWFFbGVtZW50fWI9YiYmbi5hQ31iJiYobi5jUCgpLHpBKG4pLEQuc2V0TWVkaWFFbGVtZW50KG4ubWVkaWFFbGVtZW50KSk7RC5uTCgpO2lmKEQuZ2V0UGxheWVyU3RhdGUoKS5OKDEyOCkpcmV0dXJuITE7Vy5EdHx8V3EobiwzKTtyZXR1cm4gbi5hQz0hMH07Cm41aj1mdW5jdGlvbihuKXtuLlJCLldKKCJpbml0aWFsaXppbmdtb2RlIik7bi5HMigyKTt3OShuLng2LCJyZW1vdGUiKTt3OShuLng2LCJtaW5pcGxheWVyIil9OwpGUz1mdW5jdGlvbihuKXtpZighbi5TKCJ1c2VfcnRhX2Zvcl9wbGF5ZXIiKSlpZihuLlMoImZldGNoX2F0dF9pbmRlcGVuZGVudGx5IikpZy5KYShuLkNOKTtlbHNle3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkuYm90Z3VhcmREYXRhO1cmJmcuekMoVyxuLkIsbi5nZXRWaWRlb0RhdGEoKS5wS3x8IiIpfX07CktKPWZ1bmN0aW9uKG4sVyl7VyE9PW4uc2omJihuLnNqPVcsZy5RVShuLlJCLCJvbk11dGVkQXV0b3BsYXlDaGFuZ2UiLFcpKX07CnVsPWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PXhpKG4sVyxEKSxrPW4uVnIuWC5nZXQodil8fG51bGw7aWYoIWspcmV0dXJuIG51bGw7bi5Wci5YLnJlbW92ZSh2KTtpZihrLnFOKCkpcmV0dXJuIG51bGw7aWYoay5nZXRQbGF5ZXJTdGF0ZSgpLk4oMTI4KSlyZXR1cm4gay5kaXNwb3NlKCksbnVsbDtpZihrPT09REYobix7cGxheWVyVHlwZTpXfSkpcmV0dXJuIG4ubVEuaW5mb0dlbCh7aXNDYWNoZUhpdDohMH0pLGs7aWYoKGsuZ2V0VmlkZW9EYXRhKCkub2F1dGhUb2tlbnx8RC5vYXV0aFRva2VuKSYmay5nZXRWaWRlb0RhdGEoKS5vYXV0aFRva2VuIT09RC5vYXV0aFRva2VuKXJldHVybiBudWxsO1c9PT0xJiYoVz1uLk1OKCkuZ2V0VmlkZW9EYXRhKCksQUooVykmJlcuaXNBZCgpJiZifHxRWihuKSk7Ynx8bi5RVChrLCEwKTtuLm1RLmluZm9HZWwoe2lzQ2FjaGVIaXQ6ITB9KTtyZXR1cm4ga307CmcuZzVoPWZ1bmN0aW9uKG4pe3ZhciBXPSgwLGcuUikoKSxEPW4uZ2V0Q3VycmVudFRpbWUoKTtuPW4uZ2V0VmlkZW9EYXRhKCk7RD0xRTMqKEQtbi5zdGFydFNlY29uZHMpO24uaXNMaXZlUGxheWJhY2smJihEPTApO3JldHVybiBXLU1hdGgubWF4KEQsMCl9OwpkYXQ9ZnVuY3Rpb24obixXKXtpZighbi5ITilyZXR1cm4hMTt2YXIgRD1uLkhOLnN0YXJ0VGltZU1zKi4wMDEtMSxiPW4uSE4uZW5kVGltZU1zKi4wMDE7bi5ITi50eXBlPT09InJlcGVhdENoYXB0ZXIiJiZiLS07cmV0dXJuIE1hdGguYWJzKFctRCk8PTFFLTZ8fE1hdGguYWJzKFctYik8PTFFLTZ8fFc+PUQmJlc8PWJ9OwpYUXg9ZnVuY3Rpb24obil7dmFyIFc9bi5NTigpO2lmKG4uUygiaHRtbDVfZGlzYWJsZV9sb29wX3JhbmdlX2Zvcl9zaG9ydHNfYWRzIikmJlcuZ2V0VmlkZW9EYXRhKCkuaXNBZCgpPzA6QUooVy5nZXRWaWRlb0RhdGEoKSkmJiFXLklLKCkpVz1BYihuKSoxRTMtbi5nZXRWaWRlb0RhdGEoKS5QTCxuPW4uVGUsaWwobi5hcHAsImdhcGxlc3NzaG9ydHNsb29wcmFuZ2UiKSxXPW5ldyBnLmw1KDAsVyx7aWQ6ImdhcGxlc3Nsb29wcmFuZ2UiLG5hbWVzcGFjZToiZ2FwbGVzc3Nob3J0c2xvb3ByYW5nZSJ9KSwobj1uLmFwcC5NTigpKSYmbi5hZGRDdWVSYW5nZShXKX07Ckcwaj1mdW5jdGlvbihuKXt2YXIgVz1uLmNYKCk7aWYoIShXLmdldFBsYXllclN0YXRlKCkuTig2NCkmJlZTKG4pLmlzTGl2ZVBsYXliYWNrJiZuLkhOLnN0YXJ0VGltZU1zPDVFMykpe2lmKG4uSE4udHlwZT09PSJyZXBlYXRDaGFwdGVyIil7dmFyIEQ9RCQobi5KNSgpKT8uQjcoKTtsZXQgYj1uLmdldFZpZGVvRGF0YSgpPy5iJDtpZihEIGluc3RhbmNlb2YgcWhTJiZiKXtsZXQgdj0wO2ZvcihsZXQgayBvZiBiKXtpZihrLnN0YXJ0VGltZT5uLkhOLnN0YXJ0VGltZU1zKWJyZWFrO3YrK31ELnJlbmRlckNoYXB0ZXJTZWVraW5nQW5pbWF0aW9uKDAsYlt2PT09MD92OnYtMV0udGl0bGUpfWlzTmFOKE51bWJlcihuLkhOLmxvb3BDb3VudCkpP24uSE4ubG9vcENvdW50PTA6bi5ITi5sb29wQ291bnQrKztuLkhOLmxvb3BDb3VudD09PTEmJmcuUlQobi5SQiwiaW5uZXJ0dWJlQ29tbWFuZCIsbi5nZXRWaWRlb0RhdGEoKS5aTil9RD17cWQ6ImFwcGxpY2F0aW9uX2xvb3BSYW5nZVN0YXJ0In07CmlmKG4uSE4udHlwZT09PSJjbGlwcyJ8fG4uSE4udHlwZT09PSJzaG9ydHNMb29wIilELnNlZWtTb3VyY2U9NTg7Vy5zZWVrVG8obi5ITi5zdGFydFRpbWVNcyouMDAxLEQpfX07ClNhPWZ1bmN0aW9uKG4sVyxEKXtpZihuLkxZKEQpJiYoRD1ELmdldFZpZGVvRGF0YSgpLCFnLkx4KG4pKSl7bj1uLnNVO2Zvcih2YXIgYiBvZiBuLkopaWYoRC5LZj09PWIuS2Ype1crPWIub2EvMUUzO2JyZWFrfWI9Vztmb3IobGV0IHYgb2Ygbi5KKXtpZihELktmPT09di5LZilicmVhaztuPXYub2EvMUUzO2lmKG48VyliKz12LmR1cmF0aW9uTXMvMUUzK24tdi5kSS8xRTM7ZWxzZSBicmVha31yZXR1cm4gYn1yZXR1cm4gV307CmcuTHg9ZnVuY3Rpb24obil7cmV0dXJuIG4uZ2V0VmlkZW9EYXRhKCkuZW5hYmxlU2VydmVyU3RpdGNoZWREYWkmJiEhbi5Rd307ClFaPWZ1bmN0aW9uKG4peyhuPVRHKG4uSjUoKSkpJiZuLmNyZWF0ZWQmJm4uZGVzdHJveSgpfTsKdHR3PWZ1bmN0aW9uKG4pe3ZhciBXPW4uZ2V0VmlkZW9EYXRhKCkueWwsRD1uLkIuRHQsYj1uLmlzSW5saW5lKCkmJiFuLmdldFZpZGVvRGF0YSgpLnYxLHY9bi5tZWRpYUVsZW1lbnQ7V3x8RHx8Yj92LmZCKCk6KHYuTEIoKSxQZihuLG4uRl8pKX07CiRlVT1mdW5jdGlvbihuKXtyZXR1cm4gbi5TKCJ3ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5lTShuLkIpfHxuLlMoIm13ZWJfZW5hYmxlX2RpYnNfaW1wbGVtZW50YXRpb24iKSYmZy5zZChuLkIpfTsKeGk9ZnVuY3Rpb24obixXLEQpe3JldHVybiBnLms2KG4uQikmJkQudkooKT9gJHtXfV8ke0QudmlkZW9JZH1fJHtELktmfWA6YCR7V31fJHtELnZpZGVvSWR9XyR7RC5LZn1fJHsrRC5pc0F1dG9uYXZ9JHsrRC5WVH1gfTsKcmpqPWZ1bmN0aW9uKG4sVyl7cmV0dXJuIFcmJm4uQi5MQiYmIW4uZ2V0VmlkZW9EYXRhKCk/LmJhY2tncm91bmRhYmxlPyhuLkZqP24uRmouc3RhcnQoKTpuLlZLKCksITApOiExfTsKc2FpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9MDtpZihXKXRyeXtsZXQgaz1kZWNvZGVVUklDb21wb25lbnQoVyksaD1scChrKTt2YXIgYj1uZXcgQVIobmV3IFM1KFtoXSkpO3ZhciB2PVBHKGIsMzIpO0Q9TnVtYmVyKHZ8fDApfWNhdGNoKGspe24uY1goKS5VKCJnZXRfbHVzdHNfZXJyIix7fSl9cmV0dXJuIER9OwpoVj1mdW5jdGlvbihuLFcsRD0xKXtpZihXLk9WKCkpe3ZhciBiPW9YKG4sRCxXLCExKTtuLmNhbmNlbFBsYXliYWNrKDQsRCk7bi5RVChiKTtiLnNtKCk7RD09PTEmJihuLkcyKDEpLGcubzQobi5CKSYmIVpQKFcpPyhXLmRpc3Bvc2UoKSxuLmNYKCkuZGlzcG9zZSgpKTpuNWoobikpfWVsc2UgVy5kaXNwb3NlKCksKFc9REYobix7cGxheWVyVHlwZTpEfSkpJiZXLmRpc3Bvc2UoKSxQVChWUyhuKSkmJkQ9PT0yJiZuLlNvKCl9OwpOYWI9ZnVuY3Rpb24obixXLEQsYix2KXtXPVFzUyhXLEQsYix2KTsoRD1nLm80KG4uQikmJiFuLkIuTykmJiFuLlpWJiYoVy5mZXRjaD0wKTt5WihuLFcpO2cubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3MiKTtpZihEJiYhbi5aVilEPVZTKG4pLHpicihELFcpLnRoZW4oaz0+e24ubEo9ITA7bGwobixrKX0pOwplbHNlIG4ucGxheWxpc3Qub25SZWFkeSgoKT0+e1RBKG4pfSk7CmcubzQobi5CKSYmbi5tUS50aWNrKCJlcF9hX3ByX3IiKX07CmtpPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9REYobix7cGxheWVyVHlwZToxfSk7aWYoRCl7aWYoRC5nZXRWaWRlb0RhdGEoKS5jbGllbnRQbGF5YmFja05vbmNlPT09VylyZXR1cm4gRDtpZigobj1uLlNHLk4pJiZuLmdldFZpZGVvRGF0YSgpLmNsaWVudFBsYXliYWNrTm9uY2U9PT1XKXJldHVybiBufXJldHVybiBudWxsfTsKZW89ZnVuY3Rpb24obil7dmFyIFc9c1AoITApO3JldHVybiBXJiYoVz09PW4udGVtcGxhdGUuZWxlbWVudHx8bi5tZWRpYUVsZW1lbnQmJlc9PT1uLm1lZGlhRWxlbWVudC5lXygpKT9XOm51bGx9OwpZaGk9ZnVuY3Rpb24obixXKXt2YXIgRD13aW5kb3cuc2NyZWVuPy5vcmllbnRhdGlvbjtpZihuLkIudHcmJkQmJkQubG9jayYmKCFnLm9kfHwhcFFqKSlpZihXKXtXPUQudHlwZS5pbmRleE9mKCJwb3J0cmFpdCIpPT09MDtsZXQgYj1uLnRlbXBsYXRlLmdldFZpZGVvQXNwZWN0UmF0aW8oKSx2PVc7YjwxP3Y9ITA6Yj4xJiYodj0hMSk7bi5KUiYmdj09PVd8fChEPUQubG9jayh2PyJwb3J0cmFpdCI6ImxhbmRzY2FwZSIpLEQhPW51bGwmJkQuY2F0Y2goKCk9Pnt9KSxuLkpSPSEwKX1lbHNlIG4uSlImJihuLkpSPSExLEQudW5sb2NrKCkpfTsKSGN0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9Vy5VeigpLGI9Vy5oNSgpO2lmKEQmJmImJm42KEQpKXt2YXIgdj1iLmlzVmlldygpP2IubWVkaWFFbGVtZW50OmI7bGV0IGg9Yi5pc1ZpZXcoKT9iLnN0YXJ0OjA7Yj1GZ2IoYikraDt2YXIgaz1MNihELGgsYiwhMCk7bGV0IHg9bmV3IGcuc2codixoLGIsITApO1cubm0oaywhMSwhMCwhMSk7Vy5zZXRNZWRpYUVsZW1lbnQoeCk7az1iKzEwO0Q9TDYoRCxrLEluZmluaXR5LCEwKTt2PW5ldyBnLnNnKHYsayxJbmZpbml0eSwhMSwhMCk7di5ISihEKTtuLlZxPXY7bi5CLldYKCkmJlcuVSgidXNtIix7cG1lOiEwLGNzOmgsY2U6YixuczprfSk7cmV0dXJuITB9cmV0dXJuITF9OwpmNmg9ZnVuY3Rpb24obixXKXtXLmJvdW5kcz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBEPVsiZGlzcGxheSIsIm9wYWNpdHkiLCJ2aXNpYmlsaXR5IiwiekluZGV4Il07Zm9yKGxldCBiIG9mIEQpV1tiXT1YbShuLGIpO1cuaGlkZGVuPSEhbi5oaWRkZW59Owp2YXIgU2pVPWZ1bmN0aW9uKCl7cmV0dXJuIFhEW0lbMTBdXSh0aGlzLDQsMzA5NCl9Owp2YXIgSmoyPWZ1bmN0aW9uKG4pe3JldHVybiBuLm5hbWU9PT0iVHlwZUVycm9yIiYmbi5zdGFjay5pbmNsdWRlcygiL3MvcGxheWVyLyIpJiZFeigpPD0xMDV9LGdxPWZ1bmN0aW9uKG4sVyl7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBEPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uaituLlcpKTsKbGV0IGI9TWF0aC5taW4oRCtuLmNvbHVtbnMsbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgpLTE7Zm9yKDtEPD1iO0QrKyluLmFwaS5sb2dWaXNpYmlsaXR5KG4uTltEXS5lbGVtZW50LFcpfX0sWFA9ZnVuY3Rpb24obil7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke24uS31weGA7Cm4ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7bi5LfXB4YDt2YXIgVz1uLnNjcm9sbFBvc2l0aW9uLEQ9bi5jb250YWluZXJXaWR0aC1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aCoobi5qK24uVyk7Zy5pSChuLmVsZW1lbnQsInl0cC1zY3JvbGwtbWluIixXPj0wKTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1tYXgiLFc8PUQpfSxJNlo9ZnVuY3Rpb24obil7Zm9yKHZhciBXPTA7VzxuLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDtXKyspe3ZhciBEPW4uc3VnZ2VzdGlvbkRhdGFbV107CmxldCBrPW4uTltXXTt2YXIgYj1ELnNob3J0Vmlld0NvdW50P0Quc2hvcnRWaWV3Q291bnQ6RC5hdXRob3I7bGV0IGg9RC5NZigpLHg9bi5hcGkuRygpO2lmKGcubzQoeCkmJiF4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciB2PXt9O011KG4uYXBpLFt2XSk7aD1nLkVUKGgsdil9ay5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi10aXRsZSIpO3FsLnRlc3QuY2FsbChxbCxELnRpdGxlKT92LmRpcj0icnRsIjpHZy50ZXN0LmNhbGwoR2csRC50aXRsZSkmJih2LmRpcj0ibHRyIik7dj1rLkJKKCJ5dHAtc3VnZ2VzdGlvbi1hdXRob3IiKTtxbC50ZXN0LmNhbGwocWwsYik/di5kaXI9InJ0bCI6R2cudGVzdC5jYWxsKEdnLGIpJiYodi5kaXI9Imx0ciIpO2sudXBkYXRlKHt2aWV3c19vcl9hdXRob3I6YixkdXJhdGlvbjpELmlzTGl2ZVBsYXliYWNrPyJMaXZlIjpELmxlbmd0aFNlY29uZHM/CmcuSDcoRC5sZW5ndGhTZWNvbmRzKToiIixsaW5rOmgsaG92ZXJfdGl0bGU6RC50aXRsZSx0aXRsZTpELnRpdGxlLGFyaWFfbGFiZWw6RC5hcmlhTGFiZWx8fG51bGwsaXNfbGl2ZTpELmlzTGl2ZVBsYXliYWNrfSk7Yj1ELkdCKCk7ay5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2U9Yj9gdXJsKCR7Yn0pYDoiIjt4LlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikmJihuLmFwaS5jcmVhdGVTZXJ2ZXJWZShrLmVsZW1lbnQsayksKEQ9KEQ9RC5zZXNzaW9uRGF0YSkmJkQuaXRjdCkmJm4uYXBpLnNldFRyYWNraW5nUGFyYW1zKGsuZWxlbWVudCxEKSl9Zm9yKDtXPG4uTi5sZW5ndGg7VysrKW4uTltXXS5lbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiO1hQKG4pfSxTaFU9ZnVuY3Rpb24obixXLEQpe1cucHJldmVudERlZmF1bHQoKTsKbi5hcGkubG9nQ2xpY2soRCk7Vz1ELmdldEF0dHJpYnV0ZSgiaHJlZiIpO0Q9e307TXUobi5hcGksW0RdKTtXPWcuR0YoRCk/VzpnLkVUKFcsRCk7SkYoVyl9LEFqTT1mdW5jdGlvbihuLFcpe24uQkooInl0cC1lcnJvci1jb250ZW50Iikuc3R5bGUucGFkZGluZ1RvcD0iMHB4IjsKdmFyIEQ9bi5CSigieXRwLWVycm9yLWNvbnRlbnQiKSxiPUQuY2xpZW50SGVpZ2h0O24uTiYmbi5OLnJlc2l6ZShXLFcuaGVpZ2h0LWIpO0Quc3R5bGUucGFkZGluZ1RvcD1gJHsoVy5oZWlnaHQtKG4uTj9uLk4uZWxlbWVudC5jbGllbnRIZWlnaHQ6MCkpLzItYi8yfXB4YH0sSzJVPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9bi5hcGkuRygpLGI7ClcucmVhc29uJiYodFYoVy5yZWFzb24pP2I9Zy5iZyhXLnJlYXNvbik6Yj12YyhnLkRwKFcucmVhc29uKSksbi5YKGIsImNvbnRlbnQiKSk7dmFyIHY7Vy5zdWJyZWFzb24mJih0VihXLnN1YnJlYXNvbik/dj1nLmJnKFcuc3VicmVhc29uKTp2PXZjKGcuRHAoVy5zdWJyZWFzb24pKSxuLlgodiwic3VicmVhc29uIikpO2lmKFcucHJvY2VlZEJ1dHRvbiYmVy5wcm9jZWVkQnV0dG9uLmJ1dHRvblJlbmRlcmVyKXtiPW4uQkooInl0cC1lcnJvci1jb250ZW50LXdyYXAtc3VicmVhc29uIik7Vz1XLnByb2NlZWRCdXR0b24uYnV0dG9uUmVuZGVyZXI7bGV0IGs9Zy56RigiQSIpO1cudGV4dCYmVy50ZXh0LnNpbXBsZVRleHQmJih2PVcudGV4dC5zaW1wbGVUZXh0LGsudGV4dENvbnRlbnQ9dixtZVUoYix2KXx8RC5EJiYhRC5lbWJlZHNFcnJvckxpbmtzfHwoRD1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy51cmwsVz1nLncoVz8ubmF2aWdhdGlvbkVuZHBvaW50LGcuUGopPy50YXJnZXQsCkQmJihrLnNldEF0dHJpYnV0ZSgiaHJlZiIsRCksbi5hcGkuY3JlYXRlQ2xpZW50VmUoayxuLDE3ODQyNCksbi5OTihrLCJjbGljayIsaD0+e1NoVShuLGgsayl9KSksVyYmay5zZXRBdHRyaWJ1dGUoInRhcmdldCIsVyksRD1nLnpGKCJESVYiKSxELmFwcGVuZENoaWxkKGspLGIuYXBwZW5kQ2hpbGQoRCkpKX19LHRWPWZ1bmN0aW9uKG4pe2lmKG4ucnVucylmb3IobGV0IFc9MDtXPG4ucnVucy5sZW5ndGg7VysrKWlmKG4ucnVuc1tXXS5uYXZpZ2F0aW9uRW5kcG9pbnQpcmV0dXJuITA7CnJldHVybiExfSxtZVU9ZnVuY3Rpb24obixXKXtuPShufHxkb2N1bWVudCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkEiKTsKZm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspaWYobltEXS50ZXh0Q29udGVudD09PVcpcmV0dXJuITA7cmV0dXJuITF9LE9jYj1mdW5jdGlvbihuKXt2YXIgVz17fTsKTXUobi5hcGksW1ddKTtuPW4uYXBpLmdldFZpZGVvVXJsKCk7cmV0dXJuIG49Zy5FVChuLFcpfSxQMHQ9ZnVuY3Rpb24obil7dmFyIFc9bi5hcGkuZ2V0VmlkZW9EYXRhKCksRD1uLmFwaS5HKCkuYlYmJiFuLnN0YXRlLk4oMikmJiFuLmFwaS5nZXRWaWRlb0RhdGEoe3BsYXllclR5cGU6MX0pLmlOOwpXLm11dGVkQXV0b3BsYXl8fG4uTUwoRCk7bi5hcGkubG9nVmlzaWJpbGl0eShuLmVsZW1lbnQsRCl9LFVlaj1mdW5jdGlvbihuKXtuLndhdGVybWFya3x8KG4ud2F0ZXJtYXJrPW5ldyBaY3Iobi5hcGkpLGcudShuLG4ud2F0ZXJtYXJrKSxuLndhdGVybWFyay5MdShuLmJvdHRvbUJ1dHRvbnMsMCksZy5pSChuLndhdGVybWFyay5lbGVtZW50LCJ5dHAtbXV0ZWQtYXV0b3BsYXktd2F0ZXJtYXJrIiwhMCksbi5OPW5ldyBnLiRpKG4ud2F0ZXJtYXJrLDAsITAsMTAwKSxnLnUobixuLk4pKX0seWpqPWZ1bmN0aW9uKG4pe24uSiYmbi5OJiYobi5OLnNob3coKSxuLlYuc3RhcnQoKSl9LEU1VT1mdW5jdGlvbihuKXtmb3IobGV0IFc9MDtXPDE2OysrVyl7bGV0IEQ9bmV3IGcucnEoe1o6ImEiLApKdzoieXRwLXN1Z2dlc3Rpb24tbGluayIseGE6e2hyZWY6Int7bGlua319Iix0YXJnZXQ6bi5hcGkuRygpLllaLCJhcmlhLWxhYmVsIjoie3thcmlhX2xhYmVsfX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWltYWdlIn0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLW92ZXJsYXkiLHhhOntzdHlsZToie3tibGlua19yZW5kZXJpbmdfaGFja319IiwiYXJpYS1oaWRkZW4iOiJ7e2FyaWFfaGlkZGVufX0ifSxYRjpbe1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLXRpdGxlIixPcToie3t0aXRsZX19In0se1o6ImRpdiIsSnc6Inl0cC1zdWdnZXN0aW9uLWF1dGhvciIsT3E6Int7YXV0aG9yX2FuZF92aWV3c319In0se1o6ImRpdiIseGE6eyJkYXRhLWlzLWxpdmUiOiJ7e2lzX2xpdmV9fSJ9LEp3OiJ5dHAtc3VnZ2VzdGlvbi1kdXJhdGlvbiIsT3E6Int7ZHVyYXRpb259fSJ9XX1dfSk7Zy51KG4sRCk7bGV0IGI9RC5CSigieXRwLXN1Z2dlc3Rpb24tbGluayIpO2cuaDEoYiwKInRyYW5zaXRpb25EZWxheSIsYCR7Vy8yMH1zYCk7bi5qLk5OKGIsImNsaWNrIix2PT57dmFyIGs9VztpZihuLlcpe3ZhciBoPW4uc3VnZ2VzdGlvbkRhdGFba10seD1oLnNlc3Npb25EYXRhO24uSyYmbi5hcGkuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKT8obi5hcGkubG9nQ2xpY2sobi5OW2tdLmVsZW1lbnQpLGs9aC5NZigpLGg9e30sTXUobi5hcGksW2hdKSxrPWcuRVQoayxoKSxSeShrLG4uYXBpLHYpKTpNcCh2LG4uYXBpLG4uSyx4fHx2b2lkIDApJiZuLmFwaS5NMihoLnZpZGVvSWQseCxoLnBsYXlsaXN0SWQpfWVsc2Ugdi5wcmV2ZW50RGVmYXVsdCgpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpfSk7CkQuTHUobi5zdWdnZXN0aW9ucy5lbGVtZW50KTtuLk4ucHVzaChEKTtuLmFwaS5jcmVhdGVTZXJ2ZXJWZShELmVsZW1lbnQsRCl9fSxpY3I9ZnVuY3Rpb24obil7aWYobi5hcGkuRygpLlMoIndlYl9wbGF5ZXJfbG9nX2NsaWNrX2JlZm9yZV9nZW5lcmF0aW5nX3ZlX2NvbnZlcnNpb25fcGFyYW1zIikpe3ZhciBXPU1hdGguZmxvb3IoLW4uc2Nyb2xsUG9zaXRpb24vKG4uVis4KSk7CmxldCBEPU1hdGgubWluKFcrbi5jb2x1bW5zLG4uc3VnZ2VzdGlvbkRhdGEubGVuZ3RoKS0xO2Zvcig7Vzw9RDtXKyspbi5hcGkubG9nVmlzaWJpbGl0eShuLk5bV10uZWxlbWVudCwhMCl9fSxzNj1mdW5jdGlvbihuKXt2YXIgVz1uLmFwaS55WigpPzMyOjE2OwpXPW4uRC8yK1c7bi5uZXh0LmVsZW1lbnQuc3R5bGUuYm90dG9tPWAke1d9cHhgO24ucHJldmlvdXMuZWxlbWVudC5zdHlsZS5ib3R0b209YCR7V31weGA7Vz1uLnNjcm9sbFBvc2l0aW9uO3ZhciBEPW4uY29udGFpbmVyV2lkdGgtbi5zdWdnZXN0aW9uRGF0YS5sZW5ndGgqKG4uVis4KTtnLmlIKG4uZWxlbWVudCwieXRwLXNjcm9sbC1taW4iLFc+PTApO2cuaUgobi5lbGVtZW50LCJ5dHAtc2Nyb2xsLW1heCIsVzw9RCl9LG81dz1mdW5jdGlvbihuKXt2YXIgVz1uLnN1Z2dlc3Rpb25EYXRhLmxlbmd0aDsKZm9yKGxldCBrPTA7azxXOysrayl7dmFyIEQ9dm9pZCAwLGI9dm9pZCAwO2xldCBoPXZvaWQgMDtEPW47dmFyIHY9RC5hcGkuRygpO2xldCB4PUQuc3VnZ2VzdGlvbkRhdGFba10sTD1ELk5ba107aD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LnNob3J0Vmlld0NvdW50fHwiIjp4LnNob3J0Vmlld0NvdW50P2Ake3guYXV0aG9yfSBcdTIwMjIgJHt4LnNob3J0Vmlld0NvdW50fWA6eC5hdXRob3I7TC5lbGVtZW50LnN0eWxlLmRpc3BsYXk9IiI7Zy5oMShMLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJpbmxpbmUtYmxvY2siKTt1eWkudGVzdCh4LnRpdGxlKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLXRpdGxlIikuZGlyPSJydGwiKTt1eWkudGVzdChoKSYmKEwuQkooInl0cC1zdWdnZXN0aW9uLWF1dGhvciIpLmRpcj0icnRsIik7Yj14LmlzTGl2ZVBsYXliYWNrPyJMaXZlIjp4Lmxlbmd0aFNlY29uZHM/Zy5INyh4Lmxlbmd0aFNlY29uZHMpOiIiO2xldCBlPQp4Lk1mKEQuYXBpLmlzRW1iZWRzU2hvcnRzTW9kZSgpKTtpZihnLm80KHYpJiYhdi5TKCJ3ZWJfcGxheWVyX2xvZ19jbGlja19iZWZvcmVfZ2VuZXJhdGluZ192ZV9jb252ZXJzaW9uX3BhcmFtcyIpKXtsZXQgRz17fTtNdShELmFwaSxbR10pO2U9Zy5FVChlLEcpfXYuUygid2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXMiKSYmKHY9KHY9eC5zZXNzaW9uRGF0YSkmJnYuaXRjdCkmJkQuYXBpLnNldFRyYWNraW5nUGFyYW1zKEwuZWxlbWVudCx2KTtMLnVwZGF0ZSh7YXV0aG9yX2FuZF92aWV3czpoLGR1cmF0aW9uOmIsbGluazplLHRpdGxlOngudGl0bGUsYXJpYV9sYWJlbDp4LmFyaWFMYWJlbHx8eC50aXRsZSxpc19saXZlOnguaXNMaXZlUGxheWJhY2ssYXJpYV9oaWRkZW46ISF4LmFyaWFMYWJlbCxibGlua19yZW5kZXJpbmdfaGFjazpnLm9kfHxyYz8id2lsbC1jaGFuZ2U6IG9wYWNpdHkiOnZvaWQgMH0pO2I9TC5CSigieXRwLXN1Z2dlc3Rpb24taW1hZ2UiKTsKRD1ELmFwaS5pc0VtYmVkc1Nob3J0c01vZGUoKT94LkdCKCJocTIuanBnIik6eC5HQigpO2Iuc3R5bGUuYmFja2dyb3VuZEltYWdlPUQ/YHVybCgke0R9KWA6IiJ9aWYoVzwxNilmb3IoO1c8MTY7KytXKWcuaDEobi5OW1ddLkJKKCJ5dHAtc3VnZ2VzdGlvbi1saW5rIiksImRpc3BsYXkiLCJub25lIik7czYobil9LE5sPWZ1bmN0aW9uKG4pe2lmKCFuLlcpe3ZhciBXPU1hdGgubWluKCgwLGcuUikoKS1uLlYsbi5qKTsKdmFyIEQ9bi5qLVc7Vz1uLmo9PT0wPzA6TWF0aC5tYXgoRC9uLmosMCk7RD1NYXRoLnJvdW5kKEQvMUUzKTtuLlkuc2V0QXR0cmlidXRlKCJzdHJva2UtZGFzaG9mZnNldCIsYCR7LTIxMSooVysxKX1gKTtuLnVwZGF0ZVZhbHVlKCJkdXJhdGlvbiIsRCk7Vzw9MCYmbi5OP24uc3RvcFRpbWVyKCk6bi5OJiZuLk4uc3RhcnQoKX19LGRleD1mdW5jdGlvbihuKXtuLk58fChuLmo9NUUzLG4uVj0oMCxnLlIpKCksbi5OPW5ldyBnLnBfKCgpPT57Tmwobil9LG51bGwpLE5sKG4pKX0scHg9ZnVuY3Rpb24obil7dmFyIFc9bi5BOwpuPSEhVy5pc0VtYmVkc1Nob3J0c01vZGUoKTtnLmlIKFcuZ2V0Um9vdE5vZGUoKSwieXRwLXNob3J0cy1tb2RlIixuKTtpZihXPVcuZ2V0VmlkZW9EYXRhKCkpVy5TYT1ufSxUYXg9ZnVuY3Rpb24obil7e3ZhciBXPW4uQTsKbGV0IEQ9Vy5HKCk7RC5XaSYmIUQuRCYmZy5vNChEKT9XLmlzRW1iZWRzU2hvcnRzTW9kZSgpPyhXPVcuRTQoKSxXPU1hdGgubWluKFcud2lkdGgsVy5oZWlnaHQpPj0zMTUpOlc9IVcuejYoKTpXPSExfVchPT1uLkQmJihuLkQ9VyxuLmomJihuLmouZGlzcG9zZSgpLG4uaj1udWxsKSxuLlcmJihuLlcuZGlzcG9zZSgpLG4uVz1udWxsKSxuLlgmJihuLlguZGlzcG9zZSgpLG4uWD1udWxsKSxuLkomJihuLkouc3RvcCgpLG4uSi5kaXNwb3NlKCksbi5KPW51bGwpLFcmJihnLmI1KG4uQSksbi5BLmlzRW1iZWRzU2hvcnRzTW9kZSgpJiYobi5YPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1iYWNrZHJvcCIseGE6e3RhYkluZGV4OiItMSJ9fSksZy51KG4sbi5YKSxnLnJ2KG4uQSxuLlguZWxlbWVudCw0KSxuLko9bmV3IGcuJGkobi5YLDFFMywhMSwxMDApLGcudShuLG4uSiksbi5YLmhpZGUoKSksbi5qPW5ldyBnLnJxKHtaOiJkaXYiLEp3OiJ5dHAtcGF1c2Utb3ZlcmxheS1jb250YWluZXIiLAp4YTp7dGFiSW5kZXg6Ii0xIn19KSxnLnUobixuLmopLG4uVz1uZXcgemRVKG4uQSksZy51KG4sbi5XKSxuLlcuTHUobi5qLmVsZW1lbnQpLGcucnYobi5BLG4uai5lbGVtZW50LDQpLGw2QyhuLG4uQS5nZXRQbGF5ZXJTdGF0ZU9iamVjdCgpKSkpfSxsNkM9ZnVuY3Rpb24obixXKXtuLkomJighVy5OKDQpJiYhVy5OKDIpfHxXLk4oMTAyNCk/bi5KLmhpZGUoKTpuLkouc2hvdygpKX0sWWk9ZnVuY3Rpb24obixXKXt2YXIgRD1uLkEuRygpOwpuPXthZFNvdXJjZToiRU1CRURTX0FEX1NPVVJDRV9ZT1VUVUJFIixicmVha1R5cGU6bi5BLmdldEN1cnJlbnRUaW1lKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QUkVfUk9MTCI6bi5BLmdldFBsYXllclN0YXRlKCk9PT0wPyJFTUJFRFNfQURfQlJFQUtfVFlQRV9QT1NUX1JPTEwiOiJFTUJFRFNfQURfQlJFQUtfVFlQRV9NSURfUk9MTCIsZW1iZWRVcmw6QUEobi5BLkcoKS5sb2FkZXJVcmwpLGV2ZW50VHlwZTpXLHlvdXR1YmVIb3N0OmcuSVAobi5BLkcoKS5EYSl8fCIifTtuLmVtYmVkZGVkUGxheWVyTW9kZT1ELmNKO2cuelUoImVtYmVkc0FkRXZlbnQiLG4pfSxudD1bXSxEaXg9dHlwZW9mIE9iamVjdC5jcmVhdGU9PSJmdW5jdGlvbiI/T2JqZWN0LmNyZWF0ZTpmdW5jdGlvbihuKXtmdW5jdGlvbiBXKCl7fQpXLnByb3RvdHlwZT1uO3JldHVybiBuZXcgV30sV1NDPXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz09ImZ1bmN0aW9uIj9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24obixXLEQpe2lmKG49PUFycmF5LnByb3RvdHlwZXx8bj09T2JqZWN0LnByb3RvdHlwZSlyZXR1cm4gbjsKbltXXT1ELnZhbHVlO3JldHVybiBufSx4Mj1nbG9iYWxUaGlzLHZaPSJJbnQ4IFVpbnQ4IFVpbnQ4Q2xhbXBlZCBJbnQxNiBVaW50MTYgSW50MzIgVWludDMyIEZsb2F0MzIgRmxvYXQ2NCIuc3BsaXQoIiAiKTsKeDIuQmlnSW50NjRBcnJheSYmKHZaLnB1c2goIkJpZ0ludDY0IiksdloucHVzaCgiQmlnVWludDY0IikpO3ZhciBidFM9T2JqZWN0LnNldFByb3RvdHlwZU9mO2hpKCJTeW1ib2wuZGlzcG9zZSIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjpTeW1ib2woIlN5bWJvbC5kaXNwb3NlIil9KTsKaGkoIlN1cHByZXNzZWRFcnJvciIsZnVuY3Rpb24obil7ZnVuY3Rpb24gVyhELGIsdil7aWYoISh0aGlzIGluc3RhbmNlb2YgVykpcmV0dXJuIG5ldyBXKEQsYix2KTt2PUVycm9yKHYpOyJzdGFjayJpbiB2JiYodGhpcy5zdGFjaz12LnN0YWNrKTt0aGlzLm1lc3NhZ2U9di5tZXNzYWdlO3RoaXMuZXJyb3I9RDt0aGlzLnN1cHByZXNzZWQ9Yn0KaWYobilyZXR1cm4gbjt2MkMoVyxFcnJvcik7Vy5wcm90b3R5cGUubmFtZT0iU3VwcHJlc3NlZEVycm9yIjtyZXR1cm4gV30pOwpoaSgiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlQWxsIixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmZ1bmN0aW9uKFcsRCl7aWYoVyBpbnN0YW5jZW9mIFJlZ0V4cCYmIVcuZ2xvYmFsKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCBjYWxsZWQgd2l0aCBhIG5vbi1nbG9iYWwgUmVnRXhwIGFyZ3VtZW50LiIpO3JldHVybiBXIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShXLEQpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhXKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxEKX19KTsKaGkoIkFycmF5LnByb3RvdHlwZS5hdCIsZnVuY3Rpb24obil7cmV0dXJuIG4/bjplVX0pOwpuMncoImF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJTdHJpbmcucHJvdG90eXBlLmF0IixmdW5jdGlvbihuKXtyZXR1cm4gbj9uOmVVfSk7CmhpKCJQcm9taXNlLndpdGhSZXNvbHZlcnMiLGZ1bmN0aW9uKG4pe3JldHVybiBuP246ZnVuY3Rpb24oKXt2YXIgVyxEO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGIsdil7Vz1iO0Q9dn0pLApyZXNvbHZlOlcscmVqZWN0OkR9fX0pO3ZhciBjSixTVSxrYnQ7Y0o9Y0p8fHt9O2cucWk9dGhpc3x8c2VsZjtTVT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTtrYnQ9MDt2YXIgZV93PWNsYXNze2NvbnN0cnVjdG9yKHt1cmw6bixadjpXfSl7dGhpcy5KPW47dGhpcy5YPVc7dGhpcy5XPShuZXcgRGF0ZSkuZ2V0VGltZSgpLTE3MDQwNjcyRTU7dGhpcy5OPXt9O2Zvcih2YXIgRD0vWz8mXShbXiY9XSspPShbXiZdKikvZztXPUQuZXhlYyhuKTspdGhpcy5OW1dbMV1dPVdbMl19fTtnLml4KGcuVGIsRXJyb3IpO2cuVGIucHJvdG90eXBlLm5hbWU9IkN1c3RvbUVycm9yIjt2YXIgSWg7dmFyIE5yaD0vJi9nLHBadz0vPC9nLFl3aT0vPi9nLEh0VT0vIi9nLGYxUz0vJy9nLEppWj0vXHgwMC9nLHNDaD0vW1x4MDAmPD4iJ10vO3ZhciBuYj1nbG9iYWxUaGlzLnRydXN0ZWRUeXBlcyxXTTt2YXIgYl89Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07Zy5laj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk59fTtnLlY1PW5ldyBnLmVqKCJhYm91dDppbnZhbGlkI3pDbG9zdXJleiIpO3ZhciBYSSxnMmo7WEk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5PVj1ufX07Zy5HND1bcVUoImRhdGEiKSxxVSgiaHR0cCIpLHFVKCJodHRwcyIpLHFVKCJtYWlsdG8iKSxxVSgiZnRwIiksbmV3IFhJKG49Pi9eW146XSooWy8/I118JCkvLnRlc3QobikpXTsKZzJqPS9eXHMqKD8hamF2YXNjcmlwdDopKD86W1x3Ky4tXSs6fFteOi8/I10qKD86Wy8/I118JCkpL2k7Zy5ZMz1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn10b1N0cmluZygpe3JldHVybiB0aGlzLk4rIiJ9fTt2YXIgQUY9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5OKyIifX07dmFyIFo0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19O3ZhciBMcD17fTt2YXIgQWlyLG1pMTtBaXI9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtnLno1PS8jfCQvO21pMT0vWz8mXSgkfCMpLzt2YXIgUUc9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihuLFcsRD1FcnJvcigpKXtzdXBlcigpO3RoaXMuY29kZT1uO1crPSI6IjtEIGluc3RhbmNlb2YgRXJyb3I/KHRoaXMubWVzc2FnZT1XK0QubWVzc2FnZSx0aGlzLnN0YWNrPUQuc3RhY2t8fCIiKToodGhpcy5tZXNzYWdlPVcrU3RyaW5nKEQpLHRoaXMuc3RhY2s9IiIpO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O2cuRk0ucHJvdG90eXBlLkhEPSExO2cuRk0ucHJvdG90eXBlLnFOPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuSER9OwpnLkZNLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5IRHx8KHRoaXMuSEQ9ITAsdGhpcy5tQSgpKX07CmcuRk0ucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTsKZy5GTS5wcm90b3R5cGUuYWRkT25EaXNwb3NlQ2FsbGJhY2s9ZnVuY3Rpb24obixXKXt0aGlzLkhEP1chPT12b2lkIDA/bi5jYWxsKFcpOm4oKToodGhpcy5CVnx8KHRoaXMuQlY9W10pLFcmJihuPW4uYmluZChXKSksdGhpcy5CVi5wdXNoKG4pKX07CmcuRk0ucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7aWYodGhpcy5CVilmb3IoO3RoaXMuQlYubGVuZ3RoOyl0aGlzLkJWLnNoaWZ0KCkoKX07dmFyIFB4Uz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLndwYz1ufUgkKCl7cmV0dXJuIHRoaXMud3BjLmYoKX15aChuKXt0aGlzLndwYy5jKG4pfVcobil7cmV0dXJuIHRoaXMud3BjLm0oUlAobikpfVpSKG4pe3JldHVybiB0aGlzLndwYy5td3MoUlAobikpfX0sd1Q9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5PMT1uO3RoaXMuVz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTsKdGhpcy5KPXZvaWQgMDt0aGlzLk92PXRoaXMuTzEucDt0aGlzLlg9dGhpcy5TMS5iaW5kKHRoaXMpO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgT3RpKHRoaXMpKX1zbmFwc2hvdChuKXtyZXR1cm4gdGhpcy5PMS5zKHsuLi4obi53XyYme2M6bi53X30pLAouLi4obi5HbCYme3M6bi5HbH0pLC4uLihuLk1PIT09dm9pZCAwJiZ7cDpuLk1PfSl9KX1TMShuKXt0aGlzLk8xLmUobil9UUQoKXtyZXR1cm4gdGhpcy5PMS5sKCl9fTt2YXIgamExPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyk7dGhpcy5iZD0xfXNoYXJlKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJFOkFEIik7dGhpcy5iZCsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuYmR8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciBDMHg9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsYnAoIm1rIikpfWRFKG4sVyl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvZnJzIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiKX19LEJhaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLko9bjtFdShuLCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIixicCgibW4iKSxEWCgiYWMiKSxEWCgic2MiKSxicCgicmsiKSxicCgibWsiKSl9ZEUobixXLEQsYix2LGspe3RoaXMuSi5kRSgiL2NsaWVudF9zdHJlYW16L2JnL3dybCIsbixXLEQsYix2LGspfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy93cmwiKX19LEYyWj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLGJwKCJlbiIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvZWMiLApuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lYyIpfX0sd1FyPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuSj1uO0V1KG4sIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYnAoImVuIiksYnAoIm1rIikpfWRFKG4sVyxEKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0sTXQxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLERYKCJlYyIpLGJwKCJtayIpKX1KKG4sVyl7ZHAodGhpcy5XLCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LFJkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIixEWCgiY3MiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywKIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0sUWF4PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuVz1uO3VlKG4sIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixicCgiYXYiKSxicCgibWsiKSl9SihuLFcpe2RwKHRoaXMuVywiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LFZ0aT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLlc9bjt1ZShuLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsYnAoInN1IiksYnAoIm1rIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5XLk4oIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxjang9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwKIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixicCgibWsiKSl9ZEUobixXKXt0aGlzLkouZEUoIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixuLFcpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIil9fSxhNnc9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW47RXUobiwiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGJwKCJldCIpLGJwKCJtayIpKX1kRShuLFcsRCl7dGhpcy5KLmRFKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbixXLEQpfU4oKXtyZXR1cm4gdGhpcy5KLk4oIi9jbGllbnRfc3RyZWFtei9iZy9vZC9uIil9fTt2YXIgY1c9ITAsVjEsdjI7dmFyIEhxO0hxPU5pKDEsITApO2cucXg9TmkoNjEwNDAxMzAxLCExKTtOaSg4OTk1ODg0MzcsITEpO05pKDc3MjY1Nzc2OCwhMCk7TmkoNTEzNjU5NTIzLCExKTtOaSg1NjgzMzM5NDUsITApO05pKDEzMzE3NjE0MDMsITApO05pKDY1MTE3NTgyOCwhMSk7TmkoNzIyNzY0NTQyLCExKTtOaSg3NDg0MDIxNDUsITEpO05pKDc0ODQwMjE0NiwhMSk7dmFyIEF2PU5pKDc0ODQwMjE0NywhMCk7TmkoMTYwMjYxMzE4NSwhMSk7TmkoODYxMzc3NzIzLCExKTtOaSg4NjEzNzc3MjQsSHEpO05pKDg2OTMzNjkwMywhMSk7TmkoODgyNjc0NTA3LCExKTtOaSg4NjkzMzY5MDQsSHEpO05pKDg2OTMzNjkwNSxIcSk7TmkoMjgzOTUzMTU1LCExKTtOaSg5MTk0NDQ4MjQsITEpO05pKDkzMTQ2ODA0NywhMSk7TmkoOTI4ODc1Mzk4LCExKTtOaSg2ODM3NDkyMDEsITEpO05pKDIxNDc0ODM2NDQsITEpO05pKDIxNDc0ODM2NDUsITEpO05pKDIxNDc0ODM2NDYsSHEpO05pKDIxNDc0ODM2NDcsITApO2cuR2g9ISFnLnJyKCJ5dC5jb25maWdfLkVYUEVSSU1FTlRTX0ZMQUdTLmh0bWw1X2VuYWJsZV9jbGllbnRfaGludHNfb3ZlcnJpZGUiKTt2YXIgbnpiO256Yj1nLnFpLm5hdmlnYXRvcjtnLnQ0PW56Yj9uemIudXNlckFnZW50RGF0YXx8bnVsbDpudWxsO2cuT0FbIiAiXT1mdW5jdGlvbigpe307dmFyIHJjLG5yLHBRaixXVVosRDRpLGJpVSxYdyxmeDtyYz1OeCgpO2cua2g9c0EoKT8hMTpnLnJXKCJUcmlkZW50Iil8fGcuclcoIk1TSUUiKTtnLlJnPWcuclcoIkVkZ2UiKTtnLnNtPWcuUmd8fGcua2g7Zy5lUz1nLnJXKCJHZWNrbyIpJiYhKGcud3IoZy5YUSgpLCJXZWJLaXQiKSYmIWcuclcoIkVkZ2UiKSkmJiEoZy5yVygiVHJpZGVudCIpfHxnLnJXKCJNU0lFIikpJiYhZy5yVygiRWRnZSIpO2cuWmw9Zy53cihnLlhRKCksIldlYktpdCIpJiYhZy5yVygiRWRnZSIpO25yPWcubXgoKTtwUWo9Zy5LMCgpO2cuUUg9Zy5JMigpO1dVWj1TdSgpO0Q0aT1nLnJXKCJpUGFkIik7YmlVPWcuclcoImlQb2QiKTtYdz1nLkE0KCk7Zy5XWD1nLndyKGcuWFEoKSwiS2FpT1MiKTsKYTp7bGV0IG49IiIsVz1mdW5jdGlvbigpe3ZhciBEPWcuWFEoKTtpZihnLmVTKXJldHVybi9ydjooW15cKTtdKykoXCl8OykvLmV4ZWMoRCk7aWYoZy5SZylyZXR1cm4vRWRnZVwvKFtcZFwuXSspLy5leGVjKEQpO2lmKGcua2gpcmV0dXJuL1xiKD86TVNJRXxydilbOiBdKFteXCk7XSspKFwpfDspLy5leGVjKEQpO2lmKGcuWmwpcmV0dXJuL1dlYktpdFwvKFxTKykvLmV4ZWMoRCk7aWYocmMpcmV0dXJuLyg/OlZlcnNpb24pWyBcL10/KFxTKykvLmV4ZWMoRCl9KCk7ClcmJihuPVc/V1sxXToiIik7aWYoZy5raCl7dmFyIEpWO2xldCBEPWcucWkuZG9jdW1lbnQ7SlY9RD9ELmRvY3VtZW50TW9kZTp2b2lkIDA7aWYoSlYhPW51bGwmJkpWPnBhcnNlRmxvYXQobikpe2Z4PVN0cmluZyhKVik7YnJlYWsgYX19Zng9bn12YXIgUDI9ZngsaXR4PXt9O3ZhciB3OCxNWDtnLmFvPXAwKCk7dzg9U3UoKXx8Zy5yVygiaVBvZCIpO01YPWcuclcoImlQYWQiKTtnLkltPWcuclcoIkFuZHJvaWQiKSYmIShZSygpfHxwMCgpfHxOeCgpfHxnLnJXKCJTaWxrIikpO2cub2Q9WUsoKTtnLkduPWcuSDIoKSYmIWcuQTQoKTt2YXIgeWw9e30sVGg9bnVsbDt2YXIganU9L1stXy5dL2csZGlVPXsiLSI6IisiLF86Ii8iLCIuIjoiPSJ9LHdXPXt9O3ZhciBGUT1jbGFzc3tpc0VtcHR5KCl7cmV0dXJuIHRoaXMuTj09bnVsbH1zaXplQnl0ZXMoKXt2YXIgbj1RbCh0aGlzKTtyZXR1cm4gbj9uLmxlbmd0aDowfWNvbnN0cnVjdG9yKG4sVyl7UjIoVyk7dGhpcy5OPW47aWYobiE9bnVsbCYmbi5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJCeXRlU3RyaW5nIHNob3VsZCBiZSBjb25zdHJ1Y3RlZCB3aXRoIG5vbi1lbXB0eSB2YWx1ZXMiKTt9fSxCMjt2YXIgYTI9dm9pZCAwO3ZhciBiND1XOSgiamFzIiwhMCksTG49VzkoKSxrOT1XOSgpLExHPVc5KCksUk1iPVc5KCksUUNpPVc5KCksRzRTPVc5KCksRFVpPVc5KCksdkg9VzkoIm1fbSIsITApLGNpVT1XOSgpLHFFPVc5KCk7Wy4uLk9iamVjdC52YWx1ZXMoe014OjEsRVk6MixHTDo0LFltOjgsalo6MTYsVFQ6MzIsUFE6NjQsTng6MTI4LGZoOjI1NixhTjo1MTIsYVU6MTAyNCxQbToyMDQ4LHI0OjQwOTYsYU86ODE5Mn0pXTt2YXIgenosdnp4PVtdO3Z6eFtiNF09Nzt6ej1PYmplY3QuZnJlZXplKHZ6eCk7dmFyIGt2PXt9LERCPXt9LEckPU9iamVjdC5mcmVlemUoe30pLFNvPXt9LHhVPXt9O3ZhciBZbyx3V2osa0N4O2cudF89cTMobj0+dHlwZW9mIG49PT0ibnVtYmVyIik7CmcuRzk9cTMobj0+dHlwZW9mIG49PT0ic3RyaW5nIik7CllvPXEzKG49Pm4hPW51bGwmJnR5cGVvZiBuPT09Im9iamVjdCImJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iKTsKd1dqPXEzKG49PnR5cGVvZiBuPT09ImZ1bmN0aW9uIik7CmtDeD1xMyhuPT4hIW4mJih0eXBlb2Ygbj09PSJvYmplY3QifHx0eXBlb2Ygbj09PSJmdW5jdGlvbiIpKTt2YXIgc0s9cTMobj0+bj49aDNqJiZuPD14NGopLGgzaj1CaWdJbnQoTnVtYmVyLk1JTl9TQUZFX0lOVEVHRVIpLHg0aj1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpO3ZhciByWj0wLHNfPTAsR3Y7dmFyIGRaPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwLEJyaD10eXBlb2YgQmlnSW50PT09ImZ1bmN0aW9uIj9CaWdJbnQuYXNVaW50Tjp2b2lkIDAsalg9TnVtYmVyLmlzU2FmZUludGVnZXIsUDk9TnVtYmVyLmlzRmluaXRlLFQ5PU1hdGgudHJ1bmMsbDEyPS9eLT8oWzEtOV1bMC05XSp8MCkoXC5bMC05XSspPyQvO3ZhciBhMVU9e307dmFyIFhGPWNsYXNze30sTVVpPXtKUzohMH07dmFyICR2O3ZhciBISCxmRzt2YXIgdjNpPWcuJFUoMCksZm49e307dmFyIE9WPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmJ1ZmZlcj1uO2lmKEQmJiFXKXRocm93IEVycm9yKCk7dGhpcy5OPVd9fTt2YXIgTFVyPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIpe3RoaXMuSj1udWxsO3RoaXMuVj0hMTt0aGlzLmo9bnVsbDt0aGlzLk49dGhpcy5XPXRoaXMuWD0wO3RoaXMuaW5pdChuLFcsRCxiKX1pbml0KG4sVyxELHtuXzpiPSExLGhCOnY9ITF9PXt9KXt0aGlzLm5fPWI7dGhpcy5oQj12O24mJihuPVBXKG4sdGhpcy5oQiksdGhpcy5KPW4uYnVmZmVyLHRoaXMuVj1uLk4sdGhpcy5qPW51bGwsdGhpcy5YPVd8fDAsdGhpcy5XPUQhPT12b2lkIDA/dGhpcy5YK0Q6dGhpcy5KLmxlbmd0aCx0aGlzLk49dGhpcy5YKX1mcmVlKCl7dGhpcy5jbGVhcigpO0FWLmxlbmd0aDwxMDAmJkFWLnB1c2godGhpcyl9Y2xlYXIoKXt0aGlzLko9bnVsbDt0aGlzLlY9ITE7dGhpcy5qPW51bGw7dGhpcy5OPXRoaXMuVz10aGlzLlg9MDt0aGlzLm5fPSExfXJlc2V0KCl7dGhpcy5OPXRoaXMuWH19LEFWPVtdO3ZhciBSWT0wLGhCUz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiKXtpZihBVi5sZW5ndGgpe2xldCB2PUFWLnBvcCgpO3YuaW5pdChuLFcsRCxiKTtuPXZ9ZWxzZSBuPW5ldyBMVXIobixXLEQsYik7dGhpcy5OPW47dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTE7akUodGhpcyxiKX1mcmVlKCl7dGhpcy5OLmNsZWFyKCk7dGhpcy5KPXRoaXMuVz0tMTtUJC5sZW5ndGg8MTAwJiZUJC5wdXNoKHRoaXMpfXJlc2V0KCl7dGhpcy5OLnJlc2V0KCk7dGhpcy5YPXRoaXMuTi5OO3RoaXMuSj10aGlzLlc9LTF9fSxUJD1bXTt2YXIgZTNyPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoU28hPT1Tbyl0aHJvdyBFcnJvcigpO319O3ZhciB2eT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxoMyxlQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuSj1uPj4+MDt0aGlzLk49Vz4+PjB9fSxnRyxyRyxOZixwaCwkbSx0MyxxZixHUzt2YXIgZ3pNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLk4ubGVuZ3RofWVuZCgpe3ZhciBuPXRoaXMuTjt0aGlzLk49W107cmV0dXJuIG59fTt2YXIgWCQyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPVtdO3RoaXMuSj0wO3RoaXMuTj1uZXcgZ3pNfX07dmFyIGxHLHEzWixtNyxHQzIsdDJoLCQ0aSxyWEMsUHEsc2YyLE5NVSxwJFU7bEc9b3goKTtxM1o9b3goKTttNz1veCgpO2cuS3g9b3goKTtHQzI9b3goKTt0Mmg9b3goKTskNGk9b3goKTtnLk82PW94KCk7clhDPW94KCk7UHE9b3goKTtzZjI9b3goKTtnLlpGPW94KCk7Tk1VPW94KCk7cCRVPW94KCk7Zy5RbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5sOT1KdihuLFcsRCwyMDQ4KX10b0pTT04oKXtyZXR1cm4gWXYodGhpcyl9Ylkobil7cmV0dXJuIEpTT04uc3RyaW5naWZ5KFl2KHRoaXMsbikpfWNsb25lKCl7dmFyIG49dGhpcy5sOSxXPW5bYjRdfDA7cmV0dXJuIEtHKHRoaXMsbixXKT9PSyh0aGlzLG4sITApOm5ldyB0aGlzLmNvbnN0cnVjdG9yKG1fKG4sVywhMSkpfX07Zy5RbS5wcm90b3R5cGVbdkhdPWt2O2cuUW0ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubDkudG9TdHJpbmcoKX07dmFyIHpTPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmNqPW47dGhpcy5Qaj1XO249RXcobEcpO3RoaXMuTj0hIW4mJkQ9PT1ufHwhMX19LExjdD1UUyhmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7UTEobixoUyhXLGIsRCksdik7cmV0dXJuITB9LENoKSxlQnQ9VFMoZnVuY3Rpb24obixXLEQsYix2KXtpZihuLkohPT0yKXJldHVybiExOwpRMShuLGhTKFcsYixEKSx2KTtyZXR1cm4hMH0sQ2gpLHZPPVN5bWJvbCgpLGN5PVN5bWJvbCgpLFdPPVN5bWJvbCgpLHhuPVN5bWJvbCgpLEQ4PVN5bWJvbCgpLEJ5LEZ0O3ZhciBTNixVNix5cCxZM0MsaVUsSGl3LGZxdyx1VSx6ZyxsVSxUZyxqbyxKWFMsSXFqO1M2PShuLFcpPT57dmFyIEQ9bmV3IFgkMjtMOChuLmw5LEQsd0codk8sYjYsa24sVykpO0EzKEQsRC5OLmVuZCgpKTtuPW5ldyBVaW50OEFycmF5KEQuSik7Vz1ELlc7dmFyIGI9Vy5sZW5ndGgsdj0wO2ZvcihsZXQgaz0wO2s8YjtrKyspe2xldCBoPVdba107bi5zZXQoaCx2KTt2Kz1oLmxlbmd0aH1ELlc9W25dO3JldHVybiBufTsKVTY9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MSlyZXR1cm4hMTtnLnFZKFcsRCxnLmRlKG4uTikpO3JldHVybiEwfSxnLnQ5LGcuWkYpOwp5cD1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO3ZhciBiPXVhKG4uTik7bj0oYj4+MzEpKjIrMTt2YXIgdj1iPj4+MjMmMjU1O2ImPTgzODg2MDc7Zy5xWShXLEQsdj09MjU1P2I/TmFOOm4qSW5maW5pdHk6dj09MD9uKjEuNDAxMjk4NDY0MzI0ODE3RS00NSpiOm4qTWF0aC5wb3coMix2LTE1MCkqKGIrODM4ODYwOCkpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1tMChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixEPUd2fHwoR3Y9bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLEQuc2V0RmxvYXQzMigwLCtXLCEwKSxzXz0wLHJaPUQuZ2V0VWludDMyKDAsITApLEozKG4sclopKX0sc2YyKTsKZy5FNj1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtuLkohPT0wP249ITE6KGcucVkoVyxELGcuVVYobi5OLGcuSl8pKSxuPSEwKTtyZXR1cm4gbn0sZy4kbixnLk82KTsKWTNDPWcuZ1EoZnVuY3Rpb24obixXLEQpe24uSiE9PTA/bj0hMTooZy5xWShXLEQsZy5VVihuLk4sZjUpKSxuPSEwKTtyZXR1cm4gbn0sZnVuY3Rpb24obixXLEQpe1c9YTAoVyk7CmlmKFchPW51bGwmJihQeShXKSxXIT1udWxsKSlzd2l0Y2gobTQobixELDApLHR5cGVvZiBXKXtjYXNlICJudW1iZXIiOm49bi5OO3A1KFcpO0h5KG4sclosc18pO2JyZWFrO2Nhc2UgImJpZ2ludCI6RD1ZbShXLHZ5LGttKTtIeShuLk4sRC5KLEQuTik7YnJlYWs7ZGVmYXVsdDpEPXhtKFcpLEh5KG4uTixELkosRC5OKX19LHJYQyk7CmlVPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pKTtyZXR1cm4hMH0sZy5yUSxnLkt4KTsKSGl3PWcuZ1EoZnVuY3Rpb24obixXLEQpe3JldHVybiBKOShuLFcsRCl9LGZ1bmN0aW9uKG4sVyxEKXtXPWEwKFcpOwppZihXIT1udWxsKXN3aXRjaCh1RyhXKSxtNChuLEQsMSksbj1uLk4sdUcoVyksdHlwZW9mIFcpe2Nhc2UgIm51bWJlciI6VzwwPyhXPUxoKGttKC1XKSksRD1XLk4sSjMobixXLkopLEozKG4sRCkpOihOMyhXKSxKMyhuLHJaKSxKMyhuLHNfKSk7YnJlYWs7Y2FzZSAiYmlnaW50IjpXPVc8QmlnSW50KDApP0xoKFltKC1XLHZ5LGttKSk6WW0oVyx2eSxrbSk7RD1XLk47SjMobixXLkopO0ozKG4sRCk7YnJlYWs7ZGVmYXVsdDpXPVcubGVuZ3RoJiZXWzBdPT09Ii0iP0xoKHhtKFcuc3Vic3RyaW5nKDEpKSk6eG0oVyksRD1XLk4sSjMobixXLkopLEozKG4sRCl9fSxQcSk7CmZxdz1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT01KXJldHVybiExO2cucVkoVyxELHVhKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz11NChXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxKMyhuLk4sVykpfSx0MmgpOwp1VT1nLmdRKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wKXJldHVybiExO2cucVkoVyxELHkxKG4uTikpO3JldHVybiEwfSxzZixxM1opOwpnLm9tPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7Zy5xWShXLEQsYVkobikpO3JldHVybiEwfSxOWSxtNyk7CmcuZHE9ZnVuY3Rpb24obixXLEQ9bEcpe3JldHVybiBuZXcgelMobixXLEQpfShmdW5jdGlvbihuLFcsRCxiLHYpe2lmKG4uSiE9PTIpcmV0dXJuITE7CmI9U1codm9pZCAwLGIpO2NIKFcsV1tiNF18MCxEKS5wdXNoKGIpO1ExKG4sYix2KTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQsYix2KXtpZihBcnJheS5pc0FycmF5KFcpKXtmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKylwOChuLFdba10sRCxiLHYpOwpuPVdbYjRdfDA7biYxfHwoV1tiNF09bnwxKX19KTsKemc9VFMoZnVuY3Rpb24obixXLEQsYix2LGspe2lmKG4uSiE9PTIpcmV0dXJuITE7dmFyIGg9V1tiNF18MDtXVyhXLGgsayxELEw1KGgpKTtXPWhTKFcsYixEKTtRMShuLFcsdik7cmV0dXJuITB9LHA4KTsKbFU9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MilyZXR1cm4hMTtnLnFZKFcsRCxEOShuKSk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPW5HKFcpOwpXIT1udWxsJiZpRyhuLEQsUFcoVywhMCkuYnVmZmVyKX0sTk1VKTsKVGc9WGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1EOShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYobkcsVywhMSk7CmlmKFchPW51bGwpZm9yKGxldCBoPTA7aDxXLmxlbmd0aDtoKyspe3ZhciBiPW4sdj1ELGs9V1toXTtrIT1udWxsJiZpRyhiLHYsUFcoaywhMCkuYnVmZmVyKX19LE5NVSk7CmpvPWcuZ1EoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTApcmV0dXJuITE7Zy5xWShXLEQsZy5FVihuLk4pPj4+MCk7cmV0dXJuITB9LGZ1bmN0aW9uKG4sVyxEKXtXPXU0KFcpOwpXIT1udWxsJiZXIT1udWxsJiYobTQobixELDApLEl4KG4uTixXKSl9LEdDMik7CmcuQ3g9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09MClyZXR1cm4hMTtnLnFZKFcsRCxnLkVWKG4uTikpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7RXMobixELEVfKFcpKX0scCRVKTsKSlhTPVhmKGZ1bmN0aW9uKG4sVyxEKXtpZihuLkohPT0wJiZuLkohPT0yKXJldHVybiExO1c9Y0goVyxXW2I0XXwwLEQpO24uSj09Mj9iRyhuLGs0MixXKTpXLnB1c2goZy5FVihuLk4pKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoRV8sVywhMCk7CmlmKFchPW51bGwpZm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspRXMobixELFdbYl0pfSxwJFUpOwpJcWo9Zy5nUShmdW5jdGlvbihuLFcsRCl7aWYobi5KIT09NSlyZXR1cm4hMTtuPW4uTjt2YXIgYj1uLkosdj1uLk4saz1iW3YrMF0saD1iW3YrMV0seD1iW3YrMl07Yj1iW3YrM107aWEobiw0KTtnLnFZKFcsRCxrPDwwfGg8PDh8eDw8MTZ8Yjw8MjQpO3JldHVybiEwfSxmdW5jdGlvbihuLFcsRCl7Vz1FXyhXKTsKVyE9bnVsbCYmKG00KG4sRCw1KSxuPW4uTixuLk4ucHVzaChXPj4+MCYyNTUpLG4uTi5wdXNoKFc+Pj44JjI1NSksbi5OLnB1c2goVz4+PjE2JjI1NSksbi5OLnB1c2goVz4+PjI0JjI1NSkpfSwkNGkpO3ZhciBTMzE9bmV3IE1hcCxBWHg9Y2xhc3MgZXh0ZW5kcyBlM3J7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudHlwZU5hbWU9bjt0aGlzLk49VztpZihTbyE9PVNvKXRocm93IEVycm9yKCk7UzMxLnNldChuLHRoaXMpfX07dmFyIG00Wj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5OPW47dGhpcy5KPUQ7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5YPWdlO3RoaXMuZGVmYXVsdFZhbHVlPXZvaWQgMDt0aGlzLlc9Vy5tZXNzYWdlSWQhPW51bGw/eFU6dm9pZCAwfXJlZ2lzdGVyKCl7Zy5PQSh0aGlzKX19O3ZhciBjRlo9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVmPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGk2PVsxLDIsM107dmFyIFo4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LFVmPVsxLDIsM107dmFyIHllPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBLVUM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIE9peD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxQWmg9WzEsMiwzXTtnLk9mPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O2cuT2YucHJvdG90eXBlLkpoPVdaKDApO2cuT2YucHJvdG90eXBlLko9Zy5tRChbMCxnLm9tLFswLFBaaCx6ZyxbMCxnLm9tLC0xLHVVXSx6ZyxbMCxnLm9tLC0xLGlVLHVVXSx6ZyxbMCxnLm9tXV0sWGYoZnVuY3Rpb24obixXLEQpe2lmKG4uSiE9PTIpcmV0dXJuITE7bj1hWShuKTtjSChXLFdbYjRdfDAsRCkucHVzaChuKTtyZXR1cm4hMH0sZnVuY3Rpb24obixXLEQpe1c9ZTYoZy5EUixXLCEwKTsKaWYoVyE9bnVsbClmb3IobGV0IGg9MDtoPFcubGVuZ3RoO2grKyl7dmFyIGI9bix2PUQsaz1XW2hdO2shPW51bGwmJmlHKGIsdixrSyhrKSl9fSxtNyksCmcuZHEsWzAsZy5kcSxbMCxpNixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTIpcmV0dXJuITE7YmEoVyxELGIsYVkobikpO3JldHVybiEwfSxOWSxtNyksCmcuZ1EoZnVuY3Rpb24obixXLEQsYil7aWYobi5KIT09MClyZXR1cm4hMTtiYShXLEQsYixnLkVWKG4uTikpO3JldHVybiEwfSxnLnJRLGcuS3gpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTApcmV0dXJuITE7YmEoVyxELGIseTEobi5OKSk7cmV0dXJuITB9LHNmLHEzWildLApbMCxVZixnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe24uSiE9PTA/bj0hMTooYmEoVyxELGIsZy5VVihuLk4sZy5KXykpLG49ITApO3JldHVybiBufSxnLiRuLGcuTzYpLApnLmdRKGZ1bmN0aW9uKG4sVyxELGIpe2lmKG4uSiE9PTEpcmV0dXJuITE7YmEoVyxELGIsZy5kZShuLk4pKTtyZXR1cm4hMH0sZy50OSxnLlpGKSwKemcsWzAsZy5kcSxbMCxVNixnLkU2XV1dXSxnLmdRKGZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gSjkobixXLEQpfSxmdW5jdGlvbihuLFcsRCl7eW0obixELGEwKFcpKX0sUHEpLApYZihmdW5jdGlvbihuLFcsRCl7bi5KIT09MSYmbi5KIT09Mj9uPSExOihXPWNIKFcsV1tiNF18MCxEKSxuLko9PTI/YkcobixvWSxXKTpXLnB1c2gob1kobi5OKSksbj0hMCk7cmV0dXJuIG59LGZ1bmN0aW9uKG4sVyxEKXtXPWU2KGEwLFcsITEpOwppZihXIT1udWxsKWZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXltKG4sRCxXW2JdKX0sUHEpXSk7dmFyIFppeD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTtnLkU9bDYucHJvdG90eXBlO2cuRS5pc0VuYWJsZWQ9ZnVuY3Rpb24oKXtpZighZy5xaS5uYXZpZ2F0b3IuY29va2llRW5hYmxlZClyZXR1cm4hMTtpZighdGhpcy5pc0VtcHR5KCkpcmV0dXJuITA7dGhpcy5zZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIsIjEiLHtuejo2MH0pO2lmKHRoaXMuZ2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiKSE9PSIxIilyZXR1cm4hMTt0aGlzLnJlbW92ZSgiVEVTVENPT0tJRVNFTkFCTEVEIik7cmV0dXJuITB9OwpnLkUuc2V0PWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj0hMTtpZih0eXBlb2YgRD09PSJvYmplY3QiKXt2YXIgdj1ELnNhbWVTaXRlO2I9RC5zZWN1cmV8fCExO3ZhciBrPUQuZG9tYWlufHx2b2lkIDA7dmFyIGg9RC5wYXRofHx2b2lkIDA7dmFyIHg9RC5uen1pZigvWzs9XHNdLy50ZXN0KG4pKXRocm93IEVycm9yKCdJbnZhbGlkIGNvb2tpZSBuYW1lICInK24rJyInKTtpZigvWztcclxuXS8udGVzdChXKSl0aHJvdyBFcnJvcignSW52YWxpZCBjb29raWUgdmFsdWUgIicrVysnIicpO3g9PT12b2lkIDAmJih4PS0xKTtEPWs/Ijtkb21haW49IitrOiIiO2g9aD8iO3BhdGg9IitoOiIiO2I9Yj8iO3NlY3VyZSI6IiI7eD14PDA/IiI6eD09MD8iO2V4cGlyZXM9IisobmV3IERhdGUoMTk3MCwxLDEpKS50b1VUQ1N0cmluZygpOiI7ZXhwaXJlcz0iKyhuZXcgRGF0ZShEYXRlLm5vdygpK3gqMUUzKSkudG9VVENTdHJpbmcoKTt0aGlzLk4uY29va2llPW4rIj0iK1crRCtoK3grYisodiE9bnVsbD8KIjtzYW1lc2l0ZT0iK3Y6IiIpfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe3ZhciBEPW4rIj0iLGI9KHRoaXMuTi5jb29raWV8fCIiKS5zcGxpdCgiOyIpO2ZvcihsZXQgdj0wLGs7djxiLmxlbmd0aDt2Kyspe2s9Ylt2XS50cmltKCk7aWYoay5sYXN0SW5kZXhPZihELDApPT0wKXJldHVybiBrLnNsaWNlKEQubGVuZ3RoKTtpZihrPT1uKXJldHVybiIifXJldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCl7dmFyIGI9dGhpcy5nZXQobikhPT12b2lkIDA7dGhpcy5zZXQobiwiIix7bno6MCxwYXRoOlcsZG9tYWluOkR9KTtyZXR1cm4gYn07CmcuRS51Qj1mdW5jdGlvbigpe3JldHVybiBUdih0aGlzKS5rZXlzfTsKZy5FLno3PWZ1bmN0aW9uKCl7cmV0dXJuIFR2KHRoaXMpLnZhbHVlc307CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuTi5jb29raWV9OwpnLkUuY2xlYXI9ZnVuY3Rpb24oKXt2YXIgbj1Udih0aGlzKS5rZXlzO2ZvcihsZXQgVz1uLmxlbmd0aC0xO1c+PTA7Vy0tKXRoaXMucmVtb3ZlKG5bV10pfTsKdmFyIEp5PW5ldyBsNih0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBVNHg9Y2xhc3N7YXN5bmMgY29tcHJlc3Mobil7dmFyIFc9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksRD0obmV3IFJlc3BvbnNlKFcucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO1c9Vy53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBXLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShuKSk7YXdhaXQgVy5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBEKX1pc1N1cHBvcnRlZChuKXtyZXR1cm4gbjwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIHlYTT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgRXppPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pbnRlcnZhbE1zPW47dGhpcy5jYWxsYmFjaz1XO3RoaXMuZW5hYmxlZD0hMTt0aGlzLk49KCk9PmcuVXcoKTsKdGhpcy5KPXRoaXMuTigpfXNldEludGVydmFsKG4pe3RoaXMuaW50ZXJ2YWxNcz1uO3RoaXMudGltZXImJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnRpbWVyJiZ0aGlzLnN0b3AoKX1zdGFydCgpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnRpbWVyfHwodGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcyksdGhpcy5KPXRoaXMuTigpKX1zdG9wKCl7dGhpcy5lbmFibGVkPSExOwp0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKX10aWNrKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1NYXRoLm1heCh0aGlzLk4oKS10aGlzLkosMCk7bjx0aGlzLmludGVydmFsTXMqLjg/dGhpcy50aW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy50aWNrKCl9LHRoaXMuaW50ZXJ2YWxNcy1uKToodGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCksdGhpcy5jYWxsYmFjaygpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfWVsc2UgdGhpcy50aW1lcj12b2lkIDB9fTt2YXIgaWl4PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciB1R2I9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07Zy5FPWcuTVkucHJvdG90eXBlO2cuRS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5NWSh0aGlzLngsdGhpcy55KX07CmcuRS5lcXVhbHM9ZnVuY3Rpb24obil7cmV0dXJuIG4gaW5zdGFuY2VvZiBnLk1ZJiZSXyh0aGlzLG4pfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGgucm91bmQodGhpcy54KTt0aGlzLnk9TWF0aC5yb3VuZCh0aGlzLnkpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy54Kj1uO3RoaXMueSo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O2cuRT1nLlFlLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuUWUodGhpcy53aWR0aCx0aGlzLmhlaWdodCl9OwpnLkUuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07CmcuRS5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIWNPKHRoaXMpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLnNjYWxlPWZ1bmN0aW9uKG4sVyl7dGhpcy53aWR0aCo9bjt0aGlzLmhlaWdodCo9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47cmV0dXJuIHRoaXN9O3ZhciBwVD0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpO3ZhciAkQj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uPT09cksmJld8fCIifXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuTn19LHJLPXt9O25ldyAkQihySywiIik7dmFyIE8wPXtjZWxscGFkZGluZzoiY2VsbFBhZGRpbmciLGNlbGxzcGFjaW5nOiJjZWxsU3BhY2luZyIsY29sc3BhbjoiY29sU3BhbiIsZnJhbWVib3JkZXI6ImZyYW1lQm9yZGVyIixoZWlnaHQ6ImhlaWdodCIsbWF4bGVuZ3RoOiJtYXhMZW5ndGgiLG5vbmNlOiJub25jZSIscm9sZToicm9sZSIscm93c3Bhbjoicm93U3BhbiIsdHlwZToidHlwZSIsdXNlbWFwOiJ1c2VNYXAiLHZhbGlnbjoidkFsaWduIix3aWR0aDoid2lkdGgifTtnLkU9ZlQucHJvdG90eXBlO2cuRS5lXz1mdW5jdGlvbigpe3JldHVybiBBSyh0aGlzLk4pfTsKZy5FLmdldEVsZW1lbnRzQnlUYWdOYW1lPWZ1bmN0aW9uKG4sVyl7cmV0dXJuKFd8fHRoaXMuTikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKG4pKX07CmcuRS5CSj1mdW5jdGlvbihuKXtyZXR1cm4gZy5LVChuLHRoaXMuTil9OwpnLkUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbihuKXtyZXR1cm4gdWsodGhpcy5OLG4pfTsKZy5FLmFwcGVuZENoaWxkPWZ1bmN0aW9uKG4sVyl7bi5hcHBlbmRDaGlsZChXKX07CmcuRS5hcHBlbmQ9ZnVuY3Rpb24obixXKXtvaChnLkpLKG4pLG4sYXJndW1lbnRzLDEpfTsKZy5FLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihuKXtpZihuLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChuLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07CmcuRS5yZW1vdmVOb2RlPWcuQ1Q7Zy5FLmNvbnRhaW5zPWcuQng7Zy5FLmlzRm9jdXNhYmxlPU1jO3ZhciBvek09Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfUdZKCl7cmV0dXJuIEhXKHRoaXMsMSl9fTt2YXIgVlE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGJJPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGY0Mj1LOChiSSk7dmFyIGtFPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBjeD1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sUVE9bmV3IGJJLGFoPW51bGw7dmFyIFdMPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBkNGg9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHozdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw0KX19O3ZhciBCcT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiwzNyl9Uygpe3ZhciBuPXRoaXMubDk7cmV0dXJuIHg5KG4sbltiNF18MCxkNGgsNykhPT12b2lkIDB9fTt2YXIgbHF0PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDE5KX1hVihuKXtyZXR1cm4gS24odGhpcywyLG4pfX07dmFyIFRNQz1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuZ1I9Vzt0aGlzLnVhY2g9dGhpcy5sb2NhbGU9bnVsbDt0aGlzLko9MDt0aGlzLmlzRmluYWw9ITE7dGhpcy5OPW5ldyBscXQ7TnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5OLmFWKG4pO1d8fCh0aGlzLmxvY2FsZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0QXR0cmlidXRlKCJsYW5nIikpO3ZMKHRoaXMsbmV3IFdMKX1hVihuKXt0aGlzLk4uYVYobik7cmV0dXJuIHRoaXN9YnVpbGQobixXPTAsRD0wLGI9bnVsbCx2PTAsaz0wKXtpZighdGhpcy5nUil7dmFyIGg9REQodGhpcyk7dmFyIHg9bmV3IG96TTt4PUtuKHgsMSx0aGlzLkopO3g9b3ooeCwyLE9fKHRoaXMuaXNGaW5hbCkpO0Q9b3ooeCwzLGcueVAoRD4wP0Q6dm9pZCAwKSk7dj1veihELDQsZy55UCh2PjA/djp2b2lkIDApKTtrPW96KHYsNSxnLnlQKGs+MD9rOnZvaWQgMCkpO3Y9ay5sOTtEPXZbYjRdfDA7az12OShrLEQpP2s6S0coayx2LEQpP09LKGssCnYpOm5ldyBrLmNvbnN0cnVjdG9yKG1fKHYsRCwhMCkpOyQ5KGgsb3pNLDEwLGspfWg9dGhpcy5OLmNsb25lKCk7az1EYXRlLm5vdygpLnRvU3RyaW5nKCk7aD1veihoLDQsZy5sNChrKSk7bj1uLnNsaWNlKCk7bj1zVihoLEJxLDMsbik7YiYmKGg9bmV3IGlpeCxiPW96KGgsMTMsZy55UChiKSksaD1uZXcgdUdiLGI9JDkoaCxpaXgsMixiKSxoPW5ldyB6M3QsYj0kOShoLHVHYiwxLGIpLGI9S24oYiwyLDkpLCQ5KG4sejN0LDE4LGIpKTtXJiZJWShuLDE0LFcpO3JldHVybiBufX07dmFyIEdBO0dBPWcuWmw/IndlYmtpdFRyYW5zaXRpb25FbmQiOiJ0cmFuc2l0aW9uZW5kIjtnLmhILnByb3RvdHlwZS5KPTA7Zy5oSC5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLk49dGhpcy5XPXRoaXMuWDt0aGlzLko9MH07CmcuaEgucHJvdG90eXBlLmdldFZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuV307dmFyIGpmdz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobiw4KX19LENaaD1LOChqZncpO3ZhciBGUDtGUD1uZXcgbTRaKDE3NTIzNzM3NSxqZncsY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX0pO3ZhciBCTVo9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5jb21wb25lbnRJZD0iIjt0aGlzLk49W107dGhpcy5WUT0iIjt0aGlzLnBhZ2VJZD1udWxsO3RoaXMuZSQ9dGhpcy50dz0tMTt0aGlzLks9dGhpcy5leHBlcmltZW50SWRzPW51bGw7dGhpcy5PPXRoaXMuY0o9dGhpcy5WPXRoaXMuWD0wO3RoaXMuSEo9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLmJkPSExO3RoaXMubG9nU291cmNlPW4ubG9nU291cmNlO3RoaXMubjE9bi5uMXx8KCgpPT57fSk7CnRoaXMuVz1uZXcgVE1DKG4ubG9nU291cmNlLG4uZ1IpO3RoaXMubmV0d29yaz1uLm5ldHdvcmt8fG51bGw7dGhpcy5QZz1uLlBnfHxudWxsO3RoaXMuWT1uLmN1fHxudWxsO3RoaXMuc2Vzc2lvbkluZGV4PW4uc2Vzc2lvbkluZGV4fHxudWxsO3RoaXMub3g9bi5veHx8ITE7dGhpcy5sb2dnZXI9bnVsbDt0aGlzLndpdGhDcmVkZW50aWFscz0hbi5rQzt0aGlzLmdSPW4uZ1J8fCExO3RoaXMuRD0hdGhpcy5nUiYmISFnLmlrKCkmJiEhZy5paygpLm5hdmlnYXRvciYmZy5paygpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuUyQ9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKExLKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoTEsoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIFc9bksobmV3IFdMKTt2TCh0aGlzLlcsVyk7dGhpcy5qPW5ldyBnLmhIKDFFNCwzRTUsLjEpO249STRTKHRoaXMsbi5iMSk7dGhpcy5KPW5ldyBFemkodGhpcy5qLmdldFZhbHVlKCksCm4pO3RoaXMuVEM9bmV3IEV6aSg2RTUsbik7dGhpcy5veHx8dGhpcy5UQy5zdGFydCgpO3RoaXMuZ1J8fChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIiwoKT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJoaWRkZW4iJiZlZyh0aGlzKX0pLGcuaWsoKT8uYWRkRXZlbnRMaXN0ZW5lcj8uKCJwYWdlaGlkZSIsKCk9PntlZyh0aGlzKX0pKX1tQSgpe2VnKHRoaXMpOwp0aGlzLkouc3RvcCgpO3RoaXMuVEMuc3RvcCgpO3N1cGVyLm1BKCl9ZGlzcGF0Y2gobil7aWYobiBpbnN0YW5jZW9mIEJxKXRoaXMubG9nKG4pO2Vsc2UgdHJ5e3ZhciBXPW5ldyBCcSxEPW4uYlkoKTt2YXIgYj1nLlNFKFcsOCxEKTt0aGlzLmxvZyhiKX1jYXRjaHt9fWxvZyhuKXtpZih0aGlzLlMkKXtuPW4uY2xvbmUoKTt2YXIgVz10aGlzLkhKKys7bj1JWShuLDIxLFcpO3RoaXMuY29tcG9uZW50SWQmJmcuU0UobiwyNix0aGlzLmNvbXBvbmVudElkKTtXPW47e3ZhciBEPWlXKFcsMSk7bGV0IGI9dHlwZW9mIEQ7RD1EPT1udWxsP0Q6Yj09PSJiaWdpbnQiP1N0cmluZyhkWig2NCxEKSk6WkIoRCk/Yj09PSJzdHJpbmciP0I5KEQpOkM1KEQpOnZvaWQgMH1EPT1udWxsJiYoRD1EYXRlLm5vdygpLEQ9TnVtYmVyLmlzRmluaXRlKEQpP0QudG9TdHJpbmcoKToiMCIsb3ooVywxLGcubDQoRCkpKTtEPWlXKFcsMTUsdm9pZCAwLHZvaWQgMCxGRCk7RCE9bnVsbCYmKHR5cGVvZiBEPT09ImJpZ2ludCI/CnNLKEQpP0Q9TnVtYmVyKEQpOihEPWRaKDY0LEQpLEQ9c0soRCk/TnVtYmVyKEQpOlN0cmluZyhEKSk6RD1aQihEKT90eXBlb2YgRD09PSJudW1iZXIiP0M1KEQpOkI5KEQpOnZvaWQgMCk7RCE9bnVsbHx8SVkoVywxNSwobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkqNjApO3RoaXMuZXhwZXJpbWVudElkcyYmKEQ9dGhpcy5leHBlcmltZW50SWRzLmNsb25lKCksJDkoVyx5WE0sMTYsRCkpO1c9dGhpcy5OLmxlbmd0aC0xRTMrMTtXPjAmJih0aGlzLk4uc3BsaWNlKDAsVyksdGhpcy5YKz1XKTt0aGlzLk4ucHVzaChuKTt0aGlzLm94fHx0aGlzLkouZW5hYmxlZHx8dGhpcy5KLnN0YXJ0KCl9fWZsdXNoKG4sVyl7aWYodGhpcy5OLmxlbmd0aD09PTApbiYmbigpO2Vsc2UgaWYodGhpcy5iZCYmdGhpcy5EKXRoaXMuVy5KPTMsQUZaKHRoaXMpO2Vsc2V7dmFyIEQ9RGF0ZS5ub3coKTtpZih0aGlzLmUkPkQmJnRoaXMudHc8RClXJiZXKCJ0aHJvdHRsZWQiKTtlbHNle3RoaXMubmV0d29yayYmCih0eXBlb2YgdGhpcy5uZXR3b3JrLkdZPT09ImZ1bmN0aW9uIj9IYlModGhpcy5XLHRoaXMubmV0d29yay5HWSgpKTp0aGlzLlcuSj0wKTt2YXIgYj10aGlzLlcuYnVpbGQodGhpcy5OLHRoaXMuWCx0aGlzLlYsdGhpcy5QZyx0aGlzLmNKLHRoaXMuTyksdj10aGlzLm4xKCk7aWYodiYmdGhpcy5WUT09PXYpVyYmVygic3RhbGUtYXV0aC10b2tlbiIpO2Vsc2V7dGhpcy5OPVtdO3RoaXMuSi5lbmFibGVkJiZ0aGlzLkouc3RvcCgpO3RoaXMuWD0wO0Q9Yi5iWSgpO2xldCBrO3RoaXMuSyYmdGhpcy5LLmlzU3VwcG9ydGVkKEQubGVuZ3RoKSYmKGs9dGhpcy5LLmNvbXByZXNzKEQpKTtsZXQgaD1tVXcodGhpcyxELHYpLHg9Rz0+e3RoaXMuai5yZXNldCgpO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7aWYoRyl7dmFyIHI9bnVsbDt0cnl7bGV0IE49SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShHLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cj1DWmgoTil9Y2F0Y2goTil7fXImJgooRz1OdW1iZXIocG4ociwxLGcuJFUoIi0xIikpKSxHPjAmJih0aGlzLnR3PURhdGUubm93KCksdGhpcy5lJD10aGlzLnR3K0cpLHR2KHIubDksRlAuTiksR3oocixGUC5OKSxyPUZQLko/RlAuWChyLEZQLkosRlAuTixGUC5XKTpGUC5YKHIsRlAuTixudWxsLEZQLlcpLHI9cj09PW51bGw/dm9pZCAwOnIpJiYocj1hUChyLDEsLTEpLHIhPT0tMSYmKHRoaXMuaj1uZXcgZy5oSChyPDE/MTpyLDNFNSwuMSksdGhpcy5KLnNldEludGVydmFsKHRoaXMuai5nZXRWYWx1ZSgpKSkpfW4mJm4oKTt0aGlzLlY9MH0sTD0oRyxyKT0+e3ZhciBOPVZHKGIsQnEsMyk7CnZhciBIPU51bWJlcihwbihiLDE0KSk7Zy54RSh0aGlzLmopO3RoaXMuSi5zZXRJbnRlcnZhbCh0aGlzLmouZ2V0VmFsdWUoKSk7Rz09PTQwMSYmdiYmKHRoaXMuVlE9dik7SCYmKHRoaXMuWCs9SCk7cj09PXZvaWQgMCYmKHI9dGhpcy5pc1JldHJ5YWJsZShHKSk7ciYmKHRoaXMuTj1OLmNvbmNhdCh0aGlzLk4pLHRoaXMub3h8fHRoaXMuSi5lbmFibGVkfHx0aGlzLkouc3RhcnQoKSk7VyYmVygibmV0LXNlbmQtZmFpbGVkIixHKTsrK3RoaXMuVn0sZT0oKT0+e3RoaXMubmV0d29yayYmdGhpcy5uZXR3b3JrLnNlbmQoaCx4LEwpfTsKaz9rLnRoZW4oRz0+e2guWkpbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5aSlsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PUc7aC5vJD0yO2UoKX0sKCk9PntlKCl9KTplKCl9fX19aXNSZXRyeWFibGUobil7cmV0dXJuIDUwMDw9biYmbjw2MDB8fG49PT00MDF8fG49PT0wfX07dmFyIEZVaj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuUiQ9dHlwZW9mIEFib3J0Q29udHJvbGxlciE9PSJ1bmRlZmluZWQifWFzeW5jIHNlbmQobixXLEQpe3ZhciBiPXRoaXMuUiQ/bmV3IEFib3J0Q29udHJvbGxlcjp2b2lkIDAsdj1iJiZuLnRpbWVvdXRNaWxsaXM+MD9zZXRUaW1lb3V0KCgpPT57Yi5hYm9ydCgpfSxuLnRpbWVvdXRNaWxsaXMpOnZvaWQgMDsKdHJ5e2xldCBrPWF3YWl0IGZldGNoKG4udXJsLHttZXRob2Q6bi5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5uLlpKfSwuLi4obi5ib2R5JiZ7Ym9keTpuLmJvZHl9KSwuLi4obi53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6bi50aW1lb3V0TWlsbGlzJiZiP2Iuc2lnbmFsOm51bGx9KTtrLnN0YXR1cz09PTIwMD9XPy4oYXdhaXQgay50ZXh0KCkpOkQ/LihrLnN0YXR1cyl9Y2F0Y2goayl7c3dpdGNoKGs/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOkQ/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6RD8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KHYpfX1HWSgpe3JldHVybiA0fX07dmFyIGtZPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5Saj0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5OPXRoaXMuUGc9bnVsbDt0aGlzLko9ITE7dGhpcy5sb2dnZXI9dGhpcy5wYWdlSWQ9bnVsbH1rQygpe3RoaXMuVz0hMDtyZXR1cm4gdGhpc31idWlsZCgpe3RoaXMubmV0d29ya3x8KHRoaXMubmV0d29yaz1uZXcgRlVqKTt2YXIgbj1uZXcgQk1aKHtsb2dTb3VyY2U6dGhpcy5sb2dTb3VyY2UsbjE6dGhpcy5uMT90aGlzLm4xOkJPLHNlc3Npb25JbmRleDp0aGlzLnNlc3Npb25JbmRleCxjdTp0aGlzLlJqLGdSOiExLG94OiExLGtDOnRoaXMuVyxiMTp0aGlzLmIxLG5ldHdvcms6dGhpcy5uZXR3b3JrfSk7Zy51KHRoaXMsCm4pO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIFc9dGhpcy5idWlsZExhYmVsLEQ9REQobi5XKTtnLlNFKEQsNyxXKX1uLks9bmV3IFU0eDt0aGlzLmNvbXBvbmVudElkJiYobi5jb21wb25lbnRJZD10aGlzLmNvbXBvbmVudElkKTt0aGlzLlBnJiYobi5QZz10aGlzLlBnKTt0aGlzLnBhZ2VJZCYmKG4ucGFnZUlkPXRoaXMucGFnZUlkKTt0aGlzLk4mJigoRD10aGlzLk4pPyhuLmV4cGVyaW1lbnRJZHN8fChuLmV4cGVyaW1lbnRJZHM9bmV3IHlYTSksVz1uLmV4cGVyaW1lbnRJZHMsRD1ELmJZKCksZy5TRShXLDQsRCkpOm4uZXhwZXJpbWVudElkcyYmb3oobi5leHBlcmltZW50SWRzLDQpKTt0aGlzLkomJihuLmJkPW4uRCk7SkZaKG4uVyk7dGhpcy5uZXR3b3JrLmFWJiZ0aGlzLm5ldHdvcmsuYVYodGhpcy5sb2dTb3VyY2UpO3RoaXMubmV0d29yay5oUyYmdGhpcy5uZXR3b3JrLmhTKG4pO3JldHVybiBufX07dmFyIGE0aj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7bnx8KG49bmV3IGtZLG4uY29tcG9uZW50SWQ9IiIsZy51KHRoaXMsbiksbj1uLmJ1aWxkKCkpO3RoaXMuTj1ufWZsdXNoKG4pe249bnx8W107aWYobi5sZW5ndGgpe2xldCBXPW5ldyBaaXgsRD1bXTtmb3IobGV0IGI9MDtiPG4ubGVuZ3RoO2IrKyl7bGV0IHY9bltiXSxrPXU2KHYpO0QucHVzaChrKTt2LmNsZWFyKCl9c1YoVyxnLk9mLDEsRCk7dGhpcy5OLmRpc3BhdGNoKFcpO3RoaXMuTi5mbHVzaCgpfX19O3ZhciBxNT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19O3ZhciB3JGI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuSj1uO3RoaXMuVz1XO3RoaXMuZmllbGRzPUR8fFtdO3RoaXMuTj1uZXcgTWFwfWNsZWFyKCl7dGhpcy5OLmNsZWFyKCl9fTt2YXIgaWU9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDMsVyl9fTt2YXIgeTg9Y2xhc3MgZXh0ZW5kcyB3JGJ7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLDIsVyl9ZEUobiwuLi5XKXt5RloodGhpcyxuLC4uLlcpfX07JEUucHJvdG90eXBlLnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3RoaXMuSj0hMH07CiRFLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Zy5peChyRCwkRSk7CnJELnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKG4sVyl7dmFyIEQ9dGhpcy50eXBlPW4udHlwZSxiPW4uY2hhbmdlZFRvdWNoZXMmJm4uY2hhbmdlZFRvdWNoZXMubGVuZ3RoP24uY2hhbmdlZFRvdWNoZXNbMF06bnVsbDt0aGlzLnRhcmdldD1uLnRhcmdldHx8bi5zcmNFbGVtZW50O3RoaXMuY3VycmVudFRhcmdldD1XO1c9bi5yZWxhdGVkVGFyZ2V0O1d8fChEPT0ibW91c2VvdmVyIj9XPW4uZnJvbUVsZW1lbnQ6RD09Im1vdXNlb3V0IiYmKFc9bi50b0VsZW1lbnQpKTt0aGlzLnJlbGF0ZWRUYXJnZXQ9VztiPyh0aGlzLmNsaWVudFg9Yi5jbGllbnRYIT09dm9pZCAwP2IuY2xpZW50WDpiLnBhZ2VYLHRoaXMuY2xpZW50WT1iLmNsaWVudFkhPT12b2lkIDA/Yi5jbGllbnRZOmIucGFnZVksdGhpcy5zY3JlZW5YPWIuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9Yi5zY3JlZW5ZfHwwKToodGhpcy5jbGllbnRYPW4uY2xpZW50WCE9PXZvaWQgMD9uLmNsaWVudFg6bi5wYWdlWCx0aGlzLmNsaWVudFk9Cm4uY2xpZW50WSE9PXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWSx0aGlzLnNjcmVlblg9bi5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1uLnNjcmVlbll8fDApO3RoaXMuYnV0dG9uPW4uYnV0dG9uO3RoaXMua2V5Q29kZT1uLmtleUNvZGV8fDA7dGhpcy5rZXk9bi5rZXl8fCIiO3RoaXMuY2hhckNvZGU9bi5jaGFyQ29kZXx8KEQ9PSJrZXlwcmVzcyI/bi5rZXlDb2RlOjApO3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5hbHRLZXk9bi5hbHRLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5wb2ludGVySWQ9bi5wb2ludGVySWR8fDA7dGhpcy5wb2ludGVyVHlwZT1uLnBvaW50ZXJUeXBlO3RoaXMuc3RhdGU9bi5zdGF0ZTt0aGlzLk49bjtuLmRlZmF1bHRQcmV2ZW50ZWQmJnJELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9OwpyRC5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7ckQuVEIuc3RvcFByb3BhZ2F0aW9uLmNhbGwodGhpcyk7dGhpcy5OLnN0b3BQcm9wYWdhdGlvbj90aGlzLk4uc3RvcFByb3BhZ2F0aW9uKCk6dGhpcy5OLmNhbmNlbEJ1YmJsZT0hMH07CnJELnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3JELlRCLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyk7dmFyIG49dGhpcy5OO24ucHJldmVudERlZmF1bHQ/bi5wcmV2ZW50RGVmYXVsdCgpOm4ucmV0dXJuVmFsdWU9ITF9O3ZhciBzMj0iY2xvc3VyZV9saXN0ZW5hYmxlXyIrKE1hdGgucmFuZG9tKCkqMUU2fDApO3ZhciB1SWg9MDtnLkU9ZksucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXLEQsYix2KXt2YXIgaz1uLnRvU3RyaW5nKCk7bj10aGlzLmxpc3RlbmVyc1trXTtufHwobj10aGlzLmxpc3RlbmVyc1trXT1bXSx0aGlzLk4rKyk7dmFyIGg9SVcobixXLGIsdik7aD4tMT8oVz1uW2hdLER8fChXLnFfPSExKSk6KFc9bmV3IG8zYihXLHRoaXMuc3JjLGssISFiLHYpLFcucV89RCxuLnB1c2goVykpO3JldHVybiBXfTsKZy5FLnJlbW92ZT1mdW5jdGlvbihuLFcsRCxiKXtuPW4udG9TdHJpbmcoKTtpZighKG4gaW4gdGhpcy5saXN0ZW5lcnMpKXJldHVybiExO3ZhciB2PXRoaXMubGlzdGVuZXJzW25dO1c9SVcodixXLEQsYik7cmV0dXJuIFc+LTE/KEhMKHZbV10pLGcuQk0odixXKSx2Lmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1tuXSx0aGlzLk4tLSksITApOiExfTsKZy5FLlRpPWZ1bmN0aW9uKCl7dmFyIG49MDtmb3IobGV0IFcgaW4gdGhpcy5saXN0ZW5lcnMpe2xldCBEPXRoaXMubGlzdGVuZXJzW1ddO2ZvcihsZXQgYj0wO2I8RC5sZW5ndGg7YisrKSsrbixITChEW2JdKTtkZWxldGUgdGhpcy5saXN0ZW5lcnNbV107dGhpcy5OLS19fTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe249dGhpcy5saXN0ZW5lcnNbbi50b1N0cmluZygpXTt2YXIgdj0tMTtuJiYodj1JVyhuLFcsRCxiKSk7cmV0dXJuIHY+LTE/blt2XTpudWxsfTsKZy5FLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKG4sVyl7dmFyIEQ9biE9PXZvaWQgMCxiPUQ/bi50b1N0cmluZygpOiIiLHY9VyE9PXZvaWQgMDtyZXR1cm4gZy5EbCh0aGlzLmxpc3RlbmVycyxmdW5jdGlvbihrKXtmb3IobGV0IGg9MDtoPGsubGVuZ3RoOysraClpZighKEQmJmtbaF0udHlwZSE9Ynx8diYma1toXS5jYXB0dXJlIT1XKSlyZXR1cm4hMDtyZXR1cm4hMX0pfTt2YXIgUEw9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksaUk9e30sVTI9MCx1ST0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO2cuaXgoZy5vVyxnLkZNKTtnLm9XLnByb3RvdHlwZVtzMl09ITA7Zy5FPWcub1cucHJvdG90eXBlO2cuRS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKG4sVyxELGIpe0FIKHRoaXMsbixXLEQsYil9OwpnLkUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihuLFcsRCxiKXt5Nyh0aGlzLG4sVyxELGIpfTsKZy5FLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5sWjtpZihXKXt2YXIgRD1bXTtmb3IodmFyIGI9MTtXO1c9Vy5sWilELnB1c2goVyksKytifVc9dGhpcy5IZDtiPW4udHlwZXx8bjtpZih0eXBlb2Ygbj09PSJzdHJpbmciKW49bmV3ICRFKG4sVyk7ZWxzZSBpZihuIGluc3RhbmNlb2YgJEUpbi50YXJnZXQ9bi50YXJnZXR8fFc7ZWxzZXt2YXIgdj1uO249bmV3ICRFKGIsVyk7Zy5ZeShuLHYpfXY9ITA7dmFyIGs7aWYoRClmb3Ioaz1ELmxlbmd0aC0xOyFuLkomJms+PTA7ay0tKXt2YXIgaD1uLmN1cnJlbnRUYXJnZXQ9RFtrXTt2PWREKGgsYiwhMCxuKSYmdn1uLkp8fChoPW4uY3VycmVudFRhcmdldD1XLHY9ZEQoaCxiLCEwLG4pJiZ2LG4uSnx8KHY9ZEQoaCxiLCExLG4pJiZ2KSk7aWYoRClmb3Ioaz0wOyFuLkomJms8RC5sZW5ndGg7aysrKWg9bi5jdXJyZW50VGFyZ2V0PURba10sdj1kRChoLGIsITEsbikmJnY7cmV0dXJuIHZ9OwpnLkUubUE9ZnVuY3Rpb24oKXtnLm9XLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5kXyYmdGhpcy5kXy5UaSgpO3RoaXMubFo9bnVsbH07CmcuRS5TXz1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITEsRCxiKX07CmcuRS5lRj1mdW5jdGlvbihuLFcsRCxiKXtyZXR1cm4gdGhpcy5kXy5hZGQoU3RyaW5nKG4pLFcsITAsRCxiKX07CmcuRS53SD1mdW5jdGlvbihuLFcsRCxiKXt0aGlzLmRfLnJlbW92ZShTdHJpbmcobiksVyxELGIpfTsKZy5FLnNjPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiB0aGlzLmRfLnNjKFN0cmluZyhuKSxXLEQsYil9OwpnLkUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24obixXKXtyZXR1cm4gdGhpcy5kXy5oYXNMaXN0ZW5lcihuIT09dm9pZCAwP1N0cmluZyhuKTp2b2lkIDAsVyl9O2cuejc9dHlwZW9mIEFzeW5jQ29udGV4dCE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgQXN5bmNDb250ZXh0LlNuYXBzaG90PT09ImZ1bmN0aW9uIj9uPT5uJiZBc3luY0NvbnRleHQuU25hcHNob3Qud3JhcChuKTpuPT5uO3ZhciBNMlM9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLlg9Vzt0aGlzLko9MDt0aGlzLk49bnVsbH1nZXQoKXtpZih0aGlzLko+MCl7dGhpcy5KLS07dmFyIG49dGhpcy5OO3RoaXMuTj1uLm5leHQ7bi5uZXh0PW51bGx9ZWxzZSBuPXRoaXMuVygpO3JldHVybiBufXB1dChuKXt0aGlzLlgobik7dGhpcy5KPDEwMCYmKHRoaXMuSisrLG4ubmV4dD10aGlzLk4sdGhpcy5OPW4pfX07dmFyIGxJO3ZhciBSM2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5OPW51bGx9YWRkKG4sVyl7dmFyIEQ9Q0suZ2V0KCk7RC5zZXQobixXKTt0aGlzLko/dGhpcy5KLm5leHQ9RDp0aGlzLk49RDt0aGlzLko9RH1yZW1vdmUoKXt2YXIgbj1udWxsO3RoaXMuTiYmKG49dGhpcy5OLHRoaXMuTj10aGlzLk4ubmV4dCx0aGlzLk58fCh0aGlzLko9bnVsbCksbi5uZXh0PW51bGwpO3JldHVybiBufX0sQ0s9bmV3IE0yUygoKT0+bmV3IFFmMSxuPT5uLnJlc2V0KCkpLFFmMT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuTj1udWxsfXNldChuLFcpe3RoaXMuTj1uOwp0aGlzLnNjb3BlPVc7dGhpcy5uZXh0PW51bGx9cmVzZXQoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLk49bnVsbH19O3ZhciB3cSxCTCxqZyxWMng7Qkw9ITE7amc9bmV3IFIzYjtnLm1LPShuLFcpPT57d3F8fFYyeCgpO0JMfHwod3EoKSxCTD0hMCk7amcuYWRkKG4sVyl9OwpWMng9KCk9Pnt2YXIgbj1Qcm9taXNlLnJlc29sdmUodm9pZCAwKTt3cT0oKT0+e24udGhlbihUenIpfX07cTgucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5jb250ZXh0PXRoaXMuSj10aGlzLlc9dGhpcy5OPW51bGw7dGhpcy5YPSExfTsKdmFyIEczPW5ldyBNMlMoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHE4fSxmdW5jdGlvbihuKXtuLnJlc2V0KCl9KTsKZy5YMS5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihuLFcsRCl7cmV0dXJuIFNPKHRoaXMsKDAsZy56NykodHlwZW9mIG49PT0iZnVuY3Rpb24iP246bnVsbCksKDAsZy56NykodHlwZW9mIFc9PT0iZnVuY3Rpb24iP1c6bnVsbCksRCl9OwpnLlgxLnByb3RvdHlwZS4kZ29vZ19UaGVuYWJsZT0hMDtnLkU9Zy5YMS5wcm90b3R5cGU7Zy5FLmZpbmFsbHk9ZnVuY3Rpb24obil7bj0oMCxnLno3KShuKTtyZXR1cm4gbmV3IGcuWDEoKFcsRCk9PntwcSh0aGlzLGI9PntuKCk7VyhiKX0sYj0+e24oKTsKRChiKX0pfSl9OwpnLkUuc1A9ZnVuY3Rpb24obixXKXtyZXR1cm4gU08odGhpcyxudWxsLCgwLGcuejcpKG4pLFcpfTsKZy5FLmNhdGNoPWcuWDEucHJvdG90eXBlLnNQO2cuRS5jYW5jZWw9ZnVuY3Rpb24obil7aWYodGhpcy5OPT0wKXtsZXQgVz1uZXcgZy5JNShuKTtnLm1LKGZ1bmN0aW9uKCl7WUcodGhpcyxXKX0sdGhpcyl9fTsKZy5FLklRPWZ1bmN0aW9uKG4pe3RoaXMuTj0wO2dwKHRoaXMsMixuKX07CmcuRS5BUz1mdW5jdGlvbihuKXt0aGlzLk49MDtncCh0aGlzLDMsbil9OwpnLkUueXM9ZnVuY3Rpb24oKXtmb3IodmFyIG47bj1ISih0aGlzKTspZnEodGhpcyxuLHRoaXMuTix0aGlzLkspO3RoaXMuVj0hMX07CnZhciBPdT1oNDtnLml4KGcuSTUsZy5UYik7Zy5JNS5wcm90b3R5cGUubmFtZT0iY2FuY2VsIjtnLml4KGcuUEosZy5vVyk7Zy5FPWcuUEoucHJvdG90eXBlO2cuRS5lbmFibGVkPSExO2cuRS5aNj1udWxsO2cuRS5zZXRJbnRlcnZhbD1mdW5jdGlvbihuKXt0aGlzLmd0PW47dGhpcy5aNiYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMuWjYmJnRoaXMuc3RvcCgpfTsKZy5FLlJRPWZ1bmN0aW9uKCl7aWYodGhpcy5lbmFibGVkKXtsZXQgbj1nLlV3KCktdGhpcy5qYjtuPjAmJm48dGhpcy5ndCouOD90aGlzLlo2PXRoaXMuVjcuc2V0VGltZW91dCh0aGlzLmhFLHRoaXMuZ3Qtbik6KHRoaXMuWjYmJih0aGlzLlY3LmNsZWFyVGltZW91dCh0aGlzLlo2KSx0aGlzLlo2PW51bGwpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGljayIpLHRoaXMuZW5hYmxlZCYmKHRoaXMuc3RvcCgpLHRoaXMuc3RhcnQoKSkpfX07CmcuRS5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLlo2fHwodGhpcy5aNj10aGlzLlY3LnNldFRpbWVvdXQodGhpcy5oRSx0aGlzLmd0KSx0aGlzLmpiPWcuVXcoKSl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMTt0aGlzLlo2JiYodGhpcy5WNy5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsKX07CmcuRS5tQT1mdW5jdGlvbigpe2cuUEouVEIubUEuY2FsbCh0aGlzKTt0aGlzLnN0b3AoKTtkZWxldGUgdGhpcy5WN307dmFyIGhxPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuRD1uO3RoaXMuVj0wO3RoaXMuWD0xMDA7dGhpcy5LPSExO3RoaXMuVz1uZXcgTWFwO3RoaXMuWT1uZXcgU2V0O3RoaXMuZmx1c2hJbnRlcnZhbD0zRTQ7dGhpcy5KPW5ldyBnLlBKKHRoaXMuZmx1c2hJbnRlcnZhbCk7dGhpcy5KLlNfKCJ0aWNrIix0aGlzLmosITEsdGhpcyk7Zy51KHRoaXMsdGhpcy5KKX1zZW5kSXNvbGF0ZWRQYXlsb2FkKG4pe3RoaXMuSz1uO3RoaXMuWD0xfWooKXt2YXIgbj1bLi4udGhpcy5XLnZhbHVlcygpXS5maWx0ZXIoVz0+Vy5OLnNpemUpOwpuLmxlbmd0aCYmdGhpcy5ELmZsdXNoKG4sdGhpcy5LKTtGY2Iobik7dGhpcy5WPTA7dGhpcy5KLmVuYWJsZWQmJnRoaXMuSi5zdG9wKCl9TihuKXtyZXR1cm4gdGhpcy5ZLmhhcyhuKT92b2lkIDA6dGhpcy5XLmdldChuKX1kRShuLFcsLi4uRCl7KG49dGhpcy5OKG4pKSYmbiBpbnN0YW5jZW9mIHk4JiYobi5kRShXLC4uLkQpLG81KHRoaXMpKX19O3ZhciBDVj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyxEPXt9KXtzdXBlcihXKTt0aGlzLmNvZGU9bjt0aGlzLm1ldGFkYXRhPUQ7dGhpcy5uYW1lPSJScGNFcnJvciI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfXRvU3RyaW5nKCl7dmFyIG49YFJwY0Vycm9yKCR7d01TKHRoaXMuY29kZSl8fFN0cmluZyh0aGlzLmNvZGUpfSlgO3RoaXMubWVzc2FnZSYmKG4rPSI6ICIrdGhpcy5tZXNzYWdlKTtyZXR1cm4gbn19O2xlLnByb3RvdHlwZS5iWT1mdW5jdGlvbihuKXt2YXIgVz1bXTtUMyh0aGlzLG4sVyk7cmV0dXJuIFcuam9pbigiIil9Owp2YXIgQ3E9eyciJzonXFwiJywiXFwiOiJcXFxcIiwiLyI6IlxcLyIsIlxiIjoiXFxiIiwiXGYiOiJcXGYiLCJcbiI6IlxcbiIsIlxyIjoiXFxyIiwiXHQiOiJcXHQiLCJcdiI6IlxcdTAwMGIifSxNalo9L1x1ZmZmZi8udGVzdCgiXHVmZmZmIik/L1tcXCJceDAwLVx4MWZceDdmLVx1ZmZmZl0vZzovW1xcIlx4MDAtXHgxZlx4N2YtXHhmZl0vZzt2YXIgY1hDO2cuaXgoRjEsQkopO0YxLnByb3RvdHlwZS5OPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBYTUxIdHRwUmVxdWVzdH07CmNYQz1uZXcgRjE7Zy5peCh3cCxnLm9XKTt2YXIgYXEyPS9eaHR0cHM/JC9pLG5kTT1bIlBPU1QiLCJQVVQiXSxNOD1bXTtnLkU9d3AucHJvdG90eXBlO2cuRS5XVT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpO2cuRkkoTTgsdGhpcyl9OwpnLkUuc2VuZD1mdW5jdGlvbihuLFcsRCxiKXtpZih0aGlzLk4pdGhyb3cgRXJyb3IoIltnb29nLm5ldC5YaHJJb10gT2JqZWN0IGlzIGFjdGl2ZSB3aXRoIGFub3RoZXIgcmVxdWVzdD0iK3RoaXMuSysiOyBuZXdVcmk9IituKTtXPVc/Vy50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuSz1uO3RoaXMuaj0iIjt0aGlzLlc9MDt0aGlzLmNKPSExO3RoaXMuSj0hMDt0aGlzLk49dGhpcy5UQz90aGlzLlRDLk4oKTpjWEMuTigpO3RoaXMuTi5vbnJlYWR5c3RhdGVjaGFuZ2U9KDAsZy56NykoKDAsZy5LdCkodGhpcy5OOCx0aGlzKSk7dHJ5e3RoaXMuZ2V0U3RhdHVzKCksdGhpcy50dz0hMCx0aGlzLk4ub3BlbihXLFN0cmluZyhuKSwhMCksdGhpcy50dz0hMX1jYXRjaChrKXt0aGlzLmdldFN0YXR1cygpO1Y4KHRoaXMsayk7cmV0dXJufW49RHx8IiI7RD1uZXcgTWFwKHRoaXMuaGVhZGVycyk7aWYoYilpZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoYik9PT1PYmplY3QucHJvdG90eXBlKWZvcih2YXIgdiBpbiBiKUQuc2V0KHYsCmJbdl0pO2Vsc2UgaWYodHlwZW9mIGIua2V5cz09PSJmdW5jdGlvbiImJnR5cGVvZiBiLmdldD09PSJmdW5jdGlvbiIpZm9yKGxldCBrIG9mIGIua2V5cygpKUQuc2V0KGssYi5nZXQoaykpO2Vsc2UgdGhyb3cgRXJyb3IoIlVua25vd24gaW5wdXQgdHlwZSBmb3Igb3B0X2hlYWRlcnM6ICIrU3RyaW5nKGIpKTtiPUFycmF5LmZyb20oRC5rZXlzKCkpLmZpbmQoaz0+ImNvbnRlbnQtdHlwZSI9PWsudG9Mb3dlckNhc2UoKSk7CnY9Zy5xaS5Gb3JtRGF0YSYmbiBpbnN0YW5jZW9mIGcucWkuRm9ybURhdGE7IWcuamoobmRNLFcpfHxifHx2fHxELnNldCgiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTgiKTtmb3IobGV0IFtrLGhdb2YgRCl0aGlzLk4uc2V0UmVxdWVzdEhlYWRlcihrLGgpO3RoaXMuYmQmJih0aGlzLk4ucmVzcG9uc2VUeXBlPXRoaXMuYmQpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5OJiZ0aGlzLk4ud2l0aENyZWRlbnRpYWxzIT09dGhpcy5PJiYodGhpcy5OLndpdGhDcmVkZW50aWFscz10aGlzLk8pO3RyeXt0aGlzLlYmJihjbGVhclRpbWVvdXQodGhpcy5WKSx0aGlzLlY9bnVsbCksdGhpcy5EPjAmJih0aGlzLmdldFN0YXR1cygpLHRoaXMuVj1zZXRUaW1lb3V0KHRoaXMuVTIuYmluZCh0aGlzKSx0aGlzLkQpKSx0aGlzLmdldFN0YXR1cygpLHRoaXMuWT0hMCx0aGlzLk4uc2VuZChuKSx0aGlzLlk9ITF9Y2F0Y2goayl7dGhpcy5nZXRTdGF0dXMoKSwKVjgodGhpcyxrKX19OwpnLkUuVTI9ZnVuY3Rpb24oKXt0eXBlb2YgY0ohPSJ1bmRlZmluZWQiJiZ0aGlzLk4mJih0aGlzLmo9IlRpbWVkIG91dCBhZnRlciAiK3RoaXMuRCsibXMsIGFib3J0aW5nIix0aGlzLlc9OCx0aGlzLmdldFN0YXR1cygpLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTsKZy5FLmFib3J0PWZ1bmN0aW9uKG4pe3RoaXMuTiYmdGhpcy5KJiYodGhpcy5nZXRTdGF0dXMoKSx0aGlzLko9ITEsdGhpcy5YPSEwLHRoaXMuTi5hYm9ydCgpLHRoaXMuWD0hMSx0aGlzLlc9bnx8Nyx0aGlzLmRpc3BhdGNoRXZlbnQoImNvbXBsZXRlIiksdGhpcy5kaXNwYXRjaEV2ZW50KCJhYm9ydCIpLFE4KHRoaXMpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuTiYmKHRoaXMuSiYmKHRoaXMuSj0hMSx0aGlzLlg9ITAsdGhpcy5OLmFib3J0KCksdGhpcy5YPSExKSxROCh0aGlzLCEwKSk7d3AuVEIubUEuY2FsbCh0aGlzKX07CmcuRS5OOD1mdW5jdGlvbigpe3RoaXMucU4oKXx8KHRoaXMudHd8fHRoaXMuWXx8dGhpcy5YP25WKHRoaXMpOnRoaXMuZ0soKSl9OwpnLkUuZ0s9ZnVuY3Rpb24oKXtuVih0aGlzKX07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5OfTsKZy5FLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4gYTUodGhpcyk9PTR9OwpnLkUuaXNTdWNjZXNzPWZ1bmN0aW9uKCl7dmFyIG49dGhpcy5nZXRTdGF0dXMoKTthOnN3aXRjaChuKXtjYXNlIDIwMDpjYXNlIDIwMTpjYXNlIDIwMjpjYXNlIDIwNDpjYXNlIDIwNjpjYXNlIDMwNDpjYXNlIDEyMjM6dmFyIFc9ITA7YnJlYWsgYTtkZWZhdWx0Olc9ITF9aWYoIVcpe2lmKG49bj09PTApbj1nLmZwKFN0cmluZyh0aGlzLkspKVsxXXx8bnVsbCwhbiYmZy5xaS5zZWxmJiZnLnFpLnNlbGYubG9jYXRpb24mJihuPWcucWkuc2VsZi5sb2NhdGlvbi5wcm90b2NvbC5zbGljZSgwLC0xKSksbj0hYXEyLnRlc3Qobj9uLnRvTG93ZXJDYXNlKCk6IiIpO1c9bn1yZXR1cm4gV307CmcuRS5nZXRTdGF0dXM9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGE1KHRoaXMpPjI/dGhpcy5OLnN0YXR1czotMX1jYXRjaChuKXtyZXR1cm4tMX19OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7aWYodGhpcy5OJiZ0aGlzLmlzQ29tcGxldGUoKSlyZXR1cm4gbj10aGlzLk4uZ2V0UmVzcG9uc2VIZWFkZXIobiksbj09PW51bGw/dm9pZCAwOm59OwpnLkUuZ2V0TGFzdEVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiB0aGlzLmo9PT0ic3RyaW5nIj90aGlzLmo6U3RyaW5nKHRoaXMuail9O3ZhciBPYjE9Y2xhc3N7c2VuZChuLFc9KCk9Pnt9LEQ9KCk9Pnt9KXtRTVUobi51cmwsYj0+e2I9Yi50YXJnZXQ7CmIuaXNTdWNjZXNzKCk/VyhXMyhiKSk6RChiLmdldFN0YXR1cygpKX0sbi5yZXF1ZXN0VHlwZSxuLmJvZHksbi5aSixuLnRpbWVvdXRNaWxsaXMsbi53aXRoQ3JlZGVudGlhbHMpfUdZKCl7cmV0dXJuIDF9fTt2YXIgTWw9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmxvZ2dlcj1uO3RoaXMuZXZlbnQ9Vzt0aGlzLnN0YXJ0VGltZT1ibigpfWRvbmUoKXt0aGlzLmxvZ2dlci5YKHRoaXMuZXZlbnQsYm4oKS10aGlzLnN0YXJ0VGltZSl9fSxSbT1jbGFzcyBleHRlbmRzIGphMXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyl9fSx4WT1jbGFzcyBleHRlbmRzIFJte2ooKXt9Tigpe31YKCl7fUooKXt9RCgpe31ZKCl7fVcoKXt9VihuLFcsRCxiKXtyZXR1cm4gYn1jSigpe31LKCl7fU8oKXt9fSxXNTE9Y2xhc3MgZXh0ZW5kcyBSbXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCB0aGlzLmxvZ2dlci5kaXNwb3NlKCkpfXVwZGF0ZShuKXt0aGlzLmxvZ2dlci5kaXNwb3NlKCk7CnRoaXMubG9nZ2VyPW59TihuKXt0aGlzLmxvZ2dlci5OKG4pfVgobixXKXt0aGlzLmxvZ2dlci5YKG4sVyl9SihuKXt0aGlzLmxvZ2dlci5KKG4pfUQobil7dGhpcy5sb2dnZXIuRChuKX1ZKG4sVyl7dGhpcy5sb2dnZXIuWShuLFcpfVcoKXt0aGlzLmxvZ2dlci5XKCl9VihuLFcsRCxiKXtyZXR1cm4gdGhpcy5sb2dnZXIuVihuLFcsRCxiKX1jSihuKXt0aGlzLmxvZ2dlci5jSihuKX1LKG4pe3RoaXMubG9nZ2VyLksobil9TyhuKXt0aGlzLmxvZ2dlci5PKG4pfWoobil7dGhpcy5sb2dnZXIuaihuKX19LERHUz1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuY2FsbGJhY2s9bjt0aGlzLko9Vzt0aGlzLk49LVc7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQodGhpcy50aW1lcikpfX0sYjdpPWNsYXNzIGV4dGVuZHMgUm17Y29uc3RydWN0b3IobixXKXtzdXBlcigpOwp0aGlzLm1ldHJpY3M9bjt0aGlzLlZqPVd9aihuKXt0aGlzLm1ldHJpY3MuVGsuZEUobix0aGlzLlZqKX1OKG4pe3RoaXMubWV0cmljcy5ldmVudENvdW50Lkoobix0aGlzLlZqKX1YKG4sVyl7dGhpcy5tZXRyaWNzLlBULmRFKFcsbix0aGlzLlZqKX1KKG4pe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lkoobix0aGlzLlZqKX1WKG4sVyxELGIpe3ZhciB2PWJuKCksaz1oPT57aWYoIXRoaXMucU4oKSl7dmFyIHg9Ym4oKS12O3RoaXMubWV0cmljcy5pTC5kRSh4LG4sRCxoLFcsdGhpcy5Wail9fTsKYi50aGVuKCgpPT52b2lkIGsoMCksaD0+dm9pZCBrKGggaW5zdGFuY2VvZiBDVj9oLmNvZGU6LTEpKTsKcmV0dXJuIGJ9Y0oobil7dGhpcy5tZXRyaWNzLlZKLkoobix0aGlzLlZqKX1LKG4pe3RoaXMubWV0cmljcy5jVS5KKG4sdGhpcy5Wail9TyhuKXt0aGlzLm1ldHJpY3MuakMuSihuLHRoaXMuVmopfUQobil7dGhpcy5tZXRyaWNzLnBheWxvYWRTaXplLmRFKG4sdGhpcy5Wail9WShuLFcpe3RoaXMubWV0cmljcy5mNi5kRShXLG4sdGhpcy5Wail9fSxEaHg9Y2xhc3MgZXh0ZW5kcyBiN2l7Y29uc3RydWN0b3IobixXPVtdKXt2YXIgRD17Vmo6bi5Wanx8Il8iLFJoOm4uUmh8fFtdLExUOm4uTFR8MCxSajpuLlJqLHREOm4udER8fCgoKT0+e30pLApybzpuLnJvfHwoKHYsayk9Pm5sMSh2LGssRC50RCxELlJqKSl9LGI9RC5ybygiNTMiLEQuUmguY29uY2F0KFcpKTsKc3VwZXIoe1RrOm5ldyBDMHgoYiksZXJyb3JDb3VudDpuZXcgTXQxKGIpLGV2ZW50Q291bnQ6bmV3IEYyWihiKSxQVDpuZXcgd1FyKGIpLGlMOm5ldyBCYWkoYiksVko6bmV3IFJkYihiKSxjVTpuZXcgUWF4KGIpLGpDOm5ldyBWdGkoYikscGF5bG9hZFNpemU6bmV3IGNqeChiKSxmNjpuZXcgYTZ3KGIpfSxELlZqKTt0aGlzLm9wdGlvbnM9RDt0aGlzLnNlcnZpY2U9Yjt0aGlzLlRDPSFuLnJvO3RoaXMudHc9bmV3IERHUygoKT0+dm9pZCB0aGlzLnNlcnZpY2UuaigpLEQuTFQpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy50dy5kaXNwb3NlKCk7dGhpcy5UQyYmdGhpcy5zZXJ2aWNlLmRpc3Bvc2UoKX0pOwpnLmJmKFcuc2xpY2UoKSl9Vygpe1dXcih0aGlzLnR3KX19O3ZhciBxdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgR0g9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHIkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDAsciQubWVzc2FnZUlkKX19LFg0Wj1LOChyJCksdmRiPWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT5XIGluc3RhbmNlb2YgbiYmIXY5KFcpKX0ociQpOwpyJC5tZXNzYWdlSWQ9ImJma2oiO3ZhciBjND1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIga0VpPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19LGhZWj1LOChrRWkpO2cuS1Y9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKG4sVyk9Pnt0aGlzLnJlc29sdmU9bjt0aGlzLnJlamVjdD1XfSl9fTt2YXIgQXE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5KPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyMDApO3RoaXMuTj1uZXcga0VpO2lmKCJjaGFsbGVuZ2UiaW4gbiYmdmRiKG4uY2hhbGxlbmdlKSl7dmFyIFc9WTkobi5jaGFsbGVuZ2UsNCx2b2lkIDAseFUpO3ZhciBEPVk5KG4uY2hhbGxlbmdlLDUsdm9pZCAwLHhVKTtZOShuLmNoYWxsZW5nZSw3LHZvaWQgMCx4VSkmJih0aGlzLk49aFlaKFk5KG4uY2hhbGxlbmdlLDcsdm9pZCAwLHhVKSkpfWVsc2Uoe3Byb2dyYW06VyxnbG9iYWxOYW1lOkR9PW4pO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soYXN5bmMoKT0+e3ZhciB7Vng6R309YXdhaXQgdGhpcy5XO0c/LigpfSk7CnRoaXMubG9nZ2VyPUxWKG4ueDN8fHt9LHRoaXMuTik7Zy51KHRoaXMsdGhpcy5sb2dnZXIpO3ZhciBiPW5ldyBnLktWO3RoaXMuVz1iLnByb21pc2U7dGhpcy5sb2dnZXIuTigidCIpO3ZhciB2PXRoaXMubG9nZ2VyLnNoYXJlKCksaz1uZXcgTWwodiwidCIpLGg9KEcscixOLEgpPT57aWYoIXRoaXMubG9nZ2VyLnFOKCkpe3ZhciBBPSJrIjtyP0E9ImgiOk4mJihBPSJ1Iik7QSE9PSJrIj9IIT09MCYmKHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpKTp0aGlzLko8PTA/KHRoaXMubG9nZ2VyLk4oQSksdGhpcy5sb2dnZXIuWChBLEcpLHRoaXMuSj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKSk6dGhpcy5KLS19fSx4PShHLHIsTixIKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntrLmRvbmUoKTsKdi5XKCk7di5kaXNwb3NlKCk7Yi5yZXNvbHZlKHtGeTpHLFZ4OnIscDU6Tix4VTpIfSl9KX0sTD1bKEcscik9Pnt0aGlzLmxvZ2dlci5YKEcscil9LApHPT57dGhpcy5sb2dnZXIuSihHKX0sCkc9Pnt0aGlzLmxvZ2dlci5EKEcpfSwKKEcscik9Pnt0aGlzLmxvZ2dlci5ZKEcscil9XTsKaWYoIWcucWlbRF0pdGhyb3cgdGhpcy5sb2dnZXIuSigyNSksRXJyb3IoIkVHT1UiKTtpZighZy5xaVtEXS5hKXRocm93IHRoaXMubG9nZ2VyLkooMjYpLEVycm9yKCJFTElVIik7dHJ5e2xldCBHPWcucWlbRF0uYTtEPVtdO2xldCByPVtdO3ZhciBlPW4wKHRoaXMuTik7Zm9yKGxldCBBPTA7QTxlLmxlbmd0aDtBKyspRC5wdXNoKGVbQV0pLHIucHVzaCgxKTtsZXQgTj1VaXcodGhpcy5OKTtmb3IoZT0wO2U8Ti5sZW5ndGg7ZSsrKUQucHVzaChOW2VdKSxyLnB1c2goMik7bGV0IFtIXT1HKFcseCwhMCxuLnczLGgsW0Qscl0sWTkodGhpcy5OLDUpLCExLEwpO3RoaXMuWD1IO3RoaXMuT3Y9Yi5wcm9taXNlLnRoZW4oKCk9Pnt9KX1jYXRjaChHKXt0aHJvdyB0aGlzLmxvZ2dlci5KKDI4KSxHOwp9fXNuYXBzaG90KG4pe2lmKHRoaXMucU4oKSl0aHJvdyBFcnJvcigiQWxyZWFkeSBkaXNwb3NlZCIpO3RoaXMubG9nZ2VyLk4oIm4iKTt2YXIgVz10aGlzLmxvZ2dlci5zaGFyZSgpO3JldHVybiB0aGlzLlcudGhlbigoe0Z5OkR9KT0+bmV3IFByb21pc2UoYj0+e3ZhciB2PW5ldyBNbChXLCJuIik7RChrPT57di5kb25lKCk7Vy5qKGsubGVuZ3RoKTtXLlcoKTtXLmRpc3Bvc2UoKTtiKGspfSxbbi53XywKbi5HbCxuLnRMLG4uTU9dKX0pKX1tNShuKXtpZih0aGlzLnFOKCkpdGhyb3cgRXJyb3IoIkFscmVhZHkgZGlzcG9zZWQiKTsKdGhpcy5sb2dnZXIuTigibiIpO3ZhciBXPXYzKHRoaXMubG9nZ2VyLCgpPT50aGlzLlgoW24ud18sbi5HbCxuLnRMLG4uTU9dKSwibiIpOwp0aGlzLmxvZ2dlci5qKFcubGVuZ3RoKTt0aGlzLmxvZ2dlci5XKCk7cmV0dXJuIFd9UzEobil7dGhpcy5XLnRoZW4oKHtwNTpXfSk9PntXPy4obil9KX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX07dmFyIGVtPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5KPXt9O3RoaXMuTj1udWxsfX07dmFyICRZPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBOdj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgZlY9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMuY2xpZW50PW47dGhpcy5yZXF1ZXN0S2V5PVc7dGhpcy5OPUR9Wmoobil7cmV0dXJuIEgzKHRoaXMsbixuZXcgeFksMCl9fTt2YXIgVEg9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5vcHRpb25zPW47dGhpcy5WPW5ldyBnLktWO3RoaXMuT3Y9dGhpcy5WLnByb21pc2U7dGhpcy5qPW5ldyBnLktWO3RoaXMuWT0xO3RoaXMuSj1uZXcgZy5LVjt0aGlzLlg9W107dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnFKPW4ucUp8fCgoKT0+e30pOwp0aGlzLmxvZ2dlcj1uZXcgVzUxKExWKG4ueDN8fHt9KSk7ckFiKHRoaXMsbi5VZyxuLnFULG4ucVUsbi5USCx7Li4ueEdqLC4uLihuLmtkfHx7fSl9KTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHNQMih0aGlzKSl9YXN5bmMgc25hcHNob3Qobil7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7CnRoaXMuV3x8dGhpcy5LfHxhd2FpdCB0aGlzLmoucHJvbWlzZTtpZih0aGlzLlcpcmV0dXJuIGF3YWl0IHRoaXMuVy5zbmFwc2hvdChuKTt0aHJvdyB0aGlzLks7fXBhdXNlKCl7dGhpcy5xTigpfHx0aGlzLmlzUGF1c2VkfHwodGhpcy5pc1BhdXNlZD0hMCx0aGlzLk4mJnRoaXMuTi5wYXVzZSgpKX1yZXN1bWUoKXshdGhpcy5xTigpJiZ0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLk4mJnRoaXMuTi5yZXN1bWUoKSl9YXN5bmMgY2hlY2tGb3JSZWZyZXNoKCl7aWYodGhpcy5xTigpKXRocm93IEVycm9yKCJBbHJlYWR5IGRpc3Bvc2VkIik7aWYodGhpcy5OKXt2YXIgbj10aGlzLk47bi5pc0V4cGlyZWQoKT8oT2wobiksbi5RNCgwKSxuPSEwKTpuPSExO24mJmF3YWl0IHRoaXMuSi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy5KLnByb21pc2V9UzEobil7dGhpcy5XPy5TMT8uKG4pfWhhbmRsZUVycm9yKG4pe3RoaXMucU4oKXx8KHRoaXMuSz1uLHRoaXMuai5yZXNvbHZlKCksCnRoaXMub3B0aW9ucy50Nj8uKG4pKX1RRCgpe3JldHVybiB0aGlzLmxvZ2dlci5zaGFyZSgpfX0seEdqPXtGWjo0MzJFNSx1bTozRTUsbmI6MTAsamQ6MUU0LGhwOjNFNCxRWDozRTQscUs6NkU0LENxOjFFMyx3ODo2RTQsb3o6NkU1LGQ4Oi4yNSxBaToyLG1heEF0dGVtcHRzOjEwfSxTbT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCl7dGhpcy5lbmRUaW1lTXM9MDt0aGlzLk49bnVsbDt0aGlzLmlzUGF1c2VkPSExO3RoaXMudGljaz0oKT0+e2lmKCF0aGlzLmlzUGF1c2VkKXt2YXIgYj10aGlzLmVuZFRpbWVNcy1EYXRlLm5vdygpO2I8PXRoaXMuVz8odGhpcy5OPW51bGwsdGhpcy5RNCgwKSk6dGhpcy5OPXNldFRpbWVvdXQodGhpcy50aWNrLE1hdGgubWluKGIsdGhpcy51bSkpfX07CnRoaXMudW09Vzt0aGlzLlc9RDt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoYj0+e3RoaXMuUTQ9Yn0pOwpZVFUodGhpcyxuKX1wYXVzZSgpe3RoaXMuaXNQYXVzZWR8fCh0aGlzLmlzUGF1c2VkPSEwLE9sKHRoaXMpKX1yZXN1bWUoKXt0aGlzLmlzUGF1c2VkJiYodGhpcy5pc1BhdXNlZD0hMSx0aGlzLnRpY2soKSl9Sigpe09sKHRoaXMpO3RoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlE0KDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIEhwaT1NYXRoLmltdWw/PygobixXKT0+bipXfDApLFVsPVsxOTYsCjIwMCwyMjQsMThdLHVuPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0wLEQ9W10pe3RoaXMubWF4SXRlbXM9bjt0aGlzLk49Vzt0aGlzLko9RH1iWSgpe3JldHVybiBTdHJpbmcodGhpcy5OKSsiLCIrdGhpcy5KLmpvaW4oKX1xcChuLFcpe3ZhciBEPXZvaWQgMDtpZih0aGlzLkpbdGhpcy5OXSE9PW4pe2xldCBiPXRoaXMuSi5pbmRleE9mKG4pO2IhPT0tMT8odGhpcy5KLnNwbGljZShiLDEpLGI8dGhpcy5OJiZ0aGlzLk4tLSx0aGlzLkouc3BsaWNlKHRoaXMuTiwwLG4pKTooRD10aGlzLkpbdGhpcy5OXSx0aGlzLkpbdGhpcy5OXT1uKX10aGlzLk49KHRoaXMuTisxKSV0aGlzLm1heEl0ZW1zO249UDMoImlVNXEtIU85QCQiLHRoaXMuYlkoKSk7RCYmbiYmVyhEKTtyZXR1cm4gbn19LEw1Uz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMubG9nZ2VyPVc7dHJ5e3ZhciBEPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UmJiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtfWNhdGNoKGIpe0Q9ITF9RCYmKHRoaXMuaW5kZXg9SWV3KG4pKX1OKG4sVyxELGIpe3ZhciB2PXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PmZlYih0aGlzLmluZGV4LHlpKG4pLFcsRCxiKSwiVyIpOiJ1IjsKdGhpcy5sb2dnZXIuTyh2KX1KKG4sVyl7dmFyIFtELGJdPXRoaXMuaW5kZXg/djModGhpcy5sb2dnZXIsKCk9PkpBdyh5aShuKSxXKSwiUiIpOlsidSJdOwp0aGlzLmxvZ2dlci5LKEQpO3JldHVybiBifX07dmFyIEFBUz17dG9TdHJpbmc6ZnVuY3Rpb24obil7dmFyIFc9W10sRD0wO24tPS0yMTQ3NDgzNjQ4O1dbRCsrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIuY2hhckF0KG4lNTIpO2ZvcihuPU1hdGguZmxvb3Iobi81Mik7bj4wOylXW0QrK109ImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5Ii5jaGFyQXQobiU2Miksbj1NYXRoLmZsb29yKG4vNjIpO3JldHVybiBXLmpvaW4oIiIpfX07dmFyIFFwPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMubG9nZ2VyPW47dGhpcy5YPW5ldyBnLktWfVpSKG4sVyl7dmFyIEQ9dGhpcy5XKG4pO1c/LihEKTtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9PmcuRUEoRCwyKSx0aGlzLkopfUZwKG4sVyxEKXtyZXR1cm4gdjModGhpcy5sb2dnZXIsKCk9Plc/dGhpcy5aUihuLEQpOnRoaXMuVyhuLEQpLHRoaXMuTil9fSxGNj1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyxELGIpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLks9RDt0aGlzLk49Im0iO3RoaXMuSj0ieCI7dGhpcy5WPTA7ZCQodGhpcyxiKX1XKG4sVyl7dGhpcy5sb2dnZXIuTih0aGlzLk4pOysrdGhpcy5WPj10aGlzLksmJnRoaXMuWC5yZXNvbHZlKCk7dmFyIEQ9bigpO249djModGhpcy5sb2dnZXIsKCk9PnRoaXMuaihEKSwiQyIpOwppZihuPT09dm9pZCAwKXRocm93IG5ldyBRRygxNywiWU5KOlVuZGVmaW5lZCIpO2lmKCEobiBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpKXRocm93IG5ldyBRRygxOCwiT0RNOkludmFsaWQiKTtXPy4obik7cmV0dXJuIG59fSxVaGo9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJmIjt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB0aGlzLmp9fSxacHQ9Y2xhc3MgZXh0ZW5kcyBRcHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIobik7dGhpcy5qPVc7dGhpcy5OPSJ3Ijt0aGlzLko9InoiO2QkKHRoaXMsRCl9Vygpe3JldHVybiB2Myh0aGlzLmxvZ2dlciwoKT0+bHAodGhpcy5qKSwiZCIpfVpSKCl7cmV0dXJuIHRoaXMuan19LG9sdz1jbGFzcyBleHRlbmRzIFFwe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIobik7CnRoaXMuZXJyb3I9Vzt0aGlzLk49ImUiO3RoaXMuSj0ieSJ9Vygpe2lmKHRoaXMuailyZXR1cm4gdGhpcy5qO3RoaXMuaj1sbih0aGlzLG49PiJfIittaHcobikpOwpyZXR1cm4gbG4odGhpcyxuPT5uKX19LFFpPWNsYXNzIGV4dGVuZHMgUXB7Y29uc3RydWN0b3IobixXLEQpe3N1cGVyKG4pOwp0aGlzLmo9Vzt0aGlzLmNsaWVudFN0YXRlPUQ7dGhpcy5OPSJTIjt0aGlzLko9InEifVcoKXt2YXIgbj1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxXPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sRD1XLmNvbmNhdChbdGhpcy5qJjI1NSx0aGlzLmNsaWVudFN0YXRlXSxbbj4+MjQmMjU1LG4+PjE2JjI1NSxuPj44JjI1NSxuJjI1NV0pO249bmV3IFVpbnQ4QXJyYXkoMitELmxlbmd0aCk7blswXT0zNDtuWzFdPUQubGVuZ3RoO24uc2V0KEQsMik7RD1uLnN1YmFycmF5KDIpO1c9Vy5sZW5ndGg7Zm9yKGxldCBiPVc7YjxELmxlbmd0aDsrK2IpRFtiXV49RFtiJVddO3RoaXMubG9nZ2VyLmNKKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBufX07dmFyIGVZaT17WFU6M0U0LHJTOjJFNH0sQW10PWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD1uZXcgZy5LVjt0aGlzLmo9MDt0aGlzLko9dm9pZCAwO3RoaXMuc3RhdGU9Mjt0aGlzLk8xPW4uTzE7dGhpcy5VZz1uLlVnO3RoaXMua2Q9ey4uLmVZaSwuLi4obi5rZHx8e30pfTt0aGlzLmxvZ2dlcj1uLk8xLlFEKCk7dGhpcy5vbkVycm9yPW4ub25FcnJvcj8/KCgpPT57fSk7CnRoaXMuWGw9bi5YbHx8ITE7aWYoZ2R0KG4pKXtsZXQgYj10aGlzLk8xO3RoaXMuVj0oKT0+TlR0KGIpLmNhdGNoKHY9Pnt0aGlzLko9dj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRyh0aGlzLk4/MjA6MzIsIlRSRzpEaXNwb3NlZCIsdikpO3RoaXMuTj8uZGlzcG9zZSgpO3RoaXMuTj12b2lkIDA7dGhpcy5YLnJlamVjdCh2KX0pOwpwNGkoYiwoKT0+dm9pZCBCMyh0aGlzKSk7CmIuWT09PTImJkIzKHRoaXMpfWVsc2UgdGhpcy5WPW4uRTYsQjModGhpcyk7dmFyIFc9dGhpcy5sb2dnZXIuc2hhcmUoKTtXLk4oIm8iKTt2YXIgRD1uZXcgTWwoVywibyIpO3RoaXMuWC5wcm9taXNlLnRoZW4oKCk9PntELmRvbmUoKTtXLlcoKTtXLmRpc3Bvc2UoKX0sKCk9PnZvaWQgVy5kaXNwb3NlKCkpOwp0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5OPyh0aGlzLk4uZGlzcG9zZSgpLHRoaXMuTj12b2lkIDApOnRoaXMuSj90aGlzLmxvZ2dlci5XKCk6KHRoaXMuSj10aGlzLnJlcG9ydEVycm9yKG5ldyBRRygzMiwiVE5QOkRpc3Bvc2VkIikpLHRoaXMubG9nZ2VyLlcoKSx0aGlzLlgucmVqZWN0KHRoaXMuSikpfSk7CmcudSh0aGlzLHRoaXMubG9nZ2VyKX1IJCgpe3JldHVybiB0aGlzLlgucHJvbWlzZX1XKG4pe3JldHVybiBNdih0aGlzLHsuLi5ufSwhMSl9WlIobil7cmV0dXJuIE12KHRoaXMsey4uLm59LCEwKX15aChuKXtpZighKG4+MTUwKSl0cnl7dGhpcy5jYWNoZT1uZXcgTDVTKG4sdGhpcy5sb2dnZXIpfWNhdGNoKFcpe3RoaXMucmVwb3J0RXJyb3IobmV3IFFHKDIyLCJHQko6aW5pdCIsVykpfX1yZXBvcnRFcnJvcihuKXt0aGlzLmxvZ2dlci5KKG4uY29kZSk7dGhpcy5vbkVycm9yKG4pO3JldHVybiBufX0sZ2R0PWZ1bmN0aW9uKG4pe3JldHVybiBxMyhXPT57aWYoIWtDeChXKSlyZXR1cm4hMTtmb3IobGV0IFtELGJdb2YgT2JqZWN0LmVudHJpZXMobikpe2xldCB2PUQsaz1iO2lmKCEodiBpbiBXKSl7aWYoay5LUD09PSEwKWNvbnRpbnVlO3JldHVybiExfWlmKCFrKFdbdl0pKXJldHVybiExfXJldHVybiEwfSl9KHtPMTpxMyhuPT5uIGluc3RhbmNlb2YgVEgpfSwiIik7dmFyIHFuaT1jbGFzc3tjb25zdHJ1Y3Rvcigpe2lmKCFWcCl7VnA9bmV3IGhxKG5ldyBYbkMpO3ZhciBuPXYwKCJjbGllbnRfc3RyZWFtel93ZWJfZmx1c2hfY291bnQiLC0xKTtuIT09LTEmJihWcC5YPW4pfXRoaXMuVz1uPVZwO3VlKG4sIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLERYKCJ0eXBlIiksRFgoInNlcXVlbmNlIikpfUoobixXKXtkcCh0aGlzLlcsIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiLG4sVyl9Tigpe3JldHVybiB0aGlzLlcuTigiL2NsaWVudF9zdHJlYW16L3lvdXR1YmUvYWJhL2dhYyIpfX07Zy5jcT1kb2N1bWVudDtnLncyPXdpbmRvdzt2YXIgZGhaPXtIdToiYWxsb3ctZm9ybXMiLFVpOiJhbGxvdy1tb2RhbHMiLEdvOiJhbGxvdy1vcmllbnRhdGlvbi1sb2NrIixFaToiYWxsb3ctcG9pbnRlci1sb2NrIixNTToiYWxsb3ctcG9wdXBzIixmRToiYWxsb3ctcG9wdXBzLXRvLWVzY2FwZS1zYW5kYm94IixGODoiYWxsb3ctcHJlc2VudGF0aW9uIixEczoiYWxsb3ctc2FtZS1vcmlnaW4iLHZ1OiJhbGxvdy1zY3JpcHRzIixPaToiYWxsb3ctdG9wLW5hdmlnYXRpb24iLGdNOiJhbGxvdy10b3AtbmF2aWdhdGlvbi1ieS11c2VyLWFjdGl2YXRpb24ifSxsZVM9Zy53RCgoKT0+ekhpKCkpO2cuRT1nLmJyLnByb3RvdHlwZTtnLkUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGcuYnIodGhpcy5sZWZ0LHRoaXMudG9wLHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNvbnRhaW5zPWZ1bmN0aW9uKG4pe3JldHVybiBuIGluc3RhbmNlb2YgZy5NWT9uLng+PXRoaXMubGVmdCYmbi54PD10aGlzLmxlZnQrdGhpcy53aWR0aCYmbi55Pj10aGlzLnRvcCYmbi55PD10aGlzLnRvcCt0aGlzLmhlaWdodDp0aGlzLmxlZnQ8PW4ubGVmdCYmdGhpcy5sZWZ0K3RoaXMud2lkdGg+PW4ubGVmdCtuLndpZHRoJiZ0aGlzLnRvcDw9bi50b3AmJnRoaXMudG9wK3RoaXMuaGVpZ2h0Pj1uLnRvcCtuLmhlaWdodH07CmcuRS5nZXRTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBnLlFlKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTsKZy5FLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5jZWlsKHRoaXMubGVmdCk7dGhpcy50b3A9TWF0aC5jZWlsKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguY2VpbCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLmNlaWwodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKZy5FLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy5sZWZ0PU1hdGguZmxvb3IodGhpcy5sZWZ0KTt0aGlzLnRvcD1NYXRoLmZsb29yKHRoaXMudG9wKTt0aGlzLndpZHRoPU1hdGguZmxvb3IodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5mbG9vcih0aGlzLmhlaWdodCk7cmV0dXJuIHRoaXN9OwpnLkUucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLmxlZnQ9TWF0aC5yb3VuZCh0aGlzLmxlZnQpO3RoaXMudG9wPU1hdGgucm91bmQodGhpcy50b3ApO3RoaXMud2lkdGg9TWF0aC5yb3VuZCh0aGlzLndpZHRoKTt0aGlzLmhlaWdodD1NYXRoLnJvdW5kKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307CmcuRS5zY2FsZT1mdW5jdGlvbihuLFcpe1c9dHlwZW9mIFc9PT0ibnVtYmVyIj9XOm47dGhpcy5sZWZ0Kj1uO3RoaXMud2lkdGgqPW47dGhpcy50b3AqPVc7dGhpcy5oZWlnaHQqPVc7cmV0dXJuIHRoaXN9O3ZhciBqUEM9L14tLS4rLyxMVz17fTtnLkdFMj1nLndEKCgpPT57dmFyIG49ITE7dHJ5e2xldCBXPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldCgpe249ITB9fSk7Zy5xaS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLFcpfWNhdGNoKFcpe31yZXR1cm4gbn0pO3ZhciB6Q3c9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIHRJdD1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgJEcxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLmZ2PW47dGhpcy5sMD1XO3RoaXMubWV0YWRhdGE9RH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfX07dmFyIEJUdD1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30pe3RoaXMuUHo9bjt0aGlzLm1ldGFkYXRhPVc7dGhpcy5zdGF0dXM9bnVsbH1nZXRNZXRhZGF0YSgpe3JldHVybiB0aGlzLm1ldGFkYXRhfWdldFN0YXR1cygpe3JldHVybiB0aGlzLnN0YXR1c319O3ZhciByc3c9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLm5hbWU9bjt0aGlzLm1ldGhvZFR5cGU9InVuYXJ5Ijt0aGlzLnJlcXVlc3RUeXBlPVc7dGhpcy5yZXNwb25zZVR5cGU9RDt0aGlzLk49Yjt0aGlzLlc9dn1KKG4sVz17fSl7cmV0dXJuIG5ldyAkRzEobix0aGlzLFcpfWdldE5hbWUoKXtyZXR1cm4gdGhpcy5uYW1lfX07dmFyIHNPTT1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvQ3JlYXRlIiwkWSx0SXQsbj0+bi5iWSgpLEs4KHRJdCkpO3ZhciBOUDI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIHFUUz1uZXcgcnN3KCIvZ29vZ2xlLmludGVybmFsLndhYS52MS5XYWEvR2VuZXJhdGVJVCIsTnYsTlAyLG49Pm4uYlkoKSxLOChOUDIpKTt2YXIgWDJyPW5ldyBTZXQoWyJTQVBJU0lESEFTSCIsIkFQSVNJREhBU0giXSk7dmFyIFJIaT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0VmFsdWUoKXt2YXIgbj1pVyh0aGlzLDIpO2lmKEFycmF5LmlzQXJyYXkobil8fG4gaW5zdGFuY2VvZiBnLlFtKXRocm93IEVycm9yKCJDYW5ub3QgYWNjZXNzIHRoZSBBbnkudmFsdWUgZmllbGQgb24gQW55IHByb3RvcyBlbmNvZGVkIHVzaW5nIHRoZSBqc3BiIGZvcm1hdCwgY2FsbCB1bnBhY2tKc3BiIGluc3RlYWQiKTtyZXR1cm4gUnoodGhpcywyKX19O3ZhciBNMWI9SzgoY2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE1lc3NhZ2UoKXtyZXR1cm4gWTkodGhpcywyKX19KTt2YXIgdHUxPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPVtdO3RoaXMuWD1bXTt0aGlzLmo9W107dGhpcy5XPVtdO3RoaXMuTj1bXTt0aGlzLlY9bi5NRTt0aGlzLks9Vzt0aGlzLnhocj1uLnhocjt0aGlzLlYmJnc0cih0aGlzKX14VihuLFcpe249PT0iZGF0YSI/dGhpcy5KLnB1c2goVyk6bj09PSJtZXRhZGF0YSI/dGhpcy5YLnB1c2goVyk6bj09PSJzdGF0dXMiP3RoaXMuai5wdXNoKFcpOm49PT0iZW5kIj90aGlzLlcucHVzaChXKTpuPT09ImVycm9yIiYmdGhpcy5OLnB1c2goVyl9cmVtb3ZlTGlzdGVuZXIobixXKXtuPT09ImRhdGEiP0ExKHRoaXMuSixXKTpuPT09Im1ldGFkYXRhIj9BMSh0aGlzLlgsVyk6bj09PSJzdGF0dXMiP0ExKHRoaXMuaixXKTpuPT09ImVuZCI/QTEodGhpcy5XLFcpOm49PT0iZXJyb3IiJiZBMSh0aGlzLk4sVyk7cmV0dXJuIHRoaXN9Y2FuY2VsKCl7dGhpcy54aHIuYWJvcnQoKX19LFFQUz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoKTsKdGhpcy5uYW1lPSJBc3luY1N0YWNrIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTtnLml4KG1HLEJKKTttRy5wcm90b3R5cGUuTj1mdW5jdGlvbigpe3ZhciBuPW5ldyBLVyh0aGlzLlgsdGhpcy5XKTt0aGlzLkomJm4uc2V0Q3JlZGVudGlhbHNNb2RlKHRoaXMuSik7cmV0dXJuIG59OwptRy5wcm90b3R5cGUuc2V0Q3JlZGVudGlhbHNNb2RlPWZ1bmN0aW9uKG4pe3RoaXMuSj1ufTsKZy5peChLVyxnLm9XKTtnLkU9S1cucHJvdG90eXBlO2cuRS5vcGVuPWZ1bmN0aW9uKG4sVyl7aWYodGhpcy5yZWFkeVN0YXRlIT0wKXRocm93IHRoaXMuYWJvcnQoKSxFcnJvcigiRXJyb3IgcmVvcGVuaW5nIGEgY29ubmVjdGlvbiIpO3RoaXMuY0o9bjt0aGlzLk89Vzt0aGlzLnJlYWR5U3RhdGU9MTtQWSh0aGlzKX07CmcuRS5zZW5kPWZ1bmN0aW9uKG4pe2lmKHRoaXMucmVhZHlTdGF0ZSE9MSl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIm5lZWQgdG8gY2FsbCBvcGVuKCkgZmlyc3QuICIpO2lmKHRoaXMuWS5zaWduYWwuYWJvcnRlZCl0aHJvdyB0aGlzLmFib3J0KCksRXJyb3IoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIik7dGhpcy5OPSEwO3ZhciBXPXtoZWFkZXJzOnRoaXMuRCxtZXRob2Q6dGhpcy5jSixjcmVkZW50aWFsczp0aGlzLmosY2FjaGU6dm9pZCAwLHNpZ25hbDp0aGlzLlkuc2lnbmFsfTtuJiYoVy5ib2R5PW4pOyh0aGlzLnR3fHxnLnFpKS5mZXRjaChuZXcgUmVxdWVzdCh0aGlzLk8sVykpLnRoZW4odGhpcy5HRS5iaW5kKHRoaXMpLHRoaXMuRFAuYmluZCh0aGlzKSl9OwpnLkUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiO3RoaXMuRD1uZXcgSGVhZGVyczt0aGlzLnN0YXR1cz0wO3RoaXMuWS5hYm9ydCgiUmVxdWVzdCB3YXMgYWJvcnRlZC4iKTt0aGlzLlcmJnRoaXMuVy5jYW5jZWwoIlJlcXVlc3Qgd2FzIGFib3J0ZWQuIikuY2F0Y2goKCk9Pnt9KTsKdGhpcy5yZWFkeVN0YXRlPj0xJiZ0aGlzLk4mJnRoaXMucmVhZHlTdGF0ZSE9NCYmKHRoaXMuTj0hMSxaYSh0aGlzKSk7dGhpcy5yZWFkeVN0YXRlPTB9OwpnLkUuR0U9ZnVuY3Rpb24obil7aWYodGhpcy5OJiYodGhpcy5YPW4sdGhpcy5KfHwodGhpcy5zdGF0dXM9dGhpcy5YLnN0YXR1cyx0aGlzLnN0YXR1c1RleHQ9dGhpcy5YLnN0YXR1c1RleHQsdGhpcy5KPW4uaGVhZGVycyx0aGlzLnJlYWR5U3RhdGU9MixQWSh0aGlzKSksdGhpcy5OJiYodGhpcy5yZWFkeVN0YXRlPTMsUFkodGhpcyksdGhpcy5OKSkpaWYodGhpcy5yZXNwb25zZVR5cGU9PT0iYXJyYXlidWZmZXIiKW4uYXJyYXlCdWZmZXIoKS50aGVuKHRoaXMuSFQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpO2Vsc2UgaWYodHlwZW9mIGcucWkuUmVhZGFibGVTdHJlYW0hPT0idW5kZWZpbmVkIiYmImJvZHkiaW4gbil7dGhpcy5XPW4uYm9keS5nZXRSZWFkZXIoKTtpZih0aGlzLlYpe2lmKHRoaXMucmVzcG9uc2VUeXBlKXRocm93IEVycm9yKCdyZXNwb25zZVR5cGUgbXVzdCBiZSBlbXB0eSBmb3IgInN0cmVhbUJpbmFyeUNodW5rcyIgbW9kZSByZXNwb25zZXMuJyk7dGhpcy5yZXNwb25zZT0KW119ZWxzZSB0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PSIiLHRoaXMuSz1uZXcgVGV4dERlY29kZXI7T2oodGhpcyl9ZWxzZSBuLnRleHQoKS50aGVuKHRoaXMuVUQuYmluZCh0aGlzKSx0aGlzLkRQLmJpbmQodGhpcykpfTsKZy5FLmxFPWZ1bmN0aW9uKG4pe2lmKHRoaXMuTil7aWYodGhpcy5WJiZuLnZhbHVlKXRoaXMucmVzcG9uc2UucHVzaChuLnZhbHVlKTtlbHNlIGlmKCF0aGlzLlYpe3ZhciBXPW4udmFsdWU/bi52YWx1ZTpuZXcgVWludDhBcnJheSgwKTtpZihXPXRoaXMuSy5kZWNvZGUoVyx7c3RyZWFtOiFuLmRvbmV9KSl0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0Kz1XfW4uZG9uZT9aYSh0aGlzKTpQWSh0aGlzKTt0aGlzLnJlYWR5U3RhdGU9PTMmJk9qKHRoaXMpfX07CmcuRS5VRD1mdW5jdGlvbihuKXt0aGlzLk4mJih0aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0PW4sWmEodGhpcykpfTsKZy5FLkhUPWZ1bmN0aW9uKG4pe3RoaXMuTiYmKHRoaXMucmVzcG9uc2U9bixaYSh0aGlzKSl9OwpnLkUuRFA9ZnVuY3Rpb24oKXt0aGlzLk4mJlphKHRoaXMpfTsKZy5FLnNldFJlcXVlc3RIZWFkZXI9ZnVuY3Rpb24obixXKXt0aGlzLkQuYXBwZW5kKG4sVyl9OwpnLkUuZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuSj90aGlzLkouZ2V0KG4udG9Mb3dlckNhc2UoKSl8fCIiOiIifTsKZy5FLmdldEFsbFJlc3BvbnNlSGVhZGVycz1mdW5jdGlvbigpe2lmKCF0aGlzLkopcmV0dXJuIiI7Zm9yKHZhciBuPVtdLFc9dGhpcy5KLmVudHJpZXMoKSxEPVcubmV4dCgpOyFELmRvbmU7KUQ9RC52YWx1ZSxuLnB1c2goRFswXSsiOiAiK0RbMV0pLEQ9Vy5uZXh0KCk7cmV0dXJuIG4uam9pbigiXHJcbiIpfTsKZy5FLnNldENyZWRlbnRpYWxzTW9kZT1mdW5jdGlvbihuKXt0aGlzLmo9bn07Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShLVy5wcm90b3R5cGUsIndpdGhDcmVkZW50aWFscyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0iaW5jbHVkZSJ9LApzZXQ6ZnVuY3Rpb24obil7dGhpcy5zZXRDcmVkZW50aWFsc01vZGUobj8iaW5jbHVkZSI6InNhbWUtb3JpZ2luIil9fSk7Zy5Vai5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgbj1bXSxXPXRoaXMuWDtXJiZuLnB1c2goek4oVyxwbngsITApLCI6Iik7dmFyIEQ9dGhpcy5OO2lmKER8fFc9PSJmaWxlIiluLnB1c2goIi8vIiksKFc9dGhpcy5ZKSYmbi5wdXNoKHpOKFcscG54LCEwKSwiQCIpLG4ucHVzaChxaChEKS5yZXBsYWNlKC8lMjUoWzAtOWEtZkEtRl17Mn0pL2csIiUkMSIpKSxEPXRoaXMuVixEIT1udWxsJiZuLnB1c2goIjoiLFN0cmluZyhEKSk7aWYoRD10aGlzLkopdGhpcy5OJiZELmNoYXJBdCgwKSE9Ii8iJiZuLnB1c2goIi8iKSxuLnB1c2goek4oRCxELmNoYXJBdCgwKT09Ii8iP1luTTpIN2osITApKTsoRD10aGlzLlcudG9TdHJpbmcoKSkmJm4ucHVzaCgiPyIsRCk7KEQ9dGhpcy5qKSYmbi5wdXNoKCIjIix6TihELGZVYikpO3JldHVybiBuLmpvaW4oIiIpfTsKZy5Vai5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbihuKXt2YXIgVz10aGlzLmNsb25lKCksRD0hIW4uWDtEP3lOKFcsbi5YKTpEPSEhbi5ZO0Q/Vy5ZPW4uWTpEPSEhbi5OO0Q/RWooVyxuLk4pOkQ9bi5WIT1udWxsO3ZhciBiPW4uSjtpZihEKWlyKFcsbi5WKTtlbHNlIGlmKEQ9ISFuLkope2lmKGIuY2hhckF0KDApIT0iLyIpaWYodGhpcy5OJiYhdGhpcy5KKWI9Ii8iK2I7ZWxzZXt2YXIgdj1XLkoubGFzdEluZGV4T2YoIi8iKTt2IT0tMSYmKGI9Vy5KLnNsaWNlKDAsdisxKStiKX12PWI7aWYodj09Ii4uInx8dj09Ii4iKWI9IiI7ZWxzZSBpZih2LmluZGV4T2YoIi4vIikhPS0xfHx2LmluZGV4T2YoIi8uIikhPS0xKXtiPWcualUodiwiLyIpO3Y9di5zcGxpdCgiLyIpO2xldCBrPVtdO2ZvcihsZXQgaD0wO2g8di5sZW5ndGg7KXtsZXQgeD12W2grK107eD09Ii4iP2ImJmg9PXYubGVuZ3RoJiZrLnB1c2goIiIpOng9PSIuLiI/KChrLmxlbmd0aD4xfHxrLmxlbmd0aD09MSYma1swXSE9CiIiKSYmay5wb3AoKSxiJiZoPT12Lmxlbmd0aCYmay5wdXNoKCIiKSk6KGsucHVzaCh4KSxiPSEwKX1iPWsuam9pbigiLyIpfWVsc2UgYj12fUQ/Vy5KPWI6RD1uLlcudG9TdHJpbmcoKSE9PSIiO0Q/dXIoVyxuLlcuY2xvbmUoKSk6RD0hIW4uajtEJiYoVy5qPW4uaik7cmV0dXJuIFd9OwpnLlVqLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgZy5Vaih0aGlzKX07CnZhciBwbng9L1sjXC9cP0BdL2csSDdqPS9bI1w/Ol0vZyxZbk09L1sjXD9dL2csRHhTPS9bI1w/QF0vZyxmVWI9LyMvZztnLkU9ZGgucHJvdG90eXBlO2cuRS5hZGQ9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLlc9bnVsbDtuPWpTKHRoaXMsbik7dmFyIEQ9dGhpcy5OLmdldChuKTtEfHx0aGlzLk4uc2V0KG4sRD1bXSk7RC5wdXNoKFcpO3RoaXMuSj10aGlzLkorMTtyZXR1cm4gdGhpc307CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7VE4odGhpcyk7bj1qUyh0aGlzLG4pO3JldHVybiB0aGlzLk4uaGFzKG4pPyh0aGlzLlc9bnVsbCx0aGlzLko9dGhpcy5KLXRoaXMuTi5nZXQobikubGVuZ3RoLHRoaXMuTi5kZWxldGUobikpOiExfTsKZy5FLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5OPXRoaXMuVz1udWxsO3RoaXMuSj0wfTsKZy5FLmlzRW1wdHk9ZnVuY3Rpb24oKXtUTih0aGlzKTtyZXR1cm4gdGhpcy5KPT0wfTsKZy5FLmZvckVhY2g9ZnVuY3Rpb24obixXKXtUTih0aGlzKTt0aGlzLk4uZm9yRWFjaChmdW5jdGlvbihELGIpe0QuZm9yRWFjaChmdW5jdGlvbih2KXtuLmNhbGwoVyx2LGIsdGhpcyl9LHRoaXMpfSx0aGlzKX07CmcuRS51Qj1mdW5jdGlvbigpe1ROKHRoaXMpO3ZhciBuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKSxXPUFycmF5LmZyb20odGhpcy5OLmtleXMoKSksRD1bXTtmb3IobGV0IGI9MDtiPFcubGVuZ3RoO2IrKyl7bGV0IHY9bltiXTtmb3IobGV0IGs9MDtrPHYubGVuZ3RoO2srKylELnB1c2goV1tiXSl9cmV0dXJuIER9OwpnLkUuejc9ZnVuY3Rpb24obil7VE4odGhpcyk7dmFyIFc9W107aWYodHlwZW9mIG49PT0ic3RyaW5nIilDVyh0aGlzLG4pJiYoVz1XLmNvbmNhdCh0aGlzLk4uZ2V0KGpTKHRoaXMsbikpKSk7ZWxzZXtuPUFycmF5LmZyb20odGhpcy5OLnZhbHVlcygpKTtmb3IobGV0IEQ9MDtEPG4ubGVuZ3RoO0QrKylXPVcuY29uY2F0KG5bRF0pfXJldHVybiBXfTsKZy5FLnNldD1mdW5jdGlvbihuLFcpe1ROKHRoaXMpO3RoaXMuVz1udWxsO249alModGhpcyxuKTtDVyh0aGlzLG4pJiYodGhpcy5KPXRoaXMuSi10aGlzLk4uZ2V0KG4pLmxlbmd0aCk7dGhpcy5OLnNldChuLFtXXSk7dGhpcy5KPXRoaXMuSisxO3JldHVybiB0aGlzfTsKZy5FLmdldD1mdW5jdGlvbihuLFcpe2lmKCFuKXJldHVybiBXO249dGhpcy56NyhuKTtyZXR1cm4gbi5sZW5ndGg+MD9TdHJpbmcoblswXSk6V307CmcuRS50b1N0cmluZz1mdW5jdGlvbigpe2lmKHRoaXMuVylyZXR1cm4gdGhpcy5XO2lmKCF0aGlzLk4pcmV0dXJuIiI7dmFyIG49W10sVz1BcnJheS5mcm9tKHRoaXMuTi5rZXlzKCkpO2ZvcihsZXQgYj0wO2I8Vy5sZW5ndGg7YisrKXt2YXIgRD1XW2JdO2xldCB2PXFoKEQpO0Q9dGhpcy56NyhEKTtmb3IobGV0IGs9MDtrPEQubGVuZ3RoO2srKyl7bGV0IGg9djtEW2tdIT09IiImJihoKz0iPSIrcWgoRFtrXSkpO24ucHVzaChoKX19cmV0dXJuIHRoaXMuVz1uLmpvaW4oIiYiKX07CmcuRS5jbG9uZT1mdW5jdGlvbigpe3ZhciBuPW5ldyBkaDtuLlc9dGhpcy5XO3RoaXMuTiYmKG4uTj1uZXcgTWFwKHRoaXMuTiksbi5KPXRoaXMuSik7cmV0dXJuIG59OwpnLkUuZXh0ZW5kPWZ1bmN0aW9uKG4pe2ZvcihsZXQgVz0wO1c8YXJndW1lbnRzLmxlbmd0aDtXKyspbktpKGFyZ3VtZW50c1tXXSxmdW5jdGlvbihELGIpe3RoaXMuYWRkKGIsRCl9LHRoaXMpfTtnLml4KEJZLGcuRk0pO3ZhciBKc2o9W107Zy5FPUJZLnByb3RvdHlwZTtnLkUuU189ZnVuY3Rpb24obixXLEQsYil7QXJyYXkuaXNBcnJheShXKXx8KFcmJihKc2pbMF09Vy50b1N0cmluZygpKSxXPUpzaik7Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPUFIKG4sV1t2XSxEfHx0aGlzLmhhbmRsZUV2ZW50LGJ8fCExLHRoaXMuSnx8dGhpcyk7aWYoIWspYnJlYWs7dGhpcy5OW2sua2V5XT1rfXJldHVybiB0aGlzfTsKZy5FLmVGPWZ1bmN0aW9uKG4sVyxELGIpe3JldHVybiBGbSh0aGlzLG4sVyxELGIpfTsKZy5FLndIPWZ1bmN0aW9uKG4sVyxELGIsdil7aWYoQXJyYXkuaXNBcnJheShXKSlmb3IobGV0IGs9MDtrPFcubGVuZ3RoO2srKyl0aGlzLndIKG4sV1trXSxELGIsdik7ZWxzZSBEPUR8fHRoaXMuaGFuZGxlRXZlbnQsYj1nLmZ0KGIpPyEhYi5jYXB0dXJlOiEhYix2PXZ8fHRoaXMuSnx8dGhpcyxEPW1oKEQpLGI9ISFiLFc9TjUobik/bi5zYyhXLEQsYix2KTpuPyhuPU8yKG4pKT9uLnNjKFcsRCxiLHYpOm51bGw6bnVsbCxXJiYoRTIoVyksZGVsZXRlIHRoaXMuTltXLmtleV0pfTsKZy5FLlRpPWZ1bmN0aW9uKCl7Zy5hXyh0aGlzLk4sZnVuY3Rpb24obixXKXt0aGlzLk4uaGFzT3duUHJvcGVydHkoVykmJkUyKG4pfSx0aGlzKTsKdGhpcy5OPXt9fTsKZy5FLm1BPWZ1bmN0aW9uKCl7QlkuVEIubUEuY2FsbCh0aGlzKTt0aGlzLlRpKCl9OwpnLkUuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigiRXZlbnRIYW5kbGVyLmhhbmRsZUV2ZW50IG5vdCBpbXBsZW1lbnRlZCIpO307dmFyIGtoUz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuVz0hMDt0aGlzLko9MDt0aGlzLk49IiJ9aXNJbnB1dFZhbGlkKCl7cmV0dXJuIHRoaXMuV319O010LnByb3RvdHlwZS5pc0lucHV0VmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OIT0zfTsKTXQucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuVn07Ck10LnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiEwfTsKTXQucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7TCYxMjgmJlJzKGssaCx4LCJpbnZhbGlkIHRhZyIpOyhMJjcpIT0yJiZScyhrLGgseCwiaW52YWxpZCB3aXJlIHR5cGUiKTtrLlc9TD4+PjM7ay5XIT0xJiZrLlchPTImJmsuVyE9MTUmJlJzKGssaCx4LCJ1bmV4cGVjdGVkIHRhZyIpO2suTj0xO2suSj0wO2suWD0wfQpmdW5jdGlvbiBEKEwpe2suWCsrO2suWD09NSYmTCYyNDAmJlJzKGssaCx4LCJtZXNzYWdlIGxlbmd0aCB0b28gbG9uZyIpO2suSnw9KEwmMTI3KTw8KGsuWC0xKSo3O0wmMTI4fHwoay5OPTIsay5ZPTAsdHlwZW9mIFVpbnQ4QXJyYXkhPT0idW5kZWZpbmVkIj9rLmo9bmV3IFVpbnQ4QXJyYXkoay5KKTprLmo9QXJyYXkoay5KKSxrLko9PTAmJnYoKSl9CmZ1bmN0aW9uIGIoTCl7ay5qW2suWSsrXT1MO2suWT09ay5KJiZ2KCl9CmZ1bmN0aW9uIHYoKXtpZihrLlc8MTUpe2xldCBMPXt9O0xbay5XXT1rLmo7ay5LLnB1c2goTCl9ay5OPTB9CmZvcih2YXIgaz10aGlzLGg9biBpbnN0YW5jZW9mIEFycmF5P246bmV3IFVpbnQ4QXJyYXkobikseD0wO3g8aC5sZW5ndGg7KXtzd2l0Y2goay5OKXtjYXNlIDM6UnMoayxoLHgsInN0cmVhbSBhbHJlYWR5IGJyb2tlbiIpO2JyZWFrO2Nhc2UgMDpXKGhbeF0pO2JyZWFrO2Nhc2UgMTpEKGhbeF0pO2JyZWFrO2Nhc2UgMjpiKGhbeF0pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoInVuZXhwZWN0ZWQgcGFyc2VyIHN0YXRlOiAiK2suTik7fWsuRCsrO3grK31uPWsuSztrLks9W107cmV0dXJuIG4ubGVuZ3RoPjA/bjpudWxsfTtRTi5wcm90b3R5cGUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuTj09PW51bGx9OwpRTi5wcm90b3R5cGUuczg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5OfTsKUU4ucHJvdG90eXBlLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpRTi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24obil7dGhpcy5OIT09bnVsbCYmVk4odGhpcyxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTt2YXIgVz1udWxsO3RyeXt7dmFyIEQ9dGhpcy5XO0QuV3x8d2goRCxuLCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTtELk4rPW47bGV0IGs9TWF0aC5mbG9vcihELk4ubGVuZ3RoLzQpO2lmKGs9PTApdmFyIGI9bnVsbDtlbHNle3RyeXt2YXIgdj16aChELk4uc2xpY2UoMCxrKjQpKX1jYXRjaChoKXt3aChELEQuTixoLm1lc3NhZ2UpfUQuSis9ayo0O0QuTj1ELk4uc2xpY2Uoayo0KTtiPXZ9fVc9Yj09PW51bGw/bnVsbDp0aGlzLlgucGFyc2UoYil9Y2F0Y2goayl7Vk4odGhpcyxuLGsubWVzc2FnZSl9dGhpcy5KKz1uLmxlbmd0aDtyZXR1cm4gV307Zy5FPWFzLnByb3RvdHlwZTtnLkUuaXNJbnB1dFZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaiE9M307CmcuRS5zOD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkR9OwpnLkUuZG9uZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT0yfTsKZy5FLmFvPWZ1bmN0aW9uKCl7cmV0dXJuITF9OwpnLkUucGFyc2U9ZnVuY3Rpb24obil7ZnVuY3Rpb24gVygpe2Zvcig7cjxuLmxlbmd0aDspaWYoY1kobltyXSkpcisrLGsuVysrO2Vsc2UgYnJlYWs7cmV0dXJuIHI8TH0KZnVuY3Rpb24gRCgpe2Zvcih2YXIgSDs7KXtIPW5bcisrXTtpZighSClicmVhaztrLlcrKztzd2l0Y2goay5OKXtjYXNlIDA6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00OmNZKEgpfHxuXyhrLG4scik7Y29udGludWU7Y2FzZSA3OmNhc2UgMjppZihjWShIKSljb250aW51ZTtpZihrLk49PT03KWgucHVzaCg4KTtlbHNlIGlmKEg9PT0ifSIpe3YoInt9Iik7ay5OPWIoKTtjb250aW51ZX1lbHNlIGgucHVzaCgzKTtIPT09JyInP2suTj02Om5fKGssbixyKTtjb250aW51ZTtjYXNlIDg6Y2FzZSAzOmlmKGNZKEgpKWNvbnRpbnVlO0g9PT0iOiI/KGsuTj09PTMmJihoLnB1c2goMyksay5KKyspLGsuTj0xKTpIPT09In0iPyhrLkotLSx2KCksay5OPWIoKSk6SD09PSIsIj8oay5OPT09MyYmaC5wdXNoKDMpLGsuTj03KTpuXyhrLG4scik7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZihjWShIKSljb250aW51ZTtpZihrLk49PT00KWlmKGsuSisrLGsuTj0xLEg9PT0iXSIpe2suSi0tO2lmKGsuSj09PQowKXtrLk49NTtyZXR1cm59digiW10iKTtrLk49YigpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDUpO0g9PT0nIic/ay5OPTY6SD09PSJ7Ij9rLk49MjpIPT09IlsiP2suTj00Okg9PT0idCI/ay5OPTk6SD09PSJmIj9rLk49MTI6SD09PSJuIj9rLk49MTY6SCE9PSItIiYmKCIwMTIzNDU2Nzg5Ii5pbmRleE9mKEgpIT09LTE/ay5OPTIwOm5fKGssbixyKSk7Y29udGludWU7Y2FzZSA1OmlmKEg9PT0iLCIpaC5wdXNoKDUpLGsuTj0xLGsuSj09PTEmJihHPXIpO2Vsc2UgaWYoSD09PSJdIil7ay5KLS07aWYoay5KPT09MClyZXR1cm47digpO2suTj1iKCl9ZWxzZSBpZihjWShIKSljb250aW51ZTtlbHNlIG5fKGssbixyKTtjb250aW51ZTtjYXNlIDY6bGV0IEE9cjthOmZvcig7Oyl7Zm9yKDtrLlk+MDspaWYoSD1uW3IrK10say5ZPT09ND9rLlk9MDprLlkrKywhSClicmVhayBhO2lmKEg9PT0nIicmJiFrLkspe2suTj1iKCk7YnJlYWt9aWYoSD09PSJcXCImJiFrLksmJihrLks9ITAsSD1uW3IrK10sCiFIKSlicmVhaztpZihrLkspaWYoay5LPSExLEg9PT0idSImJihrLlk9MSksSD1uW3IrK10pY29udGludWU7ZWxzZSBicmVhazt4Lmxhc3RJbmRleD1yO0g9eC5leGVjKG4pO2lmKCFIKXtyPW4ubGVuZ3RoKzE7YnJlYWt9cj1ILmluZGV4KzE7SD1uW0guaW5kZXhdO2lmKCFIKWJyZWFrfWsuVys9ci1BO2NvbnRpbnVlO2Nhc2UgOTppZighSCljb250aW51ZTtIPT09InIiP2suTj0xMDpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMDppZighSCljb250aW51ZTtIPT09InUiP2suTj0xMTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxMTppZighSCljb250aW51ZTtIPT09ImUiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTI6aWYoIUgpY29udGludWU7SD09PSJhIj9rLk49MTM6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIUgpY29udGludWU7SD09PSJsIj9rLk49MTQ6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIUgpY29udGludWU7SD09PSJzIj9rLk49MTU6Cm5fKGssbixyKTtjb250aW51ZTtjYXNlIDE1OmlmKCFIKWNvbnRpbnVlO0g9PT0iZSI/ay5OPWIoKTpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNjppZighSCljb250aW51ZTtIPT09InUiP2suTj0xNzpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxNzppZighSCljb250aW51ZTtIPT09ImwiP2suTj0xODpuXyhrLG4scik7Y29udGludWU7Y2FzZSAxODppZighSCljb250aW51ZTtIPT09ImwiP2suTj1iKCk6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMTk6SD09PSIuIj9rLk49MjA6bl8oayxuLHIpO2NvbnRpbnVlO2Nhc2UgMjA6aWYoIjAxMjM0NTY3ODkuZUUrLSIuaW5kZXhPZihIKSE9PS0xKWNvbnRpbnVlO2Vsc2Ugci0tLGsuVy0tLGsuTj1iKCk7Y29udGludWU7ZGVmYXVsdDpuXyhrLG4scil9fX0KZnVuY3Rpb24gYigpe3ZhciBIPWgucG9wKCk7cmV0dXJuIEghPW51bGw/SDoxfQpmdW5jdGlvbiB2KEgpe2suSj4xfHwoSHx8KEg9Rz09PS0xP2suWCtuLnN1YnN0cmluZyhlLHIpOm4uc3Vic3RyaW5nKEcscikpLGsuTz9rLlYucHVzaChIKTprLlYucHVzaChKU09OLnBhcnNlKEgpKSxHPXIpfQpmb3IodmFyIGs9dGhpcyxoPWsuY0oseD1rLnR3LEw9bi5sZW5ndGgsZT0wLEc9LTEscj0wO3I8TDspc3dpdGNoKGsuail7Y2FzZSAzOnJldHVybiBuXyhrLG4sciksbnVsbDtjYXNlIDI6cmV0dXJuIFcoKSYmbl8oayxuLHIpLG51bGw7Y2FzZSAwOmlmKFcoKSl7dmFyIE49bltyKytdO2suVysrO2lmKE49PT0iWyIpe2suaj0xO2U9cjtrLk49NDtjb250aW51ZX1lbHNlIG5fKGssbixyKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIEQoKSxrLko9PT0wJiZrLk49PTU/KGsuaj0yLGsuWD1uLnN1YnN0cmluZyhyKSk6ay5YPUc9PT0tMT9rLlgrbi5zdWJzdHJpbmcoZSk6bi5zdWJzdHJpbmcoRyksay5WLmxlbmd0aD4wPyhOPWsuVixrLlY9W10sTik6bnVsbH1yZXR1cm4gbnVsbH07V0sucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmo9PT1udWxsfTsKV0sucHJvdG90eXBlLnM4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07CldLLnByb3RvdHlwZS5hbz1mdW5jdGlvbigpe3JldHVybiExfTsKV0sucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKG4pe2Z1bmN0aW9uIFcoTCl7ay5KPTY7ay5qPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIitrLk4rIi8iK2grIi4gRXJyb3I6ICIrTCsiLiBXaXRoIGlucHV0OlxuIjt0aHJvdyBFcnJvcihrLmopO30KZnVuY3Rpb24gRCgpe2suVz1uZXcgYXMoe1ZMOiEwLFpIOiEwfSl9CmZ1bmN0aW9uIGIoTCl7aWYoTClmb3IobGV0IGU9MDtlPEwubGVuZ3RoO2UrKyl7bGV0IEc9e307R1sxXT1MW2VdO2suWC5wdXNoKEcpfX0KZnVuY3Rpb24gdihMKXtpZihMKXsoay5WfHxMLmxlbmd0aD4xKSYmVygiZXh0cmEgc3RhdHVzOiAiK0wpO2suVj0hMDtsZXQgZT17fTtlWzJdPUxbMF07ay5YLnB1c2goZSl9fQpmb3IodmFyIGs9dGhpcyxoPTA7aDxuLmxlbmd0aDspe3ZhciB4O2lmKHg9ay5KIT09Mil7YTp7Zm9yKDtoPG4ubGVuZ3RoOyl7aWYoIWNZKG5baF0pKXt4PSEwO2JyZWFrIGF9aCsrO2suTisrfXg9ITF9eD0heH1pZih4KXJldHVybiBudWxsO3N3aXRjaChrLkope2Nhc2UgNjpXKCJzdHJlYW0gYWxyZWFkeSBicm9rZW4iKTticmVhaztjYXNlIDA6bltoXT09PSJbIj8oay5KPTEsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAxOm5baF09PT0iWyI/KGsuSj0yLEQoKSk6bltoXT09PSIsInx8bi5zbGljZShoLGgrNSk9PSJudWxsLCI/ay5KPTM6bltoXT09PSJdIj8oay5KPTUsaCsrLGsuTisrKTpXKCJ1bmV4cGVjdGVkIGlucHV0IHRva2VuIik7YnJlYWs7Y2FzZSAyOng9ay5XLnBhcnNlKG4uc3Vic3RyaW5nKGgpKTtiKHgpO2suVy5kb25lKCk/KGsuSj0zLHg9ay5XLlgsay5OKz1uLmxlbmd0aC1oLXgubGVuZ3RoLG49eCxoPTApOihrLk4rPW4ubGVuZ3RoLQpoLGg9bi5sZW5ndGgpO2JyZWFrO2Nhc2UgMzpuW2hdPT09IiwifHxuLnNsaWNlKGgsaCs1KT09Im51bGwsIj8oay5KPTQsRCgpLGsuVy5wYXJzZSgiWyIpLGgrPW5baF09PT0iLCI/MTo1LGsuTisrKTpuW2hdPT09Il0iJiYoay5KPTUsaCsrLGsuTisrKTticmVhaztjYXNlIDQ6eD1rLlcucGFyc2Uobi5zdWJzdHJpbmcoaCkpO3YoeCk7ay5XLmRvbmUoKT8oay5KPTUseD1rLlcuWCxrLk4rPW4ubGVuZ3RoLWgteC5sZW5ndGgsbj14LGg9MCk6KGsuTis9bi5sZW5ndGgtaCxoPW4ubGVuZ3RoKTticmVhaztjYXNlIDU6VygiZXh0cmEgaW5wdXQgYWZ0ZXIgc3RyZWFtIGVuZCIpfX1yZXR1cm4gay5YLmxlbmd0aD4wPyhuPWsuWCxrLlg9W10sbik6bnVsbH07dmFyIHFBdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bnVsbDt0aGlzLmo9dGhpcy5XPTA7dGhpcy5EPSExO3RoaXMuWD10aGlzLks9dGhpcy5WPW51bGw7dGhpcy5ZPW5ldyBCWSh0aGlzKTt0aGlzLlkuU18odGhpcy5OLCJyZWFkeXN0YXRlY2hhbmdlIix0aGlzLk8pfWdldFN0YXR1cygpe3JldHVybiB0aGlzLmp9TyhuKXtuPW4udGFyZ2V0O3RyeXtpZihuPT10aGlzLk4pYTp7bGV0IGs9YTUodGhpcy5OKTt2YXIgVz10aGlzLk4uVyxEPXRoaXMuTi5nZXRTdGF0dXMoKTtsZXQgaD1XMyh0aGlzLk4pO249W107aWYoRG8odGhpcy5OKWluc3RhbmNlb2YgQXJyYXkpe2xldCB4PURvKHRoaXMuTik7eC5sZW5ndGg+MCYmeFswXWluc3RhbmNlb2YgVWludDhBcnJheSYmKHRoaXMuRD0hMCxuPXgpfWlmKCEoazwzfHxrPT0zJiYhaCYmbi5sZW5ndGg9PTApKWlmKEQ9RD09MjAwfHxEPT0yMDYsaz09NCYmKFc9PTg/RGkodGhpcyw3KTpXPT03P0RpKHRoaXMsOCk6RHx8CkRpKHRoaXMsMykpLHRoaXMuSnx8KHRoaXMuSj1oQ3godGhpcy5OKSx0aGlzLko9PW51bGwmJkRpKHRoaXMsNSkpLHRoaXMuaj4yKWJIKHRoaXMpO2Vsc2V7aWYobi5sZW5ndGg+dGhpcy5XKXtsZXQgeD1uLmxlbmd0aDtXPVtdO3RyeXtpZih0aGlzLkouYW8oKSlmb3IodmFyIGI9MDtiPHg7YisrKXt2YXIgdj10aGlzLkoucGFyc2UoQXJyYXkuZnJvbShuW2JdKSk7diYmKFc9Vy5jb25jYXQodikpfWVsc2V7dj0iIjtpZighdGhpcy5WKXtpZih0eXBlb2YgVGV4dERlY29kZXI9PT0idW5kZWZpbmVkIil0aHJvdyBFcnJvcigiVGV4dERlY29kZXIgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuIik7dGhpcy5WPW5ldyBUZXh0RGVjb2Rlcn1mb3IoYj0wO2I8eDtiKyspdis9dGhpcy5WLmRlY29kZShuW2JdLHtzdHJlYW06az09NCYmYj09eC0xfSk7Vz10aGlzLkoucGFyc2Uodil9bi5zcGxpY2UoMCx4KTtXJiZ0aGlzLlgoVyl9Y2F0Y2goTCl7RGkodGhpcyw1KTtiSCh0aGlzKTsKYnJlYWsgYX19ZWxzZSBpZihoLmxlbmd0aD50aGlzLlcpe2I9aC5zbGljZSh0aGlzLlcpO3RoaXMuVz1oLmxlbmd0aDt0cnl7bGV0IHg9dGhpcy5KLnBhcnNlKGIpO3ghPW51bGwmJnRoaXMuWCYmdGhpcy5YKHgpfWNhdGNoKHgpe0RpKHRoaXMsNSk7YkgodGhpcyk7YnJlYWsgYX19az09ND8oaC5sZW5ndGghPTB8fHRoaXMuRD9EaSh0aGlzLDIpOkRpKHRoaXMsNCksYkgodGhpcykpOkRpKHRoaXMsMSl9fX1jYXRjaChrKXtEaSh0aGlzLDYpLGJIKHRoaXMpfX19O3ZhciBHaGk9Y2xhc3N7Y29uc3RydWN0b3Iobil7bj10aGlzLlc9bjt2YXIgVz0oMCxnLkt0KSh0aGlzLlgsdGhpcyk7bi5YPVc7bj10aGlzLlc7Vz0oMCxnLkt0KSh0aGlzLmosdGhpcyk7bi5LPVc7dGhpcy5KPXt9O3RoaXMuTj17fX14VihuLFcpe3ZhciBEPXRoaXMuSltuXTtEfHwoRD1bXSx0aGlzLkpbbl09RCk7RC5wdXNoKFcpfWFkZExpc3RlbmVyKG4sVyl7dGhpcy54VihuLFcpO3JldHVybiB0aGlzfXJlbW92ZUxpc3RlbmVyKG4sVyl7dmFyIEQ9dGhpcy5KW25dO0QmJmcuRkkoRCxXKTsobj10aGlzLk5bbl0pJiZnLkZJKG4sVyk7cmV0dXJuIHRoaXN9b25jZShuLFcpe3ZhciBEPXRoaXMuTltuXTtEfHwoRD1bXSx0aGlzLk5bbl09RCk7RC5wdXNoKFcpO3JldHVybiB0aGlzfVgobil7dmFyIFc9dGhpcy5KLmRhdGE7VyYmdksobixXKTsoVz10aGlzLk4uZGF0YSkmJnZLKG4sVyk7dGhpcy5OLmRhdGE9W119aigpe3N3aXRjaCh0aGlzLlcuZ2V0U3RhdHVzKCkpe2Nhc2UgMTprdCh0aGlzLAoicmVhZGFibGUiKTticmVhaztjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDc6Y2FzZSAzOmt0KHRoaXMsImVycm9yIik7YnJlYWs7Y2FzZSA4Omt0KHRoaXMsImNsb3NlIik7YnJlYWs7Y2FzZSAyOmt0KHRoaXMsImVuZCIpfX19O3ZhciAkeGg9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj17Zm9ybWF0OiJqc3BiIn07dGhpcy5ZTz1uLllPfHxnLnJyKCJzdXBwcmVzc0NvcnNQcmVmbGlnaHQiLG4pfHwhMTt0aGlzLndpdGhDcmVkZW50aWFscz1uLndpdGhDcmVkZW50aWFsc3x8Zy5ycigid2l0aENyZWRlbnRpYWxzIixuKXx8ITE7dGhpcy5LYj1uLktifHxbXTt0aGlzLkZOPW4uRk58fFtdO3RoaXMuU249bi5Tbjt0aGlzLk49bi5sSXx8ITF9c2VydmVyU3RyZWFtaW5nKG4sVyxELGIpe3ZhciB2PW4uc3Vic3RyaW5nKDAsbi5sZW5ndGgtYi5uYW1lLmxlbmd0aCk7cmV0dXJuIHh4aihrPT57dmFyIGg9ay5sMCx4PWsuZ2V0TWV0YWRhdGEoKSxMPWhhKHRoaXMsITEpO3g9eHQodGhpcyx4LEwsditoLmdldE5hbWUoKSk7dmFyIGU9TF8oTCxoLlcsITApO2s9aC5OKGsuZnYpO0wuc2VuZCh4LCJQT1NUIixrKTtyZXR1cm4gZX0sdGhpcy5LYikuY2FsbCh0aGlzLGIuSihXLEQpKX19O3F3LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24obixXLEQpe3JldHVybiBZWSh0aGlzLk4sdGhpcy5KKyIvJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9DcmVhdGUiLG4sV3x8e30sc09NLEQpfTt2YXIgYW09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iYm9vbCJ9fSxuaj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZDU9Mzt0aGlzLm54PW47dGhpcy5kZWZhdWx0VmFsdWU9Vzt0aGlzLlUwPSJpbnQifX0sV0M9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLmQ1PTM7dGhpcy5ueD1uO3RoaXMuZGVmYXVsdFZhbHVlPVc7dGhpcy5VMD0iZG91YmxlIn19O3ZhciBTY3QsSVV3LFljLEFzVSxub3IsV0lNLG1HWixLNVUsTzcxLEhwLFo3VSxVR0MsUHJpLHlzeCxFZGksaTdDLHVOYixVQmIsZEd0LHpZaSxsVXIsVFBVLGpPaSxDSmksa3FNLERaLEY1aSxjZix3bjIsSGZ4LFNvUyxJWWksTUl4LHowaSxsWWgsVE5DLEJwdCxSWXcsUU94LFZJaixpbGksa1RiLFZrdyxjc3IsYVVNLGJELG5KaSxXRlMsbmEsRGRTLGJnaSx2NWksdkpDLFRfQyx0UzIsa19pLGhGaix4ZGgsZUZVLGdKMSxYQU0scURTLEdfcix0SlMsJGQyLHJUaixzcjIsanNaLE5GVSxHb00seSRqLHllaSxwQXQsanZNLEtZeCxZRFosSGdaLHZDLEplMSxmY3Qsa05qLEpUeCxJY2ksSGYsaldTLFNEUyxZSmIsQVRaLG1kdyxsaVosS0ZyLE9nMixwYk0sd2JTLFpnTSx5VDIsRUpNLHdJMTtTY3Q9bmV3IGFtKDQ1NzU5NTgwLCExKTtJVXc9bmV3IGFtKDQ1NzY2MjczLCExKTtnLlNuaj1uZXcgYW0oNDU3NTc4NzgsITEpO1ljPW5ldyBhbSg0NTc0OTM5NiwhMSk7CkFzVT1uZXcgYW0oNDU4MDg1MjgsITEpO25vcj1uZXcgYW0oNDU3NDIxMTksITEpO1dJTT1uZXcgYW0oNDU3ODQxNjgsITEpO21HWj1uZXcgYW0oNDU4MDEwNjgsITEpO0s1VT1uZXcgYW0oNDU3Nzg2OTYsITEpO083MT1uZXcgYW0oNDU3NTY0NDYsITEpO2cuUEpNPW5ldyBhbSg0NTgwODE1MCwhMSk7SHA9bmV3IGFtKDQ1ODA3NzY0LCExKTtaN1U9bmV3IGFtKDQ1Nzk3NzIxLCExKTtVR0M9bmV3IGFtKDQ1Nzk4OTMyLCExKTtQcmk9bmV3IGFtKDQ1NzYwMDE4LCExKTt5c3g9bmV3IGFtKDQ1NzM5MTk2LCExKTtFZGk9bmV3IGFtKDQ1Nzk0ODY4LCExKTtpN0M9bmV3IGFtKDQ1NzM5MTk4LCExKTt1TmI9bmV3IGFtKDQ1Nzk0ODY3LCExKTtVQmI9bmV3IGFtKDQ1Nzc3MzU2LCExKTtnLm9kWj1uZXcgbmooNDU3NTA5NDcsZy4kVSgiMCIpKTtkR3Q9bmV3IGFtKDQ1Nzk5OTEyLCExKTt6WWk9bmV3IFdDKDQ1NzQ2OTY2LDApO2xVcj1uZXcgV0MoNDU3NDY5NjcsMCk7ClRQVT1uZXcgV0MoNDU3Mzc0ODgsMCk7ak9pPW5ldyBXQyg0NTczNzQ4OSwwKTtDSmk9bmV3IGFtKDQ1Nzk1NTczLCExKTtnLkJQUz1uZXcgYW0oNDU3NjU2ODAsITEpO2txTT1uZXcgYW0oNDU3MzI3OTEsITApO0RaPW5ldyBhbSg0NTc4MTExMiwhMSk7RjVpPW5ldyBhbSg0NTgwODY1MCwhMSk7Y2Y9bmV3IGFtKDQ1ODExODU3LCExKTt3bjI9bmV3IGFtKDQ1ODA1OTY4LCExKTtIZng9bmV3IGFtKDQ1NzY5MTE5LCEwKTtTb1M9bmV3IG5qKDQ1ODA2NTU1LGcuJFUoIjIiKSk7SVlpPW5ldyBuaig0NTc4NDQzOSxnLiRVKCIwIikpO01JeD1uZXcgYW0oNDU4MTc0MDksITEpO3owaT1uZXcgYW0oNDU3Mzc0ODIsITEpO2xZaD1uZXcgV0MoNDU3NDE3NzMsMCk7VE5DPW5ldyBhbSg0NTgwNTg0OCwhMSk7QnB0PW5ldyBhbSg0NTc3MzY3MywhMSk7Ull3PW5ldyBhbSg0NTgwMDYzMywhMSk7UU94PW5ldyBhbSg0NTc5ODA3OCwhMSk7VklqPW5ldyBhbSg0NTczMTA4MywhMSk7CmlsaT1uZXcgYW0oNDU3OTcyNzksITEpO2tUYj1uZXcgYW0oNDU3Mjg1NTMsITEpO1Zrdz1uZXcgYW0oNDU3OTY3NTAsITEpO2Nzcj1uZXcgYW0oNDU3OTQ2ODAsITEpO2FVTT1uZXcgYW0oNDU4MTMwMjcsITEpO2JEPW5ldyBhbSg0NTczNDE5MSwhMSk7bkppPW5ldyBhbSg0NTc5Njc3NywhMSk7V0ZTPW5ldyBhbSg0NTc5Njc3OCwhMSk7bmE9bmV3IGFtKDQ1ODEwNjYxLCExKTtnLkFoPW5ldyBhbSg0NTc0NTYxMCwhMSk7RGRTPW5ldyBhbSg0NTgxNjU3MSwhMSk7YmdpPW5ldyBhbSg0NTc3MzI3MywhMSk7djVpPW5ldyBhbSg0NTc1NjYxOSwhMSk7dkpDPW5ldyBhbSg0NTc1ODI5MCwhMSk7VF9DPW5ldyBhbSg0NTgxMzgzMSwhMSk7dFMyPW5ldyBhbSg0NTczNTUyMywhMSk7a19pPW5ldyBXQyg0NTc3MTg5MCwwKTtoRmo9bmV3IFdDKDQ1ODA3NzczLDApO3hkaD1uZXcgV0MoNDU3MzU0MjgsNEUzKTtnLkxGaT1uZXcgYW0oNDU3ODkwNzcsITEpO2VGVT1uZXcgYW0oNDU3NDgwMDksITEpOwpnSjE9bmV3IGFtKDQ1NzUyNjA0LCExKTtYQU09bmV3IFdDKDQ1NzY5MjE0LDApO3FEUz1uZXcgYW0oNDU3MzU0NjIsITEpO0dfcj1uZXcgYW0oNDU4MTUwNzMsITEpO3RKUz1uZXcgYW0oNDU3NTE5NDMsITEpOyRkMj1uZXcgYW0oNDU3NTE5NDQsITEpO3JUaj1uZXcgYW0oNDU3NTE5NDUsITEpO3NyMj1uZXcgbmooNDU4MDg3NjIsZy4kVSgiMCIpKTtqc1o9bmV3IGFtKDQ1NzY0NTkyLCExKTtORlU9bmV3IFdDKDQ1NzY0NTkzLDApO0dvTT1uZXcgYW0oNDU3NjY1MTEsITEpO3kkaj1uZXcgYW0oNDU4MDYzODgsITEpO3llaT1uZXcgYW0oNDU4MDYzNjMsITEpO3BBdD1uZXcgYW0oNDU4MTU1OTIsITEpO2p2TT1uZXcgYW0oNDU4MTQ0ODAsITEpO0tZeD1uZXcgYW0oNDU4MTA0NjcsITEpO1lEWj1uZXcgYW0oNDU3OTEzMjYsITEpO0hnWj1uZXcgYW0oNDU3ODc3NzEsITEpO3ZDPW5ldyBhbSg0NTc5MTA4NywhMSk7SmUxPW5ldyBhbSg0NTc3Mjg5MSwhMSk7CmZjdD1uZXcgYW0oNDU3OTU4NDQsITEpO2tOaj1uZXcgYW0oNDU3ODM4NzUsITApO0pUeD1uZXcgYW0oNDU3OTU1NzQsITEpO0ljaT1uZXcgYW0oNDU3NzE4OTEsITEpO0hmPW5ldyBhbSg0NTcyODE4MSwhMSk7aldTPW5ldyBhbSg0NTc1NjU0MywhMSk7U0RTPW5ldyBhbSg0NTc1NjYyMCwhMSk7WUpiPW5ldyBhbSg0NTgwODc1NCwhMSk7QVRaPW5ldyBuaig0NTc2MTc2MCxnLiRVKCIyMDAiKSk7bWR3PW5ldyBhbSg0NTc3NjgzMiwhMSk7bGlaPW5ldyBXQyg0NTc2ODQzMCwwKTtLRnI9bmV3IGFtKDQ1Nzc2NTgwLCExKTtPZzI9bmV3IGFtKDQ1NzU1NzYwLCExKTtwYk09bmV3IGFtKDQ1NzYwMDE3LCExKTt3YlM9bmV3IGFtKDQ1NzMyNzc1LCExKTtnLlAzMT1uZXcgYW0oNDU3ODc5NDgsITEpO1pnTT1uZXcgYW0oNDU3NjU4MTgsITEpO2cuVWRDPW5ldyBhbSg0NTczNDc3NiwhMSk7eVQyPW5ldyBhbSg0NTgxNjgxMSwhMSk7RUpNPW5ldyBhbSg0NTc2MDEyMCwhMSk7Cmcua0g9bmV3IGFtKDQ1NzcwNDc2LCExKTt3STE9bmV3IGFtKDQ1ODA4MDUzLCExKTt2YXIgWXhyPW5ldyBXQyg0NTgwMzc1NCwwKSxtRGg9bmV3IFdDKDQ1NzkxMTE3LDApLHZNUz1uZXcgV0MoNDU3MjU1NDIsMCksWlJ4PW5ldyBXQyg0NTc5NDQ0MSwwKSxlVVU9bmV3IFdDKDQ1ODA3NzcxLDApLEhScj1uZXcgV0MoNDU3NzM2MDMsMCksZndqPW5ldyBXQyg0NTc3MzYwNCwwKSx4RFo9bmV3IFdDKDQ1Nzk3OTYzLDApLGJSdz1uZXcgV0MoNDU3MjU1NDMsMCksUGhqPW5ldyBXQyg0NTc5MzcxMCwwKSxoVWk9bmV3IFdDKDQ1NzU3NDI2LDApLG5Ndz1uZXcgV0MoNDU3MjU1MzksMCksSlIxPW5ldyBXQyg0NTgwNTY5NSwwKSxERFo9bmV3IFdDKDQ1NzI1NTQxLDApLFhHVT1uZXcgV0MoNDU3NTc0MjcsMCksQ1JpPW5ldyBhbSg0NTc5MTIwNiwhMSksV2t0PW5ldyBXQyg0NTcyNTU0MCwwKSxhWXg9bmV3IFdDKDQ1NzI1NTM4LDApLEtraT1uZXcgV0MoNDU3OTExMTgsMCksazZ3PW5ldyBXQyg0NTc2NDUyMywwKSxTeGk9bmV3IFdDKDQ1ODA0NzcxLDApLEl3eD1uZXcgV0MoNDU3ODY0NDMsCjApLFVEMj1uZXcgV0MoNDU4MDIxMjMsMCkscXhoPW5ldyBXQyg0NTc2NDIxNywwKSxHNjI9bmV3IFdDKDQ1NzY0NTI0LDApLCREMT1uZXcgV0MoNDU3NjU2MDIsMCksTGtDPW5ldyBXQyg0NTgwNzQzMiwwKSxBUk09bmV3IFdDKDQ1Nzc2MTkwLDApLE9SVT1uZXcgV0MoNDU3OTExMTksMCksVWJTPW5ldyBXQyg0NTgxNTAxMSwwKSxOZFM9bmV3IFdDKDQ1Nzc4NjcxLDApLHBHMT1uZXcgV0MoNDU3NDEzMzksMCksdDVpPW5ldyBXQyg0NTc2Nzc2MywwKSxnTXg9bmV3IFdDKDQ1ODA3NzcyLDApLHN3aT1uZXcgV0MoNDU3NzAwMDIsMCksclJpPW5ldyBXQyg0NTc3MDAwMSwwKTt2YXIgaWd0PWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIHVwMj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1KKCl7cmV0dXJuIHRoaXMuTi5RUShHX3IpfX07dmFyIHI0Mj0vKD86XFt8JTVCKShbYS16QS1aMC05X10rKSg/OlxdfCU1RCkvZzt2YXIgb0pVPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fTt2YXIgaEw9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4sNTAwKX19O3ZhciBkZFM9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfWdldE5hbWUoKXtyZXR1cm4gWTkodGhpcywxKX1nZXRPcHRpb25zKCl7cmV0dXJuIGdlKHRoaXMsaEwsMyl9Y2xlYXJPcHRpb25zKCl7cmV0dXJuIG96KHRoaXMsMyl9fTt2YXIgekZpPWZ1bmN0aW9uKG4pe3JldHVybiBXPT57Vz1KU09OLnBhcnNlKFcpO2lmKCFBcnJheS5pc0FycmF5KFcpKXRocm93IEVycm9yKCJFeHBlY3RlZCBqc3BiIGRhdGEgdG8gYmUgYW4gYXJyYXksIGdvdCAiK3B0KFcpKyI6ICIrVyk7V1tiNF18PTM0O3JldHVybiBuZXcgbihXKX19KGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXROYW1lKCl7cmV0dXJuIFk5KHRoaXMsMSl9Z2V0T3B0aW9ucygpe3JldHVybiBnZSh0aGlzLG9KVSwzKX1jbGVhck9wdGlvbnMoKXtyZXR1cm4gb3oodGhpcywzKX1YTygpe3JldHVybiBIVyh0aGlzLDYpfU1MKG4pe0tuKHRoaXMsNixuKX19KTt2YXIgbGNyPVN5bWJvbCgpO3ZhciBURnI7VEZyPW5ldyBtNFooOTk4LGhMLGNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19KTt2YXIgeEg9U3ltYm9sKCk7dmFyICR0PWNsYXNzIGV4dGVuZHMgZy5vV3tjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuWD10aGlzLk49MDt0aGlzLkEkPW4/P3tMUzooVyxEKT0+c2V0VGltZW91dChXLEQpLApzTzpXPT57Y2xlYXJUaW1lb3V0KFcpfX07CnRoaXMuaXNPbmxpbmU9d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lPz8hMDt0aGlzLko9YXN5bmMoKT0+e2F3YWl0IHJYKHRoaXMpfTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLlh8fHRoaXMuaFQoKX1kaXNwb3NlKCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMuSik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy5KKTt0aGlzLkEkLnNPKHRoaXMuWCk7ZGVsZXRlICR0Lmluc3RhbmNlfVdHKCl7cmV0dXJuIHRoaXMuaXNPbmxpbmV9aFQoKXt0aGlzLlg9dGhpcy5BJC5MUyhhc3luYygpPT57dGhpcy5pc09ubGluZT93aW5kb3cubmF2aWdhdG9yPy5vbkxpbmV8fGF3YWl0IHJYKHRoaXMpOmF3YWl0IHJYKHRoaXMpO3RoaXMuaFQoKX0sM0U0KX19O3ZhciBqcjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEMzcj1bMCxJcWosLTFdO3ZhciBMaj1bMCxIaXcsLTFdO3ZhciBCRnQ9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEZGaT1nLkE5KFswLGcuQ3gsLTEsZy5FNixnLm9tLEMzciwtMSx5cCxpVSxnLkN4LExqLGcub20sZy5DeCwtMSxbMCxDM3IsLTFdLGlVLFkzQyxMaix5cCxbMCwxLGlVLC00LFU2LFswLHlwLC0xLGlVXSxnLm9tLHlwLGcuZHEsWzAsZy5DeCxpVV0saVUsLTEsZy5DeCwtMix5cCwtMSxnLkN4LHlwLGcuQ3gsaVUsWzAsMyxpVSwtMSw0LFRnXSxVNixqbyxbMCxnLkN4LC0xLGcub21dLHVVXSxnLm9tLEpYUyxnLmRxLFswLExqLGcuZHEsWzAsZy5vbSxnLkN4XSx5cCxnLkN4LC0xXSwxLGcuZHEsWzAsWTNDLC0xLGpvXSxnLkN4LExqXSk7dmFyIFV2Mj1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Sigpe3JldHVybiBIVyh0aGlzLDUpfX0sWzAsZy5DeCxbMCxnLkU2LGZxdywtMV0saVUsZy5DeCwtMixpVSxnLkU2XSk7dmFyIGxYcj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLk49LTF9c2V0KG4sVz0hMCl7MDw9biYmbjw1MiYmTnVtYmVyLmlzSW50ZWdlcihuKSYmdGhpcy5kYXRhW25dIT09VyYmKHRoaXMuZGF0YVtuXT1XLHRoaXMuTj0tMSl9Z2V0KG4pe3JldHVybiEhdGhpcy5kYXRhW25dfX07Zy5peChnLnBfLGcuRk0pO2cuRT1nLnBfLnByb3RvdHlwZTtnLkUuc3RhcnQ9ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKTt0aGlzLlg9ITE7dmFyIG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT8odGhpcy5OPUFIKHRoaXMuSiwiTW96QmVmb3JlUGFpbnQiLHRoaXMuVyksdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZShudWxsKSx0aGlzLlg9ITApOnRoaXMuTj1uJiZXP24uY2FsbCh0aGlzLkosdGhpcy5XKTp0aGlzLkouc2V0VGltZW91dChqTWgodGhpcy5XKSwyMCl9OwpnLkUuc3RvcD1mdW5jdGlvbigpe2lmKHRoaXMuaXNBY3RpdmUoKSl7bGV0IG49WXQodGhpcyksVz1ISyh0aGlzKTtuJiYhVyYmdGhpcy5KLm1velJlcXVlc3RBbmltYXRpb25GcmFtZT9FMih0aGlzLk4pOm4mJlc/Vy5jYWxsKHRoaXMuSix0aGlzLk4pOnRoaXMuSi5jbGVhclRpbWVvdXQodGhpcy5OKX10aGlzLk49bnVsbH07CmcuRS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk4hPW51bGx9OwpnLkUuT3Q9ZnVuY3Rpb24oKXt0aGlzLlgmJnRoaXMuTiYmRTIodGhpcy5OKTt0aGlzLk49bnVsbDt0aGlzLlYuY2FsbCh0aGlzLmosZy5VdygpKX07CmcuRS5tQT1mdW5jdGlvbigpe3RoaXMuc3RvcCgpO2cucF8uVEIubUEuY2FsbCh0aGlzKX07Zy5peChnLmZfLGcuRk0pO2cuRT1nLmZfLnByb3RvdHlwZTtnLkUudDg9MDtnLkUubUE9ZnVuY3Rpb24oKXtnLmZfLlRCLm1BLmNhbGwodGhpcyk7dGhpcy5zdG9wKCk7ZGVsZXRlIHRoaXMuTjtkZWxldGUgdGhpcy5KfTsKZy5FLnN0YXJ0PWZ1bmN0aW9uKG4pe3RoaXMuc3RvcCgpO3RoaXMudDg9Zy5adCh0aGlzLlcsbiE9PXZvaWQgMD9uOnRoaXMuZ3QpfTsKZy5FLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzQWN0aXZlKCkmJmcucWkuY2xlYXJUaW1lb3V0KHRoaXMudDgpO3RoaXMudDg9MH07CmcuRS5qZT1mdW5jdGlvbigpe3RoaXMuaXNBY3RpdmUoKSYmKHRoaXMuc3RvcCgpLHRoaXMuaSQoKSl9OwpnLkUuaXNBY3RpdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50OCE9MH07CmcuRS5pJD1mdW5jdGlvbigpe3RoaXMudDg9MDt0aGlzLk4mJnRoaXMuTi5jYWxsKHRoaXMuSil9O3ZhciB3QWk9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLlg9VyE9bnVsbD9uLmJpbmQoVyk6bjt0aGlzLmd0PTM1MDt0aGlzLlc9bnVsbDt0aGlzLk49ITE7dGhpcy5KPTA7dGhpcy5aNj1udWxsfWoobil7dGhpcy5XPWFyZ3VtZW50czt0aGlzLlo2fHx0aGlzLko/dGhpcy5OPSEwOklGKHRoaXMpfXN0b3AoKXt0aGlzLlo2JiYoZy5xaS5jbGVhclRpbWVvdXQodGhpcy5aNiksdGhpcy5aNj1udWxsLHRoaXMuTj0hMSx0aGlzLlc9bnVsbCl9cGF1c2UoKXt0aGlzLkorK31yZXN1bWUoKXt0aGlzLkotLTt0aGlzLkp8fCF0aGlzLk58fHRoaXMuWjZ8fCh0aGlzLk49ITEsSUYodGhpcykpfW1BKCl7c3VwZXIubUEoKTt0aGlzLnN0b3AoKX19O3ZhciB1eWksR2cscWw7dXlpPVJlZ0V4cCgiXltcdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdIik7R2c9UmVnRXhwKCJeW15cdTA1OTEtXHUwNmVmXHUwNmZhLVx1MDhmZlx1MjAwZlx1ZDgwMi1cdWQ4MDNcdWQ4M2EtXHVkODNiXHVmYjFkLVx1ZmRmZlx1ZmU3MC1cdWZlZmNdKltBLVphLXpcdTAwYzAtXHUwMGQ2XHUwMGQ4LVx1MDBmNlx1MDBmOC1cdTAyYjhcdTAzMDAtXHUwNTkwXHUwOTAwLVx1MWZmZlx1MjAwZVx1MmMwMC1cdWQ4MDFcdWQ4MDQtXHVkODM5XHVkODNjLVx1ZGJmZlx1ZjkwMC1cdWZiMWNcdWZlMDAtXHVmZTZmXHVmZWZkLVx1ZmZmZl0iKTtxbD1SZWdFeHAoIl5bXkEtWmEtelx1MDBjMC1cdTAwZDZcdTAwZDgtXHUwMGY2XHUwMGY4LVx1MDJiOFx1MDMwMC1cdTA1OTBcdTA5MDAtXHUxZmZmXHUyMDBlXHUyYzAwLVx1ZDgwMVx1ZDgwNC1cdWQ4MzlcdWQ4M2MtXHVkYmZmXHVmOTAwLVx1ZmIxY1x1ZmUwMC1cdWZlNmZcdWZlZmQtXHVmZmZmXSpbXHUwNTkxLVx1MDZlZlx1MDZmYS1cdTA4ZmZcdTIwMGZcdWQ4MDItXHVkODAzXHVkODNhLVx1ZDgzYlx1ZmIxZC1cdWZkZmZcdWZlNzAtXHVmZWZjXSIpOwpnLk1KaT1SZWdFeHAoIl4oYXJ8Y2tifGR2fGhlfGl3fGZhfG5xb3xwc3xzZHx1Z3x1cnx5aXwuKlstX10oQWRsbXxBcmFifEhlYnJ8Tmtvb3xSb2hnfFRoYWEpKSg/IS4qWy1fXShMYXRufEN5cmwpKCR8LXxfKSkoJHwtfF8pIiwiaSIpO0ludGwuTnVtYmVyRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihbImVuIi5yZXBsYWNlKCJfIiwiLSIpXSk7dUgucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gUkZNfTsKdmFyIFJGTT17ZG9uZTohMCx2YWx1ZTp2b2lkIDB9O3VILnByb3RvdHlwZS5ncT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgb0Y9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59Z3EoKXtyZXR1cm4gbmV3IGRYKHRoaXMuTigpKX1bU3ltYm9sLml0ZXJhdG9yXSgpe3JldHVybiBuZXcgeksodGhpcy5OKCkpfUooKXtyZXR1cm4gbmV3IHpLKHRoaXMuTigpKX19LGRYPWNsYXNzIGV4dGVuZHMgdUh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1uZXh0KCl7cmV0dXJuIHRoaXMuTi5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHpLKHRoaXMuTil9Sigpe3JldHVybiBuZXcgeksodGhpcy5OKX19LHpLPWNsYXNzIGV4dGVuZHMgb0Z7Y29uc3RydWN0b3Iobil7c3VwZXIoKCk9Pm4pOwp0aGlzLlc9bn1uZXh0KCl7cmV0dXJuIHRoaXMuVy5uZXh0KCl9fTtsSC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGxIKHRoaXMuTix0aGlzLkssdGhpcy5XLHRoaXMuaix0aGlzLlgsdGhpcy5WLHRoaXMuSix0aGlzLlkpfTsKbEgucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5OPT1uLk4mJnRoaXMuSz09bi5LJiZ0aGlzLlc9PW4uVyYmdGhpcy5qPT1uLmomJnRoaXMuWD09bi5YJiZ0aGlzLlY9PW4uViYmdGhpcy5KPT1uLkomJnRoaXMuWT09bi5ZfTsoZnVuY3Rpb24oKXtpZihwUWope3ZhciBuPS9XaW5kb3dzIE5UIChbMC05Ll0rKS87cmV0dXJuKG49bi5leGVjKGcuWFEoKSkpP25bMV06IjAifXJldHVybiBucj8obj0vMVswfDFdW18uXVswLTlfLl0rLywobj1uLmV4ZWMoZy5YUSgpKSk/blswXS5yZXBsYWNlKC9fL2csIi4iKToiMTAiKTpnLlFIPyhuPS9BbmRyb2lkXHMrKFteXCk7XSspKFwpfDspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXToiIik6V1VafHxENGl8fGJpVT8obj0vKD86aVBob25lfENQVSlccytPU1xzKyhcUyspLywobj1uLmV4ZWMoZy5YUSgpKSk/blsxXS5yZXBsYWNlKC9fL2csIi4iKToiIik6IiJ9KSgpO3ZhciBmWDI9ZnVuY3Rpb24oKXtpZihnLmFvKXJldHVybiBqQSgvRmlyZWZveFwvKFswLTkuXSspLyk7aWYoZy5raHx8Zy5SZ3x8cmMpcmV0dXJuIFAyO2lmKGcub2Qpe2lmKGcuQTQoKXx8Zy5teCgpKXt2YXIgbj1qQSgvQ3JpT1NcLyhbMC05Ll0rKS8pO2lmKG4pcmV0dXJuIG59cmV0dXJuIGpBKC9DaHJvbWVcLyhbMC05Ll0rKS8pfWlmKGcuR24mJiFnLkE0KCkpcmV0dXJuIGpBKC9WZXJzaW9uXC8oWzAtOS5dKykvKTtpZih3OHx8TVgpe2lmKG49L1ZlcnNpb25cLyhcUyspLipNb2JpbGVcLyhcUyspLy5leGVjKGcuWFEoKSkpcmV0dXJuIG5bMV0rIi4iK25bMl19ZWxzZSBpZihnLkltKXJldHVybihuPWpBKC9BbmRyb2lkXHMrKFswLTkuXSspLykpP246akEoL1ZlcnNpb25cLyhbMC05Ll0rKS8pO3JldHVybiIifSgpO2cuaXgoQkssZy5GTSk7Zy5FPUJLLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXt2YXIgYj10aGlzLkpbbl07Ynx8KGI9dGhpcy5KW25dPVtdKTt2YXIgdj10aGlzLlY7dGhpcy5OW3ZdPW47dGhpcy5OW3YrMV09Vzt0aGlzLk5bdisyXT1EO3RoaXMuVj12KzM7Yi5wdXNoKHYpO3JldHVybiB2fTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtpZihuPXRoaXMuSltuXSl7bGV0IGI9dGhpcy5OO2lmKG49bi5maW5kKGZ1bmN0aW9uKHYpe3JldHVybiBiW3YrMV09PVcmJmJbdisyXT09RH0pKXJldHVybiB0aGlzLmpLKG4pfXJldHVybiExfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3ZhciBXPXRoaXMuTltuXTtpZihXKXtsZXQgRD10aGlzLkpbV107dGhpcy5YIT0wPyh0aGlzLlcucHVzaChuKSx0aGlzLk5bbisxXT0oKT0+e30pOihEJiZnLkZJKEQsbiksZGVsZXRlIHRoaXMuTltuXSxkZWxldGUgdGhpcy5OW24rMV0sZGVsZXRlIHRoaXMuTltuKzJdKX1yZXR1cm4hIVd9OwpnLkUuV0o9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLkpbbl07aWYoRCl7bGV0IHY9QXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTt2YXIgYj1hcmd1bWVudHMubGVuZ3RoO2xldCBrO2ZvcihrPTE7azxiO2srKyl2W2stMV09YXJndW1lbnRzW2tdO2lmKHRoaXMuSylmb3Ioaz0wO2s8RC5sZW5ndGg7aysrKWI9RFtrXSxKNHIodGhpcy5OW2IrMV0sdGhpcy5OW2IrMl0sdik7ZWxzZXt0aGlzLlgrKzt0cnl7Zm9yKGs9MCxiPUQubGVuZ3RoO2s8YiYmIXRoaXMucU4oKTtrKyspe2xldCBoPURba107dGhpcy5OW2grMV0uYXBwbHkodGhpcy5OW2grMl0sdil9fWZpbmFsbHl7aWYodGhpcy5YLS0sdGhpcy5XLmxlbmd0aD4wJiZ0aGlzLlg9PTApZm9yKDtEPXRoaXMuVy5wb3AoKTspdGhpcy5qSyhEKX19cmV0dXJuIGshPTB9cmV0dXJuITF9OwpnLkUuY2xlYXI9ZnVuY3Rpb24obil7aWYobil7bGV0IFc9dGhpcy5KW25dO1cmJihXLmZvckVhY2godGhpcy5qSyx0aGlzKSxkZWxldGUgdGhpcy5KW25dKX1lbHNlIHRoaXMuTi5sZW5ndGg9MCx0aGlzLko9e319OwpnLkUubUE9ZnVuY3Rpb24oKXtCSy5UQi5tQS5jYWxsKHRoaXMpO3RoaXMuY2xlYXIoKTt0aGlzLlcubGVuZ3RoPTB9O2cuRmQucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe1c9PT12b2lkIDA/dGhpcy5OLnJlbW92ZShuKTp0aGlzLk4uc2V0KG4sKG5ldyBsZSkuYlkoVykpfTsKZy5GZC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3RyeXt2YXIgVz10aGlzLk4uZ2V0KG4pfWNhdGNoKEQpe3JldHVybn1pZihXIT09bnVsbCl0cnl7cmV0dXJuIEpTT04ucGFyc2UoVyl9Y2F0Y2goRCl7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO319OwpnLkZkLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5OLnJlbW92ZShuKX07Zy5peCh3WCxnLkZkKTt3WC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyl7d1guVEIuc2V0LmNhbGwodGhpcyxuLFJGKFcpKX07CndYLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXtuPXdYLlRCLmdldC5jYWxsKHRoaXMsbik7aWYobj09PXZvaWQgMHx8biBpbnN0YW5jZW9mIE9iamVjdClyZXR1cm4gbjt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fTsKd1gucHJvdG90eXBlLmdldD1mdW5jdGlvbihuKXtpZihuPXRoaXMuTUQobikpe2lmKG49bi5kYXRhLG49PT12b2lkIDApdGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO31lbHNlIG49dm9pZCAwO3JldHVybiBufTtnLml4KFFLLHdYKTtRSy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKG4sVyxEKXtpZihXPVJGKFcpKXtpZihEKXtpZihEPGcuVXcoKSl7UUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7cmV0dXJufVcuZXhwaXJhdGlvbj1EfVcuY3JlYXRpb249Zy5VdygpfVFLLlRCLnNldC5jYWxsKHRoaXMsbixXKX07ClFLLnByb3RvdHlwZS5NRD1mdW5jdGlvbihuKXt2YXIgVz1RSy5UQi5NRC5jYWxsKHRoaXMsbik7aWYoVyl7bGV0IEQ9Vy5jcmVhdGlvbixiPVcuZXhwaXJhdGlvbjtpZihiJiZiPGcuVXcoKXx8RCYmRD5nLlV3KCkpUUsucHJvdG90eXBlLnJlbW92ZS5jYWxsKHRoaXMsbik7ZWxzZSByZXR1cm4gV319O2cuaXgoVkssUUspO2cuaXgoY0ssSVgxKTtjSy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBZQTEodGhpcy5ncSghMCkpLkooKX07CmNLLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBuPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBXIG9mIG4pdGhpcy5yZW1vdmUoVyl9O2cuaXgoYUYsY0spO2cuRT1hRi5wcm90b3R5cGU7Zy5FLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5KPT09bnVsbCl7dmFyIG49dGhpcy5OO2lmKG4pdHJ5e24uc2V0SXRlbSgiX19zYWsiLCIxIik7bi5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBXPSEwfWNhdGNoKEQpe1c9RCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKEQubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxELmNvZGU9PT0yMnx8RC5jb2RlPT09MTAxNHx8RC5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJm4mJm4ubGVuZ3RoIT09MH1lbHNlIFc9ITE7dGhpcy5KPVd9cmV0dXJuIHRoaXMuSn07CmcuRS5zZXQ9ZnVuY3Rpb24obixXKXtuZSh0aGlzKTt0cnl7dGhpcy5OLnNldEl0ZW0obixXKX1jYXRjaChEKXtpZih0aGlzLk4ubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319OwpnLkUuZ2V0PWZ1bmN0aW9uKG4pe25lKHRoaXMpO249dGhpcy5OLmdldEl0ZW0obik7aWYodHlwZW9mIG4hPT0ic3RyaW5nIiYmbiE9PW51bGwpdGhyb3ciU3RvcmFnZSBtZWNoYW5pc206IEludmFsaWQgdmFsdWUgd2FzIGVuY291bnRlcmVkIjtyZXR1cm4gbn07CmcuRS5yZW1vdmU9ZnVuY3Rpb24obil7bmUodGhpcyk7dGhpcy5OLnJlbW92ZUl0ZW0obil9OwpnLkUuZ3E9ZnVuY3Rpb24obil7bmUodGhpcyk7dmFyIFc9MCxEPXRoaXMuTixiPW5ldyB1SDtiLm5leHQ9ZnVuY3Rpb24oKXtpZihXPj1ELmxlbmd0aClyZXR1cm4gUkZNO3ZhciB2PUQua2V5KFcrKyk7aWYobilyZXR1cm57dmFsdWU6dixkb25lOiExfTt2PUQuZ2V0SXRlbSh2KTtpZih0eXBlb2YgdiE9PSJzdHJpbmciKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7cmV0dXJue3ZhbHVlOnYsZG9uZTohMX19OwpyZXR1cm4gYn07CmcuRS5jbGVhcj1mdW5jdGlvbigpe25lKHRoaXMpO3RoaXMuTi5jbGVhcigpfTsKZy5FLmtleT1mdW5jdGlvbihuKXtuZSh0aGlzKTtyZXR1cm4gdGhpcy5OLmtleShuKX07Zy5peChXUyxhRik7Zy5peChEUSxhRik7Zy5peChiQyxjSyk7YkMucHJvdG90eXBlLnNldD1mdW5jdGlvbihuLFcpe3RoaXMuSi5zZXQodGhpcy5OK24sVyl9OwpiQy5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLkouZ2V0KHRoaXMuTituKX07CmJDLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24obil7dGhpcy5KLnJlbW92ZSh0aGlzLk4rbil9OwpiQy5wcm90b3R5cGUuZ3E9ZnVuY3Rpb24obil7dmFyIFc9dGhpcy5KW1N5bWJvbC5pdGVyYXRvcl0oKSxEPXRoaXMsYj1uZXcgdUg7Yi5uZXh0PWZ1bmN0aW9uKCl7dmFyIHY9Vy5uZXh0KCk7aWYodi5kb25lKXJldHVybiB2O2Zvcih2PXYudmFsdWU7di5zbGljZSgwLEQuTi5sZW5ndGgpIT1ELk47KXt2PVcubmV4dCgpO2lmKHYuZG9uZSlyZXR1cm4gdjt2PXYudmFsdWV9cmV0dXJue3ZhbHVlOm4/di5zbGljZShELk4ubGVuZ3RoKTpELkouZ2V0KHYpLGRvbmU6ITF9fTsKcmV0dXJuIGJ9O2tqLnByb3RvdHlwZS5nZXRWYWx1ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkp9Owprai5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGtqKHRoaXMuTix0aGlzLkopfTt2YXIgZWM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPVtdO2lmKG4pYTp7bGV0IEQ7aWYobiBpbnN0YW5jZW9mIGVjKXtpZihEPW4udUIoKSxuPW4uejcoKSx0aGlzLk4ubGVuZ3RoPD0wKXt2YXIgVz10aGlzLk47Zm9yKGxldCBiPTA7YjxELmxlbmd0aDtiKyspVy5wdXNoKG5ldyBraihEW2JdLG5bYl0pKTticmVhayBhfX1lbHNlIEQ9Zy5MVChuKSxuPWhLKG4pO2ZvcihXPTA7VzxELmxlbmd0aDtXKyspdGhpcy5xcChEW1ddLG5bV10pfX1xcChuLFcpe3ZhciBEPXRoaXMuTjtELnB1c2gobmV3IGtqKG4sVykpO249RC5sZW5ndGgtMTtXPXRoaXMuTjtmb3IoRD1XW25dO24+MDspe2xldCBiPW4tMT4+MTtpZihXW2JdLk4+RC5OKVdbbl09V1tiXSxuPWI7ZWxzZSBicmVha31XW25dPUR9cmVtb3ZlKCl7dmFyIG49dGhpcy5OLFc9bi5sZW5ndGgsRD1uWzBdO2lmKCEoVzw9MCkpe2lmKFc9PTEpbi5sZW5ndGg9MDtlbHNle25bMF09bi5wb3AoKTtuPTA7Vz10aGlzLk47bGV0IHY9Vy5sZW5ndGgsCms9V1tuXTtmb3IoO248dj4+MTspe3ZhciBiPW4qMisxO2xldCBoPW4qMisyO2I9aDx2JiZXW2hdLk48V1tiXS5OP2g6YjtpZihXW2JdLk4+ay5OKWJyZWFrO1dbbl09V1tiXTtuPWJ9V1tuXT1rfXJldHVybiBELmdldFZhbHVlKCl9fXo3KCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLmdldFZhbHVlKCkpO3JldHVybiBXfXVCKCl7dmFyIG49dGhpcy5OLFc9W10sRD1uLmxlbmd0aDtmb3IobGV0IGI9MDtiPEQ7YisrKVcucHVzaChuW2JdLk4pO3JldHVybiBXfWNsb25lKCl7cmV0dXJuIG5ldyBlYyh0aGlzKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuTi5sZW5ndGg9PT0wfWNsZWFyKCl7dGhpcy5OLmxlbmd0aD0wfX07dmFyIFFyaD1jbGFzcyBleHRlbmRzIGVje307dmFyIGhrPXt9LFZKaT10eXBlb2YgVWludDhBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgVWludDE2QXJyYXkhPT0idW5kZWZpbmVkIiYmdHlwZW9mIEludDMyQXJyYXkhPT0idW5kZWZpbmVkIjtoay5hc3NpZ249ZnVuY3Rpb24obil7Zm9yKHZhciBXPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtXLmxlbmd0aDspe3ZhciBEPVcuc2hpZnQoKTtpZihEKXtpZih0eXBlb2YgRCE9PSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoRCsibXVzdCBiZSBub24tb2JqZWN0Iik7Zm9yKHZhciBiIGluIEQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsYikmJihuW2JdPURbYl0pfX1yZXR1cm4gbn07CmhrLlVmPWZ1bmN0aW9uKG4sVyl7aWYobi5sZW5ndGg9PT1XKXJldHVybiBuO2lmKG4uc3ViYXJyYXkpcmV0dXJuIG4uc3ViYXJyYXkoMCxXKTtuLmxlbmd0aD1XO3JldHVybiBufTsKdmFyIGNUMj17UDc6ZnVuY3Rpb24obixXLEQsYix2KXtpZihXLnN1YmFycmF5JiZuLnN1YmFycmF5KW4uc2V0KFcuc3ViYXJyYXkoRCxEK2IpLHYpO2Vsc2UgZm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7dmFyIFcsRDt2YXIgYj1EPTA7Zm9yKFc9bi5sZW5ndGg7YjxXO2IrKylEKz1uW2JdLmxlbmd0aDt2YXIgdj1uZXcgVWludDhBcnJheShEKTtiPUQ9MDtmb3IoVz1uLmxlbmd0aDtiPFc7YisrKXt2YXIgaz1uW2JdO3Yuc2V0KGssRCk7RCs9ay5sZW5ndGh9cmV0dXJuIHZ9fSxhY0M9e1A3OmZ1bmN0aW9uKG4sVyxELGIsdil7Zm9yKHZhciBrPTA7azxiO2srKyluW3Yra109V1tEK2tdfSwKUDY6ZnVuY3Rpb24obil7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLG4pfX07CmhrLlhHPWZ1bmN0aW9uKCl7VkppPyhoay5PbT1VaW50OEFycmF5LGhrLm1LPVVpbnQxNkFycmF5LGhrLlN2PUludDMyQXJyYXksaGsuYXNzaWduKGhrLGNUMikpOihoay5PbT1BcnJheSxoay5tSz1BcnJheSxoay5Tdj1BcnJheSxoay5hc3NpZ24oaGssYWNDKSl9Owpoay5YRygpO3ZhciBueGk9ITA7dHJ5e25ldyBVaW50OEFycmF5KDEpfWNhdGNoKG4pe254aT0hMX07dmFyIFZ0PXt9O1Z0PWZ1bmN0aW9uKG4sVyxELGIpe3ZhciB2PW4mNjU1MzV8MDtuPW4+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgaztEIT09MDspe2s9RD4yRTM/MkUzOkQ7RC09aztkbyB2PXYrV1tiKytdfDAsbj1uK3Z8MDt3aGlsZSgtLWspO3YlPTY1NTIxO24lPTY1NTIxfXJldHVybiB2fG48PDE2fDB9O2Zvcih2YXIgY1M9e30sZ24sV3RyPVtdLFhzPTA7WHM8MjU2O1hzKyspe2duPVhzO2Zvcih2YXIgRGtaPTA7RGtaPDg7RGtaKyspZ249Z24mMT8zOTg4MjkyMzg0XmduPj4+MTpnbj4+PjE7V3RyW1hzXT1nbn1jUz1mdW5jdGlvbihuLFcsRCxiKXtEPWIrRDtmb3Iobl49LTE7YjxEO2IrKyluPW4+Pj44Xld0clsobl5XW2JdKSYyNTVdO3JldHVybiBuXi0xfTt2YXIgekI9e307ekI9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgbSQ9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sUFM9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLFowdz1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwyLDMsN10sQ2U9WzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdLEJTPUFycmF5KDU3Nik7TGUoQlMpO3ZhciBGOT1BcnJheSg2MCk7TGUoRjkpO3ZhciBPJD1BcnJheSg1MTIpO0xlKE8kKTt2YXIgQWs9QXJyYXkoMjU2KTtMZShBayk7dmFyIEtlPUFycmF5KDI5KTtMZShLZSk7dmFyIFpRPUFycmF5KDMwKTtMZShaUSk7dmFyIHhmLEx3LGVILGhyPSExO3ZhciBidztidz1bbmV3IERFKDAsMCwwLDAsZnVuY3Rpb24obixXKXt2YXIgRD02NTUzNTtmb3IoRD5uLnl2LTUmJihEPW4ueXYtNSk7Oyl7aWYobi5HVzw9MSl7YVMobik7aWYobi5HVz09PTAmJlc9PT0wKXJldHVybiAxO2lmKG4uR1c9PT0wKWJyZWFrfW4ucXMrPW4uR1c7bi5HVz0wO3ZhciBiPW4uT0srRDtpZihuLnFzPT09MHx8bi5xcz49YilpZihuLkdXPW4ucXMtYixuLnFzPWIsdzcobiwhMSksbi5UUi51Uj09PTApcmV0dXJuIDE7aWYobi5xcy1uLk9LPj1uLnhyLTI2MiYmKHc3KG4sITEpLG4uVFIudVI9PT0wKSlyZXR1cm4gMX1uLnFwPTA7aWYoVz09PTQpcmV0dXJuIHc3KG4sITApLG4uVFIudVI9PT0wPzM6NDtuLnFzPm4uT0smJnc3KG4sITEpO3JldHVybiAxfSksCm5ldyBERSg0LDQsOCw0LG53KSxuZXcgREUoNCw1LDE2LDgsbncpLG5ldyBERSg0LDYsMzIsMzIsbncpLG5ldyBERSg0LDQsMTYsMTYsV1YpLG5ldyBERSg4LDE2LDMyLDMyLFdWKSxuZXcgREUoOCwxNiwxMjgsMTI4LFdWKSxuZXcgREUoOCwzMiwxMjgsMjU2LFdWKSxuZXcgREUoMzIsMTI4LDI1OCwxMDI0LFdWKSxuZXcgREUoMzIsMjU4LDI1OCw0MDk2LFdWKV07dmFyIGtmPXt9O2tmPWZ1bmN0aW9uKCl7dGhpcy5pbnB1dD1udWxsO3RoaXMuRW09dGhpcy5CQT10aGlzLlVaPTA7dGhpcy5vdXRwdXQ9bnVsbDt0aGlzLnRCPXRoaXMudVI9dGhpcy51Zz0wO3RoaXMubXNnPSIiO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnFTPTI7dGhpcy5nST0wfTt2YXIgZzI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdlYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24obixXKXt2YXIgRD10aGlzLlRSLGI9dGhpcy5vcHRpb25zLmNodW5rU2l6ZTtpZih0aGlzLmVuZGVkKXJldHVybiExO3ZhciB2PVc9PT1+flc/VzpXPT09ITA/NDowO3R5cGVvZiBuPT09InN0cmluZyI/RC5pbnB1dD14aihuKTpnMi5jYWxsKG4pPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIj9ELmlucHV0PW5ldyBVaW50OEFycmF5KG4pOkQuaW5wdXQ9bjtELlVaPTA7RC5CQT1ELmlucHV0Lmxlbmd0aDtkb3tELnVSPT09MCYmKEQub3V0cHV0PW5ldyBoay5PbShiKSxELnVnPTAsRC51Uj1iKTtuPVBwMShELHYpO2lmKG4hPT0xJiZuIT09MClyZXR1cm4gdGhpcy5IdChuKSx0aGlzLmVuZGVkPSEwLCExO2lmKEQudVI9PT0wfHxELkJBPT09MCYmKHY9PT00fHx2PT09MikpaWYodGhpcy5vcHRpb25zLnRvPT09InN0cmluZyIpe3ZhciBrPWhrLlVmKEQub3V0cHV0LEQudWcpO1c9aztrPWsubGVuZ3RoO2lmKGs8NjU1MzcmJihXLnN1YmFycmF5JiYKbnhpfHwhVy5zdWJhcnJheSkpVz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsaGsuVWYoVyxrKSk7ZWxzZXtmb3IodmFyIGg9IiIseD0wO3g8azt4KyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShXW3hdKTtXPWh9dGhpcy5jaHVua3MucHVzaChXKX1lbHNlIFc9aGsuVWYoRC5vdXRwdXQsRC51ZyksdGhpcy5jaHVua3MucHVzaChXKX13aGlsZSgoRC5CQT4wfHxELnVSPT09MCkmJm4hPT0xKTtpZih2PT09NClyZXR1cm4oRD10aGlzLlRSKSYmRC5zdGF0ZT8oYj1ELnN0YXRlLnN0YXR1cyxiIT09NDImJmIhPT02OSYmYiE9PTczJiZiIT09OTEmJmIhPT0xMDMmJmIhPT0xMTMmJmIhPT02NjY/bj1sQyhELC0yKTooRC5zdGF0ZT1udWxsLG49Yj09PTExMz9sQyhELC0zKTowKSk6bj0tMix0aGlzLkh0KG4pLHRoaXMuZW5kZWQ9ITAsbj09PTA7dj09PTImJih0aGlzLkh0KDApLEQudVI9MCk7cmV0dXJuITB9Owp2Vi5wcm90b3R5cGUuSHQ9ZnVuY3Rpb24obil7bj09PTAmJih0aGlzLnJlc3VsdD10aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj90aGlzLmNodW5rcy5qb2luKCIiKTpoay5QNih0aGlzLmNodW5rcykpO3RoaXMuY2h1bmtzPVtdO3RoaXMuZXJyPW47dGhpcy5tc2c9dGhpcy5UUi5tc2d9O3ZhciB0cj0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDcpLnNwbGl0KCIiKS5qb2luKCIuIiksR2Q9YEBAcmVkdXgvSU5JVCR7dHIoKX1gLEVLQz1gQEByZWR1eC9SRVBMQUNFJHt0cigpfWA7dmFyIHIyPXR5cGVvZiBTeW1ib2w9PT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSI7dmFyIFFTeD1JXyhjbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fSxbMCxnLkN4LFRnLGcub20sbFUsZy5vbSwtMSxqbyxsVSxqbywtMSxnLkN4LGpvLFRnLGcuZHEsWzAsbFUsLTMsam9dLGcub20sLTEsam9dKTt2YXIgS0d0PS0zMDE3MTcyMTc7dmFyIGJzdD1mdW5jdGlvbihuLFcpe3JldHVybigoKT0+e3ZhciBEPW5ldyBBWHgobixXKTtyZXR1cm4oKT0+RH0pKCl9KCJ5b3V0dWJlLmFwaS5pbm5lcnR1YmUuQXR0ZXN0YXRpb25FcnJvciIsJ1tudWxsLFtbIkFUVEVTVEFUSU9OX0VSUk9SX1VOS05PV04iLDBdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fTk9UX0lOSVRJQUxJWkVEIiwxXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PX1JFU1BPTlNFIiwyXSxbIkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiLDNdLFsiQVRURVNUQVRJT05fRVJST1JfVk1fSU5URVJOQUxfRVJST1IiLDRdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVkFMSUQiLDVdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX05FVFdPUktfRVJST1IiLDZdLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX09GRkxJTkUiLDddLFsiQVRURVNUQVRJT05fRVJST1JfUFJFRkVUQ0hfQ0hBTExFTkdFX0lOVEVSTkFMX0VSUk9SIiw4XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0FQSV9OT1RfUkVBRFkiLDldLFsiQVRURVNUQVRJT05fRVJST1JfREVWSUNFX09GRkxJTkUiLDEwXSxbIkFUVEVTVEFUSU9OX0VSUk9SX0tFWV9QQUlSX0lOSVRfRkFJTEVEIiwxMl0sWyJBVFRFU1RBVElPTl9FUlJPUl9TSUdOSU5HX0RBVEFfTUlTU0lORyIsMTNdLFsiQVRURVNUQVRJT05fRVJST1JfU0lHTklOR19GQUlMRUQiLDE0XSxbIkFUVEVTVEFUSU9OX0VSUk9SX0NFUlRfQ0hBSU5fUkVUUklFVkFMX0ZBSUxFRCIsMTVdXSxudWxsLFtbMTEsMTFdXV0nKTtnLnFNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMubmFtZT1ufX07Zy5TdD1uZXcgZy5xTSgiYWN0aW9uQ29tcGFuaW9uQWRSZW5kZXJlciIpO2cuVWg9bmV3IGcucU0oImFkQWN0aW9uSW50ZXJzdGl0aWFsUmVuZGVyZXIiKTtnLm0yPW5ldyBnLnFNKCJhZHNFbmdhZ2VtZW50UGFuZWxSZW5kZXJlciIpO2cuVyQ9bmV3IGcucU0oImRpc21pc3NhYmxlUGFuZWxUZXh0UG9ydHJhaXRJbWFnZVJlbmRlcmVyIik7Zy5vYT1uZXcgZy5xTSgiYWRzRW5nYWdlbWVudFBhbmVsU2VjdGlvbkxpc3RWaWV3TW9kZWwiKTtnLkFqPW5ldyBnLnFNKCJpbWFnZUNvbXBhbmlvbkFkUmVuZGVyZXIiKTtnLkVoPW5ldyBnLnFNKCJpbnN0cmVhbUFkUGxheWVyT3ZlcmxheVJlbmRlcmVyIik7Zy5GeT1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFJlbmRlcmVyIik7Zy5HOD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZFNpbmdsZVNlbGVjdFF1ZXN0aW9uUmVuZGVyZXIiKTtnLnRMPW5ldyBnLnFNKCJpbnN0cmVhbVN1cnZleUFkTXVsdGlTZWxlY3RRdWVzdGlvblJlbmRlcmVyIik7Zy4kSD1uZXcgZy5xTSgiaW5zdHJlYW1TdXJ2ZXlBZEFuc3dlclJlbmRlcmVyIik7Zy52eHg9bmV3IGcucU0oImluc3RyZWFtU3VydmV5QWRBbnN3ZXJOb25lT2ZUaGVBYm92ZVJlbmRlcmVyIik7Zy5DYz1uZXcgZy5xTSgiaW5zdHJlYW1WaWRlb0FkUmVuZGVyZXIiKTtnLmkwPW5ldyBnLnFNKCJwbGF5ZXJPdmVybGF5TGF5b3V0UmVuZGVyZXIiKTtnLnlWPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbEJ1dHRvbmVkQ2VudGVyZWRMYXlvdXRSZW5kZXJlciIpO2cuaFg9bmV3IGcucU0oImFib3ZlRmVlZEFkTGF5b3V0UmVuZGVyZXIiKTtnLnh6PW5ldyBnLnFNKCJiZWxvd1BsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmt6PW5ldyBnLnFNKCJpblBsYXllckFkTGF5b3V0UmVuZGVyZXIiKTtnLmUyPW5ldyBnLnFNKCJpblBsYXllck9yZ2FuaWNPdmVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuUmE9bmV3IGcucU0oInBsYXllckJ5dGVzQWRMYXlvdXRSZW5kZXJlciIpO2cuTGk9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVuY2VJdGVtQWRMYXlvdXRSZW5kZXJlciIpO2cudiQ9bmV3IGcucU0oInBsYXllclVuZGVybGF5QWRMYXlvdXRSZW5kZXJlciIpO2cuQlE9bmV3IGcucU0oImFkSW50cm9SZW5kZXJlciIpO2cuVDA9bmV3IGcucU0oInBsYXllckJ5dGVzU2VxdWVudGlhbExheW91dFJlbmRlcmVyIik7Zy53YT1uZXcgZy5xTSgic3VydmV5VGV4dEludGVyc3RpdGlhbFJlbmRlcmVyIik7Zy5RVj1uZXcgZy5xTSgidmlkZW9BZFRyYWNraW5nUmVuZGVyZXIiKTt2YXIgUXhNPW5ldyBnLnFNKCJ2aWRlb0ludGVyc3RpdGlhbENlbnRlcmVkTGF5b3V0Vmlld01vZGVsIik7Zy5kYT1uZXcgZy5xTSgicGxheWVyT3JnYW5pY1RyYW5zaXRpb25PdmVybGF5UmVuZGVyZXIiKTtnLlhHPW5ldyBnLnFNKCJhZFNsb3RSZW5kZXJlciIpO2cuYWE9bmV3IGcucU0oInNxdWVlemViYWNrUGxheWVyU2lkZVBhbmVsUmVuZGVyZXIiKTtnLktjPW5ldyBnLnFNKCJiYW5uZXJJbWFnZUxheW91dFZpZXdNb2RlbCIpO2cuT2g9bmV3IGcucU0oInRvcEJhbm5lckltYWdlVGV4dEljb25CdXR0b25lZExheW91dFZpZXdNb2RlbCIpO2cuUFE9bmV3IGcucU0oImFkc0VuZ2FnZW1lbnRQYW5lbExheW91dFZpZXdNb2RlbCIpO2cubmk9bmV3IGcucU0oImRpc3BsYXlVbmRlcmxheVRleHRHcmlkQ2FyZHNMYXlvdXRWaWV3TW9kZWwiKTt2YXIgcm49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59fSxzQz1jbGFzcyBleHRlbmRzIHJue2dldCBlbnRpdHlNZXRhZGF0YSgpe3JldHVybiB0aGlzLk4uZW50aXR5TWV0YWRhdGF9c2V0IGVudGl0eU1ldGFkYXRhKG4pe3RoaXMuTi5lbnRpdHlNZXRhZGF0YT1ufX07dmFyIGtqTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBoNGo9bmV3IGcucU0oImNvbW1hbmRDb250ZXh0Iik7dmFyIHhrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBMdHc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZEUyPW5ldyBnLnFNKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgb3Z0PW5ldyBnLnFNKCJyYXdIb3RDb25maWdHcm91cCIpO2cuTk09bmV3IGcucU0oImNvbW1hbmRFeGVjdXRvckNvbW1hbmQiKTt2YXIgZTR3PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBneHQ9e1ZDOjAsZVo6MSxFcDozMixPcDo2MSxkNzo2NyxBSzoxMDMsSVg6ODYsR0E6NDIsTVg6NjAsTEk6NjIsRGk6NzMsYVg6NzYsdzc6ODgsQ0k6OTAsTjY6OTksSHI6OTgsb1g6MTAwLEZBOjEwMixjODo0MSxQODo2OSx5TDo3MCxKcjo3MSx5TToyLEs0OjI3LEFORFJPSUQ6MyxBdjo1NCx3TToxNCx6ejo5MSxDRTo1NSxkTToyNCxOdToxMDUsYzk6MjAsUDk6MTgsSkg6MjEsdEg6MTA0LFg2OjMwLGpMOjI5LFYzOjI4LHBJOjEwMSxtQjoxMDcsa0Q6MzQsaEg6MzYseTM6MzgsSU9TOjUsVEw6MTUsblE6OTIscmo6NDAscFE6MjUseDc6MTA2LFNBOjE3LFk3OjE5LHNZOjY0LHVPOjY2LGVBOjI2LFpwOjIyLGxPOjMzLEhtOjY4LFVZOjM1LExROjUzLEJtOjEwOCxSTzozNyxLUTozOSxkMjo3LFByOjU3LHlDOjQzLHRLOjU5LEpLOjkzLGlwOjc0LFdyOjc1LGJGOjg1LHpBOjY1LGhLOjgwLFhBOjgsQ006MTAsaUY6NTgscVg6NjMsbVU6NzIscXU6MjMsYkE6MTEselU6MTMsd0o6MTIsCm9OOjE2LFVwOjU2LGc3OjMxLGttOjc3LEFROjg0LGZJOjg3LENoOjg5LHdMOjk0LHpUOjk1LGxMOjEwOX07dmFyIGk5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1XKG4pe2cuU0UodGhpcyw1LG4pfX07dmFyIHlkPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBYd1U9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEhzPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIEhXKHRoaXMsMzYpfXNldEhvbWVHcm91cEluZm8obil7cmV0dXJuICQ5KHRoaXMsWHdVLDgxLG4pfWNsZWFyTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKCl7cmV0dXJuIG96KHRoaXMsODkpfX07dmFyIEo2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1nZXRWYWx1ZSgpe3JldHVybiBZOSh0aGlzLHZXKHRoaXMsSXYsMikpfX0sSXY9WzIsMyw0LDUsNl07dmFyIHFZUz1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VHJhY2tpbmdQYXJhbXMobil7cmV0dXJuIG96KHRoaXMsMSxrVShuLCExKSl9fTt2YXIgZlU9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIEVKPWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBBNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9c2V0VG9rZW4obil7cmV0dXJuIGcuU0UodGhpcywyLG4pfX07dmFyIFN5PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX1zZXRTYWZldHlNb2RlKG4pe3JldHVybiBLbih0aGlzLDUsbil9fTt2YXIgWUE9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfVcobil7cmV0dXJuICQ5KHRoaXMsSHMsMSxuKX19O3ZhciBHajE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdFBVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRrYj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBSVGg9bmV3IGcucU0oImNvbnRpbnVhdGlvbkNvbW1hbmQiKTtnLmNFPW5ldyBnLnFNKCJzaWduYWxBY3Rpb24iKTt2YXIgcGo9bmV3IGcucU0oIndlYkNvbW1hbmRNZXRhZGF0YSIpO3ZhciBoazI9bmV3IGcucU0oIm1ldGFkYXRhQmFkZ2VSZW5kZXJlciIpO3ZhciBRWU09bmV3IGcucU0oInNpZ25hbFNlcnZpY2VFbmRwb2ludCIpO3ZhciAkej1uZXcgZy5xTSgiaW5uZXJ0dWJlQ29tbWFuZCIpO3ZhciBEMzE9e1NUOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIixyTDoiRU1CRURERURfUExBWUVSX01PREVfREVGQVVMVCIseHc6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGUCIsS2g6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCJ9O3ZhciAkdE09bmV3IGcucU0oImNoYW5uZWxUaHVtYm5haWxFbmRwb2ludCIpO3ZhciBEdEM9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyRXJyb3JNZXNzYWdlUmVuZGVyZXIiKTt2YXIgYW9VPW5ldyBnLnFNKCJlbWJlZGRlZFBsYXllck92ZXJsYXlWaWRlb0RldGFpbHNSZW5kZXJlciIpLHIxcj1uZXcgZy5xTSgiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzQ29sbGFwc2VkUmVuZGVyZXIiKSxzc0M9bmV3IGcucU0oImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0V4cGFuZGVkUmVuZGVyZXIiKTt2YXIgUyQ9bmV3IGcucU0oImVtYmVkc0luZm9QYW5lbFJlbmRlcmVyIik7dmFyIHJZcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBzQng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTkEyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHB3Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbCYmbi5wdXNoKHRoaXMuTi5hbHRlcm5hdGVDaGFubmVsKTt0aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QmJm4ucHVzaCguLi50aGlzLk4uYWx0ZXJuYXRlQ2hhbm5lbExpc3QpO3RoaXMuTi5vbmVvZkNoYW5uZWxFbnRpdHkmJm4ucHVzaCh0aGlzLk4ub25lb2ZDaGFubmVsRW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBZWXI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmVudHJ5Q29sbGVjdGlvbiYmbi5wdXNoKHRoaXMuTi5lbnRyeUNvbGxlY3Rpb24pO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sZl94PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRQbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wYXJlbnRQbGF5bGlzdCk7aWYodGhpcy5OLmVudHJpZXMpZm9yKGxldCBXIG9mIHRoaXMuTi5lbnRyaWVzKW4ucHVzaCguLi4obmV3IEhzaChXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEhzaD1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIEpZYj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkmJm4ucHVzaCh0aGlzLk4uZGVzY3JpcHRpb25FbnRpdHkpO3RoaXMuTi5jcmVhdG9ycyYmbi5wdXNoKC4uLnRoaXMuTi5jcmVhdG9ycyk7dGhpcy5OLnRoZUJpZ2dlc3RGYW4mJm4ucHVzaCh0aGlzLk4udGhlQmlnZ2VzdEZhbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxJX3c9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgU1l3PW5ldyBnLnFNKCJmZWVkYmFja0VuZHBvaW50Iik7dmFyIEFZeD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBta2g9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgS3R4PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE9zaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQTHI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgWnNyPW5ldyBnLnFNKCJpbnRlcmFjdGlvbkxvZ2dpbmdDb21tYW5kTWV0YWRhdGEiKTt2YXIgZDNqPXtsRjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIixuSToiV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIixSWDoiV0VCX0RJU1BMQVlfTU9ERV9NSU5JTUFMX1VJIixaaToiV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIixCcjoiV0VCX0RJU1BMQVlfTU9ERV9GVUxMU0NSRUVOIn07dmFyIFVrcj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9Z2V0UGxheWVyVHlwZSgpe3JldHVybiBIVyh0aGlzLDcpfUUxKCl7cmV0dXJuIFk5KHRoaXMsMTkpfXNldFZpZGVvSWQobil7cmV0dXJuIGcuU0UodGhpcywxOSxuKX19O3ZhciBBbT1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9fTt2YXIgU0w9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIFp2PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuLDUwMCl9fSx5WTE9WzIsMyw1LDYsNywxMSwxMywyMCwyMSwyMiwyMywyNCwyOCwzMiwzNyw0NSw1OSw3Miw3Myw3NCw3Niw3OCw3OSw4MCw4NSw5MSw5NywxMDAsMTAyLDEwNSwxMTEsMTE3LDExOSwxMjYsMTI3LDEzNiwxNDYsMTQ4LDE1MSwxNTYsMTU3LDE1OCwxNTksMTYzLDE2NCwxNjgsMTc2LDE3NywxNzgsMTc5LDE4NCwxODgsMTg5LDE5MCwxOTEsMTkzLDE5NCwxOTUsMTk2LDE5NywxOTgsMTk5LDIwMCwyMDEsMjAyLDIwMywyMDQsMjA1LDIwNiwyMDgsMjA5LDIxNSwyMTksMjIyLDIyNSwyMjYsMjI3LDIyOSwyMzIsMjMzLDIzNCwyNDAsMjQxLDI0NCwyNDcsMjQ4LDI0OSwyNTEsMjU0LDI1NSwyNTYsMjU3LDI1OCwyNTksMjYwLDI2MSwyNjYsMjcwLDI3MiwyNzgsMjg4LDI5MSwyOTMsMzAwLDMwNCwzMDgsMzA5LDMxMCwzMTEsMzEzLDMxNCwzMTksMzIwLDMyMSwzMjMsMzI0LDMyNywzMjgsCjMzMCwzMzEsMzMyLDMzNCwzMzcsMzM4LDM0MCwzNDQsMzQ4LDM1MCwzNTEsMzUyLDM1MywzNTQsMzU1LDM1NiwzNTcsMzU4LDM2MSwzNjMsMzY0LDM2OCwzNjksMzcwLDM3MywzNzQsMzc1LDM3OCwzODAsMzgxLDM4MywzODgsMzg5LDM5OSw0MDIsNDAzLDQxMCw0MTEsNDEyLDQxMyw0MTQsNDE1LDQxNiw0MTcsNDE4LDQyMyw0MjQsNDI1LDQyNiw0MjcsNDI5LDQzMCw0MzEsNDM5LDQ0MSw0NDQsNDQ4LDQ1OCw0NjksNDcxLDQ3Myw0NzQsNDgwLDQ4MSw0ODIsNDg0LDQ4NSw0ODYsNDkxLDQ5NSw0OTYsNTA2LDUwNyw1MDksNTExLDUxMiw1MTMsNTE0LDUxNSw1MTYsNTE3LDUxOCw1MTksNTIwLDUyMiw1MjMsNTI0LDUyNSw1MjYsNTI3LDUyOCw1MjksNTMwLDUzMSw1MzYsNTM3LDUzOCw1MzksNTQxLDU0NSw1NDcsNTQ4LDU0OSw1NTAsNTUxLDU1Miw1NTMsNTU0LDU1N107Zy5FeGk9bmV3IGcucU0oImxvZ2dpbmdDb250ZXh0Iik7dmFyIE95PWNsYXNzIGV4dGVuZHMgZy5RbXtjb25zdHJ1Y3RvcihuKXtzdXBlcihuKX19O3ZhciBoNj1jbGFzcyBleHRlbmRzIGcuUW17Y29uc3RydWN0b3Iobil7c3VwZXIobil9RTEoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDEpKX1zZXRWaWRlb0lkKG4pe3JldHVybiBEMih0aGlzLDEseEEsV0gobikpfWdldFBsYXlsaXN0SWQoKXtyZXR1cm4gSlModGhpcyx2Vyh0aGlzLHhBLDIpKX19LHhBPVsxLDJdO3ZhciB1RjI9Y2xhc3MgZXh0ZW5kcyBnLlFte2NvbnN0cnVjdG9yKG4pe3N1cGVyKG4pfX07dmFyIGlzWj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB1NXQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgb3hoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGRrdD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZHNMaXN0KTt0aGlzLk4uc21hcnREb3dubG9hZHNMaXN0JiZuLnB1c2godGhpcy5OLnNtYXJ0RG93bmxvYWRzTGlzdCk7dGhpcy5OLnJlY29tbWVuZGVkRG93bmxvYWRzTGlzdCYmbi5wdXNoKHRoaXMuTi5yZWNvbW1lbmRlZERvd25sb2Fkc0xpc3QpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGxfWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtpZih0aGlzLk4uZG93bmxvYWRzKWZvcihsZXQgVyBvZiB0aGlzLk4uZG93bmxvYWRzKW4ucHVzaCguLi4obmV3IHo0dyhXKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LHo0dz1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4udmlkZW8mJm4ucHVzaCh0aGlzLk4udmlkZW8pO3RoaXMuTi5wbGF5bGlzdCYmbi5wdXNoKHRoaXMuTi5wbGF5bGlzdCk7dGhpcy5OLnZpZGVvSXRlbSYmbi5wdXNoKHRoaXMuTi52aWRlb0l0ZW0pO3RoaXMuTi5wbGF5bGlzdEl0ZW0mJm4ucHVzaCh0aGlzLk4ucGxheWxpc3RJdGVtKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBUQTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIGpCaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgQ0xpPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJBVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZmFrZUNoaWxkcmVuJiZuLnB1c2goLi4udGhpcy5OLmZha2VDaGlsZHJlbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgRnRoPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi52aWRlbyYmbi5wdXNoKHRoaXMuTi52aWRlbyk7dGhpcy5OLnBsYXliYWNrRGF0YSYmbi5wdXNoKHRoaXMuTi5wbGF5YmFja0RhdGEpO3RoaXMuTi5vZmZsaW5lVmlkZW9Qb2xpY3kmJm4ucHVzaCh0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciB3d1M9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTVB3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5jaGFubmVsT3duZXImJm4ucHVzaCh0aGlzLk4uY2hhbm5lbE93bmVyKTt0aGlzLk4udmlkZW9zJiZuLnB1c2goLi4udGhpcy5OLnZpZGVvcyk7dGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzJiZuLnB1c2goLi4udGhpcy5OLmNvbGxhYm9yYXRvckNoYW5uZWxzKTt0aGlzLk4uZG93bmxvYWRTdGF0ZSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXRlKTt0aGlzLk4ucmVmcmVzaCYmbi5wdXNoKHRoaXMuTi5yZWZyZXNoKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBSNGk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnZpZGVvJiZuLnB1c2godGhpcy5OLnZpZGVvKTt0aGlzLk4uY2hhbm5lbENvbnRyaWJ1dG9yJiZuLnB1c2godGhpcy5OLmNoYW5uZWxDb250cmlidXRvcik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgVlBVPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5yZWNvbW1lbmRlZFZpZGVvTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFFCcih0aGlzLk4ucmVjb21tZW5kZWRWaWRlb01ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LFFCcj1jbGFzcyBleHRlbmRzIHJue0ooKXt2YXIgbj1bXTt0aGlzLk4ubG9jYWxJbWFnZUVudGl0aWVzJiZuLnB1c2goLi4udGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBjWWk9Y2xhc3MgZXh0ZW5kcyBybntKKCl7dmFyIG49W107dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgYV9qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vd25lciYmbi5wdXNoKHRoaXMuTi5vd25lcik7dGhpcy5OLmRvd25sb2FkU3RhdGUmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRTdGF0ZSk7dGhpcy5OLnVzZXJTdGF0ZSYmbi5wdXNoKC4uLihuZXcgY1lpKHRoaXMuTi51c2VyU3RhdGUpKS5KKCkpO3RoaXMuTi5hZGRpdGlvbmFsTWV0YWRhdGEmJm4ucHVzaCguLi4obmV3IFZQVSh0aGlzLk4uYWRkaXRpb25hbE1ldGFkYXRhKSkuSigpKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBuTjI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnVzZXJDaGFubmVsRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyQ2hhbm5lbERldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFdNWj1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uY2hhbm5lbE93bmVyJiZuLnB1c2godGhpcy5OLmNoYW5uZWxPd25lcik7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi5kb3dubG9hZFN0YXR1cyYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZFN0YXR1cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgREkxPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJ6dD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB2TnQ9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIga1ByPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGhPdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciB4SVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgTE13PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGVPcj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBnTnI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgVVU9bmV3IGcucU0oImNoYW5nZUtleWVkTWFya2Vyc1Zpc2liaWxpdHlDb21tYW5kIik7dmFyIHh0TT1uZXcgZy5xTSgibG9hZE1hcmtlcnNDb21tYW5kIik7dmFyIGVicj1uZXcgZy5xTSgidGltZWx5QWN0aW9uVmlld01vZGVsIik7dmFyIExxQz1uZXcgZy5xTSgidGltZWx5QWN0aW9uc092ZXJsYXlWaWV3TW9kZWwiKTt2YXIgWF9TPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHF2Qz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBHUE09Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgdHhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyICRJTT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBySmI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmNvbXBvc2l0ZVNvdXJjZUtleXMmJm4ucHVzaCguLi50aGlzLk4uY29tcG9zaXRlU291cmNlS2V5cyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgczR0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIE5rUz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZG93bmxvYWRlZFRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkVHJhY2tzKTt0aGlzLk4uc21hcnREb3dubG9hZGVkVHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnNtYXJ0RG93bmxvYWRlZFRyYWNrcyk7dGhpcy5OLmRvd25sb2FkZWRFcGlzb2RlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkRXBpc29kZXMpO3RoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyYmbi5wdXNoKC4uLnRoaXMuTi5kb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZEFsYnVtUmVsZWFzZXMmJm4ucHVzaCguLi50aGlzLk4uc21hcnREb3dubG9hZGVkQWxidW1SZWxlYXNlcyk7dGhpcy5OLmRvd25sb2FkZWRQbGF5bGlzdHMmJm4ucHVzaCguLi50aGlzLk4uZG93bmxvYWRlZFBsYXlsaXN0cyk7dGhpcy5OLnNtYXJ0RG93bmxvYWRlZFBsYXlsaXN0cyYmbi5wdXNoKC4uLnRoaXMuTi5zbWFydERvd25sb2FkZWRQbGF5bGlzdHMpOwp0aGlzLk4ubWV0YWRhdGFPbmx5VHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLm1ldGFkYXRhT25seVRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgcF9yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi50cmFja0Rvd25sb2FkTWV0YWRhdGFzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrRG93bmxvYWRNZXRhZGF0YXMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFl2dD1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGxheWJhY2tEYXRhJiZuLnB1c2godGhpcy5OLnBsYXliYWNrRGF0YSk7dGhpcy5OLmxvY2FsSW1hZ2VFbnRpdGllcyYmbi5wdXNoKC4uLnRoaXMuTi5sb2NhbEltYWdlRW50aXRpZXMpO3RoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSYmbi5wdXNoKHRoaXMuTi52aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eSk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgSHppPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4ucHJpbWFyeUFydGlzdHMmJm4ucHVzaCguLi50aGlzLk4ucHJpbWFyeUFydGlzdHMpO3RoaXMuTi5kZXRhaWxzJiZuLnB1c2godGhpcy5OLmRldGFpbHMpO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmRvd25sb2FkTWV0YWRhdGEmJm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnJlZnJlc2gmJm4ucHVzaCh0aGlzLk4ucmVmcmVzaCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxmSlU9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmCm4ucHVzaCh0aGlzLk4uYWxidW1SZWxlYXNlKTt0aGlzLk4udHJhY2tzJiZuLnB1c2goLi4udGhpcy5OLnRyYWNrcyk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxKSjE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIElKVT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sU3ZaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRBcnRpc3QmJm4ucHVzaCh0aGlzLk4ucGFyZW50QXJ0aXN0KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19LEFKaT1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4ucGFyZW50QXJ0aXN0JiZuLnB1c2godGhpcy5OLnBhcmVudEFydGlzdCk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fTt2YXIgbUliPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEtNdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBQVHg9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnRyYWNrcyYmbi5wdXNoKC4uLnRoaXMuTi50cmFja3MpO3RoaXMuTi5yZWZyZXNoJiZuLnB1c2godGhpcy5OLnJlZnJlc2gpO3RoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkmJm4ucHVzaCh0aGlzLk4ubXVzaWNMaWJyYXJ5U3RhdHVzRW50aXR5KTt0aGlzLk4uZGV0YWlscyYmbi5wdXNoKHRoaXMuTi5kZXRhaWxzKTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5kb3dubG9hZE1ldGFkYXRhKTt0aGlzLk4uc2lkZWxvYWRNZXRhZGF0YSYmbi5wdXNoKHRoaXMuTi5zaWRlbG9hZE1ldGFkYXRhKTt0aGlzLk4udXNlckRldGFpbHMmJm4ucHVzaCh0aGlzLk4udXNlckRldGFpbHMpO3RoaXMuTi5lbnRyeUNvbGxlY3Rpb24mJm4ucHVzaCh0aGlzLk4uZW50cnlDb2xsZWN0aW9uKTt0aGlzLk4uc2hhcmUmJm4ucHVzaCh0aGlzLk4uc2hhcmUpO3RoaXMuTi5wb2RjYXN0U2hvd0FkZGl0aW9uYWxNZXRhZGF0YSYmCm4ucHVzaCguLi4obmV3IE96aSh0aGlzLk4ucG9kY2FzdFNob3dBZGRpdGlvbmFsTWV0YWRhdGEpKS5KKCkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0sT3ppPWNsYXNzIGV4dGVuZHMgcm57Sigpe3ZhciBuPVtdO3RoaXMuTi5jcmVhdG9yRW50aXR5JiZuLnB1c2godGhpcy5OLmNyZWF0b3JFbnRpdHkpO3JldHVyblsuLi4obmV3IFNldChuKSldfX07dmFyIFp6aT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBVSVo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLm11c2ljTGlicmFyeVN0YXR1c0VudGl0eSYmbi5wdXNoKHRoaXMuTi5tdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHkpO3RoaXMuTi5hcnRpc3RzJiZuLnB1c2goLi4udGhpcy5OLmFydGlzdHMpO3RoaXMuTi5hdWRpb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLmF1ZGlvTW9kZVZlcnNpb24pO3RoaXMuTi52aWRlb01vZGVWZXJzaW9uJiZuLnB1c2godGhpcy5OLnZpZGVvTW9kZVZlcnNpb24pO3RoaXMuTi51c2VyRGV0YWlscyYmbi5wdXNoKHRoaXMuTi51c2VyRGV0YWlscyk7dGhpcy5OLmRldGFpbHMmJm4ucHVzaCh0aGlzLk4uZGV0YWlscyk7dGhpcy5OLmFsYnVtUmVsZWFzZSYmbi5wdXNoKHRoaXMuTi5hbGJ1bVJlbGVhc2UpO3RoaXMuTi5zaGFyZSYmbi5wdXNoKHRoaXMuTi5zaGFyZSk7dGhpcy5OLmxpYnJhcnlFZGl0JiZuLnB1c2godGhpcy5OLmxpYnJhcnlFZGl0KTt0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSYmCm4ucHVzaCh0aGlzLk4uZG93bmxvYWRNZXRhZGF0YSk7dGhpcy5OLnBsYXliYWNrUG9zaXRpb24mJm4ucHVzaCh0aGlzLk4ucGxheWJhY2tQb3NpdGlvbik7dGhpcy5OLmx5cmljcyYmbi5wdXNoKHRoaXMuTi5seXJpY3MpO3JldHVyblsuLi4obmV3IFNldChuKSldfX0seUpTPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5wYXJlbnRUcmFjayYmbi5wdXNoKHRoaXMuTi5wYXJlbnRUcmFjayk7cmV0dXJuWy4uLihuZXcgU2V0KG4pKV19fSxFTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7dmFyIG49W107dGhpcy5OLnBhcmVudFRyYWNrJiZuLnB1c2godGhpcy5OLnBhcmVudFRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBucU09bmV3IGcucU0oIm11c2ljRW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzUmVuZGVyZXIiKTt2YXIgaXpTPW5ldyBnLnFNKCJzaGFyZUVuZHBvaW50IiksdXhDPW5ldyBnLnFNKCJzaGFyZUVudGl0eUVuZHBvaW50Iiksb05pPW5ldyBnLnFNKCJzaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpLGRJeD1uZXcgZy5xTSgid2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtnLlBqPW5ldyBnLnFNKCJ1cmxFbmRwb2ludCIpO2cuSVE9bmV3IGcucU0oIndhdGNoRW5kcG9pbnQiKTt2YXIgek93PW5ldyBnLnFNKCJ3YXRjaFBsYXlsaXN0RW5kcG9pbnQiKTt2YXIgbEoyPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFRrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBqNFo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQ1R3PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIEJrdz1jbGFzcyBleHRlbmRzIHNDe0ooKXt2YXIgbj1bXTt0aGlzLk4udHJhbnNmZXImJm4ucHVzaCh0aGlzLk4udHJhbnNmZXIpO3RoaXMuTi5hZHNQbGF5YmFja0RhdGEmJm4ucHVzaCguLi50aGlzLk4uYWRzUGxheWJhY2tEYXRhKTt0aGlzLk4uZHJtTGljZW5zZSYmbi5wdXNoKHRoaXMuTi5kcm1MaWNlbnNlKTt0aGlzLk4ub2ZmbGluZVZpZGVvUG9saWN5JiZuLnB1c2godGhpcy5OLm9mZmxpbmVWaWRlb1BvbGljeSk7dGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5JiZuLnB1c2godGhpcy5OLnZpZGVvRG93bmxvYWRDb250ZXh0RW50aXR5KTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBGTXc9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgd19NPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3ZhciBuPVtdO3RoaXMuTi5vZmZsaW5lVmlkZW9TdHJlYW1zJiZuLnB1c2goLi4udGhpcy5OLm9mZmxpbmVWaWRlb1N0cmVhbXMpO3RoaXMuTi5jYXB0aW9uVHJhY2smJm4ucHVzaCguLi50aGlzLk4uY2FwdGlvblRyYWNrKTtyZXR1cm5bLi4uKG5ldyBTZXQobikpXX19O3ZhciBNeFM9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgUk8xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFE0cj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBWeGI9bmV3IGcucU0oInByZWZldGNoV2F0Y2hDb21tYW5kIik7dmFyIGNKWj1uZXcgZy5xTSgidXBkYXRlUHJvZ3Jlc3NCYXJDb21tYW5kIik7dmFyIE5LeD1uZXcgZy5xTSgiY29tcG9zaXRlVmlkZW9PdmVybGF5UmVuZGVyZXIiKTt2YXIgbGFTPW5ldyBnLnFNKCJwYWlkQ29udGVudE92ZXJsYXlSZW5kZXJlciIpO3ZhciBLSTE9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlPdmVybGF5UmVuZGVyZXIiKSxPVng9bmV3IGcucU0oInBsYXllck11dGVkQXV0b3BsYXlFbmRTY3JlZW5SZW5kZXJlciIpO3ZhciBJb2I9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksRHo9bmV3IGcucU0oInVuc2VyaWFsaXplZFBsYXllclJlc3BvbnNlIiksYUp3PW5ldyBnLnFNKCJwbGF5ZXJSZXNwb25zZSIpO3ZhciBuWEM9bmV3IGcucU0oInBsYXlsaXN0RWRpdEVuZHBvaW50Iik7dmFyIFd1Wj1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBUZT1uZXcgZy5xTSgicmVlbFdhdGNoRW5kcG9pbnQiKTt2YXIgRCRyPW5ldyBnLnFNKCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiKTtnLllIPW5ldyBnLnFNKCJidXR0b25SZW5kZXJlciIpO2cuSEM9bmV3IGcucU0oInRvZ2dsZUJ1dHRvblJlbmRlcmVyIik7Zy5jUT1uZXcgZy5xTSgiY291bnRlcmZhY3R1YWxSZW5kZXJlciIpO3ZhciBiTXI9bmV3IGcucU0oInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTt2YXIgdlhqPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGtpdz1uZXcgZy5xTSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO3ZhciBoblU9bmV3IGcucU0oInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgeCRaPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIE5oMT1uZXcgZy5xTSgic3Vic2NyaWJlQnV0dG9uUmVuZGVyZXIiKTt2YXIgTHUxPW5ldyBnLnFNKCJzdWJzY3JpYmVFbmRwb2ludCIpO3ZhciBlbmk9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgZ1hVPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFhSUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBxTlo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgR2lNPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHRHdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciAkJDI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgck0xPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIHNkaT1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBOeTE9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFJ0PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFZDMj1uZXcgZy5xTSgicXJDb2RlUmVuZGVyZXIiKTt2YXIgWU5aPXtkajoiTElWSU5HX1JPT01fQVBQX01PREVfVU5TUEVDSUZJRUQiLHdqOiJMSVZJTkdfUk9PTV9BUFBfTU9ERV9NQUlOIixBXzoiTElWSU5HX1JPT01fQVBQX01PREVfS0lEUyIsQ1E6IkxJVklOR19ST09NX0FQUF9NT0RFX01VU0lDIixvTzoiTElWSU5HX1JPT01fQVBQX01PREVfVU5QTFVHR0VEIixJTzoiTElWSU5HX1JPT01fQVBQX01PREVfR0FNSU5HIn07dmFyIEhNdD1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBmTzI9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgSk0yPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIGJXWj1uZXcgZy5xTSgiYXV0b3BsYXlTd2l0Y2hCdXR0b25SZW5kZXJlciIpO3ZhciB2cXQ9bmV3IGcucU0oImRlc2t0b3BPdmVybGF5Q29uZmlnUmVuZGVyZXIiKTt2YXIgYzNoPW5ldyBnLnFNKCJlbmdhZ2VtZW50UGFuZWxTZWN0aW9uTGlzdFJlbmRlcmVyIik7dmFyIFdHaT1uZXcgZy5xTSgicGxheWxpc3RQYW5lbFJlbmRlcmVyIik7dmFyIElPdz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBTTng9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgQU14PWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIG0kUz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBLdWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgT01qPWNsYXNzIGV4dGVuZHMgc0N7Sigpe3JldHVybltdfX07dmFyIFA4dz1jbGFzcyBleHRlbmRzIHNDe0ooKXtyZXR1cm5bXX19O3ZhciBaTWo9Y2xhc3MgZXh0ZW5kcyBzQ3tKKCl7cmV0dXJuW119fTt2YXIgcFlaPW5ldyBnLnFNKCJjaXBoZXIiKTt2YXIgU2xNPW5ldyBnLnFNKCJwbGF5ZXJWYXJzIik7dmFyIGR2aT1uZXcgZy5xTSgicGxheWVyVmFycyIpO3ZhciBVJFU9Zy5xaS53aW5kb3csSUU9VSRVPy55dD8uY29uZmlnX3x8VSRVPy55dGNmZz8uZGF0YV98fHt9O2cuR2IoInl0LmNvbmZpZ18iLElFKTt2YXIgS3c9W107dmFyIGR4aT0vXltcdy5dKiQvLG9LaT17cTohMCxzZWFyY2hfcXVlcnk6ITB9LHVRaD1TdHJpbmcoeUYpO2cuUkU9bmV3IGNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5OPW47dGhpcy5KPVd9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtnLkdiKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24obil7cmV0dXJuIGcuRXQoZy5RRihuKSl9KTtnLlV3KCk7dmFyIFZGPSJYTUxIdHRwUmVxdWVzdCJpbiBnLnFpPygpPT5uZXcgWE1MSHR0cFJlcXVlc3Q6bnVsbDt2YXIgeU1TPSJhYnNvbHV0ZV9leHBlcmltZW50cyBjbGllbnRfZGV2X2RvbWFpbiBjbGllbnRfZGV2X2V4cGZsYWcgY2xpZW50X2Rldl9yZWdleF9tYXAgY2xpZW50X2Rldl9yb290X3VybCBjbGllbnRfcm9sbG91dF9vdmVycmlkZSBleHBmbGFnIGZvcmNlZENhcGFiaWxpdHkganNmZWF0IGpzbW9kZSBtb2RzIHRoZW1lIi5zcGxpdCgiICIpO1suLi55TVNdO3ZhciBMJD17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxWdWI9WyJhcHAiLCJkZWJ1Z2NzcyIsImRlYnVnanMiLCJleHBmbGFnIiwiZm9yY2VfYWRfcGFyYW1zIiwiZm9yY2VfYWRfZW5jcnlwdGVkIiwiZm9yY2VfdmlyYWxfYWRfcmVzcG9uc2VfcGFyYW1zIiwiZm9yY2VkX2V4cGVyaW1lbnRzIiwiaW5uZXJ0dWJlX3NuYXBzaG90cyIsImlubmVydHViZV9nb2xkZW5zIiwiaW50ZXJuYWxjb3VudHJ5Y29kZSIsImludGVybmFsaXBvdmVycmlkZSIsImFic29sdXRlX2V4cGVyaW1lbnRzIiwiY29uZGl0aW9uYWxfZXhwZXJpbWVudHMiLCJzYmIiLCJzcl9ibnNfYWRkcmVzcyIsLi4ueU1TXSxHUT0hMSxGeDE9eFQ7dmFyIGM0VTtnLiRUPWNsYXNzIGV4dGVuZHMgZy5UYntjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoYCR7bn0sIGVycm9yQ29kZT0ke1d9YCk7dGhpcy5lcnJvckNvZGU9Vzt0aGlzLnhocj1EO3RoaXMubmFtZT0iUHJvbWlzZUFqYXhFcnJvciJ9fTtjNFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy54aHI9bn19O3ZhciBOWD1jbGFzc3tjb25zdHJ1Y3RvcihuPW51bGwpe3RoaXMuTj1uO3RoaXMuVz0wO3RoaXMuSj1udWxsfXRoZW4obixXLEQpe3JldHVybiB0aGlzLk4/dGhpcy5OLnRoZW4obixXLEQpOnRoaXMuVz09PTEmJm4/KG49bi5jYWxsKEQsdGhpcy5KKSkmJnR5cGVvZiBuLnRoZW49PT0iZnVuY3Rpb24iP246Zy5IMChuKTp0aGlzLlc9PT0yJiZXPyhuPVcuY2FsbChELHRoaXMuSikpJiZ0eXBlb2Ygbi50aGVuPT09ImZ1bmN0aW9uIj9uOmcucCQobik6dGhpc31nZXRWYWx1ZSgpe3JldHVybiB0aGlzLkp9fTtOWC5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITA7dmFyIGYkPSExO2cuTUw9dzh8fE1YO3ZhciBXMDE9L14oWzAtOVwuXSspOihbMC05XC5dKykkLzt2YXIgWGs9e307dmFyIEVYaD0wLHEwPWcuWmw/IndlYmtpdCI6Zy5lUz8ibW96IjpnLmtoPyJtcyI6cmM/Im8iOiIiLGlNeD1nLnJyKCJ5dERvbURvbUdldE5leHRJZCIpfHwoKCk9PisrRVhoKTsKZy5HYigieXREb21Eb21HZXROZXh0SWQiLGlNeCk7dmFyIHVaYj17c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOjEsc3RvcFByb3BhZ2F0aW9uOjEscHJldmVudE1vdXNlRXZlbnQ6MSxwcmV2ZW50TWFuaXB1bGF0aW9uOjEscHJldmVudERlZmF1bHQ6MSxsYXllclg6MSxsYXllclk6MSxzY3JlZW5YOjEsc2NyZWVuWToxLHNjYWxlOjEscm90YXRpb246MSx3ZWJraXRNb3ZlbWVudFg6MSx3ZWJraXRNb3ZlbWVudFk6MX0sZnk9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50eXBlPSIiO3RoaXMuc3RhdGU9dGhpcy5zb3VyY2U9dGhpcy5kYXRhPXRoaXMuY3VycmVudFRhcmdldD10aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wO3RoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuY3RybEtleT10aGlzLmFsdEtleT0hMTt0aGlzLnJvdGF0aW9uPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9MDt0aGlzLnNjYWxlPTE7dGhpcy5jaGFuZ2VkVG91Y2hlcz10aGlzLnRvdWNoZXM9Cm51bGw7dHJ5e2lmKG49bnx8d2luZG93LmV2ZW50KXt0aGlzLmV2ZW50PW47Zm9yKGxldCBiIGluIG4pYiBpbiB1WmJ8fCh0aGlzW2JdPW5bYl0pO3RoaXMuc2NhbGU9bi5zY2FsZTt0aGlzLnJvdGF0aW9uPW4ucm90YXRpb247dmFyIFc9bi50YXJnZXR8fG4uc3JjRWxlbWVudDtXJiZXLm5vZGVUeXBlPT0zJiYoVz1XLnBhcmVudE5vZGUpO3RoaXMudGFyZ2V0PVc7dmFyIEQ9bi5yZWxhdGVkVGFyZ2V0O2lmKEQpdHJ5e0Q9RC5ub2RlTmFtZT9EOm51bGx9Y2F0Y2goYil7RD1udWxsfWVsc2UgdGhpcy50eXBlPT0ibW91c2VvdmVyIj9EPW4uZnJvbUVsZW1lbnQ6dGhpcy50eXBlPT0ibW91c2VvdXQiJiYoRD1uLnRvRWxlbWVudCk7dGhpcy5yZWxhdGVkVGFyZ2V0PUQ7dGhpcy5jbGllbnRYPW4uY2xpZW50WCE9dm9pZCAwP24uY2xpZW50WDpuLnBhZ2VYO3RoaXMuY2xpZW50WT1uLmNsaWVudFkhPXZvaWQgMD9uLmNsaWVudFk6bi5wYWdlWTt0aGlzLmtleUNvZGU9bi5rZXlDb2RlP24ua2V5Q29kZToKbi53aGljaDt0aGlzLmNoYXJDb2RlPW4uY2hhckNvZGV8fCh0aGlzLnR5cGU9PSJrZXlwcmVzcyI/dGhpcy5rZXlDb2RlOjApO3RoaXMuYWx0S2V5PW4uYWx0S2V5O3RoaXMuY3RybEtleT1uLmN0cmxLZXk7dGhpcy5zaGlmdEtleT1uLnNoaWZ0S2V5O3RoaXMubWV0YUtleT1uLm1ldGFLZXk7dGhpcy5OPW4ucGFnZVg7dGhpcy5KPW4ucGFnZVl9fWNhdGNoKGIpe319cHJldmVudERlZmF1bHQoKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5yZXR1cm5WYWx1ZT0hMSx0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0JiZ0aGlzLmV2ZW50LnByZXZlbnREZWZhdWx0KCkpfXN0b3BQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJih0aGlzLmV2ZW50LmNhbmNlbEJ1YmJsZT0hMCx0aGlzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24oKSl9c3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQuY2FuY2VsQnViYmxlPSEwLAp0aGlzLmV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiYmdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSl9fTtnLllSPWcucWkueXRFdmVudHNFdmVudHNMaXN0ZW5lcnN8fHt9O2cuR2IoInl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzIixnLllSKTt2YXIgSEI9Zy5xaS55dEV2ZW50c0V2ZW50c0NvdW50ZXJ8fHtjb3VudDowfTtnLkdiKCJ5dEV2ZW50c0V2ZW50c0NvdW50ZXIiLEhCKTt2YXIgb1hoPWcud0QoZnVuY3Rpb24oKXt2YXIgbj0hMTt0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSksSk89Zy53RChmdW5jdGlvbigpe3ZhciBuPSExOwp0cnl7bGV0IFc9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJjYXB0dXJlIix7Z2V0OmZ1bmN0aW9uKCl7bj0hMH19KTsKd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsVyl9Y2F0Y2goVyl7fXJldHVybiBufSk7dmFyIGZqO2ZqPXdpbmRvdztnLlI9ZmoueXRjc2kmJmZqLnl0Y3NpLm5vdz9mai55dGNzaS5ub3c6ZmoucGVyZm9ybWFuY2UmJmZqLnBlcmZvcm1hbmNlLnRpbWluZyYmZmoucGVyZm9ybWFuY2Uubm93JiZmai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0PygpPT5mai5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K2ZqLnBlcmZvcm1hbmNlLm5vdygpOigpPT4obmV3IERhdGUpLmdldFRpbWUoKTtnLml4KG1ZLGcuRk0pO21ZLnByb3RvdHlwZS5EPWZ1bmN0aW9uKG4pe24uTj09PXZvaWQgMCYmcHkobik7dmFyIFc9bi5OO24uSj09PXZvaWQgMCYmcHkobik7dGhpcy5OPW5ldyBnLk1ZKFcsbi5KKX07Cm1ZLnByb3RvdHlwZS5FdT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk58fG5ldyBnLk1ZfTsKbVkucHJvdG90eXBlLk89ZnVuY3Rpb24oKXtpZih0aGlzLk4pe3ZhciBuPSgwLGcuUikoKTtpZih0aGlzLlghPTApe3ZhciBXPXRoaXMuVixEPXRoaXMuTixiPVcueC1ELng7Vz1XLnktRC55O2I9TWF0aC5zcXJ0KGIqYitXKlcpLyhuLXRoaXMuWCk7dGhpcy5KW3RoaXMuV109TWF0aC5hYnMoKGItdGhpcy5qKS90aGlzLmopPi41PzE6MDtXPTA7Zm9yKEQ9MDtEPDQ7RCsrKVcrPXRoaXMuSltEXXx8MDtXPj0zJiZ0aGlzLksoKTt0aGlzLmo9Yn10aGlzLlg9bjt0aGlzLlY9dGhpcy5OO3RoaXMuVz0odGhpcy5XKzEpJTR9fTsKbVkucHJvdG90eXBlLm1BPWZ1bmN0aW9uKCl7RHIodGhpcy5ZKTtnLlNfKHRoaXMuY0opfTtnLkpMPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuVz1bXTt0aGlzLks9bnx8dGhpc31OTihuLFcsRCxiLHYpe0Q9UFYoKDAsZy5LdCkoRCxifHx0aGlzLkspKTtEPXt0YXJnZXQ6bixuYW1lOlcsY2FsbGJhY2s6RH07dmFyIGs7diYmb1hoKCkmJihrPXtwYXNzaXZlOiEwfSk7bi5hZGRFdmVudExpc3RlbmVyKFcsRC5jYWxsYmFjayxrKTt0aGlzLlcucHVzaChEKTtyZXR1cm4gRH13SChuKXtmb3IobGV0IFc9MDtXPHRoaXMuVy5sZW5ndGg7VysrKWlmKHRoaXMuV1tXXT09bil7dGhpcy5XLnNwbGljZShXLDEpO24udGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIobi5uYW1lLG4uY2FsbGJhY2spO2JyZWFrfX1KKG4pe2Zvcig7dGhpcy5XLmxlbmd0aDspe2xldCBXPXRoaXMuVy5wb3AoKSxEO24mJm9YaCgpJiYoRD17cGFzc2l2ZTohMH0pO1cudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoVy5uYW1lLFcuY2FsbGJhY2ssRCl9fW1BKCl7dGhpcy5KKCk7CnN1cGVyLm1BKCl9fTt2YXIgd1laPVsiYXR0L2dldCJdLGRRWj1bImVtYmVkZGVkX3BsYXllciJdLGQkUz1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLHpudD1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0sbE9NPVsiZmVlZGJhY2siXSxUeXc9WyJub3RpZmljYXRpb24vbW9kaWZ5X2NoYW5uZWxfcHJlZmVyZW5jZSJdLHF5aj1bInBsYXllciJdLGpkeD1bImJyb3dzZS9lZGl0X3BsYXlsaXN0Il0sc3YyPVsicmVlbC9yZWVsX2l0ZW1fd2F0Y2giXSxONGg9WyJuYXZpZ2F0aW9uL3Jlc29sdmVfdXJsIl0sQ0diPVsiYWNjb3VudC9zZXRfc2V0dGluZyJdLEM4Yj1bInN1YnNjcmlwdGlvbi9zdWJzY3JpYmUiXSxCeWk9WyJzdWJzY3JpcHRpb24vdW5zdWJzY3JpYmUiXSwkMUM9WyJuZXh0IiwidW5wbHVnZ2VkL3dhdGNoX25leHQiXTt2YXIgT1A9e0JwOmcud0QoZnVuY3Rpb24oKXt0cnl7bGV0IFc9bmV3IFdTO3ZhciBuPVcuaXNBdmFpbGFibGUoKT9XOm51bGx9Y2F0Y2goVyl7cmV0dXJuIG51bGx9cmV0dXJuIG4/bmV3IFZLKG4pOm51bGx9KSwKcWI6Zy53RChmdW5jdGlvbigpe3ZhciBuPW5ldyBEUTtyZXR1cm4gbi5pc0F2YWlsYWJsZSgpP25ldyBWSyhuKTpudWxsfSl9O2cuSVY9d2luZG93Lnl0JiZ3aW5kb3cueXQubXNnc198fHdpbmRvdy55dGNmZyYmd2luZG93Lnl0Y2ZnLm1zZ3N8fHt9O2cuR2IoInl0Lm1zZ3NfIixnLklWKTt2YXIgV2I9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPXZvaWQgMDt0aGlzLk49ITE7bi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixXPT57Vy5wcmV2ZW50RGVmYXVsdCgpO3RoaXMuSj1XfSk7Cm4uYWRkRXZlbnRMaXN0ZW5lcigiYXBwaW5zdGFsbGVkIiwoKT0+e3RoaXMuTj0hMH0se29uY2U6ITB9KX19O3ZhciBFUD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc0I9ITB9YWoobixXKXtuPXt9O3ZhciBEPVtdOyJVU0VSX1NFU1NJT05fSUQiaW4gSUUmJkQucHVzaCh7a2V5OiJ1Iix2YWx1ZTpnLkFyKCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKEQ9Qk8oRCkpbi5BdXRob3JpemF0aW9uPUQsRD1XPVc/LnNlc3Npb25JbmRleCxEPT09dm9pZCAwJiYoRD1OdW1iZXIoZy5BcigiU0VTU0lPTl9JTkRFWCIsMCkpLEQ9aXNOYU4oRCk/MDpEKSxnLmwoInZvaWNlX3NlYXJjaF9hdXRoX2hlYWRlcl9yZW1vdmFsIil8fChuWyJYLUdvb2ctQXV0aFVzZXIiXT1ELnRvU3RyaW5nKCkpLCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSJpbiBJRXx8KG5bIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksVz09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIElFJiYoblsiWC1Hb29nLVBhZ2VJZCJdPWcuQXIoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIikpO3JldHVybiBufX07dmFyIHU5PXtpZGVudGl0eVR5cGU6IlVOQVVUSEVOVElDQVRFRF9JREVOVElUWV9UWVBFX1VOS05PV04ifTt2YXIgbE89Zy5ycigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iKXx8e307Zy5HYigieXRnbG9iYWwucHJlZnNVc2VyUHJlZnNQcmVmc18iLGxPKTsKdmFyIHgzYj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1nLkFyKCJBTFRfUFJFRl9DT09LSUVfTkFNRSIsIlBSRUYiKTt0aGlzLko9Zy5BcigiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIG49Zy5TZCh0aGlzLk4pO24mJnRoaXMucGFyc2Uobil9Z2V0KG4sVyl7ejEobik7ZEoobik7bj1sT1tuXSE9PXZvaWQgMD9sT1tuXS50b1N0cmluZygpOm51bGw7cmV0dXJuIG4hPW51bGw/bjpXP1c6IiJ9c2V0KG4sVyl7ejEobik7ZEoobik7aWYoVz09bnVsbCl0aHJvdyBFcnJvcigiRXhwZWN0ZWROb3ROdWxsIik7bE9bbl09Vy50b1N0cmluZygpfVFRKG4pe3JldHVybiEhKChUMShgZiR7TWF0aC5mbG9vcihuLzMxKSsxfWApfHwwKSYxPDxuJTMxKX1yZW1vdmUobil7ejEobik7ZEoobik7ZGVsZXRlIGxPW25dfXNhdmUoKXtJSyh0aGlzLk4sdGhpcy5kdW1wKCksNjMwNzJFMyx0aGlzLkosITApfWNsZWFyKCl7Zy50SyhsTyl9ZHVtcCgpe3ZhciBuPVtdO2ZvcihsZXQgVyBpbiBsTylsTy5oYXNPd25Qcm9wZXJ0eShXKSYmCm4ucHVzaChgJHtXfT1gK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcobE9bV10pKSk7cmV0dXJuIG4uam9pbigiJiIpfXBhcnNlKG4pe249ZGVjb2RlVVJJQ29tcG9uZW50KG4pLnNwbGl0KCImIik7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspe3ZhciBXPW5bRF0uc3BsaXQoIj0iKTtsZXQgYj1XWzBdOyhXPVdbMV0pJiYobE9bYl09Vy50b1N0cmluZygpKX19fSx1Tzt2YXIgQ3k9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LHpxdz17Q09OTl9ERUZBVUxUOjAsQ09OTl9VTktOT1dOOjEsQ09OTl9OT05FOjIsQ09OTl9XSUZJOjMsQ09OTl9DRUxMVUxBUl8yRzo0LENPTk5fQ0VMTFVMQVJfM0c6NSxDT05OX0NFTExVTEFSXzRHOjYsQ09OTl9DRUxMVUxBUl9VTktOT1dOOjcsQ09OTl9ESVNDTzo4LENPTk5fQ0VMTFVMQVJfNUc6OSxDT05OX1dJRklfTUVURVJFRDoxMCxDT05OX0NFTExVTEFSXzVHX1NBOjExLApDT05OX0NFTExVTEFSXzVHX05TQToxMixDT05OX1dJUkVEOjMwLENPTk5fSU5WQUxJRDozMX0sbEJyPXtFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1VOS05PV046MCxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX09GRkxJTkU6MSxFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFX1NMT1dfMkc6MixFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHOjMsRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRzo0LEVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfNEc6NX0sRms9eyJzbG93LTJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9TTE9XXzJHIiwiMmciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzJHIiwiM2ciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzNHIiwiNGciOiJFRkZFQ1RJVkVfQ09OTkVDVElPTl9UWVBFXzRHIn07Zy5ReD1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobik7dGhpcy5hcmdzPVsuLi5XXTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgRnVNPWNsYXNze0xTKG4sVyl7cmV0dXJuIGcuVngoMCxuLDEsVyl9fTtnLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UudGltZXJJZE1hcF8iKTt2YXIgV049Y2xhc3MgZXh0ZW5kcyBGdU17c08obil7aWYobj09PXZvaWQgMHx8IU51bWJlci5pc05hTihOdW1iZXIobikpKXt2YXIgVz1nLnJyKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIik7Vz9XKG4pOndpbmRvdy5jbGVhclRpbWVvdXQobil9fXN0YXJ0KCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnN0YXJ0Iik7biYmbigpfXBhdXNlKCl7dmFyIG49Zy5ycigieXQuc2NoZWR1bGVyLmluc3RhbmNlLnBhdXNlIik7biYmbigpfX0sdGE9Zy5EeSgpO3ZhciB0ST1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49KG49Zy52UyhuKSk/bmV3IFFLKG4pOm51bGw7dGhpcy5XPWRvY3VtZW50LmRvbWFpbnx8d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lfUooKXtyZXR1cm4hIXRoaXMuTn1zZXQobixXLEQsYil7RD1EfHwzMTEwNEUzO3RoaXMucmVtb3ZlKG4pO2lmKHRoaXMuSigpKXRyeXt0aGlzLk4uc2V0KG4sVyxEYXRlLm5vdygpK0QqMUUzKTtyZXR1cm59Y2F0Y2goayl7fXZhciB2PSIiO2lmKGIpdHJ5e3Y9ZXNjYXBlKChuZXcgbGUpLmJZKFcpKX1jYXRjaChrKXtyZXR1cm59ZWxzZSB2PWVzY2FwZShXKTtJSyhuLHYsRCx0aGlzLlcpfWdldChuLFcpe3ZhciBEPXZvaWQgMCxiPSF0aGlzLkooKTtpZighYil0cnl7RD10aGlzLk4uZ2V0KG4pfWNhdGNoKHYpe2I9ITB9aWYoYiYmKEQ9Zy5TZChuKSkmJihEPXVuZXNjYXBlKEQpLFcpKXRyeXtEPUpTT04ucGFyc2UoRCl9Y2F0Y2godil7dGhpcy5yZW1vdmUobiksRD12b2lkIDB9cmV0dXJuIER9cmVtb3ZlKG4pe3RoaXMuSigpJiYKdGhpcy5OLnJlbW92ZShuKTtBeShuLCIvIix0aGlzLlcpfX07dmFyIHZOPSgoKT0+e3ZhciBuO3JldHVybigpPT57bnx8KG49bmV3IHRJKCJ5dGlkYiIpKTtyZXR1cm4gbn19KSgpO3ZhciB4dT1bXSxoYz0hMTt2YXIgd1JNPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LE1HUz17QVVUSF9JTlZBTElEOiJFUlJPUiIsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6IldBUk5JTkciLEVYUExJQ0lUX0FCT1JUOiJJR05PUkVEIixJREJfTk9UX1NVUFBPUlRFRDoiRVJST1IiLE1JU1NJTkdfSU5ERVg6IldBUk5JTkciLE1JU1NJTkdfT0JKRUNUX1NUT1JFUzoiRVJST1IiLApEQl9ERUxFVEVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzoiV0FSTklORyIsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixRVU9UQV9FWENFRURFRDoiV0FSTklORyIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IldBUk5JTkciLFVOS05PV05fQUJPUlQ6IldBUk5JTkciLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiJXQVJOSU5HIn0sUm5pPXtBVVRIX0lOVkFMSUQ6ITEsRVhFQ1VURV9UUkFOU0FDVElPTl9PTl9DTE9TRURfREI6ITEsRVhQTElDSVRfQUJPUlQ6ITEsSURCX05PVF9TVVBQT1JURUQ6ITEsTUlTU0lOR19JTkRFWDohMSxNSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6ITEsREJfUkVPUEVORURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLFFVT1RBX0VYQ0VFREVEOiExLFFVT1RBX01BWUJFX0VYQ0VFREVEOiEwLFVOS05PV05fQUJPUlQ6ITAsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046ITF9LApxTD1jbGFzcyBleHRlbmRzIGcuUXh7Y29uc3RydWN0b3IobixXPXt9LEQ9d1JNW25dLGI9TUdTW25dLHY9Um5pW25dKXtzdXBlcihELHtuYW1lOiJZdElkYktub3duRXJyb3IiLGlzU3c6c2VsZi5kb2N1bWVudD09PXZvaWQgMCxpc0lmcmFtZTpzZWxmIT09c2VsZi50b3AsdHlwZTpuLC4uLld9KTt0aGlzLnR5cGU9bjt0aGlzLm1lc3NhZ2U9RDt0aGlzLmxldmVsPWI7dGhpcy5OPXY7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMscUwucHJvdG90eXBlKX19LFFkUz1jbGFzcyBleHRlbmRzIHFMe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOlcsZm91bmRPYmplY3RTdG9yZXM6bn0sd1JNLk1JU1NJTkdfT0JKRUNUX1NUT1JFUyk7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUWRTLnByb3RvdHlwZSl9fSx0Yz1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLmluZGV4PQpuO3RoaXMub2JqZWN0U3RvcmU9VztPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyx0Yy5wcm90b3R5cGUpfX0sTDBpPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBmRj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LHNSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuTj1bXTt0aGlzLko9W107bj1uLk47dmFyIFc9Yj0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6Yn07Zm9yKGxldCB2IG9mIHRoaXMuTil2KCl9fSxEPWI9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIsCnJlYXNvbjpifTtmb3IobGV0IHYgb2YgdGhpcy5KKXYoKX19Owp0cnl7bihXLEQpfWNhdGNoKGIpe0QoYil9fXN0YXRpYyBhbGwobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9Pnt2YXIgYj1bXSx2PW4ubGVuZ3RoO3Y9PT0wJiZXKGIpO2ZvcihsZXQgaz0wO2s8bi5sZW5ndGg7KytrKXNSLnJlc29sdmUobltrXSkudGhlbihoPT57YltrXT1oO3YtLTt2PT09MCYmVyhiKX0pLmNhdGNoKGg9PntEKGgpfSl9KSl9c3RhdGljIHJlc29sdmUobil7cmV0dXJuIG5ldyBzUihuZXcgZkYoKFcsRCk9PntuIGluc3RhbmNlb2Ygc1I/bi50aGVuKFcsRCk6VyhuKX0pKX1zdGF0aWMgcmVqZWN0KG4pe3JldHVybiBuZXcgc1IobmV3IGZGKChXLEQpPT57RChuKX0pKX10aGVuKG4sVyl7dmFyIEQ9bj8/Z1VyLGI9Vz8/ZXExOwpyZXR1cm4gbmV3IHNSKG5ldyBmRigodixrKT0+e3RoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciPyh0aGlzLk4ucHVzaCgoKT0+e3BGKHRoaXMsdGhpcyxELHYsayl9KSx0aGlzLkoucHVzaCgoKT0+e1l1KHRoaXMsdGhpcyxiLHYsayl9KSk6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iRlVMRklMTEVEIj9wRih0aGlzLHRoaXMsRCx2LGspOnRoaXMuc3RhdGUuc3RhdHVzPT09IlJFSkVDVEVEIiYmWXUodGhpcyx0aGlzLGIsdixrKX0pKX1jYXRjaChuKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxuKX19O3ZhciBxXzI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnJlcXVlc3Q9bjt0aGlzLmN1cnNvcj1XfX07dmFyIFlfcj1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMub3B0aW9ucz1XO3RoaXMudHJhbnNhY3Rpb25Db3VudD0wO3RoaXMuVz1NYXRoLnJvdW5kKCgwLGcuUikoKSk7dGhpcy5KPSExfWFkZChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLEdROiEwLGNvbW1pdDpBYygpfSxiPT5iLm9iamVjdFN0b3JlKG4pLmFkZChXLEQpKX1jbGVhcihuKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWR3cml0ZSIsCkdROiEwfSxXPT5XLm9iamVjdFN0b3JlKG4pLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5OLmNsb3NlKCk7CnRoaXMub3B0aW9ucz8uY2xvc2VkJiZ0aGlzLm9wdGlvbnMuY2xvc2VkKCl9Y291bnQobixXKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IixHUTohMCxjb21taXQ6QWMoKX0sRD0+RC5vYmplY3RTdG9yZShuKS5jb3VudChXKSl9ZGVsZXRlKG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKSYmIShXIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmRlbGV0ZShXKSl9Z2V0KG4sVyl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkb25seSIsCkdROiEwLGNvbW1pdDpBYygpfSxEPT5ELm9iamVjdFN0b3JlKG4pLmdldChXKSl9Z2V0QWxsKG4sVyxEKXtyZXR1cm4gT1IodGhpcyxbbl0se21vZGU6InJlYWRvbmx5IiwKR1E6ITB9LGI9PmIub2JqZWN0U3RvcmUobikuZ2V0QWxsKFcsRCkpfXB1dChuLFcsRCl7cmV0dXJuIE9SKHRoaXMsW25dLHttb2RlOiJyZWFkd3JpdGUiLApHUTohMCxjb21taXQ6QWMoKX0sYj0+Yi5vYmplY3RTdG9yZShuKS5wdXQoVyxEKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuTi5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfX0sUE49Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59YWRkKG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5hZGQobixXKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLk4uYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBKYyh0aGlzLk4uY2xlYXIoKSkudGhlbigoKT0+e30pfWNvdW50KG4pe3JldHVybiBKYyh0aGlzLk4uY291bnQobikpfWRlbGV0ZShuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIElEQktleVJhbmdlP3RYVSh0aGlzLG4pOkpjKHRoaXMuTi5kZWxldGUobikpfWdldChuKXtyZXR1cm4gSmModGhpcy5OLmdldChuKSl9Z2V0QWxsKG4sVyl7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/SmModGhpcy5OLmdldEFsbChuLApXKSk6JDN4KHRoaXMsbixXKX1pbmRleChuKXt0cnl7cmV0dXJuIG5ldyBWR2godGhpcy5OLmluZGV4KG4pKX1jYXRjaChXKXtpZihXIGluc3RhbmNlb2YgRXJyb3ImJlcubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgdGMobix0aGlzLk4ubmFtZSk7CnRocm93IFc7fX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuTi5uYW1lfWtleVBhdGgoKXtyZXR1cm4gdGhpcy5OLmtleVBhdGh9cHV0KG4sVyl7cmV0dXJuIEpjKHRoaXMuTi5wdXQobixXKSl9fSxtWD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bjt0aGlzLko9bmV3IE1hcDt0aGlzLmFib3J0ZWQ9ITE7dGhpcy5kb25lPW5ldyBQcm9taXNlKChXLEQpPT57dGhpcy5OLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e1coKX0pOwp0aGlzLk4uYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLGI9PntiLmN1cnJlbnRUYXJnZXQ9PT1iLnRhcmdldCYmRCh0aGlzLk4uZXJyb3IpfSk7CnRoaXMuTi5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsKCk9Pnt2YXIgYj10aGlzLk4uZXJyb3I7aWYoYilEKGIpO2Vsc2UgaWYoIXRoaXMuYWJvcnRlZCl7Yj1xTDt2YXIgdj10aGlzLk4ub2JqZWN0U3RvcmVOYW1lcztsZXQgaz1bXTtmb3IobGV0IGg9MDtoPHYubGVuZ3RoO2grKyl7bGV0IHg9di5pdGVtKGgpO2lmKHg9PT1udWxsKXRocm93IEVycm9yKCJJbnZhcmlhbnQ6IGl0ZW0gaW4gRE9NU3RyaW5nTGlzdCBpcyBudWxsIik7ay5wdXNoKHgpfWI9bmV3IGIoIlVOS05PV05fQUJPUlQiLHtvYmplY3RTdG9yZU5hbWVzOmsuam9pbigpLGRiTmFtZTp0aGlzLk4uZGIubmFtZSxtb2RlOnRoaXMuTi5tb2RlfSk7RChiKX19KX0pfWFib3J0KCl7dGhpcy5OLmFib3J0KCk7CnRoaXMuYWJvcnRlZD0hMDt0aHJvdyBuZXcgcUwoIkVYUExJQ0lUX0FCT1JUIik7fWNvbW1pdCgpe3RoaXMuYWJvcnRlZHx8dGhpcy5OLmNvbW1pdD8uKCl9b2JqZWN0U3RvcmUobil7bj10aGlzLk4ub2JqZWN0U3RvcmUobik7dmFyIFc9dGhpcy5KLmdldChuKTtXfHwoVz1uZXcgUE4obiksdGhpcy5KLnNldChuLFcpKTtyZXR1cm4gV319LFZHaD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1jb3VudChuKXtyZXR1cm4gSmModGhpcy5OLmNvdW50KG4pKX1kZWxldGUobil7cmV0dXJuIHpuKHRoaXMse3F1ZXJ5Om59LFc9PlcuZGVsZXRlKCkudGhlbigoKT0+b2coVykpKX1nZXQobil7cmV0dXJuIEpjKHRoaXMuTi5nZXQobikpfWdldEFsbChuLFcpe3JldHVybiJnZXRBbGwiaW4gSURCSW5kZXgucHJvdG90eXBlP0pjKHRoaXMuTi5nZXRBbGwobixXKSk6TlppKHRoaXMsbixXKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuTi5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLk4udW5pcXVlfX0sCnA5eD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMucmVxdWVzdD1uOwp0aGlzLmN1cnNvcj1XfWRlbGV0ZSgpe3JldHVybiBKYyh0aGlzLmN1cnNvci5kZWxldGUoKSkudGhlbigoKT0+e30pfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMuY3Vyc29yLnZhbHVlfXVwZGF0ZShuKXtyZXR1cm4gSmModGhpcy5jdXJzb3IudXBkYXRlKG4pKX19O3ZhciBjTTE9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLm5hbWU9bjt0aGlzLm9wdGlvbnM9Vzt0aGlzLlc9ITA7dGhpcy5qPXRoaXMuWD0wfUoobixXLEQ9e30pe3JldHVybiBsUShuLFcsRCl9ZGVsZXRlKG49e30pe3JldHVybiBUbih0aGlzLm5hbWUsbil9b3Blbigpe2lmKCF0aGlzLlcpdGhyb3cgakYodGhpcyk7aWYodGhpcy5OKXJldHVybiB0aGlzLk47dmFyIG4sVz0oKT0+e3RoaXMuTj09PW4mJih0aGlzLk49dm9pZCAwKX0sRD17YmxvY2tpbmc6dj0+e3YuY2xvc2UoKX0sCmNsb3NlZDpXLEJ6OlcsdXBncmFkZTp0aGlzLm9wdGlvbnMudXBncmFkZX0sYj1hc3luYygpPT57dmFyIHY9RXJyb3IoKS5zdGFjaz8/IiI7dHJ5e2xldCB4PWF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdGhpcy5vcHRpb25zLnZlcnNpb24sRCk7dmFyIGs9eCxoPXRoaXMub3B0aW9ucztsZXQgTD1bXTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoaC5LYykpe2xldCB7dng6RyxtUjpyPU51bWJlci5NQVhfVkFMVUV9PWguS2NbZV07IShrLk4udmVyc2lvbj49Ryl8fGsuTi52ZXJzaW9uPj1yfHxrLk4ub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhlKXx8TC5wdXNoKGUpfWlmKEwubGVuZ3RoIT09MCl7bGV0IGU9T2JqZWN0LmtleXModGhpcy5vcHRpb25zLktjKSxHPXgub2JqZWN0U3RvcmVOYW1lcygpO2lmKHRoaXMuajx2MCgieXRpZGJfcmVvcGVuX2RiX3JldHJpZXMiLDApKXJldHVybiB0aGlzLmorKyx4LmNsb3NlKCksTEYobmV3IHFMKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLAp7ZGJOYW1lOnRoaXMubmFtZSxleHBlY3RlZE9iamVjdFN0b3JlczplLGZvdW5kT2JqZWN0U3RvcmVzOkd9KSksYigpO2lmKHRoaXMuWDx2MCgieXRpZGJfcmVtYWtlX2RiX3JldHJpZXMiLDEpKXJldHVybiB0aGlzLlgrKyxhd2FpdCB0aGlzLmRlbGV0ZSgpLExGKG5ldyBxTCgiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOmUsZm91bmRPYmplY3RTdG9yZXM6R30pKSxiKCk7dGhyb3cgbmV3IFFkUyhHLGUpO31yZXR1cm4geH1jYXRjaCh4KXtpZih4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP3gubmFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZ4IGluc3RhbmNlb2YgRE9NRXJyb3I/eC5uYW1lPT09IlZlcnNpb25FcnJvciI6eCBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4geCYmeC5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe3Y9CmF3YWl0IHRoaXMuSih0aGlzLm5hbWUsdm9pZCAwLHsuLi5ELHVwZ3JhZGU6dm9pZCAwfSk7az12Lk4udmVyc2lvbjtpZih0aGlzLm9wdGlvbnMudmVyc2lvbiE9PXZvaWQgMCYmaz50aGlzLm9wdGlvbnMudmVyc2lvbisxKXRocm93IHYuY2xvc2UoKSx0aGlzLlc9ITEsakYodGhpcyxrKTtyZXR1cm4gdn1XKCk7eCBpbnN0YW5jZW9mIEVycm9yJiYhZy5sKCJ5dGlkYl9hc3luY19zdGFja19raWxsc3dpdGNoIikmJih4LnN0YWNrPWAke3guc3RhY2t9XG4ke3Yuc3Vic3RyaW5nKHYuaW5kZXhPZigiXG4iKSsxKX1gKTt0aHJvdyAkdSh4LHRoaXMubmFtZSwiIix0aGlzLm9wdGlvbnMudmVyc2lvbj8/LTEpO319OwpyZXR1cm4gdGhpcy5OPW49YigpfX07dmFyIEJOPW5ldyBjTTEoIll0SWRiTWV0YSIse0tjOntkYXRhYmFzZXM6e3Z4OjF9fSx1cGdyYWRlKG4sVyl7VygxKSYmWnkobiwiZGF0YWJhc2VzIix7a2V5UGF0aDoiYWN0dWFsTmFtZSJ9KX19KTt2YXIgVmMsUWM9bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0obmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7fX0pO25ldyBnLktWO3ZhciBPNXQ9Y2xhc3MgZXh0ZW5kcyBjTTF7Y29uc3RydWN0b3IobixXKXtzdXBlcihuLFcpO3RoaXMub3B0aW9ucz1XO2cwKG4pfUoobixXLEQ9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP0FfcjpTX1opKG4sVyx7Li4uRH0pfWRlbGV0ZShuPXt9KXtyZXR1cm4odGhpcy5vcHRpb25zLnNoYXJlZD92ejptM3cpKHRoaXMubmFtZSxuKX19O3ZhciBaNUM9a08oInl0R2NmQ29uZmlnIix7S2M6e2NvbGRDb25maWdTdG9yZTp7dng6MX0saG90Q29uZmlnU3RvcmU6e3Z4OjF9fSxzaGFyZWQ6ITEsdXBncmFkZShuLFcpe1coMSkmJihFUihaeShuLCJob3RDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJob3RUaW1lc3RhbXBJbmRleCIsInRpbWVzdGFtcCIpLEVSKFp5KG4sImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBhTzE9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9W107dGhpcy5OPVtdO3ZhciBuPWcucnIoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIik7bj8odGhpcy5KPVsuLi5uXSx0aGlzLk49bik6KHRoaXMuTj1bXSxnLkdiKCJ5dC5nY2YuY29uZmlnLmhvdFVwZGF0ZUNhbGxiYWNrcyIsdGhpcy5OKSl9bUEoKXtmb3IobGV0IFcgb2YgdGhpcy5KKXt2YXIgbj10aGlzLk47bGV0IEQ9bi5pbmRleE9mKFcpO0Q+PTAmJm4uc3BsaWNlKEQsMSl9dGhpcy5KLmxlbmd0aD0wO3N1cGVyLm1BKCl9fTtnLlgzPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5WPSExO3RoaXMuaj10aGlzLlg9MDt0aGlzLks9bmV3IGFPMX1MWCgpe3JldHVybiAkTygpPz9nLkFyKCJSQVdfSE9UX0NPTkZJR19HUk9VUCIpfVcobil7dGhpcy5ob3RIYXNoRGF0YT1uO2cuR2IoInl0LmdjZi5jb25maWcuaG90SGFzaERhdGEiLHRoaXMuaG90SGFzaERhdGF8fG51bGwpfX07dmFyIG5naD10eXBlb2YgVGV4dEVuY29kZXIhPT0idW5kZWZpbmVkIj9uZXcgVGV4dEVuY29kZXI6bnVsbCxRZD1uZ2g/bj0+bmdoLmVuY29kZShuKTpuPT57bj1MMChuKTsKdmFyIFc9bmV3IFVpbnQ4QXJyYXkobi5sZW5ndGgpO2ZvcihsZXQgRD0wO0Q8Vy5sZW5ndGg7RCsrKVdbRF09bltEXTtyZXR1cm4gV307dmFyIGhlPXtuZXh0OiJ3bl9zIixicm93c2U6ImJyX3MiLHNlYXJjaDoic3JfcyIscmVlbDoicl93cnMiLHBsYXllcjoicHNfcyJ9LFVITT17bmV4dDoid25fciIsYnJvd3NlOiJicl9yIixzZWFyY2g6InNyX3IiLHJlZWw6InJfd3JyIixwbGF5ZXI6InBzX3IifTtvNy5wcm90b3R5cGUuYlk9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtkMy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b3BpY307dmFyIFdIUz1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKXx8bmV3IEJLO0JLLnByb3RvdHlwZS5zdWJzY3JpYmU9QksucHJvdG90eXBlLnN1YnNjcmliZTtCSy5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1CSy5wcm90b3R5cGUuaks7QksucHJvdG90eXBlLnB1Ymxpc2g9QksucHJvdG90eXBlLldKO0JLLnByb3RvdHlwZS5jbGVhcj1CSy5wcm90b3R5cGUuY2xlYXI7Zy5HYigieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixXSFMpO3ZhciBqOT1nLnJyKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Zy5HYigieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixqOSk7dmFyIEJ6PWcucnIoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtnLkdiKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLEJ6KTt2YXIgQ1A9Zy5ycigieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307CmcuR2IoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixDUCk7Zy5HYigieXRQdWJzdWIyUHVic3ViMlNraXBTdWJLZXkiLG51bGwpO3ZhciBNQj12MCgibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KSxSNz12MCgibWluX2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNTAwKSx3OWo9MDt2YXIgRHoxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuV3Y9dGhpcy5OPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuSj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9Owp0aGlzLkYyPSgpPT57fTsKdGhpcy5ub3c9RGF0ZS5ub3c7dGhpcy5OaD0hMTt0aGlzLnV4PW4udXg/PzEwMDt0aGlzLkExPW4uQTE/PzE7dGhpcy5HeT1uLkd5Pz8yNTkyRTY7dGhpcy5aND1uLlo0Pz8xMkU0O3RoaXMuSVA9bi5JUD8/NUUzO3RoaXMuWVc9bi5ZVz8/dm9pZCAwO3RoaXMuQ3I9ISFuLkNyO3RoaXMuS3I9bi5Lcj8/LjE7dGhpcy5IRj1uLkhGPz8xMDtuLmhhbmRsZUVycm9yJiYodGhpcy5oYW5kbGVFcnJvcj1uLmhhbmRsZUVycm9yKTtuLkYyJiYodGhpcy5GMj1uLkYyKTtuLk5oJiYodGhpcy5OaD1uLk5oKTtuLld2JiYodGhpcy5Xdj1uLld2KTt0aGlzLkVxPW4uRXE7dGhpcy5BJD1uLkEkO3RoaXMuZ0U9bi5nRTt0aGlzLnlHPW4ueUc7dGhpcy5MbT1uLkxtO3RoaXMudVo9bi51Wjt0aGlzLk5BPW4uTkE7Y3oodGhpcykmJighdGhpcy5FcXx8dGhpcy5FcSgibmV0d29ya2xlc3NfbG9nZ2luZyIpKSYmbm0odGhpcyl9d3JpdGVUaGVuU2VuZChuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPQp7dXJsOm4sb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH07dGhpcy5nRS5zZXQoRCx0aGlzLllXKS50aGVuKGI9PntELmlkPWI7dGhpcy55Ry5XRygpJiZENSh0aGlzLEQpfSkuY2F0Y2goYj0+e0Q1KHRoaXMsRCk7CmJNKHRoaXMsYil9KX1lbHNlIHRoaXMuTG0obixXKX1zZW5kVGhlbldyaXRlKG4sVz17fSxEKXtpZihjeih0aGlzKSYmdGhpcy5OKXtsZXQgYj17dXJsOm4sCm9wdGlvbnM6Vyx0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9O3RoaXMuRXEmJnRoaXMuRXEoIm53bF9za2lwX3JldHJ5IikmJihiLnNraXBSZXRyeT1EKTtpZih0aGlzLnlHLldHKCl8fHRoaXMuRXEmJnRoaXMuRXEoIm53bF9hZ2dyZXNzaXZlX3NlbmRfdGhlbl93cml0ZSIpJiYhYi5za2lwUmV0cnkpe2lmKCFiLnNraXBSZXRyeSl7bGV0IHY9Vy5vbkVycm9yP1cub25FcnJvcjooKT0+e307Clcub25FcnJvcj1hc3luYyhrLGgpPT57YXdhaXQgdGhpcy5nRS5zZXQoYix0aGlzLllXKS5jYXRjaCh4PT57Yk0odGhpcyx4KX0pOwp2KGssaCl9fXRoaXMuTG0obixXLGIuc2tpcFJldHJ5KX1lbHNlIHRoaXMuZ0Uuc2V0KGIsdGhpcy5ZVykuY2F0Y2godj0+e3RoaXMuTG0obixXLGIuc2tpcFJldHJ5KTsKYk0odGhpcyx2KX0pfWVsc2UgRD10aGlzLkVxJiZ0aGlzLkVxKCJud2xfc2tpcF9yZXRyeSIpJiZELHRoaXMuTG0obixXLEQpfXNlbmRBbmRXcml0ZShuLFc9e30pe2lmKGN6KHRoaXMpJiZ0aGlzLk4pe2xldCBEPXt1cmw6biwKb3B0aW9uczpXLHRpbWVzdGFtcDp0aGlzLm5vdygpLHN0YXR1czoiTkVXIixzZW5kQ291bnQ6MH0sYj0hMSx2PVcub25TdWNjZXNzP1cub25TdWNjZXNzOigpPT57fTsKRC5vcHRpb25zLm9uU3VjY2Vzcz0oayxoKT0+e0QuaWQhPT12b2lkIDA/dGhpcy5nRS5UTShELmlkLHRoaXMuWVcpOmI9ITA7dGhpcy55Ry5sYyYmdGhpcy5FcSYmdGhpcy5FcSgidnNzX25ldHdvcmtfaGludCIpJiZ0aGlzLnlHLmxjKCEwKTt2KGssaCl9Owp0aGlzLkxtKEQudXJsLEQub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuZ0Uuc2V0KEQsdGhpcy5ZVykudGhlbihrPT57RC5pZD1rO2ImJnRoaXMuZ0UuVE0oRC5pZCx0aGlzLllXKX0pLmNhdGNoKGs9PntiTSh0aGlzLGspfSl9ZWxzZSB0aGlzLkxtKG4sVyx2b2lkIDAsITApfVcoKXtpZighY3oodGhpcykpdGhyb3cgRXJyb3IoIkluZGV4ZWREQiBpcyBub3Qgc3VwcG9ydGVkOiB0aHJvdHRsZVNlbmQiKTsKdGhpcy5KfHwodGhpcy5KPXRoaXMuQSQuTFMoYXN5bmMoKT0+e3ZhciBuPWF3YWl0IHRoaXMuZ0UuaTQoIk5FVyIsdGhpcy5ZVyk7bj8oYXdhaXQgRDUodGhpcyxuKSx0aGlzLkomJih0aGlzLko9MCx0aGlzLlcoKSkpOnRoaXMuWCgpfSx0aGlzLnV4KSl9WCgpe3RoaXMuQSQuc08odGhpcy5KKTsKdGhpcy5KPTB9fTt2YXIgdlU7dmFyIHk0PXthY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRJbjoyMyxhY2NvdW50U3RhdGVDaGFuZ2VTaWduZWRPdXQ6MjQsZGVsYXllZEV2ZW50TWV0cmljQ2FwdHVyZWQ6MTEsbGF0ZW5jeUFjdGlvbkJhc2VsaW5lZDo2LGxhdGVuY3lBY3Rpb25JbmZvOjcsbGF0ZW5jeUFjdGlvblRpY2tlZDo1LG9mZmxpbmVUcmFuc2ZlclN0YXR1c0NoYW5nZWQ6MixvZmZsaW5lSW1hZ2VEb3dubG9hZDozMzUscGxheWJhY2tTdGFydFN0YXRlQ2hhbmdlZDo5LHN5c3RlbUhlYWx0aENhcHR1cmVkOjMsbWFuZ29PbmJvYXJkaW5nQ29tcGxldGVkOjEwLG1hbmdvUHVzaE5vdGlmaWNhdGlvblJlY2VpdmVkOjIzMCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uRXJyb3I6MTIxLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdW1tYXJ5OjEyMixtYW5nb1VuZm9ya0RiTWlncmF0aW9uUHJldW5mb3JrRGJWZXJzaW9uTnVtYmVyOjEzMyxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVNZXRhZGF0YToxMzQsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblBob25lU3RvcmFnZToxMzUsCm1hbmdvVW5mb3JrRGJNaWdyYXRpb25TdGVwOjE0MixtYW5nb0FzeW5jQXBpTWlncmF0aW9uRXZlbnQ6MjIzLG1hbmdvRG93bmxvYWRWaWRlb1Jlc3VsdDoyMjQsbWFuZ29Ib21lcGFnZVZpZGVvQ291bnQ6Mjc5LG1hbmdvSG9tZVYzU3RhdGU6Mjk1LG1hbmdvSW1hZ2VDbGllbnRDYWNoZUhpdEV2ZW50OjI3MyxzZENhcmRTdGF0dXNDaGFuZ2VkOjk4LGZyYW1lc0Ryb3BwZWQ6MTIsdGh1bWJuYWlsSG92ZXJlZDoxMyxkZXZpY2VSZXRlbnRpb25JbmZvQ2FwdHVyZWQ6MTQsdGh1bWJuYWlsTG9hZGVkOjE1LGJhY2tUb0FwcEV2ZW50OjMxOCxzdHJlYW1pbmdTdGF0c0NhcHR1cmVkOjE3LG9mZmxpbmVWaWRlb1NoYXJlZDoxOSxhcHBDcmFzaGVkOjIwLHlvdVRoZXJlOjIxLG9mZmxpbmVTdGF0ZVNuYXBzaG90OjIyLG1keFNlc3Npb25TdGFydGVkOjI1LG1keFNlc3Npb25Db25uZWN0ZWQ6MjYsbWR4U2Vzc2lvbkRpc2Nvbm5lY3RlZDoyNyxiZWRyb2NrUmVzb3VyY2VDb25zdW1wdGlvblNuYXBzaG90OjI4LApuZXh0R2VuV2F0Y2hXYXRjaFN3aXBlZDoyOSxraWRzQWNjb3VudHNTbmFwc2hvdDozMCx6ZXJvU3RlcENoYW5uZWxDcmVhdGVkOjMxLHR2aHRtbDVTZWFyY2hDb21wbGV0ZWQ6MzIsb2ZmbGluZVNoYXJlUGFpcmluZzozNCxvZmZsaW5lU2hhcmVVbmxvY2s6MzUsbWR4Um91dGVEaXN0cmlidXRpb25TbmFwc2hvdDozNixiZWRyb2NrUmVwZXRpdGl2ZUFjdGlvblRpbWVkOjM3LHVucGx1Z2dlZERlZ3JhZGF0aW9uSW5mbzoyMjksdXBsb2FkTXA0SGVhZGVyTW92ZWQ6MzgsdXBsb2FkVmlkZW9UcmFuc2NvZGVkOjM5LHVwbG9hZFByb2Nlc3NvclN0YXJ0ZWQ6NDYsdXBsb2FkUHJvY2Vzc29yRW5kZWQ6NDcsdXBsb2FkUHJvY2Vzc29yUmVhZHk6OTQsdXBsb2FkUHJvY2Vzc29yUmVxdWlyZW1lbnRQZW5kaW5nOjk1LHVwbG9hZFByb2Nlc3NvckludGVycnVwdGVkOjk2LHVwbG9hZEZyb250ZW5kRXZlbnQ6MjQxLGFzc2V0UGFja0Rvd25sb2FkU3RhcnRlZDo0MSxhc3NldFBhY2tEb3dubG9hZGVkOjQyLAphc3NldFBhY2tBcHBsaWVkOjQzLGFzc2V0UGFja0RlbGV0ZWQ6NDQsYXBwSW5zdGFsbEF0dHJpYnV0aW9uRXZlbnQ6NDU5LHBsYXliYWNrU2Vzc2lvblN0b3BwZWQ6NDUsYWRCbG9ja2VyTWVzc2FnaW5nU2hvd246NDgsZGlzdHJpYnV0aW9uQ2hhbm5lbENhcHR1cmVkOjQ5LGRhdGFQbGFuQ3BpZFJlcXVlc3RlZDo1MSxkZXRhaWxlZE5ldHdvcmtUeXBlQ2FwdHVyZWQ6NTIsc2VuZFN0YXRlVXBkYXRlZDo1MyxyZWNlaXZlU3RhdGVVcGRhdGVkOjU0LHNlbmREZWJ1Z1N0YXRlVXBkYXRlZDo1NSxyZWNlaXZlRGVidWdTdGF0ZVVwZGF0ZWQ6NTYsa2lkc0Vycm9yZWQ6NTcsbWR4TXNuU2Vzc2lvblN0YXRzRmluaXNoZWQ6NTgsYXBwU2V0dGluZ3NDYXB0dXJlZDo1OSxtZHhXZWJTb2NrZXRTZXJ2ZXJIdHRwRXJyb3I6NjAsbWR4V2ViU29ja2V0U2VydmVyOjYxLHN0YXJ0dXBDcmFzaGVzRGV0ZWN0ZWQ6NjIsY29sZFN0YXJ0SW5mbzo0MzUsb2ZmbGluZVBsYXliYWNrU3RhcnRlZDo2MyxsaXZlQ2hhdE1lc3NhZ2VTZW50OjIyNSwKbGl2ZUNoYXRVc2VyUHJlc2VudDo0MzQsbGl2ZUNoYXRCZWluZ01vZGVyYXRlZDo0NTcsbGl2ZUNoYXRHaWZ0QnV0dG9uSW1wcmVzc2VkOjU1OCxsaXZlQ3JlYXRpb25DYW1lcmFVcGRhdGVkOjY0LGxpdmVDcmVhdGlvbkVuY29kaW5nQ2FwdHVyZWQ6NjUsbGl2ZUNyZWF0aW9uRXJyb3I6NjYsbGl2ZUNyZWF0aW9uSGVhbHRoVXBkYXRlZDo2NyxsaXZlQ3JlYXRpb25WaWRlb0VmZmVjdHNDYXB0dXJlZDo2OCxsaXZlQ3JlYXRpb25TdGFnZU9jY3VyZWQ6NzUsb2ZmbGluZVN5c3RlbUZhaWx1cmU6NTQ2LGxpdmVDcmVhdGlvbkJyb2FkY2FzdFNjaGVkdWxlZDoxMjMsbGl2ZUNyZWF0aW9uQXJjaGl2ZVJlcGxhY2VtZW50OjE0OSxsaXZlQ3JlYXRpb25Db3N0cmVhbWluZ0Nvbm5lY3Rpb246NDIxLGxpdmVDcmVhdGlvblBsYXlhYmxlc01ldHJpY3M6NTMzLGxpdmVDcmVhdGlvblN0cmVhbVdlYnJ0Y1N0YXRzOjI4OCxsaXZlQ3JlYXRpb25XZWJydGNFcnJvcjo1MjYsbWR4U2Vzc2lvblJlY292ZXJ5U3RhcnRlZDo2OSwKbWR4U2Vzc2lvblJlY292ZXJ5Q29tcGxldGVkOjcwLG1keFNlc3Npb25SZWNvdmVyeVN0b3BwZWQ6NzEsdmlzdWFsRWxlbWVudFNob3duOjcyLHZpc3VhbEVsZW1lbnRIaWRkZW46NzMsdmlzdWFsRWxlbWVudEdlc3R1cmVkOjc4LHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQ6MjA4LHNjcmVlbkNyZWF0ZWQ6MTU2LHBsYXliYWNrQXNzb2NpYXRlZDoyMDIsdmlzdWFsRWxlbWVudEF0dGFjaGVkOjIxNSxwbGF5YmFja0NvbnRleHRFdmVudDoyMTQsY2xvdWRDYXN0aW5nUGxheWJhY2tTdGFydGVkOjc0LHdlYlBsYXllckFwaUNhbGxlZDo3Nix0dmh0bWw1QWNjb3VudERpYWxvZ09wZW5lZDo3OSxmb3JlZ3JvdW5kSGVhcnRiZWF0OjgwLGZvcmVncm91bmRIZWFydGJlYXRTY3JlZW5Bc3NvY2lhdGVkOjExMSxraWRzT2ZmbGluZVNuYXBzaG90OjgxLG1keEVuY3J5cHRpb25TZXNzaW9uU3RhdHNGaW5pc2hlZDo4MixwbGF5ZXJSZXF1ZXN0Q29tcGxldGVkOjgzLGxpdGVTY2hlZHVsZXJTdGF0aXN0aWNzOjg0LAptZHhTaWduSW46ODUsc3BhY2VjYXN0TWV0YWRhdGFMb29rdXBSZXF1ZXN0ZWQ6ODYsc3BhY2VjYXN0QmF0Y2hMb29rdXBSZXF1ZXN0ZWQ6ODcsc3BhY2VjYXN0U3VtbWFyeVJlcXVlc3RlZDo4OCxzcGFjZWNhc3RQbGF5YmFjazo4OSxzcGFjZWNhc3REaXNjb3Zlcnk6OTAsdHZodG1sNUxhdW5jaFVybENvbXBvbmVudENoYW5nZWQ6OTEsbWR4QmFja2dyb3VuZFBsYXliYWNrUmVxdWVzdENvbXBsZXRlZDo5MixtZHhCcm9rZW5BZGRpdGlvbmFsRGF0YURldmljZURldGVjdGVkOjkzLHR2aHRtbDVMb2NhbFN0b3JhZ2U6OTcsdHZodG1sNURldmljZVN0b3JhZ2VTdGF0dXM6MTQ3LGF1dG9DYXB0aW9uc0F2YWlsYWJsZTo5OSxwbGF5YmFja1NjcnViYmluZ0V2ZW50OjMzOSxmbGV4eVN0YXRlOjEwMCxpbnRlcmZhY2VPcmllbnRhdGlvbkNhcHR1cmVkOjEwMSxtYWluQXBwQnJvd3NlRnJhZ21lbnRDYWNoZToxMDIsb2ZmbGluZUNhY2hlVmVyaWZpY2F0aW9uRmFpbHVyZToxMDMsb2ZmbGluZVBsYXliYWNrRXhjZXB0aW9uRGlnZXN0OjIxNywKdnJDb3ByZXNlbmNlU3RhdHM6MTA0LHZyQ29wcmVzZW5jZVN5bmNTdGF0czoxMzAsdnJDb3ByZXNlbmNlQ29tbXNTdGF0czoxMzcsdnJDb3ByZXNlbmNlUGFydHlTdGF0czoxNTMsdnJDb3ByZXNlbmNlRW1vamlTdGF0czoyMTMsdnJDb3ByZXNlbmNlRXZlbnQ6MTQxLHZyQ29wcmVzZW5jZUZsb3dUcmFuc2l0RXZlbnQ6MTYwLHZyQ293YXRjaFBhcnR5RXZlbnQ6NDkyLHZyQ293YXRjaFVzZXJTdGFydE9ySm9pbkV2ZW50OjUwNCx2clBsYXliYWNrRXZlbnQ6MzQ1LGtpZHNBZ2VHYXRlVHJhY2tpbmc6MTA1LG9mZmxpbmVEZWxheUFsbG93ZWRUcmFja2luZzoxMDYsbWFpbkFwcEF1dG9PZmZsaW5lU3RhdGU6MTA3LHZpZGVvQXNUaHVtYm5haWxEb3dubG9hZDoxMDgsdmlkZW9Bc1RodW1ibmFpbFBsYXliYWNrOjEwOSxsaXRlU2hvd01vcmU6MTEwLHJlbmRlcmluZ0Vycm9yOjExOCxraWRzUHJvZmlsZVBpbkdhdGVUcmFja2luZzoxMTksYWJyVHJhamVjdG9yeToxMjQsc2Nyb2xsRXZlbnQ6MTI1LApzdHJlYW16SW5jcmVtZW50ZWQ6MTI2LGtpZHNQcm9maWxlU3dpdGNoZXJUcmFja2luZzoxMjcsa2lkc1Byb2ZpbGVDcmVhdGlvblRyYWNraW5nOjEyOSxidXlGbG93U3RhcnRlZDoxMzYsaW50ZWdyYXRpb25BdHRyaWJ1dGlvbkV2ZW50OjU1NixtYnNDb25uZWN0aW9uSW5pdGlhdGVkOjEzOCxtYnNQbGF5YmFja0luaXRpYXRlZDoxMzksbWJzTG9hZENoaWxkcmVuOjE0MCxsaXRlUHJvZmlsZUZldGNoZXI6MTQ0LG1keFJlbW90ZVRyYW5zYWN0aW9uOjE0NixyZWVsUGxheWJhY2tFcnJvcjoxNDgscmVhY2hhYmlsaXR5RGV0ZWN0aW9uRXZlbnQ6MTUwLG1vYmlsZVBsYXliYWNrRXZlbnQ6MTUxLGNvdXJ0c2lkZVBsYXllclN0YXRlQ2hhbmdlZDoxNTIsbXVzaWNQZXJzaXN0ZW50Q2FjaGVDaGVja2VkOjE1NCxtdXNpY1BlcnNpc3RlbnRDYWNoZUNsZWFyZWQ6MTU1LHBsYXliYWNrSW50ZXJydXB0ZWQ6MTU3LHBsYXliYWNrSW50ZXJydXB0aW9uUmVzb2x2ZWQ6MTU4LGZpeEZvcEZsb3c6MTU5LAphbnJEZXRlY3Rpb246MTYxLGJhY2tzdGFnZVBvc3RDcmVhdGlvbkZsb3dFbmRlZDoxNjIsY2xpZW50RXJyb3I6MTYzLGdhbWluZ0FjY291bnRMaW5rU3RhdHVzQ2hhbmdlZDoxNjQsbGl0ZUhvdXNld2FybWluZzoxNjUsYnV5Rmxvd0V2ZW50OjE2NyxraWRzUGFyZW50YWxHYXRlVHJhY2tpbmc6MTY4LGtpZHNTaWduZWRPdXRTZXR0aW5nc1N0YXR1czo0Mzcsa2lkc1NpZ25lZE91dFBhdXNlSGlzdG9yeUZpeFN0YXR1czo0MzgsdHZodG1sNVdhdGNoZG9nVmlvbGF0aW9uOjQ0NCx5cGNVcGdyYWRlRmxvdzoxNjkseW9uZ2xlU3R1ZHk6MTcwLHlwY1VwZGF0ZUZsb3dTdGFydGVkOjE3MSx5cGNVcGRhdGVGbG93Q2FuY2VsbGVkOjE3Mix5cGNVcGRhdGVGbG93U3VjY2VlZGVkOjE3Myx5cGNVcGRhdGVGbG93RmFpbGVkOjE3NCxsaXRlR3Jvd3Roa2l0UHJvbW86MTc1LHBheW1lbnRGbG93U3RhcnRlZDozNDEsdHJhbnNhY3Rpb25GbG93U2hvd1BheW1lbnREaWFsb2c6NDA1LHRyYW5zYWN0aW9uRmxvd1N0YXJ0ZWQ6MTc2LAp0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdGFydGVkOjIyMix0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTaWduZWRPdXRTdGFydGVkOjM4Myx0cmFuc2FjdGlvbkZsb3dDYW5jZWxsZWQ6MTc3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRDYWxsQmFja1JlY2VpdmVkOjM4Nyx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VibWl0dGVkOjQ2MCx0cmFuc2FjdGlvbkZsb3dQYXltZW50U3VjY2VlZGVkOjMyOSx0cmFuc2FjdGlvbkZsb3dTdWNjZWVkZWQ6MTc4LHRyYW5zYWN0aW9uRmxvd0ZhaWxlZDoxNzksdHJhbnNhY3Rpb25GbG93UGxheUJpbGxpbmdDb25uZWN0aW9uU3RhcnRFdmVudDo0MjgsdHJhbnNhY3Rpb25GbG93U2Vjb25kYXJ5RGV2aWNlU3VjY2Vzczo0NTgsdHJhbnNhY3Rpb25GbG93RXJyb3JFdmVudDo0MTEsbGl0ZVZpZGVvUXVhbGl0eUNoYW5nZWQ6MTgwLHdhdGNoQnJlYWtFbmFibGVtZW50U2V0dGluZ0V2ZW50OjE4MSx3YXRjaEJyZWFrRnJlcXVlbmN5U2V0dGluZ0V2ZW50OjE4MiwKdmlkZW9FZmZlY3RzQ2FtZXJhUGVyZm9ybWFuY2VNZXRyaWNzOjE4MyxhZE5vdGlmeToxODQsc3RhcnR1cFRlbGVtZXRyeToxODUscGxheWJhY2tPZmZsaW5lRmFsbGJhY2tVc2VkOjE4NixvdXRPZk1lbW9yeToxODcseXBjUGF1c2VGbG93U3RhcnRlZDoxODgseXBjUGF1c2VGbG93Q2FuY2VsbGVkOjE4OSx5cGNQYXVzZUZsb3dTdWNjZWVkZWQ6MTkwLHlwY1BhdXNlRmxvd0ZhaWxlZDoxOTEsdXBsb2FkRmlsZVNlbGVjdGVkOjE5Mix5cGNSZXN1bWVGbG93U3RhcnRlZDoxOTMseXBjUmVzdW1lRmxvd0NhbmNlbGxlZDoxOTQseXBjUmVzdW1lRmxvd1N1Y2NlZWRlZDoxOTUseXBjUmVzdW1lRmxvd0ZhaWxlZDoxOTYsYWRzQ2xpZW50U3RhdGVDaGFuZ2U6MTk3LHlwY0NhbmNlbEZsb3dTdGFydGVkOjE5OCx5cGNDYW5jZWxGbG93Q2FuY2VsbGVkOjE5OSx5cGNDYW5jZWxGbG93U3VjY2VlZGVkOjIwMCx5cGNDYW5jZWxGbG93RmFpbGVkOjIwMSx5cGNDYW5jZWxGbG93R29Ub1BheW1lbnRQcm9jZXNzb3I6NDAyLAp5cGNEZWFjdGl2YXRlRmxvd1N0YXJ0ZWQ6MzIwLHlwY1JlZGVlbUZsb3dTdGFydGVkOjIwMyx5cGNSZWRlZW1GbG93Q2FuY2VsbGVkOjIwNCx5cGNSZWRlZW1GbG93U3VjY2VlZGVkOjIwNSx5cGNSZWRlZW1GbG93RmFpbGVkOjIwNix5cGNGYW1pbHlDcmVhdGVGbG93U3RhcnRlZDoyNTgseXBjRmFtaWx5Q3JlYXRlRmxvd0NhbmNlbGxlZDoyNTkseXBjRmFtaWx5Q3JlYXRlRmxvd1N1Y2NlZWRlZDoyNjAseXBjRmFtaWx5Q3JlYXRlRmxvd0ZhaWxlZDoyNjEseXBjRmFtaWx5TWFuYWdlRmxvd1N0YXJ0ZWQ6MjYyLHlwY0ZhbWlseU1hbmFnZUZsb3dDYW5jZWxsZWQ6MjYzLHlwY0ZhbWlseU1hbmFnZUZsb3dTdWNjZWVkZWQ6MjY0LHlwY0ZhbWlseU1hbmFnZUZsb3dGYWlsZWQ6MjY1LHJlc3RvcmVDb250ZXh0RXZlbnQ6MjA3LGVtYmVkc0FkRXZlbnQ6MzI3LGF1dG9wbGF5VHJpZ2dlcmVkOjIwOSxjbGllbnREYXRhRXJyb3JFdmVudDoyMTAsZXhwZXJpbWVudGFsVnNzVmFsaWRhdGlvbjoyMTEsCnR2aHRtbDVUcmlnZ2VyZWRFdmVudDoyMTIsdHZodG1sNUZyYW1ld29ya3NGaWVsZFRyaWFsUmVzdWx0OjIxNix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxTdGFydDoyMjAsbXVzaWNPZmZsaW5lUHJlZmVyZW5jZXM6MjE4LHdhdGNoVGltZVNlZ21lbnQ6MjE5LGFwcFdpZHRoTGF5b3V0RXJyb3I6MjIxLGFjY291bnRSZWdpc3RyeUNoYW5nZToyMjYsdXNlck1lbnRpb25BdXRvQ29tcGxldGVCb3hFdmVudDoyMjcsZG93bmxvYWRSZWNvbW1lbmRhdGlvbkVuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MjI4LG11c2ljUGxheWJhY2tDb250ZW50TW9kZUNoYW5nZUV2ZW50OjIzMSxvZmZsaW5lRGJPcGVuQ29tcGxldGVkOjIzMixraWRzRmxvd0V2ZW50OjIzMyxraWRzRmxvd0NvcnB1c1NlbGVjdGVkRXZlbnQ6MjM0LHZpZGVvRWZmZWN0c0V2ZW50OjIzNSx1bnBsdWdnZWRPcHNFb2dBbmFseXRpY3NFdmVudDoyMzYscGxheWJhY2tBdWRpb1JvdXRlRXZlbnQ6MjM3LGludGVyYWN0aW9uTG9nZ2luZ0RlYnVnTW9kZUVycm9yOjIzOCwKb2ZmbGluZVl0YlJlZnJlc2hlZDoyMzksa2lkc0Zsb3dFcnJvcjoyNDAsbXVzaWNBdXRvcGxheU9uTGF1bmNoQXR0ZW1wdGVkOjI0MixkZXZpY2VDb250ZXh0QWN0aXZpdHlFdmVudDoyNDMsZGV2aWNlQ29udGV4dEV2ZW50OjI0NCx0ZW1wbGF0ZVJlc29sdXRpb25FeGNlcHRpb246MjQ1LG11c2ljU2lkZWxvYWRlZFBsYXlsaXN0U2VydmljZUNhbGxlZDoyNDYsZW1iZWRzU3RvcmFnZUFjY2Vzc05vdENoZWNrZWQ6MjQ3LGVtYmVkc0hhc1N0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjQ4LGVtYmVkc0l0cFBsYXllZE9uUmVsb2FkOjI0OSxlbWJlZHNSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTAsZW1iZWRzU2hvdWxkUmVxdWVzdFN0b3JhZ2VBY2Nlc3NSZXN1bHQ6MjUxLGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzU3RhdGU6MjU2LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzRmFpbGVkU3RhdGU6MjU3LGVtYmVkc0l0cFdhdGNoTGF0ZXJSZXN1bHQ6MjY2LHNlYXJjaFN1Z2dlc3REZWNvZGluZ1BheWxvYWRGYWlsdXJlOjI1MiwKc2lyaVNob3J0Y3V0QWN0aXZhdGVkOjI1Myx0dmh0bWw1S2V5Ym9hcmRQZXJmb3JtYW5jZToyNTQsbGF0ZW5jeUFjdGlvblNwYW46MjU1LGVsZW1lbnRzTG9nOjI2Nyx5dGJGaWxlT3BlbmVkOjI2OCx0ZmxpdGVNb2RlbEVycm9yOjI2OSxhcGlUZXN0OjI3MCx5b25nbGVVc2JTZXR1cDoyNzEsdG91U3RyaWtlSW50ZXJzdGl0aWFsRXZlbnQ6MjcyLGxpdGVTdHJlYW1Ub1NhdmU6Mjc0LGFwcEJ1bmRsZUNsaWVudEV2ZW50OjI3NSx5dGJGaWxlQ3JlYXRpb25GYWlsZWQ6Mjc2LGFkTm90aWZ5RmFpbHVyZToyNzgseXRiVHJhbnNmZXJGYWlsZWQ6MjgwLGJsb2NraW5nUmVxdWVzdEZhaWxlZDoyODEsbGl0ZUFjY291bnRTZWxlY3RvcjoyODIsbGl0ZUFjY291bnRVaUNhbGxiYWNrczoyODMsZHVtbXlQYXlsb2FkOjI4NCxicm93c2VSZXNwb25zZVZhbGlkYXRpb25FdmVudDoyODUsZW50aXRpZXNFcnJvcjoyODYsbXVzaWNJb3NCYWNrZ3JvdW5kRmV0Y2g6Mjg3LG1keE5vdGlmaWNhdGlvbkV2ZW50OjI4OSwKbGF5ZXJzVmFsaWRhdGlvbkVycm9yOjI5MCxtdXNpY1B3YUluc3RhbGxlZDoyOTEsbGl0ZUFjY291bnRDbGVhbnVwOjI5MixodG1sNVBsYXllckhlYWx0aEV2ZW50OjI5Myx3YXRjaFJlc3RvcmVBdHRlbXB0OjI5NCxsaXRlQWNjb3VudFNpZ25JbjoyOTYsbm90YWlyZUV2ZW50OjI5OCxraWRzVm9pY2VTZWFyY2hFdmVudDoyOTksYWROb3RpZnlGaWxsZWQ6MzAwLGRlbGF5ZWRFdmVudERyb3BwZWQ6MzAxLGFuYWx5dGljc1NlYXJjaEV2ZW50OjMwMixzeXN0ZW1EYXJrVGhlbWVPcHRPdXRFdmVudDozMDMsZmxvd0V2ZW50OjMwNCxuZXR3b3JrQ29ubmVjdGl2aXR5QmFzZWxpbmVFdmVudDozMDUseXRiRmlsZUltcG9ydGVkOjMwNixkb3dubG9hZFN0cmVhbVVybEV4cGlyZWQ6MzA3LGRpcmVjdFNpZ25JbkV2ZW50OjMwOCxseXJpY0ltcHJlc3Npb25FdmVudDozMDksYWNjZXNzaWJpbGl0eVN0YXRlRXZlbnQ6MzEwLHRva2VuUmVmcmVzaEV2ZW50OjMxMSxnZW5lcmljQXR0ZXN0YXRpb25FeGVjdXRpb246MzEyLAp0dmh0bWw1VmlkZW9TZWVrOjMxMyx1bnBsdWdnZWRBdXRvUGF1c2U6MzE0LHNjcnViYmluZ0V2ZW50OjMxNSxiZWR0aW1lUmVtaW5kZXJFdmVudDozMTcsdHZodG1sNVVuZXhwZWN0ZWRSZXN0YXJ0OjMxOSx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXRzOjUzNSx0dmh0bWw1U3RhYmlsaXR5VHJhY2VFdmVudDo0NzgsdHZodG1sNU9wZXJhdGlvbkhlYWx0aDo0NjcsdHZodG1sNVdhdGNoS2V5RXZlbnQ6MzIxLHZvaWNlTGFuZ3VhZ2VDaGFuZ2VkOjMyMix0dmh0bWw1TGl2ZUNoYXRTdGF0dXM6MzIzLHBhcmVudFRvb2xzQ29ycHVzU2VsZWN0ZWRFdmVudDozMjQsb2ZmZXJBZHNFbnJvbGxtZW50SW5pdGlhdGVkOjMyNSxuZXR3b3JrUXVhbGl0eUludGVydmFsRXZlbnQ6MzI2LGRldmljZVN0YXJ0dXBNZXRyaWNzOjMyOCxoZWFydGJlYXRBY3Rpb25QbGF5ZXJUcmFuc2l0aW9uZWQ6MzMwLHR2aHRtbDVMaWZlY3ljbGU6MzMxLGhlYXJ0YmVhdEFjdGlvblBsYXllckhhbHRlZDozMzIsYWRhcHRpdmVJbmxpbmVNdXRlZFNldHRpbmdFdmVudDozMzMsCm1haW5BcHBMaWJyYXJ5TG9hZGluZ1N0YXRlOjMzNCx0aGlyZFBhcnR5TG9nTW9uaXRvcmluZ0V2ZW50OjMzNixhcHBTaGVsbEFzc2V0TG9hZFJlcG9ydDozMzcsdHZodG1sNUFuZHJvaWRBdHRlc3RhdGlvbjozMzgsdHZodG1sNVN0YXJ0dXBTb3VuZEV2ZW50OjM0MCxpb3NCYWNrZ3JvdW5kUmVmcmVzaFRhc2s6MzQyLGlvc0JhY2tncm91bmRQcm9jZXNzaW5nVGFzazozNDMsc2xpRXZlbnRCYXRjaDozNDQscG9zdEltcHJlc3Npb25FdmVudDozNDYsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RFeHBvcnQ6MzQ3LGlkYlVuZXhwZWN0ZWRseUNsb3NlZDozNDgsdm9pY2VTZWFyY2hFdmVudDozNDksbWR4U2Vzc2lvbkNhc3RFdmVudDozNTAsaWRiUXVvdGFFeGNlZWRlZDozNTEsaWRiVHJhbnNhY3Rpb25FbmRlZDozNTIsaWRiVHJhbnNhY3Rpb25BYm9ydGVkOjM1Myx0dmh0bWw1S2V5Ym9hcmRMb2dnaW5nOjM1NCxpZGJJc1N1cHBvcnRlZENvbXBsZXRlZDozNTUsY3JlYXRvclN0dWRpb01vYmlsZUV2ZW50OjM1NiwKaWRiRGF0YUNvcnJ1cHRlZDozNTcscGFyZW50VG9vbHNBcHBDaG9zZW5FdmVudDozNTgsd2ViVmlld0JvdHRvbVNoZWV0UmVzaXplZDozNTksYWN0aXZlU3RhdGVDb250cm9sbGVyU2Nyb2xsUGVyZm9ybWFuY2VTdW1tYXJ5OjM2MCxuYXZpZ2F0b3JWYWxpZGF0aW9uOjM2MSxtZHhTZXNzaW9uSGVhcnRiZWF0OjM2MixjbGllbnRIaW50c1BvbHlmaWxsRGlhZ25vc3RpY3M6MzYzLGNsaWVudEhpbnRzUG9seWZpbGxFdmVudDozNjQscHJvb2ZPZk9yaWdpblRva2VuRXJyb3I6MzY1LGtpZHNBZGRlZEFjY291bnRTdW1tYXJ5OjM2NixtdXNpY1dlYXJhYmxlRGV2aWNlOjM2Nyx5cGNSZWZ1bmRGbG93RXZlbnQ6MzY4LHR2aHRtbDVQbGF5YmFja01lYXN1cmVtZW50RXZlbnQ6MzY5LHR2aHRtbDVXYXRlcm1hcmtNZWFzdXJlbWVudEV2ZW50OjM3MCxjbGllbnRFeHBHY2ZQcm9wYWdhdGlvbkV2ZW50OjM3MSxtYWluQXBwUmVmZXJyZXJJbnRlbnQ6MzcyLGxlYWRlckxvY2tFbmRlZDozNzMsbGVhZGVyTG9ja0FjcXVpcmVkOjM3NCwKZ29vZ2xlSGF0c0V2ZW50OjM3NSxwZXJzaXN0ZW50TGVuc0xhdW5jaEV2ZW50OjM3NixwYXJlbnRUb29sc0NoaWxkV2VsY29tZUNob3NlbkV2ZW50OjM3OCxicm93c2VUaHVtYm5haWxQcmVsb2FkRXZlbnQ6Mzc5LGZpbmFsUGF5bG9hZDozODAsbWR4RGlhbEFkZGl0aW9uYWxEYXRhVXBkYXRlRXZlbnQ6MzgxLHdlYk9yY2hlc3RyYXRpb25UYXNrTGlmZWN5Y2xlUmVjb3JkOjM4MixzdGFydHVwU2lnbmFsRXZlbnQ6Mzg0LGFjY291bnRFcnJvcjozODUsZ21zRGV2aWNlQ2hlY2tFdmVudDozODYsYWNjb3VudFNlbGVjdG9yRXZlbnQ6Mzg4LGFjY291bnRVaUNhbGxiYWNrczozODksbWR4RGlhbEFkZGl0aW9uYWxEYXRhUHJvYmVFdmVudDozOTAsZG93bmxvYWRzU2VhcmNoSWNpbmdBcGlTdGF0czozOTEsZG93bmxvYWRzU2VhcmNoSW5kZXhVcGRhdGVkRXZlbnQ6Mzk3LGRvd25sb2Fkc1NlYXJjaEluZGV4U25hcHNob3Q6Mzk4LGRhdGFQdXNoQ2xpZW50RXZlbnQ6MzkyLGtpZHNDYXRlZ29yeVNlbGVjdGVkRXZlbnQ6MzkzLAptZHhEZXZpY2VNYW5hZ2VtZW50U25hcHNob3RFdmVudDozOTQscHJlZmV0Y2hSZXF1ZXN0ZWQ6Mzk1LHByZWZldGNoYWJsZUNvbW1hbmRFeGVjdXRlZDozOTYsZ2VsRGVidWdnaW5nRXZlbnQ6Mzk5LHdlYkxpbmtUdHNQbGF5RW5kOjQwMCxjbGlwVmlld0ludmFsaWQ6NDAxLHBlcnNpc3RlbnRTdG9yYWdlU3RhdGVDaGVja2VkOjQwMyxjYWNoZVdpcGVvdXRFdmVudDo0MDQscGxheWVyRXZlbnQ6NDEwLHNmdkVmZmVjdFBpcGVsaW5lU3RhcnRlZEV2ZW50OjQxMixzZnZFZmZlY3RQaXBlbGluZVBhdXNlZEV2ZW50OjQyOSxzZnZFZmZlY3RQaXBlbGluZUVuZGVkRXZlbnQ6NDEzLHNmdkVmZmVjdENob3NlbkV2ZW50OjQxNCxzZnZFZmZlY3RMb2FkZWRFdmVudDo0MTUsc2Z2RWZmZWN0VXNlckludGVyYWN0aW9uRXZlbnQ6NDY1LHNmdkVmZmVjdEZpcnN0RnJhbWVQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE2LHNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNQcm9jZXNzZWRMYXRlbmN5RXZlbnQ6NDE3LApzZnZFZmZlY3RBZ2dyZWdhdGVkRnJhbWVzRHJvcHBlZEV2ZW50OjQxOCxzZnZFZmZlY3RQaXBlbGluZUVycm9yRXZlbnQ6NDMwLHNmdkVmZmVjdEdyYXBoRnJvemVuRXZlbnQ6NDE5LHNmdkVmZmVjdEdsVGhyZWFkQmxvY2tlZEV2ZW50OjQyMCxtZGVRb3NFdmVudDo1MTAsbWRlVmlkZW9DaGFuZ2VkRXZlbnQ6NDQyLG1kZVBsYXllclBlcmZvcm1hbmNlTWV0cmljczo0NzIsbWRlRXhwb3J0ZXJFdmVudDo0OTcsZ2VuZXJpY0NsaWVudEV4cGVyaW1lbnRFdmVudDo0MjMsaG9tZVByZWxvYWRUYXNrU2NoZWR1bGVkOjQyNCxob21lUHJlbG9hZFRhc2tFeGVjdXRlZDo0MjUsaG9tZVByZWxvYWRDYWNoZUhpdDo0MjYscG9seW1lclByb3BlcnR5Q2hhbmdlZEluT2JzZXJ2ZXI6NDI3LGFwcGxpY2F0aW9uU3RhcnRlZDo0MzEsbmV0d29ya0Nyb25ldFJ0dEJhdGNoOjQzMixuZXR3b3JrQ3JvbmV0UnR0U3VtbWFyeTo0MzMscmVwZWF0Q2hhcHRlckxvb3BFdmVudDo0MzYsc2Vla0NhbmNlbGxhdGlvbkV2ZW50OjQ2MiwKbG9ja01vZGVUaW1lb3V0RXZlbnQ6NDgzLGV4dGVybmFsVmlkZW9TaGFyZVRvWW91dHViZUF0dGVtcHQ6NTAxLHBhcmVudENvZGVFdmVudDo1MDIsb2ZmbGluZVRyYW5zZmVyU3RhcnRlZDo0LG11c2ljT2ZmbGluZU1peHRhcGVQcmVmZXJlbmNlc0NoYW5nZWQ6MTYsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkF0dGVtcHQ6NDAsbWFuZ29EYWlseU5ld1ZpZGVvc05vdGlmaWNhdGlvbkVycm9yOjc3LGR0d3NQbGF5YmFja1N0YXJ0ZWQ6MTEyLGR0d3NUaWxlRmV0Y2hTdGFydGVkOjExMyxkdHdzVGlsZUZldGNoQ29tcGxldGVkOjExNCxkdHdzVGlsZUZldGNoU3RhdHVzQ2hhbmdlZDoxNDUsZHR3c0tleWZyYW1lRGVjb2RlckJ1ZmZlclNlbnQ6MTE1LGR0d3NUaWxlVW5kZXJmbG93ZWRPbk5vbmtleWZyYW1lOjExNixkdHdzQmFja2ZpbGxGZXRjaFN0YXR1c0NoYW5nZWQ6MTQzLGR0d3NCYWNrZmlsbFVuZGVyZmxvd2VkOjExNyxkdHdzQWRhcHRpdmVMZXZlbENoYW5nZWQ6MTI4LApibG9ja2luZ1Zpc2l0b3JJZFRpbWVvdXQ6Mjc3LGxpdGVTb2NpYWw6MTgsbW9iaWxlSnNJbnZvY2F0aW9uOjI5NyxiaXNjb3R0aUJhc2VkRGV0ZWN0aW9uOjQzOSxjb1dhdGNoU3RhdGVDaGFuZ2U6NDQwLGVtYmVkc1ZpZGVvRGF0YURpZENoYW5nZTo0NDEsc2hvcnRzRmlyc3Q6NDQzLGNydWlzZUNvbnRyb2xFdmVudDo0NDUscW9lQ2xpZW50TG9nZ2luZ0NvbnRleHQ6NDQ2LGF0dlJlY29tbWVuZGF0aW9uSm9iRXhlY3V0ZWQ6NDQ3LHR2aHRtbDVVc2VyRmVlZGJhY2s6NDQ4LHByb2R1Y2VyUHJvamVjdENyZWF0ZWQ6NDQ5LHByb2R1Y2VyUHJvamVjdE9wZW5lZDo0NTAscHJvZHVjZXJQcm9qZWN0RGVsZXRlZDo0NTEscHJvZHVjZXJQcm9qZWN0RWxlbWVudEFkZGVkOjQ1Myxwcm9kdWNlclByb2plY3RFbGVtZW50UmVtb3ZlZDo0NTQscHJvZHVjZXJBcHBTdGF0ZUNoYW5nZTo1MDkscHJvZHVjZXJQcm9qZWN0RGlza0luc3VmZmljaWVudEV4cG9ydEZhaWx1cmU6NTE2LHByb2R1Y2VyTWVkaWFTZXJ2aWNlc1Jlc2V0RGV0YWlsczo1MjIsCnR2aHRtbDVTaG93Q2xvY2tFdmVudDo0NTUsZGV2aWNlQ2FwYWJpbGl0eUNoZWNrTWV0cmljczo0NTYseW91dHViZUNsZWFyY3V0RXZlbnQ6NDYxLG9mZmxpbmVCcm93c2VGYWxsYmFja0V2ZW50OjQ2MyxnZXRDdHZUb2tlbkV2ZW50OjQ2NCxzdGFydHVwRHJvcHBlZEZyYW1lc1N1bW1hcnk6NDY2LHNjcmVlbnNob3RFdmVudDo0NjgsbWluaUFwcFBsYXlFdmVudDo0NjksZWxlbWVudHNEZWJ1Z0NvdW50ZXJzOjQ3MCxmb250TG9hZEV2ZW50OjQ3MSx3ZWJLaWxsc3dpdGNoUmVjZWl2ZWQ6NDczLHdlYktpbGxzd2l0Y2hFeGVjdXRlZDo0NzQsY2FtZXJhT3BlbkV2ZW50OjQ3NSxtYW51YWxTbW9vdGhuZXNzTWVhc3VyZW1lbnQ6NDc2LHR2aHRtbDVBcHBRdWFsaXR5RXZlbnQ6NDc3LHBvbHltZXJQcm9wZXJ0eUFjY2Vzc0V2ZW50OjQ3OSxtaW5pQXBwU2RrVXNhZ2U6NDgwLGNvYmFsdFRlbGVtZXRyeUV2ZW50OjQ4MSxjcm9zc0RldmljZVBsYXliYWNrOjQ4MixjaGFubmVsQ3JlYXRlZFdpdGhPYmFrZUltYWdlOjQ4NCwKY2hhbm5lbEVkaXRlZFdpdGhPYmFrZUltYWdlOjQ4NSxvZmZsaW5lRGVsZXRlRXZlbnQ6NDg2LGNyb3NzRGV2aWNlTm90aWZpY2F0aW9uVHJhbnNmZXI6NDg3LGFuZHJvaWRJbnRlbnRFdmVudDo0ODgsdW5wbHVnZ2VkQW1iaWVudEludGVybHVkZXNDb3VudGVyZmFjdHVhbEV2ZW50OjQ4OSxrZXlQbGF5c1BsYXliYWNrOjQ5MCxzaG9ydHNDcmVhdGlvbkZhbGxiYWNrRXZlbnQ6NDkzLHZzc0RhdGE6NDkxLGNhc3RNYXRjaDo0OTQsbWluaUFwcFBlcmZvcm1hbmNlTWV0cmljczo0OTUsdXNlckZlZWRiYWNrRXZlbnQ6NDk2LGtpZHNHdWVzdFNlc3Npb25NaXNtYXRjaDo0OTgsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RNaWdyYXRpb25FdmVudDo0OTksc2xlZXBUaW1lclNlc3Npb25GaW5pc2hFdmVudDo1MDAsd2F0Y2hFcFByb21vQ29uZmxpY3Q6NTAzLGlubmVydHViZVJlc3BvbnNlQ2FjaGVNZXRyaWNzOjUwNSxtaW5pQXBwQWRFdmVudDo1MDYsZGF0YVBsYW5VcHNlbGxFdmVudDo1MDcsCnByb2R1Y2VyUHJvamVjdFJlbmFtZWQ6NTA4LHByb2R1Y2VyTWVkaWFTZWxlY3Rpb25FdmVudDo1MTEsZW1iZWRzQXV0b3BsYXlTdGF0dXNDaGFuZ2VkOjUxMixyZW1vdGVDb25uZWN0RXZlbnQ6NTEzLGNvbm5lY3RlZFNlc3Npb25NaXNhdHRyaWJ1dGlvbkV2ZW50OjUxNCxwcm9kdWNlclByb2plY3RFbGVtZW50TW9kaWZpZWQ6NTE1LGFkc1NlZW5DbGllbnRMb2dnaW5nOjUxNyxwcm9kdWNlckV2ZW50OjUxOCx0dmh0bWw1Q2xlYW5TdGFydDo1MTksZGV2aWNlQWNjb3VudE1ldHJpY3NFdmVudDo1MjAsZGVycExvZ0V2ZW50OjUyMSxwbGF5YWJsZXNQb3J0YWxFdmVudDo1MjMsaXBWYWxpZGF0aW9uU3RhcnRlZDo1MjQsaXBWYWxpZGF0aW9uUmVjZWl2ZWQ6NTI1LHJlZWxzU2VxdWVuY2VNdXRhdGlvbkV2ZW50OjUyNyx3YXRjaFpvb21TdGF0ZUNoYW5nZTo1MjgsbWV0YWRhdGFFZGl0b3JFdmVudDo1Mjksa2lkc1ByaXNtYURlZXBsaW5rc0V2ZW50OjUzMCxjcmVhdGlvbk9yY2hlc3RyYXRpb25FdmVudDo1MzEsCmNvb3JkaW5hdGVkU2FtcGxpbmdUcmlnZ2VyZWQ6NTMyLHJlY2FwU2NyZWVuc2hvdEV2ZW50OjUzNCxtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVxdWVzdEV2ZW50OjUzNixtZHhMb2NhbE5ldHdvcmtQZXJtaXNzaW9uUmVzcG9uc2VFdmVudDo1Mzcsc2Vzc2lvblJlcGxheUV2ZW50OjUzOCxzZXNzaW9uUmVwbGF5U3RhdHVzRXZlbnQ6NTM5LGxvZ2dpbmdSZWxpYWJpbGl0eVByb2JlOjU0MCxrZXlWYWx1ZVN0b3JlU3RhdHNFdmVudDo1NDEsZGV2aWNlTG9jYXRpb25QZXJtaXNzaW9uRXZlbnQ6NTQyLHJlbW90ZUNvbnRyb2xTdGFydGVkOjU0MyxyZW1vdGVDb250cm9sQ29tcGxldGVkOjU0NCxyZWVsc0Fkc0V2ZW50czo1NDUseXRsckxvYWRlclRlc3RIYXJuZXNzRXZlbnQ6NTQ3LGJpb21ldHJpY0F1dGhlbnRpY2F0aW9uRXZlbnQ6NTQ4LG1haW5BcHBMaWZlY3ljbGVFdmVudDo1NDksbXVzaWNEb3dubG9hZEJhY2tncm91bmRDb250aW51ZWRQcm9jZXNzaW5nVGFzazo1NTAsbXVzaWNNZXRhZGF0YU1pc21hdGNoRXZlbnQ6NTUxLApzY3JvbGxUb0NvbXBvbmVudENvbXBsZXRlZDo1NTIsZW50aXR5U3RvcmVUZWxlbWV0cnk6NTUzLHN0cmVhbWluZ0RhcmtMYXVuY2hFdmVudDo1NTQsY2hpbGRBY2NvdW50c0Rpc3BsYXlFdmVudDo1NTUsdHZmYXNQbGF5YmFja0NvbnRleHQ6NTU3LG1kZUMyUGFFdmVudDo1NTl9O3ZhciBoX3g9a08oIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtLYzp7U1dIZWFsdGhMb2c6e3Z4OjF9fSxzaGFyZWQ6ITAsdXBncmFkZToobixXKT0+e1coMSkmJkVSKFp5KG4sIlNXSGVhbHRoTG9nIix7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KSwic3dIZWFsdGhOZXdSZXF1ZXN0IixbImludGVyZmFjZSIsInRpbWVzdGFtcCJdKX0sCnZlcnNpb246MX0pO3ZhciBYaT17fSxYSHc9MDt2YXIgR1Q7dmFyIHJvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXA7dGhpcy5KPSExfXJlcXVlc3RDb21wbGV0ZShuLFcpe1cmJih0aGlzLko9ITApO249dGhpcy5yZW1vdmVQYXJhbXMobik7dGhpcy5OLmdldChuKXx8dGhpcy5OLnNldChuLFcpfWlzRW5kcG9pbnRDRlIobil7bj10aGlzLnJlbW92ZVBhcmFtcyhuKTtyZXR1cm4obj10aGlzLk4uZ2V0KG4pKT8hMTpuPT09ITEmJnRoaXMuSj8hMDpudWxsfXJlbW92ZVBhcmFtcyhuKXtyZXR1cm4gbi5zcGxpdCgiPyIpWzBdfX07cm8ucHJvdG90eXBlLnJlbW92ZVBhcmFtcz1yby5wcm90b3R5cGUucmVtb3ZlUGFyYW1zO3JvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSPXJvLnByb3RvdHlwZS5pc0VuZHBvaW50Q0ZSO3JvLnByb3RvdHlwZS5yZXF1ZXN0Q29tcGxldGU9cm8ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZTtyby5nZXRJbnN0YW5jZT1zYzt2YXIgTmI9Y2xhc3MgZXh0ZW5kcyBnLm9Xe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTt0aGlzLko9ITE7dGhpcy5OPXMydygpO3RoaXMuTi5TXygibmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57aWYodGhpcy5KJiZnLmwoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIG49JFEoKS5nZXQoImVycm9ycyIsITApO2lmKG4pe2ZvcihsZXQgVyBpbiBuKWlmKG5bV10pe2xldCBEPW5ldyBnLlF4KFcsInNlbnQgdmlhIG9mZmxpbmVfZXJyb3JzIik7RC5uYW1lPW5bV10ubmFtZTtELnN0YWNrPW5bV10uc3RhY2s7RC5sZXZlbD1uW1ddLmxldmVsO090KEQpfSRRKCkuc2V0KCJlcnJvcnMiLHt9LDI1OTJFMywhMCl9fX0pfVdHKCl7cmV0dXJuIHRoaXMuTi5XRygpfWxjKG4pe3RoaXMuTi5pc09ubGluZT1ufUxrKCl7dmFyIG49d2luZG93Lm5hdmlnYXRvci5vbkxpbmU7CnJldHVybiBuPT09dm9pZCAwPyEwOm59REgoKXt0aGlzLko9ITB9U18obixXKXtyZXR1cm4gdGhpcy5OLlNfKG4sVyl9aEoobil7cmV0dXJuIHJYKHRoaXMuTixuKX19O05iLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1OYi5wcm90b3R5cGUuaEo7TmIucHJvdG90eXBlLmxpc3Rlbj1OYi5wcm90b3R5cGUuU187TmIucHJvdG90eXBlLmVuYWJsZUVycm9yRmx1c2hpbmc9TmIucHJvdG90eXBlLkRIO05iLnByb3RvdHlwZS5nZXRXaW5kb3dTdGF0dXM9TmIucHJvdG90eXBlLkxrO05iLnByb3RvdHlwZS5uZXR3b3JrU3RhdHVzSGludD1OYi5wcm90b3R5cGUubGM7TmIucHJvdG90eXBlLmlzTmV0d29ya0F2YWlsYWJsZT1OYi5wcm90b3R5cGUuV0c7TmIuZ2V0SW5zdGFuY2U9cG07dmFyIGI2Wj1jbGFzcyBleHRlbmRzIGcub1d7Y29uc3RydWN0b3IoKXt2YXIgbj17dTI6ITAsRW86ITB9O3N1cGVyKCk7dGhpcy5OPXRoaXMuWD0wO3RoaXMuSj1wbSgpO3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy5KKTtXJiYobi5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PW4ucmF0ZUxpbWl0LFcoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e1lRKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9PntZUSh0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihXKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLFcoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVdHKCl7dmFyIG49CmcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpOwpyZXR1cm4gbj9uLmJpbmQodGhpcy5KKSgpOiEwfWxjKG4pe3ZhciBXPWcucnIoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLm5ldHdvcmtTdGF0dXNIaW50IikuYmluZCh0aGlzLkopO1cmJlcobil9YXN5bmMgaEoobil7dmFyIFc9Zy5ycigieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2Uuc2VuZE5ldHdvcmtDaGVja1JlcXVlc3QiKS5iaW5kKHRoaXMuSik7cmV0dXJuIGcubCgic2tpcF9uZXR3b3JrX2NoZWNrX2lmX2NmciIpJiZzYygpLmlzRW5kcG9pbnRDRlIoImdlbmVyYXRlXzIwNCIpP25ldyBQcm9taXNlKEQ9Pnt0aGlzLmxjKHdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZXx8ITApO0QodGhpcy5XRygpKX0pOlc/VyhuKTohMH19O3ZhciBTYyxHemg9Y2xhc3MgZXh0ZW5kcyBEejF7Y29uc3RydWN0b3IoKXtTY3x8KFNjPW5ldyBiNlopO3N1cGVyKHtnRTp7dGk6dnZpLFRNOmJHQyxpNDpudjIsSzY6V19DLGhZOkRFeCxzZXQ6YUJTfSx5RzpTYyxoYW5kbGVFcnJvcjoobixXLEQpPT57dmFyIGI9RD8uZXJyb3I/LmNvZGU7Yj09PTQwMHx8Yj09PTQxNT8obj1uZXcgZy5ReChuLm1lc3NhZ2UsVyxEPy5lcnJvcj8uY29kZSksWkUobix2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOk90KG4pfSwKRjI6WkUsTG06JEV0LG5vdzpnLlIsaEw6cUt3LEEkOmcuRHkoKSx1WjoicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9ubGluZSIsTkE6InB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIixDcjohMCxLcjouMSxIRjp2MCgicG90ZW50aWFsX2VzZl9lcnJvcl9saW1pdCIsMTApLEVxOmcubCxOaDohKFI5KCkmJmcuSVAoZG9jdW1lbnQubG9jYXRpb24udG9TdHJpbmcoKSkhPT0id3d3LnlvdXR1YmUtbm9jb29raWUuY29tIil9KTt0aGlzLmo9bmV3IGcuS1Y7Zy5sKCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiZremkoKTt2eigiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKG4sVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKG4sVyl9c2VuZFRoZW5Xcml0ZShuLFcsRCl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKG4sVyxEKX1zZW5kQW5kV3JpdGUobiwKVyl7V3x8KFc9e30pO1c9Zm0obixXKTtSOSgpfHwodGhpcy5OPSExKTtzdXBlci5zZW5kQW5kV3JpdGUobixXKX1hd2FpdEluaXRpYWxpemF0aW9uKCl7cmV0dXJuIHRoaXMuai5wcm9taXNlfX07dmFyIEpJPWcucWkueXROZXR3b3JrbGVzc0xvZ2dpbmdJbml0aWFsaXphdGlvbk9wdGlvbnN8fHtpc053bEluaXRpYWxpemVkOiExfTtnLkdiKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsSkkpO2cuZDQ9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5jb25maWdfPW51bGw7bj90aGlzLmNvbmZpZ189bjpJNygpJiYodGhpcy5jb25maWdfPWcuUzkoKSl9aXNSZWFkeSgpeyF0aGlzLmNvbmZpZ18mJkk3KCkmJih0aGlzLmNvbmZpZ189Zy5TOSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciB2Z3c9Zy5xaS55dFB1YnN1YlB1YnN1Ykluc3RhbmNlfHxuZXcgQkssQUk9Zy5xaS55dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzfHx7fSxLbT1nLnFpLnl0UHVic3ViUHVic3ViVG9waWNUb0tleXN8fHt9LG1nPWcucWkueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtCSy5wcm90b3R5cGUuc3Vic2NyaWJlPUJLLnByb3RvdHlwZS5zdWJzY3JpYmU7QksucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9QksucHJvdG90eXBlLmpLO0JLLnByb3RvdHlwZS5wdWJsaXNoPUJLLnByb3RvdHlwZS5XSjtCSy5wcm90b3R5cGUuY2xlYXI9QksucHJvdG90eXBlLmNsZWFyO2cuR2IoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLHZndyk7Zy5HYigieXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5cyIsS20pO2cuR2IoInl0UHVic3ViUHVic3ViSXNTeW5jaHJvbm91cyIsbWcpO2cuR2IoInl0UHVic3ViUHVic3ViU3Vic2NyaWJlZEtleXMiLEFJKTt2YXIgb0k9e307Zy5peChnLkZpLGcuRk0pO2cuRT1nLkZpLnByb3RvdHlwZTtnLkUuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPzA6dGhpcy5ZJC5zdWJzY3JpYmUobixXLEQpfTsKZy5FLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKG4sVyxEKXtyZXR1cm4gdGhpcy5xTigpPyExOnRoaXMuWSQudW5zdWJzY3JpYmUobixXLEQpfTsKZy5FLmpLPWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5qSyhuKX07CmcuRS5XSj1mdW5jdGlvbihuLFcpe3JldHVybiB0aGlzLnFOKCk/ITE6dGhpcy5ZJC5XSi5hcHBseSh0aGlzLlkkLGFyZ3VtZW50cyl9OwpnLkUuaCQ9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnN1YnNjcmliZShELG5bRF0sVyl9OwpnLkUuTTk9ZnVuY3Rpb24obixXKXtmb3IobGV0IEQgaW4gbil0aGlzLnVuc3Vic2NyaWJlKEQsbltEXSxXKX07dmFyIHdvPURhdGUubm93KCkudG9TdHJpbmcoKTt2YXIgYnk9e307Zy5MWD1TeW1ib2woImluamVjdGlvbkRlcHMiKTt2YXIga289Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5rZXk9bn19O3ZhciBwSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9bmV3IE1hcDt0aGlzLlc9bmV3IE1hcDt0aGlzLk49bmV3IE1hcH1yZXNvbHZlKG4pe3JldHVybiBuIGluc3RhbmNlb2Yga28/Z0UodGhpcyxuLmtleSxbXSwhMCk6Z0UodGhpcyxuLFtdKX19O2cuQUw9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5uYW1lPW59dG9TdHJpbmcoKXtyZXR1cm5gSW5qZWN0aW9uVG9rZW4oJHt0aGlzLm5hbWV9KWB9fTt2YXIgWDQ7dmFyIEdwPXdpbmRvdzt2YXIgZlg9Zy5sKCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIikmJnRwKCkhPT0wLEhHdD1nLmwoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKTt2YXIgQXZqPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuc2NoZWR1bGVyPWcuRHkoKTt0aGlzLko9bmV3IGcuS1Y7dGhpcy5OPW47Zm9yKGxldCBXPTA7Vzx0aGlzLk4ubGVuZ3RoO1crKyl7bGV0IEQ9dGhpcy5OW1ddO249KCk9PntELkphKCk7dGhpcy5OW1ddLk1KPSEwO3RoaXMuTi5ldmVyeSh2PT52Lk1KPT09ITApJiZ0aGlzLkoucmVzb2x2ZSgpfTsKbGV0IGI9Zy5WeCgwLG4sRC5wcmlvcml0eT8/MCk7dGhpcy5OW1ddPXsuLi5ELEphOm4sam9iSWQ6Yn19fWNhbmNlbCgpe2ZvcihsZXQgbiBvZiB0aGlzLk4pbi5qb2JJZD09PXZvaWQgMHx8bi5NSnx8dGhpcy5zY2hlZHVsZXIuc08obi5qb2JJZCksbi5NSj0hMDt0aGlzLkoucmVzb2x2ZSgpfX07dmFyIGt4aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RhdGU9Im5vbmUiO3RoaXMucGx1Z2lucz1bXTt0aGlzLko9dm9pZCAwO3RoaXMuWD17fTtmWCYmJG8odGhpcy5zdGF0ZSl9Z2V0IGN1cnJlbnRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlfWluc3RhbGwobil7dGhpcy5wbHVnaW5zLnB1c2gobik7cmV0dXJuIHRoaXN9dW5pbnN0YWxsKC4uLm4pe24uZm9yRWFjaChXPT57Vz10aGlzLnBsdWdpbnMuaW5kZXhPZihXKTtXPi0xJiZ0aGlzLnBsdWdpbnMuc3BsaWNlKFcsMSl9KX10cmFuc2l0aW9uKG4sVyl7ZlgmJnJFKHRoaXMuc3RhdGUpOwp2YXIgRD10aGlzLnRyYW5zaXRpb25zLmZpbmQoYj0+QXJyYXkuaXNBcnJheShiLmZyb20pP2IuZnJvbS5maW5kKHY9PnY9PT10aGlzLnN0YXRlJiZiLnRvPT09bik6Yi5mcm9tPT09dGhpcy5zdGF0ZSYmYi50bz09PW4pOwppZihEKXt0aGlzLlcmJihZS2oodGhpcy5XKSx0aGlzLlc9dm9pZCAwKTtmUjIodGhpcyxuLFcpO3RoaXMuc3RhdGU9bjtmWCYmJG8odGhpcy5zdGF0ZSk7RD1ELmFjdGlvbi5iaW5kKHRoaXMpO2xldCBiPXRoaXMucGx1Z2lucy5maWx0ZXIodj0+dltuXSkubWFwKHY9PnZbbl0pOwpEKFNLQyh0aGlzLGIpLFcpfWVsc2UgdGhyb3cgRXJyb3IoYG5vIHRyYW5zaXRpb24gc3BlY2lmaWVkIGZyb20gJHt0aGlzLnN0YXRlfSB0byAke259YCk7fX07dmFyIG1Fdz1jbGFzcyBleHRlbmRzIGt4aHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5OPW51bGw7dGhpcy5KPTEwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJub25lIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOnRoaXMuan0se2Zyb206ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLHRvOiJub25lIixhY3Rpb246dGhpcy5WfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciLGFjdGlvbjooKT0+e319LAp7ZnJvbToibm9uZSIsdG86Im5vbmUiLGFjdGlvbjooKT0+e319XX1qKG4sVyl7dGhpcy5OPWcuY0IoMCwoKT0+e3RoaXMuY3VycmVudFN0YXRlPT09ImFwcGxpY2F0aW9uX25hdmlnYXRpbmciJiZ0aGlzLnRyYW5zaXRpb24oIm5vbmUiKX0sNUUzKTsKbihXPy5ldmVudCl9VihuLFcpe3RoaXMuTiYmKHRhLnNPKHRoaXMuTiksdGhpcy5OPW51bGwpO24oVz8uZXZlbnQpfX0sSnA7dmFyIFV5PVtdO2cuR2IoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRHZWxQYXlsb2FkcyIsZnVuY3Rpb24oKXtyZXR1cm4gVXl9KTt2YXIgbTM9dm9pZCAwLFNaPXZvaWQgMDt2YXIgb2I9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0b3JlPXt9O3RoaXMuTj17fX1zdG9yZVBheWxvYWQobixXKXtuPU85KG4pO3RoaXMuc3RvcmVbbl0/dGhpcy5zdG9yZVtuXS5wdXNoKFcpOih0aGlzLk49e30sdGhpcy5zdG9yZVtuXT1bV10pO2cubCgibW9yZV9hY2N1cmF0ZV9nZWxfcGFyc2VyIikmJihXPW5ldyBDdXN0b21FdmVudCgiVFJBTlNQT1JUSU5HX05FV19FVkVOVCIpLHdpbmRvdy5kaXNwYXRjaEV2ZW50KFcpKTtyZXR1cm4gbn1zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7aWYoIW4ua2V5cy5sZW5ndGgpcmV0dXJuW107dmFyIFc9WkEodGhpcyxuLmtleXMuc3BsaWNlKDAsMSlbMF0pLEQ9W107Zm9yKGxldCBiPTA7YjxXLmxlbmd0aDtiKyspdGhpcy5zdG9yZVtXW2JdXSYmbi5zaXplTGltaXQmJih0aGlzLnN0b3JlW1dbYl1dLmxlbmd0aDw9bi5zaXplTGltaXQ/KEQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dKSxkZWxldGUgdGhpcy5zdG9yZVtXW2JdXSk6CkQucHVzaCguLi50aGlzLnN0b3JlW1dbYl1dLnNwbGljZSgwLG4uc2l6ZUxpbWl0KSkpO24/LnNpemVMaW1pdCYmRC5sZW5ndGg8bj8uc2l6ZUxpbWl0JiYobi5zaXplTGltaXQtPUQubGVuZ3RoLEQucHVzaCguLi50aGlzLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhuKSkpO3JldHVybiBEfWV4dHJhY3RNYXRjaGluZ0VudHJpZXMobil7bj1aQSh0aGlzLG4pO3ZhciBXPVtdO2ZvcihsZXQgRD0wO0Q8bi5sZW5ndGg7RCsrKXRoaXMuc3RvcmVbbltEXV0mJihXLnB1c2goLi4udGhpcy5zdG9yZVtuW0RdXSksZGVsZXRlIHRoaXMuc3RvcmVbbltEXV0pO3JldHVybiBXfWdldFNlcXVlbmNlQ291bnQobil7bj1aQSh0aGlzLG4pO3ZhciBXPTA7Zm9yKGxldCBEPTA7RDxuLmxlbmd0aDtEKyspVys9dGhpcy5zdG9yZVtuW0RdXT8ubGVuZ3RofHwwO3JldHVybiBXfX07b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ9b2IucHJvdG90eXBlLmdldFNlcXVlbmNlQ291bnQ7Cm9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzPW9iLnByb3RvdHlwZS5leHRyYWN0TWF0Y2hpbmdFbnRyaWVzO29iLnByb3RvdHlwZS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXM9b2IucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcztvYi5wcm90b3R5cGUuc3RvcmVQYXlsb2FkPW9iLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ7dmFyIHpfdD1uZXcgZy5BTCgiRmluY2hDb25maWdNYW5hZ2VyU2VydmljZSIpO3ZhciBVRXc9djAoImluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiLDJFMyksWkdaPXYwKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCkseXZTPXYwKCJnZWxfbWluX2JhdGNoX3NpemUiLDUpLEU5PXZvaWQgMCx5Uj1udWxsLG1zPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPXRoaXMuSj10aGlzLlc9MDt0aGlzLk49ITF9fSxUZ2k9bmV3IG1zLGxSQz1uZXcgbXMsdDY9bmV3IG1zLEdVPW5ldyBtcyxXcywkQT0hMCxQcz0xLGx5PW5ldyBNYXAsZXk9Zy5xaS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZXkpO3ZhciBMVT1nLnFpLnl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc198fHt9O2cuR2IoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvSnNwYkN0dFRhcmdldElkc18iLExVKTt2YXIgUmI9e30senA9ITE7dmFyIGlSPWcucWkueXRMb2dnaW5nR2VsU2VxdWVuY2VJZE9ial98fHt9O2cuR2IoInl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpfIixpUik7dmFyIG0xPVtdO3ZhciBWNCxLaj1nLnFpLnl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfO0tqfHwoS2o9Zy5SSSgxNiksZy5HYigieXRMb2dnaW5nRG9jRG9jdW1lbnROb25jZV8iLEtqKSk7VjQ9S2o7dmFyIEZfVT17Qnc6MCxGNjoxLFdROjIsTjM6MyxxdDo0LFlTOjUsUWM6NixMTTo3LEk2Ojgsc0M6OSxaTToxMCxiUzoxMSwwOiJERUZBVUxUIiwxOiJDSEFUIiwyOiJDT05WRVJTQVRJT05TIiwzOiJNSU5JUExBWUVSIiw0OiJESUFMT0ciLDU6IlZPWiIsNjoiTVVTSUNfV0FUQ0hfVEFCUyIsNzoiU0hBUkUiLDg6IlBVU0hfTk9USUZJQ0FUSU9OUyIsOToiUklDSF9HUklEX1dBVENIIiwxMDoiUElDVFVSRV9JTl9QSUNUVVJFIiwxMToiTUVESUFfQ0xJRU5UIn07dmFyIGp6Wj0xLGxSPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufWdldEFzSnNvbigpe3ZhciBuPXt9O3RoaXMuTi50cmFja2luZ1BhcmFtcyE9PXZvaWQgMD9uLnRyYWNraW5nUGFyYW1zPXRoaXMuTi50cmFja2luZ1BhcmFtczoobi52ZVR5cGU9dGhpcy5OLnZlVHlwZSx0aGlzLk4udmVDb3VudGVyIT09dm9pZCAwJiYobi52ZUNvdW50ZXI9dGhpcy5OLnZlQ291bnRlciksdGhpcy5OLmVsZW1lbnRJbmRleCE9PXZvaWQgMCYmKG4uZWxlbWVudEluZGV4PXRoaXMuTi5lbGVtZW50SW5kZXgpKTt0aGlzLk4uZGF0YUVsZW1lbnQhPT12b2lkIDAmJihuLmRhdGFFbGVtZW50PXRoaXMuTi5kYXRhRWxlbWVudC5nZXRBc0pzb24oKSk7dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYobi55b3V0dWJlRGF0YT10aGlzLk4ueW91dHViZURhdGEpO3RoaXMuTi5pc0NvdW50ZXJmYWN0dWFsJiYobi5pc0NvdW50ZXJmYWN0dWFsPSEwKTtyZXR1cm4gbn1nZXRBc0pzcGIoKXt2YXIgbj1uZXcgcVlTOwp0aGlzLk4udHJhY2tpbmdQYXJhbXMhPT12b2lkIDA/bi5zZXRUcmFja2luZ1BhcmFtcyh0aGlzLk4udHJhY2tpbmdQYXJhbXMpOih0aGlzLk4udmVUeXBlIT09dm9pZCAwJiZveihuLDIsZy55UCh0aGlzLk4udmVUeXBlKSksdGhpcy5OLnZlQ291bnRlciE9PXZvaWQgMCYmb3oobiw2LGcueVAodGhpcy5OLnZlQ291bnRlcikpLHRoaXMuTi5lbGVtZW50SW5kZXghPT12b2lkIDAmJm96KG4sMyxnLnlQKHRoaXMuTi5lbGVtZW50SW5kZXgpKSx0aGlzLk4uaXNDb3VudGVyZmFjdHVhbCYmb3oobiw1LE9fKCEwKSkpO2lmKHRoaXMuTi5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIFc9dGhpcy5OLmRhdGFFbGVtZW50LmdldEFzSnNwYigpOyQ5KG4scVlTLDcsVyl9dGhpcy5OLnlvdXR1YmVEYXRhIT09dm9pZCAwJiYkOShuLGU0dyw4LHRoaXMuTi5qc3BiWW91dHViZURhdGEpO3JldHVybiBufXRvU3RyaW5nKCl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0QXNKc29uKCkpfWlzQ2xpZW50VmUoKXtyZXR1cm4hdGhpcy5OLnRyYWNraW5nUGFyYW1zJiYKISF0aGlzLk4udmVUeXBlfWdldExvZ2dpbmdEaXJlY3RpdmVzKCl7cmV0dXJuIHRoaXMuTi5sb2dnaW5nRGlyZWN0aXZlc319O2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLmdldFJvb3RWZVR5cGUiLEZSKTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdXJyZW50Q3NuIixnLlJ2KTtnLkdiKCJ5dF9sb2dnaW5nX3NjcmVlbi5nZXRDdHRBdXRoSW5mbyIsUTQpO2cuR2IoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLGNzKTt2YXIgUl9NPSJhYnNvbHV0ZV9leHBlcmltZW50cyBhcHAgY29uZGl0aW9uYWxfZXhwZXJpbWVudHMgZGVidWdjc3MgZGVidWdqcyBleHBmbGFnIGZvcmNlZF9leHBlcmltZW50cyBwYmogcGJqcmVsb2FkIHNiYiBzcGYgc3BmcmVsb2FkIHNyX2Juc19hZGRyZXNzIHN0dGljayIuc3BsaXQoIiAiKTt2YXIgayRiPVt7RzE6bj0+YENhbm5vdCByZWFkIHByb3BlcnR5ICcke24ua2V5fSdgLApZejp7RXJyb3I6W3t3YjovKFBlcm1pc3Npb24gZGVuaWVkKSB0byBhY2Nlc3MgcHJvcGVydHkgIihbXiddKykiLyxncm91cHM6WyJyZWFzb24iLCJrZXkiXX1dLFR5cGVFcnJvcjpbe3diOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3diOi9cdTY1ZTBcdTZjZDVcdTgzYjdcdTUzZDZcdTY3MmFcdTViOWFcdTRlNDlcdTYyMTYgKG51bGx8dW5kZWZpbmVkKSBcdTVmMTVcdTc1MjhcdTc2ODRcdTVjNWVcdTYwMjdcdTIwMWMoW15cdTIwMWRdKylcdTIwMWQvLGdyb3VwczpbInZhbHVlIiwia2V5Il19LHt3YjovXHVjODE1XHVjNzU4XHViNDE4XHVjOWMwIFx1YzU0YVx1Yzc0YyBcdWI2MTBcdWIyOTQgKG51bGx8dW5kZWZpbmVkKSBcdWNjMzhcdWM4NzBcdWM3NzggJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc0NCBcdWFjMDBcdWM4MzhcdWM2MmMgXHVjMjE4IFx1YzVjNlx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7d2I6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHt3YjovVW5hYmxlIHRvIGdldCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKHVuZGVmaW5lZCBvciBudWxsKSByZWZlcmVuY2UvLGdyb3VwczpbImtleSIsInZhbHVlIl19LHt3YjovKG51bGwpIGlzIG5vdCBhbiBvYmplY3QgXChldmFsdWF0aW5nICcoPzooW14uXSspXC4pPyhbXiddKyknXCkvLGdyb3VwczpbInZhbHVlIiwiYmFzZSIsImtleSJdfV19fSx7RzE6bj0+YENhbm5vdCBjYWxsICcke24ua2V5fSdgLApZejp7VHlwZUVycm9yOlt7d2I6Lyg/OihbXiBdKyk/XC4pPyhbXiBdKykgaXMgbm90IGEgZnVuY3Rpb24vLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3diOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7d2I6L09iamVjdCAoLiopIGhhcyBubyBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJiYXNlIiwia2V5Il19LHt3YjovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3diOi9cdTMwYWFcdTMwZDZcdTMwYjhcdTMwYTdcdTMwYWZcdTMwYzhcdTMwNmYgJyhbXiddKyknIFx1MzBkN1x1MzBlZFx1MzBkMVx1MzBjNlx1MzBhM1x1MzA3ZVx1MzA1Zlx1MzA2Zlx1MzBlMVx1MzBiZFx1MzBjM1x1MzBjOVx1MzA5Mlx1MzBiNVx1MzBkZFx1MzBmY1x1MzBjOFx1MzA1N1x1MzA2Nlx1MzA0NFx1MzA3ZVx1MzA1Ylx1MzA5My8sZ3JvdXBzOlsia2V5Il19LAp7d2I6L1x1YWMxY1x1Y2NiNFx1YWMwMCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzc0XHViMDk4IFx1YmE1NFx1YzExY1x1YjRkY1x1Yjk3YyBcdWM5YzBcdWM2ZDBcdWQ1NThcdWM5YzAgXHVjNTRhXHVjMmI1XHViMmM4XHViMmU0Li8sZ3JvdXBzOlsia2V5Il19XX19LHtHMTpuPT5gJHtuLmtleX0gaXMgbm90IGRlZmluZWRgLApZejp7UmVmZXJlbmNlRXJyb3I6W3t3YjovKC4qKSBpcyBub3QgZGVmaW5lZC8sZ3JvdXBzOlsia2V5Il19LHt3YjovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgYVJTPXtOOTpbXSxrbzpbe2NhbGxiYWNrOlF6MSx3ZWlnaHQ6NTAwfSx7Y2FsbGJhY2s6Vld4LHdlaWdodDo1MDB9XX07dmFyIGN2aD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMua289W107dGhpcy5OOT1bXX19LHZhO3ZhciBTaT1uZXcgQks7dmFyIElVPW5ldyBTZXQsdFA9MCx4SE09MCxBUD0wLHY5Mj1bXSxibjI9W10sTE5DPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO0RhdGUubm93KCk7dmFyIFpwPWNsYXNzIGV4dGVuZHMgbzd7Y29uc3RydWN0b3Iobil7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1ufX0sVG89bmV3IGQzKCJzY3JlZW4tY3JlYXRlZCIsWnApLEM0PVtdLGVUaD1HJGosQmE9MCxVYT1uZXcgTWFwLHk1PW5ldyBNYXAsRWE9bmV3IE1hcDt2YXIgaHIyPWNsYXNze2ZsdXNoKG49W10sVz0hMSl7aWYoZy5sKCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBEIG9mIG4pbj11NihEKSx0aGlzLk4mJiQ5KG4sT2l4LDIsdGhpcy5OKSxuPXtzZXJpYWxpemVkSW5jcmVtZW50QmF0Y2g6Zy5FQShuLkooKSl9LGcuelUoInN0cmVhbXpJbmNyZW1lbnRlZCIsbix7c2VuZElzb2xhdGVkUGF5bG9hZDpXfSl9fSxYbkM9Y2xhc3MgZXh0ZW5kcyBocjJ7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0sU0hpPWNsYXNzIGV4dGVuZHMgaHIye2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dmFyIFc9bmV3IE9peDt2YXIgRD1uZXcgS1VDO0Q9Zy5TRShELDEsImJvdGd1YXJkIik7bj1nLlNFKEQsMixuKTt0aGlzLk49cmUoVyxLVUMsMSxQWmgsbil9fTt2YXIgVnAsSU0yPW5ldyBNYXA7dmFyIFQkYj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bmV3IFFLKG4pfXNldChuLFcsRCl7RD1EIT09dm9pZCAwP0RhdGUubm93KCkrRDp2b2lkIDA7dGhpcy5OLnNldChuLFcsRCl9Z2V0KG4pe3JldHVybiB0aGlzLk4uZ2V0KG4pfXJlbW92ZShuKXt0aGlzLk4ucmVtb3ZlKG4pfX07dmFyIHJTaD1udWxsO3ZhciBzbz0idG9rZW5zIGNvbnNpc3RlbmN5IHNlcnZpY2VfcGFyYW1zIG1zcyBjbGllbnRfbG9jYXRpb24gZW50aXRpZXMgYWRibG9ja19kZXRlY3Rpb24gcmVzcG9uc2VfcmVjZWl2ZWRfY29tbWFuZHMgc3RvcmUgbWFuaWZlc3QgcGxheWVyX3ByZWxvYWQgc2hvcnRzX3ByZWZldGNoIHJlc29sdmVfdXJsX3ByZWZldGNoIi5zcGxpdCgiICIpO3ZhciBzWVU9bmV3IE1hcChbWyJkYXJrIiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyJdLFsibGlnaHQiLCJVU0VSX0lOVEVSRkFDRV9USEVNRV9MSUdIVCJdXSk7dmFyIERNPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPXt9O2lmKHRoaXMuSj1nLm1qKCkpe2xldCBuPWcuU2QoIkNPTlNJU1RFTkNZIik7biYmYVUodGhpcyx7ZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50czpufSl9fWhhbmRsZVJlc3BvbnNlKG4sVyl7aWYoIVcpdGhyb3cgRXJyb3IoInJlcXVlc3QgbmVlZHMgdG8gYmUgcGFzc2VkIGludG8gQ29uc2lzdGVuY3lTZXJ2aWNlIik7Vz1XLmlubmVyVHViZVJlcXVlc3QuY29udGV4dD8ucmVxdWVzdD8uY29uc2lzdGVuY3lUb2tlbkphcnN8fFtdOyhuPW4ucmVzcG9uc2VDb250ZXh0Py5jb25zaXN0ZW5jeVRva2VuSmFyKSYmdGhpcy5yZXBsYWNlKFcsbil9cmVwbGFjZShuLFcpe2ZvcihsZXQgRCBvZiBuKWRlbGV0ZSB0aGlzLk5bRC5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzXTthVSh0aGlzLFcpfX07dmFyIHh6cj13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoIi4iKS5zbGljZSgtMikuam9pbigiLiIpLGIkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5XPS0xO3ZhciBuPWcuQXIoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iVFZIVE1MNSImJih0aGlzLmxvY2FsU3RvcmFnZT1uQih0aGlzKSkmJihuPXRoaXMubG9jYWxTdG9yYWdlLmdldCgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKSk7biYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPW4sdGhpcy5KPXRoaXMuTj12b2lkIDApfXN0YXRpYyBnZXRJbnN0YW5jZSgpe09DPWcucnIoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIpO09DfHwoT0M9bmV3IGIkLGcuR2IoInl0LmNsaWVudExvY2F0aW9uU2VydmljZS5pbnN0YW5jZSIsT0MpKTtyZXR1cm4gT0N9c2V0TG9jYXRpb25PbklubmVyVHViZUNvbnRleHQobil7bi5jbGllbnR8fAoobi5jbGllbnQ9e30pO2lmKHRoaXMuTiluLmNsaWVudC5sb2NhdGlvbkluZm98fChuLmNsaWVudC5sb2NhdGlvbkluZm89e30pLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sYXRpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5OLmNvb3Jkcy5sYXRpdHVkZSoxRTcpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5sb25naXR1ZGVFNz1NYXRoLmZsb29yKHRoaXMuTi5jb29yZHMubG9uZ2l0dWRlKjFFNyksbi5jbGllbnQubG9jYXRpb25JbmZvLmhvcml6b250YWxBY2N1cmFjeU1ldGVycz1NYXRoLnJvdW5kKHRoaXMuTi5jb29yZHMuYWNjdXJhY3kpLG4uY2xpZW50LmxvY2F0aW9uSW5mby5mb3JjZUxvY2F0aW9uUGxheWFiaWxpdHlUb2tlblJlZnJlc2g9ITA7ZWxzZSBpZih0aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuKW4uY2xpZW50LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbj10aGlzLlh8fHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VufWdldFhHZW9IZWFkZXIoKXtpZih0aGlzLkope3ZhciBuPQp0aGlzLko7dmFyIFc9TWF0aC5mbG9vcihuLmNvb3Jkcy5sb25naXR1ZGUqMUU3KTt2YXIgRD1NYXRoLmZsb29yKG4uY29vcmRzLmxhdGl0dWRlKjFFNyk7dmFyIGI9bmV3IGpyMjtEPW96KGIsMSxnLnlQKEQpKTtXPW96KEQsMixnLnlQKFcpKTtEPW5ldyBCRnQ7RD1LbihELDEsMSk7RD1LbihELDIsMTIpO0Q9S24oRCw5LDgpO0Q9SVkoRCwzLG4udGltZXN0YW1wKjFFMyk7bj1veihELDcsZy5BXyhuLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTtuPUtuKG4sMjUsMik7bj0kOShuLGpyMiw1LFcpO249YHcgJHtnLkVBKEZGaShuKSw0KX1gfWVsc2Ugbj1udWxsO3JldHVybiBufWhhbmRsZVJlc3BvbnNlKG4pe249bi5yZXNwb25zZUNvbnRleHQ/LmxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbjtuIT09dm9pZCAwJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49bix0aGlzLko9dGhpcy5OPXZvaWQgMCxnLkFyKCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9Cm5CKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsbiwxNTU1MkUzKTpJSygiWVRfQ0wiLEpTT04uc3RyaW5naWZ5KHtsb2N0b2s6bn0pLDE1NTUyRTMseHpyLCEwKSl9Y2xlYXJMb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4obil7bj09PSJUVkhUTUw1Ij8odGhpcy5sb2NhbFN0b3JhZ2U9bkIodGhpcykpJiZ0aGlzLmxvY2FsU3RvcmFnZS5yZW1vdmUoInl0LWxvY2F0aW9uLXBsYXlhYmlsaXR5LXRva2VuIik6QXkoIllUX0NMIik7dGhpcy5YPXZvaWQgMDt0aGlzLlchPT0tMSYmKGNsZWFyVGltZW91dCh0aGlzLlcpLHRoaXMuVz0tMSl9Y2xlYXJDdXJyZW50UG9zaXRpb24oKXt0aGlzLko9dGhpcy5OPXZvaWQgMH1nZXRDdXJyZW50UG9zaXRpb25Gcm9tR2VvbG9jYXRpb24obil7aWYoIShuYXZpZ2F0b3ImJm5hdmlnYXRvci5nZW9sb2NhdGlvbiYmbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbikpcmV0dXJuIFByb21pc2UucmVqZWN0KEVycm9yKCJHZW9sb2NhdGlvbiB1bnN1cHBvcnRlZCIpKTsKdmFyIFc9ITEsRD0xRTQ7Zy5BcigiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihXPSEwLEQ9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChiLHYpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihrPT57dGhpcy5KPW4/LmFkZFRvSGVhZGVycz9rOnZvaWQgMDt0aGlzLk49aztiKGspfSxrPT57dihrKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpXLAptYXhpbXVtQWdlOjAsdGltZW91dDpEfSl9KX1jcmVhdGVVbnBsdWdnZWRMb2NhdGlvbkluZm8obil7dmFyIFc9e307Cm49bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtuPy5hY2N1cmFjeSYmKFcubG9jYXRpb25SYWRpdXNNZXRlcnM9TWF0aC5yb3VuZChuLmFjY3VyYWN5KSk7cmV0dXJuIFd9Y3JlYXRlTG9jYXRpb25JbmZvKG4pe3ZhciBXPXt9O249bi5jb29yZHM7bj8ubGF0aXR1ZGUmJihXLmxhdGl0dWRlRTc9TWF0aC5mbG9vcihuLmxhdGl0dWRlKjFFNykpO24/LmxvbmdpdHVkZSYmKFcubG9uZ2l0dWRlRTc9TWF0aC5mbG9vcihuLmxvbmdpdHVkZSoxRTcpKTtyZXR1cm4gV319LE9DO3ZhciBMSHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49e319Y29udGFpbnMobil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLk4sbil9Z2V0KG4pe2lmKHRoaXMuY29udGFpbnMobikpcmV0dXJuIHRoaXMuTltuXX1zZXQobixXKXt0aGlzLk5bbl09V311Qigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLk4pfXJlbW92ZShuKXtkZWxldGUgdGhpcy5OW25dfX07bmV3IGNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5tYXBwaW5ncz1uZXcgTEhyfWdldChuKXthOnt2YXIgVz10aGlzLm1hcHBpbmdzLmdldChuLnRvU3RyaW5nKCkpO3N3aXRjaChXLnR5cGUpe2Nhc2UgIm1hcHBpbmciOm49Vy52YWx1ZTticmVhayBhO2Nhc2UgImZhY3RvcnkiOlc9Vy52YWx1ZSgpO3RoaXMubWFwcGluZ3Muc2V0KG4udG9TdHJpbmcoKSx7dHlwZToibWFwcGluZyIsdmFsdWU6V30pO249VzticmVhayBhO2RlZmF1bHQ6bj1nLnBiKFcsdm9pZCAwKX19cmV0dXJuIG59fTt2YXIgeFY9e1dFQl9VTlBMVUdHRUQ6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09OQk9BUkRJTkc6Il51bnBsdWdnZWQvIixXRUJfVU5QTFVHR0VEX09QUzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfUFVCTElDOiJedW5wbHVnZ2VkLyIsV0VCX0NSRUFUT1I6Il5jcmVhdG9yLyIsV0VCX0tJRFM6Il5raWRzLyIsV0VCX0VYUEVSSU1FTlRTOiJeZXhwZXJpbWVudHMvIixXRUJfTVVTSUM6Il5tdXNpYy8iLFdFQl9SRU1JWDoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm11c2ljLyIsV0VCX01VU0lDX0VNQkVEREVEX1BMQVlFUjoiXm1haW5fYXBwL3xec2Z2LyJ9O3ZhciBlcjE9Y2xhc3N7RChuLFc9e30sRD11OSl7dmFyIGI9e2NvbnRleHQ6dGhpcy5PKCk/Zy52YihuLmNsaWNrVHJhY2tpbmdQYXJhbXMsITAsITEsZy53KG4/LmNvbW1hbmRNZXRhZGF0YSxwaik/LnVybCx0aGlzLksoVykpOmcudmIobi5jbGlja1RyYWNraW5nUGFyYW1zLCExLHRoaXMuail9O3ZhciB2PXRoaXMuTihuKTtpZih2KXt0aGlzLkooYix2LFcpO3Y9TEIodGhpcy5XKCkpO3ZhciBrPWcudyhuLmNvbW1hbmRNZXRhZGF0YSxwaik/LmFwaVVybDtrJiYodj1rKTt2PVpyKEskKHYpKTtrPXtjb21tYW5kOm4sLi4udGhpcy5WKG4pfTtiPXtpbnB1dDp2LFBpOlV6KHYpLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6a307Yi5jb25maWcuQkc/Yi5jb25maWcuQkcuaWRlbnRpdHk9RDpiLmNvbmZpZy5CRz17aWRlbnRpdHk6RH07KG49dGhpcy5ZKG4pKSYmIWIuY29uZmlnLnJlcXVlc3RLZXkmJihiLmNvbmZpZy5yZXF1ZXN0S2V5PW4pO1cuYWJvcnRTaWduYWwmJihiLlBpLnNpZ25hbD0KVy5hYm9ydFNpZ25hbCk7cmV0dXJuIGJ9Vz1uZXcgZy5ReCgiRXJyb3I6IEZhaWxlZCB0byBjcmVhdGUgUmVxdWVzdCBmcm9tIENvbW1hbmQuIixuKTtnLlhqKFcpfU8oKXtyZXR1cm4hMX1nZXQgaigpe3JldHVybiExfUsoKXt9WSgpe31WKCl7fX0sUEM9Y2xhc3MgZXh0ZW5kcyBlcjF7WCgpe31ZKG4pe2cubCgid2ViX2VuYWJsZV9yZXF1ZXN0X2tleV9raWxsc3dpdGNoIikmJnRoaXMuWChuKTtyZXR1cm4gZy53KG4uY29tbWFuZE1ldGFkYXRhLHBqKT8ucmVxdWVzdEtleT8/dGhpcy5YKG4pfX07dmFyIGdnMT17R0VUX0RBVEFTWU5DX0lEUzpobShjbGFzcyBleHRlbmRzIFBDe0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50IixQaTpVeigiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX1XKCl7cmV0dXJuW119Tigpe31KKCl7fX0pfTt2YXIgd189bmV3IGcuQUwoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLCREPW5ldyBnLkFMKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLGlkPW5ldyBnLkFMKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBOUT12MCgieXRjc2lfZGVidWdfbWF4X3NpemUiLDEwMCk7dmFyIEptPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9OwpPYmplY3QuYXNzaWduKEptLHsiYW5hbHl0aWNzLmV4cGxvcmUiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FOQUxZVElDU19FWFBMT1JFIiwiYXJ0aXN0LmFuYWx5dGljcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX0FOQUxZVElDUyIsImFydGlzdC5ldmVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0FSVElTVF9DT05DRVJUUyIsImFydGlzdC5wcmVzc2tpdCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQVJUSVNUX1BST0ZJTEUiLCJhc3NldC5jbGFpbWVkX3ZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NMQUlNRURfVklERU9TIiwiYXNzZXQuY29tcG9zaXRpb24iOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9DT01QT1NJVElPTiIsImFzc2V0LmNvbXBvc2l0aW9uX293bmVyc2hpcCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX09XTkVSU0hJUCIsImFzc2V0LmNvbXBvc2l0aW9uX3BvbGljeSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0NPTVBPU0lUSU9OX1BPTElDWSIsCiJhc3NldC5lbWJlZHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9FTUJFRFMiLCJhc3NldC5oaXN0b3J5IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfSElTVE9SWSIsImFzc2V0Lmlzc3VlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0lTU1VFUyIsImFzc2V0LmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfTElDRU5TRVMiLCJhc3NldC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX01FVEFEQVRBIiwiYXNzZXQub3duZXJzaGlwIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfT1dORVJTSElQIiwiYXNzZXQucG90ZW50aWFsX2VtYmVkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX1BPVEVOVElBTF9FTUJFRFMiLCJhc3NldC5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9QT0xJQ1kiLCJhc3NldC5yZWZlcmVuY2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfUkVGRVJFTkNFUyIsCiJhc3NldC5zaGFyZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BU1NFVF9TSEFSRVMiLCJhc3NldC5zb3VuZF9yZWNvcmRpbmdzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfU09VTkRfUkVDT1JESU5HUyIsImFzc2V0X2dyb3VwLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0FTU0VUUyIsImFzc2V0X2dyb3VwLmNhbXBhaWducyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX0NBTVBBSUdOUyIsImFzc2V0X2dyb3VwLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVNTRVRfR1JPVVBfQ0xBSU1FRF9WSURFT1MiLCJhc3NldF9ncm91cC5tZXRhZGF0YSI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQX01FVEFEQVRBIiwic29uZy5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1NPTkdfQU5BTFlUSUNTIixjcmVhdG9yX2NoYW5uZWxfZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfREFTSEJPQVJEIiwKImNoYW5uZWwuYW5hbHl0aWNzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0FOQUxZVElDUyIsY2hhbm5lbF9hcHBlYWw6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9BUFBFQUwiLCJjaGFubmVsLmNvbW1lbnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX0NPTU1FTlRTIiwiY2hhbm5lbC5jb250ZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DT05URU5UIiwiY2hhbm5lbC5jb250ZW50LnBvc3RzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QT1NUX0xJU1QiLCJjaGFubmVsLmNvbnRlbnQucHJvbW90aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUFJPTU9USU9OX0xJU1QiLCJjaGFubmVsLmNvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9DT1BZUklHSFQiLCJjaGFubmVsLmVkaXRpbmciOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NIQU5ORUxfRURJVElORyIsImNoYW5uZWwubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01PTkVUSVpBVElPTiIsCiJjaGFubmVsLm11c2ljIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDIiwiY2hhbm5lbC5tdXNpY19zdG9yZWZyb250IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DSEFOTkVMX01VU0lDX1NUT1JFRlJPTlQiLCJjaGFubmVsLnBsYXlsaXN0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9QTEFZTElTVFMiLCJjaGFubmVsLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9UUkFOU0xBVElPTlMiLCJjaGFubmVsLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ0hBTk5FTF9WSURFT1MiLCJjaGFubmVsLmxpdmVfc3RyZWFtaW5nIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9MSVZFX1NUUkVBTUlORyIsImRpYWxvZy5jb3B5cmlnaHRfc3RyaWtlcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX0NPUFlSSUdIVF9TVFJJS0VTIiwiZGlhbG9nLnZpZGVvX2NvcHlyaWdodCI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1ZJREVPX0NPUFlSSUdIVCIsCiJkaWFsb2cudXBsb2FkcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfRElBTE9HX1VQTE9BRFMiLG93bmVyOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19EQVNIQk9BUkQiLCJvd25lci5hbGxvd2xpc3QiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTExPV0xJU1QiLCJvd25lci5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19BTkFMWVRJQ1MiLCJvd25lci5hcnRfdHJhY2tzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQVJUX1RSQUNLUyIsIm93bmVyLmFzc2V0cyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUUyIsIm93bmVyLmFzc2V0X2dyb3VwcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX0FTU0VUX0dST1VQUyIsIm93bmVyLmJ1bGsiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19CVUxLX0hJU1RPUlkiLCJvd25lci5jYW1wYWlnbnMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DQU1QQUlHTlMiLAoib3duZXIuY2hhbm5lbF9pbnZpdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0hBTk5FTF9JTlZJVEVTIiwib3duZXIuY2hhbm5lbHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DSEFOTkVMUyIsIm93bmVyLmNsYWltZWRfdmlkZW9zIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfQ0xBSU1FRF9WSURFT1MiLCJvd25lci5jbGFpbXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19NQU5VQUxfQ0xBSU1JTkciLCJvd25lci5jbGFpbXMubWFudWFsIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTUFOVUFMX0NMQUlNSU5HIiwib3duZXIuZGVsaXZlcnkiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19DT05URU5UX0RFTElWRVJZIiwib3duZXIuZGVsaXZlcnlfdGVtcGxhdGVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfREVMSVZFUllfVEVNUExBVEVTIiwib3duZXIuaXNzdWVzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfSVNTVUVTIiwKIm93bmVyLmxpY2Vuc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfTElDRU5TRVMiLCJvd25lci5waXRjaF9tdXNpYyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1BJVENIX01VU0lDIiwib3duZXIucG9saWNpZXMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX0NNU19QT0xJQ0lFUyIsIm93bmVyLnJlbGVhc2VzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVMRUFTRVMiLCJvd25lci5yZXBvcnRzIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9DTVNfUkVQT1JUUyIsIm93bmVyLnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfQ01TX1ZJREVPUyIsInBsYXlsaXN0LnZpZGVvcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfUExBWUxJU1RfVklERU9fTElTVCIsInBvc3QuY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfQ09NTUVOVFMiLCJwb3N0LmVkaXQiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1BPU1RfRURJVCIsInByb21vdGlvbi5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9QUk9NT1RJT05fRURJVCIsCiJ2aWRlby5hbmFseXRpY3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0FOQUxZVElDUyIsInZpZGVvLmNsYWltcyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fQ0xBSU1TIiwidmlkZW8uY29tbWVudHMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0NPTU1FTlRTIiwidmlkZW8uY29weXJpZ2h0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19DT1BZUklHSFQiLCJ2aWRlby5lZGl0IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUIiwidmlkZW8uZWRpdG9yIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19FRElUT1IiLCJ2aWRlby5lZGl0b3JfYXN5bmMiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0VESVRPUl9BU1lOQyIsInZpZGVvLmxpdmVfc2V0dGluZ3MiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX0xJVkVfU0VUVElOR1MiLCJ2aWRlby5saXZlX3N0cmVhbWluZyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fTElWRV9TVFJFQU1JTkciLAoidmlkZW8ubW9uZXRpemF0aW9uIjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19NT05FVElaQVRJT04iLCJ2aWRlby5wb2xpY3kiOiJMQVRFTkNZX0FDVElPTl9DUkVBVE9SX1ZJREVPX1BPTElDWSIsInZpZGVvLnJpZ2h0c19tYW5hZ2VtZW50IjoiTEFURU5DWV9BQ1RJT05fQ1JFQVRPUl9WSURFT19SSUdIVFNfTUFOQUdFTUVOVCIsInZpZGVvLnRyYW5zbGF0aW9ucyI6IkxBVEVOQ1lfQUNUSU9OX0NSRUFUT1JfVklERU9fVFJBTlNMQVRJT05TIn0pO3ZhciBNUT1jbGFzcyBleHRlbmRzIG83e2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLk49bjt0aGlzLnRpbWVyPVd9fSxPbnQ9bmV3IGQzKCJhZnQtcmVjb3JkZWQiLE1RKTt2YXIgWEZ0PXthX2JpZF9mOjQ4MixhX2JpZF9zOjQ4MSxhYToyLGFhY2k6NDMzLGFhY3I6NDM0LGFiX3I6MTEsYWJfczoxMCxhYmM6NTc5LGFjOjE5MyxhY2M6NTExLGFjaTo1MTIsYWRfMF9lOjEzLGFkXzBfczoxMixhZF9ibDoxNCxhZF9pOjE1LGFkX21iczoxNixhZF9wcjo1NjIsYWRfdmk6MTcsYWRfdmlyOjE4LGFkYToxOTQsYWRiY19mOjU3NixhZGM6MTk1LGFkZmxfZjoxOSxhZGZsX3M6MjAsYWRsOjE5NixhZG5zOjE5NyxhZHNfZToyMixhZHNfczoyMSxhZmI6NTEzLGFmYzoxOTgsYWZsOjE5OSxhZnQ6MSxhaGI6NTE0LGFpOjIwMCxhaXNfYTo1MDMsYWlzX3I6NTAyLGFpc2Y6MjMsYWlzaToyNCxhaXNyOjI1LGFpc3M6MjYsYW1sOjIwMSxhcGFfYToyMDMsYXBhX2I6MjAyLGFwYnM6MjA0LGFwcF9sOjMsYXBwX3NpOjYxMixhcHBfc2llOjY2MSxhcHBkZWxfaToyNyxhcHBpX2U6NjE2LGFwcGlfczo2MTUsYXByOjIwNSxhcHJlczo0MzYsYXBzdXM6NDM1LGFyOjIwNixhcjQwazoyOCwKYXJiX2Y6NTA0LGFyYzoyMDcsYXJlcToyMDgsYXJmYjoyOSxhcmk6NCxhcnI6MjA5LGFycmg6MzAsYXNjZTo3ODgsYXNjZjo3ODksYXNjczo3ODcsYXNpc2ZiOjMxLGFzaXNyOjMyLGFzaXNyaDozMyxhc2lzczozNCxhc3I6MjEwLGFzeW5jX29yY2hfdF9hY3Q6NzEyLGFzeW5jX29yY2hfdF9ub3RpZnk6NzExLGF0cnI6NTE1LGF0cnM6NTE2LGF0dF9lOjIxMSxhdHRfZjoyMTIsYXR0X2ZjOjc5NyxhdHRfZnJyOjc5NixhdHRfZnM6NzkzLGF0dF9mc3I6Nzk1LGF0dF9wbmE6Nzk0LGF0dF9zOjIxMyxhdHRfd2I6MjE0LGF3ZmxfZjo1NTcsYXdmbF9zOjU1OCxiYXNlX2pzX3I6NDQxLGJjcDoyMTUsYmY6MjE2LGJnX2U6MjE3LGJnX2k6MjE4LGJnX2w6MjIwLGJnX3M6MjIxLGJnX3Y6MjE5LGJwZF9jOjQ4NCxicGRfczo0ODMsYnB0OjIyMyxicl9lOjM3LGJyX2xkOjM4LGJyX2xycHI6MzksYnJfbHJyOjQwLGJyX2x3bTo1NzcsYnJfcjo0MSxicl9zOjQyLGJyZXI6MzUsYnJlczozNixicm5yOjQzLApicm5zOjQ0LGJycGU6NDUsYnJwczo0NixicnJfZTo0NyxicnJfaTo0OCxicnJfaXVzOjQ5LGJzOjIyMixjX2M6NTAsY19jczo1MSxjX2NzZnM6NTIsY19kOjUzLGNfbGFmOjU5LGNfbGFzOjU4LGNfcm5mOjQzOCxjX3Juczo0MzcsY2M6NDY3LGNjX2M6NTQsY2NfY2Y6NTYsY2NfY3NhbGE6NTUsY2NfbGE6NTcsY2ZnOjIyNCxjaGxzOjIyNSxjaHBzOjIyNixjbDo0ODAsY21jOjIyNyxjbWRfaDo2MjksY21obDoyMjksY21pOjIyOCxjbWw6MjMwLGNtcDo3NzksY212OjIzMSxjcHQ6MjMyLGNyOjM2NCxjcl9lcnI6NjY5LGNyX3I6NjcwLGNyX3M6NjY4LGNzbDoyMzMsY3NyX3Q6NjMxLGN0OjUsY3RfbGk6NjAsZF9sOjYxLGRfbGFmOjYyLGRfbGFyOjYzLGRfbGFzOjY0LGRfbGY6NjUsZF9sczo2NixkX2x3OjY3LGRfbHdmOjY4LGRfbHdzOjY5LGRhc19jOjM2NixkYXNfczozNjUsZGNwOjIzNCxkZ19wYl9jOjIzNixkZ19wYl9yOjIzNyxkZ19wYl9zOjIzNSxkaGljOjIzOCxkbDoyMzksZG5zXzoyNDAsCmRybV9na19mOjM4OCxkcm1fZ2tfczozODcsZHJtX2tyX3I6MzkyLGRybV9rcl9zOjM5MSxkcm1fbmV0X3I6MzkwLGRybV9uZXRfczozODksZHJtX3BiX2Y6Mzg2LGRybV9wYl9zOjM4NSxkc19hYzo3MzYsZHNfYXM6NzM1LGRzX2NsYzo3NDAsZHNfY3M6NzM3LGRzX2RjOjczOSxkc19kczo3MzgsZW1wYTo0MzIsZW1wdTo0MzEsZW5wX2Vycjo2ODUsZW5wX2ZpOjY4NCxlbnBfc3Q6NjgzLGVvcHJfcjo2NzMsZXBfYV9wcl9yOjUzMixlcF9hX3ByX3M6NTMxLGVwX2hhdl9lbmQ6NTI2LGVwX2hhdl9zdGFydDo1MjUsZXBfaW5pdF9hcjo2OTksZXBfaW5pdF9jdWU6NjM1LGVwX2luaXRfY3VzOjYzNCxlcF9pbml0X2VwZTo2MzcsZXBfaW5pdF9lcHM6NjM2LGVwX2luaXRfaWplOjYzOSxlcF9pbml0X2lqczo2MzgsZXBfaW5pdF9wcjo1MjcsZXBfaW5pdF9yZTo2NDEsZXBfaW5pdF9yczo2NDAsZXBfaW5pdF93ZWU6NjQzLGVwX2luaXRfd2VzOjY0MixlcF9tYV9yZXByOjU0MyxlcF9tYV9ycjo1MzMsCmVwX21hX3NlcHI6NTQyLGVwX21hX3Nwcjo1MzQsZXBfcF9sOjUzMCxlcF9wcl9yOjUyOSxlcF9wcl9zOjUyOCxlcF9yX3ByZV9yOjU0MSxlcF9yX3JyOjUzNSxlcF9yX3NtYXI6NTM2LGVwX3JlY19lbmQ6NTM4LGVwX3JlY19zdGFydDo1MzcsZXBfcmVwc19lbmQ6NTQwLGVwX3JlcHNfc3RhcnQ6NTM5LGVwZTo2MTgsZXBzOjYxNyxlcl9jbDo2NTMsZXJfbnM6NjUyLGVyX3BlOjY1MCxlcl9wczo2NDksZXJfczo2NDgsZXJfc19ucjo3OTAsZXJfc19uczo3ODQsZXJfdDo2NTEsZmFiX3I6MjQ2LGZjYl9yOjUwNixmaXJlOjcwLGZpcnM6NzEsZm10aDoyNDEsZm9vdF9qczoyNDIsZnB0OjI0Myxmcl9zOjU2MSxmczoyNDQsZnNjOjI0NSxmc3NiMF9hOjc1LGZzc2IwX2ZyOjc0LGZzc2IwX25yOjczLGZzc2IwX25zOjcyLGZ0Xzo0MzksZnRsOjcsZnRyOjQ3NSxmdmJfcjoyNDcsZnZmOjI0OCxmeWRfZ2Y6NzY3LGZ5ZF9nczo3NjYsZ2NjOjI0OSxnY2ZsOjI1MCxnY3NyOjc2LGdlcF9lcnI6ODAwLApnZXBfcmVxOjc5OCxnZXBfcmVzOjc5OSxnZ3NyOjc3LGdpd2FfYTo2MjcsZ2l3YV9kOjYyOCxnbGM6NTkzLGdsZToyNTEsZ2xzOjI1MixncGU6MjUzLGdyYzoyNTQsZ3Jpd19ucjo3ODYsZ3Jpd19uczo3ODUsZ3Nfcjo3MzQsZ3Nfczo3MzMsZ3NtZDo1ODYsZ3Vfcjo2MjAsZ3Y6NDg1LGd3X2FpZXI6NzcxLGd3X2FyZjo3NzIsZ3dfYXJuYWY6Nzc1LGd3X2Fybm5hZjo3NzYsZ3dfYXJuczo3NzcsZ3dfYXJuc3U6Nzc4LGd3X2Fyczo3NzQsZ3dfYXJzdTo3NzMsZ3dfbWFhZjo2MzMsZ3dfbWFhczo2MzIsaGJmZzo2NzcsaGdjcjoyNTUsaHI6MjU2LGhyZTozNjMsaHJzOjM2MixoczozNzMsaHRtbF9mYl9yOjc1NSxodG1sX2ZlOjc0OCxodG1sX2ZzOjc0NyxodG1sX2Z3ZTo3NTIsaHRtbF9md3M6NzUxLGh0bWxfamNlOjc1NCxodG1sX2pjczo3NTMsaHRtbF9sYl9yOjc1NixodG1sX3NlOjc1MCxodG1sX3NzOjc0OSxpX3JwOjQ3NyxpX3JxOjQ3NixpcF9zOjY0NixpcGM6MjU3LGlwczoyNTgsCmlzbXBfYTo4MzYsaXNtcF9jOjgzOCxpc21wX2Q6ODM5LGlzbXBfaTo4MzUsaXNtcF9wOjg0MCxpc21wX3JjOjgzNyxpdF9ncDo3OCxpdl9zOjUwNSxqc3A6MjU5LGpzcjoyNjAsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yQ2FuY2VsbGVkOjgwMSxrWVRMYXRlbmN5TURFUHJvZHVjdFN0aWNrZXJFZGl0b3JGaW5pc2hlZDo4MDIsbDJzOjI2MSxsY19mcnI6NjYwLGxjX3Nfczo2NTksbGNfc191OjY1OCxsY3A6MjYyLGxkX3M6NDQwLGxpbToyNjMsbHBjZjoyNjQsbHBjczoyNjUsbHBzOjI2Nixsc19jOjM2OCxsc19zOjM2Nyxsc3M6MjY3LGx2OjI2OCxtYV9jbDo1NTEsbWFfZmZyOjU1MixtYV9mdWE6NTU0LG1hX2dyOjU1MyxtYV9pbDo1NzMsbWFpbjo3OSxtYWluX2pzX3I6NDQyLG1haW5fanNfcnE6NDQzLG1iX3M6NTA3LG1iYXBfYzozODQsbWJjX2FsYzo3MzIsbWJjX2FzbDo3MzEsbWJjX2M6Mzc1LG1iY19zOjM3NCxtYmdjaGlkX3JyOjc0NCxtYmdjaGlkX3JzOjc0NiwKbWJncl9yZjo2NTcsbWJncl9ycjozNzksbWJncl9yczozNzgsbWJsY19jOjM3NyxtYmxjX3M6Mzc2LG1ibGNoaWRfYzo3NDUsbWJsY2hpZF9zOjc0MyxtYmxjcmlkX2M6NzQyLG1ibGNyaWRfczo3NDEsbWJzX2M6MzgxLG1ic19ycjozODMsbWJzX3JzOjM4MixtYnNfczozODAsbWR4X2NjcDo4MCxtZHhfY2NzOjgxLG1keF9jY3N0OjgyLG1keF9jcjo4MyxtZHhfY3M6ODQsbWR4X2xzOjg1LG1keF9vZmY6ODYsbWR4X3NjOjg3LG1lX2I6NTU1LG1lX2M6Njg3LG1lX2Y6NTU2LG1lX2ZhOjY4OCxtZXN2X3M6NTA5LG1tX2llOjcyMCxtbV9pczo3MTksbXJjOjI2OSxtcnM6MjcwLG1zYToyNzEsbXN0aTo4OCxtc3RyOjg5LG5fY3Q6NzAyLG5fc3I6Njk3LG5fc3c6Njk4LCJuY1swLTldIjoyNzIsbmNsOjI3MyxuY3Q6Mjc0LG5kOjI3NSxuZG5zZToyNzYsbmRuc3M6Mjc3LCJucFswLTldIjoyNzgsbnI6Mjc5LG5yZToyODAsbnJlcXM6MjgxLG5yZXNlOjI4MixucmVzczoyODMsbnJycHM6OTAsCm5yczoyODQsbnN0Y3BzOjI4NSxudGNwZToyODYsbnRjcHM6Mjg3LG53cDoyODgsb2FkMnM6NDI1LG9hZnNfcjo0MDcsb2Fmc19ycDo0MDksb2Fpc3I6NDA1LG9hcjJzOjQxMixvYXJwMnM6NDI3LG9jc2lfejo5MSxvY3RrOjYyMSxvY3RwOjYyMixvZmFycDo0MjMsb2Zkbzo0MDAsb2Zkb3M6Mzk4LG9mcjo0MTcsb2Z2cnA6NDI0LG9nc2ZfYzozOTUsb2dzZl9zOjM5NCxvaHJfcjo3NjUsb2hyX3M6NzY0LG9sOjYsb2xfaTo4LG9sb2NfZTo4MzAsb2xvY19zYTo4Mjksb2xvY19zczo4Mjgsb21kX2M6NDIyLG9tZF9zOjQyMSxvbXBfYzo0MTksb21wX3I6NDE4LG9wZmM6NjgwLG9wcl9yOjQxNCxvcHJkX3M6NDE1LG9wcmd6Ml9lOjg0MixvcHJnejJfZjo4NDMsb3ByZ3oyX3M6ODQxLG9wcmd6X3M6Njg5LG9wcnI6NDE2LG9yMTAwazo0MTEsb3JfZmU6NDI5LG9yX2ZzOjQzMCxvcl9pOjM5Myxvcl9wOjM5NyxvcmNoX3JfZDo2OTQsb3JjaF9yX3M6Njk1LG9yY2hfdF9wbWQ6NzcwLG9yY2hfdF9wbXM6NzY5LApvcmNoX3RfdGNlZDo3MDgsb3JjaF90X3RjZXM6NzA1LG9yY2hfdF90ZDo2OTIsb3JjaF90X3RtZDo4MDQsb3JjaF90X3Rtczo4MDMsb3JjaF90X3VkOjY5MyxvcmNoX3RfdXM6Njk2LG9yZmI6NDA0LG9yaF9yOjQwMyxvcm1rOjQyMCxvcnFwYl9hOjgzMSxvcnFwYl9lOjgzNCxvcnFwYl9zOjgzMixvcnFwYl93OjgzMyxvc2RvOjQwMSxvc2RvZjo0MDIsb3Nkb3M6Mzk5LG9zb3I6Mzk2LG92ZDJzOjQyNixvdmZzX3I6NDA4LG92ZnNfcnA6NDEwLG92aXNyOjQwNixvdnIyczo0MTMsb3ZycDJzOjQyOCxwYWM6Mjg5LHBhcmk6NTE3LHBhdDoyOTAscGIwX3M6NjExLHBiX3JxX2F1dGh6OjQ0NixwYl9ycV9jdHRfY2ZtOjQ0NyxwYmNfZTo2NjMscGJjX3M6NjYyLHBiZl9jOjkyLHBicDo0ODYscGJyZXN1bWU6MjkyLHBiczo0ODcscGJ1OjI5MyxwYzo0ODgscGNjOjU0NixwY2U6NTQ3LHBjcTo1NDQscGNyOjU0NSxwY3VfYXA6ODA5LHBjdV9jZTo1ODEscGN1X2NzOjU4MCxwY3VfcmU6ODA4LHBjdV9yczo4MDcsCnBjdV9zOjgwNSxwY3Vfc2U6ODA2LHBkYToyOTQscGRjOjI5NSxwZHI6Mjk2LHBlOjI5NyxwZW1fcjo0NDQscGVtX3JxOjQ0NSxwZmplOjMwOSxwZnJyOjMwNSxwZnJzOjMwNixwZnM6MzA3LHBmdDozMDgscGZ0X2k6OTMscGxfYzoyOTEscGxfaTo0ODkscGxfaW50OjQ5MCxwbF9yOjQ5MSxwbF9yYzo3MDMscGxfczo0OTIscGxfc3M6NDkzLHBsZXY6MzEwLHBsanNfcjo0NDgscGxqc19ycTo0NDkscGx2czo3MjMscG90X2FmOjk3LHBvdF9hczo5Nixwb3RfY21lOjU2OSxwb3RfY21mOjI5OSxwb3RfY21zOjI5OCxwb3RfY3NtZTo1NzAscG90X2NzbWY6MzAxLHBvdF9jc21zOjMwMCxwb3RfaWY6MzA0LHBvdF9pbml0Zjo5NSxwb3RfaXNjOjMwMixwb3RfaXN0OjMwMyxwb3Rfc2U6NTY1LHBvdF9zZjo1NjQscG90X3NzOjU2Myxwb3RfeGU6NTY4LHBvdF94Zjo1NjcscG90X3hzOjU2Nixwb3RwZTo5NCxwcHU6OTgscHJvY19rOjYxMyxwcm9jX2tfbDo2MTQscHM6MzExLHBzX2JzOjY0Nyxwc19jOjQ5NCwKcHNfZXM6OTkscHNfcGE6NjgxLHBzX3BpaGY6NTk3LHBzX3BpaHM6NTk2LHBzX3I6MzYwLHBzX3M6MzYxLHBzX3NnZjo1OTUscHNfc2dzOjU5NCxwc25yOjQ5NSxwc25zOjQ5Nixwc3BlOjEwMCxwc3BzOjEwMSxwdF9tZTo4MTUscHRfbWY6ODE0LHB0X21zOjgxMyxwdF9waWU6ODEyLHB0X3BpZjo4MTEscHRfcGlzOjgxMCxwdF9waXNoOjYwNixwdnJpOjUxOCxwd2M6MzEyLHFvZXM6MzEzLHJfY19zbGQ6NDUwLHJfY19zcnE6NDUxLHJfY29ubmVjdF9iYWNrZW5kOjQ1MixyX2Nvbm5lY3RfYmFja2VuZF9zdWNjZXNzOjQ1MyxyX2Nvbm5lY3RlZDo0NTQscl9jb25zdHJ1Y3Rpb246NDU1LHJfZGlzY29ubmVjdGVkOjQ1NixyX2ViaTo2NjQscl9lb2Q6NTg1LHJfZjo0NTcscl9vcjo3MTMscl9wbDoxMDUscl9wczoxMDYscl9ycV9wbHk6NDU4LHJfc19wbHlsc3Q6NDU5LHJfc192aWQ6NDYwLHJfc3RhdHVzX3VwZGF0ZTo0NjEscl90cjoxMDcscl92dGM6MTA0LHJfd2lwYmM6NTg0LHJfd25yOjc5MiwKcl93bnM6NzkxLHJfd3JyOjEwMyxyX3dyczoxMDIscl93c3JwOjYwOSxyX3dzcnI6NjA4LHJfd3Nyczo2MDcscmN2XzozMTQscmVtb3ZlX3NwbGFzaDo0NjIscmVxXzozMTUscmZnOjMxNixyZ3JfbnJmOjYwMCxyZ3Jfczo1OTkscnBlOjgxNixycGx5X3JxZDo0NjMscnBzOjgxNyxyc19zOjUwOCxyc2FlX3BjOjMzMixyc2FlX3BlajozMzQscnNhZV9wajozMzMscnNiZV9wYzozMjMscnNiZV9wZWo6MzI1LHJzYmVfcGo6MzI0LHJzZV9wYzozMjAscnNlX3BlajozMjIscnNlX3BqOjMyMSxyc2VmX3BjOjMyOSxyc2VmX3BlajozMzEscnNlZl9wajozMzAscnNlc19wYzozMjYscnNlc19wZWo6MzI4LHJzZXNfcGo6MzI3LHJzZl9wYzozMTcscnNmX3BlajozMTkscnNmX3BqOjMxOCxydGltZV86MzM1LHJ1cmxfZToxMDgscnVybF9yOjEwOSxydXJsX3M6MTEwLHJ1cmxwZToxMTEscnVybHBzOjExMixzM3Rfcjo0NzIsc2FfZjo2MjQsc2FfZm86NjI1LHNhX3M6NjIzLHNhZl9mcDo2NjUsc2FmX3I6NjY2LApzYWZfcmU6NjY3LHNhc19pOjYyNixzY2dhdF9mZnM6NTYwLHNjZ2F0X2ZzOjU1OSxzZGFfZjo2MDUsc2RhX2k6NjA0LHNkYV9yZWNwOjYwMSxzZGFfcnNwcDo2MDMsc2RhX3JzcHI6NjAyLHNkbF9lOjY1NSxzZGxfczo2NTQsc2RsX3Q6NjU2LHNmX2k6MTEzLHNnc2Nfcjo3ODEsc2dzY19zOjc4MCxzaG93X2NhbGxfdG9fY2FzdDo0NjQsc2hyYl9jOjE2NSxzaHJvX2M6MTcwLHNocm9fcjoxNjcsc2hycF9jOjE2OSxzaHJwX2xkOjE2NixzaHJwX3A6MTY4LHNvX3I6MTE5LHNvX3JlOjExOCxzb19ycToxMjAsc3BhOjExNCxzcGQ6MTE1LHNwZjoxMTYsc3Bucl9oOjY3MixzcG5yX3M6NjcxLHNwcjo2Nzgsc3JfZToxMTcsc3JfcDoxMjEsc3JfcGE6MTIyLHNyX3I6MTIzLHNyX3JlOjEyNCxzcl9zOjEyNSxzcl91aToxMjYsc3J0OjMzNixzc19yOjQ2OSxzc19zOjQ2OCxzc19zZl9zOjcyNCxzc19zZl93OjcyNSxzc25yOjEyNyxzc25zOjEyOCxzdGNwXzozMzcsc3RlX2FsZjo1ODksc3RlX2M6NTkyLApzdGVfZWxmOjU5MCxzdGVfZjo1OTEsc3RlX2Z0bDo1ODgsc3RlX2w6NTg3LHN0dHNfYjo1ODIsc3R0c19mOjU4MyxzdHZzX2Y6NjkxLHN0dnNfczo2OTAsc3ZlOjQ2NixzdnM6NDY1LHN3X2ZiOjUxMCxzd19pOjc4Myxzd19yOjQ5Nyxzd19zOjQ5OCxzd3Nucjo4MTksc3dzbnM6ODE4LHN3c3BlOjgyMSxzd3Nwczo4MjAsdGNwXzozMzgsdGVueF9sOjQ3MSx0ZW54X3I6NDcwLHRoMF9oOjYxMCx0aDBfbmM6Njc1LHRoMF9uZTo2NzYsdGgwX25yOjEyOSx0aDBfbnM6Njc0LHRoX2NfMTo3MDksdGhfZF8xOjcxMCx0aF9sXzE6MTMwLHRoX3NfMTo1NzgsdGhzYjBfZnI6MTM0LHRoc2IwX25lOjEzMSx0aHNiMF9ucjoxMzIsdGhzYjBfbnM6MTMzLHR0YzozMzksdHRjcjozNDAsdWlfbDoxMzUsdWliZl9jOjE0MSx1aWJmX3I6MTQzLHVpYmZfczoxNDIsdWlzZl9yOjE0NCx1aXd3YV9iYzo2MTksdWl3d2FfYzoxMzYsdWl3d2FfZToxNDAsdWl3d2FfcHI6MTM5LHVpd3dhX3I6MTM4LHVpd3dhX3M6MTM3LAp1bHJzX2M6MzcwLHVscnNfczozNjksdW5rbm93bjowLHVyOjM0MSx2Yzo2ODIsdmNjOjUxOSx2Y2k6NTIwLHZkYTozNDIsdmRldWM6MzQzLHZkZXVyOjM0NCx2ZGV1czozNDUsdmRuczozNDYsdmZiOjUyMSx2ZnA6MzQ3LHZoYjo1MjIsdmlyOjM0OCx2aXJjOjM0OSx2aXNfYTo1MDAsdmlzX3I6NDk5LHZpc2Y6MTQ1LHZpc2k6MTQ2LHZpc3I6MTQ3LHZpc3M6MTQ4LHZvel9jeDoxNzksdm96X2VvdToxODcsdm96X2VycjoxODQsdm96X2Vycl9tczoxODAsdm96X2Vycl9ubXA6MTgxLHZvel9lcnJfb2ZmOjE4Myx2b3pfZXJyX3VhcjoxODIsdm96X2Z0cjoxODgsdm96X2Z2YzoxODksdm96X2xyX2xzbzoxODUsdm96X2xyX21kOjE4Nix2b3pfbWY6MTcyLHZvel9tczoxNzEsdm96X3JxZjoxNzQsdm96X3JxczoxNzMsdm96X3NmOjE3OCx2b3pfc3M6MTc3LHZvel92cDoxNzUsdm96X3Z0OjE3Nix2cGw6MzUwLHZyOjM1MSx2cjEwMGs6MTQ5LHZyYl9mOjUwMSx2cmM6MzUyLHZyZXE6MzUzLHZyZmI6MTUwLAp2cmk6OSx2cnI6MzU0LHZycl9yOjQ3NCx2cnJfczo0NzMsdnJyaDoxNTEsdnNpc2ZiOjE1Mix2c2lzcjoxNTMsdnNpc3JoOjE1NCx2c2lzczoxNTUsdnRhOjM1NSx2dHJyOjUyMyx2dHJzOjUyNCx3X3N0OjE1Nix3YXNtX2ZhOjgyNix3YXNtX2ZlcnI6ODI3LHdhc21fZnc6ODI1LHdhc21fczo4MjQsd2M6MzcyLHdjcjozNTYsd2ViZmVfZTo3Mjgsd2ViZmVfZ2JtX3I6NzU4LHdlYmZlX2dibV9zOjc1Nyx3ZWJmZV9nbF9yOjc2Mix3ZWJmZV9nbF9zOjc2MSx3ZWJmZV9nc19yOjc2MCx3ZWJmZV9nc19zOjc1OSx3ZWJmZV9ndXNfcjo3MzAsd2ViZmVfZ3VzX3M6NzI5LHdlYmZlX2d2bV9zOjc2Myx3ZWJmZV9zOjcyNyx3ZmZlOjM1Nyx3ZmZzOjM1OCx3Zmc6MzU5LHduX2U6MTYyLHduX2w6MzcxLHduX3I6MTU5LHduX3JwOjQ3OCx3bl9zOjE2MCx3bl9zbDoxNjEsd25sOjE1OCx3bmxfZDo4MjMsd25sX21wOjU3MSx3bmxfcGQ6ODIyLHdubHI6NTcyLHdubHM6MTU3LHducGU6MTYzLHducHM6MTY0LAp3cDo0Nzksd3NfY2U6MTkwLHdzX3NzOjE5MSx3c19zc3I6MTkyLHljZWM6NTQ5LHljZWY6NTQ4LHljZnRyOjY0NSx5Y2lmOjU1MCx5Y21zZjo2NDQseWNyYzo3MTgseWNyZjo3MTcseWNyczo3MTQseWNyc2M6NzE1LHljcnVlYTo3MTZ9O3ZhciBtcT1nLnFpLnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtnLkdiKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsbXEpO3ZhciBQYj1nLnFpLnl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzX3x8e307Zy5HYigieXRMb2dnaW5nTGF0ZW5jeVVzYWdlU3RhdHNfIixQYik7CnZhciBLQj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj0wfXRpY2sobixXLEQsYil7Wk0odGhpcyxgdGlja18ke259XyR7V31gKXx8KEQ9e3RpbWVzdGFtcDpELGN0dEF1dGhJbmZvOmJ9LFc9e3RpY2tOYW1lOm4sY2xpZW50QWN0aW9uTm9uY2U6V30sZy5sKCJ5b3V0dWJlX3dlYl9jc2lfdGlja3NfbWlncmF0aW9uIikmJihuPVhGdFtuXSxuIT09dm9pZCAwJiYoVy50aWNrPW4sZGVsZXRlIFcudGlja05hbWUpKSxnLnpVKCJsYXRlbmN5QWN0aW9uVGlja2VkIixXLEQpKX1pbmZvKG4sVyxEKXt2YXIgYj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtaTSh0aGlzLGBpbmZvXyR7Yn1fJHtXfWApfHwobj1PYmplY3QuYXNzaWduKHt9LG4pLG4uY2xpZW50QWN0aW9uTm9uY2U9VyxnLnpVKCJsYXRlbmN5QWN0aW9uSW5mbyIsbix7Y3R0QXV0aEluZm86RH0pKX1qc3BiSW5mbyhuLFcsRCl7dmFyIGI9IiI7Zm9yKGxldCB2PTA7djxZdihuKS5sZW5ndGg7disrKVl2KG4pW3ZdIT09dm9pZCAwJiYKKGI9dj09PTA/Yi5jb25jYXQoYCR7dn1gKTpiLmNvbmNhdChgXyR7dn1gKSk7Wk0odGhpcyxgaW5mb18ke2J9XyR7V31gKXx8KGcuU0UobiwyLFcpLFc9e2N0dEF1dGhJbmZvOkR9LEQ9Zy5sKCJqc3BiX3NwYXJzZV9lbmNvZGVkX3Bpdm90Iik/bmV3IFp2KFt7fV0pOm5ldyBadixyZShELFVrciw3LHlZMSxuKSxmMmooRCxXKSl9c3BhbihuLFcsRCxiKXt2YXIgdj1PYmplY3Qua2V5cyhuKS5qb2luKCIiKTtpZihifHwhWk0odGhpcyxgc3Bhbl8ke3Z9XyR7V31gKSluLmNsaWVudEFjdGlvbk5vbmNlPVcsZy56VSgibGF0ZW5jeUFjdGlvblNwYW4iLG4se2N0dEF1dGhJbmZvOkR9KX19O3ZhciBaWj13aW5kb3cscWtyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy50aW1pbmc9e307dGhpcy5jbGVhclJlc291cmNlVGltaW5ncz0oKT0+e307CnRoaXMud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9Owp0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5tc0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTsKdGhpcy5vQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9fX0sVUg9WloucGVyZm9ybWFuY2V8fFpaLm1velBlcmZvcm1hbmNlfHxaWi5tc1BlcmZvcm1hbmNlfHxaWi53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IHFrcjt2YXIgd2I9ITEsbCQ9ITEsUXY9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9InBsYXllci93d3ctcGxheWVyIl0nOiJwYyIsJ3NjcmlwdFtuYW1lPSJkZXNrdG9wX3BvbHltZXIvZGVza3RvcF9wb2x5bWVyIl0nOiJkcGoiLCdsaW5rW3JlbD0iaW1wb3J0Il1bbmFtZT0iZGVza3RvcF9wb2x5bWVyIl0nOiJkcGgiLCdzY3JpcHRbbmFtZT0ibW9iaWxlLWMzIl0nOiJtY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1jMyJdJzoibWNjIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXBob25lL2Jhc2UiXSc6Im1jcHBqIiwnc2NyaXB0W25hbWU9InBsYXllci1wbGFzbWEtaWFzLXRhYmxldC9iYXNlIl0nOiJtY3B0aiIsCidsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX2NzcyJdJzoibWJjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX2luX3VzZXJzX21vZCJdJzoibWJsaXVqIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfbG9nZ2VkX291dF91c2Vyc19tb2QiXSc6Im1ibG91aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX25vbmNvcmVfbW9kIl0nOiJtYm5qIiwiI3BsYXllcl9jc3MiOiJtYnBjIiwnc2NyaXB0W25hbWU9Im1vYmlsZV9ibGF6ZXJfZGVza3RvcHBsYXllcl9tb2QiXSc6Im1icGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZV9ibGF6ZXJfdGFibGV0X2NzcyJdJzoibWJ0YyIsCidzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSxabmk9KDAsZy5LdCkoVUguY2xlYXJSZXNvdXJjZVRpbWluZ3N8fFVILndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzfHxVSC5tb3pDbGVhclJlc291cmNlVGltaW5nc3x8VUgubXNDbGVhclJlc291cmNlVGltaW5nc3x8VUgub0NsZWFyUmVzb3VyY2VUaW1pbmdzfHxnLkZULFVIKTt2YXIgVUM9d2luZG93O1VDLnl0Y3NpJiYoVUMueXRjc2kuaW5mb0dlbD1nLm5sLFVDLnl0Y3NpLnRpY2s9Zy5hTCk7dmFyIG85aj1bInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuQnJvd3NlUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBsYXllclJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QYW5lbFJlc3BvbnNlIl0sWDc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLmo9bjt0aGlzLnlHPVc7dGhpcy5XPUQ7dGhpcy5YPWI7dGhpcy5KPXY7dGhpcy5OPW5ldyBNYXA7bi53ZHx8KG4ud2Q9e30pO24ud2Q9ey4uLmdnMSwuLi5uLndkfX19O3ZhciBhOD1uZXcgZy5BTCgiSU5ORVJUVUJFX1RSQU5TUE9SVF9UT0tFTiIpLFZXPW5ldyBnLkFMKCJSRVNQT05TRV9QUk9DRVNTT1JfTUFQX1RPS0VOIik7dmFyIE1hPW5ldyBnLkFMKCJFTkRQT0lOVF9NQVAiKTt2YXIgeVg9Y2xhc3N7fTt2YXIgTnI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPSJwZW5kaW5nIjt0aGlzLko9W107dGhpcy5XPVtdO3RyeXtuKHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpfWNhdGNoKFcpe3RoaXMucmVqZWN0KFcpfX1zdGF0ZSgpe3JldHVybiB0aGlzLk49PT0iZnVsZmlsbGVkIj97c3RhdGU6ImZ1bGZpbGxlZCIsdmFsdWU6dGhpcy5yZXN1bHR9OnRoaXMuTj09PSJyZWplY3RlZCI/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fVgobil7WW8obil8fFlEKG4pP1NrKEhQKG4pLHRoaXMuWC5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLk49ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9bixtRSh0aGlzKSl9cmVqZWN0KG4pe3RoaXMuTj0icmVqZWN0ZWQiO3RoaXMuZXJyb3I9bjttRSh0aGlzKX19LFlEPXEzKG49PmtDeChuKT9uIGluc3RhbmNlb2YgTnI6ITEpO3ZhciBjZT1uZXcgZy5BTCgiQVVUSF9TRVJWSUNFX1RPS0VOIik7dmFyIHVkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIEQ9bi55dFJlcXVlc3Q7Zy5SVShELmlucHV0KTt2YXIgYj1ELlBpPy5tb2RlPT09ImNvcnMiPyJjb3JzIjp2b2lkIDA7aWYoVy5OLnNCKXt2YXIgdj1ELmNvbmZpZzt2PVcuTi5haih2Py5CRz8uaWRlbnRpdHl8fHU5LHtzZXNzaW9uSW5kZXg6dj8uQkc/LnNlc3Npb25JbmRleH0pO2I9ey4uLmtWKGIpLC4uLnZ9fWVsc2UgYj15aWVsZCpQUChNRXcoVyxELmNvbmZpZyxiKSk7RC5QaT17Li4uRC5QaSxoZWFkZXJzOnsuLi4oRC5QaT8uaGVhZGVycz8/e30pLC4uLmJ9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczpufX0oKX0pfX07CnVkW2cuTFhdPVtjZV07dmFyIGFqPW5ldyBnLkFMKCJSRVNQT05TRV9NQUNISU5FX1JFR0lTVFJZX1RPS0VOIiksblI9bmV3IGcuQUwoIlJFU1BPTlNFX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpO3ZhciBCZT1uZXcgZy5BTCgiRVBIRU1FUkFMX1NUT1JFX1RPS0VOIik7dmFyIG9qPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuTj1uO3RoaXMuSj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5KLEQ9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9Yi5jb25maWc/LkhuPy5STDtpZih2JiZXJiZXLmhhcyh2KSYmIWIuY29uZmlnPy5Ibj8uZGlzYWJsZUNhY2hlKXt2YXIgaz15aWVsZCpQUChIUChXLmdldCh2KSkpO2lmKGsmJiFrLmlzRXhwaXJlZCgpKXJldHVybiBiPXFyKGspLGcubCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFrLmlzUHJvY2Vzc2VkKCk/KGs9RCgpLGI9eWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOmIseXRSZXF1ZXN0Om4ueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmJ9KSksCnlpZWxkKlBQKEhQKHRlKFcsdikpKSx7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpifSk6e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Yn19cmV0dXJue25leHRTdGF0ZToiTE9DQUxfUk9VVEVSIixwYXJhbXM6bn19KCl9KX19OwpvaltnLkxYXT1bblIsZy5ocChCZSldO3ZhciBkXz1jbGFzcyBleHRlbmRzIHlYe2NvbnN0cnVjdG9yKG4sVyl7c3VwZXIoKTt0aGlzLko9bjt0aGlzLk49V31leGVjdXRlKG4pe3ZhciBXPXRoaXMuSixEPXRoaXMuTixiPW4ueXRSZXF1ZXN0LHY9Yj8uaW5uZXJUdWJlUmVxdWVzdD8uY29udGV4dDtpZighdilyZXR1cm4gSFAoe25leHRTdGF0ZToiQVVUSCIscGFyYW1zOm59KTt2YXIgaz1bXTtpZihEJiZELmxlbmd0aD4wKWZvcihsZXQgaCBvZiBEKUQ9aC5CcyhiKSxELk4mJmsucHVzaChELk4pO2ZvcihsZXQgaCBvZiBXfHxbXSloLkJzKHYpO3JldHVybiBrLmxlbmd0aD4wP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7eWllbGQqUFAoSFAoUHJvbWlzZS5hbGwoaykpKTtyZXR1cm57bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6bn19KCl9KTpIUCh7bmV4dFN0YXRlOiJBVVRIIiwKcGFyYW1zOm59KX19O2RfW2cuTFhdPVtnLmhwKG5ldyBnLkFMKCJDT05URVhUX1BST0NFU1NPUl9NQVAiKSksZy5ocChuZXcgZy5BTCgiQVNZTkNfQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpXTt2YXIgelc9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuKXtzdXBlcigpO3RoaXMuTj1ufWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBEPW4ueXRSZXF1ZXN0LmNvbmZpZz8ucmVxdWVzdEtleTtyZXR1cm4gRCYmVy5oYXMoRCkmJihEPVcuZ2V0KEQpLEQ9eWllbGQqUFAoSFAoRCkpKT97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpEfTp7bmV4dFN0YXRlOiJGRVRDSCIscGFyYW1zOm59fSgpfSl9fTsKeldbZy5MWF09W2lkXTt2YXIgR3h0PW5ldyBnLkFMKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIGxkPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMuSj1uO3RoaXMuTj1XfWV4ZWN1dGUobil7dmFyIFc9dGhpcy5OLEQ9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPW4ueXRSZXF1ZXN0LHY9bi5jaHVua0NhbGxiYWNrLGs9e3R5cGU6IlBBR0VfQ09OVFJBQ1QifTtpZihXPy5yNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpe2xldCB4PXlpZWxkKlBQKEhQKFcuWVIoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpKSk7aWYoeCl7bGV0IEw9ITE7dmFyIGg9ZnVuY3Rpb24oZSxHKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHI9RCgpO3lpZWxkKlBQKHlxKHIse3dpcmVSZXNwb25zZTpHLHl0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6dixyZXNwb25zZVBheWxvYWQ6a30pKTtMPSEwfSgpfTsKeC5wbGF5ZXJSZXNwb25zZSYmKHlpZWxkKmgoeC5wbGF5ZXJSZXNwb25zZSx7cGxheWVyUmVzcG9uc2U6eC5wbGF5ZXJSZXNwb25zZX0pKTt4LndhdGNoTmV4dFJlc3BvbnNlJiYoeWllbGQqaCh4LndhdGNoTmV4dFJlc3BvbnNlLHt3YXRjaE5leHRSZXNwb25zZTp4LndhdGNoTmV4dFJlc3BvbnNlfSkpO0x8fChoPUQoKSx5aWVsZCpQUCh5cShoLHt3aXJlUmVzcG9uc2U6eCx5dFJlcXVlc3Q6YixjaHVua0NhbGxiYWNrOnYscmVzcG9uc2VQYXlsb2FkOmt9KSkpO2lmKHYpcmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6a307aD1rLmNvbnRlbnR8fGsucGxheWVyfHxrLnlCO3JldHVybiBrLnR5cGU9PT0iUEFHRV9DT05UUkFDVCImJmg/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aH06e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6eH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkZhbGxiYWNrTm9kZSBmYWlsZWQgdG8gcHJvZHVjZSBhIHZhbGlkIHJlc3BvbnNlIil9fSgpfSl9fTsKbGRbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIEVDPWNsYXNzIGV4dGVuZHMgZy5ReHtjb25zdHJ1Y3RvcihuLFcsRCl7c3VwZXIoVyx7c3RhdHVzOkQsLi4uW119KTt0aGlzLnR5cGU9bjt0aGlzLnN0YXR1cz1EO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBsQj1uZXcgZy5BTCgiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFRXPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3IobixXLEQsYil7c3VwZXIoKTt0aGlzLnlHPW47dGhpcy5OPVc7dGhpcy5XPUQ7dGhpcy5KPWJ9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLnlHLEQ9dGhpcy5OLGI9dGhpcy5XLHY9dGhpcy5KO3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBrPW4ueXRSZXF1ZXN0LGg9bi5jaHVua0NhbGxiYWNrLHg9ay5jb25maWc/LnJlcXVlc3RLZXksTD1KU09OLnN0cmluZ2lmeShrLmlubmVyVHViZVJlcXVlc3QpLGU9ey4uLmsuUGksYm9keTprLlBpLm1ldGhvZD09PSJQT1NUIj9MOnZvaWQgMH07ay5jb25maWc/LkxhJiZnLmFMKGsuY29uZmlnLkxhKTt2YXIgRz17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHI9MCxOPXk9PntFbyhiKCkse3dpcmVSZXNwb25zZTp5LHl0UmVxdWVzdDprLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6R30scisrKX07Ckw9KCk9Pmg/Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcsTik6Vy5mZXRjaChrLmlucHV0LGUsay5jb25maWcpOwp0cnl7dmFyIEg9dj92LlFOKGssTCk6TCgpfWNhdGNoKHkpe0g9UHJvbWlzZS5yZWplY3QoeSl9eCYmRCYmRC5zZXQoeCxIKTt0cnl7dmFyIEE9eWllbGQqUFAoSFAoSCkpfWNhdGNoKHkpe3JldHVybiBnLmwoIndlYl9lbmFibGVfcmV0cmllcyIpJiYoQT15IGluc3RhbmNlb2YgVHlwZUVycm9yJiZ5Lm1lc3NhZ2U9PT0iRmFpbGVkIHRvIGZldGNoIj8xOjAsVW8oQSkpP3tuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLm4sZXJyb3I6bmV3IEVDKEEseS5tZXNzYWdlKSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTp7bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX19eCYmRCYmRC5kZWxldGUoeCk7ZWsoeEQoay5pbnB1dCkpKCk7ay5jb25maWc/LlJWJiZnLmFMKGsuY29uZmlnLlJWKTtpZighQSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnsuLi5ufX07aWYoQSYmdHlwZW9mIEE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoQSkmJih4PUEseC5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJgooeD14LmVycm9yTWV0YWRhdGEuc3RhdHVzLEg9eD09PTUwM3x8eD09PTUwNHx8eD09PTQyOT8yOng+PTQwMCYmeDw1MDB8fHg+PTUwMD8zOjAsVW8oSCkmJmcubCgid2ViX2VuYWJsZV9yZXRyaWVzIikpKSlyZXR1cm57bmV4dFN0YXRlOiJSRVRSWSIscGFyYW1zOnsuLi5uLGVycm9yOm5ldyBFQyhILGBIVFRQIFN0YXR1cyAke3h9YCx4KSxhdHRlbXB0OihuLmF0dGVtcHR8fDApKzF9fTshaCYmQSYmKHg9YigpLHg9eWllbGQqUFAoRW8oeCx7d2lyZVJlc3BvbnNlOkEseXRSZXF1ZXN0OmsscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn19KSksSD14LmNvbnRlbnR8fHgucGxheWVyfHx4LnlCLHgudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmSCYmKEE9SCkpO3g9QTtpZihBcnJheS5pc0FycmF5KEEpKWlmKEE9QS5maWx0ZXIoeT0+ISh5LnBsYXllclJlc3BvbnNlfHx5LndhdGNoTmV4dFJlc3BvbnNlfHx5KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLEEubGVuZ3RoPT09CjEpeD1BWzBdOwplbHNlIGlmKEEubGVuZ3RoPjEpeD1BLmZpbmQoeT0+eS53YXRjaE5leHRSZXNwb25zZSl8fEFbMF07CmVsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmV0Y2hOb2RlIHByb2R1Y2VkIG9ubHkgZnJhbWV3b3JrLW9ubHkgcmVzcG9uc2VzIil9O3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmgmJiFnLmwoIndlYl9ubV9mZXRjaF9jaHVua19jYWxsYmFja19rcyIpP0c6eH19KCl9KX19OwpUV1tnLkxYXT1bbEIsaWQsblIsZy5ocChuZXcgZy5BTCgiUkVRVUVTVF9TRVFVRU5DSU5HIikpXTt2YXIgams9Y2xhc3MgZXh0ZW5kcyB5WHtjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKCk7dGhpcy5KPW47dGhpcy5OPVd9ZXhlY3V0ZShuKXt2YXIgVz10aGlzLk4sRD10aGlzLkosYj1uLnl0UmVxdWVzdDtyZXR1cm4gVz8uckEoYi5pbnB1dCxiLmlubmVyVHViZVJlcXVlc3QpP09vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHY9eWllbGQqUFAoSFAoVy5zNihiLmlucHV0LGIuaW5uZXJUdWJlUmVxdWVzdCkpKTt2YXIgaz1EKCk7di5wbGF5ZXJSZXNwb25zZSYmdi53YXRjaE5leHRSZXNwb25zZT8oeWllbGQqUFAoeXEoayx7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTp2LnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6bi55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazpuLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6di5wbGF5ZXJSZXNwb25zZX0pKSxrPXlpZWxkKlBQKHlxKGssCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOnYud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2LndhdGNoTmV4dFJlc3BvbnNlfSkpKTprPXlpZWxkKlBQKHlxKGsse3dpcmVSZXNwb25zZTp2LHl0UmVxdWVzdDpuLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOm4uY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTp2fSkpO3ZhciBoPWsuY29udGVudHx8ay5wbGF5ZXJ8fGsueUI7ay50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZoJiYodj1oKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTp2fX0oKX0pOkhQKHtuZXh0U3RhdGU6IkNPTlRFWFQiLApwYXJhbXM6bn0pfX07amtbZy5MWF09W25SLGcuaHAoR3h0KV07dmFyIENsPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIFc9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7dHJ5e3ZhciBEPXlpZWxkKlBQKFZFMihXLG4uY29tbWFuZCwhIW4uY2h1bmtDYWxsYmFjaykpfWNhdGNoKGIpe3JldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6Yn19cmV0dXJuKEQ9RC5EKG4uY29tbWFuZCxuLmZvcm0sbi5pZGVudGl0eSkpP3tuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDpELGNodW5rQ2FsbGJhY2s6bi5jaHVua0NhbGxiYWNrfX06e25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiRmFpbGVkIHRvIGJ1aWxkIHJlcXVlc3QgZm9yIGNvbW1hbmQiKX19KCl9KX19OwpDbFtnLkxYXT1bTWFdO3ZhciBCUD1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OlcsYXBpUGF0aDpELGNsaWNrVHJhY2tpbmdQYXJhbXM6Yixjb25maWc6dj17Qkc6e2lkZW50aXR5OnU5fX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTprPSEwLGNodW5rQ2FsbGJhY2s6aH09bjtXLmNvbnRleHR8fChXLmNvbnRleHQ9Zy52YihiLGspKTt2YXIgeD1acihLJChEKSk7cmV0dXJue25leHRTdGF0ZToiQ0FDSEUiLHBhcmFtczp7eXRSZXF1ZXN0OntpbnB1dDp4LFBpOlV6KHgpLGlubmVyVHViZVJlcXVlc3Q6Vyxjb25maWc6dn0sY2h1bmtDYWxsYmFjazpofX19KCl9KX19O3ZhciB0NE09Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50ZT1ufXJ1bihuLFcpe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7dmFyIEQ9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBiPW4sdj1XLGs9W107Oyl7ay5wdXNoKFN0cmluZyhiKSk7dj15aWVsZCpQUChELnRlW2JdLmV4ZWN1dGUodikpO2lmKHYubmV4dFN0YXRlPT09IkRPTkUiKXJldHVybiBrLnB1c2goIkRPTkUiKSx2LnZhbHVlO2lmKHYubmV4dFN0YXRlPT09IkZBSUxFRCIpdGhyb3cgay5wdXNoKGBGQUlMRUQoJHt2LmVycm9yLm1lc3NhZ2V8fCJlcnJvciJ9KWApLHYuZXJyb3I7Yj12Lm5leHRTdGF0ZTt2PXYucGFyYW1zfX0oKX0pfX07Zy5Ncj1jbGFzcyBleHRlbmRzIHQ0TXt9O2cuTXIucHJvdG90eXBlLkQ9V1ooMSk7Zy5NcltnLkxYXT1bd19dO3ZhciBGNz1jbGFzcyBleHRlbmRzIHlYe2V4ZWN1dGUobil7cmV0dXJuIE9vKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIFc9bi55dFJlcXVlc3QsRD1uLmVycm9yLGI9bi5hdHRlbXB0LHY9bi5jaHVua0NhbGxiYWNrLGs9Vy5jb25maWc/Llh4O2lmKCEoayYmRCBpbnN0YW5jZW9mIEVDJiZVbyhELnR5cGUpKXx8Yj4oay5tYXhSZXRyaWVzPz8wKSlyZXR1cm57bmV4dFN0YXRlOiJGQUxMQkFDSyIscGFyYW1zOnt5dFJlcXVlc3Q6VyxjaHVua0NhbGxiYWNrOnZ9fTt2YXIgaD0oRD1rLmtVKT9ELlBaKGIpOi0xO2g9PT0tMSYmKGg9MUUzKTtrLlQ2IT09dm9pZCAwJiYoaD1NYXRoLm1pbihoLGsuVDYpKTt5aWVsZCpQUChIUChuZXcgUHJvbWlzZSh4PT57Zy5WeCgwLHgsNCxoKX0pKSk7CnJldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpXLGNodW5rQ2FsbGJhY2s6dixhdHRlbXB0OmJ9fX0oKX0pfX07dmFyIFJqPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLmNodW5rQ2FsbGJhY2ssRD1uLnJlc3BvbnNlUGF5bG9hZCxiPW4ud2lyZVJlc3BvbnNlO1cmJihXKEQpLCJwbGF5ZXJSZXNwb25zZSJpbiBiJiZiLnBsYXllclJlc3BvbnNlJiYoZy5EeSgpLGJRKDQpKSk7cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6RH19KCl9KX19O3ZhciAkejI9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLFFxPWNsYXNzIGV4dGVuZHMgeVh7ZXhlY3V0ZShuKXtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgVz1uLm9uZVBsYXRmb3JtRXJyb3I7aWYoVyYmImRldGFpbHMiaW4gVyYmVy5kZXRhaWxzKXtXPVcuZGV0YWlscztmb3IobGV0IEQgb2YgVylpZigoVz1EWyJAdHlwZSJdKSYmJHoyLmluZGV4T2YoVyk+LTEpcmV0dXJuIGRlbGV0ZSBEWyJAdHlwZSJdLHtuZXh0U3RhdGU6IlBST0NFU1NfUkVTUE9OU0UiLApwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fXJldHVybntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIkVycm9yIHJlc3BvbnNlIGNvdWxkIG5vdCBiZSB1bnBhY2tlZCIpfX0oKX0pfX07dmFyIFZxPWNsYXNzIGV4dGVuZHMgeVh7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLk49bn1leGVjdXRlKG4pe3ZhciBXPXRoaXMuTjtyZXR1cm4gT28odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgRD1uLmV4dHJhY3RlZFJlc3BvbnNlLGI9bi55dFJlcXVlc3Qsdj1uLnJlc3BvbnNlUGF5bG9hZCxrPW4ud2lyZVJlc3BvbnNlO2lmKEQmJiEoImNvZGUiaW4gRHx8ImVycm9yImluIEQpJiYhRC5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2Ygc28pV1toXSYmV1toXS5oYW5kbGVSZXNwb25zZShELGIpO2sud2F0Y2hOZXh0UmVzcG9uc2V8fGsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2sud2F0Y2hOZXh0UmVzcG9uc2U/di5jb250ZW50PWsud2F0Y2hOZXh0UmVzcG9uc2U6di5jb250ZW50PWsucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2U/di5wbGF5ZXI9ay5wbGF5ZXJSZXNwb25zZTprLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CnYueUI9ay5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOnYuY29udGVudD1rO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczpufX0oKX0pfX07ClZxW2cuTFhdPVtWV107dmFyIFdHPWNsYXNzIGV4dGVuZHMgdDRNe307V0dbZy5MWF09W2FqXTt2YXIgY1A9Y2xhc3MgZXh0ZW5kcyB5WHtleGVjdXRlKG4pe3JldHVybiBPbyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBXPW4ud2lyZVJlc3BvbnNlLEQ7QXJyYXkuaXNBcnJheShXKT9EPVdbMF06dHlwZW9mIFc9PT0ib2JqZWN0IiYmVyE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gV3x8IndhdGNoTmV4dFJlc3BvbnNlImluIFd8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gV3x8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gVyk/RD1XLnBsYXllclJlc3BvbnNlfHxXLndhdGNoTmV4dFJlc3BvbnNlfHxXLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Vy5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOkQ9VztyZXR1cm4gRCYmImVycm9yImluIEQ/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4ubixvbmVQbGF0Zm9ybUVycm9yOkQuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLm4sZXh0cmFjdGVkUmVzcG9uc2U6RH19fSgpfSl9fTt2YXIgUEd4PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBDOGJ9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixMdTEpfHx2b2lkIDB9SihuLFcsRD17fSl7Vy5jaGFubmVsSWRzJiYobi5jaGFubmVsSWRzPVcuY2hhbm5lbElkcyk7Vy5zaWxvTmFtZSYmKG4uc2lsb05hbWU9Vy5zaWxvTmFtZSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7RC5ib3RndWFyZFJlc3BvbnNlJiYobi5ib3RndWFyZFJlc3BvbnNlPUQuYm90Z3VhcmRSZXNwb25zZSk7RC5mZWF0dXJlJiYobi5jbGllbnRGZWF0dXJlPUQuZmVhdHVyZSl9fTt2YXIgWmh0PWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBCeWl9Z2V0IGooKXtyZXR1cm4hMH1OKG4pe3JldHVybiBnLncobixoblUpfHx2b2lkIDB9SihuLFcpe1cuY2hhbm5lbElkcyYmKG4uY2hhbm5lbElkcz1XLmNoYW5uZWxJZHMpO1cuc2lsb05hbWUmJihuLnNpbG9OYW1lPVcuc2lsb05hbWUpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpfX07dmFyIFI4PWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNKPW59Vygpe3JldHVybiBkJFN9TihuKXtyZXR1cm4gZy53KG4sdXhDKXx8Zy53KG4sb05pKXx8Zy53KG4saXpTKX1KKG4sVyl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO1cuY2xpZW50UGFyYW1JZGVudGlmaWVyJiZ0aGlzLmNKPy5OKFcuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKG4uY2xpZW50UGFyYW1zPXRoaXMuY0ouSihXLmNsaWVudFBhcmFtSWRlbnRpZmllcikpfX07UjhbZy5MWF09W25ldyBnLkFMKCJTSEFSRV9DTElFTlRfUEFSQU1TX1BST1ZJREVSX1RPS0VOIildO3ZhciBtZlM9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGxPTX1nZXQgaigpe3JldHVybiEwfU4obil7cmV0dXJuIGcudyhuLFNZdyl8fHZvaWQgMH1KKG4sVyxEKXtuLmZlZWRiYWNrVG9rZW5zPVtdO1cuZmVlZGJhY2tUb2tlbiYmbi5mZWVkYmFja1Rva2Vucy5wdXNoKFcuZmVlZGJhY2tUb2tlbik7aWYoVz1XLmNwbnx8RC5jcG4pbi5mZWVkYmFja0NvbnRleHQ9e2NwbjpXfTtuLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPSEhRC5pc19mZWVkYmFja190b2tlbl91bmVuY3J5cHRlZDtuLnNob3VsZE1lcmdlPSExO0QuZXh0cmFfZmVlZGJhY2tfdG9rZW5zJiYobi5zaG91bGRNZXJnZT0hMCxuLmZlZWRiYWNrVG9rZW5zPW4uZmVlZGJhY2tUb2tlbnMuY29uY2F0KEQuZXh0cmFfZmVlZGJhY2tfdG9rZW5zKSl9fTt2YXIgSzRpPWNsYXNzIGV4dGVuZHMgUEN7Vygpe3JldHVybiBUeXd9TihuKXtyZXR1cm4gZy53KG4sa2l3KXx8dm9pZCAwfUoobixXKXtXLnBhcmFtcyYmKG4ucGFyYW1zPVcucGFyYW1zKTtXLnNlY29uZGFyeVBhcmFtcyYmKG4uc2Vjb25kYXJ5UGFyYW1zPVcuc2Vjb25kYXJ5UGFyYW1zKX19O3ZhciBPaHI9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIGpkeH1OKG4pe3JldHVybiBnLncobixuWEMpfHx2b2lkIDB9SihuLFcpe1cuYWN0aW9ucyYmKG4uYWN0aW9ucz1XLmFjdGlvbnMpO1cucGFyYW1zJiYobi5wYXJhbXM9Vy5wYXJhbXMpO1cucGxheWxpc3RJZCYmKG4ucGxheWxpc3RJZD1XLnBsYXlsaXN0SWQpfX07dmFyIFVmWj1jbGFzcyBleHRlbmRzIFBDe1coKXtyZXR1cm4gem50fU4obil7cmV0dXJuIGcudyhuLGRJeCl9SihuLFcsRD17fSl7Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkmJihuLnNlcmlhbGl6ZWRTaGFyZWRFbnRpdHk9Vy5zZXJpYWxpemVkU2hhcmVFbnRpdHkpO0QuaW5jbHVkZUxpc3RJZCYmKG4uaW5jbHVkZUxpc3RJZD0hMCl9fTt2YXIgUVc9bmV3IGcuQUwoIlJFU09MVkVfVVJMX1BSRUZFVENIX1RPS0VOIik7dmFyIGpZPW5ldyBnLkFMKCJDTElFTlRfTkFNRV9UT0tFTiIpO3ZhciBDZj1uZXcgZy5BTCgiREVGQVVMVF9TVE9SRV9FWFBJUkFUSU9OX1RPS0VOIik7dmFyIHJaaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuY2xpZW50TmFtZT1uO3RoaXMuSj1XfWFzeW5jIHB1dChuLFcpe1c9ey4uLlcuZGF0YX07Vy5rZXk9bjtXLmNsaWVudE5hbWU9dGhpcy5jbGllbnROYW1lO1cuZXhwaXJlVGltZXN0YW1wTXM9PT12b2lkIDAmJihXLmV4cGlyZVRpbWVzdGFtcE1zPShNYXRoLnJvdW5kKCgwLGcuUikoKSkrdGhpcy5KKS50b1N0cmluZygpKTtyZXR1cm4gRHcodGhpcyxuLFcpfX07clpoW2cuTFhdPVtqWSxDZl07dmFyIGJoPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuZGF0YT17Li4ubn07ZGVsZXRlIHRoaXMuZGF0YS5pbm5lcnR1YmVSZXNwb25zZT8uZnJhbWV3b3JrVXBkYXRlc31pc0V4cGlyZWQoKXtyZXR1cm4gTnVtYmVyKHRoaXMuZGF0YS5leHBpcmVUaW1lc3RhbXBNc3x8MCk8KDAsZy5SKSgpfWlzUHJvY2Vzc2VkKCl7cmV0dXJuISF0aGlzLmRhdGEuaXNQcm9jZXNzZWR9fTt2YXIgQTNqPWNsYXNzIGV4dGVuZHMgclpoe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLk49bmV3IE1hcH1hc3luYyBnZXQobil7cmV0dXJuIHZHKHRoaXMsbil9YXN5bmMgcmVtb3ZlKG4pe2tNKHRoaXMsbil9YXN5bmMgVGkoKXt0aGlzLk4uZm9yRWFjaChuPT57Y2xlYXJUaW1lb3V0KG4udGltZXIpfSk7CnRoaXMuTi5jbGVhcigpfWhhcyhuKXtyZXR1cm4hIXRoaXMuTi5nZXQobil9dUIoKXtyZXR1cm4gdGhpcy5OLmtleXMoKX19O3ZhciBzb2I9Y2xhc3MgZXh0ZW5kcyBQQ3tXKCl7cmV0dXJuIHN2Mn1OKG4pe3JldHVybiBnLncobixUZSl9SihuLFcpe1cudmlkZW9JZCYmKG4ucGxheWVyUmVxdWVzdD17dmlkZW9JZDpXLnZpZGVvSWR9LFcucGxheWVyUGFyYW1zJiYobi5wbGF5ZXJSZXF1ZXN0LnBhcmFtcz1XLnBsYXllclBhcmFtcyksVy5yYWN5Q2hlY2tPayYmKG4ucGxheWVyUmVxdWVzdC5yYWN5Q2hlY2tPaz0hIVcucmFjeUNoZWNrT2spLFcuY29udGVudENoZWNrT2smJihuLnBsYXllclJlcXVlc3QuY29udGVudENoZWNrT2s9ISFXLmNvbnRlbnRDaGVja09rKSk7Vy5wYXJhbXMmJihuLnBhcmFtcz1XLnBhcmFtcyk7Vy5pbnB1dFR5cGUmJihuLmlucHV0VHlwZT1XLmlucHV0VHlwZSk7bi5kaXNhYmxlUGxheWVyUmVzcG9uc2U9ITB9VihuKXt2YXIgVzsobj10aGlzLlgobikpJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3JlZWxzX3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InJfd3JzIixXLlJWPSJyX3dyciIpOwpyZXR1cm4gV31YKG4pe249dGhpcy5OKG4pO2lmKG4/LnZpZGVvSWQpe3ZhciBXPXt2aWRlb0lkOm4udmlkZW9JZH07bi5wYXJhbXMmJihXLnBhcmFtcz1uLnBhcmFtcyk7cmV0dXJuIHlIKCJyZWVsX2l0ZW1fd2F0Y2giLFcpfX19O3ZhciBOdE09bmV3IGcuQUwoIkVOVElUWV9TVEFURV9UT0tFTiIpO3ZhciBZa1M9Y2xhc3N7Y29uc3RydWN0b3IoKXt2YXIgbj1wRmksVz1xTihVeGooKSk7dGhpcy5zdG9yZT0kZihuLHZvaWQgMCxXKX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0b3JlLmdldFN0YXRlKCl9ZGlzcGF0Y2gobil7cmV0dXJuIHRoaXMuc3RvcmUuZGlzcGF0Y2gobil9c3Vic2NyaWJlKG4pe3JldHVybiB0aGlzLnN0b3JlLnN1YnNjcmliZShuKX1yZXBsYWNlUmVkdWNlcihuKXtyZXR1cm4gdGhpcy5zdG9yZS5yZXBsYWNlUmVkdWNlcihuKX1bU3ltYm9sLm9ic2VydmFibGVdKCl7cmV0dXJuIHRoaXMuc3RvcmVbU3ltYm9sLm9ic2VydmFibGVdKCl9fTt2YXIgUzU9Y2xhc3N7Y29uc3RydWN0b3Iobj1bXSl7dGhpcy5OPVtdO3RoaXMuVz10aGlzLko9MDt0aGlzLlg9dm9pZCAwO3RoaXMudG90YWxMZW5ndGg9MDtuLmZvckVhY2goVz0+e3RoaXMuYXBwZW5kKFcpfSl9aigpe3JldHVybiB0aGlzLnRvdGFsTGVuZ3RofWFwcGVuZChuKXtpZih4TSh0aGlzLG4pKXtsZXQgVz10aGlzLk5bdGhpcy5OLmxlbmd0aC0xXTsKdGhpcy5OW3RoaXMuTi5sZW5ndGgtMV09bmV3IFVpbnQ4QXJyYXkoVy5idWZmZXIsVy5ieXRlT2Zmc2V0LFcubGVuZ3RoK24ubGVuZ3RoKTtMUih0aGlzKX1lbHNlIHRoaXMuTi5wdXNoKG4pO3RoaXMudG90YWxMZW5ndGgrPW4ubGVuZ3RofXNwbGl0KG4pe3ZhciBXPW5ldyBTNSxEPW5ldyBTNTtmb3IobGV0IGIgb2YgdGhpcy5OKW4+PWIubGVuZ3RoPyhXLmFwcGVuZChiKSxuLT1iLmxlbmd0aCk6bj8oVy5hcHBlbmQobmV3IFVpbnQ4QXJyYXkoYi5idWZmZXIsYi5ieXRlT2Zmc2V0LG4pKSxELmFwcGVuZChuZXcgVWludDhBcnJheShiLmJ1ZmZlcixiLmJ5dGVPZmZzZXQrbixiLmxlbmd0aC1uKSksbj0wKTpELmFwcGVuZChiKTtyZXR1cm57Q3M6VyxZOTpEfX1pc0ZvY3VzZWQobil7cmV0dXJuIG4+PXRoaXMuVyYmbjx0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RofWZvY3VzKG4pe2lmKCF0aGlzLmlzRm9jdXNlZChuKSl7Zm9yKG48dGhpcy5XJiZMUih0aGlzKTt0aGlzLlcrdGhpcy5OW3RoaXMuSl0ubGVuZ3RoPD0KbiYmdGhpcy5KPHRoaXMuTi5sZW5ndGg7KXRoaXMuVys9dGhpcy5OW3RoaXMuSl0ubGVuZ3RoLHRoaXMuSis9MTt0aGlzLlg9dm9pZCAwfX19O3ZhciBZTSxORCxmUjtnLk5tPSgoKT0+e3ZhciBuPWI9Pm5ldyBVaW50OEFycmF5KGIpLFc9Yj0+e3ZhciB2PW5ldyBVaW50OEFycmF5KGIubGVuZ3RoKTsKZm9yKGxldCBrPTA7azxiLmxlbmd0aDtrKyspdltrXT1iW2tdO3JldHVybiB2fSxEPW5ldyBVaW50OEFycmF5KFsxXSk7CnJldHVybiBELmxlbmd0aD09PTEmJkRbMF09PT0xP246V30pKCk7CllNPUFycmF5KDEwMjQpO05EPXR5cGVvZiBUZXh0RGVjb2RlciE9PSJ1bmRlZmluZWQiP25ldyBUZXh0RGVjb2Rlcjp2b2lkIDA7ZlI9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOnZvaWQgMDt2YXIgQVI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW47dGhpcy5wb3M9MDt0aGlzLko9LTF9fTt2YXIgejY9Y2xhc3N7Y29uc3RydWN0b3Iobj00MDk2KXt0aGlzLldWPXZvaWQgMDt0aGlzLnBvcz0wO3RoaXMuSj1bXTt0aGlzLk49ZGQobik7dGhpcy52aWV3PW5ldyBEYXRhVmlldyh0aGlzLk4uYnVmZmVyLHRoaXMuTi5ieXRlT2Zmc2V0LHRoaXMuTi5ieXRlTGVuZ3RoKX19O3ZhciBhdz17YW5pbWF0aW9uRW50aXR5OjMwMixhY2NvdW50TGlua1N0YXR1c0VudGl0eToxMjIsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTo2MzAsYm9vbGVhbkVudGl0eTozMDcsYXNrU3R1ZGlvQ29udmVyc2F0aW9uU3VtbWFyeUVudGl0eTo2MzcsYnV0dG9uRW50aXR5OjM1OCxjYXB0aW9uVHJhY2s6MjI1LGNoYW5uZWxIYW5kbGU6Mjc1LGNoaXBFbnRpdHk6NDk4LGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OjI3Nixjb21tZXJjZUNhcnRMaXN0RW50aXR5OjIzNixjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTo1MzIsY29tcG9zaXRlU291cmNlRW50aXR5OjU5NCxjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOjQ4Myxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOjU3Nixjb250aW51YXRpb25Ub2tlbkVudGl0eTo0MDYsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OjIwMixkb3dubG9hZHNQYWdlUmVmcmVzaFRva2VuRW50aXR5OjI5OSwKZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OjI2NCxkb3dubG9hZFN0YXR1c0VudGl0eToxNDEsZGlzbWlzc1N0YXRlOjU0MCxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5OjE4NixlbW9qaUZvdW50YWluRGF0YUVudGl0eTozOTMsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OjQ5NixmYWtlQ2hhbm5lbDoyLGZha2VQbGF5bGlzdDoyNzksZmFrZVBsYXlsaXN0RW50cnlDb2xsZWN0aW9uOjI4MCxmYWtlVmlkZW86MTgyLGZha2VWaWRlb0Rlc2NyaXB0aW9uOjI3OCxmZWF0dXJlZFByb2R1Y3RzRW50aXR5OjM5MixzYXZlZFByb2R1Y3RzU3RhdGVFbnRpdHk6NTk4LGZsb3dTdGF0ZUVudGl0eToyNTIsaWNvbkJhZGdlRW50aXR5OjIyOSxpbnRlcnN0aXRpYWxJbnRlcmFjdGlvblN0YXRlRW50aXR5OjQ0MyxsaWtlQnV0dG9uQW5pbWF0aW9uRW50aXR5OjU2NyxsaXZlQ2hhdFBvbGxTdGF0ZUVudGl0eToyMTcsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTo1NjMsCmxpdmVWaWV3ZXJMZWFkZXJib2FyZFBvaW50c0VudGl0eTo1NjQsbGl2ZVJlYWN0aW9uc0RhdGFFbnRpdHk6NTAzLGxvZ29FbnRpdHk6MjQ1LG1hY3JvTWFya2VyRW50aXR5OjMyOSxtYWluRG93bmxvYWRzTGlicmFyeUVudGl0eToxNTgsbWFpbkRvd25sb2Fkc0xpc3RFbnRpdHk6MTY0LG1haW5QbGF5bGlzdERvd25sb2FkU3RhdGVFbnRpdHk6MzczLG1haW5QbGF5bGlzdEVudGl0eTozMDYsbWFpblBsYXlsaXN0VmlkZW9FbnRpdHk6MzY4LG1haW5WaWRlb0Rvd25sb2FkU3RhdGVFbnRpdHk6MjYyLG1haW5WaWRlb0VudGl0eToyNjEsbWFya2Vyc0VuZ2FnZW1lbnRQYW5lbFN5bmNFbnRpdHk6MTk2LG1hcmtlcnNWaXNpYmlsaXR5T3ZlcnJpZGVFbnRpdHk6MzEyLG11c2ljQWxidW1SZWxlYXNlRGV0YWlsOjE4LG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eToyNTksbXVzaWNBbGJ1bVJlbGVhc2U6MTcsbXVzaWNBbGJ1bVJlbGVhc2VVc2VyRGV0YWlsOjE5LG11c2ljQXJ0aXN0RGV0YWlsOjIxLAptdXNpY0FydGlzdDoyMCxtdXNpY0FydGlzdFVzZXJEZXRhaWw6MjIsbXVzaWNEb3dubG9hZHNMaWJyYXJ5RW50aXR5OjI1NyxtdXNpY0xpYnJhcnlFZGl0OjEyMSxtdXNpY0xpYnJhcnlTdGF0dXNFbnRpdHk6MzE4LG11c2ljUGxheWxpc3Q6MjQsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjQ4LG11c2ljU2hhcmU6MTAwLG11c2ljVHJhY2tEZXRhaWw6MjksbXVzaWNUcmFja0Rvd25sb2FkTWV0YWRhdGFFbnRpdHk6MjM0LG11c2ljVHJhY2s6MjgsbXVzaWNUcmFja1VzZXJEZXRhaWw6MzAsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OjE2OSxvZmZsaW5lVmlkZW9Qb2xpY3k6MTMwLG9mZmxpbmVWaWRlb1N0cmVhbXM6MTk4LG9mZmxpbmVhYmlsaXR5RW50aXR5OjI0NixvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6MjQyLHBhZ2VIZWFkZXJFbnRpdHk6NDk1LHBhcnR5R2FtZVBhbmVsRW50aXR5OjYxOCxzbGlkZXJHYW1lUGFuZWxFbnRpdHk6NjMzLApwZHBTdGF0ZUVudGl0eTo1MjQscGlubmVkUHJvZHVjdEVudGl0eToyNzMscGxheWJhY2tEYXRhOjExOSxwbGF5ZXJTdGF0ZUVudGl0eTozMjMscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eTo1MzkscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTozNTYscmVmcmVzaDoxNDgsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OjIzMSxzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6NDc5LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTo2MzQsc2V0dGluZ0VudGl0eToyOTcsc3RyaW5nRW50aXR5OjM4MixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTo0ODUsdHJhbnNmZXI6MTIwLHRyZW5kaW5nT2ZmZXJFbnRpdHk6NDY5LHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OjYzNSx2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTo0NjEsdmlkZW9PdmVydmlld0FzeW5jRGF0YUVudGl0eTo1NDUsdmlkZW9QbGF5YmFja1Bvc2l0aW9uRW50aXR5Ojc2LHZvdGluZ0VudGl0eTo1NjEsCnl0TWFpbkNoYW5uZWxFbnRpdHk6MTUyLHlvdWNoYXRQZW5kaW5nUmVzcG9uc2VFbnRpdHk6NTUzLHl0TWFpbkRvd25sb2FkZWRWaWRlb0VudGl0eToxNTUseXRNYWluVmlkZW9FbnRpdHk6MTUxfSxWQT17fTtmb3IobGV0IFtuLFddb2YgT2JqZWN0LmVudHJpZXMoYXcpKXtsZXQgRD1uLGI9VztiJiYoVkFbYl09RCl9O3ZhciB2ZTt2YXIgSDZ0PSExLGdOLGhFLHgkLExmLGVZLGZIYj1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3Iobil7c3VwZXIoKTt0aGlzLmNvdW50ZXI9WzAsMCwwLDBdO3RoaXMuSj1uZXcgVWludDhBcnJheSgxNik7dGhpcy5OPTE2O2lmKCFINnQpe3ZhciBXLEQ9bmV3IFVpbnQ4QXJyYXkoMjU2KSxiPW5ldyBVaW50OEFycmF5KDI1Nik7dmFyIHY9MTtmb3IoVz0wO1c8MjU2O1crKylEW3ZdPVcsYltXXT12LHZePXY8PDFeKHY+PjcmJjI4Myk7Z049bmV3IFVpbnQ4QXJyYXkoMjU2KTtoRT1rJCgyNTYpO3gkPWskKDI1Nik7TGY9ayQoMjU2KTtlWT1rJCgyNTYpO2ZvcihsZXQgaD0wO2g8MjU2O2grKyl7dj1oP2JbMjU1XkRbaF1dOjA7dl49djw8MV52PDwyXnY8PDNedjw8NDt2PXYmMjU1XnY+Pj44Xjk5O2dOW2hdPXY7Vz12PDwxXih2Pj43JiYyODMpO3ZhciBrPVdedjtoRVtoXT1XPDwyNHx2PDwxNnx2PDw4fGs7eCRbaF09azw8MjR8aEVbaF0+Pj44O0xmW2hdPXY8PDI0fHgkW2hdPj4+Cjg7ZVlbaF09djw8MjR8TGZbaF0+Pj44fUg2dD0hMH12PWskKDQ0KTtmb3IoRD0wO0Q8NDtEKyspdltEXT1uWzQqRF08PDI0fG5bNCpEKzFdPDwxNnxuWzQqRCsyXTw8OHxuWzQqRCszXTtmb3IoYj0xO0Q8NDQ7RCsrKW49dltELTFdLEQlNHx8KG49KGdOW24+PjE2JjI1NV1eYik8PDI0fGdOW24+PjgmMjU1XTw8MTZ8Z05bbiYyNTVdPDw4fGdOW24+Pj4yNF0sYj1iPDwxXihiPj43JiYyODMpKSx2W0RdPXZbRC00XV5uO3RoaXMua2V5PXZ9ZW5jcnlwdChuKXt2YXIgVz1uLmxlbmd0aDtuPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyLnNsaWNlKG4uYnl0ZU9mZnNldCxuLmJ5dGVPZmZzZXQrVykpO2Zvcih2YXIgRD10aGlzLkosYj0wO2I8VyYmdGhpcy5OPDE2OyluW2IrK11ePURbdGhpcy5OKytdO2Zvcih2YXIgdj1XLShXLWIpJTE2O2I8djspWDgodGhpcyksbltiKytdXj1EWzBdLG5bYisrXV49RFsxXSxuW2IrK11ePURbMl0sbltiKytdXj1EWzNdLG5bYisrXV49RFs0XSxuW2IrK11ePQpEWzVdLG5bYisrXV49RFs2XSxuW2IrK11ePURbN10sbltiKytdXj1EWzhdLG5bYisrXV49RFs5XSxuW2IrK11ePURbMTBdLG5bYisrXV49RFsxMV0sbltiKytdXj1EWzEyXSxuW2IrK11ePURbMTNdLG5bYisrXV49RFsxNF0sbltiKytdXj1EWzE1XTtpZihiPFcpZm9yKFg4KHRoaXMpLHRoaXMuTj0wO2I8VzspbltiKytdXj1EW3RoaXMuTisrXTtyZXR1cm4gbn19O3ZhciBxYT0hMTsoKCk9Pnt2YXIgbj1iPT5uZXcgVWludDhBcnJheShiKSxXPWI9Pnt2YXIgdj1uZXcgVWludDhBcnJheShiLmxlbmd0aCk7CmZvcihsZXQgaz0wO2s8Yi5sZW5ndGg7aysrKXZba109YltrXTtyZXR1cm4gdn0sRD1uZXcgVWludDhBcnJheShbMV0pOwpyZXR1cm4gRC5sZW5ndGg9PT0xJiZEWzBdPT09MT9uOld9KSgpOwp2YXIgR3I7dmFyIHVvPWNsYXNze2NvbnN0cnVjdG9yKG4pe3ZhciBXPXRFKCk7VyYmKHRoaXMuTj1uZXcgZFhNKG4sVykpO3RoaXMuSj1uZXcgYjEobil9YXN5bmMgZW5jcnlwdChuLFcpe2lmKHRoaXMuTil0cnl7cmV0dXJuIGF3YWl0IHRoaXMuTi5lbmNyeXB0KG4sVyl9Y2F0Y2goRCl7Zy5HcShEKSxxYT0hMCx0aGlzLk49dm9pZCAwfXJldHVybiB0aGlzLkouZW5jcnlwdChuLFcpfWRlY3J5cHQobixXKXtyZXR1cm4gdGhpcy5lbmNyeXB0KG4sVyl9fSxkWE09Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLlc9bjt0aGlzLko9V31hc3luYyBlbmNyeXB0KG4sVyl7dHJ5e3JldHVybiBhd2FpdCBiaDEodGhpcyxuLFcpfWNhdGNoKEQpe3Rocm93IGcuR3EoRCkscWE9ITAsRDt9fX0sYjE9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5KPW59ZW5jcnlwdChuLFcpe3RoaXMuTnx8KHRoaXMuTj1uZXcgZkhiKHRoaXMuSikpO3ZhciBEPXRoaXMuTjtmb3IobGV0IGI9MDtiPDQ7YisrKUQuY291bnRlcltiXT0KV1tiKjRdPDwyNHxXW2IqNCsxXTw8MTZ8V1tiKjQrMl08PDh8V1tiKjQrM107RC5OPTE2O3JldHVybiB0aGlzLk4uZW5jcnlwdChuKX1kZWNyeXB0KG4sVyl7cmV0dXJuIHRoaXMuZW5jcnlwdChuLFcpfX07dmFyIHZtaT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLmo9bmV3IFVpbnQ4QXJyYXkoNjQpO3RoaXMuVz1uZXcgVWludDhBcnJheSg2NCk7dGhpcy5YPTA7dGhpcy5WPW5ldyBVaW50OEFycmF5KDY0KTt0aGlzLko9MDt0aGlzLmouc2V0KG4pO3RoaXMuVy5zZXQobik7Zm9yKG49MDtuPDY0O24rKyl0aGlzLmpbbl1ePTkyLHRoaXMuV1tuXV49NTQ7dGhpcy5yZXNldCgpfXJlc2V0KCl7JCQodGhpcyk7dGhpcy51cGRhdGUodGhpcy5XKX11cGRhdGUobil7dmFyIFc9MCxEPW4ubGVuZ3RoO3RoaXMuWCs9RDt0aGlzLkomJnRoaXMuSitEPj02NCYmKHRoaXMuVi5zZXQobi5zdWJhcnJheSgwLDY0LXRoaXMuSiksdGhpcy5KKSxXPTY0LXRoaXMuSix0aGlzLko9MCxzZSh0aGlzLHRoaXMuViwwKSk7Zm9yKDtXKzY0PD1EO1crPTY0KXNlKHRoaXMsbixXKTtXPEQmJihuPW4uc3ViYXJyYXkoVyksdGhpcy5WLnNldChuLHRoaXMuSiksdGhpcy5KKz1uLmxlbmd0aCl9fSxyTj1bMTExNjM1MjQwOCwKMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCwKNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO3ZhciBZJD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn19LGhhdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuVz1uO3RoaXMuSj1XfX0saksxPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTj1ufX07dmFyIEpacj17SU5WQUxJRF9FTkNPREVSX1ZFUlNJT046IkludmFsaWQgZW5jb2RlciB2ZXJzaW9uIixLRVlfQ1JFQVRJT05fRkFJTEVEOiJGYWlsZWQgdG8gY3JlYXRlIGVuY29kZXIga2V5IixVTktOT1dOX0RFQ09ERV9FUlJPUjoiRmFpbGVkIHRvIGRlY29kZSBQRVMgZGF0YSIsVU5LTk9XTl9FTkNPREVfRVJST1I6IkZhaWxlZCB0byBlbmNvZGUgUEVTIGRhdGEiLFdST05HX0RBVEFfVFlQRToiRW5jb2RlciBjYW5ub3QgcHJvY2VzcyB0aGUgZGF0YSB0eXBlIn0sZmY9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sVz17fSl7c3VwZXIoSlpyW25dLHtuYW1lOiJQRVNFbmNvZGVyRXJyb3IiLHR5cGU6biwuLi5XfSk7dGhpcy50eXBlPW47dGhpcy5sZXZlbD0iV0FSTklORyI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsZmYucHJvdG90eXBlKX19O3ZhciBJSGk9Y2xhc3N7fTt2YXIgU2t0PWNsYXNzIGV4dGVuZHMgSUhpe2NvbnN0cnVjdG9yKG4pe3N1cGVyKCk7dGhpcy5OPW59VyhuLFcpe1c9STgoVyk7bj0obmV3IFRleHRFbmNvZGVyKS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiB0aGlzLk4uZW5jcnlwdChuLFcpfUoobixXKXtpZighKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgZmYoIldST05HX0RBVEFfVFlQRSIse09BOjF9KTt2YXIgRD1uZXcgVGV4dERlY29kZXI7Vz1JOChXKTtuPXRoaXMuTi5kZWNyeXB0KG4sVyk7cmV0dXJuIEpTT04ucGFyc2UoRC5kZWNvZGUobikpfX07dmFyIFh5VT17YW5pbWF0aW9uRW50aXR5OmVuaSxhY2NvdW50TGlua1N0YXR1c0VudGl0eTpta2gsYXNrU3R1ZGlvR2VuZXJhdGVkRGF0YUVudGl0eTp0UFUsYm9vbGVhbkVudGl0eTpyWXIsYnV0dG9uRW50aXR5OkhNdCxjYXB0aW9uVHJhY2s6bEoyLGNoYW5uZWxIYW5kbGU6a2pNLGNoYXRMb2FkaW5nU3RhdGVFbnRpdHk6SU93LGFza1N0dWRpb0NvbnZlcnNhdGlvblN1bW1hcnlFbnRpdHk6R2oxLGNoaXBFbnRpdHk6Z1hVLGNvbW1lcmNlQWNxdWlzaXRpb25DbGllbnRQYXlsb2FkRW50aXR5OlNOeCxjb21tZXJjZUNhcnRMaXN0RW50aXR5OkFNeCxjb21tZXJjZVRva2VuQmFsYW5jZUVudGl0eTptJFMsY29tcG9zaXRlU291cmNlRW50aXR5OiRJTSxtdWx0aXZpZXdTdGFnaW5nRW50aXR5OnJKYixjb250ZXh0Tm90ZUZlZWRFbnRpdHlQYXlsb2FkOnhrdCxjb250ZXh0Tm90ZVVzZXJSYXRpbmdFbnRpdHlQYXlsb2FkOkx0dyxjb250aW51YXRpb25Ub2tlbkVudGl0eTp3d1MsZG93bmxvYWRRdWFsaXR5UGlja2VyRW50aXR5OmlzWiwKZG93bmxvYWRzUGFnZVJlZnJlc2hUb2tlbkVudGl0eTpveGgsZG93bmxvYWRzUGFnZVZpZXdDb25maWd1cmF0aW9uRW50aXR5OkRJMSxkb3dubG9hZFN0YXR1c0VudGl0eTp1NXQsZGlzbWlzc1N0YXRlOlhSUyxzZnZBdWRpb0l0ZW1DdXJyZW50bHlQbGF5aW5nRW50aXR5Old1WixlbW9qaUZvdW50YWluRGF0YUVudGl0eTpyTTEsZW1vamlDdXN0b21pemF0aW9uU2V0RW50aXR5OiQkMixmYWtlQ2hhbm5lbDpwd0MsZmFrZVBsYXlsaXN0OllZcixmYWtlUGxheWxpc3RFbnRyeUNvbGxlY3Rpb246Zl94LGZha2VWaWRlbzpKWWIsZmFrZVZpZGVvRGVzY3JpcHRpb246SV93LGZlYXR1cmVkUHJvZHVjdHNFbnRpdHk6cXZDLHNhdmVkUHJvZHVjdHNTdGF0ZUVudGl0eTpYX1MsZmxvd1N0YXRlRW50aXR5OkFZeCxpY29uQmFkZ2VFbnRpdHk6S3VqLGludGVyc3RpdGlhbEludGVyYWN0aW9uU3RhdGVFbnRpdHk6T3NpLGxpa2VCdXR0b25BbmltYXRpb25FbnRpdHk6Ynp0LGxpdmVDaGF0UG9sbFN0YXRlRW50aXR5OlBMciwKZGF0YUZyZXNobmVzc0VudGl0eTp0R3QsbGl2ZVZpZXdlckxlYWRlcmJvYXJkQ2hhdEVudHJ5UG9pbnRTdGF0ZUVudGl0eTpSTzEsbGl2ZVZpZXdlckxlYWRlcmJvYXJkUG9pbnRzRW50aXR5OlE0cixsaXZlUmVhY3Rpb25zRGF0YUVudGl0eTpzZGksbG9nb0VudGl0eTpLdHgsbWFjcm9NYXJrZXJFbnRpdHk6dk50LG1haW5Eb3dubG9hZHNMaWJyYXJ5RW50aXR5OmRrdCxtYWluRG93bmxvYWRzTGlzdEVudGl0eTpsX1osbWFpblBsYXlsaXN0RG93bmxvYWRTdGF0ZUVudGl0eTpUQTEsbWFpblBsYXlsaXN0RW50aXR5Ok1QdyxtYWluUGxheWxpc3RWaWRlb0VudGl0eTpSNGksbWFpblZpZGVvRG93bmxvYWRTdGF0ZUVudGl0eTpqQmksbWFpblZpZGVvRW50aXR5OmFfaixtYXJrZXJzRW5nYWdlbWVudFBhbmVsU3luY0VudGl0eTprUHIsbWFya2Vyc1Zpc2liaWxpdHlPdmVycmlkZUVudGl0eTpoT3QsbXVzaWNBbGJ1bVJlbGVhc2VEZXRhaWw6ZkpVLG11c2ljQWxidW1SZWxlYXNlRG93bmxvYWRNZXRhZGF0YUVudGl0eTpzNHQsCm11c2ljQWxidW1SZWxlYXNlOkh6aSxtdXNpY0FsYnVtUmVsZWFzZVVzZXJEZXRhaWw6SkoxLG11c2ljQXJ0aXN0RGV0YWlsOlN2WixtdXNpY0FydGlzdDpJSlUsbXVzaWNBcnRpc3RVc2VyRGV0YWlsOkFKaSxtdXNpY0Rvd25sb2Fkc0xpYnJhcnlFbnRpdHk6TmtTLG11c2ljTGlicmFyeUVkaXQ6bUliLG11c2ljTGlicmFyeVN0YXR1c0VudGl0eTpLTXcsbXVzaWNQbGF5bGlzdDpQVHgsbXVzaWNQbGF5bGlzdERvd25sb2FkTWV0YWRhdGFFbnRpdHk6cF9yLG11c2ljU2hhcmU6WnppLG11c2ljVHJhY2tEZXRhaWw6eUpTLG11c2ljVHJhY2tEb3dubG9hZE1ldGFkYXRhRW50aXR5Oll2dCxtdXNpY1RyYWNrOlVJWixtdXNpY1RyYWNrVXNlckRldGFpbDpFTngsb2ZmbGluZU9yY2hlc3RyYXRpb25BY3Rpb25XcmFwcGVyRW50aXR5OlRrdyxvZmZsaW5lVmlkZW9Qb2xpY3k6ajRaLG9mZmxpbmVWaWRlb1N0cmVhbXM6Q1R3LG9mZmxpbmVhYmlsaXR5RW50aXR5OkNMaSxvcmNoZXN0cmF0aW9uV2ViU2FtcGxpbmdFbnRpdHk6QkFVLApwYWdlSGVhZGVyRW50aXR5OnFOWixwYXJ0eUdhbWVQYW5lbEVudGl0eTpwUnQsc2xpZGVyR2FtZVBhbmVsRW50aXR5Ok55MSxwZHBTdGF0ZUVudGl0eTpPTWoscGlubmVkUHJvZHVjdEVudGl0eTpHUE0scGxheWJhY2tEYXRhOkJrdyxwbGF5ZXJTdGF0ZUVudGl0eTp4SVoscGxheWxpc3RUaHVtYm5haWxFZGl0c0VudGl0eToka2IscXVhbnRpdHlJbmNyZW1lbnRlckVudGl0eTpQOHcscmVmcmVzaDpGTXcsc2F2ZVRvUGxheWxpc3RMaXN0RW50aXR5OnZYaixzZWxlY3RlZENoaXBJbmRleEVudGl0eVBheWxvYWQ6TE13LHNlbGVjdGlvblZhbHVlTGlzdEVudGl0eTpzQngsc2V0dGluZ0VudGl0eTp4JFosc3RyaW5nRW50aXR5Ok5BMixzdWdnZXN0ZWRGZWVkYmFja0NoaXBTdGF0ZUVudGl0eTplT3IsdHJhbnNmZXI6d19NLHRyZW5kaW5nT2ZmZXJFbnRpdHk6dHhqLHVucGx1Z2dlZFNpZGVzaGVldEhlYWRlclN0YXRlRW50aXR5OmZPMix2aWRlb0Rvd25sb2FkQ29udGV4dEVudGl0eTpNeFMsCnZpZGVvT3ZlcnZpZXdBc3luY0RhdGFFbnRpdHk6Wk1qLHZpZGVvUGxheWJhY2tQb3NpdGlvbkVudGl0eTpKTTIsdm90aW5nRW50aXR5OkdpTSx5dE1haW5DaGFubmVsRW50aXR5Om5OMix5b3VjaGF0UGVuZGluZ1Jlc3BvbnNlRW50aXR5OmdOcix5dE1haW5Eb3dubG9hZGVkVmlkZW9FbnRpdHk6RnRoLHl0TWFpblZpZGVvRW50aXR5OldNWn07dmFyIE5Hdz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuVz1XO3RoaXMuSj17fX19O3ZhciBBWlo9Y2xhc3MgZXh0ZW5kcyBJSGl7VyhuKXtyZXR1cm4gbn1KKG4pe2lmKG4gaW5zdGFuY2VvZiBVaW50OEFycmF5KXRocm93IG5ldyBmZigiV1JPTkdfREFUQV9UWVBFIix7T0E6MH0pO3JldHVybiBufX07dmFyIGY5aT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj17fTt0aGlzLk5bMF09bmV3IEFaWjtpZighZy5sKCJhZXNfcGVzX2VuY29kZXJfa2lsbHN3aXRjaCIpKXt2YXIgbj10aGlzLk47dHJ5e2xldCBiPU0wKCk7dmFyIFc9STgoYik7dmFyIEQ9bmV3IFNrdChuZXcgYjEoVyksbmV3IHVvKFcpKX1jYXRjaChiKXt0aHJvdyBuPWIgaW5zdGFuY2VvZiBFcnJvcj9uZXcgZmYoIktFWV9DUkVBVElPTl9GQUlMRUQiLHtvcmlnaW5hbE1lc3NhZ2U6Yi5tZXNzYWdlfSk6bmV3IGZmKCJLRVlfQ1JFQVRJT05fRkFJTEVEIiksZy5YaihuKSxuO31uWzFdPUR9fX07dmFyIEozaT1jbGFzcyBleHRlbmRzIGcuRk17Y29uc3RydWN0b3IobixXKXtzdXBlcigpO3RoaXMudG9rZW49bjt0aGlzLk49Vzt0aGlzLm9ic2VydmVycz1bXTtuPW5ldyBnLnFpLkJyb2FkY2FzdENoYW5uZWwoYFBFUlNJU1RFTlRfRU5USVRZX1NUT1JFX1NZTkM6JHtNMCgpfWApO24ub25tZXNzYWdlPXRoaXMuSi5iaW5kKHRoaXMpO3RoaXMuY2hhbm5lbD1ufW9ic2VydmUobil7dGhpcy5vYnNlcnZlcnMucHVzaChuKTtyZXR1cm4oKT0+e3ZhciBXPXRoaXMub2JzZXJ2ZXJzLmluZGV4T2Yobik7Vz49MCYmdGhpcy5vYnNlcnZlcnMuc3BsaWNlKFcsMSl9fUoobil7UGUodGhpcyxuLmRhdGEpfW1BKCl7dGhpcy5jaGFubmVsLmNsb3NlKCl9fSx0NTt2YXIgbXpiPWcud0QoKCk9PntpZih3aW5kb3cuTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkPT09ImZ1bmN0aW9uIilyZXR1cm4gd2luZG93Lk1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZCgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDA5LjAwLjUxLjA4LjAxLjAxLjAxLjAxLjAwIicpO2lmKHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UmJnR5cGVvZiB3aW5kb3cuTWFuYWdlZE1lZGlhU291cmNlLmlzVHlwZVN1cHBvcnRlZD09PSJmdW5jdGlvbiIpcmV0dXJuIHdpbmRvdy5NYW5hZ2VkTWVkaWFTb3VyY2UuaXNUeXBlU3VwcG9ydGVkKCd2aWRlby93ZWJtOyBjb2RlY3M9InZwMDkuMDAuNTEuMDguMDEuMDEuMDEuMDEuMDAiJyk7dmFyIG49Zy5ycigieXQud2ViLmNvbnRyaWIuaW5uZXJ0dWJlLnJlcXVlc3RzLndhdGNoX3VpLnV0aWxzLnZpZGVvRWxlbWVudF8iKTtufHwobj1nLnpGKCJWSURFTyIpLGcuR2IoInl0LndlYi5jb250cmliLmlubmVydHViZS5yZXF1ZXN0cy53YXRjaF91aS51dGlscy52aWRlb0VsZW1lbnRfIiwKbikpO3JldHVybiEhKG4mJm4uY2FuUGxheVR5cGUmJm4uY2FuUGxheVR5cGUoJ3ZpZGVvL3dlYm07IGNvZGVjcz0idnAwOS4wMC41MS4wOC4wMS4wMS4wMS4wMS4wMCInKSl9KTt2YXIgTnM9eVcoKT8hMDp0eXBlb2Ygd2luZG93LmZldGNoPT09ImZ1bmN0aW9uIiYmd2luZG93LlJlYWRhYmxlU3RyZWFtJiZ3aW5kb3cuQWJvcnRDb250cm9sbGVyJiYhZy5SZz8hMDohMTt2YXIgS0hTPWNsYXNzIGV4dGVuZHMgUEN7Y29uc3RydWN0b3IoKXtzdXBlcigpfVcoKXtyZXR1cm4gcXlqfU4obil7cmV0dXJuIGcudyhuLGcuSVEpfHxnLncobixUZSl8fGcudyhuLFZ4Yil9Tygpe3JldHVybiEwfVgobil7aWYoKGcubCgia2V2bGFyX2NhY2hlX29uX3R0bF9wbGF5ZXIiKXx8Zy5sKCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaCIpfHxnLmwoIndlYl9zaG9ydHNfcHJlZmV0Y2hfc2VydmljZV9lbmFibGVkIil8fGcubCgiZW1iZWRzX2VuYWJsZV9wcmVmZXRjaF92aWFfcmVzb2x2ZV91cmwiKSkmJihuPXRoaXMuTihuKSkmJm4udmlkZW9JZCl7dmFyIFc9e3ZpZGVvSWQ6bi52aWRlb0lkfTtuLnBsYXlsaXN0SWQmJihXLnBsYXlsaXN0SWQ9bi5wbGF5bGlzdElkKTtuLnBsYXllclBhcmFtcyYmKFcucGFyYW1zPW4ucGxheWVyUGFyYW1zKTtyZXR1cm4geUgoInBsYXllciIsVyl9fUsobil7cmV0dXJuIG4uY29udGVudFBsYXliYWNrQ29udGV4dD8udmlzPT09CjI/IldBVENIX0ZVTExfU0NSRUVOIjoiV0FUQ0gifUoobixXLEQpe2lmKGcubCgiZW5hYmxlX2ludGVyc3RpdGlhbF9lbnRpdHlfY2hlY2siKSYmVy52aWRlb0lkKWZvcih2YXIgYiBvZlsiQ09OVEVOVF9DSEVDS19SRVFVSVJFRCIsIkFHRV9DSEVDS19SRVFVSVJFRCJdKTtXLnZpZGVvSWQmJihuLnZpZGVvSWQ9Vy52aWRlb0lkKTtXLnBsYXlsaXN0SWQmJihuLnBsYXlsaXN0SWQ9Vy5wbGF5bGlzdElkKTtXLmluZGV4IT09dm9pZCAwJiYobi5wbGF5bGlzdEluZGV4PVcuaW5kZXgrMSk7Vy5wbGF5ZXJQYXJhbXMmJihuLnBhcmFtcz1XLnBsYXllclBhcmFtcyk7InN0YXJ0VGltZVNlY29uZHMiaW4gVyYmVy5zdGFydFRpbWVTZWNvbmRzJiYoZy5sKCJlbmFibGVfcGxheWVyX3JlcXVlc3RfYnVpbGRlcl9zdGFydF90aW1lX2Zsb29yIik/bi5zdGFydFRpbWVTZWNzPU1hdGguZmxvb3IoVy5zdGFydFRpbWVTZWNvbmRzKTpuLnN0YXJ0VGltZVNlY3M9Vy5zdGFydFRpbWVTZWNvbmRzKTtELmNvbnRlbnRQbGF5YmFja0NvbnRleHQmJgoobi5wbGF5YmFja0NvbnRleHQ9e2NvbnRlbnRQbGF5YmFja0NvbnRleHQ6RC5jb250ZW50UGxheWJhY2tDb250ZXh0fSk7RC5wcmVmZXRjaFBsYXliYWNrQ29udGV4dCYmKG4ucGxheWJhY2tDb250ZXh0PXsuLi5uLnBsYXliYWNrQ29udGV4dCxwcmVmZXRjaFBsYXliYWNrQ29udGV4dDpELnByZWZldGNoUGxheWJhY2tDb250ZXh0fSxuLmNvbnRleHQucmVxdWVzdHx8KG4uY29udGV4dC5yZXF1ZXN0PXt9KSxuLmNvbnRleHQucmVxdWVzdC5pc1ByZWZldGNoPSEwKTtuLnBsYXliYWNrQ29udGV4dHx8KG4ucGxheWJhY2tDb250ZXh0PXt9KTtiPW16YigpO24ucGxheWJhY2tDb250ZXh0LmRldmljZVBsYXliYWNrQ2FwYWJpbGl0aWVzPXtzdXBwb3J0c1ZwOUVuY29kaW5nOiEhYixzdXBwb3J0WGhyOk5zfTtELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0JiYobi5vdmVycmlkZU11dGVkQXRTdGFydD1ELm92ZXJyaWRlTXV0ZWRBdFN0YXJ0KTtuLnJhY3lDaGVja09rPSEhVy5yYWN5Q2hlY2tPazsKbi5jb250ZW50Q2hlY2tPaz0hIVcuY29udGVudENoZWNrT2s7Zy5sKCJjYXB0aW9uc19wcmVmc19raWxsc3dpdGNoIil8fChEPShEPWcuWkkoInl0LXBsYXllci1jYXB0aW9uLWxhbmd1YWdlLXByZWZlcmVuY2VzIikpP0Q6W10sVz1nLmwoIndlYl9lbmFibGVfcGxheWVyX3JlcXVlc3RfY2FwdGlvbnNfbGFzdF9sYW5ndWFnZV9vbmx5IiksRD8ubGVuZ3RoJiYoRD1XP1tELmF0KC0xKV06RCxuLmNhcHRpb25QYXJhbXM9e3ZpZXdlclNlbGVjdGVkQ2FwdGlvbkxhbmdzOkR9KSl9VihuKXtuPXRoaXMuWChuKTt2YXIgVztuJiYoVz17SG46e1JMOm59fSk7Zy5sKCJ3ZWJfbG9nX3BsYXllcl93YXRjaF9uZXh0X3RpY2tzIikmJihXPVd8fHt9LFcuTGE9InBzX3MiLFcuUlY9InBzX3IiKTtyZXR1cm4gV319O0tIU1tnLkxYXT1bTnRNXTt2YXIgaUI9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW4ucmVzcG9uc2VDb250ZXh0Py5zdGF0ZVRhZ3N9fTt2YXIgd049Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZighVyl0aHJvdyBFcnJvcigicmVxdWVzdCBuZWVkcyB0byBiZSBwYXNzZWQgaW50byBTdG9yZVJlc3BvbnNlUHJvY2Vzc29yU2VydmljZSIpO3VCKHRoaXMsbixXLmNvbmZpZz8uSG4/LlJMKX19O3dOW2cuTFhdPVtCZV07dmFyIEY4PW5ldyBnLkFMKCJTVE9SRV9SRVNQT05TRV9QUk9DRVNTT1JfVE9LRU4iKTt2YXIgbzg9Y2xhc3MgZXh0ZW5kcyBnLlF4e2NvbnN0cnVjdG9yKG4sLi4uVyl7c3VwZXIobixXKTt0aGlzLmVycm9yVHlwZT0xO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciBUcj1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1hc3luYyBmZXRjaChuLFcsRCxiKXtuPVNzWih0aGlzLG4sVyk7dHJ5e2xldCB2PWF3YWl0IGZldGNoKG4pO2lmKGImJnYub2smJnYuYm9keSYmdHlwZW9mIHYuYm9keS5nZXRSZWFkZXI9PT0iZnVuY3Rpb24iKXtsZXQgaz12LmNsb25lKCkuYm9keS5nZXRSZWFkZXIoKSx7dmFsdWU6aH09YXdhaXQgay5yZWFkKCk7ay5jYW5jZWwoKS5jYXRjaCgoKT0+e30pOwppZihoJiZoWzBdPT09OTEpe2xldCB4PXYuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBkTih0aGlzLHgsbmV3IGFzLFtdLGIpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZSh2LEQpfWNhdGNoKHYpe2lmKGcuR3EodiksRD8uTGQmJnYgaW5zdGFuY2VvZiBvOCYmdi5lcnJvclR5cGU9PT0xKXRocm93IHY7fX1oYW5kbGVSZXNwb25zZShuLFcpe3ZhciBEPW4udGV4dCgpLnRoZW4oYj0+e2lmKFc/LmhQJiZuLm9rKXJldHVybiBkRyhXLmhQLGIpO2I9Yi5yZXBsYWNlKCIpXX0nIiwiIik7aWYoVz8uTGQmJmIpdHJ5e3ZhciB2PUpTT04ucGFyc2UoYil9Y2F0Y2goayl7dGhyb3cgbmV3IG84KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiB2Pz9KU09OLnBhcnNlKGIpfSk7Cm4ucmVkaXJlY3RlZHx8bi5vaz90aGlzLk4mJnRoaXMuTi5zdWNjZXNzKCk6KHRoaXMuTiYmdGhpcy5OLm9ZKCksRD1ELnRoZW4oYj0+e2cuR3EobmV3IGcuUXgoIkVycm9yOiBBUEkgZmV0Y2ggZmFpbGVkIixuLnN0YXR1cyxuLnVybCxiKSk7cmV0dXJuey4uLmIsZXJyb3JNZXRhZGF0YTp7c3RhdHVzOm4uc3RhdHVzfX19KSk7CnJldHVybiBEfX07VHJbZy5MWF09W2cuaHAobmV3IGcuQUwoIk5FVFdPUktfU0xJX1RPS0VOIikpXTt2YXIgenI7dmFyIERZcj1uZXcgZy5xTSgicGFyYWxsZWxDb21tYW5kIik7dmFyIHZuTT1uZXcgZy5xTSgicGVyZm9ybU9uY2VDb21tYW5kIik7dmFyIGI4Yj1uZXcgZy5xTSgic2VyaWFsQ29tbWFuZCIpO3ZhciB2UT1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLk49bn1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihuKXt0aGlzLk4uYmljZihuKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhuKXt0aGlzLk4uYmNyKG4pfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuTi5ibGMoKX19O3ZhciBpaEM9W10saGo9KDAsZy5IeClgaHR0cHM6Ly9zdGF0aWMuZG91YmxlY2xpY2submV0L2luc3RyZWFtL2FkX3N0YXR1cy5qc2AsazU9ITE7dmFyIGlEPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5KPW47dGhpcy5OPVd9fSxXREM9W25ldyBpRCgiYi5mXyIsMCksbmV3IGlEKCJqLnNfIiwyKSxuZXcgaUQoInIuc18iLDQpLG5ldyBpRCgiZS5oXyIsNiksbmV3IGlEKCJpLnNfIiw4KSxuZXcgaUQoInMudF8iLDEwKSxuZXcgaUQoInAuaF8iLDEyKSxuZXcgaUQoInMuaV8iLDE0KSxuZXcgaUQoImYuaV8iLDE2KSxuZXcgaUQoImEuYl8iLDE4KSxuZXcgaUQoImEub18iKSxuZXcgaUQoImcub18iLDIyKSxuZXcgaUQoInAuaV8iLDI0KSxuZXcgaUQoInAubV8iKSxuZXcgaUQoIm4ua18iLDIwKSxuZXcgaUQoImkuZl8iKSxuZXcgaUQoImEuc18iKSxuZXcgaUQoIm0uY18iKSxuZXcgaUQoIm4uaF8iLDI2KSxuZXcgaUQoIm8ucF8iKSxuZXcgaUQoIm0ucF8iLDI4KSxuZXcgaUQoIm8uYV8iKSxuZXcgaUQoImQucF8iKSxuZXcgaUQoImUuaV8iKV0ucmVkdWNlKChuLFcpPT57bltXLkpdPVc7cmV0dXJuIG59LHt9KTt2YXIgTmU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQpe3RoaXMubmV0d29yaz1uO3RoaXMub3B0aW9ucz1XO3RoaXMuWD1EO3RoaXMuVz0wO3RoaXMuTj1udWxsO3RoaXMuSj1uZXcgcW5pO1cuUHU/ZXQodGhpcyxvbU0odGhpcykpOlcucHJlbG9hZCYmZXQodGhpcyxuZXcgUHJvbWlzZShiPT57Zy5jQigwLCgpPT57Yih0aih0aGlzKSl9LDApfSkpfWFzeW5jIHlmKCl7cmV0dXJuISFhd2FpdCBQcm9taXNlLnJhY2UoW3RoaXMuTiwKbnVsbF0pfWFzeW5jIGRRKG4sVyxEKXt0aGlzLk49PT1udWxsJiZldCh0aGlzLHRqKHRoaXMpKTt2YXIgYj0hMSx2PXt9O3JldHVybiBQcm9taXNlLnJhY2UoWyhhc3luYygpPT57dGhpcy5vcHRpb25zLkZoJiZ0aGlzLm9wdGlvbnMuUHUmJmF3YWl0IChhd2FpdCB5M3IoKSk/LmNoZWNrRm9yUmVmcmVzaCgpO3ZhciBrPWF3YWl0IHRoaXMuTjt2LmNoYWxsZW5nZT1rLmNoYWxsZW5nZTtpZihrLk8xKXt2YXIgaD17YzprLmNoYWxsZW5nZSxlOm4sLi4uV307dHJ5e2I9ITA7bGV0IHg7KHg9YXdhaXQgay5PMS5zbmFwc2hvdCh7d186aH0pKT92LndlYlJlc3BvbnNlPXg6di5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe3YuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gay5SUiYmKHYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO249PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmCihrPWsuUlIsaD17fSxrLmM2YSYmKGgucmVwb3J0aW5nU3RhdHVzPVN0cmluZyhOdW1iZXIoay5jKV5MYygpKSksay5jNmImJihoLmJyb2FkU3BlY3RydW1EZXRlY3Rpb25SZXN1bHQ9U3RyaW5nKE51bWJlcihrLmMpXk51bWJlcihnLkFyKCJDQVRTVEFUIiwwKSkpKSx2LmFkYmxvY2tSZXBvcnRpbmc9aCk7cmV0dXJuIHZ9KSgpLApUR2goRCwoKT0+e3ZhciBrPU9iamVjdC5hc3NpZ24oe30sdik7YiYmKGsuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTtyZXR1cm4ga30pXSl9fTt2YXIganhTPVsiQVBQX1NUQVRFIiwiUEkiXTt2YXIga3ZNPVszNjExLDI3Njg2LDIyMTA1OCw4NTAxMywyMzQ2MiwyNDExODcsMTU3NTU3LDQyMDE2LDI2OTI2LDUxMjM2LDc5MTQ4LDUwMTYwLDc3NTA0LDMxMDI4MSwxNTM1ODcsODc5MDcsMTg2MzAsMTc3MDE4LDE3NzAyMyw1NDQ0NSwzMjE2NjYsMzI2MzUzLDMyNjM1NCw4MDkzNSwxNTIxNzIsMTg0NTUzLDEwNTY3NSwxNTA3MjMsMzc1MjEsMTQ3Mjg1LDQ3Nzg2LDIzMTI1NSwyMzEyNTQsMjMxMjU4LDIzMTI1OSw5ODM0OSwyMzcyOTksMTY4MjcxLDE2ODk1NCwxNjgyNzcsMTY4MjczLDE2ODI3MCwxMjM2OTUsMjcyMDE4LDMzODQ5NywyMjY5ODcsMjI2OTkwLDIyNjk4OCw2ODI3LDI5NDM0LDI1NTAxMCwxNzEzODgsMjQ0MTg5LDIzNjIwOCw3MjgyLDEyNDQ0OCwyOTk5MDMsMjk5ODk3LDI5OTkwNCwyOTk5MDEsMjk5ODk5LDI5OTkwMiwyOTk5MDAsMjk5ODk4LDE5NjA4OCwyNTA4OTcsMTk4MTA0LDMyMjc2LDE5NTExNSwxOTUxMTQsNzYyNzgsMjAwNjM1LDIzMDU5NCwxNDc4NjgsCjE0Nzg2OSwyNzYyNDMsOTM5MTEsMjc0MTg4LDI3NjY1MSwzMTM2ODAsMTA2NTMxLDI1NzIzNCwyNTI1OTgsMjUyNTk3LDI1MjYwMCwyNTI1OTksMjUyNTk2LDIyNTAzMSwxNzc4NDMsMjcyNTksMjcyNjIsMjcyNjMsMjE3NTksMjgzNjcwLDE2MDg2NiwyMDQyNDksMjIyOTAwLDIwNDI1MCwxODA2MjYsMTc3OTU5LDE3Nzk1NywxODA2MjgsMjA1NzE2LDE5Nzg3OCwyNzM3NjYsMTcxMjQzLDE2MDc4OSwxNzEyNDQsMTcxMjQxLDE3MTI0NSwxNzEyNDIsMjI1NTYwLDE4MDYyNywxNzc5NjAsMjMxNTg5LDE3Nzk1OCwxODA2MjksMjA1NzE3LDE5Nzg3OSwxNzc1NjUsMjEyNTczLDIxMDcwOSw5OTQ0MTIsMjMwNjg0LDIyOTgwMSwyMzA2ODUsMzM0MzEwLDMzNDMxMSwzMzQzMTIsMTk3MzM3LDIwOTAxMCwxOTczMzYsMTk3MzM4LDE5ODYxOCwzMDA4ODQsMTc1NDkyLDE5ODA1MiwxOTgwNTEsMTk3ODUyLDE5Nzk3NiwzMTczNzcsMTc1NDkzLDE3NTQ5NCwxNzU0OTUsMTg5MjU0LDE3NTQ5NiwxNzU0OTcsCjM4NDA4LDE3NTQ5OCwxNzU1MDMsMTc1NTA0LDE3NTUwNSwxNzU1MDYsMTc1NTA3LDE3NTUwOCw4MDYzNyw2ODcyNywyMDY5MzMsMjA3OTQ0LDIwNjkzNCwzMDMxMjMsMjA2OTI5LDIyMTU3NSw2ODcyOCwyMjE1NzYsODAzNTMsODAzNTYsMzA4MDMzLDI0OTEwNywxODA2MzUsNzQ2MTAsNDU3MDcsODM5NjIsODM5NzAsNDY3MTMsMTY2NTkxLDg5NzExLDc0NjEyLDIxMzgwOSwxNzk2MDcsMjQ1MDA2LDE1NTc5Miw5MzI2NSw3NDYxMSwxMzEzODAsMTI4OTc5LDEzOTMxMSwxMjg5NzgsMTMxMzkxLDEwNTM1MCwxMzkzMTIsMzMzNjM3LDEzNDgwMCwxMzEzOTIsMTEzNTMzLDIyOTI5OCw5MzI1Miw5OTM1Nyw5NDUyMSwxMTQyNTIsMTEzNTMyLDk0NTIyLDk0NTgzLDIwMjM3MSw4OEUzLDEzOTU4MCw5MzI1Myw5MzI1NCw5NDM4Nyw5NDM4OCw5MzI1NSw5NzQyNCw3MjUwMiwyMTk4NjgsMjEyOTkxLDExMDExMSw3NjAxOSwxMTcwOTIsMTE3MDkzLDg5NDMxLDE5MTgzMSwxMTA0NjYsMjMxMzQ2LAo3NzI0MCw2MDUwOCwxODYwOTEsMTQ4MTIzLDE0ODEyNCwxMzc0MDEsMTM3NDAyLDEzNzA0Niw3MzM5MywyNDY3NzYsMTEzNTM0LDI3NjIwMCw5MjA5OCwxMzEzODEsODQ1MTcsODM3NTksMzA5NTgwLDIzMDY3NiwyNDkxODMsMjMwNjc5LDIzMDY3OCwyMzA2NzcsMjMwNjgxLDIzMDY4MCwxNjI3MTEsMjM1MjM0LDE2MjcxMiw4MDM1Nyw5OTQ0MTEsMjQzMzE1LDMxMzUwNiwzMjE5NjQsODYxMTMsNzI1OTgsMTY4NDEzLDcyNzMzLDEwNzM0OSwxMjQyNzUsMTE4MjAzLDIwMDQxMCwxMzMyNzUsMTYwMTU3LDE1MjU2OSwxNTY2NTEsMTMzMjc0LDE2MDE1OSwxNjAxNTgsMTMzMjcyLDEzMzI3MywxMzMyNzYsMTQ0NTA3LDE0MzI0NywxNzU5OTQsMTU2NjUyLDE0MzI0OCwxNDMyNDksMTQzMjUwLDE0MzI1MSwxODk4OTIsMTg5ODk0LDE4OTg5MywxNTY2NTMsMjE0MjM2LDE0NDQwMSwxMTc0MzEsMTMzNzk3LDIyNTEzNywyNzM5MDUsMjIyNjEyLDIyMjYxMywxNTM5NjQsMjAxMTMzLDIwMTEzNCwKMjAxMTM1LDIwMTEzNiwyMDExMzcsMTI4NTcyLDIwMDQxMSwyMDA0MTIsMTkwMzM3LDEzMzQwNSwxMTc0MjksMTE3NDMwLDE3Nzk1MCwxNzQ3MzQsMTc3OTUxLDIwMTEzOCwyMDExMzksMjAxMTQwLDIwMTE0MSwyMDExNDIsMTE3NDMyLDE3Mzk5NiwxNzM5OTUsMTc0OTUzLDE3Mzk5NCwxNzM5OTcsMTIwMDgwLDExNzI1OSwxNzg1NDYsMjk3NzUyLDE5Nzg5MSwxNTY2NTUsMTU2NjU0LDEyMTY5MiwyMTE0MTQsMjExNDExLDIxMTQxMiwyMTE0MTMsMjExNDAzLDE4NDg0NiwxODU5OTMsMzM1MDQ4LDE0NTY1NiwxNTY2NTYsMTQ1NjU1LDE0NTY1MywxNDU2NTQsMTQ1NjU3LDEzMjk3MiwxMzMwNTEsMTMzNjU4LDEzMjk3MSwzMzY3MjgsOTc2MTUsMTgxMjYyLDE5MDc2MiwyNTAzNDQsMjU0MDI3LDE0MzM1OSwxNDMzNTYsMTQzMzYxLDE0MzM1OCwxNDMzNjAsMTQzMzU3LDE0MjMwMywxNDMzNTMsMjgyMTU5LDE3Mjg1OSwxNDMzNTQsMTQ0NDc5LDE0MzM1NSwzMTQwMiwxODE1OTAsMTMzNjI0LAoxNDY0NzcsMTMzNjIzLDEzMzYyMiwxMzM2MjEsMTkyNDE4LDg0Nzc0LDMwNDc3NiwxOTc5OTMsMjQxNDYwLDE2MDgwMSwxOTc5OTUsOTUxMTcsMTcyNzIxLDE1MDQ5Nyw5ODkzMCw5ODkzMSw5ODkzMiwzMzg1NzAsMzM4NDc0LDMzODQ3OCwzMzg0NzMsMTUzMzIwLDE1MzMyMSw0MzM0NywzMDUyNjgsMjQ5Mjk1LDIxMDAxNiwyMTAwMTcsMjYyNjg2LDIxMTg1MSwyMTE4NTIsMzA3MjE5LDIxMTg1MywzMjc4MTAsMTI5ODg5LDE5Nzg4OCwxOTc4ODksMTQ5MTIzLDIyMTk1OSwyMjE2MjcsMjIxOTU4LDQ1NDc0LDEwMDM1Miw5ODQ0MywxMTc5ODUsMzMzNzA4LDc0NjEzLDE1NTkxMSw3NDYxNCw2NDUwMiwxMzYwMzIsNzQ2MTUsNzQ2MTYsMTIyMjI0LDc0NjE3LDc3ODIwLDc0NjE4LDI2Mjk4OCwyNjI5ODksMjI2OTgxLDkzMjc4LDkzMjc0LDkzMjc1LDkzMjc2LDIwMDY4OCwyMDA2ODYsMjAwNjg3LDE5OTg0MSwyMjExMCwyOTQzMywxMzM3OTgsMTMyMjk1LDI4MTMzMiwxMjA1NDEsMjIyMTEyLAo4MjA0NywxMTM1NTAsNzU4MzYsNzU4MzcsMzAzODgyLDE5MjQwOSwyMDMyMjEsNDIzNTIsODQ1MTIsNzYwNjUsNzU5ODksMjA1OTExLDIwNTkxMiwyNTI2NDksMjA1OTEzLDI1MjY1MCwyNTI2NTEsNTE4NzksMTY2MjMsMzI1OTQsMjcyNDAsMzM4MTA5LDI5MzMyNCwzMjYzMyw3NDg1OCwzMDQxNTAsMjk3MDQ1LDI3NTE5OCwyNzE4ODQsMjIyOTMyLDI3OTExOSwzMTI1ODEsMjcxODg2LDIxMzkxNSwyNzUxOTksMzEwNzQ4LDIyNTIxNiwyNTEyNDQsMjU4MjUxLDIxODY3NCwyNTEyNjYsMjU4MjUwLDI1MTI2NSwzMDE2NjIsMjUxMjQ1LDI3MTg4NSwzMTU4MTgsMTU2OTk5LDM5NDUsMTY5ODksNDU1MjAsMjU0ODgsMjU0OTIsMjU0OTQsMjMyMTEzLDU1NzYwLDE0MDU3LDE4NDUxLDU3MjA0LDU3MjAzLDE3ODk3LDE4MTk4LDE3ODk4LDE3OTA5LDQzOTgwLDIyMTA1MywxOTU1MjksMTg5NjYwLDMwODA4OCwzMDY0NDgsMzA2NDQ3LDMwODA4NywzMDgwODYsNDYyMjAsMTE3MjEsMTQ3OTk0LDQ5OTU0LAo5NjM2OSwzODU0LDIxNzY0MCwxNTE2MzMsNTYyNTEsMjA1MTkyLDIxNjc5NywxNTkxMDgsMTgxNTY4LDIzNDc4OSwyNTYyNCwxNTIwMzYsMTY5MDYsOTk5OTksNjgxNzIsNDc5NzMsNzI3NzMsMjY5NzAsMjY5NzEsOTY4MDUsMTc3NTIsMjgyMTgxLDI3ODkyNiw3MzIzMywyMDU5MjMsMTA5NTEyLDIyMjU2LDE0MTE1LDIyNjk2LDIzNDQwOSwyMzQ0MDgsODkyNzgsODkyNzcsMTk1NzQ1LDEwOTUxMyw0MzI3OCw0MzQ1OSw0MzQ2NCw4OTI3OSw0MzcxNyw1NTc2NCwyMjI1NSwxNDc5MTIsODkyODEsNDA5NjMsNDMyNzcsNDM0NDIsOTE4MjQsMjgzODk4LDEyMDEzNywxODYzNTAsMTg2MzUxLDI1NjY5MCwyNjQzNDksMjY0MzUxLDI2NDM1MCwyNjQzNTIsMjExMDI2LDI1MDg5Niw5NjM2NywzNjg1MCw3MjY5NCwzNzQxNCwzNjg1MSwxMjQ4NjMsMTIxMzQzLDczNDkxLDU0NDczLDE2Njg2MSw0MzM3NSw0NjY3NCwzMDI2MzEsMzMxNDczLDI0MjUyOCwxNDM4MTUsMTM5MDk1LDE0NDQwMiwxNDk5NjgsCjE0OTk2OSwzMjQ3Myw3MjkwMSw3MjkwNiw1MDYxMiw1MDYxMyw1MDk0Miw4NDkzOCw4NDk0Myw4NDkzOSw4NDk0MSw4NDk0NCw4NDk0MCw4NDk0MiwzNTU4NSw1MTkyNiw3OTk4MywxODkyMSw1Nzg5Myw0MTE4MiwxMzU3MzIsMzM0MjQsMjIyMDcsMzYyMjksMjIyMDYsMjIyMDUsNDQ3NjMsMzM0MjcsNjc3OTMsMjIxODIsMzcwOTEsMzQ2NTAsNTA2MTcsMjIyODcsMjUxNDQsOTc5MTcsMjIwMTIyLDYyMzk3LDE1MDg3MSwxNTA4NzQsMTI1NTk4LDEzNzkzNSwzNjk2MSwxMDgwMzUsMzIzNDkzLDI3NDI2LDI3ODU3LDI3ODQ2LDI3ODU0LDY5NjkyLDYxNDExLDM5Mjk5LDM4Njk2LDYyNTIwLDM2MzgyLDEwODcwMSwxOTI2ODIsMjc5NTMxLDUwNjYzLDM2Mzg3LDE0OTA4LDM3NTMzLDEwNTQ0Myw2MTYzNSw2MjI3NCwxNjE2NzAsMTMzODE4LDE4MjExOSw2NTcwMiw2NTcwMyw2NTcwMSwzMjA0NjQsNzYyNTYsMjk4MTU3LDI2Mzg0MywzMTUyMzQsMTk2MDc1LDE5NDc2OCwyNTIyMDEsMTk0NzY5LAoxOTE4ODUsMjgxNDgwLDIzMzYzNCwyNjU4MTAsMTk0NzcwLDI5NjkzMywxOTUzNTAsMzI3Mzg1LDMyNDU4NiwzMDE2MDcsMTk1MzQ5LDE5NDc3MSwyOTMwNDEsMzAxMTIxLDI5MzA0MiwyOTMwNDMsMzAxMTE2LDE2NjM4MiwzNzY3MSw0OTk1MywyMjA2NjksNjAwMDAxLDYwMDAwMiw2RTUsMzM1MTM0LDI0OTIyOSwyMTM3NzQsMjA0NTcyLDE5MTM4OSwyNzIyNTQsMjcyMjUzLDI1MzgzMCwyNTM4MzEsMjUzODMyLDI3MjI1MiwyNTM4MzMsMjUzODM0LDIwNDU3NCwxOTEzOTAsMTc5NTU2LDIzODU5NiwyMTI2NjEsMTkxMzkyLDE5NzgyNiwxOTEzOTMsMjA0NTczLDM2MjE2LDI4MjM3LDI0MTIxMiwyNzIwNDksMTczNzE4LDM5NTUzLDE5MjU0NywyOTIyMiwzMDQ4NDUsMjYxMDcsMjQxMjExLDM4MDUwLDI2MTA4LDI3NTgxMCwxMjA3NDUsMjYxMDksMjYxMTAsNjY4ODEsMjgyMzYsMTQ1ODYsMjk3NjcyLDE2MDU5OCw1NzkyOSwyMjY3MzYsNzQ3MjMsNDQwOTgsMTczNjg5LDQ0MDk5LDIzNTI4LAo2MTY5OSwxMzQxMDQsMTM0MTAzLDE5ODMxMyw1OTE0OSwxODEwMTMsMjc4MzA2LDI4MjQ3MiwyNzc4NDgsMTczMTkxLDE3MzE5MiwxNzMxOTMsMTAxOTUxLDE3MTUwMiwxOTYwNDMsMTk4MzA1LDk3MzQ2LDExODA1MSw5NTEwMiw2NDg4MiwxMTk1MDUsNjM1OTUsMjk0MTE5LDI1NzI2OCw2MzM0OSwyODExMjcsMjQwNTUzLDk1MTAxLDc1MjQwLDI3MDM5LDY4ODIzLDIxNTM3LDgzNDY0LDc1NzA3LDI1MjkwNCwxNzAyMTUsMjIzMDMzLDgzMTEzLDEwMTk1MiwxMDE5NTMsNzk2MTAsMTI1NzU1LDI0NDAyLDI0NDAwLDMyOTI1LDE5MzQwNiw1NzE3MywxODMzNTEsMTU2NDIxLDEyMjUwMiwxNDUyNjgsMTM4NDgwLDY0NDIzLDY0NDI0LDMzOTg2LDEwMDgyOCwxMjkwODksMjk5NTQxLDIxNDA5LDI4MjIxOCwyOTk1MDYsMzMzOTU2LDI5OTU0MCwyOTk1MDcsMjk5NTA5LDI5OTUzOSwyOTk1MDgsMjk5NTEwLDE4NTYxMiwyMjI4MjUsMzIzMzMxLDI0NTM2NiwxMzUxNTUsMTM1MTU2LDEzNTE1NywKMTM1MTU4LDE1ODIyNSwxMzUxNTksMTM1MTYwLDE2NzY1MSwxMzUxNjEsMTM1MTYyLDEzNTE2MywxNTgyMjYsMTU4MjI3LDEzNTE2NCwxMzUxNjUsMTM1MTY2LDExMDcwLDExMDc0LDE3ODgwLDI3MDU2MCwzMDcwOSwzMDcwNywzMDcxMSwzMDcxMCwzMDcwOCwxODUyMTMsMTg1MjczLDE0NjE0Myw2MzY0OCw2MzY0OSwyMjEwNTYsMjY0NDkwLDIxMTE4OSwxMTEwNTksMjExMTg4LDU3NTQsMjY0NDkxLDIwNDQ1LDIzMzQ3MSwxNTEzMDgsMzEzNzUwLDE1MTE1MiwyMjgwNjcsMTMwOTc1LDEzMDk3NiwyNDcyNDQsMjcxNjIyLDI3MTgxMywyNjEyMTAsMjEwODE1LDI5NTA2OSwyNDYxMjcsMzE2ODU4LDI0NTI1NiwyNDQ5NTAsMTkxOTI1LDE2NzYzNywyMzQ1NDUsMTk3MTk2LDMwMjczNSwyMTQyOTUsMTEwMzg2LDIyMTA1NCwyNzM5NjAsMjgyMTExLDMxMjI5MCwxMTM3NDYsMzI1NTkzLDI2ODg4Niw2NjU1NywxODMyMTUsMTczMTAsMjg2MzEsMjAxOTM1LDIxNTg5LDI0MjAzNiwyMzgzNTEsCjE2NDgxNywxNjgwMTEsMTU0OTQ2LDY4MDEyLDE2MjYxNyw2MDQ4MCwxODQ0MzEsMTM4NjY0LDI5NDA4OSwyNDk4MjcsMTk0RTMsMTQxMTIxLDE2NDUwMiwzMTU3MSwxOTUwMDIsMjA2NzkzLDE0MTk3OCwyMzM5ODUsMjUwODk1LDI1NDA1MiwyNTQwNTMsMjU0MDU0LDI1NDA1MSwyNTQwNTAsMjU0MDU1LDE1MDEwNSwzMDQxNjksMTUwMTA2LDE1MDEwNywxNTAxMDgsNzY5ODAsNDE1NzcsNDU0NjksMzg2NjksMTM3NjgsMTM3NzcsMTQxODQyLDYyOTg1LDIxMzE5MCw0NzI0LDIyMzA1Miw1OTM2OSw0MzkyNyw0MzkyOCwxMjkyNCwxOTc4NTMsMTAwMzU1LDU2MjE5LDI3NjY5LDIwOTkyOCwxMDMzNywyMDM2NDgsMjAzNjQ5LDQ3ODk2LDMyNjkzNywxMjI2MjksMTg2MjA0LDIyMjgyNCwyNzU4NjksMzEyMjk1LDI3MTY3MywyNzQ2MzcsMzE3NDYyLDEzOTcyMywxMzk3MjIsMTIxMjU4LDI1Mzc4OSwyNTM3ODcsMjUzNzg2LDI1Mzc4OCwyNTM3OTAsMTA3NTk4LDEyNzk5MSw5NjYzOSwxMDc1MzYsCjEzMDE2OSwyMTY1MjIsMjk2MzE2LDk2NjYxLDE0NTE4OCwzMjA0MjgsMjEzOTA0LDI2OTM0Miw5NjY1OCwxMTY2NDYsMTU5NDI4LDE2ODYxMSwxNjg2MTIsMTIxMTIyLDIxOTg2Miw5NjY2MCwyODIyMDgsMTI3NzM4LDEyNzA4MywxNTUyODEsMTYyOTU5LDIyMDg4NiwyMjczNTYsMjQ4MDA3LDE2MzU2NiwzMDc2NDYsMTg2NjQxLDE0Nzg0MiwyNzM2NDYsMjczNjQ3LDIxNzkzMiwxMDQ0NDMsOTY2NTksMTQ3NTk1LDEwNjQ0MiwyNDcxNjIsMjMxNDkzLDIxMzQyNywyOTY4MTMsMjQ2NTc1LDE4MjQyMywxNjI3NzYsMjI4OTA4LDEzNDg0MCw2MzY2Nyw2MzY2OCw2MzY2OSwxMzA2ODYsMjQ4MzgxLDE0NzAzNiwyMzkwOTQsMjYyNzQzLDE4OTgxMCwyMzkwOTUsNzgzMTQsMTQ3Nzk5LDMwNTkxOSwzMDU5MjQsMjM3MTQ2LDE3NDA0OSwxNDg2NDksNTU3NjEsMTI3MDk4LDEzNDg0MSw5NjM2OCw2NzM3NCw0ODk5MiwxNDYxNzYsMTc2MTA1LDMyMzMyMSwzMjMzMjIsMjMzMDM1LDQ5OTU2LDI2NzY0NSwKMjc1NzgyLDE5MDE5MCwyMjU3MzksMzE5NjEsMjYzODgsMjM4MTEsNUU0LDEyNjI1MCw5NjM3MCwyMTA1NDksMzI5NDkwLDQ3MzU1LDQ3MzU2LDM3OTM1LDQ1NTIxLDMzMTUzNiwzMzE1MzQsMzMxNTM1LDMzMTUzMywyMTc2MCw4Mzc2OSw0OTk3Nyw0OTk3NCw5MzQ5Nyw5MzQ5OCwzNDMyNSwxNDA3NTksMTE1ODAzLDEyMzcwNywxMDAwODEsMzUzMDksMjM3NzA2LDY4MzE0LDI1NjAyLDEwMDMzOSwxNzA4NzMsMTQzNTE2LDI5OTI0NywxNzg5MjEsMjY4NTc0LDI1NDg4NCwyNTgyMzIsNTkwMTgsMTgyNDgsNTA2MjUsOTcyOSwzNzE2OCwzNzE2OSwyMTY2NywxNjc0OSwxODYzNSwzOTMwNSwxODA0NiwyMjEwNTcsMzAxODk3LDMwMTkwMCwyNjk5OTAsNTM5NjksODIxMyw5MzkyNiwyMjEwNTUsMjEwNTQyLDIxMjU1MiwxMDI4NTIsMTEwMDk5LDIyNjc4LDY5MDc2LDEzNzU3NSwxMzkyMjQsMTAwODU2LDIzNTc3MCwxNTQ0MzAsMjM1ODYxLDIwOTc1NywxNzczNiwzODMyLDE0NzExMSw1NTc1OSwKNjQwMzEsMjM0NzQ2LDkzMDQ0LDkzMDQ1LDI4MTMwMiwxNzA3MDEsMTcwNzAyLDE5NDc5NiwzNDM4OCwxNjc4NDEsMTcwNDE5LDE3NjU3LDE3NjU1LDM5NTc5LDM5NTc4LDE3MDQxMiw3NzQ0OCw4MTk2LDExMzU3LDY5ODc3LDgxOTcsMTY4NTAxLDE1NjUxMiwxNjE2MTMsMTU2NTA5LDIwODI3NCwxNjE2MTIsMTYxNjE0LDI2NzY5MiwyNjc4NTEsMjY3NTc3LDI3OTc1NSwyNjc2OTMsMjY3Njk0LDI2NzU3OCwyNjI4MDEsMzM0NDk2LDMzNTg0NCwyNzEyMTgsMjY2MTMxLDI2NjEzMiwyNjc5NzcsMjY3NTc5LDI2MjgwMCwyNjI3OTksMjYyODAyLDI2NzU4MCwyNjI3OTgsMjY3Njk1LDI2NzU4MSwyNzMyMzIsODIwMzldO3ZhciBtUVM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy5OPW59aGFuZGxlUmVzcG9uc2UobixXKXtpZihXLmlucHV0Lm1hdGNoKExCKE40aCkpKXt2YXIgRD1uPy5lbmRwb2ludDtXPWcudyhELFRlKT8udW5zZXJpYWxpemVkUHJlZmV0Y2hEYXRhO2lmKEQmJlcpe249dGhpcy5OO3ZhciBiPShuZXcgc29iKS5YKEQpLHY9Zy53KFcsRCRyKTtsZXQgaz12Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMmJk51bWJlcih2Py5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpPjA/TnVtYmVyKHY/LnJlc3BvbnNlQ29udGV4dD8ubWF4QWdlU2Vjb25kcyk6NjAwO3YmJmImJms+MCYmKHY9RWUodixrKSxuLnB1dChiLG5ldyBiaCh2KSkpO0Q9KG5ldyBLSFMpLlgoRCk7Vz1nLncoVyxhSncpO2I9Vz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzJiZOdW1iZXIoVz8ucmVzcG9uc2VDb250ZXh0Py5tYXhBZ2VTZWNvbmRzKT4wP051bWJlcihXPy5yZXNwb25zZUNvbnRleHQ/Lm1heEFnZVNlY29uZHMpOgo2MDA7VyYmRCYmYj4wJiYoVz1FZShXLGIpLG4ucHV0KEQsbmV3IGJoKFcpKSl9fX19O21RU1tnLkxYXT1bQmVdO25mKCIiLCJkb3dubG9hZHNQYWdlVmlld0NvbmZpZ3VyYXRpb25FbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX01BTlVBTF9ET1dOTE9BRFMiLCJtYWluRG93bmxvYWRzTGlzdEVudGl0eSIpO25mKCJET1dOTE9BRFNfTElTVF9FTlRJVFlfSURfU01BUlRfRE9XTkxPQURTIiwibWFpbkRvd25sb2Fkc0xpc3RFbnRpdHkiKTtuZigiRE9XTkxPQURTX0xJU1RfRU5USVRZX0lEX1NNQVJUX0RPV05MT0FEUyIsInJlZnJlc2giKTtuZigiU01BUlRfRE9XTkxPQURTX0VOQUJMRUQiLCJzZXR0aW5nRW50aXR5Iik7dmFyIHd5aD1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSxPNng9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy5PMT1udWxsO3RoaXMuRGE9dm9pZCAwfWluaXRpYWxpemUobixXLEQsYil7dGhpcy5EYT1iO2lmKG4ucHJvZ3JhbSl7dmFyIHY7Yj1uLmludGVycHJldGVyVXJsPz9udWxsO24uaW50ZXJwcmV0ZXJTYWZlU2NyaXB0P3Y9Tk4obi5pbnRlcnByZXRlclNhZmVTY3JpcHQpOnY9bi5pbnRlcnByZXRlclNjcmlwdD8/bnVsbDtuLmludGVycHJldGVyU2FmZVVybCYmKGI9cHcobi5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO0Y0Yih0aGlzLHYsYixuLnByb2dyYW0sVyxEKX1lbHNlIGcuR3EoRXJyb3IoIkJMOkNJUCIpKX1pc0luaXRpYWxpemVkKCl7cmV0dXJuIHRoaXMuSigpfWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuc3RhdGV9aXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuc3RhdGU9PT0KMn1pbnZva2Uobj17fSl7cmV0dXJuIHRoaXMuSigpP3RoaXMuVyh7d186bn0pOm51bGx9ZGlzcG9zZSgpe3RoaXMuTihudWxsKTt0aGlzLnZWKDgpfUooKXtyZXR1cm4hIXRoaXMuTzF9VyhuKXtyZXR1cm4gdGhpcy5PMS5tNShuKX1OKG4pe2cuQ3AodGhpcy5PMSk7dGhpcy5PMT1ufXZWKG4pe3RoaXMuc3RhdGU9bn19O3ZhciBQQU09Y2xhc3MgZXh0ZW5kcyBPNnh7TihuKXtKaigpPy5iZ3ZtYSgpO2lmKG4pe2xldCBXPXtiZ3ZtYTpuLmRpc3Bvc2UuYmluZChuKSxiZ3ZtYjpuLnNuYXBzaG90LmJpbmQobiksYmd2bWM6bi5tNS5iaW5kKG4pfTtnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLFcpO2cueWooRD0+bi5zbmFwc2hvdChEKSl9ZWxzZSBnLkdiKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLGcuR2IoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9Sigpe3JldHVybiEhSmooKX1XKG4pe3JldHVybiBKaigpLmJndm1jKG4pfX07dmFyIFpMPXtBRF9NQVJLRVI6Inl0cC1hZC1wcm9ncmVzcyIsQ0hBUFRFUl9NQVJLRVI6Inl0cC1jaGFwdGVyLW1hcmtlciIsVElNRV9NQVJLRVI6Inl0cC10aW1lLW1hcmtlciJ9O3ZhciBzMz12b2lkIDA7dmFyIEgkPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPW5ldyBTZXQ7dGhpcy5KPW5ldyBTZXQ7dGhpcy5qPW5ldyBNYXA7dGhpcy5jbGllbnQ9dm9pZCAwO3RoaXMuY3NuPW51bGx9VyhuKXt0aGlzLmNsaWVudD1ufU4oKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Zy5SdigpfWNsZWFyKCl7dGhpcy5YLmNsZWFyKCk7dGhpcy5KLmNsZWFyKCk7dGhpcy5qLmNsZWFyKCk7dGhpcy5jc249bnVsbH19O3ZhciBVMz1jbGFzc3tXKG4pe1BWKGZpKCkuVykuYmluZChmaSgpKShuKX1jbGVhcigpe1BWKGZpKCkuY2xlYXIpLmJpbmQoZmkoKSkoKX19O3ZhciBKWD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1bXTt0aGlzLk89W107dGhpcy5LPW5ldyBNYXA7dGhpcy5UQz1uZXcgTWFwO3RoaXMuVj1bXTt0aGlzLmNKPVtdO3RoaXMuWD1uZXcgTWFwO3RoaXMuWT1uZXcgTWFwO3RoaXMuSj1uZXcgTWFwO3RoaXMuTj1uZXcgU2V0O3RoaXMuUyQ9bmV3IE1hcH1XKG4pe3RoaXMuY2xpZW50PW59YmQobixXPXt9KXtQVigoKT0+e3ZhciBEPWcudyhuPy5jb21tYW5kTWV0YWRhdGEscGopPy5yb290VmV8fGcudyhuPy5jb21tYW5kTWV0YWRhdGEsWnNyKT8uc2NyZWVuVmlzdWFsRWxlbWVudD8udWlUeXBlO2lmKEQpe3ZhciBiPWcudyhuPy5jb21tYW5kTWV0YWRhdGEsYk1yKTtpZihiPy5wYXJlbnRUcmFja2luZ1BhcmFtcyl7dmFyIHY9VFUoYi5wYXJlbnRUcmFja2luZ1BhcmFtcyk7aWYoYi5wYXJlbnRDc24pdmFyIGs9Yi5wYXJlbnRDc259ZWxzZSBXLmNsaWNrZWRWaXN1YWxFbGVtZW50P3Y9Vy5jbGlja2VkVmlzdWFsRWxlbWVudDpuLmNsaWNrVHJhY2tpbmdQYXJhbXMmJgoodj1UVShuLmNsaWNrVHJhY2tpbmdQYXJhbXMpKTthOntiPWcudyhuLGcuSVEpO3ZhciBoPWcudyhuLHpPdyk7aWYoYil7aWYoaD10WChiLCJWSURFTyIpKXtiPXt0b2tlbjpoLHZpZGVvSWQ6Yi52aWRlb0lkfTticmVhayBhfX1lbHNlIGlmKGgmJihiPXRYKGgsIlBMQVlMSVNUIikpKXtiPXt0b2tlbjpiLHBsYXlsaXN0SWQ6aC5wbGF5bGlzdElkfTticmVhayBhfWI9dm9pZCAwfVc9e2N0dEF1dGhJbmZvOmIscGFyZW50Q3NuOmssLi4uV307Zy5sKCJleHBlY3RhdGlvbl9sb2dnaW5nIikmJihXLmxvZ2dpbmdFeHBlY3RhdGlvbnM9Zy53KG4/LmNvbW1hbmRNZXRhZGF0YSxac3IpPy5sb2dnaW5nRXhwZWN0YXRpb25zfHx2b2lkIDApO21VKHRoaXMsRCx2LFcpfWVsc2UgZy5HcShuZXcgZy5ReCgiRXJyb3I6IFRyeWluZyB0byBjcmVhdGUgYSBuZXcgc2NyZWVuIHdpdGhvdXQgYSByb290VmVUeXBlIixuKSl9KSgpfWNsaWNrQ29tbWFuZChuLFcsRD0wKXtyZXR1cm4gZ25aKHRoaXMsbi5jbGlja1RyYWNraW5nUGFyYW1zLApXLEQpfXN0YXRlQ2hhbmdlZChuLFcsRD0wKXt0aGlzLnZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQoVFUobiksVyxEKX12aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkKG4sVyxEPTApe0Q9PT0wJiZ0aGlzLk4uaGFzKEQpP3RoaXMuTy5wdXNoKFtuLApXXSk6UCQodGhpcyxuLFcsRCl9blQobil7dmFyIFc9bi5jcG4sRD1TMih0aGlzLDApO2lmKEQubGVuZ3RoJiZEW0QubGVuZ3RoLTJdPy5jcG4hPT1XJiYoRD1nLlJ2KCksVyYmRCYmRCE9PSJVTkRFRklORURfQ1NOIikpe3ZhciBiO24uaXRjdCYmKGI9VFUobi5pdGN0fHwiIikpO2xldCB2PXt9O2cubCgid2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfbG9nX2N0dCIpJiZuLmtXJiYodi5jdHRBdXRoSW5mbz17dG9rZW46bi5rVyx2aWRlb0lkOm4udmlkZW9JZH0pO249e2NwbjpXLGNzbjpEfTtnLmwoIndlYl9wbGF5YmFja19hc3NvY2lhdGVkX3ZlIikmJmImJihGaihELGIpLG4ucGxheWJhY2tWZT1iLmdldEFzSnNvbigpKTtnLnpVKCJwbGF5YmFja0Fzc29jaWF0ZWQiLG4sdik7Yj1TMih0aGlzLDApO2JbYi5sZW5ndGgtMV0uY3BuPVd9fX07dmFyIEUzPWNsYXNze2ZldGNoKG4sVyxEKXt2YXIgYj1YT2IobixXLEQpO3JldHVybiBuZXcgUHJvbWlzZSgodixrKT0+e3ZhciBoPSgpPT57aWYoRD8uTGQpdHJ5e2xldCB4PXRoaXMuaGFuZGxlUmVzcG9uc2UobixiLnN0YXR1cyxiLnJlc3BvbnNlLEQpO3YoeCl9Y2F0Y2goeCl7ayh4KX1lbHNlIHYodGhpcy5oYW5kbGVSZXNwb25zZShuLGIuc3RhdHVzLGIucmVzcG9uc2UsRCkpfTsKYi5vbmVycm9yPWg7Yi5vbmxvYWQ9aDtiLnNlbmQoVy5ib2R5Pz9udWxsKX0pfWhhbmRsZVJlc3BvbnNlKG4sVyxELGIpe0Q9KER8fCIiKS5yZXBsYWNlKCIpXX0nIiwiIik7CnRyeXt2YXIgdj1KU09OLnBhcnNlKEQpfWNhdGNoKGspe2cuR3EobmV3IGcuUXgoIkpTT04gcGFyc2luZyBmYWlsZWQgYWZ0ZXIgWEhSIGZldGNoIixuLFcsRCkpO2lmKGI/LkxkJiZEKXRocm93IG5ldyBvOCgiSlNPTiBwYXJzaW5nIGZhaWxlZCBhZnRlciBYSFIgZmV0Y2giKTt2PXt9fVchPT0yMDAmJihnLkdxKG5ldyBnLlF4KCJYSFIgQVBJIGZldGNoIGZhaWxlZCIsbixXLEQpKSx2PXsuLi52LGVycm9yTWV0YWRhdGE6e3N0YXR1czpXfX0pO3JldHVybiB2fX07dmFyIFo2aj1jbGFzc3tzdGF0aWMgZ2V0SW5zdGFuY2UoKXt2YXIgbj1nLnJyKCJ5dGdsb2JhbC5zdG9yYWdlXyIpO258fChuPW5ldyBaNmosZy5HYigieXRnbG9iYWwuc3RvcmFnZV8iLG4pKTtyZXR1cm4gbn1hc3luYyBlc3RpbWF0ZSgpe3ZhciBuPW5hdmlnYXRvcjtpZihuLnN0b3JhZ2U/LmVzdGltYXRlKXJldHVybiBuLnN0b3JhZ2UuZXN0aW1hdGUoKTtpZihuLndlYmtpdFRlbXBvcmFyeVN0b3JhZ2U/LnF1ZXJ5VXNhZ2VBbmRRdW90YSlyZXR1cm4gcWZTKCl9fTtnLkdiKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixaNmopO3ZhciBqaVU9a08oInl0LXBsYXllci1sb2NhbC1tZWRpYSIse0tjOntpbmRleDp7dng6Mn0sbWVkaWE6e3Z4OjJ9LGNhcHRpb25zOnt2eDo1fX0sc2hhcmVkOiExLHVwZ3JhZGUobixXKXtXKDIpJiYoWnkobiwiaW5kZXgiKSxaeShuLCJtZWRpYSIpKTtXKDUpJiZaeShuLCJjYXB0aW9ucyIpO1coNikmJihVUihuLCJtZXRhZGF0YSIpLFVSKG4sInBsYXllcmRhdGEiKSl9LHZlcnNpb246NX0pO3ZhciBVeng9e2N1cGNha2U6MS41LGRvbnV0OjEuNixlY2xhaXI6Mixmcm95bzoyLjIsZ2luZ2VyYnJlYWQ6Mi4zLGhvbmV5Y29tYjozLCJpY2UgY3JlYW0gc2FuZHdpY2giOjQsamVsbHliZWFuOjQuMSxraXRrYXQ6NC40LGxvbGxpcG9wOjUuMSxtYXJzaG1hbGxvdzo2LG5vdWdhdDo3LjF9LHVEO2E6e3ZhciBvVj1nLlhRKCk7b1Y9b1YudG9Mb3dlckNhc2UoKTtpZihvVi5pbmRleE9mKCJhbmRyb2lkIikhPS0xKXt2YXIgeVpoPW9WLm1hdGNoKC9hbmRyb2lkXHMqKFxkKyhcLlxkKyk/KVteO3wpXSpbOyldLyk7aWYoeVpoKXtsZXQgbj1wYXJzZUZsb2F0KHlaaFsxXSk7aWYobjwxMDApe3VEPW47YnJlYWsgYX19dmFyIEVnYj1vVi5tYXRjaCgiKCIrT2JqZWN0LmtleXMoVXp4KS5qb2luKCJ8IikrIikiKTt1RD1FZ2I/VXp4W0VnYlswXV06MH1lbHNlIHVEPXZvaWQgMH12YXIgZG49dUQsTkY9ZG4+PTA7dmFyIHo4O3t2YXIgaTZoPWcuWFEoKTtsZXQgbj1pNmgubWF0Y2goL1woKGlQYWR8aVBob25lfGlQb2QpKCBTaW11bGF0b3IpPzsvKTtpZighbnx8bi5sZW5ndGg8Mil6OD12b2lkIDA7ZWxzZXt2YXIgbEQ9aTZoLm1hdGNoKC9cKChpUGFkfGlQaG9uZXxpUG9kKSggU2ltdWxhdG9yKT87IChVOyApP0NQVSAoaVBob25lICk/T1MgKFxkK19cZClbXyBdLyk7ejg9bEQmJmxELmxlbmd0aD09PTY/TnVtYmVyKGxEWzVdLnJlcGxhY2UoIl8iLCIuIikpOjB9fXZhciB2aj16OCx4ST12aj49MDt2YXIgb2Y7Zy51Wj1uZXcgUEFNO29mPTA7Zy5GTFU9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy52aWRlb0RhdGE9bjt0aGlzLk49e2MxYTooKT0+e3ZhciBXPVtdO2lmKGcudVouaXNJbml0aWFsaXplZCgpKXt2YXIgRD0iIjt0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEsmJihEPXRoaXMudmlkZW9EYXRhLnBLK2AmcjFiPSR7dGhpcy52aWRlb0RhdGEuY2xpZW50UGxheWJhY2tOb25jZX1gKTtEPXthdHJfY2hhbGxlbmdlOkR9O2cuZ18oImJnX3YiLHZvaWQgMCwicGxheWVyX2F0dCIpOyhEPXI5UyhEKSk/KGcuZ18oImJnX3MiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaChgcjFhPSR7RH1gKSk6KGcuZ18oImJnX2UiLHZvaWQgMCwicGxheWVyX2F0dCIpLFcucHVzaCgicjFjPTIiKSl9ZWxzZSBnLmdfKCJiZ19lIix2b2lkIDAsInBsYXllcl9hdHQiKSx3aW5kb3cudHJheXJpZGV8fHdpbmRvdy5ib3RndWFyZD9XLnB1c2goInIxYz0xIik6Vy5wdXNoKCJyMWM9NCIpO1cucHVzaChgcjFkPSR7Zy51Wi5nZXRTdGF0ZSgpfWApOwpyZXR1cm4gVy5qb2luKCImIil9LApjNmE6Vz0+InI2YT0iKyhOdW1iZXIoVy5jKV5MYygpKSwKYzZiOlc9PmByNmI9JHtOdW1iZXIoVy5jKV5OdW1iZXIoZy5BcigiQ0FUU1RBVCIsMCkpfWB9Owp0aGlzLnZpZGVvRGF0YSYmdGhpcy52aWRlb0RhdGEucEs/dGhpcy5SUj1nLml3KHRoaXMudmlkZW9EYXRhLnBLKTp0aGlzLlJSPXt9fX07Zy5DaT1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9e30sRD0wKXt0aGlzLmVycm9yQ29kZT1uO3RoaXMuZGV0YWlscz1XO3RoaXMuc2V2ZXJpdHk9RH19O3ZhciB0SD17RUk6ZnVuY3Rpb24obixXKXt2YXIgRD1uWzBdO25bMF09bltXJW5bSVs1XV1dO25bVyVuW0lbNV1dXT1EfSwKT1c6ZnVuY3Rpb24obixXKXtuW0lbM11dKDAsVyl9LApHRzpmdW5jdGlvbihuKXtuW0lbMjVdXSgpfX07dmFyIHV2TT17UmQ6ImFkdW5pdCIsaFE6ImRldGFpbHBhZ2UiLGt3OiJlZGl0cGFnZSIsVE86ImVtYmVkZGVkIixEcDoibGVhbmJhY2siLEY3OiJwcmV2aWV3cGFnZSIsRE06InByb2ZpbGVwYWdlIixrUzoidW5wbHVnZ2VkIixNbjoicGxheWxpc3RvdmVydmlldyIsVUM6InNwb25zb3JzaGlwc29mZmVyIixCYToic2hvcnRzcGFnZSIsZEw6ImhhbmRsZXNjbGFpbWluZyIsaF86ImltbWVyc2l2ZWxpdmVwYWdlIix6TzoiY3JlYXRvcm11c2ljIixYSjoiaW1tZXJzaXZlbGl2ZXByZXZpZXdwYWdlIixZWDoiYWRtaW50b29seXVydCIsbk06InNob3J0c2F1ZGlvcGl2b3QiLHlfOiJjb25zdW1wdGlvbiIsZUw6ImJhY2tncm91bmRfYXVkaW9fcGxheWJhY2siLFVfOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RzX3BhZ2UiLEdPOiJmYW1pbHlfY2VudGVyX3N1cGVydmlzZWVfaW50ZXJlc3RfZGV0YWlsc19wYWdlIn07dmFyIG9nMj1bImgiLCJIIl0sZHppPVsiOSIsIigiXSx6cmg9WyI5aCIsIihoIl0sbEhoPVsiOCIsIioiXSxUdGk9WyJhIiwiQSJdLGpvaT1bIm8iLCJPIl0sQ0FiPVsibSIsIk0iXSxCdGk9WyJtYWMzIiwiTUFDMyJdLEZIdz1bIm1lYWMzIiwiTUVBQzMiXSxibz17aDpvZzIsSDpvZzIsWyI5Il06ZHppLFsiKCJdOmR6aSxbIjloIl06enJoLFsiKGgiXTp6cmgsWyI4Il06bEhoLFsiKiJdOmxIaCxhOlR0aSxBOlR0aSxvOmpvaSxPOmpvaSxtOkNBYixNOkNBYixtYWMzOkJ0aSxNQUMzOkJ0aSxtZWFjMzpGSHcsTUVBQzM6Rkh3fSx3Rlo9bmV3IFNldCgibyBPIGEgYWggQSBtIE0gbWFjMyBNQUMzIG1lYWMzIE1FQUMzIHNvIHNhIi5zcGxpdCgiICIpKSxwTGo9bmV3IFNldCgibSBNIG1hYzMgTUFDMyBtZWFjMyBNRUFDMyIuc3BsaXQoIiAiKSk7dmFyIEZCVT17ak06MCxObToxMjQsZDQ6MTQ0LEp6OjIyMCx5VjoyNDAsYjY6MzQwLFdhOjM2MCx6NTo0ODAsaHo6NTg4LG1wOjYwOCxYczo3MjAscW06NzQwLHc0OjEwODAsQzQ6MTEwMCxvNjoxNDQwLFBhOjIxNjAsaTY6OTk5OSwwOiJRVUFMSVRZX09SRElOQUxfVU5LTk9XTiIsMTI0OiJRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUiIsMTQ0OiJRVUFMSVRZX09SRElOQUxfMTQ0UCIsMjIwOiJRVUFMSVRZX09SRElOQUxfMjQwUF9TQVZFUiIsMjQwOiJRVUFMSVRZX09SRElOQUxfMjQwUCIsMzQwOiJRVUFMSVRZX09SRElOQUxfMzYwUF9TQVZFUiIsMzYwOiJRVUFMSVRZX09SRElOQUxfMzYwUCIsNDgwOiJRVUFMSVRZX09SRElOQUxfNDgwUCIsNTg4OiJRVUFMSVRZX09SRElOQUxfNjA4UF9TQVZFUiIsNjA4OiJRVUFMSVRZX09SRElOQUxfNjA4UCIsNzIwOiJRVUFMSVRZX09SRElOQUxfNzIwUCIsNzQwOiJRVUFMSVRZX09SRElOQUxfNzIwUF9FTkhBTkNFRCIsMTA4MDoiUVVBTElUWV9PUkRJTkFMXzEwODBQIiwKMTEwMDoiUVVBTElUWV9PUkRJTkFMXzEwODBQX0VOSEFOQ0VEIiwxNDQwOiJRVUFMSVRZX09SRElOQUxfMTQ0MFAiLDIxNjA6IlFVQUxJVFlfT1JESU5BTF8yMTYwUCIsOTk5OToiUVVBTElUWV9PUkRJTkFMX0hJR0hSRVMifTt2YXIgTkc9e2F1dG86MCx0aW55OjE0NCxsaWdodDoxNDQsc21hbGw6MjQwLG1lZGl1bTozNjAsbGFyZ2U6NDgwLGhkNzIwOjcyMCxoZDEwODA6MTA4MCxoZDE0NDA6MTQ0MCxoZDIxNjA6MjE2MCxoZDI4ODA6Mjg4MCxoaWdocmVzOjQzMjB9LExnPXswOiJhdXRvIiwxNDQ6InRpbnkiLDI0MDoic21hbGwiLDM2MDoibWVkaXVtIiw0ODA6ImxhcmdlIiw3MjA6ImhkNzIwIiwxMDgwOiJoZDEwODAiLDE0NDA6ImhkMTQ0MCIsMjE2MDoiaGQyMTYwIiwyODgwOiJoZDI4ODAiLDQzMjA6ImhpZ2hyZXMifSxOej17UVVBTElUWV9PUkRJTkFMX1VOS05PV046MCxRVUFMSVRZX09SRElOQUxfMTQ0UF9TQVZFUjoxMjQsUVVBTElUWV9PUkRJTkFMXzE0NFA6MTQ0LFFVQUxJVFlfT1JESU5BTF8yNDBQX1NBVkVSOjIyMCxRVUFMSVRZX09SRElOQUxfMjQwUDoyNDAsUVVBTElUWV9PUkRJTkFMXzM2MFBfU0FWRVI6MzQwLFFVQUxJVFlfT1JESU5BTF8zNjBQOjM2MCxRVUFMSVRZX09SRElOQUxfNDgwUDo0ODAsClFVQUxJVFlfT1JESU5BTF82MDhQX1NBVkVSOjU4OCxRVUFMSVRZX09SRElOQUxfNjA4UDo2MDgsUVVBTElUWV9PUkRJTkFMXzcyMFA6NzIwLFFVQUxJVFlfT1JESU5BTF83MjBQX0VOSEFOQ0VEOjc0MCxRVUFMSVRZX09SRElOQUxfMTA4MFA6MTA4MCxRVUFMSVRZX09SRElOQUxfMTA4MFBfRU5IQU5DRUQ6MTEwMCxRVUFMSVRZX09SRElOQUxfMTQ0MFA6MTQ0MCxRVUFMSVRZX09SRElOQUxfMjE2MFA6MjE2MCxRVUFMSVRZX09SRElOQUxfSElHSFJFUzo5OTk5fTt2YXIgJGQ9MjU5MkUzO2cuT249e1NUT1BfRVZFTlRfUFJPUEFHQVRJT046Imh0bWw1LXN0b3AtcHJvcGFnYXRpb24iLElWX0RSQVdFUl9FTkFCTEVEOiJ5dHAtaXYtZHJhd2VyLWVuYWJsZWQiLElWX0RSQVdFUl9PUEVOOiJ5dHAtaXYtZHJhd2VyLW9wZW4iLE1BSU5fVklERU86Imh0bWw1LW1haW4tdmlkZW8iLFZJREVPX0NPTlRBSU5FUjoiaHRtbDUtdmlkZW8tY29udGFpbmVyIixWSURFT19DT05UQUlORVJfVFJBTlNJVElPTklORzoiaHRtbDUtdmlkZW8tY29udGFpbmVyLXRyYW5zaXRpb25pbmciLEhPVVNFX0JSQU5EOiJob3VzZS1icmFuZCJ9O3ZhciBQbj17YWxsb3dlZDoiQVVUT1BMQVlfQlJPV1NFUl9QT0xJQ1lfQUxMT1dFRCIsImFsbG93ZWQtbXV0ZWQiOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9BTExPV0VEX01VVEVEIixkaXNhbGxvd2VkOiJBVVRPUExBWV9CUk9XU0VSX1BPTElDWV9ESVNBTExPV0VEIn07dmFyIGNLTT17QU5EUk9JRDozLEFORFJPSURfS0lEUzoxOCxBTkRST0lEX01VU0lDOjIxLEFORFJPSURfVU5QTFVHR0VEOjI5LFdFQjoxLFdFQl9SRU1JWDo2NyxXRUJfVU5QTFVHR0VEOjQxLElPUzo1LElPU19LSURTOjE5LElPU19NVVNJQzoyNixJT1NfVU5QTFVHR0VEOjMzfSx1Sj17YW5kcm9pZDoiQU5EUk9JRCIsImFuZHJvaWQuayI6IkFORFJPSURfS0lEUyIsImFuZHJvaWQubSI6IkFORFJPSURfTVVTSUMiLCJhbmRyb2lkLnVwIjoiQU5EUk9JRF9VTlBMVUdHRUQiLHlvdXR1YmU6IldFQiIsInlvdXR1YmUubSI6IldFQl9SRU1JWCIsInlvdXR1YmUudXAiOiJXRUJfVU5QTFVHR0VEIix5dGlvczoiSU9TIiwieXRpb3MuayI6IklPU19LSURTIiwieXRpb3MubSI6IklPU19NVVNJQyIsInl0aW9zLnVwIjoiSU9TX1VOUExVR0dFRCJ9LE00Uz17Im1keC1wYWlyIjoxLCJtZHgtZGlhbCI6MiwibWR4LWNhc3QiOjMsIm1keC12b2ljZSI6NCwibWR4LWluYXBwZGlhbCI6NX07dmFyIExHMT17aV86MSxZdzoyLFBBVVNFRDozLDE6IkRJU0FCTEVEIiwyOiJFTkFCTEVEIiwzOiJQQVVTRUQifTt2YXIgZXh4PVJlZ0V4cCgiXmh0dHBzPzovLyhbXi5dKlxcLm1vYXRhZHNcXC5jb20vfGVbMC05XStcXC55dFxcLnNyc1xcLmRvdWJsZXZlcmlmeVxcLmNvbXxwYWdlYWQyXFwuZ29vZ2xlc3luZGljYXRpb25cXC5jb20vcGFnZWFkL2dlbl8yMDRcXD9pZD15dDNwJnNyPTEmfHBtXFwuYWRzYWZlcHJvdGVjdGVkXFwuY29tL3lvdXR1YmV8cG1cXC50ZXN0LWFkc2FmZXByb3RlY3RlZFxcLmNvbS95b3V0dWJlfHlvdXR1YmVbMC05XStcXC5tb2F0cGl4ZWxcXC5jb20vKSIpLGxKPVJlZ0V4cCgiXmh0dHBzOi8vKFthLXpdK1xcLik/WzAtOWEtZl17MSw2M31cXC5zc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20vfF5odHRwczovLyhbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbS98Xmh0dHBzPzovLygoWy1cXHddKnd3d1stXFx3XSpcXC58Wy1cXHddKndlYlstXFx3XSpcXC58Wy1cXHddKmNhbmFyeVstXFx3XSpcXC58Wy1cXHddKmRldlstXFx3XSpcXC58Wy1cXHddezEsM31cXC4pKyhjb3JwXFwuKT95b3V0dWJlKC1ub2Nvb2tpZXxraWRzfGVkdWNhdGlvbik/XFwuY29tL3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooeW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuKFthLXpdezN9fGkpXFwuY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vfChbYS16XStcXC4pP1thLXowLTlcXC1dezEsNjN9XFwuY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPy98KGRvY3N8ZHJpdmUpXFwuZ29vZ2xlXFwuY29tLyhhL1teL1xcXFwlXSsvfCl8KG11c2ljfG11c2ljLWdyZWVuLXFhfG11c2ljLXJlbGVhc2UtcWF8eXQtbXVzaWMtZ3JlZW5cXC5jb3JwKVxcLnlvdXR1YmVcXC5jb20vfCh0dnx0di1ncmVlbi1xYXx0di1ncmVlbi1xYVxcLmNvcnB8dHYtcmVsZWFzZS1xYXx0di1yZWxlYXNlLXFhXFwuY29ycHx0di1pbnRlZ3JhdGlvbi1xYXx0di1pbnRlZ3JhdGlvbi1xYVxcLmNvcnB8eXQtdHYtYXV0b3B1c2hcXC5jb3JwfHl0LXR2LWludGVncmF0aW9uXFwuY29ycHx5dC10di1zdGFnaW5nXFwuY29ycClcXC55b3V0dWJlXFwuY29tL3xbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8vKSIpLApndGo9UmVnRXhwKCJeaHR0cHM/Oi8vKHd3d1xcLmdvb2dsZVxcLmNvbS9wYWdlYWQveHN1bHx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9zbGF2KSIpLHg1cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bWFpbFxcLmdvb2dsZVxcLmNvbXx5b3V0dWJlXFwuY29tfHlvdXR1YmVlZHVjYXRpb25cXC5jb218eW91dHViZVxcLW5vY29va2llXFwuY29tfHlvdXR1YmVraWRzXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpKSIpLApMaHQ9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLGs3cj1SZWdFeHAoIl5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvKD8hdXJsXFxiKXwkKXxeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStzc2xwcm94eVxcLmNvcnBcXC5nb29nbGVcXC5jb20oL3wkKXxeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbSlbLl0/KDpbMC05XSspPy98KFtBLVphLXowLTktXXsxLDYzfVxcLikqKHNhbmRib3hcXC5nb29nbGVcXC5jb20pKDpbMC05XSspPygvKD8hdXJsXFxiKXwkKSkiKSwKRDVVPVJlZ0V4cCgiXigoaHR0cChzKT8pOik/XFwvXFwvKCgoKGxoWzMtNl0oLXR0fC1kW2EtZyx6XSk/XFwuKChnZ3BodCl8KGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKXwoc2FuZGJveFxcLmdvb2dsZSkpKXwobGg3XFwtKGV1fHVzfHF3fHJ0fHh4KVxcLigoZ29vZ2xldXNlcmNvbnRlbnQpfChnb29nbGUpKSl8KChwaG90b3N8dGVzdG9ubHl8d29yaylcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfChbXFx3XFwtXStcXC5maWZlXFwudXNlcmNvbnRlbnRcXC5nb29nbGUpfCgoWzEtNF1cXC5icFxcLmJsb2dzcG90KXwoYnBbMC0zXVxcLmJsb2dnZXIpKXwoY2NwLWxoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfCgoKChjcHxjaXxncClbMy02XSl8KGFwWzEtMl0pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpfChnbVsxLTRdXFwuZ2dwaHQpfChwbGF5LSh0aS0pP2xoXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChnelswLTFdXFwuZ29vZ2xldXNlcmNvbnRlbnQpfChsaDNcXC1nbVxcLmdvb2dsZSl8KCgoeXRbMy00XSl8KHNwWzEtM10pKVxcLihnZ3BodHxnb29nbGV1c2VyY29udGVudCkpKVxcLmNvbSl8KGRyaXZlXFwuZ29vZ2xlXFwuY29tXFwvZHJpdmVcXC0odXNlcmNvbnRlbnR8dmlld2VyKSl8KGRwWzMtNl1cXC5nb29nbGV1c2VyY29udGVudFxcLmNuKXwoZHA0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20pfCgocGhvdG9zfGRyaXZlfGNvbnRyaWJ1dGlvbilcXC1pbWFnZVxcLShkZXZ8cWEpKC11c3wtZXUpPygtYXV0aHwtY29va2llKT9cXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwocGhvdG9zXFwtaW1hZ2VcXC1kZXZcXC1kbFxcLShhdXRofGV1fHVzKVxcLmNvcnBcXC5nb29nbGVcXC5jb20pfCgoZGV2fGRldjJ8ZGV2M3xxYXxxYTJ8cWEzfHFhLXJlZHxxYS1ibHVlfGNhbmFyeSlbLS5dbGlnaHRob3VzZVxcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC9pbWFnZSl8KGltYWdlXFwtKGRldnxxYSlcXC1saWdodGhvdXNlKC1hdXRoKT9cXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tKFxcL2ltYWdlKT8pfChkcml2ZVxcLXFhXFwuY29ycFxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkb2NzKFxcLShkZXZ8cWEpXFwuY29ycCk/XFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pPyhkb2NzfHNoZWV0c3xzbGlkZXN8ZHJhd2luZ3N8Zm9ybXN8dmlkZW9zfHBpY3R1cmVzKVxcLWltYWdlc1xcLShydHxxdykpfChkb2NzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXMpfChzaXRlc1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXNcXC0ocnR8cXcpKXwoYXRhcmktZ3JlZW4tdGVzdFxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KHNpdGVzXFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT9zaXRlcyh2KT9cXC1pbWFnZXMpKVxcL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzPzovLygoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY29ycFxcLmdvb2dsZVxcLmNvbXxwcm94eVxcLmdvb2dsZXByb2RcXC5jb218Y1xcLmdvb2dsZXJzXFwuY29tfHByb3h5XFwuZ29vZ2xlcnNcXC5jb218Ym9yZ1xcLmdvb2dsZVxcLmNvbXxkb2NzXFwuZ29vZ2xlXFwuY29tfGRyaXZlXFwuZ29vZ2xlXFwuY29tfGdvb2dsZXBsZXhcXC5jb218cGxheVxcLmdvb2dsZVxcLmNvbXxwcm9kXFwuZ29vZ2xlXFwuY29tfHZpZGVvXFwuZ29vZ2xlXFwuY29tfHlvdXR1YmVcXC5jb218eXRpbWdcXC5jb218eXRpbWdcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tfGNoYXRcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfChbQS1aYS16MC05LV17MSw2M31cXC4pKihzYW5kYm94XFwuZ29vZ2xlXFwuY29tKSg6WzAtOV0rKT8oLyg/IXVybFxcYil8JCl8czJcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbS9zMi9mYXZpY29uc1xcP3x5dFszLTRdXFwuZ2dwaHRcXC5jb20vKSIpLApiS1o9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFhLMj1SZWdFeHAoIl5odHRwcz8uKiNvY3IkfF5odHRwcz86Ly8oYWtzZWN1cmVcXC5pbXJ3b3JsZHdpZGVcXC5jb20vfGNkblxcLmltcndvcmxkd2lkZVxcLmNvbS98c2VjdXJlXFwtLi5cXC5pbXJ3b3JsZHdpZGVcXC5jb20vKSIpLHZFaD1SZWdFeHAoIl5odHRwcz86Ly8oZ29vZ2xlYWRzXFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0LyhhY2xrfHBhZ2VhZC9jb252ZXJzaW9uKXx3d3dcXC5nb29nbGVcXC5jb20vKGFjbGt8cGFnZWFkL2NvbnZlcnNpb24pfHd3d1xcLmdvb2dsZWFkc2VydmljZXNcXC5jb20vKGFjbGt8cGFnZWFkLyhhY2xrfGNvbnZlcnNpb24pKXx3d3dcXC55b3V0dWJlXFwuY29tL3BhZ2VhZC9jb252ZXJzaW9uKSIpLG5Fdz1SZWdFeHAoIl4oKGh0dHAocyk/KTopP1xcL1xcLygoKChsaFszLTZdKC10dHwtZFthLWcsel0pP1xcLigoZ2dwaHQpfChnb29nbGV1c2VyY29udGVudCl8KGdvb2dsZSl8KHNhbmRib3hcXC5nb29nbGUpKSl8KGxoN1xcLShldXx1c3xxd3xydHx4eClcXC4oKGdvb2dsZXVzZXJjb250ZW50KXwoZ29vZ2xlKSkpfCgocGhvdG9zfHRlc3Rvbmx5fHdvcmspXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoW1xcd1xcLV0rXFwuZmlmZVxcLnVzZXJjb250ZW50XFwuZ29vZ2xlKXwoKFsxLTRdXFwuYnBcXC5ibG9nc3BvdCl8KGJwWzAtM11cXC5ibG9nZ2VyKSl8KGNjcC1saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoKCgoY3B8Y2l8Z3ApWzMtNl0pfChhcFsxLTJdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKXwoZ21bMS00XVxcLmdncGh0KXwocGxheS0odGktKT9saFxcLmdvb2dsZXVzZXJjb250ZW50KXwoZ3pbMC0xXVxcLmdvb2dsZXVzZXJjb250ZW50KXwobGgzXFwtZ21cXC5nb29nbGUpfCgoKHl0WzMtNF0pfChzcFsxLTNdKSlcXC4oZ2dwaHR8Z29vZ2xldXNlcmNvbnRlbnQpKSlcXC5jb20pfChkcml2ZVxcLmdvb2dsZVxcLmNvbVxcL2RyaXZlXFwtKHVzZXJjb250ZW50fHZpZXdlcikpfChkcFszLTZdXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jbil8KGRwNFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKXwoKHBob3Rvc3xkcml2ZXxjb250cmlidXRpb24pXFwtaW1hZ2VcXC0oZGV2fHFhKSgtdXN8LWV1KT8oLWF1dGh8LWNvb2tpZSk/XFwuY29ycFxcLmdvb2dsZVxcLmNvbSl8KHBob3Rvc1xcLWltYWdlXFwtZGV2XFwtZGxcXC0oYXV0aHxldXx1cylcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKXwoKGRldnxkZXYyfGRldjN8cWF8cWEyfHFhM3xxYS1yZWR8cWEtYmx1ZXxjYW5hcnkpWy0uXWxpZ2h0aG91c2VcXC5zYW5kYm94XFwuZ29vZ2xlXFwuY29tXFwvaW1hZ2UpfChpbWFnZVxcLShkZXZ8cWEpXFwtbGlnaHRob3VzZSgtYXV0aCk/XFwuc2FuZGJveFxcLmdvb2dsZVxcLmNvbShcXC9pbWFnZSk/KXwoZHJpdmVcXC1xYVxcLmNvcnBcXC5nb29nbGVcXC5jb21cXC9kcml2ZVxcLSh1c2VyY29udGVudHx2aWV3ZXIpKXwoZG9jcyhcXC0oZGV2fHFhKVxcLmNvcnApP1xcLmdvb2dsZVxcLmNvbVxcLyh1XFwvWzAtOV0rXFwvKT8oZG9jc3xzaGVldHN8c2xpZGVzfGRyYXdpbmdzfGZvcm1zfHZpZGVvc3xwaWN0dXJlcylcXC1pbWFnZXNcXC0ocnR8cXcpKXwoZG9jc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/KGRvY3N8c2hlZXRzfHNsaWRlc3xkcmF3aW5nc3xmb3Jtc3x2aWRlb3N8cGljdHVyZXMpXFwtaW1hZ2VzKXwoc2l0ZXNcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzXFwtKHJ0fHF3KSl8KGF0YXJpLWdyZWVuLXRlc3RcXC5jb3JwXFwuZ29vZ2xlXFwuY29tXFwvKHVcXC9bMC05XStcXC8pP3NpdGVzKHYpP1xcLWltYWdlc1xcLShydHxxdykpfChzaXRlc1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb21cXC8odVxcL1swLTldK1xcLyk/c2l0ZXModik/XFwtaW1hZ2VzKSlcXC98Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrZGVtb3NcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC8oPyF1cmxcXGIpfCQpfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK3NzbHByb3h5XFwuY29ycFxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVwbGV4XFwuY29tfGdvb2dsZXZpZGVvXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218bGgzXFwucGhvdG9zXFwuZ29vZ2xlXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218eW91dHViZVxcLmNvbXx5dFxcLmFrYW1haXplZFxcLm5ldHxjaGF0XFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/L3woW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfChbQS1aYS16MC05LV17MSw2M31cXC4pKmNcXC5saDMoLWRbYS1neXpdfC10ZXN0b25seSk/XFwuKGdvb2dsZXVzZXJjb250ZW50fHBob3Rvc1xcLmdvb2dsZSlcXC5jb20vLiokKSIpLApXaFo9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/LyIpLFJyaT1SZWdFeHAoIl5odHRwcz86Ly8oKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGltYXNka1xcLmdvb2dsZWFwaXNcXC5jb218Mm1kblxcLm5ldHxnb29nbGVzeW5kaWNhdGlvblxcLmNvbXxjb3JwXFwuZ29vZ2xlXFwuY29tfHByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbXxjXFwuZ29vZ2xlcnNcXC5jb218cHJveHlcXC5nb29nbGVyc1xcLmNvbXxib3JnXFwuZ29vZ2xlXFwuY29tfGdvb2dsZWFkc1xcLmdcXC5kb3VibGVjbGlja1xcLm5ldHxwcm9kXFwuZ29vZ2xlXFwuY29tfHN0YXRpY1xcLmRvdWJsZWNsaWNrXFwubmV0fHN0YXRpY1xcLmdvb2dsZWFkc3NlcnZpbmdcXC5jbnxzdHVkaW9hcGlcXC5kb3VibGVjbGlja1xcLm5ldHx5b3V0dWJlXFwuY29tfHlvdXR1YmVcXC5nb29nbGVhcGlzXFwuY29tfHlvdXR1YmVcXC1ub2Nvb2tpZVxcLmNvbXx5b3V0dWJla2lkc1xcLmNvbXx5dGltZ1xcLmNvbXx5dGltZ1xcLnNhbmRib3hcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8vfGxpZ2h0Ym94LShkZW1vc3xidWlsZGVyKVxcLmFwcHNwb3RcXC5jb20vfHNbMDFdKHFhKT9cXC4ybWRuXFwubmV0L2Fkcy9yaWNobWVkaWEvc3R1ZGlvL211L3RlbXBsYXRlcy90ZXRyaXN8d3d3XFwuZ3N0YXRpY1xcLmNvbS9kb3VibGVjbGljay9zdHVkaW8vaW5ub3ZhdGlvbi9oNS9sYXlvdXRzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL3l0cGxheWVyKSIpLApRb009UmVnRXhwKCJeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKSooY3Jvd2Rzb3VyY2V8ZGF0YWNvbXB1dGUpXFwuZ29vZ2xlXFwuY29tL3xeaHR0cHM6Ly8oW0EtWmEtejAtOS1dezEsNjN9XFwuKStkZW1vc1xcLmNvcnBcXC5nb29nbGVcXC5jb20oLyg/IXVybFxcYil8JCl8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tKC98JCl8Xmh0dHBzOi8vKGFkc3xhZHdvcmRzXFwuY29ycClcXC5nb29nbGVcXC5jb20vKGF3Lyhhc3NldGdyb3VwLyhlZGl0fG5ldyl8Y2FtcGFpZ25zLyhuZXcvKHBlcmZvcm1hbmNlbWF4fGRlbWFuZGdlbil8ZWRpdC9kZW1hbmRnZW4pKXwkKXxeaHR0cHM6Ly8oYWR3b3Jkcy0pP2NhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vKGJvb2tzfHBsYXktYm9va3MtKGF1dG9wdXNofGludGVybmFsfHByZXByb2R8c3RhZ2luZykoLXNhbmRib3h8XFwuY29ycCkpXFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oL3wkKXxeaHR0cHM6Ly9hZHMoLWV4dGVybmFsKT8tcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tLyhhdy8oYXNzZXRncm91cC8oZWRpdHxuZXcpfGNhbXBhaWducy8obmV3LyhwZXJmb3JtYW5jZW1heHxkZW1hbmRnZW4pfGVkaXQvZGVtYW5kZ2VuKSl8JCl8Xmh0dHBzOi8vY2FudmFzdGVzdGVyLTNmZDBiXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL2xvY2FsaG9zdFxcLmdvb2dsZXVzZXJjb250ZW50XFwuY29tKDpcXGQrKT8oL3wkKXxeaHR0cHM6Ly9uYXJyYXRpdmUtbmV3cy1jYXN0LXJlY2VpdmVyLWRcXC5hcHBzcG90XFwuY29tKC98JCl8Xmh0dHBzOi8vbmFycmF0aXZlLW5ld3MtY2FzdC1yZWNlaXZlci1mXFwuYXBwc3BvdFxcLmNvbSgvfCQpfF5odHRwczovL29uZVxcLmdvb2dsZVxcLmNvbSgvfCQpfF5odHRwczovL3d3d1xcLmdvb2dsZVxcLmNvbS9jdWx0dXJhbGluc3RpdHV0ZS9tYW5hZ2UvLiokfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vYW9nX2hvd3RvfF5odHRwczovL3d3d1xcLmdzdGF0aWNcXC5jb20vbmFycmF0aXZlX2Nhc3RfcmVjZWl2ZXIvbmV3c3xeaHR0cHM/Oi8vKChbQS1aYS16MC05LV17MSw2M31cXC4pKihpbWFzZGtcXC5nb29nbGVhcGlzXFwuY29tfGNvcnBcXC5nb29nbGVcXC5jb218cHJveHlcXC5nb29nbGVwcm9kXFwuY29tfGNcXC5nb29nbGVyc1xcLmNvbXxwcm94eVxcLmdvb2dsZXJzXFwuY29tfGJvcmdcXC5nb29nbGVcXC5jb218ZG9jc1xcLmdvb2dsZVxcLmNvbXxkcml2ZVxcLmdvb2dsZVxcLmNvbXxnb29nbGVhZHNcXC5nXFwuZG91YmxlY2xpY2tcXC5uZXR8Z29vZ2xlcGxleFxcLmNvbXxwbGF5XFwuZ29vZ2xlXFwuY29tfHByb2RcXC5nb29nbGVcXC5jb218cGhvdG9zXFwuZ29vZ2xlXFwuY29tfGdldFxcLmdvb2dsZVxcLmNvbXxibG9nZ2VyXFwuY29tfG1haWxcXC5nb29nbGVcXC5jb218c3VydmV5XFwuZ1xcLmRvdWJsZWNsaWNrXFwubmV0fHlvdXR1YmVcXC5jb218eW91dHViZVxcLmdvb2dsZWFwaXNcXC5jb218eW91dHViZWVkdWNhdGlvblxcLmNvbXx5b3V0dWJlXFwtbm9jb29raWVcXC5jb218eXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218eW91dHViZWtpZHNcXC5jb218dmV2b1xcLmNvbXxjaGF0XFwuZ29vZ2xlXFwuY29tfG1lZXRcXC5nb29nbGVcXC5jb218YXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb20pWy5dPyg6WzAtOV0rKT8oL3wkKXwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSooc2FuZGJveFxcLmdvb2dsZVxcLmNvbSkoOlswLTldKyk/KC8oPyF1cmxcXGIpfCQpfCh3d3dcXC58ZW5jcnlwdGVkXFwuKT9nb29nbGVcXC4oY2F0fGNvbShcXC4oYVtmZ2lydV18YltkaG5vcnpdfGNbb3V5XXxkb3xlW2NndF18Zmp8Z1toaXRdfGhrfGptfGtofGt3fGxbYmN5XXxtW210eHldfG5bYWZnaXBdfG9tfHBbYWVnaGtyeV18cWF8c1thYmdsdl18dFtqbnJ3XXx1YXx1eXx2Y3x2bikpP3xhW2NkZWxtc3R6XXxjW2FjZGZnaGlsbW52el18YlthZWZnaWpzdHldfGVlfGVzfGRbZWprbXpdfGdbYWVmZ2xtcHJ5XXxmW2ltcl18aVtlbW9xcnN0XXxoW25ydHVdfGtbZ2l6XXxqZXxqb3xtW2RlZ2tsbnN1dnddfGxbYWlrdHV2XXxuW2Vsb3J1XXxwW2xuc3RdfHNbY2VoaWttbm9ydF18cltvc3V3XXx1c3x0W2Rna2xtbm90XXx3c3x2Z3x2dXxjb1xcLihhb3xid3xja3xjcnxpW2Rsbl18anB8a2V8a3J8bHN8bWF8bXp8bnp8dGh8dHp8dVtna3pdfHZlfHZpfHpbYW13XSkpLyhzZWFyY2h8d2ViaHApXFw/fCh3d3dcXC58ZW5jcnlwdGVkXFwuKWdvb2dsZVxcLihjYXR8Y29tKFxcLihhW2ZnaXJ1XXxiW2Robm9yel18Y1tvdXldfGRvfGVbY2d0XXxmanxnW2hpdF18aGt8am18a2h8a3d8bFtiY3ldfG1bbXR4eV18blthZmdpcF18b218cFthZWdoa3J5XXxxYXxzW2FiZ2x2XXx0W2pucnddfHVhfHV5fHZjfHZuKSk/fGFbY2RlbG1zdHpdfGNbYWNkZmdoaWxtbnZ6XXxiW2FlZmdpanN0eV18ZWV8ZXN8ZFtlamttel18Z1thZWZnbG1wcnldfGZbaW1yXXxpW2Vtb3Fyc3RdfGhbbnJ0dV18a1tnaXpdfGplfGpvfG1bZGVna2xuc3V2d118bFthaWt0dXZdfG5bZWxvcnVdfHBbbG5zdF18c1tjZWhpa21ub3J0XXxyW29zdXddfHVzfHRbZGdrbG1ub3RdfHdzfHZnfHZ1fGNvXFwuKGFvfGJ3fGNrfGNyfGlbZGxuXXxqcHxrZXxrcnxsc3xtYXxtenxuenx0aHx0enx1W2drel18dmV8dml8elthbXddKSkvPyR8bGlnaHRib3gtKGRlbW9zfGJ1aWxkZXIpXFwuYXBwc3BvdFxcLmNvbS98czBcXC4ybWRuXFwubmV0L2luc3RyZWFtL2h0bWw1L25hdGl2ZS98c1swMV0ocWEpP1xcLjJtZG5cXC5uZXQvYWRzL3JpY2htZWRpYS9zdHVkaW8vbXUvdGVtcGxhdGVzL3RldHJpc3x3d3dcXC5nc3RhdGljXFwuY29tL2RvdWJsZWNsaWNrL3N0dWRpby9pbm5vdmF0aW9uL2g1L2xheW91dHMvdGV0cmlzKSIpLApWNGk9UmVnRXhwKCJeaHR0cHM/Oi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGN1cnJlbnRzXFwuZ29vZ2xlXFwuY29tKVsuXT8oOlswLTldKyk/KC98JCkiKSxjWlM9UmVnRXhwKCJeKGh0dHBzOi8vcGxheVxcLmdvb2dsZVxcLmNvbXxodHRwczovL3Bob3Rvc1xcLmdvb2dsZVxcLmNvbXxodHRwczovL2dldFxcLmdvb2dsZVxcLmNvbXxodHRwczovL21haWxcXC5nb29nbGVcXC5jb218aHR0cHM6Ly95dFxcLXdlYlxcLWVtYmVkZGVkXFwtcGxheWVyXFwuYXBwc3BvdFxcLmNvbXxodHRwOi8veXRcXC13ZWJcXC1lbWJlZGRlZFxcLXBsYXllclxcLmFwcHNwb3RcXC5jb218aHR0cHM6Ly9jaGF0XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vb25lXFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYXJ0c2FuZGN1bHR1cmVcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHN0cmFuc3BhcmVuY3lcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHNcXC5nb29nbGVcXC5jb218aHR0cHM6Ly9hZHdvcmRzXFwuY29ycFxcLmdvb2dsZVxcLmNvbXxodHRwczovL2Fkc1xcLWV4dGVybmFsXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWRzXFwtcHJvZFxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vYWR3b3Jkc1xcLWNhbmFyeVxcLnFhXFwuYWR6XFwuZ29vZ2xlXFwuY29tfGh0dHBzOi8vY2FuYXJ5XFwucWFcXC5hZHpcXC5nb29nbGVcXC5jb20pJHxeaHR0cDovL1swLTldK1xcLlthLXowLTlcXC1fXStcXC5bYS16MC05XFwtX10rXFwuW2EtejAtOVxcLV9dK1xcLihbYS16XXsyfXxpKVxcLmJvcmdcXC5nb29nbGVcXC5jb20oOlswLTldKyk/JHxeaHR0cHM6Ly8oKGF1dG9wdXNofGJldGEtbG9va3VwfGRhaWx5LVswLTZdfG1hbnVhbC1xdWFsfHByZXByb2R8c3RyZWFtKVxcLik/bWVldFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKGNyb3dkc291cmNlfGRhdGFjb21wdXRlKVxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikqKHlvdXR1YmV8eW91dHViZWtpZHN8eW91dHViZWVkdWNhdGlvbilcXC5jb20kfF5odHRwczovLyhbQS1aYS16MC05LV17MSw2M31cXC4pK2RlbW9zXFwuY29ycFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc2FuZGJveFxcLmdvb2dsZVxcLmNvbSR8Xmh0dHBzOi8vKFtBLVphLXowLTktXXsxLDYzfVxcLikrc3NscHJveHlcXC5jb3JwXFwuZ29vZ2xlXFwuY29tJHxeaHR0cHM6Ly8oYm9va3N8cGxheS1ib29rcy0oYXV0b3B1c2h8aW50ZXJuYWx8cHJlcHJvZHxzdGFnaW5nKSgtc2FuZGJveHxcXC5jb3JwKSlcXC5nb29nbGV1c2VyY29udGVudFxcLmNvbSR8Xmh0dHBzOi8vKGRyYWZ0fHd3d3wod3d3XFwuKT9kZXZcXC5zYW5kYm94fCh3d3dcXC4pP2F1dG9wdXNoXFwuc2FuZGJveHwod3d3XFwuKT9zdGFnaW5nXFwuc2FuZGJveHwod3d3XFwuKT9yZXN0b3JlXFwuc2FuZGJveClcXC5ibG9nZ2VyXFwuY29tJHxeaHR0cHM6Ly9bMC05YS1mXXsxLDYzfVxcLnByb3h5XFwuZ29vZ2xlcHJvZFxcLmNvbSR8Xmh0dHBzOi8vbG9jYWxob3N0XFwuZ29vZ2xldXNlcmNvbnRlbnRcXC5jb20oOlxcZCspPyR8Xmh0dHBzPzovLygoKGRvY3N8bXxzaW5nfHNzfHNzc3x3d3cpXFwuKT9kcml2ZVxcLmdvb2dsZVxcLmNvbSR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY1xcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KFtBLVphLXowLTktXXsxLDYzfVxcLikqY29ycFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfChbQS1aYS16MC05LV17MSw2M31cXC4pKmdvb2dsZXBsZXhcXC5jb20oOlswLTldKyk/JHwoW0EtWmEtejAtOS1dezEsNjN9XFwuKSpwcm94eVxcLmdvb2dsZXJzXFwuY29tKDpbMC05XSspPyR8KHd3d1xcLnxlbmNyeXB0ZWRcXC4pZ29vZ2xlXFwuKGNhdHxjb20oXFwuKGFbZmdpcnVdfGJbZGhub3J6XXxjW291eV18ZG98ZVtjZ3RdfGZqfGdbaGl0XXxoa3xqbXxraHxrd3xsW2JjeV18bVttdHh5XXxuW2FmZ2lwXXxvbXxwW2FlZ2hrcnldfHFhfHNbYWJnbHZdfHRbam5yd118dWF8dXl8dmN8dm4pKT98YVtjZGVsbXN0el18Y1thY2RmZ2hpbG1udnpdfGJbYWVmZ2lqc3R5XXxlZXxlc3xkW2Vqa216XXxnW2FlZmdsbXByeV18ZltpbXJdfGlbZW1vcXJzdF18aFtucnR1XXxrW2dpel18amV8am98bVtkZWdrbG5zdXZ3XXxsW2Fpa3R1dl18bltlbG9ydV18cFtsbnN0XXxzW2NlaGlrbW5vcnRdfHJbb3N1d118dXN8dFtkZ2tsbW5vdF18d3N8dmd8dnV8Y29cXC4oYW98Ynd8Y2t8Y3J8aVtkbG5dfGpwfGtlfGtyfGxzfG1hfG16fG56fHRofHR6fHVbZ2t6XXx2ZXx2aXx6W2Ftd10pKS8/JHxbQS1aYS16MC05LV0rXFwucHJvZFxcLmdvb2dsZVxcLmNvbSg6WzAtOV0rKT8kfGRvY3NcXC5nb29nbGVcXC5jb20kKSIpLAphSFU9UmVnRXhwKCJeKGh0dHBzOi8vY3VycmVudHNcXC5nb29nbGVcXC5jb20pJCIpO3ZhciBkUD0hMTtnLndaPWNsYXNze2NvbnN0cnVjdG9yKG4sVz0hMSl7dGhpc1tJWzE3XV09bjt0aGlzW0lbOV1dPVc7dGhpc1tJWzM5XV09dGhpc1tJWzI4XV09dGhpc1tJWzI2XV09SVsyMV07dGhpc1tJWzFdXT17fTt0aGlzW0lbMjldXT1JWzIxXX1zZXQobixXKXt0aGlzW0lbMV1dW25dIT09VyYmKHRoaXNbSVsxXV1bbl09Vyx0aGlzW0lbMjldXT1JWzIxXSl9Z2V0KG4pe2VYKDE0LDcyMTMsdGhpcyk7cmV0dXJuIHRoaXNbSVsxXV1bbl18fG51bGx9V0QoKXt0aGlzW0lbMjldXXx8KHRoaXNbSVsyOV1dPUVjKDYsMjk5OCx0aGlzKSk7cmV0dXJuIHRoaXNbSVsyOV1dfWNsb25lKCl7dmFyIG49bmV3IGcud1oodGhpc1tJWzE3XV0sdGhpc1tJWzldXSk7bltJWzI2XV09dGhpc1tJWzI2XV07bltJWzI4XV09dGhpc1tJWzI4XV07bltJWzM5XV09dGhpc1tJWzM5XV07bltJWzFdXT1nLnMwKHRoaXNbSVsxXV0pO25bSVsyOV1dPXRoaXNbSVsyOV1dO3JldHVybiBufX07dmFyIEpaPXtGQUlSUExBWToiZmFpcnBsYXkiLFBMQVlSRUFEWToicGxheXJlYWR5IixXSURFVklORToid2lkZXZpbmUiLENMRUFSS0VZOm51bGwsRkxBU0hBQ0NFU1M6bnVsbCxVTktOT1dOOm51bGwsV0lERVZJTkVfQ0xBU1NJQzpudWxsfTt2YXIgd1A9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0hMSl7dGhpcy5uYW1lPW47dGhpcy5pZD1XO3RoaXMuaXNEZWZhdWx0PUQ7dGhpcy5pc0F1dG9EdWJiZWQ9Yn1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1nZXRJZCgpe3JldHVybiB0aGlzLmlkfWdldElzRGVmYXVsdCgpe3JldHVybiB0aGlzLmlzRGVmYXVsdH1nZXRJc0F1dG9EdWJiZWQoKXtyZXR1cm4gdGhpcy5pc0F1dG9EdWJiZWR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5uYW1lfX07d1AucHJvdG90eXBlLmdldE5hbWU9d1AucHJvdG90eXBlLmdldE5hbWU7d1AucHJvdG90eXBlLmdldElkPXdQLnByb3RvdHlwZS5nZXRJZDt3UC5wcm90b3R5cGUuZ2V0SXNEZWZhdWx0PXdQLnByb3RvdHlwZS5nZXRJc0RlZmF1bHQ7d1AucHJvdG90eXBlLmdldElzQXV0b0R1YmJlZD13UC5wcm90b3R5cGUuZ2V0SXNBdXRvRHViYmVkO2cuUXc9Y2xhc3N7Y29uc3RydWN0b3Iobj17fSl7dGhpcy5sYW5ndWFnZUNvZGU9bi5sYW5ndWFnZUNvZGV8fCIiO3RoaXMubGFuZ3VhZ2VOYW1lPW4ubGFuZ3VhZ2VOYW1lfHxudWxsO3RoaXMua2luZD1uLmtpbmR8fCIiO3RoaXMubmFtZT1uLm5hbWU9PT12b2lkIDA/bnVsbDpuLm5hbWU7dGhpcy5kaXNwbGF5TmFtZT1uLmRpc3BsYXlOYW1lfHxudWxsO3RoaXMuaWQ9bi5pZHx8bnVsbDt0aGlzLk49bi5pc19zZXJ2YWJsZXx8ITE7dGhpcy5pc1RyYW5zbGF0ZWFibGU9bi5pc190cmFuc2xhdGVhYmxlfHwhMTt0aGlzLnVybD1uLnVybHx8bnVsbDt0aGlzLnZzc0lkPW4udnNzX2lkfHwiIjt0aGlzLmlzRGVmYXVsdD1uLmlzX2RlZmF1bHR8fCExO3RoaXMudHJhbnNsYXRpb25MYW5ndWFnZT1uLnRyYW5zbGF0aW9uTGFuZ3VhZ2V8fG51bGw7dGhpcy54dGFncz1uLnh0YWdzfHwiIjt0aGlzLmNhcHRpb25JZD1uLmNhcHRpb25JZHx8IiJ9Z2V0SWQoKXtyZXR1cm4gdGhpcy5pZH1nZXROYW1lKCl7cmV0dXJuIHRoaXMubmFtZX1pc1NlcnZhYmxlKCl7cmV0dXJuIHRoaXMuTn1XRCgpe3JldHVybiB0aGlzLnVybH1nZXRYdGFncygpe3JldHVybiB0aGlzLnh0YWdzfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMubGFuZ3VhZ2VDb2RlKwoiOiAiK2cuY24odGhpcykrIiAtICIrdGhpcy52c3NJZCsiIC0gIisodGhpcy5jYXB0aW9uSWR8fCIiKX1lcXVhbHMobil7cmV0dXJuIG4/dGhpcy50b1N0cmluZygpPT09bi50b1N0cmluZygpOiExfU9WKCl7cmV0dXJuISghdGhpcy5sYW5ndWFnZUNvZGV8fHRoaXMudHJhbnNsYXRpb25MYW5ndWFnZSYmIXRoaXMudHJhbnNsYXRpb25MYW5ndWFnZS5sYW5ndWFnZUNvZGUpfX07dmFyIFdBPWNsYXNze2NvbnN0cnVjdG9yKG4sVyl7dGhpcy5pZD1uO3RoaXMua1o9Vzt0aGlzLmNhcHRpb25UcmFja3M9W107dGhpcy5XPXRoaXMuWD1udWxsO3RoaXMueHRhZ3M9IiI7dGhpcy5WPXRoaXMuaj0hMTt0aGlzLk49bnVsbDt0aGlzLko9IlVOS05PV04iO3RoaXMuY2FwdGlvbnNJbml0aWFsU3RhdGU9IkNBUFRJT05TX0lOSVRJQUxfU1RBVEVfVU5LTk9XTiI7bj10aGlzLmtaLmlkLnNwbGl0KCIuIik7bi5sZW5ndGg+MSYmKHRoaXMuaj1uWzFdPT09IjIiLHRoaXMuVj1uWzFdPT09IjQiKX1nZXRMYW5ndWFnZUluZm8oKXtyZXR1cm4gdGhpcy5rWn1nZXRYdGFncygpe2lmKCF0aGlzLnh0YWdzKXtsZXQgbj10aGlzLmlkLnNwbGl0KCI7Iik7bi5sZW5ndGg+MSYmKHRoaXMueHRhZ3M9blsxXSl9cmV0dXJuIHRoaXMueHRhZ3N9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5rWi5uYW1lfWlzQXV0b0R1YmJlZCgpe3JldHVybiB0aGlzLmtaLmdldElzQXV0b0R1YmJlZCgpfX07CldBLnByb3RvdHlwZS5nZXRMYW5ndWFnZUluZm89V0EucHJvdG90eXBlLmdldExhbmd1YWdlSW5mbztXQS5wcm90b3R5cGUuaXNBdXRvRHViYmVkPVdBLnByb3RvdHlwZS5pc0F1dG9EdWJiZWQ7dmFyIGIzPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdj0wKXt0aGlzLko9bjt0aGlzLk49Vzt0aGlzLlc9RDt0aGlzLnJlYXNvbj1iO3RoaXMuTnM9dn1lcXVhbHMobil7cmV0dXJuIHRoaXMuSj09PW4uSiYmdGhpcy5OPT09bi5OJiZ0aGlzLlc9PT1uLlcmJnRoaXMucmVhc29uPT09bi5yZWFzb24mJighaFR8fHRoaXMuTnM9PT1uLk5zKX1pc0xvY2tlZCgpe3JldHVybiB0aGlzLlcmJiEhdGhpcy5KJiZ0aGlzLko9PT10aGlzLk59Y29tcG9zZShuKXtpZihuLlcmJnhKKG4pKXJldHVybiBZWjtpZihuLld8fHhKKHRoaXMpKXJldHVybiBuO2lmKHRoaXMuV3x8eEoobikpcmV0dXJuIHRoaXM7dmFyIFc9dGhpcy5KJiZuLko/TWF0aC5tYXgodGhpcy5KLG4uSik6dGhpcy5KfHxuLkosRD10aGlzLk4mJm4uTj9NYXRoLm1pbih0aGlzLk4sbi5OKTp0aGlzLk58fG4uTjtXPU1hdGgubWluKFcsRCk7dmFyIGI9MDtoVCYmKGI9dGhpcy5OcyE9PTAmJm4uTnMhPT0wP01hdGgubWluKHRoaXMuTnMsCm4uTnMpOnRoaXMuTnM9PT0wP24uTnM6dGhpcy5Ocyk7cmV0dXJuIGhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OJiZiPT09dGhpcy5Oc3x8IWhUJiZXPT09dGhpcy5KJiZEPT09dGhpcy5OP3RoaXM6aFQ/bmV3IGIzKFcsRCwhMSxEPT09dGhpcy5OJiZiPT09dGhpcy5Ocz90aGlzLnJlYXNvbjpuLnJlYXNvbixiKTpuZXcgYjMoVyxELCExLEQ9PT10aGlzLk4/dGhpcy5yZWFzb246bi5yZWFzb24pfVgobil7cmV0dXJuIW4udmlkZW98fGhUJiZ0aGlzLk5zIT09MCYmdGhpcy5OczxuLk5zPyExOmdGKHRoaXMsbi52aWRlby5xdWFsaXR5KX19LG5oVT12QSgiYXV0byIsImhkMTA4MCIsITEsImwiKSxUOD12QSgiYXV0byIsImxhcmdlIiwhMSwibCIpLFlaPXZBKCJhdXRvIiwiYXV0byIsITEsInAiKSxoVD0hMTt2YXIgcGc9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy52aWRlb0luZm9zPW47dGhpcy5KPVc7dGhpcy5hdWRpb1RyYWNrcz1bXTt0aGlzLlc9Ynx8W107aWYodGhpcy5KKXtuPW5ldyBTZXQ7RD8uKHthaW5mb2xlbjp0aGlzLkoubGVuZ3RofSk7Zm9yKGxldCB2IG9mIHRoaXMuSil7aWYoIXYua1p8fG4uaGFzKHYua1ouaWQpKXtEPy4oe2F0a2VycjohIXYua1osaXRhZzp2Lml0YWcseHRhZzp2LkosbGFuZzp2LmtaPy5uYW1lfHwiIixsYW5naWQ6di5rWj8uaWR8fCIifSk7Y29udGludWV9Vz1uZXcgV0Eodi5pZCx2LmtaKTtuLmFkZCh2LmtaLmlkKTt0aGlzLmF1ZGlvVHJhY2tzLnB1c2goVyl9RD8uKHthdGtsZW46dGhpcy5hdWRpb1RyYWNrcy5sZW5ndGh9KX19Y1kobil7bj1ufHxZWjt2YXIgVz1nLkVNKHRoaXMudmlkZW9JbmZvcyx2PT5uLlgodikpLEQ9W10sYj17fTsKZm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPVdbdl0udmlkZW87YltrLnF1YWxpdHldfHwoRC5wdXNoKGspLGJbay5xdWFsaXR5XT0hMCl9cmV0dXJuIER9TnEobil7bj1ufHxZWjtyZXR1cm4gZy5FTSh0aGlzLnZpZGVvSW5mb3MsVz0+bi5YKFcpKX1nZXRBdmFpbGFibGVBdWRpb1RyYWNrcygpe3JldHVybiB0aGlzLmF1ZGlvVHJhY2tzfU4oKXtyZXR1cm4hIXRoaXMuSn19O3ZhciBBSFM9bmV3IFNldChbIjM1NiIsIjcyMSJdKSxXVnI9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLko9bnVsbDt0aGlzLk49bmV3IE1hcH1tQSgpe3N1cGVyLm1BKCl9fTt2YXIgUjQ9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSl7dGhpcy5qJD1uO3RoaXMuc3RhcnRUaW1lPVc7dGhpcy5kdXJhdGlvbj1EO3RoaXMuaW5nZXN0aW9uVGltZT1iO3RoaXMuc291cmNlVVJMPXY7dGhpcy5mZj1MO3RoaXMuUU89ZTt0aGlzLmVuZFRpbWU9VytEO3RoaXMuTj1ofHwwO3RoaXMucmFuZ2U9a3x8bnVsbDt0aGlzLnBlbmRpbmc9eHx8ITE7dGhpcy5mZj1MfHxudWxsfX07Zy5qYz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc2VnbWVudHM9W107dGhpcy5KPW51bGw7dGhpcy5ZPSEwO3RoaXMuSz0iIn1qKG4pe3RoaXMuc2VnbWVudHMucHVzaChuKX1NSShuKXtyZXR1cm4hIXRoaXMuVyhuKX1nZXREdXJhdGlvbihuKXtyZXR1cm4obj10aGlzLlcobikpP24uZHVyYXRpb246MH1EKG4pe3JldHVybiB0aGlzLmdldER1cmF0aW9uKG4pfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1swXS5qJDotMX1oQyhuKXtyZXR1cm4obj10aGlzLlcobikpP24uaW5nZXN0aW9uVGltZTpOYU59eCQoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJDotMX1xZShuKXtyZXR1cm4gdGhpcy54JCgpPT09biYmIXRoaXMuWSYmbj49MH1iUSgpe3ZhciBuPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07cmV0dXJuIG4/bi5lbmRUaW1lOgpOYU59TGYoKXtyZXR1cm4gdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWV9SDcoKXtyZXR1cm4gdGhpcy5zZWdtZW50cy5sZW5ndGh9Tigpe3JldHVybiAwfVIzKG4pe3JldHVybihuPXRoaXMuWChuKSk/bi5qJDotMX1WKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zb3VyY2VVUkw6IiJ9Z2V0U3RhcnRUaW1lKG4pe3JldHVybihuPXRoaXMuVyhuKSk/bi5zdGFydFRpbWU6MH1qRShuKXtyZXR1cm4gdGhpcy5nZXRTdGFydFRpbWUobikrdGhpcy5nZXREdXJhdGlvbihuKX1pc0xvYWRlZCgpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD4wfVcobil7aWYodGhpcy5KJiZ0aGlzLkouaiQ9PT1uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMsbmV3IFI0KG4sMCwwLDAsIiIpLChXLEQpPT5XLmokLUQuaiQpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTpudWxsfVgobil7aWYodGhpcy5KJiZ0aGlzLkouc3RhcnRUaW1lPD1uJiZuPHRoaXMuSi5zdGFydFRpbWUrdGhpcy5KLmR1cmF0aW9uKXJldHVybiB0aGlzLko7bj1nLlc0KHRoaXMuc2VnbWVudHMse3N0YXJ0VGltZTpufSwoVyxEKT0+Vy5zdGFydFRpbWUtRC5zdGFydFRpbWUpOwpyZXR1cm4gdGhpcy5KPW4+PTA/dGhpcy5zZWdtZW50c1tuXTp0aGlzLnNlZ21lbnRzW01hdGgubWF4KDAsLW4tMildfWFwcGVuZChuKXtpZihuLmxlbmd0aClpZihuPWcuUk0obiksdGhpcy5zZWdtZW50cy5sZW5ndGgpe3ZhciBXPXRoaXMuc2VnbWVudHMubGVuZ3RoP2cuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZTowLEQ9blswXS5qJC10aGlzLngkKCk7RD4xJiZnLkNiKHRoaXMuc2VnbWVudHMpO0Q9RD4wPzA6LUQrMTtmb3IobGV0IGI9RDtiPG4ubGVuZ3RoO2IrKylEPW5bYl0sRC5zdGFydFRpbWU9VyxELmVuZFRpbWU9RC5zdGFydFRpbWUrRC5kdXJhdGlvbixXKz1uW2JdLmR1cmF0aW9uLHRoaXMuc2VnbWVudHMucHVzaChuW2JdKX1lbHNlIHRoaXMuc2VnbWVudHM9bn1YZCgpe3JldHVybiAwfXR3KG4sVyl7dGhpcy5ZPW47dGhpcy5LPVd9fTtnLmpjLnByb3RvdHlwZS5VNz1XWigzKTt2YXIgRF89Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2PSExKXt0aGlzLmRhdGE9bjt0aGlzLm9mZnNldD1XO3RoaXMuc2l6ZT1EO3RoaXMudHlwZT1iO3RoaXMuTj0odGhpcy5KPXYpPzA6ODt0aGlzLmRhdGFPZmZzZXQ9dGhpcy5vZmZzZXQrdGhpcy5OfXNraXAobil7dGhpcy5OKz1ufX07dmFyIE9LdD1jbGFzc3tjb25zdHJ1Y3RvcihuKXt0aGlzLm9mZnNldD0wO3RoaXMuZGF0YT1uZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKG4pKX19O3ZhciBEVmk7Zy5sMz1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiLHYsayxoKXt0aGlzLnN0YXJ0U2Vjcz1uO3RoaXMuQ2Y9Vzt0aGlzLmNvbnRleHQ9RDt0aGlzLmlkZW50aWZpZXI9Yjt0aGlzLmV2ZW50PXY7dGhpcy5OPWs7dGhpcy50aWxlQ29udGV4dD1ofX07RFZpPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxEKXt0aGlzLlBCPW47dGhpcy5vcHBvcnR1bml0eUlkPVc7dGhpcy5zZXJpYWxpemVkUHJlZmV0Y2hDb250ZXh0PUR9fTt2YXIgYk5VPXtwcmVkaWN0U3RhcnQ6InByZWRpY3RTdGFydCIsc3RhcnQ6InN0YXJ0IixbImNvbnRpbnVlIl06ImNvbnRpbnVlIixzdG9wOiJzdG9wIixwcmVmZXRjaDoicHJlZmV0Y2gifSxtNWo9e0VWRU5UX1BSRURJQ1RfU1RBUlQ6InByZWRpY3RTdGFydCIsRVZFTlRfU1RBUlQ6InN0YXJ0IixFVkVOVF9DT05USU5VRToiY29udGludWUiLEVWRU5UX1NUT1A6InN0b3AiLEVWRU5UX1BSRUZFVENIOiJwcmVmZXRjaCJ9O3ZhciBYNT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuZGF0YT1uO3RoaXMudXJpPVd8fCJodHRwOi8veW91dHViZS5jb20vc3RyZWFtaW5nL21ldGFkYXRhL3NlZ21lbnQvMTAyMDE1Ijt0aGlzLnNlZ21lbnROdW1iZXI9el8odGhpcywiU2VxdWVuY2UtTnVtYmVyIik7dGhpcy5qPXpfKHRoaXMsIlNlZ21lbnQtQ291bnQiKTt0aGlzLks9dGhpcy5kYXRhWyJTZWdtZW50LUR1cmF0aW9ucy1NcyJdfHwiIjt0aGlzLmluZ2VzdGlvblRpbWU9el8odGhpcywiSW5nZXN0aW9uLVdhbGx0aW1lLVVzIikvMUU2O3RoaXMuVz0oel8odGhpcywiRmlyc3QtRnJhbWUtVGltZS1VcyIpK3pfKHRoaXMsIkZpcnN0LUZyYW1lLVVuY2VydGFpbnR5LVVzIikpLzFFNjt0aGlzLnJiPXpfKHRoaXMsIlRhcmdldC1EdXJhdGlvbi1VcyIpLzFFNjt0aGlzLlY9dGhpcy5kYXRhWyJTdHJlYW0tRmluaXNoZWQiXT09PSJUIjt0aGlzLmlzU3RyZWFtaW5nPXRoaXMuZGF0YS5TdHJlYW1hYmxlPT09IlQiO3RoaXMuY3J5cHRvUGVyaW9kSW5kZXg9CnpfKHRoaXMsIkNyeXB0by1QZXJpb2QtSW5kZXgiKTt0aGlzLlg9el8odGhpcywiQ3J5cHRvLVBlcmlvZC1TZWNvbmRzIik7dGhpcy5OPSJDdXJyZW50LUFic29sdXRlLUxvdWRuZXNzLUxrZnMiaW4gdGhpcy5kYXRhP051bWJlcih0aGlzLmRhdGFbIkN1cnJlbnQtQWJzb2x1dGUtTG91ZG5lc3MtTGtmcyJdKXx8MDpudWxsfUooKXtyZXR1cm4gdGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1DcG4iXT90aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUNwbiJdLnNwbGl0KCIsIikuc2xpY2UoMCwtMSk6W119ZksoKXtyZXR1cm4hISh0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUlkIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tQ3BuIl18fHRoaXMuZGF0YVsiU3RpdGNoZWQtVmlkZW8tRHVyYXRpb24tVXMiXXx8dGhpcy5kYXRhWyJTdGl0Y2hlZC1WaWRlby1TdGFydC1GcmFtZS1JbmRleCJdfHx0aGlzLmRhdGFbIlN0aXRjaGVkLVZpZGVvLUFic29sdXRlLUxvdWRuZXNzLUxrZnMiXXx8CnRoaXMuZGF0YVsiU2VyaWFsaXplZC1TdGF0ZSJdfHx0aGlzLmRhdGFbIklzLUFkLUJyZWFrLUZpbmlzaGVkIl0pfX07dmFyIFJlaD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMuZHVyYXRpb249V319O3ZhciAkOHg9e1NURVJFT19MQVlPVVRfVU5LTk9XTjowLFNURVJFT19MQVlPVVRfTEVGVF9SSUdIVDoxLFNURVJFT19MQVlPVVRfVE9QX0JPVFRPTToyfTt2YXIgaFk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2KXt0aGlzLko9djt0aGlzLk49bnx8MDt0aGlzLnBpdGNoPVd8fDA7dGhpcy55YXc9RHx8MDt0aGlzLnJvbGw9Ynx8MDt2LmdldFVpbnQzMig0KX19O3ZhciB0WT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuTj1uO3RoaXMucG9zPTA7dGhpcy5zdGFydD1XfHwwfU9KKCl7dmFyIG49dGhpcy5wb3M7dGhpcy5wb3M9MDt2YXIgVz0hMTt0cnl7c1kodGhpcyw0NDA3ODY4NTEpJiYodGhpcy5wb3M9MCxzWSh0aGlzLDQwODEyNTU0MykmJihXPSEwKSl9Y2F0Y2goRCl7aWYoRCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpdGhpcy5wb3M9MCxXPSExLGcuR3EoRCk7ZWxzZSB0aHJvdyBEO310aGlzLnBvcz1uO3JldHVybiBXfX07dmFyIENzPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuQU89bjt0aGlzLk49e307dGhpcy51cmw9IiJ9c2V0KG4sVyl7dGhpcy5BTy5nZXQobik7dGhpcy5OW25dPVc7dGhpcy51cmw9IiJ9Z2V0KG4pe3JldHVybiB0aGlzLk5bbl18fHRoaXMuQU8uZ2V0KG4pfVdEKCl7dGhpcy51cmx8fCh0aGlzLnVybD1pS1UodGhpcykpO3JldHVybiB0aGlzLnVybH19O3ZhciB1VGk9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLko9dGhpcy5YPXRoaXMuVz10aGlzLk49dGhpcy50aW1lZE91dD10aGlzLnN0YXJ0ZWQ9dGhpcy5WPXRoaXMuaj0wfX07dmFyIHZUPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMuTz10aGlzLkQ9dGhpcy5WPXRoaXMuSj0wO3RoaXMuaj10aGlzLks9ITE7dGhpcy5OPW47dGhpcy5XPW4uY2xvbmUoKX1wUyhuLFcpe3JldHVybiBuLllaP3RoaXMuaj90aGlzLks9ITA6dGhpcy5LPWpQKHRoaXMsbixXKTpqUCh0aGlzLG4sVyl9WShuLFcsRD0wKXtEPjE/bj1uLk1jOihXPVVZKFcsRjUodGhpcyx0aGlzLnBTKG4sVyksbikpLG49TWF0aC5tYXgodGhpcy5WLFcudGltZWRPdXQpK24uVFoqKHRoaXMuSi10aGlzLlYpKy4yNSp0aGlzLkQsbj1uPjM/MUUzKjEuNioqKG4tMyk6MCk7cmV0dXJuIG49PT0wPyEwOnRoaXMuTytuPCgwLGcuUikoKX1jSihuLFcpe3RoaXMuTi5zZXQobixXKTt0aGlzLlcuc2V0KG4sVyk7dGhpcy5YJiZ0aGlzLlguc2V0KG4sVyl9V04oKXtyZXR1cm4gdGhpcy5XLmdldCgiY3BuIil8fCIifVo1KG4sVyl7bi5BTz09PXRoaXMuTiYmKHRoaXMuTj1uWChuLFcpKTtuLkFPPT09dGhpcy5YJiYodGhpcy5YPQpuWChuLFcpKX10dygpe3RoaXMuaj0hMH1yMCgpe3JldHVybiB0aGlzLk4hPT10aGlzLlgmJiF0aGlzLkt9fTt2YXIgQ2o9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5pbml0UmFuZ2U9RDt0aGlzLmluZGV4UmFuZ2U9Yjt0aGlzLko9bnVsbDt0aGlzLmNKPSExO3RoaXMuRkY9MDt0aGlzLlY9dGhpcy5TVT10aGlzLk89bnVsbDt0aGlzLmluZm89Vzt0aGlzLlhiPW5ldyB2VChuKX1OKCl7cmV0dXJuISF0aGlzLkomJnRoaXMuaW5kZXguaXNMb2FkZWQoKX1TJCgpe3JldHVybiExfUdDKG4pe3JldHVybltuXX1WUShuKXtyZXR1cm5bbl19fTt2YXIgYUI9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLnN0YXJ0PW47dGhpcy5lbmQ9Vzt0aGlzLmxlbmd0aD1XLW4rMX10b1N0cmluZygpe3JldHVybiB0aGlzLnN0YXJ0KyItIisodGhpcy5lbmQ9PW51bGw/IiI6dGhpcy5lbmQpfU4oKXtyZXR1cm4gdGhpcy5lbmQ9PW51bGw/e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KX06e3N0YXJ0OlN0cmluZyh0aGlzLnN0YXJ0KSxlbmQ6U3RyaW5nKHRoaXMuZW5kKX19fTt2YXIgcUk9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYj0iIix2LGssaCx4LEwsZSxHLHI9IiIsTixILEEpe3RoaXMudHlwZT1uO3RoaXMuUEo9Vzt0aGlzLnJhbmdlPUQ7dGhpcy5zb3VyY2U9Yjt0aGlzLnZEPUc7dGhpcy5jbGlwSWQ9cjt0aGlzLkQ9Tjt0aGlzLmJkPUg7dGhpcy5yZXF1ZXN0VG9rZW49QTt0aGlzLk89W107dGhpcy5ZPSIiO3RoaXMuaiQ9LTE7dGhpcy50dz0wO3RoaXMuWT1iO3RoaXMuaiQ9dj49MD92Oi0xO3RoaXMuc2VnbWVudFN0YXJ0VGltZT1rfHwwO3RoaXMuVz1ofHwwO3RoaXMuTj14fHwwO3RoaXMuSj1MPj0wP0w6dGhpcy5yYW5nZT90aGlzLnJhbmdlLmxlbmd0aDpOYU47dGhpcy5yYW5nZT8obj10aGlzLk4rdGhpcy5KPT09dGhpcy5yYW5nZS5sZW5ndGgsZT10aGlzLnNvdXJjZT09PSJ3YXNtIj9lPz9uOm4pOmU9ZT09PXZvaWQgMD8hIXRoaXMuSjplO3RoaXMuYVo9ZTt0aGlzLnJhbmdlPyh0aGlzLlg9dGhpcy5zZWdtZW50U3RhcnRUaW1lK3RoaXMuVyoKdGhpcy5OL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuSz10aGlzLlcqdGhpcy5KL3RoaXMucmFuZ2UubGVuZ3RoLHRoaXMuaj10aGlzLlgrdGhpcy5LKTp2Xyh0aGlzKX1WKCl7cmV0dXJuIHRoaXMuYVomJnRoaXMuUEouaW5kZXgucWUodGhpcy5qJCl9a2Yobil7cmV0dXJuIG4+PXRoaXMuWCYmbjw9dGhpcy5qfWlzRW5jcnlwdGVkKCl7cmV0dXJuIHRoaXMuUEouaW5mby5pc0VuY3J5cHRlZCgpfWVxdWFscyhuKXtyZXR1cm4hKCFufHxuLlBKIT09dGhpcy5QSnx8bi50eXBlIT09dGhpcy50eXBlfHwodGhpcy5yYW5nZSYmbi5yYW5nZT9uLnJhbmdlLnN0YXJ0IT09dGhpcy5yYW5nZS5zdGFydHx8bi5yYW5nZS5lbmQhPT10aGlzLnJhbmdlLmVuZDpuLnJhbmdlIT09dGhpcy5yYW5nZSl8fG4uaiQhPT10aGlzLmokfHxuLk4hPT10aGlzLk58fG4uSiE9PXRoaXMuSil9Y0ooKXtyZXR1cm4gdGhpcy50eXBlPT09NH1mWSgpe3JldHVybiEhdGhpcy5QSi5pbmZvLnZpZGVvfVRDKCl7cmV0dXJuIHRoaXMuaiR9Z2EoKXt2YXIgbj0KWHgodGhpcyksVz0iIjtnLmFfKG4sKEQsYik9PntXKz1gJHtifV8ke0R9X2B9KTsKcmV0dXJuIFcuc2xpY2UoMCwtMSl9Y2xvbmUoKXt2YXIgbj1uZXcgcUkodGhpcy50eXBlLHRoaXMuUEosdGhpcy5yYW5nZSx0aGlzLnNvdXJjZSx0aGlzLmokLHRoaXMuc2VnbWVudFN0YXJ0VGltZSx0aGlzLlcsdGhpcy5OLHRoaXMuSix0aGlzLmFaLHRoaXMudkQsdGhpcy5jbGlwSWQsdGhpcy5ELHRoaXMuYmQsdGhpcy5yZXF1ZXN0VG9rZW4pO24uWT10aGlzLlk7dGhpcy5PLmxlbmd0aD4wJiYobi5PPVsuLi50aGlzLk9dKTtuLlg9dGhpcy5YO24uSz10aGlzLks7bi5qPXRoaXMuajtuLnR3PXRoaXMudHc7cmV0dXJuIG59fTt2YXIgd2s9Y2xhc3N7Y29uc3RydWN0b3IobixXKXt0aGlzLkF3PW47dGhpcy5YPXRoaXMuTj1udWxsO3RoaXMuaj10aGlzLlpBPU5hTjt0aGlzLnBTPXRoaXMucmVxdWVzdElkPW51bGw7dGhpcy5YYj1uWzBdLlBKLlhiO3RoaXMuSj1XfHwiIjtpZih0aGlzLkF3WzBdLnJhbmdlJiZ0aGlzLkF3WzBdLko+MCl7YTp7Zm9yKFc9MTtXPG4ubGVuZ3RoO1crKylpZighYlQobltXLTFdLG5bV10pKXtXPSExO2JyZWFrIGF9Vz0hMH1pZihXKXRoaXMucmFuZ2U9ZDV3KG4pLHRoaXMuVz10aGlzLnJhbmdlLmxlbmd0aDtlbHNle3RoaXMucmFuZ2U9dGhpcy5Bd1t0aGlzLkF3Lmxlbmd0aC0xXS5yYW5nZTtXPTA7Zm9yKGxldCBEIG9mIG4pVys9RC5yYW5nZS5sZW5ndGg7dGhpcy5XPVd9fX1ZbCgpe3JldHVybiB0aGlzLk4/dGhpcy5OLldEKCk6IiJ9aXNEZWNvcmF0ZWQoKXtyZXR1cm4hISh0aGlzLk58fHRoaXMuWCYmdGhpcy5YLk15KX1Rbigpe3JldHVybiBoSih0aGlzLkF3WzBdKX1rZihuKXtmb3IobGV0IFcgb2YgdGhpcy5BdylpZihXLnR5cGU9PT0KMyYmVy5rZihuKSlyZXR1cm4hMDtyZXR1cm4hMX1aNShuLFcpe3RoaXMuWGIuWjUobixXKTtpZih0aGlzLk4pe3RoaXMuTj1uWChuLFcpO2ZvcihsZXQgRCBvZlsiYWNwbnMiLCJjcG4iLCJkYWlzdGF0ZSIsInNraXBzcSJdKXRoaXMuTlsic2V0Il0oRCxudWxsKX10aGlzLnJlcXVlc3RJZD1uLmdldCgicmVxX2lkIil9fTt2YXIgZHQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiLHYsaz0wKXtzdXBlcihuLFcsYik7dGhpcy52Sj1EO3RoaXMucmI9azt0aGlzLmluZGV4PXZ8fG5ldyBnLmpjfVcoKXtyZXR1cm4hMX1EKCl7cmV0dXJuITB9VEMoKXtyZXR1cm4hMX1TJCgpe3JldHVybiF0aGlzLnZKfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHRoaXMuaW5pdFJhbmdlLCJnZXRNZXRhZGF0YVJlcXVlc3RJbmZvIildLHRoaXMudkopfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiB0aGlzLkQoKSYmbi5KJiYhbi5hWj9uZXcgd2soW25ldyBxSShuLnR5cGUsbi5QSixuLnJhbmdlLCJsaXZlR2V0TmV4dFJlcXVlc3RJbmZvQnlTZWdtZW50IixuLmokLG4uc2VnbWVudFN0YXJ0VGltZSxuLlcsbi5OK24uSixOYU4sITApXSx0aGlzLmluZGV4LlYobi5qJCkpOnRoaXMuaihnayhuKSwhMSl9SyhuLFc9ITEpe249dGhpcy5pbmRleC5SMyhuKTtXJiYobj1NYXRoLm1pbih0aGlzLmluZGV4LngkKCksCm4rMSkpO3JldHVybiB0aGlzLmoobiwhMCl9RHQobil7RE8obil9WChuKXtyZXR1cm4gbi5KPT09MD8hMDp0aGlzLmluZGV4LngkKCk+bi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9dXBkYXRlKG4sVyxEKXt0aGlzLmluZGV4LmFwcGVuZChuKTtQQSh0aGlzLmluZGV4LEQpO3RoaXMudHcoVywidXBkYXRlIil9Tigpe3JldHVybiB0aGlzLlMkKCk/ITA6c3VwZXIuTigpfWoobixXKXt2YXIgRD10aGlzLmluZGV4LlYobiksYj10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSx2PXRoaXMuaW5kZXguZ2V0RHVyYXRpb24obiksaztXP3Y9az0wOms9dGhpcy5pbmZvLk5zPjA/dGhpcy5pbmZvLk5zKnY6MUUzO3JldHVybiBuZXcgd2soW25ldyBxSSgzLHRoaXMsdm9pZCAwLCJsaXZlQ3JlYXRlUmVxdWVzdEluZm9Gb3JTZWdtZW50IixuLGIsdiwwLGssIVcpXSxEKX1ISigpe3JldHVybiB0aGlzLlMkKCk/MDp0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4hMX10dyhuLFcpe3RoaXMuaW5kZXgudHcobiwKVyl9fTt2YXIgdmhiPWNsYXNze2NvbnN0cnVjdG9yKG4sVyxELGIsdil7dGhpcy5qJD1uO3RoaXMuc3RhcnRTZWNzPVc7dGhpcy5DZj1EO3RoaXMuTj1ifHxOYU47dGhpcy5KPXZ8fE5hTn19O3ZhciBCXz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuTj1bXTt0aGlzLko9bnVsbDt0aGlzLlY9MDt0aGlzLlc9W107dGhpcy5qPSExO3RoaXMuSz0iIjt0aGlzLlg9LTF9dXBkYXRlKG4pe3ZhciBXPXZvaWQgMDt0aGlzLkomJihXPXRoaXMuSik7e2xldCBBPW5ldyBCXzt2YXIgRD1BcnJheS5mcm9tKG4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlMiKSk7aWYoRC5sZW5ndGgpe3ZhciBiPStsVChuLCJ0aW1lc2NhbGUiKXx8MSx2PSgrRFswXS5nZXRBdHRyaWJ1dGUoInQiKXx8MCkvYixrPStsVChuLCJzdGFydE51bWJlciIpfHwwO0EuWD12O3ZhciBoPVc/Vy5zdGFydFNlY3MrVy5DZjowLHg9RGF0ZS5wYXJzZShDeihsVChuLCJ5dDpzZWdtZW50SW5nZXN0VGltZSIpKSkvMUUzO0Euaj1uLnBhcmVudEVsZW1lbnQudGFnTmFtZT09PSJTZWdtZW50VGVtcGxhdGUiO0EuaiYmKEEuSz1sVChuLCJtZWRpYSIpKTtuPVc/ay1XLmokOjE7QS5WPW4+MD8wOi1uKzE7Zm9yKEggb2YgRCl7bj0rSC5nZXRBdHRyaWJ1dGUoImQiKS8KYjtEPSgrSC5nZXRBdHRyaWJ1dGUoInl0OnNpZCIpfHwwKS9iO2xldCB5PStILmdldEF0dHJpYnV0ZSgiciIpfHwwO2ZvcihsZXQgVD0wO1Q8PXk7VCsrKXtpZihXJiZrPD1XLmokKXtrKys7Y29udGludWV9dmFyIEw9bmV3IHZoYihrLGgsbix4K0Qsdik7QS5OLnB1c2goTCk7Yjp7dmFyIGU9SDt2YXIgRz1iLHI9TC5zdGFydFNlY3M7TD1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRUaW1lT2Zmc2V0Iik7dmFyIE49ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50RHVyYXRpb24iKTtpZighTHx8IU4pe2U9bnVsbDticmVhayBifUw9TnVtYmVyKEwpO3I9LUwvRytyO0c9TnVtYmVyKE4pL0c7Tj1lLmdldEF0dHJpYnV0ZSgieXQ6Y3VlcG9pbnRDb250ZXh0Iil8fG51bGw7bGV0IHo9ZS5nZXRBdHRyaWJ1dGUoInl0OmN1ZXBvaW50SWRlbnRpZmllciIpfHwiIjtlPWUuZ2V0QXR0cmlidXRlKCJ5dDpjdWVwb2ludEV2ZW50Iil8fCIiO2U9bmV3IGcubDMocixHLE4seixiTlVbZV18fCJ1bmtub3duIiwKTCl9ZSYmQS5XLnB1c2goZSk7aysrO2grPW47dis9bjt4Kz1uK0R9fUEuTi5sZW5ndGgmJihBLko9Zy5VTShBLk4pKX12YXIgSD1BfXRoaXMuVj1ILlY7dGhpcy5KPUguSnx8dGhpcy5KO2cuUTIodGhpcy5OLEguTik7Zy5RMih0aGlzLlcsSC5XKTt0aGlzLmo9SC5qO3RoaXMuSz1ILks7dGhpcy5YPT09LTEmJih0aGlzLlg9SC5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5YPT09LTE/MDp0aGlzLlh9fTt2YXIga0xDPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5YPVtdO3RoaXMuTj1udWxsO3RoaXMuSj17fTt0aGlzLlc9e319fTt2YXIgZ1M9Y2xhc3MgZXh0ZW5kcyBnLmpje2NvbnN0cnVjdG9yKHtyYjpuPTAsT1Q6Vz0hMSx1YjpEPTAsSXQ6Yj0wLEhQOnY9SW5maW5pdHksdWs6az0wLFhnOmg9ITEsRTM6eD0hMX09e30pe3N1cGVyKCk7dGhpcy5Ebj10aGlzLnFxPS0xO3RoaXMuTzg9bjt0aGlzLnViPUQ7dGhpcy5PVD1XO3RoaXMuSXQ9Yjt0aGlzLkhQPXY7dGhpcy51az1rOygodGhpcy5YZz1oKXx8aXNGaW5pdGUodikmJnRoaXMuSFA+MCkmJlcmJlp1JiZ0aGlzLnR3KCExLCJwb3N0TGl2ZSIpO3RoaXMuRTM9eH1VYygpe3JldHVybiB0aGlzLk84fU1JKG4sVyl7bj1GeCh0aGlzLG4pO3JldHVybiBuPj0wJiYoV3x8IXRoaXMuc2VnbWVudHNbbl0ucGVuZGluZyl9Wk8oKXtyZXR1cm4gdGhpcy5PVD90aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLlgodGhpcy5MZigpKS5qJDotMTpzdXBlci5aTygpfUxmKCl7aWYodGhpcy5YZylyZXR1cm4gMDtpZighdGhpcy5PVClyZXR1cm4gc3VwZXIuTGYoKTtpZighdGhpcy5zZWdtZW50cy5sZW5ndGgpcmV0dXJuIDA7CnZhciBuPU1hdGgubWF4KGcuVU0odGhpcy5zZWdtZW50cykuZW5kVGltZS10aGlzLnViLDApO3JldHVybiB0aGlzLkl0PjAmJnRoaXMuWChuKS5qJDx0aGlzLkl0P3RoaXMuVyh0aGlzLkl0KS5zdGFydFRpbWU6bn1iUSgpe2lmKHRoaXMuRTMmJnRoaXMuRG4mJnRoaXMuRG4+MClyZXR1cm4gdGhpcy5Ebi8xRTM7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBzdXBlci5iUSgpO3ZhciBuPXRoaXMueCQoKTtpZighdGhpcy5PVHx8bjw9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXS5qJCluPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07ZWxzZXt2YXIgVz10aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdO249bmV3IFI0KG4sTWF0aC5tYXgoMCxXLnN0YXJ0VGltZS0oVy5qJC1uKSp0aGlzLk84KSx0aGlzLk84LDAsYHNxLyR7bn1gLHZvaWQgMCx2b2lkIDAsITApfXJldHVybiB0aGlzLlhnP01hdGgubWluKHRoaXMudWIsCm4uZW5kVGltZSk6bi5lbmRUaW1lfUg3KCl7cmV0dXJuIHRoaXMuT1Q/dGhpcy5zZWdtZW50cy5sZW5ndGg/dGhpcy54JCgpLXRoaXMuWk8oKSsxOjA6c3VwZXIuSDcoKX14JCgpe3ZhciBuPU1hdGgubWluKHRoaXMuSFAsTWF0aC5tYXgoc3VwZXIueCQoKSx0aGlzLnFxKSksVz10aGlzLnViKjFFMztXPXRoaXMuRG4+MCYmdGhpcy5EbjxXO3RoaXMuWGcmJnRoaXMudWI+MCYmdGhpcy5xcT4wJiYhVyYmKFc9dGhpcy5YKHRoaXMudWIpKSYmKG49TWF0aC5taW4oVy5qJC0xLG4pKTtyZXR1cm4gbn1PZygpe3JldHVybiB0aGlzLnNlZ21lbnRzLmxlbmd0aD90aGlzLnNlZ21lbnRzW3RoaXMuc2VnbWVudHMubGVuZ3RoLTFdOm51bGx9aihuKXt2YXIgVz1GeCh0aGlzLG4uaiQpO2lmKFc+PTApdGhpcy5zZWdtZW50c1tXXT1uO2Vsc2UgaWYodGhpcy5zZWdtZW50cy5zcGxpY2UoLShXKzEpLDAsbiksdGhpcy51ayYmbi5qJCUoMzAwL3RoaXMuTzgpPT09MCl7dmFyIEQ9dGhpcy5zZWdtZW50c1swXS5qJCwKYj1NYXRoLmZsb29yKHRoaXMudWsvdGhpcy5POCk7bj1uLmokLWI7Vz0tKFcrMSktYjtXPjAmJm4+RCYmKHRoaXMuc2VnbWVudHM9dGhpcy5zZWdtZW50cy5zbGljZShXKSl9fU8obil7bj1GeCh0aGlzLG4pO24+PTAmJnRoaXMuc2VnbWVudHMuc3BsaWNlKG4sMSl9VFgoKXtyZXR1cm4gdGhpcy5xcX1xZShuKXtyZXR1cm4gWnU/IXRoaXMuWSYmbj49MCYmdGhpcy54JCgpPD1uOnN1cGVyLnFlKG4pfVgobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlgobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPXRoaXMuc2VnbWVudHNbdGhpcy5zZWdtZW50cy5sZW5ndGgtMV07aWYobjx0aGlzLnNlZ21lbnRzWzBdLnN0YXJ0VGltZSlXPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5qJC1NYXRoLmNlaWwoKHRoaXMuc2VnbWVudHNbMF0uc3RhcnRUaW1lLW4pL3RoaXMuTzgpKTtlbHNlIGlmKG4+PVcuZW5kVGltZSlXPVcuaiQrTWF0aC5mbG9vcigobi1XLmVuZFRpbWUpLwp0aGlzLk84KzEpO2Vsc2V7Vz1EZSh0aGlzLnNlZ21lbnRzLGI9Pm48Yi5zdGFydFRpbWU/LTE6bj49Yi5lbmRUaW1lPzE6MCk7CmlmKFc+PTApcmV0dXJuIHRoaXMuc2VnbWVudHNbV107dmFyIEQ9LShXKzEpO1c9dGhpcy5zZWdtZW50c1tELTFdO0Q9dGhpcy5zZWdtZW50c1tEXTtXPU1hdGguZmxvb3IoKG4tVy5lbmRUaW1lKS8oKEQuc3RhcnRUaW1lLVcuZW5kVGltZSkvKEQuaiQtVy5qJC0xKSkrMSkrVy5qJH1yZXR1cm4gdGhpcy5XKFcpfVcobil7aWYoIXRoaXMuT1QpcmV0dXJuIHN1cGVyLlcobik7aWYoIXRoaXMuc2VnbWVudHMubGVuZ3RoKXJldHVybiBudWxsO3ZhciBXPUZ4KHRoaXMsbik7aWYoVz49MClyZXR1cm4gdGhpcy5zZWdtZW50c1tXXTt2YXIgRD0tKFcrMSk7Vz10aGlzLk84O2lmKEQ9PT0wKXZhciBiPU1hdGgubWF4KDAsdGhpcy5zZWdtZW50c1swXS5zdGFydFRpbWUtKHRoaXMuc2VnbWVudHNbMF0uaiQtbikqVyk7ZWxzZSBEPT09dGhpcy5zZWdtZW50cy5sZW5ndGg/KGI9dGhpcy5zZWdtZW50c1t0aGlzLnNlZ21lbnRzLmxlbmd0aC0xXSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpOihiPQp0aGlzLnNlZ21lbnRzW0QtMV0sVz10aGlzLnNlZ21lbnRzW0RdLFc9KFcuc3RhcnRUaW1lLWIuZW5kVGltZSkvKFcuaiQtYi5qJC0xKSxiPWIuZW5kVGltZSsobi1iLmokLTEpKlcpO3JldHVybiBuZXcgUjQobixiLFcsMCxgc3EvJHtufWAsdm9pZCAwLHZvaWQgMCwhMCl9fSxadT0hMTt2YXIgV1Q9Y2xhc3MgZXh0ZW5kcyBkdHtjb25zdHJ1Y3RvcihuLFcsRD17fSl7c3VwZXIobixXLCIiLHZvaWQgMCx2b2lkIDAsRC5yYnx8MCk7dGhpcy5pbmRleD1uZXcgZ1MoRCl9VEMoKXtyZXR1cm4hMH1OKCl7cmV0dXJuITB9WChuKXtyZXR1cm4gdGhpcy5EKCkmJm4uSiYmIW4uYVp8fCFuLlBKLmluZGV4LnFlKG4uaiQpfVkoKXt9SyhuLFc9ITEpe3JldHVybiB0eXBlb2YgbiE9PSJudW1iZXIifHxpc0Zpbml0ZShuKT9zdXBlci5LKG4sVyk6bmV3IHdrKFtuZXcgcUkoMyx0aGlzLHZvaWQgMCwibWxMaXZlR2V0UmVxSW5mb1N0dWJGb3JUaW1lIiwtMSx2b2lkIDAsdGhpcy5yYix2b2lkIDAsdGhpcy5yYip0aGlzLmluZm8uTnMpXSwiIil9aihuLFcpe2lmKHRoaXMuaW5kZXguTUkobikpcmV0dXJuIHN1cGVyLmoobixXKTt2YXIgRD10aGlzLmluZGV4LmdldFN0YXJ0VGltZShuKSxiPU1hdGgucm91bmQodGhpcy5yYip0aGlzLmluZm8uTnMpLHY9dGhpcy5yYjtXJiYodj1iPTApO3JldHVybiBuZXcgd2soW25ldyBxSSgzLAp0aGlzLHZvaWQgMCwibWxMaXZlQ3JlYXRlUmVxSW5mb0ZvclNlZyIsbixELHYsdm9pZCAwLGIsIVcpXSxuPj0wP2BzcS8ke259YDoiIil9fTt2YXIgcnQ9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcpe3N1cGVyKG4sVyk7dGhpcy5pbmRleD1uZXcgZy5qYzt0aGlzLmluZGV4LnR3KCExLCJkIil9Vygpe3JldHVybiExfUQoKXtyZXR1cm4hMX1UQygpe3JldHVybiExfVkoKXtyZXR1cm4gbmV3IHdrKFtuZXcgcUkoMSx0aGlzLHZvaWQgMCwib3RmSW5pdCIpXSwic3EvMCIpfWJkKCl7cmV0dXJuIG51bGx9ZSQobil7dGhpcy5YKG4pO3JldHVybiBNSSh0aGlzLGdrKG4pLCExKX1LKG4sVz0hMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gTUkodGhpcyxuLCEwKX1EdChuKXtuLmluZm8udHlwZT09PTEmJih0aGlzLkp8fCh0aGlzLko9JE0obi5KKSksbi5OJiZuLk4udXJpPT09Imh0dHA6Ly95b3V0dWJlLmNvbS9zdHJlYW1pbmcvb3RmL2R1cmF0aW9ucy8xMTIwMTUiJiZuR1ModGhpcyxuLk4pKX1YKG4pe3JldHVybiBuLko9PT0wPyEwOnRoaXMuaW5kZXgueCQoKT4Kbi5qJCYmdGhpcy5pbmRleC5aTygpPD1uLmokKzF9SEooKXtyZXR1cm4gMH1udSgpe3JldHVybiExfX07dmFyIGE0LGhoYixEODIsbk0sV0t3O2cuVnM9Y2xhc3N7Y29uc3RydWN0b3Iobil7dGhpcy50YWc9bn19O2E0PW5ldyBNYXA7aGhiPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5OPW5ldyBNYXB9fTtEODI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLk49MTA7dGhpcy5KPURhdGUubm93KCl9fTtuTT1uZXcgTWFwO1dLdz1uZXcgaGhiO3ZhciBiOD1jbGFzc3tjb25zdHJ1Y3RvcihuLFcpe3RoaXMuaW5mbz1uO3RoaXMuSj1XO3RoaXMuTj1udWxsO3RoaXMuWD10aGlzLlc9LTE7dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLmlzTG9ja2VkPXRoaXMuSz0hMTt0aGlzLlY9dGhpcy5pbmZvLlBKLlMkKCkmJiF0aGlzLmluZm8uTn1qKG4sVz0hMSxEPTApe2lmKHRoaXMuaXNMb2NrZWR8fG4uaXNMb2NrZWR8fCFiVCh0aGlzLmluZm8sbi5pbmZvKXx8dGhpcy5pbmZvLmFaKXJldHVybiBudWxsO2lmKEQpe2lmKHRoaXMuSi50b3RhbExlbmd0aCtuLkoudG90YWxMZW5ndGg+RClyZXR1cm4gbnVsbH1lbHNlIGlmKFcmJihXPXRoaXMuSixEPW4uSixXPSEoRC5OLmxlbmd0aD94TShXLEQuTlswXSk6MSkpLFcpcmV0dXJuIG51bGw7Vz1uZXcgcUkodGhpcy5pbmZvLnR5cGUsdGhpcy5pbmZvLlBKLHRoaXMuaW5mby5yYW5nZSx0aGlzLmluZm8uWSx0aGlzLmluZm8uaiQsdGhpcy5pbmZvLnNlZ21lbnRTdGFydFRpbWUsdGhpcy5pbmZvLlcsCnRoaXMuaW5mby5OLHRoaXMuaW5mby5KLHRoaXMuaW5mby5hWix0aGlzLmluZm8udkQsdGhpcy5pbmZvLmNsaXBJZCx0aGlzLmluZm8uRCk7UF8oVyxuLmluZm8pO0Q9bmV3IFM1O2U1KEQsdGhpcy5KKTtlNShELG4uSik7Vz1uZXcgYjgoVyxEKTtXLk4hPW51bGwmJm4uTiE9bnVsbCYmZy5jXygiZGFzaCIsNDE0NjI3OTU3LGBtZXJnZWQgc2xpY2UgZW1zZyBvdmVycmlkZGVuOyBwcmV2OiAke1cuTi5mSygpfSBuZXh0OiAke24uTi5mSygpfWApO1cuTj1uLk58fHRoaXMuTjtXLlc9dGhpcy5XIT09LTE/dGhpcy5XOm4uVztXLlg9dGhpcy5YIT09LTE/dGhpcy5YOm4uWDtyZXR1cm4gV319O2cuQkM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmNvdW50PTA7dGhpcy5KPTE7dGhpcy5XPSExO3RoaXMub2Zmc2V0cz1uZXcgRmxvYXQ2NEFycmF5KDEyOCk7dGhpcy5zdGFydFRpY2tzPW5ldyBGbG9hdDY0QXJyYXkoMTI4KX1NSShuKXtyZXR1cm4gbjw9dGhpcy54JCgpfU4obil7cmV0dXJuIHRoaXMub2Zmc2V0c1tuXX1nZXRTdGFydFRpbWUobil7cmV0dXJuIHRoaXMuc3RhcnRUaWNrc1tuXS90aGlzLkp9akUobil7cmV0dXJuIHRoaXMuZ2V0U3RhcnRUaW1lKG4pK3RoaXMuZ2V0RHVyYXRpb24obil9aEMoKXtyZXR1cm4gTmFOfWdldER1cmF0aW9uKG4pe249dGhpcy5EKG4pO3JldHVybiBuPj0wP24vdGhpcy5KOi0xfUQobil7cmV0dXJuIG4rMTx0aGlzLmNvdW50fHx0aGlzLlc/dGhpcy5zdGFydFRpY2tzW24rMV0tdGhpcy5zdGFydFRpY2tzW25dOi0xfVVjKCl7cmV0dXJuIDB9Wk8oKXtyZXR1cm4gMH14JCgpe3JldHVybiB0aGlzLmNvdW50LTF9cWUobil7cmV0dXJuIHRoaXMueCQoKT09PQpuJiZuPj0wfWJRKCl7cmV0dXJuIHRoaXMuVz90aGlzLnN0YXJ0VGlja3NbdGhpcy5jb3VudF0vdGhpcy5KOk5hTn1MZigpe3JldHVybiAwfUg3KCl7cmV0dXJuIHRoaXMuY291bnR9Vigpe3JldHVybiIifVIzKG4pe24qPXRoaXMuSjtuPWcuVzQodGhpcy5zdGFydFRpY2tzLnN1YmFycmF5KDAsdGhpcy5jb3VudCksbik7cmV0dXJuIG4+PTA/bjpNYXRoLm1heCgwLC1uLTIpfWlzTG9hZGVkKCl7cmV0dXJuIHRoaXMueCQoKT49MH1YZChuLFcpe2lmKG4+PXRoaXMueCQoKSlyZXR1cm4gMDt2YXIgRD0wO2ZvcihXPXRoaXMuZ2V0U3RhcnRUaW1lKG4pK1c7bjx0aGlzLngkKCkmJlc+dGhpcy5nZXRTdGFydFRpbWUobik7bisrKUQ9TWF0aC5tYXgoRCx0TSh0aGlzLG4pL3RoaXMuZ2V0RHVyYXRpb24obikpO3JldHVybiBEfXJlc2l6ZShuKXtuKz0yO3ZhciBXPXRoaXMub2Zmc2V0czt0aGlzLm9mZnNldHM9bmV3IEZsb2F0NjRBcnJheShuKzEpO3ZhciBEPXRoaXMuc3RhcnRUaWNrczt0aGlzLnN0YXJ0VGlja3M9Cm5ldyBGbG9hdDY0QXJyYXkobisxKTtmb3Iobj0wO248dGhpcy5jb3VudCsxO24rKyl0aGlzLm9mZnNldHNbbl09V1tuXSx0aGlzLnN0YXJ0VGlja3Nbbl09RFtuXX1jYXAobixXKXskWCh0aGlzKTt0aGlzLlc9ITA7dGhpcy5zdGFydFRpY2tzW3RoaXMuY291bnRdPVc7dGhpcy5vZmZzZXRzW3RoaXMuY291bnRdPW59fTtnLkJDLnByb3RvdHlwZS5VNz1XWigyKTt2YXIgc2s9Y2xhc3MgZXh0ZW5kcyBDantjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcihuLFcsRCxiKTt0aGlzLmo9bnVsbDt0aGlzLmluZGV4PW5ldyBnLkJDfVkobixXKXt2YXIgRD1uZXcgcUkoMix0aGlzLHRoaXMuaW5kZXhSYW5nZSwiaW5kZXhJbmZvIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVyksYj1bbmV3IHFJKDEsdGhpcyx0aGlzLmluaXRSYW5nZSwiaW5pdEluZm8iLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxXKSxEXTt0aGlzLmluZm8uY29udGVudExlbmd0aD4wJiZuJiYoRD1ELnJhbmdlLmVuZCsxLG49TWF0aC5taW4obix0aGlzLmluZm8uY29udGVudExlbmd0aC1EKSxuPjAmJmIucHVzaChuZXcgcUkoNCx0aGlzLFdfKEQsbiksInRiZFJhbmdlIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsVykpKTtyZXR1cm4gbmV3IHdrKGIpfUR0KG4pe2lmKG4uaW5mby50eXBlPT09CjEpe2lmKHRoaXMuSilyZXR1cm47dGhpcy5KPSRNKG4uSil9ZWxzZSBpZihuLmluZm8udHlwZT09PTIpe2lmKHRoaXMuanx8dGhpcy5pbmRleC54JCgpPj0wKXJldHVybjtpZihnLlJCKHRoaXMuaW5mbykpe3ZhciBXPXRoaXMuaW5kZXgsRD1nLldSKG4pO249bi5pbmZvLnJhbmdlLnN0YXJ0O3ZhciBiPWcubnMoRCwwLDE5MzYyODY4NDApO0Q9THMoYik7Vy5KPUQudGltZXNjYWxlO3ZhciB2PUQuZjg7Vy5vZmZzZXRzWzBdPUQuTm8rbitiLnNpemU7Vy5zdGFydFRpY2tzWzBdPXY7Vy5XPSEwO249RC5xZy5sZW5ndGg7Zm9yKHY9MDt2PG47disrKXJ5KFcsRC5Ic1t2XSxELnFnW3ZdKX1lbHNlIHRoaXMuaj1nLldSKG4pfWlmKHRoaXMuaW5mby5xSCgpJiZ0aGlzLkomJnRoaXMuail7bj1uZXcgRGF0YVZpZXcodGhpcy5KLmJ1ZmZlcik7Vz10aGlzLmluZGV4O3Y9dGhpcy5qO0Q9dGhpcy5pbmRleFJhbmdlLmVuZDtiPW5ldyB0WShuKTtuPWI7Yj1uLnBvczt2YXIgaz17Qzk6MUU2LG84OjFFOSwKZHVyYXRpb246MCx4TTowLGJtOjB9O2lmKHNZKG4sNDA4MTI1NTQzKSlpZihrLnhNPU5rKG4sITApLGsuYm09bi5zdGFydCtuLnBvcyxzWShuLDM1NzE0OTAzMCkpe2Zvcih2YXIgaD1yQShuKTshSHcoaCk7KXt2YXIgeD1OayhoLCExKTt4PT09MjgwNzcyOT9rLkM5PWZzKGgpOng9PT0yODA3NzMwP2subzg9ZnMoaCk6eD09PTE3NTQ1P2suZHVyYXRpb249SUIoaCk6SlkoaCl9bi5wb3M9YjtuPWt9ZWxzZSBuLnBvcz1iLG49bnVsbDtlbHNlIG4ucG9zPWIsbj1udWxsO2lmKG4hPT1udWxsKXtXLko9bi5vOC9uLkM5O2I9bmV3IHRZKHYpO3Y9YjtoPW4uYm07Yj12LnBvcztrPVtdO2lmKHNZKHYsNDc1MjQ5NTE1KSl7Zm9yKHg9ckEodik7c1koeCwxODcpOyl7bGV0IEw9ckEoeCk7aWYoIXNZKEwsMTc5KSljb250aW51ZTtsZXQgZT1mcyhMKTtpZighc1koTCwxODMpKWNvbnRpbnVlO0w9ckEoTCk7bGV0IEc9aDtmb3IoO3NZKEwsMjQxKTspRz1mcyhMKStoO2sucHVzaCh7Zm86RyxuODplfSl9aWYoay5sZW5ndGg+CjAmJkQ9PT1rWzBdLmZvKWZvcihEPTA7RDxrLmxlbmd0aDtEKyspa1tEXS5mbys9MTt2LnBvcz1iO0Q9a31lbHNlIHYucG9zPWIsRD1udWxsO2lmKEQhPT1udWxsKXtmb3IobGV0IEwgb2YgRClEPVcsdj1MLmZvLGI9TC5uOCwkWChEKSxELm9mZnNldHNbRC5jb3VudF09dixELnN0YXJ0VGlja3NbRC5jb3VudF09YixELmNvdW50Kys7Vy5jYXAobi54TStuLmJtLG4uZHVyYXRpb24pfX10aGlzLmo9bnVsbH19R0Mobil7dmFyIFc9dGhpcy5WUShuLmluZm8pLEQ9bi5pbmZvLnJhbmdlLnN0YXJ0K24uaW5mby5OLGI9W107Zm9yKGxldCB2PTA7djxXLmxlbmd0aDt2Kyspe2xldCBrPWdkKG4uSixXW3ZdLnJhbmdlLnN0YXJ0K1dbdl0uTi1ELFdbdl0uSik7Yi5wdXNoKG5ldyBiOChXW3ZdLGspKX1yZXR1cm4gYn1WUShuKXtmb3IodmFyIFc9bi5yYW5nZS5zdGFydCtuLk4sRD0wO0Q8dGhpcy5pbmRleC54JCgpJiZXPj10aGlzLmluZGV4Lk4oRCsxKTspRCsrO3JldHVybiBzTih0aGlzLEQsVywKbi5KKS5Bd31YKG4pe24uVigpO3JldHVybiB0aGlzLk4oKT8hMDpuLnJhbmdlLmVuZCsxPHRoaXMuaW5mby5jb250ZW50TGVuZ3RofWJkKG4sVyl7dGhpcy5YKG4pO2lmKCF0aGlzLk4oKSlyZXR1cm4gVz1XXyhuLnJhbmdlLmVuZCsxLFcpLFcuZW5kKzE+dGhpcy5pbmZvLmNvbnRlbnRMZW5ndGgmJihXPW5ldyBhQihXLnN0YXJ0LHRoaXMuaW5mby5jb250ZW50TGVuZ3RoLTEpKSxuZXcgd2soW25ldyBxSSg0LG4uUEosVywiZ2V0TmV4dFJlcXVlc3RJbmZvQnlMZW5ndGgiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCxuLmNsaXBJZCldKTtuLnR5cGU9PT00JiYobj10aGlzLlZRKG4pLG49bltuLmxlbmd0aC0xXSk7dmFyIEQ9MCxiPW4ucmFuZ2Uuc3RhcnQrbi5OK24uSjtuLnR5cGU9PT0zJiYobi5WKCksRD1uLmokLGI9PT1uLnJhbmdlLmVuZCsxJiYoRCs9MSkpO3JldHVybiBzTih0aGlzLEQsYixXKX1lJCgpe3JldHVybiBudWxsfUsobixXPQohMSl7bj10aGlzLmluZGV4LlIzKG4pO1cmJihuPU1hdGgubWluKHRoaXMuaW5kZXgueCQoKSxuKzEpKTtyZXR1cm4gc04odGhpcyxuLHRoaXMuaW5kZXguTihuKSwwKX1XKCl7cmV0dXJuITB9RCgpe3JldHVybiEwfVRDKCl7cmV0dXJuITF9SEooKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlLmxlbmd0aCt0aGlzLmluaXRSYW5nZS5sZW5ndGh9bnUoKXtyZXR1cm4gdGhpcy5pbmRleFJhbmdlJiZ0aGlzLmluaXRSYW5nZSYmdGhpcy5pbml0UmFuZ2UuZW5kKzE9PT10aGlzLmluZGV4UmFuZ2Uuc3RhcnQ/ITA6ITF9fTt2YXIgQU09Y2xhc3N7Y29uc3RydWN0b3Iobj0wLFc9MCxEPSJTUEFUSUFMX0FVRElPX1RZUEVfTk9ORSIsYj0hMSx2LGssaD0iQVVESU9fUVVBTElUWV9VTktOT1dOIix4PSExKXt0aGlzLnNhbXBsZVJhdGU9bjt0aGlzLm51bUNoYW5uZWxzPVc7dGhpcy5zcGF0aWFsQXVkaW9UeXBlPUQ7dGhpcy5XPWI7dGhpcy5YPXY7dGhpcy5KPWs7dGhpcy5hdWRpb1F1YWxpdHk9aDt0aGlzLk49eH1pc011bHRpQ2hhbm5lbEF1ZGlvKCl7cmV0dXJuIHRoaXMubnVtQ2hhbm5lbHM+Mn19O3ZhciBLTT1jbGFzc3tjb25zdHJ1Y3RvcihuLFcsRCxiPSIiLHY9IiIsaz0iIil7dGhpcy5kaXNwbGF5TmFtZT1uO3RoaXMudnNzSWQ9Vzt0aGlzLmxhbmd1YWdlQ29kZT1EO3RoaXMua2luZD1iO3RoaXMueHRhZ3M9djt0aGlzLmlkPWt9fTt2YXIgciR4PXtDT0xPUl9QUklNQVJJRVNfQlQ3MDk6ImJ0NzA5IixDT0xPUl9QUklNQVJJRVNfQlQyMDIwOiJidDIwMjAiLENPTE9SX1BSSU1BUklFU19VTktOT1dOOm51bGwsQ09MT1JfUFJJTUFSSUVTX1VOU1BFQ0lGSUVEOm51bGx9LGJxVT17Q09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUNzA5OiJidDcwOSIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0JUMjAyMF8xMDoiYnQyMDIwIixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfU01QVEVTVDIwODQ6InNtcHRlMjA4NCIsQ09MT1JfVFJBTlNGRVJfQ0hBUkFDVEVSSVNUSUNTX0FSSUJfU1REX0I2NzoiYXJpYi1zdGQtYjY3IixDT0xPUl9UUkFOU0ZFUl9DSEFSQUNURVJJU1RJQ1NfVU5LTk9XTjpudWxsLENPTE9SX1RSQU5TRkVSX0NIQVJBQ1RFUklTVElDU19VTlNQRUNJRklFRDpudWxsfTt2YXIgQVQ9e1dJRFRIOntuYW1lOiJ3aWR0aCIsdmlkZW86ITAsdmFsaWQ6NjQwLHZHOjk5OTk5fSxIRUlHSFQ6e25hbWU6ImhlaWdodCIsdmlkZW86ITAsdmFsaWQ6MzYwLHZHOjk5OTk5fSxGUkFNRVJBVEU6e25hbWU6ImZyYW1lcmF0ZSIsdmlkZW86ITAsdmFsaWQ6MzAsdkc6OTk5OX0sQklUUkFURTp7bmFtZToiYml0cmF0ZSIsdmlkZW86ITAsdmFsaWQ6M0U1LHZHOjJFOX0sRU9URjp7bmFtZToiZW90ZiIsdmlkZW86ITAsdmFsaWQ6ImJ0NzA5Iix2RzoiY2F0YXZpc2lvbiJ9LENIQU5ORUxTOntuYW1lOiJjaGFubmVscyIsdmlkZW86ITEsdmFsaWQ6Mix2Rzo5OX0sQ1JZUFRPQkxPQ0tGT1JNQVQ6e25hbWU6ImNyeXB0b2Jsb2NrZm9ybWF0Iix2aWRlbzohMCx2YWxpZDoic3Vic2FtcGxlIix2RzoiaW52YWxpZGZvcm1hdCJ9LERFQ09ERVRPVEVYVFVSRTp7bmFtZToiZGVjb2RlLXRvLXRleHR1cmUiLHZpZGVvOiEwLHZhbGlkOiJmYWxzZSIsdkc6Im5vcGUifSxBVjFfQ09ERUNTOntuYW1lOiJjb2RlY3MiLAp2aWRlbzohMCx2YWxpZDoiYXYwMS4wLjA1TS4wOCIsdkc6ImF2OTkuMC4wNU0uMDgifSxFWFBFUklNRU5UQUw6e25hbWU6ImV4cGVyaW1lbnRhbCIsdmlkZW86ITAsdmFsaWQ6ImFsbG93ZWQiLHZHOiJpbnZhbGlkIn0sVFVOTkVMTU9ERTp7bmFtZToidHVubmVsbW9kZSIsdmlkZW86ITAsdmFsaWQ6InRydWUiLHZHOiJmYWxzZSJ9fTt2YXIgWWc9e1siMCJdOiJmIixbIjE2MCJdOiJoIixbIjEzMyJdOiJoIixbIjEzNCJdOiJoIixbIjEzNSJdOiJoIixbIjEzNiJdOiJoIixbIjEzNyJdOiJoIixbIjI2NCJdOiJoIixbIjI2NiJdOiJoIixbIjEzOCJdOiJoIixbIjI5OCJdOiJoIixbIjI5OSJdOiJoIixbIjMwNCJdOiJoIixbIjMwNSJdOiJoIixbIjIxNCJdOiJoIixbIjIxNiJdOiJoIixbIjM3NCJdOiJoIixbIjM3NSJdOiJoIixbIjE0MCJdOiJhIixbIjE0MSJdOiJhIixbIjMyNyJdOiJzYSIsWyIyNTgiXToibSIsWyIzODAiXToibWFjMyIsWyIzMjgiXToibWVhYzMiLFsiMTYxIl06IkgiLFsiMTQyIl06IkgiLFsiMTQzIl06IkgiLFsiMTQ0Il06IkgiLFsiMjIyIl06IkgiLFsiMjIzIl06IkgiLFsiMTQ1Il06IkgiLFsiMjI0Il06IkgiLFsiMjI1Il06IkgiLFsiMTQ2Il06IkgiLFsiMjI2Il06IkgiLFsiMjI3Il06IkgiLFsiMTQ3Il06IkgiLFsiMzg0Il06IkgiLFsiMzc2Il06IkgiLFsiMzg1Il06IkgiLFsiMzc3Il06IkgiLApbIjE0OSJdOiJBIixbIjI2MSJdOiJNIixbIjM4MSJdOiJNQUMzIixbIjMyOSJdOiJNRUFDMyIsWyI1OTgiXToiOSIsWyIyNzgiXToiOSIsWyIyNDIiXToiOSIsWyIyNDMiXToiOSIsWyIyNDQiXToiOSIsWyI3NzUiXToiOSIsWyI3NzYiXToiOSIsWyI3NzciXToiOSIsWyI3NzgiXToiOSIsWyI3NzkiXToiOSIsWyI3ODAiXToiOSIsWyI3ODEiXToiOSIsWyI3ODIiXToiOSIsWyI3ODMiXToiOSIsWyIyNDciXToiOSIsWyIyNDgiXToiOSIsWyIzNTMiXToiOSIsWyIzNTUiXToiOSIsWyIzNTYiXToiOSIsWyIyNzEiXToiOSIsWyI1NzciXToiOSIsWyIzMTMiXToiOSIsWyI1NzkiXToiOSIsWyIyNzIiXToiOSIsWyIzMDIiXToiOSIsWyIzMDMiXToiOSIsWyI0MDciXToiOSIsWyI0MDgiXToiOSIsWyIzMDgiXToiOSIsWyIzMTUiXToiOSIsWyIzMzAiXToiOWgiLFsiMzMxIl06IjloIixbIjMzMiJdOiI5aCIsWyIzMzMiXToiOWgiLFsiMzM0Il06IjloIixbIjMzNSJdOiI5aCIsWyIzMzYiXToiOWgiLApbIjMzNyJdOiI5aCIsWyIzMzgiXToic28iLFsiNjAwIl06Im8iLFsiMjUwIl06Im8iLFsiMjUxIl06Im8iLFsiNzc0Il06Im8iLFsiMTk0Il06IioiLFsiMTk1Il06IioiLFsiMjIwIl06IioiLFsiMjIxIl06IioiLFsiMTk2Il06IioiLFsiMTk3Il06IioiLFsiMjc5Il06IigiLFsiMjgwIl06IigiLFsiMzE3Il06IigiLFsiMzE4Il06IigiLFsiMjczIl06IigiLFsiMjc0Il06IigiLFsiMzU3Il06IigiLFsiMzU4Il06IigiLFsiMjc1Il06IigiLFsiMzU5Il06IigiLFsiMzYwIl06IigiLFsiMjc2Il06IigiLFsiNTgzIl06IigiLFsiNTg0Il06IigiLFsiMzE0Il06IigiLFsiNTg1Il06IigiLFsiNTYxIl06IigiLFsiMjc3Il06IigiLFsiMzYxIl06IihoIixbIjM2MiJdOiIoaCIsWyIzNjMiXToiKGgiLFsiMzY0Il06IihoIixbIjM2NSJdOiIoaCIsWyIzNjYiXToiKGgiLFsiNTkxIl06IihoIixbIjU5MiJdOiIoaCIsWyIzNjciXToiKGgiLFsiNTg2Il06IihoIixbIjU4NyJdOiIoaCIsClsiMzY4Il06IihoIixbIjU4OCJdOiIoaCIsWyI1NjIiXToiKGgiLFsiNDA5Il06IigiLFsiNDEwIl06IigiLFsiNDExIl06IigiLFsiNDEyIl06IigiLFsiNTU3Il06IigiLFsiNTU4Il06IigiLFsiMzk0Il06IjEiLFsiMzk1Il06IjEiLFsiMzk2Il06IjEiLFsiMzk3Il06IjEiLFsiMzk4Il06IjEiLFsiMzk5Il06IjEiLFsiNzIwIl06IjEiLFsiNzIxIl06IjEiLFsiNDAwIl06IjEiLFsiNDAxIl06IjEiLFsiNTcxIl06IjEiLFsiNDAyIl06IjEiLFsiNjk0Il06IjFoIixbIjY5NSJdOiIxaCIsWyI2OTYiXToiMWgiLFsiNjk3Il06IjFoIixbIjY5OCJdOiIxaCIsWyI2OTkiXToiMWgiLFsiNzAwIl06IjFoIixbIjcwMSJdOiIxaCIsWyI3MDIiXToiMWgiLFsiNzAzIl06IjFoIixbIjM4NiJdOiIzIixbIjM4NyJdOiJ3IixbIjQwNiJdOiI2IixbIjc4NyJdOiIxIixbIjc4OCJdOiIxIixbIjU0OCJdOiIxZSIsWyI1NDkiXToiMWUiLFsiNTUwIl06IjFlIixbIjU1MSJdOiIxZSIsWyI4MDkiXToiMWUiLApbIjgxMCJdOiIxZSIsWyI1NTIiXToiMWUiLFsiODExIl06IjFlIixbIjgxMiJdOiIxZSIsWyI1NTMiXToiMWUiLFsiODEzIl06IjFlIixbIjgxNCJdOiIxZSIsWyI1NTQiXToiMWUiLFsiODE1Il06IjFlIixbIjgxNiJdOiIxZSIsWyI1NTUiXToiMWUiLFsiODE3Il06IjFlIixbIjgxOCJdOiIxZSIsWyI1NzIiXToiMWUiLFsiNTU2Il06IjFlIixbIjY0NSJdOiIoIixbIjY0NiJdOiIoIixbIjY0NyJdOiIoIixbIjY0OCJdOiIoIixbIjY0OSJdOiIoIixbIjY1MCJdOiIoIixbIjY1MSJdOiIoIixbIjY1MiJdOiIoIixbIjY1MyJdOiIoIixbIjY1NCJdOiIoIixbIjY1NSJdOiIoIixbIjY1NiJdOiIoIixbIjY1NyJdOiIoIixbIjY1OCJdOiIoIixbIjY1OSJdOiIoIixbIjY2MCJdOiIoIixbIjY2MSJdOiIoIixbIjY2MiJdOiIoIixbIjY2MyJdOiIoIixbIjY2NCJdOiIoIixbIjY2NSJdOiIoIixbIjY2NiJdOiIoIixbIjY2NyJdOiIoIixbIjY2OCJdOiIoIixbIjY2OSJdOiIoIixbIjY3MCJdOiIoIiwKWyI2NzEiXToiKCIsWyI2NzIiXToiKCIsWyI2NzMiXToiKCIsWyI2NzQiXToiKGgiLFsiNjc1Il06IihoIixbIjY3NiJdOiIoaCIsWyI2NzciXToiKGgiLFsiNjc4Il06IihoIixbIjY3OSJdOiIoaCIsWyI2ODAiXToiKGgiLFsiNjgxIl06IihoIixbIjY4MiJdOiIoaCIsWyI2ODMiXToiKGgiLFsiNjg0Il06IihoIixbIjY4NSJdOiIoaCIsWyI2ODYiXToiKGgiLFsiNjg3Il06IihoIixbIjY4OCJdOiJBIixbIjY4OSJdOiJBIixbIjY5MCJdOiJBIixbIjY5MSJdOiJNRUFDMyIsWyI3NzMiXToiaSIsWyI4MDYiXToiSSIsWyI4MDUiXToiSSIsWyI4MjkiXToiOSIsWyI4MzAiXToiOSIsWyI4MzEiXToiOSIsWyI4MzIiXToiOSIsWyI4MzMiXToiOSIsWyI4MzQiXToiOSIsWyI4MzUiXToiOSIsWyI4MzYiXToiOSIsWyI4OTIiXToiOSIsWyI4OTMiXToiOSIsWyI4MzciXToiOSIsWyI4MzgiXToiOSIsWyI4MzkiXToiOSIsWyI4NDAiXToiOSIsWyI4NDEiXToiKCIsWyI4NDIiXToiKCIsWyI4NDMiXToiKCIsClsiODQ0Il06IigiLFsiODQ1Il06IigiLFsiODQ2Il06IigiLFsiODQ3Il06IigiLFsiODQ4Il06IigiLFsiODk0Il06IigiLFsiODk1Il06IigiLFsiODQ5Il06IigiLFsiODUwIl06IigiLFsiODUxIl06IigiLFsiODUyIl06IigiLFsiODY1Il06IjkiLFsiODY2Il06IjkiLFsiODY3Il06IjkiLFsiODY4Il06IjkiLFsiODY5Il06IjkiLFsiODcwIl06IjkiLFsiODcxIl06IjkiLFsiODcyIl06IjkiLFsiODk2Il06IjkiLFsiODk3Il06IjkiLFsiODczIl06IjkiLFsiODc0Il06IjkiLFsiODc1Il06IjkiLFsiODc2Il06IjkiLFsiODc3Il06IigiLFsiODc4Il06IigiLFsiODc5Il06IigiLFsiODgwIl06IigiLFsiODgxIl06IigiLFsiODgyIl06IigiLFsiODgzIl06IigiLFsiODg0Il06IigiLFsiODk4Il06IigiLFsiODk5Il06IigiLFsiODg1Il06IigiLFsiODg2Il06IigiLFsiODg3Il06IigiLFsiODg4Il06IigiLFsiOTAwIl06IjIiLFsiOTAxIl06IjIiLFsiOTAyIl06IjIiLApbIjkwMyJdOiIyIixbIjkwNCJdOiIyIixbIjkwNSJdOiIyIixbIjkwNiJdOiIyIixbIjkwNyJdOiIyIixbIjkwOCJdOiIyIn07dmFyIHBNPSJoaWdocmVzIGhkMjg4MCBoZDIxNjAgaGQxNDQwIGhkMTA4MCBoZDcyMCBsYXJnZSBtZWRpdW0gc21hbGwgdGlueSIuc3BsaXQoIiAiKTt2YXIgSFI9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYix2LGssaCx4LEwsZSxHKXt0aGlzLndpZHRoPW47dGhpcy5oZWlnaHQ9Vzt0aGlzLlc9eDt0aGlzLnF1YWxpdHk9a3x8WVgobixXKTt0aGlzLnF1YWxpdHlPcmRpbmFsPU5HW3RoaXMucXVhbGl0eV07dGhpcy5mcHM9RHx8MDt0aGlzLnN0ZXJlb0xheW91dD0hdnx8YiE9bnVsbCYmYiE9PSJVTktOT1dOIiYmYiE9PSJSRUNUQU5HVUxBUiI/MDp2O3RoaXMucHJvamVjdGlvblR5cGU9Yj9iPT09IkVRVUlSRUNUQU5HVUxBUiImJnY9PT0yPyJFUVVJUkVDVEFOR1VMQVJfVEhSRUVEX1RPUF9CT1RUT00iOmI6IlVOS05PV04iOyhuPWgpfHwoRD1OR1t0aGlzLnF1YWxpdHldLEQ9PT0wP249IkF1dG8iOihuPXRoaXMucHJvamVjdGlvblR5cGUsVz10aGlzLmZwcyxuPUQudG9TdHJpbmcoKSsobj09PSJFUVVJUkVDVEFOR1VMQVIifHxuPT09IkVRVUlSRUNUQU5HVUxBUl9USFJFRURfVE9QX0JPVFRPTSJ8fG49PT0iTUVTSCI/InMiOiJwIikrCihXPjU1PyI2MCI6Vz40OT8iNTAiOlc+Mzk/IjQ4IjoiIikpKTt0aGlzLnF1YWxpdHlMYWJlbD1uO3RoaXMuTj1MfHwiIjt0aGlzLnByaW1hcmllcz1lfHwiIjt0aGlzLlg9Rz8/ITB9Sigpe3JldHVybiB0aGlzLmZwcz4zMn1pc0hkcigpe3JldHVybiB0aGlzLk49PT0ic21wdGUyMDg0Inx8dGhpcy5OPT09ImFyaWItc3RkLWI2NyJ9fTt2YXIgbXU9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQ9e30pe3RoaXMuaWQ9bjt0aGlzLm1pbWVUeXBlPVc7RC5Ocz4wfHwoRC5Ocz0xNkUzKTtPYmplY3QuYXNzaWduKHRoaXMsRCk7W3RoaXMuaXRhZyx0aGlzLkpdPXRoaXMuaWQuc3BsaXQoIjsiKTt0aGlzLmNvbnRhaW5lclR5cGU9Sk0oVyk7dGhpcy5JQj1ZZ1t0aGlzLml0YWddfHwiIn1LKCl7cmV0dXJuIHRoaXMudmlkZW99WSgpe3JldHVybiB0aGlzLmF1ZGlvfXFIKCl7cmV0dXJuIHRoaXMuY29udGFpbmVyVHlwZT09PTJ9WCgpe3JldHVybiB0aGlzLklCPT09IjkifHx0aGlzLklCPT09IigifHx0aGlzLklCPT09IjloInx8dGhpcy5JQj09PSIoaCJ9TVcoKXtyZXR1cm4gdGhpcy5JQj09PSIxInx8dGhpcy5JQj09PSIxaCJ8fFBSJiZ0aGlzLklCPT09IjFlIn1WKCl7cmV0dXJuIHRoaXMuSUI9PT0ibWFjMyJ8fHRoaXMuSUI9PT0ibWVhYzMifHx0aGlzLklCPT09Im0ifHx0aGlzLklCPT09ImkifHxtRih0aGlzKX1EKCl7cmV0dXJuIHRoaXMuSUI9PT0KIk1BQzMifHx0aGlzLklCPT09Im1hYzMifHx0aGlzLklCPT09Ik1FQUMzInx8dGhpcy5JQj09PSJtZWFjMyJ9aXNFbmNyeXB0ZWQoKXtyZXR1cm4hIXRoaXMuY29udGVudFByb3RlY3Rpb259ZVMoKXtyZXR1cm4hIXRoaXMuYXVkaW99ZlkoKXtyZXR1cm4hIXRoaXMudmlkZW99Vygpe3JldHVybiB0aGlzLm1pbWVUeXBlPT09ImFwcGxpY2F0aW9uL3gtbXBlZ1VSTCJ9Tigpe3ZhciBuPXRoaXMubWltZVR5cGU7cmV0dXJuIG4uaW5jbHVkZXMoInZ0dCIpfHxuLmluY2x1ZGVzKCJ0ZXh0L21wNCIpfWlzVmVydGljYWwoKXtyZXR1cm4hIXRoaXMudmlkZW8mJnRoaXMudmlkZW8ud2lkdGg8dGhpcy52aWRlby5oZWlnaHR9fSxQUj0hMSxFTj0hMTtnLkZzPWNsYXNzIGV4dGVuZHMgZy5KTHtOTihuLFcsRCxiLHYpe3JldHVybiBzdXBlci5OTihuLFcsRCxiLHYpfX07dmFyIHhnPWNsYXNzIGV4dGVuZHMgZy5GaXtjb25zdHJ1Y3RvcihuLFcsRCxiKXtzdXBlcigpO3RoaXMuayQ9bjt0aGlzLnN0YXJ0PVc7dGhpcy5lbmQ9RDt0aGlzLmlzQWN0aXZlPWI7dGhpcy5hcHBlbmRXaW5kb3dTdGFydD0wO3RoaXMuYXBwZW5kV2luZG93RW5kPUluZmluaXR5O3RoaXMudGltZXN0YW1wT2Zmc2V0PTA7dGhpcy5LVT17ZXJyb3I6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJlcnJvciIsdGhpcyl9LAp1cGRhdGVlbmQ6KCk9PnshdGhpcy5xTigpJiZ0aGlzLmlzQWN0aXZlJiZ0aGlzLldKKCJ1cGRhdGVlbmQiLHRoaXMpfX07CnRoaXMuayQuaCQodGhpcy5LVSk7dGhpcy5wTj10aGlzLmlzQWN0aXZlfWFwcGVuZEJ1ZmZlcihuLFcsRCl7aWYodGhpcy5rJC5NcigpIT09dGhpcy5hcHBlbmRXaW5kb3dTdGFydCt0aGlzLnN0YXJ0fHx0aGlzLmskLktGKCkhPT10aGlzLmFwcGVuZFdpbmRvd0VuZCt0aGlzLnN0YXJ0fHx0aGlzLmskLlNXKCkhPT10aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KXRoaXMuayQuc3VwcG9ydHMoMSksdGhpcy5rJC5lNyh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0K3RoaXMuc3RhcnQsdGhpcy5hcHBlbmRXaW5kb3dFbmQrdGhpcy5zdGFydCksdGhpcy5rJC55Tyh0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0KTt0aGlzLmskLmFwcGVuZEJ1ZmZlcihuLFcsRCl9YWJvcnQoKXt0aGlzLmskLmFib3J0KCl9cmVtb3ZlKG4sVyl7dGhpcy5rJC5yZW1vdmUobit0aGlzLnN0YXJ0LFcrdGhpcy5zdGFydCl9VGkoKXt0aGlzLnJlbW92ZSh0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0LHRoaXMuYXBwZW5kV2luZG93RW5kKX1jbGVhcigpe3RoaXMuayQuY2xlYXIoKX1lNyhuLApXKXt0aGlzLmFwcGVuZFdpbmRvd1N0YXJ0PW47dGhpcy5hcHBlbmRXaW5kb3dFbmQ9V31pdygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldCt0aGlzLnN0YXJ0fU1yKCl7cmV0dXJuIHRoaXMuYXBwZW5kV2luZG93U3RhcnR9S0YoKXtyZXR1cm4gdGhpcy5hcHBlbmRXaW5kb3dFbmR9eU8obil7dGhpcy50aW1lc3RhbXBPZmZzZXQ9bn1TVygpe3JldHVybiB0aGlzLnRpbWVzdGFtcE9mZnNldH1aRihuPSExKXtuPXRoaXMuayQuWkYobik7cmV0dXJuIFFUKG4sdGhpcy5zdGFydCx0aGlzLmVuZCl9eXUoKXtyZXR1cm4gdGhpcy5rJC55dSgpfWZGKCl7cmV0dXJuIHRoaXMuayQuZkYoKX1nWCgpe3JldHVybiB0aGlzLmskLmdYKCl9RGMoKXtyZXR1cm4gdGhpcy5rJC5EYygpfWg5KCl7dGhpcy5rJC5oOSgpfXRaKG4pe3JldHVybiB0aGlzLmskLnRaKG4pfUQ5KCl7cmV0dXJuIHRoaXMuayQuRDkoKX1MRigpe3JldHVybiB0aGlzLmskLkxGKCl9am4obixXLEQpe3RoaXMuayQuam4obiwKVyxEKX1WbyhuLFcsRCl7dGhpcy5rJC5WbyhuLFcsRCl9bmEobixXKXtyZXR1cm4gdGhpcy5rJC5uYShuLFcpfXN1cHBvcnRzKG4pe3JldHVybiB0aGlzLmskLnN1cHBvcnRzKG4pfVpnKCl7cmV0dXJuIHRoaXMuayQuWmcoKX1pUSgpe3JldHVybiB0aGlzLmskLmlRKCl9aXNWaWV3KCl7cmV0dXJuITB9am8oKXtyZXR1cm4gdGhpcy5rJC5qbygpP3RoaXMuaXNBY3RpdmU6ITF9aXNMb2NrZWQoKXtyZXR1cm4gdGhpcy5wTiYmIXRoaXMuaXNBY3RpdmV9eXIobil7bj10aGlzLmskLnlyKG4pO24udnc9YCR7dGhpcy5zdGFydH0tJHt0aGlzLmVuZH1gO3JldHVybiBufW5GKCl7cmV0dXJuIHRoaXMuayQubkYoKX1Lcygpe3JldHVybiB0aGlzLmskLktzKCl9ejAoKXtyZXR1cm4gdGhpcy5rJC56MCgpfW1BKCl7dGhpcy5rJC5NOSh0aGlzLktVKTtzdXBlci5tQSgpfUtpKCl7cmV0dXJuIHRoaXMuaXNBY3RpdmV9VnUobil7dGhpcy5pc0FjdGl2ZT1uO3RoaXMucE49dGhpcy5wTnx8dGhpcy5pc0FjdGl2ZX19O3ZhciBzND0hMTt2YXIga2c9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG4sVyxELGIsdixrKXtzdXBlcigpO3RoaXMuUUU9bjt0aGlzLkVWPVc7dGhpcy5pZD1EO3RoaXMuY29udGFpbmVyVHlwZT1iO3RoaXMuSUI9djt0aGlzLmZZPWs7dGhpcy5tTz10aGlzLmpxPXRoaXMuZEg9bnVsbDt0aGlzLmVvPSExO3RoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MDt0aGlzLkY0PVRpKFtdLFtdKTt0aGlzLkhIPSExO3RoaXMuaWs9W107dGhpcy55Nj1QYz9bXTp2b2lkIDA7dGhpcy5oYW5kbGVyPWg9PnRoaXMuV0ooaC50eXBlLHRoaXMpOwp0aGlzLlFFPy5hZGRFdmVudExpc3RlbmVyJiYodGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJ1cGRhdGVlbmQiLHRoaXMuaGFuZGxlciksdGhpcy5RRS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcy5oYW5kbGVyKSl9YXBwZW5kQnVmZmVyKG4sVyxEKXt0aGlzLkhIPSExO0QmJih0aGlzLmpxPUQpO24ubGVuZ3RoJiYodGhpcy5RRT8uYXBwZW5kQnVmZmVyP3RoaXMuUUUuYXBwZW5kQnVmZmVyKG4pOnRoaXMuUUU/dGhpcy5RRS5hcHBlbmQobik6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBcHBlbmQodGhpcy5pZCxuKSk7VyYmKFcuaXNFbmNyeXB0ZWQoKSYmKHRoaXMubU89dGhpcy5qcSksVy50eXBlPT09MyYmKHRoaXMuZEg9VyksdGhpcy5pay5wdXNoKFcuZ2EoKSksdGhpcy5pay5sZW5ndGg+NCYmdGhpcy5pay5zaGlmdCgpKTt0aGlzLnk2JiYodGhpcy55Ni5sZW5ndGg+PTJ8fG4ubGVuZ3RoPjEwNDg1NzY/ZGVsZXRlIHRoaXMueTY6dGhpcy55Ni5wdXNoKG4pKX1hYm9ydCgpe3RyeXt0aGlzLlFFPwp0aGlzLlFFLmFib3J0KCk6dGhpcy5FViYmdGhpcy5FVi53ZWJraXRTb3VyY2VBYm9ydCh0aGlzLmlkKX1jYXRjaChuKXtRalomJmcuR3EobmV3IGcuUXgoYEVycm9yIHdoaWxlIGFib3J0IHRoZSBzb3VyY2UgYnVmZmVyOiAke24ubmFtZX0sICR7bi5tZXNzYWdlfWApKX10aGlzLmpxPXRoaXMuZEg9bnVsbH1yZW1vdmUobixXLEQpe3RoaXMuSEg9ITE7dGhpcy5RRT8ucmVtb3ZlJiYoRCYmRCh7Yjpyayh0aGlzLlpGKCkpLHM6bixlOld9KSx0aGlzLlFFLnJlbW92ZShuLFcpKX1UaSgpe3RoaXMucmVtb3ZlKHRoaXMuTXIoKSx0aGlzLktGKCkpfWNsZWFyKCl7dGhpcy5nWCgpfHwodGhpcy5hYm9ydCgpLHRoaXMuVGkoKSx0aGlzLm1PPXRoaXMuanE9dGhpcy5kSD1udWxsLHRoaXMuYXBwZW5kV2luZG93U3RhcnQ9dGhpcy50aW1lc3RhbXBPZmZzZXQ9MCx0aGlzLkY0PVRpKFtdLFtdKSx0aGlzLkhIPSExLHRoaXMueTY9UGM/W106dm9pZCAwLHRoaXMuZW89ITApfU1yKCl7cmV0dXJuIHM0JiYKdGhpcy5mWT90aGlzLmFwcGVuZFdpbmRvd1N0YXJ0OnRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwfUtGKCl7cmV0dXJuIHRoaXMuUUU/LmFwcGVuZFdpbmRvd0VuZHx8MH1lNyhuLFcpe3RoaXMuUUUmJihzNCYmdGhpcy5mWT8odGhpcy5hcHBlbmRXaW5kb3dTdGFydD1uLHRoaXMuUUUuYXBwZW5kV2luZG93RW5kPVcpOm4+dGhpcy5NcigpPyh0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XLHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bik6KHRoaXMuUUUuYXBwZW5kV2luZG93U3RhcnQ9bix0aGlzLlFFLmFwcGVuZFdpbmRvd0VuZD1XKSl9aXcoKXtyZXR1cm4gdGhpcy50aW1lc3RhbXBPZmZzZXR9eU8obil7czQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ9bjp0aGlzLnN1cHBvcnRzKDEpJiYodGhpcy5RRS50aW1lc3RhbXBPZmZzZXQ9bil9U1coKXtyZXR1cm4gczQ/dGhpcy50aW1lc3RhbXBPZmZzZXQ6dGhpcy5zdXBwb3J0cygxKT90aGlzLlFFLnRpbWVzdGFtcE9mZnNldDowfVpGKG49CiExKXtpZihuKXJldHVybiB0aGlzLkhIfHx0aGlzLnl1KCl8fCh0aGlzLkY0PXRoaXMuWkYoITEpLHRoaXMuSEg9ITApLHRoaXMuRjQ7dHJ5e3JldHVybiB0aGlzLlFFP3RoaXMuUUUuYnVmZmVyZWQ6dGhpcy5FVj90aGlzLkVWLndlYmtpdFNvdXJjZUJ1ZmZlcmVkKHRoaXMuaWQpOlRpKFswXSxbSW5maW5pdHldKX1jYXRjaChXKXtyZXR1cm4gVGkoW10sW10pfX15dSgpe3JldHVybiB0aGlzLlFFPy51cGRhdGluZ3x8ITF9Z1goKXtyZXR1cm4gdGhpcy5lb31EYygpe3JldHVybiF0aGlzLmVvJiZ0aGlzLnl1KCl9aDkoKXt0aGlzLmVvPSExfXRaKG4pe3ZhciBXPW4/LklCO249bj8uY29udGFpbmVyVHlwZTtyZXR1cm4hVyYmIW58fFc9PT10aGlzLklCJiZuPT09dGhpcy5jb250YWluZXJUeXBlfUQ5KCl7cmV0dXJuIHRoaXMuanF9TEYoKXtyZXR1cm4gdGhpcy5tT31uYShuLFcpe3JldHVybiB0aGlzLmNvbnRhaW5lclR5cGUhPT1ufHx0aGlzLklCIT09V31qbihuLFcsRCl7aWYodGhpcy5jb250YWluZXJUeXBlIT09Cm58fEQmJnRoaXMubmEobixEKSl0aGlzLnN1cHBvcnRzKDQpLFZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShXKSxEJiYodGhpcy5JQj1EKTt0aGlzLmNvbnRhaW5lclR5cGU9bn1WbyhuLFcsRCl7dGhpcy5jb250YWluZXJUeXBlJiZ0aGlzLm5hKG4sVykmJlZUKCkmJnRoaXMuUUUuY2hhbmdlVHlwZShEKTt0aGlzLmNvbnRhaW5lclR5cGU9bjt0aGlzLklCPVd9WmcoKXtyZXR1cm4gdGhpcy5kSH1pUSgpe3JldHVybiEhdGhpcy5kSCYmIXRoaXMuZEguYVp9aXNWaWV3KCl7cmV0dXJuITF9c3VwcG9ydHMobil7c3dpdGNoKG4pe2Nhc2UgMTpyZXR1cm4gdGhpcy5RRT8udGltZXN0YW1wT2Zmc2V0IT09dm9pZCAwO2Nhc2UgMDpyZXR1cm4hIXRoaXMuUUU/LmFwcGVuZEJ1ZmZlcjtjYXNlIDI6cmV0dXJuISF0aGlzLlFFPy5yZW1vdmU7Y2FzZSAzOnJldHVybiEoIXRoaXMuUUU/LmFkZEV2ZW50TGlzdGVuZXJ8fCF0aGlzLlFFPy5yZW1vdmVFdmVudExpc3RlbmVyKTtjYXNlIDQ6cmV0dXJuISghdGhpcy5RRXx8CiF0aGlzLlFFLmNoYW5nZVR5cGUpO2RlZmF1bHQ6cmV0dXJuITF9fWpvKCl7cmV0dXJuIXRoaXMueXUoKX1pc0xvY2tlZCgpe3JldHVybiExfXlyKG4pe24udG89dGhpcy5TVygpO24udXA9dGhpcy55dSgpO24uYXc9YCR7KHRoaXMuUUU/LmFwcGVuZFdpbmRvd1N0YXJ0fHwwKS50b0ZpeGVkKDMpfS0keyh0aGlzLlFFPy5hcHBlbmRXaW5kb3dFbmR8fEluZmluaXR5KS50b0ZpeGVkKDMpfWA7cmV0dXJuIG59ZkYoKXtyZXR1cm4gdGhpcy5RRT8ud3JpdGVIZWFkfHwwfW5GKCl7dmFyIG49e307Zm9yKGxldCBXPTA7Vzx0aGlzLmlrLmxlbmd0aDtXKyspbltgcyR7V31gXT10aGlzLmlrW1ddO3JldHVybiBufW1BKCl7dGhpcy5zdXBwb3J0cygzKSYmKHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidXBkYXRlZW5kIix0aGlzLmhhbmRsZXIpLHRoaXMuUUUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMuaGFuZGxlcikpO3N1cGVyLm1BKCl9S3MoKXtyZXR1cm4gdGhpcy5jb250YWluZXJUeXBlfXowKCl7cmV0dXJuIHRoaXMueTZ9fSwKUGM9ITEsUWpaPSExO3ZhciB3bj1jbGFzc3tjb25zdHJ1Y3RvcihuLFc9ITEpe3RoaXMuWGI9bjt0aGlzLk49Vzt0aGlzLko9ITF9ZGlzcG9zZSgpe2lmKCF0aGlzLnFOKCkpe2lmKHRoaXMuTil0cnl7VVJMLnJldm9rZU9iamVjdFVSTCh0aGlzLlhiKX1jYXRjaChuKXt9dGhpcy5KPSEwfX1xTigpe3JldHVybiB0aGlzLkp9Vygpe3JldHVybiB0aGlzLk59ZXF1YWxzKG4pe3JldHVybiBuIT09bnVsbCYmbi5YYj09PXRoaXMuWGJ9dG9TdHJpbmcoKXtyZXR1cm5gTWVkaWFSZXNvdXJjZSB7JHt0aGlzLlhifX1gfX07dmFyIGhaPWNsYXNzIGV4dGVuZHMgZy5GTXtjb25zdHJ1Y3RvcihuLFcsRD0hMSl7c3VwZXIoKTt0aGlzLm1lZGlhRWxlbWVudD1uO3RoaXMubWVkaWFTb3VyY2U9Vzt0aGlzLmlzVmlldz1EO3RoaXMuWT0wO3RoaXMuVj0hMTt0aGlzLks9ITA7dGhpcy5jSj0wO3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLk89ITE7dGhpcy5tZWRpYVNvdXJjZXx8KHRoaXMuRVY9dGhpcy5tZWRpYUVsZW1lbnQuZV8oKSk7dGhpcy5ldmVudHM9bmV3IGcuRnModGhpcyk7Zy51KHRoaXMsdGhpcy5ldmVudHMpO3RoaXMuaj1uZXcgd24odGhpcy5tZWRpYVNvdXJjZT93aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLm1lZGlhU291cmNlKTp0aGlzLkVWLndlYmtpdE1lZGlhU291cmNlVVJMLCEwKTtuPXRoaXMubWVkaWFTb3VyY2V8fHRoaXMuRVY7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZW9wZW4iLCJ3ZWJraXRzb3VyY2VvcGVuIl0sdGhpcy5TJCk7S3kodGhpcy5ldmVudHMsbixbInNvdXJjZWNsb3NlIiwKIndlYmtpdHNvdXJjZWNsb3NlIl0sdGhpcy5UQyk7dGhpcy5MTD17dXBkYXRlZW5kOnRoaXMuZVh9fXR3KCl7cmV0dXJuIHRoaXMuan1nZXREdXJhdGlvbigpe3JldHVybiB0aGlzLm1lZGlhU291cmNlPy5kdXJhdGlvbnx8dGhpcy5jSn1hVChuKXt0cnl7dGhpcy5tZWRpYVNvdXJjZT90aGlzLm1lZGlhU291cmNlLmR1cmF0aW9uPW46KHRoaXMuY0o9bix0aGlzLkVWLndlYmtpdFNvdXJjZVNldER1cmF0aW9uKG4pKX1jYXRjaChXKXt9fVgoKXtyZXR1cm4hIXRoaXMuTnx8ISF0aGlzLkp9UEEoKXt0cnl7cmV0dXJuIHRoaXMuVygpPT09ImNsb3NlZCJ9Y2F0Y2gobil7cmV0dXJuITB9fVcoKXtpZih0aGlzLm1lZGlhU291cmNlKXJldHVybiB0aGlzLm1lZGlhU291cmNlLnJlYWR5U3RhdGU7c3dpdGNoKHRoaXMuRVYud2Via2l0U291cmNlU3RhdGUpe2Nhc2UgdGhpcy5FVi5TT1VSQ0VfT1BFTjpyZXR1cm4ib3BlbiI7Y2FzZSB0aGlzLkVWLlNPVVJDRV9FTkRFRDpyZXR1cm4iZW5kZWQiOwpkZWZhdWx0OnJldHVybiJjbG9zZWQifX15dSgpe3JldHVybiEhKHRoaXMuTiYmdGhpcy5OLnl1KCl8fHRoaXMuSiYmdGhpcy5KLnl1KCkpfVMkKCl7IXRoaXMucU4oKSYmbjYodGhpcykmJnRoaXMuY2FsbGJhY2smJih0aGlzLmNhbGxiYWNrKHRoaXMpLHRoaXMuY2FsbGJhY2s9bnVsbCl9VEMoKXt0aGlzLmRpc3Bvc2UoKX1lWChuKXtESCYmIXRoaXMuViYmbi5nWCgpJiZuLlpGKCkubGVuZ3RoPT09MCYmKGJBKHRoaXMubWVkaWFFbGVtZW50LHtsOiJtc3dvdWUiLHNyOnRoaXMubWVkaWFFbGVtZW50LllhPy5wZygpfSwhMSksbi5oOSgpLHRoaXMuZ1goKXx8KHRoaXMubWVkaWFFbGVtZW50LkNGPSEwLHRoaXMubWVkaWFFbGVtZW50LnNldEN1cnJlbnRUaW1lKDApKSl9Y2xlYXIoKXtXRih0aGlzLCgpPT57fSk7CnRoaXMuTj8uY2xlYXIoKTt0aGlzLko/LmNsZWFyKCl9RCgpe3RoaXMuTj8uaDkoKTt0aGlzLko/Lmg5KCk7dGhpcy5LPSExfWdYKCl7cmV0dXJuIHRoaXMuSj8uZ1goKXx8dGhpcy5OPy5nWCgpfXRaKG4sVyl7cmV0dXJuISF0aGlzLk4mJiEhdGhpcy5KJiZ0aGlzLk4udFooVykmJnRoaXMuSi50WihuKX1iZCgpe3JldHVybiEhdGhpcy5tZWRpYVNvdXJjZSYmdGhpcy5tZWRpYVNvdXJjZS5zdHJlYW1pbmc9PT0hMX19LERIPSExO3ZhciBnR3I9L2FjdGlvbl9kaXNwbGF5X3Bvc3QvO2cuR3g9Y2xhc3MgZXh0ZW5kcyBnLkZpe2NvbnN0cnVjdG9yKG49IiIsVz1udWxsLEQ9ITEpe3N1cGVyKCk7dGhpcy5zb3VyY2VVcmw9bjt0aGlzLmlzTGl2ZVBsYXliYWNrPUQ7dGhpcy5ISj10aGlzLmR1cmF0aW9uPTA7dGhpcy5pc1ByZW1pZXJlPXRoaXMuWGc9dGhpcy5pc1dpbmRvd2VkTGl2ZT10aGlzLmlzTGl2ZUhlYWRQbGF5YWJsZT10aGlzLmlzTGl2ZT10aGlzLlc9ITE7dGhpcy5IUD10aGlzLkl0PTA7dGhpcy5pc090Zj10aGlzLnpXPSExO3RoaXMuUyQ9KDAsZy5SKSgpO3RoaXMuY0o9SW5maW5pdHk7dGhpcy5OPXt9O3RoaXMuSj1uZXcgTWFwO3RoaXMuc3RhdGU9dGhpcy5sTj0wO3RoaXMuVj1udWxsO3RoaXMuaXNNYW5pZmVzdGxlc3M9ITE7dGhpcy5iZD1bXTt0aGlzLks9bnVsbDt0aGlzLmUkPTA7dGhpcy5qPSIiO3RoaXMuVEM9TmFOO3RoaXMuSlU9dGhpcy5vUj10aGlzLnRpbWVzdGFtcE9mZnNldD10aGlzLkQ9MDt0aGlzLldNPXRoaXMuSDI9TmFOO3RoaXMuSVQ9MDsKdGhpcy5WUT10aGlzLk89ITE7dGhpcy5HQz1bXTt0aGlzLnZKPXt9O3RoaXMuUFg9dGhpcy50dz1OYU47dGhpcy5DdT1XPy5FcSgiaHRtbDVfdXNlX25ldHdvcmtfZXJyb3JfY29kZV9lbnVtcyIpO016PSEhVyYmVy5FcSgiaHRtbDVfbW9kZXJuX3ZwOV9taW1lX3R5cGUiKTtIRj0hIVc/LkVxKCJodG1sNV9lbmFibGVfZmx1c2hfZHVyaW5nX3NlZWsiKSYmZy5kOCgpO2Y2PSEhVz8uRXEoImh0bWw1X2VuYWJsZV9yZXNldF9hdWRpb19kZWNvZGVyIikmJmcuZDgoKX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTF9dG4oKXtyZXR1cm4gdGhpcy5zdGF0ZT09PTN9bnUoKXtyZXR1cm4gZy5EbCh0aGlzLk4sbj0+ISFuLmluZm8udmlkZW8mJm4uaW5mby52aWRlby5xdWFsaXR5T3JkaW5hbD49MjE2MCl9WCgpe3JldHVybiBnLkRsKHRoaXMuTixuPT4hIW4uaW5mby5jb250ZW50UHJvdGVjdGlvbil9eUUobil7dmFyIFc9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiUmVwcmVzZW50YXRpb24iKTsKaWYobi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudExpc3QiKS5sZW5ndGg+MHx8bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiU2VnbWVudFRlbXBsYXRlIikubGVuZ3RoPjApe3RoaXMuelc9dGhpcy5XPSEwO3RoaXMuVnx8KHRoaXMuVj1uZXcga0xDKTtjSGoodGhpcy5WLG4pO3RoaXMuV0ooInJlZnJlc2giKTtmb3Iobj0wO248Vy5sZW5ndGg7bisrKXt2YXIgRD15Qyh0aGlzLFdbbl0pO2lmKCF0aGlzLk5bRC5pZF0pe3ZhciBiPVJ4KFRQKFdbbl0sIkJhc2VVUkwiKS50ZXh0Q29udGVudCksdj1UUChXW25dLCJJbml0aWFsaXphdGlvbiIpLGs9bFQodiwic291cmNlVVJMIik7dj1ueihsVCh2LCJyYW5nZSIpKTt0aGlzLk5bRC5pZF09bmV3IGR0KGIsRCxrLHYpfUQ9dGhpcy5OW0QuaWRdO2s9bFQoV1tuXSwiaWQiLCJBZGFwdGF0aW9uU2V0Iik7az1rIT09IiI/azpsVChXW25dLCJtaW1ldHlwZSIsIkFkYXB0YXRpb25TZXQiKTtiPXRoaXMuVjtrPWIuV1tELmluZm8uaWRdfHxiLkpba118fApiLk58fG51bGw7Yj1rLk47IXRoaXMuRCYmay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkmJih0aGlzLkQ9ay5nZXRTdHJlYW1UaW1lT2Zmc2V0KCkpO2lmKGsuail7dj1bXTtmb3IodmFyIGggb2YgYil7Yj1ELmluZm8uaWQ7dmFyIHg9RC5pbmZvLk5zKjgsTD1oLmokLGU9aC5zdGFydFNlY3MsRz1rLksuc3BsaXQoIiQkIik7Zm9yKHZhciByPTA7cjxHLmxlbmd0aDtyKyspR1tyXT1HW3JdLnJlcGxhY2UoIiRSZXByZXNlbnRhdGlvbklEJCIsYiksR1tyXT1HW3JdLnJlcGxhY2UoIiROdW1iZXIkIixMLnRvU3RyaW5nKCkpLEdbcl09R1tyXS5yZXBsYWNlKCIkQmFuZHdpZHRoJCIseC50b1N0cmluZygpKSxHW3JdPUdbcl0ucmVwbGFjZSgiJFRpbWUkIixlLnRvU3RyaW5nKCkpO2I9Ry5qb2luKCIkIik7di5wdXNoKG5ldyBSNChoLmokLGguc3RhcnRTZWNzLGguQ2YsaC5OLGIsbnVsbCxoLkopKX1iPXZ9ZWxzZXtMPVYyKFRQKFdbbl0sIlNlZ21lbnRMaXN0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIlNlZ21lbnRVUkwiKSwKay5WKTtlPVtdO2ZvcihHPTA7RzxMLmxlbmd0aDtHKyspe2s9ZTt2PWsucHVzaDtyPXZvaWQgMDt2YXIgTj1MW0ddO3g9YltHXTtsZXQgSD1OLmdldEF0dHJpYnV0ZSgibWVkaWEiKTtpZihOPU4uZ2V0QXR0cmlidXRlKCJtZWRpYVJhbmdlIikpe2xldCBBPU4uc3BsaXQoIi0iKTtBWzFdJiZOdW1iZXIoQVsxXSk+PTA/cj1ueihOKTpIPWAke0h9P3JhbmdlPSR7Tn1gfXYuY2FsbChrLG5ldyBSNCh4LmokLHguc3RhcnRTZWNzLHguQ2YseC5OLEgscix4LkopKX1iPWV9RC51cGRhdGUoYix0aGlzLmlzTGl2ZSx0aGlzLkhKKX1hRFUodGhpcy5WKTtyZXR1cm4hMH10aGlzLmR1cmF0aW9uPWp4KGxUKG4sIm1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24iKSk7YTp7Zm9yKGg9MDtoPFcubGVuZ3RoO2grKyl7Yj1XW2hdO249eUModGhpcyxiKTtEPVJ4KFRQKGIsIkJhc2VVUkwiKS50ZXh0Q29udGVudCk7az1UUChiLCJTZWdtZW50QmFzZSIpO2I9bnooay5hdHRyaWJ1dGVzLmdldE5hbWVkSXRlbSgiaW5kZXhSYW5nZSIpLnZhbHVlKTsKaz1ueihrLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJJbml0aWFsaXphdGlvbiIpWzBdLmF0dHJpYnV0ZXMuZ2V0TmFtZWRJdGVtKCJyYW5nZSIpLnZhbHVlKTtuPW5ldyBzayhELG4sayxiKTtpZighbil7Vz0hMTticmVhayBhfSRnKHRoaXMsbil9Vz0hMH1yZXR1cm4gV31EdChuKXtyZXR1cm4gdGhpcy5WP1YyKHRoaXMuVi5YLG4pOnRoaXMuYmQubGVuZ3RoP1YyKHRoaXMuYmQsbik6W119cmVmcmVzaCgpe2lmKCF0aGlzLmlzTG9hZGluZygpJiYhdGhpcy5xTigpKXt2YXIgbj1nLkVUKHRoaXMuc291cmNlVXJsLHtzdGFydF9zZXE6QSRpKHRoaXMpLnRvU3RyaW5nKCl9KTtTNCh0aGlzLG4pLnNQKCgpPT57fSl9fXN1c3BlbmQoKXt0aGlzLksmJnRoaXMuSy5zdG9wKCl9cmVzdW1lKCl7QVoodGhpcyl9ckkoKXtpZih0aGlzLmlzTWFuaWZlc3RsZXNzJiZ0aGlzLmlzV2luZG93ZWRMaXZlJiZpQSh0aGlzKSlyZXR1cm4gaUEodGhpcyk7CnZhciBuPXRoaXMuTixXPSExLEQ9TmFOLGI9TmFOO2ZvcihsZXQgayBpbiBuKXtsZXQgaD1uW2tdO3ZhciB2PWguaW5kZXg7aWYoIXYuaXNMb2FkZWQoKXx8aC5pbmZvLk4oKSljb250aW51ZTtoLlYmJihXPSEwKTt2PXYuYlEoKTtoLmluZm8uZVMoKSYmKGlzTmFOKEQpfHx2PEQpP0Q9djpoLmluZm8uZlkoKSYmKGlzTmFOKGIpfHx2PGIpJiYoYj12KX1yZXR1cm4gV3x8aXNOYU4oYik/RDpNYXRoLm1pbihELGIpfUxmKCl7aWYodGhpcy5pc01hbmlmZXN0bGVzcyl7aWYodUEodGhpcykpcmV0dXJuIHVBKHRoaXMpO2lmKHRoaXMuSVQpe3ZhciBuPXRoaXMuaEModGhpcy5ySSgpKTtpZihuJiYobi09dGhpcy5JVCxuPjApKXJldHVybiB0aGlzLnJJKCktbn19bj10aGlzLk47Zm9yKGxldCBXIGluIG4pe2xldCBEPW5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpJiYhbltXXS5pbmZvLk4oKSlyZXR1cm4gRC5MZigpfXJldHVybiAwfWdldFN0cmVhbVRpbWVPZmZzZXQoKXtyZXR1cm4gdGhpcy5EfWhDKG4pe2ZvcihsZXQgVyBpbiB0aGlzLk4pe2xldCBEPQp0aGlzLk5bV10uaW5kZXg7aWYoRC5pc0xvYWRlZCgpKXtsZXQgYj1ELlIzKG4pLHY9RC5oQyhiKTtpZih2KXJldHVybiB2K24tRC5nZXRTdGFydFRpbWUoYil9fXJldHVybiBOYU59cWgoKXtyZXR1cm4gdGhpcy5lJH1qVygpe2ZvcihsZXQgbiBpbiB0aGlzLk4pdGhpcy5OLmhhc093blByb3BlcnR5KG4pJiYodGhpcy5OW25dLko9bnVsbCx0aGlzLk5bbl0uY0o9ITEpfX07Zy5HeC5wcm90b3R5cGUuRkY9V1ooNCk7dmFyIE16LEhGLGY2LHd0PW51bGwsUm89ISFuYXZpZ2F0b3IubWVkaWFDYXBhYmlsaXRpZXM/LmRlY29kaW5nSW5mbyxVaz17Y29tbWVudGFyeToxLGFsdGVybmF0ZToyLGR1YjozLG1haW46NH07dmFyIGNGPW5ldyBTZXQsUUM9bmV3IE1hcDt2YXIgUGVNPWNsYXNze2NvbnN0cnVjdG9yKG4pe3RoaXMueVE9bjt0aGlzLk5kPXRoaXMuYnY9dGhpcy5ISj10aGlzLlY9dGhpcy5qPXRoaXMuSGk9dGhpcy5HQz10aGlzLmNKPSExO3RoaXMuWT10aGlzLks9MDt0aGlzLkN1PSExO3RoaXMudHc9ITA7dGhpcy5QWD0hMTt0aGlzLm5TPTA7dGhpcy5GRj10aGlzLm51PXRoaXMub0w9dGhpcy5lJD0hMTt0aGlzLk49e307dGhpcy5qVz10aGlzLlJhPXRoaXMudlg9dGhpcy5kaXNhYmxlQXYxPXRoaXMuYmQ9dGhpcy5Rcj10aGlzLnlFPXRoaXMuWVo9dGhpcy5CVj10aGlzLko9dGhpcy5XPXRoaXMuRD0hMTt0aGlzLlMkPTA7dGhpcy5UQz0hMTt0aGlzLnM1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9hYWNfcHJlZmVyZW5jZSIpO3RoaXMud2E9SW5maW5pdHk7dGhpcy54ZD0wO3RoaXMuTEI9dGhpcy55US5XWCgpO3RoaXMuSEQ9dGhpcy55US5leHBlcmltZW50cy5FcSgiaHRtbDVfZW5hYmxlX3ZwOV9mYWlycGxheSIpO3RoaXMuTWQ9dGhpcy55US5TKCJodG1sNV9mb3JjZV9hdjFfZm9yX3Rlc3RpbmciKTsKdGhpcy55dz10aGlzLnlRLlp0KCkuTi5RUShWSWopO3RoaXMudko9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9hdjFfb3JkaW5hbF9jYXAiKTt0aGlzLlU1PXRoaXMueVEuUygiaHRtbDVfZGlzYWJsZV9oZnJfd2hlbl92cDlfZW5jcnlwdGVkXzJrNGtfdW5zdXBwb3J0ZWQiKTt0aGlzLkU1PXRoaXMueVEuUygiaHRtbDVfYWNjb3VudF9vbmVzaWVfZm9ybWF0X3NlbGVjdGlvbl9kdXJpbmdfZm9ybWF0X2ZpbHRlciIpO3RoaXMuTnM9Zy5kTSh0aGlzLnlRLmV4cGVyaW1lbnRzLCJodG1sNV9tYXhfYnl0ZXJhdGUiKTt0aGlzLlZRPXRoaXMueVEuUygiaHRtbDVfZW5hYmxlX2lhbWZfYXVkaW8iKTt0aGlzLmZCPXRoaXMueVEuWnQoKS5OLlFRKFFPeCk7dGhpcy5EdD10aGlzLnlRLmV4cGVyaW1lbnRzLkVxKCJodG1sNV9hbGxvd19jYXBhYmlsaXR5X21lcmdlIik7dGhpcy5ZJD10aGlzLnlRLlMoImh0bWw1X2VuYWJsZV9lbmNyeXB0ZWRfYXYxIik7dGhpcy5ZWj10aGlzLnlRLlp0KCkuTi5RUShaN1UpfHwKdGhpcy55US5TKCJkaXNhYmxlX3ByZWZlcl9oYnJfdnA5Iil9fTt2YXIgcjE9Y2xhc3N7Y29uc3RydWN0b3IobixXLEQsYil7dGhpcy5mbGF2b3I9bjt0aGlzLmtleVN5c3RlbT1XO3RoaXMuVz1EO3RoaXMuZXhwZXJpbWVudHM9Yjt0aGlzLko9e307dGhpcy5DaT10aGlzLmtleVN5c3RlbUFjY2Vzcz1udWxsO3RoaXMuamk9dGhpcy5WOT0tMTt0aGlzLkZjPW51bGw7dGhpcy5YPSEhYiYmYi5FcSgiZWRnZV9ub25wcmVmaXhlZF9lbWUiKTtiJiZiLkVxKCJodG1sNV9lbmFibGVfdnA5X2ZhaXJwbGF5Iil9Y2xvbmUobil7cmV0dXJuIG5ldyByMSh0aGlzLmZsYXZvcixuLHRoaXMuVyx0aGlzLmV4cGVyaW1lbnRzKX1OKCl7cmV0dXJuIHRoaXMua2V5U3lzdGVtPT09ImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwifXlyKCl7cmV0dXJue2ZsYXZvcjp0aGlzLmZsYXZvcixrZXlTeXN0ZW06dGhpcy5rZXlTeXN0ZW19fWtMKCl7c3dpdGNoKHRoaXMua2V5U3lzdGVtKXtjYXNlICJjb20ueW91dHViZS5wbGF5cmVhZHkiOnJldHVybiJQUlkiO2Nhc2UgImNvbS5taWNyb3NvZnQucGxheXJlYWR5IjpyZXR1cm4iUFJNIjsKY2FzZSAiY29tLndpZGV2aW5lLmFscGhhIjpyZXR1cm4iV1ZBIjtjYXNlICJjb20ueW91dHViZS53aWRldmluZS5sMyI6cmV0dXJuIldWWSI7Y2FzZSAiY29tLnlvdXR1YmUuZmFpcnBsYXkiOnJldHVybiJGUFkiO2Nhc2UgImNvbS55b3V0dWJlLmZhaXJwbGF5LnNiZGwiOnJldHVybiJGUEMiO2Nhc2UgImNvbS5hcHBsZS5mcHMuMV8wIjpyZXR1cm4iRlBBIjtkZWZhdWx0OnJldHVybiB0aGlzLmtleVN5c3RlbX19fSxxVj17cGxheXJlYWR5OlsiY29tLnlvdXR1YmUucGxheXJlYWR5IiwiY29tLm1pY3Jvc29mdC5wbGF5cmVhZHkiXSx3aWRldmluZTpbImNvbS55b3V0dWJlLndpZGV2aW5lLmwzIiwiY29tLndpZGV2aW5lLmFscGhhIl19LHZRQz17d2lkZXZpbmU6IkRSTV9TWVNURU1fV0lERVZJTkUiLGZhaXJwbGF5OiJEUk1fU1lTVEVNX0ZBSVJQTEFZIixwbGF5cmVhZHk6IkRSTV9TWVNURU1fUExBWVJFQURZIn0seFZpPXt3aWRldmluZToxLGZhaXJwbGF5OjIscGxheXJlYWR5OjN9O3ZhciBaV1M9Y2xhc3MgZXh0ZW5kcyBnLkZNe2NvbnN0cnVjdG9yKG4sVyxELGI9ITEsdil7c3VwZXIoKTt0aGlzLnlRPVc7dGhpcy51c2VDb2JhbHRXaWRldmluZT1iO3RoaXMuVT12O3RoaXMuSj1bXTt0aGlzLlc9e307dGhpcy5OPXt9O3RoaXMuY2FsbGJhY2s9bnVsbDt0aGlzLmo9ITE7dGhpcy5YPVtdO3RoaXMuaW5pdGlhbGl6ZShuLCFEKX1pbml0aWFsaXplKG4sVyl7Zm9yKGxldCBiIG9mIE9iamVjdC5rZXlzKG4pKXt2YXIgRD1iO2ZvcihsZXQgdiBvZiBuW0RdKWlmKHYuY29udGVudFByb3RlY3Rpb24pZm9yKGxldCBrIG9mIE9iamVjdC5rZXlzKHYuY29udGVudFByb3RlY3Rpb24pKXtEPWs7bGV0IGg9cVZba107IWgmJnRoaXMuUygiaHRtbA=="}},"time_used":17,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/manifest.json","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:56.727Z","timestamp":1785129956727,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /manifest.json HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: text/plain\r\nOrigin: https://digitaltradeinvest.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://digitaltradeinvest.org/\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/2 200 \r\ndate: Mon, 27 Jul 2026 05:26:00 GMT\r\ncontent-type: application/json\r\naccess-control-allow-origin: *\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a4cb803-891\"\r\nexpires: Tue, 07 Jul 2026 08:35:15 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k1Pb3T539gnRk7CkzfH+4JAIVUWz7PsgjNqz/j+UJSSUSIfCxsq8M+14c8urQ012NxKf3fk\r\nx-77-nzt-ray: e2f754206d2b2a7ee8eb666ae49ce902\r\nx-77-cache: HIT\r\nx-77-age: 29\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":2193,"size_decoded":1034,"mime_type":"application/json","magic":"JSON text data","md5":"88bd6816d4679ef7a63e1e6b61490804","sha1":"a592c82f8688d81c4ff12ddda0f42d842dbcf079","sha256":"1147d96bffe9abe8aa663c63cca281edbff049e2211f810da089a1dd90051df8","sha512":"e583bebb86335657d7cca5065967a4e281280f0b4ab1fe0457de1dee47f12f84922daf5fe938c39bfb8f03e086d706f2b0fd1d86a6e79c4cce053f0943dcb762","ssdeep":"","tlshash":"d9414593c0b80e5317cc262bb89545515d5083c7e88a3d0d366d9a7f2f4cea920e6b7e","first_seen":"2026-07-07T11:50:17.724469Z","last_seen":"2026-07-27T07:27:47.909394Z","times_seen":1802,"resource_available":false,"data":"ewogICJfV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VySW5wdXQiLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIgogICAgXSwKICAgICJkeW5hbWljSW1wb3J0cyI6IFsKICAgICAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIgogICAgXQogIH0sCiAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICJuYW1lIjogIkljb25CdXR0b24iLAogICAgImR5bmFtaWNJbXBvcnRzIjogWwogICAgICAibm9kZV9tb2R1bGVzLy5wbnBtL0B0aHVtYm1hcmtqcyt0aHVtYm1hcmtqc0AxLjkuMC9ub2RlX21vZHVsZXMvQHRodW1ibWFya2pzL3RodW1ibWFya2pzL2Rpc3QvdGh1bWJtYXJrLmVzbS5qcyIKICAgIF0KICB9LAogICJub2RlX21vZHVsZXMvLnBucG0vQHRodW1ibWFya2pzK3RodW1ibWFya2pzQDEuOS4wL25vZGVfbW9kdWxlcy9AdGh1bWJtYXJranMvdGh1bWJtYXJranMvZGlzdC90aHVtYm1hcmsuZXNtLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL3RodW1ibWFyay5lc20tQ1A0Q1UweUwuanMiLAogICAgIm5hbWUiOiAidGh1bWJtYXJrLmVzbSIsCiAgICAic3JjIjogIm5vZGVfbW9kdWxlcy8ucG5wbS9AdGh1bWJtYXJranMrdGh1bWJtYXJranNAMS45LjAvbm9kZV9tb2R1bGVzL0B0aHVtYm1hcmtqcy90aHVtYm1hcmtqcy9kaXN0L3RodW1ibWFyay5lc20uanMiLAogICAgImlzRHluYW1pY0VudHJ5IjogdHJ1ZQogIH0sCiAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21vZHVsZS1ERDVudlZEMy5qcyIsCiAgICAibmFtZSI6ICJtb2R1bGUiLAogICAgInNyYyI6ICJub2RlX21vZHVsZXMvLnBucG0vZW1vamktbWFydEA1LjYuMC9ub2RlX21vZHVsZXMvZW1vamktbWFydC9kaXN0L21vZHVsZS5qcyIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlCiAgfSwKICAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VyIiwKICAgICJzcmMiOiAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICAgIl9XaWRnZXRNZXNzZW5nZXJJbnB1dC1DMFhIUHhldi5qcyIsCiAgICAgICJzcmMvbWFpbi50cyIKICAgIF0KICB9LAogICJzcmMvZnJhbWVzL3BvcHVwL1dpZGdldFBvcHVwLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRQb3B1cC1xZXV3a2NCbi5qcyIsCiAgICAibmFtZSI6ICJXaWRnZXRQb3B1cCIsCiAgICAic3JjIjogInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIiwKICAgICJpc0R5bmFtaWNFbnRyeSI6IHRydWUsCiAgICAiaW1wb3J0cyI6IFsKICAgICAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiLAogICAgICAiX1dpZGdldE1lc3NlbmdlcklucHV0LUMwWEhQeGV2LmpzIgogICAgXQogIH0sCiAgInNyYy9tYWluLnRzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21haW4tdDZXeExBQkEuanMiLAogICAgIm5hbWUiOiAibWFpbiIsCiAgICAic3JjIjogInNyYy9tYWluLnRzIiwKICAgICJpc0VudHJ5IjogdHJ1ZSwKICAgICJpbXBvcnRzIjogWwogICAgICAiX3NoYXJlZC1DZ01DQWZvci5qcyIKICAgIF0sCiAgICAiZHluYW1pY0ltcG9ydHMiOiBbCiAgICAgICJzcmMvZnJhbWVzL21lc3Nlbmdlci9XaWRnZXRNZXNzZW5nZXIuc3ZlbHRlIiwKICAgICAgInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIgogICAgXQogIH0sCiAgInN0eWxlLmNzcyI6IHsKICAgICJmaWxlIjogImFzc2V0cy9zdHlsZS1DbGlKd1VUUi5jc3MiLAogICAgInNyYyI6ICJzdHlsZS5jc3MiCiAgfQp9"}},"time_used":3327,"timings":{"blocked":-1,"dns":4,"connect":9,"send":0,"wait":8,"receive":0,"ssl":3306},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/11419.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.204Z","timestamp":1785129950204,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/11419.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1176\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Mon, 27 Jul 2026 03:37:24 GMT\r\nlast-modified: Fri, 10 Jul 2026 07:52:55 GMT\r\netag: \"39ab3ac48aa1693b8a5aef2412aadae4\"\r\nx-amz-server-side-encryption: AES256\r\ncache-control: public, max-age=86400\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 6507\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: x3FJE7m5hFaf6zVcGy69nHv7SY-hVMDYANkyKNGmLMGJHqSqX9lMeg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":1176,"size_decoded":1730,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"39ab3ac48aa1693b8a5aef2412aadae4","sha1":"fc0e587e8aca14afd2ecc7950111fdd1d7c97a3c","sha256":"f356723070d7f2a47075c065b9585f5cbbbe2a8eaa090c73e60aab31259c877b","sha512":"5ba8f010481a41b1151310cd650ff6c29420b432930114400c6fb1d0d8b707f082a002f43d5e0f862a302a5643db75ac1587d67338083bbf1e1a3e47284a7e3e","ssdeep":"","tlshash":"e22106a3eb5a2ee2c87c4d382d472406a4bb1cec70e06e16e132c29c78d280ca8b0120","first_seen":"2026-07-10T15:09:07.671192Z","last_seen":"2026-08-15T04:03:50.997045Z","times_seen":1132,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAEX0lEQVR4Xu2YT0gUURzHpVN1qENFdKxbIbszu1lU9AeqWxYR0SWiLp06BEHH2EjIqGMoRbU7syrmQcsIQyL6R2V/KKIsDY1SzC3toPNnd3T39Xu7as5vxp2ZnZ0/ynzgi7jz5r33fe/3+82bqagICAgICAgIKAUmLlaxvHie4aQm+NsO6nBJ7XTMMIwdSYhRPC/HYeICAxN4xnAi8YNYXnoa4YQQnqcjhDnhKAyaxpPwgdJ0bni+ZYVJCntZTpzUGdwXys8N5ojnXRbYW+OrYIBfeFC/ic5xE0dW4PnbhuGE23gwv4rlhGY8f1tEeLGa4cUcHsi3grlGOHEf9lES0RayHDod0AzisCCUyf42mUST2msmNbi5YXQZ9mMZ6KhOp3PHVfMyQyiJTxOaaxZUh/1YIpKUt0MnWZ2OHRXd/c8j2fwCjMo5sqlB28akstQD9mWKXXGyGApft06njuvQXZnk8vYLnH6U1rQxKzgbfKFesD9D4Lh5AXfmluIQ9rN5+GNS08aKqBfsryjsTSEMNyq4IzcEkyW/pdn7T4gC2bCzWdK0tSCFTQph7FOXWIwsgnN+l04nrujUw7TK/DQXuxRNW4vqot6wXw3wYnFG52bX1NE/ib3n6YaiiNtaFfWG/aqoupVex/DSOL7RDVXB8/7skwzJFIq/LpdfK2RLo41UAG8hXl6LfReIxRbBCapTc5PDOnJPJo3dE2REVuf9XAgKIXe+TZATD+R8vcD9GSohdFKv2H4FFIljmsYOaXeLRK68UUjP3yLbbYKBsRyp/6CQ6lZZM0YxsUn5mMp8tGlsJez+H9zQCV19r5AJe741ZCF4WnvNnxjhoDVCPc8sAOTGJdzIKd3vUz/jy8XHP9aKJMtJtTMLAP98wQ2cUqHYpcnTgUnbkUB3/t1wlsReZMi2JmvFkXr+HwEJoRc3cEN7pmrB11FrK/FzKvf3tVozrZbU838BPHrjm63D7XI+j4vxGKLmeEeaREqp/kjhhFg/swDwzr0GfhzEjbzQ22H9aBgScmUxPqXByiayemYBKGxDZgNcSOk0dlXnnhe+A2Cuf7R9FJ5WinpVmZ8mxGcqaQOdm1zTVjjpiSgT6BHpQJu1Z/0cSlGP2LeKjT5YhPY+9fvAh9/WHnFzKEW9Yb+6hPhxTxfhZKf6jbDmVUbTxqJS1BP2WRQvIyEKxe6XUHg3oN8Cdtj7FmB+5zFe1oQbUPQoD77b+hpknPNGeBUJ9LW3tiuTf3HC10yq9J3HeF0TSpD1nDfCq0goQeXbeYyXNcGk7Oe8ET6OBOd2HuPDmlD+nDfCR5Hg3s5jfFATnM95IzyMBO92HuNBTXA/541wMRL8s/MYF2qC9zlvhIOR4N+dxzhQE/yX80aUMRLmz85jylAT/J/zRtiIhPm785gSasL8y3kjLETCwtl5jImaMP9z3ogikbBwdx4T4cfXM7zYN8t8P/0Nt1vQRK8NLQ1z0kGqLS1kCb4eEBAQ4Ab/ACidG3skOUS6AAAAAElFTkSuQmCC"}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/3635.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.222Z","timestamp":1785129950222,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/3635.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2898\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Thu, 16 Mar 2023 13:04:10 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:08:29 GMT\r\netag: \"0383d666db05fd337b9c48f5cca099b5\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 81163\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: 7h_fo1b6HUOePObwRQagYcE1TfzQlzaO1Q1pg6jWtn1Ok2O9dbu1Fg==\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":"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 S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":2898,"size_decoded":3432,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"0383d666db05fd337b9c48f5cca099b5","sha1":"8753fdae53ff0316cdae36277df48fd191899308","sha256":"6df892e8987e5a31eb490ccf4d625a34c1adc00f479831dbc70773ccc07a274f","sha512":"be5d557758477558c00b6e688553130f2422cc4537b70f7a97d3e9bcdd22573b9a0954c79c047d6c9196f2b351cd32bb750ef445bc40c7401bb91c589212baf3","ssdeep":"","tlshash":"15513b5a40a83888d7406ba7e170ce1ca3e38062ea8e6b07d5c3ba6699725102e534f7","first_seen":"2023-12-05T12:10:14Z","last_seen":"2026-08-15T04:03:51.069336Z","times_seen":1542,"resource_available":false,"data":"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"}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/19891.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.249Z","timestamp":1785129950249,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/19891.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 958\r\nalt-svc: h3=\":443\"; ma=86400\r\ndate: Sun, 26 Jul 2026 08:33:21 GMT\r\nlast-modified: Sun, 08 May 2022 19:17:08 GMT\r\netag: \"c31a8ad908f213778980e620b7a38a95\"\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\nx-cache: Hit from cloudfront\r\nage: 75150\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nvary: Origin\r\nx-amz-cf-id: UrrfB5cmUNqGtrlohDU3NrMYGneJ9VMe_9pSQPBMrkT_FGZ0bSpkeQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":958,"size_decoded":1436,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"c31a8ad908f213778980e620b7a38a95","sha1":"69c6acd7300eda51040cf03fc3b726a1bddc0d80","sha256":"4a2125caa6fd094e4bb5998fdef721f48100d8394259d2f79cc42a673aceb8a9","sha512":"b3625f5e067acac0628975306f29997c91db3298a37c2e2ed9d30016eb62080b666d6364c91549c6ed97e64f2cd68ba862c90ef5c5eb59893a802a5cdf2981e9","ssdeep":"","tlshash":"ca11c8bbc09e72b5ad344ef34152ef0413480ad4a2212d6c21a194c1560d2ebc7ec706","first_seen":"2025-11-23T13:22:53.396084Z","last_seen":"2026-08-15T04:03:51.007787Z","times_seen":1504,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADhUlEQVR4Xs2aMW5UQRBEfRVOwAk4ARdwTAwZiIyAhBQSLkAIKQEZGUhEBE5IsGQugIRIQY00qPf9mpmePz1//aQKtqe7elzyWrvrvfhzIHceXoZ0JBcsZMIfbK9Wkh4AL5+tbNIC4EWpUThPZTEdAC9W9OnbFVt3c3VzvfHPCmJ3ALxI60LsiUrBnlZvhF0BcLm6AM9nRXiueiIMB9BbyvNskd55j3AAXMRlPFut3u4ooQBofvfJg+rZ0SrYnWpnLboBtEx5di617tRjKIBaXWkV3KP21eqKZgA1Iy6nVsN9am+tTqoBeIPR5/y7zx+dUz7c51Xg34QaMoCaKeu3VbX7KroBqNqsPKw9fvN6079H9Pc1zyYANUDzWXlYywrAxB2+VjhLAEdJ3Z+cBKAaaTqrCJyZkfL0HBLADPQalfLx/A9ANdBsVJnQe0TKo7AsgBVwR1RqvrAJ4Orm+8njPVoJd0Vl2KdUvOO/ANjI2oiOgDsjUrPG2QPg3NWPa3eq4c6I1KwhA+BwVD1UH2vlhVAP7o6Ic8ZJADPmfr6G6mNtdQB+1rhoNYyqh+pjzb8UrnH56vlmd0QFX7vVAWSLO02HBmCwl4/PGsCsRqjNrgxAKTUA0x5+/v618TlK6QGYMqDnKi0JwJQJvTOV+keQyob+o1I+SwMoyvxXOb1HpDwOCYCahX5RqfnUl8JReezx6G+If1s7ooJ/nPpmKCoPax++fnGndegZEecMGQBr2fKwturNkJozUgN4+f6tFPs8rEXeDBnKt6UCa5uPxMrzkQY99aj1shYNwOAdWjLswxZ6bwLwhzRpqUetl7VoACNviQuqlhaAXagH/VWNj2twf0tqppD6j5EInFGKwJmaVL/n8AAyuPfs0WZ3TQVVM04CMFQjTVs6Au6sSfWT9ADUkky4qyU1QzYBGGqA5j2tgDtaUjOKbgA1s6gyoGdPtTmFDMDwg6NfkqppBM5GVZj6klShZsClo1JehZkPRT21OmkGYNSMuHxEyqewNwBPra4YCoCGPItKeRTuv3i66e/J0zpTdAMwaJr1NyFDBT7n/VmLUAAGzbmAZ6vV2x0lHECht4jn2SK98x7DARhcqhbzfFaE56onwq4ADC5vXYI9USnY0+qNsDuAAi9SVL5slUHrU+BZpgMo8GLUKJynskgLoMCLZiub9AA8vPxerWRpAIQ/WE1H8hfLatbVj65uIAAAAABJRU5ErkJggg=="}},"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":"fonts.googleapis.com/css?family=Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i\u0026amp;display=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://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.094Z","timestamp":1785129949094,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"upload.video.google.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:27 GMT","end":"Mon, 21 Sep 2026 08:39:26 GMT"},"fingerprint":{"sha1":"50:37:CF:61:33:A1:EE:47:D9:3D:A6:5E:07:BA:4C:FF:F7:25:9F:76","sha256":"7D:4D:21:06:63:E2:5E:F0:8C:59:8E:EB:B7:94:2B:81:70:11:D3:F4:C0:A0:81:A6:1B:E7:27:FD:56:10:1A:11"}}},"request":{"raw":"GET /css?family=Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i\u0026amp;display=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://digitaltradeinvest.org/\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 05:25:49 GMT\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":20471,"size_decoded":1574,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"126c2fc4d51084b7607d8e4d1ad1e11e","sha1":"1f269e16f4b33f0760d8b74541c91a6bba61c09b","sha256":"f26b1f3582bfa913f3e65b95a622e11815eceab0c07e3d70e41fcb62736cfc49","sha512":"1c00caa1d2f217e72b86bb841bf2d5e8003579517c3c336b9007881a5bb560d1148eb4961efe6eb7dc802f6bf352089bbf3446976f005482e3046917fd583acb","ssdeep":"384:H3q323Hz3bAE42YsNB10A0Wq2rvDMYJQCx:XqG1QCx","tlshash":"12928ca2083ae11867831dc122cf7c36ef4ea254b444a974abfd1cdcada7c66537172d","first_seen":"2025-09-18T00:19:00.272205Z","last_seen":"2026-08-15T15:52:45.040619Z","times_seen":6092,"resource_available":false,"data":"LyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlBeXA4a3Y4SkhnRlZySkpMbUUwdERNUEt6U1Eud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5MDAtMDk3RiwgVSsxQ0QwLTFDRjksIFUrMjAwQy0yMDBELCBVKzIwQTgsIFUrMjBCOSwgVSsyMEYwLCBVKzI1Q0MsIFUrQTgzMC1BODM5LCBVK0E4RTAtQThGRiwgVSsxMUIwMC0xMUIwOTsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQXlwOGt2OEpIZ0ZWckpKTG1FMHRNTVBLelNRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQXlwOGt2OEpIZ0ZWckpKTG1FMHRDTVBJLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbXYxcFZGdGVPY0VnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUR5cDhrdjhKSGdGVnJKSkxtdjFwVkdkZU9jRWcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbXYxcFZGOWVPLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbTIxbFZGdGVPY0VnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUR5cDhrdjhKSGdGVnJKSkxtMjFsVkdkZU9jRWcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbTIxbFZGOWVPLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlHeXA4a3Y4SkhnRlZySkpMdWNYdEFLUFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5MDAtMDk3RiwgVSsxQ0QwLTFDRjksIFUrMjAwQy0yMDBELCBVKzIwQTgsIFUrMjBCOSwgVSsyMEYwLCBVKzI1Q0MsIFUrQTgzMC1BODM5LCBVK0E4RTAtQThGRiwgVSsxMUIwMC0xMUIwOTsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpR3lwOGt2OEpIZ0ZWckpKTHVmbnRBS1BZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpR3lwOGt2OEpIZ0ZWckpKTHVjSHRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbWcxaFZGdGVPY0VnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUR5cDhrdjhKSGdGVnJKSkxtZzFoVkdkZU9jRWcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbWcxaFZGOWVPLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbXIxOVZGdGVPY0VnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUR5cDhrdjhKSGdGVnJKSkxtcjE5VkdkZU9jRWcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbXIxOVZGOWVPLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbXkxNVZGdGVPY0VnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUR5cDhrdjhKSGdGVnJKSkxteTE1VkdkZU9jRWcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbXkxNVZGOWVPLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogODAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbTExMVZGdGVPY0VnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUR5cDhrdjhKSGdGVnJKSkxtMTExVkdkZU9jRWcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogODAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbTExMVZGOWVPLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogOTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbTgxeFZGdGVPY0VnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUR5cDhrdjhKSGdGVnJKSkxtODF4VkdkZU9jRWcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogOTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlEeXA4a3Y4SkhnRlZySkpMbTgxeFZGOWVPLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlHeXA4a3Y4SkhnRlZyTFBUdWNYdEFLUFkud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5MDAtMDk3RiwgVSsxQ0QwLTFDRjksIFUrMjAwQy0yMDBELCBVKzIwQTgsIFUrMjBCOSwgVSsyMEYwLCBVKzI1Q0MsIFUrQTgzMC1BODM5LCBVK0E4RTAtQThGRiwgVSsxMUIwMC0xMUIwOTsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpR3lwOGt2OEpIZ0ZWckxQVHVmbnRBS1BZLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpR3lwOGt2OEpIZ0ZWckxQVHVjSHRBLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEZqX1oxMWxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMRmpfWjFKbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEZqX1oxeGxGUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGRldmFuYWdhcmkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxEejhaMTFsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTER6OFoxSmxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxEejhaMXhsRlEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBkZXZhbmFnYXJpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUV5cDhrdjhKSGdGVnJKSmJlY21ORS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlFeXA4a3Y4SkhnRlZySkpuZWNtTkUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlFeXA4a3Y4SkhnRlZySkpmZWNnLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEdUOVoxMWxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMR1Q5WjFKbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEdUOVoxeGxGUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGRldmFuYWdhcmkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxFajZaMTFsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEVqNloxSmxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxFajZaMXhsRlEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBkZXZhbmFnYXJpICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMQ3o3WjExbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA5MDAtMDk3RiwgVSsxQ0QwLTFDRjksIFUrMjAwQy0yMDBELCBVKzIwQTgsIFUrMjBCOSwgVSsyMEYwLCBVKzI1Q0MsIFUrQTgzMC1BODM5LCBVK0E4RTAtQThGRiwgVSsxMUIwMC0xMUIwOTsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxDejdaMUpsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMQ3o3WjF4bEZRLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogZGV2YW5hZ2FyaSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTERENFoxMWxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswOTAwLTA5N0YsIFUrMUNEMC0xQ0Y5LCBVKzIwMEMtMjAwRCwgVSsyMEE4LCBVKzIwQjksIFUrMjBGMCwgVSsyNUNDLCBVK0E4MzAtQTgzOSwgVStBOEUwLUE4RkYsIFUrMTFCMDAtMTFCMDk7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3BvcHBpbnMvdjI0L3B4aUJ5cDhrdjhKSGdGVnJMREQ0WjFKbEZjLUsud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogODAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTERENFoxeGxGUS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGRldmFuYWdhcmkgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxCVDVaMTFsRmMtSy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDkwMC0wOTdGLCBVKzFDRDAtMUNGOSwgVSsyMDBDLTIwMEQsIFUrMjBBOCwgVSsyMEI5LCBVKzIwRjAsIFUrMjVDQywgVStBODMwLUE4MzksIFUrQThFMC1BOEZGLCBVKzExQjAwLTExQjA5Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BvcHBpbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wb3BwaW5zL3YyNC9weGlCeXA4a3Y4SkhnRlZyTEJUNVoxSmxGYy1LLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQb3BwaW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDkwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcG9wcGlucy92MjQvcHhpQnlwOGt2OEpIZ0ZWckxCVDVaMXhsRlEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":88,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":34,"receive":0,"ssl":35},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.286Z","timestamp":1785129949286,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes HTTP/1.1\r\nHost: coinlib.io\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://digitaltradeinvest.org/\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: iframe\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: cross-site\r\nPriority: u=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\naccess-control-allow-origin: *\r\nage: 322839\r\ncache-control: public, max-age=3600, stale-while-revalidate=86400\r\ncontent-disposition: inline\r\npriority: u=4,i=?0\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors *\r\ncontent-type: text/html; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nvary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, accept-encoding\r\nx-content-type-options: nosniff\r\nx-frame-options: SAMEORIGIN\r\nx-matched-path: /widget\r\nx-nextjs-prerender: 1\r\nx-nextjs-stale-time: 300\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::vz7hw-1785129949300-cd7b101630d6\r\nx-xss-protection: 1; mode=block\r\ncf-cache-status: DYNAMIC\r\nserver-timing: cfCacheStatus;desc=\"DYNAMIC\", cfEdge;dur=3,cfOrigin;dur=19, cfExtPri\r\ncontent-encoding: zstd\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=QOvfy6V5e5nj87Lz%2BzaQzLTBobiFWXuhPEEdd2STS2Bn5Xh4XTZeX3V9mPKi5NhAp35ckL3WU7tVNSr433RasuiNVWvQHsKdJmC0gI7Rj1YCf43d%2B0HFka25rhXK\"}]}\r\ncf-ray: a21939c71d12a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare Browser Insights","description":"Cloudflare Browser Insights is a tool that measures the performance of websites from the perspective of users.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["Analytics","RUM"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":264025,"size_decoded":33852,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (62918)","md5":"0b66e1b457bb677d8f58fbbe7d1dc0d3","sha1":"21d7b46ede1a80096ad8c0b24ac09e2b9d13baf6","sha256":"2d3fd1241a3c0c323de2b5fea043ea12d3cdf4aa2b288e3911976bb0ec53482c","sha512":"23db906319bb67d11230275571b08ff1a73b3c64c7aa9040d8797999624a297c817a1fad43c8a195e1eb6292fd7799ad2ba1fa36539482afc36f680433297406","ssdeep":"6144:cuwdzaVM7XPgFm+eQQ6L/c7kXl528IyIn:lMQ41k9Sn","tlshash":"7744b464f228ea7ebd3778ac92bce84c320571a1d9f847dde911b2119fc3bf25929114","first_seen":"2026-07-23T13:38:20.379492Z","last_seen":"2026-07-29T06:14:00.404739Z","times_seen":959,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PCEtLVMxSjJHRV9qQzlkRTl5aGE5aEFfdC0tPjxodG1sIGxhbmc9ImVuIj48aGVhZD48bWV0YSBjaGFyU2V0PSJ1dGYtOCIvPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdmlld3BvcnQtZml0PWNvdmVyIi8+PGxpbmsgcmVsPSJwcmVsb2FkIiBocmVmPSIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjNhNmJhMDM2LndvZmYyIiBhcz0iZm9udCIgY3Jvc3NvcmlnaW49IiIgdHlwZT0iZm9udC93b2ZmMiIvPjxzdHlsZSBkYXRhLXByZWNlZGVuY2U9Im5leHQiIGRhdGEtaHJlZj0iL19uZXh0L3N0YXRpYy9jaHVua3MvMDcyNWZjNGRiODE0ZjAzNS5jc3MgL19uZXh0L3N0YXRpYy9jaHVua3MvYjM0ZWJiOGFlZmYyMTg2ZS5jc3MiPkBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzJjNTVhMGU2MDEyMDU3N2Etcy4yYTQ4NTM0YS53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzQ2MC01MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzljNzJhYTBmNDBlNGVlZjgtcy4xOGE0OGNiYy53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzMwMSxVKzQwMC00NUYsVSs0OTAtNDkxLFUrNEIwLTRCMSxVKzIxMTZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvYWQ2NmY5YWZkODk0N2Y4Ni1zLjdhNDBlYjczLndvZmYyKWZvcm1hdCgid29mZjIiKTt1bmljb2RlLXJhbmdlOlUrMUY/P31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS81NDc2ZjY4ZDYwNDYwOTMwLXMuYzk5NWUzNTIud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSszNzAtMzc3LFUrMzdBLTM3RixVKzM4NC0zOEEsVSszOEMsVSszOEUtM0ExLFUrM0EzLTNGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS8yYmJlOGQyNjcxNjEzZjFmLXMuNzZkY2IwYjIud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSsxMDItMTAzLFUrMTEwLTExMSxVKzEyOC0xMjksVSsxNjgtMTY5LFUrMUEwLTFBMSxVKzFBRi0xQjAsVSszMDAtMzAxLFUrMzAzLTMwNCxVKzMwOC0zMDksVSszMjMsVSszMjksVSsxRUEwLTFFRjksVSsyMEFCfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzFiZmZhZGFhYmY4OTNhMWUtcy43Y2Q4MTk2My53b2ZmMilmb3JtYXQoIndvZmYyIik7dW5pY29kZS1yYW5nZTpVKzEwMC0yQkEsVSsyQkQtMkM1LFUrMkM3LTJDQyxVKzJDRS0yRDcsVSsyREQtMkZGLFUrMzA0LFUrMzA4LFUrMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvODNhZmUyNzhiNmE2YmIzYy1zLnAuM2E2YmEwMzYud29mZjIpZm9ybWF0KCJ3b2ZmMiIpO3VuaWNvZGUtcmFuZ2U6VSs/PyxVKzEzMSxVKzE1Mi0xNTMsVSsyQkItMkJDLFUrMkM2LFUrMkRBLFUrMkRDLFUrMzA0LFUrMzA4LFUrMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkR9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlciBGYWxsYmFjaztzcmM6bG9jYWwoQXJpYWwpO2FzY2VudC1vdmVycmlkZTo5MC40NCU7ZGVzY2VudC1vdmVycmlkZToyMi41MiU7bGluZS1nYXAtb3ZlcnJpZGU6MC4wJTtzaXplLWFkanVzdDoxMDcuMTIlfS5pbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fY2xhc3NOYW1le2ZvbnQtZmFtaWx5OkludGVyLEludGVyIEZhbGxiYWNrO2ZvbnQtc3R5bGU6bm9ybWFsfS5pbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGV7LS1mb250LWludGVyOiJJbnRlciIsIkludGVyIEZhbGxiYWNrIn0KQGxheWVyIHByb3BlcnRpZXN7QHN1cHBvcnRzICgoKC13ZWJraXQtaHlwaGVuczpub25lKSkgYW5kIChub3QgKG1hcmdpbi10cmltOmlubGluZSkpKSBvciAoKC1tb3otb3JpZW50OmlubGluZSkgYW5kIChub3QgKGNvbG9yOnJnYihmcm9tIHJlZCByIGcgYikpKSl7Kiw6YmVmb3JlLDphZnRlciw6OmJhY2tkcm9wey0tdHctdHJhbnNsYXRlLXg6MDstLXR3LXRyYW5zbGF0ZS15OjA7LS10dy10cmFuc2xhdGUtejowOy0tdHctcm90YXRlLXg6aW5pdGlhbDstLXR3LXJvdGF0ZS15OmluaXRpYWw7LS10dy1yb3RhdGUtejppbml0aWFsOy0tdHctc2tldy14OmluaXRpYWw7LS10dy1za2V3LXk6aW5pdGlhbDstLXR3LXNwYWNlLXktcmV2ZXJzZTowOy0tdHctc3BhY2UteC1yZXZlcnNlOjA7LS10dy1kaXZpZGUteS1yZXZlcnNlOjA7LS10dy1ib3JkZXItc3R5bGU6c29saWQ7LS10dy1ncmFkaWVudC1wb3NpdGlvbjppbml0aWFsOy0tdHctZ3JhZGllbnQtZnJvbTojMDAwMDstLXR3LWdyYWRpZW50LXZpYTojMDAwMDstLXR3LWdyYWRpZW50LXRvOiMwMDAwOy0tdHctZ3JhZGllbnQtc3RvcHM6aW5pdGlhbDstLXR3LWdyYWRpZW50LXZpYS1zdG9wczppbml0aWFsOy0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbjowJTstLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCU7LS10dy1ncmFkaWVudC10by1wb3NpdGlvbjoxMDAlOy0tdHctbGVhZGluZzppbml0aWFsOy0tdHctZm9udC13ZWlnaHQ6aW5pdGlhbDstLXR3LXRyYWNraW5nOmluaXRpYWw7LS10dy1vcmRpbmFsOmluaXRpYWw7LS10dy1zbGFzaGVkLXplcm86aW5pdGlhbDstLXR3LW51bWVyaWMtZmlndXJlOmluaXRpYWw7LS10dy1udW1lcmljLXNwYWNpbmc6aW5pdGlhbDstLXR3LW51bWVyaWMtZnJhY3Rpb246aW5pdGlhbDstLXR3LXNoYWRvdzowIDAgIzAwMDA7LS10dy1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LXNoYWRvdy1hbHBoYToxMDAlOy0tdHctaW5zZXQtc2hhZG93OjAgMCAjMDAwMDstLXR3LWluc2V0LXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctaW5zZXQtc2hhZG93LWFscGhhOjEwMCU7LS10dy1yaW5nLWNvbG9yOmluaXRpYWw7LS10dy1yaW5nLXNoYWRvdzowIDAgIzAwMDA7LS10dy1pbnNldC1yaW5nLWNvbG9yOmluaXRpYWw7LS10dy1pbnNldC1yaW5nLXNoYWRvdzowIDAgIzAwMDA7LS10dy1yaW5nLWluc2V0OmluaXRpYWw7LS10dy1yaW5nLW9mZnNldC13aWR0aDowcHg7LS10dy1yaW5nLW9mZnNldC1jb2xvcjojZmZmOy0tdHctcmluZy1vZmZzZXQtc2hhZG93OjAgMCAjMDAwMDstLXR3LW91dGxpbmUtc3R5bGU6c29saWQ7LS10dy1ibHVyOmluaXRpYWw7LS10dy1icmlnaHRuZXNzOmluaXRpYWw7LS10dy1jb250cmFzdDppbml0aWFsOy0tdHctZ3JheXNjYWxlOmluaXRpYWw7LS10dy1odWUtcm90YXRlOmluaXRpYWw7LS10dy1pbnZlcnQ6aW5pdGlhbDstLXR3LW9wYWNpdHk6aW5pdGlhbDstLXR3LXNhdHVyYXRlOmluaXRpYWw7LS10dy1zZXBpYTppbml0aWFsOy0tdHctZHJvcC1zaGFkb3c6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdy1hbHBoYToxMDAlOy0tdHctZHJvcC1zaGFkb3ctc2l6ZTppbml0aWFsOy0tdHctYmFja2Ryb3AtYmx1cjppbml0aWFsOy0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczppbml0aWFsOy0tdHctYmFja2Ryb3AtY29udHJhc3Q6aW5pdGlhbDstLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTppbml0aWFsOy0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTppbml0aWFsOy0tdHctYmFja2Ryb3AtaW52ZXJ0OmluaXRpYWw7LS10dy1iYWNrZHJvcC1vcGFjaXR5OmluaXRpYWw7LS10dy1iYWNrZHJvcC1zYXR1cmF0ZTppbml0aWFsOy0tdHctYmFja2Ryb3Atc2VwaWE6aW5pdGlhbDstLXR3LWR1cmF0aW9uOmluaXRpYWw7LS10dy1lYXNlOmluaXRpYWw7LS10dy1jb250ZW50OiIiOy0tdHctYW5pbWF0aW9uLWRlbGF5OjBzOy0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7LS10dy1hbmltYXRpb24tZHVyYXRpb246aW5pdGlhbDstLXR3LWFuaW1hdGlvbi1maWxsLW1vZGU6bm9uZTstLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTstLXR3LWVudGVyLWJsdXI6MDstLXR3LWVudGVyLW9wYWNpdHk6MTstLXR3LWVudGVyLXJvdGF0ZTowOy0tdHctZW50ZXItc2NhbGU6MTstLXR3LWVudGVyLXRyYW5zbGF0ZS14OjA7LS10dy1lbnRlci10cmFuc2xhdGUteTowOy0tdHctZXhpdC1ibHVyOjA7LS10dy1leGl0LW9wYWNpdHk6MTstLXR3LWV4aXQtcm90YXRlOjA7LS10dy1leGl0LXNjYWxlOjE7LS10dy1leGl0LXRyYW5zbGF0ZS14OjA7LS10dy1leGl0LXRyYW5zbGF0ZS15OjB9fX1AbGF5ZXIgdGhlbWV7OnJvb3QsOmhvc3R7LS1jb2xvci1yZWQtNTAwOiNmYjJjMzY7LS1jb2xvci1vcmFuZ2UtNTAwOiNmZTZlMDA7LS1jb2xvci1ncmVlbi00MDA6IzA1ZGY3MjstLWNvbG9yLWdyZWVuLTYwMDojMDBhNTQ0Oy0tY29sb3ItYmxhY2s6IzAwMDstLWNvbG9yLXdoaXRlOiNmZmY7LS1zcGFjaW5nOi4yNXJlbTstLWNvbnRhaW5lci14czoyMHJlbTstLWNvbnRhaW5lci1zbToyNHJlbTstLWNvbnRhaW5lci1tZDoyOHJlbTstLWNvbnRhaW5lci1sZzozMnJlbTstLWNvbnRhaW5lci14bDozNnJlbTstLWNvbnRhaW5lci0yeGw6NDJyZW07LS1jb250YWluZXItM3hsOjQ4cmVtOy0tY29udGFpbmVyLTR4bDo1NnJlbTstLWNvbnRhaW5lci03eGw6ODByZW07LS10ZXh0LXhzOi43NXJlbTstLXRleHQteHMtLWxpbmUtaGVpZ2h0OmNhbGMoMS8uNzUpOy0tdGV4dC1zbTouODc1cmVtOy0tdGV4dC1zbS0tbGluZS1oZWlnaHQ6Y2FsYygxLjI1Ly44NzUpOy0tdGV4dC1iYXNlOjFyZW07LS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0OmNhbGMoMS41LzEpOy0tdGV4dC1sZzoxLjEyNXJlbTstLXRleHQtbGctLWxpbmUtaGVpZ2h0OmNhbGMoMS43NS8xLjEyNSk7LS10ZXh0LXhsOjEuMjVyZW07LS10ZXh0LXhsLS1saW5lLWhlaWdodDpjYWxjKDEuNzUvMS4yNSk7LS10ZXh0LTJ4bDoxLjVyZW07LS10ZXh0LTJ4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLzEuNSk7LS10ZXh0LTN4bDoxLjg3NXJlbTstLXRleHQtM3hsLS1saW5lLWhlaWdodDpjYWxjKDIuMjUvMS44NzUpOy0tdGV4dC00eGw6Mi4yNXJlbTstLXRleHQtNHhsLS1saW5lLWhlaWdodDpjYWxjKDIuNS8yLjI1KTstLXRleHQtNnhsOjMuNzVyZW07LS10ZXh0LTZ4bC0tbGluZS1oZWlnaHQ6MTstLWZvbnQtd2VpZ2h0LW5vcm1hbDo0MDA7LS1mb250LXdlaWdodC1tZWRpdW06NTAwOy0tZm9udC13ZWlnaHQtc2VtaWJvbGQ6NjAwOy0tZm9udC13ZWlnaHQtYm9sZDo3MDA7LS10cmFja2luZy10aWdodDotLjAyNWVtOy0tdHJhY2tpbmctd2lkZTouMDI1ZW07LS10cmFja2luZy13aWRlc3Q6LjFlbTstLWxlYWRpbmctdGlnaHQ6MS4yNTstLWxlYWRpbmctc251ZzoxLjM3NTstLWxlYWRpbmctcmVsYXhlZDoxLjYyNTstLXJhZGl1cy1tZDpjYWxjKHZhcigtLXJhZGl1cykqLjgpOy0tZWFzZS1pbi1vdXQ6Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7LS1hbmltYXRlLXNwaW46c3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7LS1hbmltYXRlLXB1bHNlOnB1bHNlIDJzIGN1YmljLWJlemllciguNCwwLC42LDEpaW5maW5pdGU7LS1ibHVyLXhzOjRweDstLWJsdXItc206OHB4Oy0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7LS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tZGVmYXVsdC1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZjstLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn1Ac3VwcG9ydHMgKGNvbG9yOmxhYigwJSAwIDApKXs6cm9vdCw6aG9zdHstLWNvbG9yLXJlZC01MDA6bGFiKDU1LjQ4MTQlIDc1LjA3MzIgNDguODUyOCk7LS1jb2xvci1vcmFuZ2UtNTAwOmxhYig2NC4yNzIlIDU3LjE3ODggOTAuMzU4Myk7LS1jb2xvci1ncmVlbi00MDA6bGFiKDc4LjUwMyUgLTY0LjkyNjUgMzkuNzQ5Mik7LS1jb2xvci1ncmVlbi02MDA6bGFiKDU5LjA5NzglIC01OC42NjIxIDQxLjI1NzkpfX19QGxheWVyIGJhc2V7Kiw6YWZ0ZXIsOmJlZm9yZSw6OmJhY2tkcm9we2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjAgc29saWQ7bWFyZ2luOjA7cGFkZGluZzowfWh0bWwsOmhvc3R7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7dGFiLXNpemU6NDtsaW5lLWhlaWdodDoxLjU7Zm9udC1mYW1pbHk6dmFyKC0tZGVmYXVsdC1mb250LWZhbWlseSx1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIiwiTm90byBDb2xvciBFbW9qaSIpO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtZmVhdHVyZS1zZXR0aW5ncyxub3JtYWwpO2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtZm9udC12YXJpYXRpb24tc2V0dGluZ3Msbm9ybWFsKTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDstd2Via2l0LXRleHQtZGVjb3JhdGlvbjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mYW1pbHk6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5LHVpLW1vbm9zcGFjZSxTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsIkxpYmVyYXRpb24gTW9ubyIsIkNvdXJpZXIgTmV3Iixtb25vc3BhY2UpO2ZvbnQtZmVhdHVyZS1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LW1vbm8tZm9udC1mZWF0dXJlLXNldHRpbmdzLG5vcm1hbCk7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7Zm9udC1zaXplOjFlbX1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3Bvc2l0aW9uOnJlbGF0aXZlfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19dGFibGV7dGV4dC1pbmRlbnQ6MDtib3JkZXItY29sb3I6aW5oZXJpdDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9Oi1tb3otZm9jdXNyaW5ne291dGxpbmU6YXV0b31wcm9ncmVzc3t2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdW1tYXJ5e2Rpc3BsYXk6bGlzdC1pdGVtfW9sLHVsLG1lbnV7bGlzdC1zdHlsZTpub25lfWltZyxzdmcsdmlkZW8sY2FudmFzLGF1ZGlvLGlmcmFtZSxlbWJlZCxvYmplY3R7dmVydGljYWwtYWxpZ246bWlkZGxlO2Rpc3BsYXk6YmxvY2t9aW1nLHZpZGVve21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfWJ1dHRvbixpbnB1dCxzZWxlY3Qsb3B0Z3JvdXAsdGV4dGFyZWF7Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2ZvbnQ6aW5oZXJpdDtmb250LWZlYXR1cmUtc2V0dGluZ3M6aW5oZXJpdDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczppbmhlcml0O2xldHRlci1zcGFjaW5nOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDtvcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjojMDAwMDtib3JkZXItcmFkaXVzOjB9OndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLFtzaXplXSkpIG9wdGdyb3Vwe2ZvbnQtd2VpZ2h0OmJvbGRlcn06d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXAgb3B0aW9ue3BhZGRpbmctaW5saW5lLXN0YXJ0OjIwcHh9OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnttYXJnaW4taW5saW5lLWVuZDo0cHh9OjpwbGFjZWhvbGRlcntvcGFjaXR5OjF9QHN1cHBvcnRzIChub3QgKCgtd2Via2l0LWFwcGVhcmFuY2U6LWFwcGxlLXBheS1idXR0b24pKSkgb3IgKGNvbnRhaW4taW50cmluc2ljLXNpemU6MXB4KXs6OnBsYWNlaG9sZGVye2NvbG9yOmN1cnJlbnRDb2xvcn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7OjpwbGFjZWhvbGRlcntjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsY3VycmVudGNvbG9yIDUwJSx0cmFuc3BhcmVudCl9fX10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1kYXRlLWFuZC10aW1lLXZhbHVle21pbi1oZWlnaHQ6MWxoO3RleHQtYWxpZ246aW5oZXJpdH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdHtkaXNwbGF5OmlubGluZS1mbGV4fTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVye3BhZGRpbmc6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1zZWNvbmQtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tZXJpZGllbS1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3J7bGluZS1oZWlnaHQ6MX06LW1vei11aS1pbnZhbGlke2JveC1zaGFkb3c6bm9uZX1idXR0b24saW5wdXQ6d2hlcmUoW3R5cGU9YnV0dG9uXSxbdHlwZT1yZXNldF0sW3R5cGU9c3VibWl0XSl7YXBwZWFyYW5jZTpidXR0b259OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnthcHBlYXJhbmNlOmJ1dHRvbn06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVtoaWRkZW5dOndoZXJlKDpub3QoW2hpZGRlbj11bnRpbC1mb3VuZF0pKXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fSp7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcik7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7KntvdXRsaW5lLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKTtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKTtmb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSx1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWZ9Y29kZSxwcmUsa2Jke2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLCJJbnRlciIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxzYW5zLXNlcmlmfX1AbGF5ZXIgY29tcG9uZW50cztAbGF5ZXIgdXRpbGl0aWVzey5cQGNvbnRhaW5lclwvY2FyZC1oZWFkZXJ7Y29udGFpbmVyOmNhcmQtaGVhZGVyL2lubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LmNvbGxhcHNle3Zpc2liaWxpdHk6Y29sbGFwc2V9LnZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS5zci1vbmx5e2NsaXAtcGF0aDppbnNldCg1MCUpO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGF0aWN7cG9zaXRpb246c3RhdGljfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS5pbnNldC0we2luc2V0OmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmluc2V0LXgtMHtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaW5zZXQteC00e2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5pbnNldC15LTB7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uc3RhcnR7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXNwYWNpbmcpfS5lbmR7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1zcGFjaW5nKX0uLXRvcC0ye3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0udG9wLTB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnRvcC0wXC41e3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0udG9wLTFcLzJ7dG9wOjUwJX0udG9wLTFcLzN7dG9wOjMzLjMzMzMlfS50b3AtMnt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0udG9wLTN7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnRvcC0xNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnRvcC0xMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwKX0udG9wLTEwMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwMCl9LnRvcC1mdWxse3RvcDoxMDAlfS4tcmlnaHQtMntyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0ucmlnaHQtMHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5yaWdodC0ye3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnJpZ2h0LTJcLjV7cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5yaWdodC0ze3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmJvdHRvbS0we2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5ib3R0b20tMjB7Ym90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMjApfS5sZWZ0LTB7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5sZWZ0LTBcLjV7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ubGVmdC0xXC8ye2xlZnQ6NTAlfS5sZWZ0LTJcLjV7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LmxlZnQtM3tsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmxlZnQtNHtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmxlZnQtMTB7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0uaXNvbGF0ZXtpc29sYXRpb246aXNvbGF0ZX0uei0xMHt6LWluZGV4OjEwfS56LTIwe3otaW5kZXg6MjB9LnotMzB7ei1pbmRleDozMH0uei00MHt6LWluZGV4OjQwfS56LTUwe3otaW5kZXg6NTB9Lm9yZGVyLWZpcnN0e29yZGVyOi05OTk5fS5vcmRlci1sYXN0e29yZGVyOjk5OTl9LmNvbC1zdGFydC0ye2dyaWQtY29sdW1uLXN0YXJ0OjJ9LnJvdy1zcGFuLTJ7Z3JpZC1yb3c6c3BhbiAyL3NwYW4gMn0ucm93LXN0YXJ0LTF7Z3JpZC1yb3ctc3RhcnQ6MX0uY29udGFpbmVye3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NDByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NDhyZW19fUBtZWRpYSAobWluLXdpZHRoOjY0cmVtKXsuY29udGFpbmVye21heC13aWR0aDo2NHJlbX19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjgwcmVtfX1AbWVkaWEgKG1pbi13aWR0aDo5NnJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6OTZyZW19fS4tbXgtMXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqLTEpfS4tbXgtNHttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5teC0xe21hcmdpbi1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXgtNHttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm14LWF1dG97bWFyZ2luLWlubGluZTphdXRvfS5teS0xe21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5teS0ye21hcmdpbi1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wcm9zZXtjb2xvcjp2YXIoLS10dy1wcm9zZS1ib2R5KTttYXgtd2lkdGg6NjVjaH0ucHJvc2UgOndoZXJlKHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW07bWFyZ2luLWJvdHRvbToxLjI1ZW19LnByb3NlIDp3aGVyZShbY2xhc3N+PWxlYWRdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWxlYWQpO21hcmdpbi10b3A6MS4yZW07bWFyZ2luLWJvdHRvbToxLjJlbTtmb250LXNpemU6MS4yNWVtO2xpbmUtaGVpZ2h0OjEuNn0ucHJvc2UgOndoZXJlKGEpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtbGlua3MpO2ZvbnQtd2VpZ2h0OjUwMDt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5wcm9zZSA6d2hlcmUoc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWJvbGQpO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGEgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZSh0aGVhZCB0aCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNjI1ZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZShvbFt0eXBlPUFdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1BIHNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9YSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPUldKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aV0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5wcm9zZSA6d2hlcmUob2xbdHlwZT1JIHNdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTp1cHBlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9aSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6bG93ZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPSIxIl0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5wcm9zZSA6d2hlcmUob2w+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6Om1hcmtlcntjb2xvcjp2YXIoLS10dy1wcm9zZS1jb3VudGVycyk7Zm9udC13ZWlnaHQ6NDAwfS5wcm9zZSA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6Om1hcmtlcntjb2xvcjp2YXIoLS10dy1wcm9zZS1idWxsZXRzKX0ucHJvc2UgOndoZXJlKGR0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjEuMjVlbTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItY29sb3I6dmFyKC0tdHctcHJvc2UtaHIpO2JvcmRlci10b3Atd2lkdGg6MXB4O21hcmdpbi10b3A6M2VtO21hcmdpbi1ib3R0b206M2VtfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1xdW90ZXMpO2JvcmRlci1pbmxpbmUtc3RhcnQtd2lkdGg6LjI1cmVtO2JvcmRlci1pbmxpbmUtc3RhcnQtY29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGUtYm9yZGVycyk7cXVvdGVzOiLigJwiIuKAnSIi4oCYIiLigJkiO21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbToxLjZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBwOmZpcnN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3Jle2NvbnRlbnQ6b3Blbi1xdW90ZX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YWZ0ZXJ7Y29udGVudDpjbG9zZS1xdW90ZX0ucHJvc2UgOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODg4ODg5ZW07Zm9udC1zaXplOjIuMjVlbTtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MS4xMTExMX0ucHJvc2UgOndoZXJlKGgxIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjkwMH0ucHJvc2UgOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjFlbTtmb250LXNpemU6MS41ZW07Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMzMzMzN9LnByb3NlIDp3aGVyZShoMiBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo4MDB9LnByb3NlIDp3aGVyZShoMyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjZlbTttYXJnaW4tYm90dG9tOi42ZW07Zm9udC1zaXplOjEuMjVlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS42fS5wcm9zZSA6d2hlcmUoaDMgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NzAwfS5wcm9zZSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO21hcmdpbi10b3A6MS41ZW07bWFyZ2luLWJvdHRvbTouNWVtO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjV9LnByb3NlIDp3aGVyZShoNCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo3MDB9LnByb3NlIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2Rpc3BsYXk6YmxvY2t9LnByb3NlIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1rYmQpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKSwwIDNweCAwIHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKTtwYWRkaW5nLXRvcDouMTg3NWVtO3BhZGRpbmctaW5saW5lLWVuZDouMzc1ZW07cGFkZGluZy1ib3R0b206LjE4NzVlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jb2RlKTtmb250LXNpemU6Ljg3NWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3JlLC5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50OiJgIn0ucHJvc2UgOndoZXJlKGEgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGgxIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKGgyIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXNpemU6Ljg3NWVtfS5wcm9zZSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTouOWVtfS5wcm9zZSA6d2hlcmUoaDQgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKHRoZWFkIHRoIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdH0ucHJvc2UgOndoZXJlKHByZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtY29kZSk7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS10dy1wcm9zZS1wcmUtYmcpO3BhZGRpbmctdG9wOi44NTcxNDNlbTtwYWRkaW5nLWlubGluZS1lbmQ6MS4xNDI4NmVtO3BhZGRpbmctYm90dG9tOi44NTcxNDNlbTtib3JkZXItcmFkaXVzOi4zNzVyZW07bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS4xNDI4NmVtO2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNzE0Mjk7b3ZlcmZsb3cteDphdXRvfS5wcm9zZSA6d2hlcmUocHJlIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC13ZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtZmFtaWx5OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci13aWR0aDowO2JvcmRlci1yYWRpdXM6MDtwYWRkaW5nOjB9LnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTpiZWZvcmUsLnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50Om5vbmV9LnByb3NlIDp3aGVyZSh0YWJsZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt0YWJsZS1sYXlvdXQ6YXV0bzt3aWR0aDoxMDAlO21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2ZvbnQtc2l6ZTouODc1ZW07bGluZS1oZWlnaHQ6MS43MTQyOX0ucHJvc2UgOndoZXJlKHRoZWFkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MXB4O2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tdHctcHJvc2UtdGgtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7dmVydGljYWwtYWxpZ246Ym90dG9tO3BhZGRpbmctaW5saW5lLWVuZDouNTcxNDI5ZW07cGFkZGluZy1ib3R0b206LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi41NzE0MjllbTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZSh0Ym9keSB0cik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItYm90dG9tLXdpZHRoOjFweDtib3JkZXItYm90dG9tLWNvbG9yOnZhcigtLXR3LXByb3NlLXRkLWJvcmRlcnMpfS5wcm9zZSA6d2hlcmUodGJvZHkgdHI6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtib3JkZXItYm90dG9tLXdpZHRoOjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX0ucHJvc2UgOndoZXJlKHRmb290KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci10b3Atd2lkdGg6MXB4O2JvcmRlci10b3AtY29sb3I6dmFyKC0tdHctcHJvc2UtdGgtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnByb3NlIDp3aGVyZSh0aCx0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXt0ZXh0LWFsaWduOnN0YXJ0fS5wcm9zZSA6d2hlcmUoZmlndXJlPiopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGZpZ2NhcHRpb24pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtY2FwdGlvbnMpO21hcmdpbi10b3A6Ljg1NzE0M2VtO2ZvbnQtc2l6ZTouODc1ZW07bGluZS1oZWlnaHQ6MS40Mjg1N30ucHJvc2V7LS10dy1wcm9zZS1ib2R5OiMzNjQxNTM7LS10dy1wcm9zZS1oZWFkaW5nczojMTAxODI4Oy0tdHctcHJvc2UtbGVhZDojNGE1NTY1Oy0tdHctcHJvc2UtbGlua3M6IzEwMTgyODstLXR3LXByb3NlLWJvbGQ6IzEwMTgyODstLXR3LXByb3NlLWNvdW50ZXJzOiM2YTcyODI7LS10dy1wcm9zZS1idWxsZXRzOiNkMWQ1ZGM7LS10dy1wcm9zZS1ocjojZTVlN2ViOy0tdHctcHJvc2UtcXVvdGVzOiMxMDE4Mjg7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOiNlNWU3ZWI7LS10dy1wcm9zZS1jYXB0aW9uczojNmE3MjgyOy0tdHctcHJvc2Uta2JkOiMxMDE4Mjg7LS10dy1wcm9zZS1rYmQtc2hhZG93czojMTAxODI4MWE7LS10dy1wcm9zZS1jb2RlOiMxMDE4Mjg7LS10dy1wcm9zZS1wcmUtY29kZTojZTVlN2ViOy0tdHctcHJvc2UtcHJlLWJnOiMxZTI5Mzk7LS10dy1wcm9zZS10aC1ib3JkZXJzOiNkMWQ1ZGM7LS10dy1wcm9zZS10ZC1ib3JkZXJzOiNlNWU3ZWI7LS10dy1wcm9zZS1pbnZlcnQtYm9keTojZDFkNWRjOy0tdHctcHJvc2UtaW52ZXJ0LWhlYWRpbmdzOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtbGVhZDojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWxpbmtzOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtYm9sZDojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWNvdW50ZXJzOiM5OWExYWY7LS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0czojNGE1NTY1Oy0tdHctcHJvc2UtaW52ZXJ0LWhyOiMzNjQxNTM7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGVzOiNmM2Y0ZjY7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVyczojMzY0MTUzOy0tdHctcHJvc2UtaW52ZXJ0LWNhcHRpb25zOiM5OWExYWY7LS10dy1wcm9zZS1pbnZlcnQta2JkOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQta2JkLXNoYWRvd3M6I2ZmZmZmZjFhOy0tdHctcHJvc2UtaW52ZXJ0LWNvZGU6I2ZmZjstLXR3LXByb3NlLWludmVydC1wcmUtY29kZTojZDFkNWRjOy0tdHctcHJvc2UtaW52ZXJ0LXByZS1iZzojMDAwMDAwODA7LS10dy1wcm9zZS1pbnZlcnQtdGgtYm9yZGVyczojNGE1NTY1Oy0tdHctcHJvc2UtaW52ZXJ0LXRkLWJvcmRlcnM6IzM2NDE1Mztmb250LXNpemU6MXJlbTtsaW5lLWhlaWdodDoxLjc1fUBzdXBwb3J0cyAoY29sb3I6bGFiKDAlIDAgMCkpey5wcm9zZXstLXR3LXByb3NlLWJvZHk6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWhlYWRpbmdzOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtbGVhZDpsYWIoMzUuNjMzNyUgLTEuNTg2OTcgLTEwLjg0MjUpOy0tdHctcHJvc2UtbGlua3M6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1ib2xkOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtY291bnRlcnM6bGFiKDQ3Ljc4NDElIC0uMzkzMTgyIC0xMC4wMjY4KTstLXR3LXByb3NlLWJ1bGxldHM6bGFiKDg1LjEyMzYlIC0uNjEyMjU5IC0zLjcxMzgpOy0tdHctcHJvc2UtaHI6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLXF1b3RlczpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLXF1b3RlLWJvcmRlcnM6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLWNhcHRpb25zOmxhYig0Ny43ODQxJSAtLjM5MzE4MiAtMTAuMDI2OCk7LS10dy1wcm9zZS1rYmQ6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1rYmQtc2hhZG93czpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0Ly4xKTstLXR3LXByb3NlLWNvZGU6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1wcmUtY29kZTpsYWIoOTEuNjIyOSUgLS4xNTkxMTUgLTIuMjY3OTEpOy0tdHctcHJvc2UtcHJlLWJnOmxhYigxNi4xMDUxJSAtMS4xODIzOSAtMTEuNzUzMyk7LS10dy1wcm9zZS10aC1ib3JkZXJzOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLXRkLWJvcmRlcnM6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLWludmVydC1ib2R5OmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWludmVydC1sZWFkOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtY291bnRlcnM6bGFiKDY1LjkyNjklIC0uODMyNzA3IC04LjE3NDczKTstLXR3LXByb3NlLWludmVydC1idWxsZXRzOmxhYigzNS42MzM3JSAtMS41ODY5NyAtMTAuODQyNSk7LS10dy1wcm9zZS1pbnZlcnQtaHI6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWludmVydC1xdW90ZXM6bGFiKDk2LjE1OTYlIC0uMDgyMzQzOCAtMS4xMzU3NSk7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVyczpsYWIoMjcuMTEzNCUgLS45NTY0MDEgLTEyLjMyMjQpOy0tdHctcHJvc2UtaW52ZXJ0LWNhcHRpb25zOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGU6bGFiKDg1LjEyMzYlIC0uNjEyMjU5IC0zLjcxMzgpOy0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnM6bGFiKDM1LjYzMzclIC0xLjU4Njk3IC0xMC44NDI1KTstLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzOmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCl9fS5wcm9zZSA6d2hlcmUocGljdHVyZT5pbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjVlbTttYXJnaW4tYm90dG9tOi41ZW19LnByb3NlIDp3aGVyZShvbD5saSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKHVsPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT51bD5saSBwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljc1ZW07bWFyZ2luLWJvdHRvbTouNzVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT51bD5saT5wOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPnVsPmxpPnA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMjVlbX0ucHJvc2UgOndoZXJlKC5wcm9zZT5vbD5saT5wOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlPm9sPmxpPnA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMjVlbX0ucHJvc2UgOndoZXJlKHVsIHVsLHVsIG9sLG9sIHVsLG9sIG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljc1ZW07bWFyZ2luLWJvdHRvbTouNzVlbX0ucHJvc2UgOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoZGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNjI1ZW19LnByb3NlIDp3aGVyZShocisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGgzKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZShoNCsqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKHRoZWFkIHRoOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlIDp3aGVyZSh0aGVhZCB0aDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZSA6d2hlcmUodGJvZHkgdGQsdGZvb3QgdGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLWVuZDouNTcxNDI5ZW07cGFkZGluZy1ib3R0b206LjU3MTQyOWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi41NzE0MjllbX0ucHJvc2UgOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZSgucHJvc2U+OmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UgOndoZXJlKC5wcm9zZT46bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxne2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc3Nzc4fS5wcm9zZS1sZyA6d2hlcmUocCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKFtjbGFzc349bGVhZF0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjA5MDkxZW07bWFyZ2luLWJvdHRvbToxLjA5MDkxZW07Zm9udC1zaXplOjEuMjIyMjJlbTtsaW5lLWhlaWdodDoxLjQ1NDU1fS5wcm9zZS1sZyA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLWxnIDp3aGVyZShoMSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODMzMzMzZW07Zm9udC1zaXplOjIuNjY2NjdlbTtsaW5lLWhlaWdodDoxfS5wcm9zZS1sZyA6d2hlcmUoaDIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjg2NjY3ZW07bWFyZ2luLWJvdHRvbToxLjA2NjY3ZW07Zm9udC1zaXplOjEuNjY2NjdlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1sZyA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjY2NjY3ZW07bWFyZ2luLWJvdHRvbTouNjY2NjY3ZW07Zm9udC1zaXplOjEuMzMzMzNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZShoNCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOi40NDQ0NDRlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1sZyA6d2hlcmUoaW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUocGljdHVyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKHBpY3R1cmU+aW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxnIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouMjIyMjIyZW07cGFkZGluZy1pbmxpbmUtZW5kOi40NDQ0NDRlbTtwYWRkaW5nLWJvdHRvbTouMjIyMjIyZW07Ym9yZGVyLXJhZGl1czouMzEyNXJlbTtwYWRkaW5nLWlubGluZS1zdGFydDouNDQ0NDQ0ZW07Zm9udC1zaXplOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGgyIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NjY2NjdlbX0ucHJvc2UtbGcgOndoZXJlKGgzIGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NzVlbX0ucHJvc2UtbGcgOndoZXJlKHByZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDoxZW07cGFkZGluZy1pbmxpbmUtZW5kOjEuNWVtO3BhZGRpbmctYm90dG9tOjFlbTtib3JkZXItcmFkaXVzOi4zNzVyZW07bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS41ZW07Zm9udC1zaXplOi44ODg4ODllbTtsaW5lLWhlaWdodDoxLjc1fS5wcm9zZS1sZyA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU1NTU2ZW19LnByb3NlLWxnIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi42NjY2NjdlbTttYXJnaW4tYm90dG9tOi42NjY2NjdlbX0ucHJvc2UtbGcgOndoZXJlKG9sPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQ0NDQ0NGVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnPnVsPmxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouODg4ODg5ZW07bWFyZ2luLWJvdHRvbTouODg4ODg5ZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGc+dWw+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz51bD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGc+b2w+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz5vbD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSh1bCB1bCx1bCBvbCxvbCB1bCxvbCBvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi44ODg4ODllbTttYXJnaW4tYm90dG9tOi44ODg4ODllbX0ucHJvc2UtbGcgOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoZHQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU1NTU2ZW19LnByb3NlLWxnIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjMuMTExMTFlbTttYXJnaW4tYm90dG9tOjMuMTExMTFlbX0ucHJvc2UtbGcgOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1sZyA6d2hlcmUodGFibGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44ODg4ODllbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6Ljc1ZW07cGFkZGluZy1ib3R0b206Ljc1ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6Ljc1ZW19LnByb3NlLWxnIDp3aGVyZSh0aGVhZCB0aDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGg6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2UtbGcgOndoZXJlKHRib2R5IHRkLHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi43NWVtO3BhZGRpbmctaW5saW5lLWVuZDouNzVlbTtwYWRkaW5nLWJvdHRvbTouNzVlbTtwYWRkaW5nLWlubGluZS1zdGFydDouNzVlbX0ucHJvc2UtbGcgOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLWxnIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjc3Nzc4ZW07bWFyZ2luLWJvdHRvbToxLjc3Nzc4ZW19LnByb3NlLWxnIDp3aGVyZShmaWd1cmU+Kik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1sZyA6d2hlcmUoZmlnY2FwdGlvbik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjFlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZz46Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnPjpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MH0ucHJvc2Utc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS43MTQyOX0ucHJvc2Utc20gOndoZXJlKHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW07bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShbY2xhc3N+PWxlYWRdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljg4ODg4OWVtO21hcmdpbi1ib3R0b206Ljg4ODg4OWVtO2ZvbnQtc2l6ZToxLjI4NTcxZW07bGluZS1oZWlnaHQ6MS41NTU1Nn0ucHJvc2Utc20gOndoZXJlKGJsb2NrcXVvdGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW07bWFyZ2luLWJvdHRvbToxLjMzMzMzZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS4xMTExMWVtfS5wcm9zZS1zbSA6d2hlcmUoaDEpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206LjhlbTtmb250LXNpemU6Mi4xNDI4NmVtO2xpbmUtaGVpZ2h0OjEuMn0ucHJvc2Utc20gOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbTouOGVtO2ZvbnQtc2l6ZToxLjQyODU3ZW07bGluZS1oZWlnaHQ6MS40fS5wcm9zZS1zbSA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjU1NTU2ZW07bWFyZ2luLWJvdHRvbTouNDQ0NDQ0ZW07Zm9udC1zaXplOjEuMjg1NzFlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1zbSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjQyODU3ZW07bWFyZ2luLWJvdHRvbTouNTcxNDI5ZW07bGluZS1oZWlnaHQ6MS40Mjg1N30ucHJvc2Utc20gOndoZXJlKGltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKHBpY3R1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShwaWN0dXJlPmltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1zbSA6d2hlcmUodmlkZW8pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShrYmQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjE0Mjg1N2VtO3BhZGRpbmctaW5saW5lLWVuZDouMzU3MTQzZW07cGFkZGluZy1ib3R0b206LjE0Mjg1N2VtO2JvcmRlci1yYWRpdXM6LjMxMjVyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjM1NzE0M2VtO2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShoMiBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouOWVtfS5wcm9zZS1zbSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1zbSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtib3JkZXItcmFkaXVzOi4yNXJlbTttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjY2NjY3fS5wcm9zZS1zbSA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbTttYXJnaW4tYm90dG9tOjEuMTQyODZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTttYXJnaW4tYm90dG9tOi4yODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKG9sPmxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUodWw+bGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQyODU3MWVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtPnVsPmxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNTcxNDI5ZW07bWFyZ2luLWJvdHRvbTouNTcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+dWw+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbT51bD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+b2w+bGk+cDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbT5vbD5saT5wOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZSh1bCB1bCx1bCBvbCxvbCB1bCxvbCBvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41NzE0MjllbTttYXJnaW4tYm90dG9tOi41NzE0MjllbX0ucHJvc2Utc20gOndoZXJlKGRsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtO21hcmdpbi1ib3R0b206MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoZHQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShocik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjIuODU3MTRlbTttYXJnaW4tYm90dG9tOjIuODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZS1zbSA6d2hlcmUodGFibGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1zbSA6d2hlcmUodGhlYWQgdGg6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2Utc20gOndoZXJlKHRib2R5IHRkLHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLXNtIDp3aGVyZSh0Ym9keSB0ZDpmaXJzdC1jaGlsZCx0Zm9vdCB0ZDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1zbSA6d2hlcmUodGJvZHkgdGQ6bGFzdC1jaGlsZCx0Zm9vdCB0ZDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1zbSA6d2hlcmUoZmlndXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43MTQyOWVtO21hcmdpbi1ib3R0b206MS43MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUoZmlndXJlPiopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2Utc20gOndoZXJlKGZpZ2NhcHRpb24pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNjY2NjY3ZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtPjpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc20+Omxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLWJvdHRvbTowfS4tbXQtMXttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqLTEpfS5tdC0wXC41e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9Lm10LTF7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tdC0ye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubXQtM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lm10LTR7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tdC02e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ubXQtOHttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqOCl9Lm10LTEwe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lm10LTEye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9Lm10LWF1dG97bWFyZ2luLXRvcDphdXRvfS5tci0xe21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tci0ye21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tci04e21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS4tbWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5tYi0xe21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubWItMVwuNXttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ubWItMnttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9Lm1iLTN7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5tYi00e21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubWItNnttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNil9Lm1iLTh7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS5tYi0xMHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTApfS5tbC0xe21hcmdpbi1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMSl9Lm1sLTJ7bWFyZ2luLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubWwtYXV0b3ttYXJnaW4tbGVmdDphdXRvfS5saW5lLWNsYW1wLTJ7LXdlYmtpdC1saW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5uby1zY3JvbGxiYXJ7LW1zLW92ZXJmbG93LXN0eWxlOm5vbmU7c2Nyb2xsYmFyLXdpZHRoOm5vbmV9Lm5vLXNjcm9sbGJhcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5mbGV4e2Rpc3BsYXk6ZmxleH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmlubGluZXtkaXNwbGF5OmlubGluZX0uaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5pbmxpbmUtZmxleHtkaXNwbGF5OmlubGluZS1mbGV4fS5saXN0LWl0ZW17ZGlzcGxheTpsaXN0LWl0ZW19LnRhYmxle2Rpc3BsYXk6dGFibGV9LnRhYmxlLWNhcHRpb257ZGlzcGxheTp0YWJsZS1jYXB0aW9ufS50YWJsZS1jZWxse2Rpc3BsYXk6dGFibGUtY2VsbH0udGFibGUtcm93e2Rpc3BsYXk6dGFibGUtcm93fS5maWVsZC1zaXppbmctY29udGVudHtmaWVsZC1zaXppbmc6Y29udGVudH0uYXNwZWN0LVxbMTZcLzlcXXthc3BlY3QtcmF0aW86MTYvOX0uYXNwZWN0LVxbNjEwXC8yMDhcXXthc3BlY3QtcmF0aW86NjEwLzIwOH0uYXNwZWN0LXNxdWFyZXthc3BlY3QtcmF0aW86MX0uc2l6ZS0zXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5zaXplLTR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0uc2l6ZS01e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LnNpemUtNnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5zaXplLTd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uc2l6ZS04e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LnNpemUtOXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjkpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjkpfS5zaXplLTEwe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTApO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0uc2l6ZS0xNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnNpemUtZnVsbHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5oLTJ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LmgtMlwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1wuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5oLTR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LmgtNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uaC02e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5oLTd7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNyl9LmgtOHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uaC04XCF7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCkhaW1wb3J0YW50fS5oLTl7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LmgtMTB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTApfS5oLTEye2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0uaC0xNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LmgtMTZ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5oLTIwe2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0uaC0yNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LmgtNDB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNDApfS5oLTY0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0uaC04MHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4MCl9LmgtXFs4MHB4XF17aGVpZ2h0OjgwcHh9LmgtXFszMDBweFxde2hlaWdodDozMDBweH0uaC1cWzM2MHB4XF17aGVpZ2h0OjM2MHB4fS5oLVxbNDQwcHhcXXtoZWlnaHQ6NDQwcHh9LmgtXFtjYWxjXCgxMDBcJS0xcHhcKVxde2hlaWdodDpjYWxjKDEwMCUgLSAxcHgpfS5oLWF1dG97aGVpZ2h0OmF1dG99LmgtZnVsbHtoZWlnaHQ6MTAwJX0uaC1weHtoZWlnaHQ6MXB4fS5oLXNjcmVlbntoZWlnaHQ6MTAwdmh9Lm1heC1oLVwoLS1hdmFpbGFibGUtaGVpZ2h0XCl7bWF4LWhlaWdodDp2YXIoLS1hdmFpbGFibGUtaGVpZ2h0KX0ubWF4LWgtNjR7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWF4LWgtNzJ7bWF4LWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubWluLWgtMTZ7bWluLWhlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ubWluLWgtXFs2MHZoXF17bWluLWhlaWdodDo2MHZofS5taW4taC1zY3JlZW57bWluLWhlaWdodDoxMDB2aH0udy1cKC0tYW5jaG9yLXdpZHRoXCl7d2lkdGg6dmFyKC0tYW5jaG9yLXdpZHRoKX0udy0xe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnctMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS53LTN7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0udy0zXC41e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0udy00e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnctNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS53LTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0udy03e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNyl9LnctOHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS53LTl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0udy0xMHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0udy0xMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0udy0xNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0udy0xNnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0udy0yMHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0udy0yNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjI0KX0udy0yOHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjI4KX0udy0zMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMyKX0udy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0udy00NHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ0KX0udy00OHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ4KX0udy01Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUyKX0udy01Nnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjU2KX0udy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0udy1cWzEyMHB4XF17d2lkdGg6MTIwcHh9LnctXFsxNDBweFxde3dpZHRoOjE0MHB4fS53LVxbY2FsY1woXCgxMDBcJS0ycmVtXClcLzNcKVxde3dpZHRoOmNhbGMoMzMuMzMzMyUgLSAuNjY2NjY3cmVtKX0udy1hdXRve3dpZHRoOmF1dG99LnctZml0e3dpZHRoOmZpdC1jb250ZW50fS53LWZ1bGx7d2lkdGg6MTAwJX0udy1weHt3aWR0aDoxcHh9Lm1heC13LTB7bWF4LXdpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lm1heC13LTJ4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTJ4bCl9Lm1heC13LTN4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTN4bCl9Lm1heC13LTR4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTR4bCl9Lm1heC13LTd4bHttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLTd4bCl9Lm1heC13LTQ4e21heC13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQ4KX0ubWF4LXctXFsyMDBweFxde21heC13aWR0aDoyMDBweH0ubWF4LXctXFtjYWxjXCgxMDBcJS0ycmVtXClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMnJlbSl9Lm1heC13LVxbY2FsY1woMTAwdnctMnJlbVwpXF17bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAycmVtKX0ubWF4LXctbGd7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1sZyl9Lm1heC13LW1ke21heC13aWR0aDp2YXIoLS1jb250YWluZXItbWQpfS5tYXgtdy1ub25le21heC13aWR0aDpub25lfS5tYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0ubWF4LXcteGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci14bCl9Lm1heC13LXhze21heC13aWR0aDp2YXIoLS1jb250YWluZXIteHMpfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy0zMnttaW4td2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9Lm1pbi13LTY0e21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWluLXctXFsycmVtXF17bWluLXdpZHRoOjJyZW19Lm1pbi13LVxbOTZweFxde21pbi13aWR0aDo5NnB4fS5taW4tdy1cWzE1MHB4XF17bWluLXdpZHRoOjE1MHB4fS5mbGV4LTF7ZmxleDoxfS5zaHJpbmstMHtmbGV4LXNocmluazowfS50YWJsZS1maXhlZHt0YWJsZS1sYXlvdXQ6Zml4ZWR9LmNhcHRpb24tYm90dG9te2NhcHRpb24tc2lkZTpib3R0b219Lm9yaWdpbi1cKC0tdHJhbnNmb3JtLW9yaWdpblwpe3RyYW5zZm9ybS1vcmlnaW46dmFyKC0tdHJhbnNmb3JtLW9yaWdpbil9Li10cmFuc2xhdGUteC0xXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtXFszcHhcXXstLXR3LXRyYW5zbGF0ZS14OjNweDt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2xhdGUteC1cWzE4cHhcXXstLXR3LXRyYW5zbGF0ZS14OjE4cHg7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uLXRyYW5zbGF0ZS15LTFcLzJ7LS10dy10cmFuc2xhdGUteTpjYWxjKGNhbGMoMS8yKjEwMCUpKi0xKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS50cmFuc2xhdGUteS0wey0tdHctdHJhbnNsYXRlLXk6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5yb3RhdGUtMTgwe3JvdGF0ZToxODBkZWd9LnRyYW5zZm9ybXt0cmFuc2Zvcm06dmFyKC0tdHctcm90YXRlLXgsKXZhcigtLXR3LXJvdGF0ZS15LCl2YXIoLS10dy1yb3RhdGUteiwpdmFyKC0tdHctc2tldy14LCl2YXIoLS10dy1za2V3LXksKX0udHJhbnNmb3JtLWdwdXt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKXZhcigtLXR3LXJvdGF0ZS14LCl2YXIoLS10dy1yb3RhdGUteSwpdmFyKC0tdHctcm90YXRlLXosKXZhcigtLXR3LXNrZXcteCwpdmFyKC0tdHctc2tldy15LCl9LmFuaW1hdGUtcHVsc2V7YW5pbWF0aW9uOnZhcigtLWFuaW1hdGUtcHVsc2UpfS5hbmltYXRlLXNwaW57YW5pbWF0aW9uOnZhcigtLWFuaW1hdGUtc3Bpbil9LmN1cnNvci1jcm9zc2hhaXJ7Y3Vyc29yOmNyb3NzaGFpcn0uY3Vyc29yLWRlZmF1bHR7Y3Vyc29yOmRlZmF1bHR9LmN1cnNvci1ub3QtYWxsb3dlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmN1cnNvci1wb2ludGVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3ItdGV4dHtjdXJzb3I6dGV4dH0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLXB5LTF7c2Nyb2xsLXBhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5saXN0LW5vbmV7bGlzdC1zdHlsZS10eXBlOm5vbmV9LmF1dG8tY29scy1mcntncmlkLWF1dG8tY29sdW1uczptaW5tYXgoMCwxZnIpfS5ncmlkLWZsb3ctY29se2dyaWQtYXV0by1mbG93OmNvbHVtbn0uYXV0by1yb3dzLW1pbntncmlkLWF1dG8tcm93czptaW4tY29udGVudH0uZ3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5ncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC1jb2wtcmV2ZXJzZXtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX0uZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5mbGV4LXdyYXB7ZmxleC13cmFwOndyYXB9LmNvbnRlbnQtc3RhcnR7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0fS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uaXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1zdGFydHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5pdGVtcy1zdHJldGNoe2FsaWduLWl0ZW1zOnN0cmV0Y2h9Lmp1c3RpZnktYXJvdW5ke2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9Lmp1c3RpZnktYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uanVzdGlmeS1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LXN0YXJ0e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5nYXAtMFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAtMntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ2FwLTJcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ2FwLTN7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmdhcC00e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAtNntnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZ2FwLTh7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqOCl9LmdhcC1cWzJweFxde2dhcDoycHh9OndoZXJlKC5zcGFjZS15LTBcLjU+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSouNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLjUpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMT46bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMVwuNT46bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMS41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTI+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSoyKSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSoyKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTM+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSozKSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSozKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTQ+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTY+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo2KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo2KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTg+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo4KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo4KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTEwPjpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMTApKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEwKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9LmdhcC14LTR7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAteC04e2NvbHVtbi1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX06d2hlcmUoLi1zcGFjZS14LTI+Om5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWlubGluZS1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLTIpKnZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO21hcmdpbi1pbmxpbmUtZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSotMikqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpfS5nYXAteS0xXC41e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAteS01e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX06d2hlcmUoLmRpdmlkZS15Pjpub3QoOmxhc3QtY2hpbGQpKXstLXR3LWRpdmlkZS15LXJldmVyc2U6MDtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci10b3Atd2lkdGg6Y2FsYygxcHgqdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpO2JvcmRlci1ib3R0b20td2lkdGg6Y2FsYygxcHgqY2FsYygxIC0gdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpKX06d2hlcmUoLmRpdmlkZS1ib3JkZXI+Om5vdCg6bGFzdC1jaGlsZCkpe2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5zZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH0uanVzdGlmeS1zZWxmLWVuZHtqdXN0aWZ5LXNlbGY6ZmxleC1lbmR9LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3ctYXV0b3tvdmVyZmxvdzphdXRvfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWF1dG97b3ZlcmZsb3cteDphdXRvfS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteC1zY3JvbGx7b3ZlcmZsb3cteDpzY3JvbGx9Lm92ZXJmbG93LXktYXV0b3tvdmVyZmxvdy15OmF1dG99LnJvdW5kZWR7Ym9yZGVyLXJhZGl1czouMjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCl9LnJvdW5kZWQtNHhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjIuNil9LnJvdW5kZWQtXFtjYWxjXCh2YXJcKC0tcmFkaXVzXCktM3B4XClcXXtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDNweCl9LnJvdW5kZWQtXFttaW5cKHZhclwoLS1yYWRpdXMtbWRcKVwsMTBweFwpXF17Ym9yZGVyLXJhZGl1czptaW4odmFyKC0tcmFkaXVzLW1kKSwxMHB4KX0ucm91bmRlZC1cW21pblwodmFyXCgtLXJhZGl1cy1tZFwpXCwxMnB4XClcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEycHgpfS5yb3VuZGVkLWZ1bGx7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LnJvdW5kZWQtbGd7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpfS5yb3VuZGVkLWxnXCF7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpIWltcG9ydGFudH0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSouOCl9LnJvdW5kZWQtbm9uZXtib3JkZXItcmFkaXVzOjB9LnJvdW5kZWQtc217Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqLjYpfS5yb3VuZGVkLXhse2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCl9LnJvdW5kZWQteGxcIXtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpIWltcG9ydGFudH0ucm91bmRlZC10LTJ4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpfS5yb3VuZGVkLXQteGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX0ucm91bmRlZC1iLXhse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCl9LmJvcmRlcntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXR7Ym9yZGVyLXRvcC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci10b3Atd2lkdGg6MXB4fS5ib3JkZXItcntib3JkZXItcmlnaHQtc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItcmlnaHQtd2lkdGg6MXB4fS5ib3JkZXItYntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHh9LmJvcmRlci1iLTJ7Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MnB4fS5ib3JkZXItZGFzaGVkey0tdHctYm9yZGVyLXN0eWxlOmRhc2hlZDtib3JkZXItc3R5bGU6ZGFzaGVkfS5ib3JkZXItYm9yZGVye2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5ib3JkZXItZGFuZ2VyXC8zMHtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kYW5nZXJcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGFuZ2VyKTMwJSx0cmFuc3BhcmVudCl9fS5ib3JkZXItZGVzdHJ1Y3RpdmVcLzMwe2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ib3JkZXItZGVzdHJ1Y3RpdmVcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1pbnB1dCwuYm9yZGVyLWlucHV0XC8zMHtib3JkZXItY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLWlucHV0XC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTMwJSx0cmFuc3BhcmVudCl9fS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSl9LmJvcmRlci1yZWQtNTAwXC80MHtib3JkZXItY29sb3I6I2ZiMmMzNjY2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXJlZC01MDBcLzQwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItcmVkLTUwMCk0MCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLXN1Y2Nlc3NcLzMwe2JvcmRlci1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1zdWNjZXNzXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci10cmFuc3BhcmVudHtib3JkZXItY29sb3I6IzAwMDB9LmJnLVxbXCMyMjlFRDlcXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjllZDl9LmJnLWJhY2tncm91bmQsLmJnLWJhY2tncm91bmRcLzgwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1iYWNrZ3JvdW5kXC84MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1iYWNrZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS5iZy1ibGFja1wvMTB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMWF9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3ItYmxhY2spMTAlLHRyYW5zcGFyZW50KX19LmJnLWJsYWNrXC81MHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDA4MH1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWJsYWNrXC81MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci1ibGFjayk1MCUsdHJhbnNwYXJlbnQpfX0uYmctYm9yZGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYm9yZGVyKX0uYmctY2FyZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNhcmQpfS5iZy1kYW5nZXIsLmJnLWRhbmdlclwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRhbmdlcil9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1kYW5nZXJcLzV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGFuZ2VyKTUlLHRyYW5zcGFyZW50KX19LmJnLWRlc3RydWN0aXZlLC5iZy1kZXN0cnVjdGl2ZVwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXC81e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUlLHRyYW5zcGFyZW50KX19LmJnLWRlc3RydWN0aXZlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctaW5wdXRcLzMwe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctaW5wdXRcLzMwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTMwJSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uYmctbXV0ZWQtZm9yZWdyb3VuZFwvMjV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkLWZvcmVncm91bmRcLzI1e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkLWZvcmVncm91bmQpMjUlLHRyYW5zcGFyZW50KX19LmJnLW11dGVkXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCkzMCUsdHJhbnNwYXJlbnQpfX0uYmctbXV0ZWRcLzQwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctbXV0ZWRcLzQwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTQwJSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZFwvNTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1tdXRlZFwvNTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNTAlLHRyYW5zcGFyZW50KX19LmJnLXBvcG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wb3BvdmVyKX0uYmctcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfS5iZy1wcmltYXJ5LWZvcmVncm91bmRcLzIwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnktZm9yZWdyb3VuZFwvMjB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKTIwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XC81e2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1wcmltYXJ5XC81e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpNSUsdHJhbnNwYXJlbnQpfX0uYmctcHJpbWFyeVwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcLzEwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMTAlLHRyYW5zcGFyZW50KX19LmJnLXByaW1hcnlcLzE1e2JhY2tncm91bmQtY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1wcmltYXJ5XC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5iZy1zdWNjZXNzLC5iZy1zdWNjZXNzXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctc3VjY2Vzc1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tc3VjY2VzcykxMCUsdHJhbnNwYXJlbnQpfX0uYmctc3VjY2Vzc1wvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcLzE1e2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMTUlLHRyYW5zcGFyZW50KX19LmJnLXN1cmZhY2UsLmJnLXN1cmZhY2VcLzkwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tc3VyZmFjZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1zdXJmYWNlXC85MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdXJmYWNlKTkwJSx0cmFuc3BhcmVudCl9fS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdhcm5pbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctd2FybmluZ1wvMTB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0td2FybmluZykxMCUsdHJhbnNwYXJlbnQpfX0uYmctd2hpdGV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSkxNSUsdHJhbnNwYXJlbnQpfX0uYmctZ3JhZGllbnQtdG8tYnJ7LS10dy1ncmFkaWVudC1wb3NpdGlvbjp0byBib3R0b20gcmlnaHQgaW4gb2tsYWI7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKX0uZnJvbS1cW1wjMzhBRkUzXF17LS10dy1ncmFkaWVudC1mcm9tOiMzOGFmZTM7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0uZnJvbS1cW1wjMjI5RUQ5XF17LS10dy1ncmFkaWVudC1mcm9tOiMyMjllZDk7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0udG8tXFtcIzFGOTdDQVxdey0tdHctZ3JhZGllbnQtdG86IzFmOTdjYTstLXR3LWdyYWRpZW50LXN0b3BzOnZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcyx2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtZnJvbSl2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC10byl2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbikpfS50by1cW1wjMWE3ZmIwXF17LS10dy1ncmFkaWVudC10bzojMWE3ZmIwOy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LmJnLWNsaXAtcGFkZGluZ3tiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3h9Lm9iamVjdC1jb3ZlcntvYmplY3QtZml0OmNvdmVyfS5wLTB7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5wLTBcLjV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucC0xe3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucC0ye3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucC0ze3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucC00e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ucC01e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0ucC02e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucC0xMntwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5wLVxbM3B4XF17cGFkZGluZzozcHh9LnB4LTF7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucHgtMVwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnB4LTJ7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHgtMlwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnB4LTN7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB5LTBcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0ucHktMXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnB5LTFcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnB5LTJ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weS0yXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5weS0ze3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHktM1wuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMy41KX0ucHktNHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB5LTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5weS04e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucHktMTB7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0ucHktMTJ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0ucHktMTZ7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ucHQtMntwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wdC0ze3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnB0LTR7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ucHQtNntwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wci0ye3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHItNHtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LnByLTh7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS5wci0xMntwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5wYi0we3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnBiLTF7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ucGItMntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wYi02e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNil9LnBiLTh7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucGItMTB7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnBiLTE2e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5wbC0xXC41e3BhZGRpbmctbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9LnBsLTJ7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnBsLTV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LnBsLTh7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LnBsLTl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LmFsaWduLW1pZGRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvbnQtbW9ub3tmb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSwiSW50ZXIiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn0udGV4dC0yeGx7Zm9udC1zaXplOnZhcigtLXRleHQtMnhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtMnhsLS1saW5lLWhlaWdodCkpfS50ZXh0LTN4bHtmb250LXNpemU6dmFyKC0tdGV4dC0zeGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC0zeGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQtNHhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTR4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTR4bC0tbGluZS1oZWlnaHQpKX0udGV4dC02eGx7Zm9udC1zaXplOnZhcigtLXRleHQtNnhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtNnhsLS1saW5lLWhlaWdodCkpfS50ZXh0LWJhc2V7Zm9udC1zaXplOnZhcigtLXRleHQtYmFzZSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LWJhc2UtLWxpbmUtaGVpZ2h0KSl9LnRleHQtbGd7Zm9udC1zaXplOnZhcigtLXRleHQtbGcpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1sZy0tbGluZS1oZWlnaHQpKX0udGV4dC1zbXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS50ZXh0LXhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQteHN7Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX0udGV4dC1cWzBcLjhyZW1cXXtmb250LXNpemU6LjhyZW19LnRleHQtXFsxMHB4XF17Zm9udC1zaXplOjEwcHh9LnRleHQtXFsxMXB4XF17Zm9udC1zaXplOjExcHh9LmxlYWRpbmctbm9uZXstLXR3LWxlYWRpbmc6MTtsaW5lLWhlaWdodDoxfS5sZWFkaW5nLXJlbGF4ZWR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctcmVsYXhlZCk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy1yZWxheGVkKX0ubGVhZGluZy1zbnVney0tdHctbGVhZGluZzp2YXIoLS1sZWFkaW5nLXNudWcpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctc251Zyl9LmxlYWRpbmctdGlnaHR7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctdGlnaHQpO2xpbmUtaGVpZ2h0OnZhcigtLWxlYWRpbmctdGlnaHQpfS5mb250LWJvbGR7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ib2xkKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ib2xkKX0uZm9udC1tZWRpdW17LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSl9LmZvbnQtbm9ybWFsey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpfS5mb250LXNlbWlib2xkey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKX0udHJhY2tpbmctdGlnaHR7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy10aWdodCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctdGlnaHQpfS50cmFja2luZy13aWRley0tdHctdHJhY2tpbmc6dmFyKC0tdHJhY2tpbmctd2lkZSk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctd2lkZSl9LnRyYWNraW5nLXdpZGVzdHstLXR3LXRyYWNraW5nOnZhcigtLXRyYWNraW5nLXdpZGVzdCk7bGV0dGVyLXNwYWNpbmc6dmFyKC0tdHJhY2tpbmctd2lkZXN0KX0uYnJlYWstYWxse3dvcmQtYnJlYWs6YnJlYWstYWxsfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmUtbGluZXt3aGl0ZS1zcGFjZTpwcmUtbGluZX0ud2hpdGVzcGFjZS1wcmUtd3JhcHt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0udGV4dC1cW1wjMjJDNTVFXF17Y29sb3I6IzIyYzU1ZX0udGV4dC1cW1wjMjI5RUQ5XF17Y29sb3I6IzIyOWVkOX0udGV4dC1cW1wjMTg3OUE4XF17Y29sb3I6IzE4NzlhOH0udGV4dC1cW1wjRUY0NDQ0XF17Y29sb3I6I2VmNDQ0NH0udGV4dC1jYXJkLWZvcmVncm91bmR7Y29sb3I6dmFyKC0tY2FyZC1mb3JlZ3JvdW5kKX0udGV4dC1kYW5nZXJ7Y29sb3I6dmFyKC0tZGFuZ2VyKX0udGV4dC1kZXN0cnVjdGl2ZXtjb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LnRleHQtZm9yZWdyb3VuZCwudGV4dC1mb3JlZ3JvdW5kXC82MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFwvNjB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWZvcmVncm91bmQpNjAlLHRyYW5zcGFyZW50KX19LnRleHQtZm9yZWdyb3VuZFwvODB7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LWZvcmVncm91bmRcLzgwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWdyZWVuLTYwMHtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi02MDApfS50ZXh0LW11dGVkLWZvcmVncm91bmQsLnRleHQtbXV0ZWQtZm9yZWdyb3VuZFwvNjB7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LW11dGVkLWZvcmVncm91bmRcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTYwJSx0cmFuc3BhcmVudCl9fS50ZXh0LW9yYW5nZS01MDB7Y29sb3I6dmFyKC0tY29sb3Itb3JhbmdlLTUwMCl9LnRleHQtcG9wb3Zlci1mb3JlZ3JvdW5ke2NvbG9yOnZhcigtLXBvcG92ZXItZm9yZWdyb3VuZCl9LnRleHQtcHJpbWFyeXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0udGV4dC1wcmltYXJ5LWZvcmVncm91bmR7Y29sb3I6dmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKX0udGV4dC1yZWQtNTAwe2NvbG9yOnZhcigtLWNvbG9yLXJlZC01MDApfS50ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5ke2NvbG9yOnZhcigtLXNlY29uZGFyeS1mb3JlZ3JvdW5kKX0udGV4dC1zdWNjZXNze2NvbG9yOnZhcigtLXN1Y2Nlc3MpfS50ZXh0LXdhcm5pbmd7Y29sb3I6dmFyKC0td2FybmluZyl9LnRleHQtd2hpdGV7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS50ZXh0LXdoaXRlXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXC84NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpODUlLHRyYW5zcGFyZW50KX19LnRleHQtd2hpdGVcLzkwe2NvbG9yOiNmZmZmZmZlNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcLzkwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVwvOTV7Y29sb3I6I2ZmZmZmZmYyfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVwvOTV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTk1JSx0cmFuc3BhcmVudCl9fS5jYXBpdGFsaXple3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LnVwcGVyY2FzZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9Lml0YWxpY3tmb250LXN0eWxlOml0YWxpY30udGFidWxhci1udW1zey0tdHctbnVtZXJpYy1zcGFjaW5nOnRhYnVsYXItbnVtcztmb250LXZhcmlhbnQtbnVtZXJpYzp2YXIoLS10dy1vcmRpbmFsLCl2YXIoLS10dy1zbGFzaGVkLXplcm8sKXZhcigtLXR3LW51bWVyaWMtZmlndXJlLCl2YXIoLS10dy1udW1lcmljLXNwYWNpbmcsKXZhcigtLXR3LW51bWVyaWMtZnJhY3Rpb24sKX0udW5kZXJsaW5le3RleHQtZGVjb3JhdGlvbi1saW5lOnVuZGVybGluZX0udW5kZXJsaW5lLW9mZnNldC0ye3RleHQtdW5kZXJsaW5lLW9mZnNldDoycHh9LnVuZGVybGluZS1vZmZzZXQtNHt0ZXh0LXVuZGVybGluZS1vZmZzZXQ6NHB4fS5hbnRpYWxpYXNlZHstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0ub3BhY2l0eS0we29wYWNpdHk6MH0ub3BhY2l0eS0zMHtvcGFjaXR5Oi4zfS5vcGFjaXR5LTQwe29wYWNpdHk6LjR9Lm9wYWNpdHktNTB7b3BhY2l0eTouNX0ub3BhY2l0eS03MHtvcGFjaXR5Oi43fS5iZy1ibGVuZC1jb2xvcntiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6Y29sb3J9LnNoYWRvd3stLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy1sZ3stLXR3LXNoYWRvdzowIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW1key0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW5vbmV7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LW5vbmVcIXstLXR3LXNoYWRvdzowIDAgIzAwMDAhaW1wb3J0YW50O2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KSFpbXBvcnRhbnR9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy14c3stLXR3LXNoYWRvdzowIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMHstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctYmFja2dyb3VuZHstLXR3LXJpbmctY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LnJpbmctZm9yZWdyb3VuZFwvMTB7LS10dy1yaW5nLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1mb3JlZ3JvdW5kXC8xMHstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWZvcmVncm91bmQpMTAlLHRyYW5zcGFyZW50KX19LnJpbmctcHJpbWFyeVwvMzB7LS10dy1yaW5nLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1wcmltYXJ5XC8zMHstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMzAlLHRyYW5zcGFyZW50KX19Lm91dGxpbmUtaGlkZGVuey0tdHctb3V0bGluZS1zdHlsZTpub25lO291dGxpbmUtc3R5bGU6bm9uZX1AbWVkaWEgKGZvcmNlZC1jb2xvcnM6YWN0aXZlKXsub3V0bGluZS1oaWRkZW57b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfX0ub3V0bGluZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5maWx0ZXJ7ZmlsdGVyOnZhcigtLXR3LWJsdXIsKXZhcigtLXR3LWJyaWdodG5lc3MsKXZhcigtLXR3LWNvbnRyYXN0LCl2YXIoLS10dy1ncmF5c2NhbGUsKXZhcigtLXR3LWh1ZS1yb3RhdGUsKXZhcigtLXR3LWludmVydCwpdmFyKC0tdHctc2F0dXJhdGUsKXZhcigtLXR3LXNlcGlhLCl2YXIoLS10dy1kcm9wLXNoYWRvdywpfS5iYWNrZHJvcC1ibHVyLXNtey0tdHctYmFja2Ryb3AtYmx1cjpibHVyKHZhcigtLWJsdXItc20pKTstd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpO2JhY2tkcm9wLWZpbHRlcjp2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCl2YXIoLS10dy1iYWNrZHJvcC1icmlnaHRuZXNzLCl2YXIoLS10dy1iYWNrZHJvcC1jb250cmFzdCwpdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCl2YXIoLS10dy1iYWNrZHJvcC1odWUtcm90YXRlLCl2YXIoLS10dy1iYWNrZHJvcC1pbnZlcnQsKXZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKXZhcigtLXR3LWJhY2tkcm9wLXNhdHVyYXRlLCl2YXIoLS10dy1iYWNrZHJvcC1zZXBpYSwpfS50cmFuc2l0aW9ue3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3Isb3V0bGluZS1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2UsLS10dy1ncmFkaWVudC1mcm9tLC0tdHctZ3JhZGllbnQtdmlhLC0tdHctZ3JhZGllbnQtdG8sb3BhY2l0eSxib3gtc2hhZG93LHRyYW5zZm9ybSx0cmFuc2xhdGUsc2NhbGUscm90YXRlLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXIsZGlzcGxheSxjb250ZW50LXZpc2liaWxpdHksb3ZlcmxheSxwb2ludGVyLWV2ZW50czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLWNvbG9yc3t0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tb3BhY2l0eXt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1zaGFkb3d7dHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tdHJhbnNmb3Jte3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLHRyYW5zbGF0ZSxzY2FsZSxyb3RhdGU7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0uZHVyYXRpb24tMTAwey0tdHctZHVyYXRpb246LjFzO3RyYW5zaXRpb24tZHVyYXRpb246LjFzfS5kdXJhdGlvbi0xNTB7LS10dy1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tZHVyYXRpb246LjE1c30uZHVyYXRpb24tMjAwey0tdHctZHVyYXRpb246LjJzO3RyYW5zaXRpb24tZHVyYXRpb246LjJzfS5lYXNlLWluLW91dHstLXR3LWVhc2U6dmFyKC0tZWFzZS1pbi1vdXQpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLWVhc2UtaW4tb3V0KX0uXFt3aWxsLWNoYW5nZVw6dHJhbnNmb3JtXF17d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfS5vdXRsaW5lLW5vbmV7LS10dy1vdXRsaW5lLXN0eWxlOm5vbmU7b3V0bGluZS1zdHlsZTpub25lfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucGF1c2Vke2FuaW1hdGlvbi1wbGF5LXN0YXRlOnBhdXNlZH0ucnVubmluZ3thbmltYXRpb24tcGxheS1zdGF0ZTpydW5uaW5nfS5ncm91cC1vcGVuXDpyb3RhdGUtMTgwOmlzKDp3aGVyZSguZ3JvdXApOmlzKFtvcGVuXSw6cG9wb3Zlci1vcGVuLDpvcGVuKSAqKXtyb3RhdGU6MTgwZGVnfUBtZWRpYSAoaG92ZXI6aG92ZXIpey5ncm91cC1ob3Zlclw6dHJhbnNsYXRlLXgtMFwuNTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXstLXR3LXRyYW5zbGF0ZS14OmNhbGModmFyKC0tc3BhY2luZykqLjUpO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9Lmdyb3VwLWhvdmVyXDpiZy1tdXRlZDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uZ3JvdXAtaG92ZXJcOnRleHQtcHJpbWFyeTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0uZ3JvdXAtaG92ZXJcOnRleHQtd2hpdGU6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7Y29sb3I6dmFyKC0tY29sb3Itd2hpdGUpfS5ncm91cC1ob3Zlclw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7b3BhY2l0eToxfS5ncm91cC1ob3Zlclw6c2hhZG93LW1kOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopey0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX19Lmdyb3VwLWZvY3VzXC9kcm9wZG93bi1tZW51LWl0ZW1cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6aXMoOndoZXJlKC5ncm91cFwvZHJvcGRvd24tbWVudS1pdGVtKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyLWdyb3VwXDpzaXplLTEwOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9c21cXVwvYXZhdGFyLWdyb3VwXDpzaXplLTY6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9Lmdyb3VwLWhhcy1kYXRhLVxbc2xvdFw9Y29tbWFuZC1zaG9ydGN1dFxdXC9jb21tYW5kLWl0ZW1cOmhpZGRlbjppcyg6d2hlcmUoLmdyb3VwXC9jb21tYW5kLWl0ZW0pOmhhcyhbZGF0YS1zbG90PWNvbW1hbmQtc2hvcnRjdXRdKSAqKXtkaXNwbGF5Om5vbmV9Lmdyb3VwLWhhcy1cW1w+aW5wdXRcXVwvaW5wdXQtZ3JvdXBcOnB0LTI6aXMoOndoZXJlKC5ncm91cFwvaW5wdXQtZ3JvdXApOmhhcyg+aW5wdXQpICope3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWhhcy1cW1w+aW5wdXRcXVwvaW5wdXQtZ3JvdXBcOnBiLTI6aXMoOndoZXJlKC5ncm91cFwvaW5wdXQtZ3JvdXApOmhhcyg+aW5wdXQpICope3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWRhdGEtXFtjaGVja2VkXD10cnVlXF1cL2NvbW1hbmQtaXRlbVw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cFwvY29tbWFuZC1pdGVtKVtkYXRhLWNoZWNrZWQ9dHJ1ZV0gKil7b3BhY2l0eToxfS5ncm91cC1kYXRhLVxbZGlzYWJsZWRcPXRydWVcXVw6cG9pbnRlci1ldmVudHMtbm9uZTppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICope3BvaW50ZXItZXZlbnRzOm5vbmV9Lmdyb3VwLWRhdGEtXFtkaXNhYmxlZFw9dHJ1ZVxdXDpvcGFjaXR5LTUwOmlzKDp3aGVyZSguZ3JvdXApW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0gKiksLmdyb3VwLWRhdGEtXFtkaXNhYmxlZFw9dHJ1ZVxdXC9pbnB1dC1ncm91cFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwXC9pbnB1dC1ncm91cClbZGF0YS1kaXNhYmxlZD10cnVlXSAqKXtvcGFjaXR5Oi41fS5ncm91cC1kYXRhLVxbc2l6ZVw9ZGVmYXVsdFxdXC9hdmF0YXJcOnNpemUtMlwuNTppcyg6d2hlcmUoLmdyb3VwXC9hdmF0YXIpW2RhdGEtc2l6ZT1kZWZhdWx0XSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0uZ3JvdXAtZGF0YS1cW3NpemVcPWxnXF1cL2F2YXRhclw6c2l6ZS0zOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxbc2l6ZVw9c21cXVwvYXZhdGFyXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9c21dICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9hdmF0YXJcOnRleHQteHM6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9c21dICope2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhzKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteHMtLWxpbmUtaGVpZ2h0KSl9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9jYXJkXDpwLTM6aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmdyb3VwLWRhdGEtXFtzaXplXD1zbVxdXC9jYXJkXDpweC0zOmlzKDp3aGVyZSguZ3JvdXBcL2NhcmQpW2RhdGEtc2l6ZT1zbV0gKil7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cW3NpemVcPXNtXF1cL2NhcmRcOnRleHQtc206aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmJnLXRyYW5zcGFyZW50OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICope2JhY2tncm91bmQtY29sb3I6IzAwMDB9Lmdyb3VwLWRhdGEtc2VsZWN0ZWRcL2NvbW1hbmQtaXRlbVw6dGV4dC1mb3JlZ3JvdW5kOmlzKDp3aGVyZSguZ3JvdXBcL2NvbW1hbmQtaXRlbSk6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pICope2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLWhvcml6b250YWxcL3RhYnNcOmgtODppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSkgKil7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9Lmdyb3VwLWRhdGEtdmVydGljYWxcL3RhYnNcOmgtZml0OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7aGVpZ2h0OmZpdC1jb250ZW50fS5ncm91cC1kYXRhLXZlcnRpY2FsXC90YWJzXDp3LWZ1bGw6aXMoOndoZXJlKC5ncm91cFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKXt3aWR0aDoxMDAlfS5ncm91cC1kYXRhLXZlcnRpY2FsXC90YWJzXDpmbGV4LWNvbDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6anVzdGlmeS1zdGFydDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5wZWVyLWRpc2FibGVkXDpjdXJzb3Itbm90LWFsbG93ZWQ6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtjdXJzb3I6bm90LWFsbG93ZWR9LnBlZXItZGlzYWJsZWRcOm9wYWNpdHktNTA6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtvcGFjaXR5Oi41fS5maWxlXDppbmxpbmUtZmxleDo6ZmlsZS1zZWxlY3Rvci1idXR0b257ZGlzcGxheTppbmxpbmUtZmxleH0uZmlsZVw6aC02OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZmlsZVw6Ym9yZGVyLTA6OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5maWxlXDpiZy10cmFuc3BhcmVudDo6ZmlsZS1zZWxlY3Rvci1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZmlsZVw6dGV4dC1zbTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0uZmlsZVw6Zm9udC1tZWRpdW06OmZpbGUtc2VsZWN0b3ItYnV0dG9uey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pfS5maWxlXDp0ZXh0LWZvcmVncm91bmQ6OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5wbGFjZWhvbGRlclw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uYWZ0ZXJcOmFic29sdXRlOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7cG9zaXRpb246YWJzb2x1dGV9LmFmdGVyXDppbnNldC0wOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uYWZ0ZXJcOnJvdW5kZWQtZnVsbDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5hZnRlclw6Ym9yZGVyOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjFweH0uYWZ0ZXJcOmJvcmRlci1ib3JkZXI6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKX0uYWZ0ZXJcOmJnLWZvcmVncm91bmQ6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hZnRlclw6b3BhY2l0eS0wOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7b3BhY2l0eTowfS5hZnRlclw6bWl4LWJsZW5kLWRhcmtlbjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO21peC1ibGVuZC1tb2RlOmRhcmtlbn0uYWZ0ZXJcOnRyYW5zaXRpb24tb3BhY2l0eTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5ncm91cC1kYXRhLWhvcml6b250YWxcL3RhYnNcOmFmdGVyXDppbnNldC14LTA6aXMoOndoZXJlKC5ncm91cFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQtaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFwvdGFic1w6YWZ0ZXJcOmJvdHRvbS1cWy01cHhcXTppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSkgKik6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtib3R0b206LTVweH0uZ3JvdXAtZGF0YS1ob3Jpem9udGFsXC90YWJzXDphZnRlclw6aC0wXC41OmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOmluc2V0LXktMDppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOi1yaWdodC0xOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKik6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0xKX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFwvdGFic1w6YWZ0ZXJcOnctMFwuNTppcyg6d2hlcmUoLmdyb3VwXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmZvY3VzLXdpdGhpblw6Ym9yZGVyLXJpbmc6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uZm9jdXMtd2l0aGluXDpyaW5nLTM6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLXJpbmdcLzUwOmZvY3VzLXdpdGhpbnstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy13aXRoaW5cOnJpbmctcmluZ1wvNTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcmluZyk1MCUsdHJhbnNwYXJlbnQpfX1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuaG92ZXJcOmJvcmRlci1tdXRlZC1mb3JlZ3JvdW5kXC8zMDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ym9yZGVyLW11dGVkLWZvcmVncm91bmRcLzMwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCkzMCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJvcmRlci1wcmltYXJ5XC80MDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcHJpbWFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6Ym9yZGVyLXByaW1hcnlcLzQwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk0MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJvcmRlci1yaW5nOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uaG92ZXJcOmJnLWFjY2VudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6YmctZGVzdHJ1Y3RpdmVcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5ob3Zlclw6YmctbXV0ZWQ6aG92ZXIsLmhvdmVyXDpiZy1tdXRlZFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3Zlclw6YmctbXV0ZWRcLzQwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTQwJSx0cmFuc3BhcmVudCl9fS5ob3Zlclw6YmctbXV0ZWRcLzUwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLW11dGVkXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOmJnLW11dGVkXC84MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy1tdXRlZFwvODA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpODAlLHRyYW5zcGFyZW50KX19LmhvdmVyXDpiZy1wcmltYXJ5XC8yMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcOmJnLXByaW1hcnlcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXByaW1hcnkpMjAlLHRyYW5zcGFyZW50KX19LmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tc2Vjb25kYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcOnRleHQtZm9yZWdyb3VuZDpob3Zlcntjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaG92ZXJcOnRleHQtbXV0ZWQtZm9yZWdyb3VuZDpob3Zlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uaG92ZXJcOnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjp2YXIoLS1wcmltYXJ5KX0uaG92ZXJcOnVuZGVybGluZTpob3Zlcnt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9LmhvdmVyXDpzaGFkb3ctbGc6aG92ZXJ7LS10dy1zaGFkb3c6MCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmhvdmVyXDpzaGFkb3ctbWQ6aG92ZXJ7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfX0uZm9jdXNcOmJnLWFjY2VudDpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmZvY3VzXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kOmZvY3Vze2NvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKX0uZm9jdXNcOm91dGxpbmUtbm9uZTpmb2N1c3stLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9OmlzKC5mb2N1c1w6XCpcKlw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDpmb2N1cyAqKSw6aXMoLm5vdC1kYXRhLVxbdmFyaWFudFw9ZGVzdHJ1Y3RpdmVcXVw6Zm9jdXNcOlwqXCpcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6bm90KFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmZvY3VzLXZpc2libGVcOmJvcmRlci1kZXN0cnVjdGl2ZVwvNDA6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6Ym9yZGVyLWRlc3RydWN0aXZlXC80MDpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpNDAlLHRyYW5zcGFyZW50KX19LmZvY3VzLXZpc2libGVcOmJvcmRlci1yaW5nOmZvY3VzLXZpc2libGV7Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5mb2N1cy12aXNpYmxlXDpyaW5nLTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcOnJpbmctMjpmb2N1cy12aXNpYmxley0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtdmlzaWJsZVw6cmluZy0zOmZvY3VzLXZpc2libGUsLmZvY3VzLXZpc2libGVcOnJpbmctXFszcHhcXTpmb2N1cy12aXNpYmxley0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtdmlzaWJsZVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXDpyaW5nLXJpbmdcLzUwOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZm9jdXMtdmlzaWJsZVw6cmluZy1yaW5nXC81MDpmb2N1cy12aXNpYmxley0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcmluZyk1MCUsdHJhbnNwYXJlbnQpfX0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS0xOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjFweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1vZmZzZXQtMjpmb2N1cy12aXNpYmxle291dGxpbmUtb2Zmc2V0OjJweH0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1wcmltYXJ5OmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uZm9jdXMtdmlzaWJsZVw6b3V0bGluZS1yaW5nOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX0uYWN0aXZlXDp0cmFuc2xhdGUteS1weDphY3RpdmV7LS10dy10cmFuc2xhdGUteToxcHg7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGlzYWJsZWRcOnBvaW50ZXItZXZlbnRzLW5vbmU6ZGlzYWJsZWR7cG9pbnRlci1ldmVudHM6bm9uZX0uZGlzYWJsZWRcOmN1cnNvci1ub3QtYWxsb3dlZDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmRpc2FibGVkXDpiZy1pbnB1dFwvNTA6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kaXNhYmxlZFw6YmctaW5wdXRcLzUwOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kaXNhYmxlZFw6YmctdHJhbnNwYXJlbnQ6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGlzYWJsZWRcOm9wYWNpdHktNTA6ZGlzYWJsZWR7b3BhY2l0eTouNX06d2hlcmUoW2RhdGEtc2xvdD1idXR0b24tZ3JvdXBdKSAuaW4tZGF0YS1cW3Nsb3RcPWJ1dHRvbi1ncm91cFxdXDpyb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKX06d2hlcmUoW2RhdGEtc2xvdD1jb21ib2JveC1jb250ZW50XSkgLmluLWRhdGEtXFtzbG90XD1jb21ib2JveC1jb250ZW50XF1cOmZvY3VzLXdpdGhpblw6Ym9yZGVyLWluaGVyaXQ6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjppbmhlcml0fTp3aGVyZShbZGF0YS1zbG90PWNvbWJvYm94LWNvbnRlbnRdKSAuaW4tZGF0YS1cW3Nsb3RcPWNvbWJvYm94LWNvbnRlbnRcXVw6Zm9jdXMtd2l0aGluXDpyaW5nLTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06d2hlcmUoW2RhdGEtc2xvdD1kaWFsb2ctY29udGVudF0pIC5pbi1kYXRhLVxbc2xvdFw9ZGlhbG9nLWNvbnRlbnRcXVw6cm91bmRlZC1sZ1whe2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKSFpbXBvcnRhbnR9Lmhhcy1kaXNhYmxlZFw6YmctaW5wdXRcLzUwOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLWRpc2FibGVkXDpiZy1pbnB1dFwvNTA6aGFzKDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpNTAlLHRyYW5zcGFyZW50KX19Lmhhcy1kaXNhYmxlZFw6b3BhY2l0eS01MDpoYXMoOmRpc2FibGVkKXtvcGFjaXR5Oi41fS5oYXMtZGF0YS1cW2ljb25cPWlubGluZS1lbmRcXVw6cHItMVwuNTpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtZW5kXSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLWVuZFxdXDpwci0yOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLWVuZFxdXDpwci0zOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmhhcy1kYXRhLVxbaWNvblw9aW5saW5lLXN0YXJ0XF1cOnBsLTFcLjU6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFtpY29uXD1pbmxpbmUtc3RhcnRcXVw6cGwtMjpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtc3RhcnRdKXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uaGFzLWRhdGEtXFtpY29uXD1pbmxpbmUtc3RhcnRcXVw6cGwtMzpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtc3RhcnRdKXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uaGFzLWRhdGEtXFtzbG90XD1jYXJkLWFjdGlvblxdXDpncmlkLWNvbHMtXFsxZnJfYXV0b1xdOmhhcyhbZGF0YS1zbG90PWNhcmQtYWN0aW9uXSl7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciBhdXRvfS5oYXMtZGF0YS1cW3Nsb3RcPWNhcmQtZGVzY3JpcHRpb25cXVw6Z3JpZC1yb3dzLVxbYXV0b19hdXRvXF06aGFzKFtkYXRhLXNsb3Q9Y2FyZC1kZXNjcmlwdGlvbl0pe2dyaWQtdGVtcGxhdGUtcm93czphdXRvIGF1dG99Lmhhcy1kYXRhLVxbc2xvdFw9Y2FyZC1mb290ZXJcXVw6cGItMDpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cW1xbZGF0YS1zbG90XD1pbnB1dC1ncm91cC1jb250cm9sXF1cOmZvY3VzLXZpc2libGVcXVw6Ym9yZGVyLXJpbmc6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5oYXMtXFtcW2RhdGEtc2xvdFw9aW5wdXQtZ3JvdXAtY29udHJvbFxdXDpmb2N1cy12aXNpYmxlXF1cOnJpbmctMzpoYXMoW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1jb250cm9sXTpmb2N1cy12aXNpYmxlKXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmhhcy1cW1xbZGF0YS1zbG90XD1pbnB1dC1ncm91cC1jb250cm9sXF1cOmZvY3VzLXZpc2libGVcXVw6cmluZy1yaW5nXC81MDpoYXMoW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1jb250cm9sXTpmb2N1cy12aXNpYmxlKXstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5oYXMtXFtcW2RhdGEtc2xvdFw9aW5wdXQtZ3JvdXAtY29udHJvbFxdXDpmb2N1cy12aXNpYmxlXF1cOnJpbmctcmluZ1wvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFtcW2RhdGEtc2xvdFxdXFthcmlhLWludmFsaWRcPXRydWVcXVxdXDpib3JkZXItZGVzdHJ1Y3RpdmU6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uaGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy0zOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy1kZXN0cnVjdGl2ZVwvMjA6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7Lmhhcy1cW1xbZGF0YS1zbG90XF1cW2FyaWEtaW52YWxpZFw9dHJ1ZVxdXF1cOnJpbmctZGVzdHJ1Y3RpdmVcLzIwOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19Lmhhcy1cW1w+XFtkYXRhLWFsaWduXD1ibG9jay1lbmRcXVxdXDpoLWF1dG86aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtoZWlnaHQ6YXV0b30uaGFzLVxbXD5cW2RhdGEtYWxpZ25cPWJsb2NrLWVuZFxdXF1cOmZsZXgtY29sOmhhcyg+W2RhdGEtYWxpZ249YmxvY2stZW5kXSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpoLWF1dG86aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1zdGFydF0pe2hlaWdodDphdXRvfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpmbGV4LWNvbDpoYXMoPltkYXRhLWFsaWduPWJsb2NrLXN0YXJ0XSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFtcPmJ1dHRvblxdXDptci1cWy0wXC4zcmVtXF06aGFzKD5idXR0b24pe21hcmdpbi1yaWdodDotLjNyZW19Lmhhcy1cW1w+YnV0dG9uXF1cOm1sLVxbLTBcLjNyZW1cXTpoYXMoPmJ1dHRvbil7bWFyZ2luLWxlZnQ6LS4zcmVtfS5oYXMtXFtcPmltZ1w6Zmlyc3QtY2hpbGRcXVw6cHQtMDpoYXMoPmltZzpmaXJzdC1jaGlsZCl7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaGFzLVxbXD5rYmRcXVw6bXItXFstMFwuMTVyZW1cXTpoYXMoPmtiZCl7bWFyZ2luLXJpZ2h0Oi0uMTVyZW19Lmhhcy1cW1w+a2JkXF1cOm1sLVxbLTBcLjE1cmVtXF06aGFzKD5rYmQpe21hcmdpbi1sZWZ0Oi0uMTVyZW19Lmhhcy1cW1w+c3ZnXF1cOnAtMDpoYXMoPnN2Zyl7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5oYXMtXFtcPnRleHRhcmVhXF1cOmgtYXV0bzpoYXMoPnRleHRhcmVhKXtoZWlnaHQ6YXV0b30uYXJpYS1kaXNhYmxlZFw6cG9pbnRlci1ldmVudHMtbm9uZVthcmlhLWRpc2FibGVkPXRydWVde3BvaW50ZXItZXZlbnRzOm5vbmV9LmFyaWEtZGlzYWJsZWRcOm9wYWNpdHktNTBbYXJpYS1kaXNhYmxlZD10cnVlXXtvcGFjaXR5Oi41fS5hcmlhLWV4cGFuZGVkXDpiZy1tdXRlZFthcmlhLWV4cGFuZGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5hcmlhLWV4cGFuZGVkXDpiZy1zZWNvbmRhcnlbYXJpYS1leHBhbmRlZD10cnVlXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9LmFyaWEtZXhwYW5kZWRcOnRleHQtZm9yZWdyb3VuZFthcmlhLWV4cGFuZGVkPXRydWVde2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hcmlhLWV4cGFuZGVkXDp0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS5hcmlhLWludmFsaWRcOmJvcmRlci1kZXN0cnVjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV17Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uYXJpYS1pbnZhbGlkXDpyaW5nLTBbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygwcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXDpyaW5nLTNbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXDpyaW5nLWRlc3RydWN0aXZlXC8yMFthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmFyaWEtaW52YWxpZFw6cmluZy1kZXN0cnVjdGl2ZVwvMjBbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhdGEtZW5kaW5nLXN0eWxlXDpvcGFjaXR5LTBbZGF0YS1lbmRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1pbnNldFw6cGwtN1tkYXRhLWluc2V0XXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uZGF0YS1wb3B1cC1vcGVuXDpiZy1hY2NlbnRbZGF0YS1wb3B1cC1vcGVuXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWFjY2VudCl9LmRhdGEtcG9wdXAtb3Blblw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZFtkYXRhLXBvcHVwLW9wZW5de2NvbG9yOnZhcigtLWFjY2VudC1mb3JlZ3JvdW5kKX0uZGF0YS1zdGFydGluZy1zdHlsZVw6b3BhY2l0eS0wW2RhdGEtc3RhcnRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1cW2Rpc2FibGVkXD10cnVlXF1cOnBvaW50ZXItZXZlbnRzLW5vbmVbZGF0YS1kaXNhYmxlZD10cnVlXXtwb2ludGVyLWV2ZW50czpub25lfS5kYXRhLVxbZGlzYWJsZWRcPXRydWVcXVw6b3BhY2l0eS01MFtkYXRhLWRpc2FibGVkPXRydWVde29wYWNpdHk6LjV9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6aW5zZXQteC0wW2RhdGEtc2lkZT1ib3R0b21de2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxbc2lkZVw9Ym90dG9tXF1cOmJvdHRvbS0wW2RhdGEtc2lkZT1ib3R0b21de2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxbc2lkZVw9Ym90dG9tXF1cOmgtYXV0b1tkYXRhLXNpZGU9Ym90dG9tXXtoZWlnaHQ6YXV0b30uZGF0YS1cW3NpZGVcPWJvdHRvbVxdXDpib3JkZXItdFtkYXRhLXNpZGU9Ym90dG9tXXtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6c2xpZGUtaW4tZnJvbS10b3AtMltkYXRhLXNpZGU9Ym90dG9tXXstLXR3LWVudGVyLXRyYW5zbGF0ZS15OmNhbGMoMip2YXIoLS1zcGFjaW5nKSotMSl9LmRhdGEtXFtzaWRlXD1ib3R0b21cXVw6ZGF0YS1lbmRpbmctc3R5bGVcOnRyYW5zbGF0ZS15LVxbMlwuNXJlbVxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cW3NpZGVcPWJvdHRvbVxdXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXDp0cmFuc2xhdGUteS1cWzJcLjVyZW1cXVtkYXRhLXNpZGU9Ym90dG9tXVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS15OjIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxbc2lkZVw9aW5saW5lLWVuZFxdXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9aW5saW5lLWVuZF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxbc2lkZVw9aW5saW5lLXN0YXJ0XF1cOnNsaWRlLWluLWZyb20tcmlnaHQtMltkYXRhLXNpZGU9aW5saW5lLXN0YXJ0XXstLXR3LWVudGVyLXRyYW5zbGF0ZS14OmNhbGMoMip2YXIoLS1zcGFjaW5nKSl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmluc2V0LXktMFtkYXRhLXNpZGU9bGVmdF17aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6bGVmdC0wW2RhdGEtc2lkZT1sZWZ0XXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmgtZnVsbFtkYXRhLXNpZGU9bGVmdF17aGVpZ2h0OjEwMCV9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOnctM1wvNFtkYXRhLXNpZGU9bGVmdF17d2lkdGg6NzUlfS5kYXRhLVxbc2lkZVw9bGVmdFxdXDpib3JkZXItcltkYXRhLXNpZGU9bGVmdF17Ym9yZGVyLXJpZ2h0LXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXJpZ2h0LXdpZHRoOjFweH0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6c2xpZGUtaW4tZnJvbS1yaWdodC0yW2RhdGEtc2lkZT1sZWZ0XXstLXR3LWVudGVyLXRyYW5zbGF0ZS14OmNhbGMoMip2YXIoLS1zcGFjaW5nKSl9LmRhdGEtXFtzaWRlXD1sZWZ0XF1cOmRhdGEtZW5kaW5nLXN0eWxlXDp0cmFuc2xhdGUteC1cWy0yXC41cmVtXF1bZGF0YS1zaWRlPWxlZnRdW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cW3NpZGVcPWxlZnRcXVw6ZGF0YS1zdGFydGluZy1zdHlsZVw6dHJhbnNsYXRlLXgtXFstMlwuNXJlbVxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOmluc2V0LXktMFtkYXRhLXNpZGU9cmlnaHRde2luc2V0LWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFtzaWRlXD1yaWdodFxdXDpyaWdodC0wW2RhdGEtc2lkZT1yaWdodF17cmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOmgtZnVsbFtkYXRhLXNpZGU9cmlnaHRde2hlaWdodDoxMDAlfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6dy0zXC80W2RhdGEtc2lkZT1yaWdodF17d2lkdGg6NzUlfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6Ym9yZGVyLWxbZGF0YS1zaWRlPXJpZ2h0XXtib3JkZXItbGVmdC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1sZWZ0LXdpZHRoOjFweH0uZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOnNsaWRlLWluLWZyb20tbGVmdC0yW2RhdGEtc2lkZT1yaWdodF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6ZGF0YS1lbmRpbmctc3R5bGVcOnRyYW5zbGF0ZS14LVxbMlwuNXJlbVxdW2RhdGEtc2lkZT1yaWdodF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxbc2lkZVw9cmlnaHRcXVw6ZGF0YS1zdGFydGluZy1zdHlsZVw6dHJhbnNsYXRlLXgtXFsyXC41cmVtXF1bZGF0YS1zaWRlPXJpZ2h0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14OjIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxbc2lkZVw9dG9wXF1cOmluc2V0LXgtMFtkYXRhLXNpZGU9dG9wXXtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXRvcFxdXDp0b3AtMFtkYXRhLXNpZGU9dG9wXXt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cW3NpZGVcPXRvcFxdXDpoLWF1dG9bZGF0YS1zaWRlPXRvcF17aGVpZ2h0OmF1dG99LmRhdGEtXFtzaWRlXD10b3BcXVw6Ym9yZGVyLWJbZGF0YS1zaWRlPXRvcF17Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5kYXRhLVxbc2lkZVw9dG9wXF1cOnNsaWRlLWluLWZyb20tYm90dG9tLTJbZGF0YS1zaWRlPXRvcF17LS10dy1lbnRlci10cmFuc2xhdGUteTpjYWxjKDIqdmFyKC0tc3BhY2luZykpfS5kYXRhLVxbc2lkZVw9dG9wXF1cOmRhdGEtZW5kaW5nLXN0eWxlXDp0cmFuc2xhdGUteS1cWy0yXC41cmVtXF1bZGF0YS1zaWRlPXRvcF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxbc2lkZVw9dG9wXF1cOmRhdGEtc3RhcnRpbmctc3R5bGVcOnRyYW5zbGF0ZS15LVxbLTJcLjVyZW1cXVtkYXRhLXNpZGU9dG9wXVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS15Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cW3NpemVcPWxnXF1cOnNpemUtMTBbZGF0YS1zaXplPWxnXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmRhdGEtXFtzaXplXD1zbVxdXDpzaXplLTZbZGF0YS1zaXplPXNtXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5kYXRhLVxbc2l6ZVw9c21cXVw6Z2FwLTNbZGF0YS1zaXplPXNtXXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZGF0YS1cW3NpemVcPXNtXF1cOnB5LTNbZGF0YS1zaXplPXNtXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmRhdGEtXFtzaXplXD1zbVxdXDpoYXMtZGF0YS1cW3Nsb3RcPWNhcmQtZm9vdGVyXF1cOnBiLTBbZGF0YS1zaXplPXNtXTpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9OmlzKC5cKlw6ZGF0YS1cW3Nsb3RcPWF2YXRhclxdXDpyaW5nLTI+KilbZGF0YS1zbG90PWF2YXRhcl17LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDJweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfTppcyguXCpcOmRhdGEtXFtzbG90XD1hdmF0YXJcXVw6cmluZy1iYWNrZ3JvdW5kPiopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKX06aXMoLlwqXDpkYXRhLVxbc2xvdFw9aW5wdXQtZ3JvdXAtYWRkb25cXVw6cGwtMlwhPiopW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1hZGRvbl17cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMikhaW1wb3J0YW50fS5kYXRhLVxbc3RhdGVcPXNlbGVjdGVkXF1cOmJnLW11dGVkW2RhdGEtc3RhdGU9c2VsZWN0ZWRde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5kYXRhLVxbdmFyaWFudFw9ZGVzdHJ1Y3RpdmVcXVw6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVde2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uZGF0YS1cW3ZhcmlhbnRcPWRlc3RydWN0aXZlXF1cOmZvY3VzXDpiZy1kZXN0cnVjdGl2ZVwvMTBbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6YmctZGVzdHJ1Y3RpdmVcLzEwW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMTAlLHRyYW5zcGFyZW50KX19LmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdOmZvY3Vze2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0uZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVw6cm91bmRlZC1ub25lW2RhdGEtdmFyaWFudD1saW5lXXtib3JkZXItcmFkaXVzOjB9QHN1cHBvcnRzICgoLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHcpKSBvciAoYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3KSkpey5zdXBwb3J0cy1iYWNrZHJvcC1maWx0ZXJcOmJhY2tkcm9wLWJsdXIteHN7LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIodmFyKC0tYmx1ci14cykpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9fUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuc21cOmJsb2Nre2Rpc3BsYXk6YmxvY2t9LnNtXDpoaWRkZW57ZGlzcGxheTpub25lfS5zbVw6aW5saW5le2Rpc3BsYXk6aW5saW5lfS5zbVw6aW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uc21cOmgtMjR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMjQpfS5zbVw6dy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0uc21cOnctYXV0b3t3aWR0aDphdXRvfS5zbVw6bWF4LXctc217bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1zbSl9LnNtXDpmbGV4LW5vbmV7ZmxleDpub25lfS5zbVw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5zbVw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5zbVw6ZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5zbVw6aXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uc21cOmp1c3RpZnktYmV0d2VlbntqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uc21cOmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc21cOnAtNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnNtXDpwLTZ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5zbVw6cC04e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc21cOnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uc21cOnRleHQtM3hse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTN4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTN4bC0tbGluZS1oZWlnaHQpKX0uc21cOnRleHQtYmFzZXtmb250LXNpemU6dmFyKC0tdGV4dC1iYXNlKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtYmFzZS0tbGluZS1oZWlnaHQpKX0uc21cOnRleHQteGx7Zm9udC1zaXplOnZhcigtLXRleHQteGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14bC0tbGluZS1oZWlnaHQpKX0uZGF0YS1cW3NpZGVcPWxlZnRcXVw6c21cOm1heC13LXNtW2RhdGEtc2lkZT1sZWZ0XSwuZGF0YS1cW3NpZGVcPXJpZ2h0XF1cOnNtXDptYXgtdy1zbVtkYXRhLXNpZGU9cmlnaHRde21heC13aWR0aDp2YXIoLS1jb250YWluZXItc20pfX1AbWVkaWEgKG1pbi13aWR0aDo0OHJlbSl7Lm1kXDppbnNldC14LWF1dG97aW5zZXQtaW5saW5lOmF1dG99Lm1kXDpyaWdodC00e3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm1kXDpib3R0b20tNHtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubWRcOmxlZnQtYXV0b3tsZWZ0OmF1dG99Lm1kXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5tZFw6ZmxleHtkaXNwbGF5OmZsZXh9Lm1kXDpoaWRkZW57ZGlzcGxheTpub25lfS5tZFw6dGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9Lm1kXDptaW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tZFw6Z3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTJ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5tZFw6Z3JpZC1jb2xzLTR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfS5tZFw6ZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5tZFw6aXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0ubWRcOmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tZFw6cGItMHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tZFw6dGV4dC1zbXtmb250LXNpemU6dmFyKC0tdGV4dC1zbSk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpfS5tZFw6d2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmxnXDpzdGlja3l7cG9zaXRpb246c3RpY2t5fS5sZ1w6dG9wLTR7dG9wOmNhbGModmFyKC0tc3BhY2luZykqNCl9LmxnXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5sZ1w6aGlkZGVue2Rpc3BsYXk6bm9uZX0ubGdcOnRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsfS5sZ1w6dy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubGdcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy0ze2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMyxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy01e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSxtaW5tYXgoMCwxZnIpKX0ubGdcOmdyaWQtY29scy1cWzFmcl8zNDBweFxde2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMzQwcHh9LmxnXDpmbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmxnXDpzZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey54bFw6dy04MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjgwKX19LmRhcmtcOmJsb2NrOmlzKC5kYXJrICope2Rpc3BsYXk6YmxvY2t9LmRhcmtcOmhpZGRlbjppcyguZGFyayAqKXtkaXNwbGF5Om5vbmV9LmRhcmtcOmJvcmRlci1pbnB1dDppcyguZGFyayAqKXtib3JkZXItY29sb3I6dmFyKC0taW5wdXQpfS5kYXJrXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGFya1w6dGV4dC1ncmVlbi00MDA6aXMoLmRhcmsgKil7Y29sb3I6dmFyKC0tY29sb3ItZ3JlZW4tNDAwKX0uZGFya1w6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmlzKC5kYXJrICope2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5kYXJrXDpwcm9zZS1pbnZlcnQ6aXMoLmRhcmsgKil7LS10dy1wcm9zZS1ib2R5OnZhcigtLXR3LXByb3NlLWludmVydC1ib2R5KTstLXR3LXByb3NlLWhlYWRpbmdzOnZhcigtLXR3LXByb3NlLWludmVydC1oZWFkaW5ncyk7LS10dy1wcm9zZS1sZWFkOnZhcigtLXR3LXByb3NlLWludmVydC1sZWFkKTstLXR3LXByb3NlLWxpbmtzOnZhcigtLXR3LXByb3NlLWludmVydC1saW5rcyk7LS10dy1wcm9zZS1ib2xkOnZhcigtLXR3LXByb3NlLWludmVydC1ib2xkKTstLXR3LXByb3NlLWNvdW50ZXJzOnZhcigtLXR3LXByb3NlLWludmVydC1jb3VudGVycyk7LS10dy1wcm9zZS1idWxsZXRzOnZhcigtLXR3LXByb3NlLWludmVydC1idWxsZXRzKTstLXR3LXByb3NlLWhyOnZhcigtLXR3LXByb3NlLWludmVydC1ocik7LS10dy1wcm9zZS1xdW90ZXM6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXF1b3Rlcyk7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOnZhcigtLXR3LXByb3NlLWludmVydC1xdW90ZS1ib3JkZXJzKTstLXR3LXByb3NlLWNhcHRpb25zOnZhcigtLXR3LXByb3NlLWludmVydC1jYXB0aW9ucyk7LS10dy1wcm9zZS1rYmQ6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWtiZCk7LS10dy1wcm9zZS1rYmQtc2hhZG93czp2YXIoLS10dy1wcm9zZS1pbnZlcnQta2JkLXNoYWRvd3MpOy0tdHctcHJvc2UtY29kZTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY29kZSk7LS10dy1wcm9zZS1wcmUtY29kZTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGUpOy0tdHctcHJvc2UtcHJlLWJnOnZhcigtLXR3LXByb3NlLWludmVydC1wcmUtYmcpOy0tdHctcHJvc2UtdGgtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtdGgtYm9yZGVycyk7LS10dy1wcm9zZS10ZC1ib3JkZXJzOnZhcigtLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzKX0uZGFya1w6YWZ0ZXJcOm1peC1ibGVuZC1saWdodGVuOmlzKC5kYXJrICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZGFya1w6aG92ZXJcOmJnLWRlc3RydWN0aXZlXC8zMDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMzA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmhvdmVyXDpiZy1pbnB1dFwvNTA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXDpob3Zlclw6YmctaW5wdXRcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDpob3Zlclw6YmctbXV0ZWRcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6aG92ZXJcOmJnLW11dGVkXC81MDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6aG92ZXJcOnRleHQtZm9yZWdyb3VuZDppcyguZGFyayAqKTpob3Zlcntjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX19LmRhcmtcOmZvY3VzLXZpc2libGVcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmZvY3VzLXZpc2libGVcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6ZGlzYWJsZWRcOmJnLWlucHV0XC84MDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmRpc2FibGVkXDpiZy1pbnB1dFwvODA6aXMoLmRhcmsgKik6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpODAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmRpc2FibGVkXDpiZy10cmFuc3BhcmVudDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5kYXJrXDpoYXMtZGlzYWJsZWRcOmJnLWlucHV0XC84MDppcyguZGFyayAqKTpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmhhcy1kaXNhYmxlZFw6YmctaW5wdXRcLzgwOmlzKC5kYXJrICopOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTgwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDpoYXMtXFtcW2RhdGEtc2xvdFxdXFthcmlhLWludmFsaWRcPXRydWVcXVxdXDpyaW5nLWRlc3RydWN0aXZlXC80MDppcyguZGFyayAqKTpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6aGFzLVxbXFtkYXRhLXNsb3RcXVxbYXJpYS1pbnZhbGlkXD10cnVlXF1cXVw6cmluZy1kZXN0cnVjdGl2ZVwvNDA6aXMoLmRhcmsgKik6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6YXJpYS1pbnZhbGlkXDpib3JkZXItZGVzdHJ1Y3RpdmVcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6YXJpYS1pbnZhbGlkXDpib3JkZXItZGVzdHJ1Y3RpdmVcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXDphcmlhLWludmFsaWRcOnJpbmctZGVzdHJ1Y3RpdmVcLzQwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6YXJpYS1pbnZhbGlkXDpyaW5nLWRlc3RydWN0aXZlXC80MDppcyguZGFyayAqKVthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1w6ZGF0YS1cW3ZhcmlhbnRcPWRlc3RydWN0aXZlXF1cOmZvY3VzXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoLmRhcmsgKilbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcOmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpmb2N1c1w6YmctZGVzdHJ1Y3RpdmVcLzIwOmlzKC5kYXJrICopW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LmRhdGEtb3Blblw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3Blblw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXthbmltYXRpb246ZW50ZXIgdmFyKC0tdHctYW5pbWF0aW9uLWR1cmF0aW9uLHZhcigtLXR3LWR1cmF0aW9uLC4xNXMpKXZhcigtLXR3LWVhc2UsZWFzZSl2YXIoLS10dy1hbmltYXRpb24tZGVsYXksMHMpdmFyKC0tdHctYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwxKXZhcigtLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb24sbm9ybWFsKXZhcigtLXR3LWFuaW1hdGlvbi1maWxsLW1vZGUsbm9uZSl9LmRhdGEtb3Blblw6YmctYWNjZW50OndoZXJlKFtkYXRhLXN0YXRlPW9wZW5dKSwuZGF0YS1vcGVuXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLW9wZW5cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cOnRleHQtYWNjZW50LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5kYXRhLW9wZW5cOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3Blblw6ZmFkZS1pbi0wOndoZXJlKFtkYXRhLW9wZW5dOm5vdChbZGF0YS1vcGVuPWZhbHNlXSkpey0tdHctZW50ZXItb3BhY2l0eTowfS5kYXRhLW9wZW5cOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7LS10dy1lbnRlci1zY2FsZTouOTV9LmRhdGEtY2xvc2VkXDphbmltYXRlLW91dDp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOmFuaW1hdGUtb3V0OndoZXJlKFtkYXRhLWNsb3NlZF06bm90KFtkYXRhLWNsb3NlZD1mYWxzZV0pKXthbmltYXRpb246ZXhpdCB2YXIoLS10dy1hbmltYXRpb24tZHVyYXRpb24sdmFyKC0tdHctZHVyYXRpb24sLjE1cykpdmFyKC0tdHctZWFzZSxlYXNlKXZhcigtLXR3LWFuaW1hdGlvbi1kZWxheSwwcyl2YXIoLS10dy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LDEpdmFyKC0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbixub3JtYWwpdmFyKC0tdHctYW5pbWF0aW9uLWZpbGwtbW9kZSxub25lKX0uZGF0YS1jbG9zZWRcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1jbG9zZWRdOm5vdChbZGF0YS1jbG9zZWQ9ZmFsc2VdKSl7b3ZlcmZsb3c6aGlkZGVufS5kYXRhLWNsb3NlZFw6ZmFkZS1vdXQtMDp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOmZhZGUtb3V0LTA6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1vcGFjaXR5OjB9LmRhdGEtY2xvc2VkXDp6b29tLW91dC05NTp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcOnpvb20tb3V0LTk1OndoZXJlKFtkYXRhLWNsb3NlZF06bm90KFtkYXRhLWNsb3NlZD1mYWxzZV0pKXstLXR3LWV4aXQtc2NhbGU6Ljk1fS5kYXRhLXNlbGVjdGVkXDpiZy1tdXRlZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9LmRhdGEtc2VsZWN0ZWRcOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmRhdGEtZGlzYWJsZWRcOnBvaW50ZXItZXZlbnRzLW5vbmU6d2hlcmUoW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0pLC5kYXRhLWRpc2FibGVkXDpwb2ludGVyLWV2ZW50cy1ub25lOndoZXJlKFtkYXRhLWRpc2FibGVkXTpub3QoW2RhdGEtZGlzYWJsZWQ9ZmFsc2VdKSl7cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1kaXNhYmxlZFw6b3BhY2l0eS01MDp3aGVyZShbZGF0YS1kaXNhYmxlZD10cnVlXSksLmRhdGEtZGlzYWJsZWRcOm9wYWNpdHktNTA6d2hlcmUoW2RhdGEtZGlzYWJsZWRdOm5vdChbZGF0YS1kaXNhYmxlZD1mYWxzZV0pKXtvcGFjaXR5Oi41fS5kYXRhLWFjdGl2ZVw6YmctYmFja2dyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcOmJnLWJhY2tncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9ZGVmYXVsdFxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9ZGVmYXVsdF0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmdyb3VwLWRhdGEtXFt2YXJpYW50XD1kZWZhdWx0XF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOnNoYWRvdy1zbTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1kZWZhdWx0XSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAxcHggM3B4IDAgdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAxcHggMnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpiZy10cmFuc3BhcmVudDppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YmctdHJhbnNwYXJlbnQ6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6IzAwMDB9Lmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOnNoYWRvdy1ub25lOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpzaGFkb3ctbm9uZTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOmFmdGVyXDpvcGFjaXR5LTEwMDppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YWZ0ZXJcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKSk6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtvcGFjaXR5OjF9LmRhcmtcOmRhdGEtYWN0aXZlXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JvcmRlci1jb2xvcjp2YXIoLS1pbnB1dCl9LmRhcmtcOmRhdGEtYWN0aXZlXDpiZy1pbnB1dFwvMzA6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDpiZy1pbnB1dFwvMzA6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1w6ZGF0YS1hY3RpdmVcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1w6ZGF0YS1hY3RpdmVcOmJnLWlucHV0XC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcOmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmRhdGEtYWN0aXZlXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXJrXDpncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpib3JkZXItdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcOmdyb3VwLWRhdGEtXFt2YXJpYW50XD1saW5lXF1cL3RhYnMtbGlzdFw6ZGF0YS1hY3RpdmVcOmJvcmRlci10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7Ym9yZGVyLWNvbG9yOiMwMDAwfS5kYXJrXDpncm91cC1kYXRhLVxbdmFyaWFudFw9bGluZVxdXC90YWJzLWxpc3RcOmRhdGEtYWN0aXZlXDpiZy10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1w6Z3JvdXAtZGF0YS1cW3ZhcmlhbnRcPWxpbmVcXVwvdGFicy1saXN0XDpkYXRhLWFjdGl2ZVw6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6aXMoOndoZXJlKC5ncm91cFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JhY2tncm91bmQtY29sb3I6IzAwMDB9LmRhdGEtaG9yaXpvbnRhbFw6aC1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7aGVpZ2h0OjFweH0uZGF0YS1ob3Jpem9udGFsXDp3LWZ1bGw6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pe3dpZHRoOjEwMCV9LmRhdGEtaG9yaXpvbnRhbFw6ZmxleC1jb2w6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pe2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZGF0YS12ZXJ0aWNhbFw6dy1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe3dpZHRoOjFweH0uZGF0YS12ZXJ0aWNhbFw6c2VsZi1zdHJldGNoOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSl7YWxpZ24tc2VsZjpzdHJldGNofS5cW1wmX2FcXVw6dGV4dC1wcmltYXJ5IGF7Y29sb3I6dmFyKC0tcHJpbWFyeSl9LlxbXCZfaDNcXVw6bXQtNiBoM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqNil9LlxbXCZfaDNcXVw6bWItMiBoM3ttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9LlxbXCZfaDNcXVw6dGV4dC1mb3JlZ3JvdW5kIGgze2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5cW1wmX3N2Z1xdXDpwb2ludGVyLWV2ZW50cy1ub25lIHN2Z3twb2ludGVyLWV2ZW50czpub25lfS5cW1wmX3N2Z1xdXDpzaHJpbmstMCBzdmd7ZmxleC1zaHJpbms6MH0uXFtcJl9zdmdcOm5vdFwoXFtjbGFzc1wqXD1cJ3NpemUtXCdcXVwpXF1cOnNpemUtMyBzdmc6bm90KFtjbGFzcyo9c2l6ZS1dKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5cW1wmX3N2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS0zXC41IHN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5cW1wmX3N2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS00IHN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxbXCZfdHJcXVw6Ym9yZGVyLWIgdHJ7Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5cW1wmX3RyXDpsYXN0LWNoaWxkXF1cOmJvcmRlci0wIHRyOmxhc3QtY2hpbGR7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjB9LlxbXCZcOlw6LXdlYmtpdC1kZXRhaWxzLW1hcmtlclxdXDpoaWRkZW46Oi13ZWJraXQtZGV0YWlscy1tYXJrZXJ7ZGlzcGxheTpub25lfS5cW1wmXDpcOi13ZWJraXQtc2Nyb2xsYmFyXF1cOmhpZGRlbjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5cW1wmXDpoYXNcKFxbcm9sZVw9Y2hlY2tib3hcXVwpXF1cOnByLTA6aGFzKFtyb2xlPWNoZWNrYm94XSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5cW1wuYm9yZGVyLWJcXVw6cGItMi5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5cW1wuYm9yZGVyLWJcXVw6cGItNC5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5ncm91cC1kYXRhLVxbc2l6ZVw9c21cXVwvY2FyZFw6XFtcLmJvcmRlci1iXF1cOnBiLTM6aXMoOndoZXJlKC5ncm91cFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKS5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5cW1wuYm9yZGVyLXRcXVw6cHQtMi5ib3JkZXItdHtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnB4LTIgKilbY21kay1ncm91cC1oZWFkaW5nXXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnB5LTFcLjUgKilbY21kay1ncm91cC1oZWFkaW5nXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMS41KX06aXMoLlwqXCpcOlxbXFtjbWRrLWdyb3VwLWhlYWRpbmdcXVxdXDp0ZXh0LXhzICopW2NtZGstZ3JvdXAtaGVhZGluZ117Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX06aXMoLlwqXCpcOlxbXFtjbWRrLWdyb3VwLWhlYWRpbmdcXVxdXDpmb250LW1lZGl1bSAqKVtjbWRrLWdyb3VwLWhlYWRpbmddey0tdHctZm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtmb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pfTppcyguXCpcKlw6XFtcW2NtZGstZ3JvdXAtaGVhZGluZ1xdXF1cOnRleHQtbXV0ZWQtZm9yZWdyb3VuZCAqKVtjbWRrLWdyb3VwLWhlYWRpbmdde2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfTppcyguXCpcOlxbYVxdXDp1bmRlcmxpbmU+Kik6aXMoYSl7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfTppcyguXCpcOlxbYVxdXDp1bmRlcmxpbmUtb2Zmc2V0LTM+Kik6aXMoYSl7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjNweH1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuXFthXF1cOmhvdmVyXDpiZy1kZXN0cnVjdGl2ZVwvMjA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cW2FcXVw6aG92ZXJcOmJnLWRlc3RydWN0aXZlXC8yMDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uXFthXF1cOmhvdmVyXDpiZy1tdXRlZDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uXFthXF1cOmhvdmVyXDpiZy1wcmltYXJ5XC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFthXF1cOmhvdmVyXDpiZy1wcmltYXJ5XC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTgwJSx0cmFuc3BhcmVudCl9fS5cW2FcXVw6aG92ZXJcOmJnLXNlY29uZGFyeVwvODA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuXFthXF1cOmhvdmVyXDpiZy1zZWNvbmRhcnlcLzgwOmlzKGEpOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uXFthXF1cOmhvdmVyXDp0ZXh0LW11dGVkLWZvcmVncm91bmQ6aXMoYSk6aG92ZXJ7Y29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9OmlzKC5cKlw6XFthXF1cOmhvdmVyXDp0ZXh0LWZvcmVncm91bmQ+Kik6aXMoYSk6aG92ZXJ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9fTppcyguXCpcOlxbaW1nXDpmaXJzdC1jaGlsZFxdXDpyb3VuZGVkLXQteGw+Kik6aXMoaW1nOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguXCpcOlxbaW1nXDpsYXN0LWNoaWxkXF1cOnJvdW5kZWQtYi14bD4qKTppcyhpbWc6bGFzdC1jaGlsZCl7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX06aXMoLmRhdGEtXFt2YXJpYW50XD1kZXN0cnVjdGl2ZVxdXDpcKlw6XFtzdmdcXVw6dGV4dC1kZXN0cnVjdGl2ZVtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdPiopOmlzKHN2Zyl7Y29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfTppcyguZGF0YS1zZWxlY3RlZFw6XCpcOlxbc3ZnXF1cOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSk+Kik6aXMoc3ZnKXtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaGFzLVxbXD5cW2RhdGEtYWxpZ25cPWJsb2NrLWVuZFxdXF1cOlxbXCZcPmlucHV0XF1cOnB0LTM6aGFzKD5bZGF0YS1hbGlnbj1ibG9jay1lbmRdKT5pbnB1dHtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9YmxvY2stc3RhcnRcXVxdXDpcW1wmXD5pbnB1dFxdXDpwYi0zOmhhcyg+W2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKT5pbnB1dHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtXFtcPlxbZGF0YS1hbGlnblw9aW5saW5lLWVuZFxdXF1cOlxbXCZcPmlucHV0XF1cOnByLTFcLjU6aGFzKD5bZGF0YS1hbGlnbj1pbmxpbmUtZW5kXSk+aW5wdXR7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lmhhcy1cW1w+XFtkYXRhLWFsaWduXD1pbmxpbmUtc3RhcnRcXVxdXDpcW1wmXD5pbnB1dFxdXDpwbC0xXC41Omhhcyg+W2RhdGEtYWxpZ249aW5saW5lLXN0YXJ0XSk+aW5wdXR7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uXFtcJlw+a2JkXF1cOnJvdW5kZWQtXFtjYWxjXCh2YXJcKC0tcmFkaXVzXCktNXB4XClcXT5rYmR7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSA1cHgpfS5cW1wmXD5zdmdcXVw6cG9pbnRlci1ldmVudHMtbm9uZT5zdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uXFtcJlw+c3ZnXF1cOnNpemUtM1whPnN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpIWltcG9ydGFudDtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKSFpbXBvcnRhbnR9LlxbXCZcPnN2Z1xdXDpzaXplLTQ+c3Zne3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lmdyb3VwLWhhcy1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyLWdyb3VwXDpcW1wmXD5zdmdcXVw6c2l6ZS01OmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKT5zdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uZ3JvdXAtaGFzLWRhdGEtXFtzaXplXD1zbVxdXC9hdmF0YXItZ3JvdXBcOlxbXCZcPnN2Z1xdXDpzaXplLTM6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICopPnN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxbc2l6ZVw9ZGVmYXVsdFxdXC9hdmF0YXJcOlxbXCZcPnN2Z1xdXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFwvYXZhdGFyKVtkYXRhLXNpemU9ZGVmYXVsdF0gKik+c3ZnLC5ncm91cC1kYXRhLVxbc2l6ZVw9bGdcXVwvYXZhdGFyXDpcW1wmXD5zdmdcXVw6c2l6ZS0yOmlzKDp3aGVyZSguZ3JvdXBcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKT5zdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cW3NpemVcPXNtXF1cL2F2YXRhclw6XFtcJlw+c3ZnXF1cOmhpZGRlbjppcyg6d2hlcmUoLmdyb3VwXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKik+c3Zne2Rpc3BsYXk6bm9uZX0uXFtcJlw+c3ZnXDpub3RcKFxbY2xhc3NcKlw9XCdzaXplLVwnXF1cKVxdXDpzaXplLTNcLjU+c3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LlxbXCZcPnN2Z1w6bm90XChcW2NsYXNzXCpcPVwnc2l6ZS1cJ1xdXClcXVw6c2l6ZS00PnN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxbXCZcPnRyXF1cOmxhc3RcOmJvcmRlci1iLTA+dHI6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDowfX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZGVsYXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjBzfUBwcm9wZXJ0eSAtLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOm5vcm1hbH1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZHVyYXRpb257c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZmlsbC1tb2Rle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpub25lfUBwcm9wZXJ0eSAtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnR7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZW50ZXItYmx1cntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWVudGVyLXJvdGF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1zY2FsZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MX1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LWJsdXJ7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1vcGFjaXR5e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWV4aXQtcm90YXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWV4aXQtc2NhbGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LXRyYW5zbGF0ZS15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfTpyb290ey0tYmFja2dyb3VuZDojZmZmOy0tZm9yZWdyb3VuZDojMTExODI3Oy0tY2FyZDojZjlmYWZiOy0tY2FyZC1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1wb3BvdmVyOiNmZmY7LS1wb3BvdmVyLWZvcmVncm91bmQ6IzExMTgyNzstLXByaW1hcnk6IzAwNzBlYzstLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2Vjb25kYXJ5OiNmM2Y0ZjY7LS1zZWNvbmRhcnktZm9yZWdyb3VuZDojMTExODI3Oy0tbXV0ZWQ6I2YzZjRmNjstLW11dGVkLWZvcmVncm91bmQ6IzZiNzI4MDstLWFjY2VudDojZjNmNGY2Oy0tYWNjZW50LWZvcmVncm91bmQ6IzExMTgyNzstLWRlc3RydWN0aXZlOiNlZjQ0NDQ7LS1ib3JkZXI6I2U1ZTdlYjstLWlucHV0OiNlNWU3ZWI7LS1yaW5nOiMwMDc0ZjU7LS1yYWRpdXM6LjVyZW07LS1zdWNjZXNzOiMyMmM1NWU7LS1kYW5nZXI6I2VmNDQ0NDstLXdhcm5pbmc6I2Y1OWUwYjstLWluZm86IzNiODJmNjstLXN1cmZhY2U6I2Y5ZmFmYjstLXN1cmZhY2UtMjojZjNmNGY2Oy0tY2hhcnQtMTojMDA3NGY1Oy0tY2hhcnQtMjojMDBiOGE5Oy0tY2hhcnQtMzojMjJjNTVlOy0tY2hhcnQtNDojZjU5ZTBiOy0tY2hhcnQtNTojZWY0NDQ0Oy0tc2lkZWJhcjojZjlmYWZiOy0tc2lkZWJhci1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1zaWRlYmFyLXByaW1hcnk6IzAwNzRmNTstLXNpZGViYXItcHJpbWFyeS1mb3JlZ3JvdW5kOiNmZmY7LS1zaWRlYmFyLWFjY2VudDojZjNmNGY2Oy0tc2lkZWJhci1hY2NlbnQtZm9yZWdyb3VuZDojMTExODI3Oy0tc2lkZWJhci1ib3JkZXI6I2U1ZTdlYjstLXNpZGViYXItcmluZzojMDA3NGY1fS5kYXJrey0tYmFja2dyb3VuZDojMGIwZjE5Oy0tZm9yZWdyb3VuZDojZjlmYWZiOy0tY2FyZDojMTExODI3Oy0tY2FyZC1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1wb3BvdmVyOiMxMTE4Mjc7LS1wb3BvdmVyLWZvcmVncm91bmQ6I2Y5ZmFmYjstLXByaW1hcnk6IzAwNzBlYzstLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2Vjb25kYXJ5OiMxZjI5Mzc7LS1zZWNvbmRhcnktZm9yZWdyb3VuZDojZjlmYWZiOy0tbXV0ZWQ6IzFmMjkzNzstLW11dGVkLWZvcmVncm91bmQ6IzljYTNhZjstLWFjY2VudDojMWYyOTM3Oy0tYWNjZW50LWZvcmVncm91bmQ6I2Y5ZmFmYjstLWRlc3RydWN0aXZlOiNlZjQ0NDQ7LS1ib3JkZXI6IzM3NDE1MTstLWlucHV0OiMzNzQxNTE7LS1yaW5nOiMwMDc0ZjU7LS1zdWNjZXNzOiMyMmM1NWU7LS1kYW5nZXI6I2VmNDQ0NDstLXdhcm5pbmc6I2Y1OWUwYjstLWluZm86IzNiODJmNjstLXN1cmZhY2U6IzExMTgyNzstLXN1cmZhY2UtMjojMWYyOTM3Oy0tY2hhcnQtMTojM2Q5YWZmOy0tY2hhcnQtMjojMzNjOWJkOy0tY2hhcnQtMzojMjJjNTVlOy0tY2hhcnQtNDojZjU5ZTBiOy0tY2hhcnQtNTojZWY0NDQ0Oy0tc2lkZWJhcjojMTExODI3Oy0tc2lkZWJhci1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1zaWRlYmFyLXByaW1hcnk6IzNkOWFmZjstLXNpZGViYXItcHJpbWFyeS1mb3JlZ3JvdW5kOiNmZmY7LS1zaWRlYmFyLWFjY2VudDojMWYyOTM3Oy0tc2lkZWJhci1hY2NlbnQtZm9yZWdyb3VuZDojZjlmYWZiOy0tc2lkZWJhci1ib3JkZXI6IzM3NDE1MTstLXNpZGViYXItcmluZzojMDA3NGY1fUBrZXlmcmFtZXMgdGV4dC1zaGltbWVyezAle2JhY2tncm91bmQtcG9zaXRpb246MjAwJX10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDAlfX0udGV4dC1zaGltbWVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLHZhcigtLW11dGVkLWZvcmVncm91bmQpNDAlLHZhcigtLWZvcmVncm91bmQpNTAlLHZhcigtLW11dGVkLWZvcmVncm91bmQpNjAlKTtjb2xvcjojMDAwMDtiYWNrZ3JvdW5kLXNpemU6MjAwJTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2JhY2tncm91bmQtY2xpcDp0ZXh0O2FuaW1hdGlvbjoycyBsaW5lYXIgaW5maW5pdGUgdGV4dC1zaGltbWVyfWh0bWwuY2MtY29uc2VudGVkIC5jb29raWUtbm90aWNle2Rpc3BsYXk6bm9uZX1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUtentzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1yb3RhdGUteHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS15e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcm90YXRlLXp7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXh7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zcGFjZS15LXJldmVyc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctc3BhY2UteC1yZXZlcnNle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWRpdmlkZS15LXJldmVyc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctYm9yZGVyLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1ncmFkaWVudC1wb3NpdGlvbntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb217c3ludGF4OiI8Y29sb3I+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYXtzeW50YXg6Ijxjb2xvcj4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6IzAwMDB9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG97c3ludGF4OiI8Y29sb3I+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXN0b3Bze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhLXN0b3Bze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbntzeW50YXg6IjxsZW5ndGgtcGVyY2VudGFnZT4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCV9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9ue3N5bnRheDoiPGxlbmd0aC1wZXJjZW50YWdlPiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTo1MCV9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb257c3ludGF4OiI8bGVuZ3RoLXBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctbGVhZGluZ3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWZvbnQtd2VpZ2h0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctdHJhY2tpbmd7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1vcmRpbmFse3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2xhc2hlZC16ZXJve3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1maWd1cmV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLXNwYWNpbmd7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZyYWN0aW9ue3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctc2hhZG93LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWNvbG9ye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctcmluZy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctaW5zZXQtcmluZy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXJpbmctc2hhZG93e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctcmluZy1pbnNldHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoe3N5bnRheDoiPGxlbmd0aD4iO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6I2ZmZn1AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1vdXRsaW5lLXN0eWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpzb2xpZH1AcHJvcGVydHkgLS10dy1ibHVye3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYnJpZ2h0bmVzc3tzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWNvbnRyYXN0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZ3JheXNjYWxle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctaHVlLXJvdGF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWludmVydHtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LW9wYWNpdHl7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zYXR1cmF0ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNlcGlhe3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3d7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdy1jb2xvcntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWFscGhhe3N5bnRheDoiPHBlcmNlbnRhZ2U+Ijtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctc2l6ZXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWJsdXJ7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1icmlnaHRuZXNze3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtY29udHJhc3R7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGV7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1odWUtcm90YXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaW52ZXJ0e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atb3BhY2l0eXtzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLXNhdHVyYXRle3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atc2VwaWF7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kdXJhdGlvbntzeW50YXg6IioiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWVhc2V7c3ludGF4OiIqIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1jb250ZW50e3N5bnRheDoiKiI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToiIn1Aa2V5ZnJhbWVzIHNwaW57dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHB1bHNlezUwJXtvcGFjaXR5Oi41fX1Aa2V5ZnJhbWVzIGVudGVyezAle29wYWNpdHk6dmFyKC0tdHctZW50ZXItb3BhY2l0eSwxKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QodmFyKC0tdHctZW50ZXItdHJhbnNsYXRlLXgsMCksdmFyKC0tdHctZW50ZXItdHJhbnNsYXRlLXksMCksMClzY2FsZTNkKHZhcigtLXR3LWVudGVyLXNjYWxlLDEpLHZhcigtLXR3LWVudGVyLXNjYWxlLDEpLHZhcigtLXR3LWVudGVyLXNjYWxlLDEpKXJvdGF0ZSh2YXIoLS10dy1lbnRlci1yb3RhdGUsMCkpO2ZpbHRlcjpibHVyKHZhcigtLXR3LWVudGVyLWJsdXIsMCkpfX1Aa2V5ZnJhbWVzIGV4aXR7dG97b3BhY2l0eTp2YXIoLS10dy1leGl0LW9wYWNpdHksMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKHZhcigtLXR3LWV4aXQtdHJhbnNsYXRlLXgsMCksdmFyKC0tdHctZXhpdC10cmFuc2xhdGUteSwwKSwwKXNjYWxlM2QodmFyKC0tdHctZXhpdC1zY2FsZSwxKSx2YXIoLS10dy1leGl0LXNjYWxlLDEpLHZhcigtLXR3LWV4aXQtc2NhbGUsMSkpcm90YXRlKHZhcigtLXR3LWV4aXQtcm90YXRlLDApKTtmaWx0ZXI6Ymx1cih2YXIoLS10dy1leGl0LWJsdXIsMCkpfX0KPC9zdHlsZT48bGluayByZWw9InByZWxvYWQiIGFzPSJzY3JpcHQiIGZldGNoUHJpb3JpdHk9ImxvdyIgaHJlZj0iL19uZXh0L3N0YXRpYy9jaHVua3MvODFhMjk4ZGRjNzQ3MTA3MC5qcyIvPjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy85ZGYzYjY3YjYwNjFlYTllLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvNDgwY2RlMDhiOGJmZDVjZS5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzQ5MTE0MTBlNTE1M2YwZDcuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy80ODE1YTc1ODY1N2Q0YmFlLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvdHVyYm9wYWNrLTE4YTlkZTUxMmExOTMzYWQuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvMzMwNzRkM2ZmNWQwY2QyZC5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanMiIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvX25leHQvc3RhdGljL2NodW5rcy84MDBlODM2MTQ2ZDZlN2ViLmpzIiBhc3luYz0iIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvZDcxYjk5MjY3YjA2NmI5Yi5qcyIgYXN5bmM9IiI+PC9zY3JpcHQ+PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3MyLmNvaW5tYXJrZXRjYXAuY29tIiBjcm9zc29yaWdpbj0iIi8+PG1ldGEgbmFtZT0ibmV4dC1zaXplLWFkanVzdCIgY29udGVudD0iIi8+PHRpdGxlPkNvaW5saWIgV2lkZ2V0IHwgQ29pbmxpYjwvdGl0bGU+PG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuIi8+PG1ldGEgbmFtZT0ia2V5d29yZHMiIGNvbnRlbnQ9ImNyeXB0b2N1cnJlbmN5LGNyeXB0byBwcmljZXMsYml0Y29pbixtYXJrZXQgY2FwLGNyeXB0byBjaGFydHMscG9ydGZvbGlvIHRyYWNrZXIiLz48bWV0YSBuYW1lPSJyb2JvdHMiIGNvbnRlbnQ9Im5vaW5kZXgiLz48bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzICZhbXA7IE1hcmtldCBEYXRhIi8+PG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJUcmFjayByZWFsLXRpbWUgY3J5cHRvY3VycmVuY3kgcHJpY2VzLCBtYXJrZXQgY2FwLCBjaGFydHMsIGFuZCBwb3J0Zm9saW8uIEV4cGxvcmUgdGhvdXNhbmRzIG9mIGNvaW5zIGFuZCBleGNoYW5nZXMgd2l0aCBDb2lubGliLiIvPjxtZXRhIHByb3BlcnR5PSJvZzp1cmwiIGNvbnRlbnQ9Imh0dHBzOi8vY29pbmxpYi5pbyIvPjxtZXRhIHByb3BlcnR5PSJvZzpzaXRlX25hbWUiIGNvbnRlbnQ9IkNvaW5saWIiLz48bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2UiIGNvbnRlbnQ9Imh0dHBzOi8vY29pbmxpYi5pby9vZy9kZWZhdWx0LnBuZyIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTp3aWR0aCIgY29udGVudD0iMTIwMCIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTpoZWlnaHQiIGNvbnRlbnQ9IjYzMCIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTphbHQiIGNvbnRlbnQ9IkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzICZhbXA7IE1hcmtldCBEYXRhIi8+PG1ldGEgcHJvcGVydHk9Im9nOnR5cGUiIGNvbnRlbnQ9IndlYnNpdGUiLz48bWV0YSBuYW1lPSJ0d2l0dGVyOmNhcmQiIGNvbnRlbnQ9InN1bW1hcnlfbGFyZ2VfaW1hZ2UiLz48bWV0YSBuYW1lPSJ0d2l0dGVyOnRpdGxlIiBjb250ZW50PSJDb2lubGliIOKAlCBDcnlwdG9jdXJyZW5jeSBQcmljZXMsIENoYXJ0cyAmYW1wOyBNYXJrZXQgRGF0YSIvPjxtZXRhIG5hbWU9InR3aXR0ZXI6ZGVzY3JpcHRpb24iIGNvbnRlbnQ9IlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuIi8+PG1ldGEgbmFtZT0idHdpdHRlcjppbWFnZSIgY29udGVudD0iaHR0cHM6Ly9jb2lubGliLmlvL29nL2RlZmF1bHQucG5nIi8+PGxpbmsgcmVsPSJpY29uIiBocmVmPSIvZmF2aWNvbi5pY28/ZmF2aWNvbi4zOTBlMTEwOS5pY28iIHNpemVzPSI0OHg0OCIgdHlwZT0iaW1hZ2UveC1pY29uIi8+PGxpbmsgcmVsPSJhcHBsZS10b3VjaC1pY29uIiBocmVmPSIvbG9nb3MvYXBwbGUtdG91Y2gtaWNvbi5wbmciLz48c2NyaXB0PnRyeXtpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY29pbmxpYi1jb29raWUtY29uc2VudCcpKXtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnY2MtY29uc2VudGVkJyl9fWNhdGNoKGUpe308L3NjcmlwdD48c2NyaXB0IHNyYz0iL19uZXh0L3N0YXRpYy9jaHVua3MvYTZkYWQ5N2Q5NjM0YTcyZC5qcyIgbm9Nb2R1bGU9IiI+PC9zY3JpcHQ+PC9oZWFkPjxib2R5IGNsYXNzPSJpbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGUgYW50aWFsaWFzZWQiPjxkaXYgaGlkZGVuPSIiPjwhLS0kLS0+PCEtLS8kLS0+PC9kaXY+PHNjcmlwdD4oKGEsYixjLGQsZSxmLGcsaCk9PntsZXQgaT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsaj1bImxpZ2h0IiwiZGFyayJdO2Z1bmN0aW9uIGsoYil7dmFyIGM7KEFycmF5LmlzQXJyYXkoYSk/YTpbYV0pLmZvckVhY2goYT0+e2xldCBjPSJjbGFzcyI9PT1hLGQ9YyYmZj9lLm1hcChhPT5mW2FdfHxhKTplO2M/KGkuY2xhc3NMaXN0LnJlbW92ZSguLi5kKSxpLmNsYXNzTGlzdC5hZGQoZiYmZltiXT9mW2JdOmIpKTppLnNldEF0dHJpYnV0ZShhLGIpfSksYz1iLGgmJmouaW5jbHVkZXMoYykmJihpLnN0eWxlLmNvbG9yU2NoZW1lPWMpfWlmKGQpayhkKTtlbHNlIHRyeXtsZXQgYT1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShiKXx8YyxkPWcmJiJzeXN0ZW0iPT09YT93aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXM/ImRhcmsiOiJsaWdodCI6YTtrKGQpfWNhdGNoKGEpe319KSgiY2xhc3MiLCJ0aGVtZSIsImRhcmsiLG51bGwsWyJsaWdodCIsImRhcmsiXSxudWxsLHRydWUsdHJ1ZSk8L3NjcmlwdD48c3R5bGU+aHRtbCwgYm9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfTwvc3R5bGU+PCEtLSQhLS0+PHRlbXBsYXRlIGRhdGEtZGdzdD0iQkFJTE9VVF9UT19DTElFTlRfU0lERV9SRU5ERVJJTkciPjwvdGVtcGxhdGU+PCEtLS8kLS0+PCEtLSQtLT48IS0tLyQtLT48c2NyaXB0PihmdW5jdGlvbigpe2Z1bmN0aW9uIGxvYWQoKXt3aW5kb3cuZGF0YUxheWVyPXdpbmRvdy5kYXRhTGF5ZXJ8fFtdO3dpbmRvdy5ndGFnPWZ1bmN0aW9uKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKX07Z3RhZygnanMnLG5ldyBEYXRlKCkpO2d0YWcoJ2NvbmZpZycsJ0ctVjg0WFA4V0dYWScpO3ZhciBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3Muc3JjPSdodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzP2lkPUctVjg0WFA4V0dYWSc7cy5hc3luYz10cnVlO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyl9ZnVuY3Rpb24gc2NoZWR1bGUoKXtpZigncmVxdWVzdElkbGVDYWxsYmFjaydpbiB3aW5kb3cpe3JlcXVlc3RJZGxlQ2FsbGJhY2sobG9hZCx7dGltZW91dDozMDAwfSl9ZWxzZXtzZXRUaW1lb3V0KGxvYWQsMTUwMCl9fWlmKGRvY3VtZW50LnJlYWR5U3RhdGU9PT0nY29tcGxldGUnKXtzY2hlZHVsZSgpfWVsc2V7YWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsc2NoZWR1bGUse29uY2U6dHJ1ZX0pfX0pKCk7PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii9fbmV4dC9zdGF0aWMvY2h1bmtzLzgxYTI5OGRkYzc0NzEwNzAuanMiIGlkPSJfUl8iIGFzeW5jPSIiPjwvc2NyaXB0PjxzY3JpcHQ+KHNlbGYuX19uZXh0X2Y9c2VsZi5fX25leHRfZnx8W10pLnB1c2goWzBdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCIxOlwiJFNyZWFjdC5mcmFnbWVudFwiXG5hOklbMTYxNTMsW10sXCJkZWZhdWx0XCJdXG46SExbXCIvX25leHQvc3RhdGljL21lZGlhLzgzYWZlMjc4YjZhNmJiM2Mtcy5wLjNhNmJhMDM2LndvZmYyXCIsXCJmb250XCIse1wiY3Jvc3NPcmlnaW5cIjpcIlwiLFwidHlwZVwiOlwiZm9udC93b2ZmMlwifV1cbjI6VDg4NCwiXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiQGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvMmM1NWEwZTYwMTIwNTc3YS1zLjJhNDg1MzRhLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSs0NjAtNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS85YzcyYWEwZjQwZTRlZWY4LXMuMThhNDhjYmMud29mZjIpZm9ybWF0KFwid29mZjJcIik7dW5pY29kZS1yYW5nZTpVKzMwMSxVKzQwMC00NUYsVSs0OTAtNDkxLFUrNEIwLTRCMSxVKzIxMTZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvYWQ2NmY5YWZkODk0N2Y4Ni1zLjdhNDBlYjczLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSsxRj8/fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzU0NzZmNjhkNjA0NjA5MzAtcy5jOTk1ZTM1Mi53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMzcwLTM3NyxVKzM3QS0zN0YsVSszODQtMzhBLFUrMzhDLFUrMzhFLTNBMSxVKzNBMy0zRkZ9QGZvbnQtZmFjZXtmb250LWZhbWlseTpJbnRlcjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDoxMDAgOTAwO2ZvbnQtZGlzcGxheTpvcHRpb25hbDtzcmM6dXJsKC9fbmV4dC9zdGF0aWMvbWVkaWEvMmJiZThkMjY3MTYxM2YxZi1zLjc2ZGNiMGIyLndvZmYyKWZvcm1hdChcIndvZmYyXCIpO3VuaWNvZGUtcmFuZ2U6VSsxMDItMTAzLFUrMTEwLTExMSxVKzEyOC0xMjksVSsxNjgtMTY5LFUrMUEwLTFBMSxVKzFBRi0xQjAsVSszMDAtMzAxLFUrMzAzLTMwNCxVKzMwOC0zMDksVSszMjMsVSszMjksVSsxRUEwLTFFRjksVSsyMEFCfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXI7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6MTAwIDkwMDtmb250LWRpc3BsYXk6b3B0aW9uYWw7c3JjOnVybCgvX25leHQvc3RhdGljL21lZGlhLzFiZmZhZGFhYmY4OTNhMWUtcy43Y2Q4MTk2My53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrMTAwLTJCQSxVKzJCRC0yQzUsVSsyQzctMkNDLFUrMkNFLTJENyxVKzJERC0yRkYsVSszMDQsVSszMDgsVSszMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OkludGVyO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjEwMCA5MDA7Zm9udC1kaXNwbGF5Om9wdGlvbmFsO3NyYzp1cmwoL19uZXh0L3N0YXRpYy9tZWRpYS84M2FmZTI3OGI2YTZiYjNjLXMucC4zYTZiYTAzNi53b2ZmMilmb3JtYXQoXCJ3b2ZmMlwiKTt1bmljb2RlLXJhbmdlOlUrPz8sVSsxMzEsVSsxNTItMTUzLFUrMkJCLTJCQyxVKzJDNixVKzJEQSxVKzJEQyxVKzMwNCxVKzMwOCxVKzMyOSxVKzIwMDAtMjA2RixVKzIwQUMsVSsyMTIyLFUrMjE5MSxVKzIxOTMsVSsyMjEyLFUrMjIxNSxVK0ZFRkYsVStGRkZEfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6SW50ZXIgRmFsbGJhY2s7c3JjOmxvY2FsKEFyaWFsKTthc2NlbnQtb3ZlcnJpZGU6OTAuNDQlO2Rlc2NlbnQtb3ZlcnJpZGU6MjIuNTIlO2xpbmUtZ2FwLW92ZXJyaWRlOjAuMCU7c2l6ZS1hZGp1c3Q6MTA3LjEyJX0uaW50ZXJfMWVjNGRkOWYtbW9kdWxlX19VTVBhS0dfX2NsYXNzTmFtZXtmb250LWZhbWlseTpJbnRlcixJbnRlciBGYWxsYmFjaztmb250LXN0eWxlOm5vcm1hbH0uaW50ZXJfMWVjNGRkOWYtbW9kdWxlX19VTVBhS0dfX3ZhcmlhYmxley0tZm9udC1pbnRlcjpcIkludGVyXCIsXCJJbnRlciBGYWxsYmFja1wifVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsIjM6VDFkNmU4LCJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCJAbGF5ZXIgcHJvcGVydGllc3tAc3VwcG9ydHMgKCgoLXdlYmtpdC1oeXBoZW5zOm5vbmUpKSBhbmQgKG5vdCAobWFyZ2luLXRyaW06aW5saW5lKSkpIG9yICgoLW1vei1vcmllbnQ6aW5saW5lKSBhbmQgKG5vdCAoY29sb3I6cmdiKGZyb20gcmVkIHIgZyBiKSkpKXsqLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS10dy10cmFuc2xhdGUteDowOy0tdHctdHJhbnNsYXRlLXk6MDstLXR3LXRyYW5zbGF0ZS16OjA7LS10dy1yb3RhdGUteDppbml0aWFsOy0tdHctcm90YXRlLXk6aW5pdGlhbDstLXR3LXJvdGF0ZS16OmluaXRpYWw7LS10dy1za2V3LXg6aW5pdGlhbDstLXR3LXNrZXcteTppbml0aWFsOy0tdHctc3BhY2UteS1yZXZlcnNlOjA7LS10dy1zcGFjZS14LXJldmVyc2U6MDstLXR3LWRpdmlkZS15LXJldmVyc2U6MDstLXR3LWJvcmRlci1zdHlsZTpzb2xpZDstLXR3LWdyYWRpZW50LXBvc2l0aW9uOmluaXRpYWw7LS10dy1ncmFkaWVudC1mcm9tOiMwMDAwOy0tdHctZ3JhZGllbnQtdmlhOiMwMDAwOy0tdHctZ3JhZGllbnQtdG86IzAwMDA7LS10dy1ncmFkaWVudC1zdG9wczppbml0aWFsOy0tdHctZ3JhZGllbnQtdmlhLXN0b3BzOmluaXRpYWw7LS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdHctZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uOjEwMCU7LS10dy1sZWFkaW5nOmluaXRpYWw7LS10dy1mb250LXdlaWdodDppbml0aWFsOy0tdHctdHJhY2tpbmc6aW5pdGlhbDstLXR3LW9yZGluYWw6aW5pdGlhbDstLXR3LXNsYXNoZWQtemVybzppbml0aWFsOy0tdHctbnVtZXJpYy1maWd1cmU6aW5pdGlhbDstLXR3LW51bWVyaWMtc3BhY2luZzppbml0aWFsOy0tdHctbnVtZXJpYy1mcmFjdGlvbjppbml0aWFsOy0tdHctc2hhZG93OjAgMCAjMDAwMDstLXR3LXNoYWRvdy1jb2xvcjppbml0aWFsOy0tdHctc2hhZG93LWFscGhhOjEwMCU7LS10dy1pbnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctaW5zZXQtc2hhZG93LWNvbG9yOmluaXRpYWw7LS10dy1pbnNldC1zaGFkb3ctYWxwaGE6MTAwJTstLXR3LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LWluc2V0LXJpbmctY29sb3I6aW5pdGlhbDstLXR3LWluc2V0LXJpbmctc2hhZG93OjAgMCAjMDAwMDstLXR3LXJpbmctaW5zZXQ6aW5pdGlhbDstLXR3LXJpbmctb2Zmc2V0LXdpZHRoOjBweDstLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7LS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdHctb3V0bGluZS1zdHlsZTpzb2xpZDstLXR3LWJsdXI6aW5pdGlhbDstLXR3LWJyaWdodG5lc3M6aW5pdGlhbDstLXR3LWNvbnRyYXN0OmluaXRpYWw7LS10dy1ncmF5c2NhbGU6aW5pdGlhbDstLXR3LWh1ZS1yb3RhdGU6aW5pdGlhbDstLXR3LWludmVydDppbml0aWFsOy0tdHctb3BhY2l0eTppbml0aWFsOy0tdHctc2F0dXJhdGU6aW5pdGlhbDstLXR3LXNlcGlhOmluaXRpYWw7LS10dy1kcm9wLXNoYWRvdzppbml0aWFsOy0tdHctZHJvcC1zaGFkb3ctY29sb3I6aW5pdGlhbDstLXR3LWRyb3Atc2hhZG93LWFscGhhOjEwMCU7LS10dy1kcm9wLXNoYWRvdy1zaXplOmluaXRpYWw7LS10dy1iYWNrZHJvcC1ibHVyOmluaXRpYWw7LS10dy1iYWNrZHJvcC1icmlnaHRuZXNzOmluaXRpYWw7LS10dy1iYWNrZHJvcC1jb250cmFzdDppbml0aWFsOy0tdHctYmFja2Ryb3AtZ3JheXNjYWxlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1odWUtcm90YXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1pbnZlcnQ6aW5pdGlhbDstLXR3LWJhY2tkcm9wLW9wYWNpdHk6aW5pdGlhbDstLXR3LWJhY2tkcm9wLXNhdHVyYXRlOmluaXRpYWw7LS10dy1iYWNrZHJvcC1zZXBpYTppbml0aWFsOy0tdHctZHVyYXRpb246aW5pdGlhbDstLXR3LWVhc2U6aW5pdGlhbDstLXR3LWNvbnRlbnQ6XCJcIjstLXR3LWFuaW1hdGlvbi1kZWxheTowczstLXR3LWFuaW1hdGlvbi1kaXJlY3Rpb246bm9ybWFsOy0tdHctYW5pbWF0aW9uLWR1cmF0aW9uOmluaXRpYWw7LS10dy1hbmltYXRpb24tZmlsbC1tb2RlOm5vbmU7LS10dy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7LS10dy1lbnRlci1ibHVyOjA7LS10dy1lbnRlci1vcGFjaXR5OjE7LS10dy1lbnRlci1yb3RhdGU6MDstLXR3LWVudGVyLXNjYWxlOjE7LS10dy1lbnRlci10cmFuc2xhdGUteDowOy0tdHctZW50ZXItdHJhbnNsYXRlLXk6MDstLXR3LWV4aXQtYmx1cjowOy0tdHctZXhpdC1vcGFjaXR5OjE7LS10dy1leGl0LXJvdGF0ZTowOy0tdHctZXhpdC1zY2FsZToxOy0tdHctZXhpdC10cmFuc2xhdGUteDowOy0tdHctZXhpdC10cmFuc2xhdGUteTowfX19QGxheWVyIHRoZW1lezpyb290LDpob3N0ey0tY29sb3ItcmVkLTUwMDojZmIyYzM2Oy0tY29sb3Itb3JhbmdlLTUwMDojZmU2ZTAwOy0tY29sb3ItZ3JlZW4tNDAwOiMwNWRmNzI7LS1jb2xvci1ncmVlbi02MDA6IzAwYTU0NDstLWNvbG9yLWJsYWNrOiMwMDA7LS1jb2xvci13aGl0ZTojZmZmOy0tc3BhY2luZzouMjVyZW07LS1jb250YWluZXIteHM6MjByZW07LS1jb250YWluZXItc206MjRyZW07LS1jb250YWluZXItbWQ6MjhyZW07LS1jb250YWluZXItbGc6MzJyZW07LS1jb250YWluZXIteGw6MzZyZW07LS1jb250YWluZXItMnhsOjQycmVtOy0tY29udGFpbmVyLTN4bDo0OHJlbTstLWNvbnRhaW5lci00eGw6NTZyZW07LS1jb250YWluZXItN3hsOjgwcmVtOy0tdGV4dC14czouNzVyZW07LS10ZXh0LXhzLS1saW5lLWhlaWdodDpjYWxjKDEvLjc1KTstLXRleHQtc206Ljg3NXJlbTstLXRleHQtc20tLWxpbmUtaGVpZ2h0OmNhbGMoMS4yNS8uODc1KTstLXRleHQtYmFzZToxcmVtOy0tdGV4dC1iYXNlLS1saW5lLWhlaWdodDpjYWxjKDEuNS8xKTstLXRleHQtbGc6MS4xMjVyZW07LS10ZXh0LWxnLS1saW5lLWhlaWdodDpjYWxjKDEuNzUvMS4xMjUpOy0tdGV4dC14bDoxLjI1cmVtOy0tdGV4dC14bC0tbGluZS1oZWlnaHQ6Y2FsYygxLjc1LzEuMjUpOy0tdGV4dC0yeGw6MS41cmVtOy0tdGV4dC0yeGwtLWxpbmUtaGVpZ2h0OmNhbGMoMi8xLjUpOy0tdGV4dC0zeGw6MS44NzVyZW07LS10ZXh0LTN4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLjI1LzEuODc1KTstLXRleHQtNHhsOjIuMjVyZW07LS10ZXh0LTR4bC0tbGluZS1oZWlnaHQ6Y2FsYygyLjUvMi4yNSk7LS10ZXh0LTZ4bDozLjc1cmVtOy0tdGV4dC02eGwtLWxpbmUtaGVpZ2h0OjE7LS1mb250LXdlaWdodC1ub3JtYWw6NDAwOy0tZm9udC13ZWlnaHQtbWVkaXVtOjUwMDstLWZvbnQtd2VpZ2h0LXNlbWlib2xkOjYwMDstLWZvbnQtd2VpZ2h0LWJvbGQ6NzAwOy0tdHJhY2tpbmctdGlnaHQ6LS4wMjVlbTstLXRyYWNraW5nLXdpZGU6LjAyNWVtOy0tdHJhY2tpbmctd2lkZXN0Oi4xZW07LS1sZWFkaW5nLXRpZ2h0OjEuMjU7LS1sZWFkaW5nLXNudWc6MS4zNzU7LS1sZWFkaW5nLXJlbGF4ZWQ6MS42MjU7LS1yYWRpdXMtbWQ6Y2FsYyh2YXIoLS1yYWRpdXMpKi44KTstLWVhc2UtaW4tb3V0OmN1YmljLWJlemllciguNCwwLC4yLDEpOy0tYW5pbWF0ZS1zcGluOnNwaW4gMXMgbGluZWFyIGluZmluaXRlOy0tYW5pbWF0ZS1wdWxzZTpwdWxzZSAycyBjdWJpYy1iZXppZXIoLjQsMCwuNiwxKWluZmluaXRlOy0tYmx1ci14czo0cHg7LS1ibHVyLXNtOjhweDstLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzOy0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTstLWRlZmF1bHQtZm9udC1mYW1pbHk6dmFyKC0tZm9udC1pbnRlciksXCJJbnRlclwiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZjstLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTp2YXIoLS1mb250LWludGVyKSxcIkludGVyXCIsdWktc2Fucy1zZXJpZixzeXN0ZW0tdWksLWFwcGxlLXN5c3RlbSxzYW5zLXNlcmlmfUBzdXBwb3J0cyAoY29sb3I6bGFiKDAlIDAgMCkpezpyb290LDpob3N0ey0tY29sb3ItcmVkLTUwMDpsYWIoNTUuNDgxNCUgNzUuMDczMiA0OC44NTI4KTstLWNvbG9yLW9yYW5nZS01MDA6bGFiKDY0LjI3MiUgNTcuMTc4OCA5MC4zNTgzKTstLWNvbG9yLWdyZWVuLTQwMDpsYWIoNzguNTAzJSAtNjQuOTI2NSAzOS43NDkyKTstLWNvbG9yLWdyZWVuLTYwMDpsYWIoNTkuMDk3OCUgLTU4LjY2MjEgNDEuMjU3OSl9fX1AbGF5ZXIgYmFzZXsqLDphZnRlciw6YmVmb3JlLDo6YmFja2Ryb3B7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjowIHNvbGlkO21hcmdpbjowO3BhZGRpbmc6MH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6MCBzb2xpZDttYXJnaW46MDtwYWRkaW5nOjB9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2xpbmUtaGVpZ2h0OjEuNTtmb250LWZhbWlseTp2YXIoLS1kZWZhdWx0LWZvbnQtZmFtaWx5LHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIixcIlNlZ29lIFVJIFN5bWJvbFwiLFwiTm90byBDb2xvciBFbW9qaVwiKTtmb250LWZlYXR1cmUtc2V0dGluZ3M6dmFyKC0tZGVmYXVsdC1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLG5vcm1hbCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fWhye2hlaWdodDowO2NvbG9yOmluaGVyaXQ7Ym9yZGVyLXRvcC13aWR0aDoxcHh9YWJicjp3aGVyZShbdGl0bGVdKXstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkfWgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtd2VpZ2h0OmluaGVyaXR9YXtjb2xvcjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDstd2Via2l0LXRleHQtZGVjb3JhdGlvbjppbmhlcml0Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6Ym9sZGVyfWNvZGUsa2JkLHNhbXAscHJle2ZvbnQtZmFtaWx5OnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseSx1aS1tb25vc3BhY2UsU0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLFwiTGliZXJhdGlvbiBNb25vXCIsXCJDb3VyaWVyIE5ld1wiLG1vbm9zcGFjZSk7Zm9udC1mZWF0dXJlLXNldHRpbmdzOnZhcigtLWRlZmF1bHQtbW9uby1mb250LWZlYXR1cmUtc2V0dGluZ3Msbm9ybWFsKTtmb250LXZhcmlhdGlvbi1zZXR0aW5nczp2YXIoLS1kZWZhdWx0LW1vbm8tZm9udC12YXJpYXRpb24tc2V0dGluZ3Msbm9ybWFsKTtmb250LXNpemU6MWVtfXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7cG9zaXRpb246cmVsYXRpdmV9c3Vie2JvdHRvbTotLjI1ZW19c3Vwe3RvcDotLjVlbX10YWJsZXt0ZXh0LWluZGVudDowO2JvcmRlci1jb2xvcjppbmhlcml0O2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1bW1hcnl7ZGlzcGxheTpsaXN0LWl0ZW19b2wsdWwsbWVudXtsaXN0LXN0eWxlOm5vbmV9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99YnV0dG9uLGlucHV0LHNlbGVjdCxvcHRncm91cCx0ZXh0YXJlYXtmb250OmluaGVyaXQ7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O2NvbG9yOmluaGVyaXQ7b3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXJhZGl1czowfTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udDppbmhlcml0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczppbmhlcml0O2ZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlci1yYWRpdXM6MH06d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sW3NpemVdKSkgb3B0Z3JvdXB7Zm9udC13ZWlnaHQ6Ym9sZGVyfTp3aGVyZShzZWxlY3Q6aXMoW211bHRpcGxlXSxbc2l6ZV0pKSBvcHRncm91cCBvcHRpb257cGFkZGluZy1pbmxpbmUtc3RhcnQ6MjBweH06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue21hcmdpbi1pbmxpbmUtZW5kOjRweH06OnBsYWNlaG9sZGVye29wYWNpdHk6MX1Ac3VwcG9ydHMgKG5vdCAoKC13ZWJraXQtYXBwZWFyYW5jZTotYXBwbGUtcGF5LWJ1dHRvbikpKSBvciAoY29udGFpbi1pbnRyaW5zaWMtc2l6ZToxcHgpezo6cGxhY2Vob2xkZXJ7Y29sb3I6Y3VycmVudENvbG9yfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXs6OnBsYWNlaG9sZGVye2NvbG9yOmNvbG9yLW1peChpbiBva2xhYixjdXJyZW50Y29sb3IgNTAlLHRyYW5zcGFyZW50KX19fXRleHRhcmVhe3Jlc2l6ZTp2ZXJ0aWNhbH06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWV7bWluLWhlaWdodDoxbGg7dGV4dC1hbGlnbjppbmhlcml0fTo6LXdlYmtpdC1kYXRldGltZS1lZGl0e2Rpc3BsYXk6aW5saW5lLWZsZXh9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtZmllbGRzLXdyYXBwZXJ7cGFkZGluZzowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0e3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZHtwYWRkaW5nLWJsb2NrOjB9Ojotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGR7cGFkZGluZy1ibG9jazowfTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1lcmlkaWVtLWZpZWxke3BhZGRpbmctYmxvY2s6MH06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvcntsaW5lLWhlaWdodDoxfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfWJ1dHRvbixpbnB1dDp3aGVyZShbdHlwZT1idXR0b25dLFt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdKXthcHBlYXJhbmNlOmJ1dHRvbn06OmZpbGUtc2VsZWN0b3ItYnV0dG9ue2FwcGVhcmFuY2U6YnV0dG9ufTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9Kntib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKTtvdXRsaW5lLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsqe291dGxpbmUtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19Ym9keXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpO2NvbG9yOnZhcigtLWZvcmVncm91bmQpO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn1jb2RlLHByZSxrYmR7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1pbnRlciksXCJJbnRlclwiLHVpLXNhbnMtc2VyaWYsc3lzdGVtLXVpLC1hcHBsZS1zeXN0ZW0sc2Fucy1zZXJpZn19QGxheWVyIGNvbXBvbmVudHM7QGxheWVyIHV0aWxpdGllc3suXFxAY29udGFpbmVyXFwvY2FyZC1oZWFkZXJ7Y29udGFpbmVyOmNhcmQtaGVhZGVyL2lubGluZS1zaXplfS5wb2ludGVyLWV2ZW50cy1ub25le3BvaW50ZXItZXZlbnRzOm5vbmV9LmNvbGxhcHNle3Zpc2liaWxpdHk6Y29sbGFwc2V9LnZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlfS5zci1vbmx5e2NsaXAtcGF0aDppbnNldCg1MCUpO3doaXRlLXNwYWNlOm5vd3JhcDtib3JkZXItd2lkdGg6MDt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7b3ZlcmZsb3c6aGlkZGVufS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGF0aWN7cG9zaXRpb246c3RhdGljfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS5pbnNldC0we2luc2V0OmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmluc2V0LXgtMHtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaW5zZXQteC00e2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5pbnNldC15LTB7aW5zZXQtYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uc3RhcnR7aW5zZXQtaW5saW5lLXN0YXJ0OnZhcigtLXNwYWNpbmcpfS5lbmR7aW5zZXQtaW5saW5lLWVuZDp2YXIoLS1zcGFjaW5nKX0uLXRvcC0ye3RvcDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0udG9wLTB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LnRvcC0wXFwuNXt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnRvcC0xXFwvMnt0b3A6NTAlfS50b3AtMVxcLzN7dG9wOjMzLjMzMzMlfS50b3AtMnt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0udG9wLTN7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9LnRvcC0xNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnRvcC0xMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwKX0udG9wLTEwMDB7dG9wOmNhbGModmFyKC0tc3BhY2luZykqMTAwMCl9LnRvcC1mdWxse3RvcDoxMDAlfS4tcmlnaHQtMntyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi0yKX0ucmlnaHQtMHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5yaWdodC0ye3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnJpZ2h0LTJcXC41e3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMi41KX0ucmlnaHQtM3tyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ib3R0b20tMHtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uYm90dG9tLTIwe2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIwKX0ubGVmdC0we2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubGVmdC0wXFwuNXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5sZWZ0LTFcXC8ye2xlZnQ6NTAlfS5sZWZ0LTJcXC41e2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5sZWZ0LTN7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5sZWZ0LTR7bGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5sZWZ0LTEwe2xlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmlzb2xhdGV7aXNvbGF0aW9uOmlzb2xhdGV9LnotMTB7ei1pbmRleDoxMH0uei0yMHt6LWluZGV4OjIwfS56LTMwe3otaW5kZXg6MzB9LnotNDB7ei1pbmRleDo0MH0uei01MHt6LWluZGV4OjUwfS5vcmRlci1maXJzdHtvcmRlcjotOTk5OX0ub3JkZXItbGFzdHtvcmRlcjo5OTk5fS5jb2wtc3RhcnQtMntncmlkLWNvbHVtbi1zdGFydDoyfS5yb3ctc3Bhbi0ye2dyaWQtcm93OnNwYW4gMi9zcGFuIDJ9LnJvdy1zdGFydC0xe2dyaWQtcm93LXN0YXJ0OjF9LmNvbnRhaW5lcnt3aWR0aDoxMDAlfUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuY29udGFpbmVye21heC13aWR0aDo0MHJlbX19QG1lZGlhIChtaW4td2lkdGg6NDhyZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjQ4cmVtfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NjRyZW19fUBtZWRpYSAobWluLXdpZHRoOjgwcmVtKXsuY29udGFpbmVye21heC13aWR0aDo4MHJlbX19QG1lZGlhIChtaW4td2lkdGg6OTZyZW0pey5jb250YWluZXJ7bWF4LXdpZHRoOjk2cmVtfX0uLW14LTF7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi0xKX0uLW14LTR7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKi00KX0ubXgtMXttYXJnaW4taW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMSl9Lm14LTR7bWFyZ2luLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5teC1hdXRve21hcmdpbi1pbmxpbmU6YXV0b30ubXktMXttYXJnaW4tYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubXktMnttYXJnaW4tYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHJvc2V7Y29sb3I6dmFyKC0tdHctcHJvc2UtYm9keSk7bWF4LXdpZHRoOjY1Y2h9LnByb3NlIDp3aGVyZShwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4yNWVtO21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoW2NsYXNzfj1sZWFkXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1sZWFkKTttYXJnaW4tdG9wOjEuMmVtO21hcmdpbi1ib3R0b206MS4yZW07Zm9udC1zaXplOjEuMjVlbTtsaW5lLWhlaWdodDoxLjZ9LnByb3NlIDp3aGVyZShhKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWxpbmtzKTtmb250LXdlaWdodDo1MDA7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ucHJvc2UgOndoZXJlKHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1ib2xkKTtmb250LXdlaWdodDo2MDB9LnByb3NlIDp3aGVyZShhIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodGhlYWQgdGggc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXR9LnByb3NlIDp3aGVyZShvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkZWNpbWFsfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1BXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPWFdKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTpsb3dlci1hbHBoYX0ucHJvc2UgOndoZXJlKG9sW3R5cGU9QSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItYWxwaGF9LnByb3NlIDp3aGVyZShvbFt0eXBlPWEgc10pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLWFscGhhfS5wcm9zZSA6d2hlcmUob2xbdHlwZT1JXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPWldKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2xpc3Qtc3R5bGUtdHlwZTpsb3dlci1yb21hbn0ucHJvc2UgOndoZXJlKG9sW3R5cGU9SSBzXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtsaXN0LXN0eWxlLXR5cGU6dXBwZXItcm9tYW59LnByb3NlIDp3aGVyZShvbFt0eXBlPWkgc10pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmxvd2VyLXJvbWFufS5wcm9zZSA6d2hlcmUob2xbdHlwZT1cIjFcIl0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9LnByb3NlIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMjVlbTttYXJnaW4tYm90dG9tOjEuMjVlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjYyNWVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5wcm9zZSA6d2hlcmUob2xcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTo6bWFya2Vye2NvbG9yOnZhcigtLXR3LXByb3NlLWNvdW50ZXJzKTtmb250LXdlaWdodDo0MDB9LnByb3NlIDp3aGVyZSh1bFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOjptYXJrZXJ7Y29sb3I6dmFyKC0tdHctcHJvc2UtYnVsbGV0cyl9LnByb3NlIDp3aGVyZShkdCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjI1ZW07Zm9udC13ZWlnaHQ6NjAwfS5wcm9zZSA6d2hlcmUoaHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLWNvbG9yOnZhcigtLXR3LXByb3NlLWhyKTtib3JkZXItdG9wLXdpZHRoOjFweDttYXJnaW4tdG9wOjNlbTttYXJnaW4tYm90dG9tOjNlbX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtcXVvdGVzKTtib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOi4yNXJlbTtib3JkZXItaW5saW5lLXN0YXJ0LWNvbG9yOnZhcigtLXR3LXByb3NlLXF1b3RlLWJvcmRlcnMpO3F1b3RlczpcIuKAnFwiXCLigJ1cIlwi4oCYXCJcIuKAmVwiO21hcmdpbi10b3A6MS42ZW07bWFyZ2luLWJvdHRvbToxLjZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zdHlsZTppdGFsaWM7Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBwOmZpcnN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3Jle2NvbnRlbnQ6b3Blbi1xdW90ZX0ucHJvc2UgOndoZXJlKGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YWZ0ZXJ7Y29udGVudDpjbG9zZS1xdW90ZX0ucHJvc2UgOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODg4ODg5ZW07Zm9udC1zaXplOjIuMjVlbTtmb250LXdlaWdodDo4MDA7bGluZS1oZWlnaHQ6MS4xMTExMX0ucHJvc2UgOndoZXJlKGgxIHN0cm9uZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtd2VpZ2h0OjkwMH0ucHJvc2UgOndoZXJlKGgyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjFlbTtmb250LXNpemU6MS41ZW07Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjEuMzMzMzN9LnByb3NlIDp3aGVyZShoMiBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo4MDB9LnByb3NlIDp3aGVyZShoMyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1oZWFkaW5ncyk7bWFyZ2luLXRvcDoxLjZlbTttYXJnaW4tYm90dG9tOi42ZW07Zm9udC1zaXplOjEuMjVlbTtmb250LXdlaWdodDo2MDA7bGluZS1oZWlnaHQ6MS42fS5wcm9zZSA6d2hlcmUoaDMgc3Ryb25nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NzAwfS5wcm9zZSA6d2hlcmUoaDQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6dmFyKC0tdHctcHJvc2UtaGVhZGluZ3MpO21hcmdpbi10b3A6MS41ZW07bWFyZ2luLWJvdHRvbTouNWVtO2ZvbnQtd2VpZ2h0OjYwMDtsaW5lLWhlaWdodDoxLjV9LnByb3NlIDp3aGVyZShoNCBzdHJvbmcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo3MDB9LnByb3NlIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW19LnByb3NlIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MmVtO21hcmdpbi1ib3R0b206MmVtO2Rpc3BsYXk6YmxvY2t9LnByb3NlIDp3aGVyZSh2aWRlbyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKGtiZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1rYmQpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKSwwIDNweCAwIHZhcigtLXR3LXByb3NlLWtiZC1zaGFkb3dzKTtwYWRkaW5nLXRvcDouMTg3NWVtO3BhZGRpbmctaW5saW5lLWVuZDouMzc1ZW07cGFkZGluZy1ib3R0b206LjE4NzVlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi4zNzVlbTtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW07Zm9udC13ZWlnaHQ6NTAwfS5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjp2YXIoLS10dy1wcm9zZS1jb2RlKTtmb250LXNpemU6Ljg3NWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKGNvZGUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSk6YmVmb3JlLC5wcm9zZSA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKTphZnRlcntjb250ZW50OlwiYFwifS5wcm9zZSA6d2hlcmUoYSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDEgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUoaDIgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0O2ZvbnQtc2l6ZTouODc1ZW19LnByb3NlIDp3aGVyZShoMyBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOi45ZW19LnByb3NlIDp3aGVyZShoNCBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoYmxvY2txdW90ZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodGhlYWQgdGggY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtjb2xvcjppbmhlcml0fS5wcm9zZSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLXByZS1jb2RlKTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXR3LXByb3NlLXByZS1iZyk7cGFkZGluZy10b3A6Ljg1NzE0M2VtO3BhZGRpbmctaW5saW5lLWVuZDoxLjE0Mjg2ZW07cGFkZGluZy1ib3R0b206Ljg1NzE0M2VtO2JvcmRlci1yYWRpdXM6LjM3NXJlbTttYXJnaW4tdG9wOjEuNzE0MjllbTttYXJnaW4tYm90dG9tOjEuNzE0MjllbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjE0Mjg2ZW07Zm9udC1zaXplOi44NzVlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS43MTQyOTtvdmVyZmxvdy14OmF1dG99LnByb3NlIDp3aGVyZShwcmUgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXdlaWdodDppbmhlcml0O2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC1mYW1pbHk6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O2JhY2tncm91bmQtY29sb3I6IzAwMDA7Ym9yZGVyLXdpZHRoOjA7Ym9yZGVyLXJhZGl1czowO3BhZGRpbmc6MH0ucHJvc2UgOndoZXJlKHByZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOmJlZm9yZSwucHJvc2UgOndoZXJlKHByZSBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpOmFmdGVye2NvbnRlbnQ6bm9uZX0ucHJvc2UgOndoZXJlKHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3RhYmxlLWxheW91dDphdXRvO3dpZHRoOjEwMCU7bWFyZ2luLXRvcDoyZW07bWFyZ2luLWJvdHRvbToyZW07Zm9udC1zaXplOi44NzVlbTtsaW5lLWhlaWdodDoxLjcxNDI5fS5wcm9zZSA6d2hlcmUodGhlYWQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjp2YXIoLS10dy1wcm9zZS10aC1ib3JkZXJzKX0ucHJvc2UgOndoZXJlKHRoZWFkIHRoKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWhlYWRpbmdzKTt2ZXJ0aWNhbC1hbGlnbjpib3R0b207cGFkZGluZy1pbmxpbmUtZW5kOi41NzE0MjllbTtwYWRkaW5nLWJvdHRvbTouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjU3MTQyOWVtO2ZvbnQtd2VpZ2h0OjYwMH0ucHJvc2UgOndoZXJlKHRib2R5IHRyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MXB4O2JvcmRlci1ib3R0b20tY29sb3I6dmFyKC0tdHctcHJvc2UtdGQtYm9yZGVycyl9LnByb3NlIDp3aGVyZSh0Ym9keSB0cjpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2JvcmRlci1ib3R0b20td2lkdGg6MH0ucHJvc2UgOndoZXJlKHRib2R5IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5wcm9zZSA6d2hlcmUodGZvb3QpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7Ym9yZGVyLXRvcC13aWR0aDoxcHg7Ym9yZGVyLXRvcC1jb2xvcjp2YXIoLS10dy1wcm9zZS10aC1ib3JkZXJzKX0ucHJvc2UgOndoZXJlKHRmb290IHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3ZlcnRpY2FsLWFsaWduOnRvcH0ucHJvc2UgOndoZXJlKHRoLHRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3RleHQtYWxpZ246c3RhcnR9LnByb3NlIDp3aGVyZShmaWd1cmVcdTAwM2UqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlIDp3aGVyZShmaWdjYXB0aW9uKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2NvbG9yOnZhcigtLXR3LXByb3NlLWNhcHRpb25zKTttYXJnaW4tdG9wOi44NTcxNDNlbTtmb250LXNpemU6Ljg3NWVtO2xpbmUtaGVpZ2h0OjEuNDI4NTd9LnByb3Nley0tdHctcHJvc2UtYm9keTojMzY0MTUzOy0tdHctcHJvc2UtaGVhZGluZ3M6IzEwMTgyODstLXR3LXByb3NlLWxlYWQ6IzRhNTU2NTstLXR3LXByb3NlLWxpbmtzOiMxMDE4Mjg7LS10dy1wcm9zZS1ib2xkOiMxMDE4Mjg7LS10dy1wcm9zZS1jb3VudGVyczojNmE3MjgyOy0tdHctcHJvc2UtYnVsbGV0czojZDFkNWRjOy0tdHctcHJvc2UtaHI6I2U1ZTdlYjstLXR3LXByb3NlLXF1b3RlczojMTAxODI4Oy0tdHctcHJvc2UtcXVvdGUtYm9yZGVyczojZTVlN2ViOy0tdHctcHJvc2UtY2FwdGlvbnM6IzZhNzI4MjstLXR3LXByb3NlLWtiZDojMTAxODI4Oy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6IzEwMTgyODFhOy0tdHctcHJvc2UtY29kZTojMTAxODI4Oy0tdHctcHJvc2UtcHJlLWNvZGU6I2U1ZTdlYjstLXR3LXByb3NlLXByZS1iZzojMWUyOTM5Oy0tdHctcHJvc2UtdGgtYm9yZGVyczojZDFkNWRjOy0tdHctcHJvc2UtdGQtYm9yZGVyczojZTVlN2ViOy0tdHctcHJvc2UtaW52ZXJ0LWJvZHk6I2QxZDVkYzstLXR3LXByb3NlLWludmVydC1oZWFkaW5nczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWxlYWQ6Izk5YTFhZjstLXR3LXByb3NlLWludmVydC1saW5rczojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWJvbGQ6I2ZmZjstLXR3LXByb3NlLWludmVydC1jb3VudGVyczojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWJ1bGxldHM6IzRhNTU2NTstLXR3LXByb3NlLWludmVydC1ocjojMzY0MTUzOy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlczojZjNmNGY2Oy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlLWJvcmRlcnM6IzM2NDE1MzstLXR3LXByb3NlLWludmVydC1jYXB0aW9uczojOTlhMWFmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZDojZmZmOy0tdHctcHJvc2UtaW52ZXJ0LWtiZC1zaGFkb3dzOiNmZmZmZmYxYTstLXR3LXByb3NlLWludmVydC1jb2RlOiNmZmY7LS10dy1wcm9zZS1pbnZlcnQtcHJlLWNvZGU6I2QxZDVkYzstLXR3LXByb3NlLWludmVydC1wcmUtYmc6IzAwMDAwMDgwOy0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnM6IzRhNTU2NTstLXR3LXByb3NlLWludmVydC10ZC1ib3JkZXJzOiMzNjQxNTM7Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS43NX1Ac3VwcG9ydHMgKGNvbG9yOmxhYigwJSAwIDApKXsucHJvc2V7LS10dy1wcm9zZS1ib2R5OmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCk7LS10dy1wcm9zZS1oZWFkaW5nczpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLWxlYWQ6bGFiKDM1LjYzMzclIC0xLjU4Njk3IC0xMC44NDI1KTstLXR3LXByb3NlLWxpbmtzOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtYm9sZDpsYWIoOC4xMTg5NyUgLjgxMTI3OSAtMTIuMjU0KTstLXR3LXByb3NlLWNvdW50ZXJzOmxhYig0Ny43ODQxJSAtLjM5MzE4MiAtMTAuMDI2OCk7LS10dy1wcm9zZS1idWxsZXRzOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWhyOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1xdW90ZXM6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NCk7LS10dy1wcm9zZS1xdW90ZS1ib3JkZXJzOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1jYXB0aW9uczpsYWIoNDcuNzg0MSUgLS4zOTMxODIgLTEwLjAyNjgpOy0tdHctcHJvc2Uta2JkOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6bGFiKDguMTE4OTclIC44MTEyNzkgLTEyLjI1NC8uMSk7LS10dy1wcm9zZS1jb2RlOmxhYig4LjExODk3JSAuODExMjc5IC0xMi4yNTQpOy0tdHctcHJvc2UtcHJlLWNvZGU6bGFiKDkxLjYyMjklIC0uMTU5MTE1IC0yLjI2NzkxKTstLXR3LXByb3NlLXByZS1iZzpsYWIoMTYuMTA1MSUgLTEuMTgyMzkgLTExLjc1MzMpOy0tdHctcHJvc2UtdGgtYm9yZGVyczpsYWIoODUuMTIzNiUgLS42MTIyNTkgLTMuNzEzOCk7LS10dy1wcm9zZS10ZC1ib3JkZXJzOmxhYig5MS42MjI5JSAtLjE1OTExNSAtMi4yNjc5MSk7LS10dy1wcm9zZS1pbnZlcnQtYm9keTpsYWIoODUuMTIzNiUgLS42MTIyNTkgLTMuNzEzOCk7LS10dy1wcm9zZS1pbnZlcnQtbGVhZDpsYWIoNjUuOTI2OSUgLS44MzI3MDcgLTguMTc0NzMpOy0tdHctcHJvc2UtaW52ZXJ0LWNvdW50ZXJzOmxhYig2NS45MjY5JSAtLjgzMjcwNyAtOC4xNzQ3Myk7LS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0czpsYWIoMzUuNjMzNyUgLTEuNTg2OTcgLTEwLjg0MjUpOy0tdHctcHJvc2UtaW52ZXJ0LWhyOmxhYigyNy4xMTM0JSAtLjk1NjQwMSAtMTIuMzIyNCk7LS10dy1wcm9zZS1pbnZlcnQtcXVvdGVzOmxhYig5Ni4xNTk2JSAtLjA4MjM0MzggLTEuMTM1NzUpOy0tdHctcHJvc2UtaW52ZXJ0LXF1b3RlLWJvcmRlcnM6bGFiKDI3LjExMzQlIC0uOTU2NDAxIC0xMi4zMjI0KTstLXR3LXByb3NlLWludmVydC1jYXB0aW9uczpsYWIoNjUuOTI2OSUgLS44MzI3MDcgLTguMTc0NzMpOy0tdHctcHJvc2UtaW52ZXJ0LXByZS1jb2RlOmxhYig4NS4xMjM2JSAtLjYxMjI1OSAtMy43MTM4KTstLXR3LXByb3NlLWludmVydC10aC1ib3JkZXJzOmxhYigzNS42MzM3JSAtMS41ODY5NyAtMTAuODQyNSk7LS10dy1wcm9zZS1pbnZlcnQtdGQtYm9yZGVyczpsYWIoMjcuMTEzNCUgLS45NTY0MDEgLTEyLjMyMjQpfX0ucHJvc2UgOndoZXJlKHBpY3R1cmVcdTAwM2VpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjVlbTttYXJnaW4tYm90dG9tOi41ZW19LnByb3NlIDp3aGVyZShvbFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUodWxcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDouMzc1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2V1bFx1MDAzZWxpIHApOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNzVlbTttYXJnaW4tYm90dG9tOi43NWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2V1bFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUoLnByb3NlXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW19LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2VvbFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4yNWVtfS5wcm9zZSA6d2hlcmUodWwgdWwsdWwgb2wsb2wgdWwsb2wgb2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNzVlbTttYXJnaW4tYm90dG9tOi43NWVtfS5wcm9zZSA6d2hlcmUoZGwpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjI1ZW07bWFyZ2luLWJvdHRvbToxLjI1ZW19LnByb3NlIDp3aGVyZShkZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS42MjVlbX0ucHJvc2UgOndoZXJlKGhyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlIDp3aGVyZShoMisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZSA6d2hlcmUoaDMrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UgOndoZXJlKGg0KyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowfS5wcm9zZSA6d2hlcmUodGhlYWQgdGg6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UgOndoZXJlKHRoZWFkIHRoOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlIDp3aGVyZSh0Ym9keSB0ZCx0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtZW5kOi41NzE0MjllbTtwYWRkaW5nLWJvdHRvbTouNTcxNDI5ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjU3MTQyOWVtfS5wcm9zZSA6d2hlcmUodGJvZHkgdGQ6Zmlyc3QtY2hpbGQsdGZvb3QgdGQ6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UgOndoZXJlKHRib2R5IHRkOmxhc3QtY2hpbGQsdGZvb3QgdGQ6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1lbmQ6MH0ucHJvc2UgOndoZXJlKGZpZ3VyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbX0ucHJvc2UgOndoZXJlKC5wcm9zZVx1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlIDp3aGVyZSgucHJvc2VcdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLWxne2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc3Nzc4fS5wcm9zZS1sZyA6d2hlcmUocCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKFtjbGFzc349bGVhZF0pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjA5MDkxZW07bWFyZ2luLWJvdHRvbToxLjA5MDkxZW07Zm9udC1zaXplOjEuMjIyMjJlbTtsaW5lLWhlaWdodDoxLjQ1NDU1fS5wcm9zZS1sZyA6d2hlcmUoYmxvY2txdW90ZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW19LnByb3NlLWxnIDp3aGVyZShoMSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTouODMzMzMzZW07Zm9udC1zaXplOjIuNjY2NjdlbTtsaW5lLWhlaWdodDoxfS5wcm9zZS1sZyA6d2hlcmUoaDIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjg2NjY3ZW07bWFyZ2luLWJvdHRvbToxLjA2NjY3ZW07Zm9udC1zaXplOjEuNjY2NjdlbTtsaW5lLWhlaWdodDoxLjMzMzMzfS5wcm9zZS1sZyA6d2hlcmUoaDMpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjY2NjY3ZW07bWFyZ2luLWJvdHRvbTouNjY2NjY3ZW07Zm9udC1zaXplOjEuMzMzMzNlbTtsaW5lLWhlaWdodDoxLjV9LnByb3NlLWxnIDp3aGVyZShoNCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOi40NDQ0NDRlbTtsaW5lLWhlaWdodDoxLjU1NTU2fS5wcm9zZS1sZyA6d2hlcmUoaW1nKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUocGljdHVyZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNzc3NzhlbTttYXJnaW4tYm90dG9tOjEuNzc3NzhlbX0ucHJvc2UtbGcgOndoZXJlKHBpY3R1cmVcdTAwM2VpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0ucHJvc2UtbGcgOndoZXJlKHZpZGVvKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43Nzc3OGVtO21hcmdpbi1ib3R0b206MS43Nzc3OGVtfS5wcm9zZS1sZyA6d2hlcmUoa2JkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi4yMjIyMjJlbTtwYWRkaW5nLWlubGluZS1lbmQ6LjQ0NDQ0NGVtO3BhZGRpbmctYm90dG9tOi4yMjIyMjJlbTtib3JkZXItcmFkaXVzOi4zMTI1cmVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi40NDQ0NDRlbTtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoaDIgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg2NjY2N2VtfS5wcm9zZS1sZyA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg3NWVtfS5wcm9zZS1sZyA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOjFlbTtwYWRkaW5nLWlubGluZS1lbmQ6MS41ZW07cGFkZGluZy1ib3R0b206MWVtO2JvcmRlci1yYWRpdXM6LjM3NXJlbTttYXJnaW4tdG9wOjJlbTttYXJnaW4tYm90dG9tOjJlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjVlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNzV9LnByb3NlLWxnIDp3aGVyZShvbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKHVsKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNTU1NTZlbX0ucHJvc2UtbGcgOndoZXJlKGxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjY2NjY2N2VtO21hcmdpbi1ib3R0b206LjY2NjY2N2VtfS5wcm9zZS1sZyA6d2hlcmUob2xcdTAwM2VsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKHVsXHUwMDNlbGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjQ0NDQ0NGVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNldWxcdTAwM2VsaSBwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Ljg4ODg4OWVtO21hcmdpbi1ib3R0b206Ljg4ODg4OWVtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2V1bFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoLnByb3NlLWxnXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjMzMzMzZW19LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2VvbFx1MDAzZWxpXHUwMDNlcDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi1ib3R0b206MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUodWwgdWwsdWwgb2wsb2wgdWwsb2wgb2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouODg4ODg5ZW07bWFyZ2luLWJvdHRvbTouODg4ODg5ZW19LnByb3NlLWxnIDp3aGVyZShkbCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMzMzMzNlbTttYXJnaW4tYm90dG9tOjEuMzMzMzNlbX0ucHJvc2UtbGcgOndoZXJlKGR0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtfS5wcm9zZS1sZyA6d2hlcmUoZGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDouNjY2NjY3ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6MS41NTU1NmVtfS5wcm9zZS1sZyA6d2hlcmUoaHIpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDozLjExMTExZW07bWFyZ2luLWJvdHRvbTozLjExMTExZW19LnByb3NlLWxnIDp3aGVyZShocisqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1sZyA6d2hlcmUoaDIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2UtbGcgOndoZXJlKGgzKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLWxnIDp3aGVyZShoNCsqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MH0ucHJvc2UtbGcgOndoZXJlKHRhYmxlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODg4ODg5ZW07bGluZS1oZWlnaHQ6MS41fS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGgpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOi43NWVtO3BhZGRpbmctYm90dG9tOi43NWVtO3BhZGRpbmctaW5saW5lLXN0YXJ0Oi43NWVtfS5wcm9zZS1sZyA6d2hlcmUodGhlYWQgdGg6Zmlyc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtc3RhcnQ6MH0ucHJvc2UtbGcgOndoZXJlKHRoZWFkIHRoOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZCx0Zm9vdCB0ZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLXRvcDouNzVlbTtwYWRkaW5nLWlubGluZS1lbmQ6Ljc1ZW07cGFkZGluZy1ib3R0b206Ljc1ZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6Ljc1ZW19LnByb3NlLWxnIDp3aGVyZSh0Ym9keSB0ZDpmaXJzdC1jaGlsZCx0Zm9vdCB0ZDpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtwYWRkaW5nLWlubGluZS1zdGFydDowfS5wcm9zZS1sZyA6d2hlcmUodGJvZHkgdGQ6bGFzdC1jaGlsZCx0Zm9vdCB0ZDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1sZyA6d2hlcmUoZmlndXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43Nzc3OGVtO21hcmdpbi1ib3R0b206MS43Nzc3OGVtfS5wcm9zZS1sZyA6d2hlcmUoZmlndXJlXHUwMDNlKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1sZyA6d2hlcmUoZmlnY2FwdGlvbik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjFlbTtmb250LXNpemU6Ljg4ODg4OWVtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2UtbGcgOndoZXJlKC5wcm9zZS1sZ1x1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLWxnIDp3aGVyZSgucHJvc2UtbGdcdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9LnByb3NlLXNte2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNzE0Mjl9LnByb3NlLXNtIDp3aGVyZShwKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtO21hcmdpbi1ib3R0b206MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoW2NsYXNzfj1sZWFkXSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi44ODg4ODllbTttYXJnaW4tYm90dG9tOi44ODg4ODllbTtmb250LXNpemU6MS4yODU3MWVtO2xpbmUtaGVpZ2h0OjEuNTU1NTZ9LnByb3NlLXNtIDp3aGVyZShibG9ja3F1b3RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4zMzMzM2VtO21hcmdpbi1ib3R0b206MS4zMzMzM2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuMTExMTFlbX0ucHJvc2Utc20gOndoZXJlKGgxKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOi44ZW07Zm9udC1zaXplOjIuMTQyODZlbTtsaW5lLWhlaWdodDoxLjJ9LnByb3NlLXNtIDp3aGVyZShoMik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuNmVtO21hcmdpbi1ib3R0b206LjhlbTtmb250LXNpemU6MS40Mjg1N2VtO2xpbmUtaGVpZ2h0OjEuNH0ucHJvc2Utc20gOndoZXJlKGgzKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS41NTU1NmVtO21hcmdpbi1ib3R0b206LjQ0NDQ0NGVtO2ZvbnQtc2l6ZToxLjI4NTcxZW07bGluZS1oZWlnaHQ6MS41NTU1Nn0ucHJvc2Utc20gOndoZXJlKGg0KTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS40Mjg1N2VtO21hcmdpbi1ib3R0b206LjU3MTQyOWVtO2xpbmUtaGVpZ2h0OjEuNDI4NTd9LnByb3NlLXNtIDp3aGVyZShpbWcpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShwaWN0dXJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS43MTQyOWVtO21hcmdpbi1ib3R0b206MS43MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUocGljdHVyZVx1MDAzZWltZyk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5wcm9zZS1zbSA6d2hlcmUodmlkZW8pOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShrYmQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjE0Mjg1N2VtO3BhZGRpbmctaW5saW5lLWVuZDouMzU3MTQzZW07cGFkZGluZy1ib3R0b206LjE0Mjg1N2VtO2JvcmRlci1yYWRpdXM6LjMxMjVyZW07cGFkZGluZy1pbmxpbmUtc3RhcnQ6LjM1NzE0M2VtO2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouODU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShoMiBjb2RlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe2ZvbnQtc2l6ZTouOWVtfS5wcm9zZS1zbSA6d2hlcmUoaDMgY29kZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg4ODg4OWVtfS5wcm9zZS1zbSA6d2hlcmUocHJlKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctdG9wOi42NjY2NjdlbTtwYWRkaW5nLWlubGluZS1lbmQ6MWVtO3BhZGRpbmctYm90dG9tOi42NjY2NjdlbTtib3JkZXItcmFkaXVzOi4yNXJlbTttYXJnaW4tdG9wOjEuNjY2NjdlbTttYXJnaW4tYm90dG9tOjEuNjY2NjdlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxZW07Zm9udC1zaXplOi44NTcxNDNlbTtsaW5lLWhlaWdodDoxLjY2NjY3fS5wcm9zZS1zbSA6d2hlcmUob2wpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbTttYXJnaW4tYm90dG9tOjEuMTQyODZlbTtwYWRkaW5nLWlubGluZS1zdGFydDoxLjU3MTQzZW19LnByb3NlLXNtIDp3aGVyZShsaSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi4yODU3MTRlbTttYXJnaW4tYm90dG9tOi4yODU3MTRlbX0ucHJvc2Utc20gOndoZXJlKG9sXHUwMDNlbGkpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZSh1bFx1MDAzZWxpKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0Oi40Mjg1NzFlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZXVsXHUwMDNlbGkgcCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOi41NzE0MjllbTttYXJnaW4tYm90dG9tOi41NzE0MjllbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZXVsXHUwMDNlbGlcdTAwM2VwOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtXHUwMDNldWxcdTAwM2VsaVx1MDAzZXA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZW9sXHUwMDNlbGlcdTAwM2VwOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MS4xNDI4NmVtfS5wcm9zZS1zbSA6d2hlcmUoLnByb3NlLXNtXHUwMDNlb2xcdTAwM2VsaVx1MDAzZXA6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKHVsIHVsLHVsIG9sLG9sIHVsLG9sIG9sKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjU3MTQyOWVtO21hcmdpbi1ib3R0b206LjU3MTQyOWVtfS5wcm9zZS1zbSA6d2hlcmUoZGwpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjE0Mjg2ZW07bWFyZ2luLWJvdHRvbToxLjE0Mjg2ZW19LnByb3NlLXNtIDp3aGVyZShkdCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjEuMTQyODZlbX0ucHJvc2Utc20gOndoZXJlKGRkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjI4NTcxNGVtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjEuNTcxNDNlbX0ucHJvc2Utc20gOndoZXJlKGhyKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6Mi44NTcxNGVtO21hcmdpbi1ib3R0b206Mi44NTcxNGVtfS5wcm9zZS1zbSA6d2hlcmUoaHIrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKSwucHJvc2Utc20gOndoZXJlKGgyKyopOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSksLnByb3NlLXNtIDp3aGVyZShoMysqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpLC5wcm9zZS1zbSA6d2hlcmUoaDQrKik6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSh0YWJsZSk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXtmb250LXNpemU6Ljg1NzE0M2VtO2xpbmUtaGVpZ2h0OjEuNX0ucHJvc2Utc20gOndoZXJlKHRoZWFkIHRoKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDoxZW07cGFkZGluZy1ib3R0b206LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjFlbX0ucHJvc2Utc20gOndoZXJlKHRoZWFkIHRoOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLXNtIDp3aGVyZSh0aGVhZCB0aDpsYXN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLWVuZDowfS5wcm9zZS1zbSA6d2hlcmUodGJvZHkgdGQsdGZvb3QgdGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy10b3A6LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLWVuZDoxZW07cGFkZGluZy1ib3R0b206LjY2NjY2N2VtO3BhZGRpbmctaW5saW5lLXN0YXJ0OjFlbX0ucHJvc2Utc20gOndoZXJlKHRib2R5IHRkOmZpcnN0LWNoaWxkLHRmb290IHRkOmZpcnN0LWNoaWxkKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe3BhZGRpbmctaW5saW5lLXN0YXJ0OjB9LnByb3NlLXNtIDp3aGVyZSh0Ym9keSB0ZDpsYXN0LWNoaWxkLHRmb290IHRkOmxhc3QtY2hpbGQpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7cGFkZGluZy1pbmxpbmUtZW5kOjB9LnByb3NlLXNtIDp3aGVyZShmaWd1cmUpOm5vdCg6d2hlcmUoW2NsYXNzfj1ub3QtcHJvc2VdLFtjbGFzc349bm90LXByb3NlXSAqKSl7bWFyZ2luLXRvcDoxLjcxNDI5ZW07bWFyZ2luLWJvdHRvbToxLjcxNDI5ZW19LnByb3NlLXNtIDp3aGVyZShmaWd1cmVcdTAwM2UqKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjB9LnByb3NlLXNtIDp3aGVyZShmaWdjYXB0aW9uKTpub3QoOndoZXJlKFtjbGFzc349bm90LXByb3NlXSxbY2xhc3N+PW5vdC1wcm9zZV0gKikpe21hcmdpbi10b3A6LjY2NjY2N2VtO2ZvbnQtc2l6ZTouODU3MTQzZW07bGluZS1oZWlnaHQ6MS4zMzMzM30ucHJvc2Utc20gOndoZXJlKC5wcm9zZS1zbVx1MDAzZTpmaXJzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tdG9wOjB9LnByb3NlLXNtIDp3aGVyZSgucHJvc2Utc21cdTAwM2U6bGFzdC1jaGlsZCk6bm90KDp3aGVyZShbY2xhc3N+PW5vdC1wcm9zZV0sW2NsYXNzfj1ub3QtcHJvc2VdICopKXttYXJnaW4tYm90dG9tOjB9Li1tdC0xe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSotMSl9Lm10LTBcXC41e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9Lm10LTF7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tdC0ye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ubXQtM3ttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lm10LTR7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tdC02e21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ubXQtOHttYXJnaW4tdG9wOmNhbGModmFyKC0tc3BhY2luZykqOCl9Lm10LTEwe21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lm10LTEye21hcmdpbi10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9Lm10LWF1dG97bWFyZ2luLXRvcDphdXRvfS5tci0xe21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tci0ye21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tci04e21hcmdpbi1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgpfS4tbWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqLTQpfS5tYi0xe21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoxKX0ubWItMVxcLjV7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9Lm1iLTJ7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5tYi0ze21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ubWItNHttYXJnaW4tYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqNCl9Lm1iLTZ7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5tYi04e21hcmdpbi1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ubWItMTB7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKX0ubWwtMXttYXJnaW4tbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tbC0ye21hcmdpbi1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lm1sLWF1dG97bWFyZ2luLWxlZnQ6YXV0b30ubGluZS1jbGFtcC0yey13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubm8tc2Nyb2xsYmFyey1tcy1vdmVyZmxvdy1zdHlsZTpub25lO3Njcm9sbGJhci13aWR0aDpub25lfS5uby1zY3JvbGxiYXI6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uYmxvY2t7ZGlzcGxheTpibG9ja30uZmxleHtkaXNwbGF5OmZsZXh9LmdyaWR7ZGlzcGxheTpncmlkfS5oaWRkZW57ZGlzcGxheTpub25lfS5pbmxpbmV7ZGlzcGxheTppbmxpbmV9LmlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9ja30uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0ubGlzdC1pdGVte2Rpc3BsYXk6bGlzdC1pdGVtfS50YWJsZXtkaXNwbGF5OnRhYmxlfS50YWJsZS1jYXB0aW9ue2Rpc3BsYXk6dGFibGUtY2FwdGlvbn0udGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9LnRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvd30uZmllbGQtc2l6aW5nLWNvbnRlbnR7ZmllbGQtc2l6aW5nOmNvbnRlbnR9LmFzcGVjdC1cXFsxNlxcLzlcXF17YXNwZWN0LXJhdGlvOjE2Lzl9LmFzcGVjdC1cXFs2MTBcXC8yMDhcXF17YXNwZWN0LXJhdGlvOjYxMC8yMDh9LmFzcGVjdC1zcXVhcmV7YXNwZWN0LXJhdGlvOjF9LnNpemUtM1xcLjV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnNpemUtNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5zaXplLTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0uc2l6ZS02e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9LnNpemUtN3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5zaXplLTh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc2l6ZS05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOSl9LnNpemUtMTB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTApfS5zaXplLTE0e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMTQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0uc2l6ZS1mdWxse3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmgtMntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uaC0yXFwuNXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5oLTN7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9LmgtM1xcLjV7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMy41KX0uaC00e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5oLTV7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNSl9LmgtNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uaC03e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS5oLTh7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqOCl9LmgtOFxcIXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KSFpbXBvcnRhbnR9LmgtOXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0uaC0xMHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmgtMTJ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTIpfS5oLTE0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjE0KX0uaC0xNntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LmgtMjB7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMjApfS5oLTI0e2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjI0KX0uaC00MHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0MCl9LmgtNjR7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNjQpfS5oLTgwe2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjgwKX0uaC1cXFs4MHB4XFxde2hlaWdodDo4MHB4fS5oLVxcWzMwMHB4XFxde2hlaWdodDozMDBweH0uaC1cXFszNjBweFxcXXtoZWlnaHQ6MzYwcHh9LmgtXFxbNDQwcHhcXF17aGVpZ2h0OjQ0MHB4fS5oLVxcW2NhbGNcXCgxMDBcXCUtMXB4XFwpXFxde2hlaWdodDpjYWxjKDEwMCUgLSAxcHgpfS5oLWF1dG97aGVpZ2h0OmF1dG99LmgtZnVsbHtoZWlnaHQ6MTAwJX0uaC1weHtoZWlnaHQ6MXB4fS5oLXNjcmVlbntoZWlnaHQ6MTAwdmh9Lm1heC1oLVxcKC0tYXZhaWxhYmxlLWhlaWdodFxcKXttYXgtaGVpZ2h0OnZhcigtLWF2YWlsYWJsZS1oZWlnaHQpfS5tYXgtaC02NHttYXgtaGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNjQpfS5tYXgtaC03MnttYXgtaGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNzIpfS5taW4taC0xNnttaW4taGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMTYpfS5taW4taC1cXFs2MHZoXFxde21pbi1oZWlnaHQ6NjB2aH0ubWluLWgtc2NyZWVue21pbi1oZWlnaHQ6MTAwdmh9LnctXFwoLS1hbmNob3Itd2lkdGhcXCl7d2lkdGg6dmFyKC0tYW5jaG9yLXdpZHRoKX0udy0xe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnctMnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS53LTN7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0udy0zXFwuNXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnctNHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS53LTV7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0udy02e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNil9LnctN3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcpfS53LTh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0udy05e3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqOSl9LnctMTB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnctMTJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnctMTR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNCl9LnctMTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LnctMjB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyMCl9LnctMjR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LnctMjh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyOCl9LnctMzJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9LnctNDB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0MCl9LnctNDR7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0NCl9LnctNDh7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0OCl9LnctNTJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1Mil9LnctNTZ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1Nil9LnctNzJ7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3Mil9LnctXFxbMTIwcHhcXF17d2lkdGg6MTIwcHh9LnctXFxbMTQwcHhcXF17d2lkdGg6MTQwcHh9LnctXFxbY2FsY1xcKFxcKDEwMFxcJS0ycmVtXFwpXFwvM1xcKVxcXXt3aWR0aDpjYWxjKDMzLjMzMzMlIC0gLjY2NjY2N3JlbSl9LnctYXV0b3t3aWR0aDphdXRvfS53LWZpdHt3aWR0aDpmaXQtY29udGVudH0udy1mdWxse3dpZHRoOjEwMCV9LnctcHh7d2lkdGg6MXB4fS5tYXgtdy0we21heC13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5tYXgtdy0yeGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci0yeGwpfS5tYXgtdy0zeGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci0zeGwpfS5tYXgtdy00eGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci00eGwpfS5tYXgtdy03eGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci03eGwpfS5tYXgtdy00OHttYXgtd2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0OCl9Lm1heC13LVxcWzIwMHB4XFxde21heC13aWR0aDoyMDBweH0ubWF4LXctXFxbY2FsY1xcKDEwMFxcJS0ycmVtXFwpXFxde21heC13aWR0aDpjYWxjKDEwMCUgLSAycmVtKX0ubWF4LXctXFxbY2FsY1xcKDEwMHZ3LTJyZW1cXClcXF17bWF4LXdpZHRoOmNhbGMoMTAwdncgLSAycmVtKX0ubWF4LXctbGd7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1sZyl9Lm1heC13LW1ke21heC13aWR0aDp2YXIoLS1jb250YWluZXItbWQpfS5tYXgtdy1ub25le21heC13aWR0aDpub25lfS5tYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0ubWF4LXcteGx7bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci14bCl9Lm1heC13LXhze21heC13aWR0aDp2YXIoLS1jb250YWluZXIteHMpfS5taW4tdy0we21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5taW4tdy0zMnttaW4td2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozMil9Lm1pbi13LTY0e21pbi13aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjY0KX0ubWluLXctXFxbMnJlbVxcXXttaW4td2lkdGg6MnJlbX0ubWluLXctXFxbOTZweFxcXXttaW4td2lkdGg6OTZweH0ubWluLXctXFxbMTUwcHhcXF17bWluLXdpZHRoOjE1MHB4fS5mbGV4LTF7ZmxleDoxfS5zaHJpbmstMHtmbGV4LXNocmluazowfS50YWJsZS1maXhlZHt0YWJsZS1sYXlvdXQ6Zml4ZWR9LmNhcHRpb24tYm90dG9te2NhcHRpb24tc2lkZTpib3R0b219Lm9yaWdpbi1cXCgtLXRyYW5zZm9ybS1vcmlnaW5cXCl7dHJhbnNmb3JtLW9yaWdpbjp2YXIoLS10cmFuc2Zvcm0tb3JpZ2luKX0uLXRyYW5zbGF0ZS14LTFcXC8yey0tdHctdHJhbnNsYXRlLXg6Y2FsYyhjYWxjKDEvMioxMDAlKSotMSk7dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0udHJhbnNsYXRlLXgtXFxbM3B4XFxdey0tdHctdHJhbnNsYXRlLXg6M3B4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnRyYW5zbGF0ZS14LVxcWzE4cHhcXF17LS10dy10cmFuc2xhdGUteDoxOHB4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9Li10cmFuc2xhdGUteS0xXFwvMnstLXR3LXRyYW5zbGF0ZS15OmNhbGMoY2FsYygxLzIqMTAwJSkqLTEpO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnRyYW5zbGF0ZS15LTB7LS10dy10cmFuc2xhdGUteTpjYWxjKHZhcigtLXNwYWNpbmcpKjApO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LnJvdGF0ZS0xODB7cm90YXRlOjE4MGRlZ30udHJhbnNmb3Jte3RyYW5zZm9ybTp2YXIoLS10dy1yb3RhdGUteCwpdmFyKC0tdHctcm90YXRlLXksKXZhcigtLXR3LXJvdGF0ZS16LCl2YXIoLS10dy1za2V3LXgsKXZhcigtLXR3LXNrZXcteSwpfS50cmFuc2Zvcm0tZ3B1e3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApdmFyKC0tdHctcm90YXRlLXgsKXZhcigtLXR3LXJvdGF0ZS15LCl2YXIoLS10dy1yb3RhdGUteiwpdmFyKC0tdHctc2tldy14LCl2YXIoLS10dy1za2V3LXksKX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246dmFyKC0tYW5pbWF0ZS1wdWxzZSl9LmFuaW1hdGUtc3BpbnthbmltYXRpb246dmFyKC0tYW5pbWF0ZS1zcGluKX0uY3Vyc29yLWNyb3NzaGFpcntjdXJzb3I6Y3Jvc3NoYWlyfS5jdXJzb3ItZGVmYXVsdHtjdXJzb3I6ZGVmYXVsdH0uY3Vyc29yLW5vdC1hbGxvd2Vke2N1cnNvcjpub3QtYWxsb3dlZH0uY3Vyc29yLXBvaW50ZXJ7Y3Vyc29yOnBvaW50ZXJ9LmN1cnNvci10ZXh0e2N1cnNvcjp0ZXh0fS5yZXNpemV7cmVzaXplOmJvdGh9LnJlc2l6ZS1ub25le3Jlc2l6ZTpub25lfS5zY3JvbGwtcHktMXtzY3JvbGwtcGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5saXN0LWRpc2N7bGlzdC1zdHlsZS10eXBlOmRpc2N9Lmxpc3Qtbm9uZXtsaXN0LXN0eWxlLXR5cGU6bm9uZX0uYXV0by1jb2xzLWZye2dyaWQtYXV0by1jb2x1bW5zOm1pbm1heCgwLDFmcil9LmdyaWQtZmxvdy1jb2x7Z3JpZC1hdXRvLWZsb3c6Y29sdW1ufS5hdXRvLXJvd3MtbWlue2dyaWQtYXV0by1yb3dzOm1pbi1jb250ZW50fS5ncmlkLWNvbHMtMXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDEsbWlubWF4KDAsMWZyKSl9LmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uZmxleC1jb2x7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mbGV4LWNvbC1yZXZlcnNle2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtd3JhcHtmbGV4LXdyYXA6d3JhcH0uY29udGVudC1zdGFydHthbGlnbi1jb250ZW50OmZsZXgtc3RhcnR9Lml0ZW1zLWJhc2VsaW5le2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1lbmR7YWxpZ24taXRlbXM6ZmxleC1lbmR9Lml0ZW1zLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnR9Lml0ZW1zLXN0cmV0Y2h7YWxpZ24taXRlbXM6c3RyZXRjaH0uanVzdGlmeS1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0uanVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWVuZHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9Lmp1c3RpZnktc3RhcnR7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmdhcC0wXFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5nYXAtMVxcLjV7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uZ2FwLTJ7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqMil9LmdhcC0yXFwuNXtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5nYXAtM3tnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ2FwLTR7Z2FwOmNhbGModmFyKC0tc3BhY2luZykqNCl9LmdhcC02e2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5nYXAtOHtnYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uZ2FwLVxcWzJweFxcXXtnYXA6MnB4fTp3aGVyZSguc3BhY2UteS0wXFwuNVx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqLjUpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKi41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTFcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktMVxcLjVcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMS41KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTJcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjIpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjIpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktM1x1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMykqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMykqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpfTp3aGVyZSguc3BhY2UteS00XHUwMDNlOm5vdCg6bGFzdC1jaGlsZCkpey0tdHctc3BhY2UteS1yZXZlcnNlOjA7bWFyZ2luLWJsb2NrLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSp2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTttYXJnaW4tYmxvY2stZW5kOmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSo0KSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9OndoZXJlKC5zcGFjZS15LTZcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tYmxvY2stc3RhcnQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjYpKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjYpKmNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKX06d2hlcmUoLnNwYWNlLXktOFx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqOCkqdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7bWFyZ2luLWJsb2NrLWVuZDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqOCkqY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpfTp3aGVyZSguc3BhY2UteS0xMFx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXstLXR3LXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi1ibG9jay1zdGFydDpjYWxjKGNhbGModmFyKC0tc3BhY2luZykqMTApKnZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO21hcmdpbi1ibG9jay1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKjEwKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSl9LmdhcC14LTR7Y29sdW1uLWdhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5nYXAteC04e2NvbHVtbi1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX06d2hlcmUoLi1zcGFjZS14LTJcdTAwM2U6bm90KDpsYXN0LWNoaWxkKSl7LS10dy1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4taW5saW5lLXN0YXJ0OmNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSotMikqdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSk7bWFyZ2luLWlubGluZS1lbmQ6Y2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpKi0yKSpjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSl9LmdhcC15LTFcXC41e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5nYXAteS01e3Jvdy1nYXA6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX06d2hlcmUoLmRpdmlkZS15XHUwMDNlOm5vdCg6bGFzdC1jaGlsZCkpey0tdHctZGl2aWRlLXktcmV2ZXJzZTowO2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDpjYWxjKDFweCp2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSk7Ym9yZGVyLWJvdHRvbS13aWR0aDpjYWxjKDFweCpjYWxjKDEgLSB2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSkpfTp3aGVyZSguZGl2aWRlLWJvcmRlclx1MDAzZTpub3QoOmxhc3QtY2hpbGQpKXtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKX0uc2VsZi1zdGFydHthbGlnbi1zZWxmOmZsZXgtc3RhcnR9Lmp1c3RpZnktc2VsZi1lbmR7anVzdGlmeS1zZWxmOmZsZXgtZW5kfS50cnVuY2F0ZXt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctaGlkZGVue292ZXJmbG93OmhpZGRlbn0ub3ZlcmZsb3cteC1hdXRve292ZXJmbG93LXg6YXV0b30ub3ZlcmZsb3cteC1oaWRkZW57b3ZlcmZsb3cteDpoaWRkZW59Lm92ZXJmbG93LXgtc2Nyb2xse292ZXJmbG93LXg6c2Nyb2xsfS5vdmVyZmxvdy15LWF1dG97b3ZlcmZsb3cteTphdXRvfS5yb3VuZGVke2JvcmRlci1yYWRpdXM6LjI1cmVtfS5yb3VuZGVkLTJ4bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjgpfS5yb3VuZGVkLTR4bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoyLjYpfS5yb3VuZGVkLVxcW2NhbGNcXCh2YXJcXCgtLXJhZGl1c1xcKS0zcHhcXClcXF17Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykgLSAzcHgpfS5yb3VuZGVkLVxcW21pblxcKHZhclxcKC0tcmFkaXVzLW1kXFwpXFwsMTBweFxcKVxcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEwcHgpfS5yb3VuZGVkLVxcW21pblxcKHZhclxcKC0tcmFkaXVzLW1kXFwpXFwsMTJweFxcKVxcXXtib3JkZXItcmFkaXVzOm1pbih2YXIoLS1yYWRpdXMtbWQpLDEycHgpfS5yb3VuZGVkLWZ1bGx7Ym9yZGVyLXJhZGl1czozLjQwMjgyZTM4cHh9LnJvdW5kZWQtbGd7Ym9yZGVyLXJhZGl1czp2YXIoLS1yYWRpdXMpfS5yb3VuZGVkLWxnXFwhe2JvcmRlci1yYWRpdXM6dmFyKC0tcmFkaXVzKSFpbXBvcnRhbnR9LnJvdW5kZWQtbWR7Ym9yZGVyLXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqLjgpfS5yb3VuZGVkLW5vbmV7Ym9yZGVyLXJhZGl1czowfS5yb3VuZGVkLXNte2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKi42KX0ucm91bmRlZC14bHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfS5yb3VuZGVkLXhsXFwhe2JvcmRlci1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCkhaW1wb3J0YW50fS5yb3VuZGVkLXQtMnhse2JvcmRlci10b3AtbGVmdC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCk7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuOCl9LnJvdW5kZWQtdC14bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfS5yb3VuZGVkLWIteGx7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6Y2FsYyh2YXIoLS1yYWRpdXMpKjEuNCk7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KX0uYm9yZGVye2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmJvcmRlci0we2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDowfS5ib3JkZXItMntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MnB4fS5ib3JkZXItdHtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmJvcmRlci1ye2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmJvcmRlci1ie2JvcmRlci1ib3R0b20tc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItYm90dG9tLXdpZHRoOjFweH0uYm9yZGVyLWItMntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHh9LmJvcmRlci1kYXNoZWR7LS10dy1ib3JkZXItc3R5bGU6ZGFzaGVkO2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ib3JkZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlcil9LmJvcmRlci1kYW5nZXJcXC8zMHtib3JkZXItY29sb3I6dmFyKC0tZGFuZ2VyKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kYW5nZXJcXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRhbmdlcikzMCUsdHJhbnNwYXJlbnQpfX0uYm9yZGVyLWRlc3RydWN0aXZlXFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1kZXN0cnVjdGl2ZVxcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1pbnB1dCwuYm9yZGVyLWlucHV0XFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJvcmRlci1pbnB1dFxcLzMwe2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1wcmltYXJ5e2JvcmRlci1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uYm9yZGVyLXJlZC01MDBcXC80MHtib3JkZXItY29sb3I6I2ZiMmMzNjY2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXJlZC01MDBcXC80MHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXJlZC01MDApNDAlLHRyYW5zcGFyZW50KX19LmJvcmRlci1zdWNjZXNzXFwvMzB7Ym9yZGVyLWNvbG9yOnZhcigtLXN1Y2Nlc3MpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYm9yZGVyLXN1Y2Nlc3NcXC8zMHtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXN1Y2Nlc3MpMzAlLHRyYW5zcGFyZW50KX19LmJvcmRlci10cmFuc3BhcmVudHtib3JkZXItY29sb3I6IzAwMDB9LmJnLVxcW1xcIzIyOUVEOVxcXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjllZDl9LmJnLWJhY2tncm91bmQsLmJnLWJhY2tncm91bmRcXC84MHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctYmFja2dyb3VuZFxcLzgwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWJhY2tncm91bmQpODAlLHRyYW5zcGFyZW50KX19LmJnLWJsYWNrXFwvMTB7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwMWF9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1ibGFja1xcLzEwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLWJsYWNrKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1ibGFja1xcLzUwe2JhY2tncm91bmQtY29sb3I6IzAwMDAwMDgwfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctYmxhY2tcXC81MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci1ibGFjayk1MCUsdHJhbnNwYXJlbnQpfX0uYmctYm9yZGVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYm9yZGVyKX0uYmctY2FyZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNhcmQpfS5iZy1kYW5nZXIsLmJnLWRhbmdlclxcLzV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kYW5nZXIpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctZGFuZ2VyXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kYW5nZXIpNSUsdHJhbnNwYXJlbnQpfX0uYmctZGVzdHJ1Y3RpdmUsLmJnLWRlc3RydWN0aXZlXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWRlc3RydWN0aXZlXFwvNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk1JSx0cmFuc3BhcmVudCl9fS5iZy1kZXN0cnVjdGl2ZVxcLzEwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctZGVzdHJ1Y3RpdmVcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uYmctaW5wdXRcXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLWlucHV0XFwvMzB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0taW5wdXQpMzAlLHRyYW5zcGFyZW50KX19LmJnLW11dGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5iZy1tdXRlZC1mb3JlZ3JvdW5kXFwvMjV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkLWZvcmVncm91bmRcXC8yNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTI1JSx0cmFuc3BhcmVudCl9fS5iZy1tdXRlZFxcLzMwe2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctbXV0ZWRcXC8zMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCkzMCUsdHJhbnNwYXJlbnQpfX0uYmctbXV0ZWRcXC80MHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLW11dGVkXFwvNDB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNDAlLHRyYW5zcGFyZW50KX19LmJnLW11dGVkXFwvNTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5iZy1tdXRlZFxcLzUwe2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTUwJSx0cmFuc3BhcmVudCl9fS5iZy1wb3BvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tcG9wb3Zlcil9LmJnLXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX0uYmctcHJpbWFyeS1mb3JlZ3JvdW5kXFwvMjB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctcHJpbWFyeS1mb3JlZ3JvdW5kXFwvMjB7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeS1mb3JlZ3JvdW5kKTIwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvNXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYmctcHJpbWFyeVxcLzV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk1JSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTEwJSx0cmFuc3BhcmVudCl9fS5iZy1wcmltYXJ5XFwvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXByaW1hcnlcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zZWNvbmRhcnl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5iZy1zdWNjZXNzLC5iZy1zdWNjZXNzXFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdWNjZXNzKTEwJSx0cmFuc3BhcmVudCl9fS5iZy1zdWNjZXNzXFwvMTV7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdWNjZXNzKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1Y2Nlc3NcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdWNjZXNzKTE1JSx0cmFuc3BhcmVudCl9fS5iZy1zdXJmYWNlLC5iZy1zdXJmYWNlXFwvOTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zdXJmYWNlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXN1cmZhY2VcXC85MHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zdXJmYWNlKTkwJSx0cmFuc3BhcmVudCl9fS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13YXJuaW5nXFwvMTB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS13YXJuaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdhcm5pbmdcXC8xMHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS13YXJuaW5nKTEwJSx0cmFuc3BhcmVudCl9fS5iZy13aGl0ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uYmctd2hpdGVcXC8xNXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYyNn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmJnLXdoaXRlXFwvMTV7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpMTUlLHRyYW5zcGFyZW50KX19LmJnLWdyYWRpZW50LXRvLWJyey0tdHctZ3JhZGllbnQtcG9zaXRpb246dG8gYm90dG9tIHJpZ2h0IGluIG9rbGFiO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSl9LmZyb20tXFxbXFwjMzhBRkUzXFxdey0tdHctZ3JhZGllbnQtZnJvbTojMzhhZmUzOy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LmZyb20tXFxbXFwjMjI5RUQ5XFxdey0tdHctZ3JhZGllbnQtZnJvbTojMjI5ZWQ5Oy0tdHctZ3JhZGllbnQtc3RvcHM6dmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC1mcm9tKXZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LXRvKXZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSl9LnRvLVxcW1xcIzFGOTdDQVxcXXstLXR3LWdyYWRpZW50LXRvOiMxZjk3Y2E7LS10dy1ncmFkaWVudC1zdG9wczp2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLHZhcigtLXR3LWdyYWRpZW50LWZyb20pdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtdG8pdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKX0udG8tXFxbXFwjMWE3ZmIwXFxdey0tdHctZ3JhZGllbnQtdG86IzFhN2ZiMDstLXR3LWdyYWRpZW50LXN0b3BzOnZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcyx2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksdmFyKC0tdHctZ3JhZGllbnQtZnJvbSl2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSx2YXIoLS10dy1ncmFkaWVudC10byl2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbikpfS5iZy1jbGlwLXBhZGRpbmd7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94fS5vYmplY3QtY292ZXJ7b2JqZWN0LWZpdDpjb3Zlcn0ucC0we3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ucC0wXFwuNXtwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5wLTF7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5wLTJ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5wLTN7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5wLTR7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5wLTV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5wLTZ7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wLTEye3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnAtXFxbM3B4XFxde3BhZGRpbmc6M3B4fS5weC0xe3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnB4LTFcXC41e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHgtMntwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5weC0yXFwuNXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjIuNSl9LnB4LTN7cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHgtNHtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weC01e3BhZGRpbmctaW5saW5lOmNhbGModmFyKC0tc3BhY2luZykqNSl9LnB5LTBcXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSouNSl9LnB5LTF7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5weS0xXFwuNXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucHktMntwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMil9LnB5LTJcXC41e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5weS0ze3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0ucHktM1xcLjV7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LnB5LTR7cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5weS02e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHktOHtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqOCl9LnB5LTEwe3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LnB5LTEye3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMil9LnB5LTE2e3BhZGRpbmctYmxvY2s6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxNil9LnB0LTJ7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucHQtM3twYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5wdC00e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqNCl9LnB0LTZ7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0ucHItMntwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9LnByLTR7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5wci04e3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucHItMTJ7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjEyKX0ucGItMHtwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5wYi0xe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMSl9LnBiLTJ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucGItNntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5wYi04e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqOCl9LnBiLTEwe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMTApfS5wYi0xNntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjE2KX0ucGwtMVxcLjV7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0ucGwtMntwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0ucGwtNXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo1KX0ucGwtOHtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0ucGwtOXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo5KX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uYWxpZ24tbWlkZGxle3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9udC1tb25ve2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtaW50ZXIpLFwiSW50ZXJcIix1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSwtYXBwbGUtc3lzdGVtLHNhbnMtc2VyaWZ9LnRleHQtMnhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTJ4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTJ4bC0tbGluZS1oZWlnaHQpKX0udGV4dC0zeGx7Zm9udC1zaXplOnZhcigtLXRleHQtM3hsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtM3hsLS1saW5lLWhlaWdodCkpfS50ZXh0LTR4bHtmb250LXNpemU6dmFyKC0tdGV4dC00eGwpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC00eGwtLWxpbmUtaGVpZ2h0KSl9LnRleHQtNnhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LTZ4bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LTZ4bC0tbGluZS1oZWlnaHQpKX0udGV4dC1iYXNle2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LWJhc2UpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1iYXNlLS1saW5lLWhlaWdodCkpfS50ZXh0LWxne2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LWxnKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtbGctLWxpbmUtaGVpZ2h0KSl9LnRleHQtc217Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0udGV4dC14bHtmb250LXNpemU6dmFyKC0tdGV4dC14bCk7bGluZS1oZWlnaHQ6dmFyKC0tdHctbGVhZGluZyx2YXIoLS10ZXh0LXhsLS1saW5lLWhlaWdodCkpfS50ZXh0LXhze2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhzKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteHMtLWxpbmUtaGVpZ2h0KSl9LnRleHQtXFxbMFxcLjhyZW1cXF17Zm9udC1zaXplOi44cmVtfS50ZXh0LVxcWzEwcHhcXF17Zm9udC1zaXplOjEwcHh9LnRleHQtXFxbMTFweFxcXXtmb250LXNpemU6MTFweH0ubGVhZGluZy1ub25ley0tdHctbGVhZGluZzoxO2xpbmUtaGVpZ2h0OjF9LmxlYWRpbmctcmVsYXhlZHstLXR3LWxlYWRpbmc6dmFyKC0tbGVhZGluZy1yZWxheGVkKTtsaW5lLWhlaWdodDp2YXIoLS1sZWFkaW5nLXJlbGF4ZWQpfS5sZWFkaW5nLXNudWd7LS10dy1sZWFkaW5nOnZhcigtLWxlYWRpbmctc251Zyk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy1zbnVnKX0ubGVhZGluZy10aWdodHstLXR3LWxlYWRpbmc6dmFyKC0tbGVhZGluZy10aWdodCk7bGluZS1oZWlnaHQ6dmFyKC0tbGVhZGluZy10aWdodCl9LmZvbnQtYm9sZHstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpfS5mb250LW1lZGl1bXstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZm9udC1ub3JtYWx7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCl9LmZvbnQtc2VtaWJvbGR7LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpfS50cmFja2luZy10aWdodHstLXR3LXRyYWNraW5nOnZhcigtLXRyYWNraW5nLXRpZ2h0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy10aWdodCl9LnRyYWNraW5nLXdpZGV7LS10dy10cmFja2luZzp2YXIoLS10cmFja2luZy13aWRlKTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlKX0udHJhY2tpbmctd2lkZXN0ey0tdHctdHJhY2tpbmc6dmFyKC0tdHJhY2tpbmctd2lkZXN0KTtsZXR0ZXItc3BhY2luZzp2YXIoLS10cmFja2luZy13aWRlc3QpfS5icmVhay1hbGx7d29yZC1icmVhazpicmVhay1hbGx9LndoaXRlc3BhY2Utbm9ybWFse3doaXRlLXNwYWNlOm5vcm1hbH0ud2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS53aGl0ZXNwYWNlLXByZS1saW5le3doaXRlLXNwYWNlOnByZS1saW5lfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS50ZXh0LVxcW1xcIzIyQzU1RVxcXXtjb2xvcjojMjJjNTVlfS50ZXh0LVxcW1xcIzIyOUVEOVxcXXtjb2xvcjojMjI5ZWQ5fS50ZXh0LVxcW1xcIzE4NzlBOFxcXXtjb2xvcjojMTg3OWE4fS50ZXh0LVxcW1xcI0VGNDQ0NFxcXXtjb2xvcjojZWY0NDQ0fS50ZXh0LWNhcmQtZm9yZWdyb3VuZHtjb2xvcjp2YXIoLS1jYXJkLWZvcmVncm91bmQpfS50ZXh0LWRhbmdlcntjb2xvcjp2YXIoLS1kYW5nZXIpfS50ZXh0LWRlc3RydWN0aXZle2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX0udGV4dC1mb3JlZ3JvdW5kLC50ZXh0LWZvcmVncm91bmRcXC82MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFxcLzYwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTYwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWZvcmVncm91bmRcXC84MHtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtZm9yZWdyb3VuZFxcLzgwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1mb3JlZ3JvdW5kKTgwJSx0cmFuc3BhcmVudCl9fS50ZXh0LWdyZWVuLTYwMHtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi02MDApfS50ZXh0LW11dGVkLWZvcmVncm91bmQsLnRleHQtbXV0ZWQtZm9yZWdyb3VuZFxcLzYwe2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC1tdXRlZC1mb3JlZ3JvdW5kXFwvNjB7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkLWZvcmVncm91bmQpNjAlLHRyYW5zcGFyZW50KX19LnRleHQtb3JhbmdlLTUwMHtjb2xvcjp2YXIoLS1jb2xvci1vcmFuZ2UtNTAwKX0udGV4dC1wb3BvdmVyLWZvcmVncm91bmR7Y29sb3I6dmFyKC0tcG9wb3Zlci1mb3JlZ3JvdW5kKX0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLXByaW1hcnkpfS50ZXh0LXByaW1hcnktZm9yZWdyb3VuZHtjb2xvcjp2YXIoLS1wcmltYXJ5LWZvcmVncm91bmQpfS50ZXh0LXJlZC01MDB7Y29sb3I6dmFyKC0tY29sb3ItcmVkLTUwMCl9LnRleHQtc2Vjb25kYXJ5LWZvcmVncm91bmR7Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS50ZXh0LXN1Y2Nlc3N7Y29sb3I6dmFyKC0tc3VjY2Vzcyl9LnRleHQtd2FybmluZ3tjb2xvcjp2YXIoLS13YXJuaW5nKX0udGV4dC13aGl0ZXtjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSl9LnRleHQtd2hpdGVcXC84NXtjb2xvcjojZmZmZmZmZDl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey50ZXh0LXdoaXRlXFwvODV7Y29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWNvbG9yLXdoaXRlKTg1JSx0cmFuc3BhcmVudCl9fS50ZXh0LXdoaXRlXFwvOTB7Y29sb3I6I2ZmZmZmZmU2fUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsudGV4dC13aGl0ZVxcLzkwe2NvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1jb2xvci13aGl0ZSk5MCUsdHJhbnNwYXJlbnQpfX0udGV4dC13aGl0ZVxcLzk1e2NvbG9yOiNmZmZmZmZmMn1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnRleHQtd2hpdGVcXC85NXtjb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tY29sb3Itd2hpdGUpOTUlLHRyYW5zcGFyZW50KX19LmNhcGl0YWxpemV7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX0udXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uaXRhbGlje2ZvbnQtc3R5bGU6aXRhbGljfS50YWJ1bGFyLW51bXN7LS10dy1udW1lcmljLXNwYWNpbmc6dGFidWxhci1udW1zO2ZvbnQtdmFyaWFudC1udW1lcmljOnZhcigtLXR3LW9yZGluYWwsKXZhcigtLXR3LXNsYXNoZWQtemVybywpdmFyKC0tdHctbnVtZXJpYy1maWd1cmUsKXZhcigtLXR3LW51bWVyaWMtc3BhY2luZywpdmFyKC0tdHctbnVtZXJpYy1mcmFjdGlvbiwpfS51bmRlcmxpbmV7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS51bmRlcmxpbmUtb2Zmc2V0LTJ7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjJweH0udW5kZXJsaW5lLW9mZnNldC00e3RleHQtdW5kZXJsaW5lLW9mZnNldDo0cHh9LmFudGlhbGlhc2Vkey13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5vcGFjaXR5LTB7b3BhY2l0eTowfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNDB7b3BhY2l0eTouNH0ub3BhY2l0eS01MHtvcGFjaXR5Oi41fS5vcGFjaXR5LTcwe29wYWNpdHk6Ljd9LmJnLWJsZW5kLWNvbG9ye2JhY2tncm91bmQtYmxlbmQtbW9kZTpjb2xvcn0uc2hhZG93ey0tdHctc2hhZG93OjAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uc2hhZG93LWxney0tdHctc2hhZG93OjAgMTBweCAxNXB4IC0zcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCA0cHggNnB4IC00cHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbWR7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbm9uZXstLXR3LXNoYWRvdzowIDAgIzAwMDA7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5zaGFkb3ctbm9uZVxcIXstLXR3LXNoYWRvdzowIDAgIzAwMDAhaW1wb3J0YW50O2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KSFpbXBvcnRhbnR9LnNoYWRvdy1zbXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnNoYWRvdy14c3stLXR3LXNoYWRvdzowIDFweCAycHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMHstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctMnstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LnJpbmctYmFja2dyb3VuZHstLXR3LXJpbmctY29sb3I6dmFyKC0tYmFja2dyb3VuZCl9LnJpbmctZm9yZWdyb3VuZFxcLzEwey0tdHctcmluZy1jb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LnJpbmctZm9yZWdyb3VuZFxcLzEwey0tdHctcmluZy1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZm9yZWdyb3VuZCkxMCUsdHJhbnNwYXJlbnQpfX0ucmluZy1wcmltYXJ5XFwvMzB7LS10dy1yaW5nLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsucmluZy1wcmltYXJ5XFwvMzB7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTMwJSx0cmFuc3BhcmVudCl9fS5vdXRsaW5lLWhpZGRlbnstLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9QG1lZGlhIChmb3JjZWQtY29sb3JzOmFjdGl2ZSl7Lm91dGxpbmUtaGlkZGVue291dGxpbmUtb2Zmc2V0OjJweDtvdXRsaW5lOjJweCBzb2xpZCAjMDAwMH19Lm91dGxpbmV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjFweH0uZmlsdGVye2ZpbHRlcjp2YXIoLS10dy1ibHVyLCl2YXIoLS10dy1icmlnaHRuZXNzLCl2YXIoLS10dy1jb250cmFzdCwpdmFyKC0tdHctZ3JheXNjYWxlLCl2YXIoLS10dy1odWUtcm90YXRlLCl2YXIoLS10dy1pbnZlcnQsKXZhcigtLXR3LXNhdHVyYXRlLCl2YXIoLS10dy1zZXBpYSwpdmFyKC0tdHctZHJvcC1zaGFkb3csKX0uYmFja2Ryb3AtYmx1ci1zbXstLXR3LWJhY2tkcm9wLWJsdXI6Ymx1cih2YXIoLS1ibHVyLXNtKSk7LXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKTtiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHctYmFja2Ryb3AtYmx1ciwpdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpdmFyKC0tdHctYmFja2Ryb3AtY29udHJhc3QsKXZhcigtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZSwpdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpdmFyKC0tdHctYmFja2Ryb3AtaW52ZXJ0LCl2YXIoLS10dy1iYWNrZHJvcC1vcGFjaXR5LCl2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpdmFyKC0tdHctYmFja2Ryb3Atc2VwaWEsKX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLG91dGxpbmUtY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlLC0tdHctZ3JhZGllbnQtZnJvbSwtLXR3LWdyYWRpZW50LXZpYSwtLXR3LWdyYWRpZW50LXRvLG9wYWNpdHksYm94LXNoYWRvdyx0cmFuc2Zvcm0sdHJhbnNsYXRlLHNjYWxlLHJvdGF0ZSxmaWx0ZXIsLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIsYmFja2Ryb3AtZmlsdGVyLGRpc3BsYXksY29udGVudC12aXNpYmlsaXR5LG92ZXJsYXkscG9pbnRlci1ldmVudHM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1hbGx7dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGw7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246dmFyKC0tdHctZWFzZSx2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7dHJhbnNpdGlvbi1kdXJhdGlvbjp2YXIoLS10dy1kdXJhdGlvbix2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKX0udHJhbnNpdGlvbi1jb2xvcnN7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixvdXRsaW5lLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSwtLXR3LWdyYWRpZW50LWZyb20sLS10dy1ncmFkaWVudC12aWEsLS10dy1ncmFkaWVudC10bzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLW9wYWNpdHl7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LnRyYW5zaXRpb24tc2hhZG93e3RyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSx0cmFuc2xhdGUsc2NhbGUscm90YXRlO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOnZhcigtLXR3LWVhc2UsdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO3RyYW5zaXRpb24tZHVyYXRpb246dmFyKC0tdHctZHVyYXRpb24sdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSl9LmR1cmF0aW9uLTEwMHstLXR3LWR1cmF0aW9uOi4xczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xc30uZHVyYXRpb24tMTUwey0tdHctZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXN9LmR1cmF0aW9uLTIwMHstLXR3LWR1cmF0aW9uOi4yczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4yc30uZWFzZS1pbi1vdXR7LS10dy1lYXNlOnZhcigtLWVhc2UtaW4tb3V0KTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS1lYXNlLWluLW91dCl9LlxcW3dpbGwtY2hhbmdlXFw6dHJhbnNmb3JtXFxde3dpbGwtY2hhbmdlOnRyYW5zZm9ybX0ub3V0bGluZS1ub25ley0tdHctb3V0bGluZS1zdHlsZTpub25lO291dGxpbmUtc3R5bGU6bm9uZX0uc2VsZWN0LW5vbmV7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LnBhdXNlZHthbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWR9LnJ1bm5pbmd7YW5pbWF0aW9uLXBsYXktc3RhdGU6cnVubmluZ30uZ3JvdXAtb3BlblxcOnJvdGF0ZS0xODA6aXMoOndoZXJlKC5ncm91cCk6aXMoW29wZW5dLDpwb3BvdmVyLW9wZW4sOm9wZW4pICope3JvdGF0ZToxODBkZWd9QG1lZGlhIChob3Zlcjpob3Zlcil7Lmdyb3VwLWhvdmVyXFw6dHJhbnNsYXRlLXgtMFxcLjU6aXMoOndoZXJlKC5ncm91cCk6aG92ZXIgKil7LS10dy10cmFuc2xhdGUteDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5ncm91cC1ob3ZlclxcOmJnLW11dGVkOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5ncm91cC1ob3ZlclxcOnRleHQtcHJpbWFyeTppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtjb2xvcjp2YXIoLS1wcmltYXJ5KX0uZ3JvdXAtaG92ZXJcXDp0ZXh0LXdoaXRlOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICope2NvbG9yOnZhcigtLWNvbG9yLXdoaXRlKX0uZ3JvdXAtaG92ZXJcXDpvcGFjaXR5LTEwMDppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKXtvcGFjaXR5OjF9Lmdyb3VwLWhvdmVyXFw6c2hhZG93LW1kOmlzKDp3aGVyZSguZ3JvdXApOmhvdmVyICopey0tdHctc2hhZG93OjAgNHB4IDZweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgMnB4IDRweCAtMnB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX19Lmdyb3VwLWZvY3VzXFwvZHJvcGRvd24tbWVudS1pdGVtXFw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDppcyg6d2hlcmUoLmdyb3VwXFwvZHJvcGRvd24tbWVudS1pdGVtKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhci1ncm91cFxcOnNpemUtMTA6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2F2YXRhci1ncm91cFxcOnNpemUtNjppcyg6d2hlcmUoLmdyb3VwXFwvYXZhdGFyLWdyb3VwKTpoYXMoW2RhdGEtc2l6ZT1zbV0pICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNik7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNil9Lmdyb3VwLWhhcy1kYXRhLVxcW3Nsb3RcXD1jb21tYW5kLXNob3J0Y3V0XFxdXFwvY29tbWFuZC1pdGVtXFw6aGlkZGVuOmlzKDp3aGVyZSguZ3JvdXBcXC9jb21tYW5kLWl0ZW0pOmhhcyhbZGF0YS1zbG90PWNvbW1hbmQtc2hvcnRjdXRdKSAqKXtkaXNwbGF5Om5vbmV9Lmdyb3VwLWhhcy1cXFtcXFx1MDAzZWlucHV0XFxdXFwvaW5wdXQtZ3JvdXBcXDpwdC0yOmlzKDp3aGVyZSguZ3JvdXBcXC9pbnB1dC1ncm91cCk6aGFzKFx1MDAzZWlucHV0KSAqKXtwYWRkaW5nLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5ncm91cC1oYXMtXFxbXFxcdTAwM2VpbnB1dFxcXVxcL2lucHV0LWdyb3VwXFw6cGItMjppcyg6d2hlcmUoLmdyb3VwXFwvaW5wdXQtZ3JvdXApOmhhcyhcdTAwM2VpbnB1dCkgKil7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cXFtjaGVja2VkXFw9dHJ1ZVxcXVxcL2NvbW1hbmQtaXRlbVxcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcXC9jb21tYW5kLWl0ZW0pW2RhdGEtY2hlY2tlZD10cnVlXSAqKXtvcGFjaXR5OjF9Lmdyb3VwLWRhdGEtXFxbZGlzYWJsZWRcXD10cnVlXFxdXFw6cG9pbnRlci1ldmVudHMtbm9uZTppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICope3BvaW50ZXItZXZlbnRzOm5vbmV9Lmdyb3VwLWRhdGEtXFxbZGlzYWJsZWRcXD10cnVlXFxdXFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwKVtkYXRhLWRpc2FibGVkPXRydWVdICopLC5ncm91cC1kYXRhLVxcW2Rpc2FibGVkXFw9dHJ1ZVxcXVxcL2lucHV0LWdyb3VwXFw6b3BhY2l0eS01MDppcyg6d2hlcmUoLmdyb3VwXFwvaW5wdXQtZ3JvdXApW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0gKil7b3BhY2l0eTouNX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9ZGVmYXVsdFxcXVxcL2F2YXRhclxcOnNpemUtMlxcLjU6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWRlZmF1bHRdICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMi41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyLjUpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhclxcOnNpemUtMzppcyg6d2hlcmUoLmdyb3VwXFwvYXZhdGFyKVtkYXRhLXNpemU9bGddICope3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMyk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmdyb3VwLWRhdGEtXFxbc2l6ZVxcPXNtXFxdXFwvYXZhdGFyXFw6c2l6ZS0yOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKil7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9hdmF0YXJcXDp0ZXh0LXhzOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXIpW2RhdGEtc2l6ZT1zbV0gKil7Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9jYXJkXFw6cC0zOmlzKDp3aGVyZSguZ3JvdXBcXC9jYXJkKVtkYXRhLXNpemU9c21dICope3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9jYXJkXFw6cHgtMzppcyg6d2hlcmUoLmdyb3VwXFwvY2FyZClbZGF0YS1zaXplPXNtXSAqKXtwYWRkaW5nLWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2NhcmRcXDp0ZXh0LXNtOmlzKDp3aGVyZSguZ3JvdXBcXC9jYXJkKVtkYXRhLXNpemU9c21dICope2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXNtKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtc20tLWxpbmUtaGVpZ2h0KSl9Lmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpiZy10cmFuc3BhcmVudDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKil7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZ3JvdXAtZGF0YS1zZWxlY3RlZFxcL2NvbW1hbmQtaXRlbVxcOnRleHQtZm9yZWdyb3VuZDppcyg6d2hlcmUoLmdyb3VwXFwvY29tbWFuZC1pdGVtKTp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSkgKil7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFxcL3RhYnNcXDpoLTg6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKXtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFxcL3RhYnNcXDpoLWZpdDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKXtoZWlnaHQ6Zml0LWNvbnRlbnR9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6dy1mdWxsOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzKTp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pICope3dpZHRoOjEwMCV9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6ZmxleC1jb2w6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5ncm91cC1kYXRhLXZlcnRpY2FsXFwvdGFic1xcOmp1c3RpZnktc3RhcnQ6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPXZlcnRpY2FsXSkgKil7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnBlZXItZGlzYWJsZWRcXDpjdXJzb3Itbm90LWFsbG93ZWQ6aXMoOndoZXJlKC5wZWVyKTpkaXNhYmxlZH4qKXtjdXJzb3I6bm90LWFsbG93ZWR9LnBlZXItZGlzYWJsZWRcXDpvcGFjaXR5LTUwOmlzKDp3aGVyZSgucGVlcik6ZGlzYWJsZWR+Kil7b3BhY2l0eTouNX0uZmlsZVxcOmlubGluZS1mbGV4OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntkaXNwbGF5OmlubGluZS1mbGV4fS5maWxlXFw6aC02OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZmlsZVxcOmJvcmRlci0wOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntib3JkZXItc3R5bGU6dmFyKC0tdHctYm9yZGVyLXN0eWxlKTtib3JkZXItd2lkdGg6MH0uZmlsZVxcOmJnLXRyYW5zcGFyZW50OjpmaWxlLXNlbGVjdG9yLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5maWxlXFw6dGV4dC1zbTo6ZmlsZS1zZWxlY3Rvci1idXR0b257Zm9udC1zaXplOnZhcigtLXRleHQtc20pO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKX0uZmlsZVxcOmZvbnQtbWVkaXVtOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbnstLXR3LWZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7Zm9udC13ZWlnaHQ6dmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKX0uZmlsZVxcOnRleHQtZm9yZWdyb3VuZDo6ZmlsZS1zZWxlY3Rvci1idXR0b257Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LnBsYWNlaG9sZGVyXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOjpwbGFjZWhvbGRlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX0uYWZ0ZXJcXDphYnNvbHV0ZTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3Bvc2l0aW9uOmFic29sdXRlfS5hZnRlclxcOmluc2V0LTA6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtpbnNldDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5hZnRlclxcOnJvdW5kZWQtZnVsbDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1yYWRpdXM6My40MDI4MmUzOHB4fS5hZnRlclxcOmJvcmRlcjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci13aWR0aDoxcHh9LmFmdGVyXFw6Ym9yZGVyLWJvcmRlcjphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXIpfS5hZnRlclxcOmJnLWZvcmVncm91bmQ6YWZ0ZXJ7Y29udGVudDp2YXIoLS10dy1jb250ZW50KTtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWZvcmVncm91bmQpfS5hZnRlclxcOm9wYWNpdHktMDphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO29wYWNpdHk6MH0uYWZ0ZXJcXDptaXgtYmxlbmQtZGFya2VuOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS5hZnRlclxcOnRyYW5zaXRpb24tb3BhY2l0eTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjp2YXIoLS10dy1lYXNlLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTt0cmFuc2l0aW9uLWR1cmF0aW9uOnZhcigtLXR3LWR1cmF0aW9uLHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpfS5ncm91cC1kYXRhLWhvcml6b250YWxcXC90YWJzXFw6YWZ0ZXJcXDppbnNldC14LTA6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5ncm91cC1kYXRhLWhvcml6b250YWxcXC90YWJzXFw6YWZ0ZXJcXDpib3R0b20tXFxbLTVweFxcXTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249aG9yaXpvbnRhbF0pICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7Ym90dG9tOi01cHh9Lmdyb3VwLWRhdGEtaG9yaXpvbnRhbFxcL3RhYnNcXDphZnRlclxcOmgtMFxcLjU6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMpOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKi41KX0uZ3JvdXAtZGF0YS12ZXJ0aWNhbFxcL3RhYnNcXDphZnRlclxcOmluc2V0LXktMDppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO2luc2V0LWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmdyb3VwLWRhdGEtdmVydGljYWxcXC90YWJzXFw6YWZ0ZXJcXDotcmlnaHQtMTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3JpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqLTEpfS5ncm91cC1kYXRhLXZlcnRpY2FsXFwvdGFic1xcOmFmdGVyXFw6dy0wXFwuNTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicyk6d2hlcmUoW2RhdGEtb3JpZW50YXRpb249dmVydGljYWxdKSAqKTphZnRlcntjb250ZW50OnZhcigtLXR3LWNvbnRlbnQpO3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqLjUpfS5mb2N1cy13aXRoaW5cXDpib3JkZXItcmluZzpmb2N1cy13aXRoaW57Ym9yZGVyLWNvbG9yOnZhcigtLXJpbmcpfS5mb2N1cy13aXRoaW5cXDpyaW5nLTM6Zm9jdXMtd2l0aGluey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uZm9jdXMtd2l0aGluXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtd2l0aGluey0tdHctcmluZy1jb2xvcjp2YXIoLS1yaW5nKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXdpdGhpblxcOnJpbmctcmluZ1xcLzUwOmZvY3VzLXdpdGhpbnstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19QG1lZGlhIChob3Zlcjpob3Zlcil7LmhvdmVyXFw6Ym9yZGVyLW11dGVkLWZvcmVncm91bmRcXC8zMDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tbXV0ZWQtZm9yZWdyb3VuZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJvcmRlci1tdXRlZC1mb3JlZ3JvdW5kXFwvMzA6aG92ZXJ7Ym9yZGVyLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTMwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJvcmRlci1wcmltYXJ5XFwvNDA6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpib3JkZXItcHJpbWFyeVxcLzQwOmhvdmVye2JvcmRlci1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSk0MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpib3JkZXItcmluZzpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tcmluZyl9LmhvdmVyXFw6YmctYWNjZW50OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tYWNjZW50KX0uaG92ZXJcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJnLW11dGVkOmhvdmVyLC5ob3ZlclxcOmJnLW11dGVkXFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJnLW11dGVkXFwvNDA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tbXV0ZWQpNDAlLHRyYW5zcGFyZW50KX19LmhvdmVyXFw6YmctbXV0ZWRcXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmhvdmVyXFw6YmctbXV0ZWRcXC81MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpiZy1tdXRlZFxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1tdXRlZFxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLW11dGVkKTgwJSx0cmFuc3BhcmVudCl9fS5ob3ZlclxcOmJnLXByaW1hcnlcXC8yMDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXByaW1hcnkpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaG92ZXJcXDpiZy1wcmltYXJ5XFwvMjA6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tcHJpbWFyeSkyMCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5ob3ZlclxcOmJnLXNlY29uZGFyeVxcLzgwOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXNlY29uZGFyeSk4MCUsdHJhbnNwYXJlbnQpfX0uaG92ZXJcXDp0ZXh0LWZvcmVncm91bmQ6aG92ZXJ7Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmhvdmVyXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmhvdmVye2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5ob3ZlclxcOnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjp2YXIoLS1wcmltYXJ5KX0uaG92ZXJcXDp1bmRlcmxpbmU6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5ob3ZlclxcOnNoYWRvdy1sZzpob3ZlcnstLXR3LXNoYWRvdzowIDEwcHggMTVweCAtM3B4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpLDAgNHB4IDZweCAtNHB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaG92ZXJcXDpzaGFkb3ctbWQ6aG92ZXJ7LS10dy1zaGFkb3c6MCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCMwMDAwMDAxYSk7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfX0uZm9jdXNcXDpiZy1hY2NlbnQ6Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5mb2N1c1xcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6Zm9jdXN7Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5mb2N1c1xcOm91dGxpbmUtbm9uZTpmb2N1c3stLXR3LW91dGxpbmUtc3R5bGU6bm9uZTtvdXRsaW5lLXN0eWxlOm5vbmV9OmlzKC5mb2N1c1xcOlxcKlxcKlxcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6Zm9jdXMgKiksOmlzKC5ub3QtZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOlxcKlxcKlxcOnRleHQtYWNjZW50LWZvcmVncm91bmQ6bm90KFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdKTpmb2N1cyAqKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmZvY3VzLXZpc2libGVcXDpib3JkZXItZGVzdHJ1Y3RpdmVcXC80MDpmb2N1cy12aXNpYmxle2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy12aXNpYmxlXFw6Ym9yZGVyLWRlc3RydWN0aXZlXFwvNDA6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTQwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXFw6Ym9yZGVyLXJpbmc6Zm9jdXMtdmlzaWJsZXtib3JkZXItY29sb3I6dmFyKC0tcmluZyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMHB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTI6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9LmZvY3VzLXZpc2libGVcXDpyaW5nLTM6Zm9jdXMtdmlzaWJsZSwuZm9jdXMtdmlzaWJsZVxcOnJpbmctXFxbM3B4XFxdOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDNweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5mb2N1cy12aXNpYmxlXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwOmZvY3VzLXZpc2libGV7LS10dy1yaW5nLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvMjA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5mb2N1cy12aXNpYmxlXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tcmluZyl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5mb2N1cy12aXNpYmxlXFw6cmluZy1yaW5nXFwvNTA6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLXJpbmcpNTAlLHRyYW5zcGFyZW50KX19LmZvY3VzLXZpc2libGVcXDpvdXRsaW5lLTE6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXN0eWxlOnZhcigtLXR3LW91dGxpbmUtc3R5bGUpO291dGxpbmUtd2lkdGg6MXB4fS5mb2N1cy12aXNpYmxlXFw6b3V0bGluZS0yOmZvY3VzLXZpc2libGV7b3V0bGluZS1zdHlsZTp2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtvdXRsaW5lLXdpZHRoOjJweH0uZm9jdXMtdmlzaWJsZVxcOm91dGxpbmUtb2Zmc2V0LTI6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHh9LmZvY3VzLXZpc2libGVcXDpvdXRsaW5lLXByaW1hcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLWNvbG9yOnZhcigtLXByaW1hcnkpfS5mb2N1cy12aXNpYmxlXFw6b3V0bGluZS1yaW5nOmZvY3VzLXZpc2libGV7b3V0bGluZS1jb2xvcjp2YXIoLS1yaW5nKX0uYWN0aXZlXFw6dHJhbnNsYXRlLXktcHg6YWN0aXZley0tdHctdHJhbnNsYXRlLXk6MXB4O3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRpc2FibGVkXFw6cG9pbnRlci1ldmVudHMtbm9uZTpkaXNhYmxlZHtwb2ludGVyLWV2ZW50czpub25lfS5kaXNhYmxlZFxcOmN1cnNvci1ub3QtYWxsb3dlZDpkaXNhYmxlZHtjdXJzb3I6bm90LWFsbG93ZWR9LmRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWlucHV0KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk1MCUsdHJhbnNwYXJlbnQpfX0uZGlzYWJsZWRcXDpiZy10cmFuc3BhcmVudDpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5kaXNhYmxlZFxcOm9wYWNpdHktNTA6ZGlzYWJsZWR7b3BhY2l0eTouNX06d2hlcmUoW2RhdGEtc2xvdD1idXR0b24tZ3JvdXBdKSAuaW4tZGF0YS1cXFtzbG90XFw9YnV0dG9uLWdyb3VwXFxdXFw6cm91bmRlZC1sZ3tib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cyl9OndoZXJlKFtkYXRhLXNsb3Q9Y29tYm9ib3gtY29udGVudF0pIC5pbi1kYXRhLVxcW3Nsb3RcXD1jb21ib2JveC1jb250ZW50XFxdXFw6Zm9jdXMtd2l0aGluXFw6Ym9yZGVyLWluaGVyaXQ6Zm9jdXMtd2l0aGlue2JvcmRlci1jb2xvcjppbmhlcml0fTp3aGVyZShbZGF0YS1zbG90PWNvbWJvYm94LWNvbnRlbnRdKSAuaW4tZGF0YS1cXFtzbG90XFw9Y29tYm9ib3gtY29udGVudFxcXVxcOmZvY3VzLXdpdGhpblxcOnJpbmctMDpmb2N1cy13aXRoaW57LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfTp3aGVyZShbZGF0YS1zbG90PWRpYWxvZy1jb250ZW50XSkgLmluLWRhdGEtXFxbc2xvdFxcPWRpYWxvZy1jb250ZW50XFxdXFw6cm91bmRlZC1sZ1xcIXtib3JkZXItcmFkaXVzOnZhcigtLXJhZGl1cykhaW1wb3J0YW50fS5oYXMtZGlzYWJsZWRcXDpiZy1pbnB1dFxcLzUwOmhhcyg6ZGlzYWJsZWQpe2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLWRpc2FibGVkXFw6YmctaW5wdXRcXC81MDpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk1MCUsdHJhbnNwYXJlbnQpfX0uaGFzLWRpc2FibGVkXFw6b3BhY2l0eS01MDpoYXMoOmRpc2FibGVkKXtvcGFjaXR5Oi41fS5oYXMtZGF0YS1cXFtpY29uXFw9aW5saW5lLWVuZFxcXVxcOnByLTFcXC41OmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFxbaWNvblxcPWlubGluZS1lbmRcXF1cXDpwci0yOmhhcyhbZGF0YS1pY29uPWlubGluZS1lbmRdKXtwYWRkaW5nLXJpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxcW2ljb25cXD1pbmxpbmUtZW5kXFxdXFw6cHItMzpoYXMoW2RhdGEtaWNvbj1pbmxpbmUtZW5kXSl7cGFkZGluZy1yaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtZGF0YS1cXFtpY29uXFw9aW5saW5lLXN0YXJ0XFxdXFw6cGwtMVxcLjU6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uaGFzLWRhdGEtXFxbaWNvblxcPWlubGluZS1zdGFydFxcXVxcOnBsLTI6aGFzKFtkYXRhLWljb249aW5saW5lLXN0YXJ0XSl7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMil9Lmhhcy1kYXRhLVxcW2ljb25cXD1pbmxpbmUtc3RhcnRcXF1cXDpwbC0zOmhhcyhbZGF0YS1pY29uPWlubGluZS1zdGFydF0pe3BhZGRpbmctbGVmdDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5oYXMtZGF0YS1cXFtzbG90XFw9Y2FyZC1hY3Rpb25cXF1cXDpncmlkLWNvbHMtXFxbMWZyX2F1dG9cXF06aGFzKFtkYXRhLXNsb3Q9Y2FyZC1hY3Rpb25dKXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIGF1dG99Lmhhcy1kYXRhLVxcW3Nsb3RcXD1jYXJkLWRlc2NyaXB0aW9uXFxdXFw6Z3JpZC1yb3dzLVxcW2F1dG9fYXV0b1xcXTpoYXMoW2RhdGEtc2xvdD1jYXJkLWRlc2NyaXB0aW9uXSl7Z3JpZC10ZW1wbGF0ZS1yb3dzOmF1dG8gYXV0b30uaGFzLWRhdGEtXFxbc2xvdFxcPWNhcmQtZm9vdGVyXFxdXFw6cGItMDpoYXMoW2RhdGEtc2xvdD1jYXJkLWZvb3Rlcl0pe3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cXFtcXFtkYXRhLXNsb3RcXD1pbnB1dC1ncm91cC1jb250cm9sXFxdXFw6Zm9jdXMtdmlzaWJsZVxcXVxcOmJvcmRlci1yaW5nOmhhcyhbZGF0YS1zbG90PWlucHV0LWdyb3VwLWNvbnRyb2xdOmZvY3VzLXZpc2libGUpe2JvcmRlci1jb2xvcjp2YXIoLS1yaW5nKX0uaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy0zOmhhcyhbZGF0YS1zbG90PWlucHV0LWdyb3VwLWNvbnRyb2xdOmZvY3VzLXZpc2libGUpey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy1yaW5nXFwvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOnZhcigtLXJpbmcpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuaGFzLVxcW1xcW2RhdGEtc2xvdFxcPWlucHV0LWdyb3VwLWNvbnRyb2xcXF1cXDpmb2N1cy12aXNpYmxlXFxdXFw6cmluZy1yaW5nXFwvNTA6aGFzKFtkYXRhLXNsb3Q9aW5wdXQtZ3JvdXAtY29udHJvbF06Zm9jdXMtdmlzaWJsZSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1yaW5nKTUwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOmJvcmRlci1kZXN0cnVjdGl2ZTpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfS5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOnJpbmctMzpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctc2hhZG93OnZhcigtLXR3LXJpbmctaW5zZXQsKTAgMCAwIGNhbGMoM3B4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKXZhcigtLXR3LXJpbmctY29sb3IsY3VycmVudGNvbG9yKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmhhcy1cXFtcXFtkYXRhLXNsb3RcXF1cXFthcmlhLWludmFsaWRcXD10cnVlXFxdXFxdXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5oYXMtXFxbXFxbZGF0YS1zbG90XFxdXFxbYXJpYS1pbnZhbGlkXFw9dHJ1ZVxcXVxcXVxcOnJpbmctZGVzdHJ1Y3RpdmVcXC8yMDpoYXMoW2RhdGEtc2xvdF1bYXJpYS1pbnZhbGlkPXRydWVdKXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5oYXMtXFxbXFxcdTAwM2VcXFtkYXRhLWFsaWduXFw9YmxvY2stZW5kXFxdXFxdXFw6aC1hdXRvOmhhcyhcdTAwM2VbZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtoZWlnaHQ6YXV0b30uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLWVuZFxcXVxcXVxcOmZsZXgtY29sOmhhcyhcdTAwM2VbZGF0YS1hbGlnbj1ibG9jay1lbmRdKXtmbGV4LWRpcmVjdGlvbjpjb2x1bW59Lmhhcy1cXFtcXFx1MDAzZVxcW2RhdGEtYWxpZ25cXD1ibG9jay1zdGFydFxcXVxcXVxcOmgtYXV0bzpoYXMoXHUwMDNlW2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKXtoZWlnaHQ6YXV0b30uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLXN0YXJ0XFxdXFxdXFw6ZmxleC1jb2w6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWJsb2NrLXN0YXJ0XSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5oYXMtXFxbXFxcdTAwM2VidXR0b25cXF1cXDptci1cXFstMFxcLjNyZW1cXF06aGFzKFx1MDAzZWJ1dHRvbil7bWFyZ2luLXJpZ2h0Oi0uM3JlbX0uaGFzLVxcW1xcXHUwMDNlYnV0dG9uXFxdXFw6bWwtXFxbLTBcXC4zcmVtXFxdOmhhcyhcdTAwM2VidXR0b24pe21hcmdpbi1sZWZ0Oi0uM3JlbX0uaGFzLVxcW1xcXHUwMDNlaW1nXFw6Zmlyc3QtY2hpbGRcXF1cXDpwdC0wOmhhcyhcdTAwM2VpbWc6Zmlyc3QtY2hpbGQpe3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lmhhcy1cXFtcXFx1MDAzZWtiZFxcXVxcOm1yLVxcWy0wXFwuMTVyZW1cXF06aGFzKFx1MDAzZWtiZCl7bWFyZ2luLXJpZ2h0Oi0uMTVyZW19Lmhhcy1cXFtcXFx1MDAzZWtiZFxcXVxcOm1sLVxcWy0wXFwuMTVyZW1cXF06aGFzKFx1MDAzZWtiZCl7bWFyZ2luLWxlZnQ6LS4xNXJlbX0uaGFzLVxcW1xcXHUwMDNlc3ZnXFxdXFw6cC0wOmhhcyhcdTAwM2Vzdmcpe3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uaGFzLVxcW1xcXHUwMDNldGV4dGFyZWFcXF1cXDpoLWF1dG86aGFzKFx1MDAzZXRleHRhcmVhKXtoZWlnaHQ6YXV0b30uYXJpYS1kaXNhYmxlZFxcOnBvaW50ZXItZXZlbnRzLW5vbmVbYXJpYS1kaXNhYmxlZD10cnVlXXtwb2ludGVyLWV2ZW50czpub25lfS5hcmlhLWRpc2FibGVkXFw6b3BhY2l0eS01MFthcmlhLWRpc2FibGVkPXRydWVde29wYWNpdHk6LjV9LmFyaWEtZXhwYW5kZWRcXDpiZy1tdXRlZFthcmlhLWV4cGFuZGVkPXRydWVde2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5hcmlhLWV4cGFuZGVkXFw6Ymctc2Vjb25kYXJ5W2FyaWEtZXhwYW5kZWQ9dHJ1ZV17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnkpfS5hcmlhLWV4cGFuZGVkXFw6dGV4dC1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tZm9yZWdyb3VuZCl9LmFyaWEtZXhwYW5kZWRcXDp0ZXh0LXNlY29uZGFyeS1mb3JlZ3JvdW5kW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17Y29sb3I6dmFyKC0tc2Vjb25kYXJ5LWZvcmVncm91bmQpfS5hcmlhLWludmFsaWRcXDpib3JkZXItZGVzdHJ1Y3RpdmVbYXJpYS1pbnZhbGlkPXRydWVde2JvcmRlci1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LmFyaWEtaW52YWxpZFxcOnJpbmctMFthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLXNoYWRvdzp2YXIoLS10dy1yaW5nLWluc2V0LCkwIDAgMCBjYWxjKDBweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSl2YXIoLS10dy1yaW5nLWNvbG9yLGN1cnJlbnRjb2xvcik7Ym94LXNoYWRvdzp2YXIoLS10dy1pbnNldC1zaGFkb3cpLHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSx2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLHZhcigtLXR3LXJpbmctc2hhZG93KSx2YXIoLS10dy1zaGFkb3cpfS5hcmlhLWludmFsaWRcXDpyaW5nLTNbYXJpYS1pbnZhbGlkPXRydWVdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygzcHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX0uYXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuYXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzIwW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTIwJSx0cmFuc3BhcmVudCl9fS5kYXRhLWVuZGluZy1zdHlsZVxcOm9wYWNpdHktMFtkYXRhLWVuZGluZy1zdHlsZV17b3BhY2l0eTowfS5kYXRhLWluc2V0XFw6cGwtN1tkYXRhLWluc2V0XXtwYWRkaW5nLWxlZnQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo3KX0uZGF0YS1wb3B1cC1vcGVuXFw6YmctYWNjZW50W2RhdGEtcG9wdXAtb3Blbl17YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLXBvcHVwLW9wZW5cXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kW2RhdGEtcG9wdXAtb3Blbl17Y29sb3I6dmFyKC0tYWNjZW50LWZvcmVncm91bmQpfS5kYXRhLXN0YXJ0aW5nLXN0eWxlXFw6b3BhY2l0eS0wW2RhdGEtc3RhcnRpbmctc3R5bGVde29wYWNpdHk6MH0uZGF0YS1cXFtkaXNhYmxlZFxcPXRydWVcXF1cXDpwb2ludGVyLWV2ZW50cy1ub25lW2RhdGEtZGlzYWJsZWQ9dHJ1ZV17cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1cXFtkaXNhYmxlZFxcPXRydWVcXF1cXDpvcGFjaXR5LTUwW2RhdGEtZGlzYWJsZWQ9dHJ1ZV17b3BhY2l0eTouNX0uZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6aW5zZXQteC0wW2RhdGEtc2lkZT1ib3R0b21de2luc2V0LWlubGluZTpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpib3R0b20tMFtkYXRhLXNpZGU9Ym90dG9tXXtib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6aC1hdXRvW2RhdGEtc2lkZT1ib3R0b21de2hlaWdodDphdXRvfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpib3JkZXItdFtkYXRhLXNpZGU9Ym90dG9tXXtib3JkZXItdG9wLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXRvcC13aWR0aDoxcHh9LmRhdGEtXFxbc2lkZVxcPWJvdHRvbVxcXVxcOnNsaWRlLWluLWZyb20tdG9wLTJbZGF0YS1zaWRlPWJvdHRvbV17LS10dy1lbnRlci10cmFuc2xhdGUteTpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxcW3NpZGVcXD1ib3R0b21cXF1cXDpkYXRhLWVuZGluZy1zdHlsZVxcOnRyYW5zbGF0ZS15LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtZW5kaW5nLXN0eWxlXSwuZGF0YS1cXFtzaWRlXFw9Ym90dG9tXFxdXFw6ZGF0YS1zdGFydGluZy1zdHlsZVxcOnRyYW5zbGF0ZS15LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1ib3R0b21dW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXk6Mi41cmVtO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRhdGEtXFxbc2lkZVxcPWlubGluZS1lbmRcXF1cXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9aW5saW5lLWVuZF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykqLTEpfS5kYXRhLVxcW3NpZGVcXD1pbmxpbmUtc3RhcnRcXF1cXDpzbGlkZS1pbi1mcm9tLXJpZ2h0LTJbZGF0YS1zaWRlPWlubGluZS1zdGFydF17LS10dy1lbnRlci10cmFuc2xhdGUteDpjYWxjKDIqdmFyKC0tc3BhY2luZykpfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6aW5zZXQteS0wW2RhdGEtc2lkZT1sZWZ0XXtpbnNldC1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6bGVmdC0wW2RhdGEtc2lkZT1sZWZ0XXtsZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpoLWZ1bGxbZGF0YS1zaWRlPWxlZnRde2hlaWdodDoxMDAlfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6dy0zXFwvNFtkYXRhLXNpZGU9bGVmdF17d2lkdGg6NzUlfS5kYXRhLVxcW3NpZGVcXD1sZWZ0XFxdXFw6Ym9yZGVyLXJbZGF0YS1zaWRlPWxlZnRde2JvcmRlci1yaWdodC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1yaWdodC13aWR0aDoxcHh9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpzbGlkZS1pbi1mcm9tLXJpZ2h0LTJbZGF0YS1zaWRlPWxlZnRdey0tdHctZW50ZXItdHJhbnNsYXRlLXg6Y2FsYygyKnZhcigtLXNwYWNpbmcpKX0uZGF0YS1cXFtzaWRlXFw9bGVmdFxcXVxcOmRhdGEtZW5kaW5nLXN0eWxlXFw6dHJhbnNsYXRlLXgtXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLWVuZGluZy1zdHlsZV0sLmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXFw6dHJhbnNsYXRlLXgtXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT1sZWZ0XVtkYXRhLXN0YXJ0aW5nLXN0eWxlXXstLXR3LXRyYW5zbGF0ZS14Oi0yLjVyZW07dHJhbnNsYXRlOnZhcigtLXR3LXRyYW5zbGF0ZS14KXZhcigtLXR3LXRyYW5zbGF0ZS15KX0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDppbnNldC15LTBbZGF0YS1zaWRlPXJpZ2h0XXtpbnNldC1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOnJpZ2h0LTBbZGF0YS1zaWRlPXJpZ2h0XXtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjApfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOmgtZnVsbFtkYXRhLXNpZGU9cmlnaHRde2hlaWdodDoxMDAlfS5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOnctM1xcLzRbZGF0YS1zaWRlPXJpZ2h0XXt3aWR0aDo3NSV9LmRhdGEtXFxbc2lkZVxcPXJpZ2h0XFxdXFw6Ym9yZGVyLWxbZGF0YS1zaWRlPXJpZ2h0XXtib3JkZXItbGVmdC1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1sZWZ0LXdpZHRoOjFweH0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpzbGlkZS1pbi1mcm9tLWxlZnQtMltkYXRhLXNpZGU9cmlnaHRdey0tdHctZW50ZXItdHJhbnNsYXRlLXg6Y2FsYygyKnZhcigtLXNwYWNpbmcpKi0xKX0uZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpkYXRhLWVuZGluZy1zdHlsZVxcOnRyYW5zbGF0ZS14LVxcWzJcXC41cmVtXFxdW2RhdGEtc2lkZT1yaWdodF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxcW3NpZGVcXD1yaWdodFxcXVxcOmRhdGEtc3RhcnRpbmctc3R5bGVcXDp0cmFuc2xhdGUteC1cXFsyXFwuNXJlbVxcXVtkYXRhLXNpZGU9cmlnaHRdW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXg6Mi41cmVtO3RyYW5zbGF0ZTp2YXIoLS10dy10cmFuc2xhdGUteCl2YXIoLS10dy10cmFuc2xhdGUteSl9LmRhdGEtXFxbc2lkZVxcPXRvcFxcXVxcOmluc2V0LXgtMFtkYXRhLXNpZGU9dG9wXXtpbnNldC1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6dG9wLTBbZGF0YS1zaWRlPXRvcF17dG9wOmNhbGModmFyKC0tc3BhY2luZykqMCl9LmRhdGEtXFxbc2lkZVxcPXRvcFxcXVxcOmgtYXV0b1tkYXRhLXNpZGU9dG9wXXtoZWlnaHQ6YXV0b30uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6Ym9yZGVyLWJbZGF0YS1zaWRlPXRvcF17Ym9yZGVyLWJvdHRvbS1zdHlsZTp2YXIoLS10dy1ib3JkZXItc3R5bGUpO2JvcmRlci1ib3R0b20td2lkdGg6MXB4fS5kYXRhLVxcW3NpZGVcXD10b3BcXF1cXDpzbGlkZS1pbi1mcm9tLWJvdHRvbS0yW2RhdGEtc2lkZT10b3Bdey0tdHctZW50ZXItdHJhbnNsYXRlLXk6Y2FsYygyKnZhcigtLXNwYWNpbmcpKX0uZGF0YS1cXFtzaWRlXFw9dG9wXFxdXFw6ZGF0YS1lbmRpbmctc3R5bGVcXDp0cmFuc2xhdGUteS1cXFstMlxcLjVyZW1cXF1bZGF0YS1zaWRlPXRvcF1bZGF0YS1lbmRpbmctc3R5bGVdLC5kYXRhLVxcW3NpZGVcXD10b3BcXF1cXDpkYXRhLXN0YXJ0aW5nLXN0eWxlXFw6dHJhbnNsYXRlLXktXFxbLTJcXC41cmVtXFxdW2RhdGEtc2lkZT10b3BdW2RhdGEtc3RhcnRpbmctc3R5bGVdey0tdHctdHJhbnNsYXRlLXk6LTIuNXJlbTt0cmFuc2xhdGU6dmFyKC0tdHctdHJhbnNsYXRlLXgpdmFyKC0tdHctdHJhbnNsYXRlLXkpfS5kYXRhLVxcW3NpemVcXD1sZ1xcXVxcOnNpemUtMTBbZGF0YS1zaXplPWxnXXt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjEwKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxMCl9LmRhdGEtXFxbc2l6ZVxcPXNtXFxdXFw6c2l6ZS02W2RhdGEtc2l6ZT1zbV17d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo2KX0uZGF0YS1cXFtzaXplXFw9c21cXF1cXDpnYXAtM1tkYXRhLXNpemU9c21de2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjMpfS5kYXRhLVxcW3NpemVcXD1zbVxcXVxcOnB5LTNbZGF0YS1zaXplPXNtXXtwYWRkaW5nLWJsb2NrOmNhbGModmFyKC0tc3BhY2luZykqMyl9LmRhdGEtXFxbc2l6ZVxcPXNtXFxdXFw6aGFzLWRhdGEtXFxbc2xvdFxcPWNhcmQtZm9vdGVyXFxdXFw6cGItMFtkYXRhLXNpemU9c21dOmhhcyhbZGF0YS1zbG90PWNhcmQtZm9vdGVyXSl7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWF2YXRhclxcXVxcOnJpbmctMlx1MDAzZSopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1zaGFkb3c6dmFyKC0tdHctcmluZy1pbnNldCwpMCAwIDAgY2FsYygycHggKyB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkpdmFyKC0tdHctcmluZy1jb2xvcixjdXJyZW50Y29sb3IpO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWF2YXRhclxcXVxcOnJpbmctYmFja2dyb3VuZFx1MDAzZSopW2RhdGEtc2xvdD1hdmF0YXJdey0tdHctcmluZy1jb2xvcjp2YXIoLS1iYWNrZ3JvdW5kKX06aXMoLlxcKlxcOmRhdGEtXFxbc2xvdFxcPWlucHV0LWdyb3VwLWFkZG9uXFxdXFw6cGwtMlxcIVx1MDAzZSopW2RhdGEtc2xvdD1pbnB1dC1ncm91cC1hZGRvbl17cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMikhaW1wb3J0YW50fS5kYXRhLVxcW3N0YXRlXFw9c2VsZWN0ZWRcXF1cXDpiZy1tdXRlZFtkYXRhLXN0YXRlPXNlbGVjdGVkXXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLW11dGVkKX0uZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDp0ZXh0LWRlc3RydWN0aXZlW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV17Y29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfS5kYXRhLVxcW3ZhcmlhbnRcXD1kZXN0cnVjdGl2ZVxcXVxcOmZvY3VzXFw6YmctZGVzdHJ1Y3RpdmVcXC8xMFtkYXRhLXZhcmlhbnQ9ZGVzdHJ1Y3RpdmVdOmZvY3Vze2JhY2tncm91bmQtY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOmJnLWRlc3RydWN0aXZlXFwvMTBbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkxMCUsdHJhbnNwYXJlbnQpfX0uZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOnRleHQtZGVzdHJ1Y3RpdmVbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tjb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9LmRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXDpyb3VuZGVkLW5vbmVbZGF0YS12YXJpYW50PWxpbmVde2JvcmRlci1yYWRpdXM6MH1Ac3VwcG9ydHMgKCgtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjp2YXIoLS10dykpIG9yIChiYWNrZHJvcC1maWx0ZXI6dmFyKC0tdHcpKSl7LnN1cHBvcnRzLWJhY2tkcm9wLWZpbHRlclxcOmJhY2tkcm9wLWJsdXIteHN7LS10dy1iYWNrZHJvcC1ibHVyOmJsdXIodmFyKC0tYmx1ci14cykpOy13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7YmFja2Ryb3AtZmlsdGVyOnZhcigtLXR3LWJhY2tkcm9wLWJsdXIsKXZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MsKXZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCl2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUsKXZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUsKXZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSwpdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUsKXZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCl9fUBtZWRpYSAobWluLXdpZHRoOjQwcmVtKXsuc21cXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5zbVxcOmhpZGRlbntkaXNwbGF5Om5vbmV9LnNtXFw6aW5saW5le2Rpc3BsYXk6aW5saW5lfS5zbVxcOmlubGluZS1mbGV4e2Rpc3BsYXk6aW5saW5lLWZsZXh9LnNtXFw6aC0yNHtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyNCl9LnNtXFw6dy00MHt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjQwKX0uc21cXDp3LWF1dG97d2lkdGg6YXV0b30uc21cXDptYXgtdy1zbXttYXgtd2lkdGg6dmFyKC0tY29udGFpbmVyLXNtKX0uc21cXDpmbGV4LW5vbmV7ZmxleDpub25lfS5zbVxcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0uc21cXDpncmlkLWNvbHMtM3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSl9LnNtXFw6ZmxleC1yb3d7ZmxleC1kaXJlY3Rpb246cm93fS5zbVxcOml0ZW1zLWNlbnRlcnthbGlnbi1pdGVtczpjZW50ZXJ9LnNtXFw6anVzdGlmeS1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5zbVxcOmp1c3RpZnktZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc21cXDpwLTV7cGFkZGluZzpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5zbVxcOnAtNntwYWRkaW5nOmNhbGModmFyKC0tc3BhY2luZykqNil9LnNtXFw6cC04e3BhZGRpbmc6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4KX0uc21cXDp0ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LnNtXFw6dGV4dC0zeGx7Zm9udC1zaXplOnZhcigtLXRleHQtM3hsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtM3hsLS1saW5lLWhlaWdodCkpfS5zbVxcOnRleHQtYmFzZXtmb250LXNpemU6dmFyKC0tdGV4dC1iYXNlKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtYmFzZS0tbGluZS1oZWlnaHQpKX0uc21cXDp0ZXh0LXhse2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXhsKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQteGwtLWxpbmUtaGVpZ2h0KSl9LmRhdGEtXFxbc2lkZVxcPWxlZnRcXF1cXDpzbVxcOm1heC13LXNtW2RhdGEtc2lkZT1sZWZ0XSwuZGF0YS1cXFtzaWRlXFw9cmlnaHRcXF1cXDpzbVxcOm1heC13LXNtW2RhdGEtc2lkZT1yaWdodF17bWF4LXdpZHRoOnZhcigtLWNvbnRhaW5lci1zbSl9fUBtZWRpYSAobWluLXdpZHRoOjQ4cmVtKXsubWRcXDppbnNldC14LWF1dG97aW5zZXQtaW5saW5lOmF1dG99Lm1kXFw6cmlnaHQtNHtyaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tZFxcOmJvdHRvbS00e2JvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5tZFxcOmxlZnQtYXV0b3tsZWZ0OmF1dG99Lm1kXFw6YmxvY2t7ZGlzcGxheTpibG9ja30ubWRcXDpmbGV4e2Rpc3BsYXk6ZmxleH0ubWRcXDpoaWRkZW57ZGlzcGxheTpub25lfS5tZFxcOnRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsfS5tZFxcOm1pbi13LTB7bWluLXdpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMCl9Lm1kXFw6Z3JpZC1jb2xzLTF7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgxLG1pbm1heCgwLDFmcikpfS5tZFxcOmdyaWQtY29scy0ye2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMixtaW5tYXgoMCwxZnIpKX0ubWRcXDpncmlkLWNvbHMtM3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsbWlubWF4KDAsMWZyKSl9Lm1kXFw6Z3JpZC1jb2xzLTR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LG1pbm1heCgwLDFmcikpfS5tZFxcOmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0ubWRcXDppdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5tZFxcOmdhcC0xe2dhcDpjYWxjKHZhcigtLXNwYWNpbmcpKjEpfS5tZFxcOnBiLTB7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0ubWRcXDp0ZXh0LXNte2ZvbnQtc2l6ZTp2YXIoLS10ZXh0LXNtKTtsaW5lLWhlaWdodDp2YXIoLS10dy1sZWFkaW5nLHZhcigtLXRleHQtc20tLWxpbmUtaGVpZ2h0KSl9Lm1kXFw6d2hpdGVzcGFjZS1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfX1AbWVkaWEgKG1pbi13aWR0aDo2NHJlbSl7LmxnXFw6c3RpY2t5e3Bvc2l0aW9uOnN0aWNreX0ubGdcXDp0b3AtNHt0b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0ubGdcXDpibG9ja3tkaXNwbGF5OmJsb2NrfS5sZ1xcOmhpZGRlbntkaXNwbGF5Om5vbmV9LmxnXFw6dGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGx9LmxnXFw6dy03Mnt3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjcyKX0ubGdcXDpncmlkLWNvbHMtMntncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsbWlubWF4KDAsMWZyKSl9LmxnXFw6Z3JpZC1jb2xzLTN7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLG1pbm1heCgwLDFmcikpfS5sZ1xcOmdyaWQtY29scy00e2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCxtaW5tYXgoMCwxZnIpKX0ubGdcXDpncmlkLWNvbHMtNXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsbWlubWF4KDAsMWZyKSl9LmxnXFw6Z3JpZC1jb2xzLVxcWzFmcl8zNDBweFxcXXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDM0MHB4fS5sZ1xcOmZsZXgtcm93e2ZsZXgtZGlyZWN0aW9uOnJvd30ubGdcXDpzZWxmLXN0YXJ0e2FsaWduLXNlbGY6ZmxleC1zdGFydH19QG1lZGlhIChtaW4td2lkdGg6ODByZW0pey54bFxcOnctODB7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo4MCl9fS5kYXJrXFw6YmxvY2s6aXMoLmRhcmsgKil7ZGlzcGxheTpibG9ja30uZGFya1xcOmhpZGRlbjppcyguZGFyayAqKXtkaXNwbGF5Om5vbmV9LmRhcmtcXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKil7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX0uZGFya1xcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6YmctZGVzdHJ1Y3RpdmVcXC8yMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmJnLWlucHV0XFwvMzA6aXMoLmRhcmsgKil7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICope2JhY2tncm91bmQtY29sb3I6IzAwMDB9LmRhcmtcXDp0ZXh0LWdyZWVuLTQwMDppcyguZGFyayAqKXtjb2xvcjp2YXIoLS1jb2xvci1ncmVlbi00MDApfS5kYXJrXFw6dGV4dC1tdXRlZC1mb3JlZ3JvdW5kOmlzKC5kYXJrICope2NvbG9yOnZhcigtLW11dGVkLWZvcmVncm91bmQpfS5kYXJrXFw6cHJvc2UtaW52ZXJ0OmlzKC5kYXJrICopey0tdHctcHJvc2UtYm9keTp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYm9keSk7LS10dy1wcm9zZS1oZWFkaW5nczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtaGVhZGluZ3MpOy0tdHctcHJvc2UtbGVhZDp2YXIoLS10dy1wcm9zZS1pbnZlcnQtbGVhZCk7LS10dy1wcm9zZS1saW5rczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtbGlua3MpOy0tdHctcHJvc2UtYm9sZDp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYm9sZCk7LS10dy1wcm9zZS1jb3VudGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY291bnRlcnMpOy0tdHctcHJvc2UtYnVsbGV0czp2YXIoLS10dy1wcm9zZS1pbnZlcnQtYnVsbGV0cyk7LS10dy1wcm9zZS1ocjp2YXIoLS10dy1wcm9zZS1pbnZlcnQtaHIpOy0tdHctcHJvc2UtcXVvdGVzOnZhcigtLXR3LXByb3NlLWludmVydC1xdW90ZXMpOy0tdHctcHJvc2UtcXVvdGUtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcXVvdGUtYm9yZGVycyk7LS10dy1wcm9zZS1jYXB0aW9uczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtY2FwdGlvbnMpOy0tdHctcHJvc2Uta2JkOnZhcigtLXR3LXByb3NlLWludmVydC1rYmQpOy0tdHctcHJvc2Uta2JkLXNoYWRvd3M6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWtiZC1zaGFkb3dzKTstLXR3LXByb3NlLWNvZGU6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LWNvZGUpOy0tdHctcHJvc2UtcHJlLWNvZGU6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXByZS1jb2RlKTstLXR3LXByb3NlLXByZS1iZzp2YXIoLS10dy1wcm9zZS1pbnZlcnQtcHJlLWJnKTstLXR3LXByb3NlLXRoLWJvcmRlcnM6dmFyKC0tdHctcHJvc2UtaW52ZXJ0LXRoLWJvcmRlcnMpOy0tdHctcHJvc2UtdGQtYm9yZGVyczp2YXIoLS10dy1wcm9zZS1pbnZlcnQtdGQtYm9yZGVycyl9LmRhcmtcXDphZnRlclxcOm1peC1ibGVuZC1saWdodGVuOmlzKC5kYXJrICopOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuZGFya1xcOmhvdmVyXFw6YmctZGVzdHJ1Y3RpdmVcXC8zMDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LmRhcmtcXDpob3ZlclxcOmJnLWRlc3RydWN0aXZlXFwvMzA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMzAlLHRyYW5zcGFyZW50KX19LmRhcmtcXDpob3ZlclxcOmJnLWlucHV0XFwvNTA6aXMoLmRhcmsgKik6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aG92ZXJcXDpiZy1pbnB1dFxcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWlucHV0KTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6aG92ZXJcXDpiZy1tdXRlZFxcLzUwOmlzKC5kYXJrICopOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmhvdmVyXFw6YmctbXV0ZWRcXC81MDppcyguZGFyayAqKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1tdXRlZCk1MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmhvdmVyXFw6dGV4dC1mb3JlZ3JvdW5kOmlzKC5kYXJrICopOmhvdmVye2NvbG9yOnZhcigtLWZvcmVncm91bmQpfX0uZGFya1xcOmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmZvY3VzLXZpc2libGVcXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6Zm9jdXMtdmlzaWJsZXstLXR3LXJpbmctY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTQwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6ZGlzYWJsZWRcXDpiZy1pbnB1dFxcLzgwOmlzKC5kYXJrICopOmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6dmFyKC0taW5wdXQpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmRpc2FibGVkXFw6YmctaW5wdXRcXC84MDppcyguZGFyayAqKTpkaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk4MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRpc2FibGVkXFw6YmctdHJhbnNwYXJlbnQ6aXMoLmRhcmsgKik6ZGlzYWJsZWR7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGFya1xcOmhhcy1kaXNhYmxlZFxcOmJnLWlucHV0XFwvODA6aXMoLmRhcmsgKik6aGFzKDpkaXNhYmxlZCl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aGFzLWRpc2FibGVkXFw6YmctaW5wdXRcXC84MDppcyguZGFyayAqKTpoYXMoOmRpc2FibGVkKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCk4MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmhhcy1cXFtcXFtkYXRhLXNsb3RcXF1cXFthcmlhLWludmFsaWRcXD10cnVlXFxdXFxdXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzQwOmlzKC5kYXJrICopOmhhcyhbZGF0YS1zbG90XVthcmlhLWludmFsaWQ9dHJ1ZV0pey0tdHctcmluZy1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6aGFzLVxcW1xcW2RhdGEtc2xvdFxcXVxcW2FyaWEtaW52YWxpZFxcPXRydWVcXF1cXF1cXDpyaW5nLWRlc3RydWN0aXZlXFwvNDA6aXMoLmRhcmsgKik6aGFzKFtkYXRhLXNsb3RdW2FyaWEtaW52YWxpZD10cnVlXSl7LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmFyaWEtaW52YWxpZFxcOmJvcmRlci1kZXN0cnVjdGl2ZVxcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmFyaWEtaW52YWxpZFxcOmJvcmRlci1kZXN0cnVjdGl2ZVxcLzUwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXtib3JkZXItY29sb3I6Y29sb3ItbWl4KGluIG9rbGFiLHZhcigtLWRlc3RydWN0aXZlKTUwJSx0cmFuc3BhcmVudCl9fS5kYXJrXFw6YXJpYS1pbnZhbGlkXFw6cmluZy1kZXN0cnVjdGl2ZVxcLzQwOmlzKC5kYXJrICopW2FyaWEtaW52YWxpZD10cnVlXXstLXR3LXJpbmctY29sb3I6dmFyKC0tZGVzdHJ1Y3RpdmUpfUBzdXBwb3J0cyAoY29sb3I6Y29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKXsuZGFya1xcOmFyaWEtaW52YWxpZFxcOnJpbmctZGVzdHJ1Y3RpdmVcXC80MDppcyguZGFyayAqKVthcmlhLWludmFsaWQ9dHJ1ZV17LS10dy1yaW5nLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSk0MCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRhdGEtXFxbdmFyaWFudFxcPWRlc3RydWN0aXZlXFxdXFw6Zm9jdXNcXDpiZy1kZXN0cnVjdGl2ZVxcLzIwOmlzKC5kYXJrICopW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV06Zm9jdXN7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1kZXN0cnVjdGl2ZSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6ZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpmb2N1c1xcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoLmRhcmsgKilbZGF0YS12YXJpYW50PWRlc3RydWN0aXZlXTpmb2N1c3tiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1kZXN0cnVjdGl2ZSkyMCUsdHJhbnNwYXJlbnQpfX0uZGF0YS1vcGVuXFw6YW5pbWF0ZS1pbjp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOmFuaW1hdGUtaW46d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YW5pbWF0aW9uOmVudGVyIHZhcigtLXR3LWFuaW1hdGlvbi1kdXJhdGlvbix2YXIoLS10dy1kdXJhdGlvbiwuMTVzKSl2YXIoLS10dy1lYXNlLGVhc2UpdmFyKC0tdHctYW5pbWF0aW9uLWRlbGF5LDBzKXZhcigtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsMSl2YXIoLS10dy1hbmltYXRpb24tZGlyZWN0aW9uLG5vcm1hbCl2YXIoLS10dy1hbmltYXRpb24tZmlsbC1tb2RlLG5vbmUpfS5kYXRhLW9wZW5cXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtc3RhdGU9b3Blbl0pLC5kYXRhLW9wZW5cXDpiZy1hY2NlbnQ6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1hY2NlbnQpfS5kYXRhLW9wZW5cXDp0ZXh0LWFjY2VudC1mb3JlZ3JvdW5kOndoZXJlKFtkYXRhLXN0YXRlPW9wZW5dKSwuZGF0YS1vcGVuXFw6dGV4dC1hY2NlbnQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXtjb2xvcjp2YXIoLS1hY2NlbnQtZm9yZWdyb3VuZCl9LmRhdGEtb3BlblxcOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOmZhZGUtaW4tMDp3aGVyZShbZGF0YS1vcGVuXTpub3QoW2RhdGEtb3Blbj1mYWxzZV0pKXstLXR3LWVudGVyLW9wYWNpdHk6MH0uZGF0YS1vcGVuXFw6em9vbS1pbi05NTp3aGVyZShbZGF0YS1zdGF0ZT1vcGVuXSksLmRhdGEtb3BlblxcOnpvb20taW4tOTU6d2hlcmUoW2RhdGEtb3Blbl06bm90KFtkYXRhLW9wZW49ZmFsc2VdKSl7LS10dy1lbnRlci1zY2FsZTouOTV9LmRhdGEtY2xvc2VkXFw6YW5pbWF0ZS1vdXQ6d2hlcmUoW2RhdGEtc3RhdGU9Y2xvc2VkXSksLmRhdGEtY2xvc2VkXFw6YW5pbWF0ZS1vdXQ6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpe2FuaW1hdGlvbjpleGl0IHZhcigtLXR3LWFuaW1hdGlvbi1kdXJhdGlvbix2YXIoLS10dy1kdXJhdGlvbiwuMTVzKSl2YXIoLS10dy1lYXNlLGVhc2UpdmFyKC0tdHctYW5pbWF0aW9uLWRlbGF5LDBzKXZhcigtLXR3LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsMSl2YXIoLS10dy1hbmltYXRpb24tZGlyZWN0aW9uLG5vcm1hbCl2YXIoLS10dy1hbmltYXRpb24tZmlsbC1tb2RlLG5vbmUpfS5kYXRhLWNsb3NlZFxcOm92ZXJmbG93LWhpZGRlbjp3aGVyZShbZGF0YS1zdGF0ZT1jbG9zZWRdKSwuZGF0YS1jbG9zZWRcXDpvdmVyZmxvdy1oaWRkZW46d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpe292ZXJmbG93OmhpZGRlbn0uZGF0YS1jbG9zZWRcXDpmYWRlLW91dC0wOndoZXJlKFtkYXRhLXN0YXRlPWNsb3NlZF0pLC5kYXRhLWNsb3NlZFxcOmZhZGUtb3V0LTA6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1vcGFjaXR5OjB9LmRhdGEtY2xvc2VkXFw6em9vbS1vdXQtOTU6d2hlcmUoW2RhdGEtc3RhdGU9Y2xvc2VkXSksLmRhdGEtY2xvc2VkXFw6em9vbS1vdXQtOTU6d2hlcmUoW2RhdGEtY2xvc2VkXTpub3QoW2RhdGEtY2xvc2VkPWZhbHNlXSkpey0tdHctZXhpdC1zY2FsZTouOTV9LmRhdGEtc2VsZWN0ZWRcXDpiZy1tdXRlZDp3aGVyZShbZGF0YS1zZWxlY3RlZD10cnVlXSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1tdXRlZCl9LmRhdGEtc2VsZWN0ZWRcXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXRhLWRpc2FibGVkXFw6cG9pbnRlci1ldmVudHMtbm9uZTp3aGVyZShbZGF0YS1kaXNhYmxlZD10cnVlXSksLmRhdGEtZGlzYWJsZWRcXDpwb2ludGVyLWV2ZW50cy1ub25lOndoZXJlKFtkYXRhLWRpc2FibGVkXTpub3QoW2RhdGEtZGlzYWJsZWQ9ZmFsc2VdKSl7cG9pbnRlci1ldmVudHM6bm9uZX0uZGF0YS1kaXNhYmxlZFxcOm9wYWNpdHktNTA6d2hlcmUoW2RhdGEtZGlzYWJsZWQ9dHJ1ZV0pLC5kYXRhLWRpc2FibGVkXFw6b3BhY2l0eS01MDp3aGVyZShbZGF0YS1kaXNhYmxlZF06bm90KFtkYXRhLWRpc2FibGVkPWZhbHNlXSkpe29wYWNpdHk6LjV9LmRhdGEtYWN0aXZlXFw6YmctYmFja2dyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcXDpiZy1iYWNrZ3JvdW5kOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQpfS5kYXRhLWFjdGl2ZVxcOnRleHQtZm9yZWdyb3VuZDp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGF0YS1hY3RpdmVcXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1kZWZhdWx0XFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWRlZmF1bHRdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1kZWZhdWx0XFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctc206aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWRlZmF1bHRdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXstLXR3LXNoYWRvdzowIDFweCAzcHggMCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSwwIDFweCAycHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXR3LWluc2V0LXNoYWRvdyksdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksdmFyKC0tdHctcmluZy1zaGFkb3cpLHZhcigtLXR3LXNoYWRvdyl9Lmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZ3JvdXAtZGF0YS1cXFt2YXJpYW50XFw9bGluZVxcXVxcL3RhYnMtbGlzdFxcOmRhdGEtYWN0aXZlXFw6YmctdHJhbnNwYXJlbnQ6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1saW5lXFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDpzaGFkb3ctbm9uZTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOnNoYWRvdy1ub25lOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7LS10dy1zaGFkb3c6MCAwICMwMDAwO2JveC1zaGFkb3c6dmFyKC0tdHctaW5zZXQtc2hhZG93KSx2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSx2YXIoLS10dy1yaW5nLXNoYWRvdyksdmFyKC0tdHctc2hhZG93KX06aXMoLmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmFmdGVyXFw6b3BhY2l0eS0xMDA6aXMoOndoZXJlKC5ncm91cFxcL3RhYnMtbGlzdClbZGF0YS12YXJpYW50PWxpbmVdICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5ncm91cC1kYXRhLVxcW3ZhcmlhbnRcXD1saW5lXFxdXFwvdGFicy1saXN0XFw6ZGF0YS1hY3RpdmVcXDphZnRlclxcOm9wYWNpdHktMTAwOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSkpOmFmdGVye2NvbnRlbnQ6dmFyKC0tdHctY29udGVudCk7b3BhY2l0eToxfS5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpib3JkZXItaW5wdXQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtc3RhdGU9YWN0aXZlXSksLmRhcmtcXDpkYXRhLWFjdGl2ZVxcOmJvcmRlci1pbnB1dDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7Ym9yZGVyLWNvbG9yOnZhcigtLWlucHV0KX0uZGFya1xcOmRhdGEtYWN0aXZlXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmRhdGEtYWN0aXZlXFw6YmctaW5wdXRcXC8zMDppcyguZGFyayAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1pbnB1dCl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpiZy1pbnB1dFxcLzMwOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5kYXJrXFw6ZGF0YS1hY3RpdmVcXDpiZy1pbnB1dFxcLzMwOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLWFjdGl2ZV06bm90KFtkYXRhLWFjdGl2ZT1mYWxzZV0pKXtiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1pbnB1dCkzMCUsdHJhbnNwYXJlbnQpfX0uZGFya1xcOmRhdGEtYWN0aXZlXFw6dGV4dC1mb3JlZ3JvdW5kOmlzKC5kYXJrICopOndoZXJlKFtkYXRhLXN0YXRlPWFjdGl2ZV0pLC5kYXJrXFw6ZGF0YS1hY3RpdmVcXDp0ZXh0LWZvcmVncm91bmQ6aXMoLmRhcmsgKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2NvbG9yOnZhcigtLWZvcmVncm91bmQpfS5kYXJrXFw6Z3JvdXAtZGF0YS1cXFt2YXJpYW50XFw9bGluZVxcXVxcL3RhYnMtbGlzdFxcOmRhdGEtYWN0aXZlXFw6Ym9yZGVyLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJvcmRlci10cmFuc3BhcmVudDppcyguZGFyayAqKTppcyg6d2hlcmUoLmdyb3VwXFwvdGFicy1saXN0KVtkYXRhLXZhcmlhbnQ9bGluZV0gKik6d2hlcmUoW2RhdGEtYWN0aXZlXTpub3QoW2RhdGEtYWN0aXZlPWZhbHNlXSkpe2JvcmRlci1jb2xvcjojMDAwMH0uZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1zdGF0ZT1hY3RpdmVdKSwuZGFya1xcOmdyb3VwLWRhdGEtXFxbdmFyaWFudFxcPWxpbmVcXF1cXC90YWJzLWxpc3RcXDpkYXRhLWFjdGl2ZVxcOmJnLXRyYW5zcGFyZW50OmlzKC5kYXJrICopOmlzKDp3aGVyZSguZ3JvdXBcXC90YWJzLWxpc3QpW2RhdGEtdmFyaWFudD1saW5lXSAqKTp3aGVyZShbZGF0YS1hY3RpdmVdOm5vdChbZGF0YS1hY3RpdmU9ZmFsc2VdKSl7YmFja2dyb3VuZC1jb2xvcjojMDAwMH0uZGF0YS1ob3Jpem9udGFsXFw6aC1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7aGVpZ2h0OjFweH0uZGF0YS1ob3Jpem9udGFsXFw6dy1mdWxsOndoZXJlKFtkYXRhLW9yaWVudGF0aW9uPWhvcml6b250YWxdKXt3aWR0aDoxMDAlfS5kYXRhLWhvcml6b250YWxcXDpmbGV4LWNvbDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj1ob3Jpem9udGFsXSl7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5kYXRhLXZlcnRpY2FsXFw6dy1weDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe3dpZHRoOjFweH0uZGF0YS12ZXJ0aWNhbFxcOnNlbGYtc3RyZXRjaDp3aGVyZShbZGF0YS1vcmllbnRhdGlvbj12ZXJ0aWNhbF0pe2FsaWduLXNlbGY6c3RyZXRjaH0uXFxbXFxcdTAwMjZfYVxcXVxcOnRleHQtcHJpbWFyeSBhe2NvbG9yOnZhcigtLXByaW1hcnkpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOm10LTYgaDN7bWFyZ2luLXRvcDpjYWxjKHZhcigtLXNwYWNpbmcpKjYpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOm1iLTIgaDN7bWFyZ2luLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5cXFtcXFx1MDAyNl9oM1xcXVxcOnRleHQtZm9yZWdyb3VuZCBoM3tjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uXFxbXFxcdTAwMjZfc3ZnXFxdXFw6cG9pbnRlci1ldmVudHMtbm9uZSBzdmd7cG9pbnRlci1ldmVudHM6bm9uZX0uXFxbXFxcdTAwMjZfc3ZnXFxdXFw6c2hyaW5rLTAgc3Zne2ZsZXgtc2hyaW5rOjB9LlxcW1xcXHUwMDI2X3N2Z1xcOm5vdFxcKFxcW2NsYXNzXFwqXFw9XFwnc2l6ZS1cXCdcXF1cXClcXF1cXDpzaXplLTMgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uXFxbXFxcdTAwMjZfc3ZnXFw6bm90XFwoXFxbY2xhc3NcXCpcXD1cXCdzaXplLVxcJ1xcXVxcKVxcXVxcOnNpemUtM1xcLjUgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjMuNSl9LlxcW1xcXHUwMDI2X3N2Z1xcOm5vdFxcKFxcW2NsYXNzXFwqXFw9XFwnc2l6ZS1cXCdcXF1cXClcXF1cXDpzaXplLTQgc3ZnOm5vdChbY2xhc3MqPXNpemUtXSl7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSo0KX0uXFxbXFxcdTAwMjZfdHJcXF1cXDpib3JkZXItYiB0cntib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDoxcHh9LlxcW1xcXHUwMDI2X3RyXFw6bGFzdC1jaGlsZFxcXVxcOmJvcmRlci0wIHRyOmxhc3QtY2hpbGR7Ym9yZGVyLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLXdpZHRoOjB9LlxcW1xcXHUwMDI2XFw6XFw6LXdlYmtpdC1kZXRhaWxzLW1hcmtlclxcXVxcOmhpZGRlbjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9LlxcW1xcXHUwMDI2XFw6XFw6LXdlYmtpdC1zY3JvbGxiYXJcXF1cXDpoaWRkZW46Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uXFxbXFxcdTAwMjZcXDpoYXNcXChcXFtyb2xlXFw9Y2hlY2tib3hcXF1cXClcXF1cXDpwci0wOmhhcyhbcm9sZT1jaGVja2JveF0pe3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSowKX0uXFxbXFwuYm9yZGVyLWJcXF1cXDpwYi0yLmJvcmRlci1ie3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMil9LlxcW1xcLmJvcmRlci1iXFxdXFw6cGItNC5ib3JkZXItYntwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXNwYWNpbmcpKjQpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2NhcmRcXDpcXFtcXC5ib3JkZXItYlxcXVxcOnBiLTM6aXMoOndoZXJlKC5ncm91cFxcL2NhcmQpW2RhdGEtc2l6ZT1zbV0gKikuYm9yZGVyLWJ7cGFkZGluZy1ib3R0b206Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uXFxbXFwuYm9yZGVyLXRcXF1cXDpwdC0yLmJvcmRlci10e3BhZGRpbmctdG9wOmNhbGModmFyKC0tc3BhY2luZykqMil9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDpweC0yICopW2NtZGstZ3JvdXAtaGVhZGluZ117cGFkZGluZy1pbmxpbmU6Y2FsYyh2YXIoLS1zcGFjaW5nKSoyKX06aXMoLlxcKlxcKlxcOlxcW1xcW2NtZGstZ3JvdXAtaGVhZGluZ1xcXVxcXVxcOnB5LTFcXC41ICopW2NtZGstZ3JvdXAtaGVhZGluZ117cGFkZGluZy1ibG9jazpjYWxjKHZhcigtLXNwYWNpbmcpKjEuNSl9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDp0ZXh0LXhzICopW2NtZGstZ3JvdXAtaGVhZGluZ117Zm9udC1zaXplOnZhcigtLXRleHQteHMpO2xpbmUtaGVpZ2h0OnZhcigtLXR3LWxlYWRpbmcsdmFyKC0tdGV4dC14cy0tbGluZS1oZWlnaHQpKX06aXMoLlxcKlxcKlxcOlxcW1xcW2NtZGstZ3JvdXAtaGVhZGluZ1xcXVxcXVxcOmZvbnQtbWVkaXVtICopW2NtZGstZ3JvdXAtaGVhZGluZ117LS10dy1mb250LXdlaWdodDp2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO2ZvbnQtd2VpZ2h0OnZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSl9OmlzKC5cXCpcXCpcXDpcXFtcXFtjbWRrLWdyb3VwLWhlYWRpbmdcXF1cXF1cXDp0ZXh0LW11dGVkLWZvcmVncm91bmQgKilbY21kay1ncm91cC1oZWFkaW5nXXtjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX06aXMoLlxcKlxcOlxcW2FcXF1cXDp1bmRlcmxpbmVcdTAwM2UqKTppcyhhKXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9OmlzKC5cXCpcXDpcXFthXFxdXFw6dW5kZXJsaW5lLW9mZnNldC0zXHUwMDNlKik6aXMoYSl7dGV4dC11bmRlcmxpbmUtb2Zmc2V0OjNweH1AbWVkaWEgKGhvdmVyOmhvdmVyKXsuXFxbYVxcXVxcOmhvdmVyXFw6YmctZGVzdHJ1Y3RpdmVcXC8yMDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWRlc3RydWN0aXZlKX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LlxcW2FcXF1cXDpob3ZlclxcOmJnLWRlc3RydWN0aXZlXFwvMjA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpjb2xvci1taXgoaW4gb2tsYWIsdmFyKC0tZGVzdHJ1Y3RpdmUpMjAlLHRyYW5zcGFyZW50KX19LlxcW2FcXF1cXDpob3ZlclxcOmJnLW11dGVkOmlzKGEpOmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tbXV0ZWQpfS5cXFthXFxdXFw6aG92ZXJcXDpiZy1wcmltYXJ5XFwvODA6aXMoYSk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1wcmltYXJ5KX1Ac3VwcG9ydHMgKGNvbG9yOmNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSl7LlxcW2FcXF1cXDpob3ZlclxcOmJnLXByaW1hcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1wcmltYXJ5KTgwJSx0cmFuc3BhcmVudCl9fS5cXFthXFxdXFw6aG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXNlY29uZGFyeSl9QHN1cHBvcnRzIChjb2xvcjpjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpey5cXFthXFxdXFw6aG92ZXJcXDpiZy1zZWNvbmRhcnlcXC84MDppcyhhKTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOmNvbG9yLW1peChpbiBva2xhYix2YXIoLS1zZWNvbmRhcnkpODAlLHRyYW5zcGFyZW50KX19LlxcW2FcXF1cXDpob3ZlclxcOnRleHQtbXV0ZWQtZm9yZWdyb3VuZDppcyhhKTpob3Zlcntjb2xvcjp2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKX06aXMoLlxcKlxcOlxcW2FcXF1cXDpob3ZlclxcOnRleHQtZm9yZWdyb3VuZFx1MDAzZSopOmlzKGEpOmhvdmVye2NvbG9yOnZhcigtLWZvcmVncm91bmQpfX06aXMoLlxcKlxcOlxcW2ltZ1xcOmZpcnN0LWNoaWxkXFxdXFw6cm91bmRlZC10LXhsXHUwMDNlKik6aXMoaW1nOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguXFwqXFw6XFxbaW1nXFw6bGFzdC1jaGlsZFxcXVxcOnJvdW5kZWQtYi14bFx1MDAzZSopOmlzKGltZzpsYXN0LWNoaWxkKXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czpjYWxjKHZhcigtLXJhZGl1cykqMS40KTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSoxLjQpfTppcyguZGF0YS1cXFt2YXJpYW50XFw9ZGVzdHJ1Y3RpdmVcXF1cXDpcXCpcXDpcXFtzdmdcXF1cXDp0ZXh0LWRlc3RydWN0aXZlW2RhdGEtdmFyaWFudD1kZXN0cnVjdGl2ZV1cdTAwM2UqKTppcyhzdmcpe2NvbG9yOnZhcigtLWRlc3RydWN0aXZlKX06aXMoLmRhdGEtc2VsZWN0ZWRcXDpcXCpcXDpcXFtzdmdcXF1cXDp0ZXh0LWZvcmVncm91bmQ6d2hlcmUoW2RhdGEtc2VsZWN0ZWQ9dHJ1ZV0pXHUwMDNlKik6aXMoc3ZnKXtjb2xvcjp2YXIoLS1mb3JlZ3JvdW5kKX0uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLWVuZFxcXVxcXVxcOlxcW1xcXHUwMDI2XFxcdTAwM2VpbnB1dFxcXVxcOnB0LTM6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWJsb2NrLWVuZF0pXHUwMDNlaW5wdXR7cGFkZGluZy10b3A6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uaGFzLVxcW1xcXHUwMDNlXFxbZGF0YS1hbGlnblxcPWJsb2NrLXN0YXJ0XFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cGItMzpoYXMoXHUwMDNlW2RhdGEtYWxpZ249YmxvY2stc3RhcnRdKVx1MDAzZWlucHV0e3BhZGRpbmctYm90dG9tOmNhbGModmFyKC0tc3BhY2luZykqMyl9Lmhhcy1cXFtcXFx1MDAzZVxcW2RhdGEtYWxpZ25cXD1pbmxpbmUtZW5kXFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cHItMVxcLjU6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWlubGluZS1lbmRdKVx1MDAzZWlucHV0e3BhZGRpbmctcmlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSoxLjUpfS5oYXMtXFxbXFxcdTAwM2VcXFtkYXRhLWFsaWduXFw9aW5saW5lLXN0YXJ0XFxdXFxdXFw6XFxbXFxcdTAwMjZcXFx1MDAzZWlucHV0XFxdXFw6cGwtMVxcLjU6aGFzKFx1MDAzZVtkYXRhLWFsaWduPWlubGluZS1zdGFydF0pXHUwMDNlaW5wdXR7cGFkZGluZy1sZWZ0OmNhbGModmFyKC0tc3BhY2luZykqMS41KX0uXFxbXFxcdTAwMjZcXFx1MDAzZWtiZFxcXVxcOnJvdW5kZWQtXFxbY2FsY1xcKHZhclxcKC0tcmFkaXVzXFwpLTVweFxcKVxcXVx1MDAzZWtiZHtib3JkZXItcmFkaXVzOmNhbGModmFyKC0tcmFkaXVzKSAtIDVweCl9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpwb2ludGVyLWV2ZW50cy1ub25lXHUwMDNlc3Zne3BvaW50ZXItZXZlbnRzOm5vbmV9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTNcXCFcdTAwM2Vzdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKSFpbXBvcnRhbnQ7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqMykhaW1wb3J0YW50fS5cXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFxdXFw6c2l6ZS00XHUwMDNlc3Zne3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9Lmdyb3VwLWhhcy1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhci1ncm91cFxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTU6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhci1ncm91cCk6aGFzKFtkYXRhLXNpemU9bGddKSAqKVx1MDAzZXN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjUpfS5ncm91cC1oYXMtZGF0YS1cXFtzaXplXFw9c21cXF1cXC9hdmF0YXItZ3JvdXBcXDpcXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFxdXFw6c2l6ZS0zOmlzKDp3aGVyZSguZ3JvdXBcXC9hdmF0YXItZ3JvdXApOmhhcyhbZGF0YS1zaXplPXNtXSkgKilcdTAwM2Vzdmd7d2lkdGg6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozKX0uZ3JvdXAtZGF0YS1cXFtzaXplXFw9ZGVmYXVsdFxcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWRlZmF1bHRdICopXHUwMDNlc3ZnLC5ncm91cC1kYXRhLVxcW3NpemVcXD1sZ1xcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpzaXplLTI6aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPWxnXSAqKVx1MDAzZXN2Z3t3aWR0aDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpO2hlaWdodDpjYWxjKHZhcigtLXNwYWNpbmcpKjIpfS5ncm91cC1kYXRhLVxcW3NpemVcXD1zbVxcXVxcL2F2YXRhclxcOlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXF1cXDpoaWRkZW46aXMoOndoZXJlKC5ncm91cFxcL2F2YXRhcilbZGF0YS1zaXplPXNtXSAqKVx1MDAzZXN2Z3tkaXNwbGF5Om5vbmV9LlxcW1xcXHUwMDI2XFxcdTAwM2VzdmdcXDpub3RcXChcXFtjbGFzc1xcKlxcPVxcJ3NpemUtXFwnXFxdXFwpXFxdXFw6c2l6ZS0zXFwuNVx1MDAzZXN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqMy41KTtoZWlnaHQ6Y2FsYyh2YXIoLS1zcGFjaW5nKSozLjUpfS5cXFtcXFx1MDAyNlxcXHUwMDNlc3ZnXFw6bm90XFwoXFxbY2xhc3NcXCpcXD1cXCdzaXplLVxcJ1xcXVxcKVxcXVxcOnNpemUtNFx1MDAzZXN2Zzpub3QoW2NsYXNzKj1zaXplLV0pe3dpZHRoOmNhbGModmFyKC0tc3BhY2luZykqNCk7aGVpZ2h0OmNhbGModmFyKC0tc3BhY2luZykqNCl9LlxcW1xcXHUwMDI2XFxcdTAwM2V0clxcXVxcOmxhc3RcXDpib3JkZXItYi0wXHUwMDNldHI6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXN0eWxlOnZhcigtLXR3LWJvcmRlci1zdHlsZSk7Ym9yZGVyLWJvdHRvbS13aWR0aDowfX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZGVsYXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MHN9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWRpcmVjdGlvbntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTpub3JtYWx9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWR1cmF0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1hbmltYXRpb24tZmlsbC1tb2Rle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOm5vbmV9QHByb3BlcnR5IC0tdHctYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxfUBwcm9wZXJ0eSAtLXR3LWVudGVyLWJsdXJ7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1lbnRlci1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZW50ZXItcm90YXRle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZW50ZXItc2NhbGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MX1AcHJvcGVydHkgLS10dy1lbnRlci10cmFuc2xhdGUteHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWVudGVyLXRyYW5zbGF0ZS15e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1ibHVye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctZXhpdC1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC1yb3RhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1leGl0LXNjYWxle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjF9QHByb3BlcnR5IC0tdHctZXhpdC10cmFuc2xhdGUteHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWV4aXQtdHJhbnNsYXRlLXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH06cm9vdHstLWJhY2tncm91bmQ6I2ZmZjstLWZvcmVncm91bmQ6IzExMTgyNzstLWNhcmQ6I2Y5ZmFmYjstLWNhcmQtZm9yZWdyb3VuZDojMTExODI3Oy0tcG9wb3ZlcjojZmZmOy0tcG9wb3Zlci1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1wcmltYXJ5OiMwMDcwZWM7LS1wcmltYXJ5LWZvcmVncm91bmQ6I2ZmZjstLXNlY29uZGFyeTojZjNmNGY2Oy0tc2Vjb25kYXJ5LWZvcmVncm91bmQ6IzExMTgyNzstLW11dGVkOiNmM2Y0ZjY7LS1tdXRlZC1mb3JlZ3JvdW5kOiM2YjcyODA7LS1hY2NlbnQ6I2YzZjRmNjstLWFjY2VudC1mb3JlZ3JvdW5kOiMxMTE4Mjc7LS1kZXN0cnVjdGl2ZTojZWY0NDQ0Oy0tYm9yZGVyOiNlNWU3ZWI7LS1pbnB1dDojZTVlN2ViOy0tcmluZzojMDA3NGY1Oy0tcmFkaXVzOi41cmVtOy0tc3VjY2VzczojMjJjNTVlOy0tZGFuZ2VyOiNlZjQ0NDQ7LS13YXJuaW5nOiNmNTllMGI7LS1pbmZvOiMzYjgyZjY7LS1zdXJmYWNlOiNmOWZhZmI7LS1zdXJmYWNlLTI6I2YzZjRmNjstLWNoYXJ0LTE6IzAwNzRmNTstLWNoYXJ0LTI6IzAwYjhhOTstLWNoYXJ0LTM6IzIyYzU1ZTstLWNoYXJ0LTQ6I2Y1OWUwYjstLWNoYXJ0LTU6I2VmNDQ0NDstLXNpZGViYXI6I2Y5ZmFmYjstLXNpZGViYXItZm9yZWdyb3VuZDojMTExODI3Oy0tc2lkZWJhci1wcmltYXJ5OiMwMDc0ZjU7LS1zaWRlYmFyLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2lkZWJhci1hY2NlbnQ6I2YzZjRmNjstLXNpZGViYXItYWNjZW50LWZvcmVncm91bmQ6IzExMTgyNzstLXNpZGViYXItYm9yZGVyOiNlNWU3ZWI7LS1zaWRlYmFyLXJpbmc6IzAwNzRmNX0uZGFya3stLWJhY2tncm91bmQ6IzBiMGYxOTstLWZvcmVncm91bmQ6I2Y5ZmFmYjstLWNhcmQ6IzExMTgyNzstLWNhcmQtZm9yZWdyb3VuZDojZjlmYWZiOy0tcG9wb3ZlcjojMTExODI3Oy0tcG9wb3Zlci1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1wcmltYXJ5OiMwMDcwZWM7LS1wcmltYXJ5LWZvcmVncm91bmQ6I2ZmZjstLXNlY29uZGFyeTojMWYyOTM3Oy0tc2Vjb25kYXJ5LWZvcmVncm91bmQ6I2Y5ZmFmYjstLW11dGVkOiMxZjI5Mzc7LS1tdXRlZC1mb3JlZ3JvdW5kOiM5Y2EzYWY7LS1hY2NlbnQ6IzFmMjkzNzstLWFjY2VudC1mb3JlZ3JvdW5kOiNmOWZhZmI7LS1kZXN0cnVjdGl2ZTojZWY0NDQ0Oy0tYm9yZGVyOiMzNzQxNTE7LS1pbnB1dDojMzc0MTUxOy0tcmluZzojMDA3NGY1Oy0tc3VjY2VzczojMjJjNTVlOy0tZGFuZ2VyOiNlZjQ0NDQ7LS13YXJuaW5nOiNmNTllMGI7LS1pbmZvOiMzYjgyZjY7LS1zdXJmYWNlOiMxMTE4Mjc7LS1zdXJmYWNlLTI6IzFmMjkzNzstLWNoYXJ0LTE6IzNkOWFmZjstLWNoYXJ0LTI6IzMzYzliZDstLWNoYXJ0LTM6IzIyYzU1ZTstLWNoYXJ0LTQ6I2Y1OWUwYjstLWNoYXJ0LTU6I2VmNDQ0NDstLXNpZGViYXI6IzExMTgyNzstLXNpZGViYXItZm9yZWdyb3VuZDojZjlmYWZiOy0tc2lkZWJhci1wcmltYXJ5OiMzZDlhZmY7LS1zaWRlYmFyLXByaW1hcnktZm9yZWdyb3VuZDojZmZmOy0tc2lkZWJhci1hY2NlbnQ6IzFmMjkzNzstLXNpZGViYXItYWNjZW50LWZvcmVncm91bmQ6I2Y5ZmFmYjstLXNpZGViYXItYm9yZGVyOiMzNzQxNTE7LS1zaWRlYmFyLXJpbmc6IzAwNzRmNX1Aa2V5ZnJhbWVzIHRleHQtc2hpbW1lcnswJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjIwMCV9dG97YmFja2dyb3VuZC1wb3NpdGlvbjotMjAwJX19LnRleHQtc2hpbW1lcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZyx2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTQwJSx2YXIoLS1mb3JlZ3JvdW5kKTUwJSx2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKTYwJSk7Y29sb3I6IzAwMDA7YmFja2dyb3VuZC1zaXplOjIwMCU7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDtiYWNrZ3JvdW5kLWNsaXA6dGV4dDthbmltYXRpb246MnMgbGluZWFyIGluZmluaXRlIHRleHQtc2hpbW1lcn1odG1sLmNjLWNvbnNlbnRlZCAuY29va2llLW5vdGljZXtkaXNwbGF5Om5vbmV9QHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXh7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXRyYW5zbGF0ZS16e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjB9QHByb3BlcnR5IC0tdHctcm90YXRlLXh7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS15e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1yb3RhdGUtentzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2tldy14e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1za2V3LXl7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNwYWNlLXktcmV2ZXJzZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXNwYWNlLXgtcmV2ZXJzZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LWRpdmlkZS15LXJldmVyc2V7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MH1AcHJvcGVydHkgLS10dy1ib3JkZXItc3R5bGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6c29saWR9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtcG9zaXRpb257c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb217c3ludGF4OlwiXHUwMDNjY29sb3JcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYXtzeW50YXg6XCJcdTAwM2Njb2xvclx1MDAzZVwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6IzAwMDB9QHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdG97c3ludGF4OlwiXHUwMDNjY29sb3JcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiMwMDAwfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXN0b3Bze3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ncmFkaWVudC12aWEtc3RvcHN7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb257c3ludGF4OlwiXHUwMDNjbGVuZ3RoLXBlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXZpYS1wb3NpdGlvbntzeW50YXg6XCJcdTAwM2NsZW5ndGgtcGVyY2VudGFnZVx1MDAzZVwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6NTAlfUBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9ue3N5bnRheDpcIlx1MDAzY2xlbmd0aC1wZXJjZW50YWdlXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LWxlYWRpbmd7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWZvbnQtd2VpZ2h0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy10cmFja2luZ3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3JkaW5hbHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2xhc2hlZC16ZXJve3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZpZ3VyZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctbnVtZXJpYy1zcGFjaW5ne3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1udW1lcmljLWZyYWN0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1zaGFkb3d7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlO2luaXRpYWwtdmFsdWU6MCAwICMwMDAwfUBwcm9wZXJ0eSAtLXR3LXNoYWRvdy1jb2xvcntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2hhZG93LWFscGhhe3N5bnRheDpcIlx1MDAzY3BlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1zaGFkb3ctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvdy1hbHBoYXtzeW50YXg6XCJcdTAwM2NwZXJjZW50YWdlXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZToxMDAlfUBwcm9wZXJ0eSAtLXR3LXJpbmctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXJpbmctc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLWNvbG9ye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLXNoYWRvd3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowIDAgIzAwMDB9QHByb3BlcnR5IC0tdHctcmluZy1pbnNldHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtd2lkdGh7c3ludGF4OlwiXHUwMDNjbGVuZ3RoXHUwMDNlXCI7aW5oZXJpdHM6ZmFsc2U7aW5pdGlhbC12YWx1ZTowfUBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LWNvbG9ye3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOiNmZmZ9QHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtc2hhZG93e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjAgMCAjMDAwMH1AcHJvcGVydHkgLS10dy1vdXRsaW5lLXN0eWxle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOnNvbGlkfUBwcm9wZXJ0eSAtLXR3LWJsdXJ7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJyaWdodG5lc3N7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWNvbnRyYXN0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1ncmF5c2NhbGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWh1ZS1yb3RhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWludmVydHtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctb3BhY2l0eXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctc2F0dXJhdGV7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LXNlcGlhe3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvd3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctY29sb3J7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWFscGhhe3N5bnRheDpcIlx1MDAzY3BlcmNlbnRhZ2VcdTAwM2VcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOjEwMCV9QHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctc2l6ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYmx1cntzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzc3tzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtY29udHJhc3R7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaW52ZXJ0e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1vcGFjaXR5e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZXtzeW50YXg6XCIqXCI7aW5oZXJpdHM6ZmFsc2V9QHByb3BlcnR5IC0tdHctYmFja2Ryb3Atc2VwaWF7c3ludGF4OlwiKlwiO2luaGVyaXRzOmZhbHNlfUBwcm9wZXJ0eSAtLXR3LWR1cmF0aW9ue3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1lYXNle3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZX1AcHJvcGVydHkgLS10dy1jb250ZW50e3N5bnRheDpcIipcIjtpbmhlcml0czpmYWxzZTtpbml0aWFsLXZhbHVlOlwiXCJ9QGtleWZyYW1lcyBzcGlue3Rve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QGtleWZyYW1lcyBwdWxzZXs1MCV7b3BhY2l0eTouNX19QGtleWZyYW1lcyBlbnRlcnswJXtvcGFjaXR5OnZhcigtLXR3LWVudGVyLW9wYWNpdHksMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKHZhcigtLXR3LWVudGVyLXRyYW5zbGF0ZS14LDApLHZhcigtLXR3LWVudGVyLXRyYW5zbGF0ZS15LDApLDApc2NhbGUzZCh2YXIoLS10dy1lbnRlci1zY2FsZSwxKSx2YXIoLS10dy1lbnRlci1zY2FsZSwxKSx2YXIoLS10dy1lbnRlci1zY2FsZSwxKSlyb3RhdGUodmFyKC0tdHctZW50ZXItcm90YXRlLDApKTtmaWx0ZXI6Ymx1cih2YXIoLS10dy1lbnRlci1ibHVyLDApKX19QGtleWZyYW1lcyBleGl0e3Rve29wYWNpdHk6dmFyKC0tdHctZXhpdC1vcGFjaXR5LDEpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCh2YXIoLS10dy1leGl0LXRyYW5zbGF0ZS14LDApLHZhcigtLXR3LWV4aXQtdHJhbnNsYXRlLXksMCksMClzY2FsZTNkKHZhcigtLXR3LWV4aXQtc2NhbGUsMSksdmFyKC0tdHctZXhpdC1zY2FsZSwxKSx2YXIoLS10dy1leGl0LXNjYWxlLDEpKXJvdGF0ZSh2YXIoLS10dy1leGl0LXJvdGF0ZSwwKSk7ZmlsdGVyOmJsdXIodmFyKC0tdHctZXhpdC1ibHVyLDApKX19XG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMDp7XCJQXCI6bnVsbCxcImJcIjpcIlMxSjJHRS1qQzlkRTl5aGE5aEFfdFwiLFwiY1wiOltcIlwiLFwid2lkZ2V0XCJdLFwicVwiOlwiXCIsXCJpXCI6ZmFsc2UsXCJmXCI6W1tbXCJcIix7XCJjaGlsZHJlblwiOltcIihlbWJlZClcIix7XCJjaGlsZHJlblwiOltcIndpZGdldFwiLHtcImNoaWxkcmVuXCI6W1wiX19QQUdFX19cIix7fV19XX1dfSxcIiR1bmRlZmluZWRcIixcIiR1bmRlZmluZWRcIix0cnVlXSxbW1wiJFwiLFwiJDFcIixcImNcIix7XCJjaGlsZHJlblwiOltbW1wiJFwiLFwic3R5bGVcIixcIjBcIix7XCJub25jZVwiOlwiJHVuZGVmaW5lZFwiLFwicHJlY2VkZW5jZVwiOlwibmV4dFwiLFwiaHJlZlwiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvMDcyNWZjNGRiODE0ZjAzNS5jc3NcIixcImNoaWxkcmVuXCI6XCIkMlwifV0sW1wiJFwiLFwic3R5bGVcIixcIjFcIix7XCJub25jZVwiOlwiJHVuZGVmaW5lZFwiLFwicHJlY2VkZW5jZVwiOlwibmV4dFwiLFwiaHJlZlwiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvYjM0ZWJiOGFlZmYyMTg2ZS5jc3NcIixcImNoaWxkcmVuXCI6XCIkM1wifV0sXCIkTDRcIl0sXCIkTDVcIl19XSx7XCJjaGlsZHJlblwiOltcIiRMNlwiLHtcImNoaWxkcmVuXCI6W1wiJEw3XCIse1wiY2hpbGRyZW5cIjpbXCIkTDhcIix7fSxudWxsLGZhbHNlLGZhbHNlXX0sbnVsbCxmYWxzZSxmYWxzZV19LG51bGwsZmFsc2UsZmFsc2VdfSxudWxsLGZhbHNlLGZhbHNlXSxcIiRMOVwiLGZhbHNlXV0sXCJtXCI6XCIkdW5kZWZpbmVkXCIsXCJHXCI6W1wiJGFcIixbXV0sXCJTXCI6dHJ1ZX1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCJiOklbODM2NjEsW1wiL19uZXh0L3N0YXRpYy9jaHVua3MvYzBhNmFlNTE1ZjRkMjQ1ZC5qc1wiXSxcIlRoZW1lUHJvdmlkZXJcIl1cbmM6SVszMDk3LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzMzMDc0ZDNmZjVkMGNkMmQuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanNcIl0sXCJkZWZhdWx0XCJdXG5kOklbOTkyOTksW1wiL19uZXh0L3N0YXRpYy9jaHVua3MvMzMwNzRkM2ZmNWQwY2QyZC5qc1wiLFwiL19uZXh0L3N0YXRpYy9jaHVua3MvOTUyNjIzODZkOGQ0YjZkZC5qc1wiXSxcImRlZmF1bHRcIl1cbmU6XCIkU3JlYWN0LnN1c3BlbnNlXCJcbmY6SVs3OTI5NCxbXCIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy84MDBlODM2MTQ2ZDZlN2ViLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy9kNzFiOTkyNjdiMDY2YjliLmpzXCJdLFwiV2lkZ2V0Q2xpZW50XCJdXG4xMDpJWzM2MzQ1LFtcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzMzMDc0ZDNmZjVkMGNkMmQuanNcIixcIi9fbmV4dC9zdGF0aWMvY2h1bmtzLzk1MjYyMzg2ZDhkNGI2ZGQuanNcIl0sXCJPdXRsZXRCb3VuZGFyeVwiXVxuMTI6SVszNjM0NSxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiVmlld3BvcnRCb3VuZGFyeVwiXVxuMTQ6SVszNjM0NSxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiTWV0YWRhdGFCb3VuZGFyeVwiXVxuNDpbXCIkXCIsXCJzY3JpcHRcIixcInNjcmlwdC0wXCIse1wic3JjXCI6XCIvX25leHQvc3RhdGljL2NodW5rcy9jMGE2YWU1MTVmNGQyNDVkLmpzXCIsXCJhc3luY1wiOnRydWUsXCJub25jZVwiOlwiJHVuZGVmaW5lZFwifV1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCI1OltcIiRcIixcImh0bWxcIixudWxsLHtcImxhbmdcIjpcImVuXCIsXCJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmdcIjp0cnVlLFwiY2hpbGRyZW5cIjpbW1wiJFwiLFwiaGVhZFwiLG51bGwse1wiY2hpbGRyZW5cIjpbW1wiJFwiLFwic2NyaXB0XCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwidHJ5e2lmKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdjb2lubGliLWNvb2tpZS1jb25zZW50Jykpe2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdjYy1jb25zZW50ZWQnKX19Y2F0Y2goZSl7fVwifX1dLFtcIiRcIixcImxpbmtcIixudWxsLHtcInJlbFwiOlwicHJlY29ubmVjdFwiLFwiaHJlZlwiOlwiaHR0cHM6Ly9zMi5jb2lubWFya2V0Y2FwLmNvbVwiLFwiY3Jvc3NPcmlnaW5cIjpcIlwifV1dfV0sW1wiJFwiLFwiYm9keVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJpbnRlcl8xZWM0ZGQ5Zi1tb2R1bGVfX1VNUGFLR19fdmFyaWFibGUgYW50aWFsaWFzZWRcIixcImNoaWxkcmVuXCI6W1tcIiRcIixcIiRMYlwiLG51bGwse1wiY2hpbGRyZW5cIjpbXCIkXCIsXCIkTGNcIixudWxsLHtcInBhcmFsbGVsUm91dGVyS2V5XCI6XCJjaGlsZHJlblwiLFwiZXJyb3JcIjpcIiR1bmRlZmluZWRcIixcImVycm9yU3R5bGVzXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclNjcmlwdHNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlXCI6W1wiJFwiLFwiJExkXCIsbnVsbCx7fV0sXCJ0ZW1wbGF0ZVN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwidGVtcGxhdGVTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJub3RGb3VuZFwiOltbW1wiJFwiLFwidGl0bGVcIixudWxsLHtcImNoaWxkcmVuXCI6XCI0MDQ6IFRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmQuXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcInN0eWxlXCI6e1wiZm9udEZhbWlseVwiOlwic3lzdGVtLXVpLFxcXCJTZWdvZSBVSVxcXCIsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmLFxcXCJBcHBsZSBDb2xvciBFbW9qaVxcXCIsXFxcIlNlZ29lIFVJIEVtb2ppXFxcIlwiLFwiaGVpZ2h0XCI6XCIxMDB2aFwiLFwidGV4dEFsaWduXCI6XCJjZW50ZXJcIixcImRpc3BsYXlcIjpcImZsZXhcIixcImZsZXhEaXJlY3Rpb25cIjpcImNvbHVtblwiLFwiYWxpZ25JdGVtc1wiOlwiY2VudGVyXCIsXCJqdXN0aWZ5Q29udGVudFwiOlwiY2VudGVyXCJ9LFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJkaXZcIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwiYm9keXtjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmZjttYXJnaW46MH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7Ym9keXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzAwMH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpfX1cIn19XSxbXCIkXCIsXCJoMVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJuZXh0LWVycm9yLWgxXCIsXCJzdHlsZVwiOntcImRpc3BsYXlcIjpcImlubGluZS1ibG9ja1wiLFwibWFyZ2luXCI6XCIwIDIwcHggMCAwXCIsXCJwYWRkaW5nXCI6XCIwIDIzcHggMCAwXCIsXCJmb250U2l6ZVwiOjI0LFwiZm9udFdlaWdodFwiOjUwMCxcInZlcnRpY2FsQWxpZ25cIjpcInRvcFwiLFwibGluZUhlaWdodFwiOlwiNDlweFwifSxcImNoaWxkcmVuXCI6NDA0fV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJzdHlsZVwiOntcImRpc3BsYXlcIjpcImlubGluZS1ibG9ja1wifSxcImNoaWxkcmVuXCI6W1wiJFwiLFwiaDJcIixudWxsLHtcInN0eWxlXCI6e1wiZm9udFNpemVcIjoxNCxcImZvbnRXZWlnaHRcIjo0MDAsXCJsaW5lSGVpZ2h0XCI6XCI0OXB4XCIsXCJtYXJnaW5cIjowfSxcImNoaWxkcmVuXCI6XCJUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kLlwifV19XV19XX1dXSxbXV0sXCJmb3JiaWRkZW5cIjpcIiR1bmRlZmluZWRcIixcInVuYXV0aG9yaXplZFwiOlwiJHVuZGVmaW5lZFwifV19XSxbXCIkXCIsXCJzY3JpcHRcIixudWxsLHtcImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXCI6e1wiX19odG1sXCI6XCIoZnVuY3Rpb24oKXtmdW5jdGlvbiBsb2FkKCl7d2luZG93LmRhdGFMYXllcj13aW5kb3cuZGF0YUxheWVyfHxbXTt3aW5kb3cuZ3RhZz1mdW5jdGlvbigpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyl9O2d0YWcoJ2pzJyxuZXcgRGF0ZSgpKTtndGFnKCdjb25maWcnLCdHLVY4NFhQOFdHWFknKTt2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtzLnNyYz0naHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLVY4NFhQOFdHWFknO3MuYXN5bmM9dHJ1ZTtkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpfWZ1bmN0aW9uIHNjaGVkdWxlKCl7aWYoJ3JlcXVlc3RJZGxlQ2FsbGJhY2snaW4gd2luZG93KXtyZXF1ZXN0SWRsZUNhbGxiYWNrKGxvYWQse3RpbWVvdXQ6MzAwMH0pfWVsc2V7c2V0VGltZW91dChsb2FkLDE1MDApfX1pZihkb2N1bWVudC5yZWFkeVN0YXRlPT09J2NvbXBsZXRlJyl7c2NoZWR1bGUoKX1lbHNle2FkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLHNjaGVkdWxlLHtvbmNlOnRydWV9KX19KSgpO1wifX1dXX1dXX1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiNjpbXCIkXCIsXCIkMVwiLFwiY1wiLHtcImNoaWxkcmVuXCI6W251bGwsW1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiaHRtbCwgYm9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVwifV0sW1wiJFwiLFwiJExjXCIsbnVsbCx7XCJwYXJhbGxlbFJvdXRlcktleVwiOlwiY2hpbGRyZW5cIixcImVycm9yXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwiZXJyb3JTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJ0ZW1wbGF0ZVwiOltcIiRcIixcIiRMZFwiLG51bGwse31dLFwidGVtcGxhdGVTdHlsZXNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlU2NyaXB0c1wiOlwiJHVuZGVmaW5lZFwiLFwibm90Rm91bmRcIjpbW1tcIiRcIixcInRpdGxlXCIsbnVsbCx7XCJjaGlsZHJlblwiOlwiNDA0OiBUaGlzIHBhZ2UgY291bGQgbm90IGJlIGZvdW5kLlwifV0sW1wiJFwiLFwiZGl2XCIsbnVsbCx7XCJzdHlsZVwiOlwiJDU6cHJvcHM6Y2hpbGRyZW46MTpwcm9wczpjaGlsZHJlbjowOnByb3BzOmNoaWxkcmVuOnByb3BzOm5vdEZvdW5kOjA6MTpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJkaXZcIixudWxsLHtcImNoaWxkcmVuXCI6W1tcIiRcIixcInN0eWxlXCIsbnVsbCx7XCJkYW5nZXJvdXNseVNldElubmVySFRNTFwiOntcIl9faHRtbFwiOlwiYm9keXtjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmZjttYXJnaW46MH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfUBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6ZGFyayl7Ym9keXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzAwMH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjMpfX1cIn19XSxbXCIkXCIsXCJoMVwiLG51bGwse1wiY2xhc3NOYW1lXCI6XCJuZXh0LWVycm9yLWgxXCIsXCJzdHlsZVwiOlwiJDU6cHJvcHM6Y2hpbGRyZW46MTpwcm9wczpjaGlsZHJlbjowOnByb3BzOmNoaWxkcmVuOnByb3BzOm5vdEZvdW5kOjA6MTpwcm9wczpjaGlsZHJlbjpwcm9wczpjaGlsZHJlbjoxOnByb3BzOnN0eWxlXCIsXCJjaGlsZHJlblwiOjQwNH1dLFtcIiRcIixcImRpdlwiLG51bGwse1wic3R5bGVcIjpcIiQ1OnByb3BzOmNoaWxkcmVuOjE6cHJvcHM6Y2hpbGRyZW46MDpwcm9wczpjaGlsZHJlbjpwcm9wczpub3RGb3VuZDowOjE6cHJvcHM6Y2hpbGRyZW46cHJvcHM6Y2hpbGRyZW46Mjpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpbXCIkXCIsXCJoMlwiLG51bGwse1wic3R5bGVcIjpcIiQ1OnByb3BzOmNoaWxkcmVuOjE6cHJvcHM6Y2hpbGRyZW46MDpwcm9wczpjaGlsZHJlbjpwcm9wczpub3RGb3VuZDowOjE6cHJvcHM6Y2hpbGRyZW46cHJvcHM6Y2hpbGRyZW46Mjpwcm9wczpjaGlsZHJlbjpwcm9wczpzdHlsZVwiLFwiY2hpbGRyZW5cIjpcIlRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmQuXCJ9XX1dXX1dfV1dLFtdXSxcImZvcmJpZGRlblwiOlwiJHVuZGVmaW5lZFwiLFwidW5hdXRob3JpemVkXCI6XCIkdW5kZWZpbmVkXCJ9XV1dfV1cbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCI3OltcIiRcIixcIiQxXCIsXCJjXCIse1wiY2hpbGRyZW5cIjpbbnVsbCxbXCIkXCIsXCIkTGNcIixudWxsLHtcInBhcmFsbGVsUm91dGVyS2V5XCI6XCJjaGlsZHJlblwiLFwiZXJyb3JcIjpcIiR1bmRlZmluZWRcIixcImVycm9yU3R5bGVzXCI6XCIkdW5kZWZpbmVkXCIsXCJlcnJvclNjcmlwdHNcIjpcIiR1bmRlZmluZWRcIixcInRlbXBsYXRlXCI6W1wiJFwiLFwiJExkXCIsbnVsbCx7fV0sXCJ0ZW1wbGF0ZVN0eWxlc1wiOlwiJHVuZGVmaW5lZFwiLFwidGVtcGxhdGVTY3JpcHRzXCI6XCIkdW5kZWZpbmVkXCIsXCJub3RGb3VuZFwiOlwiJHVuZGVmaW5lZFwiLFwiZm9yYmlkZGVuXCI6XCIkdW5kZWZpbmVkXCIsXCJ1bmF1dGhvcml6ZWRcIjpcIiR1bmRlZmluZWRcIn1dXX1dXG44OltcIiRcIixcIiQxXCIsXCJjXCIse1wiY2hpbGRyZW5cIjpbW1wiJFwiLFwiJGVcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJExmXCIsbnVsbCx7fV19XSxbW1wiJFwiLFwic2NyaXB0XCIsXCJzY3JpcHQtMFwiLHtcInNyY1wiOlwiL19uZXh0L3N0YXRpYy9jaHVua3MvODAwZTgzNjE0NmQ2ZTdlYi5qc1wiLFwiYXN5bmNcIjp0cnVlLFwibm9uY2VcIjpcIiR1bmRlZmluZWRcIn1dLFtcIiRcIixcInNjcmlwdFwiLFwic2NyaXB0LTFcIix7XCJzcmNcIjpcIi9fbmV4dC9zdGF0aWMvY2h1bmtzL2Q3MWI5OTI2N2IwNjZiOWIuanNcIixcImFzeW5jXCI6dHJ1ZSxcIm5vbmNlXCI6XCIkdW5kZWZpbmVkXCJ9XV0sW1wiJFwiLFwiJEwxMFwiLG51bGwse1wiY2hpbGRyZW5cIjpbXCIkXCIsXCIkZVwiLG51bGwse1wibmFtZVwiOlwiTmV4dC5NZXRhZGF0YU91dGxldFwiLFwiY2hpbGRyZW5cIjpcIiRAMTFcIn1dfV1dfV1cbjk6W1wiJFwiLFwiJDFcIixcImhcIix7XCJjaGlsZHJlblwiOltudWxsLFtcIiRcIixcIiRMMTJcIixudWxsLHtcImNoaWxkcmVuXCI6XCIkTDEzXCJ9XSxbXCIkXCIsXCJkaXZcIixudWxsLHtcImhpZGRlblwiOnRydWUsXCJjaGlsZHJlblwiOltcIiRcIixcIiRMMTRcIixudWxsLHtcImNoaWxkcmVuXCI6W1wiJFwiLFwiJGVcIixudWxsLHtcIm5hbWVcIjpcIk5leHQuTWV0YWRhdGFcIixcImNoaWxkcmVuXCI6XCIkTDE1XCJ9XX1dfV0sW1wiJFwiLFwibWV0YVwiLG51bGwse1wibmFtZVwiOlwibmV4dC1zaXplLWFkanVzdFwiLFwiY29udGVudFwiOlwiXCJ9XV19XVxuIl0pPC9zY3JpcHQ+PHNjcmlwdD5zZWxmLl9fbmV4dF9mLnB1c2goWzEsIjEzOltbXCIkXCIsXCJtZXRhXCIsXCIwXCIse1wiY2hhclNldFwiOlwidXRmLThcIn1dLFtcIiRcIixcIm1ldGFcIixcIjFcIix7XCJuYW1lXCI6XCJ2aWV3cG9ydFwiLFwiY29udGVudFwiOlwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHZpZXdwb3J0LWZpdD1jb3ZlclwifV1dXG4iXSk8L3NjcmlwdD48c2NyaXB0PnNlbGYuX19uZXh0X2YucHVzaChbMSwiMTY6SVsyMDQxNCxbXCIvX25leHQvc3RhdGljL2NodW5rcy8zMzA3NGQzZmY1ZDBjZDJkLmpzXCIsXCIvX25leHQvc3RhdGljL2NodW5rcy85NTI2MjM4NmQ4ZDRiNmRkLmpzXCJdLFwiSWNvbk1hcmtcIl1cbjExOm51bGxcbiJdKTwvc2NyaXB0PjxzY3JpcHQ+c2VsZi5fX25leHRfZi5wdXNoKFsxLCIxNTpbW1wiJFwiLFwidGl0bGVcIixcIjBcIix7XCJjaGlsZHJlblwiOlwiQ29pbmxpYiBXaWRnZXQgfCBDb2lubGliXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxXCIse1wibmFtZVwiOlwiZGVzY3JpcHRpb25cIixcImNvbnRlbnRcIjpcIlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIyXCIse1wibmFtZVwiOlwia2V5d29yZHNcIixcImNvbnRlbnRcIjpcImNyeXB0b2N1cnJlbmN5LGNyeXB0byBwcmljZXMsYml0Y29pbixtYXJrZXQgY2FwLGNyeXB0byBjaGFydHMscG9ydGZvbGlvIHRyYWNrZXJcIn1dLFtcIiRcIixcIm1ldGFcIixcIjNcIix7XCJuYW1lXCI6XCJyb2JvdHNcIixcImNvbnRlbnRcIjpcIm5vaW5kZXhcIn1dLFtcIiRcIixcIm1ldGFcIixcIjRcIix7XCJwcm9wZXJ0eVwiOlwib2c6dGl0bGVcIixcImNvbnRlbnRcIjpcIkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzIFx1MDAyNiBNYXJrZXQgRGF0YVwifV0sW1wiJFwiLFwibWV0YVwiLFwiNVwiLHtcInByb3BlcnR5XCI6XCJvZzpkZXNjcmlwdGlvblwiLFwiY29udGVudFwiOlwiVHJhY2sgcmVhbC10aW1lIGNyeXB0b2N1cnJlbmN5IHByaWNlcywgbWFya2V0IGNhcCwgY2hhcnRzLCBhbmQgcG9ydGZvbGlvLiBFeHBsb3JlIHRob3VzYW5kcyBvZiBjb2lucyBhbmQgZXhjaGFuZ2VzIHdpdGggQ29pbmxpYi5cIn1dLFtcIiRcIixcIm1ldGFcIixcIjZcIix7XCJwcm9wZXJ0eVwiOlwib2c6dXJsXCIsXCJjb250ZW50XCI6XCJodHRwczovL2NvaW5saWIuaW9cIn1dLFtcIiRcIixcIm1ldGFcIixcIjdcIix7XCJwcm9wZXJ0eVwiOlwib2c6c2l0ZV9uYW1lXCIsXCJjb250ZW50XCI6XCJDb2lubGliXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCI4XCIse1wicHJvcGVydHlcIjpcIm9nOmltYWdlXCIsXCJjb250ZW50XCI6XCJodHRwczovL2NvaW5saWIuaW8vb2cvZGVmYXVsdC5wbmdcIn1dLFtcIiRcIixcIm1ldGFcIixcIjlcIix7XCJwcm9wZXJ0eVwiOlwib2c6aW1hZ2U6d2lkdGhcIixcImNvbnRlbnRcIjpcIjEyMDBcIn1dLFtcIiRcIixcIm1ldGFcIixcIjEwXCIse1wicHJvcGVydHlcIjpcIm9nOmltYWdlOmhlaWdodFwiLFwiY29udGVudFwiOlwiNjMwXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxMVwiLHtcInByb3BlcnR5XCI6XCJvZzppbWFnZTphbHRcIixcImNvbnRlbnRcIjpcIkNvaW5saWIg4oCUIENyeXB0b2N1cnJlbmN5IFByaWNlcywgQ2hhcnRzIFx1MDAyNiBNYXJrZXQgRGF0YVwifV0sW1wiJFwiLFwibWV0YVwiLFwiMTJcIix7XCJwcm9wZXJ0eVwiOlwib2c6dHlwZVwiLFwiY29udGVudFwiOlwid2Vic2l0ZVwifV0sW1wiJFwiLFwibWV0YVwiLFwiMTNcIix7XCJuYW1lXCI6XCJ0d2l0dGVyOmNhcmRcIixcImNvbnRlbnRcIjpcInN1bW1hcnlfbGFyZ2VfaW1hZ2VcIn1dLFtcIiRcIixcIm1ldGFcIixcIjE0XCIse1wibmFtZVwiOlwidHdpdHRlcjp0aXRsZVwiLFwiY29udGVudFwiOlwiQ29pbmxpYiDigJQgQ3J5cHRvY3VycmVuY3kgUHJpY2VzLCBDaGFydHMgXHUwMDI2IE1hcmtldCBEYXRhXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxNVwiLHtcIm5hbWVcIjpcInR3aXR0ZXI6ZGVzY3JpcHRpb25cIixcImNvbnRlbnRcIjpcIlRyYWNrIHJlYWwtdGltZSBjcnlwdG9jdXJyZW5jeSBwcmljZXMsIG1hcmtldCBjYXAsIGNoYXJ0cywgYW5kIHBvcnRmb2xpby4gRXhwbG9yZSB0aG91c2FuZHMgb2YgY29pbnMgYW5kIGV4Y2hhbmdlcyB3aXRoIENvaW5saWIuXCJ9XSxbXCIkXCIsXCJtZXRhXCIsXCIxNlwiLHtcIm5hbWVcIjpcInR3aXR0ZXI6aW1hZ2VcIixcImNvbnRlbnRcIjpcImh0dHBzOi8vY29pbmxpYi5pby9vZy9kZWZhdWx0LnBuZ1wifV0sW1wiJFwiLFwibGlua1wiLFwiMTdcIix7XCJyZWxcIjpcImljb25cIixcImhyZWZcIjpcIi9mYXZpY29uLmljbz9mYXZpY29uLjM5MGUxMTA5Lmljb1wiLFwic2l6ZXNcIjpcIjQ4eDQ4XCIsXCJ0eXBlXCI6XCJpbWFnZS94LWljb25cIn1dLFtcIiRcIixcImxpbmtcIixcIjE4XCIse1wicmVsXCI6XCJhcHBsZS10b3VjaC1pY29uXCIsXCJocmVmXCI6XCIvbG9nb3MvYXBwbGUtdG91Y2gtaWNvbi5wbmdcIn1dLFtcIiRcIixcIiRMMTZcIixcIjE5XCIse31dXVxuIl0pPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJtb2R1bGUiIHNyYz0iaHR0cHM6Ly9zdGF0aWMuY2xvdWRmbGFyZWluc2lnaHRzLmNvbS9iZWFjb24ubWluLmpzL3Y0NTEzMjI2Y2RhZTM0NzQ2YjRkZWRmMGI0ZGZhMDk5ZTE3ODE3OTE1MDk0OTYiIGludGVncml0eT0ic2hhNTEyLVpFOXBaYVVYTkQ2NnYzODBRVXRjaC81c0U5dFBGaDJ6ZzQ1cFIyUEIwQ1ZrQ3RPUkV2MkFKS2tTaWRJU1dreXNFdVEwRUg4ZmFVVTVkdTc4Yng4N1VRPT0iIGRhdGEtY2YtYmVhY29uPSd7InZlcnNpb24iOiIyMDI0LjExLjAiLCJ0b2tlbiI6IjdkZjcwOGZjZmFhMDRhNjRhYjNiNWU4NmUzMTBkZjVhIiwiciI6MX0nIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiPjwvc2NyaXB0Pgo8L2JvZHk+PC9odG1sPg=="}},"time_used":36,"timings":{"blocked":5,"dns":0,"connect":0,"send":0,"wait":28,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coinlib.io/_next/static/chunks/turbopack-18a9de512a1933ad.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.482Z","timestamp":1785129949482,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/turbopack-18a9de512a1933ad.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 2245336\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"turbopack-18a9de512a1933ad.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; script-src-elem 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://auth.coinlib.io https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"ee874107586f9203ea70e460428f2bb3\"\r\nlast-modified: Tue, 30 Jun 2026 21:36:51 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/turbopack-18a9de512a1933ad.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::224xg-1782884613047-36a6958ca2eb\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=m8KskmdROHcUrOYo%2Bf6A%2F1O7POPQXZkUHfUUO5jD%2BiuO2FG7Y1rrBrMbvNxGlRozECVFUFG2MWg9NLgOtez96lGYMVRtqIWBZoAenOlR6YlM%2BKKm66Q4436sggPU\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c84d26a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":10707,"size_decoded":6492,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (6438)","md5":"ee874107586f9203ea70e460428f2bb3","sha1":"9bfba653884c0499149072efe4824e6170f10271","sha256":"44b3081e3a644e21b57f4155637e1e43563eae2c0f034c6ba9edd6bc9cba26ea","sha512":"7fd5fb8b487d8981ead132093abf93b51a77860cb1d04cd5c233c3e671b7183921080069aac71afb4f5f77a424d02ccdea22e3feba459326eea86d1c6637a09b","ssdeep":"192:D74eFn8/Esp1U91EG5T1uyO9lGdiwMhMlng4W9PZcxkUk1IsiyLxA:D74e2OvO9lG0OlgJZZQLyLxA","tlshash":"6722d8ea33a6f07743af94e6907f4044f1795468145d542c936ce8fa38398ae49e3f27","first_seen":"2026-07-01T05:10:22.643373Z","last_seen":"2026-07-31T06:34:35.53001Z","times_seen":1526,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLHtvdGhlckNodW5rczpbInN0YXRpYy9jaHVua3MvODFhMjk4ZGRjNzQ3MTA3MC5qcyIsInN0YXRpYy9jaHVua3MvOWRmM2I2N2I2MDYxZWE5ZS5qcyIsInN0YXRpYy9jaHVua3MvNDgwY2RlMDhiOGJmZDVjZS5qcyIsInN0YXRpYy9jaHVua3MvNDkxMTQxMGU1MTUzZjBkNy5qcyIsInN0YXRpYy9jaHVua3MvNDgxNWE3NTg2NTdkNGJhZS5qcyJdLHJ1bnRpbWVNb2R1bGVJZHM6Wzk2MzM1XX1dKSwoKCk9PntsZXQgZTtpZighQXJyYXkuaXNBcnJheShnbG9iYWxUaGlzLlRVUkJPUEFDSykpcmV0dXJuO2xldCB0PSIvX25leHQvIixyPShzZWxmLlRVUkJPUEFDS19DSFVOS19TVUZGSVg/P2RvY3VtZW50Py5jdXJyZW50U2NyaXB0Py5nZXRBdHRyaWJ1dGU/Ligic3JjIik/LnJlcGxhY2UoL14oLiooPz1cPyl8Xi4qJCkvLCIiKSl8fCIiLG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gbyhlLHQpe3RoaXMubT1lLHRoaXMuZT10fWxldCBsPW8ucHJvdG90eXBlLGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxzPSJ1Ij50eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWc7ZnVuY3Rpb24gdShlLHQscil7aS5jYWxsKGUsdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQscil9ZnVuY3Rpb24gYShlLHQpe2xldCByPWVbdF07cmV0dXJuIHJ8fChyPWModCksZVt0XT1yKSxyfWZ1bmN0aW9uIGMoZSl7cmV0dXJue2V4cG9ydHM6e30sZXJyb3I6dm9pZCAwLGlkOmUsbmFtZXNwYWNlT2JqZWN0OnZvaWQgMH19ZnVuY3Rpb24gZihlLHQpe3UoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSkscyYmdShlLHMse3ZhbHVlOiJNb2R1bGUifSk7bGV0IHI9MDtmb3IoO3I8dC5sZW5ndGg7KXtsZXQgbj10W3IrK10sbz10W3IrK107aWYoIm51bWJlciI9PXR5cGVvZiBvKWlmKDA9PT1vKXUoZSxuLHt2YWx1ZTp0W3IrK10sZW51bWVyYWJsZTohMCx3cml0YWJsZTohMX0pO2Vsc2UgdGhyb3cgRXJyb3IoYHVuZXhwZWN0ZWQgdGFnOiAke299YCk7ZWxzZSJmdW5jdGlvbiI9PXR5cGVvZiB0W3JdP3UoZSxuLHtnZXQ6byxzZXQ6dFtyKytdLGVudW1lcmFibGU6ITB9KTp1KGUsbix7Z2V0Om8sZW51bWVyYWJsZTohMH0pfU9iamVjdC5zZWFsKGUpfWwucz1mdW5jdGlvbihlLHQpe2xldCByLG47bnVsbCE9dD9uPShyPWEodGhpcy5jLHQpKS5leHBvcnRzOihyPXRoaXMubSxuPXRoaXMuZSksci5uYW1lc3BhY2VPYmplY3Q9bixmKG4sZSl9LGwuaj1mdW5jdGlvbihlLHQpe3ZhciByLG87bGV0IGwscyx1O251bGwhPXQ/cz0obD1hKHRoaXMuYyx0KSkuZXhwb3J0czoobD10aGlzLm0scz10aGlzLmUpO2xldCBjPShyPWwsbz1zLCh1PW4uZ2V0KHIpKXx8KG4uc2V0KHIsdT1bXSksci5leHBvcnRzPXIubmFtZXNwYWNlT2JqZWN0PW5ldyBQcm94eShvLHtnZXQoZSx0KXtpZihpLmNhbGwoZSx0KXx8ImRlZmF1bHQiPT09dHx8Il9fZXNNb2R1bGUiPT09dClyZXR1cm4gUmVmbGVjdC5nZXQoZSx0KTtmb3IobGV0IGUgb2YgdSl7bGV0IHI9UmVmbGVjdC5nZXQoZSx0KTtpZih2b2lkIDAhPT1yKXJldHVybiByfX0sb3duS2V5cyhlKXtsZXQgdD1SZWZsZWN0Lm93bktleXMoZSk7Zm9yKGxldCBlIG9mIHUpZm9yKGxldCByIG9mIFJlZmxlY3Qub3duS2V5cyhlKSkiZGVmYXVsdCI9PT1yfHx0LmluY2x1ZGVzKHIpfHx0LnB1c2gocik7cmV0dXJuIHR9fSkpLHUpOyJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJmMucHVzaChlKX0sbC52PWZ1bmN0aW9uKGUsdCl7KG51bGwhPXQ/YSh0aGlzLmMsdCk6dGhpcy5tKS5leHBvcnRzPWV9LGwubj1mdW5jdGlvbihlLHQpe2xldCByOyhyPW51bGwhPXQ/YSh0aGlzLmMsdCk6dGhpcy5tKS5leHBvcnRzPXIubmFtZXNwYWNlT2JqZWN0PWV9O2xldCBwPU9iamVjdC5nZXRQcm90b3R5cGVPZj9lPT5PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk6ZT0+ZS5fX3Byb3RvX18saD1bbnVsbCxwKHt9KSxwKFtdKSxwKHApXTtmdW5jdGlvbiBkKGUsdCxyKXtsZXQgbj1bXSxvPS0xO2ZvcihsZXQgdD1lOygib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0KSYmIWguaW5jbHVkZXModCk7dD1wKHQpKWZvcihsZXQgciBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KSluLnB1c2gocixmdW5jdGlvbihlLHQpe3JldHVybigpPT5lW3RdfShlLHIpKSwtMT09PW8mJiJkZWZhdWx0Ij09PXImJihvPW4ubGVuZ3RoLTEpO3JldHVybiByJiZvPj0wfHwobz49MD9uLnNwbGljZShvLDEsMCxlKTpuLnB1c2goImRlZmF1bHQiLDAsZSkpLGYodCxuKSx0fWZ1bmN0aW9uIG0oZSl7bGV0IHQ9QihlLHRoaXMubSk7aWYodC5uYW1lc3BhY2VPYmplY3QpcmV0dXJuIHQubmFtZXNwYWNlT2JqZWN0O2xldCByPXQuZXhwb3J0cztyZXR1cm4gdC5uYW1lc3BhY2VPYmplY3Q9ZChyLCJmdW5jdGlvbiI9PXR5cGVvZiByP2Z1bmN0aW9uKC4uLmUpe3JldHVybiByLmFwcGx5KHRoaXMsZSl9Ok9iamVjdC5jcmVhdGUobnVsbCksciYmci5fX2VzTW9kdWxlKX1mdW5jdGlvbiBiKGUpe2xldCB0PWUuaW5kZXhPZigiIyIpOy0xIT09dCYmKGU9ZS5zdWJzdHJpbmcoMCx0KSk7bGV0IHI9ZS5pbmRleE9mKCI/Iik7cmV0dXJuIC0xIT09ciYmKGU9ZS5zdWJzdHJpbmcoMCxyKSksZX1mdW5jdGlvbiB5KCl7bGV0IGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgocixuKT0+e3Q9bixlPXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fWwuaT1tLGwuQT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yKGUpKG0uYmluZCh0aGlzKSl9LGwudD0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZT9yZXF1aXJlOmZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIlVuZXhwZWN0ZWQgdXNlIG9mIHJ1bnRpbWUgcmVxdWlyZSIpfSxsLnI9ZnVuY3Rpb24oZSl7cmV0dXJuIEIoZSx0aGlzLm0pLmV4cG9ydHN9LGwuZj1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQpe2lmKHQ9Yih0KSxpLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5tb2R1bGUoKTtsZXQgcj1FcnJvcihgQ2Fubm90IGZpbmQgbW9kdWxlICcke3R9J2ApO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCIscn1yZXR1cm4gdC5rZXlzPSgpPT5PYmplY3Qua2V5cyhlKSx0LnJlc29sdmU9dD0+e2lmKHQ9Yih0KSxpLmNhbGwoZSx0KSlyZXR1cm4gZVt0XS5pZCgpO2xldCByPUVycm9yKGBDYW5ub3QgZmluZCBtb2R1bGUgJyR7dH0nYCk7dGhyb3cgci5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixyfSx0LmltcG9ydD1hc3luYyBlPT5hd2FpdCB0KGUpLHR9O2xldCBPPVN5bWJvbCgidHVyYm9wYWNrIHF1ZXVlcyIpLGc9U3ltYm9sKCJ0dXJib3BhY2sgZXhwb3J0cyIpLHc9U3ltYm9sKCJ0dXJib3BhY2sgZXJyb3IiKTtmdW5jdGlvbiBDKGUpe2UmJjEhPT1lLnN0YXR1cyYmKGUuc3RhdHVzPTEsZS5mb3JFYWNoKGU9PmUucXVldWVDb3VudC0tKSxlLmZvckVhY2goZT0+ZS5xdWV1ZUNvdW50LS0/ZS5xdWV1ZUNvdW50Kys6ZSgpKSl9bC5hPWZ1bmN0aW9uKGUsdCl7bGV0IHI9dGhpcy5tLG49dD9PYmplY3QuYXNzaWduKFtdLHtzdGF0dXM6LTF9KTp2b2lkIDAsbz1uZXcgU2V0LHtyZXNvbHZlOmwscmVqZWN0OmkscHJvbWlzZTpzfT15KCksdT1PYmplY3QuYXNzaWduKHMse1tnXTpyLmV4cG9ydHMsW09dOmU9PntuJiZlKG4pLG8uZm9yRWFjaChlKSx1LmNhdGNoKCgpPT57fSl9fSksYT17Z2V0OigpPT51LHNldChlKXtlIT09dSYmKHVbZ109ZSl9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiZXhwb3J0cyIsYSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIm5hbWVzcGFjZU9iamVjdCIsYSksZShmdW5jdGlvbihlKXtsZXQgdD1lLm1hcChlPT57aWYobnVsbCE9PWUmJiJvYmplY3QiPT10eXBlb2YgZSl7aWYoTyBpbiBlKXJldHVybiBlO2lmKG51bGwhPWUmJiJvYmplY3QiPT10eXBlb2YgZSYmInRoZW4iaW4gZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUudGhlbil7bGV0IHQ9T2JqZWN0LmFzc2lnbihbXSx7c3RhdHVzOjB9KSxyPXtbZ106e30sW09dOmU9PmUodCl9O3JldHVybiBlLnRoZW4oZT0+e3JbZ109ZSxDKHQpfSxlPT57clt3XT1lLEModCl9KSxyfX1yZXR1cm57W2ddOmUsW09dOigpPT57fX19KSxyPSgpPT50Lm1hcChlPT57aWYoZVt3XSl0aHJvdyBlW3ddO3JldHVybiBlW2ddfSkse3Byb21pc2U6bCxyZXNvbHZlOml9PXkoKSxzPU9iamVjdC5hc3NpZ24oKCk9Pmkocikse3F1ZXVlQ291bnQ6MH0pO2Z1bmN0aW9uIHUoZSl7ZSE9PW4mJiFvLmhhcyhlKSYmKG8uYWRkKGUpLGUmJjA9PT1lLnN0YXR1cyYmKHMucXVldWVDb3VudCsrLGUucHVzaChzKSkpfXJldHVybiB0Lm1hcChlPT5lW09dKHUpKSxzLnF1ZXVlQ291bnQ/bDpyKCl9LGZ1bmN0aW9uKGUpe2U/aSh1W3ddPWUpOmwodVtnXSksQyhuKX0pLG4mJi0xPT09bi5zdGF0dXMmJihuLnN0YXR1cz0wKX07bGV0IFU9ZnVuY3Rpb24oZSl7bGV0IHQ9bmV3IFVSTChlLCJ4Oi8iKSxyPXt9O2ZvcihsZXQgZSBpbiB0KXJbZV09dFtlXTtmb3IobGV0IHQgaW4gci5ocmVmPWUsci5wYXRobmFtZT1lLnJlcGxhY2UoL1s/I10uKi8sIiIpLHIub3JpZ2luPXIucHJvdG9jb2w9IiIsci50b1N0cmluZz1yLnRvSlNPTj0oLi4udCk9PmUscilPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyx0LHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpyW3RdfSl9O2Z1bmN0aW9uIGooZSx0KXt0aHJvdyBFcnJvcihgSW52YXJpYW50OiAke3QoZSl9YCl9VS5wcm90b3R5cGU9VVJMLnByb3RvdHlwZSxsLlU9VSxsLno9ZnVuY3Rpb24oZSl7dGhyb3cgRXJyb3IoImR5bmFtaWMgdXNhZ2Ugb2YgcmVxdWlyZSBpcyBub3Qgc3VwcG9ydGVkIil9LGwuZz1nbG9iYWxUaGlzO2xldCBSPW8ucHJvdG90eXBlO3ZhciBrLF89KChrPV98fHt9KVtrLlJ1bnRpbWU9MF09IlJ1bnRpbWUiLGtbay5QYXJlbnQ9MV09IlBhcmVudCIsa1trLlVwZGF0ZT0yXT0iVXBkYXRlIixrKTtsZXQgdj1uZXcgTWFwO2wuTT12O2xldCAkPW5ldyBNYXAsUD1uZXcgTWFwO2FzeW5jIGZ1bmN0aW9uIFMoZSx0LHIpe2xldCBuO2lmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm4gRShlLHQsSyhyKSk7bGV0IG89ci5pbmNsdWRlZHx8W10sbD1vLm1hcChlPT4hIXYuaGFzKGUpfHwkLmdldChlKSk7aWYobC5sZW5ndGg+MCYmbC5ldmVyeShlPT5lKSlyZXR1cm4gdm9pZCBhd2FpdCBQcm9taXNlLmFsbChsKTtsZXQgaT1yLm1vZHVsZUNodW5rc3x8W10scz1pLm1hcChlPT5QLmdldChlKSkuZmlsdGVyKGU9PmUpO2lmKHMubGVuZ3RoPjApe2lmKHMubGVuZ3RoPT09aS5sZW5ndGgpcmV0dXJuIHZvaWQgYXdhaXQgUHJvbWlzZS5hbGwocyk7bGV0IHI9bmV3IFNldDtmb3IobGV0IGUgb2YgaSlQLmhhcyhlKXx8ci5hZGQoZSk7Zm9yKGxldCBuIG9mIHIpe2xldCByPUUoZSx0LEsobikpO1Auc2V0KG4scikscy5wdXNoKHIpfW49UHJvbWlzZS5hbGwocyl9ZWxzZXtmb3IobGV0IG8gb2Yobj1FKGUsdCxLKHIucGF0aCkpLGkpKVAuaGFzKG8pfHxQLnNldChvLG4pfWZvcihsZXQgZSBvZiBvKSQuaGFzKGUpfHwkLnNldChlLG4pO2F3YWl0IG59Ui5sPWZ1bmN0aW9uKGUpe3JldHVybiBTKDEsdGhpcy5tLmlkLGUpfTtsZXQgVD1Qcm9taXNlLnJlc29sdmUodm9pZCAwKSxBPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIEUodCxyLG4pe2xldCBvPWUubG9hZENodW5rQ2FjaGVkKHQsbiksbD1BLmdldChvKTtpZih2b2lkIDA9PT1sKXtsZXQgZT1BLnNldC5iaW5kKEEsbyxUKTtsPW8udGhlbihlKS5jYXRjaChlPT57bGV0IG87c3dpdGNoKHQpe2Nhc2UgMDpvPWBhcyBhIHJ1bnRpbWUgZGVwZW5kZW5jeSBvZiBjaHVuayAke3J9YDticmVhaztjYXNlIDE6bz1gZnJvbSBtb2R1bGUgJHtyfWA7YnJlYWs7Y2FzZSAyOm89ImZyb20gYW4gSE1SIHVwZGF0ZSI7YnJlYWs7ZGVmYXVsdDpqKHQsZT0+YFVua25vd24gc291cmNlIHR5cGU6ICR7ZX1gKX1sZXQgbD1FcnJvcihgRmFpbGVkIHRvIGxvYWQgY2h1bmsgJHtufSAke299JHtlP2A6ICR7ZX1gOiIifWAsZT97Y2F1c2U6ZX06dm9pZCAwKTt0aHJvdyBsLm5hbWU9IkNodW5rTG9hZEVycm9yIixsfSksQS5zZXQobyxsKX1yZXR1cm4gbH1mdW5jdGlvbiBLKGUpe3JldHVybmAke3R9JHtlLnNwbGl0KCIvIikubWFwKGU9PmVuY29kZVVSSUNvbXBvbmVudChlKSkuam9pbigiLyIpfSR7cn1gfVIuTD1mdW5jdGlvbihlKXtyZXR1cm4gRSgxLHRoaXMubS5pZCxlKX0sUi5SPWZ1bmN0aW9uKGUpe2xldCB0PXRoaXMucihlKTtyZXR1cm4gdD8uZGVmYXVsdD8/dH0sUi5QPWZ1bmN0aW9uKGUpe3JldHVybmAvUk9PVC8ke2U/PyIifWB9LFIuYj1mdW5jdGlvbihlKXtsZXQgdD1uZXcgQmxvYihbYHNlbGYuVFVSQk9QQUNLX1dPUktFUl9MT0NBVElPTiA9ICR7SlNPTi5zdHJpbmdpZnkobG9jYXRpb24ub3JpZ2luKX07CnNlbGYuVFVSQk9QQUNLX0NIVU5LX1NVRkZJWCA9ICR7SlNPTi5zdHJpbmdpZnkocil9OwpzZWxmLlRVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMgPSAke0pTT04uc3RyaW5naWZ5KGUucmV2ZXJzZSgpLm1hcChLKSxudWxsLDIpfTsKaW1wb3J0U2NyaXB0cyguLi5zZWxmLlRVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMubWFwKGMgPT4gc2VsZi5UVVJCT1BBQ0tfV09SS0VSX0xPQ0FUSU9OICsgYykucmV2ZXJzZSgpKTtgXSx7dHlwZToidGV4dC9qYXZhc2NyaXB0In0pO3JldHVybiBVUkwuY3JlYXRlT2JqZWN0VVJMKHQpfTtsZXQgeD0vXC5qcyg/Olw/W14jXSopPyg/OiMuKik/JC8sTj0vXC5jc3MoPzpcP1teI10qKT8oPzojLiopPyQvO2Z1bmN0aW9uIE0oZSl7cmV0dXJuIE4udGVzdChlKX1sLnc9ZnVuY3Rpb24odCxyLG4pe3JldHVybiBlLmxvYWRXZWJBc3NlbWJseSgxLHRoaXMubS5pZCx0LHIsbil9LGwudT1mdW5jdGlvbih0LHIpe3JldHVybiBlLmxvYWRXZWJBc3NlbWJseU1vZHVsZSgxLHRoaXMubS5pZCx0LHIpfTtsZXQgTD17fTtsLmM9TDtsZXQgQj0oZSx0KT0+e2xldCByPUxbZV07aWYocil7aWYoci5lcnJvcil0aHJvdyByLmVycm9yO3JldHVybiByfXJldHVybiBxKGUsXy5QYXJlbnQsdC5pZCl9O2Z1bmN0aW9uIHEoZSx0LHIpe2xldCBuPXYuZ2V0KGUpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IEVycm9yKGZ1bmN0aW9uKGUsdCxyKXtsZXQgbjtzd2l0Y2godCl7Y2FzZSAwOm49YGFzIGEgcnVudGltZSBlbnRyeSBvZiBjaHVuayAke3J9YDticmVhaztjYXNlIDE6bj1gYmVjYXVzZSBpdCB3YXMgcmVxdWlyZWQgZnJvbSBtb2R1bGUgJHtyfWA7YnJlYWs7Y2FzZSAyOm49ImJlY2F1c2Ugb2YgYW4gSE1SIHVwZGF0ZSI7YnJlYWs7ZGVmYXVsdDpqKHQsZT0+YFVua25vd24gc291cmNlIHR5cGU6ICR7ZX1gKX1yZXR1cm5gTW9kdWxlICR7ZX0gd2FzIGluc3RhbnRpYXRlZCAke259LCBidXQgdGhlIG1vZHVsZSBmYWN0b3J5IGlzIG5vdCBhdmFpbGFibGUuYH0oZSx0LHIpKTtsZXQgbD1jKGUpLGk9bC5leHBvcnRzO0xbZV09bDtsZXQgcz1uZXcgbyhsLGkpO3RyeXtuKHMsbCxpKX1jYXRjaChlKXt0aHJvdyBsLmVycm9yPWUsZX1yZXR1cm4gbC5uYW1lc3BhY2VPYmplY3QmJmwuZXhwb3J0cyE9PWwubmFtZXNwYWNlT2JqZWN0JiZkKGwuZXhwb3J0cyxsLm5hbWVzcGFjZU9iamVjdCksbH1mdW5jdGlvbiBJKHIpe2xldCBuLG89ZnVuY3Rpb24oZSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2xldCByPWRlY29kZVVSSUNvbXBvbmVudCgoInUiPnR5cGVvZiBUVVJCT1BBQ0tfTkVYVF9DSFVOS19VUkxTP1RVUkJPUEFDS19ORVhUX0NIVU5LX1VSTFMucG9wKCk6ZS5nZXRBdHRyaWJ1dGUoInNyYyIpKS5yZXBsYWNlKC9bPyNdLiokLywiIikpO3JldHVybiByLnN0YXJ0c1dpdGgodCk/ci5zbGljZSh0Lmxlbmd0aCk6cn0oclswXSk7cmV0dXJuIDI9PT1yLmxlbmd0aD9uPXJbMV06KG49dm9pZCAwLCFmdW5jdGlvbihlLHQscixuKXtsZXQgbz0xO2Zvcig7bzxlLmxlbmd0aDspe2xldCB0PWVbb10sbj1vKzE7Zm9yKDtuPGUubGVuZ3RoJiYiZnVuY3Rpb24iIT10eXBlb2YgZVtuXTspbisrO2lmKG49PT1lLmxlbmd0aCl0aHJvdyBFcnJvcigibWFsZm9ybWVkIGNodW5rIGZvcm1hdCwgZXhwZWN0ZWQgYSBmYWN0b3J5IGZ1bmN0aW9uIik7aWYoIXIuaGFzKHQpKXtsZXQgbD1lW25dO2ZvcihPYmplY3QuZGVmaW5lUHJvcGVydHkobCwibmFtZSIse3ZhbHVlOiJtb2R1bGUgZXZhbHVhdGlvbiJ9KTtvPG47bysrKXQ9ZVtvXSxyLnNldCh0LGwpfW89bisxfX0ociwwLHYpKSxlLnJlZ2lzdGVyQ2h1bmsobyxuKX1sZXQgVz1uZXcgTWFwO2Z1bmN0aW9uIEgoZSl7bGV0IHQ9Vy5nZXQoZSk7aWYoIXQpe2xldCByLG47dD17cmVzb2x2ZWQ6ITEsbG9hZGluZ1N0YXJ0ZWQ6ITEscHJvbWlzZTpuZXcgUHJvbWlzZSgoZSx0KT0+e3I9ZSxuPXR9KSxyZXNvbHZlOigpPT57dC5yZXNvbHZlZD0hMCxyKCl9LHJlamVjdDpufSxXLnNldChlLHQpfXJldHVybiB0fWU9e2FzeW5jIHJlZ2lzdGVyQ2h1bmsoZSx0KXtpZihIKEsoZSkpLnJlc29sdmUoKSxudWxsIT10KXtmb3IobGV0IGUgb2YgdC5vdGhlckNodW5rcylIKEsoInN0cmluZyI9PXR5cGVvZiBlP2U6ZS5wYXRoKSk7aWYoYXdhaXQgUHJvbWlzZS5hbGwodC5vdGhlckNodW5rcy5tYXAodD0+UygwLGUsdCkpKSx0LnJ1bnRpbWVNb2R1bGVJZHMubGVuZ3RoPjApZm9yKGxldCByIG9mIHQucnVudGltZU1vZHVsZUlkcykhZnVuY3Rpb24oZSx0KXtsZXQgcj1MW3RdO2lmKHIpe2lmKHIuZXJyb3IpdGhyb3cgci5lcnJvcjtyZXR1cm59cSh0LF8uUnVudGltZSxlKX0oZSxyKX19LGxvYWRDaHVua0NhY2hlZDooZSx0KT0+KGZ1bmN0aW9uKGUsdCl7bGV0IHI9SCh0KTtpZihyLmxvYWRpbmdTdGFydGVkKXJldHVybiByLnByb21pc2U7aWYoZT09PV8uUnVudGltZSlyZXR1cm4gci5sb2FkaW5nU3RhcnRlZD0hMCxNKHQpJiZyLnJlc29sdmUoKSxyLnByb21pc2U7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGltcG9ydFNjcmlwdHMpaWYoTSh0KSk7ZWxzZSBpZih4LnRlc3QodCkpc2VsZi5UVVJCT1BBQ0tfTkVYVF9DSFVOS19VUkxTLnB1c2godCksaW1wb3J0U2NyaXB0cyhUVVJCT1BBQ0tfV09SS0VSX0xPQ0FUSU9OK3QpO2Vsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fSBpbiB3b3JrZXJgKTtlbHNle2xldCBlPWRlY29kZVVSSSh0KTtpZihNKHQpKWlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYGxpbmtbcmVsPXN0eWxlc2hlZXRdW2hyZWY9IiR7dH0iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmXj0iJHt0fT8iXSxsaW5rW3JlbD1zdHlsZXNoZWV0XVtocmVmPSIke2V9Il0sbGlua1tyZWw9c3R5bGVzaGVldF1baHJlZl49IiR7ZX0/Il1gKS5sZW5ndGg+MClyLnJlc29sdmUoKTtlbHNle2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtlLnJlbD0ic3R5bGVzaGVldCIsZS5ocmVmPXQsZS5vbmVycm9yPSgpPT57ci5yZWplY3QoKX0sZS5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChlKX1lbHNlIGlmKHgudGVzdCh0KSl7bGV0IG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgc2NyaXB0W3NyYz0iJHt0fSJdLHNjcmlwdFtzcmNePSIke3R9PyJdLHNjcmlwdFtzcmM9IiR7ZX0iXSxzY3JpcHRbc3JjXj0iJHtlfT8iXWApO2lmKG4ubGVuZ3RoPjApZm9yKGxldCBlIG9mIEFycmF5LmZyb20obikpZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntyLnJlamVjdCgpfSk7ZWxzZXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtlLnNyYz10LGUub25lcnJvcj0oKT0+e3IucmVqZWN0KCl9LGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZSl9fWVsc2UgdGhyb3cgRXJyb3IoYGNhbid0IGluZmVyIHR5cGUgb2YgY2h1bmsgZnJvbSBVUkwgJHt0fWApfXJldHVybiByLmxvYWRpbmdTdGFydGVkPSEwLHIucHJvbWlzZX0pKGUsdCksYXN5bmMgbG9hZFdlYkFzc2VtYmx5KGUsdCxyLG4sbyl7bGV0IGw9ZmV0Y2goSyhyKSkse2luc3RhbmNlOml9PWF3YWl0IFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGwsbyk7cmV0dXJuIGkuZXhwb3J0c30sYXN5bmMgbG9hZFdlYkFzc2VtYmx5TW9kdWxlKGUsdCxyLG4pe2xldCBvPWZldGNoKEsocikpO3JldHVybiBhd2FpdCBXZWJBc3NlbWJseS5jb21waWxlU3RyZWFtaW5nKG8pfX07bGV0IEY9Z2xvYmFsVGhpcy5UVVJCT1BBQ0s7Z2xvYmFsVGhpcy5UVVJCT1BBQ0s9e3B1c2g6SX0sRi5mb3JFYWNoKEkpfSkoKTsKOyhmdW5jdGlvbigpe2lmKHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwhLyg/Ol58O1xzKV9fdmVyY2VsX3Rvb2xiYXI9MSg/Ojt8JCkvLnRlc3QoZG9jdW1lbnQuY29va2llKSlyZXR1cm47dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7cy5zcmM9J2h0dHBzOi8vdmVyY2VsLmxpdmUvX25leHQtbGl2ZS9mZWVkYmFjay9mZWVkYmFjay5qcyc7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwbGljaXQtb3B0LWluIiwidHJ1ZSIpO3Muc2V0QXR0cmlidXRlKCJkYXRhLWNvb2tpZS1vcHQtaW4iLCJ0cnVlIik7cy5zZXRBdHRyaWJ1dGUoImRhdGEtZGVwbG95bWVudC1pZCIsImRwbF9DUUNuSlhHMXJLWk0xazNReERpQjlpMVRtZjY2Iik7KChkb2N1bWVudC5oZWFkfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKHMpKX0pKCk7"}},"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":"fonts.gstatic.com/s/poppins/v24/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.600Z","timestamp":1785129949600,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/poppins/v24/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://digitaltradeinvest.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 7840\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Sun, 26 Jul 2026 10:10:26 GMT\r\nexpires: Mon, 26 Jul 2027 10:10:26 GMT\r\ncache-control: public, max-age=31536000\r\nage: 69323\r\nlast-modified: Mon, 15 Sep 2025 16:35:17 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":7840,"size_decoded":8651,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7840, version 1.0","md5":"8d91ec1ca2d8b56640a47117e313a3e9","sha1":"a9e9bafe64666f4595051a0e895b47a5fa39e67e","sha256":"78bc3aa78faec288bbb3bf26c9a0fa4eb67b1e69da94a17233c5cab60525efdb","sha512":"bd3a864bd45f39ee83ee79ba4469a156ad8ff3dd33d8aae11e3edd97b29c2ef7f610ac851726041251e34b0108f618a2f945038bf6c0de9a7982e0d643cdfcfb","ssdeep":"192:S5upwnqrBHPLA3J73KAQDPh50uFdXrnpjDS7LjvQnRb:S5ELrBvLA3J76AIPhi+vXwzQnRb","tlshash":"68f19de0200937e4f73d5feee6276b7f2e2edb05e25305aa7556014c69de39310d21a2","first_seen":"2023-04-06T21:42:41Z","last_seen":"2026-08-15T16:40:22.145296Z","times_seen":81533,"resource_available":false,"data":"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"}},"time_used":46,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":14,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.694Z","timestamp":1785129949694,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1161431244.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:49 GMT","end":"Wed, 02 Sep 2026 14:34:48 GMT"},"fingerprint":{"sha1":"77:06:42:CE:73:9F:CA:05:A3:6E:99:99:F2:3F:B7:EE:E4:60:E9:29","sha256":"E7:6E:68:C5:CD:6C:F6:14:84:A0:18:1A:D7:94:77:7A:28:F6:67:8E:90:58:94:AE:3A:65:6A:B7:95:0F:5D:1B"}}},"request":{"raw":"GET /loader.js? HTTP/1.1\r\nHost: www.smartsuppchat.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://digitaltradeinvest.org/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:25:56 GMT\r\ncontent-type: application/javascript\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a2663cd-4668\"\r\nexpires: Mon, 08 Jun 2026 06:46:12 GMT\r\nlast-modified: Mon, 08 Jun 2026 06:40:13 GMT\r\nx-77-nzt: kyZg2Nmczj8Uj9fI+ZLwLPuf2HUZvYAvcH/z3O7bx2pSKwwNbTjo1bKnUVUKBUOVKOgApmc\r\nx-77-nzt-ray: fdb541232a4af60de4eb666ad13f0f21\r\nx-77-cache: HIT\r\nx-77-age: 7\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":18024,"size_decoded":6041,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (17951)","md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-08-15T12:09:43.069017Z","times_seen":8441,"resource_available":true,"data":"LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgbG9hZGVyLnRlbXBsYXRlLmpzLkxJQ0VOU0UudHh0ICovCigoKT0+e3ZhciB0PXs3MTUodCl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7LTEhPT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNU0lFIDEwIikmJih0PSEwKTt2YXIgZSxuPVtdLHI9Im9iamVjdCI9PXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQsbz10P3IuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iik6ci5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwsaT0iRE9NQ29udGVudExvYWRlZCIscz1yJiYobz8vXmxvYWRlZHxeYy86L15sb2FkZWR8Xml8XmMvKS50ZXN0KHIucmVhZHlTdGF0ZSk7cmV0dXJuIXMmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcihpLGU9ZnVuY3Rpb24oKXtmb3Ioci5yZW1vdmVFdmVudExpc3RlbmVyKGksZSkscz0xO2U9bi5zaGlmdCgpOyllKCl9KSxmdW5jdGlvbih0KXtzP3NldFRpbWVvdXQodCwwKTpuLnB1c2godCl9fSgpfSw3NjEodCxlLG4peyJ1c2Ugc3RyaWN0Ijtjb25zdCByPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY29uc3RydWN0b3I7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZS5yZXNvbHZlKHQoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9LGZ1bmN0aW9uKG4pe3JldHVybiBlLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUucmVqZWN0KG4pfSl9KX0sbz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHRoaXMoZnVuY3Rpb24oZSxuKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIG4obmV3IFR5cGVFcnJvcih0eXBlb2YgdCsiICIrdCsiIGlzIG5vdCBpdGVyYWJsZShjYW5ub3QgcmVhZCBwcm9wZXJ0eSBTeW1ib2woU3ltYm9sLml0ZXJhdG9yKSkiKSk7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCk7aWYoMD09PXIubGVuZ3RoKXJldHVybiBlKFtdKTt2YXIgbz1yLmxlbmd0aDtmdW5jdGlvbiBpKHQsbil7aWYobiYmKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pKXt2YXIgcz1uLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpcmV0dXJuIHZvaWQgcy5jYWxsKG4sZnVuY3Rpb24oZSl7aSh0LGUpfSxmdW5jdGlvbihuKXtyW3RdPXtzdGF0dXM6InJlamVjdGVkIixyZWFzb246bn0sMD09PS0tbyYmZShyKX0pfXJbdF09e3N0YXR1czoiZnVsZmlsbGVkIix2YWx1ZTpufSwwPT09LS1vJiZlKHIpfWZvcih2YXIgcz0wO3M8ci5sZW5ndGg7cysrKWkocyxyW3NdKX0pfTtmdW5jdGlvbiBpKHQsZSl7dGhpcy5uYW1lPSJBZ2dyZWdhdGVFcnJvciIsdGhpcy5lcnJvcnM9dCx0aGlzLm1lc3NhZ2U9ZXx8IiJ9aS5wcm90b3R5cGU9RXJyb3IucHJvdG90eXBlO2NvbnN0IHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IGUoZnVuY3Rpb24obixyKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIHIobmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbnkgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09by5sZW5ndGgpcmV0dXJuIHIoKTtmb3IodmFyIHM9W10sYT0wO2E8by5sZW5ndGg7YSsrKXRyeXtlLnJlc29sdmUob1thXSkudGhlbihuKS5jYXRjaChmdW5jdGlvbih0KXtzLnB1c2godCkscy5sZW5ndGg9PT1vLmxlbmd0aCYmcihuZXcgaShzLCJBbGwgcHJvbWlzZXMgd2VyZSByZWplY3RlZCIpKX0pfWNhdGNoKHQpe3IodCl9fSl9O3ZhciBhPXNldFRpbWVvdXQ7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gQm9vbGVhbih0JiZ2b2lkIDAhPT10Lmxlbmd0aCl9ZnVuY3Rpb24gdSgpe31mdW5jdGlvbiBsKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXZvaWQgMCx0aGlzLl9kZWZlcnJlZHM9W10sdyh0LHRoaXMpfWZ1bmN0aW9uIHAodCxlKXtmb3IoOzM9PT10Ll9zdGF0ZTspdD10Ll92YWx1ZTswIT09dC5fc3RhdGU/KHQuX2hhbmRsZWQ9ITAsbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt2YXIgbj0xPT09dC5fc3RhdGU/ZS5vbkZ1bGZpbGxlZDplLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PW4pe3ZhciByO3RyeXtyPW4odC5fdmFsdWUpfWNhdGNoKHQpe3JldHVybiB2b2lkIGQoZS5wcm9taXNlLHQpfWYoZS5wcm9taXNlLHIpfWVsc2UoMT09PXQuX3N0YXRlP2Y6ZCkoZS5wcm9taXNlLHQuX3ZhbHVlKX0pKTp0Ll9kZWZlcnJlZHMucHVzaChlKX1mdW5jdGlvbiBmKHQsZSl7dHJ5e2lmKGU9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgbj1lLnRoZW47aWYoZSBpbnN0YW5jZW9mIGwpcmV0dXJuIHQuX3N0YXRlPTMsdC5fdmFsdWU9ZSx2b2lkIGgodCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgdygocj1uLG89ZSxmdW5jdGlvbigpe3IuYXBwbHkobyxhcmd1bWVudHMpfSksdCl9dC5fc3RhdGU9MSx0Ll92YWx1ZT1lLGgodCl9Y2F0Y2goZSl7ZCh0LGUpfXZhciByLG99ZnVuY3Rpb24gZCh0LGUpe3QuX3N0YXRlPTIsdC5fdmFsdWU9ZSxoKHQpfWZ1bmN0aW9uIGgodCl7Mj09PXQuX3N0YXRlJiYwPT09dC5fZGVmZXJyZWRzLmxlbmd0aCYmbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt0Ll9oYW5kbGVkfHxsLl91bmhhbmRsZWRSZWplY3Rpb25Gbih0Ll92YWx1ZSl9KTtmb3IodmFyIGU9MCxuPXQuX2RlZmVycmVkcy5sZW5ndGg7ZTxuO2UrKylwKHQsdC5fZGVmZXJyZWRzW2VdKTt0Ll9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiB5KHQsZSxuKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMucHJvbWlzZT1ufWZ1bmN0aW9uIHcodCxlKXt2YXIgbj0hMTt0cnl7dChmdW5jdGlvbih0KXtufHwobj0hMCxmKGUsdCkpfSxmdW5jdGlvbih0KXtufHwobj0hMCxkKGUsdCkpfSl9Y2F0Y2godCl7aWYobilyZXR1cm47bj0hMCxkKGUsdCl9fWwucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRoZW4obnVsbCx0KX0sbC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbih0LGUpe3ZhciBuPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHUpO3JldHVybiBwKHRoaXMsbmV3IHkodCxlLG4pKSxufSxsLnByb3RvdHlwZS5maW5hbGx5PXIsbC5hbGw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKGUsbil7aWYoIWModCkpcmV0dXJuIG4obmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbGwgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09ci5sZW5ndGgpcmV0dXJuIGUoW10pO3ZhciBvPXIubGVuZ3RoO2Z1bmN0aW9uIGkodCxzKXt0cnl7aWYocyYmKCJvYmplY3QiPT10eXBlb2Ygc3x8ImZ1bmN0aW9uIj09dHlwZW9mIHMpKXt2YXIgYT1zLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpcmV0dXJuIHZvaWQgYS5jYWxsKHMsZnVuY3Rpb24oZSl7aSh0LGUpfSxuKX1yW3RdPXMsMD09PS0tbyYmZShyKX1jYXRjaCh0KXtuKHQpfX1mb3IodmFyIHM9MDtzPHIubGVuZ3RoO3MrKylpKHMscltzXSl9KX0sbC5hbnk9cyxsLmFsbFNldHRsZWQ9byxsLnJlc29sdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PWw/dDpuZXcgbChmdW5jdGlvbihlKXtlKHQpfSl9LGwucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe24odCl9KX0sbC5yYWNlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe2lmKCFjKHQpKXJldHVybiBuKG5ldyBUeXBlRXJyb3IoIlByb21pc2UucmFjZSBhY2NlcHRzIGFuIGFycmF5IikpO2Zvcih2YXIgcj0wLG89dC5sZW5ndGg7cjxvO3IrKylsLnJlc29sdmUodFtyXSkudGhlbihlLG4pfSl9LGwuX2ltbWVkaWF0ZUZuPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRJbW1lZGlhdGUmJmZ1bmN0aW9uKHQpe3NldEltbWVkaWF0ZSh0KX18fGZ1bmN0aW9uKHQpe2EodCwwKX0sbC5fdW5oYW5kbGVkUmVqZWN0aW9uRm49ZnVuY3Rpb24odCl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLHQpfTtjb25zdCB2PWw7dmFyIGc9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYpcmV0dXJuIHNlbGY7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvdztpZih2b2lkIDAhPT1uLmcpcmV0dXJuIG4uZzt0aHJvdyBuZXcgRXJyb3IoInVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCIpfSgpOyJmdW5jdGlvbiIhPXR5cGVvZiBnLlByb21pc2U/Zy5Qcm9taXNlPXY6KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1yKSxnLlByb21pc2UuYWxsU2V0dGxlZHx8KGcuUHJvbWlzZS5hbGxTZXR0bGVkPW8pLGcuUHJvbWlzZS5hbnl8fChnLlByb21pc2UuYW55PXMpKX0sMzQ1KHQsZSxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuU21hcnRzdXBwTG9hZGVyPXZvaWQgMDt2YXIgcj1uKDc0MCksbz1uKDg5MyksaT1uKDEzMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5vcHRpb25zPXQsdGhpcy53aWRnZXRzPXt9LHRoaXMuY2hhdHM9dGhpcy53aWRnZXRzfXJldHVybiB0LnByb3RvdHlwZS5zZXREZWZhdWx0cz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpc30sdC5wcm90b3R5cGUuZ2V0Q2hhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53aWRnZXRzW3RdfSx0LnByb3RvdHlwZS5nZXRXaWRnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud2lkZ2V0c1t0XX0sdC5wcm90b3R5cGUuY3JlYXRlPWZ1bmN0aW9uKHQsZSxuLHMpe3ZhciBjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7YShjKTt2YXIgdT10aGlzLndpZGdldHNbdF09bmV3IGkuU21hcnRzdXBwV2lkZ2V0KHQsYyxuKTtyZXR1cm4gdS5faW5pdFByb21pc2U9KDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKHQpe3ZhciBuPSgwLG8ucGFyc2VKU09OKSh0KTtyZXR1cm4gZGVsZXRlIGUuZmVhdHVyZXMsdS5pbml0KCgwLG8ubWVyZ2VEZWVwKShuLGUpLG4uZmVhdHVyZXMpLGUmJmUud2lkZ2V0VHJhY2tlckVuYWJsZWQmJigwLHIudHJhY2tPcHRpb25zKSh1Lm9wdGlvbnMsT2JqZWN0LmtleXMoZSkpLHdpbmRvdy5zbWFydHN1cHAuZ2V0QXNzZXRVcmw9dS5nZXRBc3NldFVybC5iaW5kKHUpLHMmJnModm9pZCAwLHUpLHUub3B0aW9ucy5yZW5kZXJUbyYmdS5yZW5kZXIodS5vcHRpb25zLnJlbmRlclRvKSxudWxsfSkuY2F0Y2goZnVuY3Rpb24odCl7cyYmcyh0KX0pLHV9LHQucHJvdG90eXBlLmNyZWF0ZVdpZGdldD1mdW5jdGlvbih0LGUsbil7dmFyIHM9dGhpcyxjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7cmV0dXJuIGEoYyksKDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKGEpe3ZhciB1PSgwLG8ucGFyc2VKU09OKShhKSxsPXMud2lkZ2V0c1t0XT1uZXcgaS5TbWFydHN1cHBXaWRnZXQodCxjLG4pO3JldHVybiBkZWxldGUgZS5mZWF0dXJlcyxsLmluaXQoKDAsby5tZXJnZURlZXApKHUsZSksdS5mZWF0dXJlcyksZSYmZS53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsci50cmFja09wdGlvbnMpKGwub3B0aW9ucyxPYmplY3Qua2V5cyhlKSksd2luZG93LnNtYXJ0c3VwcC5nZXRBc3NldFVybD1sLmdldEFzc2V0VXJsLmJpbmQobCksbH0pfSx0fSgpO2UuU21hcnRzdXBwTG9hZGVyPXM7dmFyIGE9ZnVuY3Rpb24odCl7aWYoIXQuYm9vdHN0cmFwVXJsKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24gYm9vdHN0cmFwVXJsIik7aWYoIXQua2V5KXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24ga2V5Iil9fSw3NDAodCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoZnVuY3Rpb24obyxpKXtmdW5jdGlvbiBzKHQpe3RyeXtjKHIubmV4dCh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYSh0KXt0cnl7YyhyLnRocm93KHQpKX1jYXRjaCh0KXtpKHQpfX1mdW5jdGlvbiBjKHQpe3ZhciBlO3QuZG9uZT9vKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSkpLnRoZW4ocyxhKX1jKChyPXIuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX0sbz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0LGUpe3ZhciBuLHIsbyxpLHM9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGk9e25leHQ6YSgwKSx0aHJvdzphKDEpLHJldHVybjphKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoaVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxpO2Z1bmN0aW9uIGEoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBmdW5jdGlvbihhKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2kmJihpPTAsYVswXSYmKHM9MCkpLHM7KXRyeXtpZihuPTEsciYmKG89MiZhWzBdP3IucmV0dXJuOmFbMF0/ci50aHJvd3x8KChvPXIucmV0dXJuKSYmby5jYWxsKHIpLDApOnIubmV4dCkmJiEobz1vLmNhbGwocixhWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2gocj0wLG8mJihhPVsyJmFbMF0sby52YWx1ZV0pLGFbMF0pe2Nhc2UgMDpjYXNlIDE6bz1hO2JyZWFrO2Nhc2UgNDpyZXR1cm4gcy5sYWJlbCsrLHt2YWx1ZTphWzFdLGRvbmU6ITF9O2Nhc2UgNTpzLmxhYmVsKysscj1hWzFdLGE9WzBdO2NvbnRpbnVlO2Nhc2UgNzphPXMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKG89KG89cy50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSl8fDYhPT1hWzBdJiYyIT09YVswXSkpe3M9MDtjb250aW51ZX1pZigzPT09YVswXSYmKCFvfHxhWzFdPm9bMF0mJmFbMV08b1szXSkpe3MubGFiZWw9YVsxXTticmVha31pZig2PT09YVswXSYmcy5sYWJlbDxvWzFdKXtzLmxhYmVsPW9bMV0sbz1hO2JyZWFrfWlmKG8mJnMubGFiZWw8b1syXSl7cy5sYWJlbD1vWzJdLHMub3BzLnB1c2goYSk7YnJlYWt9b1syXSYmcy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlfWE9ZS5jYWxsKHQscyl9Y2F0Y2godCl7YT1bNix0XSxyPTB9ZmluYWxseXtuPW89MH1pZig1JmFbMF0pdGhyb3cgYVsxXTtyZXR1cm57dmFsdWU6YVswXT9hWzFdOnZvaWQgMCxkb25lOiEwfX0oW2EsY10pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLnRyYWNrT3BlcmF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcyxmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fHMuaW5kZXhPZihlKT49MHx8YS5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk+PTApcmV0dXJuWzIsITFdO24ubGFiZWw9MTtjYXNlIDE6cmV0dXJuIG4udHJ5cy5wdXNoKFsxLDMsLDRdKSxbNCwoMCxpLnJlcXVlc3QpKHQud2lkZ2V0VHJhY2tlclVybCsiL3RyYWNrL29wZXJhdGlvbj9rZXk9Ii5jb25jYXQodC5rZXksIiZvcGVyYXRpb249IikuY29uY2F0KGUsIiZkb21haW49IikuY29uY2F0KHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSkpXTtjYXNlIDI6cmV0dXJuIG4uc2VudCgpLFsyLCEwXTtjYXNlIDM6cmV0dXJuIG4uc2VudCgpLFsyLCExXTtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUudHJhY2tPcHRpb25zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG47cmV0dXJuIG8odGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fGEuaW5kZXhPZih3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpPj0wKXJldHVyblsyLCExXTtpZigwPT09KG49ZS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGMuaW5kZXhPZih0KTwwfSkpLmxlbmd0aClyZXR1cm5bMiwhMV07ci5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gci50cnlzLnB1c2goWzEsMywsNF0pLFs0LCgwLGkucmVxdWVzdCkodC53aWRnZXRUcmFja2VyVXJsKyIvdHJhY2svb3B0aW9ucz9rZXk9Ii5jb25jYXQodC5rZXksIiZvcHRpb25zPSIpLmNvbmNhdChuLmpvaW4oIiwiKSwiJmRvbWFpbj0iKS5jb25jYXQod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSldO2Nhc2UgMjpyZXR1cm4gci5zZW50KCksWzIsITBdO2Nhc2UgMzpyZXR1cm4gci5zZW50KCksWzIsITFdO2Nhc2UgNDpyZXR1cm5bMl19fSl9KX07dmFyIGk9big4OTMpLHM9WyJodG1sOmFwcGx5IiwiY2hhdDptZXNzYWdlIiwib24iXSxhPVsid3d3LnNtYXJ0c3VwcC5jb20iLCJhcHAuc21hcnRzdXBwLmNvbSJdLGM9WyJrZXkiLCJnYU9wdGlvbnMiLCJnYU5hbWUiLCJjb29raWVQcmVmaXgiLCJjb29raWVQYXRoIiwiY3Jvc3NEb21haW5FbmFibGVkIiwicG9zaXRpb24iLCJvcGVuT25UcmlnZ2VyIl19LDg5Myh0LGUpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5wYXJzZUpTT049ZS5yZXF1ZXN0PWUuY3JlYXRlTGluaz1lLmNyZWF0ZVNjcmlwdD1lLnJlc29sdmVUYXJnZXRFbGVtZW50PWUubWVyZ2VEZWVwPXZvaWQgMDt2YXIgbj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0fTtlLm1lcmdlRGVlcD1mdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3JdPWFyZ3VtZW50c1tyXTt2YXIgbz17fTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9b1tyXSxzPXRbcl07dm9pZCAwIT09cyYmKEFycmF5LmlzQXJyYXkoaSl8fEFycmF5LmlzQXJyYXkocyk/b1tyXT1zOm4oaSkmJm4ocyk/b1tyXT0oMCxlLm1lcmdlRGVlcCkoaSxzKTpvW3JdPXMpfSl9KSxvfSxlLnJlc29sdmVUYXJnZXRFbGVtZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRWxlbWVudD90OiJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTpkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdfSxlLmNyZWF0ZVNjcmlwdD1mdW5jdGlvbih0LGUpe3ZhciBuPXQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cmV0dXJuIG4udHlwZT0idGV4dC9qYXZhc2NyaXB0IixuLmNoYXJzZXQ9InV0ZjgiLGUmJihuLnNyYz1lKSxufSxlLmNyZWF0ZUxpbms9ZnVuY3Rpb24odCxlKXt2YXIgbj10LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtyZXR1cm4gZSYmKG4uaHJlZj1lKSxufSxlLnJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe2Uub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWUucmVhZHlTdGF0ZSYmKGUuc3RhdHVzPj0yMDAmJmUuc3RhdHVzPDMwMD9uKGUucmVzcG9uc2UpOnIobmV3IEVycm9yKCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAiLmNvbmNhdChlLnN0YXR1cykpKSl9LGUub3BlbigiR0VUIix0LCEwKSxlLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsInRleHQvcGxhaW4iKSxlLnNlbmQoKX0pfSxlLnBhcnNlSlNPTj1mdW5jdGlvbih0KXtpZihKU09OLnBhcnNlKXJldHVybiBKU09OLnBhcnNlKHQpO2lmKEpTT04uZGVjb2RlKXJldHVybiBKU09OLmRlY29kZSh0KTt0aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBwYXJzZSBqc29uLiIpfX0sMTMwKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gcyh0KXt0cnl7YyhyLm5leHQodCkpfWNhdGNoKHQpe2kodCl9fWZ1bmN0aW9uIGEodCl7dHJ5e2Moci50aHJvdyh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYyh0KXt2YXIgZTt0LmRvbmU/byh0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pKS50aGVuKHMsYSl9Yygocj1yLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSl9LG89dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBhKGEpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtpJiYoaT0wLGFbMF0mJihzPTApKSxzOyl0cnl7aWYobj0xLHImJihvPTImYVswXT9yLnJldHVybjphWzBdP3IudGhyb3d8fCgobz1yLnJldHVybikmJm8uY2FsbChyKSwwKTpyLm5leHQpJiYhKG89by5jYWxsKHIsYVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKHI9MCxvJiYoYT1bMiZhWzBdLG8udmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOm89YTticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLHI9YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChvPShvPXMudHJ5cykubGVuZ3RoPjAmJm9bby5sZW5ndGgtMV0pfHw2IT09YVswXSYmMiE9PWFbMF0pKXtzPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighb3x8YVsxXT5vWzBdJiZhWzFdPG9bM10pKXtzLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJnMubGFiZWw8b1sxXSl7cy5sYWJlbD1vWzFdLG89YTticmVha31pZihvJiZzLmxhYmVsPG9bMl0pe3MubGFiZWw9b1syXSxzLm9wcy5wdXNoKGEpO2JyZWFrfW9bMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1hPWUuY2FsbCh0LHMpfWNhdGNoKHQpe2E9WzYsdF0scj0wfWZpbmFsbHl7bj1vPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KFthLGNdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBXaWRnZXQ9dm9pZCAwO3ZhciBpPW4oNzQwKSxzPW4oODkzKSxhPXdpbmRvdyxjPSItYXBwbGljYXRpb24taWZyYW1lIix1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7aWYodm9pZCAwPT09biYmKG49W10pLHRoaXMuaWQ9dCx0aGlzLm9wdGlvbnM9ZSx0aGlzLl9wdXNoQXBpPW4sdGhpcy5yZW5kZXJlZD0hMSx0aGlzLmFwaT1udWxsLHRoaXMuZWw9bnVsbCx0aGlzLmZyYW1lPW51bGwsdGhpcy52ZXJzaW9uPTIsdGhpcy5pbml0aWFsaXplZD0hMSwhZS5ib290c3RyYXBVcmwpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBib290c3RyYXBVcmwiKTtpZighZS5rZXkpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBrZXkiKX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0T3B0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLHMubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpcy5mZWF0dXJlcyYmKHRoaXMuZmVhdHVyZXMucmF0aW5nfHwodGhpcy5vcHRpb25zLnJhdGluZ0VuYWJsZWQ9ITEpLHRoaXMuZmVhdHVyZXMuZ3JvdXBzfHwodGhpcy5vcHRpb25zLmdyb3VwU2VsZWN0RW5hYmxlZD0hMSksdGhpcy5mZWF0dXJlcy5jdXN0b21pemV8fCh0aGlzLm9wdGlvbnMuaGlkZVdpZGdldD0hMSx0aGlzLm9wdGlvbnMuaGlkZU9mZmxpbmVDaGF0PSExLHRoaXMub3B0aW9ucy5udW1iZXJDb250cm9sPSExLHRoaXMub3B0aW9ucy5yZXF1aXJlTG9naW49ITEsdGhpcy5vcHRpb25zLnByaXZhY3lOb3RpY2VFbmFibGVkPSEwLHRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj0icmlnaHQiKSx0aGlzLmZlYXR1cmVzLmdhfHwodGhpcy5vcHRpb25zLmdvb2dsZUFuYWx5dGljc0VuYWJsZWQ9ITEpKSx0aGlzfSx0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQsZSl7dGhpcy5mZWF0dXJlcz1lLHRoaXMuc2V0T3B0aW9ucyh0KSx0aGlzLmluaXRpYWxpemVkPSEwLCJhdXRvIj09PXRoaXMub3B0aW9ucy5wb3NpdGlvbiYmKHRoaXMub3B0aW9ucy5wb3NpdGlvbj10aGlzLm9wdGlvbnMucmVuZGVyVG8/InJlbGF0aXZlIjoiZml4ZWQiKX0sdC5wcm90b3R5cGUuY3JlYXRlRnJhbWU9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC5pZD0iIi5jb25jYXQodGhpcy5pZCkuY29uY2F0KGMpLHQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlNtYXJ0c3VwcCIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0LnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdC5zdHlsZS50b3A9IjAiLHQuc3R5bGUubGVmdD0iMCIsdC5zdHlsZS53aWR0aD0iMXB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLm9wYWNpdHk9IjAiLHQuc3R5bGUuYm9yZGVyPSJub25lIix0LnN0eWxlLnpJbmRleD0iLTEiLHQuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsdH0sdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKHQpe3JldHVybiByKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBvKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5faW5pdFByb21pc2U/WzQsdGhpcy5faW5pdFByb21pc2VdOlszLDJdO2Nhc2UgMTpuLnNlbnQoKSxuLmxhYmVsPTI7Y2FzZSAyOmlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQrYykpcmV0dXJuWzJdO2lmKCF0aGlzLmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiZmFpbGVkIHRvIGluaXRpYWxpemUgd2lkZ2V0Iik7aWYoIShlPSgwLHMucmVzb2x2ZVRhcmdldEVsZW1lbnQpKHQpKSl0aHJvdyBuZXcgRXJyb3IoInRhcmdldCBlbGVtZW50IG5vdCBmb3VuZCIpO3JldHVybiB0aGlzLnJlbmRlckZyYW1lKGUpLHRoaXMucmVuZGVyZWQ9ITAsWzJdfX0pfSl9LHQucHJvdG90eXBlLnJlbmRlckZyYW1lPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLmZyYW1lPXRoaXMuY3JlYXRlRnJhbWUoKTtuLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7dmFyIHQsaSxhPW51bGwhPT0odD1uLmNvbnRlbnREb2N1bWVudCkmJnZvaWQgMCE9PXQ/dDpudWxsPT09KGk9bi5jb250ZW50V2luZG93KXx8dm9pZCAwPT09aT92b2lkIDA6aS5kb2N1bWVudDtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIERvY3VtZW50Iik7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLHU9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO3UuaWQ9ImJvZHkiLHUuZGF0YXNldC5zbWFydHN1cHBJZD1lLmlkLHUuaW5uZXJIVE1MPSc8ZGl2IGlkPSJhcHAiPjwvZGl2Pic7dmFyIGw9InNyYy9tYWluLnRzIixwPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlU2NyaXB0KShhLGUuZ2V0QmFzZVVybCgpKyIvIi5jb25jYXQodCkpO24udHlwZT0ibW9kdWxlIixjLmFwcGVuZENoaWxkKG4pfSxmPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlTGluaykoYSwiIi5jb25jYXQoZS5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCkpO24ucmVsPSJzdHlsZXNoZWV0IixuLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLGMuYXBwZW5kQ2hpbGQobil9O2Uub3B0aW9ucy53aWRnZXRWM0Rldk1vZGU/WyJAdml0ZS9jbGllbnQiLGxdLmZvckVhY2gocCk6cihlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdCxuLHIsaTtyZXR1cm4gbyh0aGlzLGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsKDAscy5yZXF1ZXN0KSgiIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi9tYW5pZmVzdC5qc29uIikpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuKDAscy5wYXJzZUpTT04pKHQpfSldO2Nhc2UgMTpyZXR1cm4gdD1vLnNlbnQoKSxuPXRbbF0scChuLmZpbGUpLG51bGw9PT0ocj1uLmltcG9ydHMpfHx2b2lkIDA9PT1yfHxyLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHIsbztyPXRbbl0uZmlsZSwobz0oMCxzLmNyZWF0ZUxpbmspKGEsIiIuY29uY2F0KGUuZ2V0QmFzZVVybCgpLCIvIikuY29uY2F0KHIpKSkucmVsPSJtb2R1bGVwcmVsb2FkIixjLmFwcGVuZENoaWxkKG8pfSksbnVsbD09PShpPW4uY3NzKXx8dm9pZCAwPT09aXx8aS5mb3JFYWNoKGYpLGYodFsic3R5bGUuY3NzIl0uZmlsZSksWzJdfX0pfSl9KSx0LmFwcGVuZENoaWxkKG4pfSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5lbCYmdGhpcy5lbC5wYXJlbnROb2RlJiYodGhpcy5lbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWwpLHRoaXMuZWw9bnVsbCl9LHQucHJvdG90eXBlLmdldE9wdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT10aGlzLm9wdGlvbnNbdF0/ZTp0aGlzLm9wdGlvbnNbdF19LHQucHJvdG90eXBlLmdldEJhc2VVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLndpZGdldFYzVXJsfSx0LnByb3RvdHlwZS5nZXRBc3NldFVybD1mdW5jdGlvbih0KXtyZXR1cm4iIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCl9LHQucHJvdG90eXBlLmdldEludGVybmFsQXBpVXJsPWZ1bmN0aW9uKCl7cmV0dXJuIiIuY29uY2F0KHRoaXMub3B0aW9ucy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KHRoaXMub3B0aW9ucy5rZXksIi9jb2RlLmpzIil9LHQucHJvdG90eXBlLmV4ZWM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dGhpcy5fcHVzaEFwaS5wdXNoKHQpfSx0LnByb3RvdHlwZS5pbnN0YWxsQXBpPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYodGhpcy5hcGk9dCxhLnNtYXJ0c3VwcC5hcGk9dCx0aGlzLl9wdXNoQXBpJiYodGhpcy5fcHVzaEFwaS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciByPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4sMCk7dHJ5e2Uub3B0aW9ucy53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsaS50cmFja09wZXJhdGlvbikoZS5vcHRpb25zLHJbMF0pLHQuZXhlY3V0ZShyKX1jYXRjaCh0KXtjb25zb2xlLmxvZyh0KX19KSx0aGlzLl9wdXNoQXBpLnB1c2g9ZnVuY3Rpb24obil7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwKTt0cnl7ZS5vcHRpb25zLndpZGdldFRyYWNrZXJFbmFibGVkJiYoMCxpLnRyYWNrT3BlcmF0aW9uKShlLm9wdGlvbnMsclswXSksdC5leGVjdXRlKHIpfWNhdGNoKHQpe2NvbnNvbGUubG9nKHQpfX0pLHRoaXMub3B0aW9ucy5vblN0YXJ0dXApdHJ5e3RoaXMub3B0aW9ucy5vblN0YXJ0dXAodCl9Y2F0Y2godCl7Y29uc29sZS5sb2codCl9fSx0fSgpO2UuU21hcnRzdXBwV2lkZ2V0PXV9fSxlPXt9O2Z1bmN0aW9uIG4ocil7dmFyIG89ZVtyXTtpZih2b2lkIDAhPT1vKXJldHVybiBvLmV4cG9ydHM7dmFyIGk9ZVtyXT17ZXhwb3J0czp7fX07cmV0dXJuIHRbcl0uY2FsbChpLmV4cG9ydHMsaSxpLmV4cG9ydHMsbiksaS5leHBvcnRzfW4uZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKHQpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLCgoKT0+eyJ1c2Ugc3RyaWN0IjtuKDc2MSk7dmFyIHQ9big3MTUpLGU9bigzNDUpLHI9ImNoYXQiO2lmKHdpbmRvdy5zbWFydHN1cHB8fCh3aW5kb3cuc21hcnRzdXBwPWZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcC5fLnB1c2goYXJndW1lbnRzKX0sd2luZG93LnNtYXJ0c3VwcC5fPVtdKSwhd2luZG93LlNNQVJUU1VQUF9MT0FERUQpe3dpbmRvdy5TTUFSVFNVUFBfTE9BREVEPSEwO3ZhciBvPW5ldyBlLlNtYXJ0c3VwcExvYWRlcih7d2lkZ2V0VmVyc2lvbjozLGJvb3RzdHJhcFVybDoiaHR0cHM6Ly9ib290c3RyYXAuc21hcnRzdXBwY2hhdC5jb20iLGZpbGVzVXJsOiJodHRwczovL2ZpbGVzLnNtYXJ0c3VwcGNkbi5jb20iLHdpZGdldFYzVXJsOiJodHRwczovL3dpZGdldC12My5zbWFydHN1cHBjZG4uY29tIixzdG9yYWdlVXJsOiJodHRwczovL3trZXl9LnN0b3JhZ2Uuc21hcnRzdXBwY2hhdC5jb20iLHdpZGdldEFwaVVybDoiaHR0cHM6Ly9hcGkuc21hcnRzdXBwY2hhdC5jb20iLHpJbmRleDoxZTcscG9zaXRpb246ImF1dG8iLG9yaWVudGF0aW9uOiJyaWdodCIsYXV0b0lubGluZU1vZGU6ITAsd2lkZ2V0VjNEZXZNb2RlOiExfSk7d2luZG93LiRzbWFydHN1cHA9byx3aW5kb3cuc21hcnRzdXBwPU9iamVjdC5hc3NpZ24od2luZG93LnNtYXJ0c3VwcCx7Y2hhdHM6by53aWRnZXRzLGNyZWF0ZTpvLmNyZWF0ZS5iaW5kKG8pLGNyZWF0ZVdpZGdldDpvLmNyZWF0ZVdpZGdldC5iaW5kKG8pLGdldENoYXQ6by5nZXRDaGF0LmJpbmQobyksZ2V0V2lkZ2V0Om8uZ2V0V2lkZ2V0LmJpbmQobyksc2V0RGVmYXVsdHM6by5zZXREZWZhdWx0cy5iaW5kKG8pfSksITEhPT13aW5kb3cuU01BUlRTVVBQX0FVVE9DUkVBVEUmJighMD09PXdpbmRvdy5TTUFSVFNVUFBfQkZDQUNIRSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZnVuY3Rpb24oKXt2YXIgdDtudWxsPT09KHQ9d2luZG93LnNtYXJ0c3VwcC5nZXRXaWRnZXQocikpfHx2b2lkIDA9PT10fHx0LnJlbmRlcigpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsZnVuY3Rpb24oKXt2YXIgdCxlO251bGw9PT0odD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIi5jb25jYXQociwiLWFwcGxpY2F0aW9uLWlmcmFtZSIpKSl8fHZvaWQgMD09PXR8fHQucmVtb3ZlKCksbnVsbD09PShlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzbWFydHN1cHAtd2lkZ2V0LWNvbnRhaW5lciIpKXx8dm9pZCAwPT09ZXx8ZS5yZW1vdmUoKX0pKSx0KGZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcCgiaHRtbDphcHBseSIsZG9jdW1lbnQpLG8uY3JlYXRlV2lkZ2V0KHIsd2luZG93Ll9zbWFydHN1cHAsd2luZG93LnNtYXJ0c3VwcC5fKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlbmRlcigpfSkuY2F0Y2goZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKHQpfSl9KSl9fSkoKX0pKCk7"}},"time_used":6865,"timings":{"blocked":-1,"dns":87,"connect":8,"send":0,"wait":8,"receive":0,"ssl":6762},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/328.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.178Z","timestamp":1785129950178,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/328.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2396\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:34:20 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:33:28 GMT\r\ncache-control: max-age=86400\r\netag: \"940a2a3c47a31e6b927db48b93f606d8\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 6743\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: qYSKK6El5vGLAgOJLxUj56hUodgU1n2srirmK3o1XMwPpIWpPzLw_Q==\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":"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 S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":2396,"size_decoded":2921,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"940a2a3c47a31e6b927db48b93f606d8","sha1":"ae6baf0aa2414befc57305ef288e49604695b1c4","sha256":"aeb35390525c9a2ff55b35bceabd869925940837d658ac837fd1603db2c1455f","sha512":"d3323594bb4300b34c24a498000eccceee9fd9b827ea35f5de5be4751342710ca6c60278239fd94c1729be27832e93b16fba61a8325edca7b218a76b3f094aad","ssdeep":"","tlshash":"99411ae2a4072c7ed205972d014c4bb99f60d922a111674d1e7026984e383f2adf84bf","first_seen":"2023-05-25T22:55:54Z","last_seen":"2026-08-15T04:03:51.038945Z","times_seen":1712,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/7278.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.250Z","timestamp":1785129950250,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/7278.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 832\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 09 Jul 2024 07:55:55 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 04:17:16 GMT\r\ncache-control: public, max-age=86400\r\netag: \"ff1cba08edcc514d5676fdfe1fc32ccc\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 8198\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: pWz7eVUm2MRvZZXCPB-UHMYmPPyfrSQeZ_gCSE-J0OQly-lCljyaeQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":832,"size_decoded":1402,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"ff1cba08edcc514d5676fdfe1fc32ccc","sha1":"ac95fa2487d2e18d3f2bd895b4a8be23399fd463","sha256":"5e7048442d6bae4b57dafd847ae3e424a8eb7ea4f2c3b0acc325339163f943b0","sha512":"f6ce372da2ac2a1692ec07cbe2f3c25ffd9399d0bf006015526a62d8e13b6d8e954de23201fb80bbfef8a688933c88ac360e108d8b35d66be9c517ee8c31dac6","ssdeep":"","tlshash":"5a01cad40ee95188ae5b4c13350141328b6328f952f7be6decbdf41d28c1f00360c791","first_seen":"2024-11-30T20:42:41.062812Z","last_seen":"2026-08-15T04:03:51.095263Z","times_seen":1325,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAADB0lEQVR4Xu2aPXLUQBBGfQSOwFE4go/AjWRLWwVFshC4HMEBIIIIIjuhOABEEFAO1tJisPHYrJh989fSzox+vK/qJd6vZ7rHrrWk0sFBJqpqfVgd1zciq/oJ6yfHomwKY7CeLsp6yfVHC5uPLfcbBepPlo2mtizrp+wjO8vi5hEby+2zon7MvrLARoaW/SWFm49F9hkdbjhW2XcUuElXu/Dt6x+jvqvsfye4uNRYcF2pnKMXXFRiKriPRM7TCS4WMhfcNyTnEsOFXP74fs0ek8MefHIuEVzE5ZCcnqyNflxyPi8sdtkHrqH7atkwLoLruOScVtSlJQttdoG1UrvAWpvF7aU75zVgkU0prOurhE8fr4w6m5x3C3WHxQIqgTUxlMAaq4XnYYsRthiC+ZienoS/I1hjk3O3MEhDMJ/KEMxTzn0HQzQE8ykN/bdg3ibn3+kAmM1hCObp1vDqoSMD0s0uLq6NfC59MGt6edQegPlhzI3S6oNZKjqAd29/cd0WZnVdMKd7fnbF+B3MSfZRMEtFB+CDWUmNgnll6IaKecl+L543Rlb3fvjAI20X6puY2VCNTowaSS2zWxarQ+9v37c4c6E80WvevF7zYyvca6O6DHbBLPUegHo254LZjVJ2raEumKPeA/DBrKRGR6/58N79RavDvST7Mkd7HUDozktCjBpJPXO01wEwR0MwL6nxfen66r98/m1kdZMcgK9W3dExG6pRMEtdhK5UvQcQww3nZ/7fhK2mafzNxzD5AYzd/QHwBw/N20vhlfzlpbm5eT5ofPBAFN0Nztn9Afw/gMsjfjh3F+V62R7A/SGYoTm7Nfz+AP7B0Fzl3C0MzlXO3aIuDBiem2UReMWWBXOT8xoUxc/B3/9NZSF9r5iFc5FzemHx1OV8IrjIVOVcYrjQVOVcneBiU5Pz9IKLTkXOsRNcfOyy/yhwk7HKvqPDDcci+0wKNx9a9pcFdWnJRnIrev83NeoOi40l1/fK65AYjUaW+42W6nj1ks33V3unb6p0etiiXl7KxF+YoCfQVyFWbgAAAABJRU5ErkJggg=="}},"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":"coinlib.io/_next/static/chunks/9df3b67b6061ea9e.js","fqdn":"coinlib.io","domain":"coinlib.io","tld":"io"},"ip":{"addr":"104.21.64.148","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes","date":"2026-07-27T05:25:49.473Z","timestamp":1785129949473,"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":"coinlib.io","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Wed, 22 Jul 2026 08:03:31 GMT","end":"Tue, 20 Oct 2026 09:03:20 GMT"},"fingerprint":{"sha1":"C6:CB:55:AC:C8:0C:E7:35:B1:E0:C2:0F:D5:68:9B:BC:7B:3F:A5:90","sha256":"B5:2C:EC:C1:28:4E:9C:F6:B2:A7:13:AE:48:38:B0:FC:D0:88:AC:B9:A1:F2:7A:26:95:B6:31:94:E0:EA:BD:4E"}}},"request":{"raw":"GET /_next/static/chunks/9df3b67b6061ea9e.js HTTP/1.1\r\nHost: coinlib.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\nReferer: https://coinlib.io/widget?type=full_v2\u0026theme=light\u0026cnt=6\u0026pref_coin_id=1505\u0026graph=yes\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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\naccess-control-allow-origin: *\r\nage: 7741355\r\ncache-control: public, max-age=31536000, immutable\r\ncontent-disposition: inline; filename=\"9df3b67b6061ea9e.js\"\r\ncontent-encoding: br\r\ncontent-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; script-src-elem 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://static.cloudflareinsights.com https://va.vercel-scripts.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob: https: http:; font-src 'self'; connect-src 'self' https://yxarttakdttxyamscerx.supabase.co https://*.supabase.co https://www.google-analytics.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://*.cloudflareinsights.com https://vitals.vercel-insights.com; base-uri 'self'; form-action 'self'; frame-ancestors 'none'\r\ncontent-type: application/javascript; charset=utf-8\r\ndate: Mon, 27 Jul 2026 05:25:49 GMT\r\netag: W/\"c678a91c2c6476c2f4253bbb2f68861b\"\r\nlast-modified: Tue, 28 Apr 2026 14:50:57 GMT\r\npermissions-policy: camera=(), microphone=(), geolocation=()\r\nreferrer-policy: strict-origin-when-cross-origin\r\nserver: cloudflare\r\nstrict-transport-security: max-age=63072000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nx-matched-path: /_next/static/chunks/9df3b67b6061ea9e.js\r\nx-vercel-cache: HIT\r\nx-vercel-id: arn1::qglf9-1777388594160-6b3c36de26cf\r\nx-xss-protection: 1; mode=block\r\npriority: u=3,i=?0\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=c8iLFYzuhIt8%2BUeTv9exKB0yOuFBVGpv%2FYvAMReSIbUhFheI7z7wc58TNo2sTAhLHaEjub9pNLv7Kr3NHkO8Km03wfw5OwRsltHebCpHsX01boYgDv3AmrkTFd6F\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nvary: accept-encoding\r\ncf-ray: a21939c83d22a0f0-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Vercel","description":"Vercel is a cloud platform for static frontends and serverless functions.","website":"https://vercel.com","common_platform_enumeration":"","icon":"vercel.svg","categories":["PaaS"]}],"data":{"size":33297,"size_decoded":9767,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (19585)","md5":"c678a91c2c6476c2f4253bbb2f68861b","sha1":"69b7933df2474b5a89bafec3ed00c63e7a38fd6c","sha256":"ee32b6de09c560980545699191b3ba6ebd9847bba1e07b95f5a5ddf359bfc353","sha512":"f3ae2a1ace9a1a1c354782702e328db28abd4864d69e33e7e6e72cc82ce93e5142093752a6b82a5d21f62e953ed27f5101956c00407e5d2d9527eb36435d1584","ssdeep":"384:EjUDGGRCRvBrTfIVZ/X+0o3NkOG4+Z47auBSwTNGFJl:4vB/8Z/X+0o3KZzZ47auJG","tlshash":"dce2c7b572d5faa2139340f0c83f2017f2784c7521ac7460a7e4cc9b765888da6bafd9","first_seen":"2026-02-04T14:24:19.872146Z","last_seen":"2026-08-15T07:58:28.177003Z","times_seen":2316,"resource_available":true,"data":"KGdsb2JhbFRoaXMuVFVSQk9QQUNLfHwoZ2xvYmFsVGhpcy5UVVJCT1BBQ0s9W10pKS5wdXNoKFsib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQ6dm9pZCAwLDQxMDYyLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJJbnZhcmlhbnRFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsdCl7c3VwZXIoYEludmFyaWFudDogJHtlLmVuZHNXaXRoKCIuIik/ZTplKyIuIn0gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzLmAsdCksdGhpcy5uYW1lPSJJbnZhcmlhbnRFcnJvciJ9fX0sODQwODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0JhaWxvdXRUb0NTUkVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzQmFpbG91dFRvQ1NSRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iQkFJTE9VVF9UT19DTElFTlRfU0lERV9SRU5ERVJJTkciO2NsYXNzIGkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihgQmFpbCBvdXQgdG8gY2xpZW50LXNpZGUgcmVuZGVyaW5nOiAke2V9YCksdGhpcy5yZWFzb249ZSx0aGlzLmRpZ2VzdD1vfX1mdW5jdGlvbiB1KGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJkaWdlc3QiaW4gZSYmZS5kaWdlc3Q9PT1vfX0sNTMxMzMsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e0hUVFBBY2Nlc3NFcnJvclN0YXR1czpmdW5jdGlvbigpe3JldHVybiBvfSxIVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sZ2V0QWNjZXNzRmFsbGJhY2tFcnJvclR5cGVCeVN0YXR1czpmdW5jdGlvbigpe3JldHVybiBkfSxnZXRBY2Nlc3NGYWxsYmFja0hUVFBTdGF0dXM6ZnVuY3Rpb24oKXtyZXR1cm4gY30saXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcjpmdW5jdGlvbigpe3JldHVybiBzfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPXtOT1RfRk9VTkQ6NDA0LEZPUkJJRERFTjo0MDMsVU5BVVRIT1JJWkVEOjQwMX0saT1uZXcgU2V0KE9iamVjdC52YWx1ZXMobykpLHU9Ik5FWFRfSFRUUF9FUlJPUl9GQUxMQkFDSyI7ZnVuY3Rpb24gcyhlKXtpZigib2JqZWN0IiE9dHlwZW9mIGV8fG51bGw9PT1lfHwhKCJkaWdlc3QiaW4gZSl8fCJzdHJpbmciIT10eXBlb2YgZS5kaWdlc3QpcmV0dXJuITE7bGV0W3Qscl09ZS5kaWdlc3Quc3BsaXQoIjsiKTtyZXR1cm4gdD09PXUmJmkuaGFzKE51bWJlcihyKSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gTnVtYmVyKGUuZGlnZXN0LnNwbGl0KCI7IilbMV0pfWZ1bmN0aW9uIGQoZSl7c3dpdGNoKGUpe2Nhc2UgNDAxOnJldHVybiJ1bmF1dGhvcml6ZWQiO2Nhc2UgNDAzOnJldHVybiJmb3JiaWRkZW4iO2Nhc2UgNDA0OnJldHVybiJub3QtZm91bmQiO2RlZmF1bHQ6cmV0dXJufX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw0OTg0MywoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwiaXNOZXh0Um91dGVyRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig1MzEzMyksYT1lLnIoOTA4NjIpO2Z1bmN0aW9uIG8oZSl7cmV0dXJuKDAsYS5pc1JlZGlyZWN0RXJyb3IpKGUpfHwoMCxuLmlzSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3IpKGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDM5Mjc1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGF9fSk7Y2xhc3MgbiBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKCl7c3VwZXIoIk1ldGhvZCB1bmF2YWlsYWJsZSBvbiBgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNgLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VhcmNoLXBhcmFtcyN1cGRhdGluZy1zZWFyY2hwYXJhbXMiKX19Y2xhc3MgYSBleHRlbmRzIFVSTFNlYXJjaFBhcmFtc3thcHBlbmQoKXt0aHJvdyBuZXcgbn1kZWxldGUoKXt0aHJvdyBuZXcgbn1zZXQoKXt0aHJvdyBuZXcgbn1zb3J0KCl7dGhyb3cgbmV3IG59fSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMxODk5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtOYXZpZ2F0aW9uUHJvbWlzZXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LFBhdGhQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGN9LFBhdGhuYW1lQ29udGV4dDpmdW5jdGlvbigpe3JldHVybiBzfSxSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBpLlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxTZWFyY2hQYXJhbXNDb250ZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHV9LGNyZWF0ZURldlRvb2xzSW5zdHJ1bWVudGVkUHJvbWlzZTpmdW5jdGlvbigpe3JldHVybiBsfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPWUucig3NTIwMSksaT1lLnIoMzkyNzUpLHU9KDAsby5jcmVhdGVDb250ZXh0KShudWxsKSxzPSgwLG8uY3JlYXRlQ29udGV4dCkobnVsbCksYz0oMCxvLmNyZWF0ZUNvbnRleHQpKG51bGwpLGQ9KDAsby5jcmVhdGVDb250ZXh0KShudWxsKTtmdW5jdGlvbiBsKGUsdCl7bGV0IHI9UHJvbWlzZS5yZXNvbHZlKHQpO3JldHVybiByLnN0YXR1cz0iZnVsZmlsbGVkIixyLnZhbHVlPXQsci5kaXNwbGF5TmFtZT1gJHtlfSAoU1NSKWAscn19LDMzOSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwid29ya1VuaXRBc3luY1N0b3JhZ2VJbnN0YW5jZSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSk7bGV0IG49KDAsZS5yKDQ5MjExKS5jcmVhdGVBc3luY0xvY2FsU3RvcmFnZSkoKX0sMTI5NjUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2dldENhY2hlU2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LGdldERyYWZ0TW9kZVByb3ZpZGVyRm9yQ2FjaGVTY29wZTpmdW5jdGlvbigpe3JldHVybiBtfSxnZXRIbXJSZWZyZXNoSGFzaDpmdW5jdGlvbigpe3JldHVybiBmfSxnZXRQcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU6ZnVuY3Rpb24oKXtyZXR1cm4gZH0sZ2V0UmVuZGVyUmVzdW1lRGF0YUNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGx9LGdldFJ1bnRpbWVTdGFnZVByb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sZ2V0U2VydmVyQ29tcG9uZW50c0htckNhY2hlOmZ1bmN0aW9uKCl7cmV0dXJuIGh9LGlzSG1yUmVmcmVzaDpmdW5jdGlvbigpe3JldHVybiBwfSx0aHJvd0Zvck1pc3NpbmdSZXF1ZXN0U3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gc30sdGhyb3dJbnZhcmlhbnRGb3JNaXNzaW5nU3RvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sd29ya1VuaXRBc3luY1N0b3JhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gby53b3JrVW5pdEFzeW5jU3RvcmFnZUluc3RhbmNlfX07Zm9yKHZhciBhIGluIG4pT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsYSx7ZW51bWVyYWJsZTohMCxnZXQ6blthXX0pO2xldCBvPWUucigzMzkpLGk9ZS5yKDM0NjQxKSx1PWUucig0MTA2Mik7ZnVuY3Rpb24gcyhlKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgb3V0c2lkZSBhIHJlcXVlc3Qgc2NvcGUuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1keW5hbWljLWFwaS13cm9uZy1jb250ZXh0YCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyNTEiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9ZnVuY3Rpb24gYygpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgdS5JbnZhcmlhbnRFcnJvcigiRXhwZWN0ZWQgd29ya1VuaXRBc3luY1N0b3JhZ2UgdG8gaGF2ZSBhIHN0b3JlLiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNjk2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfWZ1bmN0aW9uIGQoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjpyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJyZXF1ZXN0IjppZihlLnByZXJlbmRlclJlc3VtZURhdGFDYWNoZSlyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGwoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJyZXF1ZXN0IjpjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJwcmVyZW5kZXItY2xpZW50IjppZihlLnJlbmRlclJlc3VtZURhdGFDYWNoZSlyZXR1cm4gZS5yZW5kZXJSZXN1bWVEYXRhQ2FjaGU7Y2FzZSJwcmVyZW5kZXItcHByIjpyZXR1cm4gZS5wcmVyZW5kZXJSZXN1bWVEYXRhQ2FjaGU/P251bGw7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInVuc3RhYmxlLWNhY2hlIjpjYXNlInByZXJlbmRlci1sZWdhY3kiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGYoZSx0KXtpZihlLmRldilzd2l0Y2godC50eXBlKXtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1ydW50aW1lIjpyZXR1cm4gdC5obXJSZWZyZXNoSGFzaDtjYXNlInJlcXVlc3QiOnZhciByO3JldHVybiBudWxsPT0ocj10LmNvb2tpZXMuZ2V0KGkuTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRSkpP3ZvaWQgMDpyLnZhbHVlfX1mdW5jdGlvbiBwKGUsdCl7aWYoZS5kZXYpc3dpdGNoKHQudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpjYXNlInJlcXVlc3QiOnJldHVybiB0LmlzSG1yUmVmcmVzaD8/ITF9cmV0dXJuITF9ZnVuY3Rpb24gaChlLHQpe2lmKGUuZGV2KXN3aXRjaCh0LnR5cGUpe2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gdC5zZXJ2ZXJDb21wb25lbnRzSG1yQ2FjaGV9fWZ1bmN0aW9uIG0oZSx0KXtpZihlLmlzRHJhZnRNb2RlKXN3aXRjaCh0LnR5cGUpe2Nhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJyZXF1ZXN0IjpyZXR1cm4gdC5kcmFmdE1vZGV9fWZ1bmN0aW9uIHkoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLWNsaWVudCI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6cmV0dXJuIGUuY2FjaGVTaWduYWw7Y2FzZSJyZXF1ZXN0IjppZihlLmNhY2hlU2lnbmFsKXJldHVybiBlLmNhY2hlU2lnbmFsO2Nhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fWZ1bmN0aW9uIGIoZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm4gZS5ydW50aW1lU3RhZ2VQcm9taXNlO2Nhc2UicHJlcmVuZGVyIjpjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlInJlcXVlc3QiOmNhc2UiY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOnJldHVybiBudWxsO2RlZmF1bHQ6cmV0dXJuIGV9fX0sMTg0NjIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1NlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gaX0sdXNlU2VydmVySW5zZXJ0ZWRIVE1MOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9by5kZWZhdWx0LmNyZWF0ZUNvbnRleHQobnVsbCk7ZnVuY3Rpb24gdShlKXtsZXQgdD0oMCxvLnVzZUNvbnRleHQpKGkpO3QmJnQoZSl9fSw2NTk5NSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkociwibm90Rm91bmQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBvfX0pO2xldCBuPWUucig1MzEzMyksYT1gJHtuLkhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERX07NDA0YDtmdW5jdGlvbiBvKCl7bGV0IGU9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGEpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3Rocm93IGUuZGlnZXN0PWEsZX0oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNzc2MiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oKXt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImBmb3JiaWRkZW4oKWAgaXMgZXhwZXJpbWVudGFsIGFuZCBvbmx5IGFsbG93ZWQgdG8gYmUgZW5hYmxlZCB3aGVuIGBleHBlcmltZW50YWwuYXV0aEludGVycnVwdHNgIGlzIGVuYWJsZWQuIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU0ODgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJmb3JiaWRkZW4iLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBufX0pLGUucig1MzEzMykuSFRUUF9FUlJPUl9GQUxMQkFDS19FUlJPUl9DT0RFLCgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDc5NTM5LChlLHQscik9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbigpe3Rocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiYHVuYXV0aG9yaXplZCgpYCBpcyBleHBlcmltZW50YWwgYW5kIG9ubHkgYWxsb3dlZCB0byBiZSB1c2VkIHdoZW4gYGV4cGVyaW1lbnRhbC5hdXRoSW50ZXJydXB0c2AgaXMgZW5hYmxlZC4iKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTQxMSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX1PYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuYXV0aG9yaXplZCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG59fSksZS5yKDUzMTMzKS5IVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREUsKCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTg3ODIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuc3RhYmxlX3JldGhyb3ciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKCgwLGEuaXNOZXh0Um91dGVyRXJyb3IpKHQpfHwoMCxuLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpKXRocm93IHQ7dCBpbnN0YW5jZW9mIEVycm9yJiYiY2F1c2UiaW4gdCYmZSh0LmNhdXNlKX19fSk7bGV0IG49ZS5yKDg0MDgyKSxhPWUucig0OTg0Myk7KCJmdW5jdGlvbiI9PXR5cGVvZiByLmRlZmF1bHR8fCJvYmplY3QiPT10eXBlb2Ygci5kZWZhdWx0JiZudWxsIT09ci5kZWZhdWx0KSYmdm9pZCAwPT09ci5kZWZhdWx0Ll9fZXNNb2R1bGUmJihPYmplY3QuZGVmaW5lUHJvcGVydHkoci5kZWZhdWx0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxPYmplY3QuYXNzaWduKHIuZGVmYXVsdCxyKSx0LmV4cG9ydHM9ci5kZWZhdWx0KX0sMTU1MDgsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e2lzSGFuZ2luZ1Byb21pc2VSZWplY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBvfSxtYWtlRGV2dG9vbHNJT0F3YXJlUHJvbWlzZTpmdW5jdGlvbigpe3JldHVybiBsfSxtYWtlSGFuZ2luZ1Byb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gY319O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtmdW5jdGlvbiBvKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiJkaWdlc3QiaW4gZSYmZS5kaWdlc3Q9PT1pfWxldCBpPSJIQU5HSU5HX1BST01JU0VfUkVKRUNUSU9OIjtjbGFzcyB1IGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSx0KXtzdXBlcihgRHVyaW5nIHByZXJlbmRlcmluZywgJHt0fSByZWplY3RzIHdoZW4gdGhlIHByZXJlbmRlciBpcyBjb21wbGV0ZS4gVHlwaWNhbGx5IHRoZXNlIGVycm9ycyBhcmUgaGFuZGxlZCBieSBSZWFjdCBidXQgaWYgeW91IG1vdmUgJHt0fSB0byBhIGRpZmZlcmVudCBjb250ZXh0IGJ5IHVzaW5nIFxgc2V0VGltZW91dFxgLCBcYGFmdGVyXGAsIG9yIHNpbWlsYXIgZnVuY3Rpb25zIHlvdSBtYXkgb2JzZXJ2ZSB0aGlzIGVycm9yIGFuZCB5b3Ugc2hvdWxkIGhhbmRsZSBpdCBpbiB0aGF0IGNvbnRleHQuIFRoaXMgb2NjdXJyZWQgYXQgcm91dGUgIiR7ZX0iLmApLHRoaXMucm91dGU9ZSx0aGlzLmV4cHJlc3Npb249dCx0aGlzLmRpZ2VzdD1pfX1sZXQgcz1uZXcgV2Vha01hcDtmdW5jdGlvbiBjKGUsdCxyKXtpZihlLmFib3J0ZWQpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyB1KHQscikpO3tsZXQgbj1uZXcgUHJvbWlzZSgobixhKT0+e2xldCBvPWEuYmluZChudWxsLG5ldyB1KHQscikpLGk9cy5nZXQoZSk7aWYoaSlpLnB1c2gobyk7ZWxzZXtsZXQgdD1bb107cy5zZXQoZSx0KSxlLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IiwoKT0+e2ZvcihsZXQgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0oKX0se29uY2U6ITB9KX19KTtyZXR1cm4gbi5jYXRjaChkKSxufX1mdW5jdGlvbiBkKCl7fWZ1bmN0aW9uIGwoZSx0LHIpe3JldHVybiB0LnN0YWdlZFJlbmRlcmluZz90LnN0YWdlZFJlbmRlcmluZy5kZWxheVVudGlsU3RhZ2Uocix2b2lkIDAsZSk6bmV3IFByb21pc2UodD0+e3NldFRpbWVvdXQoKCk9Pnt0KGUpfSwwKX0pfX0sMTc1NTYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImlzUG9zdHBvbmUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBhfX0pO2xldCBuPVN5bWJvbC5mb3IoInJlYWN0LnBvc3Rwb25lIik7ZnVuY3Rpb24gYShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09bn19LDkzMjEzLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gaX0saXNEeW5hbWljU2VydmVyRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iRFlOQU1JQ19TRVJWRVJfVVNBR0UiO2NsYXNzIGkgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihgRHluYW1pYyBzZXJ2ZXIgdXNhZ2U6ICR7ZX1gKSx0aGlzLmRlc2NyaXB0aW9uPWUsdGhpcy5kaWdlc3Q9b319ZnVuY3Rpb24gdShlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYiZGlnZXN0ImluIGUmJiJzdHJpbmciPT10eXBlb2YgZS5kaWdlc3QmJmUuZGlnZXN0PT09b30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSwxNjQzMiwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17U3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGlzU3RhdGljR2VuQmFpbG91dEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIHV9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89Ik5FWFRfU1RBVElDX0dFTl9CQUlMT1VUIjtjbGFzcyBpIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoLi4uZSl7c3VwZXIoLi4uZSksdGhpcy5jb2RlPW99fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmImNvZGUiaW4gZSYmZS5jb2RlPT09b30oImZ1bmN0aW9uIj09dHlwZW9mIHIuZGVmYXVsdHx8Im9iamVjdCI9PXR5cGVvZiByLmRlZmF1bHQmJm51bGwhPT1yLmRlZmF1bHQpJiZ2b2lkIDA9PT1yLmRlZmF1bHQuX19lc01vZHVsZSYmKE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLmRlZmF1bHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5hc3NpZ24oci5kZWZhdWx0LHIpLHQuZXhwb3J0cz1yLmRlZmF1bHQpfSw1MzQ1OSwoZSx0LHIpPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj17TUVUQURBVEFfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiBvfSxPVVRMRVRfQk9VTkRBUllfTkFNRTpmdW5jdGlvbigpe3JldHVybiB1fSxST09UX0xBWU9VVF9CT1VOREFSWV9OQU1FOmZ1bmN0aW9uKCl7cmV0dXJuIHN9LFZJRVdQT1JUX0JPVU5EQVJZX05BTUU6ZnVuY3Rpb24oKXtyZXR1cm4gaX19O2Zvcih2YXIgYSBpbiBuKU9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLGEse2VudW1lcmFibGU6ITAsZ2V0Om5bYV19KTtsZXQgbz0iX19uZXh0X21ldGFkYXRhX2JvdW5kYXJ5X18iLGk9Il9fbmV4dF92aWV3cG9ydF9ib3VuZGFyeV9fIix1PSJfX25leHRfb3V0bGV0X2JvdW5kYXJ5X18iLHM9Il9fbmV4dF9yb290X2xheW91dF9ib3VuZGFyeV9fIn0sMjQzODYsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbj1lLmkoODI2MzcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT17YXRMZWFzdE9uZVRhc2s6ZnVuY3Rpb24oKXtyZXR1cm4gc30sc2NoZWR1bGVJbW1lZGlhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2NoZWR1bGVPbk5leHRUaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LHdhaXRBdExlYXN0T25lUmVhY3RSZW5kZXJUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIGN9fTtmb3IodmFyIG8gaW4gYSlPYmplY3QuZGVmaW5lUHJvcGVydHkocixvLHtlbnVtZXJhYmxlOiEwLGdldDphW29dfSk7bGV0IGk9ZT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntuLmRlZmF1bHQubmV4dFRpY2soZSl9KX0sdT1lPT57c2V0SW1tZWRpYXRlKGUpfTtmdW5jdGlvbiBzKCl7cmV0dXJuIG5ldyBQcm9taXNlKGU9PnUoZSkpfWZ1bmN0aW9uIGMoKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+c2V0SW1tZWRpYXRlKGUpKX19LDY3NzgxLChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuLGEsbz17UG9zdHBvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gan0sUHJlbHVkZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIFp9LGFib3J0QW5kVGhyb3dPblN5bmNocm9ub3VzUmVxdWVzdERhdGFBY2Nlc3M6ZnVuY3Rpb24oKXtyZXR1cm4gU30sYWJvcnRPblN5bmNocm9ub3VzUGxhdGZvcm1JT0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBQfSxhY2Nlc3NlZER5bmFtaWNEYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIE59LGFubm90YXRlRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBCfSxjb25zdW1lRHluYW1pY0FjY2VzczpmdW5jdGlvbigpe3JldHVybiBJfSxjcmVhdGVEeW5hbWljVHJhY2tpbmdTdGF0ZTpmdW5jdGlvbigpe3JldHVybiBnfSxjcmVhdGVEeW5hbWljVmFsaWRhdGlvblN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIF99LGNyZWF0ZUhhbmdpbmdJbnB1dEFib3J0U2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuICR9LGNyZWF0ZVJlbmRlckluQnJvd3NlckFib3J0U2lnbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIEx9LGRlbGF5VW50aWxSdW50aW1lU3RhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gZXJ9LGZvcm1hdER5bmFtaWNBUElBY2Nlc3NlczpmdW5jdGlvbigpe3JldHVybiBVfSxnZXRGaXJzdER5bmFtaWNSZWFzb246ZnVuY3Rpb24oKXtyZXR1cm4gRX0sZ2V0U3RhdGljU2hlbGxEaXNhbGxvd2VkRHluYW1pY1JlYXNvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gZXR9LGlzRHluYW1pY1Bvc3Rwb25lOmZ1bmN0aW9uKCl7cmV0dXJuIHh9LGlzUHJlcmVuZGVySW50ZXJydXB0ZWRFcnJvcjpmdW5jdGlvbigpe3JldHVybiBrfSxsb2dEaXNhbGxvd2VkRHluYW1pY0Vycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIFF9LG1hcmtDdXJyZW50U2NvcGVBc0R5bmFtaWM6ZnVuY3Rpb24oKXtyZXR1cm4gUn0scG9zdHBvbmVXaXRoVHJhY2tpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gRH0sdGhyb3dJZkRpc2FsbG93ZWREeW5hbWljOmZ1bmN0aW9uKCl7cmV0dXJuIGVlfSx0aHJvd1RvSW50ZXJydXB0U3RhdGljR2VuZXJhdGlvbjpmdW5jdGlvbigpe3JldHVybiB2fSx0cmFja0FsbG93ZWREeW5hbWljQWNjZXNzOmZ1bmN0aW9uKCl7cmV0dXJuIFl9LHRyYWNrRHluYW1pY0RhdGFJbkR5bmFtaWNSZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm4gT30sdHJhY2tEeW5hbWljSG9sZUluUnVudGltZVNoZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIFZ9LHRyYWNrRHluYW1pY0hvbGVJblN0YXRpY1NoZWxsOmZ1bmN0aW9uKCl7cmV0dXJuIEt9LHVzZUR5bmFtaWNSb3V0ZVBhcmFtczpmdW5jdGlvbigpe3JldHVybiBIfSx1c2VEeW5hbWljU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIFh9fTtmb3IodmFyIGkgaW4gbylPYmplY3QuZGVmaW5lUHJvcGVydHkocixpLHtlbnVtZXJhYmxlOiEwLGdldDpvW2ldfSk7bGV0IHU9KG49ZS5yKDc1MjAxKSkmJm4uX19lc01vZHVsZT9uOntkZWZhdWx0Om59LHM9ZS5yKDkzMjEzKSxjPWUucigxNjQzMiksZD1lLnIoMTI5NjUpLGw9ZS5yKDg5NzkxKSxmPWUucigxNTUwOCkscD1lLnIoNTM0NTkpLGg9ZS5yKDI0Mzg2KSxtPWUucig4NDA4MikseT1lLnIoNDEwNjIpLGI9ImZ1bmN0aW9uIj09dHlwZW9mIHUuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZTtmdW5jdGlvbiBnKGUpe3JldHVybntpc0RlYnVnRHluYW1pY0FjY2Vzc2VzOmUsZHluYW1pY0FjY2Vzc2VzOltdLHN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2s6bnVsbH19ZnVuY3Rpb24gXygpe3JldHVybntoYXNTdXNwZW5zZUFib3ZlQm9keTohMSxoYXNEeW5hbWljTWV0YWRhdGE6ITEsZHluYW1pY01ldGFkYXRhOm51bGwsaGFzRHluYW1pY1ZpZXdwb3J0OiExLGhhc0FsbG93ZWREeW5hbWljOiExLGR5bmFtaWNFcnJvcnM6W119fWZ1bmN0aW9uIEUoZSl7dmFyIHQ7cmV0dXJuIG51bGw9PSh0PWUuZHluYW1pY0FjY2Vzc2VzWzBdKT92b2lkIDA6dC5leHByZXNzaW9ufWZ1bmN0aW9uIFIoZSx0LHIpe2lmKHQpc3dpdGNoKHQudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm59aWYoIWUuZm9yY2VEeW5hbWljJiYhZS5mb3JjZVN0YXRpYyl7aWYoZS5keW5hbWljU2hvdWxkRXJyb3IpdGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcihgUm91dGUgJHtlLnJvdXRlfSB3aXRoIFxgZHluYW1pYyA9ICJlcnJvciJcYCBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCBcYCR7cn1cYC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc3RhdGljLWFuZC1keW5hbWljI2R5bmFtaWMtcmVuZGVyaW5nYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NTMiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7aWYodClzd2l0Y2godC50eXBlKXtjYXNlInByZXJlbmRlci1wcHIiOnJldHVybiBEKGUucm91dGUscix0LmR5bmFtaWNUcmFja2luZyk7Y2FzZSJwcmVyZW5kZXItbGVnYWN5Ijp0LnJldmFsaWRhdGU9MDtsZXQgbj1PYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHMuRHluYW1pY1NlcnZlckVycm9yKGBSb3V0ZSAke2Uucm91dGV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkICR7cn0uIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZHluYW1pYy1zZXJ2ZXItZXJyb3JgKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTU1MCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTt0aHJvdyBlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uPXIsZS5keW5hbWljVXNhZ2VTdGFjaz1uLnN0YWNrLG59fX1mdW5jdGlvbiB2KGUsdCxyKXtsZXQgbj1PYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHMuRHluYW1pY1NlcnZlckVycm9yKGBSb3V0ZSAke3Qucm91dGV9IGNvdWxkbid0IGJlIHJlbmRlcmVkIHN0YXRpY2FsbHkgYmVjYXVzZSBpdCB1c2VkIFxgJHtlfVxgLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2R5bmFtaWMtc2VydmVyLWVycm9yYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU1NTgiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7dGhyb3cgci5yZXZhbGlkYXRlPTAsdC5keW5hbWljVXNhZ2VEZXNjcmlwdGlvbj1lLHQuZHluYW1pY1VzYWdlU3RhY2s9bi5zdGFjayxufWZ1bmN0aW9uIE8oZSl7c3dpdGNoKGUudHlwZSl7Y2FzZSJjYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6Y2FzZSJwcml2YXRlLWNhY2hlIjpyZXR1cm59fWZ1bmN0aW9uIHcoZSx0LHIpe2xldCBuPUMoYFJvdXRlICR7ZX0gbmVlZHMgdG8gYmFpbCBvdXQgb2YgcHJlcmVuZGVyaW5nIGF0IHRoaXMgcG9pbnQgYmVjYXVzZSBpdCB1c2VkICR7dH0uYCk7ci5jb250cm9sbGVyLmFib3J0KG4pO2xldCBhPXIuZHluYW1pY1RyYWNraW5nO2EmJmEuZHluYW1pY0FjY2Vzc2VzLnB1c2goe3N0YWNrOmEuaXNEZWJ1Z0R5bmFtaWNBY2Nlc3Nlcz9FcnJvcigpLnN0YWNrOnZvaWQgMCxleHByZXNzaW9uOnR9KX1mdW5jdGlvbiBQKGUsdCxyLG4pe2xldCBhPW4uZHluYW1pY1RyYWNraW5nO3coZSx0LG4pLGEmJm51bGw9PT1hLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2smJihhLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2s9cil9ZnVuY3Rpb24gUyhlLHQscixuKXtpZighMT09PW4uY29udHJvbGxlci5zaWduYWwuYWJvcnRlZCl7dyhlLHQsbik7bGV0IGE9bi5keW5hbWljVHJhY2tpbmc7YSYmbnVsbD09PWEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayYmKGEuc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjaz1yKX10aHJvdyBDKGBSb3V0ZSAke2V9IG5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCAke3R9LmApfWZ1bmN0aW9uIGooe3JlYXNvbjplLHJvdXRlOnR9KXtsZXQgcj1kLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7RCh0LGUsciYmInByZXJlbmRlci1wcHIiPT09ci50eXBlP3IuZHluYW1pY1RyYWNraW5nOm51bGwpfWZ1bmN0aW9uIEQoZSx0LHIpeyhmdW5jdGlvbigpe2lmKCFiKXRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcigiSW52YXJpYW50OiBSZWFjdC51bnN0YWJsZV9wb3N0cG9uZSBpcyBub3QgZGVmaW5lZC4gVGhpcyBzdWdnZXN0cyB0aGUgd3JvbmcgdmVyc2lvbiBvZiBSZWFjdCB3YXMgbG9hZGVkLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIyNCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX0pKCksciYmci5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6ci5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246dH0pLHUuZGVmYXVsdC51bnN0YWJsZV9wb3N0cG9uZShUKGUsdCkpfWZ1bmN0aW9uIFQoZSx0KXtyZXR1cm5gUm91dGUgJHtlfSBuZWVkcyB0byBiYWlsIG91dCBvZiBwcmVyZW5kZXJpbmcgYXQgdGhpcyBwb2ludCBiZWNhdXNlIGl0IHVzZWQgJHt0fS4gUmVhY3QgdGhyb3dzIHRoaXMgc3BlY2lhbCBvYmplY3QgdG8gaW5kaWNhdGUgd2hlcmUuIEl0IHNob3VsZCBub3QgYmUgY2F1Z2h0IGJ5IHlvdXIgb3duIHRyeS9jYXRjaC4gTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvcHByLWNhdWdodC1lcnJvcmB9ZnVuY3Rpb24geChlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiYic3RyaW5nIj09dHlwZW9mIGUubWVzc2FnZSYmQShlLm1lc3NhZ2UpfWZ1bmN0aW9uIEEoZSl7cmV0dXJuIGUuaW5jbHVkZXMoIm5lZWRzIHRvIGJhaWwgb3V0IG9mIHByZXJlbmRlcmluZyBhdCB0aGlzIHBvaW50IGJlY2F1c2UgaXQgdXNlZCIpJiZlLmluY2x1ZGVzKCJMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wcHItY2F1Z2h0LWVycm9yIil9aWYoITE9PT1BKFQoIiUlJSIsIl5eXiIpKSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoIkludmFyaWFudDogaXNEeW5hbWljUG9zdHBvbmUgbWlzaWRlbnRpZmllZCBhIHBvc3Rwb25lIHJlYXNvbi4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzIiksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUyOTYiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7bGV0IE09Ik5FWFRfUFJFUkVOREVSX0lOVEVSUlVQVEVEIjtmdW5jdGlvbiBDKGUpe2xldCB0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvcihlKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTM5NCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gdC5kaWdlc3Q9TSx0fWZ1bmN0aW9uIGsoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS5kaWdlc3Q9PT1NJiYibmFtZSJpbiBlJiYibWVzc2FnZSJpbiBlJiZlIGluc3RhbmNlb2YgRXJyb3J9ZnVuY3Rpb24gTihlKXtyZXR1cm4gZS5sZW5ndGg+MH1mdW5jdGlvbiBJKGUsdCl7cmV0dXJuIGUuZHluYW1pY0FjY2Vzc2VzLnB1c2goLi4udC5keW5hbWljQWNjZXNzZXMpLGUuZHluYW1pY0FjY2Vzc2VzfWZ1bmN0aW9uIFUoZSl7cmV0dXJuIGUuZmlsdGVyKGU9PiJzdHJpbmciPT10eXBlb2YgZS5zdGFjayYmZS5zdGFjay5sZW5ndGg+MCkubWFwKCh7ZXhwcmVzc2lvbjplLHN0YWNrOnR9KT0+KHQ9dC5zcGxpdCgiXG4iKS5zbGljZSg0KS5maWx0ZXIoZT0+IShlLmluY2x1ZGVzKCJub2RlX21vZHVsZXMvbmV4dC8iKXx8ZS5pbmNsdWRlcygiICg8YW5vbnltb3VzPikiKXx8ZS5pbmNsdWRlcygiIChub2RlOiIpKSkuam9pbigiXG4iKSxgRHluYW1pYyBBUEkgVXNhZ2UgRGVidWcgLSAke2V9Ogoke3R9YCkpfWZ1bmN0aW9uIEwoKXtsZXQgZT1uZXcgQWJvcnRDb250cm9sbGVyO3JldHVybiBlLmFib3J0KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgbS5CYWlsb3V0VG9DU1JFcnJvcigiUmVuZGVyIGluIEJyb3dzZXIiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTcyMSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSksZS5zaWduYWx9ZnVuY3Rpb24gJChlKXtzd2l0Y2goZS50eXBlKXtjYXNlInByZXJlbmRlciI6Y2FzZSJwcmVyZW5kZXItcnVudGltZSI6bGV0IHQ9bmV3IEFib3J0Q29udHJvbGxlcjtpZihlLmNhY2hlU2lnbmFsKWUuY2FjaGVTaWduYWwuaW5wdXRSZWFkeSgpLnRoZW4oKCk9Pnt0LmFib3J0KCl9KTtlbHNle2xldCByPSgwLGQuZ2V0UnVudGltZVN0YWdlUHJvbWlzZSkoZSk7cj9yLnRoZW4oKCk9PigwLGguc2NoZWR1bGVPbk5leHRUaWNrKSgoKT0+dC5hYm9ydCgpKSk6KDAsaC5zY2hlZHVsZU9uTmV4dFRpY2spKCgpPT50LmFib3J0KCkpfXJldHVybiB0LnNpZ25hbDtjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyLXBwciI6Y2FzZSJwcmVyZW5kZXItbGVnYWN5IjpjYXNlInJlcXVlc3QiOmNhc2UiY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6Y2FzZSJ1bnN0YWJsZS1jYWNoZSI6cmV0dXJufX1mdW5jdGlvbiBCKGUsdCl7bGV0IHI9dC5keW5hbWljVHJhY2tpbmc7ciYmci5keW5hbWljQWNjZXNzZXMucHVzaCh7c3RhY2s6ci5pc0RlYnVnRHluYW1pY0FjY2Vzc2VzP0Vycm9yKCkuc3RhY2s6dm9pZCAwLGV4cHJlc3Npb246ZX0pfWZ1bmN0aW9uIEgoZSl7bGV0IHQ9bC53b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKCkscj1kLndvcmtVbml0QXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7aWYodCYmcilzd2l0Y2goci50eXBlKXtjYXNlInByZXJlbmRlci1jbGllbnQiOmNhc2UicHJlcmVuZGVyIjp7bGV0IG49ci5mYWxsYmFja1JvdXRlUGFyYW1zO24mJm4uc2l6ZT4wJiZ1LmRlZmF1bHQudXNlKCgwLGYubWFrZUhhbmdpbmdQcm9taXNlKShyLnJlbmRlclNpZ25hbCx0LnJvdXRlLGUpKTticmVha31jYXNlInByZXJlbmRlci1wcHIiOntsZXQgbj1yLmZhbGxiYWNrUm91dGVQYXJhbXM7aWYobiYmbi5zaXplPjApcmV0dXJuIEQodC5yb3V0ZSxlLHIuZHluYW1pY1RyYWNraW5nKTticmVha31jYXNlInByZXJlbmRlci1ydW50aW1lIjp0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IHkuSW52YXJpYW50RXJyb3IoYFxgJHtlfVxgIHdhcyBjYWxsZWQgZHVyaW5nIGEgcnVudGltZSBwcmVyZW5kZXIuIE5leHQuanMgc2hvdWxkIGJlIHByZXZlbnRpbmcgJHtlfSBmcm9tIGJlaW5nIGluY2x1ZGVkIGluIHNlcnZlciBjb21wb25lbnRzIHN0YXRpY2FsbHksIGJ1dCBkaWQgbm90IGluIHRoaXMgY2FzZS5gKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTc3MSIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtjYXNlImNhY2hlIjpjYXNlInByaXZhdGUtY2FjaGUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBpbnNpZGUgYSBjYWNoZSBzY29wZS4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzQ1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfX1mdW5jdGlvbiBYKGUpe2xldCB0PWwud29ya0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpLHI9ZC53b3JrVW5pdEFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO2lmKHQpc3dpdGNoKCFyJiYoMCxkLnRocm93Rm9yTWlzc2luZ1JlcXVlc3RTdG9yZSkoZSksci50eXBlKXtjYXNlInByZXJlbmRlci1jbGllbnQiOnUuZGVmYXVsdC51c2UoKDAsZi5tYWtlSGFuZ2luZ1Byb21pc2UpKHIucmVuZGVyU2lnbmFsLHQucm91dGUsZSkpO2JyZWFrO2Nhc2UicHJlcmVuZGVyLWxlZ2FjeSI6Y2FzZSJwcmVyZW5kZXItcHByIjppZih0LmZvcmNlU3RhdGljKXJldHVybjt0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3IG0uQmFpbG91dFRvQ1NSRXJyb3IoZSksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkUzOTQiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJwcmVyZW5kZXIiOmNhc2UicHJlcmVuZGVyLXJ1bnRpbWUiOnRocm93IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXcgeS5JbnZhcmlhbnRFcnJvcihgXGAke2V9XGAgd2FzIGNhbGxlZCBmcm9tIGEgU2VydmVyIENvbXBvbmVudC4gTmV4dC5qcyBzaG91bGQgYmUgcHJldmVudGluZyAke2V9IGZyb20gYmVpbmcgaW5jbHVkZWQgaW4gc2VydmVyIGNvbXBvbmVudHMgc3RhdGljYWxseSwgYnV0IGRpZCBub3QgaW4gdGhpcyBjYXNlLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzk1IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO2Nhc2UiY2FjaGUiOmNhc2UidW5zdGFibGUtY2FjaGUiOmNhc2UicHJpdmF0ZS1jYWNoZSI6dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBcYCR7ZX1cYCB3YXMgY2FsbGVkIGluc2lkZSBhIGNhY2hlIHNjb3BlLiBOZXh0LmpzIHNob3VsZCBiZSBwcmV2ZW50aW5nICR7ZX0gZnJvbSBiZWluZyBpbmNsdWRlZCBpbiBzZXJ2ZXIgY29tcG9uZW50cyBzdGF0aWNhbGx5LCBidXQgZGlkIG5vdCBpbiB0aGlzIGNhc2UuYCksIl9fTkVYVF9FUlJPUl9DT0RFIix7dmFsdWU6IkU3NDUiLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSk7Y2FzZSJyZXF1ZXN0IjpyZXR1cm59fWxldCBGPS9cblxzK2F0IFN1c3BlbnNlIFwoPGFub255bW91cz5cKS8sVz1SZWdFeHAoYFxcblxccythdCBTdXNwZW5zZSBcXCg8YW5vbnltb3VzPlxcKSg/Oig/IVxcblxccythdCAoPzpib2R5fGRpdnxtYWlufHNlY3Rpb258YXJ0aWNsZXxhc2lkZXxoZWFkZXJ8Zm9vdGVyfG5hdnxmb3JtfHB8c3BhbnxoMXxoMnxoM3xoNHxoNXxoNikgXFwoPGFub255bW91cz5cXCkpW1xcc1xcU10pKj9cXG5cXHMrYXQgJHtwLlJPT1RfTEFZT1VUX0JPVU5EQVJZX05BTUV9IFxcKFteXFxuXSpcXClgKSxxPVJlZ0V4cChgXFxuXFxzK2F0ICR7cC5NRVRBREFUQV9CT1VOREFSWV9OQU1FfVtcXG5cXHNdYCksRz1SZWdFeHAoYFxcblxccythdCAke3AuVklFV1BPUlRfQk9VTkRBUllfTkFNRX1bXFxuXFxzXWApLHo9UmVnRXhwKGBcXG5cXHMrYXQgJHtwLk9VVExFVF9CT1VOREFSWV9OQU1FfVtcXG5cXHNdYCk7ZnVuY3Rpb24gWShlLHQscixuKXtpZighei50ZXN0KHQpKXtpZihxLnRlc3QodCkpe3IuaGFzRHluYW1pY01ldGFkYXRhPSEwO3JldHVybn1pZihHLnRlc3QodCkpe3IuaGFzRHluYW1pY1ZpZXdwb3J0PSEwO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBVbmNhY2hlZCBkYXRhIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIDxTdXNwZW5zZT4uIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlYCx0KTtyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChhKX19fWZ1bmN0aW9uIFYoZSx0LHIsbil7aWYoIXoudGVzdCh0KSl7aWYocS50ZXN0KHQpKXtyLmR5bmFtaWNNZXRhZGF0YT1KKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFVuY2FjaGVkIGRhdGEgb3IgXGBjb25uZWN0aW9uKClcYCB3YXMgYWNjZXNzZWQgaW5zaWRlIFxgZ2VuZXJhdGVNZXRhZGF0YVxgLiBFeGNlcHQgZm9yIHRoaXMgaW5zdGFuY2UsIHRoZSBwYWdlIHdvdWxkIGhhdmUgYmVlbiBlbnRpcmVseSBwcmVyZW5kZXJhYmxlIHdoaWNoIG1heSBoYXZlIGJlZW4gdGhlIGludGVuZGVkIGJlaGF2aW9yLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtbWV0YWRhdGFgLHQpO3JldHVybn1pZihHLnRlc3QodCkpe2xldCBuPUooYFJvdXRlICIke2Uucm91dGV9IjogVW5jYWNoZWQgZGF0YSBvciBcYGNvbm5lY3Rpb24oKVxgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgLHQpO3IuZHluYW1pY0Vycm9ycy5wdXNoKG4pO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBVbmNhY2hlZCBkYXRhIG9yIFxgY29ubmVjdGlvbigpXGAgd2FzIGFjY2Vzc2VkIG91dHNpZGUgb2YgXGA8U3VzcGVuc2U+XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2Jsb2NraW5nLXJvdXRlYCx0KTtyZXR1cm4gdm9pZCByLmR5bmFtaWNFcnJvcnMucHVzaChhKX19fWZ1bmN0aW9uIEsoZSx0LHIsbil7aWYoIXoudGVzdCh0KSl7aWYocS50ZXN0KHQpKXtyLmR5bmFtaWNNZXRhZGF0YT1KKGBSb3V0ZSAiJHtlLnJvdXRlfSI6IFJ1bnRpbWUgZGF0YSBzdWNoIGFzIFxgY29va2llcygpXGAsIFxgaGVhZGVycygpXGAsIFxgcGFyYW1zXGAsIG9yIFxgc2VhcmNoUGFyYW1zXGAgd2FzIGFjY2Vzc2VkIGluc2lkZSBcYGdlbmVyYXRlTWV0YWRhdGFcYCBvciB5b3UgaGF2ZSBmaWxlLWJhc2VkIG1ldGFkYXRhIHN1Y2ggYXMgaWNvbnMgdGhhdCBkZXBlbmQgb24gZHluYW1pYyBwYXJhbXMgc2VnbWVudHMuIEV4Y2VwdCBmb3IgdGhpcyBpbnN0YW5jZSwgdGhlIHBhZ2Ugd291bGQgaGF2ZSBiZWVuIGVudGlyZWx5IHByZXJlbmRlcmFibGUgd2hpY2ggbWF5IGhhdmUgYmVlbiB0aGUgaW50ZW5kZWQgYmVoYXZpb3IuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy1tZXRhZGF0YWAsdCk7cmV0dXJufWlmKEcudGVzdCh0KSl7bGV0IG49SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBpbnNpZGUgXGBnZW5lcmF0ZVZpZXdwb3J0XGAuIFRoaXMgZGVsYXlzIHRoZSBlbnRpcmUgcGFnZSBmcm9tIHJlbmRlcmluZywgcmVzdWx0aW5nIGluIGEgc2xvdyB1c2VyIGV4cGVyaWVuY2UuIExlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtcHJlcmVuZGVyLWR5bmFtaWMtdmlld3BvcnRgLHQpO3IuZHluYW1pY0Vycm9ycy5wdXNoKG4pO3JldHVybn1pZihXLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITAsci5oYXNTdXNwZW5zZUFib3ZlQm9keT0hMDtyZXR1cm59ZWxzZSBpZihGLnRlc3QodCkpe3IuaGFzQWxsb3dlZER5bmFtaWM9ITA7cmV0dXJufWVsc2V7aWYobi5zeW5jRHluYW1pY0Vycm9yV2l0aFN0YWNrKXJldHVybiB2b2lkIHIuZHluYW1pY0Vycm9ycy5wdXNoKG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayk7bGV0IGE9SihgUm91dGUgIiR7ZS5yb3V0ZX0iOiBSdW50aW1lIGRhdGEgc3VjaCBhcyBcYGNvb2tpZXMoKVxgLCBcYGhlYWRlcnMoKVxgLCBcYHBhcmFtc1xgLCBvciBcYHNlYXJjaFBhcmFtc1xgIHdhcyBhY2Nlc3NlZCBvdXRzaWRlIG9mIFxgPFN1c3BlbnNlPlxgLiBUaGlzIGRlbGF5cyB0aGUgZW50aXJlIHBhZ2UgZnJvbSByZW5kZXJpbmcsIHJlc3VsdGluZyBpbiBhIHNsb3cgdXNlciBleHBlcmllbmNlLiBMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9ibG9ja2luZy1yb3V0ZWAsdCk7cmV0dXJuIHZvaWQgci5keW5hbWljRXJyb3JzLnB1c2goYSl9fX1mdW5jdGlvbiBKKGUsdCl7bGV0IHI9T2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKGUpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFMzk0IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pO3JldHVybiByLnN0YWNrPXIubmFtZSsiOiAiK2UrdCxyfXZhciBaPSgoYT17fSlbYS5GdWxsPTBdPSJGdWxsIixhW2EuRW1wdHk9MV09IkVtcHR5IixhW2EuRXJyb3JlZD0yXT0iRXJyb3JlZCIsYSk7ZnVuY3Rpb24gUShlLHQpe2NvbnNvbGUuZXJyb3IodCksZS5kZXZ8fChlLmhhc1JlYWRhYmxlRXJyb3JTdGFja3M/Y29uc29sZS5lcnJvcihgVG8gZ2V0IGEgbW9yZSBkZXRhaWxlZCBzdGFjayB0cmFjZSBhbmQgcGlucG9pbnQgdGhlIGlzc3VlLCBzdGFydCB0aGUgYXBwIGluIGRldmVsb3BtZW50IG1vZGUgYnkgcnVubmluZyBcYG5leHQgZGV2XGAsIHRoZW4gb3BlbiAiJHtlLnJvdXRlfSIgaW4geW91ciBicm93c2VyIHRvIGludmVzdGlnYXRlIHRoZSBlcnJvci5gKTpjb25zb2xlLmVycm9yKGBUbyBnZXQgYSBtb3JlIGRldGFpbGVkIHN0YWNrIHRyYWNlIGFuZCBwaW5wb2ludCB0aGUgaXNzdWUsIHRyeSBvbmUgb2YgdGhlIGZvbGxvd2luZzoKICAtIFN0YXJ0IHRoZSBhcHAgaW4gZGV2ZWxvcG1lbnQgbW9kZSBieSBydW5uaW5nIFxgbmV4dCBkZXZcYCwgdGhlbiBvcGVuICIke2Uucm91dGV9IiBpbiB5b3VyIGJyb3dzZXIgdG8gaW52ZXN0aWdhdGUgdGhlIGVycm9yLgogIC0gUmVydW4gdGhlIHByb2R1Y3Rpb24gYnVpbGQgd2l0aCBcYG5leHQgYnVpbGQgLS1kZWJ1Zy1wcmVyZW5kZXJcYCB0byBnZW5lcmF0ZSBiZXR0ZXIgc3RhY2sgdHJhY2VzLmApKX1mdW5jdGlvbiBlZShlLHQscixuKXtpZihuLnN5bmNEeW5hbWljRXJyb3JXaXRoU3RhY2spdGhyb3cgUShlLG4uc3luY0R5bmFtaWNFcnJvcldpdGhTdGFjayksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yO2lmKDAhPT10KXtpZihyLmhhc1N1c3BlbnNlQWJvdmVCb2R5KXJldHVybjtsZXQgbj1yLmR5bmFtaWNFcnJvcnM7aWYobi5sZW5ndGg+MCl7Zm9yKGxldCB0PTA7dDxuLmxlbmd0aDt0KyspUShlLG5bdF0pO3Rocm93IG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcn1pZihyLmhhc0R5bmFtaWNWaWV3cG9ydCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZVZpZXdwb3J0XGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aXRob3V0IGV4cGxpY2l0bHkgYWxsb3dpbmcgZnVsbHkgZHluYW1pYyByZW5kZXJpbmcuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1wcmVyZW5kZXItZHluYW1pYy12aWV3cG9ydGApLG5ldyBjLlN0YXRpY0dlbkJhaWxvdXRFcnJvcjtpZigxPT09dCl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLiBUaGlzIGlzIGEgYnVnIGluIE5leHQuanMuYCksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yfWVsc2UgaWYoITE9PT1yLmhhc0FsbG93ZWREeW5hbWljJiZyLmhhc0R5bmFtaWNNZXRhZGF0YSl0aHJvdyBjb25zb2xlLmVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgaGFzIGEgXGBnZW5lcmF0ZU1ldGFkYXRhXGAgdGhhdCBkZXBlbmRzIG9uIFJlcXVlc3QgZGF0YSAoXGBjb29raWVzKClcYCwgZXRjLi4uKSBvciB1bmNhY2hlZCBleHRlcm5hbCBkYXRhIChcYGZldGNoKC4uLilcYCwgZXRjLi4uKSB3aGVuIHRoZSByZXN0IG9mIHRoZSByb3V0ZSBkb2VzIG5vdC4gU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LXByZXJlbmRlci1keW5hbWljLW1ldGFkYXRhYCksbmV3IGMuU3RhdGljR2VuQmFpbG91dEVycm9yfWZ1bmN0aW9uIGV0KGUsdCxyKXtpZihyLmhhc1N1c3BlbnNlQWJvdmVCb2R5KXJldHVybltdO2lmKDAhPT10KXtsZXQgbj1yLmR5bmFtaWNFcnJvcnM7aWYobi5sZW5ndGg+MClyZXR1cm4gbjtpZigxPT09dClyZXR1cm5bT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ldyB5LkludmFyaWFudEVycm9yKGBSb3V0ZSAiJHtlLnJvdXRlfSIgZGlkIG5vdCBwcm9kdWNlIGEgc3RhdGljIHNoZWxsIGFuZCBOZXh0LmpzIHdhcyB1bmFibGUgdG8gZGV0ZXJtaW5lIGEgcmVhc29uLmApLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFOTM2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pXX1lbHNlIGlmKCExPT09ci5oYXNBbGxvd2VkRHluYW1pYyYmMD09PXIuZHluYW1pY0Vycm9ycy5sZW5ndGgmJnIuZHluYW1pY01ldGFkYXRhKXJldHVybltyLmR5bmFtaWNNZXRhZGF0YV07cmV0dXJuW119ZnVuY3Rpb24gZXIoZSx0KXtyZXR1cm4gZS5ydW50aW1lU3RhZ2VQcm9taXNlP2UucnVudGltZVN0YWdlUHJvbWlzZS50aGVuKCgpPT50KTp0fX0sNTIzMDUsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsInVuc3RhYmxlX3JldGhyb3ciLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiBlKHQpe2lmKCgwLGkuaXNOZXh0Um91dGVyRXJyb3IpKHQpfHwoMCxvLmlzQmFpbG91dFRvQ1NSRXJyb3IpKHQpfHwoMCxzLmlzRHluYW1pY1NlcnZlckVycm9yKSh0KXx8KDAsdS5pc0R5bmFtaWNQb3N0cG9uZSkodCl8fCgwLGEuaXNQb3N0cG9uZSkodCl8fCgwLG4uaXNIYW5naW5nUHJvbWlzZVJlamVjdGlvbkVycm9yKSh0KXx8KDAsdS5pc1ByZXJlbmRlckludGVycnVwdGVkRXJyb3IpKHQpKXRocm93IHQ7dCBpbnN0YW5jZW9mIEVycm9yJiYiY2F1c2UiaW4gdCYmZSh0LmNhdXNlKX19fSk7bGV0IG49ZS5yKDE1NTA4KSxhPWUucigxNzU1Niksbz1lLnIoODQwODIpLGk9ZS5yKDQ5ODQzKSx1PWUucig2Nzc4MSkscz1lLnIoOTMyMTMpOygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDYyOTU5LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJ1bnN0YWJsZV9yZXRocm93Iix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbn19KTtsZXQgbj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNTIzMDUpLnVuc3RhYmxlX3JldGhyb3c6ZS5yKDE4NzgyKS51bnN0YWJsZV9yZXRocm93OygiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDMyNTIsKGUsdCxyKT0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkociwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49e1JlYWRvbmx5VVJMU2VhcmNoUGFyYW1zOmZ1bmN0aW9uKCl7cmV0dXJuIG8uUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXN9LFJlZGlyZWN0VHlwZTpmdW5jdGlvbigpe3JldHVybiB1LlJlZGlyZWN0VHlwZX0sZm9yYmlkZGVuOmZ1bmN0aW9uKCl7cmV0dXJuIGMuZm9yYmlkZGVufSxub3RGb3VuZDpmdW5jdGlvbigpe3JldHVybiBzLm5vdEZvdW5kfSxwZXJtYW5lbnRSZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBpLnBlcm1hbmVudFJlZGlyZWN0fSxyZWRpcmVjdDpmdW5jdGlvbigpe3JldHVybiBpLnJlZGlyZWN0fSx1bmF1dGhvcml6ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gZC51bmF1dGhvcml6ZWR9LHVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3I6ZnVuY3Rpb24oKXtyZXR1cm4gZn0sdW5zdGFibGVfcmV0aHJvdzpmdW5jdGlvbigpe3JldHVybiBsLnVuc3RhYmxlX3JldGhyb3d9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDM5Mjc1KSxpPWUucig0MTcyMSksdT1lLnIoOTA4NjIpLHM9ZS5yKDY1OTk1KSxjPWUucigxNzc2MiksZD1lLnIoNzk1MzkpLGw9ZS5yKDYyOTU5KTtmdW5jdGlvbiBmKCl7dGhyb3cgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yKCJgdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcmAgY2FuIG9ubHkgYmUgdXNlZCBvbiB0aGUgY2xpZW50LiIpLCJfX05FWFRfRVJST1JfQ09ERSIse3ZhbHVlOiJFNzc2IixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9LDI4OTk1LChlLHQscik9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPXtSZWFkb25seVVSTFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiB1LlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zfSxSZWRpcmVjdFR5cGU6ZnVuY3Rpb24oKXtyZXR1cm4gbC5SZWRpcmVjdFR5cGV9LFNlcnZlckluc2VydGVkSFRNTENvbnRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5TZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0fSxmb3JiaWRkZW46ZnVuY3Rpb24oKXtyZXR1cm4gbC5mb3JiaWRkZW59LG5vdEZvdW5kOmZ1bmN0aW9uKCl7cmV0dXJuIGwubm90Rm91bmR9LHBlcm1hbmVudFJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucGVybWFuZW50UmVkaXJlY3R9LHJlZGlyZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIGwucmVkaXJlY3R9LHVuYXV0aG9yaXplZDpmdW5jdGlvbigpe3JldHVybiBsLnVuYXV0aG9yaXplZH0sdW5zdGFibGVfaXNVbnJlY29nbml6ZWRBY3Rpb25FcnJvcjpmdW5jdGlvbigpe3JldHVybiBkLnVuc3RhYmxlX2lzVW5yZWNvZ25pemVkQWN0aW9uRXJyb3J9LHVuc3RhYmxlX3JldGhyb3c6ZnVuY3Rpb24oKXtyZXR1cm4gbC51bnN0YWJsZV9yZXRocm93fSx1c2VQYXJhbXM6ZnVuY3Rpb24oKXtyZXR1cm4gYn0sdXNlUGF0aG5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gbX0sdXNlUm91dGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHl9LHVzZVNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiBofSx1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gX30sdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50czpmdW5jdGlvbigpe3JldHVybiBnfSx1c2VTZXJ2ZXJJbnNlcnRlZEhUTUw6ZnVuY3Rpb24oKXtyZXR1cm4gYy51c2VTZXJ2ZXJJbnNlcnRlZEhUTUx9fTtmb3IodmFyIGEgaW4gbilPYmplY3QuZGVmaW5lUHJvcGVydHkocixhLHtlbnVtZXJhYmxlOiEwLGdldDpuW2FdfSk7bGV0IG89ZS5yKDQ0MDY2KS5fKGUucig3NTIwMSkpLGk9ZS5yKDE2ODcyKSx1PWUucigzMTg5OSkscz1lLnIoMjc0NTQpLGM9ZS5yKDE4NDYyKSxkPWUucig3NTA1MSksbD1lLnIoMzI1MiksZj0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc3ODEpLnVzZUR5bmFtaWNSb3V0ZVBhcmFtczp2b2lkIDAscD0idSI8dHlwZW9mIHdpbmRvdz9lLnIoNjc3ODEpLnVzZUR5bmFtaWNTZWFyY2hQYXJhbXM6dm9pZCAwO2Z1bmN0aW9uIGgoKXtwPy4oInVzZVNlYXJjaFBhcmFtcygpIik7bGV0IGU9KDAsby51c2VDb250ZXh0KSh1LlNlYXJjaFBhcmFtc0NvbnRleHQpO3JldHVybigwLG8udXNlTWVtbykoKCk9PmU/bmV3IHUuUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMoZSk6bnVsbCxbZV0pfWZ1bmN0aW9uIG0oKXtyZXR1cm4gZj8uKCJ1c2VQYXRobmFtZSgpIiksKDAsby51c2VDb250ZXh0KSh1LlBhdGhuYW1lQ29udGV4dCl9ZnVuY3Rpb24geSgpe2xldCBlPSgwLG8udXNlQ29udGV4dCkoaS5BcHBSb3V0ZXJDb250ZXh0KTtpZihudWxsPT09ZSl0aHJvdyBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IoImludmFyaWFudCBleHBlY3RlZCBhcHAgcm91dGVyIHRvIGJlIG1vdW50ZWQiKSwiX19ORVhUX0VSUk9SX0NPREUiLHt2YWx1ZToiRTIzOCIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gZX1mdW5jdGlvbiBiKCl7cmV0dXJuIGY/LigidXNlUGFyYW1zKCkiKSwoMCxvLnVzZUNvbnRleHQpKHUuUGF0aFBhcmFtc0NvbnRleHQpfWZ1bmN0aW9uIGcoZT0iY2hpbGRyZW4iKXtmPy4oInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMoKSIpO2xldCB0PSgwLG8udXNlQ29udGV4dCkoaS5MYXlvdXRSb3V0ZXJDb250ZXh0KTtyZXR1cm4gdD8oMCxzLmdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgpKHQucGFyZW50VHJlZSxlKTpudWxsfWZ1bmN0aW9uIF8oZT0iY2hpbGRyZW4iKXtmPy4oInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudCgpIiksKDAsby51c2VDb250ZXh0KSh1Lk5hdmlnYXRpb25Qcm9taXNlc0NvbnRleHQpO2xldCB0PWcoZSk7cmV0dXJuKDAscy5jb21wdXRlU2VsZWN0ZWRMYXlvdXRTZWdtZW50KSh0LGUpfSgiZnVuY3Rpb24iPT10eXBlb2Ygci5kZWZhdWx0fHwib2JqZWN0Ij09dHlwZW9mIHIuZGVmYXVsdCYmbnVsbCE9PXIuZGVmYXVsdCkmJnZvaWQgMD09PXIuZGVmYXVsdC5fX2VzTW9kdWxlJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KHIuZGVmYXVsdCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksT2JqZWN0LmFzc2lnbihyLmRlZmF1bHQsciksdC5leHBvcnRzPXIuZGVmYXVsdCl9XSk7"}},"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":"fonts.gstatic.com/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:25:49.613Z","timestamp":1785129949613,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://digitaltradeinvest.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 7884\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:57:12 GMT\r\nexpires: Fri, 23 Jul 2027 02:57:12 GMT\r\ncache-control: public, max-age=31536000\r\nage: 354517\r\nlast-modified: Mon, 15 Sep 2025 16:34:42 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":7884,"size_decoded":8696,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 7884, version 1.0","md5":"9212f6f9860f9fc6c69b02fedf6db8c3","sha1":"ac6d71b4d5fdd2b3dabc9a06ff6c001e4251da0b","sha256":"7d93459d86585bfcdbb7e0376056226adb25821ee54b96236fe2123e9560929f","sha512":"67317495f4b53e20a9f31c034e456e6c37f387dffb2c092caa5159bc441cfcadd02749ffe5bbed1d580d5300a59e48a767ef2c6d9978b474f84c1a2cd095c126","ssdeep":"192:xLFDbKO9E3rS3JWBRO/J601FSS5ZUbik3Zy2f0:pd9J5W501otlI","tlshash":"c3f1ae4eb3f2cd1be40982e53a0fc90b1c578272681fd772d067a22517893bc8db2c81","first_seen":"2023-04-05T15:35:34Z","last_seen":"2026-08-15T16:42:28.905341Z","times_seen":391752,"resource_available":false,"data":"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"}},"time_used":46,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":46,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:49.667Z","timestamp":1785129949667,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 356922\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-15T16:45:42.901566Z","times_seen":965851,"resource_available":false,"data":"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"}},"time_used":42,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":10,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2","fqdn":"fonts.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.67","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:49.924Z","timestamp":1785129949924,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /s/roboto/v48/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBA.woff2 HTTP/1.1\r\nHost: fonts.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 40128\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 02:17:07 GMT\r\nexpires: Fri, 23 Jul 2027 02:17:07 GMT\r\ncache-control: public, max-age=31536000\r\nage: 356922\r\nlast-modified: Thu, 29 May 2025 23:30:55 GMT\r\ncontent-type: font/woff2\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":40128,"size_decoded":40941,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 40128, version 1.0","md5":"9a01b69183a9604ab3a439e388b30501","sha1":"8ed1d59003d0dbe6360481017b44665153665fbe","sha256":"20b535fa80c8189e3b87d1803038389960203a886d502bc2ef1857affc2f38d2","sha512":"0e6795255b6eea00b5403fd7e3b904d52776d49ac63a31c2778361262883697943aedcb29feee85694ba6f19eaa34dddb9a5bfe7118f4a25b4757e92c331feca","ssdeep":"768:Vce3jkow68wmT4IBX0tXdlSirS61gSjcz0GPwHbP+w2jec56O:VcI/iEEEtXdFJj+0GPwHbP+w5rO","tlshash":"3703023a5e3ccf1a84157a703950f6d9a8481e548e9d143b4f1ac7bf085dde2209b6d4","first_seen":"2025-01-08T22:59:02.845106Z","last_seen":"2026-08-15T16:45:42.901566Z","times_seen":965851,"resource_available":false,"data":"d09GMgABAAAAAJzAABYAAAABJMwAAJxGAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoFwG7cAHJB0P0hWQVKGBQZgP1NUQVSBTicuAINCCIF+CZ8GL34RDAqBzmCBtmkLhVgAMIHeagE2AiQDiywEIAWJAAcgDIVOW3sUcYJ2+YXsTHcCUa2eb/kBStiuDNw2mlrloLhnj0bEboekZ1x7dPT//6cllSEzKZqmA5hzU71vkJCiJNulImOrXjzgaVpjkkldY9XkEtIwK7MgGJlJEu058EgYM8XbsUKJJgnS3LaCoydljRIf3TWocIZSKIVqflw9sPdXdL57lPkx26hbdai4Rm4SDjwdLWegM6PKTLHOb5qk/JwuRbUtUd7gj8QKjJ+DgUkZ7C0v+jSd+LWPe9GCVWr6F94zg0u7qMNnDlqbodvshzAf6OYyKSUIe6KkC93/4oFnTrqajC9m6zfclde5uO5vhku9953rXlaBseshaqzz/jytrfdnZrfZApZcWGpJqTxw4VBKaIk0sJvzGCosKoxT7g7j0CbMQ8wAk1IUBCxAYmGIoDz4r3qQfMhY4ibqKONtZoB3W//MrmyZMzVNcIALEEEEQZA9ZA8RtqACrpGWZmrR0LyyfVc27LK77q553ZitG7tb66/Z8Lhp/xIIkISECCEOwYMEs7aDik5MTkTb7ovoicpuJyLbzrzXTiprKTA8btq/UJ+I/7ud78x3+2rasa8+ObN2Vt+NrsNa8GCBJCQhASKEKIRgQVRWoywdDTAUXTP7PPdkKKfZoAAtcwC7mzLiq3ce54D4xVBAyibdANmyLaI5eDfrJwmQoK1TZ81OPW3vPf8T8Z8PKNQUKSktYkE8DXiFutCuuBy01LU9QDRxc9rWj1Nz1ga4kN2Em0sRtrd7tD1IHsgSC/8anXrf8vhOVVOhvq/sWf/TNptLrpUKCNOM4flu5M7lExRGNNmFQsvlH/w9d38Ts/TfK9jMRjPJtJ+EZkKtgsMD/L37294UeTGe7gsswyj8y9aYYCyH2yZ2SXJQ7F7eZmlRWfm/NdMP0tdImmEDxrv8vN7EcQDZ7XPKrCIdm1wLgCc69nhLfQAd1WZVB3qAavATs6eYtYwkTJD47ZL49NSH+Wa/ZybrgpyJgttS4rsJriHhV21ldzPgMSUyV6QnIjZ1nNuKchFxIkb0mc+Tjdj/s35pe72zOXhO9WcUWM2W+k5NeN9Iq3NA+jipCUrcdM1TUC5DYC1HVSlHLyfJzDYi3ysfAfDP/7Rm9+duD+1Bd+CaGuFyDtbM/mzLPHKyu9BDa2UYhUSjsAjXVC/CIgwaY/DhbWq1/0tWduQcWIvKoXUIRbdYn486oKa4mff/14fRSKOxHQsMskKSvSDbyZ3s4FgBWV5nAbg9oEr2JgtERbv9MZQ1l9ee//+mpu2/gMLIEVAc56HiH8U/UtE4t7lp3KfhgBRnQFIaJgsEl9YQu6YBcNdnQO4eD6CUYhli+QByjz42WJ+kaA3XCVRcOaZOrWNuity67F10kjqnVJS1T28TNLc6WUjfLqS4IeL3R1gxREswWLt+3zSlGv2Z87pr7Q6dRIQL0LAg6FtJbqvv1vT8Np2lA2IzHfOxg7lv7dXO7dwGP+2E5n2XqBidkSc3vK5GEVx/mRSgq77ZcoBUuwVSv65RLlI2QlXaEP940w0+hoF1IJI9CMIAwyCgJOAJB0BBOY3UrPh3Ea4wxihCGMe4ShG+ijmxqimZ3Xm+7BPSxhifMcIInfCJnAmZ+UHCbCaNMeFsh3UvQwwJee8xpuapF7+xw3Rta3xqkCAqQSI44vPrMVQsR116Hm09QZS47RhTK4qxyf6MqRtUkIsgnitt/3RAcCJLf4qPqYYRMuIB8ZYIWfkSsl7IFiGkkHQhWUJym1P5CrXX/g87oBTuuFMwN7VB7kXTFkUnbrO84857C0DTgj/G2uoSUGoshQD4wyrt8p9BgHrAOTIACMj8y5c+9WBo0hcIwvEUijH5Qqks614AEVkpOXnBracypT4qaj1uT+McYItQgDjuBL59q8e1XSEPYHtjyN4GyG4zt/sATQT4X/H6OItnsS604dbrQ27rFTP0o7ICU4m2AAHlSeSY2OSmfgFQhw3DbE6LrrXmDSByk/Eue/+7oQAsMV3wISG/ivDQcQiI1Kh10CGHHXE0WtGOpGKpJwAMbagVqEkENZuQI+OoDfWAzO0bKwIys1H+s3kcWO8pab1rfSi6yifx1lp1Hy3qcvncKcmFUen0h5/d+Mz4uGre6M/lyluLsBIR/3JsoMWW1C6s6TM3WBtKk4Cq9VLaBs5TxkP6h4nnV92N8uIGrdvWX6/aadFc3ZoTG8oAvrGoCqCWVt3o/JQSd9LSi8mjT62KPGWM/80qMHs+r5+s6rEofb/9+P9JldFtSp1WCyfPYradrBLGaTi+NK3/4ku9FY97cFr2rt4WOsnh2p3CY6WT4lDLuX92oF7gZS081c/SjvXQDJ5vjJqOxG3ivZzjrMjqVdTXNfpZUYKKh3QsKy3ScU48yGNTD9n7Xmg77ueN0MRGEW7JfHc/37B5v+1crqt8b8Z3bt1j6yle1prGvagp/LfWc67WOog7ls76t1hKxeeTplT+C+9rD3W89wYRBpTakYf5MzXuBq8NAK3ZfCuPTg9KU2Wled1n/VY8A7z4vFy2mZqHer4NtzCrryhv3nUsLEvJv+S4NbfHz4oc0YunMfBfzNGl0TJ9uGyFWs8+4NAv0jvtPFExy8W3dHW0hXFcfdfqVccHQfKtedEkZVeY9M75WvuP2tu2RWzeorNzEBIyPbclDef8qAVzH/s/m4HNzbnQ0H+LnT++9QFuz9Ovdt6LToL9nSR/rjSP45Kr3adBtp7zurvl/idxXFKC/hhj9JoG4CwGMWIKY8EegzMPAnP4UONHWtM8q5ZQEbRFpqVirXriJdKX122k4SZlaibu+cbMqEkhKKhCZJ6RgLisR0yIz0Z0SMwWApKyFQksSC66RckjLE5BzCQHBmFrELG1LfUoSklD3PwRZrjSMy9COQlBl58wQkEiolGYeHTFSZqLkiyMQ2mWp1U1AOwJUGzT7tCBDQ4LJQSoQyBGCB19DNCECScwasxK9sI2W8PfyCe8IRKfkXDGQsyFWEqVnRAHIU5S4iwBFzG4SoWbeH6TmLs4PCQ0p5Hgww8moBETKgxTuOgixDRfmChxxYgmVizxUpMglkQpSxdSIKTwCKZKdV/G7H6K+fw2u7cCfyPf3VujyH1P4J6+DHmrC9LtA4aPvIyjzxeEQd9gRvkopjGT6KbMoKEgwEpuBxTMoQEsTMAMByiFC7hRAozwAC18IIwgKKcgceq8xhvCieYPVrQiwY4uMCMFjx5E9MFjABEjsBiDxRQslqBYQY81KDbQYwsjdtBiDyMO0OIIJ06w4jzZy+ESl3CNa7jFLX2AmQCwzJ9kFDATDUoCSkksXDc3wQBGFqGSxbCSPD2WxJ5LgZflCLMC/ImUYdb5rzBCGJnUGIvL9AjBwiznbWSwQqqsG5XYsIXYWz1keYjhZzUQbcTNRcp8JOAnmnmdmV608ixpF4asplXmCsqwzXYV2L/ieuYlQrs33gp4sz1JYMg3NIddT3BPFQRHOKD5FJS2MAC5LU4phGY4DJFVvAV/ZfzHdaIDAQwcjNDCY9gPny1aZEDEGFpMIGIKLWagWJzOe3lud9t3nz1zw4SQvh21+KGceaAEwkxQUZ2mXXVTulsgX2akLsidGQPqiS3Ks7bXSeHJefTS4pcWJ/lJUaUKZETHH0qRjnXYZeUdaqDLG5t/spi9aVHZHW2ve4/bHWuCZLqiZa3DEaVMEu3DgQl7gMadbId3T7YcBi5vxgmBxq5b/jYT5C/gkCBg+zifA6sphxSO7WjDGNUwDBMaNfw51kUqatJwHuUiyKJ0yIN8+8GD7ezP6+23UkAcyBYEOg4uI8ZMmDJjxZodew4cOXPlxp2H2fz4mydYqDDhIkWLFSdBkhq1u4HeW+2Bhx557Imn7d6ee+Glt955r1OXPachw776ZtSYX8ZNmERBUBANOXxXPlKNWjSi+Y7U6zK6kUY/hjGKLMYxiWksYxXr2MQxTnGOS1zjFp9wI4gw4kgjjzKqqKOLMZZYY4s9jrjo8xkrXvNdazTwI2DFeaSpE0zIqeHjN56bX7wwavzDQ3E4cmHGg4EhhvnKN4+1+hcYZyKZnAqGqXA5V8cotnHA1FY1tkEubTCBXYkg1IlyFgJAag2gisCt2SzPZnYB3fTQm3xI0ersw37J1fEdv4XjFMjBQY5wtIn8Kb2OJXzIpVwtAGdjsX8R40wkk2msEpuPAKD7BIDzx6cimq3mxBG+S+MJAKkdDZgA+MkprY2Ajzj7BvwIYD6FDDLEMF+TbykqbM+O7BxOvaFvEF2qjU4AgAMpUZEnkXxGCV/8CGC+FlJ2YeyaVtcSh8LhKJISJUqUKEVoUwI2C5tH2ZQi2DmcegNK7dGjoqKioqKioqIGdQkSN7hjPOxR0L2NN2Lq5T/KihyYo+NhxVozLillREWOQ8oa15U7rumv8ewQQQmfyVwOS80lr4AKQgpB+UQmYmB16+rEeQPihn/+0polvjykjKOckSOQrayxR47ccdgitScojBCCLuZwHlO8ub5KXwTuQwDx1tdIIQ0ccca1lVQ/KIsmoGTy0K+lTjjgaGEaxKOL3QXaKJkPKnxsVT8FtcgNBQWVUJFhCL6Ja7n0lZTls3m9DjwLC1PshgBcORQvDbj0JtHYS3shoLZBfwDR+mIj6kNSB5YzTXg1OFtZ99rnbuXnSAyykJWs1hr7zuuH6Q2e8mby74q+it9HiKO+38sPwEMe8Zgn7uvub8F3fM8P/Ogx+CcwzgSHmWaG48wy57pYz4MGTbd2hkGDVqkcRGusRptkWltJG4zearRNjIG3D95xZWf2ZG/vy+D94QN5fDA41KfW6EoqvjZTXE9cZPgEVl4Dr8b47zLHCT0fIUcnAJzcfnmOWr1waLlTDYZXqujEcXVWenUVYLFICPfoukHimGmSry4gHwAO4hBfI8/XwTcwNBUkJTrOLsY4DwwvSWEXABW5G5nQeDFGHQEglSUUjX6GBGvk0B/55KjGKJ3uQUavLsHAh1+pgYPAQGBgxs+tBSqjn7/Na000E32Uoz1HnxmyfvgMMKA7VtoyZ50gpSykny7iL0KccSh0zimYdd7DW1oHQEc+lSsk1zaXzd7t5rqngW+BXj32Gd+qqzAWPt+/Wt4AsKvt83uBkcmQ2Qokbmt1moHoivvZltt8ES+gu81v9QCK7ztDgPiuzBT3Pso/aRvhNVyiEzzwwIyiC1pADMdGwbgEc9OgZOzP7/Cna9OJ/JPirAwzGR46oVwyL9KrEjH/B0wkthY7bbLZZVdcdc11N1QE+68764zTzjnvgosuadSEfnUAh2irFI3z5RwYRIUEAAbzd18a4LQmaKQl6nRx2q7c6VIeIvJQaPKZ2B7+X2tFrYObeZEWVWJq1GlUSULF3Ph5t9zOb3GPR2azPSLU0Bia9YaKKbeuY2MUOyI79tjGRlApby64XpyIpUOcgvO/viarHY7PDnRyCCHoBu2gtvLmv7bVsmmbm7uZmqLBmn5Tr8P1bb1bL9XSuqiqKrPWV7MyVj6Uu+VQ2VOSi6aIC7MUFVFhopkM5nVupy4pCcUUYejZHiYMa3XGP2oVy7McQZuYADsEYIpjPlXiuw740SqyfX1Uoj5RnzLCXOdAVtSlEWReTGNIhzoRbtzYE5fBaE7FqTJFXYpTwcOMuJAsezDqrF7cHJbcXwp4iUNqCrtKIS0s6CklsZ376PhMxa7uGCs7NZHYpMaw4teYealR+1QkUQ+G2Yf57boZwrN0QqtgKZ5FMeoL7DzHVkwT49QQRtUwT19AheXwu0En/RjQh177J4Es78yXgGvinEYDx/s/jhZVlmbVWETyxXQWZKQ0W1ZH6RF7urFNerZnIXw7oqc9acgkZDnE9bGIubFXqhNr3mLJO6JvGDdvmEtklkFEVoewLI2QzkFmgidmqXYsqg751byBdvZuxgQZzzDse97nX6FcZ18/8Ah97iPteWD+u/WvAzA3C40Ve0yO7wgL4L2Dooo57d7EAgTSEiyCjki0IfVEZsiesJCemCUrYSk3YSW/3Xo2310iXJubWYme6+ZvLmsyBIAFF8UeAh7EN4UYirhAT+CC+rBkGrg8aaDgClNUGS5Nn/FQCWqz59MQCMZGhkkhCidtC002PbO2kOT9ZI5OegO8bV0pCKPVEfXQmSYflCitLK5MmJ3hzHaQzrZm+xp99vrGZgIGUkDW5lbl50ZUNc3V6jqWRtKGdqNxG3DBzUp4B2pj02wnvxwfB/wiBmPnntIdYoawCJthKFkHq2itd3FbasGpWbFNg7ShJd4jYiO3pk+k9fWXjSvkVFKDZWr3rl3DHAPSj++ERMpLzdkrmLGmQNzooMxeaSUNr9c1xgkQmtqrqjE9NMput5HATIXmSlUJtbkurLGh17kqatvbqqhzc0bSiZGUxmc4IBwzlZlbWaOFNfZTBw5kEukhS1WIZiuGrvXl60NzN9mP+cri5hyLTlY4U1LsU78N3WFoIxHQPTCsnRBQhb1YGjR2KRm66odU2Yg2d3ydePxgXB07Rnv8wrbxS7L27wjb8Vevxn8UjzJ941k5o1nNaPHP6FAxBpUQ2cM0i9mo9gcADAB6wuMJmSIkyw4JDokP/22Buzj76Laj+UdLjqqPtp/YcCL6hP38W+dRy9UXfr1cfZmywn9B+aL0Ouh6yY2BG4Yb8ZvVt/LvfNXmf+/pbHxP/0bxB+vvo/u0+/KHBWK8r6GN92/84PYPGx/5sq2PDhy48ePvvO9u2/RpnOZonm7Mt+Zv/2zkiyNfDny99+uv97H8m/vL4sbvH/vh0NjM3YxKqbJq2rbxkfHR8ceOnhgRzUee5L4wdWTqo2M7Z943vnt2z+wDs4/OfmZydX1r/YQi2ul2G6YpAPbHMrcDrINWjl/1rVURl+BrrJNmFmUvbKoa9IYOdphOzfQ6A7P/Jx+Q/F2nAAj2KdcAAMjJAdFssg8N0F7S7QDa8oHDv2JpARxIAkvVloE/pGXwOVPE2sK8qe4EM2DpfLCAFHolACAO6Q3pRnGoa+jUMnDmYwF78Lp2V0oKwLYbXe0pACBH1JmD1GNdKs9uGy0SyZ8HWzJiOAwWEwAACACCAFoVz3i60yq4dKeVsZadVsKi0zMaAW5goaN9R0+3U0cWhza4DdtVSN4DAIuxc5FlsZB/cX4kVD7LzAcAuF/Y0L5x5dbroY4aPRqdv5O1mfLrpN0h7DykiZzyQp6P0AjOPr+U7HbICSdd1eaRPl9R0N4JLy+VtvK6vK0Ix3EWbrAVLF1Zuqp0PU3S3JpPC2lZraL1gJ/bWt/HNKn+/0cf5AgpDtc75ZpbHvvkG1uHvSzssq4maMrry2hlhpaYqg+W6fCQDDcADgAaoD42HloW5nPT/5rzc2D2T8FsWphj9t7mn8NkMhkMyexmfuxazVjp/85n58qhBmdZcI4gieZFm+c1sNUpMVP0zUn3vDFD/+TTpOvWo9cHH2XI1OeTz/oN+CJLtnl67jlyTVGYNoMCeQE6UO0NVG605vpiQMljy1XcHPeqDryXLrum5pZuUtZt/KKUpcXxwXSVnjmrIl1KQfZvOJDmlEMKlGicxqgpKt7+XnfJd9j70RoXuHhHE47YZL2qSZo9Ktd/xjP7VTjprCu5k2neq3yUq+E/XOHgtdSAlBm94vqp5LwmakIstt0f0uXbp9wRpzz3PjK75CpS45hzrZDgKO4Bfb8uLqMjw0ODA/19vT3diXisq7MjGmkPh4IBv8/raXO3upwOu81qMZuMBr1Oq1GrlAp5i0wiFgkFfB6Xw2YxK0GS9OqYu6Ns+V7MdwfHdraLluezf3ynuktuxbDVMOoIekvsyrbU94y13rBVChBcn8ZjX5MI17u9YqkfFovpVnZ4ZasRqrVO2jsn233pij/4UlznQw4Up2H0uHR0P9nbRdF3DIL+DKnLBBjTbD6Bwf3l2iS8a27GXwoYdZ7RdGxZBt6q5EDQsRvuXrYK6pVyARRTXgxNWZUccEZS1QhkfegX3cuBGMfVdjIcjF4+LihAJkSwmLuboh051tm8preF/Ybp2nkyeZ/bbiW13ajNtxNBZ4rw3XjS5bvJRvJiGNR/NyVfCSkOd3zalOwukxuGzinQ8JTLvWKwHNzOnY/eZD2LNIqAmn5JMsIeTnbkEJS6xQXlajwQUgE9RhHqdGlq2yJOvvifIyCEfNkc8rgGCRrmvm4dM/WMntUnaAGFCYP0V3b//8c1gB//s7d1kka3K38xbXkHTebkbW9oirBoyna9BPsyUoUnl7xtugY7TzfyLYAFGF4ch7lz+CHz7TrRiGO9tqUAYpVgNXjDz8TQRFXoHUk7GYz1b9/fW4VxPWESHhj2aflyvV5j1HFqTKngVMuwK3B1BRfA4KUed0KKIgS/9ZJW6O0Tq6bbKaeo6miPGZjo+LDy8bQNTii4PFWcaiFZQe5Fgzvwozsxx58uTkcsYo8CV8L8iGuuqfVYE+4SQW/KyAx9hExqxb9HKKI7JgnotNa3yp1tqhOMuHtp/spW0htu81A6BPtJsy6amlCxFxc73LOGrUZdP+q653Oomvxc+3RwWLVn7DSrtW6O1B/M34JgAkxyGTRNnsbdRjSY55e/I61/S12FXjQy7Y0WehBX7s23yzMp2ibxSFBDVl7k3vCzfZbQDNwNgD0uuu84cvTQFXICXi6O3aJY1wGu+w6cVAy7GPG2WOp7LQlgDCn2M9HJUZHuMvNxXXz8JYYOO9uVaH6OHnPedE6pAMEXGQ0UMd7L4qLBZe+SrBWRNknlYr7CZ5aZLpAFbRalNIndkbFMz1HocjNJ11gPoQ5n1eBsdvaypMvjqmPJOtHZOCUWxPI0IB2j4N86dMm4b02mZomGUbvQ0WY261PabKTWxaiTqwbaTN3AnpLJwoDtDmH2k4MPEe9V8DJgUgBhlkVZjpznzvQ8gqlgqaUflguuO44DyHp5SgLyOnMZBQfcaqZm6w0nAkoorpoJmud7SjRqECrBweQ5XXqfd1TnjqBSFVN+b1+316apog69az+aHZRglojvrwJPaLnM8rPjLgpXXKpMc4gkQ9dc4l5HfTMBJgRjSVzbIaa60SnSqksmpK/iRCPKNxYqINpfCmtEB9bktstBmnI9kd8sZfVMCBE9lvGHiE2LG/VFoa51jAbEJY5/1YF9TEQbW540T/Y4PObyEMO7IQEcRehRTMT0wlNJ8GDLe0BIgIYv6cinBpPbrmVuFQQmNqF41ykIORhrVxeQGOvlHVUgRh4jvrskQyjY9RzXFhlxXKYlpuIleOXcdgHHFmKJmDGDP1qlsDtyhpzP9HN5UwheJOpt9sfdml74h7I8yXY6VCltHwmTTpO6ZT6CmllGBxhlrezhomeQvivASpBS1Fd6lULmGPKgVj4s4K8E6ESXvok7OxHaOa7sjBqqk0GW8Hso9PvmmZsCOBJes6AM47poWnO3a5ozJZPhREFn7M7wPWfEuCCBpOaeTWZtII0Tl1MPimSZXYsLLnCWn8l1KWROYcRx/aNxCUOjS6BmNpnxN1RehrhmxjirZYgo2HSgWddWSpVTFloM1Fy/8Qw8vgxbuJCARj0eBTBWtOuEsO9gVyTx/PeW5+OGrrzub912WmoTyw1TYVnK7b7YIjVTAhzsnU1Ei9zMOOFoH0znpMPDdIiwJO+4lS4NUF+y503awY3MMTP09B5z5C9+Qrq/XZkIJwvwFFUw+AqcSp21vff12MQbbRUxCY1r5uM/6PQRgC7Gk1cKBQ2o4Ymbbx+4GM6CmI4zK/ekIxrZW3DjgaI9THkx/Hj6gqHJuBqww0WY/O4/5lxQcN1ZkL2dijHegoN7xkPldN6YImdj5xd3E7vyDkAV/+eUKZa0sidjVIfSmIkPX3NjW/OucfWLv4fLJ0p6HCHiMgrq4bEkG5Ta3lgnV9SsoZp4z2cuqhWCle3p8BF2GuGKyhPFifmPxx8WDUIQLOrCyx5Yz21RwSu4AS+cZuyqlNWcZWe1NJYbeK1eEedymE1jsFQqp3LuQ1mWDsIvOEHZ4A6E+gRTx4I+FuSc6mJ/2x5tKP9CYJThPL+0UMzIUOVXVp/BkPK+zK0C+AvDZ71m8mWiz6fBfbmwSIJkD0Yl50ub6cn6pRxAgp9Dc2zk9vkosuUe85zew0NW13Y87XPQuQBLF/bN6jInw5Ecooo4mih7ppa1yJZNY3CdvRAHr4SHzKhQpGgEIOgk1ykVLGyrWRVIBjasUfwpsFwB3praOQTA5Qa0S2h6N0d3DT31BrRbGPrv9u0eZhy7qLhHWB39WN+eYcfxrRJ7hUOfcud7QzBMzNHHJ9V3K4hj33yElwLRNwDobguAdR6g/Rqo/hiQTjRWP56Ao0GdsMkhh2UmCWg4IO5dvMQ4nHcUpzjFKcbKsiaKwtyyLYrlsEwUS7fHsBwGD5WPpaNxGh79upAAqcYbi/N4dCYhloGiJbgBg6P/M71kURAcBkEiiihtAoBmm7xm/VsvjEfDIK8Z/7BTD0bZNBf5W6UrvqRWB4wg6Naur6x1OLxr/UTtQQQYkxv8XE1nLZb9JVD8GEEET1MrMuRc8Wul+QvyCGSRhvPsTdW9wGHG8prktC+VY0VMs1BAZd5+KUWKM8CxorfQVmTPRwndNCKGdRDYp9GlGMuOi9TOL8n1jlUX82t+EJ/4kCuLi5AMw9iqblKE/cRakR/T6vFNgQTjaLZddVTUtLdcDFOJwHiIW0Fso+nggUBGqVE/wFIhhVZ1a+iwedpOz7o9q2j1+dJMgiITFqkk2tZ5inIiFvYJxVGyITYloBvH9SSBiylWWJRIRG6KqqmNpgjDlP2AqWR7oAeNLEGHYlP6mQRMMvZyBelBd2dUiOrW9hVptCDVv9nOLCXPQqQyxDeE8ewrtWkaKdJE5pCSS0q8/iMWV8VBXv/+cfF6xAlaaNWHn9BvYcoTQtJuAQtZQvw+NGq/UfsFoIv77+kBOcj89tsadLFfelIfotrvjCXZnv+gGT2rX38Ng6Zp+MJtqXFP+i5BeSmLuRZ0p8nHCxhbgzwziRhcoVC0JpuX7CR4XG2lvpvy4DlBjwRR3dlkMTfOOtz1XJuu+fkBJaz0Hm5TvV+RVURga+HJhpA5uhBUSbjTZMsfb06HJSi63+fIcVr0uYdSbMxAZSMQjir2pL6GWfDaHo0Y/k8QIZVDTSoByMiVbKa2MEFrmmmVKL22XjXOd65Y55I1PAebMVyAmNG8lBRB2eZpcStGSwY0zp/P/AzkAInDGzx8GHHbR7ZXyk4mFKO99JY9pY+YYTOe0JO94YdUUvWbrQiP+3+V/F8jBPXDxw61KWbeELrRB+R7bKA3FWFjLXvUobyW14WG8/N2yxZA3iZH8ybGKb1bNvaqBEN6IwrVJj1Tyi5Verk8K7jl2CJYHiGGXpPw41D6gyLOwG/VS1N5xoeGukYRGsuJbFNLvUT40Wr3Jetgzq4aS6X5JMqKiDD+mbRC8sjVIM66t8sRdDEBegj/VwktttZwLaxAWmIw3VoTcnKOD4DntMPd76ShMhs1A9RwZJQmiLV0QFq0SSm9WyJZB5axjHD8QdZRgW+VqKWLce+JR6yga/s0MyemZ3B2Gudm/ekojTxuOttRZSTQXQBoBeRpA+Z3YQWbZ4JoFL0fPFbXYqbi9h5OEkcT7gGXdrwcnucyoWpzoA6vV9VpensSVmJHN67ZkO6ryo1nATUdHgdqpDCAEVyNtkMbWI1slnHDXsvVYQO7b78PUC6xd1kwavNutIA5pNl0vqybpkbpnTTNIW3otcQy8xVgNrIvFm5NI0+irp/FnI8msqTKBeYYyyTcHscyRgvbbW2m7KyZefkukIM54fK+6I4M3u8sHUOkDEslkVauL5lYeb/rRr6vLBlhY9Ag5uaWfCvKJ3N3RrNiUftH4xejkoKm6WwoskBku+i82X+iOrpXFK6XxcBYX4GLdIoeybUsjLQiMqrEQ1WTF5C47yKtMP1NJ+gSVhLHtVRaHCkqhXwco5iDaWRgpcsQw7A1YGDvddj0X8YErKcw0TtjuZwe55Olqg/pgwrwJCQZVQfjYSUzHJcZUXq8djiMpd1TrcpqkzxWmhzrI/frr69XxuoJ5J3n+n0nLJOQOkltIlGW8yqG9KAr1Eyuqq04mJmg2SKTRt5hNnaQsPNizQKeRk0Lbu3Urpa2WmCmaxpiwoESGRXO8hvra04N5SrPGDbIP6RQp1QyExpeDnSCmtXTcRAs1GbWCd50jKlnKCsLgODtPCyhFl+j21jiGSCmMTO81NY1q974jwyaTYZhTkZgrA6OQDBAURk5lTbdBZ82s4lrycFMoyBtZern3OcDmgyPJAsPS4oXEd7myAlmGwzjoEySCgWivbYti9pY24j2h7rCcFWkiQryid75C+F0+T1CnLUjrfR008/J9cyd5IRrLFnrAyKYEwpp+2GYOj8T1H/sZ2kP2gifZJWgyJytscV4dLPAaFJRbGyC3Nj0wEa5FrgX2krPExM0JmRo5AH8l9qd7U5fpQqPvcQ0OkFqblquXKdnPpm+vA/50fENhqeqhh65bcXa21RPeKpJ6SH1Ttdi+sazDEyhLwr0aJt/EFU783pJj9qnWlQn58PncC73MSu0NPsqAZiK7BEFH1DpoT0LtTApr5MdxR4Wq5hrbT8SV1/05sRnlWyR2O7kAWqJLGiJgoZpRoX5B/d+snH0MAdmFU8u9nAyDkQ7Rr3L/34y6fChQdkL3P44hkE+zG/guA/1Oob8xP16uHzr/mSFoZC9MxeQ8HFRW7MpdwInmZlS0I7FBMgZt327/F1qO6jIc4U75E7g0Y3oBXlslHLRH0EuvECkVwFHMIVMSDneSir53TanfiXblUsnCD039uPHsfdjjLYSy6l18tb8jxKSjeoimX34gwbZJMXrMWhXRa7+4XHPYwhjTGxXX0Cnm+RdlFl6CQ0ohb7LgjoYohFzwCwO9xSi/l2XoKjnhHSnHMwEOihAXr6N7RNavOp5gXk6KAwxs61mlc0n3fjyNVwC7x2/fZjGuTzrzL6t7F4rsDlw7xG4cxBPAyrO9OJwyqAwr6vNdPoO6LZTb3ghk7SijRibvc0xF6o6nWoaIX8tuCRFNjftPgNFdtWTDff92lEG/xzxlm9FaCXuztTfjOf1l11xHPjygzrhgG1tMkDS28AmyNO9CRnc24DZDa/ZjWnwZmc6gLEdNr9u+tCurnV8c17myvKezDvLaYSpL+0C63DGRAY3kjmeWVYNPVy3ry6Nad40x9ERmjDGuMhZ0g294rccj8ZbL9wwDjqONPk68M+HrtJA/mapFtbU4mlEuxhktDHB95b3VV7y6Rc7+sPL72t3y4/Dh12i53quyZE+CdmyvU6TwFFaG9bNBghkrNFhic4wJMlFmUDCHA3Dev1IUxyfFyBKkUY1NDBQJRKEoLZUygQXIzberOzYslCazZVSB0kNS9jaEWFCCqZWK2SSBLZasvl+IKw95KR8nrzKCo5VfnTwJ7qCT9CaWvAiTIUKA68xCpwFNdn4z+uPcZWRvdSd3JDm8DGJr+1gi2xcxqzzqbRnwY9Y9RRjFmcbixjpYZpaFvjdk9y7XSeskPPCfW+P7R/jij8W+6Y/aA2uduqEE+Nd5Vu/g405/n6g3ps2PGfjxwtN+zecPMWEQrue65y3fUusfTn9ZXek7fvOo+ehfibUiu5PM5vTGkQbP7nZZSalxf9cx6L9JyLqgJ4o14/RRR408CmxwWxK6/v/njJcjZiD+9KUyQ36Kh88idLcTo/rroIu5+fQaFvO9Z0TnSpfLc+o/2ROq31DSnOx/2O+YZupIZm25Ur5D19yamEtnozD4cm1iPPUivMb63KXIX+HXwVdB99AvsT//FLz3zpKTlHdLburAjrRXNXDKW1pyH/aduBUc6t8stKvEu6tur86XmjZNlvTSqUoihuodiS9texs/PQPyDm4h8JQgDF0O5ruKzmXDZ+7CvBLje+3j57MeG0zDZlMrg5/mqU0m8agnkY2vj3IkJj7uM3DytV425v3tx8av2VynYuQqwe4/ZbuxPCJgvwwesjcQyYFWC3YoL9RIYw2Uf38Vb9/5Y22kaE7Ou+VMSwq4W47Te9YqPQvTKxQXN7qAYqDPp/wnsRajScwvQ7WPvMqnxpMkOTyGJ7aodXy2sdxhmpG5k/JIm/lrT/tP1x27tmKv9wFeEMjwBsklsszEPaDn48LayaisQqx/Qg90Eu45G/FnQ8OPMeKqA4jYzb+vg325U0Slr8dJ6Ta4Qx5eRefAYlwlW1Ipt5QtwP9t4uC+YyZO4bwAuqO45EZPiuy29BYshVJV5V1cSigTorB0kAXDHFbOp9hmoEt6/gLIdskQuydl9jHkGc0zsZLodGTPH/0vCn8bOMdh/IgsSL5+9bdWlT7sguywr4FOZ6fk8wm/ykvM3b1PePg4PvGrqvDSuqeWNspvGPkfUfnpVW/hJHoZsjkMQYtIWmhRhMkhSJOokb3/9u97vQNc7z7ptl72t3ru3BDn+i+ofdduNrPIfq9ZA7H09TkF/Ca/F5i7RIvX74lyIPZi6+p2/ZXvGz/wgo7IHRaMTiyDUXXlsU5FFAXxWzB0UgeZEsLqg2vkpEXw4OHhDrPvMw2gXxO7WpcCY6fEvi7z1t9J9Hv+2nBoh/E9w+c+LvpfHbh3SMX826jS+JhNPjBhcLeLe3oktg24rF3n6U+W19y5KuSXv91592cVzDmWARj+uie5q6cdvwPaTy3+MA1IATHeHYS+XO+tNZEZyCtBgwT76xqVgCM1ZSA59lVebj3olZ/JqJh7wsO/sdi1HtjBN6NaeiG13Q3YLoLPf3/SNXWXjUeSOo8DAeSrM3vXy9CVc2gqp5hZ2kDJflNehLZV7Y3VbZu1uRfpuuHhh8zJnoe8E9Ndb5O/y9tmj4369+O1vmxd5l9qstVtyBBBuy9Gn3y39JrC71fE0rWnaUfiyiZ+fmteiDYf/Bfspb5+BMciLz41Hm3eCt4ZChsx38/w1gzGRTWNgk7rpbZqus5XhItvH0xzZLmwl6QTrjMERTJEyfFWixv6mvJWCOW70cvVcAYtcWQ2julK8u9BbnLxZjaNX1/lj5c/nz7Amqh6vypYMrBYFkcS3dxxE22BMJUBHDRDYA3vAuch8UMzdMOjXbPUa1ns+DxZc9hlq6vmdYuljRG4s2W7JSD20ddadPJ/EOGsei1x6YqSv+7r/J2/vnRj7vP971nnFsW/7Ni/wHxP8tPPzaOHn8S7/k4feraFjtv74QoaN7LsYzWXW+faYO9qN29W2yOTwu407loZMphy8PvDrh+OaLuJtwMj5xgeNgL7KmfDWcuav9bG7Wg/e+J0382iHOXAd5wHeANWnTT/HzqPBbJDkjZhUJHnv9nsPZfC5Jtx5N9/tqiphZ2Lfw2ufD7QqHgg4eqJyOWd9jHhj/XHb2oAo4Fj/GfaiMf6Xaf/DLU83pm343NQn7/bmHAPsMx7kTciod78He840mW3tlbykJCmJLDhcxU0nzO/I4gfy9JcO0dWnnDRf7YuMgbp9e/ytiz5c47S0dG3tVGXpy6oaNFOrFCfieZ0ZdduQ/RWndCZgK9/bR8DbTm24btd0LJyifGIsqr8/Mfzq+xS0arptuXX9zx4NiO28degvwhD1SuLB9PubQd96qYUTjFF3CF4rlF+Qb8gdW6V7mOWOtw5ImPrdMtSVIPnH9kHO6X4uEVeeqSoresOXRB6x/+OB68Il3zMlVn9a/ZR/cy9Jo9DMco9rUBwyD2nmtsD0NjmGbYxtD3sm/gh+eHgxMscq+URx6cEAdVhvJ9V+P4k2DkXv+uyJ0nS/MaySeD5f0dbeAfPi71tR8bD+jTDIP6pZw29qrJU1fBxrmGr5e+tkZvTtrES/tCrsKWOymHI1072Yw4r4XSvYvuLwG46IbMPHMPmBzbXEbIDKCLhfzmkUbHjjbQ88K4nTIolzOmBtwrhMDSN4mOe6FXpYye3Wyvc5hIbqUjoFxpcx9GnR8vvSRvd+NG5GrW1LD9WkPYfhO74DcseV/lNbptjD4w0z6BZTtBMMwywBuuSOwDC/aFXNLx5Vc/Ojr90R+ewtnfPOMfLX30ykch2cw+ls1++jKUzYSyez7d/uD+E72V5bncvy1rzt6v/3Su5PhyXsULWdn/3BUynt0OmdgsX063fkN/c3xb7rL4yRNe9pMb4meW8zLnljNn/mm/OJF1GyIZL8yyL+vhevhXbz5++b53Kc6Be/Lo/b3Hmul3Gro+jn38ia51D/gGOC1tHmtxfv7jecLSKO5Oecce3Aq4U7qwtAACX+lLvgI4OVeTncD6S7yxFOg6+DJUbACO/5CMacM7k6/a/4ONV9j+8RvwQfWjwO5Hr8N57wWrHm07kJxLpmXuAzbzkRTIRuTyKpyMMtjRPKarFi+Ar+IJwYBuocESvSxyLHb905Hpqsm48QXfDVqb0t8siufL6mq4KDRcpkPS5f0svhMsVLUS7Q7driaVb0mu2aNR0oZ6VZfg/qq0u/AdwC23vl/fKIXmRrH32mYOSezOg8zWYdL1TVHdpg7S9daRA0yHY17onsa+sbonV7JjkuJpI4mYjlqWGOY48aetDHZfTKLluZuobaDdBcRBqh/DMvCX1xqjS6/YwrHL8ugc/qa32ou/GZ27LI/1Xnd4ltf6l9dSyW0+MlceolIDRWOsalbhTqo/RC1ABz4AuOU1wIEz32fkJpreCEwfFpodSaZ7hHh9U4duY5R03T18gOk0HpYEZprurY7nSsC7GW1tTTxdVMDqzeb+6YKFgyl21DL5HhLDA54sEGQHr/AHJhivhKqHBO8MT53maNtPidom0a+GZJX7/empLNSoV2lsbq3nOavmLNWC6hGpPdrIt4yKUFS/qrzNeJgAenb1uUjL4hGpD0xe/z1rnzdtO6EFUaOmfhuc5E7m1i/hT5VNhV9/Z/kobl/pHimSYfLSJLPNHFUvhdlnID3G5ybwb/im54VWWZh5F/8M/t7VJH3bDgEzUZd0gl5VmOMAgMAqPdJpz5r4awBf80vhiUW+RdxbrdHXzrbdufaavM5hRDAZgUaxHTaQl2vD46/htxTPPdiuwJOxoVxb8ItW0s4E01hA3eAAZsv+mhXpLqJgUzAfD8EsUUhk50QLw7X3vf7I3cfj6zPTb7d8JbKmzrr2pxqX/nNKkutI8FvdzSoyq/UafrnwL3IM8GFf8k4c43v4vdV6LXrK8f7qPTnO7kQwpd5Gir1o4KWiOARwccc8vUe4TuUIXGeonXG8du11Lc7mqGQR9VXNbLC+JMcqk63iz5f8RU55gTYjL0K71zu7Ig2Grkj7Zmsvolhe65u9LA2FVmxQvDqRJ4FM8r1hkoAfIvG80ElJnhgKaV+o2W3OtrmOjByrG3iGfQ346/ofsltE0i3O07z95JVNwcAulOuekUPbtU037Ltkkunxkvh8ajaDFevgBh4S03v+QAvQ5kWAs7e+Ww/w1y7ZF3ITjW/4pxeEDsdBpmekWQ+M5uue4cPPsy1IfGzVYZrzekjw/JiIM8BZOjlSF/IPPm8z01cyVZBj3bNnFX9Z8Qxw1jawnWyuoLGgFg3RAj0rGerhqnJwBcg6UGUp3Y1z56iz9qBtHIyVRsYFXcqZOu3AC1pzUr8Kr2+xYTkCA6KaVVksVJhLeBlDO87KZF1KFj7ia0kijFN37PZnNddSeSJVuLyR76jAMPIg5fhJzuSddasO2DwJKK/yJvCUgrkZRQ9iqD2ebBTy3+Qm/IWCz/gpHtgV6/Cz3HbRAFxvRB3wXFt9iQM2jDBzodGdmqaDuQ9PZA3OXM9vwSe2XHbNzk7mPJvIH8LnLbySaY3F8pYzL+3s2JiDT7+fkbHSnb2EJz/pTi/rvlrZflk9PjO1rfidaBZ6Iu9ceYZG/rLz950fmXM9ZY/+Nff6i7K9rcyUu/0lf9b9N9q0yr/63lrHk7nrudtom+7Dk4HS9c1KcBM/l7ph7WHhDLv25hAt/xtRAQGZTGYna60g2K0XgmOw8MWo9MCTA0UVI0RoMFqufjn+rk189JxxMha09HrfbSVfOTi+8R9lKDQKPbiTfKX1HU5Nqw7Pi02eM4qP2t+RQic0joIc+TLgXCkBnCusFMab0OAY5OB485XWd9k1bl0jL7j7vEa8YHtXCtmlcazZL4WGhPkaB3RC+o5dPH9eszsQsPZ532ltvnJwZyEjvGE/PIAYVTiieJZyiCGgIeRoFJqFhKqbF1OEiGG5NdrAUo1x2GSzFFlXz8dUGwsPu4Bvfnl4hgDWD4O1//vaXPUtFHwNvGlJAXoU5FB31+mOpZdfauVV7SAhrg3zLM/7i/OLrDVx8wB67NHO5+srK6UZbbDc7vHwzXvLegdfMJvPtb/aQrW3wUlUN5mUKMEaDZTj4USSqVIlmbmCfNxgJB/bg8EYNOXYWcOw7snR048N8bhwx05rnwwPB8fOPDaCDf7RM6Mw/8+Fd95OH4OcbQ4xhNNGX3/LlaIokD7iNQgLeQp5m0e4+FU3rbu+rixBSzg/2faXbe8VZrfEM1Nb8rJ33I0Volscp9e9Sofzt6yqr574++rYlmurorIwmqjF15YyJfidDfZiz44z9KiBOKSX0Ud6jZfQgQOfWCOvTKwKmD2jXGvrcCPZiEcVs3jYMZSryF/8PLPDQBrW80kd7dKlmqz/dYW3odFqxy9WtqBxHO3e4Ss+y4joiIN6JX20V38R6Tet1uyzqo53XU0RETyW5mgRwTSCZRqbakvoItwoxrbDs+N5ZoexeUTPJUT9snl48Tq5FqPPfq6yY5elN32t2Dt/8fAB90Fzy/Php/2xCwX3gUuH5vdaDXIdVU2Bt/Pa+WBDI6pOL/9/37D222NnlcoeuWfr1YdHtE+OnnmkdHZGFho+4t166y7Mz8wA8zffAO/IXr95HxZ0YOHWW/+lFARBG1pqzvqqGcL6+sXNdL5rnKBX9BFZXTp83SblJ8fzuBV+wDfXJATJwDU3yDUK6P6CTP/vJJoFRu/sizm5XMc+THA74UnJ0eaj6D94iauGLPTFqY9Tet/cwy68XYEqEBbQx97fLc61TmEFAUVDndxIpGelelI3jJHF2epDgQFbA2Q9dSRj+sAa47Z6DpV+kVOrWBjUt8cnj0ympdXfYDEiYSaDEWTSIiwWrT1IRzcskvY4E8vnNDSwOVgcm5f/guHztjbLlMnZZOWhD05+UDyk3U/bn1V9qbBP4QGlv25HsW1D/o+wkMlrXGCzIsNMg6a3kebiYBBauXbp3HR2xpKjpe4/gBb/D8OFW1czT+dZ+jFi5SCKY+VgyKpYvcoPEfptvbVENZkjco5jlLwxpNwpmYeLmqhMNrGu2sLcVgdbf/n1DaMvNkE2olvwq/iTmf8Cz9NRqPIV+e5hgYEfhba0FNLKwe3Okv4mhqgAoQ41NFsLRq/NXAX460sFlGtpyiOfdAbuj44E7n+y40hm+kxHbeNPUezc5llIS2ZePmDgKWuhfF5DYAdvnRvBzX6zrCSXmRXOLP7bsuph9WNcvzm8cf1lZYlTtpDUtLoxJ11wNrp0Yb/aP6BWyaMvSIhQoxhLbBJicwVR0lRhFCJE+Yy9J380UIyyrUTqYZ6s1srgoK1WFJtgryFrmAFzXrqqbB+4ojad7tSyD/qHVlFQfrryhhfm98Ng1rDY/KbjhbX2wifY3OWOtLLF89+fN1A6k58lU46rpz5suCbKqFJfMpq8601+mqx79+2tMeSlwmh8PW17Ztvbm3vfLHn4i8cJzhTpEafz2w+qe3FeIu6JOs80fDzoP0D3ZeJU1HYG8/HLnxtcJaco/UZlHMb7mFtLa9lp+oBJ2QVj+yN5GyO/YJGNzzzIDy186PW/Eo+JnVu40Ly/2TMkbIrTmU3dQyJP/o4cukp1VeXDLTl9U1iV9xTLPNsuhrrrYGkEaCxD4RS51IygIGSZe54daOjIsYCnqw5ChjBMoam2RlTX6ID4T9SIpKlKixFXqRppdSo5HMswE9F9Bb9cKWAjHcYGBteLJsjrX8hkEiMB5eFaU3RZbjnd99fxw7ueUUYaCKp6JIyvgTEbApUGMp6VbpxabLdeofaGFkSSvRYRLhZoOQnzfbEn/qKodw/lThTWQb+dmDoptACeJaq/B3cpEC2fdIP4dd1+voHRSmC3QibEMAlkl8idICg7ptmZ5FGxCX8Agd36t5vOR05Bco+9/mePy3VLnP5m98wZkaP1HLdnmL7saKde6xw5yjIHL7tbT2jpQImfwyS3VbA5wTqBrnJQRoJGuSZPI4tib2J7IHsVtmXL+nOXv47pivK9bGu+p4B6P+Pqd1dHGpFHcLjzSEM+eI1Zs/PVR7KJ7atVEXKczvGUHkVu1ftq7OULcv4OgOuQDVeFC/pjcoRvLI1Mrq2G4bWkMLcFj1/Fb65i3BHMbaauX/DcNMsTycdwJj9qyYvyoo+bA40vF6o/j8ibFrzWzSgJEm8pZhZEHw8hh0Qf7114UyHKrfzdpoGdApkbuCzq3UN/kx8493bf1AmhBggcZ3r6MOfdsYL9pu0cTCLAVxNtBE5rxVc8vjtI4PlmSUXs7q2r89VSaF6Eci8xe0EaDF+S5ixZdR5Z8S6CdxFs01tFo2yS7fO7ArFztsxpK5vk+AK+v1nZjKWTFRsfuK7OBPiHpkR2UMPrW2Y+0tel17wDVhLTwX8HZkzsYMmp2VPJTX/NctbPkXic3oQlauNdiiqtM9VPG7YoYWQmGk2mI2rdjwczHQb5IbGR0+g1EYhoSlH9rurqqdrEMxycz0xqqiEXzX5aWd1Irqg4AWzmhRTIxqryTvTHDh76eBh4uvT/n2/PPfzBC6XrWrmBAn4dlF7NN9L3Z7z2t36XSGPfKkv+lEzTDf5ysj4gzXldTl0XsXJIEPO42HBK3bgkkZYzAnSbgjhvKxtBQa4aTCOsOClj6bUTEnfV307KKycEfX7PbWLWzijOfLV5BDePv6lSePwGo9evqJJ7fEaD15dWmr2ydvo/oCAbjI6t3bsHOrQlS5108mlPtKldjxcdL3/1/5ank3TUH2Ou3kxQ9pHurq2kjjvsqT3CD6cFewUfTU3fZnc2t2e8nb241Z+FF/ehNc7aIx6RB3lE6+xDry/L6/7LHz+IxF9SJMQn+yfGx+sndo5rCgJTuyd3BwoE+ZLZe9p7M5Jy0qWyJC2ZNtSYjBtPX1DG2DtL2QXFh97vBLM7XG7Pp/pJyuTz+FV84ax60YrFJWkUNpS5r5CVLh82ZO7PwlBUCJiaWrD2OeAdjXJHievxk9zJwjk4+722ZRL/AL+ajBuKS3DeJOjQjS4w63RBGLA/kvITS5iaKu0A4da7bn85xol+9obd7nFaublP2ndi31zvciJl171tX1TgpuqfEn7Xl69rC+7Rz7xxpueFtac84D64vxDO9I4PxjOK/5I7tK6zbP7diRB7dpCtUg+xObOhJwxhkJjfcOJ3UMs9GOweebSrJv/xbr1aLN+84Y3RxZNbwYs1A73r7F1rE2PfvIPHf8idz8371ZoAIfd8MajfdqaCm4uQdxLJYQmrOdbPtXEH62X2VNYhKq8WzyFJiCSBgIONZ5WgQdsGN1mGcdSIph0H4VEg1dUPQZUkJpdewwDPFC5U41VuIlseYGA7uAJmbICpMYzxubtMWBfuaCB4nJBdbc3V6K+d0M/c6d+80M7j24ZRLS1CCG08Ot88jJHLT3aOdQhbhvypqvrjjLLSzJ+qq34qGesnMXVxlESSQJ10Eotp9sVikLDM82LQWxwI9m9I99vq7Xdbv897ryPdFkc3tkn3YstZ9yurXwfTqyp/fzgLTimhbfhFQlDYsbSWMBUfFQqYPQN8jX6Qz5iyo1vRi22+Y7jg1uz8yJw0D1kt4SDrGsiQOVjpn6Erc5BVUi6qDk6DUMqrS7K2Uga+Orvy1Q4iZtlVDmG/WP5M/ifJbMkP8ZWve5LdybJNT8SDW7ZYb+U/w1HrAsJ+LoPp6X8YaHo4I64ZRMhuuc9tCfdqLQcZ0T8AGESjXjcxDpqr0wlWg13i2H+m68fiPbolUbc61OuyEhzWz4zXpdzrf0cdc504X1461TLIyvSFreNPV531KUudr7agfo5NqaK6fwUfeiVqVoJUTX4HvbWr9dVmNiSSRowH09j4AaIaDTB9duoXtdj52IXYxdilWGOkqR+d5n9sktoA8nvk9ZDfq/o2InwYbAdGAM3gndo4XQ/cklcG7nXn/fu1xu3yK02UUvsSEmrUOLUj90c9atrnbVJi4JaMD9yr+LiVWqOzBnqPlwdu4Thw75BvQ+srx3doKxOTtNPnpWk0O35NDTiIBulT3NGvTFGJLiypOk60vSXXAoatWF9phO6VfmccMeeHtxcAIZzZcTQxuDNe238LWr7hwZa9fcZw6GMzyOYXW4l+YEtSs/OKuGbEnphfSN7P/o4Wt2zaGnxjNKhG/GDShcnLr2Z4Vzy0cBg0nDfFoQXXtgJQzhgGtFkMFBrDq0LdhH1MqEMhEhZWnk/j4F9LFH2A+m7WiHeHW+YyP/FSGKz3tjCOrYV49ZSp7VX+BobB64A5xv6SRi66aE5xt4sYRUkC8Gu/q3FT6vdfCnrUxVFGJhJKOxJX5Q2vMyvxMUjTd/NTUi3X40Yfbr13qeFE3Lp3xs2NL5YaxO2Ae+9twsGWIPn9BJwV9FhbTZvWeIDJQnEORrOlHXfybGkLKJUlbTg+IfHFBDStfLqGHQKlQlAqS1pjwgKG6W3lfnsz92ji7mK4oCypSyINSP54pb3SuhqLgfBB2LRTAHULTzWDorKkC+MXgEJz8V+BxSDMXGK/cotBprn7FkgTPnfJ+By1eLqUuQiAv7n3e+KKGtlW+9OLAdSgnmlksKC5HrQXJC5V1hN3Zn4cSBQDkmZksJ31jn1PrHu7TxnQZHPj8Tk1aVIy33gFnQUWu67Ni4cTWnX3idQxGIkeSihLW7/YAL+Uj1n769iTIQM1m/gUFoqXZgsjDVtsObDba+5cFEF7Kb47VEYgzqo1R1zSyN0agEOnkr8z+oxCzG4zZ98MGE1DTc/0ze2Df+Ha73fWCV3ssO82nyyUpe0DdkgQqG6L/avFIXzSY0CWGBdjkG8fk5kEgIulmcAHTLfFVSzv/GH92OqZYySrG4Pp8g5F8OiXKK1L6kXLVNQddcV8QHtOPynE6Gfo+lf/j715RZ5ej3f1H6xodaV5UvFbE5fsCaB4jLSHngotu0ttv8SxlJeWOx1f9T+ikfUT/SK3Na2jwfrgWd2/TJcSffLuITdxP2PDvfNprWNuCYCOhlcN0PlGovLYU/lTkRXdwsMukgDaFrMTegyGp2n86RTZvtSTD3urfwFxwkxFXxpF59ETKjntY+cQH2V6Ik2XrpzTwq8MbWWGgW1D7myGC3qMknQKFHwBrX526jpN4wPiY7OjNdyMOjAB3tgHvTY0x0tY6vGvLQgH+rM17PMuYxmg6/v/lWJhB8ZHjO5GHd2P67cVAvzHfVA8N6M5TIB0Odnb5Mbru9ZwSImXALzM4FS9/a7cMUfJUUMY6rycemRGjHP9V/afHPkgYrPZVtHYfnOZvRknWcEE6RuIz8axr+lQ+jfNjZK21JYJgmfQvzgo6pw+QmIs/L2vElUBjItmquAhTX9MKbBtvNAlc6r48dNW3yngDuh/MGJu0b62eCrGI3XVl7dSM6Rym3IxPNO6ieMrM04/h+TH6Q83S5Yj1ukN1sQWBlqQD73m8akMrOWEs6cJ9CeHdzd4GWkPItkHXcyjf/sjrQboB1Oao8vx/WdflrWc2Cv6bbcWq09rdWuxDLcgZC7DnzKwliN+b8Bajgw3V3jNUBlYy2vzvQFCOHuuO9bkZaQ9+hv6oMTyvr11DHoytIP6z+7LKvPNElqRsulnZGqDfT159Oo4OhutC935i343R1m4/AL/eYKxwx6ac1bBUi69lN56T9Ji5XvcTFXoaZ+8hdYZNpPE6gzP/XEKhKb6XbR72nZlFiKeMJLvZweMbx1L2ud+HkPx07MX0wsIqI/x0Lv19OXkKT+bCl0s2mTD5KKnRSnb5YjKFCu2nKhOsbnYR6LV/z9b0gP4R3sPidFppSe7Jpsr93iGiHncz0hUXDvJLaIFizmXbeuZHeqJTOIDUIBR/3jY49O5FbwGTDOS7yX1CqQkTUG3FvgTU4pr6UM2xKlIIJ15VsvK7NmjjvK6WBufn8vjJCANBnYYCjXt3imjGFLE2F0JeWwJxl1PX56VvccOtniFOe0LtiSkQrbEfNsPlzqPKi4ikC2gdDaP+xBeW9/bDrsUCT4m7wL02H3GlCXAu2yJRfH6StZIhwSNUmks9Qq2JO3MpVGYhfwlau6IpYDJeBCe0OqcNc/evlVmQBhosks/kkEpBREOQs1aihgwfnbsfuZ5rj7JgwGvYWuLIcXfU+5GcVkE0D9BFOPu8WqS2BIMx0b1AZ5B2/tLLRsjRNrGwWsln0ImQAI54qq11G8HVj5o+hKZHWg26XqrVhsIYLjr4oFw4Go9ai3X9RyzoAeckv37m0PHEbdvlEJfJcwUih4qq5uBK7davcqNdPgswu6eiGwExEhHZAnwEabONUQpmXI4SJM0P3zUkQKZ0dCHSA3i0lLPCEWRb3DtA0gBepRaSvrklSr8f/BBf9dd/f5NdwzG9D864lIYuQncszLGJYmAEccUMQX9BeHC5RnbRMKu7W6LX13lVlYKcRarvW6pQByTb12qhTCMT27XTSEsgbb+nr4ZlEckxH6aZRso9KOvtBE2W++cZKmhxyAJS0VYNkGTESHnPQ9zlE/sNo/WelJZjGrCHnKbrERMJGYpKvjmxmUBxSLV84zY2EAU0exoxC5ivI4jIcXdrFMFV/bSgaUQfm1DJtU+CrEChaggaLBJjrRVN5JmE2EN/ar0CoHbrOlsGgkRVC+tI19UOVcXXn3BXQsEGJmyHeyu3VDjOPYeosAPow2gAuwg9f6+nFvJdkxO+1po1ewiex7WblaXY0HgKIIxBHsvFuLJZkNIDeQILVyQozrUTB6j605XZUHZJZcbOWrWKIfkMqMwfA1UBlkuYpsObnAqjm0SA8PwCpOSGjq1YJkM5jB1z5whD2Cc6O/TInDq/tM+MkZAIiZIMsIYnZqSADhTH//x8mHme3JpNIjb8WRSXJ0YodXWg9WZ0Tm3D14GSliw842+P/JTSnEAICx2DvxM7LcDWwlKgea7G6ikPq9Uw6/Ypos7j0SsMj0SUKoSgXa63BJ46wq+/QLcWKvLIRFcijlA4m9e9vl7Ov6+VDJPIngFkgU1XIrhOzmhQ2etTZ4lxByS5ftkcbDe9TMHkvWmPWmFIURdNMkt+SHhvCHiNy3UPOOx0ZtybGYWC0+Z8eLfTIjte4URVsXIGFIjKhdJZYSAKlDpfh9nrhFrdc1k6HHCRmpdSLcMD1nNVADIrMl3RW9QEQ80BUzbx2J3dovZe6OXmkzlFK4xGg9QqN2h0YEEGnWgQkPlnsop3KRpNhxSLePTsyhjJh2ROwiVcBBxuw1961yvhywOHooEtFnK9ukVu48bvHODAVevAYQhfJYGUWvFABryO13Jc/lrGtLQzMxsjTkqCYAxPh46iPsmXF6uCj0TjIqiWIpkpODuF/zKsO5htMZBQwpxkhBhbHkCf6aXWaAXhzGGRmtln+eyKeuOmlqqX9QOjNiiRwVPZ7l8INRqDSJlFZLjf6t7IuHqG6Ae3XUzGRfn44vH+jXINfBYC09qNqsPUlrKQ9i+UsvLj2KSjMdMqJLGZCB5IpNOmG+sbRDMojxDQsN/W8yfsxKFhSwePRHFL2dpUPIrIhFiNkyS7dtfMctOX63C2+l5obGD6JmfuCmnKnOWVfx/WyzB35N23trzzMqVaxpHp7PztEf/CZh7ixdLdC8pey0AndAcdLsNc3jW0htR3i/bXbPvfOXbHsM/wKQ12dfgGlWYL8OyQXD8t3l8xcZ0kI2iotqRVl5/p0KAwEFSamEuPBYB9y1M9Ioc0kYY2iwAy82+OTpg8JYTijfzKzQ91dQq5XUkSrhFIfY+pY6cO2czhjEc+qtzJZNu8QFhTwSsLzaE4HowQ/wuNktTbivFsEUZVOx/drPYvVDJhQhD1+PFPabLt19tJd7Tn9oy4GHzyWsPNxga4dyBA91yL6Qum+5IcVZNxx1zrsutxT7sihmK3MCfWe2KNwlb3NRxh7nbN3AOse7TNgBnBkE4NTdyc/VoOe9B55Qeg7LOR5DntjgejVqkQ/kwXG2poV4iN9CUMQwCJBVkrTs8ankyYQnAyX0VQjcvF7yfmLDPq0qM+djSrBDa4AKLhWsjaYX8TtIohggb+vqb6p2S5yb4AWkAQDzyIdc5pfqdXD5Nm9puKjg0s4smxT6DXcjEtl/WCP74HKcs0SbcToW3NDiNrDrPtdfNICOT+qiBKfAsthSJ6AazZLvpjTQDoXEOBiH8uGZ8u569Nmq3Wkp7lN5mRscu7a0ei7cKWZwxVY0HgUUK2Alowy2zMXUtabowme41A0ho0E98v93p5mtACic8RGqAi7nO2REXNq0NteWNTW8J82JIzxJNlREIS8uxmj30vCFxCWWpYR67RD2jIsB7tHtWaVJaM4/hbaAMvsFf0AbgAGdfghfWhmCbNvTS7WpDF6Adhmq+3tCG9mTyDJUuZGMQRUeON8JBd1sNrFXcLtIiZIeqFwmQy+3+VHdZcyIQK8C2dtsr1Gpng0gkxsv1kWW3pC/ixsiPxpTgOFK7P0cripwGMWRn2/Ijx/hp/JUvVKtTeYjK/S5sGsT7boPRWUnF1QI7aPRJF3H+xKe1Ehb1/JWwlTZO/rvCjgbg0l8qlLW5r5hixZe5eC0u8/2MNzIn2dfkFVGUpvoD4trsfMETBY2K7iIqA8F6XSZxxrHD/OFi9HAGuC+h6+EC4JMd3QjsFaeR3utuM70xuIbc6Ufygh/i+NJX/l34ISdOg1Ej2+PIs4TLykBw/Ai7xB32z0Ply8qX1V/074J6bL9mYjeekWD9SCanH+JMOhYUF/L1WJVIyvyt2k0K+3cxwDq/ugkL7OTyVKCzmkqHePAS8HNBqhnc+aDPOV14n4w5voshO+cVOMlwMeFF2u2u4X0jPf7qdyQHl/g6ScD/9d23rLsJd9bQD93Y4YNC+fXKffq1c3F036GwgeGks1L2jqGKFaZHCzL95T+L5Mka3U2w8/uKi+ZfpqCbLH5es6YsQu//C8TQMK8g3vA49E1WYn1JJvgwocS14bL7k29BIfbIedlrm7CEJC8w5lc05D2XpyJ1GoOG12WPhB6ocydFqyfmgkV3ahEAW3U66bMuxAOeLNLHb9utgd/hwIvbnHTuctZJiOsur8+6KteYKmubrvVLw4aeWS463FFs1cGEPbvj8gZKw84J7x70CFzxpexmtHx44b/HtkxepLR8y+JD/7De6vWEflbd3Zi7D7+wVG01wUJI2reGtyMbm2LDlDAYgbugKJkgn1wX7EnnW3mpfqx9jOW1vIpd+VRQVVlWhTgc+2OW/asZBVQDDP7CbfatM/lb2Q4CzMUalIkU+g3qCJ+B5aO3bccGrHhX0+GmK/H1+JuB44N9xJ3BH4cGaLeHvhg+jz42YhOHrIdYz2VsYbwevZ94NzbA+os/sApVprHPCaoFJwTdq1F1DD+Fs5xzbw2i3cu9KHYjzlTKEh8Tf1xnN3YjT+Ut4K3nZUoOS05L2tYv4Tfmi6krMr7aKNHXC3s3oeVFWRdl/Uqk2NzO3qAicF6a85CqJbcn90bV/7fObfO6dm4bEb/Z9uP23ry/qd3ckRV+qf59pyF2bpekNdtf3h2XO+SVhT/unt9TVtYVXSVRVqPqmTt+KTkp6d47n4zioWJVsbO4o3i0+J+gNEgKugdeB54p0ZU8LN1WOlr6pzKozFuOKteX95RfL3/KFqQcUguxQYaQ2A85A3kX8icoB/X9wUJj0GPQy9D70D9XWCuCFUsVL1T8tbJcebKqCP7PNEtVd9V77bAnZtnFV8RyscccjJ+oXZ8OenYhabMQDLnhtz5DM+LGZU1ERcc2USImtY/fwVG5+PJHjAEPMcbQYSfCGDAkEm2t1cvHo0yzfrudkJKWdcKEjJq94pb69OtNlilfiSaiomObKBGTWnd+i7v37Ew68/zr3sSo0WM3seSYyVOxJgKxuPjxR0srnYygwUqIERbJUqKhtVxuHz/VOu1wWLUWg6acMSWtZCOkmDhn7rxRxZFIBtMbU/xJZz5Y+NR6avbo2btv1XU20sH21dJgM10oUbGN8VizZs9TP5bWgGsh1QM7IAABAgBciWFKOWCk8u0EaBEpEZYCDhtACCI9XFt2FNWeJB+Co7tPNxlPHae6lT9WB0++Wq4PWwCg10u/D/n9zVp2e8rQ3HE/kJGpEtsMcJ3fiS7Hq3MDY6Mk4YebQFrSq2sZpvNpR1m3nz8Lw0BuXZRjE+8Oftp/F/7nKfFAmfpn0b9wS3zZAEwSomIh+gLC4CuYG3wIrh3qho9T0VzeHeKULu23f8ZtZzMyf/4gUu9RwpELHXLy5AkqbCzrTR+nnc4ro/ugcZH2HBmcZeSJn+HK9XivXq3ROUQ+VNmoFVbCSSiv2WIhN2r0qURRPWYH/lenJw63R46tR2JobFdsq638QrN5xlT9/VqgB6f3rsyX2LiwI9+p6+UOQ3EzCJPSzLFwOL/E7EVZUKHiAywYyBTylZyJZlqDjpyeGVKjxOzYvzHRPZ5QSFGuOcxeWWd1i8hrqktJdPL5l5j0et3K7ojB2ett8lRpc2SiumoZcNwvUtrEaB165jkwJEUTI9a4FQSxarGRKJkr1PyUSac7aVF4712xoRzZ0myebCUelHGFMBGhjYRCpcVqPSOCylFxwCXs8hxUWZpoohXQFI8WtTZF/2kaJzSbFOZluEd65j815XSVtiBesFQ9W/oqostqakAu3zIpcJAqPmAF4ZAPaJFFvB+IU36j0uLxd+v0YY5B8ntbtSVQSft1TicdqbTfsoAF0aOtIxqHiOA3uhKnqmbxg2y3o9VsJBSU540jq3MFNOj2kZ/l5dWcE+8wzO1sQoStGx/6fIk1Xu+YvPXXyCM+jH33VGZLkGcASGBUZzAg8O6iV6g4aCz4DX5XrL5qJXUNeCM1axX13erEz3fsZrDgnBXREg1rNO7tRapNZeOs2B0v9tAfplHODAE03l+vEUInlbTBR5KnXZKM91iML8PpPhZhh22MWDzOmSGExnQ8n8t3KTCkjUWnjcShowsYxpiyw5gJe0do33NYLJmxf1M56r2CoazxVPpFgVQmWklnUzlTqatxwSSXzlkP3eVpkaZ8QmZzOP7OQHolbhbQl9UPMkgyOfi2dxJWMe+FFa1d92kg6WkUJajs+LsvM+hqpawKQTAoZLKpaMJ5atTtiixrcz12FQNXCoLe/WJZD7g3GkmUTAENehHWu6HEAV0Hw+TYzePyB6dwHTf9rNcLXs6svP+MafVUehRQ8EVeOYAdXJi4bO5tb1WvOTixMKeuA9dS+q396szoWfnhomON6fQ1ZOFaCniyBDeq8RPrSk7o1gS93Ec16gLXEHK8AVybvvuGweh1niIuM5NkHYx/VYxubg5LiomdsFsa+4ueUvMmcYqUKmN+XiUWdFCn8qReS4RI8Nj/lRF7v7PAjRqZsZwzsoTrprWHiZGhQqPij0y+TqCRfB+dAFikvHR40MmxziEmijuugrHtJbfzFJUlJUAAgc1E6VTh5YOxV+DBH+Zv3NeAQR/J94PdT6L91lvVC0zm7lsHGxUotrU2epmlzYsMLD08EQM+a4zPLLt65gjByOeFUiydzBUYwz4QhAAwjhBJrb+8PwrdcyyN6KQPXtWCzHo0LV2vIoF9+4XkctaRHeV8DDBI8D+S2hSo11ewtNcuXL/WJxOn43KdjQM5SijQ/9z7vMFqdybWDpGDjeGBCYPIDdNGBL5qBnShN2yUxdjTxxUJRObpY9D3zkpZwGsvdzivn+Nd7O+/OmwBgPjIbYr3hwvFgjFfgxAKf1sdQZc3+aCeaXkMFHYV5BwjVQPXNaPn9j4+TlkU0vpMCuzGLj/9qqTyUvV5YUExH8URGnT4HP5JrQomHHWQyd6m2s7B6MmqWVqub5/loq/GZGbEmNsUoKVN47QMSbksY5Jjpm4stkBQ86YMYrbjs0a4zOWB0fe8rI1RkSW4KxYJydJYIZBp7zqLlckS3Yqxyht7qEJmTiU7DS94wZAkhF9bspURNJkG3Mb5SsAqJ6suODCE3mnpCdtUa+yAOd1n9LhMhZqnGzxcaram5FfuFPUq6AEKtVUhSzTX3D9i1ar7qU52MxiSMI5k9fIuNTOiF4OB90F0f0n5cj2yWtM8NqvRSNW4Jp30eSg7AjTdvE2ylvmnW8PSWmd2tcU4PChN2wkjmHJh+T2h+LSyRtfzGYMuuezIkldsyR0dHZ/nTBWbKnZQU4rgg+PQrEUgV7MqCsk1ZCx2WStvz2JY0YRHLPQFJLw8Y/y/0OBSdlkYdGgiW1b5lekQtq5Dr6/U0kQb9CQMOk1qu4yJZDhnyhOEl1S30yZ9rjF4b0NuZxeCqgwBX8h/VOYHabH2rSWgVl9XWdHMIN1oAEJtzyNyRFk6lahg+Yqu6HROOo1IYqfk0WAyOepOnzG/50S2XreKO9rbPyFqimWsU4FBQ6Z71hnHyQId6+S8ehciJ2wi8bWVGjQ1m3YhEGMhYEga23Ju8GPpeS0fvjJsqZCQ53l3vVCua6+P5ofCqiIiWP6URZ3OzHqPRROOzJnSwSFIUD5GxKg5pg48WXXV5PKbfYAe2KuH28bGkZhXvxeLXZLl6fse2noRXomCIYkH9xbfQJJ4CH5mJFZivSx2Ul15XH1FrxnLxCKxZFGglB61mXVJue5I7NKQ2r5Ejgq3wQV35qAH4uAZZm3dei1L0oDVOl8A6qSje17BhDOXgNCik6+8edRc7apTpeJA0sMTVdmtoiCSub4amfPFfnvF4HbOMdCIisY/jytNECDRc2VcfMyRzxCQK7pKSzTKijkNr8fTvsWDxaHAuh09xNspArgc585kGWvFgfjNRL2OOFrIpk9DbHahOhR5SEsndqZWp/V0HjlucY+no+EEhiVDKBDD2dKRXZYTarDPXCRJBtLH64qe7Ehccw8iMDt9cqZPaxdkCM51rKDZ5HqNQdAs0RdyJw7tCNCzRt/US6XCiWOZZzsdCmIkgw1ii2EFdpJpi9mN5pCFhauu4NBZfCyEkJN1mVZixJqBeYAhaaLM3oS4avMJE6uK69sEAwtCWdcCM8Ik11/WbQzLG/X6eCueJYaLjZHqNh2WpR9slm3Y5jvBF94Jfvo0LIe5RBYtWlttou+8+cerPDCcY+eGijVqEn/EL8v8qOm5N3auO0xivz/wH9ouzplCT9cJYLPuv9pNa0nnr4qkGlGWOnPobIrKd9ZzM46mztaxWTVRuWFYCwNAD/R7NWYHJ6qDfldg5UR9DUgsOBV8Xrto5PzLYzajSpOSLBNWQMhWZIkFTlRDz2bD9bKt9jceCwo+Fum/LVO7OuvJLrjh2LhRKezqlnA0sIedjrrZGFjg9wpK1EHGW+w645ltlhObY6jqEexs0HYrGJIYAxYnP5+BrGaNpeCcjBudX+HoMXdpg4fT4KZVRd+5q9ZzaORC8qKW86wIvcnMkNZkLC7AZZWVqVFkemGbgpm9bQKb1ihVNOEtcedis8UADXl5u1hxERiLQBOJQGmRSi7GdkdnwReOZiN2OC/vnd66YJ1V4IBnBGRG3xrxbFR6lQW88FlSBFaoHEkmlBTS1N372hzLaljseTP9p89Zog0W5A1aaVuMCuSg0uJPNx8bbiAL4VQqGxdaCApkLZ2y3+9o5JZRJd+4E0NNECCdkxDrpiOJ/fDr53XCoH+Rr1qpbhHNfR/9jTqeKwtkMqu7cQ6JekiaCz7T5VhS6WQA7MCaw18NULME5RAcYlwVXND1Hk8DFLjcxF0DzYRgh6oToIYa7rdwkCBV4aeqJZgydmebLeCSfM5/6+a/vqlrfFm0C3eaRr7hb7qQjQCC5LcfvPdgfnnPq2X0PiRY24w2ksYQtrOibP5bdZPRHGCAyPGfz7fwDuIoXnCPZEKt/P2LhOPSG5oPhp2l6MRv2Nuf2jj/Bu9BLnm9ZIPXjlO9/mcfGPw8/D8w1RsM3qz9X0iuYiu2EIkjMplf5kOpRMo8zeKSoae7UIR6ReSqhzqTSHDBWipuMu47tXGmVwfnWTxWX8ikAgjXq0VXeFXi5EIQI1asgMiSFvMr8DvXLegjm6Vhcs3+dvRfqhtkMhW6jmy9WYmu9vsepAUbG+pVQhltZoPmg6RN6ziNuRA1+C0wj8V22VixI+rjQd96R0LJGc16+P4IhWW6p/m93lJN2+NqWnLZCBhQgnfw7lJWdTVvuNQn1hq0KsW/O6nmz+U6pUan0+U0COs1CV4OzjNMcpaydF/IqaTHNyyXommxTCIa8tx3OpJczCrrE4MKdDodkzGzISlERBcnaQyU/JE5CbQSvgKzSUsVCiVQKqssEu3k46jHOY4YZvpOQYukC0Q+6acANkIHHVDpNGDZ7zFE7smIegCJsvnT67ToZHZtAoNiKGLJKJMi4sXzkuTQgZYxmoKjs5VZAhy91pRiOpHYr3llygwmduKRUDCSzOkpQIW8hCC6SFp0c84XPW+ZQOKfKqksZ6RcUHehGCMZ93N2MLaXjEtSNfQ7MocnkmmM4hvEMeyxCKKItLE4mIJZeUnCDk5VFolO9nF7MltCzBrhILGB+D2E1wfTclVw5zqZjpjba/pLZllZljxRqwtuRvAbGTHEmeH7+UpOsnSnCAlDxld0nnZ7HArnNDZ44X8cwY0XYjkiuVz4if53c2/vzTLYSwh3EH7EHt5XeN0OKnKgKNcZfvhGo8lvxl4IP49AGykncs1eohPfUXMyOWIXdkUy05OeFeA0L8nqMfd/NDLd/c7RMQ8E0dPnaz98PbLQCcEvahwJIAsphELMa6CdSBbaz0V1K7rcRQ/hiMimWWK4YeUKAu+aoi9wUMqzXEmpZbPvC3G1IyWuBjlbqF2XfNdXU5ODSginGm5HuhbB0xDTVavRXVlfWi5E5CKAJcm94VnLJbhvztBNq3BFw3HctaI6XrSBSYZ6ZjbtgTXXmxyqhEsXrMLqepHod2B/UmsItBAh2tTNhX2D6o9EIWdyaYe5yxY4pnnN2nM9MAn7qpHCSVxhrpKvk+2ElYj9PF/c4EI0CjDBQ95XDFQT64z9aJGNi9/Mu3gcpjlC8qItkM/+7XBiSxxr3xoihpmW30KmLMAhMR03BbM9mFz3flpucgjvF0ky8GKH6Jym6YNCak10UIviLjrQXaWZTJk7RZZFDUxkkOuuVLeFmmJea1n7JgQUFKIKBd9M6o50t8p1/wZwXBtPvFM08y9yVWFU+/h0vU6sW//Nf+d6CC4GyKbHvEA7GB8CQxSiDQpCMOHSi6buJ9qAT1b7rk6Twhd1iHeiTIigKEWnNbLmonuVVKggavPyV0hCmbyubSs5SdpzbMOK28f+QGYGychnW+musLGo/Q/dMpOD5tfr8vZHfiBK7jI5jl6/8wc2sU11gTGkVNbKfdtQKJHNUzHRnNb6mz/arIeZE/w1K40C06We0bu5o2MTh8VzvHq6WGM4FeYjb7VmzKycVtW01Aq+mWUczlvBq/Qs6FT2SGBf+lsu5aTdbXWZLBbNhSac31duL918fFwcTWwMx5HbqcX0FzOmgYFnIYBIzGFyNdHej0lmr14ASN5nYrHA+V7RkS1o67UuU/AWzQL6l8y9yvEUdrr9C8sm4uFH+qH0y6d4H9a6xtFfD0D73hVToEClyKnAZy6gXzN39ep3Y8DjT8fHiCMdcAtMjzI+pXaxKxj8d6VrvVvrMgFTQEhiQjtu86mit7RAwQ/fsAvrnN8SGK9Epnr/aNhbo4k1TlIz8DKormfSRlI3yQT0ejBY3PDte4iiBxWhrKOCzX3f/rES+9ElH/xmCvBJFaZ+yhOnAgnoPsWpOrP7mCeQjkJvjXy6TgTqcMGzBBqr9JtL70Vd/G571lbQdSiOvHZaK3v6G6iwqEpc1zbS9W4ABBHeZHB0RLUXx7/+5dp+3btLtDKbpz3vmAd0UZCoT2TZN4sIwckLqARG3Zp/cPuHvrcusd+9Rq6LZmAs0zrVrwg6OQGe8ZsE8A7sCyVame7fFj6BEQ1k3yMpdy9HFvr17pS+kN0M/fOaikvrbSKK7s20hNIFUWlRUhQSRSykwyvvslAq4HX41Z4meS+9LEKhmhB4hjN7P6pnZ16hv+9+PEoHZYQV7YKOIYMvRAOXWN3vXbCpOVt0wv6WgyUqoShgMzERZesIHYnm/2gxj1y3uarbIrFNJBe8umTqARrJ+bqBkDDDcUkvTVTjnJVNtxwDfMHYq2iM7mob9EVW/6iVX8kAZJGNiA9O65e03Unz8kSUv8Fr3im7YngS3CCyiD9XztnY5Ko2XMpllllPND6q8WMt4YTPNZo3LFTLKahmtbAiNw+iJPcsc7DsWIOdFol8y9wfJBx1z6oTnBxKDzz3+vDXw5LKSdUAkQ3RgYPqJoXAH7ZwkZiTmaK6v2kNhLarSnJQCTxDlA/cUxkY2s/Y9Z2pWi0NQScBe/msWNAgohosdB6awTtX1bXBNhqQit98U6v8wIQTmDQAjST8LMbWshML0BHyaNp6bCkIKsta31F/4GsL4fJHqt/ortjBv8myIIgNRbhq4VRper2PWt610anVUppChzXbXlnbwWBlSEKgdlQR+sj08nnURx9N7bLd/Ufod/sK8KeykOqyeYGZGz5EmdigAi/K5xXotwpuWriQjdQDbX/2+iRwgaOpkLIsQexiqfS9jfwC8/ZXGxGadeMijvG1aE8xEWaWHOZsCxxrLaSu7QWmiIf6SqZGp+LiQT0k4axMKGLKlqUu40jRumKy8TgqVL2uYiRMNCKUTP/tC0MUknDOXnHiRGxZpzSRK8zDMoOJaGWxYDk0151Z2EED8jCaU9qpI+PKnRwPyyBmYhoWa1pr1Irktgh0DH39AnhRrAxvZBMwHEd5I8MmVsbTvNqHl7TG8a6rluVP5jJGUGIxxJkdSeOZTMcycxvXqUGPgox57498+xuCW7CcnDX33/3zTSQoFqSQyvEpfw4OMTQfNNj18qmGFd2USABGJInO9DmDW7gYJ2bYeUqevdxrS6tcuQVJR8Tm2K+rjTCHs2QwgN76lL6CpzijvkC/sjnoxfV4n9yBqGTGjrj5L66cCgQNHhEd3EU47a6qEar2r9AJkFCHkkBLvKMT2JKw09ETXaCAjiVE8EO+kxYkcirht2aPguALoDKtMvbQe5ssV+gFgIyEAySrOJJ62mC3ex51vDJ94t9bw3m9PEORk7tPUGSTBoPbnzuY/gOU1ngeBb6H/EfCtGiOyP+XtDmVt/zYoy1a8EOlauaMd364qSv7uc6/tRpfccwMniEv0xKTJMv4aZoh3smu/NGHkxSk3P3vPFB/yfzHqHFw7rtTjkLsFnOr252a+tXHhWjtyAITK1kmYzVlZZDlpyR3Bb0Db0UU4PyELfa+/Dv1RAfxoB5W3o/p/8Q9TXyN33Ar/lk1VhB1OvaeTb8gdx7YPvfuDR3AFADYyezi8d317DNTh/6JFtU2cMzOqf7osPmVBw7eDNSwSUD9uxIu7+u65/ubAL1TwXOS2X+/u+mfJFr71wjiXKKlrtjl4AOvAlxwzgL/NVmpdfDxY+vfiIMJZP+5tqBIqF34ij1GzLBbjIA7Ce0JtPMd1oOstu61/uPVX2ER0WGrC2poAcGoWQPkSqI6HjhEOaKt7PUsDTkxcRNUH0cG5VOAvbjCt/pmBAFt9/2rVqjWqU+Znl1Ak6EV1+leTH3txSaTv/I/Va/b2qB5Y+8xZrW360AmEkkEjPKapB5k4FNikTOx1EiBC4aJkUbCI/TqeFlttUoY6ivb5a09JOCwqpV00Ytj9VrE8FGRy4RCkYj9eBZNTUviWPtG7S1vKMPrqaXRKKjr/yhs6u5mtzaYQdVYRTPZV1SKOgnzWyxXGstGQm4bOaLZNOgjjvqcOapWHMvStM4R403qa6870oPDJaIS8rZ8Ei13y8UlD6DOOnB5MupJXNEjEDDRaNt2n9gZ0vl3paemTSV/OJ7OS1JJEBRjsJiOBf2+tyAQQiRZcs+GW8rMqYNMtGMA6KXiYCizcoYMeU5QXUbFQW+TEz2ihgsCQmPdWgeCjGBkbqrup3LO0WuGXn5zjebRzVancplYqrpQzJsmN6dimWwqqrQ2x7g0xGWXtXV02Ek80g+8ogacVIAzSeC46BYM503o/s/wQpVJp60Cm7q+CX1MtkfikZ8fpD/tIIyFD6uwfj2Rd/pQqbzv6jRCqT3iFwuZWHEMqj9z4X8gopf6FLZAHVwBnfBao2O26iwpJ9EJI2ihbF1kQpHsMA/aaGFRGkbxMN696DQqsQF0spHUW7GXKchRWBKjimRlPZIZ+7i6kOlcL421bwkY30jCwSze6tVqQjzOjDKmOxANesTEClA/k1l+WcM9uefKddmZX+PhR2Kb7889+A/JocQRkpjIJbXmOX0nEy1aTf4X87IxC5i6PWkYibhyHAvP2Sh471cJAmaosHhO2OeydckNpbTcrAyvOp3bKg0W+v1ZbSsjp6XtiFBp6TtWt7xMpVggGFtZ8PvDYZ8/OhXz+2OZb6KkIzIzpMOgUvW5x/ONas3gBaZPgiydoHjR49SPPILu8rvJ2RJKvVJe4xSUHN7p4YhDv8w7p1CE7dhYofRWsjxRcDdYIerITG3gcvCHR37FlBB5obFeFFuVzfcs4ojS/XsksQLuUuCYoJqWObFYtdJ0uUel+kcjGBmyKPIQTtoRwpeNdTvMZ5nK7FsSbMAxCEi8vJFSU9W6x4w/B4fH2HWu8pZO5D5NU8SuiHtlghLQIUmcfqeCikrXZNV0VQIvLw1byqB1pkgFdnqILa33rpJwfzVSeYskSwaALxIbH1mCozAcD0aWwia1eiE8hIAnqEBNZJSJEL/mzgWhIugg6npIGneDWSXlruxSwtFysVOq1bJY78WB7vJUn9bOK6wfwxq+JR4c/SCFX+DKXNXhWSUZ1dxWHQ58z/KQp6MPlq/kJCUairxcdfq2nlCLVhX+jmCOzKPK5qiuEBZm0NCMWQfwNUXpeDcL4RA8eMWjuTGHr0JAUHKzL/soqUM3szhf3lYvKDn3JVhOCaeKgr6SXAmFlgPpglAgcfTbxLKLa6gG7ZpwR5c4IJi1wukHQCXJUmU7hXA4Eh7fabnxWhrc44KEUqIkq66W6e772syCVYqmyazsU/EYJfTh+LIHTFBy7E/mlaAMm7GisEWM3rzBiRKzXB7VXmx9M/zlJTadmIIrdXSzYeer0ztKY3zACWhvMxSNJOf6tLlCBG8Ck3pHPXOyRRUKCzjK1sW2X+2I9aPq8UVb6rl5v5Ljk2xjAUCv8T5Mx2JA4nZykgQVPAqeVArHN6fR2ePEtZ5TlKCMWs5jcr1KpiGrdZhhI+zo+fW6HgjY7dhr0CvqmgB4pkWA/9pMQcWuATvJCF2S7bdhsAZlfb9SUhfNlQrRSCqGkgWeZ5gNiYVx1s9DUJ8BORVo4mzXiOo0ONk7D4ehEPAj8qukucog031SLp56i1752Xpd7oNmqoAuh1z58pQCie8+ha1e/TB9AvJRiIO+Vuyj8K014Gb6HAgjIJKLwNsPfX0Y9Zs9d1MFVS0B55ySeTvwBJyGU+V6UVGp+H9nbtV4IaFUDkeSfViBDnXBC7757dsKXbSGsE8ReEa6gSpce05iRSzWtpEFJiR85fQMbRRx3iKY+28OWxY4RYlkRnDEU7NF/Dy02uV08GDyqMla32P086vaw0GvzaAW0JoKu15h5PZoYo2zLb+QT0b8Pg4TZfLHUMFg7cn8eI7t6ALoAj+EY4Y2jABEijtjl8Om/0tuaF2GYdwpjBNdgVeHFxsYHOAyyllVXE/XjfhGjVFtUJJseyvy0eUOu1krE3FZLJyc2VX7+hKXWaHdFMEEnUo1dsfe2MWu3ia2+dxM7pVntQ5LYA3IolzLeHGCimN16fcnt+SB2EKdSrwauJO+2EmKK7Tj/Fpll0kRCFlTQjPMXMWPfRwQ/ENT/ozwPBBLKyxpkuLEUd1Xe6HEBqWdRdoclslBRvcvkyEz19eVymxUUgfY8w2jsjkIfIUhDuEsb+I5BK0+E8pgQLXKeO0UNZ6D+MYh8tKck2V7bDhdWVmjc+vtlAcjiUxBrfR7mhl7y2giPOe+XYGKkkk7tJi4x9hK01AyXTxt5Y5Bv4X+WEsZBo+eshnDd4/pHtwFjzJfsogmiWQinulp0SoUWhkd/ZAz4n+TckwZJW3Bxg4KkF6bpNb4lFFTgVe0gJMqjnPDkOEivZA+hLMGkyKECXEi3JlMs4nAn+7mQbUhokAVdif2hAJ4hBf8u0tEoDESlljRGkVSWsRW4lW+3BqeTUsbQoFAMOCaTAdmrLwqL4ZdE8Zot9+sMG7oq6iaDMvKou9aN0tGQmHfAm2laYuTnQ7/Jx0gtATSZa721ordNjmdZcsWjVLHZi/wkxyGJhiGIGzjP4todm9Ic+xYe+r19g2eyTq+8LkYY9NoBud18UcapYQQ85pfTsyFzeWLtD+TmcH0HE2CGTAcxfhnUrqjsbbk4MJa3swZ4Oll0qL2E3EKNamTKTP9fxYqAZ9ZLJcCYYTaEDBvKmKh5qxqE2laV+AxF0i2DFGciTOJoje9jnSrCcZTiqMyS8TD4XcGYixLy+ea4duoxHYy4H7Q/ClaMAihf6nDvS4Mp3qA10QDRiVTaSum4rEAZ2NS3qiqZiu6sgitK2Y7m0IyOFGsJEzwJb6yMmc3SifP2T8pKuo1xyeCPjcRb5RWe8Ox2FyFf1vZ3tEn1+SGNzoTIQEPSmTkvRa88Xfw8crbE2qYIBIi66k4nMQKvFRLmRTPq46dcqi8IlYTgZL9RjFCaDJmAlaJ0HessXhXozYKLEY6zN8J7lU9/1PRlZlLwBTH8QOw5fGAAXJJVBTwKpiJvdyvXK15HjF0qh60pT6stcTzn6aphK/QiWRSYshfR/x+oP9G9Kgd6PTzF7pbDazWDZijvKkoOZRRodVEwyfEB70hQU1RtICH/Tema4yH1LYeYJyKcyeYLjcYRkFBbRGcgW+CQikwba8+d+6n5xvT6TQ7PIFmkGQc9hUFNRURaYWnQYsEpXSMRgn6HqCAwSF/eIlldKUHxF04IT60OOfuYXj7z3tzN2DgKKhwUBOh/Ef+OoFMWEFOYMo81gO8CHIHc6KMMJD79OQj6r6dnVl9x9Dpo/omxWfkje/MvzhsFQRwSNhBOHokSz9CioOVhCNOyPp/cfd95vsJ9Ndb10jKdM++1za+Ev7fs+fBfWRpJNWPyDvQxqocbLnvQfYzoSW0pc98eGnbhZXPDR2nunylvV3gNTnUExgkLCUwMrBNOq+8Rw6UJiPu7Dr16+euAePXyQWJ+g6mo4J2RdB5AeSp9EmKVkw/VQm96g3okVvVz+mfnlAFLPKTQn+2irZg0vqhVp2b1Z2Jg9yEeDPlDOO/TOkmA6m5lJUq4qr6fCWaDDl88ThkBHKHDzkQT+CTGJ1iyMTTg1sXWLkjVRgKhP89sTaIPV/i8nczWO0AV/uzjmKRKDv24Laf/Humb9zH6gfAHkqwii2rAGG2kz6vafT6GDqWnKILM6sE/YnLz/WvOd+NNc6CTnLeHDcJdJyaLex0eAazkwKJ8yzTF3fYeguPUGoJmzY1Hys7w8NNz7pTuSduXhThheWJDUfikT+Olv5O7d250hPgIznvRkACBA5bmEWcN7eLvEcqv2oiCblsdsQqUCLWjNqgDmOqc3Jp4Np96XoaXSBgdWJ56TsWcjBpTi3ieGtLcUrA/IHc9z5xZ0fZlXdbmJwHnWCOk3REFsPhZ+FgEQMii+oDngLWmcg2hXeirsWUgjuA1WqGVfJVE8l0Js1hZlg4mPJPQlt7cHPYk3JKHic0g1alk+AjuJHsIUr+ePx4M8dmcHTbP9wjh3NWQtUSdSCrE2v0CjShD4ta4w3+Xeta/pA/EnJkPOpkmGoJGZd4sVDq1kOlQRGgTOreB3XTo4eezA2IBRZCkPBALOoUtryYneTIEju6+65mUrHhzGwip1maFokcJEi6wGWRsMNr7KgVNodCLWVqXIMj1REk4hK8cZrr1j1ePRYrVIeKQR0bwVNLznxvnVK3/aC1P3Br4MdLVgGmaejkpQ4QjACAe8GqKyAH+chPxrp7DofCRMcGMpCvsJl5o16v+eRLDeiOcQo6lzm7/b1w5UrtuJn+b6PpZZLHKC2bAq/6RZfZpZKD6veG1sIu55uk/GbhnRHAKDlmooMORIedoHzENCLLN03wKPyy+S27jI8lhaIdCykoYYnRrHF13YwhRzf30oH9+E0hNZZkAWIoxxQdYCZxwnDQDYherHswA5cJ4pEzg+a5SbeXHXnHOpvP5nLyNE+GnKM/OmGoaeyKB9op8iqo0Q05uPIZjVIGS3C0mcDQluXObL24dBS3xtU9a0CVcLXjoAp1qMe/IKvuIS+NUFmmUiXaKxa/5ue2xBdRAGPUKRiTZN6GDTc9N0eBlckgLRjggsURJUo+4HDc/UzXuXjP2jga24o19KyheBd6qEBqTOxW80owN/CKhh9QknLX48J1yecCd05s76NgSqYWfrpmaE3BkL4G1L1tHTIbPf8vaOHCQeSgWYEdMkkOfzZQFliGyqYTccVEOksxrFAmQSXJrjhIJXn+uz+Ziu19FFwnL8TkEpcChSLQ+Ox3aD3Mv4OMN9sIU2phzY7uz1GEPPJZ+9QFJ1iS18fdPv/4KKojtefCUeaWfz+wA68R/4+hTzs5xOM//OIaIgjG/5e7SaHIPPZWAlSgvx8OyawB2Skp85Z11YKbHiB9S6Q9szxkeXZluDp2zQXc9QeU42HjlzX/VlJ2JBU6JpzedwU9OdgN4mmA5/GJW931W221OYwi3Y7CCill0MxYQ2H4vaFNzLHUq1oEysZOLvvD0cokWTbctyZGtJHJGRtkCoYPv56iajEWGUGoZWe2aJS3ZxbzCLFYSJ0ni6bgU9/YfFFQLOAwLvfxmKS0ZxJKR5Ia7jO3UlDF2tx8KhrPCg3g0I+n37017sHAkb3IEpvIwrRsO9IqvlDas+Q0ohzelOuaGtYDKmcDM5cEYn+/i4lMmRHcoxfbQZfPR4QaIYbihcLqUPL22vT2mEJQj/cG4+nsdGH62PvCnHQgEyUYLShtlTS09wlE1uUQjYBCoYQcA9VGMusLsAHzW1cUxtINE6c8j6N4a4AlOdt8IY8M9zENhcEJuihIephzeIgpXZ1RL41vU+o1ouVOGpVMYeCTsZh5idUGHOO5XolC0SJi0zfL3SpMW0jq4WBPhA6U4m9YQF4hYQ5KtIaapve7Yo0TIgkRY7U2JS5CuNPiENH2nqRqew+SrzEGalF1ds5PuLEyU9BJS+xsAByT7dFAfHHWwALK3PvCIgmau4/FksxYyhYpIEc1pZNDztCRRKF0pSO6dGum0b0aWVzGtubNzSD0MYqXge0PHn7BUObpMCF4UbNdzLV0jVzHma/xhDpnhJxXoxrqtHyj9qM1nY5c3VLZ/ZonGi57GTGurSvzPjDchuaDC9G9ubArXNPyNYzf/kWZDoSw9M8QnIQgFSB84YlthOBxc5ZymOVukiEYZQ039Tw/SAA02U4T+5rNzHx3MrUgXAwhUATN/xcr86KNIDpxCluUg6xHqTBwN3x2YFUpNtbwpEQq+eiCcBhad79KMK31hb4ybng5zslJERCMe4/qD9UUvC7azlOZdtTwY3bqYnmcko66P24YqoqiafYyNYAIlg2KiIHtTYcIkyiy1XqrcKSe/PZVwvV+pZ/Mtfp+o9WP2gVnqVhAC4FZh8NTgsa/IADiJNyGdNJ27M3tIIEIjuUD7C9lV3vXevcjnYMdb24ZAwTOsdcg9cEmHQzBDbgiUjVH6K5tK02FUpJr6tbZoTW6iLOD5YmlffY0m73niaXIn5JCQxP85YVy1sJr9AuiPRTIHV5C7HwqA3J+o8a/EYPJpi6lq6ZQOTxgzAVBUlSlsfsPZbkhF8I1PBAM1zUVqRqwGxz7yalnwQ+OmYK9UzHaJwdcZKZCZirmKUVRUUA7z3Y/FTQj4H4rTvM8jZNPMs6Lvu9m00QQphDenULKp5s99/7CYnE+b0bGyUKDh3hyNAE6FBC5/GIr24a+9uSzaMgvALuHrlgzvBasUGE5TSR0GlNH0+nYPGiWyGLQbQpY5V1tb7GoTiCbaJJybkyFw946TVu7DrBrgID/lQFMxCUT/vjMFJJDBgGHeJo0qryYdvTbPGEzRFnTJJHnxWUfCfH5AMbRRlaFy3t+VG3o9WPDWM1377TnhgTXmLmZ9W7U8iB4tcEGoUGN1Qjg7mK286I/U5EWjqYu+IpVCDB9iSZQiSRy/4J+Vaem80e38qbIJBfhwV/7OFeB2C2OJqt3ptfwjEHFLmZxaB2oDvmjVT+OKCuhImLe+0FIghWpYcyhMDNWEnA5TTMyeAQw+7whCPk7RBins1PDIE+E6zM90mUt+nJQqsagKC5R6DmGHdSXcrmCIXcFu8XdWn8O8g0JaCIE3xO8NaQBcsdFbWXDspkul3FMKdbGZ8qe44Xpq27S++9eDHpB6lbc7lEHTtlkF6HbkjubPayn1KSPhdB5Ssb1EbQcphU7IrEkHUspJPgKQScMEJJiviGmtfkEJ1opRqAIWj0jYMRInzbKMIRMTAllxp/iFgOMLal5s9JBNoPw4jhllnqQWzdB+1ovndZZ/EoCYEvCIB06FNrRFU8LejP8+BKk2y3avQI+a/Ds/qVjKLaZ74zEUtTfyfnQoZmHEnLyfDJwpzwmZ697TERDS9rvYWIMB+r6clOt/DhvUiGdLbeXK0MGrWmS25ZIuHASNG6eK8gAkKOCHWLOhAGjmRWtgbLCRC34hbCBYqxGp0WQCDF98o26Tvfib4HngCmGYRo3N9sfUON/FM5TBBYlkRPI0xMTQ/uH35oOw8ZGAMxj9S3VDVQga0MGsbMD0+ASCp8ra1PvIg59b5JlMJCo4LC/MekF+QhCUdxIIL5MSmCcgtcvV7qVKG8Rbb5YQU8Fu9EueffRWJUSQdjkpah53PvjCKUp4EEqsxWEIIolhiBujoYUJ0FAy+oA5yNlu+E5qtukl0E/HpV3H0jMatlt1qkxeYszCYQkTMNa1hq5KsUi1u20/N1YA+7Fx86ZoP2ObIiiw8VgGOuZt2d6xzhUGscf8d3d/tNGMyfWTxZPvwJq0nPmcWZfl4JaClRVAMIEKPc6tqRRSFTrVkbMuLDE1IWsFfrI0n2Hq1DezyHQgnLIRASCYd6MMzCiTgMT6zVwXSM2cg9I/DgFSDYZMNvPp0GnJg5DeRwe/x7twwTeNn3wBfDfNDxPAPfJgZkRHYRnluoiKZilgOnI8TStg23HjI8dOIdIujxwfi6Xh2ftKWNz2tZsqfLQxUlKs8k6pMebWlBrfG6FsobTqEl1agW0eYtvbu3Wteqa2Ql0Sg+futlvhR1KSziETNQo4+LefVZ0Zp3SmsfoKM67d3MvC9iLUuxHCWpQmlOLawg0CuwvU9xCUtKJGEWCXnLoR8NBi8l1ofVmlfdb7icDBxX8+dZDGA14MYJrqcFFVng1E19xAfQEkWQRfpHn0HAvMwFaSlqZlwIBH0A6e94BEiNkxs/Ujv/84+4/cIun++ztMcKSEPV9+HQD+viuHf3pnSiLb6QgKAdu1Dy/+8ISLPetdq5ulFsDZiL2+c2wnpymY7CPm3DDlUMb+RfJPr23kqDdD9Q1id4nR2dj/9q9gp0vO0Te8BF+2A9+wcfvyR7PoX1zDQmn4uxV+eZra5F5feNyHaBYKOLxII4z6pV5XN5piGygMzvthV82MT+uJGbq60ksVWJKI1EP7Wux4ajDP4S7HXp79Nsz48Qr0VioaIkK3pIjvtnUvUO4Mr0pjqQiQy/Eih5aSWBENnCscsYK6zjlnqDwmoFOtQtRRJGQ9f5fu/el1ctlUsxp1s+Nr0Z71QSjqP4nYJHKkkE4PQYWfpXdxy1VAe2wmBqsfPjlZe+gO1LLzIhipHCCM38eC1RgneZJgPN7roGcbAeTZyR7K4eiwNfVhU7SuBh/DtpKS8vksSCPOUz9qYEhs+4MRtMSX2g55PO4p9hVXNxZRS+nI/6UzGAKQQ7zT+jgHdAlHXWpRrWLXJf0dEd7AEVJ3Rt0WrBFG1JKN9bIE1d7iqjKFDociqYqhU4hIW7DqGfF1U9MOY0UXBnuEQG1uAC7XAsPQvte74SzqMYeWVZvAarQLxVb9DQmuNlQp1JqQSqlMQWt0GM6PEiKFdYThpT+bHAiqhxzJNurSo4dcsVcOmtwI9q/FOmd4V7kGmpjUnNioJ5ryFTO87KBoeGTjME+PO9X5UpR1FH42fZ2CU/iQXUl7oU7lppPPtcxo31FtGSi5PpJD4lqqdYkMJ9jQ5myYiEV9nEWWnSG4tioUFVfjPORGzG3KsGsQWfXuY7xQhsgpAKXLrLAC6D4l/dPvttUb+3ELhp5g65PqmyDDbJqp6yaSQIhpwDZk6OMRTe97I+vnfhnMx4aPHU8zIHBPdd5U4rGaDFKoVG8a6LaSC/sVK1EYbzJjZnCQkfYmif8fcsjVCAb5ec7zSKSOMdz+7SQkVWaqtamEih8y+awjBBPlkctSllMTda+ZB7aHOXLG/wqNgHMBb58SlPQewm7XDSUmNBQ8G/JiuiHDyuMLlB+JsfZnP7qCoFWw2JFHyQtGNX5sSwE0+oy9bsaqtfNnnQPW+Dm1UXnYRm8+959jddVPMbTP9WcO+BsnLNaJRyRlusn24ZMWQsbyVAIKYIsGZ0Up1NLoiYyjoCP/SW3gZb5gM45F4c+1WtdLRjGW6koZrmK/fujXa9cZAsKVr4d41cbvQJGMedScMo6u8BMGQxXk92q/37O8iX75x+2yaFUASHKzUlMIuCtcTCJ2UAwSZ3mG8L43k4DGi18pHWT8p4fimWNLEMH0l3wMUH9d9CilvmKIdg+f2jKHPQQ2t5cDlm06wTHeAkoWa/yzGxgQhi+SbguX5C6nuRGkVXbhAKAYU7cg7FRCUbH/l71bTQq3HRv79SmNrz9oSFknt0c9PvrBHHzEBcA9W9kynwkfXNIW5Q5MLLh0bEI0yrVFgbbJ9foRbd72SX9pFVN6s56fuWQvF0O48SQeD8yakvdaxYP1vNYpgHOiJU4S4+hOrG69Jv6dRGY+KqNsCtbYnKyjRyGZNREeWuxg7oydlsz4BkfYJOIXC45UIASAaGDOYZLd0e2+/v3q/blPY95A1GcKwk8L+ubJBzwzKk6P6ExwiDL7pnQLz+Y3jIpGyl3ATcpx3BPVX3sjNOMDe8ttr4ROhiz/QG/N1QenHDWzMaFfX6/z/trxwaS1+EX7+AgWGRjabANuikHcE+1bOKht2N4rOCDSnXlGqDqg3bs+JIBgRGwtg+tU4ar+7vlnmjlnXzkfJ8qG/o8i3lhYECKyXILWe2OovI495B5cPCw8TDj1xewWwkaKHlK1hUrTGc+wt4FvzILhp+ovr8DoX40DBUh7+6d6ZfB8schmQ7Auhw8ySPSEzqMEfQJh5V2K7efygBIFGCRTK8art7OTPbK5wXIQFtav+DnKafJejNAjSNFfWrb6LVxTKPT4O0HlHEiCwtNh6fY45WA9VS2ttpTMGmVGjqmVJ2QpG7gBlbVLtdqiNSRvFSzUeyU6C0N0UQdS1EkznqRFY7AsmI14YW1PLa69Nv/TlWl7Bq3EQXa5hBTHeTw5gpycttiw8cZCuqv9zfVXGmPCsagGrDF/oEoP6bPxN6lFacSgArlVoffYU1B10fP+mMENzE3XK8Fq7zLa24jrYmyVFKBHC1T0pjFW1gUk7JaslhpVExprMVXpBOQBjWl9ZJqtp6ay1FteLNTia4IkoE0he/4CCIw+/w2VUnYXpzwyO3uluxGK2wxx3JSxWjbNCGn/9WE9SqBZdn+7Gcl6+yGg+hxAnwI5VilL2dabQ/WBIKW4HJTJ8auCgSOfzOxITR87lRR548jjhmvORuans5VOixNgxgqUH9bei9j1SoPo2YpN1dIkBXQstbWcw7dXZUGclORGFqtOzPFMLp2iLwE6lCXcDICD1/iQh/lvHHTf4dD0lmJunUbgx6aMgFXmlWjVy2tGWMikSgMRyNP5n+Mer04p45YlymWlgQJgDzT41g0LCjKLsJiixMTaUo9alWqYFR5YV4LRltnj7pPV3d26fWezjbFydp6yai0SOo6O+CIZp3JaDhIU9Q5Ou19bTwQDIZTDJBbG8s7iqapmAqmK1x7POScKqSy0ZW4AXvl5P3FQlI3dI+o6rnclBnmFBKMioMmwLXR1VWjoVTeDjgFN/WRSMpI5w8coQcOfIrpeeyuswZnJk/BgyO/DtknJR/TTrc6MEUEX3zVPupn+LIvJwyuugFhhnlNsC1UwaOYFQkkws6e+0v9GluKMkLA7WYwWVOJ8/bi75VHRuewompBM3k5HO+GhSI9H9K6KrdZqQixpW/IYhm5Ocz5vCih77OJIs6syN12xKbAuxiyKUn9WbiYOkin2aQV6cHzbOfgZc/0i8cWC5CAcyl+YziwMsVyy/prSqHAX9H9VL3Ya2UHwYgUjoE1UdLu2L56k/nsdm09PINePJzqteao7Lbac76u8XUoPkIkEWCuJ6iEdfvpKEAdBUlBIiRW3JgcFBgHRRy4hpurLuFtDFhCQfcqiuedRJ23fMpUyJB9e7GcdRzbK7vkoI5yQkMobG4lN7qlvdw5cI25dsYkos+Ddc9+QW/TMJzE43HmlEsXlRYf0BOcXo1SH/zVbpacM7PeTixIrgTNyYssCom6VpO0xYdH+/1rKZ/nFLZoHAsU99DlXn5Q2y8MPJyJUjsAOcrYmIJM0g66PY4dvK6EttP2dqwo5eOpZzbNldZdrbcGezpa8ncHuYGGVYe3Ch0nd4poINf4453sguRFFp3OXtR6L3AMR0tzOQ6gKlgapSv2Vgv1P6vahJhnWCmfNxqP95VH1Oc7BGVDQ8r6uuJSpwRuE/di/hn6p7FiTU569jzFhqbRa+zKQAjzoJviybripR8L2itxj8+R2qj9EZj1f3JCIZsQxqE1IEPJXvWLLC1ZE7qkaUCK40oYxTcmJ8MxRbnnNmLW048NvMHsh5NgSLLek2k3nyAmkT91UakJF+Re8Ac2vHh6RPeAUSBKw0Qzjc8Lf2J71eyxuyl8COib6Ws3O2oogJKU3Bm5GxpCwDcwt1mNXKb0dgp8eIAbq5423U73GOXk6u039YSDgmscU6D53ZM08+3mL3fU69osyBYEzrlcohjB7YquyDhQa+VNm9/rRPFsyTLv2eo5CPUb9JqDyu1RPuBujn5trwymIwJthVhARLwyazfMdC+ZTAhkBtXmUAfAy42tUJOW2ZRAJv+jEdWCAGm+MeTzpQT7zxsd1vSjjKe+/ceuDZtSF8wla/e1oW2TtTq8LWfTmxFnxpKBSxYidN9sCj+tTZiwRdetcbdVBJ+QgxkJLunwf0TUheFYtpendDjYEv5s6buuadhRdRoTvguzfK0Kgz/RTp5pAx0m93tz45LhtVIr20mdjyKN9pzUYJcL9YKBI4aoLqk5fCr0YDDtu+nvY2agZaJ2SMgmt20JmGWsgzE8pUcla/fVrt9KBXJVyV959wP6rkQiHN5WtxO89rp4Hg3I/bM1deXr34s4XvLcrngP2wgcfV3L4iTMzWrPD6dN7z7pPXu6Lblw78wFY10uVsp71iTxLQ+ttgrCIOkK7NubmsBn/1Zw1wAdyNWsUbbCecdFGp1WCwZ3Pg40tmnjw3I5U52nPxllL0dnp6teWo9Cjz0Fk52GM3sccdh0GtYz1bWDRn7e6tlI8b2bTQ526Urw0mzBfEW2v24OAWVT2E9rgFmnUTKrXSMSi3LQ2KQ52/KpfKBYnTYd7mp2TqULGivTmtjAiWWiM0X99sMP7wbk6JsGf1oNpdwNiG247DQytD3rbUs6QRaSnm5FOOuZsGknn0No/z1/ncw/bn4c19Vzm9q1ttOxb7pPKQlqgr4wGNq9bNNOFmT3bho4mtHl9CwT/vHbj5nwTKmOw5BwmpJrGNtUuMzS/FaK5HnKwnCGWRWcNH/P+vhZwN8MgJHYjoW5cDK1c76RH3xdTFzVDTHB47A2WM6+3oSmJ7F5R9xozihlu4F+2IzNJjAuXUJFM2FFk01laiy7DB6N+quOR6eMpWb7oI7JZZdIYvAJsWkN9yET15REoxjXEGwhSwIhiQvGqinjTlU7GzDMinDFG51lEvBMS5q0qakhFS7kWXnSCJMv7gxDHaajSymoCcPZPEyQJAFtai4S+mFStEXTnf/BlL93llUg1vMOLh3DnYzj7kqR4vt8ueu+h/B9BdAPe3LId2gcWfCEBTNECXwx+Oxev/9TGghJ3OCYMT6Mbh1eYRCDDf33D7ibvRcXRzdZqkRoqVmoasD7+NUbvS0LcwyKuPiZQGTsMCck5EtBt5ETxH7CJFP1KCqDYKlRzStNjRoIDhaGLXWRYckyTUDL4PjLEskc9dmichg538gJoEk01GwJX+EjZowoKIomMglN0YZTz1NtKXd0pYrtVckxRZH5wEW5rNCrpKoSdbrkn45MuIPJdApBMeVUS6A5gndawPf2zfTOhMdiG8b25SljRu6LQ2aCB3PbRVrIOciCa2Kxg8yosL/DGjZdaDM4FaMhn5MoA+hILOEWnFJI8/gwuTBZTcrEkOYDQlKfJX8Ib4pTFexJGkGnLc3wtCl8VW6Tr6asEAQZPlJXLaMBAXVRZX1DXD3ss54BvmeuWnCwVcTEv4mYPqBZ17OfJHAlhqdUP5dE3XdQJOFxrSeW3hWEsXvULBUS5oyp55c8KfKKmWELDXFa6/LFd8xDoV7KQZvKObO6COiHjlsFOzBjRW6/J6e7m90hnRMbEroU4jK5YUw3aF0RCGJ5GLF81aUYCLrJYQ3q7W8kqkijOB5gp6nNaKgf4VxbEhMlJQkRTTl8n1ukUBIb0DG2lST3QULsSnIRaZRDIwIISQyHnBUp6KUvi3KyZBBX4AxCNsMpLizUW1Fst3zKIRg8UMiEwdcBKe5BRB47sKsiNdmrpjrkDNTOzJrdyEJyONZW8fllO5EkoglM35dyKEGVzDwG3ytvgF8Hyl/XlZdyOM7kxq402O6TWzmEcRhKPYvyMUHqWwjmmtsptrxJMFxFpNyZjsb5oETNsPlmHro5MppXEIpCrKCE3TdUDNCkpQk85nSNRiHJkbKZWT7e1ZTWW3JrsN+lLGJazeYcwrU8lbZuryKbWgRJsxiXJNMwmgkFvfJZxtBKxLbrfr+9suVujFFim1piOCtM2KExnmLkbCKRexlr4JDPHwiGFZqRdf2Y4fRtuYGhuNyJd0vhi60yqoG5tqwwHYZWFe+SuvHEYnGt2+IHw+in+gLhnva26ekxtJYrsAK19OYiRlV9U5UFqm7kJp+T+f7HAvcPceaihx4LLvr64tyHopBZTtpItwyA6AVEB8ix5/iabqJLS5yZ3iKXxcXN+rPFKwk4xPltE94/7xTnb2exh8dSr9td48jt336gdCDrHufZLMbaXpBimQUsh2zpu/Dq3xEmgO4+DHHeS8hlJsryMJigDLgQlL9tk9sghmkQ090AfTbpNUwKfvhYCiY11vxiYzWkNA7I6Be3VWiyhIfKdDxeHsRluXWgEAvvP4Z7yWw8RP6GH8m3z5068od60WeRN1KQHDjBRXk5CnkAZ+THsBuE4GPsoXyuTf7n3I7Bj+uFLuwtLw7yCF4rv0Zszhh9mLRmk97fexZq+qPFACX9sU3moZYvFfrsAfIVe5Q5qkviEzohbF7jVWjGYqcWGn99IaHXsBdMwv0Pnu3yEWvQWUhiVl+CmoF9NQiWh5fkh3iifA5X5QLedg4ZCHS8Ew1hSRbjsKzA/8nPz5019qH3DQ3thMIJCN+HGr4G+NrZ91Eetoeb53rXgWPbC/s1O2dOVL6hc2BFYjB+4xJooVrKfcWxPEx8m/+Y4hwirbnASjRAfBN9A+iZq6jq44PnoEZgYjU0Xzu5M/UdzBozcFR/d9oR0CYgnvwPGg0IF6d84JG3odcDPBESbt6PPgaUjkaDFw6dHL9HhFq1o8ZSP4AodODAJVu/eVtjzy9pBR8/BckBcVfKdE3+aOmL5py72eg/2Yu+HuSLxiE88H03FJ7br/FbHYQa2hjJEbx24yCsi6ldWtv6DLjHyFoGD0US+BFLtYPegeFIOPEhf4K+NmB93rgZSFrilFBSArirgvs6ysPbpIf57OxVTGGHT3NzR2skFcDq/O/x6vnPDH/w5TmyPXyha+pJU5dFRxxoPiv+NpKbtD6CLm1yj1yEvd3KbZAMiiODoPMXH/OQ65H/0Y3oBZzboBXepCHh+PDdB7+1kj4BzKsLhttLIcicIoDbu9y3QfWA4zh0kJ0QxAdm9kFrg6di+yX8CKcDCneE6Pyy2K/QdQE/ew7BA3MDU54f/wSYAekHQ/V0DZzz6gPPy6+nzgVLITj/HsraN6FFwG+moFxAE4FL59dQFVvoTIyCxkHQsYFXK9EgGHd3gZYezhlbP70XGXo5b0KxTyZHiJdaEP1OuwTt4TZrz1nbORoyEC9e17zSgvyWTiXe8+lYz0KbTXg0YDHbjl9wxyqAFMv69Spvb8wfc5O1nr+EMyMPvayMHaG1Ez76vgDJgOwt/d+RZg08p7iGzkB7YghYOopegd6PkgAvIeoeA8U2SD0KQ430DLxPtINpUD/o9yiDAWoHE8lJoHiYD3LAf83r3glRa9uVAx5DM6ATeQiTUYKnoAojS3289/dz1xwgp/cSHTvKPE30AYbQM61zIWqb6VqS1kYKoJ/k/BN1fo8MgZGfyuvQdKAxMO1EQEMHv5SC3L94PwSh8df0p1rdwCxSzBdbUoBrj9QDgpIEGOrJ/3kGbVuKV7ya4k0LzgQMu1JQ+58nIeTT98HEATfyEWA/HepLYVtAV2HA2wP0WdwKqVt+RpS2Pg+y7jvD3LBin9O3ZZ2T/5V/BGm8niiHX09ega74LyFmO0zq8COhwatEX8g8nd7QAI5n2H2iwbRHkxqNeO0wMNYPqrzKBO4EAcBL0HvVV3Z/emvTP5haK8Ey3vpnyxLspPvr2LoVbfOC0b7SJgAsmKv/igDjtkUEwNx/Rd5fPbdDrl5Ct9ZdkhO4PSv+PK7YWg6XfXLbkG2t19r+qRXt35bGYXm5LqvcYVw30m55gjJDUhzJirZ9NZDyubcJHEcikuCASmQiCBtiJOcPmTnNtAn5NpvyZiW73hYwh2xNx5E0hX+7g+2dbH2tAG91NTbZ2VfqlFkutpUcOm3Ngr3p1MGUTtrWN2+pte23JWvXhLa7bLu1gq5OMmtw7wS4tof47Z6oAlJU/ZjaR4tdo8nrYUTZwaXFWtN6FDRrCW1QUiNJKPe4t90WNpfC/LAnA+N648V89UxAflu1vO0T31YqkFSuVE/PZ7uA1VbIrV30JhzM6zizeofYrDFlhTx/1VBS6Ruke738ttCKdlJcX0G9Hj+DittncVVtycQRX2cV1etUNJ8/J+662Vl7y7T05mNh+Z3XmN3skmZX26mqDvAueYqjsJnhXXWJTXnVsv6p+RNGyNRofX2D9xwblTZHjH3Rds3f7YaCiccnuF2wu+3l03aKb4eVZEr1fNiKmW5hWUvN1Vb15ZQd9a5dQPHGBdN3BJ7lXY75IEIFoNcwgLq0oxyZZtuXSgutmXXKGZbnVpRP/VZu5Hpn5fdYxWWZ1ZRj6zG/eeh+9BRY3mb809aRtnzu03P0A2cPidft7RJCMRuOiEck3BCck2f5A8Vra1qXq63Xbn9WyzpqTuuCpset7hC1J+Dxak9k5M2Wf+BV5lNJgD9oLKfjo5xNe3RRwJ8hAPBga4InO5CQzH/GsqU0PmJZhxcXBXwYAgBAOnjvs8DHQqbGuRbsSH4okgsu7CX4GfsJngYA7CH4GP6BXwB4BfsMXk9v0IM+mB+YKxg99iz2DayDrvQGAi1K2PMYiaPpo/khqxfZIyEkpZHuuSgWn0szi1S0v2VCk032jME+l9qJAnuazSGdLuTJcjZ72ngb5hBkSV2iXcwkxiFsXJeO2YT5kJ5PmBHpTVonLH4N8x9ZEEC3WoFuMQaMgJVKgP1yzS1wCIBudkb5xmrPmM+UCAi3+MLwiiucbWEiaGcQjSxtoa+rfuFxzOYbAuBmOSBgJzEYFQYHZvwRoBLH0M7L4kWXsyPGbUkxQRABFjDDxAaRMRxgG2zGk66YeL1kSuwaM/pqmVOXtVloXGEWTXNTHkAxIWEbnAAsP0tXoBs/y+jtf8FReZhZtdHB0KkzxIzK0MPW9vzwjYydV2uxC7ptFOGl8IWu6OQq+yNi/yp0y6rcyndd9DInKnRD120edS30yG0xyWGRsmtLIbK35jzoVm9lpXy0rWpXytor8cd5f3BAGF6t9mdtvyw6+KfX/oiMDstFKOjkVFqUsq/ciKJiiKLo0LHbyrA6GBoCElIjgoooyLG0nk4FHG6os4iI5rkn9Awn4UqXpmiiS0gxl6Drugu26crswGK02It+7o1rrS9TRIxy/bquHKzStLJTa8XcCAsE68CRVX6cOeFht1OH10tDSlyraFtu2OhNVVJbvp6NjRC5jp79uv8E6an4NLTYotA1kdE5P9UxE0HRZr2V0Yn20YnwIEJoMD/YEgr0b/P3hHydAd4ua56OaOvgIHeXD2qtzXeV8p2lNEfl2ws0W05Y87MsuRPm1EOmtI8xE2HIZuiTp3Qxvjbga/yNpvacym9hnK+wSOSmHNRi4CCZMkCq4CTqLLHmRLqPUIYEogbEFyuNJ0pcoQCncmz+FIuGmDQEBpNPZ6HRwFHJDArhyNFTzUVfUUTCzJ80EepBeEy6axpCwDWIgG0oBTVgZqBRZNQhQ6hFcFFTTcY1WQ3EwUqzU27SUvB5u4PKdanT/rzZvuet3JYrV777ea01LMfePdW9p7jKoEuD6FPd5kafFs/4ifK0k9p37t/rYYLe+In5RmfTzGyLp3qbmsYzNRuoexRl6m11S5HdnU79Njc122SKE5imMzeT2duCY7kozwgflHvkbWH4MAYcwzNwC3ZbNOVtNI1mNBvQPUQZvU23CF5nfWsS/+LXfMqtZLv9fHDHDoHvcp7cFPVWAytIYbo5lIT4ufD+0ydY3+mq+DopXw0oQz4RxVumJozQk6fFdtj+xIubLaVnxfYFXBEhXttLF2tT+oliO+DAtyDhe+5IR0bxpSC0aOGaFgAA"}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/1839.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.163Z","timestamp":1785129950163,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/1839.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1387\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Thu, 17 Feb 2022 08:19:34 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 02:10:47 GMT\r\netag: \"aef8727bea8367cd9fd252c025b45887\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 11704\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: OYTRxXj_LN-uX6sDcD40nunJh2h7cflA8EJenTa97QA-OaCgKMLvGQ==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":1387,"size_decoded":1883,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"aef8727bea8367cd9fd252c025b45887","sha1":"c2ab9d909455bff35181dfd92bcc7baba930867f","sha256":"ce5a07d36768bcb5524044a9e92a606ae6effe1cb0913dfa418703461db62fe3","sha512":"5f97e368e23aa5e501e57917aea9426704ac3c4068b34d803f44944663bab45131170fec2872fb868a5faceb6856ce4d9f8870053aba7e8d08455989a731984d","ssdeep":"","tlshash":"5321085f5b644577dda94dbede05a54b29e30d208d978bc2c404ec1534598a643608ad","first_seen":"2023-05-06T05:54:57Z","last_seen":"2026-08-15T04:03:51.173419Z","times_seen":16127,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAFMklEQVR4XtVbvW4TQRhMSWwipYYngCeACsp0pEsJFZTp8gapaXgD6F0gETsIWaRIARIopAAJJAcJCgq4s5M4/zE3l6y1nv253fXe2R5plOR2787f7PfN7u05c3MVIGksLiYbNx92W/XnaavWSFv1TrpZT7Kfg5xXv3fQhj7oi3P4OjOD7ub8ahZUexjguGzW271W/THfZ+qAkYsauMJaI3mzsMz3nThG0rky1jr8OSpHPuJ57fKHq4q1zkRKI9moP5nMqJtYoRBwZ/UDTAdLnzmma9RNLMkb8rRXbjadjF4OfINZIccRhFkaeebYmZCWNMV1390enOy9GAgc7j5T+kRkwnE5oUy3vzxLh8ELXPR/Kv1i0Xt2KCPte1t3OWYtyhLCqxzSyKl//GNdO+omQIQSysKtFGKO/tm/LY5tBEff1wenf17z4REcZ17B1w0llu4cr4I0wuizyelw9ndr2P+iv8fNI4iXDQWLpDRC8KApoMuzZND/uqb0Fzz59ZJPGSJiJphLQdM5mP3dpxxDlhm3lH7M3vs7fNpg/8OS0m8cctw5ktbCMnd0YT9LT8Dk3giIj4EHH5eGAeqEwXm64ygvAcws3O5CrRdc79UpnW1kkzvv7Th9KPYHV9c/+ramzCZBpdGst0eC93V+Dpyxv31POQfEqNrq3OYPmDFsOMxKjs+xsducXx0K4LuPZxKgyOQEdSbpMpI28XwFGMkCpbGALMB5d0c76vAHpCwWQrp6xqgeflpRju9v38/vgTWCrqRgsFwK3gK0JDPkhiKyAEdZgNxHNjnAZJJM2eQEdCJwFgULkLT9H3psAmCki6ALiAXTQe4fQ4D8Iel6Z1dptPEoq3MZsgAuDz3IBlxDnMOCmiB/BlkA/G6abm3Mp8Or11VqowsPPq/kN/cVIBTyvXFfmKLOW1yJ2IPmfyZMSfxelQCnWfD8ObzZrDWC1v+oVz4mWJUAMmGcOl8pZvZwFLLVjZrFqo+Pgy4mGAq+lyCmxBATTPFgpDlYSNm0TNOb7qEmBFhc8bVBni4DBRiMLQCgWweAwiRDgdWhyeSQgTLCBQgsARkmAQSLngEYLsGwsC7naJiXQEfTYKVNAJiR6ckOu0BFwPKYzxM7TPKxOALABAOmwSIBBE5+vxpxZ90mCUO+D2Yb+V5yWxQBMA2GLIRcBQBkk/QVgCG3xRAgXwiFLIV9BABE27QJsL9540H0h6FZEmD4xogbimgTAMTUJe/giOOhAug2RWMIEG0/AGbHfUAx9Ym/fQXAIkg3KyDL4m6IRNoSY9dn+grAxKwAU9XBWwB5Syz/YiN3sNAkgIBp9TaOANgms8FXAOVlqW8WgEUwZQPXLyC/KpOJrXAbcC0+p5CY/xkh06HLEtfkD7JJ6kwOPO9+ka6kQucPLuy9rT3i+HNwRx/a0pv7utIEk2Cu5LiHCHkwkmnKBtGOOjaVBcgbLQyku2+tq6zgDTGyQa5z+fhVIKOvwuQvUMjXEYA/hGx6qiwIHgjxAhMFxN9cJsgG8XJVgM8PMjkDFec3YdxSMJEF0IHPiUeH0RfwfVnqykkK4Dz6AiEPSS607RWaFlDj0vtrcgJlloJskjA53cvVOPRIfR3KKgfQ9C2QWPROexP4wrNCjmMslJkJsRlt5BlphEVS6dy0fA0uBsqaHWIw2O19cV0OHf4AE2M26qWlvQ2TF6LWyXd2J410EiKUXeshwEZDyJsmZzbr7akY8SJc/2NlWwkglFng2Lfk+8wM4M4YuW7T4d/nsz7oW5Wj/wdXGukMTSgLegAAAABJRU5ErkJggg=="}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/512.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.185Z","timestamp":1785129950185,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/512.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2552\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Tue, 19 Oct 2021 05:35:14 GMT\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 03:24:43 GMT\r\ncache-control: max-age=86400\r\netag: \"51cec93b9021a4e88470ef0ff6a4ff76\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 7268\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: hOlrzVK-_qpP_kW1zNmPzQmOWl0NaNwvqCwppE8waHoIbdwSglD7OA==\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":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":2552,"size_decoded":3077,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit colormap, non-interlaced","md5":"51cec93b9021a4e88470ef0ff6a4ff76","sha1":"4dce5c11e1c9988f8c2985dfdd9eaf25057b9c64","sha256":"ee839df8763a293723c6b3727d4891d06fe4f151216b5e7b7b900bf8f03cecae","sha512":"7b04b9e4013baea8aaeeced565a4665138cdbd24609d34b618172d3ddac01cca48506257de05ec0e8c6c1b1d9569f53e17dbcaed45fd6ec4a60db57dc05c7b10","ssdeep":"","tlshash":"0c511a6873a9aae7f44fb03096f265114e20aeb007e24d82b63565b5ca1481282367bb","first_seen":"2023-05-25T22:55:54Z","last_seen":"2026-08-15T04:03:51.151473Z","times_seen":1651,"resource_available":false,"data":"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"}},"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":"s2.coinmarketcap.com/static/img/coins/64x64/36148.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.205Z","timestamp":1785129950205,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/36148.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 2840\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Sun, 13 Apr 2025 05:35:57 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 00:58:57 GMT\r\ncache-control: public, max-age=86400\r\netag: \"fefd4d888e9f75d5894072eb3069d0ad\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 16014\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: I6WCc1FP5gaQj5oYbK6-1Y0AX_282vfWc8vQTlUiTNcajJ-T1WQ50Q==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":2840,"size_decoded":3412,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"fefd4d888e9f75d5894072eb3069d0ad","sha1":"e0eaa6772448722d704040a054127ac62394d664","sha256":"1401c583e2a19da1b2409ffc027aa355e1620583bbd63aec3640a973dae68179","sha512":"8762bc530d7841f2a640211d7be58bdc9885c557b9206a9ee6157a006d3ac96015abf4587a5ebf9b1cdb5af2afba95d7613c11bd35e60fabb51925410ac2bcd2","ssdeep":"","tlshash":"40515e8f8f805b1efcf94483752e92b385b254654410948dc32b135cf8489f95315bcb","first_seen":"2025-05-17T13:51:35.319255Z","last_seen":"2026-08-15T04:03:51.0086Z","times_seen":1547,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:49.642Z","timestamp":1785129949642,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"GET /s/_/ytembeds/_/js/k=ytembeds.base.en_US._88TwyyHKHs.2021.O/am=AAAAgA/d=1/br=1/rs=AGKMywEu2TQUzdSF0AcsFBMUrFqyurKluw/m=root,base HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/H7OiZO_9ahE\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\ncontent-security-policy: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/youtube-main-app-web-scs-key\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube-main-app-web-scs-key\"\r\nreport-to: {\"group\":\"youtube-main-app-web-scs-key\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube-main-app-web-scs-key\"}]}\r\ntiming-allow-origin: *youtube.com\r\ncontent-length: 150031\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 12:56:42 GMT\r\nexpires: Sat, 24 Jul 2027 12:56:42 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Fri, 24 Jul 2026 07:10:55 GMT\r\ncontent-type: text/javascript; charset=UTF-8\r\nvary: Accept-Encoding\r\nage: 232147\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":442344,"size_decoded":150945,"mime_type":"text/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (534)","md5":"779ffe8039ad87e2a1aa1c111061fae4","sha1":"7765f6360937f90e51dc4974d13c20887adca712","sha256":"9e5e6d330bae7d5d640cf35fbbd6dbac19e4eec6c5bdea7b99a664523269f90f","sha512":"17cd5c8a938106fbe74d4ea623e67c3669683343c08f866700fd6284152c7397141c9ca02451bf6a32808003c4b4bf3fcce72cbbe6c53a851a1da6d254ea3619","ssdeep":"6144:OZaBJxrsw56sgMoiImct8de1F6Suapko3iM80AvhapoXgvWbq/+:FFpgMoircDkMiM80CapoXgvWbq/+","tlshash":"30944cd97762707392a2f5a5902f0103b17a68a6f40c8c7cf798ddd16eb494942bbf38","first_seen":"2026-07-24T13:29:06.322297Z","last_seen":"2026-07-27T16:56:48.620174Z","times_seen":1326,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3RoaXMuZGVmYXVsdF9iYXNlPXRoaXMuZGVmYXVsdF9iYXNlfHx7fTsoZnVuY3Rpb24oXyl7dmFyIHdpbmRvdz10aGlzOwp0cnl7Cl8uX0ZfdG9nZ2xlc19pbml0aWFsaXplPWZ1bmN0aW9uKGEpeyh0eXBlb2YgZ2xvYmFsVGhpcyE9PSJ1bmRlZmluZWQiP2dsb2JhbFRoaXM6dHlwZW9mIHNlbGYhPT0idW5kZWZpbmVkIj9zZWxmOnRoaXMpLl9GX3RvZ2dsZXNfZGVmYXVsdF9iYXNlPWF8fFtdfTsoMCxfLl9GX3RvZ2dsZXNfaW5pdGlhbGl6ZSkoWzB4MCwgMHgyLCBdKTsKLyoKCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQwogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAKKi8KLyoKCiBDb3B5cmlnaHQgMjAwNSwgMjAwNyBCb2IgSXBwb2xpdG8uIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiBDb3B5cmlnaHQgVGhlIENsb3N1cmUgTGlicmFyeSBBdXRob3JzLgogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVAoqLwovKgoKIChUaGUgTUlUIExpY2Vuc2UpCgogQ29weXJpZ2h0IChDKSAyMDE0IGJ5IFZpdGFseSBQdXpyaW4KCiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCiBUSEUgU09GVFdBUkUuCgogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIFBvcnRlZCBmcm9tIHpsaWIsIHdoaWNoIGlzIHVuZGVyIHRoZSBmb2xsb3dpbmcgbGljZW5zZQogaHR0cHM6Ly9naXRodWIuY29tL21hZGxlci96bGliL2Jsb2IvbWFzdGVyL3psaWIuaAoKIHpsaWIuaCAtLSBpbnRlcmZhY2Ugb2YgdGhlICd6bGliJyBnZW5lcmFsIHB1cnBvc2UgY29tcHJlc3Npb24gbGlicmFyeQogICB2ZXJzaW9uIDEuMi44LCBBcHJpbCAyOHRoLCAyMDEzCiAgIENvcHlyaWdodCAoQykgMTk5NS0yMDEzIEplYW4tbG91cCBHYWlsbHkgYW5kIE1hcmsgQWRsZXIKICAgVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAnYXMtaXMnLCB3aXRob3V0IGFueSBleHByZXNzIG9yIGltcGxpZWQKICAgd2FycmFudHkuICBJbiBubyBldmVudCB3aWxsIHRoZSBhdXRob3JzIGJlIGhlbGQgbGlhYmxlIGZvciBhbnkgZGFtYWdlcwogICBhcmlzaW5nIGZyb20gdGhlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLgogICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gYW55b25lIHRvIHVzZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZSwKICAgaW5jbHVkaW5nIGNvbW1lcmNpYWwgYXBwbGljYXRpb25zLCBhbmQgdG8gYWx0ZXIgaXQgYW5kIHJlZGlzdHJpYnV0ZSBpdAogICBmcmVlbHksIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnM6CiAgIDEuIFRoZSBvcmlnaW4gb2YgdGhpcyBzb2Z0d2FyZSBtdXN0IG5vdCBiZSBtaXNyZXByZXNlbnRlZDsgeW91IG11c3Qgbm90CiAgICAgIGNsYWltIHRoYXQgeW91IHdyb3RlIHRoZSBvcmlnaW5hbCBzb2Z0d2FyZS4gSWYgeW91IHVzZSB0aGlzIHNvZnR3YXJlCiAgICAgIGluIGEgcHJvZHVjdCwgYW4gYWNrbm93bGVkZ21lbnQgaW4gdGhlIHByb2R1Y3QgZG9jdW1lbnRhdGlvbiB3b3VsZCBiZQogICAgICBhcHByZWNpYXRlZCBidXQgaXMgbm90IHJlcXVpcmVkLgogICAyLiBBbHRlcmVkIHNvdXJjZSB2ZXJzaW9ucyBtdXN0IGJlIHBsYWlubHkgbWFya2VkIGFzIHN1Y2gsIGFuZCBtdXN0IG5vdCBiZQogICAgICBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdhcmUuCiAgIDMuIFRoaXMgbm90aWNlIG1heSBub3QgYmUgcmVtb3ZlZCBvciBhbHRlcmVkIGZyb20gYW55IHNvdXJjZSBkaXN0cmlidXRpb24uCiAgIEplYW4tbG91cCBHYWlsbHkgICAgICAgIE1hcmsgQWRsZXIKICAgamxvdXBAZ3ppcC5vcmcgICAgICAgICAgbWFkbGVyQGFsdW1uaS5jYWx0ZWNoLmVkdQogICBUaGUgZGF0YSBmb3JtYXQgdXNlZCBieSB0aGUgemxpYiBsaWJyYXJ5IGlzIGRlc2NyaWJlZCBieSBSRkNzIChSZXF1ZXN0IGZvcgogICBDb21tZW50cykgMTk1MCB0byAxOTUyIGluIHRoZSBmaWxlcyBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxOTUwCiAgICh6bGliIGZvcm1hdCksIHJmYzE5NTEgKGRlZmxhdGUgZm9ybWF0KSBhbmQgcmZjMTk1MiAoZ3ppcCBmb3JtYXQpLgoqLwp2YXIgZWEsZmEsZGEsbmEscWEsdWEsdmEsQmEsSWEsSmEsS2EsUGEsUmEsVmEsJGEsaGIsbWIsd2IsemIsQWIsRWIsQ2IsRmIsR2IsTmIsVGIsZmMsaGMsaWMsamMsa2MsbWMsbmMsb2MsdGMscWMsR2MsSWMsTGMsTmMsVWMsUWMsV2MsY2QsZmQsaGQsamQsa2QsbWQsb2Qsc2QsQWQsQmQsRWQsdWQsR2QsSGQsSmQsSWQsS2QsTGQsTWQsT2QsU2QsWWQsYmUsY2UsZWUsZmUsZ2UsaGUsaWUsamUsa2UscWUsbGUscmUsb2UscGUsdmUsdGUsc2UsdWUsd2UseGUseWUsemUsQ2UsRGUsRWUsRmUsSGUsS2UsTWUsTmUsT2UsUGUsUWUsVmUsWWUsUmUsWmUsYWYsV2UsVGUsaGYsbGYsbWYsbmYsb2YscmYsdGYseGYsemYsQ2YsS2YsTGYsUWYsRmYsU2YsT2YsTWYsTmYsVGYsUmYsV2YsVmYsWGYsWWYsWmYsYmcsZGcsZWcsZmcsY2csa2csbGcsaGcsZ2csaWcsamcscmcsc2csdGcsdmcseGcsemcsQWcsdWcsRWcsd2csRmcsRGcsSGcsSWcsSmcsT2csUmcsTmcsVGcsU2csVWcsWWcsWGcsYmgsJGcsClpnLGFoLFBnLGNoLGZoLGloLGpoLGtoLGxoLGdoLGhoLG5oLHVoLHZoLHdoLHhoLHloLEFoLEJoLENoLERoLEVoLEZoLEloLEpoLEtoLExoLE1oLE5oLE9oLFBoLFFoLFJoLFNoLFRoLFVoLFZoLGNpLGRpLGVpLGZpLGdpLGhpLGppLGtpLGxpLHBpLHFpLHJpLHNpLHZpLHdpLHhpLHlpLHppLEFpLEJpLERpLEVpLE1pLFRpLFlpLGFqLGRqLGNqLFhpLG9qLHhqLHdqLEFqLEJqLENqLEVqLEpqLEZqLEhqLElqLHZqLFFqLFpqLGJrLGNrLGFrLGVrLGhrLGlrLGZrLGtrLG1rLGxrLG9rLHBrLHFrLHNrLHJrLHZrLHlrLHhrLHprLEFrLEVrLEprLEtrLExrLFJrLFNrLFRrLFVrLFhrLFlrLFdrLFprLCRrLGJsLGNsLGRsLGhsLG5sLHFsLHNsLHRsLGdsLHVsLHZsLHBsLHJsLHlsLHpsLEJsLEVsLEhsLExsLE5sLE9sLFFsLFJsLFNsLFRsLFVsLFZsLFdsLFhsLFpsLGJtLGNtLGRtLGVtLGZtLGdtLGhtLGttLGxtLG1tLG9tLHRtLEFtLEJtLERtLENtLEdtLEhtLEVtLEZtLEltLEptLExtLE1tLApPbSxQbSxRbSxSbSxTbSxUbSxVbSxObSxXbSxYbSxZbSxabSxmbixnbixqbixsbixtbixvbixxbixybix2bix4bixBbix3bix6bixFbixLbixKbixNbixRbixSbixTbixUbixWbixabixXbixYbixZbiwkbixjbyxhbyxxbyx2byx3byxEbyxIbyxGbyxHbyxLbyxKbyxJbyxMbyxPbyxRbywkbyxZbyxXbyxTbyxpcCxlcCxmcCx0cCxycCxxcCxSbyx1cCxkcCxocCxzcCxhcCxUbyxWbyxabyxwcCxGcCxKcCxScCxTcCxVcCxZcCxUcCxhcSxjcSxkcSxlcSxmcSxocSxqcSxxcSxrYSxqYSxpYSxjYTtlYT1mdW5jdGlvbihhLGIpe2lmKGIpZm9yKHZhciBjPTA7YzxjYS5sZW5ndGg7YysrKWRhKGNhW2NdKyJBcnJheS5wcm90b3R5cGUuIithLGIpfTtmYT1mdW5jdGlvbihhLGIpe2ImJmRhKGEsYil9OwpkYT1mdW5jdGlvbihhLGIpe3ZhciBjPWlhO2E9YS5zcGxpdCgiLiIpO2Zvcih2YXIgZD0wO2Q8YS5sZW5ndGgtMTtkKyspe3ZhciBlPWFbZF07aWYoIShlIGluIGMpKXJldHVybjtjPWNbZV19YT1hW2EubGVuZ3RoLTFdO2Q9Y1thXTtiPWIoZCk7YiE9ZCYmYiE9bnVsbCYmamEoYyxhLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfTtuYT1mdW5jdGlvbihhLGIpe2EucHJvdG90eXBlPWthKGIucHJvdG90eXBlKTthLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hO2xhKGEsYik7YS56Yj1iLnByb3RvdHlwZX07cWE9ZnVuY3Rpb24oYSl7YT1NYXRoLnRydW5jKGEpfHwwO2E8MCYmKGErPXRoaXMubGVuZ3RoKTtpZighKGE8MHx8YT49dGhpcy5sZW5ndGgpKXJldHVybiB0aGlzW2FdfTsKXy5yYT1mdW5jdGlvbihhLGIsYyl7YT1hLnNwbGl0KCIuIik7Yz1jfHxfLnU7Zm9yKHZhciBkO2EubGVuZ3RoJiYoZD1hLnNoaWZ0KCkpOylhLmxlbmd0aHx8Yj09PXZvaWQgMD9jW2RdJiZjW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXT9jPWNbZF06Yz1jW2RdPXt9OmNbZF09Yn07dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnNhKCJXSVpfZ2xvYmFsX2RhdGEub3hOM25iIik7YT1jJiZjW2FdO3JldHVybiBhIT1udWxsP2E6Yn07dmE9ZnVuY3Rpb24oKXt9O18uc2E9ZnVuY3Rpb24oYSxiKXthPWEuc3BsaXQoIi4iKTtiPWJ8fF8udTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylpZihiPWJbYVtjXV0sYj09bnVsbClyZXR1cm4gbnVsbDtyZXR1cm4gYn07Xy53YT1mdW5jdGlvbihhKXthLlNsPXZvaWQgMDthLmpjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuU2w/YS5TbDphLlNsPW5ldyBhfX07Cl8ueGE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGIhPSJvYmplY3QiP2I6YT9BcnJheS5pc0FycmF5KGEpPyJhcnJheSI6YjoibnVsbCJ9O18ueWE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54YShhKTtyZXR1cm4gYj09ImFycmF5Inx8Yj09Im9iamVjdCImJnR5cGVvZiBhLmxlbmd0aD09Im51bWJlciJ9O18uQWE9ZnVuY3Rpb24oYSl7dmFyIGI9dHlwZW9mIGE7cmV0dXJuIGI9PSJvYmplY3QiJiZhIT1udWxsfHxiPT0iZnVuY3Rpb24ifTtCYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuY2FsbC5hcHBseShhLmJpbmQsYXJndW1lbnRzKX07Xy5DYT1mdW5jdGlvbihhLGIsYyl7Xy5DYT1CYTtyZXR1cm4gXy5DYS5hcHBseShudWxsLGFyZ3VtZW50cyl9OwpfLkRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBmdW5jdGlvbigpe3ZhciBkPWMuc2xpY2UoKTtkLnB1c2guYXBwbHkoZCxhcmd1bWVudHMpO3JldHVybiBhLmFwcGx5KHRoaXMsZCl9fTtfLkVhPWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCl9O18uRmE9ZnVuY3Rpb24oYSxiKXtfLnJhKGEsYil9O18uR2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGF9O18uSGE9ZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKCl7fWMucHJvdG90eXBlPWIucHJvdG90eXBlO2EuemI9Yi5wcm90b3R5cGU7YS5wcm90b3R5cGU9bmV3IGM7YS5wcm90b3R5cGUuY29uc3RydWN0b3I9YTthLmJhc2U9ZnVuY3Rpb24oZCxlLGYpe2Zvcih2YXIgaD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTIpLGs9MjtrPGFyZ3VtZW50cy5sZW5ndGg7aysrKWhbay0yXT1hcmd1bWVudHNba107cmV0dXJuIGIucHJvdG90eXBlW2VdLmFwcGx5KGQsaCl9fTsKSWE9ZnVuY3Rpb24oYSwuLi5iKXtiPWIuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKTtpZighYilyZXR1cm4gYTt2YXIgYz1hLm1hdGNoKC9bPyZdYWR1cmw9Lyk7cmV0dXJuIGM/YS5zbGljZSgwLGMuaW5kZXgrMSkrYisiJiIrYS5zbGljZShjLmluZGV4KzEpOmErKGEuaW5kZXhPZigiPyIpPDA/Ij8iOiImIikrYn07SmE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj8iJiIrYSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpOiIifTsKS2E9ZnVuY3Rpb24oYSl7YT1hLkI7aWYoIWEpcmV0dXJuIiI7dmFyIGI9SmEoInVhcCIsYS5wbGF0Zm9ybSkrSmEoInVhcHYiLGEucGxhdGZvcm1WZXJzaW9uKStKYSgidWFmdiIsYS51YUZ1bGxWZXJzaW9uKStKYSgidWFhIixhLmFyY2hpdGVjdHVyZSkrSmEoInVhbSIsYS5tb2RlbCkrSmEoInVhYiIsYS5iaXRuZXNzKTthLmZ1bGxWZXJzaW9uTGlzdCYmKGIrPSImdWFmdmw9IitlbmNvZGVVUklDb21wb25lbnQoYS5mdWxsVmVyc2lvbkxpc3QubWFwKGM9PmVuY29kZVVSSUNvbXBvbmVudChjLmJyYW5kKSsiOyIrZW5jb2RlVVJJQ29tcG9uZW50KGMudmVyc2lvbikpLmpvaW4oInwiKSkpO2Eud293NjQhPW51bGwmJihiKz0iJnVhdz0iK051bWJlcihhLndvdzY0KSk7cmV0dXJuIGIuc2xpY2UoMSl9OwpfLkxhPWZ1bmN0aW9uKGEsYil7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxfLkxhKTtlbHNle2xldCBjPUVycm9yKCkuc3RhY2s7YyYmKHRoaXMuc3RhY2s9Yyl9YSYmKHRoaXMubWVzc2FnZT1TdHJpbmcoYSkpO2IhPT12b2lkIDAmJih0aGlzLmNhdXNlPWIpfTtfLk1hPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgtYi5sZW5ndGg7cmV0dXJuIGM+PTAmJmEuaW5kZXhPZihiLGMpPT1jfTtQYT1mdW5jdGlvbigpe3ZhciBhPW51bGw7aWYoIU5hKXJldHVybiBhO3RyeXtsZXQgYj1jPT5jO2E9TmEuY3JlYXRlUG9saWN5KCJnb29nI2h0bWwiLHtjcmVhdGVIVE1MOmIsY3JlYXRlU2NyaXB0OmIsY3JlYXRlU2NyaXB0VVJMOmJ9KX1jYXRjaChiKXt9cmV0dXJuIGF9O1JhPWZ1bmN0aW9uKCl7UWE9PT12b2lkIDAmJihRYT1QYSgpKTtyZXR1cm4gUWF9OwpfLlRhPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlU2NyaXB0VVJMKGEpOmE7cmV0dXJuIG5ldyBfLlNhKGEpfTtfLlVhPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLlNhKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O1ZhPWZ1bmN0aW9uKGEpe3JldHVybiBhLnRvU3RyaW5nKCkuaW5kZXhPZigiYCIpPT09LTF9O18uWGE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBfLldhfTtfLllhPWZ1bmN0aW9uKGEpe2lmKF8uWGEoYSkpcmV0dXJuIGEuajt0aHJvdyBFcnJvcigiaCIpO307JGE9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBaYShiPT5iLnN1YnN0cigwLGEubGVuZ3RoKzEpLnRvTG93ZXJDYXNlKCk9PT1hKyI6Iil9O18uYmI9ZnVuY3Rpb24oYSxiPV8uYWIpe2lmKF8uWGEoYSkpcmV0dXJuIGE7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDsrK2Mpe2xldCBkPWJbY107aWYoZCBpbnN0YW5jZW9mIFphJiZkLmZiKGEpKXJldHVybiBuZXcgXy5XYShhKX19OwpfLmRiPWZ1bmN0aW9uKGEpe2EgaW5zdGFuY2VvZiBfLldhP2E9Xy5ZYShhKTphPWNiLnRlc3QoYSk/YTp2b2lkIDA7cmV0dXJuIGF9O18uZWI9ZnVuY3Rpb24oYSxiPWB1bmV4cGVjdGVkIHZhbHVlICR7YX0hYCl7dGhyb3cgRXJyb3IoYik7fTtfLmdiPWZ1bmN0aW9uKGEpe3ZhciBiPVJhKCk7YT1iP2IuY3JlYXRlSFRNTChhKTphO3JldHVybiBuZXcgXy5mYihhKX07Xy5pYj1mdW5jdGlvbihhKXtyZXR1cm4gaGIoInNjcmlwdCIsYSl9O2hiPWZ1bmN0aW9uKGEsYj1kb2N1bWVudCl7YT1iLnF1ZXJ5U2VsZWN0b3I/LihgJHthfVtub25jZV1gKTtyZXR1cm4gYT09bnVsbD8iIjphLm5vbmNlfHxhLmdldEF0dHJpYnV0ZSgibm9uY2UiKXx8IiJ9O18ua2I9ZnVuY3Rpb24oYSl7dmFyIGI9UmEoKTthPWI/Yi5jcmVhdGVTY3JpcHQoYSk6YTtyZXR1cm4gbmV3IF8uamIoYSl9OwpfLmxiPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLmpiKXJldHVybiBhLmo7dGhyb3cgRXJyb3IoImgiKTt9O21iPWZ1bmN0aW9uKGEpe3ZhciBiPV8uaWIoYS5vd25lckRvY3VtZW50KTtiJiZhLnNldEF0dHJpYnV0ZSgibm9uY2UiLGIpfTtfLm5iPWZ1bmN0aW9uKGEsYil7YS50ZXh0Q29udGVudD1fLmxiKGIpO21iKGEpfTtfLm9iPWZ1bmN0aW9uKGEsYil7YS5zcmM9Xy5VYShiKTttYihhKX07Xy5xYj1mdW5jdGlvbihhLGIsYyl7aWYoYiBpbnN0YW5jZW9mIF8uU2EpYS5ocmVmPV8uVWEoYikudG9TdHJpbmcoKSxhLnJlbD1jO2Vsc2V7aWYocGIuaW5kZXhPZihjKT09PS0xKXRocm93IEVycm9yKCJqYCIrYyk7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9YixhLnJlbD1jKX19O18uc2I9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhLGIsdm9pZCAwKX07Cl8udGI9ZnVuY3Rpb24oYSxiKXtBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGEsYix2b2lkIDApfTtfLnViPWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYSxiLHZvaWQgMCl9O18udmI9ZnVuY3Rpb24oYSxiKXthOntsZXQgYz1hLmxlbmd0aCxkPXR5cGVvZiBhPT09InN0cmluZyI/YS5zcGxpdCgiIik6YTtmb3IobGV0IGU9MDtlPGM7ZSsrKWlmKGUgaW4gZCYmYi5jYWxsKHZvaWQgMCxkW2VdLGUsYSkpe2I9ZTticmVhayBhfWI9LTF9cmV0dXJuIGI8MD9udWxsOnR5cGVvZiBhPT09InN0cmluZyI/YS5jaGFyQXQoYik6YVtiXX07d2I9ZnVuY3Rpb24oYSxiKXtfLnNiKGEsYik+PTB8fGEucHVzaChiKX07Xy54Yj1mdW5jdGlvbihhLGIpe2I9Xy5zYihhLGIpO3ZhciBjOyhjPWI+PTApJiZBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoYSxiLDEpO3JldHVybiBjfTsKXy55Yj1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aDtpZihiPjApe2xldCBjPUFycmF5KGIpO2ZvcihsZXQgZD0wO2Q8YjtkKyspY1tkXT1hW2RdO3JldHVybiBjfXJldHVybltdfTt6Yj1mdW5jdGlvbihhLGIpe2ZvcihsZXQgYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe2xldCBkPWFyZ3VtZW50c1tjXTtpZihfLnlhKGQpKXtsZXQgZT1hLmxlbmd0aHx8MCxmPWQubGVuZ3RofHwwO2EubGVuZ3RoPWUrZjtmb3IobGV0IGg9MDtoPGY7aCsrKWFbZStoXT1kW2hdfWVsc2UgYS5wdXNoKGQpfX07QWI9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz0wLGQ9bmV3IFNldDtjPGEubGVuZ3RoOyl7bGV0IGU9YVtjKytdO2QuaGFzKGUpfHwoZC5hZGQoZSksYVtiKytdPWUpfWEubGVuZ3RoPWJ9OwpfLkJiPWZ1bmN0aW9uKGEsYil7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODJ8fChhLl9fY2xvc3VyZV9fZXJyb3JfX2NvbnRleHRfXzk4NDM4Mj17fSk7YS5fX2Nsb3N1cmVfX2Vycm9yX19jb250ZXh0X185ODQzODIuc2V2ZXJpdHk9Yn07CkViPWZ1bmN0aW9uKGEpe3ZhciBiPV8uc2EoIndpbmRvdy5sb2NhdGlvbi5ocmVmIik7YT09bnVsbCYmKGE9J1Vua25vd24gRXJyb3Igb2YgdHlwZSAibnVsbC91bmRlZmluZWQiJyk7aWYodHlwZW9mIGE9PT0ic3RyaW5nIilyZXR1cm57bWVzc2FnZTphLG5hbWU6IlVua25vd24gZXJyb3IiLGxpbmVOdW1iZXI6Ik5vdCBhdmFpbGFibGUiLGZpbGVOYW1lOmIsc3RhY2s6Ik5vdCBhdmFpbGFibGUifTt2YXIgYz0hMTt0cnl7dmFyIGQ9YS5saW5lTnVtYmVyfHxhLmxpbmV8fCJOb3QgYXZhaWxhYmxlIn1jYXRjaChmKXtkPSJOb3QgYXZhaWxhYmxlIixjPSEwfXRyeXt2YXIgZT1hLmZpbGVOYW1lfHxhLmZpbGVuYW1lfHxhLnNvdXJjZVVSTHx8Xy51LiRnb29nRGVidWdGbmFtZXx8Yn1jYXRjaChmKXtlPSJOb3QgYXZhaWxhYmxlIixjPSEwfWI9Q2IoYSk7aWYoISghYyYmYS5saW5lTnVtYmVyJiZhLmZpbGVOYW1lJiZhLnN0YWNrJiZhLm1lc3NhZ2UmJmEubmFtZSkpe2M9YS5tZXNzYWdlOwppZihjPT1udWxsKXtpZihhLmNvbnN0cnVjdG9yJiZhLmNvbnN0cnVjdG9yIGluc3RhbmNlb2YgRnVuY3Rpb24pe2lmKGEuY29uc3RydWN0b3IubmFtZSljPWEuY29uc3RydWN0b3IubmFtZTtlbHNlIGlmKGM9YS5jb25zdHJ1Y3RvcixEYltjXSljPURiW2NdO2Vsc2V7Yz1TdHJpbmcoYyk7aWYoIURiW2NdKXtsZXQgZj0vZnVuY3Rpb25ccysoW15cKF0rKS9tLmV4ZWMoYyk7RGJbY109Zj9mWzFdOiJbQW5vbnltb3VzXSJ9Yz1EYltjXX1jPSdVbmtub3duIEVycm9yIG9mIHR5cGUgIicrYysnIid9ZWxzZSBjPSJVbmtub3duIEVycm9yIG9mIHVua25vd24gdHlwZSI7dHlwZW9mIGEudG9TdHJpbmc9PT0iZnVuY3Rpb24iJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIT09YS50b1N0cmluZyYmKGMrPSI6ICIrYS50b1N0cmluZygpKX1yZXR1cm57bWVzc2FnZTpjLG5hbWU6YS5uYW1lfHwiVW5rbm93bkVycm9yIixsaW5lTnVtYmVyOmQsZmlsZU5hbWU6ZSxzdGFjazpifHwiTm90IGF2YWlsYWJsZSJ9fXJldHVybnttZXNzYWdlOmEubWVzc2FnZSwKbmFtZTphLm5hbWUsbGluZU51bWJlcjphLmxpbmVOdW1iZXIsZmlsZU5hbWU6YS5maWxlTmFtZSxzdGFjazpifX07CkNiPWZ1bmN0aW9uKGEsYil7Ynx8KGI9e30pO2JbRmIoYSldPSEwO3ZhciBjPWEuc3RhY2t8fCIiLGQ9YS5jYXVzZTtkJiYhYltGYihkKV0mJihjKz0iXG5DYXVzZWQgYnk6ICIsZC5zdGFjayYmZC5zdGFjay5pbmRleE9mKGQudG9TdHJpbmcoKSk9PTB8fChjKz10eXBlb2YgZD09PSJzdHJpbmciP2Q6ZC5tZXNzYWdlKyJcbiIpLGMrPUNiKGQsYikpO2E9YS5lcnJvcnM7aWYoQXJyYXkuaXNBcnJheShhKSl7ZD0xO2xldCBlO2ZvcihlPTA7ZTxhLmxlbmd0aCYmIShkPjQpO2UrKyliW0ZiKGFbZV0pXXx8KGMrPSJcbklubmVyIGVycm9yICIrZCsrICsiOiAiLGFbZV0uc3RhY2smJmFbZV0uc3RhY2suaW5kZXhPZihhW2VdLnRvU3RyaW5nKCkpPT0wfHwoYys9dHlwZW9mIGFbZV09PT0ic3RyaW5nIj9hW2VdOmFbZV0ubWVzc2FnZSsiXG4iKSxjKz1DYihhW2VdLGIpKTtlPGEubGVuZ3RoJiYoYys9IlxuLi4uICIrKGEubGVuZ3RoLWUpKyIgbW9yZSBpbm5lciBlcnJvcnMiKX1yZXR1cm4gY307CkZiPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO3R5cGVvZiBhLnRvU3RyaW5nPT09ImZ1bmN0aW9uIiYmKGI9IiIrYSk7cmV0dXJuIGIrYS5zdGFja307R2I9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uVGEoYSl9O18uSGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhLnJlcGxhY2UoL1wrL2csIiAiKSl9O18uSWI9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9IiI7YSYmKGsrPWErIjoiKTtjJiYoays9Ii8vIixiJiYoays9YisiQCIpLGsrPWMsZCYmKGsrPSI6IitkKSk7ZSYmKGsrPWUpO2YmJihrKz0iPyIrZik7aCYmKGsrPSIjIitoKTtyZXR1cm4ga307Xy5NYj1mdW5jdGlvbihhKXtyZXR1cm4gYS5tYXRjaChLYil9O05iPWZ1bmN0aW9uKGEpe3JldHVybiBhP2RlY29kZVVSSShhKTphfTsKXy5PYj1mdW5jdGlvbihhKXthPV8uTWIoYSlbMV18fG51bGw7IWEmJl8udS5zZWxmJiZfLnUuc2VsZi5sb2NhdGlvbiYmKGE9Xy51LnNlbGYubG9jYXRpb24ucHJvdG9jb2wuc2xpY2UoMCwtMSkpO3JldHVybiBhP2EudG9Mb3dlckNhc2UoKToiIn07Xy5QYj1mdW5jdGlvbihhKXtyZXR1cm4gTmIoXy5NYihhKVszXXx8bnVsbCl9O18uUWI9ZnVuY3Rpb24oYSl7cmV0dXJuIE5iKF8uTWIoYSlbNV18fG51bGwpfTtfLlJiPWZ1bmN0aW9uKGEsYil7aWYoYSl7YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspe2xldCBkPWFbY10uaW5kZXhPZigiPSIpLGUsZj1udWxsO2Q+PTA/KGU9YVtjXS5zdWJzdHJpbmcoMCxkKSxmPWFbY10uc3Vic3RyaW5nKGQrMSkpOmU9YVtjXTtiKGUsZj9fLkhiKGYpOiIiKX19fTsKXy5TYj1mdW5jdGlvbihhLGIpe2lmKCFiKXJldHVybiBhO3ZhciBjPWEuaW5kZXhPZigiIyIpO2M8MCYmKGM9YS5sZW5ndGgpO3ZhciBkPWEuaW5kZXhPZigiPyIpO2lmKGQ8MHx8ZD5jKXtkPWM7dmFyIGU9IiJ9ZWxzZSBlPWEuc3Vic3RyaW5nKGQrMSxjKTthPVthLnNsaWNlKDAsZCksZSxhLnNsaWNlKGMpXTtjPWFbMV07YVsxXT1iP2M/YysiJiIrYjpiOmM7cmV0dXJuIGFbMF0rKGFbMV0/Ij8iK2FbMV06IiIpK2FbMl19O1RiPWZ1bmN0aW9uKGEsYixjKXtpZihBcnJheS5pc0FycmF5KGIpKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKVRiKGEsU3RyaW5nKGJbZF0pLGMpO2Vsc2UgYiE9bnVsbCYmYy5wdXNoKGErKGI9PT0iIj8iIjoiPSIrZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhiKSkpKX07Xy5VYj1mdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IobGV0IGMgaW4gYSlUYihjLGFbY10sYik7cmV0dXJuIGIuam9pbigiJiIpfTsKXy5XYj1mdW5jdGlvbihhLGIpe2I9Xy5VYihiKTtyZXR1cm4gXy5TYihhLGIpfTtfLlhiPWZ1bmN0aW9uKGEsYixjLGQpe2Zvcih2YXIgZT1jLmxlbmd0aDsoYj1hLmluZGV4T2YoYyxiKSk+PTAmJmI8ZDspe3ZhciBmPWEuY2hhckNvZGVBdChiLTEpO2lmKGY9PTM4fHxmPT02MylpZihmPWEuY2hhckNvZGVBdChiK2UpLCFmfHxmPT02MXx8Zj09Mzh8fGY9PTM1KXJldHVybiBiO2IrPWUrMX1yZXR1cm4tMX07Xy5aYj1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc2VhcmNoKF8uWWIpLGQ9Xy5YYihhLDAsYixjKTtpZihkPDApcmV0dXJuIG51bGw7dmFyIGU9YS5pbmRleE9mKCImIixkKTtpZihlPDB8fGU+YyllPWM7ZCs9Yi5sZW5ndGgrMTtyZXR1cm4gXy5IYihhLnNsaWNlKGQsZSE9PS0xP2U6MCkpfTtfLiRiPWZ1bmN0aW9uKGEpe18udS5zZXRUaW1lb3V0KCgpPT57dGhyb3cgYTt9LDApfTsKXy5hYz1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBlPWEuY2hhckNvZGVBdChkKTtlPDEyOD9iW2MrK109ZTooZTwyMDQ4P2JbYysrXT1lPj42fDE5MjooKGUmNjQ1MTIpPT01NTI5NiYmZCsxPGEubGVuZ3RoJiYoYS5jaGFyQ29kZUF0KGQrMSkmNjQ1MTIpPT01NjMyMD8oZT02NTUzNisoKGUmMTAyMyk8PDEwKSsoYS5jaGFyQ29kZUF0KCsrZCkmMTAyMyksYltjKytdPWU+PjE4fDI0MCxiW2MrK109ZT4+MTImNjN8MTI4KTpiW2MrK109ZT4+MTJ8MjI0LGJbYysrXT1lPj42JjYzfDEyOCksYltjKytdPWUmNjN8MTI4KX1yZXR1cm4gYn07Xy5iYz1mdW5jdGlvbigpe3ZhciBhPV8udS5uYXZpZ2F0b3I7cmV0dXJuIGEmJihhPWEudXNlckFnZW50KT9hOiIifTsKZmM9ZnVuY3Rpb24oYSl7aWYoIWRjfHwhZWMpcmV0dXJuITE7Zm9yKGxldCBiPTA7YjxlYy5icmFuZHMubGVuZ3RoO2IrKyl7bGV0IHticmFuZDpjfT1lYy5icmFuZHNbYl07aWYoYyYmYy5pbmRleE9mKGEpIT0tMSlyZXR1cm4hMH1yZXR1cm4hMX07aGM9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uYmMoKS5pbmRleE9mKGEpIT0tMX07aWM9ZnVuY3Rpb24oKXtyZXR1cm4gZGM/ISFlYyYmZWMuYnJhbmRzLmxlbmd0aD4wOiExfTtqYz1mdW5jdGlvbigpe3JldHVybiBpYygpPyExOmhjKCJPcGVyYSIpfTtrYz1mdW5jdGlvbigpe3JldHVybiBoYygiRmlyZWZveCIpfHxoYygiRnhpT1MiKX07bWM9ZnVuY3Rpb24oKXtyZXR1cm4gaWMoKT9mYygiQ2hyb21pdW0iKTooaGMoIkNocm9tZSIpfHxoYygiQ3JpT1MiKSkmJiEoaWMoKT8wOmhjKCJFZGdlIikpfHxoYygiU2lsayIpfTtuYz1mdW5jdGlvbigpe3JldHVybiBkYz8hIWVjJiYhIWVjLnBsYXRmb3JtOiExfTsKb2M9ZnVuY3Rpb24oKXtyZXR1cm4gaGMoImlQaG9uZSIpJiYhaGMoImlQb2QiKSYmIWhjKCJpUGFkIil9O18ucGM9ZnVuY3Rpb24oYSl7Xy5wY1siICJdKGEpO3JldHVybiBhfTtfLnNjPWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMCYmKGI9MCk7cWMoKTtiPXJjW2JdO2Zvcih2YXIgYz1BcnJheShNYXRoLmZsb29yKGEubGVuZ3RoLzMpKSxkPWJbNjRdfHwiIixlPTAsZj0wO2U8YS5sZW5ndGgtMjtlKz0zKXt2YXIgaD1hW2VdLGs9YVtlKzFdLGw9YVtlKzJdLG09YltoPj4yXTtoPWJbKGgmMyk8PDR8az4+NF07az1iWyhrJjE1KTw8MnxsPj42XTtsPWJbbCY2M107Y1tmKytdPW0raCtrK2x9bT0wO2w9ZDtzd2l0Y2goYS5sZW5ndGgtZSl7Y2FzZSAyOm09YVtlKzFdLGw9YlsobSYxNSk8PDJdfHxkO2Nhc2UgMTphPWFbZV0sY1tmXT1iW2E+PjJdK2JbKGEmMyk8PDR8bT4+NF0rbCtkfXJldHVybiBjLmpvaW4oIiIpfTsKXy51Yz1mdW5jdGlvbihhKXt2YXIgYj1hLmxlbmd0aCxjPWIqMy80O2MlMz9jPU1hdGguZmxvb3IoYyk6Ij0uIi5pbmRleE9mKGFbYi0xXSkhPS0xJiYoYz0iPS4iLmluZGV4T2YoYVtiLTJdKSE9LTE/Yy0yOmMtMSk7dmFyIGQ9bmV3IFVpbnQ4QXJyYXkoYyksZT0wO3RjKGEsZnVuY3Rpb24oZil7ZFtlKytdPWZ9KTtyZXR1cm4gZSE9PWM/ZC5zdWJhcnJheSgwLGUpOmR9O3RjPWZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYyhlKXtmb3IoO2Q8YS5sZW5ndGg7KXtsZXQgZj1hLmNoYXJBdChkKyspLGg9dmNbZl07aWYoaCE9bnVsbClyZXR1cm4gaDtpZighL15bXHNceGEwXSokLy50ZXN0KGYpKXRocm93IEVycm9yKCJtYCIrZik7fXJldHVybiBlfXFjKCk7Zm9yKHZhciBkPTA7Oyl7bGV0IGU9YygtMSksZj1jKDApLGg9Yyg2NCksaz1jKDY0KTtpZihrPT09NjQmJmU9PT0tMSlicmVhaztiKGU8PDJ8Zj4+NCk7aCE9NjQmJihiKGY8PDQmMjQwfGg+PjIpLGshPTY0JiZiKGg8PDYmMTkyfGspKX19OwpxYz1mdW5jdGlvbigpe2lmKCF2Yyl7dmM9e307dmFyIGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ii5zcGxpdCgiIiksYj1bIisvPSIsIisvIiwiLV89IiwiLV8uIiwiLV8iXTtmb3IobGV0IGM9MDtjPDU7YysrKXtsZXQgZD1hLmNvbmNhdChiW2NdLnNwbGl0KCIiKSk7cmNbY109ZDtmb3IobGV0IGU9MDtlPGQubGVuZ3RoO2UrKyl7bGV0IGY9ZFtlXTt2Y1tmXT09PXZvaWQgMCYmKHZjW2ZdPWUpfX19fTtfLnhjPWZ1bmN0aW9uKGEsYil7aWYoYSE9bnVsbCl7dmFyIGM9d2M/Pyh3Yz17fSk7dmFyIGQ9Y1thXXx8MDtkPj1ifHwoY1thXT1kKzEsYT1FcnJvcigpLF8uQmIoYSwiaW5jaWRlbnQiKSxfLiRiKGEpKX19O18ueWM9ZnVuY3Rpb24oYSxiPSExKXtyZXR1cm4gYiYmU3ltYm9sLmZvciYmYT9TeW1ib2wuZm9yKGEpOmEhPW51bGw/U3ltYm9sKGEpOlN5bWJvbCgpfTsKXy5CYz1mdW5jdGlvbihhLGIpe3JldHVybiBiPT09dm9pZCAwP2EuaiE9PV8uemMmJiEhKDImKGEuRGFbXy5BY118MCkpOiEhKDImYikmJmEuaiE9PV8uemN9O18uQ2M9ZnVuY3Rpb24oYSl7YS51Sj0hMDtyZXR1cm4gYX07Xy5GYz1mdW5jdGlvbihhKXtpZihEYyhhKSl7aWYoIS9eXHMqKD86LT9bMS05XVxkKnwwKT9ccyokLy50ZXN0KGEpKXRocm93IEVycm9yKFN0cmluZyhhKSk7fWVsc2UgaWYoRWMoYSkmJiFOdW1iZXIuaXNTYWZlSW50ZWdlcihhKSl0aHJvdyBFcnJvcihTdHJpbmcoYSkpO3JldHVybiBCaWdJbnQoYSl9O0djPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtJYz1mdW5jdGlvbihhLGIpe2I8MTAwfHxfLnhjKEhjLDEpfTsKTGM9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZCE9PXZvaWQgMDtkPSEhZDt2YXIgZj1fLkdhKF8uSmMpLGg7IWUmJmYmJihoPWFbZl0pJiZoLmN3KEljKTtmPVtdO3ZhciBrPWEubGVuZ3RoO2g9NDI5NDk2NzI5NTt2YXIgbD0hMSxtPSEhKGImNjQpLG49bT9iJjEyOD8wOi0xOnZvaWQgMDtpZighKGImMSkpe3ZhciBwPWsmJmFbay0xXTtwIT1udWxsJiZ0eXBlb2YgcD09PSJvYmplY3QiJiZwLmNvbnN0cnVjdG9yPT09T2JqZWN0PyhrLS0saD1rKTpwPXZvaWQgMDshbXx8YiYxMjh8fGV8fChsPSEwLGg9KEtjPz9HYykoaC1uLG4sYSxwLHZvaWQgMCkrbil9Yj12b2lkIDA7Zm9yKGU9MDtlPGs7ZSsrKXtsZXQgcj1hW2VdO2lmKHIhPW51bGwmJihyPWMocixkKSkhPW51bGwpaWYobSYmZT49aCl7bGV0IHQ9ZS1uOyhiPz8oYj17fSkpW3RdPXJ9ZWxzZSBmW2VdPXJ9aWYocClmb3IobGV0IHIgaW4gcCl7YT1wW3JdO2lmKGE9PW51bGx8fChhPWMoYSxkKSk9PW51bGwpY29udGludWU7az0rcjsKbGV0IHQ7bSYmIU51bWJlci5pc05hTihrKSYmKHQ9aytuKTxoP2ZbdF09YTooYj8/KGI9e30pKVtyXT1hfWImJihsP2YucHVzaChiKTpmW2hdPWIpO3JldHVybiBmfTtOYz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgIm51bWJlciI6cmV0dXJuIE51bWJlci5pc0Zpbml0ZShhKT9hOiIiK2E7Y2FzZSAiYmlnaW50IjpyZXR1cm4oMCxfLk1jKShhKT9OdW1iZXIoYSk6IiIrYTtjYXNlICJib29sZWFuIjpyZXR1cm4gYT8xOjA7Y2FzZSAib2JqZWN0IjppZihBcnJheS5pc0FycmF5KGEpKXtsZXQgYj1hW18uQWNdfDA7cmV0dXJuIGEubGVuZ3RoPT09MCYmYiYxP3ZvaWQgMDpMYyhhLGIsTmMpfWlmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBRYyhhKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgXy5SYyYmYSBpbnN0YW5jZW9mIF8uUmMpcmV0dXJuIGEubygpO3JldHVybn1yZXR1cm4gYX07ClVjPWZ1bmN0aW9uKGEsYil7aWYoYil7S2M9Yj09bnVsbHx8Yj09PUdjfHxiW1NjXSE9PVRjP0djOmI7dHJ5e3JldHVybiBRYyhhKX1maW5hbGx5e0tjPXZvaWQgMH19cmV0dXJuIFFjKGEpfTtRYz1mdW5jdGlvbihhKXthPWEuRGE7cmV0dXJuIExjKGEsYVtfLkFjXXwwLE5jKX07Cl8uWGM9ZnVuY3Rpb24oYSxiLGMsZD0wKXtpZihhPT1udWxsKXt2YXIgZT0zMjtjPyhhPVtjXSxlfD0xMjgpOmE9W107YiYmKGU9ZSYtMTY3NjA4MzN8KGImMTAyMyk8PDE0KX1lbHNle2lmKCFBcnJheS5pc0FycmF5KGEpKXRocm93IEVycm9yKCJzIik7ZT1hW18uQWNdfDA7aWYoVmMmJjEmZSl0aHJvdyBFcnJvcigidCIpOzIwNDgmZSYmISgyJmUpJiZXYygpO2lmKGUmMjU2KXRocm93IEVycm9yKCJ1Iik7aWYoZSY2NClyZXR1cm4oZXxkKSE9PWUmJihhW18uQWNdPWV8ZCksYTtpZihjJiYoZXw9MTI4LGMhPT1hWzBdKSl0aHJvdyBFcnJvcigidiIpO2E6e2M9YTtlfD02NDt2YXIgZj1jLmxlbmd0aDtpZihmKXt2YXIgaD1mLTE7bGV0IGw9Y1toXTtpZihsIT1udWxsJiZ0eXBlb2YgbD09PSJvYmplY3QiJiZsLmNvbnN0cnVjdG9yPT09T2JqZWN0KXtiPWUmMTI4PzA6LTE7aC09YjtpZihoPj0xMDI0KXRocm93IEVycm9yKCJ4Iik7Zm9yKHZhciBrIGluIGwpaWYoZj0rayxmPGgpY1tmKwpiXT1sW2tdLGRlbGV0ZSBsW2tdO2Vsc2UgYnJlYWs7ZT1lJi0xNjc2MDgzM3woaCYxMDIzKTw8MTQ7YnJlYWsgYX19aWYoYil7az1NYXRoLm1heChiLGYtKGUmMTI4PzA6LTEpKTtpZihrPjEwMjQpdGhyb3cgRXJyb3IoInkiKTtlPWUmLTE2NzYwODMzfChrJjEwMjMpPDwxNH19fWFbXy5BY109ZXw2NHxkO3JldHVybiBhfTtXYz1mdW5jdGlvbigpe2lmKFZjKXRocm93IEVycm9yKCJ3Iik7Xy54YyhZYyw1KX07CmNkPWZ1bmN0aW9uKGEsYil7aWYodHlwZW9mIGEhPT0ib2JqZWN0IilyZXR1cm4gYTtpZihBcnJheS5pc0FycmF5KGEpKXt2YXIgYz1hW18uQWNdfDA7YS5sZW5ndGg9PT0wJiZjJjE/YT12b2lkIDA6YyYyfHwoIWJ8fDQwOTYmY3x8MTYmYz9hPV8uWmMoYSxjLCExLGImJiEoYyYxNikpOihhW18uQWNdfD0zNCxjJjQmJk9iamVjdC5mcmVlemUoYSkpKTtyZXR1cm4gYX1pZihhIT1udWxsJiZhW18uT2NdPT09Xy5QYylyZXR1cm4gYj1hLkRhLGM9YltfLkFjXXwwLF8uQmMoYSxjKT9hOl8uJGMoYSxiLGMpP18uYmQoYSxiKTpfLlpjKGIsYyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIF8uUmMmJmEgaW5zdGFuY2VvZiBfLlJjKXJldHVybiBhfTtfLmJkPWZ1bmN0aW9uKGEsYixjKXthPW5ldyBhLmNvbnN0cnVjdG9yKGIpO2MmJihhLmo9Xy56Yyk7YS5vPV8uemM7cmV0dXJuIGF9OwpfLlpjPWZ1bmN0aW9uKGEsYixjLGQpe2Q/PyhkPSEhKDM0JmIpKTthPUxjKGEsYixjZCxkKTtkPTMyO2MmJihkfD0yKTtiPWImMTY3NjkyMTd8ZDthW18uQWNdPWI7cmV0dXJuIGF9O18uJGM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjJjI/ITA6YyYzMiYmIShjJjQwOTYpPyhiW18uQWNdPWN8MixhLmo9Xy56YywhMCk6ITF9O18uZWQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPV8uZGQoYS5EYSxiLGMsZSk7aWYoYiE9PW51bGx8fGQmJmEubyE9PV8uemMpcmV0dXJuIGJ9OwpfLmRkPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGI9PT0tMSlyZXR1cm4gbnVsbDt2YXIgZT1iKyhjPzA6LTEpLGY9YS5sZW5ndGgtMTtpZighKGY8MSsoYz8wOi0xKSkpe2lmKGU+PWYpe3ZhciBoPWFbZl07aWYoaCE9bnVsbCYmdHlwZW9mIGg9PT0ib2JqZWN0IiYmaC5jb25zdHJ1Y3Rvcj09PU9iamVjdCl7Yz1oW2JdO3ZhciBrPSEwfWVsc2UgaWYoZT09PWYpYz1oO2Vsc2UgcmV0dXJufWVsc2UgYz1hW2VdO2lmKGQmJmMhPW51bGwpe2Q9ZChjKTtpZihkPT1udWxsKXJldHVybiBkO2lmKCFPYmplY3QuaXMoZCxjKSlyZXR1cm4gaz9oW2JdPWQ6YVtlXT1kLGR9cmV0dXJuIGN9fTtmZD1mdW5jdGlvbigpe3ZhciBhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhyb3cgRXJyb3IoKTt9fTtPYmplY3Quc2V0UHJvdG90eXBlT2YoYSxhLnByb3RvdHlwZSk7cmV0dXJuIGF9O18uZ2Q9ZnVuY3Rpb24oKXt9OwpoZD1mdW5jdGlvbihhKXt2YXIgYj0hMSxjO3JldHVybiBmdW5jdGlvbigpe2J8fChjPWEoKSxiPSEwKTtyZXR1cm4gY319O2pkPWZ1bmN0aW9uKGEpe3ZhciBiPWlkO2lmKGIpZm9yKGxldCBjIGluIGIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGIsYykmJmEoYltjXSxjLGIpfTtrZD1mdW5jdGlvbigpe3ZhciBhPVtdO2pkKGI9PnthLnB1c2goYil9KTtyZXR1cm4gYX07bWQ9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSxiPXt9O18udGIobGQoKSxjPT57YS5zYW5kYm94JiZhLnNhbmRib3guc3VwcG9ydHMmJmEuc2FuZGJveC5zdXBwb3J0cyhjKSYmKGJbY109ITApfSk7cmV0dXJuIGJ9O18ubmQ9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoPWE7dGhpcy5oZWlnaHQ9Yn07b2Q9ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgaW4gYSliLmNhbGwodm9pZCAwLGFbY10sYyxhKX07Cl8ucGQ9ZnVuY3Rpb24oYSl7Zm9yKGxldCBiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9OwpfLnFkPWZ1bmN0aW9uKGEpe2lmKCFhfHx0eXBlb2YgYSE9PSJvYmplY3QiKXJldHVybiBhO2lmKHR5cGVvZiBhLmNsb25lPT09ImZ1bmN0aW9uIilyZXR1cm4gYS5jbG9uZSgpO2lmKHR5cGVvZiBNYXAhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIE1hcClyZXR1cm4gbmV3IE1hcChhKTtpZih0eXBlb2YgU2V0IT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBTZXQpcmV0dXJuIG5ldyBTZXQoYSk7aWYoYSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIG5ldyBEYXRlKGEuZ2V0VGltZSgpKTt2YXIgYj1BcnJheS5pc0FycmF5KGEpP1tdOnR5cGVvZiBBcnJheUJ1ZmZlciE9PSJmdW5jdGlvbiJ8fHR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXchPT0iZnVuY3Rpb24ifHwhQXJyYXlCdWZmZXIuaXNWaWV3KGEpfHxhIGluc3RhbmNlb2YgRGF0YVZpZXc/e306bmV3IGEuY29uc3RydWN0b3IoYS5sZW5ndGgpO2ZvcihsZXQgYyBpbiBhKWJbY109Xy5xZChhW2NdKTtyZXR1cm4gYn07CnNkPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIGM9YXJndW1lbnRzW2VdO2ZvcihkIGluIGMpYVtkXT1jW2RdO2ZvcihsZXQgZj0wO2Y8cmQubGVuZ3RoO2YrKyl7dmFyIGQ9cmRbZl07T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsZCkmJihhW2RdPWNbZF0pfX19O18ueGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bmV3IHVkKF8udmQoYSkpOndkfHwod2Q9bmV3IHVkKX07Xy55ZD1mdW5jdGlvbihhKXthPWEuZG9jdW1lbnQ7YT1hLmNvbXBhdE1vZGU9PSJDU1MxQ29tcGF0Ij9hLmRvY3VtZW50RWxlbWVudDphLmJvZHk7cmV0dXJuIG5ldyBfLm5kKGEuY2xpZW50V2lkdGgsYS5jbGllbnRIZWlnaHQpfTtfLnpkPWZ1bmN0aW9uKGEpe3JldHVybiBhP2EuZGVmYXVsdFZpZXc6d2luZG93fTsKQWQ9ZnVuY3Rpb24oYSxiLGMpe2Z1bmN0aW9uIGQoZSl7ZSYmYi5hcHBlbmRDaGlsZCh0eXBlb2YgZT09PSJzdHJpbmciP2EuY3JlYXRlVGV4dE5vZGUoZSk6ZSl9Zm9yKGxldCBlPTE7ZTxjLmxlbmd0aDtlKyspe2xldCBmPWNbZV07IV8ueWEoZil8fF8uQWEoZikmJmYubm9kZVR5cGU+MD9kKGYpOl8udGIoZiYmdHlwZW9mIGYubGVuZ3RoPT0ibnVtYmVyIiYmdHlwZW9mIGYuaXRlbT09ImZ1bmN0aW9uIj9fLnliKGYpOmYsZCl9fTtfLkNkPWZ1bmN0aW9uKGEpe3JldHVybiBCZChkb2N1bWVudCxhKX07QmQ9ZnVuY3Rpb24oYSxiKXtiPVN0cmluZyhiKTthLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3hodG1sK3htbCImJihiPWIudG9Mb3dlckNhc2UoKSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChiKX07Xy5EZD1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5wYXJlbnROb2RlP2EucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhKTpudWxsfTsKXy52ZD1mdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09OT9hOmEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudH07Xy5GZD1mdW5jdGlvbihhKXtyZXR1cm4gYS50YWdOYW1lPT0iQSImJmEuaGFzQXR0cmlidXRlKCJocmVmIil8fGEudGFnTmFtZT09IklOUFVUInx8YS50YWdOYW1lPT0iVEVYVEFSRUEifHxhLnRhZ05hbWU9PSJTRUxFQ1QifHxhLnRhZ05hbWU9PSJCVVRUT04iPyFhLmRpc2FibGVkJiYoIWEuaGFzQXR0cmlidXRlKCJ0YWJpbmRleCIpfHxFZChhKSk6YS5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikmJkVkKGEpfTtFZD1mdW5jdGlvbihhKXthPWEudGFiSW5kZXg7cmV0dXJuIHR5cGVvZiBhPT09Im51bWJlciImJmE+PTAmJmE8MzI3Njh9O3VkPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfHxfLnUuZG9jdW1lbnR8fGRvY3VtZW50fTsKR2Q9ZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIiI7aWYoL15hYm91dDooPzpibGFua3xzcmNkb2MpJC8udGVzdChhKSlyZXR1cm4gd2luZG93Lm9yaWdpbnx8IiI7YS5pbmRleE9mKCJibG9iOiIpPT09MCYmKGE9YS5zdWJzdHJpbmcoNSkpO2E9YS5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07YT1hLnRvTG93ZXJDYXNlKCk7YS5pbmRleE9mKCIvLyIpPT0wJiYoYT13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wrYSk7L15bXHdcLV0qOlwvXC8vLnRlc3QoYSl8fChhPXdpbmRvdy5sb2NhdGlvbi5ocmVmKTt2YXIgYj1hLnN1YnN0cmluZyhhLmluZGV4T2YoIjovLyIpKzMpLGM9Yi5pbmRleE9mKCIvIik7YyE9LTEmJihiPWIuc3Vic3RyaW5nKDAsYykpO2M9YS5zdWJzdHJpbmcoMCxhLmluZGV4T2YoIjovLyIpKTtpZighYyl0aHJvdyBFcnJvcigiQmAiK2EpO2lmKGMhPT0iaHR0cCImJmMhPT0iaHR0cHMiJiZjIT09ImNocm9tZS1leHRlbnNpb24iJiZjIT09Im1vei1leHRlbnNpb24iJiYKYyE9PSJmaWxlIiYmYyE9PSJhbmRyb2lkLWFwcCImJmMhPT0iY2hyb21lLXNlYXJjaCImJmMhPT0iY2hyb21lLXVudHJ1c3RlZCImJmMhPT0iY2hyb21lIiYmYyE9PSJhcHAiJiZjIT09ImRldnRvb2xzIil0aHJvdyBFcnJvcigiQ2AiK2MpO2E9IiI7dmFyIGQ9Yi5pbmRleE9mKCI6Iik7aWYoZCE9LTEpe3ZhciBlPWIuc3Vic3RyaW5nKGQrMSk7Yj1iLnN1YnN0cmluZygwLGQpO2lmKGM9PT0iaHR0cCImJmUhPT0iODAifHxjPT09Imh0dHBzIiYmZSE9PSI0NDMiKWE9IjoiK2V9cmV0dXJuIGMrIjovLyIrYithfTsKSGQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7ZVswXT0xNzMyNTg0MTkzO2VbMV09NDAyMzIzMzQxNztlWzJdPTI1NjIzODMxMDI7ZVszXT0yNzE3MzM4Nzg7ZVs0XT0zMjg1Mzc3NTIwO249bT0wfWZ1bmN0aW9uIGIocCl7Zm9yKHZhciByPWgsdD0wO3Q8NjQ7dCs9NClyW3QvNF09cFt0XTw8MjR8cFt0KzFdPDwxNnxwW3QrMl08PDh8cFt0KzNdO2Zvcih0PTE2O3Q8ODA7dCsrKXA9clt0LTNdXnJbdC04XV5yW3QtMTRdXnJbdC0xNl0sclt0XT0ocDw8MXxwPj4+MzEpJjQyOTQ5NjcyOTU7cD1lWzBdO3ZhciB2PWVbMV0sej1lWzJdLEU9ZVszXSxBPWVbNF07Zm9yKHQ9MDt0PDgwO3QrKyl7aWYodDw0MClpZih0PDIwKXt2YXIgRj1FXnYmKHpeRSk7dmFyIEM9MTUxODUwMDI0OX1lbHNlIEY9dl56XkUsQz0xODU5Nzc1MzkzO2Vsc2UgdDw2MD8oRj12Jnp8RSYodnx6KSxDPTI0MDA5NTk3MDgpOihGPXZeel5FLEM9MzM5NTQ2OTc4Mik7Rj0oKHA8PDV8cD4+PjI3KSY0Mjk0OTY3Mjk1KStGKwpBK0Mrclt0XSY0Mjk0OTY3Mjk1O0E9RTtFPXo7ej0odjw8MzB8dj4+PjIpJjQyOTQ5NjcyOTU7dj1wO3A9Rn1lWzBdPWVbMF0rcCY0Mjk0OTY3Mjk1O2VbMV09ZVsxXSt2JjQyOTQ5NjcyOTU7ZVsyXT1lWzJdK3omNDI5NDk2NzI5NTtlWzNdPWVbM10rRSY0Mjk0OTY3Mjk1O2VbNF09ZVs0XStBJjQyOTQ5NjcyOTV9ZnVuY3Rpb24gYyhwLHIpe2lmKHR5cGVvZiBwPT09InN0cmluZyIpe3A9dW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHApKTtmb3IodmFyIHQ9W10sdj0wLHo9cC5sZW5ndGg7djx6Oysrdil0LnB1c2gocC5jaGFyQ29kZUF0KHYpKTtwPXR9cnx8KHI9cC5sZW5ndGgpO3Q9MDtpZihtPT0wKWZvcig7dCs2NDxyOyliKHAuc2xpY2UodCx0KzY0KSksdCs9NjQsbis9NjQ7Zm9yKDt0PHI7KWlmKGZbbSsrXT1wW3QrK10sbisrLG09PTY0KWZvcihtPTAsYihmKTt0KzY0PHI7KWIocC5zbGljZSh0LHQrNjQpKSx0Kz02NCxuKz02NH1mdW5jdGlvbiBkKCl7dmFyIHA9W10scj0Kbio4O208NTY/YyhrLDU2LW0pOmMoayw2NC0obS01NikpO2Zvcih2YXIgdD02Mzt0Pj01Njt0LS0pZlt0XT1yJjI1NSxyPj4+PTg7YihmKTtmb3IodD1yPTA7dDw1O3QrKylmb3IodmFyIHY9MjQ7dj49MDt2LT04KXBbcisrXT1lW3RdPj52JjI1NTtyZXR1cm4gcH1mb3IodmFyIGU9W10sZj1bXSxoPVtdLGs9WzEyOF0sbD0xO2w8NjQ7KytsKWtbbF09MDt2YXIgbSxuO2EoKTtyZXR1cm57cmVzZXQ6YSx1cGRhdGU6YyxkaWdlc3Q6ZCxrdjpmdW5jdGlvbigpe2Zvcih2YXIgcD1kKCkscj0iIix0PTA7dDxwLmxlbmd0aDt0Kyspcis9IjAxMjM0NTY3ODlBQkNERUYiLmNoYXJBdChNYXRoLmZsb29yKHBbdF0vMTYpKSsiMDEyMzQ1Njc4OUFCQ0RFRiIuY2hhckF0KHBbdF0lMTYpO3JldHVybiByfX19O0pkPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1TdHJpbmcoXy51LmxvY2F0aW9uLmhyZWYpO3JldHVybiBkJiZhJiZiP1tiLElkKEdkKGQpLGEsY3x8bnVsbCldLmpvaW4oIiAiKTpudWxsfTsKSWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9W107aWYoKEFycmF5LmlzQXJyYXkoYyk/MjoxKT09MSlyZXR1cm4gZT1bYixhXSxfLnRiKGQsZnVuY3Rpb24oayl7ZS5wdXNoKGspfSksS2QoZS5qb2luKCIgIikpO3ZhciBmPVtdLGg9W107Xy50YihjLGZ1bmN0aW9uKGspe2gucHVzaChrLmtleSk7Zi5wdXNoKGsudmFsdWUpfSk7Yz1NYXRoLmZsb29yKChuZXcgRGF0ZSkuZ2V0VGltZSgpLzFFMyk7ZT1mLmxlbmd0aD09MD9bYyxiLGFdOltmLmpvaW4oIjoiKSxjLGIsYV07Xy50YihkLGZ1bmN0aW9uKGspe2UucHVzaChrKX0pO2E9S2QoZS5qb2luKCIgIikpO2E9W2MsYV07aC5sZW5ndGg9PTB8fGEucHVzaChoLmpvaW4oIiIpKTtyZXR1cm4gYS5qb2luKCJfIil9O0tkPWZ1bmN0aW9uKGEpe3ZhciBiPUhkKCk7Yi51cGRhdGUoYSk7cmV0dXJuIGIua3YoKS50b0xvd2VyQ2FzZSgpfTtMZD1mdW5jdGlvbihhKXt0aGlzLmo9YXx8e2Nvb2tpZToiIn19OwpNZD1mdW5jdGlvbihhKXthPShhLmouY29va2llfHwiIikuc3BsaXQoIjsiKTt2YXIgYj1bXSxjPVtdO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7ZisrKXt2YXIgZD1hW2ZdLnRyaW0oKTt2YXIgZT1kLmluZGV4T2YoIj0iKTtlPT0tMT8oYi5wdXNoKCIiKSxjLnB1c2goZCkpOihiLnB1c2goZC5zdWJzdHJpbmcoMCxlKSksYy5wdXNoKGQuc3Vic3RyaW5nKGUrMSkpKX1yZXR1cm57a2V5czpiLHZhbHVlczpjfX07Xy5OZD1mdW5jdGlvbigpe3ZhciBhPV8udS5fX1NBUElTSUR8fF8udS5fX0FQSVNJRHx8Xy51Ll9fM1BTQVBJU0lEfHxfLnUuX18xUFNBUElTSUR8fF8udS5fX09WRVJSSURFX1NJRDtpZihhKXJldHVybiEwO3R5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiYoYT1uZXcgTGQoZG9jdW1lbnQpLGE9YS5nZXQoIlNBUElTSUQiKXx8YS5nZXQoIkFQSVNJRCIpfHxhLmdldCgiX19TZWN1cmUtM1BBUElTSUQiKXx8YS5nZXQoIl9fU2VjdXJlLTFQQVBJU0lEIikpO3JldHVybiEhYX07Ck9kPWZ1bmN0aW9uKGEsYixjLGQpeyhhPV8udVthXSl8fHR5cGVvZiBkb2N1bWVudD09PSJ1bmRlZmluZWQifHwoYT0obmV3IExkKGRvY3VtZW50KSkuZ2V0KGIpKTtyZXR1cm4gYT9KZChhLGMsZCk6bnVsbH07Cl8uUGQ9ZnVuY3Rpb24oYSl7dmFyIGI9R2QoXy51Py5sb2NhdGlvbi5ocmVmKSxjPVtdO2lmKF8uTmQoKSl7Yj1iLmluZGV4T2YoImh0dHBzOiIpPT0wfHxiLmluZGV4T2YoImNocm9tZS1leHRlbnNpb246Iik9PTB8fGIuaW5kZXhPZigiY2hyb21lLXVudHJ1c3RlZDovL25ldy10YWItcGFnZSIpPT0wfHxiLmluZGV4T2YoIm1vei1leHRlbnNpb246Iik9PTA7dmFyIGQsZT0oZD1iKT9fLnUuX19TQVBJU0lEOl8udS5fX0FQSVNJRDtlfHx0eXBlb2YgZG9jdW1lbnQ9PT0idW5kZWZpbmVkInx8KGU9bmV3IExkKGRvY3VtZW50KSxlPWUuZ2V0KGQ/IlNBUElTSUQiOiJBUElTSUQiKXx8ZS5nZXQoIl9fU2VjdXJlLTNQQVBJU0lEIikpOyhkPWU/SmQoZSxkPyJTQVBJU0lESEFTSCI6IkFQSVNJREhBU0giLGEpOm51bGwpJiZjLnB1c2goZCk7YiYmKChiPU9kKCJfXzFQU0FQSVNJRCIsIl9fU2VjdXJlLTFQQVBJU0lEIiwiU0FQSVNJRDFQSEFTSCIsYSkpJiZjLnB1c2goYiksKGE9T2QoIl9fM1BTQVBJU0lEIiwKIl9fU2VjdXJlLTNQQVBJU0lEIiwiU0FQSVNJRDNQSEFTSCIsYSkpJiZjLnB1c2goYSkpfXJldHVybiBjLmxlbmd0aD09MD9udWxsOmMuam9pbigiICIpfTtTZD1mdW5jdGlvbihhKXtfLlFkP2EoXy5RZCk6KFJkPz8oUmQ9W10pKS5wdXNoKGEpfTtfLlZkPWZ1bmN0aW9uKCl7IV8uUWQmJl8uVGQmJl8uVWQoXy5UZCgpKTtyZXR1cm4gXy5RZH07Xy5VZD1mdW5jdGlvbihhKXtfLlFkPWE7UmQ/LmZvckVhY2goU2QpO1JkPXZvaWQgMH07Xy5XZD1mdW5jdGlvbihhKXtfLlFkJiZfLlFkLlJvKGEpfTtfLlhkPWZ1bmN0aW9uKCl7Xy5RZCYmXy5RZC55ZSgpfTsKWWQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHxfLnhkKCk7Yj1jLmo7dmFyIGQ9Yy5jcmVhdGVFbGVtZW50KCJTVFlMRSIpLGU9aGIoInN0eWxlIixiKTtlJiZkLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpO2QudHlwZT0idGV4dC9jc3MiO2M9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdO2Quc3R5bGVTaGVldD9kLnN0eWxlU2hlZXQuY3NzVGV4dD1hOmQuYXBwZW5kQ2hpbGQoYi5jcmVhdGVUZXh0Tm9kZShhKSk7Yy5hcHBlbmRDaGlsZChkKTtyZXR1cm4gZH07Xy5aZD1mdW5jdGlvbihhKXthJiZ0eXBlb2YgYS5kaXNwb3NlPT0iZnVuY3Rpb24iJiZhLmRpc3Bvc2UoKX07Xy4kZD1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWFyZ3VtZW50cy5sZW5ndGg7YjxjOysrYil7bGV0IGQ9YXJndW1lbnRzW2JdO18ueWEoZCk/Xy4kZC5hcHBseShudWxsLGQpOl8uWmQoZCl9fTtfLmFlPWZ1bmN0aW9uKCl7dGhpcy5ZPXRoaXMuWTt0aGlzLks9dGhpcy5LfTtiZT1mdW5jdGlvbigpe18uYWUuY2FsbCh0aGlzKX07CmNlPWZ1bmN0aW9uKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9O2VlPWZ1bmN0aW9uKGEsYil7Xy5hZS5jYWxsKHRoaXMpO3RoaXMuaj1hO3RoaXMuRD1iO3RoaXMuQj1kZT9udWxsOltdO3RoaXMudj1kZT9udWxsOltdO3RoaXMubz1kZT9udWxsOltdO3RoaXMuST0hMX07ZmU9ZnVuY3Rpb24oYSxiKXthLm98fChhLm89W10pO2Euby5wdXNoKG5ldyB2YS53ayhiLHZvaWQgMCkpfTtnZT1mdW5jdGlvbihhLGIsYyl7YS5CfHwoYS5CPVtdKTthLkIucHVzaChuZXcgdmEud2soYixjKSl9O2hlPWZ1bmN0aW9uKGEsYil7YS52fHwoYS52PVtdKTthLnYucHVzaChuZXcgdmEud2soYix2b2lkIDApKX07aWU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGEubGVuZ3RoO2QrKyl0cnl7YVtkXS5leGVjdXRlKGIpfWNhdGNoKGUpe18uJGIoZSksYy5wdXNoKGUpfWEubGVuZ3RoPTA7cmV0dXJuIGMubGVuZ3RoP2M6bnVsbH07amU9ZnVuY3Rpb24oKXt0aGlzLlk9bnVsbH07CmtlPWZ1bmN0aW9uKGEpe3ZhciBiPWRvY3VtZW50LGM9Yi5zdHlsZVNoZWV0cy5sZW5ndGgsZD1ZZChhLG5ldyB1ZChiKSk7ZC5zZXRBdHRyaWJ1dGUoImRhdGEtbGF0ZS1jc3MiLCIiKTtiLnN0eWxlU2hlZXRzLmxlbmd0aD09YysxJiZfLnZiKGIuc3R5bGVTaGVldHMsZT0+KGUub3duZXJOb2RlfHxlLm93bmluZ0VsZW1lbnQpPT1kKX07cWU9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz1sZShhKSxkPW5ldyBtZSxlPV8uTWIoYylbNV07b2QobmUsZnVuY3Rpb24oaCl7dmFyIGs9ZS5tYXRjaCgiLyIraCsiPShbXi9dKykiKTtrJiZvZShkLGgsa1sxXSl9KTt2YXIgZj0iIjtmPWEuaW5kZXhPZigiXy9zcy8iKSE9LTE/Il8vc3MvIjoiXy9qcy8iO3BlKGQsYS5zdWJzdHIoMCxhLmluZGV4T2YoZikrZi5sZW5ndGgpKTtpZighYilyZXR1cm4gZDsoYT1fLk1iKGMpWzZdfHxudWxsKSYmXy5SYihhLChoLGspPT57ZC52W2hdPWt9KTtyZXR1cm4gZH07CmxlPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN0YXJ0c1dpdGgoImh0dHBzOi8vdWJlcnByb3h5LXBlbi1yZWRpcmVjdC5jb3JwLmdvb2dsZS5jb20vdWJlcnByb3h5L3Blbj91cmw9Iik/YS5zdWJzdHIoNjUpOmF9O3JlPWZ1bmN0aW9uKGEpe2E9Xy5RYihsZShhKSk7cmV0dXJuIGE9PT1udWxsPyExOlJlZ0V4cCgiKC9fL2pzLyl8KC9fL3NzLykiLCJnIikudGVzdChhKT8vXC9rPS8udGVzdChhKTohMX07b2U9ZnVuY3Rpb24oYSxiLGMpe2M/YS5qW2JdPWM6ZGVsZXRlIGEualtiXX07cGU9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnZlPWZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9ZD0+e2EualtkXSE9PXZvaWQgMCYmYi5wdXNoKGQrIj0iK2EualtkXSl9O3NlKGEpPyhjKCJtZCIpLGMoImsiKSxjKCJjayIpLGMoImFtIiksYygicnMiKSxjKCJnc3Ntb2R1bGVzZXRwcm90byIpLGMoInNsayIpLGMoImR0aSIpLGMoImRid2giKSk6KGMoInNkY2giKSxjKCJrIiksYygiY2siKSxjKCJhbSIpLGMoImFtYyIpLGMoInJ0IiksImQiaW4gYS5qfHxvZShhLCJkIiwiMCIpLGMoImQiKSxjKCJleG0iKSxjKCJleGNtIiksKGEuai5leGNtfHxhLmouZXhtKSYmYi5wdXNoKCJlZD0xIiksYygiaW0iKSxjKCJkZyIpLGMoInNtIiksdGUoYSwiYnIiKSE9IjEiJiZ0ZShhLCJiciIpIT0iMCJ8fGMoImJyIiksYygiYnItZCIpLHRlKGEsInJiIik9PSIxIiYmYygicmIiKSx0ZShhLCJ6cyIpIT09IjAiJiZjKCJ6cyIpLHVlKGEpIT09IiImJmMoInd0IiksYygiZ3NzbW9kdWxlc2V0cHJvdG8iKSxjKCJ1amciKSxjKCJzcCIpLGMoImljaGMiKSwKYygicnMiKSxjKCJjYiIpLGMoImNjYiIpLGMoImVlIiksYygic2xrIiksYygiZHRpIiksYygiZGJ3aCIpLGMoImljIiksYygibSIpKTtyZXR1cm4gYi5qb2luKCIvIil9O3RlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEualtiXT9hLmpbYl06bnVsbH07c2U9ZnVuY3Rpb24oYSl7YT10ZShhLCJtZCIpO3JldHVybiEhYSYmYSE9PSIwIn07dWU9ZnVuY3Rpb24oYSl7c3dpdGNoKHRlKGEsInd0Iikpe2Nhc2UgIjAiOnJldHVybiIwIjtjYXNlICIxIjpyZXR1cm4iMSI7Y2FzZSAiMiI6cmV0dXJuIjIiO2RlZmF1bHQ6cmV0dXJuIiJ9fTt3ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4bSIsYi5qb2luKCIsIikpKTpvZShhLCJleG0iLG51bGwpfTt4ZT1mdW5jdGlvbihhLGIpe2ImJmIubGVuZ3RoPjA/KGIuc29ydCgpLG9lKGEsImV4Y20iLGIuam9pbigiLCIpKSk6b2UoYSwiZXhjbSIsbnVsbCl9Owp5ZT1mdW5jdGlvbihhKXtyZXR1cm4oYT10ZShhLCJtIikpP2Euc3BsaXQoIiwiKTpbXX07emU9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iIGluc3RhbmNlb2YgTWFwP0FycmF5LmZyb20oYi5lbnRyaWVzKCkpLmZpbHRlcigoWyxkXSk9PmQmJmQuc2l6ZT4wKS5tYXAoKFtkLGVdKT0+e2U9QXJyYXkuZnJvbShlKTtlLmxlbmd0aD4xJiZlLnNvcnQoKTtyZXR1cm4gZCsiOiIrZS5qb2luKCIsIil9KTpPYmplY3Qua2V5cyhiKS5maWx0ZXIoZD0+ISFPYmplY3Qua2V5cyhiW2RdKS5sZW5ndGgpLm1hcChkPT57dmFyIGU9T2JqZWN0LmtleXMoYltkXSk7ZS5sZW5ndGg+MSYmZS5zb3J0KCk7cmV0dXJuIGQrIjoiK2Uuam9pbigiLCIpfSk7Yy5zb3J0KCk7b2UoYSwiZWUiLGMuam9pbigiOyIpKX07CkNlPWZ1bmN0aW9uKGEpe2E9dGUoYSwiZWUiKTtpZihBZSl7aWYoIWEpcmV0dXJuIG5ldyBNYXA7dmFyIGI9bmV3IE1hcCxjPWEuc3BsaXQoIjsiKTtmb3IodmFyIGQgb2YgYyl7bGV0IFtmLGhdPWQuc3BsaXQoIjoiKTtjPW5ldyBTZXQ7Yi5zZXQoZixjKTtmb3IodmFyIGUgb2YgaC5zcGxpdCgiLCIpKWMuYWRkKGUpfXJldHVybiBifWlmKCFhKXJldHVybnt9O2Q9e307ZT1hLnNwbGl0KCI7Iik7Zm9yKGIgb2YgZSl7bGV0IFtmLGhdPWIuc3BsaXQoIjoiKTtkW2ZdPXt9O2ZvcihjIG9mIGguc3BsaXQoIiwiKSlkW2ZdW2NdPSEwfXJldHVybiBkfTtEZT1mdW5jdGlvbihhKXtkZWxldGUgYS5qLm07ZGVsZXRlIGEuai5leG07ZGVsZXRlIGEuai5lZH07CkVlPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkb2N1bWVudCE9PSJ1bmRlZmluZWQiJiZkb2N1bWVudCYmZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQmJihhPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKSl7bGV0IGI9YS50YWdOYW1lLnRvVXBwZXJDYXNlKCk7aWYoYj09IlNDUklQVCJ8fGI9PSJMSU5LIilyZXR1cm4gYX1yZXR1cm4gbnVsbH07RmU9ZnVuY3Rpb24oYT0iIixiKXtpZihhJiZiKXRocm93IEVycm9yKCJMIik7dmFyIGM9IiI7dmFyIGQ9Xy51Ll9GX2pzVXJsOyhhPWJ8fEVlKGEpKSYmKGM9YS5zcmM/YS5zcmM6YS5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYoZCYmYyl7aWYoZCE9Yyl0aHJvdyBFcnJvcigiTWAiK2QrImAiK2MpO2M9ZH1lbHNlIGM9ZHx8YztpZighcmUoYykpdGhyb3cgRXJyb3IoIk4iKTtyZXR1cm4gY307CkhlPWZ1bmN0aW9uKCl7aWYoIUdlKXtHZT0hMDt0cnl7dmFyIGE9RmUoXy51Ll9GX2pzVXJsPyIiOiJiYXNlLWpzIil9Y2F0Y2goYyl7cmV0dXJufXZhciBiPUNlKHFlKGEpKTtpZihiIGluc3RhbmNlb2YgTWFwKWIuc2l6ZSE9PTAmJlNkKGM9Pntmb3IobGV0IFtkLGVdb2YgYi5lbnRyaWVzKCkpe2xldCBmPWQsaD1lO2ZvcihsZXQgayBvZiBoKWMubmkoZixrKX19KTtlbHNle2xldCBjPU9iamVjdC5rZXlzKGIpO2MubGVuZ3RoIT09MCYmU2QoZD0+e2ZvcihsZXQgZSBvZiBjKXtsZXQgZj1iW2VdO2ZvcihsZXQgaCBvZiBPYmplY3Qua2V5cyhmKSlkLm5pKGUsaCl9fSl9fX07Xy5KZT1mdW5jdGlvbihhLGIpe3RoaXMudHlwZT0iZnVuY3Rpb24iPT10eXBlb2YgXy5JZSYmYSBpbnN0YW5jZW9mIF8uSWU/U3RyaW5nKGEpOmE7dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PWI7dGhpcy5kZWZhdWx0UHJldmVudGVkPXRoaXMubz0hMX07CktlPWZ1bmN0aW9uKGEsYil7Xy5KZS5jYWxsKHRoaXMsYT9hLnR5cGU6IiIpO3RoaXMucmVsYXRlZFRhcmdldD10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy50YXJnZXQ9bnVsbDt0aGlzLmJ1dHRvbj10aGlzLnNjcmVlblk9dGhpcy5zY3JlZW5YPXRoaXMuY2xpZW50WT10aGlzLmNsaWVudFg9dGhpcy5vZmZzZXRZPXRoaXMub2Zmc2V0WD0wO3RoaXMua2V5PSIiO3RoaXMuY2hhckNvZGU9dGhpcy5rZXlDb2RlPTA7dGhpcy5tZXRhS2V5PXRoaXMuc2hpZnRLZXk9dGhpcy5hbHRLZXk9dGhpcy5jdHJsS2V5PSExO3RoaXMuc3RhdGU9bnVsbDt0aGlzLnBvaW50ZXJJZD0wO3RoaXMucG9pbnRlclR5cGU9IiI7dGhpcy50aW1lU3RhbXA9MDt0aGlzLmo9bnVsbDthJiZ0aGlzLmluaXQoYSxiKX07Ck1lPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5saXN0ZW5lcj1hO3RoaXMucHJveHk9bnVsbDt0aGlzLnNyYz1iO3RoaXMudHlwZT1jO3RoaXMuY2FwdHVyZT0hIWQ7dGhpcy5oYW5kbGVyPWU7dGhpcy5rZXk9KytMZTt0aGlzLk5oPXRoaXMuemk9ITF9O05lPWZ1bmN0aW9uKGEpe2EuTmg9ITA7YS5saXN0ZW5lcj1udWxsO2EucHJveHk9bnVsbDthLnNyYz1udWxsO2EuaGFuZGxlcj1udWxsfTtPZT1mdW5jdGlvbihhKXt0aGlzLnNyYz1hO3RoaXMubGlzdGVuZXJzPXt9O3RoaXMuaj0wfTtQZT1mdW5jdGlvbihhLGIpe3ZhciBjPWIudHlwZTtjIGluIGEubGlzdGVuZXJzJiZfLnhiKGEubGlzdGVuZXJzW2NdLGIpJiYoTmUoYiksYS5saXN0ZW5lcnNbY10ubGVuZ3RoPT0wJiYoZGVsZXRlIGEubGlzdGVuZXJzW2NdLGEuai0tKSl9OwpRZT1mdW5jdGlvbihhLGIsYyxkKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoOysrZSl7bGV0IGY9YVtlXTtpZighZi5OaCYmZi5saXN0ZW5lcj09YiYmZi5jYXB0dXJlPT0hIWMmJmYuaGFuZGxlcj09ZClyZXR1cm4gZX1yZXR1cm4tMX07Xy5TZT1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKGQmJmQub25jZSlyZXR1cm4gUmUoYSxiLGMsZCxlKTtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylfLlNlKGEsYltmXSxjLGQsZSk7cmV0dXJuIG51bGx9Yz1UZShjKTtyZXR1cm4gYSYmYVtVZV0/YS5saXN0ZW4oYixjLF8uQWEoZCk/ISFkLmNhcHR1cmU6ISFkLGUpOlZlKGEsYixjLCExLGQsZSl9OwpWZT1mdW5jdGlvbihhLGIsYyxkLGUsZil7aWYoIWIpdGhyb3cgRXJyb3IoIk8iKTt2YXIgaD1fLkFhKGUpPyEhZS5jYXB0dXJlOiEhZSxrPVdlKGEpO2t8fChhW1hlXT1rPW5ldyBPZShhKSk7Yz1rLmFkZChiLGMsZCxoLGYpO2lmKGMucHJveHkpcmV0dXJuIGM7ZD1ZZSgpO2MucHJveHk9ZDtkLnNyYz1hO2QubGlzdGVuZXI9YztpZihhLmFkZEV2ZW50TGlzdGVuZXIpZT09PXZvaWQgMCYmKGU9ITEpLGEuYWRkRXZlbnRMaXN0ZW5lcihiLnRvU3RyaW5nKCksZCxlKTtlbHNlIGlmKGEuYXR0YWNoRXZlbnQpYS5hdHRhY2hFdmVudChaZShiLnRvU3RyaW5nKCkpLGQpO2Vsc2UgaWYoYS5hZGRMaXN0ZW5lciYmYS5yZW1vdmVMaXN0ZW5lcilhLmFkZExpc3RlbmVyKGQpO2Vsc2UgdGhyb3cgRXJyb3IoIlAiKTskZSsrO3JldHVybiBjfTtZZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoYyl7cmV0dXJuIGIuY2FsbChhLnNyYyxhLmxpc3RlbmVyLGMpfXZhciBiPWFmO3JldHVybiBhfTsKUmU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihBcnJheS5pc0FycmF5KGIpKXtmb3IobGV0IGY9MDtmPGIubGVuZ3RoO2YrKylSZShhLGJbZl0sYyxkLGUpO3JldHVybiBudWxsfWM9VGUoYyk7cmV0dXJuIGEmJmFbVWVdP18uYmYoYSxiLGMsXy5BYShkKT8hIWQuY2FwdHVyZTohIWQsZSk6VmUoYSxiLGMsITAsZCxlKX07Xy5jZj1mdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpZm9yKGxldCBmPTA7ZjxiLmxlbmd0aDtmKyspXy5jZihhLGJbZl0sYyxkLGUpO2Vsc2UoZD1fLkFhKGQpPyEhZC5jYXB0dXJlOiEhZCxjPVRlKGMpLGEmJmFbVWVdKT9hLm8ucmVtb3ZlKFN0cmluZyhiKSxjLGQsZSk6YSYmKGE9V2UoYSkpJiYoYj1hLmxpc3RlbmVyc1tiLnRvU3RyaW5nKCldLGE9LTEsYiYmKGE9UWUoYixjLGQsZSkpLChjPWE+LTE/YlthXTpudWxsKSYmXy5kZihjKSl9OwpfLmRmPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciImJmEmJiFhLk5oKXt2YXIgYj1hLnNyYztpZihiJiZiW1VlXSlQZShiLm8sYSk7ZWxzZXt2YXIgYz1hLnR5cGUsZD1hLnByb3h5O2IucmVtb3ZlRXZlbnRMaXN0ZW5lcj9iLnJlbW92ZUV2ZW50TGlzdGVuZXIoYyxkLGEuY2FwdHVyZSk6Yi5kZXRhY2hFdmVudD9iLmRldGFjaEV2ZW50KFplKGMpLGQpOmIuYWRkTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXImJmIucmVtb3ZlTGlzdGVuZXIoZCk7JGUtLTsoYz1XZShiKSk/KFBlKGMsYSksYy5qPT0wJiYoYy5zcmM9bnVsbCxiW1hlXT1udWxsKSk6TmUoYSl9fX07WmU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW4gZWY/ZWZbYV06ZWZbYV09Im9uIithfTthZj1mdW5jdGlvbihhLGIpe2lmKGEuTmgpYT0hMDtlbHNle2I9bmV3IEtlKGIsdGhpcyk7bGV0IGM9YS5saXN0ZW5lcixkPWEuaGFuZGxlcnx8YS5zcmM7YS56aSYmXy5kZihhKTthPWMuY2FsbChkLGIpfXJldHVybiBhfTsKV2U9ZnVuY3Rpb24oYSl7YT1hW1hlXTtyZXR1cm4gYSBpbnN0YW5jZW9mIE9lP2E6bnVsbH07VGU9ZnVuY3Rpb24oYSl7aWYodHlwZW9mIGE9PT0iZnVuY3Rpb24iKXJldHVybiBhO2FbZmZdfHwoYVtmZl09ZnVuY3Rpb24oYil7cmV0dXJuIGEuaGFuZGxlRXZlbnQoYil9KTtyZXR1cm4gYVtmZl19O18uZ2Y9ZnVuY3Rpb24oKXtfLmFlLmNhbGwodGhpcyk7dGhpcy5vPW5ldyBPZSh0aGlzKTt0aGlzLkZhPXRoaXM7dGhpcy5NPW51bGx9O18uYmY9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYS5vLmFkZChTdHJpbmcoYiksYywhMCxkLGUpfTsKaGY9ZnVuY3Rpb24oYSxiLGMsZCl7Yj1hLm8ubGlzdGVuZXJzW1N0cmluZyhiKV07aWYoIWIpcmV0dXJuITA7Yj1iLmNvbmNhdCgpO3ZhciBlPSEwO2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7KytmKXtsZXQgaD1iW2ZdO2lmKGgmJiFoLk5oJiZoLmNhcHR1cmU9PWMpe2xldCBrPWgubGlzdGVuZXIsbD1oLmhhbmRsZXJ8fGguc3JjO2guemkmJlBlKGEubyxoKTtlPWsuY2FsbChsLGQpIT09ITEmJmV9fXJldHVybiBlJiYhZC5kZWZhdWx0UHJldmVudGVkfTtsZj1mdW5jdGlvbigpe3ZhciBhPV8uamY7a2YuaW5zdGFuY2V8fChrZi5pbnN0YW5jZT1uZXcga2YoYSkpO3JldHVybiBrZi5pbnN0YW5jZX07Cm1mPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuQj9hLkI6YS5CPW5ldyBQcm9taXNlKGFzeW5jIGM9Pnt2YXIgZD13aW5kb3cuQWJvcnRDb250cm9sbGVyP25ldyB3aW5kb3cuQWJvcnRDb250cm9sbGVyOnZvaWQgMCxlPWQ/LnNpZ25hbCxmPSExO3RyeXtkJiYoYS5qPWEuRGMucGIoKCk9PntkLmFib3J0KCl9LGJ8fDJFNCkpLGF3YWl0IGZldGNoKCIvZ2VuZXJhdGVfMjA0Iix7bWV0aG9kOiJIRUFEIixzaWduYWw6ZX0pLGY9ITB9Y2F0Y2h7Zj0hMX1maW5hbGx5e2EuQj12b2lkIDAsYS5qJiYoYS5EYy5BYShhLmopLGEuaj0wKSxmIT09YS5pc09ubGluZSYmKGEuaXNPbmxpbmU9ZixhLmlzT25saW5lP2EuZGlzcGF0Y2hFdmVudCgibmV0d29ya3N0YXR1cy1vbmxpbmUiKTphLmRpc3BhdGNoRXZlbnQoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpKSxjKGYpfX0pfTsKbmY9ZnVuY3Rpb24oYSl7YS5EPWEuRGMucGIoYXN5bmMoKT0+e2EuaXNPbmxpbmU/d2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHxhd2FpdCBtZihhKTphd2FpdCBtZihhKTtuZihhKX0sM0U0KX07b2Y9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntwcm9taXNlOm5ldyBQcm9taXNlKChjLGQpPT57YT1jO2I9ZH0pLHJlc29sdmU6YSxyZWplY3Q6Yn19O3JmPWZ1bmN0aW9uKGEpe3ZhciB7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH09b2YoKTtwZi5zZXQoYSx7cHJvbWlzZTpiLHJlc29sdmU6YyxyZWplY3Q6ZH0pO3FmfHwocWY9W10scXVldWVNaWNyb3Rhc2soKCk9Pnt2YXIgZT1bLi4ucWZdO3FmPW51bGw7dmFyIGY9Xy5WZCgpLmFmKGUpO2ZvcihsZXQgaCBvZiBlKWZbaF0udGhlbihwZi5nZXQoaCkucmVzb2x2ZSxwZi5nZXQoaCkucmVqZWN0KX0pKTtxZi5wdXNoKGEpO3JldHVybiBifTsKXy5zZj1mdW5jdGlvbihhKXtzd2l0Y2goYSl7Y2FzZSAyMDA6Y2FzZSAyMDE6Y2FzZSAyMDI6Y2FzZSAyMDQ6Y2FzZSAyMDY6Y2FzZSAzMDQ6Y2FzZSAxMjIzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTt0Zj1mdW5jdGlvbihhLGIpe2EuQihiKTthLm88MTAwJiYoYS5vKyssYi5uZXh0PWEuaixhLmo9Yil9O3hmPWZ1bmN0aW9uKCl7Zm9yKHZhciBhO2E9dWYucmVtb3ZlKCk7KXt0cnl7YS5mbi5jYWxsKGEuc2NvcGUpfWNhdGNoKGIpe18uJGIoYil9dGYodmYsYSl9d2Y9ITF9O18ueWY9ZnVuY3Rpb24oYSl7YS5wcm90b3R5cGUuJGdvb2dfVGhlbmFibGU9ITB9O3pmPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiExO3RyeXtyZXR1cm4hIWEuJGdvb2dfVGhlbmFibGV9Y2F0Y2goYil7cmV0dXJuITF9fTsKXy5CZj1mdW5jdGlvbihhLGIpe3RoaXMuaj0wO3RoaXMuST12b2lkIDA7dGhpcy5CPXRoaXMubz10aGlzLnY9bnVsbDt0aGlzLkQ9dGhpcy5LPSExO2lmKGEhPV8uZ2QpdHJ5e2xldCBjPXRoaXM7YS5jYWxsKGIsZnVuY3Rpb24oZCl7Xy5BZihjLDIsZCl9LGZ1bmN0aW9uKGQpe18uQWYoYywzLGQpfSl9Y2F0Y2goYyl7Xy5BZih0aGlzLDMsYyl9fTtDZj1mdW5jdGlvbigpe3RoaXMubmV4dD10aGlzLmNvbnRleHQ9dGhpcy5qPXRoaXMubz10aGlzLmNoaWxkPW51bGw7dGhpcy52PSExfTtfLkVmPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1EZi5nZXQoKTtkLm89YTtkLmo9YjtkLmNvbnRleHQ9YztyZXR1cm4gZH07Xy5IZj1mdW5jdGlvbihhLGIsYyl7RmYoYSxiLGMsbnVsbCl8fEdmKF8uRGEoYixhKSl9OwpfLklmPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe3ZhciBkPWEubGVuZ3RoLGU9W107aWYoZCl7dmFyIGY9ZnVuY3Rpb24obCxtKXtkLS07ZVtsXT1tO2Q9PTAmJmIoZSl9LGg9ZnVuY3Rpb24obCl7YyhsKX07Zm9yKGxldCBsPTA7bDxhLmxlbmd0aDtsKyspe3ZhciBrPWFbbF07Xy5IZihrLF8uRGEoZixsKSxoKX19ZWxzZSBiKGUpfSl9O0tmPWZ1bmN0aW9uKGEsYixjLGQpe18uSmYoYSxfLkVmKGJ8fF8uZ2QsY3x8bnVsbCxkKSl9OwpMZj1mdW5jdGlvbihhLGIpe2lmKGEuaj09MClpZihhLnYpe3ZhciBjPWEudjtpZihjLm8pe3ZhciBkPTAsZT1udWxsLGY9bnVsbDtmb3IobGV0IGg9Yy5vO2gmJihoLnZ8fChkKyssaC5jaGlsZD09YSYmKGU9aCksIShlJiZkPjEpKSk7aD1oLm5leHQpZXx8KGY9aCk7ZSYmKGMuaj09MCYmZD09MT9MZihjLGIpOihmPyhkPWYsZC5uZXh0PT1jLkImJihjLkI9ZCksZC5uZXh0PWQubmV4dC5uZXh0KTpNZihjKSxOZihjLGUsMyxiKSkpfWEudj1udWxsfWVsc2UgXy5BZihhLDMsYil9O18uSmY9ZnVuY3Rpb24oYSxiKXthLm98fGEuaiE9MiYmYS5qIT0zfHxPZihhKTthLkI/YS5CLm5leHQ9YjphLm89YjthLkI9Yn07ClFmPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPV8uRWYobnVsbCxudWxsLG51bGwpO2UuY2hpbGQ9bmV3IF8uQmYoZnVuY3Rpb24oZixoKXtlLm89Yj9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yi5jYWxsKGQsayk7ZihsKX1jYXRjaChsKXtoKGwpfX06ZjtlLmo9Yz9mdW5jdGlvbihrKXt0cnl7bGV0IGw9Yy5jYWxsKGQsayk7bD09PXZvaWQgMCYmayBpbnN0YW5jZW9mIF8uUGY/aChrKTpmKGwpfWNhdGNoKGwpe2gobCl9fTpofSk7ZS5jaGlsZC52PWE7Xy5KZihhLGUpO3JldHVybiBlLmNoaWxkfTtfLkFmPWZ1bmN0aW9uKGEsYixjKXthLmo9PTAmJihhPT09YyYmKGI9MyxjPW5ldyBUeXBlRXJyb3IoIlEiKSksYS5qPTEsRmYoYyxhLm5CLGEub0IsYSl8fChhLkk9YyxhLmo9YixhLnY9bnVsbCxPZihhKSxiIT0zfHxjIGluc3RhbmNlb2YgXy5QZnx8UmYoYSxjKSkpfTsKRmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYSBpbnN0YW5jZW9mIF8uQmYpcmV0dXJuIEtmKGEsYixjLGQpLCEwO2lmKHpmKGEpKXJldHVybiBhLnRoZW4oYixjLGQpLCEwO2lmKF8uQWEoYSkpdHJ5e2xldCBlPWEudGhlbjtpZih0eXBlb2YgZT09PSJmdW5jdGlvbiIpcmV0dXJuIFNmKGEsZSxiLGMsZCksITB9Y2F0Y2goZSl7cmV0dXJuIGMuY2FsbChkLGUpLCEwfXJldHVybiExfTtTZj1mdW5jdGlvbihhLGIsYyxkLGUpe2Z1bmN0aW9uIGYobCl7a3x8KGs9ITAsZC5jYWxsKGUsbCkpfWZ1bmN0aW9uIGgobCl7a3x8KGs9ITAsYy5jYWxsKGUsbCkpfXZhciBrPSExO3RyeXtiLmNhbGwoYSxoLGYpfWNhdGNoKGwpe2YobCl9fTtPZj1mdW5jdGlvbihhKXthLkt8fChhLks9ITAsR2YoYS50dCxhKSl9O01mPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGw7YS5vJiYoYj1hLm8sYS5vPWIubmV4dCxiLm5leHQ9bnVsbCk7YS5vfHwoYS5CPW51bGwpO3JldHVybiBifTsKTmY9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoYz09MyYmYi5qJiYhYi52KWZvcig7YSYmYS5EO2E9YS52KWEuRD0hMTtpZihiLmNoaWxkKWIuY2hpbGQudj1udWxsLFRmKGIsYyxkKTtlbHNlIHRyeXtiLnY/Yi5vLmNhbGwoYi5jb250ZXh0KTpUZihiLGMsZCl9Y2F0Y2goZSl7Xy5VZi5jYWxsKG51bGwsZSl9dGYoRGYsYil9O1RmPWZ1bmN0aW9uKGEsYixjKXtiPT0yP2Euby5jYWxsKGEuY29udGV4dCxjKTphLmomJmEuai5jYWxsKGEuY29udGV4dCxjKX07UmY9ZnVuY3Rpb24oYSxiKXthLkQ9ITA7R2YoZnVuY3Rpb24oKXthLkQmJl8uVWYuY2FsbChudWxsLGIpfSl9O18uUGY9ZnVuY3Rpb24oYSl7Xy5MYS5jYWxsKHRoaXMsYSl9O1dmPWZ1bmN0aW9uKGEpe3JldHVybiBWZihhKS50aGVuKGZ1bmN0aW9uKGIpe3JldHVybiBKU09OLnBhcnNlKGIucmVzcG9uc2VUZXh0KX0pfTsKVmY9ZnVuY3Rpb24oYSl7dmFyIGI9e30sYz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuKG5ldyBfLkJmKGZ1bmN0aW9uKGQsZSl7dmFyIGY7dHJ5e2Mub3BlbigiR0VUIixhLCEwKX1jYXRjaChoKXtlKG5ldyBYZigiRXJyb3Igb3BlbmluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfWMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoYy5yZWFkeVN0YXRlPT00KXtfLnUuY2xlYXJUaW1lb3V0KGYpO3ZhciBoOyEoaD1fLnNmKGMuc3RhdHVzKSkmJihoPWMuc3RhdHVzPT09MCkmJihoPV8uT2IoYSksaD0hKGg9PSJodHRwInx8aD09Imh0dHBzInx8aD09IiIpKTtoP2QoYyk6ZShuZXcgWWYoYy5zdGF0dXMsYSxjKSl9fTtjLm9uZXJyb3I9ZnVuY3Rpb24oKXtlKG5ldyBYZigiTmV0d29yayBlcnJvciIsYSxjKSl9O2lmKGIuaGVhZGVycylmb3IobGV0IGggaW4gYi5oZWFkZXJzKXtsZXQgaz1iLmhlYWRlcnNbaF07ayE9bnVsbCYmYy5zZXRSZXF1ZXN0SGVhZGVyKGgsayl9Yi53aXRoQ3JlZGVudGlhbHMmJgooYy53aXRoQ3JlZGVudGlhbHM9Yi53aXRoQ3JlZGVudGlhbHMpO2IucmVzcG9uc2VUeXBlJiYoYy5yZXNwb25zZVR5cGU9Yi5yZXNwb25zZVR5cGUpO2IubWltZVR5cGUmJmMub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKTtiLnRpbWVvdXRNcz4wJiYoZj1fLnUuc2V0VGltZW91dChmdW5jdGlvbigpe2Mub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57fTtjLmFib3J0KCk7ZShuZXcgWmYoYSxjKSl9LGIudGltZW91dE1zKSk7dHJ5e2Muc2VuZChudWxsKX1jYXRjaChoKXtjLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e30sXy51LmNsZWFyVGltZW91dChmKSxlKG5ldyBYZigiRXJyb3Igc2VuZGluZyBYSFI6ICIraC5tZXNzYWdlLGEsYykpfX0pKS5LZyhmdW5jdGlvbihkKXtkIGluc3RhbmNlb2YgXy5QZiYmYy5hYm9ydCgpO3Rocm93IGQ7fSl9O1hmPWZ1bmN0aW9uKGEsYil7Xy5MYS5jYWxsKHRoaXMsYSsiLCB1cmw9IitiKTt0aGlzLnVybD1ifTsKWWY9ZnVuY3Rpb24oYSxiLGMpe1hmLmNhbGwodGhpcywiUmVxdWVzdCBGYWlsZWQsIHN0YXR1cz0iK2EsYixjKTt0aGlzLnN0YXR1cz1hfTtaZj1mdW5jdGlvbihhLGIpe1hmLmNhbGwodGhpcywiUmVxdWVzdCB0aW1lZCBvdXQiLGEsYil9O18uJGY9ZnVuY3Rpb24oYSxiLGMsZCxlPWIpe3ZhciBmPWIubGVuZ3RoLGg9KCk9PntmPTA7YS5vbmxvYWQ9bnVsbDthLm9uZXJyb3I9bnVsbDtrPSgpPT57fX0saz0oKT0+e2goKTt2YXIgbT1lLmZpbHRlcihuPT4hXy5WZCgpLkxhKG4pLmlzTG9hZGVkKCkpO20ubGVuZ3RoIT09MD9kKG0sYFJlc3BvbnNlIHdhcyBzdWNjZXNzZnVsIGJ1dCB3YXMgbWlzc2luZyBtb2R1bGUocykgJHttfS5gKTpjKCl9LGw9KCk9PntmLS07Zj09MCYmaygpfTtiLmZvckVhY2gobT0+e209Xy5WZCgpLkxhKG0pO20uaXNMb2FkZWQoKT9sKCk6KGZlKG0sbCksaGUobSxsKSl9KTthLm9ubG9hZD0oKT0+aygpO2Eub25lcnJvcj0oKT0+e2goKTtkKGIpfX07Cl8uYWc9ZnVuY3Rpb24oYSxiKXt2YXIgYz0hMSxkPVtdO2ZvcihsZXQgZT0wO2U8Yi5sZW5ndGg7KytlKXtsZXQgZj1iW2VdO2EuQltmXXx8KGEuQltmXT0hMCxhLloucHVzaChmKSxjPSEwLGQucHVzaChmKSl9YyYmKGEub2E9ITEpfTtiZz1mdW5jdGlvbihhLGIpe2lmKGIuaHJlZnx8Yi5nZXRBdHRyaWJ1dGUoImRhdGEtaHJlZiIpKWlmKGI9Yi5ocmVmfHxiLmdldEF0dHJpYnV0ZSgiZGF0YS1ocmVmIikscmUoYikmJiFxZShiKS5vLmVuZHNXaXRoKCJfL2pzLyIpKXtiPXllKHFlKGIpKTtmb3IobGV0IGMgb2YgYilhLmhhLmluY2x1ZGVzKGMpfHxhLmhhLnB1c2goYyl9fTtkZz1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPSgpPT57fSxmPSExKXtjZyhhLGIsKGgsayxsPWspPT57YS5NYSYmZj9hLlFhKGgsayxkLGUsbCk6YS5sb2FkKGgsayxkLGUsbCxjKX0sYyl8fGQoLTEpfTtlZz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmZpbHRlcihjPT4hYS5CW2NdKX07CmZnPWZ1bmN0aW9uKGEsYixjLHtZZDpkLG9uRXJyb3I6ZSxvblN1Y2Nlc3M6Zixmb3JjZVJlbG9hZDpofT17fSl7YS5NPWM7aWYoIWIpdGhyb3cgRXJyb3IoIlMiKTtpZihhLlZkKXtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInN0eWxlIikpYmcoYSxrKTtmb3IobGV0IGsgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpbmsiKSliZyhhLGspfWRnKGEsZWcoYSxiKSxkLGUsZixoKX07CmNnPWZ1bmN0aW9uKGEsYixjLGQpe2lmKGEudilyZXR1cm4gYS52LnRoZW4oKCk9PntjZyhhLGIsYyxkKX0pLCEwO2lmKCFhLkQpe2xldCBmPVtdO3ZhciBlPU9iamVjdC5hc3NpZ24oe30sYS5CKTtnZyhhLGIsaD0+e2YucHVzaChoLmdldElkKCkpfSxkLGg9PiFoLmlzTG9hZGVkKCksZSk7Yj1mfWZvcihlPTA7ZTxiLmxlbmd0aDspe2xldCBmPWIubGVuZ3RoLWUsaD1lPT0wP2I6Yi5zbGljZShlLGIubGVuZ3RoKSxrPWhnKGEsaCxkKSxsPV8uVWEoaykudG9TdHJpbmcoKTtmb3IoO2wubGVuZ3RoPmEuZGk7KWlmKGY+MSlmLT1NYXRoLmNlaWwoKGwubGVuZ3RoLWEuZGkpLzYpLGY9TWF0aC5tYXgoZiwxKSxoPWIuc2xpY2UoZSxlK2YpLGs9aGcoYSxoLGQpLGw9Xy5VYShrKS50b1N0cmluZygpO2Vsc2UgcmV0dXJuIGEuRD8oYS5EPSExLGEudj1pZyhhKS50aGVuKG09PntqZyhhLG0sZCl9KSxjZyhhLGIuc2xpY2UoZSksYyxkKSk6ITE7ZSs9ZjthLkQ/YyhrLGgpOmMoayxoLGU9PT1iLmxlbmd0aD8KYjpbXSl9cmV0dXJuITB9O2tnPWZ1bmN0aW9uKGEpe2Eub2F8fChhLm9hPSEwLGEuWi5zb3J0KCkpO3JldHVybiBhLlp9O2xnPWZ1bmN0aW9uKGEpe2E9YS5oYTthLnNvcnQoKTtyZXR1cm4gYX07aGc9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLkQ/bWcoYS5ZLGIse2Nzc1Jvd0tleTphLkZhLEtlOmEueWEsWWQ6YyxtbjprZyhhKSxsbjpsZyhhKX0pOm5nKGEuWSxiLHtjc3NSb3dLZXk6YS5GYSxLZTphLnlhLG1uOmtnKGEpLGxuOmxnKGEpfSl9O18ub2c9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoOysrZCl7bGV0IGU9YltkXTthLkJbZV0mJihkZWxldGUgYS5CW2VdLF8ueGIoYS5aLGUpLGMucHVzaChlKSl9fTsKXy5wZz1mdW5jdGlvbihhLGIsYyxkLGUsZixoPWQpe2EuST1jO2EuZ2EuaW5zZXJ0QmVmb3JlKGMsYS5nYS5maXJzdENoaWxkKTtfLiRmKGMsZCwoKT0+e2MucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZChjKTthLkk9PWMmJihhLkk9bnVsbCk7ZigpfSxrPT57Yy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGMpO2EuST09YyYmKGEuST1udWxsKTtfLm9nKGEsayk7YS52P2Eudi50aGVuKCgpPT57ZSgtMSxiKX0pOmUoLTEsYil9LGgpfTtnZz1mdW5jdGlvbihhLGIsYyxkLGUsZj17fSl7dmFyIGg9Xy5WZCgpO2ZvcihsZXQgayBvZiBiKXtiPWguTGEoayk7aWYoZltrXXx8ZSYmIWUoYikpY29udGludWU7ZltrXT0hMDtsZXQgbD1iLmp8fFtdO2lmKGQpe2xldCBtPVtdO2lmKGQgaW5zdGFuY2VvZiBNYXApe2xldCBuPWQuZ2V0KGspO24mJihtPUFycmF5LmZyb20obikpfWVsc2UgZFtrXSYmKG09T2JqZWN0LmtleXMoZFtrXSkpO2w9bC5jb25jYXQobSl9Z2coYSxsLGMsZCxlLGYpO2MoYil9fTsKaWc9ZnVuY3Rpb24oYSl7YT1hLlkuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwibWQiLCIxIik7cmV0dXJuIFdmKGEudG9TdHJpbmcoKSl9O2pnPWZ1bmN0aW9uKGEsYixjKXtfLlZkKCkuVGgoKGJ8fHt9KS5tb2R1bGVHcmFwaCk7Z2coYSxrZyhhKSxkPT57Xy5hZyhhLFtkLmdldElkKCldKX0sYyk7YS52PW51bGx9O3JnPWZ1bmN0aW9uKGEpe2E9YS5idWYuY2hhckNvZGVBdChhLnBvcysrKTtyZXR1cm4gcWdbYV19O3NnPWZ1bmN0aW9uKGEpe3ZhciBiPTAsYz0wO2Rve3ZhciBkPXJnKGEpO2J8PShkJjMxKTw8YztjKz01fXdoaWxlKGQmMzIpO3JldHVybiBiPDA/Yis0Mjk0OTY3Mjk2OmJ9O3RnPWZ1bmN0aW9uKGEsYil7dGhpcy5EPVtdO3RoaXMuWj1hO3RoaXMuVT1ifHxudWxsO3RoaXMuQj10aGlzLmo9ITE7dGhpcy52PXZvaWQgMDt0aGlzLk09dGhpcy5nYT10aGlzLkk9ITE7dGhpcy5LPTA7dGhpcy5vPW51bGw7dGhpcy5ZPTB9Owp2Zz1mdW5jdGlvbihhLGIsYyl7YS5qPSEwO2Eudj1jO2EuQj0hYjt1ZyhhKX07eGc9ZnVuY3Rpb24oYSl7aWYoYS5qKXtpZighYS5NKXRocm93IG5ldyB3ZyhhKTthLk09ITF9fTt6Zz1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1hLmo7ZXx8KGI9PT1jP2I9Yz0oMCxfLnlnKShiKTooYj0oMCxfLnlnKShiKSxjPSgwLF8ueWcpKGMpKSk7YS5ELnB1c2goW2IsYyxkXSk7ZSYmdWcoYSl9O0FnPWZ1bmN0aW9uKGEpe3JldHVybiBfLnViKGEuRCxmdW5jdGlvbihiKXtyZXR1cm4gdHlwZW9mIGJbMV09PT0iZnVuY3Rpb24ifSl9Owp1Zz1mdW5jdGlvbihhKXtpZihhLksmJmEuaiYmQWcoYSkpe3ZhciBiPWEuSyxjPUJnW2JdO2MmJihfLnUuY2xlYXJUaW1lb3V0KGMuaiksZGVsZXRlIEJnW2JdKTthLks9MH1hLm8mJihhLm8uWS0tLGRlbGV0ZSBhLm8pO2I9YS52O2Zvcih2YXIgZD1jPSExO2EuRC5sZW5ndGgmJiFhLkk7KXt2YXIgZT1hLkQuc2hpZnQoKSxmPWVbMF07bGV0IGs9ZVsxXTtlPWVbMl07aWYoZj1hLkI/azpmKXRyeXt2YXIgaD1mLmNhbGwoZXx8YS5VLGIpO2g9PT1DZyYmKGg9dm9pZCAwKTtoIT09dm9pZCAwJiYoYS5CPWEuQiYmKGg9PWJ8fGEuaXNFcnJvcihoKSksYS52PWI9aCk7aWYoemYoYil8fHR5cGVvZiBfLnUuUHJvbWlzZT09PSJmdW5jdGlvbiImJmIgaW5zdGFuY2VvZiBfLnUuUHJvbWlzZSlkPSEwLGEuST0hMH1jYXRjaChsKXtiPWwsYS5CPSEwLEFnKGEpfHwoYz0hMCl9fWEudj1iO2QmJihoPSgwLF8uQ2EpKGEuc3AsYSwhMCksZD0oMCxfLkNhKShhLnNwLGEsITEpLGIgaW5zdGFuY2VvZiB0Zz8KKHpnKGIsaCxkKSxiLmdhPSEwKTpiLnRoZW4oaCxkKSk7YyYmKGI9bmV3IERnKGIpLEJnW2Iual09YixhLks9Yi5qKX07RWc9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IHRnO2EudGhlbihmdW5jdGlvbihjKXtiLmNhbGxiYWNrKGMpfSxmdW5jdGlvbihjKXt4ZyhiKTt2ZyhiLCExLGMpfSk7cmV0dXJuIGJ9O3dnPWZ1bmN0aW9uKCl7Xy5MYS5jYWxsKHRoaXMpfTtGZz1mdW5jdGlvbigpe18uTGEuY2FsbCh0aGlzKX07RGc9ZnVuY3Rpb24oYSl7dGhpcy5qPV8udS5zZXRUaW1lb3V0KCgwLF8uQ2EpKHRoaXMudGhyb3dFcnJvcix0aGlzKSwwKTt0aGlzLm89YX07CkhnPWZ1bmN0aW9uKGEpe3N3aXRjaChhLnR5cGUpe2Nhc2UgR2cuVHlwZS5wbzpyZXR1cm4iVW5hdXRob3JpemVkIjtjYXNlIEdnLlR5cGUucGs6cmV0dXJuIkNvbnNlY3V0aXZlIGxvYWQgZmFpbHVyZXMiO2Nhc2UgR2cuVHlwZS5USU1FT1VUOnJldHVybiJUaW1lZCBvdXQiO2Nhc2UgR2cuVHlwZS5obzpyZXR1cm4iT3V0IG9mIGRhdGUgbW9kdWxlIGlkIjtjYXNlIEdnLlR5cGUudWs6cmV0dXJuIkluaXQgZXJyb3IiO2RlZmF1bHQ6cmV0dXJuYFVua25vd24gZmFpbHVyZSB0eXBlICR7YS50eXBlfWB9fTsKSWc9ZnVuY3Rpb24oKXt0aGlzLmhhPXRoaXMuWT1udWxsO3RoaXMuRD1uZXcgTWFwO3RoaXMuQj1uZXcgU2V0O3RoaXMuSz1bXTt0aGlzLlU9bmV3IFNldDt0aGlzLnY9W107dGhpcy5JPW5ldyBTZXQ7dGhpcy5qPUFlP25ldyBNYXA6e307dGhpcy5NPW5ldyBNYXA7dGhpcy5vPXRoaXMuWj1uZXcgdmEuT2coW10sIiIpO3RoaXMueWE9bnVsbDt0aGlzLmdhPW5ldyB0Zzt0aGlzLkZhPXRoaXMuUWE9dGhpcy5NYT10aGlzLm9hPSExfTtKZz1mdW5jdGlvbihhLGIpe18uTGEuY2FsbCh0aGlzLGBFcnJvciBsb2FkaW5nICR7YX06ICR7Yn1gKX07Ck9nPWZ1bmN0aW9uKGEsYil7aWYoIUtnKXtmb3IodmFyIGM9MDtjPDY0O2MrKylxZ1siQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckNvZGVBdChjKV09YztLZz0hMH1iPXtidWY6Yixwb3M6Mn07c2coYik7Yz1zZyhiKTt2YXIgZD1zZyhiKSsxLGU9QXJyYXkoYyksZj1BcnJheShjKSxoPUFycmF5KGMpO2Q9QXJyYXkoZCk7dmFyIGs9MCxsPTAsbT1iLmJ1ZixuPWIucG9zLHA9Yi5idWYuaW5kZXhPZigifCIsYi5wb3MpO2IucG9zPXArMTtmb3IocD0wO3A8YztwKyspe3ZhciByPXNnKGIpLHQ9ciYyLHY9ciYxO3I+Pj49Mjt2PyhrKz1yPj4+MV4tKHImMSkscj0ic3kiK2sudG9TdHJpbmcoMzYpKToodj1uLG4rPXIscj1tLnN1YnN0cmluZyh2LG4pKTtlW3BdPXI7dCYmKGRbbCsrXT1yKX1kW2xdPSIiO2IucG9zKys7bD1jJi0yO2s9YyYxO2ZvcihtPTA7bTxsO20rPTIpbj1yZyhiKSxoW21dPW4mNyxoW20rMV09Cm4+Pj4zJjc7ayYmKGs9cmcoYiksaFtsXT1rJjcpO2IucG9zKys7Zm9yKGw9MDtsPGM7bCsrKWhbbF09PT03JiYoaFtsXT1zZyhiKSk7Yi5wb3MrKztsPTA7Zm9yKGs9MDtrPGM7aysrKXttPWhba107bj1tPT09MD9MZzpBcnJheShtKTtmW2tdPW47cD1sO2Zvcih0PTA7dDxtO3QrKylwLT1zZyhiKSxuW3RdPWRbcF07ZFtsXT09PWVba10mJmwrK312YXIge2lkczp6LGRlcGVuZGVuY2llczpFfT17aWRzOmUsZGVwZW5kZW5jaWVzOmZ9O2ZvcihiPTA7Yjx6Lmxlbmd0aDtiKyspTmcoYSx6W2JdLEVbYl0pO2EuaGE9en07Umc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NYSxjPWEuaXNBY3RpdmUoKTtjIT1iJiYoUGcoYSxjP1FnLk1zOlFnLklETEUpLGEuTWE9Yyk7Yj1hLkZxKCk7YiE9YS5RYSYmKFBnKGEsYj9RZy5odTpRZy5pdSksYS5RYT1iKX07Tmc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuRC5nZXQoYik7ZD9kLmo9YzphLkQuc2V0KGIsbmV3IHZhLk9nKGMsYikpfTsKVGc9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW5ldyBTZXQoYik7Yj1bXTt2YXIgZT17fTtmb3IobGV0IGYgb2YgZCl7ZD1hLkxhKGYpO2lmKCFkKXRocm93IEVycm9yKCJVYCIrZik7bGV0IGg9bmV3IHRnO2VbZl09aDtkLmlzTG9hZGVkKCk/aC5jYWxsYmFjayhudWxsKTooU2coYSxmLGQsISFjLGgpLGEudWgoZil8fGIucHVzaChmKSl9Yi5sZW5ndGg+MCYmKGEuQi5zaXplPT09MD9hLnNqKGIpOihhLnYucHVzaChiKSxSZyhhKSkpO3JldHVybiBlfTtTZz1mdW5jdGlvbihhLGIsYyxkLGUpe2dlKGMsZS5jYWxsYmFjayxlKTtoZShjLGZ1bmN0aW9uKGYpe2Y9bmV3IEpnKGIsZik7eGcoZSk7dmcoZSwhMSxmKX0pO2EudWgoYik/ZCYmKGEuSS5hZGQoYiksUmcoYSkpOmQmJmEuSS5hZGQoYil9OwpVZz1mdW5jdGlvbihhLGIpe2lmKCFhLm8uaGFzKGIpJiYoYS5vLmFkZChiKSwhYS5qLlUuaGFzKGIpKSl7dmFyIGM9YS5qLkxhKGIpO2lmKGMmJiFjLmlzTG9hZGVkKCkpe2M9Yy5qO2ZvcihsZXQgZD0wO2Q8Yy5sZW5ndGg7ZCsrKVVnKGEsY1tkXSk7YS5yZXN1bHQucHVzaChiKX19fTtZZz1mdW5jdGlvbihhLGIpe2I9Yi5maWx0ZXIoZT0+YS5ELmdldChlKS5pc0xvYWRlZCgpPyhfLnUuc2V0VGltZW91dCgoKT0+RXJyb3IoIlhgIitlKSwwKSwhMSk6ITApO2lmKFZnKXt2YXIgYz1uZXcgV2coYSk7Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspVWcoYyxiW2RdKTtjPWMucmVzdWx0fWVsc2V7Yz1bXTtmb3IoZD0wO2Q8Yi5sZW5ndGg7ZCsrKWM9Yy5jb25jYXQoWGcoYSxiW2RdKSk7QWIoYyl9cmV0dXJuIWEub2EmJmMubGVuZ3RoPjE/KGI9Yy5zaGlmdCgpLGEudj1jLm1hcChmdW5jdGlvbihlKXtyZXR1cm5bZV19KS5jb25jYXQoYS52KSxbYl0pOmN9OwpYZz1mdW5jdGlvbihhLGIpe2lmKFZnKXJldHVybiBhPW5ldyBXZyhhKSxVZyhhLGIpLGEucmVzdWx0O3ZhciBjPVtdO2EuVS5oYXMoYil8fGMucHVzaChiKTtiPVtiXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YS5MYShiW2RdKS5qO2ZvcihsZXQgZj1lLmxlbmd0aC0xO2Y+PTA7Zi0tKXtsZXQgaD1lW2ZdO2EuTGEoaCkuaXNMb2FkZWQoKXx8YS5VLmhhcyhoKXx8KGMucHVzaChoKSxiLnB1c2goaCkpfX1jLnJldmVyc2UoKTtBYihjKTtyZXR1cm4gY307CmJoPWZ1bmN0aW9uKGEsYixjLGQsZSxmPTAsaD0hMSl7dmFyIGs9aD8wOmYrMTtmPV8ueWIoYyk7YS5LPWI7Zm9yKGxldCBsIG9mIGMpYS5VLmRlbGV0ZShsKTtpZihkPT00MDEpWmcoYSxuZXcgdmEub2IodmEub2IuVHlwZS5wbyxkKSksYS52Lmxlbmd0aD0wO2Vsc2UgaWYoZD09NDEwKSRnKGEsbmV3IHZhLm9iKHZhLm9iLlR5cGUuaG8sZCkpLGFoKGEpO2Vsc2UgaWYoaz49MylbLi4uYS5CXSwkZyhhLG5ldyB2YS5vYih2YS5vYi5UeXBlLnBrLGQsZixlKSksYWgoYSk7ZWxzZXtbLi4uYS5CXTtsZXQgbD1kPT04MDAxfHwhMTsoYz1NYXRoLnBvdyhrLDIpKjVFMyk/Xy51LnNldFRpbWVvdXQoKCk9PnthLnNqKGIsayxsKX0sYyk6YS5zaihiLGssbCl9fTskZz1mdW5jdGlvbihhLGIpe2EuSy5sZW5ndGg+MT9hLnY9YS5LLm1hcChmdW5jdGlvbihjKXtyZXR1cm5bY119KS5jb25jYXQoYS52KTpaZyhhLGIpfTsKWmc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLks7YS5CLmNsZWFyKCk7dmFyIGQ9W107Zm9yKHZhciBlPTA7ZTxhLnYubGVuZ3RoO2UrKyl7dmFyIGY9YS52W2VdLmZpbHRlcihmdW5jdGlvbihoKXt2YXIgaz1YZyh0aGlzLGgpO3JldHVybiBfLnViKGMsZnVuY3Rpb24obCl7cmV0dXJuIF8uc2IoayxsKT49MH0pfSxhKTt6YihkLGYpfWZvcihlPTA7ZTxjLmxlbmd0aDtlKyspd2IoZCxjW2VdKTtmb3IoZT0wO2U8ZC5sZW5ndGg7ZSsrKXtmb3IoZj0wO2Y8YS52Lmxlbmd0aDtmKyspXy54YihhLnZbZl0sZFtlXSk7YS5JLmRlbGV0ZShkW2VdKX1pZihlPWEuTS5nZXQoUWcuRVJST1IpKWZvcihmPTA7ZjxlLmxlbmd0aDtmKyspe2xldCBoPWVbZl07Zm9yKGxldCBrPTA7azxkLmxlbmd0aDtrKyspaChRZy5FUlJPUixkW2tdLGIpfWZvcihkPTA7ZDxjLmxlbmd0aDtkKyspaWYoZT1hLkQuZ2V0KGNbZF0pKWUub25FcnJvcihiKTthLksubGVuZ3RoPTA7UmcoYSl9OwphaD1mdW5jdGlvbihhKXtmb3IoO2Eudi5sZW5ndGg7KXtsZXQgYj1hLnYuc2hpZnQoKS5maWx0ZXIoZnVuY3Rpb24oYyl7cmV0dXJuIXRoaXMuTGEoYykuaXNMb2FkZWQoKX0sYSk7aWYoYi5sZW5ndGg+MCl7YS5zaihiKTtyZXR1cm59fVJnKGEpfTtQZz1mdW5jdGlvbihhLGIpe2E9YS5NLmdldChiKTtmb3IobGV0IGM9MDthJiZjPGEubGVuZ3RoO2MrKylhW2NdKGIpfTtjaD1mdW5jdGlvbihhLGIsYyxkLGUpe2ZvcihsZXQgZiBvZiBiKWI9YS5MYShmKSwhZS5oYXMoZikmJmQoYikmJihlLmFkZChmKSxjaChhLGIuanx8W10sYyxkLGUpLGMoYikpfTsKZmg9ZnVuY3Rpb24oKXt2YXIgYT17RXU6IkJBVENIIn0sYj1hLmNzc1Jvd0tleXx8IiIsYz1hLktlfHwiIjshYS54SSYmIWImJndpbmRvdyYmd2luZG93Ll9GX2Nzc1Jvd0tleSYmKGI9d2luZG93Ll9GX2Nzc1Jvd0tleSwhYyYmd2luZG93Ll9GX2NvbWJpbmVkU2lnbmF0dXJlJiYoYz13aW5kb3cuX0ZfY29tYmluZWRTaWduYXR1cmUpKTtpZighYS5jc3NSb3dLZXkmJmImJnR5cGVvZiB3aW5kb3cuX0ZfaW5zdGFsbENzcyE9PSJmdW5jdGlvbiIpdGhyb3cgRXJyb3IoIloiKTt2YXIgZD1hLk5KfHxfLmRoLGU9RWUoImJhc2UtanMiKTtiPW5ldyBkKEdiKEZlKCIiLGUpKSxiLGMsITAsITEpO2M9YS5wTHx8ZSYmZS5oYXNBdHRyaWJ1dGUoImNyb3Nzb3JpZ2luIik7ZT1hLmxJfHxlJiZlLmdldEF0dHJpYnV0ZSgiY3Jvc3NvcmlnaW4iKTtjJiYoYi5maT1jKTtlJiYoYi5XZz1lKTthLmRpJiYoYi5kaT1hLmRpKTthLmZldGNoUHJpb3JpdHkmJihiLmZldGNoUHJpb3JpdHk9YS5mZXRjaFByaW9yaXR5KTsKdmFyIGY9Xy5WZCgpO2YuWT1iO2YuUnIoITApO18uZWg9YS5FdT09PSJCQVRDSCI/cmY6aD0+UHJvbWlzZS5yZXNvbHZlKGYubG9hZChoKSl9O2loPWZ1bmN0aW9uKGEsYil7Yj1iLmZpbHRlcihjPT4hYS51aChjKSYmIWEuTGEoYykuaXNMb2FkZWQoKSk7Yi5sZW5ndGg+MCYmKGdoKGEsLi4uYiksYS5LLnB1c2goYiksaGgoYSkpfTtqaD1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgXy5CZigoYyxkKT0+e3ZhciBlPWEuTGEoYik7ZS5pc0xvYWRlZCgpP2MobnVsbCk6KGdlKGUsKCk9PntjKG51bGwpfSksaGUoZSxmPT57dmFyIGg9YEVycm9yIGxvYWRpbmcgJHtifTogJHtmfWA7ZiBpbnN0YW5jZW9mIHZhLm9iJiZmLnVybCYmKGg9YCR7aH0sIHJlcXVlc3RlZCB1cmw6ICR7Zi51cmwudG9TdHJpbmcoKX1gKTtkKEVycm9yKGgpKX0pKX0pfTsKa2g9ZnVuY3Rpb24oYSxiLGMsZD0oKT0+ITAsZT17fSl7Zm9yKGxldCBmIG9mIGIpYj1hLkxhKGYpLCFlW2ZdJiZkKGIpJiYoZVtmXT0hMCxraChhLGIuanx8W10sYyxkLGUpLGMoYikpfTtsaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57ZGVsZXRlIGEuRFtjXX0pfTtnaD1mdW5jdGlvbihhLC4uLmIpe2IuZm9yRWFjaChjPT57YS5EW2NdPSEwfSl9OwpoaD1mdW5jdGlvbihhKXtmb3IoO2EuQjxJbmZpbml0eSYmYS5LLmxlbmd0aD4wOyl7bGV0IGI9YS5LLnNoaWZ0KCkuZmlsdGVyKGM9PiFhLkxhKGMpLmlzTG9hZGVkKCkpO2lmKGIubGVuZ3RoPjApe2EuQisrO2xldCBjPSgpPT57YS5CLS07aGgoYSk7Yz0oKT0+e319O18uSWYoYi5tYXAoZj0+amgoYSxmKSkpLnRoZW4oKCk9PntjKCl9KTtsZXQgZD0wLGU9KCk9PntpZigoYS5qIGluc3RhbmNlb2YgTWFwP2Euai5zaXplPjA6T2JqZWN0LmtleXMoYS5qKS5sZW5ndGg+MCkmJiFhLlkuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLlksYixhLnYse1lkOmEuaixvbkVycm9yOihmLGgpPT57dmFyIGs9bWhbZCsrXTtrIT09dm9pZCAwP3NldFRpbWVvdXQoKCk9PntlKCl9LGspOihsaChhLC4uLmIpLGMoKSxiLmZvckVhY2gobD0+e2w9YS5MYShsKTtpZighbC5pc0xvYWRlZCgpKWwub25FcnJvcihuZXcgdmEub2IodmEub2IuVHlwZS5wayxmLGIsaCkpfSkpfX0pfTtlKCl9fX07Cm5oPWZ1bmN0aW9uKGEpe2Euaj09PS0xJiYoYS5qPWEuZGF0YS5yZWR1Y2UoKGIsYyxkKT0+YisoYz8yKipkOjApLDApKTtyZXR1cm4gYS5qfTtfLm9oPWZ1bmN0aW9uKCl7fTtfLnNoPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBwaHx8YSBpbnN0YW5jZW9mIHFofHxhIGluc3RhbmNlb2YgcmgpcmV0dXJuIGE7aWYodHlwZW9mIGEubmV4dD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hKTtpZih0eXBlb2YgYVtTeW1ib2wuaXRlcmF0b3JdPT0iZnVuY3Rpb24iKXJldHVybiBuZXcgcGgoKCk9PmFbU3ltYm9sLml0ZXJhdG9yXSgpKTtpZih0eXBlb2YgYS5iZD09ImZ1bmN0aW9uIilyZXR1cm4gbmV3IHBoKCgpPT5hLmJkKCkpO3Rocm93IEVycm9yKCIkIik7fTtfLnRoPWZ1bmN0aW9uKGEpe18uYWUuY2FsbCh0aGlzKTt0aGlzLkQ9MTt0aGlzLnY9W107dGhpcy5CPTA7dGhpcy5qPVtdO3RoaXMubz17fTt0aGlzLkk9ISFhfTsKdWg9ZnVuY3Rpb24oYSxiLGMpe0dmKGZ1bmN0aW9uKCl7YS5hcHBseShiLGMpfSl9O3ZoPWZ1bmN0aW9uKGEpe3RoaXMuaj1hfTt3aD1mdW5jdGlvbihhKXt0aGlzLmo9YX07eGg9ZnVuY3Rpb24oYSl7dGhpcy5kYXRhPWF9O3loPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09dm9pZCAwfHxhIGluc3RhbmNlb2YgeGg/YTpuZXcgeGgoYSl9O18uemg9ZnVuY3Rpb24oYSl7dGhpcy5qPWF9O0FoPWZ1bmN0aW9uKCl7fTtCaD1mdW5jdGlvbigpe307Q2g9ZnVuY3Rpb24oYSl7dGhpcy5qPWE7dGhpcy5vPW51bGx9O0RoPWZ1bmN0aW9uKGEpe2lmKGEuaj09bnVsbCl0aHJvdyBFcnJvcigiYWEiKTthLmlzQXZhaWxhYmxlKCl8fF8uJGIoRXJyb3IoImFhIikpfTtFaD1mdW5jdGlvbigpe3ZhciBhPW51bGw7dHJ5e2E9Xy51LmxvY2FsU3RvcmFnZXx8bnVsbH1jYXRjaChiKXt9Q2guY2FsbCh0aGlzLGEpfTtGaD1mdW5jdGlvbihhLGIpe3RoaXMubz1hO3RoaXMuaj1iKyI6OiJ9OwpfLkdoPWZ1bmN0aW9uKGEpe3ZhciBiPW5ldyBFaDtyZXR1cm4gYi5pc0F2YWlsYWJsZSgpP2E/bmV3IEZoKGIsYSk6YjpudWxsfTsKSWg9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWEubGVuZ3RoLGU9MDtmb3IoYj0wO2I8ZDtiKyspe3ZhciBmPWEuY2hhckNvZGVBdChiKTtpZigoZiY2NDUxMik9PT01NTI5NiYmYisxPGQpe3ZhciBoPWEuY2hhckNvZGVBdChiKzEpOyhoJjY0NTEyKT09PTU2MzIwJiYoZj02NTUzNisoZi01NTI5Njw8MTApKyhoLTU2MzIwKSxiKyspfWUrPWY8MTI4PzE6ZjwyMDQ4PzI6Zjw2NTUzNj8zOjR9dmFyIGs9bmV3IEhoLnRmKGUpO2ZvcihiPWM9MDtjPGU7YisrKWY9YS5jaGFyQ29kZUF0KGIpLChmJjY0NTEyKT09PTU1Mjk2JiZiKzE8ZCYmKGg9YS5jaGFyQ29kZUF0KGIrMSksKGgmNjQ1MTIpPT09NTYzMjAmJihmPTY1NTM2KyhmLTU1Mjk2PDwxMCkrKGgtNTYzMjApLGIrKykpLGY8MTI4P2tbYysrXT1mOihmPDIwNDg/a1tjKytdPTE5MnxmPj4+NjooZjw2NTUzNj9rW2MrK109MjI0fGY+Pj4xMjooa1tjKytdPTI0MHxmPj4+MTgsa1tjKytdPTEyOHxmPj4+MTImNjMpLGtbYysrXT0xMjh8Zj4+Pgo2JjYzKSxrW2MrK109MTI4fGYmNjMpO3JldHVybiBrfTtKaD1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGg7LS1iPj0wOylhW2JdPTB9O0toPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy5Zcj1hO3RoaXMuVXY9Yjt0aGlzLlR2PWM7dGhpcy54dj1kO3RoaXMuRnk9ZTt0aGlzLmVxPWEmJmEubGVuZ3RofTtMaD1mdW5jdGlvbihhLGIpe3RoaXMuRXA9YTt0aGlzLmxnPTA7dGhpcy56ZT1ifTtNaD1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWImMjU1O2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NX07Tmg9ZnVuY3Rpb24oYSxiLGMpe2EuaGI+MTYtYz8oYS5GYnw9Yjw8YS5oYiY2NTUzNSxNaChhLGEuRmIpLGEuRmI9Yj4+MTYtYS5oYixhLmhiKz1jLTE2KTooYS5GYnw9Yjw8YS5oYiY2NTUzNSxhLmhiKz1jKX07T2g9ZnVuY3Rpb24oYSxiLGMpe05oKGEsY1tiKjJdLGNbYioyKzFdKX07ClBoPWZ1bmN0aW9uKGEsYil7dmFyIGM9MDtkbyBjfD1hJjEsYT4+Pj0xLGM8PD0xO3doaWxlKC0tYj4wKTtyZXR1cm4gYz4+PjF9O1FoPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1BcnJheSgxNiksZT0wLGY7Zm9yKGY9MTtmPD0xNTtmKyspZFtmXT1lPWUrY1tmLTFdPDwxO2ZvcihjPTA7Yzw9YjtjKyspZT1hW2MqMisxXSxlIT09MCYmKGFbYyoyXT1QaChkW2VdKyssZSkpfTtSaD1mdW5jdGlvbihhKXt2YXIgYjtmb3IoYj0wO2I8Mjg2O2IrKylhLlFiW2IqMl09MDtmb3IoYj0wO2I8MzA7YisrKWEuUGVbYioyXT0wO2ZvcihiPTA7YjwxOTtiKyspYS5xYltiKjJdPTA7YS5RYls1MTJdPTE7YS5DZD1hLkhnPTA7YS5rYz1hLm1hdGNoZXM9MH07U2g9ZnVuY3Rpb24oYSl7YS5oYj44P01oKGEsYS5GYik6YS5oYj4wJiYoYS5PYVthLnBlbmRpbmcrK109YS5GYik7YS5GYj0wO2EuaGI9MH07ClRoPWZ1bmN0aW9uKGEsYixjKXtTaChhKTtNaChhLGMpO01oKGEsfmMpO0hoLndmKGEuT2EsYS53aW5kb3csYixjLGEucGVuZGluZyk7YS5wZW5kaW5nKz1jfTtVaD1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1iKjIsZj1jKjI7cmV0dXJuIGFbZV08YVtmXXx8YVtlXT09PWFbZl0mJmRbYl08PWRbY119O1ZoPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9YS5oZWFwW2NdLGU9Yzw8MTtlPD1hLnhkOyl7ZTxhLnhkJiZVaChiLGEuaGVhcFtlKzFdLGEuaGVhcFtlXSxhLmRlcHRoKSYmZSsrO2lmKFVoKGIsZCxhLmhlYXBbZV0sYS5kZXB0aCkpYnJlYWs7YS5oZWFwW2NdPWEuaGVhcFtlXTtjPWU7ZTw8PTF9YS5oZWFwW2NdPWR9OwpjaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9MDtpZihhLmtjIT09MCl7ZG97dmFyIGU9YS5PYVthLllnK2QqMl08PDh8YS5PYVthLllnK2QqMisxXTt2YXIgZj1hLk9hW2Eua20rZF07ZCsrO2lmKGU9PT0wKU9oKGEsZixiKTtlbHNle3ZhciBoPVdoW2ZdO09oKGEsaCsyNTYrMSxiKTt2YXIgaz1YaFtoXTtrIT09MCYmKGYtPVloW2hdLE5oKGEsZixrKSk7ZS0tO2g9ZTwyNTY/WmhbZV06WmhbMjU2KyhlPj4+NyldO09oKGEsaCxjKTtrPSRoW2hdO2shPT0wJiYoZS09YmlbaF0sTmgoYSxlLGspKX19d2hpbGUoZDxhLmtjKX1PaChhLDI1NixiKX07CmRpPWZ1bmN0aW9uKGEsYil7dmFyIGM9Yi5FcCxkPWIuemUuWXIsZT1iLnplLmVxLGY9Yi56ZS54dixoLGs9LTE7YS54ZD0wO2EuWGY9NTczO2ZvcihoPTA7aDxmO2grKyljW2gqMl0hPT0wPyhhLmhlYXBbKythLnhkXT1rPWgsYS5kZXB0aFtoXT0wKTpjW2gqMisxXT0wO2Zvcig7YS54ZDwyOyl7dmFyIGw9YS5oZWFwWysrYS54ZF09azwyPysrazowO2NbbCoyXT0xO2EuZGVwdGhbbF09MDthLkNkLS07ZSYmKGEuSGctPWRbbCoyKzFdKX1iLmxnPWs7Zm9yKGg9YS54ZD4+MTtoPj0xO2gtLSlWaChhLGMsaCk7bD1mO2RvIGg9YS5oZWFwWzFdLGEuaGVhcFsxXT1hLmhlYXBbYS54ZC0tXSxWaChhLGMsMSksZD1hLmhlYXBbMV0sYS5oZWFwWy0tYS5YZl09aCxhLmhlYXBbLS1hLlhmXT1kLGNbbCoyXT1jW2gqMl0rY1tkKjJdLGEuZGVwdGhbbF09KGEuZGVwdGhbaF0+PWEuZGVwdGhbZF0/YS5kZXB0aFtoXTphLmRlcHRoW2RdKSsxLGNbaCoyKzFdPWNbZCoyKzFdPWwsYS5oZWFwWzFdPWwrKywKVmgoYSxjLDEpO3doaWxlKGEueGQ+PTIpO2EuaGVhcFstLWEuWGZdPWEuaGVhcFsxXTtoPWIuRXA7bD1iLmxnO2Q9Yi56ZS5ZcjtlPWIuemUuZXE7Zj1iLnplLlV2O3ZhciBtPWIuemUuVHYsbj1iLnplLkZ5LHAscj0wO2ZvcihwPTA7cDw9MTU7cCsrKWEua2RbcF09MDtoW2EuaGVhcFthLlhmXSoyKzFdPTA7Zm9yKGI9YS5YZisxO2I8NTczO2IrKyl7dmFyIHQ9YS5oZWFwW2JdO3A9aFtoW3QqMisxXSoyKzFdKzE7cD5uJiYocD1uLHIrKyk7aFt0KjIrMV09cDtpZighKHQ+bCkpe2Eua2RbcF0rKzt2YXIgdj0wO3Q+PW0mJih2PWZbdC1tXSk7dmFyIHo9aFt0KjJdO2EuQ2QrPXoqKHArdik7ZSYmKGEuSGcrPXoqKGRbdCoyKzFdK3YpKX19aWYociE9PTApe2Rve2ZvcihwPW4tMTthLmtkW3BdPT09MDspcC0tO2Eua2RbcF0tLTthLmtkW3ArMV0rPTI7YS5rZFtuXS0tO3ItPTJ9d2hpbGUocj4wKTtmb3IocD1uO3AhPT0wO3AtLSlmb3IodD1hLmtkW3BdO3QhPT0wOylkPWEuaGVhcFstLWJdLApkPmx8fChoW2QqMisxXSE9PXAmJihhLkNkKz0ocC1oW2QqMisxXSkqaFtkKjJdLGhbZCoyKzFdPXApLHQtLSl9UWgoYyxrLGEua2QpfTtlaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2JbKGMrMSkqMisxXT02NTUzNTtmb3IoZD0wO2Q8PWM7ZCsrKXt2YXIgbT1mO2Y9YlsoZCsxKSoyKzFdOysraDxrJiZtPT09Znx8KGg8bD9hLnFiW20qMl0rPWg6bSE9PTA/KG0hPT1lJiZhLnFiW20qMl0rKyxhLnFiWzMyXSsrKTpoPD0xMD9hLnFiWzM0XSsrOmEucWJbMzZdKyssaD0wLGU9bSxmPT09MD8oaz0xMzgsbD0zKTptPT09Zj8oaz02LGw9Myk6KGs9NyxsPTQpKX19OwpmaT1mdW5jdGlvbihhLGIsYyl7dmFyIGQsZT0tMSxmPWJbMV0saD0wLGs9NyxsPTQ7Zj09PTAmJihrPTEzOCxsPTMpO2ZvcihkPTA7ZDw9YztkKyspe3ZhciBtPWY7Zj1iWyhkKzEpKjIrMV07aWYoISgrK2g8ayYmbT09PWYpKXtpZihoPGwpe2RvIE9oKGEsbSxhLnFiKTt3aGlsZSgtLWghPT0wKX1lbHNlIG0hPT0wPyhtIT09ZSYmKE9oKGEsbSxhLnFiKSxoLS0pLE9oKGEsMTYsYS5xYiksTmgoYSxoLTMsMikpOmg8PTEwPyhPaChhLDE3LGEucWIpLE5oKGEsaC0zLDMpKTooT2goYSwxOCxhLnFiKSxOaChhLGgtMTEsNykpO2g9MDtlPW07Zj09PTA/KGs9MTM4LGw9Myk6bT09PWY/KGs9NixsPTMpOihrPTcsbD00KX19fTsKZ2k9ZnVuY3Rpb24oYSl7dmFyIGI9NDA5MzYyNDQ0NyxjO2ZvcihjPTA7Yzw9MzE7YysrLGI+Pj49MSlpZihiJjEmJmEuUWJbYyoyXSE9PTApcmV0dXJuIDA7aWYoYS5RYlsxOF0hPT0wfHxhLlFiWzIwXSE9PTB8fGEuUWJbMjZdIT09MClyZXR1cm4gMTtmb3IoYz0zMjtjPDI1NjtjKyspaWYoYS5RYltjKjJdIT09MClyZXR1cm4gMTtyZXR1cm4gMH07aGk9ZnVuY3Rpb24oYSxiLGMpe2EuT2FbYS5ZZythLmtjKjJdPWI+Pj44JjI1NTthLk9hW2EuWWcrYS5rYyoyKzFdPWImMjU1O2EuT2FbYS5rbSthLmtjXT1jJjI1NTthLmtjKys7Yj09PTA/YS5RYltjKjJdKys6KGEubWF0Y2hlcysrLGItLSxhLlFiWyhXaFtjXSsyNTYrMSkqMl0rKyxhLlBlWyhiPDI1Nj9aaFtiXTpaaFsyNTYrKGI+Pj43KV0pKjJdKyspO3JldHVybiBhLmtjPT09YS5BaC0xfTtqaT1mdW5jdGlvbihhLGIpe2EubXNnPWlpW2JdO3JldHVybiBifTsKa2k9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEubGVuZ3RoOy0tYj49MDspYVtiXT0wfTtsaT1mdW5jdGlvbihhKXt2YXIgYj1hLnN0YXRlLGM9Yi5wZW5kaW5nO2M+YS56YSYmKGM9YS56YSk7YyE9PTAmJihIaC53ZihhLm91dHB1dCxiLk9hLGIuSmgsYyxhLnFnKSxhLnFnKz1jLGIuSmgrPWMsYS5Fbis9YyxhLnphLT1jLGIucGVuZGluZy09YyxiLnBlbmRpbmc9PT0wJiYoYi5KaD0wKSl9OwpwaT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWI+PTA/YS5VYjotMSxkPWEuVi1hLlViLGU9MDtpZihhLmxldmVsPjApe2Eud2EuaWw9PT0yJiYoYS53YS5pbD1naShhKSk7ZGkoYSxhLnBqKTtkaShhLGEuSWkpO2VpKGEsYS5RYixhLnBqLmxnKTtlaShhLGEuUGUsYS5JaS5sZyk7ZGkoYSxhLlRvKTtmb3IoZT0xODtlPj0zJiZhLnFiW21pW2VdKjIrMV09PT0wO2UtLSk7YS5DZCs9MyooZSsxKSs1KzUrNDt2YXIgZj1hLkNkKzMrNz4+PjM7dmFyIGg9YS5IZyszKzc+Pj4zO2g8PWYmJihmPWgpfWVsc2UgZj1oPWQrNTtpZihkKzQ8PWYmJmMhPT0tMSlOaChhLGI/MTowLDMpLFRoKGEsYyxkKTtlbHNlIGlmKGEuc3RyYXRlZ3k9PT00fHxoPT09ZilOaChhLDIrKGI/MTowKSwzKSxjaShhLG5pLG9pKTtlbHNle05oKGEsNCsoYj8xOjApLDMpO2M9YS5wai5sZysxO2Q9YS5JaS5sZysxO2UrPTE7TmgoYSxjLTI1Nyw1KTtOaChhLGQtMSw1KTtOaChhLGUtNCw0KTtmb3IoZj0wO2Y8ZTtmKyspTmgoYSwKYS5xYlttaVtmXSoyKzFdLDMpO2ZpKGEsYS5RYixjLTEpO2ZpKGEsYS5QZSxkLTEpO2NpKGEsYS5RYixhLlBlKX1SaChhKTtiJiZTaChhKTthLlViPWEuVjtsaShhLndhKX07cWk9ZnVuY3Rpb24oYSxiKXthLk9hW2EucGVuZGluZysrXT1ifTtyaT1mdW5jdGlvbihhLGIpe2EuT2FbYS5wZW5kaW5nKytdPWI+Pj44JjI1NTthLk9hW2EucGVuZGluZysrXT1iJjI1NX07CnNpPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5OcSxkPWEuVixlPWEuWWIsZj1hLlNxLGg9YS5WPmEuQmItMjYyP2EuVi0oYS5CYi0yNjIpOjAsaz1hLndpbmRvdyxsPWEuQmUsbT1hLlVhLG49YS5WKzI1OCxwPWtbZCtlLTFdLHI9a1tkK2VdO2EuWWI+PWEuWXAmJihjPj49Mik7Zj5hLmRhJiYoZj1hLmRhKTtkb3t2YXIgdD1iO2lmKGtbdCtlXT09PXImJmtbdCtlLTFdPT09cCYma1t0XT09PWtbZF0mJmtbKyt0XT09PWtbZCsxXSl7ZCs9Mjtmb3IodCsrO2tbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZrWysrZF09PT1rWysrdF0mJmtbKytkXT09PWtbKyt0XSYma1srK2RdPT09a1srK3RdJiZkPG47KTt0PTI1OC0obi1kKTtkPW4tMjU4O2lmKHQ+ZSl7YS5rZz1iO2U9dDtpZih0Pj1mKWJyZWFrO3A9a1tkK2UtMV07cj1rW2QrZV19fX13aGlsZSgoYj1tW2ImbF0pPmgmJi0tYyE9PTApOwpyZXR1cm4gZTw9YS5kYT9lOmEuZGF9Owp2aT1mdW5jdGlvbihhKXt2YXIgYj1hLkJiLGM7ZG97dmFyIGQ9YS5Lcy1hLmRhLWEuVjtpZihhLlY+PWIrKGItMjYyKSl7SGgud2YoYS53aW5kb3csYS53aW5kb3csYixiLDApO2Eua2ctPWI7YS5WLT1iO2EuVWItPWI7dmFyIGU9Yz1hLmFqO2Rve3ZhciBmPWEuaGVhZFstLWVdO2EuaGVhZFtlXT1mPj1iP2YtYjowfXdoaWxlKC0tYyk7ZT1jPWI7ZG8gZj1hLlVhWy0tZV0sYS5VYVtlXT1mPj1iP2YtYjowO3doaWxlKC0tYyk7ZCs9Yn1pZihhLndhLkRiPT09MClicmVhaztlPWEud2E7Yz1hLndpbmRvdztmPWEuVithLmRhO3ZhciBoPWUuRGI7aD5kJiYoaD1kKTtoPT09MD9jPTA6KGUuRGItPWgsSGgud2YoYyxlLmlucHV0LGUuZmYsaCxmKSxlLnN0YXRlLndyYXA9PT0xP2Uuc2E9dGkoZS5zYSxjLGgsZik6ZS5zdGF0ZS53cmFwPT09MiYmKGUuc2E9dWkoZS5zYSxjLGgsZikpLGUuZmYrPWgsZS5xZis9aCxjPWgpO2EuZGErPWM7aWYoYS5kYSthLnJiPj0zKWZvcihkPWEuVi1hLnJiLGEueGE9CmEud2luZG93W2RdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCsxXSkmYS52ZDthLnJiJiYhKGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbZCszLTFdKSZhLnZkLGEuVWFbZCZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWQsZCsrLGEucmItLSxhLmRhK2EucmI8Myk7KTt9d2hpbGUoYS5kYTwyNjImJmEud2EuRGIhPT0wKX07CndpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjOzspe2lmKGEuZGE8MjYyKXt2aShhKTtpZihhLmRhPDI2MiYmYj09PTApcmV0dXJuIDE7aWYoYS5kYT09PTApYnJlYWt9Yz0wO2EuZGE+PTMmJihhLnhhPShhLnhhPDxhLndkXmEud2luZG93W2EuViszLTFdKSZhLnZkLGM9YS5VYVthLlYmYS5CZV09YS5oZWFkW2EueGFdLGEuaGVhZFthLnhhXT1hLlYpO2MhPT0wJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYykpO2lmKGEuQmE+PTMpaWYoYz1oaShhLGEuVi1hLmtnLGEuQmEtMyksYS5kYS09YS5CYSxhLkJhPD1hLm9tJiZhLmRhPj0zKXthLkJhLS07ZG8gYS5WKyssYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sYS5oZWFkW2EueGFdPWEuVjt3aGlsZSgtLWEuQmEhPT0wKTthLlYrK31lbHNlIGEuVis9YS5CYSxhLkJhPTAsYS54YT1hLndpbmRvd1thLlZdLGEueGE9KGEueGE8PGEud2ReYS53aW5kb3dbYS5WKwoxXSkmYS52ZDtlbHNlIGM9aGkoYSwwLGEud2luZG93W2EuVl0pLGEuZGEtLSxhLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9YS5WPDI/YS5WOjI7cmV0dXJuIGI9PT00PyhwaShhLCEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTsKeGk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZDs7KXtpZihhLmRhPDI2Mil7dmkoYSk7aWYoYS5kYTwyNjImJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWM9MDthLmRhPj0zJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxjPWEuVWFbYS5WJmEuQmVdPWEuaGVhZFthLnhhXSxhLmhlYWRbYS54YV09YS5WKTthLlliPWEuQmE7YS5Bcj1hLmtnO2EuQmE9MjtjIT09MCYmYS5ZYjxhLm9tJiZhLlYtYzw9YS5CYi0yNjImJihhLkJhPXNpKGEsYyksYS5CYTw9NSYmKGEuc3RyYXRlZ3k9PT0xfHxhLkJhPT09MyYmYS5WLWEua2c+NDA5NikmJihhLkJhPTIpKTtpZihhLlliPj0zJiZhLkJhPD1hLlliKXtkPWEuVithLmRhLTM7Yz1oaShhLGEuVi0xLWEuQXIsYS5ZYi0zKTthLmRhLT1hLlliLTE7YS5ZYi09MjtkbysrYS5WPD1kJiYoYS54YT0oYS54YTw8YS53ZF5hLndpbmRvd1thLlYrMy0xXSkmYS52ZCxhLlVhW2EuViZhLkJlXT1hLmhlYWRbYS54YV0sCmEuaGVhZFthLnhhXT1hLlYpO3doaWxlKC0tYS5ZYiE9PTApO2EuY2Y9MDthLkJhPTI7YS5WKys7aWYoYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1lbHNlIGlmKGEuY2Ype2lmKChjPWhpKGEsMCxhLndpbmRvd1thLlYtMV0pKSYmcGkoYSwhMSksYS5WKyssYS5kYS0tLGEud2EuemE9PT0wKXJldHVybiAxfWVsc2UgYS5jZj0xLGEuVisrLGEuZGEtLX1hLmNmJiYoaGkoYSwwLGEud2luZG93W2EuVi0xXSksYS5jZj0wKTthLnJiPWEuVjwyP2EuVjoyO3JldHVybiBiPT09ND8ocGkoYSwhMCksYS53YS56YT09PTA/Mzo0KTphLmtjJiYocGkoYSwhMSksYS53YS56YT09PTApPzE6Mn07CnlpPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjLGQsZSxmPWEud2luZG93Ozspe2lmKGEuZGE8PTI1OCl7dmkoYSk7aWYoYS5kYTw9MjU4JiZiPT09MClyZXR1cm4gMTtpZihhLmRhPT09MClicmVha31hLkJhPTA7aWYoYS5kYT49MyYmYS5WPjAmJihkPWEuVi0xLGM9ZltkXSxjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdKSl7Zm9yKGU9YS5WKzI1ODtjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZjPT09ZlsrK2RdJiZkPGU7KTthLkJhPTI1OC0oZS1kKTthLkJhPmEuZGEmJihhLkJhPWEuZGEpfWEuQmE+PTM/KGM9aGkoYSwxLGEuQmEtMyksYS5kYS09YS5CYSxhLlYrPWEuQmEsYS5CYT0wKTooYz1oaShhLDAsYS53aW5kb3dbYS5WXSksYS5kYS0tLGEuVisrKTtpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsCiEwKSxhLndhLnphPT09MD8zOjQpOmEua2MmJihwaShhLCExKSxhLndhLnphPT09MCk/MToyfTt6aT1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYzs7KXtpZihhLmRhPT09MCYmKHZpKGEpLGEuZGE9PT0wKSl7aWYoYj09PTApcmV0dXJuIDE7YnJlYWt9YS5CYT0wO2M9aGkoYSwwLGEud2luZG93W2EuVl0pO2EuZGEtLTthLlYrKztpZihjJiYocGkoYSwhMSksYS53YS56YT09PTApKXJldHVybiAxfWEucmI9MDtyZXR1cm4gYj09PTQ/KHBpKGEsITApLGEud2EuemE9PT0wPzM6NCk6YS5rYyYmKHBpKGEsITEpLGEud2EuemE9PT0wKT8xOjJ9O0FpPWZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy50dz1hO3RoaXMuRXk9Yjt0aGlzLld5PWM7dGhpcy5EeT1kO3RoaXMua3c9ZX07CkJpPWZ1bmN0aW9uKCl7dGhpcy53YT1udWxsO3RoaXMuc3RhdHVzPTA7dGhpcy5PYT1udWxsO3RoaXMud3JhcD10aGlzLnBlbmRpbmc9dGhpcy5KaD10aGlzLm5jPTA7dGhpcy5xYT1udWxsO3RoaXMuemM9MDt0aGlzLm1ldGhvZD04O3RoaXMuaWc9LTE7dGhpcy5CZT10aGlzLk5uPXRoaXMuQmI9MDt0aGlzLndpbmRvdz1udWxsO3RoaXMuS3M9MDt0aGlzLmhlYWQ9dGhpcy5VYT1udWxsO3RoaXMuU3E9dGhpcy5ZcD10aGlzLnN0cmF0ZWd5PXRoaXMubGV2ZWw9dGhpcy5vbT10aGlzLk5xPXRoaXMuWWI9dGhpcy5kYT10aGlzLmtnPXRoaXMuVj10aGlzLmNmPXRoaXMuQXI9dGhpcy5CYT10aGlzLlViPXRoaXMud2Q9dGhpcy52ZD10aGlzLkxsPXRoaXMuYWo9dGhpcy54YT0wO3RoaXMuUWI9bmV3IEhoLlljKDExNDYpO3RoaXMuUGU9bmV3IEhoLlljKDEyMik7dGhpcy5xYj1uZXcgSGguWWMoNzgpO2tpKHRoaXMuUWIpO2tpKHRoaXMuUGUpO2tpKHRoaXMucWIpO3RoaXMuVG89dGhpcy5JaT0KdGhpcy5waj1udWxsO3RoaXMua2Q9bmV3IEhoLlljKDE2KTt0aGlzLmhlYXA9bmV3IEhoLlljKDU3Myk7a2kodGhpcy5oZWFwKTt0aGlzLlhmPXRoaXMueGQ9MDt0aGlzLmRlcHRoPW5ldyBIaC5ZYyg1NzMpO2tpKHRoaXMuZGVwdGgpO3RoaXMuaGI9dGhpcy5GYj10aGlzLnJiPXRoaXMubWF0Y2hlcz10aGlzLkhnPXRoaXMuQ2Q9dGhpcy5ZZz10aGlzLmtjPXRoaXMuQWg9dGhpcy5rbT0wfTsKRGk9ZnVuY3Rpb24oYSxiKXtpZighYXx8IWEuc3RhdGV8fGI+NXx8YjwwKXJldHVybiBhP2ppKGEsLTIpOi0yO3ZhciBjPWEuc3RhdGU7aWYoIWEub3V0cHV0fHwhYS5pbnB1dCYmYS5EYiE9PTB8fGMuc3RhdHVzPT09NjY2JiZiIT09NClyZXR1cm4gamkoYSxhLnphPT09MD8tNTotMik7Yy53YT1hO3ZhciBkPWMuaWc7Yy5pZz1iO2lmKGMuc3RhdHVzPT09NDIpaWYoYy53cmFwPT09MilhLnNhPTAscWkoYywzMSkscWkoYywxMzkpLHFpKGMsOCksYy5xYT8ocWkoYywoYy5xYS50ZXh0PzE6MCkrKGMucWEuYmU/MjowKSsoYy5xYS5leHRyYT80OjApKyhjLnFhLm5hbWU/ODowKSsoYy5xYS5jb21tZW50PzE2OjApKSxxaShjLGMucWEudGltZSYyNTUpLHFpKGMsYy5xYS50aW1lPj44JjI1NSkscWkoYyxjLnFhLnRpbWU+PjE2JjI1NSkscWkoYyxjLnFhLnRpbWU+PjI0JjI1NSkscWkoYyxjLmxldmVsPT09OT8yOmMuc3RyYXRlZ3k+PTJ8fGMubGV2ZWw8Mj80OjApLHFpKGMsYy5xYS5vcyYyNTUpLApjLnFhLmV4dHJhJiZjLnFhLmV4dHJhLmxlbmd0aCYmKHFpKGMsYy5xYS5leHRyYS5sZW5ndGgmMjU1KSxxaShjLGMucWEuZXh0cmEubGVuZ3RoPj44JjI1NSkpLGMucWEuYmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmcsMCkpLGMuemM9MCxjLnN0YXR1cz02OSk6KHFpKGMsMCkscWkoYywwKSxxaShjLDApLHFpKGMsMCkscWkoYywwKSxxaShjLGMubGV2ZWw9PT05PzI6Yy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzQ6MCkscWkoYywzKSxjLnN0YXR1cz0xMTMpO2Vsc2V7dmFyIGU9OCsoYy5Obi04PDw0KTw8ODtlfD0oYy5zdHJhdGVneT49Mnx8Yy5sZXZlbDwyPzA6Yy5sZXZlbDw2PzE6Yy5sZXZlbD09PTY/MjozKTw8NjtjLlYhPT0wJiYoZXw9MzIpO2Muc3RhdHVzPTExMztyaShjLGUrKDMxLWUlMzEpKTtjLlYhPT0wJiYocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2Euc2E9MX1pZihjLnN0YXR1cz09PTY5KWlmKGMucWEuZXh0cmEpe2ZvcihlPWMucGVuZGluZztjLnpjPAooYy5xYS5leHRyYS5sZW5ndGgmNjU1MzUpJiYoYy5wZW5kaW5nIT09Yy5uY3x8KGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZyE9PWMubmMpKTspcWkoYyxjLnFhLmV4dHJhW2MuemNdJjI1NSksYy56YysrO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2MuemM9PT1jLnFhLmV4dHJhLmxlbmd0aCYmKGMuemM9MCxjLnN0YXR1cz03Myl9ZWxzZSBjLnN0YXR1cz03MztpZihjLnN0YXR1cz09PTczKWlmKGMucWEubmFtZSl7ZT1jLnBlbmRpbmc7ZG97aWYoYy5wZW5kaW5nPT09Yy5uYyYmKGMucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpLGxpKGEpLGU9Yy5wZW5kaW5nLGMucGVuZGluZz09PWMubmMpKXt2YXIgZj0xO2JyZWFrfWY9Yy56YzxjLnFhLm5hbWUubGVuZ3RoP2MucWEubmFtZS5jaGFyQ29kZUF0KGMuemMrKykmCjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy56Yz0wLGMuc3RhdHVzPTkxKX1lbHNlIGMuc3RhdHVzPTkxO2lmKGMuc3RhdHVzPT09OTEpaWYoYy5xYS5jb21tZW50KXtlPWMucGVuZGluZztkb3tpZihjLnBlbmRpbmc9PT1jLm5jJiYoYy5xYS5iZSYmYy5wZW5kaW5nPmUmJihhLnNhPXVpKGEuc2EsYy5PYSxjLnBlbmRpbmctZSxlKSksbGkoYSksZT1jLnBlbmRpbmcsYy5wZW5kaW5nPT09Yy5uYykpe2Y9MTticmVha31mPWMuemM8Yy5xYS5jb21tZW50Lmxlbmd0aD9jLnFhLmNvbW1lbnQuY2hhckNvZGVBdChjLnpjKyspJjI1NTowO3FpKGMsZil9d2hpbGUoZiE9PTApO2MucWEuYmUmJmMucGVuZGluZz5lJiYoYS5zYT11aShhLnNhLGMuT2EsYy5wZW5kaW5nLWUsZSkpO2Y9PT0wJiYoYy5zdGF0dXM9MTAzKX1lbHNlIGMuc3RhdHVzPTEwMztjLnN0YXR1cz09PTEwMyYmCihjLnFhLmJlPyhjLnBlbmRpbmcrMj5jLm5jJiZsaShhKSxjLnBlbmRpbmcrMjw9Yy5uYyYmKHFpKGMsYS5zYSYyNTUpLHFpKGMsYS5zYT4+OCYyNTUpLGEuc2E9MCxjLnN0YXR1cz0xMTMpKTpjLnN0YXR1cz0xMTMpO2lmKGMucGVuZGluZyE9PTApe2lmKGxpKGEpLGEuemE9PT0wKXJldHVybiBjLmlnPS0xLDB9ZWxzZSBpZihhLkRiPT09MCYmKGI8PDEpLShiPjQ/OTowKTw9KGQ8PDEpLShkPjQ/OTowKSYmYiE9PTQpcmV0dXJuIGppKGEsLTUpO2lmKGMuc3RhdHVzPT09NjY2JiZhLkRiIT09MClyZXR1cm4gamkoYSwtNSk7aWYoYS5EYiE9PTB8fGMuZGEhPT0wfHxiIT09MCYmYy5zdGF0dXMhPT02NjYpe2Q9Yy5zdHJhdGVneT09PTI/emkoYyxiKTpjLnN0cmF0ZWd5PT09Mz95aShjLGIpOkNpW2MubGV2ZWxdLmt3KGMsYik7aWYoZD09PTN8fGQ9PT00KWMuc3RhdHVzPTY2NjtpZihkPT09MXx8ZD09PTMpcmV0dXJuIGEuemE9PT0wJiYoYy5pZz0tMSksMDtpZihkPT09MiYmKGI9PT0xPwooTmgoYywyLDMpLE9oKGMsMjU2LG5pKSxjLmhiPT09MTY/KE1oKGMsYy5GYiksYy5GYj0wLGMuaGI9MCk6Yy5oYj49OCYmKGMuT2FbYy5wZW5kaW5nKytdPWMuRmImMjU1LGMuRmI+Pj04LGMuaGItPTgpKTpiIT09NSYmKE5oKGMsMCwzKSxUaChjLDAsMCksYj09PTMmJihraShjLmhlYWQpLGMuZGE9PT0wJiYoYy5WPTAsYy5VYj0wLGMucmI9MCkpKSxsaShhKSxhLnphPT09MCkpcmV0dXJuIGMuaWc9LTEsMH1pZihiIT09NClyZXR1cm4gMDtpZihjLndyYXA8PTApcmV0dXJuIDE7Yy53cmFwPT09Mj8ocWkoYyxhLnNhJjI1NSkscWkoYyxhLnNhPj44JjI1NSkscWkoYyxhLnNhPj4xNiYyNTUpLHFpKGMsYS5zYT4+MjQmMjU1KSxxaShjLGEucWYmMjU1KSxxaShjLGEucWY+PjgmMjU1KSxxaShjLGEucWY+PjE2JjI1NSkscWkoYyxhLnFmPj4yNCYyNTUpKToocmkoYyxhLnNhPj4+MTYpLHJpKGMsYS5zYSY2NTUzNSkpO2xpKGEpO2Mud3JhcD4wJiYoYy53cmFwPS1jLndyYXApO3JldHVybiBjLnBlbmRpbmchPT0KMD8wOjF9OwpFaT1mdW5jdGlvbihhKXtpZighKHRoaXMgaW5zdGFuY2VvZiBFaSkpcmV0dXJuIG5ldyBFaShhKTthPXRoaXMub3B0aW9ucz1IaC5hc3NpZ24oe2xldmVsOi0xLG1ldGhvZDo4LGNodW5rU2l6ZToxNjM4NCx3aW5kb3dCaXRzOjE1LG1lbUxldmVsOjgsc3RyYXRlZ3k6MCx0bzoiIn0sYXx8e30pO2EucmF3JiZhLndpbmRvd0JpdHM+MD9hLndpbmRvd0JpdHM9LWEud2luZG93Qml0czphLmd6aXAmJmEud2luZG93Qml0cz4wJiZhLndpbmRvd0JpdHM8MTYmJihhLndpbmRvd0JpdHMrPTE2KTt0aGlzLmVycj0wO3RoaXMubXNnPSIiO3RoaXMuZW5kZWQ9ITE7dGhpcy5jaHVua3M9W107dGhpcy53YT1uZXcgRmk7dGhpcy53YS56YT0wO3ZhciBiPXRoaXMud2E7dmFyIGM9YS5sZXZlbCxkPWEubWV0aG9kLGU9YS53aW5kb3dCaXRzLGY9YS5tZW1MZXZlbCxoPWEuc3RyYXRlZ3k7aWYoYil7dmFyIGs9MTtjPT09LTEmJihjPTYpO2U8MD8oaz0wLGU9LWUpOmU+MTUmJihrPTIsZS09MTYpO2lmKGY8CjF8fGY+OXx8ZCE9PTh8fGU8OHx8ZT4xNXx8YzwwfHxjPjl8fGg8MHx8aD40KWI9amkoYiwtMik7ZWxzZXtlPT09OCYmKGU9OSk7dmFyIGw9bmV3IEJpO2Iuc3RhdGU9bDtsLndhPWI7bC53cmFwPWs7bC5xYT1udWxsO2wuTm49ZTtsLkJiPTE8PGwuTm47bC5CZT1sLkJiLTE7bC5MbD1mKzc7bC5haj0xPDxsLkxsO2wudmQ9bC5hai0xO2wud2Q9fn4oKGwuTGwrMy0xKS8zKTtsLndpbmRvdz1uZXcgSGgudGYobC5CYioyKTtsLmhlYWQ9bmV3IEhoLlljKGwuYWopO2wuVWE9bmV3IEhoLlljKGwuQmIpO2wuQWg9MTw8Zis2O2wubmM9bC5BaCo0O2wuT2E9bmV3IEhoLnRmKGwubmMpO2wuWWc9bC5BaDtsLmttPTMqbC5BaDtsLmxldmVsPWM7bC5zdHJhdGVneT1oO2wubWV0aG9kPWQ7aWYoYiYmYi5zdGF0ZSl7Yi5xZj1iLkVuPTA7Yi5pbD0yO2M9Yi5zdGF0ZTtjLnBlbmRpbmc9MDtjLkpoPTA7Yy53cmFwPDAmJihjLndyYXA9LWMud3JhcCk7Yy5zdGF0dXM9Yy53cmFwPzQyOjExMztiLnNhPQpjLndyYXA9PT0yPzA6MTtjLmlnPTA7aWYoIUdpKXtkPUFycmF5KDE2KTtmb3IoZj1oPTA7ZjwyODtmKyspZm9yKFloW2ZdPWgsZT0wO2U8MTw8WGhbZl07ZSsrKVdoW2grK109ZjtXaFtoLTFdPWY7Zm9yKGY9aD0wO2Y8MTY7ZisrKWZvcihiaVtmXT1oLGU9MDtlPDE8PCRoW2ZdO2UrKylaaFtoKytdPWY7Zm9yKGg+Pj03O2Y8MzA7ZisrKWZvcihiaVtmXT1oPDw3LGU9MDtlPDE8PCRoW2ZdLTc7ZSsrKVpoWzI1NitoKytdPWY7Zm9yKGU9MDtlPD0xNTtlKyspZFtlXT0wO2ZvcihlPTA7ZTw9MTQzOyluaVtlKjIrMV09OCxlKyssZFs4XSsrO2Zvcig7ZTw9MjU1OyluaVtlKjIrMV09OSxlKyssZFs5XSsrO2Zvcig7ZTw9Mjc5OyluaVtlKjIrMV09NyxlKyssZFs3XSsrO2Zvcig7ZTw9Mjg3OyluaVtlKjIrMV09OCxlKyssZFs4XSsrO1FoKG5pLDI4NyxkKTtmb3IoZT0wO2U8MzA7ZSsrKW9pW2UqMisxXT01LG9pW2UqMl09UGgoZSw1KTtIaT1uZXcgS2gobmksWGgsMjU3LDI4NiwxNSk7SWk9Cm5ldyBLaChvaSwkaCwwLDMwLDE1KTtKaT1uZXcgS2goW10sS2ksMCwxOSw3KTtHaT0hMH1jLnBqPW5ldyBMaChjLlFiLEhpKTtjLklpPW5ldyBMaChjLlBlLElpKTtjLlRvPW5ldyBMaChjLnFiLEppKTtjLkZiPTA7Yy5oYj0wO1JoKGMpO2M9MH1lbHNlIGM9amkoYiwtMik7Yz09PTAmJihiPWIuc3RhdGUsYi5Lcz0yKmIuQmIsa2koYi5oZWFkKSxiLm9tPUNpW2IubGV2ZWxdLkV5LGIuWXA9Q2lbYi5sZXZlbF0udHcsYi5TcT1DaVtiLmxldmVsXS5XeSxiLk5xPUNpW2IubGV2ZWxdLkR5LGIuVj0wLGIuVWI9MCxiLmRhPTAsYi5yYj0wLGIuQmE9Yi5ZYj0yLGIuY2Y9MCxiLnhhPTApO2I9Y319ZWxzZSBiPS0yO2lmKGIhPT0wKXRocm93IEVycm9yKGlpW2JdKTthLmhlYWRlciYmKGI9dGhpcy53YSkmJmIuc3RhdGUmJmIuc3RhdGUud3JhcD09PTImJihiLnN0YXRlLnFhPWEuaGVhZGVyKTtpZihhLmRpY3Rpb25hcnkpe3ZhciBtO3R5cGVvZiBhLmRpY3Rpb25hcnk9PT0ic3RyaW5nIj9tPQpJaChhLmRpY3Rpb25hcnkpOkxpLmNhbGwoYS5kaWN0aW9uYXJ5KT09PSJbb2JqZWN0IEFycmF5QnVmZmVyXSI/bT1uZXcgVWludDhBcnJheShhLmRpY3Rpb25hcnkpOm09YS5kaWN0aW9uYXJ5O2E9dGhpcy53YTtmPW07aD1mLmxlbmd0aDtpZihhJiZhLnN0YXRlKWlmKG09YS5zdGF0ZSxiPW0ud3JhcCxiPT09Mnx8Yj09PTEmJm0uc3RhdHVzIT09NDJ8fG0uZGEpYj0tMjtlbHNle2I9PT0xJiYoYS5zYT10aShhLnNhLGYsaCwwKSk7bS53cmFwPTA7aD49bS5CYiYmKGI9PT0wJiYoa2kobS5oZWFkKSxtLlY9MCxtLlViPTAsbS5yYj0wKSxjPW5ldyBIaC50ZihtLkJiKSxIaC53ZihjLGYsaC1tLkJiLG0uQmIsMCksZj1jLGg9bS5CYik7Yz1hLkRiO2Q9YS5mZjtlPWEuaW5wdXQ7YS5EYj1oO2EuZmY9MDthLmlucHV0PWY7Zm9yKHZpKG0pO20uZGE+PTM7KXtmPW0uVjtoPW0uZGEtMjtkbyBtLnhhPShtLnhhPDxtLndkXm0ud2luZG93W2YrMy0xXSkmbS52ZCxtLlVhW2YmbS5CZV09bS5oZWFkW20ueGFdLAptLmhlYWRbbS54YV09ZixmKys7d2hpbGUoLS1oKTttLlY9ZjttLmRhPTI7dmkobSl9bS5WKz1tLmRhO20uVWI9bS5WO20ucmI9bS5kYTttLmRhPTA7bS5CYT1tLlliPTI7bS5jZj0wO2EuZmY9ZDthLmlucHV0PWU7YS5EYj1jO20ud3JhcD1iO2I9MH1lbHNlIGI9LTI7aWYoYiE9PTApdGhyb3cgRXJyb3IoaWlbYl0pO3RoaXMuTUg9ITB9fTtNaT1mdW5jdGlvbihhLGIpe2I9PT0wJiYoYS5yZXN1bHQ9YS5vcHRpb25zLnRvPT09InN0cmluZyI/YS5jaHVua3Muam9pbigiIik6SGguTXAoYS5jaHVua3MpKTthLmNodW5rcz1bXTthLmVycj1iO2EubXNnPWEud2EubXNnfTtfLk5pPWZ1bmN0aW9uKGEpe3ZhciBiPWJ8fHt9O2IuZ3ppcD0hMDtiPW5ldyBFaShiKTtiLnB1c2goYSwhMCk7aWYoYi5lcnIpdGhyb3cgYi5tc2d8fGlpW2IuZXJyXTtyZXR1cm4gYi5yZXN1bHR9OwpfLk9pPWZ1bmN0aW9uKGEsYil7Yi5sZW5ndGg+MT9hW2JbMF1dPWJbMV06Yi5sZW5ndGg9PT0xJiZPYmplY3QuYXNzaWduKGEsYlswXSl9O18uUWk9ZnVuY3Rpb24oLi4uYSl7Xy5PaShfLlBpLGFyZ3VtZW50cyl9O18udz1mdW5jdGlvbihhLGIpe3JldHVybiBhIGluIF8uUGk/Xy5QaVthXTpifTtfLlJpPWZ1bmN0aW9uKGEpe3ZhciBiPV8uUGkuRVhQRVJJTUVOVF9GTEFHUztyZXR1cm4gYj9iW2FdOnZvaWQgMH07VGk9ZnVuY3Rpb24oYSl7U2kuZm9yRWFjaChiPT5iKGEpKX07Xy5WaT1mdW5jdGlvbihhKXtyZXR1cm4gYSYmd2luZG93Lnl0ZXJyP2Z1bmN0aW9uKCl7dHJ5e3JldHVybiBhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1jYXRjaChiKXtfLlVpKGIpfX06YX07Cl8uVWk9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7Yj9iKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwKTooYj1fLncoIkVSUk9SUyIsW10pLGIucHVzaChbYSwiRVJST1IiLHZvaWQgMCx2b2lkIDAsdm9pZCAwLHZvaWQgMCx2b2lkIDBdKSxfLlFpKCJFUlJPUlMiLGIpKTtUaShhKX07Xy5XaT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPV8uc2EoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIpO2Y/ZihhLCJXQVJOSU5HIixiLGMsZCx2b2lkIDAsZSk6KGY9Xy53KCJFUlJPUlMiLFtdKSxmLnB1c2goW2EsIldBUk5JTkciLGIsYyxkLHZvaWQgMCxlXSksXy5RaSgiRVJST1JTIixmKSl9OwpZaT1mdW5jdGlvbihhLGIpe2I9YS5zcGxpdChiKTt2YXIgYz17fTtmb3IobGV0IGY9MCxoPWIubGVuZ3RoO2Y8aDtmKyspe2xldCBrPWJbZl0uc3BsaXQoIj0iKTtpZihrLmxlbmd0aD09PTEmJmtbMF18fGsubGVuZ3RoPT09Mil0cnl7bGV0IGw9WGkoa1swXXx8IiIpLG09WGkoa1sxXXx8IiIpO2lmKGwgaW4gYyl7bGV0IG49Y1tsXTtBcnJheS5pc0FycmF5KG4pP3piKG4sbSk6Y1tsXT1bbixtXX1lbHNlIGNbbF09bX1jYXRjaChsKXt2YXIgZD1sLGU9a1swXTtsZXQgbT1TdHJpbmcoWWkpO2QuYXJncz1be2tleTplLHZhbHVlOmtbMV0scXVlcnk6YSxtZXRob2Q6Wmk9PT1tPyJ1bmNoYW5nZWQiOm19XTskaS5oYXNPd25Qcm9wZXJ0eShlKXx8Xy5XaShkKX19cmV0dXJuIGN9Owphaj1mdW5jdGlvbihhKXt2YXIgYj1bXTtvZChhLChjLGQpPT57dmFyIGU9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhkKSk7Yz1BcnJheS5pc0FycmF5KGMpP2M6W2NdO18udGIoYyxmPT57Zj09IiI/Yi5wdXNoKGUpOmIucHVzaChgJHtlfT0ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZikpfWApfSl9KTtyZXR1cm4gYi5qb2luKCImIil9O18uYmo9ZnVuY3Rpb24oYSl7YS5jaGFyQXQoMCk9PT0iPyImJihhPWEuc3Vic3RyaW5nKDEpKTtyZXR1cm4gWWkoYSwiJiIpfTtkaj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCEwKX07Xy5laj1mdW5jdGlvbihhLGIpe3JldHVybiBjaihhLGJ8fHt9LCExKX07CmNqPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLnNwbGl0KCIjIiwyKTthPWRbMF07ZD1kLmxlbmd0aD4xPyIjIitkWzFdOiIiO3ZhciBlPWEuc3BsaXQoIj8iLDIpO2E9ZVswXTtlPV8uYmooZVsxXXx8IiIpO2ZvcihsZXQgZiBpbiBiKSFjJiZlIT09bnVsbCYmZiBpbiBlfHwoZVtmXT1iW2ZdKTtyZXR1cm4gXy5XYihhLGUpK2R9O18uZmo9ZnVuY3Rpb24oYSl7aWYoIWIpdmFyIGI9d2luZG93LmxvY2F0aW9uLmhyZWY7dmFyIGM9Xy5NYihhKVsxXXx8bnVsbCxkPV8uUGIoYSk7YyYmZD8oYT1fLk1iKGEpLGI9Xy5NYihiKSxhPWFbM109PWJbM10mJmFbMV09PWJbMV0mJmFbNF09PWJbNF0pOmE9ZD9fLlBiKGIpPT09ZCYmKE51bWJlcihfLk1iKGIpWzRdfHxudWxsKXx8bnVsbCk9PT0oTnVtYmVyKF8uTWIoYSlbNF18fG51bGwpfHxudWxsKTohMDtyZXR1cm4gYX07WGk9ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmEubWF0Y2goZ2opP2E6Xy5IYihhKX07Cl8ubGo9ZnVuY3Rpb24oYT1fLnNhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIpfHwiIil7dmFyIGI9aGosYz1PYmplY3QsZD1jLmFzc2lnbjthOnt0cnl7dmFyIGU9Yi5qLnRvcC5sb2NhdGlvbi5ocmVmfWNhdGNoKEEpe2U9MjticmVhayBhfWU9ZT9lPT09Yi5vLmxvY2F0aW9uLmhyZWY/MDoxOjJ9ZT17ZHQ6aWosZmxhc2g6IjAiLGZybTplfTt0cnl7ZS51X3R6PS0obmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCk7dHJ5e3ZhciBmPWpqLmhpc3RvcnkubGVuZ3RofWNhdGNoKEEpe2Y9MH1lLnVfaGlzPWY7ZS51X2g9amouc2NyZWVuPy5oZWlnaHQ7ZS51X3c9amouc2NyZWVuPy53aWR0aDtlLnVfYWg9amouc2NyZWVuPy5hdmFpbEhlaWdodDtlLnVfYXc9amouc2NyZWVuPy5hdmFpbFdpZHRoO2UudV9jZD1qai5zY3JlZW4/LmNvbG9yRGVwdGh9Y2F0Y2goQSl7fWY9Yi5qO3RyeXt2YXIgaD1mLnNjcmVlblg7dmFyIGs9Zi5zY3JlZW5ZfWNhdGNoKEEpe310cnl7dmFyIGw9Zi5vdXRlcldpZHRoOwp2YXIgbT1mLm91dGVySGVpZ2h0fWNhdGNoKEEpe310cnl7dmFyIG49Zi5pbm5lcldpZHRoO3ZhciBwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgcj1mLnNjcmVlbkxlZnQ7dmFyIHQ9Zi5zY3JlZW5Ub3B9Y2F0Y2goQSl7fXRyeXtuPWYuaW5uZXJXaWR0aCxwPWYuaW5uZXJIZWlnaHR9Y2F0Y2goQSl7fXRyeXt2YXIgdj1mLnNjcmVlbi5hdmFpbFdpZHRoO3ZhciB6PWYuc2NyZWVuLmF2YWlsVG9wfWNhdGNoKEEpe31oPVtyLHQsaCxrLHYseixsLG0sbixwXTt0cnl7dmFyIEU9Xy55ZChiLmoudG9wfHx3aW5kb3cpLnJvdW5kKCl9Y2F0Y2goQSl7RT1uZXcgXy5uZCgtMTIyNDU5MzMsLTEyMjQ1OTMzKX1sPUU7RT1uZXcga2o7IlNWR0VsZW1lbnQiaW4gXy51JiYiY3JlYXRlRWxlbWVudE5TImluIF8udS5kb2N1bWVudCYmRS5zZXQoMCk7az1tZCgpO2tbImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJdJiZFLnNldCgxKTtrWyJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giXSYmCkUuc2V0KDIpO18udS5jcnlwdG8mJl8udS5jcnlwdG8uc3VidGxlJiZFLnNldCgzKTsiVGV4dERlY29kZXIiaW4gXy51JiYiVGV4dEVuY29kZXIiaW4gXy51JiZFLnNldCg0KTtFPW5oKEUpO2s9bC5oZWlnaHQ7bD1sLndpZHRoO2g9aC5qb2luKCk7Yj1iLm87Yz1kLmNhbGwoYyxlLHtiYzpFLGJpaDprLGJpdzpsLGJyZGltOmgsdmlzOmIucHJlcmVuZGVyaW5nPzM6e3Zpc2libGU6MSxoaWRkZW46MixwcmVyZW5kZXI6MyxwcmV2aWV3OjQsdW5sb2FkZWQ6NSwiIjowfVtiLnZpc2liaWxpdHlTdGF0ZXx8Yi53ZWJraXRWaXNpYmlsaXR5U3RhdGV8fGIubW96VmlzaWJpbGl0eVN0YXRlfHwiIl0/PzAsd2dsOiEhamouV2ViR0xSZW5kZXJpbmdDb250ZXh0fSk7Yy5jYV90eXBlPSJpbWFnZSI7YSYmKGMuYmlkPWEpO3JldHVybiBjfTtfLm1qPWZ1bmN0aW9uKGEsYil7dHlwZW9mIGE9PT0iZnVuY3Rpb24iJiYoYT1fLlZpKGEpKTtyZXR1cm4gd2luZG93LnNldFRpbWVvdXQoYSxiKX07Cm9qPWZ1bmN0aW9uKCl7aWYoIW5qKXJldHVybiBudWxsO3ZhciBhPW5qKCk7cmV0dXJuIm9wZW4iaW4gYT9hOm51bGx9O18ucWo9ZnVuY3Rpb24oYSl7c3dpdGNoKF8ucGooYSkpe2Nhc2UgMjAwOmNhc2UgMjAxOmNhc2UgMjAyOmNhc2UgMjAzOmNhc2UgMjA0OmNhc2UgMjA1OmNhc2UgMjA2OmNhc2UgMzA0OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fTtfLnBqPWZ1bmN0aW9uKGEpe3JldHVybiBhJiYic3RhdHVzImluIGE/YS5zdGF0dXM6LTF9O18ueD1mdW5jdGlvbihhLGIpe2E9Xy5yaihhLGIpO3JldHVybiB0eXBlb2YgYT09PSJzdHJpbmciJiZhPT09ImZhbHNlIj8hMTohIWF9O18uc2o9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTnVtYmVyKF8ucmooYSxiKXx8MCl9O18udGo9ZnVuY3Rpb24oYSl7YT1fLnJqKGEpO3JldHVybiBhIT09dm9pZCAwP1N0cmluZyhhKToiIn07Cl8ucmo9ZnVuY3Rpb24oYSxiKXthPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pW2FdO3JldHVybiBhIT09dm9pZCAwP2E6Yn07Xy51aj1mdW5jdGlvbigpe3ZhciBhPVtdLGI9Xy53KCJFWFBFUklNRU5UU19GT1JDRURfRkxBR1MiLHt9KTtmb3IodmFyIGMgb2YgT2JqZWN0LmtleXMoYikpYS5wdXNoKHtrZXk6Yyx2YWx1ZTpTdHJpbmcoYltjXSl9KTtjPV8udygiRVhQRVJJTUVOVF9GTEFHUyIse30pO2ZvcihsZXQgZCBvZiBPYmplY3Qua2V5cyhjKSlkLnN0YXJ0c1dpdGgoImZvcmNlXyIpJiZiW2RdPT09dm9pZCAwJiZhLnB1c2goe2tleTpkLHZhbHVlOlN0cmluZyhjW2RdKX0pO3JldHVybiBhfTsKeGo9ZnVuY3Rpb24oYSxiLGM9IkdFVCIsZD0iIixlLGYsaCxrPSExLGwpe3ZhciBtPW9qKCk7aWYoIW0pcmV0dXJuIG51bGw7dmFyIG49KCk9PnsobSYmInJlYWR5U3RhdGUiaW4gbT9tLnJlYWR5U3RhdGU6MCk9PT00JiZiJiZfLlZpKGIpKG0pfTsib25sb2FkZW5kImluIG0/bS5hZGRFdmVudExpc3RlbmVyKCJsb2FkZW5kIixuLCExKTptLm9ucmVhZHlzdGF0ZWNoYW5nZT1uO18ueCgiZGVidWdfZm9yd2FyZF93ZWJfcXVlcnlfcGFyYW1ldGVycyIpJiYoYT12aihhKSk7bS5vcGVuKGMsYSwhMCk7ZiYmKG0ucmVzcG9uc2VUeXBlPWYpO2gmJihtLndpdGhDcmVkZW50aWFscz0hMCk7Yz1jPT09IlBPU1QiJiYod2luZG93LkZvcm1EYXRhPT09dm9pZCAwfHwhKGQgaW5zdGFuY2VvZiBGb3JtRGF0YSkpO2lmKGU9d2ooYSxlKSlmb3IobGV0IHAgaW4gZSltLnNldFJlcXVlc3RIZWFkZXIocCxlW3BdKSwiY29udGVudC10eXBlIj09PXAudG9Mb3dlckNhc2UoKSYmKGM9ITEpO2MmJm0uc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwKImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpO2wmJiJvbnByb2dyZXNzImluIG0mJihtLm9ucHJvZ3Jlc3M9KCk9PntsKG0ucmVzcG9uc2VUZXh0KX0pO2lmKGsmJiJzZXRBdHRyaWJ1dGlvblJlcG9ydGluZyJpbiBYTUxIdHRwUmVxdWVzdC5wcm90b3R5cGUpe2E9e2V2ZW50U291cmNlRWxpZ2libGU6ITAsdHJpZ2dlckVsaWdpYmxlOiExfTt0cnl7bS5zZXRBdHRyaWJ1dGlvblJlcG9ydGluZyhhKX1jYXRjaChwKXtfLldpKHApfX1tLnNlbmQoZCk7cmV0dXJuIG19Owp3aj1mdW5jdGlvbihhLGI9e30pe3ZhciBjPV8uZmooYSksZD1fLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpLGU9Xy54KCJ3ZWJfYWpheF9pZ25vcmVfZ2xvYmFsX2hlYWRlcnNfaWZfc2V0Iik7Zm9yKGxldCBrIGluIHlqKXtsZXQgbD1fLncoeWpba10pLG09az09PSJYLUdvb2ctQXV0aFVzZXIifHxrPT09IlgtR29vZy1QYWdlSWQiO2shPT0iWC1Hb29nLVZpc2l0b3ItSWQifHxsfHwobD1fLncoIlZJU0lUT1JfREFUQSIpKTt2YXIgZjtpZighKGY9IWwpKXtpZighKGY9Y3x8KF8uUGIoYSk/ITE6ITApKSl7Zj1hO3ZhciBoO2lmKGg9Xy54KCJhZGRfYXV0aF9oZWFkZXJzX3RvX3JlbWFya2V0aW5nX2dvb2dsZV9kb3RfY29tX3BpbmciKSYmaz09PSJBdXRob3JpemF0aW9uIiYmKGQ9PT0iVFZIVE1MNSJ8fGQ9PT0iVFZIVE1MNV9VTlBMVUdHRUQifHxkPT09IlRWSFRNTDVfU0lNUExZIikpaD1fLlBiKGYpLGg9aCE9PW51bGw/aC5zcGxpdCgiLiIpLnJldmVyc2UoKTpudWxsLGg9aD09PQpudWxsPyExOmhbMV09PT0iZ29vZ2xlIj8hMDpoWzJdPT09Imdvb2dsZSI/aFswXT09PSJhdSImJmhbMV09PT0iY29tIj8hMDpoWzBdPT09InVrIiYmaFsxXT09PSJjbyI/ITA6ITE6ITE7aCYmKGY9Xy5RYihmKXx8IiIsZj1mLnNwbGl0KCIvIiksZj0iLyIrKGYubGVuZ3RoPjE/ZlsxXToiIiksaD1mPT09Ii9wYWdlYWQiKTtmPWg/ITA6ITF9Zj0hZn1mfHxlJiZiW2tdIT09dm9pZCAwfHxkPT09IlRWSFRNTDVfVU5QTFVHR0VEIiYmbXx8KGJba109bCl9IlgtR29vZy1FT00tVmlzaXRvci1JZCJpbiBiJiYiWC1Hb29nLVZpc2l0b3ItSWQiaW4gYiYmZGVsZXRlIGJbIlgtR29vZy1WaXNpdG9yLUlkIl07aWYoY3x8IV8uUGIoYSkpYlsiWC1Zb3VUdWJlLVV0Yy1PZmZzZXQiXT1TdHJpbmcoLShuZXcgRGF0ZSkuZ2V0VGltZXpvbmVPZmZzZXQoKSk7aWYoY3x8IV8uUGIoYSkpe2xldCBrO3RyeXtrPShuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmV9Y2F0Y2h7fWsmJgooYlsiWC1Zb3VUdWJlLVRpbWUtWm9uZSJdPWspfWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lLmVuZHNXaXRoKCJ5b3V0dWJlZWR1Y2F0aW9uLmNvbSIpfHwhYyYmXy5QYihhKXx8KGJbIlgtWW91VHViZS1BZC1TaWduYWxzIl09YWooXy5saigpKSk7cmV0dXJuIGJ9O0FqPWZ1bmN0aW9uKGEsYil7Yi5tZXRob2Q9IlBPU1QiO2IucG9zdFBhcmFtc3x8KGIucG9zdFBhcmFtcz17fSk7cmV0dXJuIF8uemooYSxiKX07Cl8uemo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLmZvcm1hdHx8IkpTT04iO2E9QmooYSxiKTt2YXIgZD1DaihhLGIpLGU9ITEsZj1EaihhLGs9PntpZighZSl7ZT0hMDtoJiZ3aW5kb3cuY2xlYXJUaW1lb3V0KGgpO3ZhciBsPV8ucWooayksbT1udWxsLG49NDAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NTAwLHA9NTAwPD1rLnN0YXR1cyYmay5zdGF0dXM8NjAwO2lmKGx8fG58fHApbT1FaihhLGMsayxiLmNvbnZlcnRUb1NhZmVIdG1sKTtsJiYobD1GaihjLGssbSkpO209bXx8e307bj1iLmNvbnRleHR8fF8udTtsP2Iub25TdWNjZXNzJiZiLm9uU3VjY2Vzcy5jYWxsKG4sayxtKTpiLm9uRXJyb3ImJmIub25FcnJvci5jYWxsKG4sayxtKTtiLm9uRmluaXNoJiZiLm9uRmluaXNoLmNhbGwobixrLG0pfX0sYi5tZXRob2QsZCxiLmhlYWRlcnMsYi5yZXNwb25zZVR5cGUsYi53aXRoQ3JlZGVudGlhbHMsITEsYi5vblByb2dyZXNzKTtkPWIudGltZW91dHx8MDtpZihiLm9uVGltZW91dCYmZD4wKXtsZXQgaz0KYi5vblRpbWVvdXQ7dmFyIGg9Xy5taigoKT0+e2V8fChlPSEwLGYuYWJvcnQoKSx3aW5kb3cuY2xlYXJUaW1lb3V0KGgpLGsuY2FsbChiLmNvbnRleHR8fF8udSxmKSl9LGQpfXJldHVybiBmfTtCaj1mdW5jdGlvbihhLGIpe2IuaW5jbHVkZURvbWFpbiYmKGE9ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wrIi8vIitkb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZSsoZG9jdW1lbnQubG9jYXRpb24ucG9ydD8iOiIrZG9jdW1lbnQubG9jYXRpb24ucG9ydDoiIikrYSk7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKTtpZihiPWIudXJsUGFyYW1zKWJbY10mJmRlbGV0ZSBiW2NdLGE9ZGooYSxiKTtyZXR1cm4gYX07CkNqPWZ1bmN0aW9uKGEsYil7dmFyIGM9Xy53KCJYU1JGX0ZJRUxEX05BTUUiKSxkPV8udygiWFNSRl9UT0tFTiIpLGU9Yi5wb3N0Qm9keXx8IiIsZj1iLnBvc3RQYXJhbXMsaD1fLncoIlhTUkZfRklFTERfTkFNRSIpLGs7Yi5oZWFkZXJzJiYoaz1iLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdKTtiLmV4Y2x1ZGVYc3JmfHxfLlBiKGEpJiYhYi53aXRoQ3JlZGVudGlhbHMmJl8uUGIoYSkhPT1kb2N1bWVudC5sb2NhdGlvbi5ob3N0bmFtZXx8Yi5tZXRob2QhPT0iUE9TVCJ8fGsmJmshPT0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkInx8Yi5wb3N0UGFyYW1zJiZiLnBvc3RQYXJhbXNbaF18fChmfHwoZj17fSksZltjXT1kKTtmJiZ0eXBlb2YgZT09PSJzdHJpbmciJiYoZT1fLmJqKGUpLHNkKGUsZiksZT1iLnBvc3RCb2R5Rm9ybWF0JiZiLnBvc3RCb2R5Rm9ybWF0PT09IkpTT04iP0pTT04uc3RyaW5naWZ5KGUpOl8uVWIoZSkpO2Y9ZXx8ZiYmIV8ucGQoZik7IUdqJiZmJiYKYi5tZXRob2QhPT0iUE9TVCImJihHaj0hMCxfLlVpKEVycm9yKCJjYSIpKSk7cmV0dXJuIGV9O0VqPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW51bGw7c3dpdGNoKGIpe2Nhc2UgIkpTT04iOmxldCBmO3RyeXtmPWMucmVzcG9uc2VUZXh0fWNhdGNoKGgpe3Rocm93IGQ9RXJyb3IoImRhIiksZC5wYXJhbXM9YSxfLldpKGQpLGg7fWE9Yy5nZXRSZXNwb25zZUhlYWRlcigiQ29udGVudC1UeXBlIil8fCIiO2lmKGYmJmEuaW5kZXhPZigianNvbiIpPj0wKXtmLnN1YnN0cmluZygwLDUpPT09IildfSdcbiImJihmPWYuc3Vic3RyaW5nKDUpKTt0cnl7ZT1KU09OLnBhcnNlKGYpfWNhdGNoKGgpe319YnJlYWs7Y2FzZSAiWE1MIjppZihhPShhPWMucmVzcG9uc2VYTUwpP0hqKGEpOm51bGwpZT17fSxfLnRiKGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxoPT57ZVtoLnRhZ05hbWVdPUlqKGgpfSl9ZCYmSmooZSk7cmV0dXJuIGV9OwpKaj1mdW5jdGlvbihhKXtpZihfLkFhKGEpKWZvcihsZXQgYiBpbiBhKWI9PT0iaHRtbF9jb250ZW50Inx8Xy5NYShiLCJfaHRtbCIpP2FbYl09Xy5nYihhW2JdKTpKaihhW2JdKX07Rmo9ZnVuY3Rpb24oYSxiLGMpe2lmKGImJmIuc3RhdHVzPT09MjA0KXJldHVybiEwO3N3aXRjaChhKXtjYXNlICJKU09OIjpyZXR1cm4hIWM7Y2FzZSAiWE1MIjpyZXR1cm4gTnVtYmVyKGMmJmMucmV0dXJuX2NvZGUpPT09MDtjYXNlICJSQVciOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuISFjfX07SGo9ZnVuY3Rpb24oYSl7cmV0dXJuIGE/KGE9KCJyZXNwb25zZVhNTCJpbiBhP2EucmVzcG9uc2VYTUw6YSkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInJvb3QiKSkmJmEubGVuZ3RoPjA/YVswXTpudWxsOm51bGx9O0lqPWZ1bmN0aW9uKGEpe3ZhciBiPSIiO18udGIoYS5jaGlsZE5vZGVzLGM9PntiKz1jLm5vZGVWYWx1ZX0pO3JldHVybiBifTsKdmo9ZnVuY3Rpb24oYSl7dmFyIGI9d2luZG93LmxvY2F0aW9uLnNlYXJjaCxjPV8uUGIoYSk7Xy54KCJkZWJ1Z19oYW5kbGVfcmVsYXRpdmVfdXJsX2Zvcl9xdWVyeV9mb3J3YXJkX2tpbGxzd2l0Y2giKXx8IWMmJl8uZmooYSkmJihjPWRvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lKTt2YXIgZD1fLlFiKGEpO2Q9KGM9YyYmKGMuZW5kc1dpdGgoInlvdXR1YmUuY29tIil8fGMuZW5kc1dpdGgoInlvdXR1YmUtbm9jb29raWUuY29tIikpKSYmZCYmZC5zdGFydHNXaXRoKCIvYXBpLyIpO2lmKCFjfHxkKXJldHVybiBhO3ZhciBlPV8uYmooYiksZj17fTtfLnRiKEtqLGg9PntlW2hdJiYoZltoXT1lW2hdKX0pO3JldHVybiBfLmVqKGEsZil9O18uTWo9ZnVuY3Rpb24oYSxiLGMsZD0ieW91dHViZS5jb20iLGU9ITEpe18uTGouc2V0KGEsYix7dmo6YyxwYXRoOiIvIixkb21haW46ZCxzZWN1cmU6ZX0pfTsKXy5Oaj1mdW5jdGlvbihhLGI9Ii8iLGM9InlvdXR1YmUuY29tIil7Xy5Mai5yZW1vdmUoYSxiLGMpfTtfLk9qPWZ1bmN0aW9uKCl7aWYoIV8udS5tYXRjaE1lZGlhKXJldHVybiJXRUJfRElTUExBWV9NT0RFX1VOS05PV04iO3RyeXtyZXR1cm4gXy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IHN0YW5kYWxvbmUpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9TVEFOREFMT05FIjpfLnUubWF0Y2hNZWRpYSgiKGRpc3BsYXktbW9kZTogbWluaW1hbC11aSkiKS5tYXRjaGVzPyJXRUJfRElTUExBWV9NT0RFX01JTklNQUxfVUkiOl8udS5tYXRjaE1lZGlhKCIoZGlzcGxheS1tb2RlOiBmdWxsc2NyZWVuKSIpLm1hdGNoZXM/IldFQl9ESVNQTEFZX01PREVfRlVMTFNDUkVFTiI6Xy51Lm1hdGNoTWVkaWEoIihkaXNwbGF5LW1vZGU6IGJyb3dzZXIpIikubWF0Y2hlcz8iV0VCX0RJU1BMQVlfTU9ERV9CUk9XU0VSIjoiV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn1jYXRjaChhKXtyZXR1cm4iV0VCX0RJU1BMQVlfTU9ERV9VTktOT1dOIn19OwpfLlBqPWZ1bmN0aW9uKGEpe3ZhciBiPXt9LGM9W107IlVTRVJfU0VTU0lPTl9JRCJpbiBfLlBpJiZjLnB1c2goe2tleToidSIsdmFsdWU6Xy53KCJVU0VSX1NFU1NJT05fSUQiKX0pO2lmKGM9Xy5QZChjKSliLkF1dGhvcml6YXRpb249YyxjPWE9YT8uc2Vzc2lvbkluZGV4LGM9PT12b2lkIDAmJihjPU51bWJlcihfLncoIlNFU1NJT05fSU5ERVgiLDApKSxjPWlzTmFOKGMpPzA6YyksXy54KCJ2b2ljZV9zZWFyY2hfYXV0aF9oZWFkZXJfcmVtb3ZhbCIpfHwoYlsiWC1Hb29nLUF1dGhVc2VyIl09Yy50b1N0cmluZygpKSwiSU5ORVJUVUJFX0hPU1RfT1ZFUlJJREUiaW4gXy5QaXx8KGJbIlgtT3JpZ2luIl09d2luZG93LmxvY2F0aW9uLm9yaWdpbiksYT09PXZvaWQgMCYmIkRFTEVHQVRFRF9TRVNTSU9OX0lEImluIF8uUGkmJihiWyJYLUdvb2ctUGFnZUlkIl09Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpKTtyZXR1cm4gYn07ClFqPWZ1bmN0aW9uKCl7dmFyIGE9Xy51Lm5hdmlnYXRvcjtyZXR1cm4gYT9hLmNvbm5lY3Rpb246dm9pZCAwfTtfLlNqPWZ1bmN0aW9uKCl7dmFyIGE9UWooKTtpZihhKXt2YXIgYj1SalthLnR5cGV8fCJ1bmtub3duIl18fCJDT05OX1VOS05PV04iO2E9UmpbYS5lZmZlY3RpdmVUeXBlfHwidW5rbm93biJdfHwiQ09OTl9VTktOT1dOIjtiPT09IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiImJmEhPT0iQ09OTl9VTktOT1dOIiYmKGI9YSk7aWYoYiE9PSJDT05OX1VOS05PV04iKXJldHVybiBiO2lmKGEhPT0iQ09OTl9VTktOT1dOIilyZXR1cm4gYX19O18uVWo9ZnVuY3Rpb24oKXt2YXIgYT1RaigpO2lmKGE/LmVmZmVjdGl2ZVR5cGUpcmV0dXJuIFRqLmhhc093blByb3BlcnR5KGEuZWZmZWN0aXZlVHlwZSk/VGpbYS5lZmZlY3RpdmVUeXBlXToiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV9VTktOT1dOIn07Xy5Xaj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gXy5WaigpLCEwfWNhdGNoKGEpe3JldHVybiExfX07Cl8uVmo9ZnVuY3Rpb24oYT0idW5rbm93biIpe2lmKF8udygiREFUQVNZTkNfSUQiKSE9PXZvaWQgMClyZXR1cm4gXy53KCJEQVRBU1lOQ19JRCIpO3Rocm93IG5ldyBfLlhqKCJEYXRhc3luYyBJRCBub3Qgc2V0IixhKTt9O18uWWo9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDAsYil9O1pqPWZ1bmN0aW9uKGEsYil7dHJ5e2IoKX1jYXRjaChjKXthLkpiKGMpfX07Yms9ZnVuY3Rpb24oYSl7dmFyIGI9Xy54KCJlbmFibGVfc2NoZWR1bGVyX3NpbXVsYXRlX3JhZiIpO2lmKGEub1s4XS5sZW5ndGgpe2lmKGEuaGEpcmV0dXJuIDQ7aWYoYil7aWYoIWEuaXNIaWRkZW4oKSlyZXR1cm4gYS5aPzM6NX1lbHNlIGlmKGFrKGEpKXJldHVybiAzfWZvcihsZXQgYz01O2M+PWEuQjtjLS0paWYoYS5vW2NdLmxlbmd0aD4wKXJldHVybiBjPjA/Yj9hLmlzSGlkZGVuKCk/MjphLlo/Mzo1OmFrKGEpPzM6MjoxO3JldHVybiAwfTsKY2s9ZnVuY3Rpb24oYSl7YS5nYS5sZW5ndGg9MDtmb3IobGV0IGI9NTtiPj0wO2ItLSlhLm9bYl0ubGVuZ3RoPTA7YS5vWzhdLmxlbmd0aD0wO2Eudj17fTthLnN0b3AoKX07YWs9ZnVuY3Rpb24oYSl7cmV0dXJuIWEuaXNIaWRkZW4oKSYmYS5afTtlaz1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgZGspaWYoYS5vW2JdLmxlbmd0aClyZXR1cm4hMDtyZXR1cm4hMX07CmhrPWZ1bmN0aW9uKGEsYixjKXthLmhhJiZhLkk9PT00JiZhLmp8fGEuc3RvcCgpO2EuRD0hMDtiPV8uRWEoKSsoYnx8YS5NKTtmb3IodmFyIGQ9YS5vWzVdO2QubGVuZ3RoOyl7dmFyIGU9ZC5zaGlmdCgpLGY9YS52W2VdO2RlbGV0ZSBhLnZbZV07aWYoZil7ZT1hO3RyeXtmKGMpfWNhdGNoKGgpe2UuSmIoaCl9fX1mb3IoZD1hLm9bNF07ZC5sZW5ndGg7KWM9ZC5zaGlmdCgpLGY9YS52W2NdLGRlbGV0ZSBhLnZbY10sZiYmWmooYSxmKTtkPWEueWE/MDoxO2Q9YS5CPmQ/YS5COmQ7aWYoIShfLkVhKCk+PWIpKXtkb3thOntjPWE7Zj1kO2ZvcihlPTM7ZT49ZjtlLS0pe2xldCBoPWMub1tlXTtmb3IoO2gubGVuZ3RoOyl7bGV0IGs9aC5zaGlmdCgpLGw9Yy52W2tdO2RlbGV0ZSBjLnZba107aWYobCl7Yz1sO2JyZWFrIGF9fX1jPW51bGx9YyYmWmooYSxjKX13aGlsZShjJiZfLkVhKCk8Yil9YS5EPSExO2ZrKGEpO2EuTT1naztlayhhKSYmYS5zdGFydCgpfTsKaWs9ZnVuY3Rpb24oYSl7YS5zdG9wKCk7YS5EPSEwO2Zvcih2YXIgYj1fLkVhKCksYz1hLm9bOF07Yy5sZW5ndGg7KXtsZXQgZD1jLnNoaWZ0KCksZT1hLnZbZF07ZGVsZXRlIGEudltkXTtlJiZaaihhLGUpfWZrKGEpO2EuRD0hMTtlayhhKSYmYS5zdGFydCgpO2I9Xy5FYSgpLWI7YS5NLT1ifTtmaz1mdW5jdGlvbihhKXtmb3IobGV0IGI9MCxjPWEuZ2EubGVuZ3RoO2I8YztiKyspe2xldCBkPWEuZ2FbYl07YS5vW2QucHJpb3JpdHldLnB1c2goZC5pZCl9YS5nYS5sZW5ndGg9MH07a2s9ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2lmKCFhfHxhLmlhKCkpYT1uZXcgamsoXy53KCJzY2hlZHVsZXIiKXx8e30pLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixhKTtyZXR1cm4gYX07Cm1rPWZ1bmN0aW9uKCl7bGsoKTt2YXIgYT1fLnNhKCJ5dGdsb2JhbC5zY2hlZHVsZXJJbnN0YW5jZUluc3RhbmNlXyIpO2EmJihfLlpkKGEpLF8ucmEoInl0Z2xvYmFsLnNjaGVkdWxlckluc3RhbmNlSW5zdGFuY2VfIixudWxsKSl9O2xrPWZ1bmN0aW9uKCl7Y2soa2soKSk7Zm9yKGxldCBhIGluIG5rKW5rLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgbmtbTnVtYmVyKGEpXX07b2s9ZnVuY3Rpb24oYSxiLGMpe2lmKCFjKXJldHVybiBjPWM9PT12b2lkIDAsLWtrKCkuR2EoYSxiLGMpO3ZhciBkPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dmFyIGU9a2soKS5HYShhLGIpO25rW2RdPWV9LGMpO3JldHVybiBkfTtwaz1mdW5jdGlvbihhKXtraygpLlUoYSl9O3FrPWZ1bmN0aW9uKGEpe3ZhciBiPWtrKCk7aWYoYTwwKWIuQWEoLWEpO2Vsc2V7dmFyIGM9bmtbYV07Yz8oYi5BYShjKSxkZWxldGUgbmtbYV0pOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9fTtzaz1mdW5jdGlvbigpe3JrKCl9Owpyaz1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQodGspO2trKCkuc3RhcnQoKX07dms9ZnVuY3Rpb24oKXtraygpLnBhdXNlKCk7d2luZG93LmNsZWFyVGltZW91dCh0ayk7dGs9d2luZG93LnNldFRpbWVvdXQoc2ssdWspfTt5az1mdW5jdGlvbigpe3dpbmRvdy5jbGVhclRpbWVvdXQod2spO3drPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57eGsoMCl9LHVrKX07eGs9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj1hO2Iuc3RhcnQoKX07ems9ZnVuY3Rpb24oYSl7eWsoKTt2YXIgYj1raygpO2IuQj5hJiYoYi5CPWEsYi5zdGFydCgpKX07QWs9ZnVuY3Rpb24oKXt3aW5kb3cuY2xlYXJUaW1lb3V0KHdrKTt2YXIgYT1raygpO2EuQj0wO2Euc3RhcnQoKX07Xy5Daz1mdW5jdGlvbigpe0JrLmluc3RhbmNlfHwoQmsuaW5zdGFuY2U9bmV3IEJrKTtyZXR1cm4gQmsuaW5zdGFuY2V9OwpFaz1mdW5jdGlvbigpe3JldHVybiBEaygpPy5nZXQoIkxBU1RfUkVTVUxUX0VOVFJZX0tFWSIsITApfTtfLklrPWZ1bmN0aW9uKGEpe0ZrfHwoXy5Haz9fLkdrLkpiKGEpOihfLkhrLnB1c2goe3R5cGU6IkVSUk9SIixwYXlsb2FkOmF9KSxfLkhrLmxlbmd0aD4xMCYmXy5Iay5zaGlmdCgpKSl9O0prPWZ1bmN0aW9uKGEsYil7Rmt8fChfLkdrP18uR2subG0oYSxiKTooXy5Iay5wdXNoKHt0eXBlOiJFVkVOVCIsZXZlbnRUeXBlOmEscGF5bG9hZDpifSksXy5Iay5sZW5ndGg+MTAmJl8uSGsuc2hpZnQoKSkpfTtLaz1mdW5jdGlvbihhKXtpZihhLmluZGV4T2YoIjoiKT49MCl0aHJvdyBFcnJvcigiaGEiKTt9O0xrPWZ1bmN0aW9uKGEpe3JldHVybiBhLnN1YnN0cigwLGEuaW5kZXhPZigiOiIpKXx8YX07Xy5Naz1mdW5jdGlvbihhKXt2YXIgYj1fLmJjKCk7cmV0dXJuIGI/Yi50b0xvd2VyQ2FzZSgpLmluZGV4T2YoYSk+PTA6ITF9OwpSaz1mdW5jdGlvbihhLGIsYyxkKXtiPUxrKGIpO3ZhciBlPWEgaW5zdGFuY2VvZiBFcnJvcj9hOkVycm9yKCJpYWAiK2EpO2lmKGUgaW5zdGFuY2VvZiBOaylyZXR1cm4gZTthPXtvYmplY3RTdG9yZU5hbWVzOmMsZGJOYW1lOmIsZGJWZXJzaW9uOmR9O2lmKGUubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IiKXJldHVybiBuZXcgTmsoIlFVT1RBX0VYQ0VFREVEIixhKTtpZihfLk9rJiZlLm5hbWU9PT0iVW5rbm93bkVycm9yIilyZXR1cm4gbmV3IE5rKCJRVU9UQV9NQVlCRV9FWENFRURFRCIsYSk7aWYoZSBpbnN0YW5jZW9mIFBrKXJldHVybiBuZXcgTmsoIk1JU1NJTkdfSU5ERVgiLHsuLi5hLG9iamVjdFN0b3JlOmUub2JqZWN0U3RvcmUsaW5kZXg6ZS5pbmRleH0pO2lmKGUubmFtZT09PSJJbnZhbGlkU3RhdGVFcnJvciImJlFrLnNvbWUoZj0+ZS5tZXNzYWdlLmluY2x1ZGVzKGYpKSlyZXR1cm4gbmV3IE5rKCJFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQiIsYSk7aWYoZS5uYW1lPT09CiJBYm9ydEVycm9yIilyZXR1cm4gbmV3IE5rKCJVTktOT1dOX0FCT1JUIixhLGUubWVzc2FnZSk7ZS5hcmdzPVt7Li4uYSxuYW1lOiJJZGJFcnJvciIsTW06ZS5uYW1lfV07ZS5sZXZlbD0iV0FSTklORyI7cmV0dXJuIGV9O1NrPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1FaygpO3JldHVybiBuZXcgTmsoIklEQl9OT1RfU1VQUE9SVEVEIix7Y29udGV4dDp7Y2FsbGVyOmEscHVibGljTmFtZTpiLHZlcnNpb246YyxoYXNTdWNjZWVkZWRPbmNlOmQ/Lmhhc1N1Y2NlZWRlZE9uY2V9fSl9O1RrPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCk7dGhyb3cgYTt9O1VrPWZ1bmN0aW9uKGEpe3JldHVybiBhfTtYaz1mdW5jdGlvbihhLGIsYyxkLGUpe3RyeXtpZihhLnN0YXRlLnN0YXR1cyE9PSJGVUxGSUxMRUQiKXRocm93IEVycm9yKCJqYSIpO2xldCBmPWMoYS5zdGF0ZS52YWx1ZSk7ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfWNhdGNoKGYpe2UoZil9fTsKWWs9ZnVuY3Rpb24oYSxiLGMsZCxlKXt0cnl7aWYoYS5zdGF0ZS5zdGF0dXMhPT0iUkVKRUNURUQiKXRocm93IEVycm9yKCJrYSIpO2xldCBmPWMoYS5zdGF0ZS5yZWFzb24pO2YgaW5zdGFuY2VvZiBfLlZrP1drKGEsYixmLGQsZSk6ZChmKX1jYXRjaChmKXtlKGYpfX07V2s9ZnVuY3Rpb24oYSxiLGMsZCxlKXtiPT09Yz9lKG5ldyBUeXBlRXJyb3IoImxhIikpOmMudGhlbihmPT57ZiBpbnN0YW5jZW9mIF8uVms/V2soYSxiLGYsZCxlKTpkKGYpfSxmPT57ZShmKX0pfTtaaz1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9KCk9Pnt0cnl7YS5yZW1vdmVFdmVudExpc3RlbmVyKCJzdWNjZXNzIixlKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIixmKX1jYXRjaHt9fSxlPSgpPT57YihhLnJlc3VsdCk7ZCgpfSxmPSgpPT57YyhhLmVycm9yKTtkKCl9O2EuYWRkRXZlbnRMaXN0ZW5lcigic3VjY2VzcyIsZSk7YS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZil9Owokaz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IFByb21pc2UoKGIsYyk9PntaayhhLGIsYyl9KX07Ymw9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBfLlZrKG5ldyBhbCgoYixjKT0+e1prKGEsYixjKX0pKX07Y2w9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChjLGQpPT57dmFyIGU9KCk9Pnt2YXIgZj1hP2IoYSk6bnVsbDtmP2YudGhlbihoPT57YT1oO2UoKX0sZCk6YygpfTtlKCl9KSl9O2RsPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiaWRiX2ltbWVkaWF0ZV9jb21taXQiKX07Cl8uaWw9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e21vZGU6InJlYWRvbmx5IixrYjohMSx0YWc6IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiJ9O3R5cGVvZiBjPT09InN0cmluZyI/ZS5tb2RlPWM6T2JqZWN0LmFzc2lnbihlLGMpO2EudHJhbnNhY3Rpb25Db3VudCsrO2M9ZS5rYj8zOjE7Zm9yKHZhciBmPTAsaDshaDspe2YrKztsZXQgbj1NYXRoLnJvdW5kKCgwLF8uZWwpKCkpO3RyeXt2YXIgaz1hLmoudHJhbnNhY3Rpb24oYixlLm1vZGUpLGw9ZCxtPSEhZS5jb21taXQ7bGV0IHA9bmV3IGZsKGspLHI9YXdhaXQgZ2wocCxsLG0pLHQ9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKTtobChhLG4sdCxmLHZvaWQgMCxiLmpvaW4oKSxlKTtyZXR1cm4gcn1jYXRjaChwKXtsPU1hdGgucm91bmQoKDAsXy5lbCkoKSk7bGV0IHI9UmsocCxhLmoubmFtZSxiLmpvaW4oKSxhLmoudmVyc2lvbik7aWYociBpbnN0YW5jZW9mIE5rJiYhci5qfHxmPj1jKWhsKGEsbixsLGYscixiLmpvaW4oKSwKZSksaD1yfX1yZXR1cm4gUHJvbWlzZS5yZWplY3QoaCl9O18ua2w9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLmNyZWF0ZU9iamVjdFN0b3JlKGIsYyk7cmV0dXJuIG5ldyBqbChhKX07Xy5tbD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uaWwoYSxbYl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9Pl8ubGwoZC5vYmplY3RTdG9yZShiKSxjKSl9OwpobD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtiPWMtYjtlPyhlIGluc3RhbmNlb2YgTmsmJihlLnR5cGU9PT0iUVVPVEFfRVhDRUVERUQifHxlLnR5cGU9PT0iUVVPVEFfTUFZQkVfRVhDRUVERUQiKSYmSmsoIlFVT1RBX0VYQ0VFREVEIix7ZGJOYW1lOkxrKGEuai5uYW1lKSxvYmplY3RTdG9yZU5hbWVzOmYsdHJhbnNhY3Rpb25Db3VudDphLnRyYW5zYWN0aW9uQ291bnQsdHJhbnNhY3Rpb25Nb2RlOmgubW9kZX0pLGUgaW5zdGFuY2VvZiBOayYmZS50eXBlPT09IlVOS05PV05fQUJPUlQiJiYoYy09YS52LGM8MCYmYz49MjE0NzQ4MzY0OCYmKGM9MCksSmsoIlRSQU5TQUNUSU9OX1VORVhQRUNURURMWV9BQk9SVEVEIix7b2JqZWN0U3RvcmVOYW1lczpmLHRyYW5zYWN0aW9uRHVyYXRpb246Yix0cmFuc2FjdGlvbkNvdW50OmEudHJhbnNhY3Rpb25Db3VudCxkYkR1cmF0aW9uOmN9KSxhLm89ITApLG5sKGEsITEsZCxmLGIsaC50YWcpLF8uSWsoZSkpOm5sKGEsITAsZCxmLGIsaC50YWcpfTsKbmw9ZnVuY3Rpb24oYSxiLGMsZCxlLGY9IklEQl9UUkFOU0FDVElPTl9UQUdfVU5LTk9XTiIpe0prKCJUUkFOU0FDVElPTl9FTkRFRCIse29iamVjdFN0b3JlTmFtZXM6ZCxjb25uZWN0aW9uSGFzVW5rbm93bkFib3J0ZWRUcmFuc2FjdGlvbjphLm8sZHVyYXRpb246ZSxpc1N1Y2Nlc3NmdWw6Yix0cnlDb3VudDpjLHRhZzpmfSl9O18ubGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYmwoYS5qLnB1dChiLHZvaWQgMCkpfTtfLm9sPWZ1bmN0aW9uKGEsYixjKXthLmouY3JlYXRlSW5kZXgoYixjLHt1bmlxdWU6ITF9KX07cWw9ZnVuY3Rpb24oYSxiLGMpe2E9YS5qLm9wZW5DdXJzb3IoYi5xdWVyeSxiLmRpcmVjdGlvbik7cmV0dXJuIHBsKGEpLnRoZW4oZD0+Y2woZCxjKSl9O3NsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGM9PmMuZGVsZXRlKCkudGhlbigoKT0+cmwoYykpKS50aGVuKCgpPT57fSl9Owp0bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHFsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtnbD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9bmV3IFByb21pc2UoKGUsZik9Pnt0cnl7bGV0IGg9YihhKTtjJiZhLmNvbW1pdCgpO2gudGhlbihrPT57ZShrKX0pLmNhdGNoKGYpfWNhdGNoKGgpe2YoaCksYS5hYm9ydCgpfX0pO3JldHVybiBQcm9taXNlLmFsbChbZCxhLmRvbmVdKS50aGVuKChbZV0pPT5lKX07dWw9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7cXVlcnk6ZD1udWxsLGRpcmVjdGlvbjplPSJuZXh0In09YjthPWEuai5vcGVuQ3Vyc29yKGQsZSk7cmV0dXJuIHBsKGEpLnRoZW4oZj0+Y2woZixjKSl9Owp2bD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W107cmV0dXJuIHVsKGEse3F1ZXJ5OmJ9LGU9PntpZighKGMhPT12b2lkIDAmJmQubGVuZ3RoPj1jKSlyZXR1cm4gZC5wdXNoKGUuY3Vyc29yLnZhbHVlKSxybChlKX0pLnRoZW4oKCk9PmQpfTtwbD1mdW5jdGlvbihhKXtyZXR1cm4gYmwoYSkudGhlbihiPT5iP25ldyB3bChhLGIpOm51bGwpfTtybD1mdW5jdGlvbihhKXthLmN1cnNvci5jb250aW51ZSh2b2lkIDApO3JldHVybiBwbChhLnJlcXVlc3QpfTsKeWw9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgUHJvbWlzZSgoZCxlKT0+e3ZhciBmPWIhPT12b2lkIDA/c2VsZi5pbmRleGVkREIub3BlbihhLGIpOnNlbGYuaW5kZXhlZERCLm9wZW4oYSk7dmFyIGg9Yy5ibG9ja2VkLGs9Yy5ibG9ja2luZyxsPWMuVEEsbT1jLnVwZ3JhZGUsbj1jLmNsb3NlZCxwLHI9KCk9PntwfHwocD1uZXcgeGwoZi5yZXN1bHQse2Nsb3NlZDpufSkpO3JldHVybiBwfTtmLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLHQ9Pnt0cnl7aWYodC5uZXdWZXJzaW9uPT09bnVsbCl0aHJvdyBFcnJvcigibmEiKTtpZihmLnRyYW5zYWN0aW9uPT09bnVsbCl0aHJvdyBFcnJvcigib2EiKTt0LmRhdGFMb3NzJiZ0LmRhdGFMb3NzIT09Im5vbmUiJiZKaygiSURCX0RBVEFfQ09SUlVQVEVEIix7cmVhc29uOnQuZGF0YUxvc3NNZXNzYWdlfHwidW5rbm93biByZWFzb24iLGRiTmFtZTpMayhhKX0pO2xldCB2PXIoKSx6PW5ldyBmbChmLnRyYW5zYWN0aW9uKTttJiYKbSh2LEU9PnQub2xkVmVyc2lvbjxFJiZ0Lm5ld1ZlcnNpb24+PUUseik7ei5kb25lLmNhdGNoKEU9PntlKEUpfSl9Y2F0Y2godil7ZSh2KX19KTtmLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLCgpPT57dmFyIHQ9Zi5yZXN1bHQ7ayYmdC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIiwoKT0+e2socigpKX0pO3QuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT57SmsoIklEQl9VTkVYUEVDVEVETFlfQ0xPU0VEIix7ZGJOYW1lOkxrKGEpLGRiVmVyc2lvbjp0LnZlcnNpb259KTtsJiZsKCl9KTtkKHIoKSl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2UoZi5lcnJvcil9KTtoJiZmLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrZWQiLCgpPT57aCgpfSl9KX07emw9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiB5bChhLGIsYyl9OwpfLkFsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dHJ5e2xldCBjPXNlbGYuaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGEpLGQ9Yi5ibG9ja2VkO2QmJmMuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIsKCk9PntkKCl9KTthd2FpdCAkayhjKX1jYXRjaChjKXt0aHJvdyBSayhjLGEsIiIsLTEpO319O0JsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBOaygiSU5DT01QQVRJQkxFX0RCX1ZFUlNJT04iLHtkYk5hbWU6YS5uYW1lLG9sZFZlcnNpb246YS5vcHRpb25zLnZlcnNpb24sbmV3VmVyc2lvbjpifSl9O18uQ2w9ZnVuY3Rpb24oYSxiKXtpZighYil0aHJvdyBTaygib3BlbldpdGhUb2tlbiIsTGsoYS5uYW1lKSk7cmV0dXJuIGEub3BlbigpfTsKRWw9YXN5bmMgZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5pbChhd2FpdCBfLkNsKERsLGIpLFsiZGF0YWJhc2VzIl0se2tiOiEwLG1vZGU6InJlYWR3cml0ZSJ9LGM9Pnt2YXIgZD1jLm9iamVjdFN0b3JlKCJkYXRhYmFzZXMiKTtyZXR1cm4gZC5nZXQoYS5hY3R1YWxOYW1lKS50aGVuKGU9PntpZihlP2EuYWN0dWFsTmFtZSE9PWUuYWN0dWFsTmFtZXx8YS5wdWJsaWNOYW1lIT09ZS5wdWJsaWNOYW1lfHxhLnVzZXJJZGVudGlmaWVyIT09ZS51c2VySWRlbnRpZmllcjoxKXJldHVybiBfLmxsKGQsYSkudGhlbigoKT0+e30pfSl9KX07Xy5GbD1hc3luYyBmdW5jdGlvbihhLGIpe3JldHVybiBhPyhhd2FpdCBfLkNsKERsLGIpKS5kZWxldGUoImRhdGFiYXNlcyIsYSk6dm9pZCAwfTsKXy5HbD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPVtdO2I9YXdhaXQgXy5DbChEbCxiKTthd2FpdCBfLmlsKGIsWyJkYXRhYmFzZXMiXSx7a2I6ITAsbW9kZToicmVhZG9ubHkifSxkPT57Yy5sZW5ndGg9MDtyZXR1cm4gcWwoZC5vYmplY3RTdG9yZSgiZGF0YWJhc2VzIikse30sZT0+e2EoZS5jdXJzb3IudmFsdWUpJiZjLnB1c2goZS5jdXJzb3IudmFsdWUpO3JldHVybiBybChlKX0pfSk7cmV0dXJuIGN9O0hsPWZ1bmN0aW9uKGEpe3JldHVybiBfLkdsKGI9PmIucHVibGljTmFtZT09PSJMb2dzRGF0YWJhc2VWMiImJmIudXNlcklkZW50aWZpZXIhPT12b2lkIDAsYSl9OwpMbD1hc3luYyBmdW5jdGlvbigpe2lmKEVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2UpcmV0dXJuITA7dmFyIGE7aWYoYT1fLklsKWE9L1dlYktpdFwvKFswLTldKykvLmV4ZWMoXy5iYygpKSxhPSEhKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDApO2EmJihhPS9XZWJLaXRcLyhbMC05XSspLy5leGVjKF8uYmMoKSksYT0hKGEmJnBhcnNlSW50KGFbMV0sMTApPj02MDIpKTtpZighKGE9YXx8Xy5KbCkpe3RyeXthPXNlbGY7dmFyIGI9ISEoYS5pbmRleGVkREImJmEuSURCSW5kZXgmJmEuSURCS2V5UmFuZ2UmJmEuSURCT2JqZWN0U3RvcmUpfWNhdGNoKGMpe2I9ITF9YT0hYn1pZihhfHwhKCJJREJUcmFuc2FjdGlvbiJpbiBzZWxmJiYib2JqZWN0U3RvcmVOYW1lcyJpbiBJREJUcmFuc2FjdGlvbi5wcm90b3R5cGUpKXJldHVybiExO3RyeXtyZXR1cm4gYXdhaXQgRWwoe2FjdHVhbE5hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLHB1YmxpY05hbWU6Inl0LWlkYi10ZXN0LWRvLW5vdC11c2UiLAp1c2VySWRlbnRpZmllcjp2b2lkIDB9LEtsKSxhd2FpdCBfLkZsKCJ5dC1pZGItdGVzdC1kby1ub3QtdXNlIixLbCksITB9Y2F0Y2goYyl7cmV0dXJuITF9fTtObD1mdW5jdGlvbigpe2lmKE1sIT09dm9pZCAwKXJldHVybiBNbDtGaz0hMDtyZXR1cm4gTWw9TGwoKS50aGVuKGE9PntGaz0hMTtpZihEaygpPy5vKCkpe3ZhciBiPXtoYXNTdWNjZWVkZWRPbmNlOkVrKCk/Lmhhc1N1Y2NlZWRlZE9uY2V8fGF9O0RrKCk/LnNldCgiTEFTVF9SRVNVTFRfRU5UUllfS0VZIixiLDI1OTJFMywhMCl9cmV0dXJuIGF9KX07T2w9ZnVuY3Rpb24oKXtyZXR1cm4gXy5zYSgieXRnbG9iYWwuaWRiVG9rZW5fIil8fHZvaWQgMH07Xy5QbD1mdW5jdGlvbigpe3ZhciBhPU9sKCk7cmV0dXJuIGE/UHJvbWlzZS5yZXNvbHZlKGEpOk5sKCkudGhlbihiPT57Yj8oXy5yYSgieXRnbG9iYWwuaWRiVG9rZW5fIixLbCksYj1LbCk6Yj12b2lkIDA7cmV0dXJuIGJ9KX07ClFsPWZ1bmN0aW9uKGEpe2lmKCFfLldqKCkpdGhyb3cgYT1uZXcgTmsoIkFVVEhfSU5WQUxJRCIse2RiTmFtZTphfSksXy5JayhhKSxhO3ZhciBiPV8uVmooKTtyZXR1cm57YWN0dWFsTmFtZTpgJHthfToke2J9YCxwdWJsaWNOYW1lOmEsdXNlcklkZW50aWZpZXI6Yn19OwpSbD1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1FcnJvcigpLnN0YWNrPz8iIixmPWF3YWl0IF8uUGwoKTtpZighZil0aHJvdyBiPVNrKCJvcGVuRGJJbXBsIixhLGIpLF8ueCgieXRpZGJfYXN5bmNfc3RhY2tfa2lsbHN3aXRjaCIpfHwoYi5zdGFjaz1gJHtiLnN0YWNrfVxuJHtlLnN1YnN0cmluZyhlLmluZGV4T2YoIlxuIikrMSl9YCksXy5JayhiKSxiO0trKGEpO2U9Yz97YWN0dWFsTmFtZTphLHB1YmxpY05hbWU6YSx1c2VySWRlbnRpZmllcjp2b2lkIDB9OlFsKGEpO3RyeXtyZXR1cm4gYXdhaXQgRWwoZSxmKSxhd2FpdCB6bChlLmFjdHVhbE5hbWUsYixkKX1jYXRjaChoKXt0cnl7YXdhaXQgXy5GbChlLmFjdHVhbE5hbWUsZil9Y2F0Y2h7fXRocm93IGg7fX07U2w9ZnVuY3Rpb24oYSxiLGM9e30pe3JldHVybiBSbChhLGIsITEsYyl9O1RsPWZ1bmN0aW9uKGEsYixjPXt9KXtyZXR1cm4gUmwoYSxiLCEwLGMpfTsKVWw9YXN5bmMgZnVuY3Rpb24oYSxiPXt9KXt2YXIgYz1hd2FpdCBfLlBsKCk7YyYmKEtrKGEpLGE9UWwoYSksYXdhaXQgXy5BbChhLmFjdHVhbE5hbWUsYiksYXdhaXQgXy5GbChhLmFjdHVhbE5hbWUsYykpfTtWbD1mdW5jdGlvbihhLGIsYyl7YT1hLm1hcChhc3luYyBkPT57YXdhaXQgXy5BbChkLmFjdHVhbE5hbWUsYik7YXdhaXQgXy5GbChkLmFjdHVhbE5hbWUsYyl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoYSkudGhlbigoKT0+e30pfTtXbD1hc3luYyBmdW5jdGlvbigpe3ZhciBhPXt9LGI9YXdhaXQgXy5QbCgpO2lmKGIpe0trKCJMb2dzRGF0YWJhc2VWMiIpO3ZhciBjPWF3YWl0IEhsKGIpO2F3YWl0IFZsKGMsYSxiKX19O1hsPWFzeW5jIGZ1bmN0aW9uKGEsYj17fSl7dmFyIGM9YXdhaXQgXy5QbCgpO2MmJihLayhhKSxhd2FpdCBfLkFsKGEsYiksYXdhaXQgXy5GbChhLGMpKX07Wmw9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4oKT0+e2N8fChjPW5ldyBZbChhLGIpKTtyZXR1cm4gY319OwpfLiRsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFpsKGEsYil9O2JtPWZ1bmN0aW9uKGEpe3JldHVybiBfLkNsKGFtKCksYSl9O2NtPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLHRpbWVzdGFtcDooMCxfLmVsKSgpfTtjPWF3YWl0IGJtKGMpO2F3YWl0IGMuY2xlYXIoImhvdENvbmZpZ1N0b3JlIik7cmV0dXJuIGF3YWl0IF8ubWwoYywiaG90Q29uZmlnU3RvcmUiLGEpfTtkbT1hc3luYyBmdW5jdGlvbihhLGIsYyxkKXthPXtjb25maWc6YSxoYXNoRGF0YTpiLGNvbmZpZ0RhdGE6Yyx0aW1lc3RhbXA6KDAsXy5lbCkoKX07ZD1hd2FpdCBibShkKTthd2FpdCBkLmNsZWFyKCJjb2xkQ29uZmlnU3RvcmUiKTtyZXR1cm4gYXdhaXQgXy5tbChkLCJjb2xkQ29uZmlnU3RvcmUiLGEpfTsKZW09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBibShhKTt2YXIgYj12b2lkIDA7YXdhaXQgXy5pbChhLFsiY29sZENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImNvbGRDb25maWdTdG9yZSIpLmluZGV4KCJjb2xkVGltZXN0YW1wSW5kZXgiKSx7ZGlyZWN0aW9uOiJwcmV2In0sZD0+e2I9ZC5jdXJzb3IudmFsdWV9KSk7cmV0dXJuIGJ9O2ZtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgYm0oYSk7dmFyIGI9dm9pZCAwO2F3YWl0IF8uaWwoYSxbImhvdENvbmZpZ1N0b3JlIl0se21vZGU6InJlYWR3cml0ZSIsa2I6ITB9LGM9PnVsKGMub2JqZWN0U3RvcmUoImhvdENvbmZpZ1N0b3JlIikuaW5kZXgoImhvdFRpbWVzdGFtcEluZGV4Iikse2RpcmVjdGlvbjoicHJldiJ9LGQ9PntiPWQuY3Vyc29yLnZhbHVlfSkpO3JldHVybiBifTsKZ209YXN5bmMgZnVuY3Rpb24oYSxiLGMpe2lmKF8ueCgic3RhcnRfY2xpZW50X2djZiIpKXtjJiYoYS52PWMsXy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIsYS52fHxudWxsKSk7YS5CKGIpO2xldCBkPU9sKCk7ZCYmKGN8fChjPShhd2FpdCBmbShkKSk/LmNvbmZpZyksYXdhaXQgY20oYyxiLGQpKTtpZihjKXthPWEubztmb3IobGV0IGUgb2YgYS5qKWUoYyl9fX07aG09YXN5bmMgZnVuY3Rpb24oYSxiLGMpe18ueCgic3RhcnRfY2xpZW50X2djZiIpJiYoYS5jb2xkSGFzaERhdGE9YixfLnJhKCJ5dC5nY2YuY29uZmlnLmNvbGRIYXNoRGF0YSIsYS5jb2xkSGFzaERhdGF8fG51bGwpLGE9T2woKSkmJihjfHwoYz0oYXdhaXQgZW0oYSkpPy5jb25maWcpLGMmJmF3YWl0IGRtKGMsYixjLmNvbmZpZ0RhdGEsYSkpfTsKXy5qbT1mdW5jdGlvbigpe2lmKCFpbS5pbnN0YW5jZSl7dmFyIGE9bmV3IGltO2ltLmluc3RhbmNlPWF9YT1pbS5pbnN0YW5jZTt2YXIgYj0oMCxfLmVsKSgpLWEuajtpZighKGEuaiE9PTAmJmI8Xy5zaigic2VuZF9jb25maWdfaGFzaF90aW1lciIpKSl7Yj1fLnNhKCJ5dC5nY2YuY29uZmlnLmNvbGRDb25maWdEYXRhIik7dmFyIGM9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIpLGQ9Xy5zYSgieXQuZ2NmLmNvbmZpZy5jb2xkSGFzaERhdGEiKTtiJiZjJiZkJiYoYS5qPSgwLF8uZWwpKCkpO3JldHVybntjb2xkQ29uZmlnRGF0YTpiLGhvdEhhc2hEYXRhOmMsY29sZEhhc2hEYXRhOmR9fX07a209ZnVuY3Rpb24oKXtyZXR1cm4iSU5ORVJUVUJFX0FQSV9LRVkiaW4gXy5QaSYmIklOTkVSVFVCRV9BUElfVkVSU0lPTiJpbiBfLlBpfTsKbG09ZnVuY3Rpb24oKXtyZXR1cm57aW5uZXJ0dWJlQXBpS2V5Ol8udygiSU5ORVJUVUJFX0FQSV9LRVkiKSxpbm5lcnR1YmVBcGlWZXJzaW9uOl8udygiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIiksd3g6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfQ09ORklHX0lORk8iKSxtcTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwiV0VCIikscUo6Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMSksaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb246Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpLHl4Ol8udygiSU5ORVJUVUJFX0NPTlRFWFRfSEwiKSx4eDpfLncoIklOTkVSVFVCRV9DT05URVhUX0dMIikseng6Xy53KCJJTk5FUlRVQkVfSE9TVF9PVkVSUklERSIpfHwiIixBeDohIV8udygiSU5ORVJUVUJFX1VTRV9USElSRF9QQVJUWV9BVVRIIiwhMSkscko6ISFfLncoIklOTkVSVFVCRV9PTUlUX0FQSV9LRVlfV0hFTl9BVVRIX0hFQURFUl9JU19QUkVTRU5UIiwKITEpLGFwcEluc3RhbGxEYXRhOl8udygiU0VSSUFMSVpFRF9DTElFTlRfQ09ORklHX0RBVEEiKX19OwptbT1mdW5jdGlvbihhKXt2YXIgYj17Y2xpZW50OntobDphLnl4LGdsOmEueHgsY2xpZW50TmFtZTphLm1xLGNsaWVudFZlcnNpb246YS5pbm5lcnR1YmVDb250ZXh0Q2xpZW50VmVyc2lvbixjb25maWdJbmZvOmEud3h9fTtuYXZpZ2F0b3IudXNlckFnZW50JiYoYi5jbGllbnQudXNlckFnZW50PVN0cmluZyhuYXZpZ2F0b3IudXNlckFnZW50KSk7dmFyIGM9Xy51LmRldmljZVBpeGVsUmF0aW87YyYmYyE9MSYmKGIuY2xpZW50LnNjcmVlbkRlbnNpdHlGbG9hdD1TdHJpbmcoYykpO2M9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpO2MhPT0iIiYmKGIuY2xpZW50LmV4cGVyaW1lbnRzVG9rZW49Yyk7Yz1fLnVqKCk7Yy5sZW5ndGg+MCYmKGIucmVxdWVzdD17aW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6Y30pO2M9YS5tcTtjIT09IldFQiImJmMhPT0iTVdFQiImJmMhPT0xJiZjIT09Mnx8IWJ8fChiLmNsaWVudC5tYWluQXBwV2ViSW5mbz1iLmNsaWVudC5tYWluQXBwV2ViSW5mbz8/e30sCmIuY2xpZW50Lm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSk7KGM9Xy5zYSgieXQuZW1iZWRkZWRfcGxheWVyLmVtYmVkX3VybCIpKSYmYiYmKGIudGhpcmRQYXJ0eT17ZW1iZWRVcmw6Y30pO18ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGM9Xy51Lm5hdmlnYXRvcj8uZGV2aWNlTWVtb3J5LGImJihiLmNsaWVudC5tZW1vcnlUb3RhbEtieXRlcz1gJHtjKjFFNn1gKSk7YS5hcHBJbnN0YWxsRGF0YSYmYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYi5jbGllbnQuY29uZmlnSW5mby5hcHBJbnN0YWxsRGF0YT1hLmFwcEluc3RhbGxEYXRhKTsoYT1fLlNqKCkpJiZiJiYoYi5jbGllbnQuY29ubmVjdGlvblR5cGU9YSk7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGE9Xy5VaigpKSYmYiYmKGIuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPQphKTtpZihfLngoInN0YXJ0X2NsaWVudF9nY2YiKSl7dmFyIGQ9Xy5qbSgpO2QmJihhPWQuY29sZENvbmZpZ0RhdGEsYz1kLmNvbGRIYXNoRGF0YSxkPWQuaG90SGFzaERhdGEsYiYmKGIuY2xpZW50LmNvbmZpZ0luZm89Yi5jbGllbnQuY29uZmlnSW5mb3x8e30sYSYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9YSksYyYmKGIuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPWMpLGQmJihiLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWQpKSl9Xy53KCJERUxFR0FURURfU0VTU0lPTl9JRCIpJiYhXy54KCJwYWdlaWRfYXNfaGVhZGVyX3dlYiIpJiYoYi51c2VyPXtvbkJlaGFsZk9mVXNlcjpfLncoIkRFTEVHQVRFRF9TRVNTSU9OX0lEIil9KTshXy54KCJmaWxsX2RlbGVnYXRlX2NvbnRleHRfaW5fZ2VsX2tpbGxzd2l0Y2giKSYmKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9TRVJJQUxJWkVEX0RFTEVHQVRJT05fQ09OVEVYVCIpKSYmKGIudXNlcj0Key4uLmIudXNlcixzZXJpYWxpemVkRGVsZWdhdGlvbkNvbnRleHQ6YX0pO2E9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO18ueCgiZW5hYmxlX3BlcnNpc3RlbnRfZGV2aWNlX3Rva2VuIikmJmE/LmNsaWVudD8ucm9sbG91dFRva2VuJiYoYi5jbGllbnQucm9sbG91dFRva2VuPWE/LmNsaWVudD8ucm9sbG91dFRva2VuKTthPU9iamVjdDtjPWEuYXNzaWduO2Q9Yi5jbGllbnQ7dmFyIGU9Xy53KCJERVZJQ0UiLCIiKSxmPXt9O2ZvcihsZXQgW2gsa11vZiBPYmplY3QuZW50cmllcyhfLmJqKGUpKSllPWgsZT09PSJjYnJhbmQiP2YuZGV2aWNlTWFrZT1rOmU9PT0iY21vZGVsIj9mLmRldmljZU1vZGVsPWs6ZT09PSJjYnIiP2YuYnJvd3Nlck5hbWU9azplPT09ImNicnZlciI/Zi5icm93c2VyVmVyc2lvbj1rOmU9PT0iY29zIj9mLm9zTmFtZT1rOmU9PT0iY29zdmVyIj9mLm9zVmVyc2lvbj1rOmU9PT0iY3BsYXRmb3JtIiYmKGYucGxhdGZvcm09ayk7Yi5jbGllbnQ9Yy5jYWxsKGEsZCxmKTsKXy54KCJ3ZWJfYXR0ZW50aW9uX2xvZ2dpbmdfZW5hYmxlZCIpJiYoYi5jbGllbnQud2luZG93V2lkdGhQb2ludHM9d2luZG93LmlubmVyV2lkdGgsYi5jbGllbnQud2luZG93SGVpZ2h0UG9pbnRzPXdpbmRvdy5pbm5lckhlaWdodCk7cmV0dXJuIGJ9OwpvbT1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9e307Xy53KCJFT01fVklTSVRPUl9EQVRBIik/ZD17IlgtR29vZy1FT00tVmlzaXRvci1JZCI6Xy53KCJFT01fVklTSVRPUl9EQVRBIil9OmQ9eyJYLUdvb2ctVmlzaXRvci1JZCI6Yy52aXNpdG9yRGF0YXx8Xy53KCJWSVNJVE9SX0RBVEEiLCIiKX07aWYoYiYmYi5pbmNsdWRlcygid3d3LnlvdXR1YmUtbm9jb29raWUuY29tIikpcmV0dXJuIGQ7Yj1jLmF1dGhvcml6YXRpb258fF8udygiQVVUSE9SSVpBVElPTiIpO2J8fChhP2I9YEJlYXJlciAke18uc2EoImdhcGkuYXV0aC5nZXRUb2tlbiIpKCkuT0h9YDooXy5ubS5pbnN0YW5jZXx8KF8ubm0uaW5zdGFuY2U9bmV3IF8ubm0pLGE9Xy5QaigpLF8ueCgicGFnZWlkX2FzX2hlYWRlcl93ZWIiKXx8ZGVsZXRlIGFbIlgtR29vZy1QYWdlSWQiXSxkPXsuLi5kLC4uLmF9KSk7YiYmKGQuQXV0aG9yaXphdGlvbj1iKTtyZXR1cm4gZH07Cl8ucG09ZnVuY3Rpb24oYSl7dGhpcy52ZXJzaW9uPTE7dGhpcy5hcmdzPWF9O18ucW09ZnVuY3Rpb24oYSxiKXt0aGlzLnRvcGljPWE7dGhpcy5qPWJ9O18uc209ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnJtKCk7YyYmYy5wdWJsaXNoLmNhbGwoYyxhLnRvU3RyaW5nKCksYSxiKX07Xy5ybT1mdW5jdGlvbigpe3JldHVybiBfLnNhKCJ5dFB1YnN1YjJQdWJzdWIySW5zdGFuY2UiKX07dG09ZnVuY3Rpb24oYSxiLGM9e3NhbXBsZVJhdGU6LjF9KXtNYXRoLnJhbmRvbSgpPE1hdGgubWluKC4wMixjLnNhbXBsZVJhdGUvMTAwKSYmXy5zbSgibWV0YV9sb2dnaW5nX2NzaV9ldmVudCIse3RpbWVyTmFtZTphLHRpbWVsaW5lRGF0YTpifSl9OwpBbT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT17c3RhcnRUaW1lOigwLF8uZWwpKCksdGlja3M6e30saW5mb3M6e319O3RyeXtsZXQgaD1fLnVtKGIpO2lmKGg9PW51bGx8fCEoaD5fLndtfHxoPF8ueG0pKXt2YXIgZj1fLk5pKCgwLF8ueW0pKGIpKTtsZXQgaz0oMCxfLmVsKSgpO2UudGlja3MuZ2VsYz1rO3ptKys7Xy54KCJnZWxfY29tcHJlc3Npb25fY3NpX2tpbGxzd2l0Y2giKXx8IV8ueCgibG9nX2dlbF9jb21wcmVzc2lvbl9sYXRlbmN5IikmJiFfLngoImxvZ19nZWxfY29tcHJlc3Npb25fbGF0ZW5jeV9sciIpfHx0bSgiZ2VsX2NvbXByZXNzaW9uIixlLHtzYW1wbGVSYXRlOi4xfSk7Yy5oZWFkZXJzfHwoYy5oZWFkZXJzPXt9KTtjLmhlYWRlcnNbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7Yy5wb3N0Qm9keT1mO2MucG9zdFBhcmFtcz12b2lkIDB9ZChhLGMpfWNhdGNoKGgpe18uV2koaCksZChhLGMpfX07Cl8udW09ZnVuY3Rpb24oYSl7dHJ5e3JldHVybihuZXcgQmxvYihhLnNwbGl0KCIiKSkpLnNpemV9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksbnVsbH19O0JtPWZ1bmN0aW9uKGEpe3JldHVybiEhYS5KYXx8YS54aX07RG09ZnVuY3Rpb24oYSl7Qm0oYSkmJiFhLmFoJiYoYS5PYz0hMCxhLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLmNiLk91KGEuSmEpLENtKGEpLGEuU2EuU2IoKSYmYS5vKCksYS5TYS5saXN0ZW4oYS5LbSxhLm8uYmluZChhKSksYS5TYS5saXN0ZW4oYS5GbSxhLnYuYmluZChhKSkpfTtDbT1mdW5jdGlvbihhKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInhhIik7YS5jYi5XcCgiUVVFVUVEIixhLkphKS50aGVuKGI9PntiJiYhRW0oYSxiLGEuQ3IpP2EuRGMucGIoYXN5bmMoKT0+e2IuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphKTtDbShhKX0pOmEuU2EuU2IoKSYmYS5vKCl9KX07CkdtPWFzeW5jIGZ1bmN0aW9uKGEsYil7aWYoIUJtKGEpKXRocm93IEVycm9yKCJzYSIpO2IuaWQhPT12b2lkIDAmJihhd2FpdCBhLmNiLkF5KGIuaWQsYS5KYSl8fGEuVGYoRXJyb3IoInRhIikpKTtFbShhLGIsYS5Lcik/KGIuc2tpcFJldHJ5fHwoYj1GbShhLGIpKSxiJiYoYi5za2lwUmV0cnkmJmIuaWQhPT12b2lkIDAmJmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSxhLkdkKGIudXJsLGIub3B0aW9ucywhIWIuc2tpcFJldHJ5KSkpOihhLlRmKEVycm9yKCJ1YSIpKSxiLmlkIT09dm9pZCAwJiZhd2FpdCBhLmNiLkZmKGIuaWQsYS5KYSkpfTtIbT1mdW5jdGlvbihhLGIpe2EuTHMmJiFhLlNhLlNiKCk/YS5McyhiKTphLmhhbmRsZUVycm9yKGIpfTtFbT1mdW5jdGlvbihhLGIsYyl7Yj1iLnRpbWVzdGFtcDtyZXR1cm4gYS5ub3coKS1iPj1jPyExOiEwfTsKRm09ZnVuY3Rpb24oYSxiKXtpZighQm0oYSkpdGhyb3cgRXJyb3IoInZhIik7dmFyIGM9Yi5vcHRpb25zLm9uRXJyb3I/Yi5vcHRpb25zLm9uRXJyb3I6KCk9Pnt9O2Iub3B0aW9ucy5vbkVycm9yPWFzeW5jKGUsZik9Pnt2YXIgaD1JbShmKSxrPUptKGYpO2smJmEuS2EmJmEuS2EoIndlYl9lbmFibGVfZXJyb3JfMjA0IikmJmEuaGFuZGxlRXJyb3IoRXJyb3IoIndhIiksYi51cmwsZik7aWYoYS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmaHx8YS5LYSYmIWEuS2EoIm53bF9jb25zaWRlcl9lcnJvcl9jb2RlIikmJmEucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPD1hLktqKWlmKGEuU2EuUWomJmF3YWl0IGEuU2EuUWooKSwhYS5TYS5TYigpKXtjKGUsZik7YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmYj8uaWQhPT12b2lkIDAmJmF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCExKTtyZXR1cm59YS5LYSYmYS5LYSgibndsX2NvbnNpZGVyX2Vycm9yX2NvZGUiKSYmCiFoJiZhLnBvdGVudGlhbEVzZkVycm9yQ291bnRlcj5hLktqfHwoYS5wb3RlbnRpYWxFc2ZFcnJvckNvdW50ZXIrKyxiPy5pZCE9PXZvaWQgMCYmKGIuc2VuZENvdW50PGEuTXI/KGF3YWl0IGEuY2Iubm4oYi5pZCxhLkphLCEwLGs/ITE6dm9pZCAwKSxhLkRjLnBiKCgpPT57YS5TYS5TYigpJiZhLm8oKX0sYS5McikpOmF3YWl0IGEuY2IuRmYoYi5pZCxhLkphKSksYyhlLGYpKX07dmFyIGQ9Yi5vcHRpb25zLm9uU3VjY2Vzcz9iLm9wdGlvbnMub25TdWNjZXNzOigpPT57fTtiLm9wdGlvbnMub25TdWNjZXNzPWFzeW5jKGUsZik9PntiPy5pZCE9PXZvaWQgMCYmYXdhaXQgYS5jYi5GZihiLmlkLGEuSmEpO2EuU2EuZWYmJmEuS2EmJmEuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmYS5TYS5lZighMCk7ZChlLGYpfTtyZXR1cm4gYn07SW09ZnVuY3Rpb24oYSl7cmV0dXJuKGE9YT8uZXJyb3I/LmNvZGUpJiZhPj00MDAmJmE8PTU5OT8hMTohMH07CkptPWZ1bmN0aW9uKGEpe2E9YT8uZXJyb3I/LmNvZGU7cmV0dXJuIShhIT09NDAwJiZhIT09NDE1KX07CkxtPWZ1bmN0aW9uKCl7aWYoS20pcmV0dXJuIEttKCk7S209Xy4kbCgiTG9nc0RhdGFiYXNlVjIiLHtzZTp7TG9nc1JlcXVlc3RzU3RvcmU6e1BkOjJ9fSxzaGFyZWQ6ITEsdXBncmFkZShhLGIsYyl7YigyKSYmXy5rbChhLCJMb2dzUmVxdWVzdHNTdG9yZSIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSk7YigzKTtiKDUpJiYoYz1jLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLGMuai5pbmRleE5hbWVzLmNvbnRhaW5zKCJuZXdSZXF1ZXN0IikmJmMuai5kZWxldGVJbmRleCgibmV3UmVxdWVzdCIpLF8ub2woYywibmV3UmVxdWVzdFYyIixbInN0YXR1cyIsImludGVyZmFjZSIsInRpbWVzdGFtcCJdKSk7Yig3KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoInNhcGlzaWQiKSYmYS5qLmRlbGV0ZU9iamVjdFN0b3JlKCJzYXBpc2lkIik7Yig5KSYmYS5qLm9iamVjdFN0b3JlTmFtZXMuY29udGFpbnMoIlNXSGVhbHRoTG9nIikmJmEuai5kZWxldGVPYmplY3RTdG9yZSgiU1dIZWFsdGhMb2ciKX0sCnZlcnNpb246OX0pO3JldHVybiBLbSgpfTtNbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChMbSgpLGEpfTtPbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9XUklURSJ9LHRpY2tzOnt9fTtiPWF3YWl0IE1tKGIpO2E9ey4uLmEsb3B0aW9uczpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEub3B0aW9ucykpLGludGVyZmFjZTpfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIiwwKX07YT1hd2FpdCBfLm1sKGIsIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGF9OwpQbT1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPXtzdGFydFRpbWU6KDAsXy5lbCkoKSxpbmZvczp7dHJhbnNhY3Rpb25UeXBlOiJZVF9JREJfVFJBTlNBQ1RJT05fVFlQRV9SRUFEIn0sdGlja3M6e319O2I9YXdhaXQgTW0oYik7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsMCksZT1bYSxkLDBdO2Q9W2EsZCwoMCxfLmVsKSgpXTt2YXIgZj1JREJLZXlSYW5nZS5ib3VuZChlLGQpLGg9InByZXYiO18ueCgidXNlX2ZpZm9fZm9yX25ldHdvcmtsZXNzIikmJihoPSJuZXh0Iik7dmFyIGs9dm9pZCAwO2U9YT09PSJORVciPyJyZWFkd3JpdGUiOiJyZWFkb25seSI7Xy54KCJ1c2VfcmVhZG9ubHlfZm9yX2dldF9tb3N0X3JlY2VudF9ieV9zdGF0dXNfa2lsbHN3aXRjaCIpJiYoZT0icmVhZHdyaXRlIik7YXdhaXQgXy5pbChiLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZTplLGtiOiEwfSxsPT51bChsLm9iamVjdFN0b3JlKCJMb2dzUmVxdWVzdHNTdG9yZSIpLmluZGV4KCJuZXdSZXF1ZXN0VjIiKSwKe3F1ZXJ5OmYsZGlyZWN0aW9uOmh9LG09PnttLmN1cnNvci52YWx1ZSYmKGs9bS5jdXJzb3IudmFsdWUsYT09PSJORVciJiYoay5zdGF0dXM9IlFVRVVFRCIsbS51cGRhdGUoaykpKX0pKTtjLnRpY2tzLnRjPSgwLF8uZWwpKCk7Tm0oYyk7cmV0dXJuIGt9O1FtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uaWwoYXdhaXQgTW0oYiksWyJMb2dzUmVxdWVzdHNTdG9yZSJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT57dmFyIGQ9Yy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKTtyZXR1cm4gZC5nZXQoYSkudGhlbihlPT57aWYoZSlyZXR1cm4gZS5zdGF0dXM9IlFVRVVFRCIsXy5sbChkLGUpLnRoZW4oKCk9PmUpfSl9KX07ClJtPWFzeW5jIGZ1bmN0aW9uKGEsYixjPSEwLGQpe3JldHVybiBfLmlsKGF3YWl0IE1tKGIpLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sZT0+e3ZhciBmPWUub2JqZWN0U3RvcmUoIkxvZ3NSZXF1ZXN0c1N0b3JlIik7cmV0dXJuIGYuZ2V0KGEpLnRoZW4oaD0+aD8oaC5zdGF0dXM9Ik5FVyIsYyYmKGguc2VuZENvdW50Kz0xKSxkIT09dm9pZCAwJiYoaC5vcHRpb25zLmNvbXByZXNzPWQpLF8ubGwoZixoKS50aGVuKCgpPT5oKSk6Xy5Way5yZXNvbHZlKHZvaWQgMCkpfSl9O1NtPWFzeW5jIGZ1bmN0aW9uKGEsYil7cmV0dXJuKGF3YWl0IE1tKGIpKS5kZWxldGUoIkxvZ3NSZXF1ZXN0c1N0b3JlIixhKX07ClRtPWFzeW5jIGZ1bmN0aW9uKGEpe2E9YXdhaXQgTW0oYSk7dmFyIGI9KDAsXy5lbCkoKS0yNTkyRTY7YXdhaXQgXy5pbChhLFsiTG9nc1JlcXVlc3RzU3RvcmUiXSx7bW9kZToicmVhZHdyaXRlIixrYjohMH0sYz0+cWwoYy5vYmplY3RTdG9yZSgiTG9nc1JlcXVlc3RzU3RvcmUiKSx7fSxkPT57aWYoZC5jdXJzb3IudmFsdWUudGltZXN0YW1wPD1iKXJldHVybiBkLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGQpKX0pKX07VW09YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBXbCgpfTtObT1mdW5jdGlvbihhKXtfLngoIm53bF9jc2lfa2lsbHN3aXRjaCIpfHx0bSgibmV0d29ya2xlc3NfcGVyZm9ybWFuY2UiLGEse3NhbXBsZVJhdGU6MX0pfTtXbT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DbChWbSgpLGEpfTsKWG09YXN5bmMgZnVuY3Rpb24oYSl7YT1hd2FpdCBXbShhKTt2YXIgYj0oMCxfLmVsKSgpLTI1OTJFNjthd2FpdCBfLmlsKGEsWyJTV0hlYWx0aExvZyJdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxjPT5xbChjLm9iamVjdFN0b3JlKCJTV0hlYWx0aExvZyIpLHt9LGQ9PntpZihkLmN1cnNvci52YWx1ZS50aW1lc3RhbXA8PWIpcmV0dXJuIGQuZGVsZXRlKCkudGhlbigoKT0+cmwoZCkpfSkpfTtZbT1hc3luYyBmdW5jdGlvbihhKXthd2FpdCAoYXdhaXQgV20oYSkpLmNsZWFyKCJTV0hlYWx0aExvZyIpfTsKXy5hbj1mdW5jdGlvbihhLGIsYyxkLGU9IiIsZj0hMSxoPSExKXtpZihhKWlmKGMmJiFfLk1rKCJjb2JhbHQiKSlfLldpKG5ldyBfLlhqKCJMZWdhY3kgcmVmZXJyZXItc2NydWJiZWQgcGluZyBkZXRlY3RlZCIpKSxhJiZabShhLHZvaWQgMCx7c2NydWJSZWZlcnJlcjohMH0pO2Vsc2UgaWYoZSl4aihhLGIsIlBPU1QiLGUsZCk7ZWxzZSBpZihfLncoIlVTRV9ORVRfQUpBWF9GT1JfUElOR19UUkFOU1BPUlQiLCExKXx8ZHx8aCl4aihhLGIsIkdFVCIsIiIsZCx2b2lkIDAsZixoKTtlbHNle2I6e3RyeXtjOnt2YXIgaz1uZXcgJG0oe3VybDphfSk7aWYoay5qLmRzaD09PSIxIil2YXIgbD1udWxsO2Vsc2V7dmFyIG09ay5qLmFlO2lmKG09PT0iMSIpe2xldCByPWsuai5hZHVybDtpZihyKXRyeXtsPXt2ZXJzaW9uOjMsbXY6ZGVjb2RlVVJJQ29tcG9uZW50KHIpLHp1OklhKGsubywiYWN0PTEiLCJyaT0xIixLYShrKSl9O2JyZWFrIGN9Y2F0Y2godCl7fX1sPW09PT0iMiI/e3ZlcnNpb246NCwKbXY6SWEoay5vLCJkY3Q9MSIsInN1aWQ9IitrLnYsInJpPTEiKSx6dTpJYShrLm8sImFjdD0xIiwicmk9MSIsInN1aWQ9IitrLnYpfTpudWxsfX1pZihsKXtsZXQgcj1fLlFiKGEpO3ZhciBuPSEoIXJ8fCFyLmVuZHNXaXRoKCIvYWNsayIpfHxfLlpiKGEsInJpIikhPT0iMSIpO2JyZWFrIGJ9fWNhdGNoKHIpe31uPSExfWlmKG4pe2I6e3RyeXtpZih3aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLnNlbmRCZWFjb24mJndpbmRvdy5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihhLCIiKSl7dmFyIHA9ITA7YnJlYWsgYn19Y2F0Y2gocil7fXA9ITF9cD8oYiYmYigpLGM9ITApOmM9ITF9ZWxzZSBjPSExO2N8fFptKGEsYil9fTsKWm09ZnVuY3Rpb24oYSxiLGM9e30pe3ZhciBkPW5ldyBJbWFnZSxlPSIiK2JuKys7Y25bZV09ZDtkLm9ubG9hZD1kLm9uZXJyb3I9KCk9PntiJiZjbltlXSYmYigpO2RlbGV0ZSBjbltlXX07Yy5zY3J1YlJlZmVycmVyJiYoZC5yZWZlcnJlclBvbGljeT0ibm8tcmVmZXJyZXIiKTtkLnNyYz1hfTtmbj1mdW5jdGlvbigpe2RufHwoZG49bmV3IF8uZW4oInl0Lm9mZmxpbmUiKSk7cmV0dXJuIGRufTtnbj1mdW5jdGlvbihhKXtpZihfLngoIm9mZmxpbmVfZXJyb3JfaGFuZGxpbmciKSl7dmFyIGI9Zm4oKS5nZXQoImVycm9ycyIsITApfHx7fTtiW2EubWVzc2FnZV09e25hbWU6YS5uYW1lLHN0YWNrOmEuc3RhY2t9O2EubGV2ZWwmJihiW2EubWVzc2FnZV0ubGV2ZWw9YS5sZXZlbCk7Zm4oKS5zZXQoImVycm9ycyIsYiwyNTkyRTMsITApfX07CmpuPWZ1bmN0aW9uKCl7aWYoIWhuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrUmVxdWVzdE1vbml0b3IuaW5zdGFuY2UiKXx8bmV3IGhuO18ucmEoInl0Lm5ldHdvcmtSZXF1ZXN0TW9uaXRvci5pbnN0YW5jZSIsYSk7aG4uaW5zdGFuY2U9YX1yZXR1cm4gaG4uaW5zdGFuY2V9O2xuPWZ1bmN0aW9uKCl7aWYoIWtuLmluc3RhbmNlKXtsZXQgYT1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZSIpfHxuZXcga247Xy5yYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UiLGEpO2tuLmluc3RhbmNlPWF9cmV0dXJuIGtuLmluc3RhbmNlfTsKbW49ZnVuY3Rpb24oYSxiKXthLnJhdGVMaW1pdD9hLmo/KF8uamYuQWEoYS5EKSxhLkQ9Xy5qZi5wYigoKT0+e2EuQiE9PWImJihhLmRpc3BhdGNoRXZlbnQoYiksYS5CPWIsYS5qPSgwLF8uZWwpKCkpfSxhLnJhdGVMaW1pdC0oKDAsXy5lbCkoKS1hLmopKSk6KGEuZGlzcGF0Y2hFdmVudChiKSxhLkI9YixhLmo9KDAsXy5lbCkoKSk6YS5kaXNwYXRjaEV2ZW50KGIpfTsKXy5wbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Lm5ldHdvcmtsZXNzUmVxdWVzdENvbnRyb2xsZXIuaW5zdGFuY2UiKTthfHwoYT1uZXcgbm4sXy5yYSgieXQubmV0d29ya2xlc3NSZXF1ZXN0Q29udHJvbGxlci5pbnN0YW5jZSIsYSksXy54KCJuZXR3b3JrbGVzc19sb2dnaW5nIikmJl8uUGwoKS50aGVuKGI9PnthLkphPWI7RG0oYSk7YS5CLnJlc29sdmUoKTthLk9pJiZNYXRoLnJhbmRvbSgpPD1hLkRpJiZhLkphJiZYbShhLkphKTtfLngoIm5ldHdvcmtsZXNzX2ltbWVkaWF0ZWx5X2Ryb3Bfc3dfaGVhbHRoX3N0b3JlIikmJm9uKGEpfSkpO3JldHVybiBhfTtvbj1hc3luYyBmdW5jdGlvbihhKXtpZighYS5KYSl0aHJvdyBTaygiY2xlYXJTV0hlYWx0aExvZ3NEYiIpO1ltKGEuSmEpLmNhdGNoKGI9PnthLmhhbmRsZUVycm9yKGIpfSl9Owpxbj1mdW5jdGlvbihhLGIsYyl7Yj1fLngoIndlYl9mcF92aWFfanNwYiIpP09iamVjdC5hc3NpZ24oe30sYik6YjtfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIik/Yi5oZWFkZXJzJiZfLmZqKGEpJiYoYi5oZWFkZXJzWyJYLUdvb2ctUmVxdWVzdC1UaW1lIl09SlNPTi5zdHJpbmdpZnkoTWF0aC5yb3VuZCgoMCxfLmVsKSgpKSkpOmIucG9zdFBhcmFtcz8ucmVxdWVzdFRpbWVNcyYmKGIucG9zdFBhcmFtcy5yZXF1ZXN0VGltZU1zPU1hdGgucm91bmQoKDAsXy5lbCkoKSkpO2MmJk9iamVjdC5rZXlzKGIpLmxlbmd0aD09PTA/Xy5hbihhKTpiLmNvbXByZXNzP2IucG9zdEJvZHk/KHR5cGVvZiBiLnBvc3RCb2R5IT09InN0cmluZyImJihiLnBvc3RCb2R5PUpTT04uc3RyaW5naWZ5KGIucG9zdEJvZHkpKSxBbShhLGIucG9zdEJvZHksYixfLnpqKSk6QW0oYSxKU09OLnN0cmluZ2lmeShiLnBvc3RQYXJhbXMpLGIsQWopOl8uemooYSxiKX07CnJuPWZ1bmN0aW9uKGEsYil7Xy54KCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiKSYmXy5maihhKSYmKGIuaGVhZGVyc3x8KGIuaGVhZGVycz17fSksYi5oZWFkZXJzWyJYLUdvb2ctRXZlbnQtVGltZSJdPUpTT04uc3RyaW5naWZ5KE1hdGgucm91bmQoKDAsXy5lbCkoKSkpKTtyZXR1cm4gYn07Xy5zbj1mdW5jdGlvbigpe3JldHVybiBfLlBiKGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCkpIT09Ind3dy55b3V0dWJlLW5vY29va2llLmNvbSJ9Owp2bj1mdW5jdGlvbihhLGIsYyxkKXshXy53KCJWSVNJVE9SX0RBVEEiKSYmYiE9PSJ2aXNpdG9yX2lkIiYmTWF0aC5yYW5kb20oKTwuMDEmJl8uV2kobmV3IF8uWGooIk1pc3NpbmcgVklTSVRPUl9EQVRBIHdoZW4gc2VuZGluZyBpbm5lcnR1YmUgcmVxdWVzdC4iLGIsYyxkKSk7aWYoIWEuaXNSZWFkeSgpKXRocm93IGE9bmV3IF8uWGooImlubmVydHViZSB4aHJjbGllbnQgbm90IHJlYWR5IixiLGMsZCksXy5VaShhKSxhO3ZhciBlPXtoZWFkZXJzOmQuaGVhZGVyc3x8e30sbWV0aG9kOiJQT1NUIixwb3N0UGFyYW1zOmMscG9zdEJvZHk6ZC5wb3N0Qm9keSxwb3N0Qm9keUZvcm1hdDpkLnBvc3RCb2R5Rm9ybWF0fHwiSlNPTiIsb25UaW1lb3V0OigpPT57ZC5vblRpbWVvdXQoKX0sb25GZXRjaFRpbWVvdXQ6ZC5vblRpbWVvdXQsb25TdWNjZXNzOihtLG4pPT57aWYoZC5vblN1Y2Nlc3MpZC5vblN1Y2Nlc3Mobil9LG9uRmV0Y2hTdWNjZXNzOm09PntpZihkLm9uU3VjY2VzcylkLm9uU3VjY2VzcyhtKX0sCm9uUHJvZ3Jlc3M6bT0+e2lmKGQub25Qcm9ncmVzcylkLm9uUHJvZ3Jlc3MobSl9LG9uRXJyb3I6KG0sbik9PntpZihkLm9uRXJyb3IpZC5vbkVycm9yKG4pfSxvbkZldGNoRXJyb3I6bT0+e2lmKGQub25FcnJvcilkLm9uRXJyb3IobSl9LHRpbWVvdXQ6ZC50aW1lb3V0LHdpdGhDcmVkZW50aWFsczohMCxjb21wcmVzczpkLmNvbXByZXNzfTtlLmhlYWRlcnNbIkNvbnRlbnQtVHlwZSJdfHwoZS5oZWFkZXJzWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpO2M9IiI7dmFyIGY9YS5jb25maWdfLnp4O2YmJihjPWYpO2Y9YS5jb25maWdfLkF4fHwhMTt2YXIgaD1vbShmLGMsZCk7T2JqZWN0LmFzc2lnbihlLmhlYWRlcnMsaCk7ZS5oZWFkZXJzLkF1dGhvcml6YXRpb24mJiFjJiZmJiYoZS5oZWFkZXJzWyJ4LW9yaWdpbiJdPXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO3ZhciBrPWRqKGAke2N9JHtgL3lvdXR1YmVpLyR7YS5jb25maWdfLmlubmVydHViZUFwaVZlcnNpb259LyR7Yn1gfWAsCnthbHQ6Impzb24ifSksbD0obT0hMSk9Pnt0cnl7aWYobSYmZC5yZXRyeSYmIWQubmV0d29ya2xlc3NPcHRpb25zLmJ5cGFzc05ldHdvcmtsZXNzKWUubWV0aG9kPSJQT1NUIixkLm5ldHdvcmtsZXNzT3B0aW9ucy53cml0ZVRoZW5TZW5kP18ucG4oKS53cml0ZVRoZW5TZW5kKGssZSk6Xy5wbigpLnNlbmRBbmRXcml0ZShrLGUpO2Vsc2UgaWYoZC5jb21wcmVzcylpZihlLnBvc3RCb2R5KXtsZXQgbj1lLnBvc3RCb2R5O3R5cGVvZiBuIT09InN0cmluZyImJihuPUpTT04uc3RyaW5naWZ5KGUucG9zdEJvZHkpKTtBbShrLG4sZSxfLnpqKX1lbHNlIEFtKGssSlNPTi5zdHJpbmdpZnkoZS5wb3N0UGFyYW1zKSxlLEFqKTtlbHNlIEFqKGssZSl9Y2F0Y2gobil7aWYobi5uYW1lPT09IkludmFsaWRBY2Nlc3NFcnJvciIpXy5XaShFcnJvcigieWEiKSk7ZWxzZSB0aHJvdyBuO319OyhfLnNhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIpP18udG4uaXNOd2xJbml0aWFsaXplZDoKXy51bik/TmwoKS50aGVuKG09PntsKG0pfSk6bCghMSl9O18ueW49ZnVuY3Rpb24oYSwuLi5iKXtpZighd24oYSl8fGIuc29tZShjPT4hd24oYykpKXRocm93IEVycm9yKCJ6YSIpO2ZvcihsZXQgYyBvZiBiKXhuKGEsYyl9O3huPWZ1bmN0aW9uKGEsYil7Zm9yKGxldCBjIGluIGIpaWYod24oYltjXSkpe2lmKGMgaW4gYSYmIXduKGFbY10pKXRocm93IEVycm9yKCJBYSIpO2MgaW4gYXx8KGFbY109e30pO3huKGFbY10sYltjXSl9ZWxzZSBpZih6bihiW2NdKSl7aWYoYyBpbiBhJiYhem4oYVtjXSkpdGhyb3cgRXJyb3IoIkJhIik7YyBpbiBhfHwoYVtjXT1bXSk7QW4oYVtjXSxiW2NdKX1lbHNlIGFbY109YltjXTtyZXR1cm4gYX07QW49ZnVuY3Rpb24oYSxiKXtmb3IobGV0IGMgb2YgYil3bihjKT9hLnB1c2goeG4oe30sYykpOnpuKGMpP2EucHVzaChBbihbXSxjKSk6YS5wdXNoKGMpO3JldHVybiBhfTt3bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkoYSl9Owp6bj1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0ib2JqZWN0IiYmQXJyYXkuaXNBcnJheShhKX07Xy5Cbj1mdW5jdGlvbigpe3ZhciBhPV8uc2EoIl9sYWN0Iix3aW5kb3cpO3JldHVybiBhPT1udWxsPy0xOk1hdGgubWF4KERhdGUubm93KCktYSwwKX07Cl8uRG49ZnVuY3Rpb24oKXtpZih3aW5kb3cuY3J5cHRvJiZ3aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl0cnl7dmFyIGE9QXJyYXkoMTYpLGI9bmV3IFVpbnQ4QXJyYXkoMTYpO3dpbmRvdy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGIpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWFbY109YltjXTtyZXR1cm4gYX1jYXRjaChkKXt9YT1BcnJheSgxNik7Zm9yKGI9MDtiPDE2O2IrKyl7Yz1EYXRlLm5vdygpO2ZvcihsZXQgZD0wO2Q8YyUyMztkKyspYVtiXT1NYXRoLnJhbmRvbSgpO2FbYl09TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjI1Nil9aWYoQ24pZm9yKGI9MSxjPTA7YzxDbi5sZW5ndGg7YysrKWFbYiUxNl1ePWFbKGItMSklMTZdLzReQ24uY2hhckNvZGVBdChjKSxiKys7cmV0dXJuIGF9OwpFbj1mdW5jdGlvbigpe3ZhciBhPV8uRG4oKSxiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaCgiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODktXyIuY2hhckF0KGFbY10mNjMpKTtyZXR1cm4gYi5qb2luKCIiKX07Xy5Gbj1mdW5jdGlvbigpe3ZhciBhPV8udS55dExvZ2dpbmdEb2NEb2N1bWVudE5vbmNlXzthfHwoYT1FbigpLF8ucmEoInl0TG9nZ2luZ0RvY0RvY3VtZW50Tm9uY2VfIixhKSk7cmV0dXJuIGF9O18uR249ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliPWIqMzErYS5jaGFyQ29kZUF0KGMpLGM8YS5sZW5ndGgtMSYmKGIlPTB4ODAwMDAwMDAwMDAwKTtyZXR1cm4gYiUxRTV9O18uSW49ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBIbihhKX07CktuPWZ1bmN0aW9uKGEsYil7Yj1iLmp2O2lmKGEuai5oYXMoYikpcmV0dXJuIGEuai5nZXQoYikucHJvbWlzZTt2YXIgYz1KbihhLGIsW10sITApO2lmKGMhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShjKTt2YXIgZD17fTtkLnByb21pc2U9bmV3IFByb21pc2UoKGUsZik9PntkLlFoPWU7ZC5Rej1mfSk7YS5qLnNldChiLGQpO3JldHVybiBkLnByb21pc2V9OwpKbj1mdW5jdGlvbihhLGIsYyxkPSExKXtpZihjLmluZGV4T2YoYik+LTEpdGhyb3cgRXJyb3IoIkRhYCIrYik7aWYoYS5vLmhhcyhiKSlyZXR1cm4gYS5vLmdldChiKTtpZighYS52LmhhcyhiKSl7aWYoZClyZXR1cm47dGhyb3cgRXJyb3IoIkVhYCIrYik7fWQ9YS52LmdldChiKTtjLnB1c2goYik7aWYoZC5NYiE9PXZvaWQgMCl2YXIgZT1kLk1iO2Vsc2UgaWYoZC5XYyllPWRbXy5Mbl0/TW4oYSxkW18uTG5dLGMpOltdLGU9ZC5XYyguLi5lKTtlbHNlIGlmKGQuUGEpe2U9ZC5QYTtsZXQgZj1lW18uTG5dP01uKGEsZVtfLkxuXSxjKTpbXTtlPW5ldyBlKC4uLmYpfWVsc2UgdGhyb3cgRXJyb3IoIkZhYCIrYik7Yy5wb3AoKTtkLmdifHxhLm8uc2V0KGIsZSk7cmV0dXJuIGV9O01uPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj9iLm1hcChkPT5kIGluc3RhbmNlb2YgSG4/Sm4oYSxkLmtleSxjLCEwKTpKbihhLGQsYykpOltdfTtfLnk9ZnVuY3Rpb24oKXtObnx8KE5uPW5ldyBPbik7cmV0dXJuIE5ufTsKUW49ZnVuY3Rpb24oKXtyZXR1cm4iaDV2Y2MiaW4gUG4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlQmVnaW4mJlBuLmg1dmNjLnRyYWNlRXZlbnQ/LnRyYWNlRW5kPzE6InBlcmZvcm1hbmNlImluIFBuJiZQbi5wZXJmb3JtYW5jZS5tYXJrJiZQbi5wZXJmb3JtYW5jZS5tZWFzdXJlPzI6MH07Um49ZnVuY3Rpb24oYSl7dmFyIGI9UW4oKTtzd2l0Y2goYil7Y2FzZSAxOlBuLmg1dmNjLnRyYWNlRXZlbnQudHJhY2VCZWdpbigiWVRMUiIsYSk7YnJlYWs7Y2FzZSAyOlBuLnBlcmZvcm1hbmNlLm1hcmsoYCR7YX0tc3RhcnRgKTticmVhaztjYXNlIDA6YnJlYWs7ZGVmYXVsdDpfLmViKGIsInVua25vd24gdHJhY2UgdHlwZSIpfX07ClNuPWZ1bmN0aW9uKGEpe3ZhciBiPVFuKCk7c3dpdGNoKGIpe2Nhc2UgMTpQbi5oNXZjYy50cmFjZUV2ZW50LnRyYWNlRW5kKCJZVExSIixhKTticmVhaztjYXNlIDI6Yj1gJHthfS1zdGFydGA7bGV0IGM9YCR7YX0tZW5kYDtQbi5wZXJmb3JtYW5jZS5tYXJrKGMpO1BuLnBlcmZvcm1hbmNlLm1lYXN1cmUoYSxiLGMpO2JyZWFrO2Nhc2UgMDpicmVhaztkZWZhdWx0Ol8uZWIoYiwidW5rbm93biB0cmFjZSB0eXBlIil9fTtUbj1mdW5jdGlvbihhKXt2YXIgYj1BcnJheS5mcm9tKGEuai5rZXlzKCkpLnNvcnQoKGMsZCk9PmEuZ2V0UHJpb3JpdHkoYS5qW2RdKS1hLmdldFByaW9yaXR5KGEualtjXSkpO2ZvcihsZXQgYyBvZiBiKWI9YS5qW2NdLGIuam9iSWQ9PT12b2lkIDB8fGIuTmp8fChhLnNjaGVkdWxlci5BYShiLmpvYklkKSxhLnNjaGVkdWxlci5HYShiLnhoLDEwKSl9OwpWbj1mdW5jdGlvbihhLGIsYyl7VW4mJmNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQmJmNvbnNvbGUuZ3JvdXBFbmQmJihjb25zb2xlLmdyb3VwQ29sbGFwc2VkKGBbJHthLmNvbnN0cnVjdG9yLm5hbWV9XSAnJHthLnN0YXRlfScgdG8gJyR7Yn0nYCksY29uc29sZS5sb2coIndpdGggbWVzc2FnZTogIixjKSxjb25zb2xlLmdyb3VwRW5kKCkpfTtabj1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmlsdGVyKGU9PihhLnY/P2UucHJpb3JpdHk/PzApPT09MTApLGQ9Yi5maWx0ZXIoZT0+KGEudj8/ZS5wcmlvcml0eT8/MCkhPT0xMCk7cmV0dXJuIGEuQi5GZz9hc3luYyguLi5lKT0+e2F3YWl0IFduKGMsLi4uZSk7WG4oYSxkLC4uLmUpfTooLi4uZSk9PntZbihjLC4uLmUpO1huKGEsZCwuLi5lKX19OwpXbj1hc3luYyBmdW5jdGlvbihhLC4uLmIpe3ZhciBjPV8uQ2soKTtmb3IobGV0IGQgb2YgYSl7bGV0IGU7Yy5VKCgpPT57JG4oZC5uYW1lKTt2YXIgZj1hbygoKT0+ZC5jYWxsYmFjayguLi5iKSk7KDAsXy5ibykoZik/ZT1fLngoIndlYl9saWZlY3ljbGVfZXJyb3JfaGFuZGxpbmdfa2lsbHN3aXRjaCIpP2YudGhlbigoKT0+e2NvKGQubmFtZSl9KTpmLnRoZW4oKCk9PntjbyhkLm5hbWUpfSxoPT57d2luZG93Lm9uZXJyb3I/LihoLm1lc3NhZ2UsIiIsMCwwLGgpO2NvKGQubmFtZSl9KTpjbyhkLm5hbWUpfSk7ZSYmYXdhaXQgZX19O1huPWZ1bmN0aW9uKGEsYiwuLi5jKXtiPWIubWFwKGQ9Pih7eGg6KCk9PnskbihkLm5hbWUpO2FvKCgpPT5kLmNhbGxiYWNrKC4uLmMpKTtjbyhkLm5hbWUpfSxwcmlvcml0eTphLnY/P2QucHJpb3JpdHk/PzB9KSk7Yi5sZW5ndGgmJihhLmo9bmV3IGVvKGIpKX07ClluPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9Xy5DaygpO2ZvcihsZXQgZCBvZiBhKWMuVSgoKT0+eyRuKGQubmFtZSk7YW8oKCk9PmQuY2FsbGJhY2soLi4uYikpO2NvKGQubmFtZSl9KX07JG49ZnVuY3Rpb24oYSl7Zm8mJmEmJlJuKGEpfTtjbz1mdW5jdGlvbihhKXtmbyYmYSYmU24oYSl9O2FvPWZ1bmN0aW9uKGEpe2lmKF8ueCgid2ViX2xpZmVjeWNsZV9lcnJvcl9oYW5kbGluZ19raWxsc3dpdGNoIikpcmV0dXJuIGEoKTt0cnl7cmV0dXJuIGEoKX1jYXRjaChiKXt3aW5kb3cub25lcnJvcj8uKGIubWVzc2FnZSwiIiwwLDAsYil9fTtfLmlvPWZ1bmN0aW9uKCl7Z298fChnbz1uZXcgaG8pO3JldHVybiBnb307Xy5rbz1mdW5jdGlvbihhKXtyZXR1cm4gXy5zYSgieXRjc2kuIisoYXx8IiIpKyJkYXRhXyIpfHxfLmpvKGEpfTtfLmxvPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLm1ldGFkYXRhfHwoYS5tZXRhZGF0YT17fSk7cmV0dXJuIGEubWV0YWRhdGF9OwpfLm1vPWZ1bmN0aW9uKGEpe2E9Xy5rbyhhKTthLnRpY2t8fChhLnRpY2s9e30pO3JldHVybiBhLnRpY2t9O18ubm89ZnVuY3Rpb24oYSl7YT1fLmtvKGEpO2lmKGEuZ2VsKXtsZXQgYj1hLmdlbDtiLmdlbEluZm9zfHwoYi5nZWxJbmZvcz17fSk7Yi5nZWxUaWNrc3x8KGIuZ2VsVGlja3M9e30pfWVsc2UgYS5nZWw9e2dlbFRpY2tzOnt9LGdlbEluZm9zOnt9fTtyZXR1cm4gYS5nZWx9O18ub289ZnVuY3Rpb24oYSl7YT1fLm5vKGEpO2EuZ2VsSW5mb3N8fChhLmdlbEluZm9zPXt9KTtyZXR1cm4gYS5nZWxJbmZvc307Xy5wbz1mdW5jdGlvbihhKXt2YXIgYj1fLmtvKGEpLm5vbmNlO2J8fChiPUVuKCksXy5rbyhhKS5ub25jZT1iKTtyZXR1cm4gYn07Xy5qbz1mdW5jdGlvbihhKXt2YXIgYj17dGljazp7fSxpbmZvOnt9fTtfLnJhKCJ5dGNzaS4iKyhhfHwiIikrImRhdGFfIixiKTtyZXR1cm4gYn07CnFvPWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXRjc2kuZGVidWciKTthfHwoYT1bXSxfLnJhKCJ5dGNzaS5kZWJ1ZyIsYSksXy5yYSgieXRjc2kucmVmZXJlbmNlIix7fSkpO3JldHVybiBhfTtfLnNvPWZ1bmN0aW9uKGEpe3ZhciBiPXFvKCk7Yi5wdXNoKGEpO18ueCgibGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZSIpJiZiLmxlbmd0aD5ybyYmYi5zcGxpY2UoMCxiLmxlbmd0aC1ybyl9O18udW89ZnVuY3Rpb24oYSl7YT1hfHwiIjt2YXIgYj1fLnRvKCk7aWYoYlthXSlyZXR1cm4gYlthXTt2YXIgYz17dGltZXJOYW1lOmEsaW5mbzp7fSx0aWNrOnt9LHNwYW46e30sanNwYkluZm86W119O18uc28oYyk7cmV0dXJuIGJbYV09Y307Xy50bz1mdW5jdGlvbigpe3ZhciBhPV8uc2EoInl0Y3NpLnJlZmVyZW5jZSIpO2lmKGEpcmV0dXJuIGE7cW8oKTtyZXR1cm4gXy5zYSgieXRjc2kucmVmZXJlbmNlIil9Owp2bz1mdW5jdGlvbihhKXtpZihhLm5hbWU9PT0iSmF2YUV4Y2VwdGlvbiIpcmV0dXJuITA7YT1hLnN0YWNrO3JldHVybiBhLmluY2x1ZGVzKCJjaHJvbWU6Ly8iKXx8YS5pbmNsdWRlcygiLWV4dGVuc2lvbjovLyIpfHxhLmluY2x1ZGVzKCJ3ZWJraXQtbWFza2VkLXVybDovLyIpfTt3bz1mdW5jdGlvbihhKXtpZighYS5zdGFjaylyZXR1cm4hMDt2YXIgYj0hYS5zdGFjay5pbmNsdWRlcygiXG4iKTtyZXR1cm4gYiYmYS5zdGFjay5pbmNsdWRlcygiRXJyb3JUeXBlOiAiKXx8YiYmYS5zdGFjay5pbmNsdWRlcygiQW5vbnltb3VzIGZ1bmN0aW9uIChVbmtub3duIHNjcmlwdCIpfHxhLnN0YWNrLnRvTG93ZXJDYXNlKCk9PT0ibm90IGF2YWlsYWJsZSJ8fGEuZmlsZU5hbWU9PT0idXNlci1zY3JpcHQifHxhLmZpbGVOYW1lLnN0YXJ0c1dpdGgoInVzZXItc2NyaXB0OiIpPyEwOiExfTsKXy5Cbz1mdW5jdGlvbigpe2lmKCF4byl7dmFyIGE9eG89bmV3IHlvO2EubGUubGVuZ3RoPTA7YS5TZC5sZW5ndGg9MDtfLnpvKGEsQW8pfXJldHVybiB4b307Xy56bz1mdW5jdGlvbihhLGIpe2IubGUmJmEubGUudW5zaGlmdC5hcHBseShhLmxlLGIubGUpO2IuU2QmJmEuU2QudW5zaGlmdC5hcHBseShhLlNkLGIuU2QpfTtfLkNvPWZ1bmN0aW9uKGEpe3JldHVybiBhdG9iKGEucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikpfTsKXy5Fbz1mdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MCxlPSgpPT5hLmNoYXJDb2RlQXQoZCsrKTtkb3t2YXIgZj1EbyhlKTtpZihmPT09SW5maW5pdHkpYnJlYWs7bGV0IGg9Zj4+Mztzd2l0Y2goZiY3KXtjYXNlIDA6Zj1EbyhlKTtpZihoPT09YilyZXR1cm4gZjticmVhaztjYXNlIDE6aWYoaD09PWIpcmV0dXJuO2QrPTg7YnJlYWs7Y2FzZSAyOmY9RG8oZSk7aWYoaD09PWIpcmV0dXJuIGEuc3Vic3RyKGQsZik7ZCs9ZjticmVhaztjYXNlIDU6aWYoaD09PWIpcmV0dXJuO2QrPTQ7YnJlYWs7ZGVmYXVsdDpyZXR1cm59fXdoaWxlKGQ8Yyl9O0RvPWZ1bmN0aW9uKGEpe3ZhciBiPWEoKSxjPWImMTI3O2lmKGI8MTI4KXJldHVybiBjO2I9YSgpO2N8PShiJjEyNyk8PDc7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7Y3w9KGImMTI3KTw8MTQ7aWYoYjwxMjgpcmV0dXJuIGM7Yj1hKCk7cmV0dXJuIGI8MTI4P2N8KGImMTI3KTw8MjE6SW5maW5pdHl9OwpIbz1mdW5jdGlvbihhLGIsYyxkKXtpZihhKWlmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBlPWQ7Zm9yKGQ9MDtkPGEubGVuZ3RoJiYhKGFbZF0mJihlKz1GbyhkLGFbZF0sYixjKSxlPjUwMCkpO2QrKyk7ZD1lfWVsc2UgaWYodHlwZW9mIGE9PT0ib2JqZWN0Iilmb3IoZSBpbiBhKXtpZihhW2VdKXthOnt2YXIgZj1lO3ZhciBoPWFbZV0saz1iLGw9YztpZih0eXBlb2YgaCE9PSJzdHJpbmcifHxmIT09ImNsaWNrVHJhY2tpbmdQYXJhbXMiJiZmIT09InRyYWNraW5nUGFyYW1zIil7Zj0wO2JyZWFrIGF9Zj0oaD1fLkVvKF8uQ28oaCksMikpP0ZvKGAke2Z9LnZlYCxoLGssbCk6MH1kKz1mO2QrPUZvKGUsYVtlXSxiLGMpO2lmKGQ+NTAwKWJyZWFrfX1lbHNlIGNbYl09R28oYSksZCs9Y1tiXS5sZW5ndGg7ZWxzZSBjW2JdPUdvKGEpLGQrPWNbYl0ubGVuZ3RoO3JldHVybiBkfTsKRm89ZnVuY3Rpb24oYSxiLGMsZCl7Yys9YC4ke2F9YDthPUdvKGIpO2RbY109YTtyZXR1cm4gYy5sZW5ndGgrYS5sZW5ndGh9O0dvPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4odHlwZW9mIGE9PT0ic3RyaW5nIj9hOlN0cmluZyhKU09OLnN0cmluZ2lmeShhKSkpLnN1YnN0cigwLDUwMCl9Y2F0Y2goYil7cmV0dXJuYHVuYWJsZSB0byBzZXJpYWxpemUgJHt0eXBlb2YgYX0gKCR7Yi5tZXNzYWdlfSlgfX07CktvPWZ1bmN0aW9uKGEsYil7dmFyIGM9SW8oYik7aWYoYS5qW2NdKXJldHVybiBhLmpbY107dmFyIGQ9T2JqZWN0LmtleXMoYS5zdG9yZSl8fFtdO2lmKGQubGVuZ3RoPD0xJiZJbyhiKT09PWRbMF0pcmV0dXJuIGQ7dmFyIGU9W107Zm9yKGxldCBoPTA7aDxkLmxlbmd0aDtoKyspe2xldCBrPWRbaF0uc3BsaXQoIi8iKTtpZihKbyhiLmF1dGgsa1swXSkpe3ZhciBmPWIuaXNKc3BiO0pvKGY9PT12b2lkIDA/InVuZGVmaW5lZCI6Zj8idHJ1ZSI6ImZhbHNlIixrWzFdKSYmSm8oYi5jdHRBdXRoSW5mbyxrWzJdKSYmKGY9Yi50aWVyLGY9Zj09PXZvaWQgMD8idW5kZWZpbmVkIjpKU09OLnN0cmluZ2lmeShmKSxKbyhmLGtbM10pJiZlLnB1c2goZFtoXSkpfX1yZXR1cm4gYS5qW2NdPWV9O0pvPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT12b2lkIDB8fGE9PT0idW5kZWZpbmVkIj8hMDphPT09Yn07CklvPWZ1bmN0aW9uKGEpe3JldHVyblthLmF1dGg9PT12b2lkIDA/InVuZGVmaW5lZCI6YS5hdXRoLGEuaXNKc3BiPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEuaXNKc3BiLGEuY3R0QXV0aEluZm89PT12b2lkIDA/InVuZGVmaW5lZCI6YS5jdHRBdXRoSW5mbyxhLnRpZXI9PT12b2lkIDA/InVuZGVmaW5lZCI6YS50aWVyXS5qb2luKCIvIil9O18uQj1mdW5jdGlvbihhLGIpe2lmKGEpcmV0dXJuIGFbYi5uYW1lXX07TG89ZnVuY3Rpb24oKXtyZXR1cm4gXy54KCJodG1sNV9zZW5kX3FvZV9vbl9nZWwiKXx8Xy54KCJ3ZWJfc2VuZF92c3MzX2lzb2xhdGVkX3BheWxvYWQiKX07T289ZnVuY3Rpb24oYSl7TW89YTtMbygpJiYoXy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yXz1hKTtObz1uZXcgYX07UW89ZnVuY3Rpb24oKXt2YXIgYT1fLnNhKCJ5dC5sb2dnaW5nLmltcyIpO2F8fChhPW5ldyBQbyxfLnJhKCJ5dC5sb2dnaW5nLmltcyIsYSkpO3JldHVybiBhfTsKJG89ZnVuY3Rpb24oYSxiKXtpZihhLmVuZHBvaW50PT09ImxvZ19ldmVudCIpe1JvKGEpO3ZhciBjPVNvKGEpLGQ9VG8oYS5wYXlsb2FkKXx8IiI7YTp7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSl7dmFyIGU9VW9bZHx8IiJdO3ZhciBmPV8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5ldmVudExvZ2dpbmdDb25maWc/LnBheWxvYWRQb2xpY2llcztpZihmKWZvcihsZXQgaD0wO2g8Zi5sZW5ndGg7aCsrKWlmKGZbaF0ucGF5bG9hZE51bWJlcj09PWUpe2U9ZltoXTticmVhayBhfX1lPXZvaWQgMH1mPTIwMDtpZihlKXtpZihlLmVuYWJsZWQ9PT0hMSYmIV8ueCgid2ViX3BheWxvYWRfcG9saWN5X2Rpc2FibGVkX2tpbGxzd2l0Y2giKSlyZXR1cm47Zj1WbyhlLnRpZXIpO2lmKGY9PT00MDApe1dvKGEsYik7cmV0dXJufX1Yb1tjXT0hMDtjPXtjdHRBdXRoSW5mbzpjLGlzSnNwYjohMSx0aWVyOmZ9O1FvKCkuc3RvcmVQYXlsb2FkKGMsCmEucGF5bG9hZCk7WW8oYixjLFpvKGQpKX19O1lvPWZ1bmN0aW9uKGEsYixjPSExKXthJiZPbyhhKTthPV8uc2ooInR2aHRtbDVfbG9nZ2luZ19tYXhfYmF0Y2hfYWRzX2ZvcmsiKXx8Xy5zaigidHZodG1sNV9sb2dnaW5nX21heF9iYXRjaCIpfHxfLnNqKCJ3ZWJfbG9nZ2luZ19tYXhfYmF0Y2giKXx8MTAwO3ZhciBkPSgwLF8uZWwpKCksZT1hcCghMSxiLnRpZXIpLGY9ZS5CO2MmJihlLmo9ITApO2M9MDtiJiYoYz1RbygpLmdldFNlcXVlbmNlQ291bnQoYikpO3ZhciBoPSgpPT57Xy5icCh7d3JpdGVUaGVuU2VuZDohMH0sdm9pZCAwLCExLGIudGllcil9O2M+PTFFMz9oKCk6Yz49YT9jcHx8KGNwPWRwKCgpPT57aCgpO2NwPXZvaWQgMH0sMCkpOmQtZj49MTAmJihlcCghMSxiLnRpZXIpLGUuQj1kKX07CldvPWZ1bmN0aW9uKGEsYil7aWYoYS5lbmRwb2ludD09PSJsb2dfZXZlbnQiKXtfLngoIm1vcmVfYWNjdXJhdGVfZ2VsX3BhcnNlciIpJiZRbygpLnN0b3JlUGF5bG9hZCh7aXNKc3BiOiExfSxhLnBheWxvYWQpO1JvKGEpO3ZhciBjPVNvKGEpLGQ9bmV3IE1hcDtkLnNldChjLFthLnBheWxvYWRdKTt2YXIgZT1UbyhhLnBheWxvYWQpfHwiIjsoYT1iP2I6TG8oKT9Nb3x8Xy51Lnl0TG9nZ2luZ1RyYW5zcG9ydFJlZ2lzdGVyZWRDbGllbnRDdG9yX3x8bnVsbDpudWxsKSYmT28oYSk7cmV0dXJuIG5ldyBfLkJmKChmLGgpPT57Tm8mJk5vLmlzUmVhZHkoKT9mcChkLE5vLGYsaCx7YnlwYXNzTmV0d29ya2xlc3M6ITB9LCEwLFpvKGUpKTpmKCl9KX19OwpTbz1mdW5jdGlvbihhKXt2YXIgYj0iIjtpZihhLmRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb24pYj0idmlzaXRvck9ubHlBcHByb3ZlZEtleSI7ZWxzZSBpZihhLmN0dEF1dGhJbmZvKXtiPWEuY3R0QXV0aEluZm87bGV0IGM9e307Yi52aWRlb0lkP2MudmlkZW9JZD1iLnZpZGVvSWQ6Yi5wbGF5bGlzdElkJiYoYy5wbGF5bGlzdElkPWIucGxheWxpc3RJZCk7Z3BbYS5jdHRBdXRoSW5mby50b2tlbl09YztiPWEuY3R0QXV0aEluZm8udG9rZW59cmV0dXJuIGJ9OwpfLmJwPWZ1bmN0aW9uKGE9e30sYixjPSExLGQpe25ldyBfLkJmKChlLGYpPT57dmFyIGg9YXAoYyxkKSxrPWguajtoLmo9ITE7aWYoXy54KCJlbmFibGVfd2ViX3RpZXJlZF9nZWwiKSYmXy54KCJ3ZWJfdnNzX3JvdXRpbmdfY2hlY2tfYWxsX3RpZXJfcG9saWNpZXMiKSl7bGV0IGw9YXAoYywzMDApLG09YXAoYywyMDApO2s9a3x8bC5qfHxtLmo7bC5qPSExO20uaj0hMX1ocChoLnYpO2hwKGgubyk7aC5vPTA7Tm8mJk5vLmlzUmVhZHkoKT9kPT09dm9pZCAwJiZfLngoImVuYWJsZV93ZWJfdGllcmVkX2dlbCIpP2lwKGUsZixhLGIsYywzMDAsayk6aXAoZSxmLGEsYixjLGQsayk6KGVwKGMsZCksZSgpKX0pfTsKaXA9ZnVuY3Rpb24oYSxiLGM9e30sZCxlPSExLGY9MjAwLGg9ITEpe3ZhciBrPU5vLGw9bmV3IE1hcCxtPXtpc0pzcGI6ZSxjdHRBdXRoSW5mbzpkLHRpZXI6Zn07ZT17aXNKc3BiOmUsY3R0QXV0aEluZm86ZH07aWYoZCE9PXZvaWQgMClmPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W20sZV0sc2l6ZUxpbWl0OjFFM30pOlFvKCkuZXh0cmFjdE1hdGNoaW5nRW50cmllcyhlKSxsLnNldChkLGYpO2Vsc2UgZm9yKGxldCBuIG9mIE9iamVjdC5rZXlzKFhvKSlkPV8ueCgiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIik/UW8oKS5zbWFydEV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2tleXM6W3tpc0pzcGI6ITEsY3R0QXV0aEluZm86bix0aWVyOmZ9LHtpc0pzcGI6ITEsY3R0QXV0aEluZm86bn1dLHNpemVMaW1pdDoxRTN9KTpRbygpLmV4dHJhY3RNYXRjaGluZ0VudHJpZXMoe2lzSnNwYjohMSxjdHRBdXRoSW5mbzpufSksCmQubGVuZ3RoPjAmJmwuc2V0KG4sZCksKF8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikmJmMud3JpdGVUaGVuU2VuZHx8IV8ueCgid2ViX2ZwX3ZpYV9qc3BiX2FuZF9qc29uIikpJiZkZWxldGUgWG9bbl07ZnAobCxrLGEsYixjLCExLGgpfTsKZXA9ZnVuY3Rpb24oYT0hMSxiPTIwMCl7dmFyIGM9KCk9PntfLmJwKHt3cml0ZVRoZW5TZW5kOiEwfSx2b2lkIDAsYSxiKX0sZD1hcChhLGIpLGU9ZD09PWpwfHxkPT09a3A/NUUzOmxwO18ueCgid2ViX2dlbF90aW1lb3V0X2NhcCIpJiYhZC5vJiYoZT1kcCgoKT0+e2MoKX0sZSksZC5vPWUpO2hwKGQudik7ZT1fLncoIkxPR0dJTkdfQkFUQ0hfVElNRU9VVCIsXy5zaigid2ViX2dlbF9kZWJvdW5jZV9tcyIsMUU0KSk7Xy54KCJzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXQiKSYmbXAmJihlPW5wKTtlPWRwKCgpPT57Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIik+MD9RbygpLmdldFNlcXVlbmNlQ291bnQoe2N0dEF1dGhJbmZvOnZvaWQgMCxpc0pzcGI6YSx0aWVyOmJ9KT49b3AmJmMoKTpjKCl9LGUpO2Qudj1lfTsKZnA9ZnVuY3Rpb24oYSxiLGMsZCxlPXt9LGYsaCl7dmFyIGs9TWF0aC5yb3VuZCgoMCxfLmVsKSgpKSxsPWEuc2l6ZSxtPXBwKGgpO2ZvcihsZXQgW24scF1vZiBhKXthPW47aD1wO2xldCByPV8ucWQoe2NvbnRleHQ6bW0oYi5jb25maWdffHxsbSgpKX0pO2lmKCFfLnlhKGgpJiYhXy54KCJ0aHJvd19lcnJfd2hlbl9sb2dldmVudF9tYWxmb3JtZWRfa2lsbHN3aXRjaCIpKXtkKCk7YnJlYWt9ci5ldmVudHM9aDsoaD1ncFthXSkmJnFwKHIsYSxoKTtkZWxldGUgZ3BbYV07bGV0IHQ9YT09PSJ2aXNpdG9yT25seUFwcHJvdmVkS2V5IjtycChyLGssdCk7Xy54KCJhbHdheXNfc2VuZF9hbmRfd3JpdGUiKSYmKGUud3JpdGVUaGVuU2VuZD0hMSk7bGV0IHY9QT0+e18ueCgic3RhcnRfY2xpZW50X2djZiIpJiZfLmpmLnBiKGFzeW5jKCk9Pnthd2FpdCBzcChBKX0pO2wtLTtsfHxjKCl9LHo9MCxFPSgpPT57eisrO2lmKGUuYnlwYXNzTmV0d29ya2xlc3MmJno9PT0xKXRyeXt2bihiLG0scix0cCh7d3JpdGVUaGVuU2VuZDohMH0sCnQsdixFLGYpKSxtcD0hMX1jYXRjaChBKXtfLlVpKEEpLGQoKX1sLS07bHx8YygpfTt0cnl7dm4oYixtLHIsdHAoZSx0LHYsRSxmKSksbXA9ITF9Y2F0Y2goQSl7Xy5VaShBKSxkKCl9fX07dHA9ZnVuY3Rpb24oYSxiLGMsZCxlKXthPXtyZXRyeTohMCxvblN1Y2Nlc3M6YyxvbkVycm9yOmQsbmV0d29ya2xlc3NPcHRpb25zOmEsZGFuZ2Vyb3VzTG9nVG9WaXNpdG9yU2Vzc2lvbjpiLGJJOiEhZSxoZWFkZXJzOnt9LHBvc3RCb2R5Rm9ybWF0OiIiLHBvc3RCb2R5OiIiLGNvbXByZXNzOl8ueCgiY29tcHJlc3NfZ2VsIil8fF8ueCgiY29tcHJlc3NfZ2VsX2xyIil9O3VwKCkmJihhLmhlYWRlcnNbIlgtR29vZy1SZXF1ZXN0LVRpbWUiXT1KU09OLnN0cmluZ2lmeShNYXRoLnJvdW5kKCgwLF8uZWwpKCkpKSk7cmV0dXJuIGF9OwpycD1mdW5jdGlvbihhLGIsYyl7dXAoKXx8KGEucmVxdWVzdFRpbWVNcz1TdHJpbmcoYikpO18ueCgidW5zcGxpdF9nZWxfcGF5bG9hZHNfaW5fbG9ncyIpJiYoYS51bnNwbGl0R2VsUGF5bG9hZHNJbkxvZ3M9ITApOyFjJiYoYj1fLncoIkVWRU5UX0lEIikpJiYoKGM9Xy53KCJCQVRDSF9DTElFTlRfQ09VTlRFUiIpfHwwKXx8KGM9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjY1NTM1LzIpKSxjKyssYz42NTUzNSYmKGM9MSksXy5RaSgiQkFUQ0hfQ0xJRU5UX0NPVU5URVIiLGMpLGEuc2VyaWFsaXplZENsaWVudEV2ZW50SWQ9e3NlcmlhbGl6ZWRFdmVudElkOmIsY2xpZW50Q291bnRlcjpTdHJpbmcoYyl9KX07CnFwPWZ1bmN0aW9uKGEsYixjKXtpZihjLnZpZGVvSWQpdmFyIGQ9IlZJREVPIjtlbHNlIGlmKGMucGxheWxpc3RJZClkPSJQTEFZTElTVCI7ZWxzZSByZXR1cm47YS5jcmVkZW50aWFsVHJhbnNmZXJUb2tlblRhcmdldElkPWM7YS5jb250ZXh0PWEuY29udGV4dHx8e307YS5jb250ZXh0LnVzZXI9YS5jb250ZXh0LnVzZXJ8fHt9O2EuY29udGV4dC51c2VyLmNyZWRlbnRpYWxUcmFuc2ZlclRva2Vucz1be3Rva2VuOmIsc2NvcGU6ZH1dfTsKUm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy50aigiaWxfcGF5bG9hZF9zY3JhcGluZyIpPT09ImVuYWJsZV9pbF9wYXlsb2FkX3NjcmFwaW5nIjtpZighXy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZW5hYmxlU2NyYXBpbmdGb3JUZXN0IikpaWYoYil2cD1bXSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5lbmFibGVTY3JhcGluZ0ZvclRlc3QiLCEwKSxfLnJhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIix2cCksXy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiwidmlzdWFsRWxlbWVudFNob3duIHZpc3VhbEVsZW1lbnRIaWRkZW4gdmlzdWFsRWxlbWVudEF0dGFjaGVkIHNjcmVlbkNyZWF0ZWQgdmlzdWFsRWxlbWVudEdlc3R1cmVkIHZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLnNwbGl0KCIgIikpLF8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LmdldFNjcmFwZWRQYXlsb2FkRnJvbUNsaWVudEV2ZW50c0Z1bmN0aW9uIiksCl8ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZUNsaWVudEV2ZW50IiwhMCk7ZWxzZSByZXR1cm47Yj1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVkUGF5bG9hZHNGb3JUZXN0aW5nIik7dmFyIGM9Xy5zYSgieXQubG9nZ2luZy50cmFuc3BvcnQucGF5bG9hZFRvU2NyYXBlIiksZD1fLnNhKCJ5dC5sb2dnaW5nLnRyYW5zcG9ydC5zY3JhcGVDbGllbnRFdmVudCIpO2lmKGMmJmMubGVuZ3RoPj0xKWZvcihsZXQgZT0wO2U8Yy5sZW5ndGg7ZSsrKWEmJmEucGF5bG9hZFtjW2VdXSYmKGQ/Yi5wdXNoKGEucGF5bG9hZCk6Yi5wdXNoKChhPy5wYXlsb2FkKVtjW2VdXSkpO18ucmEoInl0LmxvZ2dpbmcudHJhbnNwb3J0LnNjcmFwZWRQYXlsb2Fkc0ZvclRlc3RpbmciLGIpfTt1cD1mdW5jdGlvbigpe3JldHVybiBfLngoInVzZV9yZXF1ZXN0X3RpbWVfbXNfaGVhZGVyIil8fF8ueCgibHJfdXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiKX07CmRwPWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT09PSExP18ubWooYSxiKTpfLngoImxvZ2dpbmdfYXZvaWRfYmxvY2tpbmdfZHVyaW5nX25hdmlnYXRpb24iKXx8Xy54KCJscl9sb2dnaW5nX2F2b2lkX2Jsb2NraW5nX2R1cmluZ19uYXZpZ2F0aW9uIik/Xy5ZaigoKT0+e18uaW8oKS5jdXJyZW50U3RhdGU9PT0ibm9uZSI/YSgpOl8uaW8oKS5pbnN0YWxsKHtub25lOntjYWxsYmFjazphfX0pfSxiKTpfLllqKGEsYil9O2hwPWZ1bmN0aW9uKGEpe18ueCgidHJhbnNwb3J0X3VzZV9zY2hlZHVsZXIiKT9fLmpmLkFhKGEpOndpbmRvdy5jbGVhclRpbWVvdXQoYSl9OwpzcD1hc3luYyBmdW5jdGlvbihhKXthPWE/LnJlc3BvbnNlQ29udGV4dD8uZ2xvYmFsQ29uZmlnR3JvdXA7dmFyIGI9Xy5CKGEsd3ApLGM9YT8uaG90SGFzaERhdGEsZD1fLkIoYSx4cCksZT1hPy5jb2xkSGFzaERhdGEsZj1fLnkoKS5yZXNvbHZlKF8uSW4oaW0pKTtmJiYoYyYmKGI/YXdhaXQgZ20oZixjLGIpOmF3YWl0IGdtKGYsYykpLGUmJihkP2F3YWl0IGhtKGYsZSxkKTphd2FpdCBobShmLGUpKSk7Yj1hPy5yYXdGaW5jaFN0YXRpY0NvbmZpZ0dyb3VwOyhhPWE/LmZpbmNoU3RhdGljSGFzaERhdGEpPyhjPV8ueSgpLnJlc29sdmUoXy5Jbih5cCkpKT9hd2FpdCBjLndLKHtjb25maWc6Ynx8e30saUk6YXx8IiJ9KTooYnx8YSkmJl8uV2kobmV3IF8uWGooIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UgaXMgbm90IHByZXNlbnQsIGJ1dCBGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LiIpKTpiJiZfLldpKG5ldyBfLlhqKCJGaW5jaCBjb25maWcgZGF0YSBpcyBwcmVzZW50LCBidXQgaGFzaCBpcyBtaXNzaW5nLiIpKX07CmFwPWZ1bmN0aW9uKGEsYj0yMDApe3JldHVybiBhP2I9PT0zMDA/anA6enA6Yj09PTMwMD9rcDpBcH07VG89ZnVuY3Rpb24oYSl7YT1PYmplY3Qua2V5cyhhKTtmb3IobGV0IGIgb2YgYSlpZihVb1tiXSlyZXR1cm4gYn07Vm89ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9VTlNQRUNJRklFRCI6cmV0dXJuIDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RFRkFVTFQiOnJldHVybiAxMDA7Y2FzZSAiREVMQVlFRF9FVkVOVF9USUVSX0RJU1BBVENIX1RPX0VNUFRZIjpyZXR1cm4gMjAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9GQVNUIjpyZXR1cm4gMzAwO2Nhc2UgIkRFTEFZRURfRVZFTlRfVElFUl9JTU1FRElBVEUiOnJldHVybiA0MDA7ZGVmYXVsdDpyZXR1cm4gMjAwfX07Wm89ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0iZ2VsRGVidWdnaW5nRXZlbnQifHxhPT09IndhdGNoVGltZVNlZ21lbnQifTsKcHA9ZnVuY3Rpb24oYT0hMSl7cmV0dXJuIGEmJl8ueCgidnNzX3Rocm91Z2hfZ2VsX3ZpZGVvX3N0YXRzIik/InZpZGVvX3N0YXRzIjoibG9nX2V2ZW50In07Cl8uQ3A9ZnVuY3Rpb24oYSxiLGMsZD17fSl7dmFyIGU9e30sZj1NYXRoLnJvdW5kKGQudGltZXN0YW1wfHwoMCxfLmVsKSgpKTtlLmV2ZW50VGltZU1zPWY8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVI/ZjowO2VbYV09YjthPV8uQm4oKTtlLmNvbnRleHQ9e2xhc3RBY3Rpdml0eU1zOlN0cmluZyhkLnRpbWVzdGFtcHx8IWlzRmluaXRlKGEpPy0xOmEpfTtkLnNlcXVlbmNlR3JvdXAmJiFfLngoIndlYl9nZWxfc2VxdWVuY2VfaW5mb19raWxsc3dpdGNoIikmJihhPWUuY29udGV4dCxiPWQuc2VxdWVuY2VHcm91cCxCcFtiXT1iIGluIEJwP0JwW2JdKzE6MCxhLnNlcXVlbmNlPXtpbmRleDpCcFtiXSxncm91cEtleTpifSxkLmVuZE9mU2VxdWVuY2UmJmRlbGV0ZSBCcFtkLnNlcXVlbmNlR3JvdXBdKTtfLngoIndlYl90YWdfYXV0b21hdGVkX2xvZ19ldmVudHMiKSYmKGUuY29udGV4dC5hdXRvbWF0ZWRMb2dFdmVudFNvdXJjZT1kLmF1dG9tYXRlZExvZ0V2ZW50U291cmNlKTsoZC5zZW5kSXNvbGF0ZWRQYXlsb2FkPwpXbzokbykoe2VuZHBvaW50OiJsb2dfZXZlbnQiLHBheWxvYWQ6ZSxjdHRBdXRoSW5mbzpkLmN0dEF1dGhJbmZvLGRhbmdlcm91c0xvZ1RvVmlzaXRvclNlc3Npb246ZC5kYW5nZXJvdXNMb2dUb1Zpc2l0b3JTZXNzaW9ufSxjKX07Xy5FcD1mdW5jdGlvbihhLGIsYz17fSl7dmFyIGQ9RHA7Xy53KCJ5dExvZ2dpbmdFdmVudHNEZWZhdWx0RGlzYWJsZWQiLCExKSYmRHA9PT1EcCYmKGQ9bnVsbCk7Xy5DcChhLGIsZCxjKX07CkZwPWZ1bmN0aW9uKGEsYj17fSl7aWYoYT1hLk5kKXtsZXQgYz1hLmZoLGQ9YS5BbDthPVtbImNvbXBvbmVudFN0YWNrIixhLmNvbXBvbmVudFN0YWNrXSxbIndpelRhZ05hbWUiLGEudGFnTmFtZV0sWyJ3aXpPd25lclRyYWNlIixhLnByPy5qb2luKCIgPiAiKV0sWyJlcnJvclNldmVyaXR5IixjPy50b1N0cmluZygpXSxbIndpekZlYXR1cmVGbGFncyIsZD9PYmplY3QuZW50cmllcyhkKS5qb2luKCJcbiIpOnZvaWQgMF1dO2ZvcihsZXQgW2UsZl1vZiBhKWE9ZixhIT09dm9pZCAwJiYoYltlXT1hKX1yZXR1cm4gYn07Xy5IcD1mdW5jdGlvbihhKXtfLkdwKGEpfTtfLklwPWZ1bmN0aW9uKGEpe18uR3AoYSwiV0FSTklORyIpfTsKXy5HcD1mdW5jdGlvbihhLGI9IkVSUk9SIixjLGQsZSxmPXt9LGg9ITEsayl7Zi5uYW1lPWN8fF8udygiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiLDEpO2YudmVyc2lvbj1kfHxfLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIik7SnAoYSxmLGIsaCxrKX07CkpwPWZ1bmN0aW9uKGEsYixjPSJFUlJPUiIsZD0hMSxlKXtpZihhKXthLmhhc093blByb3BlcnR5KCJsZXZlbCIpJiZhLmxldmVsJiYoYz1hLmxldmVsKTtpZihfLngoIndpel9lbmFibGVfbWV0YWRhdGFfZXh0cmFjdGlvbl9raWxsc3dpdGNoIikpe3ZhciBmPWI7aWYoIWY/LmNvbXBvbmVudFN0YWNrKXt2YXIgaD1hLk5kPy5jb21wb25lbnRTdGFjaztoJiYoZnx8KGY9e30pLGYuY29tcG9uZW50U3RhY2s9aCl9Yj1mfHxifWVsc2UgYj1GcChhLGIpLGY9YS5OZD8uZmgsZiE9PXZvaWQgMCYmYyE9PSJJR05PUkVEIiYmKGM9Zj49Mz8iRVJST1IiOiJXQVJOSU5HIik7aWYoXy54KCJjb25zb2xlX2xvZ19qc19leGNlcHRpb25zIil8fFsidGVzdCIsImRldiIsImF1dG9wdXNoIiwic3RhZ2luZyJdLmluY2x1ZGVzKF8udygiU0VSVkVSX1ZFUlNJT04iKSkpZj1bXSxmLnB1c2goYE5hbWU6ICR7YS5uYW1lfWApLGYucHVzaChgTWVzc2FnZTogJHthLm1lc3NhZ2V9YCksYS5oYXNPd25Qcm9wZXJ0eSgicGFyYW1zIikmJgpmLnB1c2goYEVycm9yIFBhcmFtczogJHtKU09OLnN0cmluZ2lmeShhLnBhcmFtcyl9YCksYS5oYXNPd25Qcm9wZXJ0eSgiYXJncyIpJiZmLnB1c2goYEVycm9yIGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYS5hcmdzKX1gKSxmLnB1c2goYEZpbGUgbmFtZTogJHthLmZpbGVOYW1lfWApLGYucHVzaChgU3RhY2t0cmFjZTogJHthLnN0YWNrfWApLGY9Zi5qb2luKCJcbiIpLHdpbmRvdy5jb25zb2xlLmxvZyhmLGEpO2lmKCEoS3A+PTUpKXtmPVtdO2ZvcihrIG9mIExwKXRyeXtrKCkmJmYucHVzaChrKCkpfWNhdGNoKEUpe312YXIgaz1mO2s9Wy4uLk1wLC4uLmtdO3ZhciBsPUViKGEpO2Y9bC5tZXNzYWdlfHwiVW5rbm93biBFcnJvciI7aD1sLm5hbWV8fCJVbmtub3duRXJyb3IiO3ZhciBtPWwuc3RhY2t8fGEuWEt8fCJOb3QgYXZhaWxhYmxlIjtpZihtLnN0YXJ0c1dpdGgoYCR7aH06ICR7Zn1gKSl7dmFyIG49bS5zcGxpdCgiXG4iKTtuLnNoaWZ0KCk7bT1uLmpvaW4oIlxuIil9bj1sLmxpbmVOdW1iZXJ8fAoiTm90IGF2YWlsYWJsZSI7bD1sLmZpbGVOYW1lfHwiTm90IGF2YWlsYWJsZSI7bGV0IHo9MDtpZihhLmhhc093blByb3BlcnR5KCJhcmdzIikmJmEuYXJncyYmYS5hcmdzLmxlbmd0aClmb3IodmFyIHA9MDtwPGEuYXJncy5sZW5ndGgmJiEoej1IbyhhLmFyZ3NbcF0sYHBhcmFtcy4ke3B9YCxiLHopLHo+PTUwMCk7cCsrKTtlbHNlIGlmKGEuaGFzT3duUHJvcGVydHkoInBhcmFtcyIpJiZhLnBhcmFtcyl7bGV0IEU9YS5wYXJhbXM7aWYodHlwZW9mIGEucGFyYW1zPT09Im9iamVjdCIpZm9yKHAgaW4gRSl7aWYoIUVbcF0pY29udGludWU7bGV0IEE9YHBhcmFtcy4ke3B9YCxGPUdvKEVbcF0pO2JbQV09Rjt6Kz1BLmxlbmd0aCtGLmxlbmd0aDtpZih6PjUwMClicmVha31lbHNlIGIucGFyYW1zPUdvKEUpfWlmKGsubGVuZ3RoKWZvcihwPTA7cDxrLmxlbmd0aCYmISh6PUhvKGtbcF0sYHBhcmFtcy5jb250ZXh0LiR7cH1gLGIseiksej49NTAwKTtwKyspO25hdmlnYXRvci52ZW5kb3ImJiFiLmhhc093blByb3BlcnR5KCJ2ZW5kb3IiKSYmCihiWyJkZXZpY2UudmVuZG9yIl09bmF2aWdhdG9yLnZlbmRvcik7cD17bWVzc2FnZTpmLG5hbWU6aCxsaW5lTnVtYmVyOm4sZmlsZU5hbWU6bCxzdGFjazptLHBhcmFtczpiLHNhbXBsZVdlaWdodDoxfTtiPU51bWJlcihhLmNvbHVtbk51bWJlcik7aXNOYU4oYil8fChwLmxpbmVOdW1iZXI9YCR7cC5saW5lTnVtYmVyfToke2J9YCk7aWYoYS5sZXZlbD09PSJJR05PUkVEIil2YXIgcj0wO2Vsc2UgYTp7YT1fLkJvKCk7Zm9yKHIgb2YgYS5sZSlpZihwLm1lc3NhZ2UmJnAubWVzc2FnZS5tYXRjaChyLldKKSl7cj1yLndlaWdodDticmVhayBhfWZvcih2YXIgdCBvZiBhLlNkKWlmKHQuY2FsbGJhY2socCkpe3I9dC53ZWlnaHQ7YnJlYWsgYX1yPTF9cC5zYW1wbGVXZWlnaHQ9cjtyPXA7Zm9yKHZhciB2IG9mIE5wKXtpZighdi5KaltyLm5hbWVdKWNvbnRpbnVlO3Q9di5KaltyLm5hbWVdO2ZvcihsZXQgRSBvZiB0KXt0PXIubWVzc2FnZS5tYXRjaChFLnJlZ2V4cCk7aWYoIXQpY29udGludWU7CnIucGFyYW1zWyJwYXJhbXMuZXJyb3Iub3JpZ2luYWwiXT10WzBdO2E9RS5ncm91cHM7cD17fTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKXBbYVtiXV09dFtiKzFdLHIucGFyYW1zW2BwYXJhbXMuZXJyb3IuJHthW2JdfWBdPXRbYisxXTtyLm1lc3NhZ2U9di5wbShwKTticmVha319ci5wYXJhbXN8fChyLnBhcmFtcz17fSk7dj1fLkJvKCk7ci5wYXJhbXNbInBhcmFtcy5lcnJvclNlcnZpY2VTaWduYXR1cmUiXT1gbXNnPSR7di5sZS5sZW5ndGh9JmNiPSR7di5TZC5sZW5ndGh9YDtyLnBhcmFtc1sicGFyYW1zLnNlcnZpY2VXb3JrZXIiXT0iZmFsc2UiO18udS5kb2N1bWVudCYmXy51LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwmJihyLnBhcmFtc1sicGFyYW1zLmZzY3JpcHRzIl09U3RyaW5nKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInNjcmlwdDpub3QoW25vbmNlXSkiKS5sZW5ndGgpKTsobmV3IE9wKFBwLCJzYW1wbGUiKSkuY29uc3RydWN0b3IhPT1PcCYmKHIucGFyYW1zWyJwYXJhbXMuZmNvbnN0Il09CiJ0cnVlIik7d2luZG93Lnl0ZXJyJiZ0eXBlb2Ygd2luZG93Lnl0ZXJyPT09ImZ1bmN0aW9uIiYmd2luZG93Lnl0ZXJyKHIpO3Iuc2FtcGxlV2VpZ2h0PT09MHx8UXAuaGFzKHIubWVzc2FnZSl8fChkP1JwKHIsYyk6U3AocixjLGUpKX19fTtScD1mdW5jdGlvbihhLGI9IkVSUk9SIil7VHAoYixhKTtVcChhKX07ClNwPWZ1bmN0aW9uKGEsYj0iRVJST1IiLGMpe2lmKGI9PT0iRVJST1IiKXtfLlZwLnB1Ymxpc2goImhhbmRsZUVycm9yIixhKTtpZihfLngoInJlY29yZF9hcHBfY3Jhc2hlZF93ZWIiKSYmV3A9PT0wJiZhLnNhbXBsZVdlaWdodD09PTEpe1dwKys7bGV0IGQ9e2FwcENyYXNoVHlwZToiQVBQX0NSQVNIX1RZUEVfQlJFQUtQQUQifTtfLngoInJlcG9ydF9jbGllbnRfZXJyb3Jfd2l0aF9hcHBfY3Jhc2hfa3MiKXx8KGQuc3lzdGVtSGVhbHRoPXtjcmFzaERhdGE6e2NsaWVudEVycm9yOntsb2dNZXNzYWdlOnttZXNzYWdlOmEubWVzc2FnZX19fX0pO18uRXAoImFwcENyYXNoZWQiLGQpfVhwKyt9ZWxzZSBiPT09IldBUk5JTkciJiZfLlZwLnB1Ymxpc2goImhhbmRsZVdhcm5pbmciLGEpO18ueCgia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIikmJihjPVlwKGIsYSxjKSkmJihfLkVwKCJjbGllbnRFcnJvciIsYyksKGI9PT0iRVJST1IifHxfLngoImVycm9yc19mbHVzaF9nZWxfYWx3YXlzX2tpbGxzd2l0Y2giKSkmJgpfLmJwKHZvaWQgMCx2b2lkIDAsITEpKTtfLngoInN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nIil8fFRwKGIsYSk7VXAoYSl9O1VwPWZ1bmN0aW9uKGEpe3RyeXtRcC5hZGQoYS5tZXNzYWdlKX1jYXRjaChiKXt9S3ArK307CllwPWZ1bmN0aW9uKGEsYixjPXt9KXthOntmb3IoZCBvZiBacClpZihfLk1rKGQudG9Mb3dlckNhc2UoKSkpe3ZhciBkPSEwO2JyZWFrIGF9ZD0hMX1pZighZCl7dmFyIGU9e3N0YWNrVHJhY2U6Yi5zdGFja307Yi5maWxlTmFtZSYmKGUuZmlsZW5hbWU9Yi5maWxlTmFtZSk7ZD1iLmxpbmVOdW1iZXImJmIubGluZU51bWJlci5zcGxpdD9iLmxpbmVOdW1iZXIuc3BsaXQoIjoiKTpbXTtkLmxlbmd0aCE9PTAmJihkLmxlbmd0aCE9PTF8fGlzTmFOKE51bWJlcihkWzBdKSk/ZC5sZW5ndGghPT0yfHxpc05hTihOdW1iZXIoZFswXSkpfHxpc05hTihOdW1iZXIoZFsxXSkpfHwoZS5saW5lTnVtYmVyPU51bWJlcihkWzBdKSxlLmNvbHVtbk51bWJlcj1OdW1iZXIoZFsxXSkpOmUubGluZU51bWJlcj1OdW1iZXIoZFswXSkpO2Q9e2xldmVsOiJFUlJPUl9MRVZFTF9VTktOT1dOIixtZXNzYWdlOmIubWVzc2FnZSxlcnJvckNsYXNzTmFtZTpiLm5hbWUsc2FtcGxlV2VpZ2h0OmIuc2FtcGxlV2VpZ2h0fTsKYT09PSJFUlJPUiI/ZC5sZXZlbD0iRVJST1JfTEVWRUxfRVJST1IiOmE9PT0iV0FSTklORyImJihkLmxldmVsPSJFUlJPUl9MRVZFTF9XQVJOTklORyIpO2E9e2lzT2JmdXNjYXRlZDohMCxicm93c2VyU3RhY2tJbmZvOmV9O2MucGFnZVVybD13aW5kb3cubG9jYXRpb24uaHJlZjtjLmt2UGFpcnM9W107Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikmJihjLmV4cGVyaW1lbnRJZHM9Xy53KCJGRVhQX0VYUEVSSU1FTlRTIikpO2U9Xy53KCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiKTtpZighXy5SaSgid2ViX2Rpc2FibGVfZ2VsX3N0cF9lY2F0Y2hlcl9raWxsc3dpdGNoIikmJmUpZm9yKHZhciBmIG9mIE9iamVjdC5rZXlzKGUpKWMua3ZQYWlycy5wdXNoKHtrZXk6Zix2YWx1ZTpTdHJpbmcoZVtmXSl9KTtpZihmPWIucGFyYW1zKWZvcih2YXIgaCBvZiBPYmplY3Qua2V5cyhmKSljLmt2UGFpcnMucHVzaCh7a2V5OmBjbGllbnQuJHtofWAsdmFsdWU6U3RyaW5nKGZbaF0pfSk7CmlmKGI9Yi5wYXJhbXM/LnNlc3Npb25SZXBsYXlJZCljLnNlc3Npb25SZXBsYXlJZD1TdHJpbmcoYik7Yj1fLncoIlNFUlZFUl9OQU1FIik7aD1fLncoIlNFUlZFUl9WRVJTSU9OIik7YiYmaCYmKGMua3ZQYWlycy5wdXNoKHtrZXk6InNlcnZlci5uYW1lIix2YWx1ZTpifSksYy5rdlBhaXJzLnB1c2goe2tleToic2VydmVyLnZlcnNpb24iLHZhbHVlOmh9KSk7KGI9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJmMua3ZQYWlycy5wdXNoKHtrZXk6ImNsaWVudC5wbGF5ZXIudmVyc2lvbiIsdmFsdWU6Yn0pO3JldHVybntlcnJvck1ldGFkYXRhOmMsc3RhY2tUcmFjZTphLGxvZ01lc3NhZ2U6ZH19fTsKVHA9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBhcmFtc3x8e307YT17dXJsUGFyYW1zOnthOiJsb2dlcnJvciIsdDoianNlcnJvciIsdHlwZTpiLm5hbWUsbXNnOmIubWVzc2FnZS5zdWJzdHIoMCwyNTApLGxpbmU6Yi5saW5lTnVtYmVyLGxldmVsOmEsImNsaWVudC5uYW1lIjpjLm5hbWV9LHBvc3RQYXJhbXM6e3VybDpfLncoIlBBR0VfTkFNRSIsd2luZG93LmxvY2F0aW9uLmhyZWYpLGZpbGU6Yi5maWxlTmFtZX0sbWV0aG9kOiJQT1NUIn07Yy52ZXJzaW9uJiYoYVsiY2xpZW50LnZlcnNpb24iXT1jLnZlcnNpb24pO2lmKGEucG9zdFBhcmFtcyl7Yi5zdGFjayYmKGEucG9zdFBhcmFtcy5zdGFjaz1iLnN0YWNrKTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXMoYykpYS5wb3N0UGFyYW1zW2BjbGllbnQuJHtlfWBdPWNbZV07aWYoYj1fLncoIkxBVEVTVF9FQ0FUQ0hFUl9TRVJWSUNFX1RSQUNLSU5HX1BBUkFNUyIpKWZvcih2YXIgZCBvZiBPYmplY3Qua2V5cyhiKSlhLnBvc3RQYXJhbXNbZF09CmJbZF07KGQ9Xy53KCJMQVZBX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImxhdmEudmVyc2lvbiJdPWQpO2Q9Xy53KCJTRVJWRVJfTkFNRSIpO2I9Xy53KCJTRVJWRVJfVkVSU0lPTiIpO2QmJmImJihhLnBvc3RQYXJhbXNbInNlcnZlci5uYW1lIl09ZCxhLnBvc3RQYXJhbXNbInNlcnZlci52ZXJzaW9uIl09Yik7KGQ9Xy53KCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iKSkmJihhLnBvc3RQYXJhbXNbImNsaWVudC5wbGF5ZXIudmVyc2lvbiJdPWQpfV8uemooYCR7Xy53KCJFQ0FUQ0hFUl9SRVBPUlRfSE9TVCIsIiIpfS9lcnJvcl8yMDRgLGEpfTthcT1mdW5jdGlvbigpeyRwLmluc3RhbmNlfHwoJHAuaW5zdGFuY2U9bmV3ICRwKTtyZXR1cm4gJHAuaW5zdGFuY2V9OwpjcT1mdW5jdGlvbihhLGIpe2JxW2JdPWJxW2JdfHx7Y291bnQ6MH07dmFyIGM9YnFbYl07Yy5jb3VudCsrO2MudGltZT0oMCxfLmVsKSgpO2Euanx8KGEuaj1fLllqKCgpPT57dmFyIGQ9KDAsXy5lbCkoKTtmb3IobGV0IGUgaW4gYnEpYnFbZV0mJmQtYnFbZV0udGltZT42RTQmJmRlbGV0ZSBicVtlXTthJiYoYS5qPTApfSw1RTMpKTtyZXR1cm4gYy5jb3VudD41PyhjLmNvdW50PT09NiYmTWF0aC5yYW5kb20oKSoxRTU8MSYmKGM9bmV3IF8uWGooIkNTSSBkYXRhIGV4Y2VlZGVkIGxvZ2dpbmcgbGltaXQgd2l0aCBrZXkiLGIuc3BsaXQoIl8iKSksYi5pbmRleE9mKCJwbGV2Iik+PTB8fF8uSXAoYykpLCEwKTohMX07ZHE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gXy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIix7fSlbYV19OwplcT1mdW5jdGlvbihhLGI9MCl7dmFyIGM9Xy53KCJjbGllbnQtc2NyZWVuLW5vbmNlLXN0b3JlIik7Y3x8KGM9e30sXy5RaSgiY2xpZW50LXNjcmVlbi1ub25jZS1zdG9yZSIsYykpO2NbYl09YX07ZnE9ZnVuY3Rpb24oYT0wKXtyZXR1cm4gYT09PTA/IlJPT1RfVkVfVFlQRSI6YFJPT1RfVkVfVFlQRS4ke2F9YH07Xy5ncT1mdW5jdGlvbihhPTApe3JldHVybiBfLncoZnEoYSkpfTtocT1mdW5jdGlvbigpe3ZhciBhPV8udygiY3NuLXRvLWN0dC1hdXRoLWluZm8iKTthfHwoYT17fSxfLlFpKCJjc24tdG8tY3R0LWF1dGgtaW5mbyIsYSkpO3JldHVybiBhfTtfLmlxPWZ1bmN0aW9uKGE9MCl7YT1kcShhKTtpZighYSYmIV8udygiVVNFX0NTTl9GQUxMQkFDSyIsITApKXJldHVybiBudWxsO2F8fChhPSJVTkRFRklORURfQ1NOIik7cmV0dXJuIGE/YTpudWxsfTtqcT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9aHEoKTsoYz1fLmlxKGMpKSYmZGVsZXRlIGRbY107YiYmKGRbYV09Yil9OwpfLmtxPWZ1bmN0aW9uKGEpe3JldHVybiBocSgpW2FdfTtfLm1xPWZ1bmN0aW9uKGEsYixjPTAsZCl7aWYoYSE9PWRxKGMpfHxiIT09Xy53KGZxKGMpKSlpZihqcShhLGQsYyksZXEoYSxjKSxfLlFpKGZxKGMpLGIpLGI9KCk9PntzZXRUaW1lb3V0KCgpPT57YSYmXy5FcCgiZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQiLHtjbGllbnREb2N1bWVudE5vbmNlOmxxLGNsaWVudFNjcmVlbk5vbmNlOmF9KX0sMCl9LCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiaW4gd2luZG93KXRyeXt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGIpfWNhdGNoKGUpe2IoKX1lbHNlIGIoKX07Xy5vcT1mdW5jdGlvbihhLGIpe18ubnEoIl9zdGFydCIsYSxiKX07Cl8ucHE9ZnVuY3Rpb24oYSxiKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGIpLmFjdGlvbkRpc2FibGVkKXt2YXIgYz1fLnVvKGJ8fCIiKTtfLnluKGMuaW5mbyxhKTthLmxvYWRUeXBlJiYoYz1hLmxvYWRUeXBlLF8ubG8oYikubG9hZFR5cGU9Yyk7Xy55bihfLm9vKGIpLGEpO2M9Xy5wbyhiKTtiPV8ua28oYikuY3R0QXV0aEluZm87YXEoKS5pbmZvKGEsYyxiKX19O3FxPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueSgpLnJlc29sdmUoXy5JbihpbSkpPy53aigpPy5sb2dnaW5nSG90Q29uZmlnPy5jc2lDb25maWc/LmRlYnVnVGlja3M/P1tdKS5tYXAoYT0+T2JqZWN0LnZhbHVlcyhhKVswXSl9OwpfLm5xPWZ1bmN0aW9uKGEsYixjKXtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fCFfLmtvKGMpLmFjdGlvbkRpc2FibGVkKXt2YXIgZD1fLnBvKGMpLGU7aWYoZT1fLngoIndlYl9jc2lfZGVidWdfc2FtcGxlX2VuYWJsZWQiKSYmZCl7Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCkmJiFycSYmKHJxPSEwLF8ubnEoImdjZmwiLCgwLF8uZWwpKCksYykpO2U9Xy55KCkucmVzb2x2ZShfLkluKGltKSk/LndqKCk/LmxvZ2dpbmdIb3RDb25maWc/LmNzaUNvbmZpZz8uZGVidWdTYW1wbGVXZWlnaHR8fDA7dmFyIGY7aWYoZj1lIT09MCliOntmPXFxKCk7aWYoZi5sZW5ndGg+MClmb3IodmFyIGg9MDtoPGYubGVuZ3RoO2grKylpZihhPT09ZltoXSl7Zj0hMDticmVhayBifWY9ITF9Zj8oZT1fLkduKGQpJWUhPT0wLF8ua28oYykuZGVidWdUaWNrc0V4Y2x1ZGVkTG9nZ2VkfHwoZj17fSxmLmRlYnVnVGlja3NFeGNsdWRlZD1lLF8ucHEoZixjKSksXy5rbyhjKS5kZWJ1Z1RpY2tzRXhjbHVkZWRMb2dnZWQ9CiEwKTplPSExfWlmKCFlKXtpZihhWzBdIT09Il8iJiYoZT1hLF8uc3EubWFyaykpe2Uuc3RhcnRzV2l0aCgibWFya18iKXx8KGU9Im1hcmtfIitlKTtjJiYoZSs9YCAoJHtjfSlgKTtmPWU7aD17fTtpZihiIT09dm9pZCAwJiYhXy54KCJ3ZWJfY3NpX2Rpc2FibGVfYWx0X3RpbWVfcGVyZm9ybWFuY2VfbWFyayIpKXtsZXQgbD1iO2w9Xy54KCJjc2lfdXNlX3BlcmZvcm1hbmNlX25hdmlnYXRpb25fdGltaW5nIik/bC1fLnNxLnRpbWVPcmlnaW46bC0oXy5zcS50aW1lT3JpZ2lufHxfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnQpO2guc3RhcnRUaW1lPWx9Xy54KCJjc2lfZW5hYmxlX2Nocm9tZV9kZXZ0b29sc19wZXJmb3JtYW5jZV90aW1lbGluZV9pbnRlZ3JhdGlvbiIpJiYoaC5kZXRhaWw9e3ZJOntkYXRhVHlwZToibWFya2VyIixjb2xvcjoicHJpbWFyeSIsdG9vbHRpcFRleHQ6Zn19KTtmPU9iamVjdC5rZXlzKGgpLmxlbmd0aD4wP2g6dm9pZCAwO3RyeXtfLnNxLm1hcmsoZSxmKX1jYXRjaChsKXtfLnNxLm1hcmsoZSl9fWU9Cl8udW8oY3x8IiIpO2UudGlja1thXT1ifHwoMCxfLmVsKSgpO2lmKGUuY2FsbGJhY2smJmUuY2FsbGJhY2tbYV0pZm9yKHZhciBrIG9mIGUuY2FsbGJhY2tbYV0paygpO2s9Xy5ubyhjKTtrLmdlbFRpY2tzJiYoay5nZWxUaWNrc1thXT0hMCk7ZT1fLm1vKGMpO2s9Ynx8KDAsXy5lbCkoKTtlW2FdPWs7ZT1fLmtvKGMpLmN0dEF1dGhJbmZvO2E9PT0iX3N0YXJ0Ij8oYT1hcSgpLGNxKGEsYGJhc2VsaW5lXyR7ZH1gKXx8Xy5FcCgibGF0ZW5jeUFjdGlvbkJhc2VsaW5lZCIse2NsaWVudEFjdGlvbk5vbmNlOmR9LHt0aW1lc3RhbXA6YixjdHRBdXRoSW5mbzplfSkpOmFxKCkudGljayhhLGQsYixlKTtfLnRxKGMpO3JldHVybiBrfX19OwpfLnZxPWZ1bmN0aW9uKGEpe3ZhciBiPV8udXEoImFmdCIsYSk7aWYoYilyZXR1cm4gYjtiPV8udygoYXx8IiIpKyJUSU1JTkdfQUZUX0tFWVMiLFsib2wiXSk7dmFyIGM9Yi5sZW5ndGg7Zm9yKGxldCBkPTA7ZDxjO2QrKyl7bGV0IGU9Xy51cShiW2RdLGEpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIE5hTn07Xy51cT1mdW5jdGlvbihhLGIpe2lmKGE9Xy5tbyhiKVthXSlyZXR1cm4gdHlwZW9mIGE9PT0ibnVtYmVyIj9hOmFbYS5sZW5ndGgtMV19O18udHE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy51cSgiX3N0YXJ0IixhKSxjPV8udnEoYSksZD0hd3E7YiYmYyYmZCYmKF8uc20oeHEsbmV3IHlxKE1hdGgucm91bmQoYy1iKSxhKSksd3E9ITApfTtfLnpxPWZ1bmN0aW9uKGEsYixjPSExKXtfLlZpKF8ucHEpKGEsYixjKX07Xy5BcT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uVmkoXy5ucSkoYSxiLGMpfTsKXy5CcT1mdW5jdGlvbihhLGIpe3JldHVybiBfLlZpKCgpPT57dmFyIGM9Xy5tbyhiKTtyZXR1cm4gYSBpbiBjfSkoKX07a2E9T2JqZWN0LmNyZWF0ZTtqYT1PYmplY3QuZGVmaW5lUHJvcGVydHk7aWE9Z2xvYmFsVGhpcztjYT0iSW50OCBVaW50OCBVaW50OENsYW1wZWQgSW50MTYgVWludDE2IEludDMyIFVpbnQzMiBGbG9hdDMyIEZsb2F0NjQiLnNwbGl0KCIgIik7aWEuQmlnSW50NjRBcnJheSYmKGNhLnB1c2goIkJpZ0ludDY0IiksY2EucHVzaCgiQmlnVWludDY0IikpO3ZhciBsYT1PYmplY3Quc2V0UHJvdG90eXBlT2Y7ZmEoIlN5bWJvbC5kaXNwb3NlIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOlN5bWJvbCgiYSIpfSk7CmZhKCJTdXBwcmVzc2VkRXJyb3IiLGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGIoYyxkLGUpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGIpKXJldHVybiBuZXcgYihjLGQsZSk7ZT1FcnJvcihlKTsic3RhY2siaW4gZSYmKHRoaXMuc3RhY2s9ZS5zdGFjayk7dGhpcy5tZXNzYWdlPWUubWVzc2FnZTt0aGlzLmVycm9yPWM7dGhpcy5zdXBwcmVzc2VkPWR9aWYoYSlyZXR1cm4gYTtuYShiLEVycm9yKTtiLnByb3RvdHlwZS5uYW1lPSJTdXBwcmVzc2VkRXJyb3IiO3JldHVybiBifSk7CmZhKCJTdHJpbmcucHJvdG90eXBlLnJlcGxhY2VBbGwiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6ZnVuY3Rpb24oYixjKXtpZihiIGluc3RhbmNlb2YgUmVnRXhwJiYhYi5nbG9iYWwpdGhyb3cgbmV3IFR5cGVFcnJvcigiYiIpO3JldHVybiBiIGluc3RhbmNlb2YgUmVnRXhwP3RoaXMucmVwbGFjZShiLGMpOnRoaXMucmVwbGFjZShuZXcgUmVnRXhwKFN0cmluZyhiKS5yZXBsYWNlKC8oWy0oKVxbXF17fSs/Ki4kXF58LDojPCFcXF0pL2csIlxcJDEiKS5yZXBsYWNlKC9ceDA4L2csIlxceDA4IiksImciKSxjKX19KTtmYSgiUHJvbWlzZS53aXRoUmVzb2x2ZXJzIixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOmZ1bmN0aW9uKCl7dmFyIGIsYztyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZShmdW5jdGlvbihkLGUpe2I9ZDtjPWV9KSxyZXNvbHZlOmIscmVqZWN0OmN9fX0pOwpmYSgiT2JqZWN0Lmhhc093biIsZnVuY3Rpb24oYSl7cmV0dXJuIGE/YTpmdW5jdGlvbihiLGMpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYixjKX19KTtmYSgiQXJyYXkucHJvdG90eXBlLmF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZWEoImF0IixmdW5jdGlvbihhKXtyZXR1cm4gYT9hOnFhfSk7ZmEoIlN0cmluZy5wcm90b3R5cGUuYXQiLGZ1bmN0aW9uKGEpe3JldHVybiBhP2E6cWF9KTtfLl9EdW1wRXhjZXB0aW9uPXdpbmRvdy5fRHVtcEV4Y2VwdGlvbnx8ZnVuY3Rpb24oYSl7dGhyb3cgYTt9O3dpbmRvdy5fRHVtcEV4Y2VwdGlvbj1fLl9EdW1wRXhjZXB0aW9uO3dpbmRvdy55dGNzaSYmd2luZG93Lnl0Y3NpLnRpY2smJndpbmRvdy55dGNzaS50aWNrKCJyc2VzX2RwaiIpO18uQ3E9Xy5DcXx8e307Xy51PXRoaXN8fHNlbGY7Xy5EcT1fLnUuX0ZfdG9nZ2xlc19kZWZhdWx0X2Jhc2V8fFtdO3ZhLmdldD1mdW5jdGlvbigpe3JldHVybiBudWxsfTtfLmVoPW51bGw7Xy5FcT0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTt2YXIgJG09Y2xhc3N7Y29uc3RydWN0b3Ioe3VybDphLGtMOmJ9KXt0aGlzLm89YTt0aGlzLkI9Yjt0aGlzLnY9KG5ldyBEYXRlKS5nZXRUaW1lKCktMTcwNDA2NzJFNTt0aGlzLmo9e307Zm9yKHZhciBjPS9bPyZdKFteJj1dKyk9KFteJl0qKS9nO2I9Yy5leGVjKGEpOyl0aGlzLmpbYlsxXV09YlsyXX19O18uSGEoXy5MYSxFcnJvcik7Xy5MYS5wcm90b3R5cGUubmFtZT0iQ3VzdG9tRXJyb3IiO3ZhciB3ZDt2YXIgTmE9Z2xvYmFsVGhpcy50cnVzdGVkVHlwZXMsUWE7Xy5TYT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTtWYShhPT5hYGApfHxWYShhPT5hYFwwYCl8fFZhKGE9PmFgXG5gKXx8VmEoYT0+YWBcdTAwMDBgKTtfLldhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O18uRnE9bmV3IF8uV2EoImFib3V0OmludmFsaWQjekNsb3N1cmV6Iik7dmFyIFphLGNiO1phPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuZmI9YX19O18uR3E9bmV3IFphKGE9Pi9eW146XSooWy8/I118JCkvLnRlc3QoYSkpO18uSHE9JGEoInRlbCIpO18uSXE9JGEoImRhdGEiKTtfLkpxPSRhKCJodHRwIik7Xy5LcT0kYSgiaHR0cHMiKTtfLkxxPSRhKCJmdHAiKTtfLk1xPSRhKCJtYWlsdG8iKTtfLk5xPSRhKCJpbnRlbnQiKTtfLk9xPSRhKCJzbXMiKTtfLlBxPSRhKCJ2bmQueW91dHViZSIpO18uYWI9W18uSXEsXy5KcSxfLktxLF8uTXEsXy5McSxfLkdxXTtjYj0vXlxzKig/IWphdmFzY3JpcHQ6KSg/OltcdysuLV0rOnxbXjovPyNdKig/OlsvPyNdfCQpKS9pO18uZmI9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qKyIifX07Xy5qYj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX10b1N0cmluZygpe3JldHVybiB0aGlzLmorIiJ9fTt2YXIgcGI9ImFsdGVybmF0ZSBhdXRob3IgYm9va21hcmsgY2Fub25pY2FsIGNpdGUgaGVscCBpY29uIGxpY2Vuc2UgbW9kdWxlcHJlbG9hZCBuZXh0IHByZWZldGNoIGRucy1wcmVmZXRjaCBwcmVyZW5kZXIgcHJlY29ubmVjdCBwcmVsb2FkIHByZXYgc2VhcmNoIHN1YnJlc291cmNlIi5zcGxpdCgiICIpO3ZhciBEYj17fTt2YXIgS2I7S2I9UmVnRXhwKCJeKD86KFteOi8/Iy5dKyk6KT8oPzovLyg/OihbXlxcXFwvPyNdKilAKT8oW15cXFxcLz8jXSo/KSg/OjooWzAtOV0rKSk/KD89W1xcXFwvPyNdfCQpKT8oW14/I10rKT8oPzpcXD8oW14jXSopKT8oPzojKFtcXHNcXFNdKikpPyQiKTtfLlliPS8jfCQvO3ZhciBRcT0hIShfLkRxWzBdPj4yNSYxKSxScT0hIShfLkRxWzBdPj4yMCYxKSxTcT0hIShfLkRxWzBdPj4yNyYxKSxUcT0hIShfLkRxWzBdJjgpLFVxPSEhKF8uRHFbMF0mODE5MiksVnE9ISEoXy5EcVswXT4+MTkmMSksV3E9ISEoXy5EcVswXT4+MTcmMSksWHE9ISEoXy5EcVswXT4+MTgmMSk7dmFyIGRjLFZjLGRlLEFlLFZnO2RjPVFxP1NxOnVhKDYxMDQwMTMwMSwhMSk7Xy5ZcT1RcT9UcTp1YSg1MTM2NTk1MjMsITEpO1ZjPVFxP1JxfHwhVXE6dWEoNzQ4NDAyMTQ3LCEwKTtkZT1RcT9WcTp1YSg5MTk0NDQ4MjQsITEpO0FlPVFxP1dxOnVhKDkyODg3NTM5OCwhMSk7Vmc9UXE/WHE6dWEoNjgzNzQ5MjAxLCExKTt2YXIgZWMsWnE9Xy51Lm5hdmlnYXRvcjtlYz1acT9acS51c2VyQWdlbnREYXRhfHxudWxsOm51bGw7Xy5wY1siICJdPWZ1bmN0aW9uKCl7fTt2YXIgJHEsYXIsYnI7JHE9amMoKTthcj1pYygpPyExOmhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIik7Xy5KbD1oYygiRWRnZSIpO2JyPWhjKCJHZWNrbyIpJiYhKF8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIikpJiYhKGhjKCJUcmlkZW50Iil8fGhjKCJNU0lFIikpJiYhaGMoIkVkZ2UiKTtfLmNyPV8uYmMoKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoIndlYmtpdCIpIT0tMSYmIWhjKCJFZGdlIik7Xy5kcj1fLmNyJiZoYygiTW9iaWxlIik7bmMoKXx8aGMoIk1hY2ludG9zaCIpO25jKCl8fGhjKCJXaW5kb3dzIik7KG5jKCk/ZWMucGxhdGZvcm09PT0iTGludXgiOmhjKCJMaW51eCIpKXx8bmMoKXx8aGMoIkNyT1MiKTtfLmVyPW5jKCk/ZWMucGxhdGZvcm09PT0iQW5kcm9pZCI6aGMoIkFuZHJvaWQiKTtvYygpO2hjKCJpUGFkIik7aGMoImlQb2QiKTtfLmZyPW9jKCl8fGhjKCJpUGFkIil8fGhjKCJpUG9kIik7Cl8uZ3I9Xy5iYygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigia2Fpb3MiKSE9LTE7a2MoKTtfLmhyPW9jKCl8fGhjKCJpUG9kIik7Xy5pcj1oYygiaVBhZCIpOyFoYygiQW5kcm9pZCIpfHxtYygpfHxrYygpfHxqYygpfHxoYygiU2lsayIpO21jKCk7Xy5Paz1oYygiU2FmYXJpIikmJiEobWMoKXx8KGljKCk/MDpoYygiQ29hc3QiKSl8fGpjKCl8fChpYygpPzA6aGMoIkVkZ2UiKSl8fChpYygpP2ZjKCJNaWNyb3NvZnQgRWRnZSIpOmhjKCJFZGcvIikpfHwoaWMoKT9mYygiT3BlcmEiKTpoYygiT1BSIikpfHxrYygpfHxoYygiU2lsayIpfHxoYygiQW5kcm9pZCIpKSYmIShvYygpfHxoYygiaVBhZCIpfHxoYygiaVBvZCIpKTt2YXIgcmM9e30sdmM9bnVsbDt2YXIgd2M9dm9pZCAwO3ZhciBIYyxZYyxTYztfLkpjPV8ueWMoKTtfLmpyPV8ueWMoKTtIYz1fLnljKCk7Xy5rcj1fLnljKCk7WWM9Xy55YygpO18uT2M9Xy55YygibV9tIiwhMCk7U2M9Xy55YygpO18ubHI9Xy55YygpO3ZhciBucjtfLkFjPV8ueWMoImphcyIsITApO25yPVtdO25yW18uQWNdPTc7Xy5tcj1PYmplY3QuZnJlZXplKG5yKTtfLlBjPXt9O18uemM9e307Xy5vcj1PYmplY3QuZnJlZXplKHt9KTtfLnByPV8uQ2MoYT0+YSE9PW51bGwmJmEhPT12b2lkIDApO3ZhciBFYyxEYztFYz1fLkNjKGE9PnR5cGVvZiBhPT09Im51bWJlciIpO0RjPV8uQ2MoYT0+dHlwZW9mIGE9PT0ic3RyaW5nIik7Xy5ibz1fLkNjKGE9PmEhPW51bGwmJnR5cGVvZiBhPT09Im9iamVjdCImJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iKTtfLnFyPV8uQ2MoYT0+ISFhJiYodHlwZW9mIGE9PT0ib2JqZWN0Inx8dHlwZW9mIGE9PT0iZnVuY3Rpb24iKSk7dmFyIHJyLHNyO18uTWM9Xy5DYyhhPT5hPj1yciYmYTw9c3IpO3JyPUJpZ0ludChOdW1iZXIuTUlOX1NBRkVfSU5URUdFUik7c3I9QmlnSW50KE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtfLnRyPXR5cGVvZiBCaWdJbnQ9PT0iZnVuY3Rpb24iP0JpZ0ludC5hc0ludE46dm9pZCAwO18udXI9dHlwZW9mIEJpZ0ludD09PSJmdW5jdGlvbiI/QmlnSW50LmFzVWludE46dm9pZCAwO18udnI9TnVtYmVyLmlzU2FmZUludGVnZXI7Xy53cj1OdW1iZXIuaXNGaW5pdGU7Xy54cj1NYXRoLnRydW5jO3ZhciBUYz17fTt2YXIgS2M7Xy55cj1fLkZjKDApO18uenI9ZmQoKTtfLkFyPWZkKCk7Xy5Ccj1mZCgpO18uQ3I9ZmQoKTtfLkRyPWZkKCk7Xy5Fcj1mZCgpO18uRnI9ZmQoKTtfLkdyPWZkKCk7Xy5Icj1mZCgpO18uSXI9ZmQoKTtfLkpyPWZkKCk7Xy5Lcj1mZCgpO18uTHI9ZmQoKTtfLk1yPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLkRhPV8uWGMoYSxiLGMsMjA0OCl9dG9KU09OKCl7cmV0dXJuIFVjKHRoaXMpfXNlcmlhbGl6ZShhKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoVWModGhpcyxhKSl9Y2xvbmUoKXt2YXIgYT10aGlzLkRhLGI9YVtfLkFjXXwwO3JldHVybiBfLiRjKHRoaXMsYSxiKT9fLmJkKHRoaXMsYSwhMCk6bmV3IHRoaXMuY29uc3RydWN0b3IoXy5aYyhhLGIsITEpKX19O18uTXIucHJvdG90eXBlW18uT2NdPV8uUGM7dmFyIGpqPXdpbmRvdzsiQVJUSUNMRSBTRUNUSU9OIE5BViBBU0lERSBIMSBIMiBIMyBINCBINSBINiBIRUFERVIgRk9PVEVSIEFERFJFU1MgUCBIUiBQUkUgQkxPQ0tRVU9URSBPTCBVTCBMSCBMSSBETCBEVCBERCBGSUdVUkUgRklHQ0FQVElPTiBNQUlOIERJViBFTSBTVFJPTkcgU01BTEwgUyBDSVRFIFEgREZOIEFCQlIgUlVCWSBSQiBSVCBSVEMgUlAgREFUQSBUSU1FIENPREUgVkFSIFNBTVAgS0JEIFNVQiBTVVAgSSBCIFUgTUFSSyBCREkgQkRPIFNQQU4gQlIgV0JSIE5PQlIgSU5TIERFTCBQSUNUVVJFIFBBUkFNIFRSQUNLIE1BUCBUQUJMRSBDQVBUSU9OIENPTEdST1VQIENPTCBUQk9EWSBUSEVBRCBURk9PVCBUUiBURCBUSCBTRUxFQ1QgREFUQUxJU1QgT1BUR1JPVVAgT1BUSU9OIE9VVFBVVCBQUk9HUkVTUyBNRVRFUiBGSUVMRFNFVCBMRUdFTkQgREVUQUlMUyBTVU1NQVJZIE1FTlUgRElBTE9HIFNMT1QgQ0FOVkFTIEZPTlQgQ0VOVEVSIEFDUk9OWU0gQkFTRUZPTlQgQklHIERJUiBIR1JPVVAgU1RSSUtFIFRUIi5zcGxpdCgiICIpLmNvbmNhdChbIkJVVFRPTiIsCiJJTlBVVCJdKTt2YXIgaWQ9e1FCOiJhbGxvdy1mb3JtcyIsU0I6ImFsbG93LW1vZGFscyIsVEI6ImFsbG93LW9yaWVudGF0aW9uLWxvY2siLFVCOiJhbGxvdy1wb2ludGVyLWxvY2siLFZCOiJhbGxvdy1wb3B1cHMiLFdCOiJhbGxvdy1wb3B1cHMtdG8tZXNjYXBlLXNhbmRib3giLFhCOiJhbGxvdy1wcmVzZW50YXRpb24iLFlCOiJhbGxvdy1zYW1lLW9yaWdpbiIsWkI6ImFsbG93LXNjcmlwdHMiLGFDOiJhbGxvdy10b3AtbmF2aWdhdGlvbiIsYkM6ImFsbG93LXRvcC1uYXZpZ2F0aW9uLWJ5LXVzZXItYWN0aXZhdGlvbiJ9LGxkPWhkKCgpPT5rZCgpKTtfLmc9Xy5uZC5wcm90b3R5cGU7Xy5nLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBfLm5kKHRoaXMud2lkdGgsdGhpcy5oZWlnaHQpfTtfLmcuYXJlYT1mdW5jdGlvbigpe3JldHVybiB0aGlzLndpZHRoKnRoaXMuaGVpZ2h0fTtfLmcuYXNwZWN0UmF0aW89ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aWR0aC90aGlzLmhlaWdodH07Xy5nLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5hcmVhKCl9O18uZy5jZWlsPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmNlaWwodGhpcy53aWR0aCk7dGhpcy5oZWlnaHQ9TWF0aC5jZWlsKHRoaXMuaGVpZ2h0KTtyZXR1cm4gdGhpc307Xy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLmZsb29yKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGguZmxvb3IodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTsKXy5nLnJvdW5kPWZ1bmN0aW9uKCl7dGhpcy53aWR0aD1NYXRoLnJvdW5kKHRoaXMud2lkdGgpO3RoaXMuaGVpZ2h0PU1hdGgucm91bmQodGhpcy5oZWlnaHQpO3JldHVybiB0aGlzfTtfLmcuc2NhbGU9ZnVuY3Rpb24oYSxiKXt0aGlzLndpZHRoKj1hO3RoaXMuaGVpZ2h0Kj10eXBlb2YgYj09PSJudW1iZXIiP2I6YTtyZXR1cm4gdGhpc307dmFyIHJkPSJjb25zdHJ1Y3RvciBoYXNPd25Qcm9wZXJ0eSBpc1Byb3RvdHlwZU9mIHByb3BlcnR5SXNFbnVtZXJhYmxlIHRvTG9jYWxlU3RyaW5nIHRvU3RyaW5nIHZhbHVlT2YiLnNwbGl0KCIgIik7dmFyIE9wPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE9PT1QcCYmYnx8IiJ9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5qfX0sUHA9e307bmV3IE9wKFBwLCIiKTtfLmc9dWQucHJvdG90eXBlO18uZy5nZXRFbGVtZW50c0J5VGFnTmFtZT1mdW5jdGlvbihhLGIpe3JldHVybihifHx0aGlzLmopLmdldEVsZW1lbnRzQnlUYWdOYW1lKFN0cmluZyhhKSl9O18uZy5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGEpe3JldHVybiBCZCh0aGlzLmosYSl9O18uZy5jcmVhdGVUZXh0Tm9kZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5qLmNyZWF0ZVRleHROb2RlKFN0cmluZyhhKSl9O18uZy5hcHBlbmRDaGlsZD1mdW5jdGlvbihhLGIpe2EuYXBwZW5kQ2hpbGQoYil9O18uZy5hcHBlbmQ9ZnVuY3Rpb24oYSxiKXtBZChfLnZkKGEpLGEsYXJndW1lbnRzKX07Xy5nLmNhbkhhdmVDaGlsZHJlbj1mdW5jdGlvbihhKXtpZihhLm5vZGVUeXBlIT0xKXJldHVybiExO3N3aXRjaChhLnRhZ05hbWUpe2Nhc2UgIkFQUExFVCI6Y2FzZSAiQVJFQSI6Y2FzZSAiQkFTRSI6Y2FzZSAiQlIiOmNhc2UgIkNPTCI6Y2FzZSAiQ09NTUFORCI6Y2FzZSAiRU1CRUQiOmNhc2UgIkZSQU1FIjpjYXNlICJIUiI6Y2FzZSAiSU1HIjpjYXNlICJJTlBVVCI6Y2FzZSAiSUZSQU1FIjpjYXNlICJJU0lOREVYIjpjYXNlICJLRVlHRU4iOmNhc2UgIkxJTksiOmNhc2UgIk5PRlJBTUVTIjpjYXNlICJOT1NDUklQVCI6Y2FzZSAiTUVUQSI6Y2FzZSAiT0JKRUNUIjpjYXNlICJQQVJBTSI6Y2FzZSAiU0NSSVBUIjpjYXNlICJTT1VSQ0UiOmNhc2UgIlNUWUxFIjpjYXNlICJUUkFDSyI6Y2FzZSAiV0JSIjpyZXR1cm4hMX1yZXR1cm4hMH07Cl8uZy5yZW1vdmVOb2RlPV8uRGQ7Xy5nLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEmJmI/YT09Ynx8YS5jb250YWlucyhiKTohMX07Xy5nLmlzRm9jdXNhYmxlPV8uRmQ7dmFyIGlqPShuZXcgRGF0ZSkuZ2V0VGltZSgpO18uZz1MZC5wcm90b3R5cGU7Xy5nLmlzRW5hYmxlZD1mdW5jdGlvbigpe2lmKCFfLnUubmF2aWdhdG9yLmNvb2tpZUVuYWJsZWQpcmV0dXJuITE7aWYoIXRoaXMuaXNFbXB0eSgpKXJldHVybiEwO3RoaXMuc2V0KCJURVNUQ09PS0lFU0VOQUJMRUQiLCIxIix7dmo6NjB9KTtpZih0aGlzLmdldCgiVEVTVENPT0tJRVNFTkFCTEVEIikhPT0iMSIpcmV0dXJuITE7dGhpcy5yZW1vdmUoIlRFU1RDT09LSUVTRU5BQkxFRCIpO3JldHVybiEwfTsKXy5nLnNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9ITE7aWYodHlwZW9mIGM9PT0ib2JqZWN0Iil7dmFyIGU9Yy5zYW1lU2l0ZTtkPWMuc2VjdXJlfHwhMTt2YXIgZj1jLmRvbWFpbnx8dm9pZCAwO3ZhciBoPWMucGF0aHx8dm9pZCAwO3ZhciBrPWMudmp9aWYoL1s7PVxzXS8udGVzdChhKSl0aHJvdyBFcnJvcigiRGAiK2EpO2lmKC9bO1xyXG5dLy50ZXN0KGIpKXRocm93IEVycm9yKCJFYCIrYik7az09PXZvaWQgMCYmKGs9LTEpO2M9Zj8iO2RvbWFpbj0iK2Y6IiI7aD1oPyI7cGF0aD0iK2g6IiI7ZD1kPyI7c2VjdXJlIjoiIjtrPWs8MD8iIjprPT0wPyI7ZXhwaXJlcz0iKyhuZXcgRGF0ZSgxOTcwLDEsMSkpLnRvVVRDU3RyaW5nKCk6IjtleHBpcmVzPSIrKG5ldyBEYXRlKERhdGUubm93KCkrayoxRTMpKS50b1VUQ1N0cmluZygpO3RoaXMuai5jb29raWU9YSsiPSIrYitjK2graytkKyhlIT1udWxsPyI7c2FtZXNpdGU9IitlOiIiKX07Cl8uZy5nZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hKyI9IixkPSh0aGlzLmouY29va2llfHwiIikuc3BsaXQoIjsiKTtmb3IobGV0IGU9MCxmO2U8ZC5sZW5ndGg7ZSsrKXtmPWRbZV0udHJpbSgpO2lmKGYubGFzdEluZGV4T2YoYywwKT09MClyZXR1cm4gZi5zbGljZShjLmxlbmd0aCk7aWYoZj09YSlyZXR1cm4iIn1yZXR1cm4gYn07Xy5nLnJlbW92ZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5nZXQoYSkhPT12b2lkIDA7dGhpcy5zZXQoYSwiIix7dmo6MCxwYXRoOmIsZG9tYWluOmN9KTtyZXR1cm4gZH07Xy5nLnJkPWZ1bmN0aW9uKCl7cmV0dXJuIE1kKHRoaXMpLmtleXN9O18uZy5NYz1mdW5jdGlvbigpe3JldHVybiBNZCh0aGlzKS52YWx1ZXN9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuai5jb29raWV9O18uZy5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPU1kKHRoaXMpLmtleXM7Zm9yKGxldCBiPWEubGVuZ3RoLTE7Yj49MDtiLS0pdGhpcy5yZW1vdmUoYVtiXSl9OwpfLkxqPW5ldyBMZCh0eXBlb2YgZG9jdW1lbnQ9PSJ1bmRlZmluZWQiP251bGw6ZG9jdW1lbnQpO3ZhciBSZDtfLk5yPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dmFyIGM9Y3x8W107dGhpcy52PWE7dGhpcy5vPWJ8fG51bGw7dGhpcy5qPVtdO3RoaXMuaj10aGlzLmouY29uY2F0KGMpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMudn19O18uT3I9bmV3IF8uTnIoIm43M3F3ZiIsIm43M3F3ZiIpO18uYWUucHJvdG90eXBlLlk9ITE7Xy5hZS5wcm90b3R5cGUuaWE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ZfTtfLmFlLnByb3RvdHlwZS5kaXNwb3NlPWZ1bmN0aW9uKCl7dGhpcy5ZfHwodGhpcy5ZPSEwLHRoaXMubGEoKSl9O18uYWUucHJvdG90eXBlW1N5bWJvbC5kaXNwb3NlXT1mdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfTtfLmFlLnByb3RvdHlwZS5hZGRPbkRpc3Bvc2VDYWxsYmFjaz1mdW5jdGlvbihhLGIpe3RoaXMuWT9iIT09dm9pZCAwP2EuY2FsbChiKTphKCk6KHRoaXMuS3x8KHRoaXMuSz1bXSksYiYmKGE9YS5iaW5kKGIpKSx0aGlzLksucHVzaChhKSl9O18uYWUucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7aWYodGhpcy5LKWZvcig7dGhpcy5LLmxlbmd0aDspdGhpcy5LLnNoaWZ0KCkoKX07dmE9dmF8fHt9O18uSGEoYmUsXy5hZSk7YmUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt9O2NlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGEpe3RoaXMuaiYmKHRoaXMuai5jYWxsKHRoaXMub3x8bnVsbCxhKSx0aGlzLmo9dGhpcy5vPW51bGwpfTtjZS5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPW51bGx9O3ZhLndrPWNlO18uSGEoZWUsXy5hZSk7Xy5nPWVlLnByb3RvdHlwZTtfLmcuUGo9bnVsbDtfLmcuT3k9YmU7Xy5nLkFqPW51bGw7Xy5nLnN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuan07Xy5nLmdldElkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRH07Xy5nLmlzTG9hZGVkPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLkFqfTtfLmcueWU9ZnVuY3Rpb24oKXt0aGlzLkFqPW5ldyBiZX07Xy5nLm9uTG9hZD1mdW5jdGlvbihhKXt2YXIgYj1uZXcgdGhpcy5PeTtiLmluaXRpYWxpemUoYSgpKTt0aGlzLkFqPWI7aWYodGhpcy5vJiYoYj1pZSh0aGlzLm8sYSgpKSkpcmV0dXJuIGI7aWYodGhpcy5CJiYoYT1pZSh0aGlzLkIsYSgpKSkpcmV0dXJuIGE7dGhpcy52JiYodGhpcy52Lmxlbmd0aD0wKTtyZXR1cm4gbnVsbH07Cl8uZy5vbkVycm9yPWZ1bmN0aW9uKGEpe3RoaXMudiYmKGE9aWUodGhpcy52LGEpKSYmXy4kYihFcnJvcigiR2AiK2EpKTt0aGlzLm8mJih0aGlzLm8ubGVuZ3RoPTApO3RoaXMuQiYmKHRoaXMuQi5sZW5ndGg9MCl9O18uZy5sYT1mdW5jdGlvbigpe2VlLnpiLmxhLmNhbGwodGhpcyk7Xy5aZCh0aGlzLkFqKTt0aGlzLlBqPW51bGx9O3ZhLk9nPWVlO3ZhciBRZz17RVJST1I6ImVycm9yIixJRExFOiJpZGxlIixNczoiYWN0aXZlIixpdToidXNlcklkbGUiLGh1OiJ1c2VyQWN0aXZlIn07Xy5nPWplLnByb3RvdHlwZTtfLmcuUnI9ZnVuY3Rpb24oKXt9O18uZy5UaD1mdW5jdGlvbigpe307Xy5nLm5pPWZ1bmN0aW9uKCl7dGhyb3cgRXJyb3IoIkgiKTt9O18uZy5BZz1mdW5jdGlvbigpe3Rocm93IEVycm9yKCJJIik7fTtfLmcuVnA9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiExfTtfLmcuZW49ZnVuY3Rpb24oKXt9O18uZy5abj1mdW5jdGlvbigpe307dmFyIFByPWNsYXNze2luaXQoKXtfLkZhKCJfRl9pbnN0YWxsQ3NzIixhPT57YSYma2UoYSl9KX19O3ZhciBtZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj17fTt0aGlzLm89IiI7dGhpcy52PXt9fXRvU3RyaW5nKCl7dmFyIGE9dGhpcy5vK3ZlKHRoaXMpLGI9Xy5VYih0aGlzLnYpLGM9IiI7YiE9IiImJihjPSI/IitiKTtyZXR1cm4gYStjfWNsb25lKCl7dmFyIGE9bmV3IG1lO2Euaj17Li4udGhpcy5qfTthLm89dGhpcy5vO2Eudj17Li4udGhpcy52fTtyZXR1cm4gYX19LG5lPXt2RzoiayIsRUM6ImNrIix6RjoibSIsWUM6ImV4bSIsV0M6ImV4Y20iLExCOiJhbSIsUkI6ImFtYyIsbUY6Im1tIix0RzoicnQiLGJGOiJkIixYQzoiZWQiLGlIOiJzdiIsSkM6ImRlb2IiLHNDOiJjYiIsd0M6ImNjYiIsdEM6ImNiaSIsWUc6InJzIixCRzoic2RjaCIsY0Y6ImltIixLQzoiZGciLFVDOiJiciIsVEM6ImJyLWQiLFZDOiJyYiIsSUg6InpzIixFSDoid3QiLFpDOiJlZSIsaEg6InNtIix4RjoibWQiLFhFOiJnc3Ntb2R1bGVzZXRwcm90byIsQ0g6InVqZyIsQkg6InNwIixhRjoiaWNoYyIsWEc6InNsayIsCk1DOiJkdGkiLExDOiJkYndoIixlRjoiaWMifSxRcj1SZWdFeHAoIl4oZ2FwaVxcLik/bG9hZGVkKF9nfF9oKT8oX1swLTlhLXpdKykrJCIpLFJyPVJlZ0V4cCgiXlthLXpBLVowLTktXypdKyQiKTt2YXIgR2U9ITE7Xy55Zz10eXBlb2YgQXN5bmNDb250ZXh0IT09InVuZGVmaW5lZCImJnR5cGVvZiBBc3luY0NvbnRleHQuU25hcHNob3Q9PT0iZnVuY3Rpb24iP2E9PmEmJkFzeW5jQ29udGV4dC5TbmFwc2hvdC53cmFwKGEpOmE9PmE7Xy5KZS5wcm90b3R5cGUuc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcy5vPSEwfTtfLkplLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD1mdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMH07Xy5IYShLZSxfLkplKTsKS2UucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnR5cGU9YS50eXBlLGQ9YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTpudWxsO3RoaXMudGFyZ2V0PWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7dGhpcy5jdXJyZW50VGFyZ2V0PWI7Yj1hLnJlbGF0ZWRUYXJnZXQ7Ynx8KGM9PSJtb3VzZW92ZXIiP2I9YS5mcm9tRWxlbWVudDpjPT0ibW91c2VvdXQiJiYoYj1hLnRvRWxlbWVudCkpO3RoaXMucmVsYXRlZFRhcmdldD1iO2Q/KHRoaXMuY2xpZW50WD1kLmNsaWVudFghPT12b2lkIDA/ZC5jbGllbnRYOmQucGFnZVgsdGhpcy5jbGllbnRZPWQuY2xpZW50WSE9PXZvaWQgMD9kLmNsaWVudFk6ZC5wYWdlWSx0aGlzLnNjcmVlblg9ZC5zY3JlZW5YfHwwLHRoaXMuc2NyZWVuWT1kLnNjcmVlbll8fDApOih0aGlzLm9mZnNldFg9Xy5jcnx8YS5vZmZzZXRYIT09dm9pZCAwP2Eub2Zmc2V0WDphLmxheWVyWCx0aGlzLm9mZnNldFk9Cl8uY3J8fGEub2Zmc2V0WSE9PXZvaWQgMD9hLm9mZnNldFk6YS5sYXllclksdGhpcy5jbGllbnRYPWEuY2xpZW50WCE9PXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWCx0aGlzLmNsaWVudFk9YS5jbGllbnRZIT09dm9pZCAwP2EuY2xpZW50WTphLnBhZ2VZLHRoaXMuc2NyZWVuWD1hLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPWEuc2NyZWVuWXx8MCk7dGhpcy5idXR0b249YS5idXR0b247dGhpcy5rZXlDb2RlPWEua2V5Q29kZXx8MDt0aGlzLmtleT1hLmtleXx8IiI7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwoYz09ImtleXByZXNzIj9hLmtleUNvZGU6MCk7dGhpcy5jdHJsS2V5PWEuY3RybEtleTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLnNoaWZ0S2V5PWEuc2hpZnRLZXk7dGhpcy5tZXRhS2V5PWEubWV0YUtleTt0aGlzLnBvaW50ZXJJZD1hLnBvaW50ZXJJZHx8MDt0aGlzLnBvaW50ZXJUeXBlPWEucG9pbnRlclR5cGU7dGhpcy5zdGF0ZT1hLnN0YXRlO3RoaXMudGltZVN0YW1wPQphLnRpbWVTdGFtcDt0aGlzLmo9YTthLmRlZmF1bHRQcmV2ZW50ZWQmJktlLnpiLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyl9O0tlLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXtLZS56Yi5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKTt0aGlzLmouc3RvcFByb3BhZ2F0aW9uP3RoaXMuai5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLmouY2FuY2VsQnViYmxlPSEwfTtLZS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtLZS56Yi5wcmV2ZW50RGVmYXVsdC5jYWxsKHRoaXMpO3ZhciBhPXRoaXMuajthLnByZXZlbnREZWZhdWx0P2EucHJldmVudERlZmF1bHQoKTphLnJldHVyblZhbHVlPSExfTt2YXIgVWU9ImNsb3N1cmVfbGlzdGVuYWJsZV8iKyhNYXRoLnJhbmRvbSgpKjFFNnwwKTt2YXIgTGU9MDtPZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9YS50b1N0cmluZygpO2E9dGhpcy5saXN0ZW5lcnNbZl07YXx8KGE9dGhpcy5saXN0ZW5lcnNbZl09W10sdGhpcy5qKyspO3ZhciBoPVFlKGEsYixkLGUpO2g+LTE/KGI9YVtoXSxjfHwoYi56aT0hMSkpOihiPW5ldyBNZShiLHRoaXMuc3JjLGYsISFkLGUpLGIuemk9YyxhLnB1c2goYikpO3JldHVybiBifTtPZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEsYixjLGQpe2E9YS50b1N0cmluZygpO2lmKCEoYSBpbiB0aGlzLmxpc3RlbmVycykpcmV0dXJuITE7dmFyIGU9dGhpcy5saXN0ZW5lcnNbYV07Yj1RZShlLGIsYyxkKTtyZXR1cm4gYj4tMT8oTmUoZVtiXSksQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGUsYiwxKSxlLmxlbmd0aD09MCYmKGRlbGV0ZSB0aGlzLmxpc3RlbmVyc1thXSx0aGlzLmotLSksITApOiExfTt2YXIgWGU9ImNsb3N1cmVfbG1fIisoTWF0aC5yYW5kb20oKSoxRTZ8MCksZWY9e30sJGU9MCxmZj0iX19jbG9zdXJlX2V2ZW50c19mbl8iKyhNYXRoLnJhbmRvbSgpKjFFOT4+PjApO18uSGEoXy5nZixfLmFlKTtfLmdmLnByb3RvdHlwZVtVZV09ITA7Xy5nPV8uZ2YucHJvdG90eXBlO18uZy5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGEsYixjLGQpe18uU2UodGhpcyxhLGIsYyxkKX07Xy5nLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCl7Xy5jZih0aGlzLGEsYixjLGQpfTsKXy5nLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLk07aWYoYylmb3IoYj1bXTtjO2M9Yy5NKWIucHVzaChjKTtjPXRoaXMuRmE7dmFyIGQ9YS50eXBlfHxhO2lmKHR5cGVvZiBhPT09InN0cmluZyIpYT1uZXcgXy5KZShhLGMpO2Vsc2UgaWYoYSBpbnN0YW5jZW9mIF8uSmUpYS50YXJnZXQ9YS50YXJnZXR8fGM7ZWxzZXt2YXIgZT1hO2E9bmV3IF8uSmUoZCxjKTtzZChhLGUpfWU9ITA7dmFyIGY7aWYoYilmb3IoZj1iLmxlbmd0aC0xOyFhLm8mJmY+PTA7Zi0tKXt2YXIgaD1hLmN1cnJlbnRUYXJnZXQ9YltmXTtlPWhmKGgsZCwhMCxhKSYmZX1hLm98fChoPWEuY3VycmVudFRhcmdldD1jLGU9aGYoaCxkLCEwLGEpJiZlLGEub3x8KGU9aGYoaCxkLCExLGEpJiZlKSk7aWYoYilmb3IoZj0wOyFhLm8mJmY8Yi5sZW5ndGg7ZisrKWg9YS5jdXJyZW50VGFyZ2V0PWJbZl0sZT1oZihoLGQsITEsYSkmJmU7cmV0dXJuIGV9OwpfLmcubGE9ZnVuY3Rpb24oKXtfLmdmLnpiLmxhLmNhbGwodGhpcyk7dGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoKTt0aGlzLk09bnVsbH07Xy5nLmxpc3Rlbj1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vLmFkZChTdHJpbmcoYSksYiwhMSxjLGQpfTtfLmcucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGEpe2lmKHRoaXMubyl7dmFyIGI9dGhpcy5vO2E9YSYmYS50b1N0cmluZygpO2xldCBjPTA7Zm9yKGxldCBkIGluIGIubGlzdGVuZXJzKWlmKCFhfHxkPT1hKXtsZXQgZT1iLmxpc3RlbmVyc1tkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKykrK2MsTmUoZVtmXSk7ZGVsZXRlIGIubGlzdGVuZXJzW2RdO2Iuai0tfWI9Y31lbHNlIGI9MDtyZXR1cm4gYn07dmFyIGtmPWNsYXNzIGV4dGVuZHMgXy5nZntjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMuRD10aGlzLmo9MDt0aGlzLkRjPWE/P3twYjooYixjKT0+c2V0VGltZW91dChiLGMpLEFhOmI9PntjbGVhclRpbWVvdXQoYil9fTt0aGlzLmlzT25saW5lPXdpbmRvdy5uYXZpZ2F0b3I/Lm9uTGluZT8/ITA7dGhpcy52PWFzeW5jKCk9Pnthd2FpdCBtZih0aGlzKX07d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLHRoaXMudik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9ubGluZSIsdGhpcy52KTt0aGlzLkR8fG5mKHRoaXMpfWRpc3Bvc2UoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsdGhpcy52KTt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib25saW5lIix0aGlzLnYpO3RoaXMuRGMuQWEodGhpcy5EKTtkZWxldGUga2YuaW5zdGFuY2V9U2IoKXtyZXR1cm4gdGhpcy5pc09ubGluZX19O3ZhciBxZj1udWxsLHBmPW5ldyBNYXA7dmFyIFNyPWE9PnthPWEuY2xvbmUoKTtEZShhKTtvZShhLCJkZyIsbnVsbCk7b2UoYSwiZCIsIjAiKTt3ZShhLG51bGwpO3hlKGEsbnVsbCk7cmV0dXJuIGF9LFRyPSEwLFVyPShhLGIse2Nzc1Jvd0tleTpjLEtlOmQsWWQ6ZSxjYWxsYmFjazpmfT17fSk9PntpZihiKWZvcihsZXQgaCBvZiBiKWlmKCFSci50ZXN0KGgpKXRocm93IEVycm9yKCJKYCIraCk7b2UoYSwibSIsYi5qb2luKCIsIikpO2UmJnplKGEsZSk7YyYmKG9lKGEsImNrIixjKSxkP29lKGEsInJzIixkKTpUciYmKFRyPSExKSk7aWYoZil7aWYoZiE9bnVsbCYmIVFyLnRlc3QoZikpdGhyb3cgRXJyb3IoIktgIitmKTtvZShhLCJjYiIsZil9YT1hLnRvU3RyaW5nKCk7YS5sYXN0SW5kZXhPZigiLyIsMCk9PTAmJihiPV8uTWIoZG9jdW1lbnQubG9jYXRpb24uaHJlZiksYT1fLkliKGJbMV0sYlsyXSxiWzNdLGJbNF0pK2EpO3JldHVybiBfLlRhKGEpfSxuZz0oYSxiLHtsbjpjPVtdLGNzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofT0Ke30pPT57YT1TcihhKTt4ZShhLGMpO3JldHVybiBVcihhLGIse2Nzc1Jvd0tleTpkLEtlOmUsWWQ6ZixjYWxsYmFjazpofSl9LG1nPShhLGIse21uOmM9W10sbG46ZD1bXSxjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a309e30pPT57YT1TcihhKTtvZShhLCJkIiwiMSIpO3dlKGEsYyk7eGUoYSxkKTtyZXR1cm4gVXIoYSxiLHtjc3NSb3dLZXk6ZSxLZTpmLFlkOmgsY2FsbGJhY2s6a30pfTt2YXIgVnI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLnY9YTt0aGlzLkI9Yjt0aGlzLm89MDt0aGlzLmo9bnVsbH1nZXQoKXtpZih0aGlzLm8+MCl7dGhpcy5vLS07dmFyIGE9dGhpcy5qO3RoaXMuaj1hLm5leHQ7YS5uZXh0PW51bGx9ZWxzZSBhPXRoaXMudigpO3JldHVybiBhfX07dmFyIFdyPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5vPXRoaXMuaj1udWxsfWFkZChhLGIpe3ZhciBjPXZmLmdldCgpO2Muc2V0KGEsYik7dGhpcy5vP3RoaXMuby5uZXh0PWM6dGhpcy5qPWM7dGhpcy5vPWN9cmVtb3ZlKCl7dmFyIGE9bnVsbDt0aGlzLmomJihhPXRoaXMuaix0aGlzLmo9dGhpcy5qLm5leHQsdGhpcy5qfHwodGhpcy5vPW51bGwpLGEubmV4dD1udWxsKTtyZXR1cm4gYX19LHZmPW5ldyBWcigoKT0+bmV3IFhyLGE9PmEucmVzZXQoKSksWHI9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm5leHQ9dGhpcy5zY29wZT10aGlzLmZuPW51bGx9c2V0KGEsYil7dGhpcy5mbj1hO3RoaXMuc2NvcGU9Yjt0aGlzLm5leHQ9bnVsbH1yZXNldCgpe3RoaXMubmV4dD10aGlzLnNjb3BlPXRoaXMuZm49bnVsbH19O3ZhciBZcix3Zj0hMSx1Zj1uZXcgV3IsR2Y9KGEsYik9PntZcnx8WnIoKTt3Znx8KFlyKCksd2Y9ITApO3VmLmFkZChhLGIpfSxacj0oKT0+e3ZhciBhPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO1lyPSgpPT57YS50aGVuKHhmKX19O0NmLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuY29udGV4dD10aGlzLmo9dGhpcy5vPXRoaXMuY2hpbGQ9bnVsbDt0aGlzLnY9ITF9O3ZhciBEZj1uZXcgVnIoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IENmfSxmdW5jdGlvbihhKXthLnJlc2V0KCl9KTtfLkJmLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gUWYodGhpcywoMCxfLnlnKSh0eXBlb2YgYT09PSJmdW5jdGlvbiI/YTpudWxsKSwoMCxfLnlnKSh0eXBlb2YgYj09PSJmdW5jdGlvbiI/YjpudWxsKSxjKX07Xy55ZihfLkJmKTtfLmc9Xy5CZi5wcm90b3R5cGU7Xy5nLmZpbmFsbHk9ZnVuY3Rpb24oYSl7YT0oMCxfLnlnKShhKTtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntLZih0aGlzLGQ9PnthKCk7YihkKX0sZD0+e2EoKTtjKGQpfSl9KX07Xy5nLktnPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFFmKHRoaXMsbnVsbCwoMCxfLnlnKShhKSxiKX07Xy5nLmNhdGNoPV8uQmYucHJvdG90eXBlLktnOwpfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuaj09MCl7bGV0IGI9bmV3IF8uUGYoYSk7R2YoZnVuY3Rpb24oKXtMZih0aGlzLGIpfSx0aGlzKX19O18uZy5uQj1mdW5jdGlvbihhKXt0aGlzLmo9MDtfLkFmKHRoaXMsMixhKX07Xy5nLm9CPWZ1bmN0aW9uKGEpe3RoaXMuaj0wO18uQWYodGhpcywzLGEpfTtfLmcudHQ9ZnVuY3Rpb24oKXtmb3IodmFyIGE7YT1NZih0aGlzKTspTmYodGhpcyxhLHRoaXMuaix0aGlzLkkpO3RoaXMuSz0hMX07Xy5VZj1fLiRiO18uSGEoXy5QZixfLkxhKTtfLlBmLnByb3RvdHlwZS5uYW1lPSJjYW5jZWwiO18uSGEoWGYsXy5MYSk7WGYucHJvdG90eXBlLm5hbWU9IlhockVycm9yIjtfLkhhKFlmLFhmKTtZZi5wcm90b3R5cGUubmFtZT0iWGhySHR0cEVycm9yIjtfLkhhKFpmLFhmKTtaZi5wcm90b3R5cGUubmFtZT0iWGhyVGltZW91dEVycm9yIjtfLmRoPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQ9ITEsZT0hMSl7dGhpcy5ZPXFlKF8uVWEoYSkudG9TdHJpbmcoKSwhMCk7dGhpcy5GYT1iO3RoaXMueWE9Yzt0aGlzLkQ9ZDt0aGlzLkI9e307dGhpcy5NPW5ldyBNYXA7dGhpcy5aPVtdO3RoaXMub2E9ITA7dGhpcy5oYT0oYT10ZSh0aGlzLlksImV4Y20iKSk/YS5zcGxpdCgiLCIpOltdO3RoaXMuVmQ9ZTt0aGlzLmZpPSExO3RoaXMuV2c9ImFub255bW91cyI7dGhpcy5kaT00MDQzO3RoaXMuZ2E9ZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3RoaXMudj10aGlzLkk9bnVsbDt0aGlzLkViPSEwO0hlKCk7dGhpcy5YPW51bGw7Xy5hZyh0aGlzLHllKHRoaXMuWSkpO3RoaXMuZmV0Y2hQcmlvcml0eT12b2lkIDA7dGhpcy5NYT0hMTt0aGlzLlUoKX1hc3luYyBRYSgpe3Rocm93IEVycm9yKCJUIik7fVUoKXt9bG9hZChhLGIsYyxkLGU9Yil7Xy5VYShhKTt2YXIgZj10aGlzLmZpLGg9dGhpcy5XZyxrPXRoaXMuZmV0Y2hQcmlvcml0eSwKbD1fLkNkKCJTQ1JJUFQiKTtfLm9iKGwsYSk7ZiYmKGwuY3Jvc3NPcmlnaW49aCk7bC5hc3luYz0hMTtrJiZsLnNldEF0dHJpYnV0ZSgiZmV0Y2hwcmlvcml0eSIsayk7Xy5hZyh0aGlzLGIpO18ucGcodGhpcyxhLGwsYixjLGQsZSl9fTt2YXIgcWc9bmV3IFVpbnQ4QXJyYXkoMTIzKSxLZz0hMTt2YXIgTGc9W107Xy5nPXRnLnByb3RvdHlwZTtfLmcuY2FuY2VsPWZ1bmN0aW9uKGEpe2lmKHRoaXMuail0aGlzLnYgaW5zdGFuY2VvZiB0ZyYmdGhpcy52LmNhbmNlbCgpO2Vsc2V7aWYodGhpcy5vKXtsZXQgYj10aGlzLm87ZGVsZXRlIHRoaXMubzthP2IuY2FuY2VsKGEpOihiLlktLSxiLlk8PTAmJmIuY2FuY2VsKCkpfXRoaXMuWj90aGlzLlouY2FsbCh0aGlzLlUsdGhpcyk6dGhpcy5NPSEwO3RoaXMuanx8KGE9bmV3IEZnKHRoaXMpLHhnKHRoaXMpLHZnKHRoaXMsITEsYSkpfX07Xy5nLnNwPWZ1bmN0aW9uKGEsYil7dGhpcy5JPSExO3ZnKHRoaXMsYSxiKX07Xy5nLmNhbGxiYWNrPWZ1bmN0aW9uKGEpe3hnKHRoaXMpO3ZnKHRoaXMsITAsYSl9O18uZy5maW5hbGx5PWZ1bmN0aW9uKGEpe3JldHVybiBFZyhuZXcgUHJvbWlzZSgoYixjKT0+e3pnKHRoaXMsZD0+e2EoKTtiKGQpfSxkPT57YSgpO2MoZCl9KX0pKX07Cl8uZy50aGVuPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9bmV3IF8uQmYoZnVuY3Rpb24oaCxrKXtlPWg7ZD1rfSk7emcodGhpcyxlLGZ1bmN0aW9uKGgpe2ggaW5zdGFuY2VvZiBGZz9mLmNhbmNlbCgpOmQoaCk7cmV0dXJuIENnfSx0aGlzKTtyZXR1cm4gZi50aGVuKGEsYixjKX07Xy55Zih0Zyk7dGcucHJvdG90eXBlLmlzRXJyb3I9ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFcnJvcn07dmFyIENnPXt9O18uSGEod2csXy5MYSk7d2cucHJvdG90eXBlLm1lc3NhZ2U9IkRlZmVycmVkIGhhcyBhbHJlYWR5IGZpcmVkIjt3Zy5wcm90b3R5cGUubmFtZT0iQWxyZWFkeUNhbGxlZEVycm9yIjtfLkhhKEZnLF8uTGEpO0ZnLnByb3RvdHlwZS5tZXNzYWdlPSJEZWZlcnJlZCB3YXMgY2FuY2VsZWQiO0ZnLnByb3RvdHlwZS5uYW1lPSJDYW5jZWxlZEVycm9yIjsKRGcucHJvdG90eXBlLnRocm93RXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgQmdbdGhpcy5qXTt0aHJvdyB0aGlzLm87fTt2YXIgQmc9e307dmFyIEdnPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGMsZCxlKXtzdXBlcigpO3RoaXMubmFtZT0iTW9kdWxlTG9hZEZhaWx1cmUiO3RoaXMudHlwZT1hO3RoaXMuc3RhdHVzPWI7dGhpcy5tbj1jO3RoaXMudXJsPWQ7dGhpcy5jYXVzZT1lO3RoaXMubWVzc2FnZT10aGlzLnRvU3RyaW5nKCl9dG9TdHJpbmcoKXtyZXR1cm5gJHtIZyh0aGlzKX0gKCR7dGhpcy5zdGF0dXMhPXZvaWQgMD90aGlzLnN0YXR1czoiPyJ9KWB9fTt2YS5vYj1HZzt2YS5vYi5UeXBlPXtwbzowLHBrOjEsVElNRU9VVDoyLGhvOjMsdWs6NH07Xy5IYShJZyxqZSk7Xy5IYShKZyxfLkxhKTtfLmc9SWcucHJvdG90eXBlO18uZy5Scj1mdW5jdGlvbihhKXt0aGlzLm9hPWF9OwpfLmcuVGg9ZnVuY3Rpb24oYSxiKXtpZighKHRoaXMgaW5zdGFuY2VvZiBJZykpdGhpcy5UaChhLGIpO2Vsc2UgaWYodHlwZW9mIGE9PT0ic3RyaW5nIil7aWYoYS5zdGFydHNXaXRoKCJkJCIpKXthPWEuc3Vic3RyaW5nKDIpO2Zvcih2YXIgYz1bXSxkPTAsZT1hLmluZGV4T2YoIi8iKSxmPTAsaD0hMSxrPTA7Oyl7dmFyIGw9aD9hLnN1YnN0cmluZyhmKTphLnN1YnN0cmluZyhmLGUpO2lmKGwubGVuZ3RoPT09MClkKyssZj0ic3kiK2QudG9TdHJpbmcoMzYpLGw9W107ZWxzZXt2YXIgbT1sLmluZGV4T2YoIjoiKTtpZihtPDApZj1sLGw9W107ZWxzZSBpZihtPT09bC5sZW5ndGgtMSlmPWwuc3Vic3RyaW5nKDAsbSksbD1BcnJheShjW2stMV0pO2Vsc2V7Zj1sLnN1YnN0cmluZygwLG0pO2w9bC5zdWJzdHJpbmcobSsxKS5zcGxpdCgiLCIpO209aztmb3IobGV0IG49MDtuPGwubGVuZ3RoO24rKyltLT1sW25dLmxlbmd0aD09PTA/MTpOdW1iZXIobFtuXSksbFtuXT1jW21dfW09MDtpZihmLmxlbmd0aD09PQowKW09MTtlbHNlIGlmKGYuY2hhckF0KDApPT09IisifHxmLmNoYXJBdCgwKT09PSItIiltPU51bWJlcihmKTttIT09MCYmKGQrPW0sZj0ic3kiK2QudG9TdHJpbmcoMzYpKX1jLnB1c2goZik7TmcodGhpcyxmLGwpO2lmKGgpYnJlYWs7Zj1lKzE7ZT1hLmluZGV4T2YoIi8iLGYpO2U9PT0tMSYmKGg9ITApO2srK310aGlzLmhhPWN9ZWxzZSBpZihhLnN0YXJ0c1dpdGgoInAkIikpT2codGhpcyxhKTtlbHNle2E9YS5zcGxpdCgiLyIpO2M9W107Zm9yKGQ9MDtkPGEubGVuZ3RoO2QrKyl7az1hW2RdLnNwbGl0KCI6Iik7ZT1rWzBdO2g9W107aWYoa1sxXSlmb3IoaD1rWzFdLnNwbGl0KCIsIiksaz0wO2s8aC5sZW5ndGg7aysrKWhba109Y1twYXJzZUludChoW2tdLDM2KV07Yy5wdXNoKGUpO05nKHRoaXMsZSxoKX10aGlzLmhhPWN9aWYoYiYmYi5sZW5ndGgpe2ZvcihsZXQgbiBvZiBiKXRoaXMuQi5hZGQobik7dGhpcy55YT1iW2IubGVuZ3RoLTFdfWVsc2UgdGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCk7Ck9iamVjdC5mcmVlemUodGhpcy5oYSk7dGhpcy5vPT10aGlzLlomJih0aGlzLm89bnVsbCwoYj10aGlzLloub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLFJnKHRoaXMpKX19O18uZy5MYT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ELmdldChhKX07Xy5nLm5pPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5MYShhKTtjJiZjLmlzTG9hZGVkKCk/dGhpcy5sb2FkKGIpOnRoaXMuaiBpbnN0YW5jZW9mIE1hcD8oYz10aGlzLmouZ2V0KGEpLGN8fChjPW5ldyBTZXQsdGhpcy5qLnNldChhLGMpKSxjLmFkZChiKSk6KHRoaXMualthXXx8KHRoaXMualthXT17fSksdGhpcy5qW2FdW2JdPSEwKX07Cl8uZy5BZz1mdW5jdGlvbihhLGIpe2lmKHRoaXMuaiBpbnN0YW5jZW9mIE1hcCl7dmFyIGM9dGhpcy5qLmdldChhKTtjJiYoYy5kZWxldGUoYiksYy5zaXplPT09MCYmdGhpcy5qLmRlbGV0ZShhKSl9ZWxzZSBpZih0aGlzLmpbYV0pe2RlbGV0ZSB0aGlzLmpbYV1bYl07Zm9yKGMgaW4gdGhpcy5qW2FdKXJldHVybjtkZWxldGUgdGhpcy5qW2FdfX07Xy5nLmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQi5zaXplPjB9O18uZy5GcT1mdW5jdGlvbigpe3JldHVybiB0aGlzLkkuc2l6ZT4wfTsKXy5nLnNqPWZ1bmN0aW9uKGEsYj0wLGMpe3ZhciBkPVlnKHRoaXMsYSk7dGhpcy5CPW5ldyBTZXQoZCk7dGhpcy5LPXRoaXMub2E/YTpfLnliKGQpO1JnKHRoaXMpO2lmKGQubGVuZ3RoIT09MCl7Zm9yKGxldCBlIG9mIGQpdGhpcy5VLmFkZChlKTthPXRoaXMuWTtpZighYSl0aHJvdyBFcnJvcigiViIpO2lmKCh0aGlzLmogaW5zdGFuY2VvZiBNYXA/dGhpcy5qLnNpemU+MDpPYmplY3Qua2V5cyh0aGlzLmopLmxlbmd0aD4wKSYmIWEuRWIpdGhyb3cgRXJyb3IoIlciKTtmZyhhLF8ueWIoZCksdGhpcy5ELHtZZDp0aGlzLmosb25FcnJvcjooZSxmLGgpPT5iaCh0aGlzLHRoaXMuSyxkLGUhPW51bGw/ZTp2b2lkIDAsZixiLCEhaCksb25UaW1lb3V0OigwLF8uQ2EpKHRoaXMud3csdGhpcyksZm9yY2VSZWxvYWQ6ISFjfSl9fTt2YXIgV2c9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWE7dGhpcy5vPW5ldyBTZXQ7dGhpcy5yZXN1bHQ9W119fTtfLmc9SWcucHJvdG90eXBlOwpfLmcueWU9ZnVuY3Rpb24oKXtpZih0aGlzLm8pe3ZhciBhPXRoaXMuby5nZXRJZCgpLGI9W107aWYodGhpcy5qIGluc3RhbmNlb2YgTWFwKXt2YXIgYz10aGlzLmouZ2V0KGEpO2lmKGMpe2Zvcih2YXIgZCBvZiBBcnJheS5mcm9tKGMpKShjPXRoaXMuTGEoZCkpJiYhYy5pc0xvYWRlZCgpJiYodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpKGQ9dGhpcy5MYShjKSkmJiFkLmlzTG9hZGVkKCkmJih0aGlzLkFnKGEsYyksYi5wdXNoKGMpKTt0aGlzLmFmKGIpfXRoaXMuaWEoKXx8KChiPXRoaXMuRC5nZXQoYSkub25Mb2FkKCgwLF8uQ2EpKHRoaXMuVnAsdGhpcykpKSYmYi5sZW5ndGgmJlpnKHRoaXMsbmV3IHZhLm9iKHZhLm9iLlR5cGUudWssdm9pZCAwLHZvaWQgMCx2b2lkIDAsYlswXSkpLHRoaXMuSS5kZWxldGUoYSksdGhpcy5CLmRlbGV0ZShhKSx0aGlzLkIuc2l6ZSE9PTB8fAphaCh0aGlzKSx0aGlzLnlhJiZhPT10aGlzLnlhJiYodGhpcy5nYS5qfHx0aGlzLmdhLmNhbGxiYWNrKCkpLFJnKHRoaXMpLHRoaXMubz1udWxsKX19O18uZy51aD1mdW5jdGlvbihhKXtpZih0aGlzLkIuaGFzKGEpKXJldHVybiEwO2ZvcihsZXQgYj0wO2I8dGhpcy52Lmxlbmd0aDtiKyspaWYoXy5zYih0aGlzLnZbYl0sYSk+PTApcmV0dXJuITA7cmV0dXJuITF9O18uZy5sb2FkPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFRnKHRoaXMsW2FdLGIpW2FdfTtfLmcuYWY9ZnVuY3Rpb24oYSl7cmV0dXJuIFRnKHRoaXMsYSl9OwpfLmcuUm89ZnVuY3Rpb24oYSl7dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIj8odGhpcy55ZSgpLHRoaXMuRC5kZWxldGUoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiKSk6dGhpcy5vJiZ0aGlzLm8uZ2V0SWQoKTt2YXIgYj10aGlzLkQuZ2V0KGEpO2ImJmNoKHRoaXMsYi5qfHxbXSxjPT57Yy55ZSgpO3RoaXMuQi5kZWxldGUoYy5nZXRJZCgpKX0sYz0+IWMuaXNMb2FkZWQoKSxuZXcgU2V0KTtpZih0aGlzLm89dGhpcy5MYShhKSl0aGlzLm8uST0hMH07Xy5nLmVuPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLm8pe2xldCBiPW5ldyB2YS5PZyhbXSwic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIpO3RoaXMuRC5zZXQoInN5bnRoZXRpY19tb2R1bGVfb3ZlcmhlYWQiLGIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX07Xy5nLnd3PWZ1bmN0aW9uKCl7Wy4uLnRoaXMuQl07JGcodGhpcyxuZXcgdmEub2IodmEub2IuVHlwZS5USU1FT1VUKSk7YWgodGhpcyl9OwpfLmcuWm49ZnVuY3Rpb24oYSxiKXtBcnJheS5pc0FycmF5KGEpfHwoYT1bYV0pO2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7ZSsrKXt2YXIgYz1hW2VdLGQ9YjtsZXQgZj10aGlzLk0uZ2V0KGMpO2Y/Zi5wdXNoKGQpOnRoaXMuTS5zZXQoYyxbZF0pfX07Xy5nLmRpc3Bvc2U9ZnVuY3Rpb24oKXtfLiRkKEFycmF5LmZyb20odGhpcy5ELnZhbHVlcygpKSx0aGlzLlopO3RoaXMuRC5jbGVhcigpO3RoaXMuQi5jbGVhcigpO3RoaXMuSz1bXTt0aGlzLkkuY2xlYXIoKTt0aGlzLnY9W107dGhpcy5NLmNsZWFyKCk7dGhpcy5GYT0hMH07Xy5nLmlhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuRmF9O18uVGQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IElnfTt2YXIgbWg9WzVFMywyRTRdLCRyPWNsYXNzIGV4dGVuZHMgamV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj1uZXcgTWFwO3RoaXMuRD1PYmplY3QuY3JlYXRlKG51bGwpO3RoaXMuQj0wO3RoaXMuSz1bXTt0aGlzLmo9QWU/bmV3IE1hcDpPYmplY3QuY3JlYXRlKG51bGwpO3RoaXMubz10aGlzLkxhKCJ7YmFzZX0iKX1UaCgpe3RoaXMubyYmdGhpcy5vLmdldElkKCk9PSJ7YmFzZX0iJiZ0aGlzLnllKCl9TGEoYSl7dmFyIGI9dGhpcy52LmdldChhKTtifHwoYj1uZXcgdmEuT2coW10sYSksdGhpcy52LnNldChhLGIpKTtyZXR1cm4gYn1uaShhLGIpe2lmKHRoaXMuTGEoYSkuaXNMb2FkZWQoKSl0aGlzLmxvYWQoYik7ZWxzZSBpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe2xldCBjPXRoaXMuai5nZXQoYSk7Y3x8KGM9bmV3IFNldCx0aGlzLmouc2V0KGEsYykpO2MuYWRkKGIpfWVsc2UgdGhpcy5qW2FdfHwodGhpcy5qW2FdPXt9KSx0aGlzLmpbYV1bYl09ITB9QWcoYSxiKXtpZih0aGlzLmogaW5zdGFuY2VvZgpNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7YyYmKGMuZGVsZXRlKGIpLGMuc2l6ZT09PTAmJnRoaXMuai5kZWxldGUoYSkpfWVsc2UgaWYodGhpcy5qW2FdKXtkZWxldGUgdGhpcy5qW2FdW2JdO2ZvcihjIGluIHRoaXMualthXSlyZXR1cm47ZGVsZXRlIHRoaXMualthXX19dWgoYSl7cmV0dXJuISF0aGlzLkRbYV19bG9hZChhKXtpaCh0aGlzLFthXSk7cmV0dXJuIGpoKHRoaXMsYSl9YWYoYSl7dmFyIGI9T2JqZWN0LmNyZWF0ZShudWxsKSxjPVtdO2EuZm9yRWFjaChkPT57YltkXXx8KGJbZF09amgodGhpcyxkKSxjLnB1c2goZCkpfSk7aWgodGhpcyxjKTtyZXR1cm4gYn1SbyhhKXt0aGlzLm8/LmdldElkKCk9PT0ic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCImJnRoaXMueWUoKTt2YXIgYj10aGlzLnYuZ2V0KGEpO2toKHRoaXMsYj8uc3QoKT8/W10sYz0+Yy55ZSgpLGM9PiFjLmlzTG9hZGVkKCkpO3RoaXMubz10aGlzLkxhKGEpfXllKCl7aWYodGhpcy5vKXt2YXIgYT10aGlzLm8uZ2V0SWQoKSwKYj1bXTtpZih0aGlzLmogaW5zdGFuY2VvZiBNYXApe3ZhciBjPXRoaXMuai5nZXQoYSk7aWYoYyl7Zm9yKGxldCBkIG9mIEFycmF5LmZyb20oYykpdGhpcy5MYShkKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGQpLGIucHVzaChkKSk7dGhpcy5hZihiKX19ZWxzZSBpZih0aGlzLmpbYV0pe2ZvcihjIG9mIE9iamVjdC5rZXlzKHRoaXMualthXSkpdGhpcy5MYShjKS5pc0xvYWRlZCgpfHwodGhpcy5BZyhhLGMpLGIucHVzaChjKSk7dGhpcy5hZihiKX10aGlzLm8ub25Mb2FkKCgpPT5udWxsKTt0aGlzLm89bnVsbDsoIXRoaXMudWgoYSkmJi9ec3lbMC05YS16XXswLDR9JC8udGVzdChhKXx8YT09PSJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIikmJnRoaXMudi5kZWxldGUoYSk7bGgodGhpcyxhKX19ZW4oYSl7aWYoIXRoaXMubyl7bGV0IGI9bmV3IHZhLk9nKFtdLCJzeW50aGV0aWNfbW9kdWxlX292ZXJoZWFkIik7dGhpcy52LnNldCgic3ludGhldGljX21vZHVsZV9vdmVyaGVhZCIsCmIpO3RoaXMubz1ifWZlKHRoaXMubyxhKX19O3ZhciBraj1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuZGF0YT1bXTt0aGlzLmo9LTF9c2V0KGEsYj0hMCl7MDw9YSYmYTw1MiYmTnVtYmVyLmlzSW50ZWdlcihhKSYmdGhpcy5kYXRhW2FdIT09YiYmKHRoaXMuZGF0YVthXT1iLHRoaXMuaj0tMSl9Z2V0KGEpe3JldHVybiEhdGhpcy5kYXRhW2FdfX07Xy5vaC5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiBfLmFzfTtfLmFzPXtkb25lOiEwLHZhbHVlOnZvaWQgMH07Xy5vaC5wcm90b3R5cGUuYmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dmFyIHBoPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hfWJkKCl7cmV0dXJuIG5ldyBxaCh0aGlzLm8oKSl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubygpKX1qKCl7cmV0dXJuIG5ldyByaCh0aGlzLm8oKSl9fSxxaD1jbGFzcyBleHRlbmRzIF8ub2h7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLm89YX1uZXh0KCl7cmV0dXJuIHRoaXMuby5uZXh0KCl9W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gbmV3IHJoKHRoaXMubyl9aigpe3JldHVybiBuZXcgcmgodGhpcy5vKX19LHJoPWNsYXNzIGV4dGVuZHMgcGh7Y29uc3RydWN0b3IoYSl7c3VwZXIoKCk9PmEpO3RoaXMudj1hfW5leHQoKXtyZXR1cm4gdGhpcy52Lm5leHQoKX19O3ZhciBicz1fLnUuSlNPTi5zdHJpbmdpZnk7Xy5jcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoYSxiKT0+e3RoaXMucmVzb2x2ZT1hO3RoaXMucmVqZWN0PWJ9KX19O18uSGEoXy50aCxfLmFlKTtfLmc9Xy50aC5wcm90b3R5cGU7Xy5nLnN1YnNjcmliZT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5vW2FdO2R8fChkPXRoaXMub1thXT1bXSk7dmFyIGU9dGhpcy5EO3RoaXMualtlXT1hO3RoaXMualtlKzFdPWI7dGhpcy5qW2UrMl09Yzt0aGlzLkQ9ZSszO2QucHVzaChlKTtyZXR1cm4gZX07Xy5nLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKGEsYixjKXtpZihhPXRoaXMub1thXSl7bGV0IGQ9dGhpcy5qO2lmKGE9YS5maW5kKGZ1bmN0aW9uKGUpe3JldHVybiBkW2UrMV09PWImJmRbZSsyXT09Y30pKXJldHVybiB0aGlzLmNpKGEpfXJldHVybiExfTtfLmcuY2k9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5qW2FdO2lmKGIpe2xldCBjPXRoaXMub1tiXTt0aGlzLkIhPTA/KHRoaXMudi5wdXNoKGEpLHRoaXMualthKzFdPSgpPT57fSk6KGMmJl8ueGIoYyxhKSxkZWxldGUgdGhpcy5qW2FdLGRlbGV0ZSB0aGlzLmpbYSsxXSxkZWxldGUgdGhpcy5qW2ErMl0pfXJldHVybiEhYn07Cl8uZy5wdWJsaXNoPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5vW2FdO2lmKGMpe2xldCBlPUFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7dmFyIGQ9YXJndW1lbnRzLmxlbmd0aDtsZXQgZjtmb3IoZj0xO2Y8ZDtmKyspZVtmLTFdPWFyZ3VtZW50c1tmXTtpZih0aGlzLkkpZm9yKGY9MDtmPGMubGVuZ3RoO2YrKylkPWNbZl0sdWgodGhpcy5qW2QrMV0sdGhpcy5qW2QrMl0sZSk7ZWxzZXt0aGlzLkIrKzt0cnl7Zm9yKGY9MCxkPWMubGVuZ3RoO2Y8ZCYmIXRoaXMuaWEoKTtmKyspe2xldCBoPWNbZl07dGhpcy5qW2grMV0uYXBwbHkodGhpcy5qW2grMl0sZSl9fWZpbmFsbHl7aWYodGhpcy5CLS0sdGhpcy52Lmxlbmd0aD4wJiZ0aGlzLkI9PTApZm9yKDtjPXRoaXMudi5wb3AoKTspdGhpcy5jaShjKX19cmV0dXJuIGYhPTB9cmV0dXJuITF9OwpfLmcuY2xlYXI9ZnVuY3Rpb24oYSl7aWYoYSl7bGV0IGI9dGhpcy5vW2FdO2ImJihiLmZvckVhY2godGhpcy5jaSx0aGlzKSxkZWxldGUgdGhpcy5vW2FdKX1lbHNlIHRoaXMuai5sZW5ndGg9MCx0aGlzLm89e319O18uZy5sYT1mdW5jdGlvbigpe18udGguemIubGEuY2FsbCh0aGlzKTt0aGlzLmNsZWFyKCk7dGhpcy52Lmxlbmd0aD0wfTt2aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7Yj09PXZvaWQgMD90aGlzLmoucmVtb3ZlKGEpOnRoaXMuai5zZXQoYSxicyhiKSl9O3ZoLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oYSl7dHJ5e3ZhciBiPXRoaXMuai5nZXQoYSl9Y2F0Y2goYyl7cmV0dXJufWlmKGIhPT1udWxsKXRyeXtyZXR1cm4gSlNPTi5wYXJzZShiKX1jYXRjaChjKXt0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fX07dmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLmoucmVtb3ZlKGEpfTtfLkhhKHdoLHZoKTt3aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYil7d2guemIuc2V0LmNhbGwodGhpcyxhLHloKGIpKX07d2gucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7YT13aC56Yi5nZXQuY2FsbCh0aGlzLGEpO2lmKGE9PT12b2lkIDB8fGEgaW5zdGFuY2VvZiBPYmplY3QpcmV0dXJuIGE7dGhyb3ciU3RvcmFnZTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO307d2gucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXtpZihhPXRoaXMubyhhKSl7aWYoYT1hLmRhdGEsYT09PXZvaWQgMCl0aHJvdyJTdG9yYWdlOiBJbnZhbGlkIHZhbHVlIHdhcyBlbmNvdW50ZXJlZCI7fWVsc2UgYT12b2lkIDA7cmV0dXJuIGF9O18uSGEoXy56aCx3aCk7Xy56aC5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKGEsYixjKXtpZihiPXloKGIpKXtpZihjKXtpZihjPF8uRWEoKSl7Xy56aC5wcm90b3R5cGUucmVtb3ZlLmNhbGwodGhpcyxhKTtyZXR1cm59Yi5leHBpcmF0aW9uPWN9Yi5jcmVhdGlvbj1fLkVhKCl9Xy56aC56Yi5zZXQuY2FsbCh0aGlzLGEsYil9O18uemgucHJvdG90eXBlLm89ZnVuY3Rpb24oYSl7dmFyIGI9Xy56aC56Yi5vLmNhbGwodGhpcyxhKTtpZihiKXtsZXQgYz1iLmNyZWF0aW9uLGQ9Yi5leHBpcmF0aW9uO2lmKGQmJmQ8Xy5FYSgpfHxjJiZjPl8uRWEoKSlfLnpoLnByb3RvdHlwZS5yZW1vdmUuY2FsbCh0aGlzLGEpO2Vsc2UgcmV0dXJuIGJ9fTtfLkhhKEJoLEFoKTtCaC5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiBfLnNoKHRoaXMuYmQoITApKS5qKCl9O0JoLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3ZhciBhPUFycmF5LmZyb20odGhpcyk7Zm9yKGxldCBiIG9mIGEpdGhpcy5yZW1vdmUoYil9O18uSGEoQ2gsQmgpO18uZz1DaC5wcm90b3R5cGU7Xy5nLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7aWYodGhpcy5vPT09bnVsbCl7dmFyIGE9dGhpcy5qO2lmKGEpdHJ5e2Euc2V0SXRlbSgiX19zYWsiLCIxIik7YS5yZW1vdmVJdGVtKCJfX3NhayIpO3ZhciBiPSEwfWNhdGNoKGMpe2I9YyBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiYmKGMubmFtZT09PSJRdW90YUV4Y2VlZGVkRXJyb3IifHxjLmNvZGU9PT0yMnx8Yy5jb2RlPT09MTAxNHx8Yy5uYW1lPT09Ik5TX0VSUk9SX0RPTV9RVU9UQV9SRUFDSEVEIikmJmEmJmEubGVuZ3RoIT09MH1lbHNlIGI9ITE7dGhpcy5vPWJ9cmV0dXJuIHRoaXMub307Cl8uZy5zZXQ9ZnVuY3Rpb24oYSxiKXtEaCh0aGlzKTt0cnl7dGhpcy5qLnNldEl0ZW0oYSxiKX1jYXRjaChjKXtpZih0aGlzLmoubGVuZ3RoPT0wKXRocm93IlN0b3JhZ2UgbWVjaGFuaXNtOiBTdG9yYWdlIGRpc2FibGVkIjt0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogUXVvdGEgZXhjZWVkZWQiO319O18uZy5nZXQ9ZnVuY3Rpb24oYSl7RGgodGhpcyk7YT10aGlzLmouZ2V0SXRlbShhKTtpZih0eXBlb2YgYSE9PSJzdHJpbmciJiZhIT09bnVsbCl0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybiBhfTtfLmcucmVtb3ZlPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3RoaXMuai5yZW1vdmVJdGVtKGEpfTsKXy5nLmJkPWZ1bmN0aW9uKGEpe0RoKHRoaXMpO3ZhciBiPTAsYz10aGlzLmosZD1uZXcgXy5vaDtkLm5leHQ9ZnVuY3Rpb24oKXtpZihiPj1jLmxlbmd0aClyZXR1cm4gXy5hczt2YXIgZT1jLmtleShiKyspO2lmKGEpcmV0dXJue3ZhbHVlOmUsZG9uZTohMX07ZT1jLmdldEl0ZW0oZSk7aWYodHlwZW9mIGUhPT0ic3RyaW5nIil0aHJvdyJTdG9yYWdlIG1lY2hhbmlzbTogSW52YWxpZCB2YWx1ZSB3YXMgZW5jb3VudGVyZWQiO3JldHVybnt2YWx1ZTplLGRvbmU6ITF9fTtyZXR1cm4gZH07Xy5nLmNsZWFyPWZ1bmN0aW9uKCl7RGgodGhpcyk7dGhpcy5qLmNsZWFyKCl9O18uZy5rZXk9ZnVuY3Rpb24oYSl7RGgodGhpcyk7cmV0dXJuIHRoaXMuai5rZXkoYSl9O18uSGEoRWgsQ2gpO18uSGEoRmgsQmgpO0ZoLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLm8uc2V0KHRoaXMuaithLGIpfTtGaC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm8uZ2V0KHRoaXMuaithKX07RmgucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbihhKXt0aGlzLm8ucmVtb3ZlKHRoaXMuaithKX07RmgucHJvdG90eXBlLmJkPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMub1tTeW1ib2wuaXRlcmF0b3JdKCksYz10aGlzLGQ9bmV3IF8ub2g7ZC5uZXh0PWZ1bmN0aW9uKCl7dmFyIGU9Yi5uZXh0KCk7aWYoZS5kb25lKXJldHVybiBlO2ZvcihlPWUudmFsdWU7ZS5zbGljZSgwLGMuai5sZW5ndGgpIT1jLmo7KXtlPWIubmV4dCgpO2lmKGUuZG9uZSlyZXR1cm4gZTtlPWUudmFsdWV9cmV0dXJue3ZhbHVlOmE/ZS5zbGljZShjLmoubGVuZ3RoKTpjLm8uZ2V0KGUpLGRvbmU6ITF9fTtyZXR1cm4gZH07dmFyIEhoPXt9LGRzPXR5cGVvZiBVaW50OEFycmF5IT09InVuZGVmaW5lZCImJnR5cGVvZiBVaW50MTZBcnJheSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgSW50MzJBcnJheSE9PSJ1bmRlZmluZWQiO0hoLmFzc2lnbj1mdW5jdGlvbihhKXtmb3IodmFyIGI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO2IubGVuZ3RoOyl7dmFyIGM9Yi5zaGlmdCgpO2lmKGMpe2lmKHR5cGVvZiBjIT09Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiYmFgIitjKTtmb3IodmFyIGQgaW4gYylPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYyxkKSYmKGFbZF09Y1tkXSl9fXJldHVybiBhfTtIaC53bj1mdW5jdGlvbihhLGIpe2lmKGEubGVuZ3RoPT09YilyZXR1cm4gYTtpZihhLnN1YmFycmF5KXJldHVybiBhLnN1YmFycmF5KDAsYik7YS5sZW5ndGg9YjtyZXR1cm4gYX07CnZhciBlcz17d2Y6ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihiLnN1YmFycmF5JiZhLnN1YmFycmF5KWEuc2V0KGIuc3ViYXJyYXkoYyxjK2QpLGUpO2Vsc2UgZm9yKHZhciBmPTA7ZjxkO2YrKylhW2UrZl09YltjK2ZdfSxNcDpmdW5jdGlvbihhKXt2YXIgYixjO3ZhciBkPWM9MDtmb3IoYj1hLmxlbmd0aDtkPGI7ZCsrKWMrPWFbZF0ubGVuZ3RoO3ZhciBlPW5ldyBVaW50OEFycmF5KGMpO2Q9Yz0wO2ZvcihiPWEubGVuZ3RoO2Q8YjtkKyspe3ZhciBmPWFbZF07ZS5zZXQoZixjKTtjKz1mLmxlbmd0aH1yZXR1cm4gZX19LGdzPXt3ZjpmdW5jdGlvbihhLGIsYyxkLGUpe2Zvcih2YXIgZj0wO2Y8ZDtmKyspYVtlK2ZdPWJbYytmXX0sTXA6ZnVuY3Rpb24oYSl7cmV0dXJuW10uY29uY2F0LmFwcGx5KFtdLGEpfX07CkhoLmpBPWZ1bmN0aW9uKCl7ZHM/KEhoLnRmPVVpbnQ4QXJyYXksSGguWWM9VWludDE2QXJyYXksSGguUXM9SW50MzJBcnJheSxIaC5hc3NpZ24oSGgsZXMpKTooSGgudGY9QXJyYXksSGguWWM9QXJyYXksSGguUXM9QXJyYXksSGguYXNzaWduKEhoLGdzKSl9O0hoLmpBKCk7dmFyIGhzPSEwO3RyeXtuZXcgVWludDhBcnJheSgxKX1jYXRjaChhKXtocz0hMX07dmFyIHRpPXt9O3RpPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEmNjU1MzV8MDthPWE+Pj4xNiY2NTUzNXwwO2Zvcih2YXIgZjtjIT09MDspe2Y9Yz4yRTM/MkUzOmM7Yy09ZjtkbyBlPWUrYltkKytdfDAsYT1hK2V8MDt3aGlsZSgtLWYpO2UlPTY1NTIxO2ElPTY1NTIxfXJldHVybiBlfGE8PDE2fDB9O2Zvcih2YXIgdWk9e30saXMsanM9W10sa3M9MDtrczwyNTY7a3MrKyl7aXM9a3M7Zm9yKHZhciBscz0wO2xzPDg7bHMrKylpcz1pcyYxPzM5ODgyOTIzODReaXM+Pj4xOmlzPj4+MTtqc1trc109aXN9dWk9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1kK2M7Zm9yKGFePS0xO2Q8YztkKyspYT1hPj4+OF5qc1soYV5iW2RdKSYyNTVdO3JldHVybiBhXi0xfTt2YXIgaWk9e307aWk9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifTt2YXIgWGg9WzAsMCwwLDAsMCwwLDAsMCwxLDEsMSwxLDIsMiwyLDIsMywzLDMsMyw0LDQsNCw0LDUsNSw1LDUsMF0sJGg9WzAsMCwwLDAsMSwxLDIsMiwzLDMsNCw0LDUsNSw2LDYsNyw3LDgsOCw5LDksMTAsMTAsMTEsMTEsMTIsMTIsMTMsMTNdLEtpPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDIsMyw3XSxtaT1bMTYsMTcsMTgsMCw4LDcsOSw2LDEwLDUsMTEsNCwxMiwzLDEzLDIsMTQsMSwxNV0sbmk9QXJyYXkoNTc2KTtKaChuaSk7dmFyIG9pPUFycmF5KDYwKTtKaChvaSk7dmFyIFpoPUFycmF5KDUxMik7SmgoWmgpO3ZhciBXaD1BcnJheSgyNTYpO0poKFdoKTt2YXIgWWg9QXJyYXkoMjkpO0poKFloKTt2YXIgYmk9QXJyYXkoMzApO0poKGJpKTt2YXIgSGksSWksSmksR2k9ITE7dmFyIENpOwpDaT1bbmV3IEFpKDAsMCwwLDAsZnVuY3Rpb24oYSxiKXt2YXIgYz02NTUzNTtmb3IoYz5hLm5jLTUmJihjPWEubmMtNSk7Oyl7aWYoYS5kYTw9MSl7dmkoYSk7aWYoYS5kYT09PTAmJmI9PT0wKXJldHVybiAxO2lmKGEuZGE9PT0wKWJyZWFrfWEuVis9YS5kYTthLmRhPTA7dmFyIGQ9YS5VYitjO2lmKGEuVj09PTB8fGEuVj49ZClpZihhLmRhPWEuVi1kLGEuVj1kLHBpKGEsITEpLGEud2EuemE9PT0wKXJldHVybiAxO2lmKGEuVi1hLlViPj1hLkJiLTI2MiYmKHBpKGEsITEpLGEud2EuemE9PT0wKSlyZXR1cm4gMX1hLnJiPTA7aWYoYj09PTQpcmV0dXJuIHBpKGEsITApLGEud2EuemE9PT0wPzM6NDthLlY+YS5VYiYmcGkoYSwhMSk7cmV0dXJuIDF9KSxuZXcgQWkoNCw0LDgsNCx3aSksbmV3IEFpKDQsNSwxNiw4LHdpKSxuZXcgQWkoNCw2LDMyLDMyLHdpKSxuZXcgQWkoNCw0LDE2LDE2LHhpKSxuZXcgQWkoOCwxNiwzMiwzMix4aSksbmV3IEFpKDgsMTYsMTI4LDEyOCx4aSksbmV3IEFpKDgsCjMyLDEyOCwyNTYseGkpLG5ldyBBaSgzMiwxMjgsMjU4LDEwMjQseGkpLG5ldyBBaSgzMiwyNTgsMjU4LDQwOTYseGkpXTt2YXIgRmk9e307Rmk9ZnVuY3Rpb24oKXt0aGlzLmlucHV0PW51bGw7dGhpcy5xZj10aGlzLkRiPXRoaXMuZmY9MDt0aGlzLm91dHB1dD1udWxsO3RoaXMuRW49dGhpcy56YT10aGlzLnFnPTA7dGhpcy5tc2c9IiI7dGhpcy5zdGF0ZT1udWxsO3RoaXMuaWw9Mjt0aGlzLnNhPTB9O3ZhciBMaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwpFaS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMud2EsZD10aGlzLm9wdGlvbnMuY2h1bmtTaXplO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7dmFyIGU9Yj09PX5+Yj9iOmI9PT0hMD80OjA7dHlwZW9mIGE9PT0ic3RyaW5nIj9jLmlucHV0PUloKGEpOkxpLmNhbGwoYSk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP2MuaW5wdXQ9bmV3IFVpbnQ4QXJyYXkoYSk6Yy5pbnB1dD1hO2MuZmY9MDtjLkRiPWMuaW5wdXQubGVuZ3RoO2Rve2MuemE9PT0wJiYoYy5vdXRwdXQ9bmV3IEhoLnRmKGQpLGMucWc9MCxjLnphPWQpO2E9RGkoYyxlKTtpZihhIT09MSYmYSE9PTApcmV0dXJuIE1pKHRoaXMsYSksdGhpcy5lbmRlZD0hMCwhMTtpZihjLnphPT09MHx8Yy5EYj09PTAmJihlPT09NHx8ZT09PTIpKWlmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciKXt2YXIgZj1IaC53bihjLm91dHB1dCxjLnFnKTtiPWY7Zj1mLmxlbmd0aDtpZihmPDY1NTM3JiYoYi5zdWJhcnJheSYmCmhzfHwhYi5zdWJhcnJheSkpYj1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsSGgud24oYixmKSk7ZWxzZXtmb3IodmFyIGg9IiIsaz0wO2s8ZjtrKyspaCs9U3RyaW5nLmZyb21DaGFyQ29kZShiW2tdKTtiPWh9dGhpcy5jaHVua3MucHVzaChiKX1lbHNlIGI9SGgud24oYy5vdXRwdXQsYy5xZyksdGhpcy5jaHVua3MucHVzaChiKX13aGlsZSgoYy5EYj4wfHxjLnphPT09MCkmJmEhPT0xKTtpZihlPT09NClyZXR1cm4oYz10aGlzLndhKSYmYy5zdGF0ZT8oZD1jLnN0YXRlLnN0YXR1cyxkIT09NDImJmQhPT02OSYmZCE9PTczJiZkIT09OTEmJmQhPT0xMDMmJmQhPT0xMTMmJmQhPT02NjY/YT1qaShjLC0yKTooYy5zdGF0ZT1udWxsLGE9ZD09PTExMz9qaShjLC0zKTowKSk6YT0tMixNaSh0aGlzLGEpLHRoaXMuZW5kZWQ9ITAsYT09PTA7ZT09PTImJihNaSh0aGlzLDApLGMuemE9MCk7cmV0dXJuITB9O18uST1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX19O3ZhciB4cD1uZXcgXy5JKCJyYXdDb2xkQ29uZmlnR3JvdXAiKTt2YXIgd3A9bmV3IF8uSSgicmF3SG90Q29uZmlnR3JvdXAiKTt2YXIgbXM7bXM9Xy51LndpbmRvdztfLlBpPW1zPy55dD8uY29uZmlnX3x8bXM/Lnl0Y2ZnPy5kYXRhX3x8e307Xy5yYSgieXQuY29uZmlnXyIsXy5QaSk7dmFyIFNpPVtdO3ZhciBnaj0vXltcdy5dKiQvLCRpPXtxOiEwLHNlYXJjaF9xdWVyeTohMH0sWmk9U3RyaW5nKFlpKTt2YXIgaGo9bmV3IGNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vPWJ9fSh3aW5kb3csd2luZG93LmRvY3VtZW50KTtfLnJhKCJ5dC5hZHNfLnNpZ25hbHNfLmdldEFkU2lnbmFsc1N0cmluZyIsZnVuY3Rpb24oYSl7cmV0dXJuIGFqKF8ubGooYSkpfSk7Xy5FYSgpO25hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiIChDcktleSAiKTt2YXIgcXM7cXM9MDtfLnJzPV8uY3I/IndlYmtpdCI6YnI/Im1veiI6YXI/Im1zIjokcT8ibyI6IiI7Xy5yYSgieXREb21Eb21HZXROZXh0SWQiLF8uc2EoInl0RG9tRG9tR2V0TmV4dElkIil8fCgoKT0+KytxcykpO18uc3M9Xy51Lnl0RXZlbnRzRXZlbnRzTGlzdGVuZXJzfHx7fTtfLnJhKCJ5dEV2ZW50c0V2ZW50c0xpc3RlbmVycyIsXy5zcyk7Xy50cz1fLnUueXRFdmVudHNFdmVudHNDb3VudGVyfHx7Y291bnQ6MH07Xy5yYSgieXRFdmVudHNFdmVudHNDb3VudGVyIixfLnRzKTtfLnVzPWhkKGZ1bmN0aW9uKCl7dmFyIGE9ITE7dHJ5e2xldCBiPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiY2FwdHVyZSIse2dldDpmdW5jdGlvbigpe2E9ITB9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsYil9Y2F0Y2goYil7fXJldHVybiBhfSk7dmFyIHZzO3ZzPXdpbmRvdztfLmVsPXZzLnl0Y3NpJiZ2cy55dGNzaS5ub3c/dnMueXRjc2kubm93OnZzLnBlcmZvcm1hbmNlJiZ2cy5wZXJmb3JtYW5jZS50aW1pbmcmJnZzLnBlcmZvcm1hbmNlLm5vdyYmdnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydD8oKT0+dnMucGVyZm9ybWFuY2UudGltaW5nLm5hdmlnYXRpb25TdGFydCt2cy5wZXJmb3JtYW5jZS5ub3coKTooKT0+KG5ldyBEYXRlKS5nZXRUaW1lKCk7dmFyIG5qPSJYTUxIdHRwUmVxdWVzdCJpbiBfLnU/KCk9Pm5ldyBYTUxIdHRwUmVxdWVzdDpudWxsO3ZhciB3cz0iYWJzb2x1dGVfZXhwZXJpbWVudHMgY2xpZW50X2Rldl9kb21haW4gY2xpZW50X2Rldl9leHBmbGFnIGNsaWVudF9kZXZfcmVnZXhfbWFwIGNsaWVudF9kZXZfcm9vdF91cmwgY2xpZW50X3JvbGxvdXRfb3ZlcnJpZGUgZXhwZmxhZyBmb3JjZWRDYXBhYmlsaXR5IGpzZmVhdCBqc21vZGUgbW9kcyB0aGVtZSIuc3BsaXQoIiAiKTtbLi4ud3NdO3ZhciB5aj17QXV0aG9yaXphdGlvbjoiQVVUSE9SSVpBVElPTiIsIlgtR29vZy1FT00tVmlzaXRvci1JZCI6IkVPTV9WSVNJVE9SX0RBVEEiLCJYLUdvb2ctVmlzaXRvci1JZCI6IlNBTkRCT1hFRF9WSVNJVE9SX0lEIiwiWC1Zb3V0dWJlLURvbWFpbi1BZG1pbi1TdGF0ZSI6IkRPTUFJTl9BRE1JTl9TVEFURSIsIlgtWW91dHViZS1DaHJvbWUtQ29ubmVjdGVkIjoiQ0hST01FX0NPTk5FQ1RFRF9IRUFERVIiLCJYLVlvdVR1YmUtQ2xpZW50LU5hbWUiOiJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfTkFNRSIsIlgtWW91VHViZS1DbGllbnQtVmVyc2lvbiI6IklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9WRVJTSU9OIiwiWC1Zb3VUdWJlLURlbGVnYXRpb24tQ29udGV4dCI6IklOTkVSVFVCRV9DT05URVhUX1NFUklBTElaRURfREVMRUdBVElPTl9DT05URVhUIiwiWC1Zb3VUdWJlLURldmljZSI6IkRFVklDRSIsIlgtWW91dHViZS1JZGVudGl0eS1Ub2tlbiI6IklEX1RPS0VOIiwiWC1Zb3VUdWJlLVBhZ2UtQ0wiOiJQQUdFX0NMIiwKIlgtWW91VHViZS1QYWdlLUxhYmVsIjoiUEFHRV9CVUlMRF9MQUJFTCIsIlgtR29vZy1BdXRoVXNlciI6IlNFU1NJT05fSU5ERVgiLCJYLUdvb2ctUGFnZUlkIjoiREVMRUdBVEVEX1NFU1NJT05fSUQifSxLaj1bImFwcCIsImRlYnVnY3NzIiwiZGVidWdqcyIsImV4cGZsYWciLCJmb3JjZV9hZF9wYXJhbXMiLCJmb3JjZV9hZF9lbmNyeXB0ZWQiLCJmb3JjZV92aXJhbF9hZF9yZXNwb25zZV9wYXJhbXMiLCJmb3JjZWRfZXhwZXJpbWVudHMiLCJpbm5lcnR1YmVfc25hcHNob3RzIiwiaW5uZXJ0dWJlX2dvbGRlbnMiLCJpbnRlcm5hbGNvdW50cnljb2RlIiwiaW50ZXJuYWxpcG92ZXJyaWRlIiwiYWJzb2x1dGVfZXhwZXJpbWVudHMiLCJjb25kaXRpb25hbF9leHBlcmltZW50cyIsInNiYiIsInNyX2Juc19hZGRyZXNzIiwuLi53c10sR2o9ITEsRGo9eGo7Xy5ubT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuem49ITB9fTtfLnhzPV8uc2EoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIil8fHt9O18ucmEoInl0Z2xvYmFsLnByZWZzVXNlclByZWZzUHJlZnNfIixfLnhzKTt2YXIgUmo9e2JsdWV0b290aDoiQ09OTl9ESVNDTyIsY2VsbHVsYXI6IkNPTk5fQ0VMTFVMQVJfVU5LTk9XTiIsZXRoZXJuZXQ6IkNPTk5fV0lGSSIsbm9uZToiQ09OTl9OT05FIix3aWZpOiJDT05OX1dJRkkiLHdpbWF4OiJDT05OX0NFTExVTEFSXzRHIixvdGhlcjoiQ09OTl9VTktOT1dOIix1bmtub3duOiJDT05OX1VOS05PV04iLCJzbG93LTJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjJnIjoiQ09OTl9DRUxMVUxBUl8yRyIsIjNnIjoiQ09OTl9DRUxMVUxBUl8zRyIsIjRnIjoiQ09OTl9DRUxMVUxBUl80RyJ9LFRqPXsic2xvdy0yZyI6IkVGRkVDVElWRV9DT05ORUNUSU9OX1RZUEVfU0xPV18yRyIsIjJnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8yRyIsIjNnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV8zRyIsIjRnIjoiRUZGRUNUSVZFX0NPTk5FQ1RJT05fVFlQRV80RyJ9O18uWGo9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEpO3RoaXMuYXJncz1bLi4uYl07T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsbmV3LnRhcmdldC5wcm90b3R5cGUpfX07dmFyIHlzPWNsYXNze3BiKGEsYil7cmV0dXJuIHRoaXMuR2EoYSwxLGIpfVUoYSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEltbWVkaWF0ZUpvYiIpO2I/YihhKTphKCl9fTt2YXIgenM9MUUzLzYwLEFzPV8uc2ooIndlYl9lbXVsYXRlZF9pZGxlX2NhbGxiYWNrX2RlbGF5IiwzMDApLGdrPXpzLTMsZGs9WzgsNSw0LDMsMiwxLDBdLGprPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhPXt9KXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLnY9e307dGhpcy5vYT10aGlzLmo9MDt0aGlzLnBhdXNlZD10aGlzLkQ9ITE7dGhpcy5nYT1bXTt0aGlzLmhhPXRoaXMueWE9ITE7Zm9yKGxldCBiIG9mIGRrKXRoaXMub1tiXT1bXTt0aGlzLkI9MDt0aGlzLmV5PWEudGltZW91dHx8MTt0aGlzLk09Z2s7dGhpcy5JPTA7dGhpcy5NYT10aGlzLml5LmJpbmQodGhpcyk7dGhpcy5neD10aGlzLnp5LmJpbmQodGhpcyk7dGhpcy5mYz10aGlzLkViLmJpbmQodGhpcyk7dGhpcy5WZD10aGlzLmh5LmJpbmQodGhpcyk7dGhpcy5GbD10aGlzLlFhLmJpbmQodGhpcyk7dGhpcy51dz0oKT0+e3RoaXMuUWEocGVyZm9ybWFuY2Uubm93KCkpfTt0aGlzLkZhPSEhd2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2smJgohIXdpbmRvdy5jYW5jZWxJZGxlQ2FsbGJhY2smJiFfLngoImRpc2FibGVfc2NoZWR1bGVyX3JlcXVlc3RJZGxlQ2FsbGJhY2siKTsoKHRoaXMuWj1hLnVzZVJhZiE9PSExJiYhIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKX1VKGEpe3ZhciBiPV8uRWEoKTtaaih0aGlzLGEpO2E9Xy5FYSgpLWI7dGhpcy5EfHwodGhpcy5NLT1hKX1HYShhLGIsYyl7Kyt0aGlzLm9hO2lmKGI9PT0xMClyZXR1cm4gdGhpcy5VKGEpLHRoaXMub2E7dmFyIGQ9dGhpcy5vYTt0aGlzLnZbZF09YTt0aGlzLkQmJiFjP3RoaXMuZ2EucHVzaCh7aWQ6ZCxwcmlvcml0eTpifSk6KHRoaXMub1tiXS5wdXNoKGQpLHRoaXMucGF1c2VkfHx0aGlzLkR8fCh0aGlzLmohPT0wJiZiayh0aGlzKSE9PXRoaXMuSSYmdGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSk7CnJldHVybiBkfUFhKGEpe2RlbGV0ZSB0aGlzLnZbYV19aXNIaWRkZW4oKXtyZXR1cm4hIWRvY3VtZW50LmhpZGRlbnx8ITF9SmIoYSl7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhKX1oeShhKXt2YXIgYj12b2lkIDA7YSYmKGI9YS50aW1lUmVtYWluaW5nKCkpO3RoaXMueWE9ITA7aGsodGhpcyxiKTt0aGlzLnlhPSExfXp5KCl7aGsodGhpcyl9RWIoKXtpayh0aGlzKX1RYShhKXt0aGlzLmhhPSEwO3ZhciBiPWJrKHRoaXMpO2I9PT00JiZiIT09dGhpcy5JJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTtoayh0aGlzLHZvaWQgMCxhKTt0aGlzLmhhPSExfWl5KCl7dGhpcy5pc0hpZGRlbigpfHxpayh0aGlzKTt0aGlzLmomJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpfXJlcXVlc3RJZGxlQ2FsbGJhY2soYSl7cmV0dXJuIHRoaXMuRmE/d2luZG93LnJlcXVlc3RJZGxlQ2FsbGJhY2soYSx7dGltZW91dDozRTN9KTp3aW5kb3cuc2V0VGltZW91dChhLApBcyl9Y2FuY2VsSWRsZUNhbGxiYWNrKGEpe3RoaXMuRmE/d2luZG93LmNhbmNlbElkbGVDYWxsYmFjayhhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfXN0YXJ0KCl7dGhpcy5wYXVzZWQ9ITE7aWYodGhpcy5qPT09MClzd2l0Y2godGhpcy5JPWJrKHRoaXMpLHRoaXMuSSl7Y2FzZSAxOnRoaXMuaj10aGlzLnJlcXVlc3RJZGxlQ2FsbGJhY2sodGhpcy5WZCk7YnJlYWs7Y2FzZSAyOnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLmd4LHRoaXMuZXkpO2JyZWFrO2Nhc2UgMzp0aGlzLmo9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLkZsKTticmVhaztjYXNlIDQ6dGhpcy5qPXdpbmRvdy5zZXRUaW1lb3V0KHRoaXMuZmMsMCk7YnJlYWs7Y2FzZSA1OnRoaXMuaj13aW5kb3cuc2V0VGltZW91dCh0aGlzLnV3LHpzKX19cGF1c2UoKXt0aGlzLnN0b3AoKTt0aGlzLnBhdXNlZD0hMH1zdG9wKCl7aWYodGhpcy5qKXtzd2l0Y2godGhpcy5JKXtjYXNlIDE6dGhpcy5jYW5jZWxJZGxlQ2FsbGJhY2sodGhpcy5qKTsKYnJlYWs7Y2FzZSA1OmNhc2UgMjpjYXNlIDQ6d2luZG93LmNsZWFyVGltZW91dCh0aGlzLmopO2JyZWFrO2Nhc2UgMzp3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5qKX10aGlzLmo9MH19bGEoKXtjayh0aGlzKTt0aGlzLnN0b3AoKTsodGhpcy5afHxfLngoImVuYWJsZV9zY2hlZHVsZXJfc2ltdWxhdGVfcmFmIikpJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLk1hKTtzdXBlci5sYSgpfX07dmFyIG5rPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS50aW1lcklkTWFwXyIpfHx7fSx1az1fLnNqKCJrZXZsYXJfdHVuZXJfc2NoZWR1bGVyX3NvZnRfc3RhdGVfdGltZXJfbXMiLDgwMCksdGs9MCx3az0wO3ZhciBCaztCaz1jbGFzcyBleHRlbmRzIHlze0dhKGEsYixjKXtjIT09dm9pZCAwJiZOdW1iZXIuaXNOYU4oTnVtYmVyKGMpKSYmKGM9dm9pZCAwKTt2YXIgZD1fLnNhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuYWRkSm9iIik7cmV0dXJuIGQ/ZChhLGIsYyk6Yz09PXZvaWQgMD8oYSgpLE5hTik6Xy5taihhLGN8fDApfUFhKGEpe2lmKGE9PT12b2lkIDB8fCFOdW1iZXIuaXNOYU4oTnVtYmVyKGEpKSl7dmFyIGI9Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEpvYiIpO2I/YihhKTp3aW5kb3cuY2xlYXJUaW1lb3V0KGEpfX1zdGFydCgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zdGFydCIpO2EmJmEoKX1wYXVzZSgpe3ZhciBhPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5wYXVzZSIpO2EmJmEoKX19O18uamY9Xy5DaygpOwpfLnNhKCJ5dC5zY2hlZHVsZXIuaW5pdGlhbGl6ZWQiKXx8KF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5kaXNwb3NlIixtayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmFkZEpvYiIsb2spLF8ucmEoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5hZGRJbW1lZGlhdGVKb2IiLHBrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2FuY2VsSm9iIixxayksXy5yYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlLmNhbmNlbEFsbEpvYnMiLGxrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc3RhcnQiLHJrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UucGF1c2UiLHZrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2Uuc2V0UHJpb3JpdHlUaHJlc2hvbGQiLHhrKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuZW5hYmxlUHJpb3JpdHlUaHJlc2hvbGQiLHprKSxfLnJhKCJ5dC5zY2hlZHVsZXIuaW5zdGFuY2UuY2xlYXJQcmlvcml0eVRocmVzaG9sZCIsQWspLF8ucmEoInl0LnNjaGVkdWxlci5pbml0aWFsaXplZCIsCiEwKSk7Xy5lbj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9KGE9Xy5HaChhKSk/bmV3IF8uemgoYSk6bnVsbDt0aGlzLnY9ZG9jdW1lbnQuZG9tYWlufHx3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9bygpe3JldHVybiEhdGhpcy5qfXNldChhLGIsYyxkKXtjPWN8fDMxMTA0RTM7dGhpcy5yZW1vdmUoYSk7aWYodGhpcy5vKCkpdHJ5e3RoaXMuai5zZXQoYSxiLERhdGUubm93KCkrYyoxRTMpO3JldHVybn1jYXRjaChmKXt9dmFyIGU9IiI7aWYoZCl0cnl7ZT1lc2NhcGUoYnMoYikpfWNhdGNoKGYpe3JldHVybn1lbHNlIGU9ZXNjYXBlKGIpO18uTWooYSxlLGMsdGhpcy52KX1nZXQoYSxiKXt2YXIgYz12b2lkIDAsZD0hdGhpcy5vKCk7aWYoIWQpdHJ5e2M9dGhpcy5qLmdldChhKX1jYXRjaChlKXtkPSEwfWlmKGQmJihjPV8uTGouZ2V0KGEsdm9pZCAwKSkmJihjPXVuZXNjYXBlKGMpLGIpKXRyeXtjPUpTT04ucGFyc2UoYyl9Y2F0Y2goZSl7dGhpcy5yZW1vdmUoYSksYz12b2lkIDB9cmV0dXJuIGN9cmVtb3ZlKGEpe3RoaXMubygpJiYKdGhpcy5qLnJlbW92ZShhKTtfLk5qKGEsIi8iLHRoaXMudil9fTt2YXIgRGs9KCgpPT57dmFyIGE7cmV0dXJuKCk9PnthfHwoYT1uZXcgXy5lbigieXRpZGIiKSk7cmV0dXJuIGF9fSkoKTt2YXIgRms7Xy5Iaz1bXTtGaz0hMTtfLklsPV8uaHJ8fF8uaXI7dmFyIEJzPXtBVVRIX0lOVkFMSUQ6Ik5vIHVzZXIgaWRlbnRpZmllciBzcGVjaWZpZWQuIixFWFBMSUNJVF9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGV4cGxpY2l0bHkgYWJvcnRlZC4iLElEQl9OT1RfU1VQUE9SVEVEOiJJbmRleGVkREIgaXMgbm90IHN1cHBvcnRlZC4iLE1JU1NJTkdfSU5ERVg6IkluZGV4IG5vdCBjcmVhdGVkLiIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJPYmplY3Qgc3RvcmVzIG5vdCBjcmVhdGVkLiIsREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIGRlbGV0ZWQgYmVjYXVzZSBleHBlY3RlZCBvYmplY3Qgc3RvcmVzIHdlcmUgbm90IGNyZWF0ZWQuIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IkRhdGFiYXNlIGlzIHJlb3BlbmVkIGJlY2F1c2UgZXhwZWN0ZWQgb2JqZWN0IHN0b3JlcyB3ZXJlIG5vdCBjcmVhdGVkLiIsVU5LTk9XTl9BQk9SVDoiVHJhbnNhY3Rpb24gd2FzIGFib3J0ZWQgZm9yIHVua25vd24gcmVhc29ucy4iLApRVU9UQV9FWENFRURFRDoiVGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gZXhjZWVkZWQgaXRzIHF1b3RhIGxpbWl0YXRpb25zLiIsUVVPVEFfTUFZQkVfRVhDRUVERUQ6IlRoZSBjdXJyZW50IHRyYW5zYWN0aW9uIG1heSBoYXZlIGZhaWxlZCBiZWNhdXNlIG9mIGV4Y2VlZGluZyBxdW90YSBsaW1pdGF0aW9ucy4iLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiJDYW4ndCBzdGFydCBhIHRyYW5zYWN0aW9uIG9uIGEgY2xvc2VkIGRhdGFiYXNlIixJTkNPTVBBVElCTEVfREJfVkVSU0lPTjoiVGhlIGJpbmFyeSBpcyBpbmNvbXBhdGlibGUgd2l0aCB0aGUgZGF0YWJhc2UgdmVyc2lvbiJ9LENzPXtBVVRIX0lOVkFMSUQ6IkVSUk9SIixFWEVDVVRFX1RSQU5TQUNUSU9OX09OX0NMT1NFRF9EQjoiV0FSTklORyIsRVhQTElDSVRfQUJPUlQ6IklHTk9SRUQiLElEQl9OT1RfU1VQUE9SVEVEOiJFUlJPUiIsTUlTU0lOR19JTkRFWDoiV0FSTklORyIsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJFUlJPUiIsCkRCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiJXQVJOSU5HIixEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVM6IldBUk5JTkciLFFVT1RBX0VYQ0VFREVEOiJXQVJOSU5HIixRVU9UQV9NQVlCRV9FWENFRURFRDoiV0FSTklORyIsVU5LTk9XTl9BQk9SVDoiV0FSTklORyIsSU5DT01QQVRJQkxFX0RCX1ZFUlNJT046IldBUk5JTkcifSxEcz17QVVUSF9JTlZBTElEOiExLEVYRUNVVEVfVFJBTlNBQ1RJT05fT05fQ0xPU0VEX0RCOiExLEVYUExJQ0lUX0FCT1JUOiExLElEQl9OT1RfU1VQUE9SVEVEOiExLE1JU1NJTkdfSU5ERVg6ITEsTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX0RFTEVURURfQllfTUlTU0lOR19PQkpFQ1RfU1RPUkVTOiExLERCX1JFT1BFTkVEX0JZX01JU1NJTkdfT0JKRUNUX1NUT1JFUzohMSxRVU9UQV9FWENFRURFRDohMSxRVU9UQV9NQVlCRV9FWENFRURFRDohMCxVTktOT1dOX0FCT1JUOiEwLElOQ09NUEFUSUJMRV9EQl9WRVJTSU9OOiExfSwKTms9Y2xhc3MgZXh0ZW5kcyBfLlhqe2NvbnN0cnVjdG9yKGEsYj17fSxjPUJzW2FdLGQ9Q3NbYV0sZT1Ec1thXSl7c3VwZXIoYyx7bmFtZToiWXRJZGJLbm93bkVycm9yIixpc1N3OnNlbGYuZG9jdW1lbnQ9PT12b2lkIDAsaXNJZnJhbWU6c2VsZiE9PXNlbGYudG9wLHR5cGU6YSwuLi5ifSk7dGhpcy50eXBlPWE7dGhpcy5tZXNzYWdlPWM7dGhpcy5sZXZlbD1kO3RoaXMuaj1lO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLE5rLnByb3RvdHlwZSl9fSxFcz1jbGFzcyBleHRlbmRzIE5re2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoIk1JU1NJTkdfT0JKRUNUX1NUT1JFUyIse2V4cGVjdGVkT2JqZWN0U3RvcmVzOmIsZm91bmRPYmplY3RTdG9yZXM6YX0sQnMuTUlTU0lOR19PQkpFQ1RfU1RPUkVTKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxFcy5wcm90b3R5cGUpfX0sUGs9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5pbmRleD1hO3RoaXMub2JqZWN0U3RvcmU9CmI7T2JqZWN0LnNldFByb3RvdHlwZU9mKHRoaXMsUGsucHJvdG90eXBlKX19LFFrPVsiVGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gaXMgY2xvc2luZyIsIkNhbid0IHN0YXJ0IGEgdHJhbnNhY3Rpb24gb24gYSBjbG9zZWQgZGF0YWJhc2UiLCJBIG11dGF0aW9uIG9wZXJhdGlvbiB3YXMgYXR0ZW1wdGVkIG9uIGEgZGF0YWJhc2UgdGhhdCBkaWQgbm90IGFsbG93IG11dGF0aW9ucyJdO3ZhciBhbDthbD1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19OwpfLlZrPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9e3N0YXR1czoiUEVORElORyJ9O3RoaXMuaj1bXTt0aGlzLm89W107YT1hLmo7dmFyIGI9ZD0+e2lmKHRoaXMuc3RhdGUuc3RhdHVzPT09IlBFTkRJTkciKXt0aGlzLnN0YXRlPXtzdGF0dXM6IkZVTEZJTExFRCIsdmFsdWU6ZH07Zm9yKGxldCBlIG9mIHRoaXMuaillKCl9fSxjPWQ9PntpZih0aGlzLnN0YXRlLnN0YXR1cz09PSJQRU5ESU5HIil7dGhpcy5zdGF0ZT17c3RhdHVzOiJSRUpFQ1RFRCIscmVhc29uOmR9O2ZvcihsZXQgZSBvZiB0aGlzLm8pZSgpfX07dHJ5e2EoYixjKX1jYXRjaChkKXtjKGQpfX1zdGF0aWMgYWxsKGEpe3JldHVybiBuZXcgXy5WayhuZXcgYWwoKGIsYyk9Pnt2YXIgZD1bXSxlPWEubGVuZ3RoO2U9PT0wJiZiKGQpO2ZvcihsZXQgZj0wO2Y8YS5sZW5ndGg7KytmKV8uVmsucmVzb2x2ZShhW2ZdKS50aGVuKGg9PntkW2ZdPWg7ZS0tO2U9PT0wJiZiKGQpfSkuY2F0Y2goaD0+e2MoaCl9KX0pKX1zdGF0aWMgcmVzb2x2ZShhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLApjKT0+e2EgaW5zdGFuY2VvZiBfLlZrP2EudGhlbihiLGMpOmIoYSl9KSl9c3RhdGljIHJlamVjdChhKXtyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChiLGMpPT57YyhhKX0pKX10aGVuKGEsYil7dmFyIGM9YT8/VWssZD1iPz9UaztyZXR1cm4gbmV3IF8uVmsobmV3IGFsKChlLGYpPT57dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUEVORElORyI/KHRoaXMuai5wdXNoKCgpPT57WGsodGhpcyx0aGlzLGMsZSxmKX0pLHRoaXMuby5wdXNoKCgpPT57WWsodGhpcyx0aGlzLGQsZSxmKX0pKTp0aGlzLnN0YXRlLnN0YXR1cz09PSJGVUxGSUxMRUQiP1hrKHRoaXMsdGhpcyxjLGUsZik6dGhpcy5zdGF0ZS5zdGF0dXM9PT0iUkVKRUNURUQiJiZZayh0aGlzLHRoaXMsZCxlLGYpfSkpfWNhdGNoKGEpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLGEpfX07dmFyIHhsPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5qPWE7dGhpcy5vcHRpb25zPWI7dGhpcy50cmFuc2FjdGlvbkNvdW50PTA7dGhpcy52PU1hdGgucm91bmQoKDAsXy5lbCkoKSk7dGhpcy5vPSExfWFkZChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWR3cml0ZSIsa2I6ITAsY29tbWl0OmRsKCl9LGQ9PmQub2JqZWN0U3RvcmUoYSkuYWRkKGIsYykpfWNsZWFyKGEpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLGtiOiEwfSxiPT5iLm9iamVjdFN0b3JlKGEpLmNsZWFyKCkpfWNsb3NlKCl7dGhpcy5qLmNsb3NlKCk7dGhpcy5vcHRpb25zPy5jbG9zZWQmJnRoaXMub3B0aW9ucy5jbG9zZWQoKX1jb3VudChhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkb25seSIsa2I6ITAsY29tbWl0OmRsKCl9LGM9PmMub2JqZWN0U3RvcmUoYSkuY291bnQoYikpfWRlbGV0ZShhLGIpe3JldHVybiBfLmlsKHRoaXMsW2FdLHttb2RlOiJyZWFkd3JpdGUiLAprYjohMCxjb21taXQ6ZGwoKSYmIShiIGluc3RhbmNlb2YgSURCS2V5UmFuZ2UpfSxjPT5jLm9iamVjdFN0b3JlKGEpLmRlbGV0ZShiKSl9Z2V0KGEsYil7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMCxjb21taXQ6ZGwoKX0sYz0+Yy5vYmplY3RTdG9yZShhKS5nZXQoYikpfWdldEFsbChhLGIsYyl7cmV0dXJuIF8uaWwodGhpcyxbYV0se21vZGU6InJlYWRvbmx5IixrYjohMH0sZD0+ZC5vYmplY3RTdG9yZShhKS5nZXRBbGwoYixjKSl9b2JqZWN0U3RvcmVOYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuai5vYmplY3RTdG9yZU5hbWVzKX1nZXROYW1lKCl7cmV0dXJuIHRoaXMuai5uYW1lfX0samw9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YWRkKGEsYil7cmV0dXJuIGJsKHRoaXMuai5hZGQoYSxiKSl9YXV0b0luY3JlbWVudCgpe3JldHVybiB0aGlzLmouYXV0b0luY3JlbWVudH1jbGVhcigpe3JldHVybiBibCh0aGlzLmouY2xlYXIoKSkudGhlbigoKT0+Cnt9KX1jb3VudChhKXtyZXR1cm4gYmwodGhpcy5qLmNvdW50KGEpKX1kZWxldGUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBJREJLZXlSYW5nZT9zbCh0aGlzLGEpOmJsKHRoaXMuai5kZWxldGUoYSkpfWdldChhKXtyZXR1cm4gYmwodGhpcy5qLmdldChhKSl9Z2V0QWxsKGEsYil7cmV0dXJuImdldEFsbCJpbiBJREJPYmplY3RTdG9yZS5wcm90b3R5cGU/YmwodGhpcy5qLmdldEFsbChhLGIpKTp0bCh0aGlzLGEsYil9aW5kZXgoYSl7dHJ5e3JldHVybiBuZXcgRnModGhpcy5qLmluZGV4KGEpKX1jYXRjaChiKXtpZihiIGluc3RhbmNlb2YgRXJyb3ImJmIubmFtZT09PSJOb3RGb3VuZEVycm9yIil0aHJvdyBuZXcgUGsoYSx0aGlzLmoubmFtZSk7dGhyb3cgYjt9fWdldE5hbWUoKXtyZXR1cm4gdGhpcy5qLm5hbWV9a2V5UGF0aCgpe3JldHVybiB0aGlzLmoua2V5UGF0aH19LGZsPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hO3RoaXMubz1uZXcgTWFwO3RoaXMuYWJvcnRlZD0hMTsKdGhpcy5kb25lPW5ldyBQcm9taXNlKChiLGMpPT57dGhpcy5qLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBsZXRlIiwoKT0+e2IoKX0pO3RoaXMuai5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsZD0+e2QuY3VycmVudFRhcmdldD09PWQudGFyZ2V0JiZjKHRoaXMuai5lcnJvcil9KTt0aGlzLmouYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLCgpPT57dmFyIGQ9dGhpcy5qLmVycm9yO2lmKGQpYyhkKTtlbHNlIGlmKCF0aGlzLmFib3J0ZWQpe2Q9Tms7dmFyIGU9dGhpcy5qLm9iamVjdFN0b3JlTmFtZXM7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDtoKyspe2xldCBrPWUuaXRlbShoKTtpZihrPT09bnVsbCl0aHJvdyBFcnJvcigibWEiKTtmLnB1c2goayl9ZD1uZXcgZCgiVU5LTk9XTl9BQk9SVCIse29iamVjdFN0b3JlTmFtZXM6Zi5qb2luKCksZGJOYW1lOnRoaXMuai5kYi5uYW1lLG1vZGU6dGhpcy5qLm1vZGV9KTtjKGQpfX0pfSl9YWJvcnQoKXt0aGlzLmouYWJvcnQoKTt0aGlzLmFib3J0ZWQ9CiEwO3Rocm93IG5ldyBOaygiRVhQTElDSVRfQUJPUlQiKTt9Y29tbWl0KCl7dGhpcy5hYm9ydGVkfHx0aGlzLmouY29tbWl0Py4oKX1vYmplY3RTdG9yZShhKXthPXRoaXMuai5vYmplY3RTdG9yZShhKTt2YXIgYj10aGlzLm8uZ2V0KGEpO2J8fChiPW5ldyBqbChhKSx0aGlzLm8uc2V0KGEsYikpO3JldHVybiBifX0sRnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Y291bnQoYSl7cmV0dXJuIGJsKHRoaXMuai5jb3VudChhKSl9ZGVsZXRlKGEpe3JldHVybiB1bCh0aGlzLHtxdWVyeTphfSxiPT5iLmRlbGV0ZSgpLnRoZW4oKCk9PnJsKGIpKSl9Z2V0KGEpe3JldHVybiBibCh0aGlzLmouZ2V0KGEpKX1nZXRBbGwoYSxiKXtyZXR1cm4iZ2V0QWxsImluIElEQkluZGV4LnByb3RvdHlwZT9ibCh0aGlzLmouZ2V0QWxsKGEsYikpOnZsKHRoaXMsYSxiKX1rZXlQYXRoKCl7cmV0dXJuIHRoaXMuai5rZXlQYXRofXVuaXF1ZSgpe3JldHVybiB0aGlzLmoudW5pcXVlfX0sd2w9Y2xhc3N7Y29uc3RydWN0b3IoYSwKYil7dGhpcy5yZXF1ZXN0PWE7dGhpcy5jdXJzb3I9Yn1kZWxldGUoKXtyZXR1cm4gYmwodGhpcy5jdXJzb3IuZGVsZXRlKCkpLnRoZW4oKCk9Pnt9KX11cGRhdGUoYSl7cmV0dXJuIGJsKHRoaXMuY3Vyc29yLnVwZGF0ZShhKSl9fTt2YXIgR3M9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm5hbWU9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLnY9ITA7dGhpcy5EPXRoaXMuQj0wfW8oYSxiLGM9e30pe3JldHVybiB6bChhLGIsYyl9ZGVsZXRlKGE9e30pe3JldHVybiBfLkFsKHRoaXMubmFtZSxhKX1vcGVuKCl7aWYoIXRoaXMudil0aHJvdyBCbCh0aGlzKTtpZih0aGlzLmopcmV0dXJuIHRoaXMuajt2YXIgYSxiPSgpPT57dGhpcy5qPT09YSYmKHRoaXMuaj12b2lkIDApfSxjPXtibG9ja2luZzplPT57ZS5jbG9zZSgpfSxjbG9zZWQ6YixUQTpiLHVwZ3JhZGU6dGhpcy5vcHRpb25zLnVwZ3JhZGV9LGQ9YXN5bmMoKT0+e3ZhciBlPUVycm9yKCkuc3RhY2s/PyIiO3RyeXtsZXQgaz1hd2FpdCB0aGlzLm8odGhpcy5uYW1lLHRoaXMub3B0aW9ucy52ZXJzaW9uLGMpO3ZhciBmPWssaD10aGlzLm9wdGlvbnM7bGV0IGw9W107Zm9yKGxldCBtIG9mIE9iamVjdC5rZXlzKGguc2UpKXtsZXQge1BkOm4seks6cD1OdW1iZXIuTUFYX1ZBTFVFfT0KaC5zZVttXTshKGYuai52ZXJzaW9uPj1uKXx8Zi5qLnZlcnNpb24+PXB8fGYuai5vYmplY3RTdG9yZU5hbWVzLmNvbnRhaW5zKG0pfHxsLnB1c2gobSl9aWYobC5sZW5ndGghPT0wKXtsZXQgbT1PYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMuc2UpLG49ay5vYmplY3RTdG9yZU5hbWVzKCk7aWYodGhpcy5EPF8uc2ooInl0aWRiX3Jlb3Blbl9kYl9yZXRyaWVzIiwwKSlyZXR1cm4gdGhpcy5EKyssay5jbG9zZSgpLF8uSWsobmV3IE5rKCJEQl9SRU9QRU5FRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sZm91bmRPYmplY3RTdG9yZXM6bn0pKSxkKCk7aWYodGhpcy5CPF8uc2ooInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIiwxKSlyZXR1cm4gdGhpcy5CKyssYXdhaXQgdGhpcy5kZWxldGUoKSxfLklrKG5ldyBOaygiREJfREVMRVRFRF9CWV9NSVNTSU5HX09CSkVDVF9TVE9SRVMiLHtkYk5hbWU6dGhpcy5uYW1lLGV4cGVjdGVkT2JqZWN0U3RvcmVzOm0sCmZvdW5kT2JqZWN0U3RvcmVzOm59KSksZCgpO3Rocm93IG5ldyBFcyhuLG0pO31yZXR1cm4ga31jYXRjaChrKXtpZihrIGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uP2submFtZT09PSJWZXJzaW9uRXJyb3IiOiJET01FcnJvciJpbiBzZWxmJiZrIGluc3RhbmNlb2YgRE9NRXJyb3I/ay5uYW1lPT09IlZlcnNpb25FcnJvciI6ayBpbnN0YW5jZW9mIE9iamVjdCYmIm1lc3NhZ2UiaW4gayYmay5tZXNzYWdlPT09IkFuIGF0dGVtcHQgd2FzIG1hZGUgdG8gb3BlbiBhIGRhdGFiYXNlIHVzaW5nIGEgbG93ZXIgdmVyc2lvbiB0aGFuIHRoZSBleGlzdGluZyB2ZXJzaW9uLiIpe2U9YXdhaXQgdGhpcy5vKHRoaXMubmFtZSx2b2lkIDAsey4uLmMsdXBncmFkZTp2b2lkIDB9KTtmPWUuai52ZXJzaW9uO2lmKHRoaXMub3B0aW9ucy52ZXJzaW9uIT09dm9pZCAwJiZmPnRoaXMub3B0aW9ucy52ZXJzaW9uKzEpdGhyb3cgZS5jbG9zZSgpLHRoaXMudj0hMSxCbCh0aGlzLGYpO3JldHVybiBlfWIoKTtrIGluc3RhbmNlb2YKRXJyb3ImJiFfLngoInl0aWRiX2FzeW5jX3N0YWNrX2tpbGxzd2l0Y2giKSYmKGsuc3RhY2s9YCR7ay5zdGFja31cbiR7ZS5zdWJzdHJpbmcoZS5pbmRleE9mKCJcbiIpKzEpfWApO3Rocm93IFJrKGssdGhpcy5uYW1lLCIiLHRoaXMub3B0aW9ucy52ZXJzaW9uPz8tMSk7fX07cmV0dXJuIHRoaXMuaj1hPWQoKX19O3ZhciBEbD1uZXcgR3MoIll0SWRiTWV0YSIse3NlOntkYXRhYmFzZXM6e1BkOjF9fSx1cGdyYWRlKGEsYil7YigxKSYmXy5rbChhLCJkYXRhYmFzZXMiLHtrZXlQYXRoOiJhY3R1YWxOYW1lIn0pfX0pO3ZhciBNbCxLbD1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fShuZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt9fSk7bmV3IF8uY3M7dmFyIFlsPWNsYXNzIGV4dGVuZHMgR3N7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLGIpO3RoaXMub3B0aW9ucz1iO0trKGEpfW8oYSxiLGM9e30pe3JldHVybih0aGlzLm9wdGlvbnMuc2hhcmVkP1RsOlNsKShhLGIsey4uLmN9KX1kZWxldGUoYT17fSl7cmV0dXJuKHRoaXMub3B0aW9ucy5zaGFyZWQ/WGw6VWwpKHRoaXMubmFtZSxhKX19O3ZhciBhbT1fLiRsKCJ5dEdjZkNvbmZpZyIse3NlOntjb2xkQ29uZmlnU3RvcmU6e1BkOjF9LGhvdENvbmZpZ1N0b3JlOntQZDoxfX0sc2hhcmVkOiExLHVwZ3JhZGUoYSxiKXtiKDEpJiYoXy5vbChfLmtsKGEsImhvdENvbmZpZ1N0b3JlIix7a2V5UGF0aDoia2V5IixhdXRvSW5jcmVtZW50OiEwfSksImhvdFRpbWVzdGFtcEluZGV4IiwidGltZXN0YW1wIiksXy5vbChfLmtsKGEsImNvbGRDb25maWdTdG9yZSIse2tleVBhdGg6ImtleSIsYXV0b0luY3JlbWVudDohMH0pLCJjb2xkVGltZXN0YW1wSW5kZXgiLCJ0aW1lc3RhbXAiKSl9LHZlcnNpb246MX0pO3ZhciBIcz1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMubz1bXTt0aGlzLmo9W107dmFyIGE9Xy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RVcGRhdGVDYWxsYmFja3MiKTthPyh0aGlzLm89Wy4uLmFdLHRoaXMuaj1hKToodGhpcy5qPVtdLF8ucmEoInl0LmdjZi5jb25maWcuaG90VXBkYXRlQ2FsbGJhY2tzIix0aGlzLmopKX1sYSgpe2ZvcihsZXQgYiBvZiB0aGlzLm8pe3ZhciBhPXRoaXMuajtsZXQgYz1hLmluZGV4T2YoYik7Yz49MCYmYS5zcGxpY2UoYywxKX10aGlzLm8ubGVuZ3RoPTA7c3VwZXIubGEoKX19O3ZhciBpbT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuaj0wO3RoaXMubz1uZXcgSHN9d2ooKXtyZXR1cm4gXy5zYSgieXQuZ2NmLmNvbmZpZy5ob3RDb25maWdHcm91cCIpPz9fLncoIlJBV19IT1RfQ09ORklHX0dST1VQIil9QihhKXt0aGlzLmhvdEhhc2hEYXRhPWE7Xy5yYSgieXQuZ2NmLmNvbmZpZy5ob3RIYXNoRGF0YSIsdGhpcy5ob3RIYXNoRGF0YXx8bnVsbCl9fTt2YXIgSXM7SXM9dHlwZW9mIFRleHRFbmNvZGVyIT09InVuZGVmaW5lZCI/bmV3IFRleHRFbmNvZGVyOm51bGw7Xy55bT1Jcz9hPT5Jcy5lbmNvZGUoYSk6YT0+e2E9Xy5hYyhhKTt2YXIgYj1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7Zm9yKGxldCBjPTA7YzxiLmxlbmd0aDtjKyspYltjXT1hW2NdO3JldHVybiBifTtfLnBtLnByb3RvdHlwZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm57dmVyc2lvbjp0aGlzLnZlcnNpb24sYXJnczp0aGlzLmFyZ3N9fTtfLnFtLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvcGljfTt2YXIgSnM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIil8fG5ldyBfLnRoO18udGgucHJvdG90eXBlLnN1YnNjcmliZT1fLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU7Xy50aC5wcm90b3R5cGUudW5zdWJzY3JpYmVCeUtleT1fLnRoLnByb3RvdHlwZS5jaTtfLnRoLnByb3RvdHlwZS5wdWJsaXNoPV8udGgucHJvdG90eXBlLnB1Ymxpc2g7Xy50aC5wcm90b3R5cGUuY2xlYXI9Xy50aC5wcm90b3R5cGUuY2xlYXI7Xy5yYSgieXRQdWJzdWIyUHVic3ViMkluc3RhbmNlIixKcyk7Xy5Lcz1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU3Vic2NyaWJlZEtleXMiKXx8e307Xy5yYSgieXRQdWJzdWIyUHVic3ViMlN1YnNjcmliZWRLZXlzIixfLktzKTtfLkxzPV8uc2EoInl0UHVic3ViMlB1YnN1YjJUb3BpY1RvS2V5cyIpfHx7fTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyVG9waWNUb0tleXMiLF8uTHMpO18uTXM9Xy5zYSgieXRQdWJzdWIyUHVic3ViMklzQXN5bmMiKXx8e307Cl8ucmEoInl0UHVic3ViMlB1YnN1YjJJc0FzeW5jIixfLk1zKTtfLnJhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIsbnVsbCk7dmFyIHptO18ud209Xy5zaigibWF4X2JvZHlfc2l6ZV90b19jb21wcmVzcyIsNUU1KTtfLnhtPV8uc2ooIm1pbl9ib2R5X3NpemVfdG9fY29tcHJlc3MiLDUwMCk7em09MDt2YXIgTnM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy54aT10aGlzLk9jPSExO3RoaXMucG90ZW50aWFsRXNmRXJyb3JDb3VudGVyPXRoaXMuaj0wO3RoaXMuaGFuZGxlRXJyb3I9KCk9Pnt9O3RoaXMuVGY9KCk9Pnt9O3RoaXMubm93PURhdGUubm93O3RoaXMuYWg9ITE7dGhpcy5ncz1hLmdzPz8xMDA7dGhpcy5Ncj1hLk1yPz8xO3RoaXMuS3I9YS5Lcj8/MjU5MkU2O3RoaXMuQ3I9YS5Dcj8/MTJFNDt0aGlzLkxyPWEuTHI/PzVFMzt0aGlzLkphPWEuSmE/P3ZvaWQgMDt0aGlzLk9pPSEhYS5PaTt0aGlzLkRpPWEuRGk/Py4xO3RoaXMuS2o9YS5Laj8/MTA7YS5oYW5kbGVFcnJvciYmKHRoaXMuaGFuZGxlRXJyb3I9YS5oYW5kbGVFcnJvcik7YS5UZiYmKHRoaXMuVGY9YS5UZik7YS5haCYmKHRoaXMuYWg9YS5haCk7YS54aSYmKHRoaXMueGk9YS54aSk7dGhpcy5LYT1hLkthO3RoaXMuRGM9YS5EYzt0aGlzLmNiPWEuY2I7dGhpcy5TYT1hLlNhO3RoaXMuR2Q9YS5HZDt0aGlzLkttPWEuS207CnRoaXMuRm09YS5GbTtCbSh0aGlzKSYmKCF0aGlzLkthfHx0aGlzLkthKCJuZXR3b3JrbGVzc19sb2dnaW5nIikpJiZEbSh0aGlzKX13cml0ZVRoZW5TZW5kKGEsYj17fSl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBjPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLmNiLnNldChjLHRoaXMuSmEpLnRoZW4oZD0+e2MuaWQ9ZDt0aGlzLlNhLlNiKCkmJkdtKHRoaXMsYyl9KS5jYXRjaChkPT57R20odGhpcyxjKTtIbSh0aGlzLGQpfSl9ZWxzZSB0aGlzLkdkKGEsYil9c2VuZFRoZW5Xcml0ZShhLGI9e30sYyl7aWYoQm0odGhpcykmJnRoaXMuT2Mpe2xldCBkPXt1cmw6YSxvcHRpb25zOmIsdGltZXN0YW1wOnRoaXMubm93KCksc3RhdHVzOiJORVciLHNlbmRDb3VudDowfTt0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiYoZC5za2lwUmV0cnk9Yyk7aWYodGhpcy5TYS5TYigpfHx0aGlzLkthJiYKdGhpcy5LYSgibndsX2FnZ3Jlc3NpdmVfc2VuZF90aGVuX3dyaXRlIikmJiFkLnNraXBSZXRyeSl7aWYoIWQuc2tpcFJldHJ5KXtsZXQgZT1iLm9uRXJyb3I/Yi5vbkVycm9yOigpPT57fTtiLm9uRXJyb3I9YXN5bmMoZixoKT0+e2F3YWl0IHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goaz0+e0htKHRoaXMsayl9KTtlKGYsaCl9fXRoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KX1lbHNlIHRoaXMuY2Iuc2V0KGQsdGhpcy5KYSkuY2F0Y2goZT0+e3RoaXMuR2QoYSxiLGQuc2tpcFJldHJ5KTtIbSh0aGlzLGUpfSl9ZWxzZSB0aGlzLkdkKGEsYix0aGlzLkthJiZ0aGlzLkthKCJud2xfc2tpcF9yZXRyeSIpJiZjKX1zZW5kQW5kV3JpdGUoYSxiPXt9KXtpZihCbSh0aGlzKSYmdGhpcy5PYyl7bGV0IGM9e3VybDphLG9wdGlvbnM6Yix0aW1lc3RhbXA6dGhpcy5ub3coKSxzdGF0dXM6Ik5FVyIsc2VuZENvdW50OjB9LGQ9ITEsZT1iLm9uU3VjY2Vzcz9iLm9uU3VjY2VzczooKT0+e307Yy5vcHRpb25zLm9uU3VjY2Vzcz0KKGYsaCk9PntjLmlkIT09dm9pZCAwP3RoaXMuY2IuRmYoYy5pZCx0aGlzLkphKTpkPSEwO3RoaXMuU2EuZWYmJnRoaXMuS2EmJnRoaXMuS2EoInZzc19uZXR3b3JrX2hpbnQiKSYmdGhpcy5TYS5lZighMCk7ZShmLGgpfTt0aGlzLkdkKGMudXJsLGMub3B0aW9ucyx2b2lkIDAsITApO3RoaXMuY2Iuc2V0KGMsdGhpcy5KYSkudGhlbihmPT57Yy5pZD1mO2QmJnRoaXMuY2IuRmYoYy5pZCx0aGlzLkphKX0pLmNhdGNoKGY9PntIbSh0aGlzLGYpfSl9ZWxzZSB0aGlzLkdkKGEsYix2b2lkIDAsITApfW8oKXtpZighQm0odGhpcykpdGhyb3cgRXJyb3IoInJhIik7dGhpcy5qfHwodGhpcy5qPXRoaXMuRGMucGIoYXN5bmMoKT0+e3ZhciBhPWF3YWl0IHRoaXMuY2IuV3AoIk5FVyIsdGhpcy5KYSk7YT8oYXdhaXQgR20odGhpcyxhKSx0aGlzLmomJih0aGlzLmo9MCx0aGlzLm8oKSkpOnRoaXMudigpfSx0aGlzLmdzKSl9digpe3RoaXMuRGMuQWEodGhpcy5qKTt0aGlzLmo9MH19O3ZhciBLbTt2YXIgVW89e2FjY291bnRTdGF0ZUNoYW5nZVNpZ25lZEluOjIzLGFjY291bnRTdGF0ZUNoYW5nZVNpZ25lZE91dDoyNCxkZWxheWVkRXZlbnRNZXRyaWNDYXB0dXJlZDoxMSxsYXRlbmN5QWN0aW9uQmFzZWxpbmVkOjYsbGF0ZW5jeUFjdGlvbkluZm86NyxsYXRlbmN5QWN0aW9uVGlja2VkOjUsb2ZmbGluZVRyYW5zZmVyU3RhdHVzQ2hhbmdlZDoyLG9mZmxpbmVJbWFnZURvd25sb2FkOjMzNSxwbGF5YmFja1N0YXJ0U3RhdGVDaGFuZ2VkOjksc3lzdGVtSGVhbHRoQ2FwdHVyZWQ6MyxtYW5nb09uYm9hcmRpbmdDb21wbGV0ZWQ6MTAsbWFuZ29QdXNoTm90aWZpY2F0aW9uUmVjZWl2ZWQ6MjMwLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25FcnJvcjoxMjEsbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN1bW1hcnk6MTIyLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QcmV1bmZvcmtEYlZlcnNpb25OdW1iZXI6MTMzLG1hbmdvVW5mb3JrRGJNaWdyYXRpb25QaG9uZU1ldGFkYXRhOjEzNCxtYW5nb1VuZm9ya0RiTWlncmF0aW9uUGhvbmVTdG9yYWdlOjEzNSwKbWFuZ29VbmZvcmtEYk1pZ3JhdGlvblN0ZXA6MTQyLG1hbmdvQXN5bmNBcGlNaWdyYXRpb25FdmVudDoyMjMsbWFuZ29Eb3dubG9hZFZpZGVvUmVzdWx0OjIyNCxtYW5nb0hvbWVwYWdlVmlkZW9Db3VudDoyNzksbWFuZ29Ib21lVjNTdGF0ZToyOTUsbWFuZ29JbWFnZUNsaWVudENhY2hlSGl0RXZlbnQ6MjczLHNkQ2FyZFN0YXR1c0NoYW5nZWQ6OTgsZnJhbWVzRHJvcHBlZDoxMix0aHVtYm5haWxIb3ZlcmVkOjEzLGRldmljZVJldGVudGlvbkluZm9DYXB0dXJlZDoxNCx0aHVtYm5haWxMb2FkZWQ6MTUsYmFja1RvQXBwRXZlbnQ6MzE4LHN0cmVhbWluZ1N0YXRzQ2FwdHVyZWQ6MTcsb2ZmbGluZVZpZGVvU2hhcmVkOjE5LGFwcENyYXNoZWQ6MjAseW91VGhlcmU6MjEsb2ZmbGluZVN0YXRlU25hcHNob3Q6MjIsbWR4U2Vzc2lvblN0YXJ0ZWQ6MjUsbWR4U2Vzc2lvbkNvbm5lY3RlZDoyNixtZHhTZXNzaW9uRGlzY29ubmVjdGVkOjI3LGJlZHJvY2tSZXNvdXJjZUNvbnN1bXB0aW9uU25hcHNob3Q6MjgsCm5leHRHZW5XYXRjaFdhdGNoU3dpcGVkOjI5LGtpZHNBY2NvdW50c1NuYXBzaG90OjMwLHplcm9TdGVwQ2hhbm5lbENyZWF0ZWQ6MzEsdHZodG1sNVNlYXJjaENvbXBsZXRlZDozMixvZmZsaW5lU2hhcmVQYWlyaW5nOjM0LG9mZmxpbmVTaGFyZVVubG9jazozNSxtZHhSb3V0ZURpc3RyaWJ1dGlvblNuYXBzaG90OjM2LGJlZHJvY2tSZXBldGl0aXZlQWN0aW9uVGltZWQ6MzcsdW5wbHVnZ2VkRGVncmFkYXRpb25JbmZvOjIyOSx1cGxvYWRNcDRIZWFkZXJNb3ZlZDozOCx1cGxvYWRWaWRlb1RyYW5zY29kZWQ6MzksdXBsb2FkUHJvY2Vzc29yU3RhcnRlZDo0Nix1cGxvYWRQcm9jZXNzb3JFbmRlZDo0Nyx1cGxvYWRQcm9jZXNzb3JSZWFkeTo5NCx1cGxvYWRQcm9jZXNzb3JSZXF1aXJlbWVudFBlbmRpbmc6OTUsdXBsb2FkUHJvY2Vzc29ySW50ZXJydXB0ZWQ6OTYsdXBsb2FkRnJvbnRlbmRFdmVudDoyNDEsYXNzZXRQYWNrRG93bmxvYWRTdGFydGVkOjQxLGFzc2V0UGFja0Rvd25sb2FkZWQ6NDIsCmFzc2V0UGFja0FwcGxpZWQ6NDMsYXNzZXRQYWNrRGVsZXRlZDo0NCxhcHBJbnN0YWxsQXR0cmlidXRpb25FdmVudDo0NTkscGxheWJhY2tTZXNzaW9uU3RvcHBlZDo0NSxhZEJsb2NrZXJNZXNzYWdpbmdTaG93bjo0OCxkaXN0cmlidXRpb25DaGFubmVsQ2FwdHVyZWQ6NDksZGF0YVBsYW5DcGlkUmVxdWVzdGVkOjUxLGRldGFpbGVkTmV0d29ya1R5cGVDYXB0dXJlZDo1MixzZW5kU3RhdGVVcGRhdGVkOjUzLHJlY2VpdmVTdGF0ZVVwZGF0ZWQ6NTQsc2VuZERlYnVnU3RhdGVVcGRhdGVkOjU1LHJlY2VpdmVEZWJ1Z1N0YXRlVXBkYXRlZDo1NixraWRzRXJyb3JlZDo1NyxtZHhNc25TZXNzaW9uU3RhdHNGaW5pc2hlZDo1OCxhcHBTZXR0aW5nc0NhcHR1cmVkOjU5LG1keFdlYlNvY2tldFNlcnZlckh0dHBFcnJvcjo2MCxtZHhXZWJTb2NrZXRTZXJ2ZXI6NjEsc3RhcnR1cENyYXNoZXNEZXRlY3RlZDo2Mixjb2xkU3RhcnRJbmZvOjQzNSxvZmZsaW5lUGxheWJhY2tTdGFydGVkOjYzLGxpdmVDaGF0TWVzc2FnZVNlbnQ6MjI1LApsaXZlQ2hhdFVzZXJQcmVzZW50OjQzNCxsaXZlQ2hhdEJlaW5nTW9kZXJhdGVkOjQ1NyxsaXZlQ2hhdEdpZnRCdXR0b25JbXByZXNzZWQ6NTU4LGxpdmVDcmVhdGlvbkNhbWVyYVVwZGF0ZWQ6NjQsbGl2ZUNyZWF0aW9uRW5jb2RpbmdDYXB0dXJlZDo2NSxsaXZlQ3JlYXRpb25FcnJvcjo2NixsaXZlQ3JlYXRpb25IZWFsdGhVcGRhdGVkOjY3LGxpdmVDcmVhdGlvblZpZGVvRWZmZWN0c0NhcHR1cmVkOjY4LGxpdmVDcmVhdGlvblN0YWdlT2NjdXJlZDo3NSxvZmZsaW5lU3lzdGVtRmFpbHVyZTo1NDYsbGl2ZUNyZWF0aW9uQnJvYWRjYXN0U2NoZWR1bGVkOjEyMyxsaXZlQ3JlYXRpb25BcmNoaXZlUmVwbGFjZW1lbnQ6MTQ5LGxpdmVDcmVhdGlvbkNvc3RyZWFtaW5nQ29ubmVjdGlvbjo0MjEsbGl2ZUNyZWF0aW9uUGxheWFibGVzTWV0cmljczo1MzMsbGl2ZUNyZWF0aW9uU3RyZWFtV2VicnRjU3RhdHM6Mjg4LGxpdmVDcmVhdGlvbldlYnJ0Y0Vycm9yOjUyNixtZHhTZXNzaW9uUmVjb3ZlcnlTdGFydGVkOjY5LAptZHhTZXNzaW9uUmVjb3ZlcnlDb21wbGV0ZWQ6NzAsbWR4U2Vzc2lvblJlY292ZXJ5U3RvcHBlZDo3MSx2aXN1YWxFbGVtZW50U2hvd246NzIsdmlzdWFsRWxlbWVudEhpZGRlbjo3Myx2aXN1YWxFbGVtZW50R2VzdHVyZWQ6NzgsdmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZDoyMDgsc2NyZWVuQ3JlYXRlZDoxNTYscGxheWJhY2tBc3NvY2lhdGVkOjIwMix2aXN1YWxFbGVtZW50QXR0YWNoZWQ6MjE1LHBsYXliYWNrQ29udGV4dEV2ZW50OjIxNCxjbG91ZENhc3RpbmdQbGF5YmFja1N0YXJ0ZWQ6NzQsd2ViUGxheWVyQXBpQ2FsbGVkOjc2LHR2aHRtbDVBY2NvdW50RGlhbG9nT3BlbmVkOjc5LGZvcmVncm91bmRIZWFydGJlYXQ6ODAsZm9yZWdyb3VuZEhlYXJ0YmVhdFNjcmVlbkFzc29jaWF0ZWQ6MTExLGtpZHNPZmZsaW5lU25hcHNob3Q6ODEsbWR4RW5jcnlwdGlvblNlc3Npb25TdGF0c0ZpbmlzaGVkOjgyLHBsYXllclJlcXVlc3RDb21wbGV0ZWQ6ODMsbGl0ZVNjaGVkdWxlclN0YXRpc3RpY3M6ODQsCm1keFNpZ25Jbjo4NSxzcGFjZWNhc3RNZXRhZGF0YUxvb2t1cFJlcXVlc3RlZDo4NixzcGFjZWNhc3RCYXRjaExvb2t1cFJlcXVlc3RlZDo4NyxzcGFjZWNhc3RTdW1tYXJ5UmVxdWVzdGVkOjg4LHNwYWNlY2FzdFBsYXliYWNrOjg5LHNwYWNlY2FzdERpc2NvdmVyeTo5MCx0dmh0bWw1TGF1bmNoVXJsQ29tcG9uZW50Q2hhbmdlZDo5MSxtZHhCYWNrZ3JvdW5kUGxheWJhY2tSZXF1ZXN0Q29tcGxldGVkOjkyLG1keEJyb2tlbkFkZGl0aW9uYWxEYXRhRGV2aWNlRGV0ZWN0ZWQ6OTMsdHZodG1sNUxvY2FsU3RvcmFnZTo5Nyx0dmh0bWw1RGV2aWNlU3RvcmFnZVN0YXR1czoxNDcsYXV0b0NhcHRpb25zQXZhaWxhYmxlOjk5LHBsYXliYWNrU2NydWJiaW5nRXZlbnQ6MzM5LGZsZXh5U3RhdGU6MTAwLGludGVyZmFjZU9yaWVudGF0aW9uQ2FwdHVyZWQ6MTAxLG1haW5BcHBCcm93c2VGcmFnbWVudENhY2hlOjEwMixvZmZsaW5lQ2FjaGVWZXJpZmljYXRpb25GYWlsdXJlOjEwMyxvZmZsaW5lUGxheWJhY2tFeGNlcHRpb25EaWdlc3Q6MjE3LAp2ckNvcHJlc2VuY2VTdGF0czoxMDQsdnJDb3ByZXNlbmNlU3luY1N0YXRzOjEzMCx2ckNvcHJlc2VuY2VDb21tc1N0YXRzOjEzNyx2ckNvcHJlc2VuY2VQYXJ0eVN0YXRzOjE1Myx2ckNvcHJlc2VuY2VFbW9qaVN0YXRzOjIxMyx2ckNvcHJlc2VuY2VFdmVudDoxNDEsdnJDb3ByZXNlbmNlRmxvd1RyYW5zaXRFdmVudDoxNjAsdnJDb3dhdGNoUGFydHlFdmVudDo0OTIsdnJDb3dhdGNoVXNlclN0YXJ0T3JKb2luRXZlbnQ6NTA0LHZyUGxheWJhY2tFdmVudDozNDUsa2lkc0FnZUdhdGVUcmFja2luZzoxMDUsb2ZmbGluZURlbGF5QWxsb3dlZFRyYWNraW5nOjEwNixtYWluQXBwQXV0b09mZmxpbmVTdGF0ZToxMDcsdmlkZW9Bc1RodW1ibmFpbERvd25sb2FkOjEwOCx2aWRlb0FzVGh1bWJuYWlsUGxheWJhY2s6MTA5LGxpdGVTaG93TW9yZToxMTAscmVuZGVyaW5nRXJyb3I6MTE4LGtpZHNQcm9maWxlUGluR2F0ZVRyYWNraW5nOjExOSxhYnJUcmFqZWN0b3J5OjEyNCxzY3JvbGxFdmVudDoxMjUsCnN0cmVhbXpJbmNyZW1lbnRlZDoxMjYsa2lkc1Byb2ZpbGVTd2l0Y2hlclRyYWNraW5nOjEyNyxraWRzUHJvZmlsZUNyZWF0aW9uVHJhY2tpbmc6MTI5LGJ1eUZsb3dTdGFydGVkOjEzNixpbnRlZ3JhdGlvbkF0dHJpYnV0aW9uRXZlbnQ6NTU2LG1ic0Nvbm5lY3Rpb25Jbml0aWF0ZWQ6MTM4LG1ic1BsYXliYWNrSW5pdGlhdGVkOjEzOSxtYnNMb2FkQ2hpbGRyZW46MTQwLGxpdGVQcm9maWxlRmV0Y2hlcjoxNDQsbWR4UmVtb3RlVHJhbnNhY3Rpb246MTQ2LHJlZWxQbGF5YmFja0Vycm9yOjE0OCxyZWFjaGFiaWxpdHlEZXRlY3Rpb25FdmVudDoxNTAsbW9iaWxlUGxheWJhY2tFdmVudDoxNTEsY291cnRzaWRlUGxheWVyU3RhdGVDaGFuZ2VkOjE1MixtdXNpY1BlcnNpc3RlbnRDYWNoZUNoZWNrZWQ6MTU0LG11c2ljUGVyc2lzdGVudENhY2hlQ2xlYXJlZDoxNTUscGxheWJhY2tJbnRlcnJ1cHRlZDoxNTcscGxheWJhY2tJbnRlcnJ1cHRpb25SZXNvbHZlZDoxNTgsZml4Rm9wRmxvdzoxNTksCmFuckRldGVjdGlvbjoxNjEsYmFja3N0YWdlUG9zdENyZWF0aW9uRmxvd0VuZGVkOjE2MixjbGllbnRFcnJvcjoxNjMsZ2FtaW5nQWNjb3VudExpbmtTdGF0dXNDaGFuZ2VkOjE2NCxsaXRlSG91c2V3YXJtaW5nOjE2NSxidXlGbG93RXZlbnQ6MTY3LGtpZHNQYXJlbnRhbEdhdGVUcmFja2luZzoxNjgsa2lkc1NpZ25lZE91dFNldHRpbmdzU3RhdHVzOjQzNyxraWRzU2lnbmVkT3V0UGF1c2VIaXN0b3J5Rml4U3RhdHVzOjQzOCx0dmh0bWw1V2F0Y2hkb2dWaW9sYXRpb246NDQ0LHlwY1VwZ3JhZGVGbG93OjE2OSx5b25nbGVTdHVkeToxNzAseXBjVXBkYXRlRmxvd1N0YXJ0ZWQ6MTcxLHlwY1VwZGF0ZUZsb3dDYW5jZWxsZWQ6MTcyLHlwY1VwZGF0ZUZsb3dTdWNjZWVkZWQ6MTczLHlwY1VwZGF0ZUZsb3dGYWlsZWQ6MTc0LGxpdGVHcm93dGhraXRQcm9tbzoxNzUscGF5bWVudEZsb3dTdGFydGVkOjM0MSx0cmFuc2FjdGlvbkZsb3dTaG93UGF5bWVudERpYWxvZzo0MDUsdHJhbnNhY3Rpb25GbG93U3RhcnRlZDoxNzYsCnRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVN0YXJ0ZWQ6MjIyLHRyYW5zYWN0aW9uRmxvd1NlY29uZGFyeURldmljZVNpZ25lZE91dFN0YXJ0ZWQ6MzgzLHRyYW5zYWN0aW9uRmxvd0NhbmNlbGxlZDoxNzcsdHJhbnNhY3Rpb25GbG93UGF5bWVudENhbGxCYWNrUmVjZWl2ZWQ6Mzg3LHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWJtaXR0ZWQ6NDYwLHRyYW5zYWN0aW9uRmxvd1BheW1lbnRTdWNjZWVkZWQ6MzI5LHRyYW5zYWN0aW9uRmxvd1N1Y2NlZWRlZDoxNzgsdHJhbnNhY3Rpb25GbG93RmFpbGVkOjE3OSx0cmFuc2FjdGlvbkZsb3dQbGF5QmlsbGluZ0Nvbm5lY3Rpb25TdGFydEV2ZW50OjQyOCx0cmFuc2FjdGlvbkZsb3dTZWNvbmRhcnlEZXZpY2VTdWNjZXNzOjQ1OCx0cmFuc2FjdGlvbkZsb3dFcnJvckV2ZW50OjQxMSxsaXRlVmlkZW9RdWFsaXR5Q2hhbmdlZDoxODAsd2F0Y2hCcmVha0VuYWJsZW1lbnRTZXR0aW5nRXZlbnQ6MTgxLHdhdGNoQnJlYWtGcmVxdWVuY3lTZXR0aW5nRXZlbnQ6MTgyLAp2aWRlb0VmZmVjdHNDYW1lcmFQZXJmb3JtYW5jZU1ldHJpY3M6MTgzLGFkTm90aWZ5OjE4NCxzdGFydHVwVGVsZW1ldHJ5OjE4NSxwbGF5YmFja09mZmxpbmVGYWxsYmFja1VzZWQ6MTg2LG91dE9mTWVtb3J5OjE4Nyx5cGNQYXVzZUZsb3dTdGFydGVkOjE4OCx5cGNQYXVzZUZsb3dDYW5jZWxsZWQ6MTg5LHlwY1BhdXNlRmxvd1N1Y2NlZWRlZDoxOTAseXBjUGF1c2VGbG93RmFpbGVkOjE5MSx1cGxvYWRGaWxlU2VsZWN0ZWQ6MTkyLHlwY1Jlc3VtZUZsb3dTdGFydGVkOjE5Myx5cGNSZXN1bWVGbG93Q2FuY2VsbGVkOjE5NCx5cGNSZXN1bWVGbG93U3VjY2VlZGVkOjE5NSx5cGNSZXN1bWVGbG93RmFpbGVkOjE5NixhZHNDbGllbnRTdGF0ZUNoYW5nZToxOTcseXBjQ2FuY2VsRmxvd1N0YXJ0ZWQ6MTk4LHlwY0NhbmNlbEZsb3dDYW5jZWxsZWQ6MTk5LHlwY0NhbmNlbEZsb3dTdWNjZWVkZWQ6MjAwLHlwY0NhbmNlbEZsb3dGYWlsZWQ6MjAxLHlwY0NhbmNlbEZsb3dHb1RvUGF5bWVudFByb2Nlc3Nvcjo0MDIsCnlwY0RlYWN0aXZhdGVGbG93U3RhcnRlZDozMjAseXBjUmVkZWVtRmxvd1N0YXJ0ZWQ6MjAzLHlwY1JlZGVlbUZsb3dDYW5jZWxsZWQ6MjA0LHlwY1JlZGVlbUZsb3dTdWNjZWVkZWQ6MjA1LHlwY1JlZGVlbUZsb3dGYWlsZWQ6MjA2LHlwY0ZhbWlseUNyZWF0ZUZsb3dTdGFydGVkOjI1OCx5cGNGYW1pbHlDcmVhdGVGbG93Q2FuY2VsbGVkOjI1OSx5cGNGYW1pbHlDcmVhdGVGbG93U3VjY2VlZGVkOjI2MCx5cGNGYW1pbHlDcmVhdGVGbG93RmFpbGVkOjI2MSx5cGNGYW1pbHlNYW5hZ2VGbG93U3RhcnRlZDoyNjIseXBjRmFtaWx5TWFuYWdlRmxvd0NhbmNlbGxlZDoyNjMseXBjRmFtaWx5TWFuYWdlRmxvd1N1Y2NlZWRlZDoyNjQseXBjRmFtaWx5TWFuYWdlRmxvd0ZhaWxlZDoyNjUscmVzdG9yZUNvbnRleHRFdmVudDoyMDcsZW1iZWRzQWRFdmVudDozMjcsYXV0b3BsYXlUcmlnZ2VyZWQ6MjA5LGNsaWVudERhdGFFcnJvckV2ZW50OjIxMCxleHBlcmltZW50YWxWc3NWYWxpZGF0aW9uOjIxMSwKdHZodG1sNVRyaWdnZXJlZEV2ZW50OjIxMix0dmh0bWw1RnJhbWV3b3Jrc0ZpZWxkVHJpYWxSZXN1bHQ6MjE2LHR2aHRtbDVGcmFtZXdvcmtzRmllbGRUcmlhbFN0YXJ0OjIyMCxtdXNpY09mZmxpbmVQcmVmZXJlbmNlczoyMTgsd2F0Y2hUaW1lU2VnbWVudDoyMTksYXBwV2lkdGhMYXlvdXRFcnJvcjoyMjEsYWNjb3VudFJlZ2lzdHJ5Q2hhbmdlOjIyNix1c2VyTWVudGlvbkF1dG9Db21wbGV0ZUJveEV2ZW50OjIyNyxkb3dubG9hZFJlY29tbWVuZGF0aW9uRW5hYmxlbWVudFNldHRpbmdFdmVudDoyMjgsbXVzaWNQbGF5YmFja0NvbnRlbnRNb2RlQ2hhbmdlRXZlbnQ6MjMxLG9mZmxpbmVEYk9wZW5Db21wbGV0ZWQ6MjMyLGtpZHNGbG93RXZlbnQ6MjMzLGtpZHNGbG93Q29ycHVzU2VsZWN0ZWRFdmVudDoyMzQsdmlkZW9FZmZlY3RzRXZlbnQ6MjM1LHVucGx1Z2dlZE9wc0VvZ0FuYWx5dGljc0V2ZW50OjIzNixwbGF5YmFja0F1ZGlvUm91dGVFdmVudDoyMzcsaW50ZXJhY3Rpb25Mb2dnaW5nRGVidWdNb2RlRXJyb3I6MjM4LApvZmZsaW5lWXRiUmVmcmVzaGVkOjIzOSxraWRzRmxvd0Vycm9yOjI0MCxtdXNpY0F1dG9wbGF5T25MYXVuY2hBdHRlbXB0ZWQ6MjQyLGRldmljZUNvbnRleHRBY3Rpdml0eUV2ZW50OjI0MyxkZXZpY2VDb250ZXh0RXZlbnQ6MjQ0LHRlbXBsYXRlUmVzb2x1dGlvbkV4Y2VwdGlvbjoyNDUsbXVzaWNTaWRlbG9hZGVkUGxheWxpc3RTZXJ2aWNlQ2FsbGVkOjI0NixlbWJlZHNTdG9yYWdlQWNjZXNzTm90Q2hlY2tlZDoyNDcsZW1iZWRzSGFzU3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNDgsZW1iZWRzSXRwUGxheWVkT25SZWxvYWQ6MjQ5LGVtYmVkc1JlcXVlc3RTdG9yYWdlQWNjZXNzUmVzdWx0OjI1MCxlbWJlZHNTaG91bGRSZXF1ZXN0U3RvcmFnZUFjY2Vzc1Jlc3VsdDoyNTEsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NTdGF0ZToyNTYsZW1iZWRzUmVxdWVzdFN0b3JhZ2VBY2Nlc3NGYWlsZWRTdGF0ZToyNTcsZW1iZWRzSXRwV2F0Y2hMYXRlclJlc3VsdDoyNjYsc2VhcmNoU3VnZ2VzdERlY29kaW5nUGF5bG9hZEZhaWx1cmU6MjUyLApzaXJpU2hvcnRjdXRBY3RpdmF0ZWQ6MjUzLHR2aHRtbDVLZXlib2FyZFBlcmZvcm1hbmNlOjI1NCxsYXRlbmN5QWN0aW9uU3BhbjoyNTUsZWxlbWVudHNMb2c6MjY3LHl0YkZpbGVPcGVuZWQ6MjY4LHRmbGl0ZU1vZGVsRXJyb3I6MjY5LGFwaVRlc3Q6MjcwLHlvbmdsZVVzYlNldHVwOjI3MSx0b3VTdHJpa2VJbnRlcnN0aXRpYWxFdmVudDoyNzIsbGl0ZVN0cmVhbVRvU2F2ZToyNzQsYXBwQnVuZGxlQ2xpZW50RXZlbnQ6Mjc1LHl0YkZpbGVDcmVhdGlvbkZhaWxlZDoyNzYsYWROb3RpZnlGYWlsdXJlOjI3OCx5dGJUcmFuc2ZlckZhaWxlZDoyODAsYmxvY2tpbmdSZXF1ZXN0RmFpbGVkOjI4MSxsaXRlQWNjb3VudFNlbGVjdG9yOjI4MixsaXRlQWNjb3VudFVpQ2FsbGJhY2tzOjI4MyxkdW1teVBheWxvYWQ6Mjg0LGJyb3dzZVJlc3BvbnNlVmFsaWRhdGlvbkV2ZW50OjI4NSxlbnRpdGllc0Vycm9yOjI4NixtdXNpY0lvc0JhY2tncm91bmRGZXRjaDoyODcsbWR4Tm90aWZpY2F0aW9uRXZlbnQ6Mjg5LApsYXllcnNWYWxpZGF0aW9uRXJyb3I6MjkwLG11c2ljUHdhSW5zdGFsbGVkOjI5MSxsaXRlQWNjb3VudENsZWFudXA6MjkyLGh0bWw1UGxheWVySGVhbHRoRXZlbnQ6MjkzLHdhdGNoUmVzdG9yZUF0dGVtcHQ6Mjk0LGxpdGVBY2NvdW50U2lnbkluOjI5Nixub3RhaXJlRXZlbnQ6Mjk4LGtpZHNWb2ljZVNlYXJjaEV2ZW50OjI5OSxhZE5vdGlmeUZpbGxlZDozMDAsZGVsYXllZEV2ZW50RHJvcHBlZDozMDEsYW5hbHl0aWNzU2VhcmNoRXZlbnQ6MzAyLHN5c3RlbURhcmtUaGVtZU9wdE91dEV2ZW50OjMwMyxmbG93RXZlbnQ6MzA0LG5ldHdvcmtDb25uZWN0aXZpdHlCYXNlbGluZUV2ZW50OjMwNSx5dGJGaWxlSW1wb3J0ZWQ6MzA2LGRvd25sb2FkU3RyZWFtVXJsRXhwaXJlZDozMDcsZGlyZWN0U2lnbkluRXZlbnQ6MzA4LGx5cmljSW1wcmVzc2lvbkV2ZW50OjMwOSxhY2Nlc3NpYmlsaXR5U3RhdGVFdmVudDozMTAsdG9rZW5SZWZyZXNoRXZlbnQ6MzExLGdlbmVyaWNBdHRlc3RhdGlvbkV4ZWN1dGlvbjozMTIsCnR2aHRtbDVWaWRlb1NlZWs6MzEzLHVucGx1Z2dlZEF1dG9QYXVzZTozMTQsc2NydWJiaW5nRXZlbnQ6MzE1LGJlZHRpbWVSZW1pbmRlckV2ZW50OjMxNyx0dmh0bWw1VW5leHBlY3RlZFJlc3RhcnQ6MzE5LHR2aHRtbDVEZXZpY2VTdG9yYWdlU3RhdHM6NTM1LHR2aHRtbDVTdGFiaWxpdHlUcmFjZUV2ZW50OjQ3OCx0dmh0bWw1T3BlcmF0aW9uSGVhbHRoOjQ2Nyx0dmh0bWw1V2F0Y2hLZXlFdmVudDozMjEsdm9pY2VMYW5ndWFnZUNoYW5nZWQ6MzIyLHR2aHRtbDVMaXZlQ2hhdFN0YXR1czozMjMscGFyZW50VG9vbHNDb3JwdXNTZWxlY3RlZEV2ZW50OjMyNCxvZmZlckFkc0Vucm9sbG1lbnRJbml0aWF0ZWQ6MzI1LG5ldHdvcmtRdWFsaXR5SW50ZXJ2YWxFdmVudDozMjYsZGV2aWNlU3RhcnR1cE1ldHJpY3M6MzI4LGhlYXJ0YmVhdEFjdGlvblBsYXllclRyYW5zaXRpb25lZDozMzAsdHZodG1sNUxpZmVjeWNsZTozMzEsaGVhcnRiZWF0QWN0aW9uUGxheWVySGFsdGVkOjMzMixhZGFwdGl2ZUlubGluZU11dGVkU2V0dGluZ0V2ZW50OjMzMywKbWFpbkFwcExpYnJhcnlMb2FkaW5nU3RhdGU6MzM0LHRoaXJkUGFydHlMb2dNb25pdG9yaW5nRXZlbnQ6MzM2LGFwcFNoZWxsQXNzZXRMb2FkUmVwb3J0OjMzNyx0dmh0bWw1QW5kcm9pZEF0dGVzdGF0aW9uOjMzOCx0dmh0bWw1U3RhcnR1cFNvdW5kRXZlbnQ6MzQwLGlvc0JhY2tncm91bmRSZWZyZXNoVGFzazozNDIsaW9zQmFja2dyb3VuZFByb2Nlc3NpbmdUYXNrOjM0MyxzbGlFdmVudEJhdGNoOjM0NCxwb3N0SW1wcmVzc2lvbkV2ZW50OjM0NixtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdEV4cG9ydDozNDcsaWRiVW5leHBlY3RlZGx5Q2xvc2VkOjM0OCx2b2ljZVNlYXJjaEV2ZW50OjM0OSxtZHhTZXNzaW9uQ2FzdEV2ZW50OjM1MCxpZGJRdW90YUV4Y2VlZGVkOjM1MSxpZGJUcmFuc2FjdGlvbkVuZGVkOjM1MixpZGJUcmFuc2FjdGlvbkFib3J0ZWQ6MzUzLHR2aHRtbDVLZXlib2FyZExvZ2dpbmc6MzU0LGlkYklzU3VwcG9ydGVkQ29tcGxldGVkOjM1NSxjcmVhdG9yU3R1ZGlvTW9iaWxlRXZlbnQ6MzU2LAppZGJEYXRhQ29ycnVwdGVkOjM1NyxwYXJlbnRUb29sc0FwcENob3NlbkV2ZW50OjM1OCx3ZWJWaWV3Qm90dG9tU2hlZXRSZXNpemVkOjM1OSxhY3RpdmVTdGF0ZUNvbnRyb2xsZXJTY3JvbGxQZXJmb3JtYW5jZVN1bW1hcnk6MzYwLG5hdmlnYXRvclZhbGlkYXRpb246MzYxLG1keFNlc3Npb25IZWFydGJlYXQ6MzYyLGNsaWVudEhpbnRzUG9seWZpbGxEaWFnbm9zdGljczozNjMsY2xpZW50SGludHNQb2x5ZmlsbEV2ZW50OjM2NCxwcm9vZk9mT3JpZ2luVG9rZW5FcnJvcjozNjUsa2lkc0FkZGVkQWNjb3VudFN1bW1hcnk6MzY2LG11c2ljV2VhcmFibGVEZXZpY2U6MzY3LHlwY1JlZnVuZEZsb3dFdmVudDozNjgsdHZodG1sNVBsYXliYWNrTWVhc3VyZW1lbnRFdmVudDozNjksdHZodG1sNVdhdGVybWFya01lYXN1cmVtZW50RXZlbnQ6MzcwLGNsaWVudEV4cEdjZlByb3BhZ2F0aW9uRXZlbnQ6MzcxLG1haW5BcHBSZWZlcnJlckludGVudDozNzIsbGVhZGVyTG9ja0VuZGVkOjM3MyxsZWFkZXJMb2NrQWNxdWlyZWQ6Mzc0LApnb29nbGVIYXRzRXZlbnQ6Mzc1LHBlcnNpc3RlbnRMZW5zTGF1bmNoRXZlbnQ6Mzc2LHBhcmVudFRvb2xzQ2hpbGRXZWxjb21lQ2hvc2VuRXZlbnQ6Mzc4LGJyb3dzZVRodW1ibmFpbFByZWxvYWRFdmVudDozNzksZmluYWxQYXlsb2FkOjM4MCxtZHhEaWFsQWRkaXRpb25hbERhdGFVcGRhdGVFdmVudDozODEsd2ViT3JjaGVzdHJhdGlvblRhc2tMaWZlY3ljbGVSZWNvcmQ6MzgyLHN0YXJ0dXBTaWduYWxFdmVudDozODQsYWNjb3VudEVycm9yOjM4NSxnbXNEZXZpY2VDaGVja0V2ZW50OjM4NixhY2NvdW50U2VsZWN0b3JFdmVudDozODgsYWNjb3VudFVpQ2FsbGJhY2tzOjM4OSxtZHhEaWFsQWRkaXRpb25hbERhdGFQcm9iZUV2ZW50OjM5MCxkb3dubG9hZHNTZWFyY2hJY2luZ0FwaVN0YXRzOjM5MSxkb3dubG9hZHNTZWFyY2hJbmRleFVwZGF0ZWRFdmVudDozOTcsZG93bmxvYWRzU2VhcmNoSW5kZXhTbmFwc2hvdDozOTgsZGF0YVB1c2hDbGllbnRFdmVudDozOTIsa2lkc0NhdGVnb3J5U2VsZWN0ZWRFdmVudDozOTMsCm1keERldmljZU1hbmFnZW1lbnRTbmFwc2hvdEV2ZW50OjM5NCxwcmVmZXRjaFJlcXVlc3RlZDozOTUscHJlZmV0Y2hhYmxlQ29tbWFuZEV4ZWN1dGVkOjM5NixnZWxEZWJ1Z2dpbmdFdmVudDozOTksd2ViTGlua1R0c1BsYXlFbmQ6NDAwLGNsaXBWaWV3SW52YWxpZDo0MDEscGVyc2lzdGVudFN0b3JhZ2VTdGF0ZUNoZWNrZWQ6NDAzLGNhY2hlV2lwZW91dEV2ZW50OjQwNCxwbGF5ZXJFdmVudDo0MTAsc2Z2RWZmZWN0UGlwZWxpbmVTdGFydGVkRXZlbnQ6NDEyLHNmdkVmZmVjdFBpcGVsaW5lUGF1c2VkRXZlbnQ6NDI5LHNmdkVmZmVjdFBpcGVsaW5lRW5kZWRFdmVudDo0MTMsc2Z2RWZmZWN0Q2hvc2VuRXZlbnQ6NDE0LHNmdkVmZmVjdExvYWRlZEV2ZW50OjQxNSxzZnZFZmZlY3RVc2VySW50ZXJhY3Rpb25FdmVudDo0NjUsc2Z2RWZmZWN0Rmlyc3RGcmFtZVByb2Nlc3NlZExhdGVuY3lFdmVudDo0MTYsc2Z2RWZmZWN0QWdncmVnYXRlZEZyYW1lc1Byb2Nlc3NlZExhdGVuY3lFdmVudDo0MTcsCnNmdkVmZmVjdEFnZ3JlZ2F0ZWRGcmFtZXNEcm9wcGVkRXZlbnQ6NDE4LHNmdkVmZmVjdFBpcGVsaW5lRXJyb3JFdmVudDo0MzAsc2Z2RWZmZWN0R3JhcGhGcm96ZW5FdmVudDo0MTksc2Z2RWZmZWN0R2xUaHJlYWRCbG9ja2VkRXZlbnQ6NDIwLG1kZVFvc0V2ZW50OjUxMCxtZGVWaWRlb0NoYW5nZWRFdmVudDo0NDIsbWRlUGxheWVyUGVyZm9ybWFuY2VNZXRyaWNzOjQ3MixtZGVFeHBvcnRlckV2ZW50OjQ5NyxnZW5lcmljQ2xpZW50RXhwZXJpbWVudEV2ZW50OjQyMyxob21lUHJlbG9hZFRhc2tTY2hlZHVsZWQ6NDI0LGhvbWVQcmVsb2FkVGFza0V4ZWN1dGVkOjQyNSxob21lUHJlbG9hZENhY2hlSGl0OjQyNixwb2x5bWVyUHJvcGVydHlDaGFuZ2VkSW5PYnNlcnZlcjo0MjcsYXBwbGljYXRpb25TdGFydGVkOjQzMSxuZXR3b3JrQ3JvbmV0UnR0QmF0Y2g6NDMyLG5ldHdvcmtDcm9uZXRSdHRTdW1tYXJ5OjQzMyxyZXBlYXRDaGFwdGVyTG9vcEV2ZW50OjQzNixzZWVrQ2FuY2VsbGF0aW9uRXZlbnQ6NDYyLApsb2NrTW9kZVRpbWVvdXRFdmVudDo0ODMsZXh0ZXJuYWxWaWRlb1NoYXJlVG9Zb3V0dWJlQXR0ZW1wdDo1MDEscGFyZW50Q29kZUV2ZW50OjUwMixvZmZsaW5lVHJhbnNmZXJTdGFydGVkOjQsbXVzaWNPZmZsaW5lTWl4dGFwZVByZWZlcmVuY2VzQ2hhbmdlZDoxNixtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uQXR0ZW1wdDo0MCxtYW5nb0RhaWx5TmV3VmlkZW9zTm90aWZpY2F0aW9uRXJyb3I6NzcsZHR3c1BsYXliYWNrU3RhcnRlZDoxMTIsZHR3c1RpbGVGZXRjaFN0YXJ0ZWQ6MTEzLGR0d3NUaWxlRmV0Y2hDb21wbGV0ZWQ6MTE0LGR0d3NUaWxlRmV0Y2hTdGF0dXNDaGFuZ2VkOjE0NSxkdHdzS2V5ZnJhbWVEZWNvZGVyQnVmZmVyU2VudDoxMTUsZHR3c1RpbGVVbmRlcmZsb3dlZE9uTm9ua2V5ZnJhbWU6MTE2LGR0d3NCYWNrZmlsbEZldGNoU3RhdHVzQ2hhbmdlZDoxNDMsZHR3c0JhY2tmaWxsVW5kZXJmbG93ZWQ6MTE3LGR0d3NBZGFwdGl2ZUxldmVsQ2hhbmdlZDoxMjgsCmJsb2NraW5nVmlzaXRvcklkVGltZW91dDoyNzcsbGl0ZVNvY2lhbDoxOCxtb2JpbGVKc0ludm9jYXRpb246Mjk3LGJpc2NvdHRpQmFzZWREZXRlY3Rpb246NDM5LGNvV2F0Y2hTdGF0ZUNoYW5nZTo0NDAsZW1iZWRzVmlkZW9EYXRhRGlkQ2hhbmdlOjQ0MSxzaG9ydHNGaXJzdDo0NDMsY3J1aXNlQ29udHJvbEV2ZW50OjQ0NSxxb2VDbGllbnRMb2dnaW5nQ29udGV4dDo0NDYsYXR2UmVjb21tZW5kYXRpb25Kb2JFeGVjdXRlZDo0NDcsdHZodG1sNVVzZXJGZWVkYmFjazo0NDgscHJvZHVjZXJQcm9qZWN0Q3JlYXRlZDo0NDkscHJvZHVjZXJQcm9qZWN0T3BlbmVkOjQ1MCxwcm9kdWNlclByb2plY3REZWxldGVkOjQ1MSxwcm9kdWNlclByb2plY3RFbGVtZW50QWRkZWQ6NDUzLHByb2R1Y2VyUHJvamVjdEVsZW1lbnRSZW1vdmVkOjQ1NCxwcm9kdWNlckFwcFN0YXRlQ2hhbmdlOjUwOSxwcm9kdWNlclByb2plY3REaXNrSW5zdWZmaWNpZW50RXhwb3J0RmFpbHVyZTo1MTYscHJvZHVjZXJNZWRpYVNlcnZpY2VzUmVzZXREZXRhaWxzOjUyMiwKdHZodG1sNVNob3dDbG9ja0V2ZW50OjQ1NSxkZXZpY2VDYXBhYmlsaXR5Q2hlY2tNZXRyaWNzOjQ1Nix5b3V0dWJlQ2xlYXJjdXRFdmVudDo0NjEsb2ZmbGluZUJyb3dzZUZhbGxiYWNrRXZlbnQ6NDYzLGdldEN0dlRva2VuRXZlbnQ6NDY0LHN0YXJ0dXBEcm9wcGVkRnJhbWVzU3VtbWFyeTo0NjYsc2NyZWVuc2hvdEV2ZW50OjQ2OCxtaW5pQXBwUGxheUV2ZW50OjQ2OSxlbGVtZW50c0RlYnVnQ291bnRlcnM6NDcwLGZvbnRMb2FkRXZlbnQ6NDcxLHdlYktpbGxzd2l0Y2hSZWNlaXZlZDo0NzMsd2ViS2lsbHN3aXRjaEV4ZWN1dGVkOjQ3NCxjYW1lcmFPcGVuRXZlbnQ6NDc1LG1hbnVhbFNtb290aG5lc3NNZWFzdXJlbWVudDo0NzYsdHZodG1sNUFwcFF1YWxpdHlFdmVudDo0NzcscG9seW1lclByb3BlcnR5QWNjZXNzRXZlbnQ6NDc5LG1pbmlBcHBTZGtVc2FnZTo0ODAsY29iYWx0VGVsZW1ldHJ5RXZlbnQ6NDgxLGNyb3NzRGV2aWNlUGxheWJhY2s6NDgyLGNoYW5uZWxDcmVhdGVkV2l0aE9iYWtlSW1hZ2U6NDg0LApjaGFubmVsRWRpdGVkV2l0aE9iYWtlSW1hZ2U6NDg1LG9mZmxpbmVEZWxldGVFdmVudDo0ODYsY3Jvc3NEZXZpY2VOb3RpZmljYXRpb25UcmFuc2Zlcjo0ODcsYW5kcm9pZEludGVudEV2ZW50OjQ4OCx1bnBsdWdnZWRBbWJpZW50SW50ZXJsdWRlc0NvdW50ZXJmYWN0dWFsRXZlbnQ6NDg5LGtleVBsYXlzUGxheWJhY2s6NDkwLHNob3J0c0NyZWF0aW9uRmFsbGJhY2tFdmVudDo0OTMsdnNzRGF0YTo0OTEsY2FzdE1hdGNoOjQ5NCxtaW5pQXBwUGVyZm9ybWFuY2VNZXRyaWNzOjQ5NSx1c2VyRmVlZGJhY2tFdmVudDo0OTYsa2lkc0d1ZXN0U2Vzc2lvbk1pc21hdGNoOjQ5OCxtdXNpY1NpZGVsb2FkZWRQbGF5bGlzdE1pZ3JhdGlvbkV2ZW50OjQ5OSxzbGVlcFRpbWVyU2Vzc2lvbkZpbmlzaEV2ZW50OjUwMCx3YXRjaEVwUHJvbW9Db25mbGljdDo1MDMsaW5uZXJ0dWJlUmVzcG9uc2VDYWNoZU1ldHJpY3M6NTA1LG1pbmlBcHBBZEV2ZW50OjUwNixkYXRhUGxhblVwc2VsbEV2ZW50OjUwNywKcHJvZHVjZXJQcm9qZWN0UmVuYW1lZDo1MDgscHJvZHVjZXJNZWRpYVNlbGVjdGlvbkV2ZW50OjUxMSxlbWJlZHNBdXRvcGxheVN0YXR1c0NoYW5nZWQ6NTEyLHJlbW90ZUNvbm5lY3RFdmVudDo1MTMsY29ubmVjdGVkU2Vzc2lvbk1pc2F0dHJpYnV0aW9uRXZlbnQ6NTE0LHByb2R1Y2VyUHJvamVjdEVsZW1lbnRNb2RpZmllZDo1MTUsYWRzU2VlbkNsaWVudExvZ2dpbmc6NTE3LHByb2R1Y2VyRXZlbnQ6NTE4LHR2aHRtbDVDbGVhblN0YXJ0OjUxOSxkZXZpY2VBY2NvdW50TWV0cmljc0V2ZW50OjUyMCxkZXJwTG9nRXZlbnQ6NTIxLHBsYXlhYmxlc1BvcnRhbEV2ZW50OjUyMyxpcFZhbGlkYXRpb25TdGFydGVkOjUyNCxpcFZhbGlkYXRpb25SZWNlaXZlZDo1MjUscmVlbHNTZXF1ZW5jZU11dGF0aW9uRXZlbnQ6NTI3LHdhdGNoWm9vbVN0YXRlQ2hhbmdlOjUyOCxtZXRhZGF0YUVkaXRvckV2ZW50OjUyOSxraWRzUHJpc21hRGVlcGxpbmtzRXZlbnQ6NTMwLGNyZWF0aW9uT3JjaGVzdHJhdGlvbkV2ZW50OjUzMSwKY29vcmRpbmF0ZWRTYW1wbGluZ1RyaWdnZXJlZDo1MzIscmVjYXBTY3JlZW5zaG90RXZlbnQ6NTM0LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXF1ZXN0RXZlbnQ6NTM2LG1keExvY2FsTmV0d29ya1Blcm1pc3Npb25SZXNwb25zZUV2ZW50OjUzNyxzZXNzaW9uUmVwbGF5RXZlbnQ6NTM4LHNlc3Npb25SZXBsYXlTdGF0dXNFdmVudDo1MzksbG9nZ2luZ1JlbGlhYmlsaXR5UHJvYmU6NTQwLGtleVZhbHVlU3RvcmVTdGF0c0V2ZW50OjU0MSxkZXZpY2VMb2NhdGlvblBlcm1pc3Npb25FdmVudDo1NDIscmVtb3RlQ29udHJvbFN0YXJ0ZWQ6NTQzLHJlbW90ZUNvbnRyb2xDb21wbGV0ZWQ6NTQ0LHJlZWxzQWRzRXZlbnRzOjU0NSx5dGxyTG9hZGVyVGVzdEhhcm5lc3NFdmVudDo1NDcsYmlvbWV0cmljQXV0aGVudGljYXRpb25FdmVudDo1NDgsbWFpbkFwcExpZmVjeWNsZUV2ZW50OjU0OSxtdXNpY0Rvd25sb2FkQmFja2dyb3VuZENvbnRpbnVlZFByb2Nlc3NpbmdUYXNrOjU1MCxtdXNpY01ldGFkYXRhTWlzbWF0Y2hFdmVudDo1NTEsCnNjcm9sbFRvQ29tcG9uZW50Q29tcGxldGVkOjU1MixlbnRpdHlTdG9yZVRlbGVtZXRyeTo1NTMsc3RyZWFtaW5nRGFya0xhdW5jaEV2ZW50OjU1NCxjaGlsZEFjY291bnRzRGlzcGxheUV2ZW50OjU1NSx0dmZhc1BsYXliYWNrQ29udGV4dDo1NTcsbWRlQzJQYUV2ZW50OjU1OX07dmFyIFZtPV8uJGwoIlNlcnZpY2VXb3JrZXJMb2dzRGF0YWJhc2UiLHtzZTp7U1dIZWFsdGhMb2c6e1BkOjF9fSxzaGFyZWQ6ITAsdXBncmFkZTooYSxiKT0+e2IoMSkmJl8ub2woXy5rbChhLCJTV0hlYWx0aExvZyIse2tleVBhdGg6ImlkIixhdXRvSW5jcmVtZW50OiEwfSksInN3SGVhbHRoTmV3UmVxdWVzdCIsWyJpbnRlcmZhY2UiLCJ0aW1lc3RhbXAiXSl9LHZlcnNpb246MX0pO3ZhciBjbj17fSxibj0wO3ZhciBkbjt2YXIgaG49Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9bmV3IE1hcDt0aGlzLm89ITF9cmVxdWVzdENvbXBsZXRlKGEsYil7YiYmKHRoaXMubz0hMCk7YT10aGlzLnJlbW92ZVBhcmFtcyhhKTt0aGlzLmouZ2V0KGEpfHx0aGlzLmouc2V0KGEsYil9aXNFbmRwb2ludENGUihhKXthPXRoaXMucmVtb3ZlUGFyYW1zKGEpO3JldHVybihhPXRoaXMuai5nZXQoYSkpPyExOmE9PT0hMSYmdGhpcy5vPyEwOm51bGx9cmVtb3ZlUGFyYW1zKGEpe3JldHVybiBhLnNwbGl0KCI/IilbMF19fTtobi5wcm90b3R5cGUucmVtb3ZlUGFyYW1zPWhuLnByb3RvdHlwZS5yZW1vdmVQYXJhbXM7aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI9aG4ucHJvdG90eXBlLmlzRW5kcG9pbnRDRlI7aG4ucHJvdG90eXBlLnJlcXVlc3RDb21wbGV0ZT1obi5wcm90b3R5cGUucmVxdWVzdENvbXBsZXRlO2huLmdldEluc3RhbmNlPWpuO3ZhciBrbj1jbGFzcyBleHRlbmRzIF8uZ2Z7Y29uc3RydWN0b3IoKXtzdXBlcigpO3RoaXMudj0hMTt0aGlzLmo9bGYoKTt0aGlzLmoubGlzdGVuKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9PntpZih0aGlzLnYmJl8ueCgib2ZmbGluZV9lcnJvcl9oYW5kbGluZyIpKXt2YXIgYT1mbigpLmdldCgiZXJyb3JzIiwhMCk7aWYoYSl7Zm9yKGxldCBiIGluIGEpaWYoYVtiXSl7bGV0IGM9bmV3IF8uWGooYiwic2VudCB2aWEgb2ZmbGluZV9lcnJvcnMiKTtjLm5hbWU9YVtiXS5uYW1lO2Muc3RhY2s9YVtiXS5zdGFjaztjLmxldmVsPWFbYl0ubGV2ZWw7Xy5VaShjKX1mbigpLnNldCgiZXJyb3JzIix7fSwyNTkyRTMsITApfX19KX1TYigpe3JldHVybiB0aGlzLmouU2IoKX1lZihhKXt0aGlzLmouaXNPbmxpbmU9YX1xdygpe3ZhciBhPXdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lO3JldHVybiBhPT09dm9pZCAwPyEwOmF9Q3YoKXt0aGlzLnY9ITB9bGlzdGVuKGEsYil7cmV0dXJuIHRoaXMuai5saXN0ZW4oYSwKYil9UWooYSl7cmV0dXJuIG1mKHRoaXMuaixhKX19O2tuLnByb3RvdHlwZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdD1rbi5wcm90b3R5cGUuUWo7a24ucHJvdG90eXBlLmxpc3Rlbj1rbi5wcm90b3R5cGUubGlzdGVuO2tuLnByb3RvdHlwZS5lbmFibGVFcnJvckZsdXNoaW5nPWtuLnByb3RvdHlwZS5Ddjtrbi5wcm90b3R5cGUuZ2V0V2luZG93U3RhdHVzPWtuLnByb3RvdHlwZS5xdztrbi5wcm90b3R5cGUubmV0d29ya1N0YXR1c0hpbnQ9a24ucHJvdG90eXBlLmVmO2tuLnByb3RvdHlwZS5pc05ldHdvcmtBdmFpbGFibGU9a24ucHJvdG90eXBlLlNiO2tuLmdldEluc3RhbmNlPWxuO18uT3M9Y2xhc3MgZXh0ZW5kcyBfLmdme2NvbnN0cnVjdG9yKGE9e30pe3N1cGVyKCk7dGhpcy5qPXRoaXMuRD0wO3RoaXMudj1sbigpO3ZhciBiPV8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmxpc3RlbiIpLmJpbmQodGhpcy52KTtiJiYoYS5yYXRlTGltaXQ/KHRoaXMucmF0ZUxpbWl0PWEucmF0ZUxpbWl0LGIoIm5ldHdvcmtzdGF0dXMtb25saW5lIiwoKT0+e21uKHRoaXMsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnttbih0aGlzLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb2ZmbGluZSIpfSkpOihiKCJuZXR3b3Jrc3RhdHVzLW9ubGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiKX0pLGIoIm5ldHdvcmtzdGF0dXMtb2ZmbGluZSIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQoInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vZmZsaW5lIil9KSkpfVNiKCl7dmFyIGE9Cl8uc2EoInl0Lm5ldHdvcmtTdGF0dXNNYW5hZ2VyLmluc3RhbmNlLmlzTmV0d29ya0F2YWlsYWJsZSIpO3JldHVybiBhP2EuYmluZCh0aGlzLnYpKCk6ITB9ZWYoYSl7dmFyIGI9Xy5zYSgieXQubmV0d29ya1N0YXR1c01hbmFnZXIuaW5zdGFuY2UubmV0d29ya1N0YXR1c0hpbnQiKS5iaW5kKHRoaXMudik7YiYmYihhKX1hc3luYyBRaihhKXt2YXIgYj1fLnNhKCJ5dC5uZXR3b3JrU3RhdHVzTWFuYWdlci5pbnN0YW5jZS5zZW5kTmV0d29ya0NoZWNrUmVxdWVzdCIpLmJpbmQodGhpcy52KTtyZXR1cm4gXy54KCJza2lwX25ldHdvcmtfY2hlY2tfaWZfY2ZyIikmJmpuKCkuaXNFbmRwb2ludENGUigiZ2VuZXJhdGVfMjA0Iik/bmV3IFByb21pc2UoYz0+e3RoaXMuZWYod2luZG93Lm5hdmlnYXRvcj8ub25MaW5lfHwhMCk7Yyh0aGlzLlNiKCkpfSk6Yj9iKGEpOiEwfX07dmFyIFBzLG5uPWNsYXNzIGV4dGVuZHMgTnN7Y29uc3RydWN0b3IoKXtQc3x8KFBzPW5ldyBfLk9zKHtTSjohMCxKSTohMH0pKTtzdXBlcih7Y2I6e091OlRtLEZmOlNtLFdwOlBtLEF5OlFtLG5uOlJtLHNldDpPbX0sU2E6UHMsaGFuZGxlRXJyb3I6KGEsYixjKT0+e3ZhciBkPWM/LmVycm9yPy5jb2RlO2Q9PT00MDB8fGQ9PT00MTU/KGE9bmV3IF8uWGooYS5tZXNzYWdlLGIsYz8uZXJyb3I/LmNvZGUpLF8uV2koYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCwhMCkpOl8uVWkoYSl9LFRmOl8uV2ksR2Q6cW4sbm93Ol8uZWwsTHM6Z24sRGM6Xy5DaygpLEttOiJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixGbToicHVibGljeXRuZXR3b3Jrc3RhdHVzLW9mZmxpbmUiLE9pOiEwLERpOi4xLEtqOl8uc2ooInBvdGVudGlhbF9lc2ZfZXJyb3JfbGltaXQiLDEwKSxLYTpfLngsYWg6IShfLldqKCkmJl8uc24oKSl9KTt0aGlzLkI9bmV3IF8uY3M7Xy54KCJuZXR3b3JrbGVzc19pbW1lZGlhdGVseV9kcm9wX2FsbF9yZXF1ZXN0cyIpJiYKVW0oKTtYbCgiTG9nc0RhdGFiYXNlVjIiKX13cml0ZVRoZW5TZW5kKGEsYil7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci53cml0ZVRoZW5TZW5kKGEsYil9c2VuZFRoZW5Xcml0ZShhLGIsYyl7Ynx8KGI9e30pO2I9cm4oYSxiKTtfLldqKCl8fCh0aGlzLk9jPSExKTtzdXBlci5zZW5kVGhlbldyaXRlKGEsYixjKX1zZW5kQW5kV3JpdGUoYSxiKXtifHwoYj17fSk7Yj1ybihhLGIpO18uV2ooKXx8KHRoaXMuT2M9ITEpO3N1cGVyLnNlbmRBbmRXcml0ZShhLGIpfWF3YWl0SW5pdGlhbGl6YXRpb24oKXtyZXR1cm4gdGhpcy5CLnByb21pc2V9fTtfLnVuPSExO18udG49Xy51Lnl0TmV0d29ya2xlc3NMb2dnaW5nSW5pdGlhbGl6YXRpb25PcHRpb25zfHx7aXNOd2xJbml0aWFsaXplZDpfLnVufTtfLnJhKCJ5dE5ldHdvcmtsZXNzTG9nZ2luZ0luaXRpYWxpemF0aW9uT3B0aW9ucyIsXy50bik7dmFyIERwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuY29uZmlnXz1udWxsO2E/dGhpcy5jb25maWdfPWE6a20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKX1pc1JlYWR5KCl7IXRoaXMuY29uZmlnXyYma20oKSYmKHRoaXMuY29uZmlnXz1sbSgpKTtyZXR1cm4hIXRoaXMuY29uZmlnX319O3ZhciBRcztRcz1fLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZXx8bmV3IF8udGg7Xy5Scz1fLnUueXRQdWJzdWJQdWJzdWJTdWJzY3JpYmVkS2V5c3x8e307Xy5Tcz1fLnUueXRQdWJzdWJQdWJzdWJUb3BpY1RvS2V5c3x8e307Xy5Ucz1fLnUueXRQdWJzdWJQdWJzdWJJc1N5bmNocm9ub3VzfHx7fTtfLnRoLnByb3RvdHlwZS5zdWJzY3JpYmU9Xy50aC5wcm90b3R5cGUuc3Vic2NyaWJlO18udGgucHJvdG90eXBlLnVuc3Vic2NyaWJlQnlLZXk9Xy50aC5wcm90b3R5cGUuY2k7Xy50aC5wcm90b3R5cGUucHVibGlzaD1fLnRoLnByb3RvdHlwZS5wdWJsaXNoO18udGgucHJvdG90eXBlLmNsZWFyPV8udGgucHJvdG90eXBlLmNsZWFyO18ucmEoInl0UHVic3ViUHVic3ViSW5zdGFuY2UiLFFzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YlRvcGljVG9LZXlzIixfLlNzKTtfLnJhKCJ5dFB1YnN1YlB1YnN1YklzU3luY2hyb25vdXMiLF8uVHMpOwpfLnJhKCJ5dFB1YnN1YlB1YnN1YlN1YnNjcmliZWRLZXlzIixfLlJzKTt2YXIgQ249RGF0ZS5ub3coKS50b1N0cmluZygpO0RhdGUubm93KCk7Xy5Mbj1TeW1ib2woIkNhIik7dmFyIEhuPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMua2V5PWF9fTt2YXIgT249Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnY9bmV3IE1hcDt0aGlzLmo9bmV3IE1hcDt0aGlzLm89bmV3IE1hcH1yZXNvbHZlKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBfLlVzJiZhIGluc3RhbmNlb2YgXy5Vcz9Lbih0aGlzLGEpOmEgaW5zdGFuY2VvZiBIbj9Kbih0aGlzLGEua2V5LFtdLCEwKTpKbih0aGlzLGEsW10pfX07Xy5Wcz1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm5hbWU9YX10b1N0cmluZygpe3JldHVybmBJbmplY3Rpb25Ub2tlbigke3RoaXMubmFtZX0pYH19O3ZhciBObjt2YXIgUG49d2luZG93O3ZhciBmbz1fLngoIndlYl9lbmFibGVfbGlmZWN5Y2xlX21vbml0b3JpbmciKSYmUW4oKSE9PTAsVW49Xy54KCJ3ZWJfZW5hYmxlX2xpZmVjeWNsZV9tb25pdG9yaW5nIik7dmFyIGVvPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc2NoZWR1bGVyPV8uQ2soKTt0aGlzLm89bmV3IF8uY3M7dGhpcy5qPWE7Zm9yKGxldCBjPTA7Yzx0aGlzLmoubGVuZ3RoO2MrKyl7bGV0IGQ9dGhpcy5qW2NdO2E9KCk9PntkLnhoKCk7dGhpcy5qW2NdLk5qPSEwO3RoaXMuai5ldmVyeShlPT5lLk5qPT09ITApJiZ0aGlzLm8ucmVzb2x2ZSgpfTt2YXIgYj10aGlzLmdldFByaW9yaXR5KGQpO2I9dGhpcy5zY2hlZHVsZXIuR2EoYSxiKTt0aGlzLmpbY109ey4uLmQseGg6YSxqb2JJZDpifX19Y2FuY2VsKCl7Zm9yKGxldCBhIG9mIHRoaXMuailhLmpvYklkPT09dm9pZCAwfHxhLk5qfHx0aGlzLnNjaGVkdWxlci5BYShhLmpvYklkKSxhLk5qPSEwO3RoaXMuby5yZXNvbHZlKCl9Z2V0UHJpb3JpdHkoYSl7cmV0dXJuIGEucHJpb3JpdHk/PzB9fTtfLldzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuc3RhdGU9YTt0aGlzLnBsdWdpbnM9W107dGhpcy52PXZvaWQgMDt0aGlzLkI9e307Zm8mJlJuKHRoaXMuc3RhdGUpfWdldCBjdXJyZW50U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pbnN0YWxsKGEpe3RoaXMucGx1Z2lucy5wdXNoKGEpO3JldHVybiB0aGlzfXVuaW5zdGFsbCguLi5hKXthLmZvckVhY2goYj0+e2I9dGhpcy5wbHVnaW5zLmluZGV4T2YoYik7Yj4tMSYmdGhpcy5wbHVnaW5zLnNwbGljZShiLDEpfSl9dHJhbnNpdGlvbihhLGIpe2ZvJiZTbih0aGlzLnN0YXRlKTt2YXIgYz10aGlzLnRyYW5zaXRpb25zLmZpbmQoZD0+QXJyYXkuaXNBcnJheShkLmZyb20pP2QuZnJvbS5maW5kKGU9PmU9PT10aGlzLnN0YXRlJiZkLnRvPT09YSk6ZC5mcm9tPT09dGhpcy5zdGF0ZSYmZC50bz09PWEpO2lmKGMpe3RoaXMuaiYmKFRuKHRoaXMuaiksdGhpcy5qPXZvaWQgMCk7Vm4odGhpcyxhLGIpO3RoaXMuc3RhdGU9YTtmbyYmUm4odGhpcy5zdGF0ZSk7CmM9Yy5hY3Rpb24uYmluZCh0aGlzKTtsZXQgZD10aGlzLnBsdWdpbnMuZmlsdGVyKGU9PmVbYV0pLm1hcChlPT5lW2FdKTtjKFpuKHRoaXMsZCksYil9ZWxzZSB0aHJvdyBFcnJvcigiR2FgIit0aGlzLnN0YXRlKyJgIithKTt9fTt2YXIgaG89Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoIm5vbmUiKTt0aGlzLm89bnVsbDt0aGlzLnY9MTA7dGhpcy50cmFuc2l0aW9ucz1be2Zyb206Im5vbmUiLHRvOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsdG86Im5vbmUiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJhcHBsaWNhdGlvbl9uYXZpZ2F0aW5nIix0bzoiYXBwbGljYXRpb25fbmF2aWdhdGluZyIsYWN0aW9uOigpPT57fX0se2Zyb206Im5vbmUiLHRvOiJub25lIixhY3Rpb246KCk9Pnt9fV19RChhLGIpe3RoaXMubz1fLllqKCgpPT57dGhpcy5jdXJyZW50U3RhdGU9PT0iYXBwbGljYXRpb25fbmF2aWdhdGluZyImJnRoaXMudHJhbnNpdGlvbigibm9uZSIpfSw1RTMpO2EoYj8uZXZlbnQpfUsoYSxiKXt0aGlzLm8mJihfLmpmLkFhKHRoaXMubyksdGhpcy5vPW51bGwpO2EoYj8uZXZlbnQpfX0sZ287dmFyIHJvPV8uc2ooInl0Y3NpX2RlYnVnX21heF9zaXplIiwxMDApO3ZhciBYcz0wO3ZhciB5cT1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhcmd1bWVudHMpO3RoaXMuaj1hO3RoaXMudGltZXI9Yn19LHhxPW5ldyBfLnFtKCJhZnQtcmVjb3JkZWQiLHlxKTt2YXIgTnA9W3twbTphPT5gQ2Fubm90IHJlYWQgcHJvcGVydHkgJyR7YS5rZXl9J2AsSmo6e0Vycm9yOlt7cmVnZXhwOi8oUGVybWlzc2lvbiBkZW5pZWQpIHRvIGFjY2VzcyBwcm9wZXJ0eSAiKFteJ10rKSIvLGdyb3VwczpbInJlYXNvbiIsImtleSJdfV0sVHlwZUVycm9yOlt7cmVnZXhwOi9DYW5ub3QgcmVhZCBwcm9wZXJ0eSAnKFteJ10rKScgb2YgKG51bGx8dW5kZWZpbmVkKS8sZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovXHU2NWUwXHU2Y2Q1XHU4M2I3XHU1M2Q2XHU2NzJhXHU1YjlhXHU0ZTQ5XHU2MjE2IChudWxsfHVuZGVmaW5lZCkgXHU1ZjE1XHU3NTI4XHU3Njg0XHU1YzVlXHU2MDI3XHUyMDFjKFteXHUyMDFkXSspXHUyMDFkLyxncm91cHM6WyJ2YWx1ZSIsImtleSJdfSx7cmVnZXhwOi9cdWM4MTVcdWM3NThcdWI0MThcdWM5YzAgXHVjNTRhXHVjNzRjIFx1YjYxMFx1YjI5NCAobnVsbHx1bmRlZmluZWQpIFx1Y2MzOFx1Yzg3MFx1Yzc3OCAnKFteJ10rKScgXHVjMThkXHVjMTMxXHVjNzQ0IFx1YWMwMFx1YzgzOFx1YzYyYyBcdWMyMTggXHVjNWM2XHVjMmI1XHViMmM4XHViMmU0Li8sCmdyb3VwczpbInZhbHVlIiwia2V5Il19LHtyZWdleHA6L05vIHNlIHB1ZWRlIG9idGVuZXIgbGEgcHJvcGllZGFkICcoW14nXSspJyBkZSByZWZlcmVuY2lhIG51bGEgbyBzaW4gZGVmaW5pci8sZ3JvdXBzOlsia2V5Il19LHtyZWdleHA6L1VuYWJsZSB0byBnZXQgcHJvcGVydHkgJyhbXiddKyknIG9mICh1bmRlZmluZWQgb3IgbnVsbCkgcmVmZXJlbmNlLyxncm91cHM6WyJrZXkiLCJ2YWx1ZSJdfSx7cmVnZXhwOi8obnVsbCkgaXMgbm90IGFuIG9iamVjdCBcKGV2YWx1YXRpbmcgJyg/OihbXi5dKylcLik/KFteJ10rKSdcKS8sZ3JvdXBzOlsidmFsdWUiLCJiYXNlIiwia2V5Il19XX19LHtwbTphPT5gQ2Fubm90IGNhbGwgJyR7YS5rZXl9J2AsSmo6e1R5cGVFcnJvcjpbe3JlZ2V4cDovKD86KFteIF0rKT9cLik/KFteIF0rKSBpcyBub3QgYSBmdW5jdGlvbi8sZ3JvdXBzOlsiYmFzZSIsImtleSJdfSx7cmVnZXhwOi8oW14gXSspIGNhbGxlZCBvbiAobnVsbCBvciB1bmRlZmluZWQpLywKZ3JvdXBzOlsia2V5IiwidmFsdWUiXX0se3JlZ2V4cDovT2JqZWN0ICguKikgaGFzIG5vIG1ldGhvZCAnKFteIF0rKScvLGdyb3VwczpbImJhc2UiLCJrZXkiXX0se3JlZ2V4cDovT2JqZWN0IGRvZXNuJ3Qgc3VwcG9ydCBwcm9wZXJ0eSBvciBtZXRob2QgJyhbXiBdKyknLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovXHUzMGFhXHUzMGQ2XHUzMGI4XHUzMGE3XHUzMGFmXHUzMGM4XHUzMDZmICcoW14nXSspJyBcdTMwZDdcdTMwZWRcdTMwZDFcdTMwYzZcdTMwYTNcdTMwN2VcdTMwNWZcdTMwNmZcdTMwZTFcdTMwYmRcdTMwYzNcdTMwYzlcdTMwOTJcdTMwYjVcdTMwZGRcdTMwZmNcdTMwYzhcdTMwNTdcdTMwNjZcdTMwNDRcdTMwN2VcdTMwNWJcdTMwOTMvLGdyb3VwczpbImtleSJdfSx7cmVnZXhwOi9cdWFjMWNcdWNjYjRcdWFjMDAgJyhbXiddKyknIFx1YzE4ZFx1YzEzMVx1Yzc3NFx1YjA5OCBcdWJhNTRcdWMxMWNcdWI0ZGNcdWI5N2MgXHVjOWMwXHVjNmQwXHVkNTU4XHVjOWMwIFx1YzU0YVx1YzJiNVx1YjJjOFx1YjJlNC4vLApncm91cHM6WyJrZXkiXX1dfX0se3BtOmE9PmAke2Eua2V5fSBpcyBub3QgZGVmaW5lZGAsSmo6e1JlZmVyZW5jZUVycm9yOlt7cmVnZXhwOi8oLiopIGlzIG5vdCBkZWZpbmVkLyxncm91cHM6WyJrZXkiXX0se3JlZ2V4cDovQ2FuJ3QgZmluZCB2YXJpYWJsZTogKC4qKS8sZ3JvdXBzOlsia2V5Il19XX19XTt2YXIgQW89e2xlOltdLFNkOlt7Y2FsbGJhY2s6dm8sd2VpZ2h0OjUwMH0se2NhbGxiYWNrOndvLHdlaWdodDo1MDB9XX07dmFyIHlvPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5TZD1bXTt0aGlzLmxlPVtdfX0seG87Xy5WcD1uZXcgXy50aDt2YXIgdnA9W107Xy5yYSgieXQubG9nZ2luZy50cmFuc3BvcnQuZ2V0U2NyYXBlZEdlbFBheWxvYWRzIixmdW5jdGlvbigpe3JldHVybiB2cH0pO3ZhciBQbz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuc3RvcmU9e307dGhpcy5qPXt9fXN0b3JlUGF5bG9hZChhLGIpe2E9SW8oYSk7dGhpcy5zdG9yZVthXT90aGlzLnN0b3JlW2FdLnB1c2goYik6KHRoaXMuaj17fSx0aGlzLnN0b3JlW2FdPVtiXSk7Xy54KCJtb3JlX2FjY3VyYXRlX2dlbF9wYXJzZXIiKSYmKGI9bmV3IEN1c3RvbUV2ZW50KCJUUkFOU1BPUlRJTkdfTkVXX0VWRU5UIiksd2luZG93LmRpc3BhdGNoRXZlbnQoYikpO3JldHVybiBhfXNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXtpZighYS5rZXlzLmxlbmd0aClyZXR1cm5bXTt2YXIgYj1Lbyh0aGlzLGEua2V5cy5zcGxpY2UoMCwxKVswXSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl0aGlzLnN0b3JlW2JbZF1dJiZhLnNpemVMaW1pdCYmKHRoaXMuc3RvcmVbYltkXV0ubGVuZ3RoPD1hLnNpemVMaW1pdD8oYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0pLGRlbGV0ZSB0aGlzLnN0b3JlW2JbZF1dKToKYy5wdXNoKC4uLnRoaXMuc3RvcmVbYltkXV0uc3BsaWNlKDAsYS5zaXplTGltaXQpKSk7YT8uc2l6ZUxpbWl0JiZjLmxlbmd0aDxhPy5zaXplTGltaXQmJihhLnNpemVMaW1pdC09Yy5sZW5ndGgsYy5wdXNoKC4uLnRoaXMuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzKGEpKSk7cmV0dXJuIGN9ZXh0cmFjdE1hdGNoaW5nRW50cmllcyhhKXthPUtvKHRoaXMsYSk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspdGhpcy5zdG9yZVthW2NdXSYmKGIucHVzaCguLi50aGlzLnN0b3JlW2FbY11dKSxkZWxldGUgdGhpcy5zdG9yZVthW2NdXSk7cmV0dXJuIGJ9Z2V0U2VxdWVuY2VDb3VudChhKXthPUtvKHRoaXMsYSk7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoO2MrKyliKz10aGlzLnN0b3JlW2FbY11dPy5sZW5ndGh8fDA7cmV0dXJuIGJ9fTtQby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudD1Qby5wcm90b3R5cGUuZ2V0U2VxdWVuY2VDb3VudDsKUG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM9UG8ucHJvdG90eXBlLmV4dHJhY3RNYXRjaGluZ0VudHJpZXM7UG8ucHJvdG90eXBlLnNtYXJ0RXh0cmFjdE1hdGNoaW5nRW50cmllcz1Qby5wcm90b3R5cGUuc21hcnRFeHRyYWN0TWF0Y2hpbmdFbnRyaWVzO1BvLnByb3RvdHlwZS5zdG9yZVBheWxvYWQ9UG8ucHJvdG90eXBlLnN0b3JlUGF5bG9hZDt2YXIgeXA9bmV3IF8uVnMoIkZpbmNoQ29uZmlnTWFuYWdlclNlcnZpY2UiKTt2YXIgbnA9Xy5zaigiaW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCIsMkUzKSxscD1fLnNqKCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiLDZFNCksb3A9Xy5zaigiZ2VsX21pbl9iYXRjaF9zaXplIiw1KSxObz12b2lkIDAsTW89bnVsbCxZcz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj10aGlzLm89dGhpcy52PTA7dGhpcy5qPSExfX0sQXA9bmV3IFlzLHpwPW5ldyBZcyxrcD1uZXcgWXMsanA9bmV3IFlzLGNwLG1wPSEwLGdwPV8udS55dExvZ2dpbmdUcmFuc3BvcnRUb2tlbnNUb0N0dFRhcmdldElkc198fHt9O18ucmEoInl0TG9nZ2luZ1RyYW5zcG9ydFRva2Vuc1RvQ3R0VGFyZ2V0SWRzXyIsZ3ApO3ZhciBYbz17fTt2YXIgQnA9Xy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsQnApO3ZhciBRcD1uZXcgU2V0LEtwPTAsWHA9MCxXcD0wLE1wPVtdLExwPVtdLFpwPVsiUGhhbnRvbUpTIiwiR29vZ2xlYm90IiwiVE8gU1RPUCBUSElTIFNFQ1VSSVRZIFNDQU4gZ28vc2NhbiJdO3ZhciBacz17YV9iaWRfZjo0ODIsYV9iaWRfczo0ODEsYWE6MixhYWNpOjQzMyxhYWNyOjQzNCxhYl9yOjExLGFiX3M6MTAsYWJjOjU3OSxhYzoxOTMsYWNjOjUxMSxhY2k6NTEyLGFkXzBfZToxMyxhZF8wX3M6MTIsYWRfYmw6MTQsYWRfaToxNSxhZF9tYnM6MTYsYWRfcHI6NTYyLGFkX3ZpOjE3LGFkX3ZpcjoxOCxhZGE6MTk0LGFkYmNfZjo1NzYsYWRjOjE5NSxhZGZsX2Y6MTksYWRmbF9zOjIwLGFkbDoxOTYsYWRuczoxOTcsYWRzX2U6MjIsYWRzX3M6MjEsYWZiOjUxMyxhZmM6MTk4LGFmbDoxOTksYWZ0OjEsYWhiOjUxNCxhaToyMDAsYWlzX2E6NTAzLGFpc19yOjUwMixhaXNmOjIzLGFpc2k6MjQsYWlzcjoyNSxhaXNzOjI2LGFtbDoyMDEsYXBhX2E6MjAzLGFwYV9iOjIwMixhcGJzOjIwNCxhcHBfbDozLGFwcF9zaTo2MTIsYXBwX3NpZTo2NjEsYXBwZGVsX2k6MjcsYXBwaV9lOjYxNixhcHBpX3M6NjE1LGFwcjoyMDUsYXByZXM6NDM2LGFwc3VzOjQzNSxhcjoyMDYsYXI0MGs6MjgsCmFyYl9mOjUwNCxhcmM6MjA3LGFyZXE6MjA4LGFyZmI6MjksYXJpOjQsYXJyOjIwOSxhcnJoOjMwLGFzY2U6Nzg4LGFzY2Y6Nzg5LGFzY3M6Nzg3LGFzaXNmYjozMSxhc2lzcjozMixhc2lzcmg6MzMsYXNpc3M6MzQsYXNyOjIxMCxhc3luY19vcmNoX3RfYWN0OjcxMixhc3luY19vcmNoX3Rfbm90aWZ5OjcxMSxhdHJyOjUxNSxhdHJzOjUxNixhdHRfZToyMTEsYXR0X2Y6MjEyLGF0dF9mYzo3OTcsYXR0X2Zycjo3OTYsYXR0X2ZzOjc5MyxhdHRfZnNyOjc5NSxhdHRfcG5hOjc5NCxhdHRfczoyMTMsYXR0X3diOjIxNCxhd2ZsX2Y6NTU3LGF3Zmxfczo1NTgsYmFzZV9qc19yOjQ0MSxiY3A6MjE1LGJmOjIxNixiZ19lOjIxNyxiZ19pOjIxOCxiZ19sOjIyMCxiZ19zOjIyMSxiZ192OjIxOSxicGRfYzo0ODQsYnBkX3M6NDgzLGJwdDoyMjMsYnJfZTozNyxicl9sZDozOCxicl9scnByOjM5LGJyX2xycjo0MCxicl9sd206NTc3LGJyX3I6NDEsYnJfczo0MixicmVyOjM1LGJyZXM6MzYsYnJucjo0MywKYnJuczo0NCxicnBlOjQ1LGJycHM6NDYsYnJyX2U6NDcsYnJyX2k6NDgsYnJyX2l1czo0OSxiczoyMjIsY19jOjUwLGNfY3M6NTEsY19jc2ZzOjUyLGNfZDo1MyxjX2xhZjo1OSxjX2xhczo1OCxjX3JuZjo0MzgsY19ybnM6NDM3LGNjOjQ2NyxjY19jOjU0LGNjX2NmOjU2LGNjX2NzYWxhOjU1LGNjX2xhOjU3LGNmZzoyMjQsY2hsczoyMjUsY2hwczoyMjYsY2w6NDgwLGNtYzoyMjcsY21kX2g6NjI5LGNtaGw6MjI5LGNtaToyMjgsY21sOjIzMCxjbXA6Nzc5LGNtdjoyMzEsY3B0OjIzMixjcjozNjQsY3JfZXJyOjY2OSxjcl9yOjY3MCxjcl9zOjY2OCxjc2w6MjMzLGNzcl90OjYzMSxjdDo1LGN0X2xpOjYwLGRfbDo2MSxkX2xhZjo2MixkX2xhcjo2MyxkX2xhczo2NCxkX2xmOjY1LGRfbHM6NjYsZF9sdzo2NyxkX2x3Zjo2OCxkX2x3czo2OSxkYXNfYzozNjYsZGFzX3M6MzY1LGRjcDoyMzQsZGdfcGJfYzoyMzYsZGdfcGJfcjoyMzcsZGdfcGJfczoyMzUsZGhpYzoyMzgsZGw6MjM5LGRuc186MjQwLApkcm1fZ2tfZjozODgsZHJtX2drX3M6Mzg3LGRybV9rcl9yOjM5Mixkcm1fa3JfczozOTEsZHJtX25ldF9yOjM5MCxkcm1fbmV0X3M6Mzg5LGRybV9wYl9mOjM4Nixkcm1fcGJfczozODUsZHNfYWM6NzM2LGRzX2FzOjczNSxkc19jbGM6NzQwLGRzX2NzOjczNyxkc19kYzo3MzksZHNfZHM6NzM4LGVtcGE6NDMyLGVtcHU6NDMxLGVucF9lcnI6Njg1LGVucF9maTo2ODQsZW5wX3N0OjY4Myxlb3ByX3I6NjczLGVwX2FfcHJfcjo1MzIsZXBfYV9wcl9zOjUzMSxlcF9oYXZfZW5kOjUyNixlcF9oYXZfc3RhcnQ6NTI1LGVwX2luaXRfYXI6Njk5LGVwX2luaXRfY3VlOjYzNSxlcF9pbml0X2N1czo2MzQsZXBfaW5pdF9lcGU6NjM3LGVwX2luaXRfZXBzOjYzNixlcF9pbml0X2lqZTo2MzksZXBfaW5pdF9panM6NjM4LGVwX2luaXRfcHI6NTI3LGVwX2luaXRfcmU6NjQxLGVwX2luaXRfcnM6NjQwLGVwX2luaXRfd2VlOjY0MyxlcF9pbml0X3dlczo2NDIsZXBfbWFfcmVwcjo1NDMsZXBfbWFfcnI6NTMzLAplcF9tYV9zZXByOjU0MixlcF9tYV9zcHI6NTM0LGVwX3BfbDo1MzAsZXBfcHJfcjo1MjksZXBfcHJfczo1MjgsZXBfcl9wcmVfcjo1NDEsZXBfcl9ycjo1MzUsZXBfcl9zbWFyOjUzNixlcF9yZWNfZW5kOjUzOCxlcF9yZWNfc3RhcnQ6NTM3LGVwX3JlcHNfZW5kOjU0MCxlcF9yZXBzX3N0YXJ0OjUzOSxlcGU6NjE4LGVwczo2MTcsZXJfY2w6NjUzLGVyX25zOjY1Mixlcl9wZTo2NTAsZXJfcHM6NjQ5LGVyX3M6NjQ4LGVyX3NfbnI6NzkwLGVyX3NfbnM6Nzg0LGVyX3Q6NjUxLGZhYl9yOjI0NixmY2Jfcjo1MDYsZmlyZTo3MCxmaXJzOjcxLGZtdGg6MjQxLGZvb3RfanM6MjQyLGZwdDoyNDMsZnJfczo1NjEsZnM6MjQ0LGZzYzoyNDUsZnNzYjBfYTo3NSxmc3NiMF9mcjo3NCxmc3NiMF9ucjo3Myxmc3NiMF9uczo3MixmdF86NDM5LGZ0bDo3LGZ0cjo0NzUsZnZiX3I6MjQ3LGZ2ZjoyNDgsZnlkX2dmOjc2NyxmeWRfZ3M6NzY2LGdjYzoyNDksZ2NmbDoyNTAsZ2Nzcjo3NixnZXBfZXJyOjgwMCwKZ2VwX3JlcTo3OTgsZ2VwX3Jlczo3OTksZ2dzcjo3NyxnaXdhX2E6NjI3LGdpd2FfZDo2MjgsZ2xjOjU5MyxnbGU6MjUxLGdsczoyNTIsZ3BlOjI1MyxncmM6MjU0LGdyaXdfbnI6Nzg2LGdyaXdfbnM6Nzg1LGdzX3I6NzM0LGdzX3M6NzMzLGdzbWQ6NTg2LGd1X3I6NjIwLGd2OjQ4NSxnd19haWVyOjc3MSxnd19hcmY6NzcyLGd3X2FybmFmOjc3NSxnd19hcm5uYWY6Nzc2LGd3X2FybnM6Nzc3LGd3X2FybnN1Ojc3OCxnd19hcnM6Nzc0LGd3X2Fyc3U6NzczLGd3X21hYWY6NjMzLGd3X21hYXM6NjMyLGhiZmc6Njc3LGhnY3I6MjU1LGhyOjI1NixocmU6MzYzLGhyczozNjIsaHM6MzczLGh0bWxfZmJfcjo3NTUsaHRtbF9mZTo3NDgsaHRtbF9mczo3NDcsaHRtbF9md2U6NzUyLGh0bWxfZndzOjc1MSxodG1sX2pjZTo3NTQsaHRtbF9qY3M6NzUzLGh0bWxfbGJfcjo3NTYsaHRtbF9zZTo3NTAsaHRtbF9zczo3NDksaV9ycDo0NzcsaV9ycTo0NzYsaXBfczo2NDYsaXBjOjI1NyxpcHM6MjU4LAppc21wX2E6ODM2LGlzbXBfYzo4MzgsaXNtcF9kOjgzOSxpc21wX2k6ODM1LGlzbXBfcDo4NDAsaXNtcF9yYzo4MzcsaXRfZ3A6NzgsaXZfczo1MDUsanNwOjI1OSxqc3I6MjYwLGtZVExhdGVuY3lNREVQcm9kdWN0U3RpY2tlckVkaXRvckNhbmNlbGxlZDo4MDEsa1lUTGF0ZW5jeU1ERVByb2R1Y3RTdGlja2VyRWRpdG9yRmluaXNoZWQ6ODAyLGwyczoyNjEsbGNfZnJyOjY2MCxsY19zX3M6NjU5LGxjX3NfdTo2NTgsbGNwOjI2MixsZF9zOjQ0MCxsaW06MjYzLGxwY2Y6MjY0LGxwY3M6MjY1LGxwczoyNjYsbHNfYzozNjgsbHNfczozNjcsbHNzOjI2NyxsdjoyNjgsbWFfY2w6NTUxLG1hX2Zmcjo1NTIsbWFfZnVhOjU1NCxtYV9ncjo1NTMsbWFfaWw6NTczLG1haW46NzksbWFpbl9qc19yOjQ0MixtYWluX2pzX3JxOjQ0MyxtYl9zOjUwNyxtYmFwX2M6Mzg0LG1iY19hbGM6NzMyLG1iY19hc2w6NzMxLG1iY19jOjM3NSxtYmNfczozNzQsbWJnY2hpZF9ycjo3NDQsbWJnY2hpZF9yczo3NDYsCm1iZ3JfcmY6NjU3LG1iZ3JfcnI6Mzc5LG1iZ3JfcnM6Mzc4LG1ibGNfYzozNzcsbWJsY19zOjM3NixtYmxjaGlkX2M6NzQ1LG1ibGNoaWRfczo3NDMsbWJsY3JpZF9jOjc0MixtYmxjcmlkX3M6NzQxLG1ic19jOjM4MSxtYnNfcnI6MzgzLG1ic19yczozODIsbWJzX3M6MzgwLG1keF9jY3A6ODAsbWR4X2Njczo4MSxtZHhfY2NzdDo4MixtZHhfY3I6ODMsbWR4X2NzOjg0LG1keF9sczo4NSxtZHhfb2ZmOjg2LG1keF9zYzo4NyxtZV9iOjU1NSxtZV9jOjY4NyxtZV9mOjU1NixtZV9mYTo2ODgsbWVzdl9zOjUwOSxtbV9pZTo3MjAsbW1faXM6NzE5LG1yYzoyNjksbXJzOjI3MCxtc2E6MjcxLG1zdGk6ODgsbXN0cjo4OSxuX2N0OjcwMixuX3NyOjY5NyxuX3N3OjY5OCwibmNbMC05XSI6MjcyLG5jbDoyNzMsbmN0OjI3NCxuZDoyNzUsbmRuc2U6Mjc2LG5kbnNzOjI3NywibnBbMC05XSI6Mjc4LG5yOjI3OSxucmU6MjgwLG5yZXFzOjI4MSxucmVzZToyODIsbnJlc3M6MjgzLG5ycnBzOjkwLApucnM6Mjg0LG5zdGNwczoyODUsbnRjcGU6Mjg2LG50Y3BzOjI4Nyxud3A6Mjg4LG9hZDJzOjQyNSxvYWZzX3I6NDA3LG9hZnNfcnA6NDA5LG9haXNyOjQwNSxvYXIyczo0MTIsb2FycDJzOjQyNyxvY3NpX3o6OTEsb2N0azo2MjEsb2N0cDo2MjIsb2ZhcnA6NDIzLG9mZG86NDAwLG9mZG9zOjM5OCxvZnI6NDE3LG9mdnJwOjQyNCxvZ3NmX2M6Mzk1LG9nc2ZfczozOTQsb2hyX3I6NzY1LG9ocl9zOjc2NCxvbDo2LG9sX2k6OCxvbG9jX2U6ODMwLG9sb2Nfc2E6ODI5LG9sb2Nfc3M6ODI4LG9tZF9jOjQyMixvbWRfczo0MjEsb21wX2M6NDE5LG9tcF9yOjQxOCxvcGZjOjY4MCxvcHJfcjo0MTQsb3ByZF9zOjQxNSxvcHJnejJfZTo4NDIsb3ByZ3oyX2Y6ODQzLG9wcmd6Ml9zOjg0MSxvcHJnel9zOjY4OSxvcHJyOjQxNixvcjEwMGs6NDExLG9yX2ZlOjQyOSxvcl9mczo0MzAsb3JfaTozOTMsb3JfcDozOTcsb3JjaF9yX2Q6Njk0LG9yY2hfcl9zOjY5NSxvcmNoX3RfcG1kOjc3MCxvcmNoX3RfcG1zOjc2OSwKb3JjaF90X3RjZWQ6NzA4LG9yY2hfdF90Y2VzOjcwNSxvcmNoX3RfdGQ6NjkyLG9yY2hfdF90bWQ6ODA0LG9yY2hfdF90bXM6ODAzLG9yY2hfdF91ZDo2OTMsb3JjaF90X3VzOjY5NixvcmZiOjQwNCxvcmhfcjo0MDMsb3Jtazo0MjAsb3JxcGJfYTo4MzEsb3JxcGJfZTo4MzQsb3JxcGJfczo4MzIsb3JxcGJfdzo4MzMsb3Nkbzo0MDEsb3Nkb2Y6NDAyLG9zZG9zOjM5OSxvc29yOjM5NixvdmQyczo0MjYsb3Zmc19yOjQwOCxvdmZzX3JwOjQxMCxvdmlzcjo0MDYsb3ZyMnM6NDEzLG92cnAyczo0MjgscGFjOjI4OSxwYXJpOjUxNyxwYXQ6MjkwLHBiMF9zOjYxMSxwYl9ycV9hdXRoejo0NDYscGJfcnFfY3R0X2NmbTo0NDcscGJjX2U6NjYzLHBiY19zOjY2MixwYmZfYzo5MixwYnA6NDg2LHBicmVzdW1lOjI5MixwYnM6NDg3LHBidToyOTMscGM6NDg4LHBjYzo1NDYscGNlOjU0NyxwY3E6NTQ0LHBjcjo1NDUscGN1X2FwOjgwOSxwY3VfY2U6NTgxLHBjdV9jczo1ODAscGN1X3JlOjgwOCxwY3VfcnM6ODA3LApwY3Vfczo4MDUscGN1X3NlOjgwNixwZGE6Mjk0LHBkYzoyOTUscGRyOjI5NixwZToyOTcscGVtX3I6NDQ0LHBlbV9ycTo0NDUscGZqZTozMDkscGZycjozMDUscGZyczozMDYscGZzOjMwNyxwZnQ6MzA4LHBmdF9pOjkzLHBsX2M6MjkxLHBsX2k6NDg5LHBsX2ludDo0OTAscGxfcjo0OTEscGxfcmM6NzAzLHBsX3M6NDkyLHBsX3NzOjQ5MyxwbGV2OjMxMCxwbGpzX3I6NDQ4LHBsanNfcnE6NDQ5LHBsdnM6NzIzLHBvdF9hZjo5Nyxwb3RfYXM6OTYscG90X2NtZTo1NjkscG90X2NtZjoyOTkscG90X2NtczoyOTgscG90X2NzbWU6NTcwLHBvdF9jc21mOjMwMSxwb3RfY3NtczozMDAscG90X2lmOjMwNCxwb3RfaW5pdGY6OTUscG90X2lzYzozMDIscG90X2lzdDozMDMscG90X3NlOjU2NSxwb3Rfc2Y6NTY0LHBvdF9zczo1NjMscG90X3hlOjU2OCxwb3RfeGY6NTY3LHBvdF94czo1NjYscG90cGU6OTQscHB1Ojk4LHByb2Nfazo2MTMscHJvY19rX2w6NjE0LHBzOjMxMSxwc19iczo2NDcscHNfYzo0OTQsCnBzX2VzOjk5LHBzX3BhOjY4MSxwc19waWhmOjU5Nyxwc19waWhzOjU5Nixwc19yOjM2MCxwc19zOjM2MSxwc19zZ2Y6NTk1LHBzX3Nnczo1OTQscHNucjo0OTUscHNuczo0OTYscHNwZToxMDAscHNwczoxMDEscHRfbWU6ODE1LHB0X21mOjgxNCxwdF9tczo4MTMscHRfcGllOjgxMixwdF9waWY6ODExLHB0X3Bpczo4MTAscHRfcGlzaDo2MDYscHZyaTo1MTgscHdjOjMxMixxb2VzOjMxMyxyX2Nfc2xkOjQ1MCxyX2Nfc3JxOjQ1MSxyX2Nvbm5lY3RfYmFja2VuZDo0NTIscl9jb25uZWN0X2JhY2tlbmRfc3VjY2Vzczo0NTMscl9jb25uZWN0ZWQ6NDU0LHJfY29uc3RydWN0aW9uOjQ1NSxyX2Rpc2Nvbm5lY3RlZDo0NTYscl9lYmk6NjY0LHJfZW9kOjU4NSxyX2Y6NDU3LHJfb3I6NzEzLHJfcGw6MTA1LHJfcHM6MTA2LHJfcnFfcGx5OjQ1OCxyX3NfcGx5bHN0OjQ1OSxyX3NfdmlkOjQ2MCxyX3N0YXR1c191cGRhdGU6NDYxLHJfdHI6MTA3LHJfdnRjOjEwNCxyX3dpcGJjOjU4NCxyX3ducjo3OTIsCnJfd25zOjc5MSxyX3dycjoxMDMscl93cnM6MTAyLHJfd3NycDo2MDkscl93c3JyOjYwOCxyX3dzcnM6NjA3LHJjdl86MzE0LHJlbW92ZV9zcGxhc2g6NDYyLHJlcV86MzE1LHJmZzozMTYscmdyX25yZjo2MDAscmdyX3M6NTk5LHJwZTo4MTYscnBseV9ycWQ6NDYzLHJwczo4MTcscnNfczo1MDgscnNhZV9wYzozMzIscnNhZV9wZWo6MzM0LHJzYWVfcGo6MzMzLHJzYmVfcGM6MzIzLHJzYmVfcGVqOjMyNSxyc2JlX3BqOjMyNCxyc2VfcGM6MzIwLHJzZV9wZWo6MzIyLHJzZV9wajozMjEscnNlZl9wYzozMjkscnNlZl9wZWo6MzMxLHJzZWZfcGo6MzMwLHJzZXNfcGM6MzI2LHJzZXNfcGVqOjMyOCxyc2VzX3BqOjMyNyxyc2ZfcGM6MzE3LHJzZl9wZWo6MzE5LHJzZl9wajozMTgscnRpbWVfOjMzNSxydXJsX2U6MTA4LHJ1cmxfcjoxMDkscnVybF9zOjExMCxydXJscGU6MTExLHJ1cmxwczoxMTIsczN0X3I6NDcyLHNhX2Y6NjI0LHNhX2ZvOjYyNSxzYV9zOjYyMyxzYWZfZnA6NjY1LHNhZl9yOjY2NiwKc2FmX3JlOjY2NyxzYXNfaTo2MjYsc2NnYXRfZmZzOjU2MCxzY2dhdF9mczo1NTksc2RhX2Y6NjA1LHNkYV9pOjYwNCxzZGFfcmVjcDo2MDEsc2RhX3JzcHA6NjAzLHNkYV9yc3ByOjYwMixzZGxfZTo2NTUsc2RsX3M6NjU0LHNkbF90OjY1NixzZl9pOjExMyxzZ3NjX3I6NzgxLHNnc2Nfczo3ODAsc2hvd19jYWxsX3RvX2Nhc3Q6NDY0LHNocmJfYzoxNjUsc2hyb19jOjE3MCxzaHJvX3I6MTY3LHNocnBfYzoxNjksc2hycF9sZDoxNjYsc2hycF9wOjE2OCxzb19yOjExOSxzb19yZToxMTgsc29fcnE6MTIwLHNwYToxMTQsc3BkOjExNSxzcGY6MTE2LHNwbnJfaDo2NzIsc3Bucl9zOjY3MSxzcHI6Njc4LHNyX2U6MTE3LHNyX3A6MTIxLHNyX3BhOjEyMixzcl9yOjEyMyxzcl9yZToxMjQsc3JfczoxMjUsc3JfdWk6MTI2LHNydDozMzYsc3Nfcjo0Njksc3Nfczo0Njgsc3Nfc2Zfczo3MjQsc3Nfc2Zfdzo3MjUsc3NucjoxMjcsc3NuczoxMjgsc3RjcF86MzM3LHN0ZV9hbGY6NTg5LHN0ZV9jOjU5MiwKc3RlX2VsZjo1OTAsc3RlX2Y6NTkxLHN0ZV9mdGw6NTg4LHN0ZV9sOjU4NyxzdHRzX2I6NTgyLHN0dHNfZjo1ODMsc3R2c19mOjY5MSxzdHZzX3M6NjkwLHN2ZTo0NjYsc3ZzOjQ2NSxzd19mYjo1MTAsc3dfaTo3ODMsc3dfcjo0OTcsc3dfczo0OTgsc3dzbnI6ODE5LHN3c25zOjgxOCxzd3NwZTo4MjEsc3dzcHM6ODIwLHRjcF86MzM4LHRlbnhfbDo0NzEsdGVueF9yOjQ3MCx0aDBfaDo2MTAsdGgwX25jOjY3NSx0aDBfbmU6Njc2LHRoMF9ucjoxMjksdGgwX25zOjY3NCx0aF9jXzE6NzA5LHRoX2RfMTo3MTAsdGhfbF8xOjEzMCx0aF9zXzE6NTc4LHRoc2IwX2ZyOjEzNCx0aHNiMF9uZToxMzEsdGhzYjBfbnI6MTMyLHRoc2IwX25zOjEzMyx0dGM6MzM5LHR0Y3I6MzQwLHVpX2w6MTM1LHVpYmZfYzoxNDEsdWliZl9yOjE0Myx1aWJmX3M6MTQyLHVpc2ZfcjoxNDQsdWl3d2FfYmM6NjE5LHVpd3dhX2M6MTM2LHVpd3dhX2U6MTQwLHVpd3dhX3ByOjEzOSx1aXd3YV9yOjEzOCx1aXd3YV9zOjEzNywKdWxyc19jOjM3MCx1bHJzX3M6MzY5LHVua25vd246MCx1cjozNDEsdmM6NjgyLHZjYzo1MTksdmNpOjUyMCx2ZGE6MzQyLHZkZXVjOjM0Myx2ZGV1cjozNDQsdmRldXM6MzQ1LHZkbnM6MzQ2LHZmYjo1MjEsdmZwOjM0Nyx2aGI6NTIyLHZpcjozNDgsdmlyYzozNDksdmlzX2E6NTAwLHZpc19yOjQ5OSx2aXNmOjE0NSx2aXNpOjE0Nix2aXNyOjE0Nyx2aXNzOjE0OCx2b3pfY3g6MTc5LHZvel9lb3U6MTg3LHZvel9lcnI6MTg0LHZvel9lcnJfbXM6MTgwLHZvel9lcnJfbm1wOjE4MSx2b3pfZXJyX29mZjoxODMsdm96X2Vycl91YXI6MTgyLHZvel9mdHI6MTg4LHZvel9mdmM6MTg5LHZvel9scl9sc286MTg1LHZvel9scl9tZDoxODYsdm96X21mOjE3Mix2b3pfbXM6MTcxLHZvel9ycWY6MTc0LHZvel9ycXM6MTczLHZvel9zZjoxNzgsdm96X3NzOjE3Nyx2b3pfdnA6MTc1LHZvel92dDoxNzYsdnBsOjM1MCx2cjozNTEsdnIxMDBrOjE0OSx2cmJfZjo1MDEsdnJjOjM1Mix2cmVxOjM1Myx2cmZiOjE1MCwKdnJpOjksdnJyOjM1NCx2cnJfcjo0NzQsdnJyX3M6NDczLHZycmg6MTUxLHZzaXNmYjoxNTIsdnNpc3I6MTUzLHZzaXNyaDoxNTQsdnNpc3M6MTU1LHZ0YTozNTUsdnRycjo1MjMsdnRyczo1MjQsd19zdDoxNTYsd2FzbV9mYTo4MjYsd2FzbV9mZXJyOjgyNyx3YXNtX2Z3OjgyNSx3YXNtX3M6ODI0LHdjOjM3Mix3Y3I6MzU2LHdlYmZlX2U6NzI4LHdlYmZlX2dibV9yOjc1OCx3ZWJmZV9nYm1fczo3NTcsd2ViZmVfZ2xfcjo3NjIsd2ViZmVfZ2xfczo3NjEsd2ViZmVfZ3Nfcjo3NjAsd2ViZmVfZ3Nfczo3NTksd2ViZmVfZ3VzX3I6NzMwLHdlYmZlX2d1c19zOjcyOSx3ZWJmZV9ndm1fczo3NjMsd2ViZmVfczo3Mjcsd2ZmZTozNTcsd2ZmczozNTgsd2ZnOjM1OSx3bl9lOjE2Mix3bl9sOjM3MSx3bl9yOjE1OSx3bl9ycDo0Nzgsd25fczoxNjAsd25fc2w6MTYxLHdubDoxNTgsd25sX2Q6ODIzLHdubF9tcDo1NzEsd25sX3BkOjgyMix3bmxyOjU3Mix3bmxzOjE1Nyx3bnBlOjE2Myx3bnBzOjE2NCwKd3A6NDc5LHdzX2NlOjE5MCx3c19zczoxOTEsd3Nfc3NyOjE5Mix5Y2VjOjU0OSx5Y2VmOjU0OCx5Y2Z0cjo2NDUseWNpZjo1NTAseWNtc2Y6NjQ0LHljcmM6NzE4LHljcmY6NzE3LHljcnM6NzE0LHljcnNjOjcxNSx5Y3J1ZWE6NzE2fTtfLnJhKCJ5dExvZ2dpbmdHZWxTZXF1ZW5jZUlkT2JqXyIsXy51Lnl0TG9nZ2luZ0dlbFNlcXVlbmNlSWRPYmpffHx7fSk7dmFyIGJxPV8udS55dExvZ2dpbmdMYXRlbmN5VXNhZ2VTdGF0c198fHt9O18ucmEoInl0TG9nZ2luZ0xhdGVuY3lVc2FnZVN0YXRzXyIsYnEpOwp2YXIgJHA9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9MH10aWNrKGEsYixjLGQpe2NxKHRoaXMsYHRpY2tfJHthfV8ke2J9YCl8fChjPXt0aW1lc3RhbXA6YyxjdHRBdXRoSW5mbzpkfSxiPXt0aWNrTmFtZTphLGNsaWVudEFjdGlvbk5vbmNlOmJ9LF8ueCgieW91dHViZV93ZWJfY3NpX3RpY2tzX21pZ3JhdGlvbiIpJiYoYT1ac1thXSxhIT09dm9pZCAwJiYoYi50aWNrPWEsZGVsZXRlIGIudGlja05hbWUpKSxfLkVwKCJsYXRlbmN5QWN0aW9uVGlja2VkIixiLGMpKX1pbmZvKGEsYixjKXt2YXIgZD1PYmplY3Qua2V5cyhhKS5qb2luKCIiKTtjcSh0aGlzLGBpbmZvXyR7ZH1fJHtifWApfHwoYT1PYmplY3QuYXNzaWduKHt9LGEpLGEuY2xpZW50QWN0aW9uTm9uY2U9YixfLkVwKCJsYXRlbmN5QWN0aW9uSW5mbyIsYSx7Y3R0QXV0aEluZm86Y30pKX1qc3BiSW5mbygpe31zcGFuKGEsYixjLGQpe3ZhciBlPU9iamVjdC5rZXlzKGEpLmpvaW4oIiIpO2lmKGR8fCFjcSh0aGlzLGBzcGFuXyR7ZX1fJHtifWApKWEuY2xpZW50QWN0aW9uTm9uY2U9CmIsXy5FcCgibGF0ZW5jeUFjdGlvblNwYW4iLGEse2N0dEF1dGhJbmZvOmN9KX19O3ZhciAkcyxhdDskcz13aW5kb3c7YXQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnRpbWluZz17fTt0aGlzLmNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLndlYmtpdENsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1vekNsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fTt0aGlzLm1zQ2xlYXJSZXNvdXJjZVRpbWluZ3M9KCk9Pnt9O3RoaXMub0NsZWFyUmVzb3VyY2VUaW1pbmdzPSgpPT57fX19O18uc3E9JHMucGVyZm9ybWFuY2V8fCRzLm1velBlcmZvcm1hbmNlfHwkcy5tc1BlcmZvcm1hbmNlfHwkcy53ZWJraXRQZXJmb3JtYW5jZXx8bmV3IGF0O3ZhciBscT1fLkZuKCk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Um9vdFZlVHlwZSIsXy5ncSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3VycmVudENzbiIsXy5pcSk7Xy5yYSgieXRfbG9nZ2luZ19zY3JlZW4uZ2V0Q3R0QXV0aEluZm8iLF8ua3EpO18ucmEoInl0X2xvZ2dpbmdfc2NyZWVuLnNldEN1cnJlbnRTY3JlZW4iLF8ubXEpO3ZhciB3cSxycTt3cT0hMTtycT0hMTtfLmJ0PSgwLF8uQ2EpKF8uc3EuY2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3Eud2Via2l0Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubW96Q2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uc3EubXNDbGVhclJlc291cmNlVGltaW5nc3x8Xy5zcS5vQ2xlYXJSZXNvdXJjZVRpbWluZ3N8fF8uZ2QsXy5zcSk7dmFyIGR0OwpfLmN0PV8uVmkoZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7aWYoIV8ueCgid2ViX2NzaV9hY3Rpb25fc2FtcGxpbmdfZW5hYmxlZCIpfHwhXy5rbyhmKS5hY3Rpb25EaXNhYmxlZCl7dmFyIGs9aD8uc3BhblN0YXR1cyxsPWg/LnJvb3RTcGFuTm9uY2U7bGV0IG09Xy5ubyhmKTttLmdlbFNwYW5zP20uZ2VsU3BhbnNbYV09ITA6bS5nZWxTcGFucz17W2FdOiEwfTtYcysrO2E9e3NwYW5OYW1lOmEsc3Bhbkxlbmd0aFVzZWM6U3RyaW5nKE1hdGgucm91bmQoYioxRTMpKSxzcGFuTm9uY2U6WHMscm9vdFNwYW5Ob25jZTpsfHxYc307ayYmKGEuc3BhblN0YXR1cz1rKTtkJiYoYS5zcGFuSW5mbz1kKTtlJiYoYS5wYXJlbnRTcGFuTm9uY2U9ZSk7YyYmKGEuc3BhblN0YXJ0VGltZVVzZWM9U3RyaW5nKE1hdGgucm91bmQoYyoxRTMpKSk7Yz1hO18udW8oZnx8IiIpLnNwYW5bU3RyaW5nKGMuc3Bhbk5hbWUpXT1jO2Q9Xy5ubyhmKTtkLmdlbFNwYW5zfHwoZC5nZWxTcGFucz17fSk7Xy55bihkLmdlbFNwYW5zLGMpOwpkPV8ucG8oZik7Zj1fLmtvKGYpLmN0dEF1dGhJbmZvO2FxKCkuc3BhbihjLGQsZixoPy5xdSk7cmV0dXJuIGMuc3Bhbk5vbmNlfX0pO2R0PXdpbmRvdztkdC55dGNzaSYmKGR0Lnl0Y3NpLmluZm9HZWw9Xy56cSxkdC55dGNzaS50aWNrPV8uQXEpO3ZhciBldDtldD1uZXcgXy5jcztfLmZ0PWV0LnByb21pc2U7KGZ1bmN0aW9uKGEpe18uQXEoIm1tX2lzIik7dmFyIGI9bmV3ICRyO18uVWQoYik7Xy54KCJ3ZWJfZW5hYmxlX2xhenlfY3NzIikmJihuZXcgUHIpLmluaXQoKTtiLmVuKCgpPT57ZmgoKTtfLkFxKCJtbV9pZSIpO2E/LigpfSk7Yi5abihRZy5FUlJPUiwoYyxkLGUpPT57Xy5VaShFcnJvcigiSGFgIitkKyJgIitlKSl9KX0pKCgpPT57ZXQucmVzb2x2ZSgpfSk7Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZT1mdW5jdGlvbihhLGIpe2lmKCFfLlFkKXtpZighXy5UZClyZXR1cm47Xy5VZChfLlRkKCkpfV8uUWQuVGgoYSxiKX07Cl8uX01vZHVsZU1hbmFnZXJfaW5pdGlhbGl6ZSgncm9vdC9zeTAvbjczcXdmOjEvc3kxL3N5MjozL2l1VDVPYzo0L3N5My9VVUpxVmU6MSw2L3N5NS9zeTQ6OC9NcEp3WmM6MSw2LDkvc3k2L3N5Nzo4L3N5ODpjL3N5Yy9zeWc6YixlL3N5aDpmL3N5YS9zeTFmL3N5M2M6aS9zeTNxOmkvc3k1YS9zeTU2L3N5NTgvc3k1YjpqLGssbCxtLG4vc3k1OTpqLG0sbi9zeTNkL3N5OTozLGMsZyxoL3N5ay9zeTU3L3N5YjpzL3N5ZDo4LGUvc3k1YzpqLGwsbSxuL3N5NWU6ayxxLHcvc3llL3N5Zi9zeWkvc3lqL3N5bC9zeW0vc3kxaC9zeTFlL3N5MWw6MTUvc3kzODoxNCwxNi9zeXA6MSw5LGMvc3l1OmMvc3lzOmQsMTgsMTkvc3kxaS9zeTJkL3N5Mms6MWEvc3kyajoxZC9zeTJ3OjFhL3N5MTkvc3kxcC9zeTIxL3N5Mm0vc3kybjoxai9zeTFiL3N5MXovc3kydS9zeTFrOmMsdiwxaCwxaSwxaywxbCwxbSwxbi9zeTJsL3N5MXU6MWcsMW4vc3kzMS9zeXY6Yy9zeTEwOjE4L3N5ejoxdC9zeXk6MWEvc3kzNjpjL3N5M2Y6Yy9zeTFtOmIsMWYsMXEsMXIsMXMsMXUsMXYsMXcsMXgvc3kyci9zeTNlL3N5M2E6aC9zeTEyOjFhL3N5M2c6MXUvc3kzaDoxOS9zeTFxOmcsaixxLDFvLDFwLDF5LDF6LDIwLDIxLDIyLDIzLDI0L3N5M2k6MXovc3kzbToxZS9zeTQzOjFlL3N5NDQ6MWUvc3k0ZjoxZS9zeTQ3OjFlL3N5NGc6MWUvc3k0aC9zeTRpOjE5L3N5eDoxYS9zeXQ6MWEvc3lyOjJnL3N5MTg6MWQsMXMsMmYsMmgvc3kyby9zeTMyL3N5M2I6MTksMW8sMXUvc3l3OjE4L3N5MTc6MjEsMm0vc3kzay9zeTFuOjFvLDFzLDJoLDJuLDJvL3N5M2o6MXcsMmssMmwsMnAvc3kxdi9zeTF5L3N5MnM6MTYvc3kyei9zeTFkL3N5M3Q6MTkvc3k0ajpqLGsscSwxZiwxdSwxdywxeCwyaywydi9zeTRkOmMsMWIvc3k0azoxOCwxcy9zeTQxOmMvc3k0MjoxOSwzMC9zeTJjOjExLDI1LDI2LDI3LDI4LDI5LDJhLDJiLDJjLDJkLDJlLDJpLDJqLDJxLDJyLDJzLDJ0LDJ1LDJ3LDJ4LDJ5LDJ6LDMxL3N5MWo6MTYvc3kyNDozMy9zeTRsOjE5LDMwL3N5MjM6MW8vc3kyNS9zeTJpOjE5LDM3L3N5NDYvc3k0cTozMiwzNiwzOCwzOS9zeW46MTcsMWMsMzQsMzUsM2Evc3kzMy9zeTJ2OjE4L3N5MWE6ayxtLHQsdSwyNSwyZiwybCwzYywzZC9zeTRuL3N5NG86M2Yvc3kzeC9zeTN6L3N5NHA6aixrLDFhLDFzLDF1LDF3LDF4LDNnLDNoLDNpL3N5Mjkvc3kzbDoxZS9zeTFvOjFtL3N5Mmg6M20vc3kxNDoxdCwyMi9zeTJmOmosayxxLDFzLDF3LDF4LDIzLDNvL3N5Mmcvc3kzcy9zeTQwOjFvL3N5M3Ivc3kzdS9zeTN2L3N5MWcvc3kzcC9zeTN3OmIsaiwxYSwxcywxdywxeCwyMywzaCwzdi9zeTN5OjFlL3N5M286MjUsMmksMmwsMncsM2ksM3AsM3IsM3QsM3UsM3csM3gsM3ksM3ovc3kxcjoyaywycywydCwzMSwzbiwzcSwzcyw0MC9zeTRzL3N5MnEvc3kyeS9zeTJ0OjFuLDNkL3N5NHUvc3k0dDoxZS9zeTI3OjFiLDF2LDF3LDNxLDQ2LDQ3L3N5MnA6MWUvc3kzbjoxZS9zeTQ1OjFlL3N5MjYvc3k0ODoxZS9zeTQ5OjFlL3N5NGEvc3k0Yjo0Zi9zeTRjOjNvLDRnL3N5Mjg6MjUsMjYsMjcsMmIsMmksMnAsMncsMnksNGMsNGQsNGUsNGgvc3k0ZToxZS9zeTJhOmssMjgsMnYsMzgsMzksNGEsNGIsNGksNGovc3kxdC9zeTRtOjE2L3N5MmI6MzIsMzUsMzgsMzksM28sNGwsNG0vc3kyZTozayw0MS9zeTIyL3N5MzAvc3k1MjoxOSwxcywyMy9zeTU0OjFhL3N5Mzcvc3kyMDoxaS9zeTM1OjFzLDF1LDF3LDJnL3N5MzQ6aywxbiwxeiwydCwzYyw0dCw0dSw0di9zeTE1OjF1L3N5cTp3LDEwLDNiLDNlLDNqLDNsLDQyLDQzLDQ0LDQ1LDQ4LDQ5LDRrLDRuLDRvLDRwLDRxLDRyLDRzLDR3LDR4L3N5NHcvc3lvOm8scCxyLDR5LDR6L3N5MTE6ZCwxOC9zeTEzOjF1LDIyLDUxL3N5MTY6Mm0vc3kxdy9zeTUxOjFmLDNwLDQ2LDRyLDR2L3N5Mngvc3kxeDo0eSw1NCw1NSw1Ni9zeTR2OmosayxxLDFhLDF3LDIzLDNyLDQ1LDR6L3N5Mzkvc3kxczo0cS9zeTR6OjFlL3N5NWQ6MWUvc3k1MDpqLHEsMXksMjgsMmEsMmIsMmksMmwsM28sNWEsNWIsNWMvc3k0cjoxZS9zeTR4OmssMW4sMXosNHYvc3k0eTpzLDJ1LDNjL3N5NTMvc3k1NToxOCwxcy9zeTFjOjQseCx5LDUwLDUyLDUzLDU3LDU4LDU5LDVkLDVlLDVmLDVnLDVoLDVpL3N5NWYvc3k1Zy9zeTVpL3N5NWsvc3k1bC9zeTVtL3N5NW4vc3k1bzoxOC9zeTVqL3N5NWg6NCx6LDUwLDU4LDVhLDVoLDVtLDVuLDVvLDVwLDVxLDVyLDVzL3N5NXA6NWosNXQvYmFzZTpkLHIsdSx2LHkseiwxMCwxMSwxMiwxMy9zeTVxL3N5NXIvc3k1czpjLGgvc3k1dDoybSwzbiwzbyw0eC9zeTdkL3N5NXU6MWwsMm8sNXIsNjAvc3k3cS9zeTZ0L3N5ODU6MTYvc3k4NDpqLDFyLDF3LDIzLDI4LDJpLDM1LDN0LDUzLDVpLDYzLDY0L3N5NXY6MTMsNTEsNjIsNjUvc3k2Yy9zeTZzOjQxL3N5ODY6MzUsNjQsNjgvc3k3bDpqLGsscSwxZSwxZiwxdSwxdywzbywzdSwzdi9zeTY3L3N5NXc6MzIsMzgsNDUsNXosNjYsNjcsNjksNmEsNmIvc3k1eC9zeTdlOjNkLDNtLDYwL3N5OHM6NmUvc3k5czoxZS9zeTV5OmYsaiwxaywxdywyMiwyMyw1YSw1biw2Ziw2Zy9zeTdyOjE0LDR0L3N5NmI6MnQsMzMvc3k1ejozNSwzZiwzayw0MSw0cCw2aSw2ai9zeTd6OjFlL3N5NjI6aC9zeThuOjFvLDFzL3N5NjA6MWIsMmQsMm4sNDEsNDYsNDcsNmwsNm0sNm4vc3k4bTpqLHEsMWcsMXcsMXgsMjMsNm4vc3k4bzoxNi9zeTc3L3N5Nnc6aiwxciwxdywyOCwyYSwyYywyaSwzayw1Yiw2ci9zeTdpL3N5OGwvc3k2MTp6LDEyLDJwLDJyLDM1LDNkLDQxLDR1LDU5LDVpLDV5LDV6LDYxLDZtLDZwLDZxLDZzLDZ0LDZ1L3N5NjM6MjUsMmksNGUvc3k2NDprLDI1LDI3LDJkLDJpLDJxLDRnL3N5NmQvc3k2OToxbiw0Ziw2Mi9zeTY4OjFlLDZ6L3N5N3Avc3k4YS9zeThjOjFlL3N5NjU6MWIsMjksMnAsM2csNmssNnUsNnksNzAsNzEsNzIsNzMvc3k2ei9zeTY2OjFjLDJrLDJyLDM1LDNzLDQwLDR3LDVmLDVnLDVuLDVvLDV6LDZmLDZqLDc1L3N5N286aixrLDFhLDFxLDF3LDF4LDF6LDNnL3N5Nmsvc3k2YTo1Nyw2eiw3MSw3Nyw3OC9zeThrOjFlL3N5OGY6MWUvc3k2ZToxNSwxdywyaSwzMCwzbyw0OSw0YSw0aiw0eiw3YSw3Yi9zeTZmOjFvLDFzLDF3LDI4LDJhLDJ1LDM1LDNrLDNyLDV6LDZlLDZxLDZyL3N5N2o6YywxaCwxaiwzNy9zeTdrOjFvLDM4LDM5LDZhL3N5Nmc6MWMsM2EsNDQsNGwsNW8sNXAsNjEsNjcsNzgsN2UsN2Yvc3k2aDozZSw0Miw0cSw2Myw2OC9zeTZpOmoscSwxNiwxOCwxdywzNS9zeTZyL3N5Nmo6MjUsMjcsMmksM28sN2UsN2ovc3k2bDoxNywyMywyOCwyaywydCwzMSwzayw1cS9zeThiOjJkL3N5ODA6MmQsN2ovc3k2eToxYiwyNSwyNywyaSwycCw0Yyw2MSw3Myw3bSw3bi9zeTZ4OjJiLDJlLDJ3LDRoLDVoLDcyLDdvL3N5Nm06MmEsNDEsN3Avc3k3eDoxZS9zeTd5OjJpLDdyL3N5OHI6MWIsMWcsMXUsMXcsMnAsM3MsNGMsNmwsN24sN3Mvc3k2bjoyYyw0MSw0dSw1OSw3NSw3byw3dC9zeThoOjFlL3N5Nm86MmksN2UsN3Yvc3k2cDoxaywxeiwzNSwzbyw0bSw0diw1bS9zeTZxOmssMjUsMjgsMmkvc3k2dS9zeTZ2OmosMTgsMXcvc3k3My9zeTcwOjFxLDFzLDF3LDJzLDJ0LDMxLDQ2LDQ3LDVnLDgxL3N5NzEvc3k4OToxZS9zeTcyOmosaywxeSwyaSwzMSwzZywzbyw1Niw1aSw2aSw3ciw4NC9zeTc0OjF3LDI4LDJpLDNyL3N5NzU6aixrLHEsMWEsMXcsM2csM3Qvc3k3NjoyNSwyaSw3My9zeTc4OmoscSwxNiwxbywxdSwxdywyYSwyaSwzNSwzbyw2ci9zeTc5OjJpLDdlLDdmL3N5ODI6MWUvc3k4MzoxZS9zeTdhOjFwLDF4LDIwLDJiLDJqLDJ3LDN4LDRhLDRiLDRkLDVoLDV3LDV5LDY2LDZ0LDcwLDcyLDdhLDd2LDhiLDhjL3N5N2I6NmYsN28sN3osOGMvc3k3YzpxLDFrLDF3LDF4LDJmLDMxLDZkLDZnLDZqL3N5N2Y6NDEsN2wvc3k3Zzo0MS9zeTdoOmosMXksMXovc3k3bToyNSwyNiwyaS9zeTduOmoscSwxOCwxdywxei9zeTdzL3N5N3U6MjAvc3k3dDoyNSwzbyw1aCw4bCw4bS9zeTd2OjFiLDFlLDI1LDJwLDhsL3N5N3c6MW8sNmwsN24sN3Mvc3k4MToyNSwyaSw0aCw4Yiw4Yy9zeTg3OmosMXksMXosMjAsNWgvc3k4ODo3Nyw4NS9zeThkOjExLDJyLDM0LDM1LDQxL3N5OGU6MmksMzgsN2IsN2Uvc3k4ZzoxZSwyNSwydy9zeThpOjFjLDMyLDNvLDdlL3N5OGo6MzgsNDEsN2Uvc3k4cToyNSwyYiwyaSwycCw4Yy9zeThwOjQxLDZ1LDZ6LDdwLDd0LDh5L3N5OHQ6NG8sN2Uvc3k4dToxYiwyNSwyNiw0Mi9zeTh2OjF5L3N5OHg6MWUvc3k4dzpqLHEsMXcsMmksM2csOTMvc3k4eTprLDFiLDI1LDJwLDYxLDgzL3N5OHo6aiwxdywyYSwyaSwzdCw4My9zeTkwOjF3LDJpLDNnLDgxLDkzL3N5OTE6aixxLDFiLDF5LDJlL3N5OTI6aywxYiwxeSwyMywyNiwycCw3ciw3eiw4NCw4Ni9zeTkzOjExLDJvLDJ0LDQwLDhkL3N5OTQ6aixrLHEsMWYsMXYsMXcsMXgsMjMsMnosNjEvc3k5NToyNSw0Miw4bS9zeTk2OmosayxxLDFlLDFvLDF5LDMxLDR1LDU5LDYxL3N5OTc6aixrLDF6LDNvLDR2LDVnL3N5OTg6MXcsMmEsMzUsNG0sNTQsNnIvc3k5OToxdywyNCwyYSwydywzNSwzdywzeCw0bSw1NCw2ci9zeTlhOmosaywxdSwxdywzNi9zeTliOmosayxxLDF5LDIzLDJ6LDN0LDQzLDZ5LDdtL3N5OWM6MjUsMjYsMjcsMmIsN3Qvc3k5ZDo3by9zeTllOjFvLDFzLDF3LDIzLDRzLDZiL3N5OWY6aywyNSw3dC9zeTlnOmssMjUsMzEsM2wsM3IsNHUsNTksNWQvc3k5aDoyNSwyNywyaS9zeTlpOmssMTEsMjUsMjgsMmksM3IsNGYsNXkvc3k5ajpqLGsscSwxeSwybCwyciwzMSw0dSw1OS9zeTlrOjI3LDQxL3N5OWw6MXcsMjgsMmksMzEsM3IsNHUsNTkvc3k5bTprLDI1LDJsLDMxLDR1LDU5L3N5OW46MjUvc3k5bzprLDI1LDJ0LDMxLDM1LDNpLDNvLDN6LDR1LDU5L3N5OXA6MjUsMm8sMzEsNHUsNTkvc3k5cToyNSwyNyw3dCw4Yy9zeTlyOmssMjUsMmYsMmwsM2wsNXMsNmcvc3k5dDoyaSw1Yy9zeTl1OnMsMXMsMXcsMjMsMnUsM2MsNTIsNmQvc3k5djozNSwzayw0MSw2ai9zeTl3OjQwL3N5OXg6aixxLDE4LDF3LDM1LDRtLDU0L2Jhc2Vfc3luY19tb2RfY2h1bms6NXYvcjlLTWpiOjhqL1ZjR1M4OjhrL3pDa0tCYzoyeC9pNlhvbWU6OHYvbk81ZFRkOjd4L090S1NKZTozai9udlg0VmI6M3kvRGx2RjFkOjQxLGFiL2Y5MHRDYjo3bC9WYlhyVWU6OGcsYWMsYWQvcEVTbERiOjhpL0ttQmZjYzo5NS9TVTN1aTo5aS9SYXE0Y2I6OHAvakJpc2FmOjU1L1B6VWRaYjo0OC9xVExkUTo4bi9XcWxjVmI6OG8vUUhBdGVmOjh0LGFjL1VBOEdTZTo4eCxhYy9MVmlNTTo3NixhYi9wZXZ0dmM6OWYvaXpqbVA6OWcvamd4OG1lOmExLGFjL3VobExHYjo2cy9GcUhjR2U6OWIvY3lDVmxkOjRpL29QcDVMZTo4Mi9BNG9BVmU6OTcvT3NtNDljOjg2L1BEdjZNZTo5OSxheS9vc1R0eGU6OHEvcVZEZ0JkOjhyL0hEbVUxZTo3dC9MSFA3SmQ6N28vVHUzTUI6N3AsYjMvRnNvWHpjOjdxLGFjLGI0L2lhaTJpYzo5Mi90UGdZemQ6ODcvYTY2TGZlOjk0L0lXcFVyZjo4OC9kSGNvSWY6OTYvb1hCV0hmOjk4L0lUdUNVYjo2cC9OcjBrZmU6ODUvYWNGdVZjOjhzLGJkL21tMk4wYzo5aC9oYjBXbWY6N2QvaE5lbHZkOmEzL3I1Q09IZjo3aS9aUUt4MToycS9wZTJvamI6MzIsYTcsYmovaGFvdU9lOjg5L2pKZkNvZDphMixhYi93U240YWM6NnYsYWMsYXQsYmMvaGExSWk6OHkvT003eG9iOjh6LGFjLGIyLGI0LGJvL0ZpTkdPYzo2ayxhYy9Xc2lNaWM6Nm8sYWMvVUFNNW06NzQsYnEvRDlXTWQ6NncveTlub09iOjZ4LGJqL1cwZ1NLYjo2OSxhYy9Id2xPaGQ6NjUvaGpyTm46ODAvdkRjazFkOjRuLGJrL0h4amxiYjozYixiay9uMERIZzo3eS9uQnZCeWQ6OWosYjIvZURVRG9jOjlrLGIzL1ZPVVA5ZDo4ZCxidy9iemowamQ6OWEsYWIsYzMvdVJJYUM6OW0sYjIvY2dTRW9iOjljL1hlUlhCZDo5ZC9zNjQ5ajo5cS91U3hkbmI6OXMvV2ZmNkJkOjd1LGFjLGIyLGIzL1UzbXpzZDo5dC95UDBKQmQ6OXUvUnFhSnNkOjl2L0UzSGViYzo5dy9wMXZFU2Q6YTAvQVQ4TFRlOjl5L3NET1RHZTo5bi9lY3VQQWM6NmgvTlFjMUlkOjhmL0ZRZElKZTo5ei9ibFpaWGU6OGgsYWMvZ0FPWXg6NmEvSU5jMUVmOjdnLGJrLGNtL2xQV2prYjo0byxhYy9vakdUNmQ6OHUvZDJMVHhiOjRrLGF2L0haNDFPZDo4dyxiay9lM1V0Vzo4ZSxiMy9hVTFHVGI6OTAsY28vSWJ4eE9lOjkxL3ZpVVdWOjU4L0R2WkM5OjlsL2ZBemRUOjZjLGJrLGJ2LGJ3LGNtL2ZnbEpOYjo4YSxjbS9pbFFTQWY6OW8vVWtadVdiOjlyLGFjL2w4YUtEYjo3ay9jbnE1UWI6OXgsYjIvbjlESkJmOjd3L2ZLRThxZDo3Yy9uN2VvMjo5cC9SWmVrSjo5ZS9RbWtNRTo3aCxhYy9OdWlsdWU6NzksYWEsYWosYWssYnksYnosY28sY3EvbWVIOUViOjUsNXQsYWEsYWssYnksYnosY28sY3EsY3YveUVmTkZiOjVqLGFqLGQ5L3I3OERyYjo1dSxhaixkOScsWydzeTEnLCdzeTUnLCdzeTYnLCdzeTcnLCdzeTgnLCdzeWMnLCdzeWcnLCdzeWgnLCdzeWEnLCdzeTknLCdzeWsnLCdzeWInLCdzeWQnLCdzeWUnLCdzeWYnLCdzeWknLCdzeWonLCdzeWwnLCdzeW0nLCdiYXNlJ10pOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgUHQsUXQsVnQ7Xy5NdD1mdW5jdGlvbihhKXt2YXIgYj1fLmpmO2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyliLkFhKGFbY10pfTtfLk50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIF8uamYuR2EoYSw0LGIpfTtfLk90PWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgXy5CZihmdW5jdGlvbihiLGMpe2MoYSl9KX07UHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIHR5cGVvZiBhLmNsYXNzTmFtZT09InN0cmluZyI/YS5jbGFzc05hbWU6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn07UXQ9ZnVuY3Rpb24oYSxiKXt0eXBlb2YgYS5jbGFzc05hbWU9PSJzdHJpbmciP2EuY2xhc3NOYW1lPWI6YS5zZXRBdHRyaWJ1dGUmJmEuc2V0QXR0cmlidXRlKCJjbGFzcyIsYil9OwpfLlJ0PWZ1bmN0aW9uKGEsYil7YS5jbGFzc0xpc3Q/Yj1hLmNsYXNzTGlzdC5jb250YWlucyhiKTooYT1hLmNsYXNzTGlzdD9hLmNsYXNzTGlzdDpQdChhKS5tYXRjaCgvXFMrL2cpfHxbXSxiPV8uc2IoYSxiKT49MCk7cmV0dXJuIGJ9O18uU3Q9ZnVuY3Rpb24oYSxiKXtpZihhLmNsYXNzTGlzdClhLmNsYXNzTGlzdC5hZGQoYik7ZWxzZSBpZighXy5SdChhLGIpKXtsZXQgYz1QdChhKTtRdChhLGMrKGMubGVuZ3RoPjA/IiAiK2I6YikpfX07Xy5UdD1mdW5jdGlvbihhLGIpe2EuY2xhc3NMaXN0P2EuY2xhc3NMaXN0LnJlbW92ZShiKTpfLlJ0KGEsYikmJlF0KGEsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGEuY2xhc3NMaXN0P2EuY2xhc3NMaXN0OlB0KGEpLm1hdGNoKC9cUysvZyl8fFtdLGZ1bmN0aW9uKGMpe3JldHVybiBjIT1ifSkuam9pbigiICIpKX07Cl8uVXQ9ZnVuY3Rpb24oYSxiKXtpZih0eXBlb2YgYSE9PSJmdW5jdGlvbiIpaWYoYSYmdHlwZW9mIGEuaGFuZGxlRXZlbnQ9PSJmdW5jdGlvbiIpYT0oMCxfLkNhKShhLmhhbmRsZUV2ZW50LGEpO2Vsc2UgdGhyb3cgRXJyb3IoIk9hIik7cmV0dXJuIE51bWJlcihiKT4yMTQ3NDgzNjQ3Py0xOl8udS5zZXRUaW1lb3V0KGEsYnx8MCl9O1Z0PWZ1bmN0aW9uKGEpe2Euaj1fLlV0KCgpPT57YS5qPW51bGw7YS5vJiYhYS5CJiYoYS5vPSExLFZ0KGEpKX0sYS5JKTt2YXIgYj1hLkQ7YS5EPW51bGw7YS5NLmFwcGx5KG51bGwsYil9O18uV3Q9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcigpO3RoaXMuTT1jIT1udWxsP2EuYmluZChjKTphO3RoaXMuST1iO3RoaXMuRD1udWxsO3RoaXMubz0hMTt0aGlzLkI9MDt0aGlzLmo9bnVsbH12KGEpe3RoaXMuRD1hcmd1bWVudHM7dGhpcy5qfHx0aGlzLkI/dGhpcy5vPSEwOlZ0KHRoaXMpfXN0b3AoKXt0aGlzLmomJihfLnUuY2xlYXJUaW1lb3V0KHRoaXMuaiksdGhpcy5qPW51bGwsdGhpcy5vPSExLHRoaXMuRD1udWxsKX1wYXVzZSgpe3RoaXMuQisrfXJlc3VtZSgpe3RoaXMuQi0tO3RoaXMuQnx8IXRoaXMub3x8dGhpcy5qfHwodGhpcy5vPSExLFZ0KHRoaXMpKX1sYSgpe3N1cGVyLmxhKCk7dGhpcy5zdG9wKCl9fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKLyoKCiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLgoKIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5kZXYvbGljZW5zZQoqLwp2YXIgc3UscXUsb3UsdXUsbnUsenUsQXUsRHUsR3UsSHUsSXUsTnUsVHUsVnUsJHUsaXYsbXYscXYscnY7Xy5YdD1mdW5jdGlvbihhKXtyZXR1cm4gYT09bnVsbHx8dHlwZW9mIGE9PT0ic3RyaW5nIj9hOnZvaWQgMH07Xy5ZdD1hc3luYyBmdW5jdGlvbihhLGIpe3ZhciBjPV8ueSgpLGQ9Yy5yZXNvbHZlKF8uSW4oYSkpO2Q/KGIoZCksUHJvbWlzZS5yZXNvbHZlKGQpKTpjLnJlc29sdmUobmV3IF8uVXMoYSkpLnRoZW4oZT0+e2IoZSk7cmV0dXJuIGV9KX07Xy4kdD1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O18uWnQ9YTtyZXR1cm4gYn07Xy5idT1mdW5jdGlvbihhKXtyZXR1cm4gYT09PV8uYXV8fGE/Lm5hbWU9PT0iXHUwMjc1Tm90Rm91bmQifTtfLmN1PWZ1bmN0aW9uKGEsYil7aWYoYT8uaWEpdGhyb3cgRXJyb3IoIlNhYCIrU3RyaW5nKGEuZGVidWdOYW1lKSk7Zm9yKDthIT09dm9pZCAwOyl7bGV0IGM9YTtpZihjLlJoKXJldHVybiBjLlJoKGIse29wdGlvbmFsOiEwfSk7YT1hLnBhcmVudH1yZXR1cm4gXy5hdX07Cl8uZHU9ZnVuY3Rpb24oYSl7cmV0dXJue2Rlc2NyaXB0aW9uOmEsQ2I6e016OiJyb290Iix0b2tlbjpTeW1ib2woYSksS3A6dm9pZCAwLHZhbHVlOnZvaWQgMH19fTtfLmV1PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYSYmYj9gJHthfV9fJHtifWA6YT8/Yj8/Y307Xy5ndT1mdW5jdGlvbihhLGIpe3JldHVybnsuLi5fLmR1KGI/PyIiKSxbXy5mdV06ITAsZGVidWdOYW1lOmI/PyJbY29udGV4dF0iLGRlZmF1bHRWYWx1ZTphPy5kZWZhdWx0VmFsdWUscmVxdWlyZWQ6IWF8fCFPYmplY3QuaGFzT3duKGEsImRlZmF1bHRWYWx1ZSIpLGlkOmIsT0s6dm9pZCAwfX07Xy5odT1mdW5jdGlvbihhLGIpe2I9Xy5jdShiLGEpO2lmKF8uYnUoYikpe2lmKGEucmVxdWlyZWQpdGhyb3cgRXJyb3IoImpiYCIrYS5kZWJ1Z05hbWUpO3JldHVybiBhLmRlZmF1bHRWYWx1ZX1yZXR1cm4gYn07Xy5pdT1mdW5jdGlvbihhLGIpe3JldHVybiBPYmplY3QuaXMoYSxiKX07Cl8ua3U9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5qdTtfLmp1PWE7cmV0dXJuIGJ9O18ucHU9ZnVuY3Rpb24oYSl7aWYobHUpdGhyb3cgRXJyb3IoImgiKTtpZihfLmp1IT09bnVsbCl7Xy5qdS5pcChhKTt2YXIgYj1fLmp1LmtmO2lmKGI9PT12b2lkIDB8fGIuTWghPT1hKXt2YXIgYz12b2lkIDAsZD1fLmp1LmNuO2lmKGQmJihjPWIhPT12b2lkIDA/Yi5yZTpfLmp1LnByb2R1Y2VycyxjIT09dm9pZCAwJiZjLk1oPT09YSkpe18uanUua2Y9YztjLkhxPWEudmVyc2lvbjtjLm9qPV8ubXU7cmV0dXJufXZhciBlPWEuVWc7aWYoZT09PXZvaWQgMHx8ZS5EZiE9PV8uanV8fGQmJmUub2ohPT1fLm11KWQ9bnUoXy5qdSksYz17TWg6YSxEZjpfLmp1LHJlOmMsTWo6dm9pZCAwLG9qOl8ubXUsSHE6YS52ZXJzaW9uLHFlOnZvaWQgMH0sXy5qdS5rZj1jLGIhPT12b2lkIDA/Yi5yZT1jOl8uanUucHJvZHVjZXJzPWMsZCYmb3UoYSxjKX19fTsKXy5ydT1mdW5jdGlvbihhKXtpZighbnUoYSl8fGEuUGIpaWYoYS5QYnx8YS5yaiE9PV8ubXUpKGEuWG0oYSl8fHF1KGEpKSYmYS5ZbShhKSxhLlBiPSExLGEucmo9Xy5tdX07c3U9ZnVuY3Rpb24oYSl7aWYoYS5jb25zdW1lcnMhPT12b2lkIDApe3ZhciBiPWx1O2x1PSEwO3RyeXtmb3IobGV0IGM9YS5jb25zdW1lcnM7YyE9PXZvaWQgMDtjPWMucWUpe2xldCBkPWMuRGY7ZC5QYnx8KGQuUGI9ITAsc3UoZCksZC5ocD8uKGQpKX19ZmluYWxseXtsdT1ifX19O18udHU9ZnVuY3Rpb24oYSl7aWYoYSl7aWYoYS5rZj8ub2o9PT1fLm11KXtsZXQgYj1hLnByb2R1Y2Vycztmb3IoO2IhPT12b2lkIDA7KWIub2o9bnVsbCxiPWIucmV9YS5rZj12b2lkIDA7YS5jbj0hMH1yZXR1cm4gXy5rdShhKX07Cl8udnU9ZnVuY3Rpb24oYSl7YS5jbj0hMTt2YXIgYj1hLmtmLGM9YiE9PXZvaWQgMD9iLnJlOmEucHJvZHVjZXJzO2lmKGMhPT12b2lkIDApe2lmKG51KGEpKXtkbyBjPXV1KGMpO3doaWxlKGMhPT12b2lkIDApfWIhPT12b2lkIDA/Yi5yZT12b2lkIDA6YS5wcm9kdWNlcnM9dm9pZCAwfX07cXU9ZnVuY3Rpb24oYSl7Zm9yKGE9YS5wcm9kdWNlcnM7YSE9PXZvaWQgMDthPWEucmUpe2xldCBiPWEuTWgsYz1hLkhxO2lmKGMhPT1iLnZlcnNpb24pcmV0dXJuITA7Xy5ydShiKTtpZihjIT09Yi52ZXJzaW9uKXJldHVybiEwfXJldHVybiExfTtvdT1mdW5jdGlvbihhLGIpe3ZhciBjPWEuVWcsZD1udShhKTtjIT09dm9pZCAwPyhiLnFlPWMucWUsYy5xZT1iKTooYi5xZT12b2lkIDAsYS5jb25zdW1lcnM9Yik7Yi5Naj1jO2EuVWc9YjtpZighZClmb3IoYT1hLnByb2R1Y2VyczthIT09dm9pZCAwO2E9YS5yZSlvdShhLk1oLGEpfTsKdXU9ZnVuY3Rpb24oYSl7dmFyIGI9YS5NaCxjPWEucmUsZD1hLnFlLGU9YS5NajthLnFlPXZvaWQgMDthLk1qPXZvaWQgMDtkIT09dm9pZCAwP2QuTWo9ZTpiLlVnPWU7aWYoZSE9PXZvaWQgMCllLnFlPWQ7ZWxzZSBpZihiLmNvbnN1bWVycz1kLCFudShiKSlmb3IoYT1iLnByb2R1Y2VyczthIT09dm9pZCAwOylhPXV1KGEpO3JldHVybiBjfTtudT1mdW5jdGlvbihhKXtyZXR1cm4gYS5ncHx8YS5jb25zdW1lcnMhPT12b2lkIDB9O18ud3U9ZnVuY3Rpb24oKXt0aHJvdyBFcnJvcigpO307Xy55dT1mdW5jdGlvbihhLGIpe18uanU/LkxlIT09ITF8fF8ud3UoYSk7YS5lcXVhbChhLnZhbHVlLGIpfHwoYS52YWx1ZT1iLGEudmVyc2lvbisrLF8ubXUrKyxzdShhKSx4dT8uKGEpKX07enU9ZnVuY3Rpb24oYSxiKXtiLnptPXZvaWQgMDthLlpqP2EuWmouem09YjphLlVrPWI7YS5aaj1ifTtBdT1mdW5jdGlvbihhLGIpe3p1KGEse1tTeW1ib2wuZGlzcG9zZV06Yn0pfTsKXy5CdT1mdW5jdGlvbihhKXt2YXIgYj1fLlp0O2ImJiFiLmlhJiYoenUoYixhKSxhLnBhcmVudD1iKX07RHU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEuVWs7Yjspe2xldCBjPWIuem07Xy5DdShiKTtiPWN9YS5Vaz12b2lkIDA7YS5aaj12b2lkIDB9O18uQ3U9ZnVuY3Rpb24oYSl7YS5pYXx8KGEuaWE9ITAsYVtTeW1ib2wuZGlzcG9zZV0/LigpLGEucGFyZW50PXZvaWQgMCxEdShhKSl9O18uRnU9ZnVuY3Rpb24oYSl7cmV0dXJuKDAsXy5xcikoYSkmJl8uRXUgaW4gYX07R3U9ZnVuY3Rpb24oYT1fLlp0KXtmb3IoO2E7KXtpZihfLkZ1KGEpKXJldHVybiBhO2E9YS5wYXJlbnQ/P251bGx9cmV0dXJuIG51bGx9O0h1PWZ1bmN0aW9uKGE9Xy5adCl7Zm9yKHZhciBiPVtdO2E7KV8uRnUoYSkmJmIucHVzaChhLmRlYnVnTmFtZSksYT1hLnBhcmVudD8/bnVsbDtyZXR1cm4gYn07Ckl1PWZ1bmN0aW9uKGEpe3JldHVybigwLF8ucXIpKGEpJiZhLm5hbWUhPT12b2lkIDAmJmEubGohPT12b2lkIDAmJmEucGFyZW50IT09dm9pZCAwfTtfLkx1PWZ1bmN0aW9uKCl7dmFyIGE9ey4uLkp1fTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhKdSkuZm9yRWFjaChiPT57Xy5LdVtiXSE9PXZvaWQgMCYmKGFbYl09Xy5LdVtiXSl9KTtyZXR1cm4gYX07Xy5SdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9Xy5NdTtiJiYoXy5NdT1iKTt0cnl7cmV0dXJuIGM9PW51bGw/YSgpOmEuY2FsbChjKX1jYXRjaChlKXtOdShlLF8uTXUpO2lmKGUhPT1PdSl7Xy5QdT1fLk11O2E9W107Zm9yKGI9Xy5adDtiOylhLnB1c2goYi5kZWJ1Z05hbWU/PyJbY29udGV4dF0iKSxiPWIucGFyZW50Pz9udWxsO18uUXU9YS5yZXZlcnNlKCl9T3U9ZTt0aHJvdyBlO31maW5hbGx5e18uTXU9ZH19OwpOdT1mdW5jdGlvbihhLGIpe3RyeXtsZXQgYz1fLlN1KGIpO2lmKGMmJiFhLk5kPy5jb21wb25lbnRTdGFjayYmKGEuTmQ/YS5OZC5jb21wb25lbnRTdGFja3x8KGEuTmQuY29tcG9uZW50U3RhY2s9Yyk6YS5OZD17Y29tcG9uZW50U3RhY2s6Y30sXy5LdS5Cdikpe2xldCBkPWAke2EubWVzc2FnZX1cblxuQ29tcG9uZW50IHN0YWNrOiAke2N9YDthLnN0YWNrJiYoYS5zdGFjaz1hLnN0YWNrLnJlcGxhY2UoYS5tZXNzYWdlLGQpKTthLm1lc3NhZ2U9ZH19Y2F0Y2h7fX07VHU9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgNDpjYXNlIDM6cmV0dXJuInNldmVyZSI7Y2FzZSAyOnJldHVybiJ3YXJuaW5nIjtjYXNlIDE6Y2FzZSAwOnJldHVybiJpbmZvIjtkZWZhdWx0OnJldHVybiJ1bmtub3duIn19OwpfLlV1PWZ1bmN0aW9uKGEsYixjKXtpZihhLk5kKXJldHVybiBhO3RyeXtsZXQgZD0oYT09PU91P18uUHU6bnVsbCk/P18uTXU7TnUoYSxkKTthLk5kPXtjb21wb25lbnRTdGFjazpfLlN1KGQpLGZoOmIsQWw6Xy5MdSgpLHRhZ05hbWU6YyxwcjpfLlF1Py5zbGljZSgpPz9bXX07YS5yZXBvcnRTZXZlcml0eT1UdShiKX1jYXRjaHt9cmV0dXJuIGF9O1Z1PWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9IiI7YjwyMCYmYTspYys9YCR7YCQkWElEOiR7YS5uYW1lfSQkYH0gPiBgLGE9YS5wYXJlbnQsYisrO3JldHVybiBjLnNsaWNlKDAsLTMpfTtfLlN1PWZ1bmN0aW9uKGEpe3JldHVybiBJdShhKXx8YT09PW51bGw/VnUoYSk6Xy5LdS5GcD8oYT1HdShhKSxIdShhKS5zbGljZSgwLDIwKS5tYXAoYj0+YCQkWElEOiR7Yn0kJGApLmpvaW4oIiA+ICIpKToiIn07Cl8uWXU9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5adDtpZihiKXt2YXIgYz1fLk11O0F1KGIsKCk9Pnt2YXIgZD1fLmt1KF8uV3U/PyhfLld1PU9iamVjdC5jcmVhdGUoey4uLl8uWHUsTGU6ITB9KSkpO3RyeXtfLlJ1KCgpPT52b2lkIGEoKSxjKX1jYXRjaChlKXt0aHJvdyBfLlV1KGUsNCksZTt9ZmluYWxseXtfLmt1KGQpfX0pfWVsc2UgXy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlhhIiksMik7fSk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIiRhIiksMik7fSl9OyR1PWZ1bmN0aW9uKGEpe3ZhciBiPSgpPT57Xy5wdShhKTtyZXR1cm4gYS52YWx1ZX07YltfLlp1XT1hO3JldHVybltiLGM9PntfLnl1KGEsYyl9LGM9PntfLmp1Py5MZSE9PSExfHxfLnd1KGEpO18ueXUoYSxjKGEudmFsdWUpKX1dfTsKXy5KPWZ1bmN0aW9uKGEsYixjPSIiKXt2YXIgZD1PYmplY3QuY3JlYXRlKGF2KTtkLnZhbHVlPWE7Yj8uZXF1YWxzIT09dm9pZCAwJiYoZC5lcXVhbD1iLmVxdWFscyk7ZC5kZWJ1Z05hbWU9Xy5ldShiPy5kZWJ1Z05hbWUsYywiW3NpZ25hbF0iKTtyZXR1cm4gJHUoZCl9O18uZnY9ZnVuY3Rpb24oYSl7aWYoIWEuaWEpc3dpdGNoKGEuZWZmZWN0VHlwZSl7Y2FzZSBidjpfLmN2LnNjaGVkdWxlKGEpO2JyZWFrO2Nhc2UgXy5kdjpldi5zY2hlZHVsZShhKTticmVhaztkZWZhdWx0Ol8uZWIoYS5lZmZlY3RUeXBlLHZvaWQgMCl9fTtfLmp2PWZ1bmN0aW9uKCl7aWYoXy5ndj4wKV8uS3UuUmkmJl8uY3YuZmx1c2goKTtlbHNle2ZvcihsZXQgYSBvZiBodilhLmZsdXNoKCk7aXYoKX19O2l2PWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7Zm9yKGxldCBhIG9mIGt2KWEuZmx1c2goKX07Cm12PWZ1bmN0aW9uKGEpe3ZhciBiPWEuaXNGbHVzaGluZzthLmlzRmx1c2hpbmc9ITA7dHJ5e2xldCBjPTA7Zm9yKDtjPGEuWmI7KXtsZXQgZD1hLkRkW2NdO2EuRGRbY109dm9pZCAwO2MrKztpZighZHx8IWQuUGIpY29udGludWU7bGV0IGU9W2RdLGY9ZDtmb3IoO2YucGFyZW50IT09dm9pZCAwOylmPWYucGFyZW50LCgwLF8ubHYpKGYpJiZmLlBiJiZlLnB1c2goZik7Zm9yKDtlLmxlbmd0aD4wOyllLnBvcCgpLnJ1bigpfWEuWmI9MH1maW5hbGx5e2EuaXNGbHVzaGluZz1ifX07Xy5vdj1mdW5jdGlvbihhLGI9Xy5adCl7aWYoYiYmIWIuaWEmJihiPV8uaHUobnYsYiksYj8ucmVwb3J0RXJyb3IpKXtiLnJlcG9ydEVycm9yKGEpO3JldHVybn10aHJvdyBhO307Cl8ucHY9ZnVuY3Rpb24oYSxiLGMpe2E9T2JqZWN0LmNyZWF0ZShhKTtiJiYoYS5mbj1iKTtjJiYoYS5kZWJ1Z05hbWU9Yyk7Xy5qdT09PV8uV3U/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoIlRhIiksMik7fSk6Xy5adD09PW51bGw/UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IF8uVXUoRXJyb3IoImNiIiksMik7fSk6Xy5CdShhKTthLmNvbXBvbmVudFN0YWNrPV8uTXU7cmV0dXJuIGF9O3F2PWZ1bmN0aW9uKGEpe2lmKCFhLmlhKXtpZihsdSl0aHJvdyBfLlV1KEVycm9yKCJ4YiIpLDQpO3ZhciBiPV8uJHQoYSk7dHJ5e18uUnUoKCk9PnthLlBiPSExO2lmKCEoYS52ZXJzaW9uPjApfHxxdShhKSl7YS52ZXJzaW9uKys7dmFyIGM9Xy50dShhKTt0cnl7YS5WaygpLGEuZm4oKX1maW5hbGx5e18ua3UoYyksYSYmXy52dShhKX19fSxhLmNvbXBvbmVudFN0YWNrLGEpfWNhdGNoKGMpe18uVXUoYyw0KSxfLm92KGMpfWZpbmFsbHl7Xy4kdChiKX19fTsKcnY9ZnVuY3Rpb24oYSl7dmFyIGI9RXJyb3IoIlphYCIrYS5kZWJ1Z05hbWUpO18uVXUoYiw0KTtQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgYjt9KX07Xy50dj1mdW5jdGlvbihhLGIpe2E9Xy5wdihzdixhLGIpO18uZnYoYSl9O18udXY9ZnVuY3Rpb24oYSxiPSEwKXt2YXIgYz17cGFyZW50OnZvaWQgMCxpYTohMSxVazp2b2lkIDAsWmo6dm9pZCAwLHptOnZvaWQgMH07YiYmXy5CdShjKTtiPV8uJHQoYyk7dHJ5e2EoYyl9ZmluYWxseXtfLiR0KGIpfXJldHVybigpPT52b2lkIF8uQ3UoYyl9O18udnY9ZnVuY3Rpb24oKXt9O18ud3Y9ZnVuY3Rpb24oKXt9O18ueHY9ZnVuY3Rpb24oKXt9O18uQnY9ZnVuY3Rpb24oYSl7aWYoXy5qdT09PV8ueXZ8fF8uanU9PT1fLnp2KXRocm93IF8uVXUoRXJyb3IoIllhIiksNCk7cmV0dXJuIHR5cGVvZiBhPT09ImZ1bmN0aW9uIj9hKCk6YT8uW0F2XT9hLmdldCgpOmF9O18uQ3Y9ZnVuY3Rpb24oKXt9O18uRHY9e307Cl8uVXM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qdj1hfX07Xy5Fdj1fLnUuSlNPTi5wYXJzZTtuZXcgY2xhc3MgZXh0ZW5kcyBfLmFle2luaXQoKXt9fTtfLkVhKCk7Xy5adD12b2lkIDA7Xy5hdT1TeW1ib2woImRiIik7dmFyIEZ2LGJ2O0Z2PVN5bWJvbCgiZWIiKTtidj1TeW1ib2woImZiIik7Xy5kdj1TeW1ib2woImdiIik7Xy5sdj1fLkNjKGE9PigwLF8ucXIpKGEpJiZGdiBpbiBhKTtfLmZ1PVN5bWJvbCgiaGIiKTt2YXIgbHU7Xy5qdT1udWxsO2x1PSExO18ubXU9MTtfLlp1PVN5bWJvbCgia2IiKTtfLlh1PXt2ZXJzaW9uOjAscmo6MCxQYjohMSxwcm9kdWNlcnM6dm9pZCAwLGtmOnZvaWQgMCxjb25zdW1lcnM6dm9pZCAwLFVnOnZvaWQgMCxjbjohMSxMZTohMSxncDohMSxraW5kOiJ1bmtub3duIixYbTooKT0+ITEsWW06KCk9Pnt9LGhwOigpPT57fSxpcDooKT0+e319O18uR3Y9U3ltYm9sKCJsYiIpO18uSHY9U3ltYm9sKCJtYiIpO18uSXY9U3ltYm9sKCJuYiIpO3ZhciBKdj17Li4uXy5YdSxncDohMCxMZTohMCxQYjohMCxraW5kOiJlZmZlY3QifTt2YXIgeHU9bnVsbCxhdj17Li4uXy5YdSxlcXVhbDpfLml1LHZhbHVlOnZvaWQgMCxraW5kOiJzaWduYWwifTtfLkt2PVN5bWJvbCgib2IiKTtfLkx2PVN5bWJvbCgicGIiKTtfLk12PVN5bWJvbCgicWIiKTtfLkV1PVN5bWJvbCgicmIiKTt2YXIgSnU9e3l2OiEwLEJ2OiExLEZwOl8uWXEsR3A6Xy5ZcSxHdjohMSxyaTohMSxISTohMCxSaTohMSxKcTohMX07Xy5LdT17YXR0cmlidXRlczp7fSxoYW5kbGVFcnJvcihhKXt0aHJvdyBhO30sLi4uSnV9O3ZhciBPdTtfLk11PW51bGw7Xy5QdT1udWxsO18uTnY9bmV3IFNldDtfLk92PW5ldyBjbGFzc3tjb25zdHJ1Y3Rvcigpe319O3ZhciBQdixTdixUdixWdixXdixYdixldixodixrdixadjtfLmd2PTA7UHY9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmlzRmx1c2hpbmc9ITE7dGhpcy5EZD1bXTt0aGlzLlpiPTB9c2NoZWR1bGUoYSl7dGhpcy5EZFt0aGlzLlpiKytdPWF9Y2xlYXIoKXtmb3IobGV0IGE9MDthPHRoaXMuWmI7YSsrKXRoaXMuRGRbYV09dm9pZCAwO3RoaXMuWmI9MH19O18uUXY9U3ltYm9sKCJ3YiIpO1N2PWNsYXNzIGV4dGVuZHMgUHZ7Zmx1c2goKXtpZih0aGlzLlpiIT09MCl7Zm9yKHZhciBhPTA7YTx0aGlzLlpiOyl7bGV0IGI9dGhpcy5EZFthXTt0aGlzLkRkW2FdPXZvaWQgMDthKys7aWYoYil0cnl7Yi5ydW4oKX1jYXRjaChjKXtSdihjKX19dGhpcy5aYj0wfX19O1R2PWNsYXNzIGV4dGVuZHMgU3Z7fTtfLlV2PW5ldyBUdjtWdj1jbGFzcyBleHRlbmRzIFB2e2ZsdXNoKCl7dGhpcy5aYj09PTB8fHRoaXMuaXNGbHVzaGluZ3x8bXYodGhpcyl9fTsKV3Y9Y2xhc3MgZXh0ZW5kcyBWdntzY2hlZHVsZShhKXthLnZlcnNpb249PT0wP2EucnVuKCk6c3VwZXIuc2NoZWR1bGUoYSl9Zmx1c2goKXtpZih0aGlzLlpiIT09MClpZihfLkt1LlJpKXtsZXQgYT17RGQ6dGhpcy5EZCxaYjp0aGlzLlpiLGlzRmx1c2hpbmc6ITF9O3RoaXMuRGQ9W107dGhpcy5aYj0wO212KGEpfWVsc2UgdGhpcy5pc0ZsdXNoaW5nfHxtdih0aGlzKX19O18uY3Y9bmV3IFd2O1h2PWNsYXNzIGV4dGVuZHMgVnZ7fTtldj1uZXcgWHY7aHY9W18uY3ZdO2t2PVtfLlV2LGV2XTtfLll2PVsuLi5odiwuLi5rdl07WnY9W107eHU9KCk9PntfLmp2KCk7Zm9yKGxldCBhIG9mIFp2KWEoKX07dmFyIFJ2PV8uJGI7dmFyIG52PV8uZ3Uoe2RlZmF1bHRWYWx1ZTpudWxsfSwiaW0xTWtmIik7Xy4kdj17Li4uSnYsW0Z2XTohMCxlZmZlY3RUeXBlOmJ2LEVKOiEwLGhwOl8uZnYscnVuKCl7cXYodGhpcyl9LFZrKCl7RHUodGhpcyl9LGNvbXBvbmVudFN0YWNrOnZvaWQgMCxkZWJ1Z05hbWU6IltlZmZlY3RdIixkZXN0cm95KCl7aWYobnUodGhpcykpe2xldCBhPXRoaXMucHJvZHVjZXJzO2Zvcig7YSE9PXZvaWQgMDspYT11dShhKX10aGlzLlVnPXRoaXMuY29uc3VtZXJzPXRoaXMua2Y9dGhpcy5wcm9kdWNlcnM9dm9pZCAwO18uQ3UodGhpcyk7dGhpcy5QYj0hMX0sW1N5bWJvbC5kaXNwb3NlXSgpe3RoaXMuZGVzdHJveSgpfX07dmFyIGF3O2F3PXtpcDpydn07Xy55dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7Xy56dj1PYmplY3QuY3JlYXRlKHsuLi5fLlh1LExlOiEwLC4uLmF3fSk7dmFyIHN2PXsuLi5fLiR2LGVmZmVjdFR5cGU6YnZ9O18uYnc9e1BIKCl7fSxlSygpe30sWUgoKXt9LFNvKCl7fSxRSCgpe30sSmkoKXt9LEdmKCl7fSxIZigpe30sS2koKXt9fTt2YXIgQXY9U3ltYm9sKCJLYiIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgZXc7Xy5jdz1mdW5jdGlvbihhLC4uLmIpe2EuYXJnc3x8KGEuYXJncz1bXSk7QXJyYXkuaXNBcnJheShhLmFyZ3MpJiZhLmFyZ3MucHVzaCguLi5iKX07Xy5kdz1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gYSl7bGV0IGM9Xy5id1tiXSxkPWFbYl07Xy5id1tiXT0oLi4uZSk9PntjKC4uLmUpO2QoLi4uZSl9fX07Xy5mdz1mdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsXy5FcSkmJmFbXy5FcV18fChhW18uRXFdPSsrZXcpfTtfLmd3PWZ1bmN0aW9uKGEsYixjKXthJiYhYyYmKGE9YS5wYXJlbnROb2RlKTtmb3IoYz0wO2E7KXtpZihiKGEpKXJldHVybiBhO2E9YS5wYXJlbnROb2RlO2MrK31yZXR1cm4gbnVsbH07Xy5odz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSk/Xy5UYShhKTpudWxsOm51bGx9OwpfLml3PWZ1bmN0aW9uKGEpe2lmKF8uWnQpdGhyb3cgXy5VdShFcnJvcigiYWIiKSw0KTtyZXR1cm4gXy51dihiPT57Xy5ZdSgoKT0+e30pO2EoYil9LCExKX07ZXc9MDt2YXIganc7anc9e25hbWU6IjxSb290PiIscHJvcHM6e30sS3o6e30sZWZmZWN0czpbXSxkSTpbXSxnSTooKT0+e30sW1N5bWJvbCgiSmIiKV06ITB9OyhuZXcgV2Vha01hcCkuc2V0KGp3Lkt6LHtuYW1lOmp3Lm5hbWUscHJvcHM6ancucHJvcHN9KTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIHN3LHl3LHR3LHJ3O18ua3c9ZnVuY3Rpb24oYSxiLGMpe2lmKGEhPW51bGwmJmFbXy5PY109PT1fLlBjKXJldHVybiBhO2lmKEFycmF5LmlzQXJyYXkoYSkpe3ZhciBkPWFbXy5BY118MDtjPWR8YyYzMnxjJjI7YyE9PWQmJihhW18uQWNdPWMpO3JldHVybiBuZXcgYihhKX19O18ubHc9ZnVuY3Rpb24oYSl7dmFyIGI9YS5EYSxjPWJbXy5BY118MDtyZXR1cm4gXy5CYyhhLGMpP18uJGMoYSxiLGMpP18uYmQoYSxiLCEwKTpuZXcgYS5jb25zdHJ1Y3RvcihfLlpjKGIsYywhMSkpOmF9O18ubXc9ZnVuY3Rpb24oYSl7aWYoYS5qIT09Xy56YylyZXR1cm4hMTt2YXIgYj1hLkRhO2I9Xy5aYyhiLGJbXy5BY118MCk7YltfLkFjXXw9MjA0ODthLkRhPWI7YS5qPXZvaWQgMDthLm89dm9pZCAwO3JldHVybiEwfTtfLm53PWZ1bmN0aW9uKGEpe2lmKCFfLm13KGEpJiZfLkJjKGEsYS5EYVtfLkFjXXwwKSl0aHJvdyBFcnJvcigpO307Cl8ub3c9ZnVuY3Rpb24oYSxiKXtiPT09dm9pZCAwJiYoYj1hW18uQWNdfDApO2ImMzImJiEoYiY0MDk2KSYmKGFbXy5BY109Ynw0MDk2KX07Xy5wdz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPWMrKGU/MDotMSksaD1hLmxlbmd0aC0xO2lmKGg+PTErKGU/MDotMSkmJmY+PWgpe2xldCBrPWFbaF07aWYoayE9bnVsbCYmdHlwZW9mIGs9PT0ib2JqZWN0IiYmay5jb25zdHJ1Y3Rvcj09PU9iamVjdClyZXR1cm4ga1tjXT1kLGJ9aWYoZjw9aClyZXR1cm4gYVtmXT1kLGI7ZCE9PXZvaWQgMCYmKGg9KGI/PyhiPWFbXy5BY118MCkpPj4xNCYxMDIzfHw1MzY4NzA5MTIsYz49aD9kIT1udWxsJiYoYVtoKyhlPzA6LTEpXT17W2NdOmR9KTphW2ZdPWQpO3JldHVybiBifTtfLnF3PWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7dmFyIGU9YS5EYTtfLnB3KGUsZVtfLkFjXXwwLGIsYyxkKTtyZXR1cm4gYX07c3c9ZnVuY3Rpb24oYSl7cmV0dXJuIHJ3W2FdfHwiIn07Cl8udXc9ZnVuY3Rpb24oYSl7YT10dy50ZXN0KGEpP2EucmVwbGFjZSh0dyxzdyk6YTthPWF0b2IoYSk7dmFyIGI9bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWJbY109YS5jaGFyQ29kZUF0KGMpO3JldHVybiBifTtfLnd3PWZ1bmN0aW9uKGEpe2lmKF8udnchPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dmFyIGI9YS5qO2I9PW51bGx8fGIhPW51bGwmJmIgaW5zdGFuY2VvZiBVaW50OEFycmF5fHwodHlwZW9mIGI9PT0ic3RyaW5nIj9iPV8udXcoYik6KF8ueGEoYiksYj1udWxsKSk7cmV0dXJuIGI9PW51bGw/YjphLmo9Yn07Xy54dz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJib29sZWFuIil0aHJvdyBFcnJvcigicmAiK18ueGEoYSkrImAiK2EpO3JldHVybiBhfTsKeXc9ZnVuY3Rpb24oKXt2YXIgYT1fLkRuKCk7dmFyIGI9W107Zm9yKGxldCBjPTA7YzxhLmxlbmd0aDtjKyspYi5wdXNoKCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OS1fIi5jaGFyQXQoYVtjXSY2MykpO3JldHVybiBiLmpvaW4oIiIpfTt0dz0vWy1fLl0vZztydz17Ii0iOiIrIixfOiIvIiwiLiI6Ij0ifTtfLnZ3PXt9O18uenc9bmV3IF8uSSgid2ViQ29tbWFuZE1ldGFkYXRhIik7Xy5Bdz1uZXcgXy5JKCJ3YXRjaEVuZHBvaW50Iik7Xy5Cdz1jbGFzcyBleHRlbmRzIF8ucG17Y29uc3RydWN0b3IoYSl7c3VwZXIoYXJndW1lbnRzKTt0aGlzLmNzbj1hfX07Xy5Ddz1uZXcgXy5xbSgic2NyZWVuLWNyZWF0ZWQiLF8uQncpO18uRHc9eXc7Xy5Fdz1uZXcgTWFwO18uRnc9bmV3IE1hcDtfLkd3PW5ldyBNYXA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciBRdyxSdyxhYWEsYmFhLFh3LFN3LGF4LEx3LGNhYSxZdyxadztfLkh3PWZ1bmN0aW9uKGEsYil7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhLGIsdm9pZCAwKX07Xy5Jdz1mdW5jdGlvbihhKXthPUVycm9yKGEpO18uQmIoYSwid2FybmluZyIpO3JldHVybiBhfTtfLkp3PWZ1bmN0aW9uKGEpe2E9PW51bGwmJihhPXZvaWQgMCk7cmV0dXJuIGF9O18uS3c9ZnVuY3Rpb24oYSxiLGMsZCl7Yz1fLkp3KGMpO18ucXcoYSxiLGMsZCk7YyYmIV8uQmMoYykmJl8ub3coYS5EYSk7cmV0dXJuIGF9O18uTXc9ZnVuY3Rpb24oKXtyZXR1cm4gTHd8fChMdz1uZXcgXy5SYyhudWxsLF8udncpKX07Cl8uTnc9ZnVuY3Rpb24oYSxiKXtpZihhIT1udWxsKWlmKHR5cGVvZiBhPT09InN0cmluZyIpYT1hP25ldyBfLlJjKGEsXy52dyk6Xy5NdygpO2Vsc2UgaWYoYS5jb25zdHJ1Y3RvciE9PV8uUmMpaWYoYSE9bnVsbCYmYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpYT1hLmxlbmd0aD9uZXcgXy5SYyhuZXcgVWludDhBcnJheShhKSxfLnZ3KTpfLk13KCk7ZWxzZXtpZighYil0aHJvdyBFcnJvcigpO2E9dm9pZCAwfXJldHVybiBhfTtfLk93PWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhIT09Im51bWJlciIpdGhyb3cgXy5JdygiaW50MzIiKTtpZighKDAsXy53cikoYSkpdGhyb3cgXy5JdygiaW50MzIiKTtyZXR1cm4gYXwwfTtfLlB3PWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6Xy5PdyhhKX07ClF3PWZ1bmN0aW9uKGEpe3ZhciBiPV8ucm0oKTtpZighYilyZXR1cm4gMDt2YXIgYz1iLnN1YnNjcmliZShfLkN3LnRvU3RyaW5nKCksKGQsZSk9Pnt2YXIgZj1fLnNhKCJ5dFB1YnN1YjJQdWJzdWIyU2tpcFN1YktleSIpO2YmJmY9PWN8fChmPSgpPT57aWYoXy5Lc1tjXSl0cnl7aWYoZSYmXy5DdyBpbnN0YW5jZW9mIF8ucW0mJl8uQ3chPWQpdHJ5e3t2YXIgaD1fLkN3Lmosaz1lO2lmKCFrLmFyZ3N8fCFrLnZlcnNpb24pdGhyb3cgRXJyb3IoInBhIik7bGV0IGw7dHJ5e2lmKCFoLkFlKXtsZXQgbT1uZXcgaDtoLkFlPW0udmVyc2lvbn1sPWguQWV9Y2F0Y2gobSl7fWlmKCFsfHxrLnZlcnNpb24hPWwpdGhyb3cgRXJyb3IoInFhIik7dHJ5e2U9UmVmbGVjdC5jb25zdHJ1Y3QoaCxfLnliKGsuYXJncykpfWNhdGNoKG0pe3Rocm93IG0ubWVzc2FnZT0ieXQucHVic3ViMi5EYXRhLmRlc2VyaWFsaXplKCk6ICIrbS5tZXNzYWdlLG07fX19Y2F0Y2gobCl7dGhyb3cgbC5tZXNzYWdlPSJ5dC5wdWJzdWIyLnB1YnN1YjIgY3Jvc3MtYmluYXJ5IGNvbnZlcnNpb24gZXJyb3IgZm9yICIrCl8uQ3cudG9TdHJpbmcoKSsiOiAiK2wubWVzc2FnZSxsO31hLmNhbGwod2luZG93LGUpfWNhdGNoKGwpe18uVWkobCl9fSxfLk1zW18uQ3cudG9TdHJpbmcoKV0/Xy5zYSgieXQuc2NoZWR1bGVyLmluc3RhbmNlIik/Xy5qZi5wYihmKTpfLm1qKGYsMCk6ZigpKX0pO18uS3NbY109ITA7Xy5Mc1tfLkN3LnRvU3RyaW5nKCldfHwoXy5Mc1tfLkN3LnRvU3RyaW5nKCldPVtdKTtfLkxzW18uQ3cudG9TdHJpbmcoKV0ucHVzaChjKTtyZXR1cm4gY307Unc9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5ybSgpO2ImJih0eXBlb2YgYT09PSJudW1iZXIiJiYoYT1bYV0pLF8udGIoYSxjPT57Yi51bnN1YnNjcmliZUJ5S2V5KGMpO2RlbGV0ZSBfLktzW2NdfSkpfTthYWE9ZnVuY3Rpb24oKXt2YXIgYT1TdyxiPVF3KGZ1bmN0aW9uKGMpe2EuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyk7UncoYil9KTtyZXR1cm4gYn07Xy5Vdz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uVHcoe3RyYWNraW5nUGFyYW1zOmF9KX07Cl8uVnc9ZnVuY3Rpb24oYT0wKXtyZXR1cm4oYT1fLmdxKGEpKT9uZXcgXy5Udyh7dmVUeXBlOmEseW91dHViZURhdGE6dm9pZCAwLGpzcGJZb3V0dWJlRGF0YTp2b2lkIDB9KTpudWxsfTtiYWE9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LnZhbHVlcyhfLncoImNsaWVudC1zY3JlZW4tbm9uY2Utc3RvcmUiLHt9KSkuZmlsdGVyKGE9PmEhPT12b2lkIDApfTtfLld3PWZ1bmN0aW9uKGEsYil7Xy54KCJsb2dfc2VxdWVuY2VfaW5mb19vbl9nZWxfd2ViIikmJihhLnNlcXVlbmNlR3JvdXA9Yik7cmV0dXJuIGF9O1h3PWZ1bmN0aW9uKGEsYil7cmV0dXJuYCR7YS5nZXRBc0pzb24oKS52ZVR5cGV9JHthLmdldEFzSnNvbigpLnZlQ291bnRlcn0ke2J9YH07U3c9ZnVuY3Rpb24oYSl7aWYoWXcpe2ZvcihsZXQgYiBvZiBZdyliLnBheWxvYWQmJihiLnBheWxvYWQuY3NuPWEuY3NuLF8uRXAoYi5wYXlsb2FkTmFtZSxiLnBheWxvYWQsYi5vcHRpb25zKSk7WXcubGVuZ3RoPTB9Wnc9MH07Cl8uJHc9ZnVuY3Rpb24oYSxiLGMpe1l3LnB1c2goe3BheWxvYWROYW1lOmEscGF5bG9hZDpjLEpKOnZvaWQgMCxvcHRpb25zOmJ9KTtad3x8KFp3PWFhYSgpKX07Xy5ieD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7YXgoYSxiLGMsW2RdLGUsZil9OwpheD1mdW5jdGlvbihhLGIsYyxkLGU9ITEsZj17fSl7T2JqZWN0LmFzc2lnbihmLF8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMH0sYikpO2ZvcihsZXQgayBvZiBkKXt2YXIgaD1rLmdldEFzSnNvbigpOyhfLnBkKGgpfHwhaC50cmFja2luZ1BhcmFtcyYmIWgudmVUeXBlKSYmXy5JcChFcnJvcigiTGIiKSk7aWYoXy54KCJub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93biIpKXtsZXQgbD1YdyhrLGIpO2lmKGgudmVUeXBlJiYhXy5Gdy5oYXMobCkmJiFfLkd3LmhhcyhsKSYmIWUpe2lmKCFfLngoImlsX2F0dGFjaF9jYWNoZV9saW1pdCIpfHxfLkV3LnNpemU8MUUzKXtfLkV3LnNldChsLFthLGIsYyxrXSk7cmV0dXJufV8ueCgiaWxfYXR0YWNoX2NhY2hlX2xpbWl0IikmJl8uRXcuc2l6ZT4xRTMmJl8uSXAobmV3IF8uWGooIklMIEF0dGFjaCBjYWNoZSBleGNlZWRlZCBsaW1pdCIpKX1oPVh3KGMsYik7Xy5Fdy5oYXMoaCk/Xy5jeChjLGIpOl8uR3cuc2V0KGgsITApfX1kPQpkLmZpbHRlcihrPT57ay5jc24hPT1iPyhrLmNzbj1iLGs9ITApOms9ITE7cmV0dXJuIGt9KTtjPXtjc246YixwYXJlbnRWZTpjLmdldEFzSnNvbigpLGNoaWxkVmVzOl8uSHcoZCxrPT5rLmdldEFzSnNvbigpKX07Yj09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGYsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsYSxmKTpfLkVwKCJ2aXN1YWxFbGVtZW50QXR0YWNoZWQiLGMsZil9O18uY3g9ZnVuY3Rpb24oYSxiKXthPVh3KGEsYik7Xy5Fdy5oYXMoYSkmJihiPV8uRXcuZ2V0KGEpfHxbXSxfLmJ4KGJbMF0sYlsxXSxiWzJdLGJbM10sITApLF8uRXcuZGVsZXRlKGEpKX07Xy5keD1mdW5jdGlvbihhLGIpe2lmKF8ueCgibm9fY2xpZW50X3ZlX2F0dGFjaF91bmxlc3Nfc2hvd24iKSl7dmFyIGM9WHcoYSxiKTtfLkZ3LnNldChjLCEwKTtfLmN4KGEsYil9fTsKXy5leD1mdW5jdGlvbihhLGIsYyxkLGUsZixoKXtfLmR4KGMsYik7ZD1kfHwiSU5URVJBQ1RJT05fTE9HR0lOR19HRVNUVVJFX1RZUEVfR0VORVJJQ19DTElDSyI7Zj1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6aH0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxnZXN0dXJlVHlwZTpkfTtlJiYoYy5jbGllbnREYXRhPWUpO2I9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudEdlc3R1cmVkIixmLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGEsZik6Xy5FcCgidmlzdWFsRWxlbWVudEdlc3R1cmVkIixjLGYpfTtfLmZ4PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXtfLmV4KGEsYixjLHZvaWQgMCxkLGUsZil9O18uaHg9ZnVuY3Rpb24oKXtneC5pbnN0YW5jZXx8KGd4Lmluc3RhbmNlPW5ldyBneCk7cmV0dXJuIGd4Lmluc3RhbmNlfTsKXy5qeD1mdW5jdGlvbihhLGIsYyxkPTAsZSl7YS5vLmhhcyhlKXx8YS5vLnNldChlLG5ldyBTZXQpO3ZhciBmPWN8fF8uVncoZCk7Zj1gJHtiLnRvU3RyaW5nKCl9fCR7Zj9mLnRvU3RyaW5nKCk6IiJ9YDthLm8uZ2V0KGUpLmhhcyhmKXx8KF8uaXgoYSxiLGMsZCksYS5vLmdldChlKS5hZGQoZikpfTtfLml4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9PntpZihhLmouaGFzKGQpKXJldHVybiBhLlkucHVzaChbYixjXSksITA7dmFyIGU9Xy5pcShkKSxmPWN8fF8uVncoZCk7aWYoZSYmZil7aWYoXy54KCJjb21iaW5lX3ZlX2dyYWZ0cyIpKXtsZXQgaD1hLnYuZ2V0KGYudG9TdHJpbmcoKSk7aD9oLnB1c2goYik6KGEuSS5zZXQoZi50b1N0cmluZygpLGYpLGEudi5zZXQoZi50b1N0cmluZygpLFtiXSkpO2EuWnx8KGEuWj1fLllqKCgpPT57Xy5reChhLGUpfSwxMjAwKSl9ZWxzZSBfLmJ4KGEuY2xpZW50LGUsZixiKTtyZXR1cm4hMH1yZXR1cm4hMX0pKCl9OwpfLmx4PWZ1bmN0aW9uKGEsYixjLGQ9MCl7cmV0dXJuIF8uVmkoKCk9Pnt2YXIgZT1fLlV3KGIpLGY9Xy5pcShkKTtmJiYhYS5qLmhhcyhkKT9fLmp4KGEsZSxjLGQsZik6Xy5peChhLGUsYyxkKTtyZXR1cm4gZX0pKCl9O18ua3g9ZnVuY3Rpb24oYSxiKXtpZihiPT09dm9pZCAwKXtsZXQgYz1iYWEoKTtmb3IobGV0IGQ9MDtkPGMubGVuZ3RoO2QrKyljW2RdIT09dm9pZCAwJiZfLmt4KGEsY1tkXSl9ZWxzZSBhLnYuZm9yRWFjaCgoYyxkKT0+eyhkPWEuSS5nZXQoZCkpJiZheChhLmNsaWVudCxiLGQsYyl9KSxhLnYuY2xlYXIoKSxhLkkuY2xlYXIoKSxhLlo9dm9pZCAwfTsKXy5teD1mdW5jdGlvbihhLGIsYyxkPTApe3ZhciBlPV8uaXEoZCk7Yj1ifHxfLlZ3KGQpO2UmJmImJihhPWEuY2xpZW50LGQ9Xy5Xdyh7Y3R0QXV0aEluZm86Xy5rcShlKXx8dm9pZCAwfSxlKSxjPXtjc246ZSx2ZTpiLmdldEFzSnNvbigpLGNsaWVudERhdGE6Y30sZT09PSJVTkRFRklORURfQ1NOIj9fLiR3KCJ2aXN1YWxFbGVtZW50U3RhdGVDaGFuZ2VkIixkLGMpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZCIsYyxhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRTdGF0ZUNoYW5nZWQiLGMsZCkpfTsKXy5SYz1jbGFzc3tvKCl7dmFyIGE9dGhpcy5qO2lmKGE9PW51bGwpYT0iIjtlbHNlIGlmKHR5cGVvZiBhIT09InN0cmluZyIpe2xldCBiPSIiLGM9MCxkPWEubGVuZ3RoLTEwMjQwO2Zvcig7YzxkOyliKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsYS5zdWJhcnJheShjLGMrPTEwMjQwKSk7Yis9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGM/YS5zdWJhcnJheShjKTphKTthPXRoaXMuaj1idG9hKGIpfXJldHVybiBhfWlzRW1wdHkoKXtyZXR1cm4gdGhpcy5qPT1udWxsfXNpemVCeXRlcygpe3ZhciBhPV8ud3codGhpcyk7cmV0dXJuIGE/YS5sZW5ndGg6MH1jb25zdHJ1Y3RvcihhLGIpe2lmKGIhPT1fLnZ3KXRocm93IEVycm9yKCJvIik7dGhpcy5qPWE7aWYoYSE9bnVsbCYmYS5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJuIik7fX07CmNhYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9c2V0VHJhY2tpbmdQYXJhbXMoYSl7cmV0dXJuIF8ucXcodGhpcywxLF8uTncoYSwhMSkpfX07Cl8uVHc9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9Z2V0QXNKc29uKCl7dmFyIGE9e307dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09dm9pZCAwP2EudHJhY2tpbmdQYXJhbXM9dGhpcy5qLnRyYWNraW5nUGFyYW1zOihhLnZlVHlwZT10aGlzLmoudmVUeXBlLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJihhLnZlQ291bnRlcj10aGlzLmoudmVDb3VudGVyKSx0aGlzLmouZWxlbWVudEluZGV4IT09dm9pZCAwJiYoYS5lbGVtZW50SW5kZXg9dGhpcy5qLmVsZW1lbnRJbmRleCkpO3RoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCYmKGEuZGF0YUVsZW1lbnQ9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNvbigpKTt0aGlzLmoueW91dHViZURhdGEhPT12b2lkIDAmJihhLnlvdXR1YmVEYXRhPXRoaXMuai55b3V0dWJlRGF0YSk7dGhpcy5qLmlzQ291bnRlcmZhY3R1YWwmJihhLmlzQ291bnRlcmZhY3R1YWw9ITApO3JldHVybiBhfWdldEFzSnNwYigpe3ZhciBhPW5ldyBjYWE7dGhpcy5qLnRyYWNraW5nUGFyYW1zIT09CnZvaWQgMD9hLnNldFRyYWNraW5nUGFyYW1zKHRoaXMuai50cmFja2luZ1BhcmFtcyk6KHRoaXMuai52ZVR5cGUhPT12b2lkIDAmJl8ucXcoYSwyLF8uUHcodGhpcy5qLnZlVHlwZSkpLHRoaXMuai52ZUNvdW50ZXIhPT12b2lkIDAmJl8ucXcoYSw2LF8uUHcodGhpcy5qLnZlQ291bnRlcikpLHRoaXMuai5lbGVtZW50SW5kZXghPT12b2lkIDAmJl8ucXcoYSwzLF8uUHcodGhpcy5qLmVsZW1lbnRJbmRleCkpLHRoaXMuai5pc0NvdW50ZXJmYWN0dWFsJiZfLnF3KGEsNSxfLnh3KCEwKSkpO2lmKHRoaXMuai5kYXRhRWxlbWVudCE9PXZvaWQgMCl7dmFyIGI9dGhpcy5qLmRhdGFFbGVtZW50LmdldEFzSnNwYigpO18uS3coYSw3LGIpfXRoaXMuai55b3V0dWJlRGF0YSE9PXZvaWQgMCYmXy5LdyhhLDgsdGhpcy5qLmpzcGJZb3V0dWJlRGF0YSk7cmV0dXJuIGF9dG9TdHJpbmcoKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy5nZXRBc0pzb24oKSl9aXNDbGllbnRWZSgpe3JldHVybiF0aGlzLmoudHJhY2tpbmdQYXJhbXMmJgohIXRoaXMuai52ZVR5cGV9Z2V0TG9nZ2luZ0RpcmVjdGl2ZXMoKXtyZXR1cm4gdGhpcy5qLmxvZ2dpbmdEaXJlY3RpdmVzfX07WXc9W107Wnc9MDtfLm54PW5ldyBfLkkoImludGVyYWN0aW9uTG9nZ2luZ0NvbW1hbmRNZXRhZGF0YSIpO18uZGFhPW5ldyBfLkkoIndhdGNoUGxheWxpc3RFbmRwb2ludCIpO18uZWFhPW5ldyBfLkkoInJlc29sdmVVcmxDb21tYW5kTWV0YWRhdGEiKTtfLm94PVN5bWJvbCgiTWIiKTtfLnB4PW5ldyBXZWFrTWFwO3ZhciBneD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuWT1bXTt0aGlzLk09W107dGhpcy5LPW5ldyBNYXA7dGhpcy5nYT1uZXcgTWFwO3RoaXMuRD1bXTt0aGlzLlU9W107dGhpcy52PW5ldyBNYXA7dGhpcy5JPW5ldyBNYXA7dGhpcy5vPW5ldyBNYXA7dGhpcy5qPW5ldyBTZXQ7dGhpcy5oYT1uZXcgTWFwfUNmKGEsYixjPTApe2lmKCFhKXJldHVybiExO2M9Xy5pcShjKTtpZighYylyZXR1cm4hMTtfLmZ4KHRoaXMuY2xpZW50LGMsXy5VdyhhKSxiKTtyZXR1cm4hMH1jbGlja0NvbW1hbmQoYSxiLGM9MCl7cmV0dXJuIHRoaXMuQ2YoYS5jbGlja1RyYWNraW5nUGFyYW1zLGIsYyl9c3RhdGVDaGFuZ2VkKGEsYixjPTApe3RoaXMudmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChfLlV3KGEpLGIsYyl9dmlzdWFsRWxlbWVudFN0YXRlQ2hhbmdlZChhLGIsYz0wKXtjPT09MCYmdGhpcy5qLmhhcyhjKT90aGlzLk0ucHVzaChbYSxiXSk6Xy5teCh0aGlzLGEsYixjKX19Owp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgeXgsengsZ2FhLEh4LEl4LGZhYSxBeCxDeDtfLnF4PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYS5HYShiLDMsYyl9O18ucng9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5qZi5HYShhLDIsYil9O18uc3g9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hfDA6dm9pZCAwfTtfLnR4PWZ1bmN0aW9uKGEsYixjPTApe3JldHVybiBfLnN4KF8uZWQoYSxiKSk/P2N9O18udXg9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBoPWZhYSsrO3JldHVybiBuZXcgXy5Udyh7dmVUeXBlOmEsdmVDb3VudGVyOmgsZWxlbWVudEluZGV4OmMsZGF0YUVsZW1lbnQ6Yix5b3V0dWJlRGF0YTpkLGpzcGJZb3V0dWJlRGF0YTplLGxvZ2dpbmdEaXJlY3RpdmVzOmZ9KX07Cl8udng9ZnVuY3Rpb24oYSxiLGMsZD0hMSxlLGYpe3ZhciBoPWQ/MTY6ODtkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYil8fHZvaWQgMCxlbmRPZlNlcXVlbmNlOmQsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6Zn0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6aH07ZSYmKGMuY2xpZW50RGF0YT1lKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGQsYyk6YT9fLkNwKCJ2aXN1YWxFbGVtZW50SGlkZGVuIixjLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYyxkKX07Cl8ud3g9ZnVuY3Rpb24oYSxiLGMsZCxlKXtfLmR4KGMsYik7ZT1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGIpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6ZX0sYik7Yz17Y3NuOmIsdmU6Yy5nZXRBc0pzb24oKSxldmVudFR5cGU6MX07ZCYmKGMuY2xpZW50RGF0YT1kKTtiPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRTaG93biIsZSxjKTphP18uQ3AoInZpc3VhbEVsZW1lbnRTaG93biIsYyxhLGUpOl8uRXAoInZpc3VhbEVsZW1lbnRTaG93biIsYyxlKX07Xy54eD1mdW5jdGlvbihhKXtpZihhPT09d2luZG93KXJldHVybiBudWxsO3ZhciBiPWEucGFyZW50RWxlbWVudDtyZXR1cm4gYj9iOnR5cGVvZiBTaGFkb3dSb290IT09InVuZGVmaW5lZCImJmEuZ2V0Um9vdE5vZGUhPW51bGwmJihhPWEuZ2V0Um9vdE5vZGUoKSxhIGluc3RhbmNlb2YgU2hhZG93Um9vdCk/YS5ob3N0OndpbmRvd307Cnl4PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1fLmlxKGMpO3JldHVybiBhLmNzbj09PW51bGx8fGQ9PT1hLmNzbnx8Yz9kOihhPW5ldyBfLlhqKCJWaXNpYmlsaXR5TG9nZ2VyIGNhbGxlZCBiZWZvcmUgbmV3U2NyZWVuIix7Y2FsbGVyOmIudGFnTmFtZSxwcmV2aW91c19jc246YS5jc24sY3VycmVudF9jc246ZH0pLF8uSXAoYSksbnVsbCl9O3p4PWZ1bmN0aW9uKGEsYil7YT1hLmdldERhdGEoYik7cmV0dXJuIE1hdGguZmxvb3IoTnVtYmVyKGEmJmEubG9nZ2luZ0RpcmVjdGl2ZXMmJmEubG9nZ2luZ0RpcmVjdGl2ZXMudmlzaWJpbGl0eSYmYS5sb2dnaW5nRGlyZWN0aXZlcy52aXNpYmlsaXR5LnR5cGVzfHwiIikpfHwxfTtfLkJ4PWZ1bmN0aW9uKCl7QXguaW5zdGFuY2V8fChBeC5pbnN0YW5jZT1uZXcgQXgpO3JldHVybiBBeC5pbnN0YW5jZX07Xy5EeD1mdW5jdGlvbigpe0N4Lmluc3RhbmNlfHwoQ3guaW5zdGFuY2U9bmV3IEN4KX07Cl8uRXg9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIF8uVmkoKCk9PntpZighYi52ZVR5cGUpcmV0dXJuIF8uSHAobmV3IF8uWGooIkVycm9yOiBUcnlpbmcgdG8gZ3JhZnQgYSBjbGllbnQgVkUgd2l0aG91dCBhIHZlVHlwZS4iKSksbnVsbDtpZihiLnZpc2liaWxpdHlUeXBlcyl7dmFyIGU9Yi52aXNpYmlsaXR5VHlwZXMucmVkdWNlKChmLGgpPT5mfGgpO2U9e3Zpc2liaWxpdHk6e3R5cGVzOlN0cmluZyhlKX19fWU9Xy51eChiLnZlVHlwZSxiLnZpc3VhbEVsZW1lbnQsYi5lbGVtZW50SW5kZXgsYi5jbGllbnRZb3VUdWJlRGF0YSx2b2lkIDAsZSk7cmV0dXJuIF8uaXgoYSxlLGMsZCk/ZTpudWxsfSkoKX07Xy5GeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWQ7cmV0dXJuIGJ9OwpfLkd4PWZ1bmN0aW9uKGEsYil7YT1hLmpmPz9hO2ZvcihsZXQgYyBvZiBhLnZpc2liaWxpdHlNb25pdG9yS2V5c3x8W10pYi5yZihjKTthLnZpc2liaWxpdHlNb25pdG9yS2V5cz12b2lkIDB9O18uSng9ZnVuY3Rpb24oYSxiKXtpZihfLmlxKCkpe2lmKF8ueCgia2V2bGFyX3ZpbWlvX3VzZV9zaGFyZWRfbW9uaXRvciIpKUh4KGEsYi5kYXRhKTtlbHNlIGlmKCFIeChhLGIuZGF0YSkpcmV0dXJuO3ZhciBjPWIuZGF0YSxkPUl4KGMpO2lmKF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSlfLkd4KGEsYi5vYnNlcnZlcik7ZWxzZXt2YXIgZT1hLmpmPz9hO2UudHJhY2tlZFBhcmFtcyYmZS50cmFja2VkUGFyYW1zIT09ZCYmXy5HeChhLGIub2JzZXJ2ZXIpfWU9YS5qZj8/YTshY3x8ZS5kYXRhJiZlLmRhdGE9PT1jfHwoZS5kYXRhPWMpO2dhYShhLGIpO2UudHJhY2tlZFBhcmFtcz1kfX07CmdhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWIub2JzZXJ2ZXI7aWYoIWMmJl8ueCgid2ViX3NraXBfbWlzc2luZ192aW1pb19vYnNlcnZlciIpKV8uSXAobmV3IF8uWGooIlZpc2liaWxpdHlPYnNlcnZlciBpcyBub3QgZGVmaW5lZC4iLGEudGFnTmFtZSxhLnRyYWNrZWRQYXJhbXMsYi5kYXRhPy50cmFja2luZ1BhcmFtcyxiLmRhdGE/LmxvZ2dpbmdEaXJlY3RpdmVzKSk7ZWxzZXt2YXIgZD1iLmxheWVyLGU9Yi5OYnx8KCgpPT57fSksZj1iLkxqLGg9YS5qZj8/YSxrPVtdO2IuZWImJmsucHVzaChjLm9ic2VydmUoYSwoKT0+e2IueEEmJmIueEEoKXx8KF8uRHgoKSxfLlZpKF8uQngoKS5ZKS5iaW5kKF8uQngoKSkoaCx2b2lkIDAsZCw3KSk7ZSghMCl9LGIuZWIpKTtiLk5jJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9PntfLkR4KCk7Xy5WaShfLkJ4KCkuSSkuYmluZChfLkJ4KCkpKGgsdm9pZCAwLGQsNyk7ZSghMSl9LGIuTmMpKTtiLkxoJiZmJiZrLnB1c2goYy5vYnNlcnZlKGEsKCk9Pgp7ZigpfSxiLkxoKSk7aC52aXNpYmlsaXR5TW9uaXRvcktleXM9a319OwpIeD1mdW5jdGlvbihhLGIpe2E9YS5qZj8/YTtpZihhLnZpc3VhbEVsZW1lbnQmJiFiKXJldHVybiEwO2lmKCFiKXJldHVybiExO3ZhciBjPSExO18ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmKGM9ISFiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSk7dmFyIGQ9SXgoYik7aWYoIWQmJiFjKXJldHVybiExO18ueCgibXdlYl9jb21wb25lbnRfdmlzaWJpbGl0eV9sb2dnaW5nIikmJihhLnZlQ29udGFpbmVyfHwoYS52ZUNvbnRhaW5lcj17fSksYS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtcz1kKTtpZihhLnRyYWNrZWRQYXJhbXMmJmEudHJhY2tlZFBhcmFtcz09PWR8fF8ueCgiZW5hYmxlX2NsaWVudF92ZV9zcGVjX2xvZ2dpbmciKSYmYS52aXN1YWxFbGVtZW50Py5pc0NsaWVudFZlKCkmJihjPWEudmlzdWFsRWxlbWVudD8uZ2V0QXNKc3BiKCksXy50eChjLDIpPT09Yi5sb2dnaW5nRGlyZWN0aXZlcz8uY2xpZW50VmVTcGVjPy51aVR5cGUmJgpfLnR4KGMsMywtMSk9PT1iLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LmVsZW1lbnRJbmRleCkpcmV0dXJuITE7Xy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWNfbG9nZ2luZyIpJiYhYS52aXN1YWxFbGVtZW50JiZiLmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSYmKGM9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMudWlUeXBlLGQ9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuZWxlbWVudEluZGV4LGI9Yi5sb2dnaW5nRGlyZWN0aXZlcy5jbGllbnRWZVNwZWMuY2xpZW50WW91dHViZURhdGEsYS52aXN1YWxFbGVtZW50PV8uRXgoXy5oeCgpLHt2ZVR5cGU6YyxlbGVtZW50SW5kZXg6ZCxjbGllbnRZb3VUdWJlRGF0YTpifSkpO3JldHVybiEwfTsKSXg9ZnVuY3Rpb24oYSl7aWYoYT8ucmVuZGVyZXJDb250ZXh0KXtsZXQgYj1fLkIoYS5yZW5kZXJlckNvbnRleHQsXy5LeCk7aWYoYj8ubG9nZ2luZ0RpcmVjdGl2ZXMpcmV0dXJuIGIubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXN9cmV0dXJuIGE/LmxvZ2dpbmdEaXJlY3RpdmVzP2EubG9nZ2luZ0RpcmVjdGl2ZXMudHJhY2tpbmdQYXJhbXM6YT8udHJhY2tpbmdQYXJhbXN9O2ZhYT0xOwpBeD1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuRD1uZXcgU2V0O3RoaXMuQj1uZXcgU2V0O3RoaXMubz1uZXcgTWFwO3RoaXMuY2xpZW50PXZvaWQgMDt0aGlzLmNzbj1udWxsfUsoKXt0aGlzLmNsZWFyKCk7dGhpcy5jc249Xy5pcSgpfWNsZWFyKCl7dGhpcy5ELmNsZWFyKCk7dGhpcy5CLmNsZWFyKCk7dGhpcy5vLmNsZWFyKCk7dGhpcy5jc249bnVsbH1ZKGEsYixjLGQpe3ZhciBlPXRoaXMuaihhKSxmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuRC5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkQuYWRkKGYpO3RoaXMuby5zZXQoZiwhMCk7YS5pbXByZXNzaW9uTG9nJiYhYiYmYS5pbXByZXNzaW9uTG9nKCk7aWYoZXx8YS52aXN1YWxFbGVtZW50KWlmKGM9eXgodGhpcyxhLGMpKXt2YXIgaz0hIXRoaXMuZ2V0RGF0YShhKT8ubG9nZ2luZ0RpcmVjdGl2ZXM7aWYoengodGhpcyxhKXx8aylmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Cl8uVXcoZSksYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhfHwoYS5pbnRlcmFjdGlvbkxvZ2dpbmdDbGllbnREYXRhPXt9KSxlPWEuaW50ZXJhY3Rpb25Mb2dnaW5nQ2xpZW50RGF0YSxrfHxiP3p4KHRoaXMsYSkmND9ofHwoYT10aGlzLmNsaWVudCxfLmR4KGYsYyksZD1fLld3KHtjdHRBdXRoSW5mbzpfLmtxKGMpfHx2b2lkIDAsYXV0b21hdGVkTG9nRXZlbnRTb3VyY2U6dm9pZCAwfSxjKSxiPXtjc246Yyx2ZTpmLmdldEFzSnNvbigpLGV2ZW50VHlwZTo0fSxlJiYoYi5jbGllbnREYXRhPWUpLGM9PT0iVU5ERUZJTkVEX0NTTiI/Xy4kdygidmlzdWFsRWxlbWVudFNob3duIixkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudFNob3duIixiLGEsZCk6Xy5FcCgidmlzdWFsRWxlbWVudFNob3duIixiLGQpKTp6eCh0aGlzLGEpJjEmJiFiJiZfLnd4KHRoaXMuY2xpZW50LGMsZixlLGQpOl8ud3godGhpcy5jbGllbnQsYyxmLGUsZCl9fUkoYSxiLGMsZCl7dmFyIGU9dGhpcy5qKGEpLApmPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6ZTtiPXRoaXMuQi5oYXMoZik7dmFyIGg9dGhpcy5vLmdldChmKTt0aGlzLkIuYWRkKGYpO3RoaXMuby5zZXQoZiwhMSk7aWYoaD09PSExKXJldHVybiEwO2lmKCFlJiYhYS52aXN1YWxFbGVtZW50KXJldHVybiExO2M9eXgodGhpcyxhLGMpO2lmKCFjfHwhengodGhpcyxhKSYmdGhpcy5nZXREYXRhKGEpPy5sb2dnaW5nRGlyZWN0aXZlcylyZXR1cm4hMTtlPWEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Xy5VdyhlKTt6eCh0aGlzLGEpJjg/Xy52eCh0aGlzLmNsaWVudCxjLGUsdm9pZCAwLHZvaWQgMCxkKTp6eCh0aGlzLGEpJjImJiFiJiYoYT10aGlzLmNsaWVudCxkPV8uV3coe2N0dEF1dGhJbmZvOl8ua3EoYyl8fHZvaWQgMCxhdXRvbWF0ZWRMb2dFdmVudFNvdXJjZTpkfSxjKSxiPXtjc246Yyx2ZTplLmdldEFzSnNvbigpLGV2ZW50VHlwZToyfSxjPT09IlVOREVGSU5FRF9DU04iP18uJHcoInZpc3VhbEVsZW1lbnRIaWRkZW4iLApkLGIpOmE/Xy5DcCgidmlzdWFsRWxlbWVudEhpZGRlbiIsYixhLGQpOl8uRXAoInZpc3VhbEVsZW1lbnRIaWRkZW4iLGIsZCkpO3JldHVybiEwfWooYSl7dmFyIGI9dGhpcy5nZXREYXRhKGEpO3JldHVybiBfLngoImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCIpJiZiPy5jb250ZXh0Py5sb2dnaW5nQ29udGV4dD8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5jb250ZXh0LmxvZ2dpbmdDb250ZXh0LmxvZ2dpbmdEaXJlY3RpdmVzLnRyYWNraW5nUGFyYW1zfHwiIjpiPy5yZW5kZXJlckNvbnRleHQ/LmxvZ2dpbmdDb250ZXh0Py5sb2dnaW5nRGlyZWN0aXZlcz9iLnJlbmRlcmVyQ29udGV4dC5sb2dnaW5nQ29udGV4dC5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM/Yi5sb2dnaW5nRGlyZWN0aXZlcy50cmFja2luZ1BhcmFtc3x8IiI6YS52ZUNvbnRhaW5lcj8udHJhY2tpbmdQYXJhbXM/YS52ZUNvbnRhaW5lci50cmFja2luZ1BhcmFtczoKYj8udHJhY2tpbmdQYXJhbXN8fCIifXYoYSl7aWYoXy54KCJ3aXpfbmV4dF9jbGllbnRfdmVfcGFyZW50X2ZpeCIpKXt2YXIgYj10aGlzLmooYSk7cmV0dXJuIGEudmlzdWFsRWxlbWVudD9hLnZpc3VhbEVsZW1lbnQ6Yj9fLlV3KGIpOihhPV8ueHgoYSkpP3RoaXMudihhKTpudWxsfWI9dGhpcy5qKGEpO3JldHVybiBhLnZpc3VhbEVsZW1lbnQ/YS52aXN1YWxFbGVtZW50OmI/Xy5VdyhiKTphLnBhcmVudEVsZW1lbnQ/dGhpcy52KGEucGFyZW50RWxlbWVudCk6bnVsbH1nZXREYXRhKGEpe3ZhciBiPWEuZGF0YXx8YS5wcm9wcz8uZGF0YTtpZighYnx8YS5pc1dlYkNvbXBvbmVudFdyYXBwZXIpYj1fLnB4LmdldChhKT8uW18ub3hdO3JldHVybiBifX07Q3g9Y2xhc3N7Y2xlYXIoKXtfLlZpKF8uQngoKS5jbGVhcikuYmluZChfLkJ4KCkpKCl9fTtfLkt4PW5ldyBfLkkoImxvZ2dpbmdDb250ZXh0Iik7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8uTHg9bmV3IF8uVnMoIlZJU0lCSUxJVFlfT0JTRVJWRVIiKTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIE94LFB4LFF4LFN4LFR4LFZ4LGhhYSxpYWEsamFhLCR4LGF5LGN5LGJ5LGthYSxkeSxsYWEsZXksZ3ksaHksaXksb3kscHkscXkscnksdHksdnksb2FhLHBhYSxreTtfLk14PWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9ITE7ZD1fLmRkKGEsZCxlLGg9Pnt2YXIgaz1fLmt3KGgsYyxiKTtmPWshPT1oJiZrIT1udWxsO3JldHVybiBrfSk7aWYoZCE9bnVsbClyZXR1cm4gZiYmIV8uQmMoZCkmJl8ub3coYSxiKSxkfTtfLk54PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuRGEsZj1lW18uQWNdfDA7Yj1fLk14KGUsZixiLGMsZCk7aWYoYj09bnVsbClyZXR1cm4gYjtmPWVbXy5BY118MDtpZighXy5CYyhhLGYpKXtsZXQgaD1fLmx3KGIpO2ghPT1iJiYoXy5tdyhhKSYmKGU9YS5EYSxmPWVbXy5BY118MCksYj1oLGY9Xy5wdyhlLGYsYyxiLGQpLF8ub3coZSxmKSl9cmV0dXJuIGJ9OwpPeD1mdW5jdGlvbihhKXthLlp8fChhLlo9ITAsYS5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLGEuZGlzcGF0Y2hFdmVudCgiZXJyb3IiKSl9O1B4PWZ1bmN0aW9uKGEsYil7aWYoYS5yYSl7YS5EJiYoY2xlYXJUaW1lb3V0KGEuRCksYS5EPW51bGwpO2xldCBjPWEucmE7YS5yYT1udWxsO2J8fGEuZGlzcGF0Y2hFdmVudCgicmVhZHkiKTt0cnl7Yy5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbH1jYXRjaChkKXt9fX07UXg9ZnVuY3Rpb24oYSxiKXthLmo9ITE7YS5yYSYmKGEudj0hMCxhLnJhLmFib3J0KCksYS52PSExKTthLkI9YjtPeChhKTtQeChhKX07Xy5SeD1mdW5jdGlvbihhKXt0cnl7cmV0dXJuKGEucmE/YS5yYS5yZWFkeVN0YXRlOjApPjI/YS5yYS5zdGF0dXM6LTF9Y2F0Y2goYil7cmV0dXJuLTF9fTsKU3g9ZnVuY3Rpb24oYSl7aWYoYS5qJiZ0eXBlb2YgXy5DcSE9InVuZGVmaW5lZCIpaWYoYS5JJiYoYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk9PTQpc2V0VGltZW91dChhLmdyLmJpbmQoYSksMCk7ZWxzZSBpZihhLmRpc3BhdGNoRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSxhLmlzQ29tcGxldGUoKSl7YS5qPSExO3RyeXtpZihhLmlzU3VjY2VzcygpKWEuZGlzcGF0Y2hFdmVudCgiY29tcGxldGUiKSxhLmRpc3BhdGNoRXZlbnQoInN1Y2Nlc3MiKTtlbHNle3RyeXt2YXIgYj0oYS5yYT9hLnJhLnJlYWR5U3RhdGU6MCk+Mj9hLnJhLnN0YXR1c1RleHQ6IiJ9Y2F0Y2goYyl7Yj0iIn1hLkI9YisiIFsiK18uUngoYSkrIl0iO094KGEpfX1maW5hbGx5e1B4KGEpfX19OwpUeD1mdW5jdGlvbigpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLmhlYWRlcnM9bmV3IE1hcDt0aGlzLmo9ITE7dGhpcy5yYT1udWxsO3RoaXMuQj10aGlzLmhhPSIiO3RoaXMudj10aGlzLmdhPXRoaXMuST10aGlzLlo9ITE7dGhpcy5VPTA7dGhpcy5EPW51bGw7dGhpcy55YT0iIjt0aGlzLm9hPSExfTtfLlV4PWZ1bmN0aW9uKGEpe18uRHgoKTtyZXR1cm4gXy5WaShfLkJ4KCkudikuYmluZChfLkJ4KCkpKGEpfTtWeD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gXy54KCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiKSYmYi5jbGllbnRWZVNwZWM/KGI9Xy51eChiLmNsaWVudFZlU3BlYy51aVR5cGUsdm9pZCAwLGIuY2xpZW50VmVTcGVjLmVsZW1lbnRJbmRleCxiLmNsaWVudFZlU3BlYy5jbGllbnRZb3V0dWJlRGF0YSx2b2lkIDAsYiksXy5peChhLGIsYyxkKT9iOm51bGwpOmIudHJhY2tpbmdQYXJhbXM/Xy5seChhLGIudHJhY2tpbmdQYXJhbXMsYyxkKTpudWxsfTsKXy5XeD1mdW5jdGlvbihhLGIsYyxkLGUpe18ubncoYSk7dmFyIGY9YS5EYTtfLnB3KGYsZltfLkFjXXwwLGIsKGQ9PT0iMCI/TnVtYmVyKGMpPT09MDpjPT09ZCk/dm9pZCAwOmMsZSk7cmV0dXJuIGF9O18uWHg9ZnVuY3Rpb24oYSxiKXtpZihiPT1udWxsfHxiPT0iIilyZXR1cm4gbmV3IGE7Yj1KU09OLnBhcnNlKGIpO2lmKCFBcnJheS5pc0FycmF5KGIpKXRocm93IEVycm9yKCJ6Iik7YltfLkFjXXw9MzI7cmV0dXJuIG5ldyBhKGIpfTtfLll4PWZ1bmN0aW9uKGEsLi4uYil7aWYoYi5sZW5ndGg9PT0wKXJldHVybiBfLlRhKGFbMF0pO3ZhciBjPWFbMF07Zm9yKGxldCBkPTA7ZDxiLmxlbmd0aDtkKyspYys9ZW5jb2RlVVJJQ29tcG9uZW50KGJbZF0pK2FbZCsxXTtyZXR1cm4gXy5UYShjKX07Xy5aeD1mdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7Zm9yKGxldCBkIGluIGEpYltjKytdPWFbZF07cmV0dXJuIGJ9OwpoYWE9ZnVuY3Rpb24oYSl7aWYoYS5NYyYmdHlwZW9mIGEuTWM9PSJmdW5jdGlvbiIpcmV0dXJuIGEuTWMoKTtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXB8fHR5cGVvZiBTZXQhPT0idW5kZWZpbmVkIiYmYSBpbnN0YW5jZW9mIFNldClyZXR1cm4gQXJyYXkuZnJvbShhLnZhbHVlcygpKTtpZih0eXBlb2YgYT09PSJzdHJpbmciKXJldHVybiBhLnNwbGl0KCIiKTtpZihfLnlhKGEpKXtsZXQgYj1bXSxjPWEubGVuZ3RoO2ZvcihsZXQgZD0wO2Q8YztkKyspYi5wdXNoKGFbZF0pO3JldHVybiBifXJldHVybiBfLlp4KGEpfTsKaWFhPWZ1bmN0aW9uKGEpe2lmKGEucmQmJnR5cGVvZiBhLnJkPT0iZnVuY3Rpb24iKXJldHVybiBhLnJkKCk7aWYoIWEuTWN8fHR5cGVvZiBhLk1jIT0iZnVuY3Rpb24iKXtpZih0eXBlb2YgTWFwIT09InVuZGVmaW5lZCImJmEgaW5zdGFuY2VvZiBNYXApcmV0dXJuIEFycmF5LmZyb20oYS5rZXlzKCkpO2lmKCEodHlwZW9mIFNldCE9PSJ1bmRlZmluZWQiJiZhIGluc3RhbmNlb2YgU2V0KSl7aWYoXy55YShhKXx8dHlwZW9mIGE9PT0ic3RyaW5nIil7bGV0IGI9W107YT1hLmxlbmd0aDtmb3IobGV0IGM9MDtjPGE7YysrKWIucHVzaChjKTtyZXR1cm4gYn1yZXR1cm4gXy5GeChhKX19fTsKamFhPWZ1bmN0aW9uKGEsYixjKXtpZihhLmZvckVhY2gmJnR5cGVvZiBhLmZvckVhY2g9PSJmdW5jdGlvbiIpYS5mb3JFYWNoKGIsYyk7ZWxzZSBpZihfLnlhKGEpfHx0eXBlb2YgYT09PSJzdHJpbmciKUFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYSxiLGMpO2Vsc2V7bGV0IGQ9aWFhKGEpLGU9aGFhKGEpLGY9ZS5sZW5ndGg7Zm9yKGxldCBoPTA7aDxmO2grKyliLmNhbGwoYyxlW2hdLGQmJmRbaF0sYSl9fTskeD1mdW5jdGlvbihhLGIpe3RoaXMubz10aGlzLmo9bnVsbDt0aGlzLnY9YXx8bnVsbDt0aGlzLkI9ISFifTtheT1mdW5jdGlvbihhKXthLmp8fChhLmo9bmV3IE1hcCxhLm89MCxhLnYmJl8uUmIoYS52LGZ1bmN0aW9uKGIsYyl7YS5hZGQoXy5IYihiKSxjKX0pKX07Y3k9ZnVuY3Rpb24oYSxiKXtheShhKTtiPWJ5KGEsYik7cmV0dXJuIGEuai5oYXMoYil9O2J5PWZ1bmN0aW9uKGEsYil7Yj1TdHJpbmcoYik7YS5CJiYoYj1iLnRvTG93ZXJDYXNlKCkpO3JldHVybiBifTsKa2FhPWZ1bmN0aW9uKGEsYil7YiYmIWEuQiYmKGF5KGEpLGEudj1udWxsLGEuai5mb3JFYWNoKGZ1bmN0aW9uKGMsZCl7dmFyIGU9ZC50b0xvd2VyQ2FzZSgpO2QhPWUmJih0aGlzLnJlbW92ZShkKSx0aGlzLnJlbW92ZShlKSxjLmxlbmd0aD4wJiYodGhpcy52PW51bGwsdGhpcy5qLnNldChieSh0aGlzLGUpLF8ueWIoYykpLHRoaXMubys9Yy5sZW5ndGgpKX0sYSkpO2EuQj1ifTtkeT1mdW5jdGlvbihhLGIpe3JldHVybiBhP2I/ZGVjb2RlVVJJKGEucmVwbGFjZSgvJTI1L2csIiUyNTI1IikpOmRlY29kZVVSSUNvbXBvbmVudChhKToiIn07bGFhPWZ1bmN0aW9uKGEpe2E9YS5jaGFyQ29kZUF0KDApO3JldHVybiIlIisoYT4+NCYxNSkudG9TdHJpbmcoMTYpKyhhJjE1KS50b1N0cmluZygxNil9OwpleT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIHR5cGVvZiBhPT09InN0cmluZyI/KGE9ZW5jb2RlVVJJKGEpLnJlcGxhY2UoYixsYWEpLGMmJihhPWEucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYSk6bnVsbH07Cl8uZnk9ZnVuY3Rpb24oYSl7dGhpcy5vPXRoaXMuST10aGlzLkI9IiI7dGhpcy5ZPW51bGw7dGhpcy52PXRoaXMuaj0iIjt0aGlzLkQ9ITE7dmFyIGI7YSBpbnN0YW5jZW9mIF8uZnk/KHRoaXMuRD1hLkQsZ3kodGhpcyxhLkIpLHRoaXMuST1hLkksdGhpcy5vPWEubyxoeSh0aGlzLGEuWSksdGhpcy5qPWEuaixpeSh0aGlzLGEuSy5jbG9uZSgpKSx0aGlzLnY9YS52KTphJiYoYj1fLk1iKFN0cmluZyhhKSkpPyh0aGlzLkQ9ITEsZ3kodGhpcyxiWzFdfHwiIiwhMCksdGhpcy5JPWR5KGJbMl18fCIiKSx0aGlzLm89ZHkoYlszXXx8IiIsITApLGh5KHRoaXMsYls0XSksdGhpcy5qPWR5KGJbNV18fCIiLCEwKSxpeSh0aGlzLGJbNl18fCIiLCEwKSx0aGlzLnY9ZHkoYls3XXx8IiIpKToodGhpcy5EPSExLHRoaXMuSz1uZXcgJHgobnVsbCx0aGlzLkQpKX07Z3k9ZnVuY3Rpb24oYSxiLGMpe2EuQj1jP2R5KGIsITApOmI7YS5CJiYoYS5CPWEuQi5yZXBsYWNlKC86JC8sIiIpKX07Cmh5PWZ1bmN0aW9uKGEsYil7aWYoYil7Yj1OdW1iZXIoYik7aWYoaXNOYU4oYil8fGI8MCl0aHJvdyBFcnJvcigiS2FgIitiKTthLlk9Yn1lbHNlIGEuWT1udWxsfTtpeT1mdW5jdGlvbihhLGIsYyl7YiBpbnN0YW5jZW9mICR4PyhhLks9YixrYWEoYS5LLGEuRCkpOihjfHwoYj1leShiLG1hYSkpLGEuSz1uZXcgJHgoYixhLkQpKX07Xy5qeT1mdW5jdGlvbihhLGIpe18uZ2YuY2FsbCh0aGlzKTt0aGlzLnY9YXx8MTt0aGlzLmo9Ynx8Xy51O3RoaXMuQj0oMCxfLkNhKSh0aGlzLmFCLHRoaXMpO3RoaXMuRD1fLkVhKCl9O18ubHk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCl7dmFyIGs9bmV3IFR4O2t5LnB1c2goayk7YiYmay5saXN0ZW4oImNvbXBsZXRlIixiKTtfLmJmKGssInJlYWR5IixrLlB1KTtmJiYoay5VPU1hdGgubWF4KDAsZikpO2gmJihrLm9hPWgpO2suc2VuZChhLGMsZCxlKX07Xy5teT1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgYS5yZWdpc3Rlci52YWx1ZXMoKSliLnpnKCJBQk9SVEVEIil9OwpfLm55PWZ1bmN0aW9uKGEsYixjKXtzd2l0Y2goYi50eXBlKXtjYXNlICJtYXBwaW5nIjpyZXR1cm4gYi52YWx1ZTtjYXNlICJmYWN0b3J5IjpyZXR1cm4gYj1iLnZhbHVlKCksYS5tYXBwaW5ncy5zZXQoYy50b1N0cmluZygpLHt0eXBlOiJtYXBwaW5nIix2YWx1ZTpifSksYjtkZWZhdWx0OnJldHVybiBfLmViKGIsdm9pZCAwKX19OwpveT1mdW5jdGlvbihhLGIsYyl7aWYoXy54KCJkZWJ1Z193ZWJfdmVfZGF0YSIpKXt2YXIgZD1fLkIoYz8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlczshZCYmYyYmKGQ9Yy5sb2dnaW5nRGlyZWN0aXZlcyk7YTp7aWYoZD1jPy50cmFja2luZ1BhcmFtcz8/ZD8udHJhY2tpbmdQYXJhbXMpdHJ5e3ZhciBlPV8uQ28oZCk7aWYoZSl7bGV0IGg9Xy5FbyhlLDEpLGs9Xy5FbyhlLDIpO2U9e307aCE9PXZvaWQgMCYmKGUuR3M9TnVtYmVyKGgpKTtrIT09dm9pZCAwJiYoZS52ZVR5cGU9TnVtYmVyKGspKTt2YXIgZj1lO2JyZWFrIGF9fWNhdGNoKGgpe31mPXZvaWQgMH1mPy52ZVR5cGUhPT12b2lkIDAmJihhLmRhdGFzZXQudmU9U3RyaW5nKGYudmVUeXBlKSk7Zj8uR3MhPT12b2lkIDAmJihhLmRhdGFzZXQudmVJbmRleD1TdHJpbmcoZi5HcykpOyhjPWM/LmxvZ2dpbmdEaXJlY3RpdmVzPy5jbGllbnRWZVNwZWM/LnVpVHlwZSl8fChjPWIudmVUeXBlfHxiLmxvZ2dpbmdDb25maWc/LnZlVHlwZSk7CmMmJihhLmRhdGFzZXQudmU9U3RyaW5nKGMpKX19O3B5PWZ1bmN0aW9uKGEpe3JldHVybiBhLmxheWVyIT09dm9pZCAwP2EubGF5ZXI6YS5wYXJlbnQ/cHkoYS5wYXJlbnQpOmEubGF5ZXI9MH07cXk9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLnB4LmdldChhKXx8e1plOmJ9O2MuWmU9YjtfLnB4LnNldChhLGMpO2EuZ2V0U2NyZWVuTGF5ZXI9KCk9PnB5KGMuWmUpfTtyeT1mdW5jdGlvbihhKXtmb3IoYT1hLnBhcmVudE5vZGU7YSYmIV8ucHguZ2V0KGEpPy5XeCYmIShhLmpmPz9hKS5ESjspYT1hLnBhcmVudE5vZGV8fGEuaG9zdDtpZihhKXJldHVybiBfLnB4LmdldChhKX07Xy5zeT1mdW5jdGlvbihhKXtpZihhKXtfLnB4LmRlbGV0ZShhKTtsZXQgYj1fLnkoKS5yZXNvbHZlKF8uTHgpO18uR3goYSxiKX19OwpfLnV5PWZ1bmN0aW9uKGEsYixjPSExKXtpZihjKXtpZihjPWEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpLGIuZGF0YSYmIWIuQkl8fGMpXy50digoKT0+e3ZhciBkPV8uQnYoYi5kYXRhKTt0eShhLGQpO295KGEsYixkKX0sImEiKSxfLll1KCgpPT52b2lkIF8uc3koYSkpfWVsc2UgdHlwZW9mIGIuZGF0YSE9PSJmdW5jdGlvbiImJihjPWIuZGF0YSx0eShhLGMpLG95KGEsYixjKSl9Owp0eT1mdW5jdGlvbihhLGIpe25hYSsrO3Z5KGEsYikmJl8uQ2soKS5HYSgoKT0+e18ucXgoXy5DaygpLCgpPT57aWYodnkoYSxiKSYmYS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudD09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmYSl7dmFyIGM7aWYoYS5nZXRBdHRyaWJ1dGUoImxheWVyIikpe3ZhciBkPWM9TnVtYmVyKGEuZ2V0QXR0cmlidXRlKCJsYXllciIpKSxlPV8ucHguZ2V0KGEpO2U/ZS5aZS5sYXllcj1kOnF5KGEsbmV3IHd5KGQpKTsoZD1yeShhKSkmJl8ucHguZ2V0KGEpPy5aZS5zZXRQYXJlbnQoZC5aZSl9ZWxzZShjPV8ucHguZ2V0KGEpKT9jPXB5KGMuWmUpOihjPXB5LGQ9bmV3IHd5LChlPXJ5KGEpKSYmZC5zZXRQYXJlbnQoZS5aZSkscXkoYSxkKSxjPWMoZCkpO2M/PyhjPTApO2Q9YS5nZXRBdHRyaWJ1dGUoImNsaWVudC12ZS10eXBlIik7ZT1OdW1iZXIoZCk7dmFyIGY9ITE7ZD0hMTt2YXIgaD1fLnB4LmdldChhKTtoJiYoaFtfLm94XSE9PWJ8fGUmJl8ucHguZ2V0KGEpPy5VZD09PQp2b2lkIDApJiYoaFtfLm94XT1iLGY9ZD1oLld4PSEwKTtfLnB4LmhhcyhhKSYmKF8ucHguZ2V0KGEpLlVkPWUpO2EudmlzdWFsRWxlbWVudCYmKGQ9ITApO3ZhciBrO18ueCgid2l6X25leHRfbGRfZml4X2NsaWVudF92ZV9zcGVjIik/az1fLkIoYj8ucmVuZGVyZXJDb250ZXh0LF8uS3gpPy5sb2dnaW5nRGlyZWN0aXZlc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXM6az1iPy5sb2dnaW5nRGlyZWN0aXZlcztfLngoIndpel9uZXh0X2NsaWVudF92ZV9wYXJlbnRfZml4Iik/ayYmKGsuY2xpZW50VmVTcGVjfHxrLnRyYWNraW5nUGFyYW1zKSYmKGg9KGg9Xy54eChhKSk/Xy5VeChoKTpudWxsLGs9VngoXy5oeCgpLGssaHx8dm9pZCAwLGMpKSYmKGEudmlzdWFsRWxlbWVudD1rKTprJiZrLmNsaWVudFZlU3BlYyYmKGg9Xy5VeChhKSxrPVZ4KF8uaHgoKSxrLGh8fHZvaWQgMCxjKSkmJihhLnZpc3VhbEVsZW1lbnQ9ayk7IWEudmlzdWFsRWxlbWVudCYmZSYmZiYmKGEudmVUeXBlPWUsaz12b2lkIDAsCl8ueCgid2l6X25leHRfY2xpZW50X3ZlX3BhcmVudF9maXgiKSYmKGU9Xy54eChhKSkmJihrPV8uVXgoZSkpLGs9Xy5FeChfLmh4KCksYSxrLGMpLGEudmlzdWFsRWxlbWVudD1rKTtkJiYoaz1fLnkoKS5yZXNvbHZlKF8uTHgpLF8uSngoYSx7ZGF0YTpiLG9ic2VydmVyOmssbGF5ZXI6YyxlYjp7VmI6ITEsc3RhdGU6InZpc2libGUifSxOYzp7VmI6ITEsc3RhdGU6ImhpZGRlbiJ9fSkpfX0sMCl9LDgpfTt2eT1mdW5jdGlvbihhLGIpe3JldHVybiBiPy50cmFja2luZ1BhcmFtc3x8Yj8ubG9nZ2luZ0RpcmVjdGl2ZXN8fF8uQihiPy5yZW5kZXJlckNvbnRleHQsXy5LeCl8fGEuZ2V0QXR0cmlidXRlKCJjbGllbnQtdmUtdHlwZSIpPyEwOiExfTtvYWE9L15odHRwcz8kL2k7cGFhPVsiUE9TVCIsIlBVVCJdO2t5PVtdO18uSGEoVHgsXy5nZik7Xy5nPVR4LnByb3RvdHlwZTtfLmcuUHU9ZnVuY3Rpb24oKXt0aGlzLmRpc3Bvc2UoKTtfLnhiKGt5LHRoaXMpfTsKXy5nLnNlbmQ9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5yYSl0aHJvdyBFcnJvcigiUGFgIit0aGlzLmhhKyJgIithKTtiPWI/Yi50b1VwcGVyQ2FzZSgpOiJHRVQiO3RoaXMuaGE9YTt0aGlzLkI9IiI7dGhpcy5aPSExO3RoaXMuaj0hMDt0aGlzLnJhPW5ldyBYTUxIdHRwUmVxdWVzdDt0aGlzLnJhLm9ucmVhZHlzdGF0ZWNoYW5nZT0oMCxfLnlnKSgoMCxfLkNhKSh0aGlzLmdyLHRoaXMpKTt0cnl7dGhpcy5nYT0hMCx0aGlzLnJhLm9wZW4oYixTdHJpbmcoYSksITApLHRoaXMuZ2E9ITF9Y2F0Y2goZil7UXgodGhpcyxmKTtyZXR1cm59YT1jfHwiIjtjPW5ldyBNYXAodGhpcy5oZWFkZXJzKTtpZihkKWlmKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKT09PU9iamVjdC5wcm90b3R5cGUpZm9yKHZhciBlIGluIGQpYy5zZXQoZSxkW2VdKTtlbHNlIGlmKHR5cGVvZiBkLmtleXM9PT0iZnVuY3Rpb24iJiZ0eXBlb2YgZC5nZXQ9PT0iZnVuY3Rpb24iKWZvcihsZXQgZiBvZiBkLmtleXMoKSljLnNldChmLApkLmdldChmKSk7ZWxzZSB0aHJvdyBFcnJvcigiUWFgIitTdHJpbmcoZCkpO2Q9QXJyYXkuZnJvbShjLmtleXMoKSkuZmluZChmPT4iY29udGVudC10eXBlIj09Zi50b0xvd2VyQ2FzZSgpKTtlPV8udS5Gb3JtRGF0YSYmYSBpbnN0YW5jZW9mIF8udS5Gb3JtRGF0YTshKF8uc2IocGFhLGIpPj0wKXx8ZHx8ZXx8Yy5zZXQoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04Iik7Zm9yKGxldCBbZixoXW9mIGMpdGhpcy5yYS5zZXRSZXF1ZXN0SGVhZGVyKGYsaCk7dGhpcy55YSYmKHRoaXMucmEucmVzcG9uc2VUeXBlPXRoaXMueWEpOyJ3aXRoQ3JlZGVudGlhbHMiaW4gdGhpcy5yYSYmdGhpcy5yYS53aXRoQ3JlZGVudGlhbHMhPT10aGlzLm9hJiYodGhpcy5yYS53aXRoQ3JlZGVudGlhbHM9dGhpcy5vYSk7dHJ5e3RoaXMuRCYmKGNsZWFyVGltZW91dCh0aGlzLkQpLHRoaXMuRD1udWxsKSx0aGlzLlU+MCYmKHRoaXMuRD1zZXRUaW1lb3V0KHRoaXMuZEIuYmluZCh0aGlzKSwKdGhpcy5VKSksdGhpcy5JPSEwLHRoaXMucmEuc2VuZChhKSx0aGlzLkk9ITF9Y2F0Y2goZil7UXgodGhpcyxmKX19O18uZy5kQj1mdW5jdGlvbigpe3R5cGVvZiBfLkNxIT0idW5kZWZpbmVkIiYmdGhpcy5yYSYmKHRoaXMuQj0iVGltZWQgb3V0IGFmdGVyICIrdGhpcy5VKyJtcywgYWJvcnRpbmciLHRoaXMuZGlzcGF0Y2hFdmVudCgidGltZW91dCIpLHRoaXMuYWJvcnQoOCkpfTtfLmcuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLnJhJiZ0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KCJjb21wbGV0ZSIpLHRoaXMuZGlzcGF0Y2hFdmVudCgiYWJvcnQiKSxQeCh0aGlzKSl9O18uZy5sYT1mdW5jdGlvbigpe3RoaXMucmEmJih0aGlzLmomJih0aGlzLmo9ITEsdGhpcy52PSEwLHRoaXMucmEuYWJvcnQoKSx0aGlzLnY9ITEpLFB4KHRoaXMsITApKTtUeC56Yi5sYS5jYWxsKHRoaXMpfTsKXy5nLmdyPWZ1bmN0aW9uKCl7dGhpcy5pYSgpfHwodGhpcy5nYXx8dGhpcy5JfHx0aGlzLnY/U3godGhpcyk6dGhpcy5seigpKX07Xy5nLmx6PWZ1bmN0aW9uKCl7U3godGhpcyl9O18uZy5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5yYX07Xy5nLmlzQ29tcGxldGU9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yYT90aGlzLnJhLnJlYWR5U3RhdGU6MCk9PTR9O18uZy5pc1N1Y2Nlc3M9ZnVuY3Rpb24oKXt2YXIgYT1fLlJ4KHRoaXMpLGI7aWYoIShiPV8uc2YoYSkpKXtpZihhPWE9PT0wKWE9Xy5PYihTdHJpbmcodGhpcy5oYSkpLGE9IW9hYS50ZXN0KGEpO2I9YX1yZXR1cm4gYn07Xy5nLmdldExhc3RFcnJvcj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgdGhpcy5CPT09InN0cmluZyI/dGhpcy5COlN0cmluZyh0aGlzLkIpfTtfLmc9JHgucHJvdG90eXBlOwpfLmcuYWRkPWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO3ZhciBjPXRoaXMuai5nZXQoYSk7Y3x8dGhpcy5qLnNldChhLGM9W10pO2MucHVzaChiKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5yZW1vdmU9ZnVuY3Rpb24oYSl7YXkodGhpcyk7YT1ieSh0aGlzLGEpO3JldHVybiB0aGlzLmouaGFzKGEpPyh0aGlzLnY9bnVsbCx0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoLHRoaXMuai5kZWxldGUoYSkpOiExfTtfLmcuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmo9dGhpcy52PW51bGw7dGhpcy5vPTB9O18uZy5pc0VtcHR5PWZ1bmN0aW9uKCl7YXkodGhpcyk7cmV0dXJuIHRoaXMubz09MH07Xy5nLmZvckVhY2g9ZnVuY3Rpb24oYSxiKXtheSh0aGlzKTt0aGlzLmouZm9yRWFjaChmdW5jdGlvbihjLGQpe2MuZm9yRWFjaChmdW5jdGlvbihlKXthLmNhbGwoYixlLGQsdGhpcyl9LHRoaXMpfSx0aGlzKX07Cl8uZy5yZD1mdW5jdGlvbigpe2F5KHRoaXMpO3ZhciBhPUFycmF5LmZyb20odGhpcy5qLnZhbHVlcygpKSxiPUFycmF5LmZyb20odGhpcy5qLmtleXMoKSksYz1bXTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7bGV0IGU9YVtkXTtmb3IobGV0IGY9MDtmPGUubGVuZ3RoO2YrKyljLnB1c2goYltkXSl9cmV0dXJuIGN9O18uZy5NYz1mdW5jdGlvbihhKXtheSh0aGlzKTt2YXIgYj1bXTtpZih0eXBlb2YgYT09PSJzdHJpbmciKWN5KHRoaXMsYSkmJihiPWIuY29uY2F0KHRoaXMuai5nZXQoYnkodGhpcyxhKSkpKTtlbHNle2E9QXJyYXkuZnJvbSh0aGlzLmoudmFsdWVzKCkpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWI9Yi5jb25jYXQoYVtjXSl9cmV0dXJuIGJ9OwpfLmcuc2V0PWZ1bmN0aW9uKGEsYil7YXkodGhpcyk7dGhpcy52PW51bGw7YT1ieSh0aGlzLGEpO2N5KHRoaXMsYSkmJih0aGlzLm8tPXRoaXMuai5nZXQoYSkubGVuZ3RoKTt0aGlzLmouc2V0KGEsW2JdKTt0aGlzLm8rPTE7cmV0dXJuIHRoaXN9O18uZy5nZXQ9ZnVuY3Rpb24oYSxiKXtpZighYSlyZXR1cm4gYjthPXRoaXMuTWMoYSk7cmV0dXJuIGEubGVuZ3RoPjA/U3RyaW5nKGFbMF0pOmJ9OwpfLmcudG9TdHJpbmc9ZnVuY3Rpb24oKXtpZih0aGlzLnYpcmV0dXJuIHRoaXMudjtpZighdGhpcy5qKXJldHVybiIiO3ZhciBhPVtdLGI9QXJyYXkuZnJvbSh0aGlzLmoua2V5cygpKTtmb3IobGV0IGQ9MDtkPGIubGVuZ3RoO2QrKyl7dmFyIGM9YltkXTtsZXQgZT1lbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGMpKTtjPXRoaXMuTWMoYyk7Zm9yKGxldCBmPTA7ZjxjLmxlbmd0aDtmKyspe2xldCBoPWU7Y1tmXSE9PSIiJiYoaCs9Ij0iK2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoY1tmXSkpKTthLnB1c2goaCl9fXJldHVybiB0aGlzLnY9YS5qb2luKCImIil9O18uZy5jbG9uZT1mdW5jdGlvbigpe3ZhciBhPW5ldyAkeDthLnY9dGhpcy52O3RoaXMuaiYmKGEuaj1uZXcgTWFwKHRoaXMuaiksYS5vPXRoaXMubyk7cmV0dXJuIGF9OwpfLmcuZXh0ZW5kPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YXJndW1lbnRzLmxlbmd0aDtiKyspamFhKGFyZ3VtZW50c1tiXSxmdW5jdGlvbihjLGQpe3RoaXMuYWRkKGQsYyl9LHRoaXMpfTt2YXIgeHk9L1sjXC9cP0BdL2cscWFhPS9bI1w/XS9nLHJhYT0vWyNcPzpdL2csc2FhPS8jL2csbWFhPS9bI1w/QF0vZzsKXy5meS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgYT1bXSxiPXRoaXMuQjtiJiZhLnB1c2goZXkoYix4eSwhMCksIjoiKTt2YXIgYz10aGlzLm87aWYoY3x8Yj09ImZpbGUiKWEucHVzaCgiLy8iKSwoYj10aGlzLkkpJiZhLnB1c2goZXkoYix4eSwhMCksIkAiKSxhLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhjKSkucmVwbGFjZSgvJTI1KFswLTlhLWZBLUZdezJ9KS9nLCIlJDEiKSksYz10aGlzLlksYyE9bnVsbCYmYS5wdXNoKCI6IixTdHJpbmcoYykpO2lmKGM9dGhpcy5qKXRoaXMubyYmYy5jaGFyQXQoMCkhPSIvIiYmYS5wdXNoKCIvIiksYS5wdXNoKGV5KGMsYy5jaGFyQXQoMCk9PSIvIj9xYWE6cmFhLCEwKSk7KGM9dGhpcy5LLnRvU3RyaW5nKCkpJiZhLnB1c2goIj8iLGMpOyhjPXRoaXMudikmJmEucHVzaCgiIyIsZXkoYyxzYWEpKTtyZXR1cm4gYS5qb2luKCIiKX07Cl8uZnkucHJvdG90eXBlLnJlc29sdmU9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5jbG9uZSgpLGM9ISFhLkI7Yz9neShiLGEuQik6Yz0hIWEuSTtjP2IuST1hLkk6Yz0hIWEubztjP2Iubz1hLm86Yz1hLlkhPW51bGw7dmFyIGQ9YS5qO2lmKGMpaHkoYixhLlkpO2Vsc2UgaWYoYz0hIWEuail7aWYoZC5jaGFyQXQoMCkhPSIvIilpZih0aGlzLm8mJiF0aGlzLmopZD0iLyIrZDtlbHNle3ZhciBlPWIuai5sYXN0SW5kZXhPZigiLyIpO2UhPS0xJiYoZD1iLmouc2xpY2UoMCxlKzEpK2QpfWU9ZDtpZihlPT0iLi4ifHxlPT0iLiIpZD0iIjtlbHNlIGlmKGUuaW5kZXhPZigiLi8iKSE9LTF8fGUuaW5kZXhPZigiLy4iKSE9LTEpe2Q9ZS5sYXN0SW5kZXhPZigiLyIsMCk9PTA7ZT1lLnNwbGl0KCIvIik7bGV0IGY9W107Zm9yKGxldCBoPTA7aDxlLmxlbmd0aDspe2xldCBrPWVbaCsrXTtrPT0iLiI/ZCYmaD09ZS5sZW5ndGgmJmYucHVzaCgiIik6az09Ii4uIj8oKGYubGVuZ3RoPjF8fGYubGVuZ3RoPT0KMSYmZlswXSE9IiIpJiZmLnBvcCgpLGQmJmg9PWUubGVuZ3RoJiZmLnB1c2goIiIpKTooZi5wdXNoKGspLGQ9ITApfWQ9Zi5qb2luKCIvIil9ZWxzZSBkPWV9Yz9iLmo9ZDpjPWEuSy50b1N0cmluZygpIT09IiI7Yz9peShiLGEuSy5jbG9uZSgpKTpjPSEhYS52O2MmJihiLnY9YS52KTtyZXR1cm4gYn07Xy5meS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IF8uZnkodGhpcyl9O18uZnkucHJvdG90eXBlLmFtPWZ1bmN0aW9uKCl7cmV0dXJuITF9O18uSGEoXy5qeSxfLmdmKTtfLmc9Xy5qeS5wcm90b3R5cGU7Xy5nLmVuYWJsZWQ9ITE7Xy5nLnNjPW51bGw7Xy5nLnNldEludGVydmFsPWZ1bmN0aW9uKGEpe3RoaXMudj1hO3RoaXMuc2MmJnRoaXMuZW5hYmxlZD8odGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKTp0aGlzLnNjJiZ0aGlzLnN0b3AoKX07Cl8uZy5hQj1mdW5jdGlvbigpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9Xy5FYSgpLXRoaXMuRDthPjAmJmE8dGhpcy52Ki44P3RoaXMuc2M9dGhpcy5qLnNldFRpbWVvdXQodGhpcy5CLHRoaXMudi1hKToodGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKSx0aGlzLmRpc3BhdGNoRXZlbnQoInRpY2siKSx0aGlzLmVuYWJsZWQmJih0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpKX19O18uZy5zdGFydD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMDt0aGlzLnNjfHwodGhpcy5zYz10aGlzLmouc2V0VGltZW91dCh0aGlzLkIsdGhpcy52KSx0aGlzLkQ9Xy5FYSgpKX07Xy5nLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy5zYyYmKHRoaXMuai5jbGVhclRpbWVvdXQodGhpcy5zYyksdGhpcy5zYz1udWxsKX07Xy5nLmxhPWZ1bmN0aW9uKCl7Xy5qeS56Yi5sYS5jYWxsKHRoaXMpO3RoaXMuc3RvcCgpO2RlbGV0ZSB0aGlzLmp9O18uQXk9bmV3IF8uSSgiY29udGludWF0aW9uQ29tbWFuZCIpO18uQnk9bmV3IF8uSSgibW9kaWZ5Q2hhbm5lbE5vdGlmaWNhdGlvblByZWZlcmVuY2VFbmRwb2ludCIpO18uQ3k9bmV3IF8uSSgidW5kb0ZlZWRiYWNrRW5kcG9pbnQiKTtfLkR5PW5ldyBfLkkoInVuc3Vic2NyaWJlRW5kcG9pbnQiKTt2YXIgdGFhO3RhYT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucmVnaXN0ZXI9bmV3IE1hcH1jbGVhcigpe18ubXkodGhpcyk7dGhpcy5yZWdpc3Rlci5jbGVhcigpfX07Xy5FeT1uZXcgdGFhO3ZhciB1YWE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e319Y29udGFpbnMoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmosYSl9Z2V0KGEpe2lmKHRoaXMuY29udGFpbnMoYSkpcmV0dXJuIHRoaXMualthXX1zZXQoYSxiKXt0aGlzLmpbYV09Yn1yZCgpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmopfXJlbW92ZShhKXtkZWxldGUgdGhpcy5qW2FdfX07Xy5HeT1uZXcgY2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLm1hcHBpbmdzPW5ldyB1YWE7dGhpcy5qPW5ldyBTZXR9Z2V0KGEpe3ZhciBiPXRoaXMubWFwcGluZ3MuZ2V0KGEudG9TdHJpbmcoKSk7cmV0dXJuIF8ubnkodGhpcyxiLGEpfW9uTG9hZEVycm9yKGEpe3RoaXMuai5hZGQoYSk7cmV0dXJuKCk9Pnt0aGlzLmouZGVsZXRlKGEpfX19O18uSHk9bmV3IF8uVnMoIkFTWU5DX0lOTkVSVFVCRV9UUkFOU1BPUlRfVE9LRU4iKTtfLkl5PW5ldyBfLlZzKCJJTk5FUlRVQkVfVFJBTlNQT1JUX1RPS0VOIik7Xy5KeT1uZXcgXy5WcygiUkVTUE9OU0VfUFJPQ0VTU09SX01BUF9UT0tFTiIpO3ZhciB3eT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmxheWVyPWF9c2V0UGFyZW50KGEpe3RoaXMucGFyZW50PWF9fTt2YXIgbmFhPTA7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7Cl8udmFhPSJwbGF5ZXJfdWlkXyIrKE1hdGgucmFuZG9tKCkqMUU5Pj4+MCk7Cn1jYXRjaChlKXtfLl9EdW1wRXhjZXB0aW9uKGUpfQp0cnl7CnZhciB4YWEseWFhLHphYSxWeSwkeSxheixieixjeixBYWEsaHosQmFhLENhYSxpeixreixFYWEsdHosd2FhLFJ5LFN5LEhhYSxJYWEsRGFhLEZhYSxkeixqeixleixmejtfLkt5PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBfLkJmKXJldHVybiBhO3ZhciBiPW5ldyBfLkJmKF8uZ2QpO18uQWYoYiwyLGEpO3JldHVybiBifTtfLkx5PWZ1bmN0aW9uKGEsYil7Yj1fLmRiKGIpO2IhPT12b2lkIDAmJihhLmhyZWY9Yil9O18uTXk9ZnVuY3Rpb24oYSl7dmFyIGI9MDtmb3IobGV0IGM9MDtjPGEubGVuZ3RoOysrYyliPTMxKmIrYS5jaGFyQ29kZUF0KGMpPj4+MDtyZXR1cm4gYn07Xy5OeT1mdW5jdGlvbihhKXthPV8uTWIoYSk7cmV0dXJuIF8uSWIobnVsbCxudWxsLG51bGwsbnVsbCxhWzVdLGFbNl0sYVs3XSl9O18uT3k9ZnVuY3Rpb24oYSl7dmFyIGI9YS5pbmRleE9mKCIjIik7cmV0dXJuIGI8MD9hOmEuc2xpY2UoMCxiKX07Cl8uUHk9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9YS5zZWFyY2goXy5ZYiksZD0wLGUsZj1bXTsoZT1fLlhiKGEsZCxiLGMpKT49MDspZi5wdXNoKGEuc3Vic3RyaW5nKGQsZSkpLGQ9TWF0aC5taW4oYS5pbmRleE9mKCImIixlKSsxfHxjLGMpO2YucHVzaChhLnNsaWNlKGQpKTtyZXR1cm4gZi5qb2luKCIiKS5yZXBsYWNlKHdhYSwiJDEiKX07eGFhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iJjEyOD8wOi0xLGU9YS5sZW5ndGgsZjtpZihmPSEhZSlmPWFbZS0xXSxmPWYhPW51bGwmJnR5cGVvZiBmPT09Im9iamVjdCImJmYuY29uc3RydWN0b3I9PT1PYmplY3Q7dmFyIGg9ZSsoZj8tMTowKTtmb3IoYj1iJjEyOD8xOjA7YjxoO2IrKyljKGItZCxhW2JdKTtpZihmKXthPWFbZS0xXTtmb3IobGV0IGsgaW4gYSkhaXNOYU4oaykmJmMoK2ssYVtrXSl9fTtfLlF5PWZ1bmN0aW9uKGEpe2lmKGE9PW51bGx8fHR5cGVvZiBhPT09ImJvb2xlYW4iKXJldHVybiBhO2lmKHR5cGVvZiBhPT09Im51bWJlciIpcmV0dXJuISFhfTsKeWFhPWZ1bmN0aW9uKGEpe3ZhciBiPV8uR2EoXy5KYyk7cmV0dXJuIGI/YVtiXTp2b2lkIDB9O3phYT1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJvb2xlYW4iOnJldHVybiBSeXx8KFJ5PVswLHZvaWQgMCwhMF0pO2Nhc2UgIm51bWJlciI6cmV0dXJuIGE+MD92b2lkIDA6YT09PTA/U3l8fChTeT1bMCx2b2lkIDBdKTpbLWEsdm9pZCAwXTtjYXNlICJzdHJpbmciOnJldHVyblswLGFdO2Nhc2UgIm9iamVjdCI6cmV0dXJuIGF9fTtfLlR5PWZ1bmN0aW9uKGEpe3JldHVybiEhKDImYSkmJiEhKDQmYSl8fCEhKDI1NiZhKX07Xy5VeT1mdW5jdGlvbihhLGIpe3JldHVybiBhPSgyJmI/YXwyOmEmLTMpJi0yNzN9O1Z5PWZ1bmN0aW9uKGEsYil7MiZiJiYoYXw9Mik7cmV0dXJuIGF8MX07Cl8uV3k9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsaCxrKXt2YXIgbD1fLkJjKGEsYyk7Zj1sPzE6ZjtoPSEhaHx8Zj09PTM7bD1rJiYhbDsoZj09PTJ8fGwpJiZfLm13KGEpJiYoYj1hLkRhLGM9YltfLkFjXXwwKTthPV8uZGQoYixlKTtrPUFycmF5LmlzQXJyYXkoYSk/YTpfLm1yO3ZhciBtPWs9PT1fLm1yPzc6a1tfLkFjXXwwLG49VnkobSxjKTtpZihhPSEoNCZuKSl7dmFyIHA9ayxyPWM7bGV0IHQ9ISEoMiZuKTt0JiYocnw9Mik7bGV0IHY9IXQsej0hMCxFPTAsQT0wO2Zvcig7RTxwLmxlbmd0aDtFKyspe2xldCBGPV8ua3cocFtFXSxkLHIpO2lmKEYgaW5zdGFuY2VvZiBkKXtpZighdCl7bGV0IEM9Xy5CYyhGKTt2JiYodj0hQyk7eiYmKHo9Qyl9cFtBKytdPUZ9fUE8RSYmKHAubGVuZ3RoPUEpO258PTQ7bj16P24mLTQwOTc6bnw0MDk2O249dj9ufDg6biYtOX1uIT09bSYmKGtbXy5BY109biwyJm4mJk9iamVjdC5mcmVlemUoaykpO2lmKGwmJiEoOCZufHwhay5sZW5ndGgmJihmPT09MXx8CihmIT09ND8wOjImbnx8ISgxNiZuKSYmMzImYykpKSl7Xy5UeShuKSYmKGs9Wy4uLmtdLG49Xy5VeShuLGMpLGM9Xy5wdyhiLGMsZSxrKSk7ZD1rO2w9bjtmb3IobT0wO208ZC5sZW5ndGg7bSsrKXA9ZFttXSxuPV8ubHcocCkscCE9PW4mJihkW21dPW4pO2x8PTg7bj1sPWQubGVuZ3RoP2x8NDA5NjpsJi00MDk3O2tbXy5BY109bn1kPWs7bD1rPW47Zj09PTF8fChmIT09ND8wOjIma3x8ISgxNiZrKSYmMzImYyk/Xy5UeShrKXx8KGt8PSFkLmxlbmd0aHx8YSYmISg0MDk2JmspfHwzMiZjJiYhKDQwOTYma3x8MTYmayk/MjoyNTYsayE9PWwmJihkW18uQWNdPWspLE9iamVjdC5mcmVlemUoZCkpOihmPT09MiYmXy5UeShrKSYmKGQ9Wy4uLmRdLGw9MCxrPV8uVXkoayxjKSxjPV8ucHcoYixjLGUsZCkpLF8uVHkoayl8fChofHwoa3w9MTYpLGshPT1sJiYoZFtfLkFjXT1rKSkpOzIma3x8ISg0MDk2Jmt8fDE2JmspfHxfLm93KGIsYyk7cmV0dXJuIGR9OwpfLlh5PWZ1bmN0aW9uKGEsYil7Zm9yKDtiPjEyNzspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj4+PTc7YS5qLnB1c2goYil9O18uWXk9ZnVuY3Rpb24oYSxiKXtiLmxlbmd0aCE9PTAmJihhLnYucHVzaChiKSxhLm8rPWIubGVuZ3RoKX07Xy5aeT1mdW5jdGlvbihhLGIsYyl7Xy5YeShhLmosYio4K2MpfTskeT1mdW5jdGlvbihhLGIpe18uWnkoYSxiLDIpO2I9YS5qLmVuZCgpO18uWXkoYSxiKTtiLnB1c2goYS5vKTtyZXR1cm4gYn07YXo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnBvcCgpO2ZvcihjPWEubythLmoubGVuZ3RoKCktYztjPjEyNzspYi5wdXNoKGMmMTI3fDEyOCksYz4+Pj03LGEubysrO2IucHVzaChjKTthLm8rK307Yno9ZnVuY3Rpb24oYSxiKXtpZihhIGluc3RhbmNlb2YgXy5NcilyZXR1cm4gYS5EYTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBfLlhjKGEsYlswXSxiWzFdKX07CmN6PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtBYWE9ZnVuY3Rpb24oYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSkmJiEhYS5sZW5ndGgmJnR5cGVvZiBhWzBdPT09Im51bWJlciImJmFbMF0+MH07Cmh6PWZ1bmN0aW9uKGEpe3ZhciBiPUJhYSxjPUNhYSxkPWFbZHpdO2lmKGQpcmV0dXJuIGQ7ZD17fTtkLlpIPWE7ZC5PcT16YWEoYVswXSk7dmFyIGU9YVsxXSxmPTE7ZSYmZS5jb25zdHJ1Y3Rvcj09PU9iamVjdCYmKGQuZXh0ZW5zaW9ucz1lLGU9YVsrK2ZdLHR5cGVvZiBlPT09ImZ1bmN0aW9uIiYmKGQuU3g9ITAsZXo/Pyhlej1lKSxmej8/KGZ6PWFbZisxXSksZT1hW2YrPTJdKSk7Zm9yKHZhciBoPXt9O2UmJkFhYShlKTspe2Zvcih2YXIgaz0wO2s8ZS5sZW5ndGg7aysrKWhbZVtrXV09ZTtlPWFbKytmXX1mb3Ioaz0xO2UhPT12b2lkIDA7KXt0eXBlb2YgZT09PSJudW1iZXIiJiYoays9ZSxlPWFbKytmXSk7bGV0IG47dmFyIGw9dm9pZCAwO2UgaW5zdGFuY2VvZiBfLmd6P249ZToobj1EYWEsZi0tKTtpZihuPy5vKXtlPWFbKytmXTtsPWE7dmFyIG09Zjt0eXBlb2YgZT09PSJmdW5jdGlvbiImJihlPWUoKSxsW21dPWUpO2w9ZX1lPWFbKytmXTttPWsrMTt0eXBlb2YgZT09PSJudW1iZXIiJiYKZTwwJiYobS09ZSxlPWFbKytmXSk7Zm9yKDtrPG07aysrKXtsZXQgcD1oW2tdO2w/YyhkLGssbixsLHApOmIoZCxrLG4scCl9fXJldHVybiBhW2R6XT1kfTtCYWE9ZnVuY3Rpb24oYSxiLGMpe2FbYl09Yy5qfTtDYWE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixoPWMuajthW2JdPShrLGwsbSk9PmgoayxsLG0sZnx8KGY9aHooZCkuT3EpLGV8fChlPWl6KGQpKSl9O2l6PWZ1bmN0aW9uKGEpe3ZhciBiPWFbanpdO2lmKCFiKXtsZXQgYz1oeihhKTtiPShkLGUpPT5reihkLGUsYyk7YVtqel09Yn1yZXR1cm4gYn07a3o9ZnVuY3Rpb24oYSxiLGMpe3hhYShhLGFbXy5BY118MCwoZCxlKT0+e2lmKGUhPW51bGwpe3ZhciBmPUVhYShjLGQpO2Y/ZihiLGUsZCk6ZDw1MDB8fF8ueGMoXy5rciwzKX19KTsoYT15YWEoYSkpJiZhLmN3KChkLGUsZik9PntfLll5KGIsYi5qLmVuZCgpKTtmb3IoZD0wO2Q8Zi5sZW5ndGg7ZCsrKV8uWXkoYixfLnd3KGZbZF0pfHxuZXcgVWludDhBcnJheSgwKSl9KX07CkVhYT1mdW5jdGlvbihhLGIpe3ZhciBjPWFbYl07aWYoYylyZXR1cm4gYztpZihjPWEuZXh0ZW5zaW9ucylpZihjPWNbYl0pe2M9QXJyYXkuaXNBcnJheShjKT9jWzBdaW5zdGFuY2VvZiBfLmd6P2M6W0ZhYSxjXTpbYyx2b2lkIDBdO3ZhciBkPWNbMF0uajtpZihjPWNbMV0pe2xldCBlPWl6KGMpLGY9aHooYykuT3E7Yz1hLlN4P2Z6KGYsZSk6KGgsayxsKT0+ZChoLGssbCxmLGUpfWVsc2UgYz1kO3JldHVybiBhW2JdPWN9fTtfLmx6PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9O18ubXo9ZnVuY3Rpb24oYSxiLGMpe2I9Xy5ReShiKTtiIT1udWxsJiYoXy5aeShhLGMsMCksYS5qLmoucHVzaChiPzE6MCkpfTtfLm56PWZ1bmN0aW9uKGEsYixjLGQsZSl7Yj1ieihiLGQpO2IhPW51bGwmJihjPSR5KGEsYyksZShiLGEpLGF6KGEsYykpfTtfLnB6PWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBfLm96KHRoaXMsYSl9fTsKXy5xej1mdW5jdGlvbigpe2lmKCFfLkxqLmlzRW5hYmxlZCgpKXJldHVybiExO2lmKCFfLkxqLmlzRW1wdHkoKSlyZXR1cm4hMDtfLkxqLnNldCgiVEVTVENPT0tJRVNFTkFCTEVEIiwiMSIse3ZqOjYwfSk7aWYoXy5Mai5nZXQoIlRFU1RDT09LSUVTRU5BQkxFRCIpIT09IjEiKXJldHVybiExO18uTGoucmVtb3ZlKCJURVNUQ09PS0lFU0VOQUJMRUQiKTtyZXR1cm4hMH07Xy5yej1mdW5jdGlvbigpe3JldHVybihfLmhyfHxfLmlyKSYmXy5NaygiYXBwbGV3ZWJraXQiKSYmIV8uTWsoInZlcnNpb24iKSYmKCFfLk1rKCJzYWZhcmkiKXx8Xy5NaygiZ3NhLyIpKX07Xy5zej1mdW5jdGlvbigpe3JldHVybiBfLk5kKCl8fF8ucnooKXx8Xy5lciYmXy5NaygidmVyc2lvbi8iKT8hMDpfLncoIkVPTV9WSVNJVE9SX0RBVEEiKT8hMTohMH07Cl8udXo9ZnVuY3Rpb24oYSxiLGMsZD0hMCl7dmFyIGU9Xy53KCJWQUxJRF9TRVNTSU9OX1RFTVBEQVRBX0RPTUFJTlMiLFtdKSxmPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2YmJmUucHVzaChmKTtmPV8uUGIoYSk7aWYoXy5zYihlLGYpPj0wfHwhZiYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTApaWYoZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksXy5MeShlLGEpLGE9ZS5ocmVmKWlmKGE9Xy5OeShhKSxhPV8uT3koYSkpZCYmIWIuY3NuJiYoYi5pdGN0fHxiLnZlZCkmJihiPU9iamVjdC5hc3NpZ24oe2NzbjpfLmlxKCl9LGIpKSxjPyhjPXBhcnNlSW50KGMsMTApLGlzRmluaXRlKGMpJiZjPjAmJnR6KGEsYixjKSk6dHooYSxiKX07dHo9ZnVuY3Rpb24oYSxiLGMpe2E9Xy52eihhKTtiPWI/Xy5VYihiKToiIjtjPWN8fDU7Xy5zeigpJiZfLk1qKGEsYixjKX07Xy52ej1mdW5jdGlvbihhKXtmb3IobGV0IGIgb2YgR2FhKWE9Xy5QeShhLGIpO3JldHVybiJTVC0iK18uTXkoYSkudG9TdHJpbmcoMzYpfTsKXy53ej17fTt3YWE9L1s/Jl0oJHwjKS87SGFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPVtdfWxlbmd0aCgpe3JldHVybiB0aGlzLmoubGVuZ3RofWVuZCgpe3ZhciBhPXRoaXMuajt0aGlzLmo9W107cmV0dXJuIGF9d3JpdGVVaW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfXdyaXRlSW50OChhKXt0aGlzLmoucHVzaChhPj4+MCYyNTUpfX07SWFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy52PVtdO3RoaXMubz0wO3RoaXMuaj1uZXcgSGFhfX07Xy5nej1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj1hO2E9Xy5HYShfLnpyKTt0aGlzLm89ISFhJiZiPT09YXx8ITF9fTtEYWE9bmV3IF8uZ3ooY3osXy56cik7RmFhPW5ldyBfLmd6KGN6LF8uenIpO2R6PVN5bWJvbCgpO2p6PVN5bWJvbCgpOwpfLm96PShhLGIpPT57dmFyIGM9bmV3IElhYTtreihhLkRhLGMsaHooYikpO18uWXkoYyxjLmouZW5kKCkpO2E9bmV3IFVpbnQ4QXJyYXkoYy5vKTtiPWMudjt2YXIgZD1iLmxlbmd0aCxlPTA7Zm9yKGxldCBmPTA7ZjxkO2YrKyl7bGV0IGg9YltmXTthLnNldChoLGUpO2UrPWgubGVuZ3RofWMudj1bYV07cmV0dXJuIGF9O18ueHo9Xy5seihfLm16LF8uQXIpOwpfLnl6PWZ1bmN0aW9uKGEsYixjPV8uenIpe3JldHVybiBuZXcgXy5neihiLGMpfShmdW5jdGlvbihhLGIsYyxkLGUpe2lmKGEuaigpIT09MilyZXR1cm4hMTt2YXIgZj1hLm87ZD1fLlhjKHZvaWQgMCxkWzBdLGRbMV0pO3ZhciBoPWJbXy5BY118MDtpZihoJjIpdGhyb3cgRXJyb3IoKTt2YXIgaz1oJjEyOD9fLnd6OnZvaWQgMCxsPV8uZGQoYixjLGspO2w9QXJyYXkuaXNBcnJheShsKT9sOl8ubXI7dmFyIG09bD09PV8ubXI/NzpsW18uQWNdfDAsbj1WeShtLGgpO2lmKDImbnx8Xy5UeShuKXx8MTYmbiluPT09bXx8Xy5UeShuKXx8KGxbXy5BY109biksbD1bLi4ubF0sbT0wLG49Xy5VeShuLGgpLF8ucHcoYixoLGMsbCxrKTtuJj0tMTM7biE9PW0mJihsW18uQWNdPW4pO2wucHVzaChkKTtmLmNhbGwoYSxkLGUpO3JldHVybiEwfSxmdW5jdGlvbihhLGIsYyxkLGUpe2lmKEFycmF5LmlzQXJyYXkoYikpe2ZvcihsZXQgZj0wO2Y8Yi5sZW5ndGg7ZisrKV8ubnooYSxiW2ZdLGMsZCxlKTsKYT1iW18uQWNdfDA7YSYxfHwoYltfLkFjXT1hfDEpfX0pO18ueno9bmV3IF8uSSgic2lnbmFsU2VydmljZUVuZHBvaW50Iik7Xy5Bej1uZXcgXy5JKCJwbGF5bGlzdEVkaXRFbmRwb2ludCIpO3ZhciBHYWE9ImFic29sdXRlX2V4cGVyaW1lbnRzIGFwcCBjb25kaXRpb25hbF9leHBlcmltZW50cyBkZWJ1Z2NzcyBkZWJ1Z2pzIGV4cGZsYWcgZm9yY2VkX2V4cGVyaW1lbnRzIHBiaiBwYmpyZWxvYWQgc2JiIHNwZiBzcGZyZWxvYWQgc3JfYm5zX2FkZHJlc3Mgc3R0aWNrIi5zcGxpdCgiICIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgRXosRnosQnosR3osSmFhO18uQ3o9ZnVuY3Rpb24oYSl7cmV0dXJuISEoKEJ6KGBmJHtNYXRoLmZsb29yKGEvMzEpKzF9YCl8fDApJjE8PGElMzEpfTtfLkR6PWZ1bmN0aW9uKGEsYil7dmFyIGM9YGYke01hdGguZmxvb3IoYS8zMSkrMX1gO2E9MTw8YSUzMTt2YXIgZD1CeihjKXx8MDtkPWI/ZHxhOmQmfmE7ZD09PTA/ZGVsZXRlIF8ueHNbY106Xy54c1tjXT1kLnRvU3RyaW5nKDE2KS50b1N0cmluZygpfTtFej1mdW5jdGlvbihhKXtpZigvXmYoWzEtOV1bMC05XSopJC8udGVzdChhKSl0aHJvdyBFcnJvcigiZmFgIithKTt9O0Z6PWZ1bmN0aW9uKGEpe2lmKCEvXlx3KyQvLnRlc3QoYSkpdGhyb3cgRXJyb3IoImdhYCIrYSk7fTtCej1mdW5jdGlvbihhKXthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGwmJi9eW0EtRmEtZjAtOV0rJC8udGVzdChhKT9wYXJzZUludChhLDE2KTpudWxsfTsKXy5Iej1mdW5jdGlvbigpe0d6fHwoR3o9bmV3IEphYSk7cmV0dXJuIEd6fTtfLkl6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT57aWYoXy5CcShhKSlyZXR1cm4hMTtfLkFxKGEsdm9pZCAwLHZvaWQgMCk7cmV0dXJuITB9KSgpfTsKSmFhPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5qPV8udygiQUxUX1BSRUZfQ09PS0lFX05BTUUiLCJQUkVGIik7dGhpcy5vPV8udygiQUxUX1BSRUZfQ09PS0lFX0RPTUFJTiIsInlvdXR1YmUuY29tIik7dmFyIGE9Xy5Mai5nZXQodGhpcy5qLHZvaWQgMCk7YSYmdGhpcy5wYXJzZShhKX1nZXQoYSxiKXtGeihhKTtFeihhKTthPV8ueHNbYV0hPT12b2lkIDA/Xy54c1thXS50b1N0cmluZygpOm51bGw7cmV0dXJuIGEhPW51bGw/YTpiP2I6IiJ9c2V0KGEsYil7RnooYSk7RXooYSk7aWYoYj09bnVsbCl0aHJvdyBFcnJvcigiZWEiKTtfLnhzW2FdPWIudG9TdHJpbmcoKX1yZW1vdmUoYSl7RnooYSk7RXooYSk7ZGVsZXRlIF8ueHNbYV19c2F2ZSgpe18uTWoodGhpcy5qLHRoaXMuZHVtcCgpLDYzMDcyRTMsdGhpcy5vLCEwKX1jbGVhcigpe2ZvcihsZXQgYSBpbiBfLnhzKWRlbGV0ZSBfLnhzW2FdfWR1bXAoKXt2YXIgYT1bXTtmb3IobGV0IGIgaW4gXy54cylfLnhzLmhhc093blByb3BlcnR5KGIpJiYKYS5wdXNoKGAke2J9PWArZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhfLnhzW2JdKSkpO3JldHVybiBhLmpvaW4oIiYiKX1wYXJzZShhKXthPWRlY29kZVVSSUNvbXBvbmVudChhKS5zcGxpdCgiJiIpO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgYj1hW2NdLnNwbGl0KCI9Iik7bGV0IGQ9YlswXTsoYj1iWzFdKSYmKF8ueHNbZF09Yi50b1N0cmluZygpKX19fTsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKdmFyIExhYSxLYWE7Xy5Kej1mdW5jdGlvbihhLGIpe2Eudi5zZXQoYi5qYSxiKTt2YXIgYz1hLmouZ2V0KGIuamEpO2lmKGMpdHJ5e2MuUWgoYS5yZXNvbHZlKGIuamEpKX1jYXRjaChkKXtjLlF6KGQpfX07Xy5Lej1mdW5jdGlvbihhLGI9Xy5hYil7cmV0dXJuIF8uYmIoYSxiKXx8Xy5GcX07Xy5Mej1mdW5jdGlvbigpe3JldHVybiBfLnUueXRQdWJzdWJQdWJzdWJJbnN0YW5jZX07Xy5Nej1mdW5jdGlvbihhLGIpe3ZhciBjPV8uTHooKTtpZihjJiZiKXtsZXQgZD1jLnN1YnNjcmliZShhLGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLGY9KCk9PntfLlJzW2RdJiZiLmFwcGx5JiZ0eXBlb2YgYi5hcHBseT09ImZ1bmN0aW9uIiYmYi5hcHBseSh3aW5kb3csZSl9O3RyeXtfLlRzW2FdP2YoKTpfLm1qKGYsMCl9Y2F0Y2goaCl7Xy5VaShoKX19LHZvaWQgMCk7Xy5Sc1tkXT0hMDtfLlNzW2FdfHwoXy5Tc1thXT1bXSk7Xy5Tc1thXS5wdXNoKGQpO3JldHVybiBkfXJldHVybiAwfTsKXy5Oej1mdW5jdGlvbihhKXt2YXIgYj1fLkx6KCk7YiYmKHR5cGVvZiBhPT09Im51bWJlciI/YT1bYV06dHlwZW9mIGE9PT0ic3RyaW5nIiYmKGE9W3BhcnNlSW50KGEsMTApXSksXy50YihhLGM9PntiLnVuc3Vic2NyaWJlQnlLZXkoYyk7ZGVsZXRlIF8uUnNbY119KSl9O18uT3o9ZnVuY3Rpb24oYSxiKXt2YXIgYz1fLkx6KCk7cmV0dXJuIGM/Yy5wdWJsaXNoLmFwcGx5KGMsYXJndW1lbnRzKTohMX07Xy5Qej1mdW5jdGlvbihhKXtyZXR1cm4gS2FhW2FdfHwiTEFURU5DWV9BQ1RJT05fVU5LTk9XTiJ9O0xhYT1mdW5jdGlvbigpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZT8uKCJtYXJrIik7YSYmYS5mb3JFYWNoKGI9PntiLm5hbWUuc3RhcnRzV2l0aCgibWFya18iKSYmXy5zcS5jbGVhck1hcmtzPy4oYi5uYW1lKX0pfTtfLlF6PWZ1bmN0aW9uKGEpe18ucmEoInl0Z2xvYmFsLnRpbWluZyIrKGF8fCIiKSsicmVhZHlfIiwhMCl9OwpfLlJ6PWZ1bmN0aW9uKGEpe3JldHVybiBfLlZpKCgpPT5fLkJxKCJfc3RhcnQiLGEpKSgpfTtfLlN6PWZ1bmN0aW9uKGEpe18uVmkoKCk9PntfLlJ6KGEpJiZfLkFxKCJhYSIsdm9pZCAwLGEpO3ZhciBiPWF8fCIiLGM9Xy50bygpO2NbYl0mJmRlbGV0ZSBjW2JdO3ZhciBkPXt0aW1lck5hbWU6YixpbmZvOnt9LHRpY2s6e30sc3Bhbjp7fSxqc3BiSW5mbzpbXX07Xy5zbyhkKTtjW2JdPWQ7Xy5qbyhhKTsoMCxfLmJ0KSgpO0xhYSgpO2F8fChfLncoIlRJTUlOR19BQ1RJT04iKSYmXy5RaSgiUFJFVklPVVNfQUNUSU9OIixfLncoIlRJTUlOR19BQ1RJT04iKSksXy5RaSgiVElNSU5HX0FDVElPTiIsIiIpKX0pKCl9OwpfLlR6PWZ1bmN0aW9uKGEsYj17fSxjLGQpe18uVmkoKCk9Pnt2YXIgZT1jP2M6YTtfLlN6KGUpO3ZhciBmPWIuc2FtcGxlUmF0ZTtpZighXy54KCJ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkIil8fGY9PT12b2lkIDB8fGY8PTEpZj0hMTtlbHNle3ZhciBoPV8ucG8oZSk7Zj1fLkduKGgpJWYhPT0wfWYmJihfLmtvKGUpLmFjdGlvbkRpc2FibGVkPSEwKTtfLnVvKGV8fCIiKS5pbmZvLmFjdGlvblR5cGU9YTtiLmN0dEF1dGhJbmZvJiYoXy5rbyhlKS5jdHRBdXRoSW5mbz1iLmN0dEF1dGhJbmZvKTtfLlFpKGUrIlRJTUlOR19BQ1RJT04iLGEpO18uVmkoXy5vcSkoYi5zdGFydFRpbWUsZSk7Zj17YWN0aW9uVHlwZTpkfHxfLlB6KGEpfTtiLlRKJiYoZi5wcmV2aW91c0FjdGlvbj1fLlB6KF8udygiVElNSU5HX0FDVElPTiIpKSk7KGg9Xy5pcSgpKSYmaCE9PSJVTkRFRklORURfQ1NOIiYmKGYuY2xpZW50U2NyZWVuTm9uY2U9aCk7Xy56cShmLGUpO18uUXooZSl9KSgpfTsKS2FhPXthdXRvX3NlYXJjaDoiTEFURU5DWV9BQ1RJT05fQVVUT19TRUFSQ0giLGFkX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9BRF9UT19BRCIsYWRfdG9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0FEX1RPX1ZJREVPIixhcHBfc3RhcnR1cDoiTEFURU5DWV9BQ1RJT05fQVBQX1NUQVJUVVAiLGJyb3dzZToiTEFURU5DWV9BQ1RJT05fQlJPV1NFIixjYXN0X3NwbGFzaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9TUExBU0giLGNhbGxfdG9fY2FzdDoiTEFURU5DWV9BQ1RJT05fQ0FMTF9UT19DQVNUIixjaGFubmVsX2FjdGl2aXR5OiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX0NIQU5ORUxfQUNUSVZJVFkiLGNoYW5uZWxzOiJMQVRFTkNZX0FDVElPTl9DSEFOTkVMUyIsY2hpcHM6IkxBVEVOQ1lfQUNUSU9OX0NISVBTIixjb21tZXJjZV90cmFuc2FjdGlvbjoiTEFURU5DWV9BQ1RJT05fQ09NTUVSQ0VfVFJBTlNBQ1RJT04iLGRpcmVjdF9wbGF5YmFjazoiTEFURU5DWV9BQ1RJT05fRElSRUNUX1BMQVlCQUNLIiwKZWRpdG9yOiJMQVRFTkNZX0FDVElPTl9FRElUT1IiLGVtYmVkOiJMQVRFTkNZX0FDVElPTl9FTUJFRCIsZW1iZWRfbm9fdmlkZW86IkxBVEVOQ1lfQUNUSU9OX0VNQkVEX05PX1ZJREVPIixlbnRpdHlfa2V5X3NlcmlhbGl6YXRpb25fcGVyZjoiTEFURU5DWV9BQ1RJT05fRU5USVRZX0tFWV9TRVJJQUxJWkFUSU9OX1BFUkYiLGVudGl0eV9rZXlfZGVzZXJpYWxpemF0aW9uX3BlcmY6IkxBVEVOQ1lfQUNUSU9OX0VOVElUWV9LRVlfREVTRVJJQUxJWkFUSU9OX1BFUkYiLGV4cGxvcmU6IkxBVEVOQ1lfQUNUSU9OX0VYUExPUkUiLGZhdm9yaXRlczoiTEFURU5DWV9BQ1RJT05fRkFWT1JJVEVTIixob21lOiJMQVRFTkNZX0FDVElPTl9IT01FIixpbmJvYXJkaW5nOiJMQVRFTkNZX0FDVElPTl9JTkJPQVJESU5HIixsYW5kaW5nOiJMQVRFTkNZX0FDVElPTl9MQU5ESU5HIixsZWFybmluZzoiTEFURU5DWV9BQ1RJT05fTEVBUk5JTkciLGxlYXJuaW5nX2pvdXJuZXlfYnJvd3NlOiJMQVRFTkNZX0FDVElPTl9MRUFSTklOR19KT1VSTkVZX0JST1dTRSIsCmxlYXJuaW5nX2pvdXJuZXlfd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX0xFQVJOSU5HX0pPVVJORVlfV0FUQ0giLGxpYnJhcnk6IkxBVEVOQ1lfQUNUSU9OX0xJQlJBUlkiLGxpdmU6IkxBVEVOQ1lfQUNUSU9OX0xJVkUiLGxpdmVfcGFnaW5hdGlvbjoiTEFURU5DWV9BQ1RJT05fTElWRV9QQUdJTkFUSU9OIixtYW5hZ2VtZW50OiJMQVRFTkNZX0FDVElPTl9NQU5BR0VNRU5UIixtaW5pX2FwcDoiTEFURU5DWV9BQ1RJT05fTUlOSV9BUFBfUExBWSIsbm90aWZpY2F0aW9uX3NldHRpbmdzOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX05PVElGSUNBVElPTl9TRVRUSU5HUyIsb25ib2FyZGluZzoiTEFURU5DWV9BQ1RJT05fT05CT0FSRElORyIscGFyZW50X3Byb2ZpbGVfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0tJRFNfUEFSRU5UX1BST0ZJTEVfU0VUVElOR1MiLHBhcmVudF90b29sc19jb2xsZWN0aW9uOiJMQVRFTkNZX0FDVElPTl9QQVJFTlRfVE9PTFNfQ09MTEVDVElPTiIscGFyZW50X3Rvb2xzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fUEFSRU5UX1RPT0xTX0RBU0hCT0FSRCIsCnBsYXllcl9hdHQ6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9BVFRFU1RBVElPTiIscHJlYnVmZmVyOiJMQVRFTkNZX0FDVElPTl9QUkVCVUZGRVIiLHByZWZldGNoOiJMQVRFTkNZX0FDVElPTl9QUkVGRVRDSCIscHJvZmlsZV9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fS0lEU19QUk9GSUxFX1NFVFRJTkdTIixwcm9maWxlX3N3aXRjaGVyOiJMQVRFTkNZX0FDVElPTl9MT0dJTiIscHJvamVjdHM6IkxBVEVOQ1lfQUNUSU9OX1BST0pFQ1RTIixyZWVsX3dhdGNoOiJMQVRFTkNZX0FDVElPTl9SRUVMX1dBVENIIixyZXN1bHRzOiJMQVRFTkNZX0FDVElPTl9SRVNVTFRTIixyZWQ6IkxBVEVOQ1lfQUNUSU9OX1BSRU1JVU1fUEFHRV9HRVRfQlJPV1NFIixwcmVtaXVtOiJMQVRFTkNZX0FDVElPTl9QUkVNSVVNX1BBR0VfR0VUX0JST1dTRSIscHJlbWl1bV9saXRlX3Vwc2VsbDoiTEFURU5DWV9BQ1RJT05fUFJFTUlVTV9MSVRFX1VQU0VMTCIscHJpdmFjeV9wb2xpY3k6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9QT0xJQ1kiLApyZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1JFVklFVyIsc2VhcmNoX292ZXJ2aWV3X2Fuc3dlcjoiTEFURU5DWV9BQ1RJT05fU0VBUkNIX09WRVJWSUVXX0FOU1dFUiIsc2VhcmNoX3VpOiJMQVRFTkNZX0FDVElPTl9TRUFSQ0hfVUkiLHNlYXJjaF9zdWdnZXN0OiJMQVRFTkNZX0FDVElPTl9TVUdHRVNUIixzZWFyY2hfemVyb19zdGF0ZToiTEFURU5DWV9BQ1RJT05fU0VBUkNIX1pFUk9fU1RBVEUiLHNlY3JldF9jb2RlOiJMQVRFTkNZX0FDVElPTl9LSURTX1NFQ1JFVF9DT0RFIixzd2l0Y2hwbGFuOiJMQVRFTkNZX0FDVElPTl9VTlBMVUdHRURfU1dJVENIX1BMQU4iLHNlZWs6IkxBVEVOQ1lfQUNUSU9OX1BMQVlFUl9TRUVLIixzZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fU0VUVElOR1MiLHN0b3JlOiJMQVRFTkNZX0FDVElPTl9TVE9SRSIsc3VwZXJ2aXNpb25fZGFzaGJvYXJkOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1NVUEVSVklTSU9OX0RBU0hCT0FSRCIsYmVkdGltZV9yZW1pbmRlcl9zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9CRURUSU1FX1JFTUlOREVSX1NFVFRJTkdTIiwKYnJlYWtfcmVtaW5kZXJfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfQlJFQUtfUkVNSU5ERVJfU0VUVElOR1MiLHN1cGVydmlzaW9uX3NldHRpbmdzX2Rhc2hib2FyZDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TVVBFUlZJU0lPTl9TRVRUSU5HU19EQVNIQk9BUkQiLHRpbWVfbWFuYWdlbWVudDoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9USU1FX01BTkFHRU1FTlQiLHVwZGF0ZV9wcm9maWxlOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1VQREFURV9QUk9GSUxFIix2aWV3aW5nX3Blcm1pc3Npb25zOiJMQVRFTkNZX0FDVElPTl9GQU1JTFlfQ0VOVEVSX1ZJRVdJTkdfUEVSTUlTU0lPTlMiLHNob3J0c19zZXR0aW5nczoiTEFURU5DWV9BQ1RJT05fRkFNSUxZX0NFTlRFUl9TSE9SVFNfU0VUVElOR1MiLHByaXZhY3lfc2V0dGluZ3M6IkxBVEVOQ1lfQUNUSU9OX0ZBTUlMWV9DRU5URVJfUFJJVkFDWV9TRVRUSU5HUyIsdGVueDoiTEFURU5DWV9BQ1RJT05fVEVOWCIsCnZpZGVvX3ByZXZpZXc6IkxBVEVOQ1lfQUNUSU9OX1ZJREVPX1BSRVZJRVciLHZpZGVvX3RvX2FkOiJMQVRFTkNZX0FDVElPTl9WSURFT19UT19BRCIsd2F0Y2g6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIix3YXRjaF9pdF9hZ2FpbjoiTEFURU5DWV9BQ1RJT05fS0lEU19XQVRDSF9JVF9BR0FJTiIsIndhdGNoLHdhdGNoNyI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3X2h0bWw1IjoiTEFURU5DWV9BQ1RJT05fV0FUQ0giLCJ3YXRjaCx3YXRjaDdhZCI6IkxBVEVOQ1lfQUNUSU9OX1dBVENIIiwid2F0Y2gsd2F0Y2g3YWRfaHRtbDUiOiJMQVRFTkNZX0FDVElPTl9XQVRDSCIsd25fY29tbWVudHM6IkxBVEVOQ1lfQUNUSU9OX0xPQURfQ09NTUVOVFMiLHd3X3JxczoiTEFURU5DWV9BQ1RJT05fV0hPX0lTX1dBVENISU5HIix2b2ljZV9hc3Npc3RhbnQ6IkxBVEVOQ1lfQUNUSU9OX1ZPSUNFX0FTU0lTVEFOVCIsY2FzdF9sb2FkX2J5X2VudGl0eV90b193YXRjaDoiTEFURU5DWV9BQ1RJT05fQ0FTVF9MT0FEX0JZX0VOVElUWV9UT19XQVRDSCIsCm5ldHdvcmtsZXNzX3BlcmZvcm1hbmNlOiJMQVRFTkNZX0FDVElPTl9ORVRXT1JLTEVTU19QRVJGT1JNQU5DRSIsZ2VsX2NvbXByZXNzaW9uOiJMQVRFTkNZX0FDVElPTl9HRUxfQ09NUFJFU1NJT04iLGdlbF9qc3BiX3NlcmlhbGl6ZToiTEFURU5DWV9BQ1RJT05fR0VMX0pTUEJfU0VSSUFMSVpFIixhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2g6IkxBVEVOQ1lfQUNUSU9OX0FUVEVTVEFUSU9OX0NIQUxMRU5HRV9GRVRDSCJ9O18uVXo9bmV3IF8uSSgiZmVlZGJhY2tFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLlZ6PWZ1bmN0aW9uKGEsYil7aWYoYiE9PW51bGwmJmIhPT12b2lkIDApe2lmKHR5cGVvZiBiIT09Im9iamVjdCImJnR5cGVvZiBiIT09ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJkIik7aWYoYz09PXZvaWQgMCl7aWYoIVN5bWJvbC5kaXNwb3NlKXRocm93IG5ldyBUeXBlRXJyb3IoImYiKTt2YXIgYz1iW1N5bWJvbC5kaXNwb3NlXX1pZih0eXBlb2YgYyE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiZyIpO2Euc3RhY2sucHVzaCh7dmFsdWU6YixkaXNwb3NlOmMsYXN5bmM6ITF9KX1yZXR1cm4gYn07Cl8uV3o9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihmKXthLmVycm9yPWEuaGFzRXJyb3I/bmV3IFN1cHByZXNzZWRFcnJvcihmLGEuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTpmO2EuaGFzRXJyb3I9ITB9ZnVuY3Rpb24gYygpe2Zvcig7ZD1hLnN0YWNrLnBvcCgpOyl0cnl7aWYoIWQuYXN5bmMmJmU9PT0xKXJldHVybiBlPTAsYS5zdGFjay5wdXNoKGQpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oYyk7aWYoZC5kaXNwb3NlKXt2YXIgZj1kLmRpc3Bvc2UuY2FsbChkLnZhbHVlKTtpZihkLmFzeW5jKXJldHVybiBlfD0yLFByb21pc2UucmVzb2x2ZShmKS50aGVuKGMsZnVuY3Rpb24oaCl7YihoKTtyZXR1cm4gYygpfSl9ZWxzZSBlfD0xfWNhdGNoKGgpe2IoaCl9aWYoZT09PTEpcmV0dXJuIGEuaGFzRXJyb3I/UHJvbWlzZS5yZWplY3QoYS5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKCk7aWYoYS5oYXNFcnJvcil0aHJvdyBhLmVycm9yO312YXIgZCwKZT0wO2MoKX07Xy5Yej1mdW5jdGlvbigpe3RyeXtyZXR1cm4hIXNlbGYubG9jYWxTdG9yYWdlfWNhdGNoe3JldHVybiExfX07Xy5Zej1uZXcgXy5JKCJzaGFyZUVuZHBvaW50Iik7Xy5aej1uZXcgXy5JKCJzaGFyZUVudGl0eUVuZHBvaW50Iik7Xy5NYWE9bmV3IF8uSSgic2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQiKTtfLk5hYT1uZXcgXy5JKCJ3ZWJQbGF5ZXJTaGFyZUVudGl0eVNlcnZpY2VFbmRwb2ludCIpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmFBPWZ1bmN0aW9uKGEsYj17fSxjKXthPShhPWEgaW4gXy4kej9fLiR6W2FdOmMpfHwiIjtmb3IobGV0IGQgaW4gYiljPSgpPT5TdHJpbmcoYltkXSksYT1hLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFwkXFx7IitkKyJcXH0iLCJnaSIpLGMpLGE9YS5yZXBsYWNlKG5ldyBSZWdFeHAoIlxcJCIrZCwiZ2kiKSxjKTtyZXR1cm4gYX07Xy4kej13aW5kb3cueXQmJndpbmRvdy55dC5tc2dzX3x8d2luZG93Lnl0Y2ZnJiZ3aW5kb3cueXRjZmcubXNnc3x8e307Xy5yYSgieXQubXNnc18iLF8uJHopOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewp2YXIgY0E7Xy5iQT1mdW5jdGlvbihhKXt2YXIgYj1hLmluZGV4T2YoIjoiKTtyZXR1cm4gYj09PS0xP3tNbTphfTp7TW06YS5zdWJzdHJpbmcoMCxiKSxkYXRhc3luY0lkOmEuc3Vic3RyaW5nKGIrMSl9fTtfLmVBPWFzeW5jIGZ1bmN0aW9uKCl7cmV0dXJuIGNBIT09dm9pZCAwP2NBOmNBPW5ldyBQcm9taXNlKGFzeW5jIGE9Pnt0cnl7YXdhaXQgXy5kQS5vcGVuKCJ0ZXN0LW9ubHkiKSxhd2FpdCBfLmRBLmRlbGV0ZSgidGVzdC1vbmx5Iil9Y2F0Y2goYil7aWYoYiBpbnN0YW5jZW9mIEVycm9yJiZiLm5hbWU9PT0iU2VjdXJpdHlFcnJvciIpe2EoITEpO3JldHVybn19YSgiY2FjaGVzImluIHdpbmRvdyl9KX07Xy5kQT1fLnUuY2FjaGVzOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KdHJ5ewpfLmdBPW5ldyBXZWFrTWFwO18uaEE9bmV3IFNldDsKfWNhdGNoKGUpe18uX0R1bXBFeGNlcHRpb24oZSl9CnRyeXsKXy5XZCgiYmFzZSIpOwp2YXIgQVosQlosQ1osY3JhLERaLGVyYSxFWixGWixIWixLWixMWixNWixmcmEsUFosUVosU1osZ3JhLFZaLGNfLGRfLGVfLGZfLGdfLGhfLGlfLGpfLGtfLGlyYSxqcmEsa3JhLGxyYSxucmEsbV8sbl8sb18scF8scV8scl8sc18sdF8sdV8sdl8sd18seF8scHJhLHlfLHpfLHFyYSxBXyxycmEsc3JhLHRyYSxCXyxDXyxEXyxGXyxHXyxIXyxJXyxKXyxLXyxMXyxNXyxPXyxQXyxRXyxSXyxTXyxocmEsdXJhLHZyYSxUXyxVXyxWXyxXXyxYXyxZXyx3cmEsJF8sYTAsYjAseHJhLGQwLHlyYSxlMCx6cmEsQnJhLENyYSxEcmEsZzAsRXJhLEZyYSxHcmEsaDAsaTAsbDAsSHJhLGswLGowLG4wLElyYSxKcmEsbzAsS3JhLHAwLHEwLHIwLExyYSxNcmEsTnJhLE9yYSxQcmEsUXJhLHQwLHYwLHcwLHgwLFNyYSxUcmEseTAsQTAsQjAsQzAsRDAsRTAsRzAsVXJhLFZyYSxIMCxXcmEsWHJhLFlyYSxJMCxKMCxTMCxUMCxQMCxVMCxMMCxRMCxLMCxPMCxNMCxOMCxacmEsUjAsJHJhLFYwLGFzYSxjc2EsClgwLFkwLFowLCQwLGExLGRzYSxiMSxjMSxlc2EsZnNhLGdzYSxkMSxmMSxoc2EsZzEsanNhLGtzYSxqMSxsc2EsazEsbDEsbTEsbXNhLHIxLHNzYSx1c2EsdjEseTEsdzEsdnNhLHhzYSxCMSxDMSxEMSx5c2EsRTEsRjEsQXNhLEJzYSx6c2EsQ3NhLEVzYSxGc2EsR3NhLHFzYSxvMSxuc2EsSTEsSHNhLEcxLElzYSxKc2EsSzEsTTEsTjEsS3NhLE8xLFAxLExzYSxSMSxPc2EsUHNhLFJzYSxRMSxVMSxXMSxUc2EsJDEsWDEsVXNhLFZzYSxXc2EsWHNhLGF0YSxidGEsZjIsJHNhLFpzYSxhMixlMixiMixjdGEsZzIsaDIsaTIsazIsbDIsZXRhLGZ0YSxndGEsbjIscDIsbzIsdDIsanRhLHIyLGl0YSx3Mix2MixtdGEsbnRhLG90YSxwdGEseDIseTIsejIsQTIsQzIsdXRhLHZ0YSxFMixGMix3dGEsRzIseXRhLFpfLEkyLEoyLEwyLHp0YSxOMixPMixQMixCdGEsUTIsRHRhLFMyLFQyLFUyLEV0YSxWMixXMixGdGEsR3RhLGEzLGIzLEl0YSxlMyxKdGEsZDMsZjMsS3RhLEx0YSxNdGEsYzMsSHRhLApoMyxOdGEsazMsT3RhLFB0YSxRdGEsbTMsbjMsbDMsUnRhLG8zLHAzLFN0YSxxMyxUdGEscjMsczMsdzMsVXRhLHgzLHkzLFZ0YSxZdGEsWnRhLEMzLEQzLEUzLCR0YSxidWEsY3VhLEczLGR1YSxldWEsWHRhLEgzLEkzLGZ1YSxndWEsYzQsZDQsZTQsaHVhLGY0LGl1YSxqdWEsWXNhLGh0YSxrdWEsbnVhLGc0LGk0LHB1YSxoNCxrNCxzdWEsdHVhLGw0LG00LHZ1YSx3dWEsbzQseHVhLHl1YSxxNCx6dWEsQXVhLEJ1YSxEdWEsR3VhLHY0LEp1YSx3NCxJdWEsSHVhLEt1YSx4NCx5NCx6NCxBNCxENCxDNCxCNCxFNCxNdWEsRjQsT3VhLFB1YSxRdWEsUnVhLFN1YSxUdWEsVXVhLEk0LEs0LFp1YSwkdWEsUTQsTTQsVnVhLFI0LFM0LGF2YSxidmEsY3ZhLGR2YSxkcmEsQTMsR1osSVosSlosTl8sTlosT1osUlosVFosVVosJFosYV8sYl8sWlosWVosV1osWFosbF8sRV8sb3JhLFY0LGV2YSxXNCxYNCxmdmEsWTQsWjQsZ3ZhLGh2YSxpdmEsanZhLGt2YSwkNCxsdmEsbXZhLGE1LG52YSxiNSwKYzUsb3ZhLHB2YTtBWj1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O0JaPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gXy5xdyhhLGIsQVooYykpfTtDWj1mdW5jdGlvbihhLGIsYyl7aWYoYyE9bnVsbCl7aWYoISgwLF8ud3IpKGMpKXRocm93IF8uSXcoImVudW0iKTtjfD0wfXJldHVybiBfLnF3KGEsYixjKX07Y3JhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO2ZvcihsZXQgYz0wO2M8YS5sZW5ndGg7YysrKWIucHVzaChhLmNoYXJDb2RlQXQoYykpO3JldHVybiBifTtEWj1mdW5jdGlvbihhLGIpe3JldHVybiBhW2JdKyhhW2IrMV08PDgpKyhhW2IrMl08PDE2KSsoYVtiKzNdPDwyNCl9OwplcmE9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2MtPWQ7Yy09ZTtjXj1lPj4+MTM7ZC09ZTtkLT1jO2RePWM8PDg7ZS09YztlLT1kO2VePWQ+Pj4xMztjLT1kO2MtPWU7Y149ZT4+PjEyO2QtPWU7ZC09YztkXj1jPDwxNjtlLT1jO2UtPWQ7ZV49ZD4+PjU7Yy09ZDtjLT1lO2NePWU+Pj4zO2QtPWU7ZC09YztkXj1jPDwxMDtlLT1jO2UtPWQ7ZV49ZD4+PjE1fWE9Y3JhKGEpO2Zvcih2YXIgYz0yNjU0NDM1NzY5LGQ9MjY1NDQzNTc2OSxlPTMxNDE1OTI2NSxmPWEubGVuZ3RoLGg9ZixrPTA7aD49MTI7aC09MTIsays9MTIpYys9RFooYSxrKSxkKz1EWihhLGsrNCksZSs9RFooYSxrKzgpLGIoKTtlKz1mO3N3aXRjaChoKXtjYXNlIDExOmUrPWFbaysxMF08PDI0O2Nhc2UgMTA6ZSs9YVtrKzldPDwxNjtjYXNlIDk6ZSs9YVtrKzhdPDw4O2Nhc2UgODpkKz1hW2srN108PDI0O2Nhc2UgNzpkKz1hW2srNl08PDE2O2Nhc2UgNjpkKz1hW2srNV08PDg7Y2FzZSA1OmQrPWFbays0XTtjYXNlIDQ6Yys9CmFbayszXTw8MjQ7Y2FzZSAzOmMrPWFbaysyXTw8MTY7Y2FzZSAyOmMrPWFbaysxXTw8ODtjYXNlIDE6Yys9YVtrXX1iKCk7cmV0dXJuIGRyYS50b1N0cmluZyhlKX07RVo9ZnVuY3Rpb24oYSxiKXthLmFkZE9uRGlzcG9zZUNhbGxiYWNrKF8uRGEoXy5aZCxiKSl9O0ZaPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVWludDhBcnJheShfLnd3KGEpfHwwKX07SFo9ZnVuY3Rpb24oYSl7cmV0dXJuKEdafHwoR1o9bmV3IFRleHRFbmNvZGVyKSkuZW5jb2RlKGEpfTtLWj1mdW5jdGlvbihhKXt2YXIgYj1hPj4+MDtJWj1iO0paPShhLWIpLzQyOTQ5NjcyOTY+Pj4wfTtMWj1mdW5jdGlvbihhKXtpZihhPDApe0taKC1hKTthPUlaO3ZhciBiPUpaO2I9fmI7YT9hPX5hKzE6Yis9MTtsZXQgW2MsZF09W2EsYl07SVo9Yz4+PjA7Slo9ZD4+PjB9ZWxzZSBLWihhKX07Ck1aPWZ1bmN0aW9uKGEpe2EubGVuZ3RoPDE2P0xaKE51bWJlcihhKSk6KGE9QmlnSW50KGEpLElaPU51bWJlcihhJkJpZ0ludCg0Mjk0OTY3Mjk1KSk+Pj4wLEpaPU51bWJlcihhPj5CaWdJbnQoMzIpJkJpZ0ludCg0Mjk0OTY3Mjk1KSkpfTsKZnJhPWZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJuIG5ldyBOWihfLnV3KGEpLCEwKTtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBuZXcgTloobmV3IFVpbnQ4QXJyYXkoYSksITApO2lmKGEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5KXJldHVybiBuZXcgTlooYSwhMSk7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5QnVmZmVyKXJldHVybiBhPW5ldyBVaW50OEFycmF5KGEpLG5ldyBOWihhLCExKTtpZihhLmNvbnN0cnVjdG9yPT09Xy5SYyl7bGV0IGI9Xy53dyhhKXx8bmV3IFVpbnQ4QXJyYXkoMCk7cmV0dXJuIG5ldyBOWihiLCEwLGEpfWlmKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KXJldHVybiBhPWEuY29uc3RydWN0b3I9PT1VaW50OEFycmF5P2E6bmV3IFVpbnQ4QXJyYXkoYS5idWZmZXIsYS5ieXRlT2Zmc2V0LGEuYnl0ZUxlbmd0aCksbmV3IE5aKGEsITEpO3Rocm93IEVycm9yKCk7fTsKUFo9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubz09PTA/bmV3IE9aKDAsMSt+YS5qKTpuZXcgT1oofmEubysxLH5hLmopfTtRWj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IE9aKGEmNDI5NDk2NzI5NSxNYXRoLmZsb29yKGEvNDI5NDk2NzI5NikpfTtTWj1mdW5jdGlvbihhKXtpZighYSlyZXR1cm4gUlp8fChSWj1uZXcgT1ooMCwwKSk7aWYoIS9eXGQrJC8udGVzdChhKSlyZXR1cm4gbnVsbDtNWihhKTtyZXR1cm4gbmV3IE9aKElaLEpaKX07Z3JhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgVFooYSY0Mjk0OTY3Mjk1LE1hdGguZmxvb3IoYS80Mjk0OTY3Mjk2KSl9O1ZaPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBVWnx8KFVaPW5ldyBUWigwLDApKTtpZighL14tP1xkKyQvLnRlc3QoYSkpcmV0dXJuIG51bGw7TVooYSk7cmV0dXJuIG5ldyBUWihJWixKWil9OwpjXz1mdW5jdGlvbihhLGIsYyl7aWYodHlwZW9mIEJpZ0ludDY0QXJyYXkhPT0idW5kZWZpbmVkIilyZXR1cm4gV1p8fChXWj1uZXcgQmlnSW50NjRBcnJheSgxKSxYWj1uZXcgVWludDMyQXJyYXkoV1ouYnVmZmVyKSxXWlswXT1CaWdJbnQoMSksWVo9WFpbMF09PT0xKSxXWlswXT1hLGE9WVo/MDoxLG5ldyBiKFhaW2FdLFhaWzEtYV0pO1pafHwoJFo9QmlnSW50KE51bWJlci5NSU5fU0FGRV9JTlRFR0VSKSxhXz1CaWdJbnQoTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLGJfPUJpZ0ludCg0Mjk0OTY3Mjk1KSxaWj1CaWdJbnQoMzIpKTtpZihhPj0kWiYmYTw9YV8pcmV0dXJuIGMoTnVtYmVyKGEpKTthPUJpZ0ludC5hc1VpbnROKDY0LGEpO3JldHVybiBuZXcgYihOdW1iZXIoYSZiXyksTnVtYmVyKGE+PlpaKSl9O2RfPWZ1bmN0aW9uKGEsYixjKXtmb3IoO2M+MHx8Yj4xMjc7KWEuai5wdXNoKGImMTI3fDEyOCksYj0oYj4+Pjd8Yzw8MjUpPj4+MCxjPj4+PTc7YS5qLnB1c2goYil9OwplXz1mdW5jdGlvbihhLGIpe2Euai5wdXNoKGI+Pj4wJjI1NSk7YS5qLnB1c2goYj4+PjgmMjU1KTthLmoucHVzaChiPj4+MTYmMjU1KTthLmoucHVzaChiPj4+MjQmMjU1KX07Zl89ZnVuY3Rpb24oYSxiKXtpZihiPj0wKV8uWHkoYSxiKTtlbHNle2ZvcihsZXQgYz0wO2M8OTtjKyspYS5qLnB1c2goYiYxMjd8MTI4KSxiPj49NzthLmoucHVzaCgxKX19O2dfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjpTWihhKX19O2hfPWZ1bmN0aW9uKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSAic3RyaW5nIjphLmxlbmd0aCYmYVswXT09PSItIj9TWihhLnN1YnN0cmluZygxKSk6U1ooYSl9fTsKaV89ZnVuY3Rpb24oYSxiLGMpe2lmKGMhPW51bGwpc3dpdGNoKGdfKGMpLF8uWnkoYSxiLDEpLHR5cGVvZiBjKXtjYXNlICJudW1iZXIiOmE9YS5qO0taKGMpO2VfKGEsSVopO2VfKGEsSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhjLE9aLFFaKTthPWEuajtiPWMuajtlXyhhLGMubyk7ZV8oYSxiKTticmVhaztkZWZhdWx0OmM9U1ooYyksYT1hLmosYj1jLmosZV8oYSxjLm8pLGVfKGEsYil9fTtqXz1mdW5jdGlvbihhLGIsYyl7YyE9bnVsbCYmKGM9cGFyc2VJbnQoYywxMCksXy5aeShhLGIsMCksZl8oYS5qLGMpKX07a189ZnVuY3Rpb24oYSxiLGMpe18uWnkoYSxiLDIpO18uWHkoYS5qLGMubGVuZ3RoKTtfLll5KGEsYS5qLmVuZCgpKTtfLll5KGEsYyl9OwppcmE9ZnVuY3Rpb24oYSl7dmFyIGI9InRydWUiLnRvU3RyaW5nKCksYz1baHJhYGRhdGEtYF07aWYoYy5sZW5ndGg9PT0wKXRocm93IEVycm9yKCJoIik7aWYoYy5tYXAoZD0+e2lmKGQgaW5zdGFuY2VvZiBsXylkPWQuajtlbHNlIHRocm93IEVycm9yKCJoIik7cmV0dXJuIGR9KS5ldmVyeShkPT4iZGF0YS1sb2FkZWQiLmluZGV4T2YoZCkhPT0wKSl0aHJvdyBFcnJvcigiaWBkYXRhLWxvYWRlZCIpO2Euc2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIsYil9O2pyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYSxiLHZvaWQgMCl9O2tyYT1mdW5jdGlvbihhLGIpe3JldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYSxiLHtkdXJhdGlvbjowfSl9O2xyYT1mdW5jdGlvbihhLGIpe3JldHVybiBhPmI/MTphPGI/LTE6MH07Cm5yYT1mdW5jdGlvbigpe3ZhciBhPW1yYTtyZXR1cm4gXy5DYyhiPT57Zm9yKGxldCBjIGluIGEpaWYoYj09PWFbY10mJiEvXlswLTldKyQvLnRlc3QoYykpcmV0dXJuITA7cmV0dXJuITF9KX07bV89ZnVuY3Rpb24oYSxiKXtiPj4+PTA7YT4+Pj0wO3ZhciBjO2I8PTIwOTcxNTE/Yz0iIisoNDI5NDk2NzI5NipiK2EpOmM9IiIrKEJpZ0ludChiKTw8QmlnSW50KDMyKXxCaWdJbnQoYSkpO3JldHVybiBjfTtuXz1mdW5jdGlvbihhLGIpe3ZhciBjPWIqNDI5NDk2NzI5NisoYT4+PjApO3JldHVybiBOdW1iZXIuaXNTYWZlSW50ZWdlcihjKT9jOm1fKGEsYil9O29fPWZ1bmN0aW9uKCl7dmFyIGE9SVosYj1KWixjO2ImMjE0NzQ4MzY0OD9jPSIiKyhCaWdJbnQoYnwwKTw8QmlnSW50KDMyKXxCaWdJbnQoYT4+PjApKTpjPW1fKGEsYik7cmV0dXJuIGN9OwpwXz1mdW5jdGlvbihhKXtpZihhIT1udWxsJiZ0eXBlb2YgYSE9PSJudW1iZXIiKXRocm93IEVycm9yKCJxYCIrdHlwZW9mIGErImAiK2EpO3JldHVybiBhfTtxXz1mdW5jdGlvbihhKXtpZihhPT1udWxsfHx0eXBlb2YgYT09PSJudW1iZXIiKXJldHVybiBhO2lmKGE9PT0iTmFOInx8YT09PSJJbmZpbml0eSJ8fGE9PT0iLUluZmluaXR5IilyZXR1cm4gTnVtYmVyKGEpfTtyXz1mdW5jdGlvbihhKXtzd2l0Y2godHlwZW9mIGEpe2Nhc2UgImJpZ2ludCI6cmV0dXJuITA7Y2FzZSAibnVtYmVyIjpyZXR1cm4oMCxfLndyKShhKTtjYXNlICJzdHJpbmciOnJldHVybiBvcmEudGVzdChhKTtkZWZhdWx0OnJldHVybiExfX07c189ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTtpZih0eXBlb2YgYT09PSJzdHJpbmciJiZhKWE9K2E7ZWxzZSBpZih0eXBlb2YgYSE9PSJudW1iZXIiKXJldHVybjtyZXR1cm4oMCxfLndyKShhKT9hPj4+MDp2b2lkIDB9Owp0Xz1mdW5jdGlvbihhKXt2YXIgYj0oMCxfLnhyKShOdW1iZXIoYSkpO2lmKCgwLF8udnIpKGIpKXJldHVybiBfLkZjKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxCaWdJbnQoYSkpKX07dV89ZnVuY3Rpb24oYSl7dmFyIGI9KDAsXy54cikoTnVtYmVyKGEpKTtpZigoMCxfLnZyKShiKSlyZXR1cm4gU3RyaW5nKGIpO2I9YS5pbmRleE9mKCIuIik7YiE9PS0xJiYoYT1hLnN1YnN0cmluZygwLGIpKTtiPWEubGVuZ3RoOyhhWzBdPT09Ii0iP2I8MjB8fGI9PT0yMCYmYTw9Ii05MjIzMzcyMDM2ODU0Nzc1ODA4IjpiPDE5fHxiPT09MTkmJmE8PSI5MjIzMzcyMDM2ODU0Nzc1ODA3Iil8fChNWihhKSxhPW9fKCkpO3JldHVybiBhfTsKdl89ZnVuY3Rpb24oYSl7YT0oMCxfLnhyKShhKTtpZighKDAsXy52cikoYSkpe0xaKGEpO3ZhciBiPUlaLGM9Slo7aWYoYT1jJjIxNDc0ODM2NDgpYj1+YisxPj4+MCxjPX5jPj4+MCxiPT0wJiYoYz1jKzE+Pj4wKTtiPW5fKGIsYyk7YT10eXBlb2YgYj09PSJudW1iZXIiP2E/LWI6YjphPyItIitiOmJ9cmV0dXJuIGF9O3dfPWZ1bmN0aW9uKGEpe2E9KDAsXy54cikoYSk7KDAsXy52cikoYSk/YT1TdHJpbmcoYSk6KExaKGEpLGE9b18oKSk7cmV0dXJuIGF9O3hfPWZ1bmN0aW9uKGEpe3JldHVybigwLF8udnIpKGEpP18uRmModl8oYSkpOl8uRmMod18oYSkpfTsKcHJhPWZ1bmN0aW9uKGEpe3ZhciBiPXZvaWQgMDtiPTEwMjQ7aWYoIXJfKGEpKXRocm93IF8uSXcoImludDY0Iik7dmFyIGM9dHlwZW9mIGE7c3dpdGNoKGIpe2Nhc2UgNTEyOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2RlZmF1bHQ6cmV0dXJuIHdfKGEpfWNhc2UgMTAyNDpzd2l0Y2goYyl7Y2FzZSAic3RyaW5nIjpyZXR1cm4gdF8oYSk7Y2FzZSAiYmlnaW50IjpyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7ZGVmYXVsdDpyZXR1cm4geF8oYSl9Y2FzZSAwOnN3aXRjaChjKXtjYXNlICJzdHJpbmciOnJldHVybiB1XyhhKTtjYXNlICJiaWdpbnQiOnJldHVybiBfLkZjKCgwLF8udHIpKDY0LGEpKTtkZWZhdWx0OnJldHVybiB2XyhhKX1kZWZhdWx0OnJldHVybiBfLmViKGIsIlVua25vd24gZm9ybWF0IHJlcXVlc3RlZCB0eXBlIGZvciBpbnQ2NCIpfX07CnlfPWZ1bmN0aW9uKGEpe3JldHVybiBhPT1udWxsP2E6cHJhKGEpfTt6Xz1mdW5jdGlvbihhKXt2YXIgYj10eXBlb2YgYTtpZihhPT1udWxsKXJldHVybiBhO2lmKGI9PT0iYmlnaW50IilyZXR1cm4gXy5GYygoMCxfLnRyKSg2NCxhKSk7aWYocl8oYSkpcmV0dXJuIGI9PT0ic3RyaW5nIj90XyhhKTp4XyhhKX07cXJhPWZ1bmN0aW9uKGEpe2lmKGE9PW51bGwpcmV0dXJuIGE7dmFyIGI9dHlwZW9mIGE7aWYoYj09PSJiaWdpbnQiKXJldHVybiBTdHJpbmcoKDAsXy50cikoNjQsYSkpO2lmKHJfKGEpKXtpZihiPT09InN0cmluZyIpcmV0dXJuIHVfKGEpO2lmKGI9PT0ibnVtYmVyIilyZXR1cm4gdl8oYSl9fTsKQV89ZnVuY3Rpb24oYSl7aWYoYT09bnVsbClyZXR1cm4gYTt2YXIgYj10eXBlb2YgYTtpZihiPT09ImJpZ2ludCIpcmV0dXJuIFN0cmluZygoMCxfLnVyKSg2NCxhKSk7aWYocl8oYSkpe2lmKGI9PT0ic3RyaW5nIilyZXR1cm4gYj0oMCxfLnhyKShOdW1iZXIoYSkpLCgwLF8udnIpKGIpJiZiPj0wP2E9U3RyaW5nKGIpOihiPWEuaW5kZXhPZigiLiIpLGIhPT0tMSYmKGE9YS5zdWJzdHJpbmcoMCxiKSksYVswXT09PSItIj9iPSExOihiPWEubGVuZ3RoLGI9YjwyMD8hMDpiPT09MjAmJmE8PSIxODQ0Njc0NDA3MzcwOTU1MTYxNSIpLGJ8fChNWihhKSxhPW1fKElaLEpaKSkpLGE7aWYoYj09PSJudW1iZXIiKXJldHVybiBhPSgwLF8ueHIpKGEpLGE+PTAmJigwLF8udnIpKGEpfHwoTFooYSksYT1uXyhJWixKWikpLGF9fTtycmE9ZnVuY3Rpb24oYSl7aWYoYT09bnVsbHx8dHlwZW9mIGE9PSJzdHJpbmcifHxhIGluc3RhbmNlb2YgXy5SYylyZXR1cm4gYX07CnNyYT1mdW5jdGlvbihhKXtpZih0eXBlb2YgYSE9PSJzdHJpbmciKXRocm93IEVycm9yKCk7cmV0dXJuIGF9O3RyYT1mdW5jdGlvbihhKXtyZXR1cm4gXy5OdyhhLCEwKX07Ql89ZnVuY3Rpb24oYSl7YT1fLmVkKGEsMSx2b2lkIDAsdm9pZCAwLHRyYSk7cmV0dXJuIGE9PW51bGw/Xy5NdygpOmF9OwpDXz1mdW5jdGlvbihhLGIsYyl7Xy5udyhhKTt2YXIgZD1hLkRhLGU9ZFtfLkFjXXwwO2lmKGI9PW51bGwpcmV0dXJuIF8ucHcoZCxlLDMpLGE7dmFyIGY9Yj09PV8ubXI/NzpiW18uQWNdfDAsaD1mLGs9Xy5UeShmKSxsPWt8fE9iamVjdC5pc0Zyb3plbihiKTtrfHwoZj0wKTtsfHwoYj1bLi4uYl0saD0wLGY9Xy5VeShmLGUpLGw9ITEpO2Z8PTU7az0oNCZmPzUxMiZmPzUxMjoxMDI0JmY/MTAyNDowOnZvaWQgMCk/PzEwMjQ7Znw9aztmb3IobGV0IG09MDttPGIubGVuZ3RoO20rKyl7bGV0IG49YlttXSxwPWMobixrKTtPYmplY3QuaXMobixwKXx8KGwmJihiPVsuLi5iXSxoPTAsZj1fLlV5KGYsZSksbD0hMSksYlttXT1wKX1mIT09aCYmKGwmJihiPVsuLi5iXSxmPV8uVXkoZixlKSksYltfLkFjXT1mKTtfLnB3KGQsZSwzLGIpO3JldHVybiBhfTsKRF89ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9YS5nZXQoZCk7aWYoZSE9bnVsbClyZXR1cm4gZTtlPTA7Zm9yKGxldCBmPTA7ZjxkLmxlbmd0aDtmKyspe2xldCBoPWRbZl07Xy5kZChiLGgpIT1udWxsJiYoZSE9PTAmJihjPV8ucHcoYixjLGUpKSxlPWgpfWEuc2V0KGQsZSk7cmV0dXJuIGV9O0ZfPWZ1bmN0aW9uKGEsYixjLGQpe18ubncoYSk7YT1hLkRhO3ZhciBlPWFbXy5BY118MDtpZihkPT1udWxsKXt2YXIgZj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2lmKERfKGYsYSxlLGMpPT09YilmLnNldChjLDApO2Vsc2UgcmV0dXJufWVsc2V7Zj1hW0VfXT8/KGFbRV9dPW5ldyBNYXApO2xldCBoPURfKGYsYSxlLGMpO2ghPT1iJiYoaCYmKGU9Xy5wdyhhLGUsaCkpLGYuc2V0KGMsYikpfV8ucHcoYSxlLGIsZCl9O0dfPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLkRhO3JldHVybiBfLld5KGEsZCxkW18uQWNdfDAsYixjLHZvaWQgMD09PV8ub3I/Mjo0LCExLCEwKX07CkhfPWZ1bmN0aW9uKGEsYixjKXtfLm53KGEpO3ZhciBkPWEuRGEsZT1kW18uQWNdfDA7aWYoYz09bnVsbClyZXR1cm4gXy5wdyhkLGUsYiksYTt2YXIgZj1jPT09Xy5tcj83OmNbXy5BY118MCxoPWYsaz1fLlR5KGYpLGw9a3x8T2JqZWN0LmlzRnJvemVuKGMpLG09ITAsbj0hMDtmb3IobGV0IHI9MDtyPGMubGVuZ3RoO3IrKyl7dmFyIHA9Y1tyXTtrfHwocD1fLkJjKHApLG0mJihtPSFwKSxuJiYobj1wKSl9a3x8KGY9bT8xMzo1LGY9bj9mJi00MDk3OmZ8NDA5Nik7bCYmZj09PWh8fChjPVsuLi5jXSxoPTAsZj1fLlV5KGYsZSkpO2YhPT1oJiYoY1tfLkFjXT1mKTtlPV8ucHcoZCxlLGIsYyk7MiZmfHwhKDQwOTYmZnx8MTYmZil8fF8ub3coZCxlKTtyZXR1cm4gYX07SV89ZnVuY3Rpb24oYSxiLGM9Xy55cil7cmV0dXJuIF8uZWQoYSxiLHZvaWQgMCx2b2lkIDAsel8pPz9jfTtKXz1mdW5jdGlvbihhLGIsYz0iIixkKXtyZXR1cm4gXy5YdChfLmVkKGEsYixkKSk/P2N9OwpLXz1mdW5jdGlvbihhKXthPV8uZWQoYSwxKTtyZXR1cm4oYT09bnVsbD9hOigwLF8ud3IpKGEpP2F8MDp2b2lkIDApPz8wfTtMXz1mdW5jdGlvbihhLGIsYyl7aWYoQXJyYXkuaXNBcnJheShiKSl7dmFyIGQ9YltfLkFjXXwwO2lmKGQmNClyZXR1cm4gYjtmb3IodmFyIGU9MCxmPTA7ZTxiLmxlbmd0aDtlKyspe2xldCBoPWEoYltlXSk7aCE9bnVsbCYmKGJbZisrXT1oKX1mPGUmJihiLmxlbmd0aD1mKTthPWR8MTtjJiYoYT0oYXw0KSYtMTUzNyk7YSE9PWQmJihiW18uQWNdPWEpO2MmJmEmMiYmT2JqZWN0LmZyZWV6ZShiKTtyZXR1cm4gYn19O01fPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBfLmd6KGEsYil9OwpPXz1mdW5jdGlvbihhLGIsYyl7Yj1xXyhiKTtiIT1udWxsJiYoXy5aeShhLGMsMSksYT1hLmosYz1OX3x8KE5fPW5ldyBEYXRhVmlldyhuZXcgQXJyYXlCdWZmZXIoOCkpKSxjLnNldEZsb2F0NjQoMCwrYiwhMCksSVo9Yy5nZXRVaW50MzIoMCwhMCksSlo9Yy5nZXRVaW50MzIoNCwhMCksZV8oYSxJWiksZV8oYSxKWikpfTtQXz1mdW5jdGlvbihhLGIsYyl7Yj1xcmEoYik7aWYoYiE9bnVsbCl7c3dpdGNoKHR5cGVvZiBiKXtjYXNlICJzdHJpbmciOlZaKGIpfWlmKGIhPW51bGwpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLFRaLGdyYSk7ZF8oYS5qLGMubyxjLmopO2JyZWFrO2RlZmF1bHQ6Yz1WWihiKSxkXyhhLmosYy5vLGMuail9fX07UV89ZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksZl8oYS5qLGIpKX07ClJfPWZ1bmN0aW9uKGEsYixjKXtiPV8uWHQoYik7YiE9bnVsbCYma18oYSxjLEhaKGIpKX07U189ZnVuY3Rpb24oYSl7cmV0dXJuIGI9Pl8uWHgoYSxiKX07aHJhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgbF8oYVswXS50b0xvd2VyQ2FzZSgpKX07Xy5lVj1mdW5jdGlvbihhLGIpe3RoaXMueD1hIT09dm9pZCAwP2E6MDt0aGlzLnk9YiE9PXZvaWQgMD9iOjB9O3VyYT1mdW5jdGlvbihhKXtmb3IobGV0IGIgaW4gXy5zcylpZihhLmNhbGwodm9pZCAwLF8uc3NbYl0sYixfLnNzKSlyZXR1cm4gYn07dnJhPWZ1bmN0aW9uKGEsYil7aWYoYSE9PW51bGwmJmIgaW4gYSl0aHJvdyBFcnJvcigiQWAiK2IpO2FbYl09ITB9O1RfPWZ1bmN0aW9uKGEpe3JldHVybiBhIT09bnVsbCYmInByaXZlbWJlZCJpbiBhP2EucHJpdmVtYmVkOiExfTtVXz1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgaW4gYSliW2NdPWFbY107cmV0dXJuIGJ9OwpWXz1mdW5jdGlvbihhKXt2YXIgYj1kb2N1bWVudDtyZXR1cm4gdHlwZW9mIGE9PT0ic3RyaW5nIj9iLmdldEVsZW1lbnRCeUlkKGEpOmF9O1dfPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYjtiPWEuZmlyc3RDaGlsZDspYS5yZW1vdmVDaGlsZChiKX07WF89ZnVuY3Rpb24oYSl7dHlwZW9mIGE9PSJudW1iZXIiJiYoYT1NYXRoLnJvdW5kKGEpKyJweCIpO3JldHVybiBhfTtZXz1mdW5jdGlvbihhKXtyZXR1cm4gYT8oYT1hLnByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVNhZmVTY3JpcHRXcmFwcGVkVmFsdWUpP18ua2IoYSk6bnVsbDpudWxsfTt3cmE9ZnVuY3Rpb24oKXt2YXIgYT1aXztfLnNhKCJ5dC5hZHMuYmlzY290dGkuZ2V0SWRfIil8fF8ucmEoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iLGEpfTskXz1mdW5jdGlvbihhKXtfLnJhKCJ5dC5hZHMuYmlzY290dGkubGFzdElkXyIsYSl9OwphMD1mdW5jdGlvbihhKXtyZXR1cm4gYS5pbmRleE9mKCI/IikhPT0tMT8oYT0oYXx8IiIpLnNwbGl0KCIjIilbMF0sYT1hLnNwbGl0KCI/IiwyKSxfLmJqKGEubGVuZ3RoPjE/YVsxXTphWzBdKSk6e319O2IwPWZ1bmN0aW9uKGEpe2lmKGRvY3VtZW50LmJvZHkmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCl7bGV0IGI9ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ArZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDthLmo9YS5jbGllbnRYKyhkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQrZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQpO2Eubz1hLmNsaWVudFkrYn19Owp4cmE9ZnVuY3Rpb24oYSxiLGMsZD17fSl7YS5hZGRFdmVudExpc3RlbmVyJiYoYiE9Im1vdXNlZW50ZXIifHwib25tb3VzZWVudGVyImluIGRvY3VtZW50P2IhPSJtb3VzZWxlYXZlInx8Im9ubW91c2VlbnRlciJpbiBkb2N1bWVudD9iPT0ibW91c2V3aGVlbCImJiJNb3pCb3hTaXppbmciaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiYoYj0iTW96TW91c2VQaXhlbFNjcm9sbCIpOmI9Im1vdXNlb3V0IjpiPSJtb3VzZW92ZXIiKTtyZXR1cm4gdXJhKGU9Pnt2YXIgZj10eXBlb2YgZVs0XT09PSJib29sZWFuIiYmZVs0XT09ISFkLGg7aWYoaD1fLkFhKGVbNF0pJiZfLkFhKGQpKWE6e2g9ZVs0XTtmb3IobGV0IGsgaW4gaClpZighKGsgaW4gZCl8fGhba10hPT1kW2tdKXtoPSExO2JyZWFrIGF9Zm9yKGxldCBrIGluIGQpaWYoIShrIGluIGgpKXtoPSExO2JyZWFrIGF9aD0hMH1yZXR1cm4hIWUubGVuZ3RoJiZlWzBdPT1hJiZlWzFdPT1iJiZlWzJdPT1jJiYoZnx8aCl9KX07CmQwPWZ1bmN0aW9uKGEsYixjLGQ9e30pe2lmKCFhfHwhYS5hZGRFdmVudExpc3RlbmVyJiYhYS5hdHRhY2hFdmVudClyZXR1cm4iIjt2YXIgZT14cmEoYSxiLGMsZCk7aWYoZSlyZXR1cm4gZTtlPSsrXy50cy5jb3VudCsiIjt2YXIgZj0hKGIhPSJtb3VzZWVudGVyIiYmYiE9Im1vdXNlbGVhdmUifHwhYS5hZGRFdmVudExpc3RlbmVyfHwib25tb3VzZWVudGVyImluIGRvY3VtZW50KTt2YXIgaD1mP2s9PntrPW5ldyBjMChrKTtpZighXy5ndyhrLnJlbGF0ZWRUYXJnZXQsbD0+bD09YSwhMCkpcmV0dXJuIGsuY3VycmVudFRhcmdldD1hLGsudHlwZT1iLGMuY2FsbChhLGspfTprPT57az1uZXcgYzAoayk7ay5jdXJyZW50VGFyZ2V0PWE7cmV0dXJuIGMuY2FsbChhLGspfTtoPV8uVmkoaCk7YS5hZGRFdmVudExpc3RlbmVyPyhiPT0ibW91c2VlbnRlciImJmY/Yj0ibW91c2VvdmVyIjpiPT0ibW91c2VsZWF2ZSImJmY/Yj0ibW91c2VvdXQiOmI9PSJtb3VzZXdoZWVsIiYmIk1vekJveFNpemluZyJpbgpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJihiPSJNb3pNb3VzZVBpeGVsU2Nyb2xsIiksKDAsXy51cykoKXx8dHlwZW9mIGQ9PT0iYm9vbGVhbiI/YS5hZGRFdmVudExpc3RlbmVyKGIsaCxkKTphLmFkZEV2ZW50TGlzdGVuZXIoYixoLCEhZC5jYXB0dXJlKSk6YS5hdHRhY2hFdmVudChgb24ke2J9YCxoKTtfLnNzW2VdPVthLGIsYyxoLGRdO3JldHVybiBlfTt5cmE9ZnVuY3Rpb24oYSl7YSYmKHR5cGVvZiBhPT0ic3RyaW5nIiYmKGE9W2FdKSxfLnRiKGEsYj0+e2lmKGIgaW4gXy5zcyl7dmFyIGM9Xy5zc1tiXTtsZXQgZD1jWzBdLGU9Y1sxXSxmPWNbM107Yz1jWzRdO2QucmVtb3ZlRXZlbnRMaXN0ZW5lcj8oMCxfLnVzKSgpfHx0eXBlb2YgYz09PSJib29sZWFuIj9kLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxmLGMpOmQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGYsISFjLmNhcHR1cmUpOmQuZGV0YWNoRXZlbnQmJmQuZGV0YWNoRXZlbnQoYG9uJHtlfWAsZik7ZGVsZXRlIF8uc3NbYl19fSkpfTsKZTA9ZnVuY3Rpb24oYSl7dGhpcy5NPWE7dGhpcy5qPW51bGw7dGhpcy5CPTA7dGhpcy5JPW51bGw7dGhpcy5EPTA7dGhpcy5vPVtdO2ZvcihhPTA7YTw0O2ErKyl0aGlzLm8ucHVzaCgwKTt0aGlzLnY9MDt0aGlzLlo9ZDAod2luZG93LCJtb3VzZW1vdmUiLCgwLF8uQ2EpKHRoaXMuZ2EsdGhpcykpO2E9KDAsXy5DYSkodGhpcy5VLHRoaXMpO3R5cGVvZiBhPT09ImZ1bmN0aW9uIiYmKGE9Xy5WaShhKSk7dGhpcy5oYT13aW5kb3cuc2V0SW50ZXJ2YWwoYSwyNSl9O3pyYT1mdW5jdGlvbigpe3ZhciBhPV8ucmooImh0bWw1X3dlYl9wb19leHBlcmltZW50X2lkcyIpO3JldHVybiBBcnJheS5pc0FycmF5KGEpP18uSHcoYSxiPT5OdW1iZXIoYnx8MCkpOltOdW1iZXIoYXx8MCldfTsKQnJhPWZ1bmN0aW9uKCl7KHtoYW5kbGVFcnJvcjphPV8uSHAsbG06Yj1fLkVwfT17fSk7dmFyIGE7Zm9yKF8uR2s9bmV3IEFyYShhLGIpO18uSGsubGVuZ3RoPjA7KXt2YXIgYj1fLkhrLnNoaWZ0KCk7c3dpdGNoKGIudHlwZSl7Y2FzZSAiRVJST1IiOl8uR2suSmIoYi5wYXlsb2FkKTticmVhaztjYXNlICJFVkVOVCI6Xy5Hay5sbShiLmV2ZW50VHlwZSxiLnBheWxvYWQpfX19O0NyYT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8uR2woZD0+Yz9kLnVzZXJJZGVudGlmaWVyIT09dm9pZCAwJiYhYS5pbmNsdWRlcyhkLnVzZXJJZGVudGlmaWVyKSYmYy5pbmNsdWRlcyhkLnB1YmxpY05hbWUpOmQudXNlcklkZW50aWZpZXIhPT12b2lkIDAmJiFhLmluY2x1ZGVzKGQudXNlcklkZW50aWZpZXIpLGIpfTsKRHJhPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPV8uVmooIll0SWRiTWV0YSBoYXNBbnlNZXRhIG90aGVyIik7cmV0dXJuKGF3YWl0IF8uR2woYz0+Yy51c2VySWRlbnRpZmllciE9PXZvaWQgMCYmYy51c2VySWRlbnRpZmllciE9PWIsYSkpLmxlbmd0aD4wfTtnMD1mdW5jdGlvbihhLGIpe2YwfHwoZjA9Xy5qZi5wYihhc3luYygpPT57dmFyIGM9YXdhaXQgXy5QbCgpO2lmKGMpe3ZhciBkPSEwO3RyeXtsZXQgZT1hd2FpdCBDcmEoYSxjLGIpO2lmKGUubGVuZ3RoKXtsZXQgZj1lWzBdO2F3YWl0IF8uQWwoZi5hY3R1YWxOYW1lKTthd2FpdCBfLkZsKGYuYWN0dWFsTmFtZSxjKX1lbHNlIGQ9ITF9Y2F0Y2goZSl7Xy5JayhlKSxkPSExfV8uamYuQWEoZjApO2YwPTA7ZCYmZzAoYSxiKX19KSl9O0VyYT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPWF3YWl0IF8uUGwoKTtyZXR1cm4gYT9EcmEoYSk6ITF9OwpGcmE9ZnVuY3Rpb24oYSl7KDAsXy5lbCkoKTtpZighYS5ib2R5KXJldHVybiBhO3RyeXtsZXQgYj10eXBlb2YgYS5ib2R5PT09InN0cmluZyI/YS5ib2R5OkpTT04uc3RyaW5naWZ5KGEuYm9keSksYz1iO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe2xldCBkPV8udW0oYik7aWYoZCE9bnVsbCYmKGQ+Xy53bXx8ZDxfLnhtKSlyZXR1cm4gYTtjPV8uTmkoKDAsXy55bSkoYikpOygwLF8uZWwpKCl9YS5oZWFkZXJzPXsiQ29udGVudC1FbmNvZGluZyI6Imd6aXAiLC4uLihhLmhlYWRlcnN8fHt9KX07YS5ib2R5PWM7cmV0dXJuIGF9Y2F0Y2goYil7cmV0dXJuIF8uV2koYiksYX19O0dyYT1hc3luYyBmdW5jdGlvbigpe2F3YWl0IF8uUGwoKSYmKF8uV2ooKXx8Xy54KCJud2xfaW5pdF9yZXF1aXJlX2RhdGFzeW5jX2lkX2tpbGxzd2l0Y2giKSkmJl8uc24oKSYmKF8udW49ITAsXy50bi5pc053bEluaXRpYWxpemVkPV8udW4sYXdhaXQgXy5wbigpLmF3YWl0SW5pdGlhbGl6YXRpb24oKSl9OwpoMD1mdW5jdGlvbihhKXtfLlNzW2FdJiYoYT1fLlNzW2FdLF8udGIoYSxiPT57Xy5Sc1tiXSYmZGVsZXRlIF8uUnNbYl19KSxhLmxlbmd0aD0wKX07aTA9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5MeigpO2lmKGIpaWYoYi5jbGVhcihhKSxhKWgwKGEpO2Vsc2UgZm9yKGxldCBjIGluIF8uU3MpaDAoYyl9O2wwPWZ1bmN0aW9uKHt1SzphPSExLE1JOmI9ITB9PXt9KXtpZihfLnNhKCJfbGFjdCIsd2luZG93KT09bnVsbCl7dmFyIGM9cGFyc2VJbnQoXy53KCJMQUNUIiksMTApO2M9aXNGaW5pdGUoYyk/RGF0ZS5ub3coKS1NYXRoLm1heChjLDApOi0xO18ucmEoIl9sYWN0IixjLHdpbmRvdyk7Xy5yYSgiX2ZhY3QiLGMsd2luZG93KTtjPT0tMSYmajAoKTtIcmEoYSxiKTtuZXcgZTAoKCk9PntrMCgibW91c2UiLDEwMCl9KX19OwpIcmE9ZnVuY3Rpb24oYT0hMSxiPSEwKXt2YXIgYz13aW5kb3c7ZDAoYy5kb2N1bWVudCwia2V5ZG93biIsajApO2QwKGMuZG9jdW1lbnQsImtleXVwIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2Vkb3duIixqMCk7ZDAoYy5kb2N1bWVudCwibW91c2V1cCIsajApO2E/ZDAoYywidG91Y2htb3ZlIiwoKT0+e2swKCJ0b3VjaG1vdmUiLDIwMCl9LHtwYXNzaXZlOiEwfSk6KGQwKGMsInJlc2l6ZSIsKCk9PntrMCgicmVzaXplIiwyMDApfSksYiYmZDAoYywic2Nyb2xsIiwoKT0+e2swKCJzY3JvbGwiLDIwMCl9KSk7ZDAoYy5kb2N1bWVudCwidG91Y2hzdGFydCIsajAse3Bhc3NpdmU6ITB9KTtkMChjLmRvY3VtZW50LCJ0b3VjaGVuZCIsajAse3Bhc3NpdmU6ITB9KX07azA9ZnVuY3Rpb24oYSxiKXttMFthXXx8KG0wW2FdPSEwLF8uamYucGIoKCk9PntqMCgpO20wW2FdPSExfSxiKSl9OwpqMD1mdW5jdGlvbigpe18uc2EoIl9sYWN0Iix3aW5kb3cpPT1udWxsJiZsMCgpO3ZhciBhPURhdGUubm93KCk7Xy5yYSgiX2xhY3QiLGEsd2luZG93KTtfLnNhKCJfZmFjdCIsd2luZG93KT09LTEmJl8ucmEoIl9mYWN0IixhLHdpbmRvdyk7KGE9Xy5zYSgieXRnbG9iYWwueXRVdGlsQWN0aXZpdHlDYWxsYmFja18iKSkmJmEoKX07bjA9ZnVuY3Rpb24oKXt2YXIgYT1fLmtvKCk7YS5pbmZvfHwoYS5pbmZvPXt9KTtyZXR1cm4gYS5pbmZvfTtJcmE9ZnVuY3Rpb24oKXt2YXIgYT1fLm5vKCk7YS5wcmVMb2dnZWRHZWxJbmZvc3x8KGEucHJlTG9nZ2VkR2VsSW5mb3M9W10pO3JldHVybiBhLnByZUxvZ2dlZEdlbEluZm9zfTsKSnJhPWZ1bmN0aW9uKGEsYj0iVW5rbm93biBmaWxlIixjPTAsZCxlLGYpe3ZhciBoPSExLGs9Xy5SaSgibG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uIik7aWYoayYmTWF0aC5yYW5kb20oKTxrKWg9ITA7ZWxzZXtrPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtmb3IobGV0IGw9MCxtPWsubGVuZ3RoO2w8bTtsKyspaWYoa1tsXS5zcmMuaW5kZXhPZigiL2RlYnVnLSIpPjApe2g9ITA7YnJlYWt9fWgmJihoPSExLGU/aD0hMDoodHlwZW9mIGE9PT0ic3RyaW5nIj9rPWE6RXJyb3JFdmVudCYmYSBpbnN0YW5jZW9mIEVycm9yRXZlbnQ/KGg9ITAsaz1hLm1lc3NhZ2UsYj1hLmZpbGVuYW1lLGM9YS5saW5lbm8sZD1hLmNvbG5vKTooaz0iVW5rbm93biBlcnJvciIsYj0iVW5rbm93biBmaWxlIixjPTApLGU9bmV3IF8uWGooayksZS5uYW1lPSJVbmhhbmRsZWRXaW5kb3dFcnJvciIsZS5tZXNzYWdlPWssZS5maWxlTmFtZT1iLGUubGluZU51bWJlcj1jLGlzTmFOKGQpPwpkZWxldGUgZS5jb2x1bW5OdW1iZXI6ZS5jb2x1bW5OdW1iZXI9ZCksZiYmXy5jdyhlLGYpLGg/Xy5HcChlKTpfLklwKGUpKX07bzA9ZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIEVycm9yP18uR3AoYSk6KGE9Xy5BYShhKT9KU09OLnN0cmluZ2lmeShhKTpTdHJpbmcoYSksYT1uZXcgXy5YaihhKSxhLm5hbWU9IlJlamVjdGVkUHJvbWlzZUVycm9yIixfLklwKGEpKX07S3JhPWZ1bmN0aW9uKCl7Xy50YihfLncoIkVSUk9SUyIpfHxbXSxhPT57Xy5HcC5hcHBseShudWxsLGEpfSk7Xy5RaSgiRVJST1JTIixbXSl9O3AwPWZ1bmN0aW9uKCl7cmV0dXJuKF8ueCgiY3NpX3VzZV90aW1lX29yaWdpbiIpfHxfLngoImNzaV91c2VfdGltZV9vcmlnaW5fdHZodG1sNSIpKSYmXy5zcS50aW1lT3JpZ2luP01hdGguZmxvb3IoXy5zcS50aW1lT3JpZ2luKTpfLnNxLnRpbWluZy5uYXZpZ2F0aW9uU3RhcnR9O3EwPWZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnJvdW5kKHAwKCkrYSl9OwpyMD1mdW5jdGlvbigpe3ZhciBhO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpPyhhPV8uc3E/LmdldEVudHJpZXNCeVR5cGU/LigibmF2aWdhdGlvbiIpPy5bMF0/LnRvSlNPTj8uKCkpPyhhLnJlcXVlc3RTdGFydD1xMChhLnJlcXVlc3RTdGFydCksYS5yZXNwb25zZUVuZD1xMChhLnJlc3BvbnNlRW5kKSxhLnJlZGlyZWN0U3RhcnQ9cTAoYS5yZWRpcmVjdFN0YXJ0KSxhLnJlZGlyZWN0RW5kPXEwKGEucmVkaXJlY3RFbmQpLGEuZG9tYWluTG9va3VwRW5kPXEwKGEuZG9tYWluTG9va3VwRW5kKSxhLmNvbm5lY3RTdGFydD1xMChhLmNvbm5lY3RTdGFydCksYS5jb25uZWN0RW5kPXEwKGEuY29ubmVjdEVuZCksYS5yZXNwb25zZVN0YXJ0PXEwKGEucmVzcG9uc2VTdGFydCksYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQ9cTAoYS5zZWN1cmVDb25uZWN0aW9uU3RhcnQpLGEuZG9tYWluTG9va3VwU3RhcnQ9cTAoYS5kb21haW5Mb29rdXBTdGFydCksYS5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZz0KITApOmE9Xy5zcS50aW1pbmc6YT1fLngoImNzaV9wZXJmb3JtYW5jZV90aW1pbmdfdG9fb2JqZWN0Iik/SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShfLnNxLnRpbWluZykpOl8uc3EudGltaW5nO3JldHVybiBhfTtMcmE9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudDtpZigidmlzaWJpbGl0eVN0YXRlImluIGEpYT1hLnZpc2liaWxpdHlTdGF0ZTtlbHNle3ZhciBiPV8ucnMrIlZpc2liaWxpdHlTdGF0ZSI7YT1iIGluIGE/YVtiXTp2b2lkIDB9c3dpdGNoKGEpe2Nhc2UgImhpZGRlbiI6cmV0dXJuIDA7Y2FzZSAidmlzaWJsZSI6cmV0dXJuIDE7Y2FzZSAicHJlcmVuZGVyIjpyZXR1cm4gMjtjYXNlICJ1bmxvYWRlZCI6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4tMX19OwpNcmE9ZnVuY3Rpb24oKXtpZihfLnNxLmdldEVudHJpZXNCeVR5cGUpe3ZhciBhPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicGFpbnQiKTtpZihhPV8udmIoYSxjPT5jLm5hbWU9PT0iZmlyc3QtcGFpbnQiKSlyZXR1cm4gcTAoYS5zdGFydFRpbWUpfXZhciBiO18ueCgiY3NpX3VzZV9wZXJmb3JtYW5jZV9uYXZpZ2F0aW9uX3RpbWluZyIpP2I9Xy5zcS5nZXRFbnRyaWVzQnlUeXBlKCJmaXJzdC1wYWludCIpWzBdLnN0YXJ0VGltZTpiPV8uc3EudGltaW5nLmFLO3JldHVybiBiP01hdGgubWF4KDAsYik6MH07Ck5yYT1mdW5jdGlvbigpe3ZhciBhPV8udygiVElNSU5HX0lORk8iLHt9KSxiPXt9LGM9KGQsZSxmKT0+e2U9ZS5tYXRjaCgiX3JpZCIpP2Uuc3BsaXQoIl9yaWQiKVswXTplO3R5cGVvZiBmPT09Im51bWJlciImJihmPUpTT04uc3RyaW5naWZ5KGYpKTtkLnJlcXVlc3RJZHM/ZC5yZXF1ZXN0SWRzLnB1c2goe2VuZHBvaW50OmUsaWQ6Zn0pOmQucmVxdWVzdElkcz1be2VuZHBvaW50OmUsaWQ6Zn1dfTtmb3IobGV0IFtkLGVdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2E9ZDtsZXQgZj1lO3N3aXRjaChhKXtjYXNlICJHZXRCcm93c2VfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRHdWlkZV9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldEhvbWVfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRQbGF5ZXJfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZWFyY2hfcmlkIjpjKGIsYSxmKTticmVhaztjYXNlICJHZXRTZXR0aW5nc19yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgIkdldFRyZW5kaW5nX3JpZCI6YyhiLAphLGYpO2JyZWFrO2Nhc2UgIkdldFdhdGNoTmV4dF9yaWQiOmMoYixhLGYpO2JyZWFrO2Nhc2UgInl0X3JlZCI6Yi5pc1JlZFN1YnNjcmliZXI9ISFmO2JyZWFrO2Nhc2UgInl0X2FkIjpiLmlzTW9uZXRpemVkPSEhZn19cmV0dXJuIGJ9O09yYT1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCxiPV8uc3EuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTtiPWpyYShiLGM9PmMubmFtZS5pbmRleE9mKGAke2F9Ly9mb250cy5nc3RhdGljLmNvbS9zL2ApPT09MCk7KGI9a3JhKGIsKGMsZCk9PmQuZHVyYXRpb24+Yy5kdXJhdGlvbj9kOmMpKSYmYi5zdGFydFRpbWU+MCYmYi5yZXNwb25zZUVuZD4wJiYoXy5ucSgid2ZmcyIscTAoYi5zdGFydFRpbWUpKSxfLm5xKCJ3ZmZlIixxMChiLnJlc3BvbnNlRW5kKSkpfTsKUHJhPWZ1bmN0aW9uKGEsYil7YT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEpO2lmKCFhKXJldHVybiExO3ZhciBjPSIiLGQ9YS5ub2RlTmFtZTtkPT09IlNDUklQVCI/KGM9YS5zcmMsY3x8KGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtdGltaW5nLWhyZWYiKSkmJihjPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCtjKSk6ZD09PSJMSU5LIiYmKGM9YS5ocmVmKTtfLmliKGRvY3VtZW50KSYmYS5zZXRBdHRyaWJ1dGUoIm5vbmNlIixfLmliKGRvY3VtZW50KSk7cmV0dXJuIGM/KGE9Xy5zcS5nZXRFbnRyaWVzQnlOYW1lKGMpKSYmYVswXSYmKGE9YVswXSxjPXAwKCksXy5ucSgicnNmXyIrYixjK01hdGgucm91bmQoYS5mZXRjaFN0YXJ0KSksXy5ucSgicnNlXyIrYixjK01hdGgucm91bmQoYS5yZXNwb25zZUVuZCkpLGEudHJhbnNmZXJTaXplIT09dm9pZCAwJiZhLnRyYW5zZmVyU2l6ZT09PTApPyEwOiExOiExfTsKUXJhPWZ1bmN0aW9uKCl7dmFyIGE9SXJhKCksYj1fLm9vKCksYz12b2lkIDA7Zm9yKHZhciBkPTA7ZDxhLmxlbmd0aDtkKyspe2xldCBrPWFbZF07aWYoay5sb2FkVHlwZSl7Yz1rLmxvYWRUeXBlO2JyZWFrfX1pZihfLmxvKCkubG9hZFR5cGU9PT0iY29sZCImJihiLmxvYWRUeXBlPT09ImNvbGQifHxjPT09ImNvbGQiKSl7Yz1fLm1vKCk7ZD1fLm5vKCk7ZD1kLmdlbFRpY2tzP2QuZ2VsVGlja3M6ZC5nZWxUaWNrcz17fTtmb3IodmFyIGUgaW4gYyllIGluIGR8fHR5cGVvZiBjW2VdPT09Im51bWJlciImJl8ubnEoZSxfLnVxKGUpKTt2YXIgZj17fSxoPSExO2U9az0+e18ueW4oYixrKTtfLnluKGYsayk7aD0hMH07Zm9yKGxldCBrIG9mIGEpZShrKTtoJiZfLnBxKGYpfX07CnQwPWZ1bmN0aW9uKGEsYil7Xy5WaSgoKT0+e18udW8oIiIpLmluZm8uYWN0aW9uVHlwZT1hO2ImJl8uUWkoIlRJTUlOR19BRlRfS0VZUyIsYik7Xy5RaSgiVElNSU5HX0FDVElPTiIsYSk7dmFyIGM9TnJhKCk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJl8ucHEoYyk7Yz17aXNOYXZpZ2F0aW9uOiEwLGFjdGlvblR5cGU6Xy5QeihfLncoIlRJTUlOR19BQ1RJT04iKSl9O3ZhciBkPV8udygiUFJFVklPVVNfQUNUSU9OIik7ZCYmKGMucHJldmlvdXNBY3Rpb249Xy5QeihkKSk7aWYoZD1fLncoIkNMSUVOVF9QUk9UT0NPTCIpKWMuaHR0cFByb3RvY29sPWQ7aWYoZD1fLncoIkNMSUVOVF9UUkFOU1BPUlQiKSljLnRyYW5zcG9ydFByb3RvY29sPWQ7KGQ9Xy5pcSgpKSYmZCE9PSJVTkRFRklORURfQ1NOIiYmKGMuY2xpZW50U2NyZWVuTm9uY2U9ZCk7ZD1McmEoKTtpZihkPT09MXx8ZD09PS0xKWMuaXNWaXNpYmxlPSEwO18ubG8oKTtuMCgpO2MubG9hZFR5cGU9ImNvbGQiO2Q9bjAoKTt2YXIgZT0KcjAoKSxmPXAwKCksaD1fLncoIkNTSV9TVEFSVF9USU1FU1RBTVBfTUlMTElTIiwwKTtoPjAmJiFfLngoImVtYmVkc193ZWJfZW5hYmxlX2NzaV9zdGFydF9vdmVycmlkZV9raWxsc3dpdGNoIikmJihmPWgpO2YmJihfLm5xKCJzcnQiLGUucmVzcG9uc2VTdGFydCksZC5wcmVyZW5kZXIhPT0xJiZfLm9xKGYpKTtkPU1yYSgpO2Q+MCYmXy5ucSgiZnB0IixkKTtkPXIwKCk7ZC5pc1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyYmXy5wcSh7cGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOiEwfSx2b2lkIDApO18ubnEoIm5yZXFzIixkLnJlcXVlc3RTdGFydCx2b2lkIDApO18ubnEoIm5yZXNzIixkLnJlc3BvbnNlU3RhcnQsdm9pZCAwKTtfLm5xKCJucmVzZSIsZC5yZXNwb25zZUVuZCx2b2lkIDApO2QucmVkaXJlY3RFbmQtZC5yZWRpcmVjdFN0YXJ0PjAmJihfLm5xKCJucnMiLGQucmVkaXJlY3RTdGFydCx2b2lkIDApLF8ubnEoIm5yZSIsZC5yZWRpcmVjdEVuZCx2b2lkIDApKTtkLmRvbWFpbkxvb2t1cEVuZC0KZC5kb21haW5Mb29rdXBTdGFydD4wJiYoXy5ucSgibmRuc3MiLGQuZG9tYWluTG9va3VwU3RhcnQsdm9pZCAwKSxfLm5xKCJuZG5zZSIsZC5kb21haW5Mb29rdXBFbmQsdm9pZCAwKSk7ZC5jb25uZWN0RW5kLWQuY29ubmVjdFN0YXJ0PjAmJihfLm5xKCJudGNwcyIsZC5jb25uZWN0U3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO2Quc2VjdXJlQ29ubmVjdGlvblN0YXJ0Pj1wMCgpJiZkLmNvbm5lY3RFbmQtZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQ+MCYmKF8ubnEoIm5zdGNwcyIsZC5zZWN1cmVDb25uZWN0aW9uU3RhcnQsdm9pZCAwKSxfLm5xKCJudGNwZSIsZC5jb25uZWN0RW5kLHZvaWQgMCkpO18uc3EmJiJnZXRFbnRyaWVzQnlUeXBlImluIF8uc3EmJk9yYSgpO2Q9W107aWYoZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmXy5zcSYmXy5zcS5nZXRFbnRyaWVzQnlOYW1lKWZvcih2YXIgayBpbiBzMClzMC5oYXNPd25Qcm9wZXJ0eShrKSYmKGU9CnMwW2tdLFByYShrLGUpJiZkLnB1c2goZSkpO2lmKGQubGVuZ3RoPjApe2MucmVzb3VyY2VJbmZvPVtdO2ZvcihsZXQgbCBvZiBkKWMucmVzb3VyY2VJbmZvLnB1c2goe3Jlc291cmNlQ2FjaGU6bH0pfV8ucHEoYyk7UXJhKCk7Xy5ReigpO2s9Xy53KCJUSU1JTkdfQUNUSU9OIik7Xy5zYSgieXRnbG9iYWwudGltaW5ncmVhZHlfIikmJmsmJl8uUnooKSYmXy52cSgpJiZfLnRxKCl9KSgpfTt2MD1mdW5jdGlvbihhKXtpZighXy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKSlyZXR1cm4iIjthPV8uUWIoYSl8fCIiO3ZhciBiPU9iamVjdC5rZXlzKHUwKTtmb3IobGV0IGM9MDtjPGIubGVuZ3RoO2MrKyl7bGV0IGQ9YltjXTtpZihhLmluY2x1ZGVzKGQpKXJldHVybiBkfXJldHVybiIifTsKdzA9ZnVuY3Rpb24oYSl7aWYoIV8ueCgidW5pdmVyc2FsX2NzaV9uZXR3b3JrX3RpY2tzIikpcmV0dXJuKCk9Pnt9O3ZhciBiPXUwW2FdO3JldHVybiBiPyhfLkl6KGIpLCgpPT57dmFyIGM9Xy54KCJ1bml2ZXJzYWxfY3NpX25ldHdvcmtfdGlja3MiKT8oYz1ScmFbYV0pP18uSXooYyk6ITE6ITE7cmV0dXJuIGN9KTooKT0+e319O3gwPWZ1bmN0aW9uKGEpe18uVmkoKCk9PntpZighXy5SeigiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIil8fF8uQnEoYSwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIikpcmV0dXJuITE7Xy5BcShhLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7cmV0dXJuITB9KSgpfTtTcmE9ZnVuY3Rpb24oKXtfLlZpKCgpPT57dmFyIGE9Xy5wbygpO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3NldFRpbWVvdXQoKCk9PnthPT09Xy5wbygpJiZfLkFxKCJvbCIsdm9pZCAwLHZvaWQgMCl9LDApfSl9KSgpfTsKVHJhPWZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBudWxsO2E9Xy5YdChfLmVkKGEsNCx2b2lkIDAsXy5EdikpO3JldHVybiBhPT09bnVsbHx8YT09PXZvaWQgMD9udWxsOl8uVGEoYSl9O3kwPWZ1bmN0aW9uKGEpe3JldHVybiBfLlRhKGE9PT1udWxsPyJudWxsIjphPT09dm9pZCAwPyJ1bmRlZmluZWQiOmEpfTtBMD1mdW5jdGlvbigpe3JldHVybiB6MC5sb2FkZWR8fCh6MC5sb2FkZWQ9ImxvYWRlZCIucmVwbGFjZSgvXC0oW2Etel0pL2csKGEsYik9PmIudG9VcHBlckNhc2UoKSkpfTtCMD1mdW5jdGlvbihhKXtyZXR1cm4gYT9hLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldOmEuZ2V0QXR0cmlidXRlKCJkYXRhLWxvYWRlZCIpOm51bGx9O0MwPWZ1bmN0aW9uKGEpe2EmJihhLmRhdGFzZXQ/YS5kYXRhc2V0W0EwKCldPSJ0cnVlIjppcmEoYSkpfTsKRDA9ZnVuY3Rpb24oYSl7dmFyIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO18uTHkoYixhKTtyZXR1cm5ganMtJHtfLk15KGIuaHJlZi5yZXBsYWNlKC9eW2EtekEtWl0rOlwvXC8vLCIvLyIpKX1gfTtFMD1mdW5jdGlvbihhKXthPUQwKGEpO3ZhciBiPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpO2ImJihpMChhKSxiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYikpfTtHMD1mdW5jdGlvbihhLGIpe2EmJmImJihhPWAke18uZncoYil9YCwoYT1GMFthXSkmJl8uTnooYSkpfTsKVXJhPWZ1bmN0aW9uKGEsYixjLGQ9bnVsbCl7dmFyIGU9Xy5DZCgiU0NSSVBUIik7ZS5pZD1iO2Uub25sb2FkPSgpPT57YyYmc2V0VGltZW91dChjLDApfTtlLm9ucmVhZHlzdGF0ZWNoYW5nZT0oKT0+e3N3aXRjaChlLnJlYWR5U3RhdGUpe2Nhc2UgImxvYWRlZCI6Y2FzZSAiY29tcGxldGUiOmUub25sb2FkKCl9fTtkJiZlLnNldEF0dHJpYnV0ZSgibm9uY2UiLGQpO18ub2IoZSx0eXBlb2YgYT09PSJzdHJpbmciP3kwKGEpOmEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShlLGEuZmlyc3RDaGlsZCk7cmV0dXJuIGV9OwpWcmE9ZnVuY3Rpb24oYSxiLGM9bnVsbCl7dmFyIGQ9RDAodHlwZW9mIGE9PT0ic3RyaW5nIj9hOmEudG9TdHJpbmcoKSksZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKSxmPWUmJkIwKGUpLGg9ZSYmIWY7Zj9iJiZiKCk6KGImJihmPV8uTXooZCxiKSxiPWAke18uZncoYil9YCxGMFtiXT1mKSxofHwoZT1VcmEoYSxkLCgpPT57QjAoZSl8fChDMChlKSxfLk96KGQpLF8ubWooKCk9PntpMChkKX0sMCkpfSxjKSkpfTtIMD1mdW5jdGlvbihhLGIsYz1udWxsKXtWcmEoYSxiLGMpfTtXcmE9ZnVuY3Rpb24oYSl7dmFyIGI9Xy5DZCgiQSIpO18uTHkoYixuZXcgXy5XYShhKSk7cmV0dXJuYGNzcy0ke18uTXkoYi5ocmVmLnJlcGxhY2UoL15bYS16QS1aXSs6XC9cLy8sIi8vIikpfWB9OwpYcmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtkLmlkPWI7ZC5vbmxvYWQ9KCk9PntjJiZzZXRUaW1lb3V0KGMsMCl9O2E9eTAoYSk7Xy5xYihkLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoZCk7cmV0dXJuIGR9O1lyYT1mdW5jdGlvbihhKXt2YXIgYj1XcmEoYSksYz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChiKSxkPWMmJkIwKGMpO2R8fGMmJiFkfHwoYz1YcmEoYSxiLCgpPT57aWYoIUIwKGMpKXtDMChjKTtfLk96KGIpO2xldCBlPV8uRGEoaTAsYik7Xy5taihlLDApfX0pKX07CkkwPWZ1bmN0aW9uKGEpe2EuRmE9ITE7aWYoYS5oYSlmb3IodmFyIGIgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShiKSYmYS5oYShiLGEualtiXSk7Zm9yKGxldCBjIGluIGEuSSlhLkkuaGFzT3duUHJvcGVydHkoYykmJmNsZWFyVGltZW91dChOdW1iZXIoYykpO2EuST17fTthLkI9bnVsbDthLmhhPW51bGw7Yj1hLmFwaTtmb3IobGV0IGMgaW4gYiliLmhhc093blByb3BlcnR5KGMpJiYoYltjXT1udWxsKTtiLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PnthLmFkZEV2ZW50TGlzdGVuZXIoYyxkKX07Yi5yZW1vdmVFdmVudExpc3RlbmVyPShjLGQpPT57YS5yZW1vdmVFdmVudExpc3RlbmVyKGMsZCl9O2IuZGVzdHJveT0oKT0+e2EuZGlzcG9zZSgpfTtiLmdldExhc3RFcnJvcj0oKT0+YS5nZXRMYXN0RXJyb3IoKTtiLmdldFBsYXllclR5cGU9KCk9PmEuZ2V0UGxheWVyVHlwZSgpO2IuZ2V0Q3VycmVudFZpZGVvQ29uZmlnPSgpPT5hLk1hO2IubG9hZE5ld1ZpZGVvQ29uZmlnPWM9Pgp7YS5sb2FkTmV3VmlkZW9Db25maWcoYyl9O2IuaXNSZWFkeT0oKT0+YS5pc1JlYWR5KCl9O0owPWZ1bmN0aW9uKGEpe3ZhciBiO2Eud2ViUGxheWVyQ29udGV4dENvbmZpZz9iPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkOmI9YS5jb25maWcuYXR0cnMuaWQ7YS5lbGVtZW50SWQ9Ynx8YS5lbGVtZW50SWQ7YS5lbGVtZW50SWQ9PT0idmlkZW8tcGxheWVyIiYmKGEuZWxlbWVudElkPWEucGxheWVySWQsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEucGxheWVySWQ6YS5jb25maWcuYXR0cnMuaWQ9YS5wbGF5ZXJJZCk7YS5vPy5pZD09PWEuZWxlbWVudElkJiYoYS5lbGVtZW50SWQ9YCR7YS5lbGVtZW50SWR9LXBsYXllcmAsYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5yb290RWxlbWVudElkPWEuZWxlbWVudElkOmEuY29uZmlnLmF0dHJzLmlkPWEuZWxlbWVudElkKX07ClMwPWZ1bmN0aW9uKGEpe2lmKCFhLmlhKCkmJiFhLlUpe3ZhciBiPUswKGEpO2lmKGImJihMMChhKT8iaHRtbDUiOm51bGwpPT09Imh0bWw1IilhLlo9Imh0bWw1IixhLmlzUmVhZHkoKXx8TTAoYSk7ZWxzZSBpZihOMChhKSxhLlo9Imh0bWw1IixiJiZhLnYmJmEudGFyZ2V0RWxlbWVudClhLnRhcmdldEVsZW1lbnQuYXBwZW5kQ2hpbGQoYS52KSxNMChhKTtlbHNle2EuY29uZmlnJiYoYS5jb25maWcubG9hZGVkPSEwKTtsZXQgYz0hMTthLkQ9KCk9PntjPSEwO3ZhciBkPU8wKGEsInBsYXllcl9ib290c3RyYXBfbWV0aG9kIik/Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZUFsdGVybmF0ZSIpfHxfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIik6Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3ZhciBlPWEuY29uZmlnP1AwKGEuY29uZmlnKTp2b2lkIDA7ZCYmZChhLnRhcmdldEVsZW1lbnQsZSxhLndlYlBsYXllckNvbnRleHRDb25maWcsCmEuRWIpO00wKGEpfTthLlU9ITA7Yj9hLkQoKTooSDAoUTAoYSksYS5EKSwoYj1acmEoYSkpJiZZcmEoYnx8IiIpLFIwKGEpJiYhYyYmXy5yYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIsbnVsbCkpfX19O1QwPWZ1bmN0aW9uKGEpe2EuY29uZmlnJiZhLmNvbmZpZy5sb2FkZWQhPT0hMCYmKGEuY29uZmlnLmxvYWRlZD0hMCwhYS5jb25maWcuYXJnc3x8YS5jb25maWcuYXJncy5hdXRvcGxheSE9PSIwIiYmYS5jb25maWcuYXJncy5hdXRvcGxheSE9PTAmJmEuY29uZmlnLmFyZ3MuYXV0b3BsYXkhPT0hMT9hLmFwaS5sb2FkVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncz8/bnVsbCk6YS5hcGkuY3VlVmlkZW9CeVBsYXllclZhcnMoYS5jb25maWcuYXJncykpfTtQMD1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IobGV0IGMgb2YgT2JqZWN0LmtleXMoYSkpe2xldCBkPWFbY107YltjXT10eXBlb2YgZD09PSJvYmplY3QiP1VfKGQpOmR9cmV0dXJuIGJ9OwpVMD1mdW5jdGlvbihhLGIpe3ZhciBjPWI7aWYodHlwZW9mIGI9PT0ic3RyaW5nIil7aWYoYS55YVtiXSlyZXR1cm4gYS55YVtiXTtjPSguLi5kKT0+e3ZhciBlPV8uc2EoYik7aWYoZSl0cnl7ZS5hcHBseShfLnUsZCl9Y2F0Y2goZil7dGhyb3cgZD1uZXcgXy5YaigiUGxheWVyUHJveHkgZXJyb3Igd2hlbiBleGVjdXRpbmcgY2FsbGJhY2siLHtlcnJvcjpmfSksZC5sZXZlbD0iRVJST1IiLGQ7fX07YS55YVtiXT1jfXJldHVybiBjP2M6bnVsbH07TDA9ZnVuY3Rpb24oYSl7dmFyIGI9Vl8oYS5lbGVtZW50SWQpOyFiJiZhLm8mJmEuby5xdWVyeVNlbGVjdG9yJiYoYj1hLm8ucXVlcnlTZWxlY3RvcihgIyR7YS5lbGVtZW50SWR9YCkpO3JldHVybiBifTtRMD1mdW5jdGlvbihhKXtyZXR1cm4gYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnP2Eud2ViUGxheWVyQ29udGV4dENvbmZpZy5qc1VybDooYT1hLmNvbmZpZy5hc3NldHMpP2EuanM6IiJ9OwpLMD1mdW5jdGlvbihhKXt2YXIgYj0hMCxjPUwwKGEpO2MmJmEuY29uZmlnJiYoYj1jLmRhdGFzZXQudmVyc2lvbj09PVEwKGEpKTtyZXR1cm4gYiYmISFfLnNhKCJ5dC5wbGF5ZXIuQXBwbGljYXRpb24uY3JlYXRlIil9O08wPWZ1bmN0aW9uKGEsYil7aWYoYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnKXZhciBjPWEud2ViUGxheWVyQ29udGV4dENvbmZpZy5zZXJpYWxpemVkRXhwZXJpbWVudEZsYWdzO2Vsc2UgYS5jb25maWc/LmFyZ3MmJihjPWEuY29uZmlnLmFyZ3MuZmZsYWdzKTtyZXR1cm4oY3x8IiIpLnNwbGl0KCImIikuaW5jbHVkZXMoYCR7Yn09dHJ1ZWApfTsKTTA9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7bGV0IGI9TDAoYSksYz0hMTtiJiZiLmdldEFwaUludGVyZmFjZSYmYi5nZXRBcGlJbnRlcmZhY2UoKSYmKGM9ITApO2M/KGEuVT0hMSwhTzAoYSwiaHRtbDVfcmVtb3ZlX25vdF9zZXJ2YWJsZV9jaGVja19raWxsc3dpdGNoIikmJmI/LmlzTm90U2VydmFibGUmJmEuY29uZmlnJiZiPy5pc05vdFNlcnZhYmxlKGEuY29uZmlnLmFyZ3M/LnZpZGVvX2lkKXx8JHJhKGEpKTphLlFhPXNldFRpbWVvdXQoKCk9PntNMChhKX0sNTApfX07TjA9ZnVuY3Rpb24oYSl7YS5jYW5jZWwoKTtJMChhKTthLlo9bnVsbDthLmNvbmZpZyYmKGEuY29uZmlnLmxvYWRlZD0hMSk7dmFyIGI9TDAoYSk7YiYmKEswKGEpfHwhUjAoYSk/YS52PWI6KGImJmIuZGVzdHJveSYmYi5kZXN0cm95KCksYS52PW51bGwpKTthLnRhcmdldEVsZW1lbnQmJldfKGEudGFyZ2V0RWxlbWVudCl9OwpacmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGEud2ViUGxheWVyQ29udGV4dENvbmZpZz9hLndlYlBsYXllckNvbnRleHRDb25maWcuY3NzVXJsOihhPWEuY29uZmlnLmFzc2V0cyk/YS5jc3M6IiJ9O1IwPWZ1bmN0aW9uKGEpe2E9YS5jb25maWc/LmFyZ3M/LmZmbGFncztyZXR1cm4hIWEmJmEuaW5kZXhPZigicGxheWVyX2Rlc3Ryb3lfb2xkX3ZlcnNpb249dHJ1ZSIpIT09LTF9OwokcmE9ZnVuY3Rpb24oYSl7STAoYSk7YS5GYT0hMDt2YXIgYj1MMChhKTtpZihiKXthLkI9VjAoYSxiLCJhZGRFdmVudExpc3RlbmVyIik7YS5oYT1WMChhLGIsInJlbW92ZUV2ZW50TGlzdGVuZXIiKTtsZXQgYz1iLmdldEFwaUludGVyZmFjZSgpO2M9Yy5jb25jYXQoYi5nZXRJbnRlcm5hbEFwaUludGVyZmFjZSgpKTtsZXQgZD1hLmFwaTtmb3IobGV0IGU9MDtlPGMubGVuZ3RoO2UrKyl7bGV0IGY9Y1tlXTtkW2ZdfHwoZFtmXT1WMChhLGIsZikpfX1mb3IobGV0IGMgaW4gYS5qKWEuai5oYXNPd25Qcm9wZXJ0eShjKSYmYS5CJiZhLkIoYyxhLmpbY10pO1QwKGEpO2Eub2EmJmEub2EoYS5hcGkpO2EuTS5wdWJsaXNoKCJvblJlYWR5IixhLmFwaSl9OwpWMD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YltjXTtyZXR1cm4oLi4uZSk9Pnt0cnl7cmV0dXJuIGEubGFzdEVycm9yPW51bGwsZC5hcHBseShiLGUpfWNhdGNoKGYpe2lmKGMhPT0ic2VuZEFiYW5kb25tZW50UGluZyIpdGhyb3cgZi5wYXJhbXM9YyxhLmxhc3RFcnJvcj1mLGU9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIGluIG1ldGhvZCBjYWxsIix7ZXJyb3I6ZixtZXRob2Q6YyxwbGF5ZXJJZDphLnBsYXllcklkfSksZS5sZXZlbD0iV0FSTklORyIsZTt9fX07CmFzYT1mdW5jdGlvbihhLGIpe3ZhciBjPWQ9Pnt2YXIgZT0oKT0+e2EuaWEoKTtpZighYS5pYSgpKXRyeXthLk0ucHVibGlzaChiLGQ/P3ZvaWQgMCl9Y2F0Y2goaCl7dmFyIGY9bmV3IF8uWGooIlBsYXllclByb3h5IGVycm9yIHdoZW4gY3JlYXRpbmcgZ2xvYmFsIGNhbGxiYWNrIix7ZXJyb3I6aC5tZXNzYWdlLGV2ZW50OmIscGxheWVySWQ6YS5wbGF5ZXJJZCxkYXRhOmQsb3JpZ2luYWxTdGFjazpoLnN0YWNrLGNvbXBvbmVudFN0YWNrOmguY29tcG9uZW50U3RhY2t9KTtmLmxldmVsPSJXQVJOSU5HIjt0aHJvdyBmO319O2lmKE8wKGEsIndlYl9wbGF5ZXJfcHVibGlzaF9ldmVudHNfaW1tZWRpYXRlbHkiKSllKCk7ZWxzZXtsZXQgZj1zZXRUaW1lb3V0KCgpPT57ZSgpO3ZhciBoPWEuSSxrPVN0cmluZyhmKTtrIGluIGgmJmRlbGV0ZSBoW2tdfSwwKTt2cmEoYS5JLFN0cmluZyhmKSl9fTtyZXR1cm4gYS5qW2JdPWN9Owpjc2E9ZnVuY3Rpb24oYSxiKXt2YXIgYz0icGxheWVyIjtjPXR5cGVvZiBjPT09InN0cmluZyI/Vl8oYyk6Yzt2YXIgZD1gJHtfLnZhYX1fJHtfLmZ3KGMpfWAsZT1XMFtkXTtlPW5ldyBic2EoYyxkLGEsYik7VzBbZF09ZTtlLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57ZGVsZXRlIFcwW2UuZ2V0SWQoKV19KTtyZXR1cm4gZS5hcGl9O1gwPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O18ueCgianNvbl9jb25kZW5zZWRfcmVzcG9uc2UiKSYmKGIucHJldHR5UHJpbnQ9ImZhbHNlIik7cmV0dXJuIGE9Xy5laihhLGIpfTtZMD1mdW5jdGlvbihhKXt2YXIgYj1fLncoIklOTkVSVFVCRV9IT1NUX09WRVJSSURFIik7YiYmKGE9U3RyaW5nKGIpK1N0cmluZyhfLk55KGEpKSk7cmV0dXJuIGF9OwpaMD1mdW5jdGlvbihhLGI9IlBPU1QiKXthPXttZXRob2Q6Yixtb2RlOl8uZmooYSk/InNhbWUtb3JpZ2luIjoiY29ycyIsY3JlZGVudGlhbHM6Xy5maihhKT8ic2FtZS1vcmlnaW4iOiJpbmNsdWRlIn07Yj17fTt2YXIgYz17fTtmb3IobGV0IGQgb2YgT2JqZWN0LmtleXMoYikpYltkXSYmKGNbZF09YltkXSk7T2JqZWN0LmtleXMoYykubGVuZ3RoPjAmJihhLmhlYWRlcnM9Yyk7cmV0dXJuIGF9OyQwPWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19O2ExPWZ1bmN0aW9uKGEpe2lmKF8uWHooKSl7dmFyIGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpYj0kMChjKSxiPT09dm9pZCAwfHxhLmluY2x1ZGVzKGIpfHxzZWxmLmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07CmRzYT1mdW5jdGlvbigpe2lmKCFfLlh6KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LmxvY2FsU3RvcmFnZSk7Zm9yKGxldCBjIG9mIGIpaWYoYj0kMChjKSxiIT09dm9pZCAwJiZiIT09YSlyZXR1cm4hMDtyZXR1cm4hMX07YjE9ZnVuY3Rpb24oYSl7Xy5PaShfLiR6LGFyZ3VtZW50cyl9O2MxPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGF3YWl0IF8uZUEoKSl7dmFyIGI9W10sYz1hd2FpdCBfLmRBLmtleXMoKTtmb3IobGV0IGQgb2YgYykoe2RhdGFzeW5jSWQ6Y309Xy5iQShkKSksIWN8fGEuaW5jbHVkZXMoYyl8fGIucHVzaChfLmRBLmRlbGV0ZShkKSk7UHJvbWlzZS5hbGwoYikudGhlbihkPT5kLnNvbWUoZT0+ZSkpfX07CmVzYT1hc3luYyBmdW5jdGlvbigpe2lmKCFhd2FpdCBfLmVBKCkpcmV0dXJuITE7dmFyIGE9Xy5WaigiY2FjaGUgY29udGFpbnMgb3RoZXIiKSxiPWF3YWl0IF8uZEEua2V5cygpO2ZvcihsZXQgYyBvZiBiKWlmKHtkYXRhc3luY0lkOmJ9PV8uYkEoYyksYiYmYiE9PWEpcmV0dXJuITA7cmV0dXJuITF9O2ZzYT1mdW5jdGlvbihhKXtpZihfLmhBLmhhcyhhKSYmXy5mQSYmKF8uZkE/LnRhZ05hbWUudG9Mb3dlckNhc2UoKT8/IiIpPT09YSl7bGV0IGI7KGI9Xy5mQSkubWk/PyhiLm1pPTApO18uZkEubWkrKztpZihfLmZBLm1pPjEpdGhyb3cgRXJyb3IoIlBiIik7cmV0dXJuIF8uZkF9fTtnc2E9ZnVuY3Rpb24oYSl7dmFyIGI9YT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpPz8iIjtfLmZBIT09YSYmYi5pbmNsdWRlcygiLSIpJiZfLmdBLnNldChhLCEwKX07ZDE9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuISF3aW5kb3c/LnRvcD8ubG9jYXRpb24uaHJlZiYmITF9Y2F0Y2goYSl7cmV0dXJuITB9fTsKZjE9ZnVuY3Rpb24oYT0iYmV2YXNyc2ciKXtyZXR1cm4gbmV3IFByb21pc2UoYj0+e3ZhciBjPXdpbmRvdz09PXdpbmRvdy50b3A/d2luZG93OmQxKCk/d2luZG93OndpbmRvdy50b3AsZD1jW2FdO2Q/LmJldmFzcnM/YihuZXcgZTEoZC5iZXZhc3JzKSk6KGR8fChkPXtucWZiZWw6W119LGNbYV09ZCksZC5ucWZiZWwucHVzaChlPT57YihuZXcgZTEoZSkpfSkpfSl9O2hzYT1mdW5jdGlvbihhKXthLmohPT12b2lkIDAmJihhLm8uZm9yRWFjaChiPT57YS5qPy5yZW1vdmVFdmVudExpc3RlbmVyKGIsYS52KX0pLGEuaj12b2lkIDApfTtnMT1mdW5jdGlvbihhKXt2YXIgYj17S2M6YS5jLHNsOmEuZSxMeTphLm1jPz8hMSxNeTphLm1lPz8hMX07YS5jbyYmKGIueWk9e1hvOmEuY28uYyxBdTphLmNvLmEsSkE6YS5jby5zfSk7cmV0dXJuIGJ9Owpqc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGFzeW5jKCk9Pnt2YXIgYj1hd2FpdCBhKCk7cmV0dXJue2Y6KCk9PmIueWcucHJvbWlzZSxjOmM9PntpZihjPjE1MCl2YXIgZD0hMTtlbHNlIHRyeXtiLmNhY2hlPW5ldyBpc2EoYyxiLlgpLGQ9ITB9Y2F0Y2goZSl7Yi5yZXBvcnRFcnJvcihuZXcgaDEoMjIsIkdCSjppbml0IixlKSksZD0hMX1yZXR1cm4gZH0sbTpjPT5iLm9lKGcxKGMpKSxtd3M6Yz0+Yi56aihnMShjKSl9fX07CmtzYT1mdW5jdGlvbihhLGIsYz0iYmV2YXNyc2ciKXtiPXtzOmY9PmEuc25hcHNob3Qoey4uLihmLmMmJntLYzpmLmN9KSwuLi4oZi5zJiZ7WWo6Zi5zfSksVUs6Zi5wPz8hMH0pLGU6Zj0+dm9pZCBhLkloPy4oZiksYzooZixoKT0+YS5CaShmLGgpLHA6YS5DZyxsOigpPT5hLlZoKCksd3BjOmI/anNhKGIpOnZvaWQgMH07dmFyIGQ9d2luZG93PT09d2luZG93LnRvcD93aW5kb3c6ZDEoKT93aW5kb3c6d2luZG93LnRvcCxlPWRbY107aWYoZSl7ZS5iZXZhc3JzPWI7aWYoZS5ucWZiZWwhPT12b2lkIDApZm9yKGxldCBmIG9mIGUubnFmYmVsKWYoYik7ZS5ucWZiZWw9dm9pZCAwfWVsc2UgZT17YmV2YXNyczpiLG5xZmJlbDp2b2lkIDB9LGRbY109ZX07ajE9ZnVuY3Rpb24oYSl7dmFyIGI9W107R18oYSxpMSw2KS5mb3JFYWNoKGM9PntfLnR4KGMsMik8PTUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTsKbHNhPWZ1bmN0aW9uKGEpe3ZhciBiPVtdO0dfKGEsaTEsNikuZm9yRWFjaChjPT57Xy50eChjLDIpPjUzJiZiLnB1c2goXy50eChjLDEpKX0pO3JldHVybiBifTtrMT1mdW5jdGlvbihhKXthLnRoZW4oKCk9Pnt9LCgpPT57fSl9O2wxPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MixmaWVsZE5hbWU6YX19O20xPWZ1bmN0aW9uKGEpe3JldHVybntmaWVsZFR5cGU6MyxmaWVsZE5hbWU6YX19O21zYT1mdW5jdGlvbihhLGIpe3JldHVybiBDXyhhLGIsXy5Pdyl9OwpyMT1mdW5jdGlvbihhKXt2YXIgYj1uZXcgbjE7Yj1CWihiLDEsYS5vKTt2YXIgYz1uc2EoYSk7Yj1DXyhiLGMsc3JhKTtjPVtdO3ZhciBkPVtdO2Zvcih2YXIgZSBvZiBhLmoua2V5cygpKWQucHVzaChlLnNwbGl0KCIsIikpO2ZvcihlPTA7ZTxkLmxlbmd0aDtlKyspe2xldCBwPWRbZV07dmFyIGY9YS52LGg9bzEoYSwuLi5wKXx8W107bGV0IHI9W107Zm9yKHZhciBrPTA7azxoLmxlbmd0aDtrKyspe3ZhciBsPWhba10sbT1sJiZsLmo7bD1uZXcgb3NhO3N3aXRjaChmKXtjYXNlIDM6bT1OdW1iZXIobSk7TnVtYmVyLmlzRmluaXRlKG0pJiZGXyhsLDEscDEseV8obSkpO2JyZWFrO2Nhc2UgMjpGXyhsLDIscDEscF8oTnVtYmVyKG0pKSl9ci5wdXNoKGwpfWZvcihmPTA7ZjxyLmxlbmd0aDtmKyspe2s9cltmXTtoPW5ldyBwc2E7aD1fLkt3KGgsMixrKTtrPVtdO2w9cXNhKGEpO2ZvcihtPTA7bTxsLmxlbmd0aDttKyspe3ZhciBuPWxbbV07bGV0IHQ9cFttXSx2PW5ldyByc2E7c3dpdGNoKG4pe2Nhc2UgMzpGXyh2LAoxLHExLEFaKFN0cmluZyh0KSkpO2JyZWFrO2Nhc2UgMjpuPU51bWJlcih0KTtOdW1iZXIuaXNGaW5pdGUobikmJkZfKHYsMixxMSxfLlB3KG4pKTticmVhaztjYXNlIDE6Rl8odiwzLHExLF8ueHcodD09PSJ0cnVlIikpfWsucHVzaCh2KX1IXyhoLDEsayk7Yy5wdXNoKGgpfX1IXyhiLDQsYyk7cmV0dXJuIGJ9O3NzYT1mdW5jdGlvbihhKXtIXyhzMSwxLGEpfTsKdXNhPWZ1bmN0aW9uKGEsYj10MSl7aWYoIXUxKXthPWEubmF2aWdhdG9yPy51c2VyQWdlbnREYXRhO2lmKCFhfHx0eXBlb2YgYS5nZXRIaWdoRW50cm9weVZhbHVlcyE9PSJmdW5jdGlvbiJ8fGEuYnJhbmRzJiZ0eXBlb2YgYS5icmFuZHMubWFwIT09ImZ1bmN0aW9uIilyZXR1cm4gUHJvbWlzZS5yZWplY3QoRXJyb3IoImtlIikpO3NzYSgoYS5icmFuZHN8fFtdKS5tYXAoZD0+e3ZhciBlPW5ldyB0c2E7ZT1CWihlLDEsZC5icmFuZCk7cmV0dXJuIEJaKGUsMixkLnZlcnNpb24pfSkpO3R5cGVvZiBhLm1vYmlsZT09PSJib29sZWFuIiYmXy5xdyhzMSwyLF8ueHcoYS5tb2JpbGUpKTt1MT1hLmdldEhpZ2hFbnRyb3B5VmFsdWVzKGIpfXZhciBjPW5ldyBTZXQoYik7cmV0dXJuIHUxLnRoZW4oZD0+e3ZhciBlPXMxLmNsb25lKCk7Yy5oYXMoInBsYXRmb3JtIikmJkJaKGUsMyxkLnBsYXRmb3JtKTtjLmhhcygicGxhdGZvcm1WZXJzaW9uIikmJkJaKGUsNCxkLnBsYXRmb3JtVmVyc2lvbik7CmMuaGFzKCJhcmNoaXRlY3R1cmUiKSYmQlooZSw1LGQuYXJjaGl0ZWN0dXJlKTtjLmhhcygibW9kZWwiKSYmQlooZSw2LGQubW9kZWwpO2MuaGFzKCJ1YUZ1bGxWZXJzaW9uIikmJkJaKGUsNyxkLnVhRnVsbFZlcnNpb24pO3JldHVybiBlLnNlcmlhbGl6ZSgpfSkuY2F0Y2goKCk9PnMxLnNlcmlhbGl6ZSgpKX07djE9ZnVuY3Rpb24oYSl7cmV0dXJuIENaKGEsMSwxKX07eTE9ZnVuY3Rpb24oYSxiKXtfLkt3KGEuaiwxLGIpO0tfKGIpfHx2MShiKTthLnlkfHwoYj13MShhKSxKXyhiLDUpfHxCWihiLDUsYS5sb2NhbGUpKTthLnYmJihiPXcxKGEpLF8uTngoYix4MSw5KXx8Xy5LdyhiLDksYS52KSl9O3cxPWZ1bmN0aW9uKGEpe3ZhciBiPV8uTngoYS5qLHoxLDEpO2J8fChiPW5ldyB6MSx5MShhLGIpKTthPWI7Yj1fLk54KGEsQTEsMTEpO2J8fChiPW5ldyBBMSxfLkt3KGEsMTEsYikpO3JldHVybiBifTt2c2E9ZnVuY3Rpb24oYSxiKXthLm89Yn07CnhzYT1mdW5jdGlvbihhKXt2YXIgYj1hLnlkP3ZvaWQgMDpfLnpkKCk7Yj91c2EoYix0MSkudGhlbihjPT57YS52PXdzYShjPz8iW10iKTtjPXcxKGEpO18uS3coYyw5LGEudik7cmV0dXJuITB9KS5jYXRjaCgoKT0+ITEpOlByb21pc2UucmVzb2x2ZSghMSl9O0IxPWZ1bmN0aW9uKGEsYixjLGQpe3RoaXMuQj1hO3RoaXMuRD1iO3RoaXMubz10aGlzLmo9YTt0aGlzLks9Y3x8MDt0aGlzLkk9ZHx8Mn07QzE9ZnVuY3Rpb24oYSl7YS5vPU1hdGgubWluKGEuRCxhLm8qYS5JKTthLmo9TWF0aC5taW4oYS5ELGEubysoYS5LP01hdGgucm91bmQoYS5LKihNYXRoLnJhbmRvbSgpLS41KSoyKmEubyk6MCkpO2EudisrfTtEMT1mdW5jdGlvbigpe3JldHVybiJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9sb2c/Zm9ybWF0PWpzb24maGFzZmFzdD10cnVlIn07CnlzYT1mdW5jdGlvbihhLGIpe2lmKCFhLk1hKXJldHVybigpPT57fTt2YXIgYz0oKT0+e2EuZmx1c2goKX07cmV0dXJuIGI/KCk9PntiKCkudGhlbihjKX06Y307RTE9ZnVuY3Rpb24oYSl7YS52LmlzRmluYWw9ITA7YS5mbHVzaCgpO2Eudi5pc0ZpbmFsPSExfTtGMT1mdW5jdGlvbihhKXthLlV8fChhLlU9RDEoKSk7dHJ5e3JldHVybihuZXcgVVJMKGEuVSkpLnRvU3RyaW5nKCl9Y2F0Y2goYil7cmV0dXJuKG5ldyBVUkwoYS5VLF8uemQoKS5sb2NhdGlvbi5vcmlnaW4pKS50b1N0cmluZygpfX07QXNhPWZ1bmN0aW9uKGEpe3pzYShhLChiLGMpPT57Yj1uZXcgVVJMKGIpO2Iuc2VhcmNoUGFyYW1zLnNldCgiZm9ybWF0IiwianNvbiIpO3ZhciBkPSExO3RyeXtkPV8uemQoKS5uYXZpZ2F0b3Iuc2VuZEJlYWNvbihiLnRvU3RyaW5nKCksYy5zZXJpYWxpemUoKSl9Y2F0Y2h7fWR8fChhLlo9ITEpO3JldHVybiBkfSl9OwpCc2E9ZnVuY3Rpb24oYSxiLGM9bnVsbCxkPWEud2l0aENyZWRlbnRpYWxzKXt2YXIgZT17fSxmPW5ldyBVUkwoRjEoYSkpO2MmJihlLkF1dGhvcml6YXRpb249Yyk7YS5zZXNzaW9uSW5kZXgmJihlWyJYLUdvb2ctQXV0aFVzZXIiXT1hLnNlc3Npb25JbmRleCxmLnNlYXJjaFBhcmFtcy5zZXQoImF1dGh1c2VyIixhLnNlc3Npb25JbmRleCkpO2EucGFnZUlkJiYoT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIlgtR29vZy1QYWdlSWQiLHt2YWx1ZTphLnBhZ2VJZH0pLGYuc2VhcmNoUGFyYW1zLnNldCgicGFnZUlkIixhLnBhZ2VJZCkpO3JldHVybnt1cmw6Zi50b1N0cmluZygpLGJvZHk6YixHdToxLE9qOmUscmVxdWVzdFR5cGU6IlBPU1QiLHdpdGhDcmVkZW50aWFsczpkLHRpbWVvdXRNaWxsaXM6YS50aW1lb3V0TWlsbGlzfX07CnpzYT1mdW5jdGlvbihhLGIpe2lmKGEuai5sZW5ndGghPT0wKXt2YXIgYz1uZXcgVVJMKEYxKGEpKTtjLnNlYXJjaFBhcmFtcy5kZWxldGUoImZvcm1hdCIpO3ZhciBkPWEuU2YoKTtkJiZjLnNlYXJjaFBhcmFtcy5zZXQoImF1dGgiLGQpO2Muc2VhcmNoUGFyYW1zLnNldCgiYXV0aHVzZXIiLGEuc2Vzc2lvbkluZGV4fHwiMCIpO2ZvcihkPTA7ZDwxMCYmYS5qLmxlbmd0aDsrK2Qpe2xldCBlPWEuai5zbGljZSgwLDMyKSxmPWEudi5idWlsZChlLGEuQixhLkksYS5sZixhLmhhLGEuZ2EpO2lmKCFiKGMudG9TdHJpbmcoKSxmKSl7KythLkk7YnJlYWt9YS5CPTA7YS5JPTA7YS5oYT0wO2EuZ2E9MDthLmo9YS5qLnNsaWNlKGUubGVuZ3RoKX1hLm8uZW5hYmxlZCYmYS5vLnN0b3AoKX19O0NzYT1mdW5jdGlvbihhLGIpe2EuYnVpbGRMYWJlbD1iO3JldHVybiBhfTtFc2E9ZnVuY3Rpb24oYSl7YS5uZXR3b3JrPW5ldyBEc2E7cmV0dXJuIGF9O0ZzYT1mdW5jdGlvbihhLGIpe2Euaj1ifTsKR3NhPWZ1bmN0aW9uKGEpe2Eubz0hMDtyZXR1cm4gYX07cXNhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmZpZWxkcy5tYXAoYj0+Yi5maWVsZFR5cGUpfTtvMT1mdW5jdGlvbihhLC4uLmIpe2I9RzEoLi4uYik7cmV0dXJuIGEuai5oYXMoYik/YS5qLmdldChiKTp2b2lkIDB9O25zYT1mdW5jdGlvbihhKXtyZXR1cm4gYS5maWVsZHMubWFwKGI9PmIuZmllbGROYW1lKX07STE9ZnVuY3Rpb24oYSxiLC4uLmMpe2M9RzEoLi4uYyk7YS5qLnNldChjLFtuZXcgSDEoYildKX07SHNhPWZ1bmN0aW9uKGEsYiwuLi5jKXt2YXIgZD1vMShhLC4uLmMpO2Q/ZC5wdXNoKG5ldyBIMShiKSk6STEoYSxiLC4uLmMpfTtHMT1mdW5jdGlvbiguLi5hKXtyZXR1cm4gYT9hLmpvaW4oIiwiKToia2V5In07SXNhPWZ1bmN0aW9uKGEsLi4uYil7cmV0dXJuKGE9bzEoYSwuLi5iKSkmJmEubGVuZ3RoP2FbMF06dm9pZCAwfTsKSnNhPWZ1bmN0aW9uKGEsLi4uYil7dmFyIGM9MCxkPUlzYShhLC4uLmIpO2QmJihjPWQuaik7STEoYSxjKzEsLi4uYil9O0sxPWZ1bmN0aW9uKGEsYiwuLi5jKXthLnYuaGFzKGIpfHxhLnYuc2V0KGIsbmV3IEoxKGIsYykpfTtNMT1mdW5jdGlvbihhLGIsLi4uYyl7YS52LmhhcyhiKXx8YS52LnNldChiLG5ldyBMMShiLGMpKX07TjE9ZnVuY3Rpb24oYSl7YS5vLmVuYWJsZWR8fGEuby5zdGFydCgpO2EuSSsrO2EuST49YS5CJiZhLkQoKX07S3NhPWZ1bmN0aW9uKGEpe2ZvcihsZXQgYj0wO2I8YS5sZW5ndGg7YisrKWFbYl0uY2xlYXIoKX07TzE9ZnVuY3Rpb24oYSxiLC4uLmMpeyhiPWEuaihiKSkmJmIgaW5zdGFuY2VvZiBMMSYmKEpzYShiLC4uLmMpLE4xKGEpKX07ClAxPWZ1bmN0aW9uKGEpe3N3aXRjaChhKXtjYXNlIDIwMDpyZXR1cm4gMDtjYXNlIDQwMDpyZXR1cm4gMztjYXNlIDQwMTpyZXR1cm4gMTY7Y2FzZSA0MDM6cmV0dXJuIDc7Y2FzZSA0MDQ6cmV0dXJuIDU7Y2FzZSA0MDk6cmV0dXJuIDEwO2Nhc2UgNDEyOnJldHVybiA5O2Nhc2UgNDI5OnJldHVybiA4O2Nhc2UgNDk5OnJldHVybiAxO2Nhc2UgNTAwOnJldHVybiAyO2Nhc2UgNTAxOnJldHVybiAxMjtjYXNlIDUwMzpyZXR1cm4gMTQ7Y2FzZSA1MDQ6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMn19OwpMc2E9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2UgMDpyZXR1cm4iT0siO2Nhc2UgMTpyZXR1cm4iQ0FOQ0VMTEVEIjtjYXNlIDI6cmV0dXJuIlVOS05PV04iO2Nhc2UgMzpyZXR1cm4iSU5WQUxJRF9BUkdVTUVOVCI7Y2FzZSA0OnJldHVybiJERUFETElORV9FWENFRURFRCI7Y2FzZSA1OnJldHVybiJOT1RfRk9VTkQiO2Nhc2UgNjpyZXR1cm4iQUxSRUFEWV9FWElTVFMiO2Nhc2UgNzpyZXR1cm4iUEVSTUlTU0lPTl9ERU5JRUQiO2Nhc2UgMTY6cmV0dXJuIlVOQVVUSEVOVElDQVRFRCI7Y2FzZSA4OnJldHVybiJSRVNPVVJDRV9FWEhBVVNURUQiO2Nhc2UgOTpyZXR1cm4iRkFJTEVEX1BSRUNPTkRJVElPTiI7Y2FzZSAxMDpyZXR1cm4iQUJPUlRFRCI7Y2FzZSAxMTpyZXR1cm4iT1VUX09GX1JBTkdFIjtjYXNlIDEyOnJldHVybiJVTklNUExFTUVOVEVEIjtjYXNlIDEzOnJldHVybiJJTlRFUk5BTCI7Y2FzZSAxNDpyZXR1cm4iVU5BVkFJTEFCTEUiO2Nhc2UgMTU6cmV0dXJuIkRBVEFfTE9TUyI7CmRlZmF1bHQ6cmV0dXJuIiJ9fTtSMT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9UTEoKTtiPWIoKTthLnYoYyxRMSgpLWQpO3JldHVybiBifTtPc2E9ZnVuY3Rpb24oYSxiLGMsZCl7YT1Hc2EoRXNhKENzYShuZXcgUzEsYSkpKS5ubCgpO2IubGVuZ3RoJiZGc2EoYSxtc2EobmV3IE1zYSxiKSk7ZCE9PXZvaWQgMCYmKGEuTmU9ZCk7dmFyIGU9bmV3IE5zYShhLmJ1aWxkKCkpO0VaKGUsYSk7dmFyIGY9bmV3IFQxKHtmbHVzaChoKXt0cnl7ZS5mbHVzaChoKX1jYXRjaChrKXtjKGspfX19KTtmLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57c2V0VGltZW91dCgoKT0+e3RyeXtmLkQoKX1maW5hbGx5e2UuZGlzcG9zZSgpfX0pfSk7Zi5CPTFFNTtmLmZsdXNoSW50ZXJ2YWw9M0U0O2Yuby5zZXRJbnRlcnZhbCgzRTQpO3JldHVybiBmfTsKUHNhPWZ1bmN0aW9uKGEpe2lmKGEudGltZXI9PT12b2lkIDApe2xldCBiPU1hdGgubWF4KDAsYS5qK2Euby1RMSgpKTthLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0cnl7YS5jYWxsYmFjaygpfWZpbmFsbHl7YS5qPVExKCksYS50aW1lcj12b2lkIDB9fSxiKX19O1JzYT1mdW5jdGlvbihhLGI9W10pe3JldHVybiBuZXcgUXNhKGEsYil9O1ExPWZ1bmN0aW9uKCl7cmV0dXJuIGdsb2JhbFRoaXMucGVyZm9ybWFuY2U/Lm5vdz8uKCk/P0RhdGUubm93KCl9O1UxPWZ1bmN0aW9uKGEsYil7aWYoYS5kaXNhYmxlKXJldHVybiBuZXcgU3NhO2I9Yj9qMShiKTpbXTtyZXR1cm4gUnNhKHttYjphLm1iLHpsOmEuU3Ysbm06YS5LeSxOZTphLk5lLEZqOmEuRmosSWc6YS5JZ30sYil9O1cxPWZ1bmN0aW9uKCl7VjEuaW5zdGFuY2V8fChWMS5pbnN0YW5jZT1uZXcgVjEpO3JldHVybiBWMS5pbnN0YW5jZX07ClRzYT1mdW5jdGlvbihhLGIsYyxkKXtpZighYiYmIWMpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2lmKCFkKXJldHVybiBYMShiLGMpO3ZhciBlOyhlPWEucHJvbWlzZXMpW2RdfHwoZVtkXT1uZXcgUHJvbWlzZSgoZixoKT0+e1gxKGIsYykudGhlbigoKT0+e2Euaj1kO2YoKX0saz0+e2RlbGV0ZSBhLnByb21pc2VzW2RdO2goayl9KX0pKTtyZXR1cm4gYS5wcm9taXNlc1tkXX07JDE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gVHNhKGEsXy5OeChiLFkxLDEsXy53eiksXy5OeChiLFoxLDIsXy53eiksSl8oYiwzLHZvaWQgMCxfLnd6KSl9O1gxPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/VXNhKGIpOmE/VnNhKGEpOlByb21pc2UucmVzb2x2ZSgpfTsKVXNhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e3ZhciBkPV8uQ2QoIlNDUklQVCIpLGU9VHJhKGEpO18ub2IoZCxlKTtkLm9ubG9hZD0oKT0+e18uRGQoZCk7YigpfTtkLm9uZXJyb3I9KCk9PntfLkRkKGQpO2MoRXJyb3IoInFlIikpfTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIkhFQUQiKVswXXx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5hcHBlbmRDaGlsZChkKX0pfTtWc2E9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBQcm9taXNlKGI9Pnt2YXIgYz1fLkNkKCJTQ1JJUFQiKTtpZihhKXt2YXIgZD1fLlh0KF8uZWQoYSw2LHZvaWQgMCxfLkR2KSk7ZD1kPT09bnVsbHx8ZD09PXZvaWQgMD9udWxsOl8ua2IoZCl9ZWxzZSBkPW51bGw7Xy5uYihjLGQpOyhkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiSEVBRCIpWzBdfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmFwcGVuZENoaWxkKGMpO18uRGQoYyk7YigpfSl9OwpXc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDEsQVooYiksIiIpfTtYc2E9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXy5XeChhLDIsQVooYiksIiIpfTsKYXRhPWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQ9VzEoKSxlPVByb21pc2UucmVzb2x2ZSh2b2lkIDApLGYpe2F3YWl0IDA7Zm9yKHZhciBoOzspe2xldCBrPW51bGw7aWYoaCl7YTIoYSw3KTt0cnl7az1hd2FpdCBiMihoLnNuYXBzaG90KHt9KSxmLmF2LCgpPT5Qcm9taXNlLnJlc29sdmUoIkU6Q1RPIikpfWNhdGNoKG4pe2s9IkU6VUNFIn19bGV0IGwsbT1uZXcgQjEoaD9mLkp2OmYuS3YsZi5MdixmLk12LGYuSXYpO2ZvcihsZXQgbj0xO248PWYubWF4QXR0ZW1wdHM7bisrKXtpZihuIT09MSl7YTIoYSwwKTthLmo9bmV3IGMyKG0uaixmLmVrLGYubHMpO2xldCBwPWF3YWl0IGEuai5wcm9taXNlO2Euaj12b2lkIDA7cD09PTE/KG49MSxtLnJlc2V0KCkpOkMxKG0pfXRyeXtsZXQgcDtjP3A9YzooYTIoYSw1KSxwPWF3YWl0IGIyKFlzYShiLGQuaixrKSxmLlZ2LCgpPT5Qcm9taXNlLnJlamVjdChFcnJvcigic2UiKSkpKTthMihhLDMpO2F3YWl0IGIyKCQxKGQscCksZi5xeSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInRlIikpKTsKYTIoYSw4KTthd2FpdCBlO2xldCByPW5ldyBkMih7Y2hhbGxlbmdlOnAsbmc6YS5vcHRpb25zLm5nLEZzOmEub3B0aW9ucy5Gc30pO2F3YWl0IGIyKHIuQ2csZi5tQSwoKT0+UHJvbWlzZS5yZWplY3QoRXJyb3IoInVlIikpKTtsPXI7YnJlYWt9Y2F0Y2gocCl7YS5oYW5kbGVFcnJvcihwKSxlMihhKX19aWYoYS5pYSgpKWJyZWFrO2wmJihjPXZvaWQgMCxac2EoYSxoKSxoPWwsJHNhKGEsbCksZTIoYSkpO2EyKGEsMik7YS5qPW5ldyBjMihmLkZyLGYuZWssZi5scyk7YS5pc1BhdXNlZCYmYS5qLnBhdXNlKCk7YXdhaXQgYS5qLnByb21pc2U7YS5qPXZvaWQgMDtpZihhLmlhKCkpYnJlYWt9aD8uZGlzcG9zZSgpfTsKYnRhPWZ1bmN0aW9uKGEpe2EuTT1FcnJvcigicmUiKTthLkQucmVzb2x2ZSgpO2sxKGEuSS5wcm9taXNlKTthLkkucmVqZWN0KEVycm9yKCJyZSIpKTthLlguZGlzcG9zZSgpO1Byb21pc2UuYWxsKGEuQikudGhlbihhc3luYygpPT57YS5vPy5kaXNwb3NlKCk7YS5vPXZvaWQgMH0pO2EuQj1bXTthLmo/Lm8oKTtrMShhLnYucHJvbWlzZSk7YS52LnJlamVjdChFcnJvcigicmUiKSl9O2YyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5HajthLkdqPSgpPT57YygpO2IoKX19OyRzYT1mdW5jdGlvbihhLGIpe2EuaWEoKXx8KGEubz1iLGEuWC51cGRhdGUoYi5WaCgpKSxhLkQucmVzb2x2ZSgpLGEuSS5yZXNvbHZlKHZvaWQgMCksYS5HaigpKX07WnNhPWZ1bmN0aW9uKGEsYil7YiYmKFByb21pc2UuYWxsKGEuQikudGhlbigoKT0+dm9pZCBiLmRpc3Bvc2UoKSksYS5CPVtdKX07YTI9ZnVuY3Rpb24oYSxiKXthLlo9YjthLm9wdGlvbnMuaks/LihiKX07CmUyPWZ1bmN0aW9uKGEpe2EuaWEoKXx8KGEudi5yZXNvbHZlKCksYS52PW5ldyBfLmNzKX07YjI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO2M9KG5ldyBQcm9taXNlKGU9PntkPXNldFRpbWVvdXQoZSxiKX0pKS50aGVuKGMpO2sxKGMpO3JldHVybiBQcm9taXNlLnJhY2UoW2EuZmluYWxseSgoKT0+dm9pZCBjbGVhclRpbWVvdXQoZCkpLGNdKX07Y3RhPWZ1bmN0aW9uKGEsYil7YS5lbmRUaW1lTXM9RGF0ZS5ub3coKStiO2EudGljaygpfTtnMj1mdW5jdGlvbihhKXthLmomJihjbGVhclRpbWVvdXQoYS5qKSxhLmo9bnVsbCl9O2gyPWZ1bmN0aW9uKGEsYil7dHJ5e3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oYSxiKSwhMH1jYXRjaChjKXtyZXR1cm4hMX19OwppMj1mdW5jdGlvbihhLGI9MCxjPWEubGVuZ3RoLGQpe3ZhciBlPTA7Zm9yKGQmJihlPWkyKGQpKTtiPGM7YisrKWU9ZHRhKDMxLGUpKyh0eXBlb2YgYT09PSJzdHJpbmciP2EuY2hhckNvZGVBdChiKTphW2JdKXwwO3JldHVybiBlfTtrMj1mdW5jdGlvbihhKXt2YXIgW2IsY109W2kyKGEsMCxhLmxlbmd0aD4+MSxqMiksaTIoYSxhLmxlbmd0aD4+MSldO3JldHVybiBiLnRvU3RyaW5nKDE2KStjLnRvU3RyaW5nKDE2KX07CmwyPWZ1bmN0aW9uKGEsYil7dmFyIGM9W2kyKGIsMCxiLmxlbmd0aD4+MSx2b2lkIDApLGkyKGIsYi5sZW5ndGg+PjEpXTthPW5ldyBVaW50MzJBcnJheShhLmJ1ZmZlcik7Yj1hWzBdO3ZhciBbZCxlXT1jO2ZvcihjPTE7YzxhLmxlbmd0aDtjKz0yKXt2YXIgZj1iLGg9YyxrPWQsbD1lO2ZvcihsZXQgbT0wO208MjI7bSsrKWg9aD4+Pjh8aDw8MjQsaCs9ZnwwLGhePWsrMzgyOTMsZj1mPDwzfGY+Pj4yOSxmXj1oLGw9bD4+Pjh8bDw8MjQsbCs9a3wwLGxePW0rMzgyOTMsaz1rPDwzfGs+Pj4yOSxrXj1sO2Y9W2YsaF07YVtjXV49ZlswXTtjKzE8YS5sZW5ndGgmJihhW2MrMV1ePWZbMV0pfX07CmV0YT1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSg0LShqMi5sZW5ndGgrYy5sZW5ndGgpJTQpJTQsaD1uZXcgVWludDhBcnJheSg0K2YrajIubGVuZ3RoKzQrYy5sZW5ndGgpLGs9bmV3IERhdGFWaWV3KGguYnVmZmVyKSxsPTA7ay5zZXRVaW50MzIobCxNYXRoLnJhbmRvbSgpKjQyOTQ5NjcyOTUpO2w9bCs0K2Y7aC5zZXQoajIsbCk7bCs9ajIubGVuZ3RoO2suc2V0VWludDMyKGwsZSk7aC5zZXQoYyxsKzQpO2wyKGgsZCk7cmV0dXJuIGEucmIoYixtPT52b2lkIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShtKSk/aDIoYixfLnNjKGgpKT8icyI6InQiOiJpIn07CmZ0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShhKTtpZighYylyZXR1cm5bIm0iXTt0cnl7dmFyIGQ9Xy51YyhjKTtsMihkLGIpfWNhdGNoKGUpe3JldHVybiBnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJjIl19Zm9yKGI9NDtiPDcmJmRbYl09PT0wOyliKys7Zm9yKGM9MDtjPGoyLmxlbmd0aDtjKyspaWYoZFtiKytdIT09ajJbY10pcmV0dXJuIGdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShhKSxbImQiXTtjPShuZXcgRGF0YVZpZXcoZC5idWZmZXIpKS5nZXRVaW50MzIoYik7cmV0dXJuIE1hdGguZmxvb3IoRGF0ZS5ub3coKS8xRTMpPj1jPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oYSksWyJlIl0pOlsiYSIsbmV3IFVpbnQ4QXJyYXkoZC5idWZmZXIsYis0KV19OwpndGE9ZnVuY3Rpb24oYSl7dmFyIGI9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCJpVTVxLSFPOUAkIik7aWYoIWIpcmV0dXJuIG5ldyBtMihhKTt2YXIgYz1iLnNwbGl0KCIsIik7aWYoYy5sZW5ndGg8MilyZXR1cm4gZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCJpVTVxLSFPOUAkIiksbmV3IG0yKGEpO2I9Yy5zbGljZSgxKTtiLmxlbmd0aD09PTEmJmJbMF09PT0iIiYmKGI9W10pO2M9TnVtYmVyKGNbMF0pO3JldHVybiBpc05hTihjKXx8YzwwfHxjPmIubGVuZ3RoPyhnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oImlVNXEtIU85QCQiKSxuZXcgbTIoYSkpOm5ldyBtMihhLGMsYil9O24yPWZ1bmN0aW9uKGEsYil7dmFyIGM9c2V0VGltZW91dCgoKT0+e2Eudi5yZXNvbHZlKCl9LGIpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KGMpKX07CnAyPWZ1bmN0aW9uKGEsYil7dmFyIGM9YCR7YihhLmVycm9yLm1lc3NhZ2UpfToke2IoYS5lcnJvci5zdGFjayl9YC5zdWJzdHJpbmcoMCwyMDQ4KTtiPWMubGVuZ3RoKzE7Yz1vMihjKTt2YXIgZD1uZXcgVWludDhBcnJheSg0K2MubGVuZ3RoKTtkLnNldChbNDIsYiYxMjd8MTI4LGI+PjcsYS5lcnJvci5jb2RlXSk7ZC5zZXQoYyw0KTtyZXR1cm4gZH07bzI9ZnVuY3Rpb24oYSl7cmV0dXJuIGdsb2JhbFRoaXMuVGV4dEVuY29kZXI/KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKGEpOl8uYWMoYSl9Owp0Mj1hc3luYyBmdW5jdGlvbihhKXt2YXIgYj12b2lkIDA7YS52Kys7dmFyIGM9bmV3IF8uY3M7YS52bSBpbnN0YW5jZW9mIHEyJiZhLnZtLkIucHVzaChjLnByb21pc2UpO2lmKGEuUW4pe2xldCBmPW5ldyBfLmNzO3NldFRpbWVvdXQoKCk9PnZvaWQgZi5yZXNvbHZlKCkpO2F3YWl0IGYucHJvbWlzZX12YXIgZD1hLlguc2hhcmUoKTt0cnl7YS5zdGF0ZT01O2xldCBmPVtdLGg9YXdhaXQgYjIoYS52bS5zbmFwc2hvdCh7S2M6e30sSXM6Zn0pLGEuTGcuQkEsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxNSwiTURBOlRpbWVvdXQiKSkpO3IyKGEsIk1EQTpEaXNwb3NlZCIpO2xldCBrPWZbMF07YS5zdGF0ZT02O2xldCBsPWF3YWl0IGIyKGh0YShhLm9kLGgpLGEuTGcuV3YsKCk9PlByb21pc2UucmVqZWN0KG5ldyBoMSgxMCwiQldCOlRpbWVvdXQiKSkpO3IyKGEsIkJXQjpEaXNwb3NlZCIpO2Euc3RhdGU9NztiPVIxKGQsKCk9Pnt2YXIgbT1pdGEoYSxsLGMsayk7bS52LnByb21pc2UudGhlbigoKT0+CnZvaWQgYS5CKCkpO3JldHVybiBtfSwiaSIpfWNhdGNoKGYpe2I/LmRpc3Bvc2UoKTtpZighYS5vKXtsZXQgaD1qdGEoYSxmKTtjLnJlc29sdmUoKTt2YXIgZTtpZihlPWEudm0gaW5zdGFuY2VvZiBxMiYmYS52PDIpYTppZihmIGluc3RhbmNlb2YgaDEpZT1mLmNvZGUhPT0zMiYmZi5jb2RlIT09MjAmJmYuY29kZSE9PTEwO2Vsc2V7aWYoZiBpbnN0YW5jZW9mIHMyKXN3aXRjaChmLmNvZGUpe2Nhc2UgMjpjYXNlIDEzOmNhc2UgMTQ6Y2FzZSA0OmJyZWFrO2RlZmF1bHQ6ZT0hMTticmVhayBhfWU9ITB9aWYoZSl7bGV0IGs9c2V0VGltZW91dCgoKT0+dm9pZCBhLkIoKSwoMStNYXRoLnJhbmRvbSgpKi4yNSkqKGEuaj82RTQ6MUUzKSk7YS5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBjbGVhclRpbWVvdXQoaykpO3JldHVybn1hLm89aH1kLkpiKGEuaj8xMzoxNCk7YS55Zy5yZWplY3QoYS5vKTtyZXR1cm59ZmluYWxseXtkLmRpc3Bvc2UoKX1hLnN0YXRlPTg7YS52PTA7YS5qPy5kaXNwb3NlKCk7CmEuaj1iO2EueWcucmVzb2x2ZSgpfTtqdGE9ZnVuY3Rpb24oYSxiKXtpZighKGIgaW5zdGFuY2VvZiBoMSkpaWYoYiBpbnN0YW5jZW9mIHMyKXtsZXQgYz1FcnJvcihiLnRvU3RyaW5nKCkpO2Muc3RhY2s9Yi5zdGFjaztiPW5ldyBoMSgxMSwiRUJIOkVycm9yIixjKX1lbHNlIGI9bmV3IGgxKDEyLCJCU086VW5rbm93biIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O3IyPWZ1bmN0aW9uKGEsYil7aWYoYS5pYSgpKXRocm93IG5ldyBoMShhLmo/MjA6MzIsYik7fTsKaXRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPShzXyhfLmVkKGIsMikpPz8wKSoxRTM7aWYoZTw9MCl0aHJvdyBuZXcgaDEoMzEsIlRUTTpJbnZhbGlkIik7aWYoSl8oYiw0KSlyZXR1cm4gbmV3IGt0YShhLlgsSl8oYiw0KSxlKTtpZighKHNfKF8uZWQoYiwzKSk/PzApKXJldHVybiBuZXcgbHRhKGEuWCxGWihCXyhiKSksZSk7aWYoIWQpdGhyb3cgbmV3IGgxKDQsIlBNRDpVbmRlZmluZWQiKTtkPWQoRlooQl8oYikpKTtpZih0eXBlb2YgZCE9PSJmdW5jdGlvbiIpdGhyb3cgbmV3IGgxKDE2LCJBUEY6RmFpbGVkIik7YS5EPU1hdGguZmxvb3IoKERhdGUubm93KCkrZSkvMUUzKTthPW5ldyB1MihhLlgsZCxzXyhfLmVkKGIsMykpPz8wLGUpO2EuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgYy5yZXNvbHZlKCkpO3JldHVybiBhfTsKdzI9ZnVuY3Rpb24oYSxiLGMpe3RyeXtpZihhLmlhKCkpdGhyb3cgbmV3IGgxKDIxLCJCTlQ6ZGlzcG9zZWQiKTtpZighYS5qJiZhLm8pdGhyb3cgYS5vO3JldHVybiBtdGEoYSxiLGMpPz9udGEoYSxiLGMpPz9vdGEoYSxiLGMpfWNhdGNoKGQpe2lmKCFiLk15KXRocm93IHYyKGEsZCk7cmV0dXJuIHB0YShhLGMsZCl9fTt2Mj1mdW5jdGlvbihhLGIpe2I9YiBpbnN0YW5jZW9mIGgxP2I6bmV3IGgxKDUsIlRWRDplcnJvciIsYik7cmV0dXJuIGEucmVwb3J0RXJyb3IoYil9O210YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEuaj8uc20oKCk9PngyKGEsYiksYyxkPT57aWYoYS5qIGluc3RhbmNlb2YgdTImJmIueWk/LkpBKXRyeXthLmNhY2hlPy5qKHgyKGEsYiksZCxiLnlpLlhvLGEuRC0xMjApfWNhdGNoKGUpe2EucmVwb3J0RXJyb3IobmV3IGgxKDI0LCJFTFg6d3JpdGUiLGUpKX19KX07Cm50YT1mdW5jdGlvbihhLGIsYyl7aWYoYi55aT8uQXUpdHJ5e2xldCBkPWEuY2FjaGU/Lm8oeDIoYSxiKSxiLnlpLlhvKTtyZXR1cm4gZD9jP1IxKGEuWCwoKT0+Xy5zYyhkLDIpLCJhIik6ZDp2b2lkIDB9Y2F0Y2goZCl7YS5yZXBvcnRFcnJvcihuZXcgaDEoMjMsIlJYTzpyZWFkIixkKSl9fTtvdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtpZighYi5MeSl0aHJvdyBuZXcgaDEoMjksIlNERjpub3RyZWFkeSIpO3JldHVybiBfLlZ6KGQsbmV3IHF0YShhLlgsYS5zdGF0ZSkpLnNtKCgpPT54MihhLGIpLGMpfWNhdGNoKGUpe2QuZXJyb3I9ZSxkLmhhc0Vycm9yPSEwfWZpbmFsbHl7Xy5XeihkKX19OwpwdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXtzdGFjazpbXSxlcnJvcjp2b2lkIDAsaGFzRXJyb3I6ITF9O3RyeXtsZXQgZT12MihhLGMpO3JldHVybiBfLlZ6KGQsbmV3IHJ0YShhLlgsZSkpLnNtKCgpPT5bXSxiKX1jYXRjaChlKXtkLmVycm9yPWUsZC5oYXNFcnJvcj0hMH1maW5hbGx5e18uV3ooZCl9fTt4Mj1mdW5jdGlvbihhLGIpe3JldHVybiBiLnNsP2Iuc2w6Yi5LYz9SMShhLlgsKCk9PmIuc2w9bzIoYi5LYyksImMiKTpbXX07eTI9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PSJcciJ8fGE9PSJcbiJ8fGE9PSIgInx8YT09Ilx0In07ejI9ZnVuY3Rpb24oKXt0aGlzLk09bnVsbDt0aGlzLlk9W107dGhpcy5JPSIiO3RoaXMuVT1bXTt0aGlzLnY9dGhpcy5vPTA7dGhpcy5EPSExO3RoaXMuSz0wO3RoaXMuWj0vW1xcIl0vZzt0aGlzLmo9dGhpcy5CPTB9OwpBMj1mdW5jdGlvbihhLGIsYyl7YS5CPTM7YS5NPSJUaGUgc3RyZWFtIGlzIGJyb2tlbiBAIithLnYrIi8iK2MrIi4gV2l0aCBpbnB1dDpcbiIrYjt0aHJvdyBFcnJvcihhLk0pO307QzI9ZnVuY3Rpb24oKXt2YXIgYT1VXyhzdGEpLGI7cmV0dXJuKG5ldyBfLkJmKChjLGQpPT57YS5vblN1Y2Nlc3M9ZT0+e18ucWooZSk/YyhuZXcgdHRhKGUpKTpkKG5ldyBCMihgUmVxdWVzdCBmYWlsZWQsIHN0YXR1cz0ke18ucGooZSl9YCwibmV0LmJhZHN0YXR1cyIpKX07YS5vbkVycm9yPSgpPT57ZChuZXcgQjIoIlVua25vd24gcmVxdWVzdCBlcnJvciIsIm5ldC51bmtub3duIikpfTthLm9uVGltZW91dD0oKT0+e2QobmV3IEIyKCJSZXF1ZXN0IHRpbWVkIG91dCIsIm5ldC50aW1lb3V0IikpfTtiPV8uemooIi8vZ29vZ2xlYWRzLmcuZG91YmxlY2xpY2submV0L3BhZ2VhZC9pZCIsYSl9KSkuS2coYz0+e2MgaW5zdGFuY2VvZiBfLlBmJiZiPy5hYm9ydCgpO3JldHVybiBfLk90KGMpfSl9Owp1dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0yO2Eubz1ifTt2dGE9ZnVuY3Rpb24oYSxiPW51bGwpe2Euaj0xO2Eubz1ifTtFMj1mdW5jdGlvbihhPW51bGwpe3ZhciBiPW5ldyBEMjt1dGEoYixhKTtyZXR1cm4gYn07RjI9ZnVuY3Rpb24oYT1udWxsKXt2YXIgYj1uZXcgRDI7dnRhKGIsYSk7cmV0dXJuIGJ9O3d0YT1mdW5jdGlvbihhKXt2YXIgYj1hLmRvY2lkfHxhLnZpZGVvX2lkfHxhLnZpZGVvSWR8fGEuaWQ7aWYoYilyZXR1cm4gYjtiPWEucmF3X3BsYXllcl9yZXNwb25zZTtifHwoYT1hLnBsYXllcl9yZXNwb25zZSkmJihiPUpTT04ucGFyc2UoYSkpO3JldHVybiBiJiZiLnZpZGVvRGV0YWlscyYmYi52aWRlb0RldGFpbHMudmlkZW9JZHx8bnVsbH07CkcyPWZ1bmN0aW9uKGEpe3ZhciBiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9VTktOT1dOIjt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuaW5jbHVkZXMoInlvdXR1YmVlZHVjYXRpb24uY29tIikmJihiPSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKTt2YXIgYz1hLnJhd19lbWJlZGRlZF9wbGF5ZXJfcmVzcG9uc2U7aWYoIWMmJihhPWEuZW1iZWRkZWRfcGxheWVyX3Jlc3BvbnNlKSl0cnl7Yz1KU09OLnBhcnNlKGEpfWNhdGNoKGQpe3JldHVybiBifWlmKGMpYTp7YT14dGE7Zm9yKGxldCBkIGluIGEpaWYoYVtkXT09Yy5lbWJlZGRlZFBsYXllck1vZGUpe2I9YVtkXTticmVhayBhfX1yZXR1cm4gYn07Cnl0YT1mdW5jdGlvbigpe2lmKF8ueCgiZGlzYWJsZV9iaXNjb3R0aV9mZXRjaF9lbnRpcmVseV9mb3JfYWxsX3dlYl9jbGllbnRzIikpcmV0dXJuIEVycm9yKCJ2ZSIpO2lmKCFfLnN6KCkpcmV0dXJuIEVycm9yKCJ3ZSIpO3ZhciBhPV8udygiUExBWUVSX1ZBUlMiLHt9KTtpZihUXyhhKT09IjEiKXJldHVybiBFcnJvcigieGUiKTtpZihHMihhKT09PSJFTUJFRERFRF9QTEFZRVJfTU9ERV9QRkwiKXJldHVybiBFcnJvcigieWUiKX07Wl89ZnVuY3Rpb24oKXt2YXIgYT15dGEoKTtpZihhIT09dm9pZCAwKXJldHVybiBfLk90KGEpO0gyfHwoSDI9QzIoKS50aGVuKEkyKS5LZyhiPT5KMigyLGIpKSk7cmV0dXJuIEgyfTsKSTI9ZnVuY3Rpb24oYSl7YT1hLmoucmVzcG9uc2VUZXh0O2lmKGEubGFzdEluZGV4T2YoIildfSciLDApIT0wKXRocm93IG5ldyBLMjthPUpTT04ucGFyc2UoYS5zdWJzdHIoNCkpO2lmKChhLnR5cGV8fDEpPjEpdGhyb3cgbmV3IEsyO2E9YS5pZDskXyhhKTtIMj1GMihhKTtMMigxOEU1LDIpO3JldHVybiBhfTtKMj1mdW5jdGlvbihhLGIpe2I9bmV3IE0yKGIpOyRfKCIiKTtIMj1FMihiKTthPjAmJkwyKDEyRTQsYS0xKTt0aHJvdyBiO307TDI9ZnVuY3Rpb24oYSxiKXtfLm1qKGZ1bmN0aW9uKCl7QzIoKS50aGVuKEkyLGM9PkoyKGIsYykpLktnKF8uZ2QpfSxhKX07enRhPWZ1bmN0aW9uKCl7dHJ5e2xldCBhPV8uc2EoInl0LmFkcy5iaXNjb3R0aS5nZXRJZF8iKTtyZXR1cm4gYT9hKCk6Wl8oKX1jYXRjaChhKXtyZXR1cm4gXy5PdChhKX19OwpOMj1mdW5jdGlvbigpe3ZhciBhPSExO3RyeXthPSEhd2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oInNlc3Npb25fbG9naW5pbmZvIil9Y2F0Y2h7YT0hMH1yZXR1cm4oXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJXRUIifHxfLncoIklOTkVSVFVCRV9DTElFTlRfTkFNRSIpPT09IldFQl9DUkVBVE9SIikmJmF9OwpPMj1mdW5jdGlvbigpe3RyeXt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic3RpY2tpbmVzc19yZWxvYWQiKTt3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgic2Vzc2lvbl9sb2dpbmluZm8iKTtfLlFpKCJMT0dJTl9JTkZPIiwiIik7d2luZG93LnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oImZyb21fc3dpdGNoX2FjY291bnQiLCIxIik7dmFyIGE7bGV0IGM9QXRhO2N8fChjPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNwZXJzaXN0X2lkZW50aXR5IikpO2lmKGE9Yyl7dmFyIGI9YS5zcmM/KG5ldyBVUkwoYS5zcmMpKS5vcmlnaW46IioiO2EuY29udGVudFdpbmRvdz8ucG9zdE1lc3NhZ2Uoe2FjdGlvbjoiY2xlYXIifSxiKX19Y2F0Y2h7fX07ClAyPWZ1bmN0aW9uKGEpe2lmKGEpaWYoYS5zdGFydHNXaXRoKCJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vQWRkU2Vzc2lvbiIpKU8yKCk7ZWxzZSBpZihhLnN0YXJ0c1dpdGgoImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4iKSlPMigpO2Vsc2V7dmFyIGI7aWYoYj1hLnN0YXJ0c1dpdGgoImh0dHBzOi8vbXlhY2NvdW50Lmdvb2dsZS5jb20iKSliPShhIGluc3RhbmNlb2YgXy5meT9hLmNsb25lKCk6bmV3IF8uZnkoYSkpLmouZW5kc1dpdGgoIi95b3V0dWJlb3B0aW9ucyIpO2ImJk8yKCl9aWYoXy53KCJMT0dHRURfSU4iLCEwKSYmTjIoKSl7Yj1fLncoIlZBTElEX1NFU1NJT05fVEVNUERBVEFfRE9NQUlOUyIsW10pO3ZhciBjPV8uUGIod2luZG93LmxvY2F0aW9uLmhyZWYpO2MmJmIucHVzaChjKTtjPV8uUGIoYSk7Xy5zYihiLGMpPj0wfHwhYyYmYS5sYXN0SW5kZXhPZigiLyIsMCk9PTA/KGI9Xy5OeShhKSwoYj1fLk95KGIpKT8oYj1fLnZ6KGIpLApiPShiPV8uTGouZ2V0KGIsdm9pZCAwKXx8bnVsbCk/Xy5iaihiKTp7fSk6Yj1udWxsKTpiPW51bGw7Yj09bnVsbCYmKGI9e30pO2M9Yjt2YXIgZD12b2lkIDA7TjIoKT8oZHx8KGQ9Xy53KCJMT0dJTl9JTkZPIikpLGQ/KGMuc2Vzc2lvbl9sb2dpbmluZm89ZCxjPSEwKTpjPSExKTpjPSExO2MmJl8udXooYSxiKX19O0J0YT1mdW5jdGlvbihhLGI9e30sYz0hMSl7dmFyIGQ9Xy53KCJFVkVOVF9JRCIpO2QmJihiLmVpfHwoYi5laT1kKSk7YiYmXy51eihhLGIpO2lmKGMpcmV0dXJuITE7UDIoYSk7Yj13aW5kb3c7YT1fLldiKGEse30pO1AyKGEpO2E9Xy5LeihhKTtiPWIubG9jYXRpb247YT1fLmRiKGEpO2EhPT12b2lkIDAmJihiLmhyZWY9YSk7cmV0dXJuITB9O1EyPWZ1bmN0aW9uKGEpe2lmKFRfKF8udygiUExBWUVSX1ZBUlMiLHt9KSkhPSIxIil7YSYmd3JhKCk7dHJ5e3p0YSgpLnRoZW4oKCk9Pnt9LCgpPT57fSksXy5taihRMiwxOEU1KX1jYXRjaChiKXtfLlVpKGIpfX19OwpEdGE9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cubG9jYXRpb24uaHJlZjtpZihfLngoImtldmxhcl9kaXNhYmxlX3RoZW1lX3BhcmFtIikpcmV0dXJuIG51bGw7Xy5RYihhKTt0cnl7bGV0IGI9YTAoYSkudGhlbWU7cmV0dXJuIEN0YS5nZXQoYil8fG51bGx9Y2F0Y2goYil7fXJldHVybiBudWxsfTsKUzI9ZnVuY3Rpb24oYSl7dmFyIGI9bmV3IFIyO2lmKGEuaW50ZXJwcmV0ZXJKYXZhc2NyaXB0KXt2YXIgYz1ZXyhhLmludGVycHJldGVySmF2YXNjcmlwdCk7Yz1fLmxiKGMpLnRvU3RyaW5nKCk7dmFyIGQ9bmV3IFkxO0JaKGQsNixjKTtfLkt3KGIsMSxkLF8ud3opfWVsc2UgYS5pbnRlcnByZXRlclVybCYmKGM9Xy5odyhhLmludGVycHJldGVyVXJsKSxjPV8uVWEoYykudG9TdHJpbmcoKSxkPW5ldyBaMSxCWihkLDQsYyksXy5LdyhiLDIsZCxfLnd6KSk7YS5pbnRlcnByZXRlckhhc2gmJl8uV3goYiwzLEFaKGEuaW50ZXJwcmV0ZXJIYXNoKSwiIixfLnd6KTthLnByb2dyYW0mJl8uV3goYiw0LEFaKGEucHJvZ3JhbSksIiIsXy53eik7YS5nbG9iYWxOYW1lJiZfLld4KGIsNSxBWihhLmdsb2JhbE5hbWUpLCIiLF8ud3opO2EuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2ImJl8uV3goYiw3LEFaKGEuY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2IpLCIiLF8ud3opO3JldHVybiBifTsKVDI9ZnVuY3Rpb24oYSl7dmFyIGI9e307YT1hLnNwbGl0KCImIik7Zm9yKGxldCBjIG9mIGEpYT1jLnNwbGl0KCI9IiksYS5sZW5ndGg9PT0yJiYoYlthWzBdXT1hWzFdKTtyZXR1cm4gYn07VTI9ZnVuY3Rpb24oYSl7cmV0dXJuIE51bWJlcihhLnQpfHw3MjAwfTtFdGE9YXN5bmMgZnVuY3Rpb24oKXt2YXIgYT13aW5kb3c7YXdhaXQgZjEoVjIoKSk7dmFyIGI9YS5iZ2V2bWM7aWYoIWIpdGhyb3cgRXJyb3IoInplIik7cmV0dXJue3BhdXNlOigpPT57Yi5wKCl9LHJlc3VtZTooKT0+e2IucigpfSxjaGVja0ZvclJlZnJlc2g6KCk9PmIuY3IoKX19O1YyPWZ1bmN0aW9uKCl7cmV0dXJuIF8ueCgiYmdfc3RfaHIiKT8iaGF2dW9rbWhocy0wIjpgaGF2dW9rbWhocy0ke01hdGguZmxvb3IoZ2xvYmFsVGhpcy5wZXJmb3JtYW5jZT8udGltZU9yaWdpbnx8MCl9YH07VzI9ZnVuY3Rpb24oYSl7d2luZG93LmJnZW5zPWF9OwpGdGE9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoYT0+e3ZhciBiPXdpbmRvdztiLm50cGV2YXNycyE9PXZvaWQgMD9hKG5ldyBYMihiLm50cGV2YXNycykpOihiLm50cHFmYmVsPT09dm9pZCAwJiYoYi5udHBxZmJlbD1bXSksYi5udHBxZmJlbC5wdXNoKGM9PnthKG5ldyBYMihjKSl9KSl9KX07Ckd0YT1mdW5jdGlvbigpe2lmKF8uc3ooKSl7dmFyIGE9Xy53KCJQTEFZRVJfVkFSUyIse30pO2lmKFRfKGEpIT0iMSImJkcyKGEpIT09IkVNQkVEREVEX1BMQVlFUl9NT0RFX1BGTCIpe3ZhciBiPSgpPT57WTI9ITA7Imdvb2dsZV9hZF9zdGF0dXMiaW4gd2luZG93P18uUWkoIkRDTEtTVEFUIiwxKTpfLlFpKCJEQ0xLU1RBVCIsMil9O3RyeXtsZXQgYz1fLmliKGRvY3VtZW50KTtIMChaMixiLGMpfWNhdGNoKGMpe30kMi5wdXNoKF8uamYucGIoKCk9PntpZighKFkyfHwiZ29vZ2xlX2FkX3N0YXR1cyJpbiB3aW5kb3cpKXt0cnl7RzAoWjIudG9TdHJpbmcoKSxiKX1jYXRjaChjKXt9WTI9ITA7Xy5RaSgiRENMS1NUQVQiLDMpfX0sNUUzKSl9fX07YTM9ZnVuY3Rpb24oKXt2YXIgYT1OdW1iZXIoXy53KCJEQ0xLU1RBVCIsMCkpO3JldHVybiBpc05hTihhKT8wOmF9O2IzPWZ1bmN0aW9uKGEsYil7YS5qPWJ9OwpJdGE9YXN5bmMgZnVuY3Rpb24oYSl7aWYoXy51Lnl0QXRQJiYhXy54KCJ5dGF0cF9rcyIpKXt2YXIgYj1hd2FpdCBfLnUueXRBdFA7ZGVsZXRlIF8udS55dEF0UDt2YXIgYz1iPy5SO3ZhciBkPWI/LlQ7Yj1IdGEoYyk7bGV0IGY9ISFkO2Euby5vKGM/Yj9mPzc6MTA6Zj8xOjg6Zj8yOjksYS52KyspO2lmKCFjfHxiKWM9YXdhaXQgYS5SZihjMyhkLG51bGwpKSxjPUpTT04uc3RyaW5naWZ5KGMpO18udS55dEF0UkM/Xy51Lnl0QXRSQyhjKTpfLklwKEVycm9yKCJBZSIpKX1lbHNlIF8udS55dEF0UkM/Xy5yeChhc3luYygpPT57ZD1fLnUueXRBdFQ7ZGVsZXRlIF8udS55dEF0VDtpZihfLnUueXRBdFJDKXthLm8ubygyLGEudisrKTt2YXIgZj1hd2FpdCBhLlJmKGMzKGQsbnVsbCkpO18udS55dEF0UkMmJl8udS55dEF0UkMoSlNPTi5zdHJpbmdpZnkoZikpfWVsc2UgYS5vLm8oNixhLnYrKyl9LF8uc2ooImF0dF9pbml0X2RlbGF5IiwwKSk6KGQ9Xy51Lnl0QXRULGRlbGV0ZSBfLnUueXRBdFQsCmEuby5vKDEsYS52KyspKTtjPWF3YWl0IEZ0YSgpO2MuYmluZElubmVydHViZUNoYWxsZW5nZUZldGNoZXIoZj0+e2Euby5vKDMsYS52KyspO3JldHVybiBhLlJmKGMzKGQsZikpfSk7Yy5yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhmPT57Zj1mLmNoYWxsZW5nZTtpZighZil0aHJvdyBFcnJvcigiQmUiKTtmPXtjaGFsbGVuZ2U6ZixCZjpUMihmKSx2bTplLGJnQ2hhbGxlbmdlOm5ldyBSMn07Zj1Qcm9taXNlLnJlc29sdmUoZik7YS5qPWZ9KTt2YXIgZT1hd2FpdCBmMShWMigpKTtjPWMuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKS5jaGFsbGVuZ2U7aWYoIWMpdGhyb3cgRXJyb3IoIkNlIik7cmV0dXJue2NoYWxsZW5nZTpjLEJmOlQyKGMpLHZtOmUsYmdDaGFsbGVuZ2U6bmV3IFIyfX07CmUzPWFzeW5jIGZ1bmN0aW9uKGEpe3ZhciBiPWMzKHZvaWQgMCxXMSgpLmopO3RyeXt2YXIgYz1hd2FpdCBKdGEoYSxiKX1jYXRjaChmKXtyZXR1cm4gXy5JcChFcnJvcigiRGUiKSksZDMoYSw4NjRFNSkse2NoYWxsZW5nZToiIixCZjp7fSx2bTp2b2lkIDAsYmdDaGFsbGVuZ2U6dm9pZCAwfX1iPWMueXo7dmFyIGQ9Yy56ejtkMyhhLFUyKGQpKjFFMyk7YT12b2lkIDA7aWYoImMxYSJpbiBkJiZjLmJnQ2hhbGxlbmdlKXt2YXIgZT1TMihjLmJnQ2hhbGxlbmdlKTt0cnl7YXdhaXQgJDEoVzEoKSxlKX1jYXRjaChmKXtyZXR1cm4gXy5JcChmKSx7Y2hhbGxlbmdlOmIsQmY6ZCx2bTphLGJnQ2hhbGxlbmdlOmV9fXRyeXthPW5ldyBkMih7Y2hhbGxlbmdlOmUsbmc6e21iOiJhR0lmIn19KSxhd2FpdCBhLkNnfWNhdGNoKGYpe18uSXAoZiksYT12b2lkIDB9fXJldHVybntjaGFsbGVuZ2U6YixCZjpkLHZtOmEsYmdDaGFsbGVuZ2U6ZX19OwpKdGE9YXN5bmMgZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9dm9pZCAwLGQ9MDtkPDU7KXtpZihkPjApe2xldCBlPTFFMypNYXRoLnBvdygyLGQtMSkrTWF0aC5yYW5kb20oKSoxRTM7YXdhaXQgbmV3IFByb21pc2UoZj0+e18uWWooKCk9PntmKHZvaWQgMCl9LGUpfSl9dHJ5e2Euby5vKDQsYS52KyspO2xldCBlPWF3YWl0IGEuUmYoYik7cmV0dXJuIEt0YShlKX1jYXRjaChlKXtjPWUsZSBpbnN0YW5jZW9mIEVycm9yJiZfLklwKGUpfWQrK310aHJvdyBjO307ZDM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1EYXRlLm5vdygpK2IsZD1hc3luYygpPT57dmFyIGU9Yy1EYXRlLm5vdygpO2U8MUUzP2F3YWl0IEx0YShhKTpfLllqKGQsTWF0aC5taW4oZSw2RTQpKX07ZCgpfTtmMz1hc3luYyBmdW5jdGlvbihhLGIpe1cyKDIpO3RyeXtsZXQgYz1hd2FpdCBhLm5ldHdvcmsuUmYoYik7Yz9jLmNoYWxsZW5nZSYmIWMuYmdDaGFsbGVuZ2U/VzIoMSk6VzIoNCk6VzIoMyk7cmV0dXJuIGN9Y2F0Y2goYyl7VzIoMyl9fTsKS3RhPWZ1bmN0aW9uKGEpe2lmKCFhKXRocm93IEVycm9yKCJFZSIpO2lmKCFhLmNoYWxsZW5nZSl0aHJvdyBFcnJvcigiRmUiKTt2YXIgYj1hLmNoYWxsZW5nZSxjPVQyKGIpO2lmKCJjMWEiaW4gYyYmKCFhLmJnQ2hhbGxlbmdlfHwhYS5iZ0NoYWxsZW5nZS5wcm9ncmFtKSl0aHJvdyBFcnJvcigiR2UiKTtyZXR1cm57Li4uYSx5ejpiLHp6OmN9fTtMdGE9YXN5bmMgZnVuY3Rpb24oYSl7dmFyIGI9YXdhaXQgUHJvbWlzZS5yYWNlKFthLmosbnVsbF0pLGM9ZTMoYSk7YS5qPWM7Yj8udm0/LmRpc3Bvc2UoKX07TXRhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLllqKCgpPT57YyhiKCkpfSxhKX0pfTtjMz1mdW5jdGlvbihhLGIpe3ZhciBjPXtlbmdhZ2VtZW50VHlwZToiRU5HQUdFTUVOVF9UWVBFX1VOQk9VTkQifTthJiYoYy5lYWNyVG9rZW49YSk7YiYmKGMuaW50ZXJwcmV0ZXJIYXNoPWIpO3JldHVybiBjfTsKSHRhPWZ1bmN0aW9uKGEpe2lmKCFhfHwhXy54KCJyb3NjYXMiKSlyZXR1cm4hMTt0cnl7dmFyIGI9SlNPTi5wYXJzZShhKX1jYXRjaChjKXtyZXR1cm4hMX1hPWIuY2hhbGxlbmdlO2lmKCFhKXJldHVybiExO2I9VDIoYSk7YT1OdW1iZXIoYi5jKXx8dm9pZCAwO2I9VTIoYik7cmV0dXJuISFhJiZEYXRlLm5vdygpPihhK2IpKjFFM307aDM9ZnVuY3Rpb24oYSl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3ZhciBiPWczLlVOS05PV05fSU5URVJGQUNFO2lmKGIpe2I9bmV3IFJlZ0V4cChiKTtmb3IodmFyIGMgb2YgYSlpZihiLmV4ZWMoYykpcmV0dXJuIGN9dmFyIGQ9W107T2JqZWN0LmVudHJpZXMoZzMpLmZvckVhY2goKFtlLGZdKT0+eyJVTktOT1dOX0lOVEVSRkFDRSIhPT1lJiZkLnB1c2goZil9KTtjPW5ldyBSZWdFeHAoZC5qb2luKCJ8IikpO2Euc29ydCgoZSxmKT0+ZS5sZW5ndGgtZi5sZW5ndGgpO2ZvcihsZXQgZSBvZiBhKWlmKCFjLmV4ZWMoZSkpcmV0dXJuIGU7cmV0dXJuIGFbMF19OwpOdGE9ZnVuY3Rpb24oKXt2YXIgYSxiO3JldHVybntFbDpuZXcgaTMoKGMsZCk9PnthPWM7Yj1kfSkscmVzb2x2ZTphLHJlamVjdDpifX07azM9ZnVuY3Rpb24oYSl7cmV0dXJuIGozKGEpP2E6KDAsXy5ibykoYSk/bmV3IGkzKChiLGMpPT57YS50aGVuKGIsYyl9KTpuZXcgaTMoYj0+e2IoYSl9KX07T3RhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgaTMoKGIsYyk9PntjKGEpfSl9O1B0YT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIGszKGEoKSl9Y2F0Y2goYil7cmV0dXJuIE90YShiKX19O1F0YT1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IF8uQmYoKGIsYyk9PntsMyhhLGIsYyl9KX07bTM9ZnVuY3Rpb24oYSl7cmV0dXJuIFF0YShhKX07bjM9ZnVuY3Rpb24oYSl7aWYoYS5qPT09ImZ1bGZpbGxlZCIpe3ZhciBiPWEubzthLm89W107YS52PVtdO2Zvcih2YXIgYyBvZiBiKWMoYS5yZXN1bHQpfWVsc2UgaWYoYS5qPT09InJlamVjdGVkIil7Yz1hLnY7YS5vPVtdO2Eudj1bXTtmb3IoYiBvZiBjKWIoYS5lcnJvcil9fTsKbDM9ZnVuY3Rpb24oYSxiLGMpe3ZhciB7RWw6ZCxyZXNvbHZlOmUscmVqZWN0OmZ9PU50YSgpO2Euby5wdXNoKGg9PntpZihiKXRyeXtsZXQgaz1iKGgpO2Uoayl9Y2F0Y2goayl7ZihrKX1lbHNlIGUoaCl9KTthLnYucHVzaChoPT57aWYoYyl0cnl7bGV0IGs9YyhoKTtlKGspfWNhdGNoKGspe2Yoayl9ZWxzZSBmKGgpfSk7bjMoYSk7cmV0dXJuIGR9O1J0YT1mdW5jdGlvbihhLGIpe3JldHVybiBsMyhhLHZvaWQgMCxiKX07bzM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gU3RhKGIuY2FsbChhKSl9O3AzPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbiooKXtyZXR1cm4geWllbGR7RWw6azMoYSl9fSgpfTtTdGE9ZnVuY3Rpb24oYSl7cmV0dXJuIFB0YSgoKT0+cTMoYSxhLm5leHQoKSkpfTtxMz1mdW5jdGlvbihhLGIpe3JldHVybiBiLmRvbmU/azMoYi52YWx1ZSk6UnRhKGwzKGIudmFsdWUuRWwsYz0+cTMoYSxhLm5leHQoYykpKSxjPT5xMyhhLGEudGhyb3coYykpKX07ClR0YT1hc3luYyBmdW5jdGlvbigpe3ZhciBhPV8ueSgpLnJlc29sdmUoXy5JeSk7aWYoYSl7aWYoYT1hd2FpdCBhLlFpKHtzaWduYWxTZXJ2aWNlRW5kcG9pbnQ6e3NpZ25hbDoiR0VUX0RBVEFTWU5DX0lEUyJ9fSkpe2lmKGEuZXJyb3JNZXRhZGF0YSl7Xy5JcChFcnJvcigiSGVgIithLmVycm9yTWV0YWRhdGEuc3RhdHVzKyJgIithLmVycm9yKSk7cmV0dXJufXJldHVybiBhLnRJfV8uSXAoRXJyb3IoIkllIikpfWVsc2UgXy5JcChFcnJvcigiSmUiKSl9OwpyMz1mdW5jdGlvbihhLGIpe2lmKGIuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50cyYmKGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdPWIsdHlwZW9mIGIuZXhwaXJhdGlvblNlY29uZHM9PT0ic3RyaW5nIikpe2xldCBjPU51bWJlcihiLmV4cGlyYXRpb25TZWNvbmRzKTtzZXRUaW1lb3V0KCgpPT57ZGVsZXRlIGEualtiLmVuY3J5cHRlZFRva2VuSmFyQ29udGVudHNdfSxjKjFFMyk7YS5vJiZfLk1qKCJDT05TSVNURU5DWSIsYi5lbmNyeXB0ZWRUb2tlbkphckNvbnRlbnRzLGMsdm9pZCAwLCEwKX19O3MzPWZ1bmN0aW9uKGEpe3JldHVybiBhLmxvY2FsU3RvcmFnZT09PXZvaWQgMD9uZXcgXy5lbigieXQtY2xpZW50LWxvY2F0aW9uIik6YS5sb2NhbFN0b3JhZ2V9Owp3Mz1mdW5jdGlvbihhLGI9ITEsYz0hMSl7dmFyIGQ9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO2lmKCFkKXJldHVybiBfLkdwKEVycm9yKCJNZSIpKSx7fTtkPV8ucWQoZCk7Xy54KCJ3ZWJfbm9fdHJhY2tpbmdfcGFyYW1zX2luX3NoZWxsX2tpbGxzd2l0Y2giKXx8ZGVsZXRlIGQuY2xpY2tUcmFja2luZztkLmNsaWVudHx8KGQuY2xpZW50PXt9KTt2YXIgZT1kLmNsaWVudDtlLmNsaWVudE5hbWU9PT0iTVdFQiImJmUuY2xpZW50Rm9ybUZhY3RvciE9PSJBVVRPTU9USVZFX0ZPUk1fRkFDVE9SIiYmKGUuY2xpZW50Rm9ybUZhY3Rvcj1fLncoIklTX1RBQkxFVCIpPyJMQVJHRV9GT1JNX0ZBQ1RPUiI6IlNNQUxMX0ZPUk1fRkFDVE9SIik7ZS5zY3JlZW5XaWR0aFBvaW50cz13aW5kb3cuaW5uZXJXaWR0aDtlLnNjcmVlbkhlaWdodFBvaW50cz13aW5kb3cuaW5uZXJIZWlnaHQ7ZS5zY3JlZW5QaXhlbERlbnNpdHk9TWF0aC5yb3VuZCh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSk7ZS5zY3JlZW5EZW5zaXR5RmxvYXQ9CndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO2UudXRjT2Zmc2V0TWludXRlcz0tTWF0aC5mbG9vcigobmV3IERhdGUpLmdldFRpbWV6b25lT2Zmc2V0KCkpO18uSHooKTt2YXIgZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiO18uQ3ooMTY1KT9mPSJVU0VSX0lOVEVSRkFDRV9USEVNRV9EQVJLIjpfLkN6KDE3NCk/Zj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiOiFfLngoImtldmxhcl9sZWdhY3lfYnJvd3NlcnMiKSYmd2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWUpIikubWF0Y2hlcyYmd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzJiYoZj0iVVNFUl9JTlRFUkZBQ0VfVEhFTUVfREFSSyIpO2Y9RHRhKCl8fGY7ZS51c2VySW50ZXJmYWNlVGhlbWU9ZjtfLngoIndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZSIpJiZfLnUuZG9jdW1lbnQmJgooZS5hcHBsaWNhdGlvblN0YXRlPV8udS5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIj8iQkFDS0dST1VORCI6IkFDVElWRSIpO2lmKCFiKXtpZihmPV8uU2ooKSllLmNvbm5lY3Rpb25UeXBlPWY7Xy54KCJ3ZWJfbG9nX2VmZmVjdGl2ZV9jb25uZWN0aW9uX3R5cGUiKSYmKGY9Xy5VaigpKSYmKGQuY2xpZW50LmVmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlPWYpfV8ueCgid2ViX2xvZ19tZW1vcnlfdG90YWxfa2J5dGVzIikmJl8udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSYmKGQuY2xpZW50Lm1lbW9yeVRvdGFsS2J5dGVzPWAke18udS5uYXZpZ2F0b3I/LmRldmljZU1lbW9yeSoxRTZ9YCk7aWYoXy54KCJ3ZWJfZ2NmX2hhc2hlc19pbm5lcnR1YmUiKSl7dmFyIGg9Xy5qbSgpO2lmKGgpe2Y9aC5jb2xkQ29uZmlnRGF0YTtsZXQgbj1oLmNvbGRIYXNoRGF0YTtoPWguaG90SGFzaERhdGE7ZC5jbGllbnQuY29uZmlnSW5mbz1kLmNsaWVudC5jb25maWdJbmZvfHx7fTtmJiYKKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZENvbmZpZ0RhdGE9Zik7biYmKGQuY2xpZW50LmNvbmZpZ0luZm8uY29sZEhhc2hEYXRhPW4pO2gmJihkLmNsaWVudC5jb25maWdJbmZvLmhvdEhhc2hEYXRhPWgpfX1mPWEwKF8udS5sb2NhdGlvbi5ocmVmKTshXy54KCJ3ZWJfcG9wdWxhdGVfaW50ZXJuYWxfZ2VvX2tpbGxzd2l0Y2giKSYmZi5pbnRlcm5hbGNvdW50cnljb2RlJiYoZS5pbnRlcm5hbEdlbz1mLmludGVybmFsY291bnRyeWNvZGUpO2UuY2xpZW50TmFtZT09PSJNV0VCInx8ZS5jbGllbnROYW1lPT09IldFQiI/KGUubWFpbkFwcFdlYkluZm98fChlLm1haW5BcHBXZWJJbmZvPXt9KSxlLm1haW5BcHBXZWJJbmZvLmdyYWZ0VXJsPV8udS5sb2NhdGlvbi5ocmVmLF8ueCgia2V2bGFyX3dvZmZsZSIpJiZ0My5pbnN0YW5jZSYmKGY9dDMuaW5zdGFuY2UsZS5tYWluQXBwV2ViSW5mby5wd2FJbnN0YWxsYWJpbGl0eVN0YXR1cz0hZi5qJiZmLm8/IlBXQV9JTlNUQUxMQUJJTElUWV9TVEFUVVNfQ0FOX0JFX0lOU1RBTExFRCI6CiJQV0FfSU5TVEFMTEFCSUxJVFlfU1RBVFVTX1VOS05PV04iKSxlLm1haW5BcHBXZWJJbmZvLndlYkRpc3BsYXlNb2RlPV8uT2ooKSxlLm1haW5BcHBXZWJJbmZvLmlzV2ViTmF0aXZlU2hhcmVBdmFpbGFibGU9bmF2aWdhdG9yJiZuYXZpZ2F0b3Iuc2hhcmUhPT12b2lkIDApOmUuY2xpZW50TmFtZT09PSJUVkhUTUw1IiYmKCFfLngoIndlYl9scl9hcHBfcXVhbGl0eV9raWxsc3dpdGNoIikmJihmPV8udygiTElWSU5HX1JPT01fQVBQX1FVQUxJVFkiKSkmJihlLnR2QXBwSW5mbz1PYmplY3QuYXNzaWduKGUudHZBcHBJbmZvfHx7fSx7YXBwUXVhbGl0eTpmfSkpLGY9Xy53KCJMSVZJTkdfUk9PTV9DRVJUSUZJQ0FUSU9OX1NDT1BFIikpJiYoZS50dkFwcEluZm89T2JqZWN0LmFzc2lnbihlLnR2QXBwSW5mb3x8e30se2NlcnRpZmljYXRpb25TY29wZTpmfSkpO2lmKCFfLngoIndlYl9wb3B1bGF0ZV90aW1lX3pvbmVfaXRjX2tpbGxzd2l0Y2giKSl7YTp7aWYodHlwZW9mIEludGwhPT0idW5kZWZpbmVkIil0cnl7dmFyIGs9CihuZXcgSW50bC5EYXRlVGltZUZvcm1hdCkucmVzb2x2ZWRPcHRpb25zKCkudGltZVpvbmU7YnJlYWsgYX1jYXRjaHt9az12b2lkIDB9ayYmKGUudGltZVpvbmU9ayl9KGs9Xy53KCJFWFBFUklNRU5UU19UT0tFTiIsIiIpKT9lLmV4cGVyaW1lbnRzVG9rZW49azpkZWxldGUgZS5leHBlcmltZW50c1Rva2VuO2U9Xy51aigpO3UzLmluc3RhbmNlfHwodTMuaW5zdGFuY2U9bmV3IHUzKTtrPV8uWngodTMuaW5zdGFuY2Uuaik7ZC5yZXF1ZXN0PXsuLi5kLnJlcXVlc3QsaW50ZXJuYWxFeHBlcmltZW50RmxhZ3M6ZSxjb25zaXN0ZW5jeVRva2VuSmFyczprfTshXy54KCJ3ZWJfcHJlcXVlc3RfY29udGV4dF9raWxsc3dpdGNoIikmJihlPV8udygiSU5ORVJUVUJFX0NPTlRFWFRfUFJFUVVFU1RfQ09OVEVYVCIpKSYmKGQucmVxdWVzdC5leHRlcm5hbFByZXF1ZXN0Q29udGV4dD1lKTtrPV8uSHooKTtlPV8uQ3ooNTgpO2s9ay5nZXQoImdzbWwiLCIiKTtkLnVzZXI9ey4uLmQudXNlcn07ZSYmKGQudXNlci5lbmFibGVTYWZldHlNb2RlPQplKTtrJiYoZC51c2VyLmxvY2tlZFNhZmV0eU1vZGU9ITApO18ueCgid2FybV9vcF9jc25fY2xlYW51cCIpP2MmJihiPV8uaXEoKSkmJihkLmNsaWVudFNjcmVlbk5vbmNlPWIpOiFiJiYoYj1fLmlxKCkpJiYoZC5jbGllbnRTY3JlZW5Ob25jZT1iKTthJiYoZC5jbGlja1RyYWNraW5nPXtjbGlja1RyYWNraW5nUGFyYW1zOmF9KTtpZihhPV8uc2EoInl0Lm1keC5yZW1vdGUucmVtb3RlQ2xpZW50XyIpKWQucmVtb3RlQ2xpZW50PWE7djMuamMoKS5zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChkKTt0cnl7dmFyIGw9Xy5saigpLG09bC5iaWQ7ZGVsZXRlIGwuYmlkO2QuYWRTaWduYWxzSW5mbz17cGFyYW1zOltdLGJpZDptfTtmb3IobGV0IFtuLHBdb2YgT2JqZWN0LmVudHJpZXMobCkpbD1uLG09cCxkLmFkU2lnbmFsc0luZm8ucGFyYW1zPy5wdXNoKHtrZXk6bCx2YWx1ZTpgJHttfWB9KTtpZihkLmNsaWVudD8uY2xpZW50TmFtZT09PSJUVkhUTUw1Inx8ZC5jbGllbnQ/LmNsaWVudE5hbWU9PT0KIlRWSFRNTDVfVU5QTFVHR0VEIil7bGV0IG49Xy53KCJJTk5FUlRVQkVfQ09OVEVYVCIpO24uYWRTaWduYWxzSW5mbyYmKGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkPW4uYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkLGQuYWRTaWduYWxzSW5mby5hZHZlcnRpc2luZ0lkU2lnbmFsVHlwZT0iREVWSUNFX0lEX1RZUEVfQ09OTkVDVEVEX1RWX0lGQSIsZC5hZFNpZ25hbHNJbmZvLmxpbWl0QWRUcmFja2luZz1uLmFkU2lnbmFsc0luZm8ubGltaXRBZFRyYWNraW5nLG4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMhPT12b2lkIDAmJihkLmFkU2lnbmFsc0luZm8uYXRUcmFja2luZ01hbmFnZXJBdXRob3JpemF0aW9uU3RhdHVzPW4uYWRTaWduYWxzSW5mby5hdFRyYWNraW5nTWFuYWdlckF1dGhvcml6YXRpb25TdGF0dXMpKX19Y2F0Y2gobil7Xy5HcChuKX1yZXR1cm4gZH07ClV0YT1mdW5jdGlvbihhLGIpe2lmKCFhKXJldHVybiExO3ZhciBjPV8uQihhLF8uenopPy5zaWduYWw7aWYoYyYmYi5IZClyZXR1cm4hIWIuSGRbY107aWYoKGM9Xy5CKGEsXy5BeSk/LnJlcXVlc3QpJiZiLlZnKXJldHVybiEhYi5WZ1tjXTtmb3IobGV0IGQgaW4gYSlpZihiLkZpW2RdKXJldHVybiEwO3JldHVybiExfTsKeDM9ZnVuY3Rpb24oYSl7dmFyIGI9eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn07Xy53KCJFT01fVklTSVRPUl9EQVRBIik/YlsiWC1Hb29nLUVPTS1WaXNpdG9yLUlkIl09Xy53KCJFT01fVklTSVRPUl9EQVRBIik6Xy53KCJWSVNJVE9SX0RBVEEiKSYmKGJbIlgtR29vZy1WaXNpdG9yLUlkIl09Xy53KCJWSVNJVE9SX0RBVEEiKSk7YlsiWC1Zb3V0dWJlLUJvb3RzdHJhcC1Mb2dnZWQtSW4iXT1fLncoIkxPR0dFRF9JTiIsITEpO18udygiREVCVUdfU0VUVElOR1NfTUVUQURBVEEiKSYmKGJbIlgtRGVidWctU2V0dGluZ3MtTWV0YWRhdGEiXT1fLncoIkRFQlVHX1NFVFRJTkdTX01FVEFEQVRBIikpO2EhPT0iY29ycyImJigoYT1fLncoIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIikpJiYoYlsiWC1Zb3V0dWJlLUNsaWVudC1OYW1lIl09YSksKGE9Xy53KCJJTk5FUlRVQkVfQ09OVEVYVF9DTElFTlRfVkVSU0lPTiIpKSYmKGJbIlgtWW91dHViZS1DbGllbnQtVmVyc2lvbiJdPQphKSwoYT1fLncoIkNIUk9NRV9DT05ORUNURURfSEVBREVSIikpJiYoYlsiWC1Zb3V0dWJlLUNocm9tZS1Db25uZWN0ZWQiXT1hKSwoYT1fLncoIkRPTUFJTl9BRE1JTl9TVEFURSIpKSYmKGJbIlgtWW91dHViZS1Eb21haW4tQWRtaW4tU3RhdGUiXT1hKSwoYT12My5qYygpLmdldFhHZW9IZWFkZXI/LigpKSYmKGJbIlgtR2VvIl09YSkpOyhhPV8udygiU0VSSUFMSVpFRF9MQVZBX0RFVklDRV9DT05URVhUIikpJiYoYlsiWC1Zb3VUdWJlLUxhdmEtRGV2aWNlLUNvbnRleHQiXT1hKTtyZXR1cm4gYn07eTM9ZnVuY3Rpb24oYSl7cmV0dXJuKCk9Pm5ldyBhfTsKVnRhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKHozLmluc3RhbmNlIT09dm9pZCAwKXtpZihkPXozLmluc3RhbmNlLGE9W2EhPT1kLnYsYiE9PWQuU2EsYyE9PWQubywhMSwhMSwhMSwhMV0sYS5zb21lKGU9PmUpKXRocm93IG5ldyBfLlhqKCJJbm5lclR1YmVUcmFuc3BvcnRTZXJ2aWNlIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQiLGEpO31lbHNlIHozLmluc3RhbmNlPW5ldyB6MyhhLGIsYyxkKX07Cll0YT1mdW5jdGlvbihhLGIpe3ZhciBjPWAveW91dHViZWkvdjEvJHtoMyhXdGEpfWAsZD17UmQ6e2lkZW50aXR5OkEzfX07aWYoXy54KCJtYXdfbmV0d29ya19tYWNoaW5lX3Jhd19yZXF1ZXN0Iil8fF8ueCgiYWxsX3dlYl9uZXR3b3JrX21hY2hpbmVfcmF3X3JlcXVlc3QiKSl7bGV0IGY9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGYpcmV0dXJuIG0zKFh0YShmLHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6dm9pZCAwLGNvbmZpZzpkLGluY2x1ZGVDdXJyZW50U2NyZWVuTm9uY2U6ITB9KSkudGhlbihoPT5oLCgpPT57fSl9dmFyIGU9KCk9Pnt9O2U9dzAodjAoYykpO2IuY29udGV4dHx8KGIuY29udGV4dD13Myh2b2lkIDAsITApKTtyZXR1cm4gbmV3IF8uQmYoYXN5bmMgZj0+e3ZhciBoPVkwKGMpO2g9Xy5maihoKT8ic2FtZS1vcmlnaW4iOiJjb3JzIjtoPWEuby56bj9DMyhkLGgpOmF3YWl0IEQzKGQsaCk7dmFyIGs9WDAoWTAoYykpOwprPXtpbnB1dDprLHdiOlowKGspLGlubmVyVHViZVJlcXVlc3Q6Yixjb25maWc6ZH07ZihFMyhhLGssaCxlKSl9KX07WnRhPWZ1bmN0aW9uKGEsYil7YTp7YT1hLnY7dmFyIGM9Xy5CKGIsXy56eik/LnNpZ25hbDtpZihjJiZhLkhkJiYoYz1hLkhkW2NdKSl7dmFyIGQ9YygpO2JyZWFrIGF9aWYoKGM9Xy5CKGIsXy5BeSk/LnJlcXVlc3QpJiZhLlZnJiYoYz1hLlZnW2NdKSl7ZD1jKCk7YnJlYWsgYX1mb3IoZCBpbiBiKWlmKGEuRmlbZF0mJihiPWEuRmlbZF0pKXtkPWIoKTticmVhayBhfWQ9dm9pZCAwfWlmKGQhPT12b2lkIDApcmV0dXJuIFByb21pc2UucmVzb2x2ZShkKX07QzM9ZnVuY3Rpb24oYSxiKXthPV8uUGooe3Nlc3Npb25JbmRleDphPy5SZD8uc2Vzc2lvbkluZGV4fSk7cmV0dXJuey4uLngzKGIpLC4uLmF9fTsKRDM9YXN5bmMgZnVuY3Rpb24oYSxiKXthPWF3YWl0IF8uS3koXy5Qaih7c2Vzc2lvbkluZGV4OmE/LlJkPy5zZXNzaW9uSW5kZXh9KSk7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh7Li4ueDMoYiksLi4uYX0pfTsKRTM9YXN5bmMgZnVuY3Rpb24oYSxiLGMsZD0oKT0+e30pe2F3YWl0ICR0YShiKTt2YXIgZT1iLmNvbmZpZz8ucmVxdWVzdEtleTtpZihlJiZhLmouaGFzKGUpKXZhciBmPWEuai5nZXQoZSk7ZWxzZSBmPUpTT04uc3RyaW5naWZ5KGIuaW5uZXJUdWJlUmVxdWVzdCksYi53Yj17Li4uYi53YixoZWFkZXJzOnsuLi4oYi53Yj8uaGVhZGVycz8/e30pLC4uLmN9fSxjPXsuLi5iLndifSxiLndiLm1ldGhvZD09PSJQT1NUIiYmKGM9ey4uLmMsYm9keTpmfSksYi5jb25maWc/LmtuJiZfLkFxKGIuY29uZmlnLmtuKSxmPWEuU2EuZmV0Y2goYi5pbnB1dCxjLGIuY29uZmlnKSxlJiZhLmouc2V0KGUsZik7aWYoKGY9YXdhaXQgZikmJiJlcnJvciJpbiBmJiZmPy5lcnJvcj8uZGV0YWlscyl7Yz1mLmVycm9yLmRldGFpbHM7Zm9yKGxldCBoIG9mIGMpKGM9aFsiQHR5cGUiXSkmJmF1YS5pbmRleE9mKGMpPi0xJiYoZGVsZXRlIGhbIkB0eXBlIl0sZj1oKX1lJiZhLmouaGFzKGUpJiZhLmouZGVsZXRlKGUpOwpiLmNvbmZpZz8ucG4mJl8uQXEoYi5jb25maWcucG4pO2J1YShhLGYsYik7Yi5jb25maWc/Lkl6JiZfLkFxKGIuY29uZmlnLkl6KTtkKCk7cmV0dXJuIGZ8fHZvaWQgMH07JHRhPWFzeW5jIGZ1bmN0aW9uKGEpe2lmKGE/LmlubmVyVHViZVJlcXVlc3Q/LmNvbnRleHQpe2E9YS5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ7Zm9yKGxldCBiIG9mW10pYXdhaXQgYi5CcihhKX19O2J1YT1mdW5jdGlvbihhLGIsYyl7aWYoYiYmIWI/LnNlcXVlbmNlTWV0YURhdGE/LnNraXBQcm9jZXNzaW5nJiZhLkIpZm9yKGxldCBkIG9mIEYzKWEuQltkXSYmYS5CW2RdLmhhbmRsZVJlc3BvbnNlKGIsYyl9O2N1YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIG8zKGEsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9Xy5LeShfLlBqKHtzZXNzaW9uSW5kZXg6Yj8uUmQ/LnNlc3Npb25JbmRleH0pKTtkPXlpZWxkKnAzKGszKGQpKTtyZXR1cm57Li4ueDMoYyksLi4uZH19KCl9KX07CkczPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09MXx8YT09PTJ9O2R1YT1mdW5jdGlvbihhLGIsYz0hMSl7dmFyIGQsZT1fLkIoYixfLkF5KT8ucmVxdWVzdDtlJiZhLmouVmcmJihkPWEuai5WZ1tlXSk7ZHx8Y3x8KGU9Xy5CKGIsXy56eik/LnNpZ25hbCkmJmEuai5IZCYmKGQ9YS5qLkhkW2VdKTtpZighZCYmKGE9Yz9hLmouYUw6YS5qLkZpKSlmb3IobGV0IGYgaW4gYilpZihhW2ZdKXtkPWFbZl07YnJlYWt9aWYoIWQpe2lmKGMpdGhyb3cgRXJyb3IoIlFlIik7dGhyb3cgRXJyb3IoIlJlIik7fWI9ZCgpO3JldHVybiBrMyhiKX07ZXVhPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJDT01NQU5EX0lOSVQiLGIpfTtYdGE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ydW4oIlJFUVVFU1RfSU5JVCIsYil9O0gzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEucnVuKCJQUk9DRVNTX1JFU1BPTlNFIixiLCJSZXNwb25zZU1hY2hpbmUgKENhY2hlKSIpfTsKSTM9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhLnJ1bigiSU5JVCIsYixjIT09dm9pZCAwP2BSZXNwb25zZU1hY2hpbmUgKENodW5rICR7Y30pYDoiUmVzcG9uc2VNYWNoaW5lIil9OwpmdWE9ZnVuY3Rpb24oKXt2YXIgYT1fLnkoKTtfLkp6KGEse2phOkozLFdjOigpPT5uZXcgTWFwfSk7Xy5KeihhLHtqYTpLMyxQYTpLMyxnYjohMH0pO18uSnooYSx7amE6TDMsUGE6TDMsZ2I6ITB9KTtfLkp6KGEse2phOk0zLFBhOk0zLGdiOiEwfSk7Xy5KeihhLHtqYTpOMyxQYTpOMyxnYjohMH0pO18uSnooYSx7amE6TzMsUGE6TzMsZ2I6ITB9KTtfLkp6KGEse2phOlAzLFBhOlAzLGdiOiEwfSk7Xy5KeihhLHtqYTpRMyxQYTpRMyxnYjohMH0pO18uSnooYSx7amE6UjMsUGE6UjMsZ2I6ITB9KTtfLkp6KGEse2phOlMzLFBhOlMzLGdiOiEwfSk7Xy5KeihhLHtqYTpUMyxQYTpUMyxnYjohMH0pO18uSnooYSx7amE6VTMsV2M6KGIsYyxkLGUsZixoLGssbCxtLG4pPT4oe0NPTU1BTkRfSU5JVDpsLFJFUVVFU1RfSU5JVDptLENBQ0hFOmMsTE9DQUxfUk9VVEVSOmssQ09OVEVYVDpkLEFVVEg6YixERURVUEU6ZSxGRVRDSDpoLFJFVFJZOm4sRkFMTEJBQ0s6Zn0pLFtfLkxuXTpbSzMsTDMsCk0zLE4zLE8zLFAzLFEzLFIzLFMzLFQzXSxnYjohMH0pO18uSnooYSx7amE6QjMsV2M6Yj0+KCk9Pm5ldyBWMyhiKSxbXy5Mbl06W1UzXSxnYjohMH0pO18uSnooYSx7amE6VzMsUGE6VzMsZ2I6ITB9KTtfLkp6KGEse2phOlgzLFBhOlgzLGdiOiEwfSk7Xy5KeihhLHtqYTpZMyxQYTpZMyxnYjohMH0pO18uSnooYSx7amE6WjMsUGE6WjMsZ2I6ITB9KTtfLkp6KGEse2phOiQzLFdjOihiLGMsZCxlKT0+KHtJTklUOmUsRVJST1JfVU5QQUNLRVI6YyxQUk9DRVNTX1JFU1BPTlNFOmQsQ0FMTEJBQ0tfRElTUEFUQ0hFUjpifSksW18uTG5dOltXMyxYMyxZMyxaM10sZ2I6ITB9KTtfLkp6KGEse2phOmE0LFdjOmI9PigpPT5uZXcgYjQoYiksW18uTG5dOlskM10sZ2I6ITB9KX07Cmd1YT1mdW5jdGlvbigpe18ucmEoInl0LmxvZ2dpbmcuZXJyb3JzLmxvZyIsXy5HcCk7S3JhKCk7Xy56byhfLkJvKCkse30pO3dpbmRvdy5vbmVycm9yPUpyYTtfLlVmPW8wO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmhhbmRsZWRyZWplY3Rpb24iLGE9PntpZihhLnJlYXNvbiBpbnN0YW5jZW9mIEVycm9yKXtsZXQgYj1hLnJlYXNvbjtfLmN3KGIse3NvdXJjZToidW5oYW5kbGVkcmVqZWN0aW9uIn0pO2IubmFtZT09PSJBYm9ydEVycm9yIiYmKGIubGV2ZWw9IldBUk5JTkciKX1vMChhLnJlYXNvbik7YS5wcmV2ZW50RGVmYXVsdCgpfSl9O2M0PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiEhc2VsZi5zZXNzaW9uU3RvcmFnZX1jYXRjaHtyZXR1cm4hMX19O2Q0PWZ1bmN0aW9uKGEpe2E9YS5tYXRjaCgvKC4qKTo6Lio6Oi4qLyk7aWYoYSE9PW51bGwpcmV0dXJuIGFbMV19OwplND1mdW5jdGlvbihhKXtpZihjNCgpKXt2YXIgYj1PYmplY3Qua2V5cyh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpO2ZvcihsZXQgYyBvZiBiKWI9ZDQoYyksYj09PXZvaWQgMHx8YS5pbmNsdWRlcyhiKXx8c2VsZi5zZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGMpfX07aHVhPWZ1bmN0aW9uKCl7aWYoIWM0KCkpcmV0dXJuITE7dmFyIGE9Xy5WaigpLGI9T2JqZWN0LmtleXMod2luZG93LnNlc3Npb25TdG9yYWdlKTtmb3IobGV0IGMgb2YgYilpZihiPWQ0KGMpLGIhPT12b2lkIDAmJmIhPT1hKXJldHVybiEwO3JldHVybiExfTtmND1mdW5jdGlvbigpe1R0YSgpLnRoZW4oYT0+e2EmJihnMChhKSxjMShhKSxhMShhKSxlNChhKSl9KX07Cml1YT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfLk9zO18uamYucGIoYXN5bmMoKT0+e2lmKCFfLngoInl0aWRiX2NsZWFyX29wdGltaXphdGlvbnNfa2lsbHN3aXRjaCIpKXt2YXIgYj1fLlZqKCJjbGVhciIpO2lmKGIuc3RhcnRzV2l0aCgiViIpJiZiLmVuZHNXaXRoKCJ8fCIpKXtiPVtiXTtnMChiKTtjMShiKTthMShiKTtlNChiKTtyZXR1cm59Yj1kc2EoKTtsZXQgYz1odWEoKSxkPWF3YWl0IGVzYSgpLGU9YXdhaXQgRXJhKCk7aWYoIShifHxjfHxkfHxlKSlyZXR1cm59YS5TYigpP2Y0KCk6Xy5iZihhLCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixmNCl9KX07anVhPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgUHJvbWlzZShiPT57d2luZG93LnNldFRpbWVvdXQoYixhKX0pfTsKWXNhPWFzeW5jIGZ1bmN0aW9uKGEsYixjKXtfLlR6KCJhdHRlc3RhdGlvbl9jaGFsbGVuZ2VfZmV0Y2giKTtfLkFxKCJhdHRfZnMiLHZvaWQgMCwiYXR0ZXN0YXRpb25fY2hhbGxlbmdlX2ZldGNoIik7aWYoIWEuail0aHJvdyBuZXcgczIoOSwiTWlzc2luZyBmZXRjaGVyIik7dmFyIGQ9YXdhaXQgYS5qKGIsYyk7Yj1kPy5iZ0NoYWxsZW5nZTtpZighYil0aHJvdyBuZXcgczIoMTUsIk1pc3NpbmcgZmllbGQiKTthLm89ZDthLnYuZm9yRWFjaChlPT57ZShkKX0pO2E9UzIoYik7Xy5BcSgiYXR0X2ZjIix2b2lkIDAsImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO18uU3ooImF0dGVzdGF0aW9uX2NoYWxsZW5nZV9mZXRjaCIpO3JldHVybiBhfTsKaHRhPWFzeW5jIGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPW5ldyBCMSgxMDAsM0U1LC4yNSwyKSxkPXZvaWQgMDtjLnY8MTA7KXRyeXtyZXR1cm4gYy52PjAmJmF3YWl0IGp1YShjLmopLGF3YWl0IGt1YShhLGIpfWNhdGNoKGUpe2Q9ZSBpbnN0YW5jZW9mIHMyP2U6bmV3IHMyKDksZSBpbnN0YW5jZW9mIEVycm9yP2UubWVzc2FnZToiVW5rbm93biIpLEMxKGMpfWlmKGQpdGhyb3cgZDt0aHJvdyBuZXcgczIoOSwiVW5rbm93biBlcnJvciIpO307Cmt1YT1mdW5jdGlvbihhLGIpe2I9V3NhKFhzYShuZXcgbHVhLGIpLGEucmVxdWVzdEtleSk7dmFyIGM9bmV3IF8uY3MsZD1hLkQoKTtkLm9wZW4oIlBPU1QiLGEuQik7ZC5zZXRSZXF1ZXN0SGVhZGVyKCJYLUdvb2ctQXBpLUtleSIsIkFJemFTeUR5VDVXMEpoNDlGMzBQcXF0eWZkZjdwRExGS0xKb0FudyIpO2Quc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIiwiYXBwbGljYXRpb24vanNvbitwcm90b2J1ZiIpO2Qub25sb2FkPSgpPT57aWYoXy5xaihkKSl7bGV0IGU9bXVhKGQucmVzcG9uc2VUZXh0KTtjLnJlc29sdmUoZSl9ZWxzZSBjLnJlamVjdChuZXcgczIoUDEoXy5waihkKSksZC5zdGF0dXNUZXh0KSl9O2Qub25lcnJvcj0oKT0+e2MucmVqZWN0KG5ldyBzMihQMShfLnBqKGQpKSxkLnN0YXR1c1RleHQpKX07ZC5zZW5kKGIuc2VyaWFsaXplKCkpO3JldHVybiBjLnByb21pc2V9OwpudWE9ZnVuY3Rpb24oYSl7dmFyIGI9e2JpY2Y6ZD0+e2Euaj1kfSxibGM6KCk9PmEuZ2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKSxiY3I6ZD0+e2Eudi5wdXNoKGQpfX0sYz13aW5kb3c7Yy5udHBldmFzcnM9YjtpZihjLm50cHFmYmVsIT09dm9pZCAwKWZvcihsZXQgZCBvZiBjLm50cHFmYmVsKWQoYik7Yy5udHBxZmJlbD12b2lkIDB9O2c0PWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiBFcnJvcil7dmFyIGI9Xy5zYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIik7YiYmYihhLCJXQVJOSU5HIil9fTtpND1mdW5jdGlvbihhLGIpe2E9bmV3IG91YShhLGIpO3B1YShhKTtiPy5DSXx8aDQoYSl9OwpwdWE9ZnVuY3Rpb24oYSl7aWYoIWEudm0pe3ZhciBiPXttYXhBdHRlbXB0czo1LEZyOmEudHRsU2Vjb25kcyoxRTN9O2EuWGcueXRjc2k/LnRpY2s/LigicG90X2lzdCIpO2Eudm09YS5Icyh7b2Q6YS5vZCxuZzp7ZGlzYWJsZTpfLngoImh0bWw1X3dlYl9wb19kaXNhYmxlX3JlbW90ZV9sb2dnaW5nIiksbWI6ImFHSWYiLFN2OnpyYSgpLEt5Ol8ueCgid3BvX2Rpc19sZmRtcyIpPzA6MUUzLElnOmQ9Pnt2YXIgZT1qNC5nZXQoZCk7ZXx8KGU9bmV3IHF1YShkKSxlPW5ldyBUMShlKSxqNC5zZXQoZCxlKSk7cmV0dXJuIGV9fSxMZzpiLHN4OmEuYmdDaGFsbGVuZ2UsRWo6ZzR9KTthLmo9RGF0ZS5ub3coKTtmMihhLnZtLCgpPT57YS5qPURhdGUubm93KCl9KTthLlhnLmJnZXZtYz17cDooKT0+e2Eudm0/LnBhdXNlKCl9LHI6KCk9PnthLnZtPy5yZXN1bWUoKX0sY3I6KCk9PmEudm0/LmNoZWNrRm9yUmVmcmVzaCgpPz9Qcm9taXNlLnJlc29sdmUoKX07a3NhKGEudm0sYXN5bmMoKT0+aDQoYSksClYyKCkpO3ZhciBjPWEudi5iaW5kKGEpO2EueW0mJmEudHRsU2Vjb25kcz4wJiZhLnltLnRoZW4oZD0+e2QubGlzdGVuKCJwdWJsaWN5dG5ldHdvcmtzdGF0dXMtb25saW5lIixjKX0pO2EuR3IoYyl9fTtoND1mdW5jdGlvbihhKXtpZihhLm8pcmV0dXJuIGEubztpZighYS52bSl0aHJvdyBFcnJvcigiVGUiKTthLm89bmV3IHJ1YSh7dm06YS52bSxvZDphLm9kLFFuOiEwLG9uRXJyb3I6ZzQsTGc6YS5Kc30pO3JldHVybiBhLm99O2s0PWZ1bmN0aW9uKGEpe3RyeXtsZXQgYj1KU09OLnBhcnNlKGEpO2lmKGIuYmdDaGFsbGVuZ2UpcmV0dXJuIGJ9Y2F0Y2goYil7fX07CnN1YT1mdW5jdGlvbihhPXdpbmRvdyl7dmFyIGI9e30sYz1hLnl0QXRSO2I/LmtxPy5EcigpO2lmKGMpe2lmKGM9azQoYykpYj8ua3E/LnpnKCJTVUNDRVNTIiksaTQoYyxiKTthLnl0QXRSPXZvaWQgMH1lbHNlIGEueXRBdFJDPWQ9PntpZihkPWs0KGQpKWI/LmtxPy56ZygiU1VDQ0VTUyIpLGk0KGQsYiksYS55dEF0UkM9dm9pZCAwfX07CnR1YT1mdW5jdGlvbihhLGIsYyxkLGUsZil7Yz8oYS5TKDIpLEgwKHkwKGMpLCgpPT57d2luZG93LnRyYXlyaWRlP2w0KGEsZCxlKTooYS5TKDMpLEUwKGMpLF8uSXAobmV3IF8uWGooIkJMOlVMQiIsYCR7Y31gKSkpfSxmKSk6Yj8oZj1fLkNkKCJTQ1JJUFQiKSxiIGluc3RhbmNlb2YgXy5qYj9fLm5iKGYsYik6Zi50ZXh0Q29udGVudD1iLGYubm9uY2U9Xy5pYihkb2N1bWVudCksZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChmKSxkb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKGYpLHdpbmRvdy50cmF5cmlkZT9sNChhLGQsZSk6KGEuUyg0KSxfLklwKG5ldyBfLlhqKCJCTDpVTEJKIikpKSk6Xy5JcChuZXcgXy5YaigiQkw6VUxWIikpfTsKbDQ9ZnVuY3Rpb24oYSxiLGMpe2EuUyg1KTt2YXIgZD0hIWEuaiYmdXVhLmluY2x1ZGVzKF8uUGIoYS5qKXx8IiIpO3RyeXtsZXQgZT1uZXcgZDIoe3Byb2dyYW06YixnbG9iYWxOYW1lOiJ0cmF5cmlkZSIsbmc6e2Rpc2FibGU6IV8ueCgiYXR0X3dlYl9yZWNvcmRfbWV0cmljcyIpfHwhXy54KCJhdHRfc2tpcF9tZXRyaWNzX2Zvcl9jb29raWVsZXNzX2RvbWFpbnNfa3MiKSYmZCxtYjoiYUdJZiJ9fSk7ZS5DZy50aGVuKCgpPT57YS5TKDYpO2MmJmMoYil9KTthLm8oZSl9Y2F0Y2goZSl7YS5TKDcpLGUgaW5zdGFuY2VvZiBFcnJvciYmXy5JcChlKX19O200PWZ1bmN0aW9uKCl7dmFyIGE9Xy5zYSgieXQuYWJ1c2UucGxheWVyQXR0TG9hZGVyIik7cmV0dXJuIGEmJlsiYmd2bWEiLCJiZ3ZtYiIsImJndm1jIl0uZXZlcnkoYj0+YiBpbiBhKT9hOm51bGx9Owp2dWE9ZnVuY3Rpb24oKXt2YXIgYT1fLncoIkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UUyIpO2lmKGEpe3ZhciBiPW5yYSgpO2ZvcihsZXQgYyBvZiBhKWIoYykmJl8uRXAoImdlbmVyaWNDbGllbnRFeHBlcmltZW50RXZlbnQiLHtldmVudFR5cGU6Y30pO2RlbGV0ZSBfLlBpLkNMSUVOVF9FWFBFUklNRU5UX0VWRU5UU319O3d1YT1mdW5jdGlvbihhLGIsYyl7aWYoYS5qKXtsZXQgZD1fLlFiKF8uUHkoYiwia2V5IikpfHwiL1VOS05PV05fUEFUSCI7YS5qLnN0YXJ0KGQpfWE9YztfLngoInd1Z19uZXR3b3JraW5nX2d6aXBfcmVxdWVzdCIpJiYoYT1GcmEoYykpO3JldHVybiBuZXcgd2luZG93LlJlcXVlc3QoYixhKX07Cm80PWFzeW5jIGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtpZihmPy5hYm9ydGVkKXJldHVybiBiLmNhbmNlbCgpLGQ7dmFyIHt2YWx1ZTpoLGRvbmU6a309YXdhaXQgYi5yZWFkKCk7aWYoaylyZXR1cm4gYS5qPy5zdWNjZXNzKCksZDt0cnl7dmFyIGw9Yy5wYXJzZShoKX1jYXRjaChtKXt0aHJvdyBuZXcgbjQoIkZhaWxlZCB0byBwYXJzZSBzdHJlYW1pbmcgcmVzcG9uc2UiLGgpO31pZihsIT1udWxsKWZvcihsZXQgbSBvZiBsKWQucHVzaChtKSxlPy4obSk7cmV0dXJuIG80KGEsYixjLGQsZSxmKX07eHVhPWZ1bmN0aW9uKCl7dmFyIGE9bmF2aWdhdG9yO3JldHVybiBuZXcgUHJvbWlzZSgoYixjKT0+e2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZT8ucXVlcnlVc2FnZUFuZFF1b3RhP2Eud2Via2l0VGVtcG9yYXJ5U3RvcmFnZS5xdWVyeVVzYWdlQW5kUXVvdGEoKGQsZSk9PntiKHt1c2FnZTpkLHF1b3RhOmV9KX0sZD0+e2MoZCl9KTpjKEVycm9yKCJWZSIpKX0pfTsKeXVhPWZ1bmN0aW9uKGEsYil7cDQuamMoKS5lc3RpbWF0ZSgpLnRoZW4oYz0+e2EuaigiaWRiUXVvdGFFeGNlZWRlZCIsey4uLmIsaXNTdzpzZWxmLmRvY3VtZW50PT09dm9pZCAwLGlzSWZyYW1lOnNlbGYhPT1zZWxmLnRvcCxkZXZpY2VTdG9yYWdlVXNhZ2VNYnl0ZXM6cTQoYz8udXNhZ2UpLGRldmljZVN0b3JhZ2VRdW90YU1ieXRlczpxNChjPy5xdW90YSl9KX0pfTtxND1mdW5jdGlvbihhKXtyZXR1cm4gdHlwZW9mIGE9PT0idW5kZWZpbmVkIj8iLTEiOlN0cmluZyhNYXRoLmNlaWwoYS8xMDQ4NTc2KSl9Owp6dWE9ZnVuY3Rpb24oYSxiKXt2YXIgYz17ZXJyb3JTZXZlcml0eTpiLmZoLnRvU3RyaW5nKCksd2l6RmVhdHVyZUZsYWdzOk9iamVjdC5lbnRyaWVzKGIuQWwpLmpvaW4oIlxuIil9O2I9Yi5maDtiPT09Mz9fLkdwKGEsIkVSUk9SIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTpiPT09MiYmXy5HcChhLCJXQVJOSU5HIix2b2lkIDAsdm9pZCAwLHZvaWQgMCxjKTtfLngoImNvd19pZl9lcnJvcnNfaW5fcG9wdXAiKSYmYj09PTMmJmEubWVzc2FnZS5pbmRleE9mKCI8SWY+IikhPT0tMSYmd2luZG93LmFsZXJ0KGEubWVzc2FnZSl9OwpBdWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW51bGw7YyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50P2Q9YzohXy54KCJsb2dnaW5nX25lc3RlZF9jb21wb25lbnRfa3MiKSYmQXJyYXkuaXNBcnJheShjKSYmYy5sZW5ndGg9PT0xJiZBcnJheS5pc0FycmF5KGNbMF0pJiZjWzBdLmxlbmd0aD09PTEmJmNbMF1bMF1pbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYoZD1jWzBdWzBdKTthLmNvbXBvbmVudFR5cGUhPT1fLkt2JiZkJiZiJiYhXy54KCJjb3dfbG9nZ2luZ19pbl9jb21wb25lbnRfd3JhcHBlciIpJiZfLnV5KGQsYiwhMCl9O0J1YT1mdW5jdGlvbigpe18ueCgiY293X2xvZ2dpbmdfaW5fY29tcG9uZW50X3dyYXBwZXIiKT8oXy5Ddj0oYSxiKT0+e2IgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmXy51eShiLGEsITApfSxfLnZ2PSgpPT57fSk6KF8uQ3Y9KCk9Pnt9LF8udnY9QXVhKX07CkR1YT1mdW5jdGlvbigpe3ZhciBhPV8ueSgpO18uSnooYSx7amE6cjQsUGE6czR9KTtfLkp6KGEse2phOnQ0LFBhOl8ubm19KTt2YXIgYj12My5qYygpLGM9YS5yZXNvbHZlKHQ0KSxkPWEucmVzb2x2ZShyNCksZT17fTtiJiYoZS5jbGllbnRfbG9jYXRpb249Yik7Xy5KeihhLHtqYTp1NCxNYjpDdWF9KTtfLkp6KGEse2phOl8uSnksTWI6ZX0pO18ueCgibWF3X2VuYWJsZV9uZXR3b3JrX21hY2hpbmUiKSYmZnVhKCk7VnRhKGEucmVzb2x2ZSh1NCksZCxjLGEucmVzb2x2ZShfLkp5KSk7Xy5KeihhLHtqYTpfLkl5LE1iOnozLmluc3RhbmNlfSl9O0d1YT1mdW5jdGlvbihhLGIsYyxkPSgpPT57fSxlPW51bGwpe2I9bmV3IEV1YShhLGIsYyxkLGUpO0Z1YS5zZXQoYSxiKX07CnY0PWZ1bmN0aW9uKGEpe2lmKCFhLm9uUmVhZHlQYXRjaEFwcGxpZWQpe3ZhciBiPWEuYWRkRXZlbnRMaXN0ZW5lcjthLmFkZEV2ZW50TGlzdGVuZXI9KGMsZCk9PntjPT09Im9uUmVhZHkiP1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntkKGEpfSk6Yi5jYWxsKGEsYyxkKX07YS5vblJlYWR5UGF0Y2hBcHBsaWVkPSEwfX07SnVhPWZ1bmN0aW9uKGEpe2lmKF8uc2EoInl0LnBsYXllci5BcHBsaWNhdGlvbi5jcmVhdGUiKSlQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dzQoYSl9KTtlbHNle0h1YShfLmh3KGEud2ViUGxheWVyQ29udGV4dENvbmZpZy50cnVzdGVkSnNVcmwpLCgpPT57dzQoYSl9LCgpPT57YS5pYSgpfHxhLkVqKCl9KTtsZXQgYj1hLndlYlBsYXllckNvbnRleHRDb25maWcudHJ1c3RlZENzc1VybDtiJiZJdWEoXy5odyhiKSl9fTsKdzQ9ZnVuY3Rpb24oYSl7aWYoIWEuaWEoKSl7dmFyIGI9Xy5zYSgieXQucGxheWVyLkFwcGxpY2F0aW9uLmNyZWF0ZSIpO3RyeXthLmFwaT1iKGEuY29udGFpbmVyLHthcmdzOmEucGxheWVyVmFyc30sYS53ZWJQbGF5ZXJDb250ZXh0Q29uZmlnLHZvaWQgMCkuZ2V0SW50ZXJuYWxBcGkoKSx2NChhLmFwaSksYS5hcGkuaXNSZWFkeT0oKT0+ITAsYS5qKGEuYXBpKX1jYXRjaChjKXt0aHJvdyBhLkVqKCksYzt9fX07SXVhPWZ1bmN0aW9uKGEpe3ZhciBiPWB5dHAtJHthLnRvU3RyaW5nKCl9YDtpZighZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYikpe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtjLmlkPWI7Xy5xYihjLGEsInN0eWxlc2hlZXQiKTsoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQoYyl9fTsKSHVhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1geXRwLSR7YS50b1N0cmluZygpfWAsZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChkKTtpZihlKWUuZGF0YXNldC5mYWlsZWQ/YygpOmUuZGF0YXNldC5sb2FkZWQ/YigpOihlLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e2MoKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsKCk9PntiKCl9KSk7ZWxzZXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtmLmlkPWQ7Zi5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9PntmLmRhdGFzZXQuZmFpbGVkPSJ0cnVlIjtjKCl9KTtmLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57Zi5kYXRhc2V0LmxvYWRlZD0idHJ1ZSI7YigpfSk7Xy5vYihmLGEpO2E9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXXx8ZG9jdW1lbnQuYm9keTthLmluc2VydEJlZm9yZShmLGEuZmlyc3RDaGlsZCl9fTsKS3VhPWZ1bmN0aW9uKGEpe18udygiRU5BQkxFX1dFQlZJRVdfQVBJIikmJndpbmRvdy55dHdlYnZpZXdwbGF5ZXImJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYj0+e3RyeXtsZXQgZD1KU09OLnBhcnNlKGIuZGF0YSksZT1kLm1ldGhvZE5hbWUsZj1kLmFyZ3N8fFtdO2E6e2ZvcihsZXQgaCBvZiBmKWlmKFN0cmluZyhoKS5pbmNsdWRlcygiamF2YXNjcmlwdDoiKSl7dmFyIGM9ITA7YnJlYWsgYX1jPSExfWlmKGMpdGhyb3cgRXJyb3IoIldlYCIrZSsiYCIrZik7aWYoZSYmdHlwZW9mIGFbZV09PT0iZnVuY3Rpb24iKWFbZV0oLi4uZik7ZWxzZSB0aHJvdyBFcnJvcigiWGVgIitlKTt9Y2F0Y2goZCl7Xy5HcChkKX19KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLCgpPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25QbGF5ZXJSZWFkeSJ9KSl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoIm9uU3RhdGVDaGFuZ2UiLApiPT57d2luZG93Lnl0d2Vidmlld3BsYXllci5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeSh7dHlwZToib25TdGF0ZUNoYW5nZSIsc3RhdGU6Yn0pKX0pLGEuYWRkRXZlbnRMaXN0ZW5lcigib25FcnJvciIsYj0+e3dpbmRvdy55dHdlYnZpZXdwbGF5ZXIucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe3R5cGU6Im9uRXJyb3IiLGVycm9yQ29kZTpifSkpfSkpfTt4ND1mdW5jdGlvbihhKXtyZXR1cm4oYS5zZWFyY2goImN1ZSIpPT09MHx8YS5zZWFyY2goImxvYWQiKT09PTApJiZhIT09ImxvYWRNb2R1bGUifTsKeTQ9ZnVuY3Rpb24oYSxiLGMpe2lmKHR5cGVvZiBhPT09InN0cmluZyIpcmV0dXJue3ZpZGVvSWQ6YSxzdGFydFNlY29uZHM6YixzdWdnZXN0ZWRRdWFsaXR5OmN9O2I9e307Zm9yKGxldCBlIG9mIEx1YSlhW2VdJiYoYltlXT1hW2VdKTtpZihhPWEuZW1iZWRDb25maWd8fGEuZW1iZWRfY29uZmlnKXthOmlmKHR5cGVvZiBhPT09InN0cmluZyIpdmFyIGQ9YTtlbHNle2lmKF8uQWEoYSkpdHJ5e2Q9SlNPTi5zdHJpbmdpZnkoYSk7YnJlYWsgYX1jYXRjaChlKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGVtYmVkQ29uZmlnIEpTT04iLGUpfWQ9dm9pZCAwfWIuZW1iZWRfY29uZmlnPWR9cmV0dXJuIGJ9Owp6ND1mdW5jdGlvbihhLGIsYyxkKXtpZihfLkFhKGEpJiYhQXJyYXkuaXNBcnJheShhKSl7Yj0icGxheWxpc3QgbGlzdCBsaXN0VHlwZSBpbmRleCBzdGFydFNlY29uZHMgc3VnZ2VzdGVkUXVhbGl0eSIuc3BsaXQoIiAiKTtjPXt9O2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspe2xldCBlPWJbZF07YVtlXSYmKGNbZV09YVtlXSl9cmV0dXJuIGN9Yj17aW5kZXg6YixzdGFydFNlY29uZHM6YyxzdWdnZXN0ZWRRdWFsaXR5OmR9O3R5cGVvZiBhPT09InN0cmluZyImJmEubGVuZ3RoPT09MTY/Yi5saXN0PSJQTCIrYTpiLnBsYXlsaXN0PWE7cmV0dXJuIGJ9O0E0PWZ1bmN0aW9uKGEsYixjKXthLkIucHVzaCh7ZXZlbnRUeXBlOmIsbGlzdGVuZXI6Y30pO2EuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixjKX07CkQ0PWZ1bmN0aW9uKGEpe2lmKGEuailpZihhLnYpYS5zZW5kTWVzc2FnZSgiYWxyZWFkeUluaXRpYWxpemVkIik7ZWxzZSBpZihhLk0pe2Eudj0hMDthLk09ITE7YS5zZW5kTWVzc2FnZSgiaW5pdGlhbERlbGl2ZXJ5IixCNChhKSk7YS5zZW5kTWVzc2FnZSgib25SZWFkeSIpO18uQXEoImVwX2luaXRfYXIiKTtmb3IobGV0IGIgb2YgYS5VKUM0KGEsYik7YS5VPVtdfX07QzQ9ZnVuY3Rpb24oYSxiLGM9YS5qKXtpZihjKXtiLmNoYW5uZWw9IndpZGdldCI7YS5zZXNzaW9uSWQmJihiLmlkPWEuc2Vzc2lvbklkKTt0cnl7bGV0IGQ9SlNPTi5zdHJpbmdpZnkoYik7Yy5wb3N0TWVzc2FnZShkLGEudGFyZ2V0T3JpZ2luKX1jYXRjaChkKXtfLklwKGQpfX19OwpCND1mdW5jdGlvbihhKXtpZighYS5hcGkpcmV0dXJuIG51bGw7dmFyIGI9YS5hcGkuZ2V0QXBpSW50ZXJmYWNlKCk7Xy54YihiLCJnZXRWaWRlb0RhdGEiKTt2YXIgYz17YXBpSW50ZXJmYWNlOmJ9O2ZvcihsZXQgZT0wLGY9Yi5sZW5ndGg7ZTxmO2UrKyl7bGV0IGg9YltlXTtpZihoLnNlYXJjaCgiZ2V0Iik9PT0wfHxoLnNlYXJjaCgiaXMiKT09PTApe3ZhciBkPTA7aC5zZWFyY2goImdldCIpPT09MD9kPTM6aC5zZWFyY2goImlzIik9PT0wJiYoZD0yKTtkPWguY2hhckF0KGQpLnRvTG93ZXJDYXNlKCkraC5zdWJzdHJpbmcoZCsxKTt0cnl7bGV0IGs9YS5hcGlbaF0oKTtjW2RdPWt9Y2F0Y2goayl7fX19Yy52aWRlb0RhdGE9YS5hcGkuZ2V0VmlkZW9EYXRhKCk7Yy5jdXJyZW50VGltZUxhc3RVcGRhdGVkXz1EYXRlLm5vdygpLzFFMztyZXR1cm4gY307RTQ9ZnVuY3Rpb24oYSxiKXthLnNlbmRNZXNzYWdlKCJpbmZvRGVsaXZlcnkiLGIpfTsKTXVhPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZD0+e2I9PT0ib25FcnJvciI/YS5hcGkubG9nQXBpQ2FsbChgJHtifSBpbnZvY2F0aW9uYCxjLGQpOmEuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk7YS5zZW5kTWVzc2FnZShiLGQpfX07RjQ9ZnVuY3Rpb24oYSxiLGMpe2EuaWEoKXx8KGI9e2lkOmEuaWQsY29tbWFuZDpifSxjJiYoYi5kYXRhPWMpLE51YS5wb3N0TWVzc2FnZShKU09OLnN0cmluZ2lmeShiKSxhLm9yaWdpbikpfTtPdWE9ZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZSAib25SZWFkeSI6cmV0dXJuO2Nhc2UgIm9uU3RhdGVDaGFuZ2UiOnJldHVybntwbGF5ZXJTdGF0ZTpifTtjYXNlICJvblBsYXliYWNrUXVhbGl0eUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUXVhbGl0eTpifTtjYXNlICJvblBsYXliYWNrUmF0ZUNoYW5nZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJvbkVycm9yIjpyZXR1cm57ZXJyb3JDb2RlOmJ9fWlmKGIhPW51bGwpcmV0dXJue3ZhbHVlOmJ9fTsKUHVhPWZ1bmN0aW9uKGEsYil7c3dpdGNoKGEpe2Nhc2UgImxvYWRWaWRlb0J5SWQiOnJldHVyblt5NChiKV07Y2FzZSAiY3VlVmlkZW9CeUlkIjpyZXR1cm5beTQoYildO2Nhc2UgImxvYWRWaWRlb0J5UGxheWVyVmFycyI6cmV0dXJuW2JdO2Nhc2UgImN1ZVZpZGVvQnlQbGF5ZXJWYXJzIjpyZXR1cm5bYl07Y2FzZSAibG9hZFBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgImN1ZVBsYXlsaXN0IjpyZXR1cm5bejQoYildO2Nhc2UgInNlZWtUbyI6cmV0dXJuW2Iuc2Vjb25kcyxiLmFsbG93U2Vla0FoZWFkXTtjYXNlICJwbGF5VmlkZW9BdCI6cmV0dXJuW2IuaW5kZXhdO2Nhc2UgInNldFZvbHVtZSI6cmV0dXJuW2Iudm9sdW1lXTtjYXNlICJzZXRQbGF5YmFja1F1YWxpdHkiOnJldHVybltiLnN1Z2dlc3RlZFF1YWxpdHldO2Nhc2UgInNldFBsYXliYWNrUmF0ZSI6cmV0dXJuW2Iuc3VnZ2VzdGVkUmF0ZV07Y2FzZSAic2V0TG9vcCI6cmV0dXJuW2IubG9vcFBsYXlsaXN0c107Y2FzZSAic2V0U2h1ZmZsZSI6cmV0dXJuW2Iuc2h1ZmZsZVBsYXlsaXN0XTsKY2FzZSAiZ2V0T3B0aW9ucyI6cmV0dXJuW2IubW9kdWxlXTtjYXNlICJnZXRPcHRpb24iOnJldHVybltiLm1vZHVsZSxiLm9wdGlvbl07Y2FzZSAic2V0T3B0aW9uIjpyZXR1cm5bYi5tb2R1bGUsYi5vcHRpb24sYi52YWx1ZV07Y2FzZSAiaGFuZGxlR2xvYmFsS2V5RG93biI6cmV0dXJuW2Iua2V5Q29kZSxiLnNoaWZ0S2V5LGIuY3RybEtleSxiLmFsdEtleSxiLm1ldGFLZXksYi5rZXksYi5jb2RlXX1yZXR1cm5bXX07ClF1YT1mdW5jdGlvbihhLGIpe3N3aXRjaChhKXtjYXNlICJpc011dGVkIjpyZXR1cm57bXV0ZWQ6Yn07Y2FzZSAiZ2V0Vm9sdW1lIjpyZXR1cm57dm9sdW1lOmJ9O2Nhc2UgImdldFBsYXliYWNrUmF0ZSI6cmV0dXJue3BsYXliYWNrUmF0ZTpifTtjYXNlICJnZXRBdmFpbGFibGVQbGF5YmFja1JhdGVzIjpyZXR1cm57YXZhaWxhYmxlUGxheWJhY2tSYXRlczpifTtjYXNlICJnZXRWaWRlb0xvYWRlZEZyYWN0aW9uIjpyZXR1cm57dmlkZW9Mb2FkZWRGcmFjdGlvbjpifTtjYXNlICJnZXRQbGF5ZXJTdGF0ZSI6cmV0dXJue3BsYXllclN0YXRlOmJ9O2Nhc2UgImdldEN1cnJlbnRUaW1lIjpyZXR1cm57Y3VycmVudFRpbWU6Yn07Y2FzZSAiZ2V0UGxheWJhY2tRdWFsaXR5IjpyZXR1cm57cGxheWJhY2tRdWFsaXR5OmJ9O2Nhc2UgImdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMiOnJldHVybnthdmFpbGFibGVRdWFsaXR5TGV2ZWxzOmJ9O2Nhc2UgImdldER1cmF0aW9uIjpyZXR1cm57ZHVyYXRpb246Yn07CmNhc2UgImdldFZpZGVvVXJsIjpyZXR1cm57dmlkZW9Vcmw6Yn07Y2FzZSAiZ2V0VmlkZW9FbWJlZENvZGUiOnJldHVybnt2aWRlb0VtYmVkQ29kZTpifTtjYXNlICJnZXRQbGF5bGlzdCI6cmV0dXJue3BsYXlsaXN0OmJ9O2Nhc2UgImdldFBsYXlsaXN0SW5kZXgiOnJldHVybntwbGF5bGlzdEluZGV4OmJ9O2Nhc2UgImdldE9wdGlvbnMiOnJldHVybntvcHRpb25zOmJ9O2Nhc2UgImdldE9wdGlvbiI6cmV0dXJue29wdGlvbjpifX19O1J1YT1mdW5jdGlvbigpe3JldHVybiBHNC5pc0luaXRpYWxpemVkKCl9O1N1YT1mdW5jdGlvbihhPXt9KXtyZXR1cm4gRzQuaW52b2tlKGEpfTtUdWE9ZnVuY3Rpb24oKXtpZihfLncoIkVOQUJMRV9KU19BUEkiKSl7dmFyIGE9Yj0+e0g0PWI7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGEpfTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYSl9fTsKVXVhPWZ1bmN0aW9uKCl7Xy5BcSgiZXBfaW5pdF93ZXMiKTt2YXIgYT1fLncoIlBMQVlFUl9DT05GSUciKTtpZighYSl7dmFyIGI9Xy53KCJQTEFZRVJfVkFSUyIpO2ImJihhPXthcmdzOmJ9KX1RMighMCk7YS5hcmdzLnBzPT09Imd2biImJihkb2N1bWVudC5ib2R5LnN0eWxlLmJhY2tncm91bmRDb2xvcj0idHJhbnNwYXJlbnQiKTthLmF0dHJzfHwoYS5hdHRycz17d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsaWQ6InZpZGVvLXBsYXllciJ9KTtiPWRvY3VtZW50LnJlZmVycmVyO3dpbmRvdyE9PXdpbmRvdy50b3AmJmImJmIhPT1kb2N1bWVudC5VUkwmJihhLmFyZ3MubG9hZGVyVXJsPWIpO2I9Xy53KCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyIpPy5XRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUjtpZighYi5zZXJpYWxpemVkRm9yY2VkRXhwZXJpbWVudElkcyl7bGV0IGM9YTAod2luZG93LmxvY2F0aW9uLmhyZWYpO2MuZm9yY2VkX2V4cGVyaW1lbnRzJiYKKGIuc2VyaWFsaXplZEZvcmNlZEV4cGVyaW1lbnRJZHM9Yy5mb3JjZWRfZXhwZXJpbWVudHMpfWEuYXJncz8uYXV0b3BsYXk/dDAoIndhdGNoIixbInBicyIsInBidSIsInBicCJdKTphLmFyZ3MmJnd0YShhLmFyZ3MpP3QwKCJ2aWRlb19wcmV2aWV3IixbIm9sIl0pOnQwKCJlbWJlZF9ub192aWRlbyIsWyJlcF9pbml0X2FyIl0pO18ueCgiZW1iZWRzX3VzZV9wbGF5ZXJfaW5zdGFuY2VzX2xpYnJhcnkiKXx8Xy53KCJFTkFCTEVfV0VCVklFV19BUEkiKT8oR3VhKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwbGF5ZXIiKSxiLGM9PntfLncoIkVOQUJMRV9XRUJWSUVXX0FQSSIpPyhjPWMuZ2V0VHJ1c3RlZEFwaSgpLHY0KGMpLEt1YShjKSk6KEk0KGMpLEo0KGMpKX0sKCk9Pnt0aHJvdyBFcnJvcigiWWUiKTt9LGEuYXJncyksXy53KCJFTkFCTEVfV0VCVklFV19BUEkiKXx8SzQoKSxfLkFxKCJlcF9pbml0X3dlZSIpKTooYT1jc2EoYSxiKSxJNChhKSxLNCgpLF8uQXEoImVwX2luaXRfd2VlIiksCko0KGEpKX07STQ9ZnVuY3Rpb24oYSl7TDQ9YTtMNC5hZGRFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpO0w0LmFkZEV2ZW50TGlzdGVuZXIoIm9uUmVhZHkiLFZ1YSk7YT1fLncoIlBPU1RfTUVTU0FHRV9JRCIsInBsYXllciIpO3ZhciBiPV8udygiUE9TVF9NRVNTQUdFX09SSUdJTiIpO18udygiRU5BQkxFX0pTX0FQSSIpP040PW5ldyBXdWE6Xy53KCJFTkFCTEVfUE9TVF9BUEkiKSYmdHlwZW9mIGE9PT0ic3RyaW5nIiYmdHlwZW9mIGI9PT0ic3RyaW5nIiYmKE40PW5ldyBYdWEoYSxiKSk7SDQ9dm9pZCAwfTsKSzQ9ZnVuY3Rpb24oKXtHdGEoKTtfLngoInl0aWRiX2NyZWF0ZV9sb2dnZXJfZW1iZWRfa2lsbHN3aXRjaCIpfHxCcmEoKTtPNC5qfHwoTzQuaj1uZXcgTzQpO080LmouaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6KCk9PntfLmJwKCl9fX0pO18uSWx8fEdyYSgpO0R1YSgpO18uamYucGIoKCk9PntfLnkoKS5yZXNvbHZlKF8uSXkpO2l1YSgpfSk7c2V0VGltZW91dCgoKT0+e18ueCgiYXR0bXVzaSIpJiZzdWEod2luZG93KTt2YXIgYT1fLnkoKS5yZXNvbHZlKF8uSW4oXy5JeSkpO2lmKGEpe2E9bmV3IFl1YShhKTt2YXIgYj17cHJlbG9hZDohXy54KCJlbmFibGVfcnRhX25waSIpLHpzOl8ueCgiYXR0bXVzaSIpfTtiPU9iamVjdC5hc3NpZ24oe3ByZWxvYWQ6ITB9LGIpO2xldCBkPWIuQUk/dm9pZCAwOm5ldyBfLk9zO1A0Lmluc3RhbmNlPW5ldyBQNChhLGIsZCk7YT1QNC5pbnN0YW5jZTtpZigoXy54KCJhdHRtdXNpIil8fF8ueCgiYXR0bXVzaXciKSkmJl8ueCgiYXR0bXVzaV91ZSIpKXthPQp7czphLkIuYmluZChhKSxpcjphLkQuYmluZChhKX07Yj13aW5kb3c7Yi5hdHRtcD1hO2lmKGIuYXR0bXEhPT12b2lkIDApZm9yKHZhciBjIG9mIGIuYXR0bXEpYyhhKTtiLmF0dG1xPXZvaWQgMH1lbHNlIGM9YS5CLmJpbmQoYSksXy5yYSgieXQuYWJhLmF0dCIsYyksYz1hLkQuYmluZChhKSxfLnJhKCJ5dC5hYmEuYXR0MiIsYyl9fSxfLnNqKCJhdHRfaW5pdF9kZWxheSIsMjAwKSk7Xy5ZaigoKT0+e2lmKF8ueCgiZW5hYmxlX3p3X3BpbmciKSl7dmFyIGE9Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiLCJVTktOT1dOX0lOVEVSRkFDRSIpLGI9Ii9lc3RhYmxpc2hfenciO2lmKGE9PT0iV0VCX0VNQkVEREVEX1BMQVlFUiIpYj0iL2VtYmVkL2VzdGFibGlzaF96dyI7ZWxzZSBpZihhPT09IlRWSFRNTDUifHxhPT09IlRWSFRNTDVfU0lNUExZIiliPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS90di9lc3RhYmxpc2hfenciO18udygiQ09PS0lFTEVTUyIsITEpJiZhPT09IldFQl9FTUJFRERFRF9QTEFZRVIiPwooYT1uZXcgSGVhZGVycyxhLnNldCgiWC1Hb29nLVZpc2l0b3ItSWQiLF8udygiVklTSVRPUl9EQVRBIikpLGZldGNoKGIse21ldGhvZDoiR0VUIixtb2RlOiJuby1jb3JzIixoZWFkZXJzOmF9KSk6ZmV0Y2goYix7bWV0aG9kOiJHRVQiLG1vZGU6Im5vLWNvcnMiLGNyZWRlbnRpYWxzOiJpbmNsdWRlIn0pfX0pfTtadWE9ZnVuY3Rpb24oKXtRNCgpfTskdWE9ZnVuY3Rpb24oYSl7YS5wZXJzaXN0ZWR8fFE0KCl9OwpRND1mdW5jdGlvbigpe1NyYSgpO3ZhciBhPV8uSHooKSxiPV8uQ3ooMTE5KSxjPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPjE7ZG9jdW1lbnQuYm9keSYmXy5SdChkb2N1bWVudC5ib2R5LCJleHAtaW52ZXJ0LWxvZ28iKSYmKGMmJiFfLlJ0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKT9fLlN0KGRvY3VtZW50LmJvZHksImludmVydGVkLWhkcGkiKTohYyYmXy5SdChkb2N1bWVudC5ib2R5LCJpbnZlcnRlZC1oZHBpIikmJl8uVHQoZG9jdW1lbnQuYm9keSwiaW52ZXJ0ZWQtaGRwaSIpKTtiIT1jJiYoXy5EeigxMTksYyksYS5zYXZlKCkpfTtNND1mdW5jdGlvbigpe1I0KCl9O1Z1YT1mdW5jdGlvbigpe18uQXEoImVwX2luaXRfcHIiKTtSNCgpfTtSND1mdW5jdGlvbigpe3ZhciBhPUw0LmdldFZpZGVvRGF0YSgxKTthPWEudGl0bGU/YS50aXRsZSsiIC0gWW91VHViZSI6IllvdVR1YmUiO2RvY3VtZW50LnRpdGxlIT09YSYmKGRvY3VtZW50LnRpdGxlPWEpfTsKUzQ9ZnVuY3Rpb24oKXtMNCYmTDQuc2VuZEFiYW5kb25tZW50UGluZyYmTDQuc2VuZEFiYW5kb25tZW50UGluZygpO18udygiUExfQVRUIikmJkc0LmRpc3Bvc2UoKTtfLk10KCQyKTskMi5sZW5ndGg9MDtFMChaMi50b1N0cmluZygpKTtZMj0hMTtfLlFpKCJEQ0xLU1RBVCIsMCk7Xy4kZChONCk7TDQmJihMNC5yZW1vdmVFdmVudExpc3RlbmVyKCJvblZpZGVvRGF0YUNoYW5nZSIsTTQpLEw0LmRlc3Ryb3koKSxMND1udWxsKX07YXZhPWZ1bmN0aW9uKGEpe18ueCgiZW1iZWRzX3dlYl9lbmFibGVfZGlzcG9zZV9wbGF5ZXJfaWZfcGFnZV9ub3RfY2FjaGVkX2tpbGxzd2l0Y2giKT9TNCgpOmEucGVyc2lzdGVkfHxTNCgpfTsKYnZhPWZ1bmN0aW9uKCl7VDR8fChfLmR3KHtKaShhKXthLnByb3BzLmRhdGEmJihhLmVsLmRhdGE9YS5wcm9wcy5kYXRhKX0sS2koYSxiLGMpe2EuZWw/Yi5kYXRhIT09Yy5kYXRhJiYoYS5lbC5kYXRhPWMuZGF0YSk6Xy5JcChuZXcgXy5YaigiSURPTSBjb21wb25lbnQgZWwgaXMgbnVsbCIsYS5qPy5aYykpfX0pLFQ0PSEwKX07Y3ZhPXtFSzohMH07ZHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3ZhciBiPVU0O3RoaXMuaj0xNzUyMzczNzU7dGhpcy5jdG9yPWE7dGhpcy5pc1JlcGVhdGVkPTA7dGhpcy5vPV8uTng7dGhpcy5kZWZhdWx0VmFsdWU9dm9pZCAwO3RoaXMudj1iLm1lc3NhZ2VJZCE9bnVsbD9fLnd6OnZvaWQgMH1yZWdpc3Rlcigpe18ucGModGhpcyl9fTsKZHJhPXt0b1N0cmluZzpmdW5jdGlvbihhKXt2YXIgYj1bXSxjPTA7YS09LTIxNDc0ODM2NDg7YltjKytdPSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIi5jaGFyQXQoYSU1Mik7Zm9yKGE9TWF0aC5mbG9vcihhLzUyKTthPjA7KWJbYysrXT0iYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWjAxMjM0NTY3ODkiLmNoYXJBdChhJTYyKSxhPU1hdGguZmxvb3IoYS82Mik7cmV0dXJuIGIuam9pbigiIil9fTtBMz17aWRlbnRpdHlUeXBlOiJVTkFVVEhFTlRJQ0FURURfSURFTlRJVFlfVFlQRV9VTktOT1dOIn07SVo9MDtKWj0wO05aPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLmJ1ZmZlcj1hO2lmKGMmJiFiKXRocm93IEVycm9yKCk7fX07T1o9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLm89YT4+PjA7dGhpcy5qPWI+Pj4wfX07ClRaPWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5vPWE+Pj4wO3RoaXMuaj1iPj4+MH19O2xfPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuan19O0VfPV8ueWMoKTtvcmE9L14tPyhbMS05XVswLTldKnwwKShcLlswLTldKyk/JC87VjQ9Xy5seihPXyxfLkpyKTtldmE9Xy5seihPXyxfLkpyKTtXND1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPXFfKGIpO2IhPW51bGwmJihfLlp5KGEsYyw1KSxhPWEuaixjPU5ffHwoTl89bmV3IERhdGFWaWV3KG5ldyBBcnJheUJ1ZmZlcig4KSkpLGMuc2V0RmxvYXQzMigwLCtiLCEwKSxKWj0wLElaPWMuZ2V0VWludDMyKDAsITApLGVfKGEsSVopKX0sXy5Jcik7WDQ9Xy5seihQXyxfLkZyKTtmdmE9Xy5seihQXyxfLkZyKTsKWTQ9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1BXyhiKTtpZihiIT1udWxsJiYoZ18oYiksYiE9bnVsbCkpc3dpdGNoKF8uWnkoYSxjLDApLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmE9YS5qO0xaKGIpO2RfKGEsSVosSlopO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yz1jXyhiLE9aLFFaKTtkXyhhLmosYy5vLGMuaik7YnJlYWs7ZGVmYXVsdDpjPVNaKGIpLGRfKGEuaixjLm8sYy5qKX19LF8uR3IpO1o0PV8ubHooUV8sXy5Dcik7Z3ZhPV8ubHooUV8sXy5Dcik7Cmh2YT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtiPUFfKGIpO2lmKGIhPW51bGwpc3dpdGNoKGhfKGIpLF8uWnkoYSxjLDEpLGE9YS5qLGhfKGIpLHR5cGVvZiBiKXtjYXNlICJudW1iZXIiOmI8MD8oYj1QWihRWigtYikpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpKTooS1ooYiksZV8oYSxJWiksZV8oYSxKWikpO2JyZWFrO2Nhc2UgImJpZ2ludCI6Yj1iPEJpZ0ludCgwKT9QWihjXygtYixPWixRWikpOmNfKGIsT1osUVopO2M9Yi5qO2VfKGEsYi5vKTtlXyhhLGMpO2JyZWFrO2RlZmF1bHQ6Yj1iLmxlbmd0aCYmYlswXT09PSItIj9QWihTWihiLnN1YnN0cmluZygxKSkpOlNaKGIpLGM9Yi5qLGVfKGEsYi5vKSxlXyhhLGMpfX0sXy5Icik7aXZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2lfKGEsYyxBXyhiKSl9LF8uSHIpO2p2YT1NXyhmdW5jdGlvbihhLGIsYyl7Yj1MXyhBXyxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWlfKGEsYyxiW2RdKX0sXy5Icik7Cmt2YT1fLmx6KF8ubXosXy5Bcik7JDQ9Xy5seihSXyxfLkJyKTtsdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5YdCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLEhaKGYpKX19LF8uQnIpO212YT1fLmx6KFJfLF8uQnIpO2E1PW5ldyBfLmd6KF8ubnosXy56cik7bnZhPU1fKGZ1bmN0aW9uKGEsYixjKXtiPUxfKHJyYSxiLCExKTtpZihiIT1udWxsKWZvcihsZXQgaD0wO2g8Yi5sZW5ndGg7aCsrKXt2YXIgZD1hLGU9YyxmPWJbaF07ZiE9bnVsbCYma18oZCxlLGZyYShmKS5idWZmZXIpfX0sXy5Lcik7YjU9Xy5seihmdW5jdGlvbihhLGIsYyl7Yj1zXyhiKTtiIT1udWxsJiZiIT1udWxsJiYoXy5aeShhLGMsMCksXy5YeShhLmosYikpfSxfLkRyKTtjNT1fLmx6KGZ1bmN0aW9uKGEsYixjKXtqXyhhLGMsXy5zeChiKSl9LF8uTHIpOwpvdmE9TV8oZnVuY3Rpb24oYSxiLGMpe2I9TF8oXy5zeCxiLCEwKTtpZihiIT1udWxsKWZvcihsZXQgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWpfKGEsYyxiW2RdKX0sXy5Mcik7cHZhPV8ubHooZnVuY3Rpb24oYSxiLGMpe2I9Xy5zeChiKTtiIT1udWxsJiYoXy5aeShhLGMsNSksYT1hLmosYS5qLnB1c2goYj4+PjAmMjU1KSxhLmoucHVzaChiPj4+OCYyNTUpLGEuai5wdXNoKGI+Pj4xNiYyNTUpLGEuai5wdXNoKGI+Pj4yNCYyNTUpKX0sXy5Fcik7Xy5nPV8uZVYucHJvdG90eXBlO18uZy5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBuZXcgXy5lVih0aGlzLngsdGhpcy55KX07Xy5nLmVxdWFscz1mdW5jdGlvbihhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIF8uZVYmJih0aGlzPT1hPyEwOnRoaXMmJmE/dGhpcy54PT1hLngmJnRoaXMueT09YS55OiExKX07Xy5nLmNlaWw9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5jZWlsKHRoaXMueCk7dGhpcy55PU1hdGguY2VpbCh0aGlzLnkpO3JldHVybiB0aGlzfTsKXy5nLmZsb29yPWZ1bmN0aW9uKCl7dGhpcy54PU1hdGguZmxvb3IodGhpcy54KTt0aGlzLnk9TWF0aC5mbG9vcih0aGlzLnkpO3JldHVybiB0aGlzfTtfLmcucm91bmQ9ZnVuY3Rpb24oKXt0aGlzLng9TWF0aC5yb3VuZCh0aGlzLngpO3RoaXMueT1NYXRoLnJvdW5kKHRoaXMueSk7cmV0dXJuIHRoaXN9O18uZy50cmFuc2xhdGU9ZnVuY3Rpb24oYSxiKXthIGluc3RhbmNlb2YgXy5lVj8odGhpcy54Kz1hLngsdGhpcy55Kz1hLnkpOih0aGlzLngrPU51bWJlcihhKSx0eXBlb2YgYj09PSJudW1iZXIiJiYodGhpcy55Kz1iKSk7cmV0dXJuIHRoaXN9O18uZy5zY2FsZT1mdW5jdGlvbihhLGIpe3RoaXMueCo9YTt0aGlzLnkqPXR5cGVvZiBiPT09Im51bWJlciI/YjphO3JldHVybiB0aGlzfTsKdmFyIHF2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxydmE9e3N0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjoxLHN0b3BQcm9wYWdhdGlvbjoxLHByZXZlbnRNb3VzZUV2ZW50OjEscHJldmVudE1hbmlwdWxhdGlvbjoxLHByZXZlbnREZWZhdWx0OjEsbGF5ZXJYOjEsbGF5ZXJZOjEsc2NyZWVuWDoxLHNjcmVlblk6MSxzY2FsZToxLHJvdGF0aW9uOjEsd2Via2l0TW92ZW1lbnRYOjEsd2Via2l0TW92ZW1lbnRZOjF9LGMwPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudHlwZT0iIjt0aGlzLnN0YXRlPXRoaXMuc291cmNlPXRoaXMuZGF0YT10aGlzLmN1cnJlbnRUYXJnZXQ9dGhpcy5yZWxhdGVkVGFyZ2V0PXRoaXMudGFyZ2V0PW51bGw7dGhpcy5jaGFyQ29kZT10aGlzLmtleUNvZGU9MDt0aGlzLm1ldGFLZXk9dGhpcy5zaGlmdEtleT10aGlzLmN0cmxLZXk9dGhpcy5hbHRLZXk9ITE7dGhpcy5yb3RhdGlvbj10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPQowO3RoaXMuc2NhbGU9MTt0aGlzLmNoYW5nZWRUb3VjaGVzPXRoaXMudG91Y2hlcz1udWxsO3RyeXtpZihhPWF8fHdpbmRvdy5ldmVudCl7dGhpcy5ldmVudD1hO2ZvcihsZXQgZCBpbiBhKWQgaW4gcnZhfHwodGhpc1tkXT1hW2RdKTt0aGlzLnNjYWxlPWEuc2NhbGU7dGhpcy5yb3RhdGlvbj1hLnJvdGF0aW9uO3ZhciBiPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQ7YiYmYi5ub2RlVHlwZT09MyYmKGI9Yi5wYXJlbnROb2RlKTt0aGlzLnRhcmdldD1iO3ZhciBjPWEucmVsYXRlZFRhcmdldDtpZihjKXRyeXtjPWMubm9kZU5hbWU/YzpudWxsfWNhdGNoKGQpe2M9bnVsbH1lbHNlIHRoaXMudHlwZT09Im1vdXNlb3ZlciI/Yz1hLmZyb21FbGVtZW50OnRoaXMudHlwZT09Im1vdXNlb3V0IiYmKGM9YS50b0VsZW1lbnQpO3RoaXMucmVsYXRlZFRhcmdldD1jO3RoaXMuY2xpZW50WD1hLmNsaWVudFghPXZvaWQgMD9hLmNsaWVudFg6YS5wYWdlWDt0aGlzLmNsaWVudFk9YS5jbGllbnRZIT12b2lkIDA/CmEuY2xpZW50WTphLnBhZ2VZO3RoaXMua2V5Q29kZT1hLmtleUNvZGU/YS5rZXlDb2RlOmEud2hpY2g7dGhpcy5jaGFyQ29kZT1hLmNoYXJDb2RlfHwodGhpcy50eXBlPT0ia2V5cHJlc3MiP3RoaXMua2V5Q29kZTowKTt0aGlzLmFsdEtleT1hLmFsdEtleTt0aGlzLmN0cmxLZXk9YS5jdHJsS2V5O3RoaXMuc2hpZnRLZXk9YS5zaGlmdEtleTt0aGlzLm1ldGFLZXk9YS5tZXRhS2V5O3RoaXMuaj1hLnBhZ2VYO3RoaXMubz1hLnBhZ2VZfX1jYXRjaChkKXt9fXByZXZlbnREZWZhdWx0KCl7dGhpcy5ldmVudCYmKHRoaXMuZXZlbnQucmV0dXJuVmFsdWU9ITEsdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCYmdGhpcy5ldmVudC5wcmV2ZW50RGVmYXVsdCgpKX1zdG9wUHJvcGFnYXRpb24oKXt0aGlzLmV2ZW50JiYodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCkpfXN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpe3RoaXMuZXZlbnQmJgoodGhpcy5ldmVudC5jYW5jZWxCdWJibGU9ITAsdGhpcy5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24mJnRoaXMuZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfX07Xy5IYShlMCxfLmFlKTtlMC5wcm90b3R5cGUuZ2E9ZnVuY3Rpb24oYSl7YS5qPT09dm9pZCAwJiZiMChhKTt2YXIgYj1hLmo7YS5vPT09dm9pZCAwJiZiMChhKTt0aGlzLmo9bmV3IF8uZVYoYixhLm8pfTsKZTAucHJvdG90eXBlLlU9ZnVuY3Rpb24oKXtpZih0aGlzLmope3ZhciBhPSgwLF8uZWwpKCk7aWYodGhpcy5CIT0wKXt2YXIgYj10aGlzLkksYz10aGlzLmosZD1iLngtYy54O2I9Yi55LWMueTtkPU1hdGguc3FydChkKmQrYipiKS8oYS10aGlzLkIpO3RoaXMub1t0aGlzLnZdPU1hdGguYWJzKChkLXRoaXMuRCkvdGhpcy5EKT4uNT8xOjA7Yj0wO2ZvcihjPTA7Yzw0O2MrKyliKz10aGlzLm9bY118fDA7Yj49MyYmdGhpcy5NKCk7dGhpcy5EPWR9dGhpcy5CPWE7dGhpcy5JPXRoaXMuajt0aGlzLnY9KHRoaXMudisxKSU0fX07ZTAucHJvdG90eXBlLmxhPWZ1bmN0aW9uKCl7d2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5oYSk7eXJhKHRoaXMuWil9Owp2YXIgdDM9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPXZvaWQgMDt0aGlzLmo9ITE7YS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnN0YWxscHJvbXB0IixiPT57Yi5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1ifSk7YS5hZGRFdmVudExpc3RlbmVyKCJhcHBpbnN0YWxsZWQiLCgpPT57dGhpcy5qPSEwfSx7b25jZTohMH0pfX0sZjA9MCx1MD17bmV4dDoid25fcyIsYnJvd3NlOiJicl9zIixzZWFyY2g6InNyX3MiLHJlZWw6InJfd3JzIixwbGF5ZXI6InBzX3MifSxScmE9e25leHQ6InduX3IiLGJyb3dzZToiYnJfciIsc2VhcmNoOiJzcl9yIixyZWVsOiJyX3dyciIscGxheWVyOiJwc19yIn0sbTA9e30sczA9eydzY3JpcHRbbmFtZT0ic2NoZWR1bGVyL3NjaGVkdWxlciJdJzoic2oiLCdzY3JpcHRbbmFtZT0icGxheWVyL2Jhc2UiXSc6InBqIiwnbGlua1tyZWw9InByZWxvYWQiXVtuYW1lPSJwbGF5ZXIvZW1iZWQiXSc6InBlaiIsJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0id3d3LXBsYXllciJdJzoicGMiLAonbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJwbGF5ZXIvd3d3LXBsYXllciJdJzoicGMiLCdzY3JpcHRbbmFtZT0iZGVza3RvcF9wb2x5bWVyL2Rlc2t0b3BfcG9seW1lciJdJzoiZHBqIiwnbGlua1tyZWw9ImltcG9ydCJdW25hbWU9ImRlc2t0b3BfcG9seW1lciJdJzoiZHBoIiwnc2NyaXB0W25hbWU9Im1vYmlsZS1jMyJdJzoibWNqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGUtYzMiXSc6Im1jYyIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy1waG9uZS9iYXNlIl0nOiJtY3BwaiIsJ3NjcmlwdFtuYW1lPSJwbGF5ZXItcGxhc21hLWlhcy10YWJsZXQvYmFzZSJdJzoibWNwdGoiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1pYXMiXSc6Im1jcGMiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9Im1vYmlsZS1wb2x5bWVyLXBsYXllci1zdmctaWFzIl0nOiJtY3BzYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2NvcmVfbW9kIl0nOiJtYmNqIiwKJ2xpbmtbcmVsPSJzdHlsZXNoZWV0Il1bbmFtZT0ibW9iaWxlX2JsYXplcl9jc3MiXSc6Im1iYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9pbl91c2Vyc19tb2QiXSc6Im1ibGl1aiIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2xvZ2dlZF9vdXRfdXNlcnNfbW9kIl0nOiJtYmxvdWoiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl9ub25jb3JlX21vZCJdJzoibWJuaiIsIiNwbGF5ZXJfY3NzIjoibWJwYyIsJ3NjcmlwdFtuYW1lPSJtb2JpbGVfYmxhemVyX2Rlc2t0b3BwbGF5ZXJfbW9kIl0nOiJtYnBqIiwnbGlua1tyZWw9InN0eWxlc2hlZXQiXVtuYW1lPSJtb2JpbGVfYmxhemVyX3RhYmxldF9jc3MiXSc6Im1idGMiLCdzY3JpcHRbbmFtZT0ibW9iaWxlX2JsYXplcl93YXRjaF9tb2QiXSc6Im1id2oiLCdzY3JpcHRbbmFtZT0iZW1iZWRfY2xpZW50Il0nOiJlY2oiLCdsaW5rW3JlbD0ic3R5bGVzaGVldCJdW25hbWU9ImVtYmVkLXVpIl0nOiJlY2MifSwKWTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sWjE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0sejA9e30sZDU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7YT1hfHx7fTt2YXIgYj17fSxjPXt9O3RoaXMudXJsPWEudXJsfHwiIjt0aGlzLmFyZ3M9YS5hcmdzfHxVXyhiKTt0aGlzLmFzc2V0cz1hLmFzc2V0c3x8e307dGhpcy5hdHRycz1hLmF0dHJzfHxVXyhjKTt0aGlzLmZhbGxiYWNrPWEuZmFsbGJhY2t8fG51bGw7dGhpcy5mYWxsYmFja01lc3NhZ2U9YS5mYWxsYmFja01lc3NhZ2V8fG51bGw7dGhpcy5odG1sNT0hIWEuaHRtbDU7dGhpcy5kaXNhYmxlPWEuZGlzYWJsZXx8e307dGhpcy5sb2FkZWQ9ISFhLmxvYWRlZDt0aGlzLm1lc3NhZ2VzPWEubWVzc2FnZXN8fHt9fWNsb25lKCl7dmFyIGE9bmV3IGQ1O2ZvcihsZXQgYiBpbiB0aGlzKWlmKHRoaXMuaGFzT3duUHJvcGVydHkoYikpe2xldCBjPXRoaXNbYl07Xy54YShjKT09CiJvYmplY3QiP2FbYl09VV8oYyk6YVtiXT1jfXJldHVybiBhfX0sRjA9e30sYnNhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIsYyxkKXtzdXBlcigpO3RoaXMucGxheWVySWQ9Yjt0aGlzLndlYlBsYXllckNvbnRleHRDb25maWc9ZDt0aGlzLkViPXZvaWQgMDt0aGlzLkZhPSExO3RoaXMuYXBpPXt9O3RoaXMuaGE9dGhpcy5CPW51bGw7dGhpcy5NPW5ldyBfLnRoO3RoaXMuaj17fTt0aGlzLlo9dGhpcy5vYT10aGlzLmVsZW1lbnRJZD10aGlzLk1hPXRoaXMuY29uZmlnPW51bGw7dGhpcy5VPSExO3RoaXMudj10aGlzLkQ9bnVsbDt0aGlzLnlhPXt9O3RoaXMuZmM9WyJvblJlYWR5Il07dGhpcy5sYXN0RXJyb3I9bnVsbDt0aGlzLlFhPU5hTjt0aGlzLkk9e307dGhpcy5nYT0wO3RoaXMubz10aGlzLnRhcmdldEVsZW1lbnQ9YTtFWih0aGlzLHRoaXMuTSk7STAodGhpcyk7Yz90aGlzLmdhPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmxvYWROZXdWaWRlb0NvbmZpZyhjKX0sMCk6CmQmJihKMCh0aGlzKSxTMCh0aGlzKSl9Z2V0SWQoKXtyZXR1cm4gdGhpcy5wbGF5ZXJJZH1sb2FkTmV3VmlkZW9Db25maWcoYSl7aWYoIXRoaXMuaWEoKSl7dGhpcy5nYSYmKGNsZWFyVGltZW91dCh0aGlzLmdhKSx0aGlzLmdhPTApO3ZhciBiPWF8fHt9O2IgaW5zdGFuY2VvZiBkNXx8KGI9bmV3IGQ1KGIpKTt0aGlzLmNvbmZpZz1iO3RoaXMuc2V0Q29uZmlnKGEpO1MwKHRoaXMpO3RoaXMuaXNSZWFkeSgpJiZUMCh0aGlzKX19c2V0Q29uZmlnKGEpe3RoaXMuTWE9YTt0aGlzLmNvbmZpZz1QMChhKTtKMCh0aGlzKTt0aGlzLm9hfHwodGhpcy5vYT1VMCh0aGlzLHRoaXMuY29uZmlnLmFyZ3M/LmpzYXBpY2FsbGJhY2t8fCJvbllvdVR1YmVQbGF5ZXJSZWFkeSIpKTt0aGlzLmNvbmZpZy5hcmdzP3RoaXMuY29uZmlnLmFyZ3MuanNhcGljYWxsYmFjaz1udWxsOnRoaXMuY29uZmlnLmFyZ3M9e2pzYXBpY2FsbGJhY2s6bnVsbH07aWYodGhpcy5jb25maWc/LmF0dHJzKXthPXRoaXMuY29uZmlnLmF0dHJzOwpsZXQgYj1hLndpZHRoO2ImJnRoaXMubyYmKHRoaXMuby5zdHlsZS53aWR0aD1YXyhOdW1iZXIoYil8fGIpKTsoYT1hLmhlaWdodCkmJnRoaXMubyYmKHRoaXMuby5zdHlsZS5oZWlnaHQ9WF8oTnVtYmVyKGEpfHxhKSl9fWlzUmVhZHkoKXtyZXR1cm4gdGhpcy5GYX1hZGRFdmVudExpc3RlbmVyKGEsYil7dGhpcy5pYSgpO3ZhciBjPVUwKHRoaXMsYik7YyYmKF8uc2IodGhpcy5mYyxhKT49MHx8dGhpcy5qW2FdfHwoYj1hc2EodGhpcyxhKSx0aGlzLkImJnRoaXMuQihhLGIpKSx0aGlzLk0uc3Vic2NyaWJlKGEsYyksYT09PSJvblJlYWR5IiYmdGhpcy5pc1JlYWR5KCkmJnNldFRpbWVvdXQoKCk9PntjKHRoaXMuYXBpKX0sMCkpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKXt0aGlzLmlhKCl8fChiPVUwKHRoaXMsYikpJiZ0aGlzLk0udW5zdWJzY3JpYmUoYSxiKX1nZXRQbGF5ZXJUeXBlKCl7cmV0dXJuIHRoaXMuWnx8KEwwKHRoaXMpPyJodG1sNSI6bnVsbCl9Z2V0TGFzdEVycm9yKCl7cmV0dXJuIHRoaXMubGFzdEVycm9yfWNhbmNlbCgpe3RoaXMuRCYmCkcwKFEwKHRoaXMpLHRoaXMuRCk7Y2xlYXJUaW1lb3V0KHRoaXMuUWEpO3RoaXMuVT0hMX1sYSgpe04wKHRoaXMpO2lmKHRoaXMudiYmdGhpcy5jb25maWcmJnRoaXMudi5kZXN0cm95KXRyeXt0aGlzLnYuZGVzdHJveSgpfWNhdGNoKGIpe3ZhciBhPW5ldyBfLlhqKCJQbGF5ZXJQcm94eSBlcnJvciBkdXJpbmcgZGlzcG9zYWwiLHtlcnJvcjpifSk7YS5sZXZlbD0iRVJST1IiO3Rocm93IGE7fXRoaXMueWE9bnVsbDtmb3IoYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgdGhpcy5qW2FdO3RoaXMuTWE9dGhpcy5jb25maWc9dGhpcy5hcGk9bnVsbDtkZWxldGUgdGhpcy50YXJnZXRFbGVtZW50O2RlbGV0ZSB0aGlzLm87c3VwZXIubGEoKX19LFcwPXt9LHh0YT17U0M6IkVNQkVEREVEX1BMQVlFUl9NT0RFX1VOS05PV04iLFBDOiJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUIixSQzoiRU1CRURERURfUExBWUVSX01PREVfUEZQIixRQzoiRU1CRURERURfUExBWUVSX01PREVfUEZMIn07dmFyIGgxPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoYSxiLGM9RXJyb3IoKSl7c3VwZXIoKTt0aGlzLmNvZGU9YTtiKz0iOiI7YyBpbnN0YW5jZW9mIEVycm9yPyh0aGlzLm1lc3NhZ2U9YitjLm1lc3NhZ2UsdGhpcy5zdGFjaz1jLnN0YWNrfHwiIik6KHRoaXMubWVzc2FnZT1iK1N0cmluZyhjKSx0aGlzLnN0YWNrPSIiKTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgZTE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy52bT1hO3RoaXMubz0ia2V5ZG93biBrZXlwcmVzcyBrZXl1cCBpbnB1dCBmb2N1c2luIGZvY3Vzb3V0IHNlbGVjdCBjb3B5IGN1dCBwYXN0ZSBjaGFuZ2UgY2xpY2sgZGJsY2xpY2sgYXV4Y2xpY2sgcG9pbnRlcm92ZXIgcG9pbnRlcmRvd24gcG9pbnRlcnVwIHBvaW50ZXJtb3ZlIHBvaW50ZXJvdXQgZHJhZ2VudGVyIGRyYWdsZWF2ZSBkcmFnIGRyYWdlbmQgbW91c2VvdmVyIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW91dCB0b3VjaHN0YXJ0IHRvdWNoZW5kIHRvdWNobW92ZSB3aGVlbCIuc3BsaXQoIiAiKTt0aGlzLmo9dm9pZCAwO3RoaXMuQ2c9dGhpcy52bS5wO3RoaXMudj10aGlzLkloLmJpbmQodGhpcyk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBoc2EodGhpcykpfXNuYXBzaG90KGEpe3JldHVybiB0aGlzLnZtLnMoey4uLihhLktjJiZ7YzphLktjfSksCi4uLihhLllqJiZ7czphLllqfSksLi4uKGEueG4hPT12b2lkIDAmJntwOmEueG59KX0pfUloKGEpe3RoaXMudm0uZShhKX1CaShhLGIpe3JldHVybiB0aGlzLnZtLmMoYSxiLCExKX1WaCgpe3JldHVybiB0aGlzLnZtLmwoKX19O3ZhciBzdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKTt0aGlzLmhhPTF9c2hhcmUoKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoImplIik7dGhpcy5oYSsrO3JldHVybiB0aGlzfWRpc3Bvc2UoKXstLXRoaXMuaGF8fHN1cGVyLmRpc3Bvc2UoKX19O3ZhciB0dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5vPWE7SzEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIsbTEoIm1rIikpfXJlY29yZChhLGIpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9mcnMiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL2ZycyIpfX0sdXZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLG0xKCJtbiIpLGwxKCJhYyIpLGwxKCJzYyIpLG0xKCJyayIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMsZCxlLGYpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy93cmwiLGEsYixjLGQsZSxmKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvd3JsIil9fSx2dmE9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy52PWE7TTEoYSwiL2NsaWVudF9zdHJlYW16L2JnL2VjIixtMSgiZW4iKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwKIi9jbGllbnRfc3RyZWFtei9iZy9lYyIsYSxiKX1qKCl7cmV0dXJuIHRoaXMudi5qKCIvY2xpZW50X3N0cmVhbXovYmcvZWMiKX19LHd2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvZWwiLG0xKCJlbiIpLG0xKCJtayIpKX1yZWNvcmQoYSxiLGMpe3RoaXMuby5yZWNvcmQoIi9jbGllbnRfc3RyZWFtei9iZy9lbCIsYSxiLGMpfWooKXtyZXR1cm4gdGhpcy5vLmooIi9jbGllbnRfc3RyZWFtei9iZy9lbCIpfX0seHZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiLGwxKCJlYyIpLG0xKCJtayIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXovYmcvY2VjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9jZWMiKX19LHl2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3NjIiwKbDEoImNzIiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jc2MiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2NzYyIpfX0senZhPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMudj1hO00xKGEsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jdGF2IixtMSgiYXYiKSxtMSgibWsiKSl9byhhLGIpe08xKHRoaXMudiwiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiLGEsYil9aigpe3JldHVybiB0aGlzLnYuaigiL2NsaWVudF9zdHJlYW16L2JnL3BvL2N0YXYiKX19LEF2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLnY9YTtNMShhLCIvY2xpZW50X3N0cmVhbXovYmcvcG8vY3dzYyIsbTEoInN1IiksbTEoIm1rIikpfW8oYSxiKXtPMSh0aGlzLnYsIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei9iZy9wby9jd3NjIil9fSxCdmE9CmNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMubz1hO0sxKGEsIi9jbGllbnRfc3RyZWFtei9iZy9vZC9wIixtMSgibWsiKSl9cmVjb3JkKGEsYil7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiLGEsYil9aigpe3JldHVybiB0aGlzLm8uaigiL2NsaWVudF9zdHJlYW16L2JnL29kL3AiKX19LEN2YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLm89YTtLMShhLCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIsbTEoImV0IiksbTEoIm1rIikpfXJlY29yZChhLGIsYyl7dGhpcy5vLnJlY29yZCgiL2NsaWVudF9zdHJlYW16L2JnL29kL24iLGEsYixjKX1qKCl7cmV0dXJuIHRoaXMuby5qKCIvY2xpZW50X3N0cmVhbXovYmcvb2QvbiIpfX07dmFyIE1zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgcnNhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHExPVsxLDIsM107dmFyIG9zYT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSxwMT1bMSwyLDNdO3ZhciBwc2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIER2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgRXZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LGU1PVsxLDIsM107dmFyIG4xPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O24xLnByb3RvdHlwZS52PV8ucHooWzAsJDQsWzAsZTUsYTUsWzAsJDQsLTEsXy54el0sYTUsWzAsJDQsLTEsWjQsXy54el0sYTUsWzAsJDRdXSxsdmEsXy55eixbMCxfLnl6LFswLHExLG12YSxndmEsa3ZhXSxbMCxwMSxmdmEsZXZhLGE1LFswLF8ueXosWzAsVjQsWDRdXV1dLGl2YSxqdmFdKTt2YXIgRnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBHdmE9Y2xhc3N7YXN5bmMgY29tcHJlc3MoYSl7dmFyIGI9bmV3IENvbXByZXNzaW9uU3RyZWFtKCJnemlwIiksYz0obmV3IFJlc3BvbnNlKGIucmVhZGFibGUpKS5hcnJheUJ1ZmZlcigpO2I9Yi53cml0YWJsZS5nZXRXcml0ZXIoKTthd2FpdCBiLndyaXRlKChuZXcgVGV4dEVuY29kZXIpLmVuY29kZShhKSk7YXdhaXQgYi5jbG9zZSgpO3JldHVybiBuZXcgVWludDhBcnJheShhd2FpdCBjKX1pc1N1cHBvcnRlZChhKXtyZXR1cm4gYTwxMDI0PyExOnR5cGVvZiBDb21wcmVzc2lvblN0cmVhbSE9PSJ1bmRlZmluZWQifX07dmFyIGY1PWNsYXNze2NvbnN0cnVjdG9yKGEsYil7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy5jYWxsYmFjaz1iO3RoaXMuZW5hYmxlZD0hMTt0aGlzLmo9KCk9Pl8uRWEoKTt0aGlzLm89dGhpcy5qKCl9c2V0SW50ZXJ2YWwoYSl7dGhpcy5pbnRlcnZhbE1zPWE7dGhpcy50aW1lciYmdGhpcy5lbmFibGVkPyh0aGlzLnN0b3AoKSx0aGlzLnN0YXJ0KCkpOnRoaXMudGltZXImJnRoaXMuc3RvcCgpfXN0YXJ0KCl7dGhpcy5lbmFibGVkPSEwO3RoaXMudGltZXJ8fCh0aGlzLnRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zKSx0aGlzLm89dGhpcy5qKCkpfXN0b3AoKXt0aGlzLmVuYWJsZWQ9ITE7dGhpcy50aW1lciYmKGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLnRpbWVyPXZvaWQgMCl9dGljaygpe2lmKHRoaXMuZW5hYmxlZCl7bGV0IGE9TWF0aC5tYXgodGhpcy5qKCktdGhpcy5vLDApO2E8dGhpcy5pbnRlcnZhbE1zKi44P3RoaXMudGltZXI9CnNldFRpbWVvdXQoKCk9Pnt0aGlzLnRpY2soKX0sdGhpcy5pbnRlcnZhbE1zLWEpOih0aGlzLnRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dm9pZCAwKSx0aGlzLmNhbGxiYWNrKCksdGhpcy5lbmFibGVkJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKSl9ZWxzZSB0aGlzLnRpbWVyPXZvaWQgMH19O3ZhciBIdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIEl2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgSnZhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1XaSgpe3JldHVybiBLXyh0aGlzKX19O3ZhciB0c2E9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHgxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LHdzYT1TXyh4MSk7dmFyIEExPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciB0MT1bInBsYXRmb3JtIiwicGxhdGZvcm1WZXJzaW9uIiwiYXJjaGl0ZWN0dXJlIiwibW9kZWwiLCJ1YUZ1bGxWZXJzaW9uIl0sczE9bmV3IHgxLHUxPW51bGw7dmFyIHoxPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19O3ZhciBLdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsNCl9fTt2YXIgZzU9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEsMzcpfX07dmFyIEx2YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSwxOSl9VWgoYSl7cmV0dXJuIENaKHRoaXMsMixhKX19O3ZhciBNdmE9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPSExKXt0aGlzLnlkPWI7dGhpcy52PXRoaXMubG9jYWxlPW51bGw7dGhpcy5vPTA7dGhpcy5pc0ZpbmFsPSExO3RoaXMuaj1uZXcgTHZhO051bWJlci5pc0ludGVnZXIoYSkmJnRoaXMuai5VaChhKTtifHwodGhpcy5sb2NhbGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgibGFuZyIpKTt5MSh0aGlzLG5ldyB6MSl9VWgoYSl7dGhpcy5qLlVoKGEpO3JldHVybiB0aGlzfWJ1aWxkKGEsYj0wLGM9MCxkPW51bGwsZT0wLGY9MCl7aWYoIXRoaXMueWQpe3ZhciBoPXcxKHRoaXMpO3ZhciBrPW5ldyBKdmE7az1DWihrLDEsdGhpcy5vKTtrPV8ucXcoaywyLF8ueHcodGhpcy5pc0ZpbmFsKSk7Yz1fLnF3KGssMyxfLlB3KGM+MD9jOnZvaWQgMCkpO2U9Xy5xdyhjLDQsXy5QdyhlPjA/ZTp2b2lkIDApKTtmPV8ucXcoZSw1LF8uUHcoZj4wP2Y6dm9pZCAwKSk7ZT1mLkRhO2M9ZVtfLkFjXXwwO2Y9Xy5CYyhmLGMpP2Y6Xy4kYyhmLAplLGMpP18uYmQoZixlKTpuZXcgZi5jb25zdHJ1Y3RvcihfLlpjKGUsYywhMCkpO18uS3coaCwxMCxmKX1oPXRoaXMuai5jbG9uZSgpO2Y9RGF0ZS5ub3coKS50b1N0cmluZygpO2g9Xy5xdyhoLDQseV8oZikpO2E9YS5zbGljZSgpO2E9SF8oaCwzLGEpO2QmJihoPW5ldyBIdmEsZD1fLnF3KGgsMTMsXy5QdyhkKSksaD1uZXcgSXZhLGQ9Xy5LdyhoLDIsZCksaD1uZXcgS3ZhLGQ9Xy5LdyhoLDEsZCksZD1DWihkLDIsOSksXy5LdyhhLDE4LGQpKTtiJiZfLnF3KGEsMTQseV8oYikpO3JldHVybiBhfX07QjEucHJvdG90eXBlLnY9MDtCMS5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLm89dGhpcy5qPXRoaXMuQjt0aGlzLnY9MH07dmFyIFU0PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDgpfX0sTnZhPVNfKFU0KTt2YXIgaDU7aDU9bmV3IGR2YShjbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fSk7dmFyIE92YT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmNvbXBvbmVudElkPSIiO3RoaXMuaj1bXTt0aGlzLlFhPSIiO3RoaXMucGFnZUlkPW51bGw7dGhpcy5FYj10aGlzLm9hPS0xO3RoaXMuTT10aGlzLmV4cGVyaW1lbnRJZHM9bnVsbDt0aGlzLmdhPXRoaXMuaGE9dGhpcy5JPXRoaXMuQj0wO3RoaXMuZmM9MTt0aGlzLnRpbWVvdXRNaWxsaXM9MDt0aGlzLnlhPSExO3RoaXMubG9nU291cmNlPWEubG9nU291cmNlO3RoaXMuU2Y9YS5TZnx8KCgpPT57fSk7dGhpcy52PW5ldyBNdmEoYS5sb2dTb3VyY2UsYS55ZCk7dGhpcy5uZXR3b3JrPWEubmV0d29ya3x8bnVsbDt0aGlzLmxmPWEubGZ8fG51bGw7dGhpcy5idWZmZXJTaXplPTFFMzt0aGlzLlU9YS50Qnx8bnVsbDt0aGlzLnNlc3Npb25JbmRleD1hLnNlc3Npb25JbmRleHx8bnVsbDt0aGlzLlpnPWEuWmd8fCExO3RoaXMuWD1udWxsO3RoaXMud2l0aENyZWRlbnRpYWxzPSFhLm5sO3RoaXMueWQ9CmEueWR8fCExO3RoaXMuWj0hdGhpcy55ZCYmISFfLnpkKCkmJiEhXy56ZCgpLm5hdmlnYXRvciYmXy56ZCgpLm5hdmlnYXRvci5zZW5kQmVhY29uIT09dm9pZCAwO3RoaXMuTWE9dHlwZW9mIFVSTFNlYXJjaFBhcmFtcyE9PSJ1bmRlZmluZWQiJiYhIShuZXcgVVJMKEQxKCkpKS5zZWFyY2hQYXJhbXMmJiEhKG5ldyBVUkwoRDEoKSkpLnNlYXJjaFBhcmFtcy5zZXQ7dmFyIGI9djEobmV3IHoxKTt5MSh0aGlzLnYsYik7dGhpcy5EPW5ldyBCMSgxRTQsM0U1LC4xKTthPXlzYSh0aGlzLGEuTm8pO3RoaXMubz1uZXcgZjUodGhpcy5ELmosYSk7dGhpcy5GYT1uZXcgZjUoNkU1LGEpO3RoaXMuWmd8fHRoaXMuRmEuc3RhcnQoKTt0aGlzLnlkfHwoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pntkb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT0iaGlkZGVuIiYmRTEodGhpcyl9KSxfLnpkKCk/LmFkZEV2ZW50TGlzdGVuZXI/LigicGFnZWhpZGUiLCgpPT4Ke0UxKHRoaXMpfSkpfWxhKCl7RTEodGhpcyk7dGhpcy5vLnN0b3AoKTt0aGlzLkZhLnN0b3AoKTtzdXBlci5sYSgpfWRpc3BhdGNoKGEpe2lmKGEgaW5zdGFuY2VvZiBnNSl0aGlzLmxvZyhhKTtlbHNlIHRyeXt2YXIgYj1uZXcgZzUsYz1hLnNlcmlhbGl6ZSgpO3ZhciBkPUJaKGIsOCxjKTt0aGlzLmxvZyhkKX1jYXRjaHt9fWxvZyhhKXtpZih0aGlzLk1hKXthPWEuY2xvbmUoKTt2YXIgYj10aGlzLmZjKys7YT1fLnF3KGEsMjEseV8oYikpO3RoaXMuY29tcG9uZW50SWQmJkJaKGEsMjYsdGhpcy5jb21wb25lbnRJZCk7Yj1hO3t2YXIgYz1fLmVkKGIsMSk7bGV0IGQ9dHlwZW9mIGM7Yz1jPT1udWxsP2M6ZD09PSJiaWdpbnQiP1N0cmluZygoMCxfLnRyKSg2NCxjKSk6cl8oYyk/ZD09PSJzdHJpbmciP3VfKGMpOnZfKGMpOnZvaWQgMH1jPT1udWxsJiYoYz1EYXRlLm5vdygpLGM9TnVtYmVyLmlzRmluaXRlKGMpP2MudG9TdHJpbmcoKToiMCIsXy5xdyhiLDEseV8oYykpKTtjPV8uZWQoYiwKMTUsdm9pZCAwLHZvaWQgMCx6Xyk7YyE9bnVsbCYmKHR5cGVvZiBjPT09ImJpZ2ludCI/KDAsXy5NYykoYyk/Yz1OdW1iZXIoYyk6KGM9KDAsXy50cikoNjQsYyksYz0oMCxfLk1jKShjKT9OdW1iZXIoYyk6U3RyaW5nKGMpKTpjPXJfKGMpP3R5cGVvZiBjPT09Im51bWJlciI/dl8oYyk6dV8oYyk6dm9pZCAwKTtjPT1udWxsJiZfLnF3KGIsMTUseV8oKG5ldyBEYXRlKS5nZXRUaW1lem9uZU9mZnNldCgpKjYwKSk7dGhpcy5leHBlcmltZW50SWRzJiYoYz10aGlzLmV4cGVyaW1lbnRJZHMuY2xvbmUoKSxfLkt3KGIsMTYsYykpO2I9dGhpcy5qLmxlbmd0aC10aGlzLmJ1ZmZlclNpemUrMTtiPjAmJih0aGlzLmouc3BsaWNlKDAsYiksdGhpcy5CKz1iKTt0aGlzLmoucHVzaChhKTt0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCl9fWZsdXNoKGEsYil7aWYodGhpcy5qLmxlbmd0aD09PTApYSYmYSgpO2Vsc2UgaWYodGhpcy55YSYmdGhpcy5aKXRoaXMudi5vPTMsQXNhKHRoaXMpOwplbHNle3ZhciBjPURhdGUubm93KCk7aWYodGhpcy5FYj5jJiZ0aGlzLm9hPGMpYiYmYigidGhyb3R0bGVkIik7ZWxzZXt0aGlzLm5ldHdvcmsmJih0eXBlb2YgdGhpcy5uZXR3b3JrLldpPT09ImZ1bmN0aW9uIj92c2EodGhpcy52LHRoaXMubmV0d29yay5XaSgpKTp0aGlzLnYubz0wKTt2YXIgZD10aGlzLnYuYnVpbGQodGhpcy5qLHRoaXMuQix0aGlzLkksdGhpcy5sZix0aGlzLmhhLHRoaXMuZ2EpLGU9dGhpcy5TZigpO2lmKGUmJnRoaXMuUWE9PT1lKWImJmIoInN0YWxlLWF1dGgtdG9rZW4iKTtlbHNle3RoaXMuaj1bXTt0aGlzLm8uZW5hYmxlZCYmdGhpcy5vLnN0b3AoKTt0aGlzLkI9MDtjPWQuc2VyaWFsaXplKCk7bGV0IGY7dGhpcy5NJiZ0aGlzLk0uaXNTdXBwb3J0ZWQoYy5sZW5ndGgpJiYoZj10aGlzLk0uY29tcHJlc3MoYykpO2xldCBoPUJzYSh0aGlzLGMsZSksaz1uPT57dGhpcy5ELnJlc2V0KCk7dGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKTtpZihuKXt2YXIgcD0KbnVsbDt0cnl7dmFyIHI9SlNPTi5zdHJpbmdpZnkoSlNPTi5wYXJzZShuLnJlcGxhY2UoIildfSdcbiIsIiIpKSk7cD1OdmEocil9Y2F0Y2godil7fWlmKHApe249TnVtYmVyKElfKHAsMSxfLkZjKCItMSIpKSk7bj4wJiYodGhpcy5vYT1EYXRlLm5vdygpLHRoaXMuRWI9dGhpcy5vYStuKTtuPWg1Lmo7KHI9Xy5HYShfLkpjKSkmJnAuRGFbcl0/LltuXSE9bnVsbCYmXy54YyhfLmpyLDMpO249aDUuajtpZihfLkdhKF8ubHIpJiZfLkdhKF8uSmMpJiZ2b2lkIDA9PT1fLmxyKXtyPXAuRGE7dmFyIHQ9cltfLkpjXTtpZih0JiYodD10LkZLKSl0cnl7dChyLG4sY3ZhKX1jYXRjaCh2KXtfLiRiKHYpfX1wPWg1LmN0b3I/aDUubyhwLGg1LmN0b3IsaDUuaixoNS52KTpoNS5vKHAsaDUuaixudWxsLGg1LnYpO2lmKHA9cD09PW51bGw/dm9pZCAwOnApcD1fLnR4KHAsMSwtMSkscCE9PS0xJiYodGhpcy5EPW5ldyBCMShwPDE/MTpwLDNFNSwuMSksdGhpcy5vLnNldEludGVydmFsKHRoaXMuRC5qKSl9fWEmJgphKCk7dGhpcy5JPTB9LGw9KG4scCk9Pnt2YXIgcj1HXyhkLGc1LDMpO3ZhciB0PU51bWJlcihJXyhkLDE0KSk7QzEodGhpcy5EKTt0aGlzLm8uc2V0SW50ZXJ2YWwodGhpcy5ELmopO249PT00MDEmJmUmJih0aGlzLlFhPWUpO3QmJih0aGlzLkIrPXQpO3A9PT12b2lkIDAmJihwPXRoaXMuaXNSZXRyeWFibGUobikpO3AmJih0aGlzLmo9ci5jb25jYXQodGhpcy5qKSx0aGlzLlpnfHx0aGlzLm8uZW5hYmxlZHx8dGhpcy5vLnN0YXJ0KCkpO2ImJmIoIm5ldC1zZW5kLWZhaWxlZCIsbik7Kyt0aGlzLkl9LG09KCk9Pnt0aGlzLm5ldHdvcmsmJnRoaXMubmV0d29yay5zZW5kKGgsayxsKX07Zj9mLnRoZW4obj0+e2guT2pbIkNvbnRlbnQtRW5jb2RpbmciXT0iZ3ppcCI7aC5PalsiQ29udGVudC1UeXBlIl09ImFwcGxpY2F0aW9uL2JpbmFyeSI7aC5ib2R5PW47aC5HdT0yO20oKX0sKCk9PnttKCl9KTptKCl9fX19aXNSZXRyeWFibGUoYSl7cmV0dXJuIDUwMDw9YSYmYTw2MDB8fGE9PT00MDF8fAphPT09MH19O3ZhciBQdmE9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnB1PXR5cGVvZiBBYm9ydENvbnRyb2xsZXIhPT0idW5kZWZpbmVkIn1hc3luYyBzZW5kKGEsYixjKXt2YXIgZD10aGlzLnB1P25ldyBBYm9ydENvbnRyb2xsZXI6dm9pZCAwLGU9ZCYmYS50aW1lb3V0TWlsbGlzPjA/c2V0VGltZW91dCgoKT0+e2QuYWJvcnQoKX0sYS50aW1lb3V0TWlsbGlzKTp2b2lkIDA7dHJ5e2xldCBmPWF3YWl0IGZldGNoKGEudXJsLHttZXRob2Q6YS5yZXF1ZXN0VHlwZSxoZWFkZXJzOnsuLi5hLk9qfSwuLi4oYS5ib2R5JiZ7Ym9keTphLmJvZHl9KSwuLi4oYS53aXRoQ3JlZGVudGlhbHMmJntjcmVkZW50aWFsczoiaW5jbHVkZSJ9KSxzaWduYWw6YS50aW1lb3V0TWlsbGlzJiZkP2Quc2lnbmFsOm51bGx9KTtmLnN0YXR1cz09PTIwMD9iPy4oYXdhaXQgZi50ZXh0KCkpOmM/LihmLnN0YXR1cyl9Y2F0Y2goZil7c3dpdGNoKGY/Lm5hbWUpe2Nhc2UgIkFib3J0RXJyb3IiOmM/Lig0MDgpO2JyZWFrO2RlZmF1bHQ6Yz8uKDQwMCl9fWZpbmFsbHl7Y2xlYXJUaW1lb3V0KGUpfX1XaSgpe3JldHVybiA0fX07dmFyIFMxPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5sb2dTb3VyY2U9MTgyODt0aGlzLnNlc3Npb25JbmRleD0iMCI7dGhpcy5OZT0iaHR0cHM6Ly9wbGF5Lmdvb2dsZS5jb20vbG9nP2Zvcm1hdD1qc29uJmhhc2Zhc3Q9dHJ1ZSI7dGhpcy5uZXR3b3JrPXRoaXMuYnVpbGRMYWJlbD1udWxsO3RoaXMuY29tcG9uZW50SWQ9IiI7dGhpcy5qPXRoaXMubGY9bnVsbDt0aGlzLm89ITE7dGhpcy5wYWdlSWQ9bnVsbDt0aGlzLmJ1ZmZlclNpemU9dm9pZCAwO3RoaXMuWD1udWxsfW5sKCl7dGhpcy52PSEwO3JldHVybiB0aGlzfWJ1aWxkKCl7dGhpcy5uZXR3b3JrfHwodGhpcy5uZXR3b3JrPW5ldyBQdmEpO3ZhciBhPW5ldyBPdmEoe2xvZ1NvdXJjZTp0aGlzLmxvZ1NvdXJjZSxTZjp0aGlzLlNmP3RoaXMuU2Y6Xy5QZCxzZXNzaW9uSW5kZXg6dGhpcy5zZXNzaW9uSW5kZXgsdEI6dGhpcy5OZSx5ZDohMSxaZzohMSxubDp0aGlzLnYsTm86dGhpcy5ObyxuZXR3b3JrOnRoaXMubmV0d29ya30pOwpFWih0aGlzLGEpO2lmKHRoaXMuYnVpbGRMYWJlbCl7dmFyIGI9dGhpcy5idWlsZExhYmVsLGM9dzEoYS52KTtCWihjLDcsYil9YS5NPW5ldyBHdmE7dGhpcy5jb21wb25lbnRJZCYmKGEuY29tcG9uZW50SWQ9dGhpcy5jb21wb25lbnRJZCk7dGhpcy5sZiYmKGEubGY9dGhpcy5sZik7dGhpcy5wYWdlSWQmJihhLnBhZ2VJZD10aGlzLnBhZ2VJZCk7dGhpcy5qJiYoKGM9dGhpcy5qKT8oYS5leHBlcmltZW50SWRzfHwoYS5leHBlcmltZW50SWRzPW5ldyBxdmEpLGI9YS5leHBlcmltZW50SWRzLGM9Yy5zZXJpYWxpemUoKSxCWihiLDQsYykpOmEuZXhwZXJpbWVudElkcyYmXy5xdyhhLmV4cGVyaW1lbnRJZHMsNCkpO3RoaXMubyYmKGEueWE9YS5aKTt4c2EoYS52KTt0aGlzLmJ1ZmZlclNpemUmJihhLmJ1ZmZlclNpemU9dGhpcy5idWZmZXJTaXplKTt0aGlzLm5ldHdvcmsuVWgmJnRoaXMubmV0d29yay5VaCh0aGlzLmxvZ1NvdXJjZSk7dGhpcy5uZXR3b3JrLmlBJiZ0aGlzLm5ldHdvcmsuaUEoYSk7CnJldHVybiBhfX07dmFyIE5zYT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmxvZ1NvdXJjZT0xODI4O3RoaXMuY29tcG9uZW50SWQ9IiI7YXx8KGE9bmV3IFMxLGEuY29tcG9uZW50SWQ9IiIsRVoodGhpcyxhKSxhPWEuYnVpbGQoKSk7dGhpcy5qPWF9Zmx1c2goYSl7YT1hfHxbXTtpZihhLmxlbmd0aCl7bGV0IGI9bmV3IEZ2YSxjPVtdO2ZvcihsZXQgZD0wO2Q8YS5sZW5ndGg7ZCsrKXtsZXQgZT1hW2RdLGY9cjEoZSk7Yy5wdXNoKGYpO2UuY2xlYXIoKX1IXyhiLDEsYyk7dGhpcy5qLmRpc3BhdGNoKGIpO3RoaXMuai5mbHVzaCgpfX19O3ZhciBIMT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBpNT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5vPWE7dGhpcy52PWI7dGhpcy5maWVsZHM9Y3x8W107dGhpcy5qPW5ldyBNYXB9Y2xlYXIoKXt0aGlzLmouY2xlYXIoKX19O3ZhciBMMT1jbGFzcyBleHRlbmRzIGk1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSwzLGIpfX07dmFyIEoxPWNsYXNzIGV4dGVuZHMgaTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcihhLDIsYil9cmVjb3JkKGEsLi4uYil7SHNhKHRoaXMsYSwuLi5iKX19O3ZhciBUMT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlo9YTt0aGlzLkk9MDt0aGlzLkI9MTAwO3RoaXMuTT0hMTt0aGlzLnY9bmV3IE1hcDt0aGlzLlU9bmV3IFNldDt0aGlzLmZsdXNoSW50ZXJ2YWw9M0U0O3RoaXMubz1uZXcgXy5qeSh0aGlzLmZsdXNoSW50ZXJ2YWwpO3RoaXMuby5saXN0ZW4oInRpY2siLHRoaXMuRCwhMSx0aGlzKTtFWih0aGlzLHRoaXMubyl9c2VuZElzb2xhdGVkUGF5bG9hZChhKXt0aGlzLk09YTt0aGlzLkI9MX1EKCl7dmFyIGE9Wy4uLnRoaXMudi52YWx1ZXMoKV0uZmlsdGVyKGI9PmIuai5zaXplKTthLmxlbmd0aCYmdGhpcy5aLmZsdXNoKGEsdGhpcy5NKTtLc2EoYSk7dGhpcy5JPTA7dGhpcy5vLmVuYWJsZWQmJnRoaXMuby5zdG9wKCl9aihhKXtyZXR1cm4gdGhpcy5VLmhhcyhhKT92b2lkIDA6dGhpcy52LmdldChhKX1yZWNvcmQoYSxiLC4uLmMpeyhhPXRoaXMuaihhKSkmJmEgaW5zdGFuY2VvZiBKMSYmKGEucmVjb3JkKGIsCi4uLmMpLE4xKHRoaXMpKX19O3ZhciBzMj1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYik7dGhpcy5jb2RlPWE7dGhpcy5tZXRhZGF0YT17fTt0aGlzLm5hbWU9IlJwY0Vycm9yIjtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9dG9TdHJpbmcoKXt2YXIgYT1gUnBjRXJyb3IoJHtMc2EodGhpcy5jb2RlKXx8U3RyaW5nKHRoaXMuY29kZSl9KWA7dGhpcy5tZXNzYWdlJiYoYSs9IjogIit0aGlzLm1lc3NhZ2UpO3JldHVybiBhfX07dmFyIERzYT1jbGFzc3tzZW5kKGEsYj0oKT0+e30sYz0oKT0+e30pe18ubHkoYS51cmwsZD0+e2Q9ZC50YXJnZXQ7aWYoZC5pc1N1Y2Nlc3MoKSl7dHJ5e3ZhciBlPWQucmE/ZC5yYS5yZXNwb25zZVRleHQ6IiJ9Y2F0Y2goZil7ZT0iIn1iKGUpfWVsc2UgYyhfLlJ4KGQpKX0sYS5yZXF1ZXN0VHlwZSxhLmJvZHksYS5PaixhLnRpbWVvdXRNaWxsaXMsYS53aXRoQ3JlZGVudGlhbHMpfVdpKCl7cmV0dXJuIDF9fTt2YXIgajU9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9YTt0aGlzLmV2ZW50PWI7dGhpcy5zdGFydFRpbWU9UTEoKX1kb25lKCl7dGhpcy5YLnYodGhpcy5ldmVudCxRMSgpLXRoaXMuc3RhcnRUaW1lKX19LGs1PWNsYXNzIGV4dGVuZHMgc3Zhe2NvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKX19LFNzYT1jbGFzcyBleHRlbmRzIGs1e0IoKXt9aigpe312KCl7fUpiKCl7fU0oKXt9SSgpe31vKCl7fVooKXt9RCgpe31VKCl7fX0sUXZhPWNsYXNzIGV4dGVuZHMgazV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT52b2lkIHRoaXMuWC5kaXNwb3NlKCkpfXVwZGF0ZShhKXt0aGlzLlguZGlzcG9zZSgpO3RoaXMuWD1hfWooYSl7dGhpcy5YLmooYSl9dihhLGIpe3RoaXMuWC52KGEsYil9SmIoYSl7dGhpcy5YLkpiKGEpfU0oYSl7dGhpcy5YLk0oYSl9SShhLGIpe3RoaXMuWC5JKGEsYil9bygpe3RoaXMuWC5vKCl9WihhKXt0aGlzLlguWihhKX1EKGEpe3RoaXMuWC5EKGEpfVUoYSl7dGhpcy5YLlUoYSl9QihhKXt0aGlzLlguQihhKX19LApSdmE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLmNhbGxiYWNrPWE7dGhpcy5vPWI7dGhpcy5qPS1iO3RoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9PnZvaWQgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpKX19LFN2YT1jbGFzcyBleHRlbmRzIGs1e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoKTt0aGlzLm1ldHJpY3M9YTt0aGlzLm1iPWJ9QihhKXt0aGlzLm1ldHJpY3MuQUEucmVjb3JkKGEsdGhpcy5tYil9aihhKXt0aGlzLm1ldHJpY3MuZXZlbnRDb3VudC5vKGEsdGhpcy5tYil9dihhLGIpe3RoaXMubWV0cmljcy5Odi5yZWNvcmQoYixhLHRoaXMubWIpfUpiKGEpe3RoaXMubWV0cmljcy5lcnJvckNvdW50Lm8oYSx0aGlzLm1iKX1aKGEpe3RoaXMubWV0cmljcy5KQi5vKGEsdGhpcy5tYil9RChhKXt0aGlzLm1ldHJpY3MuSnUubyhhLHRoaXMubWIpfVUoYSl7dGhpcy5tZXRyaWNzLklCLm8oYSx0aGlzLm1iKX1NKGEpe3RoaXMubWV0cmljcy5wYXlsb2FkU2l6ZS5yZWNvcmQoYSwKdGhpcy5tYil9SShhLGIpe3RoaXMubWV0cmljcy5YeS5yZWNvcmQoYixhLHRoaXMubWIpfX0sUXNhPWNsYXNzIGV4dGVuZHMgU3Zhe2NvbnN0cnVjdG9yKGEsYj1bXSl7dmFyIGM9e21iOmEubWJ8fCJfIix6bDphLnpsfHxbXSxubTphLm5tfDAsTmU6YS5OZSxGajphLkZqfHwoKCk9Pnt9KSxJZzphLklnfHwoKGUsZik9Pk9zYShlLGYsYy5GaixjLk5lKSl9LGQ9Yy5JZygiNTMiLGMuemwuY29uY2F0KGIpKTtzdXBlcih7QUE6bmV3IHR2YShkKSxlcnJvckNvdW50Om5ldyB4dmEoZCksZXZlbnRDb3VudDpuZXcgdnZhKGQpLE52Om5ldyB3dmEoZCkseUw6bmV3IHV2YShkKSxKQjpuZXcgeXZhKGQpLEp1Om5ldyB6dmEoZCksSUI6bmV3IEF2YShkKSxwYXlsb2FkU2l6ZTpuZXcgQnZhKGQpLFh5Om5ldyBDdmEoZCl9LGMubWIpO3RoaXMub3B0aW9ucz1jO3RoaXMuc2VydmljZT1kO3RoaXMub2E9IWEuSWc7dGhpcy5nYT1uZXcgUnZhKCgpPT52b2lkIHRoaXMuc2VydmljZS5EKCksYy5ubSk7CnRoaXMuYWRkT25EaXNwb3NlQ2FsbGJhY2soKCk9Pnt0aGlzLmdhLmRpc3Bvc2UoKTt0aGlzLm9hJiZ0aGlzLnNlcnZpY2UuZGlzcG9zZSgpfSk7Yi5zbGljZSgpLnNvcnQobHJhKX1vKCl7UHNhKHRoaXMuZ2EpfX07dmFyIFIyPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhLDAsUjIubWVzc2FnZUlkKX19LFR2YT1mdW5jdGlvbihhKXtyZXR1cm4gXy5DYyhiPT5iIGluc3RhbmNlb2YgYSYmIV8uQmMoYikpfShSMik7UjIubWVzc2FnZUlkPSJiZmtqIjt2YXIgaTE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIGw1PWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX19LFV2YT1TXyhsNSk7dmFyIGQyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMudj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjAwKTt0aGlzLmo9bmV3IGw1O2lmKCJjaGFsbGVuZ2UiaW4gYSYmVHZhKGEuY2hhbGxlbmdlKSl7dmFyIGI9Sl8oYS5jaGFsbGVuZ2UsNCx2b2lkIDAsXy53eik7dmFyIGM9Sl8oYS5jaGFsbGVuZ2UsNSx2b2lkIDAsXy53eik7Sl8oYS5jaGFsbGVuZ2UsNyx2b2lkIDAsXy53eikmJih0aGlzLmo9VXZhKEpfKGEuY2hhbGxlbmdlLDcsdm9pZCAwLF8ud3opKSl9ZWxzZSh7cHJvZ3JhbTpiLGdsb2JhbE5hbWU6Y309YSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjayhhc3luYygpPT57dmFyIHt1QTpufT1hd2FpdCB0aGlzLm87bj8uKCl9KTt0aGlzLlg9VTEoYS5uZ3x8e30sdGhpcy5qKTtFWih0aGlzLHRoaXMuWCk7dmFyIGQ9bmV3IF8uY3M7dGhpcy5vPWQucHJvbWlzZTt0aGlzLlguaigidCIpO3ZhciBlPXRoaXMuWC5zaGFyZSgpLGY9bmV3IGo1KGUsCiJ0IiksaD0obixwLHIsdCk9PntpZighdGhpcy5YLmlhKCkpe3ZhciB2PSJrIjtwP3Y9ImgiOnImJih2PSJ1Iik7diE9PSJrIj90IT09MCYmKHRoaXMuWC5qKHYpLHRoaXMuWC52KHYsbikpOnRoaXMudjw9MD8odGhpcy5YLmoodiksdGhpcy5YLnYodixuKSx0aGlzLnY9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjIwMCkpOnRoaXMudi0tfX0saz0obixwLHIsdCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57Zi5kb25lKCk7ZS5vKCk7ZS5kaXNwb3NlKCk7ZC5yZXNvbHZlKHt5dTpuLHVBOnAsQXo6cixOdTp0fSl9KX0sbD1bKG4scCk9Pnt0aGlzLlgudihuLHApfSxuPT57dGhpcy5YLkpiKG4pfSxuPT57dGhpcy5YLk0obil9LChuLHApPT57dGhpcy5YLkkobixwKX1dO2lmKCFfLnVbY10pdGhyb3cgdGhpcy5YLkpiKDI1KSxFcnJvcigibmUiKTtpZighXy51W2NdLmEpdGhyb3cgdGhpcy5YLkpiKDI2KSxFcnJvcigib2UiKTt0cnl7bGV0IG49Xy51W2NdLmE7Yz1bXTtsZXQgcD0KW107dmFyIG09ajEodGhpcy5qKTtmb3IobGV0IHY9MDt2PG0ubGVuZ3RoO3YrKyljLnB1c2gobVt2XSkscC5wdXNoKDEpO2xldCByPWxzYSh0aGlzLmopO2ZvcihtPTA7bTxyLmxlbmd0aDttKyspYy5wdXNoKHJbbV0pLHAucHVzaCgyKTtsZXQgW3RdPW4oYixrLCEwLGEuRnMsaCxbYyxwXSxKXyh0aGlzLmosNSksITEsbCk7dGhpcy5CPXQ7dGhpcy5DZz1kLnByb21pc2UudGhlbigoKT0+e30pfWNhdGNoKG4pe3Rocm93IHRoaXMuWC5KYigyOCksbjt9fXNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLlguaigibiIpO3ZhciBiPXRoaXMuWC5zaGFyZSgpO3JldHVybiB0aGlzLm8udGhlbigoe3l1OmN9KT0+bmV3IFByb21pc2UoZD0+e3ZhciBlPW5ldyBqNShiLCJuIik7YyhmPT57ZS5kb25lKCk7Yi5CKGYubGVuZ3RoKTtiLm8oKTtiLmRpc3Bvc2UoKTtkKGYpfSxbYS5LYyxhLllqLGEuSXMsYS54bl0pfSkpfVhyKGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTsKdGhpcy5YLmooIm4iKTt2YXIgYj1SMSh0aGlzLlgsKCk9PnRoaXMuQihbYS5LYyxhLllqLGEuSXMsYS54bl0pLCJuIik7dGhpcy5YLkIoYi5sZW5ndGgpO3RoaXMuWC5vKCk7cmV0dXJuIGJ9SWgoYSl7dGhpcy5vLnRoZW4oKHtBejpifSk9PntiPy4oYSl9KX1CaShhLGIpe3JldHVybiB0aGlzLm8udGhlbigoe051OmN9KT0+Yz8uKGEsYiwhMSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX07dmFyIFYxPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5wcm9taXNlcz17fTt0aGlzLmo9bnVsbH19O3ZhciBsdWE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIHEyPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMub3B0aW9ucz1hO3RoaXMuST1uZXcgXy5jczt0aGlzLkNnPXRoaXMuSS5wcm9taXNlO3RoaXMuRD1uZXcgXy5jczt0aGlzLlo9MTt0aGlzLnY9bmV3IF8uY3M7dGhpcy5CPVtdO3RoaXMuaXNQYXVzZWQ9ITE7dGhpcy5Haj1hLkdqfHwoKCk9Pnt9KTt0aGlzLlg9bmV3IFF2YShVMShhLm5nfHx7fSkpO2F0YSh0aGlzLGEub2QsYS5zeCxhLkhLLGEuTkssey4uLlZ2YSwuLi4oYS5MZ3x8e30pfSk7dGhpcy5hZGRPbkRpc3Bvc2VDYWxsYmFjaygoKT0+dm9pZCBidGEodGhpcykpfWFzeW5jIHNuYXBzaG90KGEpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLm98fHRoaXMuTXx8YXdhaXQgdGhpcy5ELnByb21pc2U7aWYodGhpcy5vKXJldHVybiBhd2FpdCB0aGlzLm8uc25hcHNob3QoYSk7dGhyb3cgdGhpcy5NO31wYXVzZSgpe3RoaXMuaWEoKXx8dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9CiEwLHRoaXMuaiYmdGhpcy5qLnBhdXNlKCkpfXJlc3VtZSgpeyF0aGlzLmlhKCkmJnRoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMuaiYmdGhpcy5qLnJlc3VtZSgpKX1hc3luYyBjaGVja0ZvclJlZnJlc2goKXtpZih0aGlzLmlhKCkpdGhyb3cgRXJyb3IoInBlIik7aWYodGhpcy5qKXt2YXIgYT10aGlzLmo7YS5pc0V4cGlyZWQoKT8oZzIoYSksYS5RaCgwKSxhPSEwKTphPSExO2EmJmF3YWl0IHRoaXMudi5wcm9taXNlfWVsc2UgYXdhaXQgdGhpcy52LnByb21pc2V9YXN5bmMgVSgpe2lmKHRoaXMuaWEoKSl0aHJvdyBFcnJvcigicGUiKTt0aGlzLmo/Lm8oKTthd2FpdCB0aGlzLnYucHJvbWlzZX1JaChhKXt0aGlzLm8/LkloPy4oYSl9QmkoYSxiKXtyZXR1cm4gdGhpcy5vPy5CaT8uKGEsYik/P1Byb21pc2UucmVzb2x2ZSgpfWhhbmRsZUVycm9yKGEpe3RoaXMuaWEoKXx8KHRoaXMuTT1hLHRoaXMuRC5yZXNvbHZlKCksdGhpcy5vcHRpb25zLkVqPy4oYSkpfVZoKCl7cmV0dXJuIHRoaXMuWC5zaGFyZSgpfX0sClZ2YT17RnI6NDMyRTUsZWs6M0U1LGxzOjEwLGF2OjFFNCxWdjozRTQscXk6M0U0LG1BOjZFNCxLdjoxRTMsSnY6NkU0LEx2OjZFNSxNdjouMjUsSXY6MixtYXhBdHRlbXB0czoxMH0sYzI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiLGMpe3RoaXMuZW5kVGltZU1zPTA7dGhpcy5qPW51bGw7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLnRpY2s9KCk9PntpZighdGhpcy5pc1BhdXNlZCl7dmFyIGQ9dGhpcy5lbmRUaW1lTXMtRGF0ZS5ub3coKTtkPD10aGlzLnY/KHRoaXMuaj1udWxsLHRoaXMuUWgoMCkpOnRoaXMuaj1zZXRUaW1lb3V0KHRoaXMudGljayxNYXRoLm1pbihkLHRoaXMuZWspKX19O3RoaXMuZWs9Yjt0aGlzLnY9Yzt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoZD0+e3RoaXMuUWg9ZH0pO2N0YSh0aGlzLGEpfXBhdXNlKCl7dGhpcy5pc1BhdXNlZHx8KHRoaXMuaXNQYXVzZWQ9ITAsZzIodGhpcykpfXJlc3VtZSgpe3RoaXMuaXNQYXVzZWQmJih0aGlzLmlzUGF1c2VkPSExLHRoaXMudGljaygpKX1vKCl7ZzIodGhpcyk7CnRoaXMuZW5kVGltZU1zPTA7dGhpcy5pc1BhdXNlZD0hMTt0aGlzLlFoKDEpfWlzRXhwaXJlZCgpe3JldHVybiBEYXRlLm5vdygpPnRoaXMuZW5kVGltZU1zfX07dmFyIGR0YT1NYXRoLmltdWw/PygoYSxiKT0+YSpifDApLGoyPVsxOTYsMjAwLDIyNCwxOF0sbTI9Y2xhc3N7Y29uc3RydWN0b3IoYSxiPTAsYz1bXSl7dGhpcy5tYXhJdGVtcz1hO3RoaXMuaj1iO3RoaXMubz1jfXNlcmlhbGl6ZSgpe3JldHVybiBTdHJpbmcodGhpcy5qKSsiLCIrdGhpcy5vLmpvaW4oKX1yYihhLGIpe3ZhciBjPXZvaWQgMDtpZih0aGlzLm9bdGhpcy5qXSE9PWEpe2xldCBkPXRoaXMuby5pbmRleE9mKGEpO2QhPT0tMT8odGhpcy5vLnNwbGljZShkLDEpLGQ8dGhpcy5qJiZ0aGlzLmotLSx0aGlzLm8uc3BsaWNlKHRoaXMuaiwwLGEpKTooYz10aGlzLm9bdGhpcy5qXSx0aGlzLm9bdGhpcy5qXT1hKX10aGlzLmo9KHRoaXMuaisxKSV0aGlzLm1heEl0ZW1zO2E9aDIoImlVNXEtIU85QCQiLHRoaXMuc2VyaWFsaXplKCkpO2MmJmEmJmIoYyk7cmV0dXJuIGF9fSxpc2E9Y2xhc3N7Y29uc3RydWN0b3IoYSxiKXt0aGlzLlg9Yjt0cnl7dmFyIGM9Z2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZSYmCiEhZ2xvYmFsVGhpcy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtJiYhIWdsb2JhbFRoaXMuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSYmISFnbG9iYWxUaGlzLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW19Y2F0Y2goZCl7Yz0hMX1jJiYodGhpcy5pbmRleD1ndGEoYSkpfWooYSxiLGMsZCl7dmFyIGU9dGhpcy5pbmRleD9SMSh0aGlzLlgsKCk9PmV0YSh0aGlzLmluZGV4LGsyKGEpLGIsYyxkKSwiVyIpOiJ1Ijt0aGlzLlguVShlKX1vKGEsYil7dmFyIFtjLGRdPXRoaXMuaW5kZXg/UjEodGhpcy5YLCgpPT5mdGEoazIoYSksYiksIlIiKTpbInUiXTt0aGlzLlguRChjKTtyZXR1cm4gZH19O3ZhciBtNT1jbGFzcyBleHRlbmRzIF8uYWV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLlg9YTt0aGlzLnY9bmV3IF8uY3N9emooYSxiKXt2YXIgYz10aGlzLm9lKGEpO2I/LihjKTtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnNjKGMsMiksdGhpcy5vKX1zbShhLGIsYyl7cmV0dXJuIFIxKHRoaXMuWCwoKT0+Yj90aGlzLnpqKGEsYyk6dGhpcy5vZShhLGMpLHRoaXMuail9fSx1Mj1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjLGQpe3N1cGVyKGEpO3RoaXMuQj1iO3RoaXMuST1jO3RoaXMuaj0ibSI7dGhpcy5vPSJ4Ijt0aGlzLkQ9MDtuMih0aGlzLGQpfW9lKGEsYil7dGhpcy5YLmoodGhpcy5qKTsrK3RoaXMuRD49dGhpcy5JJiZ0aGlzLnYucmVzb2x2ZSgpO3ZhciBjPWEoKTthPVIxKHRoaXMuWCwoKT0+dGhpcy5CKGMpLCJDIik7aWYoYT09PXZvaWQgMCl0aHJvdyBuZXcgaDEoMTcsIllOSjpVbmRlZmluZWQiKTtpZighKGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSl0aHJvdyBuZXcgaDEoMTgsCiJPRE06SW52YWxpZCIpO2I/LihhKTtyZXR1cm4gYX19LGx0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYixjKXtzdXBlcihhKTt0aGlzLkI9Yjt0aGlzLmo9ImYiO3RoaXMubz0ieiI7bjIodGhpcyxjKX1vZSgpe3JldHVybiB0aGlzLkJ9fSxrdGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYSk7dGhpcy5CPWI7dGhpcy5qPSJ3Ijt0aGlzLm89InoiO24yKHRoaXMsYyl9b2UoKXtyZXR1cm4gUjEodGhpcy5YLCgpPT5fLnVjKHRoaXMuQiksImQiKX16aigpe3JldHVybiB0aGlzLkJ9fSxydGE9Y2xhc3MgZXh0ZW5kcyBtNXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGEpO3RoaXMuZXJyb3I9Yjt0aGlzLmo9ImUiO3RoaXMubz0ieSJ9b2UoKXtpZih0aGlzLkIpcmV0dXJuIHRoaXMuQjt0aGlzLkI9cDIodGhpcyxhPT4iXyIrZXJhKGEpKTtyZXR1cm4gcDIodGhpcyxhPT5hKX19LHF0YT1jbGFzcyBleHRlbmRzIG01e2NvbnN0cnVjdG9yKGEsYil7c3VwZXIoYSk7CnRoaXMuY2xpZW50U3RhdGU9Yjt0aGlzLmo9IlMiO3RoaXMubz0icSJ9b2UoKXt2YXIgYT1NYXRoLmZsb29yKERhdGUubm93KCkvMUUzKSxiPVtNYXRoLnJhbmRvbSgpKjI1NSxNYXRoLnJhbmRvbSgpKjI1NV0sYz1iLmNvbmNhdChbMCx0aGlzLmNsaWVudFN0YXRlXSxbYT4+MjQmMjU1LGE+PjE2JjI1NSxhPj44JjI1NSxhJjI1NV0pO2E9bmV3IFVpbnQ4QXJyYXkoMitjLmxlbmd0aCk7YVswXT0zNDthWzFdPWMubGVuZ3RoO2Euc2V0KGMsMik7Yz1hLnN1YmFycmF5KDIpO2I9Yi5sZW5ndGg7Zm9yKGxldCBkPWI7ZDxjLmxlbmd0aDsrK2QpY1tkXV49Y1tkJWJdO3RoaXMuWC5aKHRoaXMuY2xpZW50U3RhdGUpO3JldHVybiBhfX07dmFyIFd2YT17V3Y6M0U0LEJBOjJFNH0scnVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhKXtzdXBlcigpO3RoaXMueWc9bmV3IF8uY3M7dGhpcy52PTA7dGhpcy5vPXZvaWQgMDt0aGlzLnN0YXRlPTI7dGhpcy52bT1hLnZtO3RoaXMub2Q9YS5vZDt0aGlzLkxnPXsuLi5XdmEsLi4uKGEuTGd8fHt9KX07dGhpcy5YPWEudm0uVmgoKTt0aGlzLm9uRXJyb3I9YS5vbkVycm9yPz8oKCk9Pnt9KTt0aGlzLlFuPWEuUW58fCExO2lmKFh2YShhKSl7bGV0IGQ9dGhpcy52bTt0aGlzLkI9KCk9PmQuVSgpLmNhdGNoKGU9Pnt0aGlzLm89ZT10aGlzLnJlcG9ydEVycm9yKG5ldyBoMSh0aGlzLmo/MjA6MzIsIlRSRzpEaXNwb3NlZCIsZSkpO3RoaXMuaj8uZGlzcG9zZSgpO3RoaXMuaj12b2lkIDA7dGhpcy55Zy5yZWplY3QoZSl9KTtmMihkLCgpPT52b2lkIHQyKHRoaXMpKTtkLlo9PT0yJiZ0Mih0aGlzKX1lbHNlIHRoaXMuQj1hLmlLLHQyKHRoaXMpO3ZhciBiPXRoaXMuWC5zaGFyZSgpOwpiLmooIm8iKTt2YXIgYz1uZXcgajUoYiwibyIpO3RoaXMueWcucHJvbWlzZS50aGVuKCgpPT57Yy5kb25lKCk7Yi5vKCk7Yi5kaXNwb3NlKCl9LCgpPT52b2lkIGIuZGlzcG9zZSgpKTt0aGlzLmFkZE9uRGlzcG9zZUNhbGxiYWNrKCgpPT57dGhpcy5qPyh0aGlzLmouZGlzcG9zZSgpLHRoaXMuaj12b2lkIDApOnRoaXMubz90aGlzLlgubygpOih0aGlzLm89dGhpcy5yZXBvcnRFcnJvcihuZXcgaDEoMzIsIlROUDpEaXNwb3NlZCIpKSx0aGlzLlgubygpLHRoaXMueWcucmVqZWN0KHRoaXMubykpfSk7RVoodGhpcyx0aGlzLlgpfW9lKGEpe3JldHVybiB3Mih0aGlzLHsuLi5hfSwhMSl9emooYSl7cmV0dXJuIHcyKHRoaXMsey4uLmF9LCEwKX1yZXBvcnRFcnJvcihhKXt0aGlzLlguSmIoYS5jb2RlKTt0aGlzLm9uRXJyb3IoYSk7cmV0dXJuIGF9fSxYdmE9ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+e2lmKCEoMCxfLnFyKShiKSlyZXR1cm4hMTtmb3IobGV0IFtjLGRdb2YgT2JqZWN0LmVudHJpZXMoYSkpe2xldCBlPQpjLGY9ZDtpZighKGUgaW4gYikpe2lmKGYuQko9PT0hMCljb250aW51ZTtyZXR1cm4hMX1pZighZihiW2VdKSlyZXR1cm4hMX1yZXR1cm4hMH0pfSh7dm06ZnVuY3Rpb24oYSl7cmV0dXJuIF8uQ2MoYj0+YiBpbnN0YW5jZW9mIGEpfShxMil9LCIiKTt2YXIgWnZhPWNsYXNze2NvbnN0cnVjdG9yKCl7aWYoIW41KXtuNT1uZXcgVDEobmV3IFl2YSk7dmFyIGE9Xy5zaigiY2xpZW50X3N0cmVhbXpfd2ViX2ZsdXNoX2NvdW50IiwtMSk7YSE9PS0xJiYobjUuQj1hKX10aGlzLnY9YT1uNTtNMShhLCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixsMSgidHlwZSIpLGwxKCJzZXF1ZW5jZSIpKX1vKGEsYil7TzEodGhpcy52LCIvY2xpZW50X3N0cmVhbXoveW91dHViZS9hYmEvZ2FjIixhLGIpfWooKXtyZXR1cm4gdGhpcy52LmooIi9jbGllbnRfc3RyZWFtei95b3V0dWJlL2FiYS9nYWMiKX19O3ZhciBtdWE9U18oY2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX0pO3ZhciAkdmE9Y2xhc3MgZXh0ZW5kcyBfLk1ye2NvbnN0cnVjdG9yKGEpe3N1cGVyKGEpfX07dmFyIG81PVswLHB2YSwtMV07dmFyIHA1PVswLGh2YSwtMV07dmFyIGF3YT1jbGFzcyBleHRlbmRzIF8uTXJ7Y29uc3RydWN0b3IoYSl7c3VwZXIoYSl9fTt2YXIgYndhPWNsYXNzIGV4dGVuZHMgXy5Ncntjb25zdHJ1Y3RvcihhKXtzdXBlcihhKX1oYXNBdHRyaWJ1dGVzKCl7dmFyIGE9dGhpcy5EYTtyZXR1cm4gXy5NeChhLGFbXy5BY118MCxhd2EsMTkpIT09dm9pZCAwfX07dmFyIGN3YT1mdW5jdGlvbihhKXtyZXR1cm4gYj0+Xy5veihiLGEpfShbMCxjNSwtMSxYNCwkNCxvNSwtMSxXNCxaNCxjNSxwNSwkNCxjNSwtMSxbMCxvNSwtMV0sWjQsWTQscDUsVzQsWzAsMSxaNCwtNCxWNCxbMCxXNCwtMSxaNF0sJDQsVzQsXy55eixbMCxjNSxaNF0sWjQsLTEsYzUsLTIsVzQsLTEsYzUsVzQsYzUsWjQsWzAsMyxaNCwtMSw0LG52YV0sVjQsYjUsWzAsYzUsLTEsJDRdLF8ueHpdLCQ0LG92YSxfLnl6LFswLHA1LF8ueXosWzAsJDQsYzVdLFc0LGM1LC0xXSwxLF8ueXosWzAsWTQsLTEsYjVdLGM1LHA1XSk7ejIucHJvdG90eXBlLmlzSW5wdXRWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkIhPTN9O3oyLnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuQj09PTJ9Owp6Mi5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2Zvcig7cDxhLmxlbmd0aDspaWYoeTIoYVtwXSkpcCsrLGYudisrO2Vsc2UgYnJlYWs7cmV0dXJuIHA8bH1mdW5jdGlvbiBjKCl7Zm9yKHZhciB0Ozspe3Q9YVtwKytdO2lmKCF0KWJyZWFrO2YudisrO3N3aXRjaChmLmope2Nhc2UgMDp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6eTIodCl8fEEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDc6Y2FzZSAyOmlmKHkyKHQpKWNvbnRpbnVlO2lmKGYuaj09PTcpaC5wdXNoKDgpO2Vsc2UgaWYodD09PSJ9Iil7ZSgie30iKTtmLmo9ZCgpO2NvbnRpbnVlfWVsc2UgaC5wdXNoKDMpO3Q9PT0nIic/Zi5qPTY6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgODpjYXNlIDM6aWYoeTIodCkpY29udGludWU7dD09PSI6Ij8oZi5qPT09MyYmKGgucHVzaCgzKSxmLm8rKyksZi5qPTEpOnQ9PT0ifSI/KGYuby0tLGUoKSxmLmo9ZCgpKTp0PT09IiwiPyhmLmo9PT0zJiZoLnB1c2goMyksCmYuaj03KTpBMihmLGEscCk7Y29udGludWU7Y2FzZSA0OmNhc2UgMTppZih5Mih0KSljb250aW51ZTtpZihmLmo9PT00KWlmKGYubysrLGYuaj0xLHQ9PT0iXSIpe2Yuby0tO2lmKGYubz09PTApe2Yuaj01O3JldHVybn1lKCJbXSIpO2Yuaj1kKCk7Y29udGludWV9ZWxzZSBoLnB1c2goNSk7dD09PSciJz9mLmo9Njp0PT09InsiP2Yuaj0yOnQ9PT0iWyI/Zi5qPTQ6dD09PSJ0Ij9mLmo9OTp0PT09ImYiP2Yuaj0xMjp0PT09Im4iP2Yuaj0xNjp0IT09Ii0iJiYoIjAxMjM0NTY3ODkiLmluZGV4T2YodCkhPT0tMT9mLmo9MjA6QTIoZixhLHApKTtjb250aW51ZTtjYXNlIDU6aWYodD09PSIsIiloLnB1c2goNSksZi5qPTEsZi5vPT09MSYmKG49cCk7ZWxzZSBpZih0PT09Il0iKXtmLm8tLTtpZihmLm89PT0wKXJldHVybjtlKCk7Zi5qPWQoKX1lbHNlIGlmKHkyKHQpKWNvbnRpbnVlO2Vsc2UgQTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgNjpsZXQgdj1wO2E6Zm9yKDs7KXtmb3IoO2YuSz4wOylpZih0PQphW3ArK10sZi5LPT09ND9mLks9MDpmLksrKywhdClicmVhayBhO2lmKHQ9PT0nIicmJiFmLkQpe2Yuaj1kKCk7YnJlYWt9aWYodD09PSJcXCImJiFmLkQmJihmLkQ9ITAsdD1hW3ArK10sIXQpKWJyZWFrO2lmKGYuRClpZihmLkQ9ITEsdD09PSJ1IiYmKGYuSz0xKSx0PWFbcCsrXSljb250aW51ZTtlbHNlIGJyZWFrO2subGFzdEluZGV4PXA7dD1rLmV4ZWMoYSk7aWYoIXQpe3A9YS5sZW5ndGgrMTticmVha31wPXQuaW5kZXgrMTt0PWFbdC5pbmRleF07aWYoIXQpYnJlYWt9Zi52Kz1wLXY7Y29udGludWU7Y2FzZSA5OmlmKCF0KWNvbnRpbnVlO3Q9PT0iciI/Zi5qPTEwOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDEwOmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTExOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDExOmlmKCF0KWNvbnRpbnVlO3Q9PT0iZSI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxMjppZighdCljb250aW51ZTt0PT09ImEiP2Yuaj0xMzpBMihmLGEsCnApO2NvbnRpbnVlO2Nhc2UgMTM6aWYoIXQpY29udGludWU7dD09PSJsIj9mLmo9MTQ6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTQ6aWYoIXQpY29udGludWU7dD09PSJzIj9mLmo9MTU6QTIoZixhLHApO2NvbnRpbnVlO2Nhc2UgMTU6aWYoIXQpY29udGludWU7dD09PSJlIj9mLmo9ZCgpOkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE2OmlmKCF0KWNvbnRpbnVlO3Q9PT0idSI/Zi5qPTE3OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE3OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPTE4OkEyKGYsYSxwKTtjb250aW51ZTtjYXNlIDE4OmlmKCF0KWNvbnRpbnVlO3Q9PT0ibCI/Zi5qPWQoKTpBMihmLGEscCk7Y29udGludWU7Y2FzZSAxOTp0PT09Ii4iP2Yuaj0yMDpBMihmLGEscCk7Y29udGludWU7Y2FzZSAyMDppZigiMDEyMzQ1Njc4OS5lRSstIi5pbmRleE9mKHQpIT09LTEpY29udGludWU7ZWxzZSBwLS0sZi52LS0sZi5qPWQoKTtjb250aW51ZTtkZWZhdWx0OkEyKGYsYSxwKX19fQpmdW5jdGlvbiBkKCl7dmFyIHQ9aC5wb3AoKTtyZXR1cm4gdCE9bnVsbD90OjF9ZnVuY3Rpb24gZSh0KXtmLm8+MXx8KHR8fCh0PW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSxwKTphLnN1YnN0cmluZyhuLHApKSxmLlkucHVzaChKU09OLnBhcnNlKHQpKSxuPXApfWZvcih2YXIgZj10aGlzLGg9Zi5VLGs9Zi5aLGw9YS5sZW5ndGgsbT0wLG49LTEscD0wO3A8bDspc3dpdGNoKGYuQil7Y2FzZSAzOnJldHVybiBBMihmLGEscCksbnVsbDtjYXNlIDI6cmV0dXJuIGIoKSYmQTIoZixhLHApLG51bGw7Y2FzZSAwOmlmKGIoKSl7dmFyIHI9YVtwKytdO2YudisrO2lmKHI9PT0iWyIpe2YuQj0xO209cDtmLmo9NDtjb250aW51ZX1lbHNlIEEyKGYsYSxwKX1yZXR1cm4gbnVsbDtjYXNlIDE6cmV0dXJuIGMoKSxmLm89PT0wJiZmLmo9PTU/KGYuQj0yLGYuST1hLnN1YnN0cmluZyhwKSk6Zi5JPW49PT0tMT9mLkkrYS5zdWJzdHJpbmcobSk6YS5zdWJzdHJpbmcobiksZi5ZLmxlbmd0aD4wPyhyPWYuWSwKZi5ZPVtdLHIpOm51bGx9cmV0dXJuIG51bGx9O3ZhciBtcmE9e0dFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfVU5LTk9XTiIsQUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9GT1JfVEVTVElORyIsa0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fSE9NRV9UVEwiLHdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU1RBUlRfVE9fU0hPUlRTX0FOQUxZU0lTX1NMSUNFIixvRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RFVklDRV9MQVlFUl9TTElDRSIsRkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VTklGSUVEX0xBWUVSX1NMSUNFIixKRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1ZJU0lUT1JfTEFZRVJfU0xJQ0UiLHVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0hPV19TSEVFVF9DT01NQU5EX0hBTkRMRVJfQkxPQ0siLApNRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dJWl9ORVhUX01JR1JBVEVEX0NPTVBPTkVOVCIsTEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XSVpfTkVYVF9DSEFOTkVMX05BTUVfVE9PTFRJUCIscEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVElPTl9MT0NLX1NVUFBPUlRFRCIsekU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9USEVBVEVSX01PREVfRU5BQkxFRCIsU0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9TSE9XX1BJTl9TVUdHRVNUSU9OIixSRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfTE9OR19QUkVTU19FRFVfVE9BU1QiLFFFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfU0hPV19BTUJJRU5UIixBRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RJTUVfV0FUQ0hFRF9QQU5FTCIsCnJFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0VBUkNIX0ZST01fU0VBUkNIX0JBUl9PVkVSTEFZIixURToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX1NIT1dfVk9JQ0VfU0VBUkNIX0VEVV9UT0FTVCIseUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVUdHRVNURURfTEFOR1VBR0VfU0VMRUNURUQiLFVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfVFJJR0dFUl9TSE9SVFNfUElQIixKRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lOX1pQX1ZPSUNFX0NSQVNIWV9TRVQiLGdFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX1NVUFBSRVNTRUQiLGZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9GQVNUX1NXSVBFX0FMTE9XRUQiLGlFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9QVUxMX1RPX1JFRlJFU0hfQVRURU1QVCIsCk5FOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfV09VTERfQkxPQ0tfS0FCVUtJIixqRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1JFRUxfVEFMTF9TQ1JFRU4iLGhFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUkVFTF9OT1JNQUxfU0NSRUVOIixoRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9FTkFCTEVEIixnRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0FDQ0VTU0lCSUxJVFlfTU9ERV9ESVNBQkxFRCIsaUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9BVVRPUExBWV9FTkFCTEVEIixqRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0NBU1RfTUFUQ0hfT0NDVVJSRUQiLHREOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRU1DM0RTX0VMSUdJQkxFIix3RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VORFNDUkVFTl9UUklHR0VSRUQiLApkRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BPU1RQTEFZX1RSSUdHRVJFRCIsY0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9QT1NUUExBWV9MQUNUX1RIUkVTSE9MRF9FWENFRURFRCIsQ0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1NUQVRFX01BVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT04iLEVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hBQkxFX09OX1JFTU9URV9DT05ORUNUSU9OIixERDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfTUlTQVRUUklCVVRFRF9PTl9SRU1PVEVfQ09OTkVDVElPTiIsSEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUSUVTX1RWX0lTX1NJR05FRF9JTl9PTl9SRU1PVEVfQ09OTkVDVElPTiIsREU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9UVl9TVEFSVF9UWVBFX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLApFRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWX1NUQVJUX1RZUEVfTk9OX0NPTERfT05fUkVNT1RFX0NPTk5FQ1RJT04iLFlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfT05fUkVNT1RFX0NPTk5FQ1RJT04iLG5EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9WQUxJRCIsbEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9DT0JBTFRfUEVSU0lTVEVOVF9TRVRUSU5HU19URVNUX0lOVkFMSUQiLG1EOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9VTkRFRklORUQiLGtEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfQ09CQUxUX1BFUlNJU1RFTlRfU0VUVElOR1NfVEVTVF9ERUZJTkVEIixNRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xBQ1RfVEhSRVNIT0xEX0VYQ0VFREVEIiwKcUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1VORF9UUklQX0hBTkRMSU5HX09OX1JFTU9URV9DT05ORUNUSU9OIixHRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0lERU5USVRJRVNfU1RBVEVfU1dJVENIRURfT05fUkVNT1RFX0NPTk5FQ1RJT05fQkVGT1JFX0FQUF9SRUxPQUQiLEZEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfSURFTlRJVElFU19TVEFURV9TV0lUQ0hFRF9PTl9SRU1PVEVfQ09OTkVDVElPTl9BRlRFUl9BUFBfUkVMT0FEIix1RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19JTkVMSUdJQkxFIixCRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfTUlEX1JPTExfVEhSRVNIT0xEX1JFQUNIRUQiLHlEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfUEVORElORyIsCnhEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRVhQX0NPQkFMVF9IVFRQM19DT05GSUdfQUNUSVZBVEVEIix2RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQzNEU19NMl9FTElHSUJMRSIsbkU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX0xBTkRTQ0FQRSIsb0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9ST1RBVEVfREVWSUNFX1RPX1BPUlRSQUlUIixzRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VNQkVEU19GQUNFT0ZGX1VJX0VWRU5UIix6RDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VYUF9DT0JBTFRfSFRUUDNfQ09ORklHX1JFQ0VJVkVEIixyRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0VMSUdJQkxFX1RPX1NVUFBSRVNTX1RSQU5TUE9SVF9DT05UUk9MU19CVVRUT05TIiwKSEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9VU0VSX0hBU19USEVBVEVSX01PREVfQ09PS0lFX0VOQUJMRUQiLHFEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfRE9DVU1FTlRfUElDVFVSRV9JTl9QSUNUVVJFX1NVUFBPUlRFRCIsdEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSE9SVFNfTk9OX0RFRkFVTFRfQVNQRUNUX1JBVElPIixiRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BMQVlFUl9JTl9TUVVFRVpFQkFDSyIsTkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9MSVZFX0NSRUFUT1JfQVJfR0lGVF9SRUNFSVZFRCIsbUU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVRVUk5FRF9UT19WSURFT19BRlRFUl9GQUlMRURfQVRURU1QVF9UT19CQUNLR1JPVU5EIixPRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1dPVUxEX0VOVEVSX0FVVE9fWk9PTSIsClpEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUEFTU0lWRV9JTl9DT05UUk9MIixhRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1BBU1NJVkVfSU5fVFJFQVRNRU5UIixwRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0RJU0FCTEVfUExBWUVSX09QRU5fT05fRlVMTFNDUkVFTiIsVEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfUkVDT05ORUNUX1dJVEhfUkVUUlkiLHZFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfU0lOR0xFX0NPTFVNTl9HUklEX1RSSUdHRVJFRCIsUEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9NRFhfQ09OTkVDVElPTl9USU1FT1VUIixPRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX0xJVkVfR0hPU1RfTE9BRElOR19FTElHSUJMRSIseEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TVFJFQU1FRF9HRVRfV0FUQ0hfU1VQUE9SVEVEIiwKS0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XRUJWSUVXX0NPTlRBSU5FUiIsUEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9XT1VMRF9FTlRFUl9QSVAiLGVFOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfUFJFTUlVTV9MSVRFX1VQU0VMTF9FTElHSUJMRSIsVkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX0JST0FEIixYRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX09GRkxJTkVfUkVDT1ZFUllfVU5QTEFZQUJMRSIsV0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9PRkZMSU5FX1JFQ09WRVJZX1NUUklDVCIsS0Q6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JT1NfU0hPUlRfT1JJRU5UQVRJT05fQ0hBTkdFIixDRToiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX1RWSFRNTDVfUExBWUVSX0VSUk9SX09WRVJMQVlfVFJJR0dFUkVEIiwKc0U6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9TSEFERVJfTElHSFRfRU5BQkxFRCIsSUQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JREVOVElUWV9NSVNNQVRDSF9ERVRFQ1RFRCIsbEU6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9SRVNVTUVfVE9fU0hPUlRTX1RSSUdHRVJFRCIsQkQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9HUldTX0NVU1RPTV9SRVRSWV9DQUxMRUQiLFNEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfVE9LRU5fTUlTTUFUQ0giLFJEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTURYX01PQklMRV9VTkxPQ0tfUEFZTE9BRF9UT0tFTl9NSVNTSU5HIixRRDoiR0VORVJJQ19DTElFTlRfRVhQRVJJTUVOVF9FVkVOVF9UWVBFX01EWF9NT0JJTEVfVU5MT0NLX0dBVEVfVE9LRU5fTUlTU0lORyIsClVEOiJHRU5FUklDX0NMSUVOVF9FWFBFUklNRU5UX0VWRU5UX1RZUEVfTVVTSUNfT0ZGTElORV9IT01FX1NNQVJUX0RPV05MT0FEU19QUk9NT19DSEVDSyIsTEQ6IkdFTkVSSUNfQ0xJRU5UX0VYUEVSSU1FTlRfRVZFTlRfVFlQRV9JUEFEX0RFU0tUT1BfTUFUQ0gifTt2YXIgZHdhPW5ldyBfLkkoInN1YnNjcmliZUVuZHBvaW50Iik7dmFyIEIyPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKGAke2F9LCBlcnJvckNvZGU9JHtifWApO3RoaXMuZXJyb3JDb2RlPWI7dGhpcy5uYW1lPSJQcm9taXNlQWpheEVycm9yIn19LHR0YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX19O3ZhciBEMj1jbGFzc3tjb25zdHJ1Y3RvcihhPW51bGwpe3RoaXMudj1hO3RoaXMuaj0wO3RoaXMubz1udWxsfXRoZW4oYSxiLGMpe3JldHVybiB0aGlzLnY/dGhpcy52LnRoZW4oYSxiLGMpOnRoaXMuaj09PTEmJmE/KGE9YS5jYWxsKGMsdGhpcy5vKSkmJnR5cGVvZiBhLnRoZW49PT0iZnVuY3Rpb24iP2E6RjIoYSk6dGhpcy5qPT09MiYmYj8oYT1iLmNhbGwoYyx0aGlzLm8pKSYmdHlwZW9mIGEudGhlbj09PSJmdW5jdGlvbiI/YTpFMihhKTp0aGlzfWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT0yfX07Xy55ZihEMik7dmFyIE0yPWNsYXNzIGV4dGVuZHMgXy5MYXtjb25zdHJ1Y3RvcihhKXtzdXBlcihhLm1lc3NhZ2V8fGEuZGVzY3JpcHRpb258fGEubmFtZSk7dGhpcy5pc01pc3Npbmc9YSBpbnN0YW5jZW9mIEsyO3RoaXMuaXNUaW1lb3V0PWEgaW5zdGFuY2VvZiBCMiYmYS5lcnJvckNvZGU9PSJuZXQudGltZW91dCI7dGhpcy5pc0NhbmNlbGVkPWEgaW5zdGFuY2VvZiBfLlBmfX07TTIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpRXJyb3IiO3ZhciBLMj1jbGFzcyBleHRlbmRzIF8uTGF7Y29uc3RydWN0b3IoKXtzdXBlcigiQmlzY290dGkgSUQgaXMgbWlzc2luZyBmcm9tIHNlcnZlciIpfX07SzIucHJvdG90eXBlLm5hbWU9IkJpc2NvdHRpTWlzc2luZ0Vycm9yIjt2YXIgc3RhPXtmb3JtYXQ6IlJBVyIsbWV0aG9kOiJHRVQiLHRpbWVvdXQ6NUUzLHdpdGhDcmVkZW50aWFsczohMH0sSDI9bnVsbDt2YXIgV3RhPVsiYXR0L2dldCJdLGV3YT1bInNoYXJlL2dldF9zaGFyZV9wYW5lbCJdLGZ3YT1bInNoYXJlL2dldF93ZWJfcGxheWVyX3NoYXJlX3BhbmVsIl0scTU9WyJmZWVkYmFjayJdLGd3YT1bIm5vdGlmaWNhdGlvbi9tb2RpZnlfY2hhbm5lbF9wcmVmZXJlbmNlIl0saHdhPVsiYnJvd3NlL2VkaXRfcGxheWxpc3QiXSxpd2E9WyJzdWJzY3JpcHRpb24vc3Vic2NyaWJlIl0sandhPVsic3Vic2NyaXB0aW9uL3Vuc3Vic2NyaWJlIl07dmFyIHI1PWNsYXNze2ZsdXNoKGE9W10sYj0hMSl7aWYoXy54KCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIikpZm9yKGxldCBjIG9mIGEpYT1yMShjKSx0aGlzLmomJl8uS3coYSwyLHRoaXMuaiksYT17c2VyaWFsaXplZEluY3JlbWVudEJhdGNoOl8uc2MoYS52KCkpfSxfLkVwKCJzdHJlYW16SW5jcmVtZW50ZWQiLGEse3NlbmRJc29sYXRlZFBheWxvYWQ6Yn0pfX0sWXZhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoKXtzdXBlcigpfX0scXVhPWNsYXNzIGV4dGVuZHMgcjV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt2YXIgYj1uZXcgRXZhO3ZhciBjPW5ldyBEdmE7Yz1CWihjLDEsImJvdGd1YXJkIik7YT1CWihjLDIsYSk7YT1fLkp3KGEpO0ZfKGIsMSxlNSxhKTthJiYhXy5CYyhhKSYmXy5vdyhiLkRhKTt0aGlzLmo9Yn19O3ZhciBuNSxqND1uZXcgTWFwO3ZhciBBdGE9bnVsbDt2YXIgQ3RhPW5ldyBNYXAoW1siZGFyayIsIlVTRVJfSU5URVJGQUNFX1RIRU1FX0RBUksiXSxbImxpZ2h0IiwiVVNFUl9JTlRFUkZBQ0VfVEhFTUVfTElHSFQiXV0pO3ZhciBYMj1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1iaW5kSW5uZXJ0dWJlQ2hhbGxlbmdlRmV0Y2hlcihhKXt0aGlzLmouYmljZihhKX1yZWdpc3RlckNoYWxsZW5nZUZldGNoZWRDYWxsYmFjayhhKXt0aGlzLmouYmNyKGEpfWdldExhdGVzdENoYWxsZW5nZVJlc3BvbnNlKCl7cmV0dXJuIHRoaXMuai5ibGMoKX19O3ZhciAkMj1bXSxaMj0oMCxfLll4KWBodHRwczovL3N0YXRpYy5kb3VibGVjbGljay5uZXQvaW5zdHJlYW0vYWRfc3RhdHVzLmpzYCxZMj0hMTt2YXIgczU9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9fTtbbmV3IHM1KCJiLmZfIiksbmV3IHM1KCJqLnNfIiksbmV3IHM1KCJyLnNfIiksbmV3IHM1KCJlLmhfIiksbmV3IHM1KCJpLnNfIiksbmV3IHM1KCJzLnRfIiksbmV3IHM1KCJwLmhfIiksbmV3IHM1KCJzLmlfIiksbmV3IHM1KCJmLmlfIiksbmV3IHM1KCJhLmJfIiksbmV3IHM1KCJhLm9fIiksbmV3IHM1KCJnLm9fIiksbmV3IHM1KCJwLmlfIiksbmV3IHM1KCJwLm1fIiksbmV3IHM1KCJuLmtfIiksbmV3IHM1KCJpLmZfIiksbmV3IHM1KCJhLnNfIiksbmV3IHM1KCJtLmNfIiksbmV3IHM1KCJuLmhfIiksbmV3IHM1KCJvLnBfIiksbmV3IHM1KCJtLnBfIiksbmV3IHM1KCJvLmFfIiksbmV3IHM1KCJkLnBfIiksbmV3IHM1KCJlLmlfIildLnJlZHVjZSgoYSxiKT0+e2FbYi5qXT1iO3JldHVybiBhfSx7fSk7dmFyIFA0PWNsYXNze2NvbnN0cnVjdG9yKGEsYixjKXt0aGlzLm5ldHdvcms9YTt0aGlzLm9wdGlvbnM9Yjt0aGlzLks9Yzt0aGlzLnY9MDt0aGlzLmo9bnVsbDt0aGlzLm89bmV3IFp2YTtiLnpzP2IzKHRoaXMsSXRhKHRoaXMpKTpiLnByZWxvYWQmJmIzKHRoaXMsbmV3IFByb21pc2UoZD0+e18uWWooKCk9PntkKGUzKHRoaXMpKX0sMCl9KSl9YXN5bmMgRCgpe3JldHVybiEhYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmosbnVsbF0pfWFzeW5jIEIoYSxiLGMpe3RoaXMuaj09PW51bGwmJmIzKHRoaXMsZTModGhpcykpO3ZhciBkPSExLGU9e307cmV0dXJuIFByb21pc2UucmFjZShbKGFzeW5jKCk9Pnt0aGlzLm9wdGlvbnMuUUkmJnRoaXMub3B0aW9ucy56cyYmYXdhaXQgKGF3YWl0IEV0YSgpKT8uY2hlY2tGb3JSZWZyZXNoKCk7dmFyIGY9YXdhaXQgdGhpcy5qO2UuY2hhbGxlbmdlPWYuY2hhbGxlbmdlO2lmKGYudm0pe3ZhciBoPXtjOmYuY2hhbGxlbmdlLGU6YSwuLi5ifTt0cnl7ZD0KITA7bGV0IGs7KGs9YXdhaXQgZi52bS5zbmFwc2hvdCh7S2M6aH0pKT9lLndlYlJlc3BvbnNlPWs6ZS5lcnJvcj0iQVRURVNUQVRJT05fRVJST1JfVk1fTk9fUkVTUE9OU0UifWNhdGNoe2UuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX0lOVEVSTkFMX0VSUk9SIn19ZWxzZSJjMWEiaW4gZi5CZiYmKGUuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX05PVF9JTklUSUFMSVpFRCIpO2E9PT0iRU5HQUdFTUVOVF9UWVBFX1BMQVlCQUNLIiYmKGY9Zi5CZixoPXt9LGYuYzZhJiYoaC5yZXBvcnRpbmdTdGF0dXM9U3RyaW5nKE51bWJlcihmLmMpXmEzKCkpKSxmLmM2YiYmKGguYnJvYWRTcGVjdHJ1bURldGVjdGlvblJlc3VsdD1TdHJpbmcoTnVtYmVyKGYuYyleTnVtYmVyKF8udygiQ0FUU1RBVCIsMCkpKSksZS5hZGJsb2NrUmVwb3J0aW5nPWgpO3JldHVybiBlfSkoKSxNdGEoYywoKT0+e3ZhciBmPU9iamVjdC5hc3NpZ24oe30sZSk7ZCYmKGYuZXJyb3I9IkFUVEVTVEFUSU9OX0VSUk9SX1ZNX1RJTUVPVVQiKTsKcmV0dXJuIGZ9KV0pfWFzeW5jIFJmKGEpe3ZhciBiPXRoaXMuSztpZighYnx8Yi5TYigpKXJldHVybiBmMyh0aGlzLGEpO3gwKCJhdHRfcG5hIik7cmV0dXJuIG5ldyBQcm9taXNlKGM9PntfLmJmKGIsInB1YmxpY3l0bmV0d29ya3N0YXR1cy1vbmxpbmUiLCgpPT57ZjModGhpcyxhKS50aGVuKGMpfSl9KX19O3ZhciBnMz17V0VCX1VOUExVR0dFRDoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT05CT0FSRElORzoiXnVucGx1Z2dlZC8iLFdFQl9VTlBMVUdHRURfT1BTOiJedW5wbHVnZ2VkLyIsV0VCX1VOUExVR0dFRF9QVUJMSUM6Il51bnBsdWdnZWQvIixXRUJfQ1JFQVRPUjoiXmNyZWF0b3IvIixXRUJfS0lEUzoiXmtpZHMvIixXRUJfRVhQRVJJTUVOVFM6Il5leHBlcmltZW50cy8iLFdFQl9NVVNJQzoiXm11c2ljLyIsV0VCX1JFTUlYOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebXVzaWMvIixXRUJfTVVTSUNfRU1CRURERURfUExBWUVSOiJebWFpbl9hcHAvfF5zZnYvIn07dmFyIFl1YT1jbGFzc3tjb25zdHJ1Y3RvcihhKXt0aGlzLmo9YX1hc3luYyBSZihhKXt4MCgiYXR0X2ZzciIpO2E9YXdhaXQgWXRhKHRoaXMuaixhKTt4MCgiYXR0X2ZyciIpO3JldHVybiBhfX07dmFyIGkzPWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj0icGVuZGluZyI7dGhpcy5vPVtdO3RoaXMudj1bXTt0cnl7YSh0aGlzLkIuYmluZCh0aGlzKSx0aGlzLnJlamVjdC5iaW5kKHRoaXMpKX1jYXRjaChiKXt0aGlzLnJlamVjdChiKX19c3RhdGUoKXtyZXR1cm4gdGhpcy5pc0Z1bGZpbGxlZCgpP3tzdGF0ZToiZnVsZmlsbGVkIix2YWx1ZTp0aGlzLnJlc3VsdH06dGhpcy5pc1JlamVjdGVkKCk/e3N0YXRlOiJyZWplY3RlZCIscmVhc29uOnRoaXMuZXJyb3J9OntzdGF0ZToicGVuZGluZyJ9fWlzRnVsZmlsbGVkKCl7cmV0dXJuIHRoaXMuaj09PSJmdWxmaWxsZWQifWlzUmVqZWN0ZWQoKXtyZXR1cm4gdGhpcy5qPT09InJlamVjdGVkIn1pc1BlbmRpbmcoKXtyZXR1cm4gdGhpcy5qPT09InBlbmRpbmcifUIoYSl7KDAsXy5ibykoYSl8fGozKGEpP2wzKGszKGEpLHRoaXMuQi5iaW5kKHRoaXMpLHRoaXMucmVqZWN0LmJpbmQodGhpcykpOih0aGlzLmo9ImZ1bGZpbGxlZCIsdGhpcy5yZXN1bHQ9CmEsbjModGhpcykpfXJlamVjdChhKXt0aGlzLmo9InJlamVjdGVkIjt0aGlzLmVycm9yPWE7bjModGhpcyl9fSxqMz1fLkNjKGE9PigwLF8ucXIpKGEpP2EgaW5zdGFuY2VvZiBpMzohMSk7dmFyIHQ1PWNsYXNze2NvbnN0cnVjdG9yKGEpe3RoaXMuaj1hfXJ1bihhLGIpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7dmFyIGM9dGhpcztyZXR1cm4gZnVuY3Rpb24qKCl7Zm9yKHZhciBkPWEsZT1iLGY9W107Oyl7Zi5wdXNoKFN0cmluZyhkKSk7ZT15aWVsZCpwMyhjLmpbZF0uZXhlY3V0ZShlKSk7aWYoZS5uZXh0U3RhdGU9PT0iRE9ORSIpcmV0dXJuIGYucHVzaCgiRE9ORSIpLGUudmFsdWU7aWYoZS5uZXh0U3RhdGU9PT0iRkFJTEVEIil0aHJvdyBmLnB1c2goYEZBSUxFRCgke2UuZXJyb3IubWVzc2FnZXx8ImVycm9yIn0pYCksZS5lcnJvcjtkPWUubmV4dFN0YXRlO2U9ZS5wYXJhbXN9fSgpfSl9fTt2YXIgdTU9Y2xhc3N7fTt2YXIgdTM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLmo9e307aWYodGhpcy5vPV8ucXooKSl7bGV0IGE9Xy5Mai5nZXQoIkNPTlNJU1RFTkNZIix2b2lkIDApO2EmJnIzKHRoaXMse2VuY3J5cHRlZFRva2VuSmFyQ29udGVudHM6YX0pfX1oYW5kbGVSZXNwb25zZShhLGIpe2lmKCFiKXRocm93IEVycm9yKCJLZSIpO2I9Yi5pbm5lclR1YmVSZXF1ZXN0LmNvbnRleHQ/LnJlcXVlc3Q/LmNvbnNpc3RlbmN5VG9rZW5KYXJzfHxbXTsoYT1hLnJlc3BvbnNlQ29udGV4dD8uY29uc2lzdGVuY3lUb2tlbkphcikmJnRoaXMucmVwbGFjZShiLGEpfXJlcGxhY2UoYSxiKXtmb3IobGV0IGMgb2YgYSlkZWxldGUgdGhpcy5qW2MuZW5jcnlwdGVkVG9rZW5KYXJDb250ZW50c107cjModGhpcyxiKX19O3ZhciBrd2E9d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCIuIikuc2xpY2UoLTIpLmpvaW4oIi4iKSx2Mz1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMudj0tMTt2YXIgYT1fLncoIkxPQ0FUSU9OX1BMQVlBQklMSVRZX1RPS0VOIik7Xy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1IiYmKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmKGE9dGhpcy5sb2NhbFN0b3JhZ2UuZ2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIpKTthJiYodGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW49YSx0aGlzLm89dGhpcy5qPXZvaWQgMCl9c3RhdGljIGpjKCl7djU9Xy5zYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIik7djV8fCh2NT1uZXcgdjMsXy5yYSgieXQuY2xpZW50TG9jYXRpb25TZXJ2aWNlLmluc3RhbmNlIix2NSkpO3JldHVybiB2NX1zZXRMb2NhdGlvbk9uSW5uZXJUdWJlQ29udGV4dChhKXthLmNsaWVudHx8KGEuY2xpZW50PQp7fSk7aWYodGhpcy5qKWEuY2xpZW50LmxvY2F0aW9uSW5mb3x8KGEuY2xpZW50LmxvY2F0aW9uSW5mbz17fSksYS5jbGllbnQubG9jYXRpb25JbmZvLmxhdGl0dWRlRTc9TWF0aC5mbG9vcih0aGlzLmouY29vcmRzLmxhdGl0dWRlKjFFNyksYS5jbGllbnQubG9jYXRpb25JbmZvLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IodGhpcy5qLmNvb3Jkcy5sb25naXR1ZGUqMUU3KSxhLmNsaWVudC5sb2NhdGlvbkluZm8uaG9yaXpvbnRhbEFjY3VyYWN5TWV0ZXJzPU1hdGgucm91bmQodGhpcy5qLmNvb3Jkcy5hY2N1cmFjeSksYS5jbGllbnQubG9jYXRpb25JbmZvLmZvcmNlTG9jYXRpb25QbGF5YWJpbGl0eVRva2VuUmVmcmVzaD0hMDtlbHNlIGlmKHRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW4pYS5jbGllbnQubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPXRoaXMuQnx8dGhpcy5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW59Z2V0WEdlb0hlYWRlcigpe2lmKHRoaXMubyl7dmFyIGE9CnRoaXMubzt2YXIgYj1NYXRoLmZsb29yKGEuY29vcmRzLmxvbmdpdHVkZSoxRTcpO3ZhciBjPU1hdGguZmxvb3IoYS5jb29yZHMubGF0aXR1ZGUqMUU3KTt2YXIgZD1uZXcgJHZhO2M9Xy5xdyhkLDEsXy5QdyhjKSk7Yj1fLnF3KGMsMixfLlB3KGIpKTtjPW5ldyBid2E7Yz1DWihjLDEsMSk7Yz1DWihjLDIsMTIpO2M9Q1ooYyw5LDgpO2M9Xy5xdyhjLDMseV8oYS50aW1lc3RhbXAqMUUzKSk7YT1fLnF3KGMsNyxwXyhhLmNvb3Jkcy5hY2N1cmFjeSoxRTMpKTthPUNaKGEsMjUsMik7YT1fLkt3KGEsNSxiKTthPWB3ICR7Xy5zYyhjd2EoYSksNCl9YH1lbHNlIGE9bnVsbDtyZXR1cm4gYX1oYW5kbGVSZXNwb25zZShhKXthPWEucmVzcG9uc2VDb250ZXh0Py5sb2NhdGlvblBsYXlhYmlsaXR5VG9rZW47YSE9PXZvaWQgMCYmKHRoaXMubG9jYXRpb25QbGF5YWJpbGl0eVRva2VuPWEsdGhpcy5vPXRoaXMuaj12b2lkIDAsXy53KCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiKT09PSJUVkhUTUw1Ij8KKHRoaXMubG9jYWxTdG9yYWdlPXMzKHRoaXMpKSYmdGhpcy5sb2NhbFN0b3JhZ2Uuc2V0KCJ5dC1sb2NhdGlvbi1wbGF5YWJpbGl0eS10b2tlbiIsYSwxNTU1MkUzKTpfLk1qKCJZVF9DTCIsSlNPTi5zdHJpbmdpZnkoe2xvY3RvazphfSksMTU1NTJFMyxrd2EsITApKX1jbGVhckxvY2F0aW9uUGxheWFiaWxpdHlUb2tlbihhKXthPT09IlRWSFRNTDUiPyh0aGlzLmxvY2FsU3RvcmFnZT1zMyh0aGlzKSkmJnRoaXMubG9jYWxTdG9yYWdlLnJlbW92ZSgieXQtbG9jYXRpb24tcGxheWFiaWxpdHktdG9rZW4iKTpfLk5qKCJZVF9DTCIpO3RoaXMuQj12b2lkIDA7dGhpcy52IT09LTEmJihjbGVhclRpbWVvdXQodGhpcy52KSx0aGlzLnY9LTEpfWNsZWFyQ3VycmVudFBvc2l0aW9uKCl7dGhpcy5vPXRoaXMuaj12b2lkIDB9Z2V0Q3VycmVudFBvc2l0aW9uRnJvbUdlb2xvY2F0aW9uKGEpe2lmKCEobmF2aWdhdG9yJiZuYXZpZ2F0b3IuZ2VvbG9jYXRpb24mJm5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24pKXJldHVybiBQcm9taXNlLnJlamVjdChFcnJvcigiTGUiKSk7CnZhciBiPSExLGM9MUU0O18udygiSU5ORVJUVUJFX0NMSUVOVF9OQU1FIik9PT0iTVdFQiImJihiPSEwLGM9MTVFMyk7cmV0dXJuIG5ldyBQcm9taXNlKChkLGUpPT57bmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmPT57dGhpcy5vPWE/LmFkZFRvSGVhZGVycz9mOnZvaWQgMDt0aGlzLmo9ZjtkKGYpfSxmPT57ZShmKX0se2VuYWJsZUhpZ2hBY2N1cmFjeTpiLG1heGltdW1BZ2U6MCx0aW1lb3V0OmN9KX0pfWNyZWF0ZVVucGx1Z2dlZExvY2F0aW9uSW5mbyhhKXt2YXIgYj17fTthPWEuY29vcmRzO2E/LmxhdGl0dWRlJiYoYi5sYXRpdHVkZUU3PU1hdGguZmxvb3IoYS5sYXRpdHVkZSoxRTcpKTthPy5sb25naXR1ZGUmJihiLmxvbmdpdHVkZUU3PU1hdGguZmxvb3IoYS5sb25naXR1ZGUqMUU3KSk7YT8uYWNjdXJhY3kmJihiLmxvY2F0aW9uUmFkaXVzTWV0ZXJzPU1hdGgucm91bmQoYS5hY2N1cmFjeSkpO3JldHVybiBifWNyZWF0ZUxvY2F0aW9uSW5mbyhhKXt2YXIgYj0Ke307YT1hLmNvb3JkczthPy5sYXRpdHVkZSYmKGIubGF0aXR1ZGVFNz1NYXRoLmZsb29yKGEubGF0aXR1ZGUqMUU3KSk7YT8ubG9uZ2l0dWRlJiYoYi5sb25naXR1ZGVFNz1NYXRoLmZsb29yKGEubG9uZ2l0dWRlKjFFNykpO3JldHVybiBifX0sdjU7dmFyIEYzPSJ0b2tlbnMgY29uc2lzdGVuY3kgc2VydmljZV9wYXJhbXMgbXNzIGNsaWVudF9sb2NhdGlvbiBlbnRpdGllcyBhZGJsb2NrX2RldGVjdGlvbiByZXNwb25zZV9yZWNlaXZlZF9jb21tYW5kcyBzdG9yZSBtYW5pZmVzdCBwbGF5ZXJfcHJlbG9hZCBzaG9ydHNfcHJlZmV0Y2ggcmVzb2x2ZV91cmxfcHJlZmV0Y2giLnNwbGl0KCIgIik7dmFyIGx3YT1jbGFzc3tEKGEsYj17fSxjPUEzKXt2YXIgZD17Y29udGV4dDp3MyhhLmNsaWNrVHJhY2tpbmdQYXJhbXMsITEsdGhpcy5CKX07dmFyIGU9dGhpcy5vKGEpO2lmKGUpe3RoaXMuaihkLGUsYik7ZT1gL3lvdXR1YmVpL3YxLyR7aDModGhpcy52KCkpfWA7dmFyIGY9Xy5CKGEuY29tbWFuZE1ldGFkYXRhLF8uencpPy5hcGlVcmw7ZiYmKGU9Zik7ZT1YMChZMChlKSk7Zj17Y29tbWFuZDphLC4uLih2b2lkIDApfTtkPXtpbnB1dDplLHdiOlowKGUpLGlubmVyVHViZVJlcXVlc3Q6ZCxjb25maWc6Zn07ZC5jb25maWcuUmQ/ZC5jb25maWcuUmQuaWRlbnRpdHk9YzpkLmNvbmZpZy5SZD17aWRlbnRpdHk6Y307KGE9dGhpcy5LKGEpKSYmIWQuY29uZmlnLnJlcXVlc3RLZXkmJihkLmNvbmZpZy5yZXF1ZXN0S2V5PWEpO2IuYWJvcnRTaWduYWwmJihkLndiLnNpZ25hbD1iLmFib3J0U2lnbmFsKTtyZXR1cm4gZH1iPW5ldyBfLlhqKCJFcnJvcjogRmFpbGVkIHRvIGNyZWF0ZSBSZXF1ZXN0IGZyb20gQ29tbWFuZC4iLAphKTtfLkdwKGIpfWdldCBCKCl7cmV0dXJuITF9Sygpe319LHc1PWNsYXNzIGV4dGVuZHMgbHdhe0soYSl7cmV0dXJuIF8uQihhLmNvbW1hbmRNZXRhZGF0YSxfLnp3KT8ucmVxdWVzdEtleT8/dm9pZCAwfX07dmFyIG13YT17R0VUX0RBVEFTWU5DX0lEUzp5MyhjbGFzcyBleHRlbmRzIHc1e0QoKXtyZXR1cm57aW5wdXQ6Ii9nZXREYXRhc3luY0lkc0VuZHBvaW50Iix3YjpaMCgiL2dldERhdGFzeW5jSWRzRW5kcG9pbnQiLCJHRVQiKSxpbm5lclR1YmVSZXF1ZXN0Ont9fX12KCl7cmV0dXJuW119bygpe31qKCl7fX0pfTt2YXIgVTM9bmV3IF8uVnMoIlJFUVVFU1RfTUFDSElORV9SRUdJU1RSWV9UT0tFTiIpLEIzPW5ldyBfLlZzKCJSRVFVRVNUX01BQ0hJTkVfRkFDVE9SWV9UT0tFTiIpLEozPW5ldyBfLlZzKCJJTkZMSUdIVF9SRVFVRVNUX01BUF9UT0tFTiIpO3ZhciBhdWE9WyJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLkJyb3dzZVJlc3BvbnNlIiwidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5QbGF5ZXJSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGFuZWxSZXNwb25zZSJdLHozPWNsYXNze2NvbnN0cnVjdG9yKGEsYixjLGQpe3RoaXMudj1hO3RoaXMuU2E9Yjt0aGlzLm89Yzt0aGlzLkI9ZDt0aGlzLmo9bmV3IE1hcDthLkhkfHwoYS5IZD17fSk7YS5IZD17Li4ubXdhLC4uLmEuSGR9fVFpKGEsYil7dmFyIGM9Xy55KCkucmVzb2x2ZShfLkluKEIzKSk/LigpO2lmKGMpcmV0dXJuIG0zKGV1YShjLHtjb21tYW5kOmEsZm9ybTpiLGlkZW50aXR5OkEzfSkpLnRoZW4oZT0+ZSwoKT0+e30pO3ZhciBkPVp0YSh0aGlzLAphKTtyZXR1cm4gZD9uZXcgXy5CZihhc3luYyhlLGYpPT57dmFyIGg9KGF3YWl0IGQpLkQoYSxiLEEzKTtoPyhQMihoLmlucHV0KSxmPWgud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMCxmPXRoaXMuby56bj9DMyhoLmNvbmZpZyxmKTphd2FpdCBEMyhoLmNvbmZpZyxmKSxlKEUzKHRoaXMsaCxmKSkpOmYobmV3IF8uWGooIkVycm9yOiBGYWlsZWQgdG8gYnVpbGQgcmVxdWVzdCBmb3IgY29tbWFuZCIsYSkpfSk6Xy5PdChuZXcgXy5YaigiRXJyb3I6IE5vIHJlcXVlc3QgYnVpbGRlciBmb3VuZCBmb3IgY29tbWFuZCIsYSkpfUp3KGEpe3JldHVybiBVdGEoYSx0aGlzLnYpfX07dmFyIHg1PW5ldyBfLlZzKCJMT0NBTF9JTk5FUlRVQkVfUk9VVEVSX1RPS0VOIik7dmFyIHU0PW5ldyBfLlZzKCJFTkRQT0lOVF9NQVAiKTt2YXIgdDQ9bmV3IF8uVnMoIkFVVEhfU0VSVklDRV9UT0tFTiIpO3ZhciBLMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBjPWEueXRSZXF1ZXN0O1AyKGMuaW5wdXQpO3ZhciBkPWMud2I/Lm1vZGU9PT0iY29ycyI/ImNvcnMiOnZvaWQgMDtpZihiLmouem4pe2xldCBlPV8uUGooe3Nlc3Npb25JbmRleDpjLmNvbmZpZz8uUmQ/LnNlc3Npb25JbmRleH0pO2Q9ey4uLngzKGQpLC4uLmV9fWVsc2UgZD15aWVsZCpwMyhjdWEoYixjLmNvbmZpZyxkKSk7Yy53Yj17Li4uYy53YixoZWFkZXJzOnsuLi4oYy53Yj8uaGVhZGVycz8/e30pLC4uLmR9fTtyZXR1cm57bmV4dFN0YXRlOiJERURVUEUiLHBhcmFtczphfX0oKX0pfX07SzNbXy5Mbl09W3Q0XTt2YXIgJDM9bmV3IF8uVnMoIlJFU1BPTlNFX01BQ0hJTkVfUkVHSVNUUllfVE9LRU4iKSxhND1uZXcgXy5WcygiUkVTUE9OU0VfTUFDSElORV9GQUNUT1JZX1RPS0VOIik7dmFyIEwzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMuaj1hO3RoaXMubz1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBkPWEueXRSZXF1ZXN0LGU9ZC5jb25maWc/LktBPy5aSztpZihlJiZiJiZiLmhhcyhlKSYmIWQuY29uZmlnPy5LQT8uZGlzYWJsZUNhY2hlKXt2YXIgZj15aWVsZCpwMyhrMyhiLmdldChlKSkpO2lmKGYmJiFmLmlzRXhwaXJlZCgpKXJldHVybiBkPWYuaigpLF8ueCgid2ViX3Byb2Nlc3NfcmVzcG9uc2Vfc3RvcmVfcmVzcG9uc2VzIikmJiFmLmlzUHJvY2Vzc2VkKCk/KGY9YygpLGQ9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOmQseXRSZXF1ZXN0OmEueXRSZXF1ZXN0LGNodW5rQ2FsbGJhY2s6YS5jaHVua0NhbGxiYWNrLHJlc3BvbnNlUGF5bG9hZDp7dHlwZToiUEFHRV9DT05UUkFDVCJ9LGV4dHJhY3RlZFJlc3BvbnNlOmR9KSksCnlpZWxkKnAzKGszKGIuaihlKSkpLHtuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmR9KTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTpkfX1yZXR1cm57bmV4dFN0YXRlOiJMT0NBTF9ST1VURVIiLHBhcmFtczphfX0oKX0pfX07TDNbXy5Mbl09W2E0LF8uSW4obmV3IF8uVnMoIkVQSEVNRVJBTF9TVE9SRV9UT0tFTiIpKV07dmFyIE0zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5vLGM9dGhpcy5qLGQ9YS55dFJlcXVlc3QsZT1kPy5pbm5lclR1YmVSZXF1ZXN0Py5jb250ZXh0O2lmKCFlKXJldHVybiBrMyh7bmV4dFN0YXRlOiJBVVRIIixwYXJhbXM6YX0pO3ZhciBmPVtdO2lmKGMmJmMubGVuZ3RoPjApZm9yKGxldCBoIG9mIGMpYz1oLkJyKGQpLGMudiYmZi5wdXNoKGMudik7Zm9yKGxldCBoIG9mIGJ8fFtdKWguQnIoZSk7cmV0dXJuIGYubGVuZ3RoPjA/bzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt5aWVsZCpwMyhrMyhQcm9taXNlLmFsbChmKSkpO3JldHVybntuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfX0oKX0pOmszKHtuZXh0U3RhdGU6IkFVVEgiLHBhcmFtczphfSl9fTtNM1tfLkxuXT1bXy5JbihuZXcgXy5WcygiQ09OVEVYVF9QUk9DRVNTT1JfTUFQIikpLF8uSW4obmV3IF8uVnMoIkFTWU5DX0NPTlRFWFRfUFJPQ0VTU09SX01BUCIpKV07dmFyIE4zPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLnl0UmVxdWVzdC5jb25maWc/LnJlcXVlc3RLZXk7cmV0dXJuIGMmJmIuaGFzKGMpJiYoYz1iLmdldChjKSxjPXlpZWxkKnAzKGszKGMpKSk/e25leHRTdGF0ZToiRE9ORSIsdmFsdWU6Y306e25leHRTdGF0ZToiRkVUQ0giLHBhcmFtczphfX0oKX0pfX07TjNbXy5Mbl09W0ozXTt2YXIgTzM9Y2xhc3MgZXh0ZW5kcyB1NXtjb25zdHJ1Y3RvcihhLGIpe3N1cGVyKCk7dGhpcy5vPWE7dGhpcy5qPWJ9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLmosYz10aGlzLm87cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGQ9YS55dFJlcXVlc3QsZT1hLmNodW5rQ2FsbGJhY2ssZj17dHlwZToiUEFHRV9DT05UUkFDVCJ9O2lmKGI/LmNJKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KSl7bGV0IGs9eWllbGQqcDMoazMoYi5PSihkLmlucHV0LGQuaW5uZXJUdWJlUmVxdWVzdCkpKTtpZihrKXtsZXQgbD0hMTt2YXIgaD1mdW5jdGlvbihtLG4pe3JldHVybiBmdW5jdGlvbiooKXt2YXIgcD1jKCk7eWllbGQqcDMoSDMocCx7d2lyZVJlc3BvbnNlOm4seXRSZXF1ZXN0OmQsY2h1bmtDYWxsYmFjazplLHJlc3BvbnNlUGF5bG9hZDpmfSkpO2w9ITB9KCl9O2sucGxheWVyUmVzcG9uc2UmJih5aWVsZCpoKGsucGxheWVyUmVzcG9uc2Use3BsYXllclJlc3BvbnNlOmsucGxheWVyUmVzcG9uc2V9KSk7Cmsud2F0Y2hOZXh0UmVzcG9uc2UmJih5aWVsZCpoKGsud2F0Y2hOZXh0UmVzcG9uc2Use3dhdGNoTmV4dFJlc3BvbnNlOmsud2F0Y2hOZXh0UmVzcG9uc2V9KSk7bHx8KGg9YygpLHlpZWxkKnAzKEgzKGgse3dpcmVSZXNwb25zZTprLHl0UmVxdWVzdDpkLGNodW5rQ2FsbGJhY2s6ZSxyZXNwb25zZVBheWxvYWQ6Zn0pKSk7aWYoZSlyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTpmfTtoPWYuY29udGVudHx8Zi5wbGF5ZXJ8fGYuZG47cmV0dXJuIGYudHlwZT09PSJQQUdFX0NPTlRSQUNUIiYmaD97bmV4dFN0YXRlOiJET05FIix2YWx1ZTpofTp7bmV4dFN0YXRlOiJET05FIix2YWx1ZTprfX19cmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiTmUiKX19KCl9KX19O08zW18uTG5dPVthNCxfLkluKHg1KV07dmFyIHk1PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLGIsYyl7c3VwZXIoYix7c3RhdHVzOmMsLi4uW119KTt0aGlzLnR5cGU9YTt0aGlzLnN0YXR1cz1jO09iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLG5ldy50YXJnZXQucHJvdG90eXBlKX19O3ZhciByND1uZXcgXy5WcygiTkVUV09SS19NQU5BR0VSX1RPS0VOIik7dmFyIFAzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiLGMsZCl7c3VwZXIoKTt0aGlzLlNhPWE7dGhpcy5qPWI7dGhpcy52PWM7dGhpcy5vPWR9ZXhlY3V0ZShhKXt2YXIgYj10aGlzLlNhLGM9dGhpcy5qLGQ9dGhpcy52LGU9dGhpcy5vO3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBmPWEueXRSZXF1ZXN0LGg9YS5jaHVua0NhbGxiYWNrLGs9Zi5jb25maWc/LnJlcXVlc3RLZXksbD1KU09OLnN0cmluZ2lmeShmLmlubmVyVHViZVJlcXVlc3QpLG09ey4uLmYud2IsYm9keTpmLndiLm1ldGhvZD09PSJQT1NUIj9sOnZvaWQgMH07Zi5jb25maWc/LmtuJiZfLkFxKGYuY29uZmlnLmtuKTt2YXIgbj17dHlwZToiUEFHRV9DT05UUkFDVCJ9LHA9MCxyPXo9PntJMyhkKCkse3dpcmVSZXNwb25zZTp6LHl0UmVxdWVzdDpmLGNodW5rQ2FsbGJhY2s6aCxyZXNwb25zZVBheWxvYWQ6bn0scCsrKX07bD0oKT0+aD9iLmZldGNoKGYuaW5wdXQsCm0sZi5jb25maWcscik6Yi5mZXRjaChmLmlucHV0LG0sZi5jb25maWcpO3RyeXt2YXIgdD1lP2UuSksoZixsKTpsKCl9Y2F0Y2goeil7dD1Qcm9taXNlLnJlamVjdCh6KX1rJiZjJiZjLnNldChrLHQpO3RyeXt2YXIgdj15aWVsZCpwMyhrMyh0KSl9Y2F0Y2goeil7cmV0dXJuIF8ueCgid2ViX2VuYWJsZV9yZXRyaWVzIikmJih2PXogaW5zdGFuY2VvZiBUeXBlRXJyb3ImJnoubWVzc2FnZT09PSJGYWlsZWQgdG8gZmV0Y2giPzE6MCxHMyh2KSk/e25leHRTdGF0ZToiUkVUUlkiLHBhcmFtczp7Li4uYSxlcnJvcjpuZXcgeTUodix6Lm1lc3NhZ2UpLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fX1rJiZjJiZjLmRlbGV0ZShrKTt3MCh2MChmLmlucHV0KSkoKTtmLmNvbmZpZz8ucG4mJl8uQXEoZi5jb25maWcucG4pO2lmKCF2KXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6ey4uLmF9fTtpZih2JiZ0eXBlb2Ygdj09PQoib2JqZWN0IiYmIUFycmF5LmlzQXJyYXkodikmJihrPXYsay5lcnJvck1ldGFkYXRhPy5zdGF0dXMmJihrPWsuZXJyb3JNZXRhZGF0YS5zdGF0dXMsdD1rPT09NTAzfHxrPT09NTA0fHxrPT09NDI5PzI6az49NDAwJiZrPDUwMHx8az49NTAwPzM6MCxHMyh0KSYmXy54KCJ3ZWJfZW5hYmxlX3JldHJpZXMiKSkpKXJldHVybntuZXh0U3RhdGU6IlJFVFJZIixwYXJhbXM6ey4uLmEsZXJyb3I6bmV3IHk1KHQsYEhUVFAgU3RhdHVzICR7a31gLGspLGF0dGVtcHQ6KGEuYXR0ZW1wdHx8MCkrMX19OyFoJiZ2JiYoaz1kKCksaz15aWVsZCpwMyhJMyhrLHt3aXJlUmVzcG9uc2U6dix5dFJlcXVlc3Q6ZixyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifX0pKSx0PWsuY29udGVudHx8ay5wbGF5ZXJ8fGsuZG4say50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZ0JiYodj10KSk7az12O2lmKEFycmF5LmlzQXJyYXkodikpaWYodj12LmZpbHRlcih6PT4hKHoucGxheWVyUmVzcG9uc2V8fAp6LndhdGNoTmV4dFJlc3BvbnNlfHx6KS5yZXNwb25zZUNvbnRleHQ/LmZyYW1ld29ya09ubHkpLHYubGVuZ3RoPT09MSlrPXZbMF07ZWxzZSBpZih2Lmxlbmd0aD4xKWs9di5maW5kKHo9Pnoud2F0Y2hOZXh0UmVzcG9uc2UpfHx2WzBdO2Vsc2UgcmV0dXJue25leHRTdGF0ZToiRkFJTEVEIixlcnJvcjpFcnJvcigiT2UiKX07cmV0dXJue25leHRTdGF0ZToiRE9ORSIsdmFsdWU6aCYmIV8ueCgid2ViX25tX2ZldGNoX2NodW5rX2NhbGxiYWNrX2tzIik/bjprfX0oKX0pfX07UDNbXy5Mbl09W3I0LEozLGE0LF8uSW4obmV3IF8uVnMoIlJFUVVFU1RfU0VRVUVOQ0lORyIpKV07dmFyIFEzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSxiKXtzdXBlcigpO3RoaXMubz1hO3RoaXMuaj1ifWV4ZWN1dGUoYSl7dmFyIGI9dGhpcy5qLGM9dGhpcy5vLGQ9YS55dFJlcXVlc3Q7cmV0dXJuIGI/LlBLKGQuaW5wdXQsZC5pbm5lclR1YmVSZXF1ZXN0KT9vMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBlPXlpZWxkKnAzKGszKGIuUEooZC5pbnB1dCxkLmlubmVyVHViZVJlcXVlc3QpKSksZj1jKCk7aWYoZS5wbGF5ZXJSZXNwb25zZSYmZS53YXRjaE5leHRSZXNwb25zZSl7dmFyIGg9eWllbGQqcDMoSDMoZix7d2lyZVJlc3BvbnNlOntwbGF5ZXJSZXNwb25zZTplLnBsYXllclJlc3BvbnNlfSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZS5wbGF5ZXJSZXNwb25zZX0pKTtoPXlpZWxkKnAzKEgzKGYsCnt3aXJlUmVzcG9uc2U6e3dhdGNoTmV4dFJlc3BvbnNlOmUud2F0Y2hOZXh0UmVzcG9uc2V9LHl0UmVxdWVzdDphLnl0UmVxdWVzdCxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFjayxyZXNwb25zZVBheWxvYWQ6e3R5cGU6IlBBR0VfQ09OVFJBQ1QifSxleHRyYWN0ZWRSZXNwb25zZTplLndhdGNoTmV4dFJlc3BvbnNlfSkpfWVsc2UgaD15aWVsZCpwMyhIMyhmLHt3aXJlUmVzcG9uc2U6ZSx5dFJlcXVlc3Q6YS55dFJlcXVlc3QsY2h1bmtDYWxsYmFjazphLmNodW5rQ2FsbGJhY2sscmVzcG9uc2VQYXlsb2FkOnt0eXBlOiJQQUdFX0NPTlRSQUNUIn0sZXh0cmFjdGVkUmVzcG9uc2U6ZX0pKTtmPWguY29udGVudHx8aC5wbGF5ZXJ8fGguZG47aC50eXBlPT09IlBBR0VfQ09OVFJBQ1QiJiZmJiYoZT1mKTtyZXR1cm57bmV4dFN0YXRlOiJET05FIix2YWx1ZTplfX0oKX0pOmszKHtuZXh0U3RhdGU6IkNPTlRFWFQiLHBhcmFtczphfSl9fTtRM1tfLkxuXT1bYTQsXy5Jbih4NSldO3ZhciBSMz1jbGFzcyBleHRlbmRzIHU1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5qPWF9ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3ZhciBiPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKigpe3RyeXt2YXIgYz15aWVsZCpwMyhkdWEoYixhLmNvbW1hbmQsISFhLmNodW5rQ2FsbGJhY2spKX1jYXRjaChkKXtyZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOmR9fXJldHVybihjPWMuRChhLmNvbW1hbmQsYS5mb3JtLGEuaWRlbnRpdHkpKT97bmV4dFN0YXRlOiJDQUNIRSIscGFyYW1zOnt5dFJlcXVlc3Q6YyxjaHVua0NhbGxiYWNrOmEuY2h1bmtDYWxsYmFja319OntuZXh0U3RhdGU6IkZBSUxFRCIsZXJyb3I6RXJyb3IoIlBlIil9fSgpfSl9fTtSM1tfLkxuXT1bdTRdO3ZhciBTMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIHtpbm5lclR1YmVSZXF1ZXN0OmIsYXBpUGF0aDpjLGNsaWNrVHJhY2tpbmdQYXJhbXM6ZCxjb25maWc6ZT17UmQ6e2lkZW50aXR5OkEzfX0saW5jbHVkZUN1cnJlbnRTY3JlZW5Ob25jZTpmPSEwLGNodW5rQ2FsbGJhY2s6aH09YTtiLmNvbnRleHR8fChiLmNvbnRleHQ9dzMoZCxmKSk7dmFyIGs9WDAoWTAoYykpO3JldHVybntuZXh0U3RhdGU6IkNBQ0hFIixwYXJhbXM6e3l0UmVxdWVzdDp7aW5wdXQ6ayx3YjpaMChrKSxpbm5lclR1YmVSZXF1ZXN0OmIsY29uZmlnOmV9LGNodW5rQ2FsbGJhY2s6aH19fSgpfSl9fTt2YXIgVjM9Y2xhc3MgZXh0ZW5kcyB0NXt9O1YzW18uTG5dPVtVM107dmFyIFQzPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLnl0UmVxdWVzdCxjPWEuZXJyb3IsZD1hLmF0dGVtcHQsZT1hLmNodW5rQ2FsbGJhY2ssZj1iLmNvbmZpZz8uREs7aWYoIShmJiZjIGluc3RhbmNlb2YgeTUmJkczKGMudHlwZSkpfHxkPihmLm1heFJldHJpZXM/PzApKXJldHVybntuZXh0U3RhdGU6IkZBTExCQUNLIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZX19O3ZhciBoPShjPWYuWEgpP2MuY0ooZCk6LTE7aD09PS0xJiYoaD0xRTMpO2YuQ3khPT12b2lkIDAmJihoPU1hdGgubWluKGgsZi5DeSkpO3lpZWxkKnAzKGszKG5ldyBQcm9taXNlKGs9PntfLk50KGssaCl9KSkpO3JldHVybntuZXh0U3RhdGU6IkZFVENIIixwYXJhbXM6e3l0UmVxdWVzdDpiLGNodW5rQ2FsbGJhY2s6ZSxhdHRlbXB0OmR9fX0oKX0pfX07dmFyIFczPWNsYXNzIGV4dGVuZHMgdTV7ZXhlY3V0ZShhKXtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYj1hLmNodW5rQ2FsbGJhY2ssYz1hLnJlc3BvbnNlUGF5bG9hZCxkPWEud2lyZVJlc3BvbnNlO2ImJihiKGMpLCJwbGF5ZXJSZXNwb25zZSJpbiBkJiZkLnBsYXllclJlc3BvbnNlJiYoXy5DaygpLChiPV8uc2EoInl0LnNjaGVkdWxlci5pbnN0YW5jZS5zZXRQcmlvcml0eVRocmVzaG9sZCIpKSYmYig0KSkpO3JldHVybntuZXh0U3RhdGU6IkRPTkUiLHZhbHVlOmN9fSgpfSl9fTt2YXIgbndhPVsidHlwZS5nb29nbGVhcGlzLmNvbS95b3V0dWJlLmFwaS5wZmlpbm5lcnR1YmUuWW91dHViZUFwaUlubmVydHViZS5Ccm93c2VSZXNwb25zZSIsInR5cGUuZ29vZ2xlYXBpcy5jb20veW91dHViZS5hcGkucGZpaW5uZXJ0dWJlLllvdXR1YmVBcGlJbm5lcnR1YmUuUGxheWVyUmVzcG9uc2UiLCJ0eXBlLmdvb2dsZWFwaXMuY29tL3lvdXR1YmUuYXBpLnBmaWlubmVydHViZS5Zb3V0dWJlQXBpSW5uZXJ0dWJlLlBhbmVsUmVzcG9uc2UiXSxYMz1jbGFzcyBleHRlbmRzIHU1e2V4ZWN1dGUoYSl7cmV0dXJuIG8zKHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24qKCl7dmFyIGI9YS5vbmVQbGF0Zm9ybUVycm9yO2lmKGImJiJkZXRhaWxzImluIGImJmIuZGV0YWlscyl7Yj1iLmRldGFpbHM7Zm9yKGxldCBjIG9mIGIpaWYoKGI9Y1siQHR5cGUiXSkmJm53YS5pbmRleE9mKGIpPi0xKXJldHVybiBkZWxldGUgY1siQHR5cGUiXSx7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIiwKcGFyYW1zOnsuLi5hLGV4dHJhY3RlZFJlc3BvbnNlOmN9fX1yZXR1cm57bmV4dFN0YXRlOiJGQUlMRUQiLGVycm9yOkVycm9yKCJTZSIpfX0oKX0pfX07dmFyIFkzPWNsYXNzIGV4dGVuZHMgdTV7Y29uc3RydWN0b3IoYSl7c3VwZXIoKTt0aGlzLmo9YX1leGVjdXRlKGEpe3ZhciBiPXRoaXMuajtyZXR1cm4gbzModGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiooKXt2YXIgYz1hLmV4dHJhY3RlZFJlc3BvbnNlLGQ9YS55dFJlcXVlc3QsZT1hLnJlc3BvbnNlUGF5bG9hZCxmPWEud2lyZVJlc3BvbnNlO2lmKGMmJiEoImNvZGUiaW4gY3x8ImVycm9yImluIGMpJiYhYy5zZXF1ZW5jZU1ldGFEYXRhPy5za2lwUHJvY2Vzc2luZylmb3IobGV0IGggb2YgRjMpYltoXSYmYltoXS5oYW5kbGVSZXNwb25zZShjLGQpO2Yud2F0Y2hOZXh0UmVzcG9uc2V8fGYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlP2Yud2F0Y2hOZXh0UmVzcG9uc2U/ZS5jb250ZW50PWYud2F0Y2hOZXh0UmVzcG9uc2U6ZS5jb250ZW50PWYucmVlbEl0ZW1XYXRjaFJlc3BvbnNlOmYucGxheWVyUmVzcG9uc2U/ZS5wbGF5ZXI9Zi5wbGF5ZXJSZXNwb25zZTpmLnJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2U/CmUuZG49Zi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmUuY29udGVudD1mO3JldHVybntuZXh0U3RhdGU6IkNBTExCQUNLX0RJU1BBVENIRVIiLHBhcmFtczphfX0oKX0pfX07WTNbXy5Mbl09W18uSnldO3ZhciBiND1jbGFzcyBleHRlbmRzIHQ1e307YjRbXy5Mbl09WyQzXTt2YXIgWjM9Y2xhc3MgZXh0ZW5kcyB1NXtleGVjdXRlKGEpe3JldHVybiBvMyh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKigpe3ZhciBiPWEud2lyZVJlc3BvbnNlLGM7QXJyYXkuaXNBcnJheShiKT9jPWJbMF06dHlwZW9mIGI9PT0ib2JqZWN0IiYmYiE9PW51bGwmJigicGxheWVyUmVzcG9uc2UiaW4gYnx8IndhdGNoTmV4dFJlc3BvbnNlImluIGJ8fCJyZWVsSXRlbVdhdGNoUmVzcG9uc2UiaW4gYnx8InJlZWxXYXRjaFNlcXVlbmNlUmVzcG9uc2UiaW4gYik/Yz1iLnBsYXllclJlc3BvbnNlfHxiLndhdGNoTmV4dFJlc3BvbnNlfHxiLnJlZWxJdGVtV2F0Y2hSZXNwb25zZXx8Yi5yZWVsV2F0Y2hTZXF1ZW5jZVJlc3BvbnNlOmM9YjtyZXR1cm4gYyYmImVycm9yImluIGM/e25leHRTdGF0ZToiRVJST1JfVU5QQUNLRVIiLHBhcmFtczp7Li4uYSxvbmVQbGF0Zm9ybUVycm9yOmMuZXJyb3J9fTp7bmV4dFN0YXRlOiJQUk9DRVNTX1JFU1BPTlNFIixwYXJhbXM6ey4uLmEsZXh0cmFjdGVkUmVzcG9uc2U6Y319fSgpfSl9fTt2YXIgb3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBpd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxkd2EpfHx2b2lkIDB9aihhLGIsYz17fSl7Yi5jaGFubmVsSWRzJiYoYS5jaGFubmVsSWRzPWIuY2hhbm5lbElkcyk7Yi5zaWxvTmFtZSYmKGEuc2lsb05hbWU9Yi5zaWxvTmFtZSk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yy5ib3RndWFyZFJlc3BvbnNlJiYoYS5ib3RndWFyZFJlc3BvbnNlPWMuYm90Z3VhcmRSZXNwb25zZSk7Yy5mZWF0dXJlJiYoYS5jbGllbnRGZWF0dXJlPWMuZmVhdHVyZSl9fTt2YXIgcHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBqd2F9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLkR5KXx8dm9pZCAwfWooYSxiKXtiLmNoYW5uZWxJZHMmJihhLmNoYW5uZWxJZHM9Yi5jaGFubmVsSWRzKTtiLnNpbG9OYW1lJiYoYS5zaWxvTmFtZT1iLnNpbG9OYW1lKTtiLnBhcmFtcyYmKGEucGFyYW1zPWIucGFyYW1zKX19O3ZhciB6NT1jbGFzcyBleHRlbmRzIHc1e2NvbnN0cnVjdG9yKGEpe3N1cGVyKCk7dGhpcy5JPWF9digpe3JldHVybiBld2F9byhhKXtyZXR1cm4gXy5CKGEsXy5aeil8fF8uQihhLF8uTWFhKXx8Xy5CKGEsXy5Zeil9aihhLGIpe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtiLmNsaWVudFBhcmFtSWRlbnRpZmllciYmdGhpcy5JPy5qKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSYmKGEuY2xpZW50UGFyYW1zPXRoaXMuSS5vKGIuY2xpZW50UGFyYW1JZGVudGlmaWVyKSl9fTt6NVtfLkxuXT1bbmV3IF8uVnMoIlNIQVJFX0NMSUVOVF9QQVJBTVNfUFJPVklERVJfVE9LRU4iKV07dmFyIHF3YT1jbGFzcyBleHRlbmRzIHc1e3YoKXtyZXR1cm4gcTV9Z2V0IEIoKXtyZXR1cm4hMH1vKGEpe3JldHVybiBfLkIoYSxfLlV6KXx8dm9pZCAwfWooYSxiLGMpe2EuZmVlZGJhY2tUb2tlbnM9W107Yi5mZWVkYmFja1Rva2VuJiZhLmZlZWRiYWNrVG9rZW5zLnB1c2goYi5mZWVkYmFja1Rva2VuKTtpZihiPWIuY3BufHxjLmNwbilhLmZlZWRiYWNrQ29udGV4dD17Y3BuOmJ9O2EuaXNGZWVkYmFja1Rva2VuVW5lbmNyeXB0ZWQ9ISFjLmlzX2ZlZWRiYWNrX3Rva2VuX3VuZW5jcnlwdGVkO2Euc2hvdWxkTWVyZ2U9ITE7Yy5leHRyYV9mZWVkYmFja190b2tlbnMmJihhLnNob3VsZE1lcmdlPSEwLGEuZmVlZGJhY2tUb2tlbnM9YS5mZWVkYmFja1Rva2Vucy5jb25jYXQoYy5leHRyYV9mZWVkYmFja190b2tlbnMpKX19O3ZhciByd2E9Y2xhc3MgZXh0ZW5kcyB3NXt2KCl7cmV0dXJuIHE1fW8oYSl7cmV0dXJuIF8uQihhLF8uQ3kpfWdldCBCKCl7cmV0dXJuITB9aihhLGIpe2IudW5kb1Rva2VuJiYoYS5mZWVkYmFja1Rva2Vucz1bYi51bmRvVG9rZW5dKTtiLmlzVW5kb1Rva2VuVW5lbmNyeXB0ZWQmJihhLmlzRmVlZGJhY2tUb2tlblVuZW5jcnlwdGVkPWIuaXNVbmRvVG9rZW5VbmVuY3J5cHRlZCl9fTt2YXIgc3dhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBnd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5CeSl8fHZvaWQgMH1qKGEsYil7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5zZWNvbmRhcnlQYXJhbXMmJihhLnNlY29uZGFyeVBhcmFtcz1iLnNlY29uZGFyeVBhcmFtcyl9fTt2YXIgdHdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBod2F9byhhKXtyZXR1cm4gXy5CKGEsXy5Beil8fHZvaWQgMH1qKGEsYil7Yi5hY3Rpb25zJiYoYS5hY3Rpb25zPWIuYWN0aW9ucyk7Yi5wYXJhbXMmJihhLnBhcmFtcz1iLnBhcmFtcyk7Yi5wbGF5bGlzdElkJiYoYS5wbGF5bGlzdElkPWIucGxheWxpc3RJZCl9fTt2YXIgdXdhPWNsYXNzIGV4dGVuZHMgdzV7digpe3JldHVybiBmd2F9byhhKXtyZXR1cm4gXy5CKGEsXy5OYWEpfWooYSxiLGM9e30pe2Iuc2VyaWFsaXplZFNoYXJlRW50aXR5JiYoYS5zZXJpYWxpemVkU2hhcmVkRW50aXR5PWIuc2VyaWFsaXplZFNoYXJlRW50aXR5KTtjLmluY2x1ZGVMaXN0SWQmJihhLmluY2x1ZGVMaXN0SWQ9ITApfX07dmFyIHZ3YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIsYyl7dGhpcy5yZXF1ZXN0S2V5PWE7dGhpcy5CPWI7dGhpcy5vPWM7dGhpcy5EPSgpPT5uZXcgWE1MSHR0cFJlcXVlc3Q7dGhpcy5qPXZvaWQgMDt0aGlzLnY9W119Z2V0TGF0ZXN0Q2hhbGxlbmdlUmVzcG9uc2UoKXtyZXR1cm4gdGhpcy5vfX07dmFyIG91YT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaj0wO3RoaXMuWGc9Yj8uWGc/P3dpbmRvdzt0aGlzLnltPWI/LnltO3RoaXMucmVxdWVzdEtleT1iPy5yZXF1ZXN0S2V5Pz8oXy50aigicGFyX2Jpcl9rZXkiKXx8Ik80M3owZHBqaGdYMjBTQ3g0S0FvIik7dGhpcy5Icz1iPy5Icz8/KGQ9Pm5ldyBxMihkKSk7dmFyIGM9Yj8uVkk/PygoZCxlLGYpPT5uZXcgdndhKGQsZSxmKSk7dGhpcy5iZ0NoYWxsZW5nZT1TMihhLmJnQ2hhbGxlbmdlKTt0aGlzLnR0bFNlY29uZHM9VTIoVDIoYS5jaGFsbGVuZ2V8fCIiKSk7dGhpcy5vZD1jKHRoaXMucmVxdWVzdEtleSxfLngoInBhcl9hdF9lcCIpP1sid3d3LnlvdXR1YmUuY29tIiwibS55b3V0dWJlLmNvbSJdLmluY2x1ZGVzKF8udS5sb2NhdGlvbi5ob3N0bmFtZSk/Ii9hcGkvam5uL3YxL0dlbmVyYXRlSVQiOiJodHRwczovL2pubi1wYS5nb29nbGVhcGlzLmNvbS8kcnBjL2dvb2dsZS5pbnRlcm5hbC53YWEudjEuV2FhL0dlbmVyYXRlSVQiOgoiaHR0cHM6Ly9qbm4tcGEuZ29vZ2xlYXBpcy5jb20vJHJwYy9nb29nbGUuaW50ZXJuYWwud2FhLnYxLldhYS9HZW5lcmF0ZUlUIixhKTt0aGlzLkpzPWI/LkpzO251YSh0aGlzLm9kKTt0aGlzLkdyPWI/LkdyPz8oZD0+e18uU2UodGhpcy5YZy5kb2N1bWVudCwidmlzaWJpbGl0eWNoYW5nZSIsKCk9Pnt0aGlzLlhnLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIiYmZCgpfSl9KX12KCl7RGF0ZS5ub3coKT50aGlzLmordGhpcy50dGxTZWNvbmRzKjFFMyYmdGhpcy52bT8uVSgpfX07dmFyIHV1YT1bInd3dy55b3V0dWJlLW5vY29va2llLmNvbSIsInd3dy55b3V0dWJlZWR1Y2F0aW9uLmNvbSIsInlvdXR1YmUuZ29vZ2xlYXBpcy5jb20iXSx3d2E9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlPTE7dGhpcy52bT1udWxsO3RoaXMuaj12b2lkIDB9aW5pdGlhbGl6ZShhLGIsYyxkKXt0aGlzLmo9ZDtpZihhLnByb2dyYW0pe3ZhciBlO2Q9YS5pbnRlcnByZXRlclVybD8/bnVsbDthLmludGVycHJldGVyU2FmZVNjcmlwdD9lPVlfKGEuaW50ZXJwcmV0ZXJTYWZlU2NyaXB0KTplPWEuaW50ZXJwcmV0ZXJTY3JpcHQ/P251bGw7YS5pbnRlcnByZXRlclNhZmVVcmwmJihkPV8uaHcoYS5pbnRlcnByZXRlclNhZmVVcmwpLnRvU3RyaW5nKCkpO3R1YSh0aGlzLGUsZCxhLnByb2dyYW0sYixjKX1lbHNlIF8uSXAoRXJyb3IoIlVlIikpfWlzSW5pdGlhbGl6ZWQoKXtyZXR1cm4gdGhpcy52KCl9Z2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5zdGF0ZX1pc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy5zdGF0ZT09PQoyfWludm9rZShhPXt9KXtyZXR1cm4gdGhpcy52KCk/dGhpcy5CKHtLYzphfSk6bnVsbH1kaXNwb3NlKCl7dGhpcy5vKG51bGwpO3RoaXMuUyg4KX12KCl7cmV0dXJuISF0aGlzLnZtfUIoYSl7cmV0dXJuIHRoaXMudm0uWHIoYSl9byhhKXtfLlpkKHRoaXMudm0pO3RoaXMudm09YX1TKGEpe3RoaXMuc3RhdGU9YX19O3ZhciB4d2E9Y2xhc3MgZXh0ZW5kcyB3d2F7byhhKXttNCgpPy5iZ3ZtYSgpO2lmKGEpe2xldCBiPXtiZ3ZtYTphLmRpc3Bvc2UuYmluZChhKSxiZ3ZtYjphLnNuYXBzaG90LmJpbmQoYSksYmd2bWM6YS5Yci5iaW5kKGEpfTtfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLGIpO18uRmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsYz0+YS5zbmFwc2hvdChjKSl9ZWxzZSBfLnJhKCJ5dC5hYnVzZS5wbGF5ZXJBdHRMb2FkZXIiLG51bGwpLF8ucmEoInl0LmFidXNlLnBsYXllckF0dExvYWRlclJ1biIsbnVsbCl9digpe3JldHVybiEhbTQoKX1CKGEpe3JldHVybiBtNCgpLmJndm1jKGEpfX07dmFyIHl3YT1jbGFzcyBleHRlbmRzIF8uV3N7Y29uc3RydWN0b3IoKXtzdXBlcigiZG9jdW1lbnRfYWN0aXZlIik7dGhpcy52PTEwO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF9hY3RpdmUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIsYWN0aW9uOnRoaXMuWX0se2Zyb206ImRvY3VtZW50X2FjdGl2ZSIsdG86ImRvY3VtZW50X2Rpc3Bvc2VkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZmx1c2hfbG9ncyIsYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJmbHVzaF9sb2dzIiwKYWN0aW9uOnRoaXMuSX0se2Zyb206ImRvY3VtZW50X2Rpc3Bvc2VkIix0bzoiZG9jdW1lbnRfYWN0aXZlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZGlzcG9zZWQiLHRvOiJkb2N1bWVudF9kaXNwb3NlZCIsYWN0aW9uOigpPT57fX0se2Zyb206ImZsdXNoX2xvZ3MiLHRvOiJkb2N1bWVudF9hY3RpdmUiLGFjdGlvbjp0aGlzLkR9XTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLGE9Pnt0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIix7ZXZlbnQ6YX0pO2EucGVyc2lzdGVkPT09ITEmJih0aGlzLm89bmV3IE1hcCl9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9kaXNwb3NlZF9wcmV2ZW50YWJsZSIse2V2ZW50OmF9KX0pfVkoYSxiKXtpZighdGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWRfcHJldmVudGFibGUiKSYmKGEoYj8uZXZlbnQpLGI/LmV2ZW50Py5kZWZhdWx0UHJldmVudGVkfHwKYj8uZXZlbnQ/LnJldHVyblZhbHVlKSl7Yi5ldmVudC5yZXR1cm5WYWx1ZXx8KGIuZXZlbnQucmV0dXJuVmFsdWU9ITApO2IuZXZlbnQuZGVmYXVsdFByZXZlbnRlZHx8Yi5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO3RoaXMubz1uZXcgTWFwO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIik7cmV0dXJufXRoaXMuby5zZXQoImRvY3VtZW50X2Rpc3Bvc2VkX3ByZXZlbnRhYmxlIiwhMCk7dGhpcy5vLmdldCgiZG9jdW1lbnRfZGlzcG9zZWQiKT90aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKTp0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2Rpc3Bvc2VkIil9SyhhLGIpe3RoaXMuby5nZXQoImRvY3VtZW50X2Rpc3Bvc2VkIik/dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9hY3RpdmUiKTooYShiPy5ldmVudCksdGhpcy5vLnNldCgiZG9jdW1lbnRfZGlzcG9zZWQiLCEwKSx0aGlzLnRyYW5zaXRpb24oImZsdXNoX2xvZ3MiKSl9SShhLGIpe2EoYj8uZXZlbnQpO3RoaXMudHJhbnNpdGlvbigiZG9jdW1lbnRfYWN0aXZlIil9RCgpe3RoaXMubz0KbmV3IE1hcH19O3ZhciB6d2E9Y2xhc3MgZXh0ZW5kcyBfLldze2NvbnN0cnVjdG9yKCl7c3VwZXIoImRvY3VtZW50X3Zpc2liaWxpdHlfdW5rbm93biIpO3RoaXMudHJhbnNpdGlvbnM9W3tmcm9tOiJkb2N1bWVudF92aXNpYmlsaXR5X3Vua25vd24iLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJpbGl0eV91bmtub3duIix0bzoiZG9jdW1lbnRfYmFja2dyb3VuZGVkIixhY3Rpb246dGhpcy5LfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X3Zpc2libGUiLHRvOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLAphY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfdmlzaWJsZSIsdG86ImRvY3VtZW50X3Zpc2libGUiLGFjdGlvbjp0aGlzLkR9LHtmcm9tOiJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfaGlkZGVuIixhY3Rpb246dGhpcy5vfSx7ZnJvbToiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIix0bzoiZG9jdW1lbnRfZm9yZWdyb3VuZGVkIixhY3Rpb246dGhpcy5JfSx7ZnJvbToiZG9jdW1lbnRfaGlkZGVuIix0bzoiZG9jdW1lbnRfdmlzaWJsZSIsYWN0aW9uOnRoaXMuRH0se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2JhY2tncm91bmRlZCIsYWN0aW9uOnRoaXMuS30se2Zyb206ImRvY3VtZW50X2hpZGRlbiIsdG86ImRvY3VtZW50X2hpZGRlbiIsYWN0aW9uOnRoaXMub30se2Zyb206ImRvY3VtZW50X2JhY2tncm91bmRlZCIsdG86ImRvY3VtZW50X2hpZGRlbiIsCmFjdGlvbjp0aGlzLm99LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLGFjdGlvbjp0aGlzLkt9LHtmcm9tOiJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHRvOiJkb2N1bWVudF92aXNpYmxlIixhY3Rpb246dGhpcy5EfV07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsYT0+e2RvY3VtZW50LnZpc2liaWxpdHlTdGF0ZT09PSJ2aXNpYmxlIj90aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X3Zpc2libGUiLHtldmVudDphfSk6dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9oaWRkZW4iLHtldmVudDphfSl9KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIixhPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiLHtldmVudDphfSl9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLAphPT57dGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9mb3JlZ3JvdW5kZWQiLHtldmVudDphfSl9KSl9RChhLGIpe2EoYj8uZXZlbnQpO18ueCgidmlzaWJpbGl0eV9saWZlY3ljbGVzX2R5bmFtaWNfYmFja2dyb3VuZGluZyIpJiZ0aGlzLnRyYW5zaXRpb24oImRvY3VtZW50X2ZvcmVncm91bmRlZCIpfW8oYSxiKXthKGI/LmV2ZW50KTtfLngoInZpc2liaWxpdHlfbGlmZWN5Y2xlc19keW5hbWljX2JhY2tncm91bmRpbmciKSYmdGhpcy50cmFuc2l0aW9uKCJkb2N1bWVudF9iYWNrZ3JvdW5kZWQiKX1LKGEsYil7YShiPy5ldmVudCl9SShhLGIpe2EoYj8uZXZlbnQpfX07dmFyIEF3YT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMuQj1uZXcgeXdhO3RoaXMuRD1uZXcgendhfWluc3RhbGwoLi4uYSl7YS5mb3JFYWNoKGI9Pnt0aGlzLkIuaW5zdGFsbChiKX0pO2EuZm9yRWFjaChiPT57dGhpcy5ELmluc3RhbGwoYil9KX19O3ZhciBPND1jbGFzcyBleHRlbmRzIEF3YXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7dGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5qfX0pO18ueCgiY29tYmluZV92ZV9ncmFmdHMiKSYmdGhpcy5pbnN0YWxsKHtkb2N1bWVudF9kaXNwb3NlZDp7Y2FsbGJhY2s6dGhpcy5vfX0pO3RoaXMuaW5zdGFsbCh7Zmx1c2hfbG9nczp7Y2FsbGJhY2s6dGhpcy52fX0pO18ueCgid2ViX2xvZ19jZmdfY2VlX2tzIil8fF8uWWoodnVhKX12KCl7Xy5FcCgiZmluYWxQYXlsb2FkIix7Y3NuOl8uaXEoKX0pfWooKXtfLm15KF8uRXkpO18uRnkhPW51bGwmJl8uRnkuZmx1c2goKX1vKCl7Xy5reChfLmh4KCkpfX07dmFyIG40PWNsYXNzIGV4dGVuZHMgXy5Yantjb25zdHJ1Y3RvcihhLC4uLmIpe3N1cGVyKGEsYik7dGhpcy5lcnJvclR5cGU9MTtPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcyxuZXcudGFyZ2V0LnByb3RvdHlwZSl9fTt2YXIgczQ9Y2xhc3N7Y29uc3RydWN0b3IoYSl7dGhpcy5qPWF9YXN5bmMgZmV0Y2goYSxiLGMsZCl7YT13dWEodGhpcyxhLGIpO3RyeXtsZXQgZT1hd2FpdCBmZXRjaChhKTtpZihkJiZlLm9rJiZlLmJvZHkmJnR5cGVvZiBlLmJvZHkuZ2V0UmVhZGVyPT09ImZ1bmN0aW9uIil7bGV0IGY9ZS5jbG9uZSgpLmJvZHkuZ2V0UmVhZGVyKCkse3ZhbHVlOmh9PWF3YWl0IGYucmVhZCgpO2YuY2FuY2VsKCkuY2F0Y2goKCk9Pnt9KTtpZihoJiZoWzBdPT09OTEpe2xldCBrPWUuYm9keS5waXBlVGhyb3VnaChuZXcgVGV4dERlY29kZXJTdHJlYW0pLmdldFJlYWRlcigpO3JldHVybiBvNCh0aGlzLGssbmV3IHoyLFtdLGQpfX1yZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVSZXNwb25zZShlLGMpfWNhdGNoKGUpe2lmKF8uSXAoZSksYz8uUHYmJmUgaW5zdGFuY2VvZiBuNCYmZS5lcnJvclR5cGU9PT0xKXRocm93IGU7fX1oYW5kbGVSZXNwb25zZShhLGIpe3ZhciBjPWEudGV4dCgpLnRoZW4oZD0+e2lmKGI/Lmd5JiYKYS5vaylyZXR1cm4gXy5YeChiLmd5LGQpO2Q9ZC5yZXBsYWNlKCIpXX0nIiwiIik7aWYoYj8uUHYmJmQpdHJ5e3ZhciBlPUpTT04ucGFyc2UoZCl9Y2F0Y2goZil7dGhyb3cgbmV3IG40KCJKU09OIHBhcnNpbmcgZmFpbGVkIGFmdGVyIGZldGNoIik7fXJldHVybiBlPz9KU09OLnBhcnNlKGQpfSk7YS5yZWRpcmVjdGVkfHxhLm9rP3RoaXMuaiYmdGhpcy5qLnN1Y2Nlc3MoKToodGhpcy5qJiZ0aGlzLmouU0koKSxjPWMudGhlbihkPT57Xy5JcChuZXcgXy5YaigiRXJyb3I6IEFQSSBmZXRjaCBmYWlsZWQiLGEuc3RhdHVzLGEudXJsLGQpKTtyZXR1cm57Li4uZCxlcnJvck1ldGFkYXRhOntzdGF0dXM6YS5zdGF0dXN9fX0pKTtyZXR1cm4gY319O3M0W18uTG5dPVtfLkluKG5ldyBfLlZzKCJORVRXT1JLX1NMSV9UT0tFTiIpKV07dmFyIHA0PWNsYXNze3N0YXRpYyBqYygpe3ZhciBhPV8uc2EoInl0Z2xvYmFsLnN0b3JhZ2VfIik7YXx8KGE9bmV3IHA0LF8ucmEoInl0Z2xvYmFsLnN0b3JhZ2VfIixhKSk7cmV0dXJuIGF9YXN5bmMgZXN0aW1hdGUoKXt2YXIgYT1uYXZpZ2F0b3I7aWYoYS5zdG9yYWdlPy5lc3RpbWF0ZSlyZXR1cm4gYS5zdG9yYWdlLmVzdGltYXRlKCk7aWYoYS53ZWJraXRUZW1wb3JhcnlTdG9yYWdlPy5xdWVyeVVzYWdlQW5kUXVvdGEpcmV0dXJuIHh1YSgpfWFzeW5jIHBlcnNpc3QoKXt2YXIgYT1uYXZpZ2F0b3I7cmV0dXJuIGEuc3RvcmFnZT8ucGVyc2lzdD9hd2FpdCBhLnN0b3JhZ2U/LnBlcnNpc3QoKT8iUEVSU0lTVEVEX1NUQVRFX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX0dSQU5URUQiOiJQRVJTSVNURURfU1RBVEVfTk9UX1NVUFBPUlRFRCJ9fTtfLnJhKCJ5dGdsb2JhbC5zdG9yYWdlQ2xhc3NfIixwNCk7dmFyIEFyYT1jbGFzc3tjb25zdHJ1Y3RvcihhLGIpe3RoaXMuaGFuZGxlRXJyb3I9YTt0aGlzLmo9Yjt0aGlzLm89ITE7c2VsZi5kb2N1bWVudD09PXZvaWQgMHx8c2VsZi5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmV1bmxvYWQiLCgpPT57dGhpcy5vPSEwfSk7dGhpcy52PU1hdGgucmFuZG9tKCk8PS4yfUpiKGEpe3RoaXMuaGFuZGxlRXJyb3IoYSl9bG0oYSxiKXtzd2l0Y2goYSl7Y2FzZSAiSURCX0RBVEFfQ09SUlVQVEVEIjpfLngoImlkYl9kYXRhX2NvcnJ1cHRlZF9raWxsc3dpdGNoIil8fHRoaXMuaigiaWRiRGF0YUNvcnJ1cHRlZCIsYik7YnJlYWs7Y2FzZSAiSURCX1VORVhQRUNURURMWV9DTE9TRUQiOnRoaXMuaigiaWRiVW5leHBlY3RlZGx5Q2xvc2VkIixiKTticmVhaztjYXNlICJJU19TVVBQT1JURURfQ09NUExFVEVEIjpfLngoImlkYl9pc19zdXBwb3J0ZWRfY29tcGxldGVkX2tpbGxzd2l0Y2giKXx8dGhpcy5qKCJpZGJJc1N1cHBvcnRlZENvbXBsZXRlZCIsYik7YnJlYWs7CmNhc2UgIlFVT1RBX0VYQ0VFREVEIjp5dWEodGhpcyxiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9FTkRFRCI6dGhpcy52JiZNYXRoLnJhbmRvbSgpPD0uMSYmdGhpcy5qKCJpZGJUcmFuc2FjdGlvbkVuZGVkIixiKTticmVhaztjYXNlICJUUkFOU0FDVElPTl9VTkVYUEVDVEVETFlfQUJPUlRFRCI6dGhpcy5qKCJpZGJUcmFuc2FjdGlvbkFib3J0ZWQiLHsuLi5iLGhhc1dpbmRvd1VubG9hZGVkOnRoaXMub30pfX19O3ZhciBBNT0hMTt2YXIgQ3VhPXtGaTp7ZmVlZGJhY2tFbmRwb2ludDp5Myhxd2EpLG1vZGlmeUNoYW5uZWxOb3RpZmljYXRpb25QcmVmZXJlbmNlRW5kcG9pbnQ6eTMoc3dhKSxwbGF5bGlzdEVkaXRFbmRwb2ludDp5Myh0d2EpLHNoYXJlRW50aXR5RW5kcG9pbnQ6eTMoejUpLHN1YnNjcmliZUVuZHBvaW50OnkzKG93YSksdW5kb0ZlZWRiYWNrRW5kcG9pbnQ6eTMocndhKSx1bnN1YnNjcmliZUVuZHBvaW50OnkzKHB3YSksd2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnQ6eTModXdhKX19O3ZhciBGdWE9bmV3IE1hcCxFdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKGEsYixjLGQsZSl7c3VwZXIoKTt0aGlzLmNvbnRhaW5lcj1hO3RoaXMud2ViUGxheWVyQ29udGV4dENvbmZpZz1iO3RoaXMuaj1jO3RoaXMuRWo9ZDt0aGlzLnBsYXllclZhcnM9ZTtKdWEodGhpcyl9bGEoKXt0aGlzLmFwaSYmdGhpcy5hcGkuZGVzdHJveSgpO1dfKHRoaXMuY29udGFpbmVyKTtzdXBlci5sYSgpfX07dmFyIEJ3YT17WyJhcGkuaW52YWxpZHBhcmFtIl06MixhdXRoOjE1MCxbImRybS5hdXRoIl06MTUwLFsiaGVhcnRiZWF0Lm5ldCJdOjE1MCxbImhlYXJ0YmVhdC5zZXJ2ZXJlcnJvciJdOjE1MCxbImhlYXJ0YmVhdC5zdG9wIl06MTUwLFsiaHRtbDUudW5zdXBwb3J0ZWRhZHMiXTo1LFsiZm10Lm5vbmVhdmFpbGFibGUiXTo1LFsiZm10LmRlY29kZSJdOjUsWyJmbXQudW5wbGF5YWJsZSJdOjUsWyJodG1sNS5taXNzaW5nYXBpIl06NSxbImh0bWw1LnVuc3VwcG9ydGVkbGl2ZSJdOjUsWyJkcm0udW5hdmFpbGFibGUiXTo1LFsibXJtLmJsb2NrZWQiXToxNTEsWyJlbWJlZGRlci5pZGVudGl0eS5kZW5pZWQiXToxNTIsWyJlbWJlZGRlci5pZGVudGl0eS5taXNzaW5nLnJlZmVycmVyIl06MTUzfTt2YXIgTHVhPW5ldyBTZXQoImVuZFNlY29uZHMgc3RhcnRTZWNvbmRzIG1lZGlhQ29udGVudFVybCBzdWdnZXN0ZWRRdWFsaXR5IHZpZGVvSWQgcmN0IHJjdG4gcGxheW11dGVkIG11dGVkX2F1dG9wbGF5X2R1cmF0aW9uX21vZGUiLnNwbGl0KCIgIikpO3ZhciBXdWE9Y2xhc3MgZXh0ZW5kcyBfLmFle2NvbnN0cnVjdG9yKCl7dmFyIGE9TDQsYj1INDtzdXBlcigpO3RoaXMuYXBpPWE7dGhpcy52PXRoaXMuTT0hMTt0aGlzLlU9W107dGhpcy5aPXt9O3RoaXMuQj1bXTt0aGlzLm89W107dGhpcy5oYT0hMTt0aGlzLnNlc3Npb25JZD10aGlzLmo9bnVsbDt0aGlzLnRhcmdldE9yaWdpbj0iKiI7dGhpcy5nYT1fLngoIndlYl9wbGF5ZXJfc3BsaXRfZXZlbnRfYnVzX2lmcmFtZSIpO3RoaXMuST1fLncoIlBPU1RfTUVTU0FHRV9PUklHSU4iKXx8YCR7ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2x9Ly8ke2RvY3VtZW50LmxvY2F0aW9uLmhvc3RuYW1lfWA7dGhpcy5EPWM9Pnt0aGlzLm9uTWVzc2FnZShjKX07QjUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5EKTtpZihhPV8udygiV0lER0VUX0lEIikpdGhpcy5zZXNzaW9uSWQ9YTtiJiZ0aGlzLkQoYik7QTQodGhpcywib25SZWFkeSIsKCk9Pnt0aGlzLk09ITA7dmFyIGM9dGhpcy5hcGkuZ2V0VmlkZW9EYXRhKCk7CmMuaXNQbGF5YWJsZXx8KHRoaXMuaGE9ITAsdGhpcy5lcnJvckNvZGU9KGM9Yy5lcnJvckNvZGUpP0J3YVtjXXx8NTo1LHRoaXMuc2VuZE1lc3NhZ2UoIm9uRXJyb3IiLE51bWJlcih0aGlzLmVycm9yQ29kZSkpKTtENCh0aGlzKTt0aGlzLmp8fHRoaXMudnx8d2luZG93LnBhcmVudD09PXdpbmRvd3x8IXRoaXMuc2Vzc2lvbklkfHxDNCh0aGlzLHtldmVudDoicmVhZHlUb0xpc3RlbiJ9LHdpbmRvdy5wYXJlbnQpfSk7QTQodGhpcywib25WaWRlb1Byb2dyZXNzIix0aGlzLmZjLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uVm9sdW1lQ2hhbmdlIix0aGlzLlZkLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uQXBpQ2hhbmdlIix0aGlzLm9hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tRdWFsaXR5Q2hhbmdlIix0aGlzLk1hLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uUGxheWJhY2tSYXRlQ2hhbmdlIix0aGlzLlFhLmJpbmQodGhpcykpO0E0KHRoaXMsIm9uU3RhdGVDaGFuZ2UiLHRoaXMuRWIuYmluZCh0aGlzKSk7CkE0KHRoaXMsIm9uV2ViZ2xTZXR0aW5nc0NoYW5nZWQiLHRoaXMuRmwuYmluZCh0aGlzKSk7QTQodGhpcywib25DYXB0aW9uc1RyYWNrTGlzdENoYW5nZWQiLHRoaXMueWEuYmluZCh0aGlzKSk7QTQodGhpcywiY2FwdGlvbnNzZXR0aW5nc2NoYW5nZWQiLHRoaXMuRmEuYmluZCh0aGlzKSl9c2VuZE1lc3NhZ2UoYSxiKXthPXtldmVudDphLGluZm86Yj09PXZvaWQgMD9udWxsOmJ9O3RoaXMudj9DNCh0aGlzLGEpOnRoaXMuVS5wdXNoKGEpfUViKGEpe2E9e3BsYXllclN0YXRlOmEsY3VycmVudFRpbWU6dGhpcy5hcGkuZ2V0Q3VycmVudFRpbWUoKSxkdXJhdGlvbjp0aGlzLmFwaS5nZXREdXJhdGlvbigpLHZpZGVvRGF0YTp0aGlzLmFwaS5nZXRWaWRlb0RhdGEoKSx2aWRlb1N0YXJ0Qnl0ZXM6MCx2aWRlb0J5dGVzVG90YWw6dGhpcy5hcGkuZ2V0VmlkZW9CeXRlc1RvdGFsKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCkscGxheWJhY2tRdWFsaXR5OnRoaXMuYXBpLmdldFBsYXliYWNrUXVhbGl0eSgpLAphdmFpbGFibGVRdWFsaXR5TGV2ZWxzOnRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSxjdXJyZW50VGltZUxhc3RVcGRhdGVkXzpEYXRlLm5vdygpLzFFMyxwbGF5YmFja1JhdGU6dGhpcy5hcGkuZ2V0UGxheWJhY2tSYXRlKCksbWVkaWFSZWZlcmVuY2VUaW1lOnRoaXMuYXBpLmdldE1lZGlhUmVmZXJlbmNlVGltZSgpfTt0aGlzLmFwaS5nZXRWaWRlb1VybCYmKGEudmlkZW9Vcmw9dGhpcy5hcGkuZ2V0VmlkZW9VcmwoKSk7dGhpcy5hcGkuZ2V0VmlkZW9Db250ZW50UmVjdCYmKGEudmlkZW9Db250ZW50UmVjdD10aGlzLmFwaS5nZXRWaWRlb0NvbnRlbnRSZWN0KCkpO3RoaXMuYXBpLmdldFByb2dyZXNzU3RhdGUmJihhLnByb2dyZXNzU3RhdGU9dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSgpKTt0aGlzLmFwaS5nZXRQbGF5bGlzdCYmKGEucGxheWxpc3Q9dGhpcy5hcGkuZ2V0UGxheWxpc3QoKSk7dGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCYmKGEucGxheWxpc3RJbmRleD0KdGhpcy5hcGkuZ2V0UGxheWxpc3RJbmRleCgpKTtFNCh0aGlzLGEpfU1hKGEpe2E9e3BsYXliYWNrUXVhbGl0eTphfTt0aGlzLmFwaS5nZXRBdmFpbGFibGVRdWFsaXR5TGV2ZWxzJiYoYS5hdmFpbGFibGVRdWFsaXR5TGV2ZWxzPXRoaXMuYXBpLmdldEF2YWlsYWJsZVF1YWxpdHlMZXZlbHMoKSk7dGhpcy5hcGkuZ2V0UHJlZmVycmVkUXVhbGl0eSYmKGEucHJlZmVycmVkUXVhbGl0eT10aGlzLmFwaS5nZXRQcmVmZXJyZWRRdWFsaXR5KCkpO0U0KHRoaXMsYSl9UWEoYSl7RTQodGhpcyx7cGxheWJhY2tSYXRlOmF9KX1vYSgpe3ZhciBhPXRoaXMuYXBpLmdldE9wdGlvbnMoKSxiPXtuYW1lc3BhY2VzOmF9O2ZvcihsZXQgYz0wLGQ9YS5sZW5ndGg7YzxkO2MrKyl7bGV0IGU9YVtjXSxmPXRoaXMuYXBpLmdldE9wdGlvbnMoZSk7YltlXT17b3B0aW9uczpmfTtmb3IobGV0IGg9MCxrPWYubGVuZ3RoO2g8aztoKyspe2xldCBsPWZbaF0sbT10aGlzLmFwaS5nZXRPcHRpb24oZSxsKTtiW2VdW2xdPQptfX10aGlzLnNlbmRNZXNzYWdlKCJhcGlJbmZvRGVsaXZlcnkiLGIpfVZkKCl7RTQodGhpcyx7bXV0ZWQ6dGhpcy5hcGkuaXNNdXRlZCgpLHZvbHVtZTp0aGlzLmFwaS5nZXRWb2x1bWUoKX0pfWZjKGEpe2E9e2N1cnJlbnRUaW1lOmEsdmlkZW9CeXRlc0xvYWRlZDp0aGlzLmFwaS5nZXRWaWRlb0J5dGVzTG9hZGVkKCksdmlkZW9Mb2FkZWRGcmFjdGlvbjp0aGlzLmFwaS5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCksY3VycmVudFRpbWVMYXN0VXBkYXRlZF86RGF0ZS5ub3coKS8xRTMscGxheWJhY2tSYXRlOnRoaXMuYXBpLmdldFBsYXliYWNrUmF0ZSgpLG1lZGlhUmVmZXJlbmNlVGltZTp0aGlzLmFwaS5nZXRNZWRpYVJlZmVyZW5jZVRpbWUoKX07dGhpcy5hcGkuZ2V0UHJvZ3Jlc3NTdGF0ZSYmKGEucHJvZ3Jlc3NTdGF0ZT10aGlzLmFwaS5nZXRQcm9ncmVzc1N0YXRlKCkpO0U0KHRoaXMsYSl9RmwoKXtFNCh0aGlzLHtzcGhlcmljYWxQcm9wZXJ0aWVzOnRoaXMuYXBpLmdldFNwaGVyaWNhbFByb3BlcnRpZXMoKX0pfXlhKCl7aWYodGhpcy5hcGkuZ2V0Q2FwdGlvblRyYWNrcyl7bGV0IGE9CntjYXB0aW9uVHJhY2tzOnRoaXMuYXBpLmdldENhcHRpb25UcmFja3MoKX07RTQodGhpcyxhKX19RmEoKXtpZih0aGlzLmFwaS5nZXRTdWJ0aXRsZXNVc2VyU2V0dGluZ3Mpe2xldCBhPXtzdWJ0aXRsZXNVc2VyU2V0dGluZ3M6dGhpcy5hcGkuZ2V0U3VidGl0bGVzVXNlclNldHRpbmdzKCl9O0U0KHRoaXMsYSl9fW9uTWVzc2FnZShhKXtpZighKHRoaXMuSSE9PSIqIiYmYS5vcmlnaW4hPT10aGlzLkl8fHRoaXMuaiYmYS5zb3VyY2UhPT10aGlzLmp8fHR5cGVvZiBhLmRhdGEhPT0ic3RyaW5nIikpe3RyeXt2YXIgYj1KU09OLnBhcnNlKGEuZGF0YSl9Y2F0Y2goZil7cmV0dXJufWlmKGIpc3dpdGNoKGIuZXZlbnQpe2Nhc2UgImxpc3RlbmluZyI6dmFyIGM9YS5zb3VyY2U7YT1hLm9yaWdpbjtiPWIuaWQ7YSE9PSJudWxsIiYmKHRoaXMuST10aGlzLnRhcmdldE9yaWdpbj1hKTt0aGlzLmo9Yzt0aGlzLnNlc3Npb25JZD1iO0Q0KHRoaXMpO2JyZWFrO2Nhc2UgImNvbW1hbmQiOmM9Yi5mdW5jOwp2YXIgZD1iLmFyZ3M7aWYoYz09PSJhZGRFdmVudExpc3RlbmVyIiYmZCliPWRbMF0sYz1hLm9yaWdpbixiPT09Im9uUmVhZHkiP3RoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyk6Yj09PSJvbkVycm9yIiYmdGhpcy5oYSYmKHRoaXMuYXBpLmxvZ0FwaUNhbGwoYCR7Yn0gaW52b2NhdGlvbmAsYyx0aGlzLmVycm9yQ29kZSksdGhpcy5lcnJvckNvZGU9dm9pZCAwKSx0aGlzLmFwaS5sb2dBcGlDYWxsKGAke2J9IHJlZ2lzdHJhdGlvbmAsYyksdGhpcy5aW2JdfHxiPT09Im9uUmVhZHkifHwoYT1NdWEodGhpcyxiLGMpLHRoaXMuby5wdXNoKHtldmVudFR5cGU6YixsaXN0ZW5lcjphLG9yaWdpbjpjfSksdGhpcy5nYT90aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoImFkZEV2ZW50TGlzdGVuZXIiLFtiLGFdLGMpOnRoaXMuYXBpLmFkZEV2ZW50TGlzdGVuZXIoYixhKSx0aGlzLlpbYl09ITApO2Vsc2UgaWYoYj1jLGM9ZCxhPWEub3JpZ2luLHRoaXMuYXBpLmlzRXh0ZXJuYWxNZXRob2RBdmFpbGFibGUoYiwKYSkpe2M9Y3x8W107aWYoYy5sZW5ndGg+MCYmeDQoYikpe3ZhciBlPWM7aWYoXy5BYShlWzBdKSYmIUFycmF5LmlzQXJyYXkoZVswXSkpZD1lWzBdO2Vsc2Ugc3dpdGNoKGQ9e30sYil7Y2FzZSAibG9hZFZpZGVvQnlJZCI6Y2FzZSAiY3VlVmlkZW9CeUlkIjpkPXk0KGVbMF0sZVsxXSE9PXZvaWQgMD9OdW1iZXIoZVsxXSk6dm9pZCAwLGVbMl0pO2JyZWFrO2Nhc2UgImxvYWRWaWRlb0J5VXJsIjpjYXNlICJjdWVWaWRlb0J5VXJsIjpkPWVbMF07dHlwZW9mIGQ9PT0ic3RyaW5nIiYmKGQ9e21lZGlhQ29udGVudFVybDpkLHN0YXJ0U2Vjb25kczplWzFdIT09dm9pZCAwP051bWJlcihlWzFdKTp2b2lkIDAsc3VnZ2VzdGVkUXVhbGl0eTplWzJdfSk7Yjp7aWYoKGU9ZC5tZWRpYUNvbnRlbnRVcmwpJiYoZT0vXC8oW3ZlXXxlbWJlZClcLyhbXiM/XSspLy5leGVjKGUpKSYmZVsyXSl7ZT1lWzJdO2JyZWFrIGJ9ZT1udWxsfWQudmlkZW9JZD1lO2Q9eTQoZCk7YnJlYWs7Y2FzZSAibG9hZFBsYXlsaXN0IjpjYXNlICJjdWVQbGF5bGlzdCI6ZD0KejQoZVswXSxlWzFdLGVbMl0sZVszXSl9Yy5sZW5ndGg9MTtjWzBdPWR9dGhpcy5hcGkuaGFuZGxlRXh0ZXJuYWxDYWxsKGIsYyxhKTt4NChiKSYmRTQodGhpcyxCNCh0aGlzKSl9fX19bGEoKXtzdXBlci5sYSgpO0I1LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHRoaXMuRCk7Zm9yKHZhciBhPTA7YTx0aGlzLkIubGVuZ3RoO2ErKyl7dmFyIGI9dGhpcy5CW2FdO3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYi5ldmVudFR5cGUsYi5saXN0ZW5lcil9dGhpcy5CPVtdO2ZvcihhPTA7YTx0aGlzLm8ubGVuZ3RoO2ErKyliPXRoaXMub1thXSx0aGlzLmdhP3RoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgicmVtb3ZlRXZlbnRMaXN0ZW5lciIsW2IuZXZlbnRUeXBlLGIubGlzdGVuZXJdLGIub3JpZ2luKTp0aGlzLmFwaS5yZW1vdmVFdmVudExpc3RlbmVyKGIuZXZlbnRUeXBlLGIubGlzdGVuZXIpO3RoaXMubz1bXX19LEI1PXdpbmRvdzt2YXIgWHVhPWNsYXNzIGV4dGVuZHMgXy5hZXtjb25zdHJ1Y3RvcihhLGIpe3ZhciBjPUw0O3N1cGVyKCk7dGhpcy5hcGk9Yzt0aGlzLmlkPWE7dGhpcy5vcmlnaW49Yjt0aGlzLmo9e307dGhpcy52PV8ueCgid2ViX3BsYXllcl9zcGxpdF9ldmVudF9idXNfaWZyYW1lIik7dGhpcy5vPWQ9Pnt0aGlzLm9uTWVzc2FnZShkKX07QzUuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdGhpcy5vKTtGNCh0aGlzLCJSRUNFSVZJTkciKX1hZGRMaXN0ZW5lcihhLGIpe2lmKCEoYSBpbiB0aGlzLmopKXt2YXIgYz10aGlzLkIuYmluZCh0aGlzLGEpO3RoaXMualthXT1jO3RoaXMuYWRkRXZlbnRMaXN0ZW5lcihhLGMsYil9fUIoYSxiKXt0aGlzLmlhKCl8fEY0KHRoaXMsYSxPdWEoYSxiKSl9cmVtb3ZlTGlzdGVuZXIoYSxiKXthIGluIHRoaXMuaiYmKHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLHRoaXMualthXSxiKSxkZWxldGUgdGhpcy5qW2FdKX1hZGRFdmVudExpc3RlbmVyKGEsYixjKXt0aGlzLnY/CmE9PT0ib25SZWFkeSI/dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpOnRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbCgiYWRkRXZlbnRMaXN0ZW5lciIsW2EsYl0sY3x8bnVsbCk6dGhpcy5hcGkuYWRkRXZlbnRMaXN0ZW5lcihhLGIpfXJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiLGMpe3RoaXMudj9hPT09Im9uUmVhZHkiP3RoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKTp0aGlzLmFwaS5oYW5kbGVFeHRlcm5hbENhbGwoInJlbW92ZUV2ZW50TGlzdGVuZXIiLFthLGJdLGN8fG51bGwpOnRoaXMuYXBpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYSxiKX1vbk1lc3NhZ2UoYSl7aWYoYS5vcmlnaW49PT10aGlzLm9yaWdpbil7dmFyIGI9YS5kYXRhO2lmKHR5cGVvZiBiPT09InN0cmluZyIpe3RyeXtiPUpTT04ucGFyc2UoYil9Y2F0Y2goZSl7cmV0dXJufWlmKGIuY29tbWFuZCl7dmFyIGM9Yi5jb21tYW5kO2I9Yi5kYXRhO2E9YS5vcmlnaW47aWYoIXRoaXMuaWEoKSl7dmFyIGQ9CmJ8fHt9O3N3aXRjaChjKXtjYXNlICJhZGRFdmVudExpc3RlbmVyIjp0eXBlb2YgZC5ldmVudD09PSJzdHJpbmciJiZ0aGlzLmFkZExpc3RlbmVyKGQuZXZlbnQsYSk7YnJlYWs7Y2FzZSAicmVtb3ZlRXZlbnRMaXN0ZW5lciI6dHlwZW9mIGQuZXZlbnQ9PT0ic3RyaW5nIiYmdGhpcy5yZW1vdmVMaXN0ZW5lcihkLmV2ZW50LGEpO2JyZWFrO2RlZmF1bHQ6dGhpcy5hcGkuaXNSZWFkeSgpJiZ0aGlzLmFwaS5pc0V4dGVybmFsTWV0aG9kQXZhaWxhYmxlKGMsYXx8bnVsbCkmJihiPVB1YShjLGJ8fHt9KSxiPXRoaXMuYXBpLmhhbmRsZUV4dGVybmFsQ2FsbChjLGIsYXx8bnVsbCksKGI9UXVhKGMsYikpJiZGNCh0aGlzLGMsYikpfX19fX19bGEoKXtDNS5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIix0aGlzLm8pO2ZvcihsZXQgYSBpbiB0aGlzLmopdGhpcy5qLmhhc093blByb3BlcnR5KGEpJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGEpO3N1cGVyLmxhKCl9fSxDNT13aW5kb3csTnVhPQp3aW5kb3cucGFyZW50O3ZhciBHND1uZXcgeHdhO3ZhciBMND1udWxsLE40PW51bGwsSjQ9KCk9Pnt9LEg0O3ZhciBUND0hMTtfLmZ0LnRoZW4oKCk9PntfLkFxKCJlcF9pbml0X2N1cyIpO2lmKCFBNSl7QTU9ITA7dmFyIGE9Xy54KCJlbmFibGVfd2l6X2NvbnRleHRfcGVyX2NvbXBvbmVudCIpfHwhMTtPYmplY3QuYXNzaWduKF8uS3Use1JpOiEwLEdwOmEsRnA6YSxHdjpfLngoIndlYl9pbmNsdWRlX2Nvd190cmFjaW5nIiksaGFuZGxlRXJyb3I6enVhfSk7QnVhKCk7Xy53dj1mc2E7Xy54dj1nc2F9YnZhKCk7Xy5BcSgiZXBfaW5pdF9lcHMiKTtfLnJhKCJ5dC5zZXRDb25maWciLF8uUWkpO18ucmEoInl0LmNvbmZpZy5zZXQiLF8uUWkpO18ucmEoInl0LnNldE1zZyIsYjEpO18ucmEoInl0Lm1zZ3Muc2V0IixiMSk7Xy5yYSgieXQubG9nZ2luZy5lcnJvcnMubG9nIixfLkdwKTtfLnJhKCJ3cml0ZUVtYmVkIixVdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5ib3RndWFyZEluaXRpYWxpemVkIixfLnNhKCJ5dC5hYnVzZS5wbGF5ZXIuYm90Z3VhcmRJbml0aWFsaXplZCIpfHxSdWEpO18ucmEoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIsCl8uc2EoInl0LmFidXNlLnBsYXllci5pbnZva2VCb3RndWFyZCIpfHxTdWEpO18ucmEoInl0LmFidXNlLmRjbGtzdGF0dXMuY2hlY2tEY2xrU3RhdHVzIixfLnNhKCJ5dC5hYnVzZS5kY2xrc3RhdHVzLmNoZWNrRGNsa1N0YXR1cyIpfHxhMyk7Xy5yYSgieXQucGxheWVyLmV4cG9ydHMubmF2aWdhdGUiLF8uc2EoInl0LnBsYXllci5leHBvcnRzLm5hdmlnYXRlIil8fEJ0YSk7Xy5yYSgieXQudXRpbC5hY3Rpdml0eS5pbml0IixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmluaXQiKXx8bDApO18ucmEoInl0LnV0aWwuYWN0aXZpdHkuZ2V0VGltZVNpbmNlQWN0aXZlIixfLnNhKCJ5dC51dGlsLmFjdGl2aXR5LmdldFRpbWVTaW5jZUFjdGl2ZSIpfHxfLkJuKTtfLnJhKCJ5dC51dGlsLmFjdGl2aXR5LnNldFRpbWVzdGFtcCIsXy5zYSgieXQudXRpbC5hY3Rpdml0eS5zZXRUaW1lc3RhbXAiKXx8ajApO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixfLlZpKFp1YSkpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsCl8uVmkoJHVhKSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIixfLlZpKGF2YSkpO2d1YSgpO1R1YSgpO18uQXEoImVwX2luaXRfZXBlIik7SjQ9Xy5ENTtfLkFxKCJlcF9pbml0X2N1ZSIpfSk7Xy5ENT0oKT0+e307Cl8uRDU9ZnVuY3Rpb24oYSl7KDAsXy5laCkoInI3OERyYiIpLnRoZW4oKCk9PnsoMCxfLnp5KShhKX0pfTsKXy5YZCgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF9iYXNlKTsKLy8gR29vZ2xlIEluYy4K"}},"time_used":38,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":12,"receive":26,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/6535.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.237Z","timestamp":1785129950237,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/6535.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 1806\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Mon, 08 May 2023 03:42:18 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Sun, 26 Jul 2026 16:40:14 GMT\r\netag: \"de7112f39c6623341a6f2e9d89ab31e6\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 45937\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: WKzX3FCcnsEUJR_enTv3EnN55geqPrnEYHjLNXQfqgUhF9Hy8v7Rzg==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":1806,"size_decoded":2340,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"de7112f39c6623341a6f2e9d89ab31e6","sha1":"fa9dd8e57b43b4f0e041a86fdcae6f9d93db1a7a","sha256":"ddc134f6755b95cfa468aebe1528788a4cb82af807a7e887ad88c986e5a3f770","sha512":"2e9f9ff3bcb43c1a828a13ce4e8ae0d42152a1a3b6fd18eb6dcb6bfa8f20aff6a088c252580d9396ad95ba018a2552200f9fc30670254cf68030ae3021cc7367","ssdeep":"","tlshash":"59312bdb4fc71fb05d640aa848041b83e60f09dfcbbb159d41a094dd86c1be253e216b","first_seen":"2023-07-14T07:00:22Z","last_seen":"2026-08-15T04:03:51.118294Z","times_seen":1547,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"s2.coinmarketcap.com/static/img/coins/64x64/27075.png","fqdn":"s2.coinmarketcap.com","domain":"coinmarketcap.com","tld":"com"},"ip":{"addr":"143.204.238.51","port":443,"asn":16509,"as":"AMAZON-02","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://coinlib.io/widget?type=horizontal_v2\u0026theme=light\u0026pref_coin_id=1505\u0026invert_hover=","date":"2026-07-27T05:25:50.252Z","timestamp":1785129950252,"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":"*.coinmarketcap.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Sun, 04 Jan 2026 00:00:00 GMT","end":"Mon, 01 Feb 2027 23:59:59 GMT"},"fingerprint":{"sha1":"32:EE:1B:94:2E:9E:3D:5C:B3:4B:8C:9C:32:97:7E:62:1A:36:CB:1D","sha256":"87:58:9A:9B:C4:87:B1:04:29:1A:77:63:C3:BD:4D:A6:C8:2D:D4:51:3A:17:BA:F3:97:B3:E8:A2:9A:46:A0:3A"}}},"request":{"raw":"GET /static/img/coins/64x64/27075.png HTTP/1.1\r\nHost: s2.coinmarketcap.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://coinlib.io/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\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/3 200 \r\ncontent-type: image/png\r\ncontent-length: 3758\r\nalt-svc: h3=\":443\"; ma=86400\r\nlast-modified: Wed, 10 Dec 2025 14:00:00 GMT\r\nx-amz-server-side-encryption: AES256\r\naccept-ranges: bytes\r\nserver: AmazonS3\r\ndate: Mon, 27 Jul 2026 02:29:46 GMT\r\ncache-control: public, max-age=86400\r\netag: \"f4b079b22916727f331f5367b109d9f3\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Hit from cloudfront\r\nage: 10565\r\nvia: 1.1 efb457127ee6c499c1028eb8a099d19a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P4\r\nx-amz-cf-id: Ml08MVVDi5D3ugCyWZ2XIbgagzrWoVmkZD97IB4CEG5wS5HNvoPIlw==\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon 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":3758,"size_decoded":4330,"mime_type":"image/png","magic":"PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced","md5":"f4b079b22916727f331f5367b109d9f3","sha1":"92bd082ede184da6675d5bb9775f5a117e54c7e0","sha256":"c518e614a3cb5f346f27e7bfb08aa84ba8ef8ab16d388ea2473e4c982ed430de","sha512":"c749679577caca715e4a4d1d16b7ea694843bf1748f7145ddc1598fb1def27447caadbfa8ae0c32dcdc055b05e04ae3dabaa85a0f17b7c9af2983ca293e2d9ef","ssdeep":"","tlshash":"10717b8de85bccd88407baf040bf942932ce497a4d21831f324b3a598f1270963fa31a","first_seen":"2026-03-04T08:47:10.842758Z","last_seen":"2026-08-15T04:03:51.08237Z","times_seen":1503,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.gstatic.com/youtube/img/icons/mweb/youtube_fill/logo/v2/67px.svg","fqdn":"www.gstatic.com","domain":"gstatic.com","tld":"com"},"ip":{"addr":"142.250.178.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.youtube.com/embed/H7OiZO_9ahE","date":"2026-07-27T05:25:50.897Z","timestamp":1785129950897,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.gstatic.com","organization":""},"issuer":{"commonName":"WE2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:39:25 GMT","end":"Mon, 21 Sep 2026 08:39:24 GMT"},"fingerprint":{"sha1":"4E:F2:73:C6:27:16:58:35:FE:55:D5:30:6B:E8:6D:2B:DA:B0:E8:7B","sha256":"82:EF:6A:61:96:A5:23:D6:2C:2C:9D:77:67:04:D8:7B:3B:6A:50:DA:3C:6C:6A:5F:4E:2D:55:F3:FC:DA:0B:EE"}}},"request":{"raw":"GET /youtube/img/icons/mweb/youtube_fill/logo/v2/67px.svg HTTP/1.1\r\nHost: www.gstatic.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.youtube.com/\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccept-ranges: bytes\r\ncontent-encoding: br\r\naccess-control-allow-origin: https://www.youtube.com\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"youtube\"\r\nreport-to: {\"group\":\"youtube\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/youtube\"}]}\r\ncontent-length: 272\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 20 Jul 2026 10:01:47 GMT\r\nexpires: Tue, 20 Jul 2027 10:01:47 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Wed, 06 Sep 2023 03:18:00 GMT\r\ncontent-type: image/svg+xml\r\nvary: Accept-Encoding, Origin\r\nage: 588243\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":478,"size_decoded":1017,"mime_type":"image/svg+xml","magic":"SVG Scalable Vector Graphics image","md5":"1e78ea4caa31c35bac97a41e5930ffe8","sha1":"dbf99131b9b5087e664b9fdc7097c97655474517","sha256":"6fa88a20839537ae66da730e5bd183035265176d972bc8df075b89da0c6186ea","sha512":"cf798ef67c90f90f23635beb202095a2c76052d491c224aa14535bb9b16f28fa9a850b8db887f158afd01d634aecb9e2b05a27efdfd225d3583e6297bdd78b43","ssdeep":"","tlshash":"2ef09e6d577829d8930f87c0be5974127d9f23e85194b3b541d4f9326138ee2d141cd9","first_seen":"2025-05-26T15:52:21.952281Z","last_seen":"2026-08-15T16:48:43.3392Z","times_seen":49653,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NyA2MCIgZmlsbD0iIj48cGF0aCBkPSJNNjMgMTQuODdhNy44ODUgNy44ODUgMCAwMC01LjU2LTUuNTZDNTIuNTQgOCAzMi44OCA4IDMyLjg4IDhTMTMuMjMgOCA4LjMyIDkuMzFjLTIuNy43Mi00LjgzIDIuODUtNS41NiA1LjU2QzEuNDUgMTkuNzcgMS40NSAzMCAxLjQ1IDMwczAgMTAuMjMgMS4zMSAxNS4xM2MuNzIgMi43IDIuODUgNC44MyA1LjU2IDUuNTZDMTMuMjMgNTIgMzIuODggNTIgMzIuODggNTJzMTkuNjYgMCAyNC41Ni0xLjMxYzIuNy0uNzIgNC44My0yLjg1IDUuNTYtNS41NkM2NC4zMSA0MC4yMyA2NC4zMSAzMCA2NC4zMSAzMHMwLTEwLjIzLTEuMzEtMTUuMTN6Ij48L3BhdGg+PHBhdGggZmlsbD0iI0ZGRiIgY2xhc3M9ImxvZ28tYXJyb3ciIGQ9Ik0yNi42IDM5LjQzTDQyLjkzIDMwIDI2LjYgMjAuNTd6Ij48L3BhdGg+PC9zdmc+Cg=="}},"time_used":63,"timings":{"blocked":0,"dns":2,"connect":15,"send":0,"wait":16,"receive":0,"ssl":29},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/api/stats/qoe?cpn=ruYVLzP5TOKDCPEP\u0026el=embedded\u0026ns=yt\u0026fexp=v1%2C24004644%2C27058999%2C34656%2C124674%2C117689%2C9252%2C3479%2C13030%2C23206%2C35404%2C65298%2C2878%2C12227%2C25059%2C4174%2C30446%2C18706%2C21437%2C4571%2C5238%2C7777%2C13111%2C2316%2C661%2C6621%2C2783%2C23826%2C9500%2C1840%2C18114%2C27601%2C13160%2C451%2C35512%2C20588%2C4199%2C458%2C25386%2C4270%2C9181%2C15416%2C82%2C2539%2C27421%2C7525%2C366%2C5666%2C1168%2C372%2C7759%2C16452%2C172%2C3001%2C5867%2C3475%2C5353%2C9867%2C1595%2C928%2C2248%2C115%2C71%2C87%2C8117%2C3692%2C11589%2C1353%2C109%2C756%2C16866%2C357%2C9716%2C587%2C3027%2C3896%2C2455%2C845%2C885%2C1977%2C620%2C284%2C653%2C2%2C7891%2C1295%2C3445%2C2843%2C1908%2C1384%2C627%2C539%2C3%2C2%2C744%2C8068%2C7633%2C1455%2C5897%2C2476%2C1514%2C445%2C783%2C21979\u0026cl=951779104\u0026seq=1\u0026event=streamingstats\u0026docid=EjB5qFW0bJ8\u0026cbr=Firefox\u0026cbrver=134.0\u0026c=WEB_EMBEDDED_PLAYER\u0026cver=2.20260724.01.00\u0026cplayer=UNIPLAYER\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\u0026vps=0.000:N,0.000:ER\u0026ctmp=cpuinfo:t.1;hwConcurrency.8,cpuinfo:t.1;hwConcurrency.8,h5vcc:t.1;\u0026vis=0.000:0\u0026cmt=0.000:0.000,0.000:0.000\u0026bh=0.000:0.000,0.000:0.000\u0026error=0.000:auth::0.000:0;a6s.0;r.Video_unavailablesr.This_video_is_unavailable\u0026qclc=ChBydVlWTHpQNVRPS0RDUEVQEAE","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:50.948Z","timestamp":1785129950948,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"POST /api/stats/qoe?cpn=ruYVLzP5TOKDCPEP\u0026el=embedded\u0026ns=yt\u0026fexp=v1%2C24004644%2C27058999%2C34656%2C124674%2C117689%2C9252%2C3479%2C13030%2C23206%2C35404%2C65298%2C2878%2C12227%2C25059%2C4174%2C30446%2C18706%2C21437%2C4571%2C5238%2C7777%2C13111%2C2316%2C661%2C6621%2C2783%2C23826%2C9500%2C1840%2C18114%2C27601%2C13160%2C451%2C35512%2C20588%2C4199%2C458%2C25386%2C4270%2C9181%2C15416%2C82%2C2539%2C27421%2C7525%2C366%2C5666%2C1168%2C372%2C7759%2C16452%2C172%2C3001%2C5867%2C3475%2C5353%2C9867%2C1595%2C928%2C2248%2C115%2C71%2C87%2C8117%2C3692%2C11589%2C1353%2C109%2C756%2C16866%2C357%2C9716%2C587%2C3027%2C3896%2C2455%2C845%2C885%2C1977%2C620%2C284%2C653%2C2%2C7891%2C1295%2C3445%2C2843%2C1908%2C1384%2C627%2C539%2C3%2C2%2C744%2C8068%2C7633%2C1455%2C5897%2C2476%2C1514%2C445%2C783%2C21979\u0026cl=951779104\u0026seq=1\u0026event=streamingstats\u0026docid=EjB5qFW0bJ8\u0026cbr=Firefox\u0026cbrver=134.0\u0026c=WEB_EMBEDDED_PLAYER\u0026cver=2.20260724.01.00\u0026cplayer=UNIPLAYER\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\u0026vps=0.000:N,0.000:ER\u0026ctmp=cpuinfo:t.1;hwConcurrency.8,cpuinfo:t.1;hwConcurrency.8,h5vcc:t.1;\u0026vis=0.000:0\u0026cmt=0.000:0.000,0.000:0.000\u0026bh=0.000:0.000,0.000:0.000\u0026error=0.000:auth::0.000:0;a6s.0;r.Video_unavailablesr.This_video_is_unavailable\u0026qclc=ChBydVlWTHpQNVRPS0RDUEVQEAE HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://www.youtube.com/embed/EjB5qFW0bJ8\r\nX-Goog-Visitor-Id: Cgtqem1Ec05YMU9qTSjd15vTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMGLfAgrcAjIwLllUPUt0RHg0d3pubWxXemwxNWx2Q1Z3ZGpSeDRpQ1dhUXFGcUIzcVVHd0lHWU5EUUp1R0M1bWJ5X0xRQjBwMXJUVTJKWU0zc056bjRZa0tOWGJ2cFdGNzVMeDlndGN2dF9DZ2pyenAyZmhnNkJsVWNwbjF6My12LWV0R05Ua0lpWEdGX0ZJcUJKUFJkem5UTTExSWc0UXg4cVhhY1BIQUkwMVh1M1ctZGN4V3BJaXp6VnVHVlZORkNTdjAwMmMybzdTVVMyM0VpdkNGcEpWYmpteWd4bkloV21hQ0pMUzZwalJiQ2ZIQklHRHVfWWw0WHNTYnNoNUkzYnoxR3dObTdLdktwRDVwQTNpMlNWdXpiUHpnckl2c0thVDFHMXlZMHpsNUp2YmN0eU9SVWhqbWxLQllhUnFFMkhUSFV6VDlqdlVmTEdrTEIwdmdjRXl5Z21VRUswSl81QQ%3D%3D\r\nContent-Type: text/plain;charset=UTF-8\r\nContent-Length: 188\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: 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":"POST","post_data":{"size":188,"data":"session_token=QUM4Zm9rUURveDBBb1BTbUl3YnVrM0JnRlhLTXxBR3JiS2FtN1NOS3F1Z0dRQzU3eVhrRm9JMmY5d1NjR3ZaWi10eW1TVXNqZ05JUlFrUzI3bW1OdEx1bVFscl81Q2wydnBuUGV5ckV1ZFVYZnVjR1J5SWYwTmk1ZElmSmpNX0k%3D"}},"response":{"raw":"HTTP/3 204 \r\ncontent-type: text/html; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 05:25:50 GMT\r\npragma: no-cache\r\nexpires: Fri, 01 Jan 1990 00:00:00 GMT\r\ncache-control: no-cache, must-revalidate\r\ncross-origin-resource-policy: cross-origin\r\naccess-control-allow-origin: https://www.youtube.com\r\naccess-control-allow-credentials: true\r\nx-content-type-options: nosniff\r\nserver: Video Stats Server\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":"204","status_text":"","fingerprints":[{"name":"Apache Traffic Server","description":"Apache Traffic Server is an open-source caching and proxying server that serves as an HTTP/1.1 and HTTP/2 reverse proxy with caching capabilities, load balancing, request routing, SSL termination, and support for advanced HTTP features.","website":"https://trafficserver.apache.org/","common_platform_enumeration":"cpe:2.3:a:apache:traffic_server:*:*:*:*:*:*:*:*","icon":"Apache Traffic Server.svg","categories":["Web servers"]}],"data":{"size":0,"size_decoded":3671,"mime_type":"text/html; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-15T16:46:18.775881Z","times_seen":17905015,"resource_available":true,"data":""}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/youtubei/v1/log_event?alt=json","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.156.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://www.youtube.com/embed/EjB5qFW0bJ8","date":"2026-07-27T05:25:56.827Z","timestamp":1785129956827,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.google.com","organization":""},"issuer":{"commonName":"WR2","organization":"Google Trust Services"},"validity":{"start":"Mon, 29 Jun 2026 08:37:25 GMT","end":"Mon, 21 Sep 2026 08:37:24 GMT"},"fingerprint":{"sha1":"D9:DA:81:30:78:3E:9C:6B:5F:9D:18:52:0E:BE:6D:52:2F:FB:33:E0","sha256":"EA:E2:2D:87:EC:9C:D6:51:9D:59:E4:13:35:3B:97:14:E3:DA:58:2D:1C:69:19:41:54:94:25:C3:94:17:F3:0C"}}},"request":{"raw":"POST /youtubei/v1/log_event?alt=json HTTP/1.1\r\nHost: www.youtube.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Goog-Request-Time: 1785129956822\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: Cgtqem1Ec05YMU9qTSjd15vTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMGLfAgrcAjIwLllUPUt0RHg0d3pubWxXemwxNWx2Q1Z3ZGpSeDRpQ1dhUXFGcUIzcVVHd0lHWU5EUUp1R0M1bWJ5X0xRQjBwMXJUVTJKWU0zc056bjRZa0tOWGJ2cFdGNzVMeDlndGN2dF9DZ2pyenAyZmhnNkJsVWNwbjF6My12LWV0R05Ua0lpWEdGX0ZJcUJKUFJkem5UTTExSWc0UXg4cVhhY1BIQUkwMVh1M1ctZGN4V3BJaXp6VnVHVlZORkNTdjAwMmMybzdTVVMyM0VpdkNGcEpWYmpteWd4bkloV21hQ0pMUzZwalJiQ2ZIQklHRHVfWWw0WHNTYnNoNUkzYnoxR3dObTdLdktwRDVwQTNpMlNWdXpiUHpnckl2c0thVDFHMXlZMHpsNUp2YmN0eU9SVWhqbWxLQllhUnFFMkhUSFV6VDlqdlVmTEdrTEIwdmdjRXl5Z21VRUswSl81QQ%3D%3D\r\nX-Goog-Event-Time: 1785129956822\r\nX-YouTube-Client-Name: 56\r\nX-YouTube-Client-Version: 2.20260724.01.00\r\nX-YouTube-Device: cbr=Firefox\u0026cbrver=134.0\u0026ceng=Gecko\u0026cengver=134.0\u0026cos=Windows\u0026cosver=10.0\u0026cplatform=DESKTOP\r\nX-YouTube-Page-CL: 953206010\r\nX-YouTube-Page-Label: youtube.embeds.web_20260724_01_RC00\r\nX-YouTube-Utc-Offset: 0\r\nX-YouTube-Time-Zone: UTC\r\nX-YouTube-Ad-Signals: dt=1785129950101\u0026flash=0\u0026frm=2\u0026u_tz\u0026u_his=2\u0026u_h=1024\u0026u_w=1280\u0026u_ah=1024\u0026u_aw=1280\u0026u_cd=24\u0026bc=31\u0026bih=-12245933\u0026biw=-12245933\u0026brdim=0%2C0%2C0%2C0%2C1280%2C0%2C1280%2C1024%2C360%2C215\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Length: 1703\r\nSec-Fetch-Storage-Access: none\r\nOrigin: https://www.youtube.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://www.youtube.com/embed/EjB5qFW0bJ8\r\nCookie: __Secure-YNID=20.YT=KtDx4wznmlWzl15lvCVwdjRx4iCWaQqFqB3qUGwIGYNDQJuGC5mby_LQB0p1rTU2JYM3sNzn4YkKNXbvpWF75Lx9gtcvt_Cgjrzp2fhg6BlUcpn1z3-v-etGNTkIiXGF_FIqBJPRdznTM11Ig4Qx8qXacPHAI01Xu3W-dcxWpIizzVuGVVNFCSv002c2o7SUS23EivCFpJVbjmygxnIhWmaCJLS6pjRbCfHBIGDu_Yl4XsSbsh5I3bz1GwNm7KvKpD5pA3i2SVuzbPzgrIvsKaT1G1yY0zl5JvbctyORUhjmlKBYaRqE2HTHUzT9jvUfLGkLB0vgcEyygmUEK0J_5A; YSC=9IZeTGg8FPA; __Secure-ROLLOUT_TOKEN=CNuu5f6V8bTj4QEQj8eTpI_ylQMYj8eTpI_ylQM%3D; VISITOR_INFO1_LIVE=jzmDsNX1OjM; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgMA%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":1703,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"clientName\":56,\"clientVersion\":\"2.20260724.01.00\",\"configInfo\":{\"appInstallData\":\"CN3Xm9MGEM-o0RwQnYa4IhCKh7giEJ7QsAUQtviAExCkqdEcEParsAUQuOTOHBCu1s8cEJmNsQUQgc3OHBCDh7giEL6KsAUQyvuAExC9mbAFEPGcsAUQhuGAExC48NEcEInk0RwQ6fjRHBDM364FEMf8gBMQ4LfRHBDg6tEcEN68zhwQvKTQHBC9tq4FENr3zhwQjpDRHBCHrM4cEPny0RwQn8-AExDJ9oATEImwzhwQwY_QHBC1tYATEPyyzhwQ8bTQHBCL988cEAAQ-MSAExCW79EcEPDe0RwQtd7RHBD299EcEL6E0RwQjeTRHBCIkNEcEPTp0RwQ-vbRHCpsQ0FNU1N4VkEtWnEtRExpVUVwUUNuQTc1RlhhZ0J1QVdxTlVQeUFNTTN3M2NCdVFHdEFhMkJmYTk2UXN5b0t3RUE1Q3VBX3NtdHVRRzVJVVgwTXdHeEpJRnl6M0ZKOW5WQmR3czUwWWRCdz09MAA%3D\"},\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\",\"browserName\":\"Firefox\",\"browserVersion\":\"134.0\",\"osName\":\"Windows\",\"osVersion\":\"10.0\",\"platform\":\"DESKTOP\",\"windowWidthPoints\":360,\"windowHeightPoints\":215},\"thirdParty\":{\"embedUrl\":\"https://digitaltradeinvest.org/\"}},\"events\":[{\"eventTimeMs\":1785129954812,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"3901\"}},{\"eventTimeMs\":1785129954813,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"LaJ4xmzdxL4OeFx_\"},\"context\":{\"lastActivityMs\":\"3901\"}},{\"eventTimeMs\":1785129954813,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"zekmeigJpPVUw9F9\",\"clientScreenNonce\":\"hzk1PGB2rS3JHUUi\"},\"context\":{\"lastActivityMs\":\"3901\"}},{\"eventTimeMs\":1785129954813,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"zekmeigJpPVUw9F9\",\"clientScreenNonce\":\"hERm3rzazI_am8vO\"},\"context\":{\"lastActivityMs\":\"3901\"}}],\"serializedClientEventId\":{\"serializedEventId\":\"3etmaufbH72AhekPiOqC6QQ\",\"clientCounter\":\"19703\"}}"}},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\nvary: Origin, X-Origin, Referer\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 05:25:56 GMT\r\nserver: scaffolding on HTTPServer2\r\ncontent-length: 31\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":28,"size_decoded":381,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"5e1fa6fd9abd549a576f3f24b1d3c8d4","sha1":"d5335d7f7d33be6a0b663f03b2df4df2521c4a87","sha256":"d7d5e54ad1e33d7ab49c664323ced79cb9723ff15e9764cd0edc3e15208e8336","sha512":"96e6938256b8e5924210f8e8e54a85d783fa2c01d5fbe5d2a8df7655fed9ef8be73c7cd8bf042c3c84302134b7418711397eece32f081eb7e824a519cc06b4e3","ssdeep":"","tlshash":"1c800038a8200b22232000ea202888322ac8c8203200ca28830200280cc0a0000a2282","first_seen":"2023-04-05T04:40:08Z","last_seen":"2026-08-15T16:42:31.537717Z","times_seen":285114,"resource_available":false,"data":"ewogICJyZXNwb25zZUNvbnRleHQiOiB7fQp9Cg=="}},"time_used":21,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":21,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/style-CliJwUTR.css","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://digitaltradeinvest.org/","date":"2026-07-27T05:26:00.080Z","timestamp":1785129960080,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/style-CliJwUTR.css HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://digitaltradeinvest.org\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 05:26:00 GMT\r\ncontent-type: text/css\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-8d68\"\r\nexpires: Wed, 07 Jul 2027 08:30:01 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: kw6jtER1wy9LMUCIVtjte9UXl6A1EGuyCQP6m8j2XdMih+Y4NNCxdbZ5lMZ3rIZzBuSBM3A\r\nx-77-nzt-ray: e2f754206d2b2a7ee8eb666acd37e804\r\nx-77-cache: HIT\r\nx-77-age: 1716918\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":36200,"size_decoded":8208,"mime_type":"text/css","magic":"ASCII text, with very long lines (36187)","md5":"840dfdb09fc1a11a5c3a5b5f808e3160","sha1":"46140a50b100fa33b974027c13bb9f2de5c784b7","sha256":"b5b9a339413a55a0d828ab6be236e2a495594a19fb3283f846c607d7b6996ad7","sha512":"61e37700ee60ed584c8ae7b6313c5dddf6950c9664aa57f32bb4a70d775b1a1d5bfc249c6c1238495ef2cb7e12bae5f00c4ddb3df4dde44a01081117b74e2ba2","ssdeep":"384:F8fY2l091g7Tc6/WYtGLadKzSVX8Kj6+eZcrNSN56qB56YR9evZLLq51vZLLq5G:F8wM091gTcCWYtG4XqcrNSN56DwQ43","tlshash":"05f2966daad9093dac23c179e3f8e58c911af5d5df3226daf74239008ac17ff0986514","first_seen":"2026-07-07T11:50:17.712499Z","last_seen":"2026-08-15T12:09:43.115781Z","times_seen":3438,"resource_available":false,"data":"LmJ0bi5zdmVsdGUteXdvZm1se2JvcmRlci1yYWRpdXM6OTk5OXB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6LjI1cmVtO2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmlubGluZS1mbGV4fS5idG4tcHJpbWFyeS5zdmVsdGUteXdvZm1se2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1wcmltYXJ5LnN2ZWx0ZS15d29mbWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tZ2hvc3Quc3ZlbHRlLXl3b2ZtbDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYnRuLXN1Y2Nlc3Muc3ZlbHRlLXl3b2ZtbHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNiAxODUgMTI5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5idG4tc3VjY2Vzcy5zdmVsdGUteXdvZm1sOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDUgMTUwIDEwNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5idG4tc20uc3ZlbHRlLXl3b2ZtbHt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbX0uYnRuLW1kLnN2ZWx0ZS15d29mbWx7d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX0uYnRuLWxnLnN2ZWx0ZS15d29mbWx7d2lkdGg6Mi43NXJlbTtoZWlnaHQ6Mi43NXJlbX0uYnRuLXhsLnN2ZWx0ZS15d29mbWx7d2lkdGg6M3JlbTtoZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS15d29mbWx7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjJ9LmJ0bi1kaXNhYmxlZC5zdmVsdGUteXdvZm1sOmhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMDB9Kiw6YmVmb3JlLDphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowO2JvcmRlci1jb2xvcjp2YXIoLS11bi1kZWZhdWx0LWJvcmRlci1jb2xvciwjZTVlN2ViKX06YmVmb3JlLDphZnRlcnstLXVuLWNvbnRlbnQ6IiJ9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2xpbmUtaGVpZ2h0OjEuNX1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sQ291cmllciBOZXcsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O21hcmdpbjowO3BhZGRpbmc6MH1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9YnV0dG9uLFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JhY2tncm91bmQtaW1hZ2U6bm9uZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1ibG9ja3F1b3RlLGRsLGRkLGgxLGgyLGgzLGg0LGg1LGg2LGhyLGZpZ3VyZSxwLHByZXttYXJnaW46MH1maWVsZHNldHttYXJnaW46MDtwYWRkaW5nOjB9bGVnZW5ke3BhZGRpbmc6MH1vbCx1bCxtZW51e21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9ZGlhbG9ne3BhZGRpbmc6MH10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9aW5wdXQ6OnBsYWNlaG9sZGVyLHRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjE7Y29sb3I6IzljYTNhZn1idXR0b24sW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn06ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZX0qLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS11bi1yb3RhdGU6MDstLXVuLXJvdGF0ZS14OjA7LS11bi1yb3RhdGUteTowOy0tdW4tcm90YXRlLXo6MDstLXVuLXNjYWxlLXg6MTstLXVuLXNjYWxlLXk6MTstLXVuLXNjYWxlLXo6MTstLXVuLXNrZXcteDowOy0tdW4tc2tldy15OjA7LS11bi10cmFuc2xhdGUteDowOy0tdW4tdHJhbnNsYXRlLXk6MDstLXVuLXRyYW5zbGF0ZS16OjA7LS11bi1wYW4teDogOy0tdW4tcGFuLXk6IDstLXVuLXBpbmNoLXpvb206IDstLXVuLXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6cHJveGltaXR5Oy0tdW4tb3JkaW5hbDogOy0tdW4tc2xhc2hlZC16ZXJvOiA7LS11bi1udW1lcmljLWZpZ3VyZTogOy0tdW4tbnVtZXJpYy1zcGFjaW5nOiA7LS11bi1udW1lcmljLWZyYWN0aW9uOiA7LS11bi1ib3JkZXItc3BhY2luZy14OjA7LS11bi1ib3JkZXItc3BhY2luZy15OjA7LS11bi1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdW4tc2hhZG93LWluc2V0OiA7LS11bi1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1pbnNldDogOy0tdW4tcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdW4tcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXVuLXJpbmctd2lkdGg6MHB4Oy0tdW4tcmluZy1jb2xvcjojOTNjNWZkODA7LS11bi1ibHVyOiA7LS11bi1icmlnaHRuZXNzOiA7LS11bi1jb250cmFzdDogOy0tdW4tZHJvcC1zaGFkb3c6IDstLXVuLWdyYXlzY2FsZTogOy0tdW4taHVlLXJvdGF0ZTogOy0tdW4taW52ZXJ0OiA7LS11bi1zYXR1cmF0ZTogOy0tdW4tc2VwaWE6IDstLXVuLWJhY2tkcm9wLWJsdXI6IDstLXVuLWJhY2tkcm9wLWJyaWdodG5lc3M6IDstLXVuLWJhY2tkcm9wLWNvbnRyYXN0OiA7LS11bi1iYWNrZHJvcC1ncmF5c2NhbGU6IDstLXVuLWJhY2tkcm9wLWh1ZS1yb3RhdGU6IDstLXVuLWJhY2tkcm9wLWludmVydDogOy0tdW4tYmFja2Ryb3Atb3BhY2l0eTogOy0tdW4tYmFja2Ryb3Atc2F0dXJhdGU6IDstLXVuLWJhY2tkcm9wLXNlcGlhOiB9LmZsZXgtY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6MXB4O291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1mb2N1cy1zZWNvbmRhcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXdpZHRoOjJweDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktZm9jdXMpIDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXNlY29uZGFyeS1mb2N1cykgO291dGxpbmUtb2Zmc2V0OjFweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzLXNlY29uZGFyeTpmb2N1cy12aXNpYmxle291dGxpbmUtd2lkdGg6MnB4O291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1mb2N1cykgO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5cW2NsaXBcOnJlY3RcKDBcLDBcLDBcLDBcKVxde2NsaXA6cmVjdCgwLDAsMCwwKX0uc3Itb25seXtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW59LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30ucG9pbnRlci1ldmVudHMtbm9uZXtwb2ludGVyLWV2ZW50czpub25lfS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS4tYm90dG9tLTRcLjV7Ym90dG9tOi0xLjEyNXJlbX0uLXJpZ2h0LVxbNHB4XF17cmlnaHQ6LTRweH0uLXRvcC1cWzRweFxde3RvcDotNHB4fS5ib3R0b20tXFstOHB4XF17Ym90dG9tOi04cHh9LmJvdHRvbS0we2JvdHRvbTowfS5ib3R0b20tM3tib3R0b206Ljc1cmVtfS5ib3R0b20tZnVsbHtib3R0b206MTAwJX0ubGVmdC1cWzJweFxde2xlZnQ6MnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LmxlZnQtMntsZWZ0Oi41cmVtfS5sZWZ0LTNcLjd7bGVmdDouOTI1cmVtfS5yaWdodC1cWzE2cHhcXXtyaWdodDoxNnB4fS5yaWdodC0we3JpZ2h0OjB9LnJpZ2h0LTBcLjV7cmlnaHQ6LjEyNXJlbX0ucmlnaHQtMntyaWdodDouNXJlbX0ucmlnaHQtM3tyaWdodDouNzVyZW19LnRvcC1cWzJweFxde3RvcDoycHh9LnRvcC0we3RvcDowfS50b3AtMnt0b3A6LjVyZW19LnRvcC0ze3RvcDouNzVyZW19LnRvcC0zXC43e3RvcDouOTI1cmVtfS50b3AtMzB7dG9wOjcuNXJlbX0udG9wLTQwe3RvcDoxMHJlbX0ubGluZS1jbGFtcC0xey13ZWJraXQtbGluZS1jbGFtcDoxO2xpbmUtY2xhbXA6MTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LmxpbmUtY2xhbXAtMnstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5saW5lLWNsYW1wLTN7LXdlYmtpdC1saW5lLWNsYW1wOjM7bGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubGluZS1jbGFtcC01ey13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LnotMXt6LWluZGV4OjF9LnotMTB7ei1pbmRleDoxMH0uei0xMDB7ei1pbmRleDoxMDB9LnotNTB7ei1pbmRleDo1MH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmZsb2F0LXJpZ2h0e2Zsb2F0OnJpZ2h0fS4tbS1weHttYXJnaW46LTFweH0ubS0ze21hcmdpbjouNzVyZW19Lm0tYXV0b3ttYXJnaW46YXV0b30ubTE1e21hcmdpbjozLjc1cmVtfS5tMTZ7bWFyZ2luOjRyZW19Lm0xOHttYXJnaW46NC41cmVtfS5tMjF7bWFyZ2luOjUuMjVyZW19Lm0yMnttYXJnaW46NS41cmVtfS5tNnttYXJnaW46MS41cmVtfS5tN3ttYXJnaW46MS43NXJlbX0ubTh7bWFyZ2luOjJyZW19Lm05e21hcmdpbjoyLjI1cmVtfS5teC0ye21hcmdpbi1sZWZ0Oi41cmVtO21hcmdpbi1yaWdodDouNXJlbX0ubXgtM3ttYXJnaW4tbGVmdDouNzVyZW07bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXgtNHttYXJnaW4tbGVmdDoxcmVtO21hcmdpbi1yaWdodDoxcmVtfS5teS0ze21hcmdpbi10b3A6Ljc1cmVtO21hcmdpbi1ib3R0b206Ljc1cmVtfS5teS00e21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19Li1tdC0ze21hcmdpbi10b3A6LS43NXJlbX0ubWItXFsycHhcXXttYXJnaW4tYm90dG9tOjJweH0ubWItMHttYXJnaW4tYm90dG9tOjB9Lm1iLTEsLm5vdC1sYXN0LW9mLXR5cGVcOm1iLTE6bm90KDpsYXN0LW9mLXR5cGUpe21hcmdpbi1ib3R0b206LjI1cmVtfS5tYi0ye21hcmdpbi1ib3R0b206LjVyZW19Lm1iLTN7bWFyZ2luLWJvdHRvbTouNzVyZW19Lm1iLTR7bWFyZ2luLWJvdHRvbToxcmVtfS5tYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5tbC0wXC41e21hcmdpbi1sZWZ0Oi4xMjVyZW19Lm1sLTF7bWFyZ2luLWxlZnQ6LjI1cmVtfS5tbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tbC0ze21hcmdpbi1sZWZ0Oi43NXJlbX0ubWwtNHttYXJnaW4tbGVmdDoxcmVtfS5tbC04e21hcmdpbi1sZWZ0OjJyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItMVwuNXttYXJnaW4tcmlnaHQ6LjM3NXJlbX0ubXItMTB7bWFyZ2luLXJpZ2h0OjIuNXJlbX0ubXItMnttYXJnaW4tcmlnaHQ6LjVyZW19Lm1yLTN7bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXItNHttYXJnaW4tcmlnaHQ6MXJlbX0ubXQtXFsxcHhcXXttYXJnaW4tdG9wOjFweH0ubXQtMFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtM3ttYXJnaW4tdG9wOi43NXJlbX0ubXQtNHttYXJnaW4tdG9wOjFyZW19Lm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm10LTh7bWFyZ2luLXRvcDoycmVtfS5maXJzdC1vZi10eXBlXDptdC0yOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDouNXJlbX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmgtXFsxXC4yZW1cXXtoZWlnaHQ6MS4yZW19LmgtXFsxZW1cXXtoZWlnaHQ6MWVtfS5oLVxbNTBweFxde2hlaWdodDo1MHB4fS5oLTF7aGVpZ2h0Oi4yNXJlbX0uaC0xMHtoZWlnaHQ6Mi41cmVtfS5oLTExe2hlaWdodDoyLjc1cmVtfS5oLTEye2hlaWdodDozcmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcLjV7aGVpZ2h0Oi42MjVyZW19LmgtMjB7aGVpZ2h0OjVyZW19LmgtMzB7aGVpZ2h0OjcuNXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTQwe2hlaWdodDoxMHJlbX0uaC00MDBweHtoZWlnaHQ6NDAwcHh9LmgtNXtoZWlnaHQ6MS4yNXJlbX0uaC01NHB4e2hlaWdodDo1NHB4fS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02MHB4e2hlaWdodDo2MHB4fS5oLTY0cHh7aGVpZ2h0OjY0cHh9LmgtN3toZWlnaHQ6MS43NXJlbX0uaC04e2hlaWdodDoycmVtfS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtXFsxMjVweFxde21heC1oZWlnaHQ6MTI1cHh9Lm1heC1oLVxbMjQwcHhcXXttYXgtaGVpZ2h0OjI0MHB4fS5tYXgtaC1cWzMycHhcXXttYXgtaGVpZ2h0OjMycHh9Lm1heC1oLTEzMnB4e21heC1oZWlnaHQ6MTMycHh9Lm1heC1oLTY0e21heC1oZWlnaHQ6MTZyZW19Lm1heC1oLTgwdmh7bWF4LWhlaWdodDo4MHZofS5tYXgtaC04NnttYXgtaGVpZ2h0OjIxLjVyZW19Lm1heC1oLWZ1bGx7bWF4LWhlaWdodDoxMDAlfS5tYXgtdy1cWzgwXCVcXXttYXgtd2lkdGg6ODAlfS5tYXgtdy1cWzg1XCVcXXttYXgtd2lkdGg6ODUlfS5tYXgtdy1cW2NhbGNcKDEwMFwlLTE1MHB4XClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTUwcHgpfS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4taC1cWzE2cHhcXXttaW4taGVpZ2h0OjE2cHh9Lm1pbi13LVxbMTZweFxde21pbi13aWR0aDoxNnB4fS5taW4tdy0we21pbi13aWR0aDowfS5taW4tdy01e21pbi13aWR0aDoxLjI1cmVtfS5taW4tdy01XC41e21pbi13aWR0aDoxLjM3NXJlbX0ubWluLXctNnttaW4td2lkdGg6MS41cmVtfS53LVxbMVwuMmVtXF17d2lkdGg6MS4yZW19LnctXFsxZW1cXXt3aWR0aDoxZW19LnctXFs1MHB4XF17d2lkdGg6NTBweH0udy0we3dpZHRoOjB9LnctMXt3aWR0aDouMjVyZW19LnctMTF7d2lkdGg6Mi43NXJlbX0udy0xMTZ7d2lkdGg6MjlyZW19LnctMTJ7d2lkdGg6M3JlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcLjV7d2lkdGg6LjYyNXJlbX0udy0yODBweHt3aWR0aDoyODBweH0udy0zNDhweHt3aWR0aDozNDhweH0udy00e3dpZHRoOjFyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTUye3dpZHRoOjEzcmVtfS53LTU2e3dpZHRoOjE0cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTYwcHh7d2lkdGg6NjBweH0udy03e3dpZHRoOjEuNzVyZW19LnctOHt3aWR0aDoycmVtfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5mbGV4e2Rpc3BsYXk6ZmxleH0uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uZmxleC0xe2ZsZXg6MX0uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uZmxleC1zaHJpbmstMCwuc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93LC5ncm93e2ZsZXgtZ3JvdzoxfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS4tdHJhbnNsYXRlLXgtMVwvMnstLXVuLXRyYW5zbGF0ZS14Oi01MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNsYXRlLXgtZnVsbHstLXVuLXRyYW5zbGF0ZS14OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpzY2FsZS0xMTV7LS11bi1zY2FsZS14OjEuMTU7LS11bi1zY2FsZS15OjEuMTU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uaG92ZXJcOnNjYWxlLTEyMDpob3ZlcnstLXVuLXNjYWxlLXg6MS4yOy0tdW4tc2NhbGUteToxLjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGVYKHZhcigtLXVuLXRyYW5zbGF0ZS14KSkgdHJhbnNsYXRlWSh2YXIoLS11bi10cmFuc2xhdGUteSkpIHRyYW5zbGF0ZVoodmFyKC0tdW4tdHJhbnNsYXRlLXopKSByb3RhdGUodmFyKC0tdW4tcm90YXRlKSkgcm90YXRlWCh2YXIoLS11bi1yb3RhdGUteCkpIHJvdGF0ZVkodmFyKC0tdW4tcm90YXRlLXkpKSByb3RhdGVaKHZhcigtLXVuLXJvdGF0ZS16KSkgc2tld1godmFyKC0tdW4tc2tldy14KSkgc2tld1kodmFyKC0tdW4tc2tldy15KSkgc2NhbGVYKHZhcigtLXVuLXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdW4tc2NhbGUteSkpIHNjYWxlWih2YXIoLS11bi1zY2FsZS16KSl9QGtleWZyYW1lcyBwdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgcHVzaC10by1sZWZ0ezAle21hcmdpbi1yaWdodDotNTAlO3RyYW5zZm9ybTpzY2FsZSgwKX10b3ttYXJnaW4tcmlnaHQ6aW5oZXJpdDt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgc3BpbnswJXtyb3RhdGU6MGRlZ310b3tyb3RhdGU6MzYwZGVnfX1Aa2V5ZnJhbWVzIHR5cGluZ3swJSw1MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkgaW5maW5pdGUgcHVsc2V9LmFuaW1hdGUtcHVzaC10by1sZWZ0e2FuaW1hdGlvbjouMjVzIGVhc2UtaW4tb3V0IHB1c2gtdG8tbGVmdH0uYW5pbWF0ZS1zcGlue2FuaW1hdGlvbjoxcyBsaW5lYXIgaW5maW5pdGUgc3Bpbn0uYW5pbWF0ZS10eXBpbmd7YW5pbWF0aW9uOi44cyBlYXNlLWluLW91dCB0eXBpbmd9LmN1cnNvci1hdXRve2N1cnNvcjphdXRvfS5jdXJzb3ItcG9pbnRlciwuaG92ZXJcOmN1cnNvci1wb2ludGVyOmhvdmVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLW10LTJ7c2Nyb2xsLW1hcmdpbi10b3A6LjVyZW19Lmxpc3QtZGVjaW1hbHtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5jb250ZW50LWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uc2VsZi1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaH0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTN7Z2FwOi43NXJlbX0uc3BhY2UteC0yPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdW4tc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguNXJlbSAqIGNhbGMoMSAtIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTU+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKDEuMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoMS4yNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC41cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxcmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxLjI1cmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjI1cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctY2xpcHtvdmVyZmxvdzpjbGlwfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ub3ZlcmZsb3cteS1zY3JvbGx7b3ZlcmZsb3cteTpzY3JvbGx9Lm92ZXJzY3JvbGwtY29udGFpbntvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0udGV4dC1lbGxpcHNpc3t0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmV7d2hpdGUtc3BhY2U6cHJlfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS5icmVhay13b3Jkc3tvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmJyZWFrLWFsbHt3b3JkLWJyZWFrOmJyZWFrLWFsbH0uYm9yZGVyLC5ib3JkZXItMXtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXQtMntib3JkZXItdG9wLXdpZHRoOjJweH0uYm9yZGVyLWdyYXktMzAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmVlbi00MDB7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoNzQgMjIyIDEyOC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeSl9LmJvcmRlci1wcmltYXJ5LWJ1dHRvbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pfS5ib3JkZXItcmVkLTUwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXNsYXRlLTIwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItd2hpdGV7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uZm9jdXNcOmJvcmRlci1ibHVlLTUwMDpmb2N1c3stLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci10LW5ldXRyYWwtMTAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTstLXVuLWJvcmRlci10b3Atb3BhY2l0eTp2YXIoLS11bi1ib3JkZXItb3BhY2l0eSk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYm9yZGVyLXRvcC1vcGFjaXR5KSl9LmJvcmRlci1yb3VuZGVkLWZ1bGwsLnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjk5OTlweH0ucm91bmRlZC0yLC5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6MXJlbX0ucm91bmRlZC0zeGwsLnJvdW5kZWQtNntib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOi4zNzVyZW19LnJvdW5kZWQteGx7Ym9yZGVyLXJhZGl1czouNzVyZW19LnJvdW5kZWQtbHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1sLTN4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW19LnJvdW5kZWQtci0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC10LTZ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5yb3VuZGVkLWxiLTN4bHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1sdC0zeGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW19LnJvdW5kZWQtcmItM3hse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ydC0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5ib3JkZXItZGFzaGVke2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lfS5iZy1ibGFja3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ibGFja1wvODB7YmFja2dyb3VuZC1jb2xvcjojMDAwY30uYmctZW1lcmFsZC01MDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTYgMTg1IDEyOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTMwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTQwMFwvXFtcLjk1XF17YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjJ9LmJnLWdyYXktNjAwXC9cW1wuOTVcXXtiYWNrZ3JvdW5kLWNvbG9yOiM0YjU1NjNmMn0uYmctZ3JlZW4tNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDc0IDIyMiAxMjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctZ3JlZW4tNTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM0IDE5NyA5NC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDUgMjQ1IDI0NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1ODB9LmJnLW5ldXRyYWwtNjAwXC80MHtiYWNrZ3JvdW5kLWNvbG9yOiM1MjUyNTI2Nn0uYmctb3JhbmdlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMTE1IDIyL3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXByaW1hcnktYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIH0uYmctcmVkLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctcmVkLTYwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtMTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1zbGF0ZS0zMDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13aGl0ZXstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1ibGFjazpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1lbWVyYWxkLTYwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1IDE1MCAxMDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uaG92ZXItYmctcHJpbWFyeS1idXR0b24taG92ZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5ob3Zlci1iZy1wcmltYXJ5LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmhvdmVyLWJnLXNsYXRlLTEwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDEgMjQ1IDI0OS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy10cmFuc3BhcmVudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ob3Zlclw6Ymctc2xhdGUtMTAwOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLW9wYWNpdHktMTAsLmhvdmVyLWJnLW9wYWNpdHktMTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5Oi4xfS5mcm9tLXdoaXRlXC8xMDB7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdW4tZ3JhZGllbnQtZnJvbTojZmZmIHZhcigtLXVuLWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwIHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXVuLWdyYWRpZW50LXN0b3BzOnZhcigtLXVuLWdyYWRpZW50LWZyb20pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnZpYS13aGl0ZVwvNDB7LS11bi1ncmFkaWVudC12aWEtcG9zaXRpb246NTAlOy0tdW4tZ3JhZGllbnQtdG86I2ZmZjA7LS11bi1ncmFkaWVudC1zdG9wczp2YXIoLS11bi1ncmFkaWVudC1mcm9tKSwgI2ZmZjYgdmFyKC0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdW4tZ3JhZGllbnQtdG8pfS52aWEtd2hpdGVcLzUwey0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwOy0tdW4tZ3JhZGllbnQtc3RvcHM6dmFyKC0tdW4tZ3JhZGllbnQtZnJvbSksICNmZmZmZmY4MCB2YXIoLS11bi1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnRvLXRyYW5zcGFyZW50ey0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOnRyYW5zcGFyZW50IHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZnJvbS0wXCV7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlfS52aWEtNTBcJXstLXVuLWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCV9LnZpYS03MFwley0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjcwJX0uYmctZ3JhZGllbnQtdG8tdHstLXVuLWdyYWRpZW50LXNoYXBlOnRvIHRvcCBpbiBva2xjaDstLXVuLWdyYWRpZW50OnZhcigtLXVuLWdyYWRpZW50LXNoYXBlKSwgdmFyKC0tdW4tZ3JhZGllbnQtc3RvcHMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXVuLWdyYWRpZW50KSl9LmZpbGwtY3VycmVudHtmaWxsOmN1cnJlbnRDb2xvcn0uZmlsbC1wcmltYXJ5LWJ1dHRvbntmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmZpbGwtcHJpbWFyeS1idXR0b24tY29udGVudHtmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5wLTB7cGFkZGluZzowfS5wLTBcLjh7cGFkZGluZzouMnJlbX0ucC0xe3BhZGRpbmc6LjI1cmVtfS5wLTFcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0ze3BhZGRpbmc6Ljc1cmVtfS5wLTR7cGFkZGluZzoxcmVtfS5wLTh7cGFkZGluZzoycmVtfS5weCwucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbTtwYWRkaW5nLXJpZ2h0Oi4yNXJlbX0ucHgtMntwYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0ucHgtM3twYWRkaW5nLWxlZnQ6Ljc1cmVtO3BhZGRpbmctcmlnaHQ6Ljc1cmVtfS5weC04e3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ucHktMXtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5weS0ye3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5weS0yXC41e3BhZGRpbmctdG9wOi42MjVyZW07cGFkZGluZy1ib3R0b206LjYyNXJlbX0ucHktM3twYWRkaW5nLXRvcDouNzVyZW07cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wYi0we3BhZGRpbmctYm90dG9tOjB9LnBiLTF7cGFkZGluZy1ib3R0b206LjI1cmVtfS5wYi0ye3BhZGRpbmctYm90dG9tOi41cmVtfS5wYi0ze3BhZGRpbmctYm90dG9tOi43NXJlbX0ucGItNHtwYWRkaW5nLWJvdHRvbToxcmVtfS5wbC0ye3BhZGRpbmctbGVmdDouNXJlbX0ucGwtNCwuZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpub3QtZmlyc3RcOnBsLTQ6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjFyZW19LnByLTF7cGFkZGluZy1yaWdodDouMjVyZW19LnByLTR7cGFkZGluZy1yaWdodDoxcmVtfS5wdC0xe3BhZGRpbmctdG9wOi4yNXJlbX0ucHQtNntwYWRkaW5nLXRvcDoxLjVyZW19LnB0LTl7cGFkZGluZy10b3A6Mi4yNXJlbX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1iYXNle2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNXJlbX0udGV4dC1iYXNlLWlucHV0e2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX0udGV4dC14c3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjFyZW19LnRleHQtYmxhY2t7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LWdyYXktMzAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1ncmF5LTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDcgMTE0IDEyOC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtbmV1dHJhbC00MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTYzIDE2MyAxNjMvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LW5ldXRyYWwtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDExNSAxMTUgMTE1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnkpIH0udGV4dC1wcmltYXJ5LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgfS50ZXh0LXByaW1hcnktYnV0dG9uLWNvbnRlbnR7Y29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudCkgfS50ZXh0LXByaW1hcnktY29udGVudHtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRlbnQpIH0udGV4dC1yZWQtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNDAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3Itc2xhdGUtNTAwLC50ZXh0LXNsYXRlLTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNjAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDcxIDg1IDEwNS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmNvbG9yLXNsYXRlLTgwMCwudGV4dC1zbGF0ZS04MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LXdoaXRley0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uaG92ZXItdGV4dC1wcmltYXJ5LWJ1dHRvbi1jb250ZW50OmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uaG92ZXJcOnRleHQtZ3JheS00MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6dGV4dC1zbGF0ZS04MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5wbGFjZWhvbGRlclw6dGV4dC1zbGF0ZS0zMDA6OnBsYWNlaG9sZGVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwMyAyMTMgMjI1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3ItcmVkLTYwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6Y29sb3Itc2xhdGUtNzAwOmhvdmVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDUxIDY1IDg1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1vcGFjaXR5LTIwey0tdW4tdGV4dC1vcGFjaXR5Oi4yfS5mb250LTIwMHtmb250LXdlaWdodDoyMDB9LmZvbnQtNTAwLC5mb250LW1lZGl1bXtmb250LXdlaWdodDo1MDB9LmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9LmZvbnQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0ubGVhZGluZy1cWzIycHhcXXtsaW5lLWhlaWdodDoyMnB4fS5sZWFkaW5nLTRcLjV7bGluZS1oZWlnaHQ6MS4xMjVyZW19LmxlYWRpbmctNVwuNXtsaW5lLWhlaWdodDoxLjM3NXJlbX0ubGVhZGluZy02e2xpbmUtaGVpZ2h0OjEuNXJlbX0ubGVhZGluZy1ub3JtYWx7bGluZS1oZWlnaHQ6MS41fS5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZSwuaG92ZXItbm8tdW5kZXJsaW5lOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5vcGFjaXR5LTEwe29wYWNpdHk6LjF9Lm9wYWNpdHktMTAwe29wYWNpdHk6MX0ub3BhY2l0eS0yMHtvcGFjaXR5Oi4yfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0uc2hhZG93ey0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxcHggM3B4IDAgdmFyKC0tdW4tc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksdmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uc2hhZG93LWxney0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxMHB4IDE1cHggLTNweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgNHB4IDZweCAtNHB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctbWR7LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDRweCA2cHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgMnB4IDRweCAtMnB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctc217LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggMCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpvdXRsaW5lLTI6Zm9jdXMtd2l0aGlue291dGxpbmUtd2lkdGg6MnB4fS5mb2N1cy13aXRoaW5cOm91dGxpbmUtcHJpbWFyeS1mb2N1czpmb2N1cy13aXRoaW57b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSB9Lm91dGxpbmUsLmZvY3VzLXdpdGhpblw6b3V0bGluZS1zb2xpZDpmb2N1cy13aXRoaW57b3V0bGluZS1zdHlsZTpzb2xpZH0ub3V0bGluZS1ub25lLC5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3VzLC5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW5vbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHg7b3V0bGluZToycHggc29saWQgIzAwMDB9LmZvY3VzLXdpdGhpblw6cmluZy0zOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctd2lkdGg6M3B4Oy0tdW4tcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXVuLXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXVuLXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS11bi1yaW5nLW9mZnNldC1jb2xvcik7LS11bi1yaW5nLXNoYWRvdzp2YXIoLS11bi1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKHZhcigtLXVuLXJpbmctd2lkdGgpICsgdmFyKC0tdW4tcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS11bi1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLW9mZnNldC0xOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb2Zmc2V0LXdpZHRoOjFweH0uZm9jdXMtd2l0aGluXDpyaW5nLWJsdWUtNDAwOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb3BhY2l0eToxOy0tdW4tcmluZy1jb2xvcjpyZ2IoOTYgMTY1IDI1MC92YXIoLS11bi1yaW5nLW9wYWNpdHkpKSB9LmZvY3VzXDpyaW5nLWJsdWUtNTAwOmZvY3Vzey0tdW4tcmluZy1vcGFjaXR5OjE7LS11bi1yaW5nLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLXJpbmctb3BhY2l0eSkpIH0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tcGFkZGluZy00MDB7dHJhbnNpdGlvbi1wcm9wZXJ0eTpwYWRkaW5nO3RyYW5zaXRpb24tZHVyYXRpb246LjRzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24td2lkdGgtMjUwe3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGg7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0xNTB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTc1e3RyYW5zaXRpb24tZHVyYXRpb246NzVtc30uZGVsYXktMHt0cmFuc2l0aW9uLWRlbGF5OjBzfS5lYXNlLWluLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uZWFzZS1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0uY29udGVudC1cW1wiXCJcXXtjb250ZW50OiIifS5iZy1wcmltYXJ5LWdyYWRpZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDgwZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvKSAxMzAlKX0uYmctcHJpbWFyeS1ncmFkaWVudC1idXR0b257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtYnV0dG9uLWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWJ1dHRvbi10bykgMTMwJSl9LmJnLXByaW1hcnktZ3JhZGllbnQtaG92ZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItZnJvbSksIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItdG8pIDEzMCUpfS5saW5lLWNsYW1wLTV7LXdlYmtpdC1saW5lLWNsYW1wOjU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS50eXBpbmctaW5kaWNhdG9yLnN2ZWx0ZS1zNDB4Z2t7Ym9yZGVyLXJhZGl1czo5OTk5cHh9LnR5cGluZy1pbmRpY2F0b3Iuc20uc3ZlbHRlLXM0MHhna3t3aWR0aDouMjVyZW07aGVpZ2h0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci5tZC5zdmVsdGUtczQweGdre3dpZHRoOi41cmVtO2hlaWdodDouNXJlbX0udHlwaW5nLWluZGljYXRvci5pbmRpY2F0b3ItY29sb3ItYmxhY2suc3ZlbHRlLXM0MHhna3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS50eXBpbmctaW5kaWNhdG9yLmluZGljYXRvci1jb2xvci1ncmF5LnN2ZWx0ZS1zNDB4Z2t7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTAwIDExNiAxMzkvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0udHlwaW5nLWluZGljYXRvci5zdmVsdGUtczQweGdrOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci1zZWNvbmQuc3ZlbHRlLXM0MHhna3thbmltYXRpb24tZGVsYXk6LjFzfS50eXBpbmctaW5kaWNhdG9yLXRoaXJkLnN2ZWx0ZS1zNDB4Z2t7YW5pbWF0aW9uLWRlbGF5Oi4yc30uYnRuLnN2ZWx0ZS0xZTg0bjd3e2JvcmRlci1yYWRpdXM6MS41cmVtO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTppbmxpbmUtZmxleH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3d7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgO2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3c6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tb3V0bGluZS5zdmVsdGUtMWU4NG43d3tib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbik7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigwIDAgMC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmJ0bi1vdXRsaW5lLnN2ZWx0ZS0xZTg0bjd3OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1yYWlzZWQuc3ZlbHRlLTFlODRuN3d7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSA7Ym94LXNoYWRvdzowIDJweCA2cHggIzAwMDAwMDI5fS5idG4tcmFpc2VkLnN2ZWx0ZS0xZTg0bjd3OmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJ0bi1zbS5zdmVsdGUtMWU4NG43d3toZWlnaHQ6MnJlbX0uYnRuLW1kLnN2ZWx0ZS0xZTg0bjd3e2hlaWdodDoyLjVyZW19LmJ0bi1sZy5zdmVsdGUtMWU4NG43d3toZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS0xZTg0bjd3e2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi4yfS5kYXJrLnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojNGI1NTYzZjI7cGFkZGluZzouNXJlbSAuNzVyZW19LmxpZ2h0LnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjI7cGFkZGluZzouMjVyZW0gLjVyZW19c3ZnLnN2ZWx0ZS15aXhoYXR7ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MWVtO2hlaWdodDoxZW19LmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpke2p1c3RpZnktY29udGVudDpzdGFydDthbGlnbi1pdGVtczpzdGFydDt3aWR0aDoxMDAlfS5jYXJvdXNlbC5zdmVsdGUtMTBxcWp6ZDpob3ZlciAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCksLmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpkOmZvY3VzLXdpdGhpbiAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCl7b3BhY2l0eToxfS5idXR0b24uc3ZlbHRlLTEwcXFqemR7b3BhY2l0eTowO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlcjpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuNHM7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQuc3ZlbHRlLTEwcXFqemR7bGVmdDotMWVtfS5yaWdodC5zdmVsdGUtMTBxcWp6ZHtyaWdodDotMWVtfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCB1bHttYXJnaW4tcmlnaHQ6LjI1cmVtO3BhZGRpbmctbGVmdDoxcmVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBsaTpub3QoOmZpcnN0LWNoaWxkKSwubWVzc2FnZS1jb250ZW50LWh0bWwgbGk+dWwsLm1lc3NhZ2UtY29udGVudC1odG1sIGxpPm9se21hcmdpbi10b3A6LjVyZW19Lm1lc3NhZ2UtY29udGVudC1odG1sIG9se21hcmdpbi1yaWdodDouMjVyZW07cGFkZGluZy1sZWZ0OjFyZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9Lm1lc3NhZ2UtY29udGVudC1odG1sIGF7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCAqe3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9Lm1lc3NhZ2UtY29udGVudC10ZXh0LnN2ZWx0ZS1uZmIweW17b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWVzc2FnZS1jb250ZW50LXRleHQgYXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm1lc3NhZ2UtY29udGVudC10ZXh0IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6Zmlyc3Qtb2YtdHlwZXt6LWluZGV4OjN9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6bnRoLW9mLXR5cGUoMil7ei1pbmRleDoyfS5hdmF0YXItZ3JvdXAtaXRlbS5zdmVsdGUteWZ4YTd0Om50aC1vZi10eXBlKDMpe3otaW5kZXg6MX0uYXZhdGFyLXNtLnN2ZWx0ZS15ZnhhN3Q6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTEycHh9LmF2YXRhci1tZC5zdmVsdGUteWZ4YTd0Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi0xNnB4fS5hdmF0YXItbGcuc3ZlbHRlLXlmeGE3dDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDotMjJweH0ucmVtb3ZlSWNvbi5zdmVsdGUtMTFmM2Jkd3tvcGFjaXR5OjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6aG92ZXIgLnJlbW92ZUljb246d2hlcmUoLnN2ZWx0ZS0xMWYzYmR3KSwuYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6Zm9jdXMtd2l0aGluIC5yZW1vdmVJY29uOndoZXJlKC5zdmVsdGUtMTFmM2Jkdyl7b3BhY2l0eToxfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2V7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluO3Njcm9sbGJhci13aWR0aDpub25lO2ZsZXg6MTttYXgtaGVpZ2h0OjMycHg7bWFyZ2luLXRvcDouNzVyZW07bWFyZ2luLWJvdHRvbTouNzVyZW07ZGlzcGxheTpncmlkO292ZXJmbG93OmhpZGRlbiBhdXRvfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udGV4dGFyZWEtY29udGFpbmVyLXJlc2l6YWJsZS5zdmVsdGUtMXRsOWxjZXttYXgtaGVpZ2h0OjEyNXB4fS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtdGV4dGFyZWEtdmFsdWUpICIgIjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXIsdGV4dGFyZWEuc3ZlbHRlLTF0bDlsY2V7Zm9udC1zaXplOmluaGVyaXQ7Z3JpZC1hcmVhOjEvMS8yLzI7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6Ljc1cmVtfXRleHRhcmVhLnN2ZWx0ZS0xdGw5bGNlOjpwbGFjZWhvbGRlcnt3b3JkLWJyZWFrOmJyZWFrLWFsbDtvdmVyZmxvdzpoaWRkZW59ZW0tZW1vamktcGlja2Vyey0tYm9yZGVyLXJhZGl1czoxMnB4Oy0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjpyZ2IoMjI2IDIzMiAyNDAvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKTtib3JkZXItcmFkaXVzOi43NXJlbTt3aWR0aDoxMDAlO2hlaWdodDo0MDBweDttYXgtaGVpZ2h0Ojgwdmg7cGFkZGluZy10b3A6LjI1cmVtO2JveC1zaGFkb3c6MCAxcHggMTVweCAxcHggIzAwMDAwMDFmfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em97LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoyLjc1cmVtO2hlaWdodDoxLjVyZW07dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2U7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86YWZ0ZXJ7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7Y29udGVudDoiIjtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoxLjI1cmVtO2hlaWdodDoxLjI1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O2xlZnQ6MnB4fS5zd2l0Y2guY2hlY2tlZC5zdmVsdGUtMXl6Znp6b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LnN3aXRjaC5jaGVja2VkLnN2ZWx0ZS0xeXpmenpvOmFmdGVyey0tdW4tdHJhbnNsYXRlLXg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCh2YXIoLS11bi10cmFuc2xhdGUteCkpIHRyYW5zbGF0ZVkodmFyKC0tdW4tdHJhbnNsYXRlLXkpKSB0cmFuc2xhdGVaKHZhcigtLXVuLXRyYW5zbGF0ZS16KSkgcm90YXRlKHZhcigtLXVuLXJvdGF0ZSkpIHJvdGF0ZVgodmFyKC0tdW4tcm90YXRlLXgpKSByb3RhdGVZKHZhcigtLXVuLXJvdGF0ZS15KSkgcm90YXRlWih2YXIoLS11bi1yb3RhdGUteikpIHNrZXdYKHZhcigtLXVuLXNrZXcteCkpIHNrZXdZKHZhcigtLXVuLXNrZXcteSkpIHNjYWxlWCh2YXIoLS11bi1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXVuLXNjYWxlLXkpKSBzY2FsZVoodmFyKC0tdW4tc2NhbGUteikpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmludmFsaWQuc3ZlbHRlLTEyZjRjMWcsLmludmFsaWQuc3ZlbHRlLTE5bTN1Y3l7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9c2VsZWN0LnN2ZWx0ZS04aDVycTR7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzZCNzI4MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTYgOCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAuNXJlbSBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToxLjVlbSAxLjVlbX0uaW52YWxpZC5zdmVsdGUtOGg1cnE0ey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5pY29uLnN2ZWx0ZS0xcnNhMnF2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSA7Ym9yZGVyLXJhZGl1czoxLjVyZW07cGFkZGluZzouNXJlbTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uZHJhd2VyLWJ1dHRvbi5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtib3JkZXItcmFkaXVzOi41cmVtO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07dHJhbnNpdGlvbjpjb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxib3JkZXItY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx0ZXh0LWRlY29yYXRpb24tY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxmaWxsIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksc3Ryb2tlIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTpmbGV4fS5kcmF3ZXItYnV0dG9uLnN2ZWx0ZS1qNmV4cTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uZHJhd2VyLWJ1dHRvbi1kaXNhYmxlZC5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtvcGFjaXR5Oi4zO2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTtkaXNwbGF5OmZsZXh9LmRyYXdlci1idXR0b24tZGlzYWJsZWQuc3ZlbHRlLWo2ZXhxMDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWR9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGN7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTt0cmFuc2l0aW9uOmNvbG9yIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksYmFja2dyb3VuZC1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJvcmRlci1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLHRleHQtZGVjb3JhdGlvbi1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGZpbGwgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxzdHJva2UgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmZsZXh9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGM6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0ubWVzc2FnZS1jb250ZW50LnN2ZWx0ZS0xZ2Z2aGk2e292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm1lc3NhZ2UtY29udGVudC1sZWZ0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6LjI1cmVtIDEuNXJlbSAxLjVyZW0gLjI1cmVtfS5tZXNzYWdlLWNvbnRlbnQtbGVmdC1maXJzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LWxlZnQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LXJpZ2h0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6MS41cmVtIC4yNXJlbSAuMjVyZW0gMS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtZmlyc3Quc3ZlbHRlLTFnZnZoaTZ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxLjVyZW19LmNvdW50LWFuaW1hdGUuc3ZlbHRlLTIyOGM3bnthbmltYXRpb246LjJzIGN1YmljLWJlemllciguNCwyLC42LDEpIHN2ZWx0ZS0yMjhjN24tcG9wLXNjYWxlfUBrZXlmcmFtZXMgc3ZlbHRlLTIyOGM3bi1wb3Atc2NhbGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xKX10b3t0cmFuc2Zvcm06c2NhbGUoMSl9fQovKiR2aXRlJDoxKi8="}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
